[openmeca] 01/10: Imported Upstream version 2.2.5

Damien André damien-andre-guest at moszumanska.debian.org
Mon Apr 10 21:43:50 UTC 2017


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

damien-andre-guest pushed a commit to branch master
in repository openmeca.

commit fca5472fa18be3a262f23c9a4b06193b1a5a5c80
Author: Damien André <damien.andre at unilim.fr>
Date:   Mon Apr 10 22:25:46 2017 +0200

    Imported Upstream version 2.2.5
---
 Makefile                                           |   111 +-
 README.md                                          |     1 -
 SRC/Boost/INSTALL                                  |     8 -
 SRC/Boost/Jamroot                                  |   263 -
 SRC/Boost/LICENSE_1_0.txt                          |    23 -
 SRC/Boost/boost-build.jam                          |    17 -
 SRC/Boost/boost.css                                |    66 -
 SRC/Boost/boost.png                                |   Bin 6308 -> 0 bytes
 SRC/Boost/boost/algorithm/string/compare.hpp       |   199 -
 SRC/Boost/boost/algorithm/string/concept.hpp       |    83 -
 SRC/Boost/boost/algorithm/string/config.hpp        |    28 -
 SRC/Boost/boost/algorithm/string/constants.hpp     |    36 -
 .../boost/algorithm/string/detail/find_format.hpp  |   204 -
 .../algorithm/string/detail/find_format_all.hpp    |   273 -
 .../algorithm/string/detail/find_format_store.hpp  |    89 -
 SRC/Boost/boost/algorithm/string/detail/finder.hpp |   646 -
 .../boost/algorithm/string/detail/formatter.hpp    |   119 -
 .../algorithm/string/detail/replace_storage.hpp    |   159 -
 .../boost/algorithm/string/detail/sequence.hpp     |   200 -
 SRC/Boost/boost/algorithm/string/detail/util.hpp   |   106 -
 SRC/Boost/boost/algorithm/string/find_format.hpp   |   287 -
 SRC/Boost/boost/algorithm/string/finder.hpp        |   270 -
 SRC/Boost/boost/algorithm/string/formatter.hpp     |   120 -
 SRC/Boost/boost/algorithm/string/replace.hpp       |   928 -
 .../boost/algorithm/string/sequence_traits.hpp     |   193 -
 SRC/Boost/boost/algorithm/string/yes_no_type.hpp   |    33 -
 SRC/Boost/boost/aligned_storage.hpp                |   181 -
 SRC/Boost/boost/archive/archive_exception.hpp      |    97 -
 SRC/Boost/boost/archive/basic_archive.hpp          |   300 -
 SRC/Boost/boost/archive/basic_binary_iarchive.hpp  |   222 -
 .../boost/archive/basic_binary_iprimitive.hpp      |   190 -
 SRC/Boost/boost/archive/basic_binary_oarchive.hpp  |   180 -
 .../boost/archive/basic_binary_oprimitive.hpp      |   184 -
 SRC/Boost/boost/archive/basic_text_iarchive.hpp    |    91 -
 SRC/Boost/boost/archive/basic_text_iprimitive.hpp  |   144 -
 SRC/Boost/boost/archive/basic_text_oarchive.hpp    |   116 -
 SRC/Boost/boost/archive/basic_text_oprimitive.hpp  |   173 -
 SRC/Boost/boost/archive/basic_xml_archive.hpp      |    67 -
 SRC/Boost/boost/archive/basic_xml_iarchive.hpp     |   127 -
 SRC/Boost/boost/archive/basic_xml_oarchive.hpp     |   145 -
 SRC/Boost/boost/archive/binary_iarchive.hpp        |   103 -
 SRC/Boost/boost/archive/binary_iarchive_impl.hpp   |    96 -
 SRC/Boost/boost/archive/binary_oarchive.hpp        |    66 -
 SRC/Boost/boost/archive/binary_oarchive_impl.hpp   |    97 -
 SRC/Boost/boost/archive/binary_wiarchive.hpp       |    93 -
 SRC/Boost/boost/archive/binary_woarchive.hpp       |    61 -
 SRC/Boost/boost/archive/codecvt_null.hpp           |   100 -
 .../archive/detail/archive_serializer_map.hpp      |    55 -
 .../boost/archive/detail/auto_link_archive.hpp     |    48 -
 .../boost/archive/detail/auto_link_warchive.hpp    |    47 -
 SRC/Boost/boost/archive/detail/basic_iarchive.hpp  |   110 -
 .../boost/archive/detail/basic_iserializer.hpp     |    95 -
 SRC/Boost/boost/archive/detail/basic_oarchive.hpp  |   106 -
 .../boost/archive/detail/basic_oserializer.hpp     |    93 -
 .../archive/detail/basic_pointer_iserializer.hpp   |    73 -
 .../archive/detail/basic_pointer_oserializer.hpp   |    72 -
 .../boost/archive/detail/basic_serializer.hpp      |    79 -
 .../boost/archive/detail/basic_serializer_map.hpp  |    69 -
 SRC/Boost/boost/archive/detail/check.hpp           |   169 -
 SRC/Boost/boost/archive/detail/common_iarchive.hpp |    88 -
 SRC/Boost/boost/archive/detail/common_oarchive.hpp |    87 -
 .../boost/archive/detail/interface_iarchive.hpp    |    77 -
 .../boost/archive/detail/interface_oarchive.hpp    |    84 -
 SRC/Boost/boost/archive/detail/iserializer.hpp     |   632 -
 SRC/Boost/boost/archive/detail/oserializer.hpp     |   531 -
 .../archive/detail/polymorphic_iarchive_route.hpp  |   215 -
 .../archive/detail/polymorphic_oarchive_route.hpp  |   205 -
 .../boost/archive/impl/archive_serializer_map.ipp  |    71 -
 .../boost/archive/impl/basic_binary_iarchive.ipp   |   129 -
 .../boost/archive/impl/basic_binary_iprimitive.ipp |   209 -
 .../boost/archive/impl/basic_binary_oarchive.ipp   |    46 -
 .../boost/archive/impl/basic_binary_oprimitive.ipp |   160 -
 .../boost/archive/impl/basic_text_iarchive.ipp     |    79 -
 .../boost/archive/impl/basic_text_iprimitive.ipp   |   154 -
 .../boost/archive/impl/basic_text_oarchive.ipp     |    62 -
 .../boost/archive/impl/basic_text_oprimitive.ipp   |   114 -
 SRC/Boost/boost/archive/impl/basic_xml_grammar.hpp |   178 -
 .../boost/archive/impl/basic_xml_iarchive.ipp      |   114 -
 .../boost/archive/impl/basic_xml_oarchive.ipp      |   275 -
 .../boost/archive/impl/text_iarchive_impl.ipp      |   128 -
 .../boost/archive/impl/text_oarchive_impl.ipp      |   124 -
 .../boost/archive/impl/text_wiarchive_impl.ipp     |   118 -
 .../boost/archive/impl/text_woarchive_impl.ipp     |    85 -
 SRC/Boost/boost/archive/impl/xml_iarchive_impl.ipp |   204 -
 SRC/Boost/boost/archive/impl/xml_oarchive_impl.ipp |   117 -
 .../boost/archive/impl/xml_wiarchive_impl.ipp      |   206 -
 .../boost/archive/impl/xml_woarchive_impl.ipp      |   160 -
 .../boost/archive/iterators/base64_from_binary.hpp |   112 -
 .../boost/archive/iterators/binary_from_base64.hpp |   120 -
 .../boost/archive/iterators/insert_linebreaks.hpp  |   101 -
 .../boost/archive/iterators/mb_from_wchar.hpp      |   136 -
 .../boost/archive/iterators/remove_whitespace.hpp  |   169 -
 .../boost/archive/iterators/transform_width.hpp    |   170 -
 .../boost/archive/iterators/wchar_from_mb.hpp      |   129 -
 SRC/Boost/boost/archive/iterators/xml_escape.hpp   |   125 -
 SRC/Boost/boost/archive/iterators/xml_unescape.hpp |   128 -
 .../boost/archive/polymorphic_binary_iarchive.hpp  |    54 -
 .../boost/archive/polymorphic_binary_oarchive.hpp  |    43 -
 SRC/Boost/boost/archive/polymorphic_iarchive.hpp   |   181 -
 SRC/Boost/boost/archive/polymorphic_oarchive.hpp   |   159 -
 .../boost/archive/polymorphic_text_iarchive.hpp    |    54 -
 .../boost/archive/polymorphic_text_oarchive.hpp    |    39 -
 .../boost/archive/polymorphic_text_wiarchive.hpp   |    59 -
 .../boost/archive/polymorphic_text_woarchive.hpp   |    44 -
 .../boost/archive/polymorphic_xml_iarchive.hpp     |    54 -
 .../boost/archive/polymorphic_xml_oarchive.hpp     |    39 -
 .../boost/archive/polymorphic_xml_wiarchive.hpp    |    50 -
 .../boost/archive/polymorphic_xml_woarchive.hpp    |    44 -
 SRC/Boost/boost/archive/shared_ptr_helper.hpp      |   219 -
 SRC/Boost/boost/archive/text_iarchive.hpp          |   156 -
 SRC/Boost/boost/archive/text_oarchive.hpp          |   119 -
 SRC/Boost/boost/archive/text_wiarchive.hpp         |   152 -
 SRC/Boost/boost/archive/text_woarchive.hpp         |   145 -
 SRC/Boost/boost/archive/xml_archive_exception.hpp  |    56 -
 SRC/Boost/boost/archive/xml_iarchive.hpp           |   164 -
 SRC/Boost/boost/archive/xml_oarchive.hpp           |   133 -
 SRC/Boost/boost/archive/xml_wiarchive.hpp          |   170 -
 SRC/Boost/boost/archive/xml_woarchive.hpp          |   140 -
 SRC/Boost/boost/array.hpp                          |   437 -
 SRC/Boost/boost/assert.hpp                         |   131 -
 SRC/Boost/boost/assign.hpp                         |    24 -
 SRC/Boost/boost/assign/assignment_exception.hpp    |    43 -
 SRC/Boost/boost/assign/list_inserter.hpp           |   400 -
 SRC/Boost/boost/assign/list_of.hpp                 |   681 -
 SRC/Boost/boost/assign/ptr_list_inserter.hpp       |   164 -
 SRC/Boost/boost/assign/ptr_list_of.hpp             |   191 -
 SRC/Boost/boost/assign/ptr_map_inserter.hpp        |   103 -
 SRC/Boost/boost/assign/std.hpp                     |    27 -
 SRC/Boost/boost/assign/std/deque.hpp               |    38 -
 SRC/Boost/boost/assign/std/list.hpp                |    38 -
 SRC/Boost/boost/assign/std/map.hpp                 |    45 -
 SRC/Boost/boost/assign/std/queue.hpp               |    45 -
 SRC/Boost/boost/assign/std/set.hpp                 |    44 -
 SRC/Boost/boost/assign/std/slist.hpp               |    45 -
 SRC/Boost/boost/assign/std/stack.hpp               |    37 -
 SRC/Boost/boost/assign/std/vector.hpp              |    37 -
 SRC/Boost/boost/bind.hpp                           |    24 -
 SRC/Boost/boost/bind/apply.hpp                     |    74 -
 SRC/Boost/boost/bind/arg.hpp                       |    62 -
 SRC/Boost/boost/bind/bind.hpp                      |  1751 --
 SRC/Boost/boost/bind/bind_cc.hpp                   |   117 -
 SRC/Boost/boost/bind/bind_mf2_cc.hpp               |   228 -
 SRC/Boost/boost/bind/bind_mf_cc.hpp                |   227 -
 SRC/Boost/boost/bind/bind_template.hpp             |   345 -
 SRC/Boost/boost/bind/make_adaptable.hpp            |   187 -
 SRC/Boost/boost/bind/mem_fn.hpp                    |   389 -
 SRC/Boost/boost/bind/mem_fn_cc.hpp                 |   103 -
 SRC/Boost/boost/bind/mem_fn_template.hpp           |  1047 -
 SRC/Boost/boost/bind/mem_fn_vw.hpp                 |   130 -
 SRC/Boost/boost/bind/placeholders.hpp              |    69 -
 SRC/Boost/boost/bind/protect.hpp                   |   304 -
 SRC/Boost/boost/bind/storage.hpp                   |   475 -
 SRC/Boost/boost/blank.hpp                          |   106 -
 SRC/Boost/boost/blank_fwd.hpp                      |    22 -
 SRC/Boost/boost/call_traits.hpp                    |    24 -
 SRC/Boost/boost/cerrno.hpp                         |   331 -
 SRC/Boost/boost/checked_delete.hpp                 |    69 -
 SRC/Boost/boost/circular_buffer.hpp                |    74 -
 SRC/Boost/boost/circular_buffer/base.hpp           |  2821 ---
 SRC/Boost/boost/circular_buffer/debug.hpp          |   227 -
 SRC/Boost/boost/circular_buffer/details.hpp        |   470 -
 .../boost/circular_buffer/space_optimized.hpp      |  1425 --
 SRC/Boost/boost/circular_buffer_fwd.hpp            |    43 -
 SRC/Boost/boost/compatibility/cpp_c_headers/cstdio |    57 -
 SRC/Boost/boost/compressed_pair.hpp                |    24 -
 SRC/Boost/boost/concept/assert.hpp                 |    46 -
 .../concept/detail/backward_compatibility.hpp      |    16 -
 SRC/Boost/boost/concept/detail/borland.hpp         |    30 -
 SRC/Boost/boost/concept/detail/concept_def.hpp     |    51 -
 SRC/Boost/boost/concept/detail/concept_undef.hpp   |     5 -
 SRC/Boost/boost/concept/detail/general.hpp         |    75 -
 SRC/Boost/boost/concept/detail/has_constraints.hpp |    50 -
 SRC/Boost/boost/concept/detail/msvc.hpp            |   114 -
 SRC/Boost/boost/concept/usage.hpp                  |    44 -
 SRC/Boost/boost/concept_check.hpp                  |  1083 -
 SRC/Boost/boost/config.hpp                         |    70 -
 SRC/Boost/boost/config/abi/borland_prefix.hpp      |    27 -
 SRC/Boost/boost/config/abi/borland_suffix.hpp      |    12 -
 SRC/Boost/boost/config/abi/msvc_prefix.hpp         |    22 -
 SRC/Boost/boost/config/abi/msvc_suffix.hpp         |     8 -
 SRC/Boost/boost/config/abi_prefix.hpp              |    25 -
 SRC/Boost/boost/config/abi_suffix.hpp              |    27 -
 SRC/Boost/boost/config/auto_link.hpp               |   417 -
 SRC/Boost/boost/config/compiler/borland.hpp        |   285 -
 SRC/Boost/boost/config/compiler/clang.hpp          |    86 -
 SRC/Boost/boost/config/compiler/codegear.hpp       |   178 -
 SRC/Boost/boost/config/compiler/comeau.hpp         |    59 -
 SRC/Boost/boost/config/compiler/common_edg.hpp     |   101 -
 SRC/Boost/boost/config/compiler/compaq_cxx.hpp     |    19 -
 SRC/Boost/boost/config/compiler/cray.hpp           |    61 -
 SRC/Boost/boost/config/compiler/digitalmars.hpp    |   101 -
 SRC/Boost/boost/config/compiler/gcc.hpp            |   252 -
 SRC/Boost/boost/config/compiler/gcc_xml.hpp        |    59 -
 SRC/Boost/boost/config/compiler/greenhills.hpp     |    28 -
 SRC/Boost/boost/config/compiler/hp_acc.hpp         |   138 -
 SRC/Boost/boost/config/compiler/intel.hpp          |   244 -
 SRC/Boost/boost/config/compiler/kai.hpp            |    33 -
 SRC/Boost/boost/config/compiler/metrowerks.hpp     |   142 -
 SRC/Boost/boost/config/compiler/mpw.hpp            |    84 -
 SRC/Boost/boost/config/compiler/nvcc.hpp           |    28 -
 SRC/Boost/boost/config/compiler/pathscale.hpp      |    80 -
 SRC/Boost/boost/config/compiler/pgi.hpp            |    80 -
 SRC/Boost/boost/config/compiler/sgi_mipspro.hpp    |    29 -
 SRC/Boost/boost/config/compiler/sunpro_cc.hpp      |   147 -
 SRC/Boost/boost/config/compiler/vacpp.hpp          |   120 -
 SRC/Boost/boost/config/compiler/visualc.hpp        |   283 -
 SRC/Boost/boost/config/no_tr1/cmath.hpp            |    28 -
 SRC/Boost/boost/config/no_tr1/complex.hpp          |    28 -
 SRC/Boost/boost/config/no_tr1/functional.hpp       |    28 -
 SRC/Boost/boost/config/no_tr1/memory.hpp           |    28 -
 SRC/Boost/boost/config/no_tr1/utility.hpp          |    28 -
 SRC/Boost/boost/config/platform/aix.hpp            |    33 -
 SRC/Boost/boost/config/platform/amigaos.hpp        |    15 -
 SRC/Boost/boost/config/platform/beos.hpp           |    26 -
 SRC/Boost/boost/config/platform/bsd.hpp            |    86 -
 SRC/Boost/boost/config/platform/cray.hpp           |    18 -
 SRC/Boost/boost/config/platform/cygwin.hpp         |    58 -
 SRC/Boost/boost/config/platform/hpux.hpp           |    87 -
 SRC/Boost/boost/config/platform/irix.hpp           |    31 -
 SRC/Boost/boost/config/platform/linux.hpp          |   103 -
 SRC/Boost/boost/config/platform/macos.hpp          |    87 -
 SRC/Boost/boost/config/platform/qnxnto.hpp         |    31 -
 SRC/Boost/boost/config/platform/solaris.hpp        |    28 -
 SRC/Boost/boost/config/platform/symbian.hpp        |    97 -
 SRC/Boost/boost/config/platform/vms.hpp            |    25 -
 SRC/Boost/boost/config/platform/vxworks.hpp        |    31 -
 SRC/Boost/boost/config/platform/win32.hpp          |    71 -
 SRC/Boost/boost/config/posix_features.hpp          |    95 -
 SRC/Boost/boost/config/requires_threads.hpp        |    92 -
 SRC/Boost/boost/config/select_compiler_config.hpp  |   112 -
 SRC/Boost/boost/config/select_platform_config.hpp  |   105 -
 SRC/Boost/boost/config/select_stdlib_config.hpp    |    85 -
 SRC/Boost/boost/config/stdlib/dinkumware.hpp       |   145 -
 SRC/Boost/boost/config/stdlib/libcomo.hpp          |    69 -
 SRC/Boost/boost/config/stdlib/libcpp.hpp           |    36 -
 SRC/Boost/boost/config/stdlib/libstdcpp3.hpp       |   153 -
 SRC/Boost/boost/config/stdlib/modena.hpp           |    53 -
 SRC/Boost/boost/config/stdlib/msl.hpp              |    81 -
 SRC/Boost/boost/config/stdlib/roguewave.hpp        |   183 -
 SRC/Boost/boost/config/stdlib/sgi.hpp              |   145 -
 SRC/Boost/boost/config/stdlib/stlport.hpp          |   244 -
 SRC/Boost/boost/config/stdlib/vacpp.hpp            |    51 -
 SRC/Boost/boost/config/suffix.hpp                  |   678 -
 SRC/Boost/boost/config/user.hpp                    |   124 -
 SRC/Boost/boost/config/warning_disable.hpp         |    47 -
 SRC/Boost/boost/cregex.hpp                         |    39 -
 SRC/Boost/boost/cstdint.hpp                        |   508 -
 SRC/Boost/boost/cstdlib.hpp                        |    41 -
 SRC/Boost/boost/current_function.hpp               |    68 -
 SRC/Boost/boost/detail/allocator_utilities.hpp     |   212 -
 SRC/Boost/boost/detail/atomic_count.hpp            |    21 -
 SRC/Boost/boost/detail/binary_search.hpp           |   216 -
 SRC/Boost/boost/detail/bitmask.hpp                 |    47 -
 SRC/Boost/boost/detail/call_traits.hpp             |   164 -
 SRC/Boost/boost/detail/compressed_pair.hpp         |   443 -
 SRC/Boost/boost/detail/container_fwd.hpp           |   153 -
 SRC/Boost/boost/detail/endian.hpp                  |    78 -
 SRC/Boost/boost/detail/fenv.hpp                    |    73 -
 SRC/Boost/boost/detail/indirect_traits.hpp         |   487 -
 SRC/Boost/boost/detail/interlocked.hpp             |   159 -
 SRC/Boost/boost/detail/is_function_ref_tester.hpp  |   135 -
 SRC/Boost/boost/detail/is_incrementable.hpp        |   134 -
 SRC/Boost/boost/detail/iterator.hpp                |   494 -
 SRC/Boost/boost/detail/lcast_precision.hpp         |   184 -
 SRC/Boost/boost/detail/lightweight_main.hpp        |    36 -
 SRC/Boost/boost/detail/lightweight_mutex.hpp       |    22 -
 SRC/Boost/boost/detail/lightweight_test.hpp        |   143 -
 SRC/Boost/boost/detail/limits.hpp                  |   449 -
 SRC/Boost/boost/detail/no_exceptions_support.hpp   |    87 -
 SRC/Boost/boost/detail/ob_call_traits.hpp          |   168 -
 SRC/Boost/boost/detail/ob_compressed_pair.hpp      |   510 -
 SRC/Boost/boost/detail/quick_allocator.hpp         |    23 -
 SRC/Boost/boost/detail/reference_content.hpp       |   141 -
 SRC/Boost/boost/detail/scoped_enum_emulation.hpp   |    56 -
 SRC/Boost/boost/detail/select_type.hpp             |    36 -
 SRC/Boost/boost/detail/sp_typeinfo.hpp             |   135 -
 SRC/Boost/boost/detail/templated_streams.hpp       |    74 -
 SRC/Boost/boost/detail/utf8_codecvt_facet.hpp      |   190 -
 SRC/Boost/boost/detail/workaround.hpp              |   267 -
 SRC/Boost/boost/enable_shared_from_this.hpp        |    18 -
 .../boost/exception/current_exception_cast.hpp     |    43 -
 .../boost/exception/detail/attribute_noreturn.hpp  |    17 -
 .../boost/exception/detail/error_info_impl.hpp     |    75 -
 SRC/Boost/boost/exception/detail/type_info.hpp     |    83 -
 SRC/Boost/boost/exception/exception.hpp            |   456 -
 SRC/Boost/boost/exception/get_error_info.hpp       |   130 -
 SRC/Boost/boost/filesystem.hpp                     |    41 -
 SRC/Boost/boost/filesystem/config.hpp              |    35 -
 SRC/Boost/boost/filesystem/convenience.hpp         |    35 -
 .../boost/filesystem/detail/utf8_codecvt_facet.hpp |    24 -
 SRC/Boost/boost/filesystem/fstream.hpp             |    35 -
 SRC/Boost/boost/filesystem/operations.hpp          |    35 -
 SRC/Boost/boost/filesystem/path.hpp                |    35 -
 SRC/Boost/boost/filesystem/v2/config.hpp           |   106 -
 SRC/Boost/boost/filesystem/v2/convenience.hpp      |   339 -
 SRC/Boost/boost/filesystem/v2/fstream.hpp          |   613 -
 SRC/Boost/boost/filesystem/v2/operations.hpp       |  1245 -
 SRC/Boost/boost/filesystem/v2/path.hpp             |  1571 --
 SRC/Boost/boost/filesystem/v3/config.hpp           |    85 -
 SRC/Boost/boost/filesystem/v3/convenience.hpp      |    74 -
 SRC/Boost/boost/filesystem/v3/fstream.hpp          |   208 -
 SRC/Boost/boost/filesystem/v3/operations.hpp       |  1073 -
 SRC/Boost/boost/filesystem/v3/path.hpp             |   738 -
 SRC/Boost/boost/filesystem/v3/path_traits.hpp      |   247 -
 SRC/Boost/boost/foreach_fwd.hpp                    |    51 -
 SRC/Boost/boost/function.hpp                       |    66 -
 .../boost/function/detail/function_iterate.hpp     |    16 -
 .../boost/function/detail/gen_maybe_include.pl     |    37 -
 SRC/Boost/boost/function/detail/maybe_include.hpp  |   267 -
 SRC/Boost/boost/function/detail/prologue.hpp       |    26 -
 SRC/Boost/boost/function/function0.hpp             |    12 -
 SRC/Boost/boost/function/function1.hpp             |    12 -
 SRC/Boost/boost/function/function10.hpp            |    12 -
 SRC/Boost/boost/function/function2.hpp             |    12 -
 SRC/Boost/boost/function/function3.hpp             |    12 -
 SRC/Boost/boost/function/function4.hpp             |    12 -
 SRC/Boost/boost/function/function5.hpp             |    12 -
 SRC/Boost/boost/function/function6.hpp             |    12 -
 SRC/Boost/boost/function/function7.hpp             |    12 -
 SRC/Boost/boost/function/function8.hpp             |    12 -
 SRC/Boost/boost/function/function9.hpp             |    12 -
 SRC/Boost/boost/function/function_base.hpp         |   910 -
 SRC/Boost/boost/function/function_fwd.hpp          |    70 -
 SRC/Boost/boost/function/function_template.hpp     |  1136 -
 SRC/Boost/boost/function/function_typeof.hpp       |    45 -
 SRC/Boost/boost/function/gen_function_N.pl         |    26 -
 SRC/Boost/boost/function_equal.hpp                 |    28 -
 SRC/Boost/boost/functional.hpp                     |   548 -
 SRC/Boost/boost/functional/hash.hpp                |     7 -
 .../functional/hash/detail/float_functions.hpp     |   246 -
 .../boost/functional/hash/detail/hash_float.hpp    |   101 -
 .../functional/hash/detail/hash_float_generic.hpp  |    91 -
 .../functional/hash/detail/hash_float_x86.hpp      |    56 -
 SRC/Boost/boost/functional/hash/detail/limits.hpp  |    61 -
 SRC/Boost/boost/functional/hash/extensions.hpp     |   286 -
 SRC/Boost/boost/functional/hash/hash.hpp           |   536 -
 SRC/Boost/boost/functional/hash/hash_fwd.hpp       |    40 -
 SRC/Boost/boost/functional/hash_fwd.hpp            |     7 -
 SRC/Boost/boost/get_pointer.hpp                    |    33 -
 SRC/Boost/boost/implicit_cast.hpp                  |    29 -
 SRC/Boost/boost/indirect_reference.hpp             |    43 -
 SRC/Boost/boost/integer.hpp                        |   257 -
 SRC/Boost/boost/integer/integer_mask.hpp           |   126 -
 SRC/Boost/boost/integer/static_log2.hpp            |   127 -
 SRC/Boost/boost/integer_fwd.hpp                    |   164 -
 SRC/Boost/boost/integer_traits.hpp                 |   261 -
 SRC/Boost/boost/intrusive_ptr.hpp                  |    18 -
 SRC/Boost/boost/io/detail/quoted_manip.hpp         |   190 -
 SRC/Boost/boost/io/ios_state.hpp                   |   439 -
 SRC/Boost/boost/io_fwd.hpp                         |    67 -
 SRC/Boost/boost/is_placeholder.hpp                 |    31 -
 SRC/Boost/boost/iterator.hpp                       |    59 -
 SRC/Boost/boost/iterator/detail/config_def.hpp     |   137 -
 SRC/Boost/boost/iterator/detail/config_undef.hpp   |    25 -
 SRC/Boost/boost/iterator/detail/enable_if.hpp      |    86 -
 .../iterator/detail/facade_iterator_category.hpp   |   200 -
 SRC/Boost/boost/iterator/filter_iterator.hpp       |   135 -
 SRC/Boost/boost/iterator/interoperable.hpp         |    50 -
 SRC/Boost/boost/iterator/iterator_adaptor.hpp      |   365 -
 SRC/Boost/boost/iterator/iterator_categories.hpp   |   188 -
 SRC/Boost/boost/iterator/iterator_concepts.hpp     |   284 -
 SRC/Boost/boost/iterator/iterator_facade.hpp       |   878 -
 SRC/Boost/boost/iterator/iterator_traits.hpp       |    92 -
 SRC/Boost/boost/iterator/reverse_iterator.hpp      |    69 -
 SRC/Boost/boost/iterator/transform_iterator.hpp    |   172 -
 SRC/Boost/boost/lambda/bind.hpp                    |    19 -
 SRC/Boost/boost/lambda/core.hpp                    |    79 -
 SRC/Boost/boost/lambda/detail/actions.hpp          |   174 -
 SRC/Boost/boost/lambda/detail/arity_code.hpp       |   110 -
 SRC/Boost/boost/lambda/detail/bind_functions.hpp   |  1879 --
 .../boost/lambda/detail/function_adaptors.hpp      |   789 -
 SRC/Boost/boost/lambda/detail/is_instance_of.hpp   |   104 -
 SRC/Boost/boost/lambda/detail/lambda_config.hpp    |    48 -
 .../boost/lambda/detail/lambda_functor_base.hpp    |   615 -
 SRC/Boost/boost/lambda/detail/lambda_functors.hpp  |   324 -
 SRC/Boost/boost/lambda/detail/lambda_fwd.hpp       |    74 -
 SRC/Boost/boost/lambda/detail/lambda_traits.hpp    |   578 -
 SRC/Boost/boost/lambda/detail/member_ptr.hpp       |   737 -
 SRC/Boost/boost/lambda/detail/operator_actions.hpp |   139 -
 .../lambda/detail/operator_lambda_func_base.hpp    |   271 -
 .../lambda/detail/operator_return_type_traits.hpp  |   917 -
 SRC/Boost/boost/lambda/detail/operators.hpp        |   370 -
 SRC/Boost/boost/lambda/detail/ret.hpp              |   325 -
 .../boost/lambda/detail/return_type_traits.hpp     |   282 -
 SRC/Boost/boost/lambda/detail/select_functions.hpp |    74 -
 SRC/Boost/boost/lambda/lambda.hpp                  |    34 -
 SRC/Boost/boost/lexical_cast.hpp                   |  2024 --
 SRC/Boost/boost/limits.hpp                         |   146 -
 SRC/Boost/boost/make_shared.hpp                    |    17 -
 SRC/Boost/boost/math/common_factor_ct.hpp          |   180 -
 SRC/Boost/boost/math/policies/policy.hpp           |   959 -
 .../math/special_functions/detail/fp_traits.hpp    |   570 -
 .../math/special_functions/detail/round_fwd.hpp    |    80 -
 .../boost/math/special_functions/fpclassify.hpp    |   533 -
 .../boost/math/special_functions/math_fwd.hpp      |  1070 -
 SRC/Boost/boost/math/special_functions/sign.hpp    |   145 -
 SRC/Boost/boost/math/tools/config.hpp              |   310 -
 SRC/Boost/boost/math/tools/promotion.hpp           |   150 -
 SRC/Boost/boost/math/tools/real_cast.hpp           |    29 -
 SRC/Boost/boost/math/tools/user.hpp                |    97 -
 SRC/Boost/boost/math_fwd.hpp                       |   108 -
 SRC/Boost/boost/mem_fn.hpp                         |    24 -
 SRC/Boost/boost/memory_order.hpp                   |    53 -
 SRC/Boost/boost/move/move.hpp                      |  1094 -
 SRC/Boost/boost/mpl/O1_size.hpp                    |    40 -
 SRC/Boost/boost/mpl/O1_size_fwd.hpp                |    24 -
 SRC/Boost/boost/mpl/advance.hpp                    |    76 -
 SRC/Boost/boost/mpl/advance_fwd.hpp                |    28 -
 SRC/Boost/boost/mpl/always.hpp                     |    39 -
 SRC/Boost/boost/mpl/and.hpp                        |    60 -
 SRC/Boost/boost/mpl/apply.hpp                      |   229 -
 SRC/Boost/boost/mpl/apply_fwd.hpp                  |   107 -
 SRC/Boost/boost/mpl/apply_wrap.hpp                 |   234 -
 SRC/Boost/boost/mpl/arg.hpp                        |   131 -
 SRC/Boost/boost/mpl/arg_fwd.hpp                    |    28 -
 SRC/Boost/boost/mpl/assert.hpp                     |   370 -
 SRC/Boost/boost/mpl/at.hpp                         |    52 -
 SRC/Boost/boost/mpl/at_fwd.hpp                     |    24 -
 SRC/Boost/boost/mpl/aux_/O1_size_impl.hpp          |    87 -
 SRC/Boost/boost/mpl/aux_/adl_barrier.hpp           |    48 -
 SRC/Boost/boost/mpl/aux_/advance_backward.hpp      |   128 -
 SRC/Boost/boost/mpl/aux_/advance_forward.hpp       |   127 -
 SRC/Boost/boost/mpl/aux_/arg_typedef.hpp           |    31 -
 SRC/Boost/boost/mpl/aux_/arithmetic_op.hpp         |    92 -
 SRC/Boost/boost/mpl/aux_/arity.hpp                 |    39 -
 SRC/Boost/boost/mpl/aux_/arity_spec.hpp            |    67 -
 SRC/Boost/boost/mpl/aux_/at_impl.hpp               |    45 -
 SRC/Boost/boost/mpl/aux_/begin_end_impl.hpp        |   101 -
 SRC/Boost/boost/mpl/aux_/clear_impl.hpp            |    35 -
 SRC/Boost/boost/mpl/aux_/common_name_wknd.hpp      |    34 -
 SRC/Boost/boost/mpl/aux_/comparison_op.hpp         |    83 -
 SRC/Boost/boost/mpl/aux_/config/adl.hpp            |    40 -
 SRC/Boost/boost/mpl/aux_/config/arrays.hpp         |    30 -
 SRC/Boost/boost/mpl/aux_/config/bcc.hpp            |    28 -
 SRC/Boost/boost/mpl/aux_/config/bind.hpp           |    33 -
 SRC/Boost/boost/mpl/aux_/config/compiler.hpp       |    66 -
 SRC/Boost/boost/mpl/aux_/config/ctps.hpp           |    30 -
 .../boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp   |    27 -
 SRC/Boost/boost/mpl/aux_/config/dtp.hpp            |    46 -
 SRC/Boost/boost/mpl/aux_/config/eti.hpp            |    47 -
 SRC/Boost/boost/mpl/aux_/config/forwarding.hpp     |    27 -
 SRC/Boost/boost/mpl/aux_/config/gcc.hpp            |    23 -
 SRC/Boost/boost/mpl/aux_/config/has_apply.hpp      |    32 -
 SRC/Boost/boost/mpl/aux_/config/has_xxx.hpp        |    34 -
 SRC/Boost/boost/mpl/aux_/config/integral.hpp       |    38 -
 SRC/Boost/boost/mpl/aux_/config/intel.hpp          |    21 -
 SRC/Boost/boost/mpl/aux_/config/lambda.hpp         |    32 -
 SRC/Boost/boost/mpl/aux_/config/msvc.hpp           |    21 -
 SRC/Boost/boost/mpl/aux_/config/msvc_typename.hpp  |    26 -
 SRC/Boost/boost/mpl/aux_/config/nttp.hpp           |    41 -
 SRC/Boost/boost/mpl/aux_/config/operators.hpp      |    33 -
 .../boost/mpl/aux_/config/overload_resolution.hpp  |    29 -
 SRC/Boost/boost/mpl/aux_/config/pp_counter.hpp     |    26 -
 SRC/Boost/boost/mpl/aux_/config/preprocessor.hpp   |    39 -
 .../boost/mpl/aux_/config/static_constant.hpp      |    25 -
 SRC/Boost/boost/mpl/aux_/config/ttp.hpp            |    41 -
 SRC/Boost/boost/mpl/aux_/config/typeof.hpp         |    38 -
 .../boost/mpl/aux_/config/use_preprocessed.hpp     |    19 -
 SRC/Boost/boost/mpl/aux_/config/workaround.hpp     |    19 -
 SRC/Boost/boost/mpl/aux_/contains_impl.hpp         |    61 -
 SRC/Boost/boost/mpl/aux_/count_args.hpp            |   105 -
 SRC/Boost/boost/mpl/aux_/empty_impl.hpp            |    43 -
 SRC/Boost/boost/mpl/aux_/find_if_pred.hpp          |    31 -
 SRC/Boost/boost/mpl/aux_/fold_impl.hpp             |    43 -
 SRC/Boost/boost/mpl/aux_/fold_impl_body.hpp        |   365 -
 SRC/Boost/boost/mpl/aux_/front_impl.hpp            |    41 -
 SRC/Boost/boost/mpl/aux_/full_lambda.hpp           |   354 -
 SRC/Boost/boost/mpl/aux_/has_apply.hpp             |    32 -
 SRC/Boost/boost/mpl/aux_/has_begin.hpp             |    23 -
 SRC/Boost/boost/mpl/aux_/has_key_impl.hpp          |    34 -
 SRC/Boost/boost/mpl/aux_/has_rebind.hpp            |    99 -
 SRC/Boost/boost/mpl/aux_/has_size.hpp              |    23 -
 SRC/Boost/boost/mpl/aux_/has_tag.hpp               |    23 -
 SRC/Boost/boost/mpl/aux_/has_type.hpp              |    23 -
 SRC/Boost/boost/mpl/aux_/include_preprocessed.hpp  |    42 -
 SRC/Boost/boost/mpl/aux_/inserter_algorithm.hpp    |   159 -
 SRC/Boost/boost/mpl/aux_/integral_wrapper.hpp      |    93 -
 SRC/Boost/boost/mpl/aux_/is_msvc_eti_arg.hpp       |    64 -
 SRC/Boost/boost/mpl/aux_/iter_apply.hpp            |    47 -
 SRC/Boost/boost/mpl/aux_/iter_fold_if_impl.hpp     |   210 -
 SRC/Boost/boost/mpl/aux_/iter_fold_impl.hpp        |    42 -
 SRC/Boost/boost/mpl/aux_/lambda_arity_param.hpp    |    25 -
 SRC/Boost/boost/mpl/aux_/lambda_no_ctps.hpp        |   193 -
 SRC/Boost/boost/mpl/aux_/lambda_spec.hpp           |    49 -
 SRC/Boost/boost/mpl/aux_/lambda_support.hpp        |   169 -
 SRC/Boost/boost/mpl/aux_/largest_int.hpp           |    63 -
 SRC/Boost/boost/mpl/aux_/logical_op.hpp            |   165 -
 SRC/Boost/boost/mpl/aux_/msvc_dtw.hpp              |    68 -
 SRC/Boost/boost/mpl/aux_/msvc_eti_base.hpp         |    77 -
 SRC/Boost/boost/mpl/aux_/msvc_is_class.hpp         |    58 -
 SRC/Boost/boost/mpl/aux_/msvc_never_true.hpp       |    34 -
 SRC/Boost/boost/mpl/aux_/msvc_type.hpp             |    62 -
 SRC/Boost/boost/mpl/aux_/na.hpp                    |    95 -
 SRC/Boost/boost/mpl/aux_/na_assert.hpp             |    34 -
 SRC/Boost/boost/mpl/aux_/na_fwd.hpp                |    31 -
 SRC/Boost/boost/mpl/aux_/na_spec.hpp               |   175 -
 SRC/Boost/boost/mpl/aux_/nested_type_wknd.hpp      |    48 -
 SRC/Boost/boost/mpl/aux_/nttp_decl.hpp             |    35 -
 SRC/Boost/boost/mpl/aux_/numeric_cast_utils.hpp    |    77 -
 SRC/Boost/boost/mpl/aux_/numeric_op.hpp            |   315 -
 SRC/Boost/boost/mpl/aux_/overload_names.hpp        |    48 -
 SRC/Boost/boost/mpl/aux_/pop_front_impl.hpp        |    44 -
 .../mpl/aux_/preprocessed/bcc/advance_backward.hpp |    97 -
 .../mpl/aux_/preprocessed/bcc/advance_forward.hpp  |    97 -
 SRC/Boost/boost/mpl/aux_/preprocessed/bcc/and.hpp  |    69 -
 .../boost/mpl/aux_/preprocessed/bcc/apply.hpp      |   169 -
 .../boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp  |    52 -
 .../boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp |   461 -
 SRC/Boost/boost/mpl/aux_/preprocessed/bcc/arg.hpp  |   117 -
 .../boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp |   300 -
 SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bind.hpp |   397 -
 .../boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp   |    46 -
 .../boost/mpl/aux_/preprocessed/bcc/bitand.hpp     |   147 -
 .../boost/mpl/aux_/preprocessed/bcc/bitor.hpp      |   147 -
 .../boost/mpl/aux_/preprocessed/bcc/bitxor.hpp     |   147 -
 .../boost/mpl/aux_/preprocessed/bcc/deque.hpp      |   323 -
 .../boost/mpl/aux_/preprocessed/bcc/divides.hpp    |   146 -
 .../boost/mpl/aux_/preprocessed/bcc/equal_to.hpp   |    94 -
 .../boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp  |   180 -
 .../mpl/aux_/preprocessed/bcc/full_lambda.hpp      |   558 -
 .../boost/mpl/aux_/preprocessed/bcc/greater.hpp    |    94 -
 .../mpl/aux_/preprocessed/bcc/greater_equal.hpp    |    94 -
 .../boost/mpl/aux_/preprocessed/bcc/inherit.hpp    |   139 -
 .../aux_/preprocessed/bcc/iter_fold_if_impl.hpp    |   133 -
 .../mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp   |   180 -
 .../mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp   |   229 -
 SRC/Boost/boost/mpl/aux_/preprocessed/bcc/less.hpp |    94 -
 .../boost/mpl/aux_/preprocessed/bcc/less_equal.hpp |    94 -
 SRC/Boost/boost/mpl/aux_/preprocessed/bcc/list.hpp |   323 -
 .../boost/mpl/aux_/preprocessed/bcc/list_c.hpp     |   328 -
 SRC/Boost/boost/mpl/aux_/preprocessed/bcc/map.hpp  |   323 -
 .../boost/mpl/aux_/preprocessed/bcc/minus.hpp      |   146 -
 .../boost/mpl/aux_/preprocessed/bcc/modulus.hpp    |   101 -
 .../mpl/aux_/preprocessed/bcc/not_equal_to.hpp     |    94 -
 SRC/Boost/boost/mpl/aux_/preprocessed/bcc/or.hpp   |    69 -
 .../mpl/aux_/preprocessed/bcc/placeholders.hpp     |   105 -
 SRC/Boost/boost/mpl/aux_/preprocessed/bcc/plus.hpp |   146 -
 .../boost/mpl/aux_/preprocessed/bcc/quote.hpp      |   119 -
 .../aux_/preprocessed/bcc/reverse_fold_impl.hpp    |   295 -
 .../preprocessed/bcc/reverse_iter_fold_impl.hpp    |   295 -
 SRC/Boost/boost/mpl/aux_/preprocessed/bcc/set.hpp  |   323 -
 .../boost/mpl/aux_/preprocessed/bcc/set_c.hpp      |   328 -
 .../boost/mpl/aux_/preprocessed/bcc/shift_left.hpp |    99 -
 .../mpl/aux_/preprocessed/bcc/shift_right.hpp      |    99 -
 .../mpl/aux_/preprocessed/bcc/template_arity.hpp   |    40 -
 .../boost/mpl/aux_/preprocessed/bcc/times.hpp      |   146 -
 .../mpl/aux_/preprocessed/bcc/unpack_args.hpp      |    97 -
 .../boost/mpl/aux_/preprocessed/bcc/vector.hpp     |   323 -
 .../boost/mpl/aux_/preprocessed/bcc/vector_c.hpp   |   309 -
 .../aux_/preprocessed/bcc551/advance_backward.hpp  |    97 -
 .../aux_/preprocessed/bcc551/advance_forward.hpp   |    97 -
 .../boost/mpl/aux_/preprocessed/bcc551/and.hpp     |    69 -
 .../boost/mpl/aux_/preprocessed/bcc551/apply.hpp   |   169 -
 .../mpl/aux_/preprocessed/bcc551/apply_fwd.hpp     |    52 -
 .../mpl/aux_/preprocessed/bcc551/apply_wrap.hpp    |   456 -
 .../boost/mpl/aux_/preprocessed/bcc551/arg.hpp     |   123 -
 .../mpl/aux_/preprocessed/bcc551/basic_bind.hpp    |   306 -
 .../boost/mpl/aux_/preprocessed/bcc551/bind.hpp    |   403 -
 .../mpl/aux_/preprocessed/bcc551/bind_fwd.hpp      |    46 -
 .../boost/mpl/aux_/preprocessed/bcc551/bitand.hpp  |   147 -
 .../boost/mpl/aux_/preprocessed/bcc551/bitor.hpp   |   147 -
 .../boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp  |   147 -
 .../boost/mpl/aux_/preprocessed/bcc551/deque.hpp   |   323 -
 .../boost/mpl/aux_/preprocessed/bcc551/divides.hpp |   146 -
 .../mpl/aux_/preprocessed/bcc551/equal_to.hpp      |    94 -
 .../mpl/aux_/preprocessed/bcc551/fold_impl.hpp     |   180 -
 .../mpl/aux_/preprocessed/bcc551/full_lambda.hpp   |   558 -
 .../boost/mpl/aux_/preprocessed/bcc551/greater.hpp |    94 -
 .../mpl/aux_/preprocessed/bcc551/greater_equal.hpp |    94 -
 .../boost/mpl/aux_/preprocessed/bcc551/inherit.hpp |   141 -
 .../aux_/preprocessed/bcc551/iter_fold_if_impl.hpp |   133 -
 .../aux_/preprocessed/bcc551/iter_fold_impl.hpp    |   180 -
 .../aux_/preprocessed/bcc551/lambda_no_ctps.hpp    |   229 -
 .../boost/mpl/aux_/preprocessed/bcc551/less.hpp    |    94 -
 .../mpl/aux_/preprocessed/bcc551/less_equal.hpp    |    94 -
 .../boost/mpl/aux_/preprocessed/bcc551/list.hpp    |   323 -
 .../boost/mpl/aux_/preprocessed/bcc551/list_c.hpp  |   328 -
 .../boost/mpl/aux_/preprocessed/bcc551/map.hpp     |   323 -
 .../boost/mpl/aux_/preprocessed/bcc551/minus.hpp   |   146 -
 .../boost/mpl/aux_/preprocessed/bcc551/modulus.hpp |   101 -
 .../mpl/aux_/preprocessed/bcc551/not_equal_to.hpp  |    94 -
 .../boost/mpl/aux_/preprocessed/bcc551/or.hpp      |    69 -
 .../mpl/aux_/preprocessed/bcc551/placeholders.hpp  |   105 -
 .../boost/mpl/aux_/preprocessed/bcc551/plus.hpp    |   146 -
 .../boost/mpl/aux_/preprocessed/bcc551/quote.hpp   |    11 -
 .../aux_/preprocessed/bcc551/reverse_fold_impl.hpp |   295 -
 .../preprocessed/bcc551/reverse_iter_fold_impl.hpp |   295 -
 .../boost/mpl/aux_/preprocessed/bcc551/set.hpp     |   323 -
 .../boost/mpl/aux_/preprocessed/bcc551/set_c.hpp   |   328 -
 .../mpl/aux_/preprocessed/bcc551/shift_left.hpp    |    99 -
 .../mpl/aux_/preprocessed/bcc551/shift_right.hpp   |    99 -
 .../aux_/preprocessed/bcc551/template_arity.hpp    |    40 -
 .../boost/mpl/aux_/preprocessed/bcc551/times.hpp   |   146 -
 .../mpl/aux_/preprocessed/bcc551/unpack_args.hpp   |    97 -
 .../boost/mpl/aux_/preprocessed/bcc551/vector.hpp  |   323 -
 .../mpl/aux_/preprocessed/bcc551/vector_c.hpp      |   309 -
 .../preprocessed/bcc_pre590/advance_backward.hpp   |    97 -
 .../preprocessed/bcc_pre590/advance_forward.hpp    |    97 -
 .../boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp |    69 -
 .../mpl/aux_/preprocessed/bcc_pre590/apply.hpp     |   169 -
 .../mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp |    52 -
 .../aux_/preprocessed/bcc_pre590/apply_wrap.hpp    |   456 -
 .../boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp |   117 -
 .../aux_/preprocessed/bcc_pre590/basic_bind.hpp    |   300 -
 .../mpl/aux_/preprocessed/bcc_pre590/bind.hpp      |   397 -
 .../mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp  |    46 -
 .../mpl/aux_/preprocessed/bcc_pre590/bitand.hpp    |   147 -
 .../mpl/aux_/preprocessed/bcc_pre590/bitor.hpp     |   147 -
 .../mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp    |   147 -
 .../mpl/aux_/preprocessed/bcc_pre590/deque.hpp     |   323 -
 .../mpl/aux_/preprocessed/bcc_pre590/divides.hpp   |   146 -
 .../mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp  |    94 -
 .../mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp |   180 -
 .../aux_/preprocessed/bcc_pre590/full_lambda.hpp   |   558 -
 .../mpl/aux_/preprocessed/bcc_pre590/greater.hpp   |    94 -
 .../aux_/preprocessed/bcc_pre590/greater_equal.hpp |    94 -
 .../mpl/aux_/preprocessed/bcc_pre590/inherit.hpp   |   139 -
 .../preprocessed/bcc_pre590/iter_fold_if_impl.hpp  |   133 -
 .../preprocessed/bcc_pre590/iter_fold_impl.hpp     |   180 -
 .../preprocessed/bcc_pre590/lambda_no_ctps.hpp     |   229 -
 .../mpl/aux_/preprocessed/bcc_pre590/less.hpp      |    94 -
 .../aux_/preprocessed/bcc_pre590/less_equal.hpp    |    94 -
 .../mpl/aux_/preprocessed/bcc_pre590/list.hpp      |   323 -
 .../mpl/aux_/preprocessed/bcc_pre590/list_c.hpp    |   328 -
 .../boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp |   323 -
 .../mpl/aux_/preprocessed/bcc_pre590/minus.hpp     |   146 -
 .../mpl/aux_/preprocessed/bcc_pre590/modulus.hpp   |   101 -
 .../aux_/preprocessed/bcc_pre590/not_equal_to.hpp  |    94 -
 .../boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp  |    69 -
 .../aux_/preprocessed/bcc_pre590/placeholders.hpp  |   105 -
 .../mpl/aux_/preprocessed/bcc_pre590/plus.hpp      |   146 -
 .../mpl/aux_/preprocessed/bcc_pre590/quote.hpp     |    11 -
 .../preprocessed/bcc_pre590/reverse_fold_impl.hpp  |   295 -
 .../bcc_pre590/reverse_iter_fold_impl.hpp          |   295 -
 .../boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp |   323 -
 .../mpl/aux_/preprocessed/bcc_pre590/set_c.hpp     |   328 -
 .../aux_/preprocessed/bcc_pre590/shift_left.hpp    |    99 -
 .../aux_/preprocessed/bcc_pre590/shift_right.hpp   |    99 -
 .../preprocessed/bcc_pre590/template_arity.hpp     |    40 -
 .../mpl/aux_/preprocessed/bcc_pre590/times.hpp     |   146 -
 .../aux_/preprocessed/bcc_pre590/unpack_args.hpp   |    97 -
 .../mpl/aux_/preprocessed/bcc_pre590/vector.hpp    |   323 -
 .../mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp  |   309 -
 .../mpl/aux_/preprocessed/dmc/advance_backward.hpp |    97 -
 .../mpl/aux_/preprocessed/dmc/advance_forward.hpp  |    97 -
 SRC/Boost/boost/mpl/aux_/preprocessed/dmc/and.hpp  |    69 -
 .../boost/mpl/aux_/preprocessed/dmc/apply.hpp      |   169 -
 .../boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp  |    52 -
 .../boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp |    84 -
 SRC/Boost/boost/mpl/aux_/preprocessed/dmc/arg.hpp  |   123 -
 .../boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp |   406 -
 SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bind.hpp |   515 -
 .../boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp   |    53 -
 .../boost/mpl/aux_/preprocessed/dmc/bitand.hpp     |   147 -
 .../boost/mpl/aux_/preprocessed/dmc/bitor.hpp      |   147 -
 .../boost/mpl/aux_/preprocessed/dmc/bitxor.hpp     |   147 -
 .../boost/mpl/aux_/preprocessed/dmc/deque.hpp      |   323 -
 .../boost/mpl/aux_/preprocessed/dmc/divides.hpp    |   146 -
 .../boost/mpl/aux_/preprocessed/dmc/equal_to.hpp   |    94 -
 .../boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp  |   180 -
 .../mpl/aux_/preprocessed/dmc/full_lambda.hpp      |   536 -
 .../boost/mpl/aux_/preprocessed/dmc/greater.hpp    |    94 -
 .../mpl/aux_/preprocessed/dmc/greater_equal.hpp    |    94 -
 .../boost/mpl/aux_/preprocessed/dmc/inherit.hpp    |   141 -
 .../aux_/preprocessed/dmc/iter_fold_if_impl.hpp    |   133 -
 .../mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp   |   180 -
 .../mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp   |   229 -
 SRC/Boost/boost/mpl/aux_/preprocessed/dmc/less.hpp |    94 -
 .../boost/mpl/aux_/preprocessed/dmc/less_equal.hpp |    94 -
 SRC/Boost/boost/mpl/aux_/preprocessed/dmc/list.hpp |   323 -
 .../boost/mpl/aux_/preprocessed/dmc/list_c.hpp     |   328 -
 SRC/Boost/boost/mpl/aux_/preprocessed/dmc/map.hpp  |   323 -
 .../boost/mpl/aux_/preprocessed/dmc/minus.hpp      |   146 -
 .../boost/mpl/aux_/preprocessed/dmc/modulus.hpp    |   101 -
 .../mpl/aux_/preprocessed/dmc/not_equal_to.hpp     |    94 -
 SRC/Boost/boost/mpl/aux_/preprocessed/dmc/or.hpp   |    69 -
 .../mpl/aux_/preprocessed/dmc/placeholders.hpp     |   105 -
 SRC/Boost/boost/mpl/aux_/preprocessed/dmc/plus.hpp |   146 -
 .../boost/mpl/aux_/preprocessed/dmc/quote.hpp      |   123 -
 .../aux_/preprocessed/dmc/reverse_fold_impl.hpp    |   231 -
 .../preprocessed/dmc/reverse_iter_fold_impl.hpp    |   231 -
 SRC/Boost/boost/mpl/aux_/preprocessed/dmc/set.hpp  |   323 -
 .../boost/mpl/aux_/preprocessed/dmc/set_c.hpp      |   328 -
 .../boost/mpl/aux_/preprocessed/dmc/shift_left.hpp |    99 -
 .../mpl/aux_/preprocessed/dmc/shift_right.hpp      |    99 -
 .../mpl/aux_/preprocessed/dmc/template_arity.hpp   |    11 -
 .../boost/mpl/aux_/preprocessed/dmc/times.hpp      |   146 -
 .../mpl/aux_/preprocessed/dmc/unpack_args.hpp      |    94 -
 .../boost/mpl/aux_/preprocessed/dmc/vector.hpp     |   323 -
 .../boost/mpl/aux_/preprocessed/dmc/vector_c.hpp   |   309 -
 .../mpl/aux_/preprocessed/gcc/advance_backward.hpp |    97 -
 .../mpl/aux_/preprocessed/gcc/advance_forward.hpp  |    97 -
 SRC/Boost/boost/mpl/aux_/preprocessed/gcc/and.hpp  |    69 -
 .../boost/mpl/aux_/preprocessed/gcc/apply.hpp      |   169 -
 .../boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp  |    52 -
 .../boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp |    84 -
 SRC/Boost/boost/mpl/aux_/preprocessed/gcc/arg.hpp  |   123 -
 .../boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp |   440 -
 SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bind.hpp |   561 -
 .../boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp   |    52 -
 .../boost/mpl/aux_/preprocessed/gcc/bitand.hpp     |   147 -
 .../boost/mpl/aux_/preprocessed/gcc/bitor.hpp      |   147 -
 .../boost/mpl/aux_/preprocessed/gcc/bitxor.hpp     |   147 -
 .../boost/mpl/aux_/preprocessed/gcc/deque.hpp      |   323 -
 .../boost/mpl/aux_/preprocessed/gcc/divides.hpp    |   146 -
 .../boost/mpl/aux_/preprocessed/gcc/equal_to.hpp   |    94 -
 .../boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp  |   180 -
 .../mpl/aux_/preprocessed/gcc/full_lambda.hpp      |   558 -
 .../boost/mpl/aux_/preprocessed/gcc/greater.hpp    |    94 -
 .../mpl/aux_/preprocessed/gcc/greater_equal.hpp    |    94 -
 .../boost/mpl/aux_/preprocessed/gcc/inherit.hpp    |   141 -
 .../aux_/preprocessed/gcc/iter_fold_if_impl.hpp    |   133 -
 .../mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp   |   180 -
 .../mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp   |   229 -
 SRC/Boost/boost/mpl/aux_/preprocessed/gcc/less.hpp |    94 -
 .../boost/mpl/aux_/preprocessed/gcc/less_equal.hpp |    94 -
 SRC/Boost/boost/mpl/aux_/preprocessed/gcc/list.hpp |   323 -
 .../boost/mpl/aux_/preprocessed/gcc/list_c.hpp     |   328 -
 SRC/Boost/boost/mpl/aux_/preprocessed/gcc/map.hpp  |   323 -
 .../boost/mpl/aux_/preprocessed/gcc/minus.hpp      |   146 -
 .../boost/mpl/aux_/preprocessed/gcc/modulus.hpp    |   101 -
 .../mpl/aux_/preprocessed/gcc/not_equal_to.hpp     |    94 -
 SRC/Boost/boost/mpl/aux_/preprocessed/gcc/or.hpp   |    69 -
 .../mpl/aux_/preprocessed/gcc/placeholders.hpp     |   105 -
 SRC/Boost/boost/mpl/aux_/preprocessed/gcc/plus.hpp |   146 -
 .../boost/mpl/aux_/preprocessed/gcc/quote.hpp      |   123 -
 .../aux_/preprocessed/gcc/reverse_fold_impl.hpp    |   231 -
 .../preprocessed/gcc/reverse_iter_fold_impl.hpp    |   231 -
 SRC/Boost/boost/mpl/aux_/preprocessed/gcc/set.hpp  |   323 -
 .../boost/mpl/aux_/preprocessed/gcc/set_c.hpp      |   328 -
 .../boost/mpl/aux_/preprocessed/gcc/shift_left.hpp |    99 -
 .../mpl/aux_/preprocessed/gcc/shift_right.hpp      |    99 -
 .../mpl/aux_/preprocessed/gcc/template_arity.hpp   |    97 -
 .../boost/mpl/aux_/preprocessed/gcc/times.hpp      |   146 -
 .../mpl/aux_/preprocessed/gcc/unpack_args.hpp      |    94 -
 .../boost/mpl/aux_/preprocessed/gcc/vector.hpp     |   323 -
 .../boost/mpl/aux_/preprocessed/gcc/vector_c.hpp   |   309 -
 .../aux_/preprocessed/msvc60/advance_backward.hpp  |   132 -
 .../aux_/preprocessed/msvc60/advance_forward.hpp   |   132 -
 .../boost/mpl/aux_/preprocessed/msvc60/and.hpp     |    73 -
 .../boost/mpl/aux_/preprocessed/msvc60/apply.hpp   |   166 -
 .../mpl/aux_/preprocessed/msvc60/apply_fwd.hpp     |    46 -
 .../mpl/aux_/preprocessed/msvc60/apply_wrap.hpp    |   247 -
 .../boost/mpl/aux_/preprocessed/msvc60/arg.hpp     |   123 -
 .../mpl/aux_/preprocessed/msvc60/basic_bind.hpp    |   328 -
 .../boost/mpl/aux_/preprocessed/msvc60/bind.hpp    |   432 -
 .../mpl/aux_/preprocessed/msvc60/bind_fwd.hpp      |    46 -
 .../boost/mpl/aux_/preprocessed/msvc60/bitand.hpp  |   149 -
 .../boost/mpl/aux_/preprocessed/msvc60/bitor.hpp   |   149 -
 .../boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp  |   149 -
 .../boost/mpl/aux_/preprocessed/msvc60/deque.hpp   |   556 -
 .../boost/mpl/aux_/preprocessed/msvc60/divides.hpp |   148 -
 .../mpl/aux_/preprocessed/msvc60/equal_to.hpp      |   102 -
 .../mpl/aux_/preprocessed/msvc60/fold_impl.hpp     |   293 -
 .../mpl/aux_/preprocessed/msvc60/full_lambda.hpp   |   554 -
 .../boost/mpl/aux_/preprocessed/msvc60/greater.hpp |   102 -
 .../mpl/aux_/preprocessed/msvc60/greater_equal.hpp |   102 -
 .../boost/mpl/aux_/preprocessed/msvc60/inherit.hpp |   166 -
 .../aux_/preprocessed/msvc60/iter_fold_if_impl.hpp |   133 -
 .../aux_/preprocessed/msvc60/iter_fold_impl.hpp    |   293 -
 .../aux_/preprocessed/msvc60/lambda_no_ctps.hpp    |   229 -
 .../boost/mpl/aux_/preprocessed/msvc60/less.hpp    |   102 -
 .../mpl/aux_/preprocessed/msvc60/less_equal.hpp    |   102 -
 .../boost/mpl/aux_/preprocessed/msvc60/list.hpp    |   556 -
 .../boost/mpl/aux_/preprocessed/msvc60/list_c.hpp  |   534 -
 .../boost/mpl/aux_/preprocessed/msvc60/map.hpp     |   556 -
 .../boost/mpl/aux_/preprocessed/msvc60/minus.hpp   |   148 -
 .../boost/mpl/aux_/preprocessed/msvc60/modulus.hpp |   115 -
 .../mpl/aux_/preprocessed/msvc60/not_equal_to.hpp  |   102 -
 .../boost/mpl/aux_/preprocessed/msvc60/or.hpp      |    73 -
 .../mpl/aux_/preprocessed/msvc60/placeholders.hpp  |   105 -
 .../boost/mpl/aux_/preprocessed/msvc60/plus.hpp    |   148 -
 .../boost/mpl/aux_/preprocessed/msvc60/quote.hpp   |    11 -
 .../aux_/preprocessed/msvc60/reverse_fold_impl.hpp |   343 -
 .../preprocessed/msvc60/reverse_iter_fold_impl.hpp |   343 -
 .../boost/mpl/aux_/preprocessed/msvc60/set.hpp     |   556 -
 .../boost/mpl/aux_/preprocessed/msvc60/set_c.hpp   |   534 -
 .../mpl/aux_/preprocessed/msvc60/shift_left.hpp    |   114 -
 .../mpl/aux_/preprocessed/msvc60/shift_right.hpp   |   114 -
 .../aux_/preprocessed/msvc60/template_arity.hpp    |    46 -
 .../boost/mpl/aux_/preprocessed/msvc60/times.hpp   |   148 -
 .../mpl/aux_/preprocessed/msvc60/unpack_args.hpp   |   109 -
 .../boost/mpl/aux_/preprocessed/msvc60/vector.hpp  |   556 -
 .../mpl/aux_/preprocessed/msvc60/vector_c.hpp      |   534 -
 .../aux_/preprocessed/msvc70/advance_backward.hpp  |    97 -
 .../aux_/preprocessed/msvc70/advance_forward.hpp   |    97 -
 .../boost/mpl/aux_/preprocessed/msvc70/and.hpp     |    71 -
 .../boost/mpl/aux_/preprocessed/msvc70/apply.hpp   |   160 -
 .../mpl/aux_/preprocessed/msvc70/apply_fwd.hpp     |    46 -
 .../mpl/aux_/preprocessed/msvc70/apply_wrap.hpp    |   138 -
 .../boost/mpl/aux_/preprocessed/msvc70/arg.hpp     |   123 -
 .../mpl/aux_/preprocessed/msvc70/basic_bind.hpp    |   328 -
 .../boost/mpl/aux_/preprocessed/msvc70/bind.hpp    |   432 -
 .../mpl/aux_/preprocessed/msvc70/bind_fwd.hpp      |    46 -
 .../boost/mpl/aux_/preprocessed/msvc70/bitand.hpp  |   151 -
 .../boost/mpl/aux_/preprocessed/msvc70/bitor.hpp   |   151 -
 .../boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp  |   151 -
 .../boost/mpl/aux_/preprocessed/msvc70/deque.hpp   |   556 -
 .../boost/mpl/aux_/preprocessed/msvc70/divides.hpp |   150 -
 .../mpl/aux_/preprocessed/msvc70/equal_to.hpp      |   102 -
 .../mpl/aux_/preprocessed/msvc70/fold_impl.hpp     |   245 -
 .../mpl/aux_/preprocessed/msvc70/full_lambda.hpp   |   554 -
 .../boost/mpl/aux_/preprocessed/msvc70/greater.hpp |   102 -
 .../mpl/aux_/preprocessed/msvc70/greater_equal.hpp |   102 -
 .../boost/mpl/aux_/preprocessed/msvc70/inherit.hpp |   166 -
 .../aux_/preprocessed/msvc70/iter_fold_if_impl.hpp |   133 -
 .../aux_/preprocessed/msvc70/iter_fold_impl.hpp    |   245 -
 .../aux_/preprocessed/msvc70/lambda_no_ctps.hpp    |   229 -
 .../boost/mpl/aux_/preprocessed/msvc70/less.hpp    |   102 -
 .../mpl/aux_/preprocessed/msvc70/less_equal.hpp    |   102 -
 .../boost/mpl/aux_/preprocessed/msvc70/list.hpp    |   556 -
 .../boost/mpl/aux_/preprocessed/msvc70/list_c.hpp  |   534 -
 .../boost/mpl/aux_/preprocessed/msvc70/map.hpp     |   556 -
 .../boost/mpl/aux_/preprocessed/msvc70/minus.hpp   |   150 -
 .../boost/mpl/aux_/preprocessed/msvc70/modulus.hpp |   115 -
 .../mpl/aux_/preprocessed/msvc70/not_equal_to.hpp  |   102 -
 .../boost/mpl/aux_/preprocessed/msvc70/or.hpp      |    71 -
 .../mpl/aux_/preprocessed/msvc70/placeholders.hpp  |   105 -
 .../boost/mpl/aux_/preprocessed/msvc70/plus.hpp    |   150 -
 .../boost/mpl/aux_/preprocessed/msvc70/quote.hpp   |   116 -
 .../aux_/preprocessed/msvc70/reverse_fold_impl.hpp |   295 -
 .../preprocessed/msvc70/reverse_iter_fold_impl.hpp |   295 -
 .../boost/mpl/aux_/preprocessed/msvc70/set.hpp     |   556 -
 .../boost/mpl/aux_/preprocessed/msvc70/set_c.hpp   |   534 -
 .../mpl/aux_/preprocessed/msvc70/shift_left.hpp    |   114 -
 .../mpl/aux_/preprocessed/msvc70/shift_right.hpp   |   114 -
 .../aux_/preprocessed/msvc70/template_arity.hpp    |    46 -
 .../boost/mpl/aux_/preprocessed/msvc70/times.hpp   |   150 -
 .../mpl/aux_/preprocessed/msvc70/unpack_args.hpp   |   109 -
 .../boost/mpl/aux_/preprocessed/msvc70/vector.hpp  |   556 -
 .../mpl/aux_/preprocessed/msvc70/vector_c.hpp      |   534 -
 .../aux_/preprocessed/mwcw/advance_backward.hpp    |    97 -
 .../mpl/aux_/preprocessed/mwcw/advance_forward.hpp |    97 -
 SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/and.hpp |    69 -
 .../boost/mpl/aux_/preprocessed/mwcw/apply.hpp     |   169 -
 .../boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp |    52 -
 .../mpl/aux_/preprocessed/mwcw/apply_wrap.hpp      |   456 -
 SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/arg.hpp |   123 -
 .../mpl/aux_/preprocessed/mwcw/basic_bind.hpp      |   440 -
 .../boost/mpl/aux_/preprocessed/mwcw/bind.hpp      |   561 -
 .../boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp  |    52 -
 .../boost/mpl/aux_/preprocessed/mwcw/bitand.hpp    |   147 -
 .../boost/mpl/aux_/preprocessed/mwcw/bitor.hpp     |   147 -
 .../boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp    |   147 -
 .../boost/mpl/aux_/preprocessed/mwcw/deque.hpp     |   323 -
 .../boost/mpl/aux_/preprocessed/mwcw/divides.hpp   |   146 -
 .../boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp  |    94 -
 .../boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp |   180 -
 .../mpl/aux_/preprocessed/mwcw/full_lambda.hpp     |   554 -
 .../boost/mpl/aux_/preprocessed/mwcw/greater.hpp   |    94 -
 .../mpl/aux_/preprocessed/mwcw/greater_equal.hpp   |    94 -
 .../boost/mpl/aux_/preprocessed/mwcw/inherit.hpp   |   141 -
 .../aux_/preprocessed/mwcw/iter_fold_if_impl.hpp   |   133 -
 .../mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp  |   180 -
 .../mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp  |   229 -
 .../boost/mpl/aux_/preprocessed/mwcw/less.hpp      |    94 -
 .../mpl/aux_/preprocessed/mwcw/less_equal.hpp      |    94 -
 .../boost/mpl/aux_/preprocessed/mwcw/list.hpp      |   323 -
 .../boost/mpl/aux_/preprocessed/mwcw/list_c.hpp    |   328 -
 SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/map.hpp |   323 -
 .../boost/mpl/aux_/preprocessed/mwcw/minus.hpp     |   146 -
 .../boost/mpl/aux_/preprocessed/mwcw/modulus.hpp   |   101 -
 .../mpl/aux_/preprocessed/mwcw/not_equal_to.hpp    |    94 -
 SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/or.hpp  |    69 -
 .../mpl/aux_/preprocessed/mwcw/placeholders.hpp    |   105 -
 .../boost/mpl/aux_/preprocessed/mwcw/plus.hpp      |   146 -
 .../boost/mpl/aux_/preprocessed/mwcw/quote.hpp     |   123 -
 .../aux_/preprocessed/mwcw/reverse_fold_impl.hpp   |   231 -
 .../preprocessed/mwcw/reverse_iter_fold_impl.hpp   |   231 -
 SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/set.hpp |   323 -
 .../boost/mpl/aux_/preprocessed/mwcw/set_c.hpp     |   328 -
 .../mpl/aux_/preprocessed/mwcw/shift_left.hpp      |    99 -
 .../mpl/aux_/preprocessed/mwcw/shift_right.hpp     |    99 -
 .../mpl/aux_/preprocessed/mwcw/template_arity.hpp  |    11 -
 .../boost/mpl/aux_/preprocessed/mwcw/times.hpp     |   146 -
 .../mpl/aux_/preprocessed/mwcw/unpack_args.hpp     |    94 -
 .../boost/mpl/aux_/preprocessed/mwcw/vector.hpp    |   323 -
 .../boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp  |   309 -
 .../aux_/preprocessed/no_ctps/advance_backward.hpp |    97 -
 .../aux_/preprocessed/no_ctps/advance_forward.hpp  |    97 -
 .../boost/mpl/aux_/preprocessed/no_ctps/and.hpp    |    73 -
 .../boost/mpl/aux_/preprocessed/no_ctps/apply.hpp  |   268 -
 .../mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp    |    50 -
 .../mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp   |    78 -
 .../boost/mpl/aux_/preprocessed/no_ctps/arg.hpp    |   123 -
 .../mpl/aux_/preprocessed/no_ctps/basic_bind.hpp   |   486 -
 .../boost/mpl/aux_/preprocessed/no_ctps/bind.hpp   |   590 -
 .../mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp     |    52 -
 .../boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp |   134 -
 .../boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp  |   134 -
 .../boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp |   134 -
 .../boost/mpl/aux_/preprocessed/no_ctps/deque.hpp  |   556 -
 .../mpl/aux_/preprocessed/no_ctps/divides.hpp      |   133 -
 .../mpl/aux_/preprocessed/no_ctps/equal_to.hpp     |    94 -
 .../mpl/aux_/preprocessed/no_ctps/fold_impl.hpp    |   245 -
 .../mpl/aux_/preprocessed/no_ctps/full_lambda.hpp  |   554 -
 .../mpl/aux_/preprocessed/no_ctps/greater.hpp      |    94 -
 .../aux_/preprocessed/no_ctps/greater_equal.hpp    |    94 -
 .../mpl/aux_/preprocessed/no_ctps/inherit.hpp      |   166 -
 .../preprocessed/no_ctps/iter_fold_if_impl.hpp     |   133 -
 .../aux_/preprocessed/no_ctps/iter_fold_impl.hpp   |   245 -
 .../aux_/preprocessed/no_ctps/lambda_no_ctps.hpp   |   229 -
 .../boost/mpl/aux_/preprocessed/no_ctps/less.hpp   |    94 -
 .../mpl/aux_/preprocessed/no_ctps/less_equal.hpp   |    94 -
 .../boost/mpl/aux_/preprocessed/no_ctps/list.hpp   |   556 -
 .../boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp |   534 -
 .../boost/mpl/aux_/preprocessed/no_ctps/map.hpp    |   556 -
 .../boost/mpl/aux_/preprocessed/no_ctps/minus.hpp  |   133 -
 .../mpl/aux_/preprocessed/no_ctps/modulus.hpp      |   101 -
 .../mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp |    94 -
 .../boost/mpl/aux_/preprocessed/no_ctps/or.hpp     |    73 -
 .../mpl/aux_/preprocessed/no_ctps/placeholders.hpp |   105 -
 .../boost/mpl/aux_/preprocessed/no_ctps/plus.hpp   |   133 -
 .../boost/mpl/aux_/preprocessed/no_ctps/quote.hpp  |   116 -
 .../preprocessed/no_ctps/reverse_fold_impl.hpp     |   295 -
 .../no_ctps/reverse_iter_fold_impl.hpp             |   295 -
 .../boost/mpl/aux_/preprocessed/no_ctps/set.hpp    |   556 -
 .../boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp  |   534 -
 .../mpl/aux_/preprocessed/no_ctps/shift_left.hpp   |    99 -
 .../mpl/aux_/preprocessed/no_ctps/shift_right.hpp  |    99 -
 .../aux_/preprocessed/no_ctps/template_arity.hpp   |    40 -
 .../boost/mpl/aux_/preprocessed/no_ctps/times.hpp  |   133 -
 .../mpl/aux_/preprocessed/no_ctps/unpack_args.hpp  |   109 -
 .../boost/mpl/aux_/preprocessed/no_ctps/vector.hpp |   556 -
 .../mpl/aux_/preprocessed/no_ctps/vector_c.hpp     |   534 -
 .../aux_/preprocessed/no_ttp/advance_backward.hpp  |    97 -
 .../aux_/preprocessed/no_ttp/advance_forward.hpp   |    97 -
 .../boost/mpl/aux_/preprocessed/no_ttp/and.hpp     |    69 -
 .../boost/mpl/aux_/preprocessed/no_ttp/apply.hpp   |   169 -
 .../mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp     |    52 -
 .../mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp    |    84 -
 .../boost/mpl/aux_/preprocessed/no_ttp/arg.hpp     |   123 -
 .../mpl/aux_/preprocessed/no_ttp/basic_bind.hpp    |   369 -
 .../boost/mpl/aux_/preprocessed/no_ttp/bind.hpp    |   466 -
 .../mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp      |    52 -
 .../boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp  |   157 -
 .../boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp   |   157 -
 .../boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp  |   157 -
 .../boost/mpl/aux_/preprocessed/no_ttp/deque.hpp   |   323 -
 .../boost/mpl/aux_/preprocessed/no_ttp/divides.hpp |   156 -
 .../mpl/aux_/preprocessed/no_ttp/equal_to.hpp      |    98 -
 .../mpl/aux_/preprocessed/no_ttp/fold_impl.hpp     |   180 -
 .../mpl/aux_/preprocessed/no_ttp/full_lambda.hpp   |   554 -
 .../boost/mpl/aux_/preprocessed/no_ttp/greater.hpp |    98 -
 .../mpl/aux_/preprocessed/no_ttp/greater_equal.hpp |    98 -
 .../boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp |   141 -
 .../aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp |   133 -
 .../aux_/preprocessed/no_ttp/iter_fold_impl.hpp    |   180 -
 .../aux_/preprocessed/no_ttp/lambda_no_ctps.hpp    |   229 -
 .../boost/mpl/aux_/preprocessed/no_ttp/less.hpp    |    98 -
 .../mpl/aux_/preprocessed/no_ttp/less_equal.hpp    |    98 -
 .../boost/mpl/aux_/preprocessed/no_ttp/list.hpp    |   323 -
 .../boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp  |   328 -
 .../boost/mpl/aux_/preprocessed/no_ttp/map.hpp     |   323 -
 .../boost/mpl/aux_/preprocessed/no_ttp/minus.hpp   |   156 -
 .../boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp |   111 -
 .../mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp  |    98 -
 .../boost/mpl/aux_/preprocessed/no_ttp/or.hpp      |    69 -
 .../mpl/aux_/preprocessed/no_ttp/placeholders.hpp  |   105 -
 .../boost/mpl/aux_/preprocessed/no_ttp/plus.hpp    |   156 -
 .../boost/mpl/aux_/preprocessed/no_ttp/quote.hpp   |    11 -
 .../aux_/preprocessed/no_ttp/reverse_fold_impl.hpp |   231 -
 .../preprocessed/no_ttp/reverse_iter_fold_impl.hpp |   231 -
 .../boost/mpl/aux_/preprocessed/no_ttp/set.hpp     |   323 -
 .../boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp   |   328 -
 .../mpl/aux_/preprocessed/no_ttp/shift_left.hpp    |   110 -
 .../mpl/aux_/preprocessed/no_ttp/shift_right.hpp   |   110 -
 .../aux_/preprocessed/no_ttp/template_arity.hpp    |    40 -
 .../boost/mpl/aux_/preprocessed/no_ttp/times.hpp   |   156 -
 .../mpl/aux_/preprocessed/no_ttp/unpack_args.hpp   |    94 -
 .../boost/mpl/aux_/preprocessed/no_ttp/vector.hpp  |   323 -
 .../mpl/aux_/preprocessed/no_ttp/vector_c.hpp      |   309 -
 .../aux_/preprocessed/plain/advance_backward.hpp   |    97 -
 .../aux_/preprocessed/plain/advance_forward.hpp    |    97 -
 .../boost/mpl/aux_/preprocessed/plain/and.hpp      |    64 -
 .../boost/mpl/aux_/preprocessed/plain/apply.hpp    |   139 -
 .../mpl/aux_/preprocessed/plain/apply_fwd.hpp      |    52 -
 .../mpl/aux_/preprocessed/plain/apply_wrap.hpp     |    84 -
 .../boost/mpl/aux_/preprocessed/plain/arg.hpp      |   123 -
 .../mpl/aux_/preprocessed/plain/basic_bind.hpp     |   440 -
 .../boost/mpl/aux_/preprocessed/plain/bind.hpp     |   561 -
 .../boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp |    52 -
 .../boost/mpl/aux_/preprocessed/plain/bitand.hpp   |   142 -
 .../boost/mpl/aux_/preprocessed/plain/bitor.hpp    |   142 -
 .../boost/mpl/aux_/preprocessed/plain/bitxor.hpp   |   142 -
 .../boost/mpl/aux_/preprocessed/plain/deque.hpp    |   323 -
 .../boost/mpl/aux_/preprocessed/plain/divides.hpp  |   141 -
 .../boost/mpl/aux_/preprocessed/plain/equal_to.hpp |    92 -
 .../mpl/aux_/preprocessed/plain/fold_impl.hpp      |   180 -
 .../mpl/aux_/preprocessed/plain/full_lambda.hpp    |   554 -
 .../boost/mpl/aux_/preprocessed/plain/greater.hpp  |    92 -
 .../mpl/aux_/preprocessed/plain/greater_equal.hpp  |    92 -
 .../boost/mpl/aux_/preprocessed/plain/inherit.hpp  |   125 -
 .../aux_/preprocessed/plain/iter_fold_if_impl.hpp  |   133 -
 .../mpl/aux_/preprocessed/plain/iter_fold_impl.hpp |   180 -
 .../mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp |   228 -
 .../boost/mpl/aux_/preprocessed/plain/less.hpp     |    92 -
 .../mpl/aux_/preprocessed/plain/less_equal.hpp     |    92 -
 .../boost/mpl/aux_/preprocessed/plain/list.hpp     |   323 -
 .../boost/mpl/aux_/preprocessed/plain/list_c.hpp   |   328 -
 .../boost/mpl/aux_/preprocessed/plain/map.hpp      |   323 -
 .../boost/mpl/aux_/preprocessed/plain/minus.hpp    |   141 -
 .../boost/mpl/aux_/preprocessed/plain/modulus.hpp  |    99 -
 .../mpl/aux_/preprocessed/plain/not_equal_to.hpp   |    92 -
 SRC/Boost/boost/mpl/aux_/preprocessed/plain/or.hpp |    64 -
 .../mpl/aux_/preprocessed/plain/placeholders.hpp   |   105 -
 .../boost/mpl/aux_/preprocessed/plain/plus.hpp     |   141 -
 .../boost/mpl/aux_/preprocessed/plain/quote.hpp    |   123 -
 .../aux_/preprocessed/plain/reverse_fold_impl.hpp  |   231 -
 .../preprocessed/plain/reverse_iter_fold_impl.hpp  |   231 -
 .../boost/mpl/aux_/preprocessed/plain/set.hpp      |   323 -
 .../boost/mpl/aux_/preprocessed/plain/set_c.hpp    |   328 -
 .../mpl/aux_/preprocessed/plain/shift_left.hpp     |    97 -
 .../mpl/aux_/preprocessed/plain/shift_right.hpp    |    97 -
 .../mpl/aux_/preprocessed/plain/template_arity.hpp |    11 -
 .../boost/mpl/aux_/preprocessed/plain/times.hpp    |   141 -
 .../mpl/aux_/preprocessed/plain/unpack_args.hpp    |    94 -
 .../boost/mpl/aux_/preprocessed/plain/vector.hpp   |   323 -
 .../boost/mpl/aux_/preprocessed/plain/vector_c.hpp |   309 -
 SRC/Boost/boost/mpl/aux_/preprocessor/add.hpp      |    65 -
 .../mpl/aux_/preprocessor/def_params_tail.hpp      |   105 -
 .../boost/mpl/aux_/preprocessor/default_params.hpp |    67 -
 SRC/Boost/boost/mpl/aux_/preprocessor/enum.hpp     |    62 -
 .../boost/mpl/aux_/preprocessor/ext_params.hpp     |    78 -
 .../boost/mpl/aux_/preprocessor/filter_params.hpp  |    28 -
 SRC/Boost/boost/mpl/aux_/preprocessor/params.hpp   |    65 -
 .../mpl/aux_/preprocessor/partial_spec_params.hpp  |    32 -
 SRC/Boost/boost/mpl/aux_/preprocessor/range.hpp    |    23 -
 SRC/Boost/boost/mpl/aux_/preprocessor/repeat.hpp   |    51 -
 SRC/Boost/boost/mpl/aux_/preprocessor/sub.hpp      |    65 -
 SRC/Boost/boost/mpl/aux_/preprocessor/tuple.hpp    |    29 -
 SRC/Boost/boost/mpl/aux_/ptr_to_ref.hpp            |    46 -
 SRC/Boost/boost/mpl/aux_/push_back_impl.hpp        |    70 -
 SRC/Boost/boost/mpl/aux_/push_front_impl.hpp       |    71 -
 SRC/Boost/boost/mpl/aux_/reverse_fold_impl.hpp     |    44 -
 .../boost/mpl/aux_/reverse_fold_impl_body.hpp      |   412 -
 .../boost/mpl/aux_/reverse_iter_fold_impl.hpp      |    43 -
 SRC/Boost/boost/mpl/aux_/sequence_wrapper.hpp      |   292 -
 SRC/Boost/boost/mpl/aux_/size_impl.hpp             |    52 -
 SRC/Boost/boost/mpl/aux_/static_cast.hpp           |    27 -
 SRC/Boost/boost/mpl/aux_/template_arity.hpp        |   189 -
 SRC/Boost/boost/mpl/aux_/template_arity_fwd.hpp    |    23 -
 SRC/Boost/boost/mpl/aux_/traits_lambda_spec.hpp    |    63 -
 SRC/Boost/boost/mpl/aux_/type_wrapper.hpp          |    47 -
 SRC/Boost/boost/mpl/aux_/unwrap.hpp                |    47 -
 SRC/Boost/boost/mpl/aux_/value_wknd.hpp            |    89 -
 SRC/Boost/boost/mpl/aux_/yes_no.hpp                |    58 -
 SRC/Boost/boost/mpl/back_fwd.hpp                   |    24 -
 SRC/Boost/boost/mpl/back_inserter.hpp              |    34 -
 SRC/Boost/boost/mpl/base.hpp                       |    35 -
 SRC/Boost/boost/mpl/begin_end.hpp                  |    57 -
 SRC/Boost/boost/mpl/begin_end_fwd.hpp              |    27 -
 SRC/Boost/boost/mpl/bind.hpp                       |   551 -
 SRC/Boost/boost/mpl/bind_fwd.hpp                   |    99 -
 SRC/Boost/boost/mpl/bool.hpp                       |    39 -
 SRC/Boost/boost/mpl/bool_fwd.hpp                   |    33 -
 SRC/Boost/boost/mpl/clear.hpp                      |    39 -
 SRC/Boost/boost/mpl/clear_fwd.hpp                  |    24 -
 SRC/Boost/boost/mpl/comparison.hpp                 |    24 -
 SRC/Boost/boost/mpl/contains.hpp                   |    41 -
 SRC/Boost/boost/mpl/contains_fwd.hpp               |    25 -
 SRC/Boost/boost/mpl/copy.hpp                       |    58 -
 SRC/Boost/boost/mpl/deref.hpp                      |    41 -
 SRC/Boost/boost/mpl/distance.hpp                   |    78 -
 SRC/Boost/boost/mpl/distance_fwd.hpp               |    28 -
 SRC/Boost/boost/mpl/empty.hpp                      |    39 -
 SRC/Boost/boost/mpl/empty_fwd.hpp                  |    24 -
 SRC/Boost/boost/mpl/equal.hpp                      |   112 -
 SRC/Boost/boost/mpl/equal_to.hpp                   |    21 -
 SRC/Boost/boost/mpl/erase_fwd.hpp                  |    24 -
 SRC/Boost/boost/mpl/erase_key_fwd.hpp              |    24 -
 SRC/Boost/boost/mpl/eval_if.hpp                    |    71 -
 SRC/Boost/boost/mpl/find.hpp                       |    38 -
 SRC/Boost/boost/mpl/find_if.hpp                    |    50 -
 SRC/Boost/boost/mpl/fold.hpp                       |    48 -
 SRC/Boost/boost/mpl/for_each.hpp                   |   116 -
 SRC/Boost/boost/mpl/front.hpp                      |    39 -
 SRC/Boost/boost/mpl/front_fwd.hpp                  |    24 -
 SRC/Boost/boost/mpl/front_inserter.hpp             |    33 -
 SRC/Boost/boost/mpl/greater.hpp                    |    21 -
 SRC/Boost/boost/mpl/greater_equal.hpp              |    21 -
 SRC/Boost/boost/mpl/has_key.hpp                    |    41 -
 SRC/Boost/boost/mpl/has_key_fwd.hpp                |    25 -
 SRC/Boost/boost/mpl/has_xxx.hpp                    |   640 -
 SRC/Boost/boost/mpl/identity.hpp                   |    45 -
 SRC/Boost/boost/mpl/if.hpp                         |   135 -
 SRC/Boost/boost/mpl/insert_fwd.hpp                 |    24 -
 SRC/Boost/boost/mpl/inserter.hpp                   |    32 -
 SRC/Boost/boost/mpl/int.hpp                        |    22 -
 SRC/Boost/boost/mpl/int_fwd.hpp                    |    27 -
 SRC/Boost/boost/mpl/integral_c.hpp                 |    51 -
 SRC/Boost/boost/mpl/integral_c_fwd.hpp             |    32 -
 SRC/Boost/boost/mpl/integral_c_tag.hpp             |    26 -
 SRC/Boost/boost/mpl/is_placeholder.hpp             |    67 -
 SRC/Boost/boost/mpl/is_sequence.hpp                |   112 -
 SRC/Boost/boost/mpl/iter_fold.hpp                  |    49 -
 SRC/Boost/boost/mpl/iter_fold_if.hpp               |   117 -
 SRC/Boost/boost/mpl/iterator_category.hpp          |    35 -
 SRC/Boost/boost/mpl/iterator_range.hpp             |    42 -
 SRC/Boost/boost/mpl/iterator_tags.hpp              |    27 -
 SRC/Boost/boost/mpl/key_type_fwd.hpp               |    25 -
 SRC/Boost/boost/mpl/lambda.hpp                     |    29 -
 SRC/Boost/boost/mpl/lambda_fwd.hpp                 |    57 -
 SRC/Boost/boost/mpl/less.hpp                       |    21 -
 SRC/Boost/boost/mpl/less_equal.hpp                 |    21 -
 SRC/Boost/boost/mpl/limits/arity.hpp               |    21 -
 SRC/Boost/boost/mpl/limits/list.hpp                |    21 -
 SRC/Boost/boost/mpl/limits/unrolling.hpp           |    21 -
 SRC/Boost/boost/mpl/limits/vector.hpp              |    21 -
 SRC/Boost/boost/mpl/list.hpp                       |    57 -
 SRC/Boost/boost/mpl/list/aux_/O1_size.hpp          |    33 -
 SRC/Boost/boost/mpl/list/aux_/begin_end.hpp        |    44 -
 SRC/Boost/boost/mpl/list/aux_/clear.hpp            |    34 -
 SRC/Boost/boost/mpl/list/aux_/empty.hpp            |    34 -
 SRC/Boost/boost/mpl/list/aux_/front.hpp            |    33 -
 .../boost/mpl/list/aux_/include_preprocessed.hpp   |    35 -
 SRC/Boost/boost/mpl/list/aux_/item.hpp             |    55 -
 SRC/Boost/boost/mpl/list/aux_/iterator.hpp         |    76 -
 SRC/Boost/boost/mpl/list/aux_/numbered.hpp         |    68 -
 SRC/Boost/boost/mpl/list/aux_/numbered_c.hpp       |    71 -
 SRC/Boost/boost/mpl/list/aux_/pop_front.hpp        |    34 -
 .../mpl/list/aux_/preprocessed/plain/list10.hpp    |   149 -
 .../mpl/list/aux_/preprocessed/plain/list10_c.hpp  |   164 -
 .../mpl/list/aux_/preprocessed/plain/list20.hpp    |   169 -
 .../mpl/list/aux_/preprocessed/plain/list20_c.hpp  |   173 -
 .../mpl/list/aux_/preprocessed/plain/list30.hpp    |   189 -
 .../mpl/list/aux_/preprocessed/plain/list30_c.hpp  |   183 -
 .../mpl/list/aux_/preprocessed/plain/list40.hpp    |   209 -
 .../mpl/list/aux_/preprocessed/plain/list40_c.hpp  |   193 -
 .../mpl/list/aux_/preprocessed/plain/list50.hpp    |   229 -
 .../mpl/list/aux_/preprocessed/plain/list50_c.hpp  |   203 -
 SRC/Boost/boost/mpl/list/aux_/push_back.hpp        |    36 -
 SRC/Boost/boost/mpl/list/aux_/push_front.hpp       |    39 -
 SRC/Boost/boost/mpl/list/aux_/size.hpp             |    33 -
 SRC/Boost/boost/mpl/list/aux_/tag.hpp              |    24 -
 SRC/Boost/boost/mpl/list/list0.hpp                 |    42 -
 SRC/Boost/boost/mpl/list/list0_c.hpp               |    31 -
 SRC/Boost/boost/mpl/list/list10.hpp                |    43 -
 SRC/Boost/boost/mpl/list/list10_c.hpp              |    43 -
 SRC/Boost/boost/mpl/list/list20.hpp                |    43 -
 SRC/Boost/boost/mpl/list/list20_c.hpp              |    43 -
 SRC/Boost/boost/mpl/list/list30.hpp                |    43 -
 SRC/Boost/boost/mpl/list/list30_c.hpp              |    43 -
 SRC/Boost/boost/mpl/list/list40.hpp                |    43 -
 SRC/Boost/boost/mpl/list/list40_c.hpp              |    43 -
 SRC/Boost/boost/mpl/list/list50.hpp                |    43 -
 SRC/Boost/boost/mpl/list/list50_c.hpp              |    43 -
 SRC/Boost/boost/mpl/logical.hpp                    |    21 -
 SRC/Boost/boost/mpl/long.hpp                       |    22 -
 SRC/Boost/boost/mpl/long_fwd.hpp                   |    27 -
 SRC/Boost/boost/mpl/max_element.hpp                |    72 -
 SRC/Boost/boost/mpl/min_max.hpp                    |    46 -
 SRC/Boost/boost/mpl/minus.hpp                      |    21 -
 SRC/Boost/boost/mpl/multiplies.hpp                 |    53 -
 SRC/Boost/boost/mpl/negate.hpp                     |    81 -
 SRC/Boost/boost/mpl/next.hpp                       |    19 -
 SRC/Boost/boost/mpl/next_prior.hpp                 |    49 -
 SRC/Boost/boost/mpl/not.hpp                        |    51 -
 SRC/Boost/boost/mpl/not_equal_to.hpp               |    21 -
 SRC/Boost/boost/mpl/numeric_cast.hpp               |    41 -
 SRC/Boost/boost/mpl/or.hpp                         |    61 -
 SRC/Boost/boost/mpl/pair.hpp                       |    70 -
 SRC/Boost/boost/mpl/pair_view.hpp                  |   169 -
 SRC/Boost/boost/mpl/placeholders.hpp               |   100 -
 SRC/Boost/boost/mpl/plus.hpp                       |    21 -
 SRC/Boost/boost/mpl/pop_back_fwd.hpp               |    24 -
 SRC/Boost/boost/mpl/pop_front.hpp                  |    39 -
 SRC/Boost/boost/mpl/pop_front_fwd.hpp              |    24 -
 SRC/Boost/boost/mpl/print.hpp                      |    74 -
 SRC/Boost/boost/mpl/prior.hpp                      |    19 -
 SRC/Boost/boost/mpl/protect.hpp                    |    55 -
 SRC/Boost/boost/mpl/push_back.hpp                  |    53 -
 SRC/Boost/boost/mpl/push_back_fwd.hpp              |    24 -
 SRC/Boost/boost/mpl/push_front.hpp                 |    52 -
 SRC/Boost/boost/mpl/push_front_fwd.hpp             |    24 -
 SRC/Boost/boost/mpl/quote.hpp                      |   151 -
 SRC/Boost/boost/mpl/remove_if.hpp                  |    83 -
 SRC/Boost/boost/mpl/reverse_fold.hpp               |    50 -
 SRC/Boost/boost/mpl/reverse_iter_fold.hpp          |    56 -
 SRC/Boost/boost/mpl/same_as.hpp                    |    55 -
 SRC/Boost/boost/mpl/sequence_tag.hpp               |   124 -
 SRC/Boost/boost/mpl/sequence_tag_fwd.hpp           |    26 -
 SRC/Boost/boost/mpl/set/aux_/at_impl.hpp           |    40 -
 SRC/Boost/boost/mpl/set/aux_/begin_end_impl.hpp    |    43 -
 SRC/Boost/boost/mpl/set/aux_/clear_impl.hpp        |    35 -
 SRC/Boost/boost/mpl/set/aux_/empty_impl.hpp        |    34 -
 SRC/Boost/boost/mpl/set/aux_/erase_impl.hpp        |    41 -
 SRC/Boost/boost/mpl/set/aux_/erase_key_impl.hpp    |    53 -
 SRC/Boost/boost/mpl/set/aux_/has_key_impl.hpp      |    60 -
 SRC/Boost/boost/mpl/set/aux_/insert_impl.hpp       |    65 -
 SRC/Boost/boost/mpl/set/aux_/item.hpp              |    80 -
 SRC/Boost/boost/mpl/set/aux_/iterator.hpp          |    98 -
 SRC/Boost/boost/mpl/set/aux_/key_type_impl.hpp     |    34 -
 SRC/Boost/boost/mpl/set/aux_/set0.hpp              |    69 -
 SRC/Boost/boost/mpl/set/aux_/size_impl.hpp         |    33 -
 SRC/Boost/boost/mpl/set/aux_/tag.hpp               |    24 -
 SRC/Boost/boost/mpl/set/aux_/value_type_impl.hpp   |    34 -
 SRC/Boost/boost/mpl/set/set0.hpp                   |    35 -
 SRC/Boost/boost/mpl/size.hpp                       |    42 -
 SRC/Boost/boost/mpl/size_fwd.hpp                   |    24 -
 SRC/Boost/boost/mpl/size_t.hpp                     |    25 -
 SRC/Boost/boost/mpl/size_t_fwd.hpp                 |    28 -
 SRC/Boost/boost/mpl/sizeof.hpp                     |    36 -
 SRC/Boost/boost/mpl/tag.hpp                        |    52 -
 SRC/Boost/boost/mpl/times.hpp                      |    21 -
 SRC/Boost/boost/mpl/transform.hpp                  |   145 -
 SRC/Boost/boost/mpl/value_type_fwd.hpp             |    25 -
 SRC/Boost/boost/mpl/vector.hpp                     |    57 -
 SRC/Boost/boost/mpl/vector/aux_/O1_size.hpp        |    56 -
 SRC/Boost/boost/mpl/vector/aux_/at.hpp             |   116 -
 SRC/Boost/boost/mpl/vector/aux_/back.hpp           |    59 -
 SRC/Boost/boost/mpl/vector/aux_/begin_end.hpp      |    49 -
 SRC/Boost/boost/mpl/vector/aux_/clear.hpp          |    55 -
 SRC/Boost/boost/mpl/vector/aux_/empty.hpp          |    68 -
 SRC/Boost/boost/mpl/vector/aux_/front.hpp          |    56 -
 .../boost/mpl/vector/aux_/include_preprocessed.hpp |    55 -
 SRC/Boost/boost/mpl/vector/aux_/item.hpp           |   103 -
 SRC/Boost/boost/mpl/vector/aux_/iterator.hpp       |   130 -
 SRC/Boost/boost/mpl/vector/aux_/numbered.hpp       |   218 -
 SRC/Boost/boost/mpl/vector/aux_/numbered_c.hpp     |    77 -
 SRC/Boost/boost/mpl/vector/aux_/pop_back.hpp       |    40 -
 SRC/Boost/boost/mpl/vector/aux_/pop_front.hpp      |    40 -
 .../vector/aux_/preprocessed/no_ctps/vector10.hpp  |  1528 --
 .../aux_/preprocessed/no_ctps/vector10_c.hpp       |   149 -
 .../vector/aux_/preprocessed/no_ctps/vector20.hpp  |  1804 --
 .../aux_/preprocessed/no_ctps/vector20_c.hpp       |   195 -
 .../vector/aux_/preprocessed/no_ctps/vector30.hpp  |  2124 --
 .../aux_/preprocessed/no_ctps/vector30_c.hpp       |   238 -
 .../vector/aux_/preprocessed/no_ctps/vector40.hpp  |  2444 --
 .../aux_/preprocessed/no_ctps/vector40_c.hpp       |   281 -
 .../vector/aux_/preprocessed/no_ctps/vector50.hpp  |  2764 ---
 .../aux_/preprocessed/no_ctps/vector50_c.hpp       |   325 -
 .../vector/aux_/preprocessed/plain/vector10.hpp    |   829 -
 .../vector/aux_/preprocessed/plain/vector10_c.hpp  |   149 -
 .../vector/aux_/preprocessed/plain/vector20.hpp    |  1144 -
 .../vector/aux_/preprocessed/plain/vector20_c.hpp  |   195 -
 .../vector/aux_/preprocessed/plain/vector30.hpp    |  1464 --
 .../vector/aux_/preprocessed/plain/vector30_c.hpp  |   238 -
 .../vector/aux_/preprocessed/plain/vector40.hpp    |  1784 --
 .../vector/aux_/preprocessed/plain/vector40_c.hpp  |   281 -
 .../vector/aux_/preprocessed/plain/vector50.hpp    |  2104 --
 .../vector/aux_/preprocessed/plain/vector50_c.hpp  |   325 -
 .../aux_/preprocessed/typeof_based/vector10.hpp    |   139 -
 .../aux_/preprocessed/typeof_based/vector10_c.hpp  |   154 -
 .../aux_/preprocessed/typeof_based/vector20.hpp    |   159 -
 .../aux_/preprocessed/typeof_based/vector20_c.hpp  |   163 -
 .../aux_/preprocessed/typeof_based/vector30.hpp    |   179 -
 .../aux_/preprocessed/typeof_based/vector30_c.hpp  |   173 -
 .../aux_/preprocessed/typeof_based/vector40.hpp    |   199 -
 .../aux_/preprocessed/typeof_based/vector40_c.hpp  |   183 -
 .../aux_/preprocessed/typeof_based/vector50.hpp    |   219 -
 .../aux_/preprocessed/typeof_based/vector50_c.hpp  |   193 -
 SRC/Boost/boost/mpl/vector/aux_/push_back.hpp      |    40 -
 SRC/Boost/boost/mpl/vector/aux_/push_front.hpp     |    40 -
 SRC/Boost/boost/mpl/vector/aux_/size.hpp           |    49 -
 SRC/Boost/boost/mpl/vector/aux_/tag.hpp            |    32 -
 SRC/Boost/boost/mpl/vector/aux_/vector0.hpp        |    52 -
 SRC/Boost/boost/mpl/vector/vector0.hpp             |    34 -
 SRC/Boost/boost/mpl/vector/vector0_c.hpp           |    31 -
 SRC/Boost/boost/mpl/vector/vector10.hpp            |    45 -
 SRC/Boost/boost/mpl/vector/vector10_c.hpp          |    46 -
 SRC/Boost/boost/mpl/vector/vector20.hpp            |    45 -
 SRC/Boost/boost/mpl/vector/vector20_c.hpp          |    46 -
 SRC/Boost/boost/mpl/vector/vector30.hpp            |    45 -
 SRC/Boost/boost/mpl/vector/vector30_c.hpp          |    47 -
 SRC/Boost/boost/mpl/vector/vector40.hpp            |    45 -
 SRC/Boost/boost/mpl/vector/vector40_c.hpp          |    46 -
 SRC/Boost/boost/mpl/vector/vector50.hpp            |    45 -
 SRC/Boost/boost/mpl/vector/vector50_c.hpp          |    46 -
 SRC/Boost/boost/mpl/void.hpp                       |    76 -
 SRC/Boost/boost/mpl/void_fwd.hpp                   |    26 -
 .../boost/multi_index/detail/access_specifier.hpp  |    55 -
 SRC/Boost/boost/multi_index/detail/adl_swap.hpp    |    44 -
 .../multi_index/detail/archive_constructed.hpp     |    79 -
 SRC/Boost/boost/multi_index/detail/auto_space.hpp  |    95 -
 SRC/Boost/boost/multi_index/detail/base_type.hpp   |    87 -
 .../multi_index/detail/bidir_node_iterator.hpp     |   113 -
 SRC/Boost/boost/multi_index/detail/converter.hpp   |    52 -
 SRC/Boost/boost/multi_index/detail/copy_map.hpp    |   140 -
 .../multi_index/detail/duplicates_iterator.hpp     |   120 -
 SRC/Boost/boost/multi_index/detail/has_tag.hpp     |    42 -
 .../boost/multi_index/detail/header_holder.hpp     |    50 -
 SRC/Boost/boost/multi_index/detail/index_base.hpp  |   185 -
 .../boost/multi_index/detail/index_loader.hpp      |   138 -
 .../boost/multi_index/detail/index_matcher.hpp     |   248 -
 .../boost/multi_index/detail/index_node_base.hpp   |   135 -
 SRC/Boost/boost/multi_index/detail/index_saver.hpp |   135 -
 .../boost/multi_index/detail/invariant_assert.hpp  |    21 -
 .../boost/multi_index/detail/is_index_list.hpp     |    40 -
 .../boost/multi_index/detail/iter_adaptor.hpp      |   325 -
 .../multi_index/detail/modify_key_adaptor.hpp      |    49 -
 .../multi_index/detail/msvc_index_specifier.hpp    |    69 -
 .../boost/multi_index/detail/no_duplicate_tags.hpp |    97 -
 SRC/Boost/boost/multi_index/detail/node_type.hpp   |    79 -
 .../boost/multi_index/detail/ord_index_args.hpp    |    83 -
 .../boost/multi_index/detail/ord_index_node.hpp    |   650 -
 .../boost/multi_index/detail/ord_index_ops.hpp     |   147 -
 SRC/Boost/boost/multi_index/detail/prevent_eti.hpp |    60 -
 .../boost/multi_index/detail/safe_ctr_proxy.hpp    |   105 -
 SRC/Boost/boost/multi_index/detail/safe_mode.hpp   |   574 -
 SRC/Boost/boost/multi_index/detail/scope_guard.hpp |   452 -
 .../boost/multi_index/detail/seq_index_node.hpp    |   223 -
 .../boost/multi_index/detail/seq_index_ops.hpp     |   200 -
 .../multi_index/detail/serialization_version.hpp   |    75 -
 .../boost/multi_index/detail/uintptr_type.hpp      |    76 -
 SRC/Boost/boost/multi_index/detail/unbounded.hpp   |    83 -
 .../boost/multi_index/detail/value_compare.hpp     |    53 -
 SRC/Boost/boost/multi_index/identity.hpp           |   147 -
 SRC/Boost/boost/multi_index/identity_fwd.hpp       |    26 -
 SRC/Boost/boost/multi_index/indexed_by.hpp         |    72 -
 SRC/Boost/boost/multi_index/member.hpp             |   269 -
 SRC/Boost/boost/multi_index/ordered_index.hpp      |  1406 --
 SRC/Boost/boost/multi_index/ordered_index_fwd.hpp  |   124 -
 SRC/Boost/boost/multi_index/safe_mode_errors.hpp   |    48 -
 SRC/Boost/boost/multi_index/sequenced_index.hpp    |   933 -
 .../boost/multi_index/sequenced_index_fwd.hpp      |    91 -
 SRC/Boost/boost/multi_index/tag.hpp                |    92 -
 SRC/Boost/boost/multi_index_container.hpp          |  1143 -
 SRC/Boost/boost/multi_index_container_fwd.hpp      |   121 -
 SRC/Boost/boost/next_prior.hpp                     |    51 -
 SRC/Boost/boost/non_type.hpp                       |    27 -
 SRC/Boost/boost/noncopyable.hpp                    |    36 -
 SRC/Boost/boost/none.hpp                           |    28 -
 SRC/Boost/boost/none_t.hpp                         |    24 -
 SRC/Boost/boost/numeric/conversion/bounds.hpp      |    24 -
 SRC/Boost/boost/numeric/conversion/cast.hpp        |    61 -
 .../boost/numeric/conversion/conversion_traits.hpp |    39 -
 SRC/Boost/boost/numeric/conversion/converter.hpp   |    68 -
 .../numeric/conversion/converter_policies.hpp      |   186 -
 .../boost/numeric/conversion/detail/bounds.hpp     |    58 -
 .../conversion/detail/conversion_traits.hpp        |    97 -
 .../boost/numeric/conversion/detail/converter.hpp  |   602 -
 .../conversion/detail/int_float_mixture.hpp        |    72 -
 .../numeric/conversion/detail/is_subranged.hpp     |   234 -
 SRC/Boost/boost/numeric/conversion/detail/meta.hpp |   120 -
 .../conversion/detail/numeric_cast_traits.hpp      |   105 -
 .../numeric/conversion/detail/old_numeric_cast.hpp |   339 -
 .../detail/preprocessed/numeric_cast_traits.hpp    |  1751 --
 .../numeric/conversion/detail/sign_mixture.hpp     |    72 -
 .../conversion/detail/udt_builtin_mixture.hpp      |    69 -
 .../numeric/conversion/int_float_mixture_enum.hpp  |    29 -
 .../numeric/conversion/numeric_cast_traits.hpp     |    31 -
 .../boost/numeric/conversion/sign_mixture_enum.hpp |    29 -
 .../conversion/udt_builtin_mixture_enum.hpp        |    26 -
 SRC/Boost/boost/operators.hpp                      |   978 -
 SRC/Boost/boost/optional.hpp                       |    18 -
 SRC/Boost/boost/optional/optional.hpp              |   991 -
 SRC/Boost/boost/optional/optional_fwd.hpp          |    29 -
 SRC/Boost/boost/pending/integer_log2.hpp           |   112 -
 SRC/Boost/boost/pointee.hpp                        |    74 -
 SRC/Boost/boost/pointer_to_other.hpp               |    55 -
 SRC/Boost/boost/preprocessor.hpp                   |    19 -
 SRC/Boost/boost/preprocessor/arithmetic.hpp        |    25 -
 SRC/Boost/boost/preprocessor/arithmetic/add.hpp    |    51 -
 SRC/Boost/boost/preprocessor/arithmetic/dec.hpp    |   288 -
 .../preprocessor/arithmetic/detail/div_base.hpp    |    61 -
 SRC/Boost/boost/preprocessor/arithmetic/div.hpp    |    39 -
 SRC/Boost/boost/preprocessor/arithmetic/inc.hpp    |   288 -
 SRC/Boost/boost/preprocessor/arithmetic/mod.hpp    |    39 -
 SRC/Boost/boost/preprocessor/arithmetic/mul.hpp    |    53 -
 SRC/Boost/boost/preprocessor/arithmetic/sub.hpp    |    50 -
 SRC/Boost/boost/preprocessor/array.hpp             |    27 -
 SRC/Boost/boost/preprocessor/array/data.hpp        |    28 -
 SRC/Boost/boost/preprocessor/array/elem.hpp        |    29 -
 SRC/Boost/boost/preprocessor/array/insert.hpp      |    55 -
 SRC/Boost/boost/preprocessor/array/pop_back.hpp    |    37 -
 SRC/Boost/boost/preprocessor/array/pop_front.hpp   |    38 -
 SRC/Boost/boost/preprocessor/array/push_back.hpp   |    33 -
 SRC/Boost/boost/preprocessor/array/push_front.hpp  |    33 -
 SRC/Boost/boost/preprocessor/array/remove.hpp      |    54 -
 SRC/Boost/boost/preprocessor/array/replace.hpp     |    49 -
 SRC/Boost/boost/preprocessor/array/reverse.hpp     |    29 -
 SRC/Boost/boost/preprocessor/array/size.hpp        |    28 -
 SRC/Boost/boost/preprocessor/cat.hpp               |    35 -
 SRC/Boost/boost/preprocessor/comma_if.hpp          |    17 -
 SRC/Boost/boost/preprocessor/comparison.hpp        |    24 -
 SRC/Boost/boost/preprocessor/comparison/equal.hpp  |    34 -
 .../boost/preprocessor/comparison/greater.hpp      |    38 -
 .../preprocessor/comparison/greater_equal.hpp      |    38 -
 SRC/Boost/boost/preprocessor/comparison/less.hpp   |    46 -
 .../boost/preprocessor/comparison/less_equal.hpp   |    39 -
 .../boost/preprocessor/comparison/not_equal.hpp    |   814 -
 SRC/Boost/boost/preprocessor/config/config.hpp     |    70 -
 SRC/Boost/boost/preprocessor/config/limits.hpp     |    29 -
 SRC/Boost/boost/preprocessor/control.hpp           |    22 -
 SRC/Boost/boost/preprocessor/control/deduce_d.hpp  |    22 -
 .../preprocessor/control/detail/dmc/while.hpp      |   536 -
 .../preprocessor/control/detail/edg/while.hpp      |   534 -
 .../preprocessor/control/detail/msvc/while.hpp     |   277 -
 .../boost/preprocessor/control/detail/while.hpp    |   536 -
 SRC/Boost/boost/preprocessor/control/expr_if.hpp   |    30 -
 SRC/Boost/boost/preprocessor/control/expr_iif.hpp  |    31 -
 SRC/Boost/boost/preprocessor/control/if.hpp        |    30 -
 SRC/Boost/boost/preprocessor/control/iif.hpp       |    34 -
 SRC/Boost/boost/preprocessor/control/while.hpp     |   312 -
 SRC/Boost/boost/preprocessor/debug.hpp             |    18 -
 SRC/Boost/boost/preprocessor/debug/assert.hpp      |    44 -
 SRC/Boost/boost/preprocessor/debug/error.hpp       |    33 -
 SRC/Boost/boost/preprocessor/debug/line.hpp        |    35 -
 SRC/Boost/boost/preprocessor/dec.hpp               |    17 -
 SRC/Boost/boost/preprocessor/detail/auto_rec.hpp   |   293 -
 SRC/Boost/boost/preprocessor/detail/check.hpp      |    48 -
 .../boost/preprocessor/detail/dmc/auto_rec.hpp     |   286 -
 SRC/Boost/boost/preprocessor/detail/is_binary.hpp  |    30 -
 SRC/Boost/boost/preprocessor/detail/is_unary.hpp   |    30 -
 SRC/Boost/boost/preprocessor/empty.hpp             |    17 -
 SRC/Boost/boost/preprocessor/enum.hpp              |    17 -
 SRC/Boost/boost/preprocessor/enum_params.hpp       |    17 -
 .../preprocessor/enum_params_with_a_default.hpp    |    17 -
 .../preprocessor/enum_params_with_defaults.hpp     |    17 -
 .../boost/preprocessor/enum_shifted_params.hpp     |    17 -
 SRC/Boost/boost/preprocessor/expr_if.hpp           |    17 -
 SRC/Boost/boost/preprocessor/facilities.hpp        |    21 -
 SRC/Boost/boost/preprocessor/facilities/apply.hpp  |    34 -
 SRC/Boost/boost/preprocessor/facilities/empty.hpp  |    21 -
 SRC/Boost/boost/preprocessor/facilities/expand.hpp |    28 -
 .../boost/preprocessor/facilities/identity.hpp     |    23 -
 .../boost/preprocessor/facilities/intercept.hpp    |   277 -
 SRC/Boost/boost/preprocessor/identity.hpp          |    17 -
 SRC/Boost/boost/preprocessor/if.hpp                |    17 -
 SRC/Boost/boost/preprocessor/inc.hpp               |    17 -
 SRC/Boost/boost/preprocessor/iterate.hpp           |    17 -
 SRC/Boost/boost/preprocessor/iteration.hpp         |    19 -
 .../iteration/detail/bounds/lower1.hpp             |    99 -
 .../iteration/detail/bounds/lower2.hpp             |    99 -
 .../iteration/detail/bounds/lower3.hpp             |    99 -
 .../iteration/detail/bounds/lower4.hpp             |    99 -
 .../iteration/detail/bounds/lower5.hpp             |    99 -
 .../iteration/detail/bounds/upper1.hpp             |    99 -
 .../iteration/detail/bounds/upper2.hpp             |    99 -
 .../iteration/detail/bounds/upper3.hpp             |    99 -
 .../iteration/detail/bounds/upper4.hpp             |    99 -
 .../iteration/detail/bounds/upper5.hpp             |    99 -
 .../boost/preprocessor/iteration/detail/finish.hpp |    99 -
 .../iteration/detail/iter/forward1.hpp             |  1342 --
 .../iteration/detail/iter/forward2.hpp             |  1338 --
 .../iteration/detail/iter/forward3.hpp             |  1338 --
 .../iteration/detail/iter/forward4.hpp             |  1338 --
 .../iteration/detail/iter/forward5.hpp             |  1338 --
 .../iteration/detail/iter/reverse1.hpp             |  1296 -
 .../iteration/detail/iter/reverse2.hpp             |  1296 -
 .../iteration/detail/iter/reverse3.hpp             |  1296 -
 .../iteration/detail/iter/reverse4.hpp             |  1296 -
 .../iteration/detail/iter/reverse5.hpp             |  1296 -
 .../boost/preprocessor/iteration/detail/local.hpp  |   812 -
 .../boost/preprocessor/iteration/detail/rlocal.hpp |   782 -
 .../boost/preprocessor/iteration/detail/self.hpp   |    21 -
 .../boost/preprocessor/iteration/detail/start.hpp  |    99 -
 SRC/Boost/boost/preprocessor/iteration/iterate.hpp |    82 -
 SRC/Boost/boost/preprocessor/iteration/local.hpp   |    26 -
 SRC/Boost/boost/preprocessor/iteration/self.hpp    |    19 -
 SRC/Boost/boost/preprocessor/library.hpp           |    34 -
 SRC/Boost/boost/preprocessor/list.hpp              |    35 -
 SRC/Boost/boost/preprocessor/list/adt.hpp          |    73 -
 SRC/Boost/boost/preprocessor/list/append.hpp       |    40 -
 SRC/Boost/boost/preprocessor/list/at.hpp           |    39 -
 SRC/Boost/boost/preprocessor/list/cat.hpp          |    42 -
 .../preprocessor/list/detail/dmc/fold_left.hpp     |   279 -
 .../preprocessor/list/detail/edg/fold_left.hpp     |   536 -
 .../preprocessor/list/detail/edg/fold_right.hpp    |   794 -
 .../boost/preprocessor/list/detail/fold_left.hpp   |   279 -
 .../boost/preprocessor/list/detail/fold_right.hpp  |   277 -
 SRC/Boost/boost/preprocessor/list/enum.hpp         |    41 -
 SRC/Boost/boost/preprocessor/list/filter.hpp       |    54 -
 SRC/Boost/boost/preprocessor/list/first_n.hpp      |    58 -
 SRC/Boost/boost/preprocessor/list/fold_left.hpp    |   303 -
 SRC/Boost/boost/preprocessor/list/fold_right.hpp   |    40 -
 SRC/Boost/boost/preprocessor/list/for_each.hpp     |    49 -
 SRC/Boost/boost/preprocessor/list/for_each_i.hpp   |    65 -
 .../boost/preprocessor/list/for_each_product.hpp   |   141 -
 SRC/Boost/boost/preprocessor/list/rest_n.hpp       |    55 -
 SRC/Boost/boost/preprocessor/list/reverse.hpp      |    40 -
 SRC/Boost/boost/preprocessor/list/size.hpp         |    58 -
 SRC/Boost/boost/preprocessor/list/to_tuple.hpp     |    38 -
 SRC/Boost/boost/preprocessor/list/transform.hpp    |    49 -
 SRC/Boost/boost/preprocessor/logical.hpp           |    29 -
 SRC/Boost/boost/preprocessor/logical/and.hpp       |    30 -
 SRC/Boost/boost/preprocessor/logical/bitand.hpp    |    38 -
 SRC/Boost/boost/preprocessor/logical/bitnor.hpp    |    38 -
 SRC/Boost/boost/preprocessor/logical/bitor.hpp     |    38 -
 SRC/Boost/boost/preprocessor/logical/bitxor.hpp    |    38 -
 SRC/Boost/boost/preprocessor/logical/bool.hpp      |   288 -
 SRC/Boost/boost/preprocessor/logical/compl.hpp     |    36 -
 SRC/Boost/boost/preprocessor/logical/nor.hpp       |    30 -
 SRC/Boost/boost/preprocessor/logical/not.hpp       |    30 -
 SRC/Boost/boost/preprocessor/logical/or.hpp        |    30 -
 SRC/Boost/boost/preprocessor/logical/xor.hpp       |    30 -
 SRC/Boost/boost/preprocessor/punctuation.hpp       |    20 -
 SRC/Boost/boost/preprocessor/punctuation/comma.hpp |    21 -
 .../boost/preprocessor/punctuation/comma_if.hpp    |    31 -
 SRC/Boost/boost/preprocessor/punctuation/paren.hpp |    23 -
 .../boost/preprocessor/punctuation/paren_if.hpp    |    38 -
 SRC/Boost/boost/preprocessor/repeat.hpp            |    17 -
 SRC/Boost/boost/preprocessor/repeat_2nd.hpp        |    17 -
 SRC/Boost/boost/preprocessor/repeat_from_to.hpp    |    17 -
 SRC/Boost/boost/preprocessor/repetition.hpp        |    32 -
 .../boost/preprocessor/repetition/deduce_r.hpp     |    22 -
 .../boost/preprocessor/repetition/deduce_z.hpp     |    22 -
 .../preprocessor/repetition/detail/dmc/for.hpp     |   536 -
 .../preprocessor/repetition/detail/edg/for.hpp     |   534 -
 .../boost/preprocessor/repetition/detail/for.hpp   |   536 -
 .../preprocessor/repetition/detail/msvc/for.hpp    |   277 -
 SRC/Boost/boost/preprocessor/repetition/enum.hpp   |    66 -
 .../preprocessor/repetition/enum_binary_params.hpp |    54 -
 .../boost/preprocessor/repetition/enum_params.hpp  |    41 -
 .../repetition/enum_params_with_a_default.hpp      |    25 -
 .../repetition/enum_params_with_defaults.hpp       |    24 -
 .../boost/preprocessor/repetition/enum_shifted.hpp |    68 -
 .../repetition/enum_shifted_binary_params.hpp      |    51 -
 .../repetition/enum_shifted_params.hpp             |    44 -
 .../preprocessor/repetition/enum_trailing.hpp      |    63 -
 .../repetition/enum_trailing_binary_params.hpp     |    53 -
 .../repetition/enum_trailing_params.hpp            |    38 -
 SRC/Boost/boost/preprocessor/repetition/for.hpp    |   306 -
 SRC/Boost/boost/preprocessor/repetition/repeat.hpp |   825 -
 .../preprocessor/repetition/repeat_from_to.hpp     |    87 -
 SRC/Boost/boost/preprocessor/selection.hpp         |    18 -
 SRC/Boost/boost/preprocessor/selection/max.hpp     |    39 -
 SRC/Boost/boost/preprocessor/selection/min.hpp     |    39 -
 SRC/Boost/boost/preprocessor/seq.hpp               |    41 -
 SRC/Boost/boost/preprocessor/seq/cat.hpp           |    49 -
 SRC/Boost/boost/preprocessor/seq/detail/split.hpp  |   284 -
 SRC/Boost/boost/preprocessor/seq/elem.hpp          |   304 -
 SRC/Boost/boost/preprocessor/seq/enum.hpp          |   288 -
 SRC/Boost/boost/preprocessor/seq/filter.hpp        |    54 -
 SRC/Boost/boost/preprocessor/seq/first_n.hpp       |    30 -
 SRC/Boost/boost/preprocessor/seq/fold_left.hpp     |  1070 -
 SRC/Boost/boost/preprocessor/seq/fold_right.hpp    |   288 -
 SRC/Boost/boost/preprocessor/seq/for_each.hpp      |    60 -
 SRC/Boost/boost/preprocessor/seq/for_each_i.hpp    |    61 -
 .../boost/preprocessor/seq/for_each_product.hpp    |   126 -
 SRC/Boost/boost/preprocessor/seq/insert.hpp        |    28 -
 SRC/Boost/boost/preprocessor/seq/pop_back.hpp      |    29 -
 SRC/Boost/boost/preprocessor/seq/pop_front.hpp     |    27 -
 SRC/Boost/boost/preprocessor/seq/push_back.hpp     |    19 -
 SRC/Boost/boost/preprocessor/seq/push_front.hpp    |    19 -
 SRC/Boost/boost/preprocessor/seq/remove.hpp        |    29 -
 SRC/Boost/boost/preprocessor/seq/replace.hpp       |    29 -
 SRC/Boost/boost/preprocessor/seq/rest_n.hpp        |    30 -
 SRC/Boost/boost/preprocessor/seq/reverse.hpp       |    39 -
 SRC/Boost/boost/preprocessor/seq/seq.hpp           |    44 -
 SRC/Boost/boost/preprocessor/seq/size.hpp          |   547 -
 SRC/Boost/boost/preprocessor/seq/subseq.hpp        |    28 -
 SRC/Boost/boost/preprocessor/seq/to_array.hpp      |    28 -
 SRC/Boost/boost/preprocessor/seq/to_tuple.hpp      |    27 -
 SRC/Boost/boost/preprocessor/seq/transform.hpp     |    48 -
 SRC/Boost/boost/preprocessor/slot.hpp              |    17 -
 .../boost/preprocessor/slot/detail/counter.hpp     |   269 -
 SRC/Boost/boost/preprocessor/slot/detail/def.hpp   |    49 -
 .../boost/preprocessor/slot/detail/shared.hpp      |   247 -
 SRC/Boost/boost/preprocessor/slot/detail/slot1.hpp |   267 -
 SRC/Boost/boost/preprocessor/slot/detail/slot2.hpp |   267 -
 SRC/Boost/boost/preprocessor/slot/detail/slot3.hpp |   267 -
 SRC/Boost/boost/preprocessor/slot/detail/slot4.hpp |   267 -
 SRC/Boost/boost/preprocessor/slot/detail/slot5.hpp |   267 -
 SRC/Boost/boost/preprocessor/slot/slot.hpp         |    32 -
 SRC/Boost/boost/preprocessor/stringize.hpp         |    33 -
 SRC/Boost/boost/preprocessor/tuple.hpp             |    24 -
 SRC/Boost/boost/preprocessor/tuple/eat.hpp         |    57 -
 SRC/Boost/boost/preprocessor/tuple/elem.hpp        |   385 -
 SRC/Boost/boost/preprocessor/tuple/rem.hpp         |    72 -
 SRC/Boost/boost/preprocessor/tuple/reverse.hpp     |    62 -
 SRC/Boost/boost/preprocessor/tuple/to_list.hpp     |    62 -
 SRC/Boost/boost/preprocessor/tuple/to_seq.hpp      |    60 -
 SRC/Boost/boost/progress.hpp                       |   143 -
 SRC/Boost/boost/ptr_container/clone_allocator.hpp  |    99 -
 .../detail/associative_ptr_container.hpp           |   411 -
 .../boost/ptr_container/detail/default_deleter.hpp |    69 -
 .../boost/ptr_container/detail/is_convertible.hpp  |    73 -
 .../boost/ptr_container/detail/map_iterator.hpp    |   132 -
 .../boost/ptr_container/detail/meta_functions.hpp  |    66 -
 SRC/Boost/boost/ptr_container/detail/move.hpp      |    44 -
 .../detail/reversible_ptr_container.hpp            |   752 -
 .../boost/ptr_container/detail/scoped_deleter.hpp  |   121 -
 .../boost/ptr_container/detail/static_move_ptr.hpp |   211 -
 .../boost/ptr_container/detail/throw_exception.hpp |    33 -
 .../ptr_container/detail/void_ptr_iterator.hpp     |   229 -
 SRC/Boost/boost/ptr_container/exception.hpp        |    58 -
 SRC/Boost/boost/ptr_container/indirect_fun.hpp     |   151 -
 SRC/Boost/boost/ptr_container/nullable.hpp         |    73 -
 SRC/Boost/boost/ptr_container/ptr_array.hpp        |   234 -
 .../boost/ptr_container/ptr_circular_buffer.hpp    |   531 -
 SRC/Boost/boost/ptr_container/ptr_container.hpp    |    31 -
 SRC/Boost/boost/ptr_container/ptr_deque.hpp        |    69 -
 SRC/Boost/boost/ptr_container/ptr_inserter.hpp     |   258 -
 SRC/Boost/boost/ptr_container/ptr_list.hpp         |   110 -
 SRC/Boost/boost/ptr_container/ptr_map.hpp          |   165 -
 SRC/Boost/boost/ptr_container/ptr_map_adapter.hpp  |   874 -
 .../boost/ptr_container/ptr_sequence_adapter.hpp   |   775 -
 SRC/Boost/boost/ptr_container/ptr_set.hpp          |   155 -
 SRC/Boost/boost/ptr_container/ptr_set_adapter.hpp  |   692 -
 .../boost/ptr_container/ptr_unordered_map.hpp      |   248 -
 .../boost/ptr_container/ptr_unordered_set.hpp      |   240 -
 SRC/Boost/boost/ptr_container/ptr_vector.hpp       |    77 -
 SRC/Boost/boost/random/detail/config.hpp           |    18 -
 SRC/Boost/boost/random/detail/const_mod.hpp        |   216 -
 SRC/Boost/boost/random/detail/disable_warnings.hpp |    23 -
 SRC/Boost/boost/random/detail/enable_warnings.hpp  |    18 -
 SRC/Boost/boost/random/detail/generator_bits.hpp   |    36 -
 .../boost/random/detail/generator_seed_seq.hpp     |    40 -
 SRC/Boost/boost/random/detail/integer_log2.hpp     |    71 -
 SRC/Boost/boost/random/detail/large_arithmetic.hpp |   122 -
 SRC/Boost/boost/random/detail/operators.hpp        |    84 -
 SRC/Boost/boost/random/detail/ptr_helper.hpp       |    94 -
 SRC/Boost/boost/random/detail/seed.hpp             |   114 -
 SRC/Boost/boost/random/detail/seed_impl.hpp        |   397 -
 .../boost/random/detail/signed_unsigned_tools.hpp  |    89 -
 .../boost/random/detail/uniform_int_float.hpp      |    76 -
 SRC/Boost/boost/random/mersenne_twister.hpp        |   545 -
 SRC/Boost/boost/random/uniform_int.hpp             |    99 -
 .../boost/random/uniform_int_distribution.hpp      |   400 -
 SRC/Boost/boost/random/variate_generator.hpp       |   122 -
 SRC/Boost/boost/range/algorithm/equal.hpp          |   188 -
 SRC/Boost/boost/range/as_literal.hpp               |   127 -
 SRC/Boost/boost/range/begin.hpp                    |   143 -
 SRC/Boost/boost/range/concepts.hpp                 |   366 -
 SRC/Boost/boost/range/config.hpp                   |    54 -
 SRC/Boost/boost/range/const_iterator.hpp           |    67 -
 SRC/Boost/boost/range/detail/as_literal.hpp        |    33 -
 SRC/Boost/boost/range/detail/begin.hpp             |    94 -
 SRC/Boost/boost/range/detail/common.hpp            |   117 -
 SRC/Boost/boost/range/detail/const_iterator.hpp    |    71 -
 SRC/Boost/boost/range/detail/detail_str.hpp        |   376 -
 SRC/Boost/boost/range/detail/end.hpp               |   101 -
 .../boost/range/detail/extract_optional_type.hpp   |    52 -
 .../boost/range/detail/implementation_help.hpp     |   103 -
 SRC/Boost/boost/range/detail/iterator.hpp          |    78 -
 SRC/Boost/boost/range/detail/misc_concept.hpp      |    33 -
 SRC/Boost/boost/range/detail/remove_extent.hpp     |   157 -
 SRC/Boost/boost/range/detail/safe_bool.hpp         |    72 -
 SRC/Boost/boost/range/detail/sfinae.hpp            |    77 -
 SRC/Boost/boost/range/detail/size_type.hpp         |    70 -
 SRC/Boost/boost/range/detail/str_types.hpp         |    38 -
 SRC/Boost/boost/range/detail/value_type.hpp        |    72 -
 SRC/Boost/boost/range/detail/vc6/end.hpp           |   170 -
 SRC/Boost/boost/range/difference_type.hpp          |    29 -
 SRC/Boost/boost/range/distance.hpp                 |    34 -
 SRC/Boost/boost/range/empty.hpp                    |    34 -
 SRC/Boost/boost/range/end.hpp                      |   136 -
 SRC/Boost/boost/range/functions.hpp                |    27 -
 SRC/Boost/boost/range/iterator.hpp                 |    72 -
 SRC/Boost/boost/range/iterator_range.hpp           |    16 -
 SRC/Boost/boost/range/iterator_range_core.hpp      |   650 -
 SRC/Boost/boost/range/iterator_range_io.hpp        |    93 -
 SRC/Boost/boost/range/mutable_iterator.hpp         |    67 -
 SRC/Boost/boost/range/rbegin.hpp                   |    65 -
 SRC/Boost/boost/range/rend.hpp                     |    65 -
 SRC/Boost/boost/range/result_iterator.hpp          |    33 -
 SRC/Boost/boost/range/reverse_iterator.hpp         |    40 -
 SRC/Boost/boost/range/size.hpp                     |    52 -
 SRC/Boost/boost/range/size_type.hpp                |    79 -
 SRC/Boost/boost/range/value_type.hpp               |    34 -
 SRC/Boost/boost/ref.hpp                            |   189 -
 SRC/Boost/boost/regex.hpp                          |    37 -
 SRC/Boost/boost/regex/config.hpp                   |   432 -
 SRC/Boost/boost/regex/config/borland.hpp           |    72 -
 SRC/Boost/boost/regex/config/cwchar.hpp            |   207 -
 SRC/Boost/boost/regex/icu.hpp                      |  1031 -
 SRC/Boost/boost/regex/pattern_except.hpp           |   100 -
 SRC/Boost/boost/regex/pending/object_cache.hpp     |   165 -
 SRC/Boost/boost/regex/pending/static_mutex.hpp     |   180 -
 SRC/Boost/boost/regex/pending/unicode_iterator.hpp |   756 -
 SRC/Boost/boost/regex/regex_traits.hpp             |    35 -
 SRC/Boost/boost/regex/user.hpp                     |    90 -
 SRC/Boost/boost/regex/v4/basic_regex.hpp           |   779 -
 SRC/Boost/boost/regex/v4/basic_regex_creator.hpp   |  1573 --
 SRC/Boost/boost/regex/v4/basic_regex_parser.hpp    |  2821 ---
 SRC/Boost/boost/regex/v4/c_regex_traits.hpp        |   211 -
 SRC/Boost/boost/regex/v4/char_regex_traits.hpp     |    81 -
 SRC/Boost/boost/regex/v4/cpp_regex_traits.hpp      |  1096 -
 SRC/Boost/boost/regex/v4/cregex.hpp                |   330 -
 SRC/Boost/boost/regex/v4/error_type.hpp            |    59 -
 SRC/Boost/boost/regex/v4/fileiter.hpp              |   455 -
 SRC/Boost/boost/regex/v4/instances.hpp             |   219 -
 SRC/Boost/boost/regex/v4/iterator_category.hpp     |    91 -
 SRC/Boost/boost/regex/v4/iterator_traits.hpp       |   135 -
 SRC/Boost/boost/regex/v4/match_flags.hpp           |   138 -
 SRC/Boost/boost/regex/v4/match_results.hpp         |   699 -
 SRC/Boost/boost/regex/v4/mem_block_cache.hpp       |    99 -
 SRC/Boost/boost/regex/v4/perl_matcher.hpp          |   584 -
 SRC/Boost/boost/regex/v4/perl_matcher_common.hpp   |   990 -
 .../boost/regex/v4/perl_matcher_non_recursive.hpp  |  1639 --
 .../boost/regex/v4/perl_matcher_recursive.hpp      |   991 -
 SRC/Boost/boost/regex/v4/primary_transform.hpp     |   146 -
 SRC/Boost/boost/regex/v4/protected_call.hpp        |    81 -
 SRC/Boost/boost/regex/v4/regbase.hpp               |   180 -
 SRC/Boost/boost/regex/v4/regex.hpp                 |   202 -
 SRC/Boost/boost/regex/v4/regex_format.hpp          |  1149 -
 SRC/Boost/boost/regex/v4/regex_fwd.hpp             |    73 -
 SRC/Boost/boost/regex/v4/regex_grep.hpp            |   155 -
 SRC/Boost/boost/regex/v4/regex_iterator.hpp        |   201 -
 SRC/Boost/boost/regex/v4/regex_match.hpp           |   382 -
 SRC/Boost/boost/regex/v4/regex_merge.hpp           |    93 -
 SRC/Boost/boost/regex/v4/regex_raw_buffer.hpp      |   210 -
 SRC/Boost/boost/regex/v4/regex_replace.hpp         |    99 -
 SRC/Boost/boost/regex/v4/regex_search.hpp          |   217 -
 SRC/Boost/boost/regex/v4/regex_split.hpp           |   172 -
 SRC/Boost/boost/regex/v4/regex_token_iterator.hpp  |   342 -
 SRC/Boost/boost/regex/v4/regex_traits.hpp          |   189 -
 SRC/Boost/boost/regex/v4/regex_traits_defaults.hpp |   371 -
 SRC/Boost/boost/regex/v4/regex_workaround.hpp      |   232 -
 SRC/Boost/boost/regex/v4/states.hpp                |   301 -
 SRC/Boost/boost/regex/v4/sub_match.hpp             |   512 -
 SRC/Boost/boost/regex/v4/syntax_type.hpp           |   105 -
 SRC/Boost/boost/regex/v4/u32regex_iterator.hpp     |   193 -
 .../boost/regex/v4/u32regex_token_iterator.hpp     |   377 -
 SRC/Boost/boost/regex/v4/w32_regex_traits.hpp      |   741 -
 SRC/Boost/boost/regex_fwd.hpp                      |    33 -
 SRC/Boost/boost/scoped_array.hpp                   |    16 -
 SRC/Boost/boost/scoped_ptr.hpp                     |    16 -
 SRC/Boost/boost/serialization/access.hpp           |   147 -
 SRC/Boost/boost/serialization/array.hpp            |   153 -
 SRC/Boost/boost/serialization/base_object.hpp      |   112 -
 SRC/Boost/boost/serialization/binary_object.hpp    |    82 -
 SRC/Boost/boost/serialization/bitset.hpp           |    75 -
 .../boost/serialization/collection_size_type.hpp   |    62 -
 .../boost/serialization/collection_traits.hpp      |    79 -
 .../boost/serialization/collections_load_imp.hpp   |   166 -
 .../boost/serialization/collections_save_imp.hpp   |    72 -
 SRC/Boost/boost/serialization/complex.hpp          |    81 -
 SRC/Boost/boost/serialization/deque.hpp            |    75 -
 .../serialization/detail/shared_count_132.hpp      |   569 -
 .../boost/serialization/detail/shared_ptr_132.hpp  |   478 -
 .../serialization/detail/shared_ptr_nmt_132.hpp    |   182 -
 SRC/Boost/boost/serialization/ephemeral.hpp        |    80 -
 SRC/Boost/boost/serialization/export.hpp           |   234 -
 .../boost/serialization/extended_type_info.hpp     |   108 -
 .../serialization/extended_type_info_no_rtti.hpp   |   182 -
 .../serialization/extended_type_info_typeid.hpp    |   165 -
 .../serialization/hash_collections_load_imp.hpp    |    77 -
 .../serialization/hash_collections_save_imp.hpp    |    97 -
 SRC/Boost/boost/serialization/hash_map.hpp         |   231 -
 SRC/Boost/boost/serialization/hash_set.hpp         |   221 -
 .../boost/serialization/item_version_type.hpp      |    68 -
 SRC/Boost/boost/serialization/level.hpp            |   125 -
 SRC/Boost/boost/serialization/list.hpp             |    77 -
 SRC/Boost/boost/serialization/map.hpp              |   118 -
 SRC/Boost/boost/serialization/nvp.hpp              |   144 -
 SRC/Boost/boost/serialization/optional.hpp         |   127 -
 SRC/Boost/boost/serialization/scoped_ptr.hpp       |    58 -
 SRC/Boost/boost/serialization/serialization.hpp    |   167 -
 SRC/Boost/boost/serialization/set.hpp              |   120 -
 SRC/Boost/boost/serialization/shared_ptr.hpp       |   177 -
 SRC/Boost/boost/serialization/shared_ptr_132.hpp   |   222 -
 SRC/Boost/boost/serialization/singleton.hpp        |   158 -
 SRC/Boost/boost/serialization/slist.hpp            |   103 -
 SRC/Boost/boost/serialization/split_free.hpp       |    93 -
 SRC/Boost/boost/serialization/split_member.hpp     |    86 -
 SRC/Boost/boost/serialization/string.hpp           |    91 -
 SRC/Boost/boost/serialization/tracking.hpp         |   118 -
 SRC/Boost/boost/serialization/traits.hpp           |    65 -
 .../serialization/type_info_implementation.hpp     |    86 -
 SRC/Boost/boost/serialization/utility.hpp          |    56 -
 SRC/Boost/boost/serialization/valarray.hpp         |    74 -
 SRC/Boost/boost/serialization/variant.hpp          |   163 -
 SRC/Boost/boost/serialization/vector.hpp           |   211 -
 SRC/Boost/boost/serialization/vector_135.hpp       |    26 -
 SRC/Boost/boost/serialization/version.hpp          |   107 -
 SRC/Boost/boost/serialization/void_cast.hpp        |   298 -
 SRC/Boost/boost/serialization/void_cast_fwd.hpp    |    37 -
 SRC/Boost/boost/serialization/weak_ptr.hpp         |    58 -
 SRC/Boost/boost/serialization/wrapper.hpp          |    60 -
 SRC/Boost/boost/shared_array.hpp                   |    19 -
 SRC/Boost/boost/shared_ptr.hpp                     |    19 -
 SRC/Boost/boost/smart_ptr.hpp                      |    31 -
 SRC/Boost/boost/smart_ptr/bad_weak_ptr.hpp         |    59 -
 SRC/Boost/boost/smart_ptr/detail/atomic_count.hpp  |   119 -
 .../boost/smart_ptr/detail/atomic_count_gcc.hpp    |    72 -
 .../smart_ptr/detail/atomic_count_gcc_x86.hpp      |    77 -
 .../smart_ptr/detail/atomic_count_pthreads.hpp     |    96 -
 .../boost/smart_ptr/detail/atomic_count_sync.hpp   |    61 -
 .../boost/smart_ptr/detail/atomic_count_win32.hpp  |    63 -
 .../boost/smart_ptr/detail/lightweight_mutex.hpp   |    42 -
 SRC/Boost/boost/smart_ptr/detail/lwm_nop.hpp       |    37 -
 SRC/Boost/boost/smart_ptr/detail/lwm_pthreads.hpp  |    87 -
 SRC/Boost/boost/smart_ptr/detail/lwm_win32_cs.hpp  |   108 -
 SRC/Boost/boost/smart_ptr/detail/operator_bool.hpp |    56 -
 .../boost/smart_ptr/detail/quick_allocator.hpp     |   199 -
 .../boost/smart_ptr/detail/shared_array_nmt.hpp    |   151 -
 SRC/Boost/boost/smart_ptr/detail/shared_count.hpp  |   532 -
 .../boost/smart_ptr/detail/shared_ptr_nmt.hpp      |   182 -
 .../boost/smart_ptr/detail/sp_convertible.hpp      |    76 -
 .../boost/smart_ptr/detail/sp_counted_base.hpp     |    70 -
 .../smart_ptr/detail/sp_counted_base_acc_ia64.hpp  |   150 -
 .../smart_ptr/detail/sp_counted_base_cw_ppc.hpp    |   170 -
 .../smart_ptr/detail/sp_counted_base_gcc_ia64.hpp  |   157 -
 .../smart_ptr/detail/sp_counted_base_gcc_mips.hpp  |   181 -
 .../smart_ptr/detail/sp_counted_base_gcc_ppc.hpp   |   181 -
 .../smart_ptr/detail/sp_counted_base_gcc_sparc.hpp |   166 -
 .../smart_ptr/detail/sp_counted_base_gcc_x86.hpp   |   173 -
 .../boost/smart_ptr/detail/sp_counted_base_nt.hpp  |   107 -
 .../boost/smart_ptr/detail/sp_counted_base_pt.hpp  |   135 -
 .../smart_ptr/detail/sp_counted_base_spin.hpp      |   131 -
 .../smart_ptr/detail/sp_counted_base_sync.hpp      |   155 -
 .../boost/smart_ptr/detail/sp_counted_base_w32.hpp |   130 -
 .../boost/smart_ptr/detail/sp_counted_impl.hpp     |   239 -
 SRC/Boost/boost/smart_ptr/detail/sp_has_sync.hpp   |    53 -
 SRC/Boost/boost/smart_ptr/detail/spinlock.hpp      |    56 -
 .../boost/smart_ptr/detail/spinlock_gcc_arm.hpp    |    85 -
 SRC/Boost/boost/smart_ptr/detail/spinlock_nt.hpp   |    89 -
 SRC/Boost/boost/smart_ptr/detail/spinlock_pool.hpp |    91 -
 SRC/Boost/boost/smart_ptr/detail/spinlock_pt.hpp   |    79 -
 SRC/Boost/boost/smart_ptr/detail/spinlock_sync.hpp |    87 -
 SRC/Boost/boost/smart_ptr/detail/spinlock_w32.hpp  |   113 -
 SRC/Boost/boost/smart_ptr/detail/yield_k.hpp       |   149 -
 .../boost/smart_ptr/enable_shared_from_this.hpp    |    79 -
 SRC/Boost/boost/smart_ptr/intrusive_ptr.hpp        |   290 -
 SRC/Boost/boost/smart_ptr/make_shared.hpp          |   981 -
 SRC/Boost/boost/smart_ptr/scoped_array.hpp         |   107 -
 SRC/Boost/boost/smart_ptr/scoped_ptr.hpp           |   131 -
 SRC/Boost/boost/smart_ptr/shared_array.hpp         |   165 -
 SRC/Boost/boost/smart_ptr/shared_ptr.hpp           |   712 -
 SRC/Boost/boost/smart_ptr/weak_ptr.hpp             |   246 -
 .../boost/spirit/home/classic/core/assert.hpp      |    38 -
 .../spirit/home/classic/core/composite/actions.hpp |   136 -
 .../home/classic/core/composite/alternative.hpp    |   147 -
 .../home/classic/core/composite/composite.hpp      |   151 -
 .../home/classic/core/composite/difference.hpp     |   150 -
 .../home/classic/core/composite/directives.hpp     |   607 -
 .../home/classic/core/composite/exclusive_or.hpp   |   142 -
 .../classic/core/composite/impl/alternative.ipp    |    90 -
 .../classic/core/composite/impl/difference.ipp     |    90 -
 .../classic/core/composite/impl/directives.ipp     |   374 -
 .../classic/core/composite/impl/exclusive_or.ipp   |    90 -
 .../classic/core/composite/impl/intersection.ipp   |    90 -
 .../classic/core/composite/impl/kleene_star.ipp    |    34 -
 .../home/classic/core/composite/impl/list.ipp      |    93 -
 .../home/classic/core/composite/impl/optional.ipp  |    34 -
 .../home/classic/core/composite/impl/positive.ipp  |    34 -
 .../home/classic/core/composite/impl/sequence.ipp  |    90 -
 .../classic/core/composite/impl/sequential_and.ipp |    90 -
 .../classic/core/composite/impl/sequential_or.ipp  |    90 -
 .../home/classic/core/composite/intersection.hpp   |   142 -
 .../home/classic/core/composite/kleene_star.hpp    |   109 -
 .../spirit/home/classic/core/composite/list.hpp    |    73 -
 .../home/classic/core/composite/operators.hpp      |    25 -
 .../home/classic/core/composite/optional.hpp       |    94 -
 .../home/classic/core/composite/positive.hpp       |   112 -
 .../home/classic/core/composite/sequence.hpp       |   142 -
 .../home/classic/core/composite/sequential_and.hpp |    76 -
 .../home/classic/core/composite/sequential_or.hpp  |   154 -
 .../boost/spirit/home/classic/core/config.hpp      |    62 -
 .../boost/spirit/home/classic/core/impl/match.ipp  |   113 -
 .../home/classic/core/impl/match_attr_traits.ipp   |   102 -
 .../boost/spirit/home/classic/core/impl/parser.ipp |    55 -
 SRC/Boost/boost/spirit/home/classic/core/match.hpp |   185 -
 SRC/Boost/boost/spirit/home/classic/core/nil.hpp   |    25 -
 .../home/classic/core/non_terminal/impl/rule.ipp   |   420 -
 .../classic/core/non_terminal/parser_context.hpp   |   150 -
 .../home/classic/core/non_terminal/parser_id.hpp   |   122 -
 .../spirit/home/classic/core/non_terminal/rule.hpp |   175 -
 .../boost/spirit/home/classic/core/parser.hpp      |   223 -
 .../home/classic/core/primitives/impl/numerics.ipp |   478 -
 .../classic/core/primitives/impl/primitives.ipp    |   476 -
 .../home/classic/core/primitives/numerics.hpp      |   289 -
 .../home/classic/core/primitives/numerics_fwd.hpp  |    88 -
 .../home/classic/core/primitives/primitives.hpp    |   654 -
 .../boost/spirit/home/classic/core/safe_bool.hpp   |    64 -
 .../home/classic/core/scanner/impl/skipper.ipp     |   181 -
 .../spirit/home/classic/core/scanner/scanner.hpp   |   329 -
 .../home/classic/core/scanner/scanner_fwd.hpp      |    52 -
 .../spirit/home/classic/core/scanner/skipper.hpp   |   197 -
 .../home/classic/core/scanner/skipper_fwd.hpp      |    32 -
 SRC/Boost/boost/spirit/home/classic/debug.hpp      |   154 -
 .../boost/spirit/home/classic/debug/debug_node.hpp |   319 -
 .../boost/spirit/home/classic/debug/minimal.hpp    |    81 -
 .../boost/spirit/home/classic/meta/as_parser.hpp   |   113 -
 SRC/Boost/boost/spirit/home/classic/namespace.hpp  |    35 -
 .../boost/spirit/home/classic/utility/chset.hpp    |   187 -
 .../home/classic/utility/chset_operators.hpp       |   402 -
 .../spirit/home/classic/utility/impl/chset.ipp     |   366 -
 .../classic/utility/impl/chset/basic_chset.hpp     |   107 -
 .../classic/utility/impl/chset/basic_chset.ipp     |   246 -
 .../home/classic/utility/impl/chset/range_run.hpp  |   127 -
 .../home/classic/utility/impl/chset/range_run.ipp  |   218 -
 .../home/classic/utility/impl/chset_operators.ipp  |   666 -
 SRC/Boost/boost/spirit/home/classic/version.hpp    |    30 -
 SRC/Boost/boost/spirit/include/classic_actions.hpp |    12 -
 SRC/Boost/boost/spirit/include/classic_chset.hpp   |    12 -
 .../boost/spirit/include/classic_numerics.hpp      |    12 -
 .../boost/spirit/include/classic_operators.hpp     |    12 -
 SRC/Boost/boost/spirit/include/classic_rule.hpp    |    12 -
 SRC/Boost/boost/static_assert.hpp                  |   138 -
 SRC/Boost/boost/swap.hpp                           |    12 -
 SRC/Boost/boost/system/api_config.hpp              |    42 -
 SRC/Boost/boost/system/config.hpp                  |    52 -
 SRC/Boost/boost/system/error_code.hpp              |   513 -
 SRC/Boost/boost/system/system_error.hpp            |    80 -
 SRC/Boost/boost/test/debug.hpp                     |   101 -
 SRC/Boost/boost/test/debug_config.hpp              |    24 -
 SRC/Boost/boost/test/detail/config.hpp             |   104 -
 SRC/Boost/boost/test/detail/enable_warnings.hpp    |    30 -
 SRC/Boost/boost/test/detail/fwd_decl.hpp           |    48 -
 SRC/Boost/boost/test/detail/global_typedef.hpp     |    88 -
 SRC/Boost/boost/test/detail/log_level.hpp          |    43 -
 SRC/Boost/boost/test/detail/suppress_warnings.hpp  |    31 -
 .../boost/test/detail/unit_test_parameters.hpp     |    69 -
 SRC/Boost/boost/test/detail/workaround.hpp         |    65 -
 SRC/Boost/boost/test/execution_monitor.hpp         |   263 -
 SRC/Boost/boost/test/floating_point_comparison.hpp |   286 -
 SRC/Boost/boost/test/framework.hpp                 |   112 -
 .../boost/test/impl/compiler_log_formatter.ipp     |   222 -
 SRC/Boost/boost/test/impl/cpp_main.ipp             |   139 -
 SRC/Boost/boost/test/impl/debug.ipp                |   970 -
 SRC/Boost/boost/test/impl/exception_safety.ipp     |   537 -
 SRC/Boost/boost/test/impl/execution_monitor.ipp    |  1367 --
 SRC/Boost/boost/test/impl/framework.ipp            |   503 -
 SRC/Boost/boost/test/impl/interaction_based.ipp    |    90 -
 SRC/Boost/boost/test/impl/logged_expectations.ipp  |   246 -
 .../boost/test/impl/plain_report_formatter.ipp     |   198 -
 SRC/Boost/boost/test/impl/progress_monitor.ipp     |   110 -
 SRC/Boost/boost/test/impl/results_collector.ipp    |   294 -
 SRC/Boost/boost/test/impl/results_reporter.ipp     |   202 -
 SRC/Boost/boost/test/impl/test_main.ipp            |    68 -
 SRC/Boost/boost/test/impl/test_tools.ipp           |   628 -
 SRC/Boost/boost/test/impl/unit_test_log.ipp        |   444 -
 SRC/Boost/boost/test/impl/unit_test_main.ipp       |   246 -
 SRC/Boost/boost/test/impl/unit_test_monitor.ipp    |   101 -
 SRC/Boost/boost/test/impl/unit_test_parameters.ipp |   527 -
 SRC/Boost/boost/test/impl/unit_test_suite.ipp      |   346 -
 SRC/Boost/boost/test/impl/xml_log_formatter.ipp    |   180 -
 SRC/Boost/boost/test/impl/xml_report_formatter.ipp |   115 -
 SRC/Boost/boost/test/included/prg_exec_monitor.hpp |    25 -
 SRC/Boost/boost/test/interaction_based.hpp         |   262 -
 SRC/Boost/boost/test/minimal.hpp                   |   143 -
 SRC/Boost/boost/test/mock_object.hpp               |   328 -
 .../boost/test/output/compiler_log_formatter.hpp   |    68 -
 .../boost/test/output/plain_report_formatter.hpp   |    62 -
 SRC/Boost/boost/test/output/xml_log_formatter.hpp  |    72 -
 .../boost/test/output/xml_report_formatter.hpp     |    58 -
 SRC/Boost/boost/test/output_test_stream.hpp        |    78 -
 SRC/Boost/boost/test/predicate_result.hpp          |    88 -
 SRC/Boost/boost/test/prg_exec_monitor.hpp          |    68 -
 SRC/Boost/boost/test/progress_monitor.hpp          |    70 -
 SRC/Boost/boost/test/results_collector.hpp         |   112 -
 SRC/Boost/boost/test/results_reporter.hpp          |    88 -
 SRC/Boost/boost/test/test_observer.hpp             |    65 -
 SRC/Boost/boost/test/test_tools.hpp                |   719 -
 SRC/Boost/boost/test/unit_test.hpp                 |    66 -
 SRC/Boost/boost/test/unit_test_log.hpp             |   177 -
 SRC/Boost/boost/test/unit_test_log_formatter.hpp   |   123 -
 SRC/Boost/boost/test/unit_test_monitor.hpp         |    69 -
 SRC/Boost/boost/test/unit_test_suite.hpp           |   245 -
 SRC/Boost/boost/test/unit_test_suite_impl.hpp      |   434 -
 SRC/Boost/boost/test/utils/algorithm.hpp           |   228 -
 SRC/Boost/boost/test/utils/assign_op.hpp           |    41 -
 .../test/utils/basic_cstring/basic_cstring.hpp     |   731 -
 .../test/utils/basic_cstring/basic_cstring_fwd.hpp |    40 -
 .../test/utils/basic_cstring/bcs_char_traits.hpp   |   150 -
 .../boost/test/utils/basic_cstring/compare.hpp     |   115 -
 SRC/Boost/boost/test/utils/basic_cstring/io.hpp    |    73 -
 SRC/Boost/boost/test/utils/callback.hpp            |   310 -
 SRC/Boost/boost/test/utils/class_properties.hpp    |   221 -
 SRC/Boost/boost/test/utils/custom_manip.hpp        |    63 -
 SRC/Boost/boost/test/utils/fixed_mapping.hpp       |   124 -
 SRC/Boost/boost/test/utils/foreach.hpp             |   281 -
 .../test/utils/iterator/input_iterator_facade.hpp  |   109 -
 .../boost/test/utils/iterator/token_iterator.hpp   |   418 -
 SRC/Boost/boost/test/utils/lazy_ostream.hpp        |   114 -
 SRC/Boost/boost/test/utils/named_params.hpp        |   329 -
 SRC/Boost/boost/test/utils/rtti.hpp                |    64 -
 SRC/Boost/boost/test/utils/runtime/argument.hpp    |   112 -
 .../test/utils/runtime/cla/argument_factory.hpp    |   218 -
 .../test/utils/runtime/cla/argv_traverser.hpp      |    98 -
 .../test/utils/runtime/cla/argv_traverser.ipp      |   209 -
 .../test/utils/runtime/cla/basic_parameter.hpp     |    85 -
 .../test/utils/runtime/cla/char_parameter.hpp      |    98 -
 .../test/utils/runtime/cla/char_parameter.ipp      |    57 -
 .../runtime/cla/detail/argument_value_usage.hpp    |    82 -
 .../test/utils/runtime/cla/dual_name_parameter.hpp |    96 -
 .../test/utils/runtime/cla/dual_name_parameter.ipp |    90 -
 SRC/Boost/boost/test/utils/runtime/cla/fwd.hpp     |    55 -
 .../boost/test/utils/runtime/cla/id_policy.hpp     |   145 -
 .../boost/test/utils/runtime/cla/id_policy.ipp     |   118 -
 .../utils/runtime/cla/iface/argument_factory.hpp   |    51 -
 .../test/utils/runtime/cla/iface/id_policy.hpp     |    73 -
 .../boost/test/utils/runtime/cla/modifier.hpp      |    69 -
 .../test/utils/runtime/cla/named_parameter.hpp     |    93 -
 .../test/utils/runtime/cla/named_parameter.ipp     |   129 -
 .../boost/test/utils/runtime/cla/parameter.hpp     |   150 -
 SRC/Boost/boost/test/utils/runtime/cla/parser.hpp  |   153 -
 SRC/Boost/boost/test/utils/runtime/cla/parser.ipp  |   258 -
 .../test/utils/runtime/cla/typed_parameter.hpp     |    70 -
 .../boost/test/utils/runtime/cla/validation.hpp    |    55 -
 .../boost/test/utils/runtime/cla/validation.ipp    |    65 -
 .../test/utils/runtime/cla/value_generator.hpp     |    81 -
 .../boost/test/utils/runtime/cla/value_handler.hpp |    57 -
 SRC/Boost/boost/test/utils/runtime/config.hpp      |   156 -
 .../boost/test/utils/runtime/env/environment.hpp   |   172 -
 .../boost/test/utils/runtime/env/environment.ipp   |   125 -
 SRC/Boost/boost/test/utils/runtime/env/fwd.hpp     |    54 -
 .../boost/test/utils/runtime/env/modifier.hpp      |    47 -
 .../boost/test/utils/runtime/env/variable.hpp      |   223 -
 SRC/Boost/boost/test/utils/runtime/fwd.hpp         |    41 -
 .../utils/runtime/interpret_argument_value.hpp     |   163 -
 SRC/Boost/boost/test/utils/runtime/parameter.hpp   |    38 -
 SRC/Boost/boost/test/utils/runtime/trace.hpp       |    30 -
 SRC/Boost/boost/test/utils/runtime/validation.hpp  |    82 -
 SRC/Boost/boost/test/utils/trivial_singleton.hpp   |    74 -
 SRC/Boost/boost/test/utils/wrap_stringstream.hpp   |   164 -
 SRC/Boost/boost/test/utils/xml_printer.hpp         |   118 -
 SRC/Boost/boost/throw_exception.hpp                |    91 -
 SRC/Boost/boost/timer.hpp                          |    72 -
 SRC/Boost/boost/tr1/detail/config.hpp              |   169 -
 SRC/Boost/boost/tuple/detail/tuple_basic.hpp       |   980 -
 .../tuple/detail/tuple_basic_no_partial_spec.hpp   |   865 -
 SRC/Boost/boost/tuple/tuple.hpp                    |    90 -
 SRC/Boost/boost/type.hpp                           |    18 -
 SRC/Boost/boost/type_traits.hpp                    |    96 -
 SRC/Boost/boost/type_traits/add_const.hpp          |    47 -
 SRC/Boost/boost/type_traits/add_cv.hpp             |    48 -
 .../boost/type_traits/add_lvalue_reference.hpp     |    26 -
 SRC/Boost/boost/type_traits/add_pointer.hpp        |    72 -
 SRC/Boost/boost/type_traits/add_reference.hpp      |   107 -
 .../boost/type_traits/add_rvalue_reference.hpp     |    66 -
 SRC/Boost/boost/type_traits/add_volatile.hpp       |    47 -
 SRC/Boost/boost/type_traits/aligned_storage.hpp    |    13 -
 SRC/Boost/boost/type_traits/alignment_of.hpp       |   128 -
 SRC/Boost/boost/type_traits/alignment_traits.hpp   |    15 -
 SRC/Boost/boost/type_traits/arithmetic_traits.hpp  |    20 -
 SRC/Boost/boost/type_traits/array_traits.hpp       |    15 -
 .../boost/type_traits/broken_compiler_spec.hpp     |   117 -
 SRC/Boost/boost/type_traits/common_type.hpp        |   158 -
 SRC/Boost/boost/type_traits/composite_traits.hpp   |    29 -
 SRC/Boost/boost/type_traits/conditional.hpp        |    25 -
 SRC/Boost/boost/type_traits/config.hpp             |    76 -
 SRC/Boost/boost/type_traits/conversion_traits.hpp  |    17 -
 SRC/Boost/boost/type_traits/cv_traits.hpp          |    24 -
 SRC/Boost/boost/type_traits/decay.hpp              |    44 -
 .../boost/type_traits/detail/bool_trait_def.hpp    |   196 -
 .../boost/type_traits/detail/bool_trait_undef.hpp  |    28 -
 .../boost/type_traits/detail/common_type_imp.hpp   |   333 -
 .../boost/type_traits/detail/cv_traits_impl.hpp    |    97 -
 .../boost/type_traits/detail/false_result.hpp      |    28 -
 .../type_traits/detail/has_binary_operator.hpp     |   229 -
 .../type_traits/detail/has_postfix_operator.hpp    |   202 -
 .../type_traits/detail/has_prefix_operator.hpp     |   210 -
 SRC/Boost/boost/type_traits/detail/ice_and.hpp     |    35 -
 SRC/Boost/boost/type_traits/detail/ice_eq.hpp      |    36 -
 SRC/Boost/boost/type_traits/detail/ice_not.hpp     |    31 -
 SRC/Boost/boost/type_traits/detail/ice_or.hpp      |    34 -
 .../type_traits/detail/is_function_ptr_helper.hpp  |   220 -
 .../type_traits/detail/is_function_ptr_tester.hpp  |   654 -
 .../type_traits/detail/is_mem_fun_pointer_impl.hpp |   817 -
 .../detail/is_mem_fun_pointer_tester.hpp           |  2759 ---
 .../boost/type_traits/detail/size_t_trait_def.hpp  |    60 -
 .../type_traits/detail/size_t_trait_undef.hpp      |    16 -
 .../type_traits/detail/template_arity_spec.hpp     |    31 -
 .../boost/type_traits/detail/type_trait_def.hpp    |    67 -
 .../boost/type_traits/detail/type_trait_undef.hpp  |    19 -
 SRC/Boost/boost/type_traits/detail/wrap.hpp        |    18 -
 SRC/Boost/boost/type_traits/detail/yes_no_type.hpp |    26 -
 SRC/Boost/boost/type_traits/extent.hpp             |   145 -
 .../boost/type_traits/floating_point_promotion.hpp |    91 -
 SRC/Boost/boost/type_traits/function_traits.hpp    |   236 -
 SRC/Boost/boost/type_traits/has_bit_and.hpp        |    49 -
 SRC/Boost/boost/type_traits/has_bit_and_assign.hpp |    55 -
 SRC/Boost/boost/type_traits/has_bit_or.hpp         |    49 -
 SRC/Boost/boost/type_traits/has_bit_or_assign.hpp  |    55 -
 SRC/Boost/boost/type_traits/has_bit_xor.hpp        |    49 -
 SRC/Boost/boost/type_traits/has_bit_xor_assign.hpp |    55 -
 SRC/Boost/boost/type_traits/has_complement.hpp     |    32 -
 SRC/Boost/boost/type_traits/has_dereference.hpp    |    31 -
 SRC/Boost/boost/type_traits/has_divides.hpp        |    40 -
 SRC/Boost/boost/type_traits/has_divides_assign.hpp |    47 -
 SRC/Boost/boost/type_traits/has_equal_to.hpp       |    49 -
 SRC/Boost/boost/type_traits/has_greater.hpp        |    49 -
 SRC/Boost/boost/type_traits/has_greater_equal.hpp  |    49 -
 SRC/Boost/boost/type_traits/has_left_shift.hpp     |    49 -
 .../boost/type_traits/has_left_shift_assign.hpp    |    55 -
 SRC/Boost/boost/type_traits/has_less.hpp           |    49 -
 SRC/Boost/boost/type_traits/has_less_equal.hpp     |    49 -
 SRC/Boost/boost/type_traits/has_logical_and.hpp    |    40 -
 SRC/Boost/boost/type_traits/has_logical_not.hpp    |    23 -
 SRC/Boost/boost/type_traits/has_logical_or.hpp     |    40 -
 SRC/Boost/boost/type_traits/has_minus.hpp          |    60 -
 SRC/Boost/boost/type_traits/has_minus_assign.hpp   |    65 -
 SRC/Boost/boost/type_traits/has_modulus.hpp        |    49 -
 SRC/Boost/boost/type_traits/has_modulus_assign.hpp |    55 -
 SRC/Boost/boost/type_traits/has_multiplies.hpp     |    40 -
 .../boost/type_traits/has_multiplies_assign.hpp    |    47 -
 SRC/Boost/boost/type_traits/has_negate.hpp         |    25 -
 SRC/Boost/boost/type_traits/has_new_operator.hpp   |   140 -
 SRC/Boost/boost/type_traits/has_not_equal_to.hpp   |    49 -
 SRC/Boost/boost/type_traits/has_nothrow_assign.hpp |    44 -
 .../boost/type_traits/has_nothrow_constructor.hpp  |    53 -
 SRC/Boost/boost/type_traits/has_nothrow_copy.hpp   |    53 -
 .../boost/type_traits/has_nothrow_destructor.hpp   |    25 -
 SRC/Boost/boost/type_traits/has_operator.hpp       |    51 -
 SRC/Boost/boost/type_traits/has_plus.hpp           |    54 -
 SRC/Boost/boost/type_traits/has_plus_assign.hpp    |    66 -
 SRC/Boost/boost/type_traits/has_post_decrement.hpp |    40 -
 SRC/Boost/boost/type_traits/has_post_increment.hpp |    40 -
 SRC/Boost/boost/type_traits/has_pre_decrement.hpp  |    40 -
 SRC/Boost/boost/type_traits/has_pre_increment.hpp  |    40 -
 SRC/Boost/boost/type_traits/has_right_shift.hpp    |    49 -
 .../boost/type_traits/has_right_shift_assign.hpp   |    55 -
 SRC/Boost/boost/type_traits/has_trivial_assign.hpp |    57 -
 .../boost/type_traits/has_trivial_constructor.hpp  |    51 -
 SRC/Boost/boost/type_traits/has_trivial_copy.hpp   |    64 -
 .../boost/type_traits/has_trivial_destructor.hpp   |    49 -
 SRC/Boost/boost/type_traits/has_unary_minus.hpp    |    25 -
 SRC/Boost/boost/type_traits/has_unary_plus.hpp     |    23 -
 .../boost/type_traits/has_virtual_destructor.hpp   |    29 -
 SRC/Boost/boost/type_traits/ice.hpp                |    20 -
 SRC/Boost/boost/type_traits/integral_constant.hpp  |    53 -
 SRC/Boost/boost/type_traits/integral_promotion.hpp |   195 -
 SRC/Boost/boost/type_traits/intrinsics.hpp         |   288 -
 SRC/Boost/boost/type_traits/is_abstract.hpp        |   153 -
 SRC/Boost/boost/type_traits/is_arithmetic.hpp      |    51 -
 SRC/Boost/boost/type_traits/is_array.hpp           |    91 -
 .../boost/type_traits/is_base_and_derived.hpp      |   254 -
 SRC/Boost/boost/type_traits/is_base_of.hpp         |    51 -
 SRC/Boost/boost/type_traits/is_base_of_tr1.hpp     |    50 -
 SRC/Boost/boost/type_traits/is_class.hpp           |   140 -
 SRC/Boost/boost/type_traits/is_complex.hpp         |    34 -
 SRC/Boost/boost/type_traits/is_compound.hpp        |    46 -
 SRC/Boost/boost/type_traits/is_const.hpp           |   165 -
 SRC/Boost/boost/type_traits/is_convertible.hpp     |   431 -
 SRC/Boost/boost/type_traits/is_empty.hpp           |   229 -
 SRC/Boost/boost/type_traits/is_enum.hpp            |   189 -
 SRC/Boost/boost/type_traits/is_float.hpp           |    27 -
 SRC/Boost/boost/type_traits/is_floating_point.hpp  |    27 -
 SRC/Boost/boost/type_traits/is_function.hpp        |   106 -
 SRC/Boost/boost/type_traits/is_fundamental.hpp     |    45 -
 SRC/Boost/boost/type_traits/is_integral.hpp        |    78 -
 .../boost/type_traits/is_lvalue_reference.hpp      |   118 -
 .../type_traits/is_member_function_pointer.hpp     |   136 -
 .../boost/type_traits/is_member_object_pointer.hpp |    46 -
 SRC/Boost/boost/type_traits/is_member_pointer.hpp  |   116 -
 SRC/Boost/boost/type_traits/is_object.hpp          |    53 -
 SRC/Boost/boost/type_traits/is_pod.hpp             |   143 -
 SRC/Boost/boost/type_traits/is_pointer.hpp         |   162 -
 SRC/Boost/boost/type_traits/is_polymorphic.hpp     |   114 -
 SRC/Boost/boost/type_traits/is_reference.hpp       |    45 -
 .../boost/type_traits/is_rvalue_reference.hpp      |    29 -
 SRC/Boost/boost/type_traits/is_same.hpp            |   103 -
 SRC/Boost/boost/type_traits/is_scalar.hpp          |    55 -
 SRC/Boost/boost/type_traits/is_signed.hpp          |   140 -
 SRC/Boost/boost/type_traits/is_stateless.hpp       |    48 -
 SRC/Boost/boost/type_traits/is_union.hpp           |    57 -
 SRC/Boost/boost/type_traits/is_unsigned.hpp        |   135 -
 SRC/Boost/boost/type_traits/is_virtual_base_of.hpp |   104 -
 SRC/Boost/boost/type_traits/is_void.hpp            |    38 -
 SRC/Boost/boost/type_traits/is_volatile.hpp        |   152 -
 SRC/Boost/boost/type_traits/make_signed.hpp        |   137 -
 SRC/Boost/boost/type_traits/make_unsigned.hpp      |   137 -
 .../boost/type_traits/msvc/remove_all_extents.hpp  |    47 -
 SRC/Boost/boost/type_traits/msvc/remove_bounds.hpp |    43 -
 SRC/Boost/boost/type_traits/msvc/remove_const.hpp  |   143 -
 SRC/Boost/boost/type_traits/msvc/remove_cv.hpp     |   190 -
 SRC/Boost/boost/type_traits/msvc/remove_extent.hpp |    43 -
 .../boost/type_traits/msvc/remove_pointer.hpp      |    42 -
 .../boost/type_traits/msvc/remove_reference.hpp    |    42 -
 .../boost/type_traits/msvc/remove_volatile.hpp     |   143 -
 SRC/Boost/boost/type_traits/msvc/typeof.hpp        |    50 -
 SRC/Boost/boost/type_traits/object_traits.hpp      |    33 -
 SRC/Boost/boost/type_traits/promote.hpp            |    40 -
 SRC/Boost/boost/type_traits/rank.hpp               |    89 -
 SRC/Boost/boost/type_traits/reference_traits.hpp   |    15 -
 SRC/Boost/boost/type_traits/remove_all_extents.hpp |    48 -
 SRC/Boost/boost/type_traits/remove_bounds.hpp      |    48 -
 SRC/Boost/boost/type_traits/remove_const.hpp       |    90 -
 SRC/Boost/boost/type_traits/remove_cv.hpp          |    84 -
 SRC/Boost/boost/type_traits/remove_extent.hpp      |    48 -
 SRC/Boost/boost/type_traits/remove_pointer.hpp     |    92 -
 SRC/Boost/boost/type_traits/remove_reference.hpp   |    70 -
 SRC/Boost/boost/type_traits/remove_volatile.hpp    |    88 -
 SRC/Boost/boost/type_traits/same_traits.hpp        |    15 -
 SRC/Boost/boost/type_traits/transform_traits.hpp   |    21 -
 .../boost/type_traits/transform_traits_spec.hpp    |    14 -
 .../boost/type_traits/type_with_alignment.hpp      |   393 -
 SRC/Boost/boost/typeof/dmc/typeof_impl.hpp         |   100 -
 SRC/Boost/boost/typeof/encode_decode.hpp           |    61 -
 SRC/Boost/boost/typeof/encode_decode_params.hpp    |    34 -
 SRC/Boost/boost/typeof/int_encoding.hpp            |   118 -
 SRC/Boost/boost/typeof/integral_template_param.hpp |    80 -
 SRC/Boost/boost/typeof/message.hpp                 |     8 -
 SRC/Boost/boost/typeof/modifiers.hpp               |   121 -
 SRC/Boost/boost/typeof/msvc/typeof_impl.hpp        |   283 -
 SRC/Boost/boost/typeof/native.hpp                  |    60 -
 SRC/Boost/boost/typeof/pointers_data_members.hpp   |    38 -
 SRC/Boost/boost/typeof/register_functions.hpp      |    50 -
 .../boost/typeof/register_functions_iterate.hpp    |   135 -
 SRC/Boost/boost/typeof/register_fundamental.hpp    |    62 -
 SRC/Boost/boost/typeof/register_mem_functions.hpp  |    32 -
 SRC/Boost/boost/typeof/template_encoding.hpp       |   160 -
 SRC/Boost/boost/typeof/template_template_param.hpp |   149 -
 SRC/Boost/boost/typeof/type_encoding.hpp           |    27 -
 SRC/Boost/boost/typeof/type_template_param.hpp     |    37 -
 SRC/Boost/boost/typeof/typeof.hpp                  |   218 -
 SRC/Boost/boost/typeof/typeof_impl.hpp             |   186 -
 SRC/Boost/boost/typeof/unsupported.hpp             |    29 -
 SRC/Boost/boost/typeof/vector.hpp                  |   166 -
 SRC/Boost/boost/typeof/vector100.hpp               |   321 -
 SRC/Boost/boost/typeof/vector150.hpp               |   471 -
 SRC/Boost/boost/typeof/vector200.hpp               |   621 -
 SRC/Boost/boost/typeof/vector50.hpp                |   171 -
 SRC/Boost/boost/units/detail/utility.hpp           |   104 -
 .../boost/unordered/detail/allocator_helpers.hpp   |   518 -
 SRC/Boost/boost/unordered/detail/buckets.hpp       |   667 -
 SRC/Boost/boost/unordered/detail/emplace_args.hpp  |   423 -
 SRC/Boost/boost/unordered/detail/equivalent.hpp    |   827 -
 SRC/Boost/boost/unordered/detail/extract_key.hpp   |   221 -
 SRC/Boost/boost/unordered/detail/fwd.hpp           |    53 -
 SRC/Boost/boost/unordered/detail/table.hpp         |   685 -
 SRC/Boost/boost/unordered/detail/unique.hpp        |   706 -
 SRC/Boost/boost/unordered/detail/util.hpp          |   260 -
 SRC/Boost/boost/unordered/unordered_map.hpp        |  1462 --
 SRC/Boost/boost/unordered/unordered_map_fwd.hpp    |    47 -
 SRC/Boost/boost/unordered/unordered_set.hpp        |  1358 --
 SRC/Boost/boost/unordered/unordered_set_fwd.hpp    |    47 -
 SRC/Boost/boost/unordered_map.hpp                  |    18 -
 SRC/Boost/boost/unordered_set.hpp                  |    18 -
 SRC/Boost/boost/utility.hpp                        |    20 -
 SRC/Boost/boost/utility/addressof.hpp              |   102 -
 SRC/Boost/boost/utility/base_from_member.hpp       |    87 -
 SRC/Boost/boost/utility/binary.hpp                 |   708 -
 SRC/Boost/boost/utility/compare_pointees.hpp       |    68 -
 SRC/Boost/boost/utility/declval.hpp                |    44 -
 .../utility/detail/in_place_factory_prefix.hpp     |    36 -
 .../utility/detail/in_place_factory_suffix.hpp     |    23 -
 .../boost/utility/detail/result_of_iterate.hpp     |   148 -
 SRC/Boost/boost/utility/enable_if.hpp              |   119 -
 SRC/Boost/boost/utility/in_place_factory.hpp       |    88 -
 SRC/Boost/boost/utility/result_of.hpp              |   100 -
 SRC/Boost/boost/utility/swap.hpp                   |    55 -
 SRC/Boost/boost/utility/value_init.hpp             |   258 -
 SRC/Boost/boost/uuid/random_generator.hpp          |   119 -
 SRC/Boost/boost/uuid/seed_rng.hpp                  |   261 -
 SRC/Boost/boost/uuid/sha1.hpp                      |   208 -
 SRC/Boost/boost/uuid/uuid.hpp                      |   221 -
 SRC/Boost/boost/uuid/uuid_io.hpp                   |   198 -
 SRC/Boost/boost/variant.hpp                        |    27 -
 SRC/Boost/boost/variant/apply_visitor.hpp          |    20 -
 SRC/Boost/boost/variant/bad_visit.hpp              |    41 -
 .../boost/variant/detail/apply_visitor_binary.hpp  |   182 -
 .../boost/variant/detail/apply_visitor_delayed.hpp |    88 -
 .../boost/variant/detail/apply_visitor_unary.hpp   |    83 -
 SRC/Boost/boost/variant/detail/backup_holder.hpp   |    94 -
 SRC/Boost/boost/variant/detail/bool_trait_def.hpp  |    30 -
 .../boost/variant/detail/bool_trait_undef.hpp      |    21 -
 SRC/Boost/boost/variant/detail/cast_storage.hpp    |    48 -
 SRC/Boost/boost/variant/detail/config.hpp          |    38 -
 .../boost/variant/detail/enable_recursive.hpp      |   162 -
 .../boost/variant/detail/enable_recursive_fwd.hpp  |   116 -
 SRC/Boost/boost/variant/detail/forced_return.hpp   |   104 -
 .../boost/variant/detail/generic_result_type.hpp   |    88 -
 .../boost/variant/detail/has_nothrow_move.hpp      |   106 -
 .../boost/variant/detail/has_trivial_move.hpp      |   100 -
 SRC/Boost/boost/variant/detail/initializer.hpp     |   265 -
 .../boost/variant/detail/make_variant_list.hpp     |    60 -
 SRC/Boost/boost/variant/detail/move.hpp            |   166 -
 SRC/Boost/boost/variant/detail/over_sequence.hpp   |    95 -
 SRC/Boost/boost/variant/detail/substitute.hpp      |   231 -
 SRC/Boost/boost/variant/detail/substitute_fwd.hpp  |    59 -
 SRC/Boost/boost/variant/detail/variant_io.hpp      |    95 -
 SRC/Boost/boost/variant/detail/visitation_impl.hpp |   295 -
 SRC/Boost/boost/variant/get.hpp                    |   202 -
 SRC/Boost/boost/variant/recursive_variant.hpp      |   193 -
 SRC/Boost/boost/variant/recursive_wrapper.hpp      |   123 -
 SRC/Boost/boost/variant/recursive_wrapper_fwd.hpp  |   147 -
 SRC/Boost/boost/variant/static_visitor.hpp         |    97 -
 SRC/Boost/boost/variant/variant.hpp                |  1895 --
 SRC/Boost/boost/variant/variant_fwd.hpp            |   253 -
 SRC/Boost/boost/variant/visitor_ptr.hpp            |   116 -
 SRC/Boost/boost/version.hpp                        |    35 -
 SRC/Boost/boost/visit_each.hpp                     |    29 -
 SRC/Boost/boost/weak_ptr.hpp                       |    18 -
 SRC/Boost/boostcpp.jam                             |   575 -
 SRC/Boost/bootstrap.bat                            |    81 -
 SRC/Boost/bootstrap.sh                             |   382 -
 SRC/Boost/edit-header-for-openmeca.sh              |    11 -
 SRC/Boost/libs/assign/doc/email_example.html       |   174 -
 SRC/Boost/libs/assign/doc/index.html               |  1432 --
 .../libs/assign/doc/multi_index_container.html     |   185 -
 SRC/Boost/libs/assign/doc/my_vector_example.html   |   131 -
 SRC/Boost/libs/assign/doc/style.css                |    30 -
 SRC/Boost/libs/assign/index.html                   |    24 -
 SRC/Boost/libs/assign/test/Jamfile.v2              |    34 -
 SRC/Boost/libs/assign/test/array.cpp               |    84 -
 SRC/Boost/libs/assign/test/basic.cpp               |    49 -
 SRC/Boost/libs/assign/test/email_example.cpp       |   155 -
 SRC/Boost/libs/assign/test/list_inserter.cpp       |   161 -
 SRC/Boost/libs/assign/test/list_of.cpp             |   300 -
 SRC/Boost/libs/assign/test/list_of_workaround.cpp  |    58 -
 .../libs/assign/test/multi_index_container.cpp     |   168 -
 SRC/Boost/libs/assign/test/my_vector_example.cpp   |   115 -
 SRC/Boost/libs/assign/test/ptr_list_inserter.cpp   |   106 -
 SRC/Boost/libs/assign/test/ptr_list_of.cpp         |    75 -
 SRC/Boost/libs/assign/test/ptr_map_inserter.cpp    |    99 -
 SRC/Boost/libs/assign/test/static_list_of.cpp      |    98 -
 SRC/Boost/libs/assign/test/std.cpp                 |   219 -
 SRC/Boost/libs/assign/test/tuple_list_of.cpp       |    54 -
 SRC/Boost/libs/bind/bind.html                      |   997 -
 SRC/Boost/libs/bind/bind_as_compose.cpp            |    76 -
 SRC/Boost/libs/bind/bind_visitor.cpp               |    65 -
 SRC/Boost/libs/bind/doc/Jamfile.v2                 |    14 -
 SRC/Boost/libs/bind/doc/ref.xml                    |   262 -
 SRC/Boost/libs/bind/index.html                     |    16 -
 SRC/Boost/libs/bind/mem_fn.html                    |   406 -
 SRC/Boost/libs/bind/ref.html                       |    15 -
 SRC/Boost/libs/bind/test/Jamfile.v2                |    47 -
 SRC/Boost/libs/bind/test/bind_and_or_test.cpp      |    84 -
 SRC/Boost/libs/bind/test/bind_cdecl_mf_test.cpp    |   164 -
 SRC/Boost/libs/bind/test/bind_const_test.cpp       |   184 -
 SRC/Boost/libs/bind/test/bind_cv_test.cpp          |   158 -
 SRC/Boost/libs/bind/test/bind_dm2_test.cpp         |    70 -
 SRC/Boost/libs/bind/test/bind_dm3_test.cpp         |    46 -
 SRC/Boost/libs/bind/test/bind_dm_test.cpp          |    73 -
 SRC/Boost/libs/bind/test/bind_eq2_test.cpp         |    49 -
 SRC/Boost/libs/bind/test/bind_eq3_test.cpp         |    45 -
 SRC/Boost/libs/bind/test/bind_eq_test.cpp          |   427 -
 SRC/Boost/libs/bind/test/bind_fastcall_mf_test.cpp |   164 -
 SRC/Boost/libs/bind/test/bind_fastcall_test.cpp    |   110 -
 SRC/Boost/libs/bind/test/bind_fn2_test.cpp         |   171 -
 SRC/Boost/libs/bind/test/bind_fnobj2_test.cpp      |    76 -
 SRC/Boost/libs/bind/test/bind_function_test.cpp    |    77 -
 .../libs/bind/test/bind_lookup_problem_test.cpp    |    40 -
 SRC/Boost/libs/bind/test/bind_mf2_test.cpp         |   162 -
 SRC/Boost/libs/bind/test/bind_not_test.cpp         |    57 -
 SRC/Boost/libs/bind/test/bind_placeholder_test.cpp |    83 -
 SRC/Boost/libs/bind/test/bind_ref_test.cpp         |    36 -
 SRC/Boost/libs/bind/test/bind_rel_test.cpp         |    97 -
 SRC/Boost/libs/bind/test/bind_rv_sp_test.cpp       |    64 -
 SRC/Boost/libs/bind/test/bind_rvalue_test.cpp      |    81 -
 SRC/Boost/libs/bind/test/bind_stateful_test.cpp    |   222 -
 SRC/Boost/libs/bind/test/bind_stdcall_mf_test.cpp  |   164 -
 SRC/Boost/libs/bind/test/bind_stdcall_test.cpp     |   110 -
 SRC/Boost/libs/bind/test/bind_test.cpp             |   521 -
 SRC/Boost/libs/bind/test/bind_unary_addr.cpp       |   147 -
 SRC/Boost/libs/bind/test/bind_visit_test.cpp       |    68 -
 SRC/Boost/libs/bind/test/mem_fn_cdecl_test.cpp     |   186 -
 SRC/Boost/libs/bind/test/mem_fn_derived_test.cpp   |   188 -
 SRC/Boost/libs/bind/test/mem_fn_dm_test.cpp        |    67 -
 SRC/Boost/libs/bind/test/mem_fn_eq_test.cpp        |   300 -
 SRC/Boost/libs/bind/test/mem_fn_fastcall_test.cpp  |   186 -
 SRC/Boost/libs/bind/test/mem_fn_ref_test.cpp       |    36 -
 SRC/Boost/libs/bind/test/mem_fn_rv_test.cpp        |   117 -
 SRC/Boost/libs/bind/test/mem_fn_stdcall_test.cpp   |   186 -
 SRC/Boost/libs/bind/test/mem_fn_test.cpp           |   184 -
 .../libs/bind/test/mem_fn_unary_addr_test.cpp      |   151 -
 SRC/Boost/libs/bind/test/mem_fn_void_test.cpp      |   184 -
 SRC/Boost/libs/bind/test/protect_test.cpp          |   281 -
 SRC/Boost/libs/bind/test/ref_fn_test.cpp           |    81 -
 SRC/Boost/libs/config/config.htm                   |    15 -
 SRC/Boost/libs/config/configure                    |  3894 ---
 SRC/Boost/libs/config/doc/Jamfile.v2               |    61 -
 SRC/Boost/libs/config/doc/acknowledgements.qbk     |    32 -
 SRC/Boost/libs/config/doc/config.qbk               |    60 -
 SRC/Boost/libs/config/doc/configuring_boost.qbk    |   434 -
 SRC/Boost/libs/config/doc/guidelines.qbk           |   219 -
 SRC/Boost/libs/config/doc/html/HTML.manifest       |     5 -
 .../doc/html/boost_config/acknowledgements.html    |    62 -
 .../html/boost_config/boost_macro_reference.html   |  3932 ----
 .../boost_config/guidelines_for_boost_authors.html |   377 -
 .../config/doc/html/boost_config/rationale.html    |   124 -
 SRC/Boost/libs/config/doc/html/index.html          |   956 -
 SRC/Boost/libs/config/doc/macro_reference.qbk      |  1144 -
 SRC/Boost/libs/config/doc/rationale.qbk            |    80 -
 SRC/Boost/libs/config/index.html                   |    15 -
 SRC/Boost/libs/config/test/Jamfile.v2              |    62 -
 SRC/Boost/libs/config/test/abi/abi_test.cpp        |    27 -
 SRC/Boost/libs/config/test/abi/abi_test.hpp        |    54 -
 SRC/Boost/libs/config/test/abi/main.cpp            |    31 -
 SRC/Boost/libs/config/test/all/Jamfile.v2          |   526 -
 SRC/Boost/libs/config/test/all/options_v2.jam      |    12 -
 .../libs/config/test/boost_has_2arg_use_facet.ipp  |    32 -
 SRC/Boost/libs/config/test/boost_has_bethreads.ipp |    34 -
 .../libs/config/test/boost_has_clock_gettime.ipp   |    35 -
 SRC/Boost/libs/config/test/boost_has_dirent_h.ipp  |    30 -
 SRC/Boost/libs/config/test/boost_has_expm1.ipp     |    25 -
 SRC/Boost/libs/config/test/boost_has_ftime.ipp     |    33 -
 .../test/boost_has_getsystemtimeasfiletime.ipp     |    30 -
 .../libs/config/test/boost_has_gettimeofday.ipp    |    35 -
 SRC/Boost/libs/config/test/boost_has_hash.ipp      |    67 -
 SRC/Boost/libs/config/test/boost_has_log1p.ipp     |    24 -
 SRC/Boost/libs/config/test/boost_has_long_long.ipp |    36 -
 .../libs/config/test/boost_has_macro_use_facet.ipp |    35 -
 SRC/Boost/libs/config/test/boost_has_ms_int64.ipp  |    32 -
 SRC/Boost/libs/config/test/boost_has_nanosleep.ipp |    36 -
 .../libs/config/test/boost_has_nl_types_h.ipp      |    29 -
 SRC/Boost/libs/config/test/boost_has_nrvo.ipp      |    57 -
 .../libs/config/test/boost_has_part_alloc.ipp      |    62 -
 .../config/test/boost_has_pthread_delay_np.ipp     |    35 -
 .../libs/config/test/boost_has_pthread_ma_st.ipp   |    37 -
 .../libs/config/test/boost_has_pthread_yield.ipp   |    33 -
 SRC/Boost/libs/config/test/boost_has_pthreads.ipp  |    64 -
 .../libs/config/test/boost_has_rvalue_refs.ipp     |    26 -
 .../libs/config/test/boost_has_sched_yield.ipp     |    34 -
 .../libs/config/test/boost_has_sgi_type_traits.ipp |    40 -
 SRC/Boost/libs/config/test/boost_has_sigaction.ipp |    36 -
 SRC/Boost/libs/config/test/boost_has_slist.ipp     |    44 -
 .../libs/config/test/boost_has_static_assert.ipp   |    20 -
 SRC/Boost/libs/config/test/boost_has_stdint_h.ipp  |    48 -
 .../libs/config/test/boost_has_stlp_use_facet.ipp  |    31 -
 SRC/Boost/libs/config/test/boost_has_tr1_array.ipp |    23 -
 SRC/Boost/libs/config/test/boost_has_tr1_bind.ipp  |    23 -
 .../config/test/boost_has_tr1_complex_over.ipp     |    24 -
 .../config/test/boost_has_tr1_complex_trig.ipp     |    30 -
 .../libs/config/test/boost_has_tr1_function.ipp    |    23 -
 SRC/Boost/libs/config/test/boost_has_tr1_hash.ipp  |    23 -
 .../libs/config/test/boost_has_tr1_mem_fn.ipp      |    23 -
 .../libs/config/test/boost_has_tr1_random.ipp      |    23 -
 .../libs/config/test/boost_has_tr1_ref_wrap.ipp    |    24 -
 SRC/Boost/libs/config/test/boost_has_tr1_regex.ipp |    24 -
 .../libs/config/test/boost_has_tr1_result_of.ipp   |    24 -
 .../libs/config/test/boost_has_tr1_shared_ptr.ipp  |    24 -
 SRC/Boost/libs/config/test/boost_has_tr1_tuple.ipp |    23 -
 .../libs/config/test/boost_has_tr1_type_traits.ipp |    23 -
 .../config/test/boost_has_tr1_unordered_map.ipp    |    24 -
 .../config/test/boost_has_tr1_unordered_set.ipp    |    24 -
 .../libs/config/test/boost_has_tr1_utility.ipp     |    25 -
 SRC/Boost/libs/config/test/boost_has_unistd_h.ipp  |    26 -
 .../libs/config/test/boost_has_variadic_tmpl.ipp   |    21 -
 .../libs/config/test/boost_has_vc6_mem_templ.ipp   |    58 -
 .../libs/config/test/boost_has_vc_iterator.ipp     |    40 -
 .../libs/config/test/boost_has_winthreads.ipp      |    34 -
 .../libs/config/test/boost_no_0x_hdr_array.ipp     |    23 -
 .../libs/config/test/boost_no_0x_hdr_chrono.ipp    |    31 -
 .../libs/config/test/boost_no_0x_hdr_codecvt.ipp   |    25 -
 .../test/boost_no_0x_hdr_condition_variable.ipp    |    24 -
 .../config/test/boost_no_0x_hdr_forward_list.ipp   |    23 -
 .../libs/config/test/boost_no_0x_hdr_future.ipp    |    35 -
 .../test/boost_no_0x_hdr_initializer_list.ipp      |    27 -
 .../libs/config/test/boost_no_0x_hdr_mutex.ipp     |    26 -
 .../libs/config/test/boost_no_0x_hdr_random.ipp    |    31 -
 .../libs/config/test/boost_no_0x_hdr_ratio.ipp     |    37 -
 .../libs/config/test/boost_no_0x_hdr_regex.ipp     |    24 -
 .../config/test/boost_no_0x_hdr_system_error.ipp   |    26 -
 .../libs/config/test/boost_no_0x_hdr_thread.ipp    |    27 -
 .../libs/config/test/boost_no_0x_hdr_tuple.ipp     |    23 -
 .../config/test/boost_no_0x_hdr_type_traits.ipp    |   106 -
 .../libs/config/test/boost_no_0x_hdr_typeindex.ipp |    25 -
 .../config/test/boost_no_0x_hdr_unordered_map.ipp  |    24 -
 .../config/test/boost_no_0x_hdr_unordered_set.ipp  |    24 -
 .../libs/config/test/boost_no_adl_barrier.ipp      |    38 -
 .../libs/config/test/boost_no_arg_dep_lookup.ipp   |    37 -
 .../libs/config/test/boost_no_array_type_spec.ipp  |    30 -
 .../config/test/boost_no_auto_declarations.ipp     |    25 -
 .../libs/config/test/boost_no_auto_multidecl.ipp   |    25 -
 SRC/Boost/libs/config/test/boost_no_auto_ptr.ipp   |    53 -
 .../libs/config/test/boost_no_bcb_partial_spec.ipp |    53 -
 SRC/Boost/libs/config/test/boost_no_char16_t.ipp   |    22 -
 SRC/Boost/libs/config/test/boost_no_char32_t.ipp   |    21 -
 .../libs/config/test/boost_no_com_value_init.ipp   |  1016 -
 SRC/Boost/libs/config/test/boost_no_constexpr.ipp  |    43 -
 .../libs/config/test/boost_no_ctype_functions.ipp  |    44 -
 SRC/Boost/libs/config/test/boost_no_cv_spec.ipp    |    47 -
 .../libs/config/test/boost_no_cv_void_spec.ipp     |    45 -
 SRC/Boost/libs/config/test/boost_no_cwchar.ipp     |    33 -
 SRC/Boost/libs/config/test/boost_no_cwctype.ipp    |    47 -
 SRC/Boost/libs/config/test/boost_no_decltype.ipp   |    51 -
 .../libs/config/test/boost_no_decltype_n3276.ipp   |   137 -
 .../libs/config/test/boost_no_ded_typename.ipp     |    40 -
 .../config/test/boost_no_defaulted_functions.ipp   |    28 -
 .../config/test/boost_no_deleted_functions.ipp     |    28 -
 .../libs/config/test/boost_no_dep_nested_class.ipp |    58 -
 .../libs/config/test/boost_no_dep_val_param.ipp    |    37 -
 SRC/Boost/libs/config/test/boost_no_excep_std.ipp  |    35 -
 SRC/Boost/libs/config/test/boost_no_exceptions.ipp |    43 -
 .../libs/config/test/boost_no_exp_func_tem_arg.ipp |    55 -
 .../libs/config/test/boost_no_explicit_cvt_ops.ipp |    30 -
 .../libs/config/test/boost_no_extern_template.ipp  |    41 -
 SRC/Boost/libs/config/test/boost_no_fenv_h.ipp     |    58 -
 .../libs/config/test/boost_no_func_tmp_order.ipp   |    49 -
 .../boost_no_function_template_default_args.ipp    |    38 -
 .../config/test/boost_no_function_type_spec.ipp    |    44 -
 SRC/Boost/libs/config/test/boost_no_i64_limits.ipp |    29 -
 .../config/test/boost_no_initializer_lists.ipp     |    31 -
 .../libs/config/test/boost_no_inline_memb_init.ipp |    55 -
 .../libs/config/test/boost_no_integral_int64_t.ipp |    54 -
 SRC/Boost/libs/config/test/boost_no_iosfwd.ipp     |    23 -
 SRC/Boost/libs/config/test/boost_no_iostream.ipp   |    25 -
 .../libs/config/test/boost_no_is_abstract.ipp      |    53 -
 .../libs/config/test/boost_no_iter_construct.ipp   |    38 -
 SRC/Boost/libs/config/test/boost_no_lambdas.ipp    |    25 -
 SRC/Boost/libs/config/test/boost_no_limits.ipp     |    34 -
 .../libs/config/test/boost_no_limits_const_exp.ipp |    42 -
 .../libs/config/test/boost_no_limits_lowest.ipp    |    31 -
 SRC/Boost/libs/config/test/boost_no_ll_limits.ipp  |    37 -
 SRC/Boost/libs/config/test/boost_no_long_long.ipp  |    36 -
 .../libs/config/test/boost_no_mem_func_spec.ipp    |    62 -
 .../libs/config/test/boost_no_mem_tem_keyword.ipp  |    69 -
 .../libs/config/test/boost_no_mem_tem_pnts.ipp     |    50 -
 .../libs/config/test/boost_no_mem_templ_frnds.ipp  |    72 -
 .../libs/config/test/boost_no_mem_templates.ipp    |    64 -
 .../config/test/boost_no_nested_friendship.ipp     |    44 -
 SRC/Boost/libs/config/test/boost_no_noexcept.ipp   |    23 -
 SRC/Boost/libs/config/test/boost_no_nullptr.ipp    |    21 -
 .../libs/config/test/boost_no_ops_in_namespace.ipp |    73 -
 .../config/test/boost_no_part_spec_def_args.ipp    |    46 -
 .../libs/config/test/boost_no_partial_spec.ipp     |    56 -
 .../libs/config/test/boost_no_priv_aggregate.ipp   |    39 -
 .../libs/config/test/boost_no_ptr_mem_const.ipp    |    86 -
 .../libs/config/test/boost_no_raw_literals.ipp     |    22 -
 SRC/Boost/libs/config/test/boost_no_ret_det.ipp    |    36 -
 SRC/Boost/libs/config/test/boost_no_rtti.ipp       |    57 -
 .../config/test/boost_no_rvalue_references.ipp     |    26 -
 .../libs/config/test/boost_no_scoped_enums.ipp     |    28 -
 SRC/Boost/libs/config/test/boost_no_sfinae.ipp     |    68 -
 .../libs/config/test/boost_no_sfinae_expr.ipp      |    37 -
 SRC/Boost/libs/config/test/boost_no_sstream.ipp    |    29 -
 .../libs/config/test/boost_no_static_assert.ipp    |    20 -
 .../libs/config/test/boost_no_std_allocator.ipp    |    70 -
 .../libs/config/test/boost_no_std_distance.ipp     |    31 -
 .../libs/config/test/boost_no_std_iter_traits.ipp  |    80 -
 .../libs/config/test/boost_no_std_iterator.ipp     |    67 -
 SRC/Boost/libs/config/test/boost_no_std_locale.ipp |    36 -
 .../libs/config/test/boost_no_std_messages.ipp     |    39 -
 .../libs/config/test/boost_no_std_min_max.ipp      |    33 -
 .../libs/config/test/boost_no_std_oi_assign.ipp    |    42 -
 .../libs/config/test/boost_no_std_typeinfo.ipp     |    24 -
 .../libs/config/test/boost_no_std_unordered.ipp    |    27 -
 .../libs/config/test/boost_no_std_use_facet.ipp    |    29 -
 .../libs/config/test/boost_no_std_wstreambuf.ipp   |   108 -
 .../libs/config/test/boost_no_std_wstring.ipp      |    28 -
 .../libs/config/test/boost_no_stdc_namespace.ipp   |    43 -
 SRC/Boost/libs/config/test/boost_no_swprintf.ipp   |    31 -
 .../libs/config/test/boost_no_template_aliases.ipp |    22 -
 .../libs/config/test/boost_no_template_streams.ipp |    28 -
 .../config/test/boost_no_template_template.ipp     |    50 -
 .../libs/config/test/boost_no_two_phase_lookup.ipp |    41 -
 SRC/Boost/libs/config/test/boost_no_typeid.ipp     |    24 -
 .../config/test/boost_no_typename_with_ctor.ipp    |    33 -
 .../libs/config/test/boost_no_unicode_literals.ipp |    22 -
 .../libs/config/test/boost_no_unified_init.ipp     |    53 -
 .../libs/config/test/boost_no_using_breaks_adl.ipp |    72 -
 .../config/test/boost_no_using_decl_overld.ipp     |    33 -
 .../libs/config/test/boost_no_using_template.ipp   |    47 -
 .../libs/config/test/boost_no_variadic_macros.ipp  |    62 -
 .../config/test/boost_no_variadic_templates.ipp    |    21 -
 .../libs/config/test/boost_no_void_returns.ipp     |    34 -
 SRC/Boost/libs/config/test/boost_no_wchar_t.ipp    |    45 -
 SRC/Boost/libs/config/test/config_info.cpp         |  1135 -
 SRC/Boost/libs/config/test/config_test.cpp         |  1701 --
 SRC/Boost/libs/config/test/config_test_c.c         |     9 -
 .../libs/config/test/has_2arg_use_facet_fail.cpp   |    34 -
 .../libs/config/test/has_2arg_use_facet_pass.cpp   |    34 -
 SRC/Boost/libs/config/test/has_bethreads_fail.cpp  |    34 -
 SRC/Boost/libs/config/test/has_bethreads_pass.cpp  |    34 -
 .../libs/config/test/has_clock_gettime_fail.cpp    |    34 -
 .../libs/config/test/has_clock_gettime_pass.cpp    |    34 -
 SRC/Boost/libs/config/test/has_dirent_h_fail.cpp   |    34 -
 SRC/Boost/libs/config/test/has_dirent_h_pass.cpp   |    34 -
 SRC/Boost/libs/config/test/has_expm1_fail.cpp      |    34 -
 SRC/Boost/libs/config/test/has_expm1_pass.cpp      |    34 -
 SRC/Boost/libs/config/test/has_ftime_fail.cpp      |    34 -
 SRC/Boost/libs/config/test/has_ftime_pass.cpp      |    34 -
 .../test/has_getsystemtimeasfiletime_fail.cpp      |    37 -
 .../test/has_getsystemtimeasfiletime_pass.cpp      |    37 -
 .../libs/config/test/has_gettimeofday_fail.cpp     |    34 -
 .../libs/config/test/has_gettimeofday_pass.cpp     |    34 -
 SRC/Boost/libs/config/test/has_hash_fail.cpp       |    34 -
 SRC/Boost/libs/config/test/has_hash_pass.cpp       |    34 -
 SRC/Boost/libs/config/test/has_log1p_fail.cpp      |    34 -
 SRC/Boost/libs/config/test/has_log1p_pass.cpp      |    34 -
 SRC/Boost/libs/config/test/has_long_long_fail.cpp  |    34 -
 SRC/Boost/libs/config/test/has_long_long_pass.cpp  |    34 -
 .../libs/config/test/has_macro_use_facet_fail.cpp  |    34 -
 .../libs/config/test/has_macro_use_facet_pass.cpp  |    34 -
 SRC/Boost/libs/config/test/has_ms_int64_fail.cpp   |    34 -
 SRC/Boost/libs/config/test/has_ms_int64_pass.cpp   |    34 -
 SRC/Boost/libs/config/test/has_nanosleep_fail.cpp  |    34 -
 SRC/Boost/libs/config/test/has_nanosleep_pass.cpp  |    34 -
 SRC/Boost/libs/config/test/has_nl_types_h_fail.cpp |    34 -
 SRC/Boost/libs/config/test/has_nl_types_h_pass.cpp |    34 -
 SRC/Boost/libs/config/test/has_nrvo_fail.cpp       |    34 -
 SRC/Boost/libs/config/test/has_nrvo_pass.cpp       |    34 -
 SRC/Boost/libs/config/test/has_part_alloc_fail.cpp |    34 -
 SRC/Boost/libs/config/test/has_part_alloc_pass.cpp |    34 -
 .../libs/config/test/has_pthread_delay_np_fail.cpp |    34 -
 .../libs/config/test/has_pthread_delay_np_pass.cpp |    34 -
 .../libs/config/test/has_pthread_ma_st_fail.cpp    |    34 -
 .../libs/config/test/has_pthread_ma_st_pass.cpp    |    34 -
 .../libs/config/test/has_pthread_yield_fail.cpp    |    34 -
 .../libs/config/test/has_pthread_yield_pass.cpp    |    34 -
 SRC/Boost/libs/config/test/has_pthreads_fail.cpp   |    34 -
 SRC/Boost/libs/config/test/has_pthreads_pass.cpp   |    34 -
 .../libs/config/test/has_rvalue_refs_fail.cpp      |    34 -
 .../libs/config/test/has_rvalue_refs_pass.cpp      |    34 -
 .../libs/config/test/has_sched_yield_fail.cpp      |    34 -
 .../libs/config/test/has_sched_yield_pass.cpp      |    34 -
 .../libs/config/test/has_sgi_type_traits_fail.cpp  |    34 -
 .../libs/config/test/has_sgi_type_traits_pass.cpp  |    34 -
 SRC/Boost/libs/config/test/has_sigaction_fail.cpp  |    34 -
 SRC/Boost/libs/config/test/has_sigaction_pass.cpp  |    34 -
 SRC/Boost/libs/config/test/has_slist_fail.cpp      |    34 -
 SRC/Boost/libs/config/test/has_slist_pass.cpp      |    34 -
 .../libs/config/test/has_static_assert_fail.cpp    |    34 -
 .../libs/config/test/has_static_assert_pass.cpp    |    34 -
 SRC/Boost/libs/config/test/has_stdint_h_fail.cpp   |    34 -
 SRC/Boost/libs/config/test/has_stdint_h_pass.cpp   |    34 -
 .../libs/config/test/has_stlp_use_facet_fail.cpp   |    34 -
 .../libs/config/test/has_stlp_use_facet_pass.cpp   |    34 -
 SRC/Boost/libs/config/test/has_tr1_array_fail.cpp  |    38 -
 SRC/Boost/libs/config/test/has_tr1_array_pass.cpp  |    38 -
 SRC/Boost/libs/config/test/has_tr1_bind_fail.cpp   |    38 -
 SRC/Boost/libs/config/test/has_tr1_bind_pass.cpp   |    38 -
 .../libs/config/test/has_tr1_complex_over_fail.cpp |    38 -
 .../libs/config/test/has_tr1_complex_over_pass.cpp |    38 -
 .../libs/config/test/has_tr1_complex_trig_fail.cpp |    38 -
 .../libs/config/test/has_tr1_complex_trig_pass.cpp |    38 -
 .../libs/config/test/has_tr1_function_fail.cpp     |    38 -
 .../libs/config/test/has_tr1_function_pass.cpp     |    38 -
 SRC/Boost/libs/config/test/has_tr1_hash_fail.cpp   |    38 -
 SRC/Boost/libs/config/test/has_tr1_hash_pass.cpp   |    38 -
 SRC/Boost/libs/config/test/has_tr1_mem_fn_fail.cpp |    38 -
 SRC/Boost/libs/config/test/has_tr1_mem_fn_pass.cpp |    38 -
 SRC/Boost/libs/config/test/has_tr1_random_fail.cpp |    38 -
 SRC/Boost/libs/config/test/has_tr1_random_pass.cpp |    38 -
 .../libs/config/test/has_tr1_ref_wrap_fail.cpp     |    38 -
 .../libs/config/test/has_tr1_ref_wrap_pass.cpp     |    38 -
 SRC/Boost/libs/config/test/has_tr1_regex_fail.cpp  |    38 -
 SRC/Boost/libs/config/test/has_tr1_regex_pass.cpp  |    38 -
 .../libs/config/test/has_tr1_result_of_fail.cpp    |    38 -
 .../libs/config/test/has_tr1_result_of_pass.cpp    |    38 -
 .../libs/config/test/has_tr1_shared_ptr_fail.cpp   |    38 -
 .../libs/config/test/has_tr1_shared_ptr_pass.cpp   |    38 -
 SRC/Boost/libs/config/test/has_tr1_tuple_fail.cpp  |    38 -
 SRC/Boost/libs/config/test/has_tr1_tuple_pass.cpp  |    38 -
 .../libs/config/test/has_tr1_type_traits_fail.cpp  |    38 -
 .../libs/config/test/has_tr1_type_traits_pass.cpp  |    38 -
 .../config/test/has_tr1_unordered_map_fail.cpp     |    38 -
 .../config/test/has_tr1_unordered_map_pass.cpp     |    38 -
 .../config/test/has_tr1_unordered_set_fail.cpp     |    38 -
 .../config/test/has_tr1_unordered_set_pass.cpp     |    38 -
 .../libs/config/test/has_tr1_utility_fail.cpp      |    38 -
 .../libs/config/test/has_tr1_utility_pass.cpp      |    38 -
 SRC/Boost/libs/config/test/has_unistd_h_fail.cpp   |    34 -
 SRC/Boost/libs/config/test/has_unistd_h_pass.cpp   |    34 -
 .../libs/config/test/has_variadic_tmpl_fail.cpp    |    34 -
 .../libs/config/test/has_variadic_tmpl_pass.cpp    |    34 -
 .../libs/config/test/has_vc6_mem_templ_fail.cpp    |    34 -
 .../libs/config/test/has_vc6_mem_templ_pass.cpp    |    34 -
 .../libs/config/test/has_vc_iterator_fail.cpp      |    34 -
 .../libs/config/test/has_vc_iterator_pass.cpp      |    34 -
 SRC/Boost/libs/config/test/has_winthreads_fail.cpp |    34 -
 SRC/Boost/libs/config/test/has_winthreads_pass.cpp |    34 -
 SRC/Boost/libs/config/test/limits_test.cpp         |   210 -
 SRC/Boost/libs/config/test/link/Jamfile.v2         |    19 -
 SRC/Boost/libs/config/test/link/bc_gen.sh          |   286 -
 SRC/Boost/libs/config/test/link/borland.mak        |   429 -
 SRC/Boost/libs/config/test/link/common.sh          |    19 -
 SRC/Boost/libs/config/test/link/link_test.cpp      |    54 -
 SRC/Boost/libs/config/test/link/link_test.hpp      |   108 -
 SRC/Boost/libs/config/test/link/main.cpp           |    19 -
 SRC/Boost/libs/config/test/link/test/Jamfile.v2    |   117 -
 SRC/Boost/libs/config/test/link/vc6-stlport.mak    |   292 -
 SRC/Boost/libs/config/test/link/vc6.mak            |   260 -
 SRC/Boost/libs/config/test/link/vc7-stlport.mak    |   292 -
 SRC/Boost/libs/config/test/link/vc7.mak            |   260 -
 SRC/Boost/libs/config/test/link/vc71-stlport.mak   |   292 -
 SRC/Boost/libs/config/test/link/vc71.mak           |   260 -
 SRC/Boost/libs/config/test/link/vc_gen.sh          |   424 -
 SRC/Boost/libs/config/test/math_info.cpp           |   365 -
 .../libs/config/test/no_0x_hdr_array_fail.cpp      |    37 -
 .../libs/config/test/no_0x_hdr_array_pass.cpp      |    37 -
 .../libs/config/test/no_0x_hdr_chrono_fail.cpp     |    37 -
 .../libs/config/test/no_0x_hdr_chrono_pass.cpp     |    37 -
 .../libs/config/test/no_0x_hdr_codecvt_fail.cpp    |    37 -
 .../libs/config/test/no_0x_hdr_codecvt_pass.cpp    |    37 -
 .../test/no_0x_hdr_condition_variable_fail.cpp     |    37 -
 .../test/no_0x_hdr_condition_variable_pass.cpp     |    37 -
 .../config/test/no_0x_hdr_forward_list_fail.cpp    |    37 -
 .../config/test/no_0x_hdr_forward_list_pass.cpp    |    37 -
 .../libs/config/test/no_0x_hdr_future_fail.cpp     |    37 -
 .../libs/config/test/no_0x_hdr_future_pass.cpp     |    37 -
 .../test/no_0x_hdr_initializer_list_fail.cpp       |    37 -
 .../test/no_0x_hdr_initializer_list_pass.cpp       |    37 -
 .../libs/config/test/no_0x_hdr_mutex_fail.cpp      |    37 -
 .../libs/config/test/no_0x_hdr_mutex_pass.cpp      |    37 -
 .../libs/config/test/no_0x_hdr_random_fail.cpp     |    37 -
 .../libs/config/test/no_0x_hdr_random_pass.cpp     |    37 -
 .../libs/config/test/no_0x_hdr_ratio_fail.cpp      |    37 -
 .../libs/config/test/no_0x_hdr_ratio_pass.cpp      |    37 -
 .../libs/config/test/no_0x_hdr_regex_fail.cpp      |    37 -
 .../libs/config/test/no_0x_hdr_regex_pass.cpp      |    37 -
 .../config/test/no_0x_hdr_system_error_fail.cpp    |    37 -
 .../config/test/no_0x_hdr_system_error_pass.cpp    |    37 -
 .../libs/config/test/no_0x_hdr_thread_fail.cpp     |    37 -
 .../libs/config/test/no_0x_hdr_thread_pass.cpp     |    37 -
 .../libs/config/test/no_0x_hdr_tuple_fail.cpp      |    37 -
 .../libs/config/test/no_0x_hdr_tuple_pass.cpp      |    37 -
 .../config/test/no_0x_hdr_type_traits_fail.cpp     |    37 -
 .../config/test/no_0x_hdr_type_traits_pass.cpp     |    37 -
 .../libs/config/test/no_0x_hdr_typeindex_fail.cpp  |    37 -
 .../libs/config/test/no_0x_hdr_typeindex_pass.cpp  |    37 -
 .../config/test/no_0x_hdr_unordered_map_fail.cpp   |    37 -
 .../config/test/no_0x_hdr_unordered_map_pass.cpp   |    37 -
 .../config/test/no_0x_hdr_unordered_set_fail.cpp   |    37 -
 .../config/test/no_0x_hdr_unordered_set_pass.cpp   |    37 -
 SRC/Boost/libs/config/test/no_adl_barrier_fail.cpp |    37 -
 SRC/Boost/libs/config/test/no_adl_barrier_pass.cpp |    37 -
 .../libs/config/test/no_arg_dep_lookup_fail.cpp    |    34 -
 .../libs/config/test/no_arg_dep_lookup_pass.cpp    |    34 -
 .../libs/config/test/no_array_type_spec_fail.cpp   |    34 -
 .../libs/config/test/no_array_type_spec_pass.cpp   |    34 -
 .../libs/config/test/no_auto_declarations_fail.cpp |    37 -
 .../libs/config/test/no_auto_declarations_pass.cpp |    37 -
 .../libs/config/test/no_auto_multidecl_fail.cpp    |    37 -
 .../libs/config/test/no_auto_multidecl_pass.cpp    |    37 -
 SRC/Boost/libs/config/test/no_auto_ptr_fail.cpp    |    34 -
 SRC/Boost/libs/config/test/no_auto_ptr_pass.cpp    |    34 -
 .../libs/config/test/no_bcb_partial_spec_fail.cpp  |    34 -
 .../libs/config/test/no_bcb_partial_spec_pass.cpp  |    34 -
 SRC/Boost/libs/config/test/no_char16_t_fail.cpp    |    37 -
 SRC/Boost/libs/config/test/no_char16_t_pass.cpp    |    37 -
 SRC/Boost/libs/config/test/no_char32_t_fail.cpp    |    37 -
 SRC/Boost/libs/config/test/no_char32_t_pass.cpp    |    37 -
 .../libs/config/test/no_com_value_init_fail.cpp    |    37 -
 .../libs/config/test/no_com_value_init_pass.cpp    |    37 -
 SRC/Boost/libs/config/test/no_constexpr_fail.cpp   |    37 -
 SRC/Boost/libs/config/test/no_constexpr_pass.cpp   |    37 -
 .../libs/config/test/no_ctype_functions_fail.cpp   |    34 -
 .../libs/config/test/no_ctype_functions_pass.cpp   |    34 -
 SRC/Boost/libs/config/test/no_cv_spec_fail.cpp     |    34 -
 SRC/Boost/libs/config/test/no_cv_spec_pass.cpp     |    34 -
 .../libs/config/test/no_cv_void_spec_fail.cpp      |    34 -
 .../libs/config/test/no_cv_void_spec_pass.cpp      |    34 -
 SRC/Boost/libs/config/test/no_cwchar_fail.cpp      |    34 -
 SRC/Boost/libs/config/test/no_cwchar_pass.cpp      |    34 -
 SRC/Boost/libs/config/test/no_cwctype_fail.cpp     |    34 -
 SRC/Boost/libs/config/test/no_cwctype_pass.cpp     |    34 -
 SRC/Boost/libs/config/test/no_decltype_fail.cpp    |    37 -
 .../libs/config/test/no_decltype_n3276_fail.cpp    |    37 -
 .../libs/config/test/no_decltype_n3276_pass.cpp    |    37 -
 SRC/Boost/libs/config/test/no_decltype_pass.cpp    |    37 -
 .../libs/config/test/no_ded_typename_fail.cpp      |    34 -
 .../libs/config/test/no_ded_typename_pass.cpp      |    34 -
 .../config/test/no_defaulted_functions_fail.cpp    |    37 -
 .../config/test/no_defaulted_functions_pass.cpp    |    37 -
 .../libs/config/test/no_deleted_functions_fail.cpp |    37 -
 .../libs/config/test/no_deleted_functions_pass.cpp |    37 -
 .../libs/config/test/no_dep_nested_class_fail.cpp  |    34 -
 .../libs/config/test/no_dep_nested_class_pass.cpp  |    34 -
 .../libs/config/test/no_dep_val_param_fail.cpp     |    34 -
 .../libs/config/test/no_dep_val_param_pass.cpp     |    34 -
 SRC/Boost/libs/config/test/no_excep_std_fail.cpp   |    34 -
 SRC/Boost/libs/config/test/no_excep_std_pass.cpp   |    34 -
 SRC/Boost/libs/config/test/no_exceptions_fail.cpp  |    34 -
 SRC/Boost/libs/config/test/no_exceptions_pass.cpp  |    34 -
 .../libs/config/test/no_exp_func_tem_arg_fail.cpp  |    34 -
 .../libs/config/test/no_exp_func_tem_arg_pass.cpp  |    34 -
 .../libs/config/test/no_explicit_cvt_ops_fail.cpp  |    37 -
 .../libs/config/test/no_explicit_cvt_ops_pass.cpp  |    37 -
 .../libs/config/test/no_extern_template_fail.cpp   |    37 -
 .../libs/config/test/no_extern_template_pass.cpp   |    37 -
 SRC/Boost/libs/config/test/no_fenv_h_fail.cpp      |    33 -
 SRC/Boost/libs/config/test/no_fenv_h_pass.cpp      |    33 -
 .../libs/config/test/no_func_tmp_order_fail.cpp    |    34 -
 .../libs/config/test/no_func_tmp_order_pass.cpp    |    34 -
 .../no_function_template_default_args_fail.cpp     |    37 -
 .../no_function_template_default_args_pass.cpp     |    37 -
 .../config/test/no_function_type_spec_fail.cpp     |    34 -
 .../config/test/no_function_type_spec_pass.cpp     |    34 -
 SRC/Boost/libs/config/test/no_i64_limits_fail.cpp  |    34 -
 SRC/Boost/libs/config/test/no_i64_limits_pass.cpp  |    34 -
 .../libs/config/test/no_initializer_lists_fail.cpp |    37 -
 .../libs/config/test/no_initializer_lists_pass.cpp |    37 -
 .../libs/config/test/no_inline_memb_init_fail.cpp  |    34 -
 .../libs/config/test/no_inline_memb_init_pass.cpp  |    34 -
 .../libs/config/test/no_integral_int64_t_fail.cpp  |    34 -
 .../libs/config/test/no_integral_int64_t_pass.cpp  |    34 -
 SRC/Boost/libs/config/test/no_iosfwd_fail.cpp      |    34 -
 SRC/Boost/libs/config/test/no_iosfwd_pass.cpp      |    34 -
 SRC/Boost/libs/config/test/no_iostream_fail.cpp    |    34 -
 SRC/Boost/libs/config/test/no_iostream_pass.cpp    |    34 -
 SRC/Boost/libs/config/test/no_is_abstract_fail.cpp |    34 -
 SRC/Boost/libs/config/test/no_is_abstract_pass.cpp |    34 -
 .../libs/config/test/no_iter_construct_fail.cpp    |    34 -
 .../libs/config/test/no_iter_construct_pass.cpp    |    34 -
 SRC/Boost/libs/config/test/no_lambdas_fail.cpp     |    37 -
 SRC/Boost/libs/config/test/no_lambdas_pass.cpp     |    37 -
 .../libs/config/test/no_limits_const_exp_fail.cpp  |    34 -
 .../libs/config/test/no_limits_const_exp_pass.cpp  |    34 -
 SRC/Boost/libs/config/test/no_limits_fail.cpp      |    34 -
 .../libs/config/test/no_limits_lowest_fail.cpp     |    37 -
 .../libs/config/test/no_limits_lowest_pass.cpp     |    37 -
 SRC/Boost/libs/config/test/no_limits_pass.cpp      |    34 -
 SRC/Boost/libs/config/test/no_ll_limits_fail.cpp   |    34 -
 SRC/Boost/libs/config/test/no_ll_limits_pass.cpp   |    34 -
 SRC/Boost/libs/config/test/no_long_long_fail.cpp   |    37 -
 SRC/Boost/libs/config/test/no_long_long_pass.cpp   |    37 -
 .../libs/config/test/no_mem_func_spec_fail.cpp     |    34 -
 .../libs/config/test/no_mem_func_spec_pass.cpp     |    34 -
 .../libs/config/test/no_mem_tem_keyword_fail.cpp   |    34 -
 .../libs/config/test/no_mem_tem_keyword_pass.cpp   |    34 -
 .../libs/config/test/no_mem_tem_pnts_fail.cpp      |    34 -
 .../libs/config/test/no_mem_tem_pnts_pass.cpp      |    34 -
 .../libs/config/test/no_mem_templ_frnds_fail.cpp   |    34 -
 .../libs/config/test/no_mem_templ_frnds_pass.cpp   |    34 -
 .../libs/config/test/no_mem_templates_fail.cpp     |    34 -
 .../libs/config/test/no_mem_templates_pass.cpp     |    34 -
 .../libs/config/test/no_nested_friendship_fail.cpp |    37 -
 .../libs/config/test/no_nested_friendship_pass.cpp |    37 -
 SRC/Boost/libs/config/test/no_noexcept_fail.cpp    |    37 -
 SRC/Boost/libs/config/test/no_noexcept_pass.cpp    |    37 -
 SRC/Boost/libs/config/test/no_nullptr_fail.cpp     |    37 -
 SRC/Boost/libs/config/test/no_nullptr_pass.cpp     |    37 -
 .../libs/config/test/no_ops_in_namespace_fail.cpp  |    34 -
 .../libs/config/test/no_ops_in_namespace_pass.cpp  |    34 -
 .../config/test/no_part_spec_def_args_fail.cpp     |    37 -
 .../config/test/no_part_spec_def_args_pass.cpp     |    37 -
 .../libs/config/test/no_partial_spec_fail.cpp      |    34 -
 .../libs/config/test/no_partial_spec_pass.cpp      |    34 -
 .../libs/config/test/no_priv_aggregate_fail.cpp    |    34 -
 .../libs/config/test/no_priv_aggregate_pass.cpp    |    34 -
 .../libs/config/test/no_ptr_mem_const_fail.cpp     |    34 -
 .../libs/config/test/no_ptr_mem_const_pass.cpp     |    34 -
 .../libs/config/test/no_raw_literals_fail.cpp      |    37 -
 .../libs/config/test/no_raw_literals_pass.cpp      |    37 -
 SRC/Boost/libs/config/test/no_ret_det_fail.cpp     |    34 -
 SRC/Boost/libs/config/test/no_ret_det_pass.cpp     |    34 -
 SRC/Boost/libs/config/test/no_rtti_fail.cpp        |    37 -
 SRC/Boost/libs/config/test/no_rtti_pass.cpp        |    37 -
 .../libs/config/test/no_rvalue_references_fail.cpp |    37 -
 .../libs/config/test/no_rvalue_references_pass.cpp |    37 -
 .../libs/config/test/no_scoped_enums_fail.cpp      |    37 -
 .../libs/config/test/no_scoped_enums_pass.cpp      |    37 -
 SRC/Boost/libs/config/test/no_sfinae_expr_fail.cpp |    37 -
 SRC/Boost/libs/config/test/no_sfinae_expr_pass.cpp |    37 -
 SRC/Boost/libs/config/test/no_sfinae_fail.cpp      |    34 -
 SRC/Boost/libs/config/test/no_sfinae_pass.cpp      |    34 -
 SRC/Boost/libs/config/test/no_sstream_fail.cpp     |    34 -
 SRC/Boost/libs/config/test/no_sstream_pass.cpp     |    34 -
 .../libs/config/test/no_static_assert_fail.cpp     |    37 -
 .../libs/config/test/no_static_assert_pass.cpp     |    37 -
 .../libs/config/test/no_std_allocator_fail.cpp     |    34 -
 .../libs/config/test/no_std_allocator_pass.cpp     |    34 -
 .../libs/config/test/no_std_distance_fail.cpp      |    34 -
 .../libs/config/test/no_std_distance_pass.cpp      |    34 -
 .../libs/config/test/no_std_iter_traits_fail.cpp   |    34 -
 .../libs/config/test/no_std_iter_traits_pass.cpp   |    34 -
 .../libs/config/test/no_std_iterator_fail.cpp      |    34 -
 .../libs/config/test/no_std_iterator_pass.cpp      |    34 -
 SRC/Boost/libs/config/test/no_std_locale_fail.cpp  |    34 -
 SRC/Boost/libs/config/test/no_std_locale_pass.cpp  |    34 -
 .../libs/config/test/no_std_messages_fail.cpp      |    34 -
 .../libs/config/test/no_std_messages_pass.cpp      |    34 -
 SRC/Boost/libs/config/test/no_std_min_max_fail.cpp |    34 -
 SRC/Boost/libs/config/test/no_std_min_max_pass.cpp |    34 -
 .../libs/config/test/no_std_oi_assign_fail.cpp     |    34 -
 .../libs/config/test/no_std_oi_assign_pass.cpp     |    34 -
 .../libs/config/test/no_std_typeinfo_fail.cpp      |    34 -
 .../libs/config/test/no_std_typeinfo_pass.cpp      |    34 -
 .../libs/config/test/no_std_unordered_fail.cpp     |    37 -
 .../libs/config/test/no_std_unordered_pass.cpp     |    37 -
 .../libs/config/test/no_std_use_facet_fail.cpp     |    34 -
 .../libs/config/test/no_std_use_facet_pass.cpp     |    34 -
 .../libs/config/test/no_std_wstreambuf_fail.cpp    |    34 -
 .../libs/config/test/no_std_wstreambuf_pass.cpp    |    34 -
 SRC/Boost/libs/config/test/no_std_wstring_fail.cpp |    34 -
 SRC/Boost/libs/config/test/no_std_wstring_pass.cpp |    34 -
 .../libs/config/test/no_stdc_namespace_fail.cpp    |    34 -
 .../libs/config/test/no_stdc_namespace_pass.cpp    |    34 -
 SRC/Boost/libs/config/test/no_swprintf_fail.cpp    |    34 -
 SRC/Boost/libs/config/test/no_swprintf_pass.cpp    |    34 -
 .../libs/config/test/no_template_aliases_fail.cpp  |    37 -
 .../libs/config/test/no_template_aliases_pass.cpp  |    37 -
 .../libs/config/test/no_template_streams_fail.cpp  |    37 -
 .../libs/config/test/no_template_streams_pass.cpp  |    37 -
 .../libs/config/test/no_template_template_fail.cpp |    34 -
 .../libs/config/test/no_template_template_pass.cpp |    34 -
 .../libs/config/test/no_two_phase_lookup_fail.cpp  |    34 -
 .../libs/config/test/no_two_phase_lookup_pass.cpp  |    34 -
 SRC/Boost/libs/config/test/no_typeid_fail.cpp      |    34 -
 SRC/Boost/libs/config/test/no_typeid_pass.cpp      |    34 -
 .../config/test/no_typename_with_ctor_fail.cpp     |    37 -
 .../config/test/no_typename_with_ctor_pass.cpp     |    37 -
 .../libs/config/test/no_unicode_literals_fail.cpp  |    37 -
 .../libs/config/test/no_unicode_literals_pass.cpp  |    37 -
 .../libs/config/test/no_unified_init_fail.cpp      |    37 -
 .../libs/config/test/no_unified_init_pass.cpp      |    37 -
 .../libs/config/test/no_using_breaks_adl_fail.cpp  |    34 -
 .../libs/config/test/no_using_breaks_adl_pass.cpp  |    34 -
 .../libs/config/test/no_using_decl_overld_fail.cpp |    34 -
 .../libs/config/test/no_using_decl_overld_pass.cpp |    34 -
 .../libs/config/test/no_using_template_fail.cpp    |    34 -
 .../libs/config/test/no_using_template_pass.cpp    |    34 -
 .../libs/config/test/no_variadic_macros_fail.cpp   |    37 -
 .../libs/config/test/no_variadic_macros_pass.cpp   |    37 -
 .../config/test/no_variadic_templates_fail.cpp     |    37 -
 .../config/test/no_variadic_templates_pass.cpp     |    37 -
 .../libs/config/test/no_void_returns_fail.cpp      |    34 -
 .../libs/config/test/no_void_returns_pass.cpp      |    34 -
 SRC/Boost/libs/config/test/no_wchar_t_fail.cpp     |    34 -
 SRC/Boost/libs/config/test/no_wchar_t_pass.cpp     |    34 -
 SRC/Boost/libs/config/test/test.hpp                |    21 -
 .../libs/config/test/threads/test_thread_fail1.cpp |    10 -
 .../libs/config/test/threads/test_thread_fail2.cpp |    13 -
 SRC/Boost/libs/config/tools/Jamfile.v2             |    15 -
 SRC/Boost/libs/config/tools/configure.in           |   463 -
 SRC/Boost/libs/config/tools/generate.cpp           |   290 -
 SRC/Boost/libs/detail/utf8_codecvt_facet.cpp       |   285 -
 SRC/Boost/libs/filesystem/build/Jamfile.v2         |    61 -
 SRC/Boost/libs/filesystem/v2/build/Jamfile.v2      |    31 -
 SRC/Boost/libs/filesystem/v2/doc/design.htm        |   353 -
 SRC/Boost/libs/filesystem/v2/doc/do-list.htm       |    42 -
 SRC/Boost/libs/filesystem/v2/doc/faq.htm           |   150 -
 SRC/Boost/libs/filesystem/v2/doc/i18n.html         |   426 -
 SRC/Boost/libs/filesystem/v2/doc/index.htm         |   835 -
 .../libs/filesystem/v2/doc/portability_guide.htm   |   226 -
 SRC/Boost/libs/filesystem/v2/doc/reference.html    |  3094 ---
 SRC/Boost/libs/filesystem/v2/example/Jamfile.v2    |    16 -
 SRC/Boost/libs/filesystem/v2/example/file_size.cpp |    44 -
 SRC/Boost/libs/filesystem/v2/example/mbcopy.cpp    |    92 -
 SRC/Boost/libs/filesystem/v2/example/mbpath.cpp    |    82 -
 SRC/Boost/libs/filesystem/v2/example/mbpath.hpp    |    44 -
 .../libs/filesystem/v2/example/path_table.cpp      |   264 -
 SRC/Boost/libs/filesystem/v2/example/simple_ls.cpp |    89 -
 SRC/Boost/libs/filesystem/v2/src/v2_operations.cpp |  1375 --
 SRC/Boost/libs/filesystem/v2/src/v2_path.cpp       |   177 -
 .../libs/filesystem/v2/src/v2_portability.cpp      |   119 -
 SRC/Boost/libs/filesystem/v2/test/Jamfile.v2       |    43 -
 .../libs/filesystem/v2/test/convenience_test.cpp   |   176 -
 .../libs/filesystem/v2/test/deprecated_test.cpp    |   205 -
 SRC/Boost/libs/filesystem/v2/test/equivalent.cpp   |    39 -
 SRC/Boost/libs/filesystem/v2/test/fstream_test.cpp |   184 -
 .../filesystem/v2/test/large_file_support_test.cpp |    42 -
 SRC/Boost/libs/filesystem/v2/test/lpath.hpp        |   101 -
 .../libs/filesystem/v2/test/msvc/common.vsprops    |    14 -
 .../msvc/convenience_test/convenience_test.vcproj  |   197 -
 .../msvc/deprecated_test/deprecated_test.vcproj    |   197 -
 .../libs/filesystem/v2/test/msvc/filesystem-v2.sln |   119 -
 .../test/msvc/filesystem_dll/filesystem_dll.vcproj |   207 -
 .../v2/test/msvc/fstream_test/fstream_test.vcproj  |   199 -
 .../large_file_support_test.vcproj                 |   199 -
 .../filesystem/v2/test/msvc/mbcopy/mbcopy.vcproj   |   199 -
 .../filesystem/v2/test/msvc/mbpath/mbpath.vcproj   |   195 -
 .../msvc/operations_test/operations_test.vcproj    |   197 -
 .../v2/test/msvc/path_test/path_test.vcproj        |   197 -
 .../v2/test/msvc/simple_ls/simple_ls.vcproj        |   195 -
 .../v2/test/msvc/system_dll/system_dll.vcproj      |   193 -
 .../v2/test/msvc/wide_test/wide_test.vcproj        |   198 -
 .../libs/filesystem/v2/test/operations_test.cpp    |   953 -
 SRC/Boost/libs/filesystem/v2/test/path_test.cpp    |  1380 --
 SRC/Boost/libs/filesystem/v2/test/wide_test.cpp    |   169 -
 SRC/Boost/libs/filesystem/v3/build/Jamfile.v2      |    32 -
 SRC/Boost/libs/filesystem/v3/doc/Jamfile.v2        |    19 -
 .../filesystem/v3/doc/POSIX_filename_encoding.txt  |    55 -
 SRC/Boost/libs/filesystem/v3/doc/deprecated.html   |   385 -
 SRC/Boost/libs/filesystem/v3/doc/design.htm        |   353 -
 SRC/Boost/libs/filesystem/v3/doc/do_list.html      |   146 -
 SRC/Boost/libs/filesystem/v3/doc/faq.htm           |   147 -
 SRC/Boost/libs/filesystem/v3/doc/index.htm         |   495 -
 SRC/Boost/libs/filesystem/v3/doc/path_table.cpp    |   260 -
 SRC/Boost/libs/filesystem/v3/doc/path_table.txt    |    50 -
 .../libs/filesystem/v3/doc/portability_guide.htm   |   241 -
 SRC/Boost/libs/filesystem/v3/doc/reference.html    |  3371 ---
 .../libs/filesystem/v3/doc/release_history.html    |    95 -
 SRC/Boost/libs/filesystem/v3/doc/tutorial.html     |  1128 -
 SRC/Boost/libs/filesystem/v3/doc/v3.html           |   151 -
 SRC/Boost/libs/filesystem/v3/doc/v3_design.html    |   192 -
 SRC/Boost/libs/filesystem/v3/example/Jamfile.v2    |    27 -
 .../libs/filesystem/v3/example/error_demo.cpp      |   185 -
 SRC/Boost/libs/filesystem/v3/example/file_size.cpp |    44 -
 .../libs/filesystem/v3/example/file_status.cpp     |   117 -
 SRC/Boost/libs/filesystem/v3/example/mbcopy.cpp    |    90 -
 SRC/Boost/libs/filesystem/v3/example/mbpath.cpp    |    80 -
 SRC/Boost/libs/filesystem/v3/example/mbpath.hpp    |    44 -
 SRC/Boost/libs/filesystem/v3/example/path_info.cpp |    83 -
 SRC/Boost/libs/filesystem/v3/example/simple_ls.cpp |    91 -
 SRC/Boost/libs/filesystem/v3/example/stems.cpp     |    31 -
 SRC/Boost/libs/filesystem/v3/example/tchar.cpp     |    39 -
 .../libs/filesystem/v3/example/test/Jamfile.v2     |    31 -
 SRC/Boost/libs/filesystem/v3/example/test/bld.bat  |     7 -
 SRC/Boost/libs/filesystem/v3/example/test/bld.sh   |     8 -
 .../libs/filesystem/v3/example/test/setup.bat      |    13 -
 SRC/Boost/libs/filesystem/v3/example/test/setup.sh |    19 -
 SRC/Boost/libs/filesystem/v3/example/tut0.cpp      |    25 -
 SRC/Boost/libs/filesystem/v3/example/tut1.cpp      |    23 -
 SRC/Boost/libs/filesystem/v3/example/tut2.cpp      |    40 -
 SRC/Boost/libs/filesystem/v3/example/tut3.cpp      |    56 -
 SRC/Boost/libs/filesystem/v3/example/tut4.cpp      |    65 -
 SRC/Boost/libs/filesystem/v3/example/tut5.cpp      |    52 -
 SRC/Boost/libs/filesystem/v3/index.html            |    14 -
 .../filesystem/v3/src/codecvt_error_category.cpp   |    93 -
 SRC/Boost/libs/filesystem/v3/src/operations.cpp    |  2061 --
 SRC/Boost/libs/filesystem/v3/src/path.cpp          |   813 -
 SRC/Boost/libs/filesystem/v3/src/path_traits.cpp   |   209 -
 SRC/Boost/libs/filesystem/v3/src/portability.cpp   |   128 -
 SRC/Boost/libs/filesystem/v3/src/unique_path.cpp   |   151 -
 .../libs/filesystem/v3/src/utf8_codecvt_facet.cpp  |    27 -
 .../filesystem/v3/src/windows_file_codecvt.cpp     |    83 -
 .../filesystem/v3/src/windows_file_codecvt.hpp     |    56 -
 SRC/Boost/libs/filesystem/v3/test/Jamfile.v2       |    35 -
 .../libs/filesystem/v3/test/convenience_test.cpp   |   180 -
 .../libs/filesystem/v3/test/deprecated_test.cpp    |   251 -
 .../libs/filesystem/v3/test/design_use_cases.cpp   |    81 -
 SRC/Boost/libs/filesystem/v3/test/equivalent.cpp   |    39 -
 SRC/Boost/libs/filesystem/v3/test/fstream_test.cpp |   173 -
 .../filesystem/v3/test/large_file_support_test.cpp |    45 -
 SRC/Boost/libs/filesystem/v3/test/locale_info.cpp  |    88 -
 .../libs/filesystem/v3/test/long_path_test.cpp     |    61 -
 .../libs/filesystem/v3/test/msvc/common.vsprops    |    21 -
 .../msvc/convenience_test/convenience_test.vcproj  |   195 -
 .../msvc/deprecated_test/deprecated_test.vcproj    |   195 -
 .../v3/test/msvc/error_demo/error_demo.vcproj      |   191 -
 .../libs/filesystem/v3/test/msvc/filesystem-v3.sln |   173 -
 .../test/msvc/filesystem_dll/filesystem_dll.vcproj |   227 -
 .../v3/test/msvc/fstream_test/fstream_test.vcproj  |   195 -
 .../msvc/operations_test/operations_test.vcproj    |   194 -
 .../operations_unit_test.vcproj                    |   197 -
 .../v3/test/msvc/path_test/path_test.vcproj        |   195 -
 .../path_test_dynamic_linkl.vcproj                 |   201 -
 .../test/msvc/path_unit_test/path_unit_test.vcproj |   195 -
 .../v3/test/msvc/simple_ls/simple_ls.vcproj        |   201 -
 .../v3/test/msvc/system_dll/system_dll.vcproj      |   199 -
 .../test/msvc/tchar_example/tchar_example.vcproj   |   212 -
 .../libs/filesystem/v3/test/msvc/tut0/tut0.vcproj  |   190 -
 .../libs/filesystem/v3/test/msvc/tut1/tut1.vcproj  |   193 -
 .../libs/filesystem/v3/test/msvc/tut2/tut2.vcproj  |   189 -
 .../libs/filesystem/v3/test/msvc/tut3/tut3.vcproj  |   187 -
 .../libs/filesystem/v3/test/msvc/tut4/tut4.vcproj  |   189 -
 .../v3/test/msvc/wide_test/wide_test.vcproj        |   191 -
 .../libs/filesystem/v3/test/msvc10/common.props    |    20 -
 .../convenience_test/convenience_test.vcxproj      |   107 -
 .../msvc10/deprecated_test/deprecated_test.vcxproj |   107 -
 .../v3/test/msvc10/file_status/file_status.vcxproj |   100 -
 .../filesystem/v3/test/msvc10/filesystem-v3.sln    |   174 -
 .../msvc10/filesystem_dll/filesystem_dll.vcxproj   |   110 -
 .../test/msvc10/fstream_test/fstream_test.vcxproj  |   107 -
 .../v3/test/msvc10/locale_info/locale_info.vcxproj |    96 -
 .../msvc10/long_path_test/long_path_test.vcxproj   |   100 -
 .../msvc10/operations_test/operations_test.vcxproj |   106 -
 .../operations_unit_test.vcxproj                   |   109 -
 .../v3/test/msvc10/path_test/path_test.vcxproj     |   107 -
 .../msvc10/path_unit_test/path_unit_test.vcxproj   |   107 -
 .../filesystem/v3/test/msvc10/stems/stems.vcxproj  |    92 -
 .../v3/test/msvc10/system_dll/system_dll.vcxproj   |    97 -
 .../filesystem/v3/test/msvc10/tut1/tut1.vcxproj    |   101 -
 .../filesystem/v3/test/msvc10/tut2/tut2.vcxproj    |    97 -
 .../filesystem/v3/test/msvc10/tut3/tut3.vcxproj    |    95 -
 .../filesystem/v3/test/msvc10/tut4/tut4.vcxproj    |    97 -
 .../filesystem/v3/test/msvc10/tut5/tut5.vcxproj    |    92 -
 .../filesystem/v3/test/msvc10/tut6a/tut6a.vcxproj  |    92 -
 .../filesystem/v3/test/msvc10/tut6b/tut6b.vcxproj  |    92 -
 .../filesystem/v3/test/msvc10/tut6c/tut6c.vcxproj  |    92 -
 .../windows_attributes/windows_attributes.vcxproj  |    92 -
 .../libs/filesystem/v3/test/operations_test.cpp    |  1933 --
 .../filesystem/v3/test/operations_unit_test.cpp    |   243 -
 SRC/Boost/libs/filesystem/v3/test/path_test.cpp    |  1742 --
 .../libs/filesystem/v3/test/path_unit_test.cpp     |  1037 -
 SRC/Boost/libs/filesystem/v3/test/test_codecvt.hpp |    79 -
 .../libs/filesystem/v3/test/windows_attributes.cpp |   108 -
 SRC/Boost/libs/function/doc/Jamfile.v2             |    16 -
 SRC/Boost/libs/function/doc/faq.xml                |   163 -
 SRC/Boost/libs/function/doc/function.xml           |    61 -
 SRC/Boost/libs/function/doc/history.xml            |   137 -
 SRC/Boost/libs/function/doc/misc.xml               |    72 -
 SRC/Boost/libs/function/doc/reference.xml          |   938 -
 SRC/Boost/libs/function/doc/tests.xml              |   258 -
 SRC/Boost/libs/function/doc/tutorial.xml           |   364 -
 SRC/Boost/libs/function/example/bind1st.cpp        |    32 -
 SRC/Boost/libs/function/example/int_div.cpp        |    26 -
 SRC/Boost/libs/function/example/sum_avg.cpp        |    38 -
 SRC/Boost/libs/function/index.html                 |    20 -
 SRC/Boost/libs/function/test/Jamfile.v2            |    67 -
 SRC/Boost/libs/function/test/allocator_test.cpp    |   137 -
 SRC/Boost/libs/function/test/contains2_test.cpp    |    88 -
 SRC/Boost/libs/function/test/contains_test.cpp     |   235 -
 SRC/Boost/libs/function/test/function_30.cpp       |    25 -
 .../libs/function/test/function_arith_cxx98.cpp    |    34 -
 .../libs/function/test/function_arith_portable.cpp |    32 -
 SRC/Boost/libs/function/test/function_n_test.cpp   |   697 -
 .../libs/function/test/function_ref_cxx98.cpp      |    27 -
 .../libs/function/test/function_ref_portable.cpp   |    27 -
 SRC/Boost/libs/function/test/function_test.cpp     |   707 -
 .../libs/function/test/function_test_fail1.cpp     |    28 -
 .../libs/function/test/function_test_fail2.cpp     |    27 -
 .../libs/function/test/function_typeof_test.cpp    |    18 -
 SRC/Boost/libs/function/test/lambda_test.cpp       |    38 -
 SRC/Boost/libs/function/test/mem_fun_cxx98.cpp     |    37 -
 SRC/Boost/libs/function/test/mem_fun_portable.cpp  |    37 -
 SRC/Boost/libs/function/test/nothrow_swap.cpp      |    60 -
 SRC/Boost/libs/function/test/regression.cfg        |    14 -
 SRC/Boost/libs/function/test/stateless_test.cpp    |    38 -
 SRC/Boost/libs/function/test/std_bind_cxx98.cpp    |    30 -
 SRC/Boost/libs/function/test/std_bind_portable.cpp |    30 -
 SRC/Boost/libs/function/test/sum_avg_cxx98.cpp     |    28 -
 SRC/Boost/libs/function/test/sum_avg_portable.cpp  |    28 -
 SRC/Boost/libs/regex/build/Jamfile.v2              |   153 -
 SRC/Boost/libs/regex/build/bc_gen.sh               |   271 -
 SRC/Boost/libs/regex/build/bcb6.mak                |  1337 --
 SRC/Boost/libs/regex/build/common.sh               |    66 -
 SRC/Boost/libs/regex/build/gcc-shared.mak          |   190 -
 SRC/Boost/libs/regex/build/gcc.mak                 |   192 -
 SRC/Boost/libs/regex/build/gcc_gen.sh              |   278 -
 SRC/Boost/libs/regex/build/generic.mak             |   110 -
 SRC/Boost/libs/regex/build/generic_gen.sh          |   154 -
 SRC/Boost/libs/regex/build/has_icu_test.cpp        |    26 -
 SRC/Boost/libs/regex/build/sun_gen.sh              |   225 -
 SRC/Boost/libs/regex/build/sunpro.mak              |   316 -
 SRC/Boost/libs/regex/build/vc10.mak                |   491 -
 SRC/Boost/libs/regex/build/vc6-stlport.mak         |   496 -
 SRC/Boost/libs/regex/build/vc6.mak                 |   632 -
 SRC/Boost/libs/regex/build/vc7-stlport.mak         |   496 -
 SRC/Boost/libs/regex/build/vc7.mak                 |   632 -
 SRC/Boost/libs/regex/build/vc71-stlport.mak        |   496 -
 SRC/Boost/libs/regex/build/vc71.mak                |   632 -
 SRC/Boost/libs/regex/build/vc8.mak                 |   632 -
 SRC/Boost/libs/regex/build/vc9.mak                 |   491 -
 SRC/Boost/libs/regex/build/vc_gen.sh               |   509 -
 SRC/Boost/libs/regex/src/c_regex_traits.cpp        |   193 -
 SRC/Boost/libs/regex/src/cpp_regex_traits.cpp      |   117 -
 SRC/Boost/libs/regex/src/cregex.cpp                |   660 -
 SRC/Boost/libs/regex/src/fileiter.cpp              |   925 -
 SRC/Boost/libs/regex/src/icu.cpp                   |   507 -
 SRC/Boost/libs/regex/src/instances.cpp             |    32 -
 SRC/Boost/libs/regex/src/internals.hpp             |    35 -
 SRC/Boost/libs/regex/src/posix_api.cpp             |   295 -
 SRC/Boost/libs/regex/src/regex.cpp                 |   226 -
 SRC/Boost/libs/regex/src/regex_debug.cpp           |    59 -
 SRC/Boost/libs/regex/src/regex_raw_buffer.cpp      |    70 -
 SRC/Boost/libs/regex/src/regex_traits_defaults.cpp |   692 -
 SRC/Boost/libs/regex/src/static_mutex.cpp          |   179 -
 SRC/Boost/libs/regex/src/usinstances.cpp           |    81 -
 SRC/Boost/libs/regex/src/w32_regex_traits.cpp      |   650 -
 SRC/Boost/libs/regex/src/wc_regex_traits.cpp       |   301 -
 SRC/Boost/libs/regex/src/wide_posix_api.cpp        |   315 -
 SRC/Boost/libs/regex/src/winstances.cpp            |    35 -
 .../regex/test/config_info/regex_config_info.cpp   |    73 -
 SRC/Boost/libs/serialization/build/Jamfile.v2      |   115 -
 .../libs/serialization/doc/acknowledgments.html    |    92 -
 .../libs/serialization/doc/archive_reference.html  |   433 -
 SRC/Boost/libs/serialization/doc/archives.html     |   432 -
 SRC/Boost/libs/serialization/doc/bibliography.html |    74 -
 .../libs/serialization/doc/class_diagram.html      |   170 -
 SRC/Boost/libs/serialization/doc/codecvt.html      |   171 -
 .../libs/serialization/doc/configuration.html      |    17 -
 SRC/Boost/libs/serialization/doc/contents.html     |   340 -
 SRC/Boost/libs/serialization/doc/dataflow.html     |   212 -
 SRC/Boost/libs/serialization/doc/definitions.html  |    17 -
 SRC/Boost/libs/serialization/doc/derivation.html   |   158 -
 SRC/Boost/libs/serialization/doc/dot.gif           |   Bin 838 -> 0 bytes
 .../libs/serialization/doc/exception_safety.html   |   115 -
 SRC/Boost/libs/serialization/doc/exceptions.html   |   276 -
 .../libs/serialization/doc/extended_type_info.html |   418 -
 SRC/Boost/libs/serialization/doc/faq.html          |    51 -
 SRC/Boost/libs/serialization/doc/headers.html      |   447 -
 SRC/Boost/libs/serialization/doc/history.html      |   141 -
 .../libs/serialization/doc/implementation.html     |   443 -
 SRC/Boost/libs/serialization/doc/index.html        |    19 -
 SRC/Boost/libs/serialization/doc/minus.gif         |   Bin 839 -> 0 bytes
 .../libs/serialization/doc/new_case_studies.html   |    91 -
 SRC/Boost/libs/serialization/doc/overview.html     |   146 -
 .../libs/serialization/doc/performance_status.html |    30 -
 SRC/Boost/libs/serialization/doc/pimpl.html        |   124 -
 SRC/Boost/libs/serialization/doc/plus.gif          |   Bin 844 -> 0 bytes
 SRC/Boost/libs/serialization/doc/profile1.txt      |   149 -
 SRC/Boost/libs/serialization/doc/profile2.txt      |   203 -
 SRC/Boost/libs/serialization/doc/profile3.txt      |   153 -
 SRC/Boost/libs/serialization/doc/rationale.html    |   125 -
 SRC/Boost/libs/serialization/doc/reference.html    |    42 -
 SRC/Boost/libs/serialization/doc/release.html      |   277 -
 .../libs/serialization/doc/serialization.html      |   930 -
 SRC/Boost/libs/serialization/doc/shared_ptr.html   |   233 -
 SRC/Boost/libs/serialization/doc/shared_ptr2.html  |   103 -
 SRC/Boost/libs/serialization/doc/simple_log.html   |    95 -
 SRC/Boost/libs/serialization/doc/singleton.html    |   256 -
 SRC/Boost/libs/serialization/doc/smart_cast.html   |   155 -
 SRC/Boost/libs/serialization/doc/special.html      |   591 -
 SRC/Boost/libs/serialization/doc/state_saver.html  |    82 -
 .../libs/serialization/doc/static_warning.html     |    53 -
 .../libs/serialization/doc/strong_typedef.html     |    91 -
 SRC/Boost/libs/serialization/doc/style.css         |    15 -
 SRC/Boost/libs/serialization/doc/todo.html         |   113 -
 SRC/Boost/libs/serialization/doc/traits.html       |   807 -
 SRC/Boost/libs/serialization/doc/tutorial.html     |   584 -
 SRC/Boost/libs/serialization/doc/void_cast.html    |   104 -
 SRC/Boost/libs/serialization/doc/wrappers.html     |   213 -
 SRC/Boost/libs/serialization/example/Jamfile.v2    |    57 -
 SRC/Boost/libs/serialization/example/demo.cpp      |   377 -
 .../libs/serialization/example/demo_auto_ptr.cpp   |   135 -
 SRC/Boost/libs/serialization/example/demo_dll.cpp  |    50 -
 .../libs/serialization/example/demo_dll_a.hpp      |   321 -
 .../libs/serialization/example/demo_dll_a.ipp      |   321 -
 .../libs/serialization/example/demo_dll_b.hpp      |   112 -
 .../libs/serialization/example/demo_dll_b.ipp      |   112 -
 .../libs/serialization/example/demo_exception.cpp  |   258 -
 .../serialization/example/demo_fast_archive.cpp    |   181 -
 SRC/Boost/libs/serialization/example/demo_gps.hpp  |   284 -
 SRC/Boost/libs/serialization/example/demo_log.cpp  |    76 -
 .../libs/serialization/example/demo_output.txt     |    51 -
 .../libs/serialization/example/demo_pimpl.cpp      |    34 -
 .../libs/serialization/example/demo_pimpl_A.cpp    |    45 -
 .../libs/serialization/example/demo_pimpl_A.hpp    |    24 -
 .../serialization/example/demo_polymorphic.cpp     |    65 -
 .../serialization/example/demo_polymorphic_A.cpp   |    26 -
 .../serialization/example/demo_polymorphic_A.hpp   |    39 -
 .../example/demo_portable_archive.cpp              |   104 -
 SRC/Boost/libs/serialization/example/demo_save.xml |   129 -
 .../libs/serialization/example/demo_shared_ptr.cpp |   164 -
 .../libs/serialization/example/demo_simple_log.cpp |    75 -
 .../serialization/example/demo_trivial_archive.cpp |    94 -
 SRC/Boost/libs/serialization/example/demo_xml.cpp  |   127 -
 SRC/Boost/libs/serialization/example/demo_xml.hpp  |   284 -
 .../libs/serialization/example/demo_xml_load.cpp   |    45 -
 .../libs/serialization/example/demo_xml_save.cpp   |    91 -
 SRC/Boost/libs/serialization/example/demofile.txt  |    13 -
 SRC/Boost/libs/serialization/example/fix_six.cpp   |    37 -
 .../libs/serialization/example/log_archive.cpp     |    32 -
 .../libs/serialization/example/log_archive.hpp     |    76 -
 .../polymorphic_portable_binary_iarchive.cpp       |    34 -
 .../polymorphic_portable_binary_iarchive.hpp       |    35 -
 .../polymorphic_portable_binary_oarchive.cpp       |    35 -
 .../polymorphic_portable_binary_oarchive.hpp       |    34 -
 .../example/portable_binary_archive.hpp            |    47 -
 .../example/portable_binary_iarchive.cpp           |   131 -
 .../example/portable_binary_iarchive.hpp           |   212 -
 .../example/portable_binary_oarchive.cpp           |    98 -
 .../example/portable_binary_oarchive.hpp           |   192 -
 .../serialization/example/simple_log_archive.hpp   |   167 -
 SRC/Boost/libs/serialization/index.html            |    15 -
 .../libs/serialization/performance/Jamfile.v2      |    48 -
 .../serialization/performance/binary_archive.hpp   |    22 -
 .../serialization/performance/binary_warchive.hpp  |    14 -
 .../serialization/performance/peformance_array.cpp |   118 -
 .../performance/performance_binary.cpp             |    96 -
 .../performance/performance_codecvt_null.cpp       |   136 -
 .../performance/performance_iterators.cpp          |   213 -
 .../performance/performance_iterators_base64.cpp   |   100 -
 .../performance/performance_no_rtti.cpp            |   222 -
 .../performance/performance_polymorphic.cpp        |   104 -
 .../performance/performance_simple_class.cpp       |    55 -
 .../performance/performance_utf8_codecvt.cpp       |   248 -
 .../performance/performance_vector.cpp             |    70 -
 .../polymorphic_array_binary_archive.hpp           |    13 -
 .../performance/polymorphic_binary_archive.hpp     |    13 -
 .../performance/polymorphic_text_archive.hpp       |    13 -
 .../performance/polymorphic_text_warchive.hpp      |    18 -
 .../performance/polymorphic_xml_archive.hpp        |    13 -
 .../performance/polymorphic_xml_warchive.hpp       |    13 -
 .../performance/portable_binary_archive.hpp        |    22 -
 .../libs/serialization/performance/profile.sh      |    39 -
 .../serialization/performance/text_archive.hpp     |    14 -
 .../serialization/performance/text_warchive.hpp    |    19 -
 .../libs/serialization/performance/xml/Jamfile.v2  |    35 -
 .../libs/serialization/performance/xml/harness.hpp |   188 -
 .../performance/xml/high_resolution_timer.hpp      |   489 -
 .../performance/xml/int16_results.xml              |  1291 -
 .../serialization/performance/xml/int16_test.cpp   |    20 -
 .../performance/xml/int256_results.xml             |  1291 -
 .../serialization/performance/xml/int256_test.cpp  |    20 -
 .../serialization/performance/xml/int4_results.xml |  1291 -
 .../serialization/performance/xml/int4_test.cpp    |    20 -
 .../performance/xml/int64_results.xml              |  1291 -
 .../serialization/performance/xml/int64_test.cpp   |    20 -
 .../libs/serialization/performance/xml/macro.hpp   |   229 -
 .../libs/serialization/performance/xml/node.hpp    |    63 -
 .../performance/xml/string16_results.xml           |  1291 -
 .../performance/xml/string16_test.cpp              |    24 -
 .../performance/xml/string256_results.xml          |  1291 -
 .../performance/xml/string256_test.cpp             |    24 -
 .../performance/xml/string4_results.xml            |  1291 -
 .../serialization/performance/xml/string4_test.cpp |    24 -
 .../performance/xml/string64_results.xml           |  1291 -
 .../performance/xml/string64_test.cpp              |    24 -
 .../libs/serialization/performance/xml_archive.hpp |    16 -
 .../serialization/performance/xml_warchive.hpp     |    16 -
 .../libs/serialization/src/archive_exception.cpp   |   114 -
 SRC/Boost/libs/serialization/src/basic_archive.cpp |    80 -
 .../libs/serialization/src/basic_iarchive.cpp      |   576 -
 .../libs/serialization/src/basic_iserializer.cpp   |    33 -
 .../libs/serialization/src/basic_oarchive.cpp      |   459 -
 .../libs/serialization/src/basic_oserializer.cpp   |    33 -
 .../src/basic_pointer_iserializer.cpp              |    30 -
 .../src/basic_pointer_oserializer.cpp              |    30 -
 .../serialization/src/basic_serializer_map.cpp     |   111 -
 .../serialization/src/basic_text_iprimitive.cpp    |    28 -
 .../serialization/src/basic_text_oprimitive.cpp    |    28 -
 .../serialization/src/basic_text_wiprimitive.cpp   |    35 -
 .../serialization/src/basic_text_woprimitive.cpp   |    35 -
 .../libs/serialization/src/basic_xml_archive.cpp   |    51 -
 .../libs/serialization/src/basic_xml_grammar.ipp   |   468 -
 .../libs/serialization/src/binary_iarchive.cpp     |    53 -
 .../libs/serialization/src/binary_oarchive.cpp     |    39 -
 .../libs/serialization/src/binary_wiarchive.cpp    |    60 -
 .../libs/serialization/src/binary_woarchive.cpp    |    44 -
 SRC/Boost/libs/serialization/src/codecvt_null.cpp  |    83 -
 .../libs/serialization/src/extended_type_info.cpp  |   188 -
 .../src/extended_type_info_no_rtti.cpp             |    85 -
 .../src/extended_type_info_typeid.cpp              |   161 -
 .../serialization/src/polymorphic_iarchive.cpp     |    29 -
 .../serialization/src/polymorphic_oarchive.cpp     |    29 -
 .../libs/serialization/src/shared_ptr_helper.cpp   |   138 -
 SRC/Boost/libs/serialization/src/stl_port.cpp      |    43 -
 SRC/Boost/libs/serialization/src/text_iarchive.cpp |    36 -
 SRC/Boost/libs/serialization/src/text_oarchive.cpp |    33 -
 .../libs/serialization/src/text_wiarchive.cpp      |    41 -
 .../libs/serialization/src/text_woarchive.cpp      |    35 -
 .../libs/serialization/src/utf8_codecvt_facet.cpp  |    21 -
 SRC/Boost/libs/serialization/src/void_cast.cpp     |   360 -
 .../serialization/src/xml_archive_exception.cpp    |    56 -
 SRC/Boost/libs/serialization/src/xml_grammar.cpp   |    73 -
 SRC/Boost/libs/serialization/src/xml_iarchive.cpp  |    46 -
 SRC/Boost/libs/serialization/src/xml_oarchive.cpp  |    32 -
 SRC/Boost/libs/serialization/src/xml_wgrammar.cpp  |   157 -
 SRC/Boost/libs/serialization/src/xml_wiarchive.cpp |    53 -
 SRC/Boost/libs/serialization/src/xml_woarchive.cpp |    35 -
 SRC/Boost/libs/serialization/test/A.cpp            |   222 -
 SRC/Boost/libs/serialization/test/A.hpp            |   159 -
 SRC/Boost/libs/serialization/test/A.ipp            |    64 -
 SRC/Boost/libs/serialization/test/B.hpp            |   113 -
 SRC/Boost/libs/serialization/test/C.hpp            |    68 -
 SRC/Boost/libs/serialization/test/D.hpp            |    88 -
 SRC/Boost/libs/serialization/test/J.hpp            |    51 -
 SRC/Boost/libs/serialization/test/Jamfile.v2       |   162 -
 SRC/Boost/libs/serialization/test/base.hpp         |    46 -
 .../libs/serialization/test/binary_archive.hpp     |    24 -
 .../libs/serialization/test/binary_warchive.hpp    |    14 -
 SRC/Boost/libs/serialization/test/derived2.hpp     |    50 -
 SRC/Boost/libs/serialization/test/dll_a.cpp        |    48 -
 SRC/Boost/libs/serialization/test/dll_base.cpp     |    55 -
 SRC/Boost/libs/serialization/test/dll_derived2.cpp |    54 -
 .../test/polymorphic_array_binary_archive.hpp      |    13 -
 .../libs/serialization/test/polymorphic_base.cpp   |    21 -
 .../libs/serialization/test/polymorphic_base.hpp   |    51 -
 .../test/polymorphic_binary_archive.hpp            |    13 -
 .../serialization/test/polymorphic_derived1.cpp    |    23 -
 .../serialization/test/polymorphic_derived1.hpp    |    45 -
 .../serialization/test/polymorphic_derived2.cpp    |    65 -
 .../serialization/test/polymorphic_derived2.hpp    |    69 -
 .../test/polymorphic_text_archive.hpp              |    12 -
 .../test/polymorphic_text_warchive.hpp             |    17 -
 .../serialization/test/polymorphic_xml_archive.hpp |    12 -
 .../test/polymorphic_xml_warchive.hpp              |    12 -
 .../serialization/test/portable_binary_archive.hpp |    31 -
 SRC/Boost/libs/serialization/test/test_array.cpp   |   124 -
 SRC/Boost/libs/serialization/test/test_binary.cpp  |   157 -
 SRC/Boost/libs/serialization/test/test_bitset.cpp  |    64 -
 SRC/Boost/libs/serialization/test/test_check.cpp   |   142 -
 .../serialization/test/test_class_info_load.cpp    |    92 -
 .../serialization/test/test_class_info_save.cpp    |   100 -
 .../libs/serialization/test/test_codecvt_null.cpp  |   136 -
 SRC/Boost/libs/serialization/test/test_complex.cpp |    70 -
 .../serialization/test/test_const_load_fail1.cpp   |    23 -
 .../test/test_const_load_fail1_nvp.cpp             |    24 -
 .../serialization/test/test_const_load_fail2.cpp   |    23 -
 .../test/test_const_load_fail2_nvp.cpp             |    25 -
 .../serialization/test/test_const_load_fail3.cpp   |    22 -
 .../test/test_const_load_fail3_nvp.cpp             |    24 -
 .../libs/serialization/test/test_const_pass.cpp    |    54 -
 .../serialization/test/test_const_save_warn1.cpp   |    25 -
 .../test/test_const_save_warn1_nvp.cpp             |    26 -
 .../serialization/test/test_const_save_warn2.cpp   |    24 -
 .../test/test_const_save_warn2_nvp.cpp             |    25 -
 .../serialization/test/test_const_save_warn3.cpp   |    24 -
 .../test/test_const_save_warn3_nvp.cpp             |    25 -
 .../serialization/test/test_const_save_warn4.cpp   |    37 -
 .../test/test_const_save_warn4_nvp.cpp             |    39 -
 .../serialization/test/test_contained_class.cpp    |    69 -
 .../libs/serialization/test/test_cyclic_ptrs.cpp   |   153 -
 SRC/Boost/libs/serialization/test/test_decl.hpp    |    74 -
 .../serialization/test/test_delete_pointer.cpp     |   129 -
 SRC/Boost/libs/serialization/test/test_deque.cpp   |    53 -
 SRC/Boost/libs/serialization/test/test_derived.cpp |   148 -
 .../libs/serialization/test/test_derived_class.cpp |    49 -
 .../serialization/test/test_derived_class_ptr.cpp  |    51 -
 SRC/Boost/libs/serialization/test/test_diamond.cpp |   204 -
 .../serialization/test/test_diamond_complex.cpp    |   480 -
 .../libs/serialization/test/test_dll_exported.cpp  |   148 -
 .../libs/serialization/test/test_dll_plugin.cpp    |   210 -
 .../libs/serialization/test/test_dll_simple.cpp    |   247 -
 .../libs/serialization/test/test_exported.cpp      |   143 -
 .../libs/serialization/test/test_inclusion.cpp     |    42 -
 .../libs/serialization/test/test_iterators.cpp     |   213 -
 .../serialization/test/test_iterators_base64.cpp   |   100 -
 SRC/Boost/libs/serialization/test/test_list.cpp    |    77 -
 .../libs/serialization/test/test_list_ptrs.cpp     |   130 -
 SRC/Boost/libs/serialization/test/test_map.cpp     |   229 -
 SRC/Boost/libs/serialization/test/test_mi.cpp      |   135 -
 .../serialization/test/test_mult_archive_types.cpp |   122 -
 .../test/test_multiple_inheritance.cpp             |   125 -
 .../libs/serialization/test/test_multiple_ptrs.cpp |    50 -
 .../libs/serialization/test/test_new_operator.cpp  |    95 -
 SRC/Boost/libs/serialization/test/test_no_rtti.cpp |   183 -
 .../serialization/test/test_non_default_ctor.cpp   |   198 -
 .../serialization/test/test_non_default_ctor2.cpp  |   144 -
 .../libs/serialization/test/test_non_intrusive.cpp |   174 -
 .../serialization/test/test_not_serializable.cpp   |    47 -
 .../libs/serialization/test/test_null_ptr.cpp      |    89 -
 SRC/Boost/libs/serialization/test/test_nvp.cpp     |    68 -
 SRC/Boost/libs/serialization/test/test_object.cpp  |    70 -
 .../libs/serialization/test/test_optional.cpp      |    62 -
 SRC/Boost/libs/serialization/test/test_pimpl.cpp   |    48 -
 .../libs/serialization/test/test_polymorphic.cpp   |    94 -
 .../libs/serialization/test/test_polymorphic2.cpp  |    40 -
 .../libs/serialization/test/test_polymorphic2.hpp  |    43 -
 .../serialization/test/test_polymorphic2imp.cpp    |    44 -
 .../libs/serialization/test/test_polymorphic_A.cpp |    58 -
 .../libs/serialization/test/test_polymorphic_A.hpp |    30 -
 .../libs/serialization/test/test_primitive.cpp     |    64 -
 .../libs/serialization/test/test_private_base.cpp  |    99 -
 .../libs/serialization/test/test_private_ctor.cpp  |    51 -
 .../libs/serialization/test/test_recursion.cpp     |    51 -
 .../libs/serialization/test/test_registered.cpp    |   239 -
 .../test/test_reset_object_address.cpp             |   412 -
 SRC/Boost/libs/serialization/test/test_set.cpp     |   176 -
 .../libs/serialization/test/test_shared_ptr.cpp    |   301 -
 .../serialization/test/test_shared_ptr_132.cpp     |   234 -
 .../test/test_shared_ptr_multi_base.cpp            |   271 -
 .../libs/serialization/test/test_simple_class.cpp  |    93 -
 .../serialization/test/test_simple_class_ptr.cpp   |    52 -
 .../libs/serialization/test/test_singleton.cpp     |    35 -
 .../libs/serialization/test/test_smart_cast.cpp    |   244 -
 SRC/Boost/libs/serialization/test/test_split.cpp   |   165 -
 .../serialization/test/test_static_warning.cpp     |    63 -
 SRC/Boost/libs/serialization/test/test_tools.hpp   |   259 -
 .../libs/serialization/test/test_tracking.cpp      |   130 -
 .../libs/serialization/test/test_traits_fail.cpp   |    40 -
 .../libs/serialization/test/test_traits_pass.cpp   |    30 -
 .../libs/serialization/test/test_unregistered.cpp  |   245 -
 .../libs/serialization/test/test_utf8_codecvt.cpp  |   260 -
 .../libs/serialization/test/test_valarray.cpp      |    56 -
 SRC/Boost/libs/serialization/test/test_variant.cpp |   169 -
 SRC/Boost/libs/serialization/test/test_vector.cpp  |    67 -
 .../libs/serialization/test/test_void_cast.cpp     |   165 -
 SRC/Boost/libs/serialization/test/text_archive.hpp |    13 -
 .../libs/serialization/test/text_warchive.hpp      |    13 -
 SRC/Boost/libs/serialization/test/xml_archive.hpp  |    13 -
 SRC/Boost/libs/serialization/test/xml_warchive.hpp |    13 -
 SRC/Boost/libs/serialization/util/test.jam         |   188 -
 .../vc7ide/BoostSerializationLibrary.sln           |  8086 -------
 SRC/Boost/libs/serialization/vc7ide/Manual.vcproj  |   260 -
 .../libs/serialization/vc7ide/Serialization.vcproj |   842 -
 .../serialization/vc7ide/SerializationW.vcproj     |   574 -
 SRC/Boost/libs/serialization/vc7ide/demo.vcproj    |   193 -
 .../libs/serialization/vc7ide/demo_auto_ptr.vcproj |   193 -
 .../libs/serialization/vc7ide/demo_dll.vcproj      |   213 -
 .../serialization/vc7ide/demo_exception.vcproj     |   193 -
 .../serialization/vc7ide/demo_fast_archive.vcproj  |   193 -
 .../libs/serialization/vc7ide/demo_log.vcproj      |   201 -
 .../libs/serialization/vc7ide/demo_pimpl.vcproj    |   199 -
 .../serialization/vc7ide/demo_polymorphic.vcproj   |   199 -
 .../vc7ide/demo_portable_archive.vcproj            |   215 -
 .../serialization/vc7ide/demo_shared_ptr.vcproj    |   193 -
 .../serialization/vc7ide/demo_simple_log.vcproj    |   199 -
 .../vc7ide/demo_trivial_archive.vcproj             |   196 -
 .../libs/serialization/vc7ide/demo_xml.vcproj      |   197 -
 .../libs/serialization/vc7ide/demo_xml_load.vcproj |   196 -
 .../libs/serialization/vc7ide/demo_xml_save.vcproj |   196 -
 SRC/Boost/libs/serialization/vc7ide/dll_a.vcproj   |   215 -
 .../libs/serialization/vc7ide/dll_base.vcproj      |   306 -
 .../libs/serialization/vc7ide/dll_derived2.vcproj  |   266 -
 .../vc7ide/dll_polymorphic_derived2.vcproj         |   267 -
 SRC/Boost/libs/serialization/vc7ide/fix_six.vcproj |   194 -
 .../libs/serialization/vc7ide/test_array.vcproj    |  1829 --
 .../libs/serialization/vc7ide/test_binary.vcproj   |   193 -
 .../libs/serialization/vc7ide/test_bitset.vcproj   |   193 -
 .../libs/serialization/vc7ide/test_check.vcproj    |   192 -
 .../vc7ide/test_class_info_load.vcproj             |   193 -
 .../vc7ide/test_class_info_save.vcproj             |   193 -
 .../serialization/vc7ide/test_codecvt_null.vcproj  |   196 -
 .../libs/serialization/vc7ide/test_complex.vcproj  |   196 -
 .../libs/serialization/vc7ide/test_const.vcproj    |   192 -
 .../serialization/vc7ide/test_const_fail.vcproj    |   225 -
 .../serialization/vc7ide/test_const_pass.vcproj    |   192 -
 .../vc7ide/test_contained_class.vcproj             |   201 -
 .../serialization/vc7ide/test_cyclic_ptrs.vcproj   |   202 -
 .../vc7ide/test_delete_pointer.vcproj              |   193 -
 .../libs/serialization/vc7ide/test_deque.vcproj    |   202 -
 .../libs/serialization/vc7ide/test_derived.vcproj  |   193 -
 .../serialization/vc7ide/test_derived_class.vcproj |   199 -
 .../vc7ide/test_derived_class_ptr.vcproj           |   199 -
 .../libs/serialization/vc7ide/test_diamond.vcproj  |   193 -
 .../vc7ide/test_diamond_complex.vcproj             |   193 -
 .../serialization/vc7ide/test_dll_exported.vcproj  |   203 -
 .../serialization/vc7ide/test_dll_plugin.vcproj    |   199 -
 .../serialization/vc7ide/test_dll_simple.vcproj    |   202 -
 .../libs/serialization/vc7ide/test_exported.vcproj |   202 -
 .../serialization/vc7ide/test_inclusion.vcproj     |   192 -
 .../serialization/vc7ide/test_iterators.vcproj     |   193 -
 .../vc7ide/test_iterators_base64.vcproj            |   193 -
 .../libs/serialization/vc7ide/test_list.vcproj     |   202 -
 .../serialization/vc7ide/test_list_ptrs.vcproj     |   202 -
 .../libs/serialization/vc7ide/test_map.vcproj      |   202 -
 SRC/Boost/libs/serialization/vc7ide/test_mi.vcproj |   193 -
 .../vc7ide/test_mult_archive_types.vcproj          |   193 -
 .../vc7ide/test_multiple_inheritance.vcproj        |   192 -
 .../serialization/vc7ide/test_multiple_ptrs.vcproj |   204 -
 .../serialization/vc7ide/test_new_operator.vcproj  |   202 -
 .../libs/serialization/vc7ide/test_no_rtti.vcproj  |   205 -
 .../vc7ide/test_non_default_ctor.vcproj            |   193 -
 .../vc7ide/test_non_default_ctor2.vcproj           |   193 -
 .../serialization/vc7ide/test_non_intrusive.vcproj |   193 -
 .../vc7ide/test_not_serializable.vcproj            |   192 -
 .../libs/serialization/vc7ide/test_null_ptr.vcproj |   193 -
 .../libs/serialization/vc7ide/test_nvp.vcproj      |   196 -
 .../libs/serialization/vc7ide/test_object.vcproj   |   193 -
 .../libs/serialization/vc7ide/test_optional.vcproj |   199 -
 .../serialization/vc7ide/test_polymorphic.vcproj   |   208 -
 .../serialization/vc7ide/test_polymorphic2.vcproj  |   202 -
 .../serialization/vc7ide/test_primitive.vcproj     |   193 -
 .../serialization/vc7ide/test_private_base.vcproj  |   199 -
 .../serialization/vc7ide/test_private_ctor.vcproj  |   193 -
 .../serialization/vc7ide/test_recursion.vcproj     |   193 -
 .../serialization/vc7ide/test_registered.vcproj    |   193 -
 .../vc7ide/test_reset_object_addr.vcproj           |   199 -
 .../libs/serialization/vc7ide/test_set.vcproj      |   199 -
 .../serialization/vc7ide/test_shared_ptr.vcproj    |   200 -
 .../vc7ide/test_shared_ptr_132.vcproj              |   212 -
 .../vc7ide/test_shared_ptr_multi_base.vcproj       |   196 -
 .../serialization/vc7ide/test_simple_class.vcproj  |   204 -
 .../vc7ide/test_simple_class_ptr.vcproj            |   208 -
 .../serialization/vc7ide/test_singleton.vcproj     |   196 -
 .../serialization/vc7ide/test_smart_cast.vcproj    |   196 -
 .../libs/serialization/vc7ide/test_split.vcproj    |   193 -
 .../vc7ide/test_static_warning.vcproj              |   193 -
 .../vc7ide/test_strong_typedef.vcproj              |   196 -
 .../libs/serialization/vc7ide/test_tracking.vcproj |   225 -
 .../serialization/vc7ide/test_traits_fail.vcproj   |   192 -
 .../serialization/vc7ide/test_traits_pass.vcproj   |   138 -
 .../serialization/vc7ide/test_unregistered.vcproj  |   193 -
 .../serialization/vc7ide/test_utf8_codecvt.vcproj  |   202 -
 .../libs/serialization/vc7ide/test_valarray.vcproj |   196 -
 .../libs/serialization/vc7ide/test_variant.vcproj  |   196 -
 .../libs/serialization/vc7ide/test_vector.vcproj   |   202 -
 .../serialization/vc7ide/test_void_cast.vcproj     |   197 -
 SRC/Boost/libs/smart_ptr/src/sp_collector.cpp      |   270 -
 SRC/Boost/libs/smart_ptr/src/sp_debug_hooks.cpp    |   243 -
 SRC/Boost/libs/system/build/Jamfile.v2             |    25 -
 SRC/Boost/libs/system/src/error_code.cpp           |   429 -
 .../libs/system/src/local_free_on_destruction.hpp  |    40 -
 SRC/Boost/libs/test/build/Jamfile.v2               |   111 -
 SRC/Boost/libs/test/src/compiler_log_formatter.cpp |    18 -
 SRC/Boost/libs/test/src/cpp_main.cpp               |    19 -
 SRC/Boost/libs/test/src/debug.cpp                  |    24 -
 SRC/Boost/libs/test/src/exception_safety.cpp       |    19 -
 SRC/Boost/libs/test/src/execution_monitor.cpp      |    18 -
 SRC/Boost/libs/test/src/framework.cpp              |    18 -
 SRC/Boost/libs/test/src/interaction_based.cpp      |    18 -
 SRC/Boost/libs/test/src/logged_expectations.cpp    |    18 -
 SRC/Boost/libs/test/src/plain_report_formatter.cpp |    18 -
 SRC/Boost/libs/test/src/progress_monitor.cpp       |    18 -
 SRC/Boost/libs/test/src/results_collector.cpp      |    18 -
 SRC/Boost/libs/test/src/results_reporter.cpp       |    18 -
 SRC/Boost/libs/test/src/test_main.cpp              |    18 -
 SRC/Boost/libs/test/src/test_tools.cpp             |    18 -
 SRC/Boost/libs/test/src/unit_test_log.cpp          |    18 -
 SRC/Boost/libs/test/src/unit_test_main.cpp         |    18 -
 SRC/Boost/libs/test/src/unit_test_monitor.cpp      |    18 -
 SRC/Boost/libs/test/src/unit_test_parameters.cpp   |    18 -
 SRC/Boost/libs/test/src/unit_test_suite.cpp        |    18 -
 SRC/Boost/libs/test/src/xml_log_formatter.cpp      |    18 -
 SRC/Boost/libs/test/src/xml_report_formatter.cpp   |    18 -
 SRC/Boost/libs/type_traits/cxx_type_traits.htm     |    19 -
 SRC/Boost/libs/type_traits/doc/Jamfile.v2          |    72 -
 SRC/Boost/libs/type_traits/doc/add_const.qbk       |    41 -
 SRC/Boost/libs/type_traits/doc/add_cv.qbk          |    41 -
 .../libs/type_traits/doc/add_lvalue_reference.qbk  |    47 -
 SRC/Boost/libs/type_traits/doc/add_pointer.qbk     |    45 -
 SRC/Boost/libs/type_traits/doc/add_reference.qbk   |    47 -
 .../libs/type_traits/doc/add_rvalue_reference.qbk  |    50 -
 SRC/Boost/libs/type_traits/doc/add_volatile.qbk    |    41 -
 SRC/Boost/libs/type_traits/doc/aligned_storage.qbk |    22 -
 SRC/Boost/libs/type_traits/doc/alignment_of.qbk    |    34 -
 .../libs/type_traits/doc/alignment_traits.qbk      |    24 -
 SRC/Boost/libs/type_traits/doc/background.qbk      |   322 -
 SRC/Boost/libs/type_traits/doc/common_type.qbk     |   227 -
 SRC/Boost/libs/type_traits/doc/conditional.qbk     |    24 -
 SRC/Boost/libs/type_traits/doc/credits.qbk         |    41 -
 SRC/Boost/libs/type_traits/doc/decay.qbk           |    40 -
 .../libs/type_traits/doc/decomposing_func.qbk      |    20 -
 SRC/Boost/libs/type_traits/doc/examples.qbk        |   237 -
 SRC/Boost/libs/type_traits/doc/extent.qbk          |    48 -
 .../type_traits/doc/floating_point_promotion.qbk   |    37 -
 SRC/Boost/libs/type_traits/doc/function_traits.qbk |    56 -
 SRC/Boost/libs/type_traits/doc/has_bit_and.qbk     |   109 -
 .../libs/type_traits/doc/has_bit_and_assign.qbk    |   109 -
 SRC/Boost/libs/type_traits/doc/has_bit_or.qbk      |   109 -
 .../libs/type_traits/doc/has_bit_or_assign.qbk     |   109 -
 SRC/Boost/libs/type_traits/doc/has_bit_xor.qbk     |   109 -
 .../libs/type_traits/doc/has_bit_xor_assign.qbk    |   109 -
 SRC/Boost/libs/type_traits/doc/has_complement.qbk  |   111 -
 SRC/Boost/libs/type_traits/doc/has_dereference.qbk |   114 -
 SRC/Boost/libs/type_traits/doc/has_divides.qbk     |   111 -
 .../libs/type_traits/doc/has_divides_assign.qbk    |   111 -
 SRC/Boost/libs/type_traits/doc/has_equal_to.qbk    |   111 -
 SRC/Boost/libs/type_traits/doc/has_greater.qbk     |   111 -
 .../libs/type_traits/doc/has_greater_equal.qbk     |   111 -
 SRC/Boost/libs/type_traits/doc/has_left_shift.qbk  |   112 -
 .../libs/type_traits/doc/has_left_shift_assign.qbk |   109 -
 SRC/Boost/libs/type_traits/doc/has_less.qbk        |   111 -
 SRC/Boost/libs/type_traits/doc/has_less_equal.qbk  |   111 -
 SRC/Boost/libs/type_traits/doc/has_logical_and.qbk |   110 -
 SRC/Boost/libs/type_traits/doc/has_logical_not.qbk |   110 -
 SRC/Boost/libs/type_traits/doc/has_logical_or.qbk  |   110 -
 SRC/Boost/libs/type_traits/doc/has_minus.qbk       |   111 -
 .../libs/type_traits/doc/has_minus_assign.qbk      |   111 -
 SRC/Boost/libs/type_traits/doc/has_modulus.qbk     |   109 -
 .../libs/type_traits/doc/has_modulus_assign.qbk    |   109 -
 SRC/Boost/libs/type_traits/doc/has_multiplies.qbk  |   111 -
 .../libs/type_traits/doc/has_multiplies_assign.qbk |   111 -
 SRC/Boost/libs/type_traits/doc/has_negate.qbk      |   110 -
 .../libs/type_traits/doc/has_new_operator.qbk      |    49 -
 .../libs/type_traits/doc/has_not_equal_to.qbk      |   111 -
 .../libs/type_traits/doc/has_nothrow_assign.qbk    |    29 -
 .../type_traits/doc/has_nothrow_constructor.qbk    |    36 -
 .../libs/type_traits/doc/has_nothrow_copy.qbk      |    36 -
 SRC/Boost/libs/type_traits/doc/has_plus.qbk        |   111 -
 SRC/Boost/libs/type_traits/doc/has_plus_assign.qbk |   111 -
 .../libs/type_traits/doc/has_post_decrement.qbk    |   112 -
 .../libs/type_traits/doc/has_post_increment.qbk    |   112 -
 .../libs/type_traits/doc/has_pre_decrement.qbk     |   112 -
 .../libs/type_traits/doc/has_pre_increment.qbk     |   112 -
 SRC/Boost/libs/type_traits/doc/has_right_shift.qbk |   112 -
 .../type_traits/doc/has_right_shift_assign.qbk     |   109 -
 .../libs/type_traits/doc/has_trivial_assign.qbk    |    50 -
 .../type_traits/doc/has_trivial_constructor.qbk    |    58 -
 .../libs/type_traits/doc/has_trivial_copy.qbk      |    56 -
 .../type_traits/doc/has_trivial_destructor.qbk     |    52 -
 SRC/Boost/libs/type_traits/doc/has_unary_minus.qbk |   110 -
 SRC/Boost/libs/type_traits/doc/has_unary_plus.qbk  |   110 -
 .../type_traits/doc/has_virtual_destructor.qbk     |    32 -
 SRC/Boost/libs/type_traits/doc/history.qbk         |    35 -
 .../doc/html/boost_typetraits/background.html      |   687 -
 .../doc/html/boost_typetraits/category.html        |    67 -
 .../html/boost_typetraits/category/alignment.html  |    63 -
 .../html/boost_typetraits/category/function.html   |    60 -
 .../html/boost_typetraits/category/transform.html  |   179 -
 .../boost_typetraits/category/value_traits.html    |    68 -
 .../category/value_traits/operators.html           |  1445 --
 .../category/value_traits/primary.html             |   137 -
 .../category/value_traits/properties.html          |   129 -
 .../category/value_traits/relate.html              |    67 -
 .../doc/html/boost_typetraits/credits.html         |    80 -
 .../doc/html/boost_typetraits/examples.html        |    61 -
 .../doc/html/boost_typetraits/examples/copy.html   |    96 -
 .../html/boost_typetraits/examples/destruct.html   |    83 -
 .../doc/html/boost_typetraits/examples/fill.html   |    90 -
 .../boost_typetraits/examples/improved_min.html    |    65 -
 .../doc/html/boost_typetraits/examples/iter.html   |    99 -
 .../html/boost_typetraits/examples/to_double.html  |    59 -
 .../doc/html/boost_typetraits/history.html         |   100 -
 .../doc/html/boost_typetraits/intrinsics.html      |   357 -
 .../doc/html/boost_typetraits/intro.html           |    66 -
 .../type_traits/doc/html/boost_typetraits/mpl.html |    63 -
 .../doc/html/boost_typetraits/reference.html       |   163 -
 .../html/boost_typetraits/reference/add_const.html |   146 -
 .../html/boost_typetraits/reference/add_cv.html    |   149 -
 .../reference/add_lvalue_reference.html            |   175 -
 .../boost_typetraits/reference/add_pointer.html    |   148 -
 .../boost_typetraits/reference/add_reference.html  |   157 -
 .../reference/add_rvalue_reference.html            |   173 -
 .../boost_typetraits/reference/add_volatile.html   |   147 -
 .../reference/aligned_storage.html                 |    63 -
 .../boost_typetraits/reference/alignment_of.html   |    83 -
 .../boost_typetraits/reference/common_type.html    |   353 -
 .../reference/common_type_hpp.html                 |   117 -
 .../boost_typetraits/reference/conditional.html    |    63 -
 .../doc/html/boost_typetraits/reference/decay.html |   152 -
 .../html/boost_typetraits/reference/extent.html    |   109 -
 .../reference/floating_point_promotion.html        |   129 -
 .../reference/function_traits.html                 |   285 -
 .../boost_typetraits/reference/has_bit_and.html    |   192 -
 .../reference/has_bit_and_assign.html              |   192 -
 .../boost_typetraits/reference/has_bit_or.html     |   190 -
 .../reference/has_bit_or_assign.html               |   192 -
 .../boost_typetraits/reference/has_bit_xor.html    |   190 -
 .../reference/has_bit_xor_assign.html              |   192 -
 .../boost_typetraits/reference/has_complement.html |   199 -
 .../reference/has_dereference.html                 |   208 -
 .../boost_typetraits/reference/has_divides.html    |   196 -
 .../reference/has_divides_assign.html              |   198 -
 .../boost_typetraits/reference/has_equal_to.html   |   197 -
 .../boost_typetraits/reference/has_greater.html    |   197 -
 .../reference/has_greater_equal.html               |   197 -
 .../boost_typetraits/reference/has_left_shift.html |   204 -
 .../reference/has_left_shift_assign.html           |   192 -
 .../html/boost_typetraits/reference/has_less.html  |   197 -
 .../boost_typetraits/reference/has_less_equal.html |   197 -
 .../reference/has_logical_and.html                 |   195 -
 .../reference/has_logical_not.html                 |   195 -
 .../boost_typetraits/reference/has_logical_or.html |   195 -
 .../html/boost_typetraits/reference/has_minus.html |   196 -
 .../reference/has_minus_assign.html                |   198 -
 .../boost_typetraits/reference/has_modulus.html    |   189 -
 .../reference/has_modulus_assign.html              |   191 -
 .../boost_typetraits/reference/has_multiplies.html |   196 -
 .../reference/has_multiplies_assign.html           |   198 -
 .../boost_typetraits/reference/has_negate.html     |   195 -
 .../reference/has_new_operator.html                |   109 -
 .../reference/has_no_throw_def_cons.html           |    50 -
 .../reference/has_not_equal_to.html                |   197 -
 .../reference/has_nothrow_assign.html              |    74 -
 .../reference/has_nothrow_constructor.html         |    84 -
 .../reference/has_nothrow_copy.html                |    84 -
 .../reference/has_nothrow_cp_cons.html             |    50 -
 .../html/boost_typetraits/reference/has_plus.html  |   196 -
 .../reference/has_plus_assign.html                 |   198 -
 .../reference/has_post_decrement.html              |   205 -
 .../reference/has_post_increment.html              |   205 -
 .../reference/has_pre_decrement.html               |   205 -
 .../reference/has_pre_increment.html               |   205 -
 .../reference/has_right_shift.html                 |   204 -
 .../reference/has_right_shift_assign.html          |   196 -
 .../reference/has_trivial_assign.html              |   105 -
 .../reference/has_trivial_constructor.html         |   114 -
 .../reference/has_trivial_copy.html                |   111 -
 .../reference/has_trivial_cp_cons.html             |    50 -
 .../reference/has_trivial_def_cons.html            |    50 -
 .../reference/has_trivial_destructor.html          |   108 -
 .../reference/has_unary_minus.html                 |   195 -
 .../boost_typetraits/reference/has_unary_plus.html |   195 -
 .../reference/has_virtual_destructor.html          |    78 -
 .../reference/integral_constant.html               |    65 -
 .../reference/integral_promotion.html              |   131 -
 .../boost_typetraits/reference/is_abstract.html    |    93 -
 .../boost_typetraits/reference/is_arithmetic.html  |    82 -
 .../html/boost_typetraits/reference/is_array.html  |    84 -
 .../boost_typetraits/reference/is_base_of.html     |   111 -
 .../html/boost_typetraits/reference/is_class.html  |   104 -
 .../boost_typetraits/reference/is_complex.html     |    64 -
 .../boost_typetraits/reference/is_compound.html    |    89 -
 .../html/boost_typetraits/reference/is_const.html  |    93 -
 .../boost_typetraits/reference/is_convertible.html |   133 -
 .../html/boost_typetraits/reference/is_empty.html  |   109 -
 .../html/boost_typetraits/reference/is_enum.html   |   100 -
 .../reference/is_floating_point.html               |    80 -
 .../boost_typetraits/reference/is_function.html    |   148 -
 .../boost_typetraits/reference/is_fundamental.html |    85 -
 .../boost_typetraits/reference/is_integral.html    |    81 -
 .../reference/is_lvalue_reference.html             |    92 -
 .../reference/is_member_function_pointer.html      |    88 -
 .../reference/is_member_object_pointer.html        |    88 -
 .../reference/is_member_pointer.html               |    81 -
 .../html/boost_typetraits/reference/is_object.html |    99 -
 .../html/boost_typetraits/reference/is_pod.html    |   110 -
 .../boost_typetraits/reference/is_pointer.html     |   106 -
 .../boost_typetraits/reference/is_polymorphic.html |    91 -
 .../boost_typetraits/reference/is_reference.html   |    92 -
 .../reference/is_rvalue_reference.html             |    92 -
 .../html/boost_typetraits/reference/is_same.html   |    91 -
 .../html/boost_typetraits/reference/is_scalar.html |    99 -
 .../html/boost_typetraits/reference/is_signed.html |    93 -
 .../boost_typetraits/reference/is_stateless.html   |    91 -
 .../html/boost_typetraits/reference/is_union.html  |   106 -
 .../boost_typetraits/reference/is_unsigned.html    |    94 -
 .../reference/is_virtual_base_of.html              |   117 -
 .../html/boost_typetraits/reference/is_void.html   |    85 -
 .../boost_typetraits/reference/is_volatile.html    |    85 -
 .../boost_typetraits/reference/make_signed.html    |   161 -
 .../boost_typetraits/reference/make_unsigned.html  |   162 -
 .../html/boost_typetraits/reference/promote.html   |   131 -
 .../doc/html/boost_typetraits/reference/rank.html  |    95 -
 .../reference/remove_all_extents.html              |   160 -
 .../boost_typetraits/reference/remove_const.html   |   158 -
 .../html/boost_typetraits/reference/remove_cv.html |   158 -
 .../boost_typetraits/reference/remove_extent.html  |   158 -
 .../boost_typetraits/reference/remove_pointer.html |   161 -
 .../reference/remove_reference.html                |   158 -
 .../reference/remove_volatile.html                 |   161 -
 .../reference/type_with_alignment.html             |    62 -
 .../doc/html/boost_typetraits/user_defined.html    |    81 -
 SRC/Boost/libs/type_traits/doc/html/index.html     |   221 -
 SRC/Boost/libs/type_traits/doc/html/index/s11.html |   418 -
 SRC/Boost/libs/type_traits/doc/html/index/s12.html |    84 -
 SRC/Boost/libs/type_traits/doc/html/index/s13.html |   167 -
 SRC/Boost/libs/type_traits/doc/html/index/s14.html |   996 -
 SRC/Boost/libs/type_traits/doc/index.idx           |    23 -
 .../libs/type_traits/doc/integral_constant.qbk     |    26 -
 .../libs/type_traits/doc/integral_promotion.qbk    |    37 -
 SRC/Boost/libs/type_traits/doc/intrinsics.qbk      |    72 -
 SRC/Boost/libs/type_traits/doc/is_abstract.qbk     |    41 -
 SRC/Boost/libs/type_traits/doc/is_arithmetic.qbk   |    32 -
 SRC/Boost/libs/type_traits/doc/is_array.qbk        |    35 -
 SRC/Boost/libs/type_traits/doc/is_base_of.qbk      |    53 -
 SRC/Boost/libs/type_traits/doc/is_class.qbk        |    47 -
 SRC/Boost/libs/type_traits/doc/is_complex.qbk      |    21 -
 SRC/Boost/libs/type_traits/doc/is_compound.qbk     |    38 -
 SRC/Boost/libs/type_traits/doc/is_const.qbk        |    43 -
 SRC/Boost/libs/type_traits/doc/is_convertible.qbk  |    67 -
 SRC/Boost/libs/type_traits/doc/is_empty.qbk        |    46 -
 SRC/Boost/libs/type_traits/doc/is_enum.qbk         |    44 -
 .../libs/type_traits/doc/is_floating_point.qbk     |    31 -
 SRC/Boost/libs/type_traits/doc/is_function.qbk     |    74 -
 SRC/Boost/libs/type_traits/doc/is_fundamental.qbk  |    32 -
 SRC/Boost/libs/type_traits/doc/is_integral.qbk     |    31 -
 .../libs/type_traits/doc/is_lvalue_reference.qbk   |    40 -
 .../type_traits/doc/is_member_function_pointer.qbk |    37 -
 .../type_traits/doc/is_member_object_pointer.qbk   |    37 -
 .../libs/type_traits/doc/is_member_pointer.qbk     |    33 -
 SRC/Boost/libs/type_traits/doc/is_object.qbk       |    45 -
 SRC/Boost/libs/type_traits/doc/is_pod.qbk          |    55 -
 SRC/Boost/libs/type_traits/doc/is_pointer.qbk      |    45 -
 SRC/Boost/libs/type_traits/doc/is_polymorphic.qbk  |    37 -
 SRC/Boost/libs/type_traits/doc/is_reference.qbk    |    40 -
 .../libs/type_traits/doc/is_rvalue_reference.qbk   |    40 -
 SRC/Boost/libs/type_traits/doc/is_same.qbk         |    39 -
 SRC/Boost/libs/type_traits/doc/is_scalar.qbk       |    44 -
 SRC/Boost/libs/type_traits/doc/is_signed.qbk       |    42 -
 SRC/Boost/libs/type_traits/doc/is_stateless.qbk    |    42 -
 SRC/Boost/libs/type_traits/doc/is_union.qbk        |    48 -
 SRC/Boost/libs/type_traits/doc/is_unsigned.qbk     |    42 -
 .../libs/type_traits/doc/is_virtual_base_of.qbk    |    50 -
 SRC/Boost/libs/type_traits/doc/is_void.qbk         |    34 -
 SRC/Boost/libs/type_traits/doc/is_volatile.qbk     |    35 -
 SRC/Boost/libs/type_traits/doc/make_signed.qbk     |    47 -
 SRC/Boost/libs/type_traits/doc/make_unsigned.qbk   |    47 -
 SRC/Boost/libs/type_traits/doc/mpl.qbk             |    20 -
 SRC/Boost/libs/type_traits/doc/operators.qbk       |   501 -
 SRC/Boost/libs/type_traits/doc/promote.qbk         |    38 -
 SRC/Boost/libs/type_traits/doc/rank.qbk            |    40 -
 .../libs/type_traits/doc/remove_all_extents.qbk    |    44 -
 SRC/Boost/libs/type_traits/doc/remove_const.qbk    |    43 -
 SRC/Boost/libs/type_traits/doc/remove_cv.qbk       |    43 -
 SRC/Boost/libs/type_traits/doc/remove_extent.qbk   |    44 -
 SRC/Boost/libs/type_traits/doc/remove_pointer.qbk  |    44 -
 .../libs/type_traits/doc/remove_reference.qbk      |    43 -
 SRC/Boost/libs/type_traits/doc/remove_volatile.qbk |    43 -
 .../libs/type_traits/doc/transform_traits.qbk      |   130 -
 SRC/Boost/libs/type_traits/doc/type_traits.qbk     |   308 -
 .../libs/type_traits/doc/type_with_alignment.qbk   |    22 -
 SRC/Boost/libs/type_traits/doc/user_defined.qbk    |    43 -
 SRC/Boost/libs/type_traits/doc/value_traits.qbk    |   208 -
 .../libs/type_traits/examples/copy_example.cpp     |   197 -
 .../libs/type_traits/examples/fill_example.cpp     |   200 -
 .../type_traits/examples/iter_swap_example.cpp     |    97 -
 .../examples/trivial_destructor_example.cpp        |   153 -
 SRC/Boost/libs/type_traits/index.html              |    19 -
 SRC/Boost/libs/type_traits/test/Jamfile.v2         |    39 -
 SRC/Boost/libs/type_traits/test/add_const_test.cpp |    61 -
 SRC/Boost/libs/type_traits/test/add_cv_test.cpp    |    61 -
 .../type_traits/test/add_lvalue_reference_test.cpp |    63 -
 .../libs/type_traits/test/add_pointer_test.cpp     |    41 -
 .../libs/type_traits/test/add_reference_test.cpp   |    63 -
 .../type_traits/test/add_rvalue_reference_test.cpp |    80 -
 .../libs/type_traits/test/add_volatile_test.cpp    |    59 -
 .../type_traits/test/aligned_storage_empy_test.cpp |   128 -
 .../libs/type_traits/test/aligned_storage_test.cpp |   116 -
 .../type_traits/test/aligned_storage_test_a2.cpp   |   113 -
 .../libs/type_traits/test/alignment_of_a2_test.cpp |   126 -
 .../libs/type_traits/test/alignment_of_test.cpp    |   121 -
 .../type_traits/test/check_integral_constant.hpp   |    83 -
 SRC/Boost/libs/type_traits/test/check_type.hpp     |    71 -
 .../libs/type_traits/test/common_type_2_test.cpp   |   217 -
 .../libs/type_traits/test/common_type_fail.cpp     |    27 -
 .../libs/type_traits/test/common_type_test.cpp     |   210 -
 .../libs/type_traits/test/conditional_test.cpp     |    31 -
 SRC/Boost/libs/type_traits/test/decay_test.cpp     |   127 -
 SRC/Boost/libs/type_traits/test/extent_test.cpp    |    49 -
 .../libs/type_traits/test/function_traits_test.cpp |    68 -
 .../libs/type_traits/test/has_binary_classes.hpp   |   252 -
 .../type_traits/test/has_binary_classes0_test.cpp  |   263 -
 .../type_traits/test/has_binary_classes1_test.cpp  |   263 -
 .../type_traits/test/has_binary_classes2_test.cpp  |   263 -
 .../type_traits/test/has_binary_classes3_test.cpp  |   263 -
 .../type_traits/test/has_binary_classes4_test.cpp  |   263 -
 .../type_traits/test/has_binary_classes5_test.cpp  |   263 -
 .../type_traits/test/has_binary_classes6_test.cpp  |   263 -
 .../type_traits/test/has_binary_classes7_test.cpp  |   263 -
 .../type_traits/test/has_binary_classes8_test.cpp  |   263 -
 .../type_traits/test/has_binary_classes9_test.cpp  |   263 -
 .../libs/type_traits/test/has_binary_operators.hpp |   145 -
 .../type_traits/test/has_bit_and_assign_test.cpp   |   228 -
 .../libs/type_traits/test/has_bit_and_test.cpp     |   228 -
 .../type_traits/test/has_bit_or_assign_test.cpp    |   228 -
 .../libs/type_traits/test/has_bit_or_test.cpp      |   228 -
 .../type_traits/test/has_bit_xor_assign_test.cpp   |   228 -
 .../libs/type_traits/test/has_bit_xor_test.cpp     |   228 -
 .../libs/type_traits/test/has_complement_test.cpp  |   228 -
 .../libs/type_traits/test/has_dereference_test.cpp |   228 -
 .../type_traits/test/has_divides_assign_test.cpp   |   228 -
 .../libs/type_traits/test/has_divides_test.cpp     |   228 -
 .../libs/type_traits/test/has_equal_to_test.cpp    |   228 -
 .../type_traits/test/has_greater_equal_test.cpp    |   228 -
 .../libs/type_traits/test/has_greater_test.cpp     |   228 -
 .../test/has_left_shift_assign_test.cpp            |   228 -
 .../libs/type_traits/test/has_left_shift_test.cpp  |   250 -
 .../libs/type_traits/test/has_less_equal_test.cpp  |   228 -
 SRC/Boost/libs/type_traits/test/has_less_test.cpp  |   228 -
 .../libs/type_traits/test/has_logical_and_test.cpp |   228 -
 .../libs/type_traits/test/has_logical_not_test.cpp |   231 -
 .../libs/type_traits/test/has_logical_or_test.cpp  |   228 -
 .../type_traits/test/has_minus_assign_test.cpp     |   228 -
 SRC/Boost/libs/type_traits/test/has_minus_test.cpp |   228 -
 .../type_traits/test/has_modulus_assign_test.cpp   |   228 -
 .../libs/type_traits/test/has_modulus_test.cpp     |   228 -
 .../test/has_multiplies_assign_test.cpp            |   228 -
 .../libs/type_traits/test/has_multiplies_test.cpp  |   228 -
 .../libs/type_traits/test/has_negate_test.cpp      |   228 -
 .../type_traits/test/has_not_equal_to_test.cpp     |   228 -
 .../type_traits/test/has_nothrow_assign_test.cpp   |   211 -
 .../type_traits/test/has_nothrow_constr_test.cpp   |   169 -
 .../type_traits/test/has_nothrow_copy_test.cpp     |   207 -
 .../type_traits/test/has_operator_new_test.cpp     |   202 -
 .../libs/type_traits/test/has_plus_assign_test.cpp |   228 -
 SRC/Boost/libs/type_traits/test/has_plus_test.cpp  |   228 -
 .../type_traits/test/has_post_decrement_test.cpp   |   228 -
 .../type_traits/test/has_post_increment_test.cpp   |   228 -
 .../libs/type_traits/test/has_postfix_classes.hpp  |    72 -
 .../type_traits/test/has_postfix_classes0_test.cpp |   113 -
 .../type_traits/test/has_postfix_classes1_test.cpp |   113 -
 .../type_traits/test/has_postfix_classes2_test.cpp |   113 -
 .../type_traits/test/has_postfix_classes3_test.cpp |   113 -
 .../type_traits/test/has_postfix_operators.hpp     |   131 -
 .../type_traits/test/has_pre_decrement_test.cpp    |   228 -
 .../type_traits/test/has_pre_increment_test.cpp    |   228 -
 .../libs/type_traits/test/has_prefix_classes.hpp   |    72 -
 .../type_traits/test/has_prefix_classes0_test.cpp  |   113 -
 .../type_traits/test/has_prefix_classes1_test.cpp  |   113 -
 .../type_traits/test/has_prefix_classes2_test.cpp  |   113 -
 .../type_traits/test/has_prefix_classes3_test.cpp  |   113 -
 .../libs/type_traits/test/has_prefix_operators.hpp |   128 -
 .../test/has_right_shift_assign_test.cpp           |   228 -
 .../libs/type_traits/test/has_right_shift_test.cpp |   247 -
 .../type_traits/test/has_trivial_assign_test.cpp   |   209 -
 .../type_traits/test/has_trivial_constr_test.cpp   |   181 -
 .../type_traits/test/has_trivial_copy_test.cpp     |   214 -
 .../test/has_trivial_destructor_test.cpp           |   176 -
 .../libs/type_traits/test/has_unary_minus_test.cpp |   228 -
 .../libs/type_traits/test/has_unary_plus_test.cpp  |   228 -
 .../test/has_virtual_destructor_test.cpp           |    75 -
 SRC/Boost/libs/type_traits/test/init.cpp           |    23 -
 .../libs/type_traits/test/is_abstract_test.cpp     |   445 -
 .../libs/type_traits/test/is_arithmetic_test.cpp   |   155 -
 SRC/Boost/libs/type_traits/test/is_array_test.cpp  |    55 -
 .../type_traits/test/is_base_and_derived_test.cpp  |    70 -
 .../libs/type_traits/test/is_base_of_test.cpp      |    59 -
 SRC/Boost/libs/type_traits/test/is_class_test.cpp  |    69 -
 .../libs/type_traits/test/is_complex_test.cpp      |    45 -
 .../libs/type_traits/test/is_compound_test.cpp     |    31 -
 SRC/Boost/libs/type_traits/test/is_const_test.cpp  |    49 -
 .../libs/type_traits/test/is_convertible_test.cpp  |   191 -
 SRC/Boost/libs/type_traits/test/is_empty_test.cpp  |    54 -
 SRC/Boost/libs/type_traits/test/is_enum_test.cpp   |    36 -
 SRC/Boost/libs/type_traits/test/is_float_test.cpp  |    67 -
 .../type_traits/test/is_floating_point_test.cpp    |    67 -
 .../libs/type_traits/test/is_function_test.cpp     |    70 -
 .../libs/type_traits/test/is_fundamental_test.cpp  |   159 -
 .../libs/type_traits/test/is_integral_test.cpp     |   146 -
 .../type_traits/test/is_lvalue_reference_test.cpp  |    56 -
 .../libs/type_traits/test/is_member_func_test.cpp  |    56 -
 .../libs/type_traits/test/is_member_obj_test.cpp   |    42 -
 .../type_traits/test/is_member_pointer_test.cpp    |    48 -
 SRC/Boost/libs/type_traits/test/is_object_test.cpp |    38 -
 SRC/Boost/libs/type_traits/test/is_pod_test.cpp    |   181 -
 .../libs/type_traits/test/is_pointer_test.cpp      |    64 -
 .../libs/type_traits/test/is_polymorphic_test.cpp  |    91 -
 .../libs/type_traits/test/is_reference_test.cpp    |    55 -
 .../type_traits/test/is_rvalue_reference_test.cpp  |    54 -
 SRC/Boost/libs/type_traits/test/is_same_test.cpp   |    43 -
 SRC/Boost/libs/type_traits/test/is_scalar_test.cpp |   160 -
 SRC/Boost/libs/type_traits/test/is_signed_test.cpp |    42 -
 .../libs/type_traits/test/is_stateless_test.cpp    |   168 -
 SRC/Boost/libs/type_traits/test/is_union_test.cpp  |    79 -
 .../libs/type_traits/test/is_unsigned_test.cpp     |    42 -
 .../type_traits/test/is_virtual_base_of_test.cpp   |    88 -
 SRC/Boost/libs/type_traits/test/is_void_test.cpp   |    44 -
 .../libs/type_traits/test/is_volatile_test.cpp     |    50 -
 .../libs/type_traits/test/make_signed_test.cpp     |   107 -
 .../libs/type_traits/test/make_unsigned_test.cpp   |   107 -
 .../libs/type_traits/test/promote_basic_test.cpp   |   153 -
 .../test/promote_enum_msvc_bug_test.cpp            |    44 -
 .../libs/type_traits/test/promote_enum_test.cpp    |   157 -
 .../libs/type_traits/test/promote_mpl_test.cpp     |    47 -
 SRC/Boost/libs/type_traits/test/promote_util.hpp   |    37 -
 SRC/Boost/libs/type_traits/test/rank_test.cpp      |    36 -
 .../type_traits/test/remove_all_extents_test.cpp   |    67 -
 .../libs/type_traits/test/remove_bounds_test.cpp   |    67 -
 .../libs/type_traits/test/remove_const_test.cpp    |    59 -
 SRC/Boost/libs/type_traits/test/remove_cv_test.cpp |    67 -
 .../libs/type_traits/test/remove_extent_test.cpp   |    67 -
 .../libs/type_traits/test/remove_pointer_test.cpp  |    68 -
 .../type_traits/test/remove_reference_test.cpp     |    67 -
 .../libs/type_traits/test/remove_volatile_test.cpp |    61 -
 SRC/Boost/libs/type_traits/test/test.hpp           |   442 -
 .../type_traits/test/tricky_abstract_type_test.cpp |    31 -
 .../type_traits/test/tricky_add_pointer_test.cpp   |    51 -
 .../type_traits/test/tricky_function_type_test.cpp |   108 -
 .../test/tricky_incomplete_type_test.cpp           |    37 -
 .../libs/type_traits/test/tricky_is_enum_test.cpp  |    27 -
 .../type_traits/test/tricky_partial_spec_test.cpp  |   128 -
 .../libs/type_traits/test/tricky_rvalue_test.cpp   |    33 -
 .../libs/type_traits/test/type_traits_test.cpp     |   103 -
 .../type_traits/test/type_with_alignment_test.cpp  |   112 -
 .../libs/type_traits/test/udt_specialisations.cpp  |    48 -
 .../libs/type_traits/tools/specialisations.cpp     |   122 -
 SRC/Boost/tools/build/boost.css                    |    65 -
 SRC/Boost/tools/build/index.html                   |    21 -
 SRC/Boost/tools/build/v2/Jamroot.jam               |    47 -
 SRC/Boost/tools/build/v2/boost-build.jam           |     8 -
 SRC/Boost/tools/build/v2/boost.css                 |    63 -
 SRC/Boost/tools/build/v2/boost_build.png           |   Bin 7437 -> 0 bytes
 SRC/Boost/tools/build/v2/boost_build.svg           |   174 -
 SRC/Boost/tools/build/v2/bootstrap.bat             |    49 -
 SRC/Boost/tools/build/v2/bootstrap.jam             |    18 -
 SRC/Boost/tools/build/v2/bootstrap.sh              |   120 -
 SRC/Boost/tools/build/v2/build-system.jam          |  1008 -
 SRC/Boost/tools/build/v2/build/__init__.py         |     0
 SRC/Boost/tools/build/v2/build/ac.jam              |   198 -
 SRC/Boost/tools/build/v2/build/alias.jam           |    73 -
 SRC/Boost/tools/build/v2/build/alias.py            |    63 -
 SRC/Boost/tools/build/v2/build/build-request.jam   |   322 -
 SRC/Boost/tools/build/v2/build/build_request.py    |   216 -
 SRC/Boost/tools/build/v2/build/configure.jam       |   237 -
 SRC/Boost/tools/build/v2/build/configure.py        |   164 -
 SRC/Boost/tools/build/v2/build/engine.py           |   172 -
 SRC/Boost/tools/build/v2/build/errors.py           |   127 -
 SRC/Boost/tools/build/v2/build/feature.jam         |  1335 --
 SRC/Boost/tools/build/v2/build/feature.py          |   905 -
 SRC/Boost/tools/build/v2/build/generators.jam      |  1408 --
 SRC/Boost/tools/build/v2/build/generators.py       |  1089 -
 SRC/Boost/tools/build/v2/build/modifiers.jam       |   232 -
 SRC/Boost/tools/build/v2/build/project.ann.py      |   996 -
 SRC/Boost/tools/build/v2/build/project.jam         |  1110 -
 SRC/Boost/tools/build/v2/build/project.py          |  1120 -
 SRC/Boost/tools/build/v2/build/property-set.jam    |   481 -
 SRC/Boost/tools/build/v2/build/property.jam        |   788 -
 SRC/Boost/tools/build/v2/build/property.py         |   593 -
 SRC/Boost/tools/build/v2/build/property_set.py     |   449 -
 SRC/Boost/tools/build/v2/build/readme.txt          |    13 -
 SRC/Boost/tools/build/v2/build/scanner.jam         |   153 -
 SRC/Boost/tools/build/v2/build/scanner.py          |   158 -
 SRC/Boost/tools/build/v2/build/targets.jam         |  1659 --
 SRC/Boost/tools/build/v2/build/targets.py          |  1401 --
 SRC/Boost/tools/build/v2/build/toolset.jam         |   502 -
 SRC/Boost/tools/build/v2/build/toolset.py          |   398 -
 SRC/Boost/tools/build/v2/build/type.jam            |   425 -
 SRC/Boost/tools/build/v2/build/type.py             |   313 -
 SRC/Boost/tools/build/v2/build/version.jam         |   161 -
 SRC/Boost/tools/build/v2/build/virtual-target.jam  |  1317 --
 SRC/Boost/tools/build/v2/build/virtual_target.py   |  1118 -
 SRC/Boost/tools/build/v2/build_system.py           |   872 -
 SRC/Boost/tools/build/v2/changes.txt               |   317 -
 SRC/Boost/tools/build/v2/contrib/boost.jam         |   321 -
 SRC/Boost/tools/build/v2/contrib/tntnet.jam        |   208 -
 SRC/Boost/tools/build/v2/contrib/wxFormBuilder.jam |   195 -
 SRC/Boost/tools/build/v2/debian/boost-build.docs   |     4 -
 .../tools/build/v2/debian/boost-build.examples     |     1 -
 SRC/Boost/tools/build/v2/debian/changelog          |     6 -
 SRC/Boost/tools/build/v2/debian/conffiles          |     1 -
 SRC/Boost/tools/build/v2/debian/control            |    13 -
 SRC/Boost/tools/build/v2/debian/copyright          |     0
 SRC/Boost/tools/build/v2/debian/excludes           |    14 -
 SRC/Boost/tools/build/v2/debian/rules              |    56 -
 SRC/Boost/tools/build/v2/doc/bjam.qbk              |  1696 --
 SRC/Boost/tools/build/v2/doc/development_plan.html |   130 -
 SRC/Boost/tools/build/v2/doc/history.qbk           |   377 -
 SRC/Boost/tools/build/v2/doc/jamfile.jam           |    26 -
 SRC/Boost/tools/build/v2/doc/src/architecture.xml  |   636 -
 SRC/Boost/tools/build/v2/doc/src/catalog.xml       |     9 -
 SRC/Boost/tools/build/v2/doc/src/extending.xml     |  1207 -
 SRC/Boost/tools/build/v2/doc/src/faq.xml           |   458 -
 SRC/Boost/tools/build/v2/doc/src/fragments.xml     |    59 -
 SRC/Boost/tools/build/v2/doc/src/howto.xml         |    34 -
 SRC/Boost/tools/build/v2/doc/src/install.xml       |   150 -
 SRC/Boost/tools/build/v2/doc/src/overview.xml      |  1682 --
 SRC/Boost/tools/build/v2/doc/src/recipes.xml       |    11 -
 SRC/Boost/tools/build/v2/doc/src/reference.xml     |  2325 --
 SRC/Boost/tools/build/v2/doc/src/standalone.xml    |    47 -
 SRC/Boost/tools/build/v2/doc/src/tasks.xml         |   774 -
 SRC/Boost/tools/build/v2/doc/src/tutorial.xml      |   681 -
 SRC/Boost/tools/build/v2/doc/src/userman.xml       |    40 -
 SRC/Boost/tools/build/v2/doc/tools.html            |    92 -
 SRC/Boost/tools/build/v2/engine/Jambase            |  2473 --
 SRC/Boost/tools/build/v2/engine/boehm_gc/AmigaOS.c |   623 -
 .../tools/build/v2/engine/boehm_gc/BCC_MAKEFILE    |    87 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/ChangeLog |   363 -
 .../tools/build/v2/engine/boehm_gc/EMX_MAKEFILE    |   140 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/MacOS.c   |   156 -
 .../build/v2/engine/boehm_gc/MacProjects.sit.hqx   |   886 -
 .../engine/boehm_gc/Mac_files/MacOS_Test_config.h  |    91 -
 .../v2/engine/boehm_gc/Mac_files/MacOS_config.h    |    89 -
 .../build/v2/engine/boehm_gc/Mac_files/dataend.c   |     9 -
 .../build/v2/engine/boehm_gc/Mac_files/datastart.c |     9 -
 .../tools/build/v2/engine/boehm_gc/Makefile.DLLs   |   107 -
 .../tools/build/v2/engine/boehm_gc/Makefile.am     |   206 -
 .../tools/build/v2/engine/boehm_gc/Makefile.direct |   737 -
 .../tools/build/v2/engine/boehm_gc/Makefile.dj     |   428 -
 .../tools/build/v2/engine/boehm_gc/Makefile.in     |  1405 --
 .../tools/build/v2/engine/boehm_gc/NT_MAKEFILE     |    60 -
 .../v2/engine/boehm_gc/NT_STATIC_THREADS_MAKEFILE  |    74 -
 .../build/v2/engine/boehm_gc/NT_THREADS_MAKEFILE   |  2220 --
 .../engine/boehm_gc/NT_X64_STATIC_THREADS_MAKEFILE |    74 -
 .../tools/build/v2/engine/boehm_gc/OS2_MAKEFILE    |    45 -
 .../tools/build/v2/engine/boehm_gc/PCR-Makefile    |    68 -
 .../tools/build/v2/engine/boehm_gc/README.QUICK    |    88 -
 .../tools/build/v2/engine/boehm_gc/SMakefile.amiga |   177 -
 .../tools/build/v2/engine/boehm_gc/WCC_MAKEFILE    |   196 -
 .../tools/build/v2/engine/boehm_gc/acinclude.m4    |    49 -
 .../tools/build/v2/engine/boehm_gc/aclocal.m4      |   929 -
 .../tools/build/v2/engine/boehm_gc/add_gc_prefix.c |    20 -
 .../tools/build/v2/engine/boehm_gc/allchblk.c      |   850 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/alloc.c   |  1023 -
 .../build/v2/engine/boehm_gc/alpha_mach_dep.S      |    86 -
 .../tools/build/v2/engine/boehm_gc/backgraph.c     |   469 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/bdw-gc.pc |    10 -
 .../tools/build/v2/engine/boehm_gc/bdw-gc.pc.in    |    10 -
 .../tools/build/v2/engine/boehm_gc/blacklst.c      |   285 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/callprocs |     4 -
 .../tools/build/v2/engine/boehm_gc/checksums.c     |   196 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/compile   |   142 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/configure | 23503 -------------------
 .../tools/build/v2/engine/boehm_gc/configure.ac    |   658 -
 .../tools/build/v2/engine/boehm_gc/configure.host  |    61 -
 .../v2/engine/boehm_gc/configure_atomic_ops.sh     |     4 -
 .../tools/build/v2/engine/boehm_gc/cord/cord.am    |    17 -
 .../tools/build/v2/engine/boehm_gc/cord/cordbscs.c |   919 -
 .../tools/build/v2/engine/boehm_gc/cord/cordprnt.c |   396 -
 .../tools/build/v2/engine/boehm_gc/cord/cordtest.c |   235 -
 .../tools/build/v2/engine/boehm_gc/cord/cordxtra.c |   621 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de.c |   603 -
 .../tools/build/v2/engine/boehm_gc/cord/de_cmds.h  |    33 -
 .../tools/build/v2/engine/boehm_gc/cord/de_win.ICO |   Bin 766 -> 0 bytes
 .../tools/build/v2/engine/boehm_gc/cord/de_win.RC  |    78 -
 .../tools/build/v2/engine/boehm_gc/cord/de_win.c   |   370 -
 .../tools/build/v2/engine/boehm_gc/cord/de_win.h   |   103 -
 .../build/v2/engine/boehm_gc/darwin_stop_world.c   |   599 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/dbg_mlc.c |  1053 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/depcomp   |   436 -
 .../tools/build/v2/engine/boehm_gc/digimars.mak    |    90 -
 .../tools/build/v2/engine/boehm_gc/doc/README      |   548 -
 .../build/v2/engine/boehm_gc/doc/README.DGUX386    |   215 -
 .../tools/build/v2/engine/boehm_gc/doc/README.Mac  |   390 -
 .../build/v2/engine/boehm_gc/doc/README.MacOSX     |     1 -
 .../tools/build/v2/engine/boehm_gc/doc/README.OS2  |     6 -
 .../build/v2/engine/boehm_gc/doc/README.amiga      |   322 -
 .../build/v2/engine/boehm_gc/doc/README.arm.cross  |    68 -
 .../build/v2/engine/boehm_gc/doc/README.autoconf   |    59 -
 .../build/v2/engine/boehm_gc/doc/README.changes    |  2594 --
 .../v2/engine/boehm_gc/doc/README.contributors     |    57 -
 .../build/v2/engine/boehm_gc/doc/README.cords      |    53 -
 .../build/v2/engine/boehm_gc/doc/README.darwin     |   142 -
 .../tools/build/v2/engine/boehm_gc/doc/README.dj   |    12 -
 .../v2/engine/boehm_gc/doc/README.environment      |   135 -
 .../build/v2/engine/boehm_gc/doc/README.ews4800    |    81 -
 .../tools/build/v2/engine/boehm_gc/doc/README.hp   |    18 -
 .../build/v2/engine/boehm_gc/doc/README.linux      |   131 -
 .../build/v2/engine/boehm_gc/doc/README.macros     |    82 -
 .../build/v2/engine/boehm_gc/doc/README.rs6000     |     9 -
 .../tools/build/v2/engine/boehm_gc/doc/README.sgi  |    41 -
 .../build/v2/engine/boehm_gc/doc/README.solaris2   |    64 -
 .../tools/build/v2/engine/boehm_gc/doc/README.uts  |     2 -
 .../build/v2/engine/boehm_gc/doc/README.win32      |   221 -
 .../build/v2/engine/boehm_gc/doc/README.win64      |    17 -
 .../build/v2/engine/boehm_gc/doc/barrett_diagram   |   106 -
 .../build/v2/engine/boehm_gc/doc/debugging.html    |   306 -
 .../tools/build/v2/engine/boehm_gc/doc/doc.am      |    55 -
 .../tools/build/v2/engine/boehm_gc/doc/gc.man      |    97 -
 .../build/v2/engine/boehm_gc/doc/gcdescr.html      |   621 -
 .../build/v2/engine/boehm_gc/doc/gcinterface.html  |   278 -
 .../tools/build/v2/engine/boehm_gc/doc/leak.html   |   200 -
 .../build/v2/engine/boehm_gc/doc/overview.html     |   446 -
 .../build/v2/engine/boehm_gc/doc/porting.html      |   333 -
 .../tools/build/v2/engine/boehm_gc/doc/scale.html  |   210 -
 .../v2/engine/boehm_gc/doc/simple_example.html     |   202 -
 .../tools/build/v2/engine/boehm_gc/doc/tree.html   |   199 -
 .../tools/build/v2/engine/boehm_gc/dyn_load.c      |  1190 -
 .../tools/build/v2/engine/boehm_gc/finalize.c      |   869 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/gc.mak    |  2220 --
 SRC/Boost/tools/build/v2/engine/boehm_gc/gc_cpp.cc |    67 -
 .../tools/build/v2/engine/boehm_gc/gc_cpp.cpp      |     2 -
 .../tools/build/v2/engine/boehm_gc/gc_dlopen.c     |    89 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/gcj_mlc.c |   245 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/gcname.c  |    13 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/headers.c |   394 -
 .../build/v2/engine/boehm_gc/hpux_test_and_clear.s |    21 -
 .../v2/engine/boehm_gc/ia64_save_regs_in_stack.s   |    12 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/if_mach.c |    25 -
 .../tools/build/v2/engine/boehm_gc/if_not_there.c  |    38 -
 .../tools/build/v2/engine/boehm_gc/include/cord.h  |   327 -
 .../tools/build/v2/engine/boehm_gc/include/ec.h    |    70 -
 .../tools/build/v2/engine/boehm_gc/include/gc.h    |  1139 -
 .../v2/engine/boehm_gc/include/gc_allocator.h      |   245 -
 .../engine/boehm_gc/include/gc_amiga_redirects.h   |    30 -
 .../build/v2/engine/boehm_gc/include/gc_backptr.h  |    65 -
 .../v2/engine/boehm_gc/include/gc_config_macros.h  |   179 -
 .../build/v2/engine/boehm_gc/include/gc_cpp.h      |   374 -
 .../build/v2/engine/boehm_gc/include/gc_gcj.h      |    94 -
 .../build/v2/engine/boehm_gc/include/gc_inline.h   |   128 -
 .../build/v2/engine/boehm_gc/include/gc_mark.h     |   201 -
 .../engine/boehm_gc/include/gc_pthread_redirects.h |    54 -
 .../build/v2/engine/boehm_gc/include/gc_tiny_fl.h  |    89 -
 .../build/v2/engine/boehm_gc/include/gc_typed.h    |   111 -
 .../build/v2/engine/boehm_gc/include/include.am    |    54 -
 .../build/v2/engine/boehm_gc/include/javaxfc.h     |    21 -
 .../v2/engine/boehm_gc/include/leak_detector.h     |     9 -
 .../v2/engine/boehm_gc/include/new_gc_alloc.h      |   484 -
 .../v2/engine/boehm_gc/include/private/cord_pos.h  |   118 -
 .../boehm_gc/include/private/darwin_semaphore.h    |    68 -
 .../boehm_gc/include/private/darwin_stop_world.h   |    22 -
 .../v2/engine/boehm_gc/include/private/dbg_mlc.h   |   178 -
 .../v2/engine/boehm_gc/include/private/gc_hdrs.h   |   206 -
 .../v2/engine/boehm_gc/include/private/gc_locks.h  |   210 -
 .../v2/engine/boehm_gc/include/private/gc_pmark.h  |   494 -
 .../v2/engine/boehm_gc/include/private/gc_priv.h   |  2040 --
 .../v2/engine/boehm_gc/include/private/gcconfig.h  |  2339 --
 .../v2/engine/boehm_gc/include/private/msvc_dbg.h  |    69 -
 .../boehm_gc/include/private/pthread_stop_world.h  |    11 -
 .../boehm_gc/include/private/pthread_support.h     |    84 -
 .../v2/engine/boehm_gc/include/private/specific.h  |    96 -
 .../boehm_gc/include/private/thread_local_alloc.h  |   152 -
 .../build/v2/engine/boehm_gc/include/weakpointer.h |   221 -
 .../tools/build/v2/engine/boehm_gc/install-sh      |   251 -
 .../tools/build/v2/engine/boehm_gc/libtool.m4      |  6397 -----
 SRC/Boost/tools/build/v2/engine/boehm_gc/ltmain.sh |  6863 ------
 .../tools/build/v2/engine/boehm_gc/mach_dep.c      |   242 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/malloc.c  |   510 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/mallocx.c |   574 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/mark.c    |  1866 --
 .../tools/build/v2/engine/boehm_gc/mark_rts.c      |   617 -
 .../build/v2/engine/boehm_gc/mips_sgi_mach_dep.s   |    46 -
 .../v2/engine/boehm_gc/mips_ultrix_mach_dep.s      |    26 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/misc.c    |  1177 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/missing   |   336 -
 .../tools/build/v2/engine/boehm_gc/mkinstalldirs   |   101 -
 .../tools/build/v2/engine/boehm_gc/msvc_dbg.c      |   348 -
 .../tools/build/v2/engine/boehm_gc/new_hblk.c      |   201 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/obj_map.c |    90 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/os_dep.c  |  4333 ----
 .../tools/build/v2/engine/boehm_gc/pcr_interface.c |   179 -
 .../build/v2/engine/boehm_gc/pthread_stop_world.c  |   537 -
 .../build/v2/engine/boehm_gc/pthread_support.c     |  1495 --
 .../tools/build/v2/engine/boehm_gc/ptr_chck.c      |   283 -
 .../tools/build/v2/engine/boehm_gc/real_malloc.c   |    31 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/reclaim.c |   608 -
 .../build/v2/engine/boehm_gc/rs6000_mach_dep.s     |   114 -
 .../tools/build/v2/engine/boehm_gc/setjmp_t.c      |   135 -
 .../build/v2/engine/boehm_gc/sparc_mach_dep.S      |    70 -
 .../v2/engine/boehm_gc/sparc_netbsd_mach_dep.s     |    34 -
 .../v2/engine/boehm_gc/sparc_sunos4_mach_dep.s     |    38 -
 .../tools/build/v2/engine/boehm_gc/specific.c      |   165 -
 .../tools/build/v2/engine/boehm_gc/stubborn.c      |    58 -
 .../build/v2/engine/boehm_gc/tests/leak_test.c     |    25 -
 .../tools/build/v2/engine/boehm_gc/tests/middle.c  |    26 -
 .../tools/build/v2/engine/boehm_gc/tests/test.c    |  1634 --
 .../build/v2/engine/boehm_gc/tests/test_cpp.cc     |   292 -
 .../tools/build/v2/engine/boehm_gc/tests/tests.am  |    57 -
 .../v2/engine/boehm_gc/tests/thread_leak_test.c    |    45 -
 .../build/v2/engine/boehm_gc/thread_local_alloc.c  |   310 -
 .../tools/build/v2/engine/boehm_gc/threadlibs.c    |    63 -
 .../tools/build/v2/engine/boehm_gc/typd_mlc.c      |   722 -
 SRC/Boost/tools/build/v2/engine/boehm_gc/version.h |    30 -
 .../tools/build/v2/engine/boehm_gc/win32_threads.c |  1570 --
 SRC/Boost/tools/build/v2/engine/boost-jam.spec     |    64 -
 SRC/Boost/tools/build/v2/engine/boost-no-inspect   |     1 -
 SRC/Boost/tools/build/v2/engine/build.bat          |   532 -
 SRC/Boost/tools/build/v2/engine/build.jam          |  1070 -
 SRC/Boost/tools/build/v2/engine/build.sh           |   303 -
 SRC/Boost/tools/build/v2/engine/build_vms.com      |   105 -
 SRC/Boost/tools/build/v2/engine/builtins.c         |  2310 --
 SRC/Boost/tools/build/v2/engine/builtins.h         |    69 -
 SRC/Boost/tools/build/v2/engine/bump_version.py    |    80 -
 SRC/Boost/tools/build/v2/engine/class.c            |   141 -
 SRC/Boost/tools/build/v2/engine/class.h            |    13 -
 SRC/Boost/tools/build/v2/engine/command.c          |   100 -
 SRC/Boost/tools/build/v2/engine/command.h          |    61 -
 SRC/Boost/tools/build/v2/engine/compile.c          |  1424 --
 SRC/Boost/tools/build/v2/engine/compile.h          |    82 -
 SRC/Boost/tools/build/v2/engine/debian/changelog   |    72 -
 SRC/Boost/tools/build/v2/engine/debian/control     |    16 -
 SRC/Boost/tools/build/v2/engine/debian/copyright   |    25 -
 .../tools/build/v2/engine/debian/jam.man.sgml      |   236 -
 SRC/Boost/tools/build/v2/engine/debian/rules       |    73 -
 SRC/Boost/tools/build/v2/engine/debug.c            |   132 -
 SRC/Boost/tools/build/v2/engine/debug.h            |    54 -
 SRC/Boost/tools/build/v2/engine/execcmd.h          |    45 -
 SRC/Boost/tools/build/v2/engine/execmac.c          |    69 -
 SRC/Boost/tools/build/v2/engine/execnt.c           |  1296 -
 SRC/Boost/tools/build/v2/engine/execunix.c         |   569 -
 SRC/Boost/tools/build/v2/engine/execvms.c          |   161 -
 SRC/Boost/tools/build/v2/engine/expand.c           |   733 -
 SRC/Boost/tools/build/v2/engine/expand.h           |    14 -
 SRC/Boost/tools/build/v2/engine/filemac.c          |   175 -
 SRC/Boost/tools/build/v2/engine/filent.c           |   387 -
 SRC/Boost/tools/build/v2/engine/fileos2.c          |   138 -
 SRC/Boost/tools/build/v2/engine/filesys.c          |    83 -
 SRC/Boost/tools/build/v2/engine/filesys.h          |    60 -
 SRC/Boost/tools/build/v2/engine/fileunix.c         |   501 -
 SRC/Boost/tools/build/v2/engine/filevms.c          |   327 -
 SRC/Boost/tools/build/v2/engine/frames.c           |    22 -
 SRC/Boost/tools/build/v2/engine/frames.h           |    37 -
 SRC/Boost/tools/build/v2/engine/glob.c             |   152 -
 SRC/Boost/tools/build/v2/engine/hash.c             |   459 -
 SRC/Boost/tools/build/v2/engine/hash.h             |    25 -
 SRC/Boost/tools/build/v2/engine/hcache.c           |   434 -
 SRC/Boost/tools/build/v2/engine/hcache.h           |    18 -
 SRC/Boost/tools/build/v2/engine/hdrmacro.c         |   137 -
 SRC/Boost/tools/build/v2/engine/hdrmacro.h         |    14 -
 SRC/Boost/tools/build/v2/engine/headers.c          |   203 -
 SRC/Boost/tools/build/v2/engine/headers.h          |    16 -
 SRC/Boost/tools/build/v2/engine/jam.c              |   632 -
 SRC/Boost/tools/build/v2/engine/jam.h              |   579 -
 SRC/Boost/tools/build/v2/engine/jambase.c          |  1691 --
 SRC/Boost/tools/build/v2/engine/jambase.h          |    15 -
 SRC/Boost/tools/build/v2/engine/jamgram.c          |  1830 --
 SRC/Boost/tools/build/v2/engine/jamgram.h          |   140 -
 SRC/Boost/tools/build/v2/engine/jamgram.y          |   371 -
 SRC/Boost/tools/build/v2/engine/jamgram.yy         |   329 -
 SRC/Boost/tools/build/v2/engine/jamgramtab.h       |    44 -
 SRC/Boost/tools/build/v2/engine/lists.c            |   339 -
 SRC/Boost/tools/build/v2/engine/lists.h            |   108 -
 SRC/Boost/tools/build/v2/engine/make.c             |   814 -
 SRC/Boost/tools/build/v2/engine/make.h             |    41 -
 SRC/Boost/tools/build/v2/engine/make1.c            |  1145 -
 SRC/Boost/tools/build/v2/engine/md5.c              |   381 -
 SRC/Boost/tools/build/v2/engine/md5.h              |    91 -
 SRC/Boost/tools/build/v2/engine/mem.c              |    75 -
 SRC/Boost/tools/build/v2/engine/mem.h              |   134 -
 SRC/Boost/tools/build/v2/engine/mkjambase.c        |   123 -
 SRC/Boost/tools/build/v2/engine/modules.c          |   168 -
 SRC/Boost/tools/build/v2/engine/modules.h          |    37 -
 SRC/Boost/tools/build/v2/engine/modules/order.c    |   144 -
 SRC/Boost/tools/build/v2/engine/modules/path.c     |    32 -
 .../tools/build/v2/engine/modules/property-set.c   |   110 -
 SRC/Boost/tools/build/v2/engine/modules/readme.txt |     3 -
 SRC/Boost/tools/build/v2/engine/modules/regex.c    |    96 -
 SRC/Boost/tools/build/v2/engine/modules/sequence.c |    42 -
 SRC/Boost/tools/build/v2/engine/modules/set.c      |    41 -
 SRC/Boost/tools/build/v2/engine/native.c           |    36 -
 SRC/Boost/tools/build/v2/engine/native.h           |    34 -
 SRC/Boost/tools/build/v2/engine/newstr.c           |   174 -
 SRC/Boost/tools/build/v2/engine/newstr.h           |    14 -
 SRC/Boost/tools/build/v2/engine/option.c           |    94 -
 SRC/Boost/tools/build/v2/engine/option.h           |    23 -
 SRC/Boost/tools/build/v2/engine/output.c           |   125 -
 SRC/Boost/tools/build/v2/engine/output.h           |    29 -
 SRC/Boost/tools/build/v2/engine/parse.c            |   132 -
 SRC/Boost/tools/build/v2/engine/parse.h            |    59 -
 SRC/Boost/tools/build/v2/engine/patchlevel.h       |    17 -
 SRC/Boost/tools/build/v2/engine/pathmac.c          |   252 -
 SRC/Boost/tools/build/v2/engine/pathsys.h          |    91 -
 SRC/Boost/tools/build/v2/engine/pathunix.c         |   457 -
 SRC/Boost/tools/build/v2/engine/pathvms.c          |   406 -
 SRC/Boost/tools/build/v2/engine/pwd.c              |    66 -
 SRC/Boost/tools/build/v2/engine/pwd.h              |    10 -
 SRC/Boost/tools/build/v2/engine/regexp.c           |  1328 --
 SRC/Boost/tools/build/v2/engine/regexp.h           |    32 -
 SRC/Boost/tools/build/v2/engine/rules.c            |   810 -
 SRC/Boost/tools/build/v2/engine/rules.h            |   280 -
 SRC/Boost/tools/build/v2/engine/scan.c             |   418 -
 SRC/Boost/tools/build/v2/engine/scan.h             |    56 -
 SRC/Boost/tools/build/v2/engine/search.c           |   223 -
 SRC/Boost/tools/build/v2/engine/search.h           |    11 -
 SRC/Boost/tools/build/v2/engine/strings.c          |   201 -
 SRC/Boost/tools/build/v2/engine/strings.h          |    34 -
 SRC/Boost/tools/build/v2/engine/subst.c            |    94 -
 SRC/Boost/tools/build/v2/engine/timestamp.c        |   226 -
 SRC/Boost/tools/build/v2/engine/timestamp.h        |    12 -
 SRC/Boost/tools/build/v2/engine/variable.c         |   631 -
 SRC/Boost/tools/build/v2/engine/variable.h         |    35 -
 SRC/Boost/tools/build/v2/engine/w32_getreg.c       |   207 -
 SRC/Boost/tools/build/v2/engine/yyacc.c            |   268 -
 SRC/Boost/tools/build/v2/example/boost-build.jam   |     6 -
 .../tools/build/v2/example/built_tool/Jamroot.jam  |     8 -
 .../build/v2/example/built_tool/core/Jamfile.jam   |    30 -
 .../tools/build/v2/example/built_tool/core/a.td    |     0
 .../build/v2/example/built_tool/core/core.cpp      |     5 -
 .../tools/build/v2/example/built_tool/readme.txt   |     5 -
 .../build/v2/example/built_tool/tblgen/Jamfile.jam |     4 -
 .../build/v2/example/built_tool/tblgen/tblgen.cpp  |     9 -
 .../build/v2/example/customization/class.verbatim  |     7 -
 .../build/v2/example/customization/codegen.cpp     |    36 -
 .../build/v2/example/customization/inline_file.py  |    44 -
 .../build/v2/example/customization/jamroot.jam     |     9 -
 .../build/v2/example/customization/readme.txt      |    11 -
 .../build/v2/example/customization/t1.verbatim     |     2 -
 .../build/v2/example/customization/t2.verbatim     |     0
 .../build/v2/example/customization/usage.verbatim  |     5 -
 .../build/v2/example/customization/verbatim.jam    |    51 -
 .../build/v2/example/customization/verbatim.py     |    47 -
 .../tools/build/v2/example/generate/REAME.txt      |    11 -
 SRC/Boost/tools/build/v2/example/generate/a.cpp    |    10 -
 SRC/Boost/tools/build/v2/example/generate/gen.jam  |    26 -
 SRC/Boost/tools/build/v2/example/generate/gen.py   |    16 -
 .../tools/build/v2/example/generate/jamroot.jam    |     9 -
 .../tools/build/v2/example/generator/README.txt    |     6 -
 SRC/Boost/tools/build/v2/example/generator/foo.gci |    10 -
 .../tools/build/v2/example/generator/jamroot.jam   |     6 -
 .../tools/build/v2/example/generator/soap.jam      |    77 -
 .../tools/build/v2/example/gettext/jamfile.jam     |    26 -
 .../tools/build/v2/example/gettext/jamroot.jam     |     6 -
 SRC/Boost/tools/build/v2/example/gettext/main.cpp  |    28 -
 .../tools/build/v2/example/gettext/readme.txt      |    24 -
 .../tools/build/v2/example/gettext/russian.po      |    21 -
 SRC/Boost/tools/build/v2/example/hello/hello.cpp   |    16 -
 SRC/Boost/tools/build/v2/example/hello/jamroot.jam |     1 -
 SRC/Boost/tools/build/v2/example/hello/readme.txt  |     7 -
 .../tools/build/v2/example/libraries/app/app.cpp   |    15 -
 .../build/v2/example/libraries/app/jamfile.jam     |     9 -
 .../tools/build/v2/example/libraries/jamroot.jam   |     4 -
 .../build/v2/example/libraries/util/foo/bar.cpp    |    13 -
 .../v2/example/libraries/util/foo/include/lib1.h   |    10 -
 .../v2/example/libraries/util/foo/jamfile.jam      |     9 -
 SRC/Boost/tools/build/v2/example/make/foo.py       |     2 -
 SRC/Boost/tools/build/v2/example/make/jamroot.jam  |    13 -
 SRC/Boost/tools/build/v2/example/make/main_cpp.pro |     1 -
 SRC/Boost/tools/build/v2/example/make/readme.txt   |     7 -
 .../tools/build/v2/example/pch/include/pch.hpp     |    19 -
 SRC/Boost/tools/build/v2/example/pch/jamroot.jam   |    29 -
 .../build/v2/example/pch/source/hello_world.cpp    |    15 -
 .../build/v2/example/python_modules/jamroot.jam    |     8 -
 .../v2/example/python_modules/python_helpers.jam   |    15 -
 .../v2/example/python_modules/python_helpers.py    |    18 -
 .../build/v2/example/python_modules/readme.txt     |    16 -
 SRC/Boost/tools/build/v2/example/qt/README.txt     |    20 -
 .../tools/build/v2/example/qt/qt3/hello/canvas.cpp |    73 -
 .../tools/build/v2/example/qt/qt3/hello/canvas.h   |    35 -
 .../build/v2/example/qt/qt3/hello/jamroot.jam      |    13 -
 .../tools/build/v2/example/qt/qt3/hello/main.cpp   |    36 -
 .../v2/example/qt/qt3/moccable-cpp/jamroot.jam     |    11 -
 .../build/v2/example/qt/qt3/moccable-cpp/main.cpp  |    41 -
 .../v2/example/qt/qt3/uic/hello_world_widget.ui    |    58 -
 .../tools/build/v2/example/qt/qt3/uic/jamroot.jam  |    15 -
 .../tools/build/v2/example/qt/qt3/uic/main.cpp     |    18 -
 .../tools/build/v2/example/qt/qt4/hello/arrow.cpp  |   158 -
 .../tools/build/v2/example/qt/qt4/hello/arrow.h    |    30 -
 .../build/v2/example/qt/qt4/hello/jamroot.jam      |    14 -
 .../tools/build/v2/example/qt/qt4/hello/main.cpp   |    27 -
 .../v2/example/qt/qt4/moccable-cpp/jamroot.jam     |    18 -
 .../build/v2/example/qt/qt4/moccable-cpp/main.cpp  |    39 -
 .../v2/example/qt/qt4/uic/hello_world_widget.ui    |    55 -
 .../tools/build/v2/example/qt/qt4/uic/jamroot.jam  |    18 -
 .../tools/build/v2/example/qt/qt4/uic/main.cpp     |    23 -
 SRC/Boost/tools/build/v2/example/variant/a.cpp     |     7 -
 .../tools/build/v2/example/variant/jamfile.jam     |    11 -
 .../tools/build/v2/example/variant/jamroot.jam     |    14 -
 .../build/v2/example/variant/libs/jamfile.jam      |     6 -
 .../tools/build/v2/example/variant/libs/l.cpp      |     9 -
 .../tools/build/v2/example/variant/readme.txt      |    11 -
 .../tools/build/v2/example/versioned/hello.cpp     |    12 -
 .../tools/build/v2/example/versioned/jamfile.jam   |     9 -
 .../tools/build/v2/example/versioned/jamroot.jam   |     8 -
 SRC/Boost/tools/build/v2/exceptions.py             |    44 -
 SRC/Boost/tools/build/v2/hacking.txt               |   154 -
 SRC/Boost/tools/build/v2/index.html                |   165 -
 SRC/Boost/tools/build/v2/kernel/boost-build.jam    |     5 -
 SRC/Boost/tools/build/v2/kernel/bootstrap.jam      |   263 -
 SRC/Boost/tools/build/v2/kernel/bootstrap.py       |    25 -
 SRC/Boost/tools/build/v2/kernel/class.jam          |   420 -
 SRC/Boost/tools/build/v2/kernel/errors.jam         |   274 -
 SRC/Boost/tools/build/v2/kernel/modules.jam        |   354 -
 SRC/Boost/tools/build/v2/manager.py                |   110 -
 SRC/Boost/tools/build/v2/nightly.sh                |    30 -
 SRC/Boost/tools/build/v2/notes/README.txt          |     8 -
 .../tools/build/v2/notes/build_dir_option.txt      |    77 -
 .../tools/build/v2/notes/relative_source_paths.txt |    76 -
 SRC/Boost/tools/build/v2/options/help.jam          |   212 -
 SRC/Boost/tools/build/v2/release_procedure.txt     |    83 -
 SRC/Boost/tools/build/v2/roll.sh                   |    66 -
 SRC/Boost/tools/build/v2/site-config.jam           |     4 -
 SRC/Boost/tools/build/v2/test/BoostBuild.py        |   921 -
 SRC/Boost/tools/build/v2/test/Jamrules             |     4 -
 SRC/Boost/tools/build/v2/test/TestCmd.py           |   651 -
 SRC/Boost/tools/build/v2/test/abs_workdir.py       |    34 -
 SRC/Boost/tools/build/v2/test/absolute_sources.py  |    96 -
 SRC/Boost/tools/build/v2/test/alias.py             |   107 -
 SRC/Boost/tools/build/v2/test/alternatives.py      |   113 -
 SRC/Boost/tools/build/v2/test/assert-equal.jam     |    33 -
 SRC/Boost/tools/build/v2/test/bad_dirname.py       |    22 -
 SRC/Boost/tools/build/v2/test/boost-build.jam      |    14 -
 SRC/Boost/tools/build/v2/test/boostbook.py         |    23 -
 SRC/Boost/tools/build/v2/test/boostbook/a.hpp      |    16 -
 SRC/Boost/tools/build/v2/test/boostbook/docs.xml   |    36 -
 .../tools/build/v2/test/boostbook/jamroot.jam      |     3 -
 SRC/Boost/tools/build/v2/test/build_dir.py         |   106 -
 SRC/Boost/tools/build/v2/test/build_file.py        |   170 -
 SRC/Boost/tools/build/v2/test/build_no.py          |    28 -
 SRC/Boost/tools/build/v2/test/c_file.py            |    36 -
 SRC/Boost/tools/build/v2/test/chain.py             |    56 -
 SRC/Boost/tools/build/v2/test/check-arguments.jam  |    71 -
 SRC/Boost/tools/build/v2/test/check-bindrule.jam   |    29 -
 .../tools/build/v2/test/check-jam-patches.jam      |   293 -
 SRC/Boost/tools/build/v2/test/check-test-tools.jam |    26 -
 SRC/Boost/tools/build/v2/test/clean.py             |   116 -
 SRC/Boost/tools/build/v2/test/composite.py         |    25 -
 SRC/Boost/tools/build/v2/test/conditionals.py      |    47 -
 SRC/Boost/tools/build/v2/test/conditionals2.py     |    43 -
 SRC/Boost/tools/build/v2/test/conditionals3.py     |    30 -
 .../tools/build/v2/test/conditionals_multiple.py   |   297 -
 SRC/Boost/tools/build/v2/test/configuration.py     |   110 -
 SRC/Boost/tools/build/v2/test/copy_time.py         |    76 -
 SRC/Boost/tools/build/v2/test/core_d12.py          |    35 -
 .../tools/build/v2/test/core_delete_module.py      |    51 -
 SRC/Boost/tools/build/v2/test/core_dependencies.py |   157 -
 .../tools/build/v2/test/core_import_module.py      |    63 -
 SRC/Boost/tools/build/v2/test/core_modifiers.py    |    51 -
 SRC/Boost/tools/build/v2/test/core_typecheck.py    |    47 -
 SRC/Boost/tools/build/v2/test/core_varnames.py     |    38 -
 SRC/Boost/tools/build/v2/test/custom_generator.py  |    66 -
 SRC/Boost/tools/build/v2/test/default_build.py     |    93 -
 SRC/Boost/tools/build/v2/test/default_features.py  |    50 -
 SRC/Boost/tools/build/v2/test/default_toolset.py   |   211 -
 .../tools/build/v2/test/dependency-test/a.cpp      |    17 -
 SRC/Boost/tools/build/v2/test/dependency-test/a.h  |     8 -
 .../tools/build/v2/test/dependency-test/a_c.c      |    12 -
 .../tools/build/v2/test/dependency-test/b.cpp      |    14 -
 SRC/Boost/tools/build/v2/test/dependency-test/b.h  |     8 -
 .../tools/build/v2/test/dependency-test/c.cpp      |    14 -
 .../tools/build/v2/test/dependency-test/e.cpp      |    15 -
 .../tools/build/v2/test/dependency-test/foo.jam    |    34 -
 .../tools/build/v2/test/dependency-test/foo.py     |    26 -
 .../build/v2/test/dependency-test/jamfile.jam      |    25 -
 .../build/v2/test/dependency-test/jamroot.jam      |     7 -
 .../tools/build/v2/test/dependency-test/src1/a.h   |    10 -
 .../tools/build/v2/test/dependency-test/src1/b.h   |    10 -
 .../tools/build/v2/test/dependency-test/src1/c.h   |     8 -
 .../tools/build/v2/test/dependency-test/src1/z.h   |     5 -
 .../tools/build/v2/test/dependency-test/src2/b.h   |     8 -
 .../tools/build/v2/test/dependency-test/x.foo      |     0
 .../tools/build/v2/test/dependency-test/y.foo      |     0
 .../tools/build/v2/test/dependency_property.py     |    36 -
 SRC/Boost/tools/build/v2/test/dependency_test.py   |   104 -
 .../tools/build/v2/test/direct-request-test/a.cpp  |    19 -
 .../tools/build/v2/test/direct-request-test/b.cpp  |    22 -
 .../v2/test/direct-request-test/b_inverse.cpp      |    22 -
 .../build/v2/test/direct-request-test/jamfile.jam  |    13 -
 .../build/v2/test/direct-request-test/jamfile2.jam |     9 -
 .../build/v2/test/direct-request-test/jamroot.jam  |     6 -
 .../tools/build/v2/test/direct_request_test.py     |    40 -
 SRC/Boost/tools/build/v2/test/disambiguation.py    |    32 -
 SRC/Boost/tools/build/v2/test/dll_path.py          |   158 -
 SRC/Boost/tools/build/v2/test/double_loading.py    |    30 -
 SRC/Boost/tools/build/v2/test/duplicate.py         |    38 -
 SRC/Boost/tools/build/v2/test/echo_args.jam        |    20 -
 SRC/Boost/tools/build/v2/test/empty.jam            |     5 -
 SRC/Boost/tools/build/v2/test/engine/README.txt    |     5 -
 .../tools/build/v2/test/engine/action_status.jam   |    28 -
 .../tools/build/v2/test/engine/actions_quietly.jam |    55 -
 .../v2/test/engine/builtin_normalize_path.jam      |    60 -
 .../tools/build/v2/test/engine/builtin_shell.jam   |    31 -
 .../v2/test/engine/builtin_w32_getregnames.jam     |    17 -
 SRC/Boost/tools/build/v2/test/engine/option_d2.jam |    50 -
 SRC/Boost/tools/build/v2/test/engine/option_l.jam  |    34 -
 SRC/Boost/tools/build/v2/test/engine/option_n.jam  |    44 -
 .../build/v2/test/engine/parallel_actions.jam      |    91 -
 .../test/engine/parallel_multifile_actions_1.jam   |    45 -
 .../test/engine/parallel_multifile_actions_2.jam   |    49 -
 .../tools/build/v2/test/engine/rule_param.jam      |    60 -
 .../build/v2/test/engine/stress_var_expand.jam     |    14 -
 .../tools/build/v2/test/engine/target_var.jam      |    16 -
 SRC/Boost/tools/build/v2/test/engine/test.bat      |    53 -
 SRC/Boost/tools/build/v2/test/engine/test.jam      |    91 -
 SRC/Boost/tools/build/v2/test/engine/test.sh       |    53 -
 .../tools/build/v2/test/engine/var_expand.jam      |    19 -
 .../tools/build/v2/test/example_customization.py   |    21 -
 SRC/Boost/tools/build/v2/test/example_gettext.py   |    30 -
 SRC/Boost/tools/build/v2/test/example_libraries.py |    21 -
 SRC/Boost/tools/build/v2/test/example_make.py      |    20 -
 SRC/Boost/tools/build/v2/test/example_qt4.py       |    26 -
 SRC/Boost/tools/build/v2/test/exit_status.py       |    26 -
 SRC/Boost/tools/build/v2/test/expansion.py         |    80 -
 SRC/Boost/tools/build/v2/test/explicit.py          |    64 -
 .../tools/build/v2/test/file_name_handling.py      |   255 -
 .../tools/build/v2/test/free_features_request.py   |    42 -
 SRC/Boost/tools/build/v2/test/gcc_runtime.py       |    33 -
 .../tools/build/v2/test/generator_selection.py     |   140 -
 .../tools/build/v2/test/generators-test/a.cpp      |    22 -
 .../tools/build/v2/test/generators-test/b.cxx      |    10 -
 .../tools/build/v2/test/generators-test/c.tui      |     0
 SRC/Boost/tools/build/v2/test/generators-test/d.wd |     0
 .../tools/build/v2/test/generators-test/e.cpp      |     8 -
 .../tools/build/v2/test/generators-test/extra.jam  |   120 -
 .../build/v2/test/generators-test/jamfile.jam      |    19 -
 .../build/v2/test/generators-test/jamroot.jam      |    95 -
 .../tools/build/v2/test/generators-test/lex.jam    |    26 -
 .../tools/build/v2/test/generators-test/lib/c.cpp  |    10 -
 .../build/v2/test/generators-test/lib/jamfile.jam  |     9 -
 .../tools/build/v2/test/generators-test/nm.jam     |    43 -
 .../tools/build/v2/test/generators-test/qt.jam     |    34 -
 SRC/Boost/tools/build/v2/test/generators-test/x.l  |     5 -
 .../tools/build/v2/test/generators-test/y.x_pro    |     0
 .../tools/build/v2/test/generators-test/z.cpp      |    16 -
 SRC/Boost/tools/build/v2/test/generators_test.py   |    30 -
 .../tools/build/v2/test/implicit_dependency.py     |    81 -
 .../tools/build/v2/test/indirect_conditional.py    |    78 -
 SRC/Boost/tools/build/v2/test/inherit_toolset.py   |    59 -
 .../tools/build/v2/test/inherited_dependency.py    |   237 -
 SRC/Boost/tools/build/v2/test/inline.py            |    64 -
 SRC/Boost/tools/build/v2/test/jamfile.jam          |    11 -
 .../tools/build/v2/test/lib_source_property.py     |    45 -
 SRC/Boost/tools/build/v2/test/library_chain.py     |   166 -
 SRC/Boost/tools/build/v2/test/library_order.py     |   100 -
 SRC/Boost/tools/build/v2/test/library_property.py  |    56 -
 SRC/Boost/tools/build/v2/test/load_dir.py          |    81 -
 SRC/Boost/tools/build/v2/test/load_order.py        |    64 -
 SRC/Boost/tools/build/v2/test/loop.py              |    25 -
 SRC/Boost/tools/build/v2/test/m1-01.py             |    61 -
 SRC/Boost/tools/build/v2/test/m1-02.py             |    90 -
 SRC/Boost/tools/build/v2/test/m1-03.py             |    57 -
 SRC/Boost/tools/build/v2/test/make_rule.py         |    58 -
 .../build/v2/test/module-actions/boost-build.jam   |     5 -
 .../build/v2/test/module-actions/bootstrap.jam     |    61 -
 SRC/Boost/tools/build/v2/test/module_actions.py    |    53 -
 SRC/Boost/tools/build/v2/test/ndebug.py            |    39 -
 SRC/Boost/tools/build/v2/test/no_type.py           |    23 -
 SRC/Boost/tools/build/v2/test/notfile.py           |    44 -
 SRC/Boost/tools/build/v2/test/ordered_include.py   |    41 -
 .../tools/build/v2/test/ordered_properties.py      |    33 -
 SRC/Boost/tools/build/v2/test/out_of_tree.py       |    39 -
 SRC/Boost/tools/build/v2/test/path_features.py     |    85 -
 SRC/Boost/tools/build/v2/test/pch.py               |    55 -
 SRC/Boost/tools/build/v2/test/prebuilt.py          |    43 -
 SRC/Boost/tools/build/v2/test/prebuilt/ext/a.cpp   |    17 -
 .../tools/build/v2/test/prebuilt/ext/debug/a.h     |    13 -
 .../tools/build/v2/test/prebuilt/ext/jamfile.jam   |    13 -
 .../tools/build/v2/test/prebuilt/ext/jamfile2.jam  |    39 -
 .../tools/build/v2/test/prebuilt/ext/jamfile3.jam  |    46 -
 .../tools/build/v2/test/prebuilt/ext/jamroot.jam   |     5 -
 .../tools/build/v2/test/prebuilt/ext/release/a.h   |    13 -
 SRC/Boost/tools/build/v2/test/prebuilt/hello.cpp   |    20 -
 SRC/Boost/tools/build/v2/test/prebuilt/jamfile.jam |    13 -
 SRC/Boost/tools/build/v2/test/prebuilt/jamroot.jam |     4 -
 SRC/Boost/tools/build/v2/test/preprocessor.py      |    53 -
 SRC/Boost/tools/build/v2/test/print.py             |    48 -
 SRC/Boost/tools/build/v2/test/project-test1.jam    |    18 -
 .../build/v2/test/project-test1/dir/jamfile.jam    |    10 -
 .../build/v2/test/project-test1/dir2/jamfile.jam   |     9 -
 .../build/v2/test/project-test1/dir2/jamroot.jam   |     4 -
 .../tools/build/v2/test/project-test1/jamfile.jam  |    10 -
 .../tools/build/v2/test/project-test1/jamroot.jam  |     6 -
 .../build/v2/test/project-test1/project-test1.jam  |    21 -
 .../tools/build/v2/test/project-test1/readme.txt   |     8 -
 .../v2/test/project-test1/standalone-project.jam   |    12 -
 SRC/Boost/tools/build/v2/test/project-test3/a.cpp  |     8 -
 .../tools/build/v2/test/project-test3/jamfile.jam  |    13 -
 .../tools/build/v2/test/project-test3/jamroot.jam  |    46 -
 .../tools/build/v2/test/project-test3/lib/b.cpp    |     8 -
 .../build/v2/test/project-test3/lib/jamfile.jam    |     9 -
 .../tools/build/v2/test/project-test3/lib2/c.cpp   |     8 -
 .../tools/build/v2/test/project-test3/lib2/d.cpp   |     8 -
 .../build/v2/test/project-test3/lib2/helper/e.cpp  |     8 -
 .../v2/test/project-test3/lib2/helper/jamfile.jam  |     9 -
 .../build/v2/test/project-test3/lib2/jamfile.jam   |    11 -
 .../tools/build/v2/test/project-test3/lib3/f.cpp   |     8 -
 .../build/v2/test/project-test3/lib3/jamfile.jam   |    37 -
 .../build/v2/test/project-test3/lib3/jamroot.jam   |     5 -
 .../tools/build/v2/test/project-test3/readme.txt   |     7 -
 SRC/Boost/tools/build/v2/test/project-test4/a.cpp  |     8 -
 .../tools/build/v2/test/project-test4/a_gcc.cpp    |     8 -
 .../tools/build/v2/test/project-test4/jamfile.jam  |    11 -
 .../tools/build/v2/test/project-test4/jamfile3.jam |     5 -
 .../tools/build/v2/test/project-test4/jamfile4.jam |     4 -
 .../tools/build/v2/test/project-test4/jamfile5.jam |     6 -
 .../tools/build/v2/test/project-test4/jamroot.jam  |    47 -
 .../tools/build/v2/test/project-test4/lib/b.cpp    |     8 -
 .../build/v2/test/project-test4/lib/jamfile.jam    |     6 -
 .../build/v2/test/project-test4/lib/jamfile1.jam   |     2 -
 .../build/v2/test/project-test4/lib/jamfile2.jam   |     4 -
 .../build/v2/test/project-test4/lib/jamfile3.jam   |     2 -
 .../build/v2/test/project-test4/lib2/jamfile.jam   |     8 -
 .../build/v2/test/project-test4/lib2/jamfile2.jam  |     4 -
 .../tools/build/v2/test/project-test4/readme.txt   |     6 -
 .../tools/build/v2/test/project_dependencies.py    |    51 -
 SRC/Boost/tools/build/v2/test/project_glob.py      |   161 -
 .../tools/build/v2/test/project_root_constants.py  |    66 -
 SRC/Boost/tools/build/v2/test/project_root_rule.py |    34 -
 SRC/Boost/tools/build/v2/test/project_test1.py     |    78 -
 SRC/Boost/tools/build/v2/test/project_test3.py     |   133 -
 SRC/Boost/tools/build/v2/test/project_test4.py     |    65 -
 .../tools/build/v2/test/property_expansion.py      |    29 -
 SRC/Boost/tools/build/v2/test/qt4.py               |    19 -
 SRC/Boost/tools/build/v2/test/qt4/jamroot.jam      |    79 -
 SRC/Boost/tools/build/v2/test/qt4/mock.cpp         |    26 -
 SRC/Boost/tools/build/v2/test/qt4/mock.h           |    21 -
 SRC/Boost/tools/build/v2/test/qt4/phonon.cpp       |    23 -
 SRC/Boost/tools/build/v2/test/qt4/qt3support.cpp   |    29 -
 SRC/Boost/tools/build/v2/test/qt4/qtassistant.cpp  |    21 -
 SRC/Boost/tools/build/v2/test/qt4/qtcore.cpp       |    22 -
 SRC/Boost/tools/build/v2/test/qt4/qtcorefail.cpp   |    23 -
 .../tools/build/v2/test/qt4/qtdeclarative.cpp      |    27 -
 SRC/Boost/tools/build/v2/test/qt4/qtgui.cpp        |    42 -
 SRC/Boost/tools/build/v2/test/qt4/qthelp.cpp       |    22 -
 SRC/Boost/tools/build/v2/test/qt4/qtmultimedia.cpp |    25 -
 SRC/Boost/tools/build/v2/test/qt4/qtnetwork.cpp    |    33 -
 SRC/Boost/tools/build/v2/test/qt4/qtscript.cpp     |    37 -
 .../tools/build/v2/test/qt4/qtscripttools.cpp      |    47 -
 SRC/Boost/tools/build/v2/test/qt4/qtsql.cpp        |    37 -
 SRC/Boost/tools/build/v2/test/qt4/qtsvg.cpp        |    21 -
 SRC/Boost/tools/build/v2/test/qt4/qttest.cpp       |    30 -
 SRC/Boost/tools/build/v2/test/qt4/qtwebkit.cpp     |    24 -
 SRC/Boost/tools/build/v2/test/qt4/qtxml.cpp        |    29 -
 .../tools/build/v2/test/qt4/qtxmlpatterns.cpp      |    76 -
 SRC/Boost/tools/build/v2/test/railsys.py           |    14 -
 .../build/v2/test/railsys/libx/include/test_libx.h |    25 -
 .../tools/build/v2/test/railsys/libx/jamroot.jam   |    13 -
 .../build/v2/test/railsys/libx/src/jamfile.jam     |    19 -
 .../build/v2/test/railsys/libx/src/test_libx.cpp   |    15 -
 .../build/v2/test/railsys/program/include/test_a.h |    22 -
 .../build/v2/test/railsys/program/jamfile.jam      |    45 -
 .../build/v2/test/railsys/program/jamroot.jam      |    14 -
 .../build/v2/test/railsys/program/liba/jamfile.jam |    14 -
 .../build/v2/test/railsys/program/liba/test_a.cpp  |    17 -
 .../build/v2/test/railsys/program/main/jamfile.jam |    12 -
 .../build/v2/test/railsys/program/main/main.cpp    |    19 -
 SRC/Boost/tools/build/v2/test/readme.txt           |     6 -
 SRC/Boost/tools/build/v2/test/rebuilds.py          |    51 -
 SRC/Boost/tools/build/v2/test/recursive.jam        |   117 -
 SRC/Boost/tools/build/v2/test/regression.py        |   124 -
 SRC/Boost/tools/build/v2/test/relative_sources.py  |    38 -
 .../tools/build/v2/test/remove_requirement.py      |    89 -
 SRC/Boost/tools/build/v2/test/resolution.py        |    37 -
 SRC/Boost/tools/build/v2/test/searched_lib.py      |   187 -
 SRC/Boost/tools/build/v2/test/skipping.py          |    36 -
 SRC/Boost/tools/build/v2/test/sort_rule.py         |    95 -
 SRC/Boost/tools/build/v2/test/source_locations.py  |    42 -
 SRC/Boost/tools/build/v2/test/stage.py             |   258 -
 SRC/Boost/tools/build/v2/test/standalone.py        |    59 -
 .../v2/test/startup/boost-root/boost-build.jam     |     7 -
 .../test/startup/boost-root/build/boost-build.jam  |     6 -
 .../v2/test/startup/boost-root/build/bootstrap.jam |     7 -
 .../v2/test/startup/bootstrap-env/boost-build.jam  |     5 -
 .../startup/bootstrap-explicit/boost-build.jam     |     6 -
 .../v2/test/startup/bootstrap-implicit/readme.txt  |     5 -
 .../v2/test/startup/no-bootstrap1/boost-build.jam  |     6 -
 .../test/startup/no-bootstrap1/subdir/readme.txt   |     5 -
 .../v2/test/startup/no-bootstrap2/boost-build.jam  |     6 -
 .../v2/test/startup/no-bootstrap3/boost-build.jam  |     5 -
 SRC/Boost/tools/build/v2/test/startup_v1.py        |    81 -
 SRC/Boost/tools/build/v2/test/startup_v2.py        |    79 -
 SRC/Boost/tools/build/v2/test/subdir1/file-to-bind |     1 -
 SRC/Boost/tools/build/v2/test/suffix.py            |    78 -
 SRC/Boost/tools/build/v2/test/svn_tree.py          |   668 -
 SRC/Boost/tools/build/v2/test/symlink.py           |    41 -
 SRC/Boost/tools/build/v2/test/tag.py               |   122 -
 SRC/Boost/tools/build/v2/test/template.py          |    42 -
 .../tools/build/v2/test/test-config-example.jam    |    19 -
 SRC/Boost/tools/build/v2/test/test.jam             |    23 -
 SRC/Boost/tools/build/v2/test/test1.py             |    18 -
 SRC/Boost/tools/build/v2/test/test2.py             |    25 -
 SRC/Boost/tools/build/v2/test/test2/Jamrules       |     0
 SRC/Boost/tools/build/v2/test/test2/foo.cpp        |    10 -
 SRC/Boost/tools/build/v2/test/test2/jamfile.jam    |     8 -
 SRC/Boost/tools/build/v2/test/test_all.py          |   240 -
 .../tools/build/v2/test/test_nt_line_length.jam    |    39 -
 .../tools/build/v2/test/test_result_dumping.py     |    33 -
 SRC/Boost/tools/build/v2/test/test_system.html     |   618 -
 .../v2/test/testing-primitives/boost-build.jam     |     5 -
 .../build/v2/test/testing-primitives/bootstrap.jam |   137 -
 .../tools/build/v2/test/testing_primitives.py      |    30 -
 SRC/Boost/tools/build/v2/test/testing_support.py   |    61 -
 SRC/Boost/tools/build/v2/test/timedata.py          |   155 -
 SRC/Boost/tools/build/v2/test/tree.py              |   120 -
 SRC/Boost/tools/build/v2/test/unit-tests.jam       |   262 -
 SRC/Boost/tools/build/v2/test/unit_test.py         |    36 -
 SRC/Boost/tools/build/v2/test/unit_tests.py        |    13 -
 SRC/Boost/tools/build/v2/test/unused.py            |    35 -
 SRC/Boost/tools/build/v2/test/unused/a.cpp         |     9 -
 SRC/Boost/tools/build/v2/test/unused/b.cpp         |     4 -
 SRC/Boost/tools/build/v2/test/unused/b.x           |     0
 SRC/Boost/tools/build/v2/test/unused/jamfile.jam   |    11 -
 SRC/Boost/tools/build/v2/test/unused/jamroot.jam   |    57 -
 SRC/Boost/tools/build/v2/test/use_requirements.py  |   295 -
 SRC/Boost/tools/build/v2/test/using.py             |    42 -
 SRC/Boost/tools/build/v2/test/v1-testing/a.cpp     |     5 -
 SRC/Boost/tools/build/v2/test/v1-testing/b.cpp     |     5 -
 .../tools/build/v2/test/v1-testing/boost-build.jam |     6 -
 SRC/Boost/tools/build/v2/test/v1-testing/c.cpp     |    16 -
 .../tools/build/v2/test/v1-testing/jamfile.jam     |    26 -
 SRC/Boost/tools/build/v2/test/v1_testing.py        |    88 -
 SRC/Boost/tools/build/v2/test/v1_testing/Jamrules  |     0
 .../tools/build/v2/test/v1_testing/boost-build.jam |     6 -
 SRC/Boost/tools/build/v2/test/v1_testing/foo.cpp   |    22 -
 .../tools/build/v2/test/v1_testing/jamfile.jam     |    23 -
 .../tools/build/v2/test/v1_testing/jamroot.jam     |     5 -
 .../tools/build/v2/test/v1_testing/lib-err.cpp     |     7 -
 SRC/Boost/tools/build/v2/test/v1_testing/lib.cpp   |     6 -
 SRC/Boost/tools/build/v2/test/wrapper.py           |    38 -
 SRC/Boost/tools/build/v2/test/wrong_project.py     |    41 -
 SRC/Boost/tools/build/v2/to_merge.sh               |    16 -
 SRC/Boost/tools/build/v2/tools/__init__.py         |     0
 SRC/Boost/tools/build/v2/tools/acc.jam             |   118 -
 SRC/Boost/tools/build/v2/tools/auto-index.jam      |   212 -
 SRC/Boost/tools/build/v2/tools/bison.jam           |    32 -
 .../tools/build/v2/tools/boostbook-config.jam      |    13 -
 SRC/Boost/tools/build/v2/tools/boostbook.jam       |   727 -
 SRC/Boost/tools/build/v2/tools/borland.jam         |   220 -
 SRC/Boost/tools/build/v2/tools/builtin.jam         |   960 -
 SRC/Boost/tools/build/v2/tools/builtin.py          |   718 -
 SRC/Boost/tools/build/v2/tools/cast.jam            |    91 -
 SRC/Boost/tools/build/v2/tools/cast.py             |    69 -
 SRC/Boost/tools/build/v2/tools/clang-darwin.jam    |   170 -
 SRC/Boost/tools/build/v2/tools/clang-linux.jam     |   196 -
 SRC/Boost/tools/build/v2/tools/clang.jam           |    27 -
 SRC/Boost/tools/build/v2/tools/common.jam          |   986 -
 SRC/Boost/tools/build/v2/tools/common.py           |   840 -
 SRC/Boost/tools/build/v2/tools/como-linux.jam      |   103 -
 SRC/Boost/tools/build/v2/tools/como-win.jam        |   117 -
 SRC/Boost/tools/build/v2/tools/como.jam            |    29 -
 SRC/Boost/tools/build/v2/tools/convert.jam         |    62 -
 SRC/Boost/tools/build/v2/tools/cw-config.jam       |    34 -
 SRC/Boost/tools/build/v2/tools/cw.jam              |   246 -
 SRC/Boost/tools/build/v2/tools/darwin.jam          |   568 -
 SRC/Boost/tools/build/v2/tools/darwin.py           |    57 -
 SRC/Boost/tools/build/v2/tools/dmc.jam             |   134 -
 SRC/Boost/tools/build/v2/tools/docutils.jam        |    84 -
 SRC/Boost/tools/build/v2/tools/doxproc.py          |   859 -
 SRC/Boost/tools/build/v2/tools/doxygen-config.jam  |    11 -
 SRC/Boost/tools/build/v2/tools/doxygen.jam         |   776 -
 .../v2/tools/doxygen/windows-paths-check.doxyfile  |     3 -
 .../build/v2/tools/doxygen/windows-paths-check.hpp |     0
 SRC/Boost/tools/build/v2/tools/fop.jam             |    69 -
 SRC/Boost/tools/build/v2/tools/fortran.jam         |    55 -
 SRC/Boost/tools/build/v2/tools/gcc.jam             |  1185 -
 SRC/Boost/tools/build/v2/tools/gcc.py              |   796 -
 SRC/Boost/tools/build/v2/tools/generate.jam        |   108 -
 SRC/Boost/tools/build/v2/tools/gettext.jam         |   230 -
 SRC/Boost/tools/build/v2/tools/gfortran.jam        |    39 -
 SRC/Boost/tools/build/v2/tools/hp_cxx.jam          |   181 -
 SRC/Boost/tools/build/v2/tools/hpfortran.jam       |    35 -
 SRC/Boost/tools/build/v2/tools/ifort.jam           |    44 -
 SRC/Boost/tools/build/v2/tools/intel-darwin.jam    |   220 -
 SRC/Boost/tools/build/v2/tools/intel-linux.jam     |   250 -
 SRC/Boost/tools/build/v2/tools/intel-win.jam       |   184 -
 SRC/Boost/tools/build/v2/tools/intel.jam           |    34 -
 SRC/Boost/tools/build/v2/tools/lex.jam             |    33 -
 SRC/Boost/tools/build/v2/tools/make.jam            |    72 -
 SRC/Boost/tools/build/v2/tools/make.py             |    59 -
 SRC/Boost/tools/build/v2/tools/mc.jam              |    44 -
 SRC/Boost/tools/build/v2/tools/message.jam         |    55 -
 SRC/Boost/tools/build/v2/tools/message.py          |    46 -
 SRC/Boost/tools/build/v2/tools/midl.jam            |   142 -
 SRC/Boost/tools/build/v2/tools/mipspro.jam         |   145 -
 SRC/Boost/tools/build/v2/tools/mpi.jam             |   583 -
 SRC/Boost/tools/build/v2/tools/msvc-config.jam     |    12 -
 SRC/Boost/tools/build/v2/tools/msvc.jam            |  1392 --
 SRC/Boost/tools/build/v2/tools/notfile.jam         |    74 -
 SRC/Boost/tools/build/v2/tools/notfile.py          |    51 -
 SRC/Boost/tools/build/v2/tools/package.jam         |   165 -
 SRC/Boost/tools/build/v2/tools/package.py          |   168 -
 SRC/Boost/tools/build/v2/tools/pathscale.jam       |   168 -
 SRC/Boost/tools/build/v2/tools/pch.jam             |    95 -
 SRC/Boost/tools/build/v2/tools/pch.py              |    83 -
 SRC/Boost/tools/build/v2/tools/pgi.jam             |   147 -
 SRC/Boost/tools/build/v2/tools/python-config.jam   |    27 -
 SRC/Boost/tools/build/v2/tools/python.jam          |  1267 -
 SRC/Boost/tools/build/v2/tools/qcc.jam             |   236 -
 SRC/Boost/tools/build/v2/tools/qt.jam              |    17 -
 SRC/Boost/tools/build/v2/tools/qt3.jam             |   209 -
 SRC/Boost/tools/build/v2/tools/qt4.jam             |   724 -
 .../tools/build/v2/tools/quickbook-config.jam      |    44 -
 SRC/Boost/tools/build/v2/tools/quickbook.jam       |   361 -
 SRC/Boost/tools/build/v2/tools/rc.jam              |   156 -
 SRC/Boost/tools/build/v2/tools/rc.py               |   189 -
 SRC/Boost/tools/build/v2/tools/stage.jam           |   524 -
 SRC/Boost/tools/build/v2/tools/stage.py            |   350 -
 SRC/Boost/tools/build/v2/tools/stlport.jam         |   303 -
 SRC/Boost/tools/build/v2/tools/sun.jam             |   142 -
 SRC/Boost/tools/build/v2/tools/symlink.jam         |   140 -
 SRC/Boost/tools/build/v2/tools/symlink.py          |   112 -
 SRC/Boost/tools/build/v2/tools/testing-aux.jam     |   210 -
 SRC/Boost/tools/build/v2/tools/testing.jam         |   581 -
 SRC/Boost/tools/build/v2/tools/testing.py          |   342 -
 SRC/Boost/tools/build/v2/tools/types/__init__.py   |    18 -
 SRC/Boost/tools/build/v2/tools/types/asm.jam       |     4 -
 SRC/Boost/tools/build/v2/tools/types/asm.py        |    13 -
 SRC/Boost/tools/build/v2/tools/types/cpp.jam       |    86 -
 SRC/Boost/tools/build/v2/tools/types/cpp.py        |    10 -
 SRC/Boost/tools/build/v2/tools/types/exe.jam       |     9 -
 SRC/Boost/tools/build/v2/tools/types/exe.py        |    11 -
 SRC/Boost/tools/build/v2/tools/types/html.jam      |     4 -
 SRC/Boost/tools/build/v2/tools/types/html.py       |    10 -
 SRC/Boost/tools/build/v2/tools/types/lib.jam       |    74 -
 SRC/Boost/tools/build/v2/tools/types/lib.py        |    77 -
 SRC/Boost/tools/build/v2/tools/types/obj.jam       |     9 -
 SRC/Boost/tools/build/v2/tools/types/obj.py        |    11 -
 SRC/Boost/tools/build/v2/tools/types/objc.jam      |    26 -
 .../tools/build/v2/tools/types/preprocessed.jam    |     9 -
 SRC/Boost/tools/build/v2/tools/types/qt.jam        |    10 -
 SRC/Boost/tools/build/v2/tools/types/register.jam  |    39 -
 SRC/Boost/tools/build/v2/tools/types/rsp.jam       |     4 -
 SRC/Boost/tools/build/v2/tools/types/rsp.py        |    10 -
 SRC/Boost/tools/build/v2/tools/unix.jam            |   224 -
 SRC/Boost/tools/build/v2/tools/unix.py             |   150 -
 SRC/Boost/tools/build/v2/tools/vacpp.jam           |   150 -
 SRC/Boost/tools/build/v2/tools/whale.jam           |   116 -
 SRC/Boost/tools/build/v2/tools/xlf.jam             |    39 -
 SRC/Boost/tools/build/v2/tools/xsltproc-config.jam |    37 -
 SRC/Boost/tools/build/v2/tools/xsltproc.jam        |   194 -
 .../tools/build/v2/tools/xsltproc/included.xsl     |    11 -
 SRC/Boost/tools/build/v2/tools/xsltproc/test.xml   |     2 -
 SRC/Boost/tools/build/v2/tools/xsltproc/test.xsl   |    12 -
 SRC/Boost/tools/build/v2/tools/zlib.jam            |    92 -
 SRC/Boost/tools/build/v2/user-config.jam           |    92 -
 SRC/Boost/tools/build/v2/util/__init__.py          |   136 -
 SRC/Boost/tools/build/v2/util/assert.jam           |   336 -
 SRC/Boost/tools/build/v2/util/container.jam        |   339 -
 SRC/Boost/tools/build/v2/util/doc.jam              |   997 -
 SRC/Boost/tools/build/v2/util/indirect.jam         |   115 -
 SRC/Boost/tools/build/v2/util/indirect.py          |    15 -
 SRC/Boost/tools/build/v2/util/logger.py            |    46 -
 SRC/Boost/tools/build/v2/util/numbers.jam          |   218 -
 SRC/Boost/tools/build/v2/util/option.jam           |   109 -
 SRC/Boost/tools/build/v2/util/option.py            |    35 -
 SRC/Boost/tools/build/v2/util/order.jam            |   169 -
 SRC/Boost/tools/build/v2/util/order.py             |   121 -
 SRC/Boost/tools/build/v2/util/os.jam               |   171 -
 SRC/Boost/tools/build/v2/util/os_j.py              |    19 -
 SRC/Boost/tools/build/v2/util/path.jam             |   934 -
 SRC/Boost/tools/build/v2/util/path.py              |   904 -
 SRC/Boost/tools/build/v2/util/print.jam            |   488 -
 SRC/Boost/tools/build/v2/util/regex.jam            |   193 -
 SRC/Boost/tools/build/v2/util/regex.py             |    25 -
 SRC/Boost/tools/build/v2/util/sequence.jam         |   335 -
 SRC/Boost/tools/build/v2/util/sequence.py          |    50 -
 SRC/Boost/tools/build/v2/util/set.jam              |    93 -
 SRC/Boost/tools/build/v2/util/set.py               |    42 -
 SRC/Boost/tools/build/v2/util/string.jam           |   189 -
 SRC/Boost/tools/build/v2/util/utility.jam          |   235 -
 SRC/Boost/tools/build/v2/util/utility.py           |   155 -
 SRC/ChronoEngine/ChronoEngine.pro                  |     8 +-
 SRC/OpenMeca/Core/AutoRegisteredPtr.hpp            |     4 +-
 SRC/OpenMeca/Core/DrawableUserItem.cpp             |     2 +-
 SRC/OpenMeca/Core/Item.cpp                         |     2 +-
 SRC/OpenMeca/Core/Item.hpp                         |     4 +-
 SRC/OpenMeca/Core/Macro.cpp                        |     4 +-
 SRC/OpenMeca/Core/SetOf.hpp                        |     4 +-
 SRC/OpenMeca/Core/SetOfBase.hpp                    |     6 +-
 SRC/OpenMeca/Core/Singleton.hpp                    |     7 +-
 SRC/OpenMeca/Core/System.cpp                       |     7 +-
 SRC/OpenMeca/Core/System.hpp                       |     2 +-
 SRC/OpenMeca/Core/SystemSettingT.hpp               |     4 +-
 SRC/OpenMeca/Core/UserItem.cpp                     |     4 +-
 SRC/OpenMeca/Core/UserItem.hpp                     |     4 +-
 SRC/OpenMeca/Geom/Coordinate.hpp                   |    33 +-
 SRC/OpenMeca/Geom/Frame.cpp                        |     4 +-
 SRC/OpenMeca/Geom/Frame.hpp                        |     4 +-
 SRC/OpenMeca/Geom/Matrix.cpp                       |     2 +-
 SRC/OpenMeca/Geom/Matrix.hpp                       |    24 +-
 SRC/OpenMeca/Geom/Point.hpp                        |    35 +-
 SRC/OpenMeca/Geom/Quaternion.cpp                   |     2 +-
 SRC/OpenMeca/Geom/Quaternion.hpp                   |    46 +-
 SRC/OpenMeca/Geom/Vector.hpp                       |    44 +-
 SRC/OpenMeca/Gui/Dialog/DialogVariable.cpp         |     2 -
 SRC/OpenMeca/Gui/ExampleAction.cpp                 |    15 +-
 SRC/OpenMeca/Gui/GeneralSetting.cpp                |     3 +-
 SRC/OpenMeca/Gui/MainPlotWindow.cpp                |     3 +-
 SRC/OpenMeca/Gui/MainPlotWindow.hpp                |     4 +-
 SRC/OpenMeca/Gui/MainPlotWindow.ui                 |     2 +-
 SRC/OpenMeca/Gui/MainWindow.cpp                    |   100 +-
 SRC/OpenMeca/Gui/MainWindow.hpp                    |     2 +-
 SRC/OpenMeca/Gui/SecondaryTreeItem.cpp             |     4 +-
 SRC/OpenMeca/Gui/SecondaryTreeItem.hpp             |     5 +-
 SRC/OpenMeca/Gui/Viewer.cpp                        |     2 +-
 SRC/OpenMeca/Gui/Viewer.hpp                        |     2 +-
 SRC/OpenMeca/Info.txt                              |     2 +-
 SRC/OpenMeca/Item/Body.cpp                         |     4 +-
 SRC/OpenMeca/Item/Body.hpp                         |     4 +-
 SRC/OpenMeca/Item/How/GetAngAcc.cpp                |     2 +-
 SRC/OpenMeca/Item/How/GetAngPos.cpp                |     2 +-
 SRC/OpenMeca/Item/How/GetAngVel.cpp                |     2 +-
 SRC/OpenMeca/Item/How/GetLinAcc.cpp                |     6 +-
 SRC/OpenMeca/Item/How/GetLinPos.cpp                |     2 +-
 SRC/OpenMeca/Item/How/GetLinVel.cpp                |     6 +-
 SRC/OpenMeca/Item/How/GetReacForce.cpp             |     2 +-
 SRC/OpenMeca/Item/How/GetReacTorque.cpp            |     2 +-
 SRC/OpenMeca/Item/How/SetForce.cpp                 |     2 +-
 SRC/OpenMeca/Item/How/SetTorque.cpp                |     2 +-
 SRC/OpenMeca/Item/Link.cpp                         |    34 +-
 SRC/OpenMeca/Item/Link.hpp                         |     8 +-
 SRC/OpenMeca/Item/Link/LinearMotor.hpp             |     2 +-
 SRC/OpenMeca/Item/Link/Motor.hpp                   |     2 +-
 SRC/OpenMeca/Item/Link/Spring.hpp                  |     2 +-
 SRC/OpenMeca/Item/LinkT.cpp                        |     2 +-
 SRC/OpenMeca/Item/Load.cpp                         |     2 +-
 SRC/OpenMeca/Item/Part.cpp                         |     2 +-
 SRC/OpenMeca/Item/Part.hpp                         |     1 -
 SRC/OpenMeca/Item/PartLinkT.cpp                    |     2 +-
 SRC/OpenMeca/Item/PartLinkT.hpp                    |    10 +-
 SRC/OpenMeca/Item/PartPoint.cpp                    |     6 +-
 SRC/OpenMeca/Item/PartUser.cpp                     |     6 +-
 SRC/OpenMeca/Item/PartUserJunction.cpp             |     6 +-
 SRC/OpenMeca/Item/PartUserPipe.cpp                 |     6 +-
 SRC/OpenMeca/Item/PartUserPoint.cpp                |     4 +-
 SRC/OpenMeca/Item/PartUserPoint.hpp                |     2 +-
 SRC/OpenMeca/Item/PartUserShape.cpp                |     2 +-
 SRC/OpenMeca/Item/PartUserShapeT.hpp               |     2 +-
 SRC/OpenMeca/Item/Physical.cpp                     |     2 +-
 SRC/OpenMeca/Item/Sensor.cpp                       |     2 +-
 SRC/OpenMeca/Item/Shape/Box.cpp                    |     4 +-
 SRC/OpenMeca/Item/Shape/Box.hpp                    |     4 +-
 SRC/OpenMeca/Item/Shape/Cylinder.cpp               |     6 +-
 SRC/OpenMeca/Item/Shape/Cylinder.hpp               |     4 +-
 SRC/OpenMeca/Item/Shape/Ground.cpp                 |     4 +-
 SRC/OpenMeca/Item/Shape/Ground.hpp                 |     4 +-
 SRC/OpenMeca/Item/Shape/ShapeBase.hpp              |     4 +-
 SRC/OpenMeca/Item/Shape/Sphere.cpp                 |     4 +-
 SRC/OpenMeca/Item/Shape/Sphere.hpp                 |     4 +-
 SRC/OpenMeca/Item/Variable.cpp                     |     2 +-
 SRC/OpenMeca/OpenMeca.pro                          |    21 +-
 SRC/OpenMeca/Physic/AngularAcceleration.cpp        |     2 +-
 SRC/OpenMeca/Physic/AngularPosition.cpp            |     2 +-
 SRC/OpenMeca/Physic/AngularVelocity.cpp            |     2 +-
 SRC/OpenMeca/Physic/Double.cpp                     |     5 +-
 SRC/OpenMeca/Physic/Force.cpp                      |     2 +-
 SRC/OpenMeca/Physic/LinearAcceleration.cpp         |     2 +-
 SRC/OpenMeca/Physic/LinearPosition.cpp             |     4 +-
 SRC/OpenMeca/Physic/LinearVelocity.cpp             |     2 +-
 SRC/OpenMeca/Physic/MechanicalAction.cpp           |    10 +-
 SRC/OpenMeca/Physic/Quantity.cpp                   |     2 +-
 SRC/OpenMeca/Physic/QuantityT.cpp                  |     2 +-
 SRC/OpenMeca/Physic/Torque.cpp                     |     2 +-
 SRC/OpenMeca/Physic/Type.cpp                       |     2 +-
 SRC/OpenMeca/Physic/Type.hpp                       |     4 +-
 SRC/OpenMeca/Physic/TypeT.cpp                      |     2 +-
 SRC/OpenMeca/Physic/Vector3D.cpp                   |     9 +-
 SRC/OpenMeca/Physic/Vector3D.hpp                   |     2 +-
 SRC/OpenMeca/Setting/Gravity.hpp                   |     4 +-
 SRC/OpenMeca/Setting/LangManager.cpp               |     2 -
 SRC/OpenMeca/Setting/Scales.hpp                    |     4 +-
 SRC/OpenMeca/Setting/Scene.hpp                     |     7 +-
 SRC/OpenMeca/Setting/Simulation.cpp                |     2 +-
 SRC/OpenMeca/Setting/Simulation.hpp                |     4 +-
 SRC/OpenMeca/Setting/UnitManager.cpp               |    18 +-
 SRC/OpenMeca/Util/Color.hpp                        |     4 +-
 SRC/OpenMeca/Util/CustomChFunction.hpp             |     2 +-
 SRC/OpenMeca/Util/Enum.cpp                         |    64 +-
 SRC/OpenMeca/Util/Expr.cpp                         |     2 -
 SRC/OpenMeca/Util/Expr.hpp                         |     4 +-
 SRC/OpenMeca/Util/ExprAttitude.cpp                 |     4 +-
 SRC/OpenMeca/Util/ExprAttitude.hpp                 |     2 +-
 SRC/OpenMeca/Util/ExprDouble.cpp                   |     2 -
 SRC/OpenMeca/Util/ExprPoint.cpp                    |     6 +-
 SRC/OpenMeca/Util/ExprPoint.hpp                    |     4 +-
 SRC/OpenMeca/Util/ExprVector.cpp                   |     6 +-
 SRC/OpenMeca/Util/ExprVector.hpp                   |     4 +-
 SRC/OpenMeca/Util/Var.hpp                          |     4 +-
 SRC/OpenMeca/Util/Version.hpp                      |     4 +-
 SRC/QGLViewer/GPL_EXCEPTION                        |    80 -
 SRC/QGLViewer/LICENCE                              |  1040 -
 SRC/QGLViewer/QGLViewer.pro                        |    95 -
 SRC/QGLViewer/QGLViewer/ImageInterface.ui          |   297 -
 SRC/QGLViewer/QGLViewer/VRender/AxisAlignedBox.h   |   101 -
 SRC/QGLViewer/QGLViewer/VRender/BSPSortMethod.cpp  |   644 -
 .../QGLViewer/VRender/BackFaceCullingOptimizer.cpp |    85 -
 SRC/QGLViewer/QGLViewer/VRender/EPSExporter.cpp    |   317 -
 SRC/QGLViewer/QGLViewer/VRender/Exporter.cpp       |   108 -
 SRC/QGLViewer/QGLViewer/VRender/Exporter.h         |   165 -
 SRC/QGLViewer/QGLViewer/VRender/FIGExporter.cpp    |   225 -
 SRC/QGLViewer/QGLViewer/VRender/NVector3.cpp       |   196 -
 SRC/QGLViewer/QGLViewer/VRender/NVector3.h         |   120 -
 SRC/QGLViewer/QGLViewer/VRender/Optimizer.h        |    91 -
 SRC/QGLViewer/QGLViewer/VRender/ParserGL.cpp       |   481 -
 SRC/QGLViewer/QGLViewer/VRender/ParserGL.h         |    88 -
 SRC/QGLViewer/QGLViewer/VRender/Primitive.cpp      |   171 -
 SRC/QGLViewer/QGLViewer/VRender/Primitive.h        |   219 -
 .../QGLViewer/VRender/PrimitivePositioning.cpp     |   671 -
 .../QGLViewer/VRender/PrimitivePositioning.h       |   102 -
 SRC/QGLViewer/QGLViewer/VRender/SortMethod.h       |   102 -
 .../QGLViewer/VRender/TopologicalSortMethod.cpp    |   688 -
 SRC/QGLViewer/QGLViewer/VRender/Types.h            |    74 -
 SRC/QGLViewer/QGLViewer/VRender/VRender.cpp        |   276 -
 SRC/QGLViewer/QGLViewer/VRender/VRender.h          |   118 -
 SRC/QGLViewer/QGLViewer/VRender/Vector2.cpp        |   147 -
 SRC/QGLViewer/QGLViewer/VRender/Vector2.h          |   181 -
 SRC/QGLViewer/QGLViewer/VRender/Vector3.cpp        |   170 -
 SRC/QGLViewer/QGLViewer/VRender/Vector3.h          |   195 -
 .../QGLViewer/VRender/VisibilityOptimizer.cpp      |   275 -
 SRC/QGLViewer/QGLViewer/VRender/gpc.cpp            |  2544 --
 SRC/QGLViewer/QGLViewer/VRender/gpc.h              |   179 -
 SRC/QGLViewer/QGLViewer/VRenderInterface.ui        |   217 -
 SRC/QGLViewer/QGLViewer/camera.cpp                 |  2209 --
 SRC/QGLViewer/QGLViewer/camera.h                   |   512 -
 SRC/QGLViewer/QGLViewer/config.h                   |   104 -
 SRC/QGLViewer/QGLViewer/constraint.cpp             |   291 -
 SRC/QGLViewer/QGLViewer/constraint.h               |   338 -
 SRC/QGLViewer/QGLViewer/domUtils.h                 |   161 -
 SRC/QGLViewer/QGLViewer/frame.cpp                  |  1144 -
 SRC/QGLViewer/QGLViewer/frame.h                    |   415 -
 SRC/QGLViewer/QGLViewer/keyFrameInterpolator.cpp   |   714 -
 SRC/QGLViewer/QGLViewer/keyFrameInterpolator.h     |   357 -
 SRC/QGLViewer/QGLViewer/manipulatedCameraFrame.cpp |   469 -
 SRC/QGLViewer/QGLViewer/manipulatedCameraFrame.h   |   233 -
 SRC/QGLViewer/QGLViewer/manipulatedFrame.cpp       |   550 -
 SRC/QGLViewer/QGLViewer/manipulatedFrame.h         |   335 -
 SRC/QGLViewer/QGLViewer/mouseGrabber.cpp           |    76 -
 SRC/QGLViewer/QGLViewer/mouseGrabber.h             |   264 -
 SRC/QGLViewer/QGLViewer/qglviewer-icon.xpm         |   359 -
 SRC/QGLViewer/QGLViewer/qglviewer.cpp              |  3849 ---
 SRC/QGLViewer/QGLViewer/qglviewer.h                |  1298 -
 SRC/QGLViewer/QGLViewer/quaternion.cpp             |   552 -
 SRC/QGLViewer/QGLViewer/quaternion.h               |   311 -
 SRC/QGLViewer/QGLViewer/saveSnapshot.cpp           |   638 -
 SRC/QGLViewer/QGLViewer/ui_ImageInterface.h        |   247 -
 SRC/QGLViewer/QGLViewer/ui_VRenderInterface.h      |   184 -
 SRC/QGLViewer/QGLViewer/vec.cpp                    |   164 -
 SRC/QGLViewer/QGLViewer/vec.h                      |   390 -
 SRC/QGLViewer/README                               |    41 -
 SRC/Qwt/CHANGES-6.1                                |   130 -
 SRC/Qwt/COPYING                                    |   543 -
 SRC/Qwt/INSTALL                                    |     1 -
 SRC/Qwt/Qwt.pro                                    |   224 -
 SRC/Qwt/designer/designer.pro                      |   121 -
 SRC/Qwt/designer/pixmaps/qwtanalogclock.png        |   Bin 422 -> 0 bytes
 SRC/Qwt/designer/pixmaps/qwtcompass.png            |   Bin 992 -> 0 bytes
 SRC/Qwt/designer/pixmaps/qwtcounter.png            |   Bin 1026 -> 0 bytes
 SRC/Qwt/designer/pixmaps/qwtdial.png               |   Bin 433 -> 0 bytes
 SRC/Qwt/designer/pixmaps/qwtknob.png               |   Bin 807 -> 0 bytes
 SRC/Qwt/designer/pixmaps/qwtplot.png               |   Bin 543 -> 0 bytes
 SRC/Qwt/designer/pixmaps/qwtscale.png              |   Bin 373 -> 0 bytes
 SRC/Qwt/designer/pixmaps/qwtslider.png             |   Bin 452 -> 0 bytes
 SRC/Qwt/designer/pixmaps/qwtthermo.png             |   Bin 580 -> 0 bytes
 SRC/Qwt/designer/pixmaps/qwtwheel.png              |   Bin 298 -> 0 bytes
 SRC/Qwt/designer/pixmaps/qwtwidget.png             |   Bin 1078 -> 0 bytes
 SRC/Qwt/designer/qwt_designer_plotdialog.cpp       |    42 -
 SRC/Qwt/designer/qwt_designer_plotdialog.h         |    31 -
 SRC/Qwt/designer/qwt_designer_plugin.cpp           |   570 -
 SRC/Qwt/designer/qwt_designer_plugin.h             |   248 -
 SRC/Qwt/designer/qwt_designer_plugin.qrc           |    15 -
 SRC/Qwt/src/qwt.h                                  |    22 -
 SRC/Qwt/src/qwt_abstract_legend.cpp                |    38 -
 SRC/Qwt/src/qwt_abstract_legend.h                  |    71 -
 SRC/Qwt/src/qwt_abstract_scale.cpp                 |   449 -
 SRC/Qwt/src/qwt_abstract_scale.h                   |   105 -
 SRC/Qwt/src/qwt_abstract_scale_draw.cpp            |   420 -
 SRC/Qwt/src/qwt_abstract_scale_draw.h              |   141 -
 SRC/Qwt/src/qwt_abstract_slider.cpp                |   822 -
 SRC/Qwt/src/qwt_abstract_slider.h                  |   167 -
 SRC/Qwt/src/qwt_analog_clock.cpp                   |   244 -
 SRC/Qwt/src/qwt_analog_clock.h                     |    93 -
 SRC/Qwt/src/qwt_arrow_button.cpp                   |   333 -
 SRC/Qwt/src/qwt_arrow_button.h                     |    52 -
 SRC/Qwt/src/qwt_clipper.cpp                        |   510 -
 SRC/Qwt/src/qwt_clipper.h                          |    40 -
 SRC/Qwt/src/qwt_color_map.cpp                      |   499 -
 SRC/Qwt/src/qwt_color_map.h                        |   200 -
 SRC/Qwt/src/qwt_column_symbol.cpp                  |   293 -
 SRC/Qwt/src/qwt_column_symbol.h                    |   161 -
 SRC/Qwt/src/qwt_compass.cpp                        |   308 -
 SRC/Qwt/src/qwt_compass.h                          |    83 -
 SRC/Qwt/src/qwt_compass_rose.cpp                   |   269 -
 SRC/Qwt/src/qwt_compass_rose.h                     |    89 -
 SRC/Qwt/src/qwt_compat.h                           |    42 -
 SRC/Qwt/src/qwt_counter.cpp                        |   785 -
 SRC/Qwt/src/qwt_counter.h                          |   161 -
 SRC/Qwt/src/qwt_curve_fitter.cpp                   |   453 -
 SRC/Qwt/src/qwt_curve_fitter.h                     |   139 -
 SRC/Qwt/src/qwt_date.cpp                           |   663 -
 SRC/Qwt/src/qwt_date.h                             |   128 -
 SRC/Qwt/src/qwt_date_scale_draw.cpp                |   278 -
 SRC/Qwt/src/qwt_date_scale_draw.h                  |    86 -
 SRC/Qwt/src/qwt_date_scale_engine.cpp              |  1309 --
 SRC/Qwt/src/qwt_date_scale_engine.h                |    86 -
 SRC/Qwt/src/qwt_dial.cpp                           |   872 -
 SRC/Qwt/src/qwt_dial.h                             |   168 -
 SRC/Qwt/src/qwt_dial_needle.cpp                    |   440 -
 SRC/Qwt/src/qwt_dial_needle.h                      |   187 -
 SRC/Qwt/src/qwt_dyngrid_layout.cpp                 |   591 -
 SRC/Qwt/src/qwt_dyngrid_layout.h                   |    83 -
 SRC/Qwt/src/qwt_event_pattern.cpp                  |   265 -
 SRC/Qwt/src/qwt_event_pattern.h                    |   240 -
 SRC/Qwt/src/qwt_global.h                           |    41 -
 SRC/Qwt/src/qwt_graphic.cpp                        |  1009 -
 SRC/Qwt/src/qwt_graphic.h                          |   176 -
 SRC/Qwt/src/qwt_interval.cpp                       |   354 -
 SRC/Qwt/src/qwt_interval.h                         |   320 -
 SRC/Qwt/src/qwt_interval_symbol.cpp                |   319 -
 SRC/Qwt/src/qwt_interval_symbol.h                  |    87 -
 SRC/Qwt/src/qwt_knob.cpp                           |   855 -
 SRC/Qwt/src/qwt_knob.h                             |   178 -
 SRC/Qwt/src/qwt_legend.cpp                         |   811 -
 SRC/Qwt/src/qwt_legend.h                           |   117 -
 SRC/Qwt/src/qwt_legend_data.cpp                    |   129 -
 SRC/Qwt/src/qwt_legend_data.h                      |    87 -
 SRC/Qwt/src/qwt_legend_label.cpp                   |   421 -
 SRC/Qwt/src/qwt_legend_label.h                     |    80 -
 SRC/Qwt/src/qwt_magnifier.cpp                      |   492 -
 SRC/Qwt/src/qwt_magnifier.h                        |    86 -
 SRC/Qwt/src/qwt_math.cpp                           |    74 -
 SRC/Qwt/src/qwt_math.h                             |   149 -
 SRC/Qwt/src/qwt_matrix_raster_data.cpp             |   298 -
 SRC/Qwt/src/qwt_matrix_raster_data.h               |    74 -
 SRC/Qwt/src/qwt_null_paintdevice.cpp               |   593 -
 SRC/Qwt/src/qwt_null_paintdevice.h                 |   126 -
 SRC/Qwt/src/qwt_painter.cpp                        |  1294 -
 SRC/Qwt/src/qwt_painter.h                          |   188 -
 SRC/Qwt/src/qwt_painter_command.cpp                |   237 -
 SRC/Qwt/src/qwt_painter_command.h                  |   173 -
 SRC/Qwt/src/qwt_panner.cpp                         |   538 -
 SRC/Qwt/src/qwt_panner.h                           |   103 -
 SRC/Qwt/src/qwt_picker.cpp                         |  1593 --
 SRC/Qwt/src/qwt_picker.h                           |   329 -
 SRC/Qwt/src/qwt_picker_machine.cpp                 |   541 -
 SRC/Qwt/src/qwt_picker_machine.h                   |   214 -
 SRC/Qwt/src/qwt_pixel_matrix.cpp                   |    51 -
 SRC/Qwt/src/qwt_pixel_matrix.h                     |    98 -
 SRC/Qwt/src/qwt_plot.cpp                           |  1176 -
 SRC/Qwt/src/qwt_plot.h                             |   312 -
 SRC/Qwt/src/qwt_plot_abstract_barchart.cpp         |   368 -
 SRC/Qwt/src/qwt_plot_abstract_barchart.h           |    97 -
 SRC/Qwt/src/qwt_plot_axis.cpp                      |   719 -
 SRC/Qwt/src/qwt_plot_barchart.cpp                  |   459 -
 SRC/Qwt/src/qwt_plot_barchart.h                    |   118 -
 SRC/Qwt/src/qwt_plot_canvas.cpp                    |  1097 -
 SRC/Qwt/src/qwt_plot_canvas.h                      |   171 -
 SRC/Qwt/src/qwt_plot_curve.cpp                     |  1204 -
 SRC/Qwt/src/qwt_plot_curve.h                       |   337 -
 SRC/Qwt/src/qwt_plot_dict.cpp                      |   191 -
 SRC/Qwt/src/qwt_plot_dict.h                        |    58 -
 SRC/Qwt/src/qwt_plot_directpainter.cpp             |   317 -
 SRC/Qwt/src/qwt_plot_directpainter.h               |   100 -
 SRC/Qwt/src/qwt_plot_glcanvas.cpp                  |   357 -
 SRC/Qwt/src/qwt_plot_glcanvas.h                    |   136 -
 SRC/Qwt/src/qwt_plot_grid.cpp                      |   438 -
 SRC/Qwt/src/qwt_plot_grid.h                        |    87 -
 SRC/Qwt/src/qwt_plot_histogram.cpp                 |   690 -
 SRC/Qwt/src/qwt_plot_histogram.h                   |   139 -
 SRC/Qwt/src/qwt_plot_intervalcurve.cpp             |   603 -
 SRC/Qwt/src/qwt_plot_intervalcurve.h               |   132 -
 SRC/Qwt/src/qwt_plot_item.cpp                      |   698 -
 SRC/Qwt/src/qwt_plot_item.h                        |   307 -
 SRC/Qwt/src/qwt_plot_layout.cpp                    |  1444 --
 SRC/Qwt/src/qwt_plot_layout.h                      |   122 -
 SRC/Qwt/src/qwt_plot_legenditem.cpp                |   865 -
 SRC/Qwt/src/qwt_plot_legenditem.h                  |   136 -
 SRC/Qwt/src/qwt_plot_magnifier.cpp                 |   145 -
 SRC/Qwt/src/qwt_plot_magnifier.h                   |    54 -
 SRC/Qwt/src/qwt_plot_marker.cpp                    |   610 -
 SRC/Qwt/src/qwt_plot_marker.h                      |   130 -
 SRC/Qwt/src/qwt_plot_multi_barchart.cpp            |   744 -
 SRC/Qwt/src/qwt_plot_multi_barchart.h              |   127 -
 SRC/Qwt/src/qwt_plot_panner.cpp                    |   275 -
 SRC/Qwt/src/qwt_plot_panner.h                      |    60 -
 SRC/Qwt/src/qwt_plot_picker.cpp                    |   378 -
 SRC/Qwt/src/qwt_plot_picker.h                      |   111 -
 SRC/Qwt/src/qwt_plot_rasteritem.cpp                |   946 -
 SRC/Qwt/src/qwt_plot_rasteritem.h                  |   152 -
 SRC/Qwt/src/qwt_plot_renderer.cpp                  |  1014 -
 SRC/Qwt/src/qwt_plot_renderer.h                    |   170 -
 SRC/Qwt/src/qwt_plot_rescaler.cpp                  |   631 -
 SRC/Qwt/src/qwt_plot_rescaler.h                    |   142 -
 SRC/Qwt/src/qwt_plot_scaleitem.cpp                 |   478 -
 SRC/Qwt/src/qwt_plot_scaleitem.h                   |    94 -
 SRC/Qwt/src/qwt_plot_seriesitem.cpp                |   112 -
 SRC/Qwt/src/qwt_plot_seriesitem.h                  |    66 -
 SRC/Qwt/src/qwt_plot_shapeitem.cpp                 |   491 -
 SRC/Qwt/src/qwt_plot_shapeitem.h                   |   111 -
 SRC/Qwt/src/qwt_plot_spectrocurve.cpp              |   321 -
 SRC/Qwt/src/qwt_plot_spectrocurve.h                |    79 -
 SRC/Qwt/src/qwt_plot_spectrogram.cpp               |   676 -
 SRC/Qwt/src/qwt_plot_spectrogram.h                 |   118 -
 SRC/Qwt/src/qwt_plot_svgitem.cpp                   |   219 -
 SRC/Qwt/src/qwt_plot_svgitem.h                     |    61 -
 SRC/Qwt/src/qwt_plot_textlabel.cpp                 |   261 -
 SRC/Qwt/src/qwt_plot_textlabel.h                   |    75 -
 SRC/Qwt/src/qwt_plot_tradingcurve.cpp              |   682 -
 SRC/Qwt/src/qwt_plot_tradingcurve.h                |   174 -
 SRC/Qwt/src/qwt_plot_xml.cpp                       |    42 -
 SRC/Qwt/src/qwt_plot_zoneitem.cpp                  |   315 -
 SRC/Qwt/src/qwt_plot_zoneitem.h                    |    65 -
 SRC/Qwt/src/qwt_plot_zoomer.cpp                    |   604 -
 SRC/Qwt/src/qwt_plot_zoomer.h                      |   140 -
 SRC/Qwt/src/qwt_point_3d.cpp                       |    22 -
 SRC/Qwt/src/qwt_point_3d.h                         |   189 -
 SRC/Qwt/src/qwt_point_data.cpp                     |   304 -
 SRC/Qwt/src/qwt_point_data.h                       |   146 -
 SRC/Qwt/src/qwt_point_mapper.cpp                   |   721 -
 SRC/Qwt/src/qwt_point_mapper.h                     |    89 -
 SRC/Qwt/src/qwt_point_polar.cpp                    |   121 -
 SRC/Qwt/src/qwt_point_polar.h                      |   201 -
 SRC/Qwt/src/qwt_raster_data.cpp                    |   404 -
 SRC/Qwt/src/qwt_raster_data.h                      |    95 -
 SRC/Qwt/src/qwt_round_scale_draw.cpp               |   314 -
 SRC/Qwt/src/qwt_round_scale_draw.h                 |    66 -
 SRC/Qwt/src/qwt_samples.h                          |   239 -
 SRC/Qwt/src/qwt_sampling_thread.cpp                |   106 -
 SRC/Qwt/src/qwt_sampling_thread.h                  |    50 -
 SRC/Qwt/src/qwt_scale_div.cpp                      |   331 -
 SRC/Qwt/src/qwt_scale_div.h                        |   110 -
 SRC/Qwt/src/qwt_scale_draw.cpp                     |   926 -
 SRC/Qwt/src/qwt_scale_draw.h                       |   120 -
 SRC/Qwt/src/qwt_scale_engine.cpp                   |  1137 -
 SRC/Qwt/src/qwt_scale_engine.h                     |   220 -
 SRC/Qwt/src/qwt_scale_map.cpp                      |   248 -
 SRC/Qwt/src/qwt_scale_map.h                        |   175 -
 SRC/Qwt/src/qwt_scale_widget.cpp                   |   942 -
 SRC/Qwt/src/qwt_scale_widget.h                     |   136 -
 SRC/Qwt/src/qwt_series_data.cpp                    |   346 -
 SRC/Qwt/src/qwt_series_data.h                      |   355 -
 SRC/Qwt/src/qwt_series_store.h                     |   199 -
 SRC/Qwt/src/qwt_slider.cpp                         |  1004 -
 SRC/Qwt/src/qwt_slider.h                           |   130 -
 SRC/Qwt/src/qwt_spline.cpp                         |   384 -
 SRC/Qwt/src/qwt_spline.h                           |   101 -
 SRC/Qwt/src/qwt_symbol.cpp                         |  1770 --
 SRC/Qwt/src/qwt_symbol.h                           |   258 -
 SRC/Qwt/src/qwt_system_clock.cpp                   |   396 -
 SRC/Qwt/src/qwt_system_clock.h                     |    47 -
 SRC/Qwt/src/qwt_text.cpp                           |   684 -
 SRC/Qwt/src/qwt_text.h                             |   223 -
 SRC/Qwt/src/qwt_text_engine.cpp                    |   345 -
 SRC/Qwt/src/qwt_text_engine.h                      |   172 -
 SRC/Qwt/src/qwt_text_label.cpp                     |   324 -
 SRC/Qwt/src/qwt_text_label.h                       |    77 -
 SRC/Qwt/src/qwt_thermo.cpp                         |  1005 -
 SRC/Qwt/src/qwt_thermo.h                           |   178 -
 SRC/Qwt/src/qwt_transform.cpp                      |   177 -
 SRC/Qwt/src/qwt_transform.h                        |   142 -
 SRC/Qwt/src/qwt_wheel.cpp                          |  1299 -
 SRC/Qwt/src/qwt_wheel.h                            |   178 -
 SRC/Qwt/src/qwt_widget_overlay.cpp                 |   376 -
 SRC/Qwt/src/qwt_widget_overlay.h                   |   148 -
 SRC/Qwt/textengines/mathml/mathml.pro              |    78 -
 SRC/Qwt/textengines/mathml/qtmmlwidget-license     |    44 -
 .../textengines/mathml/qwt_mathml_text_engine.cpp  |   132 -
 .../textengines/mathml/qwt_mathml_text_engine.h    |    53 -
 SRC/Qwt/textengines/mathml/qwt_mml_document.cpp    |  6261 -----
 SRC/Qwt/textengines/mathml/qwt_mml_document.h      |    45 -
 SRC/Qwt/textengines/mathml/qwtmathml.prf           |    29 -
 SRC/Qwt/textengines/textengines.pri                |    43 -
 SRC/Qwt/textengines/textengines.pro                |    16 -
 SRC/Serialization/#tracking_enum.hpp#              |    41 +
 SRC/Serialization/Serialization.pro                |    67 +
 SRC/Serialization/access.hpp                       |   147 +
 .../boost => Serialization}/archive/add_facet.hpp  |     0
 SRC/Serialization/archive/archive_exception.hpp    |    97 +
 SRC/Serialization/archive/basic_archive.hpp        |   300 +
 .../archive/basic_binary_iarchive.hpp              |   222 +
 .../archive/basic_binary_iprimitive.hpp            |   190 +
 .../archive/basic_binary_oarchive.hpp              |   180 +
 .../archive/basic_binary_oprimitive.hpp            |   184 +
 .../archive/basic_streambuf_locale_saver.hpp       |     0
 SRC/Serialization/archive/basic_text_iarchive.hpp  |    91 +
 .../archive/basic_text_iprimitive.hpp              |   144 +
 SRC/Serialization/archive/basic_text_oarchive.hpp  |   116 +
 .../archive/basic_text_oprimitive.hpp              |   173 +
 SRC/Serialization/archive/basic_xml_archive.hpp    |    67 +
 SRC/Serialization/archive/basic_xml_iarchive.hpp   |   127 +
 SRC/Serialization/archive/basic_xml_oarchive.hpp   |   145 +
 SRC/Serialization/archive/binary_iarchive.hpp      |   103 +
 SRC/Serialization/archive/binary_iarchive_impl.hpp |    96 +
 SRC/Serialization/archive/binary_oarchive.hpp      |    66 +
 SRC/Serialization/archive/binary_oarchive_impl.hpp |    97 +
 SRC/Serialization/archive/binary_wiarchive.hpp     |    93 +
 SRC/Serialization/archive/binary_woarchive.hpp     |    61 +
 SRC/Serialization/archive/codecvt_null.hpp         |   100 +
 .../archive/detail/abi_prefix.hpp                  |     0
 .../archive/detail/abi_suffix.hpp                  |     0
 .../archive/detail/archive_serializer_map.hpp      |    55 +
 .../archive/detail/auto_link_archive.hpp           |    48 +
 .../archive/detail/auto_link_warchive.hpp          |    47 +
 .../archive/detail/basic_iarchive.hpp              |   110 +
 .../archive/detail/basic_iserializer.hpp           |    95 +
 .../archive/detail/basic_oarchive.hpp              |   106 +
 .../archive/detail/basic_oserializer.hpp           |    93 +
 .../archive/detail/basic_pointer_iserializer.hpp   |    73 +
 .../archive/detail/basic_pointer_oserializer.hpp   |    72 +
 .../archive/detail/basic_serializer.hpp            |    79 +
 .../archive/detail/basic_serializer_map.hpp        |    69 +
 SRC/Serialization/archive/detail/check.hpp         |   169 +
 .../archive/detail/common_iarchive.hpp             |    88 +
 .../archive/detail/common_oarchive.hpp             |    87 +
 .../archive/detail/decl.hpp                        |     0
 .../archive/detail/interface_iarchive.hpp          |    77 +
 .../archive/detail/interface_oarchive.hpp          |    84 +
 SRC/Serialization/archive/detail/iserializer.hpp   |   632 +
 SRC/Serialization/archive/detail/oserializer.hpp   |   531 +
 .../archive/detail/polymorphic_iarchive_route.hpp  |   215 +
 .../archive/detail/polymorphic_oarchive_route.hpp  |   205 +
 .../archive/detail/register_archive.hpp            |     0
 .../archive/detail/utf8_codecvt_facet.hpp          |     0
 .../boost => Serialization}/archive/dinkumware.hpp |     0
 .../archive/impl/archive_serializer_map.ipp        |    71 +
 .../archive/impl/basic_binary_iarchive.ipp         |   129 +
 .../archive/impl/basic_binary_iprimitive.ipp       |   209 +
 .../archive/impl/basic_binary_oarchive.ipp         |    46 +
 .../archive/impl/basic_binary_oprimitive.ipp       |   160 +
 .../archive/impl/basic_text_iarchive.ipp           |    79 +
 .../archive/impl/basic_text_iprimitive.ipp         |   154 +
 .../archive/impl/basic_text_oarchive.ipp           |    62 +
 .../archive/impl/basic_text_oprimitive.ipp         |   114 +
 .../archive/impl/basic_xml_grammar.hpp             |   178 +
 .../archive/impl/basic_xml_iarchive.ipp            |   114 +
 .../archive/impl/basic_xml_oarchive.ipp            |   275 +
 .../archive/impl/text_iarchive_impl.ipp            |   128 +
 .../archive/impl/text_oarchive_impl.ipp            |   124 +
 .../archive/impl/text_wiarchive_impl.ipp           |   118 +
 .../archive/impl/text_woarchive_impl.ipp           |    85 +
 .../archive/impl/xml_iarchive_impl.ipp             |   204 +
 .../archive/impl/xml_oarchive_impl.ipp             |   117 +
 .../archive/impl/xml_wiarchive_impl.ipp            |   206 +
 .../archive/impl/xml_woarchive_impl.ipp            |   160 +
 .../archive/iterators/base64_from_binary.hpp       |   112 +
 .../archive/iterators/binary_from_base64.hpp       |   120 +
 .../archive/iterators/dataflow_exception.hpp       |     0
 .../archive/iterators/escape.hpp                   |     0
 .../archive/iterators/insert_linebreaks.hpp        |   101 +
 .../archive/iterators/istream_iterator.hpp         |     0
 .../archive/iterators/mb_from_wchar.hpp            |   136 +
 .../archive/iterators/ostream_iterator.hpp         |     0
 .../archive/iterators/remove_whitespace.hpp        |   169 +
 .../archive/iterators/transform_width.hpp          |   170 +
 .../archive/iterators/unescape.hpp                 |     0
 .../archive/iterators/wchar_from_mb.hpp            |   129 +
 SRC/Serialization/archive/iterators/xml_escape.hpp |   125 +
 .../archive/iterators/xml_unescape.hpp             |   128 +
 .../archive/polymorphic_binary_iarchive.hpp        |    54 +
 .../archive/polymorphic_binary_oarchive.hpp        |    43 +
 SRC/Serialization/archive/polymorphic_iarchive.hpp |   181 +
 SRC/Serialization/archive/polymorphic_oarchive.hpp |   159 +
 .../archive/polymorphic_text_iarchive.hpp          |    54 +
 .../archive/polymorphic_text_oarchive.hpp          |    39 +
 .../archive/polymorphic_text_wiarchive.hpp         |    59 +
 .../archive/polymorphic_text_woarchive.hpp         |    44 +
 .../archive/polymorphic_xml_iarchive.hpp           |    54 +
 .../archive/polymorphic_xml_oarchive.hpp           |    39 +
 .../archive/polymorphic_xml_wiarchive.hpp          |    50 +
 .../archive/polymorphic_xml_woarchive.hpp          |    44 +
 SRC/Serialization/archive/shared_ptr_helper.hpp    |   219 +
 SRC/Serialization/archive/text_iarchive.hpp        |   156 +
 SRC/Serialization/archive/text_oarchive.hpp        |   119 +
 SRC/Serialization/archive/text_wiarchive.hpp       |   152 +
 SRC/Serialization/archive/text_woarchive.hpp       |   145 +
 .../boost => Serialization}/archive/tmpdir.hpp     |     0
 .../boost => Serialization}/archive/wcslen.hpp     |     0
 .../archive/xml_archive_exception.hpp              |    56 +
 SRC/Serialization/archive/xml_iarchive.hpp         |   164 +
 SRC/Serialization/archive/xml_oarchive.hpp         |   133 +
 SRC/Serialization/archive/xml_wiarchive.hpp        |   170 +
 SRC/Serialization/archive/xml_woarchive.hpp        |   140 +
 SRC/Serialization/array.hpp                        |   153 +
 .../assume_abstract.hpp                            |     0
 SRC/Serialization/base_object.hpp                  |   112 +
 SRC/Serialization/binary_object.hpp                |    82 +
 SRC/Serialization/bitset.hpp                       |    75 +
 SRC/Serialization/collection_size_type.hpp         |    62 +
 SRC/Serialization/collection_traits.hpp            |    79 +
 SRC/Serialization/collections_load_imp.hpp         |   166 +
 SRC/Serialization/collections_save_imp.hpp         |    72 +
 SRC/Serialization/complex.hpp                      |    81 +
 .../serialization => Serialization}/config.hpp     |     0
 SRC/Serialization/deque.hpp                        |    75 +
 .../detail/get_data.hpp                            |     0
 SRC/Serialization/detail/shared_count_132.hpp      |   569 +
 SRC/Serialization/detail/shared_ptr_132.hpp        |   478 +
 SRC/Serialization/detail/shared_ptr_nmt_132.hpp    |   182 +
 .../detail/stack_constructor.hpp                   |     0
 SRC/Serialization/ephemeral.hpp                    |    80 +
 SRC/Serialization/export.hpp                       |   234 +
 SRC/Serialization/extended_type_info.hpp           |   108 +
 SRC/Serialization/extended_type_info_no_rtti.hpp   |   182 +
 SRC/Serialization/extended_type_info_typeid.hpp    |   165 +
 .../serialization => Serialization}/factory.hpp    |     0
 .../force_include.hpp                              |     0
 SRC/Serialization/hash_collections_load_imp.hpp    |    77 +
 SRC/Serialization/hash_collections_save_imp.hpp    |    97 +
 SRC/Serialization/hash_map.hpp                     |   231 +
 SRC/Serialization/hash_set.hpp                     |   221 +
 .../is_bitwise_serializable.hpp                    |     0
 SRC/Serialization/item_version_type.hpp            |    68 +
 SRC/Serialization/level.hpp                        |   125 +
 .../serialization => Serialization}/level_enum.hpp |     0
 SRC/Serialization/list.hpp                         |    77 +
 SRC/Serialization/map.hpp                          |   118 +
 SRC/Serialization/nvp.hpp                          |   144 +
 SRC/Serialization/optional.hpp                     |   127 +
 .../boost/serialization => Serialization}/pfto.hpp |     0
 SRC/Serialization/scoped_ptr.hpp                   |    58 +
 SRC/Serialization/serialization.hpp                |   167 +
 SRC/Serialization/set.hpp                          |   120 +
 SRC/Serialization/shared_ptr.hpp                   |   177 +
 SRC/Serialization/shared_ptr_132.hpp               |   222 +
 SRC/Serialization/singleton.hpp                    |   158 +
 SRC/Serialization/slist.hpp                        |   103 +
 .../serialization => Serialization}/smart_cast.hpp |     0
 SRC/Serialization/split_free.hpp                   |    93 +
 SRC/Serialization/split_member.hpp                 |    86 +
 SRC/Serialization/src/archive_exception.cpp        |   114 +
 SRC/Serialization/src/basic_archive.cpp            |    80 +
 SRC/Serialization/src/basic_iarchive.cpp           |   576 +
 SRC/Serialization/src/basic_iserializer.cpp        |    33 +
 SRC/Serialization/src/basic_oarchive.cpp           |   459 +
 SRC/Serialization/src/basic_oserializer.cpp        |    33 +
 .../src/basic_pointer_iserializer.cpp              |    30 +
 .../src/basic_pointer_oserializer.cpp              |    30 +
 SRC/Serialization/src/basic_serializer_map.cpp     |   111 +
 SRC/Serialization/src/basic_text_iprimitive.cpp    |    28 +
 SRC/Serialization/src/basic_text_oprimitive.cpp    |    28 +
 SRC/Serialization/src/basic_text_wiprimitive.cpp   |    35 +
 SRC/Serialization/src/basic_text_woprimitive.cpp   |    35 +
 SRC/Serialization/src/basic_xml_archive.cpp        |    51 +
 SRC/Serialization/src/basic_xml_grammar.ipp        |   468 +
 SRC/Serialization/src/binary_iarchive.cpp          |    53 +
 SRC/Serialization/src/binary_oarchive.cpp          |    39 +
 SRC/Serialization/src/binary_wiarchive.cpp         |    60 +
 SRC/Serialization/src/binary_woarchive.cpp         |    44 +
 SRC/Serialization/src/codecvt_null.cpp             |    83 +
 SRC/Serialization/src/extended_type_info.cpp       |   188 +
 .../src/extended_type_info_no_rtti.cpp             |    85 +
 .../src/extended_type_info_typeid.cpp              |   161 +
 SRC/Serialization/src/polymorphic_iarchive.cpp     |    29 +
 SRC/Serialization/src/polymorphic_oarchive.cpp     |    29 +
 SRC/Serialization/src/shared_ptr_helper.cpp        |   138 +
 SRC/Serialization/src/stl_port.cpp                 |    43 +
 SRC/Serialization/src/text_iarchive.cpp            |    36 +
 SRC/Serialization/src/text_oarchive.cpp            |    33 +
 SRC/Serialization/src/text_wiarchive.cpp           |    41 +
 SRC/Serialization/src/text_woarchive.cpp           |    35 +
 SRC/Serialization/src/utf8_codecvt_facet.cpp       |    21 +
 SRC/Serialization/src/void_cast.cpp                |   360 +
 SRC/Serialization/src/xml_archive_exception.cpp    |    56 +
 SRC/Serialization/src/xml_grammar.cpp              |    73 +
 SRC/Serialization/src/xml_iarchive.cpp             |    46 +
 SRC/Serialization/src/xml_oarchive.cpp             |    32 +
 SRC/Serialization/src/xml_wgrammar.cpp             |   157 +
 SRC/Serialization/src/xml_wiarchive.cpp            |    53 +
 SRC/Serialization/src/xml_woarchive.cpp            |    35 +
 .../state_saver.hpp                                |     0
 .../static_warning.hpp                             |     0
 SRC/Serialization/string.hpp                       |    91 +
 .../strong_typedef.hpp                             |     0
 .../throw_exception.hpp                            |     0
 SRC/Serialization/tracking.hpp                     |   118 +
 .../tracking_enum.hpp                              |     0
 SRC/Serialization/traits.hpp                       |    65 +
 SRC/Serialization/type_info_implementation.hpp     |    86 +
 SRC/Serialization/utility.hpp                      |    56 +
 SRC/Serialization/valarray.hpp                     |    74 +
 SRC/Serialization/variant.hpp                      |   163 +
 SRC/Serialization/vector.hpp                       |   211 +
 SRC/Serialization/vector_135.hpp                   |    26 +
 SRC/Serialization/version.hpp                      |   107 +
 SRC/Serialization/void_cast.hpp                    |   298 +
 SRC/Serialization/void_cast_fwd.hpp                |    37 +
 SRC/Serialization/weak_ptr.hpp                     |    58 +
 SRC/Serialization/wrapper.hpp                      |    60 +
 debian/changelog                                   |     5 -
 debian/compat                                      |     1 -
 debian/control                                     |    27 -
 debian/copyright                                   |   133 -
 debian/docs/openmeca.1                             |    16 -
 debian/openmeca.desktop                            |     9 -
 debian/openmeca.install                            |     4 -
 debian/openmeca.manpages                           |     1 -
 debian/openmeca.xml                                |     7 -
 debian/patches/make-patch                          |    41 -
 debian/patches/series                              |     1 -
 debian/rules                                       |     7 -
 debian/source/format                               |     1 -
 debian/watch                                       |     3 -
 5533 files changed, 23380 insertions(+), 949559 deletions(-)

diff --git a/Makefile b/Makefile
index e17fa92..233b5fc 100644
--- a/Makefile
+++ b/Makefile
@@ -16,8 +16,7 @@ QMAKE=qmake
 # Cross compile from unix to win32 #
 ####################################
 # The mxe platform is used. So, you need to specifiy your mxe path. 
-# For example, if you type 'mxe=/home/omc/mxe make', 
-# it runs a cross-compilation
+# For example, if you type 'mxe=/home/omc/mxe make', it runs the cross-compilation
 
 # if mxe is used, the mxe path must be exported
 ifdef mxe
@@ -36,9 +35,7 @@ OSName := $(shell uname)
 .PHONY: all message boost qglviewer qwt chronoengine openmeca
 
 all: message
-	$(MAKE) boost
-	$(MAKE) qglviewer
-	$(MAKE) qwt
+	$(MAKE) serialization
 	$(MAKE) chronoengine
 	$(MAKE) openmeca
 
@@ -50,34 +47,23 @@ endif
 	@echo 'compiling...'
 
 clean:
-	-rm -rf SRC/Boost/BUILD
-	-rm -rf SRC/Boost/b2
-	-rm -rf SRC/Boost/bin.v2
-	-rm -rf SRC/Boost/bjam
-	-rm -rf SRC/Boost/bootstrap.log
-	-rm -rf SRC/Boost/project-config.jam*
-	-rm -rf SRC/Boost/tools/build/v2/engine/bin.*
-	-rm -rf SRC/Boost/tools/build/v2/engine/bootstrap/
-	-rm -rf SRC/QGLViewer/BUILD
-	-rm -rf SRC/QGLViewer/.qmake.stash
-	-rm -rf SRC/QGLViewer/Makefile
-	-rm -rf SRC/QGLViewer/Makefile.Debug
-	-rm -rf SRC/QGLViewer/Makefile.Release
-	-rm -rf SRC/QGLViewer/QGLViewer.prl
-	-rm -rf SRC/QGLViewer/QGLViewerd.prl
-	-rm -rf SRC/QGLViewer/object_script.*
+	-rm -rf SRC/Serialization/BUILD
+	-rm -rf SRC/Serialization/Makefile
+	-rm -rf SRC/Serialization/Makefile.Debug
+	-rm -rf SRC/Serialization/Makefile.Release
+	-rm -rf SRC/Serialization/.qmake.stash
+	-rm -rf SRC/Serialization/object_script.*
 	-rm -rf SRC/ChronoEngine/BUILD
-	-rm -rf SRC/QGLViewer/.qmake.stash
+	-rm -rf SRC/ChronoEngine/Makefile
 	-rm -rf SRC/ChronoEngine/Makefile.Debug
 	-rm -rf SRC/ChronoEngine/Makefile.Release
+	-rm -rf SRC/ChronoEngine/.qmake.stash
 	-rm -rf SRC/ChronoEngine/object_script.*
-	-rm -rf SRC/Qwt/BUILD
-	-rm -rf SRC/QGLViewer/.qmake.stash
-	-rm -rf SRC/Qwt/Makefile
 	-rm -rf SRC/OpenMeca/BUILD
-	-rm -rf SRC/QGLViewer/.qmake.stash
+	-rm -rf SRC/OpenMeca/Makefile
 	-rm -rf SRC/OpenMeca/Makefile.Debug
 	-rm -rf SRC/OpenMeca/Makefile.Release
+	-rm -rf SRC/OpenMeca/.qmake.stash
 	-rm -rf SRC/OpenMeca/object_script.*
 	-rm -rf SRC/OpenMeca/Rsc/Help/Help.qch
 	-rm -rf SRC/OpenMeca/Rsc/Help/Help.qhc
@@ -106,60 +92,23 @@ purge: uninstall
 	@echo 'The openmeca config directory $(HOME)/openmeca was removed'
 
 
-boost: 
-	@echo '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'; \
-	echo '@@     making the boost third party library    @@'; \
-	echo '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'; \
-	sleep 1
-ifdef mxe
-	@echo 'cross boost compiling for win32 !'
-	@cd SRC/Boost ; \
-	echo 'using gcc : mxe : i686-w64-mingw32.static-g++ : <rc>i686-w64-mingw32.static-windres <archiver>i686-w64-mingw32.static-ar <ranlib>i686-w64-mingw32.static-ranlib ;' > 'user-config.jam';\
-	./bootstrap.sh ;\
-	./b2 --ignore-site-config --user-config=user-config.jam link=static target-os=windows variant=release toolset=gcc-mxe --with-serialization --prefix=./BUILD/ install
-else
-	@cd SRC/Boost ; \
-	./bootstrap.sh && ./b2 link=static runtime-link=static --with-serialization --prefix=./BUILD/ install
-endif
-	- at cd SRC/Boost/; ./edit-header-for-openmeca.sh 
-
-
-qglviewer:
-	@echo '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'; \
-	echo '@@  making the qglviewer third party library   @@'; \
-	echo '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'; \
+serialization: 
+	@echo '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'; \
+	echo '@@ making the boost serialization third party library @@'; \
+	echo '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'; \
 	sleep 1
 ifdef mxe
 	@echo 'cross compiling qglviewer for win32 !'
-	@cd SRC/QGLViewer ;\
-	$(mxe_bin)/qmake PREFIX=../BUILD;\
-	$(MAKE) install;
-else
-	@cd SRC/QGLViewer ; \
-	$(QMAKE) ; \
-	$(MAKE) install
-endif
-
-
-
-qwt:
-	@echo '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'; \
-	echo '@@     making the qwt third party library      @@'; \
-	echo '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'; \
-	sleep 1
-ifdef mxe
-	@echo 'cross compiling qwt for win32 !'
-	@cd SRC/Qwt ;\
-	$(mxe_bin)/qmake ;\
-	$(MAKE) install
+	@cd SRC/Serialization ;\
+	$(mxe_bin)/qmake ; \
+	$(MAKE)
 else
-	@cd SRC/Qwt ; \
-	$(QMAKE)  ; \
-	$(MAKE) install
+	@cd SRC/Serialization ; \
+	qtchooser -qt=5 -run-tool=qmake ; \
+	$(MAKE)
 endif
 
 
-
 chronoengine:
 	@echo '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'; \
 	echo '@@ making the chronoengine third party library @@'; \
@@ -168,12 +117,12 @@ chronoengine:
 ifdef mxe
 	@echo 'cross compiling chronoengine for win32 !'
 	@cd SRC/ChronoEngine ;\
-	$(mxe_bin)/qmake ;\
-	$(MAKE) install
+	$(mxe_bin)/qmake ; \
+	$(MAKE)
 else
 	@cd SRC/ChronoEngine ; \
-	$(QMAKE)  ; \
-	$(MAKE) install
+	qtchooser -qt=5 -run-tool=qmake  ; \
+	$(MAKE)
 endif
 
 
@@ -193,10 +142,10 @@ ifdef mxe
 	$(MAKE)
 else
 	@cd SRC/OpenMeca  ; \
-	lrelease ./OpenMeca.pro  ; \
-	qhelpgenerator ./Rsc/Help/Help.qhp -o ./Rsc/Help/Help.qch  ; \
-	qcollectiongenerator ./Rsc/Help/Help.qhcp -o ./Rsc/Help/Help.qhc ;\
-	$(QMAKE)  ; \
+	qtchooser -qt=5 -run-tool=lrelease ./OpenMeca.pro  ; \
+	qtchooser -qt=5 -run-tool=qhelpgenerator ./Rsc/Help/Help.qhp -o ./Rsc/Help/Help.qch  ; \
+	qtchooser -qt=5 -run-tool=qcollectiongenerator ./Rsc/Help/Help.qhcp -o ./Rsc/Help/Help.qhc ;\
+	qtchooser -qt=5 -run-tool=qmake  ; \
 	$(MAKE)
 ifeq ($(OSName),Darwin)
 	macdeployqt SRC/OpenMeca/BUILD/openmeca.app
diff --git a/README.md b/README.md
index 29f13c3..42528be 100644
--- a/README.md
+++ b/README.md
@@ -85,7 +85,6 @@ See the LICENSE file for more information.
 
 # Artwork
 Most of the images and icons were extracted and inspired from the [openclipart](https://openclipart.org/) database. 
-The logo was inspired from a Leonardo da Vinci draft (thanks to him) and the original image was taken from Wikipedia. 
 
 # Contact & always up-to-date information
 All these information are available [here](https://gitlab.com/damien.andre/openmeca/raw/master/SRC/OpenMeca/Info.txt).
diff --git a/SRC/Boost/INSTALL b/SRC/Boost/INSTALL
deleted file mode 100755
index c242c04..0000000
--- a/SRC/Boost/INSTALL
+++ /dev/null
@@ -1,8 +0,0 @@
-See ./index.html for information about this release. The "Getting Started" 
-section is a useful starting place.
-
----------------------------
-Copyright Beman Dawes, 2008
-
-Distributed under the Boost Software License, Version 1.0.
-See ./LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt 
\ No newline at end of file
diff --git a/SRC/Boost/Jamroot b/SRC/Boost/Jamroot
deleted file mode 100755
index be169d5..0000000
--- a/SRC/Boost/Jamroot
+++ /dev/null
@@ -1,263 +0,0 @@
-# Copyright Vladimir Prus 2002-2006.
-# Copyright Dave Abrahams 2005-2006.
-# Copyright Rene Rivera 2005-2007.
-# Copyright Douglas Gregor 2005.
-#
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-# Usage:
-#
-#   bjam [options] [properties] [install|stage]
-#
-#   Builds and installs Boost.
-#
-# Targets and Related Options:
-#
-#   install                 Install headers and compiled library files to the
-#   =======                 configured locations (below).
-#
-#   --prefix=<PREFIX>       Install architecture independent files here.
-#                           Default; C:\Boost on Win32
-#                           Default; /usr/local on Unix. Linux, etc.
-#
-#   --exec-prefix=<EPREFIX> Install architecture dependent files here.
-#                           Default; <PREFIX>
-#
-#   --libdir=<DIR>          Install library files here.
-#                           Default; <EPREFIX>/lib
-#
-#   --includedir=<HDRDIR>   Install header files here.
-#                           Default; <PREFIX>/include
-#
-#   stage                   Build and install only compiled library files
-#   =====                   to the stage directory.
-#
-#   --stagedir=<STAGEDIR>   Install library files here
-#                           Default; ./stage
-#
-# Other Options:
-#
-#   --build-type=<type>     Build the specified pre-defined set of variations
-#                           of the libraries. Note, that which variants get
-#                           built depends on what each library supports.
-#
-#                               minimal (default) - Builds a minimal set of 
-#                               variants. On Windows, these are static 
-#                               multithreaded libraries in debug and release
-#                               modes, using shared runtime. On Linux, these
-#                               are static and shared multithreaded libraries
-#                               in release mode.
-#
-#                               complete - Build all possible variations.
-#
-#   --build-dir=DIR         Build in this location instead of building
-#                           within the distribution tree. Recommended!
-#
-#   --show-libraries        Displays the list of Boost libraries that require
-#                           build and installation steps, then exit.
-#
-#   --layout=<layout>       Determines whether to choose library names
-#                           and header locations such that multiple
-#                           versions of Boost or multiple compilers can
-#                           be used on the same system.
-#
-#                               versioned - Names of boost binaries
-#                               include the Boost version number, name and
-#                               version of the compiler and encoded build
-#                               properties.  Boost headers are installed in a
-#                               subdirectory of <HDRDIR> whose name contains
-#                               the Boost version number.
-#
-#                               tagged -- Names of boost binaries include the
-#                               encoded build properties such as variant and
-#                               threading, but do not including compiler name
-#                               and version, or Boost version. This option is
-#                               useful if you build several variants of Boost,
-#                               using the same compiler.
-#
-#                               system - Binaries names do not include the
-#                               Boost version number or the name and version
-#                               number of the compiler.  Boost headers are
-#                               installed directly into <HDRDIR>.  This option
-#                               is intended for system integrators who are
-#                               building distribution packages.
-#
-#                           The default value is 'versioned' on Windows, and
-#                           'system' on Unix.
-#
-#   --buildid=ID            Adds the specified ID to the name of built
-#                           libraries.  The default is to not add anything.
-#
-#   --python-buildid=ID     Adds the specified ID to the name of built
-#                           libraries that depend on Python.  The default 
-#                           is to not add anything. This ID is added in 
-#                           addition to --buildid.
-#
-#
-#   --help                  This message.
-#
-#   --with-<library>        Build and install the specified <library>
-#                           If this option is used, only libraries
-#                           specified using this option will be built.
-#
-#   --without-<library>     Do not build, stage, or install the specified
-#                           <library>. By default, all libraries are built.
-#
-# Properties:
-#
-#   toolset=toolset         Indicates the toolset to build with.
-#
-#   variant=debug|release   Select the build variant
-#
-#   link=static|shared      Whether to build static or shared libraries
-#
-#   threading=single|multi  Whether to build single or multithreaded binaries
-# 
-#   runtime-link=static|shared      
-#                           Whether to link to static or shared C and C++ runtime.
-#   
-
-# TODO:
-#  - handle boost version
-#  - handle python options such as pydebug
-
-import boostcpp ;
-import package ;
-
-import sequence ;
-import xsltproc ;
-import set ;
-import path ;
-
-path-constant BOOST_ROOT : . ;
-constant BOOST_VERSION : 1.48.0 ;
-constant BOOST_JAMROOT_MODULE : $(__name__) ;
-
-boostcpp.set-version $(BOOST_VERSION) ;
-
-project boost
-    : requirements <include>.
-      # Disable auto-linking for all targets here, primarily because it caused
-      # troubles with V2.
-      <define>BOOST_ALL_NO_LIB=1
-      # Used to encode variant in target name. See the 'tag' rule below.
-      <tag>@$(__name__).tag
-      <conditional>@handle-static-runtime
-      # The standard library Sun compilers use by default has no chance
-      # of working with Boost. Override it.
-      <toolset>sun:<stdlib>sun-stlport
-      # Comeau does not support shared lib
-      <toolset>como:<link>static
-      <toolset>como-linux:<define>_GNU_SOURCE=1
-      # When building docs within Boost, we want the standard Boost style
-      <xsl:param>boost.defaults=Boost
-    : usage-requirements <include>.
-    : build-dir bin.v2
-    ;
-
-# This rule is called by Boost.Build to determine the name of target. We use it
-# to encode the build variant, compiler name and boost version in the target
-# name.
-#
-rule tag ( name : type ? : property-set )
-{
-    return [ boostcpp.tag $(name) : $(type) : $(property-set) ] ;
-}
-   
-rule handle-static-runtime ( properties * )
-{
-    # Using static runtime with shared libraries is impossible on Linux,
-    # and dangerous on Windows. Therefore, we disallow it. This might
-    # be drastic, but it was disabled for a while with nobody complaining.
-
-    # For CW, static runtime is needed so that std::locale works.
-    if <link>shared in $(properties) && <runtime-link>static in $(properties) &&
-        ! ( <toolset>cw in $(properties) )
-    {
-        ECHO "error: link=shared together with runtime-link=static is not allowed" ;
-        ECHO "error: such property combination is either impossible " ;
-        ECHO "error: or too dangerious to be of any use" ;
-        EXIT ;
-    }
-}
-
-all-libraries = [ MATCH .*libs/(.*)/build/.* : [ glob libs/*/build/Jamfile.v2 ]
-    [ glob libs/*/build/Jamfile ] ]
-    ;
-
-all-libraries = [ sequence.unique $(all-libraries) ] ;
-# The function_types library has a Jamfile, but it's used for maintenance
-# purposes, there's no library to build and install.
-all-libraries = [ set.difference $(all-libraries) : function_types ] ;
-
-# Setup convenient aliases for all libraries.
-
-local rule explicit-alias ( id : targets + )
-{
-    alias $(id) : $(targets) ;
-    explicit $(id) ;
-}
-
-# First, the complicated libraries: where the target name in Jamfile is
-# different from its directory name.
-explicit-alias prg_exec_monitor : libs/test/build//_prg_exec_monitor ;
-explicit-alias test_exec_monitor : libs/test/build//_test_exec_monitor ;
-explicit-alias unit_test_framework : libs/test/build//_unit_test_framework ;
-explicit-alias bgl-vis : libs/graps/build//bgl-vis ;
-explicit-alias serialization : libs/serialization/build//_serialization ;
-explicit-alias wserialization : libs/serialization/build//_wserialization ;
-for local l in $(all-libraries)
-{
-    if ! $(l) in test graph serialization
-    {
-        explicit-alias $(l) : libs/$(l)/build//_$(l) ;
-    }
-}
-
-alias headers : : : : <include>. ;
-explicit headers ;
-
-# Make project ids of all libraries known.
-for local l in $(all-libraries)
-{
-    use-project /boost/$(l) : libs/$(l)/build ;
-}
-
-# This rule should be called from libraries' Jamfiles and will create two
-# targets, "install" and "stage", that will install or stage that library. The
-# --prefix option is respected, but --with and --without options, naturally, are
-# ignored.
-#
-# - libraries -- list of library targets to install.
-#
-rule boost-install ( libraries * )
-{
-    package.install install
-        : <dependency>/boost//install-proper-headers $(install-requirements)
-        : # No binaries
-        : $(libraries)
-        : # No headers, it is handled by the dependency.
-    ;
-
-    install stage : $(libraries) : <location>$(BOOST_STAGE_LOCATE) ;
-
-    module [ CALLER_MODULE ]
-    {
-        explicit stage ;
-        explicit install ;
-    }
-}
-
-headers =
-    # The .SUNWCCh files are present in tr1 include directory and have to be installed,
-    # see http://lists.boost.org/Archives/boost/2007/05/121430.php
-    [ path.glob-tree $(BOOST_ROOT)/boost : *.hpp *.ipp *.h *.inc *.SUNWCCh : CVS .svn ]
-    [ path.glob-tree $(BOOST_ROOT)/boost/compatibility/cpp_c_headers : c* : CVS .svn ] 
-    [ path.glob boost/tr1/tr1 : * : bcc32 sun CVS .svn ]
-    ;
-
-# Declare special top-level targets that build and install the desired variants
-# of the libraries.
-boostcpp.declare-targets $(all-libraries) : $(headers) ;
diff --git a/SRC/Boost/LICENSE_1_0.txt b/SRC/Boost/LICENSE_1_0.txt
deleted file mode 100755
index 1dad8e9..0000000
--- a/SRC/Boost/LICENSE_1_0.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/SRC/Boost/boost-build.jam b/SRC/Boost/boost-build.jam
deleted file mode 100755
index 40d8ca4..0000000
--- a/SRC/Boost/boost-build.jam
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (C) 2002-2003 David Abrahams.
-# Copyright (C) 2002-2003 Vladimir Prus.
-# Copyright (C) 2003,2007 Rene Rivera.
-# Use, modification and distribution are subject to the
-# Boost Software License, Version 1.0. (See accompanying file
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#   This is the initial file loaded by Boost Jam when run from any Boost library
-# folder. It allows us to choose which Boost Build installation to use for
-# building Boost libraries. Unless explicitly selected using a command-line
-# option, the version included with the Boost library distribution is used (as
-# opposed to any other Boost Build version installed on the user's sytem).
-
-BOOST_ROOT = $(.boost-build-file:D) ;
-BOOST_BUILD = [ MATCH --boost-build=(.*) : $(ARGV) ] ;
-BOOST_BUILD ?= tools/build/v2 ;
-boost-build $(BOOST_BUILD) ;
diff --git a/SRC/Boost/boost.css b/SRC/Boost/boost.css
deleted file mode 100755
index 5a571c2..0000000
--- a/SRC/Boost/boost.css
+++ /dev/null
@@ -1,66 +0,0 @@
-/*=============================================================================
-    Copyright 2002 William E. Kempf
-    Distributed under the Boost Software License, Version 1.0. (See accompany-
-    ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-
-H1
-{
-    FONT-SIZE: 200%;
-    COLOR: #00008B;
-}
-H2
-{
-    FONT-SIZE: 150%;
-}
-H3
-{
-    FONT-SIZE: 125%;
-}
-H4
-{
-    FONT-SIZE: 108%;
-}
-BODY
-{
-    FONT-SIZE: 100%;
-    BACKGROUND-COLOR: #ffffff;
-    COLOR: #000000;
-}
-PRE
-{
-    MARGIN-LEFT: 2em;
-    FONT-FAMILY: Courier,
-                 monospace;
-}
-CODE
-{
-    FONT-FAMILY: Courier,
-                 monospace;
-}
-CODE.as_pre
-{
-    white-space: pre;
-}
-.index
-{
-    TEXT-ALIGN: left;
-}
-.page-index
-{
-    TEXT-ALIGN: left;
-}
-.definition
-{
-    TEXT-ALIGN: left;
-}
-.footnote
-{
-    FONT-SIZE: 66%;
-    VERTICAL-ALIGN: super;
-    TEXT-DECORATION: none;
-}
-.function-semantics
-{
-    CLEAR: left;
-}
\ No newline at end of file
diff --git a/SRC/Boost/boost.png b/SRC/Boost/boost.png
deleted file mode 100755
index b4d51fc..0000000
Binary files a/SRC/Boost/boost.png and /dev/null differ
diff --git a/SRC/Boost/boost/algorithm/string/compare.hpp b/SRC/Boost/boost/algorithm/string/compare.hpp
deleted file mode 100755
index f610b36..0000000
--- a/SRC/Boost/boost/algorithm/string/compare.hpp
+++ /dev/null
@@ -1,199 +0,0 @@
-//  Boost string_algo library compare.hpp header file  -------------------------//
-
-//  Copyright Pavol Droba 2002-2006.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_COMPARE_HPP
-#define BOOST_STRING_COMPARE_HPP
-
-#include <boost/algorithm/string/config.hpp>
-#include <locale>
-
-/*! \file
-    Defines element comparison predicates. Many algorithms in this library can
-    take an additional argument with a predicate used to compare elements.
-    This makes it possible, for instance, to have case insensitive versions
-    of the algorithms.
-*/
-
-namespace boost {
-    namespace algorithm {
-
-        //  is_equal functor  -----------------------------------------------//
-
-        //! is_equal functor
-        /*!
-            Standard STL equal_to only handle comparison between arguments
-            of the same type. This is a less restrictive version which wraps operator ==.
-        */
-        struct is_equal
-        {
-            //! Function operator
-            /*!
-                Compare two operands for equality
-            */
-            template< typename T1, typename T2 >
-                bool operator()( const T1& Arg1, const T2& Arg2 ) const
-            {
-                return Arg1==Arg2;
-            }
-        };
-
-        //! case insensitive version of is_equal
-        /*!
-            Case insensitive comparison predicate. Comparison is done using
-            specified locales.
-        */
-        struct is_iequal
-        {
-            //! Constructor
-            /*!
-                \param Loc locales used for comparison
-            */
-            is_iequal( const std::locale& Loc=std::locale() ) :
-                m_Loc( Loc ) {}
-
-            //! Function operator
-            /*!
-                Compare two operands. Case is ignored.
-            */
-            template< typename T1, typename T2 >
-                bool operator()( const T1& Arg1, const T2& Arg2 ) const
-            {
-                #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
-                    return std::toupper(Arg1)==std::toupper(Arg2);
-                #else
-                    return std::toupper<T1>(Arg1,m_Loc)==std::toupper<T2>(Arg2,m_Loc);
-                #endif
-            }
-
-        private:
-            std::locale m_Loc;
-        };
-
-        //  is_less functor  -----------------------------------------------//
-
-        //! is_less functor
-        /*!
-            Convenient version of standard std::less. Operation is templated, therefore it is 
-            not required to specify the exact types upon the construction
-         */
-        struct is_less
-        {
-            //! Functor operation
-            /*!
-                Compare two operands using > operator
-             */
-            template< typename T1, typename T2 >
-                bool operator()( const T1& Arg1, const T2& Arg2 ) const
-            {
-                return Arg1<Arg2;
-            }
-        };
-
-
-        //! case insensitive version of is_less
-        /*!
-            Case insensitive comparison predicate. Comparison is done using
-            specified locales.
-        */
-        struct is_iless
-        {
-            //! Constructor
-            /*!
-                \param Loc locales used for comparison
-            */
-            is_iless( const std::locale& Loc=std::locale() ) :
-                m_Loc( Loc ) {}
-
-            //! Function operator
-            /*!
-                Compare two operands. Case is ignored.
-            */
-            template< typename T1, typename T2 >
-                bool operator()( const T1& Arg1, const T2& Arg2 ) const
-            {
-                #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
-                    return std::toupper(Arg1)<std::toupper(Arg2);
-                #else
-                    return std::toupper<T1>(Arg1,m_Loc)<std::toupper<T2>(Arg2,m_Loc);
-                #endif
-            }
-
-        private:
-            std::locale m_Loc;
-        };
-
-        //  is_not_greater functor  -----------------------------------------------//
-
-        //! is_not_greater functor
-        /*!
-            Convenient version of standard std::not_greater_to. Operation is templated, therefore it is 
-            not required to specify the exact types upon the construction
-         */
-        struct is_not_greater
-        {
-            //! Functor operation
-            /*!
-                Compare two operands using > operator
-             */
-            template< typename T1, typename T2 >
-                bool operator()( const T1& Arg1, const T2& Arg2 ) const
-            {
-                return Arg1<=Arg2;
-            }
-        };
-
-
-        //! case insensitive version of is_not_greater
-        /*!
-            Case insensitive comparison predicate. Comparison is done using
-            specified locales.
-        */
-        struct is_not_igreater
-        {
-            //! Constructor
-            /*!
-                \param Loc locales used for comparison
-            */
-            is_not_igreater( const std::locale& Loc=std::locale() ) :
-                m_Loc( Loc ) {}
-
-            //! Function operator
-            /*!
-                Compare two operands. Case is ignored.
-            */
-            template< typename T1, typename T2 >
-                bool operator()( const T1& Arg1, const T2& Arg2 ) const
-            {
-                #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
-                    return std::toupper(Arg1)<=std::toupper(Arg2);
-                #else
-                    return std::toupper<T1>(Arg1,m_Loc)<=std::toupper<T2>(Arg2,m_Loc);
-                #endif
-            }
-
-        private:
-            std::locale m_Loc;
-        };
-
-
-    } // namespace algorithm
-
-    // pull names to the boost namespace
-    using algorithm::is_equal;
-    using algorithm::is_iequal;
-    using algorithm::is_less;
-    using algorithm::is_iless;
-    using algorithm::is_not_greater;
-    using algorithm::is_not_igreater;
-
-} // namespace boost
-
-
-#endif  // BOOST_STRING_COMPARE_HPP
diff --git a/SRC/Boost/boost/algorithm/string/concept.hpp b/SRC/Boost/boost/algorithm/string/concept.hpp
deleted file mode 100755
index 2ef4ca7..0000000
--- a/SRC/Boost/boost/algorithm/string/concept.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-//  Boost string_algo library concept.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_CONCEPT_HPP
-#define BOOST_STRING_CONCEPT_HPP
-
-#include <boost/concept_check.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-
-/*! \file 
-    Defines concepts used in string_algo library
-*/
-
-namespace boost {
-    namespace algorithm {
-
-        //! Finder concept
-        /*!
-            Defines the Finder concept. Finder is a functor which selects
-            an arbitrary part of a string. Search is performed on
-            the range specified by starting and ending iterators.
-
-            Result of the find operation must be convertible to iterator_range.
-        */
-        template<typename FinderT, typename IteratorT>
-        struct FinderConcept
-        {
-        private:
-            typedef iterator_range<IteratorT> range;
-        public:
-            void constraints()
-            {
-                // Operation
-                r=(*pF)(i,i);
-            }
-        private:
-            range r;
-            IteratorT i;
-            FinderT* pF;    
-        }; // Finder_concept
-
-        
-        //! Formatter concept
-        /*!
-            Defines the Formatter concept. Formatter is a functor, which
-            takes a result from a finder operation and transforms it
-            in a specific way.
-
-            Result must be a container supported by container_traits, 
-            or a reference to it.
-        */
-        template<typename FormatterT, typename FinderT, typename IteratorT>
-        struct FormatterConcept
-        {
-        public:
-            void constraints()
-            {
-                // Operation
-                ::boost::begin((*pFo)( (*pF)(i,i) ));
-                ::boost::end((*pFo)( (*pF)(i,i) ));
-            }
-        private:
-            IteratorT i;
-            FinderT* pF;
-            FormatterT *pFo;
-        }; // FormatterConcept;
-
-    } // namespace algorithm
-} // namespace boost
-
-
-
-
-#endif  // BOOST_STRING_CONCEPT_HPP
diff --git a/SRC/Boost/boost/algorithm/string/config.hpp b/SRC/Boost/boost/algorithm/string/config.hpp
deleted file mode 100755
index d10c6f5..0000000
--- a/SRC/Boost/boost/algorithm/string/config.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  Boost string_algo library config.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_CONFIG_HPP
-#define BOOST_STRING_CONFIG_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifdef BOOST_STRING_DEDUCED_TYPENAME
-#   error "macro already defined!"
-#endif
-
-#define BOOST_STRING_TYPENAME BOOST_DEDUCED_TYPENAME
-
-// Metrowerks workaround
-#if BOOST_WORKAROUND(__MWERKS__, <= 0x3003) // 8.x
-#pragma parse_func_templ off
-#endif
-
-#endif  // BOOST_STRING_CONFIG_HPP
diff --git a/SRC/Boost/boost/algorithm/string/constants.hpp b/SRC/Boost/boost/algorithm/string/constants.hpp
deleted file mode 100755
index 9022d43..0000000
--- a/SRC/Boost/boost/algorithm/string/constants.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//  Boost string_algo library constants.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_CONSTANTS_HPP
-#define BOOST_STRING_CONSTANTS_HPP
-
-namespace boost {
-    namespace algorithm {
-
-    //! Token compression mode 
-    /*!
-        Specifies token compression mode for the token_finder.
-    */
-    enum token_compress_mode_type
-    {
-        token_compress_on,    //!< Compress adjacent tokens
-        token_compress_off  //!< Do not compress adjacent tokens
-    };
-    
-    } // namespace algorithm
-
-    // pull the names to the boost namespace
-    using algorithm::token_compress_on;
-    using algorithm::token_compress_off;
-
-} // namespace boost
-
-#endif  // BOOST_STRING_CONSTANTS_HPP
-
diff --git a/SRC/Boost/boost/algorithm/string/detail/find_format.hpp b/SRC/Boost/boost/algorithm/string/detail/find_format.hpp
deleted file mode 100755
index 5d94127..0000000
--- a/SRC/Boost/boost/algorithm/string/detail/find_format.hpp
+++ /dev/null
@@ -1,204 +0,0 @@
-//  Boost string_algo library find_format.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-// 
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_FIND_FORMAT_DETAIL_HPP
-#define BOOST_STRING_FIND_FORMAT_DETAIL_HPP
-
-#include <boost/algorithm/string/config.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/const_iterator.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/algorithm/string/detail/find_format_store.hpp>
-#include <boost/algorithm/string/detail/replace_storage.hpp>
-
-namespace boost {
-    namespace algorithm {
-        namespace detail {
-
-// find_format_copy (iterator variant) implementation -------------------------------//
-
-           template< 
-                typename OutputIteratorT,
-                typename InputT,
-                typename FormatterT,
-                typename FindResultT,
-                typename FormatResultT >
-            inline OutputIteratorT find_format_copy_impl2(
-                OutputIteratorT Output,
-                const InputT& Input,
-                FormatterT Formatter,
-                const FindResultT& FindResult,
-                const FormatResultT& FormatResult )
-            {       
-                typedef find_format_store<
-                    BOOST_STRING_TYPENAME 
-                        range_const_iterator<InputT>::type, 
-                        FormatterT,
-                        FormatResultT > store_type;
-
-                // Create store for the find result
-                store_type M( FindResult, FormatResult, Formatter );
-
-                if ( !M )
-                {
-                    // Match not found - return original sequence
-                    Output = std::copy( ::boost::begin(Input), ::boost::end(Input), Output );
-                    return Output;
-                }
-
-                // Copy the beginning of the sequence
-                Output = std::copy( ::boost::begin(Input), ::boost::begin(M), Output );
-                // Format find result
-                // Copy formated result
-                Output = std::copy( ::boost::begin(M.format_result()), ::boost::end(M.format_result()), Output );
-                // Copy the rest of the sequence
-                Output = std::copy( M.end(), ::boost::end(Input), Output );
-
-                return Output;
-            }
-
-            template< 
-                typename OutputIteratorT,
-                typename InputT,
-                typename FormatterT,
-                typename FindResultT >
-            inline OutputIteratorT find_format_copy_impl(
-                OutputIteratorT Output,
-                const InputT& Input,
-                FormatterT Formatter,
-                const FindResultT& FindResult )
-            {   
-                if( ::boost::algorithm::detail::check_find_result(Input, FindResult) ) {
-                    return ::boost::algorithm::detail::find_format_copy_impl2( 
-                        Output,
-                        Input,
-                        Formatter,
-                        FindResult,
-                        Formatter(FindResult) );
-                } else {
-                    return std::copy( ::boost::begin(Input), ::boost::end(Input), Output );
-                }
-            }
-
- 
-// find_format_copy implementation --------------------------------------------------//
-
-           template< 
-                typename InputT, 
-                typename FormatterT,
-                typename FindResultT,
-                typename FormatResultT >
-            inline InputT find_format_copy_impl2(
-                const InputT& Input,
-                FormatterT Formatter,
-                const FindResultT& FindResult,
-                const FormatResultT& FormatResult)
-            {
-                typedef find_format_store<
-                    BOOST_STRING_TYPENAME 
-                        range_const_iterator<InputT>::type, 
-                        FormatterT,
-                        FormatResultT > store_type;
-
-                // Create store for the find result
-                store_type M( FindResult, FormatResult, Formatter );
-
-                if ( !M )
-                {
-                    // Match not found - return original sequence
-                    return InputT( Input );
-                }
-
-                InputT Output;
-                // Copy the beginning of the sequence
-                insert( Output, ::boost::end(Output), ::boost::begin(Input), M.begin() );
-                // Copy formated result
-                insert( Output, ::boost::end(Output), M.format_result() );
-                // Copy the rest of the sequence
-                insert( Output, ::boost::end(Output), M.end(), ::boost::end(Input) );
-
-                return Output;
-            }
-
-            template< 
-                typename InputT, 
-                typename FormatterT,
-                typename FindResultT >
-            inline InputT find_format_copy_impl(
-                const InputT& Input,
-                FormatterT Formatter,
-                const FindResultT& FindResult)
-            {
-                if( ::boost::algorithm::detail::check_find_result(Input, FindResult) ) {
-                    return ::boost::algorithm::detail::find_format_copy_impl2(
-                        Input,
-                        Formatter,
-                        FindResult,
-                        Formatter(FindResult) );
-                } else {
-                    return Input;
-                }
-            }
-
- // replace implementation ----------------------------------------------------//
-        
-            template<
-                typename InputT,
-                typename FormatterT,
-                typename FindResultT,
-                typename FormatResultT >
-            inline void find_format_impl2( 
-                InputT& Input,
-                FormatterT Formatter,
-                const FindResultT& FindResult,
-                const FormatResultT& FormatResult)
-            {
-                typedef find_format_store<
-                    BOOST_STRING_TYPENAME 
-                        range_iterator<InputT>::type, 
-                        FormatterT,
-                        FormatResultT > store_type;
-
-                // Create store for the find result
-                store_type M( FindResult, FormatResult, Formatter );
-
-                if ( !M )
-                {
-                    // Search not found - return original sequence
-                    return;
-                }
-
-                // Replace match
-                ::boost::algorithm::detail::replace( Input, M.begin(), M.end(), M.format_result() );
-            }
-
-            template<
-                typename InputT,
-                typename FormatterT,
-                typename FindResultT >
-            inline void find_format_impl( 
-                InputT& Input,
-                FormatterT Formatter,
-                const FindResultT& FindResult)
-            {
-                if( ::boost::algorithm::detail::check_find_result(Input, FindResult) ) {
-                    ::boost::algorithm::detail::find_format_impl2(
-                        Input,
-                        Formatter,
-                        FindResult,
-                        Formatter(FindResult) );
-                }
-            }
-
-        } // namespace detail
-    } // namespace algorithm
-} // namespace boost
-
-#endif  // BOOST_STRING_FIND_FORMAT_DETAIL_HPP
diff --git a/SRC/Boost/boost/algorithm/string/detail/find_format_all.hpp b/SRC/Boost/boost/algorithm/string/detail/find_format_all.hpp
deleted file mode 100755
index e6eb6ec..0000000
--- a/SRC/Boost/boost/algorithm/string/detail/find_format_all.hpp
+++ /dev/null
@@ -1,273 +0,0 @@
-//  Boost string_algo library find_format_all.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP
-#define BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP
-
-#include <boost/algorithm/string/config.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/const_iterator.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/algorithm/string/detail/find_format_store.hpp>
-#include <boost/algorithm/string/detail/replace_storage.hpp>
-
-namespace boost {
-    namespace algorithm {
-        namespace detail {
-
-// find_format_all_copy (iterator variant) implementation ---------------------------//
-
-           template< 
-                typename OutputIteratorT,
-                typename InputT,
-                typename FinderT,
-                typename FormatterT,
-                typename FindResultT,
-                typename FormatResultT >
-            inline OutputIteratorT find_format_all_copy_impl2(
-                OutputIteratorT Output,
-                const InputT& Input,
-                FinderT Finder,
-                FormatterT Formatter,
-                const FindResultT& FindResult,
-                const FormatResultT& FormatResult )
-            {       
-                typedef BOOST_STRING_TYPENAME 
-                    range_const_iterator<InputT>::type input_iterator_type; 
-
-                typedef find_format_store<
-                        input_iterator_type, 
-                        FormatterT,
-                        FormatResultT > store_type;
-
-                // Create store for the find result
-                store_type M( FindResult, FormatResult, Formatter );
-
-                // Initialize last match
-                input_iterator_type LastMatch=::boost::begin(Input);
-
-                // Iterate through all matches
-                while( M )
-                {
-                    // Copy the beginning of the sequence
-                    Output = std::copy( LastMatch, M.begin(), Output );
-                    // Copy formated result
-                    Output = std::copy( ::boost::begin(M.format_result()), ::boost::end(M.format_result()), Output );
-
-                    // Proceed to the next match
-                    LastMatch=M.end();
-                    M=Finder( LastMatch, ::boost::end(Input) );
-                }
-
-                // Copy the rest of the sequence
-                Output = std::copy( LastMatch, ::boost::end(Input), Output );
-
-                return Output;
-            }
-
-            template< 
-                typename OutputIteratorT,
-                typename InputT,
-                typename FinderT,
-                typename FormatterT,
-                typename FindResultT >
-            inline OutputIteratorT find_format_all_copy_impl(
-                OutputIteratorT Output,
-                const InputT& Input,
-                FinderT Finder,
-                FormatterT Formatter,
-                const FindResultT& FindResult )
-            {   
-                if( ::boost::algorithm::detail::check_find_result(Input, FindResult) ) {
-                    return ::boost::algorithm::detail::find_format_all_copy_impl2( 
-                        Output,
-                        Input,
-                        Finder,
-                        Formatter,
-                        FindResult,
-                        Formatter(FindResult) );
-                } else {
-                    return std::copy( ::boost::begin(Input), ::boost::end(Input), Output );
-                }
-            }
-
- // find_format_all_copy implementation ----------------------------------------------//
-
-           template< 
-                typename InputT, 
-                typename FinderT,
-                typename FormatterT,
-                typename FindResultT,
-                typename FormatResultT >
-            inline InputT find_format_all_copy_impl2(
-                const InputT& Input,
-                FinderT Finder,
-                FormatterT Formatter,
-                const FindResultT& FindResult,
-                const FormatResultT& FormatResult)
-            {
-                typedef BOOST_STRING_TYPENAME 
-                    range_const_iterator<InputT>::type input_iterator_type; 
-
-                typedef find_format_store<
-                        input_iterator_type, 
-                        FormatterT,
-                        FormatResultT > store_type;
-
-                // Create store for the find result
-                store_type M( FindResult, FormatResult, Formatter );
-
-                // Initialize last match
-                input_iterator_type LastMatch=::boost::begin(Input);
-
-                // Output temporary
-                InputT Output;
-
-                // Iterate through all matches
-                while( M )
-                {
-                    // Copy the beginning of the sequence
-                    insert( Output, ::boost::end(Output), LastMatch, M.begin() );
-                    // Copy formated result
-                    insert( Output, ::boost::end(Output), M.format_result() );
-
-                    // Proceed to the next match
-                    LastMatch=M.end();
-                    M=Finder( LastMatch, ::boost::end(Input) );
-                }
-
-                // Copy the rest of the sequence
-                ::boost::algorithm::detail::insert( Output, ::boost::end(Output), LastMatch, ::boost::end(Input) );
-
-                return Output;
-            }
-
-            template< 
-                typename InputT, 
-                typename FinderT,
-                typename FormatterT,
-                typename FindResultT >
-            inline InputT find_format_all_copy_impl(
-                const InputT& Input,
-                FinderT Finder,
-                FormatterT Formatter,
-                const FindResultT& FindResult)
-            {
-                if( ::boost::algorithm::detail::check_find_result(Input, FindResult) ) {
-                    return ::boost::algorithm::detail::find_format_all_copy_impl2(
-                        Input,
-                        Finder,
-                        Formatter,
-                        FindResult,
-                        Formatter(FindResult) );
-                } else {
-                    return Input;
-                }
-            }
-
- // find_format_all implementation ------------------------------------------------//
-        
-            template<
-                typename InputT,
-                typename FinderT,
-                typename FormatterT,
-                typename FindResultT,
-                typename FormatResultT >
-            inline void find_format_all_impl2( 
-                InputT& Input,
-                FinderT Finder,
-                FormatterT Formatter,
-                FindResultT FindResult,
-                FormatResultT FormatResult)
-            {
-                typedef BOOST_STRING_TYPENAME 
-                    range_iterator<InputT>::type input_iterator_type; 
-                typedef find_format_store<
-                        input_iterator_type, 
-                        FormatterT,
-                        FormatResultT > store_type;
-
-                // Create store for the find result
-                store_type M( FindResult, FormatResult, Formatter );
-          
-                // Instantiate replacement storage
-                std::deque<
-                    BOOST_STRING_TYPENAME range_value<InputT>::type> Storage;
-
-                // Initialize replacement iterators
-                input_iterator_type InsertIt=::boost::begin(Input);
-                input_iterator_type SearchIt=::boost::begin(Input);
-                
-                while( M )
-                {
-                    // process the segment
-                    InsertIt=process_segment( 
-                        Storage,
-                        Input,
-                        InsertIt,
-                        SearchIt,
-                        M.begin() );
-                    
-                    // Adjust search iterator
-                    SearchIt=M.end();
-
-                    // Copy formated replace to the storage
-                    ::boost::algorithm::detail::copy_to_storage( Storage, M.format_result() );
-
-                    // Find range for a next match
-                    M=Finder( SearchIt, ::boost::end(Input) );
-                }
-
-                // process the last segment
-                InsertIt=::boost::algorithm::detail::process_segment( 
-                    Storage,
-                    Input,
-                    InsertIt,
-                    SearchIt,
-                    ::boost::end(Input) );
-                
-                if ( Storage.empty() )
-                {
-                    // Truncate input
-                    ::boost::algorithm::detail::erase( Input, InsertIt, ::boost::end(Input) );
-                }
-                else
-                {
-                    // Copy remaining data to the end of input
-                    ::boost::algorithm::detail::insert( Input, ::boost::end(Input), Storage.begin(), Storage.end() );
-                }
-            }
-
-            template<
-                typename InputT,
-                typename FinderT,
-                typename FormatterT,
-                typename FindResultT >
-            inline void find_format_all_impl( 
-                InputT& Input,
-                FinderT Finder,
-                FormatterT Formatter,
-                FindResultT FindResult)
-            {
-                if( ::boost::algorithm::detail::check_find_result(Input, FindResult) ) {
-                    ::boost::algorithm::detail::find_format_all_impl2(
-                        Input,
-                        Finder,
-                        Formatter,
-                        FindResult,
-                        Formatter(FindResult) );
-                }
-            }
-
-        } // namespace detail
-    } // namespace algorithm
-} // namespace boost
-
-#endif  // BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP
diff --git a/SRC/Boost/boost/algorithm/string/detail/find_format_store.hpp b/SRC/Boost/boost/algorithm/string/detail/find_format_store.hpp
deleted file mode 100755
index 893fb8d..0000000
--- a/SRC/Boost/boost/algorithm/string/detail/find_format_store.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-//  Boost string_algo library find_format_store.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP
-#define BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP
-
-#include <boost/algorithm/string/config.hpp>
-#include <boost/range/iterator_range.hpp>
-
-namespace boost {
-    namespace algorithm {
-        namespace detail {
-
-//  temporary format and find result storage --------------------------------//
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#endif
-            template< 
-                typename ForwardIteratorT,
-                typename FormatterT,
-                typename FormatResultT >
-            class find_format_store : 
-                public iterator_range<ForwardIteratorT>
-            {
-            public:
-                // typedefs
-                typedef iterator_range<ForwardIteratorT> base_type;
-                typedef FormatterT  formatter_type;
-                typedef FormatResultT format_result_type;
-                
-            public:
-                // Construction
-                find_format_store( 
-                        const base_type& FindResult,
-                        const format_result_type& FormatResult,
-                        const formatter_type& Formatter ) :
-                    base_type(FindResult),
-                    m_FormatResult(FormatResult),
-                    m_Formatter(Formatter) {}
-
-                // Assignment
-                template< typename FindResultT >
-                find_format_store& operator=( FindResultT FindResult )
-                {
-                    iterator_range<ForwardIteratorT>::operator=(FindResult);
-                    if( !this->empty() ) {
-                        m_FormatResult=m_Formatter(FindResult);
-                    }
-                    
-                    return *this;
-                }
-
-                // Retrieve format result
-                const format_result_type& format_result()
-                {   
-                    return m_FormatResult;
-                }
-
-            private:
-                format_result_type m_FormatResult;
-                const formatter_type& m_Formatter;
-            };
-
-            template<typename InputT, typename FindResultT>
-            bool check_find_result(InputT&, FindResultT& FindResult)
-            {
-                typedef BOOST_STRING_TYPENAME 
-                    range_const_iterator<InputT>::type input_iterator_type; 
-                iterator_range<input_iterator_type> ResultRange(FindResult);
-                return !ResultRange.empty();
-            }
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
-        } // namespace detail
-    } // namespace algorithm
-} // namespace boost
-
-#endif  // BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP
diff --git a/SRC/Boost/boost/algorithm/string/detail/finder.hpp b/SRC/Boost/boost/algorithm/string/detail/finder.hpp
deleted file mode 100755
index c418fad..0000000
--- a/SRC/Boost/boost/algorithm/string/detail/finder.hpp
+++ /dev/null
@@ -1,646 +0,0 @@
-//  Boost string_algo library finder.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2006.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_FINDER_DETAIL_HPP
-#define BOOST_STRING_FINDER_DETAIL_HPP
-
-#include <boost/algorithm/string/config.hpp>
-#include <boost/algorithm/string/constants.hpp>
-#include <boost/detail/iterator.hpp>
-
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/empty.hpp>
-#include <boost/range/as_literal.hpp>
-
-namespace boost {
-    namespace algorithm {
-        namespace detail {
-
-
-//  find first functor -----------------------------------------------//
-
-            // find a subsequence in the sequence ( functor )
-            /*
-                Returns a pair <begin,end> marking the subsequence in the sequence.
-                If the find fails, functor returns <End,End>
-            */
-            template<typename SearchIteratorT,typename PredicateT>
-            struct first_finderF
-            {
-                typedef SearchIteratorT search_iterator_type;
-
-                // Construction
-                template< typename SearchT >
-                first_finderF( const SearchT& Search, PredicateT Comp ) :
-                    m_Search(::boost::begin(Search), ::boost::end(Search)), m_Comp(Comp) {}
-                first_finderF(
-                        search_iterator_type SearchBegin,
-                        search_iterator_type SearchEnd,
-                        PredicateT Comp ) :
-                    m_Search(SearchBegin, SearchEnd), m_Comp(Comp) {}
-
-                // Operation
-                template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-                operator()(
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End ) const
-                {
-                    typedef iterator_range<ForwardIteratorT> result_type;
-                    typedef ForwardIteratorT input_iterator_type;
-
-                    // Outer loop
-                    for(input_iterator_type OuterIt=Begin;
-                        OuterIt!=End;
-                        ++OuterIt)
-                    {
-                        // Sanity check
-                        if( boost::empty(m_Search) )
-                            return result_type( End, End );
-
-                        input_iterator_type InnerIt=OuterIt;
-                        search_iterator_type SubstrIt=m_Search.begin();
-                        for(;
-                            InnerIt!=End && SubstrIt!=m_Search.end();
-                            ++InnerIt,++SubstrIt)
-                        {
-                            if( !( m_Comp(*InnerIt,*SubstrIt) ) )
-                                break;
-                        }
-
-                        // Substring matching succeeded
-                        if ( SubstrIt==m_Search.end() )
-                            return result_type( OuterIt, InnerIt );
-                    }
-
-                    return result_type( End, End );
-                }
-
-            private:
-                iterator_range<search_iterator_type> m_Search;
-                PredicateT m_Comp;
-            };
-
-//  find last functor -----------------------------------------------//
-
-            // find the last match a subseqeunce in the sequence ( functor )
-            /*
-                Returns a pair <begin,end> marking the subsequence in the sequence.
-                If the find fails, returns <End,End>
-            */
-            template<typename SearchIteratorT, typename PredicateT>
-            struct last_finderF
-            {
-                typedef SearchIteratorT search_iterator_type;
-                typedef first_finderF<
-                    search_iterator_type,
-                    PredicateT> first_finder_type;
-
-                // Construction
-                template< typename SearchT >
-                last_finderF( const SearchT& Search, PredicateT Comp ) :
-                    m_Search(::boost::begin(Search), ::boost::end(Search)), m_Comp(Comp) {}
-                last_finderF(
-                        search_iterator_type SearchBegin,
-                        search_iterator_type SearchEnd,
-                        PredicateT Comp ) :
-                    m_Search(SearchBegin, SearchEnd), m_Comp(Comp) {}
-
-                // Operation
-                template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-                operator()(
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End ) const
-                {
-                    typedef iterator_range<ForwardIteratorT> result_type;
-
-                    if( boost::empty(m_Search) )
-                        return result_type( End, End );
-
-                    typedef BOOST_STRING_TYPENAME boost::detail::
-                        iterator_traits<ForwardIteratorT>::iterator_category category;
-
-                    return findit( Begin, End, category() );
-                }
-
-            private:
-                // forward iterator
-                template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-                findit(
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End,
-                    std::forward_iterator_tag ) const
-                {
-                    typedef ForwardIteratorT input_iterator_type;
-                    typedef iterator_range<ForwardIteratorT> result_type;
-
-                    first_finder_type first_finder(
-                        m_Search.begin(), m_Search.end(), m_Comp );
-
-                    result_type M=first_finder( Begin, End );
-                    result_type Last=M;
-
-                    while( M )
-                    {
-                        Last=M;
-                        M=first_finder( ::boost::end(M), End );
-                    }
-
-                    return Last;
-                }
-
-                // bidirectional iterator
-                template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-                findit(
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End,
-                    std::bidirectional_iterator_tag ) const
-                {
-                    typedef iterator_range<ForwardIteratorT> result_type;
-                    typedef ForwardIteratorT input_iterator_type;
-
-                    // Outer loop
-                    for(input_iterator_type OuterIt=End;
-                        OuterIt!=Begin; )
-                    {
-                        input_iterator_type OuterIt2=--OuterIt;
-
-                        input_iterator_type InnerIt=OuterIt2;
-                        search_iterator_type SubstrIt=m_Search.begin();
-                        for(;
-                            InnerIt!=End && SubstrIt!=m_Search.end();
-                            ++InnerIt,++SubstrIt)
-                        {
-                            if( !( m_Comp(*InnerIt,*SubstrIt) ) )
-                                break;
-                        }
-
-                        // Substring matching succeeded
-                        if( SubstrIt==m_Search.end() )
-                            return result_type( OuterIt2, InnerIt );
-                    }
-
-                    return result_type( End, End );
-                }
-
-            private:
-                iterator_range<search_iterator_type> m_Search;
-                PredicateT m_Comp;
-            };
-
-//  find n-th functor -----------------------------------------------//
-
-            // find the n-th match of a subsequence in the sequence ( functor )
-            /*
-                Returns a pair <begin,end> marking the subsequence in the sequence.
-                If the find fails, returns <End,End>
-            */
-            template<typename SearchIteratorT, typename PredicateT>
-            struct nth_finderF
-            {
-                typedef SearchIteratorT search_iterator_type;
-                typedef first_finderF<
-                    search_iterator_type,
-                    PredicateT> first_finder_type;
-                typedef last_finderF<
-                    search_iterator_type,
-                    PredicateT> last_finder_type;
-
-                // Construction
-                template< typename SearchT >
-                nth_finderF(
-                        const SearchT& Search,
-                        int Nth,
-                        PredicateT Comp) :
-                    m_Search(::boost::begin(Search), ::boost::end(Search)),
-                    m_Nth(Nth),
-                    m_Comp(Comp) {}
-                nth_finderF(
-                        search_iterator_type SearchBegin,
-                        search_iterator_type SearchEnd,
-                        int Nth,
-                        PredicateT Comp) :
-                    m_Search(SearchBegin, SearchEnd),
-                    m_Nth(Nth),
-                    m_Comp(Comp) {}
-
-                // Operation
-                template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-                operator()(
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End ) const
-                {
-                    if(m_Nth>=0)
-                    {
-                        return find_forward(Begin, End, m_Nth);
-                    }
-                    else
-                    {
-                        return find_backward(Begin, End, -m_Nth);
-                    }
-
-                }
-
-            private:
-                // Implementation helpers
-                template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-                find_forward(
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End,
-                    unsigned int N) const
-                {
-                    typedef ForwardIteratorT input_iterator_type;
-                    typedef iterator_range<ForwardIteratorT> result_type;
-
-                    // Sanity check
-                    if( boost::empty(m_Search) )
-                        return result_type( End, End );
-
-                    // Instantiate find functor
-                    first_finder_type first_finder(
-                        m_Search.begin(), m_Search.end(), m_Comp );
-
-                    result_type M( Begin, Begin );
-
-                    for( unsigned int n=0; n<=N; ++n )
-                    {
-                        // find next match
-                        M=first_finder( ::boost::end(M), End );
-
-                        if ( !M )
-                        {
-                            // Subsequence not found, return
-                            return M;
-                        }
-                    }
-
-                    return M;
-                }
-
-                template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-                find_backward(
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End,
-                    unsigned int N) const
-                {
-                    typedef ForwardIteratorT input_iterator_type;
-                    typedef iterator_range<ForwardIteratorT> result_type;
-
-                    // Sanity check
-                    if( boost::empty(m_Search) )
-                        return result_type( End, End );
-
-                    // Instantiate find functor
-                    last_finder_type last_finder(
-                        m_Search.begin(), m_Search.end(), m_Comp );
-
-                    result_type M( End, End );
-
-                    for( unsigned int n=1; n<=N; ++n )
-                    {
-                        // find next match
-                        M=last_finder( Begin, ::boost::begin(M) );
-
-                        if ( !M )
-                        {
-                            // Subsequence not found, return
-                            return M;
-                        }
-                    }
-
-                    return M;
-                }
-
-
-            private:
-                iterator_range<search_iterator_type> m_Search;
-                int m_Nth;
-                PredicateT m_Comp;
-            };
-
-//  find head/tail implementation helpers ---------------------------//
-
-            template<typename ForwardIteratorT>
-                iterator_range<ForwardIteratorT>
-            find_head_impl(
-                ForwardIteratorT Begin,
-                ForwardIteratorT End,
-                unsigned int N,
-                std::forward_iterator_tag )
-            {
-                typedef ForwardIteratorT input_iterator_type;
-                typedef iterator_range<ForwardIteratorT> result_type;
-
-                input_iterator_type It=Begin;
-                for(
-                    unsigned int Index=0;
-                    Index<N && It!=End; ++Index,++It ) {};
-
-                return result_type( Begin, It );
-            }
-
-            template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-            find_head_impl(
-                ForwardIteratorT Begin,
-                ForwardIteratorT End,
-                unsigned int N,
-                std::random_access_iterator_tag )
-            {
-                typedef ForwardIteratorT input_iterator_type;
-                typedef iterator_range<ForwardIteratorT> result_type;
-
-                if ( (End<=Begin) || ( static_cast<unsigned int>(End-Begin) < N ) )
-                    return result_type( Begin, End );
-
-                return result_type(Begin,Begin+N);
-            }
-
-            // Find head implementation
-            template<typename ForwardIteratorT>
-                iterator_range<ForwardIteratorT>
-            find_head_impl(
-                ForwardIteratorT Begin,
-                ForwardIteratorT End,
-                unsigned int N )
-            {
-                typedef BOOST_STRING_TYPENAME boost::detail::
-                    iterator_traits<ForwardIteratorT>::iterator_category category;
-
-                return ::boost::algorithm::detail::find_head_impl( Begin, End, N, category() );
-            }
-
-            template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-            find_tail_impl(
-                ForwardIteratorT Begin,
-                ForwardIteratorT End,
-                unsigned int N,
-                std::forward_iterator_tag )
-            {
-                typedef ForwardIteratorT input_iterator_type;
-                typedef iterator_range<ForwardIteratorT> result_type;
-
-                unsigned int Index=0;
-                input_iterator_type It=Begin;
-                input_iterator_type It2=Begin;
-
-                // Advance It2 by N increments
-                for( Index=0; Index<N && It2!=End; ++Index,++It2 ) {};
-
-                // Advance It, It2 to the end
-                for(; It2!=End; ++It,++It2 ) {};
-
-                return result_type( It, It2 );
-            }
-
-            template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-            find_tail_impl(
-                ForwardIteratorT Begin,
-                ForwardIteratorT End,
-                unsigned int N,
-                std::bidirectional_iterator_tag )
-            {
-                typedef ForwardIteratorT input_iterator_type;
-                typedef iterator_range<ForwardIteratorT> result_type;
-
-                input_iterator_type It=End;
-                for(
-                    unsigned int Index=0;
-                    Index<N && It!=Begin; ++Index,--It ) {};
-
-                return result_type( It, End );
-            }
-
-            template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-            find_tail_impl(
-                ForwardIteratorT Begin,
-                ForwardIteratorT End,
-                unsigned int N,
-                std::random_access_iterator_tag )
-            {
-                typedef ForwardIteratorT input_iterator_type;
-                typedef iterator_range<ForwardIteratorT> result_type;
-
-                if ( (End<=Begin) || ( static_cast<unsigned int>(End-Begin) < N ) )
-                    return result_type( Begin, End );
-
-                return result_type( End-N, End );
-            }
-
-                        // Operation
-            template< typename ForwardIteratorT >
-            iterator_range<ForwardIteratorT>
-            find_tail_impl(
-                ForwardIteratorT Begin,
-                ForwardIteratorT End,
-                unsigned int N )
-            {
-                typedef BOOST_STRING_TYPENAME boost::detail::
-                    iterator_traits<ForwardIteratorT>::iterator_category category;
-
-                return ::boost::algorithm::detail::find_tail_impl( Begin, End, N, category() );
-            }
-
-
-
-//  find head functor -----------------------------------------------//
-
-
-            // find a head in the sequence ( functor )
-            /*
-                This functor find a head of the specified range. For
-                a specified N, the head is a subsequence of N starting
-                elements of the range.
-            */
-            struct head_finderF
-            {
-                // Construction
-                head_finderF( int N ) : m_N(N) {}
-
-                // Operation
-                template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-                operator()(
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End ) const
-                {
-                    if(m_N>=0)
-                    {
-                        return ::boost::algorithm::detail::find_head_impl( Begin, End, m_N );
-                    }
-                    else
-                    {
-                        iterator_range<ForwardIteratorT> Res=
-                            ::boost::algorithm::detail::find_tail_impl( Begin, End, -m_N );
-
-                        return ::boost::make_iterator_range(Begin, Res.begin());
-                    }
-                }
-
-            private:
-                int m_N;
-            };
-
-//  find tail functor -----------------------------------------------//
-
-
-            // find a tail in the sequence ( functor )
-            /*
-                This functor find a tail of the specified range. For
-                a specified N, the head is a subsequence of N starting
-                elements of the range.
-            */
-            struct tail_finderF
-            {
-                // Construction
-                tail_finderF( int N ) : m_N(N) {}
-
-                // Operation
-                template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-                operator()(
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End ) const
-                {
-                    if(m_N>=0)
-                    {
-                        return ::boost::algorithm::detail::find_tail_impl( Begin, End, m_N );
-                    }
-                    else
-                    {
-                        iterator_range<ForwardIteratorT> Res=
-                            ::boost::algorithm::detail::find_head_impl( Begin, End, -m_N );
-
-                        return ::boost::make_iterator_range(Res.end(), End);
-                    }
-                }
-
-            private:
-                int m_N;
-            };
-
-//  find token functor -----------------------------------------------//
-
-            // find a token in a sequence ( functor )
-            /*
-                This find functor finds a token specified be a predicate
-                in a sequence. It is equivalent of std::find algorithm,
-                with an exception that it return range instead of a single
-                iterator.
-
-                If bCompress is set to true, adjacent matching tokens are
-                concatenated into one match.
-            */
-            template< typename PredicateT >
-            struct token_finderF
-            {
-                // Construction
-                token_finderF(
-                    PredicateT Pred,
-                    token_compress_mode_type eCompress=token_compress_off ) :
-                        m_Pred(Pred), m_eCompress(eCompress) {}
-
-                // Operation
-                template< typename ForwardIteratorT >
-                iterator_range<ForwardIteratorT>
-                operator()(
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End ) const
-                {
-                    typedef iterator_range<ForwardIteratorT> result_type;
-
-                    ForwardIteratorT It=std::find_if( Begin, End, m_Pred );
-
-                    if( It==End )
-                    {
-                        return result_type( End, End );
-                    }
-                    else
-                    {
-                        ForwardIteratorT It2=It;
-
-                        if( m_eCompress==token_compress_on )
-                        {
-                            // Find first non-matching character
-                            while( It2!=End && m_Pred(*It2) ) ++It2;
-                        }
-                        else
-                        {
-                            // Advance by one position
-                            ++It2;
-                        }
-
-                        return result_type( It, It2 );
-                    }
-                }
-
-            private:
-                PredicateT m_Pred;
-                token_compress_mode_type m_eCompress;
-            };
-
-//  find range functor -----------------------------------------------//
-
-            // find a range in the sequence ( functor )
-            /*
-                This functor actually does not perform any find operation.
-                It always returns given iterator range as a result.
-            */
-            template<typename ForwardIterator1T>
-            struct range_finderF
-            {
-                typedef ForwardIterator1T input_iterator_type;
-                typedef iterator_range<input_iterator_type> result_type;
-
-                // Construction
-                range_finderF(
-                    input_iterator_type Begin,
-                    input_iterator_type End ) : m_Range(Begin, End) {}
-
-                range_finderF(const iterator_range<input_iterator_type>& Range) :
-                    m_Range(Range) {}
-
-                // Operation
-                template< typename ForwardIterator2T >
-                iterator_range<ForwardIterator2T>
-                operator()(
-                    ForwardIterator2T,
-                    ForwardIterator2T ) const
-                {
-#if BOOST_WORKAROUND( __MWERKS__, <= 0x3003 ) 
-                    return iterator_range<const ForwardIterator2T>(this->m_Range);
-#elif BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-                    return iterator_range<ForwardIterator2T>(m_Range.begin(), m_Range.end());
-#else
-                    return m_Range;
-#endif
-                }
-
-            private:
-                iterator_range<input_iterator_type> m_Range;
-            };
-
-
-        } // namespace detail
-    } // namespace algorithm
-} // namespace boost
-
-#endif  // BOOST_STRING_FINDER_DETAIL_HPP
diff --git a/SRC/Boost/boost/algorithm/string/detail/formatter.hpp b/SRC/Boost/boost/algorithm/string/detail/formatter.hpp
deleted file mode 100755
index 5737dc1..0000000
--- a/SRC/Boost/boost/algorithm/string/detail/formatter.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-//  Boost string_algo library formatter.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_FORMATTER_DETAIL_HPP
-#define BOOST_STRING_FORMATTER_DETAIL_HPP
-
-
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/const_iterator.hpp>
-
-#include <boost/algorithm/string/detail/util.hpp>
-
-//  generic replace functors -----------------------------------------------//
-
-namespace boost {
-    namespace algorithm {
-        namespace detail {
-
-//  const format functor ----------------------------------------------------//
-
-            // constant format functor
-            template<typename RangeT>
-            struct const_formatF
-            {
-            private:
-                typedef BOOST_STRING_TYPENAME
-                    range_const_iterator<RangeT>::type format_iterator;
-                typedef iterator_range<format_iterator> result_type;
-            
-            public:
-                // Construction
-                const_formatF(const RangeT& Format) :
-                    m_Format(::boost::begin(Format), ::boost::end(Format)) {}
-
-                // Operation
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-                template<typename Range2T>
-                result_type& operator()(const Range2T&)
-                {
-                    return m_Format;
-                }
-#endif
-
-                template<typename Range2T>
-                const result_type& operator()(const Range2T&) const
-                {
-                    return m_Format;
-                }
-
-            private:
-                result_type m_Format;
-            };
-
-//  identity format functor ----------------------------------------------------//
-
-            // identity format functor
-            template<typename RangeT>
-            struct identity_formatF
-            {
-                // Operation
-                template< typename Range2T >
-                const RangeT& operator()(const Range2T& Replace) const
-                {
-                    return RangeT(::boost::begin(Replace), ::boost::end(Replace));
-                }
-            };
-
-//  empty format functor ( used by erase ) ------------------------------------//
-        
-            // empty format functor
-            template< typename CharT >
-            struct empty_formatF
-            {
-                template< typename ReplaceT >
-                empty_container<CharT> operator()(const ReplaceT&) const
-                {
-                    return empty_container<CharT>();
-                }
-            };
-
-//  dissect format functor ----------------------------------------------------//
-
-            // dissect format functor
-            template<typename FinderT>
-            struct dissect_formatF
-            {
-            public:
-                // Construction
-                dissect_formatF(FinderT Finder) :
-                  m_Finder(Finder) {}
-
-                  // Operation
-                  template<typename RangeT>
-                  inline iterator_range< 
-                      BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
-                  operator()(const RangeT& Replace) const
-                  {
-                      return m_Finder(::boost::begin(Replace), ::boost::end(Replace));
-                  }
-
-            private:
-                FinderT m_Finder;
-            };
-
-
-        } // namespace detail
-    } // namespace algorithm
-} // namespace boost
-
-#endif  // BOOST_STRING_FORMATTER_DETAIL_HPP
diff --git a/SRC/Boost/boost/algorithm/string/detail/replace_storage.hpp b/SRC/Boost/boost/algorithm/string/detail/replace_storage.hpp
deleted file mode 100755
index 13f4e08..0000000
--- a/SRC/Boost/boost/algorithm/string/detail/replace_storage.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-//  Boost string_algo library replace_storage.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP
-#define BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP
-
-#include <boost/algorithm/string/config.hpp>
-#include <algorithm>
-#include <boost/mpl/bool.hpp>
-#include <boost/algorithm/string/sequence_traits.hpp>
-#include <boost/algorithm/string/detail/sequence.hpp>
-
-namespace boost {
-    namespace algorithm {
-        namespace detail {
-
-//  storage handling routines -----------------------------------------------//
-            
-            template< typename StorageT, typename OutputIteratorT >
-            inline OutputIteratorT move_from_storage(
-                StorageT& Storage,
-                OutputIteratorT DestBegin,
-                OutputIteratorT DestEnd )
-            {
-                OutputIteratorT OutputIt=DestBegin;
-                
-                while( !Storage.empty() && OutputIt!=DestEnd )
-                {
-                    *OutputIt=Storage.front();
-                    Storage.pop_front();
-                    ++OutputIt;
-                }
-
-                return OutputIt;
-            }
-
-            template< typename StorageT, typename WhatT >
-            inline void copy_to_storage(
-                StorageT& Storage,
-                const WhatT& What )
-            {
-                Storage.insert( Storage.end(), ::boost::begin(What), ::boost::end(What) );
-            }
-
-
-//  process segment routine -----------------------------------------------//
-
-            template< bool HasStableIterators >
-            struct process_segment_helper
-            {
-                // Optimized version of process_segment for generic sequence
-                template< 
-                    typename StorageT,
-                    typename InputT,
-                    typename ForwardIteratorT >
-                ForwardIteratorT operator()(
-                    StorageT& Storage,
-                    InputT& /*Input*/,
-                    ForwardIteratorT InsertIt,
-                    ForwardIteratorT SegmentBegin,
-                    ForwardIteratorT SegmentEnd )
-                {
-                    // Copy data from the storage until the beginning of the segment
-                    ForwardIteratorT It=::boost::algorithm::detail::move_from_storage( Storage, InsertIt, SegmentBegin );
-
-                    // 3 cases are possible :
-                    //   a) Storage is empty, It==SegmentBegin
-                    //   b) Storage is empty, It!=SegmentBegin
-                    //   c) Storage is not empty
-
-                    if( Storage.empty() )
-                    {
-                        if( It==SegmentBegin )
-                        {
-                            // Case a) everything is grand, just return end of segment
-                            return SegmentEnd;
-                        }
-                        else
-                        {
-                            // Case b) move the segment backwards
-                            return std::copy( SegmentBegin, SegmentEnd, It );
-                        }
-                    }
-                    else
-                    {
-                        // Case c) -> shift the segment to the left and keep the overlap in the storage
-                        while( It!=SegmentEnd )
-                        {
-                            // Store value into storage
-                            Storage.push_back( *It );
-                            // Get the top from the storage and put it here
-                            *It=Storage.front();
-                            Storage.pop_front();
-
-                            // Advance
-                            ++It;
-                        }
-
-                        return It;
-                    }
-                }
-            };
-
-            template<>
-            struct process_segment_helper< true >
-            {
-                // Optimized version of process_segment for list-like sequence
-                template< 
-                    typename StorageT,
-                    typename InputT,
-                    typename ForwardIteratorT >
-                ForwardIteratorT operator()(
-                    StorageT& Storage,
-                    InputT& Input,
-                    ForwardIteratorT InsertIt,
-                    ForwardIteratorT SegmentBegin,
-                    ForwardIteratorT SegmentEnd )
-
-                {
-                    // Call replace to do the job
-                    ::boost::algorithm::detail::replace( Input, InsertIt, SegmentBegin, Storage );
-                    // Empty the storage
-                    Storage.clear();
-                    // Iterators were not changed, simply return the end of segment
-                    return SegmentEnd;
-                }
-            };
-
-            // Process one segment in the replace_all algorithm
-            template< 
-                typename StorageT,
-                typename InputT,
-                typename ForwardIteratorT >
-            inline ForwardIteratorT process_segment(
-                StorageT& Storage,
-                InputT& Input,
-                ForwardIteratorT InsertIt,
-                ForwardIteratorT SegmentBegin,
-                ForwardIteratorT SegmentEnd )
-            {
-                return 
-                    process_segment_helper< 
-                        has_stable_iterators<InputT>::value>()(
-                                Storage, Input, InsertIt, SegmentBegin, SegmentEnd );
-            }
-            
-
-        } // namespace detail
-    } // namespace algorithm
-} // namespace boost
-
-#endif  // BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP
diff --git a/SRC/Boost/boost/algorithm/string/detail/sequence.hpp b/SRC/Boost/boost/algorithm/string/detail/sequence.hpp
deleted file mode 100755
index 8c8bd97..0000000
--- a/SRC/Boost/boost/algorithm/string/detail/sequence.hpp
+++ /dev/null
@@ -1,200 +0,0 @@
-//  Boost string_algo library sequence.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_DETAIL_SEQUENCE_HPP
-#define BOOST_STRING_DETAIL_SEQUENCE_HPP
-
-#include <boost/algorithm/string/config.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/logical.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-
-#include <boost/algorithm/string/sequence_traits.hpp>
-
-namespace boost {
-    namespace algorithm {
-        namespace detail {
-
-//  insert helpers  -------------------------------------------------//
-        
-            template< typename InputT, typename ForwardIteratorT >
-            inline void insert(
-                InputT& Input,
-                BOOST_STRING_TYPENAME InputT::iterator At,
-                ForwardIteratorT Begin,
-                ForwardIteratorT End )
-            {
-                Input.insert( At, Begin, End );
-            }
-
-            template< typename InputT, typename InsertT >
-            inline void insert(
-                InputT& Input,
-                BOOST_STRING_TYPENAME InputT::iterator At,
-                const InsertT& Insert )
-            {
-                ::boost::algorithm::detail::insert( Input, At, ::boost::begin(Insert), ::boost::end(Insert) );
-            }
-           
-//  erase helper  ---------------------------------------------------//
-
-            // Erase a range in the sequence
-            /*
-                Returns the iterator pointing just after the erase subrange
-            */
-            template< typename InputT >
-            inline typename InputT::iterator erase(
-                InputT& Input,
-                BOOST_STRING_TYPENAME InputT::iterator From,
-                BOOST_STRING_TYPENAME InputT::iterator To )
-            {
-                return Input.erase( From, To );
-            }
-
-//  replace helper implementation  ----------------------------------//
-
-            // Optimized version of replace for generic sequence containers
-            // Assumption: insert and erase are expensive
-            template< bool HasConstTimeOperations >
-            struct replace_const_time_helper
-            {
-                template< typename InputT, typename ForwardIteratorT >
-                void operator()(
-                    InputT& Input,
-                    BOOST_STRING_TYPENAME InputT::iterator From,
-                    BOOST_STRING_TYPENAME InputT::iterator To,
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End )
-                {
-                    // Copy data to the container ( as much as possible )
-                    ForwardIteratorT InsertIt=Begin;
-                    BOOST_STRING_TYPENAME InputT::iterator InputIt=From;
-                    for(; InsertIt!=End && InputIt!=To; InsertIt++, InputIt++ )
-                    {
-                        *InputIt=*InsertIt;
-                    }
-
-                    if ( InsertIt!=End )
-                    {
-                        // Replace sequence is longer, insert it
-                        Input.insert( InputIt, InsertIt, End );
-                    }
-                    else
-                    {
-                        if ( InputIt!=To )
-                        {
-                            // Replace sequence is shorter, erase the rest
-                            Input.erase( InputIt, To );
-                        }
-                    }
-                }
-            };
-
-            template<>
-            struct replace_const_time_helper< true >
-            {
-                // Const-time erase and insert methods -> use them
-                template< typename InputT, typename ForwardIteratorT >
-                void operator()(
-                    InputT& Input,
-                    BOOST_STRING_TYPENAME InputT::iterator From,
-                    BOOST_STRING_TYPENAME InputT::iterator To,
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End ) 
-                {
-                    BOOST_STRING_TYPENAME InputT::iterator At=Input.erase( From, To );
-                    if ( Begin!=End )
-                    {
-                        if(!Input.empty())
-                        {
-                            Input.insert( At, Begin, End );
-                        }
-                        else
-                        {
-                            Input.insert( Input.begin(), Begin, End );
-                        }
-                    }
-                }
-            };
-
-            // No native replace method
-            template< bool HasNative >
-            struct replace_native_helper
-            {
-                template< typename InputT, typename ForwardIteratorT >
-                void operator()(
-                    InputT& Input,
-                    BOOST_STRING_TYPENAME InputT::iterator From,
-                    BOOST_STRING_TYPENAME InputT::iterator To,
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End ) 
-                {
-                    replace_const_time_helper< 
-                        boost::mpl::and_<
-                            has_const_time_insert<InputT>,
-                            has_const_time_erase<InputT> >::value >()(
-                        Input, From, To, Begin, End );
-                }
-            };
-
-            // Container has native replace method
-            template<>
-            struct replace_native_helper< true >
-            {
-                template< typename InputT, typename ForwardIteratorT >
-                void operator()(
-                    InputT& Input,
-                    BOOST_STRING_TYPENAME InputT::iterator From,
-                    BOOST_STRING_TYPENAME InputT::iterator To,
-                    ForwardIteratorT Begin,
-                    ForwardIteratorT End )
-                {
-                    Input.replace( From, To, Begin, End );
-                }
-            };
-
-//  replace helper  -------------------------------------------------//
-        
-            template< typename InputT, typename ForwardIteratorT >
-            inline void replace(
-                InputT& Input,
-                BOOST_STRING_TYPENAME InputT::iterator From,
-                BOOST_STRING_TYPENAME InputT::iterator To,
-                ForwardIteratorT Begin,
-                ForwardIteratorT End )
-            {
-                replace_native_helper< has_native_replace<InputT>::value >()(
-                    Input, From, To, Begin, End );
-            }
-
-            template< typename InputT, typename InsertT >
-            inline void replace(
-                InputT& Input,
-                BOOST_STRING_TYPENAME InputT::iterator From,
-                BOOST_STRING_TYPENAME InputT::iterator To,
-                const InsertT& Insert )
-            {
-                if(From!=To)
-                {
-                    ::boost::algorithm::detail::replace( Input, From, To, ::boost::begin(Insert), ::boost::end(Insert) );
-                }
-                else
-                {
-                    ::boost::algorithm::detail::insert( Input, From, ::boost::begin(Insert), ::boost::end(Insert) );
-                }
-            }
-
-        } // namespace detail
-    } // namespace algorithm
-} // namespace boost
-
-
-#endif  // BOOST_STRING_DETAIL_SEQUENCE_HPP
diff --git a/SRC/Boost/boost/algorithm/string/detail/util.hpp b/SRC/Boost/boost/algorithm/string/detail/util.hpp
deleted file mode 100755
index 8e03a5d..0000000
--- a/SRC/Boost/boost/algorithm/string/detail/util.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-//  Boost string_algo library util.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_UTIL_DETAIL_HPP
-#define BOOST_STRING_UTIL_DETAIL_HPP
-
-#include <boost/algorithm/string/config.hpp>
-#include <functional>
-#include <boost/range/iterator_range.hpp>
-
-namespace boost {
-    namespace algorithm {
-        namespace detail {
-
-//  empty container  -----------------------------------------------//
-
-            //  empty_container 
-            /*
-                This class represents always empty container,
-                containing elements of type CharT.
-
-                It is supposed to be used in a const version only
-            */
-            template< typename CharT >
-            struct empty_container 
-            {
-                typedef empty_container<CharT> type;        
-                typedef CharT value_type;
-                typedef std::size_t size_type;
-                typedef std::ptrdiff_t difference_type;
-                typedef const value_type& reference;
-                typedef const value_type& const_reference;
-                typedef const value_type* iterator;
-                typedef const value_type* const_iterator;
-
-                
-                // Operations
-                const_iterator begin() const
-                {
-                    return reinterpret_cast<const_iterator>(0);
-                }
-
-                const_iterator end() const
-                {
-                    return reinterpret_cast<const_iterator>(0);
-                }
-
-                bool empty() const
-                {
-                    return false;
-                }
-
-                size_type size() const
-                {
-                    return 0;
-                }
-            };
-    
-//  bounded copy algorithm  -----------------------------------------------//
-
-            // Bounded version of the std::copy algorithm
-            template<typename InputIteratorT, typename OutputIteratorT>
-            inline OutputIteratorT bounded_copy(
-                InputIteratorT First, 
-                InputIteratorT Last, 
-                OutputIteratorT DestFirst,
-                OutputIteratorT DestLast )
-            {
-                InputIteratorT InputIt=First;
-                OutputIteratorT OutputIt=DestFirst;
-                for(; InputIt!=Last && OutputIt!=DestLast; InputIt++, OutputIt++ )
-                {
-                    *OutputIt=*InputIt;
-                }
-
-                return OutputIt;
-            }
-
-//  iterator range utilities -----------------------------------------//
-
-            // copy range functor
-            template< 
-                typename SeqT, 
-                typename IteratorT=BOOST_STRING_TYPENAME SeqT::const_iterator >
-            struct copy_iterator_rangeF : 
-                public std::unary_function< iterator_range<IteratorT>, SeqT >
-            {
-                SeqT operator()( const iterator_range<IteratorT>& Range ) const
-                {
-                    return copy_range<SeqT>(Range);
-                }
-            };
-
-        } // namespace detail
-    } // namespace algorithm
-} // namespace boost
-
-
-#endif  // BOOST_STRING_UTIL_DETAIL_HPP
diff --git a/SRC/Boost/boost/algorithm/string/find_format.hpp b/SRC/Boost/boost/algorithm/string/find_format.hpp
deleted file mode 100755
index c66c9b0..0000000
--- a/SRC/Boost/boost/algorithm/string/find_format.hpp
+++ /dev/null
@@ -1,287 +0,0 @@
-//  Boost string_algo library find_format.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_FIND_FORMAT_HPP
-#define BOOST_STRING_FIND_FORMAT_HPP
-
-#include <deque>
-#include <boost/detail/iterator.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/const_iterator.hpp>
-#include <boost/range/as_literal.hpp>
-
-#include <boost/algorithm/string/concept.hpp>
-#include <boost/algorithm/string/detail/find_format.hpp>
-#include <boost/algorithm/string/detail/find_format_all.hpp>
-
-/*! \file
-    Defines generic replace algorithms. Each algorithm replaces
-    part(s) of the input. The part to be replaced is looked up using a Finder object.
-    Result of finding is then used by a Formatter object to generate the replacement.
-*/
-
-namespace boost {
-    namespace algorithm {
-
-// generic replace  -----------------------------------------------------------------//
-
-        //! Generic replace algorithm
-        /*!
-            Use the Finder to search for a substring. Use the Formatter to format
-            this substring and replace it in the input.
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-    
-            \param Output An output iterator to which the result will be copied
-            \param Input An input sequence
-            \param Finder A Finder object used to search for a match to be replaced
-            \param Formatter A Formatter object used to format a match
-            \return An output iterator pointing just after the last inserted character or
-                a modified copy of the input
-
-            \note The second variant of this function provides the strong exception-safety guarantee
-        */
-        template< 
-            typename OutputIteratorT,
-            typename RangeT,
-            typename FinderT,
-            typename FormatterT>
-        inline OutputIteratorT find_format_copy(
-            OutputIteratorT Output,
-            const RangeT& Input,
-            FinderT Finder,
-            FormatterT Formatter )
-        {
-            // Concept check
-            BOOST_CONCEPT_ASSERT((
-                FinderConcept<
-                    FinderT,
-                    BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
-                ));
-            BOOST_CONCEPT_ASSERT((
-                FormatterConcept<
-                    FormatterT,
-                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
-                ));
-
-            iterator_range<BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_input(::boost::as_literal(Input));
-
-            return detail::find_format_copy_impl(
-                Output,
-                lit_input,
-                Formatter,
-                Finder( ::boost::begin(lit_input), ::boost::end(lit_input) ) );
-        }
-
-        //! Generic replace algorithm
-        /*!
-            \overload
-        */
-        template< 
-            typename SequenceT, 
-            typename FinderT,
-            typename FormatterT>
-        inline SequenceT find_format_copy(
-            const SequenceT& Input,
-            FinderT Finder,
-            FormatterT Formatter )
-        {
-            // Concept check
-            BOOST_CONCEPT_ASSERT((
-                FinderConcept<
-                    FinderT,
-                    BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
-                ));
-            BOOST_CONCEPT_ASSERT((
-                FormatterConcept<
-                    FormatterT,
-                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
-                ));
-
-            return detail::find_format_copy_impl(
-                Input,
-                Formatter,
-                Finder(::boost::begin(Input), ::boost::end(Input)));
-        }
-
-        //! Generic replace algorithm
-        /*!
-            Use the Finder to search for a substring. Use the Formatter to format
-            this substring and replace it in the input. The input is modified in-place.
-
-            \param Input An input sequence
-            \param Finder A Finder object used to search for a match to be replaced
-            \param Formatter A Formatter object used to format a match
-        */
-        template<
-            typename SequenceT,
-            typename FinderT,
-            typename FormatterT>
-        inline void find_format( 
-            SequenceT& Input,
-            FinderT Finder,
-            FormatterT Formatter)
-        {
-            // Concept check
-            BOOST_CONCEPT_ASSERT((
-                FinderConcept<
-                    FinderT,
-                    BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
-                ));
-            BOOST_CONCEPT_ASSERT(( 
-                FormatterConcept<
-                    FormatterT,
-                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
-                ));
-
-            detail::find_format_impl(
-                Input,
-                Formatter,
-                Finder(::boost::begin(Input), ::boost::end(Input)));
-        }
-
-
-//  find_format_all generic ----------------------------------------------------------------//
-
-        //! Generic replace all algorithm
-        /*!
-            Use the Finder to search for a substring. Use the Formatter to format
-            this substring and replace it in the input. Repeat this for all matching
-            substrings.
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-
-            \param Output An output iterator to which the result will be copied
-            \param Input An input sequence
-            \param Finder A Finder object used to search for a match to be replaced
-            \param Formatter A Formatter object used to format a match
-            \return An output iterator pointing just after the last inserted character or
-                a modified copy of the input
-
-             \note The second variant of this function provides the strong exception-safety guarantee
-        */
-        template< 
-            typename OutputIteratorT,
-            typename RangeT,
-            typename FinderT,
-            typename FormatterT>
-        inline OutputIteratorT find_format_all_copy(
-            OutputIteratorT Output,
-            const RangeT& Input,
-            FinderT Finder,
-            FormatterT Formatter)
-        {
-            // Concept check
-            BOOST_CONCEPT_ASSERT(( 
-                FinderConcept<
-                    FinderT,
-                    BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
-                ));
-            BOOST_CONCEPT_ASSERT(( 
-                FormatterConcept<
-                    FormatterT,
-                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
-                ));
-
-            iterator_range<BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_input(::boost::as_literal(Input));
-
-            return detail::find_format_all_copy_impl(
-                Output,
-                lit_input,
-                Finder,
-                Formatter,
-                Finder(::boost::begin(lit_input), ::boost::end(lit_input)));
-        }
-
-        //! Generic replace all algorithm
-        /*!
-            \overload
-        */
-        template< 
-            typename SequenceT, 
-            typename FinderT,
-            typename FormatterT >
-        inline SequenceT find_format_all_copy(
-            const SequenceT& Input,
-            FinderT Finder,
-            FormatterT Formatter )
-        {
-            // Concept check
-            BOOST_CONCEPT_ASSERT((
-                FinderConcept<
-                    FinderT,
-                    BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
-                ));
-            BOOST_CONCEPT_ASSERT((
-                FormatterConcept<
-                    FormatterT,
-                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
-                ));
-
-            return detail::find_format_all_copy_impl(
-                Input,
-                Finder,
-                Formatter,
-                Finder( ::boost::begin(Input), ::boost::end(Input) ) );
-        }
-
-        //! Generic replace all algorithm
-        /*!
-            Use the Finder to search for a substring. Use the Formatter to format
-            this substring and replace it in the input. Repeat this for all matching
-            substrings.The input is modified in-place.
-
-            \param Input An input sequence
-            \param Finder A Finder object used to search for a match to be replaced
-            \param Formatter A Formatter object used to format a match
-        */
-        template<
-            typename SequenceT,
-            typename FinderT,
-            typename FormatterT >
-        inline void find_format_all( 
-            SequenceT& Input,
-            FinderT Finder,
-            FormatterT Formatter )
-        {
-            // Concept check
-            BOOST_CONCEPT_ASSERT((
-                FinderConcept<
-                    FinderT,
-                    BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
-                ));
-            BOOST_CONCEPT_ASSERT((
-                FormatterConcept<
-                    FormatterT,
-                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
-                ));
-
-            detail::find_format_all_impl(
-                Input,
-                Finder,
-                Formatter,
-                Finder(::boost::begin(Input), ::boost::end(Input)));
-
-        }
-
-    } // namespace algorithm
-
-    // pull the names to the boost namespace
-    using algorithm::find_format_copy;
-    using algorithm::find_format;
-    using algorithm::find_format_all_copy;
-    using algorithm::find_format_all;
-
-} // namespace boost
-
-
-#endif  // BOOST_STRING_FIND_FORMAT_HPP
diff --git a/SRC/Boost/boost/algorithm/string/finder.hpp b/SRC/Boost/boost/algorithm/string/finder.hpp
deleted file mode 100755
index 2ddca4d..0000000
--- a/SRC/Boost/boost/algorithm/string/finder.hpp
+++ /dev/null
@@ -1,270 +0,0 @@
-//  Boost string_algo library finder.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2006.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_FINDER_HPP
-#define BOOST_STRING_FINDER_HPP
-
-#include <boost/algorithm/string/config.hpp>
-
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/const_iterator.hpp>
-
-#include <boost/algorithm/string/constants.hpp>
-#include <boost/algorithm/string/detail/finder.hpp>
-#include <boost/algorithm/string/compare.hpp>
-
-/*! \file
-    Defines Finder generators. Finder object is a functor which is able to 
-    find a substring matching a specific criteria in the input.
-    Finders are used as a pluggable components for replace, find 
-    and split facilities. This header contains generator functions 
-    for finders provided in this library.
-*/
-
-namespace boost {
-    namespace algorithm {
-
-//  Finder generators ------------------------------------------//
-        
-        //! "First" finder 
-        /*!
-            Construct the \c first_finder. The finder searches for the first
-            occurrence of the string in a given input.
-            The result is given as an \c iterator_range delimiting the match.
-
-            \param Search A substring to be searched for.
-            \param Comp An element comparison predicate
-            \return An instance of the \c first_finder object
-        */
-        template<typename RangeT>
-        inline detail::first_finderF<
-            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
-            is_equal>
-        first_finder( const RangeT& Search )
-        {
-            return 
-                detail::first_finderF<
-                    BOOST_STRING_TYPENAME 
-                        range_const_iterator<RangeT>::type,
-                        is_equal>( ::boost::as_literal(Search), is_equal() ) ;
-        }
-
-        //! "First" finder
-        /*!
-            \overload
-        */
-        template<typename RangeT,typename PredicateT>
-        inline detail::first_finderF<
-            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
-            PredicateT>
-        first_finder( 
-            const RangeT& Search, PredicateT Comp )
-        {
-            return 
-                detail::first_finderF<
-                    BOOST_STRING_TYPENAME 
-                        range_const_iterator<RangeT>::type,
-                    PredicateT>( ::boost::as_literal(Search), Comp );
-        }
-
-        //! "Last" finder
-        /*!
-            Construct the \c last_finder. The finder searches for the last
-            occurrence of the string in a given input.
-            The result is given as an \c iterator_range delimiting the match.
-
-            \param Search A substring to be searched for.
-            \param Comp An element comparison predicate
-            \return An instance of the \c last_finder object
-        */
-        template<typename RangeT>
-        inline detail::last_finderF<
-            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
-            is_equal>
-        last_finder( const RangeT& Search )
-        {
-            return 
-                detail::last_finderF<
-                    BOOST_STRING_TYPENAME 
-                        range_const_iterator<RangeT>::type,
-                    is_equal>( ::boost::as_literal(Search), is_equal() );
-        }
-        //! "Last" finder
-        /*!
-            \overload
-        */
-        template<typename RangeT, typename PredicateT>
-        inline detail::last_finderF<
-            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
-            PredicateT>
-        last_finder( const RangeT& Search, PredicateT Comp )
-        {
-            return 
-                detail::last_finderF<
-                    BOOST_STRING_TYPENAME 
-                        range_const_iterator<RangeT>::type,
-                    PredicateT>( ::boost::as_literal(Search), Comp ) ;
-        }
-
-        //! "Nth" finder
-        /*!
-            Construct the \c nth_finder. The finder searches for the n-th (zero-indexed)
-            occurrence of the string in a given input.
-            The result is given as an \c iterator_range delimiting the match.
-
-            \param Search A substring to be searched for.
-            \param Nth An index of the match to be find
-            \param Comp An element comparison predicate
-            \return An instance of the \c nth_finder object
-        */
-        template<typename RangeT>
-        inline detail::nth_finderF<
-            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
-            is_equal>
-        nth_finder( 
-            const RangeT& Search, 
-            int Nth)
-        {
-            return 
-                detail::nth_finderF<
-                    BOOST_STRING_TYPENAME 
-                        range_const_iterator<RangeT>::type,
-                    is_equal>( ::boost::as_literal(Search), Nth, is_equal() ) ;
-        }
-        //! "Nth" finder
-        /*!
-            \overload
-        */
-        template<typename RangeT, typename PredicateT>
-        inline detail::nth_finderF<
-            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
-            PredicateT>
-        nth_finder( 
-            const RangeT& Search, 
-            int Nth, 
-            PredicateT Comp )
-        {
-            return 
-                detail::nth_finderF<
-                    BOOST_STRING_TYPENAME 
-                        range_const_iterator<RangeT>::type,
-                    PredicateT>( ::boost::as_literal(Search), Nth, Comp );
-        }
-
-        //! "Head" finder
-        /*!
-            Construct the \c head_finder. The finder returns a head of a given
-            input. The head is a prefix of a string up to n elements in
-            size. If an input has less then n elements, whole input is 
-            considered a head.
-            The result is given as an \c iterator_range delimiting the match.
-
-            \param N The size of the head
-            \return An instance of the \c head_finder object
-        */
-        inline detail::head_finderF
-        head_finder( int N )
-        {
-            return detail::head_finderF(N);
-        }
-        
-        //! "Tail" finder
-        /*!
-            Construct the \c tail_finder. The finder returns a tail of a given
-            input. The tail is a suffix of a string up to n elements in
-            size. If an input has less then n elements, whole input is 
-            considered a head.
-            The result is given as an \c iterator_range delimiting the match.
-
-            \param N The size of the head
-            \return An instance of the \c tail_finder object
-        */
-        inline detail::tail_finderF
-        tail_finder( int N )
-        {
-            return detail::tail_finderF(N);
-        }
-
-        //! "Token" finder
-        /*!
-            Construct the \c token_finder. The finder searches for a token 
-            specified by a predicate. It is similar to std::find_if 
-            algorithm, with an exception that it return a range of
-            instead of a single iterator.
-
-            If "compress token mode" is enabled, adjacent matching tokens are 
-            concatenated into one match. Thus the finder can be used to 
-            search for continuous segments of characters satisfying the 
-            given predicate.
-
-            The result is given as an \c iterator_range delimiting the match.
-
-            \param Pred An element selection predicate
-            \param eCompress Compress flag
-            \return An instance of the \c token_finder object
-        */
-        template< typename PredicateT >
-        inline detail::token_finderF<PredicateT>
-        token_finder( 
-            PredicateT Pred, 
-            token_compress_mode_type eCompress=token_compress_off )
-        {
-            return detail::token_finderF<PredicateT>( Pred, eCompress );
-        }
-
-        //! "Range" finder
-        /*!
-            Construct the \c range_finder. The finder does not perform 
-            any operation. It simply returns the given range for 
-            any input. 
-
-            \param Begin Beginning of the range
-            \param End End of the range
-            \param Range The range.
-            \return An instance of the \c range_finger object
-        */
-        template< typename ForwardIteratorT >
-        inline detail::range_finderF<ForwardIteratorT>
-        range_finder(
-            ForwardIteratorT Begin,
-            ForwardIteratorT End )
-        {
-            return detail::range_finderF<ForwardIteratorT>( Begin, End );
-        }
-
-        //! "Range" finder
-        /*!       
-            \overload
-        */
-        template< typename ForwardIteratorT >
-        inline detail::range_finderF<ForwardIteratorT>
-        range_finder( iterator_range<ForwardIteratorT> Range )
-        {
-            return detail::range_finderF<ForwardIteratorT>( Range );
-        }
-
-    } // namespace algorithm
-
-    // pull the names to the boost namespace
-    using algorithm::first_finder;
-    using algorithm::last_finder;
-    using algorithm::nth_finder;
-    using algorithm::head_finder;
-    using algorithm::tail_finder;
-    using algorithm::token_finder;
-    using algorithm::range_finder;
-
-} // namespace boost
-
-
-#endif  // BOOST_STRING_FINDER_HPP
diff --git a/SRC/Boost/boost/algorithm/string/formatter.hpp b/SRC/Boost/boost/algorithm/string/formatter.hpp
deleted file mode 100755
index ea4cd29..0000000
--- a/SRC/Boost/boost/algorithm/string/formatter.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-//  Boost string_algo library formatter.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_FORMATTER_HPP
-#define BOOST_STRING_FORMATTER_HPP
-
-#include <boost/detail/iterator.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/as_literal.hpp>
-
-#include <boost/algorithm/string/detail/formatter.hpp>
-
-/*! \file
-    Defines Formatter generators. Formatter is a functor which formats
-    a string according to given parameters. A Formatter works
-    in conjunction with a Finder. A Finder can provide additional information
-    for a specific Formatter. An example of such a cooperation is regex_finder
-    and regex_formatter.
-
-    Formatters are used as pluggable components for replace facilities. 
-    This header contains generator functions for the Formatters provided in this library.
-*/
-
-namespace boost {
-    namespace algorithm {
-
-// generic formatters  ---------------------------------------------------------------//
-
-        //! Constant formatter
-        /*!
-            Constructs a \c const_formatter. Const formatter always returns
-            the same value, regardless of the parameter.
-
-            \param Format A predefined value used as a result for formating
-            \return An instance of the \c const_formatter object.
-        */
-        template<typename RangeT>
-        inline detail::const_formatF<
-            iterator_range<
-                BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >
-        const_formatter(const RangeT& Format)
-        {
-            return detail::const_formatF<
-                iterator_range<
-                    BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >(::boost::as_literal(Format));
-        }
-
-        //! Identity formatter
-        /*!
-            Constructs an \c identity_formatter. Identity formatter always returns
-            the parameter.
-
-            \return An instance of the \c identity_formatter object.
-        */
-        template<typename RangeT>
-        inline detail::identity_formatF<
-            iterator_range<
-                BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >
-        identity_formatter()
-        {
-            return detail::identity_formatF<
-                iterator_range<
-                    BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >();
-        }
-
-        //! Empty formatter
-        /*!
-            Constructs an \c empty_formatter. Empty formatter always returns an empty
-            sequence. 
-
-            \param Input container used to select a correct value_type for the
-                         resulting empty_container<>.
-            \return An instance of the \c empty_formatter object.
-        */
-        template<typename RangeT>
-        inline detail::empty_formatF< 
-            BOOST_STRING_TYPENAME range_value<RangeT>::type>
-        empty_formatter(const RangeT&)
-        {
-            return detail::empty_formatF<
-                BOOST_STRING_TYPENAME range_value<RangeT>::type>();
-        }
-
-        //! Empty formatter
-        /*!
-            Constructs a \c dissect_formatter. Dissect formatter uses a specified finder
-            to extract a portion of the formatted sequence. The first finder's match is returned 
-            as a result
-
-            \param Finder a finder used to select a portion of the formated sequence
-            \return An instance of the \c dissect_formatter object.
-        */
-        template<typename FinderT>
-        inline detail::dissect_formatF< FinderT >
-        dissect_formatter(const FinderT& Finder)
-        {
-            return detail::dissect_formatF<FinderT>(Finder);
-        }
-
-
-    } // namespace algorithm
-
-    // pull the names to the boost namespace
-    using algorithm::const_formatter;
-    using algorithm::identity_formatter;
-    using algorithm::empty_formatter;
-    using algorithm::dissect_formatter;
-
-} // namespace boost
-
-
-#endif  // BOOST_FORMATTER_HPP
diff --git a/SRC/Boost/boost/algorithm/string/replace.hpp b/SRC/Boost/boost/algorithm/string/replace.hpp
deleted file mode 100755
index 71a73f3..0000000
--- a/SRC/Boost/boost/algorithm/string/replace.hpp
+++ /dev/null
@@ -1,928 +0,0 @@
-//  Boost string_algo library replace.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2006.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_REPLACE_HPP
-#define BOOST_STRING_REPLACE_HPP
-
-#include <boost/algorithm/string/config.hpp>
-
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/const_iterator.hpp>
-
-#include <boost/algorithm/string/find_format.hpp>
-#include <boost/algorithm/string/finder.hpp>
-#include <boost/algorithm/string/formatter.hpp>
-#include <boost/algorithm/string/compare.hpp>
-
-/*! \file
-    Defines various replace algorithms. Each algorithm replaces
-    part(s) of the input according to set of searching and replace criteria.
-*/
-
-namespace boost {
-    namespace algorithm {
-
-//  replace_range --------------------------------------------------------------------//
-
-        //! Replace range algorithm
-        /*!
-            Replace the given range in the input string.
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-            
-            \param Output An output iterator to which the result will be copied
-            \param Input An input string
-            \param SearchRange A range in the input to be substituted
-            \param Format A substitute string
-            \return An output iterator pointing just after the last inserted character or
-                a modified copy of the input
-
-              \note The second variant of this function provides the strong exception-safety guarantee
-        */
-        template<
-            typename OutputIteratorT,
-            typename Range1T, 
-            typename Range2T>
-        inline OutputIteratorT replace_range_copy(
-            OutputIteratorT Output,
-            const Range1T& Input,
-            const iterator_range<
-                BOOST_STRING_TYPENAME 
-                    range_const_iterator<Range1T>::type>& SearchRange,
-            const Range2T& Format)
-        {
-            return ::boost::algorithm::find_format_copy(
-                Output,
-                Input,
-                ::boost::algorithm::range_finder(SearchRange),
-                ::boost::algorithm::const_formatter(Format));
-        }
-
-        //! Replace range algorithm
-        /*!
-            \overload
-        */
-        template<typename SequenceT, typename RangeT>
-        inline SequenceT replace_range_copy( 
-            const SequenceT& Input,
-            const iterator_range<
-                BOOST_STRING_TYPENAME 
-                    range_const_iterator<SequenceT>::type>& SearchRange,
-            const RangeT& Format)
-        {
-            return ::boost::algorithm::find_format_copy(
-                Input,
-                ::boost::algorithm::range_finder(SearchRange),
-                ::boost::algorithm::const_formatter(Format));
-        }
-
-        //! Replace range algorithm
-        /*!
-            Replace the given range in the input string. 
-            The input sequence is modified in-place.
-
-            \param Input An input string
-            \param SearchRange A range in the input to be substituted
-            \param Format A substitute string
-        */
-        template<typename SequenceT, typename RangeT>
-        inline void replace_range( 
-            SequenceT& Input,
-            const iterator_range<
-                BOOST_STRING_TYPENAME 
-                    range_iterator<SequenceT>::type>& SearchRange,
-            const RangeT& Format)
-        {
-            ::boost::algorithm::find_format(
-                Input,
-                ::boost::algorithm::range_finder(SearchRange),
-                ::boost::algorithm::const_formatter(Format));
-        }
-
-//  replace_first --------------------------------------------------------------------//
-
-        //! Replace first algorithm
-        /*!
-            Replace the first match of the search substring in the input 
-            with the format string. 
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-            
-            \param Output An output iterator to which the result will be copied
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Format A substitute string
-            \return An output iterator pointing just after the last inserted character or
-                    a modified copy of the input
-
-              \note The second variant of this function provides the strong exception-safety guarantee
-        */
-        template<
-            typename OutputIteratorT,
-            typename Range1T, 
-            typename Range2T,
-            typename Range3T>
-        inline OutputIteratorT replace_first_copy(
-            OutputIteratorT Output,
-            const Range1T& Input,
-            const Range2T& Search,
-            const Range3T& Format)
-        {
-            return ::boost::algorithm::find_format_copy(
-                Output,
-                Input,
-                ::boost::algorithm::first_finder(Search),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace first algorithm
-        /*!
-            \overload
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline SequenceT replace_first_copy( 
-            const SequenceT& Input,
-            const Range1T& Search,
-            const Range2T& Format )
-        {
-            return ::boost::algorithm::find_format_copy( 
-                Input,
-                ::boost::algorithm::first_finder(Search),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace first algorithm
-        /*!
-            replace the first match of the search substring in the input 
-            with the format string. The input sequence is modified in-place.
-
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Format A substitute string
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline void replace_first( 
-            SequenceT& Input,
-            const Range1T& Search,
-            const Range2T& Format )
-        {
-            ::boost::algorithm::find_format( 
-                Input, 
-                ::boost::algorithm::first_finder(Search),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-//  replace_first ( case insensitive ) ---------------------------------------------//
-
-        //! Replace first algorithm ( case insensitive )
-        /*!
-            Replace the first match of the search substring in the input 
-            with the format string. 
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-            Searching is case insensitive.
-
-            \param Output An output iterator to which the result will be copied
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Format A substitute string
-            \param Loc A locale used for case insensitive comparison
-            \return An output iterator pointing just after the last inserted character or
-                a modified copy of the input
-
-             \note The second variant of this function provides the strong exception-safety guarantee
-        */
-        template<
-            typename OutputIteratorT,
-            typename Range1T, 
-            typename Range2T,
-            typename Range3T>
-        inline OutputIteratorT ireplace_first_copy(
-            OutputIteratorT Output,
-            const Range1T& Input,
-            const Range2T& Search,
-            const Range3T& Format,
-            const std::locale& Loc=std::locale() )
-        {
-            return ::boost::algorithm::find_format_copy(
-                Output,
-                Input,
-                ::boost::algorithm::first_finder(Search, is_iequal(Loc)),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace first algorithm ( case insensitive )
-        /*!
-            \overload
-        */
-        template<typename SequenceT, typename Range2T, typename Range1T>
-        inline SequenceT ireplace_first_copy( 
-            const SequenceT& Input,
-            const Range2T& Search,
-            const Range1T& Format,
-            const std::locale& Loc=std::locale() )
-        {
-            return ::boost::algorithm::find_format_copy( 
-                Input,
-                ::boost::algorithm::first_finder(Search, is_iequal(Loc)),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace first algorithm ( case insensitive )
-        /*!
-            Replace the first match of the search substring in the input 
-            with the format string. Input sequence is modified in-place.
-            Searching is case insensitive.
-
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Format A substitute string
-            \param Loc A locale used for case insensitive comparison
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline void ireplace_first( 
-            SequenceT& Input,
-            const Range1T& Search,
-            const Range2T& Format,
-            const std::locale& Loc=std::locale() )
-        {
-            ::boost::algorithm::find_format( 
-                Input, 
-                ::boost::algorithm::first_finder(Search, is_iequal(Loc)),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-//  replace_last --------------------------------------------------------------------//
-
-        //! Replace last algorithm
-        /*!
-            Replace the last match of the search string in the input 
-            with the format string. 
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-
-            \param Output An output iterator to which the result will be copied
-            \param Input An input string
-            \param Search A substring to be searched for
-            \param Format A substitute string
-            \return An output iterator pointing just after the last inserted character or
-                    a modified copy of the input            
-
-              \note The second variant of this function provides the strong exception-safety guarantee
-        */
-        template<
-            typename OutputIteratorT,
-            typename Range1T, 
-            typename Range2T,
-            typename Range3T>
-        inline OutputIteratorT replace_last_copy(
-            OutputIteratorT Output,
-            const Range1T& Input,
-            const Range2T& Search,
-            const Range3T& Format )
-        {
-            return ::boost::algorithm::find_format_copy(
-                Output,
-                Input,
-                ::boost::algorithm::last_finder(Search),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace last algorithm
-        /*!
-            \overload
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline SequenceT replace_last_copy( 
-            const SequenceT& Input,
-            const Range1T& Search,
-            const Range2T& Format )
-        {
-            return ::boost::algorithm::find_format_copy( 
-                Input,
-                ::boost::algorithm::last_finder(Search),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace last algorithm
-        /*!
-            Replace the last match of the search string in the input 
-            with the format string. Input sequence is modified in-place.
-
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Format A substitute string
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline void replace_last( 
-            SequenceT& Input,
-            const Range1T& Search,
-            const Range2T& Format )
-        {
-            ::boost::algorithm::find_format( 
-                Input, 
-                ::boost::algorithm::last_finder(Search),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-//  replace_last ( case insensitive ) -----------------------------------------------//
-
-        //! Replace last algorithm ( case insensitive )
-        /*!
-            Replace the last match of the search string in the input 
-            with the format string. 
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-            Searching is case insensitive.
-
-            \param Output An output iterator to which the result will be copied
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Format A substitute string
-            \param Loc A locale used for case insensitive comparison
-            \return An output iterator pointing just after the last inserted character or
-                    a modified copy of the input  
-
-            \note The second variant of this function provides the strong exception-safety guarantee
-        */
-        template<
-            typename OutputIteratorT,
-            typename Range1T, 
-            typename Range2T,
-            typename Range3T>
-        inline OutputIteratorT ireplace_last_copy(
-            OutputIteratorT Output,
-            const Range1T& Input,
-            const Range2T& Search,
-            const Range3T& Format,
-            const std::locale& Loc=std::locale() )
-        {
-            return ::boost::algorithm::find_format_copy(
-                Output,
-                Input,
-                ::boost::algorithm::last_finder(Search, is_iequal(Loc)),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace last algorithm ( case insensitive )
-        /*!
-            \overload
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline SequenceT ireplace_last_copy( 
-            const SequenceT& Input,
-            const Range1T& Search,
-            const Range2T& Format,
-            const std::locale& Loc=std::locale() )
-        {
-            return ::boost::algorithm::find_format_copy( 
-                Input,
-                ::boost::algorithm::last_finder(Search, is_iequal(Loc)),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace last algorithm ( case insensitive )
-        /*!
-            Replace the last match of the search string in the input 
-            with the format string.The input sequence is modified in-place.
-            Searching is case insensitive.
-
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Format A substitute string
-            \param Loc A locale used for case insensitive comparison
-            \return A reference to the modified input
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline void ireplace_last( 
-            SequenceT& Input,
-            const Range1T& Search,
-            const Range2T& Format,
-            const std::locale& Loc=std::locale() )
-        {
-            ::boost::algorithm::find_format( 
-                Input, 
-                ::boost::algorithm::last_finder(Search, is_iequal(Loc)),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-//  replace_nth --------------------------------------------------------------------//
-
-        //! Replace nth algorithm
-        /*!
-            Replace an Nth (zero-indexed) match of the search string in the input 
-            with the format string. 
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-
-            \param Output An output iterator to which the result will be copied
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Nth An index of the match to be replaced. The index is 0-based.
-                For negative N, matches are counted from the end of string.
-            \param Format A substitute string
-            \return An output iterator pointing just after the last inserted character or
-                a modified copy of the input
-
-            \note The second variant of this function provides the strong exception-safety guarantee
-        */
-        template<
-            typename OutputIteratorT,
-            typename Range1T, 
-            typename Range2T,
-            typename Range3T>
-        inline OutputIteratorT replace_nth_copy(
-            OutputIteratorT Output,
-            const Range1T& Input,
-            const Range2T& Search,
-            int Nth,
-            const Range3T& Format )
-        {
-            return ::boost::algorithm::find_format_copy(
-                Output,
-                Input,
-                ::boost::algorithm::nth_finder(Search, Nth),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace nth algorithm
-        /*!
-            \overload
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline SequenceT replace_nth_copy( 
-            const SequenceT& Input,
-            const Range1T& Search,
-            int Nth,
-            const Range2T& Format )
-        {
-            return ::boost::algorithm::find_format_copy( 
-                Input,
-                ::boost::algorithm::nth_finder(Search, Nth),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace nth algorithm
-        /*!
-            Replace an Nth (zero-indexed) match of the search string in the input 
-            with the format string. Input sequence is modified in-place.
-
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Nth An index of the match to be replaced. The index is 0-based.
-                For negative N, matches are counted from the end of string.
-            \param Format A substitute string
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline void replace_nth( 
-            SequenceT& Input,
-            const Range1T& Search,
-            int Nth,
-            const Range2T& Format )
-        {
-            ::boost::algorithm::find_format( 
-                Input, 
-                ::boost::algorithm::nth_finder(Search, Nth),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-//  replace_nth ( case insensitive ) -----------------------------------------------//
-        
-        //! Replace nth algorithm ( case insensitive )
-        /*!
-            Replace an Nth (zero-indexed) match of the search string in the input 
-            with the format string. 
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-            Searching is case insensitive.
-
-            \param Output An output iterator to which the result will be copied
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Nth An index of the match to be replaced. The index is 0-based.
-                For negative N, matches are counted from the end of string.
-            \param Format A substitute string
-            \param Loc A locale used for case insensitive comparison
-            \return An output iterator pointing just after the last inserted character or
-                    a modified copy of the input            
-
-            \note The second variant of this function provides the strong exception-safety guarantee
-       */
-        template<
-            typename OutputIteratorT,
-            typename Range1T, 
-            typename Range2T,
-            typename Range3T>
-        inline OutputIteratorT ireplace_nth_copy(
-            OutputIteratorT Output,
-            const Range1T& Input,
-            const Range2T& Search,
-            int Nth,
-            const Range3T& Format,
-            const std::locale& Loc=std::locale() )
-        {
-            return ::boost::algorithm::find_format_copy(
-                Output,
-                Input,
-                ::boost::algorithm::nth_finder(Search, Nth, is_iequal(Loc) ),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace nth algorithm ( case insensitive )
-        /*!
-            \overload
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline SequenceT ireplace_nth_copy( 
-            const SequenceT& Input,
-            const Range1T& Search,
-            int Nth,
-            const Range2T& Format,
-            const std::locale& Loc=std::locale() )
-        {
-            return ::boost::algorithm::find_format_copy( 
-                Input,
-                ::boost::algorithm::nth_finder(Search, Nth, is_iequal(Loc)),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace nth algorithm ( case insensitive )
-        /*!
-            Replace an Nth (zero-indexed) match of the search string in the input 
-            with the format string. Input sequence is modified in-place.
-            Searching is case insensitive.
-
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Nth An index of the match to be replaced. The index is 0-based.
-                For negative N, matches are counted from the end of string.
-            \param Format A substitute string
-            \param Loc A locale used for case insensitive comparison
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline void ireplace_nth( 
-            SequenceT& Input,
-            const Range1T& Search,
-            int Nth,
-            const Range2T& Format,
-            const std::locale& Loc=std::locale() )
-        {
-            ::boost::algorithm::find_format( 
-                Input, 
-                ::boost::algorithm::nth_finder(Search, Nth, is_iequal(Loc)),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-//  replace_all --------------------------------------------------------------------//
-
-        //! Replace all algorithm
-        /*!
-            Replace all occurrences of the search string in the input 
-            with the format string. 
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-
-            \param Output An output iterator to which the result will be copied
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Format A substitute string
-            \return An output iterator pointing just after the last inserted character or
-                    a modified copy of the input 
-
-             \note The second variant of this function provides the strong exception-safety guarantee
-        */
-        template<
-            typename OutputIteratorT,
-            typename Range1T, 
-            typename Range2T,
-            typename Range3T>
-        inline OutputIteratorT replace_all_copy(
-            OutputIteratorT Output,
-            const Range1T& Input,
-            const Range2T& Search,
-            const Range3T& Format )
-        {
-            return ::boost::algorithm::find_format_all_copy(
-                Output,
-                Input,
-                ::boost::algorithm::first_finder(Search),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace all algorithm
-        /*!
-            \overload
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline SequenceT replace_all_copy( 
-            const SequenceT& Input,
-            const Range1T& Search,
-            const Range2T& Format )
-        {
-            return ::boost::algorithm::find_format_all_copy( 
-                Input,
-                ::boost::algorithm::first_finder(Search),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace all algorithm
-        /*!
-            Replace all occurrences of the search string in the input 
-            with the format string. The input sequence is modified in-place.
-
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Format A substitute string
-            \return A reference to the modified input
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline void replace_all( 
-            SequenceT& Input,
-            const Range1T& Search,
-            const Range2T& Format )
-        {
-            ::boost::algorithm::find_format_all( 
-                Input, 
-                ::boost::algorithm::first_finder(Search),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-        
-//  replace_all ( case insensitive ) -----------------------------------------------//
-
-        //! Replace all algorithm ( case insensitive )
-        /*!
-            Replace all occurrences of the search string in the input 
-            with the format string. 
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-            Searching is case insensitive.
-
-            \param Output An output iterator to which the result will be copied
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Format A substitute string
-            \param Loc A locale used for case insensitive comparison
-            \return An output iterator pointing just after the last inserted character or
-                    a modified copy of the input 
-
-            \note The second variant of this function provides the strong exception-safety guarantee
-        */
-        template<
-            typename OutputIteratorT,
-            typename Range1T, 
-            typename Range2T,
-            typename Range3T>
-        inline OutputIteratorT ireplace_all_copy(
-            OutputIteratorT Output,
-            const Range1T& Input,
-            const Range2T& Search,
-            const Range3T& Format,
-            const std::locale& Loc=std::locale() )
-        {
-            return ::boost::algorithm::find_format_all_copy(
-                Output,
-                Input,
-                ::boost::algorithm::first_finder(Search, is_iequal(Loc)),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace all algorithm ( case insensitive )
-        /*!
-            \overload
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline SequenceT ireplace_all_copy( 
-            const SequenceT& Input,
-            const Range1T& Search,
-            const Range2T& Format,
-            const std::locale& Loc=std::locale() )
-        {
-            return ::boost::algorithm::find_format_all_copy( 
-                Input,
-                ::boost::algorithm::first_finder(Search, is_iequal(Loc)),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace all algorithm ( case insensitive )
-        /*!
-            Replace all occurrences of the search string in the input 
-            with the format string.The input sequence is modified in-place.
-            Searching is case insensitive.
-
-            \param Input An input string
-            \param Search A substring to be searched for 
-            \param Format A substitute string
-            \param Loc A locale used for case insensitive comparison
-        */
-        template<typename SequenceT, typename Range1T, typename Range2T>
-        inline void ireplace_all( 
-            SequenceT& Input,
-            const Range1T& Search,
-            const Range2T& Format,
-            const std::locale& Loc=std::locale() )
-        {
-            ::boost::algorithm::find_format_all( 
-                Input, 
-                ::boost::algorithm::first_finder(Search, is_iequal(Loc)),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-        
-//  replace_head --------------------------------------------------------------------//
-
-        //! Replace head algorithm
-        /*!
-            Replace the head of the input with the given format string. 
-            The head is a prefix of a string of given size. 
-            If the sequence is shorter then required, whole string if 
-            considered to be the head. 
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-            
-            \param Output An output iterator to which the result will be copied
-            \param Input An input string
-            \param N Length of the head.
-                For N>=0, at most N characters are extracted.
-                For N<0, size(Input)-|N| characters are extracted.
-            \param Format A substitute string
-            \return An output iterator pointing just after the last inserted character or
-                a modified copy of the input  
-
-            \note The second variant of this function provides the strong exception-safety guarantee
-        */
-        template<
-            typename OutputIteratorT,
-            typename Range1T, 
-            typename Range2T>
-        inline OutputIteratorT replace_head_copy(
-            OutputIteratorT Output,
-            const Range1T& Input,
-            int N,
-            const Range2T& Format )
-        {
-            return ::boost::algorithm::find_format_copy(
-                Output,
-                Input,
-                ::boost::algorithm::head_finder(N),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace head algorithm
-        /*!
-            \overload
-        */
-        template<typename SequenceT, typename RangeT>
-        inline SequenceT replace_head_copy( 
-            const SequenceT& Input,
-            int N,
-            const RangeT& Format )
-        {
-            return ::boost::algorithm::find_format_copy( 
-                Input,
-                ::boost::algorithm::head_finder(N),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace head algorithm
-        /*!
-            Replace the head of the input with the given format string. 
-            The head is a prefix of a string of given size. 
-            If the sequence is shorter then required, the whole string is 
-            considered to be the head. The input sequence is modified in-place.
-
-            \param Input An input string
-            \param N Length of the head.
-                For N>=0, at most N characters are extracted.
-                For N<0, size(Input)-|N| characters are extracted.
-            \param Format A substitute string
-        */
-        template<typename SequenceT, typename RangeT>
-        inline void replace_head( 
-            SequenceT& Input,
-            int N,
-            const RangeT& Format )
-        {
-            ::boost::algorithm::find_format( 
-                Input, 
-                ::boost::algorithm::head_finder(N),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-//  replace_tail --------------------------------------------------------------------//
-
-        //! Replace tail algorithm
-        /*!
-            Replace the tail of the input with the given format string. 
-            The tail is a suffix of a string of given size. 
-            If the sequence is shorter then required, whole string is 
-            considered to be the tail. 
-            The result is a modified copy of the input. It is returned as a sequence 
-            or copied to the output iterator.
-
-            \param Output An output iterator to which the result will be copied
-            \param Input An input string
-            \param N Length of the tail.
-                For N>=0, at most N characters are extracted.
-                For N<0, size(Input)-|N| characters are extracted.
-            \param Format A substitute string
-            \return An output iterator pointing just after the last inserted character or
-                    a modified copy of the input   
-
-              \note The second variant of this function provides the strong exception-safety guarantee
-        */
-        template<
-            typename OutputIteratorT,
-            typename Range1T, 
-            typename Range2T>
-        inline OutputIteratorT replace_tail_copy(
-            OutputIteratorT Output,
-            const Range1T& Input,
-            int N,
-            const Range2T& Format )
-        {
-            return ::boost::algorithm::find_format_copy(
-                Output,
-                Input,
-                ::boost::algorithm::tail_finder(N),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace tail algorithm
-        /*!
-            \overload
-        */
-        template<typename SequenceT, typename RangeT>
-        inline SequenceT replace_tail_copy( 
-            const SequenceT& Input,
-            int N,
-            const RangeT& Format )
-        {
-            return ::boost::algorithm::find_format_copy( 
-                Input,
-                ::boost::algorithm::tail_finder(N),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-        //! Replace tail algorithm
-        /*!
-            Replace the tail of the input with the given format sequence. 
-            The tail is a suffix of a string of given size. 
-            If the sequence is shorter then required, the whole string is 
-            considered to be the tail. The input sequence is modified in-place.
-
-            \param Input An input string
-            \param N Length of the tail.
-                For N>=0, at most N characters are extracted.
-                For N<0, size(Input)-|N| characters are extracted.
-            \param Format A substitute string
-        */
-        template<typename SequenceT, typename RangeT>
-        inline void replace_tail( 
-            SequenceT& Input,
-            int N,
-            const RangeT& Format )
-        {
-            ::boost::algorithm::find_format( 
-                Input, 
-                ::boost::algorithm::tail_finder(N),
-                ::boost::algorithm::const_formatter(Format) );
-        }
-
-    } // namespace algorithm
-
-    // pull names to the boost namespace
-    using algorithm::replace_range_copy;
-    using algorithm::replace_range;
-    using algorithm::replace_first_copy;
-    using algorithm::replace_first;
-    using algorithm::ireplace_first_copy;
-    using algorithm::ireplace_first;
-    using algorithm::replace_last_copy;
-    using algorithm::replace_last;
-    using algorithm::ireplace_last_copy;
-    using algorithm::ireplace_last;
-    using algorithm::replace_nth_copy;
-    using algorithm::replace_nth;
-    using algorithm::ireplace_nth_copy;
-    using algorithm::ireplace_nth;
-    using algorithm::replace_all_copy;
-    using algorithm::replace_all;
-    using algorithm::ireplace_all_copy;
-    using algorithm::ireplace_all;
-    using algorithm::replace_head_copy;
-    using algorithm::replace_head;
-    using algorithm::replace_tail_copy;
-    using algorithm::replace_tail;
-
-} // namespace boost
-
-#endif  // BOOST_REPLACE_HPP
diff --git a/SRC/Boost/boost/algorithm/string/sequence_traits.hpp b/SRC/Boost/boost/algorithm/string/sequence_traits.hpp
deleted file mode 100755
index f9f4a9c..0000000
--- a/SRC/Boost/boost/algorithm/string/sequence_traits.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-//  Boost string_algo library sequence_traits.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_SEQUENCE_TRAITS_HPP
-#define BOOST_STRING_SEQUENCE_TRAITS_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/algorithm/string/yes_no_type.hpp>
-
-/*! \file
-    Traits defined in this header are used by various algorithms to achieve
-    better performance for specific containers.
-    Traits provide fail-safe defaults. If a container supports some of these
-    features, it is possible to specialize the specific trait for this container.
-    For lacking compilers, it is possible of define an override for a specific tester
-    function.
-
-    Due to a language restriction, it is not currently possible to define specializations for
-    stl containers without including the corresponding header. To decrease the overhead
-    needed by this inclusion, user can selectively include a specialization
-    header for a specific container. They are located in boost/algorithm/string/stl
-    directory. Alternatively she can include boost/algorithm/string/std_collection_traits.hpp
-    header which contains specializations for all stl containers.
-*/
-
-namespace boost {
-    namespace algorithm {
-
-//  sequence traits  -----------------------------------------------//
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-        //! Native replace tester
-        /*!
-            Declare an override of this tester function with return
-            type boost::string_algo::yes_type for a sequence with this property.
-
-            \return yes_type if the container has basic_string like native replace
-            method.
-        */
-        no_type has_native_replace_tester(...);
-
-        //! Stable iterators tester
-        /*!
-            Declare an override of this tester function with return
-            type boost::string_algo::yes_type for a sequence with this property.
-
-            \return yes_type if the sequence's insert/replace/erase methods do not invalidate
-            existing iterators.
-        */
-        no_type has_stable_iterators_tester(...);
-
-        //! const time insert tester
-        /*!
-            Declare an override of this tester function with return
-            type boost::string_algo::yes_type for a sequence with this property.
-
-            \return yes_type if the sequence's insert method is working in constant time
-        */
-        no_type has_const_time_insert_tester(...);
-
-        //! const time erase tester
-        /*!
-            Declare an override of this tester function with return
-            type boost::string_algo::yes_type for a sequence with this property.
-
-            \return yes_type if the sequence's erase method is working in constant time
-        */
-        no_type has_const_time_erase_tester(...);
-
-#endif //BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-        //! Native replace trait
-        /*!
-            This trait specifies that the sequence has \c std::string like replace method
-        */
-        template< typename T >
-        class has_native_replace
-        {
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-        private:
-            static T* t;
-        public:
-            BOOST_STATIC_CONSTANT(bool, value=(
-                sizeof(has_native_replace_tester(t))==sizeof(yes_type) ) );
-#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-        public:
-#    if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-            enum { value = false };
-#    else
-            BOOST_STATIC_CONSTANT(bool, value=false);
-#    endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-
-            typedef mpl::bool_<has_native_replace<T>::value> type;
-        };
-
-
-        //! Stable iterators trait
-        /*!
-            This trait specifies that the sequence has stable iterators. It means
-            that operations like insert/erase/replace do not invalidate iterators.
-        */
-        template< typename T >
-        class has_stable_iterators
-        {
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-        private:
-            static T* t;
-        public:
-            BOOST_STATIC_CONSTANT(bool, value=(
-                sizeof(has_stable_iterators_tester(t))==sizeof(yes_type) ) );
-#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-        public:
-#    if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-            enum { value = false };
-#    else
-            BOOST_STATIC_CONSTANT(bool, value=false);
-#    endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-            typedef mpl::bool_<has_stable_iterators<T>::value> type;
-        };
-
-
-        //! Const time insert trait
-        /*!
-            This trait specifies that the sequence's insert method has
-            constant time complexity.
-        */
-        template< typename T >
-        class has_const_time_insert
-        {
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-        private:
-            static T* t;
-        public:
-            BOOST_STATIC_CONSTANT(bool, value=(
-                sizeof(has_const_time_insert_tester(t))==sizeof(yes_type) ) );
-#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-        public:
-#    if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-            enum { value = false };
-#    else
-            BOOST_STATIC_CONSTANT(bool, value=false);
-#    endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-            typedef mpl::bool_<has_const_time_insert<T>::value> type;
-        };
-
-
-        //! Const time erase trait
-        /*!
-            This trait specifies that the sequence's erase method has
-            constant time complexity.
-        */
-        template< typename T >
-        class has_const_time_erase
-        {
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-        private:
-            static T* t;
-        public:
-            BOOST_STATIC_CONSTANT(bool, value=(
-                sizeof(has_const_time_erase_tester(t))==sizeof(yes_type) ) );
-#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-        public:
-#    if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-            enum { value = false };
-#    else
-            BOOST_STATIC_CONSTANT(bool, value=false);
-#    endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-            typedef mpl::bool_<has_const_time_erase<T>::value> type;
-        };
-
-    } // namespace algorithm
-} // namespace boost
-
-
-#endif  // BOOST_STRING_SEQUENCE_TRAITS_HPP
diff --git a/SRC/Boost/boost/algorithm/string/yes_no_type.hpp b/SRC/Boost/boost/algorithm/string/yes_no_type.hpp
deleted file mode 100755
index 4109763..0000000
--- a/SRC/Boost/boost/algorithm/string/yes_no_type.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  Boost string_algo library yes_no_type.hpp header file  ---------------------------//
-
-//  Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_YES_NO_TYPE_DETAIL_HPP
-#define BOOST_STRING_YES_NO_TYPE_DETAIL_HPP
-
-namespace boost {
-    namespace algorithm {
-
-        // taken from boost mailing-list
-        // when yes_no_type will become officially
-        // a part of boost distribution, this header
-        // will be deprecated
-        template<int I> struct size_descriptor 
-        {
-            typedef char (& type)[I];
-        }; 
-
-        typedef size_descriptor<1>::type yes_type;
-        typedef size_descriptor<2>::type no_type;
-
-    } // namespace algorithm
-} // namespace boost
-
-
-#endif  // BOOST_STRING_YES_NO_TYPE_DETAIL_HPP
diff --git a/SRC/Boost/boost/aligned_storage.hpp b/SRC/Boost/boost/aligned_storage.hpp
deleted file mode 100755
index a264515..0000000
--- a/SRC/Boost/boost/aligned_storage.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost aligned_storage.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002-2003
-// Eric Friedman, Itay Maman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ALIGNED_STORAGE_HPP
-#define BOOST_ALIGNED_STORAGE_HPP
-
-#include <cstddef> // for std::size_t
-
-#include "boost/config.hpp"
-#include "boost/detail/workaround.hpp"
-#include "boost/type_traits/alignment_of.hpp"
-#include "boost/type_traits/type_with_alignment.hpp"
-#include "boost/type_traits/is_pod.hpp"
-
-#include "boost/mpl/eval_if.hpp"
-#include "boost/mpl/identity.hpp"
-
-#include "boost/type_traits/detail/bool_trait_def.hpp"
-
-namespace boost {
-
-namespace detail { namespace aligned_storage {
-
-BOOST_STATIC_CONSTANT(
-      std::size_t
-    , alignment_of_max_align = ::boost::alignment_of<max_align>::value
-    );
-
-//
-// To be TR1 conforming this must be a POD type:
-//
-template <
-      std::size_t size_
-    , std::size_t alignment_
->
-struct aligned_storage_imp
-{
-    union data_t
-    {
-        char buf[size_];
-
-        typename mpl::eval_if_c<
-              alignment_ == std::size_t(-1)
-            , mpl::identity<detail::max_align>
-            , type_with_alignment<alignment_>
-            >::type align_;
-    } data_;
-    void* address() const { return const_cast<aligned_storage_imp*>(this); }
-};
-
-template< std::size_t alignment_ >
-struct aligned_storage_imp<0u,alignment_>
-{
-    /* intentionally empty */
-    void* address() const { return 0; }
-};
-
-}} // namespace detail::aligned_storage
-
-template <
-      std::size_t size_
-    , std::size_t alignment_ = std::size_t(-1)
->
-class aligned_storage : 
-#ifndef __BORLANDC__
-   private 
-#else
-   public
-#endif
-   detail::aligned_storage::aligned_storage_imp<size_, alignment_> 
-{
- 
-public: // constants
-
-    typedef detail::aligned_storage::aligned_storage_imp<size_, alignment_> type;
-
-    BOOST_STATIC_CONSTANT(
-          std::size_t
-        , size = size_
-        );
-    BOOST_STATIC_CONSTANT(
-          std::size_t
-        , alignment = (
-              alignment_ == std::size_t(-1)
-            ? ::boost::detail::aligned_storage::alignment_of_max_align
-            : alignment_
-            )
-        );
-
-#if defined(__GNUC__) &&\
-    (__GNUC__ >  3) ||\
-    (__GNUC__ == 3 && (__GNUC_MINOR__ >  2 ||\
-                      (__GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ >=3)))
-
-private: // noncopyable
-
-    aligned_storage(const aligned_storage&);
-    aligned_storage& operator=(const aligned_storage&);
-
-#else // gcc less than 3.2.3
-
-public: // _should_ be noncopyable, but GCC compiler emits error
-
-    aligned_storage(const aligned_storage&);
-    aligned_storage& operator=(const aligned_storage&);
-
-#endif // gcc < 3.2.3 workaround
-
-public: // structors
-
-    aligned_storage()
-    {
-    }
-
-    ~aligned_storage()
-    {
-    }
-
-public: // accessors
-
-    void* address()
-    {
-        return static_cast<type*>(this)->address();
-    }
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-    const void* address() const
-    {
-        return static_cast<const type*>(this)->address();
-    }
-
-#else // MSVC6
-
-    const void* address() const;
-
-#endif // MSVC6 workaround
-
-};
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-// MSVC6 seems not to like inline functions with const void* returns, so we
-// declare the following here:
-
-template <std::size_t S, std::size_t A>
-const void* aligned_storage<S,A>::address() const
-{
-    return const_cast< aligned_storage<S,A>* >(this)->address();
-}
-
-#endif // MSVC6 workaround
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-//
-// Make sure that is_pod recognises aligned_storage<>::type
-// as a POD (Note that aligned_storage<> itself is not a POD):
-//
-template <std::size_t size_, std::size_t alignment_>
-struct is_pod<boost::detail::aligned_storage::aligned_storage_imp<size_,alignment_> >
-   BOOST_TT_AUX_BOOL_C_BASE(true)
-{ 
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(true)
-}; 
-#endif
-
-
-} // namespace boost
-
-#include "boost/type_traits/detail/bool_trait_undef.hpp"
-
-#endif // BOOST_ALIGNED_STORAGE_HPP
diff --git a/SRC/Boost/boost/archive/archive_exception.hpp b/SRC/Boost/boost/archive/archive_exception.hpp
deleted file mode 100755
index 22b54fd..0000000
--- a/SRC/Boost/boost/archive/archive_exception.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef BOOST_ARCHIVE_ARCHIVE_EXCEPTION_HPP
-#define BOOST_ARCHIVE_ARCHIVE_EXCEPTION_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// archive/archive_exception.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <exception>
-#include <boost/assert.hpp>
-#include <string>
-
-#include <boost/config.hpp> 
-#include <boost/preprocessor/empty.hpp>
-#include <boost/archive/detail/decl.hpp>
-
-// note: the only reason this is in here is that windows header
-// includes #define exception_code _exception_code (arrrgghhhh!).
-// the most expedient way to address this is be sure that this
-// header is always included whenever this header file is included.
-#if defined(BOOST_WINDOWS) 
-#include <excpt.h> 
-#endif 
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-namespace archive {
-
-//////////////////////////////////////////////////////////////////////
-// exceptions thrown by archives
-//
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) archive_exception : 
-    public virtual std::exception
-{
-public:
-    typedef enum {
-        no_exception,       // initialized without code
-        other_exception,    // any excepton not listed below
-        unregistered_class, // attempt to serialize a pointer of an
-                            // an unregistered class
-        invalid_signature,  // first line of archive does not contain
-                            // expected string
-        unsupported_version,// archive created with library version
-                            // subsequent to this one
-        pointer_conflict,   // an attempt has been made to directly
-                            // serialize an object which has
-                            // already been serialzed through a pointer.  
-                            // Were this permited, the archive load would result 
-                            // in the creation of an extra copy of the obect.
-        incompatible_native_format, // attempt to read native binary format
-                            // on incompatible platform
-        array_size_too_short,// array being loaded doesn't fit in array allocated
-        input_stream_error, // error on input stream
-        invalid_class_name, // class name greater than the maximum permitted.
-                            // most likely a corrupted archive or an attempt
-                            // to insert virus via buffer overrun method.
-        unregistered_cast,   // base - derived relationship not registered with 
-                            // void_cast_register
-        unsupported_class_version, // type saved with a version # greater than the 
-                            // one used by the program.  This indicates that the proggram
-                            // needs to be rebuilt.
-        multiple_code_instantiation, // code for implementing serialization for some
-                            // type has been instantiated in more than one module.
-        output_stream_error // error on input stream
-    } exception_code;
-protected:
-    std::string m_msg;
-public:
-    exception_code code;
-    archive_exception(
-        exception_code c, 
-        const char * e1 = NULL,
-        const char * e2 = NULL
-    );
-    ~archive_exception() throw ();
-    virtual const char *what( ) const throw();
-protected:
-    archive_exception();
-};
-
-}// namespace archive
-}// namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif //BOOST_ARCHIVE_ARCHIVE_EXCEPTION_HPP
diff --git a/SRC/Boost/boost/archive/basic_archive.hpp b/SRC/Boost/boost/archive/basic_archive.hpp
deleted file mode 100755
index 1b3ac35..0000000
--- a/SRC/Boost/boost/archive/basic_archive.hpp
+++ /dev/null
@@ -1,300 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_ARCHIVE_HPP
-#define BOOST_ARCHIVE_BASIC_ARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_archive.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp> // size_t
-#include <boost/noncopyable.hpp>
-#include <boost/integer_traits.hpp>
-
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-namespace archive {
-
-#if defined(_MSC_VER)
-#pragma warning( push )
-#pragma warning( disable : 4244 4267 )
-#endif
-
-/* NOTE : Warning  : Warning : Warning : Warning : Warning
- * Don't ever changes this.  If you do, they previously created
- * binary archives won't be readable !!!
- */
-class library_version_type {
-private:
-    typedef uint_least16_t base_type;
-    base_type t;
-public:
-    library_version_type(): t(0) {};
-    explicit library_version_type(const unsigned int & t_) : t(t_){
-        BOOST_ASSERT(t_ <= boost::integer_traits<base_type>::const_max);
-    }
-    library_version_type(const library_version_type & t_) : 
-        t(t_.t)
-    {}
-    library_version_type & operator=(const library_version_type & rhs){
-        t = rhs.t; 
-        return *this;
-    }
-    // used for text output
-    operator base_type () const {
-        return t;
-    }                
-    // used for text input
-    operator base_type & (){
-        return t;
-    }                
-    bool operator==(const library_version_type & rhs) const {
-        return t == rhs.t;
-    } 
-    bool operator<(const library_version_type & rhs) const {
-        return t < rhs.t;
-    }   
-};
-
-BOOST_ARCHIVE_DECL(library_version_type)
-BOOST_ARCHIVE_VERSION();
-
-class version_type {
-private:
-    typedef uint_least32_t base_type;
-    base_type t;
-public:
-    // should be private - but MPI fails if it's not!!!
-    version_type(): t(0) {};
-    explicit version_type(const unsigned int & t_) : t(t_){
-        BOOST_ASSERT(t_ <= boost::integer_traits<base_type>::const_max);
-    }
-    version_type(const version_type & t_) : 
-        t(t_.t)
-    {}
-    version_type & operator=(const version_type & rhs){
-        t = rhs.t; 
-        return *this;
-    }
-    // used for text output
-    operator base_type () const {
-        return t;
-    }                
-    // used for text intput
-    operator base_type  & (){
-        return t;
-    }                
-    bool operator==(const version_type & rhs) const {
-        return t == rhs.t;
-    } 
-    bool operator<(const version_type & rhs) const {
-        return t < rhs.t;
-    }   
-};
-
-class class_id_type {
-private:
-    typedef int_least16_t base_type;
-    base_type t;
-public:
-    // should be private - but then can't use BOOST_STRONG_TYPE below
-    class_id_type() : t(0) {};
-    explicit class_id_type(const int t_) : t(t_){
-        BOOST_ASSERT(t_ <= boost::integer_traits<base_type>::const_max);
-    }
-    explicit class_id_type(const std::size_t t_) : t(t_){
- //       BOOST_ASSERT(t_ <= boost::integer_traits<base_type>::const_max);
-    }
-    class_id_type(const class_id_type & t_) : 
-        t(t_.t)
-    {}
-    class_id_type & operator=(const class_id_type & rhs){
-        t = rhs.t; 
-        return *this;
-    }
-
-    // used for text output
-    operator int () const {
-        return t;
-    }                
-    // used for text input
-    operator int_least16_t &() {
-        return t;
-    }                
-    bool operator==(const class_id_type & rhs) const {
-        return t == rhs.t;
-    } 
-    bool operator<(const class_id_type & rhs) const {
-        return t < rhs.t;
-    }   
-};
-
-#define NULL_POINTER_TAG boost::archive::class_id_type(-1)
-
-class object_id_type {
-private:
-    typedef uint_least32_t base_type;
-    base_type t;
-public:
-    object_id_type(): t(0) {};
-    explicit object_id_type(const unsigned int & t_) : t(t_){
-        BOOST_ASSERT(t_ <= boost::integer_traits<base_type>::const_max);
-    }
-    object_id_type(const object_id_type & t_) : 
-        t(t_.t)
-    {}
-    object_id_type & operator=(const object_id_type & rhs){
-        t = rhs.t; 
-        return *this;
-    }
-    // used for text output
-    operator uint_least32_t () const {
-        return t;
-    }                
-    // used for text input
-    operator uint_least32_t & () {
-        return t;
-    }                
-    bool operator==(const object_id_type & rhs) const {
-        return t == rhs.t;
-    } 
-    bool operator<(const object_id_type & rhs) const {
-        return t < rhs.t;
-    }   
-};
-
-#if defined(_MSC_VER)
-#pragma warning( pop )
-#endif
-
-struct tracking_type {
-    bool t;
-    explicit tracking_type(const bool t_ = false)
-        : t(t_)
-    {};
-    tracking_type(const tracking_type & t_)
-        : t(t_.t)
-    {}
-    operator bool () const {
-        return t;
-    };
-    operator bool & () {
-        return t;
-    };
-    tracking_type & operator=(const bool t_){
-        t = t_;
-        return *this;
-    }
-    bool operator==(const tracking_type & rhs) const {
-        return t == rhs.t;
-    }
-    bool operator==(const bool & rhs) const {
-        return t == rhs;
-    }
-    tracking_type & operator=(const tracking_type & rhs){
-        t = rhs.t;
-        return *this;
-    }
-};
-
-struct class_name_type : 
-    private boost::noncopyable 
-{
-    char *t;
-    operator const char * & () const {
-        return const_cast<const char * &>(t);
-    }
-    operator char * () {
-        return t;
-    }
-    explicit class_name_type(const char *key_) 
-    : t(const_cast<char *>(key_)){}
-    explicit class_name_type(char *key_) 
-    : t(key_){}
-    class_name_type & operator=(const class_name_type & rhs){
-        t = rhs.t;
-        return *this;
-    }
-};
-
-enum archive_flags {
-    no_header = 1,  // suppress archive header info
-    no_codecvt = 2,  // suppress alteration of codecvt facet
-    no_xml_tag_checking = 4,   // suppress checking of xml tags
-    no_tracking = 8,           // suppress ALL tracking
-    flags_last = 8
-};
-
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_SIGNATURE();
-
-/* NOTE : Warning  : Warning : Warning : Warning : Warning
- * If any of these are changed to different sized types, 
- * binary_iarchive won't be able to read older archives
- * unless you rev the library version and include conditional
- * code based on the library version.  There is nothing
- * inherently wrong in doing this - but you have to be super
- * careful because it's easy to get wrong and start breaking
- * old archives !!!
- */
-
-#define BOOST_ARCHIVE_STRONG_TYPEDEF(T, D)         \
-    class D : public T {                           \
-    public:                                        \
-        explicit D(const T tt) : T(tt){}           \
-    };                                             \
-/**/
-
-BOOST_ARCHIVE_STRONG_TYPEDEF(class_id_type, class_id_reference_type)
-BOOST_ARCHIVE_STRONG_TYPEDEF(class_id_type, class_id_optional_type)
-BOOST_ARCHIVE_STRONG_TYPEDEF(object_id_type, object_reference_type)
-
-}// namespace archive
-}// namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#include <boost/serialization/level.hpp>
-
-// set implementation level to primitive for all types
-// used internally by the serialization library
-
-BOOST_CLASS_IMPLEMENTATION(boost::archive::library_version_type, primitive_type)
-BOOST_CLASS_IMPLEMENTATION(boost::archive::version_type, primitive_type)
-BOOST_CLASS_IMPLEMENTATION(boost::archive::class_id_type, primitive_type)
-BOOST_CLASS_IMPLEMENTATION(boost::archive::class_id_reference_type, primitive_type)
-BOOST_CLASS_IMPLEMENTATION(boost::archive::class_id_optional_type, primitive_type)
-BOOST_CLASS_IMPLEMENTATION(boost::archive::class_name_type, primitive_type)
-BOOST_CLASS_IMPLEMENTATION(boost::archive::object_id_type, primitive_type)
-BOOST_CLASS_IMPLEMENTATION(boost::archive::object_reference_type, primitive_type)
-BOOST_CLASS_IMPLEMENTATION(boost::archive::tracking_type, primitive_type)
-
-#include <boost/serialization/is_bitwise_serializable.hpp>
-
-// set types used internally by the serialization library 
-// to be bitwise serializable
-
-BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::library_version_type)
-BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::version_type)
-BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::class_id_type)
-BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::class_id_reference_type)
-BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::class_id_optional_type)
-BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::class_name_type)
-BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::object_id_type)
-BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::object_reference_type)
-BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::tracking_type)
-
-#endif //BOOST_ARCHIVE_BASIC_ARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/basic_binary_iarchive.hpp b/SRC/Boost/boost/archive/basic_binary_iarchive.hpp
deleted file mode 100755
index c2e3dbe..0000000
--- a/SRC/Boost/boost/archive/basic_binary_iarchive.hpp
+++ /dev/null
@@ -1,222 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_BINARY_IARCHIVE_HPP
-#define BOOST_ARCHIVE_BASIC_BINARY_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_binary_iarchive.hpp
-//
-// archives stored as native binary - this should be the fastest way
-// to archive the state of a group of obects.  It makes no attempt to
-// convert to any canonical form.
-
-// IN GENERAL, ARCHIVES CREATED WITH THIS CLASS WILL NOT BE READABLE
-// ON PLATFORM APART FROM THE ONE THEY ARE CREATED ON
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/archive/basic_archive.hpp>
-#include <boost/archive/detail/common_iarchive.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/string.hpp>
-#include <boost/serialization/item_version_type.hpp>
-#include <boost/integer_traits.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost { 
-namespace archive {
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_binary_iarchive - read serialized objects from a input binary stream
-template<class Archive>
-class basic_binary_iarchive : 
-    public detail::common_iarchive<Archive>
-{
-protected:
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-public:
-#elif defined(BOOST_MSVC)
-    // for some inexplicable reason insertion of "class" generates compile erro
-    // on msvc 7.1
-    friend detail::interface_iarchive<Archive>;
-#else
-    friend class detail::interface_iarchive<Archive>;
-#endif
-    // intermediate level to support override of operators
-    // fot templates in the absence of partial function 
-    // template ordering. If we get here pass to base class
-    // note extra nonsense to sneak it pass the borland compiers
-    typedef detail::common_iarchive<Archive> detail_common_iarchive;
-    template<class T>
-    void load_override(T & t, BOOST_PFTO int version){
-      this->detail_common_iarchive::load_override(t, static_cast<int>(version));
-    }
-
-    // include these to trap a change in binary format which
-    // isn't specifically handled
-    // upto 32K classes
-    BOOST_STATIC_ASSERT(sizeof(class_id_type) == sizeof(int_least16_t));
-    BOOST_STATIC_ASSERT(sizeof(class_id_reference_type) == sizeof(int_least16_t));
-    // upto 2G objects
-    BOOST_STATIC_ASSERT(sizeof(object_id_type) == sizeof(uint_least32_t));
-    BOOST_STATIC_ASSERT(sizeof(object_reference_type) == sizeof(uint_least32_t));
-
-    // binary files don't include the optional information 
-    void load_override(class_id_optional_type & /* t */, int){}
-
-    void load_override(tracking_type & t, int /*version*/){
-        library_version_type lvt = this->get_library_version();
-        if(boost::archive::library_version_type(6) < lvt){
-            int_least8_t x=0;
-            * this->This() >> x;
-            t = boost::archive::tracking_type(x);
-        }
-        else{
-            bool x=0;
-            * this->This() >> x;
-            t = boost::archive::tracking_type(x);
-        }
-    }
-    void load_override(class_id_type & t, int version){
-        library_version_type lvt = this->get_library_version();
-        if(boost::archive::library_version_type(7) < lvt){
-            this->detail_common_iarchive::load_override(t, version);
-        }
-        else
-        if(boost::archive::library_version_type(6) < lvt){
-            int_least16_t x=0;
-            * this->This() >> x;
-            t = boost::archive::class_id_type(x);
-        }
-        else{
-            int x=0;
-            * this->This() >> x;
-            t = boost::archive::class_id_type(x);
-        }
-    }
-    void load_override(class_id_reference_type & t, int version){
-        load_override(static_cast<class_id_type &>(t), version);
-    }
-#if 0
-    void load_override(class_id_reference_type & t, int version){
-        library_version_type lvt = this->get_library_version();
-        if(boost::archive::library_version_type(7) < lvt){
-            this->detail_common_iarchive::load_override(t, version);
-        }
-        else
-        if(boost::archive::library_version_type(6) < lvt){
-            int_least16_t x=0;
-            * this->This() >> x;
-            t = boost::archive::class_id_reference_type(
-                boost::archive::class_id_type(x)
-            );
-        }
-        else{
-            int x=0;
-            * this->This() >> x;
-            t = boost::archive::class_id_reference_type(
-                boost::archive::class_id_type(x)
-            );
-        }
-    }
-#endif
-
-    void load_override(version_type & t, int version){
-        library_version_type lvt = this->get_library_version();
-        if(boost::archive::library_version_type(7) < lvt){
-            this->detail_common_iarchive::load_override(t, version);
-        }
-        else
-        if(boost::archive::library_version_type(6) < lvt){
-            uint_least8_t x=0;
-            * this->This() >> x;
-            t = boost::archive::version_type(x);
-        }
-        else
-        if(boost::archive::library_version_type(5) < lvt){
-            uint_least16_t x=0;
-            * this->This() >> x;
-            t = boost::archive::version_type(x);
-        }
-        else
-        if(boost::archive::library_version_type(2) < lvt){
-            // upto 255 versions
-            unsigned char x=0;
-            * this->This() >> x;
-            t = version_type(x);
-        }
-        else{
-            unsigned int x=0;
-            * this->This() >> x;
-            t = boost::archive::version_type(x);
-        }
-    }
-
-    void load_override(boost::serialization::item_version_type & t, int version){
-        library_version_type lvt = this->get_library_version();
-//        if(boost::archive::library_version_type(7) < lvt){
-        if(boost::archive::library_version_type(6) < lvt){
-            this->detail_common_iarchive::load_override(t, version);
-        }
-        else
-        if(boost::archive::library_version_type(6) < lvt){
-            uint_least16_t x=0;
-            * this->This() >> x;
-            t = boost::serialization::item_version_type(x);
-        }
-        else{
-            unsigned int x=0;
-            * this->This() >> x;
-            t = boost::serialization::item_version_type(x);
-        }
-    }
-
-    void load_override(serialization::collection_size_type & t, int version){
-        if(boost::archive::library_version_type(5) < this->get_library_version()){
-            this->detail_common_iarchive::load_override(t, version);
-        }
-        else{
-            unsigned int x=0;
-            * this->This() >> x;
-            t = serialization::collection_size_type(x);
-        } 
-    }
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load_override(class_name_type & t, int);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    init();
-   
-    basic_binary_iarchive(unsigned int flags) :
-        detail::common_iarchive<Archive>(flags)
-    {}
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_BASIC_BINARY_IARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/basic_binary_iprimitive.hpp b/SRC/Boost/boost/archive/basic_binary_iprimitive.hpp
deleted file mode 100755
index b3b4901..0000000
--- a/SRC/Boost/boost/archive/basic_binary_iprimitive.hpp
+++ /dev/null
@@ -1,190 +0,0 @@
-#ifndef BOOST_ARCHIVE_BINARY_IPRIMITIVE_HPP
-#define BOOST_ARCHIVE_BINARY_IPRIMITIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#if defined(_MSC_VER)
-#pragma warning( disable : 4800 )
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_binary_iprimitive.hpp
-//
-// archives stored as native binary - this should be the fastest way
-// to archive the state of a group of obects.  It makes no attempt to
-// convert to any canonical form.
-
-// IN GENERAL, ARCHIVES CREATED WITH THIS CLASS WILL NOT BE READABLE
-// ON PLATFORM APART FROM THE ONE THEY ARE CREATED ON
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <iosfwd>
-#include <boost/assert.hpp>
-#include <locale>
-#include <cstring> // std::memcpy
-#include <cstddef> // std::size_t
-#include <streambuf> // basic_streambuf
-#include <string>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::memcpy; 
-    using ::size_t;
-} // namespace std
-#endif
-
-#include <boost/cstdint.hpp>
-#include <boost/scoped_ptr.hpp>
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/integer.hpp>
-#include <boost/integer_traits.hpp>
-
-#include <boost/archive/basic_streambuf_locale_saver.hpp>
-#include <boost/archive/archive_exception.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/serialization/is_bitwise_serializable.hpp>
-#include <boost/serialization/array.hpp>
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost { 
-namespace archive {
-
-/////////////////////////////////////////////////////////////////////////////
-// class binary_iarchive - read serialized objects from a input binary stream
-template<class Archive, class Elem, class Tr>
-class basic_binary_iprimitive
-{
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-    friend class load_access;
-protected:
-#else
-public:
-#endif
-    std::basic_streambuf<Elem, Tr> & m_sb;
-    // return a pointer to the most derived class
-    Archive * This(){
-        return static_cast<Archive *>(this);
-    }
-
-    #ifndef BOOST_NO_STD_LOCALE
-    boost::scoped_ptr<std::locale> archive_locale;
-    basic_streambuf_locale_saver<Elem, Tr> locale_saver;
-    #endif
-
-    // main template for serilization of primitive types
-    template<class T>
-    void load(T & t){
-        load_binary(& t, sizeof(T));
-    }
-
-    /////////////////////////////////////////////////////////
-    // fundamental types that need special treatment
-    
-    // trap usage of invalid uninitialized boolean 
-    void load(bool & t){
-        load_binary(& t, sizeof(t));
-        int i = t;
-        BOOST_ASSERT(0 == i || 1 == i);
-        (void)i; // warning suppression for release builds.
-    }
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load(std::string &s);
-    #ifndef BOOST_NO_STD_WSTRING
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load(std::wstring &ws);
-    #endif
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load(char * t);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load(wchar_t * t);
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    init();
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    basic_binary_iprimitive(
-        std::basic_streambuf<Elem, Tr> & sb, 
-        bool no_codecvt
-    );
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    ~basic_binary_iprimitive();
-public:
-    // we provide an optimized load for all fundamental types
-    // typedef serialization::is_bitwise_serializable<mpl::_1> 
-    // use_array_optimization;
-    struct use_array_optimization {  
-        template <class T>  
-        #if defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)  
-            struct apply {  
-                typedef BOOST_DEDUCED_TYPENAME boost::serialization::is_bitwise_serializable< T >::type type;  
-            };
-        #else
-            struct apply : public boost::serialization::is_bitwise_serializable< T > {};  
-        #endif
-    };
-
-    // the optimized load_array dispatches to load_binary 
-    template <class ValueType>
-    void load_array(serialization::array<ValueType>& a, unsigned int)
-    {
-      load_binary(a.address(),a.count()*sizeof(ValueType));
-    }
-
-    void
-    load_binary(void *address, std::size_t count);
-};
-
-template<class Archive, class Elem, class Tr>
-inline void
-basic_binary_iprimitive<Archive, Elem, Tr>::load_binary(
-    void *address, 
-    std::size_t count
-){
-    // note: an optimizer should eliminate the following for char files
-    BOOST_ASSERT(
-        static_cast<std::streamsize>(count / sizeof(Elem)) 
-        <= boost::integer_traits<std::streamsize>::const_max
-    );
-    std::streamsize s = static_cast<std::streamsize>(count / sizeof(Elem));
-    std::streamsize scount = m_sb.sgetn(
-        static_cast<Elem *>(address), 
-        s
-    );
-    if(scount != s)
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::input_stream_error)
-        );
-    // note: an optimizer should eliminate the following for char files
-    BOOST_ASSERT(count % sizeof(Elem) <= boost::integer_traits<std::streamsize>::const_max);
-    s = static_cast<std::streamsize>(count % sizeof(Elem));
-    if(0 < s){
-//        if(is.fail())
-//            boost::serialization::throw_exception(
-//                archive_exception(archive_exception::stream_error)
-//        );
-        Elem t;
-        scount = m_sb.sgetn(& t, 1);
-        if(scount != 1)
-            boost::serialization::throw_exception(
-                archive_exception(archive_exception::input_stream_error)
-            );
-        std::memcpy(static_cast<char*>(address) + (count - s), &t, s);
-    }
-}
-
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pop pragmas
-
-#endif // BOOST_ARCHIVE_BINARY_IPRIMITIVE_HPP
diff --git a/SRC/Boost/boost/archive/basic_binary_oarchive.hpp b/SRC/Boost/boost/archive/basic_binary_oarchive.hpp
deleted file mode 100755
index 74ca7b4..0000000
--- a/SRC/Boost/boost/archive/basic_binary_oarchive.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_BINARY_OARCHIVE_HPP
-#define BOOST_ARCHIVE_BASIC_BINARY_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_binary_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// archives stored as native binary - this should be the fastest way
-// to archive the state of a group of obects.  It makes no attempt to
-// convert to any canonical form.
-
-// IN GENERAL, ARCHIVES CREATED WITH THIS CLASS WILL NOT BE READABLE
-// ON PLATFORM APART FROM THE ONE THEY ARE CREATE ON
-
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/integer.hpp>
-#include <boost/integer_traits.hpp>
-
-#include <boost/archive/detail/common_oarchive.hpp>
-#include <boost/serialization/string.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace archive {
-
-//////////////////////////////////////////////////////////////////////
-// class basic_binary_oarchive - write serialized objects to a binary output stream
-// note: this archive has no pretensions to portability.  Archive format
-// may vary across machine architectures and compilers.  About the only
-// guarentee is that an archive created with this code will be readable
-// by a program built with the same tools for the same machne.  This class
-// does have the virtue of buiding the smalles archive in the minimum amount
-// of time.  So under some circumstances it may be he right choice.
-template<class Archive>
-class basic_binary_oarchive : 
-    public archive::detail::common_oarchive<Archive>
-{
-protected:
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-public:
-#elif defined(BOOST_MSVC)
-    // for some inexplicable reason insertion of "class" generates compile erro
-    // on msvc 7.1
-    friend detail::interface_oarchive<Archive>;
-#else
-    friend class detail::interface_oarchive<Archive>;
-#endif
-    // any datatype not specifed below will be handled by base class
-    typedef detail::common_oarchive<Archive> detail_common_oarchive;
-    template<class T>
-    void save_override(const T & t, BOOST_PFTO int version){
-      this->detail_common_oarchive::save_override(t, static_cast<int>(version));
-    }
-
-    // include these to trap a change in binary format which
-    // isn't specifically handled
-    BOOST_STATIC_ASSERT(sizeof(tracking_type) == sizeof(bool));
-    // upto 32K classes
-    BOOST_STATIC_ASSERT(sizeof(class_id_type) == sizeof(int_least16_t));
-    BOOST_STATIC_ASSERT(sizeof(class_id_reference_type) == sizeof(int_least16_t));
-    // upto 2G objects
-    BOOST_STATIC_ASSERT(sizeof(object_id_type) == sizeof(uint_least32_t));
-    BOOST_STATIC_ASSERT(sizeof(object_reference_type) == sizeof(uint_least32_t));
-
-    // binary files don't include the optional information 
-    void save_override(const class_id_optional_type & /* t */, int){}
-
-    // enable this if we decide to support generation of previous versions
-    #if 0
-    void save_override(const boost::archive::version_type & t, int version){
-        library_version_type lvt = this->get_library_version();
-        if(boost::archive::library_version_type(7) < lvt){
-            this->detail_common_oarchive::save_override(t, version);
-        }
-        else
-        if(boost::archive::library_version_type(6) < lvt){
-            const boost::uint_least16_t x = t;
-            * this->This() << x;
-        }
-        else{
-            const unsigned int x = t;
-            * this->This() << x;
-        }
-    }
-    void save_override(const boost::serialization::item_version_type & t, int version){
-        library_version_type lvt = this->get_library_version();
-        if(boost::archive::library_version_type(7) < lvt){
-            this->detail_common_oarchive::save_override(t, version);
-        }
-        else
-        if(boost::archive::library_version_type(6) < lvt){
-            const boost::uint_least16_t x = t;
-            * this->This() << x;
-        }
-        else{
-            const unsigned int x = t;
-            * this->This() << x;
-        }
-    }
-
-    void save_override(class_id_type & t, int version){
-        library_version_type lvt = this->get_library_version();
-        if(boost::archive::library_version_type(7) < lvt){
-            this->detail_common_oarchive::save_override(t, version);
-        }
-        else
-        if(boost::archive::library_version_type(6) < lvt){
-            const boost::int_least16_t x = t;
-            * this->This() << x;
-        }
-        else{
-            const int x = t;
-            * this->This() << x;
-        }
-    }
-    void save_override(class_id_reference_type & t, int version){
-        save_override(static_cast<class_id_type &>(t), version);
-    }
-
-    #endif
-
-    // explicitly convert to char * to avoid compile ambiguities
-    void save_override(const class_name_type & t, int){
-        const std::string s(t);
-        * this->This() << s;
-    }
-
-    #if 0
-    void save_override(const serialization::collection_size_type & t, int){
-        if (get_library_version() < boost::archive::library_version_type(6)){
-            unsigned int x=0;
-            * this->This() >> x;
-            t = serialization::collection_size_type(x);
-        } 
-        else{
-            * this->This() >> t;
-        }
-    }
-    #endif
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    init();
-
-    basic_binary_oarchive(unsigned int flags) :
-        detail::common_oarchive<Archive>(flags)
-    {}
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_BASIC_BINARY_OARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/basic_binary_oprimitive.hpp b/SRC/Boost/boost/archive/basic_binary_oprimitive.hpp
deleted file mode 100755
index 1b2b65f..0000000
--- a/SRC/Boost/boost/archive/basic_binary_oprimitive.hpp
+++ /dev/null
@@ -1,184 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_BINARY_OPRIMITIVE_HPP
-#define BOOST_ARCHIVE_BASIC_BINARY_OPRIMITIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_binary_oprimitive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// archives stored as native binary - this should be the fastest way
-// to archive the state of a group of obects.  It makes no attempt to
-// convert to any canonical form.
-
-// IN GENERAL, ARCHIVES CREATED WITH THIS CLASS WILL NOT BE READABLE
-// ON PLATFORM APART FROM THE ONE THEY ARE CREATE ON
-
-#include <iosfwd>
-#include <boost/assert.hpp>
-#include <locale>
-#include <streambuf> // basic_streambuf
-#include <string>
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/cstdint.hpp>
-#include <boost/integer.hpp>
-#include <boost/integer_traits.hpp>
-#include <boost/scoped_ptr.hpp>
-#include <boost/serialization/throw_exception.hpp>
-
-#include <boost/archive/basic_streambuf_locale_saver.hpp>
-#include <boost/archive/archive_exception.hpp>
-#include <boost/serialization/is_bitwise_serializable.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/serialization/array.hpp>
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-namespace archive {
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_binary_oprimitive - binary output of prmitives
-
-template<class Archive, class Elem, class Tr>
-class basic_binary_oprimitive
-{
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-    friend class save_access;
-protected:
-#else
-public:
-#endif
-    std::basic_streambuf<Elem, Tr> & m_sb;
-    // return a pointer to the most derived class
-    Archive * This(){
-        return static_cast<Archive *>(this);
-    }
-    #ifndef BOOST_NO_STD_LOCALE
-    boost::scoped_ptr<std::locale> archive_locale;
-    basic_streambuf_locale_saver<Elem, Tr> locale_saver;
-    #endif
-    // default saving of primitives.
-    template<class T>
-    void save(const T & t)
-    {
-        save_binary(& t, sizeof(T));
-    }
-
-    /////////////////////////////////////////////////////////
-    // fundamental types that need special treatment
-    
-    // trap usage of invalid uninitialized boolean which would
-    // otherwise crash on load.
-    void save(const bool t){
-        BOOST_ASSERT(0 == static_cast<int>(t) || 1 == static_cast<int>(t));
-        save_binary(& t, sizeof(t));
-    }
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save(const std::string &s);
-    #ifndef BOOST_NO_STD_WSTRING
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save(const std::wstring &ws);
-    #endif
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save(const char * t);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save(const wchar_t * t);
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    init();
-    
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    basic_binary_oprimitive(
-        std::basic_streambuf<Elem, Tr> & sb, 
-        bool no_codecvt
-    );
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    ~basic_binary_oprimitive();
-public:
-
-    // we provide an optimized save for all fundamental types
-    // typedef serialization::is_bitwise_serializable<mpl::_1> 
-    // use_array_optimization;
-    // workaround without using mpl lambdas
-    struct use_array_optimization {
-        template <class T>  
-        #if defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)  
-            struct apply {  
-                typedef BOOST_DEDUCED_TYPENAME boost::serialization::is_bitwise_serializable< T >::type type;  
-            };
-        #else
-            struct apply : public boost::serialization::is_bitwise_serializable< T > {};  
-        #endif
-    };
-    
-
-    // the optimized save_array dispatches to save_binary 
-    template <class ValueType>
-    void save_array(boost::serialization::array<ValueType> const& a, unsigned int)
-    {
-      save_binary(a.address(),a.count()*sizeof(ValueType));
-    }
-
-    void save_binary(const void *address, std::size_t count);
-};
-
-template<class Archive, class Elem, class Tr>
-inline void 
-basic_binary_oprimitive<Archive, Elem, Tr>::save_binary(
-    const void *address, 
-    std::size_t count
-){
-    //BOOST_ASSERT(
-    //    static_cast<std::size_t>((std::numeric_limits<std::streamsize>::max)()) >= count
-    //);
-    // note: if the following assertions fail
-    // a likely cause is that the output stream is set to "text"
-    // mode where by cr characters recieve special treatment.
-    // be sure that the output stream is opened with ios::binary
-    //if(os.fail())
-    //    boost::serialization::throw_exception(
-    //        archive_exception(archive_exception::output_stream_error)
-    //    );
-    // figure number of elements to output - round up
-    count = ( count + sizeof(Elem) - 1) 
-        / sizeof(Elem);
-    BOOST_ASSERT(count <= std::size_t(boost::integer_traits<std::streamsize>::const_max));
-    std::streamsize scount = m_sb.sputn(
-        static_cast<const Elem *>(address), 
-        static_cast<std::streamsize>(count)
-    );
-    if(count != static_cast<std::size_t>(scount))
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::output_stream_error)
-        );
-    //os.write(
-    //    static_cast<const BOOST_DEDUCED_TYPENAME OStream::char_type *>(address), 
-    //    count
-    //);
-    //BOOST_ASSERT(os.good());
-}
-
-} //namespace boost 
-} //namespace archive 
-
-#include <boost/archive/detail/abi_suffix.hpp> // pop pragmas
-
-#endif // BOOST_ARCHIVE_BASIC_BINARY_OPRIMITIVE_HPP
diff --git a/SRC/Boost/boost/archive/basic_text_iarchive.hpp b/SRC/Boost/boost/archive/basic_text_iarchive.hpp
deleted file mode 100755
index 7405e49..0000000
--- a/SRC/Boost/boost/archive/basic_text_iarchive.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_TEXT_IARCHIVE_HPP
-#define BOOST_ARCHIVE_BASIC_TEXT_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_text_iarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// archives stored as text - note these ar templated on the basic
-// stream templates to accommodate wide (and other?) kind of characters
-//
-// note the fact that on libraries without wide characters, ostream is
-// is not a specialization of basic_ostream which in fact is not defined
-// in such cases.   So we can't use basic_ostream<IStream::char_type> but rather
-// use two template parameters
-
-#include <boost/config.hpp>
-#include <boost/serialization/pfto.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/archive/detail/common_iarchive.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace archive {
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_text_iarchive - read serialized objects from a input text stream
-template<class Archive>
-class basic_text_iarchive : 
-    public detail::common_iarchive<Archive>
-{
-protected:
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-public:
-#elif defined(BOOST_MSVC)
-    // for some inexplicable reason insertion of "class" generates compile erro
-    // on msvc 7.1
-    friend detail::interface_iarchive<Archive>;
-#else
-    friend class detail::interface_iarchive<Archive>;
-#endif
-    // intermediate level to support override of operators
-    // fot templates in the absence of partial function 
-    // template ordering
-    typedef detail::common_iarchive<Archive> detail_common_iarchive;
-    template<class T>
-    void load_override(T & t, BOOST_PFTO int){
-        this->detail_common_iarchive::load_override(t, 0);
-    }
-    // text file don't include the optional information 
-    void load_override(class_id_optional_type & /*t*/, int){}
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load_override(class_name_type & t, int);
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    init(void);
-
-    basic_text_iarchive(unsigned int flags) : 
-        detail::common_iarchive<Archive>(flags)
-    {}
-    ~basic_text_iarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_BASIC_TEXT_IARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/basic_text_iprimitive.hpp b/SRC/Boost/boost/archive/basic_text_iprimitive.hpp
deleted file mode 100755
index 449025b..0000000
--- a/SRC/Boost/boost/archive/basic_text_iprimitive.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_TEXT_IPRIMITIVE_HPP
-#define BOOST_ARCHIVE_BASIC_TEXT_IPRIMITIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_text_iprimitive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// archives stored as text - note these are templated on the basic
-// stream templates to accommodate wide (and other?) kind of characters
-//
-// Note the fact that on libraries without wide characters, ostream is
-// not a specialization of basic_ostream which in fact is not defined
-// in such cases.   So we can't use basic_ostream<IStream::char_type> but rather
-// use two template parameters
-
-#include <boost/assert.hpp>
-#include <locale>
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-    #if ! defined(BOOST_DINKUMWARE_STDLIB) && ! defined(__SGI_STL_PORT)
-        using ::locale;
-    #endif
-} // namespace std
-#endif
-
-#include <boost/detail/workaround.hpp>
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-#include <boost/archive/dinkumware.hpp>
-#endif
-
-#include <boost/limits.hpp>
-#include <boost/io/ios_state.hpp>
-#include <boost/scoped_ptr.hpp>
-#include <boost/static_assert.hpp>
-
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/archive/archive_exception.hpp>
-#include <boost/archive/basic_streambuf_locale_saver.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-namespace archive {
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_text_iarchive - load serialized objects from a input text stream
-#if defined(_MSC_VER)
-#pragma warning( push )
-#pragma warning( disable : 4244 4267 )
-#endif
-
-template<class IStream>
-class basic_text_iprimitive
-{
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-protected:
-#else
-public:
-#endif
-    IStream &is;
-    io::ios_flags_saver flags_saver;
-    io::ios_precision_saver precision_saver;
-
-    #ifndef BOOST_NO_STD_LOCALE
-    boost::scoped_ptr<std::locale> archive_locale;
-    basic_streambuf_locale_saver<
-        BOOST_DEDUCED_TYPENAME IStream::char_type, 
-        BOOST_DEDUCED_TYPENAME IStream::traits_type
-    > locale_saver;
-    #endif
-
-    template<class T>
-    void load(T & t)
-    {
-        if(! is.fail()){
-            is >> t;
-            return;
-        }
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::input_stream_error)
-        );
-    }
-
-    void load(char & t)
-    {
-        short int i;
-        load(i);
-        t = i;
-    }
-    void load(signed char & t)
-    {
-        short int i;
-        load(i);
-        t = i;
-    }
-    void load(unsigned char & t)
-    {
-        unsigned short int i;
-        load(i);
-        t = i;
-    }
-
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    void load(wchar_t & t)
-    {
-        BOOST_STATIC_ASSERT(sizeof(wchar_t) <= sizeof(int));
-        int i;
-        load(i);
-        t = i;
-    }
-    #endif
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    basic_text_iprimitive(IStream  &is, bool no_codecvt);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    ~basic_text_iprimitive();
-public:
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load_binary(void *address, std::size_t count);
-};
-
-#if defined(_MSC_VER)
-#pragma warning( pop )
-#endif
-
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pop pragmas
-
-#endif // BOOST_ARCHIVE_BASIC_TEXT_IPRIMITIVE_HPP
diff --git a/SRC/Boost/boost/archive/basic_text_oarchive.hpp b/SRC/Boost/boost/archive/basic_text_oarchive.hpp
deleted file mode 100755
index 692ffc3..0000000
--- a/SRC/Boost/boost/archive/basic_text_oarchive.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_TEXT_OARCHIVE_HPP
-#define BOOST_ARCHIVE_BASIC_TEXT_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_text_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// archives stored as text - note these ar templated on the basic
-// stream templates to accommodate wide (and other?) kind of characters
-//
-// note the fact that on libraries without wide characters, ostream is
-// is not a specialization of basic_ostream which in fact is not defined
-// in such cases.   So we can't use basic_ostream<OStream::char_type> but rather
-// use two template parameters
-
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/serialization/pfto.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/archive/detail/common_oarchive.hpp>
-#include <boost/serialization/string.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace archive {
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_text_oarchive 
-template<class Archive>
-class basic_text_oarchive : 
-    public detail::common_oarchive<Archive>
-{
-protected:
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-|| BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x560))
-public:
-#elif defined(BOOST_MSVC)
-    // for some inexplicable reason insertion of "class" generates compile erro
-    // on msvc 7.1
-    friend detail::interface_oarchive<Archive>;
-#else
-    friend class detail::interface_oarchive<Archive>;
-#endif
-    enum {
-        none,
-        eol,
-        space
-    } delimiter;
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    newtoken();
-
-    void newline(){
-        delimiter = eol;
-    }
-
-    // default processing - kick back to base class.  Note the
-    // extra stuff to get it passed borland compilers
-    typedef detail::common_oarchive<Archive> detail_common_oarchive;
-    template<class T>
-    void save_override(T & t, BOOST_PFTO int){
-        this->detail_common_oarchive::save_override(t, 0);
-    }
-
-    // start new objects on a new line
-    void save_override(const object_id_type & t, int){
-        this->This()->newline();
-        this->detail_common_oarchive::save_override(t, 0);
-    }
-
-    // text file don't include the optional information 
-    void save_override(const class_id_optional_type & /* t */, int){}
-
-    void save_override(const class_name_type & t, int){
-        const std::string s(t);
-        * this->This() << s;
-    }
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    init();
-
-    basic_text_oarchive(unsigned int flags) :
-        detail::common_oarchive<Archive>(flags),
-        delimiter(none)
-    {}
-    ~basic_text_oarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_BASIC_TEXT_OARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/basic_text_oprimitive.hpp b/SRC/Boost/boost/archive/basic_text_oprimitive.hpp
deleted file mode 100755
index 51cde1a..0000000
--- a/SRC/Boost/boost/archive/basic_text_oprimitive.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_TEXT_OPRIMITIVE_HPP
-#define BOOST_ARCHIVE_BASIC_TEXT_OPRIMITIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_text_oprimitive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// archives stored as text - note these ar templated on the basic
-// stream templates to accommodate wide (and other?) kind of characters
-//
-// note the fact that on libraries without wide characters, ostream is
-// is not a specialization of basic_ostream which in fact is not defined
-// in such cases.   So we can't use basic_ostream<OStream::char_type> but rather
-// use two template parameters
-
-#include <iomanip>
-#include <locale>
-#include <boost/config/no_tr1/cmath.hpp> // isnan
-#include <boost/assert.hpp>
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/detail/workaround.hpp>
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-#include <boost/archive/dinkumware.hpp>
-#endif
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t;
-    #if ! defined(BOOST_DINKUMWARE_STDLIB) && ! defined(__SGI_STL_PORT)
-        using ::locale;
-    #endif
-} // namespace std
-#endif
-
-#include <boost/limits.hpp>
-#include <boost/integer.hpp>
-#include <boost/io/ios_state.hpp>
-#include <boost/scoped_ptr.hpp>
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/archive/archive_exception.hpp>
-#include <boost/archive/basic_streambuf_locale_saver.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-namespace archive {
-
-class save_access;
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_text_oprimitive - output of prmitives to stream
-template<class OStream>
-class basic_text_oprimitive
-{
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-protected:
-#else
-public:
-#endif
-    OStream &os;
-    io::ios_flags_saver flags_saver;
-    io::ios_precision_saver precision_saver;
-
-    #ifndef BOOST_NO_STD_LOCALE
-    boost::scoped_ptr<std::locale> archive_locale;
-    basic_streambuf_locale_saver<
-        BOOST_DEDUCED_TYPENAME OStream::char_type, 
-        BOOST_DEDUCED_TYPENAME OStream::traits_type
-    > locale_saver;
-    #endif
-
-    // default saving of primitives.
-    template<class T>
-    void save(const T &t){
-        if(os.fail())
-            boost::serialization::throw_exception(
-                archive_exception(archive_exception::output_stream_error)
-            );
-        os << t;
-    }
-
-    /////////////////////////////////////////////////////////
-    // fundamental types that need special treatment
-    void save(const bool t){
-        // trap usage of invalid uninitialized boolean which would
-        // otherwise crash on load.
-        BOOST_ASSERT(0 == static_cast<int>(t) || 1 == static_cast<int>(t));
-        if(os.fail())
-            boost::serialization::throw_exception(
-                archive_exception(archive_exception::output_stream_error)
-            );
-        os << t;
-    }
-    void save(const signed char t)
-    {
-        save(static_cast<short int>(t));
-    }
-    void save(const unsigned char t)
-    {
-        save(static_cast<short unsigned int>(t));
-    }
-    void save(const char t)
-    {
-        save(static_cast<short int>(t));
-    }
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    void save(const wchar_t t)
-    {
-        BOOST_STATIC_ASSERT(sizeof(wchar_t) <= sizeof(int));
-        save(static_cast<int>(t));
-    }
-    #endif
-    void save(const float t)
-    {
-        // must be a user mistake - can't serialize un-initialized data
-        if(os.fail())
-            boost::serialization::throw_exception(
-                archive_exception(archive_exception::output_stream_error)
-            );
-        os << std::setprecision(std::numeric_limits<float>::digits10 + 2);
-        os << t;
-    }
-    void save(const double t)
-    {
-        // must be a user mistake - can't serialize un-initialized data
-        if(os.fail())
-            boost::serialization::throw_exception(
-                archive_exception(archive_exception::output_stream_error)
-            );
-        os << std::setprecision(std::numeric_limits<double>::digits10 + 2);
-        os << t;
-    }
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-    basic_text_oprimitive(OStream & os, bool no_codecvt);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    ~basic_text_oprimitive();
-public:
-    // unformatted append of one character
-    void put(BOOST_DEDUCED_TYPENAME OStream::char_type c){
-        if(os.fail())
-            boost::serialization::throw_exception(
-                archive_exception(archive_exception::output_stream_error)
-            );
-        os.put(c);
-    }
-    // unformatted append of null terminated string
-    void put(const char * s){
-        while('\0' != *s)
-            os.put(*s++);
-    }
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) 
-    save_binary(const void *address, std::size_t count);
-};
-
-} //namespace boost 
-} //namespace archive 
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_BASIC_TEXT_OPRIMITIVE_HPP
diff --git a/SRC/Boost/boost/archive/basic_xml_archive.hpp b/SRC/Boost/boost/archive/basic_xml_archive.hpp
deleted file mode 100755
index 8b8bd91..0000000
--- a/SRC/Boost/boost/archive/basic_xml_archive.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_XML_TEXT_ARCHIVE_HPP
-#define BOOST_ARCHIVE_BASIC_XML_TEXT_ARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_xml_archive.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/archive/archive_exception.hpp>
-
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost { 
-namespace archive {
-
-// constant strings used in xml i/o
-
-extern 
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_OBJECT_ID();
-
-extern 
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_OBJECT_REFERENCE();
-
-extern 
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_CLASS_ID();
-
-extern 
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_CLASS_ID_REFERENCE();
-
-extern 
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_CLASS_NAME();
-
-extern 
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_TRACKING();
-
-extern 
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_VERSION();
-
-extern 
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_SIGNATURE();
-
-}// namespace archive
-}// namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_BASIC_XML_TEXT_ARCHIVE_HPP
-
diff --git a/SRC/Boost/boost/archive/basic_xml_iarchive.hpp b/SRC/Boost/boost/archive/basic_xml_iarchive.hpp
deleted file mode 100755
index 89bd3f3..0000000
--- a/SRC/Boost/boost/archive/basic_xml_iarchive.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_XML_IARCHIVE_HPP
-#define BOOST_ARCHIVE_BASIC_XML_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_xml_iarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/serialization/pfto.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/archive/detail/common_iarchive.hpp>
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/string.hpp>
-
-#include <boost/mpl/assert.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace archive {
-
-/////////////////////////////////////////////////////////////////////////
-// class xml_iarchive - read serialized objects from a input text stream
-template<class Archive>
-class basic_xml_iarchive :
-    public detail::common_iarchive<Archive>
-{
-protected:
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-public:
-#elif defined(BOOST_MSVC)
-    // for some inexplicable reason insertion of "class" generates compile erro
-    // on msvc 7.1
-    friend detail::interface_oarchive<Archive>;
-#else
-    friend class detail::interface_oarchive<Archive>;
-#endif
-    unsigned int depth;
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load_start(const char *name);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load_end(const char *name);
-
-    // Anything not an attribute and not a name-value pair is an
-    // should be trapped here.
-    template<class T>
-    void load_override(T & t,  BOOST_PFTO int)
-    {
-        // If your program fails to compile here, its most likely due to
-        // not specifying an nvp wrapper around the variable to
-        // be serialized.
-        BOOST_MPL_ASSERT((serialization::is_wrapper< T >));
-        this->detail_common_iarchive::load_override(t, 0);
-    }
-
-    // Anything not an attribute - see below - should be a name value
-    // pair and be processed here
-    typedef detail::common_iarchive<Archive> detail_common_iarchive;
-    template<class T>
-    void load_override(
-        #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-        const
-        #endif
-        boost::serialization::nvp< T > & t,
-        int
-    ){
-        this->This()->load_start(t.name());
-        this->detail_common_iarchive::load_override(t.value(), 0);
-        this->This()->load_end(t.name());
-    }
-
-    // specific overrides for attributes - handle as
-    // primitives. These are not name-value pairs
-    // so they have to be intercepted here and passed on to load.
-    // although the class_id is included in the xml text file in order
-    // to make the file self describing, it isn't used when loading
-    // an xml archive.  So we can skip it here.  Note: we MUST override
-    // it otherwise it will be loaded as a normal primitive w/o tag and
-    // leaving the archive in an undetermined state
-    void load_override(class_id_optional_type & /* t */, int){}
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load_override(object_id_type & t, int);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load_override(version_type & t, int);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load_override(class_id_type & t, int);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    load_override(tracking_type & t, int);
-    // class_name_type can't be handled here as it depends upon the
-    // char type used by the stream.  So require the derived implementation
-    // handle this.
-    // void load_override(class_name_type & t, int);
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-    basic_xml_iarchive(unsigned int flags);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-    ~basic_xml_iarchive();
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_BASIC_XML_IARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/basic_xml_oarchive.hpp b/SRC/Boost/boost/archive/basic_xml_oarchive.hpp
deleted file mode 100755
index 258d312..0000000
--- a/SRC/Boost/boost/archive/basic_xml_oarchive.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_XML_OARCHIVE_HPP
-#define BOOST_ARCHIVE_BASIC_XML_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_xml_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-
-#include <boost/archive/detail/common_oarchive.hpp>
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/string.hpp>
-
-#include <boost/mpl/assert.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace archive {
-
-//////////////////////////////////////////////////////////////////////
-// class basic_xml_oarchive - write serialized objects to a xml output stream
-template<class Archive>
-class basic_xml_oarchive :
-    public detail::common_oarchive<Archive>
-{
-protected:
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-public:
-#elif defined(BOOST_MSVC)
-    // for some inexplicable reason insertion of "class" generates compile erro
-    // on msvc 7.1
-    friend detail::interface_oarchive<Archive>;
-    friend class save_access;
-#else
-    friend class detail::interface_oarchive<Archive>;
-    friend class save_access;
-#endif
-    // special stuff for xml output
-    unsigned int depth;
-    bool indent_next;
-    bool pending_preamble;
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    indent();
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    init();
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    write_attribute(
-        const char *attribute_name,
-        int t,
-        const char *conjunction = "=\""
-    );
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    write_attribute(
-        const char *attribute_name,
-        const char *key
-    );
-    // helpers used below
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save_start(const char *name);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save_end(const char *name);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    end_preamble();
-
-    // Anything not an attribute and not a name-value pair is an
-    // error and should be trapped here.
-    template<class T>
-    void save_override(T & t, BOOST_PFTO int)
-    {
-        // If your program fails to compile here, its most likely due to
-        // not specifying an nvp wrapper around the variable to
-        // be serialized.
-        BOOST_MPL_ASSERT((serialization::is_wrapper< T >));
-        this->detail_common_oarchive::save_override(t, 0);
-    }
-
-    // special treatment for name-value pairs.
-    typedef detail::common_oarchive<Archive> detail_common_oarchive;
-    template<class T>
-    void save_override(
-        #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-        const
-        #endif
-        ::boost::serialization::nvp< T > & t,
-        int
-    ){
-        this->This()->save_start(t.name());
-        this->detail_common_oarchive::save_override(t.const_value(), 0);
-        this->This()->save_end(t.name());
-    }
-
-    // specific overrides for attributes - not name value pairs so we
-    // want to trap them before the above "fall through"
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save_override(const object_id_type & t, int);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save_override(const object_reference_type & t, int);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save_override(const version_type & t, int);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save_override(const class_id_type & t, int);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save_override(const class_id_optional_type & t, int);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save_override(const class_id_reference_type & t, int);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save_override(const class_name_type & t, int);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-    save_override(const tracking_type & t, int);
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-    basic_xml_oarchive(unsigned int flags);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-    ~basic_xml_oarchive();
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_BASIC_XML_OARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/binary_iarchive.hpp b/SRC/Boost/boost/archive/binary_iarchive.hpp
deleted file mode 100755
index 6ee28f1..0000000
--- a/SRC/Boost/boost/archive/binary_iarchive.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef BOOST_ARCHIVE_BINARY_IARCHIVE_HPP
-#define BOOST_ARCHIVE_BINARY_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_iarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <istream>
-#include <boost/archive/binary_iarchive_impl.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-// do not derive from the classes below.  If you want to extend this functionality
-// via inhertance, derived from text_iarchive_impl instead.  This will
-// preserve correct static polymorphism.
-
-// same as binary_iarchive below - without the shared_ptr_helper
-class naked_binary_iarchive : 
-    public binary_iarchive_impl<
-        boost::archive::naked_binary_iarchive, 
-        std::istream::char_type, 
-        std::istream::traits_type
-    >
-{
-public:
-    naked_binary_iarchive(std::istream & is, unsigned int flags = 0) :
-        binary_iarchive_impl<
-            naked_binary_iarchive, std::istream::char_type, std::istream::traits_type
-        >(is, flags)
-    {}
-    naked_binary_iarchive(std::streambuf & bsb, unsigned int flags = 0) :
-        binary_iarchive_impl<
-            naked_binary_iarchive, std::istream::char_type, std::istream::traits_type
-        >(bsb, flags)
-    {}
-};
-
-} // namespace archive
-} // namespace boost
-
-// note special treatment of shared_ptr. This type needs a special
-// structure associated with every archive.  We created a "mix-in"
-// class to provide this functionality.  Since shared_ptr holds a
-// special esteem in the boost library - we included it here by default.
-#include <boost/archive/shared_ptr_helper.hpp>
-
-namespace boost { 
-namespace archive {
-
-// do not derive from this class.  If you want to extend this functionality
-// via inhertance, derived from binary_iarchive_impl instead.  This will
-// preserve correct static polymorphism.
-class binary_iarchive : 
-    public binary_iarchive_impl<
-        boost::archive::binary_iarchive, 
-        std::istream::char_type, 
-        std::istream::traits_type
-    >,
-    public detail::shared_ptr_helper
-{
-public:
-    binary_iarchive(std::istream & is, unsigned int flags = 0) :
-        binary_iarchive_impl<
-            binary_iarchive, std::istream::char_type, std::istream::traits_type
-        >(is, flags)
-    {}
-    binary_iarchive(std::streambuf & bsb, unsigned int flags = 0) :
-        binary_iarchive_impl<
-            binary_iarchive, std::istream::char_type, std::istream::traits_type
-        >(bsb, flags)
-    {}
-};
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_iarchive)
-BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(boost::archive::binary_iarchive)
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_ARCHIVE_BINARY_IARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/binary_iarchive_impl.hpp b/SRC/Boost/boost/archive/binary_iarchive_impl.hpp
deleted file mode 100755
index 685fd62..0000000
--- a/SRC/Boost/boost/archive/binary_iarchive_impl.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef BOOST_ARCHIVE_BINARY_IARCHIVE_IMPL_HPP
-#define BOOST_ARCHIVE_BINARY_IARCHIVE_IMPL_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_iarchive_impl.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <istream>
-#include <boost/serialization/pfto.hpp>
-#include <boost/archive/basic_binary_iprimitive.hpp>
-#include <boost/archive/basic_binary_iarchive.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-template<class Archive, class Elem, class Tr>
-class binary_iarchive_impl : 
-    public basic_binary_iprimitive<Archive, Elem, Tr>,
-    public basic_binary_iarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class detail::interface_iarchive<Archive>;
-    friend class basic_binary_iarchive<Archive>;
-    friend class load_access;
-protected:
-#endif
-    // note: the following should not needed - but one compiler (vc 7.1)
-    // fails to compile one test (test_shared_ptr) without it !!!
-    // make this protected so it can be called from a derived archive
-    template<class T>
-    void load_override(T & t, BOOST_PFTO int){
-        this->basic_binary_iarchive<Archive>::load_override(t, 0L);
-    }
-    void init(unsigned int flags){
-        if(0 != (flags & no_header))
-            return;
-        #if ! defined(__MWERKS__)
-            this->basic_binary_iarchive<Archive>::init();
-            this->basic_binary_iprimitive<Archive, Elem, Tr>::init();
-        #else
-            basic_binary_iarchive<Archive>::init();
-            basic_binary_iprimitive<Archive, Elem, Tr>::init();
-        #endif
-    }
-    binary_iarchive_impl(
-        std::basic_streambuf<Elem, Tr> & bsb, 
-        unsigned int flags
-    ) :
-        basic_binary_iprimitive<Archive, Elem, Tr>(
-            bsb, 
-            0 != (flags & no_codecvt)
-        ),
-        basic_binary_iarchive<Archive>(flags)
-    {
-        init(flags);
-    }
-    binary_iarchive_impl(
-        std::basic_istream<Elem, Tr> & is, 
-        unsigned int flags
-    ) :
-        basic_binary_iprimitive<Archive, Elem, Tr>(
-            * is.rdbuf(), 
-            0 != (flags & no_codecvt)
-        ),
-        basic_binary_iarchive<Archive>(flags)
-    {
-        init(flags);
-    }
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_ARCHIVE_BINARY_IARCHIVE_IMPL_HPP
diff --git a/SRC/Boost/boost/archive/binary_oarchive.hpp b/SRC/Boost/boost/archive/binary_oarchive.hpp
deleted file mode 100755
index 88bb1d3..0000000
--- a/SRC/Boost/boost/archive/binary_oarchive.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef BOOST_ARCHIVE_BINARY_OARCHIVE_HPP
-#define BOOST_ARCHIVE_BINARY_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <ostream>
-#include <boost/config.hpp>
-#include <boost/archive/binary_oarchive_impl.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-// do not derive from this class.  If you want to extend this functionality
-// via inhertance, derived from binary_oarchive_impl instead.  This will
-// preserve correct static polymorphism.
-class binary_oarchive : 
-    public binary_oarchive_impl<
-        binary_oarchive, std::ostream::char_type, std::ostream::traits_type
-    >
-{
-public:
-    binary_oarchive(std::ostream & os, unsigned int flags = 0) :
-        binary_oarchive_impl<
-            binary_oarchive, std::ostream::char_type, std::ostream::traits_type
-        >(os, flags)
-    {}
-    binary_oarchive(std::streambuf & bsb, unsigned int flags = 0) :
-        binary_oarchive_impl<
-            binary_oarchive, std::ostream::char_type, std::ostream::traits_type
-        >(bsb, flags)
-    {}
-};
-
-typedef binary_oarchive naked_binary_oarchive;
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_oarchive)
-BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(boost::archive::binary_oarchive)
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_ARCHIVE_BINARY_OARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/binary_oarchive_impl.hpp b/SRC/Boost/boost/archive/binary_oarchive_impl.hpp
deleted file mode 100755
index 5275064..0000000
--- a/SRC/Boost/boost/archive/binary_oarchive_impl.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef BOOST_ARCHIVE_BINARY_OARCHIVE_IMPL_HPP
-#define BOOST_ARCHIVE_BINARY_OARCHIVE_IMPL_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_oarchive_impl.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <ostream>
-#include <boost/config.hpp>
-#include <boost/serialization/pfto.hpp>
-#include <boost/archive/basic_binary_oprimitive.hpp>
-#include <boost/archive/basic_binary_oarchive.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-template<class Archive, class Elem, class Tr>
-class binary_oarchive_impl : 
-    public basic_binary_oprimitive<Archive, Elem, Tr>,
-    public basic_binary_oarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class detail::interface_oarchive<Archive>;
-    friend class basic_binary_oarchive<Archive>;
-    friend class save_access;
-protected:
-#endif
-    // note: the following should not needed - but one compiler (vc 7.1)
-    // fails to compile one test (test_shared_ptr) without it !!!
-    // make this protected so it can be called from a derived archive
-    template<class T>
-    void save_override(T & t, BOOST_PFTO int){
-        this->basic_binary_oarchive<Archive>::save_override(t, 0L);
-    }
-    void init(unsigned int flags) {
-        if(0 != (flags & no_header))
-            return;
-        #if ! defined(__MWERKS__)
-            this->basic_binary_oarchive<Archive>::init();
-            this->basic_binary_oprimitive<Archive, Elem, Tr>::init();
-        #else
-            basic_binary_oarchive<Archive>::init();
-            basic_binary_oprimitive<Archive, Elem, Tr>::init();
-        #endif
-    }
-    binary_oarchive_impl(
-        std::basic_streambuf<Elem, Tr> & bsb, 
-        unsigned int flags
-    ) :
-        basic_binary_oprimitive<Archive, Elem, Tr>(
-            bsb, 
-            0 != (flags & no_codecvt)
-        ),
-        basic_binary_oarchive<Archive>(flags)
-    {
-        init(flags);
-    }
-    binary_oarchive_impl(
-        std::basic_ostream<Elem, Tr> & os, 
-        unsigned int flags
-    ) :
-        basic_binary_oprimitive<Archive, Elem, Tr>(
-            * os.rdbuf(), 
-            0 != (flags & no_codecvt)
-        ),
-        basic_binary_oarchive<Archive>(flags)
-    {
-        init(flags);
-    }
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_ARCHIVE_BINARY_OARCHIVE_IMPL_HPP
diff --git a/SRC/Boost/boost/archive/binary_wiarchive.hpp b/SRC/Boost/boost/archive/binary_wiarchive.hpp
deleted file mode 100755
index 56edf5a..0000000
--- a/SRC/Boost/boost/archive/binary_wiarchive.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef BOOST_ARCHIVE_BINARY_WIARCHIVE_HPP
-#define BOOST_ARCHIVE_BINARY_WIARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_wiarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#include <istream> // wistream
-#include <boost/archive/binary_iarchive_impl.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-
-namespace boost { 
-namespace archive {
-
-// same as binary_wiarchive below - without the shared_ptr_helper
-class naked_binary_wiarchive : 
-    public binary_iarchive_impl<
-        boost::archive::naked_binary_wiarchive, 
-        std::wistream::char_type, 
-        std::wistream::traits_type
-    >
-{
-public:
-    naked_binary_wiarchive(std::wistream & is, unsigned int flags = 0) :
-        binary_iarchive_impl<
-            naked_binary_wiarchive, 
-            std::wistream::char_type, 
-            std::wistream::traits_type
-        >(is, flags)
-    {}
-    naked_binary_wiarchive(std::wstreambuf & bsb, unsigned int flags = 0) :
-        binary_iarchive_impl<
-            naked_binary_wiarchive, 
-            std::wistream::char_type, 
-            std::wistream::traits_type
-        >(bsb, flags)
-    {}
-};
-
-} // namespace archive
-} // namespace boost
-
-// note special treatment of shared_ptr. This type needs a special
-// structure associated with every archive.  We created a "mix-in"
-// class to provide this functionality.  Since shared_ptr holds a
-// special esteem in the boost library - we included it here by default.
-#include <boost/archive/shared_ptr_helper.hpp>
-
-namespace boost { 
-namespace archive {
-
-class binary_wiarchive : 
-    public binary_iarchive_impl<
-        binary_wiarchive, std::wistream::char_type, std::wistream::traits_type
-    >
-{
-public:
-    binary_wiarchive(std::wistream & is, unsigned int flags = 0) :
-        binary_iarchive_impl<
-            binary_wiarchive, std::wistream::char_type, std::wistream::traits_type
-        >(is, flags)
-    {}
-    binary_wiarchive(std::wstreambuf & bsb, unsigned int flags = 0) :
-        binary_iarchive_impl<
-            binary_wiarchive, std::wistream::char_type, std::wistream::traits_type
-        >(bsb, flags)
-    {}
-};
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_wiarchive)
-
-#endif // BOOST_NO_STD_WSTREAMBUF
-#endif // BOOST_ARCHIVE_BINARY_WIARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/binary_woarchive.hpp b/SRC/Boost/boost/archive/binary_woarchive.hpp
deleted file mode 100755
index 14c5b14..0000000
--- a/SRC/Boost/boost/archive/binary_woarchive.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP
-#define BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_woarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#include <ostream>
-#include <boost/archive/binary_oarchive_impl.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-
-namespace boost { 
-namespace archive {
-
-// do not derive from this class.  If you want to extend this functionality
-// via inhertance, derived from binary_oarchive_impl instead.  This will
-// preserve correct static polymorphism.
-class binary_woarchive : 
-    public binary_oarchive_impl<
-            binary_woarchive, std::wostream::char_type, std::wostream::traits_type
-        >
-{
-public:
-    binary_woarchive(std::wostream & os, unsigned int flags = 0) :
-        binary_oarchive_impl<
-            binary_woarchive, std::wostream::char_type, std::wostream::traits_type
-        >(os, flags)
-    {}
-    binary_woarchive(std::wstreambuf & bsb, unsigned int flags = 0) :
-        binary_oarchive_impl<
-            binary_woarchive, std::wostream::char_type, std::wostream::traits_type
-        >(bsb, flags)
-    {}
-};
-
-typedef binary_woarchive naked_binary_woarchive;
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_woarchive)
-
-#endif // BOOST_NO_STD_WSTREAMBUF
-#endif // BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/codecvt_null.hpp b/SRC/Boost/boost/archive/codecvt_null.hpp
deleted file mode 100755
index 12799db..0000000
--- a/SRC/Boost/boost/archive/codecvt_null.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef BOOST_ARCHIVE_CODECVT_NULL_HPP
-#define BOOST_ARCHIVE_CODECVT_NULL_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// codecvt_null.hpp:
-
-// (C) Copyright 2004 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <locale>
-#include <cstddef> // NULL, size_t
-#include <cwchar>   // for mbstate_t
-#include <boost/config.hpp>
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std {
-// For STLport on WinCE, BOOST_NO_STDC_NAMESPACE can get defined if STLport is putting symbols in its own namespace.
-// In the case of codecvt, however, this does not mean that codecvt is in the global namespace (it will be in STLport's namespace)
-#  if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-    using ::codecvt;
-#  endif
-    using ::mbstate_t;
-    using ::size_t;
-} // namespace
-#endif
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace archive {
-
-template<class Ch>
-class codecvt_null;
-
-template<>
-class codecvt_null<char> : public std::codecvt<char, char, std::mbstate_t>
-{
-    virtual bool do_always_noconv() const throw() {
-        return true;
-    }
-public:
-    explicit codecvt_null(std::size_t no_locale_manage = 0) :
-        std::codecvt<char, char, std::mbstate_t>(no_locale_manage)
-    {}
-};
-
-template<>
-class codecvt_null<wchar_t> : public std::codecvt<wchar_t, char, std::mbstate_t>
-{
-    virtual BOOST_WARCHIVE_DECL(std::codecvt_base::result)
-    do_out(
-        std::mbstate_t & state,
-        const wchar_t * first1,
-        const wchar_t * last1,
-        const wchar_t * & next1,
-        char * first2,
-        char * last2,
-        char * & next2
-    ) const;
-    virtual BOOST_WARCHIVE_DECL(std::codecvt_base::result)
-    do_in(
-        std::mbstate_t & state,
-        const char * first1,
-        const char * last1,
-        const char * & next1,
-        wchar_t * first2,
-        wchar_t * last2,
-        wchar_t * & next2
-    ) const;
-    virtual int do_encoding( ) const throw( ){
-        return sizeof(wchar_t) / sizeof(char);
-    }
-    virtual int do_max_length( ) const throw( ){
-        return do_encoding();
-    }
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-#include <boost/archive/detail/abi_suffix.hpp> // pop pragmas
-
-#endif //BOOST_ARCHIVE_CODECVT_NULL_HPP
diff --git a/SRC/Boost/boost/archive/detail/archive_serializer_map.hpp b/SRC/Boost/boost/archive/detail/archive_serializer_map.hpp
deleted file mode 100755
index 5af8255..0000000
--- a/SRC/Boost/boost/archive/detail/archive_serializer_map.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef BOOST_ARCHIVE_SERIALIZER_MAP_HPP
-#define BOOST_ARCHIVE_SERIALIZER_MAP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// archive_serializer_map.hpp: extenstion of type_info required for 
-// serialization.
-
-// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// note: this is nothing more than the thinest of wrappers around
-// basic_serializer_map so we can have a one map / archive type. 
-
-#include <boost/config.hpp>
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-
-namespace archive {
-namespace detail {
-
-class basic_serializer;
-
-template<class Archive>
-class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-archive_serializer_map {
-public:
-    static bool insert(const basic_serializer * bs);
-    static void erase(const basic_serializer * bs);
-    static const basic_serializer * find(
-        const boost::serialization::extended_type_info & type_
-    );
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // must be the last header
-
-#endif //BOOST_ARCHIVE_SERIALIZER_MAP_HPP
diff --git a/SRC/Boost/boost/archive/detail/auto_link_archive.hpp b/SRC/Boost/boost/archive/detail/auto_link_archive.hpp
deleted file mode 100755
index b93b0eb..0000000
--- a/SRC/Boost/boost/archive/detail/auto_link_archive.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_AUTO_LINK_ARCHIVE_HPP
-#define BOOST_ARCHIVE_DETAIL_AUTO_LINK_ARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-//  auto_link_archive.hpp
-//
-//  (c) Copyright Robert Ramey 2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/serialization
-
-//----------------------------------------------------------------------------// 
-
-// This header implements separate compilation features as described in
-// http://www.boost.org/more/separate_compilation.html
-
-//  enable automatic library variant selection  ------------------------------// 
-
-#include <boost/archive/detail/decl.hpp>
-
-#if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB) \
-&&  !defined(BOOST_ARCHIVE_SOURCE) && !defined(BOOST_WARCHIVE_SOURCE)  \
-&&  !defined(BOOST_SERIALIZATION_SOURCE)
-
-    // Set the name of our library, this will get undef'ed by auto_link.hpp
-    // once it's done with it:
-    //
-    #define BOOST_LIB_NAME boost_serialization
-    //
-    // If we're importing code from a dll, then tell auto_link.hpp about it:
-    //
-    #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
-    #  define BOOST_DYN_LINK
-    #endif
-    //
-    // And include the header that does the work:
-    //
-    #include <boost/config/auto_link.hpp>
-#endif  // auto-linking disabled
-
-#endif // BOOST_ARCHIVE_DETAIL_AUTO_LINK_ARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/detail/auto_link_warchive.hpp b/SRC/Boost/boost/archive/detail/auto_link_warchive.hpp
deleted file mode 100755
index 5183ce7..0000000
--- a/SRC/Boost/boost/archive/detail/auto_link_warchive.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_AUTO_LINK_WARCHIVE_HPP
-#define BOOST_ARCHIVE_DETAIL_AUTO_LINK_WARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-//  auto_link_warchive.hpp
-//
-//  (c) Copyright Robert Ramey 2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/serialization
-
-//----------------------------------------------------------------------------// 
-
-// This header implements separate compilation features as described in
-// http://www.boost.org/more/separate_compilation.html
-
-//  enable automatic library variant selection  ------------------------------// 
-
-#include <boost/archive/detail/decl.hpp>
-
-#if !defined(BOOST_WARCHIVE_SOURCE) \
-&& !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB)
-
-// Set the name of our library, this will get undef'ed by auto_link.hpp
-// once it's done with it:
-//
-#define BOOST_LIB_NAME boost_wserialization
-//
-// If we're importing code from a dll, then tell auto_link.hpp about it:
-//
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
-#  define BOOST_DYN_LINK
-#endif
-//
-// And include the header that does the work:
-//
-#include <boost/config/auto_link.hpp>
-#endif  // auto-linking disabled
-
-#endif // ARCHIVE_DETAIL_AUTO_LINK_ARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/detail/basic_iarchive.hpp b/SRC/Boost/boost/archive/detail/basic_iarchive.hpp
deleted file mode 100755
index 0c1696e..0000000
--- a/SRC/Boost/boost/archive/detail/basic_iarchive.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_BASIC_IARCHIVE_HPP
-#define BOOST_ARCHIVE_DETAIL_BASIC_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_iarchive.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// can't use this - much as I'd like to as borland doesn't support it
-// #include <boost/scoped_ptr.hpp>
-
-#include <boost/config.hpp>
-#include <boost/noncopyable.hpp>
-
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/serialization/tracking_enum.hpp>
-#include <boost/archive/basic_archive.hpp>
-#include <boost/archive/detail/decl.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-
-namespace archive {
-namespace detail {
-
-class basic_iarchive_impl;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
-//////////////////////////////////////////////////////////////////////
-// class basic_iarchive - read serialized objects from a input stream
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive :
-    private boost::noncopyable
-{
-    friend class basic_iarchive_impl;
-    // hide implementation of this class to minimize header conclusion
-    // in client code. I couldn't used scoped pointer with borland
-    // boost::scoped_ptr<basic_iarchive_impl> pimpl;
-    basic_iarchive_impl * pimpl;
-
-    virtual void vload(version_type &t) =  0;
-    virtual void vload(object_id_type &t) =  0;
-    virtual void vload(class_id_type &t) =  0;
-    virtual void vload(class_id_optional_type &t) = 0;
-    virtual void vload(class_name_type &t) = 0;
-    virtual void vload(tracking_type &t) = 0;
-protected:
-    basic_iarchive(unsigned int flags);
-    // account for bogus gcc warning
-    #if defined(__GNUC__)
-    virtual
-    #endif
-    ~basic_iarchive();
-public:
-    // note: NOT part of the public API.
-    void next_object_pointer(void *t);
-    void register_basic_serializer(
-        const basic_iserializer & bis
-    );
-    void load_object(
-        void *t, 
-        const basic_iserializer & bis
-    );
-    const basic_pointer_iserializer * 
-    load_pointer(
-        void * & t, 
-        const basic_pointer_iserializer * bpis_ptr,
-        const basic_pointer_iserializer * (*finder)(
-            const boost::serialization::extended_type_info & eti
-        )
-
-    );
-    // real public API starts here
-    void 
-    set_library_version(library_version_type archive_library_version);
-    library_version_type 
-    get_library_version() const;
-    unsigned int
-    get_flags() const;
-    void 
-    reset_object_address(const void * new_address, const void * old_address);
-    void 
-    delete_created_pointers();
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-// required by smart_cast for compilers not implementing 
-// partial template specialization
-BOOST_TT_BROKEN_COMPILER_SPEC(
-    boost::archive::detail::basic_iarchive  
-) 
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif //BOOST_ARCHIVE_DETAIL_BASIC_IARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/detail/basic_iserializer.hpp b/SRC/Boost/boost/archive/detail/basic_iserializer.hpp
deleted file mode 100755
index f4f8f55..0000000
--- a/SRC/Boost/boost/archive/detail/basic_iserializer.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_BASIC_ISERIALIZER_HPP
-#define BOOST_ARCHIVE_DETAIL_BASIC_ISERIALIZER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_iserializer.hpp: extenstion of type_info required for serialization.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstdlib> // NULL
-#include <boost/config.hpp>
-
-#include <boost/archive/basic_archive.hpp>
-#include <boost/archive/detail/decl.hpp>
-#include <boost/archive/detail/basic_serializer.hpp>
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-
-// forward declarations
-namespace archive {
-namespace detail {
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer : 
-    public basic_serializer
-{
-private:
-    basic_pointer_iserializer *m_bpis;
-protected:
-    explicit basic_iserializer(
-        const boost::serialization::extended_type_info & type
-    );
-    // account for bogus gcc warning
-    #if defined(__GNUC__)
-    virtual
-    #endif
-    ~basic_iserializer();
-public:
-    bool serialized_as_pointer() const {
-        return m_bpis != NULL;
-    }
-    void set_bpis(basic_pointer_iserializer *bpis){
-        m_bpis = bpis;
-    }
-    const basic_pointer_iserializer * get_bpis_ptr() const {
-        return m_bpis;
-    }
-    virtual void load_object_data(
-        basic_iarchive & ar, 
-        void *x,
-        const unsigned int file_version
-    ) const = 0;
-    // returns true if class_info should be saved
-    virtual bool class_info() const = 0 ;
-    // returns true if objects should be tracked
-    virtual bool tracking(const unsigned int) const = 0 ;
-    // returns class version
-    virtual version_type version() const = 0 ;
-    // returns true if this class is polymorphic
-    virtual bool is_polymorphic() const = 0;
-    virtual void destroy(/*const*/ void *address) const = 0 ;
-};
-
-} // namespae detail
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_DETAIL_BASIC_ISERIALIZER_HPP
diff --git a/SRC/Boost/boost/archive/detail/basic_oarchive.hpp b/SRC/Boost/boost/archive/detail/basic_oarchive.hpp
deleted file mode 100755
index 8e565bf..0000000
--- a/SRC/Boost/boost/archive/detail/basic_oarchive.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_OARCHIVE_HPP
-#define BOOST_ARCHIVE_BASIC_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_oarchive.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // NULL
-#include <boost/config.hpp>
-#include <boost/noncopyable.hpp>
-
-#include <boost/type_traits/broken_compiler_spec.hpp>
-
-// can't use this - much as I'd like to as borland doesn't support it
-// #include <boost/scoped_ptr.hpp>
-
-#include <boost/archive/basic_archive.hpp>
-#include <boost/serialization/tracking_enum.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-
-namespace archive {
-namespace detail {
-
-class basic_oarchive_impl;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
-//////////////////////////////////////////////////////////////////////
-// class basic_oarchive - write serialized objects to an output stream
-class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive :
-    private boost::noncopyable
-{
-    friend class basic_oarchive_impl;
-    // hide implementation of this class to minimize header conclusion
-    // in client code. note: borland can't use scoped_ptr
-    //boost::scoped_ptr<basic_oarchive_impl> pimpl;
-    basic_oarchive_impl * pimpl;
-
-    // overload these to bracket object attributes. Used to implement
-    // xml archives
-    virtual void vsave(const version_type t) =  0;
-    virtual void vsave(const object_id_type t) =  0;
-    virtual void vsave(const object_reference_type t) =  0;
-    virtual void vsave(const class_id_type t) =  0;
-    virtual void vsave(const class_id_optional_type t) = 0;
-    virtual void vsave(const class_id_reference_type t) =  0;
-    virtual void vsave(const class_name_type & t) = 0;
-    virtual void vsave(const tracking_type t) = 0;
-protected:
-    basic_oarchive(unsigned int flags = 0);
-    // account for bogus gcc warning
-    #if defined(__GNUC__)
-    virtual
-    #endif
-    ~basic_oarchive();
-public:
-    // note: NOT part of the public interface
-    void register_basic_serializer(
-        const basic_oserializer & bos
-    );
-    void save_object(
-        const void *x, 
-        const basic_oserializer & bos
-    );
-    void save_pointer(
-        const void * t, 
-        const basic_pointer_oserializer * bpos_ptr
-    );
-    void save_null_pointer(){
-        vsave(NULL_POINTER_TAG);
-    }
-    // real public interface starts here
-    void end_preamble(); // default implementation does nothing
-    library_version_type get_library_version() const;
-    unsigned int get_flags() const;
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-// required by smart_cast for compilers not implementing 
-// partial template specialization
-BOOST_TT_BROKEN_COMPILER_SPEC(
-    boost::archive::detail::basic_oarchive
-)
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif //BOOST_ARCHIVE_BASIC_OARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/detail/basic_oserializer.hpp b/SRC/Boost/boost/archive/detail/basic_oserializer.hpp
deleted file mode 100755
index 050e1b2..0000000
--- a/SRC/Boost/boost/archive/detail/basic_oserializer.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef BOOST_SERIALIZATION_BASIC_OSERIALIZER_HPP
-#define BOOST_SERIALIZATION_BASIC_OSERIALIZER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_oserializer.hpp: extenstion of type_info required for serialization.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // NULL
-#include <boost/config.hpp>
-#include <boost/noncopyable.hpp>
-
-#include <boost/archive/basic_archive.hpp>
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/detail/basic_serializer.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-
-// forward declarations
-namespace archive {
-namespace detail {
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer : 
-    public basic_serializer
-{
-private:
-    basic_pointer_oserializer *m_bpos;
-protected:
-    explicit basic_oserializer(
-        const boost::serialization::extended_type_info & type_
-    );
-    // account for bogus gcc warning
-    #if defined(__GNUC__)
-    virtual
-    #endif
-    ~basic_oserializer();
-public:
-    bool serialized_as_pointer() const {
-        return m_bpos != NULL;
-    }
-    void set_bpos(basic_pointer_oserializer *bpos){
-        m_bpos = bpos;
-    }
-    const basic_pointer_oserializer * get_bpos() const {
-        return m_bpos;
-    }
-    virtual void save_object_data(
-        basic_oarchive & ar, const void * x
-    ) const = 0;
-    // returns true if class_info should be saved
-    virtual bool class_info() const = 0;
-    // returns true if objects should be tracked
-    virtual bool tracking(const unsigned int flags) const = 0;
-    // returns class version
-    virtual version_type version() const = 0;
-    // returns true if this class is polymorphic
-    virtual bool is_polymorphic() const = 0;
-};
-
-} // namespace detail
-} // namespace serialization
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_SERIALIZATION_BASIC_OSERIALIZER_HPP
diff --git a/SRC/Boost/boost/archive/detail/basic_pointer_iserializer.hpp b/SRC/Boost/boost/archive/detail/basic_pointer_iserializer.hpp
deleted file mode 100755
index 0576dc9..0000000
--- a/SRC/Boost/boost/archive/detail/basic_pointer_iserializer.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_HPP
-#define BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_pointer_oserializer.hpp: extenstion of type_info required for 
-// serialization.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/config.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/detail/basic_serializer.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-
-// forward declarations
-namespace archive {
-namespace detail {
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer;
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer 
-    : public basic_serializer {
-protected:
-    explicit basic_pointer_iserializer(
-        const boost::serialization::extended_type_info & type_
-    );
-    // account for bogus gcc warning
-    #if defined(__GNUC__)
-    virtual
-    #endif
-    ~basic_pointer_iserializer();
-public:
-    virtual const basic_iserializer & get_basic_serializer() const = 0;
-    virtual void load_object_ptr(
-        basic_iarchive & ar, 
-        void * & x,
-        const unsigned int file_version
-    ) const = 0;
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_HPP
diff --git a/SRC/Boost/boost/archive/detail/basic_pointer_oserializer.hpp b/SRC/Boost/boost/archive/detail/basic_pointer_oserializer.hpp
deleted file mode 100755
index 098f1d0..0000000
--- a/SRC/Boost/boost/archive/detail/basic_pointer_oserializer.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_POINTER_OSERIALIZER_HPP
-#define BOOST_ARCHIVE_BASIC_POINTER_OSERIALIZER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_pointer_oserializer.hpp: extenstion of type_info required for 
-// serialization.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/config.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/detail/basic_serializer.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-
-namespace archive {
-namespace detail {
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer;
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer : 
-    public basic_serializer
-{
-protected:
-    explicit basic_pointer_oserializer(
-        const boost::serialization::extended_type_info & type_
-    );
-public:
-    // account for bogus gcc warning
-    #if defined(__GNUC__)
-    virtual
-    #endif
-    ~basic_pointer_oserializer();
-    virtual const basic_oserializer & get_basic_serializer() const = 0;
-    virtual void save_object_ptr(
-        basic_oarchive & ar,
-        const void * x
-    ) const = 0;
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_BASIC_POINTER_OSERIALIZER_HPP
diff --git a/SRC/Boost/boost/archive/detail/basic_serializer.hpp b/SRC/Boost/boost/archive/detail/basic_serializer.hpp
deleted file mode 100755
index e575368..0000000
--- a/SRC/Boost/boost/archive/detail/basic_serializer.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef  BOOST_ARCHIVE_BASIC_SERIALIZER_HPP
-#define BOOST_ARCHIVE_BASIC_SERIALIZER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_serializer.hpp: extenstion of type_info required for serialization.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-#include <cstddef> // NULL
-
-#include <boost/noncopyable.hpp>
-#include <boost/config.hpp>
-#include <boost/serialization/extended_type_info.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-class basic_serializer : 
-    private boost::noncopyable
-{
-    const boost::serialization::extended_type_info * m_eti;
-protected:
-    explicit basic_serializer(
-        const boost::serialization::extended_type_info & eti
-    ) : 
-        m_eti(& eti)
-    {
-        BOOST_ASSERT(NULL != & eti);
-    }
-public:
-    inline bool 
-    operator<(const basic_serializer & rhs) const {
-        // can't compare address since there can be multiple eti records
-        // for the same type in different execution modules (that is, DLLS)
-        // leave this here as a reminder not to do this!
-        // return & lhs.get_eti() < & rhs.get_eti();
-        return get_eti() < rhs.get_eti();
-    }
-    const char * get_debug_info() const {
-        return m_eti->get_debug_info();
-    }
-    const boost::serialization::extended_type_info & get_eti() const {
-        return * m_eti;
-    }
-};
-
-class basic_serializer_arg : public basic_serializer {
-public:
-    basic_serializer_arg(const serialization::extended_type_info & eti) :
-        basic_serializer(eti)
-    {}
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_ARCHIVE_BASIC_SERIALIZER_HPP
diff --git a/SRC/Boost/boost/archive/detail/basic_serializer_map.hpp b/SRC/Boost/boost/archive/detail/basic_serializer_map.hpp
deleted file mode 100755
index 46bee7c..0000000
--- a/SRC/Boost/boost/archive/detail/basic_serializer_map.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef  BOOST_SERIALIZER_MAP_HPP
-#define BOOST_SERIALIZER_MAP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_serializer_map.hpp: extenstion of type_info required for serialization.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <set>
-
-#include <boost/config.hpp>
-#include <boost/utility.hpp>
-#include <boost/archive/detail/auto_link_archive.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost { 
-namespace serialization {
-    class extended_type_info;
-}
-
-namespace archive {
-namespace detail {
-
-class basic_serializer;
-
-class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_serializer_map : public
-    boost::noncopyable
-{
-    struct type_info_pointer_compare
-    {
-        bool operator()(
-            const basic_serializer * lhs, const basic_serializer * rhs
-        ) const ;
-    };
-    typedef std::set<
-        const basic_serializer *, 
-        type_info_pointer_compare
-    > map_type;
-    map_type m_map;
-public:
-    bool insert(const basic_serializer * bs);
-    void erase(const basic_serializer * bs);
-    const basic_serializer * find(
-        const boost::serialization::extended_type_info & type_
-    ) const;
-private:
-    // cw 8.3 requires this
-    basic_serializer_map& operator=(basic_serializer_map const&);
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // must be the last header
-
-#endif // BOOST_SERIALIZER_MAP_HPP
diff --git a/SRC/Boost/boost/archive/detail/check.hpp b/SRC/Boost/boost/archive/detail/check.hpp
deleted file mode 100755
index 9685545..0000000
--- a/SRC/Boost/boost/archive/detail/check.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_CHECK_HPP
-#define BOOST_ARCHIVE_DETAIL_CHECK_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#pragma inline_depth(511)
-#pragma inline_recursion(on)
-#endif
-
-#if defined(__MWERKS__)
-#pragma inline_depth(511)
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// check.hpp: interface for serialization system.
-
-// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_const.hpp>
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/greater.hpp>
-#include <boost/mpl/assert.hpp>
-
-#include <boost/serialization/static_warning.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/wrapper.hpp>
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-// checks for objects
-
-template<class T>
-inline void check_object_level(){
-    typedef 
-        BOOST_DEDUCED_TYPENAME mpl::greater_equal<
-            serialization::implementation_level< T >,
-            mpl::int_<serialization::primitive_type>
-        >::type typex;
-
-    // trap attempts to serialize objects marked
-    // not_serializable
-    BOOST_STATIC_ASSERT(typex::value);
-}
-
-template<class T>
-inline void check_object_versioning(){
-    typedef 
-        BOOST_DEDUCED_TYPENAME mpl::or_<
-            BOOST_DEDUCED_TYPENAME mpl::greater<
-                serialization::implementation_level< T >,
-                mpl::int_<serialization::object_serializable>
-            >,
-            BOOST_DEDUCED_TYPENAME mpl::equal_to<
-                serialization::version< T >,
-                mpl::int_<0>
-            >
-        > typex;
-    // trap attempts to serialize with objects that don't
-    // save class information in the archive with versioning.
-    BOOST_STATIC_ASSERT(typex::value);
-}
-
-template<class T>
-inline void check_object_tracking(){
-    // presume it has already been determined that
-    // T is not a const
-    BOOST_STATIC_ASSERT(! boost::is_const< T >::value);
-    typedef BOOST_DEDUCED_TYPENAME mpl::equal_to<
-        serialization::tracking_level< T >,
-        mpl::int_<serialization::track_never>
-    >::type typex;
-    // saving an non-const object of a type not marked "track_never)
-
-    // may be an indicator of an error usage of the
-    // serialization library and should be double checked.  
-    // See documentation on object tracking.  Also, see the 
-    // "rationale" section of the documenation
-    // for motivation for this checking.
-
-    BOOST_STATIC_WARNING(typex::value);
-}
-
-// checks for pointers
-
-template<class T>
-inline void check_pointer_level(){
-    // we should only invoke this once we KNOW that T
-    // has been used as a pointer!!
-    typedef 
-        BOOST_DEDUCED_TYPENAME mpl::or_<
-            BOOST_DEDUCED_TYPENAME mpl::greater<
-                serialization::implementation_level< T >,
-                mpl::int_<serialization::object_serializable>
-            >,
-            BOOST_DEDUCED_TYPENAME mpl::not_<
-                BOOST_DEDUCED_TYPENAME mpl::equal_to<
-                    serialization::tracking_level< T >,
-                    mpl::int_<serialization::track_selectively>
-                >
-            >
-        > typex;
-    // Address the following when serializing to a pointer:
-
-    // a) This type doesn't save class information in the
-    // archive. That is, the serialization trait implementation
-    // level <= object_serializable.
-    // b) Tracking for this type is set to "track selectively"
-
-    // in this case, indication that an object is tracked is
-    // not stored in the archive itself - see level == object_serializable
-    // but rather the existence of the operation ar >> T * is used to 
-    // infer that an object of this type should be tracked.  So, if
-    // you save via a pointer but don't load via a pointer the operation
-    // will fail on load without given any valid reason for the failure.
-
-    // So if your program traps here, consider changing the 
-    // tracking or implementation level traits - or not
-    // serializing via a pointer.
-    BOOST_STATIC_WARNING(typex::value);
-}
-
-template<class T>
-void inline check_pointer_tracking(){
-    typedef BOOST_DEDUCED_TYPENAME mpl::greater<
-        serialization::tracking_level< T >,
-        mpl::int_<serialization::track_never>
-    >::type typex;
-    // serializing an object of a type marked "track_never" through a pointer
-    // could result in creating more objects than were saved!
-    BOOST_STATIC_WARNING(typex::value);
-}
-
-template<class T>
-inline void check_const_loading(){
-    typedef
-        BOOST_DEDUCED_TYPENAME mpl::or_<
-            BOOST_DEDUCED_TYPENAME boost::serialization::is_wrapper< T >,
-            BOOST_DEDUCED_TYPENAME mpl::not_<
-                BOOST_DEDUCED_TYPENAME boost::is_const< T >
-            >
-        >::type typex;
-    // cannot load data into a "const" object unless it's a
-    // wrapper around some other non-const object.
-    BOOST_STATIC_ASSERT(typex::value);
-}
-
-} // detail
-} // archive
-} // boost
-
-#endif // BOOST_ARCHIVE_DETAIL_CHECK_HPP
diff --git a/SRC/Boost/boost/archive/detail/common_iarchive.hpp b/SRC/Boost/boost/archive/detail/common_iarchive.hpp
deleted file mode 100755
index a99960b..0000000
--- a/SRC/Boost/boost/archive/detail/common_iarchive.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_COMMON_IARCHIVE_HPP
-#define BOOST_ARCHIVE_DETAIL_COMMON_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// common_iarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-
-#include <boost/archive/detail/basic_iarchive.hpp>
-#include <boost/archive/detail/basic_pointer_iserializer.hpp>
-#include <boost/archive/detail/interface_iarchive.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-class extended_type_info;
-
-// note: referred to as Curiously Recurring Template Patter (CRTP)
-template<class Archive>
-class common_iarchive : 
-    public basic_iarchive,
-    public interface_iarchive<Archive>
-{
-    friend class interface_iarchive<Archive>;
-private:
-    virtual void vload(version_type & t){
-        * this->This() >> t; 
-    }
-    virtual void vload(object_id_type & t){
-        * this->This() >> t;
-    }
-    virtual void vload(class_id_type & t){
-        * this->This() >> t;
-    }
-    virtual void vload(class_id_optional_type & t){
-        * this->This() >> t;
-    }
-    virtual void vload(tracking_type & t){
-        * this->This() >> t;
-    }
-    virtual void vload(class_name_type &s){
-        * this->This() >> s;
-    }
-protected:
-    // default processing - invoke serialization library
-    template<class T>
-    void load_override(T & t, BOOST_PFTO int){
-        archive::load(* this->This(), t);
-    }
-    // default implementations of functions which emit start/end tags for
-    // archive types that require them.
-    void load_start(const char * /*name*/){}
-    void load_end(const char * /*name*/){}
-    // default archive initialization
-    common_iarchive(unsigned int flags = 0) : 
-        basic_iarchive(flags),
-        interface_iarchive<Archive>()
-    {}
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_ARCHIVE_DETAIL_COMMON_IARCHIVE_HPP
-
diff --git a/SRC/Boost/boost/archive/detail/common_oarchive.hpp b/SRC/Boost/boost/archive/detail/common_oarchive.hpp
deleted file mode 100755
index 7f2f650..0000000
--- a/SRC/Boost/boost/archive/detail/common_oarchive.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_COMMON_OARCHIVE_HPP
-#define BOOST_ARCHIVE_DETAIL_COMMON_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// common_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-
-#include <boost/archive/detail/basic_oarchive.hpp>
-#include <boost/archive/detail/interface_oarchive.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-// note: referred to as Curiously Recurring Template Patter (CRTP)
-template<class Archive>
-class common_oarchive : 
-    public basic_oarchive,
-    public interface_oarchive<Archive>
-{
-    friend class interface_oarchive<Archive>;
-private:
-    virtual void vsave(const version_type t){
-        * this->This() << t;
-    }
-    virtual void vsave(const object_id_type t){
-        * this->This() << t;
-    }
-    virtual void vsave(const object_reference_type t){
-        * this->This() << t;
-    }
-    virtual void vsave(const class_id_type t){
-        * this->This() << t;
-    }
-    virtual void vsave(const class_id_reference_type t){
-        * this->This() << t;
-    }
-    virtual void vsave(const class_id_optional_type t){
-        * this->This() << t;
-    }
-    virtual void vsave(const class_name_type & t){
-        * this->This() << t;
-    }
-    virtual void vsave(const tracking_type t){
-        * this->This() << t;
-    }
-protected:
-    // default processing - invoke serialization library
-    template<class T>
-    void save_override(T & t, BOOST_PFTO int){
-        archive::save(* this->This(), t);
-    }
-    void save_start(const char * /*name*/){}
-    void save_end(const char * /*name*/){}
-    common_oarchive(unsigned int flags = 0) : 
-        basic_oarchive(flags),
-        interface_oarchive<Archive>()
-    {}
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_ARCHIVE_DETAIL_COMMON_OARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/detail/interface_iarchive.hpp b/SRC/Boost/boost/archive/detail/interface_iarchive.hpp
deleted file mode 100755
index cbc12da..0000000
--- a/SRC/Boost/boost/archive/detail/interface_iarchive.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_INTERFACE_IARCHIVE_HPP
-#define BOOST_ARCHIVE_DETAIL_INTERFACE_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// interface_iarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <cstddef> // NULL
-#include <boost/cstdint.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/detail/iserializer.hpp>
-#include <boost/serialization/singleton.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
-
-template<class Archive>
-class interface_iarchive 
-{
-protected:
-    interface_iarchive(){};
-public:
-    /////////////////////////////////////////////////////////
-    // archive public interface
-    typedef mpl::bool_<true> is_loading;
-    typedef mpl::bool_<false> is_saving;
-
-    // return a pointer to the most derived class
-    Archive * This(){
-        return static_cast<Archive *>(this);
-    }
-
-    template<class T>
-    const basic_pointer_iserializer * 
-    register_type(T * = NULL){
-        const basic_pointer_iserializer & bpis =
-            boost::serialization::singleton<
-                pointer_iserializer<Archive, T> 
-            >::get_const_instance();
-        this->This()->register_basic_serializer(bpis.get_basic_serializer());
-        return & bpis;
-    }
-    template<class T>
-    Archive & operator>>(T & t){
-        this->This()->load_override(t, 0);
-        return * this->This();
-    }
-
-    // the & operator 
-    template<class T>
-    Archive & operator&(T & t){
-        return *(this->This()) >> t;
-    }
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_DETAIL_INTERFACE_IARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/detail/interface_oarchive.hpp b/SRC/Boost/boost/archive/detail/interface_oarchive.hpp
deleted file mode 100755
index 471b523..0000000
--- a/SRC/Boost/boost/archive/detail/interface_oarchive.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_INTERFACE_OARCHIVE_HPP
-#define BOOST_ARCHIVE_DETAIL_INTERFACE_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// interface_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <cstddef> // NULL
-#include <boost/cstdint.hpp>
-#include <boost/mpl/bool.hpp>
-
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/detail/oserializer.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#include <boost/serialization/singleton.hpp>
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
-
-template<class Archive>
-class interface_oarchive 
-{
-protected:
-    interface_oarchive(){};
-public:
-    /////////////////////////////////////////////////////////
-    // archive public interface
-    typedef mpl::bool_<false> is_loading;
-    typedef mpl::bool_<true> is_saving;
-
-    // return a pointer to the most derived class
-    Archive * This(){
-        return static_cast<Archive *>(this);
-    }
-
-    template<class T>
-    const basic_pointer_oserializer * 
-    register_type(const T * = NULL){
-        const basic_pointer_oserializer & bpos =
-            boost::serialization::singleton<
-                pointer_oserializer<Archive, T>
-            >::get_const_instance();
-        this->This()->register_basic_serializer(bpos.get_basic_serializer());
-        return & bpos;
-    }
-
-    template<class T>
-    Archive & operator<<(T & t){
-        this->This()->save_override(t, 0);
-        return * this->This();
-    }
-    
-    // the & operator 
-    template<class T>
-    Archive & operator&(T & t){
-        #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-            return * this->This() << const_cast<const T &>(t);
-        #else
-            return * this->This() << t;
-        #endif
-    }
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_DETAIL_INTERFACE_IARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/detail/iserializer.hpp b/SRC/Boost/boost/archive/detail/iserializer.hpp
deleted file mode 100755
index 00d34ca..0000000
--- a/SRC/Boost/boost/archive/detail/iserializer.hpp
+++ /dev/null
@@ -1,632 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_ISERIALIZER_HPP
-#define BOOST_ARCHIVE_DETAIL_ISERIALIZER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#pragma inline_depth(511)
-#pragma inline_recursion(on)
-#endif
-
-#if defined(__MWERKS__)
-#pragma inline_depth(511)
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// iserializer.hpp: interface for serialization system.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <new>     // for placement new
-#include <memory>  // for auto_ptr
-#include <cstddef> // size_t, NULL
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/static_assert.hpp>
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/greater_equal.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-
-#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO   
-    #include <boost/serialization/extended_type_info_typeid.hpp>   
-#endif
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/serialization/smart_cast.hpp>
-#include <boost/serialization/static_warning.hpp>
-
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_extent.hpp>
-#include <boost/type_traits/is_polymorphic.hpp>
-
-#include <boost/serialization/assume_abstract.hpp>
-
-#define DONT_USE_HAS_NEW_OPERATOR (                    \
-    defined(__BORLANDC__)                              \
-    || defined(__IBMCPP__)                             \
-    || defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)     \
-    || defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x590)   \
-)
-
-#if ! DONT_USE_HAS_NEW_OPERATOR
-#include <boost/type_traits/has_new_operator.hpp>
-#endif
-
-#include <boost/serialization/serialization.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/void_cast.hpp>
-#include <boost/serialization/array.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/singleton.hpp>
-#include <boost/serialization/wrapper.hpp>
-
-// the following is need only for dynamic cast of polymorphic pointers
-#include <boost/archive/archive_exception.hpp>
-#include <boost/archive/detail/basic_iarchive.hpp>
-#include <boost/archive/detail/basic_iserializer.hpp>
-#include <boost/archive/detail/basic_pointer_iserializer.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-#include <boost/archive/detail/check.hpp>
-
-namespace boost {
-
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-
-namespace archive {
-
-// an accessor to permit friend access to archives.  Needed because
-// some compilers don't handle friend templates completely
-class load_access {
-public:
-    template<class Archive, class T>
-    static void load_primitive(Archive &ar, T &t){
-        ar.load(t);
-    }
-};
-
-namespace detail {
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-template<class Archive, class T>
-class iserializer : public basic_iserializer
-{
-private:
-    virtual void destroy(/*const*/ void *address) const {
-        boost::serialization::access::destroy(static_cast<T *>(address));
-    }
-protected:
-    // protected constructor since it's always created by singleton
-    explicit iserializer() :
-        basic_iserializer(
-            boost::serialization::singleton<
-                BOOST_DEDUCED_TYPENAME 
-                boost::serialization::type_info_implementation< T >::type
-            >::get_const_instance()
-        )
-    {}
-public:
-    virtual BOOST_DLLEXPORT void load_object_data(
-        basic_iarchive & ar,
-        void *x, 
-        const unsigned int file_version
-    ) const BOOST_USED;
-    virtual bool class_info() const {
-        return boost::serialization::implementation_level< T >::value 
-            >= boost::serialization::object_class_info;
-    }
-    virtual bool tracking(const unsigned int /* flags */) const {
-        return boost::serialization::tracking_level< T >::value 
-                == boost::serialization::track_always
-            || ( boost::serialization::tracking_level< T >::value 
-                == boost::serialization::track_selectively
-                && serialized_as_pointer());
-    }
-    virtual version_type version() const {
-        return version_type(::boost::serialization::version< T >::value);
-    }
-    virtual bool is_polymorphic() const {
-        return boost::is_polymorphic< T >::value;
-    }
-    virtual ~iserializer(){};
-};
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-template<class Archive, class T>
-BOOST_DLLEXPORT void iserializer<Archive, T>::load_object_data(
-    basic_iarchive & ar,
-    void *x, 
-    const unsigned int file_version
-) const {
-    // note: we now comment this out. Before we permited archive
-    // version # to be very large.  Now we don't.  To permit
-    // readers of these old archives, we have to suppress this 
-    // code.  Perhaps in the future we might re-enable it but
-    // permit its suppression with a runtime switch.
-    #if 0
-    // trap case where the program cannot handle the current version
-    if(file_version > static_cast<const unsigned int>(version()))
-        boost::serialization::throw_exception(
-            archive::archive_exception(
-                boost::archive::archive_exception::unsupported_class_version,
-                get_debug_info()
-            )
-        );
-    #endif
-    // make sure call is routed through the higest interface that might
-    // be specialized by the user.
-    boost::serialization::serialize_adl(
-        boost::serialization::smart_cast_reference<Archive &>(ar),
-        * static_cast<T *>(x), 
-        file_version
-    );
-}
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-template<class Archive, class T>
-class pointer_iserializer :
-    public basic_pointer_iserializer
-{
-private:
-    virtual const basic_iserializer & get_basic_serializer() const {
-        return boost::serialization::singleton<
-            iserializer<Archive, T>
-        >::get_const_instance();
-    }
-    BOOST_DLLEXPORT virtual void load_object_ptr(
-        basic_iarchive & ar, 
-        void * & x,
-        const unsigned int file_version
-    ) const BOOST_USED;
-protected:
-    // this should alway be a singleton so make the constructor protected
-    pointer_iserializer();
-    ~pointer_iserializer();
-};
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-// note trick to be sure that operator new is using class specific
-// version if such exists. Due to Peter Dimov.
-// note: the following fails if T has no default constructor.
-// otherwise it would have been ideal
-//struct heap_allocator : public T 
-//{
-//    T * invoke(){
-//        return ::new(sizeof(T));
-//    }
-//}
-
-template<class T>
-struct heap_allocator
-{
-    // boost::has_new_operator< T > doesn't work on these compilers
-    #if DONT_USE_HAS_NEW_OPERATOR
-        // This doesn't handle operator new overload for class T
-        static T * invoke(){
-            return static_cast<T *>(operator new(sizeof(T)));
-        }
-    #else
-        struct has_new_operator {
-            static T* invoke() {
-                return static_cast<T *>((T::operator new)(sizeof(T)));
-            }
-        };
-        struct doesnt_have_new_operator {
-            static T* invoke() {
-                return static_cast<T *>(operator new(sizeof(T)));
-            }
-        };
-        static T * invoke() {
-            typedef BOOST_DEDUCED_TYPENAME
-                mpl::eval_if<
-                    boost::has_new_operator< T >,
-                    mpl::identity<has_new_operator >,
-                    mpl::identity<doesnt_have_new_operator >    
-                >::type typex;
-            return typex::invoke();
-        }
-    #endif
-};
-
-// due to Martin Ecker
-template <typename T>
-class auto_ptr_with_deleter
-{
-public:
-    explicit auto_ptr_with_deleter(T* p) :
-        m_p(p)
-    {}
-    ~auto_ptr_with_deleter(){
-        if (m_p)
-            boost::serialization::access::destroy(m_p);
-    }
-    T* get() const {
-        return m_p;
-    }
-
-    T* release() {
-        T* p = m_p;
-        m_p = NULL;
-        return p;
-    }
-private:
-    T* m_p;
-};
-
-// note: BOOST_DLLEXPORT is so that code for polymorphic class
-// serialized only through base class won't get optimized out
-template<class Archive, class T>
-BOOST_DLLEXPORT void pointer_iserializer<Archive, T>::load_object_ptr(
-    basic_iarchive & ar, 
-    void * & x,
-    const unsigned int file_version
-) const
-{
-    Archive & ar_impl = 
-        boost::serialization::smart_cast_reference<Archive &>(ar);
-
-    auto_ptr_with_deleter< T > ap(heap_allocator< T >::invoke());
-    if(NULL == ap.get())
-        boost::serialization::throw_exception(std::bad_alloc()) ;
-
-    T * t = ap.get();
-    x = t;
-
-    // catch exception during load_construct_data so that we don't
-    // automatically delete the t which is most likely not fully
-    // constructed
-    BOOST_TRY {
-        // this addresses an obscure situtation that occurs when 
-        // load_constructor de-serializes something through a pointer.
-        ar.next_object_pointer(t);
-        boost::serialization::load_construct_data_adl<Archive, T>(
-            ar_impl,
-            t, 
-            file_version
-        );
-    }
-    BOOST_CATCH(...){
-        ap.release();
-        BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-
-    ar_impl >> boost::serialization::make_nvp(NULL, * t);
-    ap.release();
-}
-
-template<class Archive, class T>
-pointer_iserializer<Archive, T>::pointer_iserializer() :
-    basic_pointer_iserializer(
-        boost::serialization::singleton<
-            BOOST_DEDUCED_TYPENAME 
-            boost::serialization::type_info_implementation< T >::type
-        >::get_const_instance()
-    )
-{
-    boost::serialization::singleton<
-        iserializer<Archive, T>
-    >::get_mutable_instance().set_bpis(this);
-    archive_serializer_map<Archive>::insert(this);
-}
-
-template<class Archive, class T>
-pointer_iserializer<Archive, T>::~pointer_iserializer(){
-    archive_serializer_map<Archive>::erase(this);
-}
-
-template<class Archive>
-struct load_non_pointer_type {
-    // note this bounces the call right back to the archive
-    // with no runtime overhead
-    struct load_primitive {
-        template<class T>
-        static void invoke(Archive & ar, T & t){
-            load_access::load_primitive(ar, t);
-        }
-    };
-    // note this bounces the call right back to the archive
-    // with no runtime overhead
-    struct load_only {
-        template<class T>
-        static void invoke(Archive & ar, const T & t){
-            // short cut to user's serializer
-            // make sure call is routed through the higest interface that might
-            // be specialized by the user.
-            boost::serialization::serialize_adl(
-                ar, 
-                const_cast<T &>(t), 
-                boost::serialization::version< T >::value
-            );
-        }
-    };
-
-    // note this save class information including version
-    // and serialization level to the archive
-    struct load_standard {
-        template<class T>
-        static void invoke(Archive &ar, const T & t){
-            void * x = & const_cast<T &>(t);
-            ar.load_object(
-                x, 
-                boost::serialization::singleton<
-                    iserializer<Archive, T>
-                >::get_const_instance()
-            );
-        }
-    };
-
-    struct load_conditional {
-        template<class T>
-        static void invoke(Archive &ar, T &t){
-            //if(0 == (ar.get_flags() & no_tracking))
-                load_standard::invoke(ar, t);
-            //else
-            //    load_only::invoke(ar, t);
-        }
-    };
-
-    template<class T>
-    static void invoke(Archive & ar, T &t){
-        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
-                // if its primitive
-                mpl::equal_to<
-                    boost::serialization::implementation_level< T >,
-                    mpl::int_<boost::serialization::primitive_type>
-                >,
-                mpl::identity<load_primitive>,
-            // else
-            BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            // class info / version
-            mpl::greater_equal<
-                        boost::serialization::implementation_level< T >,
-                        mpl::int_<boost::serialization::object_class_info>
-                    >,
-            // do standard load
-            mpl::identity<load_standard>,
-        // else
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            // no tracking
-                    mpl::equal_to<
-                        boost::serialization::tracking_level< T >,
-                        mpl::int_<boost::serialization::track_never>
-                >,
-                // do a fast load
-                mpl::identity<load_only>,
-            // else
-            // do a fast load only tracking is turned off
-            mpl::identity<load_conditional>
-        > > >::type typex;
-        check_object_versioning< T >();
-        check_object_level< T >();
-        typex::invoke(ar, t);
-    }
-};
-
-template<class Archive>
-struct load_pointer_type {
-    struct abstract
-    {
-        template<class T>
-        static const basic_pointer_iserializer * register_type(Archive & /* ar */){
-            // it has? to be polymorphic
-            BOOST_STATIC_ASSERT(boost::is_polymorphic< T >::value);
-            return static_cast<basic_pointer_iserializer *>(NULL);
-         }
-    };
-
-    struct non_abstract
-    {
-        template<class T>
-        static const basic_pointer_iserializer * register_type(Archive & ar){
-            return ar.register_type(static_cast<T *>(NULL));
-        }
-    };
-
-    template<class T>
-    static const basic_pointer_iserializer * register_type(Archive &ar, const T & /*t*/){
-        // there should never be any need to load an abstract polymorphic 
-        // class pointer.  Inhibiting code generation for this
-        // permits abstract base classes to be used - note: exception
-        // virtual serialize functions used for plug-ins
-        typedef BOOST_DEDUCED_TYPENAME
-            mpl::eval_if<
-                boost::serialization::is_abstract<const T>,
-                boost::mpl::identity<abstract>,
-                boost::mpl::identity<non_abstract>  
-            >::type typex;
-        return typex::template register_type< T >(ar);
-    }
-
-    template<class T>
-    static T * pointer_tweak(
-        const boost::serialization::extended_type_info & eti,
-        void const * const t,
-        const T &
-    ) {
-        // tweak the pointer back to the base class
-        return static_cast<T *>(
-            const_cast<void *>(
-                boost::serialization::void_upcast(
-                    eti,
-                    boost::serialization::singleton<
-                        BOOST_DEDUCED_TYPENAME 
-                        boost::serialization::type_info_implementation< T >::type
-                    >::get_const_instance(),
-                    t
-                )
-            )
-        );
-    }
-
-    template<class T>
-    static void check_load(T & /* t */){
-        check_pointer_level< T >();
-        check_pointer_tracking< T >();
-    }
-
-    static const basic_pointer_iserializer *
-    find(const boost::serialization::extended_type_info & type){
-        return static_cast<const basic_pointer_iserializer *>(
-            archive_serializer_map<Archive>::find(type)
-        );
-    }
-
-    template<class Tptr>
-    static void invoke(Archive & ar, Tptr & t){
-        check_load(*t);
-        const basic_pointer_iserializer * bpis_ptr = register_type(ar, *t);
-        const basic_pointer_iserializer * newbpis_ptr = ar.load_pointer(
-            // note major hack here !!!
-            // I tried every way to convert Tptr &t (where Tptr might
-            // include const) to void * &.  This is the only way
-            // I could make it work. RR
-            (void * & )t,
-            bpis_ptr,
-            find
-        );
-        // if the pointer isn't that of the base class
-        if(newbpis_ptr != bpis_ptr){
-            t = pointer_tweak(newbpis_ptr->get_eti(), t, *t);
-        }
-    }
-};
-
-template<class Archive>
-struct load_enum_type {
-    template<class T>
-    static void invoke(Archive &ar, T &t){
-        // convert integers to correct enum to load
-        int i;
-        ar >> boost::serialization::make_nvp(NULL, i);
-        t = static_cast< T >(i);
-    }
-};
-
-template<class Archive>
-struct load_array_type {
-    template<class T>
-    static void invoke(Archive &ar, T &t){
-        typedef BOOST_DEDUCED_TYPENAME remove_extent< T >::type value_type;
-        
-        // convert integers to correct enum to load
-        // determine number of elements in the array. Consider the
-        // fact that some machines will align elements on boundries
-        // other than characters.
-        std::size_t current_count = sizeof(t) / (
-            static_cast<char *>(static_cast<void *>(&t[1])) 
-            - static_cast<char *>(static_cast<void *>(&t[0]))
-        );
-        boost::serialization::collection_size_type count;
-        ar >> BOOST_SERIALIZATION_NVP(count);
-        if(static_cast<std::size_t>(count) > current_count)
-            boost::serialization::throw_exception(
-                archive::archive_exception(
-                    boost::archive::archive_exception::array_size_too_short
-                )
-            );
-        ar >> serialization::make_array(static_cast<value_type*>(&t[0]),count);
-    }
-};
-
-} // detail
-
-template<class Archive, class T>
-inline void load(Archive & ar, T &t){
-    // if this assertion trips. It means we're trying to load a
-    // const object with a compiler that doesn't have correct
-    // funtion template ordering.  On other compilers, this is
-    // handled below.
-    detail::check_const_loading< T >();
-    typedef
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<is_pointer< T >,
-            mpl::identity<detail::load_pointer_type<Archive> >
-        ,//else
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<is_array< T >,
-            mpl::identity<detail::load_array_type<Archive> >
-        ,//else
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<is_enum< T >,
-            mpl::identity<detail::load_enum_type<Archive> >
-        ,//else
-            mpl::identity<detail::load_non_pointer_type<Archive> >
-        >
-        >
-        >::type typex;
-    typex::invoke(ar, t);
-}
-
-#if 0
-
-// BORLAND
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
-// borland has a couple of problems
-// a) if function is partially specialized - see below
-// const paramters are transformed to non-const ones
-// b) implementation of base_object can't be made to work
-// correctly which results in all base_object s being const.
-// So, strip off the const for borland.  This breaks the trap
-// for loading const objects - but I see no alternative
-template<class Archive, class T>
-inline void load(Archive &ar, const T & t){
-    load(ar, const_cast<T &>(t));
-}
-#endif
-
-// let wrappers through.
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-template<class Archive, class T>
-inline void load_wrapper(Archive &ar, const T&t, mpl::true_){
-    boost::archive::load(ar, const_cast<T&>(t));
-}
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
-template<class Archive, class T>
-inline void load(Archive &ar, const T&t){
-  load_wrapper(ar,t,serialization::is_wrapper< T >());
-}
-#endif 
-#endif
-
-#endif
-
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_DETAIL_ISERIALIZER_HPP
diff --git a/SRC/Boost/boost/archive/detail/oserializer.hpp b/SRC/Boost/boost/archive/detail/oserializer.hpp
deleted file mode 100755
index 0b212c3..0000000
--- a/SRC/Boost/boost/archive/detail/oserializer.hpp
+++ /dev/null
@@ -1,531 +0,0 @@
-#ifndef BOOST_ARCHIVE_OSERIALIZER_HPP
-#define BOOST_ARCHIVE_OSERIALIZER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#pragma inline_depth(511)
-#pragma inline_recursion(on)
-#endif
-
-#if defined(__MWERKS__)
-#pragma inline_depth(511)
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// oserializer.hpp: interface for serialization system.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-#include <cstddef> // NULL
-
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/greater_equal.hpp>
-#include <boost/mpl/identity.hpp>
-
-#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO   
-    #include <boost/serialization/extended_type_info_typeid.hpp>   
-#endif
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/serialization/smart_cast.hpp>
-#include <boost/serialization/assume_abstract.hpp>
-#include <boost/serialization/static_warning.hpp>
-
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_polymorphic.hpp>
-#include <boost/type_traits/remove_extent.hpp>
-
-#include <boost/serialization/serialization.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/void_cast.hpp>
-#include <boost/serialization/array.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/singleton.hpp>
-
-#include <boost/archive/archive_exception.hpp>
-#include <boost/archive/detail/basic_oarchive.hpp>
-#include <boost/archive/detail/basic_oserializer.hpp>
-#include <boost/archive/detail/basic_pointer_oserializer.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-#include <boost/archive/detail/check.hpp>
-
-namespace boost {
-
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-
-namespace archive {
-
-// an accessor to permit friend access to archives.  Needed because
-// some compilers don't handle friend templates completely
-class save_access {
-public:
-    template<class Archive>
-    static void end_preamble(Archive & ar){
-        ar.end_preamble();
-    }
-    template<class Archive, class T>
-    static void save_primitive(Archive & ar, const  T & t){
-        ar.end_preamble();
-        ar.save(t);
-    }
-};
-
-namespace detail {
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-template<class Archive, class T>
-class oserializer : public basic_oserializer
-{
-private:
-    // private constructor to inhibit any existence other than the 
-    // static one
-public:
-    explicit BOOST_DLLEXPORT oserializer() :
-        basic_oserializer(
-            boost::serialization::singleton<
-                BOOST_DEDUCED_TYPENAME 
-                boost::serialization::type_info_implementation< T >::type
-            >::get_const_instance()
-        )
-    {}
-    virtual BOOST_DLLEXPORT void save_object_data(
-        basic_oarchive & ar,    
-        const void *x
-    ) const BOOST_USED;
-    virtual bool class_info() const {
-        return boost::serialization::implementation_level< T >::value 
-            >= boost::serialization::object_class_info;
-    }
-    virtual bool tracking(const unsigned int /* flags */) const {
-        return boost::serialization::tracking_level< T >::value == boost::serialization::track_always
-            || (boost::serialization::tracking_level< T >::value == boost::serialization::track_selectively
-                && serialized_as_pointer());
-    }
-    virtual version_type version() const {
-        return version_type(::boost::serialization::version< T >::value);
-    }
-    virtual bool is_polymorphic() const {
-        return boost::is_polymorphic< T >::value;
-    }
-    virtual ~oserializer(){}
-};
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-template<class Archive, class T>
-BOOST_DLLEXPORT void oserializer<Archive, T>::save_object_data(
-    basic_oarchive & ar,    
-    const void *x
-) const {
-    // make sure call is routed through the highest interface that might
-    // be specialized by the user.
-    BOOST_STATIC_ASSERT(boost::is_const< T >::value == false);
-    boost::serialization::serialize_adl(
-        boost::serialization::smart_cast_reference<Archive &>(ar),
-        * static_cast<T *>(const_cast<void *>(x)),
-        version()
-    );
-}
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-template<class Archive, class T>
-class pointer_oserializer :
-    public basic_pointer_oserializer
-{
-private:
-    const basic_oserializer & 
-    get_basic_serializer() const {
-        return boost::serialization::singleton<
-            oserializer<Archive, T>
-        >::get_const_instance();
-    }
-    virtual BOOST_DLLEXPORT void save_object_ptr(
-        basic_oarchive & ar,
-        const void * x
-    ) const BOOST_USED;
-public:
-    pointer_oserializer();
-    ~pointer_oserializer();
-};
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-template<class Archive, class T>
-BOOST_DLLEXPORT void pointer_oserializer<Archive, T>::save_object_ptr(
-    basic_oarchive & ar,
-    const void * x
-) const {
-    BOOST_ASSERT(NULL != x);
-    // make sure call is routed through the highest interface that might
-    // be specialized by the user.
-    T * t = static_cast<T *>(const_cast<void *>(x));
-    const unsigned int file_version = boost::serialization::version< T >::value;
-    Archive & ar_impl 
-        = boost::serialization::smart_cast_reference<Archive &>(ar);
-    boost::serialization::save_construct_data_adl<Archive, T>(
-        ar_impl, 
-        t, 
-        file_version
-    );
-    ar_impl << boost::serialization::make_nvp(NULL, * t);
-}
-
-template<class Archive, class T>
-pointer_oserializer<Archive, T>::pointer_oserializer() :
-    basic_pointer_oserializer(
-        boost::serialization::singleton<
-            BOOST_DEDUCED_TYPENAME 
-            boost::serialization::type_info_implementation< T >::type
-        >::get_const_instance()
-    )
-{
-    // make sure appropriate member function is instantiated
-    boost::serialization::singleton<
-        oserializer<Archive, T> 
-    >::get_mutable_instance().set_bpos(this);
-    archive_serializer_map<Archive>::insert(this);
-}
-
-template<class Archive, class T>
-pointer_oserializer<Archive, T>::~pointer_oserializer(){
-    archive_serializer_map<Archive>::erase(this);
-}
-
-template<class Archive>
-struct save_non_pointer_type {
-    // note this bounces the call right back to the archive
-    // with no runtime overhead
-    struct save_primitive {
-        template<class T>
-        static void invoke(Archive & ar, const T & t){
-            save_access::save_primitive(ar, t);
-        }
-    };
-    // same as above but passes through serialization
-    struct save_only {
-        template<class T>
-        static void invoke(Archive & ar, const T & t){
-            // make sure call is routed through the highest interface that might
-            // be specialized by the user.
-            boost::serialization::serialize_adl(
-                ar, 
-                const_cast<T &>(t), 
-                ::boost::serialization::version< T >::value
-            );
-        }
-    };
-    // adds class information to the archive. This includes
-    // serialization level and class version
-    struct save_standard {
-        template<class T>
-        static void invoke(Archive &ar, const T & t){
-            ar.save_object(
-                & t, 
-                boost::serialization::singleton<
-                    oserializer<Archive, T>
-                >::get_const_instance()
-            );
-        }
-    };
-
-    // adds class information to the archive. This includes
-    // serialization level and class version
-    struct save_conditional {
-        template<class T>
-        static void invoke(Archive &ar, const T &t){
-            //if(0 == (ar.get_flags() & no_tracking))
-                save_standard::invoke(ar, t);
-            //else
-            //   save_only::invoke(ar, t);
-        }
-    };
-
-
-    template<class T>
-    static void invoke(Archive & ar, const T & t){
-        typedef 
-            BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            // if its primitive
-                mpl::equal_to<
-                    boost::serialization::implementation_level< T >,
-                    mpl::int_<boost::serialization::primitive_type>
-                >,
-                mpl::identity<save_primitive>,
-            // else
-            BOOST_DEDUCED_TYPENAME mpl::eval_if<
-                // class info / version
-                mpl::greater_equal<
-                    boost::serialization::implementation_level< T >,
-                    mpl::int_<boost::serialization::object_class_info>
-                >,
-                // do standard save
-                mpl::identity<save_standard>,
-            // else
-            BOOST_DEDUCED_TYPENAME mpl::eval_if<
-                    // no tracking
-                mpl::equal_to<
-                    boost::serialization::tracking_level< T >,
-                    mpl::int_<boost::serialization::track_never>
-                >,
-                // do a fast save
-                mpl::identity<save_only>,
-            // else
-                // do a fast save only tracking is turned off
-                mpl::identity<save_conditional>
-            > > >::type typex; 
-        check_object_versioning< T >();
-        typex::invoke(ar, t);
-    }
-    template<class T>
-    static void invoke(Archive & ar, T & t){
-        check_object_level< T >();
-        check_object_tracking< T >();
-        invoke(ar, const_cast<const T &>(t));
-    }
-};
-
-template<class Archive>
-struct save_pointer_type {
-    struct abstract
-    {
-        template<class T>
-        static const basic_pointer_oserializer * register_type(Archive & /* ar */){
-            // it has? to be polymorphic
-            BOOST_STATIC_ASSERT(boost::is_polymorphic< T >::value);
-            return NULL;
-        }
-    };
-
-    struct non_abstract
-    {
-        template<class T>
-        static const basic_pointer_oserializer * register_type(Archive & ar){
-            return ar.register_type(static_cast<T *>(NULL));
-        }
-    };
-
-    template<class T>
-    static const basic_pointer_oserializer * register_type(Archive &ar, T & /*t*/){
-        // there should never be any need to save an abstract polymorphic 
-        // class pointer.  Inhibiting code generation for this
-        // permits abstract base classes to be used - note: exception
-        // virtual serialize functions used for plug-ins
-        typedef 
-            BOOST_DEDUCED_TYPENAME mpl::eval_if<
-                boost::serialization::is_abstract< T >,
-                mpl::identity<abstract>,
-                mpl::identity<non_abstract>       
-            >::type typex;
-        return typex::template register_type< T >(ar);
-    }
-
-    struct non_polymorphic
-    {
-        template<class T>
-        static void save(
-            Archive &ar, 
-            T & t
-        ){
-            const basic_pointer_oserializer & bpos = 
-                boost::serialization::singleton<
-                    pointer_oserializer<Archive, T>
-                >::get_const_instance();
-            // save the requested pointer type
-            ar.save_pointer(& t, & bpos);
-        }
-    };
-
-    struct polymorphic
-    {
-        template<class T>
-        static void save(
-            Archive &ar, 
-            T & t
-        ){
-            BOOST_DEDUCED_TYPENAME 
-            boost::serialization::type_info_implementation< T >::type const
-            & i = boost::serialization::singleton<
-                BOOST_DEDUCED_TYPENAME 
-                boost::serialization::type_info_implementation< T >::type
-            >::get_const_instance();
-
-            boost::serialization::extended_type_info const * const this_type = & i;
-
-            // retrieve the true type of the object pointed to
-            // if this assertion fails its an error in this library
-            BOOST_ASSERT(NULL != this_type);
-
-            const boost::serialization::extended_type_info * true_type =
-                i.get_derived_extended_type_info(t);
-
-            // note:if this exception is thrown, be sure that derived pointer
-            // is either registered or exported.
-            if(NULL == true_type){
-                boost::serialization::throw_exception(
-                    archive_exception(
-                        archive_exception::unregistered_class,
-                        "derived class not registered or exported"
-                    )
-                );
-            }
-
-            // if its not a pointer to a more derived type
-            const void *vp = static_cast<const void *>(&t);
-            if(*this_type == *true_type){
-                const basic_pointer_oserializer * bpos = register_type(ar, t);
-                ar.save_pointer(vp, bpos);
-                return;
-            }
-            // convert pointer to more derived type. if this is thrown
-            // it means that the base/derived relationship hasn't be registered
-            vp = serialization::void_downcast(
-                *true_type, 
-                *this_type, 
-                static_cast<const void *>(&t)
-            );
-            if(NULL == vp){
-                boost::serialization::throw_exception(
-                    archive_exception(
-                        archive_exception::unregistered_cast,
-                        true_type->get_debug_info(),
-                        this_type->get_debug_info()
-                    )
-                );
-            }
-
-            // since true_type is valid, and this only gets made if the 
-            // pointer oserializer object has been created, this should never
-            // fail
-            const basic_pointer_oserializer * bpos
-                = static_cast<const basic_pointer_oserializer *>(
-                    boost::serialization::singleton<
-                        archive_serializer_map<Archive>
-                    >::get_const_instance().find(*true_type)
-                );
-            BOOST_ASSERT(NULL != bpos);
-            if(NULL == bpos)
-                boost::serialization::throw_exception(
-                    archive_exception(
-                        archive_exception::unregistered_class,
-                        "derived class not registered or exported"
-                    )
-                );
-            ar.save_pointer(vp, bpos);
-        }
-    };
-
-    template<class T>
-    static void save(
-        Archive & ar, 
-        const T & t
-    ){
-        check_pointer_level< T >();
-        check_pointer_tracking< T >();
-        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            is_polymorphic< T >,
-            mpl::identity<polymorphic>,
-            mpl::identity<non_polymorphic>
-        >::type type;
-        type::save(ar, const_cast<T &>(t));
-    }
-
-    template<class TPtr>
-    static void invoke(Archive &ar, const TPtr t){
-        register_type(ar, * t);
-        if(NULL == t){
-            basic_oarchive & boa 
-                = boost::serialization::smart_cast_reference<basic_oarchive &>(ar);
-            boa.save_null_pointer();
-            save_access::end_preamble(ar);
-            return;
-        }
-        save(ar, * t);
-    }
-};
-
-template<class Archive>
-struct save_enum_type
-{
-    template<class T>
-    static void invoke(Archive &ar, const T &t){
-        // convert enum to integers on save
-        const int i = static_cast<int>(t);
-        ar << boost::serialization::make_nvp(NULL, i);
-    }
-};
-
-template<class Archive>
-struct save_array_type
-{
-    template<class T>
-    static void invoke(Archive &ar, const T &t){
-        typedef BOOST_DEDUCED_TYPENAME boost::remove_extent< T >::type value_type;
-        
-        save_access::end_preamble(ar);
-        // consider alignment
-        std::size_t c = sizeof(t) / (
-            static_cast<const char *>(static_cast<const void *>(&t[1])) 
-            - static_cast<const char *>(static_cast<const void *>(&t[0]))
-        );
-        boost::serialization::collection_size_type count(c);
-        ar << BOOST_SERIALIZATION_NVP(count);
-        ar << serialization::make_array(static_cast<value_type const*>(&t[0]),count);
-    }
-};
-
-} // detail
-
-template<class Archive, class T>
-inline void save(Archive & ar, /*const*/ T &t){
-    typedef 
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<is_pointer< T >,
-            mpl::identity<detail::save_pointer_type<Archive> >,
-        //else
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<is_enum< T >,
-            mpl::identity<detail::save_enum_type<Archive> >,
-        //else
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<is_array< T >,
-            mpl::identity<detail::save_array_type<Archive> >,
-        //else
-            mpl::identity<detail::save_non_pointer_type<Archive> >
-        >
-        >
-        >::type typex;
-    typex::invoke(ar, t);
-}
-
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_OSERIALIZER_HPP
diff --git a/SRC/Boost/boost/archive/detail/polymorphic_iarchive_route.hpp b/SRC/Boost/boost/archive/detail/polymorphic_iarchive_route.hpp
deleted file mode 100755
index 3be5004..0000000
--- a/SRC/Boost/boost/archive/detail/polymorphic_iarchive_route.hpp
+++ /dev/null
@@ -1,215 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_ROUTE_HPP
-#define BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_ROUTE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_iarchive_route.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <string>
-#include <ostream>
-#include <cstddef>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::size_t;
-} // namespace std
-#endif
-
-#include <boost/cstdint.hpp>
-#include <boost/integer_traits.hpp>
-#include <boost/archive/polymorphic_iarchive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-namespace archive {
-namespace detail{
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-template<class ArchiveImplementation>
-class polymorphic_iarchive_route :
-    public polymorphic_iarchive,
-    // note: gcc dynamic cross cast fails if the the derivation below is
-    // not public.  I think this is a mistake.
-    public /*protected*/ ArchiveImplementation
-{
-private:
-    // these are used by the serialization library.
-    virtual void load_object(
-        void *t,
-        const basic_iserializer & bis
-    ){
-        ArchiveImplementation::load_object(t, bis);
-    }
-    virtual const basic_pointer_iserializer * load_pointer(
-        void * & t,
-        const basic_pointer_iserializer * bpis_ptr,
-        const basic_pointer_iserializer * (*finder)(
-            const boost::serialization::extended_type_info & type
-        )
-    ){
-        return ArchiveImplementation::load_pointer(t, bpis_ptr, finder);
-    }
-    virtual void set_library_version(library_version_type archive_library_version){
-        ArchiveImplementation::set_library_version(archive_library_version);
-    }
-    virtual library_version_type get_library_version() const{
-        return ArchiveImplementation::get_library_version();
-    }
-    virtual unsigned int get_flags() const {
-        return ArchiveImplementation::get_flags();
-    }
-    virtual void delete_created_pointers(){
-        ArchiveImplementation::delete_created_pointers();
-    }
-    virtual void reset_object_address(
-        const void * new_address,
-        const void * old_address
-    ){
-        ArchiveImplementation::reset_object_address(new_address, old_address);
-    }
-    virtual void load_binary(void * t, std::size_t size){
-        ArchiveImplementation::load_binary(t, size);
-    }
-    // primitive types the only ones permitted by polymorphic archives
-    virtual void load(bool & t){
-        ArchiveImplementation::load(t);
-    }
-    virtual void load(char & t){
-        ArchiveImplementation::load(t);
-    }
-    virtual void load(signed char & t){
-        ArchiveImplementation::load(t);
-    }
-    virtual void load(unsigned char & t){
-        ArchiveImplementation::load(t);
-    }
-    #ifndef BOOST_NO_CWCHAR
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    virtual void load(wchar_t & t){
-        ArchiveImplementation::load(t);
-    }
-    #endif
-    #endif
-    virtual void load(short & t){
-        ArchiveImplementation::load(t);
-    }
-    virtual void load(unsigned short & t){
-        ArchiveImplementation::load(t);
-    }
-    virtual void load(int & t){
-        ArchiveImplementation::load(t);
-    }
-    virtual void load(unsigned int & t){
-        ArchiveImplementation::load(t);
-    }
-    virtual void load(long & t){
-        ArchiveImplementation::load(t);
-    }
-    virtual void load(unsigned long & t){
-        ArchiveImplementation::load(t);
-    }
-    #if defined(BOOST_HAS_LONG_LONG)
-    virtual void load(boost::long_long_type & t){
-        ArchiveImplementation::load(t);
-    }
-    virtual void load(boost::ulong_long_type & t){
-        ArchiveImplementation::load(t);
-    }
-    #elif defined(BOOST_HAS_MS_INT64)
-    virtual void load(__int64 & t){
-        ArchiveImplementation::load(t);
-    }
-    virtual void load(unsigned __int64 & t){
-        ArchiveImplementation::load(t);
-    }
-    #endif
-    virtual void load(float & t){
-        ArchiveImplementation::load(t);
-    }
-    virtual void load(double & t){
-        ArchiveImplementation::load(t);
-    }
-    virtual void load(std::string & t){
-        ArchiveImplementation::load(t);
-    }
-    #ifndef BOOST_NO_STD_WSTRING
-    virtual void load(std::wstring & t){
-        ArchiveImplementation::load(t);
-    }
-    #endif
-    // used for xml and other tagged formats default does nothing
-    virtual void load_start(const char * name){
-        ArchiveImplementation::load_start(name);
-    }
-    virtual void load_end(const char * name){
-        ArchiveImplementation::load_end(name);
-    }
-
-    virtual void register_basic_serializer(const basic_iserializer & bis){
-        ArchiveImplementation::register_basic_serializer(bis);
-    }
-public:
-    // this can't be inheriteded because they appear in mulitple
-    // parents
-    typedef mpl::bool_<true> is_loading;
-    typedef mpl::bool_<false> is_saving;
-    // the >> operator
-    template<class T>
-    polymorphic_iarchive & operator>>(T & t){
-        return polymorphic_iarchive::operator>>(t);
-    }
-    // the & operator
-    template<class T>
-    polymorphic_iarchive & operator&(T & t){
-        return polymorphic_iarchive::operator&(t);
-    }
-    // register type function
-    template<class T>
-    const basic_pointer_iserializer * 
-    register_type(T * t = NULL){
-        return ArchiveImplementation::register_type(t);
-    }
-    // all current archives take a stream as constructor argument
-    template <class _Elem, class _Tr>
-    polymorphic_iarchive_route(
-        std::basic_istream<_Elem, _Tr> & is,
-        unsigned int flags = 0
-    ) :
-        ArchiveImplementation(is, flags)
-    {}
-    virtual ~polymorphic_iarchive_route(){};
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_DISPATCH_HPP
diff --git a/SRC/Boost/boost/archive/detail/polymorphic_oarchive_route.hpp b/SRC/Boost/boost/archive/detail/polymorphic_oarchive_route.hpp
deleted file mode 100755
index 40d7cd5..0000000
--- a/SRC/Boost/boost/archive/detail/polymorphic_oarchive_route.hpp
+++ /dev/null
@@ -1,205 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_ROUTE_HPP
-#define BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_ROUTE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_oarchive_route.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <string>
-#include <ostream>
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::size_t;
-} // namespace std
-#endif
-
-#include <boost/cstdint.hpp>
-#include <boost/integer_traits.hpp>
-#include <boost/archive/polymorphic_oarchive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-namespace archive {
-namespace detail{
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-template<class ArchiveImplementation>
-class polymorphic_oarchive_route :
-    public polymorphic_oarchive,
-    // note: gcc dynamic cross cast fails if the the derivation below is
-    // not public.  I think this is a mistake.
-    public /*protected*/ ArchiveImplementation
-{
-private:
-    // these are used by the serialization library.
-    virtual void save_object(
-        const void *x,
-        const detail::basic_oserializer & bos
-    ){
-        ArchiveImplementation::save_object(x, bos);
-    }
-    virtual void save_pointer(
-        const void * t,
-        const detail::basic_pointer_oserializer * bpos_ptr
-    ){
-        ArchiveImplementation::save_pointer(t, bpos_ptr);
-    }
-    virtual void save_null_pointer(){
-        ArchiveImplementation::save_null_pointer();
-    }
-    // primitive types the only ones permitted by polymorphic archives
-    virtual void save(const bool t){
-        ArchiveImplementation::save(t);
-    }
-    virtual void save(const char t){
-        ArchiveImplementation::save(t);
-    }
-    virtual void save(const signed char t){
-        ArchiveImplementation::save(t);
-    }
-    virtual void save(const unsigned char t){
-        ArchiveImplementation::save(t);
-    }
-    #ifndef BOOST_NO_CWCHAR
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    virtual void save(const wchar_t t){
-        ArchiveImplementation::save(t);
-    }
-    #endif
-    #endif
-    virtual void save(const short t){
-        ArchiveImplementation::save(t);
-    }
-    virtual void save(const unsigned short t){
-        ArchiveImplementation::save(t);
-    }
-    virtual void save(const int t){
-        ArchiveImplementation::save(t);
-    }
-    virtual void save(const unsigned int t){
-        ArchiveImplementation::save(t);
-    }
-    virtual void save(const long t){
-        ArchiveImplementation::save(t);
-    }
-    virtual void save(const unsigned long t){
-        ArchiveImplementation::save(t);
-    }
-    #if defined(BOOST_HAS_LONG_LONG)
-    virtual void save(const boost::long_long_type t){
-        ArchiveImplementation::save(t);
-    }
-    virtual void save(const boost::ulong_long_type t){
-        ArchiveImplementation::save(t);
-    }
-    #elif defined(BOOST_HAS_MS_INT64)
-    virtual void save(const boost::int64_t t){
-        ArchiveImplementation::save(t);
-    }
-    virtual void save(const boost::uint64_t t){
-        ArchiveImplementation::save(t);
-    }
-    #endif
-    virtual void save(const float t){
-        ArchiveImplementation::save(t);
-    }
-    virtual void save(const double t){
-        ArchiveImplementation::save(t);
-    }
-    virtual void save(const std::string & t){
-        ArchiveImplementation::save(t);
-    }
-    #ifndef BOOST_NO_STD_WSTRING
-    virtual void save(const std::wstring & t){
-        ArchiveImplementation::save(t);
-    }
-    #endif
-    virtual library_version_type get_library_version() const{
-        return ArchiveImplementation::get_library_version();
-    }
-    virtual unsigned int get_flags() const {
-        return ArchiveImplementation::get_flags();
-    }
-    virtual void save_binary(const void * t, std::size_t size){
-        ArchiveImplementation::save_binary(t, size);
-    }
-    // used for xml and other tagged formats default does nothing
-    virtual void save_start(const char * name){
-        ArchiveImplementation::save_start(name);
-    }
-    virtual void save_end(const char * name){
-        ArchiveImplementation::save_end(name);
-    }
-    virtual void end_preamble(){
-        ArchiveImplementation::end_preamble();
-    }
-    virtual void register_basic_serializer(const detail::basic_oserializer & bos){
-        ArchiveImplementation::register_basic_serializer(bos);
-    }
-public:
-    // this can't be inheriteded because they appear in mulitple
-    // parents
-    typedef mpl::bool_<false> is_loading;
-    typedef mpl::bool_<true> is_saving;
-    // the << operator
-    template<class T>
-    polymorphic_oarchive & operator<<(T & t){
-        return polymorphic_oarchive::operator<<(t);
-    }
-    // the & operator
-    template<class T>
-    polymorphic_oarchive & operator&(T & t){
-        return polymorphic_oarchive::operator&(t);
-    }
-    // register type function
-    template<class T>
-    const basic_pointer_oserializer * 
-    register_type(T * t = NULL){
-        return ArchiveImplementation::register_type(t);
-    }
-    // all current archives take a stream as constructor argument
-    template <class _Elem, class _Tr>
-    polymorphic_oarchive_route(
-        std::basic_ostream<_Elem, _Tr> & os,
-        unsigned int flags = 0
-    ) :
-        ArchiveImplementation(os, flags)
-    {}
-    virtual ~polymorphic_oarchive_route(){};
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_DISPATCH_HPP
diff --git a/SRC/Boost/boost/archive/impl/archive_serializer_map.ipp b/SRC/Boost/boost/archive/impl/archive_serializer_map.ipp
deleted file mode 100755
index c55f818..0000000
--- a/SRC/Boost/boost/archive/impl/archive_serializer_map.ipp
+++ /dev/null
@@ -1,71 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// archive_serializer_map.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-//////////////////////////////////////////////////////////////////////
-// implementation of basic_text_iprimitive overrides for the combination
-// of template parameters used to implement a text_iprimitive
-
-#include <boost/config.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-#include <boost/archive/detail/basic_serializer_map.hpp>
-#include <boost/serialization/singleton.hpp>
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace extra_detail { // anon
-    template<class Archive>
-    class map : public basic_serializer_map 
-    {};
-}
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(bool)
-archive_serializer_map<Archive>::insert(const basic_serializer * bs){
-    return boost::serialization::singleton<
-        extra_detail::map<Archive>
-    >::get_mutable_instance().insert(bs);
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-archive_serializer_map<Archive>::erase(const basic_serializer * bs){
-    if(boost::serialization::singleton<
-        extra_detail::map<Archive>
-    >::is_destroyed())
-        return;
-    boost::serialization::singleton<
-        extra_detail::map<Archive>
-    >::get_mutable_instance().erase(bs);
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(const basic_serializer *) 
-archive_serializer_map<Archive>::find(
-    const boost::serialization::extended_type_info & eti
-) {
-    return boost::serialization::singleton<
-        extra_detail::map<Archive>
-    >::get_const_instance().find(eti);
-}
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/basic_binary_iarchive.ipp b/SRC/Boost/boost/archive/impl/basic_binary_iarchive.ipp
deleted file mode 100755
index 002b7a9..0000000
--- a/SRC/Boost/boost/archive/impl/basic_binary_iarchive.ipp
+++ /dev/null
@@ -1,129 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_binary_iarchive.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <string>
-#include <boost/assert.hpp>
-#include <algorithm>
-#include <cstring>
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::memcpy; 
-    using ::strlen;
-    using ::size_t;
-}
-#endif
-
-#include <boost/detail/workaround.hpp>
-#include <boost/detail/endian.hpp>
-
-#include <boost/archive/basic_binary_iarchive.hpp>
-
-namespace boost {
-namespace archive {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implementation of binary_binary_archive
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_binary_iarchive<Archive>::load_override(class_name_type & t, int){
-    std::string cn;
-    cn.reserve(BOOST_SERIALIZATION_MAX_KEY_SIZE);
-    load_override(cn, 0);
-    if(cn.size() > (BOOST_SERIALIZATION_MAX_KEY_SIZE - 1))
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::invalid_class_name)
-        );
-    std::memcpy(t, cn.data(), cn.size());
-    // borland tweak
-    t.t[cn.size()] = '\0';
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_binary_iarchive<Archive>::init(){
-    // read signature in an archive version independent manner
-    std::string file_signature;
-    try {
-        std::size_t l;
-        this->This()->load(l);
-        if(l == std::strlen(BOOST_ARCHIVE_SIGNATURE())) {
-            // borland de-allocator fixup
-            #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
-            if(NULL != file_signature.data())
-            #endif
-                file_signature.resize(l);
-            // note breaking a rule here - could be a problem on some platform
-            if(0 < l)
-                this->This()->load_binary(&(*file_signature.begin()), l);
-        }
-    }
-    catch(archive_exception const &) {  // catch stream_error archive exceptions
-        // will cause invalid_signature archive exception to be thrown below
-        file_signature = "";   
-    }
-    if(file_signature != BOOST_ARCHIVE_SIGNATURE())
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::invalid_signature)
-        );
-
-    // make sure the version of the reading archive library can
-    // support the format of the archive being read
-    library_version_type input_library_version;
-    //* this->This() >> input_library_version;
-    {
-        int v = 0;
-        v = this->This()->m_sb.sbumpc();
-        #if defined(BOOST_LITTLE_ENDIAN)
-        if(v < 6){
-            ;
-        }
-        else
-        if(v < 7){
-            // version 6 - next byte should be zero
-            this->This()->m_sb.sbumpc();
-        }
-        else
-        if(v < 8){
-            int x1;
-            // version 7 = might be followed by zero or some other byte
-            x1 = this->This()->m_sb.sgetc();
-            // it's =a zero, push it back
-            if(0 == x1)
-                this->This()->m_sb.sbumpc();
-        }
-        else{
-            // version 8+ followed by a zero
-            this->This()->m_sb.sbumpc();
-        }
-        #elif defined(BOOST_BIG_ENDIAN)
-        if(v == 0)
-            v = this->This()->m_sb.sbumpc();
-        #endif
-        input_library_version = static_cast<library_version_type>(v);
-    }
-    
-    #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
-    this->set_library_version(input_library_version);
-    #else
-    #if ! BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
-    detail::
-    #endif
-    basic_iarchive::set_library_version(input_library_version);
-    #endif
-    
-    if(BOOST_ARCHIVE_VERSION() < input_library_version)
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::unsupported_version)
-        );
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/basic_binary_iprimitive.ipp b/SRC/Boost/boost/archive/impl/basic_binary_iprimitive.ipp
deleted file mode 100755
index a2f3dee..0000000
--- a/SRC/Boost/boost/archive/impl/basic_binary_iprimitive.ipp
+++ /dev/null
@@ -1,209 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_binary_iprimitive.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-#include <cstddef> // size_t, NULL
-#include <cstring> // memcpy
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t;
-    using ::memcpy;
-} // namespace std
-#endif
-
-#include <boost/detail/workaround.hpp> // fixup for RogueWave
-
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/scoped_ptr.hpp>
-
-#include <boost/archive/archive_exception.hpp>
-#include <boost/archive/codecvt_null.hpp>
-#include <boost/archive/add_facet.hpp>
-
-namespace boost {
-namespace archive {
-
-//////////////////////////////////////////////////////////////////////
-// implementation of basic_binary_iprimitive
-
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_binary_iprimitive<Archive, Elem, Tr>::init()
-{
-    // Detect  attempts to pass native binary archives across
-    // incompatible platforms. This is not fool proof but its
-    // better than nothing.
-    unsigned char size;
-    this->This()->load(size);
-    if(sizeof(int) != size)
-        boost::serialization::throw_exception(
-            archive_exception(
-                archive_exception::incompatible_native_format,
-                "size of int"
-            )
-        );
-    this->This()->load(size);
-    if(sizeof(long) != size)
-        boost::serialization::throw_exception(
-            archive_exception(
-                archive_exception::incompatible_native_format,
-                "size of long"
-            )
-        );
-    this->This()->load(size);
-    if(sizeof(float) != size)
-        boost::serialization::throw_exception(
-            archive_exception(
-                archive_exception::incompatible_native_format,
-                "size of float"
-            )
-        );
-    this->This()->load(size);
-    if(sizeof(double) != size)
-        boost::serialization::throw_exception(
-            archive_exception(
-                archive_exception::incompatible_native_format,
-                "size of double"
-            )
-        );
-
-    // for checking endian
-    int i;
-    this->This()->load(i);
-    if(1 != i)
-        boost::serialization::throw_exception(
-            archive_exception(
-                archive_exception::incompatible_native_format,
-                "endian setting"
-            )
-        );
-}
-
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_binary_iprimitive<Archive, Elem, Tr>::load(wchar_t * ws)
-{
-    std::size_t l; // number of wchar_t !!!
-    this->This()->load(l);
-    load_binary(ws, l * sizeof(wchar_t) / sizeof(char));
-    ws[l] = L'\0';
-}
-
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_binary_iprimitive<Archive, Elem, Tr>::load(std::string & s)
-{
-    std::size_t l;
-    this->This()->load(l);
-    // borland de-allocator fixup
-    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
-    if(NULL != s.data())
-    #endif
-        s.resize(l);
-    // note breaking a rule here - could be a problem on some platform
-    if(0 < l)
-        load_binary(&(*s.begin()), l);
-}
-
-#ifndef BOOST_NO_CWCHAR
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_binary_iprimitive<Archive, Elem, Tr>::load(char * s)
-{
-    std::size_t l;
-    this->This()->load(l);
-    load_binary(s, l);
-    s[l] = '\0';
-}
-#endif
-
-#ifndef BOOST_NO_STD_WSTRING
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_binary_iprimitive<Archive, Elem, Tr>::load(std::wstring & ws)
-{
-    std::size_t l;
-    this->This()->load(l);
-    // borland de-allocator fixup
-    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
-    if(NULL != ws.data())
-    #endif
-        ws.resize(l);
-    // note breaking a rule here - is could be a problem on some platform
-    load_binary(const_cast<wchar_t *>(ws.data()), l * sizeof(wchar_t) / sizeof(char));
-}
-#endif
-
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_binary_iprimitive<Archive, Elem, Tr>::basic_binary_iprimitive(
-    std::basic_streambuf<Elem, Tr> & sb, 
-    bool no_codecvt
-) :
-#ifndef BOOST_NO_STD_LOCALE
-    m_sb(sb),
-    archive_locale(NULL),
-    locale_saver(m_sb)
-{
-    if(! no_codecvt){
-        archive_locale.reset(
-            boost::archive::add_facet(
-                std::locale::classic(),
-                new codecvt_null<Elem>
-            )
-        );
-        m_sb.pubimbue(* archive_locale);
-    }
-}
-#else
-    m_sb(sb)
-{}
-#endif
-
-// some libraries including stl and libcomo fail if the
-// buffer isn't flushed before the code_cvt facet is changed.
-// I think this is a bug.  We explicity invoke sync to when
-// we're done with the streambuf to work around this problem.
-// Note that sync is a protected member of stream buff so we
-// have to invoke it through a contrived derived class.
-namespace detail {
-// note: use "using" to get past msvc bug
-using namespace std;
-template<class Elem, class Tr>
-class input_streambuf_access : public std::basic_streambuf<Elem, Tr> {
-    public:
-        virtual int sync(){
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206))
-            return this->basic_streambuf::sync();
-#else
-            return this->basic_streambuf<Elem, Tr>::sync();
-#endif
-        }
-};
-} // detail
-
-// scoped_ptr requires that archive_locale be a complete type at time of
-// destruction so define destructor here rather than in the header
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_binary_iprimitive<Archive, Elem, Tr>::~basic_binary_iprimitive(){
-    // push back unread characters
-    //destructor can't throw !
-    try{
-        static_cast<detail::input_streambuf_access<Elem, Tr> &>(m_sb).sync();
-    }
-    catch(...){
-    }
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/basic_binary_oarchive.ipp b/SRC/Boost/boost/archive/impl/basic_binary_oarchive.ipp
deleted file mode 100755
index 1317585..0000000
--- a/SRC/Boost/boost/archive/impl/basic_binary_oarchive.ipp
+++ /dev/null
@@ -1,46 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_binary_oarchive.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <string>
-#include <boost/assert.hpp>
-#include <algorithm>
-#include <cstring>
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::memcpy; 
-}
-#endif
-
-#include <boost/archive/basic_binary_oarchive.hpp>
-
-namespace boost {
-namespace archive {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implementation of binary_binary_oarchive
-
-template<class Archive>
-#if !defined(__BORLANDC__)
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-#else
-void
-#endif
-basic_binary_oarchive<Archive>::init(){
-    // write signature in an archive version independent manner
-    const std::string file_signature(BOOST_ARCHIVE_SIGNATURE());
-    * this->This() << file_signature;
-    // write library version
-    const library_version_type v(BOOST_ARCHIVE_VERSION());
-    * this->This() << v;
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/basic_binary_oprimitive.ipp b/SRC/Boost/boost/archive/impl/basic_binary_oprimitive.ipp
deleted file mode 100755
index d69f4b7..0000000
--- a/SRC/Boost/boost/archive/impl/basic_binary_oprimitive.ipp
+++ /dev/null
@@ -1,160 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_binary_oprimitive.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <ostream>
-#include <cstddef> // NULL
-#include <cstring>
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_NO_STDC_NAMESPACE) && ! defined(__LIBCOMO__)
-namespace std{ 
-    using ::strlen; 
-} // namespace std
-#endif
-
-#ifndef BOOST_NO_CWCHAR
-#include <cwchar>
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{ using ::wcslen; }
-#endif
-#endif
-
-#include <boost/detail/workaround.hpp>
-
-#include <boost/archive/add_facet.hpp>
-#include <boost/archive/codecvt_null.hpp>
-
-namespace boost {
-namespace archive {
-
-//////////////////////////////////////////////////////////////////////
-// implementation of basic_binary_oprimitive
-
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_binary_oprimitive<Archive, Elem, Tr>::init()
-{
-    // record native sizes of fundamental types
-    // this is to permit detection of attempts to pass
-    // native binary archives accross incompatible machines.
-    // This is not foolproof but its better than nothing.
-    this->This()->save(static_cast<unsigned char>(sizeof(int)));
-    this->This()->save(static_cast<unsigned char>(sizeof(long)));
-    this->This()->save(static_cast<unsigned char>(sizeof(float)));
-    this->This()->save(static_cast<unsigned char>(sizeof(double)));
-    // for checking endianness
-    this->This()->save(int(1));
-}
-
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_binary_oprimitive<Archive, Elem, Tr>::save(const char * s)
-{
-    std::size_t l = std::strlen(s);
-    this->This()->save(l);
-    save_binary(s, l);
-}
-
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_binary_oprimitive<Archive, Elem, Tr>::save(const std::string &s)
-{
-    std::size_t l = static_cast<std::size_t>(s.size());
-    this->This()->save(l);
-    save_binary(s.data(), l);
-}
-
-#ifndef BOOST_NO_CWCHAR
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_binary_oprimitive<Archive, Elem, Tr>::save(const wchar_t * ws)
-{
-    std::size_t l = std::wcslen(ws);
-    this->This()->save(l);
-    save_binary(ws, l * sizeof(wchar_t) / sizeof(char));
-}
-#endif
-
-#ifndef BOOST_NO_STD_WSTRING
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_binary_oprimitive<Archive, Elem, Tr>::save(const std::wstring &ws)
-{
-    std::size_t l = ws.size();
-    this->This()->save(l);
-    save_binary(ws.data(), l * sizeof(wchar_t) / sizeof(char));
-}
-#endif
-
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_binary_oprimitive<Archive, Elem, Tr>::basic_binary_oprimitive(
-    std::basic_streambuf<Elem, Tr> & sb, 
-    bool no_codecvt
-) : 
-#ifndef BOOST_NO_STD_LOCALE
-    m_sb(sb),
-    archive_locale(NULL),
-    locale_saver(m_sb)
-{
-    if(! no_codecvt){
-        archive_locale.reset(
-            add_facet(
-                std::locale::classic(), 
-                new codecvt_null<Elem>
-            )
-        );
-        m_sb.pubimbue(* archive_locale);
-    }
-}
-#else
-    m_sb(sb)
-{}
-#endif
-
-// some libraries including stl and libcomo fail if the
-// buffer isn't flushed before the code_cvt facet is changed.
-// I think this is a bug.  We explicity invoke sync to when
-// we're done with the streambuf to work around this problem.
-// Note that sync is a protected member of stream buff so we
-// have to invoke it through a contrived derived class.
-namespace detail {
-// note: use "using" to get past msvc bug
-using namespace std;
-template<class Elem, class Tr>
-class output_streambuf_access : public std::basic_streambuf<Elem, Tr> {
-    public:
-        virtual int sync(){
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206))
-            return this->basic_streambuf::sync();
-#else
-            return this->basic_streambuf<Elem, Tr>::sync();
-#endif
-        }
-};
-} // detail
-
-// scoped_ptr requires that g be a complete type at time of
-// destruction so define destructor here rather than in the header
-template<class Archive, class Elem, class Tr>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_binary_oprimitive<Archive, Elem, Tr>::~basic_binary_oprimitive(){
-    // flush buffer
-    //destructor can't throw
-    try{
-        static_cast<detail::output_streambuf_access<Elem, Tr> &>(m_sb).sync();
-    }
-    catch(...){
-    }
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/basic_text_iarchive.ipp b/SRC/Boost/boost/archive/impl/basic_text_iarchive.ipp
deleted file mode 100755
index 0ac2ce2..0000000
--- a/SRC/Boost/boost/archive/impl/basic_text_iarchive.ipp
+++ /dev/null
@@ -1,79 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_text_iarchive.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <string>
-#include <algorithm>
-#include <cstring>
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::memcpy; 
-}
-#endif
-
-#include <boost/detail/workaround.hpp>
-#include <boost/serialization/string.hpp>
-#include <boost/archive/basic_text_iarchive.hpp>
-
-namespace boost {
-namespace archive {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implementation of text_text_archive
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_text_iarchive<Archive>::load_override(class_name_type & t, int){
-    std::string cn;
-    cn.reserve(BOOST_SERIALIZATION_MAX_KEY_SIZE);
-    load_override(cn, 0);
-    if(cn.size() > (BOOST_SERIALIZATION_MAX_KEY_SIZE - 1))
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::invalid_class_name)
-        );
-    std::memcpy(t, cn.data(), cn.size());
-    // borland tweak
-    t.t[cn.size()] = '\0';
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_text_iarchive<Archive>::init(void){
-    // read signature in an archive version independent manner
-    std::string file_signature;
-    * this->This() >> file_signature;
-    if(file_signature != BOOST_ARCHIVE_SIGNATURE())
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::invalid_signature)
-        );
-
-    // make sure the version of the reading archive library can
-    // support the format of the archive being read
-    library_version_type input_library_version;
-    * this->This() >> input_library_version;
-
-    #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
-    this->set_library_version(input_library_version);
-    #else
-    #if ! BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
-    detail::
-    #endif
-    basic_iarchive::set_library_version(input_library_version);
-    #endif
-
-    // extra little .t is to get around borland quirk
-    if(BOOST_ARCHIVE_VERSION() < input_library_version)
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::unsupported_version)
-        );
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/basic_text_iprimitive.ipp b/SRC/Boost/boost/archive/impl/basic_text_iprimitive.ipp
deleted file mode 100755
index d7e91fa..0000000
--- a/SRC/Boost/boost/archive/impl/basic_text_iprimitive.ipp
+++ /dev/null
@@ -1,154 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_text_iprimitive.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // size_t
-#include <cstddef> // NULL
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/archive/basic_text_iprimitive.hpp>
-#include <boost/archive/codecvt_null.hpp>
-#include <boost/archive/add_facet.hpp>
-
-#include <boost/archive/iterators/remove_whitespace.hpp>
-#include <boost/archive/iterators/istream_iterator.hpp>
-#include <boost/archive/iterators/binary_from_base64.hpp>
-#include <boost/archive/iterators/transform_width.hpp>
-
-namespace boost { 
-namespace archive {
-
-namespace {
-    template<class CharType>
-    bool is_whitespace(CharType c);
-
-    template<>
-    bool is_whitespace(char t){
-        return 0 != std::isspace(t);
-    }
-
-    #ifndef BOOST_NO_CWCHAR
-    template<>
-    bool is_whitespace(wchar_t t){
-        return 0 != std::iswspace(t);
-    }
-    #endif
-}
-
-// translate base64 text into binary and copy into buffer
-// until buffer is full.
-template<class IStream>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_text_iprimitive<IStream>::load_binary(
-    void *address, 
-    std::size_t count
-){
-    typedef BOOST_DEDUCED_TYPENAME IStream::char_type CharType;
-    
-    if(0 == count)
-        return;
-        
-    BOOST_ASSERT(
-        static_cast<std::size_t>((std::numeric_limits<std::streamsize>::max)())
-        > (count + sizeof(CharType) - 1)/sizeof(CharType)
-    );
-        
-    if(is.fail())
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::input_stream_error)
-        );
-    // convert from base64 to binary
-    typedef BOOST_DEDUCED_TYPENAME
-        iterators::transform_width<
-            iterators::binary_from_base64<
-                iterators::remove_whitespace<
-                    iterators::istream_iterator<CharType>
-                >
-                ,CharType
-            >
-            ,8
-            ,6
-            ,CharType
-        > 
-        binary;
-
-    binary ti_begin = binary(
-        BOOST_MAKE_PFTO_WRAPPER(
-            iterators::istream_iterator<CharType>(is)
-        )
-    );
-                
-    char * caddr = static_cast<char *>(address);
-    
-    // take care that we don't increment anymore than necessary
-    while(--count > 0){
-        *caddr++ = static_cast<char>(*ti_begin);
-        ++ti_begin;
-    }
-    *caddr++ = static_cast<char>(*ti_begin);
-    
-    iterators::istream_iterator<CharType> i;
-    for(;;){
-        BOOST_DEDUCED_TYPENAME IStream::int_type r;
-        r = is.get();
-        if(is.eof())
-            break;
-        if(is_whitespace(static_cast<CharType>(r)))
-            break;
-    }
-}
-
-template<class IStream>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_text_iprimitive<IStream>::basic_text_iprimitive(
-    IStream  &is_,
-    bool no_codecvt
-) :
-#ifndef BOOST_NO_STD_LOCALE
-    is(is_),
-    flags_saver(is_),
-    precision_saver(is_),
-    archive_locale(NULL),
-    locale_saver(* is_.rdbuf())
-{
-    if(! no_codecvt){
-        archive_locale.reset(
-            add_facet(
-                std::locale::classic(), 
-                new codecvt_null<BOOST_DEDUCED_TYPENAME IStream::char_type>
-            )
-        );
-        is.imbue(* archive_locale);
-    }
-    is >> std::noboolalpha;
-}
-#else
-    is(is_),
-    flags_saver(is_),
-    precision_saver(is_)
-{}
-#endif
-
-template<class IStream>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_text_iprimitive<IStream>::~basic_text_iprimitive(){
-    is.sync();
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/basic_text_oarchive.ipp b/SRC/Boost/boost/archive/impl/basic_text_oarchive.ipp
deleted file mode 100755
index a9931c7..0000000
--- a/SRC/Boost/boost/archive/impl/basic_text_oarchive.ipp
+++ /dev/null
@@ -1,62 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_text_oarchive.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <string>
-#include <boost/assert.hpp>
-#include <cstring>
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::memcpy; 
-}
-#endif
-
-#include <boost/archive/basic_text_oarchive.hpp>
-
-namespace boost {
-namespace archive {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implementation of basic_text_oarchive
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_text_oarchive<Archive>::newtoken()
-{
-    switch(delimiter){
-    default:
-        BOOST_ASSERT(false);
-        break;
-    case eol:
-        this->This()->put('\n');
-        delimiter = space;
-        break;
-    case space:
-        this->This()->put(' ');
-        break;
-    case none:
-        delimiter = space;
-        break;
-    }
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_text_oarchive<Archive>::init(){
-    // write signature in an archive version independent manner
-    const std::string file_signature(BOOST_ARCHIVE_SIGNATURE());
-    * this->This() << file_signature;
-    // write library version
-    const library_version_type v(BOOST_ARCHIVE_VERSION());
-    * this->This() << v;
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/basic_text_oprimitive.ipp b/SRC/Boost/boost/archive/impl/basic_text_oprimitive.ipp
deleted file mode 100755
index 10b4bb3..0000000
--- a/SRC/Boost/boost/archive/impl/basic_text_oprimitive.ipp
+++ /dev/null
@@ -1,114 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_text_oprimitive.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // NULL
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/archive/basic_text_oprimitive.hpp>
-#include <boost/archive/codecvt_null.hpp>
-#include <boost/archive/add_facet.hpp>
-
-#include <boost/archive/iterators/base64_from_binary.hpp>
-#include <boost/archive/iterators/insert_linebreaks.hpp>
-#include <boost/archive/iterators/transform_width.hpp>
-#include <boost/archive/iterators/ostream_iterator.hpp>
-
-namespace boost {
-namespace archive {
-
-// translate to base64 and copy in to buffer.
-template<class OStream>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_text_oprimitive<OStream>::save_binary(
-    const void *address, 
-    std::size_t count
-){
-    typedef BOOST_DEDUCED_TYPENAME OStream::char_type CharType;
-    
-    if(0 == count)
-        return;
-    
-    if(os.fail())
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::output_stream_error)
-        );
-        
-    os.put('\n');
-    
-    typedef 
-        boost::archive::iterators::insert_linebreaks<
-            boost::archive::iterators::base64_from_binary<
-                boost::archive::iterators::transform_width<
-                    const char *,
-                    6,
-                    8
-                >
-            > 
-            ,72
-            ,const char // cwpro8 needs this
-        > 
-        base64_text;
-
-    boost::archive::iterators::ostream_iterator<CharType> oi(os);
-    std::copy(
-        base64_text(BOOST_MAKE_PFTO_WRAPPER(static_cast<const char *>(address))),
-        base64_text(
-            BOOST_MAKE_PFTO_WRAPPER(static_cast<const char *>(address) + count)
-        ),
-        oi
-    );
-    
-    std::size_t tail = count % 3;
-    if(tail > 0){
-        *oi++ = '=';
-        if(tail < 2)
-            *oi = '=';
-    }
-}
-
-template<class OStream>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_text_oprimitive<OStream>::basic_text_oprimitive(
-    OStream & os_,
-    bool no_codecvt
-) : 
-#ifndef BOOST_NO_STD_LOCALE
-    os(os_),
-    flags_saver(os_),
-    precision_saver(os_),
-    archive_locale(NULL),
-    locale_saver(* os_.rdbuf())
-{
-    if(! no_codecvt){
-        archive_locale.reset(
-            add_facet(
-                std::locale::classic(), 
-                new codecvt_null<BOOST_DEDUCED_TYPENAME OStream::char_type>
-            )
-        );
-        os.imbue(* archive_locale);
-    }
-    os << std::noboolalpha;
-}
-#else
-    os(os_),
-    flags_saver(os_),
-    precision_saver(os_)
-{}
-#endif
-
-template<class OStream>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_text_oprimitive<OStream>::~basic_text_oprimitive(){
-    os << std::endl;
-}
-
-} //namespace boost 
-} //namespace archive 
diff --git a/SRC/Boost/boost/archive/impl/basic_xml_grammar.hpp b/SRC/Boost/boost/archive/impl/basic_xml_grammar.hpp
deleted file mode 100755
index f833c64..0000000
--- a/SRC/Boost/boost/archive/impl/basic_xml_grammar.hpp
+++ /dev/null
@@ -1,178 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_XML_GRAMMAR_HPP
-#define BOOST_ARCHIVE_BASIC_XML_GRAMMAR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_xml_grammar.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// this module is derived from simplexml.cpp - an example shipped as part of
-// the spirit parser.  This example contains the following notice:
-/*=============================================================================
-    simplexml.cpp
-
-    Spirit V1.3
-    URL: http://spirit.sourceforge.net/
-
-    Copyright (c) 2001, Daniel C. Nuffer
-
-    This software is provided 'as-is', without any express or implied
-    warranty. In no event will the copyright holder be held liable for
-    any damages arising from the use of this software.
-
-    Permission is granted to anyone to use this software for any purpose,
-    including commercial applications, and to alter it and redistribute
-    it freely, subject to the following restrictions:
-
-    1.  The origin of this software must not be misrepresented; you must
-        not claim that you wrote the original software. If you use this
-        software in a product, an acknowledgment in the product documentation
-        would be appreciated but is not required.
-
-    2.  Altered source versions must be plainly marked as such, and must
-        not be misrepresented as being the original software.
-
-    3.  This notice may not be removed or altered from any source
-        distribution.
-=============================================================================*/
-#include <string>
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-// supress noise
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <boost/spirit/include/classic_rule.hpp>
-#include <boost/spirit/include/classic_chset.hpp>
-
-#include <boost/archive/basic_archive.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/version.hpp>
-
-namespace boost {
-namespace archive {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// XML grammar parsing
-
-template<class CharType>
-class basic_xml_grammar {
-public:
-    // The following is not necessary according to DR45, but at least
-    // one compiler (Compaq C++ 6.5 in strict_ansi mode) chokes otherwise.
-    struct return_values;
-    friend struct return_values;
-    
-private:
-    typedef BOOST_DEDUCED_TYPENAME std::basic_istream<CharType> IStream;
-    typedef BOOST_DEDUCED_TYPENAME std::basic_string<CharType> StringType;
-    typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::chset<CharType> chset_t;
-    typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::chlit<CharType> chlit_t;
-    typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::scanner<
-        BOOST_DEDUCED_TYPENAME  std::basic_string<CharType>::iterator
-    > scanner_t;
-    typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::rule<scanner_t> rule_t;
-    // Start grammar definition
-    rule_t    
-        Reference,
-        Eq, 
-        STag,
-        ETag,
-        LetterOrUnderscoreOrColon,
-        AttValue, 
-        CharRef1, 
-        CharRef2, 
-        CharRef, 
-        AmpRef,
-        LTRef,
-        GTRef,
-        AposRef,
-        QuoteRef,
-        CharData,
-        CharDataChars,
-        content,
-        AmpName,
-        LTName,
-        GTName,
-        ClassNameChar,
-        ClassName,
-        Name,
-        XMLDecl,
-        XMLDeclChars,
-        DocTypeDecl,
-        DocTypeDeclChars,
-        ClassIDAttribute,
-        ObjectIDAttribute,
-        ClassNameAttribute,
-        TrackingAttribute,
-        VersionAttribute,
-        UnusedAttribute,
-        Attribute,
-        SignatureAttribute,
-        SerializationWrapper,
-        NameHead,
-        NameTail,
-        AttributeList,
-        S;
-
-    // XML Character classes
-    chset_t
-        BaseChar,
-        Ideographic,
-        Char, 
-        Letter, 
-        Digit,
-        CombiningChar,
-        Extender, 
-        Sch,
-        NameChar;
-
-    void init_chset();
-
-    bool my_parse(
-        IStream & is,
-        const rule_t &rule_, 
-        const CharType delimiter = L'>'
-    ) const ;
-public:
-    struct return_values {
-        StringType object_name;
-        StringType contents;
-        //class_id_type class_id;
-        int_least16_t class_id;
-        //object_id_type object_id;
-        uint_least32_t object_id;
-        //version_type version;
-        unsigned int version;
-        tracking_type tracking_level;
-        StringType class_name;
-        return_values() :
-            version(0),
-            tracking_level(false)
-        {}
-    } rv;
-    bool parse_start_tag(IStream & is) /*const*/;
-    bool parse_end_tag(IStream & is) const;
-    bool parse_string(IStream & is, StringType & s) /*const*/;
-    void init(IStream & is);
-    void windup(IStream & is);
-    basic_xml_grammar();
-};
-
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_BASIC_XML_GRAMMAR_HPP
diff --git a/SRC/Boost/boost/archive/impl/basic_xml_iarchive.ipp b/SRC/Boost/boost/archive/impl/basic_xml_iarchive.ipp
deleted file mode 100755
index 392d019..0000000
--- a/SRC/Boost/boost/archive/impl/basic_xml_iarchive.ipp
+++ /dev/null
@@ -1,114 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_xml_iarchive.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-#include <cstddef> // NULL
-#include <algorithm>
-
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/archive/xml_archive_exception.hpp>
-#include <boost/archive/basic_xml_iarchive.hpp>
-#include <boost/serialization/tracking.hpp>
-
-namespace boost {
-namespace archive {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implementation of xml_text_archive
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_iarchive<Archive>::load_start(const char *name){
-    // if there's no name
-    if(NULL == name)
-        return;
-    bool result = this->This()->gimpl->parse_start_tag(this->This()->get_is());
-    if(true != result){
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::input_stream_error)
-        );
-    }
-    // don't check start tag at highest level
-    ++depth;
-    return;
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_iarchive<Archive>::load_end(const char *name){
-    // if there's no name
-    if(NULL == name)
-        return;
-    bool result = this->This()->gimpl->parse_end_tag(this->This()->get_is());
-    if(true != result){
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::input_stream_error)
-        );
-    }
-    
-    // don't check start tag at highest level
-    if(0 == --depth)
-        return;
-        
-    if(0 == (this->get_flags() & no_xml_tag_checking)){
-        // double check that the tag matches what is expected - useful for debug
-        if(0 != name[this->This()->gimpl->rv.object_name.size()]
-        || ! std::equal(
-                this->This()->gimpl->rv.object_name.begin(),
-                this->This()->gimpl->rv.object_name.end(),
-                name
-            )
-        ){
-            boost::serialization::throw_exception(
-                xml_archive_exception(
-                    xml_archive_exception::xml_archive_tag_mismatch,
-                    name
-                )
-            );
-        }
-    }
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_iarchive<Archive>::load_override(object_id_type & t, int){
-    t = object_id_type(this->This()->gimpl->rv.object_id);
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_iarchive<Archive>::load_override(version_type & t, int){
-    t = version_type(this->This()->gimpl->rv.version);
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_iarchive<Archive>::load_override(class_id_type & t, int){
-    t = class_id_type(this->This()->gimpl->rv.class_id);
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_iarchive<Archive>::load_override(tracking_type & t, int){
-    t = this->This()->gimpl->rv.tracking_level;
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_xml_iarchive<Archive>::basic_xml_iarchive(unsigned int flags) :
-    detail::common_iarchive<Archive>(flags),
-    depth(0)
-{}
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_xml_iarchive<Archive>::~basic_xml_iarchive(){}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/basic_xml_oarchive.ipp b/SRC/Boost/boost/archive/impl/basic_xml_oarchive.ipp
deleted file mode 100755
index a5d55c1..0000000
--- a/SRC/Boost/boost/archive/impl/basic_xml_oarchive.ipp
+++ /dev/null
@@ -1,275 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_xml_oarchive.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <algorithm>
-#include <cstddef> // NULL
-#include <cstring>
-#if defined(BOOST_NO_STDC_NAMESPACE) && ! defined(__LIBCOMO__)
-namespace std{
-    using ::strlen;
-} // namespace std
-#endif
-
-#include <boost/archive/basic_xml_archive.hpp>
-#include <boost/archive/basic_xml_oarchive.hpp>
-#include <boost/archive/xml_archive_exception.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-
-namespace boost {
-namespace archive {
-
-namespace detail {
-template<class CharType>
-struct XML_name {
-    void operator()(CharType t) const{
-        const unsigned char lookup_table[] = {
-            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-            0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0, // -.
-            1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, // 0-9
-            0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // A-
-            1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1, // -Z _
-            0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // a-
-            1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, // -z
-            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-        };
-        if((unsigned)t > 127)
-            return;
-        if(0 == lookup_table[(unsigned)t])
-            boost::serialization::throw_exception(
-                xml_archive_exception(
-                    xml_archive_exception::xml_archive_tag_name_error
-                )
-            );
-    }
-};
-
-} // namespace detail
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implemenations of functions common to both types of xml output
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::write_attribute(
-    const char *attribute_name,
-    int t,
-    const char *conjunction
-){
-    this->This()->put(' ');
-    this->This()->put(attribute_name);
-    this->This()->put(conjunction);
-    this->This()->save(t);
-    this->This()->put('"');
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::write_attribute(
-    const char *attribute_name,
-    const char *key
-){
-    this->This()->put(' ');
-    this->This()->put(attribute_name);
-    this->This()->put("=\"");
-    this->This()->save(key);
-    this->This()->put('"');
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::indent(){
-    int i;
-    for(i = depth; i-- > 0;)
-        this->This()->put('\t');
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_start(const char *name)
-{
-    if(NULL == name)
-        return;
-
-    // be sure name has no invalid characters
-    std::for_each(name, name + std::strlen(name), detail::XML_name<const char>());
-
-    end_preamble();
-    if(depth > 0){
-        this->This()->put('\n');
-        indent();
-    }
-    ++depth;
-    this->This()->put('<');
-    this->This()->save(name);
-    pending_preamble = true;
-    indent_next = false;
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_end(const char *name)
-{
-    if(NULL == name)
-        return;
-
-    // be sure name has no invalid characters
-    std::for_each(name, name + std::strlen(name), detail::XML_name<const char>());
-
-    end_preamble();
-    --depth;
-    if(indent_next){
-        this->This()->put('\n');
-        indent();
-    }
-    indent_next = true;
-    this->This()->put("</");
-    this->This()->save(name);
-    this->This()->put('>');
-    if(0 == depth)
-        this->This()->put('\n');
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::end_preamble(){
-    if(pending_preamble){
-        this->This()->put('>');
-        pending_preamble = false;
-    }
-}
-#if 0
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_override(const object_id_type & t, int)
-{
-    int i = t.t; // extra .t is for borland
-    write_attribute(BOOST_ARCHIVE_XML_OBJECT_ID(), i, "=\"_");
-}
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_override(
-    const object_reference_type & t,
-    int
-){
-    int i = t.t; // extra .t is for borland
-    write_attribute(BOOST_ARCHIVE_XML_OBJECT_REFERENCE(), i, "=\"_");
-}
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_override(const version_type & t, int)
-{
-    int i = t.t; // extra .t is for borland
-    write_attribute(BOOST_ARCHIVE_XML_VERSION(), i);
-}
-#endif
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_override(const object_id_type & t, int)
-{
-    // borland doesn't do conversion of STRONG_TYPEDEFs very well
-    const unsigned int i = t;
-    write_attribute(BOOST_ARCHIVE_XML_OBJECT_ID(), i, "=\"_");
-}
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_override(
-    const object_reference_type & t,
-    int
-){
-    const unsigned int i = t;
-    write_attribute(BOOST_ARCHIVE_XML_OBJECT_REFERENCE(), i, "=\"_");
-}
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_override(const version_type & t, int)
-{
-    const unsigned int i = t;
-    write_attribute(BOOST_ARCHIVE_XML_VERSION(), i);
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_override(const class_id_type & t, int)
-{
-    write_attribute(BOOST_ARCHIVE_XML_CLASS_ID(), t);
-}
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_override(
-    const class_id_reference_type & t,
-    int
-){
-    write_attribute(BOOST_ARCHIVE_XML_CLASS_ID_REFERENCE(), t);
-}
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_override(
-    const class_id_optional_type & t,
-    int
-){
-    write_attribute(BOOST_ARCHIVE_XML_CLASS_ID(), t);
-}
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_override(const class_name_type & t, int)
-{
-    const char * key = t;
-    if(NULL == key)
-        return;
-    write_attribute(BOOST_ARCHIVE_XML_CLASS_NAME(), key);
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::save_override(const tracking_type & t, int)
-{
-    write_attribute(BOOST_ARCHIVE_XML_TRACKING(), t.t);
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
-basic_xml_oarchive<Archive>::init(){
-    // xml header
-    this->This()->put("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\n");
-    this->This()->put("<!DOCTYPE boost_serialization>\n");
-    // xml document wrapper - outer root
-    this->This()->put("<boost_serialization");
-    write_attribute("signature", BOOST_ARCHIVE_SIGNATURE());
-    write_attribute("version", BOOST_ARCHIVE_VERSION());
-    this->This()->put(">\n");
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_xml_oarchive<Archive>::basic_xml_oarchive(unsigned int flags) :
-    detail::common_oarchive<Archive>(flags),
-    depth(0),
-    indent_next(false),
-    pending_preamble(false)
-{
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_xml_oarchive<Archive>::~basic_xml_oarchive(){
-    if(0 == (this->get_flags() & no_header)){
-        BOOST_TRY{
-                this->This()->put("</boost_serialization>\n");
-        }
-        BOOST_CATCH(...){}
-        BOOST_CATCH_END
-    }
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/text_iarchive_impl.ipp b/SRC/Boost/boost/archive/impl/text_iarchive_impl.ipp
deleted file mode 100755
index 4690c93..0000000
--- a/SRC/Boost/boost/archive/impl/text_iarchive_impl.ipp
+++ /dev/null
@@ -1,128 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// text_iarchive_impl.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-//////////////////////////////////////////////////////////////////////
-// implementation of basic_text_iprimitive overrides for the combination
-// of template parameters used to implement a text_iprimitive
-
-#include <cstddef> // size_t, NULL
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/detail/workaround.hpp> // RogueWave
-
-#include <boost/archive/text_iarchive.hpp>
-
-namespace boost {
-namespace archive {
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-text_iarchive_impl<Archive>::load(char *s)
-{
-    std::size_t size;
-    * this->This() >> size;
-    // skip separating space
-    is.get();
-    // Works on all tested platforms
-    is.read(s, size);
-    s[size] = '\0';
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-text_iarchive_impl<Archive>::load(std::string &s)
-{
-    std::size_t size;
-    * this->This() >> size;
-    // skip separating space
-    is.get();
-    // borland de-allocator fixup
-    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
-    if(NULL != s.data())
-    #endif
-        s.resize(size);
-    if(0 < size)
-        is.read(&(*s.begin()), size);
-}
-
-#ifndef BOOST_NO_CWCHAR
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-text_iarchive_impl<Archive>::load(wchar_t *ws)
-{
-    std::size_t size;
-    * this->This() >> size;
-    // skip separating space
-    is.get();
-    is.read((char *)ws, size * sizeof(wchar_t)/sizeof(char));
-    ws[size] = L'\0';
-}
-#endif // BOOST_NO_INTRINSIC_WCHAR_T
-
-#ifndef BOOST_NO_STD_WSTRING
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-text_iarchive_impl<Archive>::load(std::wstring &ws)
-{
-    std::size_t size;
-    * this->This() >> size;
-    // borland de-allocator fixup
-    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
-    if(NULL != ws.data())
-    #endif
-        ws.resize(size);
-    // skip separating space
-    is.get();
-    is.read((char *)ws.data(), size * sizeof(wchar_t)/sizeof(char));
-}
-
-#endif // BOOST_NO_STD_WSTRING
-#endif // BOOST_NO_CWCHAR
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-text_iarchive_impl<Archive>::load_override(class_name_type & t, int){
-    basic_text_iarchive<Archive>::load_override(t, 0);
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-text_iarchive_impl<Archive>::init(){
-    basic_text_iarchive<Archive>::init();
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-text_iarchive_impl<Archive>::text_iarchive_impl(
-    std::istream & is, 
-    unsigned int flags
-) :
-    basic_text_iprimitive<std::istream>(
-        is, 
-        0 != (flags & no_codecvt)
-    ),
-    basic_text_iarchive<Archive>(flags)
-{
-    if(0 == (flags & no_header))
-        #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
-        this->init();
-        #else
-        this->basic_text_iarchive<Archive>::init();
-        #endif
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/text_oarchive_impl.ipp b/SRC/Boost/boost/archive/impl/text_oarchive_impl.ipp
deleted file mode 100755
index d66c737..0000000
--- a/SRC/Boost/boost/archive/impl/text_oarchive_impl.ipp
+++ /dev/null
@@ -1,124 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// text_oarchive_impl.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <string>
-#include <boost/config.hpp>
-#include <locale>
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#ifndef BOOST_NO_CWCHAR
-#include <cwchar>
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{ using ::wcslen; }
-#endif
-#endif
-
-#include <boost/archive/add_facet.hpp>
-#include <boost/archive/text_oarchive.hpp>
-
-namespace boost { 
-namespace archive {
-
-//////////////////////////////////////////////////////////////////////
-// implementation of basic_text_oprimitive overrides for the combination
-// of template parameters used to create a text_oprimitive
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-text_oarchive_impl<Archive>::save(const char * s)
-{
-    const std::size_t len = std::ostream::traits_type::length(s);
-    *this->This() << len;
-    this->This()->newtoken();
-    os << s;
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-text_oarchive_impl<Archive>::save(const std::string &s)
-{
-    const std::size_t size = s.size();
-    *this->This() << size;
-    this->This()->newtoken();
-    os << s;
-}
-
-#ifndef BOOST_NO_CWCHAR
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-text_oarchive_impl<Archive>::save(const wchar_t * ws)
-{
-    const std::size_t l = std::wcslen(ws);
-    * this->This() << l;
-    this->This()->newtoken();
-    os.write((const char *)ws, l * sizeof(wchar_t)/sizeof(char));
-}
-#endif
-
-#ifndef BOOST_NO_STD_WSTRING
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-text_oarchive_impl<Archive>::save(const std::wstring &ws)
-{
-    const std::size_t l = ws.size();
-    * this->This() << l;
-    this->This()->newtoken();
-    os.write((const char *)(ws.data()), l * sizeof(wchar_t)/sizeof(char));
-}
-#endif
-#endif // BOOST_NO_CWCHAR
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-text_oarchive_impl<Archive>::text_oarchive_impl(
-    std::ostream & os, 
-    unsigned int flags
-) :
-    basic_text_oprimitive<std::ostream>(
-        os, 
-        0 != (flags & no_codecvt)
-    ),
-    basic_text_oarchive<Archive>(flags)
-{
-    if(0 == (flags & no_header))
-        #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
-        this->init();
-        #else
-        this->basic_text_oarchive<Archive>::init();
-        #endif
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-text_oarchive_impl<Archive>::save_binary(const void *address, std::size_t count){
-    put('\n');
-    this->end_preamble();
-    #if ! defined(__MWERKS__)
-    this->basic_text_oprimitive<std::ostream>::save_binary(
-    #else
-    this->basic_text_oprimitive::save_binary(
-    #endif
-        address, 
-        count
-    );
-    this->delimiter = this->eol;
-}
-
-} // namespace archive
-} // namespace boost
-
diff --git a/SRC/Boost/boost/archive/impl/text_wiarchive_impl.ipp b/SRC/Boost/boost/archive/impl/text_wiarchive_impl.ipp
deleted file mode 100755
index 2eade75..0000000
--- a/SRC/Boost/boost/archive/impl/text_wiarchive_impl.ipp
+++ /dev/null
@@ -1,118 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// text_text_wiarchive_impl.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // size_t, NULL
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/detail/workaround.hpp>  // fixup for RogueWave
-
-#ifndef BOOST_NO_STD_WSTREAMBUF
-#include <boost/archive/basic_text_iprimitive.hpp>
-
-namespace boost { 
-namespace archive {
-
-//////////////////////////////////////////////////////////////////////
-// implementation of wiprimtives functions
-//
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-text_wiarchive_impl<Archive>::load(char *s)
-{
-    std::size_t size;
-    * this->This() >> size;
-    // skip separating space
-    is.get();
-    while(size-- > 0){
-        *s++ = is.narrow(is.get(), '\0');
-    }
-    *s = '\0';
-}
-
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-text_wiarchive_impl<Archive>::load(std::string &s)
-{
-    std::size_t size;
-    * this->This() >> size;
-    // skip separating space
-    is.get();
-    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
-    if(NULL != s.data())
-    #endif
-        s.resize(0);
-    s.reserve(size);
-    while(size-- > 0){
-        int x = is.narrow(is.get(), '\0');
-        s += x;
-    }
-}
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-text_wiarchive_impl<Archive>::load(wchar_t *s)
-{
-    std::size_t size;
-    * this->This() >> size;
-    // skip separating space
-    is.get();
-    // Works on all tested platforms
-    is.read(s, size);
-    s[size] = L'\0';
-}
-#endif
-
-#ifndef BOOST_NO_STD_WSTRING
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-text_wiarchive_impl<Archive>::load(std::wstring &ws)
-{
-    std::size_t size;
-    * this->This() >> size;
-    // skip separating space
-    is.get();
-    // borland complains about resize
-    // borland de-allocator fixup
-    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
-    if(NULL != ws.data())
-    #endif
-        ws.resize(size);
-    // note breaking a rule here - is this a problem on some platform
-    is.read(const_cast<wchar_t *>(ws.data()), size);
-}
-#endif
-
-template<class Archive>
-BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-text_wiarchive_impl<Archive>::text_wiarchive_impl(
-    std::wistream & is, 
-    unsigned int flags
-) :
-    basic_text_iprimitive<std::wistream>(
-        is, 
-        0 != (flags & no_codecvt)
-    ),
-    basic_text_iarchive<Archive>(flags)
-{
-    if(0 == (flags & no_header))
-        basic_text_iarchive<Archive>::init();
-}
-
-} // archive
-} // boost
-
-#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Boost/boost/archive/impl/text_woarchive_impl.ipp b/SRC/Boost/boost/archive/impl/text_woarchive_impl.ipp
deleted file mode 100755
index 0d0a9ff..0000000
--- a/SRC/Boost/boost/archive/impl/text_woarchive_impl.ipp
+++ /dev/null
@@ -1,85 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// text_woarchive_impl.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifndef BOOST_NO_STD_WSTREAMBUF
-
-#include <cstring>
-#include <cstddef> // size_t
-#if defined(BOOST_NO_STDC_NAMESPACE) && ! defined(__LIBCOMO__)
-namespace std{ 
-    using ::strlen;
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <ostream>
-
-#include <boost/archive/text_woarchive.hpp>
-
-namespace boost {
-namespace archive {
-
-//////////////////////////////////////////////////////////////////////
-// implementation of woarchive functions
-//
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-text_woarchive_impl<Archive>::save(const char *s)
-{
-    // note: superfluous local variable fixes borland warning
-    const std::size_t size = std::strlen(s);
-    * this->This() << size;
-    this->This()->newtoken();
-    while(*s != '\0')
-        os.put(os.widen(*s++));
-}
-
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-text_woarchive_impl<Archive>::save(const std::string &s)
-{
-    const std::size_t size = s.size();
-    * this->This() << size;
-    this->This()->newtoken();
-    const char * cptr = s.data();
-    for(std::size_t i = size; i-- > 0;)
-        os.put(os.widen(*cptr++));
-}
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-text_woarchive_impl<Archive>::save(const wchar_t *ws)
-{
-    const std::size_t size = std::wostream::traits_type::length(ws);
-    * this->This() << size;
-    this->This()->newtoken();
-    os.write(ws, size);
-}
-#endif
-
-#ifndef BOOST_NO_STD_WSTRING
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-text_woarchive_impl<Archive>::save(const std::wstring &ws)
-{
-    const std::size_t size = ws.length();
-    * this->This() << size;
-    this->This()->newtoken();
-    os.write(ws.data(), size);
-}
-#endif
-
-} // namespace archive
-} // namespace boost
-
-#endif
-
diff --git a/SRC/Boost/boost/archive/impl/xml_iarchive_impl.ipp b/SRC/Boost/boost/archive/impl/xml_iarchive_impl.ipp
deleted file mode 100755
index 5c5f37a..0000000
--- a/SRC/Boost/boost/archive/impl/xml_iarchive_impl.ipp
+++ /dev/null
@@ -1,204 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_iarchive_impl.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <cstring> // memcpy
-#include <cstddef> // NULL
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::memcpy;
-} // namespace std
-#endif
-
-#ifndef BOOST_NO_CWCHAR
-#include <cstdlib> // mbtowc
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::mbtowc;
- } // namespace std
-#endif
-#endif // BOOST_NO_CWCHAR
-
-#include <boost/detail/workaround.hpp> // RogueWave and Dinkumware
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-#include <boost/archive/dinkumware.hpp>
-#endif
-
-#include <boost/detail/no_exceptions_support.hpp>
-
-#include <boost/archive/xml_archive_exception.hpp>
-#include <boost/archive/iterators/dataflow_exception.hpp>
-#include <boost/archive/basic_xml_archive.hpp>
-#include <boost/archive/xml_iarchive.hpp>
-
-#include "basic_xml_grammar.hpp"
-
-namespace boost {
-namespace archive {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implemenations of functions specific to char archives
-
-// wide char stuff used by char archives
-
-#ifndef BOOST_NO_CWCHAR
-#ifndef BOOST_NO_STD_WSTRING
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-xml_iarchive_impl<Archive>::load(std::wstring &ws){
-    std::string s;
-    bool result = gimpl->parse_string(is, s);
-    if(! result)
-        boost::serialization::throw_exception(
-            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
-        );
-    
-    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
-    if(NULL != ws.data())
-    #endif
-        ws.resize(0);
-    const char * start = s.data();
-    const char * end = start + s.size();
-    while(start < end){
-        wchar_t wc;
-        int resultx = std::mbtowc(&wc, start, end - start);
-        if(0 < resultx){
-            start += resultx;
-            ws += wc;
-            continue;
-        }
-        boost::serialization::throw_exception(
-            iterators::dataflow_exception(
-                iterators::dataflow_exception::invalid_conversion
-            )
-        );
-    }
-}
-#endif // BOOST_NO_STD_WSTRING
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-xml_iarchive_impl<Archive>::load(wchar_t * ws){
-    std::string s;
-    bool result = gimpl->parse_string(is, s);
-    if(! result)
-        boost::serialization::throw_exception(
-            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
-        );
-        
-    const char * start = s.data();
-    const char * end = start + s.size();
-    while(start < end){
-        wchar_t wc;
-        int result = std::mbtowc(&wc, start, end - start);
-        if(0 < result){
-            start += result;
-            *ws++ = wc;
-            continue;
-        }
-        boost::serialization::throw_exception(
-            iterators::dataflow_exception(
-                iterators::dataflow_exception::invalid_conversion
-            )
-        );
-    }
-    *ws = L'\0';
-}
-#endif // BOOST_NO_INTRINSIC_WCHAR_T
-
-#endif // BOOST_NO_CWCHAR
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-xml_iarchive_impl<Archive>::load(std::string &s){
-    bool result = gimpl->parse_string(is, s);
-    if(! result)
-        boost::serialization::throw_exception(
-            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
-        );
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-xml_iarchive_impl<Archive>::load(char * s){
-    std::string tstring;
-    bool result = gimpl->parse_string(is, tstring);
-    if(! result)
-        boost::serialization::throw_exception(
-            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
-        );
-    std::memcpy(s, tstring.data(), tstring.size());
-    s[tstring.size()] = 0;
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-xml_iarchive_impl<Archive>::load_override(class_name_type & t, int){
-    const std::string & s = gimpl->rv.class_name;
-    if(s.size() > BOOST_SERIALIZATION_MAX_KEY_SIZE - 1)
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::invalid_class_name)
-       );
-    char * tptr = t;
-    std::memcpy(tptr, s.data(), s.size());
-    tptr[s.size()] = '\0';
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-xml_iarchive_impl<Archive>::init(){
-    gimpl->init(is);
-    this->set_library_version(
-        library_version_type(gimpl->rv.version)
-    );
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-xml_iarchive_impl<Archive>::xml_iarchive_impl(
-    std::istream &is_,
-    unsigned int flags
-) :
-    basic_text_iprimitive<std::istream>(
-        is_, 
-        0 != (flags & no_codecvt)
-    ),
-    basic_xml_iarchive<Archive>(flags),
-    gimpl(new xml_grammar())
-{
-    if(0 == (flags & no_header)){
-        BOOST_TRY{
-            init();
-        }
-        BOOST_CATCH(...){
-            delete gimpl;
-            #ifndef BOOST_NO_EXCEPTIONS
-                throw; // re-throw
-            #endif
-        }
-        BOOST_CATCH_END
-    }
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-xml_iarchive_impl<Archive>::~xml_iarchive_impl(){
-    if(0 == (this->get_flags() & no_header)){
-        BOOST_TRY{
-            gimpl->windup(is);
-        }
-        BOOST_CATCH(...){}
-        BOOST_CATCH_END
-    }
-    delete gimpl;
-}
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/xml_oarchive_impl.ipp b/SRC/Boost/boost/archive/impl/xml_oarchive_impl.ipp
deleted file mode 100755
index 20b2189..0000000
--- a/SRC/Boost/boost/archive/impl/xml_oarchive_impl.ipp
+++ /dev/null
@@ -1,117 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_oarchive_impl.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <ostream>
-#include <iomanip>
-#include <algorithm>
-#include <string>
-
-#include <cstring> // strlen
-#include <boost/config.hpp> // msvc 6.0 needs this to suppress warnings
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::strlen; 
-} // namespace std
-#endif
-
-#include <boost/archive/iterators/xml_escape.hpp>
-#include <boost/archive/iterators/ostream_iterator.hpp>
-
-#ifndef BOOST_NO_CWCHAR
-#include <boost/archive/wcslen.hpp>
-#include <boost/archive/iterators/mb_from_wchar.hpp>
-#endif
-
-namespace boost {
-namespace archive {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implemenations of functions specific to char archives
-
-// wide char stuff used by char archives
-#ifndef BOOST_NO_CWCHAR
-// copy chars to output escaping to xml and translating wide chars to mb chars
-template<class InputIterator>
-void save_iterator(std::ostream &os, InputIterator begin, InputIterator end){
-    typedef boost::archive::iterators::mb_from_wchar<
-        boost::archive::iterators::xml_escape<InputIterator>
-    > translator;
-    std::copy(
-        translator(BOOST_MAKE_PFTO_WRAPPER(begin)), 
-        translator(BOOST_MAKE_PFTO_WRAPPER(end)), 
-        boost::archive::iterators::ostream_iterator<char>(os)
-    );
-}
-
-#ifndef BOOST_NO_STD_WSTRING
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-xml_oarchive_impl<Archive>::save(const std::wstring & ws){
-//  at least one library doesn't typedef value_type for strings
-//  so rather than using string directly make a pointer iterator out of it
-//    save_iterator(os, ws.data(), ws.data() + std::wcslen(ws.data()));
-    save_iterator(os, ws.data(), ws.data() + ws.size());
-}
-#endif
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-xml_oarchive_impl<Archive>::save(const wchar_t * ws){
-    save_iterator(os, ws, ws + std::wcslen(ws));
-}
-#endif
-
-#endif // BOOST_NO_CWCHAR
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-xml_oarchive_impl<Archive>::save(const std::string & s){
-//  at least one library doesn't typedef value_type for strings
-//  so rather than using string directly make a pointer iterator out of it
-    typedef boost::archive::iterators::xml_escape<
-        const char * 
-    > xml_escape_translator;
-    std::copy(
-        xml_escape_translator(BOOST_MAKE_PFTO_WRAPPER(s.data())),
-        xml_escape_translator(BOOST_MAKE_PFTO_WRAPPER(s.data()+ s.size())), 
-        boost::archive::iterators::ostream_iterator<char>(os)
-    );
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(void)
-xml_oarchive_impl<Archive>::save(const char * s){
-    typedef boost::archive::iterators::xml_escape<
-        const char * 
-    > xml_escape_translator;
-    std::copy(
-        xml_escape_translator(BOOST_MAKE_PFTO_WRAPPER(s)),
-        xml_escape_translator(BOOST_MAKE_PFTO_WRAPPER(s + std::strlen(s))), 
-        boost::archive::iterators::ostream_iterator<char>(os)
-    );
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-xml_oarchive_impl<Archive>::xml_oarchive_impl(
-    std::ostream & os_, 
-    unsigned int flags
-) : 
-    basic_text_oprimitive<std::ostream>(
-        os_,
-        0 != (flags & no_codecvt)
-    ),
-    basic_xml_oarchive<Archive>(flags)
-{
-    if(0 == (flags & no_header))
-        this->init();
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/boost/archive/impl/xml_wiarchive_impl.ipp b/SRC/Boost/boost/archive/impl/xml_wiarchive_impl.ipp
deleted file mode 100755
index 4f7cb61..0000000
--- a/SRC/Boost/boost/archive/impl/xml_wiarchive_impl.ipp
+++ /dev/null
@@ -1,206 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_wiprimitive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-
-#include <cstring>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::memcpy; 
-} //std
-#endif
-
-#include <boost/config.hpp> // msvc 6.0 needs this to suppress warnings
-#ifndef BOOST_NO_STD_WSTREAMBUF
-
-#include <boost/assert.hpp>
-#include <algorithm>
-
-#include <boost/detail/workaround.hpp> // Dinkumware and RogueWave
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-#include <boost/archive/dinkumware.hpp>
-#endif
-
-#include <boost/io/ios_state.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/serialization/string.hpp>
-#include <boost/archive/add_facet.hpp>
-#include <boost/archive/xml_archive_exception.hpp>
-#include <boost/archive/detail/utf8_codecvt_facet.hpp>
-
-#include <boost/archive/iterators/mb_from_wchar.hpp>
-
-#include <boost/archive/basic_xml_archive.hpp>
-#include <boost/archive/xml_wiarchive.hpp>
-
-#include "basic_xml_grammar.hpp"
-
-namespace boost {
-namespace archive {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implemenations of functions specific to wide char archives
-
-namespace { // anonymous
-
-void copy_to_ptr(char * s, const std::wstring & ws){
-    std::copy(
-        iterators::mb_from_wchar<std::wstring::const_iterator>(
-            BOOST_MAKE_PFTO_WRAPPER(ws.begin())
-        ), 
-        iterators::mb_from_wchar<std::wstring::const_iterator>(
-            BOOST_MAKE_PFTO_WRAPPER(ws.end())
-        ), 
-        s
-    );
-    s[ws.size()] = 0;
-}
-
-} // anonymous
-
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-xml_wiarchive_impl<Archive>::load(std::string & s){
-    std::wstring ws;
-    bool result = gimpl->parse_string(is, ws);
-    if(! result)
-        boost::serialization::throw_exception(
-            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
-        );
-    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
-    if(NULL != s.data())
-    #endif
-        s.resize(0);
-    s.reserve(ws.size());
-    std::copy(
-        iterators::mb_from_wchar<std::wstring::iterator>(
-            BOOST_MAKE_PFTO_WRAPPER(ws.begin())
-        ), 
-        iterators::mb_from_wchar<std::wstring::iterator>(
-            BOOST_MAKE_PFTO_WRAPPER(ws.end())
-        ), 
-        std::back_inserter(s)
-    );
-}
-
-#ifndef BOOST_NO_STD_WSTRING
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-xml_wiarchive_impl<Archive>::load(std::wstring & ws){
-    bool result = gimpl->parse_string(is, ws);
-    if(! result)
-        boost::serialization::throw_exception(
-            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
-        );
-}
-#endif
-
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-xml_wiarchive_impl<Archive>::load(char * s){
-    std::wstring ws;
-    bool result = gimpl->parse_string(is, ws);
-    if(! result)
-        boost::serialization::throw_exception(
-            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
-        );
-    copy_to_ptr(s, ws);
-}
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-xml_wiarchive_impl<Archive>::load(wchar_t * ws){
-    std::wstring twstring;
-    bool result = gimpl->parse_string(is, twstring);
-    if(! result)
-        boost::serialization::throw_exception(
-            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
-        );
-    std::memcpy(ws, twstring.c_str(), twstring.size());
-    ws[twstring.size()] = L'\0';
-}
-#endif
-
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-xml_wiarchive_impl<Archive>::load_override(class_name_type & t, int){
-    const std::wstring & ws = gimpl->rv.class_name;
-    if(ws.size() > BOOST_SERIALIZATION_MAX_KEY_SIZE - 1)
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::invalid_class_name)
-        );
-    copy_to_ptr(t, ws);
-}
-
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-xml_wiarchive_impl<Archive>::init(){
-    gimpl->init(is);
-    this->set_library_version(
-        library_version_type(gimpl->rv.version)
-    );
-}
-
-template<class Archive>
-BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY())
-xml_wiarchive_impl<Archive>::xml_wiarchive_impl(
-    std::wistream &is_,
-    unsigned int flags
-) :
-    basic_text_iprimitive<std::wistream>(
-        is_, 
-        true // don't change the codecvt - use the one below
-    ),
-    basic_xml_iarchive<Archive>(flags),
-    gimpl(new xml_wgrammar())
-{
-    if(0 == (flags & no_codecvt)){
-        archive_locale.reset(
-            add_facet(
-                std::locale::classic(),
-                new boost::archive::detail::utf8_codecvt_facet
-            )
-        );
-        is.imbue(* archive_locale);
-    }
-    if(0 == (flags & no_header)){
-        BOOST_TRY{
-            this->init();
-        }
-        BOOST_CATCH(...){
-            delete gimpl;
-            #ifndef BOOST_NO_EXCEPTIONS
-                throw; // re-throw
-            #endif
-        }
-        BOOST_CATCH_END
-    }
-}
-
-template<class Archive>
-BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY())
-xml_wiarchive_impl<Archive>::~xml_wiarchive_impl(){
-    if(0 == (this->get_flags() & no_header)){
-        BOOST_TRY{
-            gimpl->windup(is);
-        }
-        BOOST_CATCH(...){}
-        BOOST_CATCH_END
-    }
-    delete gimpl;
-}
-
-} // namespace archive
-} // namespace boost
-
-#endif  // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Boost/boost/archive/impl/xml_woarchive_impl.ipp b/SRC/Boost/boost/archive/impl/xml_woarchive_impl.ipp
deleted file mode 100755
index 3b08d64..0000000
--- a/SRC/Boost/boost/archive/impl/xml_woarchive_impl.ipp
+++ /dev/null
@@ -1,160 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_woarchive_impl.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/config.hpp>
-#ifndef BOOST_NO_STD_WSTREAMBUF
-
-#include <ostream>
-#include <string>
-#include <algorithm>
-#include <locale>
-
-#include <boost/config.hpp> // msvc 6.0 needs this to suppress warnings 
-                            // for BOOST_DEDUCED_TYPENAME
-#include <cstring> // strlen
-#include <cstdlib> // mbtowc
-#include <cwchar>  // wcslen
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::strlen; 
-    #if ! defined(BOOST_NO_INTRINSIC_WCHAR_T)
-        using ::mbtowc; 
-        using ::wcslen;
-    #endif
-} // namespace std
-#endif
-
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/archive/iterators/xml_escape.hpp>
-#include <boost/archive/iterators/wchar_from_mb.hpp>
-#include <boost/archive/iterators/ostream_iterator.hpp>
-#include <boost/archive/iterators/dataflow_exception.hpp>
-
-#include <boost/archive/add_facet.hpp>
-#include <boost/archive/detail/utf8_codecvt_facet.hpp>
-
-namespace boost {
-namespace archive {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implemenations of functions specific to wide char archives
-
-// copy chars to output escaping to xml and widening characters as we go
-template<class InputIterator>
-void save_iterator(std::wostream &os, InputIterator begin, InputIterator end){
-    typedef iterators::wchar_from_mb<
-        iterators::xml_escape<InputIterator>
-    > xmbtows;
-    std::copy(
-        xmbtows(BOOST_MAKE_PFTO_WRAPPER(begin)),
-        xmbtows(BOOST_MAKE_PFTO_WRAPPER(end)),
-        boost::archive::iterators::ostream_iterator<wchar_t>(os)
-    );
-}
-
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-xml_woarchive_impl<Archive>::save(const std::string & s){
-    // note: we don't use s.begin() and s.end() because dinkumware
-    // doesn't have string::value_type defined. So use a wrapper
-    // around these values to implement the definitions.
-    const char * begin = s.data();
-    const char * end = begin + s.size();
-    save_iterator(os, begin, end);
-}
-
-#ifndef BOOST_NO_STD_WSTRING
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-xml_woarchive_impl<Archive>::save(const std::wstring & ws){
-#if 0
-    typedef iterators::xml_escape<std::wstring::const_iterator> xmbtows;
-    std::copy(
-        xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.begin())),
-        xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.end())),
-        boost::archive::iterators::ostream_iterator<wchar_t>(os)
-    );
-#endif
-    typedef iterators::xml_escape<const wchar_t *> xmbtows;
-    std::copy(
-        xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.data())),
-        xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.data() + ws.size())),
-        boost::archive::iterators::ostream_iterator<wchar_t>(os)
-    );
-}
-#endif //BOOST_NO_STD_WSTRING
-
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-xml_woarchive_impl<Archive>::save(const char * s){
-   save_iterator(os, s, s + std::strlen(s));
-}
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template<class Archive>
-BOOST_WARCHIVE_DECL(void)
-xml_woarchive_impl<Archive>::save(const wchar_t * ws){
-    os << ws;
-    typedef iterators::xml_escape<const wchar_t *> xmbtows;
-    std::copy(
-        xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws)),
-        xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws + std::wcslen(ws))),
-        boost::archive::iterators::ostream_iterator<wchar_t>(os)
-    );
-}
-#endif
-
-template<class Archive>
-BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY())
-xml_woarchive_impl<Archive>::xml_woarchive_impl(
-    std::wostream & os_,
-    unsigned int flags
-) :
-    basic_text_oprimitive<std::wostream>(
-        os_,
-        true // don't change the codecvt - use the one below
-    ),
-    basic_xml_oarchive<Archive>(flags)
-{
-    // Standard behavior is that imbue can be called
-    // a) before output is invoked or
-    // b) after flush has been called.  This prevents one-to-many
-    // transforms (such as one to many transforms from getting
-    // mixed up.  Unfortunately, STLPort doesn't respect b) above
-    // so the restoration of the original archive locale done by
-    // the locale_saver doesn't get processed,
-    // before the current one is destroyed.
-    // so the codecvt doesn't get replaced with the orginal
-    // so closing the stream invokes codecvt::do_unshift
-    // so it crashes because the corresponding locale that contained
-    // the codecvt isn't around any more.
-    // we can hack around this by using a static codecvt that never
-    // gets destroyed.
-    if(0 == (flags & no_codecvt)){
-        boost::archive::detail::utf8_codecvt_facet *pfacet;
-        #if defined(__SGI_STL_PORT)
-            static boost::archive::detail::utf8_codecvt_facet 
-                facet(static_cast<size_t>(1));
-            pfacet = & facet;
-        #else
-            pfacet = new boost::archive::detail::utf8_codecvt_facet;
-        #endif
-        archive_locale.reset(add_facet(std::locale::classic(), pfacet));
-        os.imbue(* archive_locale);
-    }
-    if(0 == (flags & no_header))
-        this->init();
-}
-
-} // namespace archive
-} // namespace boost
-
-#endif //BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Boost/boost/archive/iterators/base64_from_binary.hpp b/SRC/Boost/boost/archive/iterators/base64_from_binary.hpp
deleted file mode 100755
index 2689971..0000000
--- a/SRC/Boost/boost/archive/iterators/base64_from_binary.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_BASE64_FROM_BINARY_HPP
-#define BOOST_ARCHIVE_ITERATORS_BASE64_FROM_BINARY_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// base64_from_binary.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-
-#include <cstddef> // size_t
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/iterator/transform_iterator.hpp>
-#include <boost/archive/iterators/dataflow_exception.hpp>
-
-namespace boost { 
-namespace archive {
-namespace iterators {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// convert binary integers to base64 characters
-
-namespace detail {
-
-template<class CharType>
-struct from_6_bit {
-    typedef CharType result_type;
-    CharType operator()(CharType t) const{
-        const char * lookup_table = 
-            "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-            "abcdefghijklmnopqrstuvwxyz"
-            "0123456789"
-            "+/";
-        BOOST_ASSERT(t < 64);
-        return lookup_table[static_cast<size_t>(t)];
-    }
-};
-
-} // namespace detail
-
-// note: what we would like to do is
-// template<class Base, class CharType = BOOST_DEDUCED_TYPENAME Base::value_type>
-//  typedef transform_iterator<
-//      from_6_bit<CharType>,
-//      transform_width<Base, 6, sizeof(Base::value_type) * 8, CharType>
-//  > base64_from_binary;
-// but C++ won't accept this.  Rather than using a "type generator" and
-// using a different syntax, make a derivation which should be equivalent.
-//
-// Another issue addressed here is that the transform_iterator doesn't have
-// a templated constructor.  This makes it incompatible with the dataflow
-// ideal.  This is also addressed here.
-
-//template<class Base, class CharType = BOOST_DEDUCED_TYPENAME Base::value_type>
-template<
-    class Base, 
-    class CharType = BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type
->
-class base64_from_binary : 
-    public transform_iterator<
-        detail::from_6_bit<CharType>,
-        Base
-    >
-{
-    friend class boost::iterator_core_access;
-    typedef transform_iterator<
-        BOOST_DEDUCED_TYPENAME detail::from_6_bit<CharType>,
-        Base
-    > super_t;
-
-public:
-    // make composible buy using templated constructor
-    template<class T>
-    base64_from_binary(BOOST_PFTO_WRAPPER(T) start) :
-        super_t(
-            Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))),
-            detail::from_6_bit<CharType>()
-        )
-    {}
-    // intel 7.1 doesn't like default copy constructor
-    base64_from_binary(const base64_from_binary & rhs) : 
-        super_t(
-            Base(rhs.base_reference()),
-            detail::from_6_bit<CharType>()
-        )
-    {}
-//    base64_from_binary(){};
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_BASE64_FROM_BINARY_HPP
diff --git a/SRC/Boost/boost/archive/iterators/binary_from_base64.hpp b/SRC/Boost/boost/archive/iterators/binary_from_base64.hpp
deleted file mode 100755
index b116d21..0000000
--- a/SRC/Boost/boost/archive/iterators/binary_from_base64.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_BINARY_FROM_BASE64_HPP
-#define BOOST_ARCHIVE_ITERATORS_BINARY_FROM_BASE64_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_from_base64.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/serialization/pfto.hpp>
-#include <boost/static_assert.hpp>
-
-#include <boost/iterator/transform_iterator.hpp>
-#include <boost/archive/iterators/dataflow_exception.hpp>
-
-namespace boost { 
-namespace archive {
-namespace iterators {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// convert base64 characters to binary data
-
-namespace detail {
-
-template<class CharType>
-struct to_6_bit {
-    typedef CharType result_type;
-    CharType operator()(CharType t) const{
-        const signed char lookup_table[] = {
-            -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-            -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-            -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,
-            52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,
-            -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,
-            15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,
-            -1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,
-            41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1
-        };
-        // metrowerks trips this assertion - how come?
-        #if ! defined(__MWERKS__)
-        BOOST_STATIC_ASSERT(128 == sizeof(lookup_table));
-        #endif
-        signed char value = -1;
-        if((unsigned)t <= 127)
-            value = lookup_table[(unsigned)t];
-        if(-1 == value)
-            boost::serialization::throw_exception(
-                dataflow_exception(dataflow_exception::invalid_base64_character)
-            );
-        return value;
-    }
-};
-
-} // namespace detail
-
-// note: what we would like to do is
-// template<class Base, class CharType = BOOST_DEDUCED_TYPENAME Base::value_type>
-//  typedef transform_iterator<
-//      from_6_bit<CharType>,
-//      transform_width<Base, 6, sizeof(Base::value_type) * 8, CharType>
-//  > base64_from_binary;
-// but C++ won't accept this.  Rather than using a "type generator" and
-// using a different syntax, make a derivation which should be equivalent.
-//
-// Another issue addressed here is that the transform_iterator doesn't have
-// a templated constructor.  This makes it incompatible with the dataflow
-// ideal.  This is also addressed here.
-
-template<
-    class Base, 
-    class CharType = BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type
->
-class binary_from_base64 : public
-    transform_iterator<
-        detail::to_6_bit<CharType>,
-        Base
-    >
-{
-    friend class boost::iterator_core_access;
-    typedef transform_iterator<
-        detail::to_6_bit<CharType>,
-        Base
-    > super_t;
-public:
-    // make composible buy using templated constructor
-    template<class T>
-    binary_from_base64(BOOST_PFTO_WRAPPER(T)  start) :
-        super_t(
-            Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))), 
-            detail::to_6_bit<CharType>()
-        )
-    {}
-    // intel 7.1 doesn't like default copy constructor
-    binary_from_base64(const binary_from_base64 & rhs) : 
-        super_t(
-            Base(rhs.base_reference()),
-            detail::to_6_bit<CharType>()
-        )
-    {}
-//    binary_from_base64(){};
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_BINARY_FROM_BASE64_HPP
diff --git a/SRC/Boost/boost/archive/iterators/insert_linebreaks.hpp b/SRC/Boost/boost/archive/iterators/insert_linebreaks.hpp
deleted file mode 100755
index 3e504db..0000000
--- a/SRC/Boost/boost/archive/iterators/insert_linebreaks.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_INSERT_LINEBREAKS_HPP
-#define BOOST_ARCHIVE_ITERATORS_INSERT_LINEBREAKS_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// insert_linebreaks.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ using ::memcpy; }
-#endif
-
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-namespace boost { 
-namespace archive {
-namespace iterators {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// insert line break every N characters
-template<
-    class Base, 
-    int N, 
-    class CharType = BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type
->
-class insert_linebreaks : 
-    public iterator_adaptor<
-        insert_linebreaks<Base, N, CharType>,
-        Base,
-        CharType,
-        single_pass_traversal_tag,
-        CharType
-    >
-{
-private:
-    friend class boost::iterator_core_access;
-    typedef iterator_adaptor<
-        insert_linebreaks<Base, N, CharType>,
-        Base,
-        CharType,
-        single_pass_traversal_tag,
-        CharType
-    > super_t;
-
-    bool equal(const insert_linebreaks<Base, N, CharType> & rhs) const {
-        return
-//            m_count == rhs.m_count
-//            && base_reference() == rhs.base_reference()
-            this->base_reference() == rhs.base_reference()
-        ;
-    }
-
-    void increment() {
-        if(m_count == N){
-            m_count = 0;
-            return;
-        }
-        ++m_count;
-        ++(this->base_reference());
-    }
-    CharType dereference() const {
-        if(m_count == N)
-            return '\n';
-        return * (this->base_reference());
-    }
-    unsigned int m_count;
-public:
-    // make composible buy using templated constructor
-    template<class T>
-    insert_linebreaks(BOOST_PFTO_WRAPPER(T)  start) :
-        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))),
-        m_count(0)
-    {}
-    // intel 7.1 doesn't like default copy constructor
-    insert_linebreaks(const insert_linebreaks & rhs) : 
-        super_t(rhs.base_reference()),
-        m_count(rhs.m_count)
-    {}
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_INSERT_LINEBREAKS_HPP
diff --git a/SRC/Boost/boost/archive/iterators/mb_from_wchar.hpp b/SRC/Boost/boost/archive/iterators/mb_from_wchar.hpp
deleted file mode 100755
index 01f06e0..0000000
--- a/SRC/Boost/boost/archive/iterators/mb_from_wchar.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_MB_FROM_WCHAR_HPP
-#define BOOST_ARCHIVE_ITERATORS_MB_FROM_WCHAR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// mb_from_wchar.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-#include <cstddef> // size_t
-#include <cstdlib> // for wctomb()
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-    using ::wctomb;
-} // namespace std
-#endif
-
-#include <boost/serialization/pfto.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-
-namespace boost { 
-namespace archive {
-namespace iterators {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// class used by text archives to translate wide strings and to char
-// strings of the currently selected locale
-template<class Base>    // the input iterator
-class mb_from_wchar
-    : public boost::iterator_adaptor<
-        mb_from_wchar<Base>, 
-        Base, 
-        wchar_t,
-        single_pass_traversal_tag,
-        char
-    >
-{
-    friend class boost::iterator_core_access;
-
-    typedef BOOST_DEDUCED_TYPENAME boost::iterator_adaptor<
-        mb_from_wchar<Base>, 
-        Base, 
-        wchar_t,
-        single_pass_traversal_tag,
-        char
-    > super_t;
-
-    typedef mb_from_wchar<Base> this_t;
-
-    char dereference_impl() {
-        if(! m_full){
-            fill();
-            m_full = true;
-        }
-        return m_buffer[m_bnext];
-    }
-    char dereference() const {
-        return (const_cast<this_t *>(this))->dereference_impl();
-    }
-
-    // test for iterator equality
-    bool equal(const mb_from_wchar<Base> & rhs) const {
-        // once the value is filled, the base_reference has been incremented
-        // so don't permit comparison anymore.
-        return 
-            0 == m_bend
-            && 0 == m_bnext
-            && this->base_reference() == rhs.base_reference()
-        ;
-    }
-
-    void fill(){
-        wchar_t value = * this->base_reference();
-        #if (defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 3) \
-        || ((__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION >= 8))))
-        m_bend = std::wcrtomb(m_buffer, value, 0);
-        #else
-        m_bend = std::wctomb(m_buffer, value);
-        #endif
-        BOOST_ASSERT(-1 != m_bend);
-        BOOST_ASSERT((std::size_t)m_bend <= sizeof(m_buffer));
-        BOOST_ASSERT(m_bend > 0);
-        m_bnext = 0;
-    }
-
-    void increment(){
-        if(++m_bnext < m_bend)
-            return;
-        m_bend = 
-        m_bnext = 0;
-        ++(this->base_reference());
-        m_full = false;
-    }
-
-    // buffer to handle pending characters
-    int m_bend;
-    int m_bnext;
-    char m_buffer[9];
-    bool m_full;
-
-public:
-    // make composible buy using templated constructor
-    template<class T>
-    mb_from_wchar(BOOST_PFTO_WRAPPER(T) start) :
-        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))),
-        m_bend(0),
-        m_bnext(0),
-        m_full(false)
-    {}
-    // intel 7.1 doesn't like default copy constructor
-    mb_from_wchar(const mb_from_wchar & rhs) : 
-        super_t(rhs.base_reference()),
-        m_bend(rhs.m_bend),
-        m_bnext(rhs.m_bnext),
-        m_full(rhs.m_full)
-    {}
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_MB_FROM_WCHAR_HPP
diff --git a/SRC/Boost/boost/archive/iterators/remove_whitespace.hpp b/SRC/Boost/boost/archive/iterators/remove_whitespace.hpp
deleted file mode 100755
index 0db78d7..0000000
--- a/SRC/Boost/boost/archive/iterators/remove_whitespace.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_REMOVE_WHITESPACE_HPP
-#define BOOST_ARCHIVE_ITERATORS_REMOVE_WHITESPACE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// remove_whitespace.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/filter_iterator.hpp>
-
-//#include <boost/detail/workaround.hpp>
-//#if ! BOOST_WORKAROUND(BOOST_MSVC, <=1300)
-
-// here is the default standard implementation of the functor used
-// by the filter iterator to remove spaces.  Unfortunately usage
-// of this implementation in combination with spirit trips a bug
-// VC 6.5.  The only way I can find to work around it is to 
-// implement a special non-standard version for this platform
-
-#ifndef BOOST_NO_CWCTYPE
-#include <cwctype> // iswspace
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ using ::iswspace; }
-#endif
-#endif
-
-#include <cctype> // isspace
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ using ::isspace; }
-#endif
-
-#if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
-// this is required for the RW STL on Linux and Tru64.
-#undef isspace
-#undef iswspace
-#endif
-
-//#endif // BOOST_WORKAROUND
-
-namespace { // anonymous
-
-template<class CharType>
-struct remove_whitespace_predicate;
-
-template<>
-struct remove_whitespace_predicate<char>
-{
-    bool operator()(unsigned char t){
-        return ! std::isspace(t);
-    }
-};
-
-#ifndef BOOST_NO_CWCHAR
-template<>
-struct remove_whitespace_predicate<wchar_t>
-{
-    bool operator()(wchar_t t){
-        return ! std::iswspace(t);
-    }
-};
-#endif
-
-} // namespace anonymous
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// convert base64 file data (including whitespace and padding) to binary
-
-namespace boost { 
-namespace archive {
-namespace iterators {
-
-// custom version of filter iterator which doesn't look ahead further than
-// necessary
-
-template<class Predicate, class Base>
-class filter_iterator
-    : public boost::iterator_adaptor<
-        filter_iterator<Predicate, Base>,
-        Base,
-        use_default,
-        single_pass_traversal_tag
-    >
-{
-    friend class boost::iterator_core_access;
-    typedef BOOST_DEDUCED_TYPENAME boost::iterator_adaptor<
-        filter_iterator<Predicate, Base>,
-        Base,
-        use_default,
-        single_pass_traversal_tag
-    > super_t;
-    typedef filter_iterator<Predicate, Base> this_t;
-    typedef BOOST_DEDUCED_TYPENAME super_t::reference reference_type;
-
-    reference_type dereference_impl(){
-        if(! m_full){
-            while(! m_predicate(* this->base_reference()))
-                ++(this->base_reference());
-            m_full = true;
-        }
-        return * this->base_reference();
-    }
-
-    reference_type dereference() const {
-        return const_cast<this_t *>(this)->dereference_impl();
-    }
-
-    Predicate m_predicate;
-    bool m_full;
-public:
-    // note: this function is public only because comeau compiler complained
-    // I don't know if this is because the compiler is wrong or what
-    void increment(){
-        m_full = false;
-        ++(this->base_reference());
-    }
-    filter_iterator(Base start) : 
-        super_t(start), 
-        m_full(false)
-    {}
-    filter_iterator(){}
-};
-
-template<class Base>
-class remove_whitespace : 
-    public filter_iterator<
-        remove_whitespace_predicate<BOOST_DEDUCED_TYPENAME Base::value_type>,
-        Base
-    >
-{
-    friend class boost::iterator_core_access;
-    typedef filter_iterator<
-        remove_whitespace_predicate<BOOST_DEDUCED_TYPENAME Base::value_type>,
-        Base
-    > super_t;
-public:
-//    remove_whitespace(){} // why is this needed?
-    // make composible buy using templated constructor
-    template<class T>
-    remove_whitespace(BOOST_PFTO_WRAPPER(T) start) :
-        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))))
-    {}
-    // intel 7.1 doesn't like default copy constructor
-    remove_whitespace(const remove_whitespace & rhs) : 
-        super_t(rhs.base_reference())
-    {}
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_REMOVE_WHITESPACE_HPP
diff --git a/SRC/Boost/boost/archive/iterators/transform_width.hpp b/SRC/Boost/boost/archive/iterators/transform_width.hpp
deleted file mode 100755
index 62daf60..0000000
--- a/SRC/Boost/boost/archive/iterators/transform_width.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_TRANSFORM_WIDTH_HPP
-#define BOOST_ARCHIVE_ITERATORS_TRANSFORM_WIDTH_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// transform_width.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// iterator which takes elements of x bits and returns elements of y bits.
-// used to change streams of 8 bit characters into streams of 6 bit characters.
-// and vice-versa for implementing base64 encodeing/decoding. Be very careful
-// when using and end iterator.  end is only reliable detected when the input
-// stream length is some common multiple of x and y.  E.G. Base64 6 bit
-// character and 8 bit bytes. Lowest common multiple is 24 => 4 6 bit characters
-// or 3 8 bit characters
-
-#include <algorithm>
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME & PTFO
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-namespace boost { 
-namespace archive {
-namespace iterators {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// class used by text archives to translate char strings to wchar_t
-// strings of the currently selected locale
-template<
-    class Base, 
-    int BitsOut, 
-    int BitsIn, 
-    class CharType = BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type // output character
->
-class transform_width : 
-    public boost::iterator_adaptor<
-        transform_width<Base, BitsOut, BitsIn, CharType>,
-        Base,
-        CharType,
-        single_pass_traversal_tag,
-        CharType
-    >
-{
-    friend class boost::iterator_core_access;
-    typedef BOOST_DEDUCED_TYPENAME boost::iterator_adaptor<
-        transform_width<Base, BitsOut, BitsIn, CharType>,
-        Base,
-        CharType,
-        single_pass_traversal_tag,
-        CharType
-    > super_t;
-
-    typedef transform_width<Base, BitsOut, BitsIn, CharType> this_t;
-    typedef BOOST_DEDUCED_TYPENAME iterator_value<Base>::type base_value_type;
-
-    CharType fill();
-
-    CharType dereference_impl(){
-        if(! m_full){
-            m_current_value = fill();
-            m_full = true;
-        }
-        return m_current_value;
-    }
-
-    CharType dereference() const {
-        return const_cast<this_t *>(this)->dereference_impl();
-    }
-
-    // test for iterator equality
-    bool equal(const this_t & rhs) const {
-        return
-            this->base_reference() == rhs.base_reference();
-        ;
-    }
-
-    void increment(){
-        m_displacement += BitsOut;
-
-        while(m_displacement >= BitsIn){
-            m_displacement -= BitsIn;
-            if(0 == m_displacement)
-                m_bufferfull = false;
-            if(! m_bufferfull){
-                // note: suspect that this is not invoked for borland
-                ++(this->base_reference());
-            }
-        }
-        m_full = false;
-    }
-
-    CharType m_current_value;
-    // number of bits left in current input character buffer
-    unsigned int m_displacement;
-    base_value_type m_buffer;
-    // flag to current output character is ready - just used to save time
-    bool m_full;
-    // flag to indicate that m_buffer has data
-    bool m_bufferfull;
-
-public:
-    // make composible buy using templated constructor
-    template<class T>
-    transform_width(BOOST_PFTO_WRAPPER(T) start) : 
-        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))),
-        m_displacement(0),
-        m_full(false),
-        m_bufferfull(false)
-    {}
-    // intel 7.1 doesn't like default copy constructor
-    transform_width(const transform_width & rhs) : 
-        super_t(rhs.base_reference()),
-        m_current_value(rhs.m_current_value),
-        m_displacement(rhs.m_displacement),
-        m_buffer(rhs.m_buffer),
-        m_full(rhs.m_full),
-        m_bufferfull(rhs.m_bufferfull)
-    {}
-};
-
-template<class Base, int BitsOut, int BitsIn, class CharType>
-CharType transform_width<Base, BitsOut, BitsIn, CharType>::fill(){
-    CharType retval = 0;
-    unsigned int missing_bits = BitsOut;
-    for(;;){
-        unsigned int bcount;
-        if(! m_bufferfull){
-            m_buffer = * this->base_reference();
-            m_bufferfull = true;
-            bcount = BitsIn;
-        }
-        else
-            bcount = BitsIn - m_displacement;
-        unsigned int i = (std::min)(bcount, missing_bits);
-        // shift interesting bits to least significant position
-        unsigned int j = m_buffer >> (bcount - i);
-        // strip off uninteresting bits
-        // (note presumption of two's complement arithmetic)
-        j &= ~(-(1 << i));
-        // append then interesting bits to the output value
-        retval <<= i;
-        retval |= j;
-        missing_bits -= i;
-        if(0 == missing_bits)
-            break;
-        // note: suspect that this is not invoked for borland 5.51
-        ++(this->base_reference());
-        m_bufferfull = false;
-    }
-    return retval;
-}
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_TRANSFORM_WIDTH_HPP
diff --git a/SRC/Boost/boost/archive/iterators/wchar_from_mb.hpp b/SRC/Boost/boost/archive/iterators/wchar_from_mb.hpp
deleted file mode 100755
index c4fec10..0000000
--- a/SRC/Boost/boost/archive/iterators/wchar_from_mb.hpp
+++ /dev/null
@@ -1,129 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_WCHAR_FROM_MB_HPP
-#define BOOST_ARCHIVE_ITERATORS_WCHAR_FROM_MB_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// wchar_from_mb.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-#include <cctype>
-#include <cstddef> // size_t
-#include <cstdlib> // mblen
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::mblen; 
-    using ::mbtowc; 
-} // namespace std
-#endif
-
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/archive/iterators/dataflow_exception.hpp>
-
-namespace boost { 
-namespace archive {
-namespace iterators {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// class used by text archives to translate char strings to wchar_t
-// strings of the currently selected locale
-template<class Base>
-class wchar_from_mb 
-    : public boost::iterator_adaptor<
-        wchar_from_mb<Base>, 
-        Base, 
-        wchar_t,
-        single_pass_traversal_tag,
-        wchar_t
-    >
-{
-    friend class boost::iterator_core_access;
-    typedef BOOST_DEDUCED_TYPENAME boost::iterator_adaptor<
-        wchar_from_mb<Base>, 
-        Base, 
-        wchar_t,
-        single_pass_traversal_tag,
-        wchar_t
-    > super_t;
-
-    typedef wchar_from_mb<Base> this_t;
-
-    wchar_t drain();
-
-    wchar_t dereference_impl() {
-        if(! m_full){
-            m_current_value = drain();
-            m_full = true;
-        }
-        return m_current_value;
-    }
-
-    wchar_t dereference() const {
-        return const_cast<this_t *>(this)->dereference_impl();
-    }
-
-    void increment(){
-        dereference_impl();
-        m_full = false;
-        ++(this->base_reference());
-    };
-
-    wchar_t m_current_value;
-    bool m_full;
-
-public:
-    // make composible buy using templated constructor
-    template<class T>
-    wchar_from_mb(BOOST_PFTO_WRAPPER(T) start) : 
-        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))),
-        m_full(false)
-    {}
-    // intel 7.1 doesn't like default copy constructor
-    wchar_from_mb(const wchar_from_mb & rhs) : 
-        super_t(rhs.base_reference()),
-        m_full(rhs.m_full)
-    {}
-};
-
-template<class Base>
-wchar_t wchar_from_mb<Base>::drain(){
-    char buffer[9];
-    char * bptr = buffer;
-    char val;
-    for(std::size_t i = 0; i++ < (unsigned)MB_CUR_MAX;){
-        val = * this->base_reference();
-        *bptr++ = val;
-        int result = std::mblen(buffer, i);
-        if(-1 != result)
-            break;
-        ++(this->base_reference());
-    }
-    wchar_t retval;
-    int result = std::mbtowc(& retval, buffer, MB_CUR_MAX);
-    if(0 >= result)
-        boost::serialization::throw_exception(iterators::dataflow_exception(
-            iterators::dataflow_exception::invalid_conversion
-        ));
-    return retval;
-}
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_WCHAR_FROM_MB_HPP
diff --git a/SRC/Boost/boost/archive/iterators/xml_escape.hpp b/SRC/Boost/boost/archive/iterators/xml_escape.hpp
deleted file mode 100755
index bd5be61..0000000
--- a/SRC/Boost/boost/archive/iterators/xml_escape.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_XML_ESCAPE_HPP
-#define BOOST_ARCHIVE_ITERATORS_XML_ESCAPE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_escape.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/archive/iterators/escape.hpp>
-
-namespace boost { 
-namespace archive {
-namespace iterators {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// insert escapes into xml text
-
-template<class Base>
-class xml_escape 
-    : public escape<xml_escape<Base>, Base>
-{
-    friend class boost::iterator_core_access;
-
-    typedef escape<xml_escape<Base>, Base> super_t;
-
-public:
-    char fill(const char * & bstart, const char * & bend);
-    wchar_t fill(const wchar_t * & bstart, const wchar_t * & bend);
-
-    template<class T>
-    xml_escape(BOOST_PFTO_WRAPPER(T) start) :
-        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))))
-    {}
-    // intel 7.1 doesn't like default copy constructor
-    xml_escape(const xml_escape & rhs) : 
-        super_t(rhs.base_reference())
-    {}
-};
-
-template<class Base>
-char xml_escape<Base>::fill(
-    const char * & bstart, 
-    const char * & bend
-){
-    char current_value = * this->base_reference();
-    switch(current_value){
-    case '<':
-        bstart = "<";
-        bend = bstart + 4;
-        break;
-    case '>':
-        bstart = ">";
-        bend = bstart + 4;
-        break;
-    case '&':
-        bstart = "&";
-        bend = bstart + 5;
-        break;
-    case '"':
-        bstart = """;
-        bend = bstart + 6;
-        break;
-    case '\'':
-        bstart = "'";
-        bend = bstart + 6;
-        break;
-    default:
-        return current_value;
-    }
-    return *bstart;
-}
-
-template<class Base>
-wchar_t xml_escape<Base>::fill(
-    const wchar_t * & bstart, 
-    const wchar_t * & bend
-){
-    wchar_t current_value = * this->base_reference();
-    switch(current_value){
-    case '<':
-        bstart = L"<";
-        bend = bstart + 4;
-        break;
-    case '>':
-        bstart = L">";
-        bend = bstart + 4;
-        break;
-    case '&':
-        bstart = L"&";
-        bend = bstart + 5;
-        break;
-    case '"':
-        bstart = L""";
-        bend = bstart + 6;
-        break;
-    case '\'':
-        bstart = L"'";
-        bend = bstart + 6;
-        break;
-    default:
-        return current_value;
-    }
-    return *bstart;
-}
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_XML_ESCAPE_HPP
diff --git a/SRC/Boost/boost/archive/iterators/xml_unescape.hpp b/SRC/Boost/boost/archive/iterators/xml_unescape.hpp
deleted file mode 100755
index 03a1347..0000000
--- a/SRC/Boost/boost/archive/iterators/xml_unescape.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_XML_UNESCAPE_HPP
-#define BOOST_ARCHIVE_ITERATORS_XML_UNESCAPE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_unescape.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-
-#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
-
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/archive/iterators/unescape.hpp>
-#include <boost/archive/iterators/dataflow_exception.hpp>
-
-namespace boost { 
-namespace archive {
-namespace iterators {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// replace &??? xml escape sequences with the corresponding characters
-template<class Base>
-class xml_unescape 
-    : public unescape<xml_unescape<Base>, Base>
-{
-    friend class boost::iterator_core_access;
-    typedef xml_unescape<Base> this_t;
-    typedef unescape<this_t, Base> super_t;
-    typedef BOOST_DEDUCED_TYPENAME boost::iterator_reference<this_t> reference_type;
-
-    reference_type dereference() const {
-        return unescape<xml_unescape<Base>, Base>::dereference();
-    }
-public:
-    // workaround msvc 7.1 ICU crash
-    #if defined(BOOST_MSVC)
-        typedef int value_type;
-    #else
-        typedef BOOST_DEDUCED_TYPENAME this_t::value_type value_type;
-    #endif
-
-    void drain_residue(const char *literal);
-    value_type drain();
-
-    template<class T>
-    xml_unescape(BOOST_PFTO_WRAPPER(T) start) : 
-        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))))
-    {}
-    // intel 7.1 doesn't like default copy constructor
-    xml_unescape(const xml_unescape & rhs) : 
-        super_t(rhs.base_reference())
-    {}
-};
-
-template<class Base>
-void xml_unescape<Base>::drain_residue(const char * literal){
-    do{
-        if(* literal != * ++(this->base_reference()))
-            boost::serialization::throw_exception(
-                dataflow_exception(
-                    dataflow_exception::invalid_xml_escape_sequence
-                )
-            );
-    }
-    while('\0' != * ++literal);
-}
-
-// note key constraint on this function is that can't "look ahead" any
-// more than necessary into base iterator.  Doing so would alter the base
-// iterator refenence which would make subsequent iterator comparisons
-// incorrect and thereby break the composiblity of iterators.
-template<class Base>
-BOOST_DEDUCED_TYPENAME xml_unescape<Base>::value_type 
-//int 
-xml_unescape<Base>::drain(){
-    value_type retval = * this->base_reference();
-    if('&' != retval){
-        return retval;
-    }
-    retval = * ++(this->base_reference());
-    switch(retval){
-    case 'l': // <
-        drain_residue("t;");
-        retval = '<';
-        break;
-    case 'g': // >
-        drain_residue("t;");
-        retval = '>';
-        break;
-    case 'a':
-        retval = * ++(this->base_reference());
-        switch(retval){
-        case 'p': // '
-            drain_residue("os;");
-            retval = '\'';
-            break;
-        case 'm': // &
-            drain_residue("p;");
-            retval = '&';
-            break;
-        }
-        break;
-    case 'q':
-        drain_residue("uot;");
-        retval = '"';
-        break;
-    }
-    return retval;
-}
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_XML_UNESCAPE_HPP
diff --git a/SRC/Boost/boost/archive/polymorphic_binary_iarchive.hpp b/SRC/Boost/boost/archive/polymorphic_binary_iarchive.hpp
deleted file mode 100755
index f441acc..0000000
--- a/SRC/Boost/boost/archive/polymorphic_binary_iarchive.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_BINARY_IARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_BINARY_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_binary_iarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/archive/binary_iarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_route.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-class polymorphic_binary_iarchive : 
-    public detail::polymorphic_iarchive_route<naked_binary_iarchive>
-{
-public:
-    polymorphic_binary_iarchive(std::istream & is, unsigned int flags = 0) :
-        detail::polymorphic_iarchive_route<naked_binary_iarchive>(is, flags)
-    {}
-    ~polymorphic_binary_iarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(
-    boost::archive::polymorphic_binary_iarchive
-)
-
-#endif // BOOST_ARCHIVE_POLYMORPHIC_BINARY_IARCHIVE_HPP
-
diff --git a/SRC/Boost/boost/archive/polymorphic_binary_oarchive.hpp b/SRC/Boost/boost/archive/polymorphic_binary_oarchive.hpp
deleted file mode 100755
index bc06136..0000000
--- a/SRC/Boost/boost/archive/polymorphic_binary_oarchive.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_BINARY_OARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_BINARY_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_binary_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/archive/binary_oarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_route.hpp>
-
-namespace boost { 
-namespace archive {
-
-typedef detail::polymorphic_oarchive_route<
-    binary_oarchive_impl<
-        naked_binary_oarchive, 
-        std::ostream::char_type, 
-        std::ostream::traits_type
-    >
- > polymorphic_binary_oarchive;
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(
-    boost::archive::polymorphic_binary_oarchive
-)
-
-#endif // BOOST_ARCHIVE_POLYMORPHIC_BINARY_OARCHIVE_HPP
-
diff --git a/SRC/Boost/boost/archive/polymorphic_iarchive.hpp b/SRC/Boost/boost/archive/polymorphic_iarchive.hpp
deleted file mode 100755
index 061f177..0000000
--- a/SRC/Boost/boost/archive/polymorphic_iarchive.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_IARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_iarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // std::size_t
-#include <climits> // ULONG_MAX 
-#include <string>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::size_t;
-} // namespace std
-#endif
-
-#include <boost/cstdint.hpp>
-
-#include <boost/serialization/pfto.hpp>
-#include <boost/archive/detail/iserializer.hpp>
-#include <boost/archive/detail/interface_iarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-
-#include <boost/archive/detail/decl.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-template<class T>
-class shared_ptr;
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-namespace archive {
-namespace detail {
-    class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive;
-    class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive;
-}
-
-class polymorphic_iarchive;
-
-class polymorphic_iarchive_impl :
-    public detail::interface_iarchive<polymorphic_iarchive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class detail::interface_iarchive<polymorphic_iarchive>;
-    friend class load_access;
-#endif
-    // primitive types the only ones permitted by polymorphic archives
-    virtual void load(bool & t) = 0;
-
-    virtual void load(char & t) = 0;
-    virtual void load(signed char & t) = 0;
-    virtual void load(unsigned char & t) = 0;
-    #ifndef BOOST_NO_CWCHAR
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    virtual void load(wchar_t & t) = 0;
-    #endif
-    #endif
-    virtual void load(short & t) = 0;
-    virtual void load(unsigned short & t) = 0;
-    virtual void load(int & t) = 0;
-    virtual void load(unsigned int & t) = 0;
-    virtual void load(long & t) = 0;
-    virtual void load(unsigned long & t) = 0;
-
-    #if defined(BOOST_HAS_LONG_LONG)
-    virtual void load(boost::long_long_type & t) = 0;
-    virtual void load(boost::ulong_long_type & t) = 0;
-    #elif defined(BOOST_HAS_MS_INT64)
-    virtual void load(__int64 & t) = 0;
-    virtual void load(unsigned __int64 & t) = 0;
-    #endif
-
-    virtual void load(float & t) = 0;
-    virtual void load(double & t) = 0;
-
-    // string types are treated as primitives
-    virtual void load(std::string & t) = 0;
-    #ifndef BOOST_NO_STD_WSTRING
-    virtual void load(std::wstring & t) = 0;
-    #endif
-
-    // used for xml and other tagged formats
-    virtual void load_start(const char * name) = 0;
-    virtual void load_end(const char * name) = 0;
-    virtual void register_basic_serializer(const detail::basic_iserializer & bis) = 0;
-
-    // msvc and borland won't automatically pass these to the base class so
-    // make it explicit here
-    template<class T>
-    void load_override(T & t, BOOST_PFTO int)
-    {
-        archive::load(* this->This(), t);
-    }
-    // special treatment for name-value pairs.
-    template<class T>
-    void load_override(
-        #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-        const
-        #endif
-        boost::serialization::nvp< T > & t,
-        int
-    ){
-        load_start(t.name());
-        archive::load(* this->This(), t.value());
-        load_end(t.name());
-    }
-protected:
-    virtual ~polymorphic_iarchive_impl(){};
-public:
-    // utility function implemented by all legal archives
-    virtual void set_library_version(library_version_type archive_library_version) = 0;
-    virtual library_version_type get_library_version() const = 0;
-    virtual unsigned int get_flags() const = 0;
-    virtual void delete_created_pointers() = 0;
-    virtual void reset_object_address(
-        const void * new_address,
-        const void * old_address
-    ) = 0;
-
-    virtual void load_binary(void * t, std::size_t size) = 0;
-
-    // these are used by the serialization library implementation.
-    virtual void load_object(
-        void *t,
-        const detail::basic_iserializer & bis
-    ) = 0;
-    virtual const detail::basic_pointer_iserializer * load_pointer(
-        void * & t,
-        const detail::basic_pointer_iserializer * bpis_ptr,
-        const detail::basic_pointer_iserializer * (*finder)(
-            const boost::serialization::extended_type_info & type
-        )
-    ) = 0;
-};
-
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-// note special treatment of shared_ptr. This type needs a special
-// structure associated with every archive.  We created a "mix-in"
-// class to provide this functionality.  Since shared_ptr holds a
-// special esteem in the boost library - we included it here by default.
-#include <boost/archive/shared_ptr_helper.hpp>
-
-namespace boost { 
-namespace archive {
-
-class polymorphic_iarchive : 
-    public polymorphic_iarchive_impl,
-    public detail::shared_ptr_helper
-{
-public:
-    virtual ~polymorphic_iarchive(){};
-};
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::polymorphic_iarchive)
-
-#endif // BOOST_ARCHIVE_POLYMORPHIC_IARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/polymorphic_oarchive.hpp b/SRC/Boost/boost/archive/polymorphic_oarchive.hpp
deleted file mode 100755
index 1803f3e..0000000
--- a/SRC/Boost/boost/archive/polymorphic_oarchive.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_OARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // size_t
-#include <climits> // ULONG_MAX 
-#include <string>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::size_t;
-} // namespace std
-#endif
-
-#include <boost/cstdint.hpp>
-#include <boost/serialization/pfto.hpp>
-#include <boost/archive/detail/oserializer.hpp>
-#include <boost/archive/detail/interface_oarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-
-#include <boost/archive/detail/decl.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-template<class T>
-class shared_ptr;
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-namespace archive {
-namespace detail {
-    class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive;
-    class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer;
-}
-
-class polymorphic_oarchive;
-
-class polymorphic_oarchive_impl :
-    public detail::interface_oarchive<polymorphic_oarchive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class detail::interface_oarchive<polymorphic_oarchive>;
-    friend class save_access;
-#endif
-    // primitive types the only ones permitted by polymorphic archives
-    virtual void save(const bool t) = 0;
-
-    virtual void save(const char t) = 0;
-    virtual void save(const signed char t) = 0;
-    virtual void save(const unsigned char t) = 0;
-    #ifndef BOOST_NO_CWCHAR
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    virtual void save(const wchar_t t) = 0;
-    #endif
-    #endif
-    virtual void save(const short t) = 0;
-    virtual void save(const unsigned short t) = 0;
-    virtual void save(const int t) = 0;
-    virtual void save(const unsigned int t) = 0;
-    virtual void save(const long t) = 0;
-    virtual void save(const unsigned long t) = 0;
-
-    #if defined(BOOST_HAS_LONG_LONG)
-    virtual void save(const boost::long_long_type t) = 0;
-    virtual void save(const boost::ulong_long_type t) = 0;
-    #elif defined(BOOST_HAS_MS_INT64)
-    virtual void save(const __int64 t) = 0;
-    virtual void save(const unsigned __int64 t) = 0;
-    #endif
-
-    virtual void save(const float t) = 0;
-    virtual void save(const double t) = 0;
-
-    // string types are treated as primitives
-    virtual void save(const std::string & t) = 0;
-    #ifndef BOOST_NO_STD_WSTRING
-    virtual void save(const std::wstring & t) = 0;
-    #endif
-
-    virtual void save_null_pointer() = 0;
-    // used for xml and other tagged formats
-    virtual void save_start(const char * name) = 0;
-    virtual void save_end(const char * name) = 0;
-    virtual void register_basic_serializer(const detail::basic_oserializer & bos) = 0;
-
-    virtual void end_preamble() = 0;
-
-    // msvc and borland won't automatically pass these to the base class so
-    // make it explicit here
-    template<class T>
-    void save_override(T & t, BOOST_PFTO int)
-    {
-        archive::save(* this->This(), t);
-    }
-    // special treatment for name-value pairs.
-    template<class T>
-    void save_override(
-                #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-                const
-                #endif
-                ::boost::serialization::nvp< T > & t, int
-        ){
-        save_start(t.name());
-        archive::save(* this->This(), t.const_value());
-        save_end(t.name());
-    }
-protected:
-    virtual ~polymorphic_oarchive_impl(){};
-public:
-    // utility functions implemented by all legal archives
-    virtual unsigned int get_flags() const = 0;
-    virtual library_version_type get_library_version() const = 0;
-    virtual void save_binary(const void * t, std::size_t size) = 0;
-
-    virtual void save_object(
-        const void *x,
-        const detail::basic_oserializer & bos
-    ) = 0;
-    virtual void save_pointer(
-        const void * t,
-        const detail::basic_pointer_oserializer * bpos_ptr
-    ) = 0;
-};
-
-// note: preserve naming symmetry
-class polymorphic_oarchive : 
-    public polymorphic_oarchive_impl
-{
-public:
-    virtual ~polymorphic_oarchive(){};
-};
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::polymorphic_oarchive)
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_POLYMORPHIC_OARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/polymorphic_text_iarchive.hpp b/SRC/Boost/boost/archive/polymorphic_text_iarchive.hpp
deleted file mode 100755
index 9abf00a..0000000
--- a/SRC/Boost/boost/archive/polymorphic_text_iarchive.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_TEXT_IARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_TEXT_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_text_iarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_route.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-class polymorphic_text_iarchive : 
-    public detail::polymorphic_iarchive_route<naked_text_iarchive>
-{
-public:
-    polymorphic_text_iarchive(std::istream & is, unsigned int flags = 0) :
-        detail::polymorphic_iarchive_route<naked_text_iarchive>(is, flags)
-    {}
-    ~polymorphic_text_iarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(
-    boost::archive::polymorphic_text_iarchive
-)
-
-#endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_IARCHIVE_HPP
-
diff --git a/SRC/Boost/boost/archive/polymorphic_text_oarchive.hpp b/SRC/Boost/boost/archive/polymorphic_text_oarchive.hpp
deleted file mode 100755
index 8fa8e6d..0000000
--- a/SRC/Boost/boost/archive/polymorphic_text_oarchive.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_TEXT_OARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_TEXT_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_text_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_route.hpp>
-
-namespace boost { 
-namespace archive {
-
-typedef detail::polymorphic_oarchive_route<
-    text_oarchive_impl<naked_text_oarchive> 
-> polymorphic_text_oarchive;
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(
-    boost::archive::polymorphic_text_oarchive
-)
-
-#endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_OARCHIVE_HPP
-
diff --git a/SRC/Boost/boost/archive/polymorphic_text_wiarchive.hpp b/SRC/Boost/boost/archive/polymorphic_text_wiarchive.hpp
deleted file mode 100755
index 378fbd7..0000000
--- a/SRC/Boost/boost/archive/polymorphic_text_wiarchive.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_TEXT_WIARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_TEXT_WIARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_text_wiarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#include <boost/archive/text_wiarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_route.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-class polymorphic_text_wiarchive : 
-    public detail::polymorphic_iarchive_route<naked_text_wiarchive>
-{
-public:
-    polymorphic_text_wiarchive(std::wistream & is, unsigned int flags = 0) :
-        detail::polymorphic_iarchive_route<naked_text_wiarchive>(is, flags)
-    {}
-    ~polymorphic_text_wiarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(
-    boost::archive::polymorphic_text_wiarchive
-)
-
-#endif // BOOST_NO_STD_WSTREAMBUF
-#endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_WIARCHIVE_HPP
-
diff --git a/SRC/Boost/boost/archive/polymorphic_text_woarchive.hpp b/SRC/Boost/boost/archive/polymorphic_text_woarchive.hpp
deleted file mode 100755
index 1c467ba..0000000
--- a/SRC/Boost/boost/archive/polymorphic_text_woarchive.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_TEXT_WOARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_TEXT_WOARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_text_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#include <boost/archive/text_woarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_route.hpp>
-
-namespace boost { 
-namespace archive {
-
-typedef detail::polymorphic_oarchive_route<
-        text_woarchive_impl<naked_text_woarchive> 
-> polymorphic_text_woarchive;
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(
-    boost::archive::polymorphic_text_woarchive
-)
-
-#endif // BOOST_NO_STD_WSTREAMBUF 
-#endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_WOARCHIVE_HPP
-
diff --git a/SRC/Boost/boost/archive/polymorphic_xml_iarchive.hpp b/SRC/Boost/boost/archive/polymorphic_xml_iarchive.hpp
deleted file mode 100755
index 87bc7f7..0000000
--- a/SRC/Boost/boost/archive/polymorphic_xml_iarchive.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_XML_IARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_XML_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_xml_iarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/archive/xml_iarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_route.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-class polymorphic_xml_iarchive : 
-    public detail::polymorphic_iarchive_route<naked_xml_iarchive>
-{
-public:
-    polymorphic_xml_iarchive(std::istream & is, unsigned int flags = 0) :
-        detail::polymorphic_iarchive_route<naked_xml_iarchive>(is, flags)
-    {}
-    ~polymorphic_xml_iarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(
-    boost::archive::polymorphic_xml_iarchive
-)
-
-#endif // BOOST_ARCHIVE_POLYMORPHIC_XML_IARCHIVE_HPP
-
diff --git a/SRC/Boost/boost/archive/polymorphic_xml_oarchive.hpp b/SRC/Boost/boost/archive/polymorphic_xml_oarchive.hpp
deleted file mode 100755
index 87b4bf8..0000000
--- a/SRC/Boost/boost/archive/polymorphic_xml_oarchive.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_XML_OARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_XML_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_xml_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/archive/xml_oarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_route.hpp>
-
-namespace boost { 
-namespace archive {
-
-typedef detail::polymorphic_oarchive_route<
-    xml_oarchive_impl<naked_xml_oarchive> 
-> polymorphic_xml_oarchive;
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(
-    boost::archive::polymorphic_xml_oarchive
-)
-
-#endif // BOOST_ARCHIVE_POLYMORPHIC_XML_OARCHIVE_HPP
-
diff --git a/SRC/Boost/boost/archive/polymorphic_xml_wiarchive.hpp b/SRC/Boost/boost/archive/polymorphic_xml_wiarchive.hpp
deleted file mode 100755
index e15a340..0000000
--- a/SRC/Boost/boost/archive/polymorphic_xml_wiarchive.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_XML_WIARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_XML_WIARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_xml_wiarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#include <boost/archive/xml_wiarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_route.hpp>
-
-namespace boost { 
-namespace archive {
-
-class polymorphic_xml_wiarchive : 
-    public detail::polymorphic_iarchive_route<naked_xml_wiarchive>
-{
-public:
-    polymorphic_xml_wiarchive(std::wistream & is, unsigned int flags = 0) :
-        detail::polymorphic_iarchive_route<naked_xml_wiarchive>(is, flags)
-    {}
-    ~polymorphic_xml_wiarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(
-    boost::archive::polymorphic_xml_wiarchive
-)
-
-#endif // BOOST_NO_STD_WSTREAMBUF 
-#endif // BOOST_ARCHIVE_POLYMORPHIC_XML_WIARCHIVE_HPP
-
diff --git a/SRC/Boost/boost/archive/polymorphic_xml_woarchive.hpp b/SRC/Boost/boost/archive/polymorphic_xml_woarchive.hpp
deleted file mode 100755
index 14c8b80..0000000
--- a/SRC/Boost/boost/archive/polymorphic_xml_woarchive.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_XML_WOARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_XML_WOARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_xml_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#include <boost/archive/xml_woarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_route.hpp>
-
-namespace boost { 
-namespace archive {
-
-typedef detail::polymorphic_oarchive_route<
-        xml_woarchive_impl<naked_xml_woarchive> 
-> polymorphic_xml_woarchive;
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(
-    boost::archive::polymorphic_xml_woarchive
-)
-
-#endif // BOOST_NO_STD_WSTREAMBUF
-#endif // BOOST_ARCHIVE_POLYMORPHIC_XML_WOARCHIVE_HPP
-
diff --git a/SRC/Boost/boost/archive/shared_ptr_helper.hpp b/SRC/Boost/boost/archive/shared_ptr_helper.hpp
deleted file mode 100755
index 5550e47..0000000
--- a/SRC/Boost/boost/archive/shared_ptr_helper.hpp
+++ /dev/null
@@ -1,219 +0,0 @@
-#ifndef BOOST_ARCHIVE_SHARED_PTR_HELPER_HPP
-#define BOOST_ARCHIVE_SHARED_PTR_HELPER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// shared_ptr_helper.hpp: serialization for boost shared pointern
-
-// (C) Copyright 2004-2009 Robert Ramey, Martin Ecker and Takatoshi Kondo
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <set>
-#include <list>
-#include <utility>
-#include <cstddef> // NULL
-
-#include <boost/config.hpp>
-#include <boost/shared_ptr.hpp>
-
-#include <boost/type_traits/is_polymorphic.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/shared_ptr_132.hpp>
-#include <boost/serialization/throw_exception.hpp>
-
-#include <boost/archive/archive_exception.hpp>
-#include <boost/archive/detail/decl.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last headern
-
-namespace boost_132 {
-    template<class T> class shared_ptr;
-}
-namespace boost {
-    template<class T> class shared_ptr;
-    namespace serialization {
-        class extended_type_info;
-        template<class Archive, class T>
-        inline void load(
-            Archive & ar,
-            boost::shared_ptr< T > &t,
-            const unsigned int file_version
-        );
-    }
-namespace archive{
-namespace detail {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// a common class for holding various types of shared pointers
-
-class shared_ptr_helper {
-    struct collection_type_compare {
-        bool operator()(
-            const shared_ptr<const void> &lhs,
-            const shared_ptr<const void> &rhs
-        )const{
-            return lhs.get() < rhs.get();
-        }
-    };
-    typedef std::set<
-        boost::shared_ptr<const void>,
-        collection_type_compare
-    > collection_type;
-    typedef collection_type::const_iterator iterator_type;
-    // list of shared_pointers create accessable by raw pointer. This
-    // is used to "match up" shared pointers loaded at different
-    // points in the archive. Note, we delay construction until
-    // it is actually used since this is by default included as
-    // a "mix-in" even if shared_ptr isn't used.
-    collection_type * m_pointers;
-
-    struct null_deleter {
-        void operator()(void const *) const {}
-    };
-
-    struct void_deleter {
-        const boost::serialization::extended_type_info * m_eti;
-        void_deleter(const boost::serialization::extended_type_info *eti) :
-            m_eti(eti)
-        {}
-        void operator()(void *vp) const {
-            m_eti->destroy(vp);
-        }
-    };
-
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    template<class Archive, class T>
-    friend inline void boost::serialization::load(
-        Archive & ar,
-        boost::shared_ptr< T > &t,
-        const unsigned int file_version
-    );
-#endif
-
-//  #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
-    // list of loaded pointers.  This is used to be sure that the pointers
-    // stay around long enough to be "matched" with other pointers loaded
-    // by the same archive.  These are created with a "null_deleter" so that
-    // when this list is destroyed - the underlaying raw pointers are not
-    // destroyed.  This has to be done because the pointers are also held by
-    // new system which is disjoint from this set.  This is implemented
-    // by a change in load_construct_data below.  It makes this file suitable
-    // only for loading pointers into a 1.33 or later boost system.
-    std::list<boost_132::shared_ptr<const void> > * m_pointers_132;
-//  #endif
-
-    // returns pointer to object and an indicator whether this is a
-    // new entry (true) or a previous one (false)
-    BOOST_ARCHIVE_DECL(shared_ptr<void>) 
-    get_od(
-        const void * od,
-        const boost::serialization::extended_type_info * true_type, 
-        const boost::serialization::extended_type_info * this_type
-    );
-
-    BOOST_ARCHIVE_DECL(void)
-    append(const boost::shared_ptr<const void> &);
-
-    template<class T>
-    struct non_polymorphic {
-        static const boost::serialization::extended_type_info * 
-        get_object_identifier(T & t){
-            return & boost::serialization::singleton<
-                BOOST_DEDUCED_TYPENAME 
-                boost::serialization::type_info_implementation< T >::type
-            >::get_const_instance();
-        }
-    };
-    template<class T>
-    struct polymorphic {
-        static const boost::serialization::extended_type_info * 
-        get_object_identifier(T & t){
-            return boost::serialization::singleton<
-                BOOST_DEDUCED_TYPENAME 
-                boost::serialization::type_info_implementation< T >::type
-            >::get_const_instance().get_derived_extended_type_info(t);
-        }
-    };
-public:
-    template<class T>
-    void reset(shared_ptr< T > & s, T * t){
-        if(NULL == t){
-            s.reset();
-            return;
-        }
-        const boost::serialization::extended_type_info * this_type
-            = & boost::serialization::type_info_implementation< T >::type
-                    ::get_const_instance();
-
-        // get pointer to the most derived object.  This is effectively
-        // the object identifern
-        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            is_polymorphic< T >,
-            mpl::identity<polymorphic< T > >,
-            mpl::identity<non_polymorphic< T > >
-        >::type type;
-
-        const boost::serialization::extended_type_info * true_type
-            = type::get_object_identifier(*t);
-
-        // note:if this exception is thrown, be sure that derived pointern
-        // is either registered or exported.
-        if(NULL == true_type)
-            boost::serialization::throw_exception(
-                archive_exception(
-                    archive_exception::unregistered_class,
-                    this_type->get_debug_info()
-                )
-            );
-        shared_ptr<void> r =
-            get_od(
-                static_cast<const void *>(t), 
-                true_type,
-                this_type
-            );
-        if(!r){
-            s.reset(t);
-            const void * od = void_downcast(
-                *true_type,
-                *this_type,
-                static_cast<const void *>(t)
-            );
-            shared_ptr<const void> sp(s, od);
-            append(sp);
-        }
-        else{
-            s = shared_ptr< T >(
-                r,
-                static_cast<T *>(r.get())
-            );
-        }
-    }
-
-//  #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
-    BOOST_ARCHIVE_DECL(void)
-    append(const boost_132::shared_ptr<const void> & t);
-//  #endif
-public:
-    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-    shared_ptr_helper();
-    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-    ~shared_ptr_helper();
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_SHARED_PTR_HELPER_HPP
diff --git a/SRC/Boost/boost/archive/text_iarchive.hpp b/SRC/Boost/boost/archive/text_iarchive.hpp
deleted file mode 100755
index b612795..0000000
--- a/SRC/Boost/boost/archive/text_iarchive.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-#ifndef BOOST_ARCHIVE_TEXT_IARCHIVE_HPP
-#define BOOST_ARCHIVE_TEXT_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// text_iarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <istream>
-
-#include <boost/config.hpp>
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/basic_text_iprimitive.hpp>
-#include <boost/archive/basic_text_iarchive.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-template<class Archive>
-class text_iarchive_impl : 
-    public basic_text_iprimitive<std::istream>,
-    public basic_text_iarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class detail::interface_iarchive<Archive>;
-    friend class basic_text_iarchive<Archive>;
-    friend class load_access;
-protected:
-#endif
-    template<class T>
-    void load(T & t){
-        basic_text_iprimitive<std::istream>::load(t);
-    }
-    void load(version_type & t){
-        unsigned int v;
-        load(v);
-        t = version_type(v);
-    }
-    void load(boost::serialization::item_version_type & t){
-        unsigned int v;
-        load(v);
-        t = boost::serialization::item_version_type(v);
-    }
-    BOOST_ARCHIVE_DECL(void) 
-    load(char * t);
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    BOOST_ARCHIVE_DECL(void) 
-    load(wchar_t * t);
-    #endif
-    BOOST_ARCHIVE_DECL(void) 
-    load(std::string &s);
-    #ifndef BOOST_NO_STD_WSTRING
-    BOOST_ARCHIVE_DECL(void) 
-    load(std::wstring &ws);
-    #endif
-    // note: the following should not needed - but one compiler (vc 7.1)
-    // fails to compile one test (test_shared_ptr) without it !!!
-    // make this protected so it can be called from a derived archive
-    template<class T>
-    void load_override(T & t, BOOST_PFTO int){
-        basic_text_iarchive<Archive>::load_override(t, 0);
-    }
-    BOOST_ARCHIVE_DECL(void)
-    load_override(class_name_type & t, int);
-    BOOST_ARCHIVE_DECL(void)
-    init();
-    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    text_iarchive_impl(std::istream & is, unsigned int flags);
-    // don't import inline definitions! leave this as a reminder.
-    //BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    ~text_iarchive_impl(){};
-};
-
-// do not derive from the classes below.  If you want to extend this functionality
-// via inhertance, derived from text_iarchive_impl instead.  This will
-// preserve correct static polymorphism.
-
-// same as text_iarchive below - without the shared_ptr_helper
-class naked_text_iarchive : 
-    public text_iarchive_impl<naked_text_iarchive>
-{
-public:
-    naked_text_iarchive(std::istream & is_, unsigned int flags = 0) :
-        // note: added _ to suppress useless gcc warning
-        text_iarchive_impl<naked_text_iarchive>(is_, flags)
-    {}
-    ~naked_text_iarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-// note special treatment of shared_ptr. This type needs a special
-// structure associated with every archive.  We created a "mix-in"
-// class to provide this functionality.  Since shared_ptr holds a
-// special esteem in the boost library - we included it here by default.
-#include <boost/archive/shared_ptr_helper.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-class text_iarchive : 
-    public text_iarchive_impl<text_iarchive>,
-    public detail::shared_ptr_helper
-{
-public:
-    text_iarchive(std::istream & is_, unsigned int flags = 0) :
-        // note: added _ to suppress useless gcc warning
-        text_iarchive_impl<text_iarchive>(is_, flags)
-    {}
-    ~text_iarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_iarchive)
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_ARCHIVE_TEXT_IARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/text_oarchive.hpp b/SRC/Boost/boost/archive/text_oarchive.hpp
deleted file mode 100755
index 4d9078c..0000000
--- a/SRC/Boost/boost/archive/text_oarchive.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-#ifndef BOOST_ARCHIVE_TEXT_OARCHIVE_HPP
-#define BOOST_ARCHIVE_TEXT_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// text_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <ostream>
-#include <cstddef> // std::size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/basic_text_oprimitive.hpp>
-#include <boost/archive/basic_text_oarchive.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-template<class Archive>
-class text_oarchive_impl : 
-     /* protected ? */ public basic_text_oprimitive<std::ostream>,
-     public basic_text_oarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class detail::interface_oarchive<Archive>;
-    friend class basic_text_oarchive<Archive>;
-    friend class save_access;
-protected:
-#endif
-    template<class T>
-    void save(const T & t){
-        this->newtoken();
-        basic_text_oprimitive<std::ostream>::save(t);
-    }
-    void save(const version_type & t){
-        save(static_cast<const unsigned int>(t));
-    }
-    void save(const boost::serialization::item_version_type & t){
-        save(static_cast<const unsigned int>(t));
-    }
-    BOOST_ARCHIVE_DECL(void) 
-    save(const char * t);
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    BOOST_ARCHIVE_DECL(void) 
-    save(const wchar_t * t);
-    #endif
-    BOOST_ARCHIVE_DECL(void) 
-    save(const std::string &s);
-    #ifndef BOOST_NO_STD_WSTRING
-    BOOST_ARCHIVE_DECL(void) 
-    save(const std::wstring &ws);
-    #endif
-    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    text_oarchive_impl(std::ostream & os, unsigned int flags);
-    // don't import inline definitions! leave this as a reminder.
-    //BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    ~text_oarchive_impl(){};
-public:
-    BOOST_ARCHIVE_DECL(void) 
-    save_binary(const void *address, std::size_t count);
-};
-
-// do not derive from this class.  If you want to extend this functionality
-// via inhertance, derived from text_oarchive_impl instead.  This will
-// preserve correct static polymorphism.
-class text_oarchive : 
-    public text_oarchive_impl<text_oarchive>
-{
-public:
-    text_oarchive(std::ostream & os_, unsigned int flags = 0) :
-        // note: added _ to suppress useless gcc warning
-        text_oarchive_impl<text_oarchive>(os_, flags)
-    {}
-    ~text_oarchive(){}
-};
-
-typedef text_oarchive naked_text_oarchive;
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_oarchive)
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_TEXT_OARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/text_wiarchive.hpp b/SRC/Boost/boost/archive/text_wiarchive.hpp
deleted file mode 100755
index 5fcc255..0000000
--- a/SRC/Boost/boost/archive/text_wiarchive.hpp
+++ /dev/null
@@ -1,152 +0,0 @@
-#ifndef BOOST_ARCHIVE_TEXT_WIARCHIVE_HPP
-#define BOOST_ARCHIVE_TEXT_WIARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// text_wiarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#include <istream>
-
-#include <boost/archive/detail/auto_link_warchive.hpp>
-#include <boost/archive/basic_text_iprimitive.hpp>
-#include <boost/archive/basic_text_iarchive.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-template<class Archive>
-class text_wiarchive_impl : 
-    public basic_text_iprimitive<std::wistream>,
-    public basic_text_iarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class detail::interface_iarchive<Archive>;
-    friend class basic_text_iarchive<Archive>;
-    friend class load_access;
-protected:
-#endif
-    template<class T>
-    void load(T & t){
-        basic_text_iprimitive<std::wistream>::load(t);
-    }
-    void load(version_type & t){
-        unsigned int v;
-        load(v);
-        t = version_type(v);
-    }
-    void load(boost::serialization::item_version_type & t){
-        unsigned int v;
-        load(v);
-        t = boost::serialization::item_version_type(v);
-    }
-    BOOST_WARCHIVE_DECL(void)
-    load(char * t);
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    BOOST_WARCHIVE_DECL(void)
-    load(wchar_t * t);
-    #endif
-    BOOST_WARCHIVE_DECL(void)
-    load(std::string &s);
-    #ifndef BOOST_NO_STD_WSTRING
-    BOOST_WARCHIVE_DECL(void)
-    load(std::wstring &ws);
-    #endif
-    // note: the following should not needed - but one compiler (vc 7.1)
-    // fails to compile one test (test_shared_ptr) without it !!!
-    template<class T>
-    void load_override(T & t, BOOST_PFTO int){
-        basic_text_iarchive<Archive>::load_override(t, 0);
-    }
-    BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    text_wiarchive_impl(std::wistream & is, unsigned int flags);
-    ~text_wiarchive_impl(){};
-};
-
-// do not derive from the classes below.  If you want to extend this functionality
-// via inhertance, derived from text_iarchive_impl instead.  This will
-// preserve correct static polymorphism.
-
-// same as text_wiarchive below - without the shared_ptr_helper
-class naked_text_wiarchive : 
-    public text_wiarchive_impl<naked_text_wiarchive>
-{
-public:
-    naked_text_wiarchive(std::wistream & is, unsigned int flags = 0) :
-        text_wiarchive_impl<naked_text_wiarchive>(is, flags)
-    {}
-    ~naked_text_wiarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-// note special treatment of shared_ptr. This type needs a special
-// structure associated with every archive.  We created a "mix-in"
-// class to provide this functionality.  Since shared_ptr holds a
-// special esteem in the boost library - we included it here by default.
-#include <boost/archive/shared_ptr_helper.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-class text_wiarchive : 
-    public text_wiarchive_impl<text_wiarchive>,
-    public detail::shared_ptr_helper
-{
-public:
-    text_wiarchive(std::wistream & is, unsigned int flags = 0) :
-        text_wiarchive_impl<text_wiarchive>(is, flags)
-    {}
-    ~text_wiarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_wiarchive)
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_NO_STD_WSTREAMBUF
-#endif // BOOST_ARCHIVE_TEXT_WIARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/text_woarchive.hpp b/SRC/Boost/boost/archive/text_woarchive.hpp
deleted file mode 100755
index 499229b..0000000
--- a/SRC/Boost/boost/archive/text_woarchive.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-#ifndef BOOST_ARCHIVE_TEXT_WOARCHIVE_HPP
-#define BOOST_ARCHIVE_TEXT_WOARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// text_woarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#include <ostream>
-#include <cstddef> // size_t
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/archive/detail/auto_link_warchive.hpp>
-#include <boost/archive/basic_text_oprimitive.hpp>
-#include <boost/archive/basic_text_oarchive.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-template<class Archive>
-class text_woarchive_impl : 
-    public basic_text_oprimitive<std::wostream>,
-    public basic_text_oarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class detail::interface_oarchive<Archive>;
-    friend class basic_text_oarchive<Archive>;
-    friend class save_access;
-protected:
-#endif
-    template<class T>
-    void save(const T & t){
-        this->newtoken();
-        basic_text_oprimitive<std::wostream>::save(t);
-    }
-    void save(const version_type & t){
-        save(static_cast<const unsigned int>(t));
-    }
-    void save(const boost::serialization::item_version_type & t){
-        save(static_cast<const unsigned int>(t));
-    }
-    BOOST_WARCHIVE_DECL(void)
-    save(const char * t);
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    BOOST_WARCHIVE_DECL(void)
-    save(const wchar_t * t);
-    #endif
-    BOOST_WARCHIVE_DECL(void)
-    save(const std::string &s);
-    #ifndef BOOST_NO_STD_WSTRING
-    BOOST_WARCHIVE_DECL(void)
-    save(const std::wstring &ws);
-    #endif
-    text_woarchive_impl(std::wostream & os, unsigned int flags) :
-        basic_text_oprimitive<std::wostream>(
-            os, 
-            0 != (flags & no_codecvt)
-        ),
-        basic_text_oarchive<Archive>(flags)
-    {
-        if(0 == (flags & no_header))
-            basic_text_oarchive<Archive>::init();
-    }
-public:
-    void save_binary(const void *address, std::size_t count){
-        put(static_cast<wchar_t>('\n'));
-        this->end_preamble();
-        #if ! defined(__MWERKS__)
-        this->basic_text_oprimitive<std::wostream>::save_binary(
-        #else
-        this->basic_text_oprimitive::save_binary(
-        #endif
-            address, 
-            count
-        );
-        put(static_cast<wchar_t>('\n'));
-        this->delimiter = this->none;
-    }
-
-};
-
-// we use the following because we can't use
-// typedef text_oarchive_impl<text_oarchive_impl<...> > text_oarchive;
-
-// do not derive from this class.  If you want to extend this functionality
-// via inhertance, derived from text_oarchive_impl instead.  This will
-// preserve correct static polymorphism.
-class text_woarchive : 
-    public text_woarchive_impl<text_woarchive>
-{
-public:
-    text_woarchive(std::wostream & os, unsigned int flags = 0) :
-        text_woarchive_impl<text_woarchive>(os, flags)
-    {}
-    ~text_woarchive(){}
-};
-
-typedef text_woarchive naked_text_woarchive;
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_woarchive)
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_NO_STD_WSTREAMBUF
-#endif // BOOST_ARCHIVE_TEXT_WOARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/xml_archive_exception.hpp b/SRC/Boost/boost/archive/xml_archive_exception.hpp
deleted file mode 100755
index ec4d643..0000000
--- a/SRC/Boost/boost/archive/xml_archive_exception.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef BOOST_ARCHIVE_XML_ARCHIVE_EXCEPTION_HPP
-#define BOOST_ARCHIVE_XML_ARCHIVE_EXCEPTION_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_archive_exception.hpp:
-
-// (C) Copyright 2007 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <exception>
-#include <boost/assert.hpp>
-
-#include <boost/config.hpp> 
-#include <boost/preprocessor/empty.hpp>
-#include <boost/archive/detail/decl.hpp>
-#include <boost/archive/archive_exception.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-namespace archive {
-
-//////////////////////////////////////////////////////////////////////
-// exceptions thrown by xml archives
-//
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) xml_archive_exception : 
-    public virtual boost::archive::archive_exception
-{
-public:
-    typedef enum {
-        xml_archive_parsing_error,    // see save_register
-        xml_archive_tag_mismatch,
-        xml_archive_tag_name_error
-    } exception_code;
-    xml_archive_exception(
-        exception_code c, 
-        const char * e1 = NULL,
-        const char * e2 = NULL
-    );
-};
-
-}// namespace archive
-}// namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif //BOOST_XML_ARCHIVE_ARCHIVE_EXCEPTION_HPP
diff --git a/SRC/Boost/boost/archive/xml_iarchive.hpp b/SRC/Boost/boost/archive/xml_iarchive.hpp
deleted file mode 100755
index d92ccf4..0000000
--- a/SRC/Boost/boost/archive/xml_iarchive.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-#ifndef BOOST_ARCHIVE_XML_IARCHIVE_HPP
-#define BOOST_ARCHIVE_XML_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_iarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <istream>
-
-//#include <boost/scoped_ptr.hpp>
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/basic_text_iprimitive.hpp>
-#include <boost/archive/basic_xml_iarchive.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-template<class CharType>
-class basic_xml_grammar;
-typedef basic_xml_grammar<char> xml_grammar;
-
-template<class Archive>
-class xml_iarchive_impl : 
-    public basic_text_iprimitive<std::istream>,
-    public basic_xml_iarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class detail::interface_iarchive<Archive>;
-    friend class basic_xml_iarchive<Archive>;
-    friend class load_access;
-protected:
-#endif
-    // instances of micro xml parser to parse start preambles
-    // scoped_ptr doesn't play nice with borland - so use a naked pointer
-    // scoped_ptr<xml_grammar> gimpl;
-    xml_grammar *gimpl;
-
-    std::istream & get_is(){
-        return is;
-    }
-    template<class T>
-    void load(T & t){
-        basic_text_iprimitive<std::istream>::load(t);
-    }
-    void 
-    load(version_type & t){
-        unsigned int v;
-        load(v);
-        t = version_type(v);
-    }
-    void 
-    load(boost::serialization::item_version_type & t){
-        unsigned int v;
-        load(v);
-        t = boost::serialization::item_version_type(v);
-    }
-    BOOST_ARCHIVE_DECL(void)
-    load(char * t);
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    BOOST_ARCHIVE_DECL(void)
-    load(wchar_t * t);
-    #endif
-    BOOST_ARCHIVE_DECL(void)
-    load(std::string &s);
-    #ifndef BOOST_NO_STD_WSTRING
-    BOOST_ARCHIVE_DECL(void)
-    load(std::wstring &ws);
-    #endif
-    template<class T>
-    void load_override(T & t, BOOST_PFTO int){
-        basic_xml_iarchive<Archive>::load_override(t, 0);
-    }
-    BOOST_ARCHIVE_DECL(void)
-    load_override(class_name_type & t, int);
-    BOOST_ARCHIVE_DECL(void)
-    init();
-    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    xml_iarchive_impl(std::istream & is, unsigned int flags);
-    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-    ~xml_iarchive_impl();
-};
-
-// do not derive from the classes below.  If you want to extend this functionality
-// via inhertance, derived from text_iarchive_impl instead.  This will
-// preserve correct static polymorphism.
-
-// same as xml_iarchive below - without the shared_ptr_helper
-class naked_xml_iarchive : 
-    public xml_iarchive_impl<naked_xml_iarchive>
-{
-public:
-    naked_xml_iarchive(std::istream & is, unsigned int flags = 0) :
-        xml_iarchive_impl<naked_xml_iarchive>(is, flags)
-    {}
-    ~naked_xml_iarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-// note special treatment of shared_ptr. This type needs a special
-// structure associated with every archive.  We created a "mix-in"
-// class to provide this functionality.  Since shared_ptr holds a
-// special esteem in the boost library - we included it here by default.
-#include <boost/archive/shared_ptr_helper.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-class xml_iarchive : 
-    public xml_iarchive_impl<xml_iarchive>,
-    public detail::shared_ptr_helper
-{
-public:
-    xml_iarchive(std::istream & is, unsigned int flags = 0) :
-        xml_iarchive_impl<xml_iarchive>(is, flags)
-    {}
-    ~xml_iarchive(){};
-};
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_iarchive)
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_ARCHIVE_XML_IARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/xml_oarchive.hpp b/SRC/Boost/boost/archive/xml_oarchive.hpp
deleted file mode 100755
index 3277fad..0000000
--- a/SRC/Boost/boost/archive/xml_oarchive.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-#ifndef BOOST_ARCHIVE_XML_OARCHIVE_HPP
-#define BOOST_ARCHIVE_XML_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <ostream>
-
-#include <cstddef> // size_t
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/basic_text_oprimitive.hpp>
-#include <boost/archive/basic_xml_oarchive.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace archive {
-
-template<class Archive>
-class xml_oarchive_impl : 
-    public basic_text_oprimitive<std::ostream>,
-    public basic_xml_oarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class detail::interface_oarchive<Archive>;
-    friend class basic_xml_oarchive<Archive>;
-    friend class save_access;
-protected:
-#endif
-    //void end_preamble(){
-    //    basic_xml_oarchive<Archive>::end_preamble();
-    //}
-    template<class T>
-    void save(const T & t){
-        basic_text_oprimitive<std::ostream>::save(t);
-    }
-    void 
-    save(const version_type & t){
-        save(static_cast<const unsigned int>(t));
-    }
-    void 
-    save(const boost::serialization::item_version_type & t){
-        save(static_cast<const unsigned int>(t));
-    }
-    BOOST_ARCHIVE_DECL(void) 
-    save(const char * t);
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    BOOST_ARCHIVE_DECL(void)
-    save(const wchar_t * t);
-    #endif
-    BOOST_ARCHIVE_DECL(void)
-    save(const std::string &s);
-    #ifndef BOOST_NO_STD_WSTRING
-    BOOST_ARCHIVE_DECL(void)
-    save(const std::wstring &ws);
-    #endif
-    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    xml_oarchive_impl(std::ostream & os, unsigned int flags);
-    ~xml_oarchive_impl(){}
-public:
-    void save_binary(const void *address, std::size_t count){
-        this->end_preamble();
-        #if ! defined(__MWERKS__)
-        this->basic_text_oprimitive<std::ostream>::save_binary(
-        #else
-        this->basic_text_oprimitive::save_binary(
-        #endif
-            address, 
-            count
-        );
-        this->indent_next = true;
-    }
-};
-
-// we use the following because we can't use
-// typedef xml_oarchive_impl<xml_oarchive_impl<...> > xml_oarchive;
-
-// do not derive from this class.  If you want to extend this functionality
-// via inhertance, derived from xml_oarchive_impl instead.  This will
-// preserve correct static polymorphism.
-class xml_oarchive : 
-    public xml_oarchive_impl<xml_oarchive>
-{
-public:
-    xml_oarchive(std::ostream & os, unsigned int flags = 0) :
-        xml_oarchive_impl<xml_oarchive>(os, flags)
-    {}
-    ~xml_oarchive(){}
-};
-
-typedef xml_oarchive naked_xml_oarchive;
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_oarchive)
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_XML_OARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/xml_wiarchive.hpp b/SRC/Boost/boost/archive/xml_wiarchive.hpp
deleted file mode 100755
index 46e92d3..0000000
--- a/SRC/Boost/boost/archive/xml_wiarchive.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-#ifndef BOOST_ARCHIVE_XML_WIARCHIVE_HPP
-#define BOOST_ARCHIVE_XML_WIARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_wiarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#include <istream>
-
-//#include <boost/scoped_ptr.hpp>
-#include <boost/archive/detail/auto_link_warchive.hpp>
-#include <boost/archive/basic_text_iprimitive.hpp>
-#include <boost/archive/basic_xml_iarchive.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-template<class CharType>
-class basic_xml_grammar;
-typedef basic_xml_grammar<wchar_t> xml_wgrammar;
-
-template<class Archive>
-class xml_wiarchive_impl : 
-    public basic_text_iprimitive<std::wistream>,
-    public basic_xml_iarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class detail::interface_iarchive<Archive>;
-    friend class basic_xml_iarchive<Archive>;
-    friend class load_access;
-protected:
-#endif
-    // instances of micro xml parser to parse start preambles
-    // scoped_ptr doesn't play nice with borland - so use a naked pointer
-    // scoped_ptr<xml_wgrammar> gimpl;
-    xml_wgrammar *gimpl;
-    std::wistream & get_is(){
-        return is;
-    }
-    template<class T>
-    void 
-    load(T & t){
-        basic_text_iprimitive<std::wistream>::load(t);
-    }
-    void 
-    load(version_type & t){
-        unsigned int v;
-        load(v);
-        t = version_type(v);
-    }
-    void 
-    load(boost::serialization::item_version_type & t){
-        unsigned int v;
-        load(v);
-        t = boost::serialization::item_version_type(v);
-    }
-    BOOST_WARCHIVE_DECL(void)
-    load(char * t);
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    BOOST_WARCHIVE_DECL(void)
-    load(wchar_t * t);
-    #endif
-    BOOST_WARCHIVE_DECL(void)
-    load(std::string &s);
-    #ifndef BOOST_NO_STD_WSTRING
-    BOOST_WARCHIVE_DECL(void)
-    load(std::wstring &ws);
-    #endif
-    template<class T>
-    void load_override(T & t, BOOST_PFTO int){
-        basic_xml_iarchive<Archive>::load_override(t, 0);
-    }
-    BOOST_WARCHIVE_DECL(void)
-    load_override(class_name_type & t, int);
-    BOOST_WARCHIVE_DECL(void) 
-    init();
-    BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    xml_wiarchive_impl(std::wistream & is, unsigned int flags) ;
-    BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    ~xml_wiarchive_impl();
-};
-
-// do not derive from the classes below.  If you want to extend this functionality
-// via inhertance, derived from xml_wiarchive_impl instead.  This will
-// preserve correct static polymorphism.
-
-// same as xml_wiarchive below - without the shared_ptr_helper
-class naked_xml_wiarchive : 
-    public xml_wiarchive_impl<naked_xml_wiarchive>
-{
-public:
-    naked_xml_wiarchive(std::wistream & is, unsigned int flags = 0) :
-        xml_wiarchive_impl<naked_xml_wiarchive>(is, flags)
-    {}
-    ~naked_xml_wiarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop) 
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-// note special treatment of shared_ptr. This type needs a special
-// structure associated with every archive.  We created a "mix-in"
-// class to provide this functionality.  Since shared_ptr holds a
-// special esteem in the boost library - we included it here by default.
-#include <boost/archive/shared_ptr_helper.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-class xml_wiarchive : 
-    public xml_wiarchive_impl<xml_wiarchive>,
-    public detail::shared_ptr_helper
-{
-public:
-    xml_wiarchive(std::wistream & is, unsigned int flags = 0) :
-        xml_wiarchive_impl<xml_wiarchive>(is, flags)
-    {}
-    ~xml_wiarchive(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_wiarchive)
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_NO_STD_WSTREAMBUF
-#endif // BOOST_ARCHIVE_XML_WIARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/xml_woarchive.hpp b/SRC/Boost/boost/archive/xml_woarchive.hpp
deleted file mode 100755
index b322bf2..0000000
--- a/SRC/Boost/boost/archive/xml_woarchive.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-#ifndef BOOST_ARCHIVE_XML_WOARCHIVE_HPP
-#define BOOST_ARCHIVE_XML_WOARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_woarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#include <cstddef> // size_t
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <ostream>
-
-#include <boost/archive/detail/auto_link_warchive.hpp>
-#include <boost/archive/basic_text_oprimitive.hpp>
-#include <boost/archive/basic_xml_oarchive.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost {
-namespace archive {
-
-template<class Archive>
-class xml_woarchive_impl : 
-    public basic_text_oprimitive<std::wostream>,
-    public basic_xml_oarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class detail::interface_oarchive<Archive>;
-    friend class basic_xml_oarchive<Archive>;
-    friend class save_access;
-protected:
-#endif
-    //void end_preamble(){
-    //    basic_xml_oarchive<Archive>::end_preamble();
-    //}
-    template<class T>
-    void 
-    save(const T & t){
-        basic_text_oprimitive<std::wostream>::save(t);
-    }
-    void 
-    save(const version_type & t){
-        save(static_cast<const unsigned int>(t));
-    }
-    void 
-    save(const boost::serialization::item_version_type & t){
-        save(static_cast<const unsigned int>(t));
-    }
-    BOOST_WARCHIVE_DECL(void)
-    save(const char * t);
-    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    BOOST_WARCHIVE_DECL(void) 
-    save(const wchar_t * t);
-    #endif
-    BOOST_WARCHIVE_DECL(void) 
-    save(const std::string &s);
-    #ifndef BOOST_NO_STD_WSTRING
-    BOOST_WARCHIVE_DECL(void)
-    save(const std::wstring &ws);
-    #endif
-    BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
-    xml_woarchive_impl(std::wostream & os, unsigned int flags);
-    ~xml_woarchive_impl(){}
-public:
-    void 
-    save_binary(const void *address, std::size_t count){
-        this->end_preamble();
-        #if ! defined(__MWERKS__)
-        this->basic_text_oprimitive<std::wostream>::save_binary(
-        #else
-        this->basic_text_oprimitive::save_binary(
-        #endif
-            address, 
-            count
-        );
-        this->indent_next = true;
-    }
-};
-
-// we use the following because we can't use
-// typedef xml_woarchive_impl<xml_woarchive_impl<...> > xml_woarchive;
-
-// do not derive from this class.  If you want to extend this functionality
-// via inhertance, derived from xml_woarchive_impl instead.  This will
-// preserve correct static polymorphism.
-class xml_woarchive : 
-    public xml_woarchive_impl<xml_woarchive>
-{
-public:
-    xml_woarchive(std::wostream & os, unsigned int flags = 0) :
-        xml_woarchive_impl<xml_woarchive>(os, flags)
-    {}
-    ~xml_woarchive(){}
-};
-
-typedef xml_woarchive naked_xml_woarchive;
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_woarchive)
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_NO_STD_WSTREAMBUF
-#endif // BOOST_ARCHIVE_XML_OARCHIVE_HPP
diff --git a/SRC/Boost/boost/array.hpp b/SRC/Boost/boost/array.hpp
deleted file mode 100755
index 8ada350..0000000
--- a/SRC/Boost/boost/array.hpp
+++ /dev/null
@@ -1,437 +0,0 @@
-/* The following code declares class array,
- * an STL container (as wrapper) for arrays of constant size.
- *
- * See
- *      http://www.boost.org/libs/array/
- * for documentation.
- *
- * The original author site is at: http://www.josuttis.com/
- *
- * (C) Copyright Nicolai M. Josuttis 2001.
- *
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * 28 Dec 2010 - (mtc) Added cbegin and cend (and crbegin and crend) for C++Ox compatibility.
- * 10 Mar 2010 - (mtc) fill method added, matching resolution of the standard library working group.
- *      See <http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#776> or Trac issue #3168
- *      Eventually, we should remove "assign" which is now a synonym for "fill" (Marshall Clow)
- * 10 Mar 2010 - added workaround for SUNCC and !STLPort [trac #3893] (Marshall Clow)
- * 29 Jan 2004 - c_array() added, BOOST_NO_PRIVATE_IN_AGGREGATE removed (Nico Josuttis)
- * 23 Aug 2002 - fix for Non-MSVC compilers combined with MSVC libraries.
- * 05 Aug 2001 - minor update (Nico Josuttis)
- * 20 Jan 2001 - STLport fix (Beman Dawes)
- * 29 Sep 2000 - Initial Revision (Nico Josuttis)
- *
- * Jan 29, 2004
- */
-#ifndef BOOST_ARRAY_HPP
-#define BOOST_ARRAY_HPP
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)  
-# pragma warning(push)  
-# pragma warning(disable:4996) // 'std::equal': Function call with parameters that may be unsafe
-# pragma warning(disable:4510) // boost::array<T,N>' : default constructor could not be generated 
-# pragma warning(disable:4610) // warning C4610: class 'boost::array<T,N>' can never be instantiated - user defined constructor required 
-#endif
-
-#include <cstddef>
-#include <stdexcept>
-#include <boost/assert.hpp>
-#include <boost/swap.hpp>
-
-// Handles broken standard libraries better than <iterator>
-#include <boost/detail/iterator.hpp>
-#include <boost/throw_exception.hpp>
-#include <algorithm>
-
-// FIXES for broken compilers
-#include <boost/config.hpp>
-
-
-namespace boost {
-
-    template<class T, std::size_t N>
-    class array {
-      public:
-        T elems[N];    // fixed-size array of elements of type T
-
-      public:
-        // type definitions
-        typedef T              value_type;
-        typedef T*             iterator;
-        typedef const T*       const_iterator;
-        typedef T&             reference;
-        typedef const T&       const_reference;
-        typedef std::size_t    size_type;
-        typedef std::ptrdiff_t difference_type;
-
-        // iterator support
-        iterator        begin()       { return elems; }
-        const_iterator  begin() const { return elems; }
-        const_iterator cbegin() const { return elems; }
-        
-        iterator        end()       { return elems+N; }
-        const_iterator  end() const { return elems+N; }
-        const_iterator cend() const { return elems+N; }
-
-        // reverse iterator support
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
-        typedef std::reverse_iterator<iterator> reverse_iterator;
-        typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-#elif defined(_MSC_VER) && (_MSC_VER == 1300) && defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB == 310)
-        // workaround for broken reverse_iterator in VC7
-        typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, iterator,
-                                      reference, iterator, reference> > reverse_iterator;
-        typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, const_iterator,
-                                      const_reference, iterator, reference> > const_reverse_iterator;
-#elif defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) 
-        typedef std::reverse_iterator<iterator, std::random_access_iterator_tag, 
-              value_type, reference, iterator, difference_type> reverse_iterator; 
-        typedef std::reverse_iterator<const_iterator, std::random_access_iterator_tag,
-              value_type, const_reference, const_iterator, difference_type> const_reverse_iterator;
-#else
-        // workaround for broken reverse_iterator implementations
-        typedef std::reverse_iterator<iterator,T> reverse_iterator;
-        typedef std::reverse_iterator<const_iterator,T> const_reverse_iterator;
-#endif
-
-        reverse_iterator rbegin() { return reverse_iterator(end()); }
-        const_reverse_iterator rbegin() const {
-            return const_reverse_iterator(end());
-        }
-        const_reverse_iterator crbegin() const {
-            return const_reverse_iterator(end());
-        }
-
-        reverse_iterator rend() { return reverse_iterator(begin()); }
-        const_reverse_iterator rend() const {
-            return const_reverse_iterator(begin());
-        }
-        const_reverse_iterator crend() const {
-            return const_reverse_iterator(begin());
-        }
-
-        // operator[]
-        reference operator[](size_type i) 
-        { 
-            BOOST_ASSERT( i < N && "out of range" ); 
-            return elems[i];
-        }
-        
-        const_reference operator[](size_type i) const 
-        {     
-            BOOST_ASSERT( i < N && "out of range" ); 
-            return elems[i]; 
-        }
-
-        // at() with range check
-        reference at(size_type i) { rangecheck(i); return elems[i]; }
-        const_reference at(size_type i) const { rangecheck(i); return elems[i]; }
-    
-        // front() and back()
-        reference front() 
-        { 
-            return elems[0]; 
-        }
-        
-        const_reference front() const 
-        {
-            return elems[0];
-        }
-        
-        reference back() 
-        { 
-            return elems[N-1]; 
-        }
-        
-        const_reference back() const 
-        { 
-            return elems[N-1]; 
-        }
-
-        // size is constant
-        static size_type size() { return N; }
-        static bool empty() { return false; }
-        static size_type max_size() { return N; }
-        enum { static_size = N };
-
-        // swap (note: linear complexity)
-        void swap (array<T,N>& y) {
-            for (size_type i = 0; i < N; ++i)
-                boost::swap(elems[i],y.elems[i]);
-        }
-
-        // direct access to data (read-only)
-        const T* data() const { return elems; }
-        T* data() { return elems; }
-
-        // use array as C array (direct read/write access to data)
-        T* c_array() { return elems; }
-
-        // assignment with type conversion
-        template <typename T2>
-        array<T,N>& operator= (const array<T2,N>& rhs) {
-            std::copy(rhs.begin(),rhs.end(), begin());
-            return *this;
-        }
-
-        // assign one value to all elements
-        void assign (const T& value) { fill ( value ); }    // A synonym for fill
-        void fill   (const T& value)
-        {
-            std::fill_n(begin(),size(),value);
-        }
-
-        // check range (may be private because it is static)
-        static void rangecheck (size_type i) {
-            if (i >= size()) {
-                std::out_of_range e("array<>: index out of range");
-                boost::throw_exception(e);
-            }
-        }
-
-    };
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    template< class T >
-    class array< T, 0 > {
-
-      public:
-        // type definitions
-        typedef T              value_type;
-        typedef T*             iterator;
-        typedef const T*       const_iterator;
-        typedef T&             reference;
-        typedef const T&       const_reference;
-        typedef std::size_t    size_type;
-        typedef std::ptrdiff_t difference_type;
-
-        // iterator support
-        iterator        begin()       { return       iterator( reinterpret_cast<       T * >( this ) ); }
-        const_iterator  begin() const { return const_iterator( reinterpret_cast< const T * >( this ) ); }
-        const_iterator cbegin() const { return const_iterator( reinterpret_cast< const T * >( this ) ); }
-
-        iterator        end()       { return  begin(); }
-        const_iterator  end() const { return  begin(); }
-        const_iterator cend() const { return cbegin(); }
-
-        // reverse iterator support
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
-        typedef std::reverse_iterator<iterator> reverse_iterator;
-        typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-#elif defined(_MSC_VER) && (_MSC_VER == 1300) && defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB == 310)
-        // workaround for broken reverse_iterator in VC7
-        typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, iterator,
-                                      reference, iterator, reference> > reverse_iterator;
-        typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, const_iterator,
-                                      const_reference, iterator, reference> > const_reverse_iterator;
-#elif defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) 
-        typedef std::reverse_iterator<iterator, std::random_access_iterator_tag, 
-              value_type, reference, iterator, difference_type> reverse_iterator; 
-        typedef std::reverse_iterator<const_iterator, std::random_access_iterator_tag,
-              value_type, const_reference, const_iterator, difference_type> const_reverse_iterator;
-#else
-        // workaround for broken reverse_iterator implementations
-        typedef std::reverse_iterator<iterator,T> reverse_iterator;
-        typedef std::reverse_iterator<const_iterator,T> const_reverse_iterator;
-#endif
-
-        reverse_iterator rbegin() { return reverse_iterator(end()); }
-        const_reverse_iterator rbegin() const {
-            return const_reverse_iterator(end());
-        }
-        const_reverse_iterator crbegin() const {
-            return const_reverse_iterator(end());
-        }
-
-        reverse_iterator rend() { return reverse_iterator(begin()); }
-        const_reverse_iterator rend() const {
-            return const_reverse_iterator(begin());
-        }
-        const_reverse_iterator crend() const {
-            return const_reverse_iterator(begin());
-        }
-
-        // operator[]
-        reference operator[](size_type /*i*/)
-        {
-            return failed_rangecheck();
-        }
-
-        const_reference operator[](size_type /*i*/) const
-        {
-            return failed_rangecheck();
-        }
-
-        // at() with range check
-        reference at(size_type /*i*/)               {   return failed_rangecheck(); }
-        const_reference at(size_type /*i*/) const   {   return failed_rangecheck(); }
-
-        // front() and back()
-        reference front()
-        {
-            return failed_rangecheck();
-        }
-
-        const_reference front() const
-        {
-            return failed_rangecheck();
-        }
-
-        reference back()
-        {
-            return failed_rangecheck();
-        }
-
-        const_reference back() const
-        {
-            return failed_rangecheck();
-        }
-
-        // size is constant
-        static size_type size() { return 0; }
-        static bool empty() { return true; }
-        static size_type max_size() { return 0; }
-        enum { static_size = 0 };
-
-        void swap (array<T,0>& /*y*/) {
-        }
-
-        // direct access to data (read-only)
-        const T* data() const { return 0; }
-        T* data() { return 0; }
-
-        // use array as C array (direct read/write access to data)
-        T* c_array() { return 0; }
-
-        // assignment with type conversion
-        template <typename T2>
-        array<T,0>& operator= (const array<T2,0>& ) {
-            return *this;
-        }
-
-        // assign one value to all elements
-        void assign (const T& value) { fill ( value ); }
-        void fill   (const T& ) {}
-        
-        // check range (may be private because it is static)
-        static reference failed_rangecheck () {
-                std::out_of_range e("attempt to access element of an empty array");
-                boost::throw_exception(e);
-#if defined(BOOST_NO_EXCEPTIONS) || (!defined(BOOST_MSVC) && !defined(__PATHSCALE__))
-                //
-                // We need to return something here to keep
-                // some compilers happy: however we will never
-                // actually get here....
-                //
-                static T placeholder;
-                return placeholder;
-#endif
-            }
-    };
-#endif
-
-    // comparisons
-    template<class T, std::size_t N>
-    bool operator== (const array<T,N>& x, const array<T,N>& y) {
-        return std::equal(x.begin(), x.end(), y.begin());
-    }
-    template<class T, std::size_t N>
-    bool operator< (const array<T,N>& x, const array<T,N>& y) {
-        return std::lexicographical_compare(x.begin(),x.end(),y.begin(),y.end());
-    }
-    template<class T, std::size_t N>
-    bool operator!= (const array<T,N>& x, const array<T,N>& y) {
-        return !(x==y);
-    }
-    template<class T, std::size_t N>
-    bool operator> (const array<T,N>& x, const array<T,N>& y) {
-        return y<x;
-    }
-    template<class T, std::size_t N>
-    bool operator<= (const array<T,N>& x, const array<T,N>& y) {
-        return !(y<x);
-    }
-    template<class T, std::size_t N>
-    bool operator>= (const array<T,N>& x, const array<T,N>& y) {
-        return !(x<y);
-    }
-
-    // global swap()
-    template<class T, std::size_t N>
-    inline void swap (array<T,N>& x, array<T,N>& y) {
-        x.swap(y);
-    }
-
-#if defined(__SUNPRO_CC)
-//  Trac ticket #4757; the Sun Solaris compiler can't handle
-//  syntax like 'T(&get_c_array(boost::array<T,N>& arg))[N]'
-//  
-//  We can't just use this for all compilers, because the 
-//      borland compilers can't handle this form. 
-    namespace detail {
-       template <typename T, std::size_t N> struct c_array
-       {
-           typedef T type[N];
-       };
-    }
-    
-   // Specific for boost::array: simply returns its elems data member.
-   template <typename T, std::size_t N>
-   typename detail::c_array<T,N>::type& get_c_array(boost::array<T,N>& arg)
-   {
-       return arg.elems;
-   }
-
-   // Specific for boost::array: simply returns its elems data member.
-   template <typename T, std::size_t N>
-   typename const detail::c_array<T,N>::type& get_c_array(const boost::array<T,N>& arg)
-   {
-       return arg.elems;
-   }
-#else
-// Specific for boost::array: simply returns its elems data member.
-    template <typename T, std::size_t N>
-    T(&get_c_array(boost::array<T,N>& arg))[N]
-    {
-        return arg.elems;
-    }
-    
-    // Const version.
-    template <typename T, std::size_t N>
-    const T(&get_c_array(const boost::array<T,N>& arg))[N]
-    {
-        return arg.elems;
-    }
-#endif
-    
-#if 0
-    // Overload for std::array, assuming that std::array will have
-    // explicit conversion functions as discussed at the WG21 meeting
-    // in Summit, March 2009.
-    template <typename T, std::size_t N>
-    T(&get_c_array(std::array<T,N>& arg))[N]
-    {
-        return static_cast<T(&)[N]>(arg);
-    }
-    
-    // Const version.
-    template <typename T, std::size_t N>
-    const T(&get_c_array(const std::array<T,N>& arg))[N]
-    {
-        return static_cast<T(&)[N]>(arg);
-    }
-#endif
-
-} /* namespace boost */
-
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)  
-# pragma warning(pop)  
-#endif 
-
-#endif /*BOOST_ARRAY_HPP*/
diff --git a/SRC/Boost/boost/assert.hpp b/SRC/Boost/boost/assert.hpp
deleted file mode 100755
index dca23af..0000000
--- a/SRC/Boost/boost/assert.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-//
-//  boost/assert.hpp - BOOST_ASSERT(expr)
-//                     BOOST_ASSERT_MSG(expr, msg)
-//                     BOOST_VERIFY(expr)
-//
-//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-//  Copyright (c) 2007 Peter Dimov
-//  Copyright (c) Beman Dawes 2011
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  Note: There are no include guards. This is intentional.
-//
-//  See http://www.boost.org/libs/utility/assert.html for documentation.
-//
-
-//
-// Stop inspect complaining about use of 'assert':
-//
-// boostinspect:naassert_macro
-//
-
-//--------------------------------------------------------------------------------------//
-//                                     BOOST_ASSERT                                     //
-//--------------------------------------------------------------------------------------//
-
-#undef BOOST_ASSERT
-
-#if defined(BOOST_DISABLE_ASSERTS)
-
-# define BOOST_ASSERT(expr) ((void)0)
-
-#elif defined(BOOST_ENABLE_ASSERT_HANDLER)
-
-#include <boost/current_function.hpp>
-
-namespace boost
-{
-  void assertion_failed(char const * expr,
-                        char const * function, char const * file, long line); // user defined
-} // namespace boost
-
-#define BOOST_ASSERT(expr) ((expr) \
-  ? ((void)0) \
-  : ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
-
-#else
-# include <assert.h> // .h to support old libraries w/o <cassert> - effect is the same
-# define BOOST_ASSERT(expr) assert(expr)
-#endif
-
-//--------------------------------------------------------------------------------------//
-//                                   BOOST_ASSERT_MSG                                   //
-//--------------------------------------------------------------------------------------//
-
-# undef BOOST_ASSERT_MSG
-
-#if defined(BOOST_DISABLE_ASSERTS) || defined(NDEBUG)
-
-  #define BOOST_ASSERT_MSG(expr, msg) ((void)0)
-
-#elif defined(BOOST_ENABLE_ASSERT_HANDLER)
-
-  #include <boost/current_function.hpp>
-
-  namespace boost
-  {
-    void assertion_failed_msg(char const * expr, char const * msg,
-                              char const * function, char const * file, long line); // user defined
-  } // namespace boost
-
-  #define BOOST_ASSERT_MSG(expr, msg) ((expr) \
-    ? ((void)0) \
-    : ::boost::assertion_failed_msg(#expr, msg, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
-
-#else
-  #ifndef BOOST_ASSERT_HPP
-    #define BOOST_ASSERT_HPP
-    #include <cstdlib>
-    #include <iostream>
-    #include <boost/current_function.hpp>
-
-    //  IDE's like Visual Studio perform better if output goes to std::cout or
-    //  some other stream, so allow user to configure output stream:
-    #ifndef BOOST_ASSERT_MSG_OSTREAM
-    # define BOOST_ASSERT_MSG_OSTREAM std::cerr
-    #endif
-
-    namespace boost
-    { 
-      namespace assertion 
-      { 
-        namespace detail
-        {
-          inline void assertion_failed_msg(char const * expr, char const * msg, char const * function,
-            char const * file, long line)
-          {
-            BOOST_ASSERT_MSG_OSTREAM
-              << "***** Internal Program Error - assertion (" << expr << ") failed in "
-              << function << ":\n"
-              << file << '(' << line << "): " << msg << std::endl;
-            std::abort();
-          }
-        } // detail
-      } // assertion
-    } // detail
-  #endif
-
-  #define BOOST_ASSERT_MSG(expr, msg) ((expr) \
-    ? ((void)0) \
-    : ::boost::assertion::detail::assertion_failed_msg(#expr, msg, \
-          BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
-#endif
-
-//--------------------------------------------------------------------------------------//
-//                                     BOOST_VERIFY                                     //
-//--------------------------------------------------------------------------------------//
-
-#undef BOOST_VERIFY
-
-#if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) )
-
-# define BOOST_VERIFY(expr) ((void)(expr))
-
-#else
-
-# define BOOST_VERIFY(expr) BOOST_ASSERT(expr)
-
-#endif
diff --git a/SRC/Boost/boost/assign.hpp b/SRC/Boost/boost/assign.hpp
deleted file mode 100755
index 6857f12..0000000
--- a/SRC/Boost/boost/assign.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#ifndef BOOST_ASSIGN_HPP
-#define BOOST_ASSIGN_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/std.hpp>
-#include <boost/assign/list_of.hpp>
-#include <boost/assign/list_inserter.hpp>
-#include <boost/assign/assignment_exception.hpp>
-
-#endif
diff --git a/SRC/Boost/boost/assign/assignment_exception.hpp b/SRC/Boost/boost/assign/assignment_exception.hpp
deleted file mode 100755
index 4cb76fb..0000000
--- a/SRC/Boost/boost/assign/assignment_exception.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//  
- 
-
-#ifndef BOOST_ASSIGN_ASSIGNMENT_EXCEPTION_HPP
-#define BOOST_ASSIGN_ASSIGNMENT_EXCEPTION_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <exception>
-
-namespace boost
-{    
-    namespace assign
-    {
-        class assignment_exception : public std::exception
-        {
-        public:
-            assignment_exception( const char* _what ) 
-            : what_( _what )
-            { }
-        
-            virtual const char* what() const throw()
-            {
-                return what_;
-            }
-        
-        private:
-                const char* what_;
-        };
-    }
-}
-
-#endif
diff --git a/SRC/Boost/boost/assign/list_inserter.hpp b/SRC/Boost/boost/assign/list_inserter.hpp
deleted file mode 100755
index d4aff58..0000000
--- a/SRC/Boost/boost/assign/list_inserter.hpp
+++ /dev/null
@@ -1,400 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-#ifndef BOOST_ASSIGN_LIST_INSERTER_HPP
-#define BOOST_ASSIGN_LIST_INSERTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/detail/workaround.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/config.hpp>
-#include <cstddef>
-
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/iteration/local.hpp>
-#include <boost/preprocessor/arithmetic/inc.hpp>
-
-namespace boost
-{
-namespace assign_detail
-{
-    template< class T >
-    struct repeater
-    {
-        std::size_t  sz;
-        T            val;
-
-        repeater( std::size_t sz_, T r ) : sz( sz_ ), val( r )
-        { }
-    };
-    
-    template< class Fun >
-    struct fun_repeater
-    {
-        std::size_t  sz;
-        Fun          val;
-        
-        fun_repeater( std::size_t sz_, Fun r ) : sz( sz_ ), val( r )
-        { }
-    };
-    
-    template< class C >
-    class call_push_back
-    {
-        C& c_;
-    public:
-        call_push_back( C& c ) : c_( c )
-        { }
-        
-        template< class T >
-        void operator()( T r ) 
-        {
-            c_.push_back( r );
-        }
-    };
-    
-    template< class C >
-    class call_push_front
-    {
-        C& c_;
-    public:
-        call_push_front( C& c ) : c_( c )
-        { }
-        
-        template< class T >
-        void operator()( T r ) 
-        {
-            c_.push_front( r );
-        }
-    };
-    
-    template< class C >
-    class call_push
-    {
-        C& c_;
-    public:
-        call_push( C& c ) : c_( c )
-        { }
-    
-        template< class T >
-        void operator()( T r ) 
-        {
-            c_.push( r );
-        }
-    };
-    
-    template< class C >
-    class call_insert
-    {
-        C& c_;
-    public:
-        call_insert( C& c ) : c_( c )
-        { }
-    
-        template< class T >
-        void operator()( T r ) 
-        {
-            c_.insert( r );
-        }
-    };
-
-    template< class C >
-    class call_add_edge
-    {
-        C& c_;
-    public:
-        call_add_edge( C& c ) : c_(c)
-        { }
-
-        template< class T >
-        void operator()( T l, T r )
-        {
-            add_edge( l, r, c_ );
-        }
-
-        template< class T, class EP >
-        void operator()( T l, T r, const EP& ep )
-        {
-            add_edge( l, r, ep, c_ );
-        }
-
-    };
-    
-    struct forward_n_arguments {};
-    
-} // namespace 'assign_detail'
-
-namespace assign
-{
-
-    template< class T >
-    inline assign_detail::repeater<T>
-    repeat( std::size_t sz, T r )
-    {
-        return assign_detail::repeater<T>( sz, r );
-    }
-    
-    template< class Function >
-    inline assign_detail::fun_repeater<Function>
-    repeat_fun( std::size_t sz, Function r )
-    {
-        return assign_detail::fun_repeater<Function>( sz, r );
-    }
-    
-
-    template< class Function, class Argument = assign_detail::forward_n_arguments > 
-    class list_inserter
-    {
-        struct single_arg_type {};
-        struct n_arg_type      {};
-
-        typedef BOOST_DEDUCED_TYPENAME mpl::if_c< is_same<Argument,assign_detail::forward_n_arguments>::value,
-                                                  n_arg_type,
-                                                  single_arg_type >::type arg_type;  
-            
-    public:
-        
-        list_inserter( Function fun ) : insert_( fun )
-        {}
-        
-        template< class Function2, class Arg >
-        list_inserter( const list_inserter<Function2,Arg>& r ) 
-        : insert_( r.fun_private() ) 
-        {}
-
-        list_inserter( const list_inserter& r ) : insert_( r.insert_ )
-        {}
-
-        list_inserter& operator()()
-        {
-            insert_( Argument() );
-            return *this;
-        }
-        
-        template< class T >
-        list_inserter& operator=( const T& r )
-        {
-            insert_( r );
-            return *this;
-        }
-        
-        template< class T >
-        list_inserter& operator=( assign_detail::repeater<T> r )
-        {
-            return operator,( r );
-        }
-        
-        template< class Nullary_function >
-        list_inserter& operator=( const assign_detail::fun_repeater<Nullary_function>& r )
-        {
-            return operator,( r );
-        }
-        
-        template< class T >
-        list_inserter& operator,( const T& r )
-        {
-            insert_( r  );
-            return *this;
-        }
-
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
-        template< class T >
-        list_inserter& operator,( const assign_detail::repeater<T> & r )
-        {
-            return repeat( r.sz, r.val ); 
-        }
-#else
-        template< class T >
-        list_inserter& operator,( assign_detail::repeater<T> r )
-        {
-            return repeat( r.sz, r.val ); 
-        }
-#endif
-        
-        template< class Nullary_function >
-        list_inserter& operator,( const assign_detail::fun_repeater<Nullary_function>& r )
-        {
-            return repeat_fun( r.sz, r.val ); 
-        }
-
-        template< class T >
-        list_inserter& repeat( std::size_t sz, T r )
-        {
-            std::size_t i = 0;
-            while( i++ != sz )
-                insert_( r );
-            return *this;
-        }
-        
-        template< class Nullary_function >
-        list_inserter& repeat_fun( std::size_t sz, Nullary_function fun )
-        {
-            std::size_t i = 0;
-            while( i++ != sz )
-                insert_( fun() );
-            return *this;
-        }
-
-        template< class SinglePassIterator >
-        list_inserter& range( SinglePassIterator first, 
-                              SinglePassIterator last )
-        {
-            for( ; first != last; ++first )
-                insert_( *first );
-            return *this;
-        }
-        
-        template< class SinglePassRange >
-        list_inserter& range( const SinglePassRange& r )
-        {
-            return range( boost::begin(r), boost::end(r) );
-        }
-        
-        template< class T >
-        list_inserter& operator()( const T& t )
-        {
-            insert_( t );
-            return *this;
-        }
-
-#ifndef BOOST_ASSIGN_MAX_PARAMS // use user's value
-#define BOOST_ASSIGN_MAX_PARAMS 5        
-#endif
-#define BOOST_ASSIGN_MAX_PARAMETERS (BOOST_ASSIGN_MAX_PARAMS - 1)
-#define BOOST_ASSIGN_PARAMS1(n) BOOST_PP_ENUM_PARAMS(n, class T)
-#define BOOST_ASSIGN_PARAMS2(n) BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& t)
-#define BOOST_ASSIGN_PARAMS3(n) BOOST_PP_ENUM_PARAMS(n, t)
-        
-#define BOOST_PP_LOCAL_LIMITS (1, BOOST_ASSIGN_MAX_PARAMETERS)
-#define BOOST_PP_LOCAL_MACRO(n) \
-    template< class T, BOOST_ASSIGN_PARAMS1(n) > \
-    list_inserter& operator()(T t, BOOST_ASSIGN_PARAMS2(n) ) \
-        { \
-            BOOST_PP_CAT(insert, BOOST_PP_INC(n))(t, BOOST_ASSIGN_PARAMS3(n), arg_type()); \
-            return *this; \
-        } \
-        /**/
-
-#include BOOST_PP_LOCAL_ITERATE()
-        
-
-#define BOOST_PP_LOCAL_LIMITS (1, BOOST_ASSIGN_MAX_PARAMETERS)
-#define BOOST_PP_LOCAL_MACRO(n) \
-    template< class T, BOOST_ASSIGN_PARAMS1(n) > \
-    void BOOST_PP_CAT(insert, BOOST_PP_INC(n))(T const& t, BOOST_ASSIGN_PARAMS2(n), single_arg_type) \
-    { \
-        insert_( Argument(t, BOOST_ASSIGN_PARAMS3(n) )); \
-    } \
-    /**/
-        
-#include BOOST_PP_LOCAL_ITERATE()
-
-#define BOOST_PP_LOCAL_LIMITS (1, BOOST_ASSIGN_MAX_PARAMETERS)
-#define BOOST_PP_LOCAL_MACRO(n) \
-    template< class T, BOOST_ASSIGN_PARAMS1(n) > \
-    void BOOST_PP_CAT(insert, BOOST_PP_INC(n))(T const& t, BOOST_ASSIGN_PARAMS2(n), n_arg_type) \
-    { \
-        insert_(t, BOOST_ASSIGN_PARAMS3(n) ); \
-    } \
-    /**/
-        
-#include BOOST_PP_LOCAL_ITERATE()
-
-        
-        Function fun_private() const
-        {
-            return insert_;
-        }
-
-    private:
-        
-        list_inserter& operator=( const list_inserter& );
-        Function insert_;
-    };
-    
-    template< class Function >
-    inline list_inserter< Function >
-    make_list_inserter( Function fun )
-    {
-        return list_inserter< Function >( fun );
-    }
-    
-    template< class Function, class Argument >
-    inline list_inserter<Function,Argument>
-    make_list_inserter( Function fun, Argument* )
-    {
-        return list_inserter<Function,Argument>( fun );
-    }
-
-    template< class C >
-    inline list_inserter< assign_detail::call_push_back<C>, 
-                          BOOST_DEDUCED_TYPENAME C::value_type >
-    push_back( C& c )
-    {
-        static BOOST_DEDUCED_TYPENAME C::value_type* p = 0;
-        return make_list_inserter( assign_detail::call_push_back<C>( c ), 
-                                   p );
-    }
-    
-    template< class C >
-    inline list_inserter< assign_detail::call_push_front<C>,
-                          BOOST_DEDUCED_TYPENAME C::value_type >
-    push_front( C& c )
-    {
-        static BOOST_DEDUCED_TYPENAME C::value_type* p = 0;
-        return make_list_inserter( assign_detail::call_push_front<C>( c ),
-                                   p );
-    }
-
-    template< class C >
-    inline list_inserter< assign_detail::call_insert<C>, 
-                          BOOST_DEDUCED_TYPENAME C::value_type >
-    insert( C& c )
-    {
-        static BOOST_DEDUCED_TYPENAME C::value_type* p = 0;
-        return make_list_inserter( assign_detail::call_insert<C>( c ),
-                                   p );
-    }
-
-    template< class C >
-    inline list_inserter< assign_detail::call_push<C>, 
-                          BOOST_DEDUCED_TYPENAME C::value_type >
-    push( C& c )
-    {
-        static BOOST_DEDUCED_TYPENAME C::value_type* p = 0;
-        return make_list_inserter( assign_detail::call_push<C>( c ),
-                                   p );
-    }
-
-    template< class C >
-    inline list_inserter< assign_detail::call_add_edge<C> >
-    add_edge( C& c )   
-    {
-        return make_list_inserter( assign_detail::call_add_edge<C>( c ) );
-    }
-    
-} // namespace 'assign'
-} // namespace 'boost'
-
-#undef BOOST_ASSIGN_PARAMS1
-#undef BOOST_ASSIGN_PARAMS2
-#undef BOOST_ASSIGN_PARAMS3
-#undef BOOST_ASSIGN_MAX_PARAMETERS
-
-#endif
diff --git a/SRC/Boost/boost/assign/list_of.hpp b/SRC/Boost/boost/assign/list_of.hpp
deleted file mode 100755
index 652384f..0000000
--- a/SRC/Boost/boost/assign/list_of.hpp
+++ /dev/null
@@ -1,681 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#ifndef BOOST_ASSIGN_LIST_OF_HPP
-#define BOOST_ASSIGN_LIST_OF_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/assignment_exception.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/config.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/decay.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/mpl/if.hpp>
-#include <deque>
-#include <cstddef>
-#include <utility>
-
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/iteration/local.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-// BCB requires full type definition for is_array<> to work correctly.
-#include <boost/array.hpp>
-#endif
-
-namespace boost
-{
-
-// this here is necessary to avoid compiler error in <boost/array.hpp>
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    template< class T, std::size_t sz >
-    class array;
-#endif    
-    
-namespace assign_detail
-{
-    /////////////////////////////////////////////////////////////////////////
-    // Part 0: common conversion code
-    /////////////////////////////////////////////////////////////////////////
-
-    template< class T >
-    struct assign_decay
-    {
-        //
-        // Add constness to array parameters
-        // to support string literals properly
-        //
-        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            ::boost::is_array<T>,
-            ::boost::decay<const T>,
-            ::boost::decay<T> >::type type;
-    };
-    
-    template< class T, std::size_t sz >
-    type_traits::yes_type assign_is_array( const array<T,sz>* );
-    type_traits::no_type assign_is_array( ... );
-    template< class T, class U >
-    type_traits::yes_type assign_is_pair( const std::pair<T,U>* );
-    type_traits::no_type assign_is_pair( ... ); 
-
-
-    
-    struct array_type_tag
-    {
-    #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    private:
-      char dummy_;  // BCB would by default use 8 bytes
-    #endif
-    };
-    struct adapter_type_tag
-    {
-    #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    private:
-      char dummy_;  // BCB would by default use 8 bytes
-    #endif
-    };
-    struct pair_type_tag
-    {
-    #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    private:
-      char dummy_;  // BCB would by default use 8 bytes
-    #endif
-    };
-    struct default_type_tag
-    {
-    #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    private:
-      char dummy_;  // BCB would by default use 8 bytes
-    #endif
-    };
-
-
-    
-    template< class DerivedTAssign, class Iterator >
-    class converter
-    {
-    public: // Range operations
-        typedef Iterator iterator;
-        typedef Iterator const_iterator;
-        
-        iterator begin() const 
-        {
-            return static_cast<const DerivedTAssign*>(this)->begin();
-        }
-
-        iterator end() const
-        {
-            return static_cast<const DerivedTAssign*>(this)->end();
-        }
-        
-    public:
-
-        template< class Container >
-        Container convert_to_container() const
-        {
-            static Container* c = 0;
-            BOOST_STATIC_CONSTANT( bool, is_array_flag = sizeof( assign_detail::assign_is_array( c ) ) 
-                                   == sizeof( type_traits::yes_type ) );
-
-            typedef BOOST_DEDUCED_TYPENAME mpl::if_c< is_array_flag,
-                                                      array_type_tag,
-                                             default_type_tag >::type tag_type;
-
-            return convert<Container>( c, tag_type() );
-        }
-        
-    private:
-        
-        template< class Container >
-        Container convert( const Container*, default_type_tag ) const
-        {
-
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-// old Dinkumware doesn't support iterator type as template
-            Container result;
-            iterator it  = begin(), 
-                     e   = end();
-            while( it != e )
-            {
-                result.insert( result.end(), *it );
-                ++it;
-            }
-            return result;
-#else
-            return Container( begin(), end() );
-#endif
-        }
-
-        template< class Array >
-        Array convert( const Array*, array_type_tag ) const
-        {
-            typedef BOOST_DEDUCED_TYPENAME Array::value_type value_type;
-
-#if BOOST_WORKAROUND(BOOST_INTEL, <= 910 ) || BOOST_WORKAROUND(__SUNPRO_CC, <= 0x580 )
-            BOOST_DEDUCED_TYPENAME remove_const<Array>::type ar;
-#else
-            Array ar;
-#endif            
-            const std::size_t sz = ar.size();
-            if( sz < static_cast<const DerivedTAssign*>(this)->size() )
-                throw assign::assignment_exception( "array initialized with too many elements" );
-            std::size_t n = 0; 
-            iterator i   = begin(), 
-                     e   = end();
-            for( ; i != e; ++i, ++n )
-                ar[n] = *i;
-            for( ; n < sz; ++n )
-                ar[n] = value_type();
-            return ar; 
-        }
-
-        template< class Adapter >
-        Adapter convert_to_adapter( const Adapter* = 0 ) const
-        {
-            Adapter a;
-            iterator i   = begin(), 
-                     e   = end();
-            for( ; i != e; ++i )
-                a.push( *i );
-            return a;
-        }
-
-    private:
-        struct adapter_converter;
-        friend struct adapter_converter;
-
-        struct adapter_converter
-        {
-            const converter& gl;
-            adapter_converter( const converter& this_ ) : gl( this_ )
-            {}
-
-            adapter_converter( const adapter_converter& r ) 
-            : gl( r.gl )
-            { }
-
-            template< class Adapter >
-            operator Adapter() const
-            {
-                return gl.convert_to_adapter<Adapter>();
-            }
-        };
-
-    public: 
-        template< class Container >
-        Container to_container( Container& c ) const
-        {
-            return convert( &c, default_type_tag() ); 
-        }
-
-        adapter_converter to_adapter() const
-        {
-            return adapter_converter( *this );
-        }
-
-        template< class Adapter >
-        Adapter to_adapter( Adapter& a ) const
-        {
-            return this->convert_to_adapter( &a ); 
-        }
-
-        template< class Array >
-        Array to_array( Array& a ) const
-        {
-            return convert( &a, array_type_tag() );
-        }
-    };
-
-    template< class T, class I, class Range >
-    inline bool operator==( const converter<T,I>& l, const Range& r )
-    {
-        return ::boost::iterator_range_detail::equal( l, r );
-    }
-
-    template< class T, class I, class Range >
-    inline bool operator==( const Range& l, const converter<T,I>& r )
-    {
-        return r == l;
-    }
-
-    template< class T, class I, class Range >
-    inline bool operator!=( const converter<T,I>& l, const Range& r )
-    {
-        return !( l == r );
-    }
-    
-    template< class T, class I, class Range >
-    inline bool operator!=( const Range& l, const converter<T,I>& r )
-    {
-        return !( l == r );
-    }
-
-    template< class T, class I, class Range >
-    inline bool operator<( const converter<T,I>& l, const Range& r )
-    {
-        return ::boost::iterator_range_detail::less_than( l, r );
-    }
-
-    template< class T, class I, class Range >
-    inline bool operator<( const Range& l, const converter<T,I>& r )
-    {
-        return ::boost::iterator_range_detail::less_than( l, r );
-    }
-
-    template< class T, class I, class Range >
-    inline bool operator>( const converter<T,I>& l, const Range& r )
-    {
-        return r < l;
-    }
-
-    template< class T, class I, class Range >
-    inline bool operator>( const Range& l, const converter<T,I>& r )
-    {
-        return r < l;
-    }
-
-    template< class T, class I, class Range >
-    inline bool operator<=( const converter<T,I>& l, const Range& r )
-    {
-        return !( l > r );
-    }
-
-    template< class T, class I, class Range >
-    inline bool operator<=( const Range& l, const converter<T,I>& r )
-    {
-        return !( l > r );
-    }
-    
-    template< class T, class I, class Range >
-    inline bool operator>=( const converter<T,I>& l, const Range& r )
-    {
-        return !( l < r );
-    }
-
-    template< class T, class I, class Range >
-    inline bool operator>=( const Range& l, const converter<T,I>& r )
-    {
-        return !( l < r );
-    }
-
-    template< class T, class I, class Elem, class Traits >
-    inline std::basic_ostream<Elem,Traits>& 
-    operator<<( std::basic_ostream<Elem, Traits>& Os,
-                const converter<T,I>& r )
-    {
-        return Os << ::boost::make_iterator_range( r.begin(), r.end() );
-    }
-    
-    /////////////////////////////////////////////////////////////////////////
-    // Part 1: flexible, but inefficient interface
-    /////////////////////////////////////////////////////////////////////////    
-
-    template< class T > 
-    class generic_list : 
-        public converter< generic_list< BOOST_DEDUCED_TYPENAME assign_decay<T>::type >,
-                          BOOST_DEDUCED_TYPENAME std::deque<BOOST_DEDUCED_TYPENAME 
-                                                            assign_decay<T>::type>::iterator >
-    {
-        typedef BOOST_DEDUCED_TYPENAME assign_decay<T>::type Ty;
-        typedef std::deque<Ty>  impl_type;
-        mutable impl_type       values_;
-        
-    public:
-        typedef BOOST_DEDUCED_TYPENAME impl_type::iterator         iterator;
-        typedef iterator                                           const_iterator;
-        typedef BOOST_DEDUCED_TYPENAME impl_type::value_type       value_type;
-        typedef BOOST_DEDUCED_TYPENAME impl_type::size_type        size_type;
-        typedef BOOST_DEDUCED_TYPENAME impl_type::difference_type  difference_type;
-        
-    public:
-        iterator begin() const       { return values_.begin(); }
-        iterator end() const         { return values_.end(); }
-        bool empty() const           { return values_.empty(); }
-        size_type size() const       { return values_.size(); }
-        
-    private:
-        void push_back( value_type r ) { values_.push_back( r ); }
-        
-    public:
-        generic_list& operator,( const Ty& u )
-        {
-            this->push_back( u ); 
-            return *this;
-        }
-
-        generic_list& operator()()
-        {
-            this->push_back( Ty() );
-            return *this;
-        }
-
-        generic_list& operator()( const Ty& u )
-        {
-            this->push_back( u );
-            return *this;
-        }
-        
-       
-#ifndef BOOST_ASSIGN_MAX_PARAMS // use user's value
-#define BOOST_ASSIGN_MAX_PARAMS 5
-#endif        
-#define BOOST_ASSIGN_MAX_PARAMETERS (BOOST_ASSIGN_MAX_PARAMS - 1) 
-#define BOOST_ASSIGN_PARAMS1(n) BOOST_PP_ENUM_PARAMS(n, class U)
-#define BOOST_ASSIGN_PARAMS2(n) BOOST_PP_ENUM_BINARY_PARAMS(n, U, const& u)
-#define BOOST_ASSIGN_PARAMS3(n) BOOST_PP_ENUM_PARAMS(n, u)
-#define BOOST_ASSIGN_PARAMS4(n) BOOST_PP_ENUM_PARAMS(n, U)
-#define BOOST_ASSIGN_PARAMS2_NO_REF(n) BOOST_PP_ENUM_BINARY_PARAMS(n, U, u)
-
-#define BOOST_PP_LOCAL_LIMITS (1, BOOST_ASSIGN_MAX_PARAMETERS)
-#define BOOST_PP_LOCAL_MACRO(n) \
-    template< class U, BOOST_ASSIGN_PARAMS1(n) > \
-    generic_list& operator()(U const& u, BOOST_ASSIGN_PARAMS2(n) ) \
-    { \
-        this->push_back( Ty(u, BOOST_ASSIGN_PARAMS3(n))); \
-        return *this; \
-    } \
-    /**/
-        
-#include BOOST_PP_LOCAL_ITERATE()
-
-        
-        template< class U >
-        generic_list& repeat( std::size_t sz, U u )
-        {
-            std::size_t i = 0;
-            while( i++ != sz )
-                this->push_back( u );
-            return *this;
-        }
-        
-        template< class Nullary_function >
-        generic_list& repeat_fun( std::size_t sz, Nullary_function fun )
-        {
-            std::size_t i = 0;
-            while( i++ != sz )
-                this->push_back( fun() );
-            return *this;
-        }
-
-        template< class SinglePassIterator >
-        generic_list& range( SinglePassIterator first, 
-                             SinglePassIterator last )
-        {
-            for( ; first != last; ++first )
-                this->push_back( *first );
-            return *this;
-        }
-        
-        template< class SinglePassRange >
-        generic_list& range( const SinglePassRange& r )
-        {
-            return range( boost::begin(r), boost::end(r) );
-        }
-
-        template< class Container >
-        operator Container() const
-        {
-            return this-> BOOST_NESTED_TEMPLATE convert_to_container<Container>();
-        }
-    };
-    
-    /////////////////////////////////////////////////////////////////////////
-    // Part 2: efficient, but inconvenient interface
-    /////////////////////////////////////////////////////////////////////////
-
-    template< class T >
-    struct assign_reference
-    {
-        assign_reference()
-        { /* intentionally empty */ }
-
-        assign_reference( T& r ) : ref_(&r)
-        { }
-
-        void operator=( T& r )
-        {
-            ref_ = &r;
-        }
-
-        operator T&() const
-        {
-            return *ref_;
-        }
-
-        void swap( assign_reference& r )
-        {
-            std::swap( *ref_, *r.ref_ );
-        }
-
-        T& get_ref() const
-        {
-            return *ref_;
-        }
-        
-    private:
-        T* ref_;
-
-    };
-
-    template< class T >
-    inline bool operator<( const assign_reference<T>& l, 
-                           const assign_reference<T>& r )
-    {
-        return l.get_ref() < r.get_ref();
-    }
-
-    template< class T >
-    inline bool operator>( const assign_reference<T>& l,
-                           const assign_reference<T>& r )
-    {
-        return l.get_ref() > r.get_ref();
-    }
-
-    template< class T >
-    inline void swap( assign_reference<T>& l, 
-                      assign_reference<T>& r )
-    {
-        l.swap( r );
-    }
-
-
-    
-    template< class T, int N >
-    struct static_generic_list : 
-        public converter< static_generic_list<T,N>, assign_reference<T>* >
-    {
-    private:
-        typedef T                                     internal_value_type;
-
-    public:
-        typedef assign_reference<internal_value_type> value_type;
-        typedef value_type*                           iterator;
-        typedef value_type*                           const_iterator;
-        typedef std::size_t                           size_type;
-        typedef std::ptrdiff_t                        difference_type;
-
-    
-        static_generic_list( T& r ) :
-            current_(1)
-        {
-            refs_[0] = r;
-        }
-
-        static_generic_list& operator()( T& r )
-        {
-            insert( r );
-            return *this;
-        }
-
-        iterator begin() const 
-        {
-            return &refs_[0];
-        }
-
-        iterator end() const
-        {
-            return &refs_[current_];
-        }
-
-        size_type size() const
-        {
-            return static_cast<size_type>( current_ ); 
-        }
-
-        bool empty() const
-        {
-            return false;
-        }
-
-        template< class ForwardIterator >
-        static_generic_list& range( ForwardIterator first, 
-                                    ForwardIterator last )
-        {
-            for( ; first != last; ++first )
-                this->insert( *first );
-            return *this;
-        }
-
-        template< class ForwardRange >
-        static_generic_list& range( ForwardRange& r )
-        {
-            return range( boost::begin(r), boost::end(r) );
-        }
-
-        template< class ForwardRange >
-        static_generic_list& range( const ForwardRange& r )
-        {
-            return range( boost::begin(r), boost::end(r) );
-        }
-
-        template< class Container >
-        operator Container() const
-        {
-            return this-> BOOST_NESTED_TEMPLATE convert_to_container<Container>();
-        }
-
-    private:
-        void insert( T& r )
-        {
-            refs_[current_] = r;
-            ++current_;
-        }
-        
-        static_generic_list();
-        
-        mutable assign_reference<internal_value_type> refs_[N];
-        int current_;
-    };
-
-} // namespace 'assign_detail'
-
-namespace assign
-{
-    template< class T >
-    inline assign_detail::generic_list<T>
-    list_of()
-    {
-        return assign_detail::generic_list<T>()( T() );
-    }
-    
-    template< class T >
-    inline assign_detail::generic_list<T> 
-    list_of( const T& t )
-    {
-        return assign_detail::generic_list<T>()( t );
-    }
-
-    template< int N, class T >
-    inline assign_detail::static_generic_list< BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type,N>
-    ref_list_of( T& t )
-    {
-        return assign_detail::static_generic_list<BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type,N>( t );
-    }
-    
-    template< int N, class T >
-    inline assign_detail::static_generic_list<const BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type,N>
-    cref_list_of( const T& t )
-    {
-        return assign_detail::static_generic_list<const BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type,N>( t );
-    }
-
-#define BOOST_PP_LOCAL_LIMITS (1, BOOST_ASSIGN_MAX_PARAMETERS)
-#define BOOST_PP_LOCAL_MACRO(n) \
-    template< class T, class U, BOOST_ASSIGN_PARAMS1(n) > \
-    inline assign_detail::generic_list<T> \
-    list_of(U const& u, BOOST_ASSIGN_PARAMS2(n) ) \
-    { \
-        return assign_detail::generic_list<T>()(u, BOOST_ASSIGN_PARAMS3(n)); \
-    } \
-    /**/
-    
-#include BOOST_PP_LOCAL_ITERATE()
-
-#define BOOST_PP_LOCAL_LIMITS (1, BOOST_ASSIGN_MAX_PARAMETERS)
-#define BOOST_PP_LOCAL_MACRO(n) \
-    template< class U, BOOST_ASSIGN_PARAMS1(n) > \
-    inline assign_detail::generic_list< tuple<U, BOOST_ASSIGN_PARAMS4(n)> > \
-    tuple_list_of(U u, BOOST_ASSIGN_PARAMS2_NO_REF(n) ) \
-    { \
-        return assign_detail::generic_list< tuple<U, BOOST_ASSIGN_PARAMS4(n)> >()( tuple<U,BOOST_ASSIGN_PARAMS4(n)>( u, BOOST_ASSIGN_PARAMS3(n) )); \
-    } \
-    /**/
-    
-#include BOOST_PP_LOCAL_ITERATE()
-
-
-    template< class Key, class T >
-    inline assign_detail::generic_list< std::pair
-        < 
-            BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<Key>::type, 
-            BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type
-        > >
-    map_list_of( const Key& k, const T& t )
-    {
-        typedef BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<Key>::type k_type;
-        typedef BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<T>::type   t_type;
-        return assign_detail::generic_list< std::pair<k_type,t_type> >()( k, t );
-    }
-
-    template< class F, class S >
-    inline assign_detail::generic_list< std::pair
-        < 
-            BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<F>::type, 
-            BOOST_DEDUCED_TYPENAME assign_detail::assign_decay<S>::type
-        > >
-    pair_list_of( const F& f, const S& s )
-    {
-        return map_list_of( f, s );
-    }
-
-
-} // namespace 'assign'
-} // namespace 'boost'
-
-
-#undef BOOST_ASSIGN_PARAMS1
-#undef BOOST_ASSIGN_PARAMS2
-#undef BOOST_ASSIGN_PARAMS3
-#undef BOOST_ASSIGN_PARAMS4
-#undef BOOST_ASSIGN_PARAMS2_NO_REF
-#undef BOOST_ASSIGN_MAX_PARAMETERS
-
-#endif
diff --git a/SRC/Boost/boost/assign/ptr_list_inserter.hpp b/SRC/Boost/boost/assign/ptr_list_inserter.hpp
deleted file mode 100755
index aa8302c..0000000
--- a/SRC/Boost/boost/assign/ptr_list_inserter.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-#ifndef BOOST_ASSIGN_PTR_LIST_INSERTER_HPP
-#define BOOST_ASSIGN_PTR_LIST_INSERTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/list_inserter.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-
-namespace boost
-{
-
-namespace assign
-{
-    template< class Function, class Obj > 
-    class ptr_list_inserter
-    {
-        typedef BOOST_DEDUCED_TYPENAME
-                remove_pointer< BOOST_DEDUCED_TYPENAME 
-                       remove_reference<Obj>::type >::type
-           obj_type;
-    public:
-        
-        ptr_list_inserter( Function fun ) : insert_( fun )
-        {}
-        
-        template< class Function2, class Obj2 >
-        ptr_list_inserter( const ptr_list_inserter<Function2,Obj2>& r ) 
-        : insert_( r.fun_private() ) 
-        {}
-
-        ptr_list_inserter( const ptr_list_inserter& r ) : insert_( r.insert_ )
-        {}
-
-        ptr_list_inserter& operator()()
-        {
-            insert_( new obj_type() );
-            return *this;
-        }
-        
-        template< class T >
-        ptr_list_inserter& operator()( const T& t )
-        {
-            insert_( new obj_type(t) );
-            return *this;
-        }
-
-#ifndef BOOST_ASSIGN_MAX_PARAMS // use user's value
-#define BOOST_ASSIGN_MAX_PARAMS 5        
-#endif
-#define BOOST_ASSIGN_MAX_PARAMETERS (BOOST_ASSIGN_MAX_PARAMS - 1)
-#define BOOST_ASSIGN_PARAMS1(n) BOOST_PP_ENUM_PARAMS(n, class T)
-#define BOOST_ASSIGN_PARAMS2(n) BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& t)
-#define BOOST_ASSIGN_PARAMS3(n) BOOST_PP_ENUM_PARAMS(n, t)
-        
-#define BOOST_PP_LOCAL_LIMITS (1, BOOST_ASSIGN_MAX_PARAMETERS)
-#define BOOST_PP_LOCAL_MACRO(n) \
-    template< class T, BOOST_ASSIGN_PARAMS1(n) > \
-    ptr_list_inserter& operator()( const T& t, BOOST_ASSIGN_PARAMS2(n) ) \
-    { \
-        insert_( new obj_type(t, BOOST_ASSIGN_PARAMS3(n) )); \
-        return *this; \
-    } \
-    /**/
-        
-#include BOOST_PP_LOCAL_ITERATE()
-
-    private:
-        
-        ptr_list_inserter& operator=( const ptr_list_inserter& );
-        Function insert_;
-    };
-    
-    template< class Obj, class Function >
-    inline ptr_list_inserter< Function, Obj >
-    make_ptr_list_inserter( Function fun )
-    {
-        return ptr_list_inserter< Function, Obj >( fun );
-    }
-    
-    template< class C >
-    inline ptr_list_inserter< assign_detail::call_push_back<C>, 
-                              BOOST_DEDUCED_TYPENAME C::reference >
-    ptr_push_back( C& c )
-    {
-        return make_ptr_list_inserter<BOOST_DEDUCED_TYPENAME C::reference>
-                   ( assign_detail::call_push_back<C>( c ) ); 
-    }
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-    template< class T, class C >
-    inline ptr_list_inserter< assign_detail::call_push_back<C>, T >
-    ptr_push_back( C& c )
-    {
-        return make_ptr_list_inserter<T>( 
-                    assign_detail::call_push_back<C>( c ) );
-    }
-
-#endif
-    
-    template< class C >
-    inline ptr_list_inserter< assign_detail::call_push_front<C>,
-                              BOOST_DEDUCED_TYPENAME C::reference >
-    ptr_push_front( C& c )
-    {
-        return make_ptr_list_inserter<BOOST_DEDUCED_TYPENAME C::reference>
-                 ( assign_detail::call_push_front<C>( c ) );
-    }
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-    template< class T, class C >
-    inline ptr_list_inserter< assign_detail::call_push_front<C>, T >
-    ptr_push_front( C& c )
-    {
-        return make_ptr_list_inserter<T>( 
-                    assign_detail::call_push_front<C>( c ) );
-    }
-
-#endif
-    
-    template< class C >
-    inline ptr_list_inserter< assign_detail::call_insert<C>, 
-                          BOOST_DEDUCED_TYPENAME C::reference>
-    ptr_insert( C& c )
-    {
-        return make_ptr_list_inserter<BOOST_DEDUCED_TYPENAME C::reference>
-                    ( assign_detail::call_insert<C>( c ) );
-    }
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-    template< class T, class C >
-    inline ptr_list_inserter< assign_detail::call_insert<C>, T >
-    ptr_insert( C& c )
-    {
-        return make_ptr_list_inserter<T>( assign_detail::call_insert<C>( c ) );
-    }
-
-#endif
-    
-    
-} // namespace 'assign'
-} // namespace 'boost'
-
-#undef BOOST_ASSIGN_PARAMS1
-#undef BOOST_ASSIGN_PARAMS2
-#undef BOOST_ASSIGN_PARAMS3
-#undef BOOST_ASSIGN_MAX_PARAMETERS
-
-#endif
diff --git a/SRC/Boost/boost/assign/ptr_list_of.hpp b/SRC/Boost/boost/assign/ptr_list_of.hpp
deleted file mode 100755
index 3f314e6..0000000
--- a/SRC/Boost/boost/assign/ptr_list_of.hpp
+++ /dev/null
@@ -1,191 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#ifndef BOOST_ASSIGN_PTR_LIST_OF_HPP
-#define BOOST_ASSIGN_PTR_LIST_OF_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/list_of.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/decay.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/ptr_container/ptr_vector.hpp>
-
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/iteration/local.hpp>
-
-namespace boost
-{
-
-namespace assign_detail
-{
-    /////////////////////////////////////////////////////////////////////////
-    // Part 1: flexible and efficient interface
-    /////////////////////////////////////////////////////////////////////////    
-
-    template< class T > 
-    class generic_ptr_list : 
-        public converter< generic_ptr_list<T>,
-                          BOOST_DEDUCED_TYPENAME boost::ptr_vector<T>::iterator >      
-    {
-    protected:
-        typedef boost::ptr_vector<T>       impl_type;
-        typedef std::auto_ptr<impl_type>   release_type;
-        mutable impl_type                  values_;
-        
-    public:
-        typedef BOOST_DEDUCED_TYPENAME impl_type::iterator         iterator;
-        typedef iterator                                           const_iterator;
-        typedef BOOST_DEDUCED_TYPENAME impl_type::value_type       value_type;
-        typedef BOOST_DEDUCED_TYPENAME impl_type::size_type        size_type;
-        typedef BOOST_DEDUCED_TYPENAME impl_type::difference_type  difference_type;
-    public:
-        generic_ptr_list() : values_( 32u )
-        { }
-
-        generic_ptr_list( release_type r ) : values_(r)
-        { }
-
-        release_type release()
-        {
-            return values_.release();
-        }
-        
-    public:
-        iterator begin() const       { return values_.begin(); }
-        iterator end() const         { return values_.end(); }
-        bool empty() const           { return values_.empty(); }
-        size_type size() const       { return values_.size(); }
-
-    public:
-
-        operator impl_type() const
-        {
-            return values_;        
-        }
- 
-        template< template<class,class,class> class Seq, class U,
-                  class CA, class A > 
-        operator Seq<U,CA,A>() const 
-        {
-            Seq<U,CA,A> result;
-            result.transfer( result.end(), values_ );
-            BOOST_ASSERT( empty() );
-            return result;
-        }
-
-        template< class PtrContainer >
-        std::auto_ptr<PtrContainer> convert( const PtrContainer* c ) const
-        {
-            std::auto_ptr<PtrContainer> res( new PtrContainer() );
-            while( !empty() )
-                res->insert( res->end(), 
-                             values_.pop_back().release() );
-            return res;
-        }
-
-        template< class PtrContainer >
-        std::auto_ptr<PtrContainer> to_container( const PtrContainer& c ) const
-        {
-            return convert( &c ); 
-        }
-        
-    protected:
-        void push_back( T* r ) { values_.push_back( r ); }
-        
-    public:
-        generic_ptr_list& operator()()
-        {
-            this->push_back( new T() );
-            return *this;
-        }
-
-        template< class U >
-        generic_ptr_list& operator()( const U& u )
-        {
-            this->push_back( new T(u) );
-            return *this;
-        }
-        
-       
-#ifndef BOOST_ASSIGN_MAX_PARAMS // use user's value
-#define BOOST_ASSIGN_MAX_PARAMS 5
-#endif        
-#define BOOST_ASSIGN_MAX_PARAMETERS (BOOST_ASSIGN_MAX_PARAMS - 1) 
-#define BOOST_ASSIGN_PARAMS1(n) BOOST_PP_ENUM_PARAMS(n, class U)
-#define BOOST_ASSIGN_PARAMS2(n) BOOST_PP_ENUM_BINARY_PARAMS(n, U, const& u)
-#define BOOST_ASSIGN_PARAMS3(n) BOOST_PP_ENUM_PARAMS(n, u)
-
-#define BOOST_PP_LOCAL_LIMITS (1, BOOST_ASSIGN_MAX_PARAMETERS)
-#define BOOST_PP_LOCAL_MACRO(n) \
-    template< class U, BOOST_ASSIGN_PARAMS1(n) > \
-    generic_ptr_list& operator()(U const& u, BOOST_ASSIGN_PARAMS2(n) ) \
-    { \
-        this->push_back( new T(u, BOOST_ASSIGN_PARAMS3(n))); \
-        return *this; \
-    } \
-    /**/
-        
-#include BOOST_PP_LOCAL_ITERATE()
-
-    }; // class 'generic_ptr_list'
-
-} // namespace 'assign_detail'
-
-namespace assign
-{
-    template< class T >
-    inline assign_detail::generic_ptr_list<T>
-    ptr_list_of()
-    {
-        return assign_detail::generic_ptr_list<T>()();
-    }
-    
-    template< class T, class U >
-    inline assign_detail::generic_ptr_list<T> 
-    ptr_list_of( const U& t )
-    {
-        return assign_detail::generic_ptr_list<T>()( t );
-    }
-
-
-#define BOOST_PP_LOCAL_LIMITS (1, BOOST_ASSIGN_MAX_PARAMETERS)
-#define BOOST_PP_LOCAL_MACRO(n) \
-    template< class T, class U, BOOST_ASSIGN_PARAMS1(n) > \
-    inline assign_detail::generic_ptr_list<T> \
-    ptr_list_of(U const& u, BOOST_ASSIGN_PARAMS2(n) ) \
-    { \
-        return assign_detail::generic_ptr_list<T>()(u, BOOST_ASSIGN_PARAMS3(n)); \
-    } \
-    /**/
-    
-#include BOOST_PP_LOCAL_ITERATE()
-
-
-} // namespace 'assign'
-} // namespace 'boost'
-
-
-#undef BOOST_ASSIGN_PARAMS1
-#undef BOOST_ASSIGN_PARAMS2
-#undef BOOST_ASSIGN_PARAMS3
-#undef BOOST_ASSIGN_MAX_PARAMETERS
-
-#endif
diff --git a/SRC/Boost/boost/assign/ptr_map_inserter.hpp b/SRC/Boost/boost/assign/ptr_map_inserter.hpp
deleted file mode 100755
index 69de771..0000000
--- a/SRC/Boost/boost/assign/ptr_map_inserter.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2006. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-#ifndef BOOST_ASSIGN_PTR_CONTAINER_PTR_MAP_INSERTER_HPP
-#define BOOST_ASSIGN_PTR_CONTAINER_PTR_MAP_INSERTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/list_inserter.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-
-namespace boost
-{
-
-namespace assign
-{
-    template< class PtrMap, class Obj > 
-    class ptr_map_inserter
-    {
-        typedef BOOST_DEDUCED_TYPENAME
-                remove_pointer< BOOST_DEDUCED_TYPENAME 
-                       remove_reference<Obj>::type >::type
-           obj_type;
-        typedef BOOST_DEDUCED_TYPENAME PtrMap::key_type
-           key_type;
-        
-    public:
-        
-        ptr_map_inserter( PtrMap& m ) : m_( m )
-        {}
-        
-        template< class Key >
-        ptr_map_inserter& operator()( const Key& t )
-        {
-            key_type k(t);
-            m_.insert( k, new obj_type );
-            return *this;
-        }
-
-#ifndef BOOST_ASSIGN_MAX_PARAMS // use user's value
-#define BOOST_ASSIGN_MAX_PARAMS 6        
-#endif
-#define BOOST_ASSIGN_MAX_PARAMETERS (BOOST_ASSIGN_MAX_PARAMS - 1)
-#define BOOST_ASSIGN_PARAMS1(n) BOOST_PP_ENUM_PARAMS(n, class T)
-#define BOOST_ASSIGN_PARAMS2(n) BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& t)
-#define BOOST_ASSIGN_PARAMS3(n) BOOST_PP_ENUM_PARAMS(n, t)
-        
-#define BOOST_PP_LOCAL_LIMITS (1, BOOST_ASSIGN_MAX_PARAMETERS)
-#define BOOST_PP_LOCAL_MACRO(n) \
-    template< class T, BOOST_ASSIGN_PARAMS1(n) > \
-    ptr_map_inserter& operator()( const T& t, BOOST_ASSIGN_PARAMS2(n) ) \
-    { \
-        key_type k(t); \
-        m_.insert( k, new obj_type( BOOST_ASSIGN_PARAMS3(n) ) ); \
-        return *this; \
-    } \
-    /**/
-        
-#include BOOST_PP_LOCAL_ITERATE()
-
-    private:
-
-        ptr_map_inserter& operator=( const ptr_map_inserter& );
-        PtrMap& m_;
-    };
-    
-    template< class PtrMap >
-    inline ptr_map_inserter< PtrMap, typename PtrMap::mapped_reference >
-    ptr_map_insert( PtrMap& m )
-    {
-        return ptr_map_inserter< PtrMap, typename PtrMap::mapped_reference >( m );
-    }
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-    template< class T, class PtrMap >
-    inline ptr_map_inserter< PtrMap, T >
-    ptr_map_insert( PtrMap& m )
-    {
-        return ptr_map_inserter< PtrMap, T >( m );
-    }
-
-#endif
-     
-} // namespace 'assign'
-} // namespace 'boost'
-
-#undef BOOST_ASSIGN_PARAMS1
-#undef BOOST_ASSIGN_PARAMS2
-#undef BOOST_ASSIGN_PARAMS3
-#undef BOOST_ASSIGN_MAX_PARAMETERS
-
-#endif
diff --git a/SRC/Boost/boost/assign/std.hpp b/SRC/Boost/boost/assign/std.hpp
deleted file mode 100755
index 68c8a67..0000000
--- a/SRC/Boost/boost/assign/std.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-#ifndef BOOST_ASSIGN_STD_HPP
-#define BOOST_ASSIGN_STD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/std/vector.hpp>
-#include <boost/assign/std/deque.hpp>
-#include <boost/assign/std/list.hpp>
-#include <boost/assign/std/slist.hpp>
-#include <boost/assign/std/stack.hpp>
-#include <boost/assign/std/queue.hpp>
-#include <boost/assign/std/set.hpp>
-#include <boost/assign/std/map.hpp>
-
-#endif
diff --git a/SRC/Boost/boost/assign/std/deque.hpp b/SRC/Boost/boost/assign/std/deque.hpp
deleted file mode 100755
index 97484e5..0000000
--- a/SRC/Boost/boost/assign/std/deque.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#ifndef BOOST_ASSIGN_STD_DEQUE_HPP
-#define BOOST_ASSIGN_STD_DEQUE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/list_inserter.hpp>
-#include <boost/config.hpp>
-#include <deque>
-
-namespace boost
-{
-namespace assign
-{
-
-    template< class V, class A, class V2 >
-    inline list_inserter< assign_detail::call_push_back< std::deque<V,A> >, V > 
-    operator+=( std::deque<V,A>& c, V2 v )
-    {
-        return push_back( c )( v );
-    }
-        
-}
-}
-
-#endif
diff --git a/SRC/Boost/boost/assign/std/list.hpp b/SRC/Boost/boost/assign/std/list.hpp
deleted file mode 100755
index 10b1a9b..0000000
--- a/SRC/Boost/boost/assign/std/list.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#ifndef BOOST_ASSIGN_STD_LIST_HPP
-#define BOOST_ASSIGN_STD_LIST_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/list_inserter.hpp>
-#include <boost/config.hpp>
-#include <list>
-
-namespace boost
-{
-namespace assign
-{
-
-    template< class V, class A, class V2 >
-    inline list_inserter< assign_detail::call_push_back< std::list<V,A> >, V >
-    operator+=( std::list<V,A>& c, V2 v )
-    {
-        return push_back( c )( v );
-    }
-    
-}
-}
-
-#endif
diff --git a/SRC/Boost/boost/assign/std/map.hpp b/SRC/Boost/boost/assign/std/map.hpp
deleted file mode 100755
index 9ecbedd..0000000
--- a/SRC/Boost/boost/assign/std/map.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#ifndef BOOST_ASSIGN_STD_MAP_HPP
-#define BOOST_ASSIGN_STD_MAP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/list_inserter.hpp>
-#include <boost/config.hpp>
-#include <map>
-
-namespace boost
-{
-namespace assign
-{
-
-    template< class K, class V, class C, class A, class P >
-    inline list_inserter< assign_detail::call_insert< std::map<K,V,C,A> >, P >
-    operator+=( std::map<K,V,C,A>& m, const P& p )
-    {
-        return insert( m )( p );
-    }
-    
-    template< class K, class V, class C, class A, class P >
-    inline list_inserter< assign_detail::call_insert< std::multimap<K,V,C,A> >, P >
-    operator+=( std::multimap<K,V,C,A>& m, const P& p )
-    {
-        return insert( m )( p );
-    }
-
-}
-}
-
-#endif
diff --git a/SRC/Boost/boost/assign/std/queue.hpp b/SRC/Boost/boost/assign/std/queue.hpp
deleted file mode 100755
index e654511..0000000
--- a/SRC/Boost/boost/assign/std/queue.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#ifndef BOOST_ASSIGN_STD_QUEUE_HPP
-#define BOOST_ASSIGN_STD_QUEUE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/list_inserter.hpp>
-#include <boost/config.hpp>
-#include <queue>
-
-namespace boost
-{
-namespace assign
-{
-
-    template< class V, class C, class V2 >
-    inline list_inserter< assign_detail::call_push< std::queue<V,C> >, V >
-    operator+=( std::queue<V,C>& c, V2 v )
-    {
-        return push( c )( v );
-    }
-    
-    template< class V, class C, class V2 >
-    inline list_inserter< assign_detail::call_push< std::priority_queue<V,C> >, V >
-    operator+=( std::priority_queue<V,C>& c, V2 v )
-    {
-        return push( c )( v );
-    }
-
-}
-}
-
-#endif
diff --git a/SRC/Boost/boost/assign/std/set.hpp b/SRC/Boost/boost/assign/std/set.hpp
deleted file mode 100755
index 3ca0316..0000000
--- a/SRC/Boost/boost/assign/std/set.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#ifndef BOOST_ASSIGN_STD_SET_HPP
-#define BOOST_ASSIGN_STD_SET_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/list_inserter.hpp>
-#include <boost/config.hpp>
-#include <set>
-
-namespace boost
-{
-namespace assign
-{
-    template< class K, class C, class A, class K2 >
-    inline list_inserter< assign_detail::call_insert< std::set<K,C,A> >, K > 
-    operator+=( std::set<K,C,A>& c, K2 k )
-    {
-        return insert( c )( k );
-    }
-    
-    template< class K, class C, class A, class K2 >
-    inline list_inserter< assign_detail::call_insert< std::multiset<K,C,A> >, K > 
-    operator+=( std::multiset<K,C,A>& c, K2 k )
-    {
-        return insert( c )( k );
-    }
-    
-}
-}
-
-#endif
diff --git a/SRC/Boost/boost/assign/std/slist.hpp b/SRC/Boost/boost/assign/std/slist.hpp
deleted file mode 100755
index c357335..0000000
--- a/SRC/Boost/boost/assign/std/slist.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-#ifndef BOOST_ASSIGN_STD_SLIST_HPP
-#define BOOST_ASSIGN_STD_SLIST_HPP
-
-#include <boost/config.hpp>
-#ifdef BOOST_HAS_SLIST
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/list_inserter.hpp>
-#ifdef BOOST_SLIST_HEADER
-# include BOOST_SLIST_HEADER
-#else
-# include <slist>
-#endif
-
-namespace boost
-{
-namespace assign
-{
-
-    template< class V, class A, class V2 >
-    inline list_inserter< assign_detail::call_push_back< BOOST_STD_EXTENSION_NAMESPACE::slist<V,A> >, V >
-    operator+=( BOOST_STD_EXTENSION_NAMESPACE::slist<V,A>& c, V2 v )
-    {
-        return push_back( c )( v );
-    }
-    
-}
-}
-
-#endif // BOOST_HAS_SLIST
-
-#endif 
diff --git a/SRC/Boost/boost/assign/std/stack.hpp b/SRC/Boost/boost/assign/std/stack.hpp
deleted file mode 100755
index 003a8d6..0000000
--- a/SRC/Boost/boost/assign/std/stack.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-#ifndef BOOST_ASSIGN_STD_STACK_HPP
-#define BOOST_ASSIGN_STD_STACK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/list_inserter.hpp>
-#include <boost/config.hpp>
-#include <stack>
-
-namespace boost
-{
-namespace assign
-{
-
-    template< class V, class C, class V2 >
-    inline list_inserter< assign_detail::call_push< std::stack<V,C> >, V >
-    operator+=( std::stack<V,C>& c, V2 v )
-    {
-       return push( c )( v );
-    }
-    
-}
-}
-
-#endif
diff --git a/SRC/Boost/boost/assign/std/vector.hpp b/SRC/Boost/boost/assign/std/vector.hpp
deleted file mode 100755
index f955ea2..0000000
--- a/SRC/Boost/boost/assign/std/vector.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-#ifndef BOOST_ASSIGN_STD_VECTOR_HPP
-#define BOOST_ASSIGN_STD_VECTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/assign/list_inserter.hpp>
-#include <boost/config.hpp>
-#include <vector>
-
-namespace boost
-{
-namespace assign
-{
-
-    template< class V, class A, class V2 >
-    inline list_inserter< assign_detail::call_push_back< std::vector<V,A> >, V > 
-    operator+=( std::vector<V,A>& c, V2 v )
-    {
-        return push_back( c )( v );
-    }
-    
-}
-}
-
-#endif
diff --git a/SRC/Boost/boost/bind.hpp b/SRC/Boost/boost/bind.hpp
deleted file mode 100755
index e1eb386..0000000
--- a/SRC/Boost/boost/bind.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef BOOST_BIND_HPP_INCLUDED
-#define BOOST_BIND_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  bind.hpp - binds function objects to arguments
-//
-//  Copyright (c) 2009 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-//  See http://www.boost.org/libs/bind/bind.html for documentation.
-//
-
-#include <boost/bind/bind.hpp>
-
-#endif // #ifndef BOOST_BIND_HPP_INCLUDED
diff --git a/SRC/Boost/boost/bind/apply.hpp b/SRC/Boost/boost/bind/apply.hpp
deleted file mode 100755
index 5ca4e1d..0000000
--- a/SRC/Boost/boost/bind/apply.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef BOOST_BIND_APPLY_HPP_INCLUDED
-#define BOOST_BIND_APPLY_HPP_INCLUDED
-
-//
-//  apply.hpp
-//
-//  Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-namespace boost
-{
-
-template<class R> struct apply
-{
-    typedef R result_type;
-
-    template<class F> result_type operator()(F & f) const
-    {
-        return f();
-    }
-
-    template<class F, class A1> result_type operator()(F & f, A1 & a1) const
-    {
-        return f(a1);
-    }
-
-    template<class F, class A1, class A2> result_type operator()(F & f, A1 & a1, A2 & a2) const
-    {
-        return f(a1, a2);
-    }
-
-    template<class F, class A1, class A2, class A3> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3) const
-    {
-        return f(a1, a2, a3);
-    }
-
-    template<class F, class A1, class A2, class A3, class A4> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4) const
-    {
-        return f(a1, a2, a3, a4);
-    }
-
-    template<class F, class A1, class A2, class A3, class A4, class A5> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const
-    {
-        return f(a1, a2, a3, a4, a5);
-    }
-
-    template<class F, class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const
-    {
-        return f(a1, a2, a3, a4, a5, a6);
-    }
-
-    template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const
-    {
-        return f(a1, a2, a3, a4, a5, a6, a7);
-    }
-
-    template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const
-    {
-        return f(a1, a2, a3, a4, a5, a6, a7, a8);
-    }
-
-    template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const
-    {
-        return f(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-    }
-};
-
-} // namespace boost
-
-#endif // #ifndef BOOST_BIND_APPLY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/bind/arg.hpp b/SRC/Boost/boost/bind/arg.hpp
deleted file mode 100755
index c08291a..0000000
--- a/SRC/Boost/boost/bind/arg.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef BOOST_BIND_ARG_HPP_INCLUDED
-#define BOOST_BIND_ARG_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  bind/arg.hpp
-//
-//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/bind/bind.html for documentation.
-//
-
-#include <boost/config.hpp>
-#include <boost/is_placeholder.hpp>
-
-namespace boost
-{
-
-template< int I > struct arg
-{
-    arg()
-    {
-    }
-
-    template< class T > arg( T const & /* t */ )
-    {
-        // static assert I == is_placeholder<T>::value
-        typedef char T_must_be_placeholder[ I == is_placeholder<T>::value? 1: -1 ];
-    }
-};
-
-template< int I > bool operator==( arg<I> const &, arg<I> const & )
-{
-    return true;
-}
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< int I > struct is_placeholder< arg<I> >
-{
-    enum _vt { value = I };
-};
-
-template< int I > struct is_placeholder< arg<I> (*) () >
-{
-    enum _vt { value = I };
-};
-
-#endif
-
-} // namespace boost
-
-#endif // #ifndef BOOST_BIND_ARG_HPP_INCLUDED
diff --git a/SRC/Boost/boost/bind/bind.hpp b/SRC/Boost/boost/bind/bind.hpp
deleted file mode 100755
index 308f607..0000000
--- a/SRC/Boost/boost/bind/bind.hpp
+++ /dev/null
@@ -1,1751 +0,0 @@
-#ifndef BOOST_BIND_BIND_HPP_INCLUDED
-#define BOOST_BIND_BIND_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  bind.hpp - binds function objects to arguments
-//
-//  Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd.
-//  Copyright (c) 2001 David Abrahams
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/bind/bind.html for documentation.
-//
-
-#include <boost/config.hpp>
-#include <boost/ref.hpp>
-#include <boost/mem_fn.hpp>
-#include <boost/type.hpp>
-#include <boost/is_placeholder.hpp>
-#include <boost/bind/arg.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/visit_each.hpp>
-
-// Borland-specific bug, visit_each() silently fails to produce code
-
-#if defined(__BORLANDC__)
-#  define BOOST_BIND_VISIT_EACH boost::visit_each
-#else
-#  define BOOST_BIND_VISIT_EACH visit_each
-#endif
-
-#include <boost/bind/storage.hpp>
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4512) // assignment operator could not be generated
-#endif
-
-namespace boost
-{
-
-template<class T> class weak_ptr;
-
-namespace _bi // implementation details
-{
-
-// result_traits
-
-template<class R, class F> struct result_traits
-{
-    typedef R type;
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-
-struct unspecified {};
-
-template<class F> struct result_traits<unspecified, F>
-{
-    typedef typename F::result_type type;
-};
-
-template<class F> struct result_traits< unspecified, reference_wrapper<F> >
-{
-    typedef typename F::result_type type;
-};
-
-#endif
-
-// ref_compare
-
-template<class T> bool ref_compare( T const & a, T const & b, long )
-{
-    return a == b;
-}
-
-template<int I> bool ref_compare( arg<I> const &, arg<I> const &, int )
-{
-    return true;
-}
-
-template<int I> bool ref_compare( arg<I> (*) (), arg<I> (*) (), int )
-{
-    return true;
-}
-
-template<class T> bool ref_compare( reference_wrapper<T> const & a, reference_wrapper<T> const & b, int )
-{
-    return a.get_pointer() == b.get_pointer();
-}
-
-// bind_t forward declaration for listN
-
-template<class R, class F, class L> class bind_t;
-
-template<class R, class F, class L> bool ref_compare( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b, int )
-{
-    return a.compare( b );
-}
-
-// value
-
-template<class T> class value
-{
-public:
-
-    value(T const & t): t_(t) {}
-
-    T & get() { return t_; }
-    T const & get() const { return t_; }
-
-    bool operator==(value const & rhs) const
-    {
-        return t_ == rhs.t_;
-    }
-
-private:
-
-    T t_;
-};
-
-// ref_compare for weak_ptr
-
-template<class T> bool ref_compare( value< weak_ptr<T> > const & a, value< weak_ptr<T> > const & b, int )
-{
-    return !(a.get() < b.get()) && !(b.get() < a.get());
-}
-
-// type
-
-template<class T> class type {};
-
-// unwrap
-
-template<class F> struct unwrapper
-{
-    static inline F & unwrap( F & f, long )
-    {
-        return f;
-    }
-
-    template<class F2> static inline F2 & unwrap( reference_wrapper<F2> rf, int )
-    {
-        return rf.get();
-    }
-
-    template<class R, class T> static inline _mfi::dm<R, T> unwrap( R T::* pm, int )
-    {
-        return _mfi::dm<R, T>( pm );
-    }
-};
-
-// listN
-
-class list0
-{
-public:
-
-    list0() {}
-
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
-
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
-
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
-
-    template<class R, class F, class A> R operator()(type<R>, F & f, A &, long)
-    {
-        return unwrapper<F>::unwrap(f, 0)();
-    }
-
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A &, long) const
-    {
-        return unwrapper<F const>::unwrap(f, 0)();
-    }
-
-    template<class F, class A> void operator()(type<void>, F & f, A &, int)
-    {
-        unwrapper<F>::unwrap(f, 0)();
-    }
-
-    template<class F, class A> void operator()(type<void>, F const & f, A &, int) const
-    {
-        unwrapper<F const>::unwrap(f, 0)();
-    }
-
-    template<class V> void accept(V &) const
-    {
-    }
-
-    bool operator==(list0 const &) const
-    {
-        return true;
-    }
-};
-
-#ifdef BOOST_MSVC
-// MSVC is bright enough to realise that the parameter rhs 
-// in operator==may be unused for some template argument types:
-#pragma warning(push)
-#pragma warning(disable:4100)
-#endif
-
-template< class A1 > class list1: private storage1< A1 >
-{
-private:
-
-    typedef storage1< A1 > base_type;
-
-public:
-
-    explicit list1( A1 a1 ): base_type( a1 ) {}
-
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
-
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
-
-    template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
-
-    template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
-
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
-
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
-    {
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);
-    }
-
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
-    {
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)
-    {
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
-    {
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);
-    }
-
-    template<class V> void accept(V & v) const
-    {
-        base_type::accept(v);
-    }
-
-    bool operator==(list1 const & rhs) const
-    {
-        return ref_compare(base_type::a1_, rhs.a1_, 0);
-    }
-};
-
-struct logical_and;
-struct logical_or;
-
-template< class A1, class A2 > class list2: private storage2< A1, A2 >
-{
-private:
-
-    typedef storage2< A1, A2 > base_type;
-
-public:
-
-    list2( A1 a1, A2 a2 ): base_type( a1, a2 ) {}
-
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
-
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
-
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
-
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
-
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
-
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
-    {
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
-    }
-
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
-    {
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)
-    {
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
-    {
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
-    }
-
-    template<class A> bool operator()( type<bool>, logical_and & /*f*/, A & a, int )
-    {
-        return a[ base_type::a1_ ] && a[ base_type::a2_ ];
-    }
-
-    template<class A> bool operator()( type<bool>, logical_and const & /*f*/, A & a, int ) const
-    {
-        return a[ base_type::a1_ ] && a[ base_type::a2_ ];
-    }
-
-    template<class A> bool operator()( type<bool>, logical_or & /*f*/, A & a, int )
-    {
-        return a[ base_type::a1_ ] || a[ base_type::a2_ ];
-    }
-
-    template<class A> bool operator()( type<bool>, logical_or const & /*f*/, A & a, int ) const
-    {
-        return a[ base_type::a1_ ] || a[ base_type::a2_ ];
-    }
-
-    template<class V> void accept(V & v) const
-    {
-        base_type::accept(v);
-    }
-
-    bool operator==(list2 const & rhs) const
-    {
-        return ref_compare(base_type::a1_, rhs.a1_, 0) && ref_compare(base_type::a2_, rhs.a2_, 0);
-    }
-};
-
-template< class A1, class A2, class A3 > class list3: private storage3< A1, A2, A3 >
-{
-private:
-
-    typedef storage3< A1, A2, A3 > base_type;
-
-public:
-
-    list3( A1 a1, A2 a2, A3 a3 ): base_type( a1, a2, a3 ) {}
-
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
-
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
-
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
-
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
-
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
-
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
-    {
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
-    }
-
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
-    {
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)
-    {
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
-    {
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
-    }
-
-    template<class V> void accept(V & v) const
-    {
-        base_type::accept(v);
-    }
-
-    bool operator==(list3 const & rhs) const
-    {
-        return
-            
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
-            ref_compare( base_type::a3_, rhs.a3_, 0 );
-    }
-};
-
-template< class A1, class A2, class A3, class A4 > class list4: private storage4< A1, A2, A3, A4 >
-{
-private:
-
-    typedef storage4< A1, A2, A3, A4 > base_type;
-
-public:
-
-    list4( A1 a1, A2 a2, A3 a3, A4 a4 ): base_type( a1, a2, a3, a4 ) {}
-
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
-    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
-
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
-    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
-
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
-
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
-
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
-
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
-    {
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
-    }
-
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
-    {
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)
-    {
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
-    {
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
-    }
-
-    template<class V> void accept(V & v) const
-    {
-        base_type::accept(v);
-    }
-
-    bool operator==(list4 const & rhs) const
-    {
-        return
-
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
-            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
-            ref_compare( base_type::a4_, rhs.a4_, 0 );
-    }
-};
-
-template< class A1, class A2, class A3, class A4, class A5 > class list5: private storage5< A1, A2, A3, A4, A5 >
-{
-private:
-
-    typedef storage5< A1, A2, A3, A4, A5 > base_type;
-
-public:
-
-    list5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): base_type( a1, a2, a3, a4, a5 ) {}
-
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
-    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
-    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
-
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
-    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
-    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
-
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
-
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
-
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
-
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
-    {
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
-    }
-
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
-    {
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)
-    {
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
-    {
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
-    }
-
-    template<class V> void accept(V & v) const
-    {
-        base_type::accept(v);
-    }
-
-    bool operator==(list5 const & rhs) const
-    {
-        return
-
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
-            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
-            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
-            ref_compare( base_type::a5_, rhs.a5_, 0 );
-    }
-};
-
-template<class A1, class A2, class A3, class A4, class A5, class A6> class list6: private storage6< A1, A2, A3, A4, A5, A6 >
-{
-private:
-
-    typedef storage6< A1, A2, A3, A4, A5, A6 > base_type;
-
-public:
-
-    list6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): base_type( a1, a2, a3, a4, a5, a6 ) {}
-
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
-    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
-    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
-    A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
-
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
-    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
-    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
-    A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
-
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
-
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
-
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
-
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
-    {
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
-    }
-
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
-    {
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)
-    {
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
-    {
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
-    }
-
-    template<class V> void accept(V & v) const
-    {
-        base_type::accept(v);
-    }
-
-    bool operator==(list6 const & rhs) const
-    {
-        return
-
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
-            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
-            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
-            ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
-            ref_compare( base_type::a6_, rhs.a6_, 0 );
-    }
-};
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> class list7: private storage7< A1, A2, A3, A4, A5, A6, A7 >
-{
-private:
-
-    typedef storage7< A1, A2, A3, A4, A5, A6, A7 > base_type;
-
-public:
-
-    list7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): base_type( a1, a2, a3, a4, a5, a6, a7 ) {}
-
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
-    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
-    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
-    A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
-    A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
-
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
-    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
-    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
-    A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
-    A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
-
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
-
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
-
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
-
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
-    {
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
-    }
-
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
-    {
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)
-    {
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
-    {
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
-    }
-
-    template<class V> void accept(V & v) const
-    {
-        base_type::accept(v);
-    }
-
-    bool operator==(list7 const & rhs) const
-    {
-        return
-
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
-            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
-            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
-            ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
-            ref_compare( base_type::a6_, rhs.a6_, 0 ) &&
-            ref_compare( base_type::a7_, rhs.a7_, 0 );
-    }
-};
-
-template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class list8: private storage8< A1, A2, A3, A4, A5, A6, A7, A8 >
-{
-private:
-
-    typedef storage8< A1, A2, A3, A4, A5, A6, A7, A8 > base_type;
-
-public:
-
-    list8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8 ) {}
-
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
-    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
-    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
-    A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
-    A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
-    A8 operator[] (boost::arg<8>) const { return base_type::a8_; }
-
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
-    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
-    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
-    A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
-    A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
-    A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }
-
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
-
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
-
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
-
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
-    {
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
-    }
-
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
-    {
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)
-    {
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
-    {
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
-    }
-
-    template<class V> void accept(V & v) const
-    {
-        base_type::accept(v);
-    }
-
-    bool operator==(list8 const & rhs) const
-    {
-        return
-            
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
-            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
-            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
-            ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
-            ref_compare( base_type::a6_, rhs.a6_, 0 ) &&
-            ref_compare( base_type::a7_, rhs.a7_, 0 ) &&
-            ref_compare( base_type::a8_, rhs.a8_, 0 );
-    }
-};
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> class list9: private storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 >
-{
-private:
-
-    typedef storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > base_type;
-
-public:
-
-    list9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8, a9 ) {}
-
-    A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
-    A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
-    A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
-    A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
-    A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
-    A8 operator[] (boost::arg<8>) const { return base_type::a8_; }
-    A9 operator[] (boost::arg<9>) const { return base_type::a9_; }
-
-    A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
-    A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
-    A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
-    A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
-    A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
-    A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
-    A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
-    A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }
-    A9 operator[] (boost::arg<9> (*) ()) const { return base_type::a9_; }
-
-    template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
-
-    template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
-
-    template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
-
-    template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
-
-    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
-    {
-        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
-    }
-
-    template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
-    {
-        return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F & f, A & a, int)
-    {
-        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
-    }
-
-    template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
-    {
-        unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
-    }
-
-    template<class V> void accept(V & v) const
-    {
-        base_type::accept(v);
-    }
-
-    bool operator==(list9 const & rhs) const
-    {
-        return
-
-            ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
-            ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
-            ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
-            ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
-            ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
-            ref_compare( base_type::a6_, rhs.a6_, 0 ) &&
-            ref_compare( base_type::a7_, rhs.a7_, 0 ) &&
-            ref_compare( base_type::a8_, rhs.a8_, 0 ) &&
-            ref_compare( base_type::a9_, rhs.a9_, 0 );
-    }
-};
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-// bind_t
-
-#ifndef BOOST_NO_VOID_RETURNS
-
-template<class R, class F, class L> class bind_t
-{
-public:
-
-    typedef bind_t this_type;
-
-    bind_t(F f, L const & l): f_(f), l_(l) {}
-
-#define BOOST_BIND_RETURN return
-#include <boost/bind/bind_template.hpp>
-#undef BOOST_BIND_RETURN
-
-};
-
-#else
-
-template<class R> struct bind_t_generator
-{
-
-template<class F, class L> class implementation
-{
-public:
-
-    typedef implementation this_type;
-
-    implementation(F f, L const & l): f_(f), l_(l) {}
-
-#define BOOST_BIND_RETURN return
-#include <boost/bind/bind_template.hpp>
-#undef BOOST_BIND_RETURN
-
-};
-
-};
-
-template<> struct bind_t_generator<void>
-{
-
-template<class F, class L> class implementation
-{
-private:
-
-    typedef void R;
-
-public:
-
-    typedef implementation this_type;
-
-    implementation(F f, L const & l): f_(f), l_(l) {}
-
-#define BOOST_BIND_RETURN
-#include <boost/bind/bind_template.hpp>
-#undef BOOST_BIND_RETURN
-
-};
-
-};
-
-template<class R2, class F, class L> class bind_t: public bind_t_generator<R2>::BOOST_NESTED_TEMPLATE implementation<F, L>
-{
-public:
-
-    bind_t(F f, L const & l): bind_t_generator<R2>::BOOST_NESTED_TEMPLATE implementation<F, L>(f, l) {}
-
-};
-
-#endif
-
-// function_equal
-
-#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-
-// put overloads in _bi, rely on ADL
-
-# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-template<class R, class F, class L> bool function_equal( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b )
-{
-    return a.compare(b);
-}
-
-# else
-
-template<class R, class F, class L> bool function_equal_impl( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b, int )
-{
-    return a.compare(b);
-}
-
-# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-#else // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-
-// put overloads in boost
-
-} // namespace _bi
-
-# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-template<class R, class F, class L> bool function_equal( _bi::bind_t<R, F, L> const & a, _bi::bind_t<R, F, L> const & b )
-{
-    return a.compare(b);
-}
-
-# else
-
-template<class R, class F, class L> bool function_equal_impl( _bi::bind_t<R, F, L> const & a, _bi::bind_t<R, F, L> const & b, int )
-{
-    return a.compare(b);
-}
-
-# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-namespace _bi
-{
-
-#endif // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-
-// add_value
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530)
-
-#if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x582) )
-
-template<class T> struct add_value
-{
-    typedef _bi::value<T> type;
-};
-
-#else
-
-template< class T, int I > struct add_value_2
-{
-    typedef boost::arg<I> type;
-};
-
-template< class T > struct add_value_2< T, 0 >
-{
-    typedef _bi::value< T > type;
-};
-
-template<class T> struct add_value
-{
-    typedef typename add_value_2< T, boost::is_placeholder< T >::value >::type type;
-};
-
-#endif
-
-template<class T> struct add_value< value<T> >
-{
-    typedef _bi::value<T> type;
-};
-
-template<class T> struct add_value< reference_wrapper<T> >
-{
-    typedef reference_wrapper<T> type;
-};
-
-template<int I> struct add_value< arg<I> >
-{
-    typedef boost::arg<I> type;
-};
-
-template<int I> struct add_value< arg<I> (*) () >
-{
-    typedef boost::arg<I> (*type) ();
-};
-
-template<class R, class F, class L> struct add_value< bind_t<R, F, L> >
-{
-    typedef bind_t<R, F, L> type;
-};
-
-#else
-
-template<int I> struct _avt_0;
-
-template<> struct _avt_0<1>
-{
-    template<class T> struct inner
-    {
-        typedef T type;
-    };
-};
-
-template<> struct _avt_0<2>
-{
-    template<class T> struct inner
-    {
-        typedef value<T> type;
-    };
-};
-
-typedef char (&_avt_r1) [1];
-typedef char (&_avt_r2) [2];
-
-template<class T> _avt_r1 _avt_f(value<T>);
-template<class T> _avt_r1 _avt_f(reference_wrapper<T>);
-template<int I> _avt_r1 _avt_f(arg<I>);
-template<int I> _avt_r1 _avt_f(arg<I> (*) ());
-template<class R, class F, class L> _avt_r1 _avt_f(bind_t<R, F, L>);
-
-_avt_r2 _avt_f(...);
-
-template<class T> struct add_value
-{
-    static T t();
-    typedef typename _avt_0<sizeof(_avt_f(t()))>::template inner<T>::type type;
-};
-
-#endif
-
-// list_av_N
-
-template<class A1> struct list_av_1
-{
-    typedef typename add_value<A1>::type B1;
-    typedef list1<B1> type;
-};
-
-template<class A1, class A2> struct list_av_2
-{
-    typedef typename add_value<A1>::type B1;
-    typedef typename add_value<A2>::type B2;
-    typedef list2<B1, B2> type;
-};
-
-template<class A1, class A2, class A3> struct list_av_3
-{
-    typedef typename add_value<A1>::type B1;
-    typedef typename add_value<A2>::type B2;
-    typedef typename add_value<A3>::type B3;
-    typedef list3<B1, B2, B3> type;
-};
-
-template<class A1, class A2, class A3, class A4> struct list_av_4
-{
-    typedef typename add_value<A1>::type B1;
-    typedef typename add_value<A2>::type B2;
-    typedef typename add_value<A3>::type B3;
-    typedef typename add_value<A4>::type B4;
-    typedef list4<B1, B2, B3, B4> type;
-};
-
-template<class A1, class A2, class A3, class A4, class A5> struct list_av_5
-{
-    typedef typename add_value<A1>::type B1;
-    typedef typename add_value<A2>::type B2;
-    typedef typename add_value<A3>::type B3;
-    typedef typename add_value<A4>::type B4;
-    typedef typename add_value<A5>::type B5;
-    typedef list5<B1, B2, B3, B4, B5> type;
-};
-
-template<class A1, class A2, class A3, class A4, class A5, class A6> struct list_av_6
-{
-    typedef typename add_value<A1>::type B1;
-    typedef typename add_value<A2>::type B2;
-    typedef typename add_value<A3>::type B3;
-    typedef typename add_value<A4>::type B4;
-    typedef typename add_value<A5>::type B5;
-    typedef typename add_value<A6>::type B6;
-    typedef list6<B1, B2, B3, B4, B5, B6> type;
-};
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct list_av_7
-{
-    typedef typename add_value<A1>::type B1;
-    typedef typename add_value<A2>::type B2;
-    typedef typename add_value<A3>::type B3;
-    typedef typename add_value<A4>::type B4;
-    typedef typename add_value<A5>::type B5;
-    typedef typename add_value<A6>::type B6;
-    typedef typename add_value<A7>::type B7;
-    typedef list7<B1, B2, B3, B4, B5, B6, B7> type;
-};
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct list_av_8
-{
-    typedef typename add_value<A1>::type B1;
-    typedef typename add_value<A2>::type B2;
-    typedef typename add_value<A3>::type B3;
-    typedef typename add_value<A4>::type B4;
-    typedef typename add_value<A5>::type B5;
-    typedef typename add_value<A6>::type B6;
-    typedef typename add_value<A7>::type B7;
-    typedef typename add_value<A8>::type B8;
-    typedef list8<B1, B2, B3, B4, B5, B6, B7, B8> type;
-};
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> struct list_av_9
-{
-    typedef typename add_value<A1>::type B1;
-    typedef typename add_value<A2>::type B2;
-    typedef typename add_value<A3>::type B3;
-    typedef typename add_value<A4>::type B4;
-    typedef typename add_value<A5>::type B5;
-    typedef typename add_value<A6>::type B6;
-    typedef typename add_value<A7>::type B7;
-    typedef typename add_value<A8>::type B8;
-    typedef typename add_value<A9>::type B9;
-    typedef list9<B1, B2, B3, B4, B5, B6, B7, B8, B9> type;
-};
-
-// operator!
-
-struct logical_not
-{
-    template<class V> bool operator()(V const & v) const { return !v; }
-};
-
-template<class R, class F, class L>
-    bind_t< bool, logical_not, list1< bind_t<R, F, L> > >
-    operator! (bind_t<R, F, L> const & f)
-{
-    typedef list1< bind_t<R, F, L> > list_type;
-    return bind_t<bool, logical_not, list_type> ( logical_not(), list_type(f) );
-}
-
-// relational operators
-
-#define BOOST_BIND_OPERATOR( op, name ) \
-\
-struct name \
-{ \
-    template<class V, class W> bool operator()(V const & v, W const & w) const { return v op w; } \
-}; \
- \
-template<class R, class F, class L, class A2> \
-    bind_t< bool, name, list2< bind_t<R, F, L>, typename add_value<A2>::type > > \
-    operator op (bind_t<R, F, L> const & f, A2 a2) \
-{ \
-    typedef typename add_value<A2>::type B2; \
-    typedef list2< bind_t<R, F, L>, B2> list_type; \
-    return bind_t<bool, name, list_type> ( name(), list_type(f, a2) ); \
-}
-
-BOOST_BIND_OPERATOR( ==, equal )
-BOOST_BIND_OPERATOR( !=, not_equal )
-
-BOOST_BIND_OPERATOR( <, less )
-BOOST_BIND_OPERATOR( <=, less_equal )
-
-BOOST_BIND_OPERATOR( >, greater )
-BOOST_BIND_OPERATOR( >=, greater_equal )
-
-BOOST_BIND_OPERATOR( &&, logical_and )
-BOOST_BIND_OPERATOR( ||, logical_or )
-
-#undef BOOST_BIND_OPERATOR
-
-#if defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3)
-
-// resolve ambiguity with rel_ops
-
-#define BOOST_BIND_OPERATOR( op, name ) \
-\
-template<class R, class F, class L> \
-    bind_t< bool, name, list2< bind_t<R, F, L>, bind_t<R, F, L> > > \
-    operator op (bind_t<R, F, L> const & f, bind_t<R, F, L> const & g) \
-{ \
-    typedef list2< bind_t<R, F, L>, bind_t<R, F, L> > list_type; \
-    return bind_t<bool, name, list_type> ( name(), list_type(f, g) ); \
-}
-
-BOOST_BIND_OPERATOR( !=, not_equal )
-BOOST_BIND_OPERATOR( <=, less_equal )
-BOOST_BIND_OPERATOR( >, greater )
-BOOST_BIND_OPERATOR( >=, greater_equal )
-
-#endif
-
-// visit_each, ADL
-
-#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ ) \
-   && !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
-
-template<class V, class T> void visit_each( V & v, value<T> const & t, int )
-{
-    using boost::visit_each;
-    BOOST_BIND_VISIT_EACH( v, t.get(), 0 );
-}
-
-template<class V, class R, class F, class L> void visit_each( V & v, bind_t<R, F, L> const & t, int )
-{
-    t.accept( v );
-}
-
-#endif
-
-} // namespace _bi
-
-// visit_each, no ADL
-
-#if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( __BORLANDC__ ) \
-  || (defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
-
-template<class V, class T> void visit_each( V & v, _bi::value<T> const & t, int )
-{
-    BOOST_BIND_VISIT_EACH( v, t.get(), 0 );
-}
-
-template<class V, class R, class F, class L> void visit_each( V & v, _bi::bind_t<R, F, L> const & t, int )
-{
-    t.accept( v );
-}
-
-#endif
-
-// is_bind_expression
-
-template< class T > struct is_bind_expression
-{
-    enum _vt { value = 0 };
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > >
-{
-    enum _vt { value = 1 };
-};
-
-#endif
-
-// bind
-
-#ifndef BOOST_BIND
-#define BOOST_BIND bind
-#endif
-
-// generic function objects
-
-template<class R, class F>
-    _bi::bind_t<R, F, _bi::list0>
-    BOOST_BIND(F f)
-{
-    typedef _bi::list0 list_type;
-    return _bi::bind_t<R, F, list_type> (f, list_type());
-}
-
-template<class R, class F, class A1>
-    _bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(F f, A1 a1)
-{
-    typedef typename _bi::list_av_1<A1>::type list_type;
-    return _bi::bind_t<R, F, list_type> (f, list_type(a1));
-}
-
-template<class R, class F, class A1, class A2>
-    _bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2)
-{
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;
-    return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
-}
-
-template<class R, class F, class A1, class A2, class A3>
-    _bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)
-{
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
-}
-
-template<class R, class F, class A1, class A2, class A3, class A4>
-    _bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)
-{
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
-}
-
-template<class R, class F, class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
-{
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
-}
-
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
-{
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
-}
-
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
-{
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
-}
-
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
-{
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
-}
-
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
-{
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
-}
-
-// generic function objects, alternative syntax
-
-template<class R, class F>
-    _bi::bind_t<R, F, _bi::list0>
-    BOOST_BIND(boost::type<R>, F f)
-{
-    typedef _bi::list0 list_type;
-    return _bi::bind_t<R, F, list_type> (f, list_type());
-}
-
-template<class R, class F, class A1>
-    _bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(boost::type<R>, F f, A1 a1)
-{
-    typedef typename _bi::list_av_1<A1>::type list_type;
-    return _bi::bind_t<R, F, list_type> (f, list_type(a1));
-}
-
-template<class R, class F, class A1, class A2>
-    _bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2)
-{
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;
-    return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
-}
-
-template<class R, class F, class A1, class A2, class A3>
-    _bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3)
-{
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
-}
-
-template<class R, class F, class A1, class A2, class A3, class A4>
-    _bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4)
-{
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
-}
-
-template<class R, class F, class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
-{
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
-}
-
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
-{
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
-}
-
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
-{
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
-}
-
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
-{
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
-}
-
-template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
-{
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
-}
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-
-// adaptable function objects
-
-template<class F>
-    _bi::bind_t<_bi::unspecified, F, _bi::list0>
-    BOOST_BIND(F f)
-{
-    typedef _bi::list0 list_type;
-    return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type());
-}
-
-template<class F, class A1>
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(F f, A1 a1)
-{
-    typedef typename _bi::list_av_1<A1>::type list_type;
-    return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1));
-}
-
-template<class F, class A1, class A2>
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2)
-{
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;
-    return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1, a2));
-}
-
-template<class F, class A1, class A2, class A3>
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)
-{
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3));
-}
-
-template<class F, class A1, class A2, class A3, class A4>
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)
-{
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4));
-}
-
-template<class F, class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
-{
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
-}
-
-template<class F, class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
-{
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
-}
-
-template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
-{
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
-}
-
-template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
-{
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
-}
-
-template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
-{
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
-    return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
-}
-
-#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-
-// function pointers
-
-#define BOOST_BIND_CC
-#define BOOST_BIND_ST
-
-#include <boost/bind/bind_cc.hpp>
-
-#undef BOOST_BIND_CC
-#undef BOOST_BIND_ST
-
-#ifdef BOOST_BIND_ENABLE_STDCALL
-
-#define BOOST_BIND_CC __stdcall
-#define BOOST_BIND_ST
-
-#include <boost/bind/bind_cc.hpp>
-
-#undef BOOST_BIND_CC
-#undef BOOST_BIND_ST
-
-#endif
-
-#ifdef BOOST_BIND_ENABLE_FASTCALL
-
-#define BOOST_BIND_CC __fastcall
-#define BOOST_BIND_ST
-
-#include <boost/bind/bind_cc.hpp>
-
-#undef BOOST_BIND_CC
-#undef BOOST_BIND_ST
-
-#endif
-
-#ifdef BOOST_BIND_ENABLE_PASCAL
-
-#define BOOST_BIND_ST pascal
-#define BOOST_BIND_CC
-
-#include <boost/bind/bind_cc.hpp>
-
-#undef BOOST_BIND_ST
-#undef BOOST_BIND_CC
-
-#endif
-
-// member function pointers
-
-#define BOOST_BIND_MF_NAME(X) X
-#define BOOST_BIND_MF_CC
-
-#include <boost/bind/bind_mf_cc.hpp>
-#include <boost/bind/bind_mf2_cc.hpp>
-
-#undef BOOST_BIND_MF_NAME
-#undef BOOST_BIND_MF_CC
-
-#ifdef BOOST_MEM_FN_ENABLE_CDECL
-
-#define BOOST_BIND_MF_NAME(X) X##_cdecl
-#define BOOST_BIND_MF_CC __cdecl
-
-#include <boost/bind/bind_mf_cc.hpp>
-#include <boost/bind/bind_mf2_cc.hpp>
-
-#undef BOOST_BIND_MF_NAME
-#undef BOOST_BIND_MF_CC
-
-#endif
-
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL
-
-#define BOOST_BIND_MF_NAME(X) X##_stdcall
-#define BOOST_BIND_MF_CC __stdcall
-
-#include <boost/bind/bind_mf_cc.hpp>
-#include <boost/bind/bind_mf2_cc.hpp>
-
-#undef BOOST_BIND_MF_NAME
-#undef BOOST_BIND_MF_CC
-
-#endif
-
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
-
-#define BOOST_BIND_MF_NAME(X) X##_fastcall
-#define BOOST_BIND_MF_CC __fastcall
-
-#include <boost/bind/bind_mf_cc.hpp>
-#include <boost/bind/bind_mf2_cc.hpp>
-
-#undef BOOST_BIND_MF_NAME
-#undef BOOST_BIND_MF_CC
-
-#endif
-
-// data member pointers
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
-    || ( defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x620 ) ) )
-
-template<class R, class T, class A1>
-_bi::bind_t< R, _mfi::dm<R, T>, typename _bi::list_av_1<A1>::type >
-    BOOST_BIND(R T::*f, A1 a1)
-{
-    typedef _mfi::dm<R, T> F;
-    typedef typename _bi::list_av_1<A1>::type list_type;
-    return _bi::bind_t<R, F, list_type>( F(f), list_type(a1) );
-}
-
-#else
-
-namespace _bi
-{
-
-template< class Pm, int I > struct add_cref;
-
-template< class M, class T > struct add_cref< M T::*, 0 >
-{
-    typedef M type;
-};
-
-template< class M, class T > struct add_cref< M T::*, 1 >
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4180)
-#endif
-    typedef M const & type;
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-};
-
-template< class R, class T > struct add_cref< R (T::*) (), 1 >
-{
-    typedef void type;
-};
-
-#if !( defined(__IBMCPP__) && BOOST_WORKAROUND( __IBMCPP__, BOOST_TESTED_AT(600) ) )
-
-template< class R, class T > struct add_cref< R (T::*) () const, 1 >
-{
-    typedef void type;
-};
-
-#endif // __IBMCPP__
-
-template<class R> struct isref
-{
-    enum value_type { value = 0 };
-};
-
-template<class R> struct isref< R& >
-{
-    enum value_type { value = 1 };
-};
-
-template<class R> struct isref< R* >
-{
-    enum value_type { value = 1 };
-};
-
-template<class Pm, class A1> struct dm_result
-{
-    typedef typename add_cref< Pm, 1 >::type type;
-};
-
-template<class Pm, class R, class F, class L> struct dm_result< Pm, bind_t<R, F, L> >
-{
-    typedef typename bind_t<R, F, L>::result_type result_type;
-    typedef typename add_cref< Pm, isref< result_type >::value >::type type;
-};
-
-} // namespace _bi
-
-template< class A1, class M, class T >
-
-_bi::bind_t<
-    typename _bi::dm_result< M T::*, A1 >::type,
-    _mfi::dm<M, T>,
-    typename _bi::list_av_1<A1>::type
->
-
-BOOST_BIND( M T::*f, A1 a1 )
-{
-    typedef typename _bi::dm_result< M T::*, A1 >::type result_type;
-    typedef _mfi::dm<M, T> F;
-    typedef typename _bi::list_av_1<A1>::type list_type;
-    return _bi::bind_t< result_type, F, list_type >( F( f ), list_type( a1 ) );
-}
-
-#endif
-
-} // namespace boost
-
-#ifndef BOOST_BIND_NO_PLACEHOLDERS
-
-# include <boost/bind/placeholders.hpp>
-
-#endif
-
-#ifdef BOOST_MSVC
-# pragma warning(default: 4512) // assignment operator could not be generated
-# pragma warning(pop)
-#endif
-
-#endif // #ifndef BOOST_BIND_BIND_HPP_INCLUDED
diff --git a/SRC/Boost/boost/bind/bind_cc.hpp b/SRC/Boost/boost/bind/bind_cc.hpp
deleted file mode 100755
index 9d8ca21..0000000
--- a/SRC/Boost/boost/bind/bind_cc.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-//
-//  bind/bind_cc.hpp - support for different calling conventions
-//
-//  Do not include this header directly.
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/bind/bind.html for documentation.
-//
-
-template<class R>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (), _bi::list0>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) ())
-{
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) ();
-    typedef _bi::list0 list_type;
-    return _bi::bind_t<R, F, list_type> (f, list_type());
-}
-
-template<class R, class B1, class A1>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1), typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1), A1 a1)
-{
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1);
-    typedef typename _bi::list_av_1<A1>::type list_type;
-    return _bi::bind_t<R, F, list_type> (f, list_type(a1));
-}
-
-template<class R, class B1, class B2, class A1, class A2>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2), typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2), A1 a1, A2 a2)
-{
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2);
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;
-    return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
-}
-
-template<class R,
-    class B1, class B2, class B3,
-    class A1, class A2, class A3>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3), typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3), A1 a1, A2 a2, A3 a3)
-{
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3);
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
-}
-
-template<class R,
-    class B1, class B2, class B3, class B4,
-    class A1, class A2, class A3, class A4>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4), typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4)
-{
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4);
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
-}
-
-template<class R,
-    class B1, class B2, class B3, class B4, class B5,
-    class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5), typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
-{
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5);
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
-}
-
-template<class R,
-    class B1, class B2, class B3, class B4, class B5, class B6,
-    class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6), typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
-{
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6);
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
-}
-
-template<class R,
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7), typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
-{
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7);
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
-}
-
-template<class R,
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7, B8), typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
-{
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8);
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
-}
-
-template<class R,
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8, class B9,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7, B8, B9), typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8, B9), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
-{
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8, B9);
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
-    return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
-}
diff --git a/SRC/Boost/boost/bind/bind_mf2_cc.hpp b/SRC/Boost/boost/bind/bind_mf2_cc.hpp
deleted file mode 100755
index f3b90c9..0000000
--- a/SRC/Boost/boost/bind/bind_mf2_cc.hpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//
-//  bind/bind_mf2_cc.hpp - member functions, type<> syntax
-//
-//  Do not include this header directly.
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//  Copyright (c) 2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-//  See http://www.boost.org/libs/bind/bind.html for documentation.
-//
-
-// 0
-
-template<class Rt2, class R, class T,
-    class A1>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (), A1 a1)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;
-    typedef typename _bi::list_av_1<A1>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));
-}
-
-template<class Rt2, class R, class T,
-    class A1>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) () const, A1 a1)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;
-    typedef typename _bi::list_av_1<A1>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));
-}
-
-// 1
-
-template<class Rt2, class R, class T,
-    class B1,
-    class A1, class A2>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));
-}
-
-template<class Rt2, class R, class T,
-    class B1,
-    class A1, class A2>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));
-}
-
-// 2
-
-template<class Rt2, class R, class T,
-    class B1, class B2,
-    class A1, class A2, class A3>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));
-}
-
-template<class Rt2, class R, class T,
-    class B1, class B2,
-    class A1, class A2, class A3>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));
-}
-
-// 3
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3,
-    class A1, class A2, class A3, class A4>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));
-}
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3,
-    class A1, class A2, class A3, class A4>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));
-}
-
-// 4
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3, class B4,
-    class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
-}
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3, class B4,
-    class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
-}
-
-// 5
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3, class B4, class B5,
-    class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
-}
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3, class B4, class B5,
-    class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
-}
-
-// 6
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3, class B4, class B5, class B6,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
-}
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3, class B4, class B5, class B6,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
-}
-
-// 7
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
-}
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
-}
-
-// 8
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
-}
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
-    return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
-}
diff --git a/SRC/Boost/boost/bind/bind_mf_cc.hpp b/SRC/Boost/boost/bind/bind_mf_cc.hpp
deleted file mode 100755
index 49f43a1..0000000
--- a/SRC/Boost/boost/bind/bind_mf_cc.hpp
+++ /dev/null
@@ -1,227 +0,0 @@
-//
-//  bind/bind_mf_cc.hpp - support for different calling conventions
-//
-//  Do not include this header directly.
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/bind/bind.html for documentation.
-//
-
-// 0
-
-template<class R, class T,
-    class A1>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (), A1 a1)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;
-    typedef typename _bi::list_av_1<A1>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));
-}
-
-template<class R, class T,
-    class A1>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const, A1 a1)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;
-    typedef typename _bi::list_av_1<A1>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));
-}
-
-// 1
-
-template<class R, class T,
-    class B1,
-    class A1, class A2>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));
-}
-
-template<class R, class T,
-    class B1,
-    class A1, class A2>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;
-    typedef typename _bi::list_av_2<A1, A2>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));
-}
-
-// 2
-
-template<class R, class T,
-    class B1, class B2,
-    class A1, class A2, class A3>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));
-}
-
-template<class R, class T,
-    class B1, class B2,
-    class A1, class A2, class A3>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;
-    typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));
-}
-
-// 3
-
-template<class R, class T,
-    class B1, class B2, class B3,
-    class A1, class A2, class A3, class A4>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));
-}
-
-template<class R, class T,
-    class B1, class B2, class B3,
-    class A1, class A2, class A3, class A4>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;
-    typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));
-}
-
-// 4
-
-template<class R, class T,
-    class B1, class B2, class B3, class B4,
-    class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
-}
-
-template<class R, class T,
-    class B1, class B2, class B3, class B4,
-    class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;
-    typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
-}
-
-// 5
-
-template<class R, class T,
-    class B1, class B2, class B3, class B4, class B5,
-    class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
-}
-
-template<class R, class T,
-    class B1, class B2, class B3, class B4, class B5,
-    class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;
-    typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
-}
-
-// 6
-
-template<class R, class T,
-    class B1, class B2, class B3, class B4, class B5, class B6,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
-}
-
-template<class R, class T,
-    class B1, class B2, class B3, class B4, class B5, class B6,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;
-    typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
-}
-
-// 7
-
-template<class R, class T,
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
-}
-
-template<class R, class T,
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
-    typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
-}
-
-// 8
-
-template<class R, class T,
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
-}
-
-template<class R, class T,
-    class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
-    class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
-{
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
-    typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
-    return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
-}
diff --git a/SRC/Boost/boost/bind/bind_template.hpp b/SRC/Boost/boost/bind/bind_template.hpp
deleted file mode 100755
index d394a9b..0000000
--- a/SRC/Boost/boost/bind/bind_template.hpp
+++ /dev/null
@@ -1,345 +0,0 @@
-//
-//  bind/bind_template.hpp
-//
-//  Do not include this header directly.
-//
-//  Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/bind/bind.html for documentation.
-//
-
-    typedef typename result_traits<R, F>::type result_type;
-
-    result_type operator()()
-    {
-        list0 a;
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    result_type operator()() const
-    {
-        list0 a;
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1> result_type operator()(A1 & a1)
-    {
-        list1<A1 &> a(a1);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1> result_type operator()(A1 & a1) const
-    {
-        list1<A1 &> a(a1);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1> result_type operator()(A1 const & a1)
-    {
-        list1<A1 const &> a(a1);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1> result_type operator()(A1 const & a1) const
-    {
-        list1<A1 const &> a(a1);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#endif
-
-    template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2)
-    {
-        list2<A1 &, A2 &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2) const
-    {
-        list2<A1 &, A2 &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2)
-    {
-        list2<A1 const &, A2 &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2) const
-    {
-        list2<A1 const &, A2 &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-
-    template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2)
-    {
-        list2<A1 &, A2 const &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2) const
-    {
-        list2<A1 &, A2 const &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-
-    template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2)
-    {
-        list2<A1 const &, A2 const &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2) const
-    {
-        list2<A1 const &, A2 const &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3)
-    {
-        list3<A1 &, A2 &, A3 &> a(a1, a2, a3);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3) const
-    {
-        list3<A1 &, A2 &, A3 &> a(a1, a2, a3);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3)
-    {
-        list3<A1 const &, A2 const &, A3 const &> a(a1, a2, a3);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const
-    {
-        list3<A1 const &, A2 const &, A3 const &> a(a1, a2, a3);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4)
-    {
-        list4<A1 &, A2 &, A3 &, A4 &> a(a1, a2, a3, a4);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const
-    {
-        list4<A1 &, A2 &, A3 &, A4 &> a(a1, a2, a3, a4);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4)
-    {
-        list4<A1 const &, A2 const &, A3 const &, A4 const &> a(a1, a2, a3, a4);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const
-    {
-        list4<A1 const &, A2 const &, A3 const &, A4 const &> a(a1, a2, a3, a4);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5)
-    {
-        list5<A1 &, A2 &, A3 &, A4 &, A5 &> a(a1, a2, a3, a4, a5);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const
-    {
-        list5<A1 &, A2 &, A3 &, A4 &, A5 &> a(a1, a2, a3, a4, a5);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5)
-    {
-        list5<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &> a(a1, a2, a3, a4, a5);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const
-    {
-        list5<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &> a(a1, a2, a3, a4, a5);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6)
-    {
-        list6<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &> a(a1, a2, a3, a4, a5, a6);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const
-    {
-        list6<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &> a(a1, a2, a3, a4, a5, a6);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6)
-    {
-        list6<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &> a(a1, a2, a3, a4, a5, a6);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const
-    {
-        list6<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &> a(a1, a2, a3, a4, a5, a6);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7)
-    {
-        list7<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &> a(a1, a2, a3, a4, a5, a6, a7);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const
-    {
-        list7<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &> a(a1, a2, a3, a4, a5, a6, a7);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7)
-    {
-        list7<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &> a(a1, a2, a3, a4, a5, a6, a7);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) const
-    {
-        list7<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &> a(a1, a2, a3, a4, a5, a6, a7);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8)
-    {
-        list8<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &> a(a1, a2, a3, a4, a5, a6, a7, a8);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const
-    {
-        list8<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &> a(a1, a2, a3, a4, a5, a6, a7, a8);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8)
-    {
-        list8<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &> a(a1, a2, a3, a4, a5, a6, a7, a8);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) const
-    {
-        list8<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &> a(a1, a2, a3, a4, a5, a6, a7, a8);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9)
-    {
-        list9<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &, A9 &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const
-    {
-        list9<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &, A9 &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9)
-    {
-        list9<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &, A9 const &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) const
-    {
-        list9<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &, A9 const &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-#endif
-
-    template<class A> result_type eval(A & a)
-    {
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A> result_type eval(A & a) const
-    {
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class V> void accept(V & v) const
-    {
-#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ )
-
-        using boost::visit_each;
-
-#endif
-        BOOST_BIND_VISIT_EACH(v, f_, 0);
-        l_.accept(v);
-    }
-
-    bool compare(this_type const & rhs) const
-    {
-        return ref_compare(f_, rhs.f_, 0) && l_ == rhs.l_;
-    }
-
-private:
-
-    F f_;
-    L l_;
diff --git a/SRC/Boost/boost/bind/make_adaptable.hpp b/SRC/Boost/boost/bind/make_adaptable.hpp
deleted file mode 100755
index 06ecccf..0000000
--- a/SRC/Boost/boost/bind/make_adaptable.hpp
+++ /dev/null
@@ -1,187 +0,0 @@
-#ifndef BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED
-#define BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED
-
-//
-//  make_adaptable.hpp
-//
-//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-namespace boost
-{
-
-namespace _bi
-{
-
-template<class R, class F> class af0
-{
-public:
-
-    typedef R result_type;
-
-    explicit af0(F f): f_(f)
-    {
-    }
-
-    result_type operator()()
-    {
-        return f_();
-    }
-
-    result_type operator()() const
-    {
-        return f_();
-    }
-
-private:
-
-    F f_;
-};
-
-template<class R, class A1, class F> class af1
-{
-public:
-
-    typedef R result_type;
-    typedef A1 argument_type;
-    typedef A1 arg1_type;
-
-    explicit af1(F f): f_(f)
-    {
-    }
-
-    result_type operator()(A1 a1)
-    {
-        return f_(a1);
-    }
-
-    result_type operator()(A1 a1) const
-    {
-        return f_(a1);
-    }
-
-private:
-
-    F f_;
-};
-
-template<class R, class A1, class A2, class F> class af2
-{
-public:
-
-    typedef R result_type;
-    typedef A1 first_argument_type;
-    typedef A2 second_argument_type;
-    typedef A1 arg1_type;
-    typedef A2 arg2_type;
-
-    explicit af2(F f): f_(f)
-    {
-    }
-
-    result_type operator()(A1 a1, A2 a2)
-    {
-        return f_(a1, a2);
-    }
-
-    result_type operator()(A1 a1, A2 a2) const
-    {
-        return f_(a1, a2);
-    }
-
-private:
-
-    F f_;
-};
-
-template<class R, class A1, class A2, class A3, class F> class af3
-{
-public:
-
-    typedef R result_type;
-    typedef A1 arg1_type;
-    typedef A2 arg2_type;
-    typedef A3 arg3_type;
-
-    explicit af3(F f): f_(f)
-    {
-    }
-
-    result_type operator()(A1 a1, A2 a2, A3 a3)
-    {
-        return f_(a1, a2, a3);
-    }
-
-    result_type operator()(A1 a1, A2 a2, A3 a3) const
-    {
-        return f_(a1, a2, a3);
-    }
-
-private:
-
-    F f_;
-};
-
-template<class R, class A1, class A2, class A3, class A4, class F> class af4
-{
-public:
-
-    typedef R result_type;
-    typedef A1 arg1_type;
-    typedef A2 arg2_type;
-    typedef A3 arg3_type;
-    typedef A4 arg4_type;
-
-    explicit af4(F f): f_(f)
-    {
-    }
-
-    result_type operator()(A1 a1, A2 a2, A3 a3, A4 a4)
-    {
-        return f_(a1, a2, a3, a4);
-    }
-
-    result_type operator()(A1 a1, A2 a2, A3 a3, A4 a4) const
-    {
-        return f_(a1, a2, a3, a4);
-    }
-
-private:
-
-    F f_;
-};
-
-} // namespace _bi
-
-template<class R, class F> _bi::af0<R, F> make_adaptable(F f)
-{
-    return _bi::af0<R, F>(f);
-}
-
-template<class R, class A1, class F> _bi::af1<R, A1, F> make_adaptable(F f)
-{
-    return _bi::af1<R, A1, F>(f);
-}
-
-template<class R, class A1, class A2, class F> _bi::af2<R, A1, A2, F> make_adaptable(F f)
-{
-    return _bi::af2<R, A1, A2, F>(f);
-}
-
-template<class R, class A1, class A2, class A3, class F> _bi::af3<R, A1, A2, A3, F> make_adaptable(F f)
-{
-    return _bi::af3<R, A1, A2, A3, F>(f);
-}
-
-template<class R, class A1, class A2, class A3, class A4, class F> _bi::af4<R, A1, A2, A3, A4, F> make_adaptable(F f)
-{
-    return _bi::af4<R, A1, A2, A3, A4, F>(f);
-}
-
-} // namespace boost
-
-#endif // #ifndef BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/bind/mem_fn.hpp b/SRC/Boost/boost/bind/mem_fn.hpp
deleted file mode 100755
index 86c61e4..0000000
--- a/SRC/Boost/boost/bind/mem_fn.hpp
+++ /dev/null
@@ -1,389 +0,0 @@
-#ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED
-#define BOOST_BIND_MEM_FN_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  mem_fn.hpp - a generalization of std::mem_fun[_ref]
-//
-//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-//  Copyright (c) 2001 David Abrahams
-//  Copyright (c) 2003-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.
-//
-
-#include <boost/config.hpp>
-#include <boost/get_pointer.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost
-{
-
-#if defined(BOOST_NO_VOID_RETURNS)
-
-#define BOOST_MEM_FN_CLASS_F , class F
-#define BOOST_MEM_FN_TYPEDEF(X)
-
-namespace _mfi // mem_fun_impl
-{
-
-template<class V> struct mf
-{
-
-#define BOOST_MEM_FN_RETURN return
-
-#define BOOST_MEM_FN_NAME(X) inner_##X
-#define BOOST_MEM_FN_CC
-
-#include <boost/bind/mem_fn_template.hpp>
-
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
-
-#ifdef BOOST_MEM_FN_ENABLE_CDECL
-
-#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl
-#define BOOST_MEM_FN_CC __cdecl
-
-#include <boost/bind/mem_fn_template.hpp>
-
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
-
-#endif
-
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL
-
-#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall
-#define BOOST_MEM_FN_CC __stdcall
-
-#include <boost/bind/mem_fn_template.hpp>
-
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
-
-#endif
-
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
-
-#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall
-#define BOOST_MEM_FN_CC __fastcall
-
-#include <boost/bind/mem_fn_template.hpp>
-
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
-
-#endif
-
-#undef BOOST_MEM_FN_RETURN
-
-}; // struct mf<V>
-
-template<> struct mf<void>
-{
-
-#define BOOST_MEM_FN_RETURN
-
-#define BOOST_MEM_FN_NAME(X) inner_##X
-#define BOOST_MEM_FN_CC
-
-#include <boost/bind/mem_fn_template.hpp>
-
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
-
-#ifdef BOOST_MEM_FN_ENABLE_CDECL
-
-#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl
-#define BOOST_MEM_FN_CC __cdecl
-
-#include <boost/bind/mem_fn_template.hpp>
-
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
-
-#endif
-
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL
-
-#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall
-#define BOOST_MEM_FN_CC __stdcall
-
-#include <boost/bind/mem_fn_template.hpp>
-
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
-
-#endif
-
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
-
-#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall
-#define BOOST_MEM_FN_CC __fastcall
-
-#include <boost/bind/mem_fn_template.hpp>
-
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
-
-#endif
-
-#undef BOOST_MEM_FN_RETURN
-
-}; // struct mf<void>
-
-#undef BOOST_MEM_FN_CLASS_F
-#undef BOOST_MEM_FN_TYPEDEF_F
-
-#define BOOST_MEM_FN_NAME(X) X
-#define BOOST_MEM_FN_NAME2(X) inner_##X
-#define BOOST_MEM_FN_CC
-
-#include <boost/bind/mem_fn_vw.hpp>
-
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_NAME2
-#undef BOOST_MEM_FN_CC
-
-#ifdef BOOST_MEM_FN_ENABLE_CDECL
-
-#define BOOST_MEM_FN_NAME(X) X##_cdecl
-#define BOOST_MEM_FN_NAME2(X) inner_##X##_cdecl
-#define BOOST_MEM_FN_CC __cdecl
-
-#include <boost/bind/mem_fn_vw.hpp>
-
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_NAME2
-#undef BOOST_MEM_FN_CC
-
-#endif
-
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL
-
-#define BOOST_MEM_FN_NAME(X) X##_stdcall
-#define BOOST_MEM_FN_NAME2(X) inner_##X##_stdcall
-#define BOOST_MEM_FN_CC __stdcall
-
-#include <boost/bind/mem_fn_vw.hpp>
-
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_NAME2
-#undef BOOST_MEM_FN_CC
-
-#endif
-
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
-
-#define BOOST_MEM_FN_NAME(X) X##_fastcall
-#define BOOST_MEM_FN_NAME2(X) inner_##X##_fastcall
-#define BOOST_MEM_FN_CC __fastcall
-
-#include <boost/bind/mem_fn_vw.hpp>
-
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_NAME2
-#undef BOOST_MEM_FN_CC
-
-#endif
-
-} // namespace _mfi
-
-#else // #ifdef BOOST_NO_VOID_RETURNS
-
-#define BOOST_MEM_FN_CLASS_F
-#define BOOST_MEM_FN_TYPEDEF(X) typedef X;
-
-namespace _mfi
-{
-
-#define BOOST_MEM_FN_RETURN return
-
-#define BOOST_MEM_FN_NAME(X) X
-#define BOOST_MEM_FN_CC
-
-#include <boost/bind/mem_fn_template.hpp>
-
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
-
-#ifdef BOOST_MEM_FN_ENABLE_CDECL
-
-#define BOOST_MEM_FN_NAME(X) X##_cdecl
-#define BOOST_MEM_FN_CC __cdecl
-
-#include <boost/bind/mem_fn_template.hpp>
-
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
-
-#endif
-
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL
-
-#define BOOST_MEM_FN_NAME(X) X##_stdcall
-#define BOOST_MEM_FN_CC __stdcall
-
-#include <boost/bind/mem_fn_template.hpp>
-
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
-
-#endif
-
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
-
-#define BOOST_MEM_FN_NAME(X) X##_fastcall
-#define BOOST_MEM_FN_CC __fastcall
-
-#include <boost/bind/mem_fn_template.hpp>
-
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
-
-#endif
-
-#undef BOOST_MEM_FN_RETURN
-
-} // namespace _mfi
-
-#undef BOOST_MEM_FN_CLASS_F
-#undef BOOST_MEM_FN_TYPEDEF
-
-#endif // #ifdef BOOST_NO_VOID_RETURNS
-
-#define BOOST_MEM_FN_NAME(X) X
-#define BOOST_MEM_FN_CC
-
-#include <boost/bind/mem_fn_cc.hpp>
-
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_CC
-
-#ifdef BOOST_MEM_FN_ENABLE_CDECL
-
-#define BOOST_MEM_FN_NAME(X) X##_cdecl
-#define BOOST_MEM_FN_CC __cdecl
-
-#include <boost/bind/mem_fn_cc.hpp>
-
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_CC
-
-#endif
-
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL
-
-#define BOOST_MEM_FN_NAME(X) X##_stdcall
-#define BOOST_MEM_FN_CC __stdcall
-
-#include <boost/bind/mem_fn_cc.hpp>
-
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_CC
-
-#endif
-
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
-
-#define BOOST_MEM_FN_NAME(X) X##_fastcall
-#define BOOST_MEM_FN_CC __fastcall
-
-#include <boost/bind/mem_fn_cc.hpp>
-
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_CC
-
-#endif
-
-// data member support
-
-namespace _mfi
-{
-
-template<class R, class T> class dm
-{
-public:
-
-    typedef R const & result_type;
-    typedef T const * argument_type;
-
-private:
-    
-    typedef R (T::*F);
-    F f_;
-
-    template<class U> R const & call(U & u, T const *) const
-    {
-        return (u.*f_);
-    }
-
-    template<class U> R const & call(U & u, void const *) const
-    {
-        return (get_pointer(u)->*f_);
-    }
-
-public:
-    
-    explicit dm(F f): f_(f) {}
-
-    R & operator()(T * p) const
-    {
-        return (p->*f_);
-    }
-
-    R const & operator()(T const * p) const
-    {
-        return (p->*f_);
-    }
-
-    template<class U> R const & operator()(U const & u) const
-    {
-        return call(u, &u);
-    }
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__MWERKS__, < 0x3200)
-
-    R & operator()(T & t) const
-    {
-        return (t.*f_);
-    }
-
-    R const & operator()(T const & t) const
-    {
-        return (t.*f_);
-    }
-
-#endif
-
-    bool operator==(dm const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(dm const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-} // namespace _mfi
-
-template<class R, class T> _mfi::dm<R, T> mem_fn(R T::*f)
-{
-    return _mfi::dm<R, T>(f);
-}
-
-} // namespace boost
-
-#endif // #ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED
diff --git a/SRC/Boost/boost/bind/mem_fn_cc.hpp b/SRC/Boost/boost/bind/mem_fn_cc.hpp
deleted file mode 100755
index afc35bf..0000000
--- a/SRC/Boost/boost/bind/mem_fn_cc.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-//
-//  bind/mem_fn_cc.hpp - support for different calling conventions
-//
-//  Do not include this header directly.
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.
-//
-
-template<class R, class T> _mfi::BOOST_MEM_FN_NAME(mf0)<R, T> mem_fn(R (BOOST_MEM_FN_CC T::*f) ())
-{
-    return _mfi::BOOST_MEM_FN_NAME(mf0)<R, T>(f);
-}
-
-template<class R, class T> _mfi::BOOST_MEM_FN_NAME(cmf0)<R, T> mem_fn(R (BOOST_MEM_FN_CC T::*f) () const)
-{
-    return _mfi::BOOST_MEM_FN_NAME(cmf0)<R, T>(f);
-}
-
-template<class R, class T, class A1> _mfi::BOOST_MEM_FN_NAME(mf1)<R, T, A1> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1))
-{
-    return _mfi::BOOST_MEM_FN_NAME(mf1)<R, T, A1>(f);
-}
-
-template<class R, class T, class A1> _mfi::BOOST_MEM_FN_NAME(cmf1)<R, T, A1> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1) const)
-{
-    return _mfi::BOOST_MEM_FN_NAME(cmf1)<R, T, A1>(f);
-}
-
-template<class R, class T, class A1, class A2> _mfi::BOOST_MEM_FN_NAME(mf2)<R, T, A1, A2> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2))
-{
-    return _mfi::BOOST_MEM_FN_NAME(mf2)<R, T, A1, A2>(f);
-}
-
-template<class R, class T, class A1, class A2> _mfi::BOOST_MEM_FN_NAME(cmf2)<R, T, A1, A2> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2) const)
-{
-    return _mfi::BOOST_MEM_FN_NAME(cmf2)<R, T, A1, A2>(f);
-}
-
-template<class R, class T, class A1, class A2, class A3> _mfi::BOOST_MEM_FN_NAME(mf3)<R, T, A1, A2, A3> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3))
-{
-    return _mfi::BOOST_MEM_FN_NAME(mf3)<R, T, A1, A2, A3>(f);
-}
-
-template<class R, class T, class A1, class A2, class A3> _mfi::BOOST_MEM_FN_NAME(cmf3)<R, T, A1, A2, A3> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3) const)
-{
-    return _mfi::BOOST_MEM_FN_NAME(cmf3)<R, T, A1, A2, A3>(f);
-}
-
-template<class R, class T, class A1, class A2, class A3, class A4> _mfi::BOOST_MEM_FN_NAME(mf4)<R, T, A1, A2, A3, A4> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4))
-{
-    return _mfi::BOOST_MEM_FN_NAME(mf4)<R, T, A1, A2, A3, A4>(f);
-}
-
-template<class R, class T, class A1, class A2, class A3, class A4> _mfi::BOOST_MEM_FN_NAME(cmf4)<R, T, A1, A2, A3, A4> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4) const)
-{
-    return _mfi::BOOST_MEM_FN_NAME(cmf4)<R, T, A1, A2, A3, A4>(f);
-}
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5> _mfi::BOOST_MEM_FN_NAME(mf5)<R, T, A1, A2, A3, A4, A5> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5))
-{
-    return _mfi::BOOST_MEM_FN_NAME(mf5)<R, T, A1, A2, A3, A4, A5>(f);
-}
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5> _mfi::BOOST_MEM_FN_NAME(cmf5)<R, T, A1, A2, A3, A4, A5> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5) const)
-{
-    return _mfi::BOOST_MEM_FN_NAME(cmf5)<R, T, A1, A2, A3, A4, A5>(f);
-}
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> _mfi::BOOST_MEM_FN_NAME(mf6)<R, T, A1, A2, A3, A4, A5, A6> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6))
-{
-    return _mfi::BOOST_MEM_FN_NAME(mf6)<R, T, A1, A2, A3, A4, A5, A6>(f);
-}
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> _mfi::BOOST_MEM_FN_NAME(cmf6)<R, T, A1, A2, A3, A4, A5, A6> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6) const)
-{
-    return _mfi::BOOST_MEM_FN_NAME(cmf6)<R, T, A1, A2, A3, A4, A5, A6>(f);
-}
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> _mfi::BOOST_MEM_FN_NAME(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7))
-{
-    return _mfi::BOOST_MEM_FN_NAME(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7>(f);
-}
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> _mfi::BOOST_MEM_FN_NAME(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7) const)
-{
-    return _mfi::BOOST_MEM_FN_NAME(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7>(f);
-}
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> _mfi::BOOST_MEM_FN_NAME(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8))
-{
-    return _mfi::BOOST_MEM_FN_NAME(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8>(f);
-}
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> _mfi::BOOST_MEM_FN_NAME(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8) const)
-{
-    return _mfi::BOOST_MEM_FN_NAME(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8>(f);
-}
diff --git a/SRC/Boost/boost/bind/mem_fn_template.hpp b/SRC/Boost/boost/bind/mem_fn_template.hpp
deleted file mode 100755
index 0392c61..0000000
--- a/SRC/Boost/boost/bind/mem_fn_template.hpp
+++ /dev/null
@@ -1,1047 +0,0 @@
-//
-//  bind/mem_fn_template.hpp
-//
-//  Do not include this header directly
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.
-//
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-# define BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
-#endif
-
-// mf0
-
-template<class R, class T BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf0)
-{
-public:
-
-    typedef R result_type;
-    typedef T * argument_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) ())
-    F f_;
-
-    template<class U> R call(U & u, T const *) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)();
-    }
-
-    template<class U> R call(U & u, void const *) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)();
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(mf0)(F f): f_(f) {}
-
-    R operator()(T * p) const
-    {
-        BOOST_MEM_FN_RETURN (p->*f_)();
-    }
-
-    template<class U> R operator()(U & u) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p);
-    }
-
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
-
-    template<class U> R operator()(U const & u) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p);
-    }
-
-#endif
-
-    R operator()(T & t) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)();
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(mf0) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(mf0) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// cmf0
-
-template<class R, class T BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf0)
-{
-public:
-
-    typedef R result_type;
-    typedef T const * argument_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) () const)
-    F f_;
-
-    template<class U> R call(U & u, T const *) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)();
-    }
-
-    template<class U> R call(U & u, void const *) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)();
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(cmf0)(F f): f_(f) {}
-
-    template<class U> R operator()(U const & u) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p);
-    }
-
-    R operator()(T const & t) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)();
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(cmf0) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(cmf0) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// mf1
-
-template<class R, class T, class A1 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf1)
-{
-public:
-
-    typedef R result_type;
-    typedef T * first_argument_type;
-    typedef A1 second_argument_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1))
-    F f_;
-
-    template<class U, class B1> R call(U & u, T const *, B1 & b1) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1);
-    }
-
-    template<class U, class B1> R call(U & u, void const *, B1 & b1) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(mf1)(F f): f_(f) {}
-
-    R operator()(T * p, A1 a1) const
-    {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1);
-    }
-
-    template<class U> R operator()(U & u, A1 a1) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1);
-    }
-
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
-
-    template<class U> R operator()(U const & u, A1 a1) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1);
-    }
-
-#endif
-
-    R operator()(T & t, A1 a1) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(mf1) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(mf1) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// cmf1
-
-template<class R, class T, class A1 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf1)
-{
-public:
-
-    typedef R result_type;
-    typedef T const * first_argument_type;
-    typedef A1 second_argument_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1) const)
-    F f_;
-
-    template<class U, class B1> R call(U & u, T const *, B1 & b1) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1);
-    }
-
-    template<class U, class B1> R call(U & u, void const *, B1 & b1) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(cmf1)(F f): f_(f) {}
-
-    template<class U> R operator()(U const & u, A1 a1) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1);
-    }
-
-    R operator()(T const & t, A1 a1) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(cmf1) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(cmf1) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// mf2
-
-template<class R, class T, class A1, class A2 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf2)
-{
-public:
-
-    typedef R result_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2))
-    F f_;
-
-    template<class U, class B1, class B2> R call(U & u, T const *, B1 & b1, B2 & b2) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2);
-    }
-
-    template<class U, class B1, class B2> R call(U & u, void const *, B1 & b1, B2 & b2) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(mf2)(F f): f_(f) {}
-
-    R operator()(T * p, A1 a1, A2 a2) const
-    {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2);
-    }
-
-    template<class U> R operator()(U & u, A1 a1, A2 a2) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2);
-    }
-
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2);
-    }
-
-#endif
-
-    R operator()(T & t, A1 a1, A2 a2) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(mf2) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(mf2) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// cmf2
-
-template<class R, class T, class A1, class A2 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf2)
-{
-public:
-
-    typedef R result_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2) const)
-    F f_;
-
-    template<class U, class B1, class B2> R call(U & u, T const *, B1 & b1, B2 & b2) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2);
-    }
-
-    template<class U, class B1, class B2> R call(U & u, void const *, B1 & b1, B2 & b2) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(cmf2)(F f): f_(f) {}
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2);
-    }
-
-    R operator()(T const & t, A1 a1, A2 a2) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(cmf2) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(cmf2) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// mf3
-
-template<class R, class T, class A1, class A2, class A3 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf3)
-{
-public:
-
-    typedef R result_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3))
-    F f_;
-
-    template<class U, class B1, class B2, class B3> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3);
-    }
-
-    template<class U, class B1, class B2, class B3> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(mf3)(F f): f_(f) {}
-
-    R operator()(T * p, A1 a1, A2 a2, A3 a3) const
-    {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3);
-    }
-
-    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);
-    }
-
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);
-    }
-
-#endif
-
-    R operator()(T & t, A1 a1, A2 a2, A3 a3) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(mf3) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(mf3) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// cmf3
-
-template<class R, class T, class A1, class A2, class A3 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf3)
-{
-public:
-
-    typedef R result_type;
-
-private:
-
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const)
-    F f_;
-
-    template<class U, class B1, class B2, class B3> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3);
-    }
-
-    template<class U, class B1, class B2, class B3> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3);
-    }
-
-public:
-
-    explicit BOOST_MEM_FN_NAME(cmf3)(F f): f_(f) {}
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);
-    }
-
-    R operator()(T const & t, A1 a1, A2 a2, A3 a3) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(cmf3) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(cmf3) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// mf4
-
-template<class R, class T, class A1, class A2, class A3, class A4 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf4)
-{
-public:
-
-    typedef R result_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4))
-    F f_;
-
-    template<class U, class B1, class B2, class B3, class B4> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4);
-    }
-
-    template<class U, class B1, class B2, class B3, class B4> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(mf4)(F f): f_(f) {}
-
-    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4) const
-    {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4);
-    }
-
-    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);
-    }
-
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);
-    }
-
-#endif
-
-    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(mf4) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(mf4) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// cmf4
-
-template<class R, class T, class A1, class A2, class A3, class A4 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf4)
-{
-public:
-
-    typedef R result_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const)
-    F f_;
-
-    template<class U, class B1, class B2, class B3, class B4> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4);
-    }
-
-    template<class U, class B1, class B2, class B3, class B4> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(cmf4)(F f): f_(f) {}
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);
-    }
-
-    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(cmf4) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(cmf4) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// mf5
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf5)
-{
-public:
-
-    typedef R result_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5))
-    F f_;
-
-    template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5);
-    }
-
-    template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(mf5)(F f): f_(f) {}
-
-    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
-    {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5);
-    }
-
-    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);
-    }
-
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);
-    }
-
-#endif
-
-    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(mf5) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(mf5) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// cmf5
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf5)
-{
-public:
-
-    typedef R result_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const)
-    F f_;
-
-    template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5);
-    }
-
-    template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(cmf5)(F f): f_(f) {}
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);
-    }
-
-    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(cmf5) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(cmf5) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// mf6
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf6)
-{
-public:
-
-    typedef R result_type;
-
-private:
-
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6))
-    F f_;
-
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6);
-    }
-
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6);
-    }
-
-public:
-
-    explicit BOOST_MEM_FN_NAME(mf6)(F f): f_(f) {}
-
-    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
-    {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6);
-    }
-
-    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);
-    }
-
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);
-    }
-
-#endif
-
-    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(mf6) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(mf6) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// cmf6
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf6)
-{
-public:
-
-    typedef R result_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const)
-    F f_;
-
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6);
-    }
-
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(cmf6)(F f): f_(f) {}
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);
-    }
-
-    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(cmf6) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(cmf6) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// mf7
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf7)
-{
-public:
-
-    typedef R result_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7))
-    F f_;
-
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7);
-    }
-
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(mf7)(F f): f_(f) {}
-
-    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
-    {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7);
-    }
-
-    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);
-    }
-
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);
-    }
-
-#endif
-
-    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(mf7) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(mf7) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// cmf7
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf7)
-{
-public:
-
-    typedef R result_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const)
-    F f_;
-
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7);
-    }
-
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(cmf7)(F f): f_(f) {}
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);
-    }
-
-    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(cmf7) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(cmf7) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// mf8
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf8)
-{
-public:
-
-    typedef R result_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8))
-    F f_;
-
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
-    }
-
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(mf8)(F f): f_(f) {}
-
-    R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
-    {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
-    }
-
-    template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);
-    }
-
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);
-    }
-
-#endif
-
-    R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(mf8) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(mf8) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-// cmf8
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf8)
-{
-public:
-
-    typedef R result_type;
-
-private:
-    
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const)
-    F f_;
-
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const
-    {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
-    }
-
-    template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const
-    {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
-    }
-
-public:
-    
-    explicit BOOST_MEM_FN_NAME(cmf8)(F f): f_(f) {}
-
-    R operator()(T const * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
-    {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
-    }
-
-    template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
-    {
-        U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);
-    }
-
-    R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
-    {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
-    }
-
-    bool operator==(BOOST_MEM_FN_NAME(cmf8) const & rhs) const
-    {
-        return f_ == rhs.f_;
-    }
-
-    bool operator!=(BOOST_MEM_FN_NAME(cmf8) const & rhs) const
-    {
-        return f_ != rhs.f_;
-    }
-};
-
-#undef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
diff --git a/SRC/Boost/boost/bind/mem_fn_vw.hpp b/SRC/Boost/boost/bind/mem_fn_vw.hpp
deleted file mode 100755
index 7f7daef..0000000
--- a/SRC/Boost/boost/bind/mem_fn_vw.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-//
-//  bind/mem_fn_vw.hpp - void return helper wrappers
-//
-//  Do not include this header directly
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.
-//
-
-template<class R, class T> struct BOOST_MEM_FN_NAME(mf0): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0)<R, T, R (BOOST_MEM_FN_CC T::*) ()>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) ();
-    explicit BOOST_MEM_FN_NAME(mf0)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0)<R, T, F>(f) {}
-};
-
-template<class R, class T> struct BOOST_MEM_FN_NAME(cmf0): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0)<R, T, R (BOOST_MEM_FN_CC T::*) () const>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) () const;
-    explicit BOOST_MEM_FN_NAME(cmf0)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0)<R, T, F>(f) {}
-};
-
-
-template<class R, class T, class A1> struct BOOST_MEM_FN_NAME(mf1): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1)<R, T, A1, R (BOOST_MEM_FN_CC T::*) (A1)>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1);
-    explicit BOOST_MEM_FN_NAME(mf1)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1)<R, T, A1, F>(f) {}
-};
-
-template<class R, class T, class A1> struct BOOST_MEM_FN_NAME(cmf1): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1)<R, T, A1, R (BOOST_MEM_FN_CC T::*) (A1) const>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1) const;
-    explicit BOOST_MEM_FN_NAME(cmf1)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1)<R, T, A1, F>(f) {}
-};
-
-
-template<class R, class T, class A1, class A2> struct BOOST_MEM_FN_NAME(mf2): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2)<R, T, A1, A2, R (BOOST_MEM_FN_CC T::*) (A1, A2)>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2);
-    explicit BOOST_MEM_FN_NAME(mf2)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2)<R, T, A1, A2, F>(f) {}
-};
-
-template<class R, class T, class A1, class A2> struct BOOST_MEM_FN_NAME(cmf2): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2)<R, T, A1, A2, R (BOOST_MEM_FN_CC T::*) (A1, A2) const>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2) const;
-    explicit BOOST_MEM_FN_NAME(cmf2)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2)<R, T, A1, A2, F>(f) {}
-};
-
-
-template<class R, class T, class A1, class A2, class A3> struct BOOST_MEM_FN_NAME(mf3): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3)<R, T, A1, A2, A3, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3)>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3);
-    explicit BOOST_MEM_FN_NAME(mf3)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3)<R, T, A1, A2, A3, F>(f) {}
-};
-
-template<class R, class T, class A1, class A2, class A3> struct BOOST_MEM_FN_NAME(cmf3): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3)<R, T, A1, A2, A3, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3) const>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const;
-    explicit BOOST_MEM_FN_NAME(cmf3)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3)<R, T, A1, A2, A3, F>(f) {}
-};
-
-
-template<class R, class T, class A1, class A2, class A3, class A4> struct BOOST_MEM_FN_NAME(mf4): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4)<R, T, A1, A2, A3, A4, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4)>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4);
-    explicit BOOST_MEM_FN_NAME(mf4)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4)<R, T, A1, A2, A3, A4, F>(f) {}
-};
-
-template<class R, class T, class A1, class A2, class A3, class A4> struct BOOST_MEM_FN_NAME(cmf4): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4)<R, T, A1, A2, A3, A4, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4) const>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const;
-    explicit BOOST_MEM_FN_NAME(cmf4)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4)<R, T, A1, A2, A3, A4, F>(f) {}
-};
-
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5> struct BOOST_MEM_FN_NAME(mf5): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5)<R, T, A1, A2, A3, A4, A5, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5)>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5);
-    explicit BOOST_MEM_FN_NAME(mf5)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5)<R, T, A1, A2, A3, A4, A5, F>(f) {}
-};
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5> struct BOOST_MEM_FN_NAME(cmf5): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5)<R, T, A1, A2, A3, A4, A5, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5) const>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const;
-    explicit BOOST_MEM_FN_NAME(cmf5)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5)<R, T, A1, A2, A3, A4, A5, F>(f) {}
-};
-
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> struct BOOST_MEM_FN_NAME(mf6): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6)<R, T, A1, A2, A3, A4, A5, A6, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6)>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6);
-    explicit BOOST_MEM_FN_NAME(mf6)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6)<R, T, A1, A2, A3, A4, A5, A6, F>(f) {}
-};
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> struct BOOST_MEM_FN_NAME(cmf6): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6)<R, T, A1, A2, A3, A4, A5, A6, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6) const>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const;
-    explicit BOOST_MEM_FN_NAME(cmf6)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6)<R, T, A1, A2, A3, A4, A5, A6, F>(f) {}
-};
-
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct BOOST_MEM_FN_NAME(mf7): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7)>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7);
-    explicit BOOST_MEM_FN_NAME(mf7)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7, F>(f) {}
-};
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct BOOST_MEM_FN_NAME(cmf7): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7) const>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const;
-    explicit BOOST_MEM_FN_NAME(cmf7)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7, F>(f) {}
-};
-
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct BOOST_MEM_FN_NAME(mf8): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7, A8)>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8);
-    explicit BOOST_MEM_FN_NAME(mf8)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, F>(f) {}
-};
-
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct BOOST_MEM_FN_NAME(cmf8): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7, A8) const>
-{
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const;
-    explicit BOOST_MEM_FN_NAME(cmf8)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, F>(f) {}
-};
-
diff --git a/SRC/Boost/boost/bind/placeholders.hpp b/SRC/Boost/boost/bind/placeholders.hpp
deleted file mode 100755
index 0b479ab..0000000
--- a/SRC/Boost/boost/bind/placeholders.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
-#define BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  bind/placeholders.hpp - _N definitions
-//
-//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/bind/bind.html for documentation.
-//
-
-#include <boost/bind/arg.hpp>
-#include <boost/config.hpp>
-
-namespace
-{
-
-#if defined(__BORLANDC__) || defined(__GNUC__) && (__GNUC__ < 4)
-
-static inline boost::arg<1> _1() { return boost::arg<1>(); }
-static inline boost::arg<2> _2() { return boost::arg<2>(); }
-static inline boost::arg<3> _3() { return boost::arg<3>(); }
-static inline boost::arg<4> _4() { return boost::arg<4>(); }
-static inline boost::arg<5> _5() { return boost::arg<5>(); }
-static inline boost::arg<6> _6() { return boost::arg<6>(); }
-static inline boost::arg<7> _7() { return boost::arg<7>(); }
-static inline boost::arg<8> _8() { return boost::arg<8>(); }
-static inline boost::arg<9> _9() { return boost::arg<9>(); }
-
-#elif defined(BOOST_MSVC) || (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031) || defined(__MWERKS__) || \
-    defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ < 2)  
-
-static boost::arg<1> _1;
-static boost::arg<2> _2;
-static boost::arg<3> _3;
-static boost::arg<4> _4;
-static boost::arg<5> _5;
-static boost::arg<6> _6;
-static boost::arg<7> _7;
-static boost::arg<8> _8;
-static boost::arg<9> _9;
-
-#else
-
-boost::arg<1> _1;
-boost::arg<2> _2;
-boost::arg<3> _3;
-boost::arg<4> _4;
-boost::arg<5> _5;
-boost::arg<6> _6;
-boost::arg<7> _7;
-boost::arg<8> _8;
-boost::arg<9> _9;
-
-#endif
-
-} // unnamed namespace
-
-#endif // #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/bind/protect.hpp b/SRC/Boost/boost/bind/protect.hpp
deleted file mode 100755
index b624bf1..0000000
--- a/SRC/Boost/boost/bind/protect.hpp
+++ /dev/null
@@ -1,304 +0,0 @@
-#ifndef BOOST_BIND_PROTECT_HPP_INCLUDED
-#define BOOST_BIND_PROTECT_HPP_INCLUDED
-
-//
-//  protect.hpp
-//
-//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-//  Copyright (c) 2009 Steven Watanabe
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost
-{
-
-namespace _bi
-{
-
-template<class F> class protected_bind_t
-{
-public:
-
-    typedef typename F::result_type result_type;
-
-    explicit protected_bind_t(F f): f_(f)
-    {
-    }
-
-    result_type operator()()
-    {
-        return f_();
-    }
-
-    result_type operator()() const
-    {
-        return f_();
-    }
-
-    template<class A1> result_type operator()(A1 & a1)
-    {
-        return f_(a1);
-    }
-
-    template<class A1> result_type operator()(A1 & a1) const
-    {
-        return f_(a1);
-    }
-
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1> result_type operator()(const A1 & a1)
-    {
-        return f_(a1);
-    }
-
-    template<class A1> result_type operator()(const A1 & a1) const
-    {
-        return f_(a1);
-    }
-
-#endif
-
-    template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2)
-    {
-        return f_(a1, a2);
-    }
-
-    template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2) const
-    {
-        return f_(a1, a2);
-    }
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2)
-    {
-        return f_(a1, a2);
-    }
-
-    template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2) const
-    {
-        return f_(a1, a2);
-    }
-
-    template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2)
-    {
-        return f_(a1, a2);
-    }
-
-    template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2) const
-    {
-        return f_(a1, a2);
-    }
-
-    template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2)
-    {
-        return f_(a1, a2);
-    }
-
-    template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2) const
-    {
-        return f_(a1, a2);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3)
-    {
-        return f_(a1, a2, a3);
-    }
-
-    template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3) const
-    {
-        return f_(a1, a2, a3);
-    }
-    
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3)
-    {
-        return f_(a1, a2, a3);
-    }
-
-    template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const
-    {
-        return f_(a1, a2, a3);
-    }
-    
-#endif
-
-    template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4)
-    {
-        return f_(a1, a2, a3, a4);
-    }
-
-    template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const
-    {
-        return f_(a1, a2, a3, a4);
-    }
-    
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4)
-    {
-        return f_(a1, a2, a3, a4);
-    }
-
-    template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const
-    {
-        return f_(a1, a2, a3, a4);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5)
-    {
-        return f_(a1, a2, a3, a4, a5);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const
-    {
-        return f_(a1, a2, a3, a4, a5);
-    }
-    
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5)
-    {
-        return f_(a1, a2, a3, a4, a5);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const
-    {
-        return f_(a1, a2, a3, a4, a5);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6)
-    {
-        return f_(a1, a2, a3, a4, a5, a6);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const
-    {
-        return f_(a1, a2, a3, a4, a5, a6);
-    }
-    
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6)
-    {
-        return f_(a1, a2, a3, a4, a5, a6);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const
-    {
-        return f_(a1, a2, a3, a4, a5, a6);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7)
-    {
-        return f_(a1, a2, a3, a4, a5, a6, a7);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const
-    {
-        return f_(a1, a2, a3, a4, a5, a6, a7);
-    }
-    
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7)
-    {
-        return f_(a1, a2, a3, a4, a5, a6, a7);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) const
-    {
-        return f_(a1, a2, a3, a4, a5, a6, a7);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8)
-    {
-        return f_(a1, a2, a3, a4, a5, a6, a7, a8);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const
-    {
-        return f_(a1, a2, a3, a4, a5, a6, a7, a8);
-    }
-    
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8)
-    {
-        return f_(a1, a2, a3, a4, a5, a6, a7, a8);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) const
-    {
-        return f_(a1, a2, a3, a4, a5, a6, a7, a8);
-    }
-
-#endif
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9)
-    {
-        return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const
-    {
-        return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-    }
-    
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9)
-    {
-        return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-    }
-
-    template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) const
-    {
-        return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-    }
-
-#endif
-
-private:
-
-    F f_;
-};
-
-} // namespace _bi
-
-template<class F> _bi::protected_bind_t<F> protect(F f)
-{
-    return _bi::protected_bind_t<F>(f);
-}
-
-} // namespace boost
-
-#endif // #ifndef BOOST_BIND_PROTECT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/bind/storage.hpp b/SRC/Boost/boost/bind/storage.hpp
deleted file mode 100755
index 512adc5..0000000
--- a/SRC/Boost/boost/bind/storage.hpp
+++ /dev/null
@@ -1,475 +0,0 @@
-#ifndef BOOST_BIND_STORAGE_HPP_INCLUDED
-#define BOOST_BIND_STORAGE_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  bind/storage.hpp
-//
-//  boost/bind.hpp support header, optimized storage
-//
-//  Copyright (c) 2006 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-//  See http://www.boost.org/libs/bind/bind.html for documentation.
-//
-
-#include <boost/config.hpp>
-#include <boost/bind/arg.hpp>
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4512) // assignment operator could not be generated
-#endif
-
-namespace boost
-{
-
-namespace _bi
-{
-
-// 1
-
-template<class A1> struct storage1
-{
-    explicit storage1( A1 a1 ): a1_( a1 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        BOOST_BIND_VISIT_EACH(v, a1_, 0);
-    }
-
-    A1 a1_;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( __BORLANDC__ )
-
-template<int I> struct storage1< boost::arg<I> >
-{
-    explicit storage1( boost::arg<I> ) {}
-
-    template<class V> void accept(V &) const { }
-
-    static boost::arg<I> a1_() { return boost::arg<I>(); }
-};
-
-template<int I> struct storage1< boost::arg<I> (*) () >
-{
-    explicit storage1( boost::arg<I> (*) () ) {}
-
-    template<class V> void accept(V &) const { }
-
-    static boost::arg<I> a1_() { return boost::arg<I>(); }
-};
-
-#endif
-
-// 2
-
-template<class A1, class A2> struct storage2: public storage1<A1>
-{
-    typedef storage1<A1> inherited;
-
-    storage2( A1 a1, A2 a2 ): storage1<A1>( a1 ), a2_( a2 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a2_, 0);
-    }
-
-    A2 a2_;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template<class A1, int I> struct storage2< A1, boost::arg<I> >: public storage1<A1>
-{
-    typedef storage1<A1> inherited;
-
-    storage2( A1 a1, boost::arg<I> ): storage1<A1>( a1 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a2_() { return boost::arg<I>(); }
-};
-
-template<class A1, int I> struct storage2< A1, boost::arg<I> (*) () >: public storage1<A1>
-{
-    typedef storage1<A1> inherited;
-
-    storage2( A1 a1, boost::arg<I> (*) () ): storage1<A1>( a1 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a2_() { return boost::arg<I>(); }
-};
-
-#endif
-
-// 3
-
-template<class A1, class A2, class A3> struct storage3: public storage2< A1, A2 >
-{
-    typedef storage2<A1, A2> inherited;
-
-    storage3( A1 a1, A2 a2, A3 a3 ): storage2<A1, A2>( a1, a2 ), a3_( a3 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a3_, 0);
-    }
-
-    A3 a3_;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template<class A1, class A2, int I> struct storage3< A1, A2, boost::arg<I> >: public storage2< A1, A2 >
-{
-    typedef storage2<A1, A2> inherited;
-
-    storage3( A1 a1, A2 a2, boost::arg<I> ): storage2<A1, A2>( a1, a2 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a3_() { return boost::arg<I>(); }
-};
-
-template<class A1, class A2, int I> struct storage3< A1, A2, boost::arg<I> (*) () >: public storage2< A1, A2 >
-{
-    typedef storage2<A1, A2> inherited;
-
-    storage3( A1 a1, A2 a2, boost::arg<I> (*) () ): storage2<A1, A2>( a1, a2 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a3_() { return boost::arg<I>(); }
-};
-
-#endif
-
-// 4
-
-template<class A1, class A2, class A3, class A4> struct storage4: public storage3< A1, A2, A3 >
-{
-    typedef storage3<A1, A2, A3> inherited;
-
-    storage4( A1 a1, A2 a2, A3 a3, A4 a4 ): storage3<A1, A2, A3>( a1, a2, a3 ), a4_( a4 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a4_, 0);
-    }
-
-    A4 a4_;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template<class A1, class A2, class A3, int I> struct storage4< A1, A2, A3, boost::arg<I> >: public storage3< A1, A2, A3 >
-{
-    typedef storage3<A1, A2, A3> inherited;
-
-    storage4( A1 a1, A2 a2, A3 a3, boost::arg<I> ): storage3<A1, A2, A3>( a1, a2, a3 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a4_() { return boost::arg<I>(); }
-};
-
-template<class A1, class A2, class A3, int I> struct storage4< A1, A2, A3, boost::arg<I> (*) () >: public storage3< A1, A2, A3 >
-{
-    typedef storage3<A1, A2, A3> inherited;
-
-    storage4( A1 a1, A2 a2, A3 a3, boost::arg<I> (*) () ): storage3<A1, A2, A3>( a1, a2, a3 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a4_() { return boost::arg<I>(); }
-};
-
-#endif
-
-// 5
-
-template<class A1, class A2, class A3, class A4, class A5> struct storage5: public storage4< A1, A2, A3, A4 >
-{
-    typedef storage4<A1, A2, A3, A4> inherited;
-
-    storage5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): storage4<A1, A2, A3, A4>( a1, a2, a3, a4 ), a5_( a5 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a5_, 0);
-    }
-
-    A5 a5_;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template<class A1, class A2, class A3, class A4, int I> struct storage5< A1, A2, A3, A4, boost::arg<I> >: public storage4< A1, A2, A3, A4 >
-{
-    typedef storage4<A1, A2, A3, A4> inherited;
-
-    storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg<I> ): storage4<A1, A2, A3, A4>( a1, a2, a3, a4 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a5_() { return boost::arg<I>(); }
-};
-
-template<class A1, class A2, class A3, class A4, int I> struct storage5< A1, A2, A3, A4, boost::arg<I> (*) () >: public storage4< A1, A2, A3, A4 >
-{
-    typedef storage4<A1, A2, A3, A4> inherited;
-
-    storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg<I> (*) () ): storage4<A1, A2, A3, A4>( a1, a2, a3, a4 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a5_() { return boost::arg<I>(); }
-};
-
-#endif
-
-// 6
-
-template<class A1, class A2, class A3, class A4, class A5, class A6> struct storage6: public storage5< A1, A2, A3, A4, A5 >
-{
-    typedef storage5<A1, A2, A3, A4, A5> inherited;
-
-    storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): storage5<A1, A2, A3, A4, A5>( a1, a2, a3, a4, a5 ), a6_( a6 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a6_, 0);
-    }
-
-    A6 a6_;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template<class A1, class A2, class A3, class A4, class A5, int I> struct storage6< A1, A2, A3, A4, A5, boost::arg<I> >: public storage5< A1, A2, A3, A4, A5 >
-{
-    typedef storage5<A1, A2, A3, A4, A5> inherited;
-
-    storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg<I> ): storage5<A1, A2, A3, A4, A5>( a1, a2, a3, a4, a5 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a6_() { return boost::arg<I>(); }
-};
-
-template<class A1, class A2, class A3, class A4, class A5, int I> struct storage6< A1, A2, A3, A4, A5, boost::arg<I> (*) () >: public storage5< A1, A2, A3, A4, A5 >
-{
-    typedef storage5<A1, A2, A3, A4, A5> inherited;
-
-    storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg<I> (*) () ): storage5<A1, A2, A3, A4, A5>( a1, a2, a3, a4, a5 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a6_() { return boost::arg<I>(); }
-};
-
-#endif
-
-// 7
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct storage7: public storage6< A1, A2, A3, A4, A5, A6 >
-{
-    typedef storage6<A1, A2, A3, A4, A5, A6> inherited;
-
-    storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): storage6<A1, A2, A3, A4, A5, A6>( a1, a2, a3, a4, a5, a6 ), a7_( a7 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a7_, 0);
-    }
-
-    A7 a7_;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, int I> struct storage7< A1, A2, A3, A4, A5, A6, boost::arg<I> >: public storage6< A1, A2, A3, A4, A5, A6 >
-{
-    typedef storage6<A1, A2, A3, A4, A5, A6> inherited;
-
-    storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg<I> ): storage6<A1, A2, A3, A4, A5, A6>( a1, a2, a3, a4, a5, a6 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a7_() { return boost::arg<I>(); }
-};
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, int I> struct storage7< A1, A2, A3, A4, A5, A6, boost::arg<I> (*) () >: public storage6< A1, A2, A3, A4, A5, A6 >
-{
-    typedef storage6<A1, A2, A3, A4, A5, A6> inherited;
-
-    storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg<I> (*) () ): storage6<A1, A2, A3, A4, A5, A6>( a1, a2, a3, a4, a5, a6 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a7_() { return boost::arg<I>(); }
-};
-
-#endif
-
-// 8
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct storage8: public storage7< A1, A2, A3, A4, A5, A6, A7 >
-{
-    typedef storage7<A1, A2, A3, A4, A5, A6, A7> inherited;
-
-    storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): storage7<A1, A2, A3, A4, A5, A6, A7>( a1, a2, a3, a4, a5, a6, a7 ), a8_( a8 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a8_, 0);
-    }
-
-    A8 a8_;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, int I> struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg<I> >: public storage7< A1, A2, A3, A4, A5, A6, A7 >
-{
-    typedef storage7<A1, A2, A3, A4, A5, A6, A7> inherited;
-
-    storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg<I> ): storage7<A1, A2, A3, A4, A5, A6, A7>( a1, a2, a3, a4, a5, a6, a7 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a8_() { return boost::arg<I>(); }
-};
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, int I> struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg<I> (*) () >: public storage7< A1, A2, A3, A4, A5, A6, A7 >
-{
-    typedef storage7<A1, A2, A3, A4, A5, A6, A7> inherited;
-
-    storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg<I> (*) () ): storage7<A1, A2, A3, A4, A5, A6, A7>( a1, a2, a3, a4, a5, a6, a7 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a8_() { return boost::arg<I>(); }
-};
-
-#endif
-
-// 9
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> struct storage9: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 >
-{
-    typedef storage8<A1, A2, A3, A4, A5, A6, A7, A8> inherited;
-
-    storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): storage8<A1, A2, A3, A4, A5, A6, A7, A8>( a1, a2, a3, a4, a5, a6, a7, a8 ), a9_( a9 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a9_, 0);
-    }
-
-    A9 a9_;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, int I> struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg<I> >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 >
-{
-    typedef storage8<A1, A2, A3, A4, A5, A6, A7, A8> inherited;
-
-    storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg<I> ): storage8<A1, A2, A3, A4, A5, A6, A7, A8>( a1, a2, a3, a4, a5, a6, a7, a8 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a9_() { return boost::arg<I>(); }
-};
-
-template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, int I> struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg<I> (*) () >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 >
-{
-    typedef storage8<A1, A2, A3, A4, A5, A6, A7, A8> inherited;
-
-    storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg<I> (*) () ): storage8<A1, A2, A3, A4, A5, A6, A7, A8>( a1, a2, a3, a4, a5, a6, a7, a8 ) {}
-
-    template<class V> void accept(V & v) const
-    {
-        inherited::accept(v);
-    }
-
-    static boost::arg<I> a9_() { return boost::arg<I>(); }
-};
-
-#endif
-
-} // namespace _bi
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-# pragma warning(default: 4512) // assignment operator could not be generated
-# pragma warning(pop)
-#endif
-
-#endif // #ifndef BOOST_BIND_STORAGE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/blank.hpp b/SRC/Boost/boost/blank.hpp
deleted file mode 100755
index 2a1543e..0000000
--- a/SRC/Boost/boost/blank.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost blank.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_BLANK_HPP
-#define BOOST_BLANK_HPP
-
-#include "boost/blank_fwd.hpp"
-
-#if !defined(BOOST_NO_IOSTREAM)
-#include <iosfwd> // for std::basic_ostream forward declare
-#include "boost/detail/templated_streams.hpp"
-#endif // BOOST_NO_IOSTREAM
-
-#include "boost/mpl/bool.hpp"
-#include "boost/type_traits/is_empty.hpp"
-#include "boost/type_traits/is_pod.hpp"
-#include "boost/type_traits/is_stateless.hpp"
-
-namespace boost {
-
-struct blank
-{
-};
-
-// type traits specializations
-//
-
-template <>
-struct is_pod< blank >
-    : mpl::true_
-{
-};
-
-template <>
-struct is_empty< blank >
-    : mpl::true_
-{
-};
-
-template <>
-struct is_stateless< blank >
-    : mpl::true_
-{
-};
-
-// relational operators
-//
-
-inline bool operator==(const blank&, const blank&)
-{
-    return true;
-}
-
-inline bool operator<=(const blank&, const blank&)
-{
-    return true;
-}
-
-inline bool operator>=(const blank&, const blank&)
-{
-    return true;
-}
-
-inline bool operator!=(const blank&, const blank&)
-{
-    return false;
-}
-
-inline bool operator<(const blank&, const blank&)
-{
-    return false;
-}
-
-inline bool operator>(const blank&, const blank&)
-{
-    return false;
-}
-
-// streaming support
-//
-#if !defined(BOOST_NO_IOSTREAM)
-
-BOOST_TEMPLATED_STREAM_TEMPLATE(E,T)
-inline BOOST_TEMPLATED_STREAM(ostream, E,T)& operator<<(
-      BOOST_TEMPLATED_STREAM(ostream, E,T)& out
-    , const blank&
-    )
-{
-    // (output nothing)
-    return out;
-}
-
-#endif // BOOST_NO_IOSTREAM
-
-} // namespace boost
-
-#endif // BOOST_BLANK_HPP
diff --git a/SRC/Boost/boost/blank_fwd.hpp b/SRC/Boost/boost/blank_fwd.hpp
deleted file mode 100755
index 076a1f5..0000000
--- a/SRC/Boost/boost/blank_fwd.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost blank_fwd.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_BLANK_FWD_HPP
-#define BOOST_BLANK_FWD_HPP
-
-namespace boost {
-
-struct blank;
-
-} // namespace boost
-
-#endif // BOOST_BLANK_FWD_HPP
diff --git a/SRC/Boost/boost/call_traits.hpp b/SRC/Boost/boost/call_traits.hpp
deleted file mode 100755
index 9add20e..0000000
--- a/SRC/Boost/boost/call_traits.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/utility for most recent version including documentation.
-
-//  See boost/detail/call_traits.hpp and boost/detail/ob_call_traits.hpp
-//  for full copyright notices.
-
-#ifndef BOOST_CALL_TRAITS_HPP
-#define BOOST_CALL_TRAITS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#include <boost/config.hpp>
-#endif
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/detail/ob_call_traits.hpp>
-#else
-#include <boost/detail/call_traits.hpp>
-#endif
-
-#endif // BOOST_CALL_TRAITS_HPP
diff --git a/SRC/Boost/boost/cerrno.hpp b/SRC/Boost/boost/cerrno.hpp
deleted file mode 100755
index 1205455..0000000
--- a/SRC/Boost/boost/cerrno.hpp
+++ /dev/null
@@ -1,331 +0,0 @@
-//  Boost cerrno.hpp header  -------------------------------------------------//
-
-//  Copyright Beman Dawes 2005.
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/system
-
-#ifndef BOOST_CERRNO_HPP
-#define BOOST_CERRNO_HPP
-
-#include <cerrno>
-
-//  supply errno values likely to be missing, particularly on Windows
-
-#ifndef EAFNOSUPPORT
-#define EAFNOSUPPORT 9901
-#endif
-
-#ifndef EADDRINUSE
-#define EADDRINUSE 9902
-#endif
-
-#ifndef EADDRNOTAVAIL
-#define EADDRNOTAVAIL 9903
-#endif
-
-#ifndef EISCONN
-#define EISCONN 9904
-#endif
-
-#ifndef EBADMSG
-#define EBADMSG 9905
-#endif
-
-#ifndef ECONNABORTED
-#define ECONNABORTED 9906
-#endif
-
-#ifndef EALREADY
-#define EALREADY 9907
-#endif
-
-#ifndef ECONNREFUSED
-#define ECONNREFUSED 9908
-#endif
-
-#ifndef ECONNRESET
-#define ECONNRESET 9909
-#endif
-
-#ifndef EDESTADDRREQ
-#define EDESTADDRREQ 9910
-#endif
-
-#ifndef EHOSTUNREACH
-#define EHOSTUNREACH 9911
-#endif
-
-#ifndef EIDRM
-#define EIDRM 9912
-#endif
-
-#ifndef EMSGSIZE
-#define EMSGSIZE 9913
-#endif
-
-#ifndef ENETDOWN
-#define ENETDOWN 9914
-#endif
-
-#ifndef ENETRESET
-#define ENETRESET 9915
-#endif
-
-#ifndef ENETUNREACH
-#define ENETUNREACH 9916
-#endif
-
-#ifndef ENOBUFS
-#define ENOBUFS 9917
-#endif
-
-#ifndef ENOLINK
-#define ENOLINK 9918
-#endif
-
-#ifndef ENODATA
-#define ENODATA 9919
-#endif
-
-#ifndef ENOMSG
-#define ENOMSG 9920
-#endif
-
-#ifndef ENOPROTOOPT
-#define ENOPROTOOPT 9921
-#endif
-
-#ifndef ENOSR
-#define ENOSR 9922
-#endif
-
-#ifndef ENOTSOCK
-#define ENOTSOCK 9923
-#endif
-
-#ifndef ENOSTR
-#define ENOSTR 9924
-#endif
-
-#ifndef ENOTCONN
-#define ENOTCONN 9925
-#endif
-
-#ifndef ENOTSUP
-#define ENOTSUP 9926
-#endif
-
-#ifndef ECANCELED
-#define ECANCELED 9927
-#endif
-
-#ifndef EINPROGRESS
-#define EINPROGRESS 9928
-#endif
-
-#ifndef EOPNOTSUPP
-#define EOPNOTSUPP 9929
-#endif
-
-#ifndef EWOULDBLOCK
-#define EWOULDBLOCK 9930
-#endif
-
-#ifndef EOWNERDEAD
-#define EOWNERDEAD  9931
-#endif
-
-#ifndef EPROTO
-#define EPROTO 9932
-#endif
-
-#ifndef EPROTONOSUPPORT
-#define EPROTONOSUPPORT 9933
-#endif
-
-#ifndef ENOTRECOVERABLE
-#define ENOTRECOVERABLE 9934
-#endif
-
-#ifndef ETIME
-#define ETIME 9935
-#endif
-
-#ifndef ETXTBSY
-#define ETXTBSY 9936
-#endif
-
-#ifndef ETIMEDOUT
-#define ETIMEDOUT 9938
-#endif
-
-#ifndef ELOOP
-#define ELOOP 9939
-#endif
-
-#ifndef EOVERFLOW
-#define EOVERFLOW 9940
-#endif
-
-#ifndef EPROTOTYPE
-#define EPROTOTYPE 9941
-#endif
-
-#ifndef ENOSYS
-#define ENOSYS 9942
-#endif
-
-#ifndef EINVAL
-#define EINVAL 9943
-#endif
-
-#ifndef ERANGE
-#define ERANGE 9944
-#endif
-
-#ifndef EILSEQ
-#define EILSEQ 9945
-#endif
-
-//  Windows Mobile doesn't appear to define these:
-
-#ifndef E2BIG
-#define E2BIG 9946
-#endif
-
-#ifndef EDOM
-#define EDOM 9947
-#endif
-
-#ifndef EFAULT
-#define EFAULT 9948
-#endif
-
-#ifndef EBADF
-#define EBADF 9949
-#endif
-
-#ifndef EPIPE
-#define EPIPE 9950
-#endif
-
-#ifndef EXDEV
-#define EXDEV 9951
-#endif
-
-#ifndef EBUSY
-#define EBUSY 9952
-#endif
-
-#ifndef ENOTEMPTY
-#define ENOTEMPTY 9953
-#endif
-
-#ifndef ENOEXEC
-#define ENOEXEC 9954
-#endif
-
-#ifndef EEXIST
-#define EEXIST 9955
-#endif
-
-#ifndef EFBIG
-#define EFBIG 9956
-#endif
-
-#ifndef ENAMETOOLONG
-#define ENAMETOOLONG 9957
-#endif
-
-#ifndef ENOTTY
-#define ENOTTY 9958
-#endif
-
-#ifndef EINTR
-#define EINTR 9959
-#endif
-
-#ifndef ESPIPE
-#define ESPIPE 9960
-#endif
-
-#ifndef EIO
-#define EIO 9961
-#endif
-
-#ifndef EISDIR
-#define EISDIR 9962
-#endif
-
-#ifndef ECHILD
-#define ECHILD 9963
-#endif
-
-#ifndef ENOLCK
-#define ENOLCK 9964
-#endif
-
-#ifndef ENOSPC
-#define ENOSPC 9965
-#endif
-
-#ifndef ENXIO
-#define ENXIO 9966
-#endif
-
-#ifndef ENODEV
-#define ENODEV 9967
-#endif
-
-#ifndef ENOENT
-#define ENOENT 9968
-#endif
-
-#ifndef ESRCH
-#define ESRCH 9969
-#endif
-
-#ifndef ENOTDIR
-#define ENOTDIR 9970
-#endif
-
-#ifndef ENOMEM
-#define ENOMEM 9971
-#endif
-
-#ifndef EPERM
-#define EPERM 9972
-#endif
-
-#ifndef EACCES
-#define EACCES 9973
-#endif
-
-#ifndef EROFS
-#define EROFS 9974
-#endif
-
-#ifndef EDEADLK
-#define EDEADLK 9975
-#endif
-
-#ifndef EAGAIN
-#define EAGAIN 9976
-#endif
-
-#ifndef ENFILE
-#define ENFILE 9977
-#endif
-
-#ifndef EMFILE
-#define EMFILE 9978
-#endif
-
-#ifndef EMLINK
-#define EMLINK 9979
-#endif
-
-#endif // include guard
diff --git a/SRC/Boost/boost/checked_delete.hpp b/SRC/Boost/boost/checked_delete.hpp
deleted file mode 100755
index e8f479f..0000000
--- a/SRC/Boost/boost/checked_delete.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED
-#define BOOST_CHECKED_DELETE_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/checked_delete.hpp
-//
-//  Copyright (c) 2002, 2003 Peter Dimov
-//  Copyright (c) 2003 Daniel Frey
-//  Copyright (c) 2003 Howard Hinnant
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/utility/checked_delete.html for documentation.
-//
-
-namespace boost
-{
-
-// verify that types are complete for increased safety
-
-template<class T> inline void checked_delete(T * x)
-{
-    // intentionally complex - simplification causes regressions
-    typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
-    (void) sizeof(type_must_be_complete);
-    delete x;
-}
-
-template<class T> inline void checked_array_delete(T * x)
-{
-    typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
-    (void) sizeof(type_must_be_complete);
-    delete [] x;
-}
-
-template<class T> struct checked_deleter
-{
-    typedef void result_type;
-    typedef T * argument_type;
-
-    void operator()(T * x) const
-    {
-        // boost:: disables ADL
-        boost::checked_delete(x);
-    }
-};
-
-template<class T> struct checked_array_deleter
-{
-    typedef void result_type;
-    typedef T * argument_type;
-
-    void operator()(T * x) const
-    {
-        boost::checked_array_delete(x);
-    }
-};
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/circular_buffer.hpp b/SRC/Boost/boost/circular_buffer.hpp
deleted file mode 100755
index 2d7cab0..0000000
--- a/SRC/Boost/boost/circular_buffer.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// Circular buffer library header file.
-
-// Copyright (c) 2003-2008 Jan Gaspar
-
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See www.boost.org/libs/circular_buffer for documentation.
-
-#if !defined(BOOST_CIRCULAR_BUFFER_HPP)
-#define BOOST_CIRCULAR_BUFFER_HPP
-
-#if defined(_MSC_VER) && _MSC_VER >= 1200
-    #pragma once
-#endif
-
-#include <boost/circular_buffer_fwd.hpp>
-#include <boost/detail/workaround.hpp>
-
-// BOOST_CB_ENABLE_DEBUG: Debug support control.
-#if defined(NDEBUG) || defined(BOOST_CB_DISABLE_DEBUG)
-    #define BOOST_CB_ENABLE_DEBUG 0
-#else
-    #define BOOST_CB_ENABLE_DEBUG 1
-#endif
-
-// BOOST_CB_ASSERT: Runtime assertion.
-#if BOOST_CB_ENABLE_DEBUG
-    #include <boost/assert.hpp>
-    #define BOOST_CB_ASSERT(Expr) BOOST_ASSERT(Expr)
-#else
-    #define BOOST_CB_ASSERT(Expr) ((void)0)
-#endif
-
-// BOOST_CB_STATIC_ASSERT: Compile time assertion.
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    #define BOOST_CB_STATIC_ASSERT(Expr) ((void)0)
-#else
-    #include <boost/static_assert.hpp>
-    #define BOOST_CB_STATIC_ASSERT(Expr) BOOST_STATIC_ASSERT(Expr)
-#endif
-
-// BOOST_CB_IS_CONVERTIBLE: Check if Iterator::value_type is convertible to Type.
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x0550) || BOOST_WORKAROUND(__MWERKS__, <= 0x2407) || \
-    BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    #define BOOST_CB_IS_CONVERTIBLE(Iterator, Type) ((void)0)
-#else
-    #include <boost/detail/iterator.hpp>
-    #include <boost/type_traits/is_convertible.hpp>
-    #define BOOST_CB_IS_CONVERTIBLE(Iterator, Type) \
-        BOOST_CB_STATIC_ASSERT((is_convertible<typename detail::iterator_traits<Iterator>::value_type, Type>::value))
-#endif
-
-// BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS:
-// Check if the STL provides templated iterator constructors for its containers.
-#if defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)
-    #define BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS BOOST_CB_STATIC_ASSERT(false);
-#else
-    #define BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS ((void)0);
-#endif
-
-#include <boost/circular_buffer/debug.hpp>
-#include <boost/circular_buffer/details.hpp>
-#include <boost/circular_buffer/base.hpp>
-#include <boost/circular_buffer/space_optimized.hpp>
-
-#undef BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS
-#undef BOOST_CB_IS_CONVERTIBLE
-#undef BOOST_CB_STATIC_ASSERT
-#undef BOOST_CB_ASSERT
-#undef BOOST_CB_ENABLE_DEBUG
-
-#endif // #if !defined(BOOST_CIRCULAR_BUFFER_HPP)
diff --git a/SRC/Boost/boost/circular_buffer/base.hpp b/SRC/Boost/boost/circular_buffer/base.hpp
deleted file mode 100755
index 04ae415..0000000
--- a/SRC/Boost/boost/circular_buffer/base.hpp
+++ /dev/null
@@ -1,2821 +0,0 @@
-// Implementation of the base circular buffer.
-
-// Copyright (c) 2003-2008 Jan Gaspar
-
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#if !defined(BOOST_CIRCULAR_BUFFER_BASE_HPP)
-#define BOOST_CIRCULAR_BUFFER_BASE_HPP
-
-#if defined(_MSC_VER) && _MSC_VER >= 1200
-    #pragma once
-#endif
-
-#include <boost/call_traits.hpp>
-#include <boost/concept_check.hpp>
-#include <boost/limits.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/type_traits/is_stateless.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_scalar.hpp>
-#include <algorithm>
-#include <utility>
-#include <deque>
-#if !defined(BOOST_NO_EXCEPTIONS)
-    #include <stdexcept>
-#endif
-#if BOOST_CB_ENABLE_DEBUG
-    #include <cstring>
-#endif
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
-    #include <stddef.h>
-#endif
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std {
-    using ::memset;
-}
-#endif
-
-namespace boost {
-
-/*!
-    \class circular_buffer
-    \brief Circular buffer - a STL compliant container.
-    \param T The type of the elements stored in the <code>circular_buffer</code>.
-    \par Type Requirements T
-         The <code>T</code> has to be <a href="http://www.sgi.com/tech/stl/Assignable.html">
-         SGIAssignable</a> (SGI STL defined combination of <a href="../../utility/Assignable.html">
-         Assignable</a> and <a href="../../utility/CopyConstructible.html">CopyConstructible</a>).
-         Moreover <code>T</code> has to be <a href="http://www.sgi.com/tech/stl/DefaultConstructible.html">
-         DefaultConstructible</a> if supplied as a default parameter when invoking some of the
-         <code>circular_buffer</code>'s methods e.g.
-         <code>insert(iterator pos, const value_type& item = %value_type())</code>. And
-         <a href="http://www.sgi.com/tech/stl/EqualityComparable.html">EqualityComparable</a> and/or
-         <a href="../../utility/LessThanComparable.html">LessThanComparable</a> if the <code>circular_buffer</code>
-         will be compared with another container.
-    \param Alloc The allocator type used for all internal memory management.
-    \par Type Requirements Alloc
-         The <code>Alloc</code> has to meet the allocator requirements imposed by STL.
-    \par Default Alloc
-         std::allocator<T>
-
-    For detailed documentation of the circular_buffer visit:
-    http://www.boost.org/libs/circular_buffer/doc/circular_buffer.html
-*/
-template <class T, class Alloc>
-class circular_buffer
-/*! \cond */
-#if BOOST_CB_ENABLE_DEBUG
-: public cb_details::debug_iterator_registry
-#endif
-/*! \endcond */
-{
-
-// Requirements
-    BOOST_CLASS_REQUIRE(T, boost, SGIAssignableConcept);
-
-public:
-// Basic types
-
-    //! The type of elements stored in the <code>circular_buffer</code>.
-    typedef typename Alloc::value_type value_type;
-
-    //! A pointer to an element.
-    typedef typename Alloc::pointer pointer;
-
-    //! A const pointer to the element.
-    typedef typename Alloc::const_pointer const_pointer;
-
-    //! A reference to an element.
-    typedef typename Alloc::reference reference;
-
-    //! A const reference to an element.
-    typedef typename Alloc::const_reference const_reference;
-
-    //! The distance type.
-    /*!
-        (A signed integral type used to represent the distance between two iterators.)
-    */
-    typedef typename Alloc::difference_type difference_type;
-
-    //! The size type.
-    /*!
-        (An unsigned integral type that can represent any non-negative value of the container's distance type.)
-    */
-    typedef typename Alloc::size_type size_type;
-
-    //! The type of an allocator used in the <code>circular_buffer</code>.
-    typedef Alloc allocator_type;
-
-// Iterators
-
-    //! A const (random access) iterator used to iterate through the <code>circular_buffer</code>.
-    typedef cb_details::iterator< circular_buffer<T, Alloc>, cb_details::const_traits<Alloc> > const_iterator;
-
-    //! A (random access) iterator used to iterate through the <code>circular_buffer</code>.
-    typedef cb_details::iterator< circular_buffer<T, Alloc>, cb_details::nonconst_traits<Alloc> > iterator;
-
-    //! A const iterator used to iterate backwards through a <code>circular_buffer</code>.
-    typedef boost::reverse_iterator<const_iterator> const_reverse_iterator;
-
-    //! An iterator used to iterate backwards through a <code>circular_buffer</code>.
-    typedef boost::reverse_iterator<iterator> reverse_iterator;
-
-// Container specific types
-
-    //! An array range.
-    /*!
-        (A typedef for the <a href="http://www.sgi.com/tech/stl/pair.html"><code>std::pair</code></a> where
-        its first element is a pointer to a beginning of an array and its second element represents
-        a size of the array.)
-    */
-    typedef std::pair<pointer, size_type> array_range;
-
-    //! A range of a const array.
-    /*!
-        (A typedef for the <a href="http://www.sgi.com/tech/stl/pair.html"><code>std::pair</code></a> where
-        its first element is a pointer to a beginning of a const array and its second element represents
-        a size of the const array.)
-    */
-    typedef std::pair<const_pointer, size_type> const_array_range;
-
-    //! The capacity type.
-    /*!
-        (Same as <code>size_type</code> - defined for consistency with the
-        <a href="space_optimized.html"><code>circular_buffer_space_optimized</code></a>.)
-    */
-    typedef size_type capacity_type;
-
-// Helper types
-
-    // A type representing the "best" way to pass the value_type to a method.
-    typedef typename call_traits<value_type>::param_type param_value_type;
-
-    // A type representing the "best" way to return the value_type from a const method.
-    typedef typename call_traits<value_type>::param_type return_value_type;
-
-private:
-// Member variables
-
-    //! The internal buffer used for storing elements in the circular buffer.
-    pointer m_buff;
-
-    //! The internal buffer's end (end of the storage space).
-    pointer m_end;
-
-    //! The virtual beginning of the circular buffer.
-    pointer m_first;
-
-    //! The virtual end of the circular buffer (one behind the last element).
-    pointer m_last;
-
-    //! The number of items currently stored in the circular buffer.
-    size_type m_size;
-
-    //! The allocator.
-    allocator_type m_alloc;
-
-// Friends
-#if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-    friend iterator;
-    friend const_iterator;
-#else
-    template <class Buff, class Traits> friend struct cb_details::iterator;
-#endif
-
-public:
-// Allocator
-
-    //! Get the allocator.
-    /*!
-        \return The allocator.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>get_allocator()</code> for obtaining an allocator %reference.
-    */
-    allocator_type get_allocator() const { return m_alloc; }
-
-    //! Get the allocator reference.
-    /*!
-        \return A reference to the allocator.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \note This method was added in order to optimize obtaining of the allocator with a state,
-              although use of stateful allocators in STL is discouraged.
-        \sa <code>get_allocator() const</code>
-    */
-    allocator_type& get_allocator() { return m_alloc; }
-
-// Element access
-
-    //! Get the iterator pointing to the beginning of the <code>circular_buffer</code>.
-    /*!
-        \return A random access iterator pointing to the first element of the <code>circular_buffer</code>. If the
-                <code>circular_buffer</code> is empty it returns an iterator equal to the one returned by
-                <code>end()</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>end()</code>, <code>rbegin()</code>, <code>rend()</code>
-    */
-    iterator begin() { return iterator(this, empty() ? 0 : m_first); }
-
-    //! Get the iterator pointing to the end of the <code>circular_buffer</code>.
-    /*!
-        \return A random access iterator pointing to the element "one behind" the last element of the <code>
-                circular_buffer</code>. If the <code>circular_buffer</code> is empty it returns an iterator equal to
-                the one returned by <code>begin()</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>begin()</code>, <code>rbegin()</code>, <code>rend()</code>
-    */
-    iterator end() { return iterator(this, 0); }
-
-    //! Get the const iterator pointing to the beginning of the <code>circular_buffer</code>.
-    /*!
-        \return A const random access iterator pointing to the first element of the <code>circular_buffer</code>. If
-                the <code>circular_buffer</code> is empty it returns an iterator equal to the one returned by
-                <code>end() const</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>end() const</code>, <code>rbegin() const</code>, <code>rend() const</code>
-    */
-    const_iterator begin() const { return const_iterator(this, empty() ? 0 : m_first); }
-
-    //! Get the const iterator pointing to the end of the <code>circular_buffer</code>.
-    /*!
-        \return A const random access iterator pointing to the element "one behind" the last element of the <code>
-                circular_buffer</code>. If the <code>circular_buffer</code> is empty it returns an iterator equal to
-                the one returned by <code>begin() const</code> const.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>begin() const</code>, <code>rbegin() const</code>, <code>rend() const</code>
-    */
-    const_iterator end() const { return const_iterator(this, 0); }
-
-    //! Get the iterator pointing to the beginning of the "reversed" <code>circular_buffer</code>.
-    /*!
-        \return A reverse random access iterator pointing to the last element of the <code>circular_buffer</code>.
-                If the <code>circular_buffer</code> is empty it returns an iterator equal to the one returned by
-                <code>rend()</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>rend()</code>, <code>begin()</code>, <code>end()</code>
-    */
-    reverse_iterator rbegin() { return reverse_iterator(end()); }
-
-    //! Get the iterator pointing to the end of the "reversed" <code>circular_buffer</code>.
-    /*!
-        \return A reverse random access iterator pointing to the element "one before" the first element of the <code>
-                circular_buffer</code>. If the <code>circular_buffer</code> is empty it returns an iterator equal to
-                the one returned by <code>rbegin()</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>rbegin()</code>, <code>begin()</code>, <code>end()</code>
-    */
-    reverse_iterator rend() { return reverse_iterator(begin()); }
-
-    //! Get the const iterator pointing to the beginning of the "reversed" <code>circular_buffer</code>.
-    /*!
-        \return A const reverse random access iterator pointing to the last element of the
-                <code>circular_buffer</code>. If the <code>circular_buffer</code> is empty it returns an iterator equal
-                to the one returned by <code>rend() const</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>rend() const</code>, <code>begin() const</code>, <code>end() const</code>
-    */
-    const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); }
-
-    //! Get the const iterator pointing to the end of the "reversed" <code>circular_buffer</code>.
-    /*!
-        \return A const reverse random access iterator pointing to the element "one before" the first element of the
-                <code>circular_buffer</code>. If the <code>circular_buffer</code> is empty it returns an iterator equal
-                to the one returned by <code>rbegin() const</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>rbegin() const</code>, <code>begin() const</code>, <code>end() const</code>
-    */
-    const_reverse_iterator rend() const { return const_reverse_iterator(begin()); }
-
-    //! Get the element at the <code>index</code> position.
-    /*!
-        \pre <code>0 \<= index \&\& index \< size()</code>
-        \param index The position of the element.
-        \return A reference to the element at the <code>index</code> position.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>at()</code>
-    */
-    reference operator [] (size_type index) {
-        BOOST_CB_ASSERT(index < size()); // check for invalid index
-        return *add(m_first, index);
-    }
-
-    //! Get the element at the <code>index</code> position.
-    /*!
-        \pre <code>0 \<= index \&\& index \< size()</code>
-        \param index The position of the element.
-        \return A const reference to the element at the <code>index</code> position.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>\link at(size_type)const at() const \endlink</code>
-    */
-    return_value_type operator [] (size_type index) const {
-        BOOST_CB_ASSERT(index < size()); // check for invalid index
-        return *add(m_first, index);
-    }
-
-    //! Get the element at the <code>index</code> position.
-    /*!
-        \param index The position of the element.
-        \return A reference to the element at the <code>index</code> position.
-        \throws <code>std::out_of_range</code> when the <code>index</code> is invalid (when
-                <code>index >= size()</code>).
-        \par Exception Safety
-             Strong.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>\link operator[](size_type) operator[] \endlink</code>
-    */
-    reference at(size_type index) {
-        check_position(index);
-        return (*this)[index];
-    }
-
-    //! Get the element at the <code>index</code> position.
-    /*!
-        \param index The position of the element.
-        \return A const reference to the element at the <code>index</code> position.
-        \throws <code>std::out_of_range</code> when the <code>index</code> is invalid (when
-                <code>index >= size()</code>).
-        \par Exception Safety
-             Strong.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>\link operator[](size_type)const operator[] const \endlink</code>
-    */
-    return_value_type at(size_type index) const {
-        check_position(index);
-        return (*this)[index];
-    }
-
-    //! Get the first element.
-    /*!
-        \pre <code>!empty()</code>
-        \return A reference to the first element of the <code>circular_buffer</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>back()</code>
-    */
-    reference front() {
-        BOOST_CB_ASSERT(!empty()); // check for empty buffer (front element not available)
-        return *m_first;
-    }
-
-    //! Get the last element.
-    /*!
-        \pre <code>!empty()</code>
-        \return A reference to the last element of the <code>circular_buffer</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>front()</code>
-    */
-    reference back() {
-        BOOST_CB_ASSERT(!empty()); // check for empty buffer (back element not available)
-        return *((m_last == m_buff ? m_end : m_last) - 1);
-    }
-
-    //! Get the first element.
-    /*!
-        \pre <code>!empty()</code>
-        \return A const reference to the first element of the <code>circular_buffer</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>back() const</code>
-    */
-    return_value_type front() const {
-        BOOST_CB_ASSERT(!empty()); // check for empty buffer (front element not available)
-        return *m_first;
-    }
-
-    //! Get the last element.
-    /*!
-        \pre <code>!empty()</code>
-        \return A const reference to the last element of the <code>circular_buffer</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>front() const</code>
-    */
-    return_value_type back() const {
-        BOOST_CB_ASSERT(!empty()); // check for empty buffer (back element not available)
-        return *((m_last == m_buff ? m_end : m_last) - 1);
-    }
-
-    //! Get the first continuous array of the internal buffer.
-    /*!
-        This method in combination with <code>array_two()</code> can be useful when passing the stored data into
-        a legacy C API as an array. Suppose there is a <code>circular_buffer</code> of capacity 10, containing 7
-        characters <code>'a', 'b', ..., 'g'</code> where <code>buff[0] == 'a'</code>, <code>buff[1] == 'b'</code>,
-        ... and <code>buff[6] == 'g'</code>:<br><br>
-        <code>circular_buffer<char> buff(10);</code><br><br>
-        The internal representation is often not linear and the state of the internal buffer may look like this:<br>
-        <br><code>
-        |e|f|g| | | |a|b|c|d|<br>
-        end ---^<br>
-        begin -------^</code><br><br>
-        where <code>|a|b|c|d|</code> represents the "array one", <code>|e|f|g|</code> represents the "array two" and
-        <code>| | | |</code> is a free space.<br>
-        Now consider a typical C style function for writing data into a file:<br><br>
-        <code>int write(int file_desc, char* buff, int num_bytes);</code><br><br>
-        There are two ways how to write the content of the <code>circular_buffer</code> into a file. Either relying
-        on <code>array_one()</code> and <code>array_two()</code> methods and calling the write function twice:<br><br>
-        <code>array_range ar = buff.array_one();<br>
-        write(file_desc, ar.first, ar.second);<br>
-        ar = buff.array_two();<br>
-        write(file_desc, ar.first, ar.second);</code><br><br>
-        Or relying on the <code>linearize()</code> method:<br><br><code>
-        write(file_desc, buff.linearize(), buff.size());</code><br><br>
-        Since the complexity of <code>array_one()</code> and <code>array_two()</code> methods is constant the first
-        option is suitable when calling the write method is "cheap". On the other hand the second option is more
-        suitable when calling the write method is more "expensive" than calling the <code>linearize()</code> method
-        whose complexity is linear.
-        \return The array range of the first continuous array of the internal buffer. In the case the
-                <code>circular_buffer</code> is empty the size of the returned array is <code>0</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \warning In general invoking any method which modifies the internal state of the circular_buffer  may
-                 delinearize the internal buffer and invalidate the array ranges returned by <code>array_one()</code>
-                 and <code>array_two()</code> (and their const versions).
-        \note In the case the internal buffer is linear e.g. <code>|a|b|c|d|e|f|g| | | |</code> the "array one" is
-              represented by <code>|a|b|c|d|e|f|g|</code> and the "array two" does not exist (the
-              <code>array_two()</code> method returns an array with the size <code>0</code>).
-        \sa <code>array_two()</code>, <code>linearize()</code>
-    */
-    array_range array_one() {
-        return array_range(m_first, (m_last <= m_first && !empty() ? m_end : m_last) - m_first);
-    }
-
-    //! Get the second continuous array of the internal buffer.
-    /*!
-        This method in combination with <code>array_one()</code> can be useful when passing the stored data into
-        a legacy C API as an array.
-        \return The array range of the second continuous array of the internal buffer. In the case the internal buffer
-                is linear or the <code>circular_buffer</code> is empty the size of the returned array is
-                <code>0</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>array_one()</code>
-    */
-    array_range array_two() {
-        return array_range(m_buff, m_last <= m_first && !empty() ? m_last - m_buff : 0);
-    }
-
-    //! Get the first continuous array of the internal buffer.
-    /*!
-        This method in combination with <code>array_two() const</code> can be useful when passing the stored data into
-        a legacy C API as an array.
-        \return The array range of the first continuous array of the internal buffer. In the case the
-                <code>circular_buffer</code> is empty the size of the returned array is <code>0</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>array_two() const</code>; <code>array_one()</code> for more details how to pass data into a legacy C
-            API.
-    */
-    const_array_range array_one() const {
-        return const_array_range(m_first, (m_last <= m_first && !empty() ? m_end : m_last) - m_first);
-    }
-
-    //! Get the second continuous array of the internal buffer.
-    /*!
-        This method in combination with <code>array_one() const</code> can be useful when passing the stored data into
-        a legacy C API as an array.
-        \return The array range of the second continuous array of the internal buffer. In the case the internal buffer
-                is linear or the <code>circular_buffer</code> is empty the size of the returned array is
-                <code>0</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>array_one() const</code>
-    */
-    const_array_range array_two() const {
-        return const_array_range(m_buff, m_last <= m_first && !empty() ? m_last - m_buff : 0);
-    }
-
-    //! Linearize the internal buffer into a continuous array.
-    /*!
-        This method can be useful when passing the stored data into a legacy C API as an array.
-        \post <code>\&(*this)[0] \< \&(*this)[1] \< ... \< \&(*this)[size() - 1]</code>
-        \return A pointer to the beginning of the array or <code>0</code> if empty.
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operations in the <i>Throws</i> section do not throw anything.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer</code> (except iterators equal to
-             <code>end()</code>); does not invalidate any iterators if the postcondition (the <i>Effect</i>) is already
-             met prior calling this method.
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer</code>); constant if the postcondition (the
-             <i>Effect</i>) is already met.
-        \warning In general invoking any method which modifies the internal state of the <code>circular_buffer</code>
-                 may delinearize the internal buffer and invalidate the returned pointer.
-        \sa <code>array_one()</code> and <code>array_two()</code> for the other option how to pass data into a legacy
-            C API; <code>is_linearized()</code>, <code>rotate(const_iterator)</code>
-    */
-    pointer linearize() {
-        if (empty())
-            return 0;
-        if (m_first < m_last || m_last == m_buff)
-            return m_first;
-        pointer src = m_first;
-        pointer dest = m_buff;
-        size_type moved = 0;
-        size_type constructed = 0;
-        BOOST_TRY {
-            for (pointer first = m_first; dest < src; src = first) {
-                for (size_type ii = 0; src < m_end; ++src, ++dest, ++moved, ++ii) {
-                    if (moved == size()) {
-                        first = dest;
-                        break;
-                    }
-                    if (dest == first) {
-                        first += ii;
-                        break;
-                    }
-                    if (is_uninitialized(dest)) {
-                        m_alloc.construct(dest, *src);
-                        ++constructed;
-                    } else {
-                        value_type tmp = *src;
-                        replace(src, *dest);
-                        replace(dest, tmp);
-                    }
-                }
-            }
-        } BOOST_CATCH(...) {
-            m_last += constructed;
-            m_size += constructed;
-            BOOST_RETHROW
-        }
-        BOOST_CATCH_END
-        for (src = m_end - constructed; src < m_end; ++src)
-            destroy_item(src);
-        m_first = m_buff;
-        m_last = add(m_buff, size());
-#if BOOST_CB_ENABLE_DEBUG
-        invalidate_iterators_except(end());
-#endif
-        return m_buff;
-    }
-
-    //! Is the <code>circular_buffer</code> linearized?
-    /*!
-        \return <code>true</code> if the internal buffer is linearized into a continuous array (i.e. the
-                <code>circular_buffer</code> meets a condition
-                <code>\&(*this)[0] \< \&(*this)[1] \< ... \< \&(*this)[size() - 1]</code>);
-                <code>false</code> otherwise.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>linearize()</code>, <code>array_one()</code>, <code>array_two()</code>
-    */
-    bool is_linearized() const { return m_first < m_last || m_last == m_buff; }
-
-    //! Rotate elements in the <code>circular_buffer</code>.
-    /*!
-        A more effective implementation of
-        <code><a href="http://www.sgi.com/tech/stl/rotate.html">std::rotate</a></code>.
-        \pre <code>new_begin</code> is a valid iterator pointing to the <code>circular_buffer</code> <b>except</b> its
-             end.
-        \post Before calling the method suppose:<br><br>
-              <code>m == std::distance(new_begin, end())</code><br><code>n == std::distance(begin(), new_begin)</code>
-              <br><code>val_0 == *new_begin, val_1 == *(new_begin + 1), ... val_m == *(new_begin + m)</code><br>
-              <code>val_r1 == *(new_begin - 1), val_r2 == *(new_begin - 2), ... val_rn == *(new_begin - n)</code><br>
-              <br>then after call to the method:<br><br>
-              <code>val_0 == (*this)[0] \&\& val_1 == (*this)[1] \&\& ... \&\& val_m == (*this)[m - 1] \&\& val_r1 ==
-              (*this)[m + n - 1] \&\& val_r2 == (*this)[m + n - 2] \&\& ... \&\& val_rn == (*this)[m]</code>
-        \param new_begin The new beginning.
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the <code>circular_buffer</code> is full or <code>new_begin</code> points to
-             <code>begin()</code> or if the operations in the <i>Throws</i> section do not throw anything.
-        \par Iterator Invalidation
-             If <code>m \< n</code> invalidates iterators pointing to the last <code>m</code> elements
-             (<b>including</b> <code>new_begin</code>, but not iterators equal to <code>end()</code>) else invalidates
-             iterators pointing to the first <code>n</code> elements; does not invalidate any iterators if the
-             <code>circular_buffer</code> is full.
-        \par Complexity
-             Linear (in <code>(std::min)(m, n)</code>); constant if the <code>circular_buffer</code> is full.
-        \sa <code><a href="http://www.sgi.com/tech/stl/rotate.html">std::rotate</a></code>
-    */
-    void rotate(const_iterator new_begin) {
-        BOOST_CB_ASSERT(new_begin.is_valid(this)); // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(new_begin.m_it != 0);      // check for iterator pointing to end()
-        if (full()) {
-            m_first = m_last = const_cast<pointer>(new_begin.m_it);
-        } else {
-            difference_type m = end() - new_begin;
-            difference_type n = new_begin - begin();
-            if (m < n) {
-                for (; m > 0; --m) {
-                    push_front(back());
-                    pop_back();
-                }
-            } else {
-                for (; n > 0; --n) {
-                    push_back(front());
-                    pop_front();
-                }
-            }
-        }
-    }
-
-// Size and capacity
-
-    //! Get the number of elements currently stored in the <code>circular_buffer</code>.
-    /*!
-        \return The number of elements stored in the <code>circular_buffer</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>capacity()</code>, <code>max_size()</code>, <code>reserve()</code>,
-            <code>\link resize() resize(size_type, const_reference)\endlink</code>
-    */
-    size_type size() const { return m_size; }
-
-    /*! \brief Get the largest possible size or capacity of the <code>circular_buffer</code>. (It depends on
-               allocator's %max_size()).
-        \return The maximum size/capacity the <code>circular_buffer</code> can be set to.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>size()</code>, <code>capacity()</code>, <code>reserve()</code>
-    */
-    size_type max_size() const {
-        return (std::min<size_type>)(m_alloc.max_size(), (std::numeric_limits<difference_type>::max)());
-    }
-
-    //! Is the <code>circular_buffer</code> empty?
-    /*!
-        \return <code>true</code> if there are no elements stored in the <code>circular_buffer</code>;
-                <code>false</code> otherwise.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>full()</code>
-    */
-    bool empty() const { return size() == 0; }
-
-    //! Is the <code>circular_buffer</code> full?
-    /*!
-        \return <code>true</code> if the number of elements stored in the <code>circular_buffer</code>
-                equals the capacity of the <code>circular_buffer</code>; <code>false</code> otherwise.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>empty()</code>
-    */
-    bool full() const { return capacity() == size(); }
-
-    /*! \brief Get the maximum number of elements which can be inserted into the <code>circular_buffer</code> without
-               overwriting any of already stored elements.
-        \return <code>capacity() - size()</code>
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>capacity()</code>, <code>size()</code>, <code>max_size()</code>
-    */
-    size_type reserve() const { return capacity() - size(); }
-
-    //! Get the capacity of the <code>circular_buffer</code>.
-    /*!
-        \return The maximum number of elements which can be stored in the <code>circular_buffer</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>reserve()</code>, <code>size()</code>, <code>max_size()</code>,
-            <code>set_capacity(capacity_type)</code>
-    */
-    capacity_type capacity() const { return m_end - m_buff; }
-
-    //! Change the capacity of the <code>circular_buffer</code>.
-    /*!
-        \post <code>capacity() == new_capacity \&\& size() \<= new_capacity</code><br><br>
-              If the current number of elements stored in the <code>circular_buffer</code> is greater than the desired
-              new capacity then number of <code>[size() - new_capacity]</code> <b>last</b> elements will be removed and
-              the new size will be equal to <code>new_capacity</code>.
-        \param new_capacity The new capacity.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Strong.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer</code> (except iterators equal to
-             <code>end()</code>) if the new capacity is different from the original.
-        \par Complexity
-             Linear (in <code>min[size(), new_capacity]</code>).
-        \sa <code>rset_capacity(capacity_type)</code>,
-            <code>\link resize() resize(size_type, const_reference)\endlink</code>
-    */
-    void set_capacity(capacity_type new_capacity) {
-        if (new_capacity == capacity())
-            return;
-        pointer buff = allocate(new_capacity);
-        iterator b = begin();
-        BOOST_TRY {
-            reset(buff,
-                cb_details::uninitialized_copy_with_alloc(b, b + (std::min)(new_capacity, size()), buff, m_alloc),
-                new_capacity);
-        } BOOST_CATCH(...) {
-            deallocate(buff, new_capacity);
-            BOOST_RETHROW
-        }
-        BOOST_CATCH_END
-    }
-
-    //! Change the size of the <code>circular_buffer</code>.
-    /*!
-        \post <code>size() == new_size \&\& capacity() >= new_size</code><br><br>
-              If the new size is greater than the current size, copies of <code>item</code> will be inserted at the
-              <b>back</b> of the of the <code>circular_buffer</code> in order to achieve the desired size. In the case
-              the resulting size exceeds the current capacity the capacity will be set to <code>new_size</code>.<br>
-              If the current number of elements stored in the <code>circular_buffer</code> is greater than the desired
-              new size then number of <code>[size() - new_size]</code> <b>last</b> elements will be removed. (The
-              capacity will remain unchanged.)
-        \param new_size The new size.
-        \param item The element the <code>circular_buffer</code> will be filled with in order to gain the requested
-                    size. (See the <i>Effect</i>.)
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer</code> (except iterators equal to
-             <code>end()</code>) if the new size is greater than the current capacity. Invalidates iterators pointing
-             to the removed elements if the new size is lower that the original size. Otherwise it does not invalidate
-             any iterator.
-        \par Complexity
-             Linear (in the new size of the <code>circular_buffer</code>).
-        \sa <code>\link rresize() rresize(size_type, const_reference)\endlink</code>,
-            <code>set_capacity(capacity_type)</code>
-    */
-    void resize(size_type new_size, param_value_type item = value_type()) {
-        if (new_size > size()) {
-            if (new_size > capacity())
-                set_capacity(new_size);
-            insert(end(), new_size - size(), item);
-        } else {
-            iterator e = end();
-            erase(e - (size() - new_size), e);
-        }
-    }
-
-    //! Change the capacity of the <code>circular_buffer</code>.
-    /*!
-        \post <code>capacity() == new_capacity \&\& size() \<= new_capacity</code><br><br>
-              If the current number of elements stored in the <code>circular_buffer</code> is greater than the desired
-              new capacity then number of <code>[size() - new_capacity]</code> <b>first</b> elements will be removed
-              and the new size will be equal to <code>new_capacity</code>.
-        \param new_capacity The new capacity.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Strong.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer</code> (except iterators equal to
-             <code>end()</code>) if the new capacity is different from the original.
-        \par Complexity
-             Linear (in <code>min[size(), new_capacity]</code>).
-        \sa <code>set_capacity(capacity_type)</code>,
-            <code>\link rresize() rresize(size_type, const_reference)\endlink</code>
-    */
-    void rset_capacity(capacity_type new_capacity) {
-        if (new_capacity == capacity())
-            return;
-        pointer buff = allocate(new_capacity);
-        iterator e = end();
-        BOOST_TRY {
-            reset(buff, cb_details::uninitialized_copy_with_alloc(e - (std::min)(new_capacity, size()),
-                e, buff, m_alloc), new_capacity);
-        } BOOST_CATCH(...) {
-            deallocate(buff, new_capacity);
-            BOOST_RETHROW
-        }
-        BOOST_CATCH_END
-    }
-
-    //! Change the size of the <code>circular_buffer</code>.
-    /*!
-        \post <code>size() == new_size \&\& capacity() >= new_size</code><br><br>
-              If the new size is greater than the current size, copies of <code>item</code> will be inserted at the
-              <b>front</b> of the of the <code>circular_buffer</code> in order to achieve the desired size. In the case
-              the resulting size exceeds the current capacity the capacity will be set to <code>new_size</code>.<br>
-              If the current number of elements stored in the <code>circular_buffer</code> is greater than the desired
-              new size then number of <code>[size() - new_size]</code> <b>first</b> elements will be removed. (The
-              capacity will remain unchanged.)
-        \param new_size The new size.
-        \param item The element the <code>circular_buffer</code> will be filled with in order to gain the requested
-                    size. (See the <i>Effect</i>.)
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer</code> (except iterators equal to
-             <code>end()</code>) if the new size is greater than the current capacity. Invalidates iterators pointing
-             to the removed elements if the new size is lower that the original size. Otherwise it does not invalidate
-             any iterator.
-        \par Complexity
-             Linear (in the new size of the <code>circular_buffer</code>).
-        \sa <code>\link resize() resize(size_type, const_reference)\endlink</code>,
-            <code>rset_capacity(capacity_type)</code>
-    */
-    void rresize(size_type new_size, param_value_type item = value_type()) {
-        if (new_size > size()) {
-            if (new_size > capacity())
-                set_capacity(new_size);
-            rinsert(begin(), new_size - size(), item);
-        } else {
-            rerase(begin(), end() - new_size);
-        }
-    }
-
-// Construction/Destruction
-
-    //! Create an empty <code>circular_buffer</code> with zero capacity.
-    /*!
-        \post <code>capacity() == 0 \&\& size() == 0</code>
-        \param alloc The allocator.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \par Complexity
-             Constant.
-        \warning Since Boost version 1.36 the behaviour of this constructor has changed. Now the constructor does not
-                 allocate any memory and both capacity and size are set to zero. Also note when inserting an element
-                 into a <code>circular_buffer</code> with zero capacity (e.g. by
-                 <code>\link push_back() push_back(const_reference)\endlink</code> or
-                 <code>\link insert(iterator, param_value_type) insert(iterator, value_type)\endlink</code>) nothing
-                 will be inserted and the size (as well as capacity) remains zero.
-        \note You can explicitly set the capacity by calling the <code>set_capacity(capacity_type)</code> method or you
-              can use the other constructor with the capacity specified.
-        \sa <code>circular_buffer(capacity_type, const allocator_type& alloc)</code>,
-            <code>set_capacity(capacity_type)</code>
-    */
-    explicit circular_buffer(const allocator_type& alloc = allocator_type())
-    : m_buff(0), m_end(0), m_first(0), m_last(0), m_size(0), m_alloc(alloc) {}
-
-    //! Create an empty <code>circular_buffer</code> with the specified capacity.
-    /*!
-        \post <code>capacity() == buffer_capacity \&\& size() == 0</code>
-        \param buffer_capacity The maximum number of elements which can be stored in the <code>circular_buffer</code>.
-        \param alloc The allocator.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \par Complexity
-             Constant.
-    */
-    explicit circular_buffer(capacity_type buffer_capacity, const allocator_type& alloc = allocator_type())
-    : m_size(0), m_alloc(alloc) {
-        initialize_buffer(buffer_capacity);
-        m_first = m_last = m_buff;
-    }
-
-    /*! \brief Create a full <code>circular_buffer</code> with the specified capacity and filled with <code>n</code>
-               copies of <code>item</code>.
-        \post <code>capacity() == n \&\& full() \&\& (*this)[0] == item \&\& (*this)[1] == item \&\& ... \&\&
-              (*this)[n - 1] == item </code>
-        \param n The number of elements the created <code>circular_buffer</code> will be filled with.
-        \param item The element the created <code>circular_buffer</code> will be filled with.
-        \param alloc The allocator.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Complexity
-             Linear (in the <code>n</code>).
-    */
-    circular_buffer(size_type n, param_value_type item, const allocator_type& alloc = allocator_type())
-    : m_size(n), m_alloc(alloc) {
-        initialize_buffer(n, item);
-        m_first = m_last = m_buff;
-    }
-
-    /*! \brief Create a <code>circular_buffer</code> with the specified capacity and filled with <code>n</code>
-               copies of <code>item</code>.
-        \pre <code>buffer_capacity >= n</code>
-        \post <code>capacity() == buffer_capacity \&\& size() == n \&\& (*this)[0] == item \&\& (*this)[1] == item
-              \&\& ... \&\& (*this)[n - 1] == item</code>
-        \param buffer_capacity The capacity of the created <code>circular_buffer</code>.
-        \param n The number of elements the created <code>circular_buffer</code> will be filled with.
-        \param item The element the created <code>circular_buffer</code> will be filled with.
-        \param alloc The allocator.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Complexity
-             Linear (in the <code>n</code>).
-    */
-    circular_buffer(capacity_type buffer_capacity, size_type n, param_value_type item,
-        const allocator_type& alloc = allocator_type())
-    : m_size(n), m_alloc(alloc) {
-        BOOST_CB_ASSERT(buffer_capacity >= size()); // check for capacity lower than size
-        initialize_buffer(buffer_capacity, item);
-        m_first = m_buff;
-        m_last = buffer_capacity == n ? m_buff : m_buff + n;
-    }
-
-    //! The copy constructor.
-    /*!
-        Creates a copy of the specified <code>circular_buffer</code>.
-        \post <code>*this == cb</code>
-        \param cb The <code>circular_buffer</code> to be copied.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Complexity
-             Linear (in the size of <code>cb</code>).
-    */
-    circular_buffer(const circular_buffer<T, Alloc>& cb)
-    :
-#if BOOST_CB_ENABLE_DEBUG
-    debug_iterator_registry(),
-#endif
-    m_size(cb.size()), m_alloc(cb.get_allocator()) {
-        initialize_buffer(cb.capacity());
-        m_first = m_buff;
-        BOOST_TRY {
-            m_last = cb_details::uninitialized_copy_with_alloc(cb.begin(), cb.end(), m_buff, m_alloc);
-        } BOOST_CATCH(...) {
-            deallocate(m_buff, cb.capacity());
-            BOOST_RETHROW
-        }
-        BOOST_CATCH_END
-        if (m_last == m_end)
-            m_last = m_buff;
-    }
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-    /*! \cond */
-    template <class InputIterator>
-    circular_buffer(InputIterator first, InputIterator last)
-    : m_alloc(allocator_type()) {
-        initialize(first, last, is_integral<InputIterator>());
-    }
-
-    template <class InputIterator>
-    circular_buffer(capacity_type capacity, InputIterator first, InputIterator last)
-    : m_alloc(allocator_type()) {
-        initialize(capacity, first, last, is_integral<InputIterator>());
-    }
-    /*! \endcond */
-
-#else
-
-    //! Create a full <code>circular_buffer</code> filled with a copy of the range.
-    /*!
-        \pre Valid range <code>[first, last)</code>.<br>
-             <code>first</code> and <code>last</code> have to meet the requirements of
-             <a href="http://www.sgi.com/tech/stl/InputIterator.html">InputIterator</a>.
-        \post <code>capacity() == std::distance(first, last) \&\& full() \&\& (*this)[0]== *first \&\&
-              (*this)[1] == *(first + 1) \&\& ... \&\& (*this)[std::distance(first, last) - 1] == *(last - 1)</code>
-        \param first The beginning of the range to be copied.
-        \param last The end of the range to be copied.
-        \param alloc The allocator.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Complexity
-             Linear (in the <code>std::distance(first, last)</code>).
-    */
-    template <class InputIterator>
-    circular_buffer(InputIterator first, InputIterator last, const allocator_type& alloc = allocator_type())
-    : m_alloc(alloc) {
-        initialize(first, last, is_integral<InputIterator>());
-    }
-
-    //! Create a <code>circular_buffer</code> with the specified capacity and filled with a copy of the range.
-    /*!
-        \pre Valid range <code>[first, last)</code>.<br>
-             <code>first</code> and <code>last</code> have to meet the requirements of
-             <a href="http://www.sgi.com/tech/stl/InputIterator.html">InputIterator</a>.
-        \post <code>capacity() == buffer_capacity \&\& size() \<= std::distance(first, last) \&\&
-             (*this)[0]== *(last - buffer_capacity) \&\& (*this)[1] == *(last - buffer_capacity + 1) \&\& ... \&\&
-             (*this)[buffer_capacity - 1] == *(last - 1)</code><br><br>
-             If the number of items to be copied from the range <code>[first, last)</code> is greater than the
-             specified <code>buffer_capacity</code> then only elements from the range
-             <code>[last - buffer_capacity, last)</code> will be copied.
-        \param buffer_capacity The capacity of the created <code>circular_buffer</code>.
-        \param first The beginning of the range to be copied.
-        \param last The end of the range to be copied.
-        \param alloc The allocator.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Complexity
-             Linear (in <code>std::distance(first, last)</code>; in
-             <code>min[capacity, std::distance(first, last)]</code> if the <code>InputIterator</code> is a
-             <a href="http://www.sgi.com/tech/stl/RandomAccessIterator.html">RandomAccessIterator</a>).
-    */
-    template <class InputIterator>
-    circular_buffer(capacity_type buffer_capacity, InputIterator first, InputIterator last,
-        const allocator_type& alloc = allocator_type())
-    : m_alloc(alloc) {
-        initialize(buffer_capacity, first, last, is_integral<InputIterator>());
-    }
-
-#endif // #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-    //! The destructor.
-    /*!
-        Destroys the <code>circular_buffer</code>.
-        \throws Nothing.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer</code> (including iterators equal to
-             <code>end()</code>).
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>) for scalar types; linear for other types.
-        \sa <code>clear()</code>
-    */
-    ~circular_buffer() {
-        destroy();
-#if BOOST_CB_ENABLE_DEBUG
-        invalidate_all_iterators();
-#endif
-    }
-
-public:
-// Assign methods
-
-    //! The assign operator.
-    /*!
-        Makes this <code>circular_buffer</code> to become a copy of the specified <code>circular_buffer</code>.
-        \post <code>*this == cb</code>
-        \param cb The <code>circular_buffer</code> to be copied.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Strong.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to this <code>circular_buffer</code> (except iterators equal to
-             <code>end()</code>).
-        \par Complexity
-             Linear (in the size of <code>cb</code>).
-        \sa <code>\link assign(size_type, param_value_type) assign(size_type, const_reference)\endlink</code>,
-            <code>\link assign(capacity_type, size_type, param_value_type)
-            assign(capacity_type, size_type, const_reference)\endlink</code>,
-            <code>assign(InputIterator, InputIterator)</code>,
-            <code>assign(capacity_type, InputIterator, InputIterator)</code>
-    */
-    circular_buffer<T, Alloc>& operator = (const circular_buffer<T, Alloc>& cb) {
-        if (this == &cb)
-            return *this;
-        pointer buff = allocate(cb.capacity());
-        BOOST_TRY {
-            reset(buff, cb_details::uninitialized_copy_with_alloc(cb.begin(), cb.end(), buff, m_alloc), cb.capacity());
-        } BOOST_CATCH(...) {
-            deallocate(buff, cb.capacity());
-            BOOST_RETHROW
-        }
-        BOOST_CATCH_END
-        return *this;
-    }
-
-    //! Assign <code>n</code> items into the <code>circular_buffer</code>.
-    /*!
-        The content of the <code>circular_buffer</code> will be removed and replaced with <code>n</code> copies of the
-        <code>item</code>.
-        \post <code>capacity() == n \&\& size() == n \&\& (*this)[0] == item \&\& (*this)[1] == item \&\& ... \&\&
-              (*this) [n - 1] == item</code>
-        \param n The number of elements the <code>circular_buffer</code> will be filled with.
-        \param item The element the <code>circular_buffer</code> will be filled with.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer</code> (except iterators equal to
-             <code>end()</code>).
-        \par Complexity
-             Linear (in the <code>n</code>).
-        \sa <code>\link operator=(const circular_buffer&) operator=\endlink</code>,
-            <code>\link assign(capacity_type, size_type, param_value_type)
-            assign(capacity_type, size_type, const_reference)\endlink</code>,
-            <code>assign(InputIterator, InputIterator)</code>,
-            <code>assign(capacity_type, InputIterator, InputIterator)</code>
-    */
-    void assign(size_type n, param_value_type item) {
-        assign_n(n, n, cb_details::assign_n<param_value_type, allocator_type>(n, item, m_alloc));
-    }
-
-    //! Assign <code>n</code> items into the <code>circular_buffer</code> specifying the capacity.
-    /*!
-        The capacity of the <code>circular_buffer</code> will be set to the specified value and the content of the
-        <code>circular_buffer</code> will be removed and replaced with <code>n</code> copies of the <code>item</code>.
-        \pre <code>capacity >= n</code>
-        \post <code>capacity() == buffer_capacity \&\& size() == n \&\& (*this)[0] == item \&\& (*this)[1] == item
-              \&\& ... \&\& (*this) [n - 1] == item </code>
-        \param buffer_capacity The new capacity.
-        \param n The number of elements the <code>circular_buffer</code> will be filled with.
-        \param item The element the <code>circular_buffer</code> will be filled with.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer</code> (except iterators equal to
-             <code>end()</code>).
-        \par Complexity
-             Linear (in the <code>n</code>).
-        \sa <code>\link operator=(const circular_buffer&) operator=\endlink</code>,
-            <code>\link assign(size_type, param_value_type) assign(size_type, const_reference)\endlink</code>,
-            <code>assign(InputIterator, InputIterator)</code>,
-            <code>assign(capacity_type, InputIterator, InputIterator)</code>
-    */
-    void assign(capacity_type buffer_capacity, size_type n, param_value_type item) {
-        BOOST_CB_ASSERT(buffer_capacity >= n); // check for new capacity lower than n
-        assign_n(buffer_capacity, n, cb_details::assign_n<param_value_type, allocator_type>(n, item, m_alloc));
-    }
-
-    //! Assign a copy of the range into the <code>circular_buffer</code>.
-    /*!
-        The content of the <code>circular_buffer</code> will be removed and replaced with copies of elements from the
-        specified range.
-        \pre Valid range <code>[first, last)</code>.<br>
-             <code>first</code> and <code>last</code> have to meet the requirements of
-             <a href="http://www.sgi.com/tech/stl/InputIterator.html">InputIterator</a>.
-        \post <code>capacity() == std::distance(first, last) \&\& size() == std::distance(first, last) \&\&
-             (*this)[0]== *first \&\& (*this)[1] == *(first + 1) \&\& ... \&\& (*this)[std::distance(first, last) - 1]
-             == *(last - 1)</code>
-        \param first The beginning of the range to be copied.
-        \param last The end of the range to be copied.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer</code> (except iterators equal to
-             <code>end()</code>).
-        \par Complexity
-             Linear (in the <code>std::distance(first, last)</code>).
-        \sa <code>\link operator=(const circular_buffer&) operator=\endlink</code>,
-            <code>\link assign(size_type, param_value_type) assign(size_type, const_reference)\endlink</code>,
-            <code>\link assign(capacity_type, size_type, param_value_type)
-            assign(capacity_type, size_type, const_reference)\endlink</code>,
-            <code>assign(capacity_type, InputIterator, InputIterator)</code>
-    */
-    template <class InputIterator>
-    void assign(InputIterator first, InputIterator last) {
-        assign(first, last, is_integral<InputIterator>());
-    }
-
-    //! Assign a copy of the range into the <code>circular_buffer</code> specifying the capacity.
-    /*!
-        The capacity of the <code>circular_buffer</code> will be set to the specified value and the content of the
-        <code>circular_buffer</code> will be removed and replaced with copies of elements from the specified range.
-        \pre Valid range <code>[first, last)</code>.<br>
-             <code>first</code> and <code>last</code> have to meet the requirements of
-             <a href="http://www.sgi.com/tech/stl/InputIterator.html">InputIterator</a>.
-        \post <code>capacity() == buffer_capacity \&\& size() \<= std::distance(first, last) \&\&
-             (*this)[0]== *(last - buffer_capacity) \&\& (*this)[1] == *(last - buffer_capacity + 1) \&\& ... \&\&
-             (*this)[buffer_capacity - 1] == *(last - 1)</code><br><br>
-             If the number of items to be copied from the range <code>[first, last)</code> is greater than the
-             specified <code>buffer_capacity</code> then only elements from the range
-             <code>[last - buffer_capacity, last)</code> will be copied.
-        \param buffer_capacity The new capacity.
-        \param first The beginning of the range to be copied.
-        \param last The end of the range to be copied.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer</code> (except iterators equal to
-             <code>end()</code>).
-        \par Complexity
-             Linear (in <code>std::distance(first, last)</code>; in
-             <code>min[capacity, std::distance(first, last)]</code> if the <code>InputIterator</code> is a
-             <a href="http://www.sgi.com/tech/stl/RandomAccessIterator.html">RandomAccessIterator</a>).
-        \sa <code>\link operator=(const circular_buffer&) operator=\endlink</code>,
-            <code>\link assign(size_type, param_value_type) assign(size_type, const_reference)\endlink</code>,
-            <code>\link assign(capacity_type, size_type, param_value_type)
-            assign(capacity_type, size_type, const_reference)\endlink</code>,
-            <code>assign(InputIterator, InputIterator)</code>
-    */
-    template <class InputIterator>
-    void assign(capacity_type buffer_capacity, InputIterator first, InputIterator last) {
-        assign(buffer_capacity, first, last, is_integral<InputIterator>());
-    }
-
-    //! Swap the contents of two <code>circular_buffer</code>s.
-    /*!
-        \post <code>this</code> contains elements of <code>cb</code> and vice versa; the capacity of <code>this</code>
-              equals to the capacity of <code>cb</code> and vice versa.
-        \param cb The <code>circular_buffer</code> whose content will be swapped.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Invalidates all iterators of both <code>circular_buffer</code>s. (On the other hand the iterators still
-             point to the same elements but within another container. If you want to rely on this feature you have to
-             turn the <a href="#debug">Debug Support</a> off otherwise an assertion will report an error if such
-             invalidated iterator is used.)
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>swap(circular_buffer<T, Alloc>&, circular_buffer<T, Alloc>&)</code>
-    */
-    void swap(circular_buffer<T, Alloc>& cb) {
-        swap_allocator(cb, is_stateless<allocator_type>());
-        std::swap(m_buff, cb.m_buff);
-        std::swap(m_end, cb.m_end);
-        std::swap(m_first, cb.m_first);
-        std::swap(m_last, cb.m_last);
-        std::swap(m_size, cb.m_size);
-#if BOOST_CB_ENABLE_DEBUG
-        invalidate_all_iterators();
-        cb.invalidate_all_iterators();
-#endif
-    }
-
-// push and pop
-
-    //! Insert a new element at the end of the <code>circular_buffer</code>.
-    /*!
-        \post if <code>capacity() > 0</code> then <code>back() == item</code><br>
-              If the <code>circular_buffer</code> is full, the first element will be removed. If the capacity is
-              <code>0</code>, nothing will be inserted.
-        \param item The element to be inserted.
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operation in the <i>Throws</i> section does not throw anything.
-        \par Iterator Invalidation
-             Does not invalidate any iterators with the exception of iterators pointing to the overwritten element.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>\link push_front() push_front(const_reference)\endlink</code>,
-            <code>pop_back()</code>, <code>pop_front()</code>
-    */
-    void push_back(param_value_type item = value_type()) {
-        if (full()) {
-            if (empty())
-                return;
-            replace(m_last, item);
-            increment(m_last);
-            m_first = m_last;
-        } else {
-            m_alloc.construct(m_last, item);
-            increment(m_last);
-            ++m_size;
-        }
-    }
-
-    //! Insert a new element at the beginning of the <code>circular_buffer</code>.
-    /*!
-        \post if <code>capacity() > 0</code> then <code>front() == item</code><br>
-              If the <code>circular_buffer</code> is full, the last element will be removed. If the capacity is
-              <code>0</code>, nothing will be inserted.
-        \param item The element to be inserted.
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operation in the <i>Throws</i> section does not throw anything.
-        \par Iterator Invalidation
-             Does not invalidate any iterators with the exception of iterators pointing to the overwritten element.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>\link push_back() push_back(const_reference)\endlink</code>,
-            <code>pop_back()</code>, <code>pop_front()</code>
-    */
-    void push_front(param_value_type item = value_type()) {
-        BOOST_TRY {
-            if (full()) {
-                if (empty())
-                    return;
-                decrement(m_first);
-                replace(m_first, item);
-                m_last = m_first;
-            } else {
-                decrement(m_first);
-                m_alloc.construct(m_first, item);
-                ++m_size;
-            }
-        } BOOST_CATCH(...) {
-            increment(m_first);
-            BOOST_RETHROW
-        }
-        BOOST_CATCH_END
-    }
-
-    //! Remove the last element from the <code>circular_buffer</code>.
-    /*!
-        \pre <code>!empty()</code>
-        \post The last element is removed from the <code>circular_buffer</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Invalidates only iterators pointing to the removed element.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>pop_front()</code>, <code>\link push_back() push_back(const_reference)\endlink</code>,
-            <code>\link push_front() push_front(const_reference)\endlink</code>
-    */
-    void pop_back() {
-        BOOST_CB_ASSERT(!empty()); // check for empty buffer (back element not available)
-        decrement(m_last);
-        destroy_item(m_last);
-        --m_size;
-    }
-
-    //! Remove the first element from the <code>circular_buffer</code>.
-    /*!
-        \pre <code>!empty()</code>
-        \post The first element is removed from the <code>circular_buffer</code>.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Invalidates only iterators pointing to the removed element.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>).
-        \sa <code>pop_back()</code>, <code>\link push_back() push_back(const_reference)\endlink</code>,
-            <code>\link push_front() push_front(const_reference)\endlink</code>
-    */
-    void pop_front() {
-        BOOST_CB_ASSERT(!empty()); // check for empty buffer (front element not available)
-        destroy_item(m_first);
-        increment(m_first);
-        --m_size;
-    }
-
-public:
-// Insert
-
-    //! Insert an element at the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer</code> or its end.
-        \post The <code>item</code> will be inserted at the position <code>pos</code>.<br>
-              If the <code>circular_buffer</code> is full, the first element will be overwritten. If the
-              <code>circular_buffer</code> is full and the <code>pos</code> points to <code>begin()</code>, then the
-              <code>item</code> will not be inserted. If the capacity is <code>0</code>, nothing will be inserted.
-        \param pos An iterator specifying the position where the <code>item</code> will be inserted.
-        \param item The element to be inserted.
-        \return Iterator to the inserted element or <code>begin()</code> if the <code>item</code> is not inserted. (See
-                the <i>Effect</i>.)
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operation in the <i>Throws</i> section does not throw anything.
-        \par Iterator Invalidation
-             Invalidates iterators pointing to the elements at the insertion point (including <code>pos</code>) and
-             iterators behind the insertion point (towards the end; except iterators equal to <code>end()</code>). It
-             also invalidates iterators pointing to the overwritten element.
-        \par Complexity
-             Linear (in <code>std::distance(pos, end())</code>).
-        \sa <code>\link insert(iterator, size_type, param_value_type)
-            insert(iterator, size_type, value_type)\endlink</code>,
-            <code>insert(iterator, InputIterator, InputIterator)</code>,
-            <code>\link rinsert(iterator, param_value_type) rinsert(iterator, value_type)\endlink</code>,
-            <code>\link rinsert(iterator, size_type, param_value_type)
-            rinsert(iterator, size_type, value_type)\endlink</code>,
-            <code>rinsert(iterator, InputIterator, InputIterator)</code>
-    */
-    iterator insert(iterator pos, param_value_type item = value_type()) {
-        BOOST_CB_ASSERT(pos.is_valid(this)); // check for uninitialized or invalidated iterator
-        iterator b = begin();
-        if (full() && pos == b)
-            return b;
-        return insert_item(pos, item);
-    }
-
-    //! Insert <code>n</code> copies of the <code>item</code> at the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer</code> or its end.
-        \post The number of <code>min[n, (pos - begin()) + reserve()]</code> elements will be inserted at the position
-              <code>pos</code>.<br>The number of <code>min[pos - begin(), max[0, n - reserve()]]</code> elements will
-              be overwritten at the beginning of the <code>circular_buffer</code>.<br>(See <i>Example</i> for the
-              explanation.)
-        \param pos An iterator specifying the position where the <code>item</code>s will be inserted.
-        \param n The number of <code>item</code>s the to be inserted.
-        \param item The element whose copies will be inserted.
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operations in the <i>Throws</i> section do not throw anything.
-        \par Iterator Invalidation
-             Invalidates iterators pointing to the elements at the insertion point (including <code>pos</code>) and
-             iterators behind the insertion point (towards the end; except iterators equal to <code>end()</code>). It
-             also invalidates iterators pointing to the overwritten elements.
-        \par Complexity
-             Linear (in <code>min[capacity(), std::distance(pos, end()) + n]</code>).
-        \par Example
-             Consider a <code>circular_buffer</code> with the capacity of 6 and the size of 4. Its internal buffer may
-             look like the one below.<br><br>
-             <code>|1|2|3|4| | |</code><br>
-             <code>p ---^</code><br><br>After inserting 5 elements at the position <code>p</code>:<br><br>
-             <code>insert(p, (size_t)5, 0);</code><br><br>actually only 4 elements get inserted and elements
-             <code>1</code> and <code>2</code> are overwritten. This is due to the fact the insert operation preserves
-             the capacity. After insertion the internal buffer looks like this:<br><br><code>|0|0|0|0|3|4|</code><br>
-             <br>For comparison if the capacity would not be preserved the internal buffer would then result in
-             <code>|1|2|0|0|0|0|0|3|4|</code>.
-        \sa <code>\link insert(iterator, param_value_type) insert(iterator, value_type)\endlink</code>,
-            <code>insert(iterator, InputIterator, InputIterator)</code>,
-            <code>\link rinsert(iterator, param_value_type) rinsert(iterator, value_type)\endlink</code>,
-            <code>\link rinsert(iterator, size_type, param_value_type)
-            rinsert(iterator, size_type, value_type)\endlink</code>,
-            <code>rinsert(iterator, InputIterator, InputIterator)</code>
-    */
-    void insert(iterator pos, size_type n, param_value_type item) {
-        BOOST_CB_ASSERT(pos.is_valid(this)); // check for uninitialized or invalidated iterator
-        if (n == 0)
-            return;
-        size_type copy = capacity() - (end() - pos);
-        if (copy == 0)
-            return;
-        if (n > copy)
-            n = copy;
-        insert_n(pos, n, cb_details::item_wrapper<const_pointer, param_value_type>(item));
-    }
-
-    //! Insert the range <code>[first, last)</code> at the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer</code> or its end.<br>
-             Valid range <code>[first, last)</code> where <code>first</code> and <code>last</code> meet the
-             requirements of an <a href="http://www.sgi.com/tech/stl/InputIterator.html">InputIterator</a>.
-        \post Elements from the range
-              <code>[first + max[0, distance(first, last) - (pos - begin()) - reserve()], last)</code> will be
-              inserted at the position <code>pos</code>.<br>The number of <code>min[pos - begin(), max[0,
-              distance(first, last) - reserve()]]</code> elements will be overwritten at the beginning of the
-              <code>circular_buffer</code>.<br>(See <i>Example</i> for the explanation.)
-        \param pos An iterator specifying the position where the range will be inserted.
-        \param first The beginning of the range to be inserted.
-        \param last The end of the range to be inserted.
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operations in the <i>Throws</i> section do not throw anything.
-        \par Iterator Invalidation
-             Invalidates iterators pointing to the elements at the insertion point (including <code>pos</code>) and
-             iterators behind the insertion point (towards the end; except iterators equal to <code>end()</code>). It
-             also invalidates iterators pointing to the overwritten elements.
-        \par Complexity
-             Linear (in <code>[std::distance(pos, end()) + std::distance(first, last)]</code>; in
-             <code>min[capacity(), std::distance(pos, end()) + std::distance(first, last)]</code> if the
-             <code>InputIterator</code> is a
-             <a href="http://www.sgi.com/tech/stl/RandomAccessIterator.html">RandomAccessIterator</a>).
-        \par Example
-             Consider a <code>circular_buffer</code> with the capacity of 6 and the size of 4. Its internal buffer may
-             look like the one below.<br><br>
-             <code>|1|2|3|4| | |</code><br>
-             <code>p ---^</code><br><br>After inserting a range of elements at the position <code>p</code>:<br><br>
-             <code>int array[] = { 5, 6, 7, 8, 9 };</code><br><code>insert(p, array, array + 5);</code><br><br>
-             actually only elements <code>6</code>, <code>7</code>, <code>8</code> and <code>9</code> from the
-             specified range get inserted and elements <code>1</code> and <code>2</code> are overwritten. This is due
-             to the fact the insert operation preserves the capacity. After insertion the internal buffer looks like
-             this:<br><br><code>|6|7|8|9|3|4|</code><br><br>For comparison if the capacity would not be preserved the
-             internal buffer would then result in <code>|1|2|5|6|7|8|9|3|4|</code>.
-        \sa <code>\link insert(iterator, param_value_type) insert(iterator, value_type)\endlink</code>,
-            <code>\link insert(iterator, size_type, param_value_type)
-            insert(iterator, size_type, value_type)\endlink</code>, <code>\link rinsert(iterator, param_value_type)
-            rinsert(iterator, value_type)\endlink</code>, <code>\link rinsert(iterator, size_type, param_value_type)
-            rinsert(iterator, size_type, value_type)\endlink</code>,
-            <code>rinsert(iterator, InputIterator, InputIterator)</code>
-    */
-    template <class InputIterator>
-    void insert(iterator pos, InputIterator first, InputIterator last) {
-        BOOST_CB_ASSERT(pos.is_valid(this)); // check for uninitialized or invalidated iterator
-        insert(pos, first, last, is_integral<InputIterator>());
-    }
-
-    //! Insert an element before the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer</code> or its end.
-        \post The <code>item</code> will be inserted before the position <code>pos</code>.<br>
-              If the <code>circular_buffer</code> is full, the last element will be overwritten. If the
-              <code>circular_buffer</code> is full and the <code>pos</code> points to <code>end()</code>, then the
-              <code>item</code> will not be inserted. If the capacity is <code>0</code>, nothing will be inserted.
-        \param pos An iterator specifying the position before which the <code>item</code> will be inserted.
-        \param item The element to be inserted.
-        \return Iterator to the inserted element or <code>end()</code> if the <code>item</code> is not inserted. (See
-                the <i>Effect</i>.)
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operations in the <i>Throws</i> section do not throw anything.
-        \par Iterator Invalidation
-             Invalidates iterators pointing to the elements before the insertion point (towards the beginning and
-             excluding <code>pos</code>). It also invalidates iterators pointing to the overwritten element.
-        \par Complexity
-             Linear (in <code>std::distance(begin(), pos)</code>).
-        \sa <code>\link rinsert(iterator, size_type, param_value_type)
-            rinsert(iterator, size_type, value_type)\endlink</code>,
-            <code>rinsert(iterator, InputIterator, InputIterator)</code>,
-            <code>\link insert(iterator, param_value_type) insert(iterator, value_type)\endlink</code>,
-            <code>\link insert(iterator, size_type, param_value_type)
-            insert(iterator, size_type, value_type)\endlink</code>,
-            <code>insert(iterator, InputIterator, InputIterator)</code>
-    */
-    iterator rinsert(iterator pos, param_value_type item = value_type()) {
-        BOOST_CB_ASSERT(pos.is_valid(this)); // check for uninitialized or invalidated iterator
-        if (full() && pos.m_it == 0)
-            return end();
-        if (pos == begin()) {
-            BOOST_TRY {
-                decrement(m_first);
-                construct_or_replace(!full(), m_first, item);
-            } BOOST_CATCH(...) {
-                increment(m_first);
-                BOOST_RETHROW
-            }
-            BOOST_CATCH_END
-            pos.m_it = m_first;
-        } else {
-            pointer src = m_first;
-            pointer dest = m_first;
-            decrement(dest);
-            pos.m_it = map_pointer(pos.m_it);
-            bool construct = !full();
-            BOOST_TRY {
-                while (src != pos.m_it) {
-                    construct_or_replace(construct, dest, *src);
-                    increment(src);
-                    increment(dest);
-                    construct = false;
-                }
-                decrement(pos.m_it);
-                replace(pos.m_it, item);
-            } BOOST_CATCH(...) {
-                if (!construct && !full()) {
-                    decrement(m_first);
-                    ++m_size;
-                }
-                BOOST_RETHROW
-            }
-            BOOST_CATCH_END
-            decrement(m_first);
-        }
-        if (full())
-            m_last = m_first;
-        else
-            ++m_size;
-        return iterator(this, pos.m_it);
-    }
-
-    //! Insert <code>n</code> copies of the <code>item</code> before the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer</code> or its end.
-        \post The number of <code>min[n, (end() - pos) + reserve()]</code> elements will be inserted before the
-              position <code>pos</code>.<br>The number of <code>min[end() - pos, max[0, n - reserve()]]</code> elements
-              will be overwritten at the end of the <code>circular_buffer</code>.<br>(See <i>Example</i> for the
-              explanation.)
-        \param pos An iterator specifying the position where the <code>item</code>s will be inserted.
-        \param n The number of <code>item</code>s the to be inserted.
-        \param item The element whose copies will be inserted.
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operations in the <i>Throws</i> section do not throw anything.
-        \par Iterator Invalidation
-             Invalidates iterators pointing to the elements before the insertion point (towards the beginning and
-             excluding <code>pos</code>). It also invalidates iterators pointing to the overwritten elements.
-        \par Complexity
-             Linear (in <code>min[capacity(), std::distance(begin(), pos) + n]</code>).
-        \par Example
-             Consider a <code>circular_buffer</code> with the capacity of 6 and the size of 4. Its internal buffer may
-             look like the one below.<br><br>
-             <code>|1|2|3|4| | |</code><br>
-             <code>p ---^</code><br><br>After inserting 5 elements before the position <code>p</code>:<br><br>
-             <code>rinsert(p, (size_t)5, 0);</code><br><br>actually only 4 elements get inserted and elements
-             <code>3</code> and <code>4</code> are overwritten. This is due to the fact the rinsert operation preserves
-             the capacity. After insertion the internal buffer looks like this:<br><br><code>|1|2|0|0|0|0|</code><br>
-             <br>For comparison if the capacity would not be preserved the internal buffer would then result in
-             <code>|1|2|0|0|0|0|0|3|4|</code>.
-        \sa <code>\link rinsert(iterator, param_value_type) rinsert(iterator, value_type)\endlink</code>,
-            <code>rinsert(iterator, InputIterator, InputIterator)</code>,
-            <code>\link insert(iterator, param_value_type) insert(iterator, value_type)\endlink</code>,
-            <code>\link insert(iterator, size_type, param_value_type)
-            insert(iterator, size_type, value_type)\endlink</code>,
-            <code>insert(iterator, InputIterator, InputIterator)</code>
-    */
-    void rinsert(iterator pos, size_type n, param_value_type item) {
-        BOOST_CB_ASSERT(pos.is_valid(this)); // check for uninitialized or invalidated iterator
-        rinsert_n(pos, n, cb_details::item_wrapper<const_pointer, param_value_type>(item));
-    }
-
-    //! Insert the range <code>[first, last)</code> before the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer</code> or its end.<br>
-             Valid range <code>[first, last)</code> where <code>first</code> and <code>last</code> meet the
-             requirements of an <a href="http://www.sgi.com/tech/stl/InputIterator.html">InputIterator</a>.
-        \post Elements from the range
-              <code>[first, last - max[0, distance(first, last) - (end() - pos) - reserve()])</code> will be inserted
-              before the position <code>pos</code>.<br>The number of <code>min[end() - pos, max[0,
-              distance(first, last) - reserve()]]</code> elements will be overwritten at the end of the
-              <code>circular_buffer</code>.<br>(See <i>Example</i> for the explanation.)
-        \param pos An iterator specifying the position where the range will be inserted.
-        \param first The beginning of the range to be inserted.
-        \param last The end of the range to be inserted.
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operations in the <i>Throws</i> section do not throw anything.
-        \par Iterator Invalidation
-             Invalidates iterators pointing to the elements before the insertion point (towards the beginning and
-             excluding <code>pos</code>). It also invalidates iterators pointing to the overwritten elements.
-        \par Complexity
-             Linear (in <code>[std::distance(begin(), pos) + std::distance(first, last)]</code>; in
-             <code>min[capacity(), std::distance(begin(), pos) + std::distance(first, last)]</code> if the
-             <code>InputIterator</code> is a
-             <a href="http://www.sgi.com/tech/stl/RandomAccessIterator.html">RandomAccessIterator</a>).
-        \par Example
-             Consider a <code>circular_buffer</code> with the capacity of 6 and the size of 4. Its internal buffer may
-             look like the one below.<br><br>
-             <code>|1|2|3|4| | |</code><br>
-             <code>p ---^</code><br><br>After inserting a range of elements before the position <code>p</code>:<br><br>
-             <code>int array[] = { 5, 6, 7, 8, 9 };</code><br><code>insert(p, array, array + 5);</code><br><br>
-             actually only elements <code>5</code>, <code>6</code>, <code>7</code> and <code>8</code> from the
-             specified range get inserted and elements <code>3</code> and <code>4</code> are overwritten. This is due
-             to the fact the rinsert operation preserves the capacity. After insertion the internal buffer looks like
-             this:<br><br><code>|1|2|5|6|7|8|</code><br><br>For comparison if the capacity would not be preserved the
-             internal buffer would then result in <code>|1|2|5|6|7|8|9|3|4|</code>.
-        \sa <code>\link rinsert(iterator, param_value_type) rinsert(iterator, value_type)\endlink</code>,
-            <code>\link rinsert(iterator, size_type, param_value_type)
-            rinsert(iterator, size_type, value_type)\endlink</code>, <code>\link insert(iterator, param_value_type)
-            insert(iterator, value_type)\endlink</code>, <code>\link insert(iterator, size_type, param_value_type)
-            insert(iterator, size_type, value_type)\endlink</code>,
-            <code>insert(iterator, InputIterator, InputIterator)</code>
-    */
-    template <class InputIterator>
-    void rinsert(iterator pos, InputIterator first, InputIterator last) {
-        BOOST_CB_ASSERT(pos.is_valid(this)); // check for uninitialized or invalidated iterator
-        rinsert(pos, first, last, is_integral<InputIterator>());
-    }
-
-// Erase
-
-    //! Remove an element at the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer</code> (but not an
-             <code>end()</code>).
-        \post The element at the position <code>pos</code> is removed.
-        \param pos An iterator pointing at the element to be removed.
-        \return Iterator to the first element remaining beyond the removed element or <code>end()</code> if no such
-                element exists.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operation in the <i>Throws</i> section does not throw anything.
-        \par Iterator Invalidation
-             Invalidates iterators pointing to the erased element and iterators pointing to the elements behind
-             the erased element (towards the end; except iterators equal to <code>end()</code>).
-        \par Complexity
-             Linear (in <code>std::distance(pos, end())</code>).
-        \sa <code>erase(iterator, iterator)</code>, <code>rerase(iterator)</code>,
-            <code>rerase(iterator, iterator)</code>, <code>erase_begin(size_type)</code>,
-            <code>erase_end(size_type)</code>, <code>clear()</code>
-    */
-    iterator erase(iterator pos) {
-        BOOST_CB_ASSERT(pos.is_valid(this)); // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(pos.m_it != 0);      // check for iterator pointing to end()
-        pointer next = pos.m_it;
-        increment(next);
-        for (pointer p = pos.m_it; next != m_last; p = next, increment(next))
-            replace(p, *next);
-        decrement(m_last);
-        destroy_item(m_last);
-        --m_size;
-#if BOOST_CB_ENABLE_DEBUG
-        return m_last == pos.m_it ? end() : iterator(this, pos.m_it);
-#else
-        return m_last == pos.m_it ? end() : pos;
-#endif
-    }
-
-    //! Erase the range <code>[first, last)</code>.
-    /*!
-        \pre Valid range <code>[first, last)</code>.
-        \post The elements from the range <code>[first, last)</code> are removed. (If <code>first == last</code>
-              nothing is removed.)
-        \param first The beginning of the range to be removed.
-        \param last The end of the range to be removed.
-        \return Iterator to the first element remaining beyond the removed elements or <code>end()</code> if no such
-                element exists.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operation in the <i>Throws</i> section does not throw anything.
-        \par Iterator Invalidation
-             Invalidates iterators pointing to the erased elements and iterators pointing to the elements behind
-             the erased range (towards the end; except iterators equal to <code>end()</code>).
-        \par Complexity
-             Linear (in <code>std::distance(first, end())</code>).
-        \sa <code>erase(iterator)</code>, <code>rerase(iterator)</code>, <code>rerase(iterator, iterator)</code>,
-            <code>erase_begin(size_type)</code>, <code>erase_end(size_type)</code>, <code>clear()</code>
-    */
-    iterator erase(iterator first, iterator last) {
-        BOOST_CB_ASSERT(first.is_valid(this)); // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(last.is_valid(this));  // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(first <= last);        // check for wrong range
-        if (first == last)
-            return first;
-        pointer p = first.m_it;
-        while (last.m_it != 0)
-            replace((first++).m_it, *last++);
-        do {
-            decrement(m_last);
-            destroy_item(m_last);
-            --m_size;
-        } while(m_last != first.m_it);
-        return m_last == p ? end() : iterator(this, p);
-    }
-
-    //! Remove an element at the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer</code> (but not an
-             <code>end()</code>).
-        \post The element at the position <code>pos</code> is removed.
-        \param pos An iterator pointing at the element to be removed.
-        \return Iterator to the first element remaining in front of the removed element or <code>begin()</code> if no
-                such element exists.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operation in the <i>Throws</i> section does not throw anything.
-        \par Iterator Invalidation
-             Invalidates iterators pointing to the erased element and iterators pointing to the elements in front of
-             the erased element (towards the beginning).
-        \par Complexity
-             Linear (in <code>std::distance(begin(), pos)</code>).
-        \note This method is symetric to the <code>erase(iterator)</code> method and is more effective than
-              <code>erase(iterator)</code> if the iterator <code>pos</code> is close to the beginning of the
-              <code>circular_buffer</code>. (See the <i>Complexity</i>.)
-        \sa <code>erase(iterator)</code>, <code>erase(iterator, iterator)</code>,
-            <code>rerase(iterator, iterator)</code>, <code>erase_begin(size_type)</code>,
-            <code>erase_end(size_type)</code>, <code>clear()</code>
-    */
-    iterator rerase(iterator pos) {
-        BOOST_CB_ASSERT(pos.is_valid(this)); // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(pos.m_it != 0);      // check for iterator pointing to end()
-        pointer prev = pos.m_it;
-        pointer p = prev;
-        for (decrement(prev); p != m_first; p = prev, decrement(prev))
-            replace(p, *prev);
-        destroy_item(m_first);
-        increment(m_first);
-        --m_size;
-#if BOOST_CB_ENABLE_DEBUG
-        return p == pos.m_it ? begin() : iterator(this, pos.m_it);
-#else
-        return p == pos.m_it ? begin() : pos;
-#endif
-    }
-
-    //! Erase the range <code>[first, last)</code>.
-    /*!
-        \pre Valid range <code>[first, last)</code>.
-        \post The elements from the range <code>[first, last)</code> are removed. (If <code>first == last</code>
-              nothing is removed.)
-        \param first The beginning of the range to be removed.
-        \param last The end of the range to be removed.
-        \return Iterator to the first element remaining in front of the removed elements or <code>begin()</code> if no
-                such element exists.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic; no-throw if the operation in the <i>Throws</i> section does not throw anything.
-        \par Iterator Invalidation
-             Invalidates iterators pointing to the erased elements and iterators pointing to the elements in front of
-             the erased range (towards the beginning).
-        \par Complexity
-             Linear (in <code>std::distance(begin(), last)</code>).
-        \note This method is symetric to the <code>erase(iterator, iterator)</code> method and is more effective than
-              <code>erase(iterator, iterator)</code> if <code>std::distance(begin(), first)</code> is lower that
-              <code>std::distance(last, end())</code>.
-        \sa <code>erase(iterator)</code>, <code>erase(iterator, iterator)</code>, <code>rerase(iterator)</code>,
-            <code>erase_begin(size_type)</code>, <code>erase_end(size_type)</code>, <code>clear()</code>
-    */
-    iterator rerase(iterator first, iterator last) {
-        BOOST_CB_ASSERT(first.is_valid(this)); // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(last.is_valid(this));  // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(first <= last);        // check for wrong range
-        if (first == last)
-            return first;
-        pointer p = map_pointer(last.m_it);
-        last.m_it = p;
-        while (first.m_it != m_first) {
-            decrement(first.m_it);
-            decrement(p);
-            replace(p, *first.m_it);
-        }
-        do {
-            destroy_item(m_first);
-            increment(m_first);
-            --m_size;
-        } while(m_first != p);
-        if (m_first == last.m_it)
-            return begin();
-        decrement(last.m_it);
-        return iterator(this, last.m_it);
-    }
-
-    //! Remove first <code>n</code> elements (with constant complexity for scalar types).
-    /*!
-        \pre <code>n \<= size()</code>
-        \post The <code>n</code> elements at the beginning of the <code>circular_buffer</code> will be removed.
-        \param n The number of elements to be removed.
-        \throws Whatever <code>T::operator = (const T&)</code> throws. (Does not throw anything in case of scalars.)
-        \par Exception Safety
-             Basic; no-throw if the operation in the <i>Throws</i> section does not throw anything. (I.e. no throw in
-             case of scalars.)
-        \par Iterator Invalidation
-             Invalidates iterators pointing to the first <code>n</code> erased elements.
-        \par Complexity
-             Constant (in <code>n</code>) for scalar types; linear for other types.
-        \note This method has been specially designed for types which do not require an explicit destructruction (e.g.
-              integer, float or a pointer). For these scalar types a call to a destructor is not required which makes
-              it possible to implement the "erase from beginning" operation with a constant complexity. For non-sacalar
-              types the complexity is linear (hence the explicit destruction is needed) and the implementation is
-              actually equivalent to
-              <code>\link circular_buffer::rerase(iterator, iterator) rerase(begin(), begin() + n)\endlink</code>.
-        \sa <code>erase(iterator)</code>, <code>erase(iterator, iterator)</code>,
-            <code>rerase(iterator)</code>, <code>rerase(iterator, iterator)</code>,
-            <code>erase_end(size_type)</code>, <code>clear()</code>
-    */
-    void erase_begin(size_type n) {
-        BOOST_CB_ASSERT(n <= size()); // check for n greater than size
-#if BOOST_CB_ENABLE_DEBUG
-        erase_begin(n, false_type());
-#else
-        erase_begin(n, is_scalar<value_type>());
-#endif
-    }
-
-    //! Remove last <code>n</code> elements (with constant complexity for scalar types).
-    /*!
-        \pre <code>n \<= size()</code>
-        \post The <code>n</code> elements at the end of the <code>circular_buffer</code> will be removed.
-        \param n The number of elements to be removed.
-        \throws Whatever <code>T::operator = (const T&)</code> throws. (Does not throw anything in case of scalars.)
-        \par Exception Safety
-             Basic; no-throw if the operation in the <i>Throws</i> section does not throw anything. (I.e. no throw in
-             case of scalars.)
-        \par Iterator Invalidation
-             Invalidates iterators pointing to the last <code>n</code> erased elements.
-        \par Complexity
-             Constant (in <code>n</code>) for scalar types; linear for other types.
-        \note This method has been specially designed for types which do not require an explicit destructruction (e.g.
-              integer, float or a pointer). For these scalar types a call to a destructor is not required which makes
-              it possible to implement the "erase from end" operation with a constant complexity. For non-sacalar
-              types the complexity is linear (hence the explicit destruction is needed) and the implementation is
-              actually equivalent to
-              <code>\link circular_buffer::erase(iterator, iterator) erase(end() - n, end())\endlink</code>.
-        \sa <code>erase(iterator)</code>, <code>erase(iterator, iterator)</code>,
-            <code>rerase(iterator)</code>, <code>rerase(iterator, iterator)</code>,
-            <code>erase_begin(size_type)</code>, <code>clear()</code>
-    */
-    void erase_end(size_type n) {
-        BOOST_CB_ASSERT(n <= size()); // check for n greater than size
-#if BOOST_CB_ENABLE_DEBUG
-        erase_end(n, false_type());
-#else
-        erase_end(n, is_scalar<value_type>());
-#endif
-    }
-
-    //! Remove all stored elements from the <code>circular_buffer</code>.
-    /*!
-        \post <code>size() == 0</code>
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer</code> (except iterators equal to
-             <code>end()</code>).
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer</code>) for scalar types; linear for other types.
-        \sa <code>~circular_buffer()</code>, <code>erase(iterator)</code>, <code>erase(iterator, iterator)</code>,
-            <code>rerase(iterator)</code>, <code>rerase(iterator, iterator)</code>,
-            <code>erase_begin(size_type)</code>, <code>erase_end(size_type)</code>
-    */
-    void clear() {
-        destroy_content();
-        m_size = 0;
-    }
-
-private:
-// Helper methods
-
-    //! Check if the <code>index</code> is valid.
-    void check_position(size_type index) const {
-        if (index >= size())
-            throw_exception(std::out_of_range("circular_buffer"));
-    }
-
-    //! Increment the pointer.
-    template <class Pointer>
-    void increment(Pointer& p) const {
-        if (++p == m_end)
-            p = m_buff;
-    }
-
-    //! Decrement the pointer.
-    template <class Pointer>
-    void decrement(Pointer& p) const {
-        if (p == m_buff)
-            p = m_end;
-        --p;
-    }
-
-    //! Add <code>n</code> to the pointer.
-    template <class Pointer>
-    Pointer add(Pointer p, difference_type n) const {
-        return p + (n < (m_end - p) ? n : n - capacity());
-    }
-
-    //! Subtract <code>n</code> from the pointer.
-    template <class Pointer>
-    Pointer sub(Pointer p, difference_type n) const {
-        return p - (n > (p - m_buff) ? n - capacity() : n);
-    }
-
-    //! Map the null pointer to virtual end of circular buffer.
-    pointer map_pointer(pointer p) const { return p == 0 ? m_last : p; }
-
-    //! Allocate memory.
-    pointer allocate(size_type n) {
-        if (n > max_size())
-            throw_exception(std::length_error("circular_buffer"));
-#if BOOST_CB_ENABLE_DEBUG
-        pointer p = (n == 0) ? 0 : m_alloc.allocate(n, 0);
-        std::memset(p, cb_details::UNINITIALIZED, sizeof(value_type) * n);
-        return p;
-#else
-        return (n == 0) ? 0 : m_alloc.allocate(n, 0);
-#endif
-    }
-
-    //! Deallocate memory.
-    void deallocate(pointer p, size_type n) {
-        if (p != 0)
-            m_alloc.deallocate(p, n);
-    }
-
-    //! Does the pointer point to the uninitialized memory?
-    bool is_uninitialized(const_pointer p) const {
-        return p >= m_last && (m_first < m_last || p < m_first);
-    }
-
-    //! Replace an element.
-    void replace(pointer pos, param_value_type item) {
-        *pos = item;
-#if BOOST_CB_ENABLE_DEBUG
-        invalidate_iterators(iterator(this, pos));
-#endif
-    }
-
-    //! Construct or replace an element.
-    /*!
-        <code>construct</code> has to be set to <code>true</code> if and only if
-        <code>pos</code> points to an uninitialized memory.
-    */
-    void construct_or_replace(bool construct, pointer pos, param_value_type item) {
-        if (construct)
-            m_alloc.construct(pos, item);
-        else
-            replace(pos, item);
-    }
-
-    //! Destroy an item.
-    void destroy_item(pointer p) {
-        m_alloc.destroy(p);
-#if BOOST_CB_ENABLE_DEBUG
-        invalidate_iterators(iterator(this, p));
-        std::memset(p, cb_details::UNINITIALIZED, sizeof(value_type));
-#endif
-    }
-
-    //! Destroy an item only if it has been constructed.
-    void destroy_if_constructed(pointer pos) {
-        if (is_uninitialized(pos))
-            destroy_item(pos);
-    }
-
-    //! Destroy the whole content of the circular buffer.
-    void destroy_content() {
-#if BOOST_CB_ENABLE_DEBUG
-        destroy_content(false_type());
-#else
-        destroy_content(is_scalar<value_type>());
-#endif
-    }
-
-    //! Specialized destroy_content method.
-    void destroy_content(const true_type&) {
-        m_first = add(m_first, size());
-    }
-
-    //! Specialized destroy_content method.
-    void destroy_content(const false_type&) {
-        for (size_type ii = 0; ii < size(); ++ii, increment(m_first))
-            destroy_item(m_first);
-    }
-
-    //! Destroy content and free allocated memory.
-    void destroy() {
-        destroy_content();
-        deallocate(m_buff, capacity());
-#if BOOST_CB_ENABLE_DEBUG
-        m_buff = 0;
-        m_first = 0;
-        m_last = 0;
-        m_end = 0;
-#endif
-    }
-
-    //! Initialize the internal buffer.
-    void initialize_buffer(capacity_type buffer_capacity) {
-        m_buff = allocate(buffer_capacity);
-        m_end = m_buff + buffer_capacity;
-    }
-
-    //! Initialize the internal buffer.
-    void initialize_buffer(capacity_type buffer_capacity, param_value_type item) {
-        initialize_buffer(buffer_capacity);
-        BOOST_TRY {
-            cb_details::uninitialized_fill_n_with_alloc(m_buff, size(), item, m_alloc);
-        } BOOST_CATCH(...) {
-            deallocate(m_buff, size());
-            BOOST_RETHROW
-        }
-        BOOST_CATCH_END
-    }
-
-    //! Specialized initialize method.
-    template <class IntegralType>
-    void initialize(IntegralType n, IntegralType item, const true_type&) {
-        m_size = static_cast<size_type>(n);
-        initialize_buffer(size(), item);
-        m_first = m_last = m_buff;
-    }
-
-    //! Specialized initialize method.
-    template <class Iterator>
-    void initialize(Iterator first, Iterator last, const false_type&) {
-        BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
-        initialize(first, last, BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#else
-        initialize(first, last, BOOST_DEDUCED_TYPENAME BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#endif
-    }
-
-    //! Specialized initialize method.
-    template <class InputIterator>
-    void initialize(InputIterator first, InputIterator last, const std::input_iterator_tag&) {
-        BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS // check if the STL provides templated iterator constructors
-                                                        // for containers
-        std::deque<value_type, allocator_type> tmp(first, last, m_alloc);
-        size_type distance = tmp.size();
-        initialize(distance, tmp.begin(), tmp.end(), distance);
-    }
-
-    //! Specialized initialize method.
-    template <class ForwardIterator>
-    void initialize(ForwardIterator first, ForwardIterator last, const std::forward_iterator_tag&) {
-        BOOST_CB_ASSERT(std::distance(first, last) >= 0); // check for wrong range
-        size_type distance = std::distance(first, last);
-        initialize(distance, first, last, distance);
-    }
-
-    //! Specialized initialize method.
-    template <class IntegralType>
-    void initialize(capacity_type buffer_capacity, IntegralType n, IntegralType item, const true_type&) {
-        BOOST_CB_ASSERT(buffer_capacity >= static_cast<size_type>(n)); // check for capacity lower than n
-        m_size = static_cast<size_type>(n);
-        initialize_buffer(buffer_capacity, item);
-        m_first = m_buff;
-        m_last = buffer_capacity == size() ? m_buff : m_buff + size();
-    }
-
-    //! Specialized initialize method.
-    template <class Iterator>
-    void initialize(capacity_type buffer_capacity, Iterator first, Iterator last, const false_type&) {
-        BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
-        initialize(buffer_capacity, first, last, BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#else
-        initialize(buffer_capacity, first, last, BOOST_DEDUCED_TYPENAME BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#endif
-    }
-
-    //! Specialized initialize method.
-    template <class InputIterator>
-    void initialize(capacity_type buffer_capacity,
-        InputIterator first,
-        InputIterator last,
-        const std::input_iterator_tag&) {
-        initialize_buffer(buffer_capacity);
-        m_first = m_last = m_buff;
-        m_size = 0;
-        if (buffer_capacity == 0)
-            return;
-        while (first != last && !full()) {
-            m_alloc.construct(m_last, *first++);
-            increment(m_last);
-            ++m_size;
-        }
-        while (first != last) {
-            replace(m_last, *first++);
-            increment(m_last);
-            m_first = m_last;
-        }
-    }
-
-    //! Specialized initialize method.
-    template <class ForwardIterator>
-    void initialize(capacity_type buffer_capacity,
-        ForwardIterator first,
-        ForwardIterator last,
-        const std::forward_iterator_tag&) {
-        BOOST_CB_ASSERT(std::distance(first, last) >= 0); // check for wrong range
-        initialize(buffer_capacity, first, last, std::distance(first, last));
-    }
-
-    //! Initialize the circular buffer.
-    template <class ForwardIterator>
-    void initialize(capacity_type buffer_capacity,
-        ForwardIterator first,
-        ForwardIterator last,
-        size_type distance) {
-        initialize_buffer(buffer_capacity);
-        m_first = m_buff;
-        if (distance > buffer_capacity) {
-            std::advance(first, distance - buffer_capacity);
-            m_size = buffer_capacity;
-        } else {
-            m_size = distance;
-        }
-        BOOST_TRY {
-            m_last = cb_details::uninitialized_copy_with_alloc(first, last, m_buff, m_alloc);
-        } BOOST_CATCH(...) {
-            deallocate(m_buff, buffer_capacity);
-            BOOST_RETHROW
-        }
-        BOOST_CATCH_END
-        if (m_last == m_end)
-            m_last = m_buff;
-    }
-
-    //! Reset the circular buffer.
-    void reset(pointer buff, pointer last, capacity_type new_capacity) {
-        destroy();
-        m_size = last - buff;
-        m_first = m_buff = buff;
-        m_end = m_buff + new_capacity;
-        m_last = last == m_end ? m_buff : last;
-    }
-
-    //! Specialized method for swapping the allocator.
-    void swap_allocator(circular_buffer<T, Alloc>& cb, const true_type&) {
-        // Swap is not needed because allocators have no state.
-    }
-
-    //! Specialized method for swapping the allocator.
-    void swap_allocator(circular_buffer<T, Alloc>& cb, const false_type&) {
-        std::swap(m_alloc, cb.m_alloc);
-    }
-
-    //! Specialized assign method.
-    template <class IntegralType>
-    void assign(IntegralType n, IntegralType item, const true_type&) {
-        assign(static_cast<size_type>(n), static_cast<value_type>(item));
-    }
-
-    //! Specialized assign method.
-    template <class Iterator>
-    void assign(Iterator first, Iterator last, const false_type&) {
-        BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
-        assign(first, last, BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#else
-        assign(first, last, BOOST_DEDUCED_TYPENAME BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#endif
-    }
-
-    //! Specialized assign method.
-    template <class InputIterator>
-    void assign(InputIterator first, InputIterator last, const std::input_iterator_tag&) {
-        BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS // check if the STL provides templated iterator constructors
-                                                        // for containers
-        std::deque<value_type, allocator_type> tmp(first, last, m_alloc);
-        size_type distance = tmp.size();
-        assign_n(distance, distance,
-            cb_details::assign_range<BOOST_DEDUCED_TYPENAME std::deque<value_type, allocator_type>::iterator,
-                allocator_type>(tmp.begin(), tmp.end(), m_alloc));
-    }
-
-    //! Specialized assign method.
-    template <class ForwardIterator>
-    void assign(ForwardIterator first, ForwardIterator last, const std::forward_iterator_tag&) {
-        BOOST_CB_ASSERT(std::distance(first, last) >= 0); // check for wrong range
-        size_type distance = std::distance(first, last);
-        assign_n(distance, distance, cb_details::assign_range<ForwardIterator, allocator_type>(first, last, m_alloc));
-    }
-
-    //! Specialized assign method.
-    template <class IntegralType>
-    void assign(capacity_type new_capacity, IntegralType n, IntegralType item, const true_type&) {
-        assign(new_capacity, static_cast<size_type>(n), static_cast<value_type>(item));
-    }
-
-    //! Specialized assign method.
-    template <class Iterator>
-    void assign(capacity_type new_capacity, Iterator first, Iterator last, const false_type&) {
-        BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
-        assign(new_capacity, first, last, BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#else
-        assign(new_capacity, first, last, BOOST_DEDUCED_TYPENAME BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#endif
-    }
-
-    //! Specialized assign method.
-    template <class InputIterator>
-    void assign(capacity_type new_capacity, InputIterator first, InputIterator last, const std::input_iterator_tag&) {
-        if (new_capacity == capacity()) {
-            clear();
-            insert(begin(), first, last);
-        } else {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-            circular_buffer<value_type, allocator_type> tmp(new_capacity, m_alloc);
-            tmp.insert(begin(), first, last);
-#else
-            circular_buffer<value_type, allocator_type> tmp(new_capacity, first, last, m_alloc);
-#endif
-            tmp.swap(*this);
-        }
-    }
-
-    //! Specialized assign method.
-    template <class ForwardIterator>
-    void assign(capacity_type new_capacity, ForwardIterator first, ForwardIterator last,
-        const std::forward_iterator_tag&) {
-        BOOST_CB_ASSERT(std::distance(first, last) >= 0); // check for wrong range
-        size_type distance = std::distance(first, last);
-        if (distance > new_capacity) {
-            std::advance(first, distance - new_capacity);
-            distance = new_capacity;
-        }
-        assign_n(new_capacity, distance,
-            cb_details::assign_range<ForwardIterator, allocator_type>(first, last, m_alloc));
-    }
-
-    //! Helper assign method.
-    template <class Functor>
-    void assign_n(capacity_type new_capacity, size_type n, const Functor& fnc) {
-        if (new_capacity == capacity()) {
-            destroy_content();
-            BOOST_TRY {
-                fnc(m_buff);
-            } BOOST_CATCH(...) {
-                m_size = 0;
-                BOOST_RETHROW
-            }
-            BOOST_CATCH_END
-        } else {
-            pointer buff = allocate(new_capacity);
-            BOOST_TRY {
-                fnc(buff);
-            } BOOST_CATCH(...) {
-                deallocate(buff, new_capacity);
-                BOOST_RETHROW
-            }
-            BOOST_CATCH_END
-            destroy();
-            m_buff = buff;
-            m_end = m_buff + new_capacity;
-        }
-        m_size = n;
-        m_first = m_buff;
-        m_last = add(m_buff, size());
-    }
-
-    //! Helper insert method.
-    iterator insert_item(const iterator& pos, param_value_type item) {
-        pointer p = pos.m_it;
-        if (p == 0) {
-            construct_or_replace(!full(), m_last, item);
-            p = m_last;
-        } else {
-            pointer src = m_last;
-            pointer dest = m_last;
-            bool construct = !full();
-            BOOST_TRY {
-                while (src != p) {
-                    decrement(src);
-                    construct_or_replace(construct, dest, *src);
-                    decrement(dest);
-                    construct = false;
-                }
-                replace(p, item);
-            } BOOST_CATCH(...) {
-                if (!construct && !full()) {
-                    increment(m_last);
-                    ++m_size;
-                }
-                BOOST_RETHROW
-            }
-            BOOST_CATCH_END
-        }
-        increment(m_last);
-        if (full())
-            m_first = m_last;
-        else
-            ++m_size;
-        return iterator(this, p);
-    }
-
-    //! Specialized insert method.
-    template <class IntegralType>
-    void insert(const iterator& pos, IntegralType n, IntegralType item, const true_type&) {
-        insert(pos, static_cast<size_type>(n), static_cast<value_type>(item));
-    }
-
-    //! Specialized insert method.
-    template <class Iterator>
-    void insert(const iterator& pos, Iterator first, Iterator last, const false_type&) {
-        BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
-        insert(pos, first, last, BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#else
-        insert(pos, first, last, BOOST_DEDUCED_TYPENAME BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#endif
-    }
-
-    //! Specialized insert method.
-    template <class InputIterator>
-    void insert(iterator pos, InputIterator first, InputIterator last, const std::input_iterator_tag&) {
-        if (!full() || pos != begin()) {
-            for (;first != last; ++pos)
-                pos = insert_item(pos, *first++);
-        }
-    }
-
-    //! Specialized insert method.
-    template <class ForwardIterator>
-    void insert(const iterator& pos, ForwardIterator first, ForwardIterator last, const std::forward_iterator_tag&) {
-        BOOST_CB_ASSERT(std::distance(first, last) >= 0); // check for wrong range
-        size_type n = std::distance(first, last);
-        if (n == 0)
-            return;
-        size_type copy = capacity() - (end() - pos);
-        if (copy == 0)
-            return;
-        if (n > copy) {
-            std::advance(first, n - copy);
-            n = copy;
-        }
-        insert_n(pos, n, cb_details::iterator_wrapper<ForwardIterator>(first));
-    }
-
-    //! Helper insert method.
-    template <class Wrapper>
-    void insert_n(const iterator& pos, size_type n, const Wrapper& wrapper) {
-        size_type construct = reserve();
-        if (construct > n)
-            construct = n;
-        if (pos.m_it == 0) {
-            size_type ii = 0;
-            pointer p = m_last;
-            BOOST_TRY {
-                for (; ii < construct; ++ii, increment(p))
-                    m_alloc.construct(p, *wrapper());
-                for (;ii < n; ++ii, increment(p))
-                    replace(p, *wrapper());
-            } BOOST_CATCH(...) {
-                size_type constructed = (std::min)(ii, construct);
-                m_last = add(m_last, constructed);
-                m_size += constructed;
-                BOOST_RETHROW
-            }
-            BOOST_CATCH_END
-        } else {
-            pointer src = m_last;
-            pointer dest = add(m_last, n - 1);
-            pointer p = pos.m_it;
-            size_type ii = 0;
-            BOOST_TRY {
-                while (src != pos.m_it) {
-                    decrement(src);
-                    construct_or_replace(is_uninitialized(dest), dest, *src);
-                    decrement(dest);
-                }
-                for (; ii < n; ++ii, increment(p))
-                    construct_or_replace(is_uninitialized(p), p, *wrapper());
-            } BOOST_CATCH(...) {
-                for (p = add(m_last, n - 1); p != dest; decrement(p))
-                    destroy_if_constructed(p);
-                for (n = 0, p = pos.m_it; n < ii; ++n, increment(p))
-                    destroy_if_constructed(p);
-                BOOST_RETHROW
-            }
-            BOOST_CATCH_END
-        }
-        m_last = add(m_last, n);
-        m_first = add(m_first, n - construct);
-        m_size += construct;
-    }
-
-    //! Specialized rinsert method.
-    template <class IntegralType>
-    void rinsert(const iterator& pos, IntegralType n, IntegralType item, const true_type&) {
-        rinsert(pos, static_cast<size_type>(n), static_cast<value_type>(item));
-    }
-
-    //! Specialized rinsert method.
-    template <class Iterator>
-    void rinsert(const iterator& pos, Iterator first, Iterator last, const false_type&) {
-        BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
-        rinsert(pos, first, last, BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#else
-        rinsert(pos, first, last, BOOST_DEDUCED_TYPENAME BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#endif
-    }
-
-    //! Specialized insert method.
-    template <class InputIterator>
-    void rinsert(iterator pos, InputIterator first, InputIterator last, const std::input_iterator_tag&) {
-        if (!full() || pos.m_it != 0) {
-            for (;first != last; ++pos) {
-                pos = rinsert(pos, *first++);
-                if (pos.m_it == 0)
-                    break;
-            }
-        }
-    }
-
-    //! Specialized rinsert method.
-    template <class ForwardIterator>
-    void rinsert(const iterator& pos, ForwardIterator first, ForwardIterator last, const std::forward_iterator_tag&) {
-        BOOST_CB_ASSERT(std::distance(first, last) >= 0); // check for wrong range
-        rinsert_n(pos, std::distance(first, last), cb_details::iterator_wrapper<ForwardIterator>(first));
-    }
-
-    //! Helper rinsert method.
-    template <class Wrapper>
-    void rinsert_n(const iterator& pos, size_type n, const Wrapper& wrapper) {
-        if (n == 0)
-            return;
-        iterator b = begin();
-        size_type copy = capacity() - (pos - b);
-        if (copy == 0)
-            return;
-        if (n > copy)
-            n = copy;
-        size_type construct = reserve();
-        if (construct > n)
-            construct = n;
-        if (pos == b) {
-            pointer p = sub(m_first, n);
-            size_type ii = n;
-            BOOST_TRY {
-                for (;ii > construct; --ii, increment(p))
-                    replace(p, *wrapper());
-                for (; ii > 0; --ii, increment(p))
-                    m_alloc.construct(p, *wrapper());
-            } BOOST_CATCH(...) {
-                size_type constructed = ii < construct ? construct - ii : 0;
-                m_last = add(m_last, constructed);
-                m_size += constructed;
-                BOOST_RETHROW
-            }
-            BOOST_CATCH_END
-        } else {
-            pointer src = m_first;
-            pointer dest = sub(m_first, n);
-            pointer p = map_pointer(pos.m_it);
-            BOOST_TRY {
-                while (src != p) {
-                    construct_or_replace(is_uninitialized(dest), dest, *src);
-                    increment(src);
-                    increment(dest);
-                }
-                for (size_type ii = 0; ii < n; ++ii, increment(dest))
-                    construct_or_replace(is_uninitialized(dest), dest, *wrapper());
-            } BOOST_CATCH(...) {
-                for (src = sub(m_first, n); src != dest; increment(src))
-                    destroy_if_constructed(src);
-                BOOST_RETHROW
-            }
-            BOOST_CATCH_END
-        }
-        m_first = sub(m_first, n);
-        m_last = sub(m_last, n - construct);
-        m_size += construct;
-    }
-
-    //! Specialized erase_begin method.
-    void erase_begin(size_type n, const true_type&) {
-        m_first = add(m_first, n);
-        m_size -= n;
-    }
-
-    //! Specialized erase_begin method.
-    void erase_begin(size_type n, const false_type&) {
-        iterator b = begin();
-        rerase(b, b + n);
-    }
-
-    //! Specialized erase_end method.
-    void erase_end(size_type n, const true_type&) {
-        m_last = sub(m_last, n);
-        m_size -= n;
-    }
-
-    //! Specialized erase_end method.
-    void erase_end(size_type n, const false_type&) {
-        iterator e = end();
-        erase(e - n, e);
-    }
-};
-
-// Non-member functions
-
-//! Compare two <code>circular_buffer</code>s element-by-element to determine if they are equal.
-/*!
-    \param lhs The <code>circular_buffer</code> to compare.
-    \param rhs The <code>circular_buffer</code> to compare.
-    \return <code>lhs.\link circular_buffer::size() size()\endlink == rhs.\link circular_buffer::size() size()\endlink
-            && <a href="http://www.sgi.com/tech/stl/equal.html">std::equal</a>(lhs.\link circular_buffer::begin()
-            begin()\endlink, lhs.\link circular_buffer::end() end()\endlink,
-            rhs.\link circular_buffer::begin() begin()\endlink)</code>
-    \throws Nothing.
-    \par Complexity
-         Linear (in the size of the <code>circular_buffer</code>s).
-    \par Iterator Invalidation
-         Does not invalidate any iterators.
-*/
-template <class T, class Alloc>
-inline bool operator == (const circular_buffer<T, Alloc>& lhs, const circular_buffer<T, Alloc>& rhs) {
-    return lhs.size() == rhs.size() && std::equal(lhs.begin(), lhs.end(), rhs.begin());
-}
-
-/*!
-    \brief Compare two <code>circular_buffer</code>s element-by-element to determine if the left one is lesser than the
-           right one.
-    \param lhs The <code>circular_buffer</code> to compare.
-    \param rhs The <code>circular_buffer</code> to compare.
-    \return <code><a href="http://www.sgi.com/tech/stl/lexicographical_compare.html">
-            std::lexicographical_compare</a>(lhs.\link circular_buffer::begin() begin()\endlink,
-            lhs.\link circular_buffer::end() end()\endlink, rhs.\link circular_buffer::begin() begin()\endlink,
-            rhs.\link circular_buffer::end() end()\endlink)</code>
-    \throws Nothing.
-    \par Complexity
-         Linear (in the size of the <code>circular_buffer</code>s).
-    \par Iterator Invalidation
-         Does not invalidate any iterators.
-*/
-template <class T, class Alloc>
-inline bool operator < (const circular_buffer<T, Alloc>& lhs, const circular_buffer<T, Alloc>& rhs) {
-    return std::lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), rhs.end());
-}
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) || defined(BOOST_MSVC)
-
-//! Compare two <code>circular_buffer</code>s element-by-element to determine if they are non-equal.
-/*!
-    \param lhs The <code>circular_buffer</code> to compare.
-    \param rhs The <code>circular_buffer</code> to compare.
-    \return <code>!(lhs == rhs)</code>
-    \throws Nothing.
-    \par Complexity
-         Linear (in the size of the <code>circular_buffer</code>s).
-    \par Iterator Invalidation
-         Does not invalidate any iterators.
-    \sa <code>operator==(const circular_buffer<T,Alloc>&, const circular_buffer<T,Alloc>&)</code>
-*/
-template <class T, class Alloc>
-inline bool operator != (const circular_buffer<T, Alloc>& lhs, const circular_buffer<T, Alloc>& rhs) {
-    return !(lhs == rhs);
-}
-
-/*!
-    \brief Compare two <code>circular_buffer</code>s element-by-element to determine if the left one is greater than
-           the right one.
-    \param lhs The <code>circular_buffer</code> to compare.
-    \param rhs The <code>circular_buffer</code> to compare.
-    \return <code>rhs \< lhs</code>
-    \throws Nothing.
-    \par Complexity
-         Linear (in the size of the <code>circular_buffer</code>s).
-    \par Iterator Invalidation
-         Does not invalidate any iterators.
-    \sa <code>operator<(const circular_buffer<T,Alloc>&, const circular_buffer<T,Alloc>&)</code>
-*/
-template <class T, class Alloc>
-inline bool operator > (const circular_buffer<T, Alloc>& lhs, const circular_buffer<T, Alloc>& rhs) {
-    return rhs < lhs;
-}
-
-/*!
-    \brief Compare two <code>circular_buffer</code>s element-by-element to determine if the left one is lesser or equal
-           to the right one.
-    \param lhs The <code>circular_buffer</code> to compare.
-    \param rhs The <code>circular_buffer</code> to compare.
-    \return <code>!(rhs \< lhs)</code>
-    \throws Nothing.
-    \par Complexity
-         Linear (in the size of the <code>circular_buffer</code>s).
-    \par Iterator Invalidation
-         Does not invalidate any iterators.
-    \sa <code>operator<(const circular_buffer<T,Alloc>&, const circular_buffer<T,Alloc>&)</code>
-*/
-template <class T, class Alloc>
-inline bool operator <= (const circular_buffer<T, Alloc>& lhs, const circular_buffer<T, Alloc>& rhs) {
-    return !(rhs < lhs);
-}
-
-/*!
-    \brief Compare two <code>circular_buffer</code>s element-by-element to determine if the left one is greater or
-           equal to the right one.
-    \param lhs The <code>circular_buffer</code> to compare.
-    \param rhs The <code>circular_buffer</code> to compare.
-    \return <code>!(lhs < rhs)</code>
-    \throws Nothing.
-    \par Complexity
-         Linear (in the size of the <code>circular_buffer</code>s).
-    \par Iterator Invalidation
-         Does not invalidate any iterators.
-    \sa <code>operator<(const circular_buffer<T,Alloc>&, const circular_buffer<T,Alloc>&)</code>
-*/
-template <class T, class Alloc>
-inline bool operator >= (const circular_buffer<T, Alloc>& lhs, const circular_buffer<T, Alloc>& rhs) {
-    return !(lhs < rhs);
-}
-
-//! Swap the contents of two <code>circular_buffer</code>s.
-/*!
-    \post <code>lhs</code> contains elements of <code>rhs</code> and vice versa.
-    \param lhs The <code>circular_buffer</code> whose content will be swapped with <code>rhs</code>.
-    \param rhs The <code>circular_buffer</code> whose content will be swapped with <code>lhs</code>.
-    \throws Nothing.
-    \par Complexity
-         Constant (in the size of the <code>circular_buffer</code>s).
-    \par Iterator Invalidation
-         Invalidates all iterators of both <code>circular_buffer</code>s. (On the other hand the iterators still
-         point to the same elements but within another container. If you want to rely on this feature you have to
-         turn the <a href="#debug">Debug Support</a> off otherwise an assertion will report an error if such
-         invalidated iterator is used.)
-    \sa <code>\link circular_buffer::swap(circular_buffer<T, Alloc>&) swap(circular_buffer<T, Alloc>&)\endlink</code>
-*/
-template <class T, class Alloc>
-inline void swap(circular_buffer<T, Alloc>& lhs, circular_buffer<T, Alloc>& rhs) {
-    lhs.swap(rhs);
-}
-
-#endif // #if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) || defined(BOOST_MSVC)
-
-} // namespace boost
-
-#endif // #if !defined(BOOST_CIRCULAR_BUFFER_BASE_HPP)
diff --git a/SRC/Boost/boost/circular_buffer/debug.hpp b/SRC/Boost/boost/circular_buffer/debug.hpp
deleted file mode 100755
index 785ba9e..0000000
--- a/SRC/Boost/boost/circular_buffer/debug.hpp
+++ /dev/null
@@ -1,227 +0,0 @@
-// Debug support for the circular buffer library.
-
-// Copyright (c) 2003-2008 Jan Gaspar
-
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#if !defined(BOOST_CIRCULAR_BUFFER_DEBUG_HPP)
-#define BOOST_CIRCULAR_BUFFER_DEBUG_HPP
-
-#if defined(_MSC_VER) && _MSC_VER >= 1200
-    #pragma once
-#endif
-
-namespace boost {
-
-namespace cb_details {
-
-#if BOOST_CB_ENABLE_DEBUG
-
-// The value the uninitialized memory is filled with.
-const int UNINITIALIZED = 0xcc;
-
-class debug_iterator_registry;
-
-/*!
-    \class debug_iterator_base
-    \brief Registers/unregisters iterators into the registry of valid iterators.
-
-    This class is intended to be a base class of an iterator.
-*/
-class debug_iterator_base {
-
-private:
-// Members
-
-    //! Iterator registry.
-    mutable const debug_iterator_registry* m_registry;
-
-    //! Next iterator in the iterator chain.
-    mutable const debug_iterator_base* m_next;
-
-public:
-// Construction/destruction
-
-    //! Default constructor.
-    debug_iterator_base();
-
-    //! Constructor taking the iterator registry as a parameter.
-    debug_iterator_base(const debug_iterator_registry* registry);
-
-    //! Copy constructor.
-    debug_iterator_base(const debug_iterator_base& rhs);
-
-    //! Destructor.
-    ~debug_iterator_base();
-
-// Methods
-
-    //! Assign operator.
-    debug_iterator_base& operator = (const debug_iterator_base& rhs);
-
-    //! Is the iterator valid?
-    bool is_valid(const debug_iterator_registry* registry) const;
-
-    //! Invalidate the iterator.
-    /*!
-        \note The method is const in order to invalidate const iterators, too.
-    */
-    void invalidate() const;
-
-    //! Return the next iterator in the iterator chain.
-    const debug_iterator_base* next() const;
-
-    //! Set the next iterator in the iterator chain.
-    /*!
-        \note The method is const in order to set a next iterator to a const iterator, too.
-    */
-    void set_next(const debug_iterator_base* it) const;
-
-private:
-// Helpers
-
-    //! Register self as a valid iterator.
-    void register_self();
-
-    //! Unregister self from valid iterators.
-    void unregister_self();
-};
-
-/*!
-    \class debug_iterator_registry
-    \brief Registry of valid iterators.
-
-    This class is intended to be a base class of a container.
-*/
-class debug_iterator_registry {
-
-    //! Pointer to the chain of valid iterators.
-    mutable const debug_iterator_base* m_iterators;
-
-public:
-// Methods
-
-    //! Default constructor.
-    debug_iterator_registry() : m_iterators(0) {}
-
-    //! Register an iterator into the list of valid iterators.
-    /*!
-        \note The method is const in order to register iterators into const containers, too.
-    */
-    void register_iterator(const debug_iterator_base* it) const {
-        it->set_next(m_iterators);
-        m_iterators = it;
-    }
-
-    //! Unregister an iterator from the list of valid iterators.
-    /*!
-        \note The method is const in order to unregister iterators from const containers, too.
-    */
-    void unregister_iterator(const debug_iterator_base* it) const {
-        const debug_iterator_base* previous = 0;
-        for (const debug_iterator_base* p = m_iterators; p != it; previous = p, p = p->next()) {}
-        remove(it, previous);
-    }
-
-    //! Invalidate every iterator pointing to the same element as the iterator passed as a parameter.
-    template <class Iterator>
-    void invalidate_iterators(const Iterator& it) {
-        const debug_iterator_base* previous = 0;
-        for (const debug_iterator_base* p = m_iterators; p != 0; p = p->next()) {
-            if (((Iterator*)p)->m_it == it.m_it) {
-                p->invalidate();
-                remove(p, previous);
-                continue;
-            }
-            previous = p;
-        }
-    }
-
-    //! Invalidate all iterators except an iterator poining to the same element as the iterator passed as a parameter.
-    template <class Iterator>
-    void invalidate_iterators_except(const Iterator& it) {
-        const debug_iterator_base* previous = 0;
-        for (const debug_iterator_base* p = m_iterators; p != 0; p = p->next()) {
-            if (((Iterator*)p)->m_it != it.m_it) {
-                p->invalidate();
-                remove(p, previous);
-                continue;
-            }
-            previous = p;
-        }
-    }
-
-    //! Invalidate all iterators.
-    void invalidate_all_iterators() {
-        for (const debug_iterator_base* p = m_iterators; p != 0; p = p->next())
-            p->invalidate();
-        m_iterators = 0;
-    }
-
-private:
-// Helpers
-
-    //! Remove the current iterator from the iterator chain.
-    void remove(const debug_iterator_base* current,
-                const debug_iterator_base* previous) const {
-        if (previous == 0)
-            m_iterators = m_iterators->next();
-        else
-            previous->set_next(current->next());
-    }
-};
-
-// Implementation of the debug_iterator_base methods.
-
-inline debug_iterator_base::debug_iterator_base() : m_registry(0), m_next(0) {}
-
-inline debug_iterator_base::debug_iterator_base(const debug_iterator_registry* registry)
-: m_registry(registry), m_next(0) {
-    register_self();
-}
-
-inline debug_iterator_base::debug_iterator_base(const debug_iterator_base& rhs)
-: m_registry(rhs.m_registry), m_next(0) {
-    register_self();
-}
-
-inline debug_iterator_base::~debug_iterator_base() { unregister_self(); }
-
-inline debug_iterator_base& debug_iterator_base::operator = (const debug_iterator_base& rhs) {
-    if (m_registry == rhs.m_registry)
-        return *this;
-    unregister_self();
-    m_registry = rhs.m_registry;
-    register_self();
-    return *this;
-}
-
-inline bool debug_iterator_base::is_valid(const debug_iterator_registry* registry) const {
-    return m_registry == registry;
-}
-
-inline void debug_iterator_base::invalidate() const { m_registry = 0; }
-
-inline const debug_iterator_base* debug_iterator_base::next() const { return m_next; }
-
-inline void debug_iterator_base::set_next(const debug_iterator_base* it) const { m_next = it; }
-
-inline void debug_iterator_base::register_self() {
-    if (m_registry != 0)
-        m_registry->register_iterator(this);
-}
-
-inline void debug_iterator_base::unregister_self() {
-    if (m_registry != 0)
-        m_registry->unregister_iterator(this);
-}
-
-#endif // #if BOOST_CB_ENABLE_DEBUG
-
-} // namespace cb_details
-
-} // namespace boost
-
-#endif // #if !defined(BOOST_CIRCULAR_BUFFER_DEBUG_HPP)
diff --git a/SRC/Boost/boost/circular_buffer/details.hpp b/SRC/Boost/boost/circular_buffer/details.hpp
deleted file mode 100755
index 17b3f81..0000000
--- a/SRC/Boost/boost/circular_buffer/details.hpp
+++ /dev/null
@@ -1,470 +0,0 @@
-// Helper classes and functions for the circular buffer.
-
-// Copyright (c) 2003-2008 Jan Gaspar
-
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#if !defined(BOOST_CIRCULAR_BUFFER_DETAILS_HPP)
-#define BOOST_CIRCULAR_BUFFER_DETAILS_HPP
-
-#if defined(_MSC_VER) && _MSC_VER >= 1200
-    #pragma once
-#endif
-
-#include <boost/iterator.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-#include <iterator>
-
-namespace boost {
-
-namespace cb_details {
-
-template <class Traits> struct nonconst_traits;
-
-template<class ForwardIterator, class Diff, class T, class Alloc>
-void uninitialized_fill_n_with_alloc(
-    ForwardIterator first, Diff n, const T& item, Alloc& alloc);
-
-template<class InputIterator, class ForwardIterator, class Alloc>
-ForwardIterator uninitialized_copy_with_alloc(
-    InputIterator first, InputIterator last, ForwardIterator dest, Alloc& alloc);
-
-/*!
-    \struct const_traits
-    \brief Defines the data types for a const iterator.
-*/
-template <class Traits>
-struct const_traits {
-    // Basic types
-    typedef typename Traits::value_type value_type;
-    typedef typename Traits::const_pointer pointer;
-    typedef typename Traits::const_reference reference;
-    typedef typename Traits::size_type size_type;
-    typedef typename Traits::difference_type difference_type;
-
-    // Non-const traits
-    typedef nonconst_traits<Traits> nonconst_self;
-};
-
-/*!
-    \struct nonconst_traits
-    \brief Defines the data types for a non-const iterator.
-*/
-template <class Traits>
-struct nonconst_traits {
-    // Basic types
-    typedef typename Traits::value_type value_type;
-    typedef typename Traits::pointer pointer;
-    typedef typename Traits::reference reference;
-    typedef typename Traits::size_type size_type;
-    typedef typename Traits::difference_type difference_type;
-
-    // Non-const traits
-    typedef nonconst_traits<Traits> nonconst_self;
-};
-
-/*!
-    \struct iterator_wrapper
-    \brief Helper iterator dereference wrapper.
-*/
-template <class Iterator>
-struct iterator_wrapper {
-    mutable Iterator m_it;
-    explicit iterator_wrapper(Iterator it) : m_it(it) {}
-    Iterator operator () () const { return m_it++; }
-private:
-    iterator_wrapper<Iterator>& operator = (const iterator_wrapper<Iterator>&); // do not generate
-};
-
-/*!
-    \struct item_wrapper
-    \brief Helper item dereference wrapper.
-*/
-template <class Pointer, class Value>
-struct item_wrapper {
-    Value m_item;
-    explicit item_wrapper(Value item) : m_item(item) {}
-    Pointer operator () () const { return &m_item; }
-private:
-    item_wrapper<Pointer, Value>& operator = (const item_wrapper<Pointer, Value>&); // do not generate
-};
-
-/*!
-    \struct assign_n
-    \brief Helper functor for assigning n items.
-*/
-template <class Value, class Alloc>
-struct assign_n {
-    typedef typename Alloc::size_type size_type;
-    size_type m_n;
-    Value m_item;
-    Alloc& m_alloc;
-    assign_n(size_type n, Value item, Alloc& alloc) : m_n(n), m_item(item), m_alloc(alloc) {}
-    template <class Pointer>
-    void operator () (Pointer p) const {
-        uninitialized_fill_n_with_alloc(p, m_n, m_item, m_alloc);
-    }
-private:
-    assign_n<Value, Alloc>& operator = (const assign_n<Value, Alloc>&); // do not generate
-};
-
-/*!
-    \struct assign_range
-    \brief Helper functor for assigning range of items.
-*/
-template <class Iterator, class Alloc>
-struct assign_range {
-    const Iterator& m_first;
-    const Iterator& m_last;
-    Alloc& m_alloc;
-    assign_range(const Iterator& first, const Iterator& last, Alloc& alloc)
-    : m_first(first), m_last(last), m_alloc(alloc) {}
-    template <class Pointer>
-    void operator () (Pointer p) const {
-        uninitialized_copy_with_alloc(m_first, m_last, p, m_alloc);
-    }
-private:
-    assign_range<Iterator, Alloc>& operator = (const assign_range<Iterator, Alloc>&); // do not generate
-};
-
-/*!
-    \class capacity_control
-    \brief Capacity controller of the space optimized circular buffer.
-*/
-template <class Size>
-class capacity_control {
-
-    //! The capacity of the space optimized circular buffer.
-    Size m_capacity;
-
-    //! The lowest guaranteed capacity of the adapted circular buffer.
-    Size m_min_capacity;
-
-public:
-
-    //! Constructor.
-    capacity_control(Size buffer_capacity, Size min_buffer_capacity = 0)
-    : m_capacity(buffer_capacity), m_min_capacity(min_buffer_capacity) {
-        BOOST_CB_ASSERT(buffer_capacity >= min_buffer_capacity); // check for capacity lower than min_capacity
-    }
-
-    // Default copy constructor.
-
-    // Default assign operator.
-
-    //! Get the capacity of the space optimized circular buffer.
-    Size capacity() const { return m_capacity; }
-
-    //! Get the minimal capacity of the space optimized circular buffer.
-    Size min_capacity() const { return m_min_capacity; }
-
-    //! Size operator - returns the capacity of the space optimized circular buffer.
-    operator Size() const { return m_capacity; }
-};
-
-/*!
-    \struct iterator
-    \brief Random access iterator for the circular buffer.
-    \param Buff The type of the underlying circular buffer.
-    \param Traits Basic iterator types.
-    \note This iterator is not circular. It was designed
-          for iterating from begin() to end() of the circular buffer.
-*/
-template <class Buff, class Traits>
-struct iterator :
-    public boost::iterator<
-    std::random_access_iterator_tag,
-    typename Traits::value_type,
-    typename Traits::difference_type,
-    typename Traits::pointer,
-    typename Traits::reference>
-#if BOOST_CB_ENABLE_DEBUG
-    , public debug_iterator_base
-#endif // #if BOOST_CB_ENABLE_DEBUG
-{
-// Helper types
-
-    //! Base iterator.
-    typedef boost::iterator<
-        std::random_access_iterator_tag,
-        typename Traits::value_type,
-        typename Traits::difference_type,
-        typename Traits::pointer,
-        typename Traits::reference> base_iterator;
-
-    //! Non-const iterator.
-    typedef iterator<Buff, typename Traits::nonconst_self> nonconst_self;
-
-// Basic types
-
-    //! The type of the elements stored in the circular buffer.
-    typedef typename base_iterator::value_type value_type;
-
-    //! Pointer to the element.
-    typedef typename base_iterator::pointer pointer;
-
-    //! Reference to the element.
-    typedef typename base_iterator::reference reference;
-
-    //! Size type.
-    typedef typename Traits::size_type size_type;
-
-    //! Difference type.
-    typedef typename base_iterator::difference_type difference_type;
-
-// Member variables
-
-    //! The circular buffer where the iterator points to.
-    const Buff* m_buff;
-
-    //! An internal iterator.
-    pointer m_it;
-
-// Construction & assignment
-
-    // Default copy constructor.
-
-    //! Default constructor.
-    iterator() : m_buff(0), m_it(0) {}
-
-#if BOOST_CB_ENABLE_DEBUG
-
-    //! Copy constructor (used for converting from a non-const to a const iterator).
-    iterator(const nonconst_self& it) : debug_iterator_base(it), m_buff(it.m_buff), m_it(it.m_it) {}
-
-    //! Internal constructor.
-    /*!
-        \note This constructor is not intended to be used directly by the user.
-    */
-    iterator(const Buff* cb, const pointer p) : debug_iterator_base(cb), m_buff(cb), m_it(p) {}
-
-#else
-
-    iterator(const nonconst_self& it) : m_buff(it.m_buff), m_it(it.m_it) {}
-
-    iterator(const Buff* cb, const pointer p) : m_buff(cb), m_it(p) {}
-
-#endif // #if BOOST_CB_ENABLE_DEBUG
-
-    //! Assign operator.
-    iterator& operator = (const iterator& it) {
-        if (this == &it)
-            return *this;
-#if BOOST_CB_ENABLE_DEBUG
-        debug_iterator_base::operator =(it);
-#endif // #if BOOST_CB_ENABLE_DEBUG
-        m_buff = it.m_buff;
-        m_it = it.m_it;
-        return *this;
-    }
-
-// Random access iterator methods
-
-    //! Dereferencing operator.
-    reference operator * () const {
-        BOOST_CB_ASSERT(is_valid(m_buff)); // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(m_it != 0);        // check for iterator pointing to end()
-        return *m_it;
-    }
-
-    //! Dereferencing operator.
-    pointer operator -> () const { return &(operator*()); }
-
-    //! Difference operator.
-    template <class Traits0>
-    difference_type operator - (const iterator<Buff, Traits0>& it) const {
-        BOOST_CB_ASSERT(is_valid(m_buff));    // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(it.is_valid(m_buff)); // check for uninitialized or invalidated iterator
-        return linearize_pointer(*this) - linearize_pointer(it);
-    }
-
-    //! Increment operator (prefix).
-    iterator& operator ++ () {
-        BOOST_CB_ASSERT(is_valid(m_buff)); // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(m_it != 0);        // check for iterator pointing to end()
-        m_buff->increment(m_it);
-        if (m_it == m_buff->m_last)
-            m_it = 0;
-        return *this;
-    }
-
-    //! Increment operator (postfix).
-    iterator operator ++ (int) {
-        iterator<Buff, Traits> tmp = *this;
-        ++*this;
-        return tmp;
-    }
-
-    //! Decrement operator (prefix).
-    iterator& operator -- () {
-        BOOST_CB_ASSERT(is_valid(m_buff));        // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(m_it != m_buff->m_first); // check for iterator pointing to begin()
-        if (m_it == 0)
-            m_it = m_buff->m_last;
-        m_buff->decrement(m_it);
-        return *this;
-    }
-
-    //! Decrement operator (postfix).
-    iterator operator -- (int) {
-        iterator<Buff, Traits> tmp = *this;
-        --*this;
-        return tmp;
-    }
-
-    //! Iterator addition.
-    iterator& operator += (difference_type n) {
-        BOOST_CB_ASSERT(is_valid(m_buff)); // check for uninitialized or invalidated iterator
-        if (n > 0) {
-            BOOST_CB_ASSERT(m_buff->end() - *this >= n); // check for too large n
-            m_it = m_buff->add(m_it, n);
-            if (m_it == m_buff->m_last)
-                m_it = 0;
-        } else if (n < 0) {
-            *this -= -n;
-        }
-        return *this;
-    }
-
-    //! Iterator addition.
-    iterator operator + (difference_type n) const { return iterator<Buff, Traits>(*this) += n; }
-
-    //! Iterator subtraction.
-    iterator& operator -= (difference_type n) {
-        BOOST_CB_ASSERT(is_valid(m_buff)); // check for uninitialized or invalidated iterator
-        if (n > 0) {
-            BOOST_CB_ASSERT(*this - m_buff->begin() >= n); // check for too large n
-            m_it = m_buff->sub(m_it == 0 ? m_buff->m_last : m_it, n);
-        } else if (n < 0) {
-            *this += -n;
-        }
-        return *this;
-    }
-
-    //! Iterator subtraction.
-    iterator operator - (difference_type n) const { return iterator<Buff, Traits>(*this) -= n; }
-
-    //! Element access operator.
-    reference operator [] (difference_type n) const { return *(*this + n); }
-
-// Equality & comparison
-
-    //! Equality.
-    template <class Traits0>
-    bool operator == (const iterator<Buff, Traits0>& it) const {
-        BOOST_CB_ASSERT(is_valid(m_buff));    // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(it.is_valid(m_buff)); // check for uninitialized or invalidated iterator
-        return m_it == it.m_it;
-    }
-
-    //! Inequality.
-    template <class Traits0>
-    bool operator != (const iterator<Buff, Traits0>& it) const {
-        BOOST_CB_ASSERT(is_valid(m_buff));    // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(it.is_valid(m_buff)); // check for uninitialized or invalidated iterator
-        return m_it != it.m_it;
-    }
-
-    //! Less.
-    template <class Traits0>
-    bool operator < (const iterator<Buff, Traits0>& it) const {
-        BOOST_CB_ASSERT(is_valid(m_buff));    // check for uninitialized or invalidated iterator
-        BOOST_CB_ASSERT(it.is_valid(m_buff)); // check for uninitialized or invalidated iterator
-        return linearize_pointer(*this) < linearize_pointer(it);
-    }
-
-    //! Greater.
-    template <class Traits0>
-    bool operator > (const iterator<Buff, Traits0>& it) const { return it < *this; }
-
-    //! Less or equal.
-    template <class Traits0>
-    bool operator <= (const iterator<Buff, Traits0>& it) const { return !(it < *this); }
-
-    //! Greater or equal.
-    template <class Traits0>
-    bool operator >= (const iterator<Buff, Traits0>& it) const { return !(*this < it); }
-
-// Helpers
-
-    //! Get a pointer which would point to the same element as the iterator in case the circular buffer is linearized.
-    template <class Traits0>
-    typename Traits0::pointer linearize_pointer(const iterator<Buff, Traits0>& it) const {
-        return it.m_it == 0 ? m_buff->m_buff + m_buff->size() :
-            (it.m_it < m_buff->m_first ? it.m_it + (m_buff->m_end - m_buff->m_first)
-                : m_buff->m_buff + (it.m_it - m_buff->m_first));
-    }
-};
-
-//! Iterator addition.
-template <class Buff, class Traits>
-inline iterator<Buff, Traits>
-operator + (typename Traits::difference_type n, const iterator<Buff, Traits>& it) {
-    return it + n;
-}
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR)
-
-//! Iterator category.
-template <class Buff, class Traits>
-inline std::random_access_iterator_tag iterator_category(const iterator<Buff, Traits>&) {
-    return std::random_access_iterator_tag();
-}
-
-//! The type of the elements stored in the circular buffer.
-template <class Buff, class Traits>
-inline typename Traits::value_type* value_type(const iterator<Buff, Traits>&) { return 0; }
-
-//! Distance type.
-template <class Buff, class Traits>
-inline typename Traits::difference_type* distance_type(const iterator<Buff, Traits>&) { return 0; }
-
-#endif // #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR)
-
-/*!
-    \fn ForwardIterator uninitialized_copy_with_alloc(InputIterator first, InputIterator last, ForwardIterator dest,
-            Alloc& alloc)
-    \brief Equivalent of <code>std::uninitialized_copy</code> with allocator.
-*/
-template<class InputIterator, class ForwardIterator, class Alloc>
-inline ForwardIterator uninitialized_copy_with_alloc(InputIterator first, InputIterator last, ForwardIterator dest,
-    Alloc& alloc) {
-    ForwardIterator next = dest;
-    BOOST_TRY {
-        for (; first != last; ++first, ++dest)
-            alloc.construct(dest, *first);
-    } BOOST_CATCH(...) {
-        for (; next != dest; ++next)
-            alloc.destroy(next);
-        BOOST_RETHROW
-    }
-    BOOST_CATCH_END
-    return dest;
-}
-
-/*!
-    \fn void uninitialized_fill_n_with_alloc(ForwardIterator first, Diff n, const T& item, Alloc& alloc)
-    \brief Equivalent of <code>std::uninitialized_fill_n</code> with allocator.
-*/
-template<class ForwardIterator, class Diff, class T, class Alloc>
-inline void uninitialized_fill_n_with_alloc(ForwardIterator first, Diff n, const T& item, Alloc& alloc) {
-    ForwardIterator next = first;
-    BOOST_TRY {
-        for (; n > 0; ++first, --n)
-            alloc.construct(first, item);
-    } BOOST_CATCH(...) {
-        for (; next != first; ++next)
-            alloc.destroy(next);
-        BOOST_RETHROW
-    }
-    BOOST_CATCH_END
-}
-
-} // namespace cb_details
-
-} // namespace boost
-
-#endif // #if !defined(BOOST_CIRCULAR_BUFFER_DETAILS_HPP)
diff --git a/SRC/Boost/boost/circular_buffer/space_optimized.hpp b/SRC/Boost/boost/circular_buffer/space_optimized.hpp
deleted file mode 100755
index 9091818..0000000
--- a/SRC/Boost/boost/circular_buffer/space_optimized.hpp
+++ /dev/null
@@ -1,1425 +0,0 @@
-// Implementation of the circular buffer adaptor.
-
-// Copyright (c) 2003-2008 Jan Gaspar
-
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#if !defined(BOOST_CIRCULAR_BUFFER_SPACE_OPTIMIZED_HPP)
-#define BOOST_CIRCULAR_BUFFER_SPACE_OPTIMIZED_HPP
-
-#if defined(_MSC_VER) && _MSC_VER >= 1200
-    #pragma once
-#endif
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost {
-
-/*!
-    \class circular_buffer_space_optimized
-    \brief Space optimized circular buffer container adaptor.
-
-    For detailed documentation of the space_optimized_circular_buffer visit:
-    http://www.boost.org/libs/circular_buffer/doc/space_optimized.html
-*/
-template <class T, class Alloc>
-class circular_buffer_space_optimized :
-/*! \cond */
-#if BOOST_CB_ENABLE_DEBUG
-public
-#endif
-/*! \endcond */
-circular_buffer<T, Alloc> {
-public:
-// Typedefs
-
-    typedef typename circular_buffer<T, Alloc>::value_type value_type;
-    typedef typename circular_buffer<T, Alloc>::pointer pointer;
-    typedef typename circular_buffer<T, Alloc>::const_pointer const_pointer;
-    typedef typename circular_buffer<T, Alloc>::reference reference;
-    typedef typename circular_buffer<T, Alloc>::const_reference const_reference;
-    typedef typename circular_buffer<T, Alloc>::size_type size_type;
-    typedef typename circular_buffer<T, Alloc>::difference_type difference_type;
-    typedef typename circular_buffer<T, Alloc>::allocator_type allocator_type;
-    typedef typename circular_buffer<T, Alloc>::const_iterator const_iterator;
-    typedef typename circular_buffer<T, Alloc>::iterator iterator;
-    typedef typename circular_buffer<T, Alloc>::const_reverse_iterator const_reverse_iterator;
-    typedef typename circular_buffer<T, Alloc>::reverse_iterator reverse_iterator;
-    typedef typename circular_buffer<T, Alloc>::array_range array_range;
-    typedef typename circular_buffer<T, Alloc>::const_array_range const_array_range;
-    typedef typename circular_buffer<T, Alloc>::param_value_type param_value_type;
-    typedef typename circular_buffer<T, Alloc>::return_value_type return_value_type;
-
-    //! Capacity controller of the space optimized circular buffer.
-    /*!
-        <p><pre>
-class capacity_control {
-   size_type m_capacity;
-   size_type m_min_capacity;
-public:
-   capacity_control(size_type capacity, size_type min_capacity = 0) : m_capacity(capacity), m_min_capacity(min_capacity) {};
-   size_type %capacity() const { return m_capacity; }
-   size_type min_capacity() const { return m_min_capacity; }
-   operator size_type() const { return m_capacity; }
-};</pre></p>
-        \pre <code>capacity >= min_capacity</code>
-        <p>The <code>capacity()</code> represents the capacity of the <code>circular_buffer_space_optimized</code> and
-        the <code>min_capacity()</code> determines the minimal allocated size of its internal buffer.</p>
-        <p>The converting constructor of the <code>capacity_control</code> allows implicit conversion from
-        <code>size_type</code>-like types which ensures compatibility of creating an instance of the
-        <code>circular_buffer_space_optimized</code> with other STL containers. On the other hand the operator
-        <code>%size_type()</code> provides implicit conversion to the <code>size_type</code> which allows to treat the
-        capacity of the <code>circular_buffer_space_optimized</code> the same way as in the
-        <code><a href="circular_buffer.html">circular_buffer</a></code>.</p>
-    */
-    typedef cb_details::capacity_control<size_type> capacity_type;
-
-// Inherited
-
-    using circular_buffer<T, Alloc>::get_allocator;
-    using circular_buffer<T, Alloc>::begin;
-    using circular_buffer<T, Alloc>::end;
-    using circular_buffer<T, Alloc>::rbegin;
-    using circular_buffer<T, Alloc>::rend;
-    using circular_buffer<T, Alloc>::at;
-    using circular_buffer<T, Alloc>::front;
-    using circular_buffer<T, Alloc>::back;
-    using circular_buffer<T, Alloc>::array_one;
-    using circular_buffer<T, Alloc>::array_two;
-    using circular_buffer<T, Alloc>::linearize;
-    using circular_buffer<T, Alloc>::is_linearized;
-    using circular_buffer<T, Alloc>::rotate;
-    using circular_buffer<T, Alloc>::size;
-    using circular_buffer<T, Alloc>::max_size;
-    using circular_buffer<T, Alloc>::empty;
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    reference operator [] (size_type n) { return circular_buffer<T, Alloc>::operator[](n); }
-    return_value_type operator [] (size_type n) const { return circular_buffer<T, Alloc>::operator[](n); }
-#else
-    using circular_buffer<T, Alloc>::operator[];
-#endif
-
-private:
-// Member variables
-
-    //! The capacity controller of the space optimized circular buffer.
-    capacity_type m_capacity_ctrl;
-
-public:
-// Overridden
-
-    //! Is the <code>circular_buffer_space_optimized</code> full?
-    /*!
-        \return <code>true</code> if the number of elements stored in the <code>circular_buffer_space_optimized</code>
-                equals the capacity of the <code>circular_buffer_space_optimized</code>; <code>false</code> otherwise.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>empty()</code>
-    */
-    bool full() const { return m_capacity_ctrl == size(); }
-
-    /*! \brief Get the maximum number of elements which can be inserted into the
-               <code>circular_buffer_space_optimized</code> without overwriting any of already stored elements.
-        \return <code>capacity().%capacity() - size()</code>
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>capacity()</code>, <code>size()</code>, <code>max_size()</code>
-    */
-    size_type reserve() const { return m_capacity_ctrl - size(); }
-
-    //! Get the capacity of the <code>circular_buffer_space_optimized</code>.
-    /*!
-        \return The capacity controller representing the maximum number of elements which can be stored in the
-                <code>circular_buffer_space_optimized</code> and the minimal allocated size of the internal buffer.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Does not invalidate any iterators.
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>reserve()</code>, <code>size()</code>, <code>max_size()</code>,
-            <code>set_capacity(const capacity_type&)</code>
-    */
-    const capacity_type& capacity() const { return m_capacity_ctrl; }
-
-#if defined(BOOST_CB_TEST)
-
-    // Return the current capacity of the adapted circular buffer.
-    /*
-       \note This method is not intended to be used directly by the user.
-             It is defined only for testing purposes.
-    */
-    size_type internal_capacity() const { return circular_buffer<T, Alloc>::capacity(); }
-
-#endif // #if defined(BOOST_CB_TEST)
-
-    /*! \brief Change the capacity (and the minimal guaranteed amount of allocated memory) of the
-               <code>circular_buffer_space_optimized</code>.
-        \post <code>capacity() == capacity_ctrl \&\& size() \<= capacity_ctrl.capacity()</code><br><br>
-              If the current number of elements stored in the <code>circular_buffer_space_optimized</code> is greater
-              than the desired new capacity then number of <code>[size() - capacity_ctrl.capacity()]</code> <b>last</b>
-              elements will be removed and the new size will be equal to <code>capacity_ctrl.capacity()</code>.<br><br>
-              If the current number of elements stored in the <code>circular_buffer_space_optimized</code> is lower
-              than the new capacity then the amount of allocated memory in the internal buffer may be accommodated as
-              necessary but it will never drop below <code>capacity_ctrl.min_capacity()</code>.
-        \param capacity_ctrl The new capacity controller.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Strong.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in <code>min[size(), capacity_ctrl.%capacity()]</code>).
-        \note To explicitly clear the extra allocated memory use the <b>shrink-to-fit</b> technique:<br><br>
-              <code>%boost::%circular_buffer_space_optimized\<int\> cb(1000);<br>
-              ...<br>
-              %boost::%circular_buffer_space_optimized\<int\>(cb).swap(cb);</code><br><br>
-              For more information about the shrink-to-fit technique in STL see
-              <a href="http://www.gotw.ca/gotw/054.htm">http://www.gotw.ca/gotw/054.htm</a>.
-        \sa <code>rset_capacity(const capacity_type&)</code>,
-            <code>\link resize() resize(size_type, const_reference)\endlink</code>
-    */
-    void set_capacity(const capacity_type& capacity_ctrl) {
-        m_capacity_ctrl = capacity_ctrl;
-        if (capacity_ctrl < size()) {
-            iterator e = end();
-            circular_buffer<T, Alloc>::erase(e - (size() - capacity_ctrl), e);
-        }
-        adjust_min_capacity();
-    }
-
-    //! Change the size of the <code>circular_buffer_space_optimized</code>.
-    /*!
-        \post <code>size() == new_size \&\& capacity().%capacity() >= new_size</code><br><br>
-              If the new size is greater than the current size, copies of <code>item</code> will be inserted at the
-              <b>back</b> of the of the <code>circular_buffer_space_optimized</code> in order to achieve the desired
-              size. In the case the resulting size exceeds the current capacity the capacity will be set to
-              <code>new_size</code>.<br><br>
-              If the current number of elements stored in the <code>circular_buffer_space_optimized</code> is greater
-              than the desired new size then number of <code>[size() - new_size]</code> <b>last</b> elements will be
-              removed. (The capacity will remain unchanged.)<br><br>
-              The amount of allocated memory in the internal buffer may be accommodated as necessary.
-        \param new_size The new size.
-        \param item The element the <code>circular_buffer_space_optimized</code> will be filled with in order to gain
-                    the requested size. (See the <i>Effect</i>.)
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the new size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>\link rresize() rresize(size_type, const_reference)\endlink</code>,
-            <code>set_capacity(const capacity_type&)</code>
-    */
-    void resize(size_type new_size, param_value_type item = value_type()) {
-        if (new_size > size()) {
-            if (new_size > m_capacity_ctrl)
-                m_capacity_ctrl = capacity_type(new_size, m_capacity_ctrl.min_capacity());
-            insert(end(), new_size - size(), item);
-        } else {
-            iterator e = end();
-            erase(e - (size() - new_size), e);
-        }
-    }
-
-    /*! \brief Change the capacity (and the minimal guaranteed amount of allocated memory) of the
-               <code>circular_buffer_space_optimized</code>.
-        \post <code>capacity() == capacity_ctrl \&\& size() \<= capacity_ctrl</code><br><br>
-              If the current number of elements stored in the <code>circular_buffer_space_optimized</code> is greater
-              than the desired new capacity then number of <code>[size() - capacity_ctrl.capacity()]</code>
-              <b>first</b> elements will be removed and the new size will be equal to
-              <code>capacity_ctrl.capacity()</code>.<br><br>
-              If the current number of elements stored in the <code>circular_buffer_space_optimized</code> is lower
-              than the new capacity then the amount of allocated memory in the internal buffer may be accommodated as
-              necessary but it will never drop below <code>capacity_ctrl.min_capacity()</code>.
-        \param capacity_ctrl The new capacity controller.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Strong.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in <code>min[size(), capacity_ctrl.%capacity()]</code>).
-        \sa <code>set_capacity(const capacity_type&)</code>,
-            <code>\link rresize() rresize(size_type, const_reference)\endlink</code>
-    */
-    void rset_capacity(const capacity_type& capacity_ctrl) {
-        m_capacity_ctrl = capacity_ctrl;
-        if (capacity_ctrl < size()) {
-            iterator b = begin();
-            circular_buffer<T, Alloc>::rerase(b, b + (size() - capacity_ctrl));
-        }
-        adjust_min_capacity();
-    }
-
-    //! Change the size of the <code>circular_buffer_space_optimized</code>.
-    /*!
-        \post <code>size() == new_size \&\& capacity().%capacity() >= new_size</code><br><br>
-              If the new size is greater than the current size, copies of <code>item</code> will be inserted at the
-              <b>front</b> of the of the <code>circular_buffer_space_optimized</code> in order to achieve the desired
-              size. In the case the resulting size exceeds the current capacity the capacity will be set to
-              <code>new_size</code>.<br><br>
-              If the current number of elements stored in the <code>circular_buffer_space_optimized</code> is greater
-              than the desired new size then number of <code>[size() - new_size]</code> <b>first</b> elements will be
-              removed. (The capacity will remain unchanged.)<br><br>
-              The amount of allocated memory in the internal buffer may be accommodated as necessary.
-        \param new_size The new size.
-        \param item The element the <code>circular_buffer_space_optimized</code> will be filled with in order to gain
-                    the requested size. (See the <i>Effect</i>.)
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the new size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>\link resize() resize(size_type, const_reference)\endlink</code>,
-            <code>rset_capacity(const capacity_type&)</code>
-    */
-    void rresize(size_type new_size, param_value_type item = value_type()) {
-        if (new_size > size()) {
-            if (new_size > m_capacity_ctrl)
-                m_capacity_ctrl = capacity_type(new_size, m_capacity_ctrl.min_capacity());
-            rinsert(begin(), new_size - size(), item);
-        } else {
-            rerase(begin(), end() - new_size);
-        }
-    }
-
-    //! Create an empty space optimized circular buffer with zero capacity.
-    /*!
-        \post <code>capacity().%capacity() == 0 \&\& capacity().min_capacity() == 0 \&\& size() == 0</code>
-        \param alloc The allocator.
-        \throws Nothing.
-        \par Complexity
-             Constant.
-        \warning Since Boost version 1.36 the behaviour of this constructor has changed. Now it creates a space
-                 optimized circular buffer with zero capacity.
-    */
-    explicit circular_buffer_space_optimized(const allocator_type& alloc = allocator_type())
-    : circular_buffer<T, Alloc>(0, alloc)
-    , m_capacity_ctrl(0) {}
-
-    //! Create an empty space optimized circular buffer with the specified capacity.
-    /*!
-        \post <code>capacity() == capacity_ctrl \&\& size() == 0</code><br><br>
-              The amount of allocated memory in the internal buffer is <code>capacity_ctrl.min_capacity()</code>.
-        \param capacity_ctrl The capacity controller representing the maximum number of elements which can be stored in
-                             the <code>circular_buffer_space_optimized</code> and the minimal allocated size of the
-                             internal buffer.
-        \param alloc The allocator.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \par Complexity
-             Constant.
-    */
-    explicit circular_buffer_space_optimized(capacity_type capacity_ctrl,
-        const allocator_type& alloc = allocator_type())
-    : circular_buffer<T, Alloc>(capacity_ctrl.min_capacity(), alloc)
-    , m_capacity_ctrl(capacity_ctrl) {}
-
-    /*! \brief Create a full space optimized circular buffer with the specified capacity filled with
-               <code>capacity_ctrl.%capacity()</code> copies of <code>item</code>.
-        \post <code>capacity() == capacity_ctrl \&\& full() \&\& (*this)[0] == item \&\& (*this)[1] == item \&\& ...
-              \&\& (*this) [capacity_ctrl.%capacity() - 1] == item </code><br><br>
-              The amount of allocated memory in the internal buffer is <code>capacity_ctrl.capacity()</code>.
-        \param capacity_ctrl The capacity controller representing the maximum number of elements which can be stored in
-                             the <code>circular_buffer_space_optimized</code> and the minimal allocated size of the
-                             internal buffer.
-        \param item The element the created <code>circular_buffer_space_optimized</code> will be filled with.
-        \param alloc The allocator.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Complexity
-             Linear (in the <code>capacity_ctrl.%capacity()</code>).
-    */
-    circular_buffer_space_optimized(capacity_type capacity_ctrl, param_value_type item,
-        const allocator_type& alloc = allocator_type())
-    : circular_buffer<T, Alloc>(capacity_ctrl.capacity(), item, alloc)
-    , m_capacity_ctrl(capacity_ctrl) {}
-
-    /*! \brief Create a space optimized circular buffer with the specified capacity filled with <code>n</code> copies
-               of <code>item</code>.
-        \pre <code>capacity_ctrl.%capacity() >= n</code>
-        \post <code>capacity() == capacity_ctrl \&\& size() == n \&\& (*this)[0] == item \&\& (*this)[1] == item
-              \&\& ... \&\& (*this)[n - 1] == item</code><br><br>
-              The amount of allocated memory in the internal buffer is
-              <code>max[n, capacity_ctrl.min_capacity()]</code>.
-        \param capacity_ctrl The capacity controller representing the maximum number of elements which can be stored in
-                             the <code>circular_buffer_space_optimized</code> and the minimal allocated size of the
-                             internal buffer.
-        \param n The number of elements the created <code>circular_buffer_space_optimized</code> will be filled with.
-        \param item The element the created <code>circular_buffer_space_optimized</code> will be filled with.
-        \param alloc The allocator.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Complexity
-             Linear (in the <code>n</code>).
-    */
-    circular_buffer_space_optimized(capacity_type capacity_ctrl, size_type n, param_value_type item,
-        const allocator_type& alloc = allocator_type())
-    : circular_buffer<T, Alloc>(init_capacity(capacity_ctrl, n), n, item, alloc)
-    , m_capacity_ctrl(capacity_ctrl) {}
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-    /*! \cond */
-    circular_buffer_space_optimized(const circular_buffer_space_optimized<T, Alloc>& cb)
-    : circular_buffer<T, Alloc>(cb.begin(), cb.end())
-    , m_capacity_ctrl(cb.m_capacity_ctrl) {}
-
-    template <class InputIterator>
-    circular_buffer_space_optimized(InputIterator first, InputIterator last)
-    : circular_buffer<T, Alloc>(first, last)
-    , m_capacity_ctrl(circular_buffer<T, Alloc>::capacity()) {}
-
-    template <class InputIterator>
-    circular_buffer_space_optimized(capacity_type capacity_ctrl, InputIterator first, InputIterator last)
-    : circular_buffer<T, Alloc>(
-        init_capacity(capacity_ctrl, first, last, is_integral<InputIterator>()),
-        first, last)
-    , m_capacity_ctrl(capacity_ctrl) {
-        reduce_capacity(
-            is_same< BOOST_DEDUCED_TYPENAME BOOST_ITERATOR_CATEGORY<InputIterator>::type, std::input_iterator_tag >());
-    }
-    /*! \endcond */
-
-#else
-
-    //! The copy constructor.
-    /*!
-        Creates a copy of the specified <code>circular_buffer_space_optimized</code>.
-        \post <code>*this == cb</code><br><br>
-              The amount of allocated memory in the internal buffer is <code>cb.size()</code>.
-        \param cb The <code>circular_buffer_space_optimized</code> to be copied.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Complexity
-             Linear (in the size of <code>cb</code>).
-    */
-    circular_buffer_space_optimized(const circular_buffer_space_optimized<T, Alloc>& cb)
-    : circular_buffer<T, Alloc>(cb.begin(), cb.end(), cb.get_allocator())
-    , m_capacity_ctrl(cb.m_capacity_ctrl) {}
-
-    //! Create a full space optimized circular buffer filled with a copy of the range.
-    /*!
-        \pre Valid range <code>[first, last)</code>.<br>
-             <code>first</code> and <code>last</code> have to meet the requirements of
-             <a href="http://www.sgi.com/tech/stl/InputIterator.html">InputIterator</a>.
-        \post <code>capacity().%capacity() == std::distance(first, last) \&\& capacity().min_capacity() == 0 \&\&
-              full() \&\& (*this)[0]== *first \&\& (*this)[1] == *(first + 1) \&\& ... \&\&
-              (*this)[std::distance(first, last) - 1] == *(last - 1)</code><br><br>
-              The amount of allocated memory in the internal buffer is <code>std::distance(first, last)</code>.
-        \param first The beginning of the range to be copied.
-        \param last The end of the range to be copied.
-        \param alloc The allocator.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Complexity
-             Linear (in the <code>std::distance(first, last)</code>).
-    */
-    template <class InputIterator>
-    circular_buffer_space_optimized(InputIterator first, InputIterator last,
-        const allocator_type& alloc = allocator_type())
-    : circular_buffer<T, Alloc>(first, last, alloc)
-    , m_capacity_ctrl(circular_buffer<T, Alloc>::capacity()) {}
-
-    /*! \brief Create a space optimized circular buffer with the specified capacity (and the minimal guaranteed amount
-               of allocated memory) filled with a copy of the range.
-        \pre Valid range <code>[first, last)</code>.<br>
-             <code>first</code> and <code>last</code> have to meet the requirements of
-             <a href="http://www.sgi.com/tech/stl/InputIterator.html">InputIterator</a>.
-        \post <code>capacity() == capacity_ctrl \&\& size() \<= std::distance(first, last) \&\& (*this)[0]==
-              *(last - capacity_ctrl.%capacity()) \&\& (*this)[1] == *(last - capacity_ctrl.%capacity() + 1) \&\& ...
-              \&\& (*this)[capacity_ctrl.%capacity() - 1] == *(last - 1)</code><br><br>
-              If the number of items to be copied from the range <code>[first, last)</code> is greater than the
-              specified <code>capacity_ctrl.%capacity()</code> then only elements from the range
-              <code>[last - capacity_ctrl.%capacity(), last)</code> will be copied.<br><br>
-              The amount of allocated memory in the internal buffer is <code>max[capacity_ctrl.min_capacity(),
-              min[capacity_ctrl.%capacity(), std::distance(first, last)]]</code>.
-        \param capacity_ctrl The capacity controller representing the maximum number of elements which can be stored in
-                             the <code>circular_buffer_space_optimized</code> and the minimal allocated size of the
-                             internal buffer.
-        \param first The beginning of the range to be copied.
-        \param last The end of the range to be copied.
-        \param alloc The allocator.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Complexity
-             Linear (in <code>std::distance(first, last)</code>; in
-             <code>min[capacity_ctrl.%capacity(), std::distance(first, last)]</code> if the <code>InputIterator</code>
-             is a <a href="http://www.sgi.com/tech/stl/RandomAccessIterator.html">RandomAccessIterator</a>).
-    */
-    template <class InputIterator>
-    circular_buffer_space_optimized(capacity_type capacity_ctrl, InputIterator first, InputIterator last,
-        const allocator_type& alloc = allocator_type())
-    : circular_buffer<T, Alloc>(
-        init_capacity(capacity_ctrl, first, last, is_integral<InputIterator>()),
-        first, last, alloc)
-    , m_capacity_ctrl(capacity_ctrl) {
-        reduce_capacity(
-            is_same< BOOST_DEDUCED_TYPENAME BOOST_ITERATOR_CATEGORY<InputIterator>::type, std::input_iterator_tag >());
-    }
-
-#endif // #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-#if defined(BOOST_CB_NEVER_DEFINED)
-// This section will never be compiled - the default destructor will be generated instead.
-// Declared only for documentation purpose.
-
-    //! The destructor.
-    /*!
-        Destroys the <code>circular_buffer_space_optimized</code>.
-        \throws Nothing.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (including
-             iterators equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>clear()</code>
-    */
-    ~circular_buffer_space_optimized();
-
-    //! no-comment
-    void erase_begin(size_type n);
-
-    //! no-comment
-    void erase_end(size_type n);
-
-#endif // #if defined(BOOST_CB_NEVER_DEFINED)
-
-    //! The assign operator.
-    /*!
-        Makes this <code>circular_buffer_space_optimized</code> to become a copy of the specified
-        <code>circular_buffer_space_optimized</code>.
-        \post <code>*this == cb</code><br><br>
-              The amount of allocated memory in the internal buffer is <code>cb.size()</code>.
-        \param cb The <code>circular_buffer_space_optimized</code> to be copied.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Strong.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to this <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of <code>cb</code>).
-        \sa <code>\link assign(size_type, param_value_type) assign(size_type, const_reference)\endlink</code>,
-            <code>\link assign(capacity_type, size_type, param_value_type)
-            assign(capacity_type, size_type, const_reference)\endlink</code>,
-            <code>assign(InputIterator, InputIterator)</code>,
-            <code>assign(capacity_type, InputIterator, InputIterator)</code>
-    */
-    circular_buffer_space_optimized<T, Alloc>& operator = (const circular_buffer_space_optimized<T, Alloc>& cb) {
-        if (this == &cb)
-            return *this;
-        circular_buffer<T, Alloc>::assign(cb.begin(), cb.end());
-        m_capacity_ctrl = cb.m_capacity_ctrl;
-        return *this;
-    }
-
-    //! Assign <code>n</code> items into the space optimized circular buffer.
-    /*!
-        The content of the <code>circular_buffer_space_optimized</code> will be removed and replaced with
-        <code>n</code> copies of the <code>item</code>.
-        \post <code>capacity().%capacity() == n \&\& capacity().min_capacity() == 0 \&\& size() == n \&\& (*this)[0] ==
-              item \&\& (*this)[1] == item \&\& ... \&\& (*this) [n - 1] == item</code><br><br>
-              The amount of allocated memory in the internal buffer is <code>n</code>.
-        \param n The number of elements the <code>circular_buffer_space_optimized</code> will be filled with.
-        \param item The element the <code>circular_buffer_space_optimized</code> will be filled with.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the <code>n</code>).
-        \sa <code>\link operator=(const circular_buffer_space_optimized&) operator=\endlink</code>,
-            <code>\link assign(capacity_type, size_type, param_value_type)
-            assign(capacity_type, size_type, const_reference)\endlink</code>,
-            <code>assign(InputIterator, InputIterator)</code>,
-            <code>assign(capacity_type, InputIterator, InputIterator)</code>
-    */
-    void assign(size_type n, param_value_type item) {
-        circular_buffer<T, Alloc>::assign(n, item);
-        m_capacity_ctrl = capacity_type(n);
-    }
-
-    //! Assign <code>n</code> items into the space optimized circular buffer specifying the capacity.
-    /*!
-        The capacity of the <code>circular_buffer_space_optimized</code> will be set to the specified value and the
-        content of the <code>circular_buffer_space_optimized</code> will be removed and replaced with <code>n</code>
-        copies of the <code>item</code>.
-        \pre <code>capacity_ctrl.%capacity() >= n</code>
-        \post <code>capacity() == capacity_ctrl \&\& size() == n \&\& (*this)[0] == item \&\& (*this)[1] == item
-              \&\& ... \&\& (*this) [n - 1] == item </code><br><br>
-              The amount of allocated memory will be <code>max[n, capacity_ctrl.min_capacity()]</code>.
-        \param capacity_ctrl The new capacity controller.
-        \param n The number of elements the <code>circular_buffer_space_optimized</code> will be filled with.
-        \param item The element the <code>circular_buffer_space_optimized</code> will be filled with.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the <code>n</code>).
-        \sa <code>\link operator=(const circular_buffer_space_optimized&) operator=\endlink</code>,
-            <code>\link assign(size_type, param_value_type) assign(size_type, const_reference)\endlink</code>,
-            <code>assign(InputIterator, InputIterator)</code>,
-            <code>assign(capacity_type, InputIterator, InputIterator)</code>
-    */
-    void assign(capacity_type capacity_ctrl, size_type n, param_value_type item) {
-       BOOST_CB_ASSERT(capacity_ctrl.capacity() >= n); // check for new capacity lower than n
-       circular_buffer<T, Alloc>::assign((std::max)(capacity_ctrl.min_capacity(), n), n, item);
-       m_capacity_ctrl = capacity_ctrl;
-    }
-
-    //! Assign a copy of the range into the space optimized circular buffer.
-    /*!
-        The content of the <code>circular_buffer_space_optimized</code> will be removed and replaced with copies of
-        elements from the specified range.
-        \pre Valid range <code>[first, last)</code>.<br>
-             <code>first</code> and <code>last</code> have to meet the requirements of
-             <a href="http://www.sgi.com/tech/stl/InputIterator.html">InputIterator</a>.
-        \post <code>capacity().%capacity() == std::distance(first, last) \&\& capacity().min_capacity() == 0 \&\&
-              size() == std::distance(first, last) \&\& (*this)[0]== *first \&\& (*this)[1] == *(first + 1) \&\& ...
-              \&\& (*this)[std::distance(first, last) - 1] == *(last - 1)</code><br><br>
-              The amount of allocated memory in the internal buffer is <code>std::distance(first, last)</code>.
-        \param first The beginning of the range to be copied.
-        \param last The end of the range to be copied.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the <code>std::distance(first, last)</code>).
-        \sa <code>\link operator=(const circular_buffer_space_optimized&) operator=\endlink</code>,
-            <code>\link assign(size_type, param_value_type) assign(size_type, const_reference)\endlink</code>,
-            <code>\link assign(capacity_type, size_type, param_value_type)
-            assign(capacity_type, size_type, const_reference)\endlink</code>,
-            <code>assign(capacity_type, InputIterator, InputIterator)</code>
-    */
-    template <class InputIterator>
-    void assign(InputIterator first, InputIterator last) {
-        circular_buffer<T, Alloc>::assign(first, last);
-        m_capacity_ctrl = capacity_type(circular_buffer<T, Alloc>::capacity());
-    }
-
-    //! Assign a copy of the range into the space optimized circular buffer specifying the capacity.
-    /*!
-        The capacity of the <code>circular_buffer_space_optimized</code> will be set to the specified value and the
-        content of the <code>circular_buffer_space_optimized</code> will be removed and replaced with copies of
-        elements from the specified range.
-        \pre Valid range <code>[first, last)</code>.<br>
-             <code>first</code> and <code>last</code> have to meet the requirements of
-             <a href="http://www.sgi.com/tech/stl/InputIterator.html">InputIterator</a>.
-        \post <code>capacity() == capacity_ctrl \&\& size() \<= std::distance(first, last) \&\&
-             (*this)[0]== *(last - capacity) \&\& (*this)[1] == *(last - capacity + 1) \&\& ... \&\&
-             (*this)[capacity - 1] == *(last - 1)</code><br><br>
-             If the number of items to be copied from the range <code>[first, last)</code> is greater than the
-             specified <code>capacity</code> then only elements from the range <code>[last - capacity, last)</code>
-             will be copied.<br><br> The amount of allocated memory in the internal buffer is
-             <code>max[std::distance(first, last), capacity_ctrl.min_capacity()]</code>.
-        \param capacity_ctrl The new capacity controller.
-        \param first The beginning of the range to be copied.
-        \param last The end of the range to be copied.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in <code>std::distance(first, last)</code>; in
-             <code>min[capacity_ctrl.%capacity(), std::distance(first, last)]</code> if the <code>InputIterator</code>
-             is a <a href="http://www.sgi.com/tech/stl/RandomAccessIterator.html">RandomAccessIterator</a>).
-        \sa <code>\link operator=(const circular_buffer_space_optimized&) operator=\endlink</code>,
-            <code>\link assign(size_type, param_value_type) assign(size_type, const_reference)\endlink</code>,
-            <code>\link assign(capacity_type, size_type, param_value_type)
-            assign(capacity_type, size_type, const_reference)\endlink</code>,
-            <code>assign(InputIterator, InputIterator)</code>
-    */
-    template <class InputIterator>
-    void assign(capacity_type capacity_ctrl, InputIterator first, InputIterator last) {
-       m_capacity_ctrl = capacity_ctrl;
-       circular_buffer<T, Alloc>::assign(capacity_ctrl, first, last);
-    }
-
-    //! Swap the contents of two space optimized circular buffers.
-    /*!
-        \post <code>this</code> contains elements of <code>cb</code> and vice versa; the capacity and the amount of
-              allocated memory in the internal buffer of <code>this</code> equal to the capacity and the amount of
-              allocated memory of <code>cb</code> and vice versa.
-        \param cb The <code>circular_buffer_space_optimized</code> whose content will be swapped.
-        \throws Nothing.
-        \par Exception Safety
-             No-throw.
-        \par Iterator Invalidation
-             Invalidates all iterators of both <code>circular_buffer_space_optimized</code> containers. (On the other
-             hand the iterators still point to the same elements but within another container. If you want to rely on
-             this feature you have to turn the <a href="circular_buffer.html#debug">Debug Support</a> off otherwise an
-             assertion will report an error if such invalidated iterator is used.)
-        \par Complexity
-             Constant (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>\link swap(circular_buffer<T, Alloc>&, circular_buffer<T, Alloc>&)
-            swap(circular_buffer_space_optimized<T, Alloc>&, circular_buffer_space_optimized<T, Alloc>&)\endlink</code>
-    */
-    void swap(circular_buffer_space_optimized<T, Alloc>& cb) {
-        std::swap(m_capacity_ctrl, cb.m_capacity_ctrl);
-        circular_buffer<T, Alloc>::swap(cb);
-    }
-
-    //! Insert a new element at the end of the space optimized circular buffer.
-    /*!
-        \post if <code>capacity().%capacity() > 0</code> then <code>back() == item</code><br>
-              If the <code>circular_buffer_space_optimized</code> is full, the first element will be removed. If the
-              capacity is <code>0</code>, nothing will be inserted.<br><br>
-              The amount of allocated memory in the internal buffer may be predictively increased.
-        \param item The element to be inserted.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>\link push_front() push_front(const_reference)\endlink</code>, <code>pop_back()</code>,
-            <code>pop_front()</code>
-    */
-    void push_back(param_value_type item = value_type()) {
-        check_low_capacity();
-        circular_buffer<T, Alloc>::push_back(item);
-    }
-
-    //! Insert a new element at the beginning of the space optimized circular buffer.
-    /*!
-        \post if <code>capacity().%capacity() > 0</code> then <code>front() == item</code><br>
-              If the <code>circular_buffer_space_optimized</code> is full, the last element will be removed. If the
-              capacity is <code>0</code>, nothing will be inserted.<br><br>
-              The amount of allocated memory in the internal buffer may be predictively increased.
-        \param item The element to be inserted.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>\link push_back() push_back(const_reference)\endlink</code>, <code>pop_back()</code>,
-            <code>pop_front()</code>
-    */
-    void push_front(param_value_type item = value_type()) {
-        check_low_capacity();
-        circular_buffer<T, Alloc>::push_front(item);
-    }
-
-    //! Remove the last element from the space optimized circular buffer.
-    /*!
-        \pre <code>!empty()</code>
-        \post The last element is removed from the <code>circular_buffer_space_optimized</code>.<br><br>
-              The amount of allocated memory in the internal buffer may be predictively decreased.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>pop_front()</code>, <code>\link push_back() push_back(const_reference)\endlink</code>,
-            <code>\link push_front() push_front(const_reference)\endlink</code>
-    */
-    void pop_back() {
-        circular_buffer<T, Alloc>::pop_back();
-        check_high_capacity();
-    }
-
-    //! Remove the first element from the space optimized circular buffer.
-    /*!
-        \pre <code>!empty()</code>
-        \post The first element is removed from the <code>circular_buffer_space_optimized</code>.<br><br>
-              The amount of allocated memory in the internal buffer may be predictively decreased.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>pop_back()</code>, <code>\link push_back() push_back(const_reference)\endlink</code>,
-            <code>\link push_front() push_front(const_reference)\endlink</code>
-    */
-    void pop_front() {
-        circular_buffer<T, Alloc>::pop_front();
-        check_high_capacity();
-    }
-
-    //! Insert an element at the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer_space_optimized</code> or its
-             end.
-        \post The <code>item</code> will be inserted at the position <code>pos</code>.<br>
-              If the <code>circular_buffer_space_optimized</code> is full, the first element will be overwritten. If
-              the <code>circular_buffer_space_optimized</code> is full and the <code>pos</code> points to
-              <code>begin()</code>, then the <code>item</code> will not be inserted. If the capacity is <code>0</code>,
-              nothing will be inserted.<br><br>
-              The amount of allocated memory in the internal buffer may be predictively increased.
-        \param pos An iterator specifying the position where the <code>item</code> will be inserted.
-        \param item The element to be inserted.
-        \return Iterator to the inserted element or <code>begin()</code> if the <code>item</code> is not inserted. (See
-                the <i>Effect</i>.)
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>\link insert(iterator, size_type, param_value_type)
-            insert(iterator, size_type, value_type)\endlink</code>,
-            <code>insert(iterator, InputIterator, InputIterator)</code>,
-            <code>\link rinsert(iterator, param_value_type) rinsert(iterator, value_type)\endlink</code>,
-            <code>\link rinsert(iterator, size_type, param_value_type)
-            rinsert(iterator, size_type, value_type)\endlink</code>,
-            <code>rinsert(iterator, InputIterator, InputIterator)</code>
-    */
-    iterator insert(iterator pos, param_value_type item = value_type()) {
-        size_type index = pos - begin();
-        check_low_capacity();
-        return circular_buffer<T, Alloc>::insert(begin() + index, item);
-    }
-
-    //! Insert <code>n</code> copies of the <code>item</code> at the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer_space_optimized</code> or its
-             end.
-        \post The number of <code>min[n, (pos - begin()) + reserve()]</code> elements will be inserted at the position
-              <code>pos</code>.<br>The number of <code>min[pos - begin(), max[0, n - reserve()]]</code> elements will
-              be overwritten at the beginning of the <code>circular_buffer_space_optimized</code>.<br>(See
-              <i>Example</i> for the explanation.)<br><br>
-              The amount of allocated memory in the internal buffer may be predictively increased.
-        \param pos An iterator specifying the position where the <code>item</code>s will be inserted.
-        \param n The number of <code>item</code>s the to be inserted.
-        \param item The element whose copies will be inserted.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in <code>min[capacity().%capacity(), size() + n]</code>).
-        \par Example
-             Consider a <code>circular_buffer_space_optimized</code> with the capacity of 6 and the size of 4. Its
-             internal buffer may look like the one below.<br><br>
-             <code>|1|2|3|4| | |</code><br>
-             <code>p ---^</code><br><br>After inserting 5 elements at the position <code>p</code>:<br><br>
-             <code>insert(p, (size_t)5, 0);</code><br><br>actually only 4 elements get inserted and elements
-             <code>1</code> and <code>2</code> are overwritten. This is due to the fact the insert operation preserves
-             the capacity. After insertion the internal buffer looks like this:<br><br><code>|0|0|0|0|3|4|</code><br>
-             <br>For comparison if the capacity would not be preserved the internal buffer would then result in
-             <code>|1|2|0|0|0|0|0|3|4|</code>.
-        \sa <code>\link insert(iterator, param_value_type) insert(iterator, value_type)\endlink</code>,
-            <code>insert(iterator, InputIterator, InputIterator)</code>,
-            <code>\link rinsert(iterator, param_value_type) rinsert(iterator, value_type)\endlink</code>,
-            <code>\link rinsert(iterator, size_type, param_value_type)
-            rinsert(iterator, size_type, value_type)\endlink</code>,
-            <code>rinsert(iterator, InputIterator, InputIterator)</code>
-    */
-    void insert(iterator pos, size_type n, param_value_type item) {
-        size_type index = pos - begin();
-        check_low_capacity(n);
-        circular_buffer<T, Alloc>::insert(begin() + index, n, item);
-    }
-
-    //! Insert the range <code>[first, last)</code> at the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer_space_optimized</code> or its
-             end.<br>Valid range <code>[first, last)</code> where <code>first</code> and <code>last</code> meet the
-             requirements of an <a href="http://www.sgi.com/tech/stl/InputIterator.html">InputIterator</a>.
-        \post Elements from the range
-              <code>[first + max[0, distance(first, last) - (pos - begin()) - reserve()], last)</code> will be
-              inserted at the position <code>pos</code>.<br>The number of <code>min[pos - begin(), max[0,
-              distance(first, last) - reserve()]]</code> elements will be overwritten at the beginning of the
-              <code>circular_buffer_space_optimized</code>.<br>(See <i>Example</i> for the explanation.)<br><br>
-              The amount of allocated memory in the internal buffer may be predictively increased.
-        \param pos An iterator specifying the position where the range will be inserted.
-        \param first The beginning of the range to be inserted.
-        \param last The end of the range to be inserted.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in <code>[size() + std::distance(first, last)]</code>; in
-             <code>min[capacity().%capacity(), size() + std::distance(first, last)]</code> if the
-             <code>InputIterator</code> is a
-             <a href="http://www.sgi.com/tech/stl/RandomAccessIterator.html">RandomAccessIterator</a>).
-        \par Example
-             Consider a <code>circular_buffer_space_optimized</code> with the capacity of 6 and the size of 4. Its
-             internal buffer may look like the one below.<br><br>
-             <code>|1|2|3|4| | |</code><br>
-             <code>p ---^</code><br><br>After inserting a range of elements at the position <code>p</code>:<br><br>
-             <code>int array[] = { 5, 6, 7, 8, 9 };</code><br><code>insert(p, array, array + 5);</code><br><br>
-             actually only elements <code>6</code>, <code>7</code>, <code>8</code> and <code>9</code> from the
-             specified range get inserted and elements <code>1</code> and <code>2</code> are overwritten. This is due
-             to the fact the insert operation preserves the capacity. After insertion the internal buffer looks like
-             this:<br><br><code>|6|7|8|9|3|4|</code><br><br>For comparison if the capacity would not be preserved the
-             internal buffer would then result in <code>|1|2|5|6|7|8|9|3|4|</code>.
-        \sa <code>\link insert(iterator, param_value_type) insert(iterator, value_type)\endlink</code>,
-            <code>\link insert(iterator, size_type, param_value_type)
-            insert(iterator, size_type, value_type)\endlink</code>, <code>\link rinsert(iterator, param_value_type)
-            rinsert(iterator, value_type)\endlink</code>, <code>\link rinsert(iterator, size_type, param_value_type)
-            rinsert(iterator, size_type, value_type)\endlink</code>,
-            <code>rinsert(iterator, InputIterator, InputIterator)</code>
-    */
-    template <class InputIterator>
-    void insert(iterator pos, InputIterator first, InputIterator last) {
-        insert(pos, first, last, is_integral<InputIterator>());
-    }
-
-    //! Insert an element before the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer_space_optimized</code> or its
-             end.
-        \post The <code>item</code> will be inserted before the position <code>pos</code>.<br>
-              If the <code>circular_buffer_space_optimized</code> is full, the last element will be overwritten. If the
-              <code>circular_buffer_space_optimized</code> is full and the <code>pos</code> points to
-              <code>end()</code>, then the <code>item</code> will not be inserted. If the capacity is <code>0</code>,
-              nothing will be inserted.<br><br>
-              The amount of allocated memory in the internal buffer may be predictively increased.
-        \param pos An iterator specifying the position before which the <code>item</code> will be inserted.
-        \param item The element to be inserted.
-        \return Iterator to the inserted element or <code>end()</code> if the <code>item</code> is not inserted. (See
-                the <i>Effect</i>.)
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>\link rinsert(iterator, size_type, param_value_type)
-            rinsert(iterator, size_type, value_type)\endlink</code>,
-            <code>rinsert(iterator, InputIterator, InputIterator)</code>,
-            <code>\link insert(iterator, param_value_type) insert(iterator, value_type)\endlink</code>,
-            <code>\link insert(iterator, size_type, param_value_type)
-            insert(iterator, size_type, value_type)\endlink</code>,
-            <code>insert(iterator, InputIterator, InputIterator)</code>
-    */
-    iterator rinsert(iterator pos, param_value_type item = value_type()) {
-        size_type index = pos - begin();
-        check_low_capacity();
-        return circular_buffer<T, Alloc>::rinsert(begin() + index, item);
-    }
-
-    //! Insert <code>n</code> copies of the <code>item</code> before the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer_space_optimized</code> or its
-             end.
-        \post The number of <code>min[n, (end() - pos) + reserve()]</code> elements will be inserted before the
-              position <code>pos</code>.<br>The number of <code>min[end() - pos, max[0, n - reserve()]]</code> elements
-              will be overwritten at the end of the <code>circular_buffer_space_optimized</code>.<br>(See
-              <i>Example</i> for the explanation.)<br><br>
-              The amount of allocated memory in the internal buffer may be predictively increased.
-        \param pos An iterator specifying the position where the <code>item</code>s will be inserted.
-        \param n The number of <code>item</code>s the to be inserted.
-        \param item The element whose copies will be inserted.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in <code>min[capacity().%capacity(), size() + n]</code>).
-        \par Example
-             Consider a <code>circular_buffer_space_optimized</code> with the capacity of 6 and the size of 4. Its
-             internal buffer may look like the one below.<br><br>
-             <code>|1|2|3|4| | |</code><br>
-             <code>p ---^</code><br><br>After inserting 5 elements before the position <code>p</code>:<br><br>
-             <code>rinsert(p, (size_t)5, 0);</code><br><br>actually only 4 elements get inserted and elements
-             <code>3</code> and <code>4</code> are overwritten. This is due to the fact the rinsert operation preserves
-             the capacity. After insertion the internal buffer looks like this:<br><br><code>|1|2|0|0|0|0|</code><br>
-             <br>For comparison if the capacity would not be preserved the internal buffer would then result in
-             <code>|1|2|0|0|0|0|0|3|4|</code>.
-        \sa <code>\link rinsert(iterator, param_value_type) rinsert(iterator, value_type)\endlink</code>,
-            <code>rinsert(iterator, InputIterator, InputIterator)</code>,
-            <code>\link insert(iterator, param_value_type) insert(iterator, value_type)\endlink</code>,
-            <code>\link insert(iterator, size_type, param_value_type)
-            insert(iterator, size_type, value_type)\endlink</code>,
-            <code>insert(iterator, InputIterator, InputIterator)</code>
-    */
-    void rinsert(iterator pos, size_type n, param_value_type item) {
-        size_type index = pos - begin();
-        check_low_capacity(n);
-        circular_buffer<T, Alloc>::rinsert(begin() + index, n, item);
-    }
-
-        //! Insert the range <code>[first, last)</code> before the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer_space_optimized</code> or its
-             end.<br>
-             Valid range <code>[first, last)</code> where <code>first</code> and <code>last</code> meet the
-             requirements of an <a href="http://www.sgi.com/tech/stl/InputIterator.html">InputIterator</a>.
-        \post Elements from the range
-              <code>[first, last - max[0, distance(first, last) - (end() - pos) - reserve()])</code> will be inserted
-              before the position <code>pos</code>.<br>The number of <code>min[end() - pos, max[0,
-              distance(first, last) - reserve()]]</code> elements will be overwritten at the end of the
-              <code>circular_buffer</code>.<br>(See <i>Example</i> for the explanation.)<br><br>
-              The amount of allocated memory in the internal buffer may be predictively increased.
-        \param pos An iterator specifying the position where the range will be inserted.
-        \param first The beginning of the range to be inserted.
-        \param last The end of the range to be inserted.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::T(const T&)</code> throws.
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in <code>[size() + std::distance(first, last)]</code>; in
-             <code>min[capacity().%capacity(), size() + std::distance(first, last)]</code> if the
-             <code>InputIterator</code> is a
-             <a href="http://www.sgi.com/tech/stl/RandomAccessIterator.html">RandomAccessIterator</a>).
-        \par Example
-             Consider a <code>circular_buffer_space_optimized</code> with the capacity of 6 and the size of 4. Its
-             internal buffer may look like the one below.<br><br>
-             <code>|1|2|3|4| | |</code><br>
-             <code>p ---^</code><br><br>After inserting a range of elements before the position <code>p</code>:<br><br>
-             <code>int array[] = { 5, 6, 7, 8, 9 };</code><br><code>insert(p, array, array + 5);</code><br><br>
-             actually only elements <code>5</code>, <code>6</code>, <code>7</code> and <code>8</code> from the
-             specified range get inserted and elements <code>3</code> and <code>4</code> are overwritten. This is due
-             to the fact the rinsert operation preserves the capacity. After insertion the internal buffer looks like
-             this:<br><br><code>|1|2|5|6|7|8|</code><br><br>For comparison if the capacity would not be preserved the
-             internal buffer would then result in <code>|1|2|5|6|7|8|9|3|4|</code>.
-        \sa <code>\link rinsert(iterator, param_value_type) rinsert(iterator, value_type)\endlink</code>,
-            <code>\link rinsert(iterator, size_type, param_value_type)
-            rinsert(iterator, size_type, value_type)\endlink</code>, <code>\link insert(iterator, param_value_type)
-            insert(iterator, value_type)\endlink</code>, <code>\link insert(iterator, size_type, param_value_type)
-            insert(iterator, size_type, value_type)\endlink</code>,
-            <code>insert(iterator, InputIterator, InputIterator)</code>
-    */
-    template <class InputIterator>
-    void rinsert(iterator pos, InputIterator first, InputIterator last) {
-        rinsert(pos, first, last, is_integral<InputIterator>());
-    }
-
-    //! Remove an element at the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer_space_optimized</code> (but not
-             an <code>end()</code>).
-        \post The element at the position <code>pos</code> is removed.<br><br>
-              The amount of allocated memory in the internal buffer may be predictively decreased.
-        \param pos An iterator pointing at the element to be removed.
-        \return Iterator to the first element remaining beyond the removed element or <code>end()</code> if no such
-                element exists.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>erase(iterator, iterator)</code>, <code>rerase(iterator)</code>,
-            <code>rerase(iterator, iterator)</code>, <code>clear()</code>
-    */
-    iterator erase(iterator pos) {
-        iterator it = circular_buffer<T, Alloc>::erase(pos);
-        size_type index = it - begin();
-        check_high_capacity();
-        return begin() + index;
-    }
-
-    //! Erase the range <code>[first, last)</code>.
-    /*!
-        \pre Valid range <code>[first, last)</code>.
-        \post The elements from the range <code>[first, last)</code> are removed. (If <code>first == last</code>
-              nothing is removed.)<br><br>
-              The amount of allocated memory in the internal buffer may be predictively decreased.
-        \param first The beginning of the range to be removed.
-        \param last The end of the range to be removed.
-        \return Iterator to the first element remaining beyond the removed elements or <code>end()</code> if no such
-                element exists.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>erase(iterator)</code>, <code>rerase(iterator)</code>, <code>rerase(iterator, iterator)</code>,
-            <code>clear()</code>
-    */
-    iterator erase(iterator first, iterator last) {
-        iterator it = circular_buffer<T, Alloc>::erase(first, last);
-        size_type index = it - begin();
-        check_high_capacity();
-        return begin() + index;
-    }
-
-    //! Remove an element at the specified position.
-    /*!
-        \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer_space_optimized</code> (but not
-             an <code>end()</code>).<br><br>
-              The amount of allocated memory in the internal buffer may be predictively decreased.
-        \post The element at the position <code>pos</code> is removed.
-        \param pos An iterator pointing at the element to be removed.
-        \return Iterator to the first element remaining in front of the removed element or <code>begin()</code> if no
-                such element exists.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer_space_optimized</code>).
-        \note Basically there is no difference between <code>erase(iterator)</code> and this method. It is implemented
-              only for consistency with the base <code><a href="circular_buffer.html">circular_buffer</a></code>.
-        \sa <code>erase(iterator)</code>, <code>erase(iterator, iterator)</code>,
-            <code>rerase(iterator, iterator)</code>, <code>clear()</code>
-    */
-    iterator rerase(iterator pos) {
-        iterator it = circular_buffer<T, Alloc>::rerase(pos);
-        size_type index = it - begin();
-        check_high_capacity();
-        return begin() + index;
-    }
-
-    //! Erase the range <code>[first, last)</code>.
-    /*!
-        \pre Valid range <code>[first, last)</code>.
-        \post The elements from the range <code>[first, last)</code> are removed. (If <code>first == last</code>
-              nothing is removed.)<br><br>
-              The amount of allocated memory in the internal buffer may be predictively decreased.
-        \param first The beginning of the range to be removed.
-        \param last The end of the range to be removed.
-        \return Iterator to the first element remaining in front of the removed elements or <code>begin()</code> if no
-                such element exists.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \throws Whatever <code>T::operator = (const T&)</code> throws.
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer_space_optimized</code>).
-        \note Basically there is no difference between <code>erase(iterator, iterator)</code> and this method. It is
-              implemented only for consistency with the base
-              <code><a href="circular_buffer.html">circular_buffer</a></code>.
-        \sa <code>erase(iterator)</code>, <code>erase(iterator, iterator)</code>, <code>rerase(iterator)</code>,
-            <code>clear()</code>
-    */
-    iterator rerase(iterator first, iterator last) {
-        iterator it = circular_buffer<T, Alloc>::rerase(first, last);
-        size_type index = it - begin();
-        check_high_capacity();
-        return begin() + index;
-    }
-
-    //! Remove all stored elements from the space optimized circular buffer.
-    /*!
-        \post <code>size() == 0</code><br><br>
-              The amount of allocated memory in the internal buffer may be predictively decreased.
-        \throws "An allocation error" if memory is exhausted (<code>std::bad_alloc</code> if the standard allocator is
-                used).
-        \par Exception Safety
-             Basic.
-        \par Iterator Invalidation
-             Invalidates all iterators pointing to the <code>circular_buffer_space_optimized</code> (except iterators
-             equal to <code>end()</code>).
-        \par Complexity
-             Linear (in the size of the <code>circular_buffer_space_optimized</code>).
-        \sa <code>~circular_buffer_space_optimized()</code>, <code>erase(iterator)</code>,
-            <code>erase(iterator, iterator)</code>, <code>rerase(iterator)</code>,
-            <code>rerase(iterator, iterator)</code>
-    */
-    void clear() { erase(begin(), end()); }
-
-private:
-// Helper methods
-
-    //! Adjust the amount of allocated memory.
-    void adjust_min_capacity() {
-        if (m_capacity_ctrl.min_capacity() > circular_buffer<T, Alloc>::capacity())
-            circular_buffer<T, Alloc>::set_capacity(m_capacity_ctrl.min_capacity());
-        else
-            check_high_capacity();
-    }
-
-    //! Ensure the reserve for possible growth up.
-    size_type ensure_reserve(size_type new_capacity, size_type buffer_size) const {
-        if (buffer_size + new_capacity / 5 >= new_capacity)
-            new_capacity *= 2; // ensure at least 20% reserve
-        if (new_capacity > m_capacity_ctrl)
-            return m_capacity_ctrl;
-        return new_capacity;
-    }
-
-    //! Check for low capacity.
-    /*
-        \post If the capacity is low it will be increased.
-    */
-    void check_low_capacity(size_type n = 1) {
-        size_type new_size = size() + n;
-        size_type new_capacity = circular_buffer<T, Alloc>::capacity();
-        if (new_size > new_capacity) {
-            if (new_capacity == 0)
-                new_capacity = 1;
-            for (; new_size > new_capacity; new_capacity *= 2) {}
-            circular_buffer<T, Alloc>::set_capacity(
-                ensure_reserve(new_capacity, new_size));
-        }
-#if BOOST_CB_ENABLE_DEBUG
-        this->invalidate_iterators_except(end());
-#endif
-    }
-
-    //! Check for high capacity.
-    /*
-        \post If the capacity is high it will be decreased.
-    */
-    void check_high_capacity() {
-        size_type new_capacity = circular_buffer<T, Alloc>::capacity();
-        while (new_capacity / 3 >= size()) { // (new_capacity / 3) -> avoid oscillations
-            new_capacity /= 2;
-            if (new_capacity <= m_capacity_ctrl.min_capacity()) {
-                new_capacity = m_capacity_ctrl.min_capacity();
-                break;
-            }
-        }
-        circular_buffer<T, Alloc>::set_capacity(
-            ensure_reserve(new_capacity, size()));
-#if BOOST_CB_ENABLE_DEBUG
-        this->invalidate_iterators_except(end());
-#endif
-    }
-
-    //! Specialized method for reducing the capacity.
-    void reduce_capacity(const true_type&) {
-        circular_buffer<T, Alloc>::set_capacity((std::max)(m_capacity_ctrl.min_capacity(), size()));
-    }
-
-    //! Specialized method for reducing the capacity.
-    void reduce_capacity(const false_type&) {}
-
-    //! Determine the initial capacity.
-    static size_type init_capacity(const capacity_type& capacity_ctrl, size_type n) {
-        BOOST_CB_ASSERT(capacity_ctrl.capacity() >= n); // check for capacity lower than n
-        return (std::max)(capacity_ctrl.min_capacity(), n);
-    }
-
-    //! Specialized method for determining the initial capacity.
-    template <class IntegralType>
-    static size_type init_capacity(const capacity_type& capacity_ctrl, IntegralType n, IntegralType item,
-        const true_type&) {
-        return init_capacity(capacity_ctrl, static_cast<size_type>(n));
-    }
-
-    //! Specialized method for determining the initial capacity.
-    template <class Iterator>
-    static size_type init_capacity(const capacity_type& capacity_ctrl, Iterator first, Iterator last,
-        const false_type&) {
-        BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
-        return init_capacity(capacity_ctrl, first, last, BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#else
-        return init_capacity(
-            capacity_ctrl, first, last, BOOST_DEDUCED_TYPENAME BOOST_ITERATOR_CATEGORY<Iterator>::type());
-#endif
-    }
-
-    //! Specialized method for determining the initial capacity.
-    template <class InputIterator>
-    static size_type init_capacity(const capacity_type& capacity_ctrl, InputIterator first, InputIterator last,
-        const std::input_iterator_tag&) {
-        return capacity_ctrl.capacity();
-    }
-
-    //! Specialized method for determining the initial capacity.
-    template <class ForwardIterator>
-    static size_type init_capacity(const capacity_type& capacity_ctrl, ForwardIterator first, ForwardIterator last,
-        const std::forward_iterator_tag&) {
-        BOOST_CB_ASSERT(std::distance(first, last) >= 0); // check for wrong range
-        return (std::max)(capacity_ctrl.min_capacity(),
-            (std::min)(capacity_ctrl.capacity(), static_cast<size_type>(std::distance(first, last))));
-    }
-
-    //! Specialized insert method.
-    template <class IntegralType>
-    void insert(const iterator& pos, IntegralType n, IntegralType item, const true_type&) {
-        insert(pos, static_cast<size_type>(n), static_cast<value_type>(item));
-    }
-
-    //! Specialized insert method.
-    template <class Iterator>
-    void insert(const iterator& pos, Iterator first, Iterator last, const false_type&) {
-        size_type index = pos - begin();
-        check_low_capacity(std::distance(first, last));
-        circular_buffer<T, Alloc>::insert(begin() + index, first, last);
-    }
-
-    //! Specialized rinsert method.
-    template <class IntegralType>
-    void rinsert(const iterator& pos, IntegralType n, IntegralType item, const true_type&) {
-        rinsert(pos, static_cast<size_type>(n), static_cast<value_type>(item));
-    }
-
-    //! Specialized rinsert method.
-    template <class Iterator>
-    void rinsert(const iterator& pos, Iterator first, Iterator last, const false_type&) {
-        size_type index = pos - begin();
-        check_low_capacity(std::distance(first, last));
-        circular_buffer<T, Alloc>::rinsert(begin() + index, first, last);
-    }
-};
-
-// Non-member functions
-
-//! Test two space optimized circular buffers for equality.
-template <class T, class Alloc>
-inline bool operator == (const circular_buffer_space_optimized<T, Alloc>& lhs,
-    const circular_buffer_space_optimized<T, Alloc>& rhs) {
-    return lhs.size() == rhs.size() &&
-        std::equal(lhs.begin(), lhs.end(), rhs.begin());
-}
-
-//! Lexicographical comparison.
-template <class T, class Alloc>
-inline bool operator < (const circular_buffer_space_optimized<T, Alloc>& lhs,
-    const circular_buffer_space_optimized<T, Alloc>& rhs) {
-    return std::lexicographical_compare(
-        lhs.begin(), lhs.end(), rhs.begin(), rhs.end());
-}
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) || BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
-
-//! Test two space optimized circular buffers for non-equality.
-template <class T, class Alloc>
-inline bool operator != (const circular_buffer_space_optimized<T, Alloc>& lhs,
-    const circular_buffer_space_optimized<T, Alloc>& rhs) {
-    return !(lhs == rhs);
-}
-
-//! Lexicographical comparison.
-template <class T, class Alloc>
-inline bool operator > (const circular_buffer_space_optimized<T, Alloc>& lhs,
-    const circular_buffer_space_optimized<T, Alloc>& rhs) {
-    return rhs < lhs;
-}
-
-//! Lexicographical comparison.
-template <class T, class Alloc>
-inline bool operator <= (const circular_buffer_space_optimized<T, Alloc>& lhs,
-    const circular_buffer_space_optimized<T, Alloc>& rhs) {
-    return !(rhs < lhs);
-}
-
-//! Lexicographical comparison.
-template <class T, class Alloc>
-inline bool operator >= (const circular_buffer_space_optimized<T, Alloc>& lhs,
-    const circular_buffer_space_optimized<T, Alloc>& rhs) {
-    return !(lhs < rhs);
-}
-
-//! Swap the contents of two space optimized circular buffers.
-template <class T, class Alloc>
-inline void swap(circular_buffer_space_optimized<T, Alloc>& lhs,
-    circular_buffer_space_optimized<T, Alloc>& rhs) {
-    lhs.swap(rhs);
-}
-
-#endif // #if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) || BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
-
-} // namespace boost
-
-#endif // #if !defined(BOOST_CIRCULAR_BUFFER_SPACE_OPTIMIZED_HPP)
diff --git a/SRC/Boost/boost/circular_buffer_fwd.hpp b/SRC/Boost/boost/circular_buffer_fwd.hpp
deleted file mode 100755
index 13411d3..0000000
--- a/SRC/Boost/boost/circular_buffer_fwd.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-// Forward declaration of the circular buffer and its adaptor.
-
-// Copyright (c) 2003-2008 Jan Gaspar
-
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See www.boost.org/libs/circular_buffer for documentation.
-
-#if !defined(BOOST_CIRCULAR_BUFFER_FWD_HPP)
-#define BOOST_CIRCULAR_BUFFER_FWD_HPP
-
-#if defined(_MSC_VER) && _MSC_VER >= 1200
-    #pragma once
-#endif
-
-#include <boost/config.hpp>
-#if !defined(BOOST_NO_STD_ALLOCATOR)
-    #include <memory>
-#else
-    #include <vector>
-#endif
-
-namespace boost {
-
-#if !defined(BOOST_NO_STD_ALLOCATOR)
-    #define BOOST_CB_DEFAULT_ALLOCATOR(T) std::allocator<T>
-#else
-    #define BOOST_CB_DEFAULT_ALLOCATOR(T) BOOST_DEDUCED_TYPENAME std::vector<T>::allocator_type
-#endif
-
-template <class T, class Alloc = BOOST_CB_DEFAULT_ALLOCATOR(T)>
-class circular_buffer;
-
-template <class T, class Alloc = BOOST_CB_DEFAULT_ALLOCATOR(T)>
-class circular_buffer_space_optimized;
-
-#undef BOOST_CB_DEFAULT_ALLOCATOR
-
-} // namespace boost
-
-#endif // #if !defined(BOOST_CIRCULAR_BUFFER_FWD_HPP)
diff --git a/SRC/Boost/boost/compatibility/cpp_c_headers/cstdio b/SRC/Boost/boost/compatibility/cpp_c_headers/cstdio
deleted file mode 100755
index fb18f78..0000000
--- a/SRC/Boost/boost/compatibility/cpp_c_headers/cstdio
+++ /dev/null
@@ -1,57 +0,0 @@
-// This file is automatically generated. Do not edit.
-// ['../../libs/compatibility/generate_cpp_c_headers.py']
-// Wed Jul 23 12:11:19 2003 ('GMTST', 'GMTST')
-
-#ifndef __CSTDIO_HEADER
-#define __CSTDIO_HEADER
-
-#include <stdio.h>
-
-namespace std {
-  using ::FILE;
-  using ::fpos_t;
-  using ::size_t;
-  using ::clearerr;
-  using ::fgets;
-  using ::fscanf;
-  using ::gets;
-  using ::rename;
-  using ::tmpfile;
-  using ::fclose;
-  using ::fopen;
-  using ::fseek;
-  using ::perror;
-  using ::rewind;
-  using ::tmpnam;
-  using ::feof;
-  using ::fprintf;
-  using ::fsetpos;
-  using ::printf;
-  using ::scanf;
-  using ::ungetc;
-  using ::ferror;
-  using ::fputc;
-  using ::ftell;
-  using ::putc;
-  using ::setbuf;
-  using ::vfprintf;
-  using ::fflush;
-  using ::fputs;
-  using ::fwrite;
-  using ::putchar;
-  using ::setvbuf;
-  using ::vprintf;
-  using ::fgetc;
-  using ::fread;
-  using ::getc;
-  using ::puts;
-  using ::sprintf;
-  using ::vsprintf;
-  using ::fgetpos;
-  using ::freopen;
-  using ::getchar;
-  using ::remove;
-  using ::sscanf;
-}
-
-#endif // CSTDIO_HEADER
diff --git a/SRC/Boost/boost/compressed_pair.hpp b/SRC/Boost/boost/compressed_pair.hpp
deleted file mode 100755
index 512c2a0..0000000
--- a/SRC/Boost/boost/compressed_pair.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/utility for most recent version including documentation.
-
-//  See boost/detail/compressed_pair.hpp and boost/detail/ob_compressed_pair.hpp
-//  for full copyright notices.
-
-#ifndef BOOST_COMPRESSED_PAIR_HPP
-#define BOOST_COMPRESSED_PAIR_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#include <boost/config.hpp>
-#endif
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/detail/ob_compressed_pair.hpp>
-#else
-#include <boost/detail/compressed_pair.hpp>
-#endif
-
-#endif // BOOST_COMPRESSED_PAIR_HPP
diff --git a/SRC/Boost/boost/concept/assert.hpp b/SRC/Boost/boost/concept/assert.hpp
deleted file mode 100755
index 11c86cc..0000000
--- a/SRC/Boost/boost/concept/assert.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright David Abrahams 2006. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_ASSERT_DWA2006430_HPP
-# define BOOST_CONCEPT_ASSERT_DWA2006430_HPP
-
-# include <boost/config.hpp>
-# include <boost/detail/workaround.hpp>
-
-// The old protocol used a constraints() member function in concept
-// checking classes.  If the compiler supports SFINAE, we can detect
-// that function and seamlessly support the old concept checking
-// classes.  In this release, backward compatibility with the old
-// concept checking classes is enabled by default, where available.
-// The old protocol is deprecated, though, and backward compatibility
-// will no longer be the default in the next release.
-
-# if !defined(BOOST_NO_OLD_CONCEPT_SUPPORT)                                         \
-    && !defined(BOOST_NO_SFINAE)                                                    \
-                                                                                    \
-    && !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4)) \
-    && !(BOOST_WORKAROUND(__GNUC__, == 2))
-
-// Note: gcc-2.96 through 3.3.x have some SFINAE, but no ability to
-// check for the presence of particularmember functions.
-
-#  define BOOST_OLD_CONCEPT_SUPPORT
-
-# endif
-
-# ifdef BOOST_MSVC
-#  include <boost/concept/detail/msvc.hpp>
-# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  include <boost/concept/detail/borland.hpp>
-# else 
-#  include <boost/concept/detail/general.hpp>
-# endif
-
-  // Usage, in class or function context:
-  //
-  //     BOOST_CONCEPT_ASSERT((UnaryFunctionConcept<F,bool,int>));
-  //
-# define BOOST_CONCEPT_ASSERT(ModelInParens) \
-    BOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens)
-
-#endif // BOOST_CONCEPT_ASSERT_DWA2006430_HPP
diff --git a/SRC/Boost/boost/concept/detail/backward_compatibility.hpp b/SRC/Boost/boost/concept/detail/backward_compatibility.hpp
deleted file mode 100755
index b1ea752..0000000
--- a/SRC/Boost/boost/concept/detail/backward_compatibility.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright David Abrahams 2009. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
-# define BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
-
-namespace boost
-{
-  namespace concepts {}
-
-# if defined(BOOST_HAS_CONCEPTS) && !defined(BOOST_CONCEPT_NO_BACKWARD_KEYWORD)
-  namespace concept = concepts;
-# endif 
-} // namespace boost::concept
-
-#endif // BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
diff --git a/SRC/Boost/boost/concept/detail/borland.hpp b/SRC/Boost/boost/concept/detail/borland.hpp
deleted file mode 100755
index a789798..0000000
--- a/SRC/Boost/boost/concept/detail/borland.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright David Abrahams 2006. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
-# define BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
-
-# include <boost/preprocessor/cat.hpp>
-# include <boost/concept/detail/backward_compatibility.hpp>
-
-namespace boost { namespace concepts {
-
-template <class ModelFnPtr>
-struct require;
-
-template <class Model>
-struct require<void(*)(Model)>
-{
-    enum { instantiate = sizeof((((Model*)0)->~Model()), 3) };
-};
-
-#  define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr )         \
-  enum                                                  \
-  {                                                     \
-      BOOST_PP_CAT(boost_concept_check,__LINE__) =      \
-      boost::concepts::require<ModelFnPtr>::instantiate  \
-  }
-
-}} // namespace boost::concept
-
-#endif // BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
diff --git a/SRC/Boost/boost/concept/detail/concept_def.hpp b/SRC/Boost/boost/concept/detail/concept_def.hpp
deleted file mode 100755
index f2474a8..0000000
--- a/SRC/Boost/boost/concept/detail/concept_def.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright David Abrahams 2006. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP
-# define BOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP
-# include <boost/preprocessor/seq/for_each_i.hpp>
-# include <boost/preprocessor/seq/enum.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/cat.hpp>
-#endif // BOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP
-
-// BOOST_concept(SomeName, (p1)(p2)...(pN))
-//
-// Expands to "template <class p1, class p2, ...class pN> struct SomeName"
-//
-// Also defines an equivalent SomeNameConcept for backward compatibility.
-// Maybe in the next release we can kill off the "Concept" suffix for good.
-#if BOOST_WORKAROUND(__GNUC__, <= 3)
-# define BOOST_concept(name, params)                                            \
-    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
-    struct name; /* forward declaration */                                      \
-                                                                                \
-    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
-    struct BOOST_PP_CAT(name,Concept)                                           \
-      : name< BOOST_PP_SEQ_ENUM(params) >                                       \
-    {                                                                           \
-        /* at least 2.96 and 3.4.3 both need this */                            \
-        BOOST_PP_CAT(name,Concept)();                                           \
-    };                                                                          \
-                                                                                \
-    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
-    struct name                                                                
-#else
-# define BOOST_concept(name, params)                                            \
-    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
-    struct name; /* forward declaration */                                      \
-                                                                                \
-    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
-    struct BOOST_PP_CAT(name,Concept)                                           \
-      : name< BOOST_PP_SEQ_ENUM(params) >                                       \
-    {                                                                           \
-    };                                                                          \
-                                                                                \
-    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
-    struct name                                                                
-#endif
-    
-// Helper for BOOST_concept, above.
-# define BOOST_CONCEPT_typename(r, ignored, index, t) \
-    BOOST_PP_COMMA_IF(index) typename t
-
diff --git a/SRC/Boost/boost/concept/detail/concept_undef.hpp b/SRC/Boost/boost/concept/detail/concept_undef.hpp
deleted file mode 100755
index fa36abd..0000000
--- a/SRC/Boost/boost/concept/detail/concept_undef.hpp
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright David Abrahams 2006. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-# undef BOOST_concept_typename
-# undef BOOST_concept
diff --git a/SRC/Boost/boost/concept/detail/general.hpp b/SRC/Boost/boost/concept/detail/general.hpp
deleted file mode 100755
index 53e34e1..0000000
--- a/SRC/Boost/boost/concept/detail/general.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright David Abrahams 2006. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
-# define BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
-
-# include <boost/preprocessor/cat.hpp>
-# include <boost/concept/detail/backward_compatibility.hpp>
-
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-#  include <boost/concept/detail/has_constraints.hpp>
-#  include <boost/mpl/if.hpp>
-# endif
-
-// This implementation works on Comeau and GCC, all the way back to
-// 2.95
-namespace boost { namespace concepts {
-
-template <class ModelFn>
-struct requirement_;
-
-namespace detail
-{
-  template <void(*)()> struct instantiate {};
-}
-
-template <class Model>
-struct requirement
-{
-    static void failed() { ((Model*)0)->~Model(); }
-};
-
-struct failed {};
-
-template <class Model>
-struct requirement<failed ************ Model::************>
-{
-    static void failed() { ((Model*)0)->~Model(); }
-};
-
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-
-template <class Model>
-struct constraint
-{
-    static void failed() { ((Model*)0)->constraints(); }
-};
-  
-template <class Model>
-struct requirement_<void(*)(Model)>
-  : mpl::if_<
-        concepts::not_satisfied<Model>
-      , constraint<Model>
-      , requirement<failed ************ Model::************>
-    >::type
-{};
-  
-# else
-
-// For GCC-2.x, these can't have exactly the same name
-template <class Model>
-struct requirement_<void(*)(Model)>
-    : requirement<failed ************ Model::************>
-{};
-  
-# endif
-
-#  define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr )             \
-    typedef ::boost::concepts::detail::instantiate<          \
-    &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
-      BOOST_PP_CAT(boost_concept_check,__LINE__)
-
-}}
-
-#endif // BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
diff --git a/SRC/Boost/boost/concept/detail/has_constraints.hpp b/SRC/Boost/boost/concept/detail/has_constraints.hpp
deleted file mode 100755
index 9664c22..0000000
--- a/SRC/Boost/boost/concept/detail/has_constraints.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright David Abrahams 2006. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
-# define BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
-
-# include <boost/mpl/bool.hpp>
-# include <boost/detail/workaround.hpp>
-# include <boost/concept/detail/backward_compatibility.hpp>
-
-namespace boost { namespace concepts {
-
-namespace detail
-{ 
-
-// Here we implement the metafunction that detects whether a
-// constraints metafunction exists
-  typedef char yes;
-  typedef char (&no)[2];
-
-  template <class Model, void (Model::*)()>
-  struct wrap_constraints {};
-    
-#if BOOST_WORKAROUND(__SUNPRO_CC, <= 0x580) || defined(__CUDACC__)
-  // Work around the following bogus error in Sun Studio 11, by
-  // turning off the has_constraints function entirely:
-  //    Error: complex expression not allowed in dependent template
-  //    argument expression
-  inline no has_constraints_(...);
-#else
-  template <class Model>
-  inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
-  inline no has_constraints_(...);
-#endif
-}
-
-// This would be called "detail::has_constraints," but it has a strong
-// tendency to show up in error messages.
-template <class Model>
-struct not_satisfied
-{
-    BOOST_STATIC_CONSTANT(
-        bool
-      , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
-    typedef mpl::bool_<value> type;
-};
-
-}} // namespace boost::concepts::detail
-
-#endif // BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
diff --git a/SRC/Boost/boost/concept/detail/msvc.hpp b/SRC/Boost/boost/concept/detail/msvc.hpp
deleted file mode 100755
index af34c05..0000000
--- a/SRC/Boost/boost/concept/detail/msvc.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright David Abrahams 2006. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
-# define BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
-
-# include <boost/preprocessor/cat.hpp>
-# include <boost/concept/detail/backward_compatibility.hpp>
-
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-#  include <boost/concept/detail/has_constraints.hpp>
-#  include <boost/mpl/if.hpp>
-# endif
-
-
-namespace boost { namespace concepts {
-
-
-template <class Model>
-struct check
-{
-    virtual void failed(Model* x)
-    {
-        x->~Model();
-    }
-};
-
-# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
-struct failed {};
-template <class Model>
-struct check<failed ************ Model::************>
-{
-    virtual void failed(Model* x)
-    {
-        x->~Model();
-    }
-};
-# endif
-
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-  
-namespace detail
-{
-  // No need for a virtual function here, since evaluating
-  // not_satisfied below will have already instantiated the
-  // constraints() member.
-  struct constraint {};
-}
-
-template <class Model>
-struct require
-  : mpl::if_c<
-        not_satisfied<Model>::value
-      , detail::constraint
-# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
-      , check<Model>
-# else
-      , check<failed ************ Model::************>
-# endif 
-        >::type
-{};
-      
-# else
-  
-template <class Model>
-struct require
-# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
-    : check<Model>
-# else
-    : check<failed ************ Model::************>
-# endif 
-{};
-  
-# endif
-    
-# if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-
-//
-// The iterator library sees some really strange errors unless we
-// do things this way.
-//
-template <class Model>
-struct require<void(*)(Model)>
-{
-    virtual void failed(Model*)
-    {
-        require<Model>();
-    }
-};
-
-# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr )      \
-enum                                                \
-{                                                   \
-    BOOST_PP_CAT(boost_concept_check,__LINE__) =    \
-    sizeof(::boost::concepts::require<ModelFnPtr>)    \
-}
-  
-# else // Not vc-7.1
-  
-template <class Model>
-require<Model>
-require_(void(*)(Model));
-  
-# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr )          \
-enum                                                    \
-{                                                       \
-    BOOST_PP_CAT(boost_concept_check,__LINE__) =        \
-      sizeof(::boost::concepts::require_((ModelFnPtr)0)) \
-}
-  
-# endif
-}}
-
-#endif // BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
diff --git a/SRC/Boost/boost/concept/usage.hpp b/SRC/Boost/boost/concept/usage.hpp
deleted file mode 100755
index e642e7c..0000000
--- a/SRC/Boost/boost/concept/usage.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright David Abrahams 2006. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_USAGE_DWA2006919_HPP
-# define BOOST_CONCEPT_USAGE_DWA2006919_HPP
-
-# include <boost/concept/assert.hpp>
-# include <boost/detail/workaround.hpp>
-# include <boost/concept/detail/backward_compatibility.hpp>
-
-namespace boost { namespace concepts { 
-
-# if BOOST_WORKAROUND(__GNUC__, == 2)
-
-#  define BOOST_CONCEPT_USAGE(model) ~model()
-
-# else 
-
-template <class Model>
-struct usage_requirements
-{
-    ~usage_requirements() { ((Model*)0)->~Model(); }
-};
-
-#  if BOOST_WORKAROUND(__GNUC__, <= 3)
-
-#   define BOOST_CONCEPT_USAGE(model)                                    \
-      model(); /* at least 2.96 and 3.4.3 both need this :( */           \
-      BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements<model>)); \
-      ~model()
-
-#  else
-
-#   define BOOST_CONCEPT_USAGE(model)                                    \
-      BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements<model>)); \
-      ~model()
-
-#  endif
-
-# endif 
-
-}} // namespace boost::concepts
-
-#endif // BOOST_CONCEPT_USAGE_DWA2006919_HPP
diff --git a/SRC/Boost/boost/concept_check.hpp b/SRC/Boost/boost/concept_check.hpp
deleted file mode 100755
index 17f863b..0000000
--- a/SRC/Boost/boost/concept_check.hpp
+++ /dev/null
@@ -1,1083 +0,0 @@
-//
-// (C) Copyright Jeremy Siek 2000.
-// Copyright 2002 The Trustees of Indiana University.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// Revision History:
-//   05 May   2001: Workarounds for HP aCC from Thomas Matelich. (Jeremy Siek)
-//   02 April 2001: Removed limits header altogether. (Jeremy Siek)
-//   01 April 2001: Modified to use new <boost/limits.hpp> header. (JMaddock)
-//
-
-// See http://www.boost.org/libs/concept_check for documentation.
-
-#ifndef BOOST_CONCEPT_CHECKS_HPP
-# define BOOST_CONCEPT_CHECKS_HPP
-
-# include <boost/concept/assert.hpp>
-
-# include <boost/iterator.hpp>
-# include <boost/type_traits/conversion_traits.hpp>
-# include <utility>
-# include <boost/type_traits/is_same.hpp>
-# include <boost/type_traits/is_void.hpp>
-# include <boost/mpl/assert.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/detail/workaround.hpp>
-# include <boost/detail/iterator.hpp>
-
-# include <boost/concept/usage.hpp>
-# include <boost/concept/detail/concept_def.hpp>
-
-namespace boost
-{
-
-  //
-  // Backward compatibility
-  //
-
-  template <class Model>
-  inline void function_requires(Model* = 0)
-  {
-      BOOST_CONCEPT_ASSERT((Model));
-  }
-  template <class T> inline void ignore_unused_variable_warning(T const&) {}
-
-#  define BOOST_CLASS_REQUIRE(type_var, ns, concept)    \
-    BOOST_CONCEPT_ASSERT((ns::concept<type_var>))
-
-#  define BOOST_CLASS_REQUIRE2(type_var1, type_var2, ns, concept)   \
-    BOOST_CONCEPT_ASSERT((ns::concept<type_var1,type_var2>))
-
-#  define BOOST_CLASS_REQUIRE3(tv1, tv2, tv3, ns, concept)  \
-    BOOST_CONCEPT_ASSERT((ns::concept<tv1,tv2,tv3>))
-
-#  define BOOST_CLASS_REQUIRE4(tv1, tv2, tv3, tv4, ns, concept) \
-    BOOST_CONCEPT_ASSERT((ns::concept<tv1,tv2,tv3,tv4>))
-
-
-  //
-  // Begin concept definitions
-  //
-  BOOST_concept(Integer, (T))
-  {
-      BOOST_CONCEPT_USAGE(Integer)
-        {
-            x.error_type_must_be_an_integer_type();
-        }
-   private:
-      T x;
-  };
-
-  template <> struct Integer<char> {};
-  template <> struct Integer<signed char> {};
-  template <> struct Integer<unsigned char> {};
-  template <> struct Integer<short> {};
-  template <> struct Integer<unsigned short> {};
-  template <> struct Integer<int> {};
-  template <> struct Integer<unsigned int> {};
-  template <> struct Integer<long> {};
-  template <> struct Integer<unsigned long> {};
-# if defined(BOOST_HAS_LONG_LONG)
-  template <> struct Integer< ::boost::long_long_type> {};
-  template <> struct Integer< ::boost::ulong_long_type> {};
-# elif defined(BOOST_HAS_MS_INT64)
-  template <> struct Integer<__int64> {};
-  template <> struct Integer<unsigned __int64> {};
-# endif
-
-  BOOST_concept(SignedInteger,(T)) {
-    BOOST_CONCEPT_USAGE(SignedInteger) {
-      x.error_type_must_be_a_signed_integer_type();
-    }
-   private:
-    T x;
-  };
-  template <> struct SignedInteger<signed char> { };
-  template <> struct SignedInteger<short> {};
-  template <> struct SignedInteger<int> {};
-  template <> struct SignedInteger<long> {};
-# if defined(BOOST_HAS_LONG_LONG)
-  template <> struct SignedInteger< ::boost::long_long_type> {};
-# elif defined(BOOST_HAS_MS_INT64)
-  template <> struct SignedInteger<__int64> {};
-# endif
-
-  BOOST_concept(UnsignedInteger,(T)) {
-    BOOST_CONCEPT_USAGE(UnsignedInteger) {
-      x.error_type_must_be_an_unsigned_integer_type();
-    }
-   private:
-    T x;
-  };
-
-  template <> struct UnsignedInteger<unsigned char> {};
-  template <> struct UnsignedInteger<unsigned short> {};
-  template <> struct UnsignedInteger<unsigned int> {};
-  template <> struct UnsignedInteger<unsigned long> {};
-# if defined(BOOST_HAS_LONG_LONG)
-  template <> struct UnsignedInteger< ::boost::ulong_long_type> {};
-# elif defined(BOOST_HAS_MS_INT64)
-  template <> struct UnsignedInteger<unsigned __int64> {};
-# endif
-
-  //===========================================================================
-  // Basic Concepts
-
-  BOOST_concept(DefaultConstructible,(TT))
-  {
-    BOOST_CONCEPT_USAGE(DefaultConstructible) {
-      TT a;               // require default constructor
-      ignore_unused_variable_warning(a);
-    }
-  };
-
-  BOOST_concept(Assignable,(TT))
-  {
-    BOOST_CONCEPT_USAGE(Assignable) {
-#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
-      a = b;             // require assignment operator
-#endif
-      const_constraints(b);
-    }
-   private:
-    void const_constraints(const TT& x) {
-#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
-      a = x;              // const required for argument to assignment
-#else
-      ignore_unused_variable_warning(x);
-#endif
-    }
-   private:
-    TT a;
-    TT b;
-  };
-
-
-  BOOST_concept(CopyConstructible,(TT))
-  {
-    BOOST_CONCEPT_USAGE(CopyConstructible) {
-      TT a(b);            // require copy constructor
-      TT* ptr = &a;       // require address of operator
-      const_constraints(a);
-      ignore_unused_variable_warning(ptr);
-    }
-   private:
-    void const_constraints(const TT& a) {
-      TT c(a);            // require const copy constructor
-      const TT* ptr = &a; // require const address of operator
-      ignore_unused_variable_warning(c);
-      ignore_unused_variable_warning(ptr);
-    }
-    TT b;
-  };
-
-#if (defined _MSC_VER)
-# pragma warning( push )
-# pragma warning( disable : 4510 ) // default constructor could not be generated
-# pragma warning( disable : 4610 ) // object 'class' can never be instantiated - user-defined constructor required
-#endif
-  // The SGI STL version of Assignable requires copy constructor and operator=
-  BOOST_concept(SGIAssignable,(TT))
-  {
-    BOOST_CONCEPT_USAGE(SGIAssignable) {
-      TT c(a);
-#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
-      a = b;              // require assignment operator
-#endif
-      const_constraints(b);
-      ignore_unused_variable_warning(c);
-    }
-   private:
-    void const_constraints(const TT& x) {
-      TT c(x);
-#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
-      a = x;              // const required for argument to assignment
-#endif
-      ignore_unused_variable_warning(c);
-    }
-    TT a;
-    TT b;
-  };
-#if (defined _MSC_VER)
-# pragma warning( pop )
-#endif
-
-  BOOST_concept(Convertible,(X)(Y))
-  {
-    BOOST_CONCEPT_USAGE(Convertible) {
-      Y y = x;
-      ignore_unused_variable_warning(y);
-    }
-   private:
-    X x;
-  };
-
-  // The C++ standard requirements for many concepts talk about return
-  // types that must be "convertible to bool".  The problem with this
-  // requirement is that it leaves the door open for evil proxies that
-  // define things like operator|| with strange return types.  Two
-  // possible solutions are:
-  // 1) require the return type to be exactly bool
-  // 2) stay with convertible to bool, and also
-  //    specify stuff about all the logical operators.
-  // For now we just test for convertible to bool.
-  template <class TT>
-  void require_boolean_expr(const TT& t) {
-    bool x = t;
-    ignore_unused_variable_warning(x);
-  }
-
-  BOOST_concept(EqualityComparable,(TT))
-  {
-    BOOST_CONCEPT_USAGE(EqualityComparable) {
-      require_boolean_expr(a == b);
-      require_boolean_expr(a != b);
-    }
-   private:
-    TT a, b;
-  };
-
-  BOOST_concept(LessThanComparable,(TT))
-  {
-    BOOST_CONCEPT_USAGE(LessThanComparable) {
-      require_boolean_expr(a < b);
-    }
-   private:
-    TT a, b;
-  };
-
-  // This is equivalent to SGI STL's LessThanComparable.
-  BOOST_concept(Comparable,(TT))
-  {
-    BOOST_CONCEPT_USAGE(Comparable) {
-      require_boolean_expr(a < b);
-      require_boolean_expr(a > b);
-      require_boolean_expr(a <= b);
-      require_boolean_expr(a >= b);
-    }
-   private:
-    TT a, b;
-  };
-
-#define BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(OP,NAME)    \
-  BOOST_concept(NAME, (First)(Second))                          \
-  {                                                             \
-      BOOST_CONCEPT_USAGE(NAME) { (void)constraints_(); }                         \
-     private:                                                   \
-        bool constraints_() { return a OP b; }                  \
-        First a;                                                \
-        Second b;                                               \
-  }
-
-#define BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(OP,NAME)    \
-  BOOST_concept(NAME, (Ret)(First)(Second))                 \
-  {                                                         \
-      BOOST_CONCEPT_USAGE(NAME) { (void)constraints_(); }                     \
-  private:                                                  \
-      Ret constraints_() { return a OP b; }                 \
-      First a;                                              \
-      Second b;                                             \
-  }
-
-  BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(==, EqualOp);
-  BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(!=, NotEqualOp);
-  BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<, LessThanOp);
-  BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<=, LessEqualOp);
-  BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>, GreaterThanOp);
-  BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>=, GreaterEqualOp);
-
-  BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(+, PlusOp);
-  BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(*, TimesOp);
-  BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(/, DivideOp);
-  BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(-, SubtractOp);
-  BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(%, ModOp);
-
-  //===========================================================================
-  // Function Object Concepts
-
-  BOOST_concept(Generator,(Func)(Return))
-  {
-      BOOST_CONCEPT_USAGE(Generator) { test(is_void<Return>()); }
-
-   private:
-      void test(boost::mpl::false_)
-      {
-          // Do we really want a reference here?
-          const Return& r = f();
-          ignore_unused_variable_warning(r);
-      }
-
-      void test(boost::mpl::true_)
-      {
-          f();
-      }
-
-      Func f;
-  };
-
-  BOOST_concept(UnaryFunction,(Func)(Return)(Arg))
-  {
-      BOOST_CONCEPT_USAGE(UnaryFunction) { test(is_void<Return>()); }
-
-   private:
-      void test(boost::mpl::false_)
-      {
-          f(arg);               // "priming the pump" this way keeps msvc6 happy (ICE)
-          Return r = f(arg);
-          ignore_unused_variable_warning(r);
-      }
-
-      void test(boost::mpl::true_)
-      {
-          f(arg);
-      }
-
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
-                      && BOOST_WORKAROUND(__GNUC__, > 3)))
-      // Declare a dummy construktor to make gcc happy.
-      // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
-      // (warning: non-static reference "const double& boost::UnaryFunction<YourClassHere>::arg"
-      // in class without a constructor [-Wuninitialized])
-      UnaryFunction();
-#endif
-
-      Func f;
-      Arg arg;
-  };
-
-  BOOST_concept(BinaryFunction,(Func)(Return)(First)(Second))
-  {
-      BOOST_CONCEPT_USAGE(BinaryFunction) { test(is_void<Return>()); }
-   private:
-      void test(boost::mpl::false_)
-      {
-          f(first,second);
-          Return r = f(first, second); // require operator()
-          (void)r;
-      }
-
-      void test(boost::mpl::true_)
-      {
-          f(first,second);
-      }
-
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
-                      && BOOST_WORKAROUND(__GNUC__, > 3)))
-      // Declare a dummy constructor to make gcc happy.
-      // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
-      // (warning: non-static reference "const double& boost::BinaryFunction<YourClassHere>::arg"
-      // in class without a constructor [-Wuninitialized])
-      BinaryFunction();
-#endif
-
-      Func f;
-      First first;
-      Second second;
-  };
-
-  BOOST_concept(UnaryPredicate,(Func)(Arg))
-  {
-    BOOST_CONCEPT_USAGE(UnaryPredicate) {
-      require_boolean_expr(f(arg)); // require operator() returning bool
-    }
-   private:
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
-                      && BOOST_WORKAROUND(__GNUC__, > 3)))
-      // Declare a dummy constructor to make gcc happy.
-      // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
-      // (warning: non-static reference "const double& boost::UnaryPredicate<YourClassHere>::arg"
-      // in class without a constructor [-Wuninitialized])
-      UnaryPredicate();
-#endif
-
-    Func f;
-    Arg arg;
-  };
-
-  BOOST_concept(BinaryPredicate,(Func)(First)(Second))
-  {
-    BOOST_CONCEPT_USAGE(BinaryPredicate) {
-      require_boolean_expr(f(a, b)); // require operator() returning bool
-    }
-   private:
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
-                      && BOOST_WORKAROUND(__GNUC__, > 3)))
-      // Declare a dummy constructor to make gcc happy.
-      // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
-      // (warning: non-static reference "const double& boost::BinaryPredicate<YourClassHere>::arg"
-      // in class without a constructor [-Wuninitialized])
-      BinaryPredicate();
-#endif
-    Func f;
-    First a;
-    Second b;
-  };
-
-  // use this when functor is used inside a container class like std::set
-  BOOST_concept(Const_BinaryPredicate,(Func)(First)(Second))
-    : BinaryPredicate<Func, First, Second>
-  {
-    BOOST_CONCEPT_USAGE(Const_BinaryPredicate) {
-      const_constraints(f);
-    }
-   private:
-    void const_constraints(const Func& fun) {
-      // operator() must be a const member function
-      require_boolean_expr(fun(a, b));
-    }
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
-                      && BOOST_WORKAROUND(__GNUC__, > 3)))
-      // Declare a dummy constructor to make gcc happy.
-      // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
-      // (warning: non-static reference "const double& boost::Const_BinaryPredicate<YourClassHere>::arg"
-      // in class without a constructor [-Wuninitialized])
-      Const_BinaryPredicate();
-#endif
-
-    Func f;
-    First a;
-    Second b;
-  };
-
-  BOOST_concept(AdaptableGenerator,(Func)(Return))
-    : Generator<Func, typename Func::result_type>
-  {
-      typedef typename Func::result_type result_type;
-
-      BOOST_CONCEPT_USAGE(AdaptableGenerator)
-      {
-          BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
-      }
-  };
-
-  BOOST_concept(AdaptableUnaryFunction,(Func)(Return)(Arg))
-    : UnaryFunction<Func, typename Func::result_type, typename Func::argument_type>
-  {
-      typedef typename Func::argument_type argument_type;
-      typedef typename Func::result_type result_type;
-
-      ~AdaptableUnaryFunction()
-      {
-          BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
-          BOOST_CONCEPT_ASSERT((Convertible<Arg, argument_type>));
-      }
-  };
-
-  BOOST_concept(AdaptableBinaryFunction,(Func)(Return)(First)(Second))
-    : BinaryFunction<
-          Func
-        , typename Func::result_type
-        , typename Func::first_argument_type
-        , typename Func::second_argument_type
-      >
-  {
-      typedef typename Func::first_argument_type first_argument_type;
-      typedef typename Func::second_argument_type second_argument_type;
-      typedef typename Func::result_type result_type;
-
-      ~AdaptableBinaryFunction()
-      {
-          BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
-          BOOST_CONCEPT_ASSERT((Convertible<First, first_argument_type>));
-          BOOST_CONCEPT_ASSERT((Convertible<Second, second_argument_type>));
-      }
-  };
-
-  BOOST_concept(AdaptablePredicate,(Func)(Arg))
-    : UnaryPredicate<Func, Arg>
-    , AdaptableUnaryFunction<Func, bool, Arg>
-  {
-  };
-
-  BOOST_concept(AdaptableBinaryPredicate,(Func)(First)(Second))
-    : BinaryPredicate<Func, First, Second>
-    , AdaptableBinaryFunction<Func, bool, First, Second>
-  {
-  };
-
-  //===========================================================================
-  // Iterator Concepts
-
-  BOOST_concept(InputIterator,(TT))
-    : Assignable<TT>
-    , EqualityComparable<TT>
-  {
-      typedef typename boost::detail::iterator_traits<TT>::value_type value_type;
-      typedef typename boost::detail::iterator_traits<TT>::difference_type difference_type;
-      typedef typename boost::detail::iterator_traits<TT>::reference reference;
-      typedef typename boost::detail::iterator_traits<TT>::pointer pointer;
-      typedef typename boost::detail::iterator_traits<TT>::iterator_category iterator_category;
-
-      BOOST_CONCEPT_USAGE(InputIterator)
-      {
-        BOOST_CONCEPT_ASSERT((SignedInteger<difference_type>));
-        BOOST_CONCEPT_ASSERT((Convertible<iterator_category, std::input_iterator_tag>));
-
-        TT j(i);
-        (void)*i;           // require dereference operator
-        ++j;                // require preincrement operator
-        i++;                // require postincrement operator
-      }
-   private:
-    TT i;
-  };
-
-  BOOST_concept(OutputIterator,(TT)(ValueT))
-    : Assignable<TT>
-  {
-    BOOST_CONCEPT_USAGE(OutputIterator) {
-
-      ++i;                // require preincrement operator
-      i++;                // require postincrement operator
-      *i++ = t;           // require postincrement and assignment
-    }
-   private:
-    TT i, j;
-    ValueT t;
-  };
-
-  BOOST_concept(ForwardIterator,(TT))
-    : InputIterator<TT>
-  {
-      BOOST_CONCEPT_USAGE(ForwardIterator)
-      {
-          BOOST_CONCEPT_ASSERT((Convertible<
-              BOOST_DEDUCED_TYPENAME ForwardIterator::iterator_category
-            , std::forward_iterator_tag
-          >));
-
-          typename InputIterator<TT>::reference r = *i;
-          ignore_unused_variable_warning(r);
-      }
-
-   private:
-      TT i;
-  };
-
-  BOOST_concept(Mutable_ForwardIterator,(TT))
-    : ForwardIterator<TT>
-  {
-      BOOST_CONCEPT_USAGE(Mutable_ForwardIterator) {
-        *i++ = *i;         // require postincrement and assignment
-      }
-   private:
-      TT i;
-  };
-
-  BOOST_concept(BidirectionalIterator,(TT))
-    : ForwardIterator<TT>
-  {
-      BOOST_CONCEPT_USAGE(BidirectionalIterator)
-      {
-          BOOST_CONCEPT_ASSERT((Convertible<
-              BOOST_DEDUCED_TYPENAME BidirectionalIterator::iterator_category
-            , std::bidirectional_iterator_tag
-          >));
-
-          --i;                // require predecrement operator
-          i--;                // require postdecrement operator
-      }
-   private:
-      TT i;
-  };
-
-  BOOST_concept(Mutable_BidirectionalIterator,(TT))
-    : BidirectionalIterator<TT>
-    , Mutable_ForwardIterator<TT>
-  {
-      BOOST_CONCEPT_USAGE(Mutable_BidirectionalIterator)
-      {
-          *i-- = *i;                  // require postdecrement and assignment
-      }
-   private:
-      TT i;
-  };
-
-  BOOST_concept(RandomAccessIterator,(TT))
-    : BidirectionalIterator<TT>
-    , Comparable<TT>
-  {
-      BOOST_CONCEPT_USAGE(RandomAccessIterator)
-      {
-          BOOST_CONCEPT_ASSERT((Convertible<
-              BOOST_DEDUCED_TYPENAME BidirectionalIterator<TT>::iterator_category
-            , std::random_access_iterator_tag
-          >));
-
-          i += n;             // require assignment addition operator
-          i = i + n; i = n + i; // require addition with difference type
-          i -= n;             // require assignment subtraction operator
-          i = i - n;                  // require subtraction with difference type
-          n = i - j;                  // require difference operator
-          (void)i[n];                 // require element access operator
-      }
-
-   private:
-    TT a, b;
-    TT i, j;
-      typename boost::detail::iterator_traits<TT>::difference_type n;
-  };
-
-  BOOST_concept(Mutable_RandomAccessIterator,(TT))
-    : RandomAccessIterator<TT>
-    , Mutable_BidirectionalIterator<TT>
-  {
-      BOOST_CONCEPT_USAGE(Mutable_RandomAccessIterator)
-      {
-          i[n] = *i;                  // require element access and assignment
-      }
-   private:
-    TT i;
-    typename boost::detail::iterator_traits<TT>::difference_type n;
-  };
-
-  //===========================================================================
-  // Container s
-
-  BOOST_concept(Container,(C))
-    : Assignable<C>
-  {
-    typedef typename C::value_type value_type;
-    typedef typename C::difference_type difference_type;
-    typedef typename C::size_type size_type;
-    typedef typename C::const_reference const_reference;
-    typedef typename C::const_pointer const_pointer;
-    typedef typename C::const_iterator const_iterator;
-
-      BOOST_CONCEPT_USAGE(Container)
-      {
-          BOOST_CONCEPT_ASSERT((InputIterator<const_iterator>));
-          const_constraints(c);
-      }
-
-   private:
-      void const_constraints(const C& cc) {
-          i = cc.begin();
-          i = cc.end();
-          n = cc.size();
-          n = cc.max_size();
-          b = cc.empty();
-      }
-      C c;
-      bool b;
-      const_iterator i;
-      size_type n;
-  };
-
-  BOOST_concept(Mutable_Container,(C))
-    : Container<C>
-  {
-      typedef typename C::reference reference;
-      typedef typename C::iterator iterator;
-      typedef typename C::pointer pointer;
-
-      BOOST_CONCEPT_USAGE(Mutable_Container)
-      {
-          BOOST_CONCEPT_ASSERT((
-               Assignable<typename Mutable_Container::value_type>));
-
-          BOOST_CONCEPT_ASSERT((InputIterator<iterator>));
-
-          i = c.begin();
-          i = c.end();
-          c.swap(c2);
-      }
-
-   private:
-      iterator i;
-      C c, c2;
-  };
-
-  BOOST_concept(ForwardContainer,(C))
-    : Container<C>
-  {
-      BOOST_CONCEPT_USAGE(ForwardContainer)
-      {
-          BOOST_CONCEPT_ASSERT((
-               ForwardIterator<
-                    typename ForwardContainer::const_iterator
-               >));
-      }
-  };
-
-  BOOST_concept(Mutable_ForwardContainer,(C))
-    : ForwardContainer<C>
-    , Mutable_Container<C>
-  {
-      BOOST_CONCEPT_USAGE(Mutable_ForwardContainer)
-      {
-          BOOST_CONCEPT_ASSERT((
-               Mutable_ForwardIterator<
-                   typename Mutable_ForwardContainer::iterator
-               >));
-      }
-  };
-
-  BOOST_concept(ReversibleContainer,(C))
-    : ForwardContainer<C>
-  {
-      typedef typename
-        C::const_reverse_iterator
-      const_reverse_iterator;
-
-      BOOST_CONCEPT_USAGE(ReversibleContainer)
-      {
-          BOOST_CONCEPT_ASSERT((
-              BidirectionalIterator<
-                  typename ReversibleContainer::const_iterator>));
-
-          BOOST_CONCEPT_ASSERT((BidirectionalIterator<const_reverse_iterator>));
-
-          const_constraints(c);
-      }
-   private:
-      void const_constraints(const C& cc)
-      {
-          const_reverse_iterator i = cc.rbegin();
-          i = cc.rend();
-      }
-      C c;
-  };
-
-  BOOST_concept(Mutable_ReversibleContainer,(C))
-    : Mutable_ForwardContainer<C>
-    , ReversibleContainer<C>
-  {
-      typedef typename C::reverse_iterator reverse_iterator;
-
-      BOOST_CONCEPT_USAGE(Mutable_ReversibleContainer)
-      {
-          typedef typename Mutable_ForwardContainer<C>::iterator iterator;
-          BOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator<iterator>));
-          BOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator<reverse_iterator>));
-
-          reverse_iterator i = c.rbegin();
-          i = c.rend();
-      }
-   private:
-      C c;
-  };
-
-  BOOST_concept(RandomAccessContainer,(C))
-    : ReversibleContainer<C>
-  {
-      typedef typename C::size_type size_type;
-      typedef typename C::const_reference const_reference;
-
-      BOOST_CONCEPT_USAGE(RandomAccessContainer)
-      {
-          BOOST_CONCEPT_ASSERT((
-              RandomAccessIterator<
-                  typename RandomAccessContainer::const_iterator
-              >));
-
-          const_constraints(c);
-      }
-   private:
-      void const_constraints(const C& cc)
-      {
-          const_reference r = cc[n];
-          ignore_unused_variable_warning(r);
-      }
-
-      C c;
-      size_type n;
-  };
-
-  BOOST_concept(Mutable_RandomAccessContainer,(C))
-    : Mutable_ReversibleContainer<C>
-    , RandomAccessContainer<C>
-  {
-   private:
-      typedef Mutable_RandomAccessContainer self;
-   public:
-      BOOST_CONCEPT_USAGE(Mutable_RandomAccessContainer)
-      {
-          BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<typename self::iterator>));
-          BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<typename self::reverse_iterator>));
-
-          typename self::reference r = c[i];
-          ignore_unused_variable_warning(r);
-      }
-
-   private:
-      typename Mutable_ReversibleContainer<C>::size_type i;
-      C c;
-  };
-
-  // A Sequence is inherently mutable
-  BOOST_concept(Sequence,(S))
-    : Mutable_ForwardContainer<S>
-      // Matt Austern's book puts DefaultConstructible here, the C++
-      // standard places it in Container --JGS
-      // ... so why aren't we following the standard?  --DWA
-    , DefaultConstructible<S>
-  {
-      BOOST_CONCEPT_USAGE(Sequence)
-      {
-          S
-              c(n),
-              c2(n, t),
-              c3(first, last);
-
-          c.insert(p, t);
-          c.insert(p, n, t);
-          c.insert(p, first, last);
-
-          c.erase(p);
-          c.erase(p, q);
-
-          typename Sequence::reference r = c.front();
-
-          ignore_unused_variable_warning(c);
-          ignore_unused_variable_warning(c2);
-          ignore_unused_variable_warning(c3);
-          ignore_unused_variable_warning(r);
-          const_constraints(c);
-      }
-   private:
-      void const_constraints(const S& c) {
-          typename Sequence::const_reference r = c.front();
-          ignore_unused_variable_warning(r);
-      }
-
-      typename S::value_type t;
-      typename S::size_type n;
-      typename S::value_type* first, *last;
-      typename S::iterator p, q;
-  };
-
-  BOOST_concept(FrontInsertionSequence,(S))
-    : Sequence<S>
-  {
-      BOOST_CONCEPT_USAGE(FrontInsertionSequence)
-      {
-          c.push_front(t);
-          c.pop_front();
-      }
-   private:
-      S c;
-      typename S::value_type t;
-  };
-
-  BOOST_concept(BackInsertionSequence,(S))
-    : Sequence<S>
-  {
-      BOOST_CONCEPT_USAGE(BackInsertionSequence)
-      {
-          c.push_back(t);
-          c.pop_back();
-          typename BackInsertionSequence::reference r = c.back();
-          ignore_unused_variable_warning(r);
-          const_constraints(c);
-      }
-   private:
-      void const_constraints(const S& cc) {
-          typename BackInsertionSequence::const_reference
-              r = cc.back();
-          ignore_unused_variable_warning(r);
-      };
-      S c;
-      typename S::value_type t;
-  };
-
-  BOOST_concept(AssociativeContainer,(C))
-    : ForwardContainer<C>
-    , DefaultConstructible<C>
-  {
-      typedef typename C::key_type key_type;
-      typedef typename C::key_compare key_compare;
-      typedef typename C::value_compare value_compare;
-      typedef typename C::iterator iterator;
-
-      BOOST_CONCEPT_USAGE(AssociativeContainer)
-      {
-          i = c.find(k);
-          r = c.equal_range(k);
-          c.erase(k);
-          c.erase(i);
-          c.erase(r.first, r.second);
-          const_constraints(c);
-          BOOST_CONCEPT_ASSERT((BinaryPredicate<key_compare,key_type,key_type>));
-
-          typedef typename AssociativeContainer::value_type value_type_;
-          BOOST_CONCEPT_ASSERT((BinaryPredicate<value_compare,value_type_,value_type_>));
-      }
-
-      // Redundant with the base concept, but it helps below.
-      typedef typename C::const_iterator const_iterator;
-   private:
-      void const_constraints(const C& cc)
-      {
-          ci = cc.find(k);
-          n = cc.count(k);
-          cr = cc.equal_range(k);
-      }
-
-      C c;
-      iterator i;
-      std::pair<iterator,iterator> r;
-      const_iterator ci;
-      std::pair<const_iterator,const_iterator> cr;
-      typename C::key_type k;
-      typename C::size_type n;
-  };
-
-  BOOST_concept(UniqueAssociativeContainer,(C))
-    : AssociativeContainer<C>
-  {
-      BOOST_CONCEPT_USAGE(UniqueAssociativeContainer)
-      {
-          C c(first, last);
-
-          pos_flag = c.insert(t);
-          c.insert(first, last);
-
-          ignore_unused_variable_warning(c);
-      }
-   private:
-      std::pair<typename C::iterator, bool> pos_flag;
-      typename C::value_type t;
-      typename C::value_type* first, *last;
-  };
-
-  BOOST_concept(MultipleAssociativeContainer,(C))
-    : AssociativeContainer<C>
-  {
-      BOOST_CONCEPT_USAGE(MultipleAssociativeContainer)
-      {
-          C c(first, last);
-
-          pos = c.insert(t);
-          c.insert(first, last);
-
-          ignore_unused_variable_warning(c);
-          ignore_unused_variable_warning(pos);
-      }
-   private:
-      typename C::iterator pos;
-      typename C::value_type t;
-      typename C::value_type* first, *last;
-  };
-
-  BOOST_concept(SimpleAssociativeContainer,(C))
-    : AssociativeContainer<C>
-  {
-      BOOST_CONCEPT_USAGE(SimpleAssociativeContainer)
-      {
-          typedef typename C::key_type key_type;
-          typedef typename C::value_type value_type;
-          BOOST_MPL_ASSERT((boost::is_same<key_type,value_type>));
-      }
-  };
-
-  BOOST_concept(PairAssociativeContainer,(C))
-    : AssociativeContainer<C>
-  {
-      BOOST_CONCEPT_USAGE(PairAssociativeContainer)
-      {
-          typedef typename C::key_type key_type;
-          typedef typename C::value_type value_type;
-          typedef typename C::mapped_type mapped_type;
-          typedef std::pair<const key_type, mapped_type> required_value_type;
-          BOOST_MPL_ASSERT((boost::is_same<value_type,required_value_type>));
-      }
-  };
-
-  BOOST_concept(SortedAssociativeContainer,(C))
-    : AssociativeContainer<C>
-    , ReversibleContainer<C>
-  {
-      BOOST_CONCEPT_USAGE(SortedAssociativeContainer)
-      {
-          C
-              c(kc),
-              c2(first, last),
-              c3(first, last, kc);
-
-          p = c.upper_bound(k);
-          p = c.lower_bound(k);
-          r = c.equal_range(k);
-
-          c.insert(p, t);
-
-          ignore_unused_variable_warning(c);
-          ignore_unused_variable_warning(c2);
-          ignore_unused_variable_warning(c3);
-          const_constraints(c);
-      }
-
-      void const_constraints(const C& c)
-      {
-          kc = c.key_comp();
-          vc = c.value_comp();
-
-          cp = c.upper_bound(k);
-          cp = c.lower_bound(k);
-          cr = c.equal_range(k);
-      }
-
-   private:
-      typename C::key_compare kc;
-      typename C::value_compare vc;
-      typename C::value_type t;
-      typename C::key_type k;
-      typedef typename C::iterator iterator;
-      typedef typename C::const_iterator const_iterator;
-
-      typedef SortedAssociativeContainer self;
-      iterator p;
-      const_iterator cp;
-      std::pair<typename self::iterator,typename self::iterator> r;
-      std::pair<typename self::const_iterator,typename self::const_iterator> cr;
-      typename C::value_type* first, *last;
-  };
-
-  // HashedAssociativeContainer
-
-  BOOST_concept(Collection,(C))
-  {
-      BOOST_CONCEPT_USAGE(Collection)
-      {
-        boost::function_requires<boost::InputIteratorConcept<iterator> >();
-        boost::function_requires<boost::InputIteratorConcept<const_iterator> >();
-        boost::function_requires<boost::CopyConstructibleConcept<value_type> >();
-        const_constraints(c);
-        i = c.begin();
-        i = c.end();
-        c.swap(c);
-      }
-
-      void const_constraints(const C& c) {
-        ci = c.begin();
-        ci = c.end();
-        n = c.size();
-        b = c.empty();
-      }
-
-    private:
-      typedef typename C::value_type value_type;
-      typedef typename C::iterator iterator;
-      typedef typename C::const_iterator const_iterator;
-      typedef typename C::reference reference;
-      typedef typename C::const_reference const_reference;
-      // typedef typename C::pointer pointer;
-      typedef typename C::difference_type difference_type;
-      typedef typename C::size_type size_type;
-
-      C c;
-      bool b;
-      iterator i;
-      const_iterator ci;
-      size_type n;
-  };
-} // namespace boost
-
-# include <boost/concept/detail/concept_undef.hpp>
-
-#endif // BOOST_CONCEPT_CHECKS_HPP
-
diff --git a/SRC/Boost/boost/config.hpp b/SRC/Boost/boost/config.hpp
deleted file mode 100755
index e001773..0000000
--- a/SRC/Boost/boost/config.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//  Boost config.hpp configuration header file  ------------------------------//
-
-//  (C) Copyright John Maddock 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  Boost config.hpp policy and rationale documentation has been moved to
-//  http://www.boost.org/libs/config
-//
-//  CAUTION: This file is intended to be completely stable -
-//           DO NOT MODIFY THIS FILE!
-//
-
-#ifndef BOOST_CONFIG_HPP
-#define BOOST_CONFIG_HPP
-
-// if we don't have a user config, then use the default location:
-#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG)
-#  define BOOST_USER_CONFIG <boost/config/user.hpp>
-#endif
-// include it first:
-#ifdef BOOST_USER_CONFIG
-#  include BOOST_USER_CONFIG
-#endif
-
-// if we don't have a compiler config set, try and find one:
-#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG)
-#  include <boost/config/select_compiler_config.hpp>
-#endif
-// if we have a compiler config, include it now:
-#ifdef BOOST_COMPILER_CONFIG
-#  include BOOST_COMPILER_CONFIG
-#endif
-
-// if we don't have a std library config set, try and find one:
-#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus)
-#  include <boost/config/select_stdlib_config.hpp>
-#endif
-// if we have a std library config, include it now:
-#ifdef BOOST_STDLIB_CONFIG
-#  include BOOST_STDLIB_CONFIG
-#endif
-
-// if we don't have a platform config set, try and find one:
-#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG)
-#  include <boost/config/select_platform_config.hpp>
-#endif
-// if we have a platform config, include it now:
-#ifdef BOOST_PLATFORM_CONFIG
-#  include BOOST_PLATFORM_CONFIG
-#endif
-
-// get config suffix code:
-#include <boost/config/suffix.hpp>
-
-#endif  // BOOST_CONFIG_HPP
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/config/abi/borland_prefix.hpp b/SRC/Boost/boost/config/abi/borland_prefix.hpp
deleted file mode 100755
index 4db9b8a..0000000
--- a/SRC/Boost/boost/config/abi/borland_prefix.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  for C++ Builder the following options effect the ABI:
-//
-//  -b (on or off - effect emum sizes)
-//  -Vx  (on or off - empty members)
-//  -Ve (on or off - empty base classes)
-//  -aX (alignment - 5 options).
-//  -pX (Calling convention - 4 options)
-//  -VmX (member pointer size and layout - 5 options)
-//  -VC (on or off, changes name mangling)
-//  -Vl (on or off, changes struct layout).
-
-//  In addition the following warnings are sufficiently annoying (and
-//  unfixable) to have them turned off by default:
-//
-//  8027 - functions containing [for|while] loops are not expanded inline
-//  8026 - functions taking class by value arguments are not expanded inline
-
-#pragma nopushoptwarn
-#  pragma option push -a8 -Vx- -Ve- -b- -pc -Vmv -VC- -Vl- -w-8027 -w-8026
-
-
-
diff --git a/SRC/Boost/boost/config/abi/borland_suffix.hpp b/SRC/Boost/boost/config/abi/borland_suffix.hpp
deleted file mode 100755
index 110b3c3..0000000
--- a/SRC/Boost/boost/config/abi/borland_suffix.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#  pragma option pop
-#pragma nopushoptwarn
-
-
-
-
-
diff --git a/SRC/Boost/boost/config/abi/msvc_prefix.hpp b/SRC/Boost/boost/config/abi/msvc_prefix.hpp
deleted file mode 100755
index 417e0dd..0000000
--- a/SRC/Boost/boost/config/abi/msvc_prefix.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//
-// Boost binaries are built with the compiler's default ABI settings,
-// if the user changes their default alignment in the VS IDE then their
-// code will no longer be binary compatible with the bjam built binaries
-// unless this header is included to force Boost code into a consistent ABI.
-//
-// Note that inclusion of this header is only necessary for libraries with 
-// separate source, header only libraries DO NOT need this as long as all
-// translation units are built with the same options.
-//
-#if defined(_M_X64)
-#  pragma pack(push,16)
-#else
-#  pragma pack(push,8)
-#endif
-
-
diff --git a/SRC/Boost/boost/config/abi/msvc_suffix.hpp b/SRC/Boost/boost/config/abi/msvc_suffix.hpp
deleted file mode 100755
index 8c1edd0..0000000
--- a/SRC/Boost/boost/config/abi/msvc_suffix.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#pragma pack(pop)
-
-
diff --git a/SRC/Boost/boost/config/abi_prefix.hpp b/SRC/Boost/boost/config/abi_prefix.hpp
deleted file mode 100755
index 10cf51d..0000000
--- a/SRC/Boost/boost/config/abi_prefix.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  abi_prefix header  -------------------------------------------------------//
-
-// (c) Copyright John Maddock 2003
-   
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
-# define BOOST_CONFIG_ABI_PREFIX_HPP
-#else
-# error double inclusion of header boost/config/abi_prefix.hpp is an error
-#endif
-
-#include <boost/config.hpp>
-
-// this must occur after all other includes and before any code appears:
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-
-#if defined( __BORLANDC__ )
-#pragma nopushoptwarn
-#endif
-
diff --git a/SRC/Boost/boost/config/abi_suffix.hpp b/SRC/Boost/boost/config/abi_suffix.hpp
deleted file mode 100755
index 21da961..0000000
--- a/SRC/Boost/boost/config/abi_suffix.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//  abi_sufffix header  -------------------------------------------------------//
-
-// (c) Copyright John Maddock 2003
-   
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-// This header should be #included AFTER code that was preceded by a #include
-// <boost/config/abi_prefix.hpp>.
-
-#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
-# error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp
-#else
-# undef BOOST_CONFIG_ABI_PREFIX_HPP
-#endif
-
-// the suffix header occurs after all of our code:
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-
-#if defined( __BORLANDC__ )
-#pragma nopushoptwarn
-#endif
-
-
diff --git a/SRC/Boost/boost/config/auto_link.hpp b/SRC/Boost/boost/config/auto_link.hpp
deleted file mode 100755
index 865090c..0000000
--- a/SRC/Boost/boost/config/auto_link.hpp
+++ /dev/null
@@ -1,417 +0,0 @@
-//  (C) Copyright John Maddock 2003.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         auto_link.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers.
-  */
-
-/*************************************************************************
-
-USAGE:
-~~~~~~
-
-Before including this header you must define one or more of define the following macros:
-
-BOOST_LIB_NAME:           Required: A string containing the basename of the library,
-                          for example boost_regex.
-BOOST_LIB_TOOLSET:        Optional: the base name of the toolset.
-BOOST_DYN_LINK:           Optional: when set link to dll rather than static library.
-BOOST_LIB_DIAGNOSTIC:     Optional: when set the header will print out the name
-                          of the library selected (useful for debugging).
-BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,
-                          rather than a mangled-name version.
-BOOST_AUTO_LINK_TAGGED:   Specifies that we link to libraries built with the --layout=tagged option.
-                          This is essentially the same as the default name-mangled version, but without
-                          the compiler name and version, or the Boost version.  Just the build options.
-
-These macros will be undef'ed at the end of the header, further this header
-has no include guards - so be sure to include it only once from your library!
-
-Algorithm:
-~~~~~~~~~~
-
-Libraries for Borland and Microsoft compilers are automatically
-selected here, the name of the lib is selected according to the following
-formula:
-
-BOOST_LIB_PREFIX
-   + BOOST_LIB_NAME
-   + "_"
-   + BOOST_LIB_TOOLSET
-   + BOOST_LIB_THREAD_OPT
-   + BOOST_LIB_RT_OPT
-   "-"
-   + BOOST_LIB_VERSION
-
-These are defined as:
-
-BOOST_LIB_PREFIX:     "lib" for static libraries otherwise "".
-
-BOOST_LIB_NAME:       The base name of the lib ( for example boost_regex).
-
-BOOST_LIB_TOOLSET:    The compiler toolset name (vc6, vc7, bcb5 etc).
-
-BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
-
-BOOST_LIB_RT_OPT:     A suffix that indicates the runtime library used,
-                      contains one or more of the following letters after
-                      a hiphen:
-
-                      s      static runtime (dynamic if not present).
-                      g      debug/diagnostic runtime (release if not present).
-                      y      Python debug/diagnostic runtime (release if not present).
-                      d      debug build (release if not present).
-                      g      debug/diagnostic runtime (release if not present).
-                      p      STLPort Build.
-
-BOOST_LIB_VERSION:    The Boost version, in the form x_y, for Boost version x.y.
-
-
-***************************************************************************/
-
-#ifdef __cplusplus
-#  ifndef BOOST_CONFIG_HPP
-#     include <boost/config.hpp>
-#  endif
-#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
-//
-// C language compatability (no, honestly)
-//
-#  define BOOST_MSVC _MSC_VER
-#  define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
-#  define BOOST_DO_STRINGIZE(X) #X
-#endif
-//
-// Only include what follows for known and supported compilers:
-//
-#if defined(BOOST_MSVC) \
-    || defined(__BORLANDC__) \
-    || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
-    || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200))
-
-#ifndef BOOST_VERSION_HPP
-#  include <boost/version.hpp>
-#endif
-
-#ifndef BOOST_LIB_NAME
-#  error "Macro BOOST_LIB_NAME not set (internal error)"
-#endif
-
-//
-// error check:
-//
-#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)
-#  pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors")
-#  pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes")
-#  error "Incompatible build options"
-#endif
-//
-// select toolset if not defined already:
-//
-#ifndef BOOST_LIB_TOOLSET
-// Note: no compilers before 1200 are supported
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-
-#  ifdef UNDER_CE
-     // vc6:
-#    define BOOST_LIB_TOOLSET "evc4"
-#  else
-     // vc6:
-#    define BOOST_LIB_TOOLSET "vc6"
-#  endif
-
-#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300)
-
-   // vc7:
-#  define BOOST_LIB_TOOLSET "vc7"
-
-#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
-
-   // vc71:
-#  define BOOST_LIB_TOOLSET "vc71"
-
-#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1400)
-
-   // vc80:
-#  define BOOST_LIB_TOOLSET "vc80"
-
-#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1500)
-
-   // vc90:
-#  define BOOST_LIB_TOOLSET "vc90"
-
-#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1600)
-
-   // vc10:
-#  define BOOST_LIB_TOOLSET "vc100"
-
-#elif defined(__BORLANDC__)
-
-   // CBuilder 6:
-#  define BOOST_LIB_TOOLSET "bcb"
-
-#elif defined(__ICL)
-
-   // Intel C++, no version number:
-#  define BOOST_LIB_TOOLSET "iw"
-
-#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
-
-   // Metrowerks CodeWarrior 8.x
-#  define BOOST_LIB_TOOLSET "cw8"
-
-#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
-
-   // Metrowerks CodeWarrior 9.x
-#  define BOOST_LIB_TOOLSET "cw9"
-
-#endif
-#endif // BOOST_LIB_TOOLSET
-
-//
-// select thread opt:
-//
-#if defined(_MT) || defined(__MT__)
-#  define BOOST_LIB_THREAD_OPT "-mt"
-#else
-#  define BOOST_LIB_THREAD_OPT
-#endif
-
-#if defined(_MSC_VER) || defined(__MWERKS__)
-
-#  ifdef _DLL
-
-#     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
-
-#        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-gydp"
-#        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-#            define BOOST_LIB_RT_OPT "-gdp"
-#        elif defined(_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-gydp"
-#            pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
-#            error "Build options aren't compatible with pre-built libraries"
-#        elif defined(_DEBUG)
-#            define BOOST_LIB_RT_OPT "-gdp"
-#            pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
-#            error "Build options aren't compatible with pre-built libraries"
-#        else
-#            define BOOST_LIB_RT_OPT "-p"
-#        endif
-
-#     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-
-#        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-gydpn"
-#        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-#            define BOOST_LIB_RT_OPT "-gdpn"
-#        elif defined(_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-gydpn"
-#            pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
-#            error "Build options aren't compatible with pre-built libraries"
-#        elif defined(_DEBUG)
-#            define BOOST_LIB_RT_OPT "-gdpn"
-#            pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
-#            error "Build options aren't compatible with pre-built libraries"
-#        else
-#            define BOOST_LIB_RT_OPT "-pn"
-#        endif
-
-#     else
-
-#        if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-gyd"
-#        elif defined(_DEBUG)
-#            define BOOST_LIB_RT_OPT "-gd"
-#        else
-#            define BOOST_LIB_RT_OPT
-#        endif
-
-#     endif
-
-#  else
-
-#     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
-
-#        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-sgydp"
-#        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-#            define BOOST_LIB_RT_OPT "-sgdp"
-#        elif defined(_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#             define BOOST_LIB_RT_OPT "-sgydp"
-#            pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
-#            error "Build options aren't compatible with pre-built libraries"
-#        elif defined(_DEBUG)
-#             define BOOST_LIB_RT_OPT "-sgdp"
-#            pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
-#            error "Build options aren't compatible with pre-built libraries"
-#        else
-#            define BOOST_LIB_RT_OPT "-sp"
-#        endif
-
-#     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-
-#        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-sgydpn"
-#        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-#            define BOOST_LIB_RT_OPT "-sgdpn"
-#        elif defined(_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#             define BOOST_LIB_RT_OPT "-sgydpn"
-#            pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
-#            error "Build options aren't compatible with pre-built libraries"
-#        elif defined(_DEBUG)
-#             define BOOST_LIB_RT_OPT "-sgdpn"
-#            pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
-#            error "Build options aren't compatible with pre-built libraries"
-#        else
-#            define BOOST_LIB_RT_OPT "-spn"
-#        endif
-
-#     else
-
-#        if defined(_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#             define BOOST_LIB_RT_OPT "-sgyd"
-#        elif defined(_DEBUG)
-#             define BOOST_LIB_RT_OPT "-sgd"
-#        else
-#            define BOOST_LIB_RT_OPT "-s"
-#        endif
-
-#     endif
-
-#  endif
-
-#elif defined(__BORLANDC__)
-
-//
-// figure out whether we want the debug builds or not:
-//
-#if __BORLANDC__ > 0x561
-#pragma defineonoption BOOST_BORLAND_DEBUG -v
-#endif
-//
-// sanity check:
-//
-#if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
-#error "Pre-built versions of the Boost libraries are not provided in STLPort-debug form"
-#endif
-
-#  ifdef _RTLDLL
-
-#     if defined(BOOST_BORLAND_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#         define BOOST_LIB_RT_OPT "-yd"
-#     elif defined(BOOST_BORLAND_DEBUG)
-#         define BOOST_LIB_RT_OPT "-d"
-#     elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#         define BOOST_LIB_RT_OPT -y
-#     else
-#         define BOOST_LIB_RT_OPT
-#     endif
-
-#  else
-
-#     if defined(BOOST_BORLAND_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#         define BOOST_LIB_RT_OPT "-syd"
-#     elif defined(BOOST_BORLAND_DEBUG)
-#         define BOOST_LIB_RT_OPT "-sd"
-#     elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#         define BOOST_LIB_RT_OPT "-sy"
-#     else
-#         define BOOST_LIB_RT_OPT "-s"
-#     endif
-
-#  endif
-
-#endif
-
-//
-// select linkage opt:
-//
-#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK)
-#  define BOOST_LIB_PREFIX
-#elif defined(BOOST_DYN_LINK)
-#  error "Mixing a dll boost library with a static runtime is a really bad idea..."
-#else
-#  define BOOST_LIB_PREFIX "lib"
-#endif
-
-//
-// now include the lib:
-//
-#if defined(BOOST_LIB_NAME) \
-      && defined(BOOST_LIB_PREFIX) \
-      && defined(BOOST_LIB_TOOLSET) \
-      && defined(BOOST_LIB_THREAD_OPT) \
-      && defined(BOOST_LIB_RT_OPT) \
-      && defined(BOOST_LIB_VERSION)
-
-#ifdef BOOST_AUTO_LINK_TAGGED
-#  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
-#  ifdef BOOST_LIB_DIAGNOSTIC
-#     pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
-#  endif
-#elif defined(BOOST_AUTO_LINK_NOMANGLE)
-#  pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
-#  ifdef BOOST_LIB_DIAGNOSTIC
-#     pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
-#  endif
-#else
-#  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
-#  ifdef BOOST_LIB_DIAGNOSTIC
-#     pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
-#  endif
-#endif
-
-#else
-#  error "some required macros where not defined (internal logic error)."
-#endif
-
-
-#endif // _MSC_VER || __BORLANDC__
-
-//
-// finally undef any macros we may have set:
-//
-#ifdef BOOST_LIB_PREFIX
-#  undef BOOST_LIB_PREFIX
-#endif
-#if defined(BOOST_LIB_NAME)
-#  undef BOOST_LIB_NAME
-#endif
-// Don't undef this one: it can be set by the user and should be the 
-// same for all libraries:
-//#if defined(BOOST_LIB_TOOLSET)
-//#  undef BOOST_LIB_TOOLSET
-//#endif
-#if defined(BOOST_LIB_THREAD_OPT)
-#  undef BOOST_LIB_THREAD_OPT
-#endif
-#if defined(BOOST_LIB_RT_OPT)
-#  undef BOOST_LIB_RT_OPT
-#endif
-#if defined(BOOST_LIB_LINK_OPT)
-#  undef BOOST_LIB_LINK_OPT
-#endif
-#if defined(BOOST_LIB_DEBUG_OPT)
-#  undef BOOST_LIB_DEBUG_OPT
-#endif
-#if defined(BOOST_DYN_LINK)
-#  undef BOOST_DYN_LINK
-#endif
-
diff --git a/SRC/Boost/boost/config/compiler/borland.hpp b/SRC/Boost/boost/config/compiler/borland.hpp
deleted file mode 100755
index b6958e8..0000000
--- a/SRC/Boost/boost/config/compiler/borland.hpp
+++ /dev/null
@@ -1,285 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003.
-//  (C) Copyright David Abrahams 2002 - 2003.
-//  (C) Copyright Aleksey Gurtovoy 2002.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Borland C++ compiler setup:
-
-//
-// versions check:
-// we don't support Borland prior to version 5.4:
-#if __BORLANDC__ < 0x540
-#  error "Compiler not supported or configured - please reconfigure"
-#endif
-
-// last known compiler version:
-#if (__BORLANDC__ > 0x613)
-//#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-//#  else
-//#     pragma message( "Unknown compiler version - please run the configure tests and report the results")
-//#  endif
-#elif (__BORLANDC__ == 0x600)
-#  error "CBuilderX preview compiler is no longer supported"
-#endif
-
-//
-// Support macros to help with standard library detection
-#if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL)
-#  define BOOST_BCB_WITH_ROGUE_WAVE
-#elif __BORLANDC__ < 0x570
-#  define BOOST_BCB_WITH_STLPORT
-#else
-#  define BOOST_BCB_WITH_DINKUMWARE
-#endif
-
-//
-// Version 5.0 and below:
-#   if __BORLANDC__ <= 0x0550
-// Borland C++Builder 4 and 5:
-#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#     if __BORLANDC__ == 0x0550
-// Borland C++Builder 5, command-line compiler 5.5:
-#       define BOOST_NO_OPERATORS_IN_NAMESPACE
-#     endif
-// Variadic macros do not exist for C++ Builder versions 5 and below
-#define BOOST_NO_VARIADIC_MACROS
-#   endif
-
-// Version 5.51 and below:
-#if (__BORLANDC__ <= 0x551)
-#  define BOOST_NO_CV_SPECIALIZATIONS
-#  define BOOST_NO_CV_VOID_SPECIALIZATIONS
-#  define BOOST_NO_DEDUCED_TYPENAME
-// workaround for missing WCHAR_MAX/WCHAR_MIN:
-#ifdef __cplusplus
-#include <climits>
-#include <cwchar>
-#else
-#include <limits.h>
-#include <wchar.h>
-#endif // __cplusplus
-#ifndef WCHAR_MAX
-#  define WCHAR_MAX 0xffff
-#endif
-#ifndef WCHAR_MIN
-#  define WCHAR_MIN 0
-#endif
-#endif
-
-// Borland C++ Builder 6 and below:
-#if (__BORLANDC__ <= 0x564)
-
-#  if defined(NDEBUG) && defined(__cplusplus)
-      // fix broken <cstring> so that Boost.test works:
-#     include <cstring>
-#     undef strcmp
-#  endif
-   // fix broken errno declaration:
-#  include <errno.h>
-#  ifndef errno
-#     define errno errno
-#  endif
-
-#endif
-
-//
-// new bug in 5.61:
-#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580)
-   // this seems to be needed by the command line compiler, but not the IDE:
-#  define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-#endif
-
-// Borland C++ Builder 2006 Update 2 and below:
-#if (__BORLANDC__ <= 0x582)
-#  define BOOST_NO_SFINAE
-#  define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-#  define BOOST_NO_TEMPLATE_TEMPLATES
-
-#  define BOOST_NO_PRIVATE_IN_AGGREGATE
-
-#  ifdef _WIN32
-#     define BOOST_NO_SWPRINTF
-#  elif defined(linux) || defined(__linux__) || defined(__linux)
-      // we should really be able to do without this
-      // but the wcs* functions aren't imported into std::
-#     define BOOST_NO_STDC_NAMESPACE
-      // _CPPUNWIND doesn't get automatically set for some reason:
-#     pragma defineonoption BOOST_CPPUNWIND -x
-#  endif
-#endif
-
-#if (__BORLANDC__ <= 0x613)  // Beman has asked Alisdair for more info
-   // we shouldn't really need this - but too many things choke
-   // without it, this needs more investigation:
-#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#  define BOOST_NO_IS_ABSTRACT
-#  define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-#  define BOOST_NO_USING_TEMPLATE
-#  define BOOST_SP_NO_SP_CONVERTIBLE
-
-// Temporary workaround
-#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif
-
-// Borland C++ Builder 2008 and below:
-#  define BOOST_NO_INTEGRAL_INT64_T
-#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-#  define BOOST_NO_NESTED_FRIENDSHIP
-#  define BOOST_NO_TYPENAME_WITH_CTOR
-#if (__BORLANDC__ < 0x600)
-#  define BOOST_ILLEGAL_CV_REFERENCES
-#endif
-
-//
-//  Positive Feature detection
-//
-// Borland C++ Builder 2008 and below:
-#if (__BORLANDC__ >= 0x599)
-#  pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax
-#endif
-//
-// C++0x Macros:
-//
-#if !defined( BOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610)
-#  define BOOST_NO_CHAR16_T
-#  define BOOST_NO_CHAR32_T
-#  define BOOST_NO_DECLTYPE
-#  define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_EXTERN_TEMPLATE
-#  define BOOST_NO_RVALUE_REFERENCES 
-#  define BOOST_NO_SCOPED_ENUMS
-#  define BOOST_NO_STATIC_ASSERT
-#else
-#  define BOOST_HAS_ALIGNOF
-#  define BOOST_HAS_CHAR16_T
-#  define BOOST_HAS_CHAR32_T
-#  define BOOST_HAS_DECLTYPE
-#  define BOOST_HAS_EXPLICIT_CONVERSION_OPS
-#  define BOOST_HAS_REF_QUALIFIER
-#  define BOOST_HAS_RVALUE_REFS
-#  define BOOST_HAS_STATIC_ASSERT
-#endif
-
-#define BOOST_NO_AUTO_DECLARATIONS
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE_N3276
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_INITIALIZER_LISTS
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_UNICODE_LITERALS    // UTF-8 still not supported
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-
-#if __BORLANDC__ >= 0x590
-#  define BOOST_HAS_TR1_HASH
-
-#  define BOOST_HAS_MACRO_USE_FACET
-#endif
-
-//
-// Post 0x561 we have long long and stdint.h:
-#if __BORLANDC__ >= 0x561
-#  ifndef __NO_LONG_LONG
-#     define BOOST_HAS_LONG_LONG
-#  else
-#     define BOOST_NO_LONG_LONG
-#  endif
-   // On non-Win32 platforms let the platform config figure this out:
-#  ifdef _WIN32
-#      define BOOST_HAS_STDINT_H
-#  endif
-#endif
-
-// Borland C++Builder 6 defaults to using STLPort.  If _USE_OLD_RW_STL is
-// defined, then we have 0x560 or greater with the Rogue Wave implementation
-// which presumably has the std::DBL_MAX bug.
-#if defined( BOOST_BCB_WITH_ROGUE_WAVE )
-// <climits> is partly broken, some macros define symbols that are really in
-// namespace std, so you end up having to use illegal constructs like
-// std::DBL_MAX, as a fix we'll just include float.h and have done with:
-#include <float.h>
-#endif
-//
-// __int64:
-//
-#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__)
-#  define BOOST_HAS_MS_INT64
-#endif
-//
-// check for exception handling support:
-//
-#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-#  define BOOST_NO_EXCEPTIONS
-#endif
-//
-// all versions have a <dirent.h>:
-//
-#ifndef __STRICT_ANSI__
-#  define BOOST_HAS_DIRENT_H
-#endif
-//
-// all versions support __declspec:
-//
-#if defined(__STRICT_ANSI__)
-// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined  
-#  define BOOST_SYMBOL_EXPORT
-#endif
-//
-// ABI fixing headers:
-//
-#if __BORLANDC__ != 0x600 // not implemented for version 6 compiler yet
-#ifndef BOOST_ABI_PREFIX
-#  define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
-#endif
-#ifndef BOOST_ABI_SUFFIX
-#  define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
-#endif
-#endif
-//
-// Disable Win32 support in ANSI mode:
-//
-#if __BORLANDC__ < 0x600
-#  pragma defineonoption BOOST_DISABLE_WIN32 -A
-#elif defined(__STRICT_ANSI__)
-#  define BOOST_DISABLE_WIN32
-#endif
-//
-// MSVC compatibility mode does some nasty things:
-// TODO: look up if this doesn't apply to the whole 12xx range
-//
-#if defined(_MSC_VER) && (_MSC_VER <= 1200)
-#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#  define BOOST_NO_VOID_RETURNS
-#endif
-
-// Borland did not implement value-initialization completely, as I reported
-// in 2007, Borland Report 51854, "Value-initialization: POD struct should be
-// zero-initialized", http://qc.embarcadero.com/wc/qcmain.aspx?d=51854
-// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-// (Niels Dekker, LKEB, April 2010)
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-
-#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)
-
-
-
-
diff --git a/SRC/Boost/boost/config/compiler/clang.hpp b/SRC/Boost/boost/config/compiler/clang.hpp
deleted file mode 100755
index 344744c..0000000
--- a/SRC/Boost/boost/config/compiler/clang.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// (C) Copyright Douglas Gregor 2010
-//
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-// Clang compiler setup.
-
-#if __has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
-#else
-#  define BOOST_NO_EXCEPTIONS
-#endif
-
-#if !__has_feature(cxx_rtti)
-#  define BOOST_NO_RTTI
-#endif
-
-#if defined(__int64)
-#  define BOOST_HAS_MS_INT64
-#endif
-
-#define BOOST_HAS_NRVO
-
-// Clang supports "long long" in all compilation modes.
-
-#define BOOST_NO_AUTO_DECLARATIONS
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-
-#if !__has_feature(cxx_decltype)
-#  define BOOST_NO_DECLTYPE
-#endif
-
-#define BOOST_NO_DECLTYPE_N3276
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-
-#if !__has_feature(cxx_deleted_functions)
-#  define BOOST_NO_DELETED_FUNCTIONS
-#endif
-
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-
-#if !__has_feature(cxx_default_function_template_args)
-  #define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#endif
-
-#define BOOST_NO_INITIALIZER_LISTS
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-
-#if !__has_feature(cxx_rvalue_references)
-#  define BOOST_NO_RVALUE_REFERENCES
-#endif
-
-#if !__has_feature(cxx_strong_enums)
-#  define BOOST_NO_SCOPED_ENUMS
-#endif
-
-#if !__has_feature(cxx_static_assert)
-#  define BOOST_NO_STATIC_ASSERT
-#endif
-
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_UNICODE_LITERALS
-
-#if !__has_feature(cxx_variadic_templates)
-#  define BOOST_NO_VARIADIC_TEMPLATES
-#endif
-
-// Clang always supports variadic macros
-// Clang always supports extern templates
-
-#ifndef BOOST_COMPILER
-#  define BOOST_COMPILER "Clang version " __clang_version__
-#endif
-
-// Macro used to identify the Clang compiler.
-#define BOOST_CLANG 1
-
diff --git a/SRC/Boost/boost/config/compiler/codegear.hpp b/SRC/Boost/boost/config/compiler/codegear.hpp
deleted file mode 100755
index 1608872..0000000
--- a/SRC/Boost/boost/config/compiler/codegear.hpp
+++ /dev/null
@@ -1,178 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003.
-//  (C) Copyright David Abrahams 2002 - 2003.
-//  (C) Copyright Aleksey Gurtovoy 2002.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  CodeGear C++ compiler setup:
-
-#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )
-// these warnings occur frequently in optimized template code
-# pragma warn -8004 // var assigned value, but never used
-# pragma warn -8008 // condition always true/false
-# pragma warn -8066 // dead code can never execute
-# pragma warn -8104 // static members with ctors not threadsafe
-# pragma warn -8105 // reference member in class without ctors
-#endif
-//
-// versions check:
-// last known and checked version is 0x621
-#if (__CODEGEARC__ > 0x621)
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  else
-#     pragma message( "Unknown compiler version - please run the configure tests and report the results")
-#  endif
-#endif
-
-// CodeGear C++ Builder 2009
-#if (__CODEGEARC__ <= 0x613)
-#  define BOOST_NO_INTEGRAL_INT64_T
-#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-#  define BOOST_NO_PRIVATE_IN_AGGREGATE
-#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-   // we shouldn't really need this - but too many things choke
-   // without it, this needs more investigation:
-#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#  define BOOST_SP_NO_SP_CONVERTIBLE
-#endif
-
-// CodeGear C++ Builder 2010
-#if (__CODEGEARC__ <= 0x621)
-#  define BOOST_NO_TYPENAME_WITH_CTOR    // Cannot use typename keyword when making temporaries of a dependant type
-#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#  define BOOST_NO_NESTED_FRIENDSHIP     // TC1 gives nested classes access rights as any other member
-#  define BOOST_NO_USING_TEMPLATE
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-// Temporary hack, until specific MPL preprocessed headers are generated
-#  define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-// CodeGear has not yet completely implemented value-initialization, for
-// example for array types, as I reported in 2010: Embarcadero Report 83751,
-// "Value-initialization: arrays should have each element value-initialized",
-// http://qc.embarcadero.com/wc/qcmain.aspx?d=83751
-// Last checked version: Embarcadero C++ 6.21
-// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-// (Niels Dekker, LKEB, April 2010)
-#  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-
-#  if defined(NDEBUG) && defined(__cplusplus)
-      // fix broken <cstring> so that Boost.test works:
-#     include <cstring>
-#     undef strcmp
-#  endif
-   // fix broken errno declaration:
-#  include <errno.h>
-#  ifndef errno
-#     define errno errno
-#  endif
-
-#endif
-//
-// C++0x macros:
-//
-#if (__CODEGEARC__ <= 0x620)
-#define BOOST_NO_STATIC_ASSERT
-#else
-#define BOOST_HAS_STATIC_ASSERT
-#endif
-#define BOOST_HAS_CHAR16_T
-#define BOOST_HAS_CHAR32_T
-#define BOOST_HAS_LONG_LONG
-// #define BOOST_HAS_ALIGNOF
-#define BOOST_HAS_DECLTYPE
-#define BOOST_HAS_EXPLICIT_CONVERSION_OPS
-// #define BOOST_HAS_RVALUE_REFS
-#define BOOST_HAS_SCOPED_ENUM
-// #define BOOST_HAS_STATIC_ASSERT
-#define BOOST_HAS_STD_TYPE_TRAITS
-
-#define BOOST_NO_AUTO_DECLARATIONS
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_INITIALIZER_LISTS
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-
-//
-// TR1 macros:
-//
-#define BOOST_HAS_TR1_HASH
-#define BOOST_HAS_TR1_TYPE_TRAITS
-#define BOOST_HAS_TR1_UNORDERED_MAP
-#define BOOST_HAS_TR1_UNORDERED_SET
-
-#define BOOST_HAS_MACRO_USE_FACET
-
-#define BOOST_NO_INITIALIZER_LISTS
-
-// On non-Win32 platforms let the platform config figure this out:
-#ifdef _WIN32
-#  define BOOST_HAS_STDINT_H
-#endif
-
-//
-// __int64:
-//
-#if !defined(__STRICT_ANSI__)
-#  define BOOST_HAS_MS_INT64
-#endif
-//
-// check for exception handling support:
-//
-#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-#  define BOOST_NO_EXCEPTIONS
-#endif
-//
-// all versions have a <dirent.h>:
-//
-#if !defined(__STRICT_ANSI__)
-#  define BOOST_HAS_DIRENT_H
-#endif
-//
-// all versions support __declspec:
-//
-#if defined(__STRICT_ANSI__)
-// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined  
-#  define BOOST_SYMBOL_EXPORT
-#endif
-//
-// ABI fixing headers:
-//
-#ifndef BOOST_ABI_PREFIX
-#  define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
-#endif
-#ifndef BOOST_ABI_SUFFIX
-#  define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
-#endif
-//
-// Disable Win32 support in ANSI mode:
-//
-#  pragma defineonoption BOOST_DISABLE_WIN32 -A
-//
-// MSVC compatibility mode does some nasty things:
-// TODO: look up if this doesn't apply to the whole 12xx range
-//
-#if defined(_MSC_VER) && (_MSC_VER <= 1200)
-#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#  define BOOST_NO_VOID_RETURNS
-#endif
-
-#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)
-
diff --git a/SRC/Boost/boost/config/compiler/comeau.hpp b/SRC/Boost/boost/config/compiler/comeau.hpp
deleted file mode 100755
index c2cb68c..0000000
--- a/SRC/Boost/boost/config/compiler/comeau.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  (C) Copyright Douglas Gregor 2001. 
-//  (C) Copyright Peter Dimov 2001. 
-//  (C) Copyright Aleksey Gurtovoy 2003. 
-//  (C) Copyright Beman Dawes 2003. 
-//  (C) Copyright Jens Maurer 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Comeau C++ compiler setup:
-
-#include "boost/config/compiler/common_edg.hpp"
-
-#if (__COMO_VERSION__ <= 4245)
-
-#  if defined(_MSC_VER) && _MSC_VER <= 1300
-#     if _MSC_VER > 100
-         // only set this in non-strict mode:
-#        define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#     endif
-#  endif
-
-// Void returns don't work when emulating VC 6 (Peter Dimov)
-// TODO: look up if this doesn't apply to the whole 12xx range
-#  if defined(_MSC_VER) && (_MSC_VER < 1300)
-#     define BOOST_NO_VOID_RETURNS
-#  endif
-
-#endif  // version 4245
-
-//
-// enable __int64 support in VC emulation mode
-//
-#  if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#     define BOOST_HAS_MS_INT64
-#  endif
-
-#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__)
-
-//
-// versions check:
-// we don't know Comeau prior to version 4245:
-#if __COMO_VERSION__ < 4245
-#  error "Compiler not configured - please reconfigure"
-#endif
-//
-// last known and checked version is 4245:
-#if (__COMO_VERSION__ > 4245)
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  endif
-#endif
-
-
-
-
diff --git a/SRC/Boost/boost/config/compiler/common_edg.hpp b/SRC/Boost/boost/config/compiler/common_edg.hpp
deleted file mode 100755
index 0e4ee9b..0000000
--- a/SRC/Boost/boost/config/compiler/common_edg.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2002. 
-//  (C) Copyright Jens Maurer 2001. 
-//  (C) Copyright David Abrahams 2002. 
-//  (C) Copyright Aleksey Gurtovoy 2002. 
-//  (C) Copyright Markus Schoepflin 2005.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//
-// Options common to all edg based compilers.
-//
-// This is included from within the individual compiler mini-configs.
-
-#ifndef  __EDG_VERSION__
-#  error This file requires that __EDG_VERSION__ be defined.
-#endif
-
-#if (__EDG_VERSION__ <= 238)
-#   define BOOST_NO_INTEGRAL_INT64_T
-#   define BOOST_NO_SFINAE
-#endif
-
-#if (__EDG_VERSION__ <= 240)
-#   define BOOST_NO_VOID_RETURNS
-#endif
-
-#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
-#   define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#endif
-
-#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)
-#   define BOOST_NO_TEMPLATE_TEMPLATES
-#endif 
-
-#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT)
-#   define BOOST_NO_IS_ABSTRACT
-#endif 
-
-#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
-#   define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#endif 
-
-// See also kai.hpp which checks a Kai-specific symbol for EH
-# if !defined(__KCC) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-#     define BOOST_NO_EXCEPTIONS
-# endif
-
-# if !defined(__NO_LONG_LONG)
-#     define BOOST_HAS_LONG_LONG
-# else
-#     define BOOST_NO_LONG_LONG
-# endif
-
-//
-// C++0x features
-//
-//   See above for BOOST_NO_LONG_LONG
-//
-#if (__EDG_VERSION__ < 310)
-#  define BOOST_NO_EXTERN_TEMPLATE
-#endif
-#if (__EDG_VERSION__ <= 310)
-// No support for initializer lists
-#  define BOOST_NO_INITIALIZER_LISTS
-#endif
-#if (__EDG_VERSION__ < 400)
-#  define BOOST_NO_VARIADIC_MACROS
-#endif
-
-#define BOOST_NO_AUTO_DECLARATIONS
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DECLTYPE_N3276
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-
-#ifdef c_plusplus
-// EDG has "long long" in non-strict mode
-// However, some libraries have insufficient "long long" support
-// #define BOOST_HAS_LONG_LONG
-#endif
diff --git a/SRC/Boost/boost/config/compiler/compaq_cxx.hpp b/SRC/Boost/boost/config/compiler/compaq_cxx.hpp
deleted file mode 100755
index 8fb73fb..0000000
--- a/SRC/Boost/boost/config/compiler/compaq_cxx.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Tru64 C++ compiler setup (now HP):
-
-#define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER)
-
-#include "boost/config/compiler/common_edg.hpp"
-
-//
-// versions check:
-// Nothing to do here?
-
-
-
diff --git a/SRC/Boost/boost/config/compiler/cray.hpp b/SRC/Boost/boost/config/compiler/cray.hpp
deleted file mode 100755
index 7a98d48..0000000
--- a/SRC/Boost/boost/config/compiler/cray.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-//  (C) Copyright John Maddock 2011.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Greenhills C compiler setup:
-
-#define BOOST_COMPILER "Cray C version " BOOST_STRINGIZE(_RELEASE)
-
-#if _RELEASE < 7
-#  error "Boost is not configured for Cray compilers prior to version 7, please try the configure script."
-#endif
-
-//
-// Check this is a recent EDG based compiler, otherwise we don't support it here:
-//
-#ifndef __EDG_VERSION__
-#  error "Unsupported Cray compiler, please try running the configure script."
-#endif
-
-#include "boost/config/compiler/common_edg.hpp"
-
-//
-// Cray peculiarities, probably version 7 specific:
-//
-#undef BOOST_NO_AUTO_DECLARATIONS
-#undef BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_HAS_NRVO
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_HAS_NRVO
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DECLTYPE_N3276
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CHAR16_T
-//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-#define BOOST_MATH_DISABLE_STD_FPCLASSIFY
-//#define BOOST_HAS_FPCLASSIFY
-
-#define BOOST_SP_USE_PTHREADS 
-#define BOOST_AC_USE_PTHREADS 
-
diff --git a/SRC/Boost/boost/config/compiler/digitalmars.hpp b/SRC/Boost/boost/config/compiler/digitalmars.hpp
deleted file mode 100755
index d632581..0000000
--- a/SRC/Boost/boost/config/compiler/digitalmars.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-//  Copyright (C) Christof Meerwald 2003
-//  Copyright (C) Dan Watkins 2003
-//
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  Digital Mars C++ compiler setup:
-#define BOOST_COMPILER __DMC_VERSION_STRING__
-
-#define BOOST_HAS_LONG_LONG
-#define BOOST_HAS_PRAGMA_ONCE
-
-#if (__DMC__ <= 0x833)
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#define BOOST_NO_TEMPLATE_TEMPLATES
-#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
-#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#endif
-#if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG)
-#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#define BOOST_NO_OPERATORS_IN_NAMESPACE
-#define BOOST_NO_UNREACHABLE_RETURN_DETECTION
-#define BOOST_NO_SFINAE
-#define BOOST_NO_USING_TEMPLATE
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#endif
-
-//
-// has macros:
-#if (__DMC__ >= 0x840)
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_STDINT_H
-#define BOOST_HAS_WINTHREADS
-#endif
-
-#if (__DMC__ >= 0x847)
-#define BOOST_HAS_EXPM1
-#define BOOST_HAS_LOG1P
-#endif
-
-//
-// Is this really the best way to detect whether the std lib is in namespace std?
-//
-#ifdef __cplusplus
-#include <cstddef>
-#endif
-#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
-#  define BOOST_NO_STDC_NAMESPACE
-#endif
-
-
-// check for exception handling support:
-#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
-#  define BOOST_NO_EXCEPTIONS
-#endif
-
-//
-// C++0x features
-//
-#define BOOST_NO_AUTO_DECLARATIONS
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DECLTYPE_N3276
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_INITIALIZER_LISTS
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-
-#if (__DMC__ < 0x812)
-#define BOOST_NO_VARIADIC_MACROS
-#endif
-
-#if __DMC__ < 0x800
-#error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is ...:
-#if (__DMC__ > 0x848)
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  endif
-#endif
diff --git a/SRC/Boost/boost/config/compiler/gcc.hpp b/SRC/Boost/boost/config/compiler/gcc.hpp
deleted file mode 100755
index 7522e28..0000000
--- a/SRC/Boost/boost/config/compiler/gcc.hpp
+++ /dev/null
@@ -1,252 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Darin Adler 2001 - 2002. 
-//  (C) Copyright Jens Maurer 2001 - 2002. 
-//  (C) Copyright Beman Dawes 2001 - 2003. 
-//  (C) Copyright Douglas Gregor 2002. 
-//  (C) Copyright David Abrahams 2002 - 2003. 
-//  (C) Copyright Synge Todo 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  GNU C++ compiler setup:
-
-#if __GNUC__ < 3
-#   if __GNUC_MINOR__ == 91
-       // egcs 1.1 won't parse shared_ptr.hpp without this:
-#      define BOOST_NO_AUTO_PTR
-#   endif
-#   if __GNUC_MINOR__ < 95
-      //
-      // Prior to gcc 2.95 member templates only partly
-      // work - define BOOST_MSVC6_MEMBER_TEMPLATES
-      // instead since inline member templates mostly work.
-      //
-#     define BOOST_NO_MEMBER_TEMPLATES
-#     if __GNUC_MINOR__ >= 9
-#       define BOOST_MSVC6_MEMBER_TEMPLATES
-#     endif
-#   endif
-
-#   if __GNUC_MINOR__ < 96
-#     define BOOST_NO_SFINAE
-#   endif
-
-#   if __GNUC_MINOR__ <= 97
-#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#     define BOOST_NO_OPERATORS_IN_NAMESPACE
-#   endif
-
-#   define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-#   define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#   define BOOST_NO_IS_ABSTRACT
-#   define BOOST_NO_EXTERN_TEMPLATE
-// Variadic macros do not exist for gcc versions before 3.0
-#   define BOOST_NO_VARIADIC_MACROS
-#elif __GNUC__ == 3
-#  if defined (__PATHSCALE__)
-#     define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#     define BOOST_NO_IS_ABSTRACT
-#  endif
-   //
-   // gcc-3.x problems:
-   //
-   // Bug specific to gcc 3.1 and 3.2:
-   //
-#  if ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
-#     define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#  endif
-#  if __GNUC_MINOR__ < 4
-#     define BOOST_NO_IS_ABSTRACT
-#  endif
-#  define BOOST_NO_EXTERN_TEMPLATE
-#endif
-#if __GNUC__ < 4
-//
-// All problems to gcc-3.x and earlier here:
-//
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#  ifdef __OPEN64__
-#     define BOOST_NO_IS_ABSTRACT
-#  endif
-#endif
-
-#if __GNUC__ < 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 4 )
-// Previous versions of GCC did not completely implement value-initialization:
-// GCC Bug 30111, "Value-initialization of POD base class doesn't initialize
-// members", reported by Jonathan Wakely in 2006,
-// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4)
-// GCC Bug 33916, "Default constructor fails to initialize array members",
-// reported by Michael Elizabeth Chastain in 2007,
-// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4)
-// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#endif
-
-#if !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-
-
-//
-// Threading support: Turn this on unconditionally here (except for
-// those platforms where we can know for sure). It will get turned off again
-// later if no threading API is detected.
-//
-#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
-# define BOOST_HAS_THREADS
-#endif 
-
-//
-// gcc has "long long"
-//
-#define BOOST_HAS_LONG_LONG
-
-//
-// gcc implements the named return value optimization since version 3.1
-//
-#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
-#define BOOST_HAS_NRVO
-#endif
-
-//
-// Dynamic shared object (DSO) and dynamic-link library (DLL) support
-//
-#if __GNUC__ >= 4
-#  if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && !defined(__CYGWIN__)
-     // All Win32 development environments, including 64-bit Windows and MinGW, define 
-     // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment,
-     // so does not define _WIN32 or its variants.
-#    define BOOST_HAS_DECLSPEC
-#    define BOOST_SYMBOL_EXPORT __attribute__((dllexport))
-#    define BOOST_SYMBOL_IMPORT __attribute__((dllimport))
-#  else
-#    define BOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
-#    define BOOST_SYMBOL_IMPORT
-#  endif
-#  define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
-#else
-// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined  
-#  define BOOST_SYMBOL_EXPORT
-#endif
-
-//
-// RTTI and typeinfo detection is possible post gcc-4.3:
-//
-#if __GNUC__ * 100 + __GNUC_MINOR__ >= 403
-#  ifndef __GXX_RTTI
-#     ifndef BOOST_NO_TYPEID
-#        define BOOST_NO_TYPEID
-#     endif
-#     ifndef BOOST_NO_RTTI
-#        define BOOST_NO_RTTI
-#     endif
-#  endif
-#endif
-
-// C++0x features not implemented in any GCC version
-//
-#define BOOST_NO_TEMPLATE_ALIASES
-
-// C++0x features in 4.3.n and later
-//
-#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__)
-// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are
-// passed on the command line, which in turn defines
-// __GXX_EXPERIMENTAL_CXX0X__.
-#  define BOOST_HAS_DECLTYPE
-#  define BOOST_HAS_RVALUE_REFS
-#  define BOOST_HAS_STATIC_ASSERT
-#  define BOOST_HAS_VARIADIC_TMPL
-#else
-#  define BOOST_NO_DECLTYPE
-#  define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#  define BOOST_NO_RVALUE_REFERENCES
-#  define BOOST_NO_STATIC_ASSERT
-
-// Variadic templates compiler: 
-//   http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
-#  if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
-#    define BOOST_HAS_VARIADIC_TMPL
-#  else
-#    define BOOST_NO_VARIADIC_TEMPLATES
-#  endif
-#endif
-
-// C++0x features in 4.4.n and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_AUTO_DECLARATIONS
-#  define BOOST_NO_AUTO_MULTIDECLARATIONS
-#  define BOOST_NO_CHAR16_T
-#  define BOOST_NO_CHAR32_T
-#  define BOOST_NO_INITIALIZER_LISTS
-#  define BOOST_NO_DEFAULTED_FUNCTIONS
-#  define BOOST_NO_DELETED_FUNCTIONS
-#endif
-
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)
-#  define BOOST_NO_SFINAE_EXPR
-#endif
-
-// C++0x features in 4.5.0 and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_LAMBDAS
-#  define BOOST_NO_RAW_LITERALS
-#  define BOOST_NO_UNICODE_LITERALS
-#endif
-
-// C++0x features in 4.5.1 and later
-//
-#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40501) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_SCOPED_ENUMS before 4.5.1
-// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
-#  define BOOST_NO_SCOPED_ENUMS
-#endif
-
-// C++0x features in 4.6.n and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#endif
-
-// C++0x features not supported at all yet
-//
-#define BOOST_NO_DECLTYPE_N3276
-
-#ifndef BOOST_COMPILER
-#  define BOOST_COMPILER "GNU C++ version " __VERSION__
-#endif
-
-// ConceptGCC compiler:
-//   http://www.generic-programming.org/software/ConceptGCC/
-#ifdef __GXX_CONCEPTS__
-#  define BOOST_HAS_CONCEPTS
-#  define BOOST_COMPILER "ConceptGCC version " __VERSION__
-#endif
-
-// versions check:
-// we don't know gcc prior to version 2.90:
-#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90)
-#  error "Compiler not configured - please reconfigure"
-#endif
-//
-// last known and checked version is 4.6 (Pre-release):
-#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  else
-// we don't emit warnings here anymore since there are no defect macros defined for
-// gcc post 3.4, so any failures are gcc regressions...
-//#     warning "Unknown compiler version - please run the configure tests and report the results"
-#  endif
-#endif
-
-
diff --git a/SRC/Boost/boost/config/compiler/gcc_xml.hpp b/SRC/Boost/boost/config/compiler/gcc_xml.hpp
deleted file mode 100755
index 025b516..0000000
--- a/SRC/Boost/boost/config/compiler/gcc_xml.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-//  (C) Copyright John Maddock 2006. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  GCC-XML C++ compiler setup:
-
-#  if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3))
-#     define BOOST_NO_IS_ABSTRACT
-#  endif
-
-//
-// Threading support: Turn this on unconditionally here (except for
-// those platforms where we can know for sure). It will get turned off again
-// later if no threading API is detected.
-//
-#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__)
-# define BOOST_HAS_THREADS
-#endif 
-
-//
-// gcc has "long long"
-//
-#define BOOST_HAS_LONG_LONG
-
-// C++0x features:
-//
-#  define BOOST_NO_CONSTEXPR
-#  define BOOST_NO_NULLPTR
-#  define BOOST_NO_TEMPLATE_ALIASES
-#  define BOOST_NO_DECLTYPE
-#  define BOOST_NO_DECLTYPE_N3276
-#  define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#  define BOOST_NO_RVALUE_REFERENCES
-#  define BOOST_NO_STATIC_ASSERT
-#  define BOOST_NO_VARIADIC_TEMPLATES
-#  define BOOST_NO_VARIADIC_MACROS
-#  define BOOST_NO_AUTO_DECLARATIONS
-#  define BOOST_NO_AUTO_MULTIDECLARATIONS
-#  define BOOST_NO_CHAR16_T
-#  define BOOST_NO_CHAR32_T
-#  define BOOST_NO_DEFAULTED_FUNCTIONS
-#  define BOOST_NO_DELETED_FUNCTIONS
-#  define BOOST_NO_INITIALIZER_LISTS
-#  define BOOST_NO_SCOPED_ENUMS  
-#  define BOOST_NO_SFINAE_EXPR
-#  define BOOST_NO_SCOPED_ENUMS
-#  define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_LAMBDAS
-#  define BOOST_NO_RAW_LITERALS
-#  define BOOST_NO_UNICODE_LITERALS
-#  define BOOST_NO_NOEXCEPT
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-
-#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__
-
-
diff --git a/SRC/Boost/boost/config/compiler/greenhills.hpp b/SRC/Boost/boost/config/compiler/greenhills.hpp
deleted file mode 100755
index 1dd89d1..0000000
--- a/SRC/Boost/boost/config/compiler/greenhills.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Greenhills C++ compiler setup:
-
-#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs)
-
-#include "boost/config/compiler/common_edg.hpp"
-
-//
-// versions check:
-// we don't support Greenhills prior to version 0:
-#if __ghs < 0
-#  error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is 0:
-#if (__ghs > 0)
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  endif
-#endif
-
-
diff --git a/SRC/Boost/boost/config/compiler/hp_acc.hpp b/SRC/Boost/boost/config/compiler/hp_acc.hpp
deleted file mode 100755
index 1d49628..0000000
--- a/SRC/Boost/boost/config/compiler/hp_acc.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Jens Maurer 2001 - 2003. 
-//  (C) Copyright Aleksey Gurtovoy 2002. 
-//  (C) Copyright David Abrahams 2002 - 2003. 
-//  (C) Copyright Toon Knapen 2003. 
-//  (C) Copyright Boris Gubenko 2006 - 2007.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  HP aCC C++ compiler setup:
-
-#if defined(__EDG__)
-#include "boost/config/compiler/common_edg.hpp"
-#endif
-
-#if (__HP_aCC <= 33100)
-#    define BOOST_NO_INTEGRAL_INT64_T
-#    define BOOST_NO_OPERATORS_IN_NAMESPACE
-#  if !defined(_NAMESPACE_STD)
-#     define BOOST_NO_STD_LOCALE
-#     define BOOST_NO_STRINGSTREAM
-#  endif
-#endif
-
-#if (__HP_aCC <= 33300)
-// member templates are sufficiently broken that we disable them for now
-#    define BOOST_NO_MEMBER_TEMPLATES
-#    define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-#    define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-#endif
-
-#if (__HP_aCC <= 38000)
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-
-#if (__HP_aCC > 50000) && (__HP_aCC < 60000)
-#    define BOOST_NO_UNREACHABLE_RETURN_DETECTION
-#    define BOOST_NO_TEMPLATE_TEMPLATES
-#    define BOOST_NO_SWPRINTF
-#    define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-#    define BOOST_NO_IS_ABSTRACT
-#    define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#endif 
-
-// optional features rather than defects:
-#if (__HP_aCC >= 33900)
-#    define BOOST_HAS_LONG_LONG
-#    define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#endif
-
-#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 )
-#    define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-#endif
-
-// This macro should not be defined when compiling in strict ansi
-// mode, but, currently, we don't have the ability to determine
-// what standard mode we are compiling with. Some future version
-// of aCC6 compiler will provide predefined macros reflecting the
-// compilation options, including the standard mode.
-#if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98))
-#    define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-
-#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC)
-
-//
-// versions check:
-// we don't support HP aCC prior to version 33000:
-#if __HP_aCC < 33000
-#  error "Compiler not supported or configured - please reconfigure"
-#endif
-
-//
-// Extended checks for supporting aCC on PA-RISC
-#if __HP_aCC > 30000 && __HP_aCC < 50000
-#  if __HP_aCC < 38000
-      // versions prior to version A.03.80 not supported
-#     error "Compiler version not supported - version A.03.80 or higher is required"
-#  elif !defined(__hpxstd98)
-      // must compile using the option +hpxstd98 with version A.03.80 and above
-#     error "Compiler option '+hpxstd98' is required for proper support"
-#  endif //PA-RISC
-#endif
-
-//
-// C++0x features
-//
-//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#if !defined(__EDG__)
-
-#define BOOST_NO_AUTO_DECLARATIONS
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DECLTYPE_N3276
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_INITIALIZER_LISTS
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_VARIADIC_TEMPLATES
-
-/* 
-  See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and
-      https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436
-*/
-
-#if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE)
-  #define BOOST_NO_VARIADIC_MACROS
-#endif
-
-#endif
-
-//
-// last known and checked version for HP-UX/ia64 is 61300
-// last known and checked version for PA-RISC is 38000
-#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98)))
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  endif
-#endif
diff --git a/SRC/Boost/boost/config/compiler/intel.hpp b/SRC/Boost/boost/config/compiler/intel.hpp
deleted file mode 100755
index 0bfb0a8..0000000
--- a/SRC/Boost/boost/config/compiler/intel.hpp
+++ /dev/null
@@ -1,244 +0,0 @@
-//  (C) Copyright John Maddock 2001-8.
-//  (C) Copyright Peter Dimov 2001.
-//  (C) Copyright Jens Maurer 2001.
-//  (C) Copyright David Abrahams 2002 - 2003.
-//  (C) Copyright Aleksey Gurtovoy 2002 - 2003.
-//  (C) Copyright Guillaume Melquiond 2002 - 2003.
-//  (C) Copyright Beman Dawes 2003.
-//  (C) Copyright Martin Wille 2003.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Intel compiler setup:
-
-#include "boost/config/compiler/common_edg.hpp"
-
-#if defined(__INTEL_COMPILER)
-#  define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER
-#elif defined(__ICL)
-#  define BOOST_INTEL_CXX_VERSION __ICL
-#elif defined(__ICC)
-#  define BOOST_INTEL_CXX_VERSION __ICC
-#elif defined(__ECC)
-#  define BOOST_INTEL_CXX_VERSION __ECC
-#endif
-
-// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x'
-#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__)
-#  define BOOST_INTEL_STDCXX0X
-#endif
-#if defined(_MSC_VER) && (_MSC_VER >= 1600)
-#  define BOOST_INTEL_STDCXX0X
-#endif
-
-#ifdef BOOST_INTEL_STDCXX0X
-#define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
-#else
-#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
-#endif
-#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
-
-#if defined(_WIN32) || defined(_WIN64)
-#  define BOOST_INTEL_WIN BOOST_INTEL
-#else
-#  define BOOST_INTEL_LINUX BOOST_INTEL
-#endif
-
-#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER)
-#  define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#  define BOOST_NO_TEMPLATE_TEMPLATES
-#endif
-
-#if (BOOST_INTEL_CXX_VERSION <= 600)
-
-#  if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov)
-
-// Boost libraries assume strong standard conformance unless otherwise
-// indicated by a config macro. As configured by Intel, the EDG front-end
-// requires certain compiler options be set to achieve that strong conformance.
-// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt)
-// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for
-// details as they apply to particular versions of the compiler. When the
-// compiler does not predefine a macro indicating if an option has been set,
-// this config file simply assumes the option has been set.
-// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if
-// the compiler option is not enabled.
-
-#     define BOOST_NO_SWPRINTF
-#  endif
-
-// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov)
-
-#  if defined(_MSC_VER) && (_MSC_VER <= 1200)
-#     define BOOST_NO_VOID_RETURNS
-#     define BOOST_NO_INTEGRAL_INT64_T
-#  endif
-
-#endif
-
-#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32)
-#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-#endif
-
-// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864
-#if BOOST_INTEL_CXX_VERSION < 600
-#  define BOOST_NO_INTRINSIC_WCHAR_T
-#else
-// We should test the macro _WCHAR_T_DEFINED to check if the compiler
-// supports wchar_t natively. *BUT* there is a problem here: the standard
-// headers define this macro if they typedef wchar_t. Anyway, we're lucky
-// because they define it without a value, while Intel C++ defines it
-// to 1. So we can check its value to see if the macro was defined natively
-// or not.
-// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T
-// is used instead.
-#  if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0)
-#    define BOOST_NO_INTRINSIC_WCHAR_T
-#  endif
-#endif
-
-#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
-//
-// Figure out when Intel is emulating this gcc bug
-// (All Intel versions prior to 9.0.26, and versions
-// later than that if they are set up to emulate gcc 3.2
-// or earlier):
-//
-#  if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912)
-#     define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#  endif
-#endif
-#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (BOOST_INTEL_CXX_VERSION <= 1200)
-// GCC or VC emulation:
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-//
-// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T
-// set correctly, if we don't do this now, we will get errors later
-// in type_traits code among other things, getting this correct
-// for the Intel compiler is actually remarkably fragile and tricky:
-//
-#ifdef __cplusplus
-#if defined(BOOST_NO_INTRINSIC_WCHAR_T)
-#include <cwchar>
-template< typename T > struct assert_no_intrinsic_wchar_t;
-template<> struct assert_no_intrinsic_wchar_t<wchar_t> { typedef void type; };
-// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T
-// where it is defined above:
-typedef assert_no_intrinsic_wchar_t<unsigned short>::type assert_no_intrinsic_wchar_t_;
-#else
-template< typename T > struct assert_intrinsic_wchar_t;
-template<> struct assert_intrinsic_wchar_t<wchar_t> {};
-// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line:
-template<> struct assert_intrinsic_wchar_t<unsigned short> {};
-#endif
-#endif
-
-#if defined(_MSC_VER) && (_MSC_VER+0 >= 1000)
-#  if _MSC_VER >= 1200
-#     define BOOST_HAS_MS_INT64
-#  endif
-#  define BOOST_NO_SWPRINTF
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#elif defined(_WIN32)
-#  define BOOST_DISABLE_WIN32
-#endif
-
-// I checked version 6.0 build 020312Z, it implements the NRVO.
-// Correct this as you find out which version of the compiler
-// implemented the NRVO first.  (Daniel Frey)
-#if (BOOST_INTEL_CXX_VERSION >= 600)
-#  define BOOST_HAS_NRVO
-#endif
-
-//
-// versions check:
-// we don't support Intel prior to version 5.0:
-#if BOOST_INTEL_CXX_VERSION < 500
-#  error "Compiler not supported or configured - please reconfigure"
-#endif
-
-// Intel on MacOS requires
-#if defined(__APPLE__) && defined(__INTEL_COMPILER)
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-
-// Intel on Altix Itanium
-#if defined(__itanium__) && defined(__INTEL_COMPILER)
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-
-//
-// An attempt to value-initialize a pointer-to-member may trigger an
-// internal error on Intel <= 11.1 (last checked version), as was 
-// reported by John Maddock, Intel support issue 589832, May 2010.
-// Moreover, according to test results from Huang-Vista-x86_32_intel,
-// intel-vc9-win-11.1 may leave a non-POD array uninitialized, in some 
-// cases when it should be value-initialized.
-// (Niels Dekker, LKEB, May 2010)
-// Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression).
-#if defined(__INTEL_COMPILER)
-#  if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999)
-#    define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#  endif
-#endif
-
-//
-// Dynamic shared object (DSO) and dynamic-link library (DLL) support
-//
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-#  define BOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
-#  define BOOST_SYMBOL_IMPORT
-#  define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
-#endif
-//
-// C++0x features
-//     - ICC added static_assert in 11.0 (first version with C++0x support)
-//
-#if defined(BOOST_INTEL_STDCXX0X)
-#  undef  BOOST_NO_STATIC_ASSERT
-//
-// These pass our test cases, but aren't officially supported according to:
-// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
-//
-//#  undef  BOOST_NO_LAMBDAS
-//#  undef  BOOST_NO_DECLTYPE
-//#  undef  BOOST_NO_AUTO_DECLARATIONS
-//#  undef  BOOST_NO_AUTO_MULTIDECLARATIONS
-#endif
-
-#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200)
-//#  undef  BOOST_NO_RVALUE_REFERENCES // Enabling this breaks Filesystem and Exception libraries
-//#  undef  BOOST_NO_SCOPED_ENUMS  // doesn't really work!!
-#  undef  BOOST_NO_DELETED_FUNCTIONS
-#  undef  BOOST_NO_DEFAULTED_FUNCTIONS
-#  undef  BOOST_NO_LAMBDAS
-#  undef  BOOST_NO_DECLTYPE
-#  undef  BOOST_NO_AUTO_DECLARATIONS
-#  undef  BOOST_NO_AUTO_MULTIDECLARATIONS
-#endif
-
-#if (BOOST_INTEL_CXX_VERSION < 1200)
-//
-// fenv.h appears not to work with Intel prior to 12.0:
-//
-#  define BOOST_NO_FENV_H
-#endif
-
-//
-// last known and checked version:
-#if (BOOST_INTEL_CXX_VERSION > 1200)
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  elif defined(_MSC_VER)
-//
-//      We don't emit this warning any more, since we have so few
-//      defect macros set anyway (just the one).
-//
-//#     pragma message("Unknown compiler version - please run the configure tests and report the results")
-#  endif
-#endif
-
diff --git a/SRC/Boost/boost/config/compiler/kai.hpp b/SRC/Boost/boost/config/compiler/kai.hpp
deleted file mode 100755
index f9c49ca..0000000
--- a/SRC/Boost/boost/config/compiler/kai.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  (C) Copyright David Abrahams 2002. 
-//  (C) Copyright Aleksey Gurtovoy 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Kai C++ compiler setup:
-
-#include "boost/config/compiler/common_edg.hpp"
-
-#   if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG)
-      // at least on Sun, the contents of <cwchar> is not in namespace std
-#     define BOOST_NO_STDC_NAMESPACE
-#   endif
-
-// see also common_edg.hpp which needs a special check for __KCC
-# if !defined(_EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-#     define BOOST_NO_EXCEPTIONS
-# endif
-
-//
-// last known and checked version is 4001:
-#if (__KCC_VERSION > 4001)
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  endif
-#endif
-
-
-
diff --git a/SRC/Boost/boost/config/compiler/metrowerks.hpp b/SRC/Boost/boost/config/compiler/metrowerks.hpp
deleted file mode 100755
index 944bd3a..0000000
--- a/SRC/Boost/boost/config/compiler/metrowerks.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  (C) Copyright Darin Adler 2001. 
-//  (C) Copyright Peter Dimov 2001. 
-//  (C) Copyright David Abrahams 2001 - 2002. 
-//  (C) Copyright Beman Dawes 2001 - 2003. 
-//  (C) Copyright Stefan Slapeta 2004. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Metrowerks C++ compiler setup:
-
-// locale support is disabled when linking with the dynamic runtime
-#   ifdef _MSL_NO_LOCALE
-#     define BOOST_NO_STD_LOCALE
-#   endif 
-
-#   if __MWERKS__ <= 0x2301  // 5.3
-#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#     define BOOST_NO_POINTER_TO_MEMBER_CONST
-#     define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-#     define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-#   endif
-
-#   if __MWERKS__ <= 0x2401  // 6.2
-//#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#   endif
-
-#   if(__MWERKS__ <= 0x2407)  // 7.x
-#     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-#     define BOOST_NO_UNREACHABLE_RETURN_DETECTION
-#   endif
-
-#   if(__MWERKS__ <= 0x3003)  // 8.x
-#     define BOOST_NO_SFINAE
-#    endif
-
-// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last
-// tested version *only*:
-#   if(__MWERKS__ <= 0x3207) || !defined(BOOST_STRICT_CONFIG) // 9.6
-#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#     define BOOST_NO_IS_ABSTRACT
-#    endif
-
-#if !__option(wchar_type)
-#   define BOOST_NO_INTRINSIC_WCHAR_T
-#endif
-
-#if !__option(exceptions) && !defined(BOOST_NO_EXCEPTIONS)
-#   define BOOST_NO_EXCEPTIONS
-#endif
-
-#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)
-#   if __MWERKS__ == 0x3000
-#     define BOOST_COMPILER_VERSION 8.0
-#   elif __MWERKS__ == 0x3001
-#     define BOOST_COMPILER_VERSION 8.1
-#   elif __MWERKS__ == 0x3002
-#     define BOOST_COMPILER_VERSION 8.2
-#   elif __MWERKS__ == 0x3003
-#     define BOOST_COMPILER_VERSION 8.3
-#   elif __MWERKS__ == 0x3200
-#     define BOOST_COMPILER_VERSION 9.0
-#   elif __MWERKS__ == 0x3201
-#     define BOOST_COMPILER_VERSION 9.1
-#   elif __MWERKS__ == 0x3202
-#     define BOOST_COMPILER_VERSION 9.2
-#   elif __MWERKS__ == 0x3204
-#     define BOOST_COMPILER_VERSION 9.3
-#   elif __MWERKS__ == 0x3205
-#     define BOOST_COMPILER_VERSION 9.4
-#   elif __MWERKS__ == 0x3206
-#     define BOOST_COMPILER_VERSION 9.5
-#   elif __MWERKS__ == 0x3207
-#     define BOOST_COMPILER_VERSION 9.6
-#   else
-#     define BOOST_COMPILER_VERSION __MWERKS__
-#   endif
-#else
-#  define BOOST_COMPILER_VERSION __MWERKS__
-#endif
-
-//
-// C++0x features
-//
-//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#if __MWERKS__ > 0x3206 && __option(rvalue_refs)
-#  define BOOST_HAS_RVALUE_REFS
-#else
-#  define BOOST_NO_RVALUE_REFERENCES              
-#endif
-#define BOOST_NO_AUTO_DECLARATIONS
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DECLTYPE_N3276
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_INITIALIZER_LISTS
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_VARIADIC_MACROS
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-
-#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
-
-//
-// versions check:
-// we don't support Metrowerks prior to version 5.3:
-#if __MWERKS__ < 0x2301
-#  error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version:
-#if (__MWERKS__ > 0x3205)
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  endif
-#endif
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/config/compiler/mpw.hpp b/SRC/Boost/boost/config/compiler/mpw.hpp
deleted file mode 100755
index bd4bdae..0000000
--- a/SRC/Boost/boost/config/compiler/mpw.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2002. 
-//  (C) Copyright Aleksey Gurtovoy 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  MPW C++ compilers setup:
-
-#   if    defined(__SC__)
-#     define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__)
-#   elif defined(__MRC__)
-#     define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__)
-#   else
-#     error "Using MPW compiler configuration by mistake.  Please update."
-#   endif
-
-//
-// MPW 8.90:
-//
-#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG)
-#  define BOOST_NO_CV_SPECIALIZATIONS
-#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-#  define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#  define BOOST_NO_INTRINSIC_WCHAR_T
-#  define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#  define BOOST_NO_USING_TEMPLATE
-
-#  define BOOST_NO_CWCHAR
-#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-
-#  define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */
-
-#endif
-
-//
-// C++0x features
-//
-//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#define BOOST_NO_AUTO_DECLARATIONS
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DECLTYPE_N3276
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_INITIALIZER_LISTS
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_VARIADIC_MACROS
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-
-//
-// versions check:
-// we don't support MPW prior to version 8.9:
-#if MPW_CPLUS < 0x890
-#  error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is 0x890:
-#if (MPW_CPLUS > 0x890)
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  endif
-#endif
-
-
diff --git a/SRC/Boost/boost/config/compiler/nvcc.hpp b/SRC/Boost/boost/config/compiler/nvcc.hpp
deleted file mode 100755
index 3e8d5a9..0000000
--- a/SRC/Boost/boost/config/compiler/nvcc.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright Eric Jourdanneau, Joel Falcou 2010
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  NVIDIA CUDA C++ compiler setup
-
-#ifndef BOOST_COMPILER
-#  define BOOST_COMPILER "NVIDIA CUDA C++ Compiler"
-#endif
-
-// NVIDIA Specific support
-// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
-#define BOOST_GPU_ENABLED __host__ __device__
-
-// Boost support macro for NVCC 
-// NVCC Basically behaves like some flavor of MSVC6 + some specific quirks
-#ifdef __GNUC__
-
-#include <boost/config/compiler/gcc.hpp>
-
-#elif defined(_MSC_VER)
-
-#include <boost/config/compiler/visualc.hpp>
-
-#endif
diff --git a/SRC/Boost/boost/config/compiler/pathscale.hpp b/SRC/Boost/boost/config/compiler/pathscale.hpp
deleted file mode 100755
index 56e0756..0000000
--- a/SRC/Boost/boost/config/compiler/pathscale.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//  (C) Copyright Bryce Lelbach 2011
-
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-// PathScale EKOPath C++ Compiler
-
-#ifndef BOOST_COMPILER
-#  define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__
-#endif
-
-#if __PATHCC__ >= 4
-#  define BOOST_MSVC6_MEMBER_TEMPLATES
-#  define BOOST_HAS_UNISTD_H
-#  define BOOST_HAS_STDINT_H
-#  define BOOST_HAS_SIGACTION
-#  define BOOST_HAS_SCHED_YIELD
-#  define BOOST_HAS_THREADS
-#  define BOOST_HAS_PTHREADS
-#  define BOOST_HAS_PTHREAD_YIELD
-#  define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#  define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#  define BOOST_HAS_NRVO
-#  define BOOST_HAS_NL_TYPES_H
-#  define BOOST_HAS_NANOSLEEP
-#  define BOOST_HAS_LONG_LONG
-#  define BOOST_HAS_LOG1P
-#  define BOOST_HAS_GETTIMEOFDAY
-#  define BOOST_HAS_EXPM1
-#  define BOOST_HAS_DIRENT_H
-#  define BOOST_HAS_CLOCK_GETTIME
-#  define BOOST_NO_VARIADIC_TEMPLATES
-#  define BOOST_NO_UNICODE_LITERALS
-#  define BOOST_NO_TEMPLATE_ALIASES
-#  define BOOST_NO_STD_UNORDERED
-#  define BOOST_NO_STATIC_ASSERT
-#  define BOOST_NO_SFINAE_EXPR
-#  define BOOST_NO_SCOPED_ENUMS
-#  define BOOST_NO_RVALUE_REFERENCES
-#  define BOOST_NO_RAW_LITERALS
-#  define BOOST_NO_NULLPTR
-#  define BOOST_NO_NUMERIC_LIMITS_LOWEST
-#  define BOOST_NO_NOEXCEPT
-#  define BOOST_NO_LAMBDAS
-#  define BOOST_NO_INITIALIZER_LISTS
-#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#  define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#  define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_DELETED_FUNCTIONS
-#  define BOOST_NO_DEFAULTED_FUNCTIONS
-#  define BOOST_NO_DECLTYPE
-#  define BOOST_NO_DECLTYPE_N3276
-#  define BOOST_NO_CONSTEXPR
-#  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#  define BOOST_NO_CHAR32_T
-#  define BOOST_NO_CHAR16_T
-#  define BOOST_NO_AUTO_MULTIDECLARATIONS
-#  define BOOST_NO_AUTO_DECLARATIONS
-#  define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#  define BOOST_NO_0X_HDR_UNORDERED_SET
-#  define BOOST_NO_0X_HDR_UNORDERED_MAP
-#  define BOOST_NO_0X_HDR_TYPEINDEX
-#  define BOOST_NO_0X_HDR_TUPLE
-#  define BOOST_NO_0X_HDR_THREAD
-#  define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#  define BOOST_NO_0X_HDR_REGEX
-#  define BOOST_NO_0X_HDR_RATIO
-#  define BOOST_NO_0X_HDR_RANDOM
-#  define BOOST_NO_0X_HDR_MUTEX
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
-#  define BOOST_NO_0X_HDR_FUTURE
-#  define BOOST_NO_0X_HDR_FORWARD_LIST
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_0X_HDR_CODECVT
-#  define BOOST_NO_0X_HDR_CHRONO
-#endif
-
diff --git a/SRC/Boost/boost/config/compiler/pgi.hpp b/SRC/Boost/boost/config/compiler/pgi.hpp
deleted file mode 100755
index af26624..0000000
--- a/SRC/Boost/boost/config/compiler/pgi.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//  (C) Copyright Noel Belcourt 2007.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  PGI C++ compiler setup:
-
-#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__
-#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
-
-//
-// Threading support:
-// Turn this on unconditionally here, it will get turned off again later
-// if no threading API is detected.
-//
-
-// PGI 10.x doesn't seem to define __PGIC__
-
-// versions earlier than 10.x do define __PGIC__
-#if __PGIC__ >= 10
-
-// options requested by configure --enable-test
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_NRVO
-#define BOOST_HAS_LONG_LONG
-
-// options --enable-test wants undefined
-#undef BOOST_NO_STDC_NAMESPACE
-#undef BOOST_NO_EXCEPTION_STD_NAMESPACE
-#undef BOOST_DEDUCED_TYPENAME
-
-#elif __PGIC__ >= 7
-
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL 
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_SWPRINTF
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_AUTO_DECLARATIONS
-
-#else
-
-#  error "Pgi compiler not configured - please reconfigure"
-
-#endif
-//
-// C++0x features
-//
-//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DECLTYPE_N3276
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_INITIALIZER_LISTS
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_VARIADIC_MACROS
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-
-//
-// version check:
-// probably nothing to do here?
-
diff --git a/SRC/Boost/boost/config/compiler/sgi_mipspro.hpp b/SRC/Boost/boost/config/compiler/sgi_mipspro.hpp
deleted file mode 100755
index da028e2..0000000
--- a/SRC/Boost/boost/config/compiler/sgi_mipspro.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  SGI C++ compiler setup:
-
-#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
-
-#include "boost/config/compiler/common_edg.hpp"
-
-//
-// Threading support:
-// Turn this on unconditionally here, it will get turned off again later
-// if no threading API is detected.
-//
-#define BOOST_HAS_THREADS
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-
-#undef BOOST_NO_SWPRINTF
-#undef BOOST_DEDUCED_TYPENAME
-
-//
-// version check:
-// probably nothing to do here?
-
-
diff --git a/SRC/Boost/boost/config/compiler/sunpro_cc.hpp b/SRC/Boost/boost/config/compiler/sunpro_cc.hpp
deleted file mode 100755
index ce51cc1..0000000
--- a/SRC/Boost/boost/config/compiler/sunpro_cc.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  (C) Copyright Jens Maurer 2001 - 2003. 
-//  (C) Copyright Peter Dimov 2002. 
-//  (C) Copyright Aleksey Gurtovoy 2002 - 2003. 
-//  (C) Copyright David Abrahams 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Sun C++ compiler setup:
-
-#    if __SUNPRO_CC <= 0x500
-#      define BOOST_NO_MEMBER_TEMPLATES
-#      define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#    endif
-
-#    if (__SUNPRO_CC <= 0x520)
-       //
-       // Sunpro 5.2 and earler:
-       //
-       // although sunpro 5.2 supports the syntax for
-       // inline initialization it often gets the value
-       // wrong, especially where the value is computed
-       // from other constants (J Maddock 6th May 2001)
-#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-
-       // Although sunpro 5.2 supports the syntax for
-       // partial specialization, it often seems to
-       // bind to the wrong specialization.  Better
-       // to disable it until suppport becomes more stable
-       // (J Maddock 6th May 2001).
-#      define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#    endif
-
-#    if (__SUNPRO_CC <= 0x530) 
-       // Requesting debug info (-g) with Boost.Python results
-       // in an internal compiler error for "static const"
-       // initialized in-class.
-       //    >> Assertion:   (../links/dbg_cstabs.cc, line 611)
-       //         while processing ../test.cpp at line 0.
-       // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002)
-#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-
-       // SunPro 5.3 has better support for partial specialization,
-       // but breaks when compiling std::less<shared_ptr<T> >
-       // (Jens Maurer 4 Nov 2001).
-
-       // std::less specialization fixed as reported by George
-       // Heintzelman; partial specialization re-enabled
-       // (Peter Dimov 17 Jan 2002)
-
-//#      define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-       // integral constant expressions with 64 bit numbers fail
-#      define BOOST_NO_INTEGRAL_INT64_T
-#    endif
-
-#    if (__SUNPRO_CC < 0x570) 
-#      define BOOST_NO_TEMPLATE_TEMPLATES
-       // see http://lists.boost.org/MailArchives/boost/msg47184.php
-       // and http://lists.boost.org/MailArchives/boost/msg47220.php
-#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#      define BOOST_NO_SFINAE
-#      define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-#    endif
-#    if (__SUNPRO_CC <= 0x580) 
-#      define BOOST_NO_IS_ABSTRACT
-#    endif
-
-#    if (__SUNPRO_CC <= 0x5100)
-       // Sun 5.10 may not correctly value-initialize objects of
-       // some user defined types, as was reported in April 2010
-       // (CR 6947016), and confirmed by Steve Clamage.
-       // (Niels Dekker, LKEB, May 2010).
-#      define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#    endif
-
-//
-// Dynamic shared object (DSO) and dynamic-link library (DLL) support
-//
-#if __SUNPRO_CC > 0x500
-#  define BOOST_SYMBOL_EXPORT __global
-#  define BOOST_SYMBOL_IMPORT __global
-#  define BOOST_SYMBOL_VISIBLE __global
-#endif
-
-
-
-//
-// Issues that effect all known versions:
-//
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_ADL_BARRIER
-
-//
-// C++0x features
-//
-#  define BOOST_HAS_LONG_LONG
-
-#define BOOST_NO_AUTO_DECLARATIONS
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE
-#define BOOST_NO_DECLTYPE_N3276
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_EXTERN_TEMPLATE
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_INITIALIZER_LISTS
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_VARIADIC_MACROS
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-
-//
-// Version
-//
-
-#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
-
-//
-// versions check:
-// we don't support sunpro prior to version 4:
-#if __SUNPRO_CC < 0x400
-#error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is 0x590:
-#if (__SUNPRO_CC > 0x590)
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  endif
-#endif
diff --git a/SRC/Boost/boost/config/compiler/vacpp.hpp b/SRC/Boost/boost/config/compiler/vacpp.hpp
deleted file mode 100755
index 0d24042..0000000
--- a/SRC/Boost/boost/config/compiler/vacpp.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Toon Knapen 2001 - 2003. 
-//  (C) Copyright Lie-Quan Lee 2001. 
-//  (C) Copyright Markus Schoepflin 2002 - 2003. 
-//  (C) Copyright Beman Dawes 2002 - 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Visual Age (IBM) C++ compiler setup:
-
-#if __IBMCPP__ <= 501
-#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#  define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-#endif
-
-#if (__IBMCPP__ <= 502) 
-// Actually the compiler supports inclass member initialization but it
-// requires a definition for the class member and it doesn't recognize
-// it as an integral constant expression when used as a template argument.
-#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#  define BOOST_NO_INTEGRAL_INT64_T
-#  define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-#endif
-
-#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG)
-#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-#endif
-
-#if (__IBMCPP__ <= 1110)
-// XL C++ V11.1 and earlier versions may not always value-initialize  
-// a temporary object T(), when T is a non-POD aggregate class type. 
-// Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it 
-// high priority. -- Niels Dekker (LKEB), May 2010.
-#  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#endif
-
-//
-// On AIX thread support seems to be indicated by _THREAD_SAFE:
-//
-#ifdef _THREAD_SAFE
-#  define BOOST_HAS_THREADS
-#endif
-
-#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__)
-
-//
-// versions check:
-// we don't support Visual age prior to version 5:
-#if __IBMCPP__ < 500
-#error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is 1110:
-#if (__IBMCPP__ > 1110)
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  endif
-#endif
-
-// Some versions of the compiler have issues with default arguments on partial specializations
-#if __IBMCPP__ <= 1010
-#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-#endif
-
-//
-// C++0x features
-//
-//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#if ! __IBMCPP_AUTO_TYPEDEDUCTION
-#  define BOOST_NO_AUTO_DECLARATIONS
-#  define BOOST_NO_AUTO_MULTIDECLARATIONS
-#endif
-#if ! __IBMCPP_UTF_LITERAL__
-#  define BOOST_NO_CHAR16_T
-#  define BOOST_NO_CHAR32_T
-#endif
-#define BOOST_NO_CONSTEXPR
-#if ! __IBMCPP_DECLTYPE
-#  define BOOST_NO_DECLTYPE
-#else
-#  define BOOST_HAS_DECLTYPE
-#endif
-#define BOOST_NO_DECLTYPE_N3276
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#if ! __IBMCPP_EXTERN_TEMPLATE
-#  define BOOST_NO_EXTERN_TEMPLATE
-#endif
-#if ! __IBMCPP_VARIADIC_TEMPLATES
-// not enabled separately at this time
-#  define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#endif
-#define BOOST_NO_INITIALIZER_LISTS
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#if ! __IBMCPP_STATIC_ASSERT
-#  define BOOST_NO_STATIC_ASSERT
-#endif
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_UNICODE_LITERALS
-#if ! __IBMCPP_VARIADIC_TEMPLATES
-#  define BOOST_NO_VARIADIC_TEMPLATES
-#endif
-#if ! __C99_MACRO_WITH_VA_ARGS
-#  define BOOST_NO_VARIADIC_MACROS
-#endif
-
-
-
diff --git a/SRC/Boost/boost/config/compiler/visualc.hpp b/SRC/Boost/boost/config/compiler/visualc.hpp
deleted file mode 100755
index 9363f3a..0000000
--- a/SRC/Boost/boost/config/compiler/visualc.hpp
+++ /dev/null
@@ -1,283 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Darin Adler 2001 - 2002. 
-//  (C) Copyright Peter Dimov 2001. 
-//  (C) Copyright Aleksey Gurtovoy 2002. 
-//  (C) Copyright David Abrahams 2002 - 2003. 
-//  (C) Copyright Beman Dawes 2002 - 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Microsoft Visual C++ compiler setup:
-
-#define BOOST_MSVC _MSC_VER
-
-#if _MSC_FULL_VER > 100000000
-#  define BOOST_MSVC_FULL_VER _MSC_FULL_VER
-#else
-#  define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
-#endif
-
-// turn off the warnings before we #include anything
-#pragma warning( disable : 4503 ) // warning: decorated name length exceeded
-
-#if _MSC_VER < 1300  // 1200 == VC++ 6.0, 1200-1202 == eVC++4
-#  pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info
-#  define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-#  define BOOST_NO_VOID_RETURNS
-#  define BOOST_NO_EXCEPTION_STD_NAMESPACE
-
-#  if BOOST_MSVC == 1202
-#    define BOOST_NO_STD_TYPEINFO
-#  endif
-
-   // disable min/max macro defines on vc6:
-   //
-#endif
-
-/// Visual Studio has no fenv.h
-#define BOOST_NO_FENV_H
-
-#if (_MSC_VER <= 1300)  // 1300 == VC++ 7.0
-
-#  if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)      // VC7 bug with /Za
-#    define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-#  endif
-
-#  define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#  define BOOST_NO_PRIVATE_IN_AGGREGATE
-#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#  define BOOST_NO_INTEGRAL_INT64_T
-#  define BOOST_NO_DEDUCED_TYPENAME
-#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-
-//    VC++ 6/7 has member templates but they have numerous problems including
-//    cases of silent failure, so for safety we define:
-#  define BOOST_NO_MEMBER_TEMPLATES
-//    For VC++ experts wishing to attempt workarounds, we define:
-#  define BOOST_MSVC6_MEMBER_TEMPLATES
-
-#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#  define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#  define BOOST_NO_CV_VOID_SPECIALIZATIONS
-#  define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#  define BOOST_NO_USING_TEMPLATE
-#  define BOOST_NO_SWPRINTF
-#  define BOOST_NO_TEMPLATE_TEMPLATES
-#  define BOOST_NO_SFINAE
-#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-#  define BOOST_NO_IS_ABSTRACT
-#  define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-// TODO: what version is meant here? Have there really been any fixes in cl 12.01 (as e.g. shipped with eVC4)?
-#  if (_MSC_VER > 1200)
-#     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-#  endif
-
-#endif
-
-#if _MSC_VER < 1400 
-// although a conforming signature for swprint exists in VC7.1
-// it appears not to actually work:
-#  define BOOST_NO_SWPRINTF
-// Our extern template tests also fail for this compiler:
-#  define BOOST_NO_EXTERN_TEMPLATE
-// Variadic macros do not exist for VC7.1 and lower
-#  define BOOST_NO_VARIADIC_MACROS
-#endif
-
-#if defined(UNDER_CE)
-// Windows CE does not have a conforming signature for swprintf
-#  define BOOST_NO_SWPRINTF
-#endif
-
-#if _MSC_VER <= 1400  // 1400 == VC++ 8.0
-#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#endif
-
-#if _MSC_VER == 1500  // 1500 == VC++ 9.0
-   // A bug in VC9:
-#  define BOOST_NO_ADL_BARRIER
-#endif
-
-
-#if (_MSC_VER <= 1600)
-// MSVC (including the latest checked version) has not yet completely 
-// implemented value-initialization, as is reported:
-// "VC++ does not value-initialize members of derived classes without 
-// user-declared constructor", reported in 2009 by Sylvester Hesp:
-// https://connect.microsoft.com/VisualStudio/feedback/details/484295
-// "Presence of copy constructor breaks member class initialization",
-// reported in 2009 by Alex Vakulenko:
-// https://connect.microsoft.com/VisualStudio/feedback/details/499606
-// "Value-initialization in new-expression", reported in 2005 by
-// Pavel Kuznetsov (MetaCommunications Engineering):
-// https://connect.microsoft.com/VisualStudio/feedback/details/100744
-// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-// (Niels Dekker, LKEB, May 2010)
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#endif
-
-#if _MSC_VER <= 1500  || !defined(BOOST_STRICT_CONFIG) // 1500 == VC++ 9.0
-#  define BOOST_NO_INITIALIZER_LISTS
-#endif
-
-#ifndef _NATIVE_WCHAR_T_DEFINED
-#  define BOOST_NO_INTRINSIC_WCHAR_T
-#endif
-
-#if defined(_WIN32_WCE) || defined(UNDER_CE)
-#  define BOOST_NO_SWPRINTF
-#endif
-
-// we have ThreadEx or GetSystemTimeAsFileTime unless we're running WindowsCE
-#if !defined(_WIN32_WCE) && !defined(UNDER_CE)
-#  define BOOST_HAS_THREADEX
-#  define BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#endif
-
-//   
-// check for exception handling support:   
-#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
-#  define BOOST_NO_EXCEPTIONS   
-#endif 
-
-//
-// __int64 support:
-//
-#if (_MSC_VER >= 1200)
-#   define BOOST_HAS_MS_INT64
-#endif
-#if (_MSC_VER >= 1310) && (defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400))
-#   define BOOST_HAS_LONG_LONG
-#else
-#   define BOOST_NO_LONG_LONG
-#endif
-#if (_MSC_VER >= 1400) && !defined(_DEBUG)
-#   define BOOST_HAS_NRVO
-#endif
-//
-// disable Win32 API's if compiler extentions are
-// turned off:
-//
-#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32)
-#  define BOOST_DISABLE_WIN32
-#endif
-#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI)
-#  define BOOST_NO_RTTI
-#endif
-
-//
-// C++0x features
-//
-//   See above for BOOST_NO_LONG_LONG
-
-// C++ features supported by VC++ 10 (aka 2010)
-//
-#if _MSC_VER < 1600
-#define BOOST_NO_AUTO_DECLARATIONS
-#define BOOST_NO_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_LAMBDAS
-#define BOOST_NO_RVALUE_REFERENCES
-#define BOOST_NO_STATIC_ASSERT
-#define BOOST_NO_NULLPTR
-#define BOOST_NO_DECLTYPE
-#endif // _MSC_VER < 1600
-
-#if _MSC_VER >= 1600
-#define BOOST_HAS_STDINT_H
-#endif
-
-// C++0x features not supported by any versions
-#define BOOST_NO_CHAR16_T
-#define BOOST_NO_CHAR32_T
-#define BOOST_NO_CONSTEXPR
-#define BOOST_NO_DECLTYPE_N3276
-#define BOOST_NO_DEFAULTED_FUNCTIONS
-#define BOOST_NO_DELETED_FUNCTIONS
-#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_INITIALIZER_LISTS
-#define BOOST_NO_NOEXCEPT
-#define BOOST_NO_RAW_LITERALS
-#define BOOST_NO_SCOPED_ENUMS
-#define BOOST_NO_TEMPLATE_ALIASES
-#define BOOST_NO_UNICODE_LITERALS
-#define BOOST_NO_VARIADIC_TEMPLATES
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-//
-// prefix and suffix headers:
-//
-#ifndef BOOST_ABI_PREFIX
-#  define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp"
-#endif
-#ifndef BOOST_ABI_SUFFIX
-#  define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp"
-#endif
-
-// TODO:
-// these things are mostly bogus. 1200 means version 12.0 of the compiler. The 
-// artificial versions assigned to them only refer to the versions of some IDE
-// these compilers have been shipped with, and even that is not all of it. Some
-// were shipped with freely downloadable SDKs, others as crosscompilers in eVC.
-// IOW, you can't use these 'versions' in any sensible way. Sorry.
-# if defined(UNDER_CE)
-#   if _MSC_VER < 1200
-      // Note: these are so far off, they are not really supported
-#   elif _MSC_VER < 1300 // eVC++ 4 comes with 1200-1202
-#     define BOOST_COMPILER_VERSION evc4.0
-#   elif _MSC_VER == 1400
-#     define BOOST_COMPILER_VERSION evc8
-#   elif _MSC_VER == 1500
-#     define BOOST_COMPILER_VERSION evc9
-#   elif _MSC_VER == 1600
-#     define BOOST_COMPILER_VERSION evc10
-#   else
-#      if defined(BOOST_ASSERT_CONFIG)
-#         error "Unknown EVC++ compiler version - please run the configure tests and report the results"
-#      else
-#         pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
-#      endif
-#   endif
-# else
-#   if _MSC_VER < 1200
-      // Note: these are so far off, they are not really supported
-#     define BOOST_COMPILER_VERSION 5.0
-#   elif _MSC_VER < 1300
-#       define BOOST_COMPILER_VERSION 6.0
-#   elif _MSC_VER == 1300
-#     define BOOST_COMPILER_VERSION 7.0
-#   elif _MSC_VER == 1310
-#     define BOOST_COMPILER_VERSION 7.1
-#   elif _MSC_VER == 1400
-#     define BOOST_COMPILER_VERSION 8.0
-#   elif _MSC_VER == 1500
-#     define BOOST_COMPILER_VERSION 9.0
-#   elif _MSC_VER == 1600
-#     define BOOST_COMPILER_VERSION 10.0
-#   else
-#     define BOOST_COMPILER_VERSION _MSC_VER
-#   endif
-# endif
-
-#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
-
-//
-// versions check:
-// we don't support Visual C++ prior to version 6:
-#if _MSC_VER < 1200
-#error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is 1600 (VC10, aka 2010):
-#if (_MSC_VER > 1600)
-#  if defined(BOOST_ASSERT_CONFIG)
-#     error "Unknown compiler version - please run the configure tests and report the results"
-#  else
-#     pragma message("Unknown compiler version - please run the configure tests and report the results")
-#  endif
-#endif
diff --git a/SRC/Boost/boost/config/no_tr1/cmath.hpp b/SRC/Boost/boost/config/no_tr1/cmath.hpp
deleted file mode 100755
index 19ff526..0000000
--- a/SRC/Boost/boost/config/no_tr1/cmath.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright John Maddock 2008.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// The aim of this header is just to include <cmath> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/cmath is in the
-// include search path.  We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_CMATH
-#  define BOOST_CONFIG_CMATH
-
-#  ifndef BOOST_TR1_NO_RECURSION
-#     define BOOST_TR1_NO_RECURSION
-#     define BOOST_CONFIG_NO_CMATH_RECURSION
-#  endif
-
-#  include <cmath>
-
-#  ifdef BOOST_CONFIG_NO_CMATH_RECURSION
-#     undef BOOST_TR1_NO_RECURSION
-#     undef BOOST_CONFIG_NO_CMATH_RECURSION
-#  endif
-
-#endif
diff --git a/SRC/Boost/boost/config/no_tr1/complex.hpp b/SRC/Boost/boost/config/no_tr1/complex.hpp
deleted file mode 100755
index c6f4254..0000000
--- a/SRC/Boost/boost/config/no_tr1/complex.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// The aim of this header is just to include <complex> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/complex is in the
-// include search path.  We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_COMPLEX
-#  define BOOST_CONFIG_COMPLEX
-
-#  ifndef BOOST_TR1_NO_RECURSION
-#     define BOOST_TR1_NO_RECURSION
-#     define BOOST_CONFIG_NO_COMPLEX_RECURSION
-#  endif
-
-#  include <complex>
-
-#  ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION
-#     undef BOOST_TR1_NO_RECURSION
-#     undef BOOST_CONFIG_NO_COMPLEX_RECURSION
-#  endif
-
-#endif
diff --git a/SRC/Boost/boost/config/no_tr1/functional.hpp b/SRC/Boost/boost/config/no_tr1/functional.hpp
deleted file mode 100755
index 08d46fc..0000000
--- a/SRC/Boost/boost/config/no_tr1/functional.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// The aim of this header is just to include <functional> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/functional is in the
-// include search path.  We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_FUNCTIONAL
-#  define BOOST_CONFIG_FUNCTIONAL
-
-#  ifndef BOOST_TR1_NO_RECURSION
-#     define BOOST_TR1_NO_RECURSION
-#     define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
-#  endif
-
-#  include <functional>
-
-#  ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
-#     undef BOOST_TR1_NO_RECURSION
-#     undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
-#  endif
-
-#endif
diff --git a/SRC/Boost/boost/config/no_tr1/memory.hpp b/SRC/Boost/boost/config/no_tr1/memory.hpp
deleted file mode 100755
index d998a54..0000000
--- a/SRC/Boost/boost/config/no_tr1/memory.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// The aim of this header is just to include <memory> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/memory is in the
-// include search path.  We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_MEMORY
-#  define BOOST_CONFIG_MEMORY
-
-#  ifndef BOOST_TR1_NO_RECURSION
-#     define BOOST_TR1_NO_RECURSION
-#     define BOOST_CONFIG_NO_MEMORY_RECURSION
-#  endif
-
-#  include <memory>
-
-#  ifdef BOOST_CONFIG_NO_MEMORY_RECURSION
-#     undef BOOST_TR1_NO_RECURSION
-#     undef BOOST_CONFIG_NO_MEMORY_RECURSION
-#  endif
-
-#endif
diff --git a/SRC/Boost/boost/config/no_tr1/utility.hpp b/SRC/Boost/boost/config/no_tr1/utility.hpp
deleted file mode 100755
index 40f2234..0000000
--- a/SRC/Boost/boost/config/no_tr1/utility.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// The aim of this header is just to include <utility> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/utility is in the
-// include search path.  We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_UTILITY
-#  define BOOST_CONFIG_UTILITY
-
-#  ifndef BOOST_TR1_NO_RECURSION
-#     define BOOST_TR1_NO_RECURSION
-#     define BOOST_CONFIG_NO_UTILITY_RECURSION
-#  endif
-
-#  include <utility>
-
-#  ifdef BOOST_CONFIG_NO_UTILITY_RECURSION
-#     undef BOOST_TR1_NO_RECURSION
-#     undef BOOST_CONFIG_NO_UTILITY_RECURSION
-#  endif
-
-#endif
diff --git a/SRC/Boost/boost/config/platform/aix.hpp b/SRC/Boost/boost/config/platform/aix.hpp
deleted file mode 100755
index 36b6ab2..0000000
--- a/SRC/Boost/boost/config/platform/aix.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  IBM/Aix specific config options:
-
-#define BOOST_PLATFORM "IBM Aix"
-
-#define BOOST_HAS_UNISTD_H
-#define BOOST_HAS_NL_TYPES_H
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_CLOCK_GETTIME
-
-// This needs support in "boost/cstdint.hpp" exactly like FreeBSD.
-// This platform has header named <inttypes.h> which includes all
-// the things needed.
-#define BOOST_HAS_STDINT_H
-
-// Threading API's:
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_PTHREAD_DELAY_NP
-#define BOOST_HAS_SCHED_YIELD
-//#define BOOST_HAS_PTHREAD_YIELD
-
-// boilerplate code:
-#include <boost/config/posix_features.hpp>
-
-
-
-
diff --git a/SRC/Boost/boost/config/platform/amigaos.hpp b/SRC/Boost/boost/config/platform/amigaos.hpp
deleted file mode 100755
index fe22635..0000000
--- a/SRC/Boost/boost/config/platform/amigaos.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-//  (C) Copyright John Maddock 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-#define BOOST_PLATFORM "AmigaOS"
-
-#define BOOST_DISABLE_THREADS
-#define BOOST_NO_CWCHAR
-#define BOOST_NO_STD_WSTRING
-#define BOOST_NO_INTRINSIC_WCHAR_T
- 
-
diff --git a/SRC/Boost/boost/config/platform/beos.hpp b/SRC/Boost/boost/config/platform/beos.hpp
deleted file mode 100755
index 507ef82..0000000
--- a/SRC/Boost/boost/config/platform/beos.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  BeOS specific config options:
-
-#define BOOST_PLATFORM "BeOS"
-
-#define BOOST_NO_CWCHAR
-#define BOOST_NO_CWCTYPE
-#define BOOST_HAS_UNISTD_H
-
-#define BOOST_HAS_BETHREADS
-
-#ifndef BOOST_DISABLE_THREADS
-#  define BOOST_HAS_THREADS
-#endif
-
-// boilerplate code:
-#include <boost/config/posix_features.hpp>
- 
-
-
diff --git a/SRC/Boost/boost/config/platform/bsd.hpp b/SRC/Boost/boost/config/platform/bsd.hpp
deleted file mode 100755
index 9d86e94..0000000
--- a/SRC/Boost/boost/config/platform/bsd.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Darin Adler 2001. 
-//  (C) Copyright Douglas Gregor 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  generic BSD config options:
-
-#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
-#error "This platform is not BSD"
-#endif
-
-#ifdef __FreeBSD__
-#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
-#elif defined(__NetBSD__)
-#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
-#elif defined(__OpenBSD__)
-#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
-#elif defined(__DragonFly__)
-#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
-#endif
-
-//
-// is this the correct version check?
-// FreeBSD has <nl_types.h> but does not
-// advertise the fact in <unistd.h>:
-//
-#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__)
-#  define BOOST_HAS_NL_TYPES_H
-#endif
-
-//
-// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in <pthread.h>
-// and not in <unistd.h>
-//
-#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\
-   || defined(__OpenBSD__) || defined(__DragonFly__) 
-#  define BOOST_HAS_PTHREADS
-#endif
-
-//
-// No wide character support in the BSD header files:
-//
-#if defined(__NetBSD__)
-#define __NetBSD_GCC__ (__GNUC__         * 1000000 \
-                       + __GNUC_MINOR__ *    1000 \
-                       + __GNUC_PATCHLEVEL__)
-// XXX - the following is required until c++config.h
-//       defines _GLIBCXX_HAVE_SWPRINTF and friends
-//       or the preprocessor conditionals are removed
-//       from the cwchar header.
-#define _GLIBCXX_HAVE_SWPRINTF 1
-#endif
-
-#if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \
-      || (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) || defined(__DragonFly__))
-#  define BOOST_NO_CWCHAR
-#endif
-//
-// The BSD <ctype.h> has macros only, no functions:
-//
-#if !defined(__OpenBSD__) || defined(__DragonFly__)
-#  define BOOST_NO_CTYPE_FUNCTIONS
-#endif
-
-//
-// thread API's not auto detected:
-//
-#define BOOST_HAS_SCHED_YIELD
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#define BOOST_HAS_SIGACTION
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/config/platform/cray.hpp b/SRC/Boost/boost/config/platform/cray.hpp
deleted file mode 100755
index dca1511..0000000
--- a/SRC/Boost/boost/config/platform/cray.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright John Maddock 2011.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-//  See http://www.boost.org for most recent version.
-
-//  SGI Irix specific config options:
-
-#define BOOST_PLATFORM "Cray"
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-
-
diff --git a/SRC/Boost/boost/config/platform/cygwin.hpp b/SRC/Boost/boost/config/platform/cygwin.hpp
deleted file mode 100755
index c46f2e5..0000000
--- a/SRC/Boost/boost/config/platform/cygwin.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  cygwin specific config options:
-
-#define BOOST_PLATFORM "Cygwin"
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_LOG1P
-#define BOOST_HAS_EXPM1
-
-//
-// Threading API:
-// See if we have POSIX threads, if we do use them, otherwise
-// revert to native Win threads.
-#define BOOST_HAS_UNISTD_H
-#include <unistd.h>
-#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)
-#  define BOOST_HAS_PTHREADS
-#  define BOOST_HAS_SCHED_YIELD
-#  define BOOST_HAS_GETTIMEOFDAY
-#  define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#  define BOOST_HAS_SIGACTION
-#else
-#  if !defined(BOOST_HAS_WINTHREADS)
-#     define BOOST_HAS_WINTHREADS
-#  endif
-#  define BOOST_HAS_FTIME
-#endif
-
-//
-// find out if we have a stdint.h, there should be a better way to do this:
-//
-#include <sys/types.h>
-#ifdef _STDINT_H
-#define BOOST_HAS_STDINT_H
-#endif
-
-/// Cygwin has no fenv.h
-#define BOOST_NO_FENV_H
-
-// boilerplate code:
-#include <boost/config/posix_features.hpp>
-
-//
-// Cygwin lies about XSI conformance, there is no nl_types.h:
-//
-#ifdef BOOST_HAS_NL_TYPES_H
-#  undef BOOST_HAS_NL_TYPES_H
-#endif
- 
-
-
-
-
diff --git a/SRC/Boost/boost/config/platform/hpux.hpp b/SRC/Boost/boost/config/platform/hpux.hpp
deleted file mode 100755
index 8e79892..0000000
--- a/SRC/Boost/boost/config/platform/hpux.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Jens Maurer 2001 - 2003. 
-//  (C) Copyright David Abrahams 2002. 
-//  (C) Copyright Toon Knapen 2003. 
-//  (C) Copyright Boris Gubenko 2006 - 2007.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  hpux specific config options:
-
-#define BOOST_PLATFORM "HP-UX"
-
-// In principle, HP-UX has a nice <stdint.h> under the name <inttypes.h>
-// However, it has the following problem:
-// Use of UINT32_C(0) results in "0u l" for the preprocessed source
-// (verifyable with gcc 2.95.3)
-#if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__HP_aCC)
-#  define BOOST_HAS_STDINT_H
-#endif
-
-#if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE))
-#  define BOOST_NO_SWPRINTF
-#endif
-#if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE)
-#  define BOOST_NO_CWCTYPE
-#endif
-
-#if defined(__GNUC__)
-#  if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))
-      // GNU C on HP-UX does not support threads (checked up to gcc 3.3)
-#     define BOOST_DISABLE_THREADS
-#  elif !defined(BOOST_DISABLE_THREADS)
-      // threads supported from gcc-3.3 onwards:
-#     define BOOST_HAS_THREADS
-#     define BOOST_HAS_PTHREADS
-#  endif
-#elif defined(__HP_aCC) && !defined(BOOST_DISABLE_THREADS)
-#  define BOOST_HAS_PTHREADS
-#endif
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-// the following are always available:
-#ifndef BOOST_HAS_GETTIMEOFDAY
-#  define BOOST_HAS_GETTIMEOFDAY
-#endif
-#ifndef BOOST_HAS_SCHED_YIELD
-#    define BOOST_HAS_SCHED_YIELD
-#endif
-#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#    define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#endif
-#ifndef BOOST_HAS_NL_TYPES_H
-#    define BOOST_HAS_NL_TYPES_H
-#endif
-#ifndef BOOST_HAS_NANOSLEEP
-#    define BOOST_HAS_NANOSLEEP
-#endif
-#ifndef BOOST_HAS_GETTIMEOFDAY
-#    define BOOST_HAS_GETTIMEOFDAY
-#endif
-#ifndef BOOST_HAS_DIRENT_H
-#    define BOOST_HAS_DIRENT_H
-#endif
-#ifndef BOOST_HAS_CLOCK_GETTIME
-#    define BOOST_HAS_CLOCK_GETTIME
-#endif
-#ifndef BOOST_HAS_SIGACTION
-#  define BOOST_HAS_SIGACTION
-#endif
-#ifndef BOOST_HAS_NRVO 
-#  ifndef __parisc
-#    define BOOST_HAS_NRVO
-#  endif
-#endif
-#ifndef BOOST_HAS_LOG1P 
-#  define BOOST_HAS_LOG1P
-#endif
-#ifndef BOOST_HAS_EXPM1
-#  define BOOST_HAS_EXPM1
-#endif
-
diff --git a/SRC/Boost/boost/config/platform/irix.hpp b/SRC/Boost/boost/config/platform/irix.hpp
deleted file mode 100755
index e0691a4..0000000
--- a/SRC/Boost/boost/config/platform/irix.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Jens Maurer 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-//  See http://www.boost.org for most recent version.
-
-//  SGI Irix specific config options:
-
-#define BOOST_PLATFORM "SGI Irix"
-
-#define BOOST_NO_SWPRINTF 
-//
-// these are not auto detected by POSIX feature tests:
-//
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-
-#ifdef __GNUC__
-   // GNU C on IRIX does not support threads (checked up to gcc 3.3)
-#  define BOOST_DISABLE_THREADS
-#endif
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-
-
diff --git a/SRC/Boost/boost/config/platform/linux.hpp b/SRC/Boost/boost/config/platform/linux.hpp
deleted file mode 100755
index c74dd72..0000000
--- a/SRC/Boost/boost/config/platform/linux.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Jens Maurer 2001 - 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  linux specific config options:
-
-#define BOOST_PLATFORM "linux"
-
-// make sure we have __GLIBC_PREREQ if available at all
-#ifdef __cplusplus
-#include <cstdlib>
-#else
-#include <stdlib.h>
-#endif
-
-//
-// <stdint.h> added to glibc 2.1.1
-// We can only test for 2.1 though:
-//
-#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)))
-   // <stdint.h> defines int64_t unconditionally, but <sys/types.h> defines
-   // int64_t only if __GNUC__.  Thus, assume a fully usable <stdint.h>
-   // only when using GCC.
-#  if defined __GNUC__
-#    define BOOST_HAS_STDINT_H
-#  endif
-#endif
-
-#if defined(__LIBCOMO__)
-   //
-   // como on linux doesn't have std:: c functions:
-   // NOTE: versions of libcomo prior to beta28 have octal version numbering,
-   // e.g. version 25 is 21 (dec)
-   //
-#  if __LIBCOMO_VERSION__ <= 20
-#    define BOOST_NO_STDC_NAMESPACE
-#  endif
-
-#  if __LIBCOMO_VERSION__ <= 21
-#    define BOOST_NO_SWPRINTF
-#  endif
-
-#endif
-
-//
-// If glibc is past version 2 then we definitely have
-// gettimeofday, earlier versions may or may not have it:
-//
-#if defined(__GLIBC__) && (__GLIBC__ >= 2)
-#  define BOOST_HAS_GETTIMEOFDAY
-#endif
-
-#ifdef __USE_POSIX199309
-#  define BOOST_HAS_NANOSLEEP
-#endif
-
-#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
-// __GLIBC_PREREQ is available since 2.1.2
-
-   // swprintf is available since glibc 2.2.0
-#  if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98))
-#    define BOOST_NO_SWPRINTF
-#  endif
-#else
-#  define BOOST_NO_SWPRINTF
-#endif
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-#define BOOST_HAS_PTHREAD_YIELD
-
-#ifndef __GNUC__
-//
-// if the compiler is not gcc we still need to be able to parse
-// the GNU system headers, some of which (mainly <stdint.h>)
-// use GNU specific extensions:
-//
-#  ifndef __extension__
-#     define __extension__
-#  endif
-#  ifndef __const__
-#     define __const__ const
-#  endif
-#  ifndef __volatile__
-#     define __volatile__ volatile
-#  endif
-#  ifndef __signed__
-#     define __signed__ signed
-#  endif
-#  ifndef __typeof__
-#     define __typeof__ typeof
-#  endif
-#  ifndef __inline__
-#     define __inline__ inline
-#  endif
-#endif
-
-
diff --git a/SRC/Boost/boost/config/platform/macos.hpp b/SRC/Boost/boost/config/platform/macos.hpp
deleted file mode 100755
index 57dd4fe..0000000
--- a/SRC/Boost/boost/config/platform/macos.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Darin Adler 2001 - 2002. 
-//  (C) Copyright Bill Kempf 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Mac OS specific config options:
-
-#define BOOST_PLATFORM "Mac OS"
-
-#if __MACH__ && !defined(_MSL_USING_MSL_C)
-
-// Using the Mac OS X system BSD-style C library.
-
-#  ifndef BOOST_HAS_UNISTD_H
-#    define BOOST_HAS_UNISTD_H
-#  endif
-//
-// Begin by including our boilerplate code for POSIX
-// feature detection, this is safe even when using
-// the MSL as Metrowerks supply their own <unistd.h>
-// to replace the platform-native BSD one. G++ users
-// should also always be able to do this on MaxOS X.
-//
-#  include <boost/config/posix_features.hpp>
-#  ifndef BOOST_HAS_STDINT_H
-#     define BOOST_HAS_STDINT_H
-#  endif
-
-//
-// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday,
-// of these only pthreads are advertised in <unistd.h>, so set the 
-// other options explicitly:
-//
-#  define BOOST_HAS_SCHED_YIELD
-#  define BOOST_HAS_GETTIMEOFDAY
-#  define BOOST_HAS_SIGACTION
-
-#  if (__GNUC__ < 3) && !defined( __APPLE_CC__)
-
-// GCC strange "ignore std" mode works better if you pretend everything
-// is in the std namespace, for the most part.
-
-#    define BOOST_NO_STDC_NAMESPACE
-#  endif
-
-#  if (__GNUC__ == 4)
-
-// Both gcc and intel require these.  
-#    define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#    define BOOST_HAS_NANOSLEEP
-
-#  endif
-
-#else
-
-// Using the MSL C library.
-
-// We will eventually support threads in non-Carbon builds, but we do
-// not support this yet.
-#  if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON )
-
-#  if !defined(BOOST_HAS_PTHREADS)
-// MPTasks support is deprecated/removed from Boost:
-//#    define BOOST_HAS_MPTASKS
-#  elif ( __dest_os == __mac_os_x )
-// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the
-// gettimeofday and no posix.
-#  define BOOST_HAS_GETTIMEOFDAY
-#  endif
-
-#ifdef BOOST_HAS_PTHREADS
-#  define BOOST_HAS_THREADS
-#endif
-
-// The remote call manager depends on this.
-#    define BOOST_BIND_ENABLE_PASCAL
-
-#  endif
-
-#endif
-
-
-
diff --git a/SRC/Boost/boost/config/platform/qnxnto.hpp b/SRC/Boost/boost/config/platform/qnxnto.hpp
deleted file mode 100755
index 102f27c..0000000
--- a/SRC/Boost/boost/config/platform/qnxnto.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright Jim Douglas 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  QNX specific config options:
-
-#define BOOST_PLATFORM "QNX"
-
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-// QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h
-// or log1p and expm1:
-#undef  BOOST_HAS_NL_TYPES_H
-#undef  BOOST_HAS_LOG1P
-#undef  BOOST_HAS_EXPM1
-
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_CLOCK_GETTIME
-#define BOOST_HAS_NANOSLEEP
-
-
-
-
-
diff --git a/SRC/Boost/boost/config/platform/solaris.hpp b/SRC/Boost/boost/config/platform/solaris.hpp
deleted file mode 100755
index af776bd..0000000
--- a/SRC/Boost/boost/config/platform/solaris.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Jens Maurer 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  sun specific config options:
-
-#define BOOST_PLATFORM "Sun Solaris"
-
-#define BOOST_HAS_GETTIMEOFDAY
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-//
-// pthreads don't actually work with gcc unless _PTHREADS is defined:
-//
-#if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS)
-# undef BOOST_HAS_PTHREADS
-#endif
-
-
-
-
diff --git a/SRC/Boost/boost/config/platform/symbian.hpp b/SRC/Boost/boost/config/platform/symbian.hpp
deleted file mode 100755
index e49cd19..0000000
--- a/SRC/Boost/boost/config/platform/symbian.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-//  (C) Copyright Yuriy Krasnoschek 2009. 
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Jens Maurer 2001 - 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  symbian specific config options:
-
-
-#define BOOST_PLATFORM "Symbian"
-#define BOOST_SYMBIAN 1
-
-
-#if defined(__S60_3X__)
-// Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL
-#  define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
-// make sure we have __GLIBC_PREREQ if available at all
-#ifdef __cplusplus
-#include <cstdlib>
-#else
-#include <stdlib.h>
-#endif// boilerplate code:
-#  define BOOST_HAS_UNISTD_H
-#  include <boost/config/posix_features.hpp>
-// S60 SDK defines _POSIX_VERSION as POSIX.1
-#  ifndef BOOST_HAS_STDINT_H
-#    define BOOST_HAS_STDINT_H
-#  endif
-#  ifndef BOOST_HAS_GETTIMEOFDAY
-#    define BOOST_HAS_GETTIMEOFDAY
-#  endif
-#  ifndef BOOST_HAS_DIRENT_H
-#    define BOOST_HAS_DIRENT_H
-#  endif
-#  ifndef BOOST_HAS_SIGACTION
-#    define BOOST_HAS_SIGACTION
-#  endif
-#  ifndef BOOST_HAS_PTHREADS
-#    define BOOST_HAS_PTHREADS
-#  endif
-#  ifndef BOOST_HAS_NANOSLEEP
-#    define BOOST_HAS_NANOSLEEP
-#  endif
-#  ifndef BOOST_HAS_SCHED_YIELD
-#    define BOOST_HAS_SCHED_YIELD
-#  endif
-#  ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#    define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#  endif
-#  ifndef BOOST_HAS_LOG1P
-#    define BOOST_HAS_LOG1P
-#  endif
-#  ifndef BOOST_HAS_EXPM1
-#    define BOOST_HAS_EXPM1
-#  endif
-#  ifndef BOOST_POSIX_API
-#    define BOOST_POSIX_API
-#  endif
-// endianess support
-#  include <sys/endian.h>
-// Symbian SDK provides _BYTE_ORDER instead of __BYTE_ORDER
-#  ifndef __LITTLE_ENDIAN
-#    ifdef _LITTLE_ENDIAN
-#      define __LITTLE_ENDIAN _LITTLE_ENDIAN
-#    else
-#      define __LITTLE_ENDIAN 1234
-#    endif
-#  endif
-#  ifndef __BIG_ENDIAN
-#    ifdef _BIG_ENDIAN
-#      define __BIG_ENDIAN _BIG_ENDIAN
-#    else
-#      define __BIG_ENDIAN 4321
-#    endif
-#  endif
-#  ifndef __BYTE_ORDER
-#    define __BYTE_ORDER __LITTLE_ENDIAN // Symbian is LE
-#  endif
-// Known limitations
-#  define BOOST_ASIO_DISABLE_SERIAL_PORT
-#  define BOOST_DATE_TIME_NO_LOCALE
-#  define BOOST_NO_STD_WSTRING
-#  define BOOST_EXCEPTION_DISABLE
-#  define BOOST_NO_EXCEPTIONS
-
-#else // TODO: More platform support e.g. UIQ
-#  error "Unsuppoted Symbian SDK"
-#endif
-
-#if defined(__WINSCW__) && !defined(BOOST_DISABLE_WIN32)
-#  define BOOST_DISABLE_WIN32 // winscw defines WIN32 macro
-#endif
-
-
diff --git a/SRC/Boost/boost/config/platform/vms.hpp b/SRC/Boost/boost/config/platform/vms.hpp
deleted file mode 100755
index 3d51029..0000000
--- a/SRC/Boost/boost/config/platform/vms.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  (C) Copyright Artyom Beilis 2010.  
-//  Use, modification and distribution are subject to the  
-//  Boost Software License, Version 1.0. (See accompanying file  
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 
-
-#ifndef BOOST_CONFIG_PLATFORM_VMS_HPP 
-#define BOOST_CONFIG_PLATFORM_VMS_HPP 
-
-#define BOOST_PLATFORM "OpenVMS" 
-
-#undef  BOOST_HAS_STDINT_H 
-#define BOOST_HAS_UNISTD_H 
-#define BOOST_HAS_NL_TYPES_H 
-#define BOOST_HAS_GETTIMEOFDAY 
-#define BOOST_HAS_DIRENT_H 
-#define BOOST_HAS_PTHREADS 
-#define BOOST_HAS_NANOSLEEP 
-#define BOOST_HAS_CLOCK_GETTIME 
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 
-#define BOOST_HAS_LOG1P 
-#define BOOST_HAS_EXPM1 
-#define BOOST_HAS_THREADS 
-#undef  BOOST_HAS_SCHED_YIELD 
-
-#endif 
diff --git a/SRC/Boost/boost/config/platform/vxworks.hpp b/SRC/Boost/boost/config/platform/vxworks.hpp
deleted file mode 100755
index 75b14ca..0000000
--- a/SRC/Boost/boost/config/platform/vxworks.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright Dustin Spicuzza 2009. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  vxWorks specific config options:
-
-#define BOOST_PLATFORM "vxWorks"
-
-#define BOOST_NO_CWCHAR
-#define BOOST_NO_INTRINSIC_WCHAR_T
-
-#if defined(__GNUC__) && defined(__STRICT_ANSI__)
-#define BOOST_NO_INT64_T
-#endif
-
-#define BOOST_HAS_UNISTD_H
-
-// these allow posix_features to work, since vxWorks doesn't
-// define them itself
-#define _POSIX_TIMERS 1
-#define _POSIX_THREADS 1
-
-// vxworks doesn't work with asio serial ports
-#define BOOST_ASIO_DISABLE_SERIAL_PORT
-
-// boilerplate code:
-#include <boost/config/posix_features.hpp>
- 
diff --git a/SRC/Boost/boost/config/platform/win32.hpp b/SRC/Boost/boost/config/platform/win32.hpp
deleted file mode 100755
index 41c6f8d..0000000
--- a/SRC/Boost/boost/config/platform/win32.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Bill Kempf 2001. 
-//  (C) Copyright Aleksey Gurtovoy 2003. 
-//  (C) Copyright Rene Rivera 2005.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Win32 specific config options:
-
-#define BOOST_PLATFORM "Win32"
-
-//  Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION.
-#if defined(__MINGW32__)
-#  include <_mingw.h>
-#endif
-
-#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF)
-#  define BOOST_NO_SWPRINTF
-#endif
-
-//  Default defines for BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT
-//  If a compiler doesn't support __declspec(dllexport)/__declspec(dllimport),
-//  its boost/config/compiler/ file must define BOOST_SYMBOL_EXPORT and
-//  BOOST_SYMBOL_IMPORT
-#ifndef BOOST_SYMBOL_EXPORT
-#  define BOOST_HAS_DECLSPEC
-#  define BOOST_SYMBOL_EXPORT __declspec(dllexport)
-#  define BOOST_SYMBOL_IMPORT __declspec(dllimport)
-#endif
-
-#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0)))
-#  define BOOST_HAS_STDINT_H
-#  define __STDC_LIMIT_MACROS
-#  define BOOST_HAS_DIRENT_H
-#  define BOOST_HAS_UNISTD_H
-#endif
-
-#if defined(__MINGW32__) && (__GNUC__ >= 4)
-#  define BOOST_HAS_EXPM1
-#  define BOOST_HAS_LOG1P
-#  define BOOST_HAS_GETTIMEOFDAY
-#endif
-//
-// Win32 will normally be using native Win32 threads,
-// but there is a pthread library avaliable as an option,
-// we used to disable this when BOOST_DISABLE_WIN32 was 
-// defined but no longer - this should allow some
-// files to be compiled in strict mode - while maintaining
-// a consistent setting of BOOST_HAS_THREADS across
-// all translation units (needed for shared_ptr etc).
-//
-
-#ifdef _WIN32_WCE
-#  define BOOST_NO_ANSI_APIS
-#else
-#  define BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#endif
-
-#ifndef BOOST_HAS_PTHREADS
-#  define BOOST_HAS_WINTHREADS
-#endif
-
-#ifndef BOOST_DISABLE_WIN32
-// WEK: Added
-#define BOOST_HAS_FTIME
-#define BOOST_WINDOWS 1
-
-#endif
diff --git a/SRC/Boost/boost/config/posix_features.hpp b/SRC/Boost/boost/config/posix_features.hpp
deleted file mode 100755
index bc3921c..0000000
--- a/SRC/Boost/boost/config/posix_features.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-//  See http://www.boost.org for most recent version.
-
-// All POSIX feature tests go in this file,
-// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well
-// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's
-// may be present but none-functional unless _POSIX_C_SOURCE and
-// _XOPEN_SOURCE have been defined to the right value (it's up
-// to the user to do this *before* including any header, although
-// in most cases the compiler will do this for you).
-
-#  if defined(BOOST_HAS_UNISTD_H)
-#     include <unistd.h>
-
-      // XOpen has <nl_types.h>, but is this the correct version check?
-#     if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3)
-#        define BOOST_HAS_NL_TYPES_H
-#     endif
-
-      // POSIX version 6 requires <stdint.h>
-#     if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100)
-#        define BOOST_HAS_STDINT_H
-#     endif
-
-      // POSIX version 2 requires <dirent.h>
-#     if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L)
-#        define BOOST_HAS_DIRENT_H
-#     endif
-
-      // POSIX version 3 requires <signal.h> to have sigaction:
-#     if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L)
-#        define BOOST_HAS_SIGACTION
-#     endif
-      // POSIX defines _POSIX_THREADS > 0 for pthread support,
-      // however some platforms define _POSIX_THREADS without
-      // a value, hence the (_POSIX_THREADS+0 >= 0) check.
-      // Strictly speaking this may catch platforms with a
-      // non-functioning stub <pthreads.h>, but such occurrences should
-      // occur very rarely if at all.
-#     if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS)
-#        define BOOST_HAS_PTHREADS
-#     endif
-
-      // BOOST_HAS_NANOSLEEP:
-      // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME:
-#     if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \
-             || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))
-#        define BOOST_HAS_NANOSLEEP
-#     endif
-
-      // BOOST_HAS_CLOCK_GETTIME:
-      // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME
-      // but at least one platform - linux - defines that flag without
-      // defining clock_gettime):
-#     if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0))
-#        define BOOST_HAS_CLOCK_GETTIME
-#     endif
-
-      // BOOST_HAS_SCHED_YIELD:
-      // This is predicated on _POSIX_PRIORITY_SCHEDULING or
-      // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME.
-#     if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\
-            || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\
-            || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))
-#        define BOOST_HAS_SCHED_YIELD
-#     endif
-
-      // BOOST_HAS_GETTIMEOFDAY:
-      // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE:
-      // These are predicated on _XOPEN_VERSION, and appears to be first released
-      // in issue 4, version 2 (_XOPEN_VERSION > 500).
-      // Likewise for the functions log1p and expm1.
-#     if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500)
-#        define BOOST_HAS_GETTIMEOFDAY
-#        if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500)
-#           define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#        endif
-#        ifndef BOOST_HAS_LOG1P
-#           define BOOST_HAS_LOG1P
-#        endif
-#        ifndef BOOST_HAS_EXPM1
-#           define BOOST_HAS_EXPM1
-#        endif
-#     endif
-
-#  endif
-
-
-
-
diff --git a/SRC/Boost/boost/config/requires_threads.hpp b/SRC/Boost/boost/config/requires_threads.hpp
deleted file mode 100755
index b79723b..0000000
--- a/SRC/Boost/boost/config/requires_threads.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP
-#define BOOST_CONFIG_REQUIRES_THREADS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_DISABLE_THREADS)
-
-//
-// special case to handle versions of gcc which don't currently support threads:
-//
-#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG))
-//
-// this is checked up to gcc 3.3:
-//
-#if defined(__sgi) || defined(__hpux)
-#  error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)"
-#endif
-
-#endif
-
-#  error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS"
-
-#elif !defined(BOOST_HAS_THREADS)
-
-# if defined __COMO__
-//  Comeau C++
-#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)"
-
-#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
-//  Intel
-#ifdef _WIN32
-#  error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd"
-#else
-#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp"
-#endif
-
-# elif defined __GNUC__
-//  GNU C++:
-#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"
-
-#elif defined __sgi
-//  SGI MIPSpro C++
-#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE"
-
-#elif defined __DECCXX
-//  Compaq Tru64 Unix cxx
-#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread"
-
-#elif defined __BORLANDC__
-//  Borland
-#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM"
-
-#elif defined  __MWERKS__
-//  Metrowerks CodeWarrior
-#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd"
-
-#elif defined  __SUNPRO_CC
-//  Sun Workshop Compiler C++
-#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt"
-
-#elif defined __HP_aCC
-//  HP aCC
-#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt"
-
-#elif defined(__IBMCPP__)
-//  IBM Visual Age
-#   error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler"
-
-#elif defined _MSC_VER
-//  Microsoft Visual C++
-//
-//  Must remain the last #elif since some other vendors (Metrowerks, for
-//  example) also #define _MSC_VER
-#  error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd"
-
-#else
-
-#  error "Compiler threading support is not turned on.  Please consult your compiler's documentation for the appropriate options to use"
-
-#endif // compilers
-
-#endif // BOOST_HAS_THREADS
-
-#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP
diff --git a/SRC/Boost/boost/config/select_compiler_config.hpp b/SRC/Boost/boost/config/select_compiler_config.hpp
deleted file mode 100755
index b163cfb..0000000
--- a/SRC/Boost/boost/config/select_compiler_config.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-//  Boost compiler configuration selection header file
-
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Martin Wille 2003.
-//  (C) Copyright Guillaume Melquiond 2003.
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//   http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for most recent version.
-
-// locate which compiler we are using and define
-// BOOST_COMPILER_CONFIG as needed: 
-
-#if defined(__GCCXML__)
-// GCC-XML emulates other compilers, it has to appear first here!
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp"
-
-#elif defined(_CRAYC)
-// EDG based Cray compiler:
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/cray.hpp"
-
-#elif defined __CUDACC__
-//  NVIDIA CUDA C++ compiler for GPU
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/nvcc.hpp"
-
-#elif defined __COMO__
-//  Comeau C++
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
-
-#elif defined(__PATHSCALE__) && (__PATHCC__ >= 4)
-// PathScale EKOPath compiler (has to come before clang and gcc)
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/pathscale.hpp"
-
-#elif defined __clang__
-//  Clang C++ emulates GCC, so it has to appear early.
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"
-
-#elif defined __DMC__
-//  Digital Mars C++
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp"
-
-#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
-//  Intel
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
-
-# elif defined __GNUC__
-//  GNU C++:
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
-
-#elif defined __KCC
-//  Kai C++
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp"
-
-#elif defined __sgi
-//  SGI MIPSpro C++
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp"
-
-#elif defined __DECCXX
-//  Compaq Tru64 Unix cxx
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp"
-
-#elif defined __ghs
-//  Greenhills C++
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp"
-
-#elif defined __CODEGEARC__
-//  CodeGear - must be checked for before Borland
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp"
-
-#elif defined __BORLANDC__
-//  Borland
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp"
-
-#elif defined  __MWERKS__
-//  Metrowerks CodeWarrior
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp"
-
-#elif defined  __SUNPRO_CC
-//  Sun Workshop Compiler C++
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp"
-
-#elif defined __HP_aCC
-//  HP aCC
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp"
-
-#elif defined(__MRC__) || defined(__SC__)
-//  MPW MrCpp or SCpp
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp"
-
-#elif defined(__IBMCPP__)
-//  IBM Visual Age
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp"
-
-#elif defined(__PGI)
-//  Portland Group Inc.
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp"
-
-#elif defined _MSC_VER
-//  Microsoft Visual C++
-//
-//  Must remain the last #elif since some other vendors (Metrowerks, for
-//  example) also #define _MSC_VER
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp"
-
-#elif defined (BOOST_ASSERT_CONFIG)
-// this must come last - generate an error if we don't
-// recognise the compiler:
-#  error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)"
-
-#endif
diff --git a/SRC/Boost/boost/config/select_platform_config.hpp b/SRC/Boost/boost/config/select_platform_config.hpp
deleted file mode 100755
index d450c92..0000000
--- a/SRC/Boost/boost/config/select_platform_config.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-//  Boost compiler configuration selection header file
-
-//  (C) Copyright John Maddock 2001 - 2002. 
-//  (C) Copyright Jens Maurer 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed.
-// Note that we define the headers to include using "header_name" not
-// <header_name> in order to prevent macro expansion within the header
-// name (for example "linux" is a macro on linux systems).
-
-#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
-// linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though?
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp"
-
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
-// BSD:
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp"
-
-#elif defined(sun) || defined(__sun)
-// solaris:
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp"
-
-#elif defined(__sgi)
-// SGI Irix:
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp"
-
-#elif defined(__hpux)
-// hp unix:
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp"
-
-#elif defined(__CYGWIN__)
-// cygwin is not win32:
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp"
-
-#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
-// win32:
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"
-
-#elif defined(__BEOS__)
-// BeOS
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"
-
-#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
-// MacOS
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp"
-
-#elif defined(__IBMCPP__) || defined(_AIX)
-// IBM
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp"
-
-#elif defined(__amigaos__)
-// AmigaOS
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp"
-
-#elif defined(__QNXNTO__)
-// QNX:
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp"
-
-#elif defined(__VXWORKS__)
-// vxWorks:
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp"
-
-#elif defined(__SYMBIAN32__) 
-// Symbian: 
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp" 
-
-#elif defined(_CRAYC)
-// Cray:
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp" 
-
-#elif defined(__VMS) 
-// VMS:
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp" 
-#else
-
-#  if defined(unix) \
-      || defined(__unix) \
-      || defined(_XOPEN_SOURCE) \
-      || defined(_POSIX_SOURCE)
-
-   // generic unix platform:
-
-#  ifndef BOOST_HAS_UNISTD_H
-#     define BOOST_HAS_UNISTD_H
-#  endif
-
-#  include <boost/config/posix_features.hpp>
-
-#  endif
-
-#  if defined (BOOST_ASSERT_CONFIG)
-      // this must come last - generate an error if we don't
-      // recognise the platform:
-#     error "Unknown platform - please configure and report the results to boost.org"
-#  endif
-
-#endif
-
-
-
diff --git a/SRC/Boost/boost/config/select_stdlib_config.hpp b/SRC/Boost/boost/config/select_stdlib_config.hpp
deleted file mode 100755
index af7966e..0000000
--- a/SRC/Boost/boost/config/select_stdlib_config.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//  Boost compiler configuration selection header file
-
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Jens Maurer 2001 - 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-//  See http://www.boost.org for most recent version.
-
-// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed:
-
-// First include <cstddef> to determine if some version of STLport is in use as the std lib
-// (do not rely on this header being included since users can short-circuit this header 
-//  if they know whose std lib they are using.)
-#ifdef __cplusplus
-#  include <cstddef>
-#else
-#  include <stddef.h>
-#endif
-
-#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-// STLPort library; this _must_ come first, otherwise since
-// STLport typically sits on top of some other library, we
-// can end up detecting that first rather than STLport:
-#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp"
-
-#else
-
-// If our std lib was not some version of STLport, then include <utility> as it is about 
-// the smallest of the std lib headers that includes real C++ stuff.  (Some std libs do not
-// include their C++-related macros in <cstddef> so this additional include makes sure
-// we get those definitions)
-// (again do not rely on this header being included since users can short-circuit this 
-//  header if they know whose std lib they are using.)
-#include <boost/config/no_tr1/utility.hpp>
-
-#if defined(__LIBCOMO__)
-// Comeau STL:
-#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp"
-
-#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
-// Rogue Wave library:
-#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp"
-
-#elif defined(_LIBCPP_VERSION)
-// libc++
-#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcpp.hpp"
-
-#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
-// GNU libstdc++ 3
-#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp"
-
-#elif defined(__STL_CONFIG_H)
-// generic SGI STL
-#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp"
-
-#elif defined(__MSL_CPP__)
-// MSL standard lib:
-#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp"
-
-#elif defined(__IBMCPP__)
-// take the default VACPP std lib
-#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp"
-
-#elif defined(MSIPL_COMPILE_H)
-// Modena C++ standard library
-#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp"
-
-#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
-// Dinkumware Library (this has to appear after any possible replacement libraries):
-#  define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp"
-
-#elif defined (BOOST_ASSERT_CONFIG)
-// this must come last - generate an error if we don't
-// recognise the library:
-#  error "Unknown standard library - please configure and report the results to boost.org"
-
-#endif
-
-#endif
-
-
-
diff --git a/SRC/Boost/boost/config/stdlib/dinkumware.hpp b/SRC/Boost/boost/config/stdlib/dinkumware.hpp
deleted file mode 100755
index ec400ef..0000000
--- a/SRC/Boost/boost/config/stdlib/dinkumware.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003.
-//  (C) Copyright Jens Maurer 2001.
-//  (C) Copyright Peter Dimov 2001.
-//  (C) Copyright David Abrahams 2002.
-//  (C) Copyright Guillaume Melquiond 2003.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Dinkumware standard library config:
-
-#if !defined(_YVALS) && !defined(_CPPLIB_VER)
-#include <boost/config/no_tr1/utility.hpp>
-#if !defined(_YVALS) && !defined(_CPPLIB_VER)
-#error This is not the Dinkumware lib!
-#endif
-#endif
-
-
-#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)
-   // full dinkumware 3.06 and above
-   // fully conforming provided the compiler supports it:
-#  if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700))   // can be defined in yvals.h
-#     define BOOST_NO_STDC_NAMESPACE
-#  endif
-#  if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC)
-#     define BOOST_NO_STD_ALLOCATOR
-#  endif
-#  define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#  if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-      // if this lib version is set up for vc6 then there is no std::use_facet:
-#     define BOOST_NO_STD_USE_FACET
-#     define BOOST_HAS_TWO_ARG_USE_FACET
-      // C lib functions aren't in namespace std either:
-#     define BOOST_NO_STDC_NAMESPACE
-      // and nor is <exception>
-#     define BOOST_NO_EXCEPTION_STD_NAMESPACE
-#  endif
-// There's no numeric_limits<long long> support unless _LONGLONG is defined:
-#  if !defined(_LONGLONG) && (_CPPLIB_VER <= 310)
-#     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#  endif
-// 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,
-// and no <slist> at all
-#else
-#  define BOOST_MSVC_STD_ITERATOR 1
-#  define BOOST_NO_STD_ITERATOR
-#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#  define BOOST_NO_STD_ALLOCATOR
-#  define BOOST_NO_STDC_NAMESPACE
-#  define BOOST_NO_STD_USE_FACET
-#  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-#  define BOOST_HAS_MACRO_USE_FACET
-#  ifndef _CPPLIB_VER
-      // Updated Dinkum library defines this, and provides
-      // its own min and max definitions, as does MTA version.
-#     ifndef __MTA__ 
-#        define BOOST_NO_STD_MIN_MAX
-#     endif
-#     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#  endif
-#endif
-
-//
-// std extension namespace is stdext for vc7.1 and later, 
-// the same applies to other compilers that sit on top
-// of vc7.1 (Intel and Comeau):
-//
-#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__)
-#  define BOOST_STD_EXTENSION_NAMESPACE stdext
-#endif
-
-
-#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)
-   // if we're using a dinkum lib that's
-   // been configured for VC6/7 then there is
-   // no iterator traits (true even for icl)
-#  define BOOST_NO_STD_ITERATOR_TRAITS
-#endif
-
-#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)
-// Intel C++ chokes over any non-trivial use of <locale>
-// this may be an overly restrictive define, but regex fails without it:
-#  define BOOST_NO_STD_LOCALE
-#endif
-
-#include <typeinfo>
-#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) 
-#  define BOOST_NO_STD_TYPEINFO    
-#endif  
-
-//  C++0x headers implemented in 520 (as shipped by Microsoft)
-//
-#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520
-#  define BOOST_NO_0X_HDR_ARRAY
-#  define BOOST_NO_0X_HDR_CODECVT
-#  define BOOST_NO_0X_HDR_FORWARD_LIST
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
-#  define BOOST_NO_0X_HDR_RANDOM
-#  define BOOST_NO_0X_HDR_REGEX
-#  define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#  define BOOST_NO_STD_UNORDERED        // deprecated; see following
-#  define BOOST_NO_0X_HDR_UNORDERED_MAP
-#  define BOOST_NO_0X_HDR_UNORDERED_SET
-#  define BOOST_NO_0X_HDR_TUPLE
-#  define BOOST_NO_0X_HDR_TYPEINDEX
-#  define BOOST_NO_NUMERIC_LIMITS_LOWEST
-#endif
-
-#if !defined(_HAS_TR1_IMPORTS) && !defined(BOOST_NO_0X_HDR_TUPLE)
-#  define BOOST_NO_0X_HDR_TUPLE
-#endif
-//
-//  C++0x headers not yet (fully) implemented:
-//
-#  define BOOST_NO_0X_HDR_TYPE_TRAITS
-#  define BOOST_NO_0X_HDR_CHRONO
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_0X_HDR_FUTURE
-#  define BOOST_NO_0X_HDR_MUTEX
-#  define BOOST_NO_0X_HDR_RATIO
-#  define BOOST_NO_0X_HDR_THREAD
-
-#ifdef _CPPLIB_VER
-#  define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
-#else
-#  define BOOST_DINKUMWARE_STDLIB 1
-#endif
-
-#ifdef _CPPLIB_VER
-#  define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
-#else
-#  define BOOST_STDLIB "Dinkumware standard library version 1.x"
-#endif
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/config/stdlib/libcomo.hpp b/SRC/Boost/boost/config/stdlib/libcomo.hpp
deleted file mode 100755
index 64cf5bc..0000000
--- a/SRC/Boost/boost/config/stdlib/libcomo.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-//  (C) Copyright John Maddock 2002 - 2003. 
-//  (C) Copyright Jens Maurer 2002 - 2003. 
-//  (C) Copyright Beman Dawes 2002 - 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Comeau STL:
-
-#if !defined(__LIBCOMO__)
-#  include <boost/config/no_tr1/utility.hpp>
-#  if !defined(__LIBCOMO__)
-#      error "This is not the Comeau STL!"
-#  endif
-#endif
-
-//
-// std::streambuf<wchar_t> is non-standard
-// NOTE: versions of libcomo prior to beta28 have octal version numbering,
-// e.g. version 25 is 21 (dec)
-#if __LIBCOMO_VERSION__ <= 22
-#  define BOOST_NO_STD_WSTREAMBUF
-#endif
-
-#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32)
-#define BOOST_NO_SWPRINTF
-#endif
-
-#if __LIBCOMO_VERSION__ >= 31
-#  define BOOST_HAS_HASH
-#  define BOOST_HAS_SLIST
-#endif
-
-//  C++0x headers not yet implemented
-//
-#  define BOOST_NO_0X_HDR_ARRAY
-#  define BOOST_NO_0X_HDR_CHRONO
-#  define BOOST_NO_0X_HDR_CODECVT
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_0X_HDR_FORWARD_LIST
-#  define BOOST_NO_0X_HDR_FUTURE
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
-#  define BOOST_NO_0X_HDR_MUTEX
-#  define BOOST_NO_0X_HDR_RANDOM
-#  define BOOST_NO_0X_HDR_RATIO
-#  define BOOST_NO_0X_HDR_REGEX
-#  define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#  define BOOST_NO_0X_HDR_THREAD
-#  define BOOST_NO_0X_HDR_TUPLE
-#  define BOOST_NO_0X_HDR_TYPE_TRAITS
-#  define BOOST_NO_0X_HDR_TYPEINDEX
-#  define BOOST_NO_STD_UNORDERED        // deprecated; see following
-#  define BOOST_NO_0X_HDR_UNORDERED_MAP
-#  define BOOST_NO_0X_HDR_UNORDERED_SET
-#  define BOOST_NO_NUMERIC_LIMITS_LOWEST
-
-//
-// Intrinsic type_traits support.
-// The SGI STL has it's own __type_traits class, which
-// has intrinsic compiler support with SGI's compilers.
-// Whatever map SGI style type traits to boost equivalents:
-//
-#define BOOST_HAS_SGI_TYPE_TRAITS
-
-#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)
-
-
diff --git a/SRC/Boost/boost/config/stdlib/libcpp.hpp b/SRC/Boost/boost/config/stdlib/libcpp.hpp
deleted file mode 100755
index a12510c..0000000
--- a/SRC/Boost/boost/config/stdlib/libcpp.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//  (C) Copyright Christopher Jefferson 2011.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  config for libc++
-//  Might need more in here later.
-
-#if !defined(_LIBCPP_VERSION)
-#  include <ciso646>
-#  if !defined(_LIBCPP_VERSION)
-#      error "This is not libc++!"
-#  endif
-#endif
-
-#define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION)
-
-#define BOOST_HAS_THREADS
-
-#ifdef _LIBCPP_HAS_NO_VARIADICS
-#    define BOOST_NO_0X_HDR_TUPLE
-#endif
-
-//
-// These appear to be unusable/incomplete so far:
-//
-#  define BOOST_NO_0X_HDR_CHRONO
-#  define BOOST_NO_0X_HDR_FUTURE
-#  define BOOST_NO_0X_HDR_TYPE_TRAITS
-
-// libc++ uses a non-standard messages_base
-#define BOOST_NO_STD_MESSAGES
-
-//  --- end ---
diff --git a/SRC/Boost/boost/config/stdlib/libstdcpp3.hpp b/SRC/Boost/boost/config/stdlib/libstdcpp3.hpp
deleted file mode 100755
index d97e690..0000000
--- a/SRC/Boost/boost/config/stdlib/libstdcpp3.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-//  (C) Copyright John Maddock 2001.
-//  (C) Copyright Jens Maurer 2001.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  config for libstdc++ v3
-//  not much to go in here:
-
-#define BOOST_GNU_STDLIB 1
-
-#ifdef __GLIBCXX__
-#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__)
-#else
-#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__)
-#endif
-
-#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T)
-#  define BOOST_NO_CWCHAR
-#  define BOOST_NO_CWCTYPE
-#  define BOOST_NO_STD_WSTRING
-#  define BOOST_NO_STD_WSTREAMBUF
-#endif
-
-#if defined(__osf__) && !defined(_REENTRANT) \
-  && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) )
-// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header
-// file is included, therefore for consistency we define it here as well.
-#  define _REENTRANT
-#endif
-
-#ifdef __GLIBCXX__ // gcc 3.4 and greater:
-#  if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
-        || defined(_GLIBCXX__PTHREADS)
-      //
-      // If the std lib has thread support turned on, then turn it on in Boost
-      // as well.  We do this because some gcc-3.4 std lib headers define _REENTANT
-      // while others do not...
-      //
-#     define BOOST_HAS_THREADS
-#  else
-#     define BOOST_DISABLE_THREADS
-#  endif
-#elif defined(__GLIBCPP__) \
-        && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \
-        && !defined(_GLIBCPP__PTHREADS)
-   // disable thread support if the std lib was built single threaded:
-#  define BOOST_DISABLE_THREADS
-#endif
-
-#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT)
-// linux on arm apparently doesn't define _REENTRANT
-// so just turn on threading support whenever the std lib is thread safe:
-#  define BOOST_HAS_THREADS
-#endif
-
-#if !defined(_GLIBCPP_USE_LONG_LONG) \
-    && !defined(_GLIBCXX_USE_LONG_LONG)\
-    && defined(BOOST_HAS_LONG_LONG)
-// May have been set by compiler/*.hpp, but "long long" without library
-// support is useless.
-#  undef BOOST_HAS_LONG_LONG
-#endif
-
-// Apple doesn't seem to reliably defined a *unix* macro
-#if !defined(CYGWIN) && (  defined(__unix__)  \
-                        || defined(__unix)    \
-                        || defined(unix)      \
-                        || defined(__APPLE__) \
-                        || defined(__APPLE)   \
-                        || defined(APPLE))
-#  include <unistd.h>
-#endif
-
-#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
-#  define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
-#  define BOOST_HAS_SLIST
-#  define BOOST_HAS_HASH
-#  define BOOST_SLIST_HEADER <ext/slist>
-# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
-#   define BOOST_HASH_SET_HEADER <ext/hash_set>
-#   define BOOST_HASH_MAP_HEADER <ext/hash_map>
-# else
-#   define BOOST_HASH_SET_HEADER <backward/hash_set>
-#   define BOOST_HASH_MAP_HEADER <backward/hash_map>
-# endif
-#endif
-
-//  stdlibc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly
-//  __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the stdlibc++
-//  developers. He also commented:
-//
-//       "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in
-//       GCC 4.2.4 it is set to 20080519 but in GCC 4.3.0 it is set to 20080305.
-//       Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support
-//       than any release in the 4.2 series."
-//
-//  Another resource for understanding stdlibc++ features is:
-//  http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x
-
-//  C++0x headers in GCC 4.3.0 and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_0X_HDR_ARRAY
-#  define BOOST_NO_0X_HDR_REGEX
-#  define BOOST_NO_0X_HDR_TUPLE
-#  define BOOST_NO_STD_UNORDERED  // deprecated; see following
-#  define BOOST_NO_0X_HDR_UNORDERED_MAP
-#  define BOOST_NO_0X_HDR_UNORDERED_SET
-#endif
-
-//  C++0x headers in GCC 4.4.0 and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_0X_HDR_CHRONO
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_0X_HDR_FORWARD_LIST
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
-#  define BOOST_NO_0X_HDR_MUTEX
-#  define BOOST_NO_0X_HDR_RATIO
-#  define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#else
-#  define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG 
-#  define BOOST_HAS_TR1_COMPLEX_OVERLOADS 
-#endif
-
-#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) && (!defined(BOOST_NO_0X_HDR_CONDITION_VARIABLE) || !defined(BOOST_NO_0X_HDR_MUTEX))
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_0X_HDR_MUTEX
-#endif
-
-//  C++0x features in GCC 4.5.0 and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_NUMERIC_LIMITS_LOWEST
-#  define BOOST_NO_0X_HDR_FUTURE
-#  define BOOST_NO_0X_HDR_RANDOM
-#endif
-
-//  C++0x features in GCC 4.5.0 and later
-//
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_0X_HDR_TYPEINDEX
-#endif
-//  C++0x headers not yet (fully!) implemented
-//
-#  define BOOST_NO_0X_HDR_THREAD
-#  define BOOST_NO_0X_HDR_TYPE_TRAITS
-#  define BOOST_NO_0X_HDR_CODECVT
-
-//  --- end ---
diff --git a/SRC/Boost/boost/config/stdlib/modena.hpp b/SRC/Boost/boost/config/stdlib/modena.hpp
deleted file mode 100755
index cd9e1d2..0000000
--- a/SRC/Boost/boost/config/stdlib/modena.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//  (C) Copyright Jens Maurer 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Modena C++ standard library (comes with KAI C++)
-
-#if !defined(MSIPL_COMPILE_H)
-#  include <boost/config/no_tr1/utility.hpp>
-#  if !defined(__MSIPL_COMPILE_H)
-#      error "This is not the Modena C++ library!"
-#  endif
-#endif
-
-#ifndef MSIPL_NL_TYPES
-#define BOOST_NO_STD_MESSAGES
-#endif
-
-#ifndef MSIPL_WCHART
-#define BOOST_NO_STD_WSTRING
-#endif
-
-//  C++0x headers not yet implemented
-//
-#  define BOOST_NO_0X_HDR_ARRAY
-#  define BOOST_NO_0X_HDR_CHRONO
-#  define BOOST_NO_0X_HDR_CODECVT
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_0X_HDR_FORWARD_LIST
-#  define BOOST_NO_0X_HDR_FUTURE
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
-#  define BOOST_NO_0X_HDR_MUTEX
-#  define BOOST_NO_0X_HDR_RANDOM
-#  define BOOST_NO_0X_HDR_RATIO
-#  define BOOST_NO_0X_HDR_REGEX
-#  define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#  define BOOST_NO_0X_HDR_THREAD
-#  define BOOST_NO_0X_HDR_TUPLE
-#  define BOOST_NO_0X_HDR_TYPE_TRAITS
-#  define BOOST_NO_0X_HDR_TYPEINDEX
-#  define BOOST_NO_STD_UNORDERED        // deprecated; see following
-#  define BOOST_NO_0X_HDR_UNORDERED_MAP
-#  define BOOST_NO_0X_HDR_UNORDERED_SET
-#  define BOOST_NO_NUMERIC_LIMITS_LOWEST
-
-#define BOOST_STDLIB "Modena C++ standard library"
-
-
-
-
-
diff --git a/SRC/Boost/boost/config/stdlib/msl.hpp b/SRC/Boost/boost/config/stdlib/msl.hpp
deleted file mode 100755
index 87606ae..0000000
--- a/SRC/Boost/boost/config/stdlib/msl.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  (C) Copyright Darin Adler 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Metrowerks standard library:
-
-#ifndef __MSL_CPP__
-#  include <boost/config/no_tr1/utility.hpp>
-#  ifndef __MSL_CPP__
-#     error This is not the MSL standard library!
-#  endif
-#endif
-
-#if __MSL_CPP__ >= 0x6000  // Pro 6
-#  define BOOST_HAS_HASH
-#  define BOOST_STD_EXTENSION_NAMESPACE Metrowerks
-#endif
-#define BOOST_HAS_SLIST
-
-#if __MSL_CPP__ < 0x6209
-#  define BOOST_NO_STD_MESSAGES
-#endif
-
-// check C lib version for <stdint.h>
-#include <cstddef>
-
-#if defined(__MSL__) && (__MSL__ >= 0x5000)
-#  define BOOST_HAS_STDINT_H
-#  if !defined(__PALMOS_TRAPS__)
-#    define BOOST_HAS_UNISTD_H
-#  endif
-   // boilerplate code:
-#  include <boost/config/posix_features.hpp>
-#endif
-
-#if defined(_MWMT) || _MSL_THREADSAFE
-#  define BOOST_HAS_THREADS
-#endif
-
-#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG
-#  define BOOST_NO_STD_USE_FACET
-#  define BOOST_HAS_TWO_ARG_USE_FACET
-#endif
-
-//  C++0x headers not yet implemented
-//
-#  define BOOST_NO_0X_HDR_ARRAY
-#  define BOOST_NO_0X_HDR_CHRONO
-#  define BOOST_NO_0X_HDR_CODECVT
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_0X_HDR_FORWARD_LIST
-#  define BOOST_NO_0X_HDR_FUTURE
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
-#  define BOOST_NO_0X_HDR_MUTEX
-#  define BOOST_NO_0X_HDR_RANDOM
-#  define BOOST_NO_0X_HDR_RATIO
-#  define BOOST_NO_0X_HDR_REGEX
-#  define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#  define BOOST_NO_0X_HDR_THREAD
-#  define BOOST_NO_0X_HDR_TUPLE
-#  define BOOST_NO_0X_HDR_TYPE_TRAITS
-#  define BOOST_NO_0X_HDR_TYPEINDEX
-#  define BOOST_NO_STD_UNORDERED        // deprecated; see following
-#  define BOOST_NO_0X_HDR_UNORDERED_MAP
-#  define BOOST_NO_0X_HDR_UNORDERED_SET
-#  define BOOST_NO_NUMERIC_LIMITS_LOWEST
-
-#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/config/stdlib/roguewave.hpp b/SRC/Boost/boost/config/stdlib/roguewave.hpp
deleted file mode 100755
index 0bc4c1c..0000000
--- a/SRC/Boost/boost/config/stdlib/roguewave.hpp
+++ /dev/null
@@ -1,183 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Jens Maurer 2001. 
-//  (C) Copyright David Abrahams 2003. 
-//  (C) Copyright Boris Gubenko 2007. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  Rogue Wave std lib:
-
-#define BOOST_RW_STDLIB 1 
-
-#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
-#  include <boost/config/no_tr1/utility.hpp>
-#  if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
-#     error This is not the Rogue Wave standard library
-#  endif
-#endif
-//
-// figure out a consistent version number:
-//
-#ifndef _RWSTD_VER
-#  define BOOST_RWSTD_VER 0x010000
-#elif _RWSTD_VER < 0x010000
-#  define BOOST_RWSTD_VER (_RWSTD_VER << 8)
-#else
-#  define BOOST_RWSTD_VER _RWSTD_VER
-#endif
-
-#ifndef _RWSTD_VER
-#  define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)"
-#elif _RWSTD_VER < 0x04010200
- #  define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER)
-#else
-#  ifdef _RWSTD_VER_STR
-#    define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR
-#  else
-#    define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER)
-#  endif
-#endif
-
-//
-// Prior to version 2.2.0 the primary template for std::numeric_limits
-// does not have compile time constants, even though specializations of that
-// template do:
-//
-#if BOOST_RWSTD_VER < 0x020200
-#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#endif
-
-// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the
-// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817):
-#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550))
-#  define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-# endif
-
-//
-// Borland version of numeric_limits lacks __int64 specialisation:
-//
-#ifdef __BORLANDC__
-#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#endif
-
-//
-// No std::iterator if it can't figure out default template args:
-//
-#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000)
-#  define BOOST_NO_STD_ITERATOR
-#endif
-
-//
-// No iterator traits without partial specialization:
-//
-#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC)
-#  define BOOST_NO_STD_ITERATOR_TRAITS
-#endif
-
-//
-// Prior to version 2.0, std::auto_ptr was buggy, and there were no
-// new-style iostreams, and no conformant std::allocator:
-//
-#if (BOOST_RWSTD_VER < 0x020000)
-#  define BOOST_NO_AUTO_PTR
-#  define BOOST_NO_STRINGSTREAM
-#  define BOOST_NO_STD_ALLOCATOR
-#  define BOOST_NO_STD_LOCALE
-#endif
-
-//
-// No template iterator constructors without member template support:
-//
-#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES)
-#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#endif
-
-//
-// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use
-// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR
-// on HP aCC systems even though the allocator is in fact broken):
-//
-#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100)
-#  define BOOST_NO_STD_ALLOCATOR
-#endif
-
-//
-// If we have a std::locale, we still may not have std::use_facet:
-//
-#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE)
-#  define BOOST_NO_STD_USE_FACET
-#  define BOOST_HAS_TWO_ARG_USE_FACET
-#endif
-
-//
-// There's no std::distance prior to version 2, or without
-// partial specialization support:
-//
-#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
-    #define BOOST_NO_STD_DISTANCE
-#endif
-
-//
-// Some versions of the rogue wave library don't have assignable
-// OutputIterators:
-//
-#if BOOST_RWSTD_VER < 0x020100
-#  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-#endif
-
-//
-// Disable BOOST_HAS_LONG_LONG when the library has no support for it.
-//
-#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG)
-#  undef BOOST_HAS_LONG_LONG
-#endif
-
-//
-// check that on HP-UX, the proper RW library is used
-//
-#if defined(__HP_aCC) && !defined(_HP_NAMESPACE_STD)
-#  error "Boost requires Standard RW library. Please compile and link with -AA"
-#endif
-
-//
-// Define macros specific to RW V2.2 on HP-UX
-//
-#if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100)
-#  ifndef __HP_TC1_MAKE_PAIR
-#    define __HP_TC1_MAKE_PAIR
-#  endif
-#  ifndef _HP_INSTANTIATE_STD2_VL
-#    define _HP_INSTANTIATE_STD2_VL
-#  endif
-#endif
-
-#if _RWSTD_VER < 0x05000000
-#  define BOOST_NO_0X_HDR_ARRAY
-#endif
-// type_traits header is incomplete:
-#  define BOOST_NO_0X_HDR_TYPE_TRAITS
-//
-//  C++0x headers not yet implemented
-//
-#  define BOOST_NO_0X_HDR_CHRONO
-#  define BOOST_NO_0X_HDR_CODECVT
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_0X_HDR_FORWARD_LIST
-#  define BOOST_NO_0X_HDR_FUTURE
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
-#  define BOOST_NO_0X_HDR_MUTEX
-#  define BOOST_NO_0X_HDR_RANDOM
-#  define BOOST_NO_0X_HDR_RATIO
-#  define BOOST_NO_0X_HDR_REGEX
-#  define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#  define BOOST_NO_0X_HDR_THREAD
-#  define BOOST_NO_0X_HDR_TUPLE
-#  define BOOST_NO_0X_HDR_TYPEINDEX
-#  define BOOST_NO_STD_UNORDERED        // deprecated; see following
-#  define BOOST_NO_0X_HDR_UNORDERED_MAP
-#  define BOOST_NO_0X_HDR_UNORDERED_SET
-#  define BOOST_NO_NUMERIC_LIMITS_LOWEST
-
diff --git a/SRC/Boost/boost/config/stdlib/sgi.hpp b/SRC/Boost/boost/config/stdlib/sgi.hpp
deleted file mode 100755
index f730f15..0000000
--- a/SRC/Boost/boost/config/stdlib/sgi.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Darin Adler 2001. 
-//  (C) Copyright Jens Maurer 2001 - 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  generic SGI STL:
-
-#if !defined(__STL_CONFIG_H)
-#  include <boost/config/no_tr1/utility.hpp>
-#  if !defined(__STL_CONFIG_H)
-#      error "This is not the SGI STL!"
-#  endif
-#endif
-
-//
-// No std::iterator traits without partial specialisation:
-//
-#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION)
-#  define BOOST_NO_STD_ITERATOR_TRAITS
-#endif
-
-//
-// No std::stringstream with gcc < 3
-//
-#if defined(__GNUC__) && (__GNUC__ < 3) && \
-     ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \
-     !defined(__STL_USE_NEW_IOSTREAMS) || \
-   defined(__APPLE_CC__)
-   // Note that we only set this for GNU C++ prior to 2.95 since the
-   // latest patches for that release do contain a minimal <sstream>
-   // If you are running a 2.95 release prior to 2.95.3 then this will need
-   // setting, but there is no way to detect that automatically (other
-   // than by running the configure script).
-   // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't
-   // have <sstream>.
-#  define BOOST_NO_STRINGSTREAM
-#endif
-
-// Apple doesn't seem to reliably defined a *unix* macro
-#if !defined(CYGWIN) && (  defined(__unix__)  \
-                        || defined(__unix)    \
-                        || defined(unix)      \
-                        || defined(__APPLE__) \
-                        || defined(__APPLE)   \
-                        || defined(APPLE))
-#  include <unistd.h>
-#endif
-
-
-//
-// Assume no std::locale without own iostreams (this may be an
-// incorrect assumption in some cases):
-//
-#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS)
-#  define BOOST_NO_STD_LOCALE
-#endif
-
-//
-// Original native SGI streams have non-standard std::messages facet:
-//
-#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS)
-#  define BOOST_NO_STD_LOCALE
-#endif
-
-//
-// SGI's new iostreams have missing "const" in messages<>::open
-//
-#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS)
-#  define BOOST_NO_STD_MESSAGES
-#endif
-
-//
-// No template iterator constructors, or std::allocator
-// without member templates:
-//
-#if !defined(__STL_MEMBER_TEMPLATES)
-#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#  define BOOST_NO_STD_ALLOCATOR
-#endif
-
-//
-// We always have SGI style hash_set, hash_map, and slist:
-//
-#define BOOST_HAS_HASH
-#define BOOST_HAS_SLIST
-
-//
-// If this is GNU libstdc++2, then no <limits> and no std::wstring:
-//
-#if (defined(__GNUC__) && (__GNUC__ < 3))
-#  include <string>
-#  if defined(__BASTRING__)
-#     define BOOST_NO_LIMITS
-// Note: <boost/limits.hpp> will provide compile-time constants
-#     undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#     define BOOST_NO_STD_WSTRING
-#  endif
-#endif
-
-//
-// There is no standard iterator unless we have namespace support:
-//
-#if !defined(__STL_USE_NAMESPACES)
-#  define BOOST_NO_STD_ITERATOR
-#endif
-
-//
-// Intrinsic type_traits support.
-// The SGI STL has it's own __type_traits class, which
-// has intrinsic compiler support with SGI's compilers.
-// Whatever map SGI style type traits to boost equivalents:
-//
-#define BOOST_HAS_SGI_TYPE_TRAITS
-
-//  C++0x headers not yet implemented
-//
-#  define BOOST_NO_0X_HDR_ARRAY
-#  define BOOST_NO_0X_HDR_CHRONO
-#  define BOOST_NO_0X_HDR_CODECVT
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_0X_HDR_FORWARD_LIST
-#  define BOOST_NO_0X_HDR_FUTURE
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
-#  define BOOST_NO_0X_HDR_MUTEX
-#  define BOOST_NO_0X_HDR_RANDOM
-#  define BOOST_NO_0X_HDR_RATIO
-#  define BOOST_NO_0X_HDR_REGEX
-#  define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#  define BOOST_NO_0X_HDR_THREAD
-#  define BOOST_NO_0X_HDR_TUPLE
-#  define BOOST_NO_0X_HDR_TYPE_TRAITS
-#  define BOOST_NO_0X_HDR_TYPEINDEX
-#  define BOOST_NO_STD_UNORDERED        // deprecated; see following
-#  define BOOST_NO_0X_HDR_UNORDERED_MAP
-#  define BOOST_NO_0X_HDR_UNORDERED_SET
-#  define BOOST_NO_NUMERIC_LIMITS_LOWEST
-
-#define BOOST_STDLIB "SGI standard library"
-
-
-
diff --git a/SRC/Boost/boost/config/stdlib/stlport.hpp b/SRC/Boost/boost/config/stdlib/stlport.hpp
deleted file mode 100755
index b79871d..0000000
--- a/SRC/Boost/boost/config/stdlib/stlport.hpp
+++ /dev/null
@@ -1,244 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2002. 
-//  (C) Copyright Darin Adler 2001. 
-//  (C) Copyright Jens Maurer 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-//  STLPort standard library config:
-
-#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-#  include <cstddef>
-#  if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-#      error "This is not STLPort!"
-#  endif
-#endif
-
-// Apple doesn't seem to reliably defined a *unix* macro
-#if !defined(CYGWIN) && (  defined(__unix__)  \
-                        || defined(__unix)    \
-                        || defined(unix)      \
-                        || defined(__APPLE__) \
-                        || defined(__APPLE)   \
-                        || defined(APPLE))
-#  include <unistd.h>
-#endif
-
-//
-// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-// for versions prior to 4.1(beta)
-//
-#if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400)
-#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#endif
-
-//
-// If STLport thinks that there is no partial specialisation, then there is no
-// std::iterator traits:
-//
-#if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION))
-#  define BOOST_NO_STD_ITERATOR_TRAITS
-#endif
-
-//
-// No new style iostreams on GCC without STLport's iostreams enabled:
-//
-#if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS))
-#  define BOOST_NO_STRINGSTREAM
-#endif
-
-//
-// No new iostreams implies no std::locale, and no std::stringstream:
-//
-#if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS)
-#  define BOOST_NO_STD_LOCALE
-#  define BOOST_NO_STRINGSTREAM
-#endif
-
-//
-// If the streams are not native, and we have a "using ::x" compiler bug
-// then the io stream facets are not available in namespace std::
-//
-#ifdef _STLPORT_VERSION
-#  if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
-#     define BOOST_NO_STD_LOCALE
-#  endif
-#else
-#  if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
-#     define BOOST_NO_STD_LOCALE
-#  endif
-#endif
-
-#if defined(_STLPORT_VERSION) && ((_STLPORT_VERSION < 0x500) || (_STLPORT_VERSION >= 0x520))
-#  define BOOST_NO_STD_UNORDERED
-#endif
-
-#if defined(_STLPORT_VERSION) && (_STLPORT_VERSION >= 0x520)
-#  define BOOST_HAS_TR1_UNORDERED_SET
-#  define BOOST_HAS_TR1_UNORDERED_MAP
-#endif
-//
-// Without member template support enabled, their are no template
-// iterate constructors, and no std::allocator:
-//
-#if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES))
-#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#  define BOOST_NO_STD_ALLOCATOR
-#endif
-//
-// however we always have at least a partial allocator:
-//
-#define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-
-#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE)
-#  define BOOST_NO_STD_ALLOCATOR
-#endif
-
-#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
-#  define BOOST_NO_STD_ALLOCATOR
-#endif
-
-//
-// If STLport thinks there is no wchar_t at all, then we have to disable
-// the support for the relevant specilazations of std:: templates.
-//
-#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT)
-#  ifndef  BOOST_NO_STD_WSTRING
-#     define BOOST_NO_STD_WSTRING
-#  endif
-#  ifndef  BOOST_NO_STD_WSTREAMBUF
-#     define BOOST_NO_STD_WSTREAMBUF
-#  endif
-#endif
-
-//
-// We always have SGI style hash_set, hash_map, and slist:
-//
-#ifndef _STLP_NO_EXTENSIONS
-#define BOOST_HAS_HASH
-#define BOOST_HAS_SLIST
-#endif
-
-//
-// STLport does a good job of importing names into namespace std::,
-// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our
-// workaround does not conflict with STLports:
-//
-//
-// Harold Howe says:
-// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with
-// BCB6 does cause problems. If we detect C++ Builder, then don't define 
-// BOOST_NO_STDC_NAMESPACE
-//
-#if !defined(__BORLANDC__) && !defined(__DMC__)
-//
-// If STLport is using it's own namespace, and the real names are in
-// the global namespace, then we duplicate STLport's using declarations
-// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't
-// necessarily import all the names we need into namespace std::
-// 
-#  if (defined(__STL_IMPORT_VENDOR_CSTD) \
-         || defined(__STL_USE_OWN_NAMESPACE) \
-         || defined(_STLP_IMPORT_VENDOR_CSTD) \
-         || defined(_STLP_USE_OWN_NAMESPACE)) \
-      && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD))
-#     define BOOST_NO_STDC_NAMESPACE
-#     define BOOST_NO_EXCEPTION_STD_NAMESPACE
-#  endif
-#elif defined(__BORLANDC__) && __BORLANDC__ < 0x560
-// STLport doesn't import std::abs correctly:
-#include <stdlib.h>
-namespace std { using ::abs; }
-// and strcmp/strcpy don't get imported either ('cos they are macros)
-#include <string.h>
-#ifdef strcpy
-#  undef strcpy
-#endif
-#ifdef strcmp
-#  undef strcmp
-#endif
-#ifdef _STLP_VENDOR_CSTD
-namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; }
-#endif
-#endif
-
-//
-// std::use_facet may be non-standard, uses a class instead:
-//
-#if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS)
-#  define BOOST_NO_STD_USE_FACET
-#  define BOOST_HAS_STLP_USE_FACET
-#endif
-
-//
-// If STLport thinks there are no wide functions, <cwchar> etc. is not working; but
-// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import 
-// into std:: ourselves).
-//
-#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE)
-#  define BOOST_NO_CWCHAR
-#  define BOOST_NO_CWCTYPE
-#endif
-
-//
-// If STLport for some reason was configured so that it thinks that wchar_t
-// is not an intrinsic type, then we have to disable the support for it as
-// well (we would be missing required specializations otherwise).
-//
-#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT)
-#  undef  BOOST_NO_INTRINSIC_WCHAR_T
-#  define BOOST_NO_INTRINSIC_WCHAR_T
-#endif
-
-//
-// Borland ships a version of STLport with C++ Builder 6 that lacks
-// hashtables and the like:
-//
-#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560)
-#  undef BOOST_HAS_HASH
-#endif
-
-//
-// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max
-//
-#if defined(__GNUC__) && (__GNUC__ < 3)
-#  include <algorithm> // for std::min and std::max
-#  define BOOST_USING_STD_MIN() ((void)0)
-#  define BOOST_USING_STD_MAX() ((void)0)
-namespace boost { using std::min; using std::max; }
-#endif
-
-//  C++0x headers not yet implemented
-//
-#  define BOOST_NO_0X_HDR_ARRAY
-#  define BOOST_NO_0X_HDR_CHRONO
-#  define BOOST_NO_0X_HDR_CODECVT
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_0X_HDR_FORWARD_LIST
-#  define BOOST_NO_0X_HDR_FUTURE
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
-#  define BOOST_NO_0X_HDR_MUTEX
-#  define BOOST_NO_0X_HDR_RANDOM
-#  define BOOST_NO_0X_HDR_RATIO
-#  define BOOST_NO_0X_HDR_REGEX
-#  define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#  define BOOST_NO_0X_HDR_THREAD
-#  define BOOST_NO_0X_HDR_TUPLE
-#  define BOOST_NO_0X_HDR_TYPE_TRAITS
-#  define BOOST_NO_0X_HDR_TYPEINDEX
-#  define BOOST_NO_STD_UNORDERED        // deprecated; see following
-#  define BOOST_NO_0X_HDR_UNORDERED_MAP
-#  define BOOST_NO_0X_HDR_UNORDERED_SET
-#  define BOOST_NO_NUMERIC_LIMITS_LOWEST
-
-#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/config/stdlib/vacpp.hpp b/SRC/Boost/boost/config/stdlib/vacpp.hpp
deleted file mode 100755
index 6bdf356..0000000
--- a/SRC/Boost/boost/config/stdlib/vacpp.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//  (C) Copyright John Maddock 2001 - 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version.
-
-#if __IBMCPP__ <= 501
-#  define BOOST_NO_STD_ALLOCATOR
-#endif
-
-#define BOOST_HAS_MACRO_USE_FACET
-#define BOOST_NO_STD_MESSAGES
-
-// Apple doesn't seem to reliably defined a *unix* macro
-#if !defined(CYGWIN) && (  defined(__unix__)  \
-                        || defined(__unix)    \
-                        || defined(unix)      \
-                        || defined(__APPLE__) \
-                        || defined(__APPLE)   \
-                        || defined(APPLE))
-#  include <unistd.h>
-#endif
-
-//  C++0x headers not yet implemented
-//
-#  define BOOST_NO_0X_HDR_ARRAY
-#  define BOOST_NO_0X_HDR_CHRONO
-#  define BOOST_NO_0X_HDR_CODECVT
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_0X_HDR_FORWARD_LIST
-#  define BOOST_NO_0X_HDR_FUTURE
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
-#  define BOOST_NO_0X_HDR_MUTEX
-#  define BOOST_NO_0X_HDR_RANDOM
-#  define BOOST_NO_0X_HDR_RATIO
-#  define BOOST_NO_0X_HDR_REGEX
-#  define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#  define BOOST_NO_0X_HDR_THREAD
-#  define BOOST_NO_0X_HDR_TUPLE
-#  define BOOST_NO_0X_HDR_TYPE_TRAITS
-#  define BOOST_NO_0X_HDR_TYPEINDEX
-#  define BOOST_NO_STD_UNORDERED        // deprecated; see following
-#  define BOOST_NO_0X_HDR_UNORDERED_MAP
-#  define BOOST_NO_0X_HDR_UNORDERED_SET
-#  define BOOST_NO_NUMERIC_LIMITS_LOWEST
-
-#define BOOST_STDLIB "Visual Age default standard library"
-
-
-
diff --git a/SRC/Boost/boost/config/suffix.hpp b/SRC/Boost/boost/config/suffix.hpp
deleted file mode 100755
index e53ba61..0000000
--- a/SRC/Boost/boost/config/suffix.hpp
+++ /dev/null
@@ -1,678 +0,0 @@
-//  Boost config.hpp configuration header file  ------------------------------//
-
-//  Copyright (c) 2001-2003 John Maddock
-//  Copyright (c) 2001 Darin Adler
-//  Copyright (c) 2001 Peter Dimov
-//  Copyright (c) 2002 Bill Kempf 
-//  Copyright (c) 2002 Jens Maurer
-//  Copyright (c) 2002-2003 David Abrahams
-//  Copyright (c) 2003 Gennaro Prota
-//  Copyright (c) 2003 Eric Friedman
-//  Copyright (c) 2010 Eric Jourdanneau, Joel Falcou
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/ for most recent version.
-
-//  Boost config.hpp policy and rationale documentation has been moved to
-//  http://www.boost.org/libs/config/
-//
-//  This file is intended to be stable, and relatively unchanging.
-//  It should contain boilerplate code only - no compiler specific
-//  code unless it is unavoidable - no changes unless unavoidable.
-
-#ifndef BOOST_CONFIG_SUFFIX_HPP
-#define BOOST_CONFIG_SUFFIX_HPP
-
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-//
-// Some GCC-4.x versions issue warnings even when __extension__ is used,
-// so use this as a workaround:
-//
-#pragma GCC system_header
-#endif
-
-//
-// ensure that visibility macros are always defined, thus symplifying use
-//
-#ifndef BOOST_SYMBOL_EXPORT
-# define BOOST_SYMBOL_EXPORT
-#endif
-#ifndef BOOST_SYMBOL_IMPORT
-# define BOOST_SYMBOL_IMPORT
-#endif
-#ifndef BOOST_SYMBOL_VISIBLE
-# define BOOST_SYMBOL_VISIBLE
-#endif
-
-//
-// look for long long by looking for the appropriate macros in <limits.h>.
-// Note that we use limits.h rather than climits for maximal portability,
-// remember that since these just declare a bunch of macros, there should be
-// no namespace issues from this.
-//
-#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG)                                              \
-   && !defined(BOOST_MSVC) && !defined(__BORLANDC__)
-# include <limits.h>
-# if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
-#   define BOOST_HAS_LONG_LONG
-# else
-#   define BOOST_NO_LONG_LONG
-# endif
-#endif
-
-// GCC 3.x will clean up all of those nasty macro definitions that
-// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine
-// it under GCC 3.x.
-#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS)
-#  undef BOOST_NO_CTYPE_FUNCTIONS
-#endif
-
-//
-// Assume any extensions are in namespace std:: unless stated otherwise:
-//
-#  ifndef BOOST_STD_EXTENSION_NAMESPACE
-#    define BOOST_STD_EXTENSION_NAMESPACE std
-#  endif
-
-//
-// If cv-qualified specializations are not allowed, then neither are cv-void ones:
-//
-#  if defined(BOOST_NO_CV_SPECIALIZATIONS) \
-      && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
-#     define BOOST_NO_CV_VOID_SPECIALIZATIONS
-#  endif
-
-//
-// If there is no numeric_limits template, then it can't have any compile time
-// constants either!
-//
-#  if defined(BOOST_NO_LIMITS) \
-      && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)
-#     define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#     define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-#  endif
-
-//
-// if there is no long long then there is no specialisation
-// for numeric_limits<long long> either:
-//
-#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)
-#  define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-#endif
-
-//
-// Normalize BOOST_NO_STATIC_ASSERT and (depricated) BOOST_HAS_STATIC_ASSERT:
-//
-#if !defined(BOOST_NO_STATIC_ASSERT) && !defined(BOOST_HAS_STATIC_ASSERT)
-#  define BOOST_HAS_STATIC_ASSERT
-#endif
-
-//
-// if there is no __int64 then there is no specialisation
-// for numeric_limits<__int64> either:
-//
-#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)
-#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#endif
-
-//
-// if member templates are supported then so is the
-// VC6 subset of member templates:
-//
-#  if !defined(BOOST_NO_MEMBER_TEMPLATES) \
-       && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-#     define BOOST_MSVC6_MEMBER_TEMPLATES
-#  endif
-
-//
-// Without partial specialization, can't test for partial specialisation bugs:
-//
-#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-      && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG)
-#     define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-#  endif
-
-//
-// Without partial specialization, we can't have array-type partial specialisations:
-//
-#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-      && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-#     define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-#  endif
-
-//
-// Without partial specialization, std::iterator_traits can't work:
-//
-#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-      && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
-#     define BOOST_NO_STD_ITERATOR_TRAITS
-#  endif
-
-//
-// Without partial specialization, partial 
-// specialization with default args won't work either:
-//
-#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-      && !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
-#     define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-#  endif
-
-//
-// Without member template support, we can't have template constructors
-// in the standard library either:
-//
-#  if defined(BOOST_NO_MEMBER_TEMPLATES) \
-      && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \
-      && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)
-#     define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#  endif
-
-//
-// Without member template support, we can't have a conforming
-// std::allocator template either:
-//
-#  if defined(BOOST_NO_MEMBER_TEMPLATES) \
-      && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \
-      && !defined(BOOST_NO_STD_ALLOCATOR)
-#     define BOOST_NO_STD_ALLOCATOR
-#  endif
-
-//
-// without ADL support then using declarations will break ADL as well:
-//
-#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
-#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#endif
-
-//
-// Without typeid support we have no dynamic RTTI either:
-//
-#if defined(BOOST_NO_TYPEID) && !defined(BOOST_NO_RTTI)
-#  define BOOST_NO_RTTI
-#endif
-
-//
-// If we have a standard allocator, then we have a partial one as well:
-//
-#if !defined(BOOST_NO_STD_ALLOCATOR)
-#  define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#endif
-
-//
-// We can't have a working std::use_facet if there is no std::locale:
-//
-#  if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET)
-#     define BOOST_NO_STD_USE_FACET
-#  endif
-
-//
-// We can't have a std::messages facet if there is no std::locale:
-//
-#  if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES)
-#     define BOOST_NO_STD_MESSAGES
-#  endif
-
-//
-// We can't have a working std::wstreambuf if there is no std::locale:
-//
-#  if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF)
-#     define BOOST_NO_STD_WSTREAMBUF
-#  endif
-
-//
-// We can't have a <cwctype> if there is no <cwchar>:
-//
-#  if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE)
-#     define BOOST_NO_CWCTYPE
-#  endif
-
-//
-// We can't have a swprintf if there is no <cwchar>:
-//
-#  if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF)
-#     define BOOST_NO_SWPRINTF
-#  endif
-
-//
-// If Win32 support is turned off, then we must turn off
-// threading support also, unless there is some other
-// thread API enabled:
-//
-#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \
-   && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS)
-#  define BOOST_DISABLE_THREADS
-#endif
-
-//
-// Turn on threading support if the compiler thinks that it's in
-// multithreaded mode.  We put this here because there are only a
-// limited number of macros that identify this (if there's any missing
-// from here then add to the appropriate compiler section):
-//
-#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \
-    || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \
-    && !defined(BOOST_HAS_THREADS)
-#  define BOOST_HAS_THREADS
-#endif
-
-//
-// Turn threading support off if BOOST_DISABLE_THREADS is defined:
-//
-#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS)
-#  undef BOOST_HAS_THREADS
-#endif
-
-//
-// Turn threading support off if we don't recognise the threading API:
-//
-#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\
-      && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\
-      && !defined(BOOST_HAS_MPTASKS)
-#  undef BOOST_HAS_THREADS
-#endif
-
-//
-// Turn threading detail macros off if we don't (want to) use threading
-//
-#ifndef BOOST_HAS_THREADS
-#  undef BOOST_HAS_PTHREADS
-#  undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#  undef BOOST_HAS_PTHREAD_YIELD
-#  undef BOOST_HAS_PTHREAD_DELAY_NP
-#  undef BOOST_HAS_WINTHREADS
-#  undef BOOST_HAS_BETHREADS
-#  undef BOOST_HAS_MPTASKS
-#endif
-
-//
-// If the compiler claims to be C99 conformant, then it had better
-// have a <stdint.h>:
-//
-#  if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
-#     define BOOST_HAS_STDINT_H
-#     ifndef BOOST_HAS_LOG1P
-#        define BOOST_HAS_LOG1P
-#     endif
-#     ifndef BOOST_HAS_EXPM1
-#        define BOOST_HAS_EXPM1
-#     endif
-#  endif
-
-//
-// Define BOOST_NO_SLIST and BOOST_NO_HASH if required.
-// Note that this is for backwards compatibility only.
-//
-#  if !defined(BOOST_HAS_SLIST) && !defined(BOOST_NO_SLIST)
-#     define BOOST_NO_SLIST
-#  endif
-
-#  if !defined(BOOST_HAS_HASH) && !defined(BOOST_NO_HASH)
-#     define BOOST_NO_HASH
-#  endif
-
-//
-// Set BOOST_SLIST_HEADER if not set already:
-//
-#if defined(BOOST_HAS_SLIST) && !defined(BOOST_SLIST_HEADER)
-#  define BOOST_SLIST_HEADER <slist>
-#endif
-
-//
-// Set BOOST_HASH_SET_HEADER if not set already:
-//
-#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_SET_HEADER)
-#  define BOOST_HASH_SET_HEADER <hash_set>
-#endif
-
-//
-// Set BOOST_HASH_MAP_HEADER if not set already:
-//
-#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_MAP_HEADER)
-#  define BOOST_HASH_MAP_HEADER <hash_map>
-#endif
-
-//
-// Set BOOST_NO_INITIALIZER_LISTS if there is no library support.
-//
-
-#if defined(BOOST_NO_0X_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS)
-#  define BOOST_NO_INITIALIZER_LISTS
-#endif
-#if defined(BOOST_NO_INITIALIZER_LISTS) && !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
-#endif
-
-//
-// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_RVALUE_REFERENCES is not defined
-//
-#if !defined(BOOST_NO_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS)
-#define BOOST_HAS_RVALUE_REFS
-#endif
-
-//
-// Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_VARIADIC_TEMPLATES is not defined
-//
-#if !defined(BOOST_NO_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
-#define BOOST_HAS_VARIADIC_TMPL
-#endif
-
-//
-// Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined
-//
-#if !defined(BOOST_NO_DECLTYPE_N3276) && defined(BOOST_NO_DECLTYPE)
-#define BOOST_NO_DECLTYPE_N3276
-#endif
-
-//  BOOST_HAS_ABI_HEADERS
-//  This macro gets set if we have headers that fix the ABI,
-//  and prevent ODR violations when linking to external libraries:
-#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS)
-#  define BOOST_HAS_ABI_HEADERS
-#endif
-
-#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS)
-#  undef BOOST_HAS_ABI_HEADERS
-#endif
-
-//  BOOST_NO_STDC_NAMESPACE workaround  --------------------------------------//
-//  Because std::size_t usage is so common, even in boost headers which do not
-//  otherwise use the C library, the <cstddef> workaround is included here so
-//  that ugly workaround code need not appear in many other boost headers.
-//  NOTE WELL: This is a workaround for non-conforming compilers; <cstddef>
-//  must still be #included in the usual places so that <cstddef> inclusion
-//  works as expected with standard conforming compilers.  The resulting
-//  double inclusion of <cstddef> is harmless.
-
-# if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus)
-#   include <cstddef>
-    namespace std { using ::ptrdiff_t; using ::size_t; }
-# endif
-
-//  Workaround for the unfortunate min/max macros defined by some platform headers
-
-#define BOOST_PREVENT_MACRO_SUBSTITUTION
-
-#ifndef BOOST_USING_STD_MIN
-#  define BOOST_USING_STD_MIN() using std::min
-#endif
-
-#ifndef BOOST_USING_STD_MAX
-#  define BOOST_USING_STD_MAX() using std::max
-#endif
-
-//  BOOST_NO_STD_MIN_MAX workaround  -----------------------------------------//
-
-#  if defined(BOOST_NO_STD_MIN_MAX) && defined(__cplusplus)
-
-namespace std {
-  template <class _Tp>
-  inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
-    return __b < __a ? __b : __a;
-  }
-  template <class _Tp>
-  inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
-    return  __a < __b ? __b : __a;
-  }
-}
-
-#  endif
-
-// BOOST_STATIC_CONSTANT workaround --------------------------------------- //
-// On compilers which don't allow in-class initialization of static integral
-// constant members, we must use enums as a workaround if we want the constants
-// to be available at compile-time. This macro gives us a convenient way to
-// declare such constants.
-
-#  ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#       define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment }
-#  else
-#     define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment
-#  endif
-
-// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------//
-// When the standard library does not have a conforming std::use_facet there
-// are various workarounds available, but they differ from library to library.
-// The same problem occurs with has_facet.
-// These macros provide a consistent way to access a locale's facets.
-// Usage:
-//    replace
-//       std::use_facet<Type>(loc);
-//    with
-//       BOOST_USE_FACET(Type, loc);
-//    Note do not add a std:: prefix to the front of BOOST_USE_FACET!
-//  Use for BOOST_HAS_FACET is analogous.
-
-#if defined(BOOST_NO_STD_USE_FACET)
-#  ifdef BOOST_HAS_TWO_ARG_USE_FACET
-#     define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast<Type*>(0))
-#     define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast<Type*>(0))
-#  elif defined(BOOST_HAS_MACRO_USE_FACET)
-#     define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type)
-#     define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type)
-#  elif defined(BOOST_HAS_STLP_USE_FACET)
-#     define BOOST_USE_FACET(Type, loc) (*std::_Use_facet<Type >(loc))
-#     define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)
-#  endif
-#else
-#  define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc)
-#  define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)
-#endif
-
-// BOOST_NESTED_TEMPLATE workaround ------------------------------------------//
-// Member templates are supported by some compilers even though they can't use
-// the A::template member<U> syntax, as a workaround replace:
-//
-// typedef typename A::template rebind<U> binder;
-//
-// with:
-//
-// typedef typename A::BOOST_NESTED_TEMPLATE rebind<U> binder;
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-#  define BOOST_NESTED_TEMPLATE template
-#else
-#  define BOOST_NESTED_TEMPLATE
-#endif
-
-// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------//
-// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION
-// is defined, in which case it evaluates to return x; Use when you have a return
-// statement that can never be reached.
-
-#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
-#  define BOOST_UNREACHABLE_RETURN(x) return x;
-#else
-#  define BOOST_UNREACHABLE_RETURN(x)
-#endif
-
-// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------//
-//
-// Some compilers don't support the use of `typename' for dependent
-// types in deduced contexts, e.g.
-//
-//     template <class T> void f(T, typename T::type);
-//                                  ^^^^^^^^
-// Replace these declarations with:
-//
-//     template <class T> void f(T, BOOST_DEDUCED_TYPENAME T::type);
-
-#ifndef BOOST_NO_DEDUCED_TYPENAME
-#  define BOOST_DEDUCED_TYPENAME typename
-#else
-#  define BOOST_DEDUCED_TYPENAME
-#endif
-
-#ifndef BOOST_NO_TYPENAME_WITH_CTOR
-#  define BOOST_CTOR_TYPENAME typename
-#else
-#  define BOOST_CTOR_TYPENAME
-#endif
-
-// long long workaround ------------------------------------------//
-// On gcc (and maybe other compilers?) long long is alway supported
-// but it's use may generate either warnings (with -ansi), or errors
-// (with -pedantic -ansi) unless it's use is prefixed by __extension__
-//
-#if defined(BOOST_HAS_LONG_LONG) && defined(__cplusplus)
-namespace boost{
-#  ifdef __GNUC__
-   __extension__ typedef long long long_long_type;
-   __extension__ typedef unsigned long long ulong_long_type;
-#  else
-   typedef long long long_long_type;
-   typedef unsigned long long ulong_long_type;
-#  endif
-}
-#endif
-
-// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//
-//
-// Some compilers have problems with function templates whose template
-// parameters don't appear in the function parameter list (basically
-// they just link one instantiation of the template in the final
-// executable). These macros provide a uniform way to cope with the
-// problem with no effects on the calling syntax.
-
-// Example:
-//
-//  #include <iostream>
-//  #include <ostream>
-//  #include <typeinfo>
-//
-//  template <int n>
-//  void f() { std::cout << n << ' '; }
-//
-//  template <typename T>
-//  void g() { std::cout << typeid(T).name() << ' '; }
-//
-//  int main() {
-//    f<1>();
-//    f<2>();
-//
-//    g<int>();
-//    g<double>();
-//  }
-//
-// With VC++ 6.0 the output is:
-//
-//   2 2 double double
-//
-// To fix it, write
-//
-//   template <int n>
-//   void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... }
-//
-//   template <typename T>
-//   void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... }
-//
-
-
-#if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) && defined(__cplusplus)
-
-#  include "boost/type.hpp"
-#  include "boost/non_type.hpp"
-
-#  define BOOST_EXPLICIT_TEMPLATE_TYPE(t)              boost::type<t>* = 0
-#  define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)         boost::type<t>*
-#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)       boost::non_type<t, v>* = 0
-#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)  boost::non_type<t, v>*
-
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)        \
-             , BOOST_EXPLICIT_TEMPLATE_TYPE(t)
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)   \
-             , BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \
-             , BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)    \
-             , BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
-
-#else
-
-// no workaround needed: expand to nothing
-
-#  define BOOST_EXPLICIT_TEMPLATE_TYPE(t)
-#  define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
-
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
-
-
-#endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-
-// When BOOST_NO_STD_TYPEINFO is defined, we can just import
-// the global definition into std namespace:
-#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus)
-#include <typeinfo>
-namespace std{ using ::type_info; }
-#endif
-
-// ---------------------------------------------------------------------------//
-
-//
-// Helper macro BOOST_STRINGIZE:
-// Converts the parameter X to a string after macro replacement
-// on X has been performed.
-//
-#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
-#define BOOST_DO_STRINGIZE(X) #X
-
-//
-// Helper macro BOOST_JOIN:
-// The following piece of macro magic joins the two
-// arguments together, even when one of the arguments is
-// itself a macro (see 16.3.1 in C++ standard).  The key
-// is that macro expansion of macro arguments does not
-// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
-//
-#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y )
-#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)
-#define BOOST_DO_JOIN2( X, Y ) X##Y
-
-//
-// Set some default values for compiler/library/platform names.
-// These are for debugging config setup only:
-//
-#  ifndef BOOST_COMPILER
-#     define BOOST_COMPILER "Unknown ISO C++ Compiler"
-#  endif
-#  ifndef BOOST_STDLIB
-#     define BOOST_STDLIB "Unknown ISO standard library"
-#  endif
-#  ifndef BOOST_PLATFORM
-#     if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \
-         || defined(_POSIX_SOURCE)
-#        define BOOST_PLATFORM "Generic Unix"
-#     else
-#        define BOOST_PLATFORM "Unknown"
-#     endif
-#  endif
-
-//
-// Set some default values GPU support
-//
-#  ifndef BOOST_GPU_ENABLED
-#  define BOOST_GPU_ENABLED 
-#  endif
-
-//
-// constexpr workarounds
-// 
-#if defined(BOOST_NO_CONSTEXPR)
-#define BOOST_CONSTEXPR
-#define BOOST_CONSTEXPR_OR_CONST const
-#else
-#define BOOST_CONSTEXPR constexpr
-#define BOOST_CONSTEXPR_OR_CONST constexpr
-#endif
-
-#define BOOST_STATIC_CONSTEXPR  static BOOST_CONSTEXPR_OR_CONST
-
-#endif
-
diff --git a/SRC/Boost/boost/config/user.hpp b/SRC/Boost/boost/config/user.hpp
deleted file mode 100755
index 3b998d1..0000000
--- a/SRC/Boost/boost/config/user.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-//  boost/config/user.hpp  ---------------------------------------------------//
-
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  Do not check in modified versions of this file,
-//  This file may be customized by the end user, but not by boost.
-
-//
-//  Use this file to define a site and compiler specific
-//  configuration policy:
-//
-
-// define this to locate a compiler config file:
-// #define BOOST_COMPILER_CONFIG <myheader>
-
-// define this to locate a stdlib config file:
-// #define BOOST_STDLIB_CONFIG   <myheader>
-
-// define this to locate a platform config file:
-// #define BOOST_PLATFORM_CONFIG <myheader>
-
-// define this to disable compiler config,
-// use if your compiler config has nothing to set:
-// #define BOOST_NO_COMPILER_CONFIG
-
-// define this to disable stdlib config,
-// use if your stdlib config has nothing to set:
-// #define BOOST_NO_STDLIB_CONFIG
-
-// define this to disable platform config,
-// use if your platform config has nothing to set:
-// #define BOOST_NO_PLATFORM_CONFIG
-
-// define this to disable all config options,
-// excluding the user config.  Use if your
-// setup is fully ISO compliant, and has no
-// useful extensions, or for autoconf generated
-// setups:
-// #define BOOST_NO_CONFIG
-
-// define this to make the config "optimistic"
-// about unknown compiler versions.  Normally
-// unknown compiler versions are assumed to have
-// all the defects of the last known version, however
-// setting this flag, causes the config to assume
-// that unknown compiler versions are fully conformant
-// with the standard:
-// #define BOOST_STRICT_CONFIG
-
-// define this to cause the config to halt compilation
-// with an #error if it encounters anything unknown --
-// either an unknown compiler version or an unknown
-// compiler/platform/library:
-// #define BOOST_ASSERT_CONFIG
-
-
-// define if you want to disable threading support, even
-// when available:
-// #define BOOST_DISABLE_THREADS
-
-// define when you want to disable Win32 specific features
-// even when available:
-// #define BOOST_DISABLE_WIN32
-
-// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any 
-// prefix/suffix headers that normally control things like struct 
-// packing and alignment. 
-// #define BOOST_DISABLE_ABI_HEADERS
-
-// BOOST_ABI_PREFIX: A prefix header to include in place of whatever
-// boost.config would normally select, any replacement should set up 
-// struct packing and alignment options as required. 
-// #define BOOST_ABI_PREFIX my-header-name
-
-// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever 
-// boost.config would normally select, any replacement should undo 
-// the effects of the prefix header. 
-// #define BOOST_ABI_SUFFIX my-header-name
-
-// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, 
-// to be linked as dll's rather than static libraries on Microsoft Windows 
-// (this macro is used to turn on __declspec(dllimport) modifiers, so that 
-// the compiler knows which symbols to look for in a dll rather than in a 
-// static library).  Note that there may be some libraries that can only 
-// be statically linked (Boost.Test for example) and others which may only 
-// be dynamically linked (Boost.Threads for example), in these cases this 
-// macro has no effect.
-// #define BOOST_ALL_DYN_LINK
- 
-// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll 
-// rather than a static library on Microsoft Windows: replace the WHATEVER 
-// part of the macro name with the name of the library that you want to 
-// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or 
-// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) 
-// modifiers, so that the compiler knows which symbols to look for in a dll 
-// rather than in a static library).  
-// Note that there may be some libraries that can only be statically linked 
-// (Boost.Test for example) and others which may only be dynamically linked 
-// (Boost.Threads for example), in these cases this macro is unsupported.
-// #define BOOST_WHATEVER_DYN_LINK
- 
-// BOOST_ALL_NO_LIB: Tells the config system not to automatically select 
-// which libraries to link against.  
-// Normally if a compiler supports #pragma lib, then the correct library 
-// build variant will be automatically selected and linked against, 
-// simply by the act of including one of that library's headers.  
-// This macro turns that feature off.
-// #define BOOST_ALL_NO_LIB
- 
-// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically 
-// select which library to link against for library "whatever", 
-// replace WHATEVER in the macro name with the name of the library; 
-// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB.  
-// Normally if a compiler supports #pragma lib, then the correct library 
-// build variant will be automatically selected and linked against, simply 
-// by the act of including one of that library's headers.  This macro turns 
-// that feature off.
-// #define BOOST_WHATEVER_NO_LIB
- 
-
-
diff --git a/SRC/Boost/boost/config/warning_disable.hpp b/SRC/Boost/boost/config/warning_disable.hpp
deleted file mode 100755
index 94e9750..0000000
--- a/SRC/Boost/boost/config/warning_disable.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//  Copyright John Maddock 2008
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  This file exists to turn off some overly-pedantic warning emitted
-//  by certain compilers.  You should include this header only in:
-//
-//  * A test case, before any other headers, or,
-//  * A library source file before any other headers.
-//
-//  IT SHOULD NOT BE INCLUDED BY ANY BOOST HEADER.
-//
-//  YOU SHOULD NOT INCLUDE IT IF YOU CAN REASONABLY FIX THE WARNING.
-//
-//  The only warnings disabled here are those that are:
-//
-//  * Quite unreasonably pedantic.
-//  * Generally only emitted by a single compiler.
-//  * Can't easily be fixed: for example if the vendors own std lib 
-//    code emits these warnings!
-//
-//  Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS:
-//  not even std library ones!  Doing so may turn the warning
-//  off too late to be of any use.  For example the VC++ C4996
-//  warning can be emitted from <iosfwd> if that header is included
-//  before or by this one :-(
-//
-
-#ifndef BOOST_CONFIG_WARNING_DISABLE_HPP
-#define BOOST_CONFIG_WARNING_DISABLE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1400) 
-   // Error 'function': was declared deprecated
-   // http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx
-   // This error is emitted when you use some perfectly conforming
-   // std lib functions in a perfectly correct way, and also by
-   // some of Microsoft's own std lib code !
-#  pragma warning(disable:4996)
-#endif
-#if defined(__INTEL_COMPILER) || defined(__ICL)
-   // As above: gives warning when a "deprecated"
-   // std library function is encountered.
-#  pragma warning(disable:1786)
-#endif
-
-#endif // BOOST_CONFIG_WARNING_DISABLE_HPP
diff --git a/SRC/Boost/boost/cregex.hpp b/SRC/Boost/boost/cregex.hpp
deleted file mode 100755
index 81d0343..0000000
--- a/SRC/Boost/boost/cregex.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org/libs/regex for most recent version.
-  *   FILE         cregex.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares POSIX API functions
-  *                + boost::RegEx high level wrapper.
-  */
-
-#ifndef BOOST_RE_CREGEX_HPP
-#define BOOST_RE_CREGEX_HPP
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#include <boost/regex/config.hpp>
-#endif
-
-#include <boost/regex/v4/cregex.hpp>
-
-#endif /* include guard */
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/cstdint.hpp b/SRC/Boost/boost/cstdint.hpp
deleted file mode 100755
index c6a8656..0000000
--- a/SRC/Boost/boost/cstdint.hpp
+++ /dev/null
@@ -1,508 +0,0 @@
-//  boost cstdint.hpp header file  ------------------------------------------//
-
-//  (C) Copyright Beman Dawes 1999. 
-//  (C) Copyright Jens Mauer 2001  
-//  (C) Copyright John Maddock 2001 
-//  Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/integer for documentation.
-
-//  Revision History
-//   31 Oct 01  use BOOST_HAS_LONG_LONG to check for "long long" (Jens M.)
-//   16 Apr 01  check LONGLONG_MAX when looking for "long long" (Jens Maurer)
-//   23 Jan 01  prefer "long" over "int" for int32_t and intmax_t (Jens Maurer)
-//   12 Nov 00  Merged <boost/stdint.h> (Jens Maurer)
-//   23 Sep 00  Added INTXX_C macro support (John Maddock).
-//   22 Sep 00  Better 64-bit support (John Maddock)
-//   29 Jun 00  Reimplement to avoid including stdint.h within namespace boost
-//    8 Aug 99  Initial version (Beman Dawes)
-
-
-#ifndef BOOST_CSTDINT_HPP
-#define BOOST_CSTDINT_HPP
-
-//
-// Since we always define the INT#_C macros as per C++0x, 
-// define __STDC_CONSTANT_MACROS so that <stdint.h> does the right
-// thing if possible, and so that the user knows that the macros 
-// are actually defined as per C99.
-//
-#ifndef __STDC_CONSTANT_MACROS
-#  define __STDC_CONSTANT_MACROS
-#endif
-
-#include <boost/config.hpp>
-
-//
-// Note that GLIBC is a bit inconsistent about whether int64_t is defined or not
-// depending upon what headers happen to have been included first...
-// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
-// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
-//
-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
-
-// The following #include is an implementation artifact; not part of interface.
-# ifdef __hpux
-// HP-UX has a vaguely nice <stdint.h> in a non-standard location
-#   include <inttypes.h>
-#   ifdef __STDC_32_MODE__
-      // this is triggered with GCC, because it defines __cplusplus < 199707L
-#     define BOOST_NO_INT64_T
-#   endif 
-# elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX)
-#   include <inttypes.h>
-# else
-#   include <stdint.h>
-
-// There is a bug in Cygwin two _C macros
-#   if defined(__STDC_CONSTANT_MACROS) && defined(__CYGWIN__)
-#     undef INTMAX_C
-#     undef UINTMAX_C
-#     define INTMAX_C(c) c##LL
-#     define UINTMAX_C(c) c##ULL
-#   endif
-
-# endif
-
-#ifdef __QNX__
-
-// QNX (Dinkumware stdlib) defines these as non-standard names.
-// Reflect to the standard names.
-
-typedef ::intleast8_t int_least8_t;
-typedef ::intfast8_t int_fast8_t;
-typedef ::uintleast8_t uint_least8_t;
-typedef ::uintfast8_t uint_fast8_t;
-
-typedef ::intleast16_t int_least16_t;
-typedef ::intfast16_t int_fast16_t;
-typedef ::uintleast16_t uint_least16_t;
-typedef ::uintfast16_t uint_fast16_t;
-
-typedef ::intleast32_t int_least32_t;
-typedef ::intfast32_t int_fast32_t;
-typedef ::uintleast32_t uint_least32_t;
-typedef ::uintfast32_t uint_fast32_t;
-
-# ifndef BOOST_NO_INT64_T
-
-typedef ::intleast64_t int_least64_t;
-typedef ::intfast64_t int_fast64_t;
-typedef ::uintleast64_t uint_least64_t;
-typedef ::uintfast64_t uint_fast64_t;
-
-# endif
-
-#endif
-
-namespace boost
-{
-
-  using ::int8_t;             
-  using ::int_least8_t;       
-  using ::int_fast8_t;        
-  using ::uint8_t;            
-  using ::uint_least8_t;      
-  using ::uint_fast8_t;       
-                     
-  using ::int16_t;            
-  using ::int_least16_t;      
-  using ::int_fast16_t;       
-  using ::uint16_t;           
-  using ::uint_least16_t;     
-  using ::uint_fast16_t;      
-                     
-  using ::int32_t;            
-  using ::int_least32_t;      
-  using ::int_fast32_t;       
-  using ::uint32_t;           
-  using ::uint_least32_t;     
-  using ::uint_fast32_t;      
-                     
-# ifndef BOOST_NO_INT64_T
-
-  using ::int64_t;            
-  using ::int_least64_t;      
-  using ::int_fast64_t;       
-  using ::uint64_t;           
-  using ::uint_least64_t;     
-  using ::uint_fast64_t;      
-                     
-# endif
-
-  using ::intmax_t;      
-  using ::uintmax_t;     
-
-} // namespace boost
-
-#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS)
-// FreeBSD and Tru64 have an <inttypes.h> that contains much of what we need.
-# include <inttypes.h>
-
-namespace boost {
-
-  using ::int8_t;             
-  typedef int8_t int_least8_t;       
-  typedef int8_t int_fast8_t;        
-  using ::uint8_t;            
-  typedef uint8_t uint_least8_t;      
-  typedef uint8_t uint_fast8_t;       
-                     
-  using ::int16_t;            
-  typedef int16_t int_least16_t;      
-  typedef int16_t int_fast16_t;       
-  using ::uint16_t;           
-  typedef uint16_t uint_least16_t;     
-  typedef uint16_t uint_fast16_t;      
-                     
-  using ::int32_t;            
-  typedef int32_t int_least32_t;      
-  typedef int32_t int_fast32_t;       
-  using ::uint32_t;           
-  typedef uint32_t uint_least32_t;     
-  typedef uint32_t uint_fast32_t;      
-         
-# ifndef BOOST_NO_INT64_T          
-
-  using ::int64_t;            
-  typedef int64_t int_least64_t;      
-  typedef int64_t int_fast64_t;       
-  using ::uint64_t;           
-  typedef uint64_t uint_least64_t;     
-  typedef uint64_t uint_fast64_t;      
-
-  typedef int64_t intmax_t;
-  typedef uint64_t uintmax_t;
-
-# else
-
-  typedef int32_t intmax_t;
-  typedef uint32_t uintmax_t;
-
-# endif
-
-} // namespace boost
-
-#else  // BOOST_HAS_STDINT_H
-
-# include <boost/limits.hpp> // implementation artifact; not part of interface
-# include <limits.h>         // needed for limits macros
-
-
-namespace boost
-{
-
-//  These are fairly safe guesses for some 16-bit, and most 32-bit and 64-bit
-//  platforms.  For other systems, they will have to be hand tailored.
-//
-//  Because the fast types are assumed to be the same as the undecorated types,
-//  it may be possible to hand tailor a more efficient implementation.  Such
-//  an optimization may be illusionary; on the Intel x86-family 386 on, for
-//  example, byte arithmetic and load/stores are as fast as "int" sized ones.
-
-//  8-bit types  ------------------------------------------------------------//
-
-# if UCHAR_MAX == 0xff
-     typedef signed char     int8_t;
-     typedef signed char     int_least8_t;
-     typedef signed char     int_fast8_t;
-     typedef unsigned char   uint8_t;
-     typedef unsigned char   uint_least8_t;
-     typedef unsigned char   uint_fast8_t;
-# else
-#    error defaults not correct; you must hand modify boost/cstdint.hpp
-# endif
-
-//  16-bit types  -----------------------------------------------------------//
-
-# if USHRT_MAX == 0xffff
-#  if defined(__crayx1)
-     // The Cray X1 has a 16-bit short, however it is not recommend
-     // for use in performance critical code.
-     typedef short           int16_t;
-     typedef short           int_least16_t;
-     typedef int             int_fast16_t;
-     typedef unsigned short  uint16_t;
-     typedef unsigned short  uint_least16_t;
-     typedef unsigned int    uint_fast16_t;
-#  else
-     typedef short           int16_t;
-     typedef short           int_least16_t;
-     typedef short           int_fast16_t;
-     typedef unsigned short  uint16_t;
-     typedef unsigned short  uint_least16_t;
-     typedef unsigned short  uint_fast16_t;
-#  endif
-# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__) 
-      // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified 
-      // MTA / XMT does support the following non-standard integer types 
-      typedef __short16           int16_t; 
-      typedef __short16           int_least16_t; 
-      typedef __short16           int_fast16_t; 
-      typedef unsigned __short16  uint16_t; 
-      typedef unsigned __short16  uint_least16_t; 
-      typedef unsigned __short16  uint_fast16_t; 
-# elif (USHRT_MAX == 0xffffffff) && defined(CRAY)
-     // no 16-bit types on Cray:
-     typedef short           int_least16_t;
-     typedef short           int_fast16_t;
-     typedef unsigned short  uint_least16_t;
-     typedef unsigned short  uint_fast16_t;
-# else
-#    error defaults not correct; you must hand modify boost/cstdint.hpp
-# endif
-
-//  32-bit types  -----------------------------------------------------------//
-
-# if UINT_MAX == 0xffffffff
-     typedef int             int32_t;
-     typedef int             int_least32_t;
-     typedef int             int_fast32_t;
-     typedef unsigned int    uint32_t;
-     typedef unsigned int    uint_least32_t;
-     typedef unsigned int    uint_fast32_t;
-# elif (USHRT_MAX == 0xffffffff)
-     typedef short             int32_t;
-     typedef short             int_least32_t;
-     typedef short             int_fast32_t;
-     typedef unsigned short    uint32_t;
-     typedef unsigned short    uint_least32_t;
-     typedef unsigned short    uint_fast32_t;
-# elif ULONG_MAX == 0xffffffff
-     typedef long            int32_t;
-     typedef long            int_least32_t;
-     typedef long            int_fast32_t;
-     typedef unsigned long   uint32_t;
-     typedef unsigned long   uint_least32_t;
-     typedef unsigned long   uint_fast32_t;
-# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__) 
-      // Integers are 64 bits on the MTA / XMT 
-      typedef __int32           int32_t; 
-      typedef __int32           int_least32_t; 
-      typedef __int32           int_fast32_t; 
-      typedef unsigned __int32  uint32_t; 
-      typedef unsigned __int32  uint_least32_t; 
-      typedef unsigned __int32  uint_fast32_t; 
-# else
-#    error defaults not correct; you must hand modify boost/cstdint.hpp
-# endif
-
-//  64-bit types + intmax_t and uintmax_t  ----------------------------------//
-
-# if defined(BOOST_HAS_LONG_LONG) && \
-   !defined(BOOST_MSVC) && !defined(__BORLANDC__) && \
-   (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \
-   (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
-#    if defined(__hpux)
-     // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions
-#    elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL)
-                                                                 // 2**64 - 1
-#    else
-#       error defaults not correct; you must hand modify boost/cstdint.hpp
-#    endif
-
-     typedef  ::boost::long_long_type            intmax_t;
-     typedef  ::boost::ulong_long_type   uintmax_t;
-     typedef  ::boost::long_long_type            int64_t;
-     typedef  ::boost::long_long_type            int_least64_t;
-     typedef  ::boost::long_long_type            int_fast64_t;
-     typedef  ::boost::ulong_long_type   uint64_t;
-     typedef  ::boost::ulong_long_type   uint_least64_t;
-     typedef  ::boost::ulong_long_type   uint_fast64_t;
-
-# elif ULONG_MAX != 0xffffffff
-
-#    if ULONG_MAX == 18446744073709551615 // 2**64 - 1
-     typedef long                 intmax_t;
-     typedef unsigned long        uintmax_t;
-     typedef long                 int64_t;
-     typedef long                 int_least64_t;
-     typedef long                 int_fast64_t;
-     typedef unsigned long        uint64_t;
-     typedef unsigned long        uint_least64_t;
-     typedef unsigned long        uint_fast64_t;
-#    else
-#       error defaults not correct; you must hand modify boost/cstdint.hpp
-#    endif
-# elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG)
-     __extension__ typedef long long            intmax_t;
-     __extension__ typedef unsigned long long   uintmax_t;
-     __extension__ typedef long long            int64_t;
-     __extension__ typedef long long            int_least64_t;
-     __extension__ typedef long long            int_fast64_t;
-     __extension__ typedef unsigned long long   uint64_t;
-     __extension__ typedef unsigned long long   uint_least64_t;
-     __extension__ typedef unsigned long long   uint_fast64_t;
-# elif defined(BOOST_HAS_MS_INT64)
-     //
-     // we have Borland/Intel/Microsoft __int64:
-     //
-     typedef __int64             intmax_t;
-     typedef unsigned __int64    uintmax_t;
-     typedef __int64             int64_t;
-     typedef __int64             int_least64_t;
-     typedef __int64             int_fast64_t;
-     typedef unsigned __int64    uint64_t;
-     typedef unsigned __int64    uint_least64_t;
-     typedef unsigned __int64    uint_fast64_t;
-# else // assume no 64-bit integers
-#  define BOOST_NO_INT64_T
-     typedef int32_t              intmax_t;
-     typedef uint32_t             uintmax_t;
-# endif
-
-} // namespace boost
-
-
-#endif // BOOST_HAS_STDINT_H
-
-#endif // BOOST_CSTDINT_HPP
-
-
-/****************************************************
-
-Macro definition section:
-
-Added 23rd September 2000 (John Maddock).
-Modified 11th September 2001 to be excluded when
-BOOST_HAS_STDINT_H is defined (John Maddock).
-Modified 11th Dec 2009 to always define the
-INT#_C macros if they're not already defined (John Maddock).
-
-******************************************************/
-
-#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \
-   (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C))
-//
-// For the following code we get several warnings along the lines of: 
-// 
-// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant 
-// 
-// So we declare this a system header to suppress these warnings. 
-//
-#if defined(__GNUC__) && (__GNUC__ >= 4) 
-#pragma GCC system_header 
-#endif 
-
-#include <limits.h>
-# define BOOST__STDC_CONSTANT_MACROS_DEFINED
-# if defined(BOOST_HAS_MS_INT64)
-//
-// Borland/Intel/Microsoft compilers have width specific suffixes:
-//
-#ifndef INT8_C
-#  define INT8_C(value)     value##i8
-#endif
-#ifndef INT16_C
-#  define INT16_C(value)    value##i16
-#endif
-#ifndef INT32_C
-#  define INT32_C(value)    value##i32
-#endif
-#ifndef INT64_C
-#  define INT64_C(value)    value##i64
-#endif
-#  ifdef __BORLANDC__
-    // Borland bug: appending ui8 makes the type a signed char
-#   define UINT8_C(value)    static_cast<unsigned char>(value##u)
-#  else
-#   define UINT8_C(value)    value##ui8
-#  endif
-#ifndef UINT16_C
-#  define UINT16_C(value)   value##ui16
-#endif
-#ifndef UINT32_C
-#  define UINT32_C(value)   value##ui32
-#endif
-#ifndef UINT64_C
-#  define UINT64_C(value)   value##ui64
-#endif
-#ifndef INTMAX_C
-#  define INTMAX_C(value)   value##i64
-#  define UINTMAX_C(value)  value##ui64
-#endif
-
-# else
-//  do it the old fashioned way:
-
-//  8-bit types  ------------------------------------------------------------//
-
-#  if (UCHAR_MAX == 0xff) && !defined(INT8_C)
-#   define INT8_C(value) static_cast<boost::int8_t>(value)
-#   define UINT8_C(value) static_cast<boost::uint8_t>(value##u)
-#  endif
-
-//  16-bit types  -----------------------------------------------------------//
-
-#  if (USHRT_MAX == 0xffff) && !defined(INT16_C)
-#   define INT16_C(value) static_cast<boost::int16_t>(value)
-#   define UINT16_C(value) static_cast<boost::uint16_t>(value##u)
-#  endif
-
-//  32-bit types  -----------------------------------------------------------//
-#ifndef INT32_C
-#  if (UINT_MAX == 0xffffffff)
-#   define INT32_C(value) value
-#   define UINT32_C(value) value##u
-#  elif ULONG_MAX == 0xffffffff
-#   define INT32_C(value) value##L
-#   define UINT32_C(value) value##uL
-#  endif
-#endif
-
-//  64-bit types + intmax_t and uintmax_t  ----------------------------------//
-#ifndef INT64_C
-#  if defined(BOOST_HAS_LONG_LONG) && \
-    (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_LLONG_MAX))
-
-#    if defined(__hpux)
-        // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions
-#       define INT64_C(value) value##LL
-#       define UINT64_C(value) value##uLL
-#    elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) ||  \
-        (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) ||  \
-        (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \
-        (defined(_LLONG_MAX) && _LLONG_MAX == 18446744073709551615ULL)
-
-#       define INT64_C(value) value##LL
-#       define UINT64_C(value) value##uLL
-#    else
-#       error defaults not correct; you must hand modify boost/cstdint.hpp
-#    endif
-#  elif ULONG_MAX != 0xffffffff
-
-#    if ULONG_MAX == 18446744073709551615U // 2**64 - 1
-#       define INT64_C(value) value##L
-#       define UINT64_C(value) value##uL
-#    else
-#       error defaults not correct; you must hand modify boost/cstdint.hpp
-#    endif
-#  elif defined(BOOST_HAS_LONG_LONG)
-     // Usual macros not defined, work things out for ourselves:
-#    if(~0uLL == 18446744073709551615ULL)
-#       define INT64_C(value) value##LL
-#       define UINT64_C(value) value##uLL
-#    else
-#       error defaults not correct; you must hand modify boost/cstdint.hpp
-#    endif
-#  else
-#    error defaults not correct; you must hand modify boost/cstdint.hpp
-#  endif
-
-#  ifdef BOOST_NO_INT64_T
-#   define INTMAX_C(value) INT32_C(value)
-#   define UINTMAX_C(value) UINT32_C(value)
-#  else
-#   define INTMAX_C(value) INT64_C(value)
-#   define UINTMAX_C(value) UINT64_C(value)
-#  endif
-#endif
-# endif // Borland/Microsoft specific width suffixes
-
-#endif // INT#_C macros.
-
-
-
-
diff --git a/SRC/Boost/boost/cstdlib.hpp b/SRC/Boost/boost/cstdlib.hpp
deleted file mode 100755
index 9f43030..0000000
--- a/SRC/Boost/boost/cstdlib.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//  boost/cstdlib.hpp header  ------------------------------------------------//
-
-//  Copyright Beman Dawes 2001.  Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/utility/cstdlib.html for documentation.
-
-//  Revision History
-//   26 Feb 01  Initial version (Beman Dawes)
-
-#ifndef BOOST_CSTDLIB_HPP
-#define BOOST_CSTDLIB_HPP
-
-#include <cstdlib>
-
-namespace boost
-{
-   //  The intent is to propose the following for addition to namespace std
-   //  in the C++ Standard Library, and to then deprecate EXIT_SUCCESS and
-   //  EXIT_FAILURE.  As an implementation detail, this header defines the
-   //  new constants in terms of EXIT_SUCCESS and EXIT_FAILURE.  In a new
-   //  standard, the constants would be implementation-defined, although it
-   //  might be worthwhile to "suggest" (which a standard is allowed to do)
-   //  values of 0 and 1 respectively.
-
-   //  Rationale for having multiple failure values: some environments may
-   //  wish to distinguish between different classes of errors.
-   //  Rationale for choice of values: programs often use values < 100 for
-   //  their own error reporting.  Values > 255 are sometimes reserved for
-   //  system detected errors.  200/201 were suggested to minimize conflict.
-
-   const int exit_success = EXIT_SUCCESS;  // implementation-defined value
-   const int exit_failure = EXIT_FAILURE;  // implementation-defined value
-   const int exit_exception_failure = 200; // otherwise uncaught exception
-   const int exit_test_failure = 201;      // report_error or
-                                           //  report_critical_error called.
-}
-
-#endif
-
diff --git a/SRC/Boost/boost/current_function.hpp b/SRC/Boost/boost/current_function.hpp
deleted file mode 100755
index df81035..0000000
--- a/SRC/Boost/boost/current_function.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED
-#define BOOST_CURRENT_FUNCTION_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/current_function.hpp - BOOST_CURRENT_FUNCTION
-//
-//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org/libs/utility/current_function.html
-//
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void current_function_helper()
-{
-
-#if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__)
-
-# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
-
-#elif defined(__DMC__) && (__DMC__ >= 0x810)
-
-# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
-
-#elif defined(__FUNCSIG__)
-
-# define BOOST_CURRENT_FUNCTION __FUNCSIG__
-
-#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))
-
-# define BOOST_CURRENT_FUNCTION __FUNCTION__
-
-#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
-
-# define BOOST_CURRENT_FUNCTION __FUNC__
-
-#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
-
-# define BOOST_CURRENT_FUNCTION __func__
-
-#else
-
-# define BOOST_CURRENT_FUNCTION "(unknown)"
-
-#endif
-
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/detail/allocator_utilities.hpp b/SRC/Boost/boost/detail/allocator_utilities.hpp
deleted file mode 100755
index dfecd72..0000000
--- a/SRC/Boost/boost/detail/allocator_utilities.hpp
+++ /dev/null
@@ -1,212 +0,0 @@
-/* Copyright 2003-2009 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See Boost website at http://www.boost.org/
- */
-
-#ifndef BOOST_DETAIL_ALLOCATOR_UTILITIES_HPP
-#define BOOST_DETAIL_ALLOCATOR_UTILITIES_HPP
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/aux_/msvc_never_true.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <cstddef>
-#include <memory>
-#include <new>
-
-namespace boost{
-
-namespace detail{
-
-/* Allocator adaption layer. Some stdlibs provide allocators without rebind
- * and template ctors. These facilities are simulated with the external
- * template class rebind_to and the aid of partial_std_allocator_wrapper.
- */
-
-namespace allocator{
-
-/* partial_std_allocator_wrapper inherits the functionality of a std
- * allocator while providing a templatized ctor and other bits missing
- * in some stdlib implementation or another.
- */
-
-template<typename Type>
-class partial_std_allocator_wrapper:public std::allocator<Type>
-{
-public:
-  /* Oddly enough, STLport does not define std::allocator<void>::value_type
-   * when configured to work without partial template specialization.
-   * No harm in supplying the definition here unconditionally.
-   */
-
-  typedef Type value_type;
-
-  partial_std_allocator_wrapper(){};
-
-  template<typename Other>
-  partial_std_allocator_wrapper(const partial_std_allocator_wrapper<Other>&){}
-
-  partial_std_allocator_wrapper(const std::allocator<Type>& x):
-    std::allocator<Type>(x)
-  {
-  };
-
-#if defined(BOOST_DINKUMWARE_STDLIB)
-  /* Dinkumware guys didn't provide a means to call allocate() without
-   * supplying a hint, in disagreement with the standard.
-   */
-
-  Type* allocate(std::size_t n,const void* hint=0)
-  {
-    std::allocator<Type>& a=*this;
-    return a.allocate(n,hint);
-  }
-#endif
-
-};
-
-/* Detects whether a given allocator belongs to a defective stdlib not
- * having the required member templates.
- * Note that it does not suffice to check the Boost.Config stdlib
- * macros, as the user might have passed a custom, compliant allocator.
- * The checks also considers partial_std_allocator_wrapper to be
- * a standard defective allocator.
- */
-
-#if defined(BOOST_NO_STD_ALLOCATOR)&&\
-  (defined(BOOST_HAS_PARTIAL_STD_ALLOCATOR)||defined(BOOST_DINKUMWARE_STDLIB))
-
-template<typename Allocator>
-struct is_partial_std_allocator
-{
-  BOOST_STATIC_CONSTANT(bool,
-    value=
-      (is_same<
-        std::allocator<BOOST_DEDUCED_TYPENAME Allocator::value_type>,
-        Allocator
-      >::value)||
-      (is_same<
-        partial_std_allocator_wrapper<
-          BOOST_DEDUCED_TYPENAME Allocator::value_type>,
-        Allocator
-      >::value));
-};
-
-#else
-
-template<typename Allocator>
-struct is_partial_std_allocator
-{
-  BOOST_STATIC_CONSTANT(bool,value=false);
-};
-
-#endif
-
-/* rebind operations for defective std allocators */
-
-template<typename Allocator,typename Type>
-struct partial_std_allocator_rebind_to
-{
-  typedef partial_std_allocator_wrapper<Type> type;
-};
-
-/* rebind operation in all other cases */
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-/* Workaround for a problem in MSVC with dependent template typedefs
- * when doing rebinding of allocators.
- * Modeled after <boost/mpl/aux_/msvc_dtw.hpp> (thanks, Aleksey!)
- */
-
-template<typename Allocator>
-struct rebinder
-{
-  template<bool> struct fake_allocator:Allocator{};
-  template<> struct fake_allocator<true>
-  {
-    template<typename Type> struct rebind{};
-  };
-
-  template<typename Type>
-  struct result:
-    fake_allocator<mpl::aux::msvc_never_true<Allocator>::value>::
-      template rebind<Type>
-  {
-  };
-};
-#else
-template<typename Allocator>
-struct rebinder
-{
-  template<typename Type>
-  struct result
-  {
-      typedef typename Allocator::BOOST_NESTED_TEMPLATE 
-          rebind<Type>::other other;
-  };
-};
-#endif
-
-template<typename Allocator,typename Type>
-struct compliant_allocator_rebind_to
-{
-  typedef typename rebinder<Allocator>::
-      BOOST_NESTED_TEMPLATE result<Type>::other type;
-};
-
-/* rebind front-end */
-
-template<typename Allocator,typename Type>
-struct rebind_to:
-  mpl::eval_if_c<
-    is_partial_std_allocator<Allocator>::value,
-    partial_std_allocator_rebind_to<Allocator,Type>,
-    compliant_allocator_rebind_to<Allocator,Type>
-  >
-{
-};
-
-/* allocator-independent versions of construct and destroy */
-
-template<typename Type>
-void construct(void* p,const Type& t)
-{
-  new (p) Type(t);
-}
-
-#if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500))
-/* MSVC++ issues spurious warnings about unreferencend formal parameters
- * in destroy<Type> when Type is a class with trivial dtor.
- */
-
-#pragma warning(push)
-#pragma warning(disable:4100)  
-#endif
-
-template<typename Type>
-void destroy(const Type* p)
-{
-
-#if BOOST_WORKAROUND(__SUNPRO_CC,BOOST_TESTED_AT(0x590))
-  const_cast<Type*>(p)->~Type();
-#else
-  p->~Type();
-#endif
-
-}
-
-#if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500))
-#pragma warning(pop)
-#endif
-
-} /* namespace boost::detail::allocator */
-
-} /* namespace boost::detail */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/detail/atomic_count.hpp b/SRC/Boost/boost/detail/atomic_count.hpp
deleted file mode 100755
index 49becbe..0000000
--- a/SRC/Boost/boost/detail/atomic_count.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
-#define BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/atomic_count.hpp - thread/SMP safe reference counter
-//
-//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-
-#include <boost/smart_ptr/detail/atomic_count.hpp>
-
-#endif // #ifndef BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/detail/binary_search.hpp b/SRC/Boost/boost/detail/binary_search.hpp
deleted file mode 100755
index 8242b70..0000000
--- a/SRC/Boost/boost/detail/binary_search.hpp
+++ /dev/null
@@ -1,216 +0,0 @@
-// Copyright (c)  2000 David Abrahams. 
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-// 
-// Copyright (c) 1994
-// Hewlett-Packard Company
-// 
-// Permission to use, copy, modify, distribute and sell this software
-// and its documentation for any purpose is hereby granted without fee,
-// provided that the above copyright notice appear in all copies and
-// that both that copyright notice and this permission notice appear
-// in supporting documentation.  Hewlett-Packard Company makes no
-// representations about the suitability of this software for any
-// purpose.  It is provided "as is" without express or implied warranty.
-// 
-// Copyright (c) 1996
-// Silicon Graphics Computer Systems, Inc.
-// 
-// Permission to use, copy, modify, distribute and sell this software
-// and its documentation for any purpose is hereby granted without fee,
-// provided that the above copyright notice appear in all copies and
-// that both that copyright notice and this permission notice appear
-// in supporting documentation.  Silicon Graphics makes no
-// representations about the suitability of this software for any
-// purpose.  It is provided "as is" without express or implied warranty.
-// 
-#ifndef BINARY_SEARCH_DWA_122600_H_
-# define BINARY_SEARCH_DWA_122600_H_
-
-# include <boost/detail/iterator.hpp>
-# include <utility>
-
-namespace boost { namespace detail {
-
-template <class ForwardIter, class Tp>
-ForwardIter lower_bound(ForwardIter first, ForwardIter last,
-                             const Tp& val) 
-{
-    typedef detail::iterator_traits<ForwardIter> traits;
-    
-    typename traits::difference_type len = boost::detail::distance(first, last);
-    typename traits::difference_type half;
-    ForwardIter middle;
-
-    while (len > 0) {
-      half = len >> 1;
-      middle = first;
-      std::advance(middle, half);
-      if (*middle < val) {
-        first = middle;
-        ++first;
-        len = len - half - 1;
-      }
-      else
-        len = half;
-    }
-    return first;
-}
-
-template <class ForwardIter, class Tp, class Compare>
-ForwardIter lower_bound(ForwardIter first, ForwardIter last,
-                              const Tp& val, Compare comp)
-{
-  typedef detail::iterator_traits<ForwardIter> traits;
-
-  typename traits::difference_type len = boost::detail::distance(first, last);
-  typename traits::difference_type half;
-  ForwardIter middle;
-
-  while (len > 0) {
-    half = len >> 1;
-    middle = first;
-    std::advance(middle, half);
-    if (comp(*middle, val)) {
-      first = middle;
-      ++first;
-      len = len - half - 1;
-    }
-    else
-      len = half;
-  }
-  return first;
-}
-
-template <class ForwardIter, class Tp>
-ForwardIter upper_bound(ForwardIter first, ForwardIter last,
-                           const Tp& val)
-{
-  typedef detail::iterator_traits<ForwardIter> traits;
-
-  typename traits::difference_type len = boost::detail::distance(first, last);
-  typename traits::difference_type half;
-  ForwardIter middle;
-
-  while (len > 0) {
-    half = len >> 1;
-    middle = first;
-    std::advance(middle, half);
-    if (val < *middle)
-      len = half;
-    else {
-      first = middle;
-      ++first;
-      len = len - half - 1;
-    }
-  }
-  return first;
-}
-
-template <class ForwardIter, class Tp, class Compare>
-ForwardIter upper_bound(ForwardIter first, ForwardIter last,
-                           const Tp& val, Compare comp)
-{
-  typedef detail::iterator_traits<ForwardIter> traits;
-
-  typename traits::difference_type len = boost::detail::distance(first, last);
-  typename traits::difference_type half;
-  ForwardIter middle;
-
-  while (len > 0) {
-    half = len >> 1;
-    middle = first;
-    std::advance(middle, half);
-    if (comp(val, *middle))
-      len = half;
-    else {
-      first = middle;
-      ++first;
-      len = len - half - 1;
-    }
-  }
-  return first;
-}
-
-template <class ForwardIter, class Tp>
-std::pair<ForwardIter, ForwardIter>
-equal_range(ForwardIter first, ForwardIter last, const Tp& val)
-{
-  typedef detail::iterator_traits<ForwardIter> traits;
-
-  typename traits::difference_type len = boost::detail::distance(first, last);
-  typename traits::difference_type half;
-  ForwardIter middle, left, right;
-
-  while (len > 0) {
-    half = len >> 1;
-    middle = first;
-    std::advance(middle, half);
-    if (*middle < val) {
-      first = middle;
-      ++first;
-      len = len - half - 1;
-    }
-    else if (val < *middle)
-      len = half;
-    else {
-      left = boost::detail::lower_bound(first, middle, val);
-      std::advance(first, len);
-      right = boost::detail::upper_bound(++middle, first, val);
-      return std::pair<ForwardIter, ForwardIter>(left, right);
-    }
-  }
-  return std::pair<ForwardIter, ForwardIter>(first, first);
-}
-
-template <class ForwardIter, class Tp, class Compare>
-std::pair<ForwardIter, ForwardIter>
-equal_range(ForwardIter first, ForwardIter last, const Tp& val,
-              Compare comp)
-{
-  typedef detail::iterator_traits<ForwardIter> traits;
-
-  typename traits::difference_type len = boost::detail::distance(first, last);
-  typename traits::difference_type half;
-  ForwardIter middle, left, right;
-
-  while (len > 0) {
-    half = len >> 1;
-    middle = first;
-    std::advance(middle, half);
-    if (comp(*middle, val)) {
-      first = middle;
-      ++first;
-      len = len - half - 1;
-    }
-    else if (comp(val, *middle))
-      len = half;
-    else {
-      left = boost::detail::lower_bound(first, middle, val, comp);
-      std::advance(first, len);
-      right = boost::detail::upper_bound(++middle, first, val, comp);
-      return std::pair<ForwardIter, ForwardIter>(left, right);
-    }
-  }
-  return std::pair<ForwardIter, ForwardIter>(first, first);
-}           
-
-template <class ForwardIter, class Tp>
-bool binary_search(ForwardIter first, ForwardIter last,
-                   const Tp& val) {
-  ForwardIter i = boost::detail::lower_bound(first, last, val);
-  return i != last && !(val < *i);
-}
-
-template <class ForwardIter, class Tp, class Compare>
-bool binary_search(ForwardIter first, ForwardIter last,
-                   const Tp& val,
-                   Compare comp) {
-  ForwardIter i = boost::detail::lower_bound(first, last, val, comp);
-  return i != last && !comp(val, *i);
-}
-
-}} // namespace boost::detail
-
-#endif // BINARY_SEARCH_DWA_122600_H_
diff --git a/SRC/Boost/boost/detail/bitmask.hpp b/SRC/Boost/boost/detail/bitmask.hpp
deleted file mode 100755
index 1ad277a..0000000
--- a/SRC/Boost/boost/detail/bitmask.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//  boost/detail/bitmask.hpp  ------------------------------------------------//
-
-//  Copyright Beman Dawes 2006
-
-//  Distributed under the Boost Software License, Version 1.0
-//  http://www.boost.org/LICENSE_1_0.txt
-
-//  Usage:  enum foo { a=1, b=2, c=4 };
-//          BOOST_BITMASK( foo );
-//
-//          void f( foo arg );
-//          ...
-//          f( a | c );
-
-#ifndef BOOST_BITMASK_HPP
-#define BOOST_BITMASK_HPP
-
-#include <boost/cstdint.hpp>
-
-#define BOOST_BITMASK(Bitmask)                                            \
-                                                                          \
-  inline Bitmask operator| (Bitmask x , Bitmask y )                       \
-  { return static_cast<Bitmask>( static_cast<boost::int_least32_t>(x)     \
-      | static_cast<boost::int_least32_t>(y)); }                          \
-                                                                          \
-  inline Bitmask operator& (Bitmask x , Bitmask y )                       \
-  { return static_cast<Bitmask>( static_cast<boost::int_least32_t>(x)     \
-      & static_cast<boost::int_least32_t>(y)); }                          \
-                                                                          \
-  inline Bitmask operator^ (Bitmask x , Bitmask y )                       \
-  { return static_cast<Bitmask>( static_cast<boost::int_least32_t>(x)     \
-      ^ static_cast<boost::int_least32_t>(y)); }                          \
-                                                                          \
-  inline Bitmask operator~ (Bitmask x )                                   \
-  { return static_cast<Bitmask>(~static_cast<boost::int_least32_t>(x)); } \
-                                                                          \
-  inline Bitmask & operator&=(Bitmask & x , Bitmask y)                    \
-  { x = x & y ; return x ; }                                              \
-                                                                          \
-  inline Bitmask & operator|=(Bitmask & x , Bitmask y)                    \
-  { x = x | y ; return x ; }                                              \
-                                                                          \
-  inline Bitmask & operator^=(Bitmask & x , Bitmask y)                    \
-  { x = x ^ y ; return x ; }                                              
-
-#endif // BOOST_BITMASK_HPP
-
diff --git a/SRC/Boost/boost/detail/call_traits.hpp b/SRC/Boost/boost/detail/call_traits.hpp
deleted file mode 100755
index e0296ba..0000000
--- a/SRC/Boost/boost/detail/call_traits.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/utility for most recent version including documentation.
-
-// call_traits: defines typedefs for function usage
-// (see libs/utility/call_traits.htm)
-
-/* Release notes:
-   23rd July 2000:
-      Fixed array specialization. (JM)
-      Added Borland specific fixes for reference types
-      (issue raised by Steve Cleary).
-*/
-
-#ifndef BOOST_DETAIL_CALL_TRAITS_HPP
-#define BOOST_DETAIL_CALL_TRAITS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#include <boost/config.hpp>
-#endif
-#include <cstddef>
-
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost{
-
-namespace detail{
-
-template <typename T, bool small_>
-struct ct_imp2
-{
-   typedef const T& param_type;
-};
-
-template <typename T>
-struct ct_imp2<T, true>
-{
-   typedef const T param_type;
-};
-
-template <typename T, bool isp, bool b1>
-struct ct_imp
-{
-   typedef const T& param_type;
-};
-
-template <typename T, bool isp>
-struct ct_imp<T, isp, true>
-{
-   typedef typename ct_imp2<T, sizeof(T) <= sizeof(void*)>::param_type param_type;
-};
-
-template <typename T, bool b1>
-struct ct_imp<T, true, b1>
-{
-   typedef const T param_type;
-};
-
-}
-
-template <typename T>
-struct call_traits
-{
-public:
-   typedef T value_type;
-   typedef T& reference;
-   typedef const T& const_reference;
-   //
-   // C++ Builder workaround: we should be able to define a compile time
-   // constant and pass that as a single template parameter to ct_imp<T,bool>,
-   // however compiler bugs prevent this - instead pass three bool's to
-   // ct_imp<T,bool,bool,bool> and add an extra partial specialisation
-   // of ct_imp to handle the logic. (JM)
-   typedef typename boost::detail::ct_imp<
-      T,
-      ::boost::is_pointer<T>::value,
-      ::boost::is_arithmetic<T>::value
-   >::param_type param_type;
-};
-
-template <typename T>
-struct call_traits<T&>
-{
-   typedef T& value_type;
-   typedef T& reference;
-   typedef const T& const_reference;
-   typedef T& param_type;  // hh removed const
-};
-
-#if BOOST_WORKAROUND( __BORLANDC__,  < 0x5A0 )
-// these are illegal specialisations; cv-qualifies applied to
-// references have no effect according to [8.3.2p1],
-// C++ Builder requires them though as it treats cv-qualified
-// references as distinct types...
-template <typename T>
-struct call_traits<T&const>
-{
-   typedef T& value_type;
-   typedef T& reference;
-   typedef const T& const_reference;
-   typedef T& param_type;  // hh removed const
-};
-template <typename T>
-struct call_traits<T&volatile>
-{
-   typedef T& value_type;
-   typedef T& reference;
-   typedef const T& const_reference;
-   typedef T& param_type;  // hh removed const
-};
-template <typename T>
-struct call_traits<T&const volatile>
-{
-   typedef T& value_type;
-   typedef T& reference;
-   typedef const T& const_reference;
-   typedef T& param_type;  // hh removed const
-};
-
-template <typename T>
-struct call_traits< T * >
-{
-   typedef T * value_type;
-   typedef T * & reference;
-   typedef T * const & const_reference;
-   typedef T * const param_type;  // hh removed const
-};
-#endif
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-template <typename T, std::size_t N>
-struct call_traits<T [N]>
-{
-private:
-   typedef T array_type[N];
-public:
-   // degrades array to pointer:
-   typedef const T* value_type;
-   typedef array_type& reference;
-   typedef const array_type& const_reference;
-   typedef const T* const param_type;
-};
-
-template <typename T, std::size_t N>
-struct call_traits<const T [N]>
-{
-private:
-   typedef const T array_type[N];
-public:
-   // degrades array to pointer:
-   typedef const T* value_type;
-   typedef array_type& reference;
-   typedef const array_type& const_reference;
-   typedef const T* const param_type;
-};
-#endif
-
-}
-
-#endif // BOOST_DETAIL_CALL_TRAITS_HPP
diff --git a/SRC/Boost/boost/detail/compressed_pair.hpp b/SRC/Boost/boost/detail/compressed_pair.hpp
deleted file mode 100755
index 7d9c518..0000000
--- a/SRC/Boost/boost/detail/compressed_pair.hpp
+++ /dev/null
@@ -1,443 +0,0 @@
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/utility for most recent version including documentation.
-
-// compressed_pair: pair that "compresses" empty members
-// (see libs/utility/compressed_pair.htm)
-//
-// JM changes 25 Jan 2004:
-// For the case where T1 == T2 and both are empty, then first() and second()
-// should return different objects.
-// JM changes 25 Jan 2000:
-// Removed default arguments from compressed_pair_switch to get
-// C++ Builder 4 to accept them
-// rewriten swap to get gcc and C++ builder to compile.
-// added partial specialisations for case T1 == T2 to avoid duplicate constructor defs.
-
-#ifndef BOOST_DETAIL_COMPRESSED_PAIR_HPP
-#define BOOST_DETAIL_COMPRESSED_PAIR_HPP
-
-#include <algorithm>
-
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_empty.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/call_traits.hpp>
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable:4512)
-#endif 
-namespace boost
-{
-
-template <class T1, class T2>
-class compressed_pair;
-
-
-// compressed_pair
-
-namespace details
-{
-   // JM altered 26 Jan 2000:
-   template <class T1, class T2, bool IsSame, bool FirstEmpty, bool SecondEmpty>
-   struct compressed_pair_switch;
-
-   template <class T1, class T2>
-   struct compressed_pair_switch<T1, T2, false, false, false>
-      {static const int value = 0;};
-
-   template <class T1, class T2>
-   struct compressed_pair_switch<T1, T2, false, true, true>
-      {static const int value = 3;};
-
-   template <class T1, class T2>
-   struct compressed_pair_switch<T1, T2, false, true, false>
-      {static const int value = 1;};
-
-   template <class T1, class T2>
-   struct compressed_pair_switch<T1, T2, false, false, true>
-      {static const int value = 2;};
-
-   template <class T1, class T2>
-   struct compressed_pair_switch<T1, T2, true, true, true>
-      {static const int value = 4;};
-
-   template <class T1, class T2>
-   struct compressed_pair_switch<T1, T2, true, false, false>
-      {static const int value = 5;};
-
-   template <class T1, class T2, int Version> class compressed_pair_imp;
-
-#ifdef __GNUC__
-   // workaround for GCC (JM):
-   using std::swap;
-#endif
-   //
-   // can't call unqualified swap from within classname::swap
-   // as Koenig lookup rules will find only the classname::swap
-   // member function not the global declaration, so use cp_swap
-   // as a forwarding function (JM):
-   template <typename T>
-   inline void cp_swap(T& t1, T& t2)
-   {
-#ifndef __GNUC__
-      using std::swap;
-#endif
-      swap(t1, t2);
-   }
-
-   // 0    derive from neither
-
-   template <class T1, class T2>
-   class compressed_pair_imp<T1, T2, 0>
-   {
-   public:
-      typedef T1                                                 first_type;
-      typedef T2                                                 second_type;
-      typedef typename call_traits<first_type>::param_type       first_param_type;
-      typedef typename call_traits<second_type>::param_type      second_param_type;
-      typedef typename call_traits<first_type>::reference        first_reference;
-      typedef typename call_traits<second_type>::reference       second_reference;
-      typedef typename call_traits<first_type>::const_reference  first_const_reference;
-      typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-      compressed_pair_imp() {} 
-
-      compressed_pair_imp(first_param_type x, second_param_type y)
-         : first_(x), second_(y) {}
-
-      compressed_pair_imp(first_param_type x)
-         : first_(x) {}
-
-      compressed_pair_imp(second_param_type y)
-         : second_(y) {}
-
-      first_reference       first()       {return first_;}
-      first_const_reference first() const {return first_;}
-
-      second_reference       second()       {return second_;}
-      second_const_reference second() const {return second_;}
-
-      void swap(::boost::compressed_pair<T1, T2>& y)
-      {
-         cp_swap(first_, y.first());
-         cp_swap(second_, y.second());
-      }
-   private:
-      first_type first_;
-      second_type second_;
-   };
-
-   // 1    derive from T1
-
-   template <class T1, class T2>
-   class compressed_pair_imp<T1, T2, 1>
-      : protected ::boost::remove_cv<T1>::type
-   {
-   public:
-      typedef T1                                                 first_type;
-      typedef T2                                                 second_type;
-      typedef typename call_traits<first_type>::param_type       first_param_type;
-      typedef typename call_traits<second_type>::param_type      second_param_type;
-      typedef typename call_traits<first_type>::reference        first_reference;
-      typedef typename call_traits<second_type>::reference       second_reference;
-      typedef typename call_traits<first_type>::const_reference  first_const_reference;
-      typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-      compressed_pair_imp() {}
-
-      compressed_pair_imp(first_param_type x, second_param_type y)
-         : first_type(x), second_(y) {}
-
-      compressed_pair_imp(first_param_type x)
-         : first_type(x) {}
-
-      compressed_pair_imp(second_param_type y)
-         : second_(y) {}
-
-      first_reference       first()       {return *this;}
-      first_const_reference first() const {return *this;}
-
-      second_reference       second()       {return second_;}
-      second_const_reference second() const {return second_;}
-
-      void swap(::boost::compressed_pair<T1,T2>& y)
-      {
-         // no need to swap empty base class:
-         cp_swap(second_, y.second());
-      }
-   private:
-      second_type second_;
-   };
-
-   // 2    derive from T2
-
-   template <class T1, class T2>
-   class compressed_pair_imp<T1, T2, 2>
-      : protected ::boost::remove_cv<T2>::type
-   {
-   public:
-      typedef T1                                                 first_type;
-      typedef T2                                                 second_type;
-      typedef typename call_traits<first_type>::param_type       first_param_type;
-      typedef typename call_traits<second_type>::param_type      second_param_type;
-      typedef typename call_traits<first_type>::reference        first_reference;
-      typedef typename call_traits<second_type>::reference       second_reference;
-      typedef typename call_traits<first_type>::const_reference  first_const_reference;
-      typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-      compressed_pair_imp() {}
-
-      compressed_pair_imp(first_param_type x, second_param_type y)
-         : second_type(y), first_(x) {}
-
-      compressed_pair_imp(first_param_type x)
-         : first_(x) {}
-
-      compressed_pair_imp(second_param_type y)
-         : second_type(y) {}
-
-      first_reference       first()       {return first_;}
-      first_const_reference first() const {return first_;}
-
-      second_reference       second()       {return *this;}
-      second_const_reference second() const {return *this;}
-
-      void swap(::boost::compressed_pair<T1,T2>& y)
-      {
-         // no need to swap empty base class:
-         cp_swap(first_, y.first());
-      }
-
-   private:
-      first_type first_;
-   };
-
-   // 3    derive from T1 and T2
-
-   template <class T1, class T2>
-   class compressed_pair_imp<T1, T2, 3>
-      : protected ::boost::remove_cv<T1>::type,
-        protected ::boost::remove_cv<T2>::type
-   {
-   public:
-      typedef T1                                                 first_type;
-      typedef T2                                                 second_type;
-      typedef typename call_traits<first_type>::param_type       first_param_type;
-      typedef typename call_traits<second_type>::param_type      second_param_type;
-      typedef typename call_traits<first_type>::reference        first_reference;
-      typedef typename call_traits<second_type>::reference       second_reference;
-      typedef typename call_traits<first_type>::const_reference  first_const_reference;
-      typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-      compressed_pair_imp() {}
-
-      compressed_pair_imp(first_param_type x, second_param_type y)
-         : first_type(x), second_type(y) {}
-
-      compressed_pair_imp(first_param_type x)
-         : first_type(x) {}
-
-      compressed_pair_imp(second_param_type y)
-         : second_type(y) {}
-
-      first_reference       first()       {return *this;}
-      first_const_reference first() const {return *this;}
-
-      second_reference       second()       {return *this;}
-      second_const_reference second() const {return *this;}
-      //
-      // no need to swap empty bases:
-      void swap(::boost::compressed_pair<T1,T2>&) {}
-   };
-
-   // JM
-   // 4    T1 == T2, T1 and T2 both empty
-   //      Originally this did not store an instance of T2 at all
-   //      but that led to problems beause it meant &x.first() == &x.second()
-   //      which is not true for any other kind of pair, so now we store an instance
-   //      of T2 just in case the user is relying on first() and second() returning
-   //      different objects (albeit both empty).
-   template <class T1, class T2>
-   class compressed_pair_imp<T1, T2, 4>
-      : protected ::boost::remove_cv<T1>::type
-   {
-   public:
-      typedef T1                                                 first_type;
-      typedef T2                                                 second_type;
-      typedef typename call_traits<first_type>::param_type       first_param_type;
-      typedef typename call_traits<second_type>::param_type      second_param_type;
-      typedef typename call_traits<first_type>::reference        first_reference;
-      typedef typename call_traits<second_type>::reference       second_reference;
-      typedef typename call_traits<first_type>::const_reference  first_const_reference;
-      typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-      compressed_pair_imp() {}
-
-      compressed_pair_imp(first_param_type x, second_param_type y)
-         : first_type(x), m_second(y) {}
-
-      compressed_pair_imp(first_param_type x)
-         : first_type(x), m_second(x) {}
-
-      first_reference       first()       {return *this;}
-      first_const_reference first() const {return *this;}
-
-      second_reference       second()       {return m_second;}
-      second_const_reference second() const {return m_second;}
-
-      void swap(::boost::compressed_pair<T1,T2>&) {}
-   private:
-      T2 m_second;
-   };
-
-   // 5    T1 == T2 and are not empty:   //JM
-
-   template <class T1, class T2>
-   class compressed_pair_imp<T1, T2, 5>
-   {
-   public:
-      typedef T1                                                 first_type;
-      typedef T2                                                 second_type;
-      typedef typename call_traits<first_type>::param_type       first_param_type;
-      typedef typename call_traits<second_type>::param_type      second_param_type;
-      typedef typename call_traits<first_type>::reference        first_reference;
-      typedef typename call_traits<second_type>::reference       second_reference;
-      typedef typename call_traits<first_type>::const_reference  first_const_reference;
-      typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-      compressed_pair_imp() {}
-
-      compressed_pair_imp(first_param_type x, second_param_type y)
-         : first_(x), second_(y) {}
-
-      compressed_pair_imp(first_param_type x)
-         : first_(x), second_(x) {}
-
-      first_reference       first()       {return first_;}
-      first_const_reference first() const {return first_;}
-
-      second_reference       second()       {return second_;}
-      second_const_reference second() const {return second_;}
-
-      void swap(::boost::compressed_pair<T1, T2>& y)
-      {
-         cp_swap(first_, y.first());
-         cp_swap(second_, y.second());
-      }
-   private:
-      first_type first_;
-      second_type second_;
-   };
-
-}  // details
-
-template <class T1, class T2>
-class compressed_pair
-   : private ::boost::details::compressed_pair_imp<T1, T2,
-             ::boost::details::compressed_pair_switch<
-                    T1,
-                    T2,
-                    ::boost::is_same<typename remove_cv<T1>::type, typename remove_cv<T2>::type>::value,
-                    ::boost::is_empty<T1>::value,
-                    ::boost::is_empty<T2>::value>::value>
-{
-private:
-   typedef details::compressed_pair_imp<T1, T2,
-             ::boost::details::compressed_pair_switch<
-                    T1,
-                    T2,
-                    ::boost::is_same<typename remove_cv<T1>::type, typename remove_cv<T2>::type>::value,
-                    ::boost::is_empty<T1>::value,
-                    ::boost::is_empty<T2>::value>::value> base;
-public:
-   typedef T1                                                 first_type;
-   typedef T2                                                 second_type;
-   typedef typename call_traits<first_type>::param_type       first_param_type;
-   typedef typename call_traits<second_type>::param_type      second_param_type;
-   typedef typename call_traits<first_type>::reference        first_reference;
-   typedef typename call_traits<second_type>::reference       second_reference;
-   typedef typename call_traits<first_type>::const_reference  first_const_reference;
-   typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-            compressed_pair() : base() {}
-            compressed_pair(first_param_type x, second_param_type y) : base(x, y) {}
-   explicit compressed_pair(first_param_type x) : base(x) {}
-   explicit compressed_pair(second_param_type y) : base(y) {}
-
-   first_reference       first()       {return base::first();}
-   first_const_reference first() const {return base::first();}
-
-   second_reference       second()       {return base::second();}
-   second_const_reference second() const {return base::second();}
-
-   void swap(compressed_pair& y) { base::swap(y); }
-};
-
-// JM
-// Partial specialisation for case where T1 == T2:
-//
-template <class T>
-class compressed_pair<T, T>
-   : private details::compressed_pair_imp<T, T,
-             ::boost::details::compressed_pair_switch<
-                    T,
-                    T,
-                    ::boost::is_same<typename remove_cv<T>::type, typename remove_cv<T>::type>::value,
-                    ::boost::is_empty<T>::value,
-                    ::boost::is_empty<T>::value>::value>
-{
-private:
-   typedef details::compressed_pair_imp<T, T,
-             ::boost::details::compressed_pair_switch<
-                    T,
-                    T,
-                    ::boost::is_same<typename remove_cv<T>::type, typename remove_cv<T>::type>::value,
-                    ::boost::is_empty<T>::value,
-                    ::boost::is_empty<T>::value>::value> base;
-public:
-   typedef T                                                  first_type;
-   typedef T                                                  second_type;
-   typedef typename call_traits<first_type>::param_type       first_param_type;
-   typedef typename call_traits<second_type>::param_type      second_param_type;
-   typedef typename call_traits<first_type>::reference        first_reference;
-   typedef typename call_traits<second_type>::reference       second_reference;
-   typedef typename call_traits<first_type>::const_reference  first_const_reference;
-   typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-            compressed_pair() : base() {}
-            compressed_pair(first_param_type x, second_param_type y) : base(x, y) {}
-#if !(defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530))
-   explicit 
-#endif
-      compressed_pair(first_param_type x) : base(x) {}
-
-   first_reference       first()       {return base::first();}
-   first_const_reference first() const {return base::first();}
-
-   second_reference       second()       {return base::second();}
-   second_const_reference second() const {return base::second();}
-
-   void swap(::boost::compressed_pair<T,T>& y) { base::swap(y); }
-};
-
-template <class T1, class T2>
-inline
-void
-swap(compressed_pair<T1, T2>& x, compressed_pair<T1, T2>& y)
-{
-   x.swap(y);
-}
-
-} // boost
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif 
-
-#endif // BOOST_DETAIL_COMPRESSED_PAIR_HPP
-
diff --git a/SRC/Boost/boost/detail/container_fwd.hpp b/SRC/Boost/boost/detail/container_fwd.hpp
deleted file mode 100755
index 0e7a48b..0000000
--- a/SRC/Boost/boost/detail/container_fwd.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-
-// Copyright 2005-2011 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// Note: if you change this include guard, you also need to change
-// container_fwd_compile_fail.cpp
-#if !defined(BOOST_DETAIL_CONTAINER_FWD_HPP)
-#define BOOST_DETAIL_CONTAINER_FWD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020) && \
-    !defined(BOOST_DETAIL_TEST_CONFIG_ONLY)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-////////////////////////////////////////////////////////////////////////////////
-//                                                                            //
-// Define BOOST_DETAIL_NO_CONTAINER_FWD if you don't want this header to      //
-// forward declare standard containers.                                       //
-//                                                                            //
-////////////////////////////////////////////////////////////////////////////////
-
-#if !defined(BOOST_DETAIL_NO_CONTAINER_FWD)
-#  if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-     // STLport
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
-#  elif defined(__LIBCOMO__)
-     // Comeau STL:
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
-#  elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
-     // Rogue Wave library:
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
-#  elif defined(_LIBCPP_VERSION)
-     // libc++
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
-#  elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
-     // GNU libstdc++ 3
-#    if defined(_GLIBCXX_DEBUG) \
-        || defined(_GLIBCXX_PARALLEL) \
-        || defined(_GLIBCXX_PROFILE)
-#      define BOOST_DETAIL_NO_CONTAINER_FWD
-#    endif
-#  elif defined(__STL_CONFIG_H)
-     // generic SGI STL
-     //
-     // Forward declaration seems to be okay, but it has a couple of odd
-     // implementations.
-#    define BOOST_CONTAINER_FWD_BAD_BITSET
-#    if !defined(__STL_NON_TYPE_TMPL_PARAM_BUG)
-#      define BOOST_CONTAINER_FWD_BAD_DEQUE
-#     endif
-#  elif defined(__MSL_CPP__)
-     // MSL standard lib:
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
-#  elif defined(__IBMCPP__)
-     // The default VACPP std lib, forward declaration seems to be fine.
-#  elif defined(MSIPL_COMPILE_H)
-     // Modena C++ standard library
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
-#  elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
-     // Dinkumware Library (this has to appear after any possible replacement
-     // libraries)
-     //
-     // Works fine.
-#  else
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
-#  endif
-#endif
-
-// BOOST_DETAIL_TEST_* macros are for testing only
-// and shouldn't be relied upon. But you can use
-// BOOST_DETAIL_NO_CONTAINER_FWD to prevent forward
-// declaration of containers.
-
-#if !defined(BOOST_DETAIL_TEST_CONFIG_ONLY)
-
-#if defined(BOOST_DETAIL_NO_CONTAINER_FWD) && \
-    !defined(BOOST_DETAIL_TEST_FORCE_CONTAINER_FWD)
-
-#include <deque>
-#include <list>
-#include <vector>
-#include <map>
-#include <set>
-#include <bitset>
-#include <string>
-#include <complex>
-
-#else
-
-#include <cstddef>
-
-#if defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
-#include <deque>
-#endif
-
-#if defined(BOOST_CONTAINER_FWD_BAD_BITSET)
-#include <bitset>
-#endif
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#pragma warning(disable:4099) // struct/class mismatch in fwd declarations
-#endif
-
-namespace std
-{
-    template <class T> class allocator;
-    template <class charT, class traits, class Allocator> class basic_string;
-
-#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-    template <class charT> struct string_char_traits;
-#else
-    template <class charT> struct char_traits;
-#endif
-
-    #if BOOST_CLANG
-        template <class T> struct complex;
-    #else
-        template <class T> class complex;
-    #endif
-
-#if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
-    template <class T, class Allocator> class deque;
-#endif
-
-    template <class T, class Allocator> class list;
-    template <class T, class Allocator> class vector;
-    template <class Key, class T, class Compare, class Allocator> class map;
-    template <class Key, class T, class Compare, class Allocator>
-    class multimap;
-    template <class Key, class Compare, class Allocator> class set;
-    template <class Key, class Compare, class Allocator> class multiset;
-
-#if !defined(BOOST_CONTAINER_FWD_BAD_BITSET)
-    template <size_t N> class bitset;
-#endif
-    template <class T1, class T2> struct pair;
-}
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_DETAIL_NO_CONTAINER_FWD &&
-       // !defined(BOOST_DETAIL_TEST_FORCE_CONTAINER_FWD)
-
-#endif // BOOST_DETAIL_TEST_CONFIG_ONLY
-
-#endif
diff --git a/SRC/Boost/boost/detail/endian.hpp b/SRC/Boost/boost/detail/endian.hpp
deleted file mode 100755
index 9113108..0000000
--- a/SRC/Boost/boost/detail/endian.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2005 Caleb Epstein
-// Copyright 2006 John Maddock
-// Copyright 2010 Rene Rivera
-// Distributed under the Boost Software License, Version 1.0. (See accompany-
-// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-/*
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- */
-
-/*
- * Copyright notice reproduced from <boost/detail/limits.hpp>, from
- * which this code was originally taken.
- *
- * Modified by Caleb Epstein to use <endian.h> with GNU libc and to
- * defined the BOOST_ENDIAN macro.
- */
-
-#ifndef BOOST_DETAIL_ENDIAN_HPP
-#define BOOST_DETAIL_ENDIAN_HPP
-
-// GNU libc offers the helpful header <endian.h> which defines
-// __BYTE_ORDER
-
-#if defined (__GLIBC__)
-# include <endian.h>
-# if (__BYTE_ORDER == __LITTLE_ENDIAN)
-#  define BOOST_LITTLE_ENDIAN
-# elif (__BYTE_ORDER == __BIG_ENDIAN)
-#  define BOOST_BIG_ENDIAN
-# elif (__BYTE_ORDER == __PDP_ENDIAN)
-#  define BOOST_PDP_ENDIAN
-# else
-#  error Unknown machine endianness detected.
-# endif
-# define BOOST_BYTE_ORDER __BYTE_ORDER
-#elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) || \
-    defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) || \
-    defined(_STLP_BIG_ENDIAN) && !defined(_STLP_LITTLE_ENDIAN)
-# define BOOST_BIG_ENDIAN
-# define BOOST_BYTE_ORDER 4321
-#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) || \
-    defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) || \
-    defined(_STLP_LITTLE_ENDIAN) && !defined(_STLP_BIG_ENDIAN)
-# define BOOST_LITTLE_ENDIAN
-# define BOOST_BYTE_ORDER 1234
-#elif defined(__sparc) || defined(__sparc__) \
-   || defined(_POWER) || defined(__powerpc__) \
-   || defined(__ppc__) || defined(__hpux) || defined(__hppa) \
-   || defined(_MIPSEB) || defined(_POWER) \
-   || defined(__s390__)
-# define BOOST_BIG_ENDIAN
-# define BOOST_BYTE_ORDER 4321
-#elif defined(__i386__) || defined(__alpha__) \
-   || defined(__ia64) || defined(__ia64__) \
-   || defined(_M_IX86) || defined(_M_IA64) \
-   || defined(_M_ALPHA) || defined(__amd64) \
-   || defined(__amd64__) || defined(_M_AMD64) \
-   || defined(__x86_64) || defined(__x86_64__) \
-   || defined(_M_X64) || defined(__bfin__)
-
-# define BOOST_LITTLE_ENDIAN
-# define BOOST_BYTE_ORDER 1234
-#else
-# error The file boost/detail/endian.hpp needs to be set up for your CPU type.
-#endif
-
-
-#endif
diff --git a/SRC/Boost/boost/detail/fenv.hpp b/SRC/Boost/boost/detail/fenv.hpp
deleted file mode 100755
index a8e89e9..0000000
--- a/SRC/Boost/boost/detail/fenv.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2010      Bryce Lelbach
-
-    Distributed under the Boost Software License, Version 1.0. (See accompanying
-    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_NO_FENV_H)
-  #error This platform does not have a floating point environment
-#endif
-
-#if !defined(BOOST_DETAIL_FENV_HPP)
-#define BOOST_DETAIL_FENV_HPP
-
-/* If we're using clang + glibc, we have to get hacky. 
- * See http://llvm.org/bugs/show_bug.cgi?id=6907 */
-#if defined(__clang__)       &&                       \
-    defined(__GNU_LIBRARY__) && /* up to version 5 */ \
-    defined(__GLIBC__)          /* version 6 + */
-  #define _FENV_H
-
-  #include <features.h>
-  #include <bits/fenv.h>
-
-  extern "C" {
-    extern int fegetexceptflag (fexcept_t*, int) __THROW;
-    extern int fesetexceptflag (__const fexcept_t*, int) __THROW;
-    extern int feclearexcept (int) __THROW;
-    extern int feraiseexcept (int) __THROW;
-    extern int fetestexcept (int) __THROW;
-    extern int fegetround (void) __THROW;
-    extern int fesetround (int) __THROW;
-    extern int fegetenv (fenv_t*) __THROW;
-    extern int fesetenv (__const fenv_t*) __THROW;
-    extern int feupdateenv (__const fenv_t*) __THROW;
-    extern int feholdexcept (fenv_t*) __THROW;
-
-    #ifdef __USE_GNU
-      extern int feenableexcept (int) __THROW;
-      extern int fedisableexcept (int) __THROW;
-      extern int fegetexcept (void) __THROW;
-    #endif
-  }
-
-  namespace std { namespace tr1 {
-    using ::fenv_t;
-    using ::fexcept_t;
-    using ::fegetexceptflag;
-    using ::fesetexceptflag;
-    using ::feclearexcept;
-    using ::feraiseexcept;
-    using ::fetestexcept;
-    using ::fegetround;
-    using ::fesetround;
-    using ::fegetenv;
-    using ::fesetenv;
-    using ::feupdateenv;
-    using ::feholdexcept;
-  } }
-
-#else /* if we're not using GNU's C stdlib, fenv.h should work with clang */
-  #if defined(__SUNPRO_CC) /* lol suncc */
-    #include <stdio.h>
-  #endif
-  
-  #include <fenv.h>
-
-#endif
-
-#endif /* BOOST_DETAIL_FENV_HPP */
- 
diff --git a/SRC/Boost/boost/detail/indirect_traits.hpp b/SRC/Boost/boost/detail/indirect_traits.hpp
deleted file mode 100755
index a35b7cb..0000000
--- a/SRC/Boost/boost/detail/indirect_traits.hpp
+++ /dev/null
@@ -1,487 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef INDIRECT_TRAITS_DWA2002131_HPP
-# define INDIRECT_TRAITS_DWA2002131_HPP
-# include <boost/type_traits/is_function.hpp>
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_pointer.hpp>
-# include <boost/type_traits/is_class.hpp>
-# include <boost/type_traits/is_const.hpp>
-# include <boost/type_traits/is_volatile.hpp>
-# include <boost/type_traits/is_member_function_pointer.hpp>
-# include <boost/type_traits/is_member_pointer.hpp>
-# include <boost/type_traits/remove_cv.hpp>
-# include <boost/type_traits/remove_reference.hpp>
-# include <boost/type_traits/remove_pointer.hpp>
-
-# include <boost/type_traits/detail/ice_and.hpp>
-# include <boost/detail/workaround.hpp>
-
-# include <boost/mpl/eval_if.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/and.hpp>
-# include <boost/mpl/not.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-
-#  ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   include <boost/detail/is_function_ref_tester.hpp>
-#  endif 
-
-namespace boost { namespace detail {
-
-namespace indirect_traits {
-
-#  ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template <class T>
-struct is_reference_to_const : mpl::false_
-{
-};
-
-template <class T>
-struct is_reference_to_const<T const&> : mpl::true_
-{
-};
-
-#   if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround
-template<class T>
-struct is_reference_to_const<T const volatile&> : mpl::true_
-{
-};
-#   endif 
-
-template <class T>
-struct is_reference_to_function : mpl::false_
-{
-};
-
-template <class T>
-struct is_reference_to_function<T&> : is_function<T>
-{
-};
-
-template <class T>
-struct is_pointer_to_function : mpl::false_
-{
-};
-
-// There's no such thing as a pointer-to-cv-function, so we don't need
-// specializations for those
-template <class T>
-struct is_pointer_to_function<T*> : is_function<T>
-{
-};
-
-template <class T>
-struct is_reference_to_member_function_pointer_impl : mpl::false_
-{
-};
-
-template <class T>
-struct is_reference_to_member_function_pointer_impl<T&>
-    : is_member_function_pointer<typename remove_cv<T>::type>
-{
-};
-
-
-template <class T>
-struct is_reference_to_member_function_pointer
-    : is_reference_to_member_function_pointer_impl<T>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T))
-};
-
-template <class T>
-struct is_reference_to_function_pointer_aux
-    : mpl::and_<
-          is_reference<T>
-        , is_pointer_to_function<
-              typename remove_cv<
-                  typename remove_reference<T>::type
-              >::type
-          >
-      >
-{
-    // There's no such thing as a pointer-to-cv-function, so we don't need specializations for those
-};
-
-template <class T>
-struct is_reference_to_function_pointer
-    : mpl::if_<
-          is_reference_to_function<T>
-        , mpl::false_
-        , is_reference_to_function_pointer_aux<T>
-     >::type
-{
-};
-
-template <class T>
-struct is_reference_to_non_const
-    : mpl::and_<
-          is_reference<T>
-        , mpl::not_<
-             is_reference_to_const<T>
-          >
-      >
-{
-};
-
-template <class T>
-struct is_reference_to_volatile : mpl::false_
-{
-};
-
-template <class T>
-struct is_reference_to_volatile<T volatile&> : mpl::true_
-{
-};
-
-#   if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround
-template <class T>
-struct is_reference_to_volatile<T const volatile&> : mpl::true_
-{
-};
-#   endif 
-
-
-template <class T>
-struct is_reference_to_pointer : mpl::false_
-{
-};
-
-template <class T>
-struct is_reference_to_pointer<T*&> : mpl::true_
-{
-};
-
-template <class T>
-struct is_reference_to_pointer<T* const&> : mpl::true_
-{
-};
-
-template <class T>
-struct is_reference_to_pointer<T* volatile&> : mpl::true_
-{
-};
-
-template <class T>
-struct is_reference_to_pointer<T* const volatile&> : mpl::true_
-{
-};
-
-template <class T>
-struct is_reference_to_class
-    : mpl::and_<
-          is_reference<T>
-        , is_class<
-              typename remove_cv<
-                  typename remove_reference<T>::type
-              >::type
-          >
-      >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T))
-};
-
-template <class T>
-struct is_pointer_to_class
-    : mpl::and_<
-          is_pointer<T>
-        , is_class<
-              typename remove_cv<
-                  typename remove_pointer<T>::type
-              >::type
-          >
-      >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_class,(T))
-};
-
-#  else
-
-using namespace boost::detail::is_function_ref_tester_;
-
-typedef char (&inner_yes_type)[3];
-typedef char (&inner_no_type)[2];
-typedef char (&outer_no_type)[1];
-
-template <typename V>
-struct is_const_help
-{
-    typedef typename mpl::if_<
-          is_const<V>
-        , inner_yes_type
-        , inner_no_type
-        >::type type;
-};
-
-template <typename V>
-struct is_volatile_help
-{
-    typedef typename mpl::if_<
-          is_volatile<V>
-        , inner_yes_type
-        , inner_no_type
-        >::type type;
-};
-
-template <typename V>
-struct is_pointer_help
-{
-    typedef typename mpl::if_<
-          is_pointer<V>
-        , inner_yes_type
-        , inner_no_type
-        >::type type;
-};
-
-template <typename V>
-struct is_class_help
-{
-    typedef typename mpl::if_<
-          is_class<V>
-        , inner_yes_type
-        , inner_no_type
-        >::type type;
-};
-
-template <class T>
-struct is_reference_to_function_aux
-{
-    static T t;
-    BOOST_STATIC_CONSTANT(
-        bool, value = sizeof(detail::is_function_ref_tester(t,0)) == sizeof(::boost::type_traits::yes_type));
-    typedef mpl::bool_<value> type;
- };
-
-template <class T>
-struct is_reference_to_function
-    : mpl::if_<is_reference<T>, is_reference_to_function_aux<T>, mpl::bool_<false> >::type
-{
-};
-
-template <class T>
-struct is_pointer_to_function_aux
-{
-    static T t;
-    BOOST_STATIC_CONSTANT(
-        bool, value
-        = sizeof(::boost::type_traits::is_function_ptr_tester(t)) == sizeof(::boost::type_traits::yes_type));
-    typedef mpl::bool_<value> type;
-};
-
-template <class T>
-struct is_pointer_to_function
-    : mpl::if_<is_pointer<T>, is_pointer_to_function_aux<T>, mpl::bool_<false> >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_function,(T))
-};
-
-struct false_helper1
-{
-    template <class T>
-    struct apply : mpl::false_
-    {
-    };
-};
-
-template <typename V>
-typename is_const_help<V>::type reference_to_const_helper(V&);    
-outer_no_type
-reference_to_const_helper(...);
-
-struct true_helper1
-{
-    template <class T>
-    struct apply
-    {
-        static T t;
-        BOOST_STATIC_CONSTANT(
-            bool, value
-            = sizeof(reference_to_const_helper(t)) == sizeof(inner_yes_type));
-        typedef mpl::bool_<value> type;
-    };
-};
-
-template <bool ref = true>
-struct is_reference_to_const_helper1 : true_helper1
-{
-};
-
-template <>
-struct is_reference_to_const_helper1<false> : false_helper1
-{
-};
-
-
-template <class T>
-struct is_reference_to_const
-    : is_reference_to_const_helper1<is_reference<T>::value>::template apply<T>
-{
-};
-
-
-template <bool ref = true>
-struct is_reference_to_non_const_helper1
-{
-    template <class T>
-    struct apply
-    {
-        static T t;
-        BOOST_STATIC_CONSTANT(
-            bool, value
-            = sizeof(reference_to_const_helper(t)) == sizeof(inner_no_type));
-        
-        typedef mpl::bool_<value> type;
-    };
-};
-
-template <>
-struct is_reference_to_non_const_helper1<false> : false_helper1
-{
-};
-
-
-template <class T>
-struct is_reference_to_non_const
-    : is_reference_to_non_const_helper1<is_reference<T>::value>::template apply<T>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_non_const,(T))
-};
-
-
-template <typename V>
-typename is_volatile_help<V>::type reference_to_volatile_helper(V&);    
-outer_no_type
-reference_to_volatile_helper(...);
-
-template <bool ref = true>
-struct is_reference_to_volatile_helper1
-{
-    template <class T>
-    struct apply
-    {
-        static T t;
-        BOOST_STATIC_CONSTANT(
-            bool, value
-            = sizeof(reference_to_volatile_helper(t)) == sizeof(inner_yes_type));
-        typedef mpl::bool_<value> type;
-    };
-};
-
-template <>
-struct is_reference_to_volatile_helper1<false> : false_helper1
-{
-};
-
-
-template <class T>
-struct is_reference_to_volatile
-    : is_reference_to_volatile_helper1<is_reference<T>::value>::template apply<T>
-{
-};
-
-template <typename V>
-typename is_pointer_help<V>::type reference_to_pointer_helper(V&);
-outer_no_type reference_to_pointer_helper(...);
-
-template <class T>
-struct reference_to_pointer_impl
-{
-    static T t;
-    BOOST_STATIC_CONSTANT(
-        bool, value
-        = (sizeof((reference_to_pointer_helper)(t)) == sizeof(inner_yes_type))
-        );
-    
-    typedef mpl::bool_<value> type;
-};
-    
-template <class T>
-struct is_reference_to_pointer
-  : mpl::eval_if<is_reference<T>, reference_to_pointer_impl<T>, mpl::false_>::type
-{   
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_pointer,(T))
-};
-
-template <class T>
-struct is_reference_to_function_pointer
-  : mpl::eval_if<is_reference<T>, is_pointer_to_function_aux<T>, mpl::false_>::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_function_pointer,(T))
-};
-
-
-template <class T>
-struct is_member_function_pointer_help
-    : mpl::if_<is_member_function_pointer<T>, inner_yes_type, inner_no_type>
-{};
-
-template <typename V>
-typename is_member_function_pointer_help<V>::type member_function_pointer_helper(V&);
-outer_no_type member_function_pointer_helper(...);
-
-template <class T>
-struct is_pointer_to_member_function_aux
-{
-    static T t;
-    BOOST_STATIC_CONSTANT(
-        bool, value
-        = sizeof((member_function_pointer_helper)(t)) == sizeof(inner_yes_type));
-    typedef mpl::bool_<value> type;
-};
-
-template <class T>
-struct is_reference_to_member_function_pointer
-    : mpl::if_<
-        is_reference<T>
-        , is_pointer_to_member_function_aux<T>
-        , mpl::bool_<false>
-     >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T))
-};
-
-template <typename V>
-typename is_class_help<V>::type reference_to_class_helper(V const volatile&);
-outer_no_type reference_to_class_helper(...);
-
-template <class T>
-struct is_reference_to_class
-{
-    static T t;
-    BOOST_STATIC_CONSTANT(
-        bool, value
-        = (is_reference<T>::value
-           & (sizeof(reference_to_class_helper(t)) == sizeof(inner_yes_type)))
-        );
-    typedef mpl::bool_<value> type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T))
-};
-
-template <typename V>
-typename is_class_help<V>::type pointer_to_class_helper(V const volatile*);
-outer_no_type pointer_to_class_helper(...);
-
-template <class T>
-struct is_pointer_to_class
-{
-    static T t;
-    BOOST_STATIC_CONSTANT(
-        bool, value
-        = (is_pointer<T>::value
-           && sizeof(pointer_to_class_helper(t)) == sizeof(inner_yes_type))
-        );
-    typedef mpl::bool_<value> type;
-};
-#  endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION 
-
-}
-
-using namespace indirect_traits;
-
-}} // namespace boost::python::detail
-
-#endif // INDIRECT_TRAITS_DWA2002131_HPP
diff --git a/SRC/Boost/boost/detail/interlocked.hpp b/SRC/Boost/boost/detail/interlocked.hpp
deleted file mode 100755
index 51a74f1..0000000
--- a/SRC/Boost/boost/detail/interlocked.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
-#define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/interlocked.hpp
-//
-//  Copyright 2005 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/config.hpp>
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-# include <windows.h>
-
-# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER InterlockedCompareExchangePointer
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER InterlockedExchangePointer
-
-#elif defined(_WIN32_WCE)
-
-// under Windows CE we still have old-style Interlocked* functions
-
-extern "C" long __cdecl InterlockedIncrement( long* );
-extern "C" long __cdecl InterlockedDecrement( long* );
-extern "C" long __cdecl InterlockedCompareExchange( long*, long, long );
-extern "C" long __cdecl InterlockedExchange( long*, long );
-extern "C" long __cdecl InterlockedExchangeAdd( long*, long );
-
-# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd
-
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
-    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long*)(dest),(long)(exchange),(long)(compare)))
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
-    ((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange)))
-
-#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN )
-
-#if defined( __CLRCALL_PURE_OR_CDECL )
-
-extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedIncrement( long volatile * );
-extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedDecrement( long volatile * );
-extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedCompareExchange( long volatile *, long, long );
-extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedExchange( long volatile *, long );
-extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedExchangeAdd( long volatile *, long );
-
-#else
-
-extern "C" long __cdecl _InterlockedIncrement( long volatile * );
-extern "C" long __cdecl _InterlockedDecrement( long volatile * );
-extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long );
-extern "C" long __cdecl _InterlockedExchange( long volatile *, long );
-extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long );
-
-#endif
-
-# pragma intrinsic( _InterlockedIncrement )
-# pragma intrinsic( _InterlockedDecrement )
-# pragma intrinsic( _InterlockedCompareExchange )
-# pragma intrinsic( _InterlockedExchange )
-# pragma intrinsic( _InterlockedExchangeAdd )
-
-# if defined(_M_IA64) || defined(_M_AMD64)
-
-extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* );
-extern "C" void* __cdecl _InterlockedExchangePointer( void* volatile *, void* );
-
-#  pragma intrinsic( _InterlockedCompareExchangePointer )
-#  pragma intrinsic( _InterlockedExchangePointer )
-
-#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
-#  define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
-
-# else
-
-#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
-    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
-#  define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
-    ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
-
-# endif
-
-# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
-
-#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
-
-#if defined(__MINGW64__)
-#define BOOST_INTERLOCKED_IMPORT
-#else
-#define BOOST_INTERLOCKED_IMPORT __declspec(dllimport)
-#endif
-
-
-namespace boost
-{
-
-namespace detail
-{
-
-extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedIncrement( long volatile * );
-extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedDecrement( long volatile * );
-extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedCompareExchange( long volatile *, long, long );
-extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchange( long volatile *, long );
-extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchangeAdd( long volatile *, long );
-
-# if defined(_M_IA64) || defined(_M_AMD64)
-extern "C"BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedCompareExchangePointer( void* volatile *, void*, void* );
-extern "C"BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedExchangePointer( void* volatile *, void* );
-# endif
-
-} // namespace detail
-
-} // namespace boost
-
-# define BOOST_INTERLOCKED_INCREMENT ::boost::detail::InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT ::boost::detail::InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE ::boost::detail::InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE ::boost::detail::InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD ::boost::detail::InterlockedExchangeAdd
-
-# if defined(_M_IA64) || defined(_M_AMD64)
-#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER ::boost::detail::InterlockedCompareExchangePointer
-#  define BOOST_INTERLOCKED_EXCHANGE_POINTER ::boost::detail::InterlockedExchangePointer
-# else
-#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
-    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
-#  define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
-    ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
-# endif
-
-#else
-
-# error "Interlocked intrinsics not available"
-
-#endif
-
-#endif // #ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
diff --git a/SRC/Boost/boost/detail/is_function_ref_tester.hpp b/SRC/Boost/boost/detail/is_function_ref_tester.hpp
deleted file mode 100755
index 833cdf3..0000000
--- a/SRC/Boost/boost/detail/is_function_ref_tester.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, 
-// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.  
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED
-#define BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED
-
-#include "boost/type_traits/detail/yes_no_type.hpp"
-#include "boost/type_traits/config.hpp"
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-#   include "boost/preprocessor/iterate.hpp"
-#   include "boost/preprocessor/enum_params.hpp"
-#   include "boost/preprocessor/comma_if.hpp"
-#endif
-
-namespace boost {
-namespace detail {
-namespace is_function_ref_tester_ {
-
-template <class T>
-boost::type_traits::no_type BOOST_TT_DECL is_function_ref_tester(T& ...);
-
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
-// preprocessor-generated part, don't edit by hand!
-
-template <class R>
-boost::type_traits::yes_type is_function_ref_tester(R (&)(), int);
-
-template <class R,class T0 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0), int);
-
-template <class R,class T0,class T1 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1), int);
-
-template <class R,class T0,class T1,class T2 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2), int);
-
-template <class R,class T0,class T1,class T2,class T3 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20,class T21 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20,class T21,class T22 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20,class T21,class T22,class T23 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20,class T21,class T22,class T23,class T24 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24), int);
-
-#else
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3, (0, 25, "boost/type_traits/detail/is_function_ref_tester.hpp"))
-#include BOOST_PP_ITERATE()
-
-#endif // BOOST_TT_PREPROCESSING_MODE
-
-} // namespace detail
-} // namespace python
-} // namespace boost
-
-#endif // BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i BOOST_PP_FRAME_ITERATION(1)
-
-template <class R BOOST_PP_COMMA_IF(i) BOOST_PP_ENUM_PARAMS(i,class T) >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(BOOST_PP_ENUM_PARAMS(i,T)), int);
-
-#undef i
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/detail/is_incrementable.hpp b/SRC/Boost/boost/detail/is_incrementable.hpp
deleted file mode 100755
index 54cdfb9..0000000
--- a/SRC/Boost/boost/detail/is_incrementable.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-// Copyright David Abrahams 2004. Use, modification and distribution is
-// subject to the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef IS_INCREMENTABLE_DWA200415_HPP
-# define IS_INCREMENTABLE_DWA200415_HPP
-
-# include <boost/type_traits/detail/template_arity_spec.hpp>
-# include <boost/type_traits/remove_cv.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/detail/workaround.hpp>
-
-// Must be the last include
-# include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost { namespace detail { 
-
-// is_incrementable<T> metafunction
-//
-// Requires: Given x of type T&, if the expression ++x is well-formed
-// it must have complete type; otherwise, it must neither be ambiguous
-// nor violate access.
-
-// This namespace ensures that ADL doesn't mess things up.
-namespace is_incrementable_
-{
-  // a type returned from operator++ when no increment is found in the
-  // type's own namespace
-  struct tag {};
-  
-  // any soaks up implicit conversions and makes the following
-  // operator++ less-preferred than any other such operator that
-  // might be found via ADL.
-  struct any { template <class T> any(T const&); };
-
-  // This is a last-resort operator++ for when none other is found
-# if BOOST_WORKAROUND(__GNUC__, == 4) && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 2
-  
-}
-
-namespace is_incrementable_2
-{
-  is_incrementable_::tag operator++(is_incrementable_::any const&);
-  is_incrementable_::tag operator++(is_incrementable_::any const&,int);
-}
-using namespace is_incrementable_2;
-
-namespace is_incrementable_
-{
-  
-# else
-  
-  tag operator++(any const&);
-  tag operator++(any const&,int);
-  
-# endif 
-
-# if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \
-    || BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-#  define BOOST_comma(a,b) (a)
-# else 
-  // In case an operator++ is found that returns void, we'll use ++x,0
-  tag operator,(tag,int);  
-#  define BOOST_comma(a,b) (a,b)
-# endif 
-
-# if defined(BOOST_MSVC)
-#  pragma warning(push)
-#  pragma warning(disable:4913) // Warning about operator,
-# endif 
-
-  // two check overloads help us identify which operator++ was picked
-  char (& check_(tag) )[2];
-  
-  template <class T>
-  char check_(T const&);
-  
-
-  template <class T>
-  struct impl
-  {
-      static typename boost::remove_cv<T>::type& x;
-
-      BOOST_STATIC_CONSTANT(
-          bool
-        , value = sizeof(is_incrementable_::check_(BOOST_comma(++x,0))) == 1
-      );
-  };
-
-  template <class T>
-  struct postfix_impl
-  {
-      static typename boost::remove_cv<T>::type& x;
-
-      BOOST_STATIC_CONSTANT(
-          bool
-        , value = sizeof(is_incrementable_::check_(BOOST_comma(x++,0))) == 1
-      );
-  };
-
-# if defined(BOOST_MSVC)
-#  pragma warning(pop)
-# endif 
-
-}
-
-# undef BOOST_comma
-
-template<typename T> 
-struct is_incrementable 
-BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl<T>::value)
-{ 
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::impl<T>::value)
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_incrementable,(T))
-};
-
-template<typename T> 
-struct is_postfix_incrementable 
-BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl<T>::value)
-{ 
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::postfix_impl<T>::value)
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_postfix_incrementable,(T))
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::boost::detail::is_incrementable)
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::boost::detail::is_postfix_incrementable)
-
-} // namespace boost
-
-# include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // IS_INCREMENTABLE_DWA200415_HPP
diff --git a/SRC/Boost/boost/detail/iterator.hpp b/SRC/Boost/boost/detail/iterator.hpp
deleted file mode 100755
index 48345e8..0000000
--- a/SRC/Boost/boost/detail/iterator.hpp
+++ /dev/null
@@ -1,494 +0,0 @@
-// (C) Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Boost versions of
-//
-//    std::iterator_traits<>::iterator_category
-//    std::iterator_traits<>::difference_type
-//    std::distance()
-//
-// ...for all compilers and iterators
-//
-// Additionally, if X is a pointer
-//    std::iterator_traits<X>::pointer
-
-// Otherwise, if partial specialization is supported or X is not a pointer
-//    std::iterator_traits<X>::value_type
-//    std::iterator_traits<X>::pointer
-//    std::iterator_traits<X>::reference
-//
-// See http://www.boost.org for most recent version including documentation.
-
-// Revision History
-// 04 Mar 2001 - More attempted fixes for Intel C++ (David Abrahams)
-// 03 Mar 2001 - Put all implementation into namespace
-//               boost::detail::iterator_traits_. Some progress made on fixes
-//               for Intel compiler. (David Abrahams)
-// 02 Mar 2001 - Changed BOOST_MSVC to BOOST_MSVC_STD_ITERATOR in a few
-//               places. (Jeremy Siek)
-// 19 Feb 2001 - Improved workarounds for stock MSVC6; use yes_type and
-//               no_type from type_traits.hpp; stopped trying to remove_cv
-//               before detecting is_pointer, in honor of the new type_traits
-//               semantics. (David Abrahams)
-// 13 Feb 2001 - Make it work with nearly all standard-conforming iterators
-//               under raw VC6. The one category remaining which will fail is
-//               that of iterators derived from std::iterator but not
-//               boost::iterator and which redefine difference_type.
-// 11 Feb 2001 - Clean away code which can never be used (David Abrahams)
-// 09 Feb 2001 - Always have a definition for each traits member, even if it
-//               can't be properly deduced. These will be incomplete types in
-//               some cases (undefined<void>), but it helps suppress MSVC errors
-//               elsewhere (David Abrahams)
-// 07 Feb 2001 - Support for more of the traits members where possible, making
-//               this useful as a replacement for std::iterator_traits<T> when
-//               used as a default template parameter.
-// 06 Feb 2001 - Removed useless #includes of standard library headers
-//               (David Abrahams)
-
-#ifndef ITERATOR_DWA122600_HPP_
-# define ITERATOR_DWA122600_HPP_
-
-# include <boost/config.hpp>
-# include <iterator>
-
-// STLPort 4.0 and betas have a bug when debugging is enabled and there is no
-// partial specialization: instead of an iterator_category typedef, the standard
-// container iterators have _Iterator_category.
-//
-// Also, whether debugging is enabled or not, there is a broken specialization
-// of std::iterator<output_iterator_tag,void,void,void,void> which has no
-// typedefs but iterator_category.
-# if defined(__SGI_STL_PORT)
-
-#  if (__SGI_STL_PORT <= 0x410) && !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) && defined(__STL_DEBUG)
-#   define BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
-#  endif
-
-#  define BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
-
-# endif // STLPort <= 4.1b4 && no partial specialization
-
-# if !defined(BOOST_NO_STD_ITERATOR_TRAITS)             \
-  && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-  && !defined(BOOST_MSVC_STD_ITERATOR)
-    
-namespace boost { namespace detail {
-
-// Define a new template so it can be specialized
-template <class Iterator>
-struct iterator_traits
-    : std::iterator_traits<Iterator>
-{};
-using std::distance;
-
-}} // namespace boost::detail
-
-# else
-
-#  if  !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)  \
-    && !defined(BOOST_MSVC_STD_ITERATOR)
-
-// This is the case where everything conforms except BOOST_NO_STD_ITERATOR_TRAITS
-
-namespace boost { namespace detail {
-
-// Rogue Wave Standard Library fools itself into thinking partial
-// specialization is missing on some platforms (e.g. Sun), so fails to
-// supply iterator_traits!
-template <class Iterator>
-struct iterator_traits
-{
-    typedef typename Iterator::value_type value_type;
-    typedef typename Iterator::reference reference;
-    typedef typename Iterator::pointer pointer;
-    typedef typename Iterator::difference_type difference_type;
-    typedef typename Iterator::iterator_category iterator_category;
-};
-
-template <class T>
-struct iterator_traits<T*>
-{
-    typedef T value_type;
-    typedef T& reference;
-    typedef T* pointer;
-    typedef std::ptrdiff_t difference_type;
-    typedef std::random_access_iterator_tag iterator_category;
-};
-
-template <class T>
-struct iterator_traits<T const*>
-{
-    typedef T value_type;
-    typedef T const& reference;
-    typedef T const* pointer;
-    typedef std::ptrdiff_t difference_type;
-    typedef std::random_access_iterator_tag iterator_category;
-};
-
-}} // namespace boost::detail
-
-#  else
-
-# include <boost/type_traits/remove_const.hpp>
-# include <boost/type_traits/detail/yes_no_type.hpp>
-# include <boost/type_traits/is_pointer.hpp>
-
-# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#  include <boost/type_traits/is_same.hpp>
-#  include <boost/type_traits/remove_pointer.hpp>
-# endif
-# ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
-#  include <boost/type_traits/is_base_and_derived.hpp>
-# endif
-
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/has_xxx.hpp>
-# include <cstddef>
-
-// should be the last #include
-# include "boost/type_traits/detail/bool_trait_def.hpp"
-
-namespace boost { namespace detail {
-
-BOOST_MPL_HAS_XXX_TRAIT_DEF(value_type)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(reference)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(pointer)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(difference_type)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(iterator_category)
-
-// is_mutable_iterator --
-//
-//   A metafunction returning true iff T is a mutable iterator type
-//   with a nested value_type. Will only work portably with iterators
-//   whose operator* returns a reference, but that seems to be OK for
-//   the iterators supplied by Dinkumware. Some input iterators may
-//   compile-time if they arrive here, and if the compiler is strict
-//   about not taking the address of an rvalue.
-
-// This one detects ordinary mutable iterators - the result of
-// operator* is convertible to the value_type.
-template <class T>
-type_traits::yes_type is_mutable_iterator_helper(T const*, BOOST_DEDUCED_TYPENAME T::value_type*);
-
-// Since you can't take the address of an rvalue, the guts of
-// is_mutable_iterator_impl will fail if we use &*t directly.  This
-// makes sure we can still work with non-lvalue iterators.
-template <class T> T* mutable_iterator_lvalue_helper(T& x);
-int mutable_iterator_lvalue_helper(...);
-
-
-// This one detects output iterators such as ostream_iterator which
-// return references to themselves.
-template <class T>
-type_traits::yes_type is_mutable_iterator_helper(T const*, T const*);
-
-type_traits::no_type is_mutable_iterator_helper(...);
-
-template <class T>
-struct is_mutable_iterator_impl
-{
-    static T t;
-    
-    BOOST_STATIC_CONSTANT(
-        bool, value = sizeof(
-            detail::is_mutable_iterator_helper(
-                (T*)0
-              , mutable_iterator_lvalue_helper(*t) // like &*t
-            ))
-        == sizeof(type_traits::yes_type)
-    );
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
-    is_mutable_iterator,T,::boost::detail::is_mutable_iterator_impl<T>::value)
-
-
-// is_full_iterator_traits --
-//
-//   A metafunction returning true iff T has all the requisite nested
-//   types to satisfy the requirements for a fully-conforming
-//   iterator_traits implementation.
-template <class T>
-struct is_full_iterator_traits_impl
-{
-    enum { value = 
-           has_value_type<T>::value 
-           & has_reference<T>::value 
-           & has_pointer<T>::value 
-           & has_difference_type<T>::value
-           & has_iterator_category<T>::value
-    };
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
-    is_full_iterator_traits,T,::boost::detail::is_full_iterator_traits_impl<T>::value)
-
-
-#   ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
-BOOST_MPL_HAS_XXX_TRAIT_DEF(_Iterator_category)
-    
-// is_stlport_40_debug_iterator --
-//
-//   A metafunction returning true iff T has all the requisite nested
-//   types to satisfy the requirements of an STLPort 4.0 debug iterator
-//   iterator_traits implementation.
-template <class T>
-struct is_stlport_40_debug_iterator_impl
-{
-    enum { value = 
-           has_value_type<T>::value 
-           & has_reference<T>::value 
-           & has_pointer<T>::value 
-           & has_difference_type<T>::value
-           & has__Iterator_category<T>::value
-    };
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
-    is_stlport_40_debug_iterator,T,::boost::detail::is_stlport_40_debug_iterator_impl<T>::value)
-
-template <class T>
-struct stlport_40_debug_iterator_traits
-{
-    typedef typename T::value_type value_type;
-    typedef typename T::reference reference;
-    typedef typename T::pointer pointer;
-    typedef typename T::difference_type difference_type;
-    typedef typename T::_Iterator_category iterator_category;
-};
-#   endif // BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF 
-
-template <class T> struct pointer_iterator_traits;
-
-#   ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template <class T>
-struct pointer_iterator_traits<T*>
-{
-    typedef typename remove_const<T>::type value_type;
-    typedef T* pointer;
-    typedef T& reference;
-    typedef std::random_access_iterator_tag iterator_category;
-    typedef std::ptrdiff_t difference_type;
-};
-#   else
-
-// In case of no template partial specialization, and if T is a
-// pointer, iterator_traits<T>::value_type can still be computed.  For
-// some basic types, remove_pointer is manually defined in
-// type_traits/broken_compiler_spec.hpp. For others, do it yourself.
-
-template<class P> class please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee;
-
-template<class P>
-struct pointer_value_type
-  : mpl::if_<
-        is_same<P, typename remove_pointer<P>::type>
-      , please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>
-      , typename remove_const<
-            typename remove_pointer<P>::type
-        >::type
-    >
-{
-};
-
-
-template<class P>
-struct pointer_reference
-  : mpl::if_<
-        is_same<P, typename remove_pointer<P>::type>
-      , please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>
-      , typename remove_pointer<P>::type&
-    >
-{
-};
-
-template <class T>
-struct pointer_iterator_traits
-{
-    typedef T pointer;
-    typedef std::random_access_iterator_tag iterator_category;
-    typedef std::ptrdiff_t difference_type;
-
-    typedef typename pointer_value_type<T>::type value_type;
-    typedef typename pointer_reference<T>::type reference;
-};
-
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-// We'll sort iterator types into one of these classifications, from which we
-// can determine the difference_type, pointer, reference, and value_type
-template <class Iterator>
-struct standard_iterator_traits
-{
-    typedef typename Iterator::difference_type difference_type;
-    typedef typename Iterator::value_type value_type;
-    typedef typename Iterator::pointer pointer;
-    typedef typename Iterator::reference reference;
-    typedef typename Iterator::iterator_category iterator_category;
-};
-
-template <class Iterator>
-struct msvc_stdlib_mutable_traits
-    : std::iterator_traits<Iterator>
-{
-    typedef typename std::iterator_traits<Iterator>::distance_type difference_type;
-    typedef typename std::iterator_traits<Iterator>::value_type* pointer;
-    typedef typename std::iterator_traits<Iterator>::value_type& reference;
-};
-
-template <class Iterator>
-struct msvc_stdlib_const_traits
-    : std::iterator_traits<Iterator>
-{
-    typedef typename std::iterator_traits<Iterator>::distance_type difference_type;
-    typedef const typename std::iterator_traits<Iterator>::value_type* pointer;
-    typedef const typename std::iterator_traits<Iterator>::value_type& reference;
-};
-
-#   ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
-template <class Iterator>
-struct is_bad_output_iterator
-    : is_base_and_derived<
-        std::iterator<std::output_iterator_tag,void,void,void,void>
-        , Iterator>
-{
-};
-
-struct bad_output_iterator_traits
-{
-    typedef void value_type;
-    typedef void difference_type;
-    typedef std::output_iterator_tag iterator_category;
-    typedef void pointer;
-    typedef void reference;
-};
-#   endif
-
-// If we're looking at an MSVC6 (old Dinkumware) ``standard''
-// iterator, this will generate an appropriate traits class. 
-template <class Iterator>
-struct msvc_stdlib_iterator_traits
-    : mpl::if_<
-       is_mutable_iterator<Iterator>
-       , msvc_stdlib_mutable_traits<Iterator>
-       , msvc_stdlib_const_traits<Iterator>
-      >::type
-{};
-
-template <class Iterator>
-struct non_pointer_iterator_traits
-    : mpl::if_<
-        // if the iterator contains all the right nested types...
-        is_full_iterator_traits<Iterator>
-        // Use a standard iterator_traits implementation
-        , standard_iterator_traits<Iterator>
-#   ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
-        // Check for STLPort 4.0 broken _Iterator_category type
-        , mpl::if_<
-             is_stlport_40_debug_iterator<Iterator>
-             , stlport_40_debug_iterator_traits<Iterator>
-#   endif
-        // Otherwise, assume it's a Dinkum iterator
-        , msvc_stdlib_iterator_traits<Iterator>
-#   ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
-        >::type
-#   endif 
-    >::type
-{
-};
-
-template <class Iterator>
-struct iterator_traits_aux
-    : mpl::if_<
-        is_pointer<Iterator>
-        , pointer_iterator_traits<Iterator>
-        , non_pointer_iterator_traits<Iterator>
-    >::type
-{
-};
-
-template <class Iterator>
-struct iterator_traits
-{
-    // Explicit forwarding from base class needed to keep MSVC6 happy
-    // under some circumstances.
- private:
-#   ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
-    typedef 
-    typename mpl::if_<
-        is_bad_output_iterator<Iterator>
-        , bad_output_iterator_traits
-        , iterator_traits_aux<Iterator>
-    >::type base;
-#   else
-    typedef iterator_traits_aux<Iterator> base;
-#   endif
- public:
-    typedef typename base::value_type value_type;
-    typedef typename base::pointer pointer;
-    typedef typename base::reference reference;
-    typedef typename base::difference_type difference_type;
-    typedef typename base::iterator_category iterator_category;
-};
-
-// This specialization cuts off ETI (Early Template Instantiation) for MSVC.
-template <> struct iterator_traits<int>
-{
-    typedef int value_type;
-    typedef int pointer;
-    typedef int reference;
-    typedef int difference_type;
-    typedef int iterator_category;
-};
-
-}} // namespace boost::detail
-
-#  endif // workarounds
-
-namespace boost { namespace detail {
-
-namespace iterator_traits_
-{
-  template <class Iterator, class Difference>
-  struct distance_select
-  {
-      static Difference execute(Iterator i1, const Iterator i2, ...)
-      {
-          Difference result = 0;
-          while (i1 != i2)
-          {
-              ++i1;
-              ++result;
-          }
-          return result;
-      }
-
-      static Difference execute(Iterator i1, const Iterator i2, std::random_access_iterator_tag*)
-      {
-          return i2 - i1;
-      }
-  };
-} // namespace boost::detail::iterator_traits_
-
-template <class Iterator>
-inline typename iterator_traits<Iterator>::difference_type
-distance(Iterator first, Iterator last)
-{
-    typedef typename iterator_traits<Iterator>::difference_type diff_t;
-    typedef typename ::boost::detail::iterator_traits<Iterator>::iterator_category iterator_category;
-    
-    return iterator_traits_::distance_select<Iterator,diff_t>::execute(
-        first, last, (iterator_category*)0);
-}
-
-}}
-
-# endif
-
-
-# undef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
-# undef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
-
-#endif // ITERATOR_DWA122600_HPP_
diff --git a/SRC/Boost/boost/detail/lcast_precision.hpp b/SRC/Boost/boost/detail/lcast_precision.hpp
deleted file mode 100755
index e0e7ede..0000000
--- a/SRC/Boost/boost/detail/lcast_precision.hpp
+++ /dev/null
@@ -1,184 +0,0 @@
-// Copyright Alexander Nasonov & Paul A. Bristow 2006.
-
-// Use, modification and distribution are subject to the
-// Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED
-#define BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED
-
-#include <climits>
-#include <ios>
-#include <limits>
-
-#include <boost/config.hpp>
-#include <boost/integer_traits.hpp>
-
-#ifndef BOOST_NO_IS_ABSTRACT
-// Fix for SF:1358600 - lexical_cast & pure virtual functions & VC 8 STL
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_abstract.hpp>
-#endif
-
-#if defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || \
-  (defined(BOOST_MSVC) && (BOOST_MSVC<1310))
-
-#define BOOST_LCAST_NO_COMPILE_TIME_PRECISION
-#endif
-
-#ifdef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
-#include <boost/assert.hpp>
-#else
-#include <boost/static_assert.hpp>
-#endif
-
-namespace boost { namespace detail {
-
-class lcast_abstract_stub {};
-
-#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
-// Calculate an argument to pass to std::ios_base::precision from
-// lexical_cast. See alternative implementation for broken standard
-// libraries in lcast_get_precision below. Keep them in sync, please.
-template<class T>
-struct lcast_precision
-{
-#ifdef BOOST_NO_IS_ABSTRACT
-    typedef std::numeric_limits<T> limits; // No fix for SF:1358600.
-#else
-    typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<
-        boost::is_abstract<T>
-      , std::numeric_limits<lcast_abstract_stub>
-      , std::numeric_limits<T>
-      >::type limits;
-#endif
-
-    BOOST_STATIC_CONSTANT(bool, use_default_precision =
-            !limits::is_specialized || limits::is_exact
-        );
-
-    BOOST_STATIC_CONSTANT(bool, is_specialized_bin =
-            !use_default_precision &&
-            limits::radix == 2 && limits::digits > 0
-        );
-
-    BOOST_STATIC_CONSTANT(bool, is_specialized_dec =
-            !use_default_precision &&
-            limits::radix == 10 && limits::digits10 > 0
-        );
-
-    BOOST_STATIC_CONSTANT(std::streamsize, streamsize_max =
-            boost::integer_traits<std::streamsize>::const_max
-        );
-
-    BOOST_STATIC_CONSTANT(unsigned int, precision_dec = limits::digits10 + 1U);
-
-    BOOST_STATIC_ASSERT(!is_specialized_dec ||
-            precision_dec <= streamsize_max + 0UL
-        );
-
-    BOOST_STATIC_CONSTANT(unsigned long, precision_bin =
-            2UL + limits::digits * 30103UL / 100000UL
-        );
-
-    BOOST_STATIC_ASSERT(!is_specialized_bin ||
-            (limits::digits + 0UL < ULONG_MAX / 30103UL &&
-            precision_bin > limits::digits10 + 0UL &&
-            precision_bin <= streamsize_max + 0UL)
-        );
-
-    BOOST_STATIC_CONSTANT(std::streamsize, value =
-            is_specialized_bin ? precision_bin
-                               : is_specialized_dec ? precision_dec : 6
-        );
-};
-#endif
-
-template<class T>
-inline std::streamsize lcast_get_precision(T* = 0)
-{
-#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
-    return lcast_precision<T>::value;
-#else // Follow lcast_precision algorithm at run-time:
-
-#ifdef BOOST_NO_IS_ABSTRACT
-    typedef std::numeric_limits<T> limits; // No fix for SF:1358600.
-#else
-    typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<
-        boost::is_abstract<T>
-      , std::numeric_limits<lcast_abstract_stub>
-      , std::numeric_limits<T>
-      >::type limits;
-#endif
-
-    bool const use_default_precision =
-        !limits::is_specialized || limits::is_exact;
-
-    if(!use_default_precision)
-    { // Includes all built-in floating-point types, float, double ...
-      // and UDT types for which digits (significand bits) is defined (not zero)
-
-        bool const is_specialized_bin =
-            limits::radix == 2 && limits::digits > 0;
-        bool const is_specialized_dec =
-            limits::radix == 10 && limits::digits10 > 0;
-        std::streamsize const streamsize_max =
-            (boost::integer_traits<std::streamsize>::max)();
-
-        if(is_specialized_bin)
-        { // Floating-point types with
-          // limits::digits defined by the specialization.
-
-            unsigned long const digits = limits::digits;
-            unsigned long const precision = 2UL + digits * 30103UL / 100000UL;
-            // unsigned long is selected because it is at least 32-bits
-            // and thus ULONG_MAX / 30103UL is big enough for all types.
-            BOOST_ASSERT(
-                    digits < ULONG_MAX / 30103UL &&
-                    precision > limits::digits10 + 0UL &&
-                    precision <= streamsize_max + 0UL
-                );
-            return precision;
-        }
-        else if(is_specialized_dec)
-        {   // Decimal Floating-point type, most likely a User Defined Type
-            // rather than a real floating-point hardware type.
-            unsigned int const precision = limits::digits10 + 1U;
-            BOOST_ASSERT(precision <= streamsize_max + 0UL);
-            return precision;
-        }
-    }
-
-    // Integral type (for which precision has no effect)
-    // or type T for which limits is NOT specialized,
-    // so assume stream precision remains the default 6 decimal digits.
-    // Warning: if your User-defined Floating-point type T is NOT specialized,
-    // then you may lose accuracy by only using 6 decimal digits.
-    // To avoid this, you need to specialize T with either
-    // radix == 2 and digits == the number of significand bits,
-    // OR
-    // radix = 10 and digits10 == the number of decimal digits.
-
-    return 6;
-#endif
-}
-
-template<class T>
-inline void lcast_set_precision(std::ios_base& stream, T*)
-{
-    stream.precision(lcast_get_precision<T>());
-}
-
-template<class Source, class Target>
-inline void lcast_set_precision(std::ios_base& stream, Source*, Target*)
-{
-    std::streamsize const s = lcast_get_precision(static_cast<Source*>(0));
-    std::streamsize const t = lcast_get_precision(static_cast<Target*>(0));
-    stream.precision(s > t ? s : t);
-}
-
-}}
-
-#endif //  BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/detail/lightweight_main.hpp b/SRC/Boost/boost/detail/lightweight_main.hpp
deleted file mode 100755
index e6514b9..0000000
--- a/SRC/Boost/boost/detail/lightweight_main.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//  boost/detail/lightweight_main.hpp  -------------------------------------------------//
-
-//  Copyright Beman Dawes 2010
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#include <iostream>
-#include <exception>
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                exception reporting main() that calls cpp_main()                      //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-int cpp_main(int argc, char* argv[]);
-
-int main(int argc, char* argv[])
-{
-  try
-  {
-    return cpp_main(argc, argv);
-  }
-
-  catch (const std::exception& ex)
-  {
-    std::cout
-    << "\nERROR  ERROR  ERROR  ERROR  ERROR  ERROR  ERROR  ERROR  ERROR  ERROR  ERROR\n"
-    << "\n****************************** std::exception *****************************\n"
-    << ex.what()
-    << "\n***************************************************************************\n"
-    << std::endl;
-  }
-  return 1;
-}
diff --git a/SRC/Boost/boost/detail/lightweight_mutex.hpp b/SRC/Boost/boost/detail/lightweight_mutex.hpp
deleted file mode 100755
index 79cd0b2..0000000
--- a/SRC/Boost/boost/detail/lightweight_mutex.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
-#define BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/lightweight_mutex.hpp - lightweight mutex
-//
-//  Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd.
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-
-#include <boost/smart_ptr/detail/lightweight_mutex.hpp>
-
-#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
diff --git a/SRC/Boost/boost/detail/lightweight_test.hpp b/SRC/Boost/boost/detail/lightweight_test.hpp
deleted file mode 100755
index da9924d..0000000
--- a/SRC/Boost/boost/detail/lightweight_test.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-#ifndef BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED
-#define BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/lightweight_test.hpp - lightweight test library
-//
-//  Copyright (c) 2002, 2009 Peter Dimov
-//  Copyright (2) Beman Dawes 2010, 2011
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-//  BOOST_TEST(expression)
-//  BOOST_ERROR(message)
-//  BOOST_TEST_EQ(expr1, expr2)
-//
-//  int boost::report_errors()
-//
-
-#include <iostream>
-#include <boost/current_function.hpp>
-#include <boost/assert.hpp>
-
-//  IDE's like Visual Studio perform better if output goes to std::cout or
-//  some other stream, so allow user to configure output stream:
-#ifndef BOOST_LIGHTWEIGHT_TEST_OSTREAM
-# define BOOST_LIGHTWEIGHT_TEST_OSTREAM std::cerr
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-struct report_errors_reminder
-{
-  bool called_report_errors_function;
-  report_errors_reminder() : called_report_errors_function(false) {}
- ~report_errors_reminder()
-  {
-    BOOST_ASSERT(called_report_errors_function);  // verify report_errors() was called  
-  }
-};
-
-inline report_errors_reminder& report_errors_remind()
-{
-  static report_errors_reminder r;
-  return r;
-}
-
-inline int & test_errors()
-{
-    static int x = 0;
-    report_errors_remind();
-    return x;
-}
-
-inline void test_failed_impl(char const * expr, char const * file, int line, char const * function)
-{
-    BOOST_LIGHTWEIGHT_TEST_OSTREAM
-      << file << "(" << line << "): test '" << expr << "' failed in function '"
-      << function << "'" << std::endl;
-    ++test_errors();
-}
-
-inline void error_impl(char const * msg, char const * file, int line, char const * function)
-{
-    BOOST_LIGHTWEIGHT_TEST_OSTREAM
-      << file << "(" << line << "): " << msg << " in function '"
-      << function << "'" << std::endl;
-    ++test_errors();
-}
-
-template<class T, class U> inline void test_eq_impl( char const * expr1, char const * expr2,
-  char const * file, int line, char const * function, T const & t, U const & u )
-{
-    if( t == u )
-    {
-    }
-    else
-    {
-        BOOST_LIGHTWEIGHT_TEST_OSTREAM
-            << file << "(" << line << "): test '" << expr1 << " == " << expr2
-            << "' failed in function '" << function << "': "
-            << "'" << t << "' != '" << u << "'" << std::endl;
-        ++test_errors();
-    }
-}
-
-template<class T, class U> inline void test_ne_impl( char const * expr1, char const * expr2,
-  char const * file, int line, char const * function, T const & t, U const & u )
-{
-    if( t != u )
-    {
-    }
-    else
-    {
-        BOOST_LIGHTWEIGHT_TEST_OSTREAM
-            << file << "(" << line << "): test '" << expr1 << " != " << expr2
-            << "' failed in function '" << function << "': "
-            << "'" << t << "' == '" << u << "'" << std::endl;
-        ++test_errors();
-    }
-}
-
-} // namespace detail
-
-inline int report_errors()
-{
-    detail::report_errors_remind().called_report_errors_function = true;
-
-    int errors = detail::test_errors();
-
-    if( errors == 0 )
-    {
-        BOOST_LIGHTWEIGHT_TEST_OSTREAM
-          << "No errors detected." << std::endl;
-        return 0;
-    }
-    else
-    {
-        BOOST_LIGHTWEIGHT_TEST_OSTREAM
-          << errors << " error" << (errors == 1? "": "s") << " detected." << std::endl;
-        return 1;
-    }
-}
-
-} // namespace boost
-
-#define BOOST_TEST(expr) ((expr)? (void)0: ::boost::detail::test_failed_impl(#expr, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION))
-#define BOOST_ERROR(msg) ::boost::detail::error_impl(msg, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION)
-#define BOOST_TEST_EQ(expr1,expr2) ( ::boost::detail::test_eq_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
-#define BOOST_TEST_NE(expr1,expr2) ( ::boost::detail::test_ne_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
-
-#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED
diff --git a/SRC/Boost/boost/detail/limits.hpp b/SRC/Boost/boost/detail/limits.hpp
deleted file mode 100755
index 4fc66d6..0000000
--- a/SRC/Boost/boost/detail/limits.hpp
+++ /dev/null
@@ -1,449 +0,0 @@
-// Copyright 2001 John Maddock
-// Distributed under the Boost Software License, Version 1.0. (See accompany-
-// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-/*
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- */
-
-/* NOTE: This is not portable code.  Parts of numeric_limits<> are
- * inherently machine-dependent, and this file is written for the MIPS
- * architecture and the SGI MIPSpro C++ compiler.  Parts of it (in
- * particular, some of the characteristics of floating-point types)
- * are almost certainly incorrect for any other platform.
- */
-
-/* The above comment is almost certainly out of date. This file works
- * on systems other than SGI MIPSpro C++ now.
- */
-
-/*
- * Revision history:
- * 21 Sep 2001:
- *    Only include <cwchar> if BOOST_NO_CWCHAR is defined. (Darin Adler)
- * 10 Aug 2001:
- *    Added MIPS (big endian) to the big endian family. (Jens Maurer)
- * 13 Apr 2001:
- *    Added powerpc to the big endian family. (Jeremy Siek)
- * 5 Apr 2001:
- *    Added sparc (big endian) processor support (John Maddock).
- * Initial sub:
- *      Modified by Jens Maurer for gcc 2.95 on x86.
- */
-
-#ifndef BOOST_SGI_CPP_LIMITS
-#define BOOST_SGI_CPP_LIMITS
-
-#include <climits>
-#include <cfloat>
-#include <boost/config.hpp>
-#include <boost/detail/endian.hpp>
-
-#ifndef BOOST_NO_CWCHAR
-#include <cwchar> // for WCHAR_MIN and WCHAR_MAX
-#endif
-
-namespace std {
-
-enum float_round_style {
-  round_indeterminate       = -1,
-  round_toward_zero         =  0,
-  round_to_nearest          =  1,
-  round_toward_infinity     =  2,
-  round_toward_neg_infinity =  3
-};
-
-enum float_denorm_style {
-  denorm_indeterminate = -1,
-  denorm_absent        =  0,
-  denorm_present       =  1
-};
-
-// The C++ standard (section 18.2.1) requires that some of the members of
-// numeric_limits be static const data members that are given constant-
-// initializers within the class declaration.  On compilers where the
-// BOOST_NO_INCLASS_MEMBER_INITIALIZATION macro is defined, it is impossible to write
-// a standard-conforming numeric_limits class.
-//
-// There are two possible workarounds: either initialize the data
-// members outside the class, or change them from data members to
-// enums.  Neither workaround is satisfactory: the former makes it
-// impossible to use the data members in constant-expressions, and the
-// latter means they have the wrong type and that it is impossible to
-// take their addresses.  We choose the former workaround.
-
-#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-# define BOOST_STL_DECLARE_LIMITS_MEMBER(__mem_type, __mem_name, __mem_value) \
-  enum { __mem_name = __mem_value }
-#else /* BOOST_NO_INCLASS_MEMBER_INITIALIZATION */
-# define BOOST_STL_DECLARE_LIMITS_MEMBER(__mem_type, __mem_name, __mem_value) \
-  static const __mem_type __mem_name = __mem_value
-#endif /* BOOST_NO_INCLASS_MEMBER_INITIALIZATION */
-
-// Base class for all specializations of numeric_limits.
-template <class __number>
-class _Numeric_limits_base {
-public:
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, false);
-
-  static __number min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __number(); }
-  static __number max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __number(); }
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits,   0);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, 0);
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed,  false);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_integer, false);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_exact,   false);
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, radix, 0);
-
-  static __number epsilon() throw()     { return __number(); }
-  static __number round_error() throw() { return __number(); }
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent,   0);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent10, 0);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent,   0);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent10, 0);
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_infinity,      false);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_quiet_NaN,     false);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_signaling_NaN, false);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(float_denorm_style,
-                              has_denorm,
-                              denorm_absent);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_denorm_loss,   false);
-
-  static __number infinity() throw()      { return __number(); }
-  static __number quiet_NaN() throw()     { return __number(); }
-  static __number signaling_NaN() throw() { return __number(); }
-  static __number denorm_min() throw()    { return __number(); }
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_iec559,  false);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_bounded, false);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_modulo,  false);
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, traps,            false);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, tinyness_before,  false);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(float_round_style,
-                              round_style,
-                              round_toward_zero);
-};
-
-// Base class for integers.
-
-template <class _Int,
-          _Int __imin,
-          _Int __imax,
-          int __idigits = -1>
-class _Integer_limits : public _Numeric_limits_base<_Int> 
-{
-public:
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, true);
-
-  static _Int min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __imin; }
-  static _Int max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __imax; }
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int,
-                              digits,
-                              (__idigits < 0) ? (int)(sizeof(_Int) * CHAR_BIT)
-                                                   - (__imin == 0 ? 0 : 1) 
-                                              : __idigits);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, (digits * 301) / 1000); 
-                                // log 2 = 0.301029995664...
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed,  __imin != 0);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_integer, true);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_exact,   true);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int,  radix,      2);
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_bounded, true);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_modulo, true);
-};
-
-#if defined(BOOST_BIG_ENDIAN)
-
- template<class Number, unsigned int Word>
- struct float_helper{
-  static Number get_word() throw() {
-    // sizeof(long double) == 16
-    const unsigned int _S_word[4] = { Word, 0, 0, 0 };
-    return *reinterpret_cast<const Number*>(&_S_word);
-  } 
-};
-
-#else
-
- template<class Number, unsigned int Word>
- struct float_helper{
-  static Number get_word() throw() {
-    // sizeof(long double) == 12, but only 10 bytes significant
-    const unsigned int _S_word[4] = { 0, 0, 0, Word };
-    return *reinterpret_cast<const Number*>(
-        reinterpret_cast<const char *>(&_S_word)+16-
-                (sizeof(Number) == 12 ? 10 : sizeof(Number)));
-  } 
-};
-
-#endif
-
-// Base class for floating-point numbers.
-template <class __number,
-         int __Digits, int __Digits10,
-         int __MinExp, int __MaxExp,
-         int __MinExp10, int __MaxExp10,
-         unsigned int __InfinityWord,
-         unsigned int __QNaNWord, unsigned int __SNaNWord,
-         bool __IsIEC559,
-         float_round_style __RoundStyle>
-class _Floating_limits : public _Numeric_limits_base<__number>
-{
-public:
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, true);
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits,   __Digits);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, __Digits10);
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed, true);
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, radix, 2);
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent,   __MinExp);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent,   __MaxExp);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent10, __MinExp10);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent10, __MaxExp10);
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_infinity,      true);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_quiet_NaN,     true);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_signaling_NaN, true);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(float_denorm_style,
-                              has_denorm,
-                              denorm_indeterminate);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_denorm_loss,   false);
-
- 
-  static __number infinity() throw() {
-    return float_helper<__number, __InfinityWord>::get_word();
-  }
-  static __number quiet_NaN() throw() {
-    return float_helper<__number,__QNaNWord>::get_word();
-  }
-  static __number signaling_NaN() throw() {
-    return float_helper<__number,__SNaNWord>::get_word();
-  }
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_iec559,       __IsIEC559);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_bounded,      true);
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, traps,           false /* was: true */ );
-  BOOST_STL_DECLARE_LIMITS_MEMBER(bool, tinyness_before, false);
-
-  BOOST_STL_DECLARE_LIMITS_MEMBER(float_round_style, round_style, __RoundStyle);
-};
-
-// Class numeric_limits
-
-// The unspecialized class.
-
-template<class T> 
-class numeric_limits : public _Numeric_limits_base<T> {};
-
-// Specializations for all built-in integral types.
-
-template<>
-class numeric_limits<bool>
-  : public _Integer_limits<bool, false, true, 0>
-{};
-
-template<>
-class numeric_limits<char>
-  : public _Integer_limits<char, CHAR_MIN, CHAR_MAX>
-{};
-
-template<>
-class numeric_limits<signed char>
-  : public _Integer_limits<signed char, SCHAR_MIN, SCHAR_MAX>
-{};
-
-template<>
-class numeric_limits<unsigned char>
-  : public _Integer_limits<unsigned char, 0, UCHAR_MAX>
-{};
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template<>
-class numeric_limits<wchar_t>
-#if !defined(WCHAR_MAX) || !defined(WCHAR_MIN)
-#if defined(_WIN32) || defined(__CYGWIN__)
-  : public _Integer_limits<wchar_t, 0, USHRT_MAX>
-#elif defined(__hppa)
-// wchar_t has "unsigned int" as the underlying type
-  : public _Integer_limits<wchar_t, 0, UINT_MAX>
-#else
-// assume that wchar_t has "int" as the underlying type
-  : public _Integer_limits<wchar_t, INT_MIN, INT_MAX>
-#endif
-#else
-// we have WCHAR_MIN and WCHAR_MAX defined, so use it
-  : public _Integer_limits<wchar_t, WCHAR_MIN, WCHAR_MAX>
-#endif
-{};
-#endif
-
-template<>
-class numeric_limits<short>
-  : public _Integer_limits<short, SHRT_MIN, SHRT_MAX>
-{};
-
-template<>
-class numeric_limits<unsigned short>
-  : public _Integer_limits<unsigned short, 0, USHRT_MAX>
-{};
-
-template<>
-class numeric_limits<int>
-  : public _Integer_limits<int, INT_MIN, INT_MAX>
-{};
-
-template<>
-class numeric_limits<unsigned int>
-  : public _Integer_limits<unsigned int, 0, UINT_MAX>
-{};
-
-template<>
-class numeric_limits<long>
-  : public _Integer_limits<long, LONG_MIN, LONG_MAX>
-{};
-
-template<>
-class numeric_limits<unsigned long>
-  : public _Integer_limits<unsigned long, 0, ULONG_MAX>
-{};
-
-#ifdef __GNUC__
-
-// Some compilers have long long, but don't define the
-// LONGLONG_MIN and LONGLONG_MAX macros in limits.h.  This
-// assumes that long long is 64 bits.
-#if !defined(LONGLONG_MAX) && !defined(ULONGLONG_MAX)
-
-# define ULONGLONG_MAX 0xffffffffffffffffLLU
-# define LONGLONG_MAX 0x7fffffffffffffffLL
-
-#endif
-
-#if !defined(LONGLONG_MIN)
-# define LONGLONG_MIN (-LONGLONG_MAX - 1)
-#endif 
-
-
-#if !defined(ULONGLONG_MIN)
-# define ULONGLONG_MIN 0
-#endif 
-
-#endif /* __GNUC__ */
-
-// Specializations for all built-in floating-point type.
-
-template<> class numeric_limits<float>
-  : public _Floating_limits<float, 
-                            FLT_MANT_DIG,   // Binary digits of precision
-                            FLT_DIG,        // Decimal digits of precision
-                            FLT_MIN_EXP,    // Minimum exponent
-                            FLT_MAX_EXP,    // Maximum exponent
-                            FLT_MIN_10_EXP, // Minimum base 10 exponent
-                            FLT_MAX_10_EXP, // Maximum base 10 exponent
-#if defined(BOOST_BIG_ENDIAN)
-                            0x7f80 << (sizeof(int)*CHAR_BIT-16),    // Last word of +infinity
-                            0x7f81 << (sizeof(int)*CHAR_BIT-16),    // Last word of quiet NaN
-                            0x7fc1 << (sizeof(int)*CHAR_BIT-16),    // Last word of signaling NaN
-#else
-                            0x7f800000u,    // Last word of +infinity
-                            0x7f810000u,    // Last word of quiet NaN
-                            0x7fc10000u,    // Last word of signaling NaN
-#endif
-                            true,           // conforms to iec559
-                            round_to_nearest>
-{
-public:
-  static float min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return FLT_MIN; }
-  static float denorm_min() throw() { return FLT_MIN; }
-  static float max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return FLT_MAX; }
-  static float epsilon() throw() { return FLT_EPSILON; }
-  static float round_error() throw() { return 0.5f; } // Units: ulps.
-};
-
-template<> class numeric_limits<double>
-  : public _Floating_limits<double, 
-                            DBL_MANT_DIG,   // Binary digits of precision
-                            DBL_DIG,        // Decimal digits of precision
-                            DBL_MIN_EXP,    // Minimum exponent
-                            DBL_MAX_EXP,    // Maximum exponent
-                            DBL_MIN_10_EXP, // Minimum base 10 exponent
-                            DBL_MAX_10_EXP, // Maximum base 10 exponent
-#if defined(BOOST_BIG_ENDIAN)
-                            0x7ff0 << (sizeof(int)*CHAR_BIT-16),    // Last word of +infinity
-                            0x7ff1 << (sizeof(int)*CHAR_BIT-16),    // Last word of quiet NaN
-                            0x7ff9 << (sizeof(int)*CHAR_BIT-16),    // Last word of signaling NaN
-#else
-                            0x7ff00000u,    // Last word of +infinity
-                            0x7ff10000u,    // Last word of quiet NaN
-                            0x7ff90000u,    // Last word of signaling NaN
-#endif
-                            true,           // conforms to iec559
-                            round_to_nearest>
-{
-public:
-  static double min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return DBL_MIN; }
-  static double denorm_min() throw() { return DBL_MIN; }
-  static double max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return DBL_MAX; }
-  static double epsilon() throw() { return DBL_EPSILON; }
-  static double round_error() throw() { return 0.5; } // Units: ulps.
-};
-
-template<> class numeric_limits<long double>
-  : public _Floating_limits<long double, 
-                            LDBL_MANT_DIG,  // Binary digits of precision
-                            LDBL_DIG,       // Decimal digits of precision
-                            LDBL_MIN_EXP,   // Minimum exponent
-                            LDBL_MAX_EXP,   // Maximum exponent
-                            LDBL_MIN_10_EXP,// Minimum base 10 exponent
-                            LDBL_MAX_10_EXP,// Maximum base 10 exponent
-#if defined(BOOST_BIG_ENDIAN)
-                            0x7ff0 << (sizeof(int)*CHAR_BIT-16),    // Last word of +infinity
-                            0x7ff1 << (sizeof(int)*CHAR_BIT-16),    // Last word of quiet NaN
-                            0x7ff9 << (sizeof(int)*CHAR_BIT-16),    // Last word of signaling NaN
-#else
-                            0x7fff8000u,    // Last word of +infinity
-                            0x7fffc000u,    // Last word of quiet NaN
-                            0x7fff9000u,    // Last word of signaling NaN
-#endif
-                            false,          // Doesn't conform to iec559
-                            round_to_nearest>
-{
-public:
-  static long double min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return LDBL_MIN; }
-  static long double denorm_min() throw() { return LDBL_MIN; }
-  static long double max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return LDBL_MAX; }
-  static long double epsilon() throw() { return LDBL_EPSILON; }
-  static long double round_error() throw() { return 4; } // Units: ulps.
-};
-
-} // namespace std
-
-#endif /* BOOST_SGI_CPP_LIMITS */
-
-// Local Variables:
-// mode:C++
-// End:
-
-
-
diff --git a/SRC/Boost/boost/detail/no_exceptions_support.hpp b/SRC/Boost/boost/detail/no_exceptions_support.hpp
deleted file mode 100755
index 702407f..0000000
--- a/SRC/Boost/boost/detail/no_exceptions_support.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_
-#define BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_
-
-#if (defined _MSC_VER) && (_MSC_VER >= 1200)
-#  pragma once
-#endif
-
-//----------------------------------------------------------------------
-// (C) Copyright 2004 Pavel Vozenilek.
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// This file contains helper macros used when exception support may be
-// disabled (as indicated by macro BOOST_NO_EXCEPTIONS).
-//
-// Before picking up these macros you may consider using RAII techniques
-// to deal with exceptions - their syntax can be always the same with 
-// or without exception support enabled.
-//
-
-/* Example of use:
-
-void foo() {
-  BOOST_TRY {
-    ...
-  } BOOST_CATCH(const std::bad_alloc&) {
-      ...
-      BOOST_RETHROW
-  } BOOST_CATCH(const std::exception& e) {
-      ...
-  }
-  BOOST_CATCH_END
-}
-
-With exception support enabled it will expand into:
-
-void foo() {
-  { try {
-    ...
-  } catch (const std::bad_alloc&) {
-      ...
-      throw;
-  } catch (const std::exception& e) {
-      ...
-  }
-  }
-}
-
-With exception support disabled it will expand into:
-
-void foo() {
-  { if(true) {
-    ...
-  } else if (false) {
-      ...
-  } else if (false)  {
-      ...
-  }
-  }
-}
-*/
-//----------------------------------------------------------------------
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if !(defined BOOST_NO_EXCEPTIONS)
-#    define BOOST_TRY { try
-#    define BOOST_CATCH(x) catch(x)
-#    define BOOST_RETHROW throw;
-#    define BOOST_CATCH_END }
-#else
-#    if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#        define BOOST_TRY { if ("")
-#        define BOOST_CATCH(x) else if (!"")
-#    else
-#        define BOOST_TRY { if (true)
-#        define BOOST_CATCH(x) else if (false)
-#    endif
-#    define BOOST_RETHROW
-#    define BOOST_CATCH_END }
-#endif
-
-
-#endif 
diff --git a/SRC/Boost/boost/detail/ob_call_traits.hpp b/SRC/Boost/boost/detail/ob_call_traits.hpp
deleted file mode 100755
index eaf9cbe..0000000
--- a/SRC/Boost/boost/detail/ob_call_traits.hpp
+++ /dev/null
@@ -1,168 +0,0 @@
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/utility for most recent version including documentation.
-//
-//  Crippled version for crippled compilers:
-//  see libs/utility/call_traits.htm
-//
-
-/* Release notes:
-   01st October 2000:
-      Fixed call_traits on VC6, using "poor man's partial specialisation",
-      using ideas taken from "Generative programming" by Krzysztof Czarnecki 
-      & Ulrich Eisenecker.
-*/
-
-#ifndef BOOST_OB_CALL_TRAITS_HPP
-#define BOOST_OB_CALL_TRAITS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#include <boost/config.hpp>
-#endif
-
-#ifndef BOOST_ARITHMETIC_TYPE_TRAITS_HPP
-#include <boost/type_traits/arithmetic_traits.hpp>
-#endif
-#ifndef BOOST_COMPOSITE_TYPE_TRAITS_HPP
-#include <boost/type_traits/composite_traits.hpp>
-#endif
-
-namespace boost{
-
-#ifdef BOOST_MSVC6_MEMBER_TEMPLATES
-//
-// use member templates to emulate
-// partial specialisation:
-//
-namespace detail{
-
-template <class T>
-struct standard_call_traits
-{
-   typedef T value_type;
-   typedef T& reference;
-   typedef const T& const_reference;
-   typedef const T& param_type;
-};
-template <class T>
-struct simple_call_traits
-{
-   typedef T value_type;
-   typedef T& reference;
-   typedef const T& const_reference;
-   typedef const T param_type;
-};
-template <class T>
-struct reference_call_traits
-{
-   typedef T value_type;
-   typedef T reference;
-   typedef T const_reference;
-   typedef T param_type;
-};
-
-template <bool pointer, bool arithmetic, bool reference>
-struct call_traits_chooser
-{
-   template <class T>
-   struct rebind
-   {
-      typedef standard_call_traits<T> type;
-   };
-};
-
-template <>
-struct call_traits_chooser<true, false, false>
-{
-   template <class T>
-   struct rebind
-   {
-      typedef simple_call_traits<T> type;
-   };
-};
-
-template <>
-struct call_traits_chooser<false, false, true>
-{
-   template <class T>
-   struct rebind
-   {
-      typedef reference_call_traits<T> type;
-   };
-};
-
-template <bool size_is_small> 
-struct call_traits_sizeof_chooser2
-{
-   template <class T>
-   struct small_rebind
-   {
-      typedef simple_call_traits<T> small_type;
-   };
-};
-
-template<> 
-struct call_traits_sizeof_chooser2<false>
-{
-   template <class T>
-   struct small_rebind
-   {
-      typedef standard_call_traits<T> small_type;
-   };
-};
-
-template <>
-struct call_traits_chooser<false, true, false>
-{
-   template <class T>
-   struct rebind
-   {
-      enum { sizeof_choice = (sizeof(T) <= sizeof(void*)) };
-      typedef call_traits_sizeof_chooser2<(sizeof(T) <= sizeof(void*))> chooser;
-      typedef typename chooser::template small_rebind<T> bound_type;
-      typedef typename bound_type::small_type type;
-   };
-};
-
-} // namespace detail
-template <typename T>
-struct call_traits
-{
-private:
-    typedef detail::call_traits_chooser<
-         ::boost::is_pointer<T>::value,
-         ::boost::is_arithmetic<T>::value, 
-         ::boost::is_reference<T>::value
-      > chooser;
-   typedef typename chooser::template rebind<T> bound_type;
-   typedef typename bound_type::type call_traits_type;
-public:
-   typedef typename call_traits_type::value_type       value_type;
-   typedef typename call_traits_type::reference        reference;
-   typedef typename call_traits_type::const_reference  const_reference;
-   typedef typename call_traits_type::param_type       param_type;
-};
-
-#else
-//
-// sorry call_traits is completely non-functional
-// blame your broken compiler:
-//
-
-template <typename T>
-struct call_traits
-{
-   typedef T value_type;
-   typedef T& reference;
-   typedef const T& const_reference;
-   typedef const T& param_type;
-};
-
-#endif // member templates
-
-}
-
-#endif // BOOST_OB_CALL_TRAITS_HPP
diff --git a/SRC/Boost/boost/detail/ob_compressed_pair.hpp b/SRC/Boost/boost/detail/ob_compressed_pair.hpp
deleted file mode 100755
index 51346f7..0000000
--- a/SRC/Boost/boost/detail/ob_compressed_pair.hpp
+++ /dev/null
@@ -1,510 +0,0 @@
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/utility for most recent version including documentation.
-//  see libs/utility/compressed_pair.hpp
-//
-/* Release notes:
-   20 Jan 2001:
-        Fixed obvious bugs (David Abrahams)
-   07 Oct 2000:
-      Added better single argument constructor support.
-   03 Oct 2000:
-      Added VC6 support (JM).
-   23rd July 2000:
-      Additional comments added. (JM)
-   Jan 2000:
-      Original version: this version crippled for use with crippled compilers
-      - John Maddock Jan 2000.
-*/
-
-
-#ifndef BOOST_OB_COMPRESSED_PAIR_HPP
-#define BOOST_OB_COMPRESSED_PAIR_HPP
-
-#include <algorithm>
-#ifndef BOOST_OBJECT_TYPE_TRAITS_HPP
-#include <boost/type_traits/object_traits.hpp>
-#endif
-#ifndef BOOST_SAME_TRAITS_HPP
-#include <boost/type_traits/same_traits.hpp>
-#endif
-#ifndef BOOST_CALL_TRAITS_HPP
-#include <boost/call_traits.hpp>
-#endif
-
-namespace boost
-{
-#ifdef BOOST_MSVC6_MEMBER_TEMPLATES
-//
-// use member templates to emulate
-// partial specialisation.  Note that due to
-// problems with overload resolution with VC6
-// each of the compressed_pair versions that follow
-// have one template single-argument constructor
-// in place of two specific constructors:
-//
-
-template <class T1, class T2>
-class compressed_pair;
-
-namespace detail{
-
-template <class A, class T1, class T2>
-struct best_conversion_traits
-{
-   typedef char one;
-   typedef char (&two)[2];
-   static A a;
-   static one test(T1);
-   static two test(T2);
-
-   enum { value = sizeof(test(a)) };
-};
-
-template <int>
-struct init_one;
-
-template <>
-struct init_one<1>
-{
-   template <class A, class T1, class T2>
-   static void init(const A& a, T1* p1, T2*)
-   {
-      *p1 = a;
-   }
-};
-
-template <>
-struct init_one<2>
-{
-   template <class A, class T1, class T2>
-   static void init(const A& a, T1*, T2* p2)
-   {
-      *p2 = a;
-   }
-};
-
-
-// T1 != T2, both non-empty
-template <class T1, class T2>
-class compressed_pair_0
-{
-private:
-   T1 _first;
-   T2 _second;
-public:
-   typedef T1                                                 first_type;
-   typedef T2                                                 second_type;
-   typedef typename call_traits<first_type>::param_type       first_param_type;
-   typedef typename call_traits<second_type>::param_type      second_param_type;
-   typedef typename call_traits<first_type>::reference        first_reference;
-   typedef typename call_traits<second_type>::reference       second_reference;
-   typedef typename call_traits<first_type>::const_reference  first_const_reference;
-   typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-            compressed_pair_0() : _first(), _second() {}
-            compressed_pair_0(first_param_type x, second_param_type y) : _first(x), _second(y) {}
-   template <class A>
-   explicit compressed_pair_0(const A& val)
-   {
-      init_one<best_conversion_traits<A, T1, T2>::value>::init(val, &_first, &_second);
-   }
-   compressed_pair_0(const ::boost::compressed_pair<T1,T2>& x)
-      : _first(x.first()), _second(x.second()) {}
-
-#if 0
-  compressed_pair_0& operator=(const compressed_pair_0& x) {
-    cout << "assigning compressed pair 0" << endl;
-    _first = x._first;
-    _second = x._second;
-    cout << "finished assigning compressed pair 0" << endl;
-    return *this;
-  }
-#endif
-
-   first_reference       first()       { return _first; }
-   first_const_reference first() const { return _first; }
-
-   second_reference       second()       { return _second; }
-   second_const_reference second() const { return _second; }
-
-   void swap(compressed_pair_0& y)
-   {
-      using std::swap;
-      swap(_first, y._first);
-      swap(_second, y._second);
-   }
-};
-
-// T1 != T2, T2 empty
-template <class T1, class T2>
-class compressed_pair_1 : T2
-{
-private:
-   T1 _first;
-public:
-   typedef T1                                                 first_type;
-   typedef T2                                                 second_type;
-   typedef typename call_traits<first_type>::param_type       first_param_type;
-   typedef typename call_traits<second_type>::param_type      second_param_type;
-   typedef typename call_traits<first_type>::reference        first_reference;
-   typedef typename call_traits<second_type>::reference       second_reference;
-   typedef typename call_traits<first_type>::const_reference  first_const_reference;
-   typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-            compressed_pair_1() : T2(), _first() {}
-            compressed_pair_1(first_param_type x, second_param_type y) : T2(y), _first(x) {}
-
-   template <class A>
-   explicit compressed_pair_1(const A& val)
-   {
-      init_one<best_conversion_traits<A, T1, T2>::value>::init(val, &_first, static_cast<T2*>(this));
-   }
-
-   compressed_pair_1(const ::boost::compressed_pair<T1,T2>& x)
-      : T2(x.second()), _first(x.first()) {}
-
-#if defined(BOOST_MSVC) && BOOST_MSVC <= 1300
-  // Total weirdness. If the assignment to _first is moved after
-  // the call to the inherited operator=, then this breaks graph/test/graph.cpp
-  // by way of iterator_adaptor.
-  compressed_pair_1& operator=(const compressed_pair_1& x) {
-    _first = x._first;
-    T2::operator=(x);
-    return *this;
-  }
-#endif
-
-   first_reference       first()       { return _first; }
-   first_const_reference first() const { return _first; }
-
-   second_reference       second()       { return *this; }
-   second_const_reference second() const { return *this; }
-
-   void swap(compressed_pair_1& y)
-   {
-      // no need to swap empty base class:
-      using std::swap;
-      swap(_first, y._first);
-   }
-};
-
-// T1 != T2, T1 empty
-template <class T1, class T2>
-class compressed_pair_2 : T1
-{
-private:
-   T2 _second;
-public:
-   typedef T1                                                 first_type;
-   typedef T2                                                 second_type;
-   typedef typename call_traits<first_type>::param_type       first_param_type;
-   typedef typename call_traits<second_type>::param_type      second_param_type;
-   typedef typename call_traits<first_type>::reference        first_reference;
-   typedef typename call_traits<second_type>::reference       second_reference;
-   typedef typename call_traits<first_type>::const_reference  first_const_reference;
-   typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-            compressed_pair_2() : T1(), _second() {}
-            compressed_pair_2(first_param_type x, second_param_type y) : T1(x), _second(y) {}
-   template <class A>
-   explicit compressed_pair_2(const A& val)
-   {
-      init_one<best_conversion_traits<A, T1, T2>::value>::init(val, static_cast<T1*>(this), &_second);
-   }
-   compressed_pair_2(const ::boost::compressed_pair<T1,T2>& x)
-      : T1(x.first()), _second(x.second()) {}
-
-#if 0
-  compressed_pair_2& operator=(const compressed_pair_2& x) {
-    cout << "assigning compressed pair 2" << endl;
-    T1::operator=(x);
-    _second = x._second;
-    cout << "finished assigning compressed pair 2" << endl;
-    return *this;
-  }
-#endif
-   first_reference       first()       { return *this; }
-   first_const_reference first() const { return *this; }
-
-   second_reference       second()       { return _second; }
-   second_const_reference second() const { return _second; }
-
-   void swap(compressed_pair_2& y)
-   {
-      // no need to swap empty base class:
-      using std::swap;
-      swap(_second, y._second);
-   }
-};
-
-// T1 != T2, both empty
-template <class T1, class T2>
-class compressed_pair_3 : T1, T2
-{
-public:
-   typedef T1                                                 first_type;
-   typedef T2                                                 second_type;
-   typedef typename call_traits<first_type>::param_type       first_param_type;
-   typedef typename call_traits<second_type>::param_type      second_param_type;
-   typedef typename call_traits<first_type>::reference        first_reference;
-   typedef typename call_traits<second_type>::reference       second_reference;
-   typedef typename call_traits<first_type>::const_reference  first_const_reference;
-   typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-            compressed_pair_3() : T1(), T2() {}
-            compressed_pair_3(first_param_type x, second_param_type y) : T1(x), T2(y) {}
-   template <class A>
-   explicit compressed_pair_3(const A& val)
-   {
-      init_one<best_conversion_traits<A, T1, T2>::value>::init(val, static_cast<T1*>(this), static_cast<T2*>(this));
-   }
-   compressed_pair_3(const ::boost::compressed_pair<T1,T2>& x)
-      : T1(x.first()), T2(x.second()) {}
-
-   first_reference       first()       { return *this; }
-   first_const_reference first() const { return *this; }
-
-   second_reference       second()       { return *this; }
-   second_const_reference second() const { return *this; }
-
-   void swap(compressed_pair_3& y)
-   {
-      // no need to swap empty base classes:
-   }
-};
-
-// T1 == T2, and empty
-template <class T1, class T2>
-class compressed_pair_4 : T1
-{
-public:
-   typedef T1                                                 first_type;
-   typedef T2                                                 second_type;
-   typedef typename call_traits<first_type>::param_type       first_param_type;
-   typedef typename call_traits<second_type>::param_type      second_param_type;
-   typedef typename call_traits<first_type>::reference        first_reference;
-   typedef typename call_traits<second_type>::reference       second_reference;
-   typedef typename call_traits<first_type>::const_reference  first_const_reference;
-   typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-            compressed_pair_4() : T1() {}
-            compressed_pair_4(first_param_type x, second_param_type y) : T1(x), m_second(y) {}
-   // only one single argument constructor since T1 == T2
-   explicit compressed_pair_4(first_param_type x) : T1(x), m_second(x) {}
-   compressed_pair_4(const ::boost::compressed_pair<T1,T2>& x)
-      : T1(x.first()), m_second(x.second()) {}
-
-   first_reference       first()       { return *this; }
-   first_const_reference first() const { return *this; }
-
-   second_reference       second()       { return m_second; }
-   second_const_reference second() const { return m_second; }
-
-   void swap(compressed_pair_4& y)
-   {
-      // no need to swap empty base classes:
-   }
-private:
-   T2 m_second;
-};
-
-// T1 == T2, not empty
-template <class T1, class T2>
-class compressed_pair_5
-{
-private:
-   T1 _first;
-   T2 _second;
-public:
-   typedef T1                                                 first_type;
-   typedef T2                                                 second_type;
-   typedef typename call_traits<first_type>::param_type       first_param_type;
-   typedef typename call_traits<second_type>::param_type      second_param_type;
-   typedef typename call_traits<first_type>::reference        first_reference;
-   typedef typename call_traits<second_type>::reference       second_reference;
-   typedef typename call_traits<first_type>::const_reference  first_const_reference;
-   typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-            compressed_pair_5() : _first(), _second() {}
-            compressed_pair_5(first_param_type x, second_param_type y) : _first(x), _second(y) {}
-   // only one single argument constructor since T1 == T2
-   explicit compressed_pair_5(first_param_type x) : _first(x), _second(x) {}
-   compressed_pair_5(const ::boost::compressed_pair<T1,T2>& c) 
-      : _first(c.first()), _second(c.second()) {}
-
-   first_reference       first()       { return _first; }
-   first_const_reference first() const { return _first; }
-
-   second_reference       second()       { return _second; }
-   second_const_reference second() const { return _second; }
-
-   void swap(compressed_pair_5& y)
-   {
-      using std::swap;
-      swap(_first, y._first);
-      swap(_second, y._second);
-   }
-};
-
-template <bool e1, bool e2, bool same>
-struct compressed_pair_chooser
-{
-   template <class T1, class T2>
-   struct rebind
-   {
-      typedef compressed_pair_0<T1, T2> type;
-   };
-};
-
-template <>
-struct compressed_pair_chooser<false, true, false>
-{
-   template <class T1, class T2>
-   struct rebind
-   {
-      typedef compressed_pair_1<T1, T2> type;
-   };
-};
-
-template <>
-struct compressed_pair_chooser<true, false, false>
-{
-   template <class T1, class T2>
-   struct rebind
-   {
-      typedef compressed_pair_2<T1, T2> type;
-   };
-};
-
-template <>
-struct compressed_pair_chooser<true, true, false>
-{
-   template <class T1, class T2>
-   struct rebind
-   {
-      typedef compressed_pair_3<T1, T2> type;
-   };
-};
-
-template <>
-struct compressed_pair_chooser<true, true, true>
-{
-   template <class T1, class T2>
-   struct rebind
-   {
-      typedef compressed_pair_4<T1, T2> type;
-   };
-};
-
-template <>
-struct compressed_pair_chooser<false, false, true>
-{
-   template <class T1, class T2>
-   struct rebind
-   {
-      typedef compressed_pair_5<T1, T2> type;
-   };
-};
-
-template <class T1, class T2>
-struct compressed_pair_traits
-{
-private:
-   typedef compressed_pair_chooser<is_empty<T1>::value, is_empty<T2>::value, is_same<T1,T2>::value> chooser;
-   typedef typename chooser::template rebind<T1, T2> bound_type;
-public:
-   typedef typename bound_type::type type;
-};
-
-} // namespace detail
-
-template <class T1, class T2>
-class compressed_pair : public detail::compressed_pair_traits<T1, T2>::type
-{
-private:
-   typedef typename detail::compressed_pair_traits<T1, T2>::type base_type;
-public:
-   typedef T1                                                 first_type;
-   typedef T2                                                 second_type;
-   typedef typename call_traits<first_type>::param_type       first_param_type;
-   typedef typename call_traits<second_type>::param_type      second_param_type;
-   typedef typename call_traits<first_type>::reference        first_reference;
-   typedef typename call_traits<second_type>::reference       second_reference;
-   typedef typename call_traits<first_type>::const_reference  first_const_reference;
-   typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-            compressed_pair() : base_type() {}
-            compressed_pair(first_param_type x, second_param_type y) : base_type(x, y) {}
-   template <class A>
-   explicit compressed_pair(const A& x) : base_type(x){}
-
-   first_reference       first()       { return base_type::first(); }
-   first_const_reference first() const { return base_type::first(); }
-
-   second_reference       second()       { return base_type::second(); }
-   second_const_reference second() const { return base_type::second(); }
-};
-
-template <class T1, class T2>
-inline void swap(compressed_pair<T1, T2>& x, compressed_pair<T1, T2>& y)
-{
-   x.swap(y);
-}
-
-#else
-// no partial specialisation, no member templates:
-
-template <class T1, class T2>
-class compressed_pair
-{
-private:
-   T1 _first;
-   T2 _second;
-public:
-   typedef T1                                                 first_type;
-   typedef T2                                                 second_type;
-   typedef typename call_traits<first_type>::param_type       first_param_type;
-   typedef typename call_traits<second_type>::param_type      second_param_type;
-   typedef typename call_traits<first_type>::reference        first_reference;
-   typedef typename call_traits<second_type>::reference       second_reference;
-   typedef typename call_traits<first_type>::const_reference  first_const_reference;
-   typedef typename call_traits<second_type>::const_reference second_const_reference;
-
-            compressed_pair() : _first(), _second() {}
-            compressed_pair(first_param_type x, second_param_type y) : _first(x), _second(y) {}
-   explicit compressed_pair(first_param_type x) : _first(x), _second() {}
-   // can't define this in case T1 == T2:
-   // explicit compressed_pair(second_param_type y) : _first(), _second(y) {}
-
-   first_reference       first()       { return _first; }
-   first_const_reference first() const { return _first; }
-
-   second_reference       second()       { return _second; }
-   second_const_reference second() const { return _second; }
-
-   void swap(compressed_pair& y)
-   {
-      using std::swap;
-      swap(_first, y._first);
-      swap(_second, y._second);
-   }
-};
-
-template <class T1, class T2>
-inline void swap(compressed_pair<T1, T2>& x, compressed_pair<T1, T2>& y)
-{
-   x.swap(y);
-}
-
-#endif
-
-} // boost
-
-#endif // BOOST_OB_COMPRESSED_PAIR_HPP
-
-
-
diff --git a/SRC/Boost/boost/detail/quick_allocator.hpp b/SRC/Boost/boost/detail/quick_allocator.hpp
deleted file mode 100755
index 70b1843..0000000
--- a/SRC/Boost/boost/detail/quick_allocator.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
-#define BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/quick_allocator.hpp
-//
-//  Copyright (c) 2003 David Abrahams
-//  Copyright (c) 2003 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-
-#include <boost/smart_ptr/detail/quick_allocator.hpp>
-
-#endif  // #ifndef BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/detail/reference_content.hpp b/SRC/Boost/boost/detail/reference_content.hpp
deleted file mode 100755
index eae9f04..0000000
--- a/SRC/Boost/boost/detail/reference_content.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost detail/reference_content.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_DETAIL_REFERENCE_CONTENT_HPP
-#define BOOST_DETAIL_REFERENCE_CONTENT_HPP
-
-#include "boost/config.hpp"
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#   include "boost/mpl/bool.hpp"
-#   include "boost/type_traits/has_nothrow_copy.hpp"
-#else
-#   include "boost/mpl/if.hpp"
-#   include "boost/type_traits/is_reference.hpp"
-#endif
-
-#include "boost/mpl/void.hpp"
-
-namespace boost {
-
-namespace detail {
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class template reference_content
-//
-// Non-Assignable wrapper for references.
-//
-template <typename RefT>
-class reference_content
-{
-private: // representation
-
-    RefT content_;
-
-public: // structors
-
-    ~reference_content()
-    {
-    }
-
-    reference_content(RefT r)
-        : content_( r )
-    {
-    }
-
-    reference_content(const reference_content& operand)
-        : content_( operand.content_ )
-    {
-    }
-
-private: // non-Assignable
-
-    reference_content& operator=(const reference_content&);
-
-public: // queries
-
-    RefT get() const
-    {
-        return content_;
-    }
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction make_reference_content
-//
-// Wraps with reference_content if specified type is reference.
-//
-
-template <typename T = mpl::void_> struct make_reference_content;
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct make_reference_content
-{
-    typedef T type;
-};
-
-template <typename T>
-struct make_reference_content< T& >
-{
-    typedef reference_content<T&> type;
-};
-
-#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct make_reference_content
-    : mpl::if_<
-          is_reference<T>
-        , reference_content<T>
-        , T
-        >
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround
-
-template <>
-struct make_reference_content< mpl::void_ >
-{
-    template <typename T>
-    struct apply
-        : make_reference_content<T>
-    {
-    };
-
-    typedef mpl::void_ type;
-};
-
-} // namespace detail
-
-///////////////////////////////////////////////////////////////////////////////
-// reference_content<T&> type traits specializations
-//
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct has_nothrow_copy<
-      ::boost::detail::reference_content< T& >
-    >
-    : mpl::true_
-{
-};
-
-#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-} // namespace boost
-
-#endif // BOOST_DETAIL_REFERENCE_CONTENT_HPP
diff --git a/SRC/Boost/boost/detail/scoped_enum_emulation.hpp b/SRC/Boost/boost/detail/scoped_enum_emulation.hpp
deleted file mode 100755
index 388bdf3..0000000
--- a/SRC/Boost/boost/detail/scoped_enum_emulation.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//  scoped_enum_emulation.hpp  ---------------------------------------------------------//
-
-//  Copyright Beman Dawes, 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Generates C++0x scoped enums if the feature is present, otherwise emulates C++0x
-//  scoped enums with C++03 namespaces and enums. The Boost.Config BOOST_NO_SCOPED_ENUMS
-//  macro is used to detect feature support.
-//
-//  See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf for a
-//  description of the scoped enum feature. Note that the committee changed the name
-//  from strongly typed enum to scoped enum.  
-//
-//  Caution: only the syntax is emulated; the semantics are not emulated and
-//  the syntax emulation doesn't include being able to specify the underlying
-//  representation type.
-//
-//  The emulation is via struct rather than namespace to allow use within classes.
-//  Thanks to Andrey Semashev for pointing that out.
-//
-//  Helpful comments and suggestions were also made by Kjell Elster, Phil Endecott,
-//  Joel Falcou, Mathias Gaunard, Felipe Magno de Almeida, Matt Calabrese, Vincente
-//  Botet, and Daniel James. 
-//
-//  Sample usage:
-//
-//     BOOST_SCOPED_ENUM_START(algae) { green, red, cyan }; BOOST_SCOPED_ENUM_END
-//     ...
-//     BOOST_SCOPED_ENUM(algae) sample( algae::red );
-//     void foo( BOOST_SCOPED_ENUM(algae) color );
-//     ...
-//     sample = algae::green;
-//     foo( algae::cyan );
-
-#ifndef BOOST_SCOPED_ENUM_EMULATION_HPP
-#define BOOST_SCOPED_ENUM_EMULATION_HPP
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_SCOPED_ENUMS
-
-# define BOOST_SCOPED_ENUM_START(name) struct name { enum enum_type
-# define BOOST_SCOPED_ENUM_END };
-# define BOOST_SCOPED_ENUM(name) name::enum_type
-
-#else
-
-# define BOOST_SCOPED_ENUM_START(name) enum class name
-# define BOOST_SCOPED_ENUM_END
-# define BOOST_SCOPED_ENUM(name) name
-
-#endif
-
-#endif  // BOOST_SCOPED_ENUM_EMULATION_HPP
diff --git a/SRC/Boost/boost/detail/select_type.hpp b/SRC/Boost/boost/detail/select_type.hpp
deleted file mode 100755
index 01c9436..0000000
--- a/SRC/Boost/boost/detail/select_type.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// (C) Copyright David Abrahams 2001.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org for most recent version including documentation.
-
-// Revision History
-// 09 Feb 01  Applied John Maddock's Borland patch Moving <true>
-//            specialization to unspecialized template (David Abrahams)
-// 06 Feb 01  Created (David Abrahams)
-
-#ifndef SELECT_TYPE_DWA20010206_HPP
-# define SELECT_TYPE_DWA20010206_HPP
-
-namespace boost { namespace detail {
-
-  // Template class if_true -- select among 2 types based on a bool constant expression
-  // Usage:
-  //   typename if_true<(bool_const_expression)>::template then<true_type, false_type>::type
-
-  // HP aCC cannot deal with missing names for template value parameters
-  template <bool b> struct if_true
-  {
-      template <class T, class F>
-      struct then { typedef T type; };
-  };
-
-  template <>
-  struct if_true<false>
-  {
-      template <class T, class F>
-      struct then { typedef F type; };
-  };
-}}
-#endif // SELECT_TYPE_DWA20010206_HPP
diff --git a/SRC/Boost/boost/detail/sp_typeinfo.hpp b/SRC/Boost/boost/detail/sp_typeinfo.hpp
deleted file mode 100755
index 50da7aa..0000000
--- a/SRC/Boost/boost/detail/sp_typeinfo.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-#ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
-#define BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//  detail/sp_typeinfo.hpp
-//
-//  Copyright 2007 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/config.hpp>
-
-#if defined( BOOST_NO_TYPEID )
-
-#include <boost/current_function.hpp>
-#include <functional>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class sp_typeinfo
-{
-private:
-
-    sp_typeinfo( sp_typeinfo const& );
-    sp_typeinfo& operator=( sp_typeinfo const& );
-
-    char const * name_;
-
-public:
-
-    explicit sp_typeinfo( char const * name ): name_( name )
-    {
-    }
-
-    bool operator==( sp_typeinfo const& rhs ) const
-    {
-        return this == &rhs;
-    }
-
-    bool operator!=( sp_typeinfo const& rhs ) const
-    {
-        return this != &rhs;
-    }
-
-    bool before( sp_typeinfo const& rhs ) const
-    {
-        return std::less< sp_typeinfo const* >()( this, &rhs );
-    }
-
-    char const* name() const
-    {
-        return name_;
-    }
-};
-
-template<class T> struct sp_typeid_
-{
-    static sp_typeinfo ti_;
-
-    static char const * name()
-    {
-        return BOOST_CURRENT_FUNCTION;
-    }
-};
-
-#if defined(__SUNPRO_CC)
-// see #4199, the Sun Studio compiler gets confused about static initialization 
-// constructor arguments. But an assignment works just fine. 
-template<class T> sp_typeinfo sp_typeid_< T >::ti_ = sp_typeid_< T >::name();
-#else
-template<class T> sp_typeinfo sp_typeid_< T >::ti_(sp_typeid_< T >::name());
-#endif
-
-template<class T> struct sp_typeid_< T & >: sp_typeid_< T >
-{
-};
-
-template<class T> struct sp_typeid_< T const >: sp_typeid_< T >
-{
-};
-
-template<class T> struct sp_typeid_< T volatile >: sp_typeid_< T >
-{
-};
-
-template<class T> struct sp_typeid_< T const volatile >: sp_typeid_< T >
-{
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#define BOOST_SP_TYPEID(T) (boost::detail::sp_typeid_<T>::ti_)
-
-#else
-
-#include <typeinfo>
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if defined( BOOST_NO_STD_TYPEINFO )
-
-typedef ::type_info sp_typeinfo;
-
-#else
-
-typedef std::type_info sp_typeinfo;
-
-#endif
-
-} // namespace detail
-
-} // namespace boost
-
-#define BOOST_SP_TYPEID(T) typeid(T)
-
-#endif
-
-#endif  // #ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
diff --git a/SRC/Boost/boost/detail/templated_streams.hpp b/SRC/Boost/boost/detail/templated_streams.hpp
deleted file mode 100755
index a0527fe..0000000
--- a/SRC/Boost/boost/detail/templated_streams.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost detail/templated_streams.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_DETAIL_TEMPLATED_STREAMS_HPP
-#define BOOST_DETAIL_TEMPLATED_STREAMS_HPP
-
-#include "boost/config.hpp"
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) BOOST_TEMPLATED_STREAM_* macros
-//
-// Provides workaround platforms without stream class templates.
-//
-
-#if !defined(BOOST_NO_STD_LOCALE)
-
-#define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) \
-    template < typename E , typename T >
-
-#define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) \
-    template < typename E , typename T , typename A >
-
-#define BOOST_TEMPLATED_STREAM_ARGS(E,T) \
-    typename E , typename T 
-
-#define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) \
-    typename E , typename T , typename A 
-
-#define BOOST_TEMPLATED_STREAM_COMMA        ,
-
-#define BOOST_TEMPLATED_STREAM_ELEM(E)      E
-#define BOOST_TEMPLATED_STREAM_TRAITS(T)    T
-#define BOOST_TEMPLATED_STREAM_ALLOC(A)     A
-
-#define BOOST_TEMPLATED_STREAM(X,E,T) \
-    BOOST_JOIN(std::basic_,X)< E , T >
-
-#define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \
-    BOOST_JOIN(std::basic_,X)< E , T , A >
-
-#else // defined(BOOST_NO_STD_LOCALE)
-
-#define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) /**/
-
-#define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) /**/
-
-#define BOOST_TEMPLATED_STREAM_ARGS(E,T) /**/
-
-#define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) /**/
-
-#define BOOST_TEMPLATED_STREAM_COMMA        /**/
-
-#define BOOST_TEMPLATED_STREAM_ELEM(E)      char
-#define BOOST_TEMPLATED_STREAM_TRAITS(T)    std::char_traits<char>
-#define BOOST_TEMPLATED_STREAM_ALLOC(A)     std::allocator<char>
-
-#define BOOST_TEMPLATED_STREAM(X,E,T) \
-    std::X
-
-#define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \
-    std::X
-
-#endif // BOOST_NO_STD_LOCALE
-
-#endif // BOOST_DETAIL_TEMPLATED_STREAMS_HPP
diff --git a/SRC/Boost/boost/detail/utf8_codecvt_facet.hpp b/SRC/Boost/boost/detail/utf8_codecvt_facet.hpp
deleted file mode 100755
index 7be4c60..0000000
--- a/SRC/Boost/boost/detail/utf8_codecvt_facet.hpp
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright (c) 2001 Ronald Garcia, Indiana University (garcia at osl.iu.edu)
-// Andrew Lumsdaine, Indiana University (lums at osl.iu.edu).
-// Distributed under the Boost Software License, Version 1.0. (See accompany-
-// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UTF8_CODECVT_FACET_HPP
-#define BOOST_UTF8_CODECVT_FACET_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// utf8_codecvt_facet.hpp
-
-// This header defines class utf8_codecvt_facet, derived fro 
-// std::codecvt<wchar_t, char>, which can be used to convert utf8 data in
-// files into wchar_t strings in the application.
-//
-// The header is NOT STANDALONE, and is not to be included by the USER.
-// There are at least two libraries which want to use this functionality, and
-// we want to avoid code duplication. It would be possible to create utf8
-// library, but:
-// - this requires review process first
-// - in the case, when linking the a library which uses utf8 
-//   (say 'program_options'), user should also link to the utf8 library.
-//   This seems inconvenient, and asking a user to link to an unrevieved 
-//   library is strange. 
-// Until the above points are fixed, a library which wants to use utf8 must:
-// - include this header from one of it's headers or sources
-// - include the corresponding .cpp file from one of the sources
-// - before including either file, the library must define
-//   - BOOST_UTF8_BEGIN_NAMESPACE to the namespace declaration that must be used
-//   - BOOST_UTF8_END_NAMESPACE to the code to close the previous namespace
-//   - declaration.
-//   - BOOST_UTF8_DECL -- to the code which must be used for all 'exportable'
-//     symbols.
-//
-// For example, program_options library might contain:
-//    #define BOOST_UTF8_BEGIN_NAMESPACE <backslash character> 
-//             namespace boost { namespace program_options {
-//    #define BOOST_UTF8_END_NAMESPACE }}
-//    #define BOOST_UTF8_DECL BOOST_PROGRAM_OPTIONS_DECL
-//    #include "../../detail/utf8/utf8_codecvt.cpp"
-//
-// Essentially, each library will have its own copy of utf8 code, in
-// different namespaces. 
-
-// Note:(Robert Ramey).  I have made the following alterations in the original
-// code.
-// a) Rendered utf8_codecvt<wchar_t, char>  with using templates
-// b) Move longer functions outside class definition to prevent inlining
-// and make code smaller
-// c) added on a derived class to permit translation to/from current
-// locale to utf8
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// archives stored as text - note these ar templated on the basic
-// stream templates to accommodate wide (and other?) kind of characters
-//
-// note the fact that on libraries without wide characters, ostream is
-// is not a specialization of basic_ostream which in fact is not defined
-// in such cases.   So we can't use basic_ostream<OStream::char_type> but rather
-// use two template parameters
-//
-// utf8_codecvt_facet
-//   This is an implementation of a std::codecvt facet for translating 
-//   from UTF-8 externally to UCS-4.  Note that this is not tied to
-//   any specific types in order to allow customization on platforms
-//   where wchar_t is not big enough.
-//
-// NOTES:  The current implementation jumps through some unpleasant hoops in
-// order to deal with signed character types.  As a std::codecvt_base::result,
-// it is necessary  for the ExternType to be convertible to unsigned  char.
-// I chose not to tie the extern_type explicitly to char. But if any combination
-// of types other than <wchar_t,char_t> is used, then std::codecvt must be
-// specialized on those types for this to work.
-
-#include <locale>
-#include <cwchar>   // for mbstate_t
-#include <cstddef>  // for std::size_t
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std {
-    using ::mbstate_t;
-    using ::size_t;
-}
-#endif
-
-#if !defined(__MSL_CPP__) && !defined(__LIBCOMO__)
-    #define BOOST_CODECVT_DO_LENGTH_CONST const
-#else
-    #define BOOST_CODECVT_DO_LENGTH_CONST
-#endif
-
-// maximum lenght of a multibyte string
-#define MB_LENGTH_MAX 8
-
-BOOST_UTF8_BEGIN_NAMESPACE
-
-struct BOOST_UTF8_DECL utf8_codecvt_facet :
-    public std::codecvt<wchar_t, char, std::mbstate_t>  
-{
-public:
-    explicit utf8_codecvt_facet(std::size_t no_locale_manage=0)
-        : std::codecvt<wchar_t, char, std::mbstate_t>(no_locale_manage) 
-    {}
-protected:
-    virtual std::codecvt_base::result do_in(
-        std::mbstate_t& state, 
-        const char * from,
-        const char * from_end, 
-        const char * & from_next,
-        wchar_t * to, 
-        wchar_t * to_end, 
-        wchar_t*& to_next
-    ) const;
-
-    virtual std::codecvt_base::result do_out(
-        std::mbstate_t & state, const wchar_t * from,
-        const wchar_t * from_end, const wchar_t*  & from_next,
-        char * to, char * to_end, char * & to_next
-    ) const;
-
-    bool invalid_continuing_octet(unsigned char octet_1) const {
-        return (octet_1 < 0x80|| 0xbf< octet_1);
-    }
-
-    bool invalid_leading_octet(unsigned char octet_1)   const {
-        return (0x7f < octet_1 && octet_1 < 0xc0) ||
-            (octet_1 > 0xfd);
-    }
-
-    // continuing octets = octets except for the leading octet
-    static unsigned int get_cont_octet_count(unsigned   char lead_octet) {
-        return get_octet_count(lead_octet) - 1;
-    }
-
-    static unsigned int get_octet_count(unsigned char   lead_octet);
-
-    // How many "continuing octets" will be needed for this word
-    // ==   total octets - 1.
-    int get_cont_octet_out_count(wchar_t word) const ;
-
-    virtual bool do_always_noconv() const throw() { return false; }
-
-    // UTF-8 isn't really stateful since we rewind on partial conversions
-    virtual std::codecvt_base::result do_unshift(
-        std::mbstate_t&,
-        char * from,
-        char * /*to*/,
-        char * & next
-    ) const 
-    {
-        next = from;
-        return ok;
-    }
-
-    virtual int do_encoding() const throw() {
-        const int variable_byte_external_encoding=0;
-        return variable_byte_external_encoding;
-    }
-
-    // How many char objects can I process to get <= max_limit
-    // wchar_t objects?
-    virtual int do_length(
-        BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &,
-        const char * from,
-        const char * from_end, 
-        std::size_t max_limit
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
-        ) const throw();
-#else
-        ) const;
-#endif
-
-    // Largest possible value do_length(state,from,from_end,1) could return.
-    virtual int do_max_length() const throw () {
-        return 6; // largest UTF-8 encoding of a UCS-4 character
-    }
-};
-
-BOOST_UTF8_END_NAMESPACE
-
-#endif // BOOST_UTF8_CODECVT_FACET_HPP
diff --git a/SRC/Boost/boost/detail/workaround.hpp b/SRC/Boost/boost/detail/workaround.hpp
deleted file mode 100755
index 92cf7c1..0000000
--- a/SRC/Boost/boost/detail/workaround.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef WORKAROUND_DWA2002126_HPP
-# define WORKAROUND_DWA2002126_HPP
-
-// Compiler/library version workaround macro
-//
-// Usage:
-//
-//     #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-//        // workaround for eVC4 and VC6
-//        ... // workaround code here
-//     #endif
-//
-// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the
-// first argument must be undefined or expand to a numeric
-// value. The above expands to:
-//
-//     (BOOST_MSVC) != 0 && (BOOST_MSVC) < 1300
-//
-// When used for workarounds that apply to the latest known version 
-// and all earlier versions of a compiler, the following convention 
-// should be observed:
-//
-//     #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301))
-//
-// The version number in this case corresponds to the last version in
-// which the workaround was known to have been required. When
-// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro
-// BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates
-// the workaround for any version of the compiler. When
-// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or
-// error will be issued if the compiler version exceeds the argument
-// to BOOST_TESTED_AT().  This can be used to locate workarounds which
-// may be obsoleted by newer versions.
-
-# ifndef BOOST_STRICT_CONFIG
-
-#include <boost/config.hpp>
-
-#ifndef __BORLANDC__
-#define __BORLANDC___WORKAROUND_GUARD 1
-#else
-#define __BORLANDC___WORKAROUND_GUARD 0
-#endif
-#ifndef __CODEGEARC__
-#define __CODEGEARC___WORKAROUND_GUARD 1
-#else
-#define __CODEGEARC___WORKAROUND_GUARD 0
-#endif
-#ifndef _MSC_VER
-#define _MSC_VER_WORKAROUND_GUARD 1
-#else
-#define _MSC_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef _MSC_FULL_VER
-#define _MSC_FULL_VER_WORKAROUND_GUARD 1
-#else
-#define _MSC_FULL_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_MSVC
-#define BOOST_MSVC_WORKAROUND_GUARD 1
-#else
-#define BOOST_MSVC_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_MSVC_FULL_VER
-#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 1
-#else
-#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef __GNUC__
-#define __GNUC___WORKAROUND_GUARD 1
-#else
-#define __GNUC___WORKAROUND_GUARD 0
-#endif
-#ifndef __GNUC_MINOR__
-#define __GNUC_MINOR___WORKAROUND_GUARD 1
-#else
-#define __GNUC_MINOR___WORKAROUND_GUARD 0
-#endif
-#ifndef __GNUC_PATCHLEVEL__
-#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 1
-#else
-#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0
-#endif
-#ifndef __IBMCPP__
-#define __IBMCPP___WORKAROUND_GUARD 1
-#else
-#define __IBMCPP___WORKAROUND_GUARD 0
-#endif
-#ifndef __SUNPRO_CC
-#define __SUNPRO_CC_WORKAROUND_GUARD 1
-#else
-#define __SUNPRO_CC_WORKAROUND_GUARD 0
-#endif
-#ifndef __DECCXX_VER
-#define __DECCXX_VER_WORKAROUND_GUARD 1
-#else
-#define __DECCXX_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef __MWERKS__
-#define __MWERKS___WORKAROUND_GUARD 1
-#else
-#define __MWERKS___WORKAROUND_GUARD 0
-#endif
-#ifndef __EDG__
-#define __EDG___WORKAROUND_GUARD 1
-#else
-#define __EDG___WORKAROUND_GUARD 0
-#endif
-#ifndef __EDG_VERSION__
-#define __EDG_VERSION___WORKAROUND_GUARD 1
-#else
-#define __EDG_VERSION___WORKAROUND_GUARD 0
-#endif
-#ifndef __HP_aCC
-#define __HP_aCC_WORKAROUND_GUARD 1
-#else
-#define __HP_aCC_WORKAROUND_GUARD 0
-#endif
-#ifndef __hpxstd98
-#define __hpxstd98_WORKAROUND_GUARD 1
-#else
-#define __hpxstd98_WORKAROUND_GUARD 0
-#endif
-#ifndef _CRAYC
-#define _CRAYC_WORKAROUND_GUARD 1
-#else
-#define _CRAYC_WORKAROUND_GUARD 0
-#endif
-#ifndef __DMC__
-#define __DMC___WORKAROUND_GUARD 1
-#else
-#define __DMC___WORKAROUND_GUARD 0
-#endif
-#ifndef MPW_CPLUS
-#define MPW_CPLUS_WORKAROUND_GUARD 1
-#else
-#define MPW_CPLUS_WORKAROUND_GUARD 0
-#endif
-#ifndef __COMO__
-#define __COMO___WORKAROUND_GUARD 1
-#else
-#define __COMO___WORKAROUND_GUARD 0
-#endif
-#ifndef __COMO_VERSION__
-#define __COMO_VERSION___WORKAROUND_GUARD 1
-#else
-#define __COMO_VERSION___WORKAROUND_GUARD 0
-#endif
-#ifndef __INTEL_COMPILER
-#define __INTEL_COMPILER_WORKAROUND_GUARD 1
-#else
-#define __INTEL_COMPILER_WORKAROUND_GUARD 0
-#endif
-#ifndef __ICL
-#define __ICL_WORKAROUND_GUARD 1
-#else
-#define __ICL_WORKAROUND_GUARD 0
-#endif
-#ifndef _COMPILER_VERSION
-#define _COMPILER_VERSION_WORKAROUND_GUARD 1
-#else
-#define _COMPILER_VERSION_WORKAROUND_GUARD 0
-#endif
-
-#ifndef _RWSTD_VER
-#define _RWSTD_VER_WORKAROUND_GUARD 1
-#else
-#define _RWSTD_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_RWSTD_VER
-#define BOOST_RWSTD_VER_WORKAROUND_GUARD 1
-#else
-#define BOOST_RWSTD_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef __GLIBCPP__
-#define __GLIBCPP___WORKAROUND_GUARD 1
-#else
-#define __GLIBCPP___WORKAROUND_GUARD 0
-#endif
-#ifndef _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
-#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 1
-#else
-#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 0
-#endif
-#ifndef __SGI_STL_PORT
-#define __SGI_STL_PORT_WORKAROUND_GUARD 1
-#else
-#define __SGI_STL_PORT_WORKAROUND_GUARD 0
-#endif
-#ifndef _STLPORT_VERSION
-#define _STLPORT_VERSION_WORKAROUND_GUARD 1
-#else
-#define _STLPORT_VERSION_WORKAROUND_GUARD 0
-#endif
-#ifndef __LIBCOMO_VERSION__
-#define __LIBCOMO_VERSION___WORKAROUND_GUARD 1
-#else
-#define __LIBCOMO_VERSION___WORKAROUND_GUARD 0
-#endif
-#ifndef _CPPLIB_VER
-#define _CPPLIB_VER_WORKAROUND_GUARD 1
-#else
-#define _CPPLIB_VER_WORKAROUND_GUARD 0
-#endif
-
-#ifndef BOOST_INTEL_CXX_VERSION
-#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 1
-#else
-#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_INTEL_WIN
-#define BOOST_INTEL_WIN_WORKAROUND_GUARD 1
-#else
-#define BOOST_INTEL_WIN_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_DINKUMWARE_STDLIB
-#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 1
-#else
-#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_INTEL
-#define BOOST_INTEL_WORKAROUND_GUARD 1
-#else
-#define BOOST_INTEL_WORKAROUND_GUARD 0
-#endif
-// Always define to zero, if it's used it'll be defined my MPL:
-#define BOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0
-
-#  define BOOST_WORKAROUND(symbol, test)                \
-         ((symbol ## _WORKAROUND_GUARD + 0 == 0) &&     \
-         (symbol != 0) && (1 % (( (symbol test) ) + 1)))
-//                              ^ ^           ^ ^
-// The extra level of parenthesis nesting above, along with the
-// BOOST_OPEN_PAREN indirection below, is required to satisfy the
-// broken preprocessor in MWCW 8.3 and earlier.
-//
-// The basic mechanism works as follows:
-//      (symbol test) + 1        =>   if (symbol test) then 2 else 1
-//      1 % ((symbol test) + 1)  =>   if (symbol test) then 1 else 0
-//
-// The complication with % is for cooperation with BOOST_TESTED_AT().
-// When "test" is BOOST_TESTED_AT(x) and
-// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined,
-//
-//      symbol test              =>   if (symbol <= x) then 1 else -1
-//      (symbol test) + 1        =>   if (symbol <= x) then 2 else 0
-//      1 % ((symbol test) + 1)  =>   if (symbol <= x) then 1 else divide-by-zero
-//
-
-#  ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS
-#   define BOOST_OPEN_PAREN (
-#   define BOOST_TESTED_AT(value)  > value) ?(-1): BOOST_OPEN_PAREN 1
-#  else
-#   define BOOST_TESTED_AT(value) != ((value)-(value))
-#  endif
-
-# else
-
-#  define BOOST_WORKAROUND(symbol, test) 0
-
-# endif 
-
-#endif // WORKAROUND_DWA2002126_HPP
diff --git a/SRC/Boost/boost/enable_shared_from_this.hpp b/SRC/Boost/boost/enable_shared_from_this.hpp
deleted file mode 100755
index a4ea983..0000000
--- a/SRC/Boost/boost/enable_shared_from_this.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef BOOST_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED
-#define BOOST_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED
-
-//
-//  enable_shared_from_this.hpp
-//
-//  Copyright (c) 2002 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-//  http://www.boost.org/libs/smart_ptr/enable_shared_from_this.html
-//
-
-#include <boost/smart_ptr/enable_shared_from_this.hpp>
-
-#endif  // #ifndef BOOST_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/exception/current_exception_cast.hpp b/SRC/Boost/boost/exception/current_exception_cast.hpp
deleted file mode 100755
index bc7f97a..0000000
--- a/SRC/Boost/boost/exception/current_exception_cast.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_7E83C166200811DE885E826156D89593
-#define UUID_7E83C166200811DE885E826156D89593
-#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma GCC system_header
-#endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(push,1)
-#endif
-
-namespace
-boost
-    {
-    template <class E>
-    inline
-    E *
-    current_exception_cast()
-        {
-        try
-            {
-            throw;
-            }
-        catch(
-        E & e )
-            {
-            return &e;
-            }
-        catch(
-        ...)
-            {
-            return 0;
-            }
-        }
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/SRC/Boost/boost/exception/detail/attribute_noreturn.hpp b/SRC/Boost/boost/exception/detail/attribute_noreturn.hpp
deleted file mode 100755
index f397790..0000000
--- a/SRC/Boost/boost/exception/detail/attribute_noreturn.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-//Copyright (c) 2009 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_61531AB0680611DEADD5846855D89593
-#define UUID_61531AB0680611DEADD5846855D89593
-
-#if defined(_MSC_VER)
-#define BOOST_ATTRIBUTE_NORETURN __declspec(noreturn)
-#elif defined(__GNUC__)
-#define BOOST_ATTRIBUTE_NORETURN __attribute__((noreturn))
-#else
-#define BOOST_ATTRIBUTE_NORETURN
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/exception/detail/error_info_impl.hpp b/SRC/Boost/boost/exception/detail/error_info_impl.hpp
deleted file mode 100755
index f4fe8ba..0000000
--- a/SRC/Boost/boost/exception/detail/error_info_impl.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_CE6983AC753411DDA764247956D89593
-#define UUID_CE6983AC753411DDA764247956D89593
-#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma GCC system_header
-#endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(push,1)
-#endif
-
-#include <string>
-
-namespace
-boost
-    {
-    namespace
-    exception_detail
-        {
-        class
-        error_info_base
-            {
-            public:
-
-            virtual std::string tag_typeid_name() const = 0;
-            virtual std::string value_as_string() const = 0;
-
-            protected:
-
-            ~error_info_base() throw()
-                {
-                }
-            };
-        }
-
-    template <class Tag,class T>
-    class
-    error_info:
-        public exception_detail::error_info_base
-        {
-        public:
-
-        typedef T value_type;
-
-        error_info( value_type const & value );
-        ~error_info() throw();
-
-        value_type const &
-        value() const
-            {
-            return value_;
-            }
-
-        value_type &
-        value()
-            {
-            return value_;
-            }
-
-        private:
-
-        std::string tag_typeid_name() const;
-        std::string value_as_string() const;
-
-        value_type value_;
-        };
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/SRC/Boost/boost/exception/detail/type_info.hpp b/SRC/Boost/boost/exception/detail/type_info.hpp
deleted file mode 100755
index ab9f8f9..0000000
--- a/SRC/Boost/boost/exception/detail/type_info.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_C3E1741C754311DDB2834CCA55D89593
-#define UUID_C3E1741C754311DDB2834CCA55D89593
-#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma GCC system_header
-#endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(push,1)
-#endif
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <boost/current_function.hpp>
-#include <boost/config.hpp>
-#ifndef BOOST_NO_TYPEID
-#include <boost/units/detail/utility.hpp>
-#endif
-#include <string>
-
-namespace
-boost
-    {
-    template <class T>
-    inline
-    std::string
-    tag_type_name()
-        {
-#ifdef BOOST_NO_TYPEID
-        return BOOST_CURRENT_FUNCTION;
-#else
-        return units::detail::demangle(typeid(T*).name());
-#endif
-        }
-
-    template <class T>
-    inline
-    std::string
-    type_name()
-        {
-#ifdef BOOST_NO_TYPEID
-        return BOOST_CURRENT_FUNCTION;
-#else
-        return units::detail::demangle(typeid(T).name());
-#endif
-        }
-
-    namespace
-    exception_detail
-        {
-        struct
-        type_info_
-            {
-            detail::sp_typeinfo const * type_;
-
-            explicit
-            type_info_( detail::sp_typeinfo const & type ):
-                type_(&type)
-                {
-                }
-
-            friend
-            bool
-            operator<( type_info_ const & a, type_info_ const & b )
-                {
-                return 0!=(a.type_->before(*b.type_));
-                }
-            };
-        }
-    }
-
-#define BOOST_EXCEPTION_STATIC_TYPEID(T) ::boost::exception_detail::type_info_(BOOST_SP_TYPEID(T))
-
-#ifndef BOOST_NO_RTTI
-#define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::boost::exception_detail::type_info_(typeid(x))
-#endif
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/SRC/Boost/boost/exception/exception.hpp b/SRC/Boost/boost/exception/exception.hpp
deleted file mode 100755
index 7c80198..0000000
--- a/SRC/Boost/boost/exception/exception.hpp
+++ /dev/null
@@ -1,456 +0,0 @@
-//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_274DA366004E11DCB1DDFE2E56D89593
-#define UUID_274DA366004E11DCB1DDFE2E56D89593
-#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma GCC system_header
-#endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(push,1)
-#endif
-
-namespace
-boost
-    {
-    namespace
-    exception_detail
-        {
-        template <class T>
-        class
-        refcount_ptr
-            {
-            public:
-
-            refcount_ptr():
-                px_(0)
-                {
-                }
-
-            ~refcount_ptr()
-                {
-                release();
-                }
-
-            refcount_ptr( refcount_ptr const & x ):
-                px_(x.px_)
-                {
-                add_ref();
-                }
-
-            refcount_ptr &
-            operator=( refcount_ptr const & x )
-                {
-                adopt(x.px_);
-                return *this;
-                }
-
-            void
-            adopt( T * px )
-                {
-                release();
-                px_=px;
-                add_ref();
-                }
-
-            T *
-            get() const
-                {
-                return px_;
-                }
-
-            private:
-
-            T * px_;
-
-            void
-            add_ref()
-                {
-                if( px_ )
-                    px_->add_ref();
-                }
-
-            void
-            release()
-                {
-                if( px_ && px_->release() )
-                    px_=0;
-                }
-            };
-        }
-
-    ////////////////////////////////////////////////////////////////////////
-
-    template <class Tag,class T>
-    class error_info;
-
-    typedef error_info<struct throw_function_,char const *> throw_function;
-    typedef error_info<struct throw_file_,char const *> throw_file;
-    typedef error_info<struct throw_line_,int> throw_line;
-
-    template <>
-    class
-    error_info<throw_function_,char const *>
-        {
-        public:
-        typedef char const * value_type;
-        value_type v_;
-        explicit
-        error_info( value_type v ):
-            v_(v)
-            {
-            }
-        };
-
-    template <>
-    class
-    error_info<throw_file_,char const *>
-        {
-        public:
-        typedef char const * value_type;
-        value_type v_;
-        explicit
-        error_info( value_type v ):
-            v_(v)
-            {
-            }
-        };
-
-    template <>
-    class
-    error_info<throw_line_,int>
-        {
-        public:
-        typedef int value_type;
-        value_type v_;
-        explicit
-        error_info( value_type v ):
-            v_(v)
-            {
-            }
-        };
-
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-#  pragma GCC visibility push (default)
-# endif
-#endif
-    class exception;
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-#  pragma GCC visibility pop
-# endif
-#endif
-
-    template <class T>
-    class shared_ptr;
-
-    namespace
-    exception_detail
-        {
-        class error_info_base;
-        struct type_info_;
-
-        struct
-        error_info_container
-            {
-            virtual char const * diagnostic_information( char const * ) const = 0;
-            virtual shared_ptr<error_info_base> get( type_info_ const & ) const = 0;
-            virtual void set( shared_ptr<error_info_base> const &, type_info_ const & ) = 0;
-            virtual void add_ref() const = 0;
-            virtual bool release() const = 0;
-            virtual refcount_ptr<exception_detail::error_info_container> clone() const = 0;
-
-            protected:
-
-            ~error_info_container() throw()
-                {
-                }
-            };
-
-        template <class>
-        struct get_info;
-
-        template <>
-        struct get_info<throw_function>;
-
-        template <>
-        struct get_info<throw_file>;
-
-        template <>
-        struct get_info<throw_line>;
-
-        char const * get_diagnostic_information( exception const &, char const * );
-
-        void copy_boost_exception( exception *, exception const * );
-
-        template <class E,class Tag,class T>
-        E const & set_info( E const &, error_info<Tag,T> const & );
-
-        template <class E>
-        E const & set_info( E const &, throw_function const & );
-
-        template <class E>
-        E const & set_info( E const &, throw_file const & );
-
-        template <class E>
-        E const & set_info( E const &, throw_line const & );
-        }
-
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-#  pragma GCC visibility push (default)
-# endif
-#endif
-    class
-    exception
-        {
-        protected:
-
-        exception():
-            throw_function_(0),
-            throw_file_(0),
-            throw_line_(-1)
-            {
-            }
-
-#ifdef __HP_aCC
-        //On HP aCC, this protected copy constructor prevents throwing boost::exception.
-        //On all other platforms, the same effect is achieved by the pure virtual destructor.
-        exception( exception const & x ) throw():
-            data_(x.data_),
-            throw_function_(x.throw_function_),
-            throw_file_(x.throw_file_),
-            throw_line_(x.throw_line_)
-            {
-            }
-#endif
-
-        virtual ~exception() throw()
-#ifndef __HP_aCC
-            = 0 //Workaround for HP aCC, =0 incorrectly leads to link errors.
-#endif
-            ;
-
-#if (defined(__MWERKS__) && __MWERKS__<=0x3207) || (defined(_MSC_VER) && _MSC_VER<=1310)
-        public:
-#else
-        private:
-
-        template <class E>
-        friend E const & exception_detail::set_info( E const &, throw_function const & );
-
-        template <class E>
-        friend E const & exception_detail::set_info( E const &, throw_file const & );
-
-        template <class E>
-        friend E const & exception_detail::set_info( E const &, throw_line const & );
-
-        template <class E,class Tag,class T>
-        friend E const & exception_detail::set_info( E const &, error_info<Tag,T> const & );
-
-        friend char const * exception_detail::get_diagnostic_information( exception const &, char const * );
-
-        template <class>
-        friend struct exception_detail::get_info;
-        friend struct exception_detail::get_info<throw_function>;
-        friend struct exception_detail::get_info<throw_file>;
-        friend struct exception_detail::get_info<throw_line>;
-        friend void exception_detail::copy_boost_exception( exception *, exception const * );
-#endif
-        mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_;
-        mutable char const * throw_function_;
-        mutable char const * throw_file_;
-        mutable int throw_line_;
-        };
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-#  pragma GCC visibility pop
-# endif
-#endif
-
-    inline
-    exception::
-    ~exception() throw()
-        {
-        }
-
-    namespace
-    exception_detail
-        {
-        template <class E>
-        E const &
-        set_info( E const & x, throw_function const & y )
-            {
-            x.throw_function_=y.v_;
-            return x;
-            }
-
-        template <class E>
-        E const &
-        set_info( E const & x, throw_file const & y )
-            {
-            x.throw_file_=y.v_;
-            return x;
-            }
-
-        template <class E>
-        E const &
-        set_info( E const & x, throw_line const & y )
-            {
-            x.throw_line_=y.v_;
-            return x;
-            }
-        }
-
-    ////////////////////////////////////////////////////////////////////////
-
-    namespace
-    exception_detail
-        {
-        template <class T>
-        struct
-        error_info_injector:
-            public T,
-            public exception
-            {
-            explicit
-            error_info_injector( T const & x ):
-                T(x)
-                {
-                }
-
-            ~error_info_injector() throw()
-                {
-                }
-            };
-
-        struct large_size { char c[256]; };
-        large_size dispatch_boost_exception( exception const * );
-
-        struct small_size { };
-        small_size dispatch_boost_exception( void const * );
-
-        template <class,int>
-        struct enable_error_info_helper;
-
-        template <class T>
-        struct
-        enable_error_info_helper<T,sizeof(large_size)>
-            {
-            typedef T type;
-            };
-
-        template <class T>
-        struct
-        enable_error_info_helper<T,sizeof(small_size)>
-            {
-            typedef error_info_injector<T> type;
-            };
-
-        template <class T>
-        struct
-        enable_error_info_return_type
-            {
-            typedef typename enable_error_info_helper<T,sizeof(exception_detail::dispatch_boost_exception(static_cast<T *>(0)))>::type type;
-            };
-        }
-
-    template <class T>
-    inline
-    typename
-    exception_detail::enable_error_info_return_type<T>::type
-    enable_error_info( T const & x )
-        {
-        typedef typename exception_detail::enable_error_info_return_type<T>::type rt;
-        return rt(x);
-        }
-
-    ////////////////////////////////////////////////////////////////////////
-
-    namespace
-    exception_detail
-        {
-        class
-        clone_base
-            {
-            public:
-
-            virtual clone_base const * clone() const = 0;
-            virtual void rethrow() const = 0;
-
-            virtual
-            ~clone_base() throw()
-                {
-                }
-            };
-
-        inline
-        void
-        copy_boost_exception( exception * a, exception const * b )
-            {
-            refcount_ptr<error_info_container> data;
-            if( error_info_container * d=b->data_.get() )
-                data = d->clone();
-            a->throw_file_ = b->throw_file_;
-            a->throw_line_ = b->throw_line_;
-            a->throw_function_ = b->throw_function_;
-            a->data_ = data;
-            }
-
-        inline
-        void
-        copy_boost_exception( void *, void const * )
-            {
-            }
-
-        template <class T>
-        class
-        clone_impl:
-            public T,
-            public clone_base
-            {
-            public:
-
-            explicit
-            clone_impl( T const & x ):
-                T(x)
-                {
-                copy_boost_exception(this,&x);
-                }
-
-            ~clone_impl() throw()
-                {
-                }
-
-            private:
-
-            clone_base const *
-            clone() const
-                {
-                return new clone_impl(*this);
-                }
-
-            void
-            rethrow() const
-                {
-                throw*this;
-                }
-            };
-        }
-
-    template <class T>
-    inline
-    exception_detail::clone_impl<T>
-    enable_current_exception( T const & x )
-        {
-        return exception_detail::clone_impl<T>(x);
-        }
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/SRC/Boost/boost/exception/get_error_info.hpp b/SRC/Boost/boost/exception/get_error_info.hpp
deleted file mode 100755
index c3cf137..0000000
--- a/SRC/Boost/boost/exception/get_error_info.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_1A590226753311DD9E4CCF6156D89593
-#define UUID_1A590226753311DD9E4CCF6156D89593
-#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma GCC system_header
-#endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(push,1)
-#endif
-
-#include <boost/exception/exception.hpp>
-#include <boost/exception/detail/error_info_impl.hpp>
-#include <boost/exception/detail/type_info.hpp>
-#include <boost/shared_ptr.hpp>
-
-namespace
-boost
-    {
-    namespace
-    exception_detail
-        {
-        template <class ErrorInfo>
-        struct
-        get_info
-            {
-            static
-            typename ErrorInfo::value_type *
-            get( exception const & x )
-                {
-                if( exception_detail::error_info_container * c=x.data_.get() )
-                    if( shared_ptr<exception_detail::error_info_base> eib = c->get(BOOST_EXCEPTION_STATIC_TYPEID(ErrorInfo)) )
-                        {
-#ifndef BOOST_NO_RTTI
-                        BOOST_ASSERT( 0!=dynamic_cast<ErrorInfo *>(eib.get()) );
-#endif
-                        ErrorInfo * w = static_cast<ErrorInfo *>(eib.get());
-                        return &w->value();
-                        }
-                return 0;
-                }
-            };
-
-        template <>
-        struct
-        get_info<throw_function>
-            {
-            static
-            char const * *
-            get( exception const & x )
-                {
-                return x.throw_function_ ? &x.throw_function_ : 0;
-                }
-            };
-
-        template <>
-        struct
-        get_info<throw_file>
-            {
-            static
-            char const * *
-            get( exception const & x )
-                {
-                return x.throw_file_ ? &x.throw_file_ : 0;
-                }
-            };
-
-        template <>
-        struct
-        get_info<throw_line>
-            {
-            static
-            int *
-            get( exception const & x )
-                {
-                return x.throw_line_!=-1 ? &x.throw_line_ : 0;
-                }
-            };
-
-        template <class T,class R>
-        struct
-        get_error_info_return_type
-            {
-            typedef R * type;
-            };
-
-        template <class T,class R>
-        struct
-        get_error_info_return_type<T const,R>
-            {
-            typedef R const * type;
-            };
-        }
-
-#ifdef BOOST_NO_RTTI
-    template <class ErrorInfo>
-    inline
-    typename ErrorInfo::value_type const *
-    get_error_info( boost::exception const & x )
-        {
-        return exception_detail::get_info<ErrorInfo>::get(x);
-        }
-    template <class ErrorInfo>
-    inline
-    typename ErrorInfo::value_type *
-    get_error_info( boost::exception & x )
-        {
-        return exception_detail::get_info<ErrorInfo>::get(x);
-        }
-#else
-    template <class ErrorInfo,class E>
-    inline
-    typename exception_detail::get_error_info_return_type<E,typename ErrorInfo::value_type>::type
-    get_error_info( E & some_exception )
-        {
-        if( exception const * x = dynamic_cast<exception const *>(&some_exception) )
-            return exception_detail::get_info<ErrorInfo>::get(*x);
-        else
-            return 0;
-        }
-#endif
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/SRC/Boost/boost/filesystem.hpp b/SRC/Boost/boost/filesystem.hpp
deleted file mode 100755
index 7d69636..0000000
--- a/SRC/Boost/boost/filesystem.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//  boost/filesystem.hpp  --------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2010
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM_FILESYSTEM_HPP
-#define BOOST_FILESYSTEM_FILESYSTEM_HPP
-
-#include <boost/config.hpp>  // for <boost/config/user.hpp>, in case
-                             //  BOOST_FILESYSTEM_VERSION defined there
-
-# if defined(BOOST_FILESYSTEM_VERSION) \
-  && BOOST_FILESYSTEM_VERSION != 2  && BOOST_FILESYSTEM_VERSION != 3
-#   error BOOST_FILESYSTEM_VERSION defined, but not as 2 or 3
-# endif
-
-# if !defined(BOOST_FILESYSTEM_VERSION)
-#   define BOOST_FILESYSTEM_VERSION 3
-# endif
-
-#if BOOST_FILESYSTEM_VERSION == 2
-#  include <boost/filesystem/v2/config.hpp>
-#  include <boost/filesystem/v2/path.hpp>
-#  include <boost/filesystem/v2/operations.hpp>
-#  include <boost/filesystem/v2/convenience.hpp>
-
-# else
-#  include <boost/filesystem/v3/config.hpp>
-#  include <boost/filesystem/v3/path.hpp>
-#  include <boost/filesystem/v3/operations.hpp>
-#  include <boost/filesystem/v3/convenience.hpp>
-
-# endif
-
-#endif  // BOOST_FILESYSTEM_FILESYSTEM_HPP 
diff --git a/SRC/Boost/boost/filesystem/config.hpp b/SRC/Boost/boost/filesystem/config.hpp
deleted file mode 100755
index 5df0a69..0000000
--- a/SRC/Boost/boost/filesystem/config.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  boost/filesystem/config.hpp  -------------------------------------------------------//
-
-//  Copyright Beman Dawes 2010
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM_CONFIGX_HPP
-#define BOOST_FILESYSTEM_CONFIGX_HPP
-
-#include <boost/config.hpp>  // for <boost/config/user.hpp>, in case
-                             //  BOOST_FILESYSTEM_VERSION defined there
-
-# if defined(BOOST_FILESYSTEM_VERSION) \
-  && BOOST_FILESYSTEM_VERSION != 2  && BOOST_FILESYSTEM_VERSION != 3
-#   error BOOST_FILESYSTEM_VERSION defined, but not as 2 or 3
-# endif
-
-# if !defined(BOOST_FILESYSTEM_VERSION)
-#   define BOOST_FILESYSTEM_VERSION 3
-# endif
-
-#if BOOST_FILESYSTEM_VERSION == 2
-#  include <boost/filesystem/v2/config.hpp>
-
-# else
-#  include <boost/filesystem/v3/config.hpp>
-
-# endif
-
-#endif  // BOOST_FILESYSTEM_CONFIGX_HPP 
diff --git a/SRC/Boost/boost/filesystem/convenience.hpp b/SRC/Boost/boost/filesystem/convenience.hpp
deleted file mode 100755
index 702898f..0000000
--- a/SRC/Boost/boost/filesystem/convenience.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  boost/filesystem/convenience.hpp  --------------------------------------------------//
-
-//  Copyright Beman Dawes 2010
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM_CONVENIENCEX_HPP
-#define BOOST_FILESYSTEM_CONVENIENCEX_HPP
-
-#include <boost/config.hpp>  // for <boost/config/user.hpp>, in case
-                             //  BOOST_FILESYSTEM_VERSION defined there
-
-# if defined(BOOST_FILESYSTEM_VERSION) \
-  && BOOST_FILESYSTEM_VERSION != 2  && BOOST_FILESYSTEM_VERSION != 3
-#   error BOOST_FILESYSTEM_VERSION defined, but not as 2 or 3
-# endif
-
-# if !defined(BOOST_FILESYSTEM_VERSION)
-#   define BOOST_FILESYSTEM_VERSION 3
-# endif
-
-#if BOOST_FILESYSTEM_VERSION == 2
-#  include <boost/filesystem/v2/convenience.hpp>
-
-# else
-#  include <boost/filesystem/v3/convenience.hpp>
-
-# endif
-
-#endif  // BOOST_FILESYSTEM_CONVENIENCEX_HPP 
diff --git a/SRC/Boost/boost/filesystem/detail/utf8_codecvt_facet.hpp b/SRC/Boost/boost/filesystem/detail/utf8_codecvt_facet.hpp
deleted file mode 100755
index 291aace..0000000
--- a/SRC/Boost/boost/filesystem/detail/utf8_codecvt_facet.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright (c) 2001 Ronald Garcia, Indiana University (garcia at osl.iu.edu)
-// Andrew Lumsdaine, Indiana University (lums at osl.iu.edu).
-
-// Distributed under the Boost Software License, Version 1.0.
-// (See http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_FILESYSTEM_UTF8_CODECVT_FACET_HPP
-#define BOOST_FILESYSTEM_UTF8_CODECVT_FACET_HPP
-
-#include <boost/filesystem/config.hpp>
-
-#define BOOST_UTF8_BEGIN_NAMESPACE \
-     namespace boost { namespace filesystem { namespace detail {
-
-#define BOOST_UTF8_END_NAMESPACE }}}
-#define BOOST_UTF8_DECL BOOST_FILESYSTEM_DECL
-
-#include <boost/detail/utf8_codecvt_facet.hpp>
-
-#undef BOOST_UTF8_BEGIN_NAMESPACE
-#undef BOOST_UTF8_END_NAMESPACE
-#undef BOOST_UTF8_DECL
-
-#endif
diff --git a/SRC/Boost/boost/filesystem/fstream.hpp b/SRC/Boost/boost/filesystem/fstream.hpp
deleted file mode 100755
index 064e4fb..0000000
--- a/SRC/Boost/boost/filesystem/fstream.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  boost/filesystem/fstream.hpp  ------------------------------------------------------//
-
-//  Copyright Beman Dawes 2010
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM_FSTREAMX_HPP
-#define BOOST_FILESYSTEM_FSTREAMX_HPP
-
-#include <boost/config.hpp>  // for <boost/config/user.hpp>, in case
-                             //  BOOST_FILESYSTEM_VERSION defined there
-
-# if defined(BOOST_FILESYSTEM_VERSION) \
-  && BOOST_FILESYSTEM_VERSION != 2  && BOOST_FILESYSTEM_VERSION != 3
-#   error BOOST_FILESYSTEM_VERSION defined, but not as 2 or 3
-# endif
-
-# if !defined(BOOST_FILESYSTEM_VERSION)
-#   define BOOST_FILESYSTEM_VERSION 3
-# endif
-
-#if BOOST_FILESYSTEM_VERSION == 2
-#  include <boost/filesystem/v2/fstream.hpp>
-
-# else
-#  include <boost/filesystem/v3/fstream.hpp>
-
-# endif
-
-#endif  // BOOST_FILESYSTEM_FSTREAMX_HPP 
diff --git a/SRC/Boost/boost/filesystem/operations.hpp b/SRC/Boost/boost/filesystem/operations.hpp
deleted file mode 100755
index 9393068..0000000
--- a/SRC/Boost/boost/filesystem/operations.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  boost/filesystem/operations.hpp  ---------------------------------------------------//
-
-//  Copyright Beman Dawes 2010
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM_OPERATIONSX_HPP
-#define BOOST_FILESYSTEM_OPERATIONSX_HPP
-
-#include <boost/config.hpp>  // for <boost/config/user.hpp>, in case
-                             //  BOOST_FILESYSTEM_VERSION defined there
-
-# if defined(BOOST_FILESYSTEM_VERSION) \
-  && BOOST_FILESYSTEM_VERSION != 2  && BOOST_FILESYSTEM_VERSION != 3
-#   error BOOST_FILESYSTEM_VERSION defined, but not as 2 or 3
-# endif
-
-# if !defined(BOOST_FILESYSTEM_VERSION)
-#   define BOOST_FILESYSTEM_VERSION 3
-# endif
-
-#if BOOST_FILESYSTEM_VERSION == 2
-#  include <boost/filesystem/v2/operations.hpp>
-
-# else
-#  include <boost/filesystem/v3/operations.hpp>
-
-# endif
-
-#endif  // BOOST_FILESYSTEM_OPERATIONSX_HPP 
diff --git a/SRC/Boost/boost/filesystem/path.hpp b/SRC/Boost/boost/filesystem/path.hpp
deleted file mode 100755
index d220272..0000000
--- a/SRC/Boost/boost/filesystem/path.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  boost/filesystem/path.hpp  ---------------------------------------------------------//
-
-//  Copyright Beman Dawes 2010
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM_PATHX_HPP
-#define BOOST_FILESYSTEM_PATHX_HPP
-
-#include <boost/config.hpp>  // for <boost/config/user.hpp>, in case
-                             //  BOOST_FILESYSTEM_VERSION defined there
-
-# if defined(BOOST_FILESYSTEM_VERSION) \
-  && BOOST_FILESYSTEM_VERSION != 2  && BOOST_FILESYSTEM_VERSION != 3
-#   error BOOST_FILESYSTEM_VERSION defined, but not as 2 or 3
-# endif
-
-# if !defined(BOOST_FILESYSTEM_VERSION)
-#   define BOOST_FILESYSTEM_VERSION 3
-# endif
-
-#if BOOST_FILESYSTEM_VERSION == 2
-#  include <boost/filesystem/v2/path.hpp>
-
-# else
-#  include <boost/filesystem/v3/path.hpp>
-
-# endif
-
-#endif  // BOOST_FILESYSTEM_PATHX_HPP 
diff --git a/SRC/Boost/boost/filesystem/v2/config.hpp b/SRC/Boost/boost/filesystem/v2/config.hpp
deleted file mode 100755
index bd5a8f0..0000000
--- a/SRC/Boost/boost/filesystem/v2/config.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-//  boost/filesystem/v2/config.hpp  ------------------------------------------//
-
-//  Copyright Beman Dawes 2003
-
-//  Distributed under the Boost Software License, Version 1.0. (See accompanying
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//----------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM2_CONFIG_HPP
-#define BOOST_FILESYSTEM2_CONFIG_HPP
-
-# if defined(BOOST_FILESYSTEM_VERSION) && BOOST_FILESYSTEM_VERSION != 2
-#   error Compiling Filesystem version 2 file with BOOST_FILESYSTEM_VERSION defined != 2
-# endif
-
-# if !defined(BOOST_FILESYSTEM_VERSION)
-#   define BOOST_FILESYSTEM_VERSION 2
-# endif
-
-#define BOOST_FILESYSTEM_I18N  // aid users wishing to compile several versions
-
-//  ability to change namespace aids path_table.cpp  ------------------------// 
-#ifndef BOOST_FILESYSTEM2_NAMESPACE
-# define BOOST_FILESYSTEM2_NAMESPACE filesystem2
-#endif
-
-#include <boost/config.hpp>
-#include <boost/system/api_config.hpp>  // for BOOST_POSIX_API or BOOST_WINDOWS_API
-#include <boost/detail/workaround.hpp> 
-
-//  BOOST_POSIX_PATH or BOOST_WINDOWS_PATH specify which path syntax to recognise
-
-# if defined(BOOST_WINDOWS_API) && defined(BOOST_POSIX_PATH)
-#   error builds with Windows API do not support BOOST_POSIX_PATH
-# endif
-
-# if !defined(_WIN32) && !defined(__CYGWIN__) && defined(BOOST_WINDOWS_PATH)
-#   error builds on non-Windows platforms do not support BOOST_WINDOWS_PATH
-# endif
-
-# if defined(BOOST_WINDOWS_PATH) && defined(BOOST_POSIX_PATH)
-#   error both BOOST_WINDOWS_PATH and BOOST_POSIX_PATH are defined
-# elif !defined(BOOST_WINDOWS_PATH) && !defined(BOOST_POSIX_PATH)
-#   if !defined(BOOST_POSIX_PATH) && (defined(_WIN32) || defined(__CYGWIN__))
-#     define BOOST_WINDOWS_PATH
-#   else
-#     define BOOST_POSIX_PATH
-#   endif
-# endif
-
-//  throw an exception  ----------------------------------------------------------------//
-//
-//  Exceptions were originally thrown via boost::throw_exception().
-//  As throw_exception() became more complex, it caused user error reporting
-//  to be harder to interpret, since the exception reported became much more complex.
-//  The immediate fix was to throw directly, wrapped in a macro to make any later change
-//  easier.
-
-#define BOOST_FILESYSTEM_THROW(EX) throw EX
-
-//  narrow support only for badly broken compilers or libraries  -------------//
-
-# if defined(BOOST_NO_STD_WSTRING) || defined(BOOST_NO_SFINAE) || defined(BOOST_NO_STD_LOCALE) || BOOST_WORKAROUND(__BORLANDC__, <0x610)
-#   define BOOST_FILESYSTEM2_NARROW_ONLY
-# endif
-
-// This header implements separate compilation features as described in
-// http://www.boost.org/more/separate_compilation.html
-
-//  enable dynamic linking ---------------------------------------------------//
-
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)
-# if defined(BOOST_FILESYSTEM_SOURCE)
-#   define BOOST_FILESYSTEM_DECL BOOST_SYMBOL_EXPORT
-# else 
-#   define BOOST_FILESYSTEM_DECL BOOST_SYMBOL_IMPORT
-# endif
-#else
-# define BOOST_FILESYSTEM_DECL
-#endif
-
-//  enable automatic library variant selection  ------------------------------// 
-
-#if !defined(BOOST_FILESYSTEM_SOURCE) && !defined(BOOST_ALL_NO_LIB) \
-  && !defined(BOOST_FILESYSTEM_NO_LIB)
-//
-// Set the name of our library, this will get undef'ed by auto_link.hpp
-// once it's done with it:
-//
-#define BOOST_LIB_NAME boost_filesystem
-//
-// If we're importing code from a dll, then tell auto_link.hpp about it:
-//
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)
-#  define BOOST_DYN_LINK
-#endif
-//
-// And include the header that does the work:
-//
-#include <boost/config/auto_link.hpp>
-#endif  // auto-linking disabled
-
-#endif // BOOST_FILESYSTEM2_CONFIG_HPP
diff --git a/SRC/Boost/boost/filesystem/v2/convenience.hpp b/SRC/Boost/boost/filesystem/v2/convenience.hpp
deleted file mode 100755
index 74d8739..0000000
--- a/SRC/Boost/boost/filesystem/v2/convenience.hpp
+++ /dev/null
@@ -1,339 +0,0 @@
-//  boost/filesystem/convenience.hpp  ----------------------------------------//
-
-//  Copyright Beman Dawes, 2002-2005
-//  Copyright Vladimir Prus, 2002
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//----------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM2_CONVENIENCE_HPP
-#define BOOST_FILESYSTEM2_CONVENIENCE_HPP
-
-#include <boost/filesystem/v2/config.hpp>
-#include <boost/filesystem/v2/operations.hpp>
-#include <boost/system/error_code.hpp>
-#include <vector>
-#include <stack>
-
-#include <boost/config/abi_prefix.hpp> // must be the last #include
-
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-#   define BOOST_FS_FUNC(BOOST_FS_TYPE) \
-      template<class Path> typename boost::enable_if<is_basic_path<Path>, \
-      BOOST_FS_TYPE>::type
-#   define BOOST_FS_FUNC_STRING BOOST_FS_FUNC(typename Path::string_type)
-#   define BOOST_FS_TYPENAME typename
-# else
-#   define BOOST_FS_FUNC(BOOST_FS_TYPE) inline BOOST_FS_TYPE 
-    typedef boost::filesystem::path Path;
-#   define BOOST_FS_FUNC_STRING inline std::string
-#   define BOOST_FS_TYPENAME
-# endif
-
-namespace boost
-{
-  namespace filesystem2
-  {
-
-    BOOST_FS_FUNC(bool) create_directories(const Path& ph)
-    {
-         if (ph.empty() || exists(ph))
-         {
-           if ( !ph.empty() && !is_directory(ph) )
-               boost::throw_exception( basic_filesystem_error<Path>(
-                 "boost::filesystem::create_directories", ph,
-                 make_error_code( boost::system::errc::file_exists ) ) );
-           return false;
-         }
-
-         // First create branch, by calling ourself recursively
-         create_directories(ph.parent_path());
-         // Now that parent's path exists, create the directory
-         create_directory(ph);
-         return true;
-     }
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-
-    BOOST_FS_FUNC_STRING extension(const Path& ph)
-    {
-      typedef BOOST_FS_TYPENAME Path::string_type string_type;
-      string_type filename = ph.filename();
-
-      BOOST_FS_TYPENAME string_type::size_type n = filename.rfind('.');
-      if (n != string_type::npos)
-        return filename.substr(n);
-      else
-        return string_type();
-    }
-
-    BOOST_FS_FUNC_STRING basename(const Path& ph)
-    {
-      typedef BOOST_FS_TYPENAME Path::string_type string_type;
-      string_type filename = ph.filename();
-      BOOST_FS_TYPENAME string_type::size_type n = filename.rfind('.');
-      return filename.substr(0, n);
-    }
-
-
-    BOOST_FS_FUNC(Path) change_extension( const Path & ph,
-      const BOOST_FS_TYPENAME Path::string_type & new_extension )
-    {
-#   if !defined(_STLPORT_VERSION)
-      return ph.parent_path() / (basename(ph) + new_extension); 
-#   else
-      typedef BOOST_FS_TYPENAME Path::string_type string_type; 
-      string_type filename = basename(ph) + new_extension; 
-      return ph.parent_path() / filename;
-#   endif
-    } 
-# endif
-
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-    // "do-the-right-thing" overloads  ---------------------------------------//
-
-    inline bool create_directories(const path& ph)
-      { return create_directories<path>(ph); }
-    inline bool create_directories(const wpath& ph)
-      { return create_directories<wpath>(ph); }
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    inline std::string extension(const path& ph)
-      { return extension<path>(ph); }
-    inline std::wstring extension(const wpath& ph)
-      { return extension<wpath>(ph); }
-
-    inline std::string basename(const path& ph)
-      { return basename<path>( ph ); }
-    inline std::wstring basename(const wpath& ph)
-      { return basename<wpath>( ph ); }
-
-    inline path change_extension( const path & ph, const std::string& new_ex )
-      { return change_extension<path>( ph, new_ex ); }
-    inline wpath change_extension( const wpath & ph, const std::wstring& new_ex )
-      { return change_extension<wpath>( ph, new_ex ); }
-# endif
-
-# endif
-
-
-    //  basic_recursive_directory_iterator helpers  --------------------------//
-
-    namespace detail
-    {
-      template< class Path >
-      struct recur_dir_itr_imp
-      {
-        typedef basic_directory_iterator< Path > element_type;
-        std::stack< element_type, std::vector< element_type > > m_stack;
-        int  m_level;
-        bool m_no_push;
-        bool m_no_throw;
-
-        recur_dir_itr_imp() : m_level(0), m_no_push(false), m_no_throw(false) {}
-      };
-
-    } // namespace detail
-
-    //  basic_recursive_directory_iterator  ----------------------------------//
-
-    template< class Path >
-    class basic_recursive_directory_iterator
-      : public boost::iterator_facade<
-          basic_recursive_directory_iterator<Path>,
-          basic_directory_entry<Path>,
-          boost::single_pass_traversal_tag >
-    {
-    public:
-      typedef Path path_type;
-
-      basic_recursive_directory_iterator(){}  // creates the "end" iterator
-
-      explicit basic_recursive_directory_iterator( const Path & dir_path );
-      basic_recursive_directory_iterator( const Path & dir_path,
-        system::error_code & ec );
-
-      int level() const { return m_imp->m_level; }
-
-      void pop();
-      void no_push()
-      {
-        BOOST_ASSERT( m_imp.get() && "attempt to no_push() on end iterator" );
-        m_imp->m_no_push = true;
-      }
-
-      file_status status() const
-      {
-        BOOST_ASSERT( m_imp.get()
-          && "attempt to call status() on end recursive_iterator" );
-        return m_imp->m_stack.top()->status();
-      }
-
-      file_status symlink_status() const
-      {
-        BOOST_ASSERT( m_imp.get()
-          && "attempt to call symlink_status() on end recursive_iterator" );
-        return m_imp->m_stack.top()->symlink_status();
-      }
-
-    private:
-
-      // shared_ptr provides shallow-copy semantics required for InputIterators.
-      // m_imp.get()==0 indicates the end iterator.
-      boost::shared_ptr< detail::recur_dir_itr_imp< Path > >  m_imp;
-
-      friend class boost::iterator_core_access;
-
-      typename boost::iterator_facade< 
-        basic_recursive_directory_iterator<Path>,
-        basic_directory_entry<Path>,
-        boost::single_pass_traversal_tag >::reference
-      dereference() const 
-      {
-        BOOST_ASSERT( m_imp.get() && "attempt to dereference end iterator" );
-        return *m_imp->m_stack.top();
-      }
-
-      void increment();
-
-      bool equal( const basic_recursive_directory_iterator & rhs ) const
-        { return m_imp == rhs.m_imp; }
-
-    };
-
-    typedef basic_recursive_directory_iterator<path> recursive_directory_iterator;
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-    typedef basic_recursive_directory_iterator<wpath> wrecursive_directory_iterator;
-# endif
-
-    //  basic_recursive_directory_iterator implementation  -------------------//
-
-    //  constructors
-    template<class Path>
-    basic_recursive_directory_iterator<Path>::
-      basic_recursive_directory_iterator( const Path & dir_path )
-      : m_imp( new detail::recur_dir_itr_imp<Path> )
-    {
-      m_imp->m_stack.push( basic_directory_iterator<Path>( dir_path ) );
-      if ( m_imp->m_stack.top () == basic_directory_iterator<Path>() )
-        { m_imp.reset (); }
-    }
-
-    template<class Path>
-    basic_recursive_directory_iterator<Path>::
-      basic_recursive_directory_iterator( const Path & dir_path,
-        system::error_code & ec )
-      : m_imp( new detail::recur_dir_itr_imp<Path> )
-    {
-      m_imp->m_no_throw = true;
-      m_imp->m_stack.push( basic_directory_iterator<Path>( dir_path, ec ) );
-      if ( m_imp->m_stack.top () == basic_directory_iterator<Path>() )
-        { m_imp.reset (); }
-    }
-
-    //  increment
-    template<class Path>
-    void basic_recursive_directory_iterator<Path>::increment()
-    {
-      BOOST_ASSERT( m_imp.get() && "increment on end iterator" );
-      
-      static const basic_directory_iterator<Path> end_itr;
-
-      if ( m_imp->m_no_push )
-        { m_imp->m_no_push = false; }
-      else if ( is_directory( m_imp->m_stack.top()->status() ) )
-      {
-        system::error_code ec;
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
-        if( m_imp->m_no_throw ) {
-            m_imp->m_stack.push(
-                basic_directory_iterator<Path>( *m_imp->m_stack.top(), ec )
-            );
-        }
-        else {
-            m_imp->m_stack.push(
-                basic_directory_iterator<Path>( *m_imp->m_stack.top() )
-            );
-        }
-#else
-        m_imp->m_stack.push(
-          m_imp->m_no_throw
-            ? basic_directory_iterator<Path>( *m_imp->m_stack.top(), ec )
-            : basic_directory_iterator<Path>( *m_imp->m_stack.top() ) );
-#endif
-        if ( m_imp->m_stack.top() != end_itr )
-        {
-          ++m_imp->m_level;
-          return;
-        }
-        m_imp->m_stack.pop();
-      }
-
-      while ( !m_imp->m_stack.empty()
-        && ++m_imp->m_stack.top() == end_itr )
-      {
-        m_imp->m_stack.pop();
-        --m_imp->m_level;
-      }
-
-      if ( m_imp->m_stack.empty() ) m_imp.reset(); // done, so make end iterator
-    }
-
-    //  pop
-    template<class Path>
-    void basic_recursive_directory_iterator<Path>::pop()
-    {
-      BOOST_ASSERT( m_imp.get() && "pop on end iterator" );
-      BOOST_ASSERT( m_imp->m_level > 0 && "pop with level < 1" );
-
-      static const basic_directory_iterator<Path> end_itr;
-
-      do
-      {
-        m_imp->m_stack.pop();
-        --m_imp->m_level;
-      }
-      while ( !m_imp->m_stack.empty()
-        && ++m_imp->m_stack.top() == end_itr );
-
-      if ( m_imp->m_stack.empty() ) m_imp.reset(); // done, so make end iterator
-    }
-
-  } // namespace filesystem2
-} // namespace boost
-
-#undef BOOST_FS_FUNC_STRING
-#undef BOOST_FS_FUNC
-
-//----------------------------------------------------------------------------//
-
-namespace boost
-{
-  namespace filesystem
-  {
-    using filesystem2::create_directories;
-    using filesystem2::basic_recursive_directory_iterator;
-    using filesystem2::recursive_directory_iterator;
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    using filesystem2::extension;
-    using filesystem2::basename;
-    using filesystem2::change_extension;
-# endif
-
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-    using filesystem2::wrecursive_directory_iterator;
-# endif
-
-  }
-}
-
-//----------------------------------------------------------------------------//
-
-#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-#endif // BOOST_FILESYSTEM2_CONVENIENCE_HPP
diff --git a/SRC/Boost/boost/filesystem/v2/fstream.hpp b/SRC/Boost/boost/filesystem/v2/fstream.hpp
deleted file mode 100755
index e5eab31..0000000
--- a/SRC/Boost/boost/filesystem/v2/fstream.hpp
+++ /dev/null
@@ -1,613 +0,0 @@
-//  boost/filesystem/fstream.hpp  --------------------------------------------//
-
-//  Copyright Beman Dawes 2002.
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//----------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM2_FSTREAM_HPP
-#define BOOST_FILESYSTEM2_FSTREAM_HPP
-
-#include <boost/filesystem/v2/config.hpp>
-#include <boost/filesystem/v2/operations.hpp> // for 8.3 hack (see below)
-#include <boost/utility/enable_if.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <iosfwd>
-#include <fstream>
-
-#include <boost/config/abi_prefix.hpp> // must be the last #include
-
-// NOTE: fstream.hpp for Boost 1.32.0 and earlier supplied workarounds for
-// various compiler problems. They have been removed to ease development of the
-// basic i18n functionality. Once the new interface is stable, the workarounds
-// will be reinstated for any compilers that otherwise can support the rest of
-// the library after internationalization.
-
-namespace boost
-{
-  namespace filesystem2
-  {
-    namespace detail
-    {
-#   if defined(BOOST_WINDOWS_API) && !defined(BOOST_FILESYSTEM2_NARROW_ONLY)
-#     if !defined(BOOST_DINKUMWARE_STDLIB) || BOOST_DINKUMWARE_STDLIB < 405
-      // The 8.3 hack:
-      // C++98 does not supply a wchar_t open, so try to get an equivalent
-      // narrow char name based on the short, so-called 8.3, name.
-      // Not needed for Dinkumware 405 and later as they do supply wchar_t open.
-      BOOST_FILESYSTEM_DECL bool create_file_api( const std::wstring & ph,
-        std::ios_base::openmode mode ); // true if succeeds
-      BOOST_FILESYSTEM_DECL std::string narrow_path_api(
-        const std::wstring & ph ); // return is empty if fails
-
-      inline std::string path_proxy( const std::wstring & file_ph,
-        std::ios_base::openmode mode )
-      // Return a non-existant path if cannot supply narrow short path.
-      // An empty path doesn't work because some Dinkumware versions
-      // assert the path is non-empty.  
-      {
-        std::string narrow_ph;
-        bool created_file( false );
-        if ( !exists( file_ph )
-          && (mode & std::ios_base::out) != 0
-          && create_file_api( file_ph, mode ) )
-        {
-          created_file = true;
-        }
-        narrow_ph = narrow_path_api( file_ph );
-        if ( narrow_ph.empty() )
-        {
-          if ( created_file ) remove_api( file_ph );
-          narrow_ph = "\x01";
-        }
-        return narrow_ph;
-      }
-#     else
-      // Dinkumware 405 and later does supply wchar_t functions
-      inline const std::wstring & path_proxy( const std::wstring & file_ph,
-        std::ios_base::openmode )
-        { return file_ph; }
-#     endif
-#   endif 
-
-      inline const std::string & path_proxy( const std::string & file_ph,
-        std::ios_base::openmode )
-        { return file_ph; }
-
-    } // namespace detail
-
-    template < class charT, class traits = std::char_traits<charT> >
-    class basic_filebuf : public std::basic_filebuf<charT,traits>
-    {
-    private: // disallow copying
-      basic_filebuf( const basic_filebuf & );
-      const basic_filebuf & operator=( const basic_filebuf & ); 
-    public:
-      basic_filebuf() {}
-      virtual ~basic_filebuf() {}
-
-#   ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-      template<class Path>
-      typename boost::enable_if<is_basic_path<Path>,
-        basic_filebuf<charT,traits> *>::type
-      open( const Path & file_ph, std::ios_base::openmode mode );
-
-      basic_filebuf<charT,traits> *
-      open( const wpath & file_ph, std::ios_base::openmode mode );
-#   endif
-
-#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
-      basic_filebuf<charT,traits> *
-      open( const path & file_ph, std::ios_base::openmode mode );
-#   endif
-    };
-
-    template < class charT, class traits = std::char_traits<charT> >
-    class basic_ifstream : public std::basic_ifstream<charT,traits>
-    {
-    private: // disallow copying
-      basic_ifstream( const basic_ifstream & );
-      const basic_ifstream & operator=( const basic_ifstream & ); 
-    public:
-      basic_ifstream() {}
-
-      // use two signatures, rather than one signature with default second
-      // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)
-
-#   ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-      template<class Path>
-      explicit basic_ifstream( const Path & file_ph,
-        typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
-
-      template<class Path>
-      basic_ifstream( const Path & file_ph, std::ios_base::openmode mode,
-        typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
-
-      template<class Path>
-      typename boost::enable_if<is_basic_path<Path>, void>::type
-      open( const Path & file_ph );
-
-      template<class Path>
-      typename boost::enable_if<is_basic_path<Path>, void>::type
-      open( const Path & file_ph, std::ios_base::openmode mode );
-
-      explicit basic_ifstream( const wpath & file_ph );
-      basic_ifstream( const wpath & file_ph, std::ios_base::openmode mode );
-      void open( const wpath & file_ph );
-      void open( const wpath & file_ph, std::ios_base::openmode mode );
-#   endif
-
-      explicit basic_ifstream( const path & file_ph );
-      basic_ifstream( const path & file_ph, std::ios_base::openmode mode );
-#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
-      void open( const path & file_ph );
-      void open( const path & file_ph, std::ios_base::openmode mode );
-#   endif
-      virtual ~basic_ifstream() {}
-    };
-
-    template < class charT, class traits = std::char_traits<charT> >
-    class basic_ofstream : public std::basic_ofstream<charT,traits>
-    {
-    private: // disallow copying
-      basic_ofstream( const basic_ofstream & );
-      const basic_ofstream & operator=( const basic_ofstream & ); 
-    public:
-      basic_ofstream() {}
-
-      // use two signatures, rather than one signature with default second
-      // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)
-
-#   ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-      template<class Path>
-      explicit basic_ofstream( const Path & file_ph,
-        typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
-      explicit basic_ofstream( const wpath & file_ph );
-
-      template<class Path>
-      basic_ofstream( const Path & file_ph, std::ios_base::openmode mode,
-        typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
-      basic_ofstream( const wpath & file_ph, std::ios_base::openmode mode );
-
-      template<class Path>
-      typename boost::enable_if<is_basic_path<Path>, void>::type
-      open( const Path & file_ph );
-      void open( const wpath & file_ph );
-
-      template<class Path>
-      typename boost::enable_if<is_basic_path<Path>, void>::type
-      open( const Path & file_ph, std::ios_base::openmode mode );
-      void open( const wpath & file_ph, std::ios_base::openmode mode );
-
-#   endif
-
-      explicit basic_ofstream( const path & file_ph );
-      basic_ofstream( const path & file_ph, std::ios_base::openmode mode );
-#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
-      void open( const path & file_ph );
-      void open( const path & file_ph, std::ios_base::openmode mode );
-#   endif
-      virtual ~basic_ofstream() {}
-    };
-
-    template < class charT, class traits = std::char_traits<charT> >
-    class basic_fstream : public std::basic_fstream<charT,traits>
-    {
-    private: // disallow copying
-      basic_fstream( const basic_fstream & );
-      const basic_fstream & operator=( const basic_fstream & ); 
-    public:
-      basic_fstream() {}
-
-      // use two signatures, rather than one signature with default second
-      // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)
-
-#   ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-      template<class Path>
-      explicit basic_fstream( const Path & file_ph,
-        typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
-      explicit basic_fstream( const wpath & file_ph );
-
-      template<class Path>
-      basic_fstream( const Path & file_ph, std::ios_base::openmode mode,
-        typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
-      basic_fstream( const wpath & file_ph, std::ios_base::openmode mode );
-
-      template<class Path>
-      typename boost::enable_if<is_basic_path<Path>, void>::type
-      open( const Path & file_ph );
-      void open( const wpath & file_ph );
-
-      template<class Path>
-      typename boost::enable_if<is_basic_path<Path>, void>::type
-      open( const Path & file_ph, std::ios_base::openmode mode );
-      void open( const wpath & file_ph, std::ios_base::openmode mode );
-
-#   endif
-
-      explicit basic_fstream( const path & file_ph );
-      basic_fstream( const path & file_ph, std::ios_base::openmode mode );
-#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
-      void open( const path & file_ph );
-      void open( const path & file_ph, std::ios_base::openmode mode );
-#   endif
-      virtual ~basic_fstream() {}
-
-    };
- 
-    typedef basic_filebuf<char> filebuf;
-    typedef basic_ifstream<char> ifstream;
-    typedef basic_ofstream<char> ofstream;
-    typedef basic_fstream<char> fstream;
-
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-    typedef basic_filebuf<wchar_t> wfilebuf;
-    typedef basic_ifstream<wchar_t> wifstream;
-    typedef basic_fstream<wchar_t> wfstream;
-    typedef basic_ofstream<wchar_t> wofstream;
-# endif
-    
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-//  basic_filebuf definitions  -----------------------------------------------//
-
-    template <class charT, class traits>
-    template<class Path>
-    typename boost::enable_if<is_basic_path<Path>,
-      basic_filebuf<charT,traits> *>::type
-    basic_filebuf<charT,traits>::open( const Path & file_ph,
-      std::ios_base::openmode mode )
-    {
-      return (std::basic_filebuf<charT,traits>::open( detail::path_proxy(
-        file_ph.external_file_string(), mode ).c_str(), mode )
-          == 0) ? 0 : this;
-    }
-
-    template <class charT, class traits>
-    basic_filebuf<charT,traits> *
-    basic_filebuf<charT, traits>::open( const wpath & file_ph,
-      std::ios_base::openmode mode )
-    {
-      return this->BOOST_NESTED_TEMPLATE open<wpath>( file_ph, mode );
-    }
-
-//  basic_ifstream definitions  ----------------------------------------------//
-
-    template <class charT, class traits> template<class Path>
-    basic_ifstream<charT,traits>::basic_ifstream(const Path & file_ph,
-      typename boost::enable_if<is_basic_path<Path> >::type* )
-      : std::basic_ifstream<charT,traits>(
-        detail::path_proxy( file_ph.external_file_string(),
-          std::ios_base::in ).c_str(), std::ios_base::in ) {}
-
-    template <class charT, class traits>
-    basic_ifstream<charT,traits>::basic_ifstream( const wpath & file_ph )
-      : std::basic_ifstream<charT,traits>(
-        detail::path_proxy( file_ph.external_file_string(),
-          std::ios_base::in ).c_str(), std::ios_base::in ) {}
-    
-    template <class charT, class traits> template<class Path>
-    basic_ifstream<charT,traits>::basic_ifstream( const Path & file_ph,
-      std::ios_base::openmode mode,
-      typename boost::enable_if<is_basic_path<Path> >::type* )
-      : std::basic_ifstream<charT,traits>(
-        detail::path_proxy( file_ph.external_file_string(),
-          mode ).c_str(), mode ) {}
-
-    template <class charT, class traits>
-    basic_ifstream<charT,traits>::basic_ifstream( const wpath & file_ph,
-      std::ios_base::openmode mode )
-      : std::basic_ifstream<charT,traits>(
-        detail::path_proxy( file_ph.external_file_string(),
-          mode ).c_str(), mode ) {}
-
-    template <class charT, class traits> template<class Path>
-    typename boost::enable_if<is_basic_path<Path>, void>::type
-    basic_ifstream<charT,traits>::open( const Path & file_ph )
-    {
-      std::basic_ifstream<charT,traits>::open(
-        detail::path_proxy( file_ph.external_file_string(),
-          std::ios_base::in ).c_str(), std::ios_base::in );
-    }
-
-    template <class charT, class traits>
-    void basic_ifstream<charT,traits>::open( const wpath & file_ph )
-    {
-      std::basic_ifstream<charT,traits>::open(
-        detail::path_proxy( file_ph.external_file_string(),
-          std::ios_base::in ).c_str(), std::ios_base::in );
-    }
-    
-    template <class charT, class traits> template<class Path>
-    typename boost::enable_if<is_basic_path<Path>, void>::type
-    basic_ifstream<charT,traits>::open( const Path & file_ph,
-      std::ios_base::openmode mode )
-    {
-      std::basic_ifstream<charT,traits>::open(
-        detail::path_proxy( file_ph.external_file_string(),
-          mode ).c_str(), mode );
-    }
-    
-    template <class charT, class traits>
-    void basic_ifstream<charT,traits>::open( const wpath & file_ph,
-      std::ios_base::openmode mode )
-    {
-      std::basic_ifstream<charT,traits>::open(
-        detail::path_proxy( file_ph.external_file_string(),
-          mode ).c_str(), mode );
-    }
-
-//  basic_ofstream definitions  ----------------------------------------------//
-
-    template <class charT, class traits> template<class Path>
-    basic_ofstream<charT,traits>::basic_ofstream(const Path & file_ph,
-      typename boost::enable_if<is_basic_path<Path> >::type* )
-      : std::basic_ofstream<charT,traits>(
-        detail::path_proxy( file_ph.external_file_string(),
-          std::ios_base::out ).c_str(), std::ios_base::out ) {}
-
-    template <class charT, class traits>
-    basic_ofstream<charT,traits>::basic_ofstream( const wpath & file_ph )
-      : std::basic_ofstream<charT,traits>(
-        detail::path_proxy( file_ph.external_file_string(),
-          std::ios_base::out ).c_str(), std::ios_base::out ) {}
-
-    template <class charT, class traits> template<class Path>
-    basic_ofstream<charT,traits>::basic_ofstream( const Path & file_ph,
-      std::ios_base::openmode mode,
-      typename boost::enable_if<is_basic_path<Path> >::type* )
-      : std::basic_ofstream<charT,traits>(
-        detail::path_proxy( file_ph.external_file_string(),
-          mode ).c_str(), mode ) {}
-
-    template <class charT, class traits>
-    basic_ofstream<charT,traits>::basic_ofstream( const wpath & file_ph,
-      std::ios_base::openmode mode )
-      : std::basic_ofstream<charT,traits>(
-        detail::path_proxy( file_ph.external_file_string(),
-          mode ).c_str(), mode ) {}
-    
-    template <class charT, class traits> template<class Path>
-    typename boost::enable_if<is_basic_path<Path>, void>::type
-    basic_ofstream<charT,traits>::open( const Path & file_ph )
-    {
-      std::basic_ofstream<charT,traits>::open(
-        detail::path_proxy( file_ph.external_file_string(),
-          std::ios_base::out ).c_str(), std::ios_base::out );
-    }
-    
-    template <class charT, class traits>
-    void basic_ofstream<charT,traits>::open( const wpath & file_ph )
-    {
-      std::basic_ofstream<charT,traits>::open(
-        detail::path_proxy( file_ph.external_file_string(),
-          std::ios_base::out ).c_str(), std::ios_base::out );
-    }
-    
-    template <class charT, class traits> template<class Path>
-    typename boost::enable_if<is_basic_path<Path>, void>::type
-    basic_ofstream<charT,traits>::open( const Path & file_ph,
-      std::ios_base::openmode mode )
-    {
-      std::basic_ofstream<charT,traits>::open(
-        detail::path_proxy( file_ph.external_file_string(),
-          mode ).c_str(), mode );
-    }
-
-    template <class charT, class traits>
-    void basic_ofstream<charT,traits>::open( const wpath & file_ph,
-      std::ios_base::openmode mode )
-    {
-      std::basic_ofstream<charT,traits>::open(
-        detail::path_proxy( file_ph.external_file_string(),
-          mode ).c_str(), mode );
-    }
-
-//  basic_fstream definitions  -----------------------------------------------//
-
-    template <class charT, class traits> template<class Path>
-    basic_fstream<charT,traits>::basic_fstream(const Path & file_ph,
-      typename boost::enable_if<is_basic_path<Path> >::type* )
-      : std::basic_fstream<charT,traits>(
-        detail::path_proxy( file_ph.external_file_string(),
-          std::ios_base::in|std::ios_base::out ).c_str(),
-          std::ios_base::in|std::ios_base::out ) {}
-
-    template <class charT, class traits>
-    basic_fstream<charT,traits>::basic_fstream( const wpath & file_ph )
-      : std::basic_fstream<charT,traits>(
-        detail::path_proxy( file_ph.external_file_string(),
-          std::ios_base::in|std::ios_base::out ).c_str(),
-          std::ios_base::in|std::ios_base::out ) {}
-
-    template <class charT, class traits> template<class Path>
-    basic_fstream<charT,traits>::basic_fstream( const Path & file_ph,
-      std::ios_base::openmode mode,
-      typename boost::enable_if<is_basic_path<Path> >::type* )
-      : std::basic_fstream<charT,traits>(
-        detail::path_proxy( file_ph.external_file_string(),
-          mode ).c_str(), mode ) {}
-    
-    template <class charT, class traits>
-    basic_fstream<charT,traits>::basic_fstream( const wpath & file_ph,
-      std::ios_base::openmode mode )
-      : std::basic_fstream<charT,traits>(
-        detail::path_proxy( file_ph.external_file_string(),
-          mode ).c_str(), mode ) {}
-      
-    template <class charT, class traits> template<class Path>
-    typename boost::enable_if<is_basic_path<Path>, void>::type
-    basic_fstream<charT,traits>::open( const Path & file_ph )
-    {
-      std::basic_fstream<charT,traits>::open(
-        detail::path_proxy( file_ph.external_file_string(),
-          std::ios_base::in|std::ios_base::out ).c_str(),
-          std::ios_base::in|std::ios_base::out );
-    }
-
-    template <class charT, class traits>
-    void basic_fstream<charT,traits>::open( const wpath & file_ph )
-    {
-      std::basic_fstream<charT,traits>::open(
-        detail::path_proxy( file_ph.external_file_string(),
-          std::ios_base::in|std::ios_base::out ).c_str(),
-          std::ios_base::in|std::ios_base::out );
-    }
-    
-    template <class charT, class traits> template<class Path>
-    typename boost::enable_if<is_basic_path<Path>, void>::type
-    basic_fstream<charT,traits>::open( const Path & file_ph,
-      std::ios_base::openmode mode )
-    {
-      std::basic_fstream<charT,traits>::open(
-        detail::path_proxy( file_ph.external_file_string(),
-          mode ).c_str(), mode );
-    }
-
-    template <class charT, class traits>
-    void basic_fstream<charT,traits>::open( const wpath & file_ph,
-      std::ios_base::openmode mode )
-    {
-      std::basic_fstream<charT,traits>::open(
-        detail::path_proxy( file_ph.external_file_string(),
-          mode ).c_str(), mode );
-    }
-
-# endif
-
-#  if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
-    template <class charT, class traits>
-    basic_filebuf<charT,traits> *
-    basic_filebuf<charT, traits>::open( const path & file_ph,
-      std::ios_base::openmode mode )
-    {
-      return std::basic_filebuf<charT,traits>::open(
-        file_ph.file_string().c_str(), mode ) == 0 ? 0 : this;
-    }
-#  endif
-
-    template <class charT, class traits>
-    basic_ifstream<charT,traits>::basic_ifstream( const path & file_ph )
-      : std::basic_ifstream<charT,traits>(
-          file_ph.file_string().c_str(), std::ios_base::in ) {}
-
-    template <class charT, class traits>
-    basic_ifstream<charT,traits>::basic_ifstream( const path & file_ph,
-      std::ios_base::openmode mode )
-      : std::basic_ifstream<charT,traits>(
-          file_ph.file_string().c_str(), mode ) {}
-    
-#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
-    template <class charT, class traits>
-    void basic_ifstream<charT,traits>::open( const path & file_ph )
-    {
-      std::basic_ifstream<charT,traits>::open(
-        file_ph.file_string().c_str(), std::ios_base::in );
-    }
-    
-    template <class charT, class traits>
-    void basic_ifstream<charT,traits>::open( const path & file_ph,
-      std::ios_base::openmode mode )
-    {
-      std::basic_ifstream<charT,traits>::open(
-        file_ph.file_string().c_str(), mode );
-    }
-#   endif
-
-    template <class charT, class traits>
-    basic_ofstream<charT,traits>::basic_ofstream( const path & file_ph )
-      : std::basic_ofstream<charT,traits>(
-          file_ph.file_string().c_str(), std::ios_base::out ) {}
-
-    template <class charT, class traits>
-    basic_ofstream<charT,traits>::basic_ofstream( const path & file_ph,
-      std::ios_base::openmode mode )
-      : std::basic_ofstream<charT,traits>(
-          file_ph.file_string().c_str(), mode ) {}
-    
-#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
-    template <class charT, class traits>
-    void basic_ofstream<charT,traits>::open( const path & file_ph )
-    {
-      std::basic_ofstream<charT,traits>::open(
-        file_ph.file_string().c_str(), std::ios_base::out );
-    }
-    
-    template <class charT, class traits>
-    void basic_ofstream<charT,traits>::open( const path & file_ph,
-      std::ios_base::openmode mode )
-    {
-      std::basic_ofstream<charT,traits>::open(
-        file_ph.file_string().c_str(), mode );
-    }
-#   endif
-
-    template <class charT, class traits>
-    basic_fstream<charT,traits>::basic_fstream( const path & file_ph )
-      : std::basic_fstream<charT,traits>(
-          file_ph.file_string().c_str(),
-          std::ios_base::in|std::ios_base::out ) {}
-
-
-    template <class charT, class traits>
-    basic_fstream<charT,traits>::basic_fstream( const path & file_ph,
-      std::ios_base::openmode mode )
-      : std::basic_fstream<charT,traits>(
-          file_ph.file_string().c_str(), mode ) {}
-
-#   if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
-    template <class charT, class traits>
-    void basic_fstream<charT,traits>::open( const path & file_ph )
-    {
-      std::basic_fstream<charT,traits>::open(
-        file_ph.file_string().c_str(), std::ios_base::in|std::ios_base::out );
-    }
-
-    template <class charT, class traits>
-    void basic_fstream<charT,traits>::open( const path & file_ph,
-      std::ios_base::openmode mode )
-    {
-      std::basic_fstream<charT,traits>::open(
-        file_ph.file_string().c_str(), mode );
-    }
-#   endif
-  } // namespace filesystem2
-} // namespace boost
-
-//----------------------------------------------------------------------------//
-
-namespace boost
-{
-  namespace filesystem
-  {
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-    using filesystem2::wfilebuf;
-    using filesystem2::wifstream;
-    using filesystem2::wfstream;
-    using filesystem2::wofstream;
-# endif
-    using filesystem2::filebuf;
-    using filesystem2::ifstream;
-    using filesystem2::ofstream;
-    using filesystem2::fstream;
-    using filesystem2::basic_filebuf;
-    using filesystem2::basic_ifstream;
-    using filesystem2::basic_ofstream;
-    using filesystem2::basic_fstream;
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-# endif
-  }
-}
-
-//----------------------------------------------------------------------------//
-
-#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-#endif  // BOOST_FILESYSTEM2_FSTREAM_HPP
diff --git a/SRC/Boost/boost/filesystem/v2/operations.hpp b/SRC/Boost/boost/filesystem/v2/operations.hpp
deleted file mode 100755
index c5c303d..0000000
--- a/SRC/Boost/boost/filesystem/v2/operations.hpp
+++ /dev/null
@@ -1,1245 +0,0 @@
-//  boost/filesystem/operations.hpp  -----------------------------------------//
-
-//  Copyright 2002-2005 Beman Dawes
-//  Copyright 2002 Jan Langer
-//  Copyright 2001 Dietmar Kuehl                                        
-//  
-//  Distributed under the Boost Software License, Version 1.0. (See accompanying
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//----------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM2_OPERATIONS_HPP
-#define BOOST_FILESYSTEM2_OPERATIONS_HPP
-
-#include <boost/filesystem/v2/config.hpp>
-#include <boost/filesystem/v2/path.hpp>
-#include <boost/detail/scoped_enum_emulation.hpp>
-
-#include <boost/shared_ptr.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/iterator.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/assert.hpp>
-
-#include <string>
-#include <utility> // for pair
-#include <ctime>
-
-#ifdef BOOST_WINDOWS_API
-#  include <fstream>
-#  if !defined(_WIN32_WINNT) || _WIN32_WINNT >= 0x0500
-#    define BOOST_FS_HARD_LINK // Default for Windows 2K or later 
-#  endif
-#endif
-
-#include <boost/config/abi_prefix.hpp> // must be the last #include
-
-# ifdef BOOST_NO_STDC_NAMESPACE
-    namespace std { using ::time_t; }
-# endif
-
-//----------------------------------------------------------------------------//
-
-namespace boost
-{
-  namespace filesystem2
-  {
-
-// typedef boost::filesystem::path Path; needs to be in namespace boost::filesystem
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-#   define BOOST_FS_FUNC(BOOST_FS_TYPE) \
-      template<class Path> typename boost::enable_if<is_basic_path<Path>, \
-      BOOST_FS_TYPE>::type
-#   define BOOST_INLINE_FS_FUNC(BOOST_FS_TYPE) \
-      template<class Path> inline typename boost::enable_if<is_basic_path<Path>, \
-      BOOST_FS_TYPE>::type
-#   define BOOST_FS_TYPENAME typename
-# else
-#   define BOOST_FS_FUNC(BOOST_FS_TYPE) inline BOOST_FS_TYPE
-#   define BOOST_INLINE_FS_FUNC(BOOST_FS_TYPE) inline BOOST_FS_TYPE
-    typedef boost::filesystem2::path Path;
-#   define BOOST_FS_TYPENAME
-# endif
-
-    template<class Path> class basic_directory_iterator;
-
-    // BOOST_FILESYSTEM2_NARROW_ONLY needs this:
-    typedef basic_directory_iterator<path> directory_iterator;
-
-    template<class Path> class basic_directory_entry;
-
-    enum file_type
-    { 
-      status_unknown,
-      file_not_found,
-      regular_file,
-      directory_file,
-      // the following will never be reported by some operating or file systems
-      symlink_file,
-      block_file,
-      character_file,
-      fifo_file,
-      socket_file,
-      type_unknown // file does exist, but isn't one of the above types or
-                   // we don't have strong enough permission to find its type
-    };
-
-    class file_status
-    {
-    public:
-      explicit file_status( file_type v = status_unknown ) : m_value(v) {}
-
-      void type( file_type v )  { m_value = v; }
-      file_type type() const    { return m_value; }
-
-    private:
-      // the internal representation is unspecified so that additional state
-      // information such as permissions can be added in the future; this
-      // implementation just uses status_type as the internal representation
-
-      file_type m_value;
-    };
-
-    inline bool status_known( file_status f ) { return f.type() != status_unknown; }
-    inline bool exists( file_status f )       { return f.type() != status_unknown && f.type() != file_not_found; }
-    inline bool is_regular_file(file_status f){ return f.type() == regular_file; }
-    inline bool is_directory( file_status f ) { return f.type() == directory_file; }
-    inline bool is_symlink( file_status f )   { return f.type() == symlink_file; }
-    inline bool is_other( file_status f )     { return exists(f) && !is_regular_file(f) && !is_directory(f) && !is_symlink(f); }
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    inline bool is_regular( file_status f )   { return f.type() == regular_file; }
-# endif
-
-    struct space_info
-    {
-      // all values are byte counts
-      boost::uintmax_t capacity;
-      boost::uintmax_t free;      // <= capacity
-      boost::uintmax_t available; // <= free
-    };
-
-    namespace detail
-    {
-      typedef std::pair< system::error_code, bool >
-        query_pair;
-
-      typedef std::pair< system::error_code, boost::uintmax_t >
-        uintmax_pair;
-
-      typedef std::pair< system::error_code, std::time_t >
-        time_pair;
-
-      typedef std::pair< system::error_code, space_info >
-        space_pair;
-
-      template< class Path >
-      struct directory_pair
-      {
-        typedef std::pair< system::error_code,
-          typename Path::external_string_type > type;
-      };
-
-#   ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-      BOOST_FILESYSTEM_DECL bool
-        symbolic_link_exists_api( const std::string & ); // deprecated
-#   endif
-
-      BOOST_FILESYSTEM_DECL file_status
-        status_api( const std::string & ph, system::error_code & ec );
-#   ifndef BOOST_WINDOWS_API
-      BOOST_FILESYSTEM_DECL file_status
-        symlink_status_api( const std::string & ph, system::error_code & ec );
-#   endif
-      BOOST_FILESYSTEM_DECL query_pair
-        is_empty_api( const std::string & ph );
-      BOOST_FILESYSTEM_DECL query_pair
-        equivalent_api( const std::string & ph1, const std::string & ph2 );
-      BOOST_FILESYSTEM_DECL uintmax_pair
-        file_size_api( const std::string & ph );
-      BOOST_FILESYSTEM_DECL space_pair
-        space_api( const std::string & ph );
-      BOOST_FILESYSTEM_DECL time_pair 
-        last_write_time_api( const std::string & ph );
-      BOOST_FILESYSTEM_DECL system::error_code
-        last_write_time_api( const std::string & ph, std::time_t new_value );
-      BOOST_FILESYSTEM_DECL system::error_code
-        get_current_path_api( std::string & ph );
-      BOOST_FILESYSTEM_DECL system::error_code
-        set_current_path_api( const std::string & ph );
-      BOOST_FILESYSTEM_DECL query_pair
-        create_directory_api( const std::string & ph );
-      BOOST_FILESYSTEM_DECL system::error_code
-        create_hard_link_api( const std::string & to_ph,
-          const std::string & from_ph );
-      BOOST_FILESYSTEM_DECL system::error_code
-        create_symlink_api( const std::string & to_ph,
-          const std::string & from_ph );
-      BOOST_FILESYSTEM_DECL system::error_code
-        remove_api( const std::string & ph );
-      BOOST_FILESYSTEM_DECL system::error_code
-        rename_api( const std::string & from, const std::string & to );
-      BOOST_FILESYSTEM_DECL system::error_code
-        copy_file_api( const std::string & from, const std::string & to, bool fail_if_exists );
-
-#   if defined(BOOST_WINDOWS_API)
-      
-      BOOST_FILESYSTEM_DECL system::error_code
-        get_full_path_name_api( const std::string & ph, std::string & target );
-
-#     if !defined(BOOST_FILESYSTEM2_NARROW_ONLY)
-
-      BOOST_FILESYSTEM_DECL  boost::filesystem2::file_status
-        status_api( const std::wstring & ph, system::error_code & ec );
-      BOOST_FILESYSTEM_DECL query_pair 
-        is_empty_api( const std::wstring & ph );
-      BOOST_FILESYSTEM_DECL query_pair
-        equivalent_api( const std::wstring & ph1, const std::wstring & ph2 );
-      BOOST_FILESYSTEM_DECL uintmax_pair 
-        file_size_api( const std::wstring & ph );
-      BOOST_FILESYSTEM_DECL space_pair 
-        space_api( const std::wstring & ph );
-      BOOST_FILESYSTEM_DECL system::error_code
-        get_full_path_name_api( const std::wstring & ph, std::wstring & target );
-      BOOST_FILESYSTEM_DECL time_pair 
-        last_write_time_api( const std::wstring & ph );
-      BOOST_FILESYSTEM_DECL system::error_code
-        last_write_time_api( const std::wstring & ph, std::time_t new_value );
-      BOOST_FILESYSTEM_DECL system::error_code 
-        get_current_path_api( std::wstring & ph );
-      BOOST_FILESYSTEM_DECL system::error_code 
-        set_current_path_api( const std::wstring & ph );
-      BOOST_FILESYSTEM_DECL query_pair
-        create_directory_api( const std::wstring & ph );
-# ifdef BOOST_FS_HARD_LINK
-      BOOST_FILESYSTEM_DECL system::error_code
-        create_hard_link_api( const std::wstring & existing_ph,
-          const std::wstring & new_ph );
-# endif
-      BOOST_FILESYSTEM_DECL system::error_code
-        create_symlink_api( const std::wstring & to_ph,
-          const std::wstring & from_ph );
-      BOOST_FILESYSTEM_DECL system::error_code
-        remove_api( const std::wstring & ph );
-      BOOST_FILESYSTEM_DECL system::error_code
-        rename_api( const std::wstring & from, const std::wstring & to );
-      BOOST_FILESYSTEM_DECL system::error_code
-        copy_file_api( const std::wstring & from, const std::wstring & to, bool fail_if_exists );
-
-#     endif
-#   endif
-
-      template<class Path>
-      bool remove_aux( const Path & ph, file_status f );
-
-      template<class Path>
-      unsigned long remove_all_aux( const Path & ph, file_status f );
-
-    } // namespace detail
-
-//  operations functions  ----------------------------------------------------//
-
-    //  The non-template overloads enable automatic conversion from std and
-    //  C-style strings. See basic_path constructors. The enable_if for the
-    //  templates implements the famous "do-the-right-thing" rule.
-
-//  query functions  ---------------------------------------------------------//
-
-    BOOST_INLINE_FS_FUNC(file_status)
-    status( const Path & ph, system::error_code & ec )
-      { return detail::status_api( ph.external_file_string(), ec ); }
-
-    BOOST_FS_FUNC(file_status)
-    status( const Path & ph )
-    { 
-      system::error_code ec;
-      file_status result( detail::status_api( ph.external_file_string(), ec ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-        "boost::filesystem::status", ph, ec ) );
-      return result;
-    }
-
-    BOOST_INLINE_FS_FUNC(file_status)
-    symlink_status( const Path & ph, system::error_code & ec )
-#   ifdef BOOST_WINDOWS_API
-      { return detail::status_api( ph.external_file_string(), ec ); }
-#   else
-      { return detail::symlink_status_api( ph.external_file_string(), ec ); }
-#   endif
-
-    BOOST_FS_FUNC(file_status)
-    symlink_status( const Path & ph )
-    { 
-      system::error_code ec;
-      file_status result( symlink_status( ph, ec ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-        "boost::filesystem::symlink_status", ph, ec ) );
-      return result;
-    }
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    inline bool symbolic_link_exists( const path & ph )
-      { return is_symlink( symlink_status(ph) ); }
-# endif
-
-    BOOST_FS_FUNC(bool) exists( const Path & ph )
-    { 
-      system::error_code ec;
-      file_status result( detail::status_api( ph.external_file_string(), ec ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::exists", ph, ec ) );
-      return exists( result );
-    }
-
-    BOOST_FS_FUNC(bool) is_directory( const Path & ph )
-    { 
-      system::error_code ec;
-      file_status result( detail::status_api( ph.external_file_string(), ec ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::is_directory", ph, ec ) );
-      return is_directory( result );
-    }
-
-    BOOST_FS_FUNC(bool) is_regular_file( const Path & ph )
-    { 
-      system::error_code ec;
-      file_status result( detail::status_api( ph.external_file_string(), ec ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::is_regular_file", ph, ec ) );
-      return is_regular_file( result );
-    }
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    BOOST_FS_FUNC(bool) is_regular( const Path & ph )
-    { 
-      system::error_code ec;
-      file_status result( detail::status_api( ph.external_file_string(), ec ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::is_regular", ph, ec ) );
-      return is_regular( result );
-    }
-# endif
-
-    BOOST_FS_FUNC(bool) is_other( const Path & ph )
-    { 
-      system::error_code ec;
-      file_status result( detail::status_api( ph.external_file_string(), ec ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::is_other", ph, ec ) );
-      return is_other( result );
-    }
-
-    BOOST_FS_FUNC(bool) is_symlink(
-#   ifdef BOOST_WINDOWS_API
-      const Path & )
-    {
-      return false;
-#   else
-      const Path & ph)
-    {
-      system::error_code ec;
-      file_status result( detail::symlink_status_api( ph.external_file_string(), ec ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::is_symlink", ph, ec ) );
-      return is_symlink( result );
-#   endif
-    }
-
-    // VC++ 7.0 and earlier has a serious namespace bug that causes a clash
-    // between boost::filesystem2::is_empty and the unrelated type trait
-    // boost::is_empty.
-
-# if !defined( BOOST_MSVC ) || BOOST_MSVC > 1300
-    BOOST_FS_FUNC(bool) is_empty( const Path & ph )
-# else
-    BOOST_FS_FUNC(bool) _is_empty( const Path & ph )
-# endif
-    {
-      detail::query_pair result(
-        detail::is_empty_api( ph.external_file_string() ) );
-      if ( result.first )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::is_empty", ph, result.first ) );
-      return result.second;
-    }
-
-    BOOST_FS_FUNC(bool) equivalent( const Path & ph1, const Path & ph2 )
-    {
-      detail::query_pair result( detail::equivalent_api(
-        ph1.external_file_string(), ph2.external_file_string() ) );
-      if ( result.first )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::equivalent", ph1, ph2, result.first ) );
-      return result.second;
-    }
-
-    BOOST_FS_FUNC(boost::uintmax_t) file_size( const Path & ph )
-    {
-      detail::uintmax_pair result
-        ( detail::file_size_api( ph.external_file_string() ) );
-      if ( result.first )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::file_size", ph, result.first ) );
-      return result.second;
-    }
-
-    BOOST_FS_FUNC(space_info) space( const Path & ph )
-    {
-      detail::space_pair result
-        ( detail::space_api( ph.external_file_string() ) );
-      if ( result.first )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::space", ph, result.first ) );
-      return result.second;
-    }
-
-    BOOST_FS_FUNC(std::time_t) last_write_time( const Path & ph )
-    {
-      detail::time_pair result
-        ( detail::last_write_time_api( ph.external_file_string() ) );
-      if ( result.first )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::last_write_time", ph, result.first ) );
-      return result.second;
-    }
-
-
-//  operations  --------------------------------------------------------------//
-
-    BOOST_FS_FUNC(bool) create_directory( const Path & dir_ph )
-    {
-      detail::query_pair result(
-        detail::create_directory_api( dir_ph.external_directory_string() ) );
-      if ( result.first )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::create_directory",
-          dir_ph, result.first ) );
-      return result.second;
-    }
-
-#if !defined(BOOST_WINDOWS_API) || defined(BOOST_FS_HARD_LINK)
-    BOOST_FS_FUNC(void)
-    create_hard_link( const Path & to_ph, const Path & from_ph )
-    {
-      system::error_code ec( 
-        detail::create_hard_link_api(
-          to_ph.external_file_string(),
-          from_ph.external_file_string() ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::create_hard_link",
-          to_ph, from_ph, ec ) );
-    }
-
-    BOOST_FS_FUNC(system::error_code)
-    create_hard_link( const Path & to_ph, const Path & from_ph,
-      system::error_code & ec )
-    {
-      ec = detail::create_hard_link_api(
-            to_ph.external_file_string(),
-            from_ph.external_file_string() );
-      return ec;
-    }
-#endif
-
-    BOOST_FS_FUNC(void)
-    create_symlink( const Path & to_ph, const Path & from_ph )
-    {
-      system::error_code ec( 
-        detail::create_symlink_api(
-          to_ph.external_file_string(),
-          from_ph.external_file_string() ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::create_symlink",
-          to_ph, from_ph, ec ) );
-    }
-
-    BOOST_FS_FUNC(system::error_code)
-    create_symlink( const Path & to_ph, const Path & from_ph,
-      system::error_code & ec )
-    {
-      ec = detail::create_symlink_api(
-             to_ph.external_file_string(),
-             from_ph.external_file_string() );
-      return ec;
-    }
-
-    BOOST_FS_FUNC(bool) remove( const Path & ph )
-    {
-      system::error_code ec;
-      file_status f = symlink_status( ph, ec );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::remove", ph, ec ) );
-      return detail::remove_aux( ph, f );
-    }
-
-    BOOST_FS_FUNC(unsigned long) remove_all( const Path & ph )
-    {
-      system::error_code ec;
-      file_status f = symlink_status( ph, ec );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::remove_all", ph, ec ) );
-      return exists( f ) ? detail::remove_all_aux( ph, f ) : 0;
-    }
-
-    BOOST_FS_FUNC(void) rename( const Path & from_path, const Path & to_path )
-    {
-      system::error_code ec( detail::rename_api(
-        from_path.external_directory_string(),
-        to_path.external_directory_string() ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::rename",
-          from_path, to_path, ec ) );
-    }
-
-    BOOST_SCOPED_ENUM_START(copy_option)
-      { fail_if_exists, overwrite_if_exists };
-    BOOST_SCOPED_ENUM_END
-
-    BOOST_FS_FUNC(void) copy_file( const Path & from_path, const Path & to_path,
-      BOOST_SCOPED_ENUM(copy_option) option = copy_option::fail_if_exists )
-    {
-      system::error_code ec( detail::copy_file_api(
-        from_path.external_directory_string(),
-        to_path.external_directory_string(), option == copy_option::fail_if_exists ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::copy_file",
-          from_path, to_path, ec ) );
-    }
-
-    template< class Path >
-    Path current_path()
-    {
-      typename Path::external_string_type ph;
-      system::error_code ec( detail::get_current_path_api( ph ) );
-      if ( ec )
-          BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-            "boost::filesystem::current_path", ec ) );
-      return Path( Path::traits_type::to_internal( ph ) );
-    }
-
-    BOOST_FS_FUNC(void) current_path( const Path & ph )
-    {
-      system::error_code ec( detail::set_current_path_api(
-        ph.external_directory_string() ) );
-      if ( ec )
-          BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-            "boost::filesystem::current_path", ph, ec ) );
-    }
-
-    template< class Path >
-    const Path & initial_path()
-    {
-      static Path init_path;
-      if ( init_path.empty() ) init_path = current_path<Path>();
-      return init_path;
-    }
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    // legacy support
-    inline path current_path()  // overload supports pre-i18n apps
-      { return current_path<boost::filesystem2::path>(); }
-    inline const path & initial_path() // overload supports pre-i18n apps
-      { return initial_path<boost::filesystem2::path>(); }
-# endif
-
-    BOOST_FS_FUNC(Path) system_complete( const Path & ph )
-    {
-# ifdef BOOST_WINDOWS_API
-      if ( ph.empty() ) return ph;
-      BOOST_FS_TYPENAME Path::external_string_type sys_ph;
-      system::error_code ec( detail::get_full_path_name_api( ph.external_file_string(),
-              sys_ph ) );
-      if ( ec )
-          BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-            "boost::filesystem::system_complete", ph, ec ) );
-      return Path( Path::traits_type::to_internal( sys_ph ) );
-# else
-      return (ph.empty() || ph.is_complete())
-        ? ph : current_path<Path>() / ph;
-# endif
-    }
-
-    BOOST_FS_FUNC(Path)
-    complete( const Path & ph,
-      const Path & base/* = initial_path<Path>() */)
-    {
-      BOOST_ASSERT( base.is_complete()
-        && (ph.is_complete() || !ph.has_root_name())
-        && "boost::filesystem::complete() precondition not met" );
-#   ifdef BOOST_WINDOWS_PATH
-      if (ph.empty() || ph.is_complete()) return ph;
-      if ( !ph.has_root_name() )
-        return ph.has_root_directory()
-          ? Path( base.root_name() ) / ph
-          : base / ph;
-      return base / ph;
-#   else
-      return (ph.empty() || ph.is_complete()) ? ph : base / ph;
-#   endif
-    }
-
-    // VC++ 7.1 had trouble with default arguments, so separate one argument
-    // signatures are provided as workarounds; the effect is the same.
-    BOOST_FS_FUNC(Path) complete( const Path & ph )
-      { return complete( ph, initial_path<Path>() ); }
-
-    BOOST_FS_FUNC(void)
-    last_write_time( const Path & ph, const std::time_t new_time )
-    {
-      system::error_code ec( detail::last_write_time_api( ph.external_file_string(),
-          new_time ) );
-      if ( ec )
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-          "boost::filesystem::last_write_time", ph, ec ) );
-    }
-
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-    // "do-the-right-thing" overloads  ---------------------------------------//
-
-    inline file_status status( const path & ph )
-      { return status<path>( ph ); }
-    inline file_status status( const wpath & ph )
-      { return status<wpath>( ph ); }
-
-    inline file_status status( const path & ph, system::error_code & ec )
-      { return status<path>( ph, ec ); }
-    inline file_status status( const wpath & ph, system::error_code & ec )
-      { return status<wpath>( ph, ec ); }
-
-    inline file_status symlink_status( const path & ph )
-      { return symlink_status<path>( ph ); }
-    inline file_status symlink_status( const wpath & ph )
-      { return symlink_status<wpath>( ph ); }
-
-    inline file_status symlink_status( const path & ph, system::error_code & ec )
-      { return symlink_status<path>( ph, ec ); }
-    inline file_status symlink_status( const wpath & ph, system::error_code & ec )
-      { return symlink_status<wpath>( ph, ec ); }
-
-    inline bool exists( const path & ph ) { return exists<path>( ph ); }
-    inline bool exists( const wpath & ph ) { return exists<wpath>( ph ); }
-
-    inline bool is_directory( const path & ph )
-      { return is_directory<path>( ph ); }
-    inline bool is_directory( const wpath & ph )
-      { return is_directory<wpath>( ph ); }
- 
-    inline bool is_regular_file( const path & ph )
-      { return is_regular_file<path>( ph ); }
-    inline bool is_regular_file( const wpath & ph )
-      { return is_regular_file<wpath>( ph ); }
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    inline bool is_regular( const path & ph )
-      { return is_regular<path>( ph ); }
-    inline bool is_regular( const wpath & ph )
-      { return is_regular<wpath>( ph ); }
-# endif
-
-    inline bool is_other( const path & ph )
-      { return is_other<path>( ph ); }
-    inline bool is_other( const wpath & ph )
-      { return is_other<wpath>( ph ); }
-
-    inline bool is_symlink( const path & ph )
-      { return is_symlink<path>( ph ); }
-    inline bool is_symlink( const wpath & ph )
-      { return is_symlink<wpath>( ph ); }
-
-    inline bool is_empty( const path & ph )
-      { return boost::filesystem2::is_empty<path>( ph ); }
-    inline bool is_empty( const wpath & ph )
-      { return boost::filesystem2::is_empty<wpath>( ph ); }
-
-    inline bool equivalent( const path & ph1, const path & ph2 )
-      { return equivalent<path>( ph1, ph2 ); }
-    inline bool equivalent( const wpath & ph1, const wpath & ph2 )
-      { return equivalent<wpath>( ph1, ph2 ); }
-
-    inline boost::uintmax_t file_size( const path & ph )
-      { return file_size<path>( ph ); }
-    inline boost::uintmax_t file_size( const wpath & ph )
-      { return file_size<wpath>( ph ); }
-
-    inline space_info space( const path & ph )
-      { return space<path>( ph ); }
-    inline space_info space( const wpath & ph )
-      { return space<wpath>( ph ); }
-
-    inline std::time_t last_write_time( const path & ph )
-      { return last_write_time<path>( ph ); }
-    inline std::time_t last_write_time( const wpath & ph )
-      { return last_write_time<wpath>( ph ); }
-
-    inline bool create_directory( const path & dir_ph )
-      { return create_directory<path>( dir_ph ); }
-    inline bool create_directory( const wpath & dir_ph )
-      { return create_directory<wpath>( dir_ph ); }
-
-#if !defined(BOOST_WINDOWS_API) || defined(BOOST_FS_HARD_LINK)
-    inline void create_hard_link( const path & to_ph,
-      const path & from_ph )
-      { return create_hard_link<path>( to_ph, from_ph ); }
-    inline void create_hard_link( const wpath & to_ph,
-      const wpath & from_ph )
-      { return create_hard_link<wpath>( to_ph, from_ph ); }
-
-    inline system::error_code create_hard_link( const path & to_ph,
-      const path & from_ph, system::error_code & ec )
-      { return create_hard_link<path>( to_ph, from_ph, ec ); }
-    inline system::error_code create_hard_link( const wpath & to_ph,
-      const wpath & from_ph, system::error_code & ec )
-      { return create_hard_link<wpath>( to_ph, from_ph, ec ); }
-#endif
-    
-    inline void create_symlink( const path & to_ph,
-      const path & from_ph )
-      { return create_symlink<path>( to_ph, from_ph ); }
-    inline void create_symlink( const wpath & to_ph,
-      const wpath & from_ph )
-      { return create_symlink<wpath>( to_ph, from_ph ); }
-
-    inline system::error_code create_symlink( const path & to_ph,
-      const path & from_ph, system::error_code & ec )
-      { return create_symlink<path>( to_ph, from_ph, ec ); }
-    inline system::error_code create_symlink( const wpath & to_ph,
-      const wpath & from_ph, system::error_code & ec )
-      { return create_symlink<wpath>( to_ph, from_ph, ec ); }
-
-    inline bool remove( const path & ph )
-      { return remove<path>( ph ); }
-    inline bool remove( const wpath & ph )
-      { return remove<wpath>( ph ); }
-
-    inline unsigned long remove_all( const path & ph )
-      { return remove_all<path>( ph ); }
-    inline unsigned long remove_all( const wpath & ph )
-      { return remove_all<wpath>( ph ); }
-
-    inline void rename( const path & from_path, const path & to_path )
-      { return rename<path>( from_path, to_path ); }
-    inline void rename( const wpath & from_path, const wpath & to_path )
-      { return rename<wpath>( from_path, to_path ); }
-
-    inline void copy_file( const path & from_path, const path & to_path )
-      { return copy_file<path>( from_path, to_path ); }
-    inline void copy_file( const wpath & from_path, const wpath & to_path )
-      { return copy_file<wpath>( from_path, to_path ); }
-
-    inline path system_complete( const path & ph )
-      { return system_complete<path>( ph ); }
-    inline wpath system_complete( const wpath & ph )
-      { return system_complete<wpath>( ph ); }
-
-    inline path complete( const path & ph,
-      const path & base/* = initial_path<path>()*/ )
-      { return complete<path>( ph, base ); }
-    inline wpath complete( const wpath & ph,
-      const wpath & base/* = initial_path<wpath>()*/ )
-      { return complete<wpath>( ph, base ); }
-
-    inline path complete( const path & ph )
-      { return complete<path>( ph, initial_path<path>() ); }
-    inline wpath complete( const wpath & ph )
-      { return complete<wpath>( ph, initial_path<wpath>() ); }
-
-    inline void last_write_time( const path & ph, const std::time_t new_time )
-      { last_write_time<path>( ph, new_time ); }
-    inline void last_write_time( const wpath & ph, const std::time_t new_time )
-      { last_write_time<wpath>( ph, new_time ); }
-
-    inline void current_path( const path & ph )
-      { current_path<path>( ph ); }
-    inline void current_path( const wpath & ph )
-      { current_path<wpath>( ph ); }
-
-# endif // ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-    namespace detail
-    {
-      template<class Path>
-      bool remove_aux( const Path & ph, file_status f )
-      {
-        if ( exists( f ) )
-        {
-          system::error_code ec = remove_api( ph.external_file_string() );
-          if ( ec )
-            BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(
-              "boost::filesystem::remove", ph, ec ) );
-          return true;
-        }
-        return false;
-      }
-
-      template<class Path>
-      unsigned long remove_all_aux( const Path & ph, file_status f )
-      {
-        static const boost::filesystem2::basic_directory_iterator<Path> end_itr;
-        unsigned long count = 1;
-        if ( !boost::filesystem2::is_symlink( f ) // don't recurse symbolic links
-          && boost::filesystem2::is_directory( f ) )
-        {
-          for ( boost::filesystem2::basic_directory_iterator<Path> itr( ph );
-                itr != end_itr; ++itr )
-          {
-            boost::system::error_code ec;
-            boost::filesystem2::file_status fn = boost::filesystem2::symlink_status( itr->path(), ec );
-            if ( ec )
-              BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>( 
-                "boost::filesystem:remove_all", ph, ec ) );
-            count += remove_all_aux( itr->path(), fn );
-          }
-        }
-        remove_aux( ph, f );
-        return count;
-      }
-
-//  test helper  -------------------------------------------------------------//
-
-    // not part of the documented interface because false positives are possible;
-    // there is no law that says that an OS that has large stat.st_size
-    // actually supports large file sizes.
-      BOOST_FILESYSTEM_DECL bool possible_large_file_size_support();
-
-//  directory_iterator helpers  ----------------------------------------------//
-
-//    forwarding functions avoid need for BOOST_FILESYSTEM_DECL for class
-//    basic_directory_iterator, and so avoid iterator_facade DLL template
-//    problems. They also overload to the proper external path character type.
-
-      BOOST_FILESYSTEM_DECL system::error_code
-        dir_itr_first( void *& handle,
-#if       defined(BOOST_POSIX_API)
-            void *& buffer,
-#endif
-          const std::string & dir_path,
-          std::string & target, file_status & fs, file_status & symlink_fs );
-      // eof: return==0 && handle==0
-
-      BOOST_FILESYSTEM_DECL system::error_code
-        dir_itr_increment( void *& handle,
-#if       defined(BOOST_POSIX_API)
-            void *& buffer,
-#endif
-          std::string & target, file_status & fs, file_status & symlink_fs );
-      // eof: return==0 && handle==0
-
-      BOOST_FILESYSTEM_DECL system::error_code
-        dir_itr_close( void *& handle
-#if       defined(BOOST_POSIX_API)
-            , void *& buffer
-#endif
-          );
-      // Effects: none if handle==0, otherwise close handle, set handle=0
-
-#     if defined(BOOST_WINDOWS_API) && !defined(BOOST_FILESYSTEM2_NARROW_ONLY)
-      BOOST_FILESYSTEM_DECL system::error_code
-        dir_itr_first( void *& handle, const std::wstring & ph,
-          std::wstring & target, file_status & fs, file_status & symlink_fs );
-      BOOST_FILESYSTEM_DECL system::error_code
-        dir_itr_increment( void *& handle, std::wstring & target,
-          file_status & fs, file_status & symlink_fs );
-#     endif
-
-      template< class Path >
-      class dir_itr_imp
-      {
-      public:  
-        basic_directory_entry<Path> m_directory_entry;
-        void *        m_handle;
-#       ifdef BOOST_POSIX_API
-          void *      m_buffer;  // see dir_itr_increment implementation
-#       endif
-        dir_itr_imp() : m_handle(0)
-#       ifdef BOOST_POSIX_API
-          , m_buffer(0)
-#       endif
-        {}
-
-        ~dir_itr_imp() { dir_itr_close( m_handle
-#if       defined(BOOST_POSIX_API)
-            , m_buffer
-#endif
-          ); }
-      };
-
-      BOOST_FILESYSTEM_DECL system::error_code not_found_error();
-
-    } // namespace detail
-
-//  basic_directory_iterator  ------------------------------------------------//
-
-    template< class Path >
-    class basic_directory_iterator
-      : public boost::iterator_facade<
-          basic_directory_iterator<Path>,
-          basic_directory_entry<Path>,
-          boost::single_pass_traversal_tag >
-    {
-    public:
-      typedef Path path_type;
-
-      basic_directory_iterator(){}  // creates the "end" iterator
-
-      explicit basic_directory_iterator( const Path & dir_path );
-      basic_directory_iterator( const Path & dir_path, system::error_code & ec );
-
-    private:
-
-      // shared_ptr provides shallow-copy semantics required for InputIterators.
-      // m_imp.get()==0 indicates the end iterator.
-      boost::shared_ptr< detail::dir_itr_imp< Path > >  m_imp;
-
-      friend class boost::iterator_core_access;
-
-      typename boost::iterator_facade<
-        basic_directory_iterator<Path>,
-        basic_directory_entry<Path>,
-        boost::single_pass_traversal_tag >::reference dereference() const 
-      {
-        BOOST_ASSERT( m_imp.get() && "attempt to dereference end iterator" );
-        return m_imp->m_directory_entry;
-      }
-
-      void increment();
-
-      bool equal( const basic_directory_iterator & rhs ) const
-        { return m_imp == rhs.m_imp; }
-
-      system::error_code m_init( const Path & dir_path );
-    };
-
-    typedef basic_directory_iterator< path > directory_iterator;
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-    typedef basic_directory_iterator< wpath > wdirectory_iterator;
-# endif
-
-    //  basic_directory_iterator implementation  ---------------------------//
-
-    template<class Path>
-    system::error_code basic_directory_iterator<Path>::m_init(
-      const Path & dir_path )
-    {
-      if ( dir_path.empty() )
-      {
-        m_imp.reset();
-        return detail::not_found_error();
-      }
-      typename Path::external_string_type name;
-      file_status fs, symlink_fs;
-      system::error_code ec( detail::dir_itr_first( m_imp->m_handle,
-#if   defined(BOOST_POSIX_API)
-        m_imp->m_buffer,
-#endif
-        dir_path.external_directory_string(),
-        name, fs, symlink_fs ) );
-
-      if ( ec )
-      {
-        m_imp.reset();
-        return ec;
-      }
-      
-      if ( m_imp->m_handle == 0 ) m_imp.reset(); // eof, so make end iterator
-      else // not eof
-      {
-        m_imp->m_directory_entry.assign( dir_path
-          / Path::traits_type::to_internal( name ), fs, symlink_fs );
-        if ( name[0] == dot<Path>::value // dot or dot-dot
-          && (name.size() == 1
-            || (name[1] == dot<Path>::value
-              && name.size() == 2)) )
-          {  increment(); }
-      }
-      return boost::system::error_code();
-    }
-
-    template<class Path>
-    basic_directory_iterator<Path>::basic_directory_iterator(
-      const Path & dir_path )
-      : m_imp( new detail::dir_itr_imp<Path> )
-    {
-      system::error_code ec( m_init(dir_path) );
-      if ( ec )
-      {
-        BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>( 
-          "boost::filesystem::basic_directory_iterator constructor",
-          dir_path, ec ) );
-      }
-    }
-
-    template<class Path>
-    basic_directory_iterator<Path>::basic_directory_iterator(
-      const Path & dir_path, system::error_code & ec )
-      : m_imp( new detail::dir_itr_imp<Path> )
-    {
-      ec = m_init(dir_path);
-    }
-
-    template<class Path>
-    void basic_directory_iterator<Path>::increment()
-    {
-      BOOST_ASSERT( m_imp.get() && "attempt to increment end iterator" );
-      BOOST_ASSERT( m_imp->m_handle != 0 && "internal program error" );
-      
-      typename Path::external_string_type name;
-      file_status fs, symlink_fs;
-      system::error_code ec;
-
-      for (;;)
-      {
-        ec = detail::dir_itr_increment( m_imp->m_handle,
-#if     defined(BOOST_POSIX_API)
-          m_imp->m_buffer,
-#endif
-          name, fs, symlink_fs );
-        if ( ec )
-        {
-          BOOST_FILESYSTEM_THROW( basic_filesystem_error<Path>(  
-            "boost::filesystem::basic_directory_iterator increment",
-            m_imp->m_directory_entry.path().parent_path(), ec ) );
-        }
-        if ( m_imp->m_handle == 0 ) { m_imp.reset(); return; } // eof, make end
-        if ( !(name[0] == dot<Path>::value // !(dot or dot-dot)
-          && (name.size() == 1
-            || (name[1] == dot<Path>::value
-              && name.size() == 2))) )
-        {
-          m_imp->m_directory_entry.replace_filename(
-            Path::traits_type::to_internal( name ), fs, symlink_fs );
-          return;
-        }
-      }
-    }
-
-    //  basic_directory_entry  -----------------------------------------------//
-    
-    template<class Path>
-    class basic_directory_entry
-    {
-    public:
-      typedef Path path_type;
-      typedef typename Path::string_type string_type;
-
-      // compiler generated copy-ctor, copy assignment, and destructor apply
-
-      basic_directory_entry() {}
-      explicit basic_directory_entry( const path_type & p,
-        file_status st = file_status(), file_status symlink_st=file_status() )
-        : m_path(p), m_status(st), m_symlink_status(symlink_st)
-        {}
-
-      void assign( const path_type & p,
-        file_status st, file_status symlink_st )
-        { m_path = p; m_status = st; m_symlink_status = symlink_st; }
-
-      void replace_filename( const string_type & s,
-        file_status st, file_status symlink_st )
-      {
-        m_path.remove_filename();
-        m_path /= s;
-        m_status = st;
-        m_symlink_status = symlink_st;
-      }
-
-#   ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-      void replace_leaf( const string_type & s,
-        file_status st, file_status symlink_st )
-          { replace_filename( s, st, symlink_st ); }
-#   endif
-
-      const Path &  path() const { return m_path; }
-      file_status   status() const;
-      file_status   status( system::error_code & ec ) const;
-      file_status   symlink_status() const;
-      file_status   symlink_status( system::error_code & ec ) const;
-
-      // conversion simplifies the most common use of basic_directory_entry
-      operator const path_type &() const { return m_path; }
-
-#   ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-      // deprecated functions preserve common use cases in legacy code
-      typename Path::string_type filename() const
-      {
-        return path().filename();
-      }
-      typename Path::string_type leaf() const
-      {
-        return path().filename();
-      }
-      typename Path::string_type string() const
-      {
-        return path().string();
-      }
-#   endif
-
-    private:
-      path_type             m_path;
-      mutable file_status  m_status;           // stat()-like
-      mutable file_status  m_symlink_status;   // lstat()-like
-        // note: m_symlink_status is not used by Windows implementation
-
-    }; // basic_directory_status
-
-    typedef basic_directory_entry<path> directory_entry;
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-    typedef basic_directory_entry<wpath> wdirectory_entry;
-# endif
-
-    //  basic_directory_entry implementation  --------------------------------//
-
-    template<class Path>
-    file_status
-    basic_directory_entry<Path>::status() const
-    {
-      if ( !status_known( m_status ) )
-      {
-#     ifndef BOOST_WINDOWS_API
-        if ( status_known( m_symlink_status )
-          && !is_symlink( m_symlink_status ) )
-          { m_status = m_symlink_status; }
-        else { m_status = boost::filesystem2::status( m_path ); }
-#     else
-        m_status = boost::filesystem2::status( m_path );
-#     endif
-      }
-      return m_status;
-    }
-
-    template<class Path>
-    file_status
-    basic_directory_entry<Path>::status( system::error_code & ec ) const
-    {
-      if ( !status_known( m_status ) )
-      {
-#     ifndef BOOST_WINDOWS_API
-        if ( status_known( m_symlink_status )
-          && !is_symlink( m_symlink_status ) )
-          { ec = boost::system::error_code();; m_status = m_symlink_status; }
-        else { m_status = boost::filesystem2::status( m_path, ec ); }
-#     else
-        m_status = boost::filesystem2::status( m_path, ec );
-#     endif
-      }
-      else ec = boost::system::error_code();;
-      return m_status;
-    }
-
-    template<class Path>
-    file_status
-    basic_directory_entry<Path>::symlink_status() const
-    {
-#   ifndef BOOST_WINDOWS_API
-      if ( !status_known( m_symlink_status ) )
-        { m_symlink_status = boost::filesystem2::symlink_status( m_path ); }
-      return m_symlink_status;
-#   else
-      return status();
-#   endif
-    }
-
-    template<class Path>
-    file_status
-    basic_directory_entry<Path>::symlink_status( system::error_code & ec ) const
-    {
-#   ifndef BOOST_WINDOWS_API
-      if ( !status_known( m_symlink_status ) )
-        { m_symlink_status = boost::filesystem2::symlink_status( m_path, ec ); }
-      else ec = boost::system::error_code();;
-      return m_symlink_status;
-#   else
-      return status( ec );
-#   endif
-    }
-  } // namespace filesystem2
-} // namespace boost
-
-#undef BOOST_FS_FUNC
-
-//----------------------------------------------------------------------------//
-
-namespace boost
-{
-  namespace filesystem
-  {
-    using filesystem2::basic_directory_entry;
-    using filesystem2::basic_directory_iterator;
-    using filesystem2::block_file;
-    using filesystem2::character_file;
-    using filesystem2::complete;
-    using filesystem2::copy_file;
-    using filesystem2::copy_option;
-    using filesystem2::create_directory;
-# if !defined(BOOST_WINDOWS_API) || defined(BOOST_FS_HARD_LINK)
-    using filesystem2::create_hard_link;
-# endif
-    using filesystem2::create_symlink;
-    using filesystem2::current_path;
-    using filesystem2::directory_entry;
-    using filesystem2::directory_file;
-    using filesystem2::directory_iterator;
-    using filesystem2::equivalent;
-    using filesystem2::exists;
-    using filesystem2::fifo_file;
-    using filesystem2::file_not_found;
-    using filesystem2::file_size;
-    using filesystem2::file_status;
-    using filesystem2::file_type;
-    using filesystem2::initial_path;
-    using filesystem2::is_directory;
-    using filesystem2::is_directory;
-    using filesystem2::is_empty;
-    using filesystem2::is_other;
-    using filesystem2::is_regular_file;
-    using filesystem2::is_symlink;
-    using filesystem2::last_write_time;
-    using filesystem2::regular_file;
-    using filesystem2::remove;
-    using filesystem2::remove_all;
-    using filesystem2::rename;
-    using filesystem2::socket_file;
-    using filesystem2::space;
-    using filesystem2::space_info;
-    using filesystem2::status;
-    using filesystem2::status_known;
-    using filesystem2::symlink_file;
-    using filesystem2::symlink_status;
-    using filesystem2::system_complete;
-    using filesystem2::type_unknown;
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    using filesystem2::is_regular;
-    using filesystem2::symbolic_link_exists;
-# endif
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-    using filesystem2::wdirectory_iterator;
-    using filesystem2::wdirectory_entry;
-# endif
-    namespace detail
-    {
-      using filesystem2::detail::not_found_error;
-      using filesystem2::detail::possible_large_file_size_support;
-    }
-  }
-}
-
-#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-#endif // BOOST_FILESYSTEM2_OPERATIONS_HPP
diff --git a/SRC/Boost/boost/filesystem/v2/path.hpp b/SRC/Boost/boost/filesystem/v2/path.hpp
deleted file mode 100755
index 98bd988..0000000
--- a/SRC/Boost/boost/filesystem/v2/path.hpp
+++ /dev/null
@@ -1,1571 +0,0 @@
-//  boost/filesystem/path.hpp  -----------------------------------------------//
-
-//  Copyright Beman Dawes 2002-2005
-//  Copyright Vladimir Prus 2002
-
-//  Distributed under the Boost Software License, Version 1.0. (See accompanying
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//  basic_path's stem(), extension(), and replace_extension() are based on
-//  basename(), extension(), and change_extension() from the original
-//  filesystem/convenience.hpp header by Vladimir Prus.
-
-//----------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM2_PATH_HPP
-#define BOOST_FILESYSTEM2_PATH_HPP
-
-#include <boost/filesystem/v2/config.hpp>
-#include <boost/system/system_error.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/assert.hpp>
-
-#include <string>
-#include <algorithm> // for lexicographical_compare
-#include <iosfwd>    // needed by basic_path inserter and extractor
-#include <stdexcept>
-
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-#   include <locale>
-# endif
-
-#include <boost/config/abi_prefix.hpp> // must be the last #include
-
-namespace boost
-{
-  namespace BOOST_FILESYSTEM2_NAMESPACE
-  {
-    template<class String, class Traits> class basic_path;
-
-    struct path_traits;
-    typedef basic_path< std::string, path_traits > path;
-
-    struct path_traits
-    {
-      typedef std::string internal_string_type;
-      typedef std::string external_string_type;
-      static external_string_type to_external( const path &,
-        const internal_string_type & src ) { return src; }
-      static internal_string_type to_internal(
-        const external_string_type & src ) { return src; }
-    };
-
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-    struct BOOST_FILESYSTEM_DECL wpath_traits;
-    
-    typedef basic_path< std::wstring, wpath_traits > wpath;
-
-    struct BOOST_FILESYSTEM_DECL wpath_traits
-    {
-      typedef std::wstring internal_string_type;
-# ifdef BOOST_WINDOWS_API
-      typedef std::wstring external_string_type;
-      static external_string_type to_external( const wpath &,
-        const internal_string_type & src ) { return src; }
-      static internal_string_type to_internal(
-        const external_string_type & src ) { return src; }
-# else
-      typedef std::string external_string_type;
-      static external_string_type to_external( const wpath & ph,
-        const internal_string_type & src );
-      static internal_string_type to_internal(
-        const external_string_type & src );
-# endif
-      static void imbue( const std::locale & loc );
-      static bool imbue( const std::locale & loc, const std::nothrow_t & );
-    };
-
-# endif // ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-    //  path traits  ---------------------------------------------------------//
-
-    template<class Path> struct is_basic_path
-      { BOOST_STATIC_CONSTANT( bool, value = false ); };
-    template<> struct is_basic_path<path>
-      { BOOST_STATIC_CONSTANT( bool, value = true ); };
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-    template<> struct is_basic_path<wpath>
-      { BOOST_STATIC_CONSTANT( bool, value = true ); };
-# endif
-
-    // These only have to be specialized if Path::string_type::value_type
-    // is not convertible from char, although specializations may eliminate
-    // compiler warnings. See ticket 2543.
-    template<class Path> struct slash
-      { BOOST_STATIC_CONSTANT( char, value = '/' ); };
-
-    template<class Path> struct dot
-      { BOOST_STATIC_CONSTANT( char, value = '.' ); };
-
-    template<class Path> struct colon
-      { BOOST_STATIC_CONSTANT( char, value = ':' ); };
-
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-    template<> struct slash<wpath>
-      { BOOST_STATIC_CONSTANT( wchar_t, value = L'/' ); };
-    template<> struct dot<wpath>
-      { BOOST_STATIC_CONSTANT( wchar_t, value = L'.' ); };
-    template<> struct colon<wpath>
-      { BOOST_STATIC_CONSTANT( wchar_t, value = L':' ); };
-# endif
-
-# ifdef BOOST_WINDOWS_PATH
-    template<class Path> struct path_alt_separator
-      { BOOST_STATIC_CONSTANT( char, value = '\\' ); };
-#   ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-    template<> struct path_alt_separator<wpath>
-      { BOOST_STATIC_CONSTANT( wchar_t, value = L'\\' ); };
-#   endif
-# endif
-
-    //  workaround for VC++ 7.0 and earlier issues with nested classes
-    namespace detail
-    {
-      template<class Path>
-      class iterator_helper
-      {
-      public:
-        typedef typename Path::iterator iterator;
-        static void do_increment( iterator & ph );
-        static void do_decrement( iterator & ph );
-      };
-    }
-
-    //  basic_path  ----------------------------------------------------------//
-  
-    template<class String, class Traits>
-    class basic_path
-    {
-    // invariant: m_path valid according to the portable generic path grammar
-
-      // validate template arguments
-// TODO: get these working
-//      BOOST_STATIC_ASSERT( ::boost::is_same<String,typename Traits::internal_string_type>::value );
-//      BOOST_STATIC_ASSERT( ::boost::is_same<typename Traits::external_string_type,std::string>::value || ::boost::is_same<typename Traits::external_string_type,std::wstring>::value );
-
-    public:
-      // compiler generates copy constructor and copy assignment
-
-      typedef basic_path<String, Traits> path_type;
-      typedef String string_type;
-      typedef typename String::value_type value_type;
-      typedef Traits traits_type;
-      typedef typename Traits::external_string_type external_string_type; 
-
-      // constructors/destructor
-      basic_path() {}
-      basic_path( const string_type & s ) { operator/=( s ); }
-      basic_path( const value_type * s )  { operator/=( s ); }
-#     ifndef BOOST_NO_MEMBER_TEMPLATES
-        template <class InputIterator>
-          basic_path( InputIterator first, InputIterator last )
-            { append( first, last ); }
-#     endif
-     ~basic_path() {}
-
-      // assignments
-      basic_path & operator=( const string_type & s )
-      {
-#     if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, >= 310)
-        m_path.clear();
-#     else
-        m_path.erase( m_path.begin(), m_path.end() );
-#     endif
-        operator/=( s ); 
-        return *this;
-      }
-      basic_path & operator=( const value_type * s )
-      { 
-#     if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, >= 310)
-        m_path.clear();
-#     else
-        m_path.erase( m_path.begin(), m_path.end() );
-#     endif
-        operator/=( s ); 
-        return *this;
-      }
-#     ifndef BOOST_NO_MEMBER_TEMPLATES
-        template <class InputIterator>
-          basic_path & assign( InputIterator first, InputIterator last )
-            { m_path.clear(); append( first, last ); return *this; }
-#     endif
-
-      // modifiers
-      basic_path & operator/=( const basic_path & rhs )  { return operator /=( rhs.string().c_str() ); }
-      basic_path & operator/=( const string_type & rhs ) { return operator /=( rhs.c_str() ); }
-      basic_path & operator/=( const value_type * s );
-#     ifndef BOOST_NO_MEMBER_TEMPLATES
-        template <class InputIterator>
-          basic_path & append( InputIterator first, InputIterator last );
-#     endif
-      
-      void clear()
-      { 
-#     if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, >= 310)
-        m_path.clear();
-#     else
-        m_path.erase( m_path.begin(), m_path.end() );
-#     endif
-      }
-
-      void swap( basic_path & rhs )
-      {
-        m_path.swap( rhs.m_path );
-#       ifdef BOOST_CYGWIN_PATH
-          std::swap( m_cygwin_root, rhs.m_cygwin_root );
-#       endif
-      }
-
-      basic_path & remove_filename();
-      basic_path & replace_extension( const string_type & new_extension = string_type() );
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-      basic_path & remove_leaf() { return remove_filename(); }
-# endif
-
-      // observers
-      const string_type & string() const         { return m_path; }
-      const string_type file_string() const;
-      const string_type directory_string() const { return file_string(); }
-
-      const external_string_type external_file_string() const { return Traits::to_external( *this, file_string() ); }
-      const external_string_type external_directory_string() const { return Traits::to_external( *this, directory_string() ); }
-
-      basic_path   root_path() const;
-      string_type  root_name() const;
-      string_type  root_directory() const;
-      basic_path   relative_path() const;
-      basic_path   parent_path() const;
-      string_type  filename() const;
-      string_type  stem() const;
-      string_type  extension() const;
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-      string_type  leaf() const            { return filename(); }
-      basic_path   branch_path() const     { return parent_path(); }
-      bool         has_leaf() const        { return !m_path.empty(); }
-      bool         has_branch_path() const { return !parent_path().empty(); }
-# endif
-
-      bool empty() const               { return m_path.empty(); } // name consistent with std containers
-      bool is_complete() const;
-      bool has_root_path() const;
-      bool has_root_name() const;
-      bool has_root_directory() const;
-      bool has_relative_path() const   { return !relative_path().empty(); }
-      bool has_filename() const        { return !m_path.empty(); }
-      bool has_parent_path() const     { return !parent_path().empty(); }
-
-      // iterators
-      class iterator : public boost::iterator_facade<
-        iterator,
-        string_type const,
-        boost::bidirectional_traversal_tag >
-      {
-      private:
-        friend class boost::iterator_core_access;
-        friend class boost::BOOST_FILESYSTEM2_NAMESPACE::basic_path<String, Traits>;
-
-        const string_type & dereference() const
-          { return m_name; }
-        bool equal( const iterator & rhs ) const
-          { return m_path_ptr == rhs.m_path_ptr && m_pos == rhs.m_pos; }
-
-        friend class boost::BOOST_FILESYSTEM2_NAMESPACE::detail::iterator_helper<path_type>;
-
-        void increment()
-        { 
-          boost::BOOST_FILESYSTEM2_NAMESPACE::detail::iterator_helper<path_type>::do_increment(
-            *this );
-        }
-        void decrement()
-        { 
-          boost::BOOST_FILESYSTEM2_NAMESPACE::detail::iterator_helper<path_type>::do_decrement(
-            *this );
-        }
-
-        string_type             m_name;     // current element
-        const basic_path *      m_path_ptr; // path being iterated over
-        typename string_type::size_type  m_pos;  // position of name in
-                                            // path_ptr->string(). The
-                                            // end() iterator is indicated by 
-                                            // pos == path_ptr->m_path.size()
-      }; // iterator
-
-      typedef iterator const_iterator;
-
-      iterator begin() const;
-      iterator end() const;
-
-    private:
-      // Note: This is an implementation for POSIX and Windows, where there
-      // are only minor differences between generic and native path grammars.
-      // Private members might be quite different in other implementations,
-      // particularly where there were wide differences between portable and
-      // native path formats, or between file_string() and
-      // directory_string() formats, or simply that the implementation
-      // was willing expend additional memory to achieve greater speed for
-      // some operations at the expense of other operations.
-
-      string_type  m_path; // invariant: portable path grammar
-                           // on Windows, backslashes converted to slashes
-
-#   ifdef BOOST_CYGWIN_PATH
-      bool m_cygwin_root; // if present, m_path[0] was slash. note: initialization
-                          // done by append
-#   endif  
-
-      void m_append_separator_if_needed();
-      void m_append( value_type value ); // converts Windows alt_separator
-
-      // Was qualified; como433beta8 reports:
-      //    warning #427-D: qualified name is not allowed in member declaration 
-      friend class iterator;
-      friend class boost::BOOST_FILESYSTEM2_NAMESPACE::detail::iterator_helper<path_type>;
-
-      // Deprecated features ease transition for existing code. Don't use these
-      // in new code.
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    public:
-      typedef bool (*name_check)( const std::string & name );
-      basic_path( const string_type & str, name_check ) { operator/=( str ); }
-      basic_path( const typename string_type::value_type * s, name_check )
-        { operator/=( s );}
-      string_type native_file_string() const { return file_string(); }
-      string_type native_directory_string() const { return directory_string(); }
-      static bool default_name_check_writable() { return false; } 
-      static void default_name_check( name_check ) {}
-      static name_check default_name_check() { return 0; }
-      basic_path & canonize();
-      basic_path & normalize();
-# endif
-    };
-
-  //  basic_path non-member functions  ---------------------------------------//
-
-    template< class String, class Traits >
-    inline void swap( basic_path<String, Traits> & lhs,
-               basic_path<String, Traits> & rhs ) { lhs.swap( rhs ); }
-
-    template< class String, class Traits >
-    bool operator<( const basic_path<String, Traits> & lhs, const basic_path<String, Traits> & rhs )
-    {
-      return std::lexicographical_compare(
-        lhs.begin(), lhs.end(), rhs.begin(), rhs.end() );
-    }
-
-    template< class String, class Traits >
-    bool operator<( const typename basic_path<String, Traits>::string_type::value_type * lhs,
-                    const basic_path<String, Traits> & rhs )
-    {
-      basic_path<String, Traits> tmp( lhs );
-      return std::lexicographical_compare(
-        tmp.begin(), tmp.end(), rhs.begin(), rhs.end() );
-    }
-
-    template< class String, class Traits >
-    bool operator<( const typename basic_path<String, Traits>::string_type & lhs,
-                    const basic_path<String, Traits> & rhs )
-    {
-      basic_path<String, Traits> tmp( lhs );
-      return std::lexicographical_compare(
-        tmp.begin(), tmp.end(), rhs.begin(), rhs.end() );
-    }
-
-    template< class String, class Traits >
-    bool operator<( const basic_path<String, Traits> & lhs,
-                    const typename basic_path<String, Traits>::string_type::value_type * rhs )
-    {
-      basic_path<String, Traits> tmp( rhs );
-      return std::lexicographical_compare(
-        lhs.begin(), lhs.end(), tmp.begin(), tmp.end() );
-    }
-
-    template< class String, class Traits >
-    bool operator<( const basic_path<String, Traits> & lhs,
-                    const typename basic_path<String, Traits>::string_type & rhs )
-    {
-      basic_path<String, Traits> tmp( rhs );
-      return std::lexicographical_compare(
-        lhs.begin(), lhs.end(), tmp.begin(), tmp.end() );
-    }
-
-    //  operator == uses hand-written compare rather than !(lhs < rhs) && !(rhs < lhs)
-    //  because the result is the same yet the direct compare is much more efficient
-    //  than lexicographical_compare, which would also be called twice.
-
-    template< class String, class Traits >
-    inline bool operator==( const basic_path<String, Traits> & lhs,
-                    const typename basic_path<String, Traits>::string_type::value_type * rhs )
-    {
-      typedef typename
-        boost::BOOST_FILESYSTEM2_NAMESPACE::basic_path<String, Traits> path_type;
-      const typename path_type::string_type::value_type * l (lhs.string().c_str());
-      while ( (*l == *rhs
-#      ifdef BOOST_WINDOWS_PATH
-        || (*l == path_alt_separator<path_type>::value && *rhs == slash<path_type>::value) 
-            || (*l == slash<path_type>::value && *rhs == path_alt_separator<path_type>::value)
-#      endif
-        ) && *l ) { ++l; ++rhs; }
-      return *l == *rhs
-#      ifdef BOOST_WINDOWS_PATH
-        || (*l == path_alt_separator<path_type>::value && *rhs == slash<path_type>::value) 
-          || (*l == slash<path_type>::value && *rhs == path_alt_separator<path_type>::value)
-#      endif
-        ;  
-    }
-
-    template< class String, class Traits >
-    inline bool operator==( const basic_path<String, Traits> & lhs,
-                            const basic_path<String, Traits> & rhs )
-    { 
-      return lhs == rhs.string().c_str();
-    }
-
-    template< class String, class Traits >
-    inline bool operator==( const typename basic_path<String, Traits>::string_type::value_type * lhs,
-                    const basic_path<String, Traits> & rhs )
-    {
-      return rhs == lhs;
-    }
-
-    template< class String, class Traits >
-    inline bool operator==( const typename basic_path<String, Traits>::string_type & lhs,
-                    const basic_path<String, Traits> & rhs )
-    {
-      return rhs == lhs.c_str();
-    }
-
-    template< class String, class Traits >
-    inline bool operator==( const basic_path<String, Traits> & lhs,
-                    const typename basic_path<String, Traits>::string_type & rhs )
-    {
-      return lhs == rhs.c_str();
-    }
-
-    template< class String, class Traits >
-    inline bool operator!=( const basic_path<String, Traits> & lhs,
-      const basic_path<String, Traits> & rhs )
-        { return !(lhs == rhs); }
-    
-    template< class String, class Traits >
-    inline bool operator!=( const typename basic_path<String,
-      Traits>::string_type::value_type * lhs,
-        const basic_path<String, Traits> & rhs )
-        { return !(lhs == rhs); }
-
-    template< class String, class Traits >
-    inline bool operator!=( const typename basic_path<String, Traits>::string_type & lhs,
-      const basic_path<String, Traits> & rhs )
-        { return !(lhs == rhs); }
-
-    template< class String, class Traits >
-    inline bool operator!=( const basic_path<String, Traits> & lhs,
-      const typename basic_path<String, Traits>::string_type::value_type * rhs )
-        { return !(lhs == rhs); }
-
-    template< class String, class Traits >
-    inline bool operator!=( const basic_path<String, Traits> & lhs,
-      const typename basic_path<String, Traits>::string_type & rhs )
-        { return !(lhs == rhs); }
-
-    template< class String, class Traits >
-    inline bool operator>( const basic_path<String, Traits> & lhs, const basic_path<String, Traits> & rhs ) { return rhs < lhs; }
-    
-    template< class String, class Traits >
-    inline bool operator>( const typename basic_path<String, Traits>::string_type::value_type * lhs,
-                    const basic_path<String, Traits> & rhs ) { return rhs < basic_path<String, Traits>(lhs); }
-
-    template< class String, class Traits >
-    inline bool operator>( const typename basic_path<String, Traits>::string_type & lhs,
-                    const basic_path<String, Traits> & rhs ) { return rhs < basic_path<String, Traits>(lhs); }
-
-    template< class String, class Traits >
-    inline bool operator>( const basic_path<String, Traits> & lhs,
-                    const typename basic_path<String, Traits>::string_type::value_type * rhs )
-                    { return basic_path<String, Traits>(rhs) < lhs; }
-
-    template< class String, class Traits >
-    inline bool operator>( const basic_path<String, Traits> & lhs,
-                    const typename basic_path<String, Traits>::string_type & rhs )
-                    { return basic_path<String, Traits>(rhs) < lhs; }
-
-    template< class String, class Traits >
-    inline bool operator<=( const basic_path<String, Traits> & lhs, const basic_path<String, Traits> & rhs ) { return !(rhs < lhs); }
-    
-    template< class String, class Traits >
-    inline bool operator<=( const typename basic_path<String, Traits>::string_type::value_type * lhs,
-                    const basic_path<String, Traits> & rhs ) { return !(rhs < basic_path<String, Traits>(lhs)); }
-
-    template< class String, class Traits >
-    inline bool operator<=( const typename basic_path<String, Traits>::string_type & lhs,
-                    const basic_path<String, Traits> & rhs ) { return !(rhs < basic_path<String, Traits>(lhs)); }
-
-    template< class String, class Traits >
-    inline bool operator<=( const basic_path<String, Traits> & lhs,
-                    const typename basic_path<String, Traits>::string_type::value_type * rhs )
-                    { return !(basic_path<String, Traits>(rhs) < lhs); }
-
-    template< class String, class Traits >
-    inline bool operator<=( const basic_path<String, Traits> & lhs,
-                    const typename basic_path<String, Traits>::string_type & rhs )
-                    { return !(basic_path<String, Traits>(rhs) < lhs); }
-
-    template< class String, class Traits >
-    inline bool operator>=( const basic_path<String, Traits> & lhs, const basic_path<String, Traits> & rhs ) { return !(lhs < rhs); }
-    
-    template< class String, class Traits >
-    inline bool operator>=( const typename basic_path<String, Traits>::string_type::value_type * lhs,
-                    const basic_path<String, Traits> & rhs ) { return !(lhs < basic_path<String, Traits>(rhs)); }
-
-    template< class String, class Traits >
-    inline bool operator>=( const typename basic_path<String, Traits>::string_type & lhs,
-                    const basic_path<String, Traits> & rhs ) { return !(lhs < basic_path<String, Traits>(rhs)); }
-
-    template< class String, class Traits >
-    inline bool operator>=( const basic_path<String, Traits> & lhs,
-                    const typename basic_path<String, Traits>::string_type::value_type * rhs )
-                    { return !(basic_path<String, Traits>(lhs) < rhs); }
-
-    template< class String, class Traits >
-    inline bool operator>=( const basic_path<String, Traits> & lhs,
-                    const typename basic_path<String, Traits>::string_type & rhs )
-                    { return !(basic_path<String, Traits>(lhs) < rhs); }
-
-    // operator /
-
-    template< class String, class Traits >
-    inline basic_path<String, Traits> operator/( 
-      const basic_path<String, Traits> & lhs,
-      const basic_path<String, Traits> & rhs )
-      { return basic_path<String, Traits>( lhs ) /= rhs; }
-
-    template< class String, class Traits >
-    inline basic_path<String, Traits> operator/( 
-      const basic_path<String, Traits> & lhs,
-      const typename String::value_type * rhs )
-      { return basic_path<String, Traits>( lhs ) /=
-          basic_path<String, Traits>( rhs ); }
-
-    template< class String, class Traits >
-    inline basic_path<String, Traits> operator/( 
-      const basic_path<String, Traits> & lhs, const String & rhs )
-      { return basic_path<String, Traits>( lhs ) /=
-          basic_path<String, Traits>( rhs ); }
-
-    template< class String, class Traits >
-    inline basic_path<String, Traits> operator/( 
-      const typename String::value_type * lhs,
-      const basic_path<String, Traits> & rhs )
-      { return basic_path<String, Traits>( lhs ) /= rhs; }
-
-    template< class String, class Traits >
-    inline basic_path<String, Traits> operator/(
-      const String & lhs, const basic_path<String, Traits> & rhs )
-      { return basic_path<String, Traits>( lhs ) /= rhs; }
-   
-    //  inserters and extractors  --------------------------------------------//
-
-// bypass VC++ 7.0 and earlier, and broken Borland compilers
-# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__BORLANDC__, < 0x610)
-    template< class Path >
-    std::basic_ostream< typename Path::string_type::value_type,
-      typename Path::string_type::traits_type > &
-      operator<<
-      ( std::basic_ostream< typename Path::string_type::value_type,
-      typename Path::string_type::traits_type >& os, const Path & ph )
-    {
-      os << ph.string();
-      return os;
-    }
-
-    template< class Path >
-    std::basic_istream< typename Path::string_type::value_type,
-      typename Path::string_type::traits_type > &
-      operator>>
-      ( std::basic_istream< typename Path::string_type::value_type,
-      typename Path::string_type::traits_type >& is, Path & ph )
-    {
-      typename Path::string_type str;
-      std::getline(is, str);  // See ticket 3863
-      ph = str;
-      return is;
-    }
-# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    template< class String, class Traits >
-    std::basic_ostream< BOOST_DEDUCED_TYPENAME String::value_type,
-      BOOST_DEDUCED_TYPENAME String::traits_type > &
-      operator<<
-      ( std::basic_ostream< BOOST_DEDUCED_TYPENAME String::value_type,
-          BOOST_DEDUCED_TYPENAME String::traits_type >& os, 
-        const basic_path< String, Traits > & ph )
-    {
-      os << ph.string();
-      return os;
-    }
-
-    template< class String, class Traits >
-    std::basic_istream< BOOST_DEDUCED_TYPENAME String::value_type, 
-      BOOST_DEDUCED_TYPENAME String::traits_type > &
-      operator>>
-      ( std::basic_istream< BOOST_DEDUCED_TYPENAME String::value_type,
-          BOOST_DEDUCED_TYPENAME String::traits_type> & is,
-        basic_path< String, Traits > & ph )
-    {
-      String str;
-      std::getline(is, str);  // See ticket 3863
-      ph = str;
-      return is;
-    }
-# endif
-
-    //  basic_filesystem_error helpers  --------------------------------------//
-
-    //  Originally choice of implementation was done via specialization of
-    //  basic_filesystem_error::what(). Several compilers (GCC, aCC, etc.)
-    //  couldn't handle that, so the choice is now accomplished by overloading.
-
-    namespace detail
-    {
-      // BOOST_FILESYSTEM_DECL version works for VC++ but not GCC. Go figure!
-      inline
-      const char * what( const char * sys_err_what,
-        const path & path1_arg, const path & path2_arg, std::string & target )
-      {
-        try
-        {
-          if ( target.empty() )
-          {
-            target = sys_err_what;
-            if ( !path1_arg.empty() )
-            {
-              target += ": \"";
-              target += path1_arg.file_string();
-              target += "\"";
-            }
-            if ( !path2_arg.empty() )
-            {
-              target += ", \"";
-              target += path2_arg.file_string();
-              target += "\"";
-            }
-          }
-          return target.c_str();
-        }
-        catch (...)
-        {
-          return sys_err_what;
-        }
-      }
-
-      template<class Path>
-      const char * what( const char * sys_err_what,
-        const Path & /*path1_arg*/, const Path & /*path2_arg*/, std::string & /*target*/ )
-      {
-        return sys_err_what;
-      }
-    }
-
-    //  basic_filesystem_error  ----------------------------------------------//
-
-    template<class Path>
-    class basic_filesystem_error : public system::system_error
-    {
-    // see http://www.boost.org/more/error_handling.html for design rationale
-    public:
-      // compiler generates copy constructor and copy assignment
-
-      typedef Path path_type;
-
-      basic_filesystem_error( const std::string & what_arg,
-        system::error_code ec );
-
-      basic_filesystem_error( const std::string & what_arg,
-        const path_type & path1_arg, system::error_code ec );
-
-      basic_filesystem_error( const std::string & what_arg, const path_type & path1_arg,
-        const path_type & path2_arg, system::error_code ec );
-
-      ~basic_filesystem_error() throw() {}
-
-      const path_type & path1() const
-      {
-        static const path_type empty_path;
-        return m_imp_ptr.get() ? m_imp_ptr->m_path1 : empty_path ;
-      }
-      const path_type & path2() const
-      {
-        static const path_type empty_path;
-        return m_imp_ptr.get() ? m_imp_ptr->m_path2 : empty_path ;
-      }
-
-      const char * what() const throw()
-      { 
-        if ( !m_imp_ptr.get() )
-          return system::system_error::what();
-        return detail::what( system::system_error::what(), m_imp_ptr->m_path1,
-          m_imp_ptr->m_path2, m_imp_ptr->m_what );  
-      }
-
-    private:
-      struct m_imp
-      {
-        path_type                 m_path1; // may be empty()
-        path_type                 m_path2; // may be empty()
-        std::string               m_what;  // not built until needed
-      };
-      boost::shared_ptr<m_imp> m_imp_ptr;
-    };
-
-    typedef basic_filesystem_error<path> filesystem_error;
-
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-    typedef basic_filesystem_error<wpath> wfilesystem_error;
-# endif
-
-  //  path::name_checks  -----------------------------------------------------//
-
-    BOOST_FILESYSTEM_DECL bool portable_posix_name( const std::string & name );
-    BOOST_FILESYSTEM_DECL bool windows_name( const std::string & name );
-    BOOST_FILESYSTEM_DECL bool portable_name( const std::string & name );
-    BOOST_FILESYSTEM_DECL bool portable_directory_name( const std::string & name );
-    BOOST_FILESYSTEM_DECL bool portable_file_name( const std::string & name );
-    BOOST_FILESYSTEM_DECL bool native( const std::string & name );
-    inline bool no_check( const std::string & )
-      { return true; }
-
-// implementation  -----------------------------------------------------------//
-
-    namespace detail
-    {
-
-      //  is_separator helper ------------------------------------------------//
-
-      template<class Path>
-      inline  bool is_separator( typename Path::string_type::value_type c )
-      {
-        return c == slash<Path>::value
-#     ifdef BOOST_WINDOWS_PATH
-          || c == path_alt_separator<Path>::value
-#     endif
-          ;
-      }
-
-      // filename_pos helper  ----------------------------------------------------//
-
-      template<class String, class Traits>
-      typename String::size_type filename_pos(
-        const String & str, // precondition: portable generic path grammar
-        typename String::size_type end_pos ) // end_pos is past-the-end position
-      // return 0 if str itself is filename (or empty)
-      {
-        typedef typename
-          boost::BOOST_FILESYSTEM2_NAMESPACE::basic_path<String, Traits> path_type;
-
-        // case: "//"
-        if ( end_pos == 2 
-          && str[0] == slash<path_type>::value
-          && str[1] == slash<path_type>::value ) return 0;
-
-        // case: ends in "/"
-        if ( end_pos && str[end_pos-1] == slash<path_type>::value )
-          return end_pos-1;
-        
-        // set pos to start of last element
-        typename String::size_type pos(
-          str.find_last_of( slash<path_type>::value, end_pos-1 ) );
-#       ifdef BOOST_WINDOWS_PATH
-        if ( pos == String::npos )
-          pos = str.find_last_of( path_alt_separator<path_type>::value, end_pos-1 );
-        if ( pos == String::npos )
-          pos = str.find_last_of( colon<path_type>::value, end_pos-2 );
-#       endif
-
-        return ( pos == String::npos // path itself must be a filename (or empty)
-          || (pos == 1 && str[0] == slash<path_type>::value) ) // or net
-            ? 0 // so filename is entire string
-            : pos + 1; // or starts after delimiter
-      }
-
-      // first_element helper  -----------------------------------------------//
-      //   sets pos and len of first element, excluding extra separators
-      //   if src.empty(), sets pos,len, to 0,0.
-
-      template<class String, class Traits>
-        void first_element(
-          const String & src, // precondition: portable generic path grammar
-          typename String::size_type & element_pos,
-          typename String::size_type & element_size,
-#       if !BOOST_WORKAROUND( BOOST_MSVC, <= 1310 ) // VC++ 7.1
-          typename String::size_type size = String::npos
-#       else
-          typename String::size_type size = -1
-#       endif
-          )
-      {
-        if ( size == String::npos ) size = src.size();
-        element_pos = 0;
-        element_size = 0;
-        if ( src.empty() ) return;
-
-        typedef typename boost::BOOST_FILESYSTEM2_NAMESPACE::basic_path<String, Traits> path_type;
-
-        typename String::size_type cur(0);
-        
-        // deal with // [network]
-        if ( size >= 2 && src[0] == slash<path_type>::value
-          && src[1] == slash<path_type>::value
-          && (size == 2
-            || src[2] != slash<path_type>::value) )
-        { 
-          cur += 2;
-          element_size += 2;
-        }
-
-        // leading (not non-network) separator
-        else if ( src[0] == slash<path_type>::value )
-        {
-          ++element_size;
-          // bypass extra leading separators
-          while ( cur+1 < size
-            && src[cur+1] == slash<path_type>::value )
-          {
-            ++cur;
-            ++element_pos;
-          }
-          return;
-        }
-
-        // at this point, we have either a plain name, a network name,
-        // or (on Windows only) a device name
-
-        // find the end
-        while ( cur < size
-#         ifdef BOOST_WINDOWS_PATH
-          && src[cur] != colon<path_type>::value
-#         endif
-          && src[cur] != slash<path_type>::value )
-        {
-          ++cur;
-          ++element_size;
-        }
-
-#       ifdef BOOST_WINDOWS_PATH
-        if ( cur == size ) return;
-        // include device delimiter
-        if ( src[cur] == colon<path_type>::value )
-          { ++element_size; }
-#       endif
-
-        return;
-      }
-
-      // root_directory_start helper  ----------------------------------------//
-
-      template<class String, class Traits>
-      typename String::size_type root_directory_start(
-        const String & s, // precondition: portable generic path grammar
-        typename String::size_type size )
-      // return npos if no root_directory found
-      {
-        typedef typename boost::BOOST_FILESYSTEM2_NAMESPACE::basic_path<String, Traits> path_type;
-
-#     ifdef BOOST_WINDOWS_PATH
-        // case "c:/"
-        if ( size > 2
-          && s[1] == colon<path_type>::value
-          && s[2] == slash<path_type>::value ) return 2;
-#     endif
-
-        // case "//"
-        if ( size == 2
-          && s[0] == slash<path_type>::value
-          && s[1] == slash<path_type>::value ) return String::npos;
-
-        // case "//net {/}"
-        if ( size > 3
-          && s[0] == slash<path_type>::value
-          && s[1] == slash<path_type>::value
-          && s[2] != slash<path_type>::value )
-        {
-          typename String::size_type pos(
-            s.find( slash<path_type>::value, 2 ) );
-          return pos < size ? pos : String::npos;
-        }
-        
-        // case "/"
-        if ( size > 0 && s[0] == slash<path_type>::value ) return 0;
-
-        return String::npos;
-      }
-
-      // is_non_root_slash helper  -------------------------------------------//
-
-      template<class String, class Traits>
-      bool is_non_root_slash( const String & str,
-        typename String::size_type pos ) // pos is position of the slash
-      {
-        typedef typename
-          boost::BOOST_FILESYSTEM2_NAMESPACE::basic_path<String, Traits>
-            path_type;
-
-        BOOST_ASSERT( !str.empty() && str[pos] == slash<path_type>::value
-          && "precondition violation" );
-
-        // subsequent logic expects pos to be for leftmost slash of a set
-        while ( pos > 0 && str[pos-1] == slash<path_type>::value )
-          --pos;
-
-        return  pos != 0
-          && (pos <= 2 || str[1] != slash<path_type>::value
-            || str.find( slash<path_type>::value, 2 ) != pos)
-#       ifdef BOOST_WINDOWS_PATH
-          && (pos !=2 || str[1] != colon<path_type>::value)
-#       endif
-            ;
-      }
-    } // namespace detail
-
-    // decomposition functions  ----------------------------------------------//
-
-    template<class String, class Traits>
-    String basic_path<String, Traits>::filename() const
-    {
-      typename String::size_type end_pos(
-        detail::filename_pos<String, Traits>( m_path, m_path.size() ) );
-      return (m_path.size()
-                && end_pos
-                && m_path[end_pos] == slash<path_type>::value
-                && detail::is_non_root_slash< String, Traits >(m_path, end_pos))
-        ? String( 1, dot<path_type>::value )
-        : m_path.substr( end_pos );
-    }
-
-    template<class String, class Traits>
-    String basic_path<String, Traits>::stem() const
-    {
-      string_type name = filename();
-      typename string_type::size_type n = name.rfind(dot<path_type>::value);
-      return name.substr(0, n);
-    }
-
-    template<class String, class Traits>
-    String basic_path<String, Traits>::extension() const
-    {
-      string_type name = filename();
-      typename string_type::size_type n = name.rfind(dot<path_type>::value);
-      if (n != string_type::npos)
-        return name.substr(n);
-      else
-        return string_type();
-    }
-
-    template<class String, class Traits>
-    basic_path<String, Traits> basic_path<String, Traits>::parent_path() const
-    {
-      typename String::size_type end_pos(
-        detail::filename_pos<String, Traits>( m_path, m_path.size() ) );
-
-      bool filename_was_separator( m_path.size()
-        && m_path[end_pos] == slash<path_type>::value );
-
-      // skip separators unless root directory
-      typename string_type::size_type root_dir_pos( detail::root_directory_start
-        <string_type, traits_type>( m_path, end_pos ) );
-      for ( ; 
-        end_pos > 0
-        && (end_pos-1) != root_dir_pos
-        && m_path[end_pos-1] == slash<path_type>::value
-        ;
-        --end_pos ) {}
-
-     return (end_pos == 1 && root_dir_pos == 0 && filename_was_separator)
-       ? path_type()
-       : path_type( m_path.substr( 0, end_pos ) );
-    }
-
-    template<class String, class Traits>
-    basic_path<String, Traits> basic_path<String, Traits>::relative_path() const
-    {
-      iterator itr( begin() );
-      for ( ; itr.m_pos != m_path.size()
-          && (itr.m_name[0] == slash<path_type>::value
-#     ifdef BOOST_WINDOWS_PATH
-          || itr.m_name[itr.m_name.size()-1]
-            == colon<path_type>::value
-#     endif
-             ); ++itr ) {}
-
-      return basic_path<String, Traits>( m_path.substr( itr.m_pos ) );
-    }
-
-    template<class String, class Traits>
-    String basic_path<String, Traits>::root_name() const
-    {
-      iterator itr( begin() );
-
-      return ( itr.m_pos != m_path.size()
-        && (
-            ( itr.m_name.size() > 1
-              && itr.m_name[0] == slash<path_type>::value
-              && itr.m_name[1] == slash<path_type>::value
-            )
-#     ifdef BOOST_WINDOWS_PATH
-          || itr.m_name[itr.m_name.size()-1]
-            == colon<path_type>::value
-#     endif
-           ) )
-        ? *itr
-        : String();
-    }
-
-    template<class String, class Traits>
-    String basic_path<String, Traits>::root_directory() const
-    {
-      typename string_type::size_type start(
-        detail::root_directory_start<String, Traits>( m_path, m_path.size() ) );
-
-      return start == string_type::npos
-        ? string_type()
-        : m_path.substr( start, 1 );
-    }
-
-    template<class String, class Traits>
-    basic_path<String, Traits> basic_path<String, Traits>::root_path() const
-    {
-      // even on POSIX, root_name() is non-empty() on network paths
-      return basic_path<String, Traits>( root_name() ) /= root_directory();
-    }
-
-    // path query functions  -------------------------------------------------//
-
-    template<class String, class Traits>
-    inline bool basic_path<String, Traits>::is_complete() const
-    {
-#   ifdef BOOST_WINDOWS_PATH
-      return has_root_name() && has_root_directory();
-#   else
-      return has_root_directory();
-#   endif
-    }
-
-    template<class String, class Traits>
-    inline bool basic_path<String, Traits>::has_root_path() const
-    {
-      return !root_path().empty();
-    }
-
-    template<class String, class Traits>
-    inline bool basic_path<String, Traits>::has_root_name() const
-    {
-      return !root_name().empty();
-    }
-
-    template<class String, class Traits>
-    inline bool basic_path<String, Traits>::has_root_directory() const
-    {
-      return !root_directory().empty();
-    }
-
-    // append  ---------------------------------------------------------------//
-
-    template<class String, class Traits>
-    void basic_path<String, Traits>::m_append_separator_if_needed()
-    // requires: !empty()
-    {
-      if (
-#       ifdef BOOST_WINDOWS_PATH
-        *(m_path.end()-1) != colon<path_type>::value && 
-#       endif
-        *(m_path.end()-1) != slash<path_type>::value )
-      {
-        m_path += slash<path_type>::value;
-      }
-    }
-      
-    template<class String, class Traits>
-    void basic_path<String, Traits>::m_append( value_type value )
-    {
-#   ifdef BOOST_CYGWIN_PATH
-      if ( m_path.empty() ) m_cygwin_root = (value == slash<path_type>::value);
-#   endif
-
-#   ifdef BOOST_WINDOWS_PATH
-      // for BOOST_WINDOWS_PATH, convert alt_separator ('\') to separator ('/')
-      m_path += ( value == path_alt_separator<path_type>::value
-        ? slash<path_type>::value
-        : value );
-#   else
-      m_path += value;
-#   endif
-    }
-    
-    // except that it wouldn't work for BOOST_NO_MEMBER_TEMPLATES compilers,
-    // the append() member template could replace this code.
-    template<class String, class Traits>
-    basic_path<String, Traits> & basic_path<String, Traits>::operator /=
-      ( const value_type * next_p )
-    {
-      // ignore escape sequence on POSIX or Windows
-      if ( *next_p == slash<path_type>::value
-        && *(next_p+1) == slash<path_type>::value
-        && *(next_p+2) == colon<path_type>::value ) next_p += 3;
-      
-      // append slash<path_type>::value if needed
-      if ( !empty() && *next_p != 0
-        && !detail::is_separator<path_type>( *next_p ) )
-      { m_append_separator_if_needed(); }
-
-      for ( ; *next_p != 0; ++next_p ) m_append( *next_p );
-      return *this;
-    }
-
-# ifndef BOOST_NO_MEMBER_TEMPLATES
-    template<class String, class Traits> template <class InputIterator>
-      basic_path<String, Traits> & basic_path<String, Traits>::append(
-        InputIterator first, InputIterator last )
-    {
-      // append slash<path_type>::value if needed
-      if ( !empty() && first != last
-        && !detail::is_separator<path_type>( *first ) )
-      { m_append_separator_if_needed(); }
-
-      // song-and-dance to avoid violating InputIterator requirements
-      // (which prohibit lookahead) in detecting a possible escape sequence
-      // (escape sequences are simply ignored on POSIX and Windows)
-      bool was_escape_sequence(true);
-      std::size_t append_count(0);
-      typename String::size_type initial_pos( m_path.size() );
-
-      for ( ; first != last && *first; ++first )
-      {
-        if ( append_count == 0 && *first != slash<path_type>::value )
-          was_escape_sequence = false;
-        if ( append_count == 1 && *first != slash<path_type>::value )
-          was_escape_sequence = false;
-        if ( append_count == 2 && *first != colon<path_type>::value )
-          was_escape_sequence = false;
-        m_append( *first );
-        ++append_count;
-      }
-
-      // erase escape sequence if any
-      if ( was_escape_sequence && append_count >= 3 )
-        m_path.erase( initial_pos, 3 );
-
-      return *this;
-    }
-# endif
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-
-    // canonize  ------------------------------------------------------------//
-
-    template<class String, class Traits>
-    basic_path<String, Traits> & basic_path<String, Traits>::canonize()
-    {
-      static const typename string_type::value_type dot_str[]
-        = { dot<path_type>::value, 0 };
-
-      if ( m_path.empty() ) return *this;
-        
-      path_type temp;
-
-      for ( iterator itr( begin() ); itr != end(); ++itr )
-      {
-        temp /= *itr;
-      };
-
-      if ( temp.empty() ) temp /= dot_str;
-      m_path = temp.m_path;
-      return *this;
-    }
-
-    // normalize  ------------------------------------------------------------//
-
-    template<class String, class Traits>
-    basic_path<String, Traits> & basic_path<String, Traits>::normalize()
-    {
-      static const typename string_type::value_type dot_str[]
-        = { dot<path_type>::value, 0 };
-
-      if ( m_path.empty() ) return *this;
-        
-      path_type temp;
-      iterator start( begin() );
-      iterator last( end() );
-      iterator stop( last-- );
-      for ( iterator itr( start ); itr != stop; ++itr )
-      {
-        // ignore "." except at start and last
-        if ( itr->size() == 1
-          && (*itr)[0] == dot<path_type>::value
-          && itr != start
-          && itr != last ) continue;
-
-        // ignore a name and following ".."
-        if ( !temp.empty()
-          && itr->size() == 2
-          && (*itr)[0] == dot<path_type>::value
-          && (*itr)[1] == dot<path_type>::value ) // dot dot
-        {
-          string_type lf( temp.filename() );  
-          if ( lf.size() > 0  
-            && (lf.size() != 1
-              || (lf[0] != dot<path_type>::value
-                && lf[0] != slash<path_type>::value))
-            && (lf.size() != 2 
-              || (lf[0] != dot<path_type>::value
-                && lf[1] != dot<path_type>::value
-#             ifdef BOOST_WINDOWS_PATH
-                && lf[1] != colon<path_type>::value
-#             endif
-                 )
-               )
-            )
-          {
-            temp.remove_filename();
-            // if not root directory, must also remove "/" if any
-            if ( temp.m_path.size() > 0
-              && temp.m_path[temp.m_path.size()-1]
-                == slash<path_type>::value )
-            {
-              typename string_type::size_type rds(
-                detail::root_directory_start<String,Traits>( temp.m_path,
-                  temp.m_path.size() ) );
-              if ( rds == string_type::npos
-                || rds != temp.m_path.size()-1 ) 
-                { temp.m_path.erase( temp.m_path.size()-1 ); }
-            }
-
-            iterator next( itr );
-            if ( temp.empty() && ++next != stop
-              && next == last && *last == dot_str ) temp /= dot_str;
-            continue;
-          }
-        }
-
-        temp /= *itr;
-      };
-
-      if ( temp.empty() ) temp /= dot_str;
-      m_path = temp.m_path;
-      return *this;
-    }
-
-# endif
-
-    // modifiers  ------------------------------------------------------------//
-
-    template<class String, class Traits>
-    basic_path<String, Traits> & basic_path<String, Traits>::remove_filename()
-    {
-      m_path.erase(
-        detail::filename_pos<String, Traits>( m_path, m_path.size() ) );
-      return *this;
-    }
-
-    template<class String, class Traits>
-    basic_path<String, Traits> &
-    basic_path<String, Traits>::replace_extension( const string_type & new_ext )
-    {
-      // erase existing extension if any
-      string_type old_ext = extension();
-      if ( !old_ext.empty() )
-        m_path.erase( m_path.size() - old_ext.size() );
-
-      if ( !new_ext.empty() && new_ext[0] != dot<path_type>::value )
-        m_path += dot<path_type>::value;
-
-      m_path += new_ext;
-
-      return *this;
-    }
-
-
-    // path conversion functions  --------------------------------------------//
-
-    template<class String, class Traits>
-    const String
-    basic_path<String, Traits>::file_string() const
-    {
-#   ifdef BOOST_WINDOWS_PATH
-      // for Windows, use the alternate separator, and bypass extra 
-      // root separators
-
-      typename string_type::size_type root_dir_start(
-        detail::root_directory_start<String, Traits>( m_path, m_path.size() ) );
-      bool in_root( root_dir_start != string_type::npos );
-      String s;
-      for ( typename string_type::size_type pos( 0 );
-        pos != m_path.size(); ++pos )
-      {
-        // special case // [net]
-        if ( pos == 0 && m_path.size() > 1
-          && m_path[0] == slash<path_type>::value
-          && m_path[1] == slash<path_type>::value
-          && ( m_path.size() == 2 
-            || !detail::is_separator<path_type>( m_path[2] )
-             ) )
-        {
-          ++pos;
-          s += path_alt_separator<path_type>::value;
-          s += path_alt_separator<path_type>::value;
-          continue;
-        }   
-
-        // bypass extra root separators
-        if ( in_root )
-        { 
-          if ( s.size() > 0
-            && s[s.size()-1] == path_alt_separator<path_type>::value
-            && m_path[pos] == slash<path_type>::value
-            ) continue;
-        }
-
-        if ( m_path[pos] == slash<path_type>::value )
-          s += path_alt_separator<path_type>::value;
-        else
-          s += m_path[pos];
-
-        if ( pos > root_dir_start
-          && m_path[pos] == slash<path_type>::value )
-          { in_root = false; }
-      }
-#   ifdef BOOST_CYGWIN_PATH
-      if ( m_cygwin_root ) s[0] = slash<path_type>::value;
-#   endif
-      return s;
-#   else
-      return m_path;
-#   endif
-    }
-
-    // iterator functions  ---------------------------------------------------//
-
-    template<class String, class Traits>
-    typename basic_path<String, Traits>::iterator basic_path<String, Traits>::begin() const
-    {
-      iterator itr;
-      itr.m_path_ptr = this;
-      typename string_type::size_type element_size;
-      detail::first_element<String, Traits>( m_path, itr.m_pos, element_size );
-      itr.m_name = m_path.substr( itr.m_pos, element_size );
-      return itr;
-    }
-
-    template<class String, class Traits>
-    typename basic_path<String, Traits>::iterator basic_path<String, Traits>::end() const
-      {
-        iterator itr;
-        itr.m_path_ptr = this;
-        itr.m_pos = m_path.size();
-        return itr;
-      }
-
-    namespace detail
-    {
-      //  do_increment  ------------------------------------------------------//
-
-      template<class Path>
-      void iterator_helper<Path>::do_increment( iterator & itr )
-      {
-        typedef typename Path::string_type string_type;
-        typedef typename Path::traits_type traits_type;
-
-        BOOST_ASSERT( itr.m_pos < itr.m_path_ptr->m_path.size() && "basic_path::iterator increment past end()" );
-
-        bool was_net( itr.m_name.size() > 2
-          && itr.m_name[0] == slash<Path>::value
-          && itr.m_name[1] == slash<Path>::value
-          && itr.m_name[2] != slash<Path>::value );
-
-        // increment to position past current element
-        itr.m_pos += itr.m_name.size();
-
-        // if end reached, create end iterator
-        if ( itr.m_pos == itr.m_path_ptr->m_path.size() )
-        {
-          itr.m_name.erase( itr.m_name.begin(), itr.m_name.end() ); // VC++ 6.0 lib didn't supply clear() 
-          return;
-        }
-
-        // process separator (Windows drive spec is only case not a separator)
-        if ( itr.m_path_ptr->m_path[itr.m_pos] == slash<Path>::value )
-        {
-          // detect root directory
-          if ( was_net
-  #       ifdef BOOST_WINDOWS_PATH
-            // case "c:/"
-            || itr.m_name[itr.m_name.size()-1] == colon<Path>::value
-  #       endif
-             )
-          {
-            itr.m_name = slash<Path>::value;
-            return;
-          }
-
-          // bypass separators
-          while ( itr.m_pos != itr.m_path_ptr->m_path.size()
-            && itr.m_path_ptr->m_path[itr.m_pos] == slash<Path>::value )
-            { ++itr.m_pos; }
-
-          // detect trailing separator, and treat it as ".", per POSIX spec
-          if ( itr.m_pos == itr.m_path_ptr->m_path.size()
-            && detail::is_non_root_slash< string_type, traits_type >(
-                itr.m_path_ptr->m_path, itr.m_pos-1 ) ) 
-          {
-            --itr.m_pos;
-            itr.m_name = dot<Path>::value;
-            return;
-          }
-        }
-
-        // get next element
-        typename string_type::size_type end_pos(
-          itr.m_path_ptr->m_path.find( slash<Path>::value, itr.m_pos ) );
-        itr.m_name = itr.m_path_ptr->m_path.substr( itr.m_pos, end_pos - itr.m_pos );
-      } 
-
-      //  do_decrement  ------------------------------------------------------//
-
-      template<class Path>
-      void iterator_helper<Path>::do_decrement( iterator & itr )
-      {                                                                                
-        BOOST_ASSERT( itr.m_pos && "basic_path::iterator decrement past begin()"  );
-
-        typedef typename Path::string_type string_type;
-        typedef typename Path::traits_type traits_type;
-
-        typename string_type::size_type end_pos( itr.m_pos );
-
-        typename string_type::size_type root_dir_pos(
-          detail::root_directory_start<string_type, traits_type>(
-            itr.m_path_ptr->m_path, end_pos ) );
-
-        // if at end and there was a trailing non-root '/', return "."
-        if ( itr.m_pos == itr.m_path_ptr->m_path.size()
-          && itr.m_path_ptr->m_path.size() > 1
-          && itr.m_path_ptr->m_path[itr.m_pos-1] == slash<Path>::value
-          && detail::is_non_root_slash< string_type, traits_type >(
-               itr.m_path_ptr->m_path, itr.m_pos-1 ) 
-           )
-        {
-          --itr.m_pos;
-            itr.m_name = dot<Path>::value;
-            return;
-        }
-
-        // skip separators unless root directory
-        for ( 
-          ; 
-          end_pos > 0
-          && (end_pos-1) != root_dir_pos
-          && itr.m_path_ptr->m_path[end_pos-1] == slash<Path>::value
-          ;
-          --end_pos ) {}
-
-        itr.m_pos = detail::filename_pos<string_type, traits_type>
-            ( itr.m_path_ptr->m_path, end_pos );
-        itr.m_name = itr.m_path_ptr->m_path.substr( itr.m_pos, end_pos - itr.m_pos );
-      }
-    } // namespace detail
-
-    //  basic_filesystem_error implementation --------------------------------//
-
-    template<class Path>
-    basic_filesystem_error<Path>::basic_filesystem_error(
-      const std::string & what_arg, system::error_code ec )
-      : system::system_error(ec, what_arg)
-    {
-      try
-      {
-        m_imp_ptr.reset( new m_imp );
-      }
-      catch (...) { m_imp_ptr.reset(); }
-    }
-
-    template<class Path>
-    basic_filesystem_error<Path>::basic_filesystem_error(
-      const std::string & what_arg, const path_type & path1_arg,
-      system::error_code ec )
-      : system::system_error(ec, what_arg)
-    {
-      try
-      {
-        m_imp_ptr.reset( new m_imp );
-        m_imp_ptr->m_path1 = path1_arg;
-      }
-      catch (...) { m_imp_ptr.reset(); }
-    }
-
-    template<class Path>
-    basic_filesystem_error<Path>::basic_filesystem_error(
-      const std::string & what_arg, const path_type & path1_arg,
-      const path_type & path2_arg, system::error_code ec )
-      : system::system_error(ec, what_arg)
-    {
-      try
-      {
-        m_imp_ptr.reset( new m_imp );
-        m_imp_ptr->m_path1 = path1_arg;
-        m_imp_ptr->m_path2 = path2_arg;
-      }
-      catch (...) { m_imp_ptr.reset(); }
-    }
-
-  } // namespace BOOST_FILESYSTEM2_NAMESPACE
-} // namespace boost
-
-//----------------------------------------------------------------------------//
-
-namespace boost
-{
-  namespace filesystem
-  {
-    using filesystem2::basic_path;
-    using filesystem2::path_traits;
-
-    using filesystem2::slash;
-    using filesystem2::dot;
-    using filesystem2::colon;
-
-    using filesystem2::path;
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-    using filesystem2::wpath_traits;
-    using filesystem2::wpath;
-    using filesystem2::wfilesystem_error;
-# endif
-    using filesystem2::basic_filesystem_error;
-    using filesystem2::filesystem_error;
-    using filesystem2::portable_posix_name;
-    using filesystem2::windows_name;
-    using filesystem2::portable_name;
-    using filesystem2::portable_directory_name;
-    using filesystem2::portable_file_name;
-    using filesystem2::native;
-    using filesystem2::no_check;
-    using filesystem2::swap;
-    using filesystem2::operator<;
-    using filesystem2::operator==;
-    using filesystem2::operator!=;
-    using filesystem2::operator>;
-    using filesystem2::operator<=;
-    using filesystem2::operator>=;
-    using filesystem2::operator/;
-    using filesystem2::operator<<;
-    using filesystem2::operator>>;
-  }
-}
-
-//----------------------------------------------------------------------------//
-
-#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-
-#endif // BOOST_FILESYSTEM2_PATH_HPP
diff --git a/SRC/Boost/boost/filesystem/v3/config.hpp b/SRC/Boost/boost/filesystem/v3/config.hpp
deleted file mode 100755
index e22e4cc..0000000
--- a/SRC/Boost/boost/filesystem/v3/config.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//  boost/filesystem/v3/config.hpp  ----------------------------------------------------//
-
-//  Copyright Beman Dawes 2003
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM3_CONFIG_HPP
-#define BOOST_FILESYSTEM3_CONFIG_HPP
-
-# if defined(BOOST_FILESYSTEM_VERSION) && BOOST_FILESYSTEM_VERSION != 3
-#   error Compiling Filesystem version 3 file with BOOST_FILESYSTEM_VERSION defined != 3
-# endif
-
-# if !defined(BOOST_FILESYSTEM_VERSION)
-#   define BOOST_FILESYSTEM_VERSION 3
-# endif
-
-#define BOOST_FILESYSTEM_I18N  // aid users wishing to compile several versions
-
-// This header implements separate compilation features as described in
-// http://www.boost.org/more/separate_compilation.html
-
-#include <boost/config.hpp>
-#include <boost/system/api_config.hpp>  // for BOOST_POSIX_API or BOOST_WINDOWS_API
-#include <boost/detail/workaround.hpp> 
-
-//  BOOST_FILESYSTEM_DEPRECATED needed for source compiles -----------------------------//
-
-# ifdef BOOST_FILESYSTEM_SOURCE
-#   define BOOST_FILESYSTEM_DEPRECATED
-# endif
-
-//  throw an exception  ----------------------------------------------------------------//
-//
-//  Exceptions were originally thrown via boost::throw_exception().
-//  As throw_exception() became more complex, it caused user error reporting
-//  to be harder to interpret, since the exception reported became much more complex.
-//  The immediate fix was to throw directly, wrapped in a macro to make any later change
-//  easier.
-
-#define BOOST_FILESYSTEM_THROW(EX) throw EX
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-//  enable dynamic linking -------------------------------------------------------------//
-
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)
-# if defined(BOOST_FILESYSTEM_SOURCE)
-#   define BOOST_FILESYSTEM_DECL BOOST_SYMBOL_EXPORT
-# else 
-#   define BOOST_FILESYSTEM_DECL BOOST_SYMBOL_IMPORT
-# endif
-#else
-# define BOOST_FILESYSTEM_DECL
-#endif
-
-//  enable automatic library variant selection  ----------------------------------------// 
-
-#if !defined(BOOST_FILESYSTEM_SOURCE) && !defined(BOOST_ALL_NO_LIB) \
-  && !defined(BOOST_FILESYSTEM_NO_LIB)
-//
-// Set the name of our library, this will get undef'ed by auto_link.hpp
-// once it's done with it:
-//
-#define BOOST_LIB_NAME boost_filesystem
-//
-// If we're importing code from a dll, then tell auto_link.hpp about it:
-//
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)
-#  define BOOST_DYN_LINK
-#endif
-//
-// And include the header that does the work:
-//
-#include <boost/config/auto_link.hpp>
-#endif  // auto-linking disabled
-
-#endif // BOOST_FILESYSTEM3_CONFIG_HPP
diff --git a/SRC/Boost/boost/filesystem/v3/convenience.hpp b/SRC/Boost/boost/filesystem/v3/convenience.hpp
deleted file mode 100755
index f682611..0000000
--- a/SRC/Boost/boost/filesystem/v3/convenience.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//  boost/filesystem/convenience.hpp  ----------------------------------------//
-
-//  Copyright Beman Dawes, 2002-2005
-//  Copyright Vladimir Prus, 2002
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//----------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM3_CONVENIENCE_HPP
-#define BOOST_FILESYSTEM3_CONVENIENCE_HPP
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-#include <boost/filesystem/v3/operations.hpp>
-#include <boost/system/error_code.hpp>
-
-#include <boost/config/abi_prefix.hpp> // must be the last #include
-
-namespace boost
-{
-  namespace filesystem3
-  {
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-
-    inline std::string extension(const path & p)
-    {
-      return p.extension().string();
-    }
-
-    inline std::string basename(const path & p)
-    {
-      return p.stem().string();
-    }
-
-    inline path change_extension( const path & p, const path & new_extension )
-    { 
-      path new_p( p );
-      new_p.replace_extension( new_extension );
-      return new_p;
-    }
-
-# endif
-
-
-  } // namespace filesystem3
-} // namespace boost
-
-//----------------------------------------------------------------------------//
-
-namespace boost
-{
-  namespace filesystem
-  {
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    using filesystem3::extension;
-    using filesystem3::basename;
-    using filesystem3::change_extension;
-# endif
-  }
-}
-
-//----------------------------------------------------------------------------//
-
-#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-#endif // BOOST_FILESYSTEM3_CONVENIENCE_HPP
diff --git a/SRC/Boost/boost/filesystem/v3/fstream.hpp b/SRC/Boost/boost/filesystem/v3/fstream.hpp
deleted file mode 100755
index e8be906..0000000
--- a/SRC/Boost/boost/filesystem/v3/fstream.hpp
+++ /dev/null
@@ -1,208 +0,0 @@
-//  boost/filesystem/fstream.hpp  ------------------------------------------------------//
-
-//  Copyright Beman Dawes 2002
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------// 
-
-#ifndef BOOST_FILESYSTEM3_FSTREAM_HPP
-#define BOOST_FILESYSTEM3_FSTREAM_HPP
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-#include <boost/filesystem/v3/path.hpp>
-#include <iosfwd>
-#include <fstream>
-
-#include <boost/config/abi_prefix.hpp> // must be the last #include
-
-//  on Windows, except for standard libaries known to have wchar_t overloads for
-//  file stream I/O, use path::string() to get a narrow character c_str()
-#if defined(BOOST_WINDOWS_API) \
-  && (!defined(_CPPLIB_VER) || _CPPLIB_VER < 405 || defined(_STLPORT_VERSION))
-  // !Dinkumware || early Dinkumware || STLPort masquerading as Dinkumware
-# define BOOST_FILESYSTEM_C_STR string().c_str()  // use narrow, since wide not available
-#else  // use the native c_str, which will be narrow on POSIX, wide on Windows
-# define BOOST_FILESYSTEM_C_STR c_str()
-#endif
-
-namespace boost
-{
-namespace filesystem3
-{
-
-//--------------------------------------------------------------------------------------//
-//                                  basic_filebuf                                       //
-//--------------------------------------------------------------------------------------//
-
-  template < class charT, class traits = std::char_traits<charT> >
-  class basic_filebuf : public std::basic_filebuf<charT,traits>
-  {
-  private: // disallow copying
-    basic_filebuf(const basic_filebuf&);
-    const basic_filebuf& operator=(const basic_filebuf&);
-
-  public:
-    basic_filebuf() {}
-    virtual ~basic_filebuf() {}
-
-    basic_filebuf<charT,traits>*
-      open(const path& p, std::ios_base::openmode mode) 
-    {
-      return std::basic_filebuf<charT,traits>::open(p.BOOST_FILESYSTEM_C_STR, mode)
-        ? this : 0;
-    }
-  };
-
-//--------------------------------------------------------------------------------------//
-//                                 basic_ifstream                                       //
-//--------------------------------------------------------------------------------------//
-
-  template < class charT, class traits = std::char_traits<charT> >
-  class basic_ifstream : public std::basic_ifstream<charT,traits>
-  {
-  private: // disallow copying
-    basic_ifstream(const basic_ifstream&);
-    const basic_ifstream& operator=(const basic_ifstream&);
-
-  public:
-    basic_ifstream() {}
-
-    // use two signatures, rather than one signature with default second
-    // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)
-
-    explicit basic_ifstream(const path& p)
-      : std::basic_ifstream<charT,traits>(p.BOOST_FILESYSTEM_C_STR, std::ios_base::in) {}
-
-    basic_ifstream(const path& p, std::ios_base::openmode mode)
-      : std::basic_ifstream<charT,traits>(p.BOOST_FILESYSTEM_C_STR, mode) {}
-
-    void open(const path& p)
-      { std::basic_ifstream<charT,traits>::open(p.BOOST_FILESYSTEM_C_STR, std::ios_base::in); }
-
-    void open(const path& p, std::ios_base::openmode mode)
-      { std::basic_ifstream<charT,traits>::open(p.BOOST_FILESYSTEM_C_STR, mode); }
-
-    virtual ~basic_ifstream() {}
-  };
-
-//--------------------------------------------------------------------------------------//
-//                                 basic_ofstream                                       //
-//--------------------------------------------------------------------------------------//
-
-  template < class charT, class traits = std::char_traits<charT> >
-  class basic_ofstream : public std::basic_ofstream<charT,traits>
-  {
-  private: // disallow copying
-    basic_ofstream(const basic_ofstream&);
-    const basic_ofstream& operator=(const basic_ofstream&);
-
-  public:
-    basic_ofstream() {}
-
-    // use two signatures, rather than one signature with default second
-    // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)
-
-    explicit basic_ofstream(const path& p)
-      : std::basic_ofstream<charT,traits>(p.BOOST_FILESYSTEM_C_STR, std::ios_base::out) {}
-
-    basic_ofstream(const path& p, std::ios_base::openmode mode)
-      : std::basic_ofstream<charT,traits>(p.BOOST_FILESYSTEM_C_STR, mode) {}
-
-    void open(const path& p)
-      { std::basic_ofstream<charT,traits>::open(p.BOOST_FILESYSTEM_C_STR, std::ios_base::out); }
-
-    void open(const path& p, std::ios_base::openmode mode)
-      { std::basic_ofstream<charT,traits>::open(p.BOOST_FILESYSTEM_C_STR, mode); }
-
-    virtual ~basic_ofstream() {}
-  };
-
-//--------------------------------------------------------------------------------------//
-//                                  basic_fstream                                       //
-//--------------------------------------------------------------------------------------//
-
-  template < class charT, class traits = std::char_traits<charT> >
-  class basic_fstream : public std::basic_fstream<charT,traits>
-  {
-  private: // disallow copying
-    basic_fstream(const basic_fstream&);
-    const basic_fstream & operator=(const basic_fstream&);
-
-  public:
-    basic_fstream() {}
-
-    // use two signatures, rather than one signature with default second
-    // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)
-
-    explicit basic_fstream(const path& p)
-      : std::basic_fstream<charT,traits>(p.BOOST_FILESYSTEM_C_STR,
-          std::ios_base::in | std::ios_base::out) {}
-
-    basic_fstream(const path& p, std::ios_base::openmode mode)
-      : std::basic_fstream<charT,traits>(p.BOOST_FILESYSTEM_C_STR, mode) {}
-
-    void open(const path& p)
-      { std::basic_fstream<charT,traits>::open(p.BOOST_FILESYSTEM_C_STR,
-          std::ios_base::in | std::ios_base::out); }
-
-    void open(const path& p, std::ios_base::openmode mode)
-      { std::basic_fstream<charT,traits>::open(p.BOOST_FILESYSTEM_C_STR, mode); }
-
-    virtual ~basic_fstream() {}
-
-  };
-
-//--------------------------------------------------------------------------------------//
-//                                    typedefs                                          //
-//--------------------------------------------------------------------------------------//
-
-  typedef basic_filebuf<char> filebuf;
-  typedef basic_ifstream<char> ifstream;
-  typedef basic_ofstream<char> ofstream;
-  typedef basic_fstream<char> fstream;
-
-  typedef basic_filebuf<wchar_t> wfilebuf;
-  typedef basic_ifstream<wchar_t> wifstream;
-  typedef basic_ofstream<wchar_t> wofstream;
-  typedef basic_fstream<wchar_t> wfstream;
-  
-} // namespace filesystem3
-} // namespace boost
-
-//----------------------------------------------------------------------------//
-
-namespace boost
-{
-  namespace filesystem
-  {
-    using filesystem3::filebuf;
-    using filesystem3::ifstream;
-    using filesystem3::ofstream;
-    using filesystem3::fstream;
-    using filesystem3::wfilebuf;
-    using filesystem3::wifstream;
-    using filesystem3::wfstream;
-    using filesystem3::wofstream;
-    using filesystem3::basic_filebuf;
-    using filesystem3::basic_ifstream;
-    using filesystem3::basic_ofstream;
-    using filesystem3::basic_fstream;
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-# endif
-  }
-}
-
-//----------------------------------------------------------------------------//
-
-#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-#endif  // BOOST_FILESYSTEM3_FSTREAM_HPP
diff --git a/SRC/Boost/boost/filesystem/v3/operations.hpp b/SRC/Boost/boost/filesystem/v3/operations.hpp
deleted file mode 100755
index 3cfd7d0..0000000
--- a/SRC/Boost/boost/filesystem/v3/operations.hpp
+++ /dev/null
@@ -1,1073 +0,0 @@
-//  boost/filesystem/operations.hpp  ---------------------------------------------------//
-
-//  Copyright Beman Dawes 2002-2009
-//  Copyright Jan Langer 2002
-//  Copyright Dietmar Kuehl 2001                                        
-//  Copyright Vladimir Prus 2002
-   
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------//
-
-#ifndef BOOST_FILESYSTEM3_OPERATIONS_HPP
-#define BOOST_FILESYSTEM3_OPERATIONS_HPP
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-#include <boost/filesystem/v3/config.hpp>
-#include <boost/filesystem/v3/path.hpp>
-
-#include <boost/detail/scoped_enum_emulation.hpp>
-#include <boost/detail/bitmask.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/system/system_error.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/iterator.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/assert.hpp>
-
-#include <string>
-#include <utility> // for pair
-#include <ctime>
-#include <vector>
-#include <stack>
-
-#ifdef BOOST_WINDOWS_API
-#  include <fstream>
-#endif
-
-#include <boost/config/abi_prefix.hpp> // must be the last #include
-
-//--------------------------------------------------------------------------------------//
-
-namespace boost
-{
-  namespace filesystem3
-  {
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                            support classes and enums                                 //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-  enum file_type
-  { 
-    status_error,
-#   ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    status_unknown = status_error,
-#   endif
-    file_not_found,
-    regular_file,
-    directory_file,
-    // the following may not apply to some operating systems or file systems
-    symlink_file,
-    block_file,
-    character_file,
-    fifo_file,
-    socket_file,
-    reparse_file,  // Windows: FILE_ATTRIBUTE_REPARSE_POINT that is not a symlink
-    type_unknown,  // file does exist, but isn't one of the above types or
-                   // we don't have strong enough permission to find its type
-
-    _detail_directory_symlink  // internal use only; never exposed to users
-  };
-
-  class BOOST_FILESYSTEM_DECL file_status
-  {
-  public:
-    file_status() : m_value(status_error) {}
-    explicit file_status(file_type v) : m_value(v) {}
-
-    void type(file_type v)    { m_value = v; }
-    file_type type() const    { return m_value; }
-
-    bool operator==(const file_status& rhs) const { return type() == rhs.type(); }
-    bool operator!=(const file_status& rhs) const { return !(*this == rhs); }
-
-  private:
-    // the internal representation is unspecified so that additional state
-    // information such as permissions can be added in the future; this
-    // implementation just uses file_type as the internal representation
-
-    file_type m_value;
-  };
-
-  inline bool status_known(file_status f) { return f.type() != status_error; }
-  inline bool exists(file_status f)       { return f.type() != status_error
-                                                && f.type() != file_not_found; }
-  inline bool is_regular_file(file_status f){ return f.type() == regular_file; }
-  inline bool is_directory(file_status f) { return f.type() == directory_file; }
-  inline bool is_symlink(file_status f)   { return f.type() == symlink_file; }
-  inline bool is_other(file_status f)     { return exists(f) && !is_regular_file(f)
-                                                && !is_directory(f) && !is_symlink(f); }
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-  inline bool is_regular(file_status f)   { return f.type() == regular_file; }
-# endif
-
-  struct space_info
-  {
-    // all values are byte counts
-    boost::uintmax_t capacity;
-    boost::uintmax_t free;      // <= capacity
-    boost::uintmax_t available; // <= free
-  };
-
-  BOOST_SCOPED_ENUM_START(copy_option)
-    {none, fail_if_exists = none, overwrite_if_exists};
-  BOOST_SCOPED_ENUM_END
-
-//--------------------------------------------------------------------------------------//
-//                             implementation details                                   //
-//--------------------------------------------------------------------------------------//
-
-  namespace detail
-  {
-    BOOST_FILESYSTEM_DECL
-    file_status status(const path&p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    file_status symlink_status(const path& p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    bool is_empty(const path& p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    path initial_path(system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    path canonical(const path& p, const path& base, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    void copy(const path& from, const path& to, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    void copy_directory(const path& from, const path& to, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    void copy_file(const path& from, const path& to,
-                    BOOST_SCOPED_ENUM(copy_option) option,  // See ticket #2925
-                    system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    void copy_symlink(const path& existing_symlink, const path& new_symlink, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    bool create_directories(const path& p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    bool create_directory(const path& p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    void create_directory_symlink(const path& to, const path& from,
-                                   system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    void create_hard_link(const path& to, const path& from, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    void create_symlink(const path& to, const path& from, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    path current_path(system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    void current_path(const path& p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    bool equivalent(const path& p1, const path& p2, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    boost::uintmax_t file_size(const path& p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    boost::uintmax_t hard_link_count(const path& p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    std::time_t last_write_time(const path& p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    void last_write_time(const path& p, const std::time_t new_time,
-                     system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    path read_symlink(const path& p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-      // For standardization, if the committee doesn't like "remove", consider "eliminate"
-    bool remove(const path& p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    boost::uintmax_t remove_all(const path& p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    void rename(const path& old_p, const path& new_p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    void resize_file(const path& p, uintmax_t size, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    space_info space(const path& p, system::error_code* ec=0); 
-    BOOST_FILESYSTEM_DECL
-    path system_complete(const path& p, system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    path temp_directory_path(system::error_code* ec=0);
-    BOOST_FILESYSTEM_DECL
-    path unique_path(const path& p, system::error_code* ec=0);
-  }  // namespace detail
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                             status query functions                                   //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-  inline
-  file_status status(const path& p)    {return detail::status(p);}
-  inline 
-  file_status status(const path& p, system::error_code& ec)
-                                       {return detail::status(p, &ec);}
-  inline 
-  file_status symlink_status(const path& p) {return detail::symlink_status(p);}
-  inline
-  file_status symlink_status(const path& p, system::error_code& ec)
-                                       {return detail::symlink_status(p, &ec);}
-  inline 
-  bool exists(const path& p)           {return exists(detail::status(p));}
-  inline 
-  bool exists(const path& p, system::error_code& ec)
-                                       {return exists(detail::status(p, &ec));}
-  inline 
-  bool is_directory(const path& p)     {return is_directory(detail::status(p));}
-  inline 
-  bool is_directory(const path& p, system::error_code& ec)
-                                       {return is_directory(detail::status(p, &ec));}
-  inline 
-  bool is_regular_file(const path& p)  {return is_regular_file(detail::status(p));}
-  inline 
-  bool is_regular_file(const path& p, system::error_code& ec)
-                                       {return is_regular_file(detail::status(p, &ec));}
-  inline 
-  bool is_other(const path& p)         {return is_other(detail::status(p));}
-  inline 
-  bool is_other(const path& p, system::error_code& ec)
-                                       {return is_other(detail::status(p, &ec));}
-  inline
-  bool is_symlink(const path& p)       {return is_symlink(detail::symlink_status(p));}
-  inline 
-  bool is_symlink(const path& p, system::error_code& ec)
-                                       {return is_symlink(detail::symlink_status(p, &ec));}
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-  inline
-  bool is_regular(const path& p)       {return is_regular(detail::status(p));}
-  inline
-  bool is_regular(const path& p, system::error_code& ec)
-                                       {return is_regular(detail::status(p, &ec));}
-# endif
-
-  inline
-  bool is_empty(const path& p)         {return detail::is_empty(p);}
-  inline
-  bool is_empty(const path& p, system::error_code& ec)
-                                       {return detail::is_empty(p, &ec);}
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                             operational functions                                    //
-//                  in alphabetical order, unless otherwise noted                       //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
- 
-  //  forward declarations
-  path current_path();  // fwd declaration
-  path initial_path();
-
-  BOOST_FILESYSTEM_DECL
-  path absolute(const path& p, const path& base=current_path());
-  //  If base.is_absolute(), throws nothing. Thus no need for ec argument
-
-  inline
-  path canonical(const path& p, const path& base=current_path())
-                                       {return detail::canonical(p, base);}
-  inline
-  path canonical(const path& p, system::error_code& ec)
-                                       {return detail::canonical(p, current_path(), &ec);}
-  inline
-  path canonical(const path& p, const path& base, system::error_code& ec)
-                                       {return detail::canonical(p, base, &ec);}
-
- # ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-  inline
-  path complete(const path& p)
-  {
-    return absolute(p, initial_path());
-  }
-
-  inline
-  path complete(const path& p, const path& base)
-  {
-    return absolute(p, base);
-  }
-# endif
-
-  inline
-  void copy(const path& from, const path& to) {detail::copy(from, to);}
-
-  inline
-  void copy(const path& from, const path& to, system::error_code& ec) 
-                                       {detail::copy(from, to, &ec);}
-  inline
-  void copy_directory(const path& from, const path& to)
-                                       {detail::copy_directory(from, to);}
-  inline
-  void copy_directory(const path& from, const path& to, system::error_code& ec)
-                                       {detail::copy_directory(from, to, &ec);}
-  inline
-  void copy_file(const path& from, const path& to,   // See ticket #2925
-                 BOOST_SCOPED_ENUM(copy_option) option)
-                                       {detail::copy_file(from, to, option);}
-  inline
-  void copy_file(const path& from, const path& to)
-                                       {detail::copy_file(from, to, copy_option::fail_if_exists);}
-  inline
-  void copy_file(const path& from, const path& to,   // See ticket #2925
-                 BOOST_SCOPED_ENUM(copy_option) option, system::error_code& ec)
-                                       {detail::copy_file(from, to, option, &ec);}
-  inline
-  void copy_file(const path& from, const path& to, system::error_code& ec)
-                                       {detail::copy_file(from, to, copy_option::fail_if_exists, &ec);}
-  inline
-  void copy_symlink(const path& existing_symlink, const path& new_symlink) {detail::copy_symlink(existing_symlink, new_symlink);}
-
-  inline
-  void copy_symlink(const path& existing_symlink, const path& new_symlink, system::error_code& ec)
-                                       {detail::copy_symlink(existing_symlink, new_symlink, &ec);}
-  inline
-  bool create_directories(const path& p) {return detail::create_directories(p);}
-
-  inline
-  bool create_directories(const path& p, system::error_code& ec)
-                                       {return detail::create_directories(p, &ec);}
-  inline
-  bool create_directory(const path& p) {return detail::create_directory(p);}
-
-  inline
-  bool create_directory(const path& p, system::error_code& ec)
-                                       {return detail::create_directory(p, &ec);}
-  inline
-  void create_directory_symlink(const path& to, const path& from)
-                                       {detail::create_directory_symlink(to, from);}
-  inline
-  void create_directory_symlink(const path& to, const path& from, system::error_code& ec)
-                                       {detail::create_directory_symlink(to, from, &ec);}
-  inline
-  void create_hard_link(const path& to, const path& new_hard_link) {detail::create_hard_link(to, new_hard_link);}
-
-  inline
-  void create_hard_link(const path& to, const path& new_hard_link, system::error_code& ec)
-                                       {detail::create_hard_link(to, new_hard_link, &ec);}
-  inline
-  void create_symlink(const path& to, const path& new_symlink) {detail::create_symlink(to, new_symlink);}
-
-  inline
-  void create_symlink(const path& to, const path& new_symlink, system::error_code& ec)
-                                       {detail::create_symlink(to, new_symlink, &ec);}
-  inline
-  path current_path()                  {return detail::current_path();}
-
-  inline
-  path current_path(system::error_code& ec) {return detail::current_path(&ec);}
-
-  inline
-  void current_path(const path& p)     {detail::current_path(p);}
-
-  inline
-  void current_path(const path& p, system::error_code& ec) {detail::current_path(p, &ec);}
-
-  inline
-  bool equivalent(const path& p1, const path& p2) {return detail::equivalent(p1, p2);}
-
-  inline
-  bool equivalent(const path& p1, const path& p2, system::error_code& ec)
-                                       {return detail::equivalent(p1, p2, &ec);}
-  inline
-  boost::uintmax_t file_size(const path& p) {return detail::file_size(p);}
-
-  inline
-  boost::uintmax_t file_size(const path& p, system::error_code& ec)
-                                       {return detail::file_size(p, &ec);}
-  inline
-  boost::uintmax_t hard_link_count(const path& p) {return detail::hard_link_count(p);}
-
-  inline
-  boost::uintmax_t hard_link_count(const path& p, system::error_code& ec)
-                                       {return detail::hard_link_count(p, &ec);}
-  inline
-  path initial_path()                  {return detail::initial_path();}
-
-  inline
-  path initial_path(system::error_code& ec) {return detail::initial_path(&ec);}
-
-  template <class Path>
-  path initial_path() {return initial_path();}
-  template <class Path>
-  path initial_path(system::error_code& ec) {return detail::initial_path(&ec);}
-
-  inline
-  std::time_t last_write_time(const path& p) {return detail::last_write_time(p);}
-
-  inline
-  std::time_t last_write_time(const path& p, system::error_code& ec)
-                                       {return detail::last_write_time(p, &ec);}
-  inline
-  void last_write_time(const path& p, const std::time_t new_time)
-                                       {detail::last_write_time(p, new_time);}
-  inline
-  void last_write_time(const path& p, const std::time_t new_time, system::error_code& ec)
-                                       {detail::last_write_time(p, new_time, &ec);}
-  inline
-  path read_symlink(const path& p)     {return detail::read_symlink(p);}
-
-  inline
-  path read_symlink(const path& p, system::error_code& ec)
-                                       {return detail::read_symlink(p, &ec);}
-  inline
-    // For standardization, if the committee doesn't like "remove", consider "eliminate"
-  bool remove(const path& p)           {return detail::remove(p);}
-
-  inline
-  bool remove(const path& p, system::error_code& ec) {return detail::remove(p, &ec);}
-
-  inline
-  boost::uintmax_t remove_all(const path& p) {return detail::remove_all(p);}
-    
-  inline
-  boost::uintmax_t remove_all(const path& p, system::error_code& ec)
-                                       {return detail::remove_all(p, &ec);}
-  inline
-  void rename(const path& old_p, const path& new_p) {detail::rename(old_p, new_p);}
-
-  inline
-  void rename(const path& old_p, const path& new_p, system::error_code& ec)
-                                       {detail::rename(old_p, new_p, &ec);}
-  inline  // name suggested by Scott McMurray
-  void resize_file(const path& p, uintmax_t size) {detail::resize_file(p, size);}
-
-  inline
-  void resize_file(const path& p, uintmax_t size, system::error_code& ec)
-                                       {detail::resize_file(p, size, &ec);}
-  inline
-  space_info space(const path& p)      {return detail::space(p);} 
-
-  inline
-  space_info space(const path& p, system::error_code& ec) {return detail::space(p, &ec);} 
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-  inline bool symbolic_link_exists(const path& p)
-                                       { return is_symlink(symlink_status(p)); }
-# endif
-
-  inline
-  path system_complete(const path& p)  {return detail::system_complete(p);}
-
-  inline
-  path system_complete(const path& p, system::error_code& ec)
-                                       {return detail::system_complete(p, &ec);}
-  inline
-  path temp_directory_path()           {return detail::temp_directory_path();}
-
-  inline
-  path temp_directory_path(system::error_code& ec) 
-                                       {return detail::temp_directory_path(&ec);}
-  inline
-  path unique_path(const path& p="%%%%-%%%%-%%%%-%%%%")
-                                       { return detail::unique_path(p); }
-  inline
-  path unique_path(const path& p, system::error_code& ec)
-                                       { return detail::unique_path(p, &ec); }
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                                 directory_entry                                      //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-//  GCC has a problem with a member function named path within a namespace or 
-//  sub-namespace that also has a class named path. The workaround is to always
-//  fully qualify the name path when it refers to the class name.
-
-class BOOST_FILESYSTEM_DECL directory_entry
-{
-public:
-
-  // compiler generated copy constructor, copy assignment, and destructor apply
-
-  directory_entry() {}
-  explicit directory_entry(const boost::filesystem::path& p,
-    file_status st = file_status(), file_status symlink_st=file_status())
-    : m_path(p), m_status(st), m_symlink_status(symlink_st)
-    {}
-
-  void assign(const boost::filesystem::path& p,
-    file_status st = file_status(), file_status symlink_st = file_status())
-    { m_path = p; m_status = st; m_symlink_status = symlink_st; }
-
-  void replace_filename(const boost::filesystem::path& p,
-    file_status st = file_status(), file_status symlink_st = file_status())
-  {
-    m_path.remove_filename();
-    m_path /= p;
-    m_status = st;
-    m_symlink_status = symlink_st;
-  }
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-  void replace_leaf(const boost::filesystem::path& p,
-    file_status st, file_status symlink_st)
-      { replace_filename(p, st, symlink_st); }
-# endif
-
-  const boost::filesystem::path&  path() const               {return m_path;}
-  file_status   status() const                               {return m_get_status();}
-  file_status   status(system::error_code& ec) const         {return m_get_status(&ec);}
-  file_status   symlink_status() const                       {return m_get_symlink_status();}
-  file_status   symlink_status(system::error_code& ec) const {return m_get_symlink_status(&ec);}
-
-  bool operator==(const directory_entry& rhs) {return m_path == rhs.m_path;} 
-  bool operator!=(const directory_entry& rhs) {return m_path != rhs.m_path;} 
-  bool operator< (const directory_entry& rhs) {return m_path < rhs.m_path;} 
-  bool operator<=(const directory_entry& rhs) {return m_path <= rhs.m_path;} 
-  bool operator> (const directory_entry& rhs) {return m_path > rhs.m_path;} 
-  bool operator>=(const directory_entry& rhs) {return m_path >= rhs.m_path;} 
-
-private:
-  boost::filesystem::path   m_path;
-  mutable file_status       m_status;           // stat()-like
-  mutable file_status       m_symlink_status;   // lstat()-like
-
-  file_status m_get_status(system::error_code* ec=0) const;
-  file_status m_get_symlink_status(system::error_code* ec=0) const;
-}; // directory_entry
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                            directory_iterator helpers                                //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-class directory_iterator;
-
-namespace detail
-{
-  BOOST_FILESYSTEM_DECL
-    system::error_code dir_itr_close(// never throws()
-    void *& handle
-#   if     defined(BOOST_POSIX_API)
-    , void *& buffer
-#   endif
-  ); 
-
-  struct dir_itr_imp
-  {
-    directory_entry  dir_entry;
-    void*            handle;
-
-#   ifdef BOOST_POSIX_API
-    void*            buffer;  // see dir_itr_increment implementation
-#   endif
-
-    dir_itr_imp() : handle(0)
-#   ifdef BOOST_POSIX_API
-      , buffer(0)
-#   endif
-    {}
-
-    ~dir_itr_imp() // never throws
-    {
-      dir_itr_close(handle
-#       if defined(BOOST_POSIX_API)
-         , buffer
-#       endif
-    );
-    }
-  };
-
-  // see path::iterator: comment below
-  BOOST_FILESYSTEM_DECL void directory_iterator_construct(directory_iterator& it,
-    const path& p, system::error_code* ec);
-  BOOST_FILESYSTEM_DECL void directory_iterator_increment(directory_iterator& it,
-    system::error_code* ec);
-
-}  // namespace detail
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                                directory_iterator                                    //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-  class directory_iterator
-    : public boost::iterator_facade< directory_iterator,
-                                     directory_entry,
-                                     boost::single_pass_traversal_tag >
-  {
-  public:
-
-    directory_iterator(){}  // creates the "end" iterator
-
-    // iterator_facade derived classes don't seem to like implementations in
-    // separate translation unit dll's, so forward to detail functions
-    explicit directory_iterator(const path& p)
-        : m_imp(new detail::dir_itr_imp)
-          { detail::directory_iterator_construct(*this, p, 0); }
-
-    directory_iterator(const path& p, system::error_code& ec)
-        : m_imp(new detail::dir_itr_imp)
-          { detail::directory_iterator_construct(*this, p, &ec); }
-
-   ~directory_iterator() {} // never throws
-
-    directory_iterator& increment(system::error_code& ec)
-    { 
-      detail::directory_iterator_increment(*this, &ec);
-      return *this;
-    }
-
-  private:
-    friend struct detail::dir_itr_imp;
-    friend BOOST_FILESYSTEM_DECL void detail::directory_iterator_construct(directory_iterator& it,
-      const path& p, system::error_code* ec);
-    friend BOOST_FILESYSTEM_DECL void detail::directory_iterator_increment(directory_iterator& it,
-      system::error_code* ec);
-
-    // shared_ptr provides shallow-copy semantics required for InputIterators.
-    // m_imp.get()==0 indicates the end iterator.
-    boost::shared_ptr< detail::dir_itr_imp >  m_imp;
-
-    friend class boost::iterator_core_access;
-
-    boost::iterator_facade<
-      directory_iterator,
-      directory_entry,
-      boost::single_pass_traversal_tag >::reference dereference() const 
-    {
-      BOOST_ASSERT_MSG(m_imp.get(), "attempt to dereference end iterator");
-      return m_imp->dir_entry;
-    }
-
-    void increment() { detail::directory_iterator_increment(*this, 0); }
-
-    bool equal(const directory_iterator& rhs) const
-      { return m_imp == rhs.m_imp; }
-  };
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                      recursive_directory_iterator helpers                            //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-  BOOST_SCOPED_ENUM_START(symlink_option)
-  {
-    none,
-    no_recurse = none,         // don't follow directory symlinks (default behavior)
-    recurse,                   // follow directory symlinks
-    _detail_no_push = recurse << 1  // internal use only
-  };
-  BOOST_SCOPED_ENUM_END
-
-  BOOST_BITMASK(BOOST_SCOPED_ENUM(symlink_option))
-
-  namespace detail
-  {
-    struct recur_dir_itr_imp
-    {
-      typedef directory_iterator element_type;
-      std::stack< element_type, std::vector< element_type > > m_stack;
-      int  m_level;
-      BOOST_SCOPED_ENUM(symlink_option) m_options;
-
-      recur_dir_itr_imp() : m_level(0), m_options(symlink_option::none) {}
-
-      void increment(system::error_code* ec);  // ec == 0 means throw on error
-
-      void pop();
-
-    };
-
-    //  Implementation is inline to avoid dynamic linking difficulties with m_stack:
-    //  Microsoft warning C4251, m_stack needs to have dll-interface to be used by
-    //  clients of struct 'boost::filesystem::detail::recur_dir_itr_imp'
-
-    inline
-    void recur_dir_itr_imp::increment(system::error_code* ec)
-    // ec == 0 means throw on error
-    {
-      if ((m_options & symlink_option::_detail_no_push) == symlink_option::_detail_no_push)
-        m_options &= ~symlink_option::_detail_no_push;
-      else if (is_directory(m_stack.top()->status())
-        && (!is_symlink(m_stack.top()->symlink_status())
-            || (m_options & symlink_option::recurse) == symlink_option::recurse))
-      {
-        if (ec == 0)
-          m_stack.push(directory_iterator(m_stack.top()->path()));
-        else
-        {
-          m_stack.push(directory_iterator(m_stack.top()->path(), *ec));
-          if (*ec) return;
-        }
-        if (m_stack.top() != directory_iterator())
-        {
-          ++m_level;
-          return;
-        }
-        m_stack.pop();
-      }
-
-      while (!m_stack.empty() && ++m_stack.top() == directory_iterator())
-      {
-        m_stack.pop();
-        --m_level;
-      }
-    }
-
-    inline
-    void recur_dir_itr_imp::pop()
-    {
-      BOOST_ASSERT_MSG(m_level > 0,
-        "pop() on recursive_directory_iterator with level < 1");
-
-      do
-      {
-        m_stack.pop();
-        --m_level;
-      }
-      while (!m_stack.empty() && ++m_stack.top() == directory_iterator());
-    }
-  } // namespace detail
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                           recursive_directory_iterator                               //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-  class recursive_directory_iterator
-    : public boost::iterator_facade<
-        recursive_directory_iterator,
-        directory_entry,
-        boost::single_pass_traversal_tag >
-  {
-  public:
-
-    recursive_directory_iterator(){}  // creates the "end" iterator
-
-    explicit recursive_directory_iterator(const path& dir_path,
-      BOOST_SCOPED_ENUM(symlink_option) opt = symlink_option::none)
-      : m_imp(new detail::recur_dir_itr_imp)
-    {
-      m_imp->m_options = opt;
-      m_imp->m_stack.push(directory_iterator(dir_path));
-      if (m_imp->m_stack.top() == directory_iterator())
-        { m_imp.reset (); }
-    }
-
-    recursive_directory_iterator(const path& dir_path,
-      BOOST_SCOPED_ENUM(symlink_option) opt,
-      system::error_code & ec)
-    : m_imp(new detail::recur_dir_itr_imp)
-    {
-      m_imp->m_options = opt;
-      m_imp->m_stack.push(directory_iterator(dir_path, ec));
-      if (m_imp->m_stack.top() == directory_iterator())
-        { m_imp.reset (); }
-    }
-
-    recursive_directory_iterator(const path& dir_path,
-      system::error_code & ec)
-    : m_imp(new detail::recur_dir_itr_imp)
-    {
-      m_imp->m_options = symlink_option::none;
-      m_imp->m_stack.push(directory_iterator(dir_path, ec));
-      if (m_imp->m_stack.top() == directory_iterator())
-        { m_imp.reset (); }
-    }
-
-    recursive_directory_iterator& increment(system::error_code& ec)
-    {
-      BOOST_ASSERT_MSG(m_imp.get(),
-        "increment() on end recursive_directory_iterator");
-      m_imp->increment(&ec);
-      return *this;
-    }
-
-    int level() const
-    { 
-      BOOST_ASSERT_MSG(m_imp.get(),
-        "level() on end recursive_directory_iterator");
-      return m_imp->m_level;
-    }
-
-    bool no_push_pending() const
-    {
-      BOOST_ASSERT_MSG(m_imp.get(),
-        "is_no_push_requested() on end recursive_directory_iterator");
-      return (m_imp->m_options & symlink_option::_detail_no_push)
-        == symlink_option::_detail_no_push;
-    }
-
-#   ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    bool no_push_request() const { return no_push_pending(); }
-#   endif
-
-    void pop()
-    { 
-      BOOST_ASSERT_MSG(m_imp.get(),
-        "pop() on end recursive_directory_iterator");
-      m_imp->pop();
-      if (m_imp->m_stack.empty()) m_imp.reset(); // done, so make end iterator
-    }
-
-    void no_push(bool value=true)
-    {
-      BOOST_ASSERT_MSG(m_imp.get(),
-        "no_push() on end recursive_directory_iterator");
-      if (value)
-        m_imp->m_options |= symlink_option::_detail_no_push;
-      else
-        m_imp->m_options &= ~symlink_option::_detail_no_push;
-    }
-
-    file_status status() const
-    {
-      BOOST_ASSERT_MSG(m_imp.get(),
-        "status() on end recursive_directory_iterator");
-      return m_imp->m_stack.top()->status();
-    }
-
-    file_status symlink_status() const
-    {
-      BOOST_ASSERT_MSG(m_imp.get(),
-        "symlink_status() on end recursive_directory_iterator");
-      return m_imp->m_stack.top()->symlink_status();
-    }
-
-  private:
-
-    // shared_ptr provides shallow-copy semantics required for InputIterators.
-    // m_imp.get()==0 indicates the end iterator.
-    boost::shared_ptr< detail::recur_dir_itr_imp >  m_imp;
-
-    friend class boost::iterator_core_access;
-
-    boost::iterator_facade< 
-      recursive_directory_iterator,
-      directory_entry,
-      boost::single_pass_traversal_tag >::reference
-    dereference() const 
-    {
-      BOOST_ASSERT_MSG(m_imp.get(),
-        "dereference of end recursive_directory_iterator");
-      return *m_imp->m_stack.top();
-    }
-
-    void increment()
-    { 
-      BOOST_ASSERT_MSG(m_imp.get(),
-        "increment of end recursive_directory_iterator");
-      m_imp->increment(0);
-      if (m_imp->m_stack.empty())
-        m_imp.reset(); // done, so make end iterator
-    }
-
-    bool equal(const recursive_directory_iterator& rhs) const
-      { return m_imp == rhs.m_imp; }
-
-  };
-
-# if !defined(BOOST_FILESYSTEM_NO_DEPRECATED)
-  typedef recursive_directory_iterator wrecursive_directory_iterator;
-# endif
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                            class filesystem_error                                    //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-  
-  class BOOST_SYMBOL_VISIBLE filesystem_error : public system::system_error
-  {
-  // see http://www.boost.org/more/error_handling.html for design rationale
-
-  // all functions are inline to avoid issues with crossing dll boundaries
-
-  public:
-    // compiler generates copy constructor and copy assignment
-
-    filesystem_error(
-      const std::string & what_arg, system::error_code ec)
-      : system::system_error(ec, what_arg)
-    {
-      try
-      {
-        m_imp_ptr.reset(new m_imp);
-      }
-      catch (...) { m_imp_ptr.reset(); }
-    }
-
-    filesystem_error(
-      const std::string & what_arg, const path& path1_arg,
-      system::error_code ec)
-      : system::system_error(ec, what_arg)
-    {
-      try
-      {
-        m_imp_ptr.reset(new m_imp);
-        m_imp_ptr->m_path1 = path1_arg;
-      }
-      catch (...) { m_imp_ptr.reset(); }
-    }
-    
-    filesystem_error(
-      const std::string & what_arg, const path& path1_arg,
-      const path& path2_arg, system::error_code ec)
-      : system::system_error(ec, what_arg)
-    {
-      try
-      {
-        m_imp_ptr.reset(new m_imp);
-        m_imp_ptr->m_path1 = path1_arg;
-        m_imp_ptr->m_path2 = path2_arg;
-      }
-      catch (...) { m_imp_ptr.reset(); }
-    }
-
-    ~filesystem_error() throw() {}
-
-    const path& path1() const
-    {
-      static const path empty_path;
-      return m_imp_ptr.get() ? m_imp_ptr->m_path1 : empty_path ;
-    }
-    const path& path2() const
-    {
-      static const path empty_path;
-      return m_imp_ptr.get() ? m_imp_ptr->m_path2 : empty_path ;
-    }
-
-    const char* what() const throw()
-    {
-      if (!m_imp_ptr.get())
-        return system::system_error::what();
-
-      try
-      {
-        if (m_imp_ptr->m_what.empty())
-        {
-          m_imp_ptr->m_what = system::system_error::what();
-          if (!m_imp_ptr->m_path1.empty())
-          {
-            m_imp_ptr->m_what += ": \"";
-            m_imp_ptr->m_what += m_imp_ptr->m_path1.string();
-            m_imp_ptr->m_what += "\"";
-          }
-          if (!m_imp_ptr->m_path2.empty())
-          {
-            m_imp_ptr->m_what += ", \"";
-            m_imp_ptr->m_what += m_imp_ptr->m_path2.string();
-            m_imp_ptr->m_what += "\"";
-          }
-        }
-        return m_imp_ptr->m_what.c_str();
-      }
-      catch (...)
-      {
-        return system::system_error::what();
-      }
-    }
-
-  private:
-    struct m_imp
-    {
-      path         m_path1; // may be empty()
-      path         m_path2; // may be empty()
-      std::string  m_what;  // not built until needed
-    };
-    boost::shared_ptr<m_imp> m_imp_ptr;
-  };
-
-//  test helper  -----------------------------------------------------------------------//
-
-//  Not part of the documented interface since false positives are possible;
-//  there is no law that says that an OS that has large stat.st_size
-//  actually supports large file sizes.
-
-  namespace detail
-  {
-    BOOST_FILESYSTEM_DECL bool possible_large_file_size_support();
-  }
-
-  } // namespace filesystem3
-} // namespace boost
-
-//----------------------------------------------------------------------------//
-
-namespace boost
-{
-  namespace filesystem
-  {
-    using filesystem3::absolute;
-    using filesystem3::block_file;
-    using filesystem3::canonical;
-    using filesystem3::character_file;
-//    using filesystem3::copy;
-    using filesystem3::copy_file;
-    using filesystem3::copy_option;
-    using filesystem3::copy_symlink;
-    using filesystem3::create_directories;
-    using filesystem3::create_directory;
-    using filesystem3::create_hard_link;
-    using filesystem3::create_symlink;
-    using filesystem3::create_directory_symlink;
-    using filesystem3::current_path;
-    using filesystem3::directory_entry;
-    using filesystem3::directory_file;
-    using filesystem3::directory_iterator;
-    using filesystem3::equivalent;
-    using filesystem3::exists;
-    using filesystem3::fifo_file;
-    using filesystem3::file_not_found;
-    using filesystem3::file_size;
-    using filesystem3::file_status;
-    using filesystem3::file_type;
-    using filesystem3::filesystem_error;
-    using filesystem3::hard_link_count;
-    using filesystem3::initial_path;
-    using filesystem3::is_directory;
-    using filesystem3::is_directory;
-    using filesystem3::is_empty;
-    using filesystem3::is_other;
-    using filesystem3::is_regular_file;
-    using filesystem3::is_symlink;
-    using filesystem3::last_write_time;
-    using filesystem3::read_symlink;
-    using filesystem3::recursive_directory_iterator;
-    using filesystem3::regular_file;
-    using filesystem3::reparse_file;
-    using filesystem3::remove;
-    using filesystem3::remove_all;
-    using filesystem3::rename;
-    using filesystem3::resize_file;
-    using filesystem3::socket_file;
-    using filesystem3::space;
-    using filesystem3::space_info;
-    using filesystem3::status;
-    using filesystem3::status_error;
-    using filesystem3::status_known;
-    using filesystem3::symlink_file;
-    using filesystem3::symlink_option;
-    using filesystem3::symlink_status;
-    using filesystem3::system_complete;
-    using filesystem3::temp_directory_path;
-    using filesystem3::type_unknown;
-    using filesystem3::unique_path;
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    using filesystem3::is_regular;
-    using filesystem3::status_unknown;
-    using filesystem3::symbolic_link_exists;
-    //using filesystem3::wdirectory_iterator;
-    //using filesystem3::wdirectory_entry;
-# endif
-    namespace detail
-    {
-      using filesystem3::detail::possible_large_file_size_support;
-    }
-  }
-}
-
-#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-#endif // BOOST_FILESYSTEM3_OPERATIONS_HPP
diff --git a/SRC/Boost/boost/filesystem/v3/path.hpp b/SRC/Boost/boost/filesystem/v3/path.hpp
deleted file mode 100755
index 978c136..0000000
--- a/SRC/Boost/boost/filesystem/v3/path.hpp
+++ /dev/null
@@ -1,738 +0,0 @@
-//  filesystem path.hpp  ---------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2002-2005, 2009
-//  Copyright Vladimir Prus 2002
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//  path::stem(), extension(), and replace_extension() are based on
-//  basename(), extension(), and change_extension() from the original
-//  filesystem/convenience.hpp header by Vladimir Prus.
-
-#ifndef BOOST_FILESYSTEM_PATH_HPP
-#define BOOST_FILESYSTEM_PATH_HPP
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-#include <boost/filesystem/v3/config.hpp>
-#include <boost/filesystem/v3/path_traits.hpp>  // includes <cwchar>
-#include <boost/system/error_code.hpp>
-#include <boost/system/system_error.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/io/detail/quoted_manip.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/functional/hash_fwd.hpp>
-#include <string>
-#include <iterator>
-#include <cstring>
-#include <iosfwd>
-#include <stdexcept>
-#include <cassert>
-#include <locale>
-#include <algorithm>
-
-#include <boost/config/abi_prefix.hpp> // must be the last #include
-
-namespace boost
-{
-namespace filesystem3
-{
-  //------------------------------------------------------------------------------------//
-  //                                                                                    //
-  //                                    class path                                      //
-  //                                                                                    //
-  //------------------------------------------------------------------------------------//
-
-  class BOOST_FILESYSTEM_DECL path
-  {
-  public:
-
-    //  value_type is the character type used by the operating system API to
-    //  represent paths.
-
-#   ifdef BOOST_WINDOWS_API
-    typedef wchar_t                                     value_type;
-#   else 
-    typedef char                                        value_type;
-#   endif
-    typedef std::basic_string<value_type>               string_type;  
-    typedef std::codecvt<wchar_t, char, std::mbstate_t> codecvt_type;
-
-
-    //  ----- character encoding conversions -----
-
-    //  Following the principle of least astonishment, path input arguments
-    //  passed to or obtained from the operating system via objects of
-    //  class path behave as if they were directly passed to or
-    //  obtained from the O/S API, unless conversion is explicitly requested.
-    //
-    //  POSIX specfies that path strings are passed unchanged to and from the
-    //  API. Note that this is different from the POSIX command line utilities,
-    //  which convert according to a locale.
-    //
-    //  Thus for POSIX, char strings do not undergo conversion.  wchar_t strings
-    //  are converted to/from char using the path locale or, if a conversion
-    //  argument is given, using a conversion object modeled on
-    //  std::wstring_convert.
-    //
-    //  The path locale, which is global to the thread, can be changed by the
-    //  imbue() function. It is initialized to an implementation defined locale.
-    //  
-    //  For Windows, wchar_t strings do not undergo conversion. char strings
-    //  are converted using the "ANSI" or "OEM" code pages, as determined by
-    //  the AreFileApisANSI() function, or, if a conversion argument is given,
-    //  using a conversion object modeled on std::wstring_convert.
-    //
-    //  See m_pathname comments for further important rationale.
-
-    //  TODO: rules needed for operating systems that use / or .
-    //  differently, or format directory paths differently from file paths. 
-    //
-    //  **********************************************************************************
-    //
-    //  More work needed: How to handle an operating system that may have
-    //  slash characters or dot characters in valid filenames, either because
-    //  it doesn't follow the POSIX standard, or because it allows MBCS
-    //  filename encodings that may contain slash or dot characters. For
-    //  example, ISO/IEC 2022 (JIS) encoding which allows switching to
-    //  JIS x0208-1983 encoding. A valid filename in this set of encodings is
-    //  0x1B 0x24 0x42 [switch to X0208-1983] 0x24 0x2F [U+304F Kiragana letter KU]
-    //                                             ^^^^
-    //  Note that 0x2F is the ASCII slash character
-    //
-    //  **********************************************************************************
-
-    //  Supported source arguments: half-open iterator range, container, c-array,
-    //  and single pointer to null terminated string.
-
-    //  All source arguments except pointers to null terminated byte strings support
-    //  multi-byte character strings which may have embedded nulls. Embedded null
-    //  support is required for some Asian languages on Windows.
-
-    //  [defaults] "const codecvt_type& cvt=codecvt()" default arguments are not used
-    //  because some compilers, such as Microsoft prior to VC++ 10, do not handle defaults
-    //  correctly in templates.
-
-    //  -----  constructors  -----
-
-    path(){}                                          
-
-    path(const path& p) : m_pathname(p.m_pathname) {}
-
-    template <class Source>
-    path(Source const& source,
-      typename boost::enable_if<path_traits::is_pathable<
-        typename boost::decay<Source>::type> >::type* =0)
-    {
-      path_traits::dispatch(source, m_pathname, codecvt());
-    }
-
-    //  Overloads for the operating system API's native character type. Rationale:
-    //    - Avoids use of codecvt() for native value_type strings. This limits the
-    //      impact of locale("") initialization failures on POSIX systems to programs
-    //      that actually depend on locale(""). It further ensures that exceptions thrown
-    //      as a result of such failues occur after main() has started, so can be caught.
-    //      This is a partial resolution of tickets 4688, 5100, and 5289.
-    //    - A slight optimization for a common use case, particularly on POSIX since
-    //      value_type is char and that is the most common useage.
-    path(const value_type* s) : m_pathname(s) {}
-    path(const std::basic_string<value_type>& s) : m_pathname(s) {}
-
-    template <class Source>
-    path(Source const& source, const codecvt_type& cvt)
-    //  see [defaults] note above explaining why codecvt() default arguments are not used
-    {
-      path_traits::dispatch(source, m_pathname, cvt);
-    }
-
-    template <class InputIterator>
-    path(InputIterator begin, InputIterator end)
-    { 
-      if (begin != end)
-      {
-        std::basic_string<typename std::iterator_traits<InputIterator>::value_type>
-          s(begin, end);
-        path_traits::convert(s.c_str(), s.c_str()+s.size(), m_pathname, codecvt());
-      }
-    }
-
-    template <class InputIterator>
-    path(InputIterator begin, InputIterator end, const codecvt_type& cvt)
-    { 
-      if (begin != end)
-      {
-        std::basic_string<typename std::iterator_traits<InputIterator>::value_type>
-          s(begin, end);
-        path_traits::convert(s.c_str(), s.c_str()+s.size(), m_pathname, cvt);
-      }
-    }
-
-    //  -----  assignments  -----
-
-    path& operator=(const path& p)
-    {
-      m_pathname = p.m_pathname;
-      return *this;
-    }
-
-    template <class Source>
-      typename boost::enable_if<path_traits::is_pathable<
-        typename boost::decay<Source>::type>, path&>::type
-    operator=(Source const& source)
-    {
-      m_pathname.clear();
-      path_traits::dispatch(source, m_pathname, codecvt());
-      return *this;
-    }
-
-    template <class Source>
-    path& assign(Source const& source, const codecvt_type& cvt)
-    {
-      m_pathname.clear();
-      path_traits::dispatch(source, m_pathname, cvt);
-      return *this;
-    }
-
-    template <class InputIterator>
-    path& assign(InputIterator begin, InputIterator end)
-    {
-      return assign(begin, end, codecvt());
-    }
-
-    template <class InputIterator>
-    path& assign(InputIterator begin, InputIterator end, const codecvt_type& cvt)
-    { 
-      m_pathname.clear();
-      if (begin != end)
-      {
-        std::basic_string<typename std::iterator_traits<InputIterator>::value_type>
-          s(begin, end);
-        path_traits::convert(s.c_str(), s.c_str()+s.size(), m_pathname, cvt);
-      }
-      return *this;
-    }
-
-    //  -----  appends  -----
-
-    //  if a separator is added, it is the preferred separator for the platform;
-    //  slash for POSIX, backslash for Windows
-
-    path& operator/=(const path& p);
-
-    template <class Source>
-      typename boost::enable_if<path_traits::is_pathable<
-        typename boost::decay<Source>::type>, path&>::type
-    operator/=(Source const& source)
-    {
-      return append(source, codecvt());
-    }
-
-    template <class Source>
-    path& append(Source const& source, const codecvt_type& cvt);
-
-    template <class InputIterator>
-    path& append(InputIterator begin, InputIterator end)
-    { 
-      return append(begin, end, codecvt());
-    }
-
-    template <class InputIterator>
-    path& append(InputIterator begin, InputIterator end, const codecvt_type& cvt);
-
-    //  -----  modifiers  -----
-
-    void   clear()             { m_pathname.clear(); }
-    path&  make_preferred()
-#   ifdef BOOST_POSIX_API
-      { return *this; }  // POSIX no effect
-#   else // BOOST_WINDOWS_API
-      ;  // change slashes to backslashes
-#   endif
-    path&  remove_filename();
-    path&  replace_extension(const path& new_extension = path());
-    void   swap(path& rhs)     { m_pathname.swap(rhs.m_pathname); }
-
-    //  -----  observers  -----
-  
-    //  For operating systems that format file paths differently than directory
-    //  paths, return values from observers are formatted as file names unless there
-    //  is a trailing separator, in which case returns are formatted as directory
-    //  paths. POSIX and Windows make no such distinction.
-
-    //  Implementations are permitted to return const values or const references.
-
-    //  The string or path returned by an observer are specified as being formatted
-    //  as "native" or "generic".
-    //
-    //  For POSIX, these are all the same format; slashes and backslashes are as input and
-    //  are not modified.
-    //
-    //  For Windows,   native:    as input; slashes and backslashes are not modified;
-    //                            this is the format of the internally stored string.
-    //                 generic:   backslashes are converted to slashes
-
-    //  -----  native format observers  -----
-
-    const string_type&  native() const { return m_pathname; }          // Throws: nothing
-    const value_type*   c_str() const  { return m_pathname.c_str(); }  // Throws: nothing
-
-    template <class String>
-    String string() const;
-
-    template <class String>
-    String string(const codecvt_type& cvt) const;
-
-#   ifdef BOOST_WINDOWS_API
-    const std::string string() const { return string(codecvt()); } 
-    const std::string string(const codecvt_type& cvt) const
-    { 
-      std::string tmp;
-      if (!m_pathname.empty())
-        path_traits::convert(&*m_pathname.begin(), &*m_pathname.begin()+m_pathname.size(),
-          tmp, cvt);
-      return tmp;
-    }
-    
-    //  string_type is std::wstring, so there is no conversion
-    const std::wstring&  wstring() const { return m_pathname; }
-    const std::wstring&  wstring(const codecvt_type&) const { return m_pathname; }
-
-#   else   // BOOST_POSIX_API
-    //  string_type is std::string, so there is no conversion
-    const std::string&  string() const { return m_pathname; }
-    const std::string&  string(const codecvt_type&) const { return m_pathname; }
-
-    const std::wstring  wstring() const { return wstring(codecvt()); }
-    const std::wstring  wstring(const codecvt_type& cvt) const
-    { 
-      std::wstring tmp;
-      if (!m_pathname.empty())
-        path_traits::convert(&*m_pathname.begin(), &*m_pathname.begin()+m_pathname.size(),
-          tmp, cvt);
-      return tmp;
-    }
-
-#   endif
-
-    //  -----  generic format observers  -----
-
-    template <class String>
-    String generic_string() const;
-
-    template <class String>
-    String generic_string(const codecvt_type& cvt) const;
-
-#   ifdef BOOST_WINDOWS_API
-    const std::string   generic_string() const { return generic_string(codecvt()); } 
-    const std::string   generic_string(const codecvt_type& cvt) const; 
-    const std::wstring  generic_wstring() const;
-    const std::wstring  generic_wstring(const codecvt_type&) const { return generic_wstring(); };
-
-#   else // BOOST_POSIX_API
-    //  On POSIX-like systems, the generic format is the same as the native format
-    const std::string&  generic_string() const  { return m_pathname; }
-    const std::string&  generic_string(const codecvt_type&) const  { return m_pathname; }
-    const std::wstring  generic_wstring() const { return wstring(codecvt()); }
-    const std::wstring  generic_wstring(const codecvt_type& cvt) const { return wstring(cvt); }
-
-#   endif
-
-    //  -----  decomposition  -----
-
-    path  root_path() const; 
-    path  root_name() const;         // returns 0 or 1 element path
-                                     // even on POSIX, root_name() is non-empty() for network paths
-    path  root_directory() const;    // returns 0 or 1 element path
-    path  relative_path() const;
-    path  parent_path() const;
-    path  filename() const;          // returns 0 or 1 element path
-    path  stem() const;              // returns 0 or 1 element path
-    path  extension() const;         // returns 0 or 1 element path
-
-    //  -----  query  -----
-
-    bool empty() const               { return m_pathname.empty(); } // name consistent with std containers
-    bool has_root_path() const       { return has_root_directory() || has_root_name(); }
-    bool has_root_name() const       { return !root_name().empty(); }
-    bool has_root_directory() const  { return !root_directory().empty(); }
-    bool has_relative_path() const   { return !relative_path().empty(); }
-    bool has_parent_path() const     { return !parent_path().empty(); }
-    bool has_filename() const        { return !m_pathname.empty(); }
-    bool has_stem() const            { return !stem().empty(); }
-    bool has_extension() const       { return !extension().empty(); }
-    bool is_absolute() const
-    {
-#     ifdef BOOST_WINDOWS_API
-      return has_root_name() && has_root_directory();
-#     else
-      return has_root_directory();
-#     endif
-    }
-    bool is_relative() const         { return !is_absolute(); } 
-
-    //  -----  imbue  -----
-
-    static std::locale imbue(const std::locale& loc);
-
-    //  -----  codecvt  -----
-
-    static const codecvt_type& codecvt()
-    {
-      return *wchar_t_codecvt_facet();
-    }
-
-    //  -----  iterators  -----
-
-    class iterator;
-    typedef iterator const_iterator;
-
-    iterator begin() const;
-    iterator end() const;
-
-    //  -----  deprecated functions  -----
-
-# if defined(BOOST_FILESYSTEM_DEPRECATED) && defined(BOOST_FILESYSTEM_NO_DEPRECATED)
-#   error both BOOST_FILESYSTEM_DEPRECATED and BOOST_FILESYSTEM_NO_DEPRECATED are defined
-# endif
-
-# if !defined(BOOST_FILESYSTEM_NO_DEPRECATED)
-    //  recently deprecated functions supplied by default
-    path&  normalize()              { return m_normalize(); }
-    path&  remove_leaf()            { return remove_filename(); }
-    path   leaf() const             { return filename(); }
-    path   branch_path() const      { return parent_path(); }
-    bool   has_leaf() const         { return !m_pathname.empty(); }
-    bool   has_branch_path() const  { return !parent_path().empty(); }
-    bool   is_complete() const      { return is_absolute(); }
-# endif
-
-# if defined(BOOST_FILESYSTEM_DEPRECATED)
-    //  deprecated functions with enough signature or semantic changes that they are
-    //  not supplied by default 
-    const std::string file_string() const               { return string(); }
-    const std::string directory_string() const          { return string(); }
-    const std::string native_file_string() const        { return string(); }
-    const std::string native_directory_string() const   { return string(); }
-    const string_type external_file_string() const      { return native(); }
-    const string_type external_directory_string() const { return native(); }
-
-    //  older functions no longer supported
-    //typedef bool (*name_check)(const std::string & name);
-    //basic_path(const string_type& str, name_check) { operator/=(str); }
-    //basic_path(const typename string_type::value_type* s, name_check)
-    //  { operator/=(s);}
-    //static bool default_name_check_writable() { return false; } 
-    //static void default_name_check(name_check) {}
-    //static name_check default_name_check() { return 0; }
-    //basic_path& canonize();
-# endif
-
-//--------------------------------------------------------------------------------------//
-//                            class path private members                                //
-//--------------------------------------------------------------------------------------//
-
-  private:
-#   if defined(_MSC_VER)
-#     pragma warning(push) // Save warning settings
-#     pragma warning(disable : 4251) // disable warning: class 'std::basic_string<_Elem,_Traits,_Ax>'
-#   endif                            // needs to have dll-interface...
-/*
-      m_pathname has the type, encoding, and format required by the native
-      operating system. Thus for POSIX and Windows there is no conversion for
-      passing m_pathname.c_str() to the O/S API or when obtaining a path from the
-      O/S API. POSIX encoding is unspecified other than for dot and slash
-      characters; POSIX just treats paths as a sequence of bytes. Windows
-      encoding is UCS-2 or UTF-16 depending on the version.
-*/
-    string_type  m_pathname;  // Windows: as input; backslashes NOT converted to slashes,
-                              // slashes NOT converted to backslashes
-#   if defined(_MSC_VER)
-#     pragma warning(pop) // restore warning settings.
-#   endif 
-
-    string_type::size_type m_append_separator_if_needed();
-    //  Returns: If separator is to be appended, m_pathname.size() before append. Otherwise 0.
-    //  Note: An append is never performed if size()==0, so a returned 0 is unambiguous.
-
-    void m_erase_redundant_separator(string_type::size_type sep_pos);
-    string_type::size_type m_parent_path_end() const;
-
-    path& m_normalize();
-
-    // Was qualified; como433beta8 reports:
-    //    warning #427-D: qualified name is not allowed in member declaration 
-    friend class iterator;
-    friend bool operator<(const path& lhs, const path& rhs);
-
-    // see path::iterator::increment/decrement comment below
-    static void m_path_iterator_increment(path::iterator & it);
-    static void m_path_iterator_decrement(path::iterator & it);
-
-    static const codecvt_type *&  wchar_t_codecvt_facet();
-
-  };  // class path
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-  typedef path wpath;
-# endif
-
-  //------------------------------------------------------------------------------------//
-  //                             class path::iterator                                   //
-  //------------------------------------------------------------------------------------//
- 
-  class path::iterator
-    : public boost::iterator_facade<
-      path::iterator,
-      path const,
-      boost::bidirectional_traversal_tag >
-  {
-  private:
-    friend class boost::iterator_core_access;
-    friend class boost::filesystem3::path;
-    friend void m_path_iterator_increment(path::iterator & it);
-    friend void m_path_iterator_decrement(path::iterator & it);
-
-    const path& dereference() const { return m_element; }
-
-    bool equal(const iterator & rhs) const
-    {
-      return m_path_ptr == rhs.m_path_ptr && m_pos == rhs.m_pos;
-    }
-
-    // iterator_facade derived classes don't seem to like implementations in
-    // separate translation unit dll's, so forward to class path static members
-    void increment() { m_path_iterator_increment(*this); }
-    void decrement() { m_path_iterator_decrement(*this); }
-
-    path                    m_element;   // current element
-    const path *            m_path_ptr;  // path being iterated over
-    string_type::size_type  m_pos;       // position of name in
-                                         // m_path_ptr->m_pathname. The
-                                         // end() iterator is indicated by 
-                                         // m_pos == m_path_ptr->m_pathname.size()
-  }; // path::iterator
-
-  //------------------------------------------------------------------------------------//
-  //                                                                                    //
-  //                              non-member functions                                  //
-  //                                                                                    //
-  //------------------------------------------------------------------------------------//
-
-  //  std::lexicographical_compare would infinately recurse because path iterators
-  //  yield paths, so provide a path aware version
-  inline bool lexicographical_compare(path::iterator first1, path::iterator last1,
-    path::iterator first2, path::iterator last2)
-  {
-    for (; first1 != last1 && first2 != last2 ; ++first1, ++first2)
-    {
-      if (first1->native() < first2->native()) return true;
-      if (first2->native() < first1->native()) return false;
-    }
-    return first1 == last1 && first2 != last2;
-  }
-  
-  inline bool operator<(const path& lhs, const path& rhs)
-  {
-    return lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), rhs.end());
-  }
-
-  inline bool operator<=(const path& lhs, const path& rhs) { return !(rhs < lhs); }
-  inline bool operator> (const path& lhs, const path& rhs) { return rhs < lhs; }
-  inline bool operator>=(const path& lhs, const path& rhs) { return !(lhs < rhs);  }
-
-  // equality operators act as if comparing generic format strings, to achieve the
-  // effect of lexicographical_compare element by element compare.
-  // operator==() efficiency is a concern; a user reported the original version 2
-  // !(lhs < rhs) && !(rhs < lhs) implementation caused a serious performance problem
-  // for a map of 10,000 paths.
-
-# ifdef BOOST_WINDOWS_API
-  inline bool operator==(const path& lhs, const path::value_type* rhs)
-  {
-    const path::value_type* l(lhs.c_str());
-    while ((*l == *rhs || (*l == L'\\' && *rhs == L'/') || (*l == L'/' && *rhs == L'\\'))
-      && *l) { ++l; ++rhs; }
-    return *l == *rhs;
-  }
-  inline bool operator==(const path& lhs, const path& rhs)              { return lhs == rhs.c_str(); }
-  inline bool operator==(const path& lhs, const path::string_type& rhs) { return lhs == rhs.c_str(); }
-  inline bool operator==(const path::string_type& lhs, const path& rhs) { return rhs == lhs.c_str(); }
-  inline bool operator==(const path::value_type* lhs, const path& rhs)  { return rhs == lhs; }
-
-  inline std::size_t hash_value(const path& x)
-  {
-    std::size_t seed = 0;
-    for(const path::value_type* it = x.c_str(); *it; ++it)
-      hash_combine(seed, *it == '/' ? L'\\' : *it);
-    return seed;
-  }
-# else   // BOOST_POSIX_API
-  inline bool operator==(const path& lhs, const path& rhs)              { return lhs.native() == rhs.native(); }
-  inline bool operator==(const path& lhs, const path::string_type& rhs) { return lhs.native() == rhs; }
-  inline bool operator==(const path& lhs, const path::value_type* rhs)  { return lhs.native() == rhs; }
-  inline bool operator==(const path::string_type& lhs, const path& rhs) { return lhs == rhs.native(); }
-  inline bool operator==(const path::value_type* lhs, const path& rhs)  { return lhs == rhs.native(); }
-
-  inline std::size_t hash_value(const path& x)
-  {
-    return hash_range(x.native().begin(), x.native().end());
-  }
-# endif
-
-  inline bool operator!=(const path& lhs, const path& rhs)              { return !(lhs == rhs); }
-  inline bool operator!=(const path& lhs, const path::string_type& rhs) { return !(lhs == rhs); }
-  inline bool operator!=(const path& lhs, const path::value_type* rhs)  { return !(lhs == rhs); }
-  inline bool operator!=(const path::string_type& lhs, const path& rhs) { return !(lhs == rhs); }
-  inline bool operator!=(const path::value_type* lhs, const path& rhs)  { return !(lhs == rhs); }
-
-  inline void swap(path& lhs, path& rhs)                   { lhs.swap(rhs); }
-
-  inline path operator/(const path& lhs, const path& rhs)  { return path(lhs) /= rhs; }
-
-  //  inserters and extractors
-  //    use boost::io::quoted() to handle spaces in paths
-  //    use '&' as escape character to ease use for Windows paths
-
-  template <class Char, class Traits>
-  inline std::basic_ostream<Char, Traits>&
-  operator<<(std::basic_ostream<Char, Traits>& os, const path& p)
-  {
-    return os
-      << boost::io::quoted(p.template string<std::basic_string<Char> >(), static_cast<Char>('&'));
-  }
-  
-  template <class Char, class Traits>
-  inline std::basic_istream<Char, Traits>&
-  operator>>(std::basic_istream<Char, Traits>& is, path& p)
-  {
-    std::basic_string<Char> str;
-    is >> boost::io::quoted(str, static_cast<Char>('&'));
-    p = str;
-    return is;
-  }
-  
-  //  name_checks
-
-  //  These functions are holdovers from version 1. It isn't clear they have much
-  //  usefulness, or how to generalize them for later versions.
-
-  BOOST_FILESYSTEM_DECL bool portable_posix_name(const std::string & name);
-  BOOST_FILESYSTEM_DECL bool windows_name(const std::string & name);
-  BOOST_FILESYSTEM_DECL bool portable_name(const std::string & name);
-  BOOST_FILESYSTEM_DECL bool portable_directory_name(const std::string & name);
-  BOOST_FILESYSTEM_DECL bool portable_file_name(const std::string & name);
-  BOOST_FILESYSTEM_DECL bool native(const std::string & name);
- 
-//--------------------------------------------------------------------------------------//
-//                     class path member template implementation                        //
-//--------------------------------------------------------------------------------------//
-
-  template <class InputIterator>
-  path& path::append(InputIterator begin, InputIterator end, const codecvt_type& cvt)
-  { 
-    if (begin == end)
-      return *this;
-    string_type::size_type sep_pos(m_append_separator_if_needed());
-    std::basic_string<typename std::iterator_traits<InputIterator>::value_type>
-      s(begin, end);
-    path_traits::convert(s.c_str(), s.c_str()+s.size(), m_pathname, cvt);
-    if (sep_pos)
-      m_erase_redundant_separator(sep_pos);
-    return *this;
-  }
-
-  template <class Source>
-  path& path::append(Source const & source, const codecvt_type& cvt)
-  {
-    if (path_traits::empty(source))
-      return *this;
-    string_type::size_type sep_pos(m_append_separator_if_needed());
-    path_traits::dispatch(source, m_pathname, cvt);
-    if (sep_pos)
-      m_erase_redundant_separator(sep_pos);
-    return *this;
-  }
-
-//--------------------------------------------------------------------------------------//
-//                     class path member template specializations                       //
-//--------------------------------------------------------------------------------------//
-
-  template <> inline
-  std::string path::string<std::string>() const
-    { return string(); }
-
-  template <> inline
-  std::wstring path::string<std::wstring>() const
-    { return wstring(); }
-
-  template <> inline
-  std::string path::string<std::string>(const codecvt_type& cvt) const
-    { return string(cvt); }
-
-  template <> inline
-  std::wstring path::string<std::wstring>(const codecvt_type& cvt) const
-    { return wstring(cvt); }
-
-  template <> inline
-  std::string path::generic_string<std::string>() const
-    { return generic_string(); }
-
-  template <> inline
-  std::wstring path::generic_string<std::wstring>() const
-    { return generic_wstring(); }
-
-  template <> inline
-  std::string path::generic_string<std::string>(const codecvt_type& cvt) const
-    { return generic_string(cvt); }
-
-  template <> inline
-  std::wstring path::generic_string<std::wstring>(const codecvt_type& cvt) const
-    { return generic_wstring(cvt); }
-
-
-}  // namespace filesystem3
-}  // namespace boost
-
-//----------------------------------------------------------------------------//
-
-namespace boost
-{
-  namespace filesystem
-  {
-    using filesystem3::path;
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-    using filesystem3::wpath;
-# endif
-    using filesystem3::lexicographical_compare;
-    using filesystem3::portable_posix_name;
-    using filesystem3::windows_name;
-    using filesystem3::portable_name;
-    using filesystem3::portable_directory_name;
-    using filesystem3::portable_file_name;
-    using filesystem3::native;
-    using filesystem3::swap;
-    using filesystem3::operator<;
-    using filesystem3::operator==;
-    using filesystem3::operator!=;
-    using filesystem3::operator>;
-    using filesystem3::operator<=;
-    using filesystem3::operator>=;
-    using filesystem3::operator/;
-    using filesystem3::operator<<;
-    using filesystem3::operator>>;
-  }
-}
-
-//----------------------------------------------------------------------------//
-
-#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-
-#endif  // BOOST_FILESYSTEM_PATH_HPP
diff --git a/SRC/Boost/boost/filesystem/v3/path_traits.hpp b/SRC/Boost/boost/filesystem/v3/path_traits.hpp
deleted file mode 100755
index a3d3d1c..0000000
--- a/SRC/Boost/boost/filesystem/v3/path_traits.hpp
+++ /dev/null
@@ -1,247 +0,0 @@
-//  filesystem path_traits.hpp  --------------------------------------------------------//
-
-//  Copyright Beman Dawes 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#ifndef BOOST_FILESYSTEM_PATH_TRAITS_HPP
-#define BOOST_FILESYSTEM_PATH_TRAITS_HPP
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-#include <boost/filesystem/v3/config.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/decay.hpp>
-#include <boost/system/error_code.hpp>
-#include <cwchar>  // for mbstate_t
-#include <string>
-#include <vector>
-#include <list>
-#include <iterator>
-#include <locale>
-#include <boost/assert.hpp>
-// #include <iostream>   //**** comment me out ****
-
-#include <boost/config/abi_prefix.hpp> // must be the last #include
-
-namespace boost { namespace filesystem3 {
-
-  BOOST_FILESYSTEM_DECL const system::error_category& codecvt_error_category();
-  //  uses std::codecvt_base::result used for error codes:
-  //
-  //    ok:       Conversion successful.
-  //    partial:  Not all source characters converted; one or more additional source
-  //              characters are needed to produce the final target character, or the
-  //              size of the target intermediate buffer was too small to hold the result.
-  //    error:    A character in the source could not be converted to the target encoding.
-  //    noconv:   The source and target characters have the same type and encoding, so no
-  //              conversion was necessary.
-
-  class directory_entry;
-  
-namespace path_traits {
- 
-  typedef std::codecvt<wchar_t, char, std::mbstate_t> codecvt_type;
-
-  //  is_pathable type trait; allows disabling over-agressive class path member templates
-
-  template <class T>
-  struct is_pathable { static const bool value = false; };
-
-  template<> struct is_pathable<char*>                  { static const bool value = true; };
-  template<> struct is_pathable<const char*>            { static const bool value = true; };
-  template<> struct is_pathable<wchar_t*>               { static const bool value = true; };
-  template<> struct is_pathable<const wchar_t*>         { static const bool value = true; };
-  template<> struct is_pathable<std::string>            { static const bool value = true; };
-  template<> struct is_pathable<std::wstring>           { static const bool value = true; };
-  template<> struct is_pathable<std::vector<char> >     { static const bool value = true; };
-  template<> struct is_pathable<std::vector<wchar_t> >  { static const bool value = true; };
-  template<> struct is_pathable<std::list<char> >       { static const bool value = true; };
-  template<> struct is_pathable<std::list<wchar_t> >    { static const bool value = true; };
-  template<> struct is_pathable<directory_entry>        { static const bool value = true; };
-
-  //  Pathable empty
-
-  template <class Container> inline
-    // disable_if aids broken compilers (IBM, old GCC, etc.) and is harmless for
-    // conforming compilers. Replace by plain "bool" at some future date (2012?) 
-    typename boost::disable_if<boost::is_array<Container>, bool>::type
-      empty(const Container & c)
-        { return c.begin() == c.end(); }
-
-  template <class T> inline
-    bool empty(T * const & c_str)
-  {
-    BOOST_ASSERT(c_str);
-    return !*c_str;
-  }
-
-  template <typename T, size_t N> inline
-     bool empty(T (&)[N])
-       { return N <= 1; }
-
-  // value types differ  ---------------------------------------------------------------//
-  //
-  //   A from_end argument of 0 is less efficient than a known end, so use only if needed
-  
-  BOOST_FILESYSTEM_DECL
-  void convert(const char* from,
-                const char* from_end,    // 0 for null terminated MBCS
-                std::wstring & to,
-                const codecvt_type& cvt);
-
-  BOOST_FILESYSTEM_DECL
-  void convert(const wchar_t* from,
-                const wchar_t* from_end,  // 0 for null terminated MBCS
-                std::string & to,
-                const codecvt_type& cvt);
-
-  inline 
-  void convert(const char* from,
-                std::wstring & to,
-                const codecvt_type& cvt)
-  {
-    BOOST_ASSERT(from);
-    convert(from, 0, to, cvt);
-  }
-
-  inline 
-  void convert(const wchar_t* from,
-                std::string & to,
-                const codecvt_type& cvt)
-  {
-    BOOST_ASSERT(from);
-    convert(from, 0, to, cvt);
-  }
-
-  // value types same  -----------------------------------------------------------------//
-
-  // char
-
-  inline 
-  void convert(const char* from, const char* from_end, std::string & to,
-    const codecvt_type&)
-  {
-    BOOST_ASSERT(from);
-    BOOST_ASSERT(from_end);
-    to.append(from, from_end);
-  }
-
-  inline 
-  void convert(const char* from,
-                std::string & to,
-                const codecvt_type&)
-  {
-    BOOST_ASSERT(from);
-    to += from;
-  }
-
-  // wchar_t
-
-  inline 
-  void convert(const wchar_t* from, const wchar_t* from_end, std::wstring & to,
-    const codecvt_type&)
-  {
-    BOOST_ASSERT(from);
-    BOOST_ASSERT(from_end);
-    to.append(from, from_end);
-  }
-
-  inline 
-  void convert(const wchar_t* from,
-                std::wstring & to,
-                const codecvt_type&)
-  {
-    BOOST_ASSERT(from);
-    to += from;
-  }
-
-  //  Source dispatch
-
-  //  contiguous containers
-  template <class U> inline
-    void dispatch(const std::string& c, U& to, const codecvt_type& cvt)
-  {
-    if (c.size())
-      convert(&*c.begin(), &*c.begin() + c.size(), to, cvt);
-  }
-  template <class U> inline
-    void dispatch(const std::wstring& c, U& to, const codecvt_type& cvt)
-  {
-    if (c.size())
-      convert(&*c.begin(), &*c.begin() + c.size(), to, cvt);
-  }
-  template <class U> inline
-    void dispatch(const std::vector<char>& c, U& to, const codecvt_type& cvt)
-  {
-    if (c.size())
-      convert(&*c.begin(), &*c.begin() + c.size(), to, cvt);
-  }
-  template <class U> inline
-    void dispatch(const std::vector<wchar_t>& c, U& to, const codecvt_type& cvt)
-  {
-    if (c.size())
-      convert(&*c.begin(), &*c.begin() + c.size(), to, cvt);
-  }
-
-  //  non-contiguous containers
-  template <class Container, class U> inline
-    // disable_if aids broken compilers (IBM, old GCC, etc.) and is harmless for
-    // conforming compilers. Replace by plain "void" at some future date (2012?) 
-    typename boost::disable_if<boost::is_array<Container>, void>::type
-      dispatch(const Container & c, U& to, const codecvt_type& cvt)
-  {
-    if (c.size())
-    {
-      std::basic_string<typename Container::value_type> s(c.begin(), c.end());
-      convert(s.c_str(), s.c_str()+s.size(), to, cvt);
-    }
-  }
-
-  //  c_str
-  template <class T, class U> inline
-  void dispatch(T * const & c_str, U& to, const codecvt_type& cvt)
-  {
-//    std::cout << "dispatch() const T *\n";
-    BOOST_ASSERT(c_str);
-    convert(c_str, to, cvt);
-  }
-  
-  //  Note: there is no dispatch on C-style arrays because the array may
-  //  contain a string smaller than the array size. 
-
-  BOOST_FILESYSTEM_DECL
-  void dispatch(const directory_entry & de,
-#                ifdef BOOST_WINDOWS_API
-                   std::wstring & to,
-#                else   
-                   std::string & to,
-#                endif
-                 const codecvt_type&);
-
-
-}}} // namespace boost::filesystem::path_traits
-
-//----------------------------------------------------------------------------//
-
-namespace boost
-{
-  namespace filesystem
-  {
-    using filesystem3::codecvt_error_category;
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-# endif
-  }
-}
-
-#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-
-#endif  // BOOST_FILESYSTEM_PATH_TRAITS_HPP
diff --git a/SRC/Boost/boost/foreach_fwd.hpp b/SRC/Boost/boost/foreach_fwd.hpp
deleted file mode 100755
index 5b7bee4..0000000
--- a/SRC/Boost/boost/foreach_fwd.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// foreach.hpp header file
-//
-// Copyright 2010 Eric Niebler.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// See http://www.boost.org/libs/foreach for documentation
-//
-// Credits:
-// Kazutoshi Satoda: for suggesting the need for a _fwd header for foreach's
-//                      customization points.
-
-#ifndef BOOST_FOREACH_FWD_HPP
-#define BOOST_FOREACH_FWD_HPP
-
-// This must be at global scope, hence the uglified name
-enum boost_foreach_argument_dependent_lookup_hack
-{
-    boost_foreach_argument_dependent_lookup_hack_value
-};
-
-namespace boost
-{
-
-namespace foreach
-{
-    ///////////////////////////////////////////////////////////////////////////////
-    // boost::foreach::tag
-    //
-    typedef boost_foreach_argument_dependent_lookup_hack tag;
-
-    ///////////////////////////////////////////////////////////////////////////////
-    // boost::foreach::is_lightweight_proxy
-    //   Specialize this for user-defined collection types if they are inexpensive to copy.
-    //   This tells BOOST_FOREACH it can avoid the rvalue/lvalue detection stuff.
-    template<typename T>
-    struct is_lightweight_proxy;
-
-    ///////////////////////////////////////////////////////////////////////////////
-    // boost::foreach::is_noncopyable
-    //   Specialize this for user-defined collection types if they cannot be copied.
-    //   This also tells BOOST_FOREACH to avoid the rvalue/lvalue detection stuff.
-    template<typename T>
-    struct is_noncopyable;
-
-} // namespace foreach
-
-} // namespace boost
-
-#endif
diff --git a/SRC/Boost/boost/function.hpp b/SRC/Boost/boost/function.hpp
deleted file mode 100755
index d272035..0000000
--- a/SRC/Boost/boost/function.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2001-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org/libs/function
-
-// William Kempf, Jesse Jones and Karl Nelson were all very helpful in the
-// design of this library.
-
-#include <functional> // unary_function, binary_function
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifndef BOOST_FUNCTION_MAX_ARGS
-#  define BOOST_FUNCTION_MAX_ARGS 10
-#endif // BOOST_FUNCTION_MAX_ARGS
-
-// Include the prologue here so that the use of file-level iteration
-// in anything that may be included by function_template.hpp doesn't break
-#include <boost/function/detail/prologue.hpp>
-
-// Older Visual Age C++ version do not handle the file iteration well
-#if BOOST_WORKAROUND(__IBMCPP__, >= 500) && BOOST_WORKAROUND(__IBMCPP__, < 800)
-#  if BOOST_FUNCTION_MAX_ARGS >= 0
-#    include <boost/function/function0.hpp>
-#  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 1
-#    include <boost/function/function1.hpp>
-#  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 2
-#    include <boost/function/function2.hpp>
-#  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 3
-#    include <boost/function/function3.hpp>
-#  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 4
-#    include <boost/function/function4.hpp>
-#  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 5
-#    include <boost/function/function5.hpp>
-#  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 6
-#    include <boost/function/function6.hpp>
-#  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 7
-#    include <boost/function/function7.hpp>
-#  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 8
-#    include <boost/function/function8.hpp>
-#  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 9
-#    include <boost/function/function9.hpp>
-#  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 10
-#    include <boost/function/function10.hpp>
-#  endif
-#else
-// What is the '3' for?
-#  define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
-#  include BOOST_PP_ITERATE()
-#  undef BOOST_PP_ITERATION_PARAMS_1
-#endif
diff --git a/SRC/Boost/boost/function/detail/function_iterate.hpp b/SRC/Boost/boost/function/detail/function_iterate.hpp
deleted file mode 100755
index d068cb7..0000000
--- a/SRC/Boost/boost/function/detail/function_iterate.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-#if !defined(BOOST_PP_IS_ITERATING)
-# error Boost.Function - do not include this file!
-#endif
-
-#define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
-#include <boost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
-
diff --git a/SRC/Boost/boost/function/detail/gen_maybe_include.pl b/SRC/Boost/boost/function/detail/gen_maybe_include.pl
deleted file mode 100755
index 1bfaab7..0000000
--- a/SRC/Boost/boost/function/detail/gen_maybe_include.pl
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/perl -w
-#
-# Boost.Function library
-#
-# Copyright (C) 2001-2003 Douglas Gregor (gregod at cs.rpi.edu)
-#
-# Permission to copy, use, sell and distribute this software is granted
-# provided this copyright notice appears in all copies.
-# Permission to modify the code and to distribute modified code is granted
-# provided this copyright notice appears in all copies, and a notice
-# that the code was modified is included with the copyright notice.
-#
-# This software is provided "as is" without express or implied warranty,
-# and with no claim as to its suitability for any purpose.
-#
-# For more information, see http://www.boost.org
-use English;
-
-$max_args = $ARGV[0];
-
-open (OUT, ">maybe_include.hpp") or die("Cannot write to maybe_include.hpp");
-for($on_arg = 0; $on_arg <= $max_args; ++$on_arg) {
-    if ($on_arg == 0) {
-	print OUT "#if";
-    }
-    else {
-	print OUT "#elif";
-    }
-    print OUT " BOOST_FUNCTION_NUM_ARGS == $on_arg\n";
-    print OUT "#  ifndef BOOST_FUNCTION_$on_arg\n";
-    print OUT "#    define BOOST_FUNCTION_$on_arg\n";
-    print OUT "#    include <boost/function/function_template.hpp>\n";
-    print OUT "#  endif\n";
-}
-print OUT "#else\n";
-print OUT "#  error Cannot handle Boost.Function objects that accept more than $max_args arguments!\n";
-print OUT "#endif\n";
diff --git a/SRC/Boost/boost/function/detail/maybe_include.hpp b/SRC/Boost/boost/function/detail/maybe_include.hpp
deleted file mode 100755
index 10beac8..0000000
--- a/SRC/Boost/boost/function/detail/maybe_include.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#if BOOST_FUNCTION_NUM_ARGS == 0
-#  ifndef BOOST_FUNCTION_0
-#    define BOOST_FUNCTION_0
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 1
-#  ifndef BOOST_FUNCTION_1
-#    define BOOST_FUNCTION_1
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 2
-#  ifndef BOOST_FUNCTION_2
-#    define BOOST_FUNCTION_2
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 3
-#  ifndef BOOST_FUNCTION_3
-#    define BOOST_FUNCTION_3
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 4
-#  ifndef BOOST_FUNCTION_4
-#    define BOOST_FUNCTION_4
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 5
-#  ifndef BOOST_FUNCTION_5
-#    define BOOST_FUNCTION_5
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 6
-#  ifndef BOOST_FUNCTION_6
-#    define BOOST_FUNCTION_6
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 7
-#  ifndef BOOST_FUNCTION_7
-#    define BOOST_FUNCTION_7
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 8
-#  ifndef BOOST_FUNCTION_8
-#    define BOOST_FUNCTION_8
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 9
-#  ifndef BOOST_FUNCTION_9
-#    define BOOST_FUNCTION_9
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 10
-#  ifndef BOOST_FUNCTION_10
-#    define BOOST_FUNCTION_10
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 11
-#  ifndef BOOST_FUNCTION_11
-#    define BOOST_FUNCTION_11
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 12
-#  ifndef BOOST_FUNCTION_12
-#    define BOOST_FUNCTION_12
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 13
-#  ifndef BOOST_FUNCTION_13
-#    define BOOST_FUNCTION_13
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 14
-#  ifndef BOOST_FUNCTION_14
-#    define BOOST_FUNCTION_14
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 15
-#  ifndef BOOST_FUNCTION_15
-#    define BOOST_FUNCTION_15
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 16
-#  ifndef BOOST_FUNCTION_16
-#    define BOOST_FUNCTION_16
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 17
-#  ifndef BOOST_FUNCTION_17
-#    define BOOST_FUNCTION_17
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 18
-#  ifndef BOOST_FUNCTION_18
-#    define BOOST_FUNCTION_18
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 19
-#  ifndef BOOST_FUNCTION_19
-#    define BOOST_FUNCTION_19
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 20
-#  ifndef BOOST_FUNCTION_20
-#    define BOOST_FUNCTION_20
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 21
-#  ifndef BOOST_FUNCTION_21
-#    define BOOST_FUNCTION_21
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 22
-#  ifndef BOOST_FUNCTION_22
-#    define BOOST_FUNCTION_22
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 23
-#  ifndef BOOST_FUNCTION_23
-#    define BOOST_FUNCTION_23
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 24
-#  ifndef BOOST_FUNCTION_24
-#    define BOOST_FUNCTION_24
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 25
-#  ifndef BOOST_FUNCTION_25
-#    define BOOST_FUNCTION_25
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 26
-#  ifndef BOOST_FUNCTION_26
-#    define BOOST_FUNCTION_26
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 27
-#  ifndef BOOST_FUNCTION_27
-#    define BOOST_FUNCTION_27
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 28
-#  ifndef BOOST_FUNCTION_28
-#    define BOOST_FUNCTION_28
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 29
-#  ifndef BOOST_FUNCTION_29
-#    define BOOST_FUNCTION_29
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 30
-#  ifndef BOOST_FUNCTION_30
-#    define BOOST_FUNCTION_30
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 31
-#  ifndef BOOST_FUNCTION_31
-#    define BOOST_FUNCTION_31
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 32
-#  ifndef BOOST_FUNCTION_32
-#    define BOOST_FUNCTION_32
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 33
-#  ifndef BOOST_FUNCTION_33
-#    define BOOST_FUNCTION_33
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 34
-#  ifndef BOOST_FUNCTION_34
-#    define BOOST_FUNCTION_34
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 35
-#  ifndef BOOST_FUNCTION_35
-#    define BOOST_FUNCTION_35
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 36
-#  ifndef BOOST_FUNCTION_36
-#    define BOOST_FUNCTION_36
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 37
-#  ifndef BOOST_FUNCTION_37
-#    define BOOST_FUNCTION_37
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 38
-#  ifndef BOOST_FUNCTION_38
-#    define BOOST_FUNCTION_38
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 39
-#  ifndef BOOST_FUNCTION_39
-#    define BOOST_FUNCTION_39
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 40
-#  ifndef BOOST_FUNCTION_40
-#    define BOOST_FUNCTION_40
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 41
-#  ifndef BOOST_FUNCTION_41
-#    define BOOST_FUNCTION_41
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 42
-#  ifndef BOOST_FUNCTION_42
-#    define BOOST_FUNCTION_42
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 43
-#  ifndef BOOST_FUNCTION_43
-#    define BOOST_FUNCTION_43
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 44
-#  ifndef BOOST_FUNCTION_44
-#    define BOOST_FUNCTION_44
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 45
-#  ifndef BOOST_FUNCTION_45
-#    define BOOST_FUNCTION_45
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 46
-#  ifndef BOOST_FUNCTION_46
-#    define BOOST_FUNCTION_46
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 47
-#  ifndef BOOST_FUNCTION_47
-#    define BOOST_FUNCTION_47
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 48
-#  ifndef BOOST_FUNCTION_48
-#    define BOOST_FUNCTION_48
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 49
-#  ifndef BOOST_FUNCTION_49
-#    define BOOST_FUNCTION_49
-#    include <boost/function/function_template.hpp>
-#  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 50
-#  ifndef BOOST_FUNCTION_50
-#    define BOOST_FUNCTION_50
-#    include <boost/function/function_template.hpp>
-#  endif
-#else
-#  error Cannot handle Boost.Function objects that accept more than 50 arguments!
-#endif
diff --git a/SRC/Boost/boost/function/detail/prologue.hpp b/SRC/Boost/boost/function/detail/prologue.hpp
deleted file mode 100755
index ba1ce88..0000000
--- a/SRC/Boost/boost/function/detail/prologue.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_FUNCTION_PROLOGUE_HPP
-#define BOOST_FUNCTION_PROLOGUE_HPP
-#  include <cassert>
-#  include <algorithm>
-#  include <boost/config/no_tr1/functional.hpp> // unary_function, binary_function
-#  include <boost/throw_exception.hpp>
-#  include <boost/config.hpp>
-#  include <boost/function/function_base.hpp>
-#  include <boost/mem_fn.hpp>
-#  include <boost/type_traits/is_integral.hpp>
-#  include <boost/preprocessor/enum.hpp>
-#  include <boost/preprocessor/enum_params.hpp>
-#  include <boost/preprocessor/cat.hpp>
-#  include <boost/preprocessor/repeat.hpp>
-#  include <boost/preprocessor/inc.hpp>
-#  include <boost/type_traits/is_void.hpp>
-#endif // BOOST_FUNCTION_PROLOGUE_HPP
diff --git a/SRC/Boost/boost/function/function0.hpp b/SRC/Boost/boost/function/function0.hpp
deleted file mode 100755
index e510889..0000000
--- a/SRC/Boost/boost/function/function0.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#define BOOST_FUNCTION_NUM_ARGS 0
-#include <boost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
diff --git a/SRC/Boost/boost/function/function1.hpp b/SRC/Boost/boost/function/function1.hpp
deleted file mode 100755
index 3109f50..0000000
--- a/SRC/Boost/boost/function/function1.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#define BOOST_FUNCTION_NUM_ARGS 1
-#include <boost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
diff --git a/SRC/Boost/boost/function/function10.hpp b/SRC/Boost/boost/function/function10.hpp
deleted file mode 100755
index 0818f67..0000000
--- a/SRC/Boost/boost/function/function10.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#define BOOST_FUNCTION_NUM_ARGS 10
-#include <boost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
diff --git a/SRC/Boost/boost/function/function2.hpp b/SRC/Boost/boost/function/function2.hpp
deleted file mode 100755
index 76e3b8c..0000000
--- a/SRC/Boost/boost/function/function2.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#define BOOST_FUNCTION_NUM_ARGS 2
-#include <boost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
diff --git a/SRC/Boost/boost/function/function3.hpp b/SRC/Boost/boost/function/function3.hpp
deleted file mode 100755
index dd4f8cf..0000000
--- a/SRC/Boost/boost/function/function3.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#define BOOST_FUNCTION_NUM_ARGS 3
-#include <boost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
diff --git a/SRC/Boost/boost/function/function4.hpp b/SRC/Boost/boost/function/function4.hpp
deleted file mode 100755
index 32357e7..0000000
--- a/SRC/Boost/boost/function/function4.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#define BOOST_FUNCTION_NUM_ARGS 4
-#include <boost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
diff --git a/SRC/Boost/boost/function/function5.hpp b/SRC/Boost/boost/function/function5.hpp
deleted file mode 100755
index 72f1479..0000000
--- a/SRC/Boost/boost/function/function5.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#define BOOST_FUNCTION_NUM_ARGS 5
-#include <boost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
diff --git a/SRC/Boost/boost/function/function6.hpp b/SRC/Boost/boost/function/function6.hpp
deleted file mode 100755
index 1f82528..0000000
--- a/SRC/Boost/boost/function/function6.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#define BOOST_FUNCTION_NUM_ARGS 6
-#include <boost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
diff --git a/SRC/Boost/boost/function/function7.hpp b/SRC/Boost/boost/function/function7.hpp
deleted file mode 100755
index bf827b3..0000000
--- a/SRC/Boost/boost/function/function7.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#define BOOST_FUNCTION_NUM_ARGS 7
-#include <boost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
diff --git a/SRC/Boost/boost/function/function8.hpp b/SRC/Boost/boost/function/function8.hpp
deleted file mode 100755
index 4511bc4..0000000
--- a/SRC/Boost/boost/function/function8.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#define BOOST_FUNCTION_NUM_ARGS 8
-#include <boost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
diff --git a/SRC/Boost/boost/function/function9.hpp b/SRC/Boost/boost/function/function9.hpp
deleted file mode 100755
index 05725d5..0000000
--- a/SRC/Boost/boost/function/function9.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#define BOOST_FUNCTION_NUM_ARGS 9
-#include <boost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
diff --git a/SRC/Boost/boost/function/function_base.hpp b/SRC/Boost/boost/function/function_base.hpp
deleted file mode 100755
index 33188c5..0000000
--- a/SRC/Boost/boost/function/function_base.hpp
+++ /dev/null
@@ -1,910 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2001-2006
-//  Copyright Emil Dotchevski 2007
-//  Use, modification and distribution is subject to the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_FUNCTION_BASE_HEADER
-#define BOOST_FUNCTION_BASE_HEADER
-
-#include <stdexcept>
-#include <string>
-#include <memory>
-#include <new>
-#include <boost/config.hpp>
-#include <boost/detail/sp_typeinfo.hpp>
-#include <boost/assert.hpp>
-#include <boost/integer.hpp>
-#include <boost/type_traits/has_trivial_copy.hpp>
-#include <boost/type_traits/has_trivial_destructor.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/composite_traits.hpp>
-#include <boost/type_traits/ice.hpp>
-#include <boost/ref.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#ifndef BOOST_NO_SFINAE
-#  include "boost/utility/enable_if.hpp"
-#else
-#  include "boost/mpl/bool.hpp"
-#endif
-#include <boost/function_equal.hpp>
-#include <boost/function/function_fwd.hpp>
-
-#if defined(BOOST_MSVC)
-#   pragma warning( push )
-#   pragma warning( disable : 4793 ) // complaint about native code generation
-#   pragma warning( disable : 4127 ) // "conditional expression is constant"
-#endif       
-
-// Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.
-#ifdef BOOST_NO_STD_TYPEINFO
-// Embedded VC++ does not have type_info in namespace std
-#  define BOOST_FUNCTION_STD_NS
-#else
-#  define BOOST_FUNCTION_STD_NS std
-#endif
-
-// Borrowed from Boost.Python library: determines the cases where we
-// need to use std::type_info::name to compare instead of operator==.
-#if defined( BOOST_NO_TYPEID )
-#  define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y))
-#elif (defined(__GNUC__) && __GNUC__ >= 3) \
- || defined(_AIX) \
- || (   defined(__sgi) && defined(__host_mips))
-#  include <cstring>
-#  define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) \
-     (std::strcmp((X).name(),(Y).name()) == 0)
-# else
-#  define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y))
-#endif
-
-#if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 || defined(__ICL) && __ICL <= 600 || defined(__MWERKS__) && __MWERKS__ < 0x2406 && !defined(BOOST_STRICT_CONFIG)
-#  define BOOST_FUNCTION_TARGET_FIX(x) x
-#else
-#  define BOOST_FUNCTION_TARGET_FIX(x)
-#endif // not MSVC
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x5A0)
-#  define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type)              \
-      typename ::boost::enable_if_c<(::boost::type_traits::ice_not<          \
-                            (::boost::is_integral<Functor>::value)>::value), \
-                           Type>::type
-#else
-// BCC doesn't recognize this depends on a template argument and complains
-// about the use of 'typename'
-#  define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type)     \
-      ::boost::enable_if_c<(::boost::type_traits::ice_not<          \
-                   (::boost::is_integral<Functor>::value)>::value), \
-                       Type>::type
-#endif
-
-namespace boost {
-  namespace detail {
-    namespace function {
-      class X;
-
-      /**
-       * A buffer used to store small function objects in
-       * boost::function. It is a union containing function pointers,
-       * object pointers, and a structure that resembles a bound
-       * member function pointer.
-       */
-      union function_buffer
-      {
-        // For pointers to function objects
-        mutable void* obj_ptr;
-
-        // For pointers to std::type_info objects
-        struct type_t {
-          // (get_functor_type_tag, check_functor_type_tag).
-          const detail::sp_typeinfo* type;
-
-          // Whether the type is const-qualified.
-          bool const_qualified;
-          // Whether the type is volatile-qualified.
-          bool volatile_qualified;
-        } type;
-
-        // For function pointers of all kinds
-        mutable void (*func_ptr)();
-
-        // For bound member pointers
-        struct bound_memfunc_ptr_t {
-          void (X::*memfunc_ptr)(int);
-          void* obj_ptr;
-        } bound_memfunc_ptr;
-
-        // For references to function objects. We explicitly keep
-        // track of the cv-qualifiers on the object referenced.
-        struct obj_ref_t {
-          mutable void* obj_ptr;
-          bool is_const_qualified;
-          bool is_volatile_qualified;
-        } obj_ref;
-
-        // To relax aliasing constraints
-        mutable char data;
-      };
-
-      /**
-       * The unusable class is a placeholder for unused function arguments
-       * It is also completely unusable except that it constructable from
-       * anything. This helps compilers without partial specialization to
-       * handle Boost.Function objects returning void.
-       */
-      struct unusable
-      {
-        unusable() {}
-        template<typename T> unusable(const T&) {}
-      };
-
-      /* Determine the return type. This supports compilers that do not support
-       * void returns or partial specialization by silently changing the return
-       * type to "unusable".
-       */
-      template<typename T> struct function_return_type { typedef T type; };
-
-      template<>
-      struct function_return_type<void>
-      {
-        typedef unusable type;
-      };
-
-      // The operation type to perform on the given functor/function pointer
-      enum functor_manager_operation_type {
-        clone_functor_tag,
-        move_functor_tag,
-        destroy_functor_tag,
-        check_functor_type_tag,
-        get_functor_type_tag
-      };
-
-      // Tags used to decide between different types of functions
-      struct function_ptr_tag {};
-      struct function_obj_tag {};
-      struct member_ptr_tag {};
-      struct function_obj_ref_tag {};
-
-      template<typename F>
-      class get_function_tag
-      {
-        typedef typename mpl::if_c<(is_pointer<F>::value),
-                                   function_ptr_tag,
-                                   function_obj_tag>::type ptr_or_obj_tag;
-
-        typedef typename mpl::if_c<(is_member_pointer<F>::value),
-                                   member_ptr_tag,
-                                   ptr_or_obj_tag>::type ptr_or_obj_or_mem_tag;
-
-        typedef typename mpl::if_c<(is_reference_wrapper<F>::value),
-                                   function_obj_ref_tag,
-                                   ptr_or_obj_or_mem_tag>::type or_ref_tag;
-
-      public:
-        typedef or_ref_tag type;
-      };
-
-      // The trivial manager does nothing but return the same pointer (if we
-      // are cloning) or return the null pointer (if we are deleting).
-      template<typename F>
-      struct reference_manager
-      {
-        static inline void
-        manage(const function_buffer& in_buffer, function_buffer& out_buffer, 
-               functor_manager_operation_type op)
-        {
-          switch (op) {
-          case clone_functor_tag: 
-            out_buffer.obj_ref = in_buffer.obj_ref;
-            return;
-
-          case move_functor_tag:
-            out_buffer.obj_ref = in_buffer.obj_ref;
-            in_buffer.obj_ref.obj_ptr = 0;
-            return;
-
-          case destroy_functor_tag:
-            out_buffer.obj_ref.obj_ptr = 0;
-            return;
-
-          case check_functor_type_tag:
-            {
-              const detail::sp_typeinfo& check_type 
-                = *out_buffer.type.type;
-
-              // Check whether we have the same type. We can add
-              // cv-qualifiers, but we can't take them away.
-              if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(F))
-                  && (!in_buffer.obj_ref.is_const_qualified 
-                      || out_buffer.type.const_qualified)
-                  && (!in_buffer.obj_ref.is_volatile_qualified
-                      || out_buffer.type.volatile_qualified))
-                out_buffer.obj_ptr = in_buffer.obj_ref.obj_ptr;
-              else
-                out_buffer.obj_ptr = 0;
-            }
-            return;
-
-          case get_functor_type_tag:
-            out_buffer.type.type = &BOOST_SP_TYPEID(F);
-            out_buffer.type.const_qualified = in_buffer.obj_ref.is_const_qualified;
-            out_buffer.type.volatile_qualified = in_buffer.obj_ref.is_volatile_qualified;
-            return;
-          }
-        }
-      };
-
-      /**
-       * Determine if boost::function can use the small-object
-       * optimization with the function object type F.
-       */
-      template<typename F>
-      struct function_allows_small_object_optimization
-      {
-        BOOST_STATIC_CONSTANT
-          (bool, 
-           value = ((sizeof(F) <= sizeof(function_buffer) &&
-                     (alignment_of<function_buffer>::value 
-                      % alignment_of<F>::value == 0))));
-      };
-
-      template <typename F,typename A>
-      struct functor_wrapper: public F, public A
-      {
-        functor_wrapper( F f, A a ):
-          F(f),
-          A(a)
-        {
-        }
-        
-        functor_wrapper(const functor_wrapper& f) :
-          F(static_cast<const F&>(f)),
-          A(static_cast<const A&>(f))
-        {
-        }
-      };
-
-      /**
-       * The functor_manager class contains a static function "manage" which
-       * can clone or destroy the given function/function object pointer.
-       */
-      template<typename Functor>
-      struct functor_manager_common
-      {
-        typedef Functor functor_type;
-
-        // Function pointers
-        static inline void
-        manage_ptr(const function_buffer& in_buffer, function_buffer& out_buffer, 
-                functor_manager_operation_type op)
-        {
-          if (op == clone_functor_tag)
-            out_buffer.func_ptr = in_buffer.func_ptr;
-          else if (op == move_functor_tag) {
-            out_buffer.func_ptr = in_buffer.func_ptr;
-            in_buffer.func_ptr = 0;
-          } else if (op == destroy_functor_tag)
-            out_buffer.func_ptr = 0;
-          else if (op == check_functor_type_tag) {
-            const detail::sp_typeinfo& check_type 
-              = *out_buffer.type.type;
-            if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor)))
-              out_buffer.obj_ptr = &in_buffer.func_ptr;
-            else
-              out_buffer.obj_ptr = 0;
-          } else /* op == get_functor_type_tag */ {
-            out_buffer.type.type = &BOOST_SP_TYPEID(Functor);
-            out_buffer.type.const_qualified = false;
-            out_buffer.type.volatile_qualified = false;
-          }
-        }
-
-        // Function objects that fit in the small-object buffer.
-        static inline void
-        manage_small(const function_buffer& in_buffer, function_buffer& out_buffer, 
-                functor_manager_operation_type op)
-        {
-          if (op == clone_functor_tag || op == move_functor_tag) {
-            const functor_type* in_functor = 
-              reinterpret_cast<const functor_type*>(&in_buffer.data);
-            new (reinterpret_cast<void*>(&out_buffer.data)) functor_type(*in_functor);
-
-            if (op == move_functor_tag) {
-              functor_type* f = reinterpret_cast<functor_type*>(&in_buffer.data);
-              (void)f; // suppress warning about the value of f not being used (MSVC)
-              f->~Functor();
-            }
-          } else if (op == destroy_functor_tag) {
-            // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type.
-             functor_type* f = reinterpret_cast<functor_type*>(&out_buffer.data);
-             (void)f; // suppress warning about the value of f not being used (MSVC)
-             f->~Functor();
-          } else if (op == check_functor_type_tag) {
-            const detail::sp_typeinfo& check_type 
-              = *out_buffer.type.type;
-            if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor)))
-              out_buffer.obj_ptr = &in_buffer.data;
-            else
-              out_buffer.obj_ptr = 0;
-          } else /* op == get_functor_type_tag */ {
-            out_buffer.type.type = &BOOST_SP_TYPEID(Functor);
-            out_buffer.type.const_qualified = false;
-            out_buffer.type.volatile_qualified = false;            
-          }
-        }
-      };
-
-      template<typename Functor>
-      struct functor_manager
-      {
-      private:
-        typedef Functor functor_type;
-
-        // Function pointers
-        static inline void
-        manager(const function_buffer& in_buffer, function_buffer& out_buffer, 
-                functor_manager_operation_type op, function_ptr_tag)
-        {
-          functor_manager_common<Functor>::manage_ptr(in_buffer,out_buffer,op);
-        }
-
-        // Function objects that fit in the small-object buffer.
-        static inline void
-        manager(const function_buffer& in_buffer, function_buffer& out_buffer, 
-                functor_manager_operation_type op, mpl::true_)
-        {
-          functor_manager_common<Functor>::manage_small(in_buffer,out_buffer,op);
-        }
-        
-        // Function objects that require heap allocation
-        static inline void
-        manager(const function_buffer& in_buffer, function_buffer& out_buffer, 
-                functor_manager_operation_type op, mpl::false_)
-        {
-          if (op == clone_functor_tag) {
-            // Clone the functor
-            // GCC 2.95.3 gets the CV qualifiers wrong here, so we
-            // can't do the static_cast that we should do.
-            // jewillco: Changing this to static_cast because GCC 2.95.3 is
-            // obsolete.
-            const functor_type* f =
-              static_cast<const functor_type*>(in_buffer.obj_ptr);
-            functor_type* new_f = new functor_type(*f);
-            out_buffer.obj_ptr = new_f;
-          } else if (op == move_functor_tag) {
-            out_buffer.obj_ptr = in_buffer.obj_ptr;
-            in_buffer.obj_ptr = 0;
-          } else if (op == destroy_functor_tag) {
-            /* Cast from the void pointer to the functor pointer type */
-            functor_type* f =
-              static_cast<functor_type*>(out_buffer.obj_ptr);
-            delete f;
-            out_buffer.obj_ptr = 0;
-          } else if (op == check_functor_type_tag) {
-            const detail::sp_typeinfo& check_type
-              = *out_buffer.type.type;
-            if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor)))
-              out_buffer.obj_ptr = in_buffer.obj_ptr;
-            else
-              out_buffer.obj_ptr = 0;
-          } else /* op == get_functor_type_tag */ {
-            out_buffer.type.type = &BOOST_SP_TYPEID(Functor);
-            out_buffer.type.const_qualified = false;
-            out_buffer.type.volatile_qualified = false;
-          }
-        }
-
-        // For function objects, we determine whether the function
-        // object can use the small-object optimization buffer or
-        // whether we need to allocate it on the heap.
-        static inline void
-        manager(const function_buffer& in_buffer, function_buffer& out_buffer, 
-                functor_manager_operation_type op, function_obj_tag)
-        {
-          manager(in_buffer, out_buffer, op,
-                  mpl::bool_<(function_allows_small_object_optimization<functor_type>::value)>());
-        }
-
-        // For member pointers, we use the small-object optimization buffer.
-        static inline void
-        manager(const function_buffer& in_buffer, function_buffer& out_buffer, 
-                functor_manager_operation_type op, member_ptr_tag)
-        {
-          manager(in_buffer, out_buffer, op, mpl::true_());
-        }
-
-      public:
-        /* Dispatch to an appropriate manager based on whether we have a
-           function pointer or a function object pointer. */
-        static inline void
-        manage(const function_buffer& in_buffer, function_buffer& out_buffer, 
-               functor_manager_operation_type op)
-        {
-          typedef typename get_function_tag<functor_type>::type tag_type;
-          switch (op) {
-          case get_functor_type_tag:
-            out_buffer.type.type = &BOOST_SP_TYPEID(functor_type);
-            out_buffer.type.const_qualified = false;
-            out_buffer.type.volatile_qualified = false;
-            return;
-
-          default:
-            manager(in_buffer, out_buffer, op, tag_type());
-            return;
-          }
-        }
-      };
-
-      template<typename Functor, typename Allocator>
-      struct functor_manager_a
-      {
-      private:
-        typedef Functor functor_type;
-
-        // Function pointers
-        static inline void
-        manager(const function_buffer& in_buffer, function_buffer& out_buffer, 
-                functor_manager_operation_type op, function_ptr_tag)
-        {
-          functor_manager_common<Functor>::manage_ptr(in_buffer,out_buffer,op);
-        }
-
-        // Function objects that fit in the small-object buffer.
-        static inline void
-        manager(const function_buffer& in_buffer, function_buffer& out_buffer, 
-                functor_manager_operation_type op, mpl::true_)
-        {
-          functor_manager_common<Functor>::manage_small(in_buffer,out_buffer,op);
-        }
-        
-        // Function objects that require heap allocation
-        static inline void
-        manager(const function_buffer& in_buffer, function_buffer& out_buffer, 
-                functor_manager_operation_type op, mpl::false_)
-        {
-          typedef functor_wrapper<Functor,Allocator> functor_wrapper_type;
-          typedef typename Allocator::template rebind<functor_wrapper_type>::other
-            wrapper_allocator_type;
-          typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type;
-
-          if (op == clone_functor_tag) {
-            // Clone the functor
-            // GCC 2.95.3 gets the CV qualifiers wrong here, so we
-            // can't do the static_cast that we should do.
-            const functor_wrapper_type* f =
-              static_cast<const functor_wrapper_type*>(in_buffer.obj_ptr);
-            wrapper_allocator_type wrapper_allocator(static_cast<Allocator const &>(*f));
-            wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1);
-            wrapper_allocator.construct(copy, *f);
-
-            // Get back to the original pointer type
-            functor_wrapper_type* new_f = static_cast<functor_wrapper_type*>(copy);
-            out_buffer.obj_ptr = new_f;
-          } else if (op == move_functor_tag) {
-            out_buffer.obj_ptr = in_buffer.obj_ptr;
-            in_buffer.obj_ptr = 0;
-          } else if (op == destroy_functor_tag) {
-            /* Cast from the void pointer to the functor_wrapper_type */
-            functor_wrapper_type* victim =
-              static_cast<functor_wrapper_type*>(in_buffer.obj_ptr);
-            wrapper_allocator_type wrapper_allocator(static_cast<Allocator const &>(*victim));
-            wrapper_allocator.destroy(victim);
-            wrapper_allocator.deallocate(victim,1);
-            out_buffer.obj_ptr = 0;
-          } else if (op == check_functor_type_tag) {
-            const detail::sp_typeinfo& check_type 
-              = *out_buffer.type.type;
-            if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor)))
-              out_buffer.obj_ptr = in_buffer.obj_ptr;
-            else
-              out_buffer.obj_ptr = 0;
-          } else /* op == get_functor_type_tag */ {
-            out_buffer.type.type = &BOOST_SP_TYPEID(Functor);
-            out_buffer.type.const_qualified = false;
-            out_buffer.type.volatile_qualified = false;
-          }
-        }
-
-        // For function objects, we determine whether the function
-        // object can use the small-object optimization buffer or
-        // whether we need to allocate it on the heap.
-        static inline void
-        manager(const function_buffer& in_buffer, function_buffer& out_buffer, 
-                functor_manager_operation_type op, function_obj_tag)
-        {
-          manager(in_buffer, out_buffer, op,
-                  mpl::bool_<(function_allows_small_object_optimization<functor_type>::value)>());
-        }
-
-      public:
-        /* Dispatch to an appropriate manager based on whether we have a
-           function pointer or a function object pointer. */
-        static inline void
-        manage(const function_buffer& in_buffer, function_buffer& out_buffer, 
-               functor_manager_operation_type op)
-        {
-          typedef typename get_function_tag<functor_type>::type tag_type;
-          switch (op) {
-          case get_functor_type_tag:
-            out_buffer.type.type = &BOOST_SP_TYPEID(functor_type);
-            out_buffer.type.const_qualified = false;
-            out_buffer.type.volatile_qualified = false;
-            return;
-
-          default:
-            manager(in_buffer, out_buffer, op, tag_type());
-            return;
-          }
-        }
-      };
-
-      // A type that is only used for comparisons against zero
-      struct useless_clear_type {};
-
-#ifdef BOOST_NO_SFINAE
-      // These routines perform comparisons between a Boost.Function
-      // object and an arbitrary function object (when the last
-      // parameter is mpl::bool_<false>) or against zero (when the
-      // last parameter is mpl::bool_<true>). They are only necessary
-      // for compilers that don't support SFINAE.
-      template<typename Function, typename Functor>
-        bool
-        compare_equal(const Function& f, const Functor&, int, mpl::bool_<true>)
-        { return f.empty(); }
-
-      template<typename Function, typename Functor>
-        bool
-        compare_not_equal(const Function& f, const Functor&, int,
-                          mpl::bool_<true>)
-        { return !f.empty(); }
-
-      template<typename Function, typename Functor>
-        bool
-        compare_equal(const Function& f, const Functor& g, long,
-                      mpl::bool_<false>)
-        {
-          if (const Functor* fp = f.template target<Functor>())
-            return function_equal(*fp, g);
-          else return false;
-        }
-
-      template<typename Function, typename Functor>
-        bool
-        compare_equal(const Function& f, const reference_wrapper<Functor>& g,
-                      int, mpl::bool_<false>)
-        {
-          if (const Functor* fp = f.template target<Functor>())
-            return fp == g.get_pointer();
-          else return false;
-        }
-
-      template<typename Function, typename Functor>
-        bool
-        compare_not_equal(const Function& f, const Functor& g, long,
-                          mpl::bool_<false>)
-        {
-          if (const Functor* fp = f.template target<Functor>())
-            return !function_equal(*fp, g);
-          else return true;
-        }
-
-      template<typename Function, typename Functor>
-        bool
-        compare_not_equal(const Function& f,
-                          const reference_wrapper<Functor>& g, int,
-                          mpl::bool_<false>)
-        {
-          if (const Functor* fp = f.template target<Functor>())
-            return fp != g.get_pointer();
-          else return true;
-        }
-#endif // BOOST_NO_SFINAE
-
-      /**
-       * Stores the "manager" portion of the vtable for a
-       * boost::function object.
-       */
-      struct vtable_base
-      {
-        void (*manager)(const function_buffer& in_buffer, 
-                        function_buffer& out_buffer, 
-                        functor_manager_operation_type op);
-      };
-    } // end namespace function
-  } // end namespace detail
-
-/**
- * The function_base class contains the basic elements needed for the
- * function1, function2, function3, etc. classes. It is common to all
- * functions (and as such can be used to tell if we have one of the
- * functionN objects).
- */
-class function_base
-{
-public:
-  function_base() : vtable(0) { }
-
-  /** Determine if the function is empty (i.e., has no target). */
-  bool empty() const { return !vtable; }
-
-  /** Retrieve the type of the stored function object, or BOOST_SP_TYPEID(void)
-      if this is empty. */
-  const detail::sp_typeinfo& target_type() const
-  {
-    if (!vtable) return BOOST_SP_TYPEID(void);
-
-    detail::function::function_buffer type;
-    get_vtable()->manager(functor, type, detail::function::get_functor_type_tag);
-    return *type.type.type;
-  }
-
-  template<typename Functor>
-    Functor* target()
-    {
-      if (!vtable) return 0;
-
-      detail::function::function_buffer type_result;
-      type_result.type.type = &BOOST_SP_TYPEID(Functor);
-      type_result.type.const_qualified = is_const<Functor>::value;
-      type_result.type.volatile_qualified = is_volatile<Functor>::value;
-      get_vtable()->manager(functor, type_result, 
-                      detail::function::check_functor_type_tag);
-      return static_cast<Functor*>(type_result.obj_ptr);
-    }
-
-  template<typename Functor>
-#if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    const Functor* target( Functor * = 0 ) const
-#else
-    const Functor* target() const
-#endif
-    {
-      if (!vtable) return 0;
-
-      detail::function::function_buffer type_result;
-      type_result.type.type = &BOOST_SP_TYPEID(Functor);
-      type_result.type.const_qualified = true;
-      type_result.type.volatile_qualified = is_volatile<Functor>::value;
-      get_vtable()->manager(functor, type_result, 
-                      detail::function::check_functor_type_tag);
-      // GCC 2.95.3 gets the CV qualifiers wrong here, so we
-      // can't do the static_cast that we should do.
-      return static_cast<const Functor*>(type_result.obj_ptr);
-    }
-
-  template<typename F>
-    bool contains(const F& f) const
-    {
-#if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-      if (const F* fp = this->target( (F*)0 ))
-#else
-      if (const F* fp = this->template target<F>())
-#endif
-      {
-        return function_equal(*fp, f);
-      } else {
-        return false;
-      }
-    }
-
-#if defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3
-  // GCC 3.3 and newer cannot copy with the global operator==, due to
-  // problems with instantiation of function return types before it
-  // has been verified that the argument types match up.
-  template<typename Functor>
-    BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
-    operator==(Functor g) const
-    {
-      if (const Functor* fp = target<Functor>())
-        return function_equal(*fp, g);
-      else return false;
-    }
-
-  template<typename Functor>
-    BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
-    operator!=(Functor g) const
-    {
-      if (const Functor* fp = target<Functor>())
-        return !function_equal(*fp, g);
-      else return true;
-    }
-#endif
-
-public: // should be protected, but GCC 2.95.3 will fail to allow access
-  detail::function::vtable_base* get_vtable() const {
-    return reinterpret_cast<detail::function::vtable_base*>(
-             reinterpret_cast<std::size_t>(vtable) & ~static_cast<std::size_t>(0x01));
-  }
-
-  bool has_trivial_copy_and_destroy() const {
-    return reinterpret_cast<std::size_t>(vtable) & 0x01;
-  }
-
-  detail::function::vtable_base* vtable;
-  mutable detail::function::function_buffer functor;
-};
-
-/**
- * The bad_function_call exception class is thrown when a boost::function
- * object is invoked
- */
-class bad_function_call : public std::runtime_error
-{
-public:
-  bad_function_call() : std::runtime_error("call to empty boost::function") {}
-};
-
-#ifndef BOOST_NO_SFINAE
-inline bool operator==(const function_base& f,
-                       detail::function::useless_clear_type*)
-{
-  return f.empty();
-}
-
-inline bool operator!=(const function_base& f,
-                       detail::function::useless_clear_type*)
-{
-  return !f.empty();
-}
-
-inline bool operator==(detail::function::useless_clear_type*,
-                       const function_base& f)
-{
-  return f.empty();
-}
-
-inline bool operator!=(detail::function::useless_clear_type*,
-                       const function_base& f)
-{
-  return !f.empty();
-}
-#endif
-
-#ifdef BOOST_NO_SFINAE
-// Comparisons between boost::function objects and arbitrary function objects
-template<typename Functor>
-  inline bool operator==(const function_base& f, Functor g)
-  {
-    typedef mpl::bool_<(is_integral<Functor>::value)> integral;
-    return detail::function::compare_equal(f, g, 0, integral());
-  }
-
-template<typename Functor>
-  inline bool operator==(Functor g, const function_base& f)
-  {
-    typedef mpl::bool_<(is_integral<Functor>::value)> integral;
-    return detail::function::compare_equal(f, g, 0, integral());
-  }
-
-template<typename Functor>
-  inline bool operator!=(const function_base& f, Functor g)
-  {
-    typedef mpl::bool_<(is_integral<Functor>::value)> integral;
-    return detail::function::compare_not_equal(f, g, 0, integral());
-  }
-
-template<typename Functor>
-  inline bool operator!=(Functor g, const function_base& f)
-  {
-    typedef mpl::bool_<(is_integral<Functor>::value)> integral;
-    return detail::function::compare_not_equal(f, g, 0, integral());
-  }
-#else
-
-#  if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
-// Comparisons between boost::function objects and arbitrary function
-// objects. GCC 3.3 and before has an obnoxious bug that prevents this
-// from working.
-template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
-  operator==(const function_base& f, Functor g)
-  {
-    if (const Functor* fp = f.template target<Functor>())
-      return function_equal(*fp, g);
-    else return false;
-  }
-
-template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
-  operator==(Functor g, const function_base& f)
-  {
-    if (const Functor* fp = f.template target<Functor>())
-      return function_equal(g, *fp);
-    else return false;
-  }
-
-template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
-  operator!=(const function_base& f, Functor g)
-  {
-    if (const Functor* fp = f.template target<Functor>())
-      return !function_equal(*fp, g);
-    else return true;
-  }
-
-template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
-  operator!=(Functor g, const function_base& f)
-  {
-    if (const Functor* fp = f.template target<Functor>())
-      return !function_equal(g, *fp);
-    else return true;
-  }
-#  endif
-
-template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
-  operator==(const function_base& f, reference_wrapper<Functor> g)
-  {
-    if (const Functor* fp = f.template target<Functor>())
-      return fp == g.get_pointer();
-    else return false;
-  }
-
-template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
-  operator==(reference_wrapper<Functor> g, const function_base& f)
-  {
-    if (const Functor* fp = f.template target<Functor>())
-      return g.get_pointer() == fp;
-    else return false;
-  }
-
-template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
-  operator!=(const function_base& f, reference_wrapper<Functor> g)
-  {
-    if (const Functor* fp = f.template target<Functor>())
-      return fp != g.get_pointer();
-    else return true;
-  }
-
-template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
-  operator!=(reference_wrapper<Functor> g, const function_base& f)
-  {
-    if (const Functor* fp = f.template target<Functor>())
-      return g.get_pointer() != fp;
-    else return true;
-  }
-
-#endif // Compiler supporting SFINAE
-
-namespace detail {
-  namespace function {
-    inline bool has_empty_target(const function_base* f)
-    {
-      return f->empty();
-    }
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1310)
-    inline bool has_empty_target(const void*)
-    {
-      return false;
-    }
-#else
-    inline bool has_empty_target(...)
-    {
-      return false;
-    }
-#endif
-  } // end namespace function
-} // end namespace detail
-} // end namespace boost
-
-#undef BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL
-#undef BOOST_FUNCTION_COMPARE_TYPE_ID
-
-#if defined(BOOST_MSVC)
-#   pragma warning( pop )
-#endif       
-
-#endif // BOOST_FUNCTION_BASE_HEADER
diff --git a/SRC/Boost/boost/function/function_fwd.hpp b/SRC/Boost/boost/function/function_fwd.hpp
deleted file mode 100755
index cc09283..0000000
--- a/SRC/Boost/boost/function/function_fwd.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// Boost.Function library
-//  Copyright (C) Douglas Gregor 2008
-//
-//  Use, modification and distribution is subject to the Boost
-//  Software License, Version 1.0.  (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org
-#ifndef BOOST_FUNCTION_FWD_HPP
-#define BOOST_FUNCTION_FWD_HPP
-#include <boost/config.hpp>
-
-#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG)
-// Work around a compiler bug.
-// boost::python::objects::function has to be seen by the compiler before the
-// boost::function class template.
-namespace boost { namespace python { namespace objects {
-  class function;
-}}}
-#endif
-
-#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)                    \
- || defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG)                         \
- || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
-#  define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
-#endif
-
-namespace boost {
-  class bad_function_call;
-
-#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
-  // Preferred syntax
-  template<typename Signature> class function;
-
-  template<typename Signature>
-  inline void swap(function<Signature>& f1, function<Signature>& f2)
-  {
-    f1.swap(f2);
-  }
-#endif // have partial specialization
-
-  // Portable syntax
-  template<typename R> class function0;
-  template<typename R, typename T1> class function1;
-  template<typename R, typename T1, typename T2> class function2;
-  template<typename R, typename T1, typename T2, typename T3> class function3;
-  template<typename R, typename T1, typename T2, typename T3, typename T4> 
-    class function4;
-  template<typename R, typename T1, typename T2, typename T3, typename T4,
-           typename T5> 
-    class function5;
-  template<typename R, typename T1, typename T2, typename T3, typename T4,
-           typename T5, typename T6> 
-    class function6;
-  template<typename R, typename T1, typename T2, typename T3, typename T4,
-           typename T5, typename T6, typename T7> 
-    class function7;
-  template<typename R, typename T1, typename T2, typename T3, typename T4,
-           typename T5, typename T6, typename T7, typename T8> 
-    class function8;
-  template<typename R, typename T1, typename T2, typename T3, typename T4,
-           typename T5, typename T6, typename T7, typename T8, typename T9> 
-    class function9;
-  template<typename R, typename T1, typename T2, typename T3, typename T4,
-           typename T5, typename T6, typename T7, typename T8, typename T9,
-           typename T10> 
-    class function10;
-}
-
-#endif
diff --git a/SRC/Boost/boost/function/function_template.hpp b/SRC/Boost/boost/function/function_template.hpp
deleted file mode 100755
index 451a12a..0000000
--- a/SRC/Boost/boost/function/function_template.hpp
+++ /dev/null
@@ -1,1136 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2001-2006
-//  Copyright Emil Dotchevski 2007
-//  Use, modification and distribution is subject to the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-// Note: this header is a header template and must NOT have multiple-inclusion
-// protection.
-#include <boost/function/detail/prologue.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-
-#if defined(BOOST_MSVC)
-#   pragma warning( push )
-#   pragma warning( disable : 4127 ) // "conditional expression is constant"
-#endif       
-
-#define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
-
-#define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
-
-#define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
-
-#define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
-
-#define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
-
-#define BOOST_FUNCTION_ARG_TYPE(J,I,D) \
-  typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(BOOST_PP_CAT(arg, BOOST_PP_INC(I)),_type);
-
-#define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
-
-// Comma if nonzero number of arguments
-#if BOOST_FUNCTION_NUM_ARGS == 0
-#  define BOOST_FUNCTION_COMMA
-#else
-#  define BOOST_FUNCTION_COMMA ,
-#endif // BOOST_FUNCTION_NUM_ARGS > 0
-
-// Class names used in this version of the code
-#define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_FUNCTION_INVOKER \
-  BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_VOID_FUNCTION_INVOKER \
-  BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER \
-  BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER \
-  BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_FUNCTION_REF_INVOKER \
-  BOOST_JOIN(function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER \
-  BOOST_JOIN(void_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_MEMBER_INVOKER \
-  BOOST_JOIN(function_mem_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_VOID_MEMBER_INVOKER \
-  BOOST_JOIN(function_void_mem_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_GET_FUNCTION_INVOKER \
-  BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER \
-  BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER \
-  BOOST_JOIN(get_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_GET_MEMBER_INVOKER \
-  BOOST_JOIN(get_member_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_GET_INVOKER \
-  BOOST_JOIN(get_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_VTABLE BOOST_JOIN(basic_vtable,BOOST_FUNCTION_NUM_ARGS)
-
-#ifndef BOOST_NO_VOID_RETURNS
-#  define BOOST_FUNCTION_VOID_RETURN_TYPE void
-#  define BOOST_FUNCTION_RETURN(X) X
-#else
-#  define BOOST_FUNCTION_VOID_RETURN_TYPE boost::detail::function::unusable
-#  define BOOST_FUNCTION_RETURN(X) X; return BOOST_FUNCTION_VOID_RETURN_TYPE ()
-#endif
-
-namespace boost {
-  namespace detail {
-    namespace function {
-      template<
-        typename FunctionPtr,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
-        >
-      struct BOOST_FUNCTION_FUNCTION_INVOKER
-      {
-        static R invoke(function_buffer& function_ptr BOOST_FUNCTION_COMMA
-                        BOOST_FUNCTION_PARMS)
-        {
-          FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
-          return f(BOOST_FUNCTION_ARGS);
-        }
-      };
-
-      template<
-        typename FunctionPtr,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
-        >
-      struct BOOST_FUNCTION_VOID_FUNCTION_INVOKER
-      {
-        static BOOST_FUNCTION_VOID_RETURN_TYPE
-        invoke(function_buffer& function_ptr BOOST_FUNCTION_COMMA
-               BOOST_FUNCTION_PARMS)
-
-        {
-          FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
-          BOOST_FUNCTION_RETURN(f(BOOST_FUNCTION_ARGS));
-        }
-      };
-
-      template<
-        typename FunctionObj,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
-      >
-      struct BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
-      {
-        static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-                        BOOST_FUNCTION_PARMS)
-
-        {
-          FunctionObj* f;
-          if (function_allows_small_object_optimization<FunctionObj>::value)
-            f = reinterpret_cast<FunctionObj*>(&function_obj_ptr.data);
-          else
-            f = reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);
-          return (*f)(BOOST_FUNCTION_ARGS);
-        }
-      };
-
-      template<
-        typename FunctionObj,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
-      >
-      struct BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
-      {
-        static BOOST_FUNCTION_VOID_RETURN_TYPE
-        invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-               BOOST_FUNCTION_PARMS)
-
-        {
-          FunctionObj* f;
-          if (function_allows_small_object_optimization<FunctionObj>::value)
-            f = reinterpret_cast<FunctionObj*>(&function_obj_ptr.data);
-          else
-            f = reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);
-          BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS));
-        }
-      };
-
-      template<
-        typename FunctionObj,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
-      >
-      struct BOOST_FUNCTION_FUNCTION_REF_INVOKER
-      {
-        static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-                        BOOST_FUNCTION_PARMS)
-
-        {
-          FunctionObj* f = 
-            reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);
-          return (*f)(BOOST_FUNCTION_ARGS);
-        }
-      };
-
-      template<
-        typename FunctionObj,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
-      >
-      struct BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER
-      {
-        static BOOST_FUNCTION_VOID_RETURN_TYPE
-        invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-               BOOST_FUNCTION_PARMS)
-
-        {
-          FunctionObj* f = 
-            reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);
-          BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS));
-        }
-      };
-
-#if BOOST_FUNCTION_NUM_ARGS > 0
-      /* Handle invocation of member pointers. */
-      template<
-        typename MemberPtr,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
-      >
-      struct BOOST_FUNCTION_MEMBER_INVOKER
-      {
-        static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-                        BOOST_FUNCTION_PARMS)
-
-        {
-          MemberPtr* f = 
-            reinterpret_cast<MemberPtr*>(&function_obj_ptr.data);
-          return boost::mem_fn(*f)(BOOST_FUNCTION_ARGS);
-        }
-      };
-
-      template<
-        typename MemberPtr,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
-      >
-      struct BOOST_FUNCTION_VOID_MEMBER_INVOKER
-      {
-        static BOOST_FUNCTION_VOID_RETURN_TYPE
-        invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-               BOOST_FUNCTION_PARMS)
-
-        {
-          MemberPtr* f = 
-            reinterpret_cast<MemberPtr*>(&function_obj_ptr.data);
-          BOOST_FUNCTION_RETURN(boost::mem_fn(*f)(BOOST_FUNCTION_ARGS));
-        }
-      };
-#endif
-
-      template<
-        typename FunctionPtr,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
-      >
-      struct BOOST_FUNCTION_GET_FUNCTION_INVOKER
-      {
-        typedef typename mpl::if_c<(is_void<R>::value),
-                            BOOST_FUNCTION_VOID_FUNCTION_INVOKER<
-                            FunctionPtr,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
-                          >,
-                          BOOST_FUNCTION_FUNCTION_INVOKER<
-                            FunctionPtr,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
-                          >
-                       >::type type;
-      };
-
-      template<
-        typename FunctionObj,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
-       >
-      struct BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
-      {
-        typedef typename mpl::if_c<(is_void<R>::value),
-                            BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER<
-                            FunctionObj,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
-                          >,
-                          BOOST_FUNCTION_FUNCTION_OBJ_INVOKER<
-                            FunctionObj,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
-                          >
-                       >::type type;
-      };
-
-      template<
-        typename FunctionObj,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
-       >
-      struct BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER
-      {
-        typedef typename mpl::if_c<(is_void<R>::value),
-                            BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER<
-                            FunctionObj,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
-                          >,
-                          BOOST_FUNCTION_FUNCTION_REF_INVOKER<
-                            FunctionObj,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
-                          >
-                       >::type type;
-      };
-
-#if BOOST_FUNCTION_NUM_ARGS > 0
-      /* Retrieve the appropriate invoker for a member pointer.  */
-      template<
-        typename MemberPtr,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
-       >
-      struct BOOST_FUNCTION_GET_MEMBER_INVOKER
-      {
-        typedef typename mpl::if_c<(is_void<R>::value),
-                            BOOST_FUNCTION_VOID_MEMBER_INVOKER<
-                            MemberPtr,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
-                          >,
-                          BOOST_FUNCTION_MEMBER_INVOKER<
-                            MemberPtr,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
-                          >
-                       >::type type;
-      };
-#endif
-
-      /* Given the tag returned by get_function_tag, retrieve the
-         actual invoker that will be used for the given function
-         object. 
-
-         Each specialization contains an "apply" nested class template
-         that accepts the function object, return type, function
-         argument types, and allocator. The resulting "apply" class
-         contains two typedefs, "invoker_type" and "manager_type",
-         which correspond to the invoker and manager types. */
-      template<typename Tag>
-      struct BOOST_FUNCTION_GET_INVOKER { };
-
-      /* Retrieve the invoker for a function pointer. */
-      template<>
-      struct BOOST_FUNCTION_GET_INVOKER<function_ptr_tag>
-      {
-        template<typename FunctionPtr,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
-        struct apply
-        {
-          typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
-                             FunctionPtr,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
-                           >::type
-            invoker_type;
-
-          typedef functor_manager<FunctionPtr> manager_type;
-        };
-
-        template<typename FunctionPtr,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
-                 typename Allocator>
-        struct apply_a
-        {
-          typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
-                             FunctionPtr,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
-                           >::type
-            invoker_type;
-
-          typedef functor_manager<FunctionPtr> manager_type;
-        };
-      };
-
-#if BOOST_FUNCTION_NUM_ARGS > 0
-      /* Retrieve the invoker for a member pointer. */
-      template<>
-      struct BOOST_FUNCTION_GET_INVOKER<member_ptr_tag>
-      {
-        template<typename MemberPtr,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
-        struct apply
-        {
-          typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER<
-                             MemberPtr,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
-                           >::type
-            invoker_type;
-
-          typedef functor_manager<MemberPtr> manager_type;
-        };
-
-        template<typename MemberPtr,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
-                 typename Allocator>
-        struct apply_a
-        {
-          typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER<
-                             MemberPtr,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
-                           >::type
-            invoker_type;
-
-          typedef functor_manager<MemberPtr> manager_type;
-        };
-      };
-#endif
-
-      /* Retrieve the invoker for a function object. */
-      template<>
-      struct BOOST_FUNCTION_GET_INVOKER<function_obj_tag>
-      {
-        template<typename FunctionObj,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
-        struct apply
-        {
-          typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
-                             FunctionObj,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
-                           >::type
-            invoker_type;
-
-          typedef functor_manager<FunctionObj> manager_type;
-        };
-
-        template<typename FunctionObj,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
-                 typename Allocator>
-        struct apply_a
-        {
-          typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
-                             FunctionObj,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
-                           >::type
-            invoker_type;
-
-          typedef functor_manager_a<FunctionObj, Allocator> manager_type;
-        };
-      };
-
-      /* Retrieve the invoker for a reference to a function object. */
-      template<>
-      struct BOOST_FUNCTION_GET_INVOKER<function_obj_ref_tag>
-      {
-        template<typename RefWrapper,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
-        struct apply
-        {
-          typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
-                             typename RefWrapper::type,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
-                           >::type
-            invoker_type;
-
-          typedef reference_manager<typename RefWrapper::type> manager_type;
-        };
-
-        template<typename RefWrapper,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
-                 typename Allocator>
-        struct apply_a
-        {
-          typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
-                             typename RefWrapper::type,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
-                           >::type
-            invoker_type;
-
-          typedef reference_manager<typename RefWrapper::type> manager_type;
-        };
-      };
-
-
-      /**
-       * vtable for a specific boost::function instance. This
-       * structure must be an aggregate so that we can use static
-       * initialization in boost::function's assign_to and assign_to_a
-       * members. It therefore cannot have any constructors,
-       * destructors, base classes, etc.
-       */
-      template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
-      struct BOOST_FUNCTION_VTABLE
-      {
-#ifndef BOOST_NO_VOID_RETURNS
-        typedef R         result_type;
-#else
-        typedef typename function_return_type<R>::type result_type;
-#endif // BOOST_NO_VOID_RETURNS
-
-        typedef result_type (*invoker_type)(function_buffer&
-                                            BOOST_FUNCTION_COMMA
-                                            BOOST_FUNCTION_TEMPLATE_ARGS);
-
-        template<typename F>
-        bool assign_to(F f, function_buffer& functor) const
-        {
-          typedef typename get_function_tag<F>::type tag;
-          return assign_to(f, functor, tag());
-        }
-        template<typename F,typename Allocator>
-        bool assign_to_a(F f, function_buffer& functor, Allocator a) const
-        {
-          typedef typename get_function_tag<F>::type tag;
-          return assign_to_a(f, functor, a, tag());
-        }
-
-        void clear(function_buffer& functor) const
-        {
-          if (base.manager)
-            base.manager(functor, functor, destroy_functor_tag);
-        }
-
-      private:
-        // Function pointers
-        template<typename FunctionPtr>
-        bool 
-        assign_to(FunctionPtr f, function_buffer& functor, function_ptr_tag) const
-        {
-          this->clear(functor);
-          if (f) {
-            // should be a reinterpret cast, but some compilers insist
-            // on giving cv-qualifiers to free functions
-            functor.func_ptr = reinterpret_cast<void (*)()>(f);
-            return true;
-          } else {
-            return false;
-          }
-        }
-        template<typename FunctionPtr,typename Allocator>
-        bool 
-        assign_to_a(FunctionPtr f, function_buffer& functor, Allocator, function_ptr_tag) const
-        {
-          return assign_to(f,functor,function_ptr_tag());
-        }
-
-        // Member pointers
-#if BOOST_FUNCTION_NUM_ARGS > 0
-        template<typename MemberPtr>
-        bool assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag) const
-        {
-          // DPG TBD: Add explicit support for member function
-          // objects, so we invoke through mem_fn() but we retain the
-          // right target_type() values.
-          if (f) {
-            this->assign_to(boost::mem_fn(f), functor);
-            return true;
-          } else {
-            return false;
-          }
-        }
-        template<typename MemberPtr,typename Allocator>
-        bool assign_to_a(MemberPtr f, function_buffer& functor, Allocator a, member_ptr_tag) const
-        {
-          // DPG TBD: Add explicit support for member function
-          // objects, so we invoke through mem_fn() but we retain the
-          // right target_type() values.
-          if (f) {
-            this->assign_to_a(boost::mem_fn(f), functor, a);
-            return true;
-          } else {
-            return false;
-          }
-        }
-#endif // BOOST_FUNCTION_NUM_ARGS > 0
-
-        // Function objects
-        // Assign to a function object using the small object optimization
-        template<typename FunctionObj>
-        void 
-        assign_functor(FunctionObj f, function_buffer& functor, mpl::true_) const
-        {
-          new (reinterpret_cast<void*>(&functor.data)) FunctionObj(f);
-        }
-        template<typename FunctionObj,typename Allocator>
-        void 
-        assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, mpl::true_) const
-        {
-          assign_functor(f,functor,mpl::true_());
-        }
-
-        // Assign to a function object allocated on the heap.
-        template<typename FunctionObj>
-        void 
-        assign_functor(FunctionObj f, function_buffer& functor, mpl::false_) const
-        {
-          functor.obj_ptr = new FunctionObj(f);
-        }
-        template<typename FunctionObj,typename Allocator>
-        void 
-        assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, mpl::false_) const
-        {
-          typedef functor_wrapper<FunctionObj,Allocator> functor_wrapper_type;
-          typedef typename Allocator::template rebind<functor_wrapper_type>::other
-            wrapper_allocator_type;
-          typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type;
-          wrapper_allocator_type wrapper_allocator(a);
-          wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1);
-          wrapper_allocator.construct(copy, functor_wrapper_type(f,a));
-          functor_wrapper_type* new_f = static_cast<functor_wrapper_type*>(copy);
-          functor.obj_ptr = new_f;
-        }
-
-        template<typename FunctionObj>
-        bool 
-        assign_to(FunctionObj f, function_buffer& functor, function_obj_tag) const
-        {
-          if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
-            assign_functor(f, functor, 
-                           mpl::bool_<(function_allows_small_object_optimization<FunctionObj>::value)>());
-            return true;
-          } else {
-            return false;
-          }
-        }
-        template<typename FunctionObj,typename Allocator>
-        bool 
-        assign_to_a(FunctionObj f, function_buffer& functor, Allocator a, function_obj_tag) const
-        {
-          if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
-            assign_functor_a(f, functor, a,
-                           mpl::bool_<(function_allows_small_object_optimization<FunctionObj>::value)>());
-            return true;
-          } else {
-            return false;
-          }
-        }
-
-        // Reference to a function object
-        template<typename FunctionObj>
-        bool 
-        assign_to(const reference_wrapper<FunctionObj>& f, 
-                  function_buffer& functor, function_obj_ref_tag) const
-        {
-          functor.obj_ref.obj_ptr = (void *)(f.get_pointer());
-          functor.obj_ref.is_const_qualified = is_const<FunctionObj>::value;
-          functor.obj_ref.is_volatile_qualified = is_volatile<FunctionObj>::value;
-          return true;
-        }
-        template<typename FunctionObj,typename Allocator>
-        bool 
-        assign_to_a(const reference_wrapper<FunctionObj>& f, 
-                  function_buffer& functor, Allocator, function_obj_ref_tag) const
-        {
-          return assign_to(f,functor,function_obj_ref_tag());
-        }
-
-      public:
-        vtable_base base;
-        invoker_type invoker;
-      };
-    } // end namespace function
-  } // end namespace detail
-
-  template<
-    typename R BOOST_FUNCTION_COMMA
-    BOOST_FUNCTION_TEMPLATE_PARMS
-  >
-  class BOOST_FUNCTION_FUNCTION : public function_base
-
-#if BOOST_FUNCTION_NUM_ARGS == 1
-
-    , public std::unary_function<T0,R>
-
-#elif BOOST_FUNCTION_NUM_ARGS == 2
-
-    , public std::binary_function<T0,T1,R>
-
-#endif
-
-  {
-  public:
-#ifndef BOOST_NO_VOID_RETURNS
-    typedef R         result_type;
-#else
-    typedef  typename boost::detail::function::function_return_type<R>::type
-      result_type;
-#endif // BOOST_NO_VOID_RETURNS
-
-  private:
-    typedef boost::detail::function::BOOST_FUNCTION_VTABLE<
-              R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>
-      vtable_type;
-
-    vtable_type* get_vtable() const {
-      return reinterpret_cast<vtable_type*>(
-               reinterpret_cast<std::size_t>(vtable) & ~static_cast<size_t>(0x01));
-    }
-
-    struct clear_type {};
-
-  public:
-    BOOST_STATIC_CONSTANT(int, args = BOOST_FUNCTION_NUM_ARGS);
-
-    // add signature for boost::lambda
-    template<typename Args>
-    struct sig
-    {
-      typedef result_type type;
-    };
-
-#if BOOST_FUNCTION_NUM_ARGS == 1
-    typedef T0 argument_type;
-#elif BOOST_FUNCTION_NUM_ARGS == 2
-    typedef T0 first_argument_type;
-    typedef T1 second_argument_type;
-#endif
-
-    BOOST_STATIC_CONSTANT(int, arity = BOOST_FUNCTION_NUM_ARGS);
-    BOOST_FUNCTION_ARG_TYPES
-
-    typedef BOOST_FUNCTION_FUNCTION self_type;
-
-    BOOST_FUNCTION_FUNCTION() : function_base() { }
-
-    // MSVC chokes if the following two constructors are collapsed into
-    // one with a default parameter.
-    template<typename Functor>
-    BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f
-#ifndef BOOST_NO_SFINAE
-                            ,typename enable_if_c<
-                            (boost::type_traits::ice_not<
-                             (is_integral<Functor>::value)>::value),
-                                        int>::type = 0
-#endif // BOOST_NO_SFINAE
-                            ) :
-      function_base()
-    {
-      this->assign_to(f);
-    }
-    template<typename Functor,typename Allocator>
-    BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a
-#ifndef BOOST_NO_SFINAE
-                            ,typename enable_if_c<
-                            (boost::type_traits::ice_not<
-                             (is_integral<Functor>::value)>::value),
-                                        int>::type = 0
-#endif // BOOST_NO_SFINAE
-                            ) :
-      function_base()
-    {
-      this->assign_to_a(f,a);
-    }
-
-#ifndef BOOST_NO_SFINAE
-    BOOST_FUNCTION_FUNCTION(clear_type*) : function_base() { }
-#else
-    BOOST_FUNCTION_FUNCTION(int zero) : function_base()
-    {
-      BOOST_ASSERT(zero == 0);
-    }
-#endif
-
-    BOOST_FUNCTION_FUNCTION(const BOOST_FUNCTION_FUNCTION& f) : function_base()
-    {
-      this->assign_to_own(f);
-    }
-
-    ~BOOST_FUNCTION_FUNCTION() { clear(); }
-
-    result_type operator()(BOOST_FUNCTION_PARMS) const
-    {
-      if (this->empty())
-        boost::throw_exception(bad_function_call());
-
-      return get_vtable()->invoker
-               (this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
-    }
-
-    // The distinction between when to use BOOST_FUNCTION_FUNCTION and
-    // when to use self_type is obnoxious. MSVC cannot handle self_type as
-    // the return type of these assignment operators, but Borland C++ cannot
-    // handle BOOST_FUNCTION_FUNCTION as the type of the temporary to
-    // construct.
-    template<typename Functor>
-#ifndef BOOST_NO_SFINAE
-    typename enable_if_c<
-               (boost::type_traits::ice_not<
-                 (is_integral<Functor>::value)>::value),
-               BOOST_FUNCTION_FUNCTION&>::type
-#else
-    BOOST_FUNCTION_FUNCTION&
-#endif
-    operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f)
-    {
-      this->clear();
-      BOOST_TRY  {
-        this->assign_to(f);
-      } BOOST_CATCH (...) {
-        vtable = 0;
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-      return *this;
-    }
-    template<typename Functor,typename Allocator>
-    void assign(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a)
-    {
-      this->clear();
-      BOOST_TRY{
-        this->assign_to_a(f,a);
-      } BOOST_CATCH (...) {
-        vtable = 0;
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-    }
-
-#ifndef BOOST_NO_SFINAE
-    BOOST_FUNCTION_FUNCTION& operator=(clear_type*)
-    {
-      this->clear();
-      return *this;
-    }
-#else
-    BOOST_FUNCTION_FUNCTION& operator=(int zero)
-    {
-      BOOST_ASSERT(zero == 0);
-      this->clear();
-      return *this;
-    }
-#endif
-
-    // Assignment from another BOOST_FUNCTION_FUNCTION
-    BOOST_FUNCTION_FUNCTION& operator=(const BOOST_FUNCTION_FUNCTION& f)
-    {
-      if (&f == this)
-        return *this;
-
-      this->clear();
-      BOOST_TRY {
-        this->assign_to_own(f);
-      } BOOST_CATCH (...) {
-        vtable = 0;
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-      return *this;
-    }
-
-    void swap(BOOST_FUNCTION_FUNCTION& other)
-    {
-      if (&other == this)
-        return;
-
-      BOOST_FUNCTION_FUNCTION tmp;
-      tmp.move_assign(*this);
-      this->move_assign(other);
-      other.move_assign(tmp);
-    }
-
-    // Clear out a target, if there is one
-    void clear()
-    {
-      if (vtable) {
-        if (!this->has_trivial_copy_and_destroy())
-          get_vtable()->clear(this->functor);
-        vtable = 0;
-      }
-    }
-
-#if (defined __SUNPRO_CC) && (__SUNPRO_CC <= 0x530) && !(defined BOOST_NO_COMPILER_CONFIG)
-    // Sun C++ 5.3 can't handle the safe_bool idiom, so don't use it
-    operator bool () const { return !this->empty(); }
-#else
-  private:
-    struct dummy {
-      void nonnull() {}
-    };
-
-    typedef void (dummy::*safe_bool)();
-
-  public:
-    operator safe_bool () const
-      { return (this->empty())? 0 : &dummy::nonnull; }
-
-    bool operator!() const
-      { return this->empty(); }
-#endif
-
-  private:
-    void assign_to_own(const BOOST_FUNCTION_FUNCTION& f)
-    {
-      if (!f.empty()) {
-        this->vtable = f.vtable;
-        if (this->has_trivial_copy_and_destroy())
-          this->functor = f.functor;
-        else
-          get_vtable()->base.manager(f.functor, this->functor,
-                                     boost::detail::function::clone_functor_tag);
-      }
-    }
-
-    template<typename Functor>
-    void assign_to(Functor f)
-    {
-      using detail::function::vtable_base;
-
-      typedef typename detail::function::get_function_tag<Functor>::type tag;
-      typedef detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
-      typedef typename get_invoker::
-                         template apply<Functor, R BOOST_FUNCTION_COMMA 
-                        BOOST_FUNCTION_TEMPLATE_ARGS>
-        handler_type;
-      
-      typedef typename handler_type::invoker_type invoker_type;
-      typedef typename handler_type::manager_type manager_type;
-
-      // Note: it is extremely important that this initialization use
-      // static initialization. Otherwise, we will have a race
-      // condition here in multi-threaded code. See
-      // http://thread.gmane.org/gmane.comp.lib.boost.devel/164902/.
-      static const vtable_type stored_vtable = 
-        { { &manager_type::manage }, &invoker_type::invoke };
-
-      if (stored_vtable.assign_to(f, functor)) {
-        std::size_t value = reinterpret_cast<std::size_t>(&stored_vtable.base);
-        if (boost::has_trivial_copy_constructor<Functor>::value &&
-            boost::has_trivial_destructor<Functor>::value &&
-            detail::function::function_allows_small_object_optimization<Functor>::value)
-          value |= static_cast<size_t>(0x01);
-        vtable = reinterpret_cast<detail::function::vtable_base *>(value);
-      } else 
-        vtable = 0;
-    }
-
-    template<typename Functor,typename Allocator>
-    void assign_to_a(Functor f,Allocator a)
-    {
-      using detail::function::vtable_base;
-
-      typedef typename detail::function::get_function_tag<Functor>::type tag;
-      typedef detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
-      typedef typename get_invoker::
-                         template apply_a<Functor, R BOOST_FUNCTION_COMMA 
-                         BOOST_FUNCTION_TEMPLATE_ARGS,
-                         Allocator>
-        handler_type;
-      
-      typedef typename handler_type::invoker_type invoker_type;
-      typedef typename handler_type::manager_type manager_type;
-
-      // Note: it is extremely important that this initialization use
-      // static initialization. Otherwise, we will have a race
-      // condition here in multi-threaded code. See
-      // http://thread.gmane.org/gmane.comp.lib.boost.devel/164902/.
-      static const vtable_type stored_vtable =
-        { { &manager_type::manage }, &invoker_type::invoke };
-
-      if (stored_vtable.assign_to_a(f, functor, a)) { 
-        std::size_t value = reinterpret_cast<std::size_t>(&stored_vtable.base);
-        if (boost::has_trivial_copy_constructor<Functor>::value &&
-            boost::has_trivial_destructor<Functor>::value &&
-            detail::function::function_allows_small_object_optimization<Functor>::value)
-          value |= static_cast<std::size_t>(0x01);
-        vtable = reinterpret_cast<detail::function::vtable_base *>(value);
-      } else 
-        vtable = 0;
-    }
-
-    // Moves the value from the specified argument to *this. If the argument 
-    // has its function object allocated on the heap, move_assign will pass 
-    // its buffer to *this, and set the argument's buffer pointer to NULL. 
-    void move_assign(BOOST_FUNCTION_FUNCTION& f) 
-    { 
-      if (&f == this)
-        return;
-
-      BOOST_TRY {
-        if (!f.empty()) {
-          this->vtable = f.vtable;
-          if (this->has_trivial_copy_and_destroy())
-            this->functor = f.functor;
-          else
-            get_vtable()->base.manager(f.functor, this->functor,
-                                     boost::detail::function::move_functor_tag);
-          f.vtable = 0;
-        } else {
-          clear();
-        }
-      } BOOST_CATCH (...) {
-        vtable = 0;
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-    }
-  };
-
-  template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
-  inline void swap(BOOST_FUNCTION_FUNCTION<
-                     R BOOST_FUNCTION_COMMA
-                     BOOST_FUNCTION_TEMPLATE_ARGS
-                   >& f1,
-                   BOOST_FUNCTION_FUNCTION<
-                     R BOOST_FUNCTION_COMMA
-                     BOOST_FUNCTION_TEMPLATE_ARGS
-                   >& f2)
-  {
-    f1.swap(f2);
-  }
-
-// Poison comparisons between boost::function objects of the same type.
-template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
-  void operator==(const BOOST_FUNCTION_FUNCTION<
-                          R BOOST_FUNCTION_COMMA
-                          BOOST_FUNCTION_TEMPLATE_ARGS>&,
-                  const BOOST_FUNCTION_FUNCTION<
-                          R BOOST_FUNCTION_COMMA
-                          BOOST_FUNCTION_TEMPLATE_ARGS>&);
-template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
-  void operator!=(const BOOST_FUNCTION_FUNCTION<
-                          R BOOST_FUNCTION_COMMA
-                          BOOST_FUNCTION_TEMPLATE_ARGS>&,
-                  const BOOST_FUNCTION_FUNCTION<
-                          R BOOST_FUNCTION_COMMA
-                          BOOST_FUNCTION_TEMPLATE_ARGS>& );
-
-#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
-
-#if BOOST_FUNCTION_NUM_ARGS == 0
-#define BOOST_FUNCTION_PARTIAL_SPEC R (void)
-#else
-#define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
-#endif
-
-template<typename R BOOST_FUNCTION_COMMA
-         BOOST_FUNCTION_TEMPLATE_PARMS>
-class function<BOOST_FUNCTION_PARTIAL_SPEC>
-  : public BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>
-{
-  typedef BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS> base_type;
-  typedef function self_type;
-
-  struct clear_type {};
-
-public:
-
-  function() : base_type() {}
-
-  template<typename Functor>
-  function(Functor f
-#ifndef BOOST_NO_SFINAE
-           ,typename enable_if_c<
-                            (boost::type_traits::ice_not<
-                          (is_integral<Functor>::value)>::value),
-                       int>::type = 0
-#endif
-           ) :
-    base_type(f)
-  {
-  }
-  template<typename Functor,typename Allocator>
-  function(Functor f, Allocator a
-#ifndef BOOST_NO_SFINAE
-           ,typename enable_if_c<
-                            (boost::type_traits::ice_not<
-                          (is_integral<Functor>::value)>::value),
-                       int>::type = 0
-#endif
-           ) :
-    base_type(f,a)
-  {
-  }
-
-#ifndef BOOST_NO_SFINAE
-  function(clear_type*) : base_type() {}
-#endif
-
-  function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
-
-  function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
-
-  self_type& operator=(const self_type& f)
-  {
-    self_type(f).swap(*this);
-    return *this;
-  }
-
-  template<typename Functor>
-#ifndef BOOST_NO_SFINAE
-  typename enable_if_c<
-                            (boost::type_traits::ice_not<
-                         (is_integral<Functor>::value)>::value),
-                      self_type&>::type
-#else
-  self_type&
-#endif
-  operator=(Functor f)
-  {
-    self_type(f).swap(*this);
-    return *this;
-  }
-
-#ifndef BOOST_NO_SFINAE
-  self_type& operator=(clear_type*)
-  {
-    this->clear();
-    return *this;
-  }
-#endif
-
-  self_type& operator=(const base_type& f)
-  {
-    self_type(f).swap(*this);
-    return *this;
-  }
-};
-
-#undef BOOST_FUNCTION_PARTIAL_SPEC
-#endif // have partial specialization
-
-} // end namespace boost
-
-// Cleanup after ourselves...
-#undef BOOST_FUNCTION_VTABLE
-#undef BOOST_FUNCTION_COMMA
-#undef BOOST_FUNCTION_FUNCTION
-#undef BOOST_FUNCTION_FUNCTION_INVOKER
-#undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
-#undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
-#undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
-#undef BOOST_FUNCTION_FUNCTION_REF_INVOKER
-#undef BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER
-#undef BOOST_FUNCTION_MEMBER_INVOKER
-#undef BOOST_FUNCTION_VOID_MEMBER_INVOKER
-#undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
-#undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
-#undef BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER
-#undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
-#undef BOOST_FUNCTION_GET_INVOKER
-#undef BOOST_FUNCTION_TEMPLATE_PARMS
-#undef BOOST_FUNCTION_TEMPLATE_ARGS
-#undef BOOST_FUNCTION_PARMS
-#undef BOOST_FUNCTION_PARM
-#undef BOOST_FUNCTION_ARGS
-#undef BOOST_FUNCTION_ARG_TYPE
-#undef BOOST_FUNCTION_ARG_TYPES
-#undef BOOST_FUNCTION_VOID_RETURN_TYPE
-#undef BOOST_FUNCTION_RETURN
-
-#if defined(BOOST_MSVC)
-#   pragma warning( pop )
-#endif       
diff --git a/SRC/Boost/boost/function/function_typeof.hpp b/SRC/Boost/boost/function/function_typeof.hpp
deleted file mode 100755
index b2c1255..0000000
--- a/SRC/Boost/boost/function/function_typeof.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-// Boost.Function library - Typeof support
-//  Copyright (C) Douglas Gregor 2008
-//
-//  Use, modification and distribution is subject to the Boost
-//  Software License, Version 1.0.  (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org
-#ifndef BOOST_FUNCTION_TYPEOF_HPP
-#define BOOST_FUNCTION_TYPEOF_HPP
-#include <boost/function/function_fwd.hpp>
-#include <boost/typeof/typeof.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TYPE(boost::bad_function_call)
-
-#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function, (typename))
-#endif
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function0, (typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function1, (typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function2, (typename)(typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function3, 
-  (typename)(typename)(typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function4, 
-  (typename)(typename)(typename)(typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function5, 
-  (typename)(typename)(typename)(typename)(typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function6, 
-  (typename)(typename)(typename)(typename)(typename)(typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function7, 
-  (typename)(typename)(typename)(typename)(typename)(typename)(typename)
-  (typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function8, 
-  (typename)(typename)(typename)(typename)(typename)(typename)(typename)
-  (typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function9, 
-  (typename)(typename)(typename)(typename)(typename)(typename)(typename)
-  (typename)(typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function10, 
-  (typename)(typename)(typename)(typename)(typename)(typename)(typename)
-  (typename)(typename)(typename)(typename))
-#endif
diff --git a/SRC/Boost/boost/function/gen_function_N.pl b/SRC/Boost/boost/function/gen_function_N.pl
deleted file mode 100755
index 6d1ca2f..0000000
--- a/SRC/Boost/boost/function/gen_function_N.pl
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/perl -w
-#
-# Boost.Function library
-#
-# Copyright Douglas Gregor 2001-2003. Use, modification and
-# distribution is subject to the Boost Software License, Version
-# 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-#
-# For more information, see http://www.boost.org
-use English;
-
-if ($#ARGV < 0) {
-  print "Usage: perl gen_function_N <number of arguments>\n";
-  exit;
-}
-
-
-$totalNumArgs = $ARGV[0];
-for ($numArgs = 0; $numArgs <= $totalNumArgs; ++$numArgs) {
-  open OUT, ">function$numArgs.hpp";
-  print OUT "#define BOOST_FUNCTION_NUM_ARGS $numArgs\n";
-  print OUT "#include <boost/function/detail/maybe_include.hpp>\n";
-  print OUT "#undef BOOST_FUNCTION_NUM_ARGS\n";
-  close OUT;
-}
diff --git a/SRC/Boost/boost/function_equal.hpp b/SRC/Boost/boost/function_equal.hpp
deleted file mode 100755
index 35e6642..0000000
--- a/SRC/Boost/boost/function_equal.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  Copyright Douglas Gregor 2004.
-//  Copyright 2005 Peter Dimov
-
-//  Use, modification and distribution is subject to
-//  the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-#ifndef BOOST_FUNCTION_EQUAL_HPP
-#define BOOST_FUNCTION_EQUAL_HPP
-
-namespace boost {
-
-template<typename F, typename G>
-  bool function_equal_impl(const F& f, const G& g, long)
-  { return f == g; }
-
-// function_equal_impl needs to be unqualified to pick
-// user overloads on two-phase compilers
-
-template<typename F, typename G>
-  bool function_equal(const F& f, const G& g)
-  { return function_equal_impl(f, g, 0); }
-
-} // end namespace boost
-
-#endif // BOOST_FUNCTION_EQUAL_HPP
diff --git a/SRC/Boost/boost/functional.hpp b/SRC/Boost/boost/functional.hpp
deleted file mode 100755
index b1854a9..0000000
--- a/SRC/Boost/boost/functional.hpp
+++ /dev/null
@@ -1,548 +0,0 @@
-// ------------------------------------------------------------------------------
-// Copyright (c) 2000 Cadenza New Zealand Ltd
-// Distributed under the Boost Software License, Version 1.0. (See accompany-
-// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-// ------------------------------------------------------------------------------
-// Boost functional.hpp header file
-// See http://www.boost.org/libs/functional for documentation.
-// ------------------------------------------------------------------------------
-// $Id: functional.hpp 36246 2006-12-02 14:17:26Z andreas_huber69 $
-// ------------------------------------------------------------------------------
-
-#ifndef BOOST_FUNCTIONAL_HPP
-#define BOOST_FUNCTIONAL_HPP
-
-#include <boost/config.hpp>
-#include <boost/call_traits.hpp>
-#include <functional>
-
-namespace boost
-{
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    // --------------------------------------------------------------------------
-    // The following traits classes allow us to avoid the need for ptr_fun
-    // because the types of arguments and the result of a function can be 
-    // deduced.
-    //
-    // In addition to the standard types defined in unary_function and 
-    // binary_function, we add
-    //
-    // - function_type, the type of the function or function object itself.
-    //
-    // - param_type, the type that should be used for passing the function or
-    //   function object as an argument.
-    // --------------------------------------------------------------------------
-    namespace detail
-    {
-        template <class Operation>
-        struct unary_traits_imp;
-        
-        template <class Operation>
-        struct unary_traits_imp<Operation*>
-        {
-            typedef Operation                         function_type;
-            typedef const function_type &             param_type;
-            typedef typename Operation::result_type   result_type;
-            typedef typename Operation::argument_type argument_type;
-        };
-
-        template <class R, class A>
-        struct unary_traits_imp<R(*)(A)>
-        {
-            typedef R (*function_type)(A);
-            typedef R (*param_type)(A);
-            typedef R result_type;
-            typedef A argument_type;
-        };
-
-        template <class Operation>
-        struct binary_traits_imp;
-
-        template <class Operation>
-        struct binary_traits_imp<Operation*>
-        {
-            typedef Operation                                function_type;
-            typedef const function_type &                    param_type;
-            typedef typename Operation::result_type          result_type;
-            typedef typename Operation::first_argument_type  first_argument_type;
-            typedef typename Operation::second_argument_type second_argument_type;
-        };
-        
-        template <class R, class A1, class A2>
-        struct binary_traits_imp<R(*)(A1,A2)>
-        {
-            typedef R (*function_type)(A1,A2);
-            typedef R (*param_type)(A1,A2);
-            typedef R result_type;
-            typedef A1 first_argument_type;
-            typedef A2 second_argument_type;
-        };
-    } // namespace detail
-    
-    template <class Operation>
-    struct unary_traits
-    {
-        typedef typename detail::unary_traits_imp<Operation*>::function_type function_type;
-        typedef typename detail::unary_traits_imp<Operation*>::param_type    param_type;
-        typedef typename detail::unary_traits_imp<Operation*>::result_type   result_type;
-        typedef typename detail::unary_traits_imp<Operation*>::argument_type argument_type;
-    }; 
-
-    template <class R, class A>
-    struct unary_traits<R(*)(A)>
-    {
-        typedef R (*function_type)(A);
-        typedef R (*param_type)(A);
-        typedef R result_type;
-        typedef A argument_type;
-    };
-
-    template <class Operation>
-    struct binary_traits
-    {
-        typedef typename detail::binary_traits_imp<Operation*>::function_type        function_type;
-        typedef typename detail::binary_traits_imp<Operation*>::param_type           param_type;
-        typedef typename detail::binary_traits_imp<Operation*>::result_type          result_type;
-        typedef typename detail::binary_traits_imp<Operation*>::first_argument_type  first_argument_type;
-        typedef typename detail::binary_traits_imp<Operation*>::second_argument_type second_argument_type;
-    };
-    
-    template <class R, class A1, class A2>
-    struct binary_traits<R(*)(A1,A2)>
-    {
-        typedef R (*function_type)(A1,A2);
-        typedef R (*param_type)(A1,A2);
-        typedef R result_type;
-        typedef A1 first_argument_type;
-        typedef A2 second_argument_type;
-    };
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    // --------------------------------------------------------------------------
-    // If we have no partial specialisation available, decay to a situation
-    // that is no worse than in the Standard, i.e., ptr_fun will be required.
-    // --------------------------------------------------------------------------
-
-    template <class Operation>
-    struct unary_traits
-    {
-        typedef Operation                         function_type;
-        typedef const Operation&                  param_type;
-        typedef typename Operation::result_type   result_type;
-        typedef typename Operation::argument_type argument_type;
-    }; 
-    
-    template <class Operation>
-    struct binary_traits
-    {
-        typedef Operation                                function_type;
-        typedef const Operation &                        param_type;
-        typedef typename Operation::result_type          result_type;
-        typedef typename Operation::first_argument_type  first_argument_type;
-        typedef typename Operation::second_argument_type second_argument_type;
-    };    
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    
-    // --------------------------------------------------------------------------
-    // unary_negate, not1
-    // --------------------------------------------------------------------------
-    template <class Predicate>
-    class unary_negate
-        : public std::unary_function<typename unary_traits<Predicate>::argument_type,bool>
-    {
-      public:
-        explicit unary_negate(typename unary_traits<Predicate>::param_type x)
-            :
-            pred(x)
-        {}
-        bool operator()(typename call_traits<typename unary_traits<Predicate>::argument_type>::param_type x) const
-        {
-            return !pred(x);
-        }
-      private:
-        typename unary_traits<Predicate>::function_type pred;
-    };
-
-    template <class Predicate>
-    unary_negate<Predicate> not1(const Predicate &pred)
-    {
-        // The cast is to placate Borland C++Builder in certain circumstances.
-        // I don't think it should be necessary.
-        return unary_negate<Predicate>((typename unary_traits<Predicate>::param_type)pred);
-    }
-
-    template <class Predicate>
-    unary_negate<Predicate> not1(Predicate &pred)
-    {
-        return unary_negate<Predicate>(pred);
-    }
-
-    // --------------------------------------------------------------------------
-    // binary_negate, not2
-    // --------------------------------------------------------------------------
-    template <class Predicate>
-    class binary_negate
-        : public std::binary_function<typename binary_traits<Predicate>::first_argument_type,
-                                      typename binary_traits<Predicate>::second_argument_type,
-                                      bool>
-    {
-      public:
-        explicit binary_negate(typename binary_traits<Predicate>::param_type x)
-            :
-            pred(x)
-        {}
-        bool operator()(typename call_traits<typename binary_traits<Predicate>::first_argument_type>::param_type x,
-                        typename call_traits<typename binary_traits<Predicate>::second_argument_type>::param_type y) const
-        {
-            return !pred(x,y);
-        }
-      private:
-        typename binary_traits<Predicate>::function_type pred;
-    };
-
-    template <class Predicate>
-    binary_negate<Predicate> not2(const Predicate &pred)
-    {
-        // The cast is to placate Borland C++Builder in certain circumstances.
-        // I don't think it should be necessary.
-        return binary_negate<Predicate>((typename binary_traits<Predicate>::param_type)pred);
-    }
-
-    template <class Predicate>
-    binary_negate<Predicate> not2(Predicate &pred)
-    {
-        return binary_negate<Predicate>(pred);
-    }
-        
-    // --------------------------------------------------------------------------
-    // binder1st, bind1st
-    // --------------------------------------------------------------------------
-    template <class Operation>
-    class binder1st
-        : public std::unary_function<typename binary_traits<Operation>::second_argument_type,
-                                     typename binary_traits<Operation>::result_type>
-    {       
-      public:
-        binder1st(typename binary_traits<Operation>::param_type x,
-                  typename call_traits<typename binary_traits<Operation>::first_argument_type>::param_type y)
-            :
-            op(x), value(y)
-        {}
-        
-        typename binary_traits<Operation>::result_type
-        operator()(typename call_traits<typename binary_traits<Operation>::second_argument_type>::param_type x) const
-        {
-            return op(value, x);
-        }
-        
-      protected:
-        typename binary_traits<Operation>::function_type op;
-        typename binary_traits<Operation>::first_argument_type value;
-    };
-
-    template <class Operation>
-    inline binder1st<Operation> bind1st(const Operation &op,
-                                        typename call_traits<
-                                                    typename binary_traits<Operation>::first_argument_type
-                                        >::param_type x)
-    {
-        // The cast is to placate Borland C++Builder in certain circumstances.
-        // I don't think it should be necessary.
-        return binder1st<Operation>((typename binary_traits<Operation>::param_type)op, x);
-    }
-
-    template <class Operation>
-    inline binder1st<Operation> bind1st(Operation &op,
-                                        typename call_traits<
-                                                    typename binary_traits<Operation>::first_argument_type
-                                        >::param_type x)
-    {
-        return binder1st<Operation>(op, x);
-    }
-
-    // --------------------------------------------------------------------------
-    // binder2nd, bind2nd
-    // --------------------------------------------------------------------------
-    template <class Operation>
-    class binder2nd
-        : public std::unary_function<typename binary_traits<Operation>::first_argument_type,
-                                     typename binary_traits<Operation>::result_type>
-    {
-      public:
-        binder2nd(typename binary_traits<Operation>::param_type x,
-                  typename call_traits<typename binary_traits<Operation>::second_argument_type>::param_type y)
-            :
-            op(x), value(y)
-        {}
-        
-        typename binary_traits<Operation>::result_type
-        operator()(typename call_traits<typename binary_traits<Operation>::first_argument_type>::param_type x) const
-        {
-            return op(x, value);
-        }               
-        
-      protected:
-        typename binary_traits<Operation>::function_type op;
-        typename binary_traits<Operation>::second_argument_type value;
-    };
-
-    template <class Operation>
-    inline binder2nd<Operation> bind2nd(const Operation &op,
-                                        typename call_traits<
-                                                    typename binary_traits<Operation>::second_argument_type
-                                        >::param_type x)
-    {
-        // The cast is to placate Borland C++Builder in certain circumstances.
-        // I don't think it should be necessary.
-        return binder2nd<Operation>((typename binary_traits<Operation>::param_type)op, x);
-    }
-
-    template <class Operation>
-    inline binder2nd<Operation> bind2nd(Operation &op,
-                                        typename call_traits<
-                                                    typename binary_traits<Operation>::second_argument_type
-                                        >::param_type x)
-    {
-        return binder2nd<Operation>(op, x);
-    }
-
-    // --------------------------------------------------------------------------
-    // mem_fun, etc
-    // --------------------------------------------------------------------------
-    template <class S, class T>
-    class mem_fun_t : public std::unary_function<T*, S>
-    {
-      public:
-        explicit mem_fun_t(S (T::*p)())
-            :
-            ptr(p)
-        {}
-        S operator()(T* p) const
-        {
-            return (p->*ptr)();
-        }
-      private:
-        S (T::*ptr)();
-    };
-
-    template <class S, class T, class A>
-    class mem_fun1_t : public std::binary_function<T*, A, S>
-    {
-      public:   
-        explicit mem_fun1_t(S (T::*p)(A))
-            :
-            ptr(p)
-        {}
-        S operator()(T* p, typename call_traits<A>::param_type x) const
-        {
-            return (p->*ptr)(x);
-        }
-      private:
-        S (T::*ptr)(A);
-    };
-
-    template <class S, class T>
-    class const_mem_fun_t : public std::unary_function<const T*, S>
-    {
-      public:
-        explicit const_mem_fun_t(S (T::*p)() const)
-            :
-            ptr(p)
-        {}
-        S operator()(const T* p) const
-        {
-            return (p->*ptr)();
-        }
-      private:
-        S (T::*ptr)() const;        
-    };
-
-    template <class S, class T, class A>
-    class const_mem_fun1_t : public std::binary_function<const T*, A, S>
-    {
-      public:
-        explicit const_mem_fun1_t(S (T::*p)(A) const)
-            :
-            ptr(p)
-        {}
-        S operator()(const T* p, typename call_traits<A>::param_type x) const
-        {
-            return (p->*ptr)(x);
-        }
-      private:
-        S (T::*ptr)(A) const;
-    };
-    
-    template<class S, class T>
-    inline mem_fun_t<S,T> mem_fun(S (T::*f)())
-    {
-        return mem_fun_t<S,T>(f);
-    }
-    
-    template<class S, class T, class A>
-    inline mem_fun1_t<S,T,A> mem_fun(S (T::*f)(A))
-    {
-        return mem_fun1_t<S,T,A>(f);
-    }
-
-#ifndef BOOST_NO_POINTER_TO_MEMBER_CONST
-    template<class S, class T>
-    inline const_mem_fun_t<S,T> mem_fun(S (T::*f)() const)
-    {
-        return const_mem_fun_t<S,T>(f);
-    }
-    
-    template<class S, class T, class A>
-    inline const_mem_fun1_t<S,T,A> mem_fun(S (T::*f)(A) const)
-    {
-        return const_mem_fun1_t<S,T,A>(f);
-    }
-#endif // BOOST_NO_POINTER_TO_MEMBER_CONST
-
-    // --------------------------------------------------------------------------
-    // mem_fun_ref, etc
-    // --------------------------------------------------------------------------
-    template <class S, class T>
-    class mem_fun_ref_t : public std::unary_function<T&, S>
-    {
-      public:
-        explicit mem_fun_ref_t(S (T::*p)())
-            :
-            ptr(p)
-        {}
-        S operator()(T& p) const
-        {
-            return (p.*ptr)();
-        }
-      private:
-        S (T::*ptr)();
-    };
-
-    template <class S, class T, class A>
-    class mem_fun1_ref_t : public std::binary_function<T&, A, S>
-    {
-      public:
-        explicit mem_fun1_ref_t(S (T::*p)(A))
-            :
-            ptr(p)
-        {}
-        S operator()(T& p, typename call_traits<A>::param_type x) const
-        {
-            return (p.*ptr)(x);
-        }
-      private:
-        S (T::*ptr)(A);
-    };
-    
-    template <class S, class T>
-    class const_mem_fun_ref_t : public std::unary_function<const T&, S>
-    {
-      public:
-        explicit const_mem_fun_ref_t(S (T::*p)() const)
-            :
-            ptr(p)
-        {}
-        
-        S operator()(const T &p) const
-        {
-            return (p.*ptr)();
-        }
-      private:
-        S (T::*ptr)() const;
-    };
-
-    template <class S, class T, class A>
-    class const_mem_fun1_ref_t : public std::binary_function<const T&, A, S>
-    {
-      public:
-        explicit const_mem_fun1_ref_t(S (T::*p)(A) const)
-            :
-            ptr(p)
-        {}
-
-        S operator()(const T& p, typename call_traits<A>::param_type x) const
-        {
-            return (p.*ptr)(x);
-        }
-      private:
-        S (T::*ptr)(A) const;
-    };
-    
-    template<class S, class T>
-    inline mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)())
-    {
-        return mem_fun_ref_t<S,T>(f);
-    }
-
-    template<class S, class T, class A>
-    inline mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A))
-    {
-        return mem_fun1_ref_t<S,T,A>(f);
-    }
-
-#ifndef BOOST_NO_POINTER_TO_MEMBER_CONST
-    template<class S, class T>
-    inline const_mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)() const)
-    {
-        return const_mem_fun_ref_t<S,T>(f);
-    }
-
-    template<class S, class T, class A>
-    inline const_mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A) const)
-    {
-        return const_mem_fun1_ref_t<S,T,A>(f);
-    }   
-#endif // BOOST_NO_POINTER_TO_MEMBER_CONST
-
-    // --------------------------------------------------------------------------
-    // ptr_fun
-    // --------------------------------------------------------------------------
-    template <class Arg, class Result>
-    class pointer_to_unary_function : public std::unary_function<Arg,Result>
-    {
-      public:
-        explicit pointer_to_unary_function(Result (*f)(Arg))
-            :
-            func(f)
-        {}
-
-        Result operator()(typename call_traits<Arg>::param_type x) const
-        {
-            return func(x);
-        }
-        
-      private:
-        Result (*func)(Arg);
-    };
-
-    template <class Arg, class Result>
-    inline pointer_to_unary_function<Arg,Result> ptr_fun(Result (*f)(Arg))
-    {
-        return pointer_to_unary_function<Arg,Result>(f);
-    }
-
-    template <class Arg1, class Arg2, class Result>
-    class pointer_to_binary_function : public std::binary_function<Arg1,Arg2,Result>
-    {
-      public:
-        explicit pointer_to_binary_function(Result (*f)(Arg1, Arg2))
-            :
-            func(f)
-        {}
-        
-        Result operator()(typename call_traits<Arg1>::param_type x, typename call_traits<Arg2>::param_type y) const
-        {
-            return func(x,y);
-        }
-        
-      private:
-        Result (*func)(Arg1, Arg2);
-    };
-
-    template <class Arg1, class Arg2, class Result>
-    inline pointer_to_binary_function<Arg1,Arg2,Result> ptr_fun(Result (*f)(Arg1, Arg2))
-    {
-        return pointer_to_binary_function<Arg1,Arg2,Result>(f);
-    }
-} // namespace boost
-
-#endif
diff --git a/SRC/Boost/boost/functional/hash.hpp b/SRC/Boost/boost/functional/hash.hpp
deleted file mode 100755
index 80f7fa9..0000000
--- a/SRC/Boost/boost/functional/hash.hpp
+++ /dev/null
@@ -1,7 +0,0 @@
-
-// Copyright 2005-2009 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/functional/hash/hash.hpp>
-
diff --git a/SRC/Boost/boost/functional/hash/detail/float_functions.hpp b/SRC/Boost/boost/functional/hash/detail/float_functions.hpp
deleted file mode 100755
index de91fc2..0000000
--- a/SRC/Boost/boost/functional/hash/detail/float_functions.hpp
+++ /dev/null
@@ -1,246 +0,0 @@
-
-// Copyright 2005-2009 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#if !defined(BOOST_FUNCTIONAL_HASH_DETAIL_FLOAT_FUNCTIONS_HPP)
-#define BOOST_FUNCTIONAL_HASH_DETAIL_FLOAT_FUNCTIONS_HPP
-
-#include <boost/config.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// The C++ standard requires that the C float functions are overloarded
-// for float, double and long double in the std namespace, but some of the older
-// library implementations don't support this. On some that don't, the C99
-// float functions (frexpf, frexpl, etc.) are available.
-//
-// The following tries to automatically detect which are available.
-
-namespace boost {
-    namespace hash_detail {
-
-        // Returned by dummy versions of the float functions.
-    
-        struct not_found {
-            // Implicitly convertible to float and long double in order to avoid
-            // a compile error when the dummy float functions are used.
-
-            inline operator float() const { return 0; }
-            inline operator long double() const { return 0; }
-        };
-          
-        // A type for detecting the return type of functions.
-
-        template <typename T> struct is;
-        template <> struct is<float> { char x[10]; };
-        template <> struct is<double> { char x[20]; };
-        template <> struct is<long double> { char x[30]; };
-        template <> struct is<boost::hash_detail::not_found> { char x[40]; };
-            
-        // Used to convert the return type of a function to a type for sizeof.
-
-        template <typename T> is<T> float_type(T);
-
-        // call_ldexp
-        //
-        // This will get specialized for float and long double
-        
-        template <typename Float> struct call_ldexp
-        {
-            typedef double float_type;
-            
-            inline double operator()(double a, int b) const
-            {
-                using namespace std;
-                return ldexp(a, b);
-            }
-        };
-
-        // call_frexp
-        //
-        // This will get specialized for float and long double
-
-        template <typename Float> struct call_frexp
-        {
-            typedef double float_type;
-            
-            inline double operator()(double a, int* b) const
-            {
-                using namespace std;
-                return frexp(a, b);
-            }
-        };
-    }
-}
-            
-// A namespace for dummy functions to detect when the actual function we want
-// isn't available. ldexpl, ldexpf etc. might be added tby the macros below.
-//
-// AFAICT these have to be outside of the boost namespace, as if they're in
-// the boost namespace they'll always be preferable to any other function
-// (since the arguments are built in types, ADL can't be used).
-
-namespace boost_hash_detect_float_functions {
-    template <class Float> boost::hash_detail::not_found ldexp(Float, int);
-    template <class Float> boost::hash_detail::not_found frexp(Float, int*);    
-}
-
-// Macros for generating specializations of call_ldexp and call_frexp.
-//
-// check_cpp and check_c99 check if the C++ or C99 functions are available.
-//
-// Then the call_* functions select an appropriate implementation.
-//
-// I used c99_func in a few places just to get a unique name.
-//
-// Important: when using 'using namespace' at namespace level, include as
-// little as possible in that namespace, as Visual C++ has an odd bug which
-// can cause the namespace to be imported at the global level. This seems to
-// happen mainly when there's a template in the same namesapce.
-
-#define BOOST_HASH_CALL_FLOAT_FUNC(cpp_func, c99_func, type1, type2)    \
-namespace boost_hash_detect_float_functions {                           \
-    template <class Float>                                              \
-    boost::hash_detail::not_found c99_func(Float, type2);               \
-}                                                                       \
-                                                                        \
-namespace boost {                                                       \
-    namespace hash_detail {                                             \
-        namespace c99_func##_detect {                                   \
-            using namespace std;                                        \
-            using namespace boost_hash_detect_float_functions;          \
-                                                                        \
-            struct check {                                              \
-                static type1 x;                                         \
-                static type2 y;                                         \
-                BOOST_STATIC_CONSTANT(bool, cpp =                       \
-                    sizeof(float_type(cpp_func(x,y)))                   \
-                        == sizeof(is<type1>));                          \
-                BOOST_STATIC_CONSTANT(bool, c99 =                       \
-                    sizeof(float_type(c99_func(x,y)))                   \
-                        == sizeof(is<type1>));                          \
-            };                                                          \
-        }                                                               \
-                                                                        \
-        template <bool x>                                               \
-        struct call_c99_##c99_func :                                    \
-            boost::hash_detail::call_##cpp_func<double> {};             \
-                                                                        \
-        template <>                                                     \
-        struct call_c99_##c99_func<true> {                              \
-            typedef type1 float_type;                                   \
-                                                                        \
-            template <typename T>                                       \
-            inline type1 operator()(type1 a, T b)  const                \
-            {                                                           \
-                using namespace std;                                    \
-                return c99_func(a, b);                                  \
-            }                                                           \
-        };                                                              \
-                                                                        \
-        template <bool x>                                               \
-        struct call_cpp_##c99_func :                                    \
-            call_c99_##c99_func<                                        \
-                ::boost::hash_detail::c99_func##_detect::check::c99     \
-            > {};                                                       \
-                                                                        \
-        template <>                                                     \
-        struct call_cpp_##c99_func<true> {                              \
-            typedef type1 float_type;                                   \
-                                                                        \
-            template <typename T>                                       \
-            inline type1 operator()(type1 a, T b)  const                \
-            {                                                           \
-                using namespace std;                                    \
-                return cpp_func(a, b);                                  \
-            }                                                           \
-        };                                                              \
-                                                                        \
-        template <>                                                     \
-        struct call_##cpp_func<type1> :                                 \
-            call_cpp_##c99_func<                                        \
-                ::boost::hash_detail::c99_func##_detect::check::cpp     \
-            > {};                                                       \
-    }                                                                   \
-}
-
-#define BOOST_HASH_CALL_FLOAT_MACRO(cpp_func, c99_func, type1, type2)   \
-namespace boost {                                                       \
-    namespace hash_detail {                                             \
-                                                                        \
-        template <>                                                     \
-        struct call_##cpp_func<type1> {                                 \
-            typedef type1 float_type;                                   \
-            inline type1 operator()(type1 x, type2 y) const {           \
-                return c99_func(x, y);                                  \
-            }                                                           \
-        };                                                              \
-    }                                                                   \
-}
-
-#if defined(ldexpf)
-BOOST_HASH_CALL_FLOAT_MACRO(ldexp, ldexpf, float, int)
-#else
-BOOST_HASH_CALL_FLOAT_FUNC(ldexp, ldexpf, float, int)
-#endif
-
-#if defined(ldexpl)
-BOOST_HASH_CALL_FLOAT_MACRO(ldexp, ldexpl, long double, int)
-#else
-BOOST_HASH_CALL_FLOAT_FUNC(ldexp, ldexpl, long double, int)
-#endif
-
-#if defined(frexpf)
-BOOST_HASH_CALL_FLOAT_MACRO(frexp, frexpf, float, int*)
-#else
-BOOST_HASH_CALL_FLOAT_FUNC(frexp, frexpf, float, int*)
-#endif
-
-#if defined(frexpl)
-BOOST_HASH_CALL_FLOAT_MACRO(frexp, frexpl, long double, int*)
-#else
-BOOST_HASH_CALL_FLOAT_FUNC(frexp, frexpl, long double, int*)
-#endif
-
-#undef BOOST_HASH_CALL_FLOAT_MACRO
-#undef BOOST_HASH_CALL_FLOAT_FUNC
-
-
-namespace boost
-{
-    namespace hash_detail
-    {
-        template <typename Float1, typename Float2>
-        struct select_hash_type_impl {
-            typedef double type;
-        };
-
-        template <>
-        struct select_hash_type_impl<float, float> {
-            typedef float type;
-        };
-
-        template <>
-        struct select_hash_type_impl<long double, long double> {
-            typedef long double type;
-        };
-
-
-        // select_hash_type
-        //
-        // If there is support for a particular floating point type, use that
-        // otherwise use double (there's always support for double).
-             
-        template <typename Float>
-        struct select_hash_type : select_hash_type_impl<
-                BOOST_DEDUCED_TYPENAME call_ldexp<Float>::float_type,
-                BOOST_DEDUCED_TYPENAME call_frexp<Float>::float_type
-            > {};            
-    }
-}
-
-#endif
diff --git a/SRC/Boost/boost/functional/hash/detail/hash_float.hpp b/SRC/Boost/boost/functional/hash/detail/hash_float.hpp
deleted file mode 100755
index 8108f46..0000000
--- a/SRC/Boost/boost/functional/hash/detail/hash_float.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// Copyright 2005-2009 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#if !defined(BOOST_FUNCTIONAL_HASH_DETAIL_HASH_FLOAT_HEADER)
-#define BOOST_FUNCTIONAL_HASH_DETAIL_HASH_FLOAT_HEADER
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/functional/hash/detail/float_functions.hpp>
-#include <boost/functional/hash/detail/limits.hpp>
-#include <boost/integer/static_log2.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/assert.hpp>
-
-// Include hash implementation for the current platform.
-
-// Cygwn
-#if defined(__CYGWIN__)
-#  if defined(__i386__) || defined(_M_IX86)
-#    include <boost/functional/hash/detail/hash_float_x86.hpp>
-#  else
-#    include <boost/functional/hash/detail/hash_float_generic.hpp>
-#  endif
-#else
-#  include <boost/functional/hash/detail/hash_float_generic.hpp>
-#endif
-
-// Can we use fpclassify?
-
-// STLport
-#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-#define BOOST_HASH_USE_FPCLASSIFY 0
-
-// GNU libstdc++ 3
-#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
-#  if (defined(__USE_ISOC99) || defined(_GLIBCXX_USE_C99_MATH)) && \
-      !(defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
-#    define BOOST_HASH_USE_FPCLASSIFY 1
-#  else
-#    define BOOST_HASH_USE_FPCLASSIFY 0
-#  endif
-
-// Everything else
-#else
-#  define BOOST_HASH_USE_FPCLASSIFY 0
-#endif
-
-#if BOOST_HASH_USE_FPCLASSIFY
-
-#include <boost/config/no_tr1/cmath.hpp>
-
-namespace boost
-{
-    namespace hash_detail
-    {
-        template <class T>
-        inline std::size_t float_hash_value(T v)
-        {
-            using namespace std;
-            switch (fpclassify(v)) {
-            case FP_ZERO:
-                return 0;
-            case FP_INFINITE:
-                return (std::size_t)(v > 0 ? -1 : -2);
-            case FP_NAN:
-                return (std::size_t)(-3);
-            case FP_NORMAL:
-            case FP_SUBNORMAL:
-                return float_hash_impl(v);
-            default:
-                BOOST_ASSERT(0);
-                return 0;
-            }
-        }
-    }
-}
-
-#else // !BOOST_HASH_USE_FPCLASSIFY
-
-namespace boost
-{
-    namespace hash_detail
-    {
-        template <class T>
-        inline std::size_t float_hash_value(T v)
-        {
-            return v == 0 ? 0 : float_hash_impl(v);
-        }
-    }
-}
-
-#endif // BOOST_HASH_USE_FPCLASSIFY
-
-#undef BOOST_HASH_USE_FPCLASSIFY
-
-#endif
diff --git a/SRC/Boost/boost/functional/hash/detail/hash_float_generic.hpp b/SRC/Boost/boost/functional/hash/detail/hash_float_generic.hpp
deleted file mode 100755
index 012090f..0000000
--- a/SRC/Boost/boost/functional/hash/detail/hash_float_generic.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-
-// Copyright 2005-2009 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// A general purpose hash function for non-zero floating point values.
-
-#if !defined(BOOST_FUNCTIONAL_HASH_DETAIL_HASH_FLOAT_GENERIC_HEADER)
-#define BOOST_FUNCTIONAL_HASH_DETAIL_HASH_FLOAT_GENERIC_HEADER
-
-#include <boost/functional/hash/detail/float_functions.hpp>
-#include <boost/integer/static_log2.hpp>
-#include <boost/functional/hash/detail/limits.hpp>
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#if BOOST_MSVC >= 1400
-#pragma warning(disable:6294) // Ill-defined for-loop: initial condition does
-                              // not satisfy test. Loop body not executed 
-#endif
-#endif
-
-namespace boost
-{
-    namespace hash_detail
-    {
-        inline void hash_float_combine(std::size_t& seed, std::size_t value)
-        {
-            seed ^= value + (seed<<6) + (seed>>2);
-        }
-
-        template <class T>
-        inline std::size_t float_hash_impl2(T v)
-        {
-            boost::hash_detail::call_frexp<T> frexp;
-            boost::hash_detail::call_ldexp<T> ldexp;
-        
-            int exp = 0;
-
-            v = frexp(v, &exp);
-
-            // A postive value is easier to hash, so combine the
-            // sign with the exponent and use the absolute value.
-            if(v < 0) {
-                v = -v;
-                exp += limits<T>::max_exponent -
-                    limits<T>::min_exponent;
-            }
-
-            v = ldexp(v, limits<std::size_t>::digits);
-            std::size_t seed = static_cast<std::size_t>(v);
-            v -= static_cast<T>(seed);
-
-            // ceiling(digits(T) * log2(radix(T))/ digits(size_t)) - 1;
-            std::size_t const length
-                = (limits<T>::digits *
-                        boost::static_log2<limits<T>::radix>::value
-                        + limits<std::size_t>::digits - 1)
-                / limits<std::size_t>::digits;
-
-            for(std::size_t i = 0; i != length; ++i)
-            {
-                v = ldexp(v, limits<std::size_t>::digits);
-                std::size_t part = static_cast<std::size_t>(v);
-                v -= static_cast<T>(part);
-                hash_float_combine(seed, part);
-            }
-
-            hash_float_combine(seed, exp);
-
-            return seed;
-        }
-
-        template <class T>
-        inline std::size_t float_hash_impl(T v)
-        {
-            typedef BOOST_DEDUCED_TYPENAME select_hash_type<T>::type type;
-            return float_hash_impl2(static_cast<type>(v));
-        }
-    }
-}
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/functional/hash/detail/hash_float_x86.hpp b/SRC/Boost/boost/functional/hash/detail/hash_float_x86.hpp
deleted file mode 100755
index ee8e758..0000000
--- a/SRC/Boost/boost/functional/hash/detail/hash_float_x86.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-
-// Copyright 2005-2009 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// A non-portable hash function form non-zero floats on x86.
-//
-// Even if you're on an x86 platform, this might not work if their floating
-// point isn't set up as this expects. So this should only be used if it's
-// absolutely certain that it will work.
-
-#if !defined(BOOST_FUNCTIONAL_HASH_DETAIL_HASH_FLOAT_X86_HEADER)
-#define BOOST_FUNCTIONAL_HASH_DETAIL_HASH_FLOAT_X86_HEADER
-
-#include <boost/cstdint.hpp>
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-namespace boost
-{
-    namespace hash_detail
-    {
-        inline void hash_float_combine(std::size_t& seed, std::size_t value)
-        {
-            seed ^= value + (seed<<6) + (seed>>2);
-        }
-
-        inline std::size_t float_hash_impl(float v)
-        {
-            boost::uint32_t* ptr = (boost::uint32_t*)&v;
-            std::size_t seed = *ptr;
-            return seed;
-        }
-
-        inline std::size_t float_hash_impl(double v)
-        {
-            boost::uint32_t* ptr = (boost::uint32_t*)&v;
-            std::size_t seed = *ptr++;
-            hash_float_combine(seed, *ptr);
-            return seed;
-        }
-
-        inline std::size_t float_hash_impl(long double v)
-        {
-            boost::uint32_t* ptr = (boost::uint32_t*)&v;
-            std::size_t seed = *ptr++;
-            hash_float_combine(seed, *ptr++);
-            hash_float_combine(seed, *(boost::uint16_t*)ptr);
-            return seed;
-        }
-    }
-}
-
-#endif
diff --git a/SRC/Boost/boost/functional/hash/detail/limits.hpp b/SRC/Boost/boost/functional/hash/detail/limits.hpp
deleted file mode 100755
index e684593..0000000
--- a/SRC/Boost/boost/functional/hash/detail/limits.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-
-// Copyright 2005-2009 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// On some platforms std::limits gives incorrect values for long double.
-// This tries to work around them.
-
-#if !defined(BOOST_FUNCTIONAL_HASH_DETAIL_LIMITS_HEADER)
-#define BOOST_FUNCTIONAL_HASH_DETAIL_LIMITS_HEADER
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/limits.hpp>
-
-// On OpenBSD, numeric_limits is not reliable for long doubles, but
-// the macros defined in <float.h> are and support long double when STLport
-// doesn't.
-
-#if defined(__OpenBSD__) || defined(_STLP_NO_LONG_DOUBLE)
-#include <float.h>
-#endif
-
-namespace boost
-{
-    namespace hash_detail
-    {
-        template <class T>
-        struct limits : std::numeric_limits<T> {};
-
-#if defined(__OpenBSD__) || defined(_STLP_NO_LONG_DOUBLE)
-        template <>
-        struct limits<long double>
-             : std::numeric_limits<long double>
-        {
-            static long double epsilon() {
-                return LDBL_EPSILON;
-            }
-
-            static long double (max)() {
-                return LDBL_MAX;
-            }
-
-            static long double (min)() {
-                return LDBL_MIN;
-            }
-
-            BOOST_STATIC_CONSTANT(int, digits = LDBL_MANT_DIG);
-            BOOST_STATIC_CONSTANT(int, max_exponent = LDBL_MAX_EXP);
-            BOOST_STATIC_CONSTANT(int, min_exponent = LDBL_MIN_EXP);
-#if defined(_STLP_NO_LONG_DOUBLE)
-            BOOST_STATIC_CONSTANT(int, radix = FLT_RADIX);
-#endif
-        };
-#endif // __OpenBSD__
-    }
-}
-
-#endif
diff --git a/SRC/Boost/boost/functional/hash/extensions.hpp b/SRC/Boost/boost/functional/hash/extensions.hpp
deleted file mode 100755
index eea32ef..0000000
--- a/SRC/Boost/boost/functional/hash/extensions.hpp
+++ /dev/null
@@ -1,286 +0,0 @@
-
-// Copyright 2005-2009 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  Based on Peter Dimov's proposal
-//  http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf
-//  issue 6.18. 
-
-// This implements the extensions to the standard.
-// It's undocumented, so you shouldn't use it....
-
-#if !defined(BOOST_FUNCTIONAL_HASH_EXTENSIONS_HPP)
-#define BOOST_FUNCTIONAL_HASH_EXTENSIONS_HPP
-
-#include <boost/functional/hash/hash.hpp>
-#include <boost/detail/container_fwd.hpp>
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#include <boost/type_traits/is_array.hpp>
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-#include <boost/type_traits/is_const.hpp>
-#endif
-
-namespace boost
-{
-    template <class A, class B>
-    std::size_t hash_value(std::pair<A, B> const&);
-    template <class T, class A>
-    std::size_t hash_value(std::vector<T, A> const&);
-    template <class T, class A>
-    std::size_t hash_value(std::list<T, A> const& v);
-    template <class T, class A>
-    std::size_t hash_value(std::deque<T, A> const& v);
-    template <class K, class C, class A>
-    std::size_t hash_value(std::set<K, C, A> const& v);
-    template <class K, class C, class A>
-    std::size_t hash_value(std::multiset<K, C, A> const& v);
-    template <class K, class T, class C, class A>
-    std::size_t hash_value(std::map<K, T, C, A> const& v);
-    template <class K, class T, class C, class A>
-    std::size_t hash_value(std::multimap<K, T, C, A> const& v);
-
-    template <class T>
-    std::size_t hash_value(std::complex<T> const&);
-
-    template <class A, class B>
-    std::size_t hash_value(std::pair<A, B> const& v)
-    {
-        std::size_t seed = 0;
-        hash_combine(seed, v.first);
-        hash_combine(seed, v.second);
-        return seed;
-    }
-
-    template <class T, class A>
-    std::size_t hash_value(std::vector<T, A> const& v)
-    {
-        return hash_range(v.begin(), v.end());
-    }
-
-    template <class T, class A>
-    std::size_t hash_value(std::list<T, A> const& v)
-    {
-        return hash_range(v.begin(), v.end());
-    }
-
-    template <class T, class A>
-    std::size_t hash_value(std::deque<T, A> const& v)
-    {
-        return hash_range(v.begin(), v.end());
-    }
-
-    template <class K, class C, class A>
-    std::size_t hash_value(std::set<K, C, A> const& v)
-    {
-        return hash_range(v.begin(), v.end());
-    }
-
-    template <class K, class C, class A>
-    std::size_t hash_value(std::multiset<K, C, A> const& v)
-    {
-        return hash_range(v.begin(), v.end());
-    }
-
-    template <class K, class T, class C, class A>
-    std::size_t hash_value(std::map<K, T, C, A> const& v)
-    {
-        return hash_range(v.begin(), v.end());
-    }
-
-    template <class K, class T, class C, class A>
-    std::size_t hash_value(std::multimap<K, T, C, A> const& v)
-    {
-        return hash_range(v.begin(), v.end());
-    }
-
-    template <class T>
-    std::size_t hash_value(std::complex<T> const& v)
-    {
-        boost::hash<T> hasher;
-        std::size_t seed = hasher(v.imag());
-        seed ^= hasher(v.real()) + (seed<<6) + (seed>>2);
-        return seed;
-    }
-
-    //
-    // call_hash_impl
-    //
-
-    // On compilers without function template ordering, this deals with arrays.
-
-#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-    namespace hash_detail
-    {
-        template <bool IsArray>
-        struct call_hash_impl
-        {
-            template <class T>
-            struct inner
-            {
-                static std::size_t call(T const& v)
-                {
-                    using namespace boost;
-                    return hash_value(v);
-                }
-            };
-        };
-
-        template <>
-        struct call_hash_impl<true>
-        {
-            template <class Array>
-            struct inner
-            {
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-                static std::size_t call(Array const& v)
-#else
-                static std::size_t call(Array& v)
-#endif
-                {
-                    const int size = sizeof(v) / sizeof(*v);
-                    return boost::hash_range(v, v + size);
-                }
-            };
-        };
-
-        template <class T>
-        struct call_hash
-            : public call_hash_impl<boost::is_array<T>::value>
-                ::BOOST_NESTED_TEMPLATE inner<T>
-        {
-        };
-    }
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-    //
-    // boost::hash
-    //
-
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-    template <class T> struct hash
-        : std::unary_function<T, std::size_t>
-    {
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-        std::size_t operator()(T const& val) const
-        {
-            return hash_value(val);
-        }
-#else
-        std::size_t operator()(T const& val) const
-        {
-            return hash_detail::call_hash<T>::call(val);
-        }
-#endif
-    };
-
-#if BOOST_WORKAROUND(__DMC__, <= 0x848)
-    template <class T, unsigned int n> struct hash<T[n]>
-        : std::unary_function<T[n], std::size_t>
-    {
-        std::size_t operator()(const T* val) const
-        {
-            return boost::hash_range(val, val+n);
-        }
-    };
-#endif
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-    // On compilers without partial specialization, boost::hash<T>
-    // has already been declared to deal with pointers, so just
-    // need to supply the non-pointer version of hash_impl.
-
-    namespace hash_detail
-    {
-        template <bool IsPointer>
-        struct hash_impl;
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-        template <>
-        struct hash_impl<false>
-        {
-            template <class T>
-            struct inner
-                : std::unary_function<T, std::size_t>
-            {
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-                std::size_t operator()(T const& val) const
-                {
-                    return hash_value(val);
-                }
-#else
-                std::size_t operator()(T const& val) const
-                {
-                    return hash_detail::call_hash<T>::call(val);
-                }
-#endif
-            };
-        };
-
-#else // Visual C++ 6.5
-
-        // Visual C++ 6.5 has problems with nested member functions and
-        // applying const to const types in templates. So we get this:
-
-        template <bool IsConst>
-        struct hash_impl_msvc
-        {
-            template <class T>
-            struct inner
-                : public std::unary_function<T, std::size_t>
-            {
-                std::size_t operator()(T const& val) const
-                {
-                    return hash_detail::call_hash<T const>::call(val);
-                }
-
-                std::size_t operator()(T& val) const
-                {
-                    return hash_detail::call_hash<T>::call(val);
-                }
-            };
-        };
-
-        template <>
-        struct hash_impl_msvc<true>
-        {
-            template <class T>
-            struct inner
-                : public std::unary_function<T, std::size_t>
-            {
-                std::size_t operator()(T& val) const
-                {
-                    return hash_detail::call_hash<T>::call(val);
-                }
-            };
-        };
-        
-        template <class T>
-        struct hash_impl_msvc2
-            : public hash_impl_msvc<boost::is_const<T>::value>
-                    ::BOOST_NESTED_TEMPLATE inner<T> {};
-        
-        template <>
-        struct hash_impl<false>
-        {
-            template <class T>
-            struct inner : public hash_impl_msvc2<T> {};
-        };
-
-#endif // Visual C++ 6.5
-    }
-#endif  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-}
-
-#endif
diff --git a/SRC/Boost/boost/functional/hash/hash.hpp b/SRC/Boost/boost/functional/hash/hash.hpp
deleted file mode 100755
index 115dc94..0000000
--- a/SRC/Boost/boost/functional/hash/hash.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-
-// Copyright 2005-2009 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  Based on Peter Dimov's proposal
-//  http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf
-//  issue 6.18. 
-
-#if !defined(BOOST_FUNCTIONAL_HASH_HASH_HPP)
-#define BOOST_FUNCTIONAL_HASH_HASH_HPP
-
-#include <boost/functional/hash/hash_fwd.hpp>
-#include <functional>
-#include <boost/functional/hash/detail/hash_float.hpp>
-#include <string>
-#include <boost/limits.hpp>
-
-#if defined(BOOST_HASH_NO_IMPLICIT_CASTS)
-#include <boost/static_assert.hpp>
-#endif
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#include <boost/type_traits/is_pointer.hpp>
-#endif
-
-#if !defined(BOOST_NO_0X_HDR_TYPEINDEX)
-#include <typeindex>
-#endif
-
-#if BOOST_WORKAROUND(__GNUC__, < 3) \
-    && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-#define BOOST_HASH_CHAR_TRAITS string_char_traits
-#else
-#define BOOST_HASH_CHAR_TRAITS char_traits
-#endif
-
-namespace boost
-{
-#if defined(BOOST_HASH_NO_IMPLICIT_CASTS)
-
-    // If you get a static assertion here, it's because hash_value
-    // isn't declared for your type.
-    template <typename T>
-    std::size_t hash_value(T const&) {
-        BOOST_STATIC_ASSERT((T*) 0 && false);
-        return 0;
-    }
-
-#endif
-
-    std::size_t hash_value(bool);
-    std::size_t hash_value(char);
-    std::size_t hash_value(unsigned char);
-    std::size_t hash_value(signed char);
-    std::size_t hash_value(short);
-    std::size_t hash_value(unsigned short);
-    std::size_t hash_value(int);
-    std::size_t hash_value(unsigned int);
-    std::size_t hash_value(long);
-    std::size_t hash_value(unsigned long);
-
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-    std::size_t hash_value(wchar_t);
-#endif
-    
-#if !defined(BOOST_NO_LONG_LONG)
-    std::size_t hash_value(boost::long_long_type);
-    std::size_t hash_value(boost::ulong_long_type);
-#endif
-
-#if !BOOST_WORKAROUND(__DMC__, <= 0x848)
-    template <class T> std::size_t hash_value(T* const&);
-#else
-    template <class T> std::size_t hash_value(T*);
-#endif
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-    template< class T, unsigned N >
-    std::size_t hash_value(const T (&x)[N]);
-
-    template< class T, unsigned N >
-    std::size_t hash_value(T (&x)[N]);
-#endif
-
-    std::size_t hash_value(float v);
-    std::size_t hash_value(double v);
-    std::size_t hash_value(long double v);
-
-    template <class Ch, class A>
-    std::size_t hash_value(
-        std::basic_string<Ch, std::BOOST_HASH_CHAR_TRAITS<Ch>, A> const&);
-
-#if !defined(BOOST_NO_0X_HDR_TYPEINDEX)
-    std::size_t hash_value(std::type_index);
-#endif
-
-    // Implementation
-
-    namespace hash_detail
-    {
-        template <class T>
-        inline std::size_t hash_value_signed(T val)
-        {
-             const int size_t_bits = std::numeric_limits<std::size_t>::digits;
-             // ceiling(std::numeric_limits<T>::digits / size_t_bits) - 1
-             const int length = (std::numeric_limits<T>::digits - 1)
-                 / size_t_bits;
-
-             std::size_t seed = 0;
-             T positive = val < 0 ? -1 - val : val;
-
-             // Hopefully, this loop can be unrolled.
-             for(unsigned int i = length * size_t_bits; i > 0; i -= size_t_bits)
-             {
-                 seed ^= (std::size_t) (positive >> i) + (seed<<6) + (seed>>2);
-             }
-             seed ^= (std::size_t) val + (seed<<6) + (seed>>2);
-
-             return seed;
-        }
-
-        template <class T>
-        inline std::size_t hash_value_unsigned(T val)
-        {
-             const int size_t_bits = std::numeric_limits<std::size_t>::digits;
-             // ceiling(std::numeric_limits<T>::digits / size_t_bits) - 1
-             const int length = (std::numeric_limits<T>::digits - 1)
-                 / size_t_bits;
-
-             std::size_t seed = 0;
-
-             // Hopefully, this loop can be unrolled.
-             for(unsigned int i = length * size_t_bits; i > 0; i -= size_t_bits)
-             {
-                 seed ^= (std::size_t) (val >> i) + (seed<<6) + (seed>>2);
-             }
-             seed ^= (std::size_t) val + (seed<<6) + (seed>>2);
-
-             return seed;
-        }
-    }
-
-    inline std::size_t hash_value(bool v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-
-    inline std::size_t hash_value(char v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-
-    inline std::size_t hash_value(unsigned char v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-
-    inline std::size_t hash_value(signed char v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-
-    inline std::size_t hash_value(short v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-
-    inline std::size_t hash_value(unsigned short v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-
-    inline std::size_t hash_value(int v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-
-    inline std::size_t hash_value(unsigned int v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-
-    inline std::size_t hash_value(long v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-
-    inline std::size_t hash_value(unsigned long v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-    inline std::size_t hash_value(wchar_t v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-#endif
-
-#if !defined(BOOST_NO_LONG_LONG)
-    inline std::size_t hash_value(boost::long_long_type v)
-    {
-        return hash_detail::hash_value_signed(v);
-    }
-
-    inline std::size_t hash_value(boost::ulong_long_type v)
-    {
-        return hash_detail::hash_value_unsigned(v);
-    }
-#endif
-
-    // Implementation by Alberto Barbati and Dave Harris.
-#if !BOOST_WORKAROUND(__DMC__, <= 0x848)
-    template <class T> std::size_t hash_value(T* const& v)
-#else
-    template <class T> std::size_t hash_value(T* v)
-#endif
-    {
-#if defined(__VMS) && __INITIAL_POINTER_SIZE == 64
-    // for some reason ptrdiff_t on OpenVMS compiler with
-    // 64 bit is not 64 bit !!!
-        std::size_t x = static_cast<std::size_t>(
-           reinterpret_cast<long long int>(v));
-#else
-        std::size_t x = static_cast<std::size_t>(
-           reinterpret_cast<std::ptrdiff_t>(v));
-#endif
-        return x + (x >> 3);
-    }
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#if BOOST_MSVC <= 1400
-#pragma warning(disable:4267) // 'argument' : conversion from 'size_t' to
-                              // 'unsigned int', possible loss of data
-                              // A misguided attempt to detect 64-bit
-                              // incompatability.
-#endif
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    template <class T>
-    inline void hash_combine(std::size_t& seed, T& v)
-#else
-    template <class T>
-    inline void hash_combine(std::size_t& seed, T const& v)
-#endif
-    {
-        boost::hash<T> hasher;
-        seed ^= hasher(v) + 0x9e3779b9 + (seed<<6) + (seed>>2);
-    }
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-    template <class It>
-    inline std::size_t hash_range(It first, It last)
-    {
-        std::size_t seed = 0;
-
-        for(; first != last; ++first)
-        {
-            hash_combine(seed, *first);
-        }
-
-        return seed;
-    }
-
-    template <class It>
-    inline void hash_range(std::size_t& seed, It first, It last)
-    {
-        for(; first != last; ++first)
-        {
-            hash_combine(seed, *first);
-        }
-    }
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-    template <class T>
-    inline std::size_t hash_range(T* first, T* last)
-    {
-        std::size_t seed = 0;
-
-        for(; first != last; ++first)
-        {
-            boost::hash<T> hasher;
-            seed ^= hasher(*first) + 0x9e3779b9 + (seed<<6) + (seed>>2);
-        }
-
-        return seed;
-    }
-
-    template <class T>
-    inline void hash_range(std::size_t& seed, T* first, T* last)
-    {
-        for(; first != last; ++first)
-        {
-            boost::hash<T> hasher;
-            seed ^= hasher(*first) + 0x9e3779b9 + (seed<<6) + (seed>>2);
-        }
-    }
-#endif
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-    template< class T, unsigned N >
-    inline std::size_t hash_value(const T (&x)[N])
-    {
-        return hash_range(x, x + N);
-    }
-
-    template< class T, unsigned N >
-    inline std::size_t hash_value(T (&x)[N])
-    {
-        return hash_range(x, x + N);
-    }
-#endif
-
-    template <class Ch, class A>
-    inline std::size_t hash_value(
-        std::basic_string<Ch, std::BOOST_HASH_CHAR_TRAITS<Ch>, A> const& v)
-    {
-        return hash_range(v.begin(), v.end());
-    }
-
-    inline std::size_t hash_value(float v)
-    {
-        return boost::hash_detail::float_hash_value(v);
-    }
-
-    inline std::size_t hash_value(double v)
-    {
-        return boost::hash_detail::float_hash_value(v);
-    }
-
-    inline std::size_t hash_value(long double v)
-    {
-        return boost::hash_detail::float_hash_value(v);
-    }
-
-#if !defined(BOOST_NO_0X_HDR_TYPEINDEX)
-    inline std::size_t hash_value(std::type_index v)
-    {
-        return v.hash_code();
-    }
-#endif
-
-    //
-    // boost::hash
-    //
-    
-    // Define the specializations required by the standard. The general purpose
-    // boost::hash is defined later in extensions.hpp if
-    // BOOST_HASH_NO_EXTENSIONS is not defined.
-    
-    // BOOST_HASH_SPECIALIZE - define a specialization for a type which is
-    // passed by copy.
-    //
-    // BOOST_HASH_SPECIALIZE_REF - define a specialization for a type which is
-    // passed by copy.
-    //
-    // These are undefined later.
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-#define BOOST_HASH_SPECIALIZE(type) \
-    template <> struct hash<type> \
-         : public std::unary_function<type, std::size_t> \
-    { \
-        std::size_t operator()(type v) const \
-        { \
-            return boost::hash_value(v); \
-        } \
-    };
-
-#define BOOST_HASH_SPECIALIZE_REF(type) \
-    template <> struct hash<type> \
-         : public std::unary_function<type, std::size_t> \
-    { \
-        std::size_t operator()(type const& v) const \
-        { \
-            return boost::hash_value(v); \
-        } \
-    };
-#else
-#define BOOST_HASH_SPECIALIZE(type) \
-    template <> struct hash<type> \
-         : public std::unary_function<type, std::size_t> \
-    { \
-        std::size_t operator()(type v) const \
-        { \
-            return boost::hash_value(v); \
-        } \
-    }; \
-    \
-    template <> struct hash<const type> \
-         : public std::unary_function<const type, std::size_t> \
-    { \
-        std::size_t operator()(const type v) const \
-        { \
-            return boost::hash_value(v); \
-        } \
-    };
-
-#define BOOST_HASH_SPECIALIZE_REF(type) \
-    template <> struct hash<type> \
-         : public std::unary_function<type, std::size_t> \
-    { \
-        std::size_t operator()(type const& v) const \
-        { \
-            return boost::hash_value(v); \
-        } \
-    }; \
-    \
-    template <> struct hash<const type> \
-         : public std::unary_function<const type, std::size_t> \
-    { \
-        std::size_t operator()(type const& v) const \
-        { \
-            return boost::hash_value(v); \
-        } \
-    };
-#endif
-
-    BOOST_HASH_SPECIALIZE(bool)
-    BOOST_HASH_SPECIALIZE(char)
-    BOOST_HASH_SPECIALIZE(signed char)
-    BOOST_HASH_SPECIALIZE(unsigned char)
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-    BOOST_HASH_SPECIALIZE(wchar_t)
-#endif
-    BOOST_HASH_SPECIALIZE(short)
-    BOOST_HASH_SPECIALIZE(unsigned short)
-    BOOST_HASH_SPECIALIZE(int)
-    BOOST_HASH_SPECIALIZE(unsigned int)
-    BOOST_HASH_SPECIALIZE(long)
-    BOOST_HASH_SPECIALIZE(unsigned long)
-
-    BOOST_HASH_SPECIALIZE(float)
-    BOOST_HASH_SPECIALIZE(double)
-    BOOST_HASH_SPECIALIZE(long double)
-
-    BOOST_HASH_SPECIALIZE_REF(std::string)
-#if !defined(BOOST_NO_STD_WSTRING)
-    BOOST_HASH_SPECIALIZE_REF(std::wstring)
-#endif
-
-#if !defined(BOOST_NO_LONG_LONG)
-    BOOST_HASH_SPECIALIZE(boost::long_long_type)
-    BOOST_HASH_SPECIALIZE(boost::ulong_long_type)
-#endif
-
-#if !defined(BOOST_NO_0X_HDR_TYPEINDEX)
-    BOOST_HASH_SPECIALIZE(std::type_index)
-#endif
-
-#undef BOOST_HASH_SPECIALIZE
-#undef BOOST_HASH_SPECIALIZE_REF
-
-// Specializing boost::hash for pointers.
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-    template <class T>
-    struct hash<T*>
-        : public std::unary_function<T*, std::size_t>
-    {
-        std::size_t operator()(T* v) const
-        {
-#if !BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590)
-            return boost::hash_value(v);
-#else
-            std::size_t x = static_cast<std::size_t>(
-                reinterpret_cast<std::ptrdiff_t>(v));
-
-            return x + (x >> 3);
-#endif
-        }
-    };
-
-#else
-
-    // For compilers without partial specialization, we define a
-    // boost::hash for all remaining types. But hash_impl is only defined
-    // for pointers in 'extensions.hpp' - so when BOOST_HASH_NO_EXTENSIONS
-    // is defined there will still be a compile error for types not supported
-    // in the standard.
-
-    namespace hash_detail
-    {
-        template <bool IsPointer>
-        struct hash_impl;
-
-        template <>
-        struct hash_impl<true>
-        {
-            template <class T>
-            struct inner
-                : public std::unary_function<T, std::size_t>
-            {
-                std::size_t operator()(T val) const
-                {
-#if !BOOST_WORKAROUND(__SUNPRO_CC, <= 590)
-                    return boost::hash_value(val);
-#else
-                    std::size_t x = static_cast<std::size_t>(
-                        reinterpret_cast<std::ptrdiff_t>(val));
-
-                    return x + (x >> 3);
-#endif
-                }
-            };
-        };
-    }
-
-    template <class T> struct hash
-        : public boost::hash_detail::hash_impl<boost::is_pointer<T>::value>
-            ::BOOST_NESTED_TEMPLATE inner<T>
-    {
-    };
-
-#endif
-}
-
-#undef BOOST_HASH_CHAR_TRAITS
-
-#endif // BOOST_FUNCTIONAL_HASH_HASH_HPP
-
-// Include this outside of the include guards in case the file is included
-// twice - once with BOOST_HASH_NO_EXTENSIONS defined, and then with it
-// undefined.
-
-#if !defined(BOOST_HASH_NO_EXTENSIONS) \
-    && !defined(BOOST_FUNCTIONAL_HASH_EXTENSIONS_HPP)
-#include <boost/functional/hash/extensions.hpp>
-#endif
diff --git a/SRC/Boost/boost/functional/hash/hash_fwd.hpp b/SRC/Boost/boost/functional/hash/hash_fwd.hpp
deleted file mode 100755
index 1d0d066..0000000
--- a/SRC/Boost/boost/functional/hash/hash_fwd.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-// Copyright 2005-2009 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  Based on Peter Dimov's proposal
-//  http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf
-//  issue 6.18. 
-
-#if !defined(BOOST_FUNCTIONAL_HASH_FWD_HPP)
-#define BOOST_FUNCTIONAL_HASH_FWD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <cstddef>
-#include <boost/detail/workaround.hpp>
-
-namespace boost
-{
-    template <class T> struct hash;
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    template <class T> void hash_combine(std::size_t& seed, T& v);
-#else
-    template <class T> void hash_combine(std::size_t& seed, T const& v);
-#endif
-
-    template <class It> std::size_t hash_range(It, It);
-    template <class It> void hash_range(std::size_t&, It, It);
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-    template <class T> inline std::size_t hash_range(T*, T*);
-    template <class T> inline void hash_range(std::size_t&, T*, T*);
-#endif
-}
-
-#endif
diff --git a/SRC/Boost/boost/functional/hash_fwd.hpp b/SRC/Boost/boost/functional/hash_fwd.hpp
deleted file mode 100755
index b8f8c9a..0000000
--- a/SRC/Boost/boost/functional/hash_fwd.hpp
+++ /dev/null
@@ -1,7 +0,0 @@
-
-// Copyright 2005-2009 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/functional/hash/hash_fwd.hpp>
-
diff --git a/SRC/Boost/boost/get_pointer.hpp b/SRC/Boost/boost/get_pointer.hpp
deleted file mode 100755
index 1a34671..0000000
--- a/SRC/Boost/boost/get_pointer.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright Peter Dimov and David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef GET_POINTER_DWA20021219_HPP
-# define GET_POINTER_DWA20021219_HPP
-
-// In order to avoid circular dependencies with Boost.TR1
-// we make sure that our include of <memory> doesn't try to
-// pull in the TR1 headers: that's why we use this header 
-// rather than including <memory> directly:
-# include <boost/config/no_tr1/memory.hpp>  // std::auto_ptr
-
-namespace boost { 
-
-// get_pointer(p) extracts a ->* capable pointer from p
-
-template<class T> T * get_pointer(T * p)
-{
-    return p;
-}
-
-// get_pointer(shared_ptr<T> const & p) has been moved to shared_ptr.hpp
-
-template<class T> T * get_pointer(std::auto_ptr<T> const& p)
-{
-    return p.get();
-}
-
-
-} // namespace boost
-
-#endif // GET_POINTER_DWA20021219_HPP
diff --git a/SRC/Boost/boost/implicit_cast.hpp b/SRC/Boost/boost/implicit_cast.hpp
deleted file mode 100755
index b0ff30a..0000000
--- a/SRC/Boost/boost/implicit_cast.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright David Abrahams 2003.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef IMPLICIT_CAST_DWA200356_HPP
-# define IMPLICIT_CAST_DWA200356_HPP
-
-# include <boost/mpl/identity.hpp>
-
-namespace boost {
-
-// implementation originally suggested by C. Green in
-// http://lists.boost.org/MailArchives/boost/msg00886.php
-
-// The use of identity creates a non-deduced form, so that the
-// explicit template argument must be supplied
-template <typename T>
-inline T implicit_cast (typename mpl::identity<T>::type x) {
-    return x;
-}
-
-// incomplete return type now is here
-//template <typename T>
-//void implicit_cast (...);
-
-} // namespace boost
-
-
-#endif // IMPLICIT_CAST_DWA200356_HPP
diff --git a/SRC/Boost/boost/indirect_reference.hpp b/SRC/Boost/boost/indirect_reference.hpp
deleted file mode 100755
index 7675e78..0000000
--- a/SRC/Boost/boost/indirect_reference.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef INDIRECT_REFERENCE_DWA200415_HPP
-# define INDIRECT_REFERENCE_DWA200415_HPP
-
-//
-// Copyright David Abrahams 2004. Use, modification and distribution is
-// subject to the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// typename indirect_reference<P>::type provides the type of *p.
-//
-// http://www.boost.org/libs/iterator/doc/pointee.html
-//
-
-# include <boost/detail/is_incrementable.hpp>
-# include <boost/iterator/iterator_traits.hpp>
-# include <boost/type_traits/remove_cv.hpp>
-# include <boost/mpl/eval_if.hpp>
-# include <boost/pointee.hpp>
-
-namespace boost { 
-
-namespace detail
-{
-  template <class P>
-  struct smart_ptr_reference
-  {
-      typedef typename boost::pointee<P>::type& type;
-  };
-}
-
-template <class P>
-struct indirect_reference
-  : mpl::eval_if<
-        detail::is_incrementable<P>
-      , iterator_reference<P>
-      , detail::smart_ptr_reference<P>
-    >
-{
-};
-  
-} // namespace boost
-
-#endif // INDIRECT_REFERENCE_DWA200415_HPP
diff --git a/SRC/Boost/boost/integer.hpp b/SRC/Boost/boost/integer.hpp
deleted file mode 100755
index 9fbd848..0000000
--- a/SRC/Boost/boost/integer.hpp
+++ /dev/null
@@ -1,257 +0,0 @@
-//  boost integer.hpp header file  -------------------------------------------//
-
-//  Copyright Beman Dawes and Daryle Walker 1999.  Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/integer for documentation.
-
-//  Revision History
-//   22 Sep 01  Added value-based integer templates. (Daryle Walker)
-//   01 Apr 01  Modified to use new <boost/limits.hpp> header. (John Maddock)
-//   30 Jul 00  Add typename syntax fix (Jens Maurer)
-//   28 Aug 99  Initial version
-
-#ifndef BOOST_INTEGER_HPP
-#define BOOST_INTEGER_HPP
-
-#include <boost/integer_fwd.hpp>  // self include
-
-#include <boost/integer_traits.hpp>  // for boost::::boost::integer_traits
-#include <boost/limits.hpp>          // for ::std::numeric_limits
-#include <boost/cstdint.hpp>         // for boost::int64_t and BOOST_NO_INTEGRAL_INT64_T
-
-//
-// We simply cannot include this header on gcc without getting copious warnings of the kind:
-//
-// boost/integer.hpp:77:30: warning: use of C99 long long integer constant
-//
-// And yet there is no other reasonable implementation, so we declare this a system header
-// to suppress these warnings.
-//
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-#pragma GCC system_header
-#endif
-
-namespace boost
-{
-
-  //  Helper templates  ------------------------------------------------------//
-
-  //  fast integers from least integers
-  //  int_fast_t<> works correctly for unsigned too, in spite of the name.
-  template< typename LeastInt >
-  struct int_fast_t 
-  { 
-     typedef LeastInt fast; 
-     typedef fast     type;
-  }; // imps may specialize
-
-  namespace detail{
-
-  //  convert category to type 
-  template< int Category > struct int_least_helper {}; // default is empty
-
-  //  specializatons: 1=long, 2=int, 3=short, 4=signed char,
-  //     6=unsigned long, 7=unsigned int, 8=unsigned short, 9=unsigned char
-  //  no specializations for 0 and 5: requests for a type > long are in error
-#ifdef BOOST_HAS_LONG_LONG
-  template<> struct int_least_helper<1> { typedef boost::long_long_type least; };
-#elif defined(BOOST_HAS_MS_INT64)
-  template<> struct int_least_helper<1> { typedef __int64 least; };
-#endif
-  template<> struct int_least_helper<2> { typedef long least; };
-  template<> struct int_least_helper<3> { typedef int least; };
-  template<> struct int_least_helper<4> { typedef short least; };
-  template<> struct int_least_helper<5> { typedef signed char least; };
-#ifdef BOOST_HAS_LONG_LONG
-  template<> struct int_least_helper<6> { typedef boost::ulong_long_type least; };
-#elif defined(BOOST_HAS_MS_INT64)
-  template<> struct int_least_helper<6> { typedef unsigned __int64 least; };
-#endif
-  template<> struct int_least_helper<7> { typedef unsigned long least; };
-  template<> struct int_least_helper<8> { typedef unsigned int least; };
-  template<> struct int_least_helper<9> { typedef unsigned short least; };
-  template<> struct int_least_helper<10> { typedef unsigned char least; };
-
-  template <int Bits>
-  struct exact_signed_base_helper{};
-  template <int Bits>
-  struct exact_unsigned_base_helper{};
-
-  template <> struct exact_signed_base_helper<sizeof(signed char)* CHAR_BIT> { typedef signed char exact; };
-  template <> struct exact_unsigned_base_helper<sizeof(unsigned char)* CHAR_BIT> { typedef unsigned char exact; };
-#if USHRT_MAX != UCHAR_MAX
-  template <> struct exact_signed_base_helper<sizeof(short)* CHAR_BIT> { typedef short exact; };
-  template <> struct exact_unsigned_base_helper<sizeof(unsigned short)* CHAR_BIT> { typedef unsigned short exact; };
-#endif
-#if UINT_MAX != USHRT_MAX
-  template <> struct exact_signed_base_helper<sizeof(int)* CHAR_BIT> { typedef int exact; };
-  template <> struct exact_unsigned_base_helper<sizeof(unsigned int)* CHAR_BIT> { typedef unsigned int exact; };
-#endif
-#if ULONG_MAX != UINT_MAX
-  template <> struct exact_signed_base_helper<sizeof(long)* CHAR_BIT> { typedef long exact; };
-  template <> struct exact_unsigned_base_helper<sizeof(unsigned long)* CHAR_BIT> { typedef unsigned long exact; };
-#endif
-#if defined(BOOST_HAS_LONG_LONG) &&\
-   ((defined(ULLONG_MAX) && (ULLONG_MAX != ULONG_MAX)) ||\
-    (defined(ULONG_LONG_MAX) && (ULONG_LONG_MAX != ULONG_MAX)) ||\
-    (defined(ULONGLONG_MAX) && (ULONGLONG_MAX != ULONG_MAX)) ||\
-    (defined(_ULLONG_MAX) && (_ULLONG_MAX != ULONG_MAX)))
-  template <> struct exact_signed_base_helper<sizeof(boost::long_long_type)* CHAR_BIT> { typedef boost::long_long_type exact; };
-  template <> struct exact_unsigned_base_helper<sizeof(boost::ulong_long_type)* CHAR_BIT> { typedef boost::ulong_long_type exact; };
-#endif
-
-
-  } // namespace detail
-
-  //  integer templates specifying number of bits  ---------------------------//
-
-  //  signed
-  template< int Bits >   // bits (including sign) required
-  struct int_t : public detail::exact_signed_base_helper<Bits>
-  {
-      typedef typename detail::int_least_helper
-        <
-#ifdef BOOST_HAS_LONG_LONG
-          (Bits-1 <= (int)(sizeof(boost::long_long_type) * CHAR_BIT)) +
-#else
-           1 +
-#endif
-          (Bits-1 <= ::std::numeric_limits<long>::digits) +
-          (Bits-1 <= ::std::numeric_limits<int>::digits) +
-          (Bits-1 <= ::std::numeric_limits<short>::digits) +
-          (Bits-1 <= ::std::numeric_limits<signed char>::digits)
-        >::least  least;
-      typedef typename int_fast_t<least>::type  fast;
-  };
-
-  //  unsigned
-  template< int Bits >   // bits required
-  struct uint_t : public detail::exact_unsigned_base_helper<Bits>
-  {
-#if (defined(__BORLANDC__) || defined(__CODEGEAR__)) && defined(BOOST_NO_INTEGRAL_INT64_T)
-     // It's really not clear why this workaround should be needed... shrug I guess!  JM
-     BOOST_STATIC_CONSTANT(int, s = 
-           6 +
-          (Bits <= ::std::numeric_limits<unsigned long>::digits) +
-          (Bits <= ::std::numeric_limits<unsigned int>::digits) +
-          (Bits <= ::std::numeric_limits<unsigned short>::digits) +
-          (Bits <= ::std::numeric_limits<unsigned char>::digits));
-     typedef typename detail::int_least_helper< ::boost::uint_t<Bits>::s>::least least;
-#else
-      typedef typename detail::int_least_helper
-        < 
-          5 +
-#ifdef BOOST_HAS_LONG_LONG
-          (Bits-1 <= (int)(sizeof(boost::long_long_type) * CHAR_BIT)) +
-#else
-           1 +
-#endif
-          (Bits <= ::std::numeric_limits<unsigned long>::digits) +
-          (Bits <= ::std::numeric_limits<unsigned int>::digits) +
-          (Bits <= ::std::numeric_limits<unsigned short>::digits) +
-          (Bits <= ::std::numeric_limits<unsigned char>::digits)
-        >::least  least;
-#endif
-      typedef typename int_fast_t<least>::type  fast;
-      // int_fast_t<> works correctly for unsigned too, in spite of the name.
-  };
-
-  //  integer templates specifying extreme value  ----------------------------//
-
-  //  signed
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
-  template< boost::long_long_type MaxValue >   // maximum value to require support
-#else
-  template< long MaxValue >   // maximum value to require support
-#endif
-  struct int_max_value_t 
-  {
-      typedef typename detail::int_least_helper
-        <
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
-          (MaxValue <= ::boost::integer_traits<boost::long_long_type>::const_max) +
-#else
-           1 +
-#endif
-          (MaxValue <= ::boost::integer_traits<long>::const_max) +
-          (MaxValue <= ::boost::integer_traits<int>::const_max) +
-          (MaxValue <= ::boost::integer_traits<short>::const_max) +
-          (MaxValue <= ::boost::integer_traits<signed char>::const_max)
-        >::least  least;
-      typedef typename int_fast_t<least>::type  fast;
-  };
-
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
-  template< boost::long_long_type MinValue >   // minimum value to require support
-#else
-  template< long MinValue >   // minimum value to require support
-#endif
-  struct int_min_value_t 
-  {
-      typedef typename detail::int_least_helper
-        <
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
-          (MinValue >= ::boost::integer_traits<boost::long_long_type>::const_min) +
-#else
-           1 +
-#endif
-          (MinValue >= ::boost::integer_traits<long>::const_min) +
-          (MinValue >= ::boost::integer_traits<int>::const_min) +
-          (MinValue >= ::boost::integer_traits<short>::const_min) +
-          (MinValue >= ::boost::integer_traits<signed char>::const_min)
-        >::least  least;
-      typedef typename int_fast_t<least>::type  fast;
-  };
-
-  //  unsigned
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
-  template< boost::ulong_long_type MaxValue >   // minimum value to require support
-#else
-  template< unsigned long MaxValue >   // minimum value to require support
-#endif
-  struct uint_value_t 
-  {
-#if (defined(__BORLANDC__) || defined(__CODEGEAR__))
-     // It's really not clear why this workaround should be needed... shrug I guess!  JM
-#if defined(BOOST_NO_INTEGRAL_INT64_T)
-      BOOST_STATIC_CONSTANT(unsigned, which = 
-           6 +
-          (MaxValue <= ::boost::integer_traits<unsigned long>::const_max) +
-          (MaxValue <= ::boost::integer_traits<unsigned int>::const_max) +
-          (MaxValue <= ::boost::integer_traits<unsigned short>::const_max) +
-          (MaxValue <= ::boost::integer_traits<unsigned char>::const_max));
-      typedef typename detail::int_least_helper< ::boost::uint_value_t<MaxValue>::which>::least least;
-#else // BOOST_NO_INTEGRAL_INT64_T
-      BOOST_STATIC_CONSTANT(unsigned, which = 
-           5 +
-          (MaxValue <= ::boost::integer_traits<boost::ulong_long_type>::const_max) +
-          (MaxValue <= ::boost::integer_traits<unsigned long>::const_max) +
-          (MaxValue <= ::boost::integer_traits<unsigned int>::const_max) +
-          (MaxValue <= ::boost::integer_traits<unsigned short>::const_max) +
-          (MaxValue <= ::boost::integer_traits<unsigned char>::const_max));
-      typedef typename detail::int_least_helper< ::boost::uint_value_t<MaxValue>::which>::least least;
-#endif // BOOST_NO_INTEGRAL_INT64_T
-#else
-      typedef typename detail::int_least_helper
-        < 
-          5 +
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
-          (MaxValue <= ::boost::integer_traits<boost::ulong_long_type>::const_max) +
-#else
-           1 +
-#endif
-          (MaxValue <= ::boost::integer_traits<unsigned long>::const_max) +
-          (MaxValue <= ::boost::integer_traits<unsigned int>::const_max) +
-          (MaxValue <= ::boost::integer_traits<unsigned short>::const_max) +
-          (MaxValue <= ::boost::integer_traits<unsigned char>::const_max)
-        >::least  least;
-#endif
-      typedef typename int_fast_t<least>::type  fast;
-  };
-
-
-} // namespace boost
-
-#endif  // BOOST_INTEGER_HPP
diff --git a/SRC/Boost/boost/integer/integer_mask.hpp b/SRC/Boost/boost/integer/integer_mask.hpp
deleted file mode 100755
index ee4902d..0000000
--- a/SRC/Boost/boost/integer/integer_mask.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-//  Boost integer/integer_mask.hpp header file  ------------------------------//
-
-//  (C) Copyright Daryle Walker 2001.
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history. 
-
-#ifndef BOOST_INTEGER_INTEGER_MASK_HPP
-#define BOOST_INTEGER_INTEGER_MASK_HPP
-
-#include <boost/integer_fwd.hpp>  // self include
-
-#include <boost/config.hpp>   // for BOOST_STATIC_CONSTANT
-#include <boost/integer.hpp>  // for boost::uint_t
-
-#include <climits>  // for UCHAR_MAX, etc.
-#include <cstddef>  // for std::size_t
-
-#include <boost/limits.hpp>  // for std::numeric_limits
-
-//
-// We simply cannot include this header on gcc without getting copious warnings of the kind:
-//
-// boost/integer/integer_mask.hpp:93:35: warning: use of C99 long long integer constant
-//
-// And yet there is no other reasonable implementation, so we declare this a system header
-// to suppress these warnings.
-//
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-#pragma GCC system_header
-#endif
-
-namespace boost
-{
-
-
-//  Specified single-bit mask class declaration  -----------------------------//
-//  (Lowest bit starts counting at 0.)
-
-template < std::size_t Bit >
-struct high_bit_mask_t
-{
-    typedef typename uint_t<(Bit + 1)>::least  least;
-    typedef typename uint_t<(Bit + 1)>::fast   fast;
-
-    BOOST_STATIC_CONSTANT( least, high_bit = (least( 1u ) << Bit) );
-    BOOST_STATIC_CONSTANT( fast, high_bit_fast = (fast( 1u ) << Bit) );
-
-    BOOST_STATIC_CONSTANT( std::size_t, bit_position = Bit );
-
-};  // boost::high_bit_mask_t
-
-
-//  Specified bit-block mask class declaration  ------------------------------//
-//  Makes masks for the lowest N bits
-//  (Specializations are needed when N fills up a type.)
-
-template < std::size_t Bits >
-struct low_bits_mask_t
-{
-    typedef typename uint_t<Bits>::least  least;
-    typedef typename uint_t<Bits>::fast   fast;
-
-    BOOST_STATIC_CONSTANT( least, sig_bits = (~( ~(least( 0u )) << Bits )) );
-    BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );
-
-    BOOST_STATIC_CONSTANT( std::size_t, bit_count = Bits );
-
-};  // boost::low_bits_mask_t
-
-
-#define BOOST_LOW_BITS_MASK_SPECIALIZE( Type )                                  \
-  template <  >  struct low_bits_mask_t< std::numeric_limits<Type>::digits >  { \
-      typedef std::numeric_limits<Type>           limits_type;                  \
-      typedef uint_t<limits_type::digits>::least  least;                        \
-      typedef uint_t<limits_type::digits>::fast   fast;                         \
-      BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) );              \
-      BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );            \
-      BOOST_STATIC_CONSTANT( std::size_t, bit_count = limits_type::digits );    \
-  }
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4245)  // 'initializing' : conversion from 'int' to 'const boost::low_bits_mask_t<8>::least', signed/unsigned mismatch
-#endif
-
-BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned char );
-
-#if USHRT_MAX > UCHAR_MAX
-BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned short );
-#endif
-
-#if UINT_MAX > USHRT_MAX
-BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned int );
-#endif
-
-#if ULONG_MAX > UINT_MAX
-BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned long );
-#endif
-
-#if defined(BOOST_HAS_LONG_LONG)
-    #if ((defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX)) ||\
-        (defined(ULONG_LONG_MAX) && (ULONG_LONG_MAX > ULONG_MAX)) ||\
-        (defined(ULONGLONG_MAX) && (ULONGLONG_MAX > ULONG_MAX)) ||\
-        (defined(_ULLONG_MAX) && (_ULLONG_MAX > ULONG_MAX)))
-    BOOST_LOW_BITS_MASK_SPECIALIZE( boost::ulong_long_type );
-    #endif
-#elif defined(BOOST_HAS_MS_INT64)
-    #if 18446744073709551615ui64 > ULONG_MAX
-    BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned __int64 );
-    #endif
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#undef BOOST_LOW_BITS_MASK_SPECIALIZE
-
-
-}  // namespace boost
-
-
-#endif  // BOOST_INTEGER_INTEGER_MASK_HPP
diff --git a/SRC/Boost/boost/integer/static_log2.hpp b/SRC/Boost/boost/integer/static_log2.hpp
deleted file mode 100755
index 2d3b8c0..0000000
--- a/SRC/Boost/boost/integer/static_log2.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-// -------------- Boost static_log2.hpp header file  ----------------------- //
-//
-//                 Copyright (C) 2001 Daryle Walker.
-//                 Copyright (C) 2003 Vesa Karvonen.
-//                 Copyright (C) 2003 Gennaro Prota.
-//
-//     Distributed under the Boost Software License, Version 1.0.
-//        (See accompanying file LICENSE_1_0.txt or copy at
-//              http://www.boost.org/LICENSE_1_0.txt)
-//
-//         ---------------------------------------------------
-//       See http://www.boost.org/libs/integer for documentation.
-// ------------------------------------------------------------------------- //
-
-
-#ifndef BOOST_INTEGER_STATIC_LOG2_HPP
-#define BOOST_INTEGER_STATIC_LOG2_HPP
-
-#include "boost/integer_fwd.hpp" // for boost::intmax_t
-
-namespace boost {
-
- namespace detail {
-
-     namespace static_log2_impl {
-
-     // choose_initial_n<>
-     //
-     // Recursively doubles its integer argument, until it
-     // becomes >= of the "width" (C99, 6.2.6.2p4) of
-     // static_log2_argument_type.
-     //
-     // Used to get the maximum power of two less then the width.
-     //
-     // Example: if on your platform argument_type has 48 value
-     //          bits it yields n=32.
-     //
-     // It's easy to prove that, starting from such a value
-     // of n, the core algorithm works correctly for any width
-     // of static_log2_argument_type and that recursion always
-     // terminates with x = 1 and n = 0 (see the algorithm's
-     // invariant).
-
-     typedef boost::static_log2_argument_type argument_type;
-     typedef boost::static_log2_result_type result_type;
-
-     template <result_type n>
-     struct choose_initial_n {
-
-         BOOST_STATIC_CONSTANT(bool, c = (argument_type(1) << n << n) != 0);
-         BOOST_STATIC_CONSTANT(
-             result_type,
-             value = !c*n + choose_initial_n<2*c*n>::value
-         );
-
-     };
-
-     template <>
-     struct choose_initial_n<0> {
-         BOOST_STATIC_CONSTANT(result_type, value = 0);
-     };
-
-
-
-     // start computing from n_zero - must be a power of two
-     const result_type n_zero = 16;
-     const result_type initial_n = choose_initial_n<n_zero>::value;
-
-     // static_log2_impl<>
-     //
-     // * Invariant:
-     //                 2n
-     //  1 <= x && x < 2    at the start of each recursion
-     //                     (see also choose_initial_n<>)
-     //
-     // * Type requirements:
-     //
-     //   argument_type maybe any unsigned type with at least n_zero + 1
-     //   value bits. (Note: If larger types will be standardized -e.g.
-     //   unsigned long long- then the argument_type typedef can be
-     //   changed without affecting the rest of the code.)
-     //
-
-     template <argument_type x, result_type n = initial_n>
-     struct static_log2_impl {
-
-         BOOST_STATIC_CONSTANT(bool, c = (x >> n) > 0); // x >= 2**n ?
-         BOOST_STATIC_CONSTANT(
-             result_type,
-             value = c*n + (static_log2_impl< (x>>c*n), n/2 >::value)
-         );
-
-     };
-
-     template <>
-     struct static_log2_impl<1, 0> {
-        BOOST_STATIC_CONSTANT(result_type, value = 0);
-     };
-
-     }
- } // detail
-
-
-
- // --------------------------------------
- // static_log2<x>
- // ----------------------------------------
-
- template <static_log2_argument_type x>
- struct static_log2 {
-
-     BOOST_STATIC_CONSTANT(
-         static_log2_result_type,
-         value = detail::static_log2_impl::static_log2_impl<x>::value
-     );
-
- };
-
-
- template <>
- struct static_log2<0> { };
-
-}
-
-
-
-#endif // include guard
diff --git a/SRC/Boost/boost/integer_fwd.hpp b/SRC/Boost/boost/integer_fwd.hpp
deleted file mode 100755
index 5a9cee2..0000000
--- a/SRC/Boost/boost/integer_fwd.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-//  Boost integer_fwd.hpp header file  ---------------------------------------//
-
-//  (C) Copyright Dave Abrahams and Daryle Walker 2001. Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/integer for documentation.
-
-#ifndef BOOST_INTEGER_FWD_HPP
-#define BOOST_INTEGER_FWD_HPP
-
-#include <climits>  // for UCHAR_MAX, etc.
-#include <cstddef>  // for std::size_t
-
-#include <boost/config.hpp>  // for BOOST_NO_INTRINSIC_WCHAR_T
-#include <boost/limits.hpp>  // for std::numeric_limits
-#include <boost/cstdint.hpp>  // For intmax_t
-
-
-namespace boost
-{
-
-#ifdef BOOST_NO_INTEGRAL_INT64_T
-     typedef unsigned long static_log2_argument_type;
-     typedef          int  static_log2_result_type;
-     typedef long          static_min_max_signed_type;
-     typedef unsigned long static_min_max_unsigned_type;
-#else
-     typedef boost::uintmax_t static_min_max_unsigned_type;
-     typedef boost::intmax_t  static_min_max_signed_type;
-     typedef boost::uintmax_t static_log2_argument_type;
-     typedef int              static_log2_result_type;
-#endif
-
-//  From <boost/cstdint.hpp>  ------------------------------------------------//
-
-// Only has typedefs or using statements, with #conditionals
-
-
-//  From <boost/integer_traits.hpp>  -----------------------------------------//
-
-template < class T >
-    class integer_traits;
-
-template <  >
-    class integer_traits< bool >;
-
-template <  >
-    class integer_traits< char >;
-
-template <  >
-    class integer_traits< signed char >;
-
-template <  >
-    class integer_traits< unsigned char >;
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template <  >
-    class integer_traits< wchar_t >;
-#endif
-
-template <  >
-    class integer_traits< short >;
-
-template <  >
-    class integer_traits< unsigned short >;
-
-template <  >
-    class integer_traits< int >;
-
-template <  >
-    class integer_traits< unsigned int >;
-
-template <  >
-    class integer_traits< long >;
-
-template <  >
-    class integer_traits< unsigned long >;
-
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG)
-template <  >
-class integer_traits<  ::boost::long_long_type>;
-
-template <  >
-class integer_traits<  ::boost::ulong_long_type >;
-#elif !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_MS_INT64)
-template <  >
-class integer_traits<__int64>;
-
-template <  >
-class integer_traits<unsigned __int64>;
-#endif
-
-
-//  From <boost/integer.hpp>  ------------------------------------------------//
-
-template < typename LeastInt >
-    struct int_fast_t;
-
-template< int Bits >
-    struct int_t;
-
-template< int Bits >
-    struct uint_t;
-
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
-    template< boost::long_long_type MaxValue >   // maximum value to require support
-#else
-  template< long MaxValue >   // maximum value to require support
-#endif
-    struct int_max_value_t;
-
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
-  template< boost::long_long_type MinValue >   // minimum value to require support
-#else
-  template< long MinValue >   // minimum value to require support
-#endif
-    struct int_min_value_t;
-
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
-  template< boost::ulong_long_type MaxValue >   // maximum value to require support
-#else
-  template< unsigned long MaxValue >   // maximum value to require support
-#endif
-    struct uint_value_t;
-
-
-//  From <boost/integer/integer_mask.hpp>  -----------------------------------//
-
-template < std::size_t Bit >
-    struct high_bit_mask_t;
-
-template < std::size_t Bits >
-    struct low_bits_mask_t;
-
-template <  >
-    struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >;
-
-//  From <boost/integer/static_log2.hpp>  ------------------------------------//
-
-template <static_log2_argument_type Value >
-    struct static_log2;
-
-template <> struct static_log2<0u>;
-
-
-//  From <boost/integer/static_min_max.hpp>  ---------------------------------//
-
-template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
-    struct static_signed_min;
-
-template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
-    struct static_signed_max;
-
-template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
-    struct static_unsigned_min;
-
-template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
-    struct static_unsigned_max;
-
-}  // namespace boost
-
-
-#endif  // BOOST_INTEGER_FWD_HPP
diff --git a/SRC/Boost/boost/integer_traits.hpp b/SRC/Boost/boost/integer_traits.hpp
deleted file mode 100755
index 81b66a2..0000000
--- a/SRC/Boost/boost/integer_traits.hpp
+++ /dev/null
@@ -1,261 +0,0 @@
-/* boost integer_traits.hpp header file
- *
- * Copyright Jens Maurer 2000
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * $Id: integer_traits.hpp 75471 2011-11-13 06:10:55Z jewillco $
- *
- * Idea by Beman Dawes, Ed Brey, Steve Cleary, and Nathan Myers
- */
-
-//  See http://www.boost.org/libs/integer for documentation.
-
-
-#ifndef BOOST_INTEGER_TRAITS_HPP
-#define BOOST_INTEGER_TRAITS_HPP
-
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-
-// These are an implementation detail and not part of the interface
-#include <limits.h>
-// we need wchar.h for WCHAR_MAX/MIN but not all platforms provide it,
-// and some may have <wchar.h> but not <cwchar> ...
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) && (!defined(BOOST_NO_CWCHAR) || defined(sun) || defined(__sun) || defined(__QNX__))
-#include <wchar.h>
-#endif
-
-//
-// We simply cannot include this header on gcc without getting copious warnings of the kind:
-//
-// ../../../boost/integer_traits.hpp:164:66: warning: use of C99 long long integer constant
-//
-// And yet there is no other reasonable implementation, so we declare this a system header
-// to suppress these warnings.
-//
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-#pragma GCC system_header
-#endif
-
-namespace boost {
-template<class T>
-class integer_traits : public std::numeric_limits<T>
-{
-public:
-  BOOST_STATIC_CONSTANT(bool, is_integral = false);
-};
-
-namespace detail {
-template<class T, T min_val, T max_val>
-class integer_traits_base
-{
-public:
-  BOOST_STATIC_CONSTANT(bool, is_integral = true);
-  BOOST_STATIC_CONSTANT(T, const_min = min_val);
-  BOOST_STATIC_CONSTANT(T, const_max = max_val);
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-//  A definition is required even for integral static constants
-template<class T, T min_val, T max_val>
-const bool integer_traits_base<T, min_val, max_val>::is_integral;
-
-template<class T, T min_val, T max_val>
-const T integer_traits_base<T, min_val, max_val>::const_min;
-
-template<class T, T min_val, T max_val>
-const T integer_traits_base<T, min_val, max_val>::const_max;
-#endif
-
-} // namespace detail
-
-template<>
-class integer_traits<bool>
-  : public std::numeric_limits<bool>,
-    public detail::integer_traits_base<bool, false, true>
-{ };
-
-template<>
-class integer_traits<char>
-  : public std::numeric_limits<char>,
-    public detail::integer_traits_base<char, CHAR_MIN, CHAR_MAX>
-{ };
-
-template<>
-class integer_traits<signed char>
-  : public std::numeric_limits<signed char>,
-    public detail::integer_traits_base<signed char, SCHAR_MIN, SCHAR_MAX>
-{ };
-
-template<>
-class integer_traits<unsigned char>
-  : public std::numeric_limits<unsigned char>,
-    public detail::integer_traits_base<unsigned char, 0, UCHAR_MAX>
-{ };
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template<>
-class integer_traits<wchar_t>
-  : public std::numeric_limits<wchar_t>,
-    // Don't trust WCHAR_MIN and WCHAR_MAX with Mac OS X's native
-    // library: they are wrong!
-#if defined(WCHAR_MIN) && defined(WCHAR_MAX) && !defined(__APPLE__)
-    public detail::integer_traits_base<wchar_t, WCHAR_MIN, WCHAR_MAX>
-#elif defined(__BORLANDC__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__BEOS__) && defined(__GNUC__))
-    // No WCHAR_MIN and WCHAR_MAX, whar_t is short and unsigned:
-    public detail::integer_traits_base<wchar_t, 0, 0xffff>
-#elif (defined(__sgi) && (!defined(__SGI_STL_PORT) || __SGI_STL_PORT < 0x400))\
-    || (defined __APPLE__)\
-    || (defined(__OpenBSD__) && defined(__GNUC__))\
-    || (defined(__NetBSD__) && defined(__GNUC__))\
-    || (defined(__FreeBSD__) && defined(__GNUC__))\
-    || (defined(__DragonFly__) && defined(__GNUC__))\
-    || (defined(__hpux) && defined(__GNUC__) && (__GNUC__ == 3) && !defined(__SGI_STL_PORT))
-    // No WCHAR_MIN and WCHAR_MAX, wchar_t has the same range as int.
-    //  - SGI MIPSpro with native library
-    //  - gcc 3.x on HP-UX
-    //  - Mac OS X with native library
-    //  - gcc on FreeBSD, OpenBSD and NetBSD
-    public detail::integer_traits_base<wchar_t, INT_MIN, INT_MAX>
-#elif defined(__hpux) && defined(__GNUC__) && (__GNUC__ == 2) && !defined(__SGI_STL_PORT)
-    // No WCHAR_MIN and WCHAR_MAX, wchar_t has the same range as unsigned int.
-    //  - gcc 2.95.x on HP-UX
-    // (also, std::numeric_limits<wchar_t> appears to return the wrong values).
-    public detail::integer_traits_base<wchar_t, 0, UINT_MAX>
-#else
-#error No WCHAR_MIN and WCHAR_MAX present, please adjust integer_traits<> for your compiler.
-#endif
-{ };
-#endif // BOOST_NO_INTRINSIC_WCHAR_T
-
-template<>
-class integer_traits<short>
-  : public std::numeric_limits<short>,
-    public detail::integer_traits_base<short, SHRT_MIN, SHRT_MAX>
-{ };
-
-template<>
-class integer_traits<unsigned short>
-  : public std::numeric_limits<unsigned short>,
-    public detail::integer_traits_base<unsigned short, 0, USHRT_MAX>
-{ };
-
-template<>
-class integer_traits<int>
-  : public std::numeric_limits<int>,
-    public detail::integer_traits_base<int, INT_MIN, INT_MAX>
-{ };
-
-template<>
-class integer_traits<unsigned int>
-  : public std::numeric_limits<unsigned int>,
-    public detail::integer_traits_base<unsigned int, 0, UINT_MAX>
-{ };
-
-template<>
-class integer_traits<long>
-  : public std::numeric_limits<long>,
-    public detail::integer_traits_base<long, LONG_MIN, LONG_MAX>
-{ };
-
-template<>
-class integer_traits<unsigned long>
-  : public std::numeric_limits<unsigned long>,
-    public detail::integer_traits_base<unsigned long, 0, ULONG_MAX>
-{ };
-
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T)
-#if defined(ULLONG_MAX) && defined(BOOST_HAS_LONG_LONG)
-
-template<>
-class integer_traits< ::boost::long_long_type>
-  : public std::numeric_limits< ::boost::long_long_type>,
-    public detail::integer_traits_base< ::boost::long_long_type, LLONG_MIN, LLONG_MAX>
-{ };
-
-template<>
-class integer_traits< ::boost::ulong_long_type>
-  : public std::numeric_limits< ::boost::ulong_long_type>,
-    public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULLONG_MAX>
-{ };
-
-#elif defined(ULONG_LONG_MAX) && defined(BOOST_HAS_LONG_LONG)
-
-template<>
-class integer_traits< ::boost::long_long_type>  : public std::numeric_limits< ::boost::long_long_type>,    public detail::integer_traits_base< ::boost::long_long_type, LONG_LONG_MIN, LONG_LONG_MAX>{ };
-template<>
-class integer_traits< ::boost::ulong_long_type>
-  : public std::numeric_limits< ::boost::ulong_long_type>,
-    public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULONG_LONG_MAX>
-{ };
-
-#elif defined(ULONGLONG_MAX) && defined(BOOST_HAS_LONG_LONG)
-
-template<>
-class integer_traits< ::boost::long_long_type>
-  : public std::numeric_limits< ::boost::long_long_type>,
-    public detail::integer_traits_base< ::boost::long_long_type, LONGLONG_MIN, LONGLONG_MAX>
-{ };
-
-template<>
-class integer_traits< ::boost::ulong_long_type>
-  : public std::numeric_limits< ::boost::ulong_long_type>,
-    public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULONGLONG_MAX>
-{ };
-
-#elif defined(_LLONG_MAX) && defined(_C2) && defined(BOOST_HAS_LONG_LONG)
-
-template<>
-class integer_traits< ::boost::long_long_type>
-  : public std::numeric_limits< ::boost::long_long_type>,
-    public detail::integer_traits_base< ::boost::long_long_type, -_LLONG_MAX - _C2, _LLONG_MAX>
-{ };
-
-template<>
-class integer_traits< ::boost::ulong_long_type>
-  : public std::numeric_limits< ::boost::ulong_long_type>,
-    public detail::integer_traits_base< ::boost::ulong_long_type, 0, _ULLONG_MAX>
-{ };
-
-#elif defined(BOOST_HAS_LONG_LONG)
-//
-// we have long long but no constants, this happens for example with gcc in -ansi mode,
-// we'll just have to work out the values for ourselves (assumes 2's compliment representation):
-//
-template<>
-class integer_traits< ::boost::long_long_type>
-  : public std::numeric_limits< ::boost::long_long_type>,
-    public detail::integer_traits_base< ::boost::long_long_type, (1LL << (sizeof(::boost::long_long_type) * CHAR_BIT - 1)), ~(1LL << (sizeof(::boost::long_long_type) * CHAR_BIT - 1))>
-{ };
-
-template<>
-class integer_traits< ::boost::ulong_long_type>
-  : public std::numeric_limits< ::boost::ulong_long_type>,
-    public detail::integer_traits_base< ::boost::ulong_long_type, 0, ~0uLL>
-{ };
-
-#elif defined(BOOST_HAS_MS_INT64)
-
-template<>
-class integer_traits< __int64>
-  : public std::numeric_limits< __int64>,
-    public detail::integer_traits_base< __int64, _I64_MIN, _I64_MAX>
-{ };
-
-template<>
-class integer_traits< unsigned __int64>
-  : public std::numeric_limits< unsigned __int64>,
-    public detail::integer_traits_base< unsigned __int64, 0, _UI64_MAX>
-{ };
-
-#endif
-#endif
-
-} // namespace boost
-
-#endif /* BOOST_INTEGER_TRAITS_HPP */
-
-
-
diff --git a/SRC/Boost/boost/intrusive_ptr.hpp b/SRC/Boost/boost/intrusive_ptr.hpp
deleted file mode 100755
index 2824085..0000000
--- a/SRC/Boost/boost/intrusive_ptr.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef BOOST_INTRUSIVE_PTR_HPP_INCLUDED
-#define BOOST_INTRUSIVE_PTR_HPP_INCLUDED
-
-//
-//  intrusive_ptr.hpp
-//
-//  Copyright (c) 2001, 2002 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-//  See http://www.boost.org/libs/smart_ptr/intrusive_ptr.html for documentation.
-//
-
-#include <boost/smart_ptr/intrusive_ptr.hpp>
-
-#endif  // #ifndef BOOST_INTRUSIVE_PTR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/io/detail/quoted_manip.hpp b/SRC/Boost/boost/io/detail/quoted_manip.hpp
deleted file mode 100755
index 95e5801..0000000
--- a/SRC/Boost/boost/io/detail/quoted_manip.hpp
+++ /dev/null
@@ -1,190 +0,0 @@
-//  boost/io/quoted_manip.hpp  ---------------------------------------------------------//
-
-//  Copyright Beman Dawes 2010
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page http://www.boost.org/libs/io
-
-//--------------------------------------------------------------------------------------// 
-
-#ifndef BOOST_IO_QUOTED_MANIP
-#define BOOST_IO_QUOTED_MANIP
-
-#include <iosfwd>
-#include <ios>
-#include <string>
-#include <iterator>
-#include <boost/io/ios_state.hpp>
-
-namespace boost
-{
-  namespace io
-  {
-    namespace detail { template <class String, class Char> struct quoted_proxy; }
-
-    //  ------------  public interface  ------------------------------------------------//
-
-    //  manipulator for const std::basic_string&
-    template <class Char, class Traits, class Alloc>
-      detail::quoted_proxy<std::basic_string<Char, Traits, Alloc> const &, Char>
-        quoted(const std::basic_string<Char, Traits, Alloc>& s,
-               Char escape='\\', Char delim='\"');
-
-    //  manipulator for non-const std::basic_string&
-    template <class Char, class Traits, class Alloc>
-      detail::quoted_proxy<std::basic_string<Char, Traits, Alloc> &, Char>
-        quoted(std::basic_string<Char, Traits, Alloc>& s,
-               Char escape='\\', Char delim='\"');
-
-    //  manipulator for const C-string*
-    template <class Char>
-      detail::quoted_proxy<const Char*, Char>
-        quoted(const Char* s, Char escape='\\', Char delim='\"');
-
-    //  -----------  implementation details  -------------------------------------------//
-
-    namespace detail
-    {
-      //  proxy used as an argument pack 
-      template <class String, class Char>
-      struct quoted_proxy
-      {
-        String  string;
-        Char    escape;
-        Char    delim;
-
-        quoted_proxy(String s_, Char escape_, Char delim_)
-          : string(s_), escape(escape_), delim(delim_) {}
-      private:
-        // String may be a const type, so disable the assignment operator
-        quoted_proxy& operator=(const quoted_proxy&);  // = deleted
-      };
-
-      //  abstract away difference between proxies with const or non-const basic_strings
-      template <class Char, class Traits, class Alloc>
-      std::basic_ostream<Char, Traits>&
-      basic_string_inserter_imp(std::basic_ostream<Char, Traits>& os,
-        std::basic_string<Char, Traits, Alloc> const & string, Char escape, Char delim)
-      {
-        os << delim;
-        typename std::basic_string<Char, Traits, Alloc>::const_iterator
-          end_it = string.end();
-        for (typename std::basic_string<Char, Traits, Alloc>::const_iterator
-          it = string.begin();
-          it != end_it;
-          ++it )
-        {
-          if (*it == delim || *it == escape)
-            os << escape;
-          os << *it;
-        }
-        os << delim;
-        return os;
-      }
-
-      //  inserter for const std::basic_string& proxies
-      template <class Char, class Traits, class Alloc>
-      inline
-      std::basic_ostream<Char, Traits>& operator<<(std::basic_ostream<Char, Traits>& os, 
-        const quoted_proxy<std::basic_string<Char, Traits, Alloc> const &, Char>& proxy)
-      {
-        return basic_string_inserter_imp(os, proxy.string, proxy.escape, proxy.delim);
-      }
-
-      //  inserter for non-const std::basic_string& proxies
-      template <class Char, class Traits, class Alloc>
-      inline
-      std::basic_ostream<Char, Traits>& operator<<(std::basic_ostream<Char, Traits>& os, 
-        const quoted_proxy<std::basic_string<Char, Traits, Alloc>&, Char>& proxy)
-      {
-        return basic_string_inserter_imp(os, proxy.string, proxy.escape, proxy.delim);
-      }
- 
-      //  inserter for const C-string* proxies
-      template <class Char, class Traits>
-      std::basic_ostream<Char, Traits>& operator<<(std::basic_ostream<Char, Traits>& os, 
-        const quoted_proxy<const Char*, Char>& proxy)
-      {
-        os << proxy.delim;
-        for (const Char* it = proxy.string;
-          *it;
-          ++it )
-        {
-          if (*it == proxy.delim || *it == proxy.escape)
-            os << proxy.escape;
-          os << *it;
-        }
-        os << proxy.delim;
-        return os;
-      }
-
-      //  extractor for non-const std::basic_string& proxies
-      template <class Char, class Traits, class Alloc>
-      std::basic_istream<Char, Traits>& operator>>(std::basic_istream<Char, Traits>& is, 
-        const quoted_proxy<std::basic_string<Char, Traits, Alloc>&, Char>& proxy)
-      {
-        proxy.string.clear();
-        Char c;
-        is >> c;
-        if (c != proxy.delim)
-        {
-          is.unget();
-          is >> proxy.string;
-          return is;
-        }
-        {
-          boost::io::ios_flags_saver ifs(is);
-          is >> std::noskipws;
-          for (;;)  
-          {
-            is >> c;
-            if (!is.good())  // cope with I/O errors or end-of-file
-              break;
-            if (c == proxy.escape)
-            {
-              is >> c;
-              if (!is.good())  // cope with I/O errors or end-of-file
-                break;
-            }
-            else if (c == proxy.delim)
-              break;
-            proxy.string += c;
-          }
-        }
-        return is;
-      }
-
-    }  // namespace detail
-
-    //  manipulator implementation for const std::basic_string&
-    template <class Char, class Traits, class Alloc>
-    inline detail::quoted_proxy<std::basic_string<Char, Traits, Alloc> const &, Char>
-    quoted(const std::basic_string<Char, Traits, Alloc>& s, Char escape, Char delim)
-    {
-      return detail::quoted_proxy<std::basic_string<Char, Traits, Alloc> const &, Char>
-        (s, escape, delim);
-    }
-
-    //  manipulator implementation for non-const std::basic_string&
-    template <class Char, class Traits, class Alloc>
-    inline detail::quoted_proxy<std::basic_string<Char, Traits, Alloc> &, Char>
-    quoted(std::basic_string<Char, Traits, Alloc>& s, Char escape, Char delim)
-    {
-      return detail::quoted_proxy<std::basic_string<Char, Traits, Alloc>&, Char>
-        (s, escape, delim);
-    }
-
-    //  manipulator implementation for const C-string*
-    template <class Char>
-    inline detail::quoted_proxy<const Char*, Char>
-    quoted(const Char* s, Char escape, Char delim)
-    {
-      return detail::quoted_proxy<const Char*, Char> (s, escape, delim);
-    }
-
-  }  // namespace io
-}  // namespace boost
-
-#endif // BOOST_IO_QUOTED_MANIP
diff --git a/SRC/Boost/boost/io/ios_state.hpp b/SRC/Boost/boost/io/ios_state.hpp
deleted file mode 100755
index fcbb0bb..0000000
--- a/SRC/Boost/boost/io/ios_state.hpp
+++ /dev/null
@@ -1,439 +0,0 @@
-//  Boost io/ios_state.hpp header file  --------------------------------------//
-
-//  Copyright 2002, 2005 Daryle Walker.  Use, modification, and distribution
-//  are subject to the Boost Software License, Version 1.0.  (See accompanying
-//  file LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.)
-
-//  See <http://www.boost.org/libs/io/> for the library's home page.
-
-#ifndef BOOST_IO_IOS_STATE_HPP
-#define BOOST_IO_IOS_STATE_HPP
-
-#include <boost/io_fwd.hpp>  // self include
-#include <boost/detail/workaround.hpp>
-
-#include <ios>        // for std::ios_base, std::basic_ios, etc.
-#ifndef BOOST_NO_STD_LOCALE
-#include <locale>     // for std::locale
-#endif
-#include <ostream>    // for std::basic_ostream
-#include <streambuf>  // for std::basic_streambuf
-#include <string>     // for std::char_traits
-
-
-namespace boost
-{
-namespace io
-{
-
-
-//  Basic stream state saver class declarations  -----------------------------//
-
-class ios_flags_saver
-{
-public:
-    typedef ::std::ios_base            state_type;
-    typedef ::std::ios_base::fmtflags  aspect_type;
-
-    explicit  ios_flags_saver( state_type &s )
-        : s_save_( s ), a_save_( s.flags() )
-        {}
-    ios_flags_saver( state_type &s, aspect_type const &a )
-        : s_save_( s ), a_save_( s.flags(a) )
-        {}
-    ~ios_flags_saver()
-        { this->restore(); }
-
-    void  restore()
-        { s_save_.flags( a_save_ ); }
-
-private:
-    state_type &       s_save_;
-    aspect_type const  a_save_;
-
-    ios_flags_saver& operator=(const ios_flags_saver&);
-};
-
-class ios_precision_saver
-{
-public:
-    typedef ::std::ios_base    state_type;
-    typedef ::std::streamsize  aspect_type;
-
-    explicit  ios_precision_saver( state_type &s )
-        : s_save_( s ), a_save_( s.precision() )
-        {}
-    ios_precision_saver( state_type &s, aspect_type const &a )
-        : s_save_( s ), a_save_( s.precision(a) )
-        {}
-    ~ios_precision_saver()
-        { this->restore(); }
-
-    void  restore()
-        { s_save_.precision( a_save_ ); }
-
-private:
-    state_type &       s_save_;
-    aspect_type const  a_save_;
-
-    ios_precision_saver& operator=(const ios_precision_saver&);
-};
-
-class ios_width_saver
-{
-public:
-    typedef ::std::ios_base    state_type;
-    typedef ::std::streamsize  aspect_type;
-
-    explicit  ios_width_saver( state_type &s )
-        : s_save_( s ), a_save_( s.width() )
-        {}
-    ios_width_saver( state_type &s, aspect_type const &a )
-        : s_save_( s ), a_save_( s.width(a) )
-        {}
-    ~ios_width_saver()
-        { this->restore(); }
-
-    void  restore()
-        { s_save_.width( a_save_ ); }
-
-private:
-    state_type &       s_save_;
-    aspect_type const  a_save_;
-    ios_width_saver& operator=(const ios_width_saver&);
-};
-
-
-//  Advanced stream state saver class template declarations  -----------------//
-
-template < typename Ch, class Tr >
-class basic_ios_iostate_saver
-{
-public:
-    typedef ::std::basic_ios<Ch, Tr>  state_type;
-    typedef ::std::ios_base::iostate  aspect_type;
-
-    explicit  basic_ios_iostate_saver( state_type &s )
-        : s_save_( s ), a_save_( s.rdstate() )
-        {}
-    basic_ios_iostate_saver( state_type &s, aspect_type const &a )
-        : s_save_( s ), a_save_( s.rdstate() )
-        { s.clear(a); }
-    ~basic_ios_iostate_saver()
-        { this->restore(); }
-
-    void  restore()
-        { s_save_.clear( a_save_ ); }
-
-private:
-    state_type &       s_save_;
-    aspect_type const  a_save_;
-    basic_ios_iostate_saver& operator=(const basic_ios_iostate_saver&);
-};
-
-template < typename Ch, class Tr >
-class basic_ios_exception_saver
-{
-public:
-    typedef ::std::basic_ios<Ch, Tr>  state_type;
-    typedef ::std::ios_base::iostate  aspect_type;
-
-    explicit  basic_ios_exception_saver( state_type &s )
-        : s_save_( s ), a_save_( s.exceptions() )
-        {}
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
-    basic_ios_exception_saver( state_type &s, aspect_type a )
-#else
-    basic_ios_exception_saver( state_type &s, aspect_type const &a )
-#endif
-        : s_save_( s ), a_save_( s.exceptions() )
-        { s.exceptions(a); }
-    ~basic_ios_exception_saver()
-        { this->restore(); }
-
-    void  restore()
-        { s_save_.exceptions( a_save_ ); }
-
-private:
-    state_type &       s_save_;
-    aspect_type const  a_save_;
-    basic_ios_exception_saver& operator=(const basic_ios_exception_saver&);
-};
-
-template < typename Ch, class Tr >
-class basic_ios_tie_saver
-{
-public:
-    typedef ::std::basic_ios<Ch, Tr>        state_type;
-    typedef ::std::basic_ostream<Ch, Tr> *  aspect_type;
-
-    explicit  basic_ios_tie_saver( state_type &s )
-        : s_save_( s ), a_save_( s.tie() )
-        {}
-    basic_ios_tie_saver( state_type &s, aspect_type const &a )
-        : s_save_( s ), a_save_( s.tie(a) )
-        {}
-    ~basic_ios_tie_saver()
-        { this->restore(); }
-
-    void  restore()
-        { s_save_.tie( a_save_ ); }
-
-private:
-    state_type &       s_save_;
-    aspect_type const  a_save_;
-    basic_ios_tie_saver& operator=(const basic_ios_tie_saver&);
-};
-
-template < typename Ch, class Tr >
-class basic_ios_rdbuf_saver
-{
-public:
-    typedef ::std::basic_ios<Ch, Tr>          state_type;
-    typedef ::std::basic_streambuf<Ch, Tr> *  aspect_type;
-
-    explicit  basic_ios_rdbuf_saver( state_type &s )
-        : s_save_( s ), a_save_( s.rdbuf() )
-        {}
-    basic_ios_rdbuf_saver( state_type &s, aspect_type const &a )
-        : s_save_( s ), a_save_( s.rdbuf(a) )
-        {}
-    ~basic_ios_rdbuf_saver()
-        { this->restore(); }
-
-    void  restore()
-        { s_save_.rdbuf( a_save_ ); }
-
-private:
-    state_type &       s_save_;
-    aspect_type const  a_save_;
-    basic_ios_rdbuf_saver& operator=(const basic_ios_rdbuf_saver&);
-};
-
-template < typename Ch, class Tr >
-class basic_ios_fill_saver
-{
-public:
-    typedef ::std::basic_ios<Ch, Tr>        state_type;
-    typedef typename state_type::char_type  aspect_type;
-
-    explicit  basic_ios_fill_saver( state_type &s )
-        : s_save_( s ), a_save_( s.fill() )
-        {}
-    basic_ios_fill_saver( state_type &s, aspect_type const &a )
-        : s_save_( s ), a_save_( s.fill(a) )
-        {}
-    ~basic_ios_fill_saver()
-        { this->restore(); }
-
-    void  restore()
-        { s_save_.fill( a_save_ ); }
-
-private:
-    state_type &       s_save_;
-    aspect_type const  a_save_;
-    basic_ios_fill_saver& operator=(const basic_ios_fill_saver&);
-};
-
-#ifndef BOOST_NO_STD_LOCALE
-template < typename Ch, class Tr >
-class basic_ios_locale_saver
-{
-public:
-    typedef ::std::basic_ios<Ch, Tr> state_type;
-    typedef ::std::locale aspect_type;
-
-    explicit basic_ios_locale_saver( state_type &s )
-        : s_save_( s ), a_save_( s.getloc() )
-        {}
-    basic_ios_locale_saver( state_type &s, aspect_type const &a )
-        : s_save_( s ), a_save_( s.imbue(a) )
-        {}
-    ~basic_ios_locale_saver()
-        { this->restore(); }
-
-    void  restore()
-        { s_save_.imbue( a_save_ ); }
-
-private:
-    state_type &       s_save_;
-    aspect_type const  a_save_;
-    basic_ios_locale_saver& operator=(const basic_ios_locale_saver&);
-};
-#endif
-
-
-//  User-defined stream state saver class declarations  ----------------------//
-
-class ios_iword_saver
-{
-public:
-    typedef ::std::ios_base  state_type;
-    typedef int              index_type;
-    typedef long             aspect_type;
-
-    explicit ios_iword_saver( state_type &s, index_type i )
-        : s_save_( s ), a_save_( s.iword(i) ), i_save_( i )
-        {}
-    ios_iword_saver( state_type &s, index_type i, aspect_type const &a )
-        : s_save_( s ), a_save_( s.iword(i) ), i_save_( i )
-        { s.iword(i) = a; }
-    ~ios_iword_saver()
-        { this->restore(); }
-
-    void  restore()
-        { s_save_.iword( i_save_ ) = a_save_; }
-
-private:
-    state_type &       s_save_;
-    aspect_type const  a_save_;
-    index_type const   i_save_;
-
-    ios_iword_saver& operator=(const ios_iword_saver&);
-};
-
-class ios_pword_saver
-{
-public:
-    typedef ::std::ios_base  state_type;
-    typedef int              index_type;
-    typedef void *           aspect_type;
-
-    explicit  ios_pword_saver( state_type &s, index_type i )
-        : s_save_( s ), a_save_( s.pword(i) ), i_save_( i )
-        {}
-    ios_pword_saver( state_type &s, index_type i, aspect_type const &a )
-        : s_save_( s ), a_save_( s.pword(i) ), i_save_( i )
-        { s.pword(i) = a; }
-    ~ios_pword_saver()
-        { this->restore(); }
-
-    void  restore()
-        { s_save_.pword( i_save_ ) = a_save_; }
-
-private:
-    state_type &       s_save_;
-    aspect_type const  a_save_;
-    index_type const   i_save_;
-
-    ios_pword_saver operator=(const ios_pword_saver&);
-};
-
-
-//  Combined stream state saver class (template) declarations  ---------------//
-
-class ios_base_all_saver
-{
-public:
-    typedef ::std::ios_base  state_type;
-
-    explicit  ios_base_all_saver( state_type &s )
-        : s_save_( s ), a1_save_( s.flags() ), a2_save_( s.precision() )
-        , a3_save_( s.width() )
-        {}
-
-    ~ios_base_all_saver()
-        { this->restore(); }
-
-    void  restore()
-    {
-        s_save_.width( a3_save_ );
-        s_save_.precision( a2_save_ );
-        s_save_.flags( a1_save_ );
-    }
-
-private:
-    state_type &                s_save_;
-    state_type::fmtflags const  a1_save_;
-    ::std::streamsize const     a2_save_;
-    ::std::streamsize const     a3_save_;
-
-    ios_base_all_saver& operator=(const ios_base_all_saver&);
-};
-
-template < typename Ch, class Tr >
-class basic_ios_all_saver
-{
-public:
-    typedef ::std::basic_ios<Ch, Tr>  state_type;
-
-    explicit  basic_ios_all_saver( state_type &s )
-        : s_save_( s ), a1_save_( s.flags() ), a2_save_( s.precision() )
-        , a3_save_( s.width() ), a4_save_( s.rdstate() )
-        , a5_save_( s.exceptions() ), a6_save_( s.tie() )
-        , a7_save_( s.rdbuf() ), a8_save_( s.fill() )
-        #ifndef BOOST_NO_STD_LOCALE
-        , a9_save_( s.getloc() )
-        #endif
-        {}
-
-    ~basic_ios_all_saver()
-        { this->restore(); }
-
-    void  restore()
-    {
-        #ifndef BOOST_NO_STD_LOCALE
-        s_save_.imbue( a9_save_ );
-        #endif
-        s_save_.fill( a8_save_ );
-        s_save_.rdbuf( a7_save_ );
-        s_save_.tie( a6_save_ );
-        s_save_.exceptions( a5_save_ );
-        s_save_.clear( a4_save_ );
-        s_save_.width( a3_save_ );
-        s_save_.precision( a2_save_ );
-        s_save_.flags( a1_save_ );
-    }
-
-private:
-    state_type &                            s_save_;
-    typename state_type::fmtflags const     a1_save_;
-    ::std::streamsize const                 a2_save_;
-    ::std::streamsize const                 a3_save_;
-    typename state_type::iostate const      a4_save_;
-    typename state_type::iostate const      a5_save_;
-    ::std::basic_ostream<Ch, Tr> * const    a6_save_;
-    ::std::basic_streambuf<Ch, Tr> * const  a7_save_;
-    typename state_type::char_type const    a8_save_;
-    #ifndef BOOST_NO_STD_LOCALE
-    ::std::locale const                     a9_save_;
-    #endif
-
-    basic_ios_all_saver& operator=(const basic_ios_all_saver&);
-};
-
-class ios_all_word_saver
-{
-public:
-    typedef ::std::ios_base  state_type;
-    typedef int              index_type;
-
-    ios_all_word_saver( state_type &s, index_type i )
-        : s_save_( s ), i_save_( i ), a1_save_( s.iword(i) )
-        , a2_save_( s.pword(i) )
-        {}
-
-    ~ios_all_word_saver()
-        { this->restore(); }
-
-    void  restore()
-    {
-        s_save_.pword( i_save_ ) = a2_save_;
-        s_save_.iword( i_save_ ) = a1_save_;
-    }
-
-private:
-    state_type &      s_save_;
-    index_type const  i_save_;
-    long const        a1_save_;
-    void * const      a2_save_;
-
-    ios_all_word_saver& operator=(const ios_all_word_saver&);
-};
-
-
-}  // namespace io
-}  // namespace boost
-
-
-#endif  // BOOST_IO_IOS_STATE_HPP
diff --git a/SRC/Boost/boost/io_fwd.hpp b/SRC/Boost/boost/io_fwd.hpp
deleted file mode 100755
index 0ed46ea..0000000
--- a/SRC/Boost/boost/io_fwd.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-//  Boost io_fwd.hpp header file  --------------------------------------------//
-
-//  Copyright 2002 Daryle Walker.  Use, modification, and distribution are subject
-//  to the Boost Software License, Version 1.0.  (See accompanying file
-//  LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.)
-
-//  See <http://www.boost.org/libs/io/> for the library's home page.
-
-#ifndef BOOST_IO_FWD_HPP
-#define BOOST_IO_FWD_HPP
-
-#include <iosfwd>  // for std::char_traits (declaration)
-
-
-namespace boost
-{
-namespace io
-{
-
-
-//  From <boost/io/ios_state.hpp>  -------------------------------------------//
-
-class ios_flags_saver;
-class ios_precision_saver;
-class ios_width_saver;
-class ios_base_all_saver;
-
-template < typename Ch, class Tr = ::std::char_traits<Ch> >
-    class basic_ios_iostate_saver;
-template < typename Ch, class Tr = ::std::char_traits<Ch> >
-    class basic_ios_exception_saver;
-template < typename Ch, class Tr = ::std::char_traits<Ch> >
-    class basic_ios_tie_saver;
-template < typename Ch, class Tr = ::std::char_traits<Ch> >
-    class basic_ios_rdbuf_saver;
-template < typename Ch, class Tr = ::std::char_traits<Ch> >
-    class basic_ios_fill_saver;
-template < typename Ch, class Tr = ::std::char_traits<Ch> >
-    class basic_ios_locale_saver;
-template < typename Ch, class Tr = ::std::char_traits<Ch> >
-    class basic_ios_all_saver;
-
-typedef basic_ios_iostate_saver<char>        ios_iostate_saver;
-typedef basic_ios_iostate_saver<wchar_t>    wios_iostate_saver;
-typedef basic_ios_exception_saver<char>      ios_exception_saver;
-typedef basic_ios_exception_saver<wchar_t>  wios_exception_saver;
-typedef basic_ios_tie_saver<char>            ios_tie_saver;
-typedef basic_ios_tie_saver<wchar_t>        wios_tie_saver;
-typedef basic_ios_rdbuf_saver<char>          ios_rdbuf_saver;
-typedef basic_ios_rdbuf_saver<wchar_t>      wios_rdbuf_saver;
-typedef basic_ios_fill_saver<char>           ios_fill_saver;
-typedef basic_ios_fill_saver<wchar_t>       wios_fill_saver;
-typedef basic_ios_locale_saver<char>         ios_locale_saver;
-typedef basic_ios_locale_saver<wchar_t>     wios_locale_saver;
-typedef basic_ios_all_saver<char>            ios_all_saver;
-typedef basic_ios_all_saver<wchar_t>        wios_all_saver;
-
-class ios_iword_saver;
-class ios_pword_saver;
-class ios_all_word_saver;
-
-
-}  // namespace io
-}  // namespace boost
-
-
-#endif  // BOOST_IO_FWD_HPP
diff --git a/SRC/Boost/boost/is_placeholder.hpp b/SRC/Boost/boost/is_placeholder.hpp
deleted file mode 100755
index cd061cb..0000000
--- a/SRC/Boost/boost/is_placeholder.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef BOOST_IS_PLACEHOLDER_HPP_INCLUDED
-#define BOOST_IS_PLACEHOLDER_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined( _MSC_VER ) && ( _MSC_VER >= 1020 )
-# pragma once
-#endif
-
-
-//  is_placeholder.hpp - TR1 is_placeholder metafunction
-//
-//  Copyright (c) 2006 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-
-
-namespace boost
-{
-
-template< class T > struct is_placeholder
-{
-    enum _vt { value = 0 };
-};
-
-} // namespace boost
-
-#endif // #ifndef BOOST_IS_PLACEHOLDER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/iterator.hpp b/SRC/Boost/boost/iterator.hpp
deleted file mode 100755
index 71c12fd..0000000
--- a/SRC/Boost/boost/iterator.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-//  iterator.hpp workarounds for non-conforming standard libraries  ---------//
-
-//  (C) Copyright Beman Dawes 2000. Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/utility for documentation.
-
-//  Revision History
-//  12 Jan 01 added <cstddef> for std::ptrdiff_t (Jens Maurer)
-//  28 Jun 00 Workarounds to deal with known MSVC bugs (David Abrahams)
-//  26 Jun 00 Initial version (Jeremy Siek)
-
-#ifndef BOOST_ITERATOR_HPP
-#define BOOST_ITERATOR_HPP
-
-#include <iterator>
-#include <cstddef>           // std::ptrdiff_t
-#include <boost/config.hpp>
-
-namespace boost
-{
-# if defined(BOOST_NO_STD_ITERATOR) && !defined(BOOST_MSVC_STD_ITERATOR)
-  template <class Category, class T,
-    class Distance = std::ptrdiff_t,
-    class Pointer = T*, class Reference = T&>
-  struct iterator
-  {
-    typedef T         value_type;
-    typedef Distance  difference_type;
-    typedef Pointer   pointer;
-    typedef Reference reference;
-    typedef Category  iterator_category;
-  };
-# else
-
-  // declare iterator_base in namespace detail to work around MSVC bugs which
-  // prevent derivation from an identically-named class in a different namespace.
-  namespace detail {
-   template <class Category, class T, class Distance, class Pointer, class Reference>
-#  if !defined(BOOST_MSVC_STD_ITERATOR)
-   struct iterator_base : std::iterator<Category, T, Distance, Pointer, Reference> {};
-#  else
-   struct iterator_base : std::iterator<Category, T, Distance>
-   {
-     typedef Reference reference;
-     typedef Pointer pointer;
-     typedef Distance difference_type;
-   };
-#  endif
-  }
-
-  template <class Category, class T, class Distance = std::ptrdiff_t,
-            class Pointer = T*, class Reference = T&>
-  struct iterator : boost::detail::iterator_base<Category, T, Distance, Pointer, Reference> {};
-# endif
-} // namespace boost
-
-#endif // BOOST_ITERATOR_HPP
diff --git a/SRC/Boost/boost/iterator/detail/config_def.hpp b/SRC/Boost/boost/iterator/detail/config_def.hpp
deleted file mode 100755
index e1ccf3f..0000000
--- a/SRC/Boost/boost/iterator/detail/config_def.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Jeremy Siek    2002.
-// (C) Copyright Thomas Witt    2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// no include guard multiple inclusion intended
-
-//
-// This is a temporary workaround until the bulk of this is
-// available in boost config.
-// 23/02/03 thw
-//
-
-#include <boost/config.hpp> // for prior
-#include <boost/detail/workaround.hpp>
-
-#ifdef BOOST_ITERATOR_CONFIG_DEF
-# error you have nested config_def #inclusion.
-#else 
-# define BOOST_ITERATOR_CONFIG_DEF
-#endif 
-
-// We enable this always now.  Otherwise, the simple case in
-// libs/iterator/test/constant_iterator_arrow.cpp fails to compile
-// because the operator-> return is improperly deduced as a non-const
-// pointer.
-#if 1 || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)           \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x531))
-
-// Recall that in general, compilers without partial specialization
-// can't strip constness.  Consider counting_iterator, which normally
-// passes a const Value to iterator_facade.  As a result, any code
-// which makes a std::vector of the iterator's value_type will fail
-// when its allocator declares functions overloaded on reference and
-// const_reference (the same type).
-//
-// Furthermore, Borland 5.5.1 drops constness in enough ways that we
-// end up using a proxy for operator[] when we otherwise shouldn't.
-// Using reference constness gives it an extra hint that it can
-// return the value_type from operator[] directly, but is not
-// strictly necessary.  Not sure how best to resolve this one.
-
-# define BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1
-
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)                                       \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x5A0))                   \
-    || (BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER)) \
-    || BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))                \
-    || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590))
-    
-# define BOOST_NO_LVALUE_RETURN_DETECTION
-
-# if 0 // test code
-  struct v  {};
-
-  typedef  char (&no)[3];
-
-  template <class T>
-  no foo(T const&, ...);
-
-  template <class T>
-  char foo(T&, int);
-
-
-  struct value_iterator
-  {
-      v operator*() const;
-  };
-
-  template <class T>
-  struct lvalue_deref_helper
-  {
-      static T& x;
-      enum { value = (sizeof(foo(*x,0)) == 1) };
-  };
-
-  int z2[(lvalue_deref_helper<v*>::value == 1) ? 1 : -1];
-  int z[(lvalue_deref_helper<value_iterator>::value) == 1 ? -1 : 1 ];
-# endif 
-
-#endif
-
-#if BOOST_WORKAROUND(__MWERKS__, <=0x2407)
-#  define BOOST_NO_IS_CONVERTIBLE // "is_convertible doesn't work for simple types"
-#endif
-
-#if BOOST_WORKAROUND(__GNUC__, == 2)                                                                            \
-    || BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4) && !defined(__EDG_VERSION__)   \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-#  define BOOST_NO_IS_CONVERTIBLE_TEMPLATE // The following program fails to compile:
-
-#  if 0 // test code
-    #include <boost/type_traits/is_convertible.hpp>
-    template <class T>
-    struct foo
-    {
-        foo(T);
-
-        template <class U>
-        foo(foo<U> const& other) : p(other.p) { }
-
-        T p;
-    };
-
-    bool x = boost::is_convertible<foo<int const*>, foo<int*> >::value;
-#  endif
-
-#endif
-
-
-#if !defined(BOOST_MSVC) && (defined(BOOST_NO_SFINAE) || defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_IS_CONVERTIBLE_TEMPLATE))
-# define BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
-#endif 
-
-# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-#  define BOOST_ARG_DEPENDENT_TYPENAME typename
-# else
-#  define BOOST_ARG_DEPENDENT_TYPENAME
-# endif
-
-# if BOOST_WORKAROUND(__GNUC__, == 2) && BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(95)) \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-
-// GCC-2.95 eagerly instantiates templated constructors and conversion
-// operators in convertibility checks, causing premature errors.
-//
-// Borland's problems are harder to diagnose due to lack of an
-// instantiation stack backtrace.  They may be due in part to the fact
-// that it drops cv-qualification willy-nilly in templates.
-#  define BOOST_NO_ONE_WAY_ITERATOR_INTEROP
-# endif 
-
-// no include guard; multiple inclusion intended
diff --git a/SRC/Boost/boost/iterator/detail/config_undef.hpp b/SRC/Boost/boost/iterator/detail/config_undef.hpp
deleted file mode 100755
index 9b04775..0000000
--- a/SRC/Boost/boost/iterator/detail/config_undef.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// (C) Copyright Thomas Witt    2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// no include guard multiple inclusion intended
-
-//
-// This is a temporary workaround until the bulk of this is
-// available in boost config.
-// 23/02/03 thw
-//
-
-#undef BOOST_NO_IS_CONVERTIBLE
-#undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE
-#undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
-#undef BOOST_ARG_DEPENDENT_TYPENAME
-#undef BOOST_NO_LVALUE_RETURN_DETECTION
-#undef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
-
-#ifdef BOOST_ITERATOR_CONFIG_DEF
-# undef BOOST_ITERATOR_CONFIG_DEF
-#else
-# error missing or nested #include config_def
-#endif 
diff --git a/SRC/Boost/boost/iterator/detail/enable_if.hpp b/SRC/Boost/boost/iterator/detail/enable_if.hpp
deleted file mode 100755
index 2c261f8..0000000
--- a/SRC/Boost/boost/iterator/detail/enable_if.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Jeremy Siek    2002.
-// (C) Copyright Thomas Witt    2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_ENABLE_IF_23022003THW_HPP
-#define BOOST_ENABLE_IF_23022003THW_HPP
-
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/iterator/detail/config_def.hpp>
-
-//
-// Boost iterators uses its own enable_if cause we need
-// special semantics for deficient compilers.
-// 23/02/03 thw
-//
-
-namespace boost
-{
-
-  namespace iterators
-  {
-    //
-    // Base machinery for all kinds of enable if
-    //
-    template<bool>
-    struct enabled
-    {
-      template<typename T>
-      struct base
-      {
-        typedef T type;
-      };
-    };
-    
-    //
-    // For compilers that don't support "Substitution Failure Is Not An Error"
-    // enable_if falls back to always enabled. See comments
-    // on operator implementation for consequences.
-    //
-    template<>
-    struct enabled<false>
-    {
-      template<typename T>
-      struct base
-      {
-#ifdef BOOST_NO_SFINAE
-
-        typedef T type;
-
-        // This way to do it would give a nice error message containing
-        // invalid overload, but has the big disadvantage that
-        // there is no reference to user code in the error message.
-        //
-        // struct invalid_overload;
-        // typedef invalid_overload type;
-        //
-#endif
-      };
-    };
-
-
-    template <class Cond,
-              class Return>
-    struct enable_if
-# if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_IS_CONVERTIBLE)
-      : enabled<(Cond::value)>::template base<Return>
-# else
-      : mpl::identity<Return>
-# endif 
-    {
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-        typedef Return type;
-# endif 
-    };
-
-  } // namespace iterators
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_ENABLE_IF_23022003THW_HPP
diff --git a/SRC/Boost/boost/iterator/detail/facade_iterator_category.hpp b/SRC/Boost/boost/iterator/detail/facade_iterator_category.hpp
deleted file mode 100755
index 2c528d8..0000000
--- a/SRC/Boost/boost/iterator/detail/facade_iterator_category.hpp
+++ /dev/null
@@ -1,200 +0,0 @@
-// Copyright David Abrahams 2003. Use, modification and distribution is
-// subject to the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef FACADE_ITERATOR_CATEGORY_DWA20031118_HPP
-# define FACADE_ITERATOR_CATEGORY_DWA20031118_HPP
-
-# include <boost/iterator/iterator_categories.hpp>
-
-# include <boost/mpl/or.hpp>  // used in iterator_tag inheritance logic
-# include <boost/mpl/and.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/eval_if.hpp>
-# include <boost/mpl/identity.hpp>
-# include <boost/mpl/assert.hpp>
-
-# include <boost/type_traits/is_same.hpp>
-# include <boost/type_traits/is_const.hpp>
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_convertible.hpp>
-
-# include <boost/type_traits/is_same.hpp>
-
-# include <boost/iterator/detail/config_def.hpp> // try to keep this last
-
-# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
-#  include <boost/detail/indirect_traits.hpp>
-# endif
-
-//
-// iterator_category deduction for iterator_facade
-//
-
-// forward declaration
-namespace boost { struct use_default; }
-
-namespace boost { namespace detail  {
-
-struct input_output_iterator_tag
-  : std::input_iterator_tag
-{
-    // Using inheritance for only input_iterator_tag helps to avoid
-    // ambiguities when a stdlib implementation dispatches on a
-    // function which is overloaded on both input_iterator_tag and
-    // output_iterator_tag, as STLPort does, in its __valid_range
-    // function.  I claim it's better to avoid the ambiguity in these
-    // cases.
-    operator std::output_iterator_tag() const
-    {
-        return std::output_iterator_tag();
-    }
-};
-
-//
-// True iff the user has explicitly disabled writability of this
-// iterator.  Pass the iterator_facade's Value parameter and its
-// nested ::reference type.
-//
-template <class ValueParam, class Reference>
-struct iterator_writability_disabled
-# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY // Adding Thomas' logic?
-  : mpl::or_<
-        is_const<Reference>
-      , boost::detail::indirect_traits::is_reference_to_const<Reference>
-      , is_const<ValueParam>
-    >
-# else 
-  : is_const<ValueParam>
-# endif 
-{};
-
-
-//
-// Convert an iterator_facade's traversal category, Value parameter,
-// and ::reference type to an appropriate old-style category.
-//
-// If writability has been disabled per the above metafunction, the
-// result will not be convertible to output_iterator_tag.
-//
-// Otherwise, if Traversal == single_pass_traversal_tag, the following
-// conditions will result in a tag that is convertible both to
-// input_iterator_tag and output_iterator_tag:
-//
-//    1. Reference is a reference to non-const
-//    2. Reference is not a reference and is convertible to Value
-//
-template <class Traversal, class ValueParam, class Reference>
-struct iterator_facade_default_category
-  : mpl::eval_if<
-        mpl::and_<
-            is_reference<Reference>
-          , is_convertible<Traversal,forward_traversal_tag>
-        >
-      , mpl::eval_if<
-            is_convertible<Traversal,random_access_traversal_tag>
-          , mpl::identity<std::random_access_iterator_tag>
-          , mpl::if_<
-                is_convertible<Traversal,bidirectional_traversal_tag>
-              , std::bidirectional_iterator_tag
-              , std::forward_iterator_tag
-            >
-        >
-      , typename mpl::eval_if<
-            mpl::and_<
-                is_convertible<Traversal, single_pass_traversal_tag>
-                
-                // check for readability
-              , is_convertible<Reference, ValueParam>
-            >
-          , mpl::identity<std::input_iterator_tag>
-          , mpl::identity<Traversal>
-        >
-    >
-{
-};
-
-// True iff T is convertible to an old-style iterator category.
-template <class T>
-struct is_iterator_category
-  : mpl::or_<
-        is_convertible<T,std::input_iterator_tag>
-      , is_convertible<T,std::output_iterator_tag>
-    >
-{
-};
-
-template <class T>
-struct is_iterator_traversal
-  : is_convertible<T,incrementable_traversal_tag>
-{};
-
-//
-// A composite iterator_category tag convertible to Category (a pure
-// old-style category) and Traversal (a pure traversal tag).
-// Traversal must be a strict increase of the traversal power given by
-// Category.
-//
-template <class Category, class Traversal>
-struct iterator_category_with_traversal
-  : Category, Traversal
-{
-# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    // Make sure this isn't used to build any categories where
-    // convertibility to Traversal is redundant.  Should just use the
-    // Category element in that case.
-    BOOST_MPL_ASSERT_NOT((
-        is_convertible<
-              typename iterator_category_to_traversal<Category>::type
-            , Traversal
-          >));
-
-    BOOST_MPL_ASSERT((is_iterator_category<Category>));
-    BOOST_MPL_ASSERT_NOT((is_iterator_category<Traversal>));
-    BOOST_MPL_ASSERT_NOT((is_iterator_traversal<Category>));
-#  if !BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
-    BOOST_MPL_ASSERT((is_iterator_traversal<Traversal>));
-#  endif 
-# endif 
-};
-
-// Computes an iterator_category tag whose traversal is Traversal and
-// which is appropriate for an iterator
-template <class Traversal, class ValueParam, class Reference>
-struct facade_iterator_category_impl
-{
-# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    BOOST_MPL_ASSERT_NOT((is_iterator_category<Traversal>));
-# endif 
-    
-    typedef typename iterator_facade_default_category<
-        Traversal,ValueParam,Reference
-    >::type category;
-    
-    typedef typename mpl::if_<
-        is_same<
-            Traversal
-          , typename iterator_category_to_traversal<category>::type
-        >
-      , category
-      , iterator_category_with_traversal<category,Traversal>
-    >::type type;
-};
-
-//
-// Compute an iterator_category for iterator_facade
-//
-template <class CategoryOrTraversal, class ValueParam, class Reference>
-struct facade_iterator_category
-  : mpl::eval_if<
-        is_iterator_category<CategoryOrTraversal>
-      , mpl::identity<CategoryOrTraversal> // old-style categories are fine as-is
-      , facade_iterator_category_impl<CategoryOrTraversal,ValueParam,Reference>
-    >
-{
-};
-
-}} // namespace boost::detail
-
-# include <boost/iterator/detail/config_undef.hpp>
-
-#endif // FACADE_ITERATOR_CATEGORY_DWA20031118_HPP
diff --git a/SRC/Boost/boost/iterator/filter_iterator.hpp b/SRC/Boost/boost/iterator/filter_iterator.hpp
deleted file mode 100755
index 84bd054..0000000
--- a/SRC/Boost/boost/iterator/filter_iterator.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Jeremy Siek    2002.
-// (C) Copyright Thomas Witt    2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_FILTER_ITERATOR_23022003THW_HPP
-#define BOOST_FILTER_ITERATOR_23022003THW_HPP
-
-#include <boost/iterator.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/iterator_categories.hpp>
-
-#include <boost/type_traits/is_class.hpp>
-#include <boost/static_assert.hpp>
-
-namespace boost
-{
-  template <class Predicate, class Iterator>
-  class filter_iterator;
-
-  namespace detail
-  {
-    template <class Predicate, class Iterator>
-    struct filter_iterator_base
-    {
-        typedef iterator_adaptor<
-            filter_iterator<Predicate, Iterator>
-          , Iterator
-          , use_default
-          , typename mpl::if_<
-                is_convertible<
-                    typename iterator_traversal<Iterator>::type
-                  , random_access_traversal_tag
-                >
-              , bidirectional_traversal_tag
-              , use_default
-            >::type
-        > type;
-    };
-  }
-  
-  template <class Predicate, class Iterator>
-  class filter_iterator
-    : public detail::filter_iterator_base<Predicate, Iterator>::type
-  {
-      typedef typename detail::filter_iterator_base<
-          Predicate, Iterator
-      >::type super_t;
-
-      friend class iterator_core_access;
-
-   public:
-      filter_iterator() { }
-
-      filter_iterator(Predicate f, Iterator x, Iterator end_ = Iterator())
-          : super_t(x), m_predicate(f), m_end(end_)
-      {
-          satisfy_predicate();
-      }
-
-      filter_iterator(Iterator x, Iterator end_ = Iterator())
-        : super_t(x), m_predicate(), m_end(end_)
-      {
-        // Pro8 is a little too aggressive about instantiating the
-        // body of this function.
-#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
-          // Don't allow use of this constructor if Predicate is a
-          // function pointer type, since it will be 0.
-          BOOST_STATIC_ASSERT(is_class<Predicate>::value);
-#endif 
-          satisfy_predicate();
-      }
-
-      template<class OtherIterator>
-      filter_iterator(
-          filter_iterator<Predicate, OtherIterator> const& t
-          , typename enable_if_convertible<OtherIterator, Iterator>::type* = 0
-          )
-          : super_t(t.base()), m_predicate(t.predicate()), m_end(t.end()) {}
-
-      Predicate predicate() const { return m_predicate; }
-
-      Iterator end() const { return m_end; }
-
-   private:
-      void increment()
-      {
-          ++(this->base_reference());
-          satisfy_predicate();
-      }
-
-      void decrement()
-      {
-        while(!this->m_predicate(*--(this->base_reference()))){};
-      }
-
-      void satisfy_predicate()
-      {
-          while (this->base() != this->m_end && !this->m_predicate(*this->base()))
-              ++(this->base_reference());
-      }
-
-      // Probably should be the initial base class so it can be
-      // optimized away via EBO if it is an empty class.
-      Predicate m_predicate;
-      Iterator m_end;
-  };
-
-  template <class Predicate, class Iterator>
-  filter_iterator<Predicate,Iterator>
-  make_filter_iterator(Predicate f, Iterator x, Iterator end = Iterator())
-  {
-      return filter_iterator<Predicate,Iterator>(f,x,end);
-  }
-
-  template <class Predicate, class Iterator>
-  filter_iterator<Predicate,Iterator>
-  make_filter_iterator(
-      typename iterators::enable_if<
-          is_class<Predicate>
-        , Iterator
-      >::type x
-    , Iterator end = Iterator()
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    , Predicate* = 0
-#endif 
-  )
-  {
-      return filter_iterator<Predicate,Iterator>(x,end);
-  }
-
-} // namespace boost
-
-#endif // BOOST_FILTER_ITERATOR_23022003THW_HPP
diff --git a/SRC/Boost/boost/iterator/interoperable.hpp b/SRC/Boost/boost/iterator/interoperable.hpp
deleted file mode 100755
index 08b29c3..0000000
--- a/SRC/Boost/boost/iterator/interoperable.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Jeremy Siek    2002.
-// (C) Copyright Thomas Witt    2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_INTEROPERABLE_23022003THW_HPP
-# define BOOST_INTEROPERABLE_23022003THW_HPP
-
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/or.hpp>
-
-# include <boost/type_traits/is_convertible.hpp>
-
-# include <boost/iterator/detail/config_def.hpp> // must appear last
-
-namespace boost
-{
-
-  //
-  // Meta function that determines whether two
-  // iterator types are considered interoperable.
-  //
-  // Two iterator types A,B are considered interoperable if either
-  // A is convertible to B or vice versa.
-  // This interoperability definition is in sync with the
-  // standards requirements on constant/mutable container
-  // iterators (23.1 [lib.container.requirements]).
-  //
-  // For compilers that don't support is_convertible 
-  // is_interoperable gives false positives. See comments
-  // on operator implementation for consequences.
-  //
-  template <typename A, typename B>
-  struct is_interoperable
-# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
-    : mpl::true_
-# else
-    : mpl::or_<
-          is_convertible< A, B >
-        , is_convertible< B, A > >
-# endif
-  { 
-  };
-
-} // namespace boost
-
-# include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_INTEROPERABLE_23022003THW_HPP
diff --git a/SRC/Boost/boost/iterator/iterator_adaptor.hpp b/SRC/Boost/boost/iterator/iterator_adaptor.hpp
deleted file mode 100755
index 2b1a3ba..0000000
--- a/SRC/Boost/boost/iterator/iterator_adaptor.hpp
+++ /dev/null
@@ -1,365 +0,0 @@
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Jeremy Siek    2002.
-// (C) Copyright Thomas Witt    2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_ITERATOR_ADAPTOR_23022003THW_HPP
-#define BOOST_ITERATOR_ADAPTOR_23022003THW_HPP
-
-#include <boost/static_assert.hpp>
-#include <boost/iterator.hpp>
-#include <boost/detail/iterator.hpp>
-
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/iterator/detail/enable_if.hpp>
-
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/or.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-
-#ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
-# include <boost/type_traits/remove_reference.hpp>
-#endif
-
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/iterator/detail/config_def.hpp>
-
-#include <boost/iterator/iterator_traits.hpp>
-
-namespace boost
-{
-  // Used as a default template argument internally, merely to
-  // indicate "use the default", this can also be passed by users
-  // explicitly in order to specify that the default should be used.
-  struct use_default;
-  
-# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-  // the incompleteness of use_default causes massive problems for
-  // is_convertible (naturally).  This workaround is fortunately not
-  // needed for vc6/vc7.
-  template<class To>
-  struct is_convertible<use_default,To>
-    : mpl::false_ {};
-# endif 
-  
-  namespace detail
-  {
-
-    // 
-    // Result type used in enable_if_convertible meta function.
-    // This can be an incomplete type, as only pointers to 
-    // enable_if_convertible< ... >::type are used.
-    // We could have used void for this, but conversion to
-    // void* is just to easy.
-    //
-    struct enable_type;
-  }
-
-
-  //
-  // enable_if for use in adapted iterators constructors.
-  //
-  // In order to provide interoperability between adapted constant and
-  // mutable iterators, adapted iterators will usually provide templated
-  // conversion constructors of the following form
-  //
-  // template <class BaseIterator>
-  // class adapted_iterator :
-  //   public iterator_adaptor< adapted_iterator<Iterator>, Iterator >
-  // {
-  // public:
-  //   
-  //   ...
-  //
-  //   template <class OtherIterator>
-  //   adapted_iterator(
-  //       OtherIterator const& it
-  //     , typename enable_if_convertible<OtherIterator, Iterator>::type* = 0);
-  //
-  //   ...
-  // };
-  //
-  // enable_if_convertible is used to remove those overloads from the overload
-  // set that cannot be instantiated. For all practical purposes only overloads
-  // for constant/mutable interaction will remain. This has the advantage that
-  // meta functions like boost::is_convertible do not return false positives,
-  // as they can only look at the signature of the conversion constructor
-  // and not at the actual instantiation.
-  //
-  // enable_if_interoperable can be safely used in user code. It falls back to
-  // always enabled for compilers that don't support enable_if or is_convertible. 
-  // There is no need for compiler specific workarounds in user code. 
-  //
-  // The operators implementation relies on boost::is_convertible not returning
-  // false positives for user/library defined iterator types. See comments
-  // on operator implementation for consequences.
-  //
-#  if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-  
-  template<typename From, typename To>
-  struct enable_if_convertible
-  {
-     typedef typename mpl::if_<
-         mpl::or_<
-             is_same<From,To>
-           , is_convertible<From, To>
-         >
-      , boost::detail::enable_type
-      , int&
-     >::type type;
-  };
-  
-#  elif defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_SFINAE)
-  
-  template <class From, class To>
-  struct enable_if_convertible
-  {
-      typedef boost::detail::enable_type type;
-  };
-  
-#  elif BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300
-  
-  // For some reason vc7.1 needs us to "cut off" instantiation
-  // of is_convertible in a few cases.
-  template<typename From, typename To>
-  struct enable_if_convertible
-    : iterators::enable_if<
-        mpl::or_<
-            is_same<From,To>
-          , is_convertible<From, To>
-        >
-      , boost::detail::enable_type
-    >
-  {};
-  
-#  else 
-  
-  template<typename From, typename To>
-  struct enable_if_convertible
-    : iterators::enable_if<
-          is_convertible<From, To>
-        , boost::detail::enable_type
-      >
-  {};
-      
-# endif
-  
-  //
-  // Default template argument handling for iterator_adaptor
-  //
-  namespace detail
-  {
-    // If T is use_default, return the result of invoking
-    // DefaultNullaryFn, otherwise return T.
-    template <class T, class DefaultNullaryFn>
-    struct ia_dflt_help
-      : mpl::eval_if<
-            is_same<T, use_default>
-          , DefaultNullaryFn
-          , mpl::identity<T>
-        >
-    {
-    };
-
-    // A metafunction which computes an iterator_adaptor's base class,
-    // a specialization of iterator_facade.
-    template <
-        class Derived
-      , class Base
-      , class Value
-      , class Traversal
-      , class Reference
-      , class Difference
-    >
-    struct iterator_adaptor_base
-    {
-        typedef iterator_facade<
-            Derived
-            
-# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
-          , typename boost::detail::ia_dflt_help<
-                Value
-              , mpl::eval_if<
-                    is_same<Reference,use_default>
-                  , iterator_value<Base>
-                  , remove_reference<Reference>
-                >
-            >::type
-# else
-          , typename boost::detail::ia_dflt_help<
-                Value, iterator_value<Base>
-            >::type
-# endif
-            
-          , typename boost::detail::ia_dflt_help<
-                Traversal
-              , iterator_traversal<Base>
-            >::type
-
-          , typename boost::detail::ia_dflt_help<
-                Reference
-              , mpl::eval_if<
-                    is_same<Value,use_default>
-                  , iterator_reference<Base>
-                  , add_reference<Value>
-                >
-            >::type
-
-          , typename boost::detail::ia_dflt_help<
-                Difference, iterator_difference<Base>
-            >::type
-        >
-        type;
-    };
-  
-    // workaround for aC++ CR JAGaf33512
-    template <class Tr1, class Tr2>
-    inline void iterator_adaptor_assert_traversal ()
-    {
-      BOOST_STATIC_ASSERT((is_convertible<Tr1, Tr2>::value));
-    }
-  }
-  
-  //
-  // Iterator Adaptor
-  //
-  // The parameter ordering changed slightly with respect to former
-  // versions of iterator_adaptor The idea is that when the user needs
-  // to fiddle with the reference type it is highly likely that the
-  // iterator category has to be adjusted as well.  Any of the
-  // following four template arguments may be ommitted or explicitly
-  // replaced by use_default.
-  //
-  //   Value - if supplied, the value_type of the resulting iterator, unless
-  //      const. If const, a conforming compiler strips constness for the
-  //      value_type. If not supplied, iterator_traits<Base>::value_type is used
-  //
-  //   Category - the traversal category of the resulting iterator. If not
-  //      supplied, iterator_traversal<Base>::type is used.
-  //
-  //   Reference - the reference type of the resulting iterator, and in
-  //      particular, the result type of operator*(). If not supplied but
-  //      Value is supplied, Value& is used. Otherwise
-  //      iterator_traits<Base>::reference is used.
-  //
-  //   Difference - the difference_type of the resulting iterator. If not
-  //      supplied, iterator_traits<Base>::difference_type is used.
-  //
-  template <
-      class Derived
-    , class Base
-    , class Value        = use_default
-    , class Traversal    = use_default
-    , class Reference    = use_default
-    , class Difference   = use_default
-  >
-  class iterator_adaptor
-    : public boost::detail::iterator_adaptor_base<
-        Derived, Base, Value, Traversal, Reference, Difference
-      >::type
-  {
-      friend class iterator_core_access;
-
-   protected:
-      typedef typename boost::detail::iterator_adaptor_base<
-          Derived, Base, Value, Traversal, Reference, Difference
-      >::type super_t;
-   public:
-      iterator_adaptor() {}
-
-      explicit iterator_adaptor(Base const &iter)
-          : m_iterator(iter)
-      {
-      }
-
-      typedef Base base_type;
-
-      Base const& base() const
-        { return m_iterator; }
-
-   protected:
-      // for convenience in derived classes
-      typedef iterator_adaptor<Derived,Base,Value,Traversal,Reference,Difference> iterator_adaptor_;
-      
-      //
-      // lvalue access to the Base object for Derived
-      //
-      Base const& base_reference() const
-        { return m_iterator; }
-
-      Base& base_reference()
-        { return m_iterator; }
-
-   private:
-      //
-      // Core iterator interface for iterator_facade.  This is private
-      // to prevent temptation for Derived classes to use it, which
-      // will often result in an error.  Derived classes should use
-      // base_reference(), above, to get direct access to m_iterator.
-      // 
-      typename super_t::reference dereference() const
-        { return *m_iterator; }
-
-      template <
-      class OtherDerived, class OtherIterator, class V, class C, class R, class D
-      >   
-      bool equal(iterator_adaptor<OtherDerived, OtherIterator, V, C, R, D> const& x) const
-      {
-        // Maybe readd with same_distance
-        //           BOOST_STATIC_ASSERT(
-        //               (detail::same_category_and_difference<Derived,OtherDerived>::value)
-        //               );
-          return m_iterator == x.base();
-      }
-
-      typedef typename iterator_category_to_traversal<
-          typename super_t::iterator_category
-      >::type my_traversal;
-
-# define BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(cat) \
-      boost::detail::iterator_adaptor_assert_traversal<my_traversal, cat>();
-
-      void advance(typename super_t::difference_type n)
-      {
-          BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag)
-          m_iterator += n;
-      }
-  
-      void increment() { ++m_iterator; }
-
-      void decrement() 
-      {
-          BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(bidirectional_traversal_tag)
-           --m_iterator;
-      }
-
-      template <
-          class OtherDerived, class OtherIterator, class V, class C, class R, class D
-      >   
-      typename super_t::difference_type distance_to(
-          iterator_adaptor<OtherDerived, OtherIterator, V, C, R, D> const& y) const
-      {
-          BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag)
-          // Maybe readd with same_distance
-          //           BOOST_STATIC_ASSERT(
-          //               (detail::same_category_and_difference<Derived,OtherDerived>::value)
-          //               );
-          return y.base() - m_iterator;
-      }
-
-# undef BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL
-      
-   private: // data members
-      Base m_iterator;
-  };
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_ITERATOR_ADAPTOR_23022003THW_HPP
diff --git a/SRC/Boost/boost/iterator/iterator_categories.hpp b/SRC/Boost/boost/iterator/iterator_categories.hpp
deleted file mode 100755
index 9a0be36..0000000
--- a/SRC/Boost/boost/iterator/iterator_categories.hpp
+++ /dev/null
@@ -1,188 +0,0 @@
-// (C) Copyright Jeremy Siek 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ITERATOR_CATEGORIES_HPP
-# define BOOST_ITERATOR_CATEGORIES_HPP
-
-# include <boost/config.hpp>
-# include <boost/detail/iterator.hpp>
-# include <boost/iterator/detail/config_def.hpp>
-
-# include <boost/detail/workaround.hpp>
-
-# include <boost/mpl/eval_if.hpp>
-# include <boost/mpl/identity.hpp>
-# include <boost/mpl/placeholders.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-
-# include <boost/type_traits/is_convertible.hpp>
-
-# include <boost/static_assert.hpp>
-
-namespace boost {
-
-//
-// Traversal Categories
-//
-
-struct no_traversal_tag {};
-
-struct incrementable_traversal_tag 
-  : no_traversal_tag
-{
-//     incrementable_traversal_tag() {}
-//     incrementable_traversal_tag(std::output_iterator_tag const&) {};
-};
-  
-struct single_pass_traversal_tag
-  : incrementable_traversal_tag
-{
-//     single_pass_traversal_tag() {}
-//     single_pass_traversal_tag(std::input_iterator_tag const&) {};
-};
-  
-struct forward_traversal_tag
-  : single_pass_traversal_tag
-{
-//     forward_traversal_tag() {}
-//     forward_traversal_tag(std::forward_iterator_tag const&) {};
-};
-  
-struct bidirectional_traversal_tag
-  : forward_traversal_tag
-{
-//     bidirectional_traversal_tag() {};
-//     bidirectional_traversal_tag(std::bidirectional_iterator_tag const&) {};
-};
-  
-struct random_access_traversal_tag
-  : bidirectional_traversal_tag
-{
-//     random_access_traversal_tag() {};
-//     random_access_traversal_tag(std::random_access_iterator_tag const&) {};
-};
-
-namespace detail
-{  
-  //
-  // Convert a "strictly old-style" iterator category to a traversal
-  // tag.  This is broken out into a separate metafunction to reduce
-  // the cost of instantiating iterator_category_to_traversal, below,
-  // for new-style types.
-  //
-  template <class Cat>
-  struct old_category_to_traversal
-    : mpl::eval_if<
-          is_convertible<Cat,std::random_access_iterator_tag>
-        , mpl::identity<random_access_traversal_tag>
-        , mpl::eval_if<
-              is_convertible<Cat,std::bidirectional_iterator_tag>
-            , mpl::identity<bidirectional_traversal_tag>
-            , mpl::eval_if<
-                  is_convertible<Cat,std::forward_iterator_tag>
-                , mpl::identity<forward_traversal_tag>
-                , mpl::eval_if<
-                      is_convertible<Cat,std::input_iterator_tag>
-                    , mpl::identity<single_pass_traversal_tag>
-                    , mpl::eval_if<
-                          is_convertible<Cat,std::output_iterator_tag>
-                        , mpl::identity<incrementable_traversal_tag>
-                        , void
-                      >
-                  >
-              >
-          >
-      >
-  {};
-
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-  template <>
-  struct old_category_to_traversal<int>
-  {
-      typedef int type;
-  };
-# endif
-
-  template <class Traversal>
-  struct pure_traversal_tag
-    : mpl::eval_if<
-          is_convertible<Traversal,random_access_traversal_tag>
-        , mpl::identity<random_access_traversal_tag>
-        , mpl::eval_if<
-              is_convertible<Traversal,bidirectional_traversal_tag>
-            , mpl::identity<bidirectional_traversal_tag>
-            , mpl::eval_if<
-                  is_convertible<Traversal,forward_traversal_tag>
-                , mpl::identity<forward_traversal_tag>
-                , mpl::eval_if<
-                      is_convertible<Traversal,single_pass_traversal_tag>
-                    , mpl::identity<single_pass_traversal_tag>
-                    , mpl::eval_if<
-                          is_convertible<Traversal,incrementable_traversal_tag>
-                        , mpl::identity<incrementable_traversal_tag>
-                        , void
-                      >
-                  >
-              >
-          >
-      >
-  {
-  };
-  
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-  template <>
-  struct pure_traversal_tag<int>
-  {
-      typedef int type;
-  };
-# endif
-
-} // namespace detail
-
-
-//
-// Convert an iterator category into a traversal tag
-//
-template <class Cat>
-struct iterator_category_to_traversal
-  : mpl::eval_if< // if already convertible to a traversal tag, we're done.
-        is_convertible<Cat,incrementable_traversal_tag>
-      , mpl::identity<Cat>
-      , boost::detail::old_category_to_traversal<Cat>
-    >
-{};
-
-// Trait to get an iterator's traversal category
-template <class Iterator = mpl::_1>
-struct iterator_traversal
-  : iterator_category_to_traversal<
-        typename boost::detail::iterator_traits<Iterator>::iterator_category
-    >
-{};
-
-# ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-// Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work
-// out well.  Instantiating the nested apply template also
-// requires instantiating iterator_traits on the
-// placeholder. Instead we just specialize it as a metafunction
-// class.
-template <>
-struct iterator_traversal<mpl::_1>
-{
-    template <class T>
-    struct apply : iterator_traversal<T>
-    {};
-};
-template <>
-struct iterator_traversal<mpl::_>
-  : iterator_traversal<mpl::_1>
-{};
-# endif
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_ITERATOR_CATEGORIES_HPP
diff --git a/SRC/Boost/boost/iterator/iterator_concepts.hpp b/SRC/Boost/boost/iterator/iterator_concepts.hpp
deleted file mode 100755
index 732ad88..0000000
--- a/SRC/Boost/boost/iterator/iterator_concepts.hpp
+++ /dev/null
@@ -1,284 +0,0 @@
-// (C) Copyright Jeremy Siek 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ITERATOR_CONCEPTS_HPP
-#define BOOST_ITERATOR_CONCEPTS_HPP
-
-#include <boost/concept_check.hpp>
-#include <boost/iterator/iterator_categories.hpp>
-
-// Use boost::detail::iterator_traits to work around some MSVC/Dinkumware problems.
-#include <boost/detail/iterator.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_integral.hpp>
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/or.hpp>
-
-#include <boost/static_assert.hpp>
-
-// Use boost/limits to work around missing limits headers on some compilers
-#include <boost/limits.hpp>
-#include <boost/config.hpp>
-
-#include <algorithm>
-
-#include <boost/concept/detail/concept_def.hpp>
-
-namespace boost_concepts
-{
-  // Used a different namespace here (instead of "boost") so that the
-  // concept descriptions do not take for granted the names in
-  // namespace boost.
-
-  //===========================================================================
-  // Iterator Access Concepts
-
-  BOOST_concept(ReadableIterator,(Iterator))
-    : boost::Assignable<Iterator>
-    , boost::CopyConstructible<Iterator>
-
-  {
-      typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type value_type;
-      typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference reference;
-
-      BOOST_CONCEPT_USAGE(ReadableIterator)
-      {
-
-          value_type v = *i;
-          boost::ignore_unused_variable_warning(v);
-      }
-  private:
-      Iterator i;
-  };
-  
-  template <
-      typename Iterator
-    , typename ValueType = BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type
-  >
-  struct WritableIterator
-    : boost::CopyConstructible<Iterator>
-  {
-      BOOST_CONCEPT_USAGE(WritableIterator)
-      {
-          *i = v;
-      }
-  private:
-      ValueType v;
-      Iterator i;
-  };
-
-  template <
-      typename Iterator
-    , typename ValueType = BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type
-  >
-  struct WritableIteratorConcept : WritableIterator<Iterator,ValueType> {};
-  
-  BOOST_concept(SwappableIterator,(Iterator))
-  {
-      BOOST_CONCEPT_USAGE(SwappableIterator)
-      {
-          std::iter_swap(i1, i2);
-      }
-  private:
-      Iterator i1;
-      Iterator i2;
-  };
-
-  BOOST_concept(LvalueIterator,(Iterator))
-  {
-      typedef typename boost::detail::iterator_traits<Iterator>::value_type value_type;
-      
-      BOOST_CONCEPT_USAGE(LvalueIterator)
-      {
-        value_type& r = const_cast<value_type&>(*i);
-        boost::ignore_unused_variable_warning(r);
-      }
-  private:
-      Iterator i;
-  };
-
-  
-  //===========================================================================
-  // Iterator Traversal Concepts
-
-  BOOST_concept(IncrementableIterator,(Iterator))
-    : boost::Assignable<Iterator>
-    , boost::CopyConstructible<Iterator>
-  {
-      typedef typename boost::iterator_traversal<Iterator>::type traversal_category;
-
-      BOOST_CONCEPT_ASSERT((
-        boost::Convertible<
-            traversal_category
-          , boost::incrementable_traversal_tag
-        >));
-
-      BOOST_CONCEPT_USAGE(IncrementableIterator)
-      {
-          ++i;
-          (void)i++;
-      }
-  private:
-      Iterator i;
-  };
-
-  BOOST_concept(SinglePassIterator,(Iterator))
-    : IncrementableIterator<Iterator>
-    , boost::EqualityComparable<Iterator>
-
-  {
-      BOOST_CONCEPT_ASSERT((
-          boost::Convertible<
-             BOOST_DEDUCED_TYPENAME SinglePassIterator::traversal_category
-           , boost::single_pass_traversal_tag
-          > ));
-  };
-
-  BOOST_concept(ForwardTraversal,(Iterator))
-    : SinglePassIterator<Iterator>
-    , boost::DefaultConstructible<Iterator>
-  {
-      typedef typename boost::detail::iterator_traits<Iterator>::difference_type difference_type;
-      
-      BOOST_MPL_ASSERT((boost::is_integral<difference_type>));
-      BOOST_MPL_ASSERT_RELATION(std::numeric_limits<difference_type>::is_signed, ==, true);
-
-      BOOST_CONCEPT_ASSERT((
-          boost::Convertible<
-             BOOST_DEDUCED_TYPENAME ForwardTraversal::traversal_category
-           , boost::forward_traversal_tag
-          > ));
-  };
-  
-  BOOST_concept(BidirectionalTraversal,(Iterator))
-    : ForwardTraversal<Iterator>
-  {
-      BOOST_CONCEPT_ASSERT((
-          boost::Convertible<
-             BOOST_DEDUCED_TYPENAME BidirectionalTraversal::traversal_category
-           , boost::bidirectional_traversal_tag
-          > ));
-
-      BOOST_CONCEPT_USAGE(BidirectionalTraversal)
-      {
-          --i;
-          (void)i--;
-      }
-   private:
-      Iterator i;
-  };
-
-  BOOST_concept(RandomAccessTraversal,(Iterator))
-    : BidirectionalTraversal<Iterator>
-  {
-      BOOST_CONCEPT_ASSERT((
-          boost::Convertible<
-             BOOST_DEDUCED_TYPENAME RandomAccessTraversal::traversal_category
-           , boost::random_access_traversal_tag
-          > ));
-
-      BOOST_CONCEPT_USAGE(RandomAccessTraversal)
-      {
-          i += n;
-          i = i + n;
-          i = n + i;
-          i -= n;
-          i = i - n;
-          n = i - j;
-      }
-      
-   private:
-      typename BidirectionalTraversal<Iterator>::difference_type n;
-      Iterator i, j;
-  };
-
-  //===========================================================================
-  // Iterator Interoperability 
-
-  namespace detail
-  {
-    template <typename Iterator1, typename Iterator2>
-    void interop_single_pass_constraints(Iterator1 const& i1, Iterator2 const& i2)
-    {
-        bool b;
-        b = i1 == i2;
-        b = i1 != i2;
-
-        b = i2 == i1;
-        b = i2 != i1;
-        boost::ignore_unused_variable_warning(b);
-    }
-
-    template <typename Iterator1, typename Iterator2>
-    void interop_rand_access_constraints(
-        Iterator1 const& i1, Iterator2 const& i2,
-        boost::random_access_traversal_tag, boost::random_access_traversal_tag)
-    {
-        bool b;
-        typename boost::detail::iterator_traits<Iterator2>::difference_type n;
-        b = i1 <  i2;
-        b = i1 <= i2;
-        b = i1 >  i2;
-        b = i1 >= i2;
-        n = i1 -  i2;
-
-        b = i2 <  i1;
-        b = i2 <= i1;
-        b = i2 >  i1;
-        b = i2 >= i1;
-        n = i2 -  i1;
-        boost::ignore_unused_variable_warning(b);
-        boost::ignore_unused_variable_warning(n);
-    }
-
-    template <typename Iterator1, typename Iterator2>
-    void interop_rand_access_constraints(
-        Iterator1 const&, Iterator2 const&,
-        boost::single_pass_traversal_tag, boost::single_pass_traversal_tag)
-    { }
-
-  } // namespace detail
-
-  BOOST_concept(InteroperableIterator,(Iterator)(ConstIterator))
-  {
-   private:
-      typedef typename boost::detail::pure_traversal_tag<
-          typename boost::iterator_traversal<
-              Iterator
-          >::type
-      >::type traversal_category;
-
-      typedef typename boost::detail::pure_traversal_tag<
-          typename boost::iterator_traversal<
-              ConstIterator
-          >::type
-      >::type const_traversal_category;
-      
-  public:
-      BOOST_CONCEPT_ASSERT((SinglePassIterator<Iterator>));
-      BOOST_CONCEPT_ASSERT((SinglePassIterator<ConstIterator>));
-
-      BOOST_CONCEPT_USAGE(InteroperableIterator)
-      {
-          detail::interop_single_pass_constraints(i, ci);
-          detail::interop_rand_access_constraints(i, ci, traversal_category(), const_traversal_category());
-
-          ci = i;
-      }
-      
-   private:
-      Iterator      i;
-      ConstIterator ci;
-  };
-
-} // namespace boost_concepts
-
-#include <boost/concept/detail/concept_undef.hpp>
-
-#endif // BOOST_ITERATOR_CONCEPTS_HPP
diff --git a/SRC/Boost/boost/iterator/iterator_facade.hpp b/SRC/Boost/boost/iterator/iterator_facade.hpp
deleted file mode 100755
index a890b38..0000000
--- a/SRC/Boost/boost/iterator/iterator_facade.hpp
+++ /dev/null
@@ -1,878 +0,0 @@
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Jeremy Siek    2002.
-// (C) Copyright Thomas Witt    2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_ITERATOR_FACADE_23022003THW_HPP
-#define BOOST_ITERATOR_FACADE_23022003THW_HPP
-
-#include <boost/iterator.hpp>
-#include <boost/iterator/interoperable.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-#include <boost/iterator/detail/facade_iterator_category.hpp>
-#include <boost/iterator/detail/enable_if.hpp>
-
-#include <boost/implicit_cast.hpp>
-#include <boost/static_assert.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_pointer.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_pod.hpp>
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/iterator/detail/config_def.hpp> // this goes last
-
-namespace boost
-{
-  // This forward declaration is required for the friend declaration
-  // in iterator_core_access
-  template <class I, class V, class TC, class R, class D> class iterator_facade;
-
-  namespace detail
-  {
-    // A binary metafunction class that always returns bool.  VC6
-    // ICEs on mpl::always<bool>, probably because of the default
-    // parameters.
-    struct always_bool2
-    {
-        template <class T, class U>
-        struct apply
-        {
-            typedef bool type;
-        };
-    };
-
-    //
-    // enable if for use in operator implementation.
-    //
-    template <
-        class Facade1
-      , class Facade2
-      , class Return
-    >
-    struct enable_if_interoperable
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    {
-        typedef typename mpl::if_<
-            mpl::or_<
-                is_convertible<Facade1, Facade2>
-              , is_convertible<Facade2, Facade1>
-            >
-          , Return
-          , int[3]
-        >::type type;
-    };        
-#else
-      : ::boost::iterators::enable_if<
-           mpl::or_<
-               is_convertible<Facade1, Facade2>
-             , is_convertible<Facade2, Facade1>
-           >
-         , Return
-        >
-    {};
-#endif 
-
-    //
-    // Generates associated types for an iterator_facade with the
-    // given parameters.
-    //
-    template <
-        class ValueParam
-      , class CategoryOrTraversal
-      , class Reference 
-      , class Difference
-    >
-    struct iterator_facade_types
-    {
-        typedef typename facade_iterator_category<
-            CategoryOrTraversal, ValueParam, Reference
-        >::type iterator_category;
-        
-        typedef typename remove_const<ValueParam>::type value_type;
-        
-        // Not the real associated pointer type
-        typedef typename mpl::eval_if<
-            boost::detail::iterator_writability_disabled<ValueParam,Reference>
-          , add_pointer<const value_type>
-          , add_pointer<value_type>
-        >::type pointer;
-      
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)                          \
-    && (BOOST_WORKAROUND(_STLPORT_VERSION, BOOST_TESTED_AT(0x452))              \
-        || BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, BOOST_TESTED_AT(310)))     \
-    || BOOST_WORKAROUND(BOOST_RWSTD_VER, BOOST_TESTED_AT(0x20101))              \
-    || BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, <= 310)
-
-        // To interoperate with some broken library/compiler
-        // combinations, user-defined iterators must be derived from
-        // std::iterator.  It is possible to implement a standard
-        // library for broken compilers without this limitation.
-#  define BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE 1
-
-        typedef
-           iterator<iterator_category, value_type, Difference, pointer, Reference>
-        base;
-# endif
-    };
-
-    // iterators whose dereference operators reference the same value
-    // for all iterators into the same sequence (like many input
-    // iterators) need help with their postfix ++: the referenced
-    // value must be read and stored away before the increment occurs
-    // so that *a++ yields the originally referenced element and not
-    // the next one.
-    template <class Iterator>
-    class postfix_increment_proxy
-    {
-        typedef typename iterator_value<Iterator>::type value_type;
-     public:
-        explicit postfix_increment_proxy(Iterator const& x)
-          : stored_value(*x)
-        {}
-
-        // Returning a mutable reference allows nonsense like
-        // (*r++).mutate(), but it imposes fewer assumptions about the
-        // behavior of the value_type.  In particular, recall taht
-        // (*r).mutate() is legal if operator* returns by value.
-        value_type&
-        operator*() const
-        {
-            return this->stored_value;
-        }
-     private:
-        mutable value_type stored_value;
-    };
-    
-    //
-    // In general, we can't determine that such an iterator isn't
-    // writable -- we also need to store a copy of the old iterator so
-    // that it can be written into.
-    template <class Iterator>
-    class writable_postfix_increment_proxy
-    {
-        typedef typename iterator_value<Iterator>::type value_type;
-     public:
-        explicit writable_postfix_increment_proxy(Iterator const& x)
-          : stored_value(*x)
-          , stored_iterator(x)
-        {}
-
-        // Dereferencing must return a proxy so that both *r++ = o and
-        // value_type(*r++) can work.  In this case, *r is the same as
-        // *r++, and the conversion operator below is used to ensure
-        // readability.
-        writable_postfix_increment_proxy const&
-        operator*() const
-        {
-            return *this;
-        }
-
-        // Provides readability of *r++
-        operator value_type&() const
-        {
-            return stored_value;
-        }
-
-        // Provides writability of *r++
-        template <class T>
-        T const& operator=(T const& x) const
-        {
-            *this->stored_iterator = x;
-            return x;
-        }
-
-        // This overload just in case only non-const objects are writable
-        template <class T>
-        T& operator=(T& x) const
-        {
-            *this->stored_iterator = x;
-            return x;
-        }
-
-        // Provides X(r++)
-        operator Iterator const&() const
-        {
-            return stored_iterator;
-        }
-        
-     private:
-        mutable value_type stored_value;
-        Iterator stored_iterator;
-    };
-
-# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-    template <class Reference, class Value>
-    struct is_non_proxy_reference_impl
-    {
-        static Reference r;
-        
-        template <class R>
-        static typename mpl::if_<
-            is_convertible<
-                R const volatile*
-              , Value const volatile*
-            >
-          , char[1]
-          , char[2]
-        >::type& helper(R const&);
-        
-        BOOST_STATIC_CONSTANT(bool, value = sizeof(helper(r)) == 1);
-    };
-        
-    template <class Reference, class Value>
-    struct is_non_proxy_reference
-      : mpl::bool_<
-            is_non_proxy_reference_impl<Reference, Value>::value
-        >
-    {};
-# else 
-    template <class Reference, class Value>
-    struct is_non_proxy_reference
-      : is_convertible<
-            typename remove_reference<Reference>::type
-            const volatile*
-          , Value const volatile*
-        >
-    {};
-# endif 
-        
-    // A metafunction to choose the result type of postfix ++
-    //
-    // Because the C++98 input iterator requirements say that *r++ has
-    // type T (value_type), implementations of some standard
-    // algorithms like lexicographical_compare may use constructions
-    // like:
-    //
-    //          *r++ < *s++
-    //
-    // If *r++ returns a proxy (as required if r is writable but not
-    // multipass), this sort of expression will fail unless the proxy
-    // supports the operator<.  Since there are any number of such
-    // operations, we're not going to try to support them.  Therefore,
-    // even if r++ returns a proxy, *r++ will only return a proxy if
-    // *r also returns a proxy.
-    template <class Iterator, class Value, class Reference, class CategoryOrTraversal>
-    struct postfix_increment_result
-      : mpl::eval_if<
-            mpl::and_<
-                // A proxy is only needed for readable iterators
-                is_convertible<Reference,Value const&>
-                
-                // No multipass iterator can have values that disappear
-                // before positions can be re-visited
-              , mpl::not_<
-                    is_convertible<
-                        typename iterator_category_to_traversal<CategoryOrTraversal>::type
-                      , forward_traversal_tag
-                    >
-                >
-            >
-          , mpl::if_<
-                is_non_proxy_reference<Reference,Value>
-              , postfix_increment_proxy<Iterator>
-              , writable_postfix_increment_proxy<Iterator>
-            >
-          , mpl::identity<Iterator>
-        >
-    {};
-
-    // operator->() needs special support for input iterators to strictly meet the
-    // standard's requirements. If *i is not a reference type, we must still
-    // produce a lvalue to which a pointer can be formed. We do that by
-    // returning an instantiation of this special proxy class template.
-    template <class T>
-    struct operator_arrow_proxy
-    {
-        operator_arrow_proxy(T const* px) : m_value(*px) {}
-        T* operator->() const { return &m_value; }
-        // This function is needed for MWCW and BCC, which won't call operator->
-        // again automatically per 13.3.1.2 para 8
-        operator T*() const { return &m_value; }
-        mutable T m_value;
-    };
-
-    // A metafunction that gets the result type for operator->.  Also
-    // has a static function make() which builds the result from a
-    // Reference
-    template <class ValueType, class Reference, class Pointer>
-    struct operator_arrow_result
-    {
-        // CWPro8.3 won't accept "operator_arrow_result::type", and we
-        // need that type below, so metafunction forwarding would be a
-        // losing proposition here.
-        typedef typename mpl::if_<
-            is_reference<Reference>
-          , Pointer
-          , operator_arrow_proxy<ValueType>
-        >::type type;
-
-        static type make(Reference x)
-        {
-            return boost::implicit_cast<type>(&x);
-        }
-    };
-
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    // Deal with ETI
-    template<>
-    struct operator_arrow_result<int, int, int>
-    {
-        typedef int type;
-    };
-# endif
-
-    // A proxy return type for operator[], needed to deal with
-    // iterators that may invalidate referents upon destruction.
-    // Consider the temporary iterator in *(a + n)
-    template <class Iterator>
-    class operator_brackets_proxy
-    {
-        // Iterator is actually an iterator_facade, so we do not have to
-        // go through iterator_traits to access the traits.
-        typedef typename Iterator::reference  reference;
-        typedef typename Iterator::value_type value_type;
-
-     public:
-        operator_brackets_proxy(Iterator const& iter)
-          : m_iter(iter)
-        {}
-
-        operator reference() const
-        {
-            return *m_iter;
-        }
-
-        operator_brackets_proxy& operator=(value_type const& val)
-        {
-            *m_iter = val;
-            return *this;
-        }
-
-     private:
-        Iterator m_iter;
-    };
-
-    // A metafunction that determines whether operator[] must return a
-    // proxy, or whether it can simply return a copy of the value_type.
-    template <class ValueType, class Reference>
-    struct use_operator_brackets_proxy
-      : mpl::not_<
-            mpl::and_<
-                // Really we want an is_copy_constructible trait here,
-                // but is_POD will have to suffice in the meantime.
-                boost::is_POD<ValueType>
-              , iterator_writability_disabled<ValueType,Reference>
-            >
-        >
-    {};
-        
-    template <class Iterator, class Value, class Reference>
-    struct operator_brackets_result
-    {
-        typedef typename mpl::if_<
-            use_operator_brackets_proxy<Value,Reference>
-          , operator_brackets_proxy<Iterator>
-          , Value
-        >::type type;
-    };
-
-    template <class Iterator>
-    operator_brackets_proxy<Iterator> make_operator_brackets_result(Iterator const& iter, mpl::true_)
-    {
-        return operator_brackets_proxy<Iterator>(iter);
-    }
-
-    template <class Iterator>
-    typename Iterator::value_type make_operator_brackets_result(Iterator const& iter, mpl::false_)
-    {
-      return *iter;
-    }
-
-    struct choose_difference_type
-    {
-        template <class I1, class I2>
-        struct apply
-          :
-# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
-          iterator_difference<I1>
-# elif BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-          mpl::if_<
-              is_convertible<I2,I1>
-            , typename I1::difference_type
-            , typename I2::difference_type
-          >
-# else 
-          mpl::eval_if<
-              is_convertible<I2,I1>
-            , iterator_difference<I1>
-            , iterator_difference<I2>
-          >
-# endif 
-        {};
-
-    };
-  } // namespace detail
-
-
-  // Macros which describe the declarations of binary operators
-# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
-#  define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type)       \
-    template <                                                              \
-        class Derived1, class V1, class TC1, class Reference1, class Difference1 \
-      , class Derived2, class V2, class TC2, class Reference2, class Difference2 \
-    >                                                                       \
-    prefix typename mpl::apply2<result_type,Derived1,Derived2>::type \
-    operator op(                                                            \
-        iterator_facade<Derived1, V1, TC1, Reference1, Difference1> const& lhs   \
-      , iterator_facade<Derived2, V2, TC2, Reference2, Difference2> const& rhs)
-# else 
-#  define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type)   \
-    template <                                                          \
-        class Derived1, class V1, class TC1, class Reference1, class Difference1 \
-      , class Derived2, class V2, class TC2, class Reference2, class Difference2 \
-    >                                                                   \
-    prefix typename boost::detail::enable_if_interoperable<             \
-        Derived1, Derived2                                              \
-      , typename mpl::apply2<result_type,Derived1,Derived2>::type       \
-    >::type                                                             \
-    operator op(                                                        \
-        iterator_facade<Derived1, V1, TC1, Reference1, Difference1> const& lhs   \
-      , iterator_facade<Derived2, V2, TC2, Reference2, Difference2> const& rhs)
-# endif 
-
-#  define BOOST_ITERATOR_FACADE_PLUS_HEAD(prefix,args)              \
-    template <class Derived, class V, class TC, class R, class D>   \
-    prefix Derived operator+ args
-
-  //
-  // Helper class for granting access to the iterator core interface.
-  //
-  // The simple core interface is used by iterator_facade. The core
-  // interface of a user/library defined iterator type should not be made public
-  // so that it does not clutter the public interface. Instead iterator_core_access
-  // should be made friend so that iterator_facade can access the core
-  // interface through iterator_core_access.
-  //
-  class iterator_core_access
-  {
-# if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)                  
-      // Tasteless as this may seem, making all members public allows member templates
-      // to work in the absence of member template friends.
-   public:
-# else
-      
-      template <class I, class V, class TC, class R, class D> friend class iterator_facade;
-
-#  define BOOST_ITERATOR_FACADE_RELATION(op)                                \
-      BOOST_ITERATOR_FACADE_INTEROP_HEAD(friend,op, boost::detail::always_bool2);
-
-      BOOST_ITERATOR_FACADE_RELATION(==)
-      BOOST_ITERATOR_FACADE_RELATION(!=)
-
-      BOOST_ITERATOR_FACADE_RELATION(<)
-      BOOST_ITERATOR_FACADE_RELATION(>)
-      BOOST_ITERATOR_FACADE_RELATION(<=)
-      BOOST_ITERATOR_FACADE_RELATION(>=)
-#  undef BOOST_ITERATOR_FACADE_RELATION
-
-      BOOST_ITERATOR_FACADE_INTEROP_HEAD(
-          friend, -, boost::detail::choose_difference_type)
-      ;
-
-      BOOST_ITERATOR_FACADE_PLUS_HEAD(
-          friend inline
-          , (iterator_facade<Derived, V, TC, R, D> const&
-           , typename Derived::difference_type)
-      )
-      ;
-
-      BOOST_ITERATOR_FACADE_PLUS_HEAD(
-          friend inline
-        , (typename Derived::difference_type
-           , iterator_facade<Derived, V, TC, R, D> const&)
-      )
-      ;
-
-# endif
-
-      template <class Facade>
-      static typename Facade::reference dereference(Facade const& f)
-      {
-          return f.dereference();
-      }
-
-      template <class Facade>
-      static void increment(Facade& f)
-      {
-          f.increment();
-      }
-
-      template <class Facade>
-      static void decrement(Facade& f)
-      {
-          f.decrement();
-      }
-
-      template <class Facade1, class Facade2>
-      static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::true_)
-      {
-          return f1.equal(f2);
-      }
-
-      template <class Facade1, class Facade2>
-      static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::false_)
-      {
-          return f2.equal(f1);
-      }
-
-      template <class Facade>
-      static void advance(Facade& f, typename Facade::difference_type n)
-      {
-          f.advance(n);
-      }
-
-      template <class Facade1, class Facade2>
-      static typename Facade1::difference_type distance_from(
-          Facade1 const& f1, Facade2 const& f2, mpl::true_)
-      {
-          return -f1.distance_to(f2);
-      }
-
-      template <class Facade1, class Facade2>
-      static typename Facade2::difference_type distance_from(
-          Facade1 const& f1, Facade2 const& f2, mpl::false_)
-      {
-          return f2.distance_to(f1);
-      }
-
-      //
-      // Curiously Recurring Template interface.
-      //
-      template <class I, class V, class TC, class R, class D>
-      static I& derived(iterator_facade<I,V,TC,R,D>& facade)
-      {
-          return *static_cast<I*>(&facade);
-      }
-
-      template <class I, class V, class TC, class R, class D>
-      static I const& derived(iterator_facade<I,V,TC,R,D> const& facade)
-      {
-          return *static_cast<I const*>(&facade);
-      }
-
-   private:
-      // objects of this class are useless
-      iterator_core_access(); //undefined
-  };
-
-  //
-  // iterator_facade - use as a public base class for defining new
-  // standard-conforming iterators.
-  //
-  template <
-      class Derived             // The derived iterator type being constructed
-    , class Value
-    , class CategoryOrTraversal
-    , class Reference   = Value&
-    , class Difference  = std::ptrdiff_t
-  >
-  class iterator_facade
-# ifdef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE
-    : public boost::detail::iterator_facade_types<
-         Value, CategoryOrTraversal, Reference, Difference
-      >::base
-#  undef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE
-# endif
-  {
-   private:
-      //
-      // Curiously Recurring Template interface.
-      //
-      Derived& derived()
-      {
-          return *static_cast<Derived*>(this);
-      }
-
-      Derived const& derived() const
-      {
-          return *static_cast<Derived const*>(this);
-      }
-
-      typedef boost::detail::iterator_facade_types<
-         Value, CategoryOrTraversal, Reference, Difference
-      > associated_types;
-
-      typedef boost::detail::operator_arrow_result<
-        typename associated_types::value_type
-        , Reference
-        , typename associated_types::pointer
-      > pointer_;
-
-   protected:
-      // For use by derived classes
-      typedef iterator_facade<Derived,Value,CategoryOrTraversal,Reference,Difference> iterator_facade_;
-      
-   public:
-
-      typedef typename associated_types::value_type value_type;
-      typedef Reference reference;
-      typedef Difference difference_type;
-
-      typedef typename pointer_::type pointer;
-
-      typedef typename associated_types::iterator_category iterator_category;
-
-      reference operator*() const
-      {
-          return iterator_core_access::dereference(this->derived());
-      }
-
-      pointer operator->() const
-      {
-          return pointer_::make(*this->derived());
-      }
-        
-      typename boost::detail::operator_brackets_result<Derived,Value,reference>::type
-      operator[](difference_type n) const
-      {
-          typedef boost::detail::use_operator_brackets_proxy<Value,Reference> use_proxy;
-          
-          return boost::detail::make_operator_brackets_result<Derived>(
-              this->derived() + n
-            , use_proxy()
-          );
-      }
-
-      Derived& operator++()
-      {
-          iterator_core_access::increment(this->derived());
-          return this->derived();
-      }
-
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-      typename boost::detail::postfix_increment_result<Derived,Value,Reference,CategoryOrTraversal>::type
-      operator++(int)
-      {
-          typename boost::detail::postfix_increment_result<Derived,Value,Reference,CategoryOrTraversal>::type
-          tmp(this->derived());
-          ++*this;
-          return tmp;
-      }
-# endif
-      
-      Derived& operator--()
-      {
-          iterator_core_access::decrement(this->derived());
-          return this->derived();
-      }
-
-      Derived operator--(int)
-      {
-          Derived tmp(this->derived());
-          --*this;
-          return tmp;
-      }
-
-      Derived& operator+=(difference_type n)
-      {
-          iterator_core_access::advance(this->derived(), n);
-          return this->derived();
-      }
-
-      Derived& operator-=(difference_type n)
-      {
-          iterator_core_access::advance(this->derived(), -n);
-          return this->derived();
-      }
-
-      Derived operator-(difference_type x) const
-      {
-          Derived result(this->derived());
-          return result -= x;
-      }
-
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-      // There appears to be a bug which trashes the data of classes
-      // derived from iterator_facade when they are assigned unless we
-      // define this assignment operator.  This bug is only revealed
-      // (so far) in STLPort debug mode, but it's clearly a codegen
-      // problem so we apply the workaround for all MSVC6.
-      iterator_facade& operator=(iterator_facade const&)
-      {
-          return *this;
-      }
-# endif
-  };
-
-# if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-  template <class I, class V, class TC, class R, class D>
-  inline typename boost::detail::postfix_increment_result<I,V,R,TC>::type
-  operator++(
-      iterator_facade<I,V,TC,R,D>& i
-    , int
-  )
-  {
-      typename boost::detail::postfix_increment_result<I,V,R,TC>::type
-          tmp(*static_cast<I*>(&i));
-      
-      ++i;
-      
-      return tmp;
-  }
-# endif 
-
-  
-  //
-  // Comparison operator implementation. The library supplied operators
-  // enables the user to provide fully interoperable constant/mutable
-  // iterator types. I.e. the library provides all operators
-  // for all mutable/constant iterator combinations.
-  //
-  // Note though that this kind of interoperability for constant/mutable
-  // iterators is not required by the standard for container iterators.
-  // All the standard asks for is a conversion mutable -> constant.
-  // Most standard library implementations nowadays provide fully interoperable
-  // iterator implementations, but there are still heavily used implementations
-  // that do not provide them. (Actually it's even worse, they do not provide
-  // them for only a few iterators.)
-  //
-  // ?? Maybe a BOOST_ITERATOR_NO_FULL_INTEROPERABILITY macro should
-  //    enable the user to turn off mixed type operators
-  //
-  // The library takes care to provide only the right operator overloads.
-  // I.e.
-  //
-  // bool operator==(Iterator,      Iterator);
-  // bool operator==(ConstIterator, Iterator);
-  // bool operator==(Iterator,      ConstIterator);
-  // bool operator==(ConstIterator, ConstIterator);
-  //
-  //   ...
-  //
-  // In order to do so it uses c++ idioms that are not yet widely supported
-  // by current compiler releases. The library is designed to degrade gracefully
-  // in the face of compiler deficiencies. In general compiler
-  // deficiencies result in less strict error checking and more obscure
-  // error messages, functionality is not affected.
-  //
-  // For full operation compiler support for "Substitution Failure Is Not An Error"
-  // (aka. enable_if) and boost::is_convertible is required.
-  //
-  // The following problems occur if support is lacking.
-  //
-  // Pseudo code
-  //
-  // ---------------
-  // AdaptorA<Iterator1> a1;
-  // AdaptorA<Iterator2> a2;
-  //
-  // // This will result in a no such overload error in full operation
-  // // If enable_if or is_convertible is not supported
-  // // The instantiation will fail with an error hopefully indicating that
-  // // there is no operator== for Iterator1, Iterator2
-  // // The same will happen if no enable_if is used to remove
-  // // false overloads from the templated conversion constructor
-  // // of AdaptorA.
-  //
-  // a1 == a2;
-  // ----------------
-  //
-  // AdaptorA<Iterator> a;
-  // AdaptorB<Iterator> b;
-  //
-  // // This will result in a no such overload error in full operation
-  // // If enable_if is not supported the static assert used
-  // // in the operator implementation will fail.
-  // // This will accidently work if is_convertible is not supported.
-  //
-  // a == b;
-  // ----------------
-  //
-
-# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
-#  define BOOST_ITERATOR_CONVERTIBLE(a,b) mpl::true_()
-# else
-#  define BOOST_ITERATOR_CONVERTIBLE(a,b) is_convertible<a,b>()
-# endif
-
-# define BOOST_ITERATOR_FACADE_INTEROP(op, result_type, return_prefix, base_op) \
-  BOOST_ITERATOR_FACADE_INTEROP_HEAD(inline, op, result_type)                   \
-  {                                                                             \
-      /* For those compilers that do not support enable_if */                   \
-      BOOST_STATIC_ASSERT((                                                     \
-          is_interoperable< Derived1, Derived2 >::value                         \
-      ));                                                                       \
-      return_prefix iterator_core_access::base_op(                              \
-          *static_cast<Derived1 const*>(&lhs)                                   \
-        , *static_cast<Derived2 const*>(&rhs)                                   \
-        , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
-      );                                                                        \
-  }
-
-# define BOOST_ITERATOR_FACADE_RELATION(op, return_prefix, base_op) \
-  BOOST_ITERATOR_FACADE_INTEROP(                                    \
-      op                                                            \
-    , boost::detail::always_bool2                                   \
-    , return_prefix                                                 \
-    , base_op                                                       \
-  )
-
-  BOOST_ITERATOR_FACADE_RELATION(==, return, equal)
-  BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal)
-
-  BOOST_ITERATOR_FACADE_RELATION(<, return 0 >, distance_from)
-  BOOST_ITERATOR_FACADE_RELATION(>, return 0 <, distance_from)
-  BOOST_ITERATOR_FACADE_RELATION(<=, return 0 >=, distance_from)
-  BOOST_ITERATOR_FACADE_RELATION(>=, return 0 <=, distance_from)
-# undef BOOST_ITERATOR_FACADE_RELATION
-
-  // operator- requires an additional part in the static assertion
-  BOOST_ITERATOR_FACADE_INTEROP(
-      -
-    , boost::detail::choose_difference_type
-    , return
-    , distance_from
-  )
-# undef BOOST_ITERATOR_FACADE_INTEROP
-# undef BOOST_ITERATOR_FACADE_INTEROP_HEAD
-
-# define BOOST_ITERATOR_FACADE_PLUS(args)           \
-  BOOST_ITERATOR_FACADE_PLUS_HEAD(inline, args)     \
-  {                                                 \
-      Derived tmp(static_cast<Derived const&>(i));  \
-      return tmp += n;                              \
-  }
-
-BOOST_ITERATOR_FACADE_PLUS((
-  iterator_facade<Derived, V, TC, R, D> const& i
-  , typename Derived::difference_type n
-))
-
-BOOST_ITERATOR_FACADE_PLUS((
-    typename Derived::difference_type n
-    , iterator_facade<Derived, V, TC, R, D> const& i
-))
-# undef BOOST_ITERATOR_FACADE_PLUS
-# undef BOOST_ITERATOR_FACADE_PLUS_HEAD
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_ITERATOR_FACADE_23022003THW_HPP
diff --git a/SRC/Boost/boost/iterator/iterator_traits.hpp b/SRC/Boost/boost/iterator/iterator_traits.hpp
deleted file mode 100755
index 986b08f..0000000
--- a/SRC/Boost/boost/iterator/iterator_traits.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright David Abrahams 2003.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef ITERATOR_TRAITS_DWA200347_HPP
-# define ITERATOR_TRAITS_DWA200347_HPP
-
-# include <boost/detail/iterator.hpp>
-# include <boost/detail/workaround.hpp>
-
-namespace boost { 
-
-// Unfortunately, g++ 2.95.x chokes when we define a class template
-// iterator_category which has the same name as its
-// std::iterator_category() function, probably due in part to the
-// "std:: is visible globally" hack it uses.  Use
-// BOOST_ITERATOR_CATEGORY to write code that's portable to older
-// GCCs.
-
-# if BOOST_WORKAROUND(__GNUC__, <= 2)
-#  define BOOST_ITERATOR_CATEGORY iterator_category_
-# else
-#  define BOOST_ITERATOR_CATEGORY iterator_category
-# endif
-
-
-template <class Iterator>
-struct iterator_value
-{
-    typedef typename boost::detail::iterator_traits<Iterator>::value_type type;
-};
-  
-template <class Iterator>
-struct iterator_reference
-{
-    typedef typename boost::detail::iterator_traits<Iterator>::reference type;
-};
-  
-  
-template <class Iterator>
-struct iterator_pointer
-{
-    typedef typename boost::detail::iterator_traits<Iterator>::pointer type;
-};
-  
-template <class Iterator>
-struct iterator_difference
-{
-    typedef typename boost::detail::iterator_traits<Iterator>::difference_type type;
-};
-
-template <class Iterator>
-struct BOOST_ITERATOR_CATEGORY
-{
-    typedef typename boost::detail::iterator_traits<Iterator>::iterator_category type;
-};
-
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-template <>
-struct iterator_value<int>
-{
-    typedef void type;
-};
-  
-template <>
-struct iterator_reference<int>
-{
-    typedef void type;
-};
-
-template <>
-struct iterator_pointer<int>
-{
-    typedef void type;
-};
-  
-template <>
-struct iterator_difference<int>
-{
-    typedef void type;
-};
-  
-template <>
-struct BOOST_ITERATOR_CATEGORY<int>
-{
-    typedef void type;
-};
-# endif
-
-} // namespace boost::iterator
-
-#endif // ITERATOR_TRAITS_DWA200347_HPP
diff --git a/SRC/Boost/boost/iterator/reverse_iterator.hpp b/SRC/Boost/boost/iterator/reverse_iterator.hpp
deleted file mode 100755
index 59bbbc0..0000000
--- a/SRC/Boost/boost/iterator/reverse_iterator.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Jeremy Siek    2002.
-// (C) Copyright Thomas Witt    2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_REVERSE_ITERATOR_23022003THW_HPP
-#define BOOST_REVERSE_ITERATOR_23022003THW_HPP
-
-#include <boost/iterator.hpp>
-#include <boost/utility.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-
-namespace boost
-{
-
-  //
-  //
-  //
-  template <class Iterator>
-  class reverse_iterator
-      : public iterator_adaptor< reverse_iterator<Iterator>, Iterator >
-  {
-      typedef iterator_adaptor< reverse_iterator<Iterator>, Iterator > super_t;
-
-      friend class iterator_core_access;
-
-   public:
-      reverse_iterator() {}
-
-      explicit reverse_iterator(Iterator x) 
-          : super_t(x) {}
-
-      template<class OtherIterator>
-      reverse_iterator(
-          reverse_iterator<OtherIterator> const& r
-          , typename enable_if_convertible<OtherIterator, Iterator>::type* = 0
-          )
-          : super_t(r.base())
-      {}
-
-   private:
-      typename super_t::reference dereference() const { return *boost::prior(this->base()); }
-    
-      void increment() { --this->base_reference(); }
-      void decrement() { ++this->base_reference(); }
-
-      void advance(typename super_t::difference_type n)
-      {
-          this->base_reference() += -n;
-      }
-
-      template <class OtherIterator>
-      typename super_t::difference_type
-      distance_to(reverse_iterator<OtherIterator> const& y) const
-      {
-          return this->base_reference() - y.base();
-      }
-  };
-
-  template <class BidirectionalIterator>
-  reverse_iterator<BidirectionalIterator> make_reverse_iterator(BidirectionalIterator x)
-  {
-      return reverse_iterator<BidirectionalIterator>(x);
-  }
-
-} // namespace boost
-
-#endif // BOOST_REVERSE_ITERATOR_23022003THW_HPP
diff --git a/SRC/Boost/boost/iterator/transform_iterator.hpp b/SRC/Boost/boost/iterator/transform_iterator.hpp
deleted file mode 100755
index 0d51a89..0000000
--- a/SRC/Boost/boost/iterator/transform_iterator.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Jeremy Siek    2002.
-// (C) Copyright Thomas Witt    2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_TRANSFORM_ITERATOR_23022003THW_HPP
-#define BOOST_TRANSFORM_ITERATOR_23022003THW_HPP
-
-#include <boost/iterator.hpp>
-#include <boost/iterator/detail/enable_if.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/function_traits.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/result_of.hpp>
-
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
-# include <boost/type_traits/is_base_and_derived.hpp>
-
-#endif 
-#include <boost/iterator/detail/config_def.hpp>
-
-
-namespace boost
-{
-  template <class UnaryFunction, class Iterator, class Reference = use_default, class Value = use_default>
-  class transform_iterator;
-
-  namespace detail 
-  {
-    // Compute the iterator_adaptor instantiation to be used for transform_iterator
-    template <class UnaryFunc, class Iterator, class Reference, class Value>
-    struct transform_iterator_base
-    {
-     private:
-        // By default, dereferencing the iterator yields the same as
-        // the function.
-        typedef typename ia_dflt_help<
-            Reference
-          , result_of<UnaryFunc(typename std::iterator_traits<Iterator>::reference)>
-        >::type reference;
-
-        // To get the default for Value: remove any reference on the
-        // result type, but retain any constness to signal
-        // non-writability.  Note that if we adopt Thomas' suggestion
-        // to key non-writability *only* on the Reference argument,
-        // we'd need to strip constness here as well.
-        typedef typename ia_dflt_help<
-            Value
-          , remove_reference<reference>
-        >::type cv_value_type;
-
-     public:
-        typedef iterator_adaptor<
-            transform_iterator<UnaryFunc, Iterator, Reference, Value>
-          , Iterator
-          , cv_value_type
-          , use_default    // Leave the traversal category alone
-          , reference
-        > type;
-    };
-  }
-
-  template <class UnaryFunc, class Iterator, class Reference, class Value>
-  class transform_iterator
-    : public boost::detail::transform_iterator_base<UnaryFunc, Iterator, Reference, Value>::type
-  {
-    typedef typename
-    boost::detail::transform_iterator_base<UnaryFunc, Iterator, Reference, Value>::type
-    super_t;
-
-    friend class iterator_core_access;
-
-  public:
-    transform_iterator() { }
-
-    transform_iterator(Iterator const& x, UnaryFunc f)
-      : super_t(x), m_f(f) { }
-
-    explicit transform_iterator(Iterator const& x)
-      : super_t(x)
-    {
-        // Pro8 is a little too aggressive about instantiating the
-        // body of this function.
-#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
-        // don't provide this constructor if UnaryFunc is a
-        // function pointer type, since it will be 0.  Too dangerous.
-        BOOST_STATIC_ASSERT(is_class<UnaryFunc>::value);
-#endif 
-    }
-
-    template <
-        class OtherUnaryFunction
-      , class OtherIterator
-      , class OtherReference
-      , class OtherValue>
-    transform_iterator(
-         transform_iterator<OtherUnaryFunction, OtherIterator, OtherReference, OtherValue> const& t
-       , typename enable_if_convertible<OtherIterator, Iterator>::type* = 0
-#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-       , typename enable_if_convertible<OtherUnaryFunction, UnaryFunc>::type* = 0
-#endif 
-    )
-      : super_t(t.base()), m_f(t.functor())
-   {}
-
-    UnaryFunc functor() const
-      { return m_f; }
-
-  private:
-    typename super_t::reference dereference() const
-    { return m_f(*this->base()); }
-
-    // Probably should be the initial base class so it can be
-    // optimized away via EBO if it is an empty class.
-    UnaryFunc m_f;
-  };
-
-  template <class UnaryFunc, class Iterator>
-  transform_iterator<UnaryFunc, Iterator>
-  make_transform_iterator(Iterator it, UnaryFunc fun)
-  {
-      return transform_iterator<UnaryFunc, Iterator>(it, fun);
-  }
-
-  // Version which allows explicit specification of the UnaryFunc
-  // type.
-  //
-  // This generator is not provided if UnaryFunc is a function
-  // pointer type, because it's too dangerous: the default-constructed
-  // function pointer in the iterator be 0, leading to a runtime
-  // crash.
-  template <class UnaryFunc, class Iterator>
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-  typename mpl::if_<
-#else 
-  typename iterators::enable_if<
-#endif 
-      is_class<UnaryFunc>   // We should probably find a cheaper test than is_class<>
-    , transform_iterator<UnaryFunc, Iterator>
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    , int[3]
-#endif 
-  >::type
-  make_transform_iterator(Iterator it)
-  {
-      return transform_iterator<UnaryFunc, Iterator>(it, UnaryFunc());
-  }
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-  template <class Return, class Argument, class Iterator>
-  transform_iterator< Return (*)(Argument), Iterator, Return>
-  make_transform_iterator(Iterator it, Return (*fun)(Argument))
-  {
-    return transform_iterator<Return (*)(Argument), Iterator, Return>(it, fun);
-  }
-#endif
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_TRANSFORM_ITERATOR_23022003THW_HPP
diff --git a/SRC/Boost/boost/lambda/bind.hpp b/SRC/Boost/boost/lambda/bind.hpp
deleted file mode 100755
index 0fd6146..0000000
--- a/SRC/Boost/boost/lambda/bind.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// -- bind.hpp -- Boost Lambda Library --------------------------------------
-
-// Copyright (C) 1999-2001 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//                         Gary Powell (gwpowell at hotmail.com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org 
-
-#ifndef BOOST_LAMBDA_BIND_HPP
-#define BOOST_LAMBDA_BIND_HPP
-
-#include "boost/lambda/core.hpp"
-
-#include "boost/lambda/detail/bind_functions.hpp"
-    
-#endif
diff --git a/SRC/Boost/boost/lambda/core.hpp b/SRC/Boost/boost/lambda/core.hpp
deleted file mode 100755
index e2ed3bb..0000000
--- a/SRC/Boost/boost/lambda/core.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-// -- core.hpp -- Boost Lambda Library -------------------------------------
-//
-// Copyright (C) 2000 Gary Powell (powellg at amazon.com)
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-// 
-// Includes the core of LL, without any real features for client:
-// 
-// tuples, lambda functors, return type deduction templates,
-// argument substitution mechanism (select functions)
-// 
-// Some functionality comes as well:
-// Assignment and subscript operators, as well as function
-// call operator for placeholder variables.
-// -------------------------------------------------------------------------
-
-#ifndef BOOST_LAMBDA_CORE_HPP
-#define BOOST_LAMBDA_CORE_HPP
-
-#include "boost/type_traits/transform_traits.hpp"
-#include "boost/type_traits/cv_traits.hpp"
-
-#include "boost/tuple/tuple.hpp"
-
-// inject some of the tuple names into lambda 
-namespace boost {
-namespace lambda {
-
-using ::boost::tuples::tuple;
-using ::boost::tuples::null_type;
-
-} // lambda
-} // boost
-
-#include "boost/lambda/detail/lambda_config.hpp"
-#include "boost/lambda/detail/lambda_fwd.hpp"
-
-#include "boost/lambda/detail/arity_code.hpp"
-#include "boost/lambda/detail/actions.hpp"
-
-#include "boost/lambda/detail/lambda_traits.hpp"
-
-#include "boost/lambda/detail/function_adaptors.hpp"
-#include "boost/lambda/detail/return_type_traits.hpp"
-
-#include "boost/lambda/detail/select_functions.hpp"
-
-#include "boost/lambda/detail/lambda_functor_base.hpp"
-
-#include "boost/lambda/detail/lambda_functors.hpp"
-
-#include "boost/lambda/detail/ret.hpp"
-
-namespace boost {
-namespace lambda {
-
-namespace {
-
-  // These are constants types and need to be initialised
-  boost::lambda::placeholder1_type free1 = boost::lambda::placeholder1_type();
-  boost::lambda::placeholder2_type free2 = boost::lambda::placeholder2_type();
-  boost::lambda::placeholder3_type free3 = boost::lambda::placeholder3_type();
-
-  boost::lambda::placeholder1_type& _1 = free1;
-  boost::lambda::placeholder2_type& _2 = free2;
-  boost::lambda::placeholder3_type& _3 = free3;
-  // _1, _2, ... naming scheme by Peter Dimov
-} // unnamed
-   
-} // lambda
-} // boost
-   
-   
-#endif //BOOST_LAMBDA_CORE_HPP
diff --git a/SRC/Boost/boost/lambda/detail/actions.hpp b/SRC/Boost/boost/lambda/detail/actions.hpp
deleted file mode 100755
index e67e88e..0000000
--- a/SRC/Boost/boost/lambda/detail/actions.hpp
+++ /dev/null
@@ -1,174 +0,0 @@
-// -- Boost Lambda Library - actions.hpp ----------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see www.boost.org
-
-// ----------------------------------------------------------------
-
-#ifndef BOOST_LAMBDA_ACTIONS_HPP
-#define BOOST_LAMBDA_ACTIONS_HPP
-
-namespace boost { 
-namespace lambda {
-
-
-
-template<int Arity, class Act> class action;
-
-// these need to be defined here, since the corresponding lambda 
-// functions are members of lambda_functor classes
-
-class assignment_action {};
-class subscript_action {};
-
-template <class Action> class other_action;
-
-// action for specifying the explicit return type
-template <class RET> class explicit_return_type_action {};
-
-// action for preventing the expansion of a lambda expression
-struct protect_action {};
-
-  // must be defined here, comma is a special case
-struct comma_action {};
-
-
-  // actions, for which the existence of protect is checked in return type 
-  // deduction.
-
-template <class Action> struct is_protectable {
-  BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// NOTE: comma action is protectable. Other protectable actions
-// are listed in operator_actions.hpp
-
-template<> struct is_protectable<other_action<comma_action> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-
-namespace detail {
-
-  // this type is used in return type deductions to signal that deduction 
-  // did not find a result. It does not necessarily mean an error, it commonly
-  // means that something else should be tried.
-  class unspecified {};
-}
-
-  // function action is a special case: bind functions can be called with 
-  // the return type specialized explicitly e.g. bind<int>(foo);
-  // If this call syntax is used, the return type is stored in the latter
-  // argument of function_action template. Otherwise the argument gets the type
-  // 'unspecified'.
-  // This argument is only relevant in the return type deduction code
-template <int I, class Result_type = detail::unspecified> 
-class function_action {};
-   
-template<class T> class function_action<1, T> {
-public:
-  template<class RET, class A1>
-  static RET apply(A1& a1) {
-    return function_adaptor<typename boost::remove_cv<A1>::type>::
-      template apply<RET>(a1);
-  }
-};
-
-template<class T> class function_action<2, T> {
-public:
-  template<class RET, class A1, class A2>
-  static RET apply(A1& a1, A2& a2) {
-    return function_adaptor<typename boost::remove_cv<A1>::type>::
-      template apply<RET>(a1, a2);
-  }
-};
-
-template<class T> class function_action<3, T> {
-public:
-  template<class RET, class A1, class A2, class A3>
-  static RET apply(A1& a1, A2& a2, A3& a3) {
-    return function_adaptor<typename boost::remove_cv<A1>::type>::
-      template apply<RET>(a1, a2, a3);
-  }
-};
-
-template<class T> class function_action<4, T> {
-public:
-  template<class RET, class A1, class A2, class A3, class A4>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4) {
-    return function_adaptor<typename boost::remove_cv<A1>::type>::
-      template apply<RET>(a1, a2, a3, a4);
-  }
-};
-
-template<class T> class function_action<5, T> {
-public:
-  template<class RET, class A1, class A2, class A3, class A4, class A5>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5) {
-    return function_adaptor<typename boost::remove_cv<A1>::type>::
-      template apply<RET>(a1, a2, a3, a4, a5);
-  }
-};
-
-template<class T> class function_action<6, T> {
-public:
-  template<class RET, class A1, class A2, class A3, class A4, class A5, 
-           class A6>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6) {
-    return function_adaptor<typename boost::remove_cv<A1>::type>::
-      template apply<RET>(a1, a2, a3, a4, a5, a6);
-  }
-};
-
-template<class T> class function_action<7, T> {
-public:
-  template<class RET, class A1, class A2, class A3, class A4, class A5,  
-           class A6, class A7>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7) {
-    return function_adaptor<typename boost::remove_cv<A1>::type>::
-      template apply<RET>(a1, a2, a3, a4, a5, a6, a7);
-  }
-};
-
-template<class T> class function_action<8, T> {
-public:
-  template<class RET, class A1, class A2, class A3, class A4, class A5, 
-           class A6, class A7, class A8>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, 
-                   A8& a8) {
-    return function_adaptor<typename boost::remove_cv<A1>::type>::
-      template apply<RET>(a1, a2, a3, a4, a5, a6, a7, a8);
-  }
-};
-
-template<class T> class function_action<9, T> {
-public:
-  template<class RET, class A1, class A2, class A3, class A4, class A5, 
-           class A6, class A7, class A8, class A9>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, 
-                   A8& a8, A9& a9) {
-    return function_adaptor<typename boost::remove_cv<A1>::type>::
-      template apply<RET>(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-  }
-};
-
-template<class T> class function_action<10, T> {
-public:
-  template<class RET, class A1, class A2, class A3, class A4, class A5, 
-           class A6, class A7, class A8, class A9, class A10>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, 
-                   A8& a8, A9& a9, A10& a10) {
-    return function_adaptor<typename boost::remove_cv<A1>::type>::
-      template apply<RET>(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
-  }
-};
-
-} // namespace lambda
-} // namespace boost
-
-#endif
diff --git a/SRC/Boost/boost/lambda/detail/arity_code.hpp b/SRC/Boost/boost/lambda/detail/arity_code.hpp
deleted file mode 100755
index 452c086..0000000
--- a/SRC/Boost/boost/lambda/detail/arity_code.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-// -- Boost Lambda Library -------------------------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-
-// --------------------------------------------------
-
-#ifndef BOOST_LAMBDA_ARITY_CODE_HPP
-#define BOOST_LAMBDA_ARITY_CODE_HPP
-
-#include "boost/type_traits/cv_traits.hpp"
-#include "boost/type_traits/transform_traits.hpp"
-
-namespace boost { 
-namespace lambda {
-
-// These constants state, whether a lambda_functor instantiation results from 
-// an expression which contains no placeholders (NONE), 
-// only free1 placeholders (FIRST), 
-// free2 placeholders and maybe free1 placeholders (SECOND),
-// free3 and maybe free1 and free2 placeholders (THIRD),
-// freeE placeholders and maybe free1 and free2  (EXCEPTION).
-// RETHROW means, that a rethrow expression is used somewhere in the lambda_functor.
-
-enum { NONE             = 0x00, // Notice we are using bits as flags here.
-       FIRST            = 0x01, 
-       SECOND           = 0x02, 
-       THIRD            = 0x04, 
-       EXCEPTION        = 0x08, 
-       RETHROW          = 0x10};
-
-
-template<class T>
-struct get_tuple_arity;
-
-namespace detail {
-
-template <class T> struct get_arity_;
-
-} // end detail;
-
-template <class T> struct get_arity {
-
-  BOOST_STATIC_CONSTANT(int, value = detail::get_arity_<typename boost::remove_cv<typename boost::remove_reference<T>::type>::type>::value);
-
-};
-
-namespace detail {
-
-template<class T>
-struct get_arity_ {
-  BOOST_STATIC_CONSTANT(int, value = 0);
-};
-
-template<class T>
-struct get_arity_<lambda_functor<T> > {
-  BOOST_STATIC_CONSTANT(int, value = get_arity<T>::value);
-};
-
-template<class Action, class Args>
-struct get_arity_<lambda_functor_base<Action, Args> > {
-  BOOST_STATIC_CONSTANT(int, value = get_tuple_arity<Args>::value);
-};
-
-template<int I>
-struct get_arity_<placeholder<I> > {
-  BOOST_STATIC_CONSTANT(int, value = I);
-};
-
-} // detail 
-
-template<class T>
-struct get_tuple_arity {
-  BOOST_STATIC_CONSTANT(int, value = get_arity<typename T::head_type>::value | get_tuple_arity<typename T::tail_type>::value);
-};
-
-
-template<>
-struct get_tuple_arity<null_type> {
-  BOOST_STATIC_CONSTANT(int, value = 0);
-};
-
-
-  // Does T have placeholder<I> as it's subexpression?
-
-template<class T, int I>
-struct has_placeholder {
-  BOOST_STATIC_CONSTANT(bool, value = (get_arity<T>::value & I) != 0);
-}; 
-
-template<int I, int J>
-struct includes_placeholder {
-  BOOST_STATIC_CONSTANT(bool, value = (J & I) != 0);
-};
-
-template<int I, int J>
-struct lacks_placeholder {
-  BOOST_STATIC_CONSTANT(bool, value = ((J & I) == 0));
-};
-
-
-} // namespace lambda
-} // namespace boost
-
-#endif
diff --git a/SRC/Boost/boost/lambda/detail/bind_functions.hpp b/SRC/Boost/boost/lambda/detail/bind_functions.hpp
deleted file mode 100755
index eebbbdc..0000000
--- a/SRC/Boost/boost/lambda/detail/bind_functions.hpp
+++ /dev/null
@@ -1,1879 +0,0 @@
-// -- bind_functions.hpp -- Boost Lambda Library
-//
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org
-
-// ----------------------------------------------------------------
-
-#ifndef BOOST_LAMBDA_BIND_FUNCTIONS_HPP
-#define BOOST_LAMBDA_BIND_FUNCTIONS_HPP
-
-
-namespace boost { 
-namespace lambda {
-
-#ifdef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
-
-  // gcc 2.96 instantiates bind functions it does not even call.
-  // These instantiations lead to incorrect types in the return type, 
-  // and a compilation error results. 
-  // This tweaking is to prevent the formation of the erroneous type.
-namespace detail {
-
-template<class T> struct constify_non_funcs {
-  typedef typename 
-  detail::IF_type<boost::is_function<T>::value,
-    boost::add_reference<T>,
-    boost::add_const<T>
-  >::type type;
-};
-
-}
-#endif
-// 1-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
-template <class Result>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<1, function_action<1, Result> >,
-    typename detail::bind_tuple_mapper<Result(&)()>::type
-  >
->
-
-bind(Result(& a1)()) {
-  return
-    lambda_functor_base<
-      action<1, function_action<1, Result> >,
-      typename detail::bind_tuple_mapper<Result(&)()>::type
-    >
-    ( typename detail::bind_tuple_mapper<Result(&)()>::type
-      (a1)
-    );
-}
-#endif
-
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
-template <class Arg1>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<1, function_action<1> >,
-    typename detail::bind_tuple_mapper<const Arg1>::type
-  >
->
-
-bind(const Arg1& a1) {
-  return
-    lambda_functor_base<
-      action<1, function_action<1> >,
-      typename detail::bind_tuple_mapper<const Arg1>::type
-    >
-    ( typename detail::bind_tuple_mapper<const Arg1>::type
-      (a1)
-    );
-}
-
-template <class Result, class Arg1>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<1, function_action<1, Result> >,
-    typename detail::bind_tuple_mapper<const Arg1>::type
-  >
->
-
-bind(const Arg1& a1) {
-  return
-    lambda_functor_base<
-      action<1, function_action<1, Result> >,
-      typename detail::bind_tuple_mapper<const Arg1>::type
-    >
-    ( typename detail::bind_tuple_mapper<const Arg1>::type
-      (a1)
-    );
-}
-
-
- #else 
-template <class Arg1>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<1, function_action<1> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type
-    >::type
-  >
->
-
-bind(const Arg1& a1) {
-  return
-    lambda_functor_base<
-      action<1, function_action<1> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type
-      >::type
-      (a1)
-    );
-}
-
-template <class Result, class Arg1>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<1, function_action<1, Result> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type
-    >::type
-  >
->
-
-bind(const Arg1& a1) {
-  return
-    lambda_functor_base<
-      action<1, function_action<1, Result> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type
-      >::type
-      (a1)
-    );
-}
-
-template <class Result>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<1, function_action<1, Result> >,
-    typename detail::bind_tuple_mapper<Result(*)()>::type
-  >
->
-
-bind(Result(* const & a1)()) {
-  return
-    lambda_functor_base<
-      action<1, function_action<1, Result> >,
-      typename detail::bind_tuple_mapper<Result(*)()>::type
-    >
-    ( typename detail::bind_tuple_mapper<Result(*)()>::type
-      (a1)
-    );
-}
-
-
-#endif 
-
-// 2-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
-template <class Result, class Par1, class Arg2>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<2, function_action<2, Result> >,
-    typename detail::bind_tuple_mapper<Result(&)(Par1), const Arg2>::type
-  >
->
-
-bind(Result(&a1)(Par1), const Arg2& a2) {
-  return
-    lambda_functor_base<
-      action<2, function_action<2, Result> >,
-      typename detail::bind_tuple_mapper<Result(&)(Par1), const Arg2>::type
-    >
-    ( typename detail::bind_tuple_mapper<Result(&)(Par1), const Arg2>::type
-      (a1, a2)
-    );
-}
-#endif
-
-#ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
-template <class Arg1, class Arg2>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<2, function_action<2> >,
-    typename detail::bind_tuple_mapper<const Arg1, const Arg2>::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2) {
-  return
-    lambda_functor_base<
-      action<2, function_action<2> >,
-      typename detail::bind_tuple_mapper<const Arg1, const Arg2>::type
-    >
-    ( typename detail::bind_tuple_mapper<const Arg1, const Arg2>::type
-      (a1, a2)
-    );
-}
-
-template <class Result, class Arg1, class Arg2>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<2, function_action<2, Result> >,
-    typename detail::bind_tuple_mapper<const Arg1, const Arg2>::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2) {
-  return
-    lambda_functor_base<
-      action<2, function_action<2, Result> >,
-      typename detail::bind_tuple_mapper<const Arg1, const Arg2>::type
-    >
-    ( typename detail::bind_tuple_mapper<const Arg1, const Arg2>::type
-      (a1, a2)
-    );
-}
-
-
- #else 
-template <class Arg1, class Arg2>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<2, function_action<2> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2) {
-  return
-    lambda_functor_base<
-      action<2, function_action<2> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2
-      >::type
-      (a1, a2)
-    );
-}
-
-template <class Result, class Arg1, class Arg2>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<2, function_action<2, Result> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2) {
-  return
-    lambda_functor_base<
-      action<2, function_action<2, Result> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2
-      >::type
-      (a1, a2)
-    );
-}
-
-template <class Result, class Par1, class Arg2>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<2, function_action<2, Result> >,
-    typename detail::bind_tuple_mapper<Result(*)(Par1), const Arg2>::type
-  >
->
-
-bind(Result(* const & a1)(Par1), const Arg2& a2) {
-  return
-    lambda_functor_base<
-      action<2, function_action<2, Result> >,
-      typename detail::bind_tuple_mapper<Result(*)(Par1), const Arg2>::type
-    >
-    ( typename detail::bind_tuple_mapper<Result(*)(Par1), const Arg2>::type
-      (a1, a2)
-    );
-}
-
-
- #endif 
-
-// 3-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
-template <class Result, class Par1, class Par2, class Arg2, class Arg3>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<3, function_action<3, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(&)(Par1, Par2), const Arg2, const Arg3
-    >::type
-  >
->
-
-bind(Result(&a1)(Par1, Par2), const Arg2& a2, const Arg3& a3) {
-  return
-    lambda_functor_base<
-      action<3, function_action<3, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2), const Arg2, const Arg3
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2), const Arg2, const Arg3
-      >::type
-      (a1, a2, a3)
-    );
-}
-#endif
-
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
-template <class Arg1, class Arg2, class Arg3>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<3, function_action<3> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3) {
-  return
-    lambda_functor_base<
-      action<3, function_action<3> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3
-      >::type
-      (a1, a2, a3)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<3, function_action<3, Result> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3) {
-  return
-    lambda_functor_base<
-      action<3, function_action<3, Result> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3
-      >::type
-      (a1, a2, a3)
-    );
-}
-
-
- #else 
-template <class Arg1, class Arg2, class Arg3>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<3, function_action<3> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3) {
-  return
-    lambda_functor_base<
-      action<3, function_action<3> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3
-      >::type
-      (a1, a2, a3)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<3, function_action<3, Result> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3) {
-  return
-    lambda_functor_base<
-      action<3, function_action<3, Result> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3
-      >::type
-      (a1, a2, a3)
-    );
-}
-
-template <class Result, class Par1, class Par2, class Arg2, class Arg3>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<3, function_action<3, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(*)(Par1, Par2), const Arg2, const Arg3
-    >::type
-  >
->
-
-bind(Result(* const & a1)(Par1, Par2), const Arg2& a2, const Arg3& a3) {
-  return
-    lambda_functor_base<
-      action<3, function_action<3, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2), const Arg2, const Arg3
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2), const Arg2, const Arg3
-      >::type
-      (a1, a2, a3)
-    );
-}
-
-
- #endif 
-
-// 4-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
-template <class Result, class Par1, class Par2, class Par3, class Arg2,
-          class Arg3, class Arg4>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<4, function_action<4, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(&)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
-    >::type
-  >
->
-
-bind(Result(&a1)(Par1, Par2, Par3), const Arg2& a2, const Arg3& a3,
-     const Arg4& a4) {
-  return
-    lambda_functor_base<
-      action<4, function_action<4, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
-      >::type
-      (a1, a2, a3, a4)
-    );
-}
-#endif
-
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
-template <class Arg1, class Arg2, class Arg3, class Arg4>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<4, function_action<4> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4) {
-  return
-    lambda_functor_base<
-      action<4, function_action<4> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4
-      >::type
-      (a1, a2, a3, a4)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<4, function_action<4, Result> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4) {
-  return
-    lambda_functor_base<
-      action<4, function_action<4, Result> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4
-      >::type
-      (a1, a2, a3, a4)
-    );
-}
-
-
- #else 
-template <class Arg1, class Arg2, class Arg3, class Arg4>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<4, function_action<4> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4) {
-  return
-    lambda_functor_base<
-      action<4, function_action<4> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4
-      >::type
-      (a1, a2, a3, a4)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<4, function_action<4, Result> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4) {
-  return
-    lambda_functor_base<
-      action<4, function_action<4, Result> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4
-      >::type
-      (a1, a2, a3, a4)
-    );
-}
-
-template <class Result, class Par1, class Par2, class Par3, class Arg2,
-          class Arg3, class Arg4>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<4, function_action<4, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(*)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
-    >::type
-  >
->
-
-bind(Result(* const & a1)(Par1, Par2, Par3), const Arg2& a2,
-     const Arg3& a3, const Arg4& a4) {
-  return
-    lambda_functor_base<
-      action<4, function_action<4, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3), const Arg2, const Arg3, const Arg4
-      >::type
-      (a1, a2, a3, a4)
-    );
-}
-
-
- #endif 
-
-// 5-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
-template <class Result, class Par1, class Par2, class Par3, class Par4,
-          class Arg2, class Arg3, class Arg4, class Arg5>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<5, function_action<5, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(&)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
-      const Arg5
-    >::type
-  >
->
-
-bind(Result(&a1)(Par1, Par2, Par3, Par4), const Arg2& a2, const Arg3& a3,
-     const Arg4& a4, const Arg5& a5) {
-  return
-    lambda_functor_base<
-      action<5, function_action<5, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
-        const Arg5
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
-        const Arg5
-      >::type
-      (a1, a2, a3, a4, a5)
-    );
-}
-#endif
-
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<5, function_action<5> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5) {
-  return
-    lambda_functor_base<
-      action<5, function_action<5> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
-      >::type
-      (a1, a2, a3, a4, a5)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
-          class Arg5>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<5, function_action<5, Result> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5) {
-  return
-    lambda_functor_base<
-      action<5, function_action<5, Result> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5
-      >::type
-      (a1, a2, a3, a4, a5)
-    );
-}
-
-
- #else 
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<5, function_action<5> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4, const Arg5
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5) {
-  return
-    lambda_functor_base<
-      action<5, function_action<5> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5
-      >::type
-      (a1, a2, a3, a4, a5)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
-          class Arg5>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<5, function_action<5, Result> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4, const Arg5
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5) {
-  return
-    lambda_functor_base<
-      action<5, function_action<5, Result> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5
-      >::type
-      (a1, a2, a3, a4, a5)
-    );
-}
-
-template <class Result, class Par1, class Par2, class Par3, class Par4,
-          class Arg2, class Arg3, class Arg4, class Arg5>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<5, function_action<5, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(*)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
-      const Arg5
-    >::type
-  >
->
-
-bind(Result(* const & a1)(Par1, Par2, Par3, Par4), const Arg2& a2,
-     const Arg3& a3, const Arg4& a4, const Arg5& a5) {
-  return
-    lambda_functor_base<
-      action<5, function_action<5, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
-        const Arg5
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3, Par4), const Arg2, const Arg3, const Arg4,
-        const Arg5
-      >::type
-      (a1, a2, a3, a4, a5)
-    );
-}
-
-
- #endif 
-
-// 6-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
-template <class Result, class Par1, class Par2, class Par3, class Par4,
-          class Par5, class Arg2, class Arg3, class Arg4, class Arg5,
-          class Arg6>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<6, function_action<6, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(&)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6
-    >::type
-  >
->
-
-bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5), const Arg2& a2,
-     const Arg3& a3, const Arg4& a4, const Arg5& a5, const Arg6& a6) {
-  return
-    lambda_functor_base<
-      action<6, function_action<6, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
-        const Arg4, const Arg5, const Arg6
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
-        const Arg4, const Arg5, const Arg6
-      >::type
-      (a1, a2, a3, a4, a5, a6)
-    );
-}
-#endif
-
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
-          class Arg6>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<6, function_action<6> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6) {
-  return
-    lambda_functor_base<
-      action<6, function_action<6> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
-      >::type
-      (a1, a2, a3, a4, a5, a6)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
-          class Arg5, class Arg6>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<6, function_action<6, Result> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6) {
-  return
-    lambda_functor_base<
-      action<6, function_action<6, Result> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6
-      >::type
-      (a1, a2, a3, a4, a5, a6)
-    );
-}
-
-
- #else 
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
-          class Arg6>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<6, function_action<6> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6) {
-  return
-    lambda_functor_base<
-      action<6, function_action<6> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6
-      >::type
-      (a1, a2, a3, a4, a5, a6)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
-          class Arg5, class Arg6>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<6, function_action<6, Result> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6) {
-  return
-    lambda_functor_base<
-      action<6, function_action<6, Result> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6
-      >::type
-      (a1, a2, a3, a4, a5, a6)
-    );
-}
-
-template <class Result, class Par1, class Par2, class Par3, class Par4,
-          class Par5, class Arg2, class Arg3, class Arg4, class Arg5,
-          class Arg6>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<6, function_action<6, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(*)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6
-    >::type
-  >
->
-
-bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5), const Arg2& a2,
-     const Arg3& a3, const Arg4& a4, const Arg5& a5, const Arg6& a6) {
-  return
-    lambda_functor_base<
-      action<6, function_action<6, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
-        const Arg4, const Arg5, const Arg6
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3, Par4, Par5), const Arg2, const Arg3,
-        const Arg4, const Arg5, const Arg6
-      >::type
-      (a1, a2, a3, a4, a5, a6)
-    );
-}
-
-
- #endif 
-
-// 7-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
-template <class Result, class Par1, class Par2, class Par3, class Par4,
-          class Par5, class Par6, class Arg2, class Arg3, class Arg4,
-          class Arg5, class Arg6, class Arg7>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<7, function_action<7, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(&)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6, const Arg7
-    >::type
-  >
->
-
-bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2& a2,
-     const Arg3& a3, const Arg4& a4, const Arg5& a5, const Arg6& a6,
-     const Arg7& a7) {
-  return
-    lambda_functor_base<
-      action<7, function_action<7, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
-        const Arg4, const Arg5, const Arg6, const Arg7
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
-        const Arg4, const Arg5, const Arg6, const Arg7
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7)
-    );
-}
-#endif
-
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
-          class Arg6, class Arg7>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<7, function_action<7> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
-      const Arg7
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7) {
-  return
-    lambda_functor_base<
-      action<7, function_action<7> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
-          class Arg5, class Arg6, class Arg7>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<7, function_action<7, Result> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
-      const Arg7
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7) {
-  return
-    lambda_functor_base<
-      action<7, function_action<7, Result> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7)
-    );
-}
-
-
- #else 
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
-          class Arg6, class Arg7>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<7, function_action<7> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6, const Arg7
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7) {
-  return
-    lambda_functor_base<
-      action<7, function_action<7> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
-          class Arg5, class Arg6, class Arg7>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<7, function_action<7, Result> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6, const Arg7
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7) {
-  return
-    lambda_functor_base<
-      action<7, function_action<7, Result> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7)
-    );
-}
-
-template <class Result, class Par1, class Par2, class Par3, class Par4,
-          class Par5, class Par6, class Arg2, class Arg3, class Arg4,
-          class Arg5, class Arg6, class Arg7>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<7, function_action<7, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(*)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6, const Arg7
-    >::type
-  >
->
-
-bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5, Par6),
-     const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
-     const Arg6& a6, const Arg7& a7) {
-  return
-    lambda_functor_base<
-      action<7, function_action<7, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
-        const Arg4, const Arg5, const Arg6, const Arg7
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3, Par4, Par5, Par6), const Arg2, const Arg3,
-        const Arg4, const Arg5, const Arg6, const Arg7
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7)
-    );
-}
-
-
- #endif 
-
-// 8-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
-template <class Result, class Par1, class Par2, class Par3, class Par4,
-          class Par5, class Par6, class Par7, class Arg2, class Arg3,
-          class Arg4, class Arg5, class Arg6, class Arg7, class Arg8>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<8, function_action<8, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
-      const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
-    >::type
-  >
->
-
-bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2& a2,
-     const Arg3& a3, const Arg4& a4, const Arg5& a5, const Arg6& a6,
-     const Arg7& a7, const Arg8& a8) {
-  return
-    lambda_functor_base<
-      action<8, function_action<8, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8)
-    );
-}
-#endif
-
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
-          class Arg6, class Arg7, class Arg8>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<8, function_action<8> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
-      const Arg7, const Arg8
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8) {
-  return
-    lambda_functor_base<
-      action<8, function_action<8> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7, const Arg8
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7, const Arg8
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
-          class Arg5, class Arg6, class Arg7, class Arg8>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<8, function_action<8, Result> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
-      const Arg7, const Arg8
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8) {
-  return
-    lambda_functor_base<
-      action<8, function_action<8, Result> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7, const Arg8
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7, const Arg8
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8)
-    );
-}
-
-
- #else 
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
-          class Arg6, class Arg7, class Arg8>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<8, function_action<8> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8) {
-  return
-    lambda_functor_base<
-      action<8, function_action<8> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
-          class Arg5, class Arg6, class Arg7, class Arg8>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<8, function_action<8, Result> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8) {
-  return
-    lambda_functor_base<
-      action<8, function_action<8, Result> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8)
-    );
-}
-
-template <class Result, class Par1, class Par2, class Par3, class Par4,
-          class Par5, class Par6, class Par7, class Arg2, class Arg3,
-          class Arg4, class Arg5, class Arg6, class Arg7, class Arg8>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<8, function_action<8, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
-      const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
-    >::type
-  >
->
-
-bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7),
-     const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
-     const Arg6& a6, const Arg7& a7, const Arg8& a8) {
-  return
-    lambda_functor_base<
-      action<8, function_action<8, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7), const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8)
-    );
-}
-
-
- #endif 
-
-// 9-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
-template <class Result, class Par1, class Par2, class Par3, class Par4,
-          class Par5, class Par6, class Par7, class Par8, class Arg2,
-          class Arg3, class Arg4, class Arg5, class Arg6, class Arg7,
-          class Arg8, class Arg9>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<9, function_action<9, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
-      const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8,
-      const Arg9
-    >::type
-  >
->
-
-bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8),
-     const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
-     const Arg6& a6, const Arg7& a7, const Arg8& a8, const Arg9& a9) {
-  return
-    lambda_functor_base<
-      action<9, function_action<9, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-        const Arg8, const Arg9
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-        const Arg8, const Arg9
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8, a9)
-    );
-}
-#endif
-
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
-          class Arg6, class Arg7, class Arg8, class Arg9>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<9, function_action<9> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
-      const Arg7, const Arg8, const Arg9
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
-     const Arg9& a9) {
-  return
-    lambda_functor_base<
-      action<9, function_action<9> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7, const Arg8, const Arg9
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7, const Arg8, const Arg9
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8, a9)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
-          class Arg5, class Arg6, class Arg7, class Arg8, class Arg9>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<9, function_action<9, Result> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
-      const Arg7, const Arg8, const Arg9
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
-     const Arg9& a9) {
-  return
-    lambda_functor_base<
-      action<9, function_action<9, Result> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7, const Arg8, const Arg9
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7, const Arg8, const Arg9
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8, a9)
-    );
-}
-
-
- #else 
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
-          class Arg6, class Arg7, class Arg8, class Arg9>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<9, function_action<9> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6, const Arg7, const Arg8, const Arg9
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
-     const Arg9& a9) {
-  return
-    lambda_functor_base<
-      action<9, function_action<9> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-        const Arg8, const Arg9
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-        const Arg8, const Arg9
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8, a9)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
-          class Arg5, class Arg6, class Arg7, class Arg8, class Arg9>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<9, function_action<9, Result> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6, const Arg7, const Arg8, const Arg9
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
-     const Arg9& a9) {
-  return
-    lambda_functor_base<
-      action<9, function_action<9, Result> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-        const Arg8, const Arg9
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-        const Arg8, const Arg9
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8, a9)
-    );
-}
-
-template <class Result, class Par1, class Par2, class Par3, class Par4,
-          class Par5, class Par6, class Par7, class Par8, class Arg2,
-          class Arg3, class Arg4, class Arg5, class Arg6, class Arg7,
-          class Arg8, class Arg9>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<9, function_action<9, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
-      const Arg3, const Arg4, const Arg5, const Arg6, const Arg7, const Arg8,
-      const Arg9
-    >::type
-  >
->
-
-bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8),
-     const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
-     const Arg6& a6, const Arg7& a7, const Arg8& a8, const Arg9& a9) {
-  return
-    lambda_functor_base<
-      action<9, function_action<9, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-        const Arg8, const Arg9
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8), const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-        const Arg8, const Arg9
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8, a9)
-    );
-}
-
-
- #endif 
-
-// 10-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
-template <class Result, class Par1, class Par2, class Par3, class Par4,
-          class Par5, class Par6, class Par7, class Par8, class Par9,
-          class Arg2, class Arg3, class Arg4, class Arg5, class Arg6,
-          class Arg7, class Arg8, class Arg9, class Arg10>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<10, function_action<10, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
-      const Arg2, const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-      const Arg8, const Arg9, const Arg10
-    >::type
-  >
->
-
-bind(Result(&a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
-     const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
-     const Arg6& a6, const Arg7& a7, const Arg8& a8, const Arg9& a9,
-     const Arg10& a10) {
-  return
-    lambda_functor_base<
-      action<10, function_action<10, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
-        const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
-        const Arg7, const Arg8, const Arg9, const Arg10
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(&)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
-        const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
-        const Arg7, const Arg8, const Arg9, const Arg10
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
-    );
-}
-#endif
-
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
-          class Arg6, class Arg7, class Arg8, class Arg9, class Arg10>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<10, function_action<10> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
-      const Arg7, const Arg8, const Arg9, const Arg10
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
-     const Arg9& a9, const Arg10& a10) {
-  return
-    lambda_functor_base<
-      action<10, function_action<10> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7, const Arg8, const Arg9, const Arg10
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7, const Arg8, const Arg9, const Arg10
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
-          class Arg5, class Arg6, class Arg7, class Arg8, class Arg9,
-          class Arg10>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<10, function_action<10, Result> >,
-    typename detail::bind_tuple_mapper<
-      const Arg1, const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
-      const Arg7, const Arg8, const Arg9, const Arg10
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
-     const Arg9& a9, const Arg10& a10) {
-  return
-    lambda_functor_base<
-      action<10, function_action<10, Result> >,
-      typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7, const Arg8, const Arg9, const Arg10
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        const Arg1, const Arg2, const Arg3, const Arg4, const Arg5,
-        const Arg6, const Arg7, const Arg8, const Arg9, const Arg10
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
-    );
-}
-
-
- #else 
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
-          class Arg6, class Arg7, class Arg8, class Arg9, class Arg10>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<10, function_action<10> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6, const Arg7, const Arg8, const Arg9,
-      const Arg10
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
-     const Arg9& a9, const Arg10& a10) {
-  return
-    lambda_functor_base<
-      action<10, function_action<10> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-        const Arg8, const Arg9, const Arg10
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-        const Arg8, const Arg9, const Arg10
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
-    );
-}
-
-template <class Result, class Arg1, class Arg2, class Arg3, class Arg4,
-          class Arg5, class Arg6, class Arg7, class Arg8, class Arg9,
-          class Arg10>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<10, function_action<10, Result> >,
-    typename detail::bind_tuple_mapper<
-      typename detail::constify_non_funcs<Arg1>::type, const Arg2, const Arg3,
-      const Arg4, const Arg5, const Arg6, const Arg7, const Arg8, const Arg9,
-      const Arg10
-    >::type
-  >
->
-
-bind(const Arg1& a1, const Arg2& a2, const Arg3& a3, const Arg4& a4,
-     const Arg5& a5, const Arg6& a6, const Arg7& a7, const Arg8& a8,
-     const Arg9& a9, const Arg10& a10) {
-  return
-    lambda_functor_base<
-      action<10, function_action<10, Result> >,
-      typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-        const Arg8, const Arg9, const Arg10
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        typename detail::constify_non_funcs<Arg1>::type, const Arg2,
-        const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-        const Arg8, const Arg9, const Arg10
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
-    );
-}
-
-template <class Result, class Par1, class Par2, class Par3, class Par4,
-          class Par5, class Par6, class Par7, class Par8, class Par9,
-          class Arg2, class Arg3, class Arg4, class Arg5, class Arg6,
-          class Arg7, class Arg8, class Arg9, class Arg10>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<10, function_action<10, Result> >,
-    typename detail::bind_tuple_mapper<
-      Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
-      const Arg2, const Arg3, const Arg4, const Arg5, const Arg6, const Arg7,
-      const Arg8, const Arg9, const Arg10
-    >::type
-  >
->
-
-bind(Result(* const & a1)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8,
-     Par9), const Arg2& a2, const Arg3& a3, const Arg4& a4, const Arg5& a5,
-     const Arg6& a6, const Arg7& a7, const Arg8& a8, const Arg9& a9,
-     const Arg10& a10) {
-  return
-    lambda_functor_base<
-      action<10, function_action<10, Result> >,
-      typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
-        const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
-        const Arg7, const Arg8, const Arg9, const Arg10
-      >::type
-    >
-    ( typename detail::bind_tuple_mapper<
-        Result(*)(Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9),
-        const Arg2, const Arg3, const Arg4, const Arg5, const Arg6,
-        const Arg7, const Arg8, const Arg9, const Arg10
-      >::type
-      (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
-    );
-}
-
-
- #endif 
-
-} // namespace lambda 
-} // namespace boost
-
-#endif
diff --git a/SRC/Boost/boost/lambda/detail/function_adaptors.hpp b/SRC/Boost/boost/lambda/detail/function_adaptors.hpp
deleted file mode 100755
index f648ec2..0000000
--- a/SRC/Boost/boost/lambda/detail/function_adaptors.hpp
+++ /dev/null
@@ -1,789 +0,0 @@
-// Boost Lambda Library -  function_adaptors.hpp ----------------------------
- 
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-
-
-#ifndef BOOST_LAMBDA_FUNCTION_ADAPTORS_HPP
-#define BOOST_LAMBDA_FUNCTION_ADAPTORS_HPP
-
-#include "boost/mpl/has_xxx.hpp"
-#include "boost/tuple/tuple.hpp"
-#include "boost/type_traits/same_traits.hpp"
-#include "boost/type_traits/remove_reference.hpp"
-#include "boost/type_traits/remove_cv.hpp"
-#include "boost/type_traits/add_const.hpp"
-#include "boost/type_traits/add_volatile.hpp"
-#include "boost/utility/result_of.hpp"
-
-namespace boost { 
-namespace lambda {
-
-namespace detail {
-
-BOOST_MPL_HAS_XXX_TEMPLATE_DEF(sig)
-
-template<class Tuple>
-struct remove_references_from_elements {
-  typedef typename boost::tuples::cons<
-    typename boost::remove_reference<typename Tuple::head_type>::type,
-    typename remove_references_from_elements<typename Tuple::tail_type>::type
-  > type;
-};
-
-template<>
-struct remove_references_from_elements<boost::tuples::null_type> {
-  typedef boost::tuples::null_type type;
-};
-
-}
-
-template <class Func> struct function_adaptor {
-
-  typedef typename detail::remove_reference_and_cv<Func>::type plainF;
-
-#if !defined(BOOST_NO_RESULT_OF)
-  // Support functors that use the boost::result_of return type convention.
-  template<class Tuple, int Length, bool HasSig>
-  struct result_converter;
-  template<class Tuple, int Length>
-  struct result_converter<Tuple, Length, true>
-    : plainF::template sig<
-        typename detail::remove_references_from_elements<Tuple>::type
-      >
-  {};
-  template<class Tuple>
-  struct result_converter<Tuple, 0, false>
-    : result_of<plainF()>
-  {};
-  template<class Tuple>
-  struct result_converter<Tuple, 1, false>
-    : result_of<plainF(
-        typename tuples::element<1, Tuple>::type)
-      >
-  {};
-  template<class Tuple>
-  struct result_converter<Tuple, 2, false>
-    : result_of<plainF(
-        typename tuples::element<1, Tuple>::type,
-        typename tuples::element<2, Tuple>::type)
-      >
-  {};
-  template<class Tuple>
-  struct result_converter<Tuple, 3, false>
-    : result_of<plainF(
-        typename tuples::element<1, Tuple>::type,
-        typename tuples::element<2, Tuple>::type,
-        typename tuples::element<3, Tuple>::type)
-      >
-  {};
-  template<class Tuple>
-  struct result_converter<Tuple, 4, false>
-    : result_of<plainF(
-        typename tuples::element<1, Tuple>::type,
-        typename tuples::element<2, Tuple>::type,
-        typename tuples::element<3, Tuple>::type,
-        typename tuples::element<4, Tuple>::type)
-      >
-  {};
-  template<class Tuple>
-  struct result_converter<Tuple, 5, false>
-    : result_of<plainF(
-        typename tuples::element<1, Tuple>::type,
-        typename tuples::element<2, Tuple>::type,
-        typename tuples::element<3, Tuple>::type,
-        typename tuples::element<4, Tuple>::type,
-        typename tuples::element<5, Tuple>::type)
-      >
-  {};
-  template<class Tuple>
-  struct result_converter<Tuple, 6, false>
-    : result_of<plainF(
-        typename tuples::element<1, Tuple>::type,
-        typename tuples::element<2, Tuple>::type,
-        typename tuples::element<3, Tuple>::type,
-        typename tuples::element<4, Tuple>::type,
-        typename tuples::element<5, Tuple>::type,
-        typename tuples::element<6, Tuple>::type)
-      >
-  {};
-  template<class Tuple>
-  struct result_converter<Tuple, 7, false>
-    : result_of<plainF(
-        typename tuples::element<1, Tuple>::type,
-        typename tuples::element<2, Tuple>::type,
-        typename tuples::element<3, Tuple>::type,
-        typename tuples::element<4, Tuple>::type,
-        typename tuples::element<5, Tuple>::type,
-        typename tuples::element<6, Tuple>::type,
-        typename tuples::element<7, Tuple>::type)
-      >
-  {};
-  template<class Tuple>
-  struct result_converter<Tuple, 8, false>
-    : result_of<plainF(
-        typename tuples::element<1, Tuple>::type,
-        typename tuples::element<2, Tuple>::type,
-        typename tuples::element<3, Tuple>::type,
-        typename tuples::element<4, Tuple>::type,
-        typename tuples::element<5, Tuple>::type,
-        typename tuples::element<6, Tuple>::type,
-        typename tuples::element<7, Tuple>::type,
-        typename tuples::element<8, Tuple>::type)
-      >
-  {};
-  template<class Tuple>
-  struct result_converter<Tuple, 9, false>
-    : result_of<plainF(
-        typename tuples::element<1, Tuple>::type,
-        typename tuples::element<2, Tuple>::type,
-        typename tuples::element<3, Tuple>::type,
-        typename tuples::element<4, Tuple>::type,
-        typename tuples::element<5, Tuple>::type,
-        typename tuples::element<6, Tuple>::type,
-        typename tuples::element<7, Tuple>::type,
-        typename tuples::element<8, Tuple>::type,
-        typename tuples::element<9, Tuple>::type)
-      >
-  {};
-
-  // we do not know the return type off-hand, we must ask it from Func
-  // To sig we pass a cons list, where the head is the function object type
-  // itself (potentially cv-qualified)
-  // and the tail contains the types of the actual arguments to be passed
-  // to the function object. The arguments can be cv qualified
-  // as well.
-  template <class Args>
-  struct sig
-    : result_converter<
-        Args
-      , tuples::length<typename Args::tail_type>::value
-      , detail::has_sig<plainF>::value
-      >
-  {};
-#else // BOOST_NO_RESULT_OF
-
-  template <class Args> class sig {
-    typedef typename detail::remove_reference_and_cv<Func>::type plainF;
-  public:
-    typedef typename plainF::template sig<
-      typename detail::remove_references_from_elements<Args>::type
-    >::type type;
-  };
-#endif
-
-  template<class RET, class A1>
-  static RET apply(A1& a1) {
-    return a1();
-  }
-  template<class RET, class A1, class A2>
-  static RET apply(A1& a1, A2& a2) {
-    return a1(a2);
-  }
-  template<class RET, class A1, class A2, class A3>
-  static RET apply(A1& a1, A2& a2, A3& a3) {
-    return a1(a2, a3);
-  }
-  template<class RET, class A1, class A2, class A3, class A4>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4) {
-    return a1(a2, a3, a4);
-  }
-  template<class RET, class A1, class A2, class A3, class A4, class A5>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5) {
-    return a1(a2, a3, a4, a5);
-  }
-  template<class RET, class A1, class A2, class A3, class A4, class A5, class A6>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6) {
-    return a1(a2, a3, a4, a5, a6);
-  }
-  template<class RET, class A1, class A2, class A3, class A4, class A5, class A6, 
-           class A7>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, 
-                           A7& a7) {
-    return a1(a2, a3, a4, a5, a6, a7);
-  }
-  template<class RET, class A1, class A2, class A3, class A4, class A5, class A6, 
-           class A7, class A8>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, 
-                           A7& a7, A8& a8) {
-    return a1(a2, a3, a4, a5, a6, a7, a8);
-  }
-  template<class RET, class A1, class A2, class A3, class A4, class A5, class A6, 
-           class A7, class A8, class A9>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, 
-                           A7& a7, A8& a8, A9& a9) {
-    return a1(a2, a3, a4, a5, a6, a7, a8, a9);
-  }
-  template<class RET, class A1, class A2, class A3, class A4, class A5, class A6, 
-           class A7, class A8, class A9, class A10>
-  static RET apply(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, 
-                           A7& a7, A8& a8, A9& a9, A10& a10) {
-    return a1(a2, a3, a4, a5, a6, a7, a8, a9, a10);
-  }
-};
-
-template <class Func> struct function_adaptor<const Func>; // error 
-
-// -- function adaptors with data member access
-template <class Object, class T>
-struct function_adaptor<T Object::*> {
-
-  //  typedef detail::unspecified type;
-
-  // T can have qualifiers and can be a reference type
-  // We get the return type by adding const, if the object through which
-  // the data member is accessed is const, and finally adding a reference
-  template<class Args> class sig { 
-    typedef typename boost::tuples::element<1, Args>::type argument_type;
-    typedef typename boost::remove_reference<
-      argument_type
-    >::type unref_type;
-
-    typedef typename detail::IF<boost::is_const<unref_type>::value,
-      typename boost::add_const<T>::type,
-      T
-    >::RET properly_consted_return_type;
-
-    typedef typename detail::IF<boost::is_volatile<unref_type>::value,
-      typename boost::add_volatile<properly_consted_return_type>::type,
-      properly_consted_return_type
-    >::RET properly_cvd_return_type;
-
-
-  public:
-    typedef typename detail::IF<boost::is_reference<argument_type>::value,
-      typename boost::add_reference<properly_cvd_return_type>::type,
-      typename boost::remove_cv<T>::type
-    >::RET type;
-  };
-
-  template <class RET>
-  static RET apply( T Object::*data, Object& o) {
-    return o.*data;
-  }
-  template <class RET>
-  static RET apply( T Object::*data, const Object& o) {
-    return o.*data;
-  }
-  template <class RET>
-  static RET apply( T Object::*data, volatile Object& o) {
-    return o.*data;
-  }
-  template <class RET>
-  static RET apply( T Object::*data, const volatile Object& o) {
-    return o.*data;
-  }
-  template <class RET>
-  static RET apply( T Object::*data, Object* o) {
-    return o->*data;
-  }
-  template <class RET>
-  static RET apply( T Object::*data, const Object* o) {
-    return o->*data;
-  }
-  template <class RET>
-  static RET apply( T Object::*data, volatile Object* o) {
-    return o->*data;
-  }
-  template <class RET>
-  static RET apply( T Object::*data, const volatile Object* o) {
-    return o->*data;
-  }
-};
-
-// -- function adaptors with 1 argument apply
-   
-template <class Result>
-struct function_adaptor<Result (void)> {
-  
-  template<class T> struct sig { typedef Result type; };
-  template <class RET>
-  static Result apply(Result (*func)()) {
-    return func();
-  }
-};
-
-template <class Result>
-struct function_adaptor<Result (*)(void)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET>
-  static Result apply(Result (*func)()) {
-    return func();
-  }
-};
-
-
-// -- function adaptors with 2 argument apply
-template <class Object, class Result>
-struct function_adaptor<Result (Object::*)() const> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET>
-  static Result apply( Result (Object::*func)() const, const Object* o) {
-    return (o->*func)();
-  }
-  template <class RET>
-  static Result apply( Result (Object::*func)() const, const Object& o) {
-    return (o.*func)();
-  }
-};
-
-template <class Object, class Result>
-struct function_adaptor<Result (Object::*)()> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET>
-  static Result apply( Result (Object::*func)(), Object* o) {
-    return (o->*func)();
-  }
-  template <class RET>
-  static Result apply( Result (Object::*func)(), Object& o) {
-    return (o.*func)();
-  }
-};
-
-template <class Arg1, class Result>
-struct function_adaptor<Result (Arg1)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1>
-  static Result apply(Result (*func)(Arg1), A1& a1) {
-    return func(a1);
-  }
-};
-
-template <class Arg1, class Result>
-struct function_adaptor<Result (*)(Arg1)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1>
-  static Result apply(Result (*func)(Arg1), A1& a1) {
-    return func(a1);
-  }
-};
-
-
-// -- function adaptors with 3 argument apply
-template <class Object, class Arg1, class Result>
-struct function_adaptor<Result (Object::*)(Arg1) const> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1>
-  static Result apply( Result (Object::*func)(Arg1) const, const Object* o, 
-    A1& a1) {
-    return (o->*func)(a1);
-  }
-  template <class RET, class A1>
-  static Result apply( Result (Object::*func)(Arg1) const, const Object& o, 
-    A1& a1) {
-    return (o.*func)(a1);
-  }
-};
-
-template <class Object, class Arg1, class Result>
-struct function_adaptor<Result (Object::*)(Arg1)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1>
-  static Result apply( Result (Object::*func)(Arg1), Object* o, A1& a1) {
-    return (o->*func)(a1);
-  }
-  template <class RET, class A1>
-  static Result apply( Result (Object::*func)(Arg1), Object& o, A1& a1) {
-    return (o.*func)(a1);
-  }
-};
-
-template <class Arg1, class Arg2, class Result>
-struct function_adaptor<Result (Arg1, Arg2)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2>
-  static Result apply(Result (*func)(Arg1, Arg2), A1& a1, A2& a2) {
-    return func(a1, a2);
-  }
-};
-
-template <class Arg1, class Arg2, class Result>
-struct function_adaptor<Result (*)(Arg1, Arg2)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2>
-  static Result apply(Result (*func)(Arg1, Arg2), A1& a1, A2& a2) {
-    return func(a1, a2);
-  }
-};
-
-
-// -- function adaptors with 4 argument apply
-template <class Object, class Arg1, class Arg2, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2) const> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2>
-  static Result apply( Result (Object::*func)(Arg1, Arg2) const, const Object* o, A1& a1, A2& a2) {
-    return (o->*func)(a1, a2);
-  }
-  template <class RET, class A1, class A2>
-  static Result apply( Result (Object::*func)(Arg1, Arg2) const, const Object& o, A1& a1, A2& a2) {
-    return (o.*func)(a1, a2);
-  }
-};
-
-template <class Object, class Arg1, class Arg2, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2>
-  static Result apply( Result (Object::*func)(Arg1, Arg2), Object* o, A1& a1, A2& a2) {
-    return (o->*func)(a1, a2);
-  }
-  template <class RET, class A1, class A2>
-  static Result apply( Result (Object::*func)(Arg1, Arg2), Object& o, A1& a1, A2& a2) {
-    return (o.*func)(a1, a2);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Result>
-struct function_adaptor<Result (Arg1, Arg2, Arg3)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3), A1& a1, A2& a2, A3& a3) {
-    return func(a1, a2, a3);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Result>
-struct function_adaptor<Result (*)(Arg1, Arg2, Arg3)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3), A1& a1, A2& a2, A3& a3) {
-    return func(a1, a2, a3);
-  }
-};
-
-
-// -- function adaptors with 5 argument apply
-template <class Object, class Arg1, class Arg2, class Arg3, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2, Arg3) const> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3) const, const Object* o, A1& a1, A2& a2, A3& a3) {
-    return (o->*func)(a1, a2, a3);
-  }
-  template <class RET, class A1, class A2, class A3>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3) const, const Object& o, A1& a1, A2& a2, A3& a3) {
-    return (o.*func)(a1, a2, a3);
-  }
-};
-
-template <class Object, class Arg1, class Arg2, class Arg3, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2, Arg3)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3), Object* o, A1& a1, A2& a2, A3& a3) {
-    return (o->*func)(a1, a2, a3);
-  }
-  template <class RET, class A1, class A2, class A3>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3), Object& o, A1& a1, A2& a2, A3& a3) {
-    return (o.*func)(a1, a2, a3);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Result>
-struct function_adaptor<Result (Arg1, Arg2, Arg3, Arg4)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3, Arg4), A1& a1, A2& a2, A3& a3, A4& a4) {
-    return func(a1, a2, a3, a4);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Result>
-struct function_adaptor<Result (*)(Arg1, Arg2, Arg3, Arg4)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3, Arg4), A1& a1, A2& a2, A3& a3, A4& a4) {
-    return func(a1, a2, a3, a4);
-  }
-};
-
-
-// -- function adaptors with 6 argument apply
-template <class Object, class Arg1, class Arg2, class Arg3, class Arg4, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2, Arg3, Arg4) const> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4) const, const Object* o, A1& a1, A2& a2, A3& a3, A4& a4) {
-    return (o->*func)(a1, a2, a3, a4);
-  }
-  template <class RET, class A1, class A2, class A3, class A4>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4) const, const Object& o, A1& a1, A2& a2, A3& a3, A4& a4) {
-    return (o.*func)(a1, a2, a3, a4);
-  }
-};
-
-template <class Object, class Arg1, class Arg2, class Arg3, class Arg4, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2, Arg3, Arg4)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4), Object* o, A1& a1, A2& a2, A3& a3, A4& a4) {
-    return (o->*func)(a1, a2, a3, a4);
-  }
-  template <class RET, class A1, class A2, class A3, class A4>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4), Object& o, A1& a1, A2& a2, A3& a3, A4& a4) {
-    return (o.*func)(a1, a2, a3, a4);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Result>
-struct function_adaptor<Result (Arg1, Arg2, Arg3, Arg4, Arg5)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3, Arg4, Arg5), A1& a1, A2& a2, A3& a3, A4& a4, A5& a5) {
-    return func(a1, a2, a3, a4, a5);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Result>
-struct function_adaptor<Result (*)(Arg1, Arg2, Arg3, Arg4, Arg5)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3, Arg4, Arg5), A1& a1, A2& a2, A3& a3, A4& a4, A5& a5) {
-    return func(a1, a2, a3, a4, a5);
-  }
-};
-
-
-// -- function adaptors with 7 argument apply
-template <class Object, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2, Arg3, Arg4, Arg5) const> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5) const, const Object* o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5) {
-    return (o->*func)(a1, a2, a3, a4, a5);
-  }
-  template <class RET, class A1, class A2, class A3, class A4, class A5>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5) const, const Object& o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5) {
-    return (o.*func)(a1, a2, a3, a4, a5);
-  }
-};
-
-template <class Object, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2, Arg3, Arg4, Arg5)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5), Object* o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5) {
-    return (o->*func)(a1, a2, a3, a4, a5);
-  }
-  template <class RET, class A1, class A2, class A3, class A4, class A5>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5), Object& o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5) {
-    return (o.*func)(a1, a2, a3, a4, a5);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Result>
-struct function_adaptor<Result (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6), A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6) {
-    return func(a1, a2, a3, a4, a5, a6);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Result>
-struct function_adaptor<Result (*)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6), A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6) {
-    return func(a1, a2, a3, a4, a5, a6);
-  }
-};
-
-
-// -- function adaptors with 8 argument apply
-template <class Object, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) const> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) const, const Object* o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6) {
-    return (o->*func)(a1, a2, a3, a4, a5, a6);
-  }
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) const, const Object& o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6) {
-    return (o.*func)(a1, a2, a3, a4, a5, a6);
-  }
-};
-
-template <class Object, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6), Object* o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6) {
-    return (o->*func)(a1, a2, a3, a4, a5, a6);
-  }
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6), Object& o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6) {
-    return (o.*func)(a1, a2, a3, a4, a5, a6);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Result>
-struct function_adaptor<Result (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7), A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7) {
-    return func(a1, a2, a3, a4, a5, a6, a7);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Result>
-struct function_adaptor<Result (*)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7), A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7) {
-    return func(a1, a2, a3, a4, a5, a6, a7);
-  }
-};
-
-
-// -- function adaptors with 9 argument apply
-template <class Object, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) const> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) const, const Object* o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7) {
-    return (o->*func)(a1, a2, a3, a4, a5, a6, a7);
-  }
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) const, const Object& o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7) {
-    return (o.*func)(a1, a2, a3, a4, a5, a6, a7);
-  }
-};
-
-template <class Object, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7), Object* o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7) {
-    return (o->*func)(a1, a2, a3, a4, a5, a6, a7);
-  }
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7), Object& o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7) {
-    return (o.*func)(a1, a2, a3, a4, a5, a6, a7);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8, class Result>
-struct function_adaptor<Result (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8), A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8) {
-    return func(a1, a2, a3, a4, a5, a6, a7, a8);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8, class Result>
-struct function_adaptor<Result (*)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8), A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8) {
-    return func(a1, a2, a3, a4, a5, a6, a7, a8);
-  }
-};
-
-
-// -- function adaptors with 10 argument apply
-template <class Object, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8) const> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8) const, const Object* o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8) {
-    return (o->*func)(a1, a2, a3, a4, a5, a6, a7, a8);
-  }
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8) const, const Object& o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8) {
-    return (o.*func)(a1, a2, a3, a4, a5, a6, a7, a8);
-  }
-};
-
-template <class Object, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8, class Result>
-struct function_adaptor<Result (Object::*)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8), Object* o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8) {
-    return (o->*func)(a1, a2, a3, a4, a5, a6, a7, a8);
-  }
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-  static Result apply( Result (Object::*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8), Object& o, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8) {
-    return (o.*func)(a1, a2, a3, a4, a5, a6, a7, a8);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8, class Arg9, class Result>
-struct function_adaptor<Result (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9), A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9) {
-    return func(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-  }
-};
-
-template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8, class Arg9, class Result>
-struct function_adaptor<Result (*)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9)> {
-
-  template<class T> struct sig { typedef Result type; };
-  template <class RET, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-  static Result apply(Result (*func)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9), A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9) {
-    return func(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-  }
-};
-
-} // namespace lambda
-} // namespace boost
-
-#endif
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/lambda/detail/is_instance_of.hpp b/SRC/Boost/boost/lambda/detail/is_instance_of.hpp
deleted file mode 100755
index 2afa7c3..0000000
--- a/SRC/Boost/boost/lambda/detail/is_instance_of.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-// Boost Lambda Library - is_instance_of.hpp ---------------------
-
-// Copyright (C) 2001 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-
-// ---------------------------------------------------------------
-
-#ifndef BOOST_LAMBDA_IS_INSTANCE_OF
-#define BOOST_LAMBDA_IS_INSTANCE_OF
-
-#include "boost/config.hpp" // for BOOST_STATIC_CONSTANT
-#include "boost/type_traits/conversion_traits.hpp" // for is_convertible
-#include "boost/preprocessor/enum_shifted_params.hpp"
-#include "boost/preprocessor/repeat_2nd.hpp"
-
-// is_instance_of --------------------------------
-// 
-// is_instance_of_n<A, B>::value is true, if type A is 
-// an instantiation of a template B, or A derives from an instantiation 
-// of template B
-//
-// n is the number of template arguments for B
-// 
-// Example:
-// is_instance_of_2<std::istream, basic_stream>::value == true
-
-// The original implementation was somewhat different, with different versions
-// for different compilers. However, there was still a problem
-// with gcc.3.0.2 and 3.0.3 compilers, which didn't think regard
-// is_instance_of_N<...>::value was a constant.
-// John Maddock suggested the way around this problem by building 
-// is_instance_of templates using boost::is_convertible.
-// Now we only have one version of is_instance_of templates, which delagate
-// all the nasty compiler tricks to is_convertible. 
-
-#define BOOST_LAMBDA_CLASS(z, N,A) BOOST_PP_COMMA_IF(N) class
-#define BOOST_LAMBDA_CLASS_ARG(z, N,A) BOOST_PP_COMMA_IF(N) class A##N 
-#define BOOST_LAMBDA_ARG(z, N,A) BOOST_PP_COMMA_IF(N) A##N 
-
-#define BOOST_LAMBDA_CLASS_LIST(n, NAME) BOOST_PP_REPEAT(n, BOOST_LAMBDA_CLASS, NAME)
-
-#define BOOST_LAMBDA_CLASS_ARG_LIST(n, NAME) BOOST_PP_REPEAT(n, BOOST_LAMBDA_CLASS_ARG, NAME)
-
-#define BOOST_LAMBDA_ARG_LIST(n, NAME) BOOST_PP_REPEAT(n, BOOST_LAMBDA_ARG, NAME)
-
-namespace boost {
-namespace lambda {
-
-#define BOOST_LAMBDA_IS_INSTANCE_OF_TEMPLATE(INDEX)                         \
-                                                                            \
-namespace detail {                                                          \
-                                                                            \
-template <template<BOOST_LAMBDA_CLASS_LIST(INDEX,T)> class F>               \
-struct BOOST_PP_CAT(conversion_tester_,INDEX) {                             \
-  template<BOOST_LAMBDA_CLASS_ARG_LIST(INDEX,A)>                            \
-  BOOST_PP_CAT(conversion_tester_,INDEX)                                    \
-    (const F<BOOST_LAMBDA_ARG_LIST(INDEX,A)>&);                             \
-};                                                                          \
-                                                                            \
-} /* end detail */                                                          \
-                                                                            \
-template <class From, template <BOOST_LAMBDA_CLASS_LIST(INDEX,T)> class To> \
-struct BOOST_PP_CAT(is_instance_of_,INDEX)                                  \
-{                                                                           \
- private:                                                                   \
-   typedef ::boost::is_convertible<                                         \
-     From,                                                                  \
-     BOOST_PP_CAT(detail::conversion_tester_,INDEX)<To>                     \
-   > helper_type;                                                           \
-                                                                            \
-public:                                                                     \
-  BOOST_STATIC_CONSTANT(bool, value = helper_type::value);                  \
-};
-
-
-#define BOOST_LAMBDA_HELPER(z, N, A) BOOST_LAMBDA_IS_INSTANCE_OF_TEMPLATE( BOOST_PP_INC(N) )
-
-// Generate the traits for 1-4 argument templates
-
-BOOST_PP_REPEAT_2ND(4,BOOST_LAMBDA_HELPER,FOO)
-
-#undef BOOST_LAMBDA_HELPER
-#undef BOOST_LAMBDA_IS_INSTANCE_OF_TEMPLATE
-#undef BOOST_LAMBDA_CLASS
-#undef BOOST_LAMBDA_ARG
-#undef BOOST_LAMBDA_CLASS_ARG
-#undef BOOST_LAMBDA_CLASS_LIST
-#undef BOOST_LAMBDA_ARG_LIST
-#undef BOOST_LAMBDA_CLASS_ARG_LIST
-
-} // lambda
-} // boost
-
-#endif
-
-
-
-
-
diff --git a/SRC/Boost/boost/lambda/detail/lambda_config.hpp b/SRC/Boost/boost/lambda/detail/lambda_config.hpp
deleted file mode 100755
index 62b638e..0000000
--- a/SRC/Boost/boost/lambda/detail/lambda_config.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// Boost Lambda Library - lambda_config.hpp ------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-
-// ---------------------------------------------------------------
-
-#ifndef BOOST_LAMBDA_LAMBDA_CONFIG_HPP
-#define BOOST_LAMBDA_LAMBDA_CONFIG_HPP
-
-// add to boost/config.hpp
-// for now
-
-
-# if defined __GNUC__
-#   if (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) 
-#     define BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
-#     define BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
-#   endif
-#   if (__GNUC__ == 2 && __GNUC_MINOR__ <= 97) 
-#     define BOOST_NO_TEMPLATED_STREAMS
-#     define BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
-#   endif
-#   if (__GNUC__ == 2 && __GNUC_MINOR__ <= 95) 
-#     define BOOST_LAMBDA_FAILS_IN_TEMPLATE_KEYWORD_AFTER_SCOPE_OPER
-#   endif
-# endif  // __GNUC__
- 
-
-#if defined __KCC
-
-#define BOOST_NO_FDECL_TEMPLATES_AS_TEMPLATE_TEMPLATE_PARAMS
-
-#endif  // __KCC
-
-#endif
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/lambda/detail/lambda_functor_base.hpp b/SRC/Boost/boost/lambda/detail/lambda_functor_base.hpp
deleted file mode 100755
index 822ba82..0000000
--- a/SRC/Boost/boost/lambda/detail/lambda_functor_base.hpp
+++ /dev/null
@@ -1,615 +0,0 @@
-// Boost Lambda Library  lambda_functor_base.hpp -----------------------------
-//
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-
-// ------------------------------------------------------------
-
-#ifndef BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_HPP
-#define BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_HPP
-
-#include "boost/type_traits/add_reference.hpp"
-#include "boost/type_traits/add_const.hpp"
-#include "boost/type_traits/remove_const.hpp"
-#include "boost/lambda/detail/lambda_fwd.hpp"
-#include "boost/lambda/detail/lambda_traits.hpp"
-
-namespace boost { 
-namespace lambda {
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#endif
-
-  // for return type deductions we wrap bound argument to this class,
-  // which fulfils the base class contract for lambda_functors
-template <class T>
-class identity {
-
-  T elem;
-public:
-  
-  typedef T element_t;
-
-  // take all parameters as const references. Note that non-const references
-  // stay as they are.
-  typedef typename boost::add_reference<
-    typename boost::add_const<T>::type
-  >::type par_t;
-
-  explicit identity(par_t t) : elem(t) {}
-
-  template <typename SigArgs> 
-  struct sig { typedef typename boost::remove_const<element_t>::type type; };
-
-  template<class RET, CALL_TEMPLATE_ARGS>
-  RET call(CALL_FORMAL_ARGS) const { CALL_USE_ARGS; return elem; }
-};
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
-
-template <class T> 
-inline lambda_functor<identity<T&> > var(T& t) { return identity<T&>(t); }
-
-  // for lambda functors, var is an identity operator. It was forbidden
-  // at some point, but we might want to var something that can be a 
-  // non-lambda functor or a lambda functor.
-template <class T>
-lambda_functor<T> var(const lambda_functor<T>& t) { return t; }
-
-template <class T> struct var_type {
-  typedef lambda_functor<identity<T&> > type;
-};
-
-
-template <class T> 
-inline 
-lambda_functor<identity<typename bound_argument_conversion<const T>::type> >
-constant(const T& t) { 
-  return identity<typename bound_argument_conversion<const T>::type>(t); 
-}
-template <class T>
-lambda_functor<T> constant(const lambda_functor<T>& t) { return t; }
-
-template <class T> struct constant_type {
-  typedef 
-   lambda_functor<
-     identity<typename bound_argument_conversion<const T>::type> 
-   > type;
-};
-
-
-
-template <class T> 
-inline lambda_functor<identity<const T&> > constant_ref(const T& t) { 
-  return identity<const T&>(t); 
-}
-template <class T>
-lambda_functor<T> constant_ref(const lambda_functor<T>& t) { return t; }
-
-template <class T> struct constant_ref_type {
-  typedef 
-   lambda_functor<identity<const T&> > type;
-};
-
-
-
-  // as_lambda_functor turns any types to lambda functors 
-  // non-lambda_functors will be bound argument types
-template <class T>
-struct as_lambda_functor { 
-  typedef typename 
-    detail::remove_reference_and_cv<T>::type plain_T;
-  typedef typename 
-    detail::IF<is_lambda_functor<plain_T>::value, 
-      plain_T,
-      lambda_functor<
-        identity<typename bound_argument_conversion<T>::type> 
-      >
-    >::RET type; 
-};
-
-// turns arbitrary objects into lambda functors
-template <class T> 
-inline 
-lambda_functor<identity<typename bound_argument_conversion<const T>::type> > 
-to_lambda_functor(const T& t) { 
-  return identity<typename bound_argument_conversion<const T>::type>(t);
-}
-
-template <class T> 
-inline lambda_functor<T> 
-to_lambda_functor(const lambda_functor<T>& t) { 
-  return t;
-}
-
-namespace detail {   
-
-
-
-// In a call constify_rvals<T>::go(x)
-// x should be of type T. If T is a non-reference type, do
-// returns x as const reference. 
-// Otherwise the type doesn't change.
-// The purpose of this class is to avoid 
-// 'cannot bind temporaries to non-const references' errors.
-template <class T> struct constify_rvals {
-  template<class U>
-  static inline const U& go(const U& u) { return u; }
-};
-
-template <class T> struct constify_rvals<T&> {
-  template<class U>
-  static inline U& go(U& u) { return u; }
-};
-
-  // check whether one of the elements of a tuple (cons list) is of type
-  // null_type. Needed, because the compiler goes ahead and instantiates
-  // sig template for nullary case even if the nullary operator() is not
-  // called
-template <class T> struct is_null_type 
-{ BOOST_STATIC_CONSTANT(bool, value = false); };
-
-template <> struct is_null_type<null_type> 
-{ BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template<class Tuple> struct has_null_type {
-  BOOST_STATIC_CONSTANT(bool, value = (is_null_type<typename Tuple::head_type>::value || has_null_type<typename Tuple::tail_type>::value));
-};
-template<> struct has_null_type<null_type> {
-  BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-
-// helpers -------------------
-
-
-template<class Args, class SigArgs>
-class deduce_argument_types_ {
-  typedef typename as_lambda_functor<typename Args::head_type>::type lf_t;
-  typedef typename lf_t::inherited::template sig<SigArgs>::type el_t;  
-public:
-  typedef
-    boost::tuples::cons<
-      el_t, 
-      typename deduce_argument_types_<typename Args::tail_type, SigArgs>::type
-    > type;
-};
-
-template<class SigArgs>
-class deduce_argument_types_<null_type, SigArgs> {
-public:
-  typedef null_type type; 
-};
-
-
-//  // note that tuples cannot have plain function types as elements.
-//  // Hence, all other types will be non-const, except references to 
-//  // functions.
-//  template <class T> struct remove_reference_except_from_functions {
-//    typedef typename boost::remove_reference<T>::type t;
-//    typedef typename detail::IF<boost::is_function<t>::value, T, t>::RET type;
-//  };
-
-template<class Args, class SigArgs>
-class deduce_non_ref_argument_types_ {
-  typedef typename as_lambda_functor<typename Args::head_type>::type lf_t;
-  typedef typename lf_t::inherited::template sig<SigArgs>::type el_t;  
-public:
-  typedef
-    boost::tuples::cons<
-  //      typename detail::remove_reference_except_from_functions<el_t>::type, 
-      typename boost::remove_reference<el_t>::type, 
-      typename deduce_non_ref_argument_types_<typename Args::tail_type, SigArgs>::type
-    > type;
-};
-
-template<class SigArgs>
-class deduce_non_ref_argument_types_<null_type, SigArgs> {
-public:
-  typedef null_type type; 
-};
-
-  // -------------
-
-// take stored Args and Open Args, and return a const list with 
-// deduced elements (real return types)
-template<class Args, class SigArgs>
-class deduce_argument_types {
-  typedef typename deduce_argument_types_<Args, SigArgs>::type t1;
-public:
-  typedef typename detail::IF<
-    has_null_type<t1>::value, null_type, t1
-  >::RET type; 
-};
-
-// take stored Args and Open Args, and return a const list with 
-// deduced elements (references are stripped from the element types)
-
-template<class Args, class SigArgs>
-class deduce_non_ref_argument_types {
-  typedef typename deduce_non_ref_argument_types_<Args, SigArgs>::type t1;
-public:
-  typedef typename detail::IF<
-    has_null_type<t1>::value, null_type, t1
-  >::RET type; 
-};
-
-template <int N, class Args, class SigArgs>
-struct nth_return_type_sig {
-  typedef typename 
-          as_lambda_functor<
-            typename boost::tuples::element<N, Args>::type 
-  //            typename tuple_element_as_reference<N, Args>::type 
-        >::type lf_type;
-
-  typedef typename lf_type::inherited::template sig<SigArgs>::type type;  
-};
-
-template<int N, class Tuple> struct element_or_null {
-  typedef typename boost::tuples::element<N, Tuple>::type type;
-};
-
-template<int N> struct element_or_null<N, null_type> {
-  typedef null_type type;
-};
-
-
-   
-   
-} // end detail
-   
- // -- lambda_functor base ---------------------
-
-// the explicit_return_type_action case -----------------------------------
-template<class RET, class Args>
-class lambda_functor_base<explicit_return_type_action<RET>, Args> 
-{
-public:
-  Args args;
-
-  typedef RET result_type;
-
-  explicit lambda_functor_base(const Args& a) : args(a) {}
-
-  template <class SigArgs> struct sig { typedef RET type; };
-
-  template<class RET_, CALL_TEMPLATE_ARGS>
-  RET call(CALL_FORMAL_ARGS) const 
-  {
-    return detail::constify_rvals<RET>::go(
-     detail::r_select<RET>::go(boost::tuples::get<0>(args), CALL_ACTUAL_ARGS));
-  }
-};
-
-// the protect_action case -----------------------------------
-template<class Args>
-class lambda_functor_base<protect_action, Args>
-{
-public:
-  Args args;
-public:
-
-  explicit lambda_functor_base(const Args& a) : args(a) {}
-
-
-  template<class RET, CALL_TEMPLATE_ARGS>
-  RET call(CALL_FORMAL_ARGS) const 
-  {
-     CALL_USE_ARGS;
-     return boost::tuples::get<0>(args);
-  }
-
-  template<class SigArgs> struct sig { 
-    //    typedef typename detail::tuple_element_as_reference<0, SigArgs>::type type;
-    typedef typename boost::tuples::element<0, Args>::type type;
-  };
-};
-
-// Do nothing --------------------------------------------------------
-class do_nothing_action {};
-
-template<class Args>
-class lambda_functor_base<do_nothing_action, Args> {
-  //  Args args;
-public:
-  //  explicit lambda_functor_base(const Args& a) {}
-  lambda_functor_base() {}
-
-
-  template<class RET, CALL_TEMPLATE_ARGS> RET call(CALL_FORMAL_ARGS) const {
-    return CALL_USE_ARGS;
-  }
-
-  template<class SigArgs> struct sig { typedef void type; };
-};  
-
-
-//  These specializations provide a shorter notation to define actions.
-//  These lambda_functor_base instances take care of the recursive evaluation
-//  of the arguments and pass the evaluated arguments to the apply function
-//  of an action class. To make action X work with these classes, one must
-//  instantiate the lambda_functor_base as:
-//  lambda_functor_base<action<ARITY, X>, Args>
-//  Where ARITY is the arity of the apply function in X
-
-//  The return type is queried as:
-//  return_type_N<X, EvaluatedArgumentTypes>::type
-//  for which there must be a specialization.
-
-//  Function actions, casts, throws,... all go via these classes.
-
-
-template<class Act, class Args>  
-class lambda_functor_base<action<0, Act>, Args>           
-{  
-public:  
-//  Args args; not needed
-  explicit lambda_functor_base(const Args& /*a*/) {}  
-  
-  template<class SigArgs> struct sig {  
-    typedef typename return_type_N<Act, null_type>::type type;
-  };
-  
-  template<class RET, CALL_TEMPLATE_ARGS>  
-  RET call(CALL_FORMAL_ARGS) const {  
-    CALL_USE_ARGS;
-    return Act::template apply<RET>();
-  }
-};
-
-
-#if defined BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART  
-#error "Multiple defines of BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART"  
-#endif  
-  
-  
-#define BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(ARITY)             \
-template<class Act, class Args>                                        \
-class lambda_functor_base<action<ARITY, Act>, Args>                    \
-{                                                                      \
-public:                                                                \
-  Args args;                                                           \
-                                                                       \
-  explicit lambda_functor_base(const Args& a) : args(a) {}             \
-                                                                       \
-  template<class SigArgs> struct sig {                                 \
-    typedef typename                                                   \
-    detail::deduce_argument_types<Args, SigArgs>::type rets_t;         \
-  public:                                                              \
-    typedef typename                                                   \
-      return_type_N_prot<Act, rets_t>::type type;                      \
-  };                                                                   \
-                                                                       \
-                                                                       \
-  template<class RET, CALL_TEMPLATE_ARGS>                              \
-  RET call(CALL_FORMAL_ARGS) const {                                   \
-    using boost::tuples::get;                                          \
-    using detail::constify_rvals;                                      \
-    using detail::r_select;                                            \
-    using detail::element_or_null;                                     \
-    using detail::deduce_argument_types;                                
-
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(1)
-
-  typedef typename
-    deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
-  typedef typename element_or_null<0, rets_t>::type rt0;
-
-  return Act::template apply<RET>(
-    constify_rvals<rt0>::go(r_select<rt0>::go(get<0>(args), CALL_ACTUAL_ARGS))
-    );
-  }
-};
-
-
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(2)
-  
-  typedef typename 
-    deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
-  typedef typename element_or_null<0, rets_t>::type rt0;
-  typedef typename element_or_null<1, rets_t>::type rt1;
-
-  return Act::template apply<RET>(
-    constify_rvals<rt0>::go(r_select<rt0>::go(get<0>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt1>::go(r_select<rt1>::go(get<1>(args), CALL_ACTUAL_ARGS))
-    );
-  }
-};
-
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(3)
-
-  typedef typename 
-    deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
-
-  typedef typename element_or_null<0, rets_t>::type rt0;
-  typedef typename element_or_null<1, rets_t>::type rt1;
-  typedef typename element_or_null<2, rets_t>::type rt2;
-
-  return Act::template apply<RET>(
-    constify_rvals<rt0>::go(r_select<rt0>::go(get<0>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt1>::go(r_select<rt1>::go(get<1>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt2>::go(r_select<rt2>::go(get<2>(args), CALL_ACTUAL_ARGS))
-    );
-  }
-};
-
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(4)
-  typedef typename 
-    deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
-  typedef typename element_or_null<0, rets_t>::type rt0;
-  typedef typename element_or_null<1, rets_t>::type rt1;
-  typedef typename element_or_null<2, rets_t>::type rt2;
-  typedef typename element_or_null<3, rets_t>::type rt3;
-
-  return Act::template apply<RET>(
-    constify_rvals<rt0>::go(r_select<rt0>::go(get<0>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt1>::go(r_select<rt1>::go(get<1>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt2>::go(r_select<rt2>::go(get<2>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt3>::go(r_select<rt3>::go(get<3>(args), CALL_ACTUAL_ARGS))
-    );
-  }
-};
-
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(5)
-  typedef typename 
-    deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
-  typedef typename element_or_null<0, rets_t>::type rt0;
-  typedef typename element_or_null<1, rets_t>::type rt1;
-  typedef typename element_or_null<2, rets_t>::type rt2;
-  typedef typename element_or_null<3, rets_t>::type rt3;
-  typedef typename element_or_null<4, rets_t>::type rt4;
-
-  return Act::template apply<RET>(
-    constify_rvals<rt0>::go(r_select<rt0>::go(get<0>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt1>::go(r_select<rt1>::go(get<1>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt2>::go(r_select<rt2>::go(get<2>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt3>::go(r_select<rt3>::go(get<3>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt4>::go(r_select<rt4>::go(get<4>(args), CALL_ACTUAL_ARGS))
-    );
-  }
-};
-
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(6)
-
-  typedef typename 
-    deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
-  typedef typename element_or_null<0, rets_t>::type rt0;
-  typedef typename element_or_null<1, rets_t>::type rt1;
-  typedef typename element_or_null<2, rets_t>::type rt2;
-  typedef typename element_or_null<3, rets_t>::type rt3;
-  typedef typename element_or_null<4, rets_t>::type rt4;
-  typedef typename element_or_null<5, rets_t>::type rt5;
-
-
-    return Act::template apply<RET>(
-    constify_rvals<rt0>::go(r_select<rt0>::go(get<0>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt1>::go(r_select<rt1>::go(get<1>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt2>::go(r_select<rt2>::go(get<2>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt3>::go(r_select<rt3>::go(get<3>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt4>::go(r_select<rt4>::go(get<4>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt5>::go(r_select<rt5>::go(get<5>(args), CALL_ACTUAL_ARGS)) 
-    );
-  }
-};
-
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(7)
-  typedef typename 
-    deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
-  typedef typename element_or_null<0, rets_t>::type rt0;
-  typedef typename element_or_null<1, rets_t>::type rt1;
-  typedef typename element_or_null<2, rets_t>::type rt2;
-  typedef typename element_or_null<3, rets_t>::type rt3;
-  typedef typename element_or_null<4, rets_t>::type rt4;
-  typedef typename element_or_null<5, rets_t>::type rt5;
-  typedef typename element_or_null<6, rets_t>::type rt6;
-
-
-  return Act::template apply<RET>(
-    constify_rvals<rt0>::go(r_select<rt0>::go(get<0>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt1>::go(r_select<rt1>::go(get<1>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt2>::go(r_select<rt2>::go(get<2>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt3>::go(r_select<rt3>::go(get<3>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt4>::go(r_select<rt4>::go(get<4>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt5>::go(r_select<rt5>::go(get<5>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt6>::go(r_select<rt6>::go(get<6>(args), CALL_ACTUAL_ARGS))
-    );
-  }
-};
-
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(8)
-  typedef typename 
-    deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
-  typedef typename element_or_null<0, rets_t>::type rt0;
-  typedef typename element_or_null<1, rets_t>::type rt1;
-  typedef typename element_or_null<2, rets_t>::type rt2;
-  typedef typename element_or_null<3, rets_t>::type rt3;
-  typedef typename element_or_null<4, rets_t>::type rt4;
-  typedef typename element_or_null<5, rets_t>::type rt5;
-  typedef typename element_or_null<6, rets_t>::type rt6;
-  typedef typename element_or_null<7, rets_t>::type rt7;
-
-  return Act::template apply<RET>(
-    constify_rvals<rt0>::go(r_select<rt0>::go(get<0>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt1>::go(r_select<rt1>::go(get<1>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt2>::go(r_select<rt2>::go(get<2>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt3>::go(r_select<rt3>::go(get<3>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt4>::go(r_select<rt4>::go(get<4>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt5>::go(r_select<rt5>::go(get<5>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt6>::go(r_select<rt6>::go(get<6>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt7>::go(r_select<rt7>::go(get<7>(args), CALL_ACTUAL_ARGS))
-    );
-  }
-};
-
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(9)
-  typedef typename 
-    deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
-  typedef typename element_or_null<0, rets_t>::type rt0;
-  typedef typename element_or_null<1, rets_t>::type rt1;
-  typedef typename element_or_null<2, rets_t>::type rt2;
-  typedef typename element_or_null<3, rets_t>::type rt3;
-  typedef typename element_or_null<4, rets_t>::type rt4;
-  typedef typename element_or_null<5, rets_t>::type rt5;
-  typedef typename element_or_null<6, rets_t>::type rt6;
-  typedef typename element_or_null<7, rets_t>::type rt7;
-  typedef typename element_or_null<8, rets_t>::type rt8;
-
-  return Act::template apply<RET>(
-    constify_rvals<rt0>::go(r_select<rt0>::go(get<0>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt1>::go(r_select<rt1>::go(get<1>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt2>::go(r_select<rt2>::go(get<2>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt3>::go(r_select<rt3>::go(get<3>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt4>::go(r_select<rt4>::go(get<4>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt5>::go(r_select<rt5>::go(get<5>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt6>::go(r_select<rt6>::go(get<6>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt7>::go(r_select<rt7>::go(get<7>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt8>::go(r_select<rt8>::go(get<8>(args), CALL_ACTUAL_ARGS))
-    );
-  }
-};
-
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(10) 
-  typedef typename 
-    deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
-  typedef typename element_or_null<0, rets_t>::type rt0;
-  typedef typename element_or_null<1, rets_t>::type rt1;
-  typedef typename element_or_null<2, rets_t>::type rt2;
-  typedef typename element_or_null<3, rets_t>::type rt3;
-  typedef typename element_or_null<4, rets_t>::type rt4;
-  typedef typename element_or_null<5, rets_t>::type rt5;
-  typedef typename element_or_null<6, rets_t>::type rt6;
-  typedef typename element_or_null<7, rets_t>::type rt7;
-  typedef typename element_or_null<8, rets_t>::type rt8;
-  typedef typename element_or_null<9, rets_t>::type rt9;
-
-  return Act::template apply<RET>(
-    constify_rvals<rt0>::go(r_select<rt0>::go(get<0>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt1>::go(r_select<rt1>::go(get<1>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt2>::go(r_select<rt2>::go(get<2>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt3>::go(r_select<rt3>::go(get<3>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt4>::go(r_select<rt4>::go(get<4>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt5>::go(r_select<rt5>::go(get<5>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt6>::go(r_select<rt6>::go(get<6>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt7>::go(r_select<rt7>::go(get<7>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt8>::go(r_select<rt8>::go(get<8>(args), CALL_ACTUAL_ARGS)),
-    constify_rvals<rt9>::go(r_select<rt9>::go(get<9>(args), CALL_ACTUAL_ARGS)) 
-    );
-  }
-};
-
-#undef BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART
-
-
-} // namespace lambda
-} // namespace boost
-
-#endif
diff --git a/SRC/Boost/boost/lambda/detail/lambda_functors.hpp b/SRC/Boost/boost/lambda/detail/lambda_functors.hpp
deleted file mode 100755
index eab092c..0000000
--- a/SRC/Boost/boost/lambda/detail/lambda_functors.hpp
+++ /dev/null
@@ -1,324 +0,0 @@
-// Boost Lambda Library -  lambda_functors.hpp -------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org
-
-// ------------------------------------------------
-
-#ifndef BOOST_LAMBDA_LAMBDA_FUNCTORS_HPP
-#define BOOST_LAMBDA_LAMBDA_FUNCTORS_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-
-#include <boost/mpl/or.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-#define BOOST_LAMBDA_DISABLE_IF_ARRAY1(A1, R1)\
-  typename lazy_disable_if<is_array<A1>, typename R1 >::type
-#define BOOST_LAMBDA_DISABLE_IF_ARRAY2(A1, A2, R1, R2) \
-  typename lazy_disable_if<mpl::or_<is_array<A1>, is_array<A2> >, typename R1, R2 >::type
-#define BOOST_LAMBDA_DISABLE_IF_ARRAY3(A1, A2, A3, R1, R2, R3) \
-  typename lazy_disable_if<mpl::or_<is_array<A1>, is_array<A2>, is_array<A3> >, typename R1, R2, R3 >::type
-
-#else
-
-#define BOOST_LAMBDA_DISABLE_IF_ARRAY1(A1, R1) typename R1::type
-#define BOOST_LAMBDA_DISABLE_IF_ARRAY2(A1, A2, R1, R2) typename R1, R2::type
-#define BOOST_LAMBDA_DISABLE_IF_ARRAY3(A1, A2, A3, R1, R2, R3) typename R1, R2, R3::type
-
-#endif
-
-namespace boost { 
-namespace lambda {
-
-// -- lambda_functor --------------------------------------------
-// --------------------------------------------------------------
-
-//inline const null_type const_null_type() { return null_type(); }
-
-namespace detail {
-namespace {
-
-  static const null_type constant_null_type = null_type();
-
-} // unnamed
-} // detail
-
-class unused {};
-
-#define cnull_type() detail::constant_null_type
-
-// -- free variables types -------------------------------------------------- 
- 
-  // helper to work around the case where the nullary return type deduction 
-  // is always performed, even though the functor is not nullary  
-namespace detail {
-  template<int N, class Tuple> struct get_element_or_null_type {
-    typedef typename 
-      detail::tuple_element_as_reference<N, Tuple>::type type;
-  };
-  template<int N> struct get_element_or_null_type<N, null_type> {
-    typedef null_type type;
-  };
-}
-
-template <int I> struct placeholder;
-
-template<> struct placeholder<FIRST> {
-
-  template<class SigArgs> struct sig {
-    typedef typename detail::get_element_or_null_type<0, SigArgs>::type type;
-  };
-
-  template<class RET, CALL_TEMPLATE_ARGS> 
-  RET call(CALL_FORMAL_ARGS) const { 
-    BOOST_STATIC_ASSERT(boost::is_reference<RET>::value); 
-    CALL_USE_ARGS; // does nothing, prevents warnings for unused args
-    return a; 
-  }
-};
-
-template<> struct placeholder<SECOND> {
-
-  template<class SigArgs> struct sig {
-    typedef typename detail::get_element_or_null_type<1, SigArgs>::type type;
-  };
-
-  template<class RET, CALL_TEMPLATE_ARGS> 
-  RET call(CALL_FORMAL_ARGS) const { CALL_USE_ARGS; return b; }
-};
-
-template<> struct placeholder<THIRD> {
-
-  template<class SigArgs> struct sig {
-    typedef typename detail::get_element_or_null_type<2, SigArgs>::type type;
-  };
-
-  template<class RET, CALL_TEMPLATE_ARGS> 
-  RET call(CALL_FORMAL_ARGS) const { CALL_USE_ARGS; return c; }
-};
-
-template<> struct placeholder<EXCEPTION> {
-
-  template<class SigArgs> struct sig {
-    typedef typename detail::get_element_or_null_type<3, SigArgs>::type type;
-  };
-
-  template<class RET, CALL_TEMPLATE_ARGS> 
-  RET call(CALL_FORMAL_ARGS) const { CALL_USE_ARGS; return env; }
-};
-   
-typedef const lambda_functor<placeholder<FIRST> >  placeholder1_type;
-typedef const lambda_functor<placeholder<SECOND> > placeholder2_type;
-typedef const lambda_functor<placeholder<THIRD> >  placeholder3_type;
-   
-
-///////////////////////////////////////////////////////////////////////////////
-
-
-// free variables are lambda_functors. This is to allow uniform handling with 
-// other lambda_functors.
-// -------------------------------------------------------------------
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#endif
-
-// -- lambda_functor NONE ------------------------------------------------
-template <class T>
-class lambda_functor : public T 
-{
-
-BOOST_STATIC_CONSTANT(int, arity_bits = get_arity<T>::value);
- 
-public:
-  typedef T inherited;
-
-  lambda_functor() {}
-  lambda_functor(const lambda_functor& l) : inherited(l) {}
-
-  lambda_functor(const T& t) : inherited(t) {}
-
-  template <class SigArgs> struct sig {
-    typedef typename inherited::template 
-      sig<typename SigArgs::tail_type>::type type;
-  };
-
-  // Note that this return type deduction template is instantiated, even 
-  // if the nullary 
-  // operator() is not called at all. One must make sure that it does not fail.
-  typedef typename 
-    inherited::template sig<null_type>::type
-      nullary_return_type;
-
-  // Support for boost::result_of.
-  template <class Sig> struct result;
-  template <class F>
-  struct result<F()> {
-    typedef nullary_return_type type;
-  };
-  template <class F, class A>
-  struct result<F(A)> {
-    typedef typename sig<tuple<F, A> >::type type;
-  };
-  template <class F, class A, class B>
-  struct result<F(A, B)> {
-    typedef typename sig<tuple<F, A, B> >::type type;
-  };
-  template <class F, class A, class B, class C>
-  struct result<F(A, B, C)> {
-    typedef typename sig<tuple<F, A, B, C> >::type type;
-  };
-
-  nullary_return_type operator()() const { 
-    return inherited::template 
-      call<nullary_return_type>
-        (cnull_type(), cnull_type(), cnull_type(), cnull_type()); 
-  }
-
-  template<class A>
-  typename inherited::template sig<tuple<A&> >::type
-  operator()(A& a) const { 
-    return inherited::template call<
-      typename inherited::template sig<tuple<A&> >::type
-    >(a, cnull_type(), cnull_type(), cnull_type());
-  }
-
-  template<class A>
-  BOOST_LAMBDA_DISABLE_IF_ARRAY1(A, inherited::template sig<tuple<A const&> >)
-  operator()(A const& a) const { 
-    return inherited::template call<
-      typename inherited::template sig<tuple<A const&> >::type
-    >(a, cnull_type(), cnull_type(), cnull_type());
-  }
-
-  template<class A, class B>
-  typename inherited::template sig<tuple<A&, B&> >::type
-  operator()(A& a, B& b) const { 
-    return inherited::template call<
-      typename inherited::template sig<tuple<A&, B&> >::type
-    >(a, b, cnull_type(), cnull_type()); 
-  }
-
-  template<class A, class B>
-  BOOST_LAMBDA_DISABLE_IF_ARRAY2(A, B, inherited::template sig<tuple<A const&, B&> >)
-  operator()(A const& a, B& b) const { 
-    return inherited::template call<
-      typename inherited::template sig<tuple<A const&, B&> >::type
-    >(a, b, cnull_type(), cnull_type()); 
-  }
-
-  template<class A, class B>
-  BOOST_LAMBDA_DISABLE_IF_ARRAY2(A, B, inherited::template sig<tuple<A&, B const&> >)
-  operator()(A& a, B const& b) const { 
-    return inherited::template call<
-      typename inherited::template sig<tuple<A&, B const&> >::type
-    >(a, b, cnull_type(), cnull_type()); 
-  }
-
-  template<class A, class B>
-  BOOST_LAMBDA_DISABLE_IF_ARRAY2(A, B, inherited::template sig<tuple<A const&, B const&> >)
-  operator()(A const& a, B const& b) const { 
-    return inherited::template call<
-      typename inherited::template sig<tuple<A const&, B const&> >::type
-    >(a, b, cnull_type(), cnull_type()); 
-  }
-
-  template<class A, class B, class C>
-  typename inherited::template sig<tuple<A&, B&, C&> >::type
-  operator()(A& a, B& b, C& c) const
-  { 
-    return inherited::template call<
-      typename inherited::template sig<tuple<A&, B&, C&> >::type
-    >(a, b, c, cnull_type()); 
-  }
-
-  template<class A, class B, class C>
-  BOOST_LAMBDA_DISABLE_IF_ARRAY3(A, B, C, inherited::template sig<tuple<A const&, B const&, C const&> >)
-  operator()(A const& a, B const& b, C const& c) const
-  { 
-    return inherited::template call<
-      typename inherited::template sig<tuple<A const&, B const&, C const&> >::type
-    >(a, b, c, cnull_type()); 
-  }
-
-  // for internal calls with env
-  template<CALL_TEMPLATE_ARGS>
-  typename inherited::template sig<tuple<CALL_REFERENCE_TYPES> >::type
-  internal_call(CALL_FORMAL_ARGS) const { 
-     return inherited::template 
-       call<typename inherited::template 
-         sig<tuple<CALL_REFERENCE_TYPES> >::type>(CALL_ACTUAL_ARGS); 
-  }
-
-  template<class A>
-  const lambda_functor<lambda_functor_base<
-                  other_action<assignment_action>,
-                  boost::tuple<lambda_functor,
-                  typename const_copy_argument <const A>::type> > >
-  operator=(const A& a) const {
-    return lambda_functor_base<
-                  other_action<assignment_action>,
-                  boost::tuple<lambda_functor,
-                  typename const_copy_argument <const A>::type> >
-     (  boost::tuple<lambda_functor,
-             typename const_copy_argument <const A>::type>(*this, a) );
-  }
-
-  template<class A> 
-  const lambda_functor<lambda_functor_base< 
-                  other_action<subscript_action>, 
-                  boost::tuple<lambda_functor, 
-                        typename const_copy_argument <const A>::type> > > 
-  operator[](const A& a) const { 
-    return lambda_functor_base< 
-                  other_action<subscript_action>, 
-                  boost::tuple<lambda_functor, 
-                        typename const_copy_argument <const A>::type> >
-     ( boost::tuple<lambda_functor, 
-             typename const_copy_argument <const A>::type>(*this, a ) ); 
-  } 
-};
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
-
-} // namespace lambda
-} // namespace boost
-
-// is_placeholder
-
-#include <boost/is_placeholder.hpp>
-
-namespace boost
-{
-
-template<> struct is_placeholder< lambda::lambda_functor< lambda::placeholder<lambda::FIRST> > >
-{
-    enum _vt { value = 1 };
-};
-
-template<> struct is_placeholder< lambda::lambda_functor< lambda::placeholder<lambda::SECOND> > >
-{
-    enum _vt { value = 2 };
-};
-
-template<> struct is_placeholder< lambda::lambda_functor< lambda::placeholder<lambda::THIRD> > >
-{
-    enum _vt { value = 3 };
-};
-
-} // namespace boost
-
-#endif
diff --git a/SRC/Boost/boost/lambda/detail/lambda_fwd.hpp b/SRC/Boost/boost/lambda/detail/lambda_fwd.hpp
deleted file mode 100755
index 83291da..0000000
--- a/SRC/Boost/boost/lambda/detail/lambda_fwd.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//  lambda_fwd.hpp - Boost Lambda Library -------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-
-// -------------------------------------------------------
-
-#ifndef BOOST_LAMBDA_FWD_HPP
-#define BOOST_LAMBDA_FWD_HPP
-
-namespace boost { 
-namespace lambda { 
-
-namespace detail {
-
-template<class T> struct generate_error;
-
-}   
-// -- placeholders --------------------------------------------
-
-template <int I> struct placeholder;
-
-// function_adaptors
-template <class Func> 
-struct function_adaptor;
-
-template <int I, class Act> class action;
-
-template <class Base> 
-class lambda_functor;
-
-template <class Act, class Args> 
-class lambda_functor_base;
-
-} // namespace lambda
-} // namespace boost
-
-
-//  #define CALL_TEMPLATE_ARGS class A, class Env
-//  #define CALL_FORMAL_ARGS A& a, Env& env
-//  #define CALL_ACTUAL_ARGS a, env
-//  #define CALL_ACTUAL_ARGS_NO_ENV a
-//  #define CALL_REFERENCE_TYPES A&, Env&
-//  #define CALL_PLAIN_TYPES A, Env
-#define CALL_TEMPLATE_ARGS class A, class B, class C, class Env
-#define CALL_FORMAL_ARGS A& a, B& b, C& c, Env& env
-#define CALL_ACTUAL_ARGS a, b, c, env
-#define CALL_ACTUAL_ARGS_NO_ENV a, b, c
-#define CALL_REFERENCE_TYPES A&, B&, C&, Env&
-#define CALL_PLAIN_TYPES A, B, C, Env
-
-namespace boost {
-namespace lambda {
-namespace detail {
-
-template<class A1, class A2, class A3, class A4>
-void do_nothing(A1&, A2&, A3&, A4&) {}
-
-} // detail
-} // lambda
-} // boost
-
-// prevent the warnings from unused arguments
-#define CALL_USE_ARGS \
-::boost::lambda::detail::do_nothing(a, b, c, env)
-
-
-
-#endif
diff --git a/SRC/Boost/boost/lambda/detail/lambda_traits.hpp b/SRC/Boost/boost/lambda/detail/lambda_traits.hpp
deleted file mode 100755
index f43cf7a..0000000
--- a/SRC/Boost/boost/lambda/detail/lambda_traits.hpp
+++ /dev/null
@@ -1,578 +0,0 @@
-// - lambda_traits.hpp --- Boost Lambda Library ----------------------------
-//
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-// -------------------------------------------------------------------------
-
-#ifndef BOOST_LAMBDA_LAMBDA_TRAITS_HPP
-#define BOOST_LAMBDA_LAMBDA_TRAITS_HPP
-
-#include "boost/type_traits/transform_traits.hpp"
-#include "boost/type_traits/cv_traits.hpp"
-#include "boost/type_traits/function_traits.hpp"
-#include "boost/type_traits/object_traits.hpp"
-#include "boost/tuple/tuple.hpp"
-
-namespace boost {
-namespace lambda {
-
-// -- if construct ------------------------------------------------
-// Proposed by Krzysztof Czarnecki and Ulrich Eisenecker
-
-namespace detail {
-
-template <bool If, class Then, class Else> struct IF { typedef Then RET; };
-
-template <class Then, class Else> struct IF<false, Then, Else> {
-  typedef Else RET;
-};
-
-
-// An if construct that doesn't instantiate the non-matching template:
-
-// Called as: 
-//  IF_type<condition, A, B>::type 
-// The matching template must define the typeded 'type'
-// I.e. A::type if condition is true, B::type if condition is false
-// Idea from Vesa Karvonen (from C&E as well I guess)
-template<class T>
-struct IF_type_
-{
-  typedef typename T::type type;
-};
-
-
-template<bool C, class T, class E>
-struct IF_type
-{
-  typedef typename
-    IF_type_<typename IF<C, T, E>::RET >::type type;
-};
-
-// helper that can be used to give typedef T to some type
-template <class T> struct identity_mapping { typedef T type; };
-
-// An if construct for finding an integral constant 'value'
-// Does not instantiate the non-matching branch
-// Called as IF_value<condition, A, B>::value
-// If condition is true A::value must be defined, otherwise B::value
-
-template<class T>
-struct IF_value_
-{
-  BOOST_STATIC_CONSTANT(int, value = T::value);
-};
-
-
-template<bool C, class T, class E>
-struct IF_value
-{
-  BOOST_STATIC_CONSTANT(int, value = (IF_value_<typename IF<C, T, E>::RET>::value));
-};
-
-
-// --------------------------------------------------------------
-
-// removes reference from other than function types:
-template<class T> class remove_reference_if_valid
-{
-
-  typedef typename boost::remove_reference<T>::type plainT;
-public:
-  typedef typename IF<
-    boost::is_function<plainT>::value,
-    T,
-    plainT
-  >::RET type;
-
-};
-
-
-template<class T> struct remove_reference_and_cv {
-   typedef typename boost::remove_cv<
-     typename boost::remove_reference<T>::type
-   >::type type;
-};
-
-
-   
-// returns a reference to the element of tuple T
-template<int N, class T> struct tuple_element_as_reference {   
-  typedef typename
-     boost::tuples::access_traits<
-       typename boost::tuples::element<N, T>::type
-     >::non_const_type type;
-};
-
-// returns the cv and reverence stripped type of a tuple element
-template<int N, class T> struct tuple_element_stripped {   
-  typedef typename
-     remove_reference_and_cv<
-       typename boost::tuples::element<N, T>::type
-     >::type type;
-};
-
-// is_lambda_functor -------------------------------------------------   
-
-template <class T> struct is_lambda_functor_ {
-  BOOST_STATIC_CONSTANT(bool, value = false);
-};
-   
-template <class Arg> struct is_lambda_functor_<lambda_functor<Arg> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-   
-} // end detail
-
-   
-template <class T> struct is_lambda_functor {
-  BOOST_STATIC_CONSTANT(bool, 
-     value = 
-       detail::is_lambda_functor_<
-         typename detail::remove_reference_and_cv<T>::type
-       >::value);
-};
-   
-
-namespace detail {
-
-// -- parameter_traits_ ---------------------------------------------
-
-// An internal parameter type traits class that respects
-// the reference_wrapper class.
-
-// The conversions performed are:
-// references -> compile_time_error
-// T1 -> T2, 
-// reference_wrapper<T> -> T&
-// const array -> ref to const array
-// array -> ref to array
-// function -> ref to function
-
-// ------------------------------------------------------------------------
-
-template<class T1, class T2> 
-struct parameter_traits_ {
-  typedef T2 type;
-};
-
-// Do not instantiate with reference types
-template<class T, class Any> struct parameter_traits_<T&, Any> {
-  typedef typename 
-    generate_error<T&>::
-      parameter_traits_class_instantiated_with_reference_type type;
-};
-
-// Arrays can't be stored as plain types; convert them to references
-template<class T, int n, class Any> struct parameter_traits_<T[n], Any> {
-  typedef T (&type)[n];
-};
-   
-template<class T, int n, class Any> 
-struct parameter_traits_<const T[n], Any> {
-  typedef const T (&type)[n];
-};
-
-template<class T, int n, class Any> 
-struct parameter_traits_<volatile T[n], Any> {
-  typedef volatile  T (&type)[n];
-};
-template<class T, int n, class Any> 
-struct parameter_traits_<const volatile T[n], Any> {
-  typedef const volatile T (&type)[n];
-};
-
-
-template<class T, class Any> 
-struct parameter_traits_<boost::reference_wrapper<T>, Any >{
-  typedef T& type;
-};
-
-template<class T, class Any> 
-struct parameter_traits_<const boost::reference_wrapper<T>, Any >{
-  typedef T& type;
-};
-
-template<class T, class Any> 
-struct parameter_traits_<volatile boost::reference_wrapper<T>, Any >{
-  typedef T& type;
-};
-
-template<class T, class Any> 
-struct parameter_traits_<const volatile boost::reference_wrapper<T>, Any >{
-  typedef T& type;
-};
-
-template<class Any>
-struct parameter_traits_<void, Any> {
-  typedef void type;
-};
-
-template<class Arg, class Any>
-struct parameter_traits_<lambda_functor<Arg>, Any > {
-  typedef lambda_functor<Arg> type;
-};
-
-template<class Arg, class Any>
-struct parameter_traits_<const lambda_functor<Arg>, Any > {
-  typedef lambda_functor<Arg> type;
-};
-
-// Are the volatile versions needed?
-template<class Arg, class Any>
-struct parameter_traits_<volatile lambda_functor<Arg>, Any > {
-  typedef lambda_functor<Arg> type;
-};
-
-template<class Arg, class Any>
-struct parameter_traits_<const volatile lambda_functor<Arg>, Any > {
-  typedef lambda_functor<Arg> type;
-};
-
-} // end namespace detail
-
-
-// ------------------------------------------------------------------------
-// traits classes for lambda expressions (bind functions, operators ...)   
-
-// must be instantiated with non-reference types
-
-// The default is const plain type -------------------------
-// const T -> const T, 
-// T -> const T, 
-// references -> compile_time_error
-// reference_wrapper<T> -> T&
-// array -> const ref array
-template<class T>
-struct const_copy_argument {
-  typedef typename 
-    detail::parameter_traits_<
-      T,
-      typename detail::IF<boost::is_function<T>::value, T&, const T>::RET
-    >::type type;
-};
-
-// T may be a function type. Without the IF test, const would be added 
-// to a function type, which is illegal.
-
-// all arrays are converted to const.
-// This traits template is used for 'const T&' parameter passing 
-// and thus the knowledge of the potential 
-// non-constness of an actual argument is lost.   
-template<class T, int n>  struct const_copy_argument <T[n]> {
-  typedef const T (&type)[n];
-};
-template<class T, int n>  struct const_copy_argument <volatile T[n]> {
-     typedef const volatile T (&type)[n];
-};
-   
-template<class T>
-struct const_copy_argument<T&> {};
-// do not instantiate with references
-  //  typedef typename detail::generate_error<T&>::references_not_allowed type;
-
-
-template<>
-struct const_copy_argument<void> {
-  typedef void type;
-};
-
-
-// Does the same as const_copy_argument, but passes references through as such
-template<class T>
-struct bound_argument_conversion {
-  typedef typename const_copy_argument<T>::type type; 
-};
-
-template<class T>
-struct bound_argument_conversion<T&> {
-  typedef T& type; 
-};
-   
-// The default is non-const reference -------------------------
-// const T -> const T&, 
-// T -> T&, 
-// references -> compile_time_error
-// reference_wrapper<T> -> T&
-template<class T>
-struct reference_argument {
-  typedef typename detail::parameter_traits_<T, T&>::type type; 
-};
-
-template<class T>
-struct reference_argument<T&> {
-  typedef typename detail::generate_error<T&>::references_not_allowed type; 
-};
-
-template<class Arg>
-struct reference_argument<lambda_functor<Arg> > {
-  typedef lambda_functor<Arg> type;
-};
-
-template<class Arg>
-struct reference_argument<const lambda_functor<Arg> > {
-  typedef lambda_functor<Arg> type;
-};
-
-// Are the volatile versions needed?
-template<class Arg>
-struct reference_argument<volatile lambda_functor<Arg> > {
-  typedef lambda_functor<Arg> type;
-};
-
-template<class Arg>
-struct reference_argument<const volatile lambda_functor<Arg> > {
-  typedef lambda_functor<Arg> type;
-};
-
-template<>
-struct reference_argument<void> {
-  typedef void type;
-};
-
-namespace detail {
-   
-// Array to pointer conversion
-template <class T>
-struct array_to_pointer { 
-  typedef T type;
-};
-
-template <class T, int N>
-struct array_to_pointer <const T[N]> { 
-  typedef const T* type;
-};
-template <class T, int N>
-struct array_to_pointer <T[N]> { 
-  typedef T* type;
-};
-
-template <class T, int N>
-struct array_to_pointer <const T (&) [N]> { 
-  typedef const T* type;
-};
-template <class T, int N>
-struct array_to_pointer <T (&) [N]> { 
-  typedef T* type;
-};
-
-
-// ---------------------------------------------------------------------------
-// The call_traits for bind
-// Respects the reference_wrapper class.
-
-// These templates are used outside of bind functions as well.
-// the bind_tuple_mapper provides a shorter notation for default
-// bound argument storing semantics, if all arguments are treated
-// uniformly.
-
-// from template<class T> foo(const T& t) : bind_traits<const T>::type
-// from template<class T> foo(T& t) : bind_traits<T>::type
-
-// Conversions:
-// T -> const T,
-// cv T -> cv T, 
-// T& -> T& 
-// reference_wrapper<T> -> T&
-// const reference_wrapper<T> -> T&
-// array -> const ref array
-
-// make bound arguments const, this is a deliberate design choice, the
-// purpose is to prevent side effects to bound arguments that are stored
-// as copies
-template<class T>
-struct bind_traits {
-  typedef const T type; 
-};
-
-template<class T>
-struct bind_traits<T&> {
-  typedef T& type; 
-};
-
-// null_types are an exception, we always want to store them as non const
-// so that other templates can assume that null_type is always without const
-template<>
-struct bind_traits<null_type> {
-  typedef null_type type;
-};
-
-// the bind_tuple_mapper, bind_type_generators may 
-// introduce const to null_type
-template<>
-struct bind_traits<const null_type> {
-  typedef null_type type;
-};
-
-// Arrays can't be stored as plain types; convert them to references.
-// All arrays are converted to const. This is because bind takes its
-// parameters as const T& and thus the knowledge of the potential 
-// non-constness of actual argument is lost.
-template<class T, int n>  struct bind_traits <T[n]> {
-  typedef const T (&type)[n];
-};
-
-template<class T, int n> 
-struct bind_traits<const T[n]> {
-  typedef const T (&type)[n];
-};
-
-template<class T, int n>  struct bind_traits<volatile T[n]> {
-  typedef const volatile T (&type)[n];
-};
-
-template<class T, int n> 
-struct bind_traits<const volatile T[n]> {
-  typedef const volatile T (&type)[n];
-};
-
-template<class R>
-struct bind_traits<R()> {
-    typedef R(&type)();
-};
-
-template<class R, class Arg1>
-struct bind_traits<R(Arg1)> {
-    typedef R(&type)(Arg1);
-};
-
-template<class R, class Arg1, class Arg2>
-struct bind_traits<R(Arg1, Arg2)> {
-    typedef R(&type)(Arg1, Arg2);
-};
-
-template<class R, class Arg1, class Arg2, class Arg3>
-struct bind_traits<R(Arg1, Arg2, Arg3)> {
-    typedef R(&type)(Arg1, Arg2, Arg3);
-};
-
-template<class R, class Arg1, class Arg2, class Arg3, class Arg4>
-struct bind_traits<R(Arg1, Arg2, Arg3, Arg4)> {
-    typedef R(&type)(Arg1, Arg2, Arg3, Arg4);
-};
-
-template<class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5>
-struct bind_traits<R(Arg1, Arg2, Arg3, Arg4, Arg5)> {
-    typedef R(&type)(Arg1, Arg2, Arg3, Arg4, Arg5);
-};
-
-template<class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6>
-struct bind_traits<R(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)> {
-    typedef R(&type)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6);
-};
-
-template<class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7>
-struct bind_traits<R(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7)> {
-    typedef R(&type)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7);
-};
-
-template<class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8>
-struct bind_traits<R(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8)> {
-    typedef R(&type)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8);
-};
-
-template<class R, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8, class Arg9>
-struct bind_traits<R(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9)> {
-    typedef R(&type)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9);
-};
-
-template<class T> 
-struct bind_traits<reference_wrapper<T> >{
-  typedef T& type;
-};
-
-template<class T> 
-struct bind_traits<const reference_wrapper<T> >{
-  typedef T& type;
-};
-
-template<>
-struct bind_traits<void> {
-  typedef void type;
-};
-
-
-
-template <
-  class T0 = null_type, class T1 = null_type, class T2 = null_type, 
-  class T3 = null_type, class T4 = null_type, class T5 = null_type, 
-  class T6 = null_type, class T7 = null_type, class T8 = null_type, 
-  class T9 = null_type
->
-struct bind_tuple_mapper {
-  typedef
-    tuple<typename bind_traits<T0>::type, 
-          typename bind_traits<T1>::type, 
-          typename bind_traits<T2>::type, 
-          typename bind_traits<T3>::type, 
-          typename bind_traits<T4>::type, 
-          typename bind_traits<T5>::type, 
-          typename bind_traits<T6>::type, 
-          typename bind_traits<T7>::type,
-          typename bind_traits<T8>::type,
-          typename bind_traits<T9>::type> type;
-};
-
-// bind_traits, except map const T& -> const T
-  // this is needed e.g. in currying. Const reference arguments can
-  // refer to temporaries, so it is not safe to store them as references.
-  template <class T> struct remove_const_reference {
-    typedef typename bind_traits<T>::type type;
-  };
-
-  template <class T> struct remove_const_reference<const T&> {
-    typedef const T type;
-  };
-
-
-// maps the bind argument types to the resulting lambda functor type
-template <
-  class T0 = null_type, class T1 = null_type, class T2 = null_type, 
-  class T3 = null_type, class T4 = null_type, class T5 = null_type, 
-  class T6 = null_type, class T7 = null_type, class T8 = null_type, 
-  class T9 = null_type
->
-class bind_type_generator {
-
-  typedef typename
-  detail::bind_tuple_mapper<
-    T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-  >::type args_t;
-
-  BOOST_STATIC_CONSTANT(int, nof_elems = boost::tuples::length<args_t>::value);
-
-  typedef 
-    action<
-      nof_elems, 
-      function_action<nof_elems>
-    > action_type;
-
-public:
-  typedef
-    lambda_functor<
-      lambda_functor_base<
-        action_type, 
-        args_t
-      >
-    > type; 
-    
-};
-
-
-   
-} // detail
-   
-template <class T> inline const T&  make_const(const T& t) { return t; }
-
-
-} // end of namespace lambda
-} // end of namespace boost
-
-
-   
-#endif // BOOST_LAMBDA_TRAITS_HPP
diff --git a/SRC/Boost/boost/lambda/detail/member_ptr.hpp b/SRC/Boost/boost/lambda/detail/member_ptr.hpp
deleted file mode 100755
index 0c2c361..0000000
--- a/SRC/Boost/boost/lambda/detail/member_ptr.hpp
+++ /dev/null
@@ -1,737 +0,0 @@
-// Boost Lambda Library -- member_ptr.hpp ---------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-// Copyright (C) 2000 Gary Powell (gary.powell at sierra.com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-
-// --------------------------------------------------------------------------
-
-#if !defined(BOOST_LAMBDA_MEMBER_PTR_HPP)
-#define BOOST_LAMBDA_MEMBER_PTR_HPP
-
-namespace boost { 
-namespace lambda {
-
-
-class member_pointer_action {};
-
-
-namespace detail {
-
-// the boost type_traits member_pointer traits are not enough, 
-// need to know more details.
-template<class T>
-struct member_pointer {
-  typedef typename boost::add_reference<T>::type type;
-  typedef detail::unspecified class_type;
-  typedef detail::unspecified qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = false);
-};
-
-template<class T, class U>
-struct member_pointer<T U::*> {
-  typedef typename boost::add_reference<T>::type type;
-  typedef U class_type;
-  typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = true);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = false);
-};
-
-template<class T, class U>
-struct member_pointer<const T U::*> {
-  typedef typename boost::add_reference<const T>::type type;
-  typedef U class_type;
-  typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = true);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = false);
-};
-
-template<class T, class U>
-struct member_pointer<volatile T U::*> {
-  typedef typename boost::add_reference<volatile T>::type type;
-  typedef U class_type;
-  typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = true);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = false);
-};
-
-template<class T, class U>
-struct member_pointer<const volatile T U::*> {
-  typedef typename boost::add_reference<const volatile T>::type type;
-  typedef U class_type;
-  typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = true);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = false);
-};
-
-// -- nonconst member functions --
-template<class T, class U>
-struct member_pointer<T (U::*)()> {
-  typedef T type;
-  typedef U class_type;
-  typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1>
-struct member_pointer<T (U::*)(A1)> {
-  typedef T type;
-  typedef U class_type;
-  typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2>
-struct member_pointer<T (U::*)(A1, A2)> {
-  typedef T type;
-  typedef U class_type;
-  typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3>
-struct member_pointer<T (U::*)(A1, A2, A3)> {
-  typedef T type;
-  typedef U class_type;
-  typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4>
-struct member_pointer<T (U::*)(A1, A2, A3, A4)> {
-  typedef T type;
-  typedef U class_type;
-  typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5)> {
-  typedef T type;
-  typedef U class_type;
-  typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6)> {
-  typedef T type;
-  typedef U class_type;
-  typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6, class A7>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6, A7)> {
-  typedef T type;
-  typedef U class_type;
-  typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6, class A7, class A8>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6, A7, A8)> {
-  typedef T type;
-  typedef U class_type;
-  typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6, class A7, class A8, class A9>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9)> {
-  typedef T type;
-  typedef U class_type;
-  typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-// -- const member functions --
-template<class T, class U>
-struct member_pointer<T (U::*)() const> {
-  typedef T type;
-  typedef U class_type;
-  typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1>
-struct member_pointer<T (U::*)(A1) const> {
-  typedef T type;
-  typedef U class_type;
-  typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2>
-struct member_pointer<T (U::*)(A1, A2) const> {
-  typedef T type;
-  typedef U class_type;
-  typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3>
-struct member_pointer<T (U::*)(A1, A2, A3) const> {
-  typedef T type;
-  typedef U class_type;
-  typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4>
-struct member_pointer<T (U::*)(A1, A2, A3, A4) const> {
-  typedef T type;
-  typedef U class_type;
-  typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5) const> {
-  typedef T type;
-  typedef U class_type;
-  typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6) const> {
-  typedef T type;
-  typedef U class_type;
-  typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6, class A7>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6, A7) const> {
-  typedef T type;
-  typedef U class_type;
-  typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6, class A7, class A8>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6, A7, A8) const> {
-  typedef T type;
-  typedef U class_type;
-  typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6, class A7, class A8, class A9>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9) const> {
-  typedef T type;
-  typedef U class_type;
-  typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-  // -- volatile --
-template<class T, class U>
-struct member_pointer<T (U::*)() volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1>
-struct member_pointer<T (U::*)(A1) volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2>
-struct member_pointer<T (U::*)(A1, A2) volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3>
-struct member_pointer<T (U::*)(A1, A2, A3) volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4>
-struct member_pointer<T (U::*)(A1, A2, A3, A4) volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5) volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6) volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6, class A7>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6, A7) volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6, class A7, class A8>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6, A7, A8) volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6, class A7, class A8, class A9>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9) volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-  // -- const volatile
-template<class T, class U>
-struct member_pointer<T (U::*)() const volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1>
-struct member_pointer<T (U::*)(A1) const volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2>
-struct member_pointer<T (U::*)(A1, A2) const volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3>
-struct member_pointer<T (U::*)(A1, A2, A3) const volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4>
-struct member_pointer<T (U::*)(A1, A2, A3, A4) const volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef const volatile U qualified_class_type;
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5) const volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6) const volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6, class A7>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6, A7) const volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6, class A7, class A8>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6, A7, A8) const volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-template<class T, class U, class A1, class A2, class A3, class A4, class A5,
-         class A6, class A7, class A8, class A9>
-struct member_pointer<T (U::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9) const volatile> {
-  typedef T type;
-  typedef U class_type;
-  typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
-};
-
-} // detail
-
-namespace detail {
-
-  // this class holds a pointer to a member function and the object.
-  // when called, it just calls the member function with the parameters 
-  // provided
-
-  // It would have been possible to use existing lambda_functors to represent
-  // a bound member function like this, but to have a separate template is 
-  // safer, since now this functor doesn't mix and match with lambda_functors
-  // only thing you can do with this is to call it
-
-  // note that previously instantiated classes 
-  // (other_action<member_pointer_action> and member_pointer_action_helper
-  // guarantee, that A and B are 
-  // such types, that for objects a and b of corresponding types, a->*b leads 
-  // to the builtin ->* to be called. So types that would end in a  call to 
-  // a user defined ->* do not create a member_pointer_caller object.
-
-template<class RET, class A, class B>
-class member_pointer_caller {
-  A a; B b;
-
-public:
-  member_pointer_caller(const A& aa, const B& bb) : a(aa), b(bb) {}
-
-  RET operator()() const { return (a->*b)(); } 
-
-  template<class A1>
-  RET operator()(const A1& a1) const { return (a->*b)(a1); } 
-
-  template<class A1, class A2>
-  RET operator()(const A1& a1, const A2& a2) const { return (a->*b)(a1, a2); } 
-
-  template<class A1, class A2, class A3>
-  RET operator()(const A1& a1, const A2& a2, const A3& a3) const { 
-    return (a->*b)(a1, a2, a3); 
-  } 
-
-  template<class A1, class A2, class A3, class A4>
-  RET operator()(const A1& a1, const A2& a2, const A3& a3, 
-                 const A4& a4) const { 
-    return (a->*b)(a1, a2, a3, a4); 
-  } 
-
-  template<class A1, class A2, class A3, class A4, class A5>
-  RET operator()(const A1& a1, const A2& a2, const A3& a3, const A4& a4, 
-                 const A5& a5) const { 
-    return (a->*b)(a1, a2, a3, a4, a5); 
-  } 
-
-  template<class A1, class A2, class A3, class A4, class A5, class A6>
-  RET operator()(const A1& a1, const A2& a2, const A3& a3, const A4& a4, 
-                 const A5& a5, const A6& a6) const { 
-    return (a->*b)(a1, a2, a3, a4, a5, a6); 
-  } 
-
-  template<class A1, class A2, class A3, class A4, class A5, class A6, 
-           class A7>
-  RET operator()(const A1& a1, const A2& a2, const A3& a3, const A4& a4, 
-                 const A5& a5, const A6& a6, const A7& a7) const { 
-    return (a->*b)(a1, a2, a3, a4, a5, a6, a7); 
-  } 
-
-  template<class A1, class A2, class A3, class A4, class A5, class A6, 
-           class A7, class A8>
-  RET operator()(const A1& a1, const A2& a2, const A3& a3, const A4& a4, 
-                 const A5& a5, const A6& a6, const A7& a7,
-                 const A8& a8) const { 
-    return (a->*b)(a1, a2, a3, a4, a5, a6, a7, a8); 
-  } 
-
-  template<class A1, class A2, class A3, class A4, class A5, class A6, 
-           class A7, class A8, class A9>
-  RET operator()(const A1& a1, const A2& a2, const A3& a3, const A4& a4, 
-                 const A5& a5, const A6& a6, const A7& a7,
-                 const A8& a8, const A9& a9) const { 
-    return (a->*b)(a1, a2, a3, a4, a5, a6, a7, a8, a9); 
-  } 
-
-};
-
-// helper templates for return type deduction and action classes
-// different cases for data member, function member, neither
-
-// true-true case
-template <bool Is_data_member, bool Is_function_member>
-struct member_pointer_action_helper;
-  // cannot be both, no body provided
-
-  // data member case
-  // this means, that B is a data member and A is a pointer type,
-  // so either built-in ->* should be called, or there is an error
-template <>
-struct member_pointer_action_helper<true, false> {
-public:
-
-  template<class RET, class A, class B>
-  static RET apply(A& a, B& b) { 
-    return a->*b; 
-  }
-
-  template<class A, class B>
-  struct return_type {
-  private:
-    typedef typename detail::remove_reference_and_cv<B>::type plainB;
-
-    typedef typename detail::member_pointer<plainB>::type type0;
-    // we remove the reference now, as we may have to add cv:s 
-    typedef typename boost::remove_reference<type0>::type type1;
-
-    // A is a reference to pointer
-    // remove the top level cv qualifiers and reference
-    typedef typename 
-      detail::remove_reference_and_cv<A>::type non_ref_A;
-
-    // A is a pointer type, so take the type pointed to
-    typedef typename ::boost::remove_pointer<non_ref_A>::type non_pointer_A; 
-
-  public:
-    // For non-reference types, we must add const and/or volatile if
-    // the pointer type has these qualifiers
-    // If the member is a reference, these do not have any effect
-    //   (cv T == T if T is a reference type)
-    typedef typename detail::IF<
-      ::boost::is_const<non_pointer_A>::value, 
-      typename ::boost::add_const<type1>::type,
-      type1
-    >::RET type2;
-    typedef typename detail::IF<
-      ::boost::is_volatile<non_pointer_A>::value, 
-      typename ::boost::add_volatile<type2>::type,
-      type2
-    >::RET type3;
-    // add reference back
-    typedef typename ::boost::add_reference<type3>::type type;
-  };
-};
-
-  // neither case
-template <>
-struct member_pointer_action_helper<false, false> {
-public:
-  template<class RET, class A, class B>
-  static RET apply(A& a, B& b) { 
-// not a built in member pointer operator, just call ->*
-    return a->*b; 
-  }
-  // an overloaded member pointer operators, user should have specified
-  // the return type
-  // At this point we know that there is no matching specialization for
-  // return_type_2, so try return_type_2_plain
-  template<class A, class B>
-  struct return_type {
-
-    typedef typename plain_return_type_2<
-      other_action<member_pointer_action>, A, B
-    >::type type;
-  };
-  
-};
-
-
-// member pointer function case
-// This is a built in ->* call for a member function, 
-// the only thing that you can do with that, is to give it some arguments
-// note, it is guaranteed that A is a pointer type, and thus it cannot
-// be a call to overloaded ->*
-template <>
-struct member_pointer_action_helper<false, true> {
-  public:
-
-  template<class RET, class A, class B>
-  static RET apply(A& a, B& b) { 
-    typedef typename ::boost::remove_cv<B>::type plainB;
-    typedef typename detail::member_pointer<plainB>::type ret_t; 
-    typedef typename ::boost::remove_cv<A>::type plainA;
-
-    // we always strip cv:s to 
-    // make the two routes (calling and type deduction)
-    // to give the same results (and the const does not make any functional
-    // difference)
-    return detail::member_pointer_caller<ret_t, plainA, plainB>(a, b); 
-  }
-
-  template<class A, class B>
-  struct return_type {
-    typedef typename detail::remove_reference_and_cv<B>::type plainB;
-    typedef typename detail::member_pointer<plainB>::type ret_t; 
-    typedef typename detail::remove_reference_and_cv<A>::type plainA; 
-
-    typedef detail::member_pointer_caller<ret_t, plainA, plainB> type; 
-  };
-};
-
-} // detail
-
-template<> class other_action<member_pointer_action>  {
-public:
-  template<class RET, class A, class B>
-  static RET apply(A& a, B& b) {
-    typedef typename 
-      ::boost::remove_cv<B>::type plainB;
-
-    return detail::member_pointer_action_helper<
-        boost::is_pointer<A>::value && 
-          detail::member_pointer<plainB>::is_data_member,
-        boost::is_pointer<A>::value && 
-          detail::member_pointer<plainB>::is_function_member
-      >::template apply<RET>(a, b); 
-    }
-};
-
-  // return type deduction --
-
-  // If the right argument is a pointer to data member, 
-  // and the left argument is of compatible pointer to class type
-  // return type is a reference to the data member type
-
-  // if right argument is a pointer to a member function, and the left 
-  // argument is of a compatible type, the return type is a 
-  // member_pointer_caller (see above)
-
-  // Otherwise, return type deduction fails. There is either an error, 
-  // or the user is trying to call an overloaded ->*
-  // In such a case either ret<> must be used, or a return_type_2 user 
-  // defined specialization must be provided
-
-
-template<class A, class B>
-struct return_type_2<other_action<member_pointer_action>, A, B> {
-private:
-  typedef typename 
-    detail::remove_reference_and_cv<B>::type plainB;
-public:
-  typedef typename 
-    detail::member_pointer_action_helper<
-      detail::member_pointer<plainB>::is_data_member,
-      detail::member_pointer<plainB>::is_function_member
-    >::template return_type<A, B>::type type; 
-};
-
-  // this is the way the generic lambda_functor_base functions instantiate
-  // return type deduction. We turn it into return_type_2, so that the 
-  // user can provide specializations on that level.
-template<class Args>
-struct return_type_N<other_action<member_pointer_action>, Args> {
-  typedef typename boost::tuples::element<0, Args>::type A;
-  typedef typename boost::tuples::element<1, Args>::type B;
-  typedef typename 
-    return_type_2<other_action<member_pointer_action>, 
-                  typename boost::remove_reference<A>::type, 
-                  typename boost::remove_reference<B>::type
-                 >::type type;
-};
-
-
-template<class Arg1, class Arg2>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<2, other_action<member_pointer_action> >,
-    tuple<lambda_functor<Arg1>, typename const_copy_argument<Arg2>::type>
-  >
->
-operator->*(const lambda_functor<Arg1>& a1, const Arg2& a2)
-{
-  return 
-      lambda_functor_base<
-        action<2, other_action<member_pointer_action> >,
-        tuple<lambda_functor<Arg1>, typename const_copy_argument<Arg2>::type>
-      >
-      (tuple<lambda_functor<Arg1>, 
-             typename const_copy_argument<Arg2>::type>(a1, a2));
-}
-
-template<class Arg1, class Arg2>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<2, other_action<member_pointer_action> >,
-    tuple<lambda_functor<Arg1>, lambda_functor<Arg2> >
-  >
->
-operator->*(const lambda_functor<Arg1>& a1, const lambda_functor<Arg2>& a2)
-{
-  return 
-      lambda_functor_base<
-        action<2, other_action<member_pointer_action> >,
-        tuple<lambda_functor<Arg1>, lambda_functor<Arg2> >
-      >
-    (tuple<lambda_functor<Arg1>, lambda_functor<Arg2> >(a1, a2));
-}
-
-template<class Arg1, class Arg2>
-inline const
-lambda_functor<
-  lambda_functor_base<
-    action<2, other_action<member_pointer_action> >,
-    tuple<typename const_copy_argument<Arg1>::type, lambda_functor<Arg2> >
-  >
->
-operator->*(const Arg1& a1, const lambda_functor<Arg2>& a2)
-{
-  return 
-      lambda_functor_base<
-        action<2, other_action<member_pointer_action> >,
-        tuple<typename const_copy_argument<Arg1>::type, lambda_functor<Arg2> >
-      >
-      (tuple<typename const_copy_argument<Arg1>::type, 
-             lambda_functor<Arg2> >(a1, a2));
-}
-
-
-} // namespace lambda 
-} // namespace boost
-
-
-#endif
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/lambda/detail/operator_actions.hpp b/SRC/Boost/boost/lambda/detail/operator_actions.hpp
deleted file mode 100755
index dc880b4..0000000
--- a/SRC/Boost/boost/lambda/detail/operator_actions.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-// -- operator_actions.hpp - Boost Lambda Library ----------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://lambda.cs.utu.fi 
-
-#ifndef BOOST_LAMBDA_OPERATOR_ACTIONS_HPP
-#define BOOST_LAMBDA_OPERATOR_ACTIONS_HPP
-
-namespace boost { 
-namespace lambda {
-
-
-// -- artihmetic ----------------------
-
-class plus_action {};
-class minus_action {};
-class multiply_action {};
-class divide_action {};
-class remainder_action {};
-
-// -- bitwise  -------------------
-
-class leftshift_action {};
-class rightshift_action {};
-class xor_action {};
-
-
-// -- bitwise/logical -------------------
-
-class and_action {};
-class or_action {};
-class not_action {};
-
-// -- relational -------------------------
-
-class less_action {};
-class greater_action {};
-class lessorequal_action {};
-class greaterorequal_action {};
-class equal_action {};
-class notequal_action {};
-
-// -- increment/decrement ------------------------------
-
-class increment_action {};
-class decrement_action {};
-
-// -- void return ------------------------------
-
-// -- other  ------------------------------
-
-class addressof_action {};
-  // class comma_action {}; // defined in actions.hpp
-class contentsof_action {};
-// class member_pointer_action {}; (defined in member_ptr.hpp)
-
-
-// -- actioun group templates --------------------
-
-template <class Action> class arithmetic_action;
-template <class Action> class bitwise_action;
-template <class Action> class logical_action;
-template <class Action> class relational_action;
-template <class Action> class arithmetic_assignment_action;
-template <class Action> class bitwise_assignment_action;
-template <class Action> class unary_arithmetic_action;
-template <class Action> class pre_increment_decrement_action;
-template <class Action> class post_increment_decrement_action;
-
-// ---------------------------------------------------------
-
-  // actions, for which the existence of protect is checked in return type 
-  // deduction.
-
-template <class Act> struct is_protectable<arithmetic_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-template <class Act> struct is_protectable<bitwise_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-template <class Act> struct is_protectable<logical_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-template <class Act> struct is_protectable<relational_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-template <class Act> 
-struct is_protectable<arithmetic_assignment_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-template <class Act> struct is_protectable<bitwise_assignment_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-template <class Act> struct is_protectable<unary_arithmetic_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-template <class Act> 
-struct is_protectable<pre_increment_decrement_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-template <class Act> struct 
-is_protectable<post_increment_decrement_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template <> struct is_protectable<other_action<addressof_action> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-template <> struct is_protectable<other_action<contentsof_action> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<> struct is_protectable<other_action<subscript_action> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-template<> struct is_protectable<other_action<assignment_action> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-// NOTE: comma action is also protectable, but the specialization is
-  // in actions.hpp
-
-
-} // namespace lambda 
-} // namespace boost
-
-#endif
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/lambda/detail/operator_lambda_func_base.hpp b/SRC/Boost/boost/lambda/detail/operator_lambda_func_base.hpp
deleted file mode 100755
index b740e32..0000000
--- a/SRC/Boost/boost/lambda/detail/operator_lambda_func_base.hpp
+++ /dev/null
@@ -1,271 +0,0 @@
-// Boost Lambda Library  - operator_lambda_func_base.hpp -----------------
-//
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-
-// ------------------------------------------------------------
-
-#ifndef BOOST_LAMBDA_OPERATOR_LAMBDA_FUNC_BASE_HPP
-#define BOOST_LAMBDA_OPERATOR_LAMBDA_FUNC_BASE_HPP
-
-namespace boost { 
-namespace lambda {
-
-
-// These operators cannot be implemented as apply functions of action 
-// templates
-
-
-// Specialization for comma.
-template<class Args>
-class lambda_functor_base<other_action<comma_action>, Args> {
-public:
-  Args args;
-public:
-  explicit lambda_functor_base(const Args& a) : args(a) {}
-
-  template<class RET, CALL_TEMPLATE_ARGS>
-  RET call(CALL_FORMAL_ARGS) const {
-    return detail::select(boost::tuples::get<0>(args), CALL_ACTUAL_ARGS), 
-           detail::select(boost::tuples::get<1>(args), CALL_ACTUAL_ARGS); 
-  }
-
-
-  template<class SigArgs> struct sig { 
-  private:
-    typedef typename
-      detail::deduce_argument_types<Args, SigArgs>::type rets_t;      
-  public:
-    typedef typename return_type_2_comma< // comma needs special handling
-      typename detail::element_or_null<0, rets_t>::type,
-      typename detail::element_or_null<1, rets_t>::type
-    >::type type;
-  };
-
-};  
-
-namespace detail {
-
-// helper traits to make the expression shorter, takes binary action
-// bound argument tuple, open argument tuple and gives the return type
-
-template<class Action, class Bound, class Open> class binary_rt {
-  private:
-    typedef typename
-      detail::deduce_argument_types<Bound, Open>::type rets_t;      
-  public:
-    typedef typename return_type_2_prot<
-      Action,  
-      typename detail::element_or_null<0, rets_t>::type,
-      typename detail::element_or_null<1, rets_t>::type
-    >::type type;
-};
-
-
-  // same for unary actions
-template<class Action, class Bound, class Open> class unary_rt {
-  private:
-    typedef typename
-      detail::deduce_argument_types<Bound, Open>::type rets_t;      
-  public:
-    typedef typename return_type_1_prot<
-      Action,  
-      typename detail::element_or_null<0, rets_t>::type
-    >::type type;
-};
-
-
-} // end detail
-
-// Specialization for logical and (to preserve shortcircuiting)
-// this could be done with a macro as the others, code used to be different
-template<class Args>
-class lambda_functor_base<logical_action<and_action>, Args> {
-public:
-  Args args;
-public:
-  explicit lambda_functor_base(const Args& a) : args(a) {}
-
-  template<class RET, CALL_TEMPLATE_ARGS>
-  RET call(CALL_FORMAL_ARGS) const {
-    return detail::select(boost::tuples::get<0>(args), CALL_ACTUAL_ARGS) && 
-           detail::select(boost::tuples::get<1>(args), CALL_ACTUAL_ARGS); 
-  }
-  template<class SigArgs> struct sig { 
-    typedef typename
-      detail::binary_rt<logical_action<and_action>, Args, SigArgs>::type type;
-  };      
-};  
-
-// Specialization for logical or (to preserve shortcircuiting)
-// this could be done with a macro as the others, code used to be different
-template<class Args>
-class lambda_functor_base<logical_action< or_action>, Args> {
-public:
-  Args args;
-public:
-  explicit lambda_functor_base(const Args& a) : args(a) {}
-
-  template<class RET, CALL_TEMPLATE_ARGS>
-  RET call(CALL_FORMAL_ARGS) const {
-    return detail::select(boost::tuples::get<0>(args), CALL_ACTUAL_ARGS) || 
-           detail::select(boost::tuples::get<1>(args), CALL_ACTUAL_ARGS); 
-  }
-
-  template<class SigArgs> struct sig { 
-    typedef typename
-      detail::binary_rt<logical_action<or_action>, Args, SigArgs>::type type;
-  };      
-};  
-
-// Specialization for subscript
-template<class Args>
-class lambda_functor_base<other_action<subscript_action>, Args> {
-public:
-  Args args;
-public:
-  explicit lambda_functor_base(const Args& a) : args(a) {}
-
-  template<class RET, CALL_TEMPLATE_ARGS>
-  RET call(CALL_FORMAL_ARGS) const {
-    return detail::select(boost::tuples::get<0>(args), CALL_ACTUAL_ARGS) 
-           [detail::select(boost::tuples::get<1>(args), CALL_ACTUAL_ARGS)]; 
-  }
-
-  template<class SigArgs> struct sig { 
-    typedef typename
-      detail::binary_rt<other_action<subscript_action>, Args, SigArgs>::type 
-        type;
-  };      
-};  
-
-
-#define BOOST_LAMBDA_BINARY_ACTION(SYMBOL, ACTION_CLASS)  \
-template<class Args>                                                      \
-class lambda_functor_base<ACTION_CLASS, Args> {                           \
-public:                                                                   \
-  Args args;                                                              \
-public:                                                                   \
-  explicit lambda_functor_base(const Args& a) : args(a) {}                \
-                                                                          \
-  template<class RET, CALL_TEMPLATE_ARGS>                                 \
-  RET call(CALL_FORMAL_ARGS) const {                                      \
-    return detail::select(boost::tuples::get<0>(args), CALL_ACTUAL_ARGS)  \
-           SYMBOL                                                         \
-           detail::select(boost::tuples::get<1>(args), CALL_ACTUAL_ARGS); \
-  }                                                                       \
-  template<class SigArgs> struct sig {                                    \
-    typedef typename                                                      \
-      detail::binary_rt<ACTION_CLASS, Args, SigArgs>::type type;          \
-  };                                                                      \
-};  
-
-#define BOOST_LAMBDA_PREFIX_UNARY_ACTION(SYMBOL, ACTION_CLASS)            \
-template<class Args>                                                      \
-class lambda_functor_base<ACTION_CLASS, Args> {                           \
-public:                                                                   \
-  Args args;                                                              \
-public:                                                                   \
-  explicit lambda_functor_base(const Args& a) : args(a) {}                \
-                                                                          \
-  template<class RET, CALL_TEMPLATE_ARGS>                                 \
-  RET call(CALL_FORMAL_ARGS) const {                                      \
-    return SYMBOL                                                         \
-           detail::select(boost::tuples::get<0>(args), CALL_ACTUAL_ARGS); \
-  }                                                                       \
-  template<class SigArgs> struct sig {                                    \
-    typedef typename                                                      \
-      detail::unary_rt<ACTION_CLASS, Args, SigArgs>::type type;           \
-  };                                                                      \
-};  
-
-#define BOOST_LAMBDA_POSTFIX_UNARY_ACTION(SYMBOL, ACTION_CLASS)           \
-template<class Args>                                                      \
-class lambda_functor_base<ACTION_CLASS, Args> {                           \
-public:                                                                   \
-  Args args;                                                              \
-public:                                                                   \
-  explicit lambda_functor_base(const Args& a) : args(a) {}                \
-                                                                          \
-  template<class RET, CALL_TEMPLATE_ARGS>                                 \
-  RET call(CALL_FORMAL_ARGS) const {                                      \
-    return                                                                \
-    detail::select(boost::tuples::get<0>(args), CALL_ACTUAL_ARGS) SYMBOL; \
-  }                                                                       \
-  template<class SigArgs> struct sig {                                    \
-    typedef typename                                                      \
-      detail::unary_rt<ACTION_CLASS, Args, SigArgs>::type type;           \
-  };                                                                      \
-};  
-
-BOOST_LAMBDA_BINARY_ACTION(+,arithmetic_action<plus_action>)
-BOOST_LAMBDA_BINARY_ACTION(-,arithmetic_action<minus_action>)
-BOOST_LAMBDA_BINARY_ACTION(*,arithmetic_action<multiply_action>)
-BOOST_LAMBDA_BINARY_ACTION(/,arithmetic_action<divide_action>)
-BOOST_LAMBDA_BINARY_ACTION(%,arithmetic_action<remainder_action>)
-
-BOOST_LAMBDA_BINARY_ACTION(<<,bitwise_action<leftshift_action>)
-BOOST_LAMBDA_BINARY_ACTION(>>,bitwise_action<rightshift_action>)
-BOOST_LAMBDA_BINARY_ACTION(&,bitwise_action<and_action>)
-BOOST_LAMBDA_BINARY_ACTION(|,bitwise_action<or_action>)
-BOOST_LAMBDA_BINARY_ACTION(^,bitwise_action<xor_action>)
-
-BOOST_LAMBDA_BINARY_ACTION(<,relational_action<less_action>)
-BOOST_LAMBDA_BINARY_ACTION(>,relational_action<greater_action>)
-BOOST_LAMBDA_BINARY_ACTION(<=,relational_action<lessorequal_action>)
-BOOST_LAMBDA_BINARY_ACTION(>=,relational_action<greaterorequal_action>)
-BOOST_LAMBDA_BINARY_ACTION(==,relational_action<equal_action>)
-BOOST_LAMBDA_BINARY_ACTION(!=,relational_action<notequal_action>)
-
-BOOST_LAMBDA_BINARY_ACTION(+=,arithmetic_assignment_action<plus_action>)
-BOOST_LAMBDA_BINARY_ACTION(-=,arithmetic_assignment_action<minus_action>)
-BOOST_LAMBDA_BINARY_ACTION(*=,arithmetic_assignment_action<multiply_action>)
-BOOST_LAMBDA_BINARY_ACTION(/=,arithmetic_assignment_action<divide_action>)
-BOOST_LAMBDA_BINARY_ACTION(%=,arithmetic_assignment_action<remainder_action>)
-
-BOOST_LAMBDA_BINARY_ACTION(<<=,bitwise_assignment_action<leftshift_action>)
-BOOST_LAMBDA_BINARY_ACTION(>>=,bitwise_assignment_action<rightshift_action>)
-BOOST_LAMBDA_BINARY_ACTION(&=,bitwise_assignment_action<and_action>)
-BOOST_LAMBDA_BINARY_ACTION(|=,bitwise_assignment_action<or_action>)
-BOOST_LAMBDA_BINARY_ACTION(^=,bitwise_assignment_action<xor_action>)
-
-BOOST_LAMBDA_BINARY_ACTION(=,other_action< assignment_action>)
-
-
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(+, unary_arithmetic_action<plus_action>)
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(-, unary_arithmetic_action<minus_action>)
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(~, bitwise_action<not_action>)
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(!, logical_action<not_action>)
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(++, pre_increment_decrement_action<increment_action>)
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(--, pre_increment_decrement_action<decrement_action>)
-
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(&,other_action<addressof_action>)
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(*,other_action<contentsof_action>)
-
-BOOST_LAMBDA_POSTFIX_UNARY_ACTION(++, post_increment_decrement_action<increment_action>)
-BOOST_LAMBDA_POSTFIX_UNARY_ACTION(--, post_increment_decrement_action<decrement_action>)
-
-
-#undef BOOST_LAMBDA_POSTFIX_UNARY_ACTION
-#undef BOOST_LAMBDA_PREFIX_UNARY_ACTION
-#undef BOOST_LAMBDA_BINARY_ACTION
-
-} // namespace lambda
-} // namespace boost
-
-#endif
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/lambda/detail/operator_return_type_traits.hpp b/SRC/Boost/boost/lambda/detail/operator_return_type_traits.hpp
deleted file mode 100755
index 8e411ee..0000000
--- a/SRC/Boost/boost/lambda/detail/operator_return_type_traits.hpp
+++ /dev/null
@@ -1,917 +0,0 @@
-//  operator_return_type_traits.hpp -- Boost Lambda Library ------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-
-#ifndef BOOST_LAMBDA_OPERATOR_RETURN_TYPE_TRAITS_HPP
-#define BOOST_LAMBDA_OPERATOR_RETURN_TYPE_TRAITS_HPP
-
-#include "boost/lambda/detail/is_instance_of.hpp"
-#include "boost/type_traits/same_traits.hpp"
-
-#include "boost/indirect_reference.hpp"
-#include "boost/detail/container_fwd.hpp"
-
-#include <cstddef> // needed for the ptrdiff_t
-#include <iosfwd>  // for istream and ostream
-
-#include <iterator> // needed for operator&
-
-namespace boost { 
-namespace lambda {
-namespace detail {
-
-// -- general helper templates for type deduction ------------------
-
-// Much of the type deduction code for standard arithmetic types from Gary Powell
-
-template <class A> struct promote_code { static const int value = -1; };
-// this means that a code is not defined for A
-
-// -- the next 5 types are needed in if_then_else_return 
-// the promotion order is not important, but they must have distinct values.
-template <> struct promote_code<bool> { static const int value = 10; };
-template <> struct promote_code<char> { static const int value = 20; };
-template <> struct promote_code<unsigned char> { static const int value = 30; };
-template <> struct promote_code<signed char> { static const int value = 40; };
-template <> struct promote_code<short int> { static const int value = 50; };
-// ----------
-
-template <> struct promote_code<int> { static const int value = 100; };
-template <> struct promote_code<unsigned int> { static const int value = 200; };
-template <> struct promote_code<long> { static const int value = 300; };
-template <> struct promote_code<unsigned long> { static const int value = 400; };
-
-template <> struct promote_code<float> { static const int value = 500; };
-template <> struct promote_code<double> { static const int value = 600; };
-template <> struct promote_code<long double> { static const int value = 700; };
-
-// TODO: wchar_t
-
-// forward delcaration of complex.
-
-} // namespace detail
-} // namespace lambda 
-} // namespace boost
-
-namespace boost { 
-namespace lambda {
-namespace detail {
-
-template <> struct promote_code< std::complex<float> > { static const int value = 800; };
-template <> struct promote_code< std::complex<double> > { static const int value = 900; };
-template <> struct promote_code< std::complex<long double> > { static const int value = 1000; };
-
-// -- int promotion -------------------------------------------
-template <class T> struct promote_to_int { typedef T type; };
-
-template <> struct promote_to_int<bool> { typedef int type; };
-template <> struct promote_to_int<char> { typedef int type; };
-template <> struct promote_to_int<unsigned char> { typedef int type; };
-template <> struct promote_to_int<signed char> { typedef int type; };
-template <> struct promote_to_int<short int> { typedef int type; };
-
-// The unsigned short int promotion rule is this:
-// unsigned short int to signed int if a signed int can hold all values 
-// of unsigned short int, otherwise go to unsigned int.
-template <> struct promote_to_int<unsigned short int>
-{ 
-        typedef
-                detail::IF<sizeof(int) <= sizeof(unsigned short int),        
-// I had the logic reversed but ">" messes up the parsing.
-                unsigned int,
-                int>::RET type; 
-};
-
-
-// TODO: think, should there be default behaviour for non-standard types?
-
-} // namespace detail
-
-// ------------------------------------------ 
-// Unary actions ----------------------------
-// ------------------------------------------ 
-
-template<class Act, class A>
-struct plain_return_type_1 {
-  typedef detail::unspecified type;
-};
-
-
-
-template<class Act, class A>
-struct plain_return_type_1<unary_arithmetic_action<Act>, A> {
-  typedef A type;
-};
-
-template<class Act, class A> 
-struct return_type_1<unary_arithmetic_action<Act>, A> { 
-  typedef 
-    typename plain_return_type_1<
-      unary_arithmetic_action<Act>,
-      typename detail::remove_reference_and_cv<A>::type
-    >::type type;
-};
-
-
-template<class A>
-struct plain_return_type_1<bitwise_action<not_action>, A> {
-  typedef A type;
-};
-
-// bitwise not, operator~()
-template<class A> struct return_type_1<bitwise_action<not_action>, A> {
-  typedef 
-    typename plain_return_type_1<
-      bitwise_action<not_action>,
-      typename detail::remove_reference_and_cv<A>::type
-    >::type type;
-};
-
-
-// prefix increment and decrement operators return 
-// their argument by default as a non-const reference
-template<class Act, class A> 
-struct plain_return_type_1<pre_increment_decrement_action<Act>, A> {
-  typedef A& type;
-};
-
-template<class Act, class A> 
-struct return_type_1<pre_increment_decrement_action<Act>, A> {
-  typedef 
-    typename plain_return_type_1<
-      pre_increment_decrement_action<Act>,
-      typename detail::remove_reference_and_cv<A>::type
-    >::type type;
-};
-
-// post decrement just returns the same plain type.
-template<class Act, class A>
-struct plain_return_type_1<post_increment_decrement_action<Act>, A> {
-  typedef A type;
-};
-
-template<class Act, class A> 
-struct return_type_1<post_increment_decrement_action<Act>, A> 
-{ 
-  typedef 
-    typename plain_return_type_1<
-      post_increment_decrement_action<Act>,
-      typename detail::remove_reference_and_cv<A>::type
-    >::type type;
-};
-
-// logical not, operator!()
-template<class A> 
-struct plain_return_type_1<logical_action<not_action>, A> {
-  typedef bool type;
-};
-
-template<class A>
-struct return_type_1<logical_action<not_action>, A> {
-  typedef 
-    typename plain_return_type_1<
-      logical_action<not_action>,
-      typename detail::remove_reference_and_cv<A>::type
-    >::type type;
-};
-
-// address of action ---------------------------------------
-
-
-template<class A> 
-struct return_type_1<other_action<addressof_action>, A> { 
-  typedef 
-    typename plain_return_type_1<
-      other_action<addressof_action>, 
-      typename detail::remove_reference_and_cv<A>::type
-    >::type type1;
-
-  // If no user defined specialization for A, then return the
-  // cv qualified pointer to A
-  typedef typename detail::IF<
-    boost::is_same<type1, detail::unspecified>::value, 
-    typename boost::remove_reference<A>::type*,
-    type1
-  >::RET type;
-};
-
-// contentsof action ------------------------------------
-
-// TODO: this deduction may lead to fail directly, 
-// (if A has no specialization for iterator_traits and has no
-// typedef A::reference.
-// There is no easy way around this, cause there doesn't seem to be a way
-// to test whether a class is an iterator or not.
- 
-// The default works with std::iterators.
-
-namespace detail {
-
-  // A is a nonreference type
-template <class A> struct contentsof_type {
-  typedef typename boost::indirect_reference<A>::type type; 
-};
-
-  // this is since the nullary () in lambda_functor is always instantiated
-template <> struct contentsof_type<null_type> {
-  typedef detail::unspecified type;
-};
-
-
-template <class A> struct contentsof_type<const A> {
-  typedef typename contentsof_type<A>::type type;
-};
-
-template <class A> struct contentsof_type<volatile A> {
-  typedef typename contentsof_type<A>::type type;
-};
-
-template <class A> struct contentsof_type<const volatile A> {
-  typedef typename contentsof_type<A>::type type;
-};
-
-  // standard iterator traits should take care of the pointer types 
-  // but just to be on the safe side, we have the specializations here:
-  // these work even if A is cv-qualified.
-template <class A> struct contentsof_type<A*> {
-  typedef A& type;
-};
-template <class A> struct contentsof_type<A* const> {
-  typedef A& type;
-};
-template <class A> struct contentsof_type<A* volatile> {
-  typedef A& type;
-};
-template <class A> struct contentsof_type<A* const volatile> {
-  typedef A& type;
-};
-
-template<class A, int N> struct contentsof_type<A[N]> { 
-  typedef A& type; 
-};
-template<class A, int N> struct contentsof_type<const A[N]> { 
-  typedef const A& type; 
-};
-template<class A, int N> struct contentsof_type<volatile A[N]> { 
-  typedef volatile A& type; 
-};
-template<class A, int N> struct contentsof_type<const volatile A[N]> { 
-  typedef const volatile A& type; 
-};
-
-
-
-
-
-} // end detail
-
-template<class A> 
-struct return_type_1<other_action<contentsof_action>, A> { 
-
-  typedef 
-    typename plain_return_type_1<
-      other_action<contentsof_action>, 
-      typename detail::remove_reference_and_cv<A>::type
-    >::type type1;
-
-  // If no user defined specialization for A, then return the
-  // cv qualified pointer to A
-  typedef typename 
-  detail::IF_type<
-    boost::is_same<type1, detail::unspecified>::value, 
-    detail::contentsof_type<
-      typename boost::remove_reference<A>::type
-    >,
-    detail::identity_mapping<type1>
-  >::type type;
-};
-
-
-// ------------------------------------------------------------------
-// binary actions ---------------------------------------------------
-// ------------------------------------------------------------------
-
-// here the default case is: no user defined versions:
-template <class Act, class A, class B>
-struct plain_return_type_2 {
-  typedef detail::unspecified type; 
-};
-
-namespace detail {
-
-// error classes
-class illegal_pointer_arithmetic{};
-
-// pointer arithmetic type deductions ----------------------
-// value = false means that this is not a pointer arithmetic case
-// value = true means, that this can be a pointer arithmetic case, but not necessarily is
-// This means, that for user defined operators for pointer types, say for some operator+(X, *Y),
-// the deductions must be coded at an earliel level (return_type_2).
-
-template<class Act, class A, class B> 
-struct pointer_arithmetic_traits { static const bool value = false; };
-
-template<class A, class B> 
-struct pointer_arithmetic_traits<plus_action, A, B> { 
-
-  typedef typename 
-    array_to_pointer<typename boost::remove_reference<A>::type>::type AP;
-  typedef typename 
-    array_to_pointer<typename boost::remove_reference<B>::type>::type BP;
-
-  static const bool is_pointer_A = boost::is_pointer<AP>::value;
-  static const bool is_pointer_B = boost::is_pointer<BP>::value;  
-
-  static const bool value = is_pointer_A || is_pointer_B;
-
-  // can't add two pointers.
-  // note, that we do not check wether the other type is valid for 
-  // addition with a pointer.
-  // the compiler will catch it in the apply function
-
-  typedef typename 
-  detail::IF<
-    is_pointer_A && is_pointer_B, 
-      detail::return_type_deduction_failure<
-        detail::illegal_pointer_arithmetic
-      >,
-      typename detail::IF<is_pointer_A, AP, BP>::RET
-  >::RET type; 
-
-};
-
-template<class A, class B> 
-struct pointer_arithmetic_traits<minus_action, A, B> { 
-  typedef typename 
-    array_to_pointer<typename boost::remove_reference<A>::type>::type AP;
-  typedef typename 
-    array_to_pointer<typename boost::remove_reference<B>::type>::type BP;
-
-  static const bool is_pointer_A = boost::is_pointer<AP>::value;
-  static const bool is_pointer_B = boost::is_pointer<BP>::value;  
-
-  static const bool value = is_pointer_A || is_pointer_B;
-
-  static const bool same_pointer_type =
-    is_pointer_A && is_pointer_B && 
-    boost::is_same<
-      typename boost::remove_const<
-        typename boost::remove_pointer<
-          typename boost::remove_const<AP>::type
-        >::type
-      >::type,
-      typename boost::remove_const<
-        typename boost::remove_pointer<
-          typename boost::remove_const<BP>::type
-        >::type
-      >::type
-    >::value;
-
-  // ptr - ptr has type ptrdiff_t
-  // note, that we do not check if, in ptr - B, B is 
-  // valid for subtraction with a pointer.
-  // the compiler will catch it in the apply function
-
-  typedef typename 
-  detail::IF<
-    same_pointer_type, const std::ptrdiff_t,
-    typename detail::IF<
-      is_pointer_A, 
-      AP, 
-      detail::return_type_deduction_failure<detail::illegal_pointer_arithmetic>
-    >::RET
-  >::RET type; 
-};
-
-} // namespace detail
-   
-// -- arithmetic actions ---------------------------------------------
-
-namespace detail {
-   
-template<bool is_pointer_arithmetic, class Act, class A, class B> 
-struct return_type_2_arithmetic_phase_1;
-
-template<class A, class B> struct return_type_2_arithmetic_phase_2;
-template<class A, class B> struct return_type_2_arithmetic_phase_3;
-
-} // namespace detail
-  
-
-// drop any qualifiers from the argument types within arithmetic_action
-template<class A, class B, class Act> 
-struct return_type_2<arithmetic_action<Act>, A, B>
-{
-  typedef typename detail::remove_reference_and_cv<A>::type plain_A;
-  typedef typename detail::remove_reference_and_cv<B>::type plain_B;
-
-  typedef typename 
-    plain_return_type_2<arithmetic_action<Act>, plain_A, plain_B>::type type1;
-  
-  // if user defined return type, do not enter the whole arithmetic deductions
-  typedef typename 
-    detail::IF_type<
-      boost::is_same<type1, detail::unspecified>::value, 
-      detail::return_type_2_arithmetic_phase_1<
-         detail::pointer_arithmetic_traits<Act, A, B>::value, Act, A, B
-      >,
-      plain_return_type_2<arithmetic_action<Act>, plain_A, plain_B>
-    >::type type;
-};
-
-namespace detail {
-   
-// perform integral promotion, no pointer arithmetic
-template<bool is_pointer_arithmetic, class Act, class A, class B> 
-struct return_type_2_arithmetic_phase_1
-{
-  typedef typename 
-    return_type_2_arithmetic_phase_2<
-      typename remove_reference_and_cv<A>::type,
-      typename remove_reference_and_cv<B>::type
-    >::type type;
-};
-
-// pointer_arithmetic
-template<class Act, class A, class B> 
-struct return_type_2_arithmetic_phase_1<true, Act, A, B>
-{
-  typedef typename 
-    pointer_arithmetic_traits<Act, A, B>::type type;
-};
-
-template<class A, class B>
-struct return_type_2_arithmetic_phase_2 {
-  typedef typename
-    return_type_2_arithmetic_phase_3<
-      typename promote_to_int<A>::type, 
-      typename promote_to_int<B>::type
-    >::type type;
-};
-
-// specialization for unsigned int.
-// We only have to do these two specialization because the value promotion will
-// take care of the other cases.
-// The unsigned int promotion rule is this:
-// unsigned int to long if a long can hold all values of unsigned int,
-// otherwise go to unsigned long.
-
-// struct so I don't have to type this twice.
-struct promotion_of_unsigned_int
-{
-        typedef
-        detail::IF<sizeof(long) <= sizeof(unsigned int),        
-                unsigned long,
-                long>::RET type; 
-};
-
-template<>
-struct return_type_2_arithmetic_phase_2<unsigned int, long>
-{
-        typedef promotion_of_unsigned_int::type type;
-};
-template<>
-struct return_type_2_arithmetic_phase_2<long, unsigned int>
-{
-        typedef promotion_of_unsigned_int::type type;
-};
-
-
-template<class A, class B> struct return_type_2_arithmetic_phase_3 { 
-   enum { promote_code_A_value = promote_code<A>::value,
-         promote_code_B_value = promote_code<B>::value }; // enums for KCC
-  typedef typename
-    detail::IF<
-      promote_code_A_value == -1 || promote_code_B_value == -1,
-      detail::return_type_deduction_failure<return_type_2_arithmetic_phase_3>,
-      typename detail::IF<
-        ((int)promote_code_A_value > (int)promote_code_B_value), 
-        A, 
-        B
-      >::RET
-    >::RET type;                    
-};
-
-} // namespace detail
-
-// --  bitwise actions -------------------------------------------
-// note: for integral types deuduction is similar to arithmetic actions. 
-
-// drop any qualifiers from the argument types within arithmetic action
-template<class A, class B, class Act> 
-struct return_type_2<bitwise_action<Act>, A, B>
-{
-
-  typedef typename detail::remove_reference_and_cv<A>::type plain_A;
-  typedef typename detail::remove_reference_and_cv<B>::type plain_B;
-
-  typedef typename 
-    plain_return_type_2<bitwise_action<Act>, plain_A, plain_B>::type type1;
-  
-  // if user defined return type, do not enter type deductions
-  typedef typename 
-    detail::IF_type<
-      boost::is_same<type1, detail::unspecified>::value, 
-      return_type_2<arithmetic_action<plus_action>, A, B>,
-      plain_return_type_2<bitwise_action<Act>, plain_A, plain_B>
-    >::type type;
-
-  // plus_action is just a random pick, has to be a concrete instance
-
-  // TODO: This check is only valid for built-in types, overloaded types might
-  // accept floating point operators
-
-  // bitwise operators not defined for floating point types
-  // these test are not strictly needed here, since the error will be caught in
-  // the apply function
-  BOOST_STATIC_ASSERT(!(boost::is_float<plain_A>::value && boost::is_float<plain_B>::value));
-
-};
-
-namespace detail {
-
-#ifdef BOOST_NO_TEMPLATED_STREAMS
-
-template<class A, class B>
-struct leftshift_type {
-
-  typedef typename detail::IF<
-    boost::is_convertible<
-      typename boost::remove_reference<A>::type*,
-      std::ostream*
-    >::value,
-    std::ostream&, 
-    typename detail::remove_reference_and_cv<A>::type
-  >::RET type;
-};
-
-template<class A, class B>
-struct rightshift_type {
-
-  typedef typename detail::IF<
-
-    boost::is_convertible<
-      typename boost::remove_reference<A>::type*,
-      std::istream*
-    >::value, 
-    std::istream&,
-    typename detail::remove_reference_and_cv<A>::type
-  >::RET type;
-};
-
-#else
-
-template <class T> struct get_ostream_type {
-  typedef std::basic_ostream<typename T::char_type, 
-                             typename T::traits_type>& type;
-};
-
-template <class T> struct get_istream_type {
-  typedef std::basic_istream<typename T::char_type, 
-                             typename T::traits_type>& type;
-};
-
-template<class A, class B>
-struct leftshift_type {
-private:
-  typedef typename boost::remove_reference<A>::type plainA;
-public:
-  typedef typename detail::IF_type<
-    is_instance_of_2<plainA, std::basic_ostream>::value, 
-    get_ostream_type<plainA>, //reference to the stream 
-    detail::remove_reference_and_cv<A>
-  >::type type;
-};
-
-template<class A, class B>
-struct rightshift_type {
-private:
-  typedef typename boost::remove_reference<A>::type plainA;
-public:
-  typedef typename detail::IF_type<
-    is_instance_of_2<plainA, std::basic_istream>::value, 
-    get_istream_type<plainA>, //reference to the stream 
-    detail::remove_reference_and_cv<A>
-  >::type type;
-};
-
-
-#endif
-
-} // end detail
-
-// ostream
-template<class A, class B> 
-struct return_type_2<bitwise_action<leftshift_action>, A, B>
-{
-  typedef typename detail::remove_reference_and_cv<A>::type plain_A;
-  typedef typename detail::remove_reference_and_cv<B>::type plain_B;
-
-  typedef typename 
-    plain_return_type_2<bitwise_action<leftshift_action>, plain_A, plain_B>::type type1;
-  
-  // if user defined return type, do not enter type deductions
-  typedef typename 
-    detail::IF_type<
-      boost::is_same<type1, detail::unspecified>::value, 
-      detail::leftshift_type<A, B>,
-      plain_return_type_2<bitwise_action<leftshift_action>, plain_A, plain_B>
-    >::type type;
-};
-
-// istream
-template<class A, class B> 
-struct return_type_2<bitwise_action<rightshift_action>, A, B>
-{
-  typedef typename detail::remove_reference_and_cv<A>::type plain_A;
-  typedef typename detail::remove_reference_and_cv<B>::type plain_B;
-
-  typedef typename 
-    plain_return_type_2<bitwise_action<rightshift_action>, plain_A, plain_B>::type type1;
-  
-  // if user defined return type, do not enter type deductions
-  typedef typename 
-    detail::IF_type<
-      boost::is_same<type1, detail::unspecified>::value, 
-      detail::rightshift_type<A, B>,
-      plain_return_type_2<bitwise_action<rightshift_action>, plain_A, plain_B>
-    >::type type;
-};
-
-// -- logical actions ----------------------------------------
-// always bool
-// NOTE: this may not be true for some weird user-defined types,
-template<class A, class B, class Act> 
-struct plain_return_type_2<logical_action<Act>, A, B> { 
-  typedef bool type; 
-};
-
-template<class A, class B, class Act> 
-struct return_type_2<logical_action<Act>, A, B> { 
-
-  typedef typename detail::remove_reference_and_cv<A>::type plain_A;
-  typedef typename detail::remove_reference_and_cv<B>::type plain_B;
-
-  typedef typename 
-    plain_return_type_2<logical_action<Act>, plain_A, plain_B>::type type;
-  
-};
-
-
-// -- relational actions ----------------------------------------
-// always bool
-// NOTE: this may not be true for some weird user-defined types,
-template<class A, class B, class Act> 
-struct plain_return_type_2<relational_action<Act>, A, B> { 
-  typedef bool type; 
-};
-
-template<class A, class B, class Act> 
-struct return_type_2<relational_action<Act>, A, B> { 
-
-  typedef typename detail::remove_reference_and_cv<A>::type plain_A;
-  typedef typename detail::remove_reference_and_cv<B>::type plain_B;
-
-  typedef typename 
-    plain_return_type_2<relational_action<Act>, plain_A, plain_B>::type type; 
-};
-
-// Assingment actions -----------------------------------------------
-// return type is the type of the first argument as reference
-
-// note that cv-qualifiers are preserved.
-// Yes, assignment operator can be const!
-
-// NOTE: this may not be true for some weird user-defined types,
-
-template<class A, class B, class Act> 
-struct return_type_2<arithmetic_assignment_action<Act>, A, B> { 
-
-  typedef typename detail::remove_reference_and_cv<A>::type plain_A;
-  typedef typename detail::remove_reference_and_cv<B>::type plain_B;
-
-  typedef typename 
-    plain_return_type_2<
-      arithmetic_assignment_action<Act>, plain_A, plain_B
-    >::type type1;
-  
-  typedef typename 
-    detail::IF<
-      boost::is_same<type1, detail::unspecified>::value, 
-      typename boost::add_reference<A>::type,
-      type1
-    >::RET type;
-};
-
-template<class A, class B, class Act> 
-struct return_type_2<bitwise_assignment_action<Act>, A, B> { 
-
-  typedef typename detail::remove_reference_and_cv<A>::type plain_A;
-  typedef typename detail::remove_reference_and_cv<B>::type plain_B;
-
-  typedef typename 
-    plain_return_type_2<
-      bitwise_assignment_action<Act>, plain_A, plain_B
-    >::type type1;
-  
-  typedef typename 
-    detail::IF<
-      boost::is_same<type1, detail::unspecified>::value, 
-      typename boost::add_reference<A>::type,
-      type1
-    >::RET type;
-};
-
-template<class A, class B> 
-struct return_type_2<other_action<assignment_action>, A, B> { 
-  typedef typename detail::remove_reference_and_cv<A>::type plain_A;
-  typedef typename detail::remove_reference_and_cv<B>::type plain_B;
-
-  typedef typename 
-    plain_return_type_2<
-      other_action<assignment_action>, plain_A, plain_B
-    >::type type1;
-  
-  typedef typename 
-    detail::IF<
-      boost::is_same<type1, detail::unspecified>::value, 
-      typename boost::add_reference<A>::type,
-      type1
-    >::RET type;
-};
-
-// -- other actions ----------------------------------------
-
-// comma action ----------------------------------
-// Note: this may not be true for some weird user-defined types,
-
-// NOTE! This only tries the plain_return_type_2 layer and gives
-// detail::unspecified as default. If no such specialization is found, the 
-// type rule in the spcecialization of the return_type_2_prot is used
-// to give the type of the right argument (which can be a reference too)
-// (The built in operator, can return a l- or rvalue).
-template<class A, class B> 
-struct return_type_2<other_action<comma_action>, A, B> { 
-
-  typedef typename detail::remove_reference_and_cv<A>::type plain_A;
-  typedef typename detail::remove_reference_and_cv<B>::type plain_B;
-
-  typedef typename 
-    plain_return_type_2<
-      other_action<comma_action>, plain_A, plain_B
-    >::type type;
-  };
-
-// subscript action -----------------------------------------------
-
-
-namespace detail {
-  // A and B are nonreference types
-template <class A, class B> struct subscript_type {
-  typedef detail::unspecified type; 
-};
-
-template <class A, class B> struct subscript_type<A*, B> {
-  typedef A& type;
-};
-template <class A, class B> struct subscript_type<A* const, B> {
-  typedef A& type;
-};
-template <class A, class B> struct subscript_type<A* volatile, B> {
-  typedef A& type;
-};
-template <class A, class B> struct subscript_type<A* const volatile, B> {
-  typedef A& type;
-};
-
-
-template<class A, class B, int N> struct subscript_type<A[N], B> { 
-  typedef A& type; 
-};
-
-  // these 3 specializations are needed to make gcc <3 happy
-template<class A, class B, int N> struct subscript_type<const A[N], B> { 
-  typedef const A& type; 
-};
-template<class A, class B, int N> struct subscript_type<volatile A[N], B> { 
-  typedef volatile A& type; 
-};
-template<class A, class B, int N> struct subscript_type<const volatile A[N], B> { 
-  typedef const volatile A& type; 
-};
-
-} // end detail
-
-template<class A, class B>
-struct return_type_2<other_action<subscript_action>, A, B> {
-
-  typedef typename detail::remove_reference_and_cv<A>::type plain_A;
-  typedef typename detail::remove_reference_and_cv<B>::type plain_B;
-
-  typedef typename boost::remove_reference<A>::type nonref_A;
-  typedef typename boost::remove_reference<B>::type nonref_B;
-
-  typedef typename 
-    plain_return_type_2<
-      other_action<subscript_action>, plain_A, plain_B
-    >::type type1;
-  
-  typedef typename 
-    detail::IF_type<
-      boost::is_same<type1, detail::unspecified>::value, 
-      detail::subscript_type<nonref_A, nonref_B>,
-      plain_return_type_2<other_action<subscript_action>, plain_A, plain_B>
-    >::type type;
-
-};
-
-template<class Key, class T, class Cmp, class Allocator, class B> 
-struct plain_return_type_2<other_action<subscript_action>, std::map<Key, T, Cmp, Allocator>, B> { 
-  typedef T& type;
-  // T == std::map<Key, T, Cmp, Allocator>::mapped_type; 
-};
-
-template<class Key, class T, class Cmp, class Allocator, class B> 
-struct plain_return_type_2<other_action<subscript_action>, std::multimap<Key, T, Cmp, Allocator>, B> { 
-  typedef T& type;
-  // T == std::map<Key, T, Cmp, Allocator>::mapped_type; 
-};
-
-  // deque
-template<class T, class Allocator, class B> 
-struct plain_return_type_2<other_action<subscript_action>, std::deque<T, Allocator>, B> { 
-  typedef typename std::deque<T, Allocator>::reference type;
-};
-template<class T, class Allocator, class B> 
-struct plain_return_type_2<other_action<subscript_action>, const std::deque<T, Allocator>, B> { 
-  typedef typename std::deque<T, Allocator>::const_reference type;
-};
-
-  // vector
-template<class T, class Allocator, class B> 
-struct plain_return_type_2<other_action<subscript_action>, std::vector<T, Allocator>, B> { 
-  typedef typename std::vector<T, Allocator>::reference type;
-};
-template<class T, class Allocator, class B> 
-struct plain_return_type_2<other_action<subscript_action>, const std::vector<T, Allocator>, B> { 
-  typedef typename std::vector<T, Allocator>::const_reference type;
-};
-
-  // basic_string
-template<class Char, class Traits, class Allocator, class B> 
-struct plain_return_type_2<other_action<subscript_action>, std::basic_string<Char, Traits, Allocator>, B> { 
-  typedef typename std::basic_string<Char, Traits, Allocator>::reference type;
-};
-template<class Char, class Traits, class Allocator, class B> 
-struct plain_return_type_2<other_action<subscript_action>, const std::basic_string<Char, Traits, Allocator>, B> { 
-  typedef typename std::basic_string<Char, Traits, Allocator>::const_reference type;
-};
-
-template<class Char, class Traits, class Allocator> 
-struct plain_return_type_2<arithmetic_action<plus_action>,
-                           std::basic_string<Char, Traits, Allocator>,
-                           std::basic_string<Char, Traits, Allocator> > { 
-  typedef std::basic_string<Char, Traits, Allocator> type;
-};
-
-template<class Char, class Traits, class Allocator> 
-struct plain_return_type_2<arithmetic_action<plus_action>,
-                           const Char*,
-                           std::basic_string<Char, Traits, Allocator> > { 
-  typedef std::basic_string<Char, Traits, Allocator> type;
-};
-
-template<class Char, class Traits, class Allocator> 
-struct plain_return_type_2<arithmetic_action<plus_action>,
-                           std::basic_string<Char, Traits, Allocator>,
-                           const Char*> { 
-  typedef std::basic_string<Char, Traits, Allocator> type;
-};
-
-template<class Char, class Traits, class Allocator, std::size_t N> 
-struct plain_return_type_2<arithmetic_action<plus_action>,
-                           Char[N],
-                           std::basic_string<Char, Traits, Allocator> > { 
-  typedef std::basic_string<Char, Traits, Allocator> type;
-};
-
-template<class Char, class Traits, class Allocator, std::size_t N> 
-struct plain_return_type_2<arithmetic_action<plus_action>,
-                           std::basic_string<Char, Traits, Allocator>,
-                           Char[N]> { 
-  typedef std::basic_string<Char, Traits, Allocator> type;
-};
-
-
-} // namespace lambda
-} // namespace boost
-
-#endif
-
-
diff --git a/SRC/Boost/boost/lambda/detail/operators.hpp b/SRC/Boost/boost/lambda/detail/operators.hpp
deleted file mode 100755
index f3f85bf..0000000
--- a/SRC/Boost/boost/lambda/detail/operators.hpp
+++ /dev/null
@@ -1,370 +0,0 @@
-// Boost Lambda Library - operators.hpp --------------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-
-// ---------------------------------------------------------------
-
-#ifndef BOOST_LAMBDA_OPERATORS_HPP
-#define BOOST_LAMBDA_OPERATORS_HPP
-
-#include "boost/lambda/detail/is_instance_of.hpp"
-
-namespace boost { 
-namespace lambda {
-
-#if defined BOOST_LAMBDA_BE1
-#error "Multiple defines of BOOST_LAMBDA_BE1"
-#endif
-
-  // For all BOOSTA_LAMBDA_BE* macros:
-
-  // CONSTA must be either 'A' or 'const A'
-  // CONSTB must be either 'B' or 'const B'
-
-  // It is stupid to have the names A and B as macro arguments, but it avoids
-  // the need to pass in emtpy macro arguments, which gives warnings on some
-  // compilers
-
-#define BOOST_LAMBDA_BE1(OPER_NAME, ACTION, CONSTA, CONSTB, CONVERSION)      \
-template<class Arg, class B>                                                 \
-inline const                                                                 \
-lambda_functor<                                                              \
-  lambda_functor_base<                                                       \
-    ACTION,                                                                  \
-    tuple<lambda_functor<Arg>, typename const_copy_argument <CONSTB>::type>  \
-  >                                                                          \
->                                                                            \
-OPER_NAME (const lambda_functor<Arg>& a, CONSTB& b) {                      \
-  return                                                                     \
-    lambda_functor_base<                                                     \
-      ACTION,                                                                \
-      tuple<lambda_functor<Arg>, typename const_copy_argument <CONSTB>::type>\
-    >                                                                        \
-   (tuple<lambda_functor<Arg>, typename const_copy_argument <CONSTB>::type>(a, b)); \
-}
-
-
-#if defined BOOST_LAMBDA_BE2
-#error "Multiple defines of BOOST_LAMBDA_BE2"
-#endif
-
-#define BOOST_LAMBDA_BE2(OPER_NAME, ACTION, CONSTA, CONSTB, CONVERSION)      \
-template<class A, class Arg>                                                 \
-inline const                                                                 \
-lambda_functor<                                                              \
-  lambda_functor_base<                                                       \
-    ACTION,                                                                  \
-    tuple<typename CONVERSION <CONSTA>::type, lambda_functor<Arg> >        \
-  >                                                                          \
->                                                                            \
-OPER_NAME (CONSTA& a, const lambda_functor<Arg>& b) {                      \
-  return                                                                     \
-    lambda_functor_base<                                                     \
-      ACTION,                                                                \
-      tuple<typename CONVERSION <CONSTA>::type, lambda_functor<Arg> >      \
-    >                                                                        \
-  (tuple<typename CONVERSION <CONSTA>::type, lambda_functor<Arg> >(a, b)); \
-}
-
-
-#if defined BOOST_LAMBDA_BE3
-#error "Multiple defines of BOOST_LAMBDA_BE3"
-#endif
-
-#define BOOST_LAMBDA_BE3(OPER_NAME, ACTION, CONSTA, CONSTB, CONVERSION)    \
-template<class ArgA, class ArgB>                                           \
-inline const                                                               \
-lambda_functor<                                                            \
-  lambda_functor_base<                                                     \
-    ACTION,                                                                \
-    tuple<lambda_functor<ArgA>, lambda_functor<ArgB> >                     \
-  >                                                                        \
->                                                                          \
-OPER_NAME (const lambda_functor<ArgA>& a, const lambda_functor<ArgB>& b) { \
-  return                                                                   \
-    lambda_functor_base<                                                   \
-      ACTION,                                                              \
-      tuple<lambda_functor<ArgA>, lambda_functor<ArgB> >                   \
-    >                                                                      \
-  (tuple<lambda_functor<ArgA>, lambda_functor<ArgB> >(a, b));              \
-}
-
-#if defined BOOST_LAMBDA_BE
-#error "Multiple defines of BOOST_LAMBDA_BE"
-#endif
-
-#define BOOST_LAMBDA_BE(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION) \
-BOOST_LAMBDA_BE1(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION)        \
-BOOST_LAMBDA_BE2(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION)        \
-BOOST_LAMBDA_BE3(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION)
-
-#define BOOST_LAMBDA_EMPTY() 
-
-BOOST_LAMBDA_BE(operator+, arithmetic_action<plus_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator-, arithmetic_action<minus_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator*, arithmetic_action<multiply_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator/, arithmetic_action<divide_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator%, arithmetic_action<remainder_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator<<, bitwise_action<leftshift_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator>>, bitwise_action<rightshift_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator&, bitwise_action<and_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator|, bitwise_action<or_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator^, bitwise_action<xor_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator&&, logical_action<and_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator||, logical_action<or_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator<, relational_action<less_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator>, relational_action<greater_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator<=, relational_action<lessorequal_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator>=, relational_action<greaterorequal_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator==, relational_action<equal_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator!=, relational_action<notequal_action>, const A, const B, const_copy_argument)
-
-BOOST_LAMBDA_BE(operator+=, arithmetic_assignment_action<plus_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator-=, arithmetic_assignment_action<minus_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator*=, arithmetic_assignment_action<multiply_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator/=, arithmetic_assignment_action<divide_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator%=, arithmetic_assignment_action<remainder_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator<<=, bitwise_assignment_action<leftshift_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator>>=, bitwise_assignment_action<rightshift_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator&=, bitwise_assignment_action<and_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator|=, bitwise_assignment_action<or_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator^=, bitwise_assignment_action<xor_action>, A, const B, reference_argument)
-
-
-// A special trick for comma operator for correct preprocessing
-#if defined BOOST_LAMBDA_COMMA_OPERATOR_NAME
-#error "Multiple defines of BOOST_LAMBDA_COMMA_OPERATOR_NAME"
-#endif
-
-#define BOOST_LAMBDA_COMMA_OPERATOR_NAME operator,
-
-BOOST_LAMBDA_BE1(BOOST_LAMBDA_COMMA_OPERATOR_NAME, other_action<comma_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE2(BOOST_LAMBDA_COMMA_OPERATOR_NAME, other_action<comma_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE3(BOOST_LAMBDA_COMMA_OPERATOR_NAME, other_action<comma_action>, const A, const B, const_copy_argument)
-
-
-
-namespace detail {
-
-// special cases for ostream& << Any and istream& >> Any ---------------
-// the actual stream classes may vary and thus a specialisation for, 
-// say ostream& does not match (the general case above is chosen). 
-// Therefore we specialise for non-const reference:
-// if the left argument is a stream, we store the stream as reference
-// if it is something else, we store a const plain by default
-
-// Note that the overloading is const vs. non-const first argument
-
-#ifdef BOOST_NO_TEMPLATED_STREAMS
-template<class T> struct convert_ostream_to_ref_others_to_c_plain_by_default {
-  typedef typename detail::IF<
-                       boost::is_convertible<T*, std::ostream*>::value,
-                       T&,
-                       typename const_copy_argument <T>::type
-                     >::RET type;
-};
-
-template<class T> struct convert_istream_to_ref_others_to_c_plain_by_default {
-  typedef typename detail::IF<
-                       boost::is_convertible<T*, std::istream*>::value,
-                       T&,
-                       typename const_copy_argument <T>::type
-                     >::RET type;
-};
-#else
-
-template<class T> struct convert_ostream_to_ref_others_to_c_plain_by_default {
-  typedef typename detail::IF<
-                       is_instance_of_2<
-                         T, std::basic_ostream
-                       >::value,
-                       T&,
-                       typename const_copy_argument <T>::type
-                     >::RET type;
-};
-
-template<class T> struct convert_istream_to_ref_others_to_c_plain_by_default {
-  typedef typename detail::IF<
-                       is_instance_of_2<
-                         T, std::basic_istream
-                       >::value,
-                       T&,
-                       typename const_copy_argument <T>::type
-                     >::RET type;
-};
-#endif
-
-} // detail
-
-BOOST_LAMBDA_BE2(operator<<, bitwise_action< leftshift_action>, A, const B, detail::convert_ostream_to_ref_others_to_c_plain_by_default)
-BOOST_LAMBDA_BE2(operator>>, bitwise_action< rightshift_action>, A, const B, detail::convert_istream_to_ref_others_to_c_plain_by_default)      
-
-
-// special case for io_manipulators.
-// function references cannot be given as arguments to lambda operator
-// expressions in general. With << and >> the use of manipulators is
-// so common, that specializations are provided to make them work.
-
-template<class Arg, class Ret, class ManipArg>
-inline const 
-lambda_functor<
-  lambda_functor_base<
-    bitwise_action<leftshift_action>,
-    tuple<lambda_functor<Arg>, Ret(&)(ManipArg)> 
-  > 
->
-operator<<(const lambda_functor<Arg>& a, Ret(&b)(ManipArg))
-{
-  return 
-      lambda_functor_base<
-        bitwise_action<leftshift_action>,
-        tuple<lambda_functor<Arg>, Ret(&)(ManipArg)>
-      > 
-    ( tuple<lambda_functor<Arg>, Ret(&)(ManipArg)>(a, b) );
-}
-
-template<class Arg, class Ret, class ManipArg>
-inline const 
-lambda_functor<
-  lambda_functor_base<
-    bitwise_action<rightshift_action>,
-    tuple<lambda_functor<Arg>, Ret(&)(ManipArg)>
-  > 
->
-operator>>(const lambda_functor<Arg>& a, Ret(&b)(ManipArg))
-{
-  return 
-      lambda_functor_base<
-        bitwise_action<rightshift_action>,
-        tuple<lambda_functor<Arg>, Ret(&)(ManipArg)>
-      > 
-    ( tuple<lambda_functor<Arg>, Ret(&)(ManipArg)>(a, b) );
-}
-
-
-// (+ and -) take their arguments as const references. 
-// This has consquences with pointer artihmetic
-// E.g int a[]; ... *a = 1 works but not *(a+1) = 1. 
-// the result of a+1 would be const
-// To make the latter work too, 
-// non-const arrays are taken as non-const and stored as non-const as well.
-#if defined  BOOST_LAMBDA_PTR_ARITHMETIC_E1
-#error "Multiple defines of  BOOST_LAMBDA_PTR_ARITHMETIC_E1"
-#endif
-
-#define BOOST_LAMBDA_PTR_ARITHMETIC_E1(OPER_NAME, ACTION, CONSTB)           \
-template<class Arg, int N, class B>                                         \
-inline const                                                                \
-lambda_functor<                                                             \
-  lambda_functor_base<ACTION, tuple<lambda_functor<Arg>, CONSTB(&)[N]> >    \
->                                                                           \
-OPER_NAME (const lambda_functor<Arg>& a, CONSTB(&b)[N])                     \
-{                                                                           \
-  return                                                                    \
-    lambda_functor_base<ACTION, tuple<lambda_functor<Arg>, CONSTB(&)[N]> >  \
-  (tuple<lambda_functor<Arg>, CONSTB(&)[N]>(a, b));                         \
-}
-
-
-#if defined  BOOST_LAMBDA_PTR_ARITHMETIC_E2
-#error "Multiple defines of  BOOST_LAMBDA_PTR_ARITHMETIC_E2"
-#endif
-
-#define BOOST_LAMBDA_PTR_ARITHMETIC_E2(OPER_NAME, ACTION, CONSTA)           \
-template<int N, class A, class Arg>                                         \
-inline const                                                                \
-lambda_functor<                                                             \
-  lambda_functor_base<ACTION, tuple<CONSTA(&)[N], lambda_functor<Arg> > >   \
->                                                                           \
-OPER_NAME (CONSTA(&a)[N], const lambda_functor<Arg>& b)                     \
-{                                                                           \
-  return                                                                    \
-    lambda_functor_base<ACTION, tuple<CONSTA(&)[N], lambda_functor<Arg> > > \
-    (tuple<CONSTA(&)[N], lambda_functor<Arg> >(a, b));                      \
-}
-
-
-BOOST_LAMBDA_PTR_ARITHMETIC_E1(operator+, arithmetic_action<plus_action>, B)
-BOOST_LAMBDA_PTR_ARITHMETIC_E2(operator+, arithmetic_action<plus_action>, A)
-BOOST_LAMBDA_PTR_ARITHMETIC_E1(operator+, arithmetic_action<plus_action>,const B)
-BOOST_LAMBDA_PTR_ARITHMETIC_E2(operator+, arithmetic_action<plus_action>,const A)
-
-
-//BOOST_LAMBDA_PTR_ARITHMETIC_E1(operator-, arithmetic_action<minus_action>)
-// This is not needed, since the result of ptr-ptr is an rvalue anyway
-
-BOOST_LAMBDA_PTR_ARITHMETIC_E2(operator-, arithmetic_action<minus_action>, A)
-BOOST_LAMBDA_PTR_ARITHMETIC_E2(operator-, arithmetic_action<minus_action>, const A)
-
-
-#undef BOOST_LAMBDA_BE1
-#undef BOOST_LAMBDA_BE2
-#undef BOOST_LAMBDA_BE3
-#undef BOOST_LAMBDA_BE
-#undef BOOST_LAMBDA_COMMA_OPERATOR_NAME
-
-#undef BOOST_LAMBDA_PTR_ARITHMETIC_E1
-#undef BOOST_LAMBDA_PTR_ARITHMETIC_E2
-
-
-// ---------------------------------------------------------------------
-// unary operators -----------------------------------------------------
-// ---------------------------------------------------------------------
-
-#if defined BOOST_LAMBDA_UE
-#error "Multiple defines of BOOST_LAMBDA_UE"
-#endif
-
-#define BOOST_LAMBDA_UE(OPER_NAME, ACTION)                                 \
-template<class Arg>                                                        \
-inline const                                                               \
-lambda_functor<lambda_functor_base<ACTION, tuple<lambda_functor<Arg> > > > \
-OPER_NAME (const lambda_functor<Arg>& a)                                   \
-{                                                                          \
-  return                                                                   \
-    lambda_functor_base<ACTION, tuple<lambda_functor<Arg> > >              \
-    ( tuple<lambda_functor<Arg> >(a) );                                    \
-}
-
-
-BOOST_LAMBDA_UE(operator+, unary_arithmetic_action<plus_action>)
-BOOST_LAMBDA_UE(operator-, unary_arithmetic_action<minus_action>)
-BOOST_LAMBDA_UE(operator~, bitwise_action<not_action>)
-BOOST_LAMBDA_UE(operator!, logical_action<not_action>)
-BOOST_LAMBDA_UE(operator++, pre_increment_decrement_action<increment_action>)
-BOOST_LAMBDA_UE(operator--, pre_increment_decrement_action<decrement_action>)
-BOOST_LAMBDA_UE(operator*, other_action<contentsof_action>)
-BOOST_LAMBDA_UE(operator&, other_action<addressof_action>)
-
-#if defined BOOST_LAMBDA_POSTFIX_UE
-#error "Multiple defines of BOOST_LAMBDA_POSTFIX_UE"
-#endif
-
-#define BOOST_LAMBDA_POSTFIX_UE(OPER_NAME, ACTION)                         \
-template<class Arg>                                                        \
-inline const                                                               \
-lambda_functor<lambda_functor_base<ACTION, tuple<lambda_functor<Arg> > > > \
-OPER_NAME (const lambda_functor<Arg>& a, int)                              \
-{                                                                          \
-  return                                                                   \
-    lambda_functor_base<ACTION, tuple<lambda_functor<Arg> > >              \
-    ( tuple<lambda_functor<Arg> >(a) );                                    \
-}
-
-
-BOOST_LAMBDA_POSTFIX_UE(operator++, post_increment_decrement_action<increment_action>)
-BOOST_LAMBDA_POSTFIX_UE(operator--, post_increment_decrement_action<decrement_action>)
-
-#undef BOOST_LAMBDA_UE
-#undef BOOST_LAMBDA_POSTFIX_UE
-
-} // namespace lambda
-} // namespace boost
-
-#endif
diff --git a/SRC/Boost/boost/lambda/detail/ret.hpp b/SRC/Boost/boost/lambda/detail/ret.hpp
deleted file mode 100755
index 05a0229..0000000
--- a/SRC/Boost/boost/lambda/detail/ret.hpp
+++ /dev/null
@@ -1,325 +0,0 @@
-// Boost Lambda Library  ret.hpp -----------------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-
-
-#ifndef BOOST_LAMBDA_RET_HPP
-#define BOOST_LAMBDA_RET_HPP
-
-namespace boost { 
-namespace lambda {
-
-  // TODO:
-
-//  Add specializations for function references for ret, protect and unlambda
-//  e.g void foo(); unlambda(foo); fails, as it would add a const qualifier
-  // for a function type. 
-  // on the other hand unlambda(*foo) does work
-
-
-// -- ret -------------------------
-// the explicit return type template 
-
-  // TODO: It'd be nice to make ret a nop for other than lambda functors
-  // but causes an ambiguiyty with gcc (not with KCC), check what is the
-  // right interpretation.
-
-  //  // ret for others than lambda functors has no effect
-  // template <class U, class T>
-  // inline const T& ret(const T& t) { return t; }
-
-
-template<class RET, class Arg>
-inline const 
-lambda_functor<
-  lambda_functor_base<
-    explicit_return_type_action<RET>, 
-    tuple<lambda_functor<Arg> >
-  > 
->
-ret(const lambda_functor<Arg>& a1)
-{
-  return  
-    lambda_functor_base<
-      explicit_return_type_action<RET>, 
-      tuple<lambda_functor<Arg> >
-    > 
-    (tuple<lambda_functor<Arg> >(a1));
-}
-
-// protect ------------------
-
-  // protecting others than lambda functors has no effect
-template <class T>
-inline const T& protect(const T& t) { return t; }
-
-template<class Arg>
-inline const 
-lambda_functor<
-  lambda_functor_base<
-    protect_action, 
-    tuple<lambda_functor<Arg> >
-  > 
->
-protect(const lambda_functor<Arg>& a1)
-{
-  return 
-      lambda_functor_base<
-        protect_action, 
-        tuple<lambda_functor<Arg> >
-      > 
-    (tuple<lambda_functor<Arg> >(a1));
-}
-   
-// -------------------------------------------------------------------
-
-// Hides the lambda functorness of a lambda functor. 
-// After this, the functor is immune to argument substitution, etc.
-// This can be used, e.g. to make it safe to pass lambda functors as 
-// arguments to functions, which might use them as target functions
-
-// note, unlambda and protect are different things. Protect hides the lambda
-// functor for one application, unlambda for good.
-
-template <class LambdaFunctor>
-class non_lambda_functor
-{
-  LambdaFunctor lf;
-public:
-  
-  // This functor defines the result_type typedef.
-  // The result type must be deducible without knowing the arguments
-
-  template <class SigArgs> struct sig {
-    typedef typename 
-      LambdaFunctor::inherited:: 
-        template sig<typename SigArgs::tail_type>::type type;
-  };
-
-  explicit non_lambda_functor(const LambdaFunctor& a) : lf(a) {}
-
-  typename LambdaFunctor::nullary_return_type  
-  operator()() const {
-    return lf.template 
-      call<typename LambdaFunctor::nullary_return_type>
-        (cnull_type(), cnull_type(), cnull_type(), cnull_type()); 
-  }
-
-  template<class A>
-  typename sig<tuple<const non_lambda_functor, A&> >::type 
-  operator()(A& a) const {
-    return lf.template call<typename sig<tuple<const non_lambda_functor, A&> >::type >(a, cnull_type(), cnull_type(), cnull_type()); 
-  }
-
-  template<class A, class B>
-  typename sig<tuple<const non_lambda_functor, A&, B&> >::type 
-  operator()(A& a, B& b) const {
-    return lf.template call<typename sig<tuple<const non_lambda_functor, A&, B&> >::type >(a, b, cnull_type(), cnull_type()); 
-  }
-
-  template<class A, class B, class C>
-  typename sig<tuple<const non_lambda_functor, A&, B&, C&> >::type 
-  operator()(A& a, B& b, C& c) const {
-    return lf.template call<typename sig<tuple<const non_lambda_functor, A&, B&, C&> >::type>(a, b, c, cnull_type()); 
-  }
-};
-
-template <class Arg>
-inline const Arg& unlambda(const Arg& a) { return a; }
-
-template <class Arg>
-inline const non_lambda_functor<lambda_functor<Arg> > 
-unlambda(const lambda_functor<Arg>& a)
-{
-  return non_lambda_functor<lambda_functor<Arg> >(a);
-}
-
-  // Due to a language restriction, lambda functors cannot be made to
-  // accept non-const rvalue arguments. Usually iterators do not return 
-  // temporaries, but sometimes they do. That's why a workaround is provided.
-  // Note, that this potentially breaks const correctness, so be careful!
-
-// any lambda functor can be turned into a const_incorrect_lambda_functor
-// The operator() takes arguments as consts and then casts constness
-// away. So this breaks const correctness!!! but is a necessary workaround
-// in some cases due to language limitations.
-// Note, that this is not a lambda_functor anymore, so it can not be used
-// as a sub lambda expression.
-
-template <class LambdaFunctor>
-struct const_incorrect_lambda_functor {
-  LambdaFunctor lf;
-public:
-
-  explicit const_incorrect_lambda_functor(const LambdaFunctor& a) : lf(a) {}
-
-  template <class SigArgs> struct sig {
-    typedef typename
-      LambdaFunctor::inherited::template 
-        sig<typename SigArgs::tail_type>::type type;
-  };
-
-  // The nullary case is not needed (no arguments, no parameter type problems)
-
-  template<class A>
-  typename sig<tuple<const const_incorrect_lambda_functor, A&> >::type
-  operator()(const A& a) const {
-    return lf.template call<typename sig<tuple<const const_incorrect_lambda_functor, A&> >::type >(const_cast<A&>(a), cnull_type(), cnull_type(), cnull_type());
-  }
-
-  template<class A, class B>
-  typename sig<tuple<const const_incorrect_lambda_functor, A&, B&> >::type
-  operator()(const A& a, const B& b) const {
-    return lf.template call<typename sig<tuple<const const_incorrect_lambda_functor, A&, B&> >::type >(const_cast<A&>(a), const_cast<B&>(b), cnull_type(), cnull_type());
-  }
-
-  template<class A, class B, class C>
-  typename sig<tuple<const const_incorrect_lambda_functor, A&, B&, C&> >::type
-  operator()(const A& a, const B& b, const C& c) const {
-    return lf.template call<typename sig<tuple<const const_incorrect_lambda_functor, A&, B&, C&> >::type>(const_cast<A&>(a), const_cast<B&>(b), const_cast<C&>(c), cnull_type());
-  }
-};
-
-// ------------------------------------------------------------------------
-// any lambda functor can be turned into a const_parameter_lambda_functor
-// The operator() takes arguments as const.
-// This is useful if lambda functors are called with non-const rvalues.
-// Note, that this is not a lambda_functor anymore, so it can not be used
-// as a sub lambda expression.
-
-template <class LambdaFunctor>
-struct const_parameter_lambda_functor {
-  LambdaFunctor lf;
-public:
-
-  explicit const_parameter_lambda_functor(const LambdaFunctor& a) : lf(a) {}
-
-  template <class SigArgs> struct sig {
-    typedef typename
-      LambdaFunctor::inherited::template 
-        sig<typename SigArgs::tail_type>::type type;
-  };
-
-  // The nullary case is not needed: no arguments, no constness problems.
-
-  template<class A>
-  typename sig<tuple<const const_parameter_lambda_functor, const A&> >::type
-  operator()(const A& a) const {
-    return lf.template call<typename sig<tuple<const const_parameter_lambda_functor, const A&> >::type >(a, cnull_type(), cnull_type(), cnull_type());
-  }
-
-  template<class A, class B>
-  typename sig<tuple<const const_parameter_lambda_functor, const A&, const B&> >::type
-  operator()(const A& a, const B& b) const {
-    return lf.template call<typename sig<tuple<const const_parameter_lambda_functor, const A&, const B&> >::type >(a, b, cnull_type(), cnull_type());
-  }
-
-  template<class A, class B, class C>
-  typename sig<tuple<const const_parameter_lambda_functor, const A&, const B&, const C&>
->::type
-  operator()(const A& a, const B& b, const C& c) const {
-    return lf.template call<typename sig<tuple<const const_parameter_lambda_functor, const A&, const B&, const C&> >::type>(a, b, c, cnull_type());
-  }
-};
-
-template <class Arg>
-inline const const_incorrect_lambda_functor<lambda_functor<Arg> >
-break_const(const lambda_functor<Arg>& lf)
-{
-  return const_incorrect_lambda_functor<lambda_functor<Arg> >(lf);
-}
-
-
-template <class Arg>
-inline const const_parameter_lambda_functor<lambda_functor<Arg> >
-const_parameters(const lambda_functor<Arg>& lf)
-{
-  return const_parameter_lambda_functor<lambda_functor<Arg> >(lf);
-}
-
-// make void ------------------------------------------------
-// make_void( x ) turns a lambda functor x with some return type y into
-// another lambda functor, which has a void return type
-// when called, the original return type is discarded
-
-// we use this action. The action class will be called, which means that
-// the wrapped lambda functor is evaluated, but we just don't do anything
-// with the result.
-struct voidifier_action {
-  template<class Ret, class A> static void apply(A&) {}
-};
-
-template<class Args> struct return_type_N<voidifier_action, Args> {
-  typedef void type;
-};
-
-template<class Arg1>
-inline const 
-lambda_functor<
-  lambda_functor_base<
-    action<1, voidifier_action>,
-    tuple<lambda_functor<Arg1> >
-  > 
-> 
-make_void(const lambda_functor<Arg1>& a1) { 
-return 
-    lambda_functor_base<
-      action<1, voidifier_action>,
-      tuple<lambda_functor<Arg1> >
-    > 
-  (tuple<lambda_functor<Arg1> > (a1));
-}
-
-// for non-lambda functors, make_void does nothing 
-// (the argument gets evaluated immediately)
-
-template<class Arg1>
-inline const 
-lambda_functor<
-  lambda_functor_base<do_nothing_action, null_type> 
-> 
-make_void(const Arg1& a1) { 
-return 
-    lambda_functor_base<do_nothing_action, null_type>();
-}
-
-// std_functor -----------------------------------------------------
-
-//  The STL uses the result_type typedef as the convention to let binders know
-//  the return type of a function object. 
-//  LL uses the sig template.
-//  To let LL know that the function object has the result_type typedef 
-//  defined, it can be wrapped with the std_functor function.
-
-
-// Just inherit form the template parameter (the standard functor), 
-// and provide a sig template. So we have a class which is still the
-// same functor + the sig template.
-
-template<class T>
-struct result_type_to_sig : public T {
-  template<class Args> struct sig { typedef typename T::result_type type; };
-  result_type_to_sig(const T& t) : T(t) {}
-};
-
-template<class F>
-inline result_type_to_sig<F> std_functor(const F& f) { return f; }
-
-
-} // namespace lambda 
-} // namespace boost
-
-#endif
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/lambda/detail/return_type_traits.hpp b/SRC/Boost/boost/lambda/detail/return_type_traits.hpp
deleted file mode 100755
index 4c22caa..0000000
--- a/SRC/Boost/boost/lambda/detail/return_type_traits.hpp
+++ /dev/null
@@ -1,282 +0,0 @@
-//  return_type_traits.hpp -- Boost Lambda Library ---------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see www.boost.org
-
-
-#ifndef BOOST_LAMBDA_RETURN_TYPE_TRAITS_HPP
-#define BOOST_LAMBDA_RETURN_TYPE_TRAITS_HPP
-
-#include "boost/mpl/has_xxx.hpp"
-
-#include <cstddef> // needed for the ptrdiff_t
-
-namespace boost { 
-namespace lambda {
-
-using ::boost::type_traits::ice_and;
-using ::boost::type_traits::ice_or;
-using ::boost::type_traits::ice_not;
-
-// Much of the type deduction code for standard arithmetic types 
-// from Gary Powell
-
-  // different arities:
-template <class Act, class A1> struct return_type_1; // 1-ary actions
-template <class Act, class A1, class A2> struct return_type_2; // 2-ary
-template <class Act, class Args> struct return_type_N; // >3- ary
-
-template <class Act, class A1> struct return_type_1_prot;
-template <class Act, class A1, class A2> struct return_type_2_prot; // 2-ary
-template <class Act, class A1> struct return_type_N_prot; // >3-ary
-
-
-namespace detail {
-
-template<class> class return_type_deduction_failure {};
-
-  // In some cases return type deduction should fail (an invalid lambda 
-  // expression). Sometimes the lambda expression can be ok, the return type
-  // just is not deducible (user defined operators). Then return type deduction
-  // should never be entered at all, and the use of ret<> does this.
-  // However, for nullary lambda functors, return type deduction is always
-  // entered, and there seems to be no way around this.
-
-  // (the return type is part of the prototype of the non-template
-  // operator()(). The prototype is instantiated, even though the body 
-  // is not.) 
- 
-  // So, in the case the return type deduction should fail, it should not
-  // fail directly, but rather result in a valid but wrong return type,
-  // causing a compile time error only if the function is really called.
-
-
-
-} // end detail
-
-
-
-// return_type_X_prot classes --------------------------------------------
-// These classes are the first layer that gets instantiated from the 
-// lambda_functor_base sig templates. It will check whether 
-// the action is protectable and one of arguments is "protected" or its
-// evaluation will otherwise result in another lambda functor.
-// If this is a case, the result type will be another lambda functor.
-
-// The arguments are always non-reference types, except for comma action
-// where the right argument can be a reference too. This is because it 
-// matters (in the builtin case) whether the argument is an lvalue or 
-// rvalue: int i; i, 1 -> rvalue; 1, i -> lvalue
-
-template <class Act, class A> struct return_type_1_prot {
-public:
-  typedef typename 
-    detail::IF<
-  //      is_protectable<Act>::value && is_lambda_functor<A>::value,
-      ice_and<is_protectable<Act>::value, is_lambda_functor<A>::value>::value,
-      lambda_functor<
-        lambda_functor_base< 
-          Act, 
-          tuple<typename detail::remove_reference_and_cv<A>::type>
-        >
-      >,
-      typename return_type_1<Act, A>::type
-    >::RET type;  
-};
-
-  // take care of the unavoidable instantiation for nullary case
-template<class Act> struct return_type_1_prot<Act, null_type> {
-  typedef null_type type;
-};
- 
-// Unary actions (result from unary operators)
-// do not have a default return type.
-template<class Act, class A> struct return_type_1 { 
-   typedef typename 
-     detail::return_type_deduction_failure<return_type_1> type;
-};
-
-
-namespace detail {
-
-  template <class T>
-  class protect_conversion {
-      typedef typename boost::remove_reference<T>::type non_ref_T;
-    public:
-
-  // add const to rvalues, so that all rvalues are stored as const in 
-  // the args tuple
-    typedef typename detail::IF_type<
-//      boost::is_reference<T>::value && !boost::is_const<non_ref_T>::value,
-      ice_and<boost::is_reference<T>::value,
-              ice_not<boost::is_const<non_ref_T>::value>::value>::value,
-      detail::identity_mapping<T>,
-      const_copy_argument<non_ref_T> // handles funtion and array 
-    >::type type;                      // types correctly
-  };
-
-} // end detail
-
-template <class Act, class A, class B> struct return_type_2_prot {
-
-// experimental feature
-  // We may have a lambda functor as a result type of a subexpression 
-  // (if protect) has  been used.
-  // Thus, if one of the parameter types is a lambda functor, the result
-  // is a lambda functor as well. 
-  // We need to make a conservative choise here.
-  // The resulting lambda functor stores all const reference arguments as
-  // const copies. References to non-const are stored as such.
-  // So if the source of the argument is a const open argument, a bound
-  // argument stored as a const reference, or a function returning a 
-  // const reference, that information is lost. There is no way of 
-  // telling apart 'real const references' from just 'LL internal
-  // const references' (or it would be really hard)
-
-  // The return type is a subclass of lambda_functor, which has a converting 
-  // copy constructor. It can copy any lambda functor, that has the same 
-  // action type and code, and a copy compatible argument tuple.
-
-
-  typedef typename boost::remove_reference<A>::type non_ref_A;
-  typedef typename boost::remove_reference<B>::type non_ref_B;
-
-typedef typename 
-  detail::IF<
-//    is_protectable<Act>::value &&
-//      (is_lambda_functor<A>::value || is_lambda_functor<B>::value),
-    ice_and<is_protectable<Act>::value,
-            ice_or<is_lambda_functor<A>::value, 
-                   is_lambda_functor<B>::value>::value>::value,
-    lambda_functor<
-      lambda_functor_base< 
-        Act, 
-        tuple<typename detail::protect_conversion<A>::type, 
-              typename detail::protect_conversion<B>::type>
-      >
-    >,
-    typename return_type_2<Act, non_ref_A, non_ref_B>::type
-  >::RET type;
-};
-
-  // take care of the unavoidable instantiation for nullary case
-template<class Act> struct return_type_2_prot<Act, null_type, null_type> {
-  typedef null_type type;
-};
-  // take care of the unavoidable instantiation for nullary case
-template<class Act, class Other> struct return_type_2_prot<Act, Other, null_type> {
-  typedef null_type type;
-};
-  // take care of the unavoidable instantiation for nullary case
-template<class Act, class Other> struct return_type_2_prot<Act, null_type, Other> {
-  typedef null_type type;
-};
-
-  // comma is a special case, as the user defined operator can return
-  // an lvalue (reference) too, hence it must be handled at this level.
-template<class A, class B> 
-struct return_type_2_comma
-{
-  typedef typename boost::remove_reference<A>::type non_ref_A;
-  typedef typename boost::remove_reference<B>::type non_ref_B;
-
-typedef typename 
-  detail::IF<
-//  is_protectable<other_action<comma_action> >::value && // it is protectable
-//  (is_lambda_functor<A>::value || is_lambda_functor<B>::value),
-    ice_and<is_protectable<other_action<comma_action> >::value, // it is protectable
-            ice_or<is_lambda_functor<A>::value, 
-                   is_lambda_functor<B>::value>::value>::value,
-    lambda_functor<
-      lambda_functor_base< 
-        other_action<comma_action>, 
-        tuple<typename detail::protect_conversion<A>::type, 
-              typename detail::protect_conversion<B>::type>
-      >
-    >,
-    typename 
-      return_type_2<other_action<comma_action>, non_ref_A, non_ref_B>::type
-  >::RET type1;
-
-   // if no user defined return_type_2 (or plain_return_type_2) specialization
-  // matches, then return the righthand argument
-  typedef typename 
-    detail::IF<
-      boost::is_same<type1, detail::unspecified>::value, 
-      B,
-      type1
-    >::RET type;
-
-};
-
-
-  // currently there are no protectable actions with > 2 args
-
-template<class Act, class Args> struct return_type_N_prot {
-  typedef typename return_type_N<Act, Args>::type type;
-};
-
-  // take care of the unavoidable instantiation for nullary case
-template<class Act> struct return_type_N_prot<Act, null_type> {
-  typedef null_type type;
-};
-
-// handle different kind of actions ------------------------
-
-  // use the return type given in the bind invocation as bind<Ret>(...)
-template<int I, class Args, class Ret> 
-struct return_type_N<function_action<I, Ret>, Args> { 
-  typedef Ret type;
-};
-
-// ::result_type support
-
-namespace detail
-{
-
-BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type)
-
-template<class F> struct get_result_type
-{
-  typedef typename F::result_type type;
-};
-
-template<class F, class A> struct get_sig
-{
-  typedef typename function_adaptor<F>::template sig<A>::type type;
-};
-
-} // namespace detail
-
-  // Ret is detail::unspecified, so try to deduce return type
-template<int I, class Args> 
-struct return_type_N<function_action<I, detail::unspecified>, Args > { 
-
-  // in the case of function action, the first element in Args is 
-  // some type of function
-  typedef typename Args::head_type Func;
-  typedef typename detail::remove_reference_and_cv<Func>::type plain_Func;
-
-public: 
-  // pass the function to function_adaptor, and get the return type from 
-  // that
-  typedef typename detail::IF<
-    detail::has_result_type<plain_Func>::value,
-    detail::get_result_type<plain_Func>,
-    detail::get_sig<plain_Func, Args>
-  >::RET::type type;
-};
-
-
-} // namespace lambda
-} // namespace boost
-
-#endif
-
-
-
diff --git a/SRC/Boost/boost/lambda/detail/select_functions.hpp b/SRC/Boost/boost/lambda/detail/select_functions.hpp
deleted file mode 100755
index de80d4b..0000000
--- a/SRC/Boost/boost/lambda/detail/select_functions.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// -- select_functions.hpp -- Boost Lambda Library --------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org
-
-
-#ifndef BOOST_LAMBDA_SELECT_FUNCTIONS_HPP
-#define BOOST_LAMBDA_SELECT_FUNCTIONS_HPP
-
-namespace boost { 
-namespace lambda {
-namespace detail {
-
-
-// select functions -------------------------------
-template<class Any, CALL_TEMPLATE_ARGS>
-inline Any& select(Any& any, CALL_FORMAL_ARGS) { CALL_USE_ARGS; return any; }
-
-
-template<class Arg, CALL_TEMPLATE_ARGS>
-inline typename Arg::template sig<tuple<CALL_REFERENCE_TYPES> >::type
-select ( const lambda_functor<Arg>& op, CALL_FORMAL_ARGS ) { 
-  return op.template call<
-    typename Arg::template sig<tuple<CALL_REFERENCE_TYPES> >::type
-  >(CALL_ACTUAL_ARGS); 
-}
-template<class Arg, CALL_TEMPLATE_ARGS>
-inline typename Arg::template sig<tuple<CALL_REFERENCE_TYPES> >::type
-select ( lambda_functor<Arg>& op, CALL_FORMAL_ARGS) { 
-  return op.template call<
-    typename Arg::template sig<tuple<CALL_REFERENCE_TYPES> >::type
-  >(CALL_ACTUAL_ARGS); 
-}
-
-// ------------------------------------------------------------------------
-// select functions where the return type is explicitly given
-// Note: on many functions, this return type is just discarded.
-// The select functions are inside a class template, and the return type
-// is a class template argument.
-// The first implementation used function templates with an explicitly 
-// specified template parameter.
-// However, this resulted in ambiguous calls (at least with gcc 2.95.2 
-// and edg 2.44). Not sure whether the compilers were right or wrong. 
-  
-template<class RET> struct r_select {
-
-// Any == RET
-  template<class Any, CALL_TEMPLATE_ARGS>
-  static 
-  inline RET go (Any& any, CALL_FORMAL_ARGS) { CALL_USE_ARGS; return any; }
-
-
-  template<class Arg, CALL_TEMPLATE_ARGS> 
-  static 
-  inline RET go (const lambda_functor<Arg>& op, CALL_FORMAL_ARGS ) {
-    return op.template call<RET>(CALL_ACTUAL_ARGS); 
-  }
-  template<class Arg, CALL_TEMPLATE_ARGS> 
-  static 
-  inline RET go (lambda_functor<Arg>& op, CALL_FORMAL_ARGS ) { 
-    return op.template call<RET>(CALL_ACTUAL_ARGS); 
-  }
-};
-   
-} // namespace detail
-} // namespace lambda
-} // namespace boost
-
-#endif
diff --git a/SRC/Boost/boost/lambda/lambda.hpp b/SRC/Boost/boost/lambda/lambda.hpp
deleted file mode 100755
index dee7a0d..0000000
--- a/SRC/Boost/boost/lambda/lambda.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// -- lambda.hpp -- Boost Lambda Library -----------------------------------
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://lambda.cs.utu.fi 
-
-#ifndef BOOST_LAMBDA_LAMBDA_HPP
-#define BOOST_LAMBDA_LAMBDA_HPP
-
-
-#include "boost/lambda/core.hpp"
-
-#ifdef BOOST_NO_FDECL_TEMPLATES_AS_TEMPLATE_TEMPLATE_PARAMS
-#include <istream>
-#include <ostream>
-#endif
-
-#include "boost/lambda/detail/operator_actions.hpp"
-#include "boost/lambda/detail/operator_lambda_func_base.hpp"
-#include "boost/lambda/detail/operator_return_type_traits.hpp"
-
-
-#include "boost/lambda/detail/operators.hpp"
-
-#ifndef BOOST_LAMBDA_FAILS_IN_TEMPLATE_KEYWORD_AFTER_SCOPE_OPER
-// sorry, member ptr does not work with gcc2.95
-#include "boost/lambda/detail/member_ptr.hpp"
-#endif
-
-
-#endif
diff --git a/SRC/Boost/boost/lexical_cast.hpp b/SRC/Boost/boost/lexical_cast.hpp
deleted file mode 100755
index 479bf1a..0000000
--- a/SRC/Boost/boost/lexical_cast.hpp
+++ /dev/null
@@ -1,2024 +0,0 @@
-#ifndef BOOST_LEXICAL_CAST_INCLUDED
-#define BOOST_LEXICAL_CAST_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// Boost lexical_cast.hpp header  -------------------------------------------//
-//
-// See http://www.boost.org/libs/conversion for documentation.
-// See end of this header for rights and permissions.
-//
-// what:  lexical_cast custom keyword cast
-// who:   contributed by Kevlin Henney,
-//        enhanced with contributions from Terje Slettebo,
-//        with additional fixes and suggestions from Gennaro Prota,
-//        Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov,
-//        Alexander Nasonov, Antony Polukhin and other Boosters
-// when:  November 2000, March 2003, June 2005, June 2006, March 2011
-
-#include <climits>
-#include <cstddef>
-#include <istream>
-#include <string>
-#include <cstring>
-#include <cstdio>
-#include <typeinfo>
-#include <exception>
-#include <cmath>
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/numeric/conversion/cast.hpp>
-#include <boost/type_traits/ice.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/is_signed.hpp>
-#include <boost/math/special_functions/sign.hpp>
-#include <boost/math/special_functions/fpclassify.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/detail/lcast_precision.hpp>
-#include <boost/detail/workaround.hpp>
-#include <cwchar>
-
-
-#ifndef BOOST_NO_STD_LOCALE
-#   include <locale>
-#else
-#   ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
-#       warning "Unable to use <locale> header. boost::lexical_cast will use the 'C' locale."
-#       define BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
-#   endif
-#endif
-
-#ifdef BOOST_NO_STRINGSTREAM
-#include <strstream>
-#else
-#include <sstream>
-#endif
-
-#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING)
-#define BOOST_LCAST_NO_WCHAR_T
-#endif
-
-#ifdef BOOST_NO_TYPEID
-#define BOOST_LCAST_THROW_BAD_CAST(S, T) throw_exception(bad_lexical_cast())
-#else
-#define BOOST_LCAST_THROW_BAD_CAST(Source, Target) \
-    throw_exception(bad_lexical_cast(typeid(Source), typeid(Target)))
-#endif
-
-namespace boost
-{
-    // exception used to indicate runtime lexical_cast failure
-    class bad_lexical_cast :
-    // workaround MSVC bug with std::bad_cast when _HAS_EXCEPTIONS == 0 
-#if defined(BOOST_MSVC) && defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS 
-        public std::exception 
-#else 
-        public std::bad_cast 
-#endif 
-
-#if defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, < 0x560 )
-        // under bcc32 5.5.1 bad_cast doesn't derive from exception
-        , public std::exception
-#endif
-
-    {
-    public:
-        bad_lexical_cast() :
-#ifndef BOOST_NO_TYPEID
-          source(&typeid(void)), target(&typeid(void))
-#else
-          source(0), target(0) // this breaks getters
-#endif
-        {
-        }
-
-        bad_lexical_cast(
-            const std::type_info &source_type_arg,
-            const std::type_info &target_type_arg) :
-            source(&source_type_arg), target(&target_type_arg)
-        {
-        }
-
-        const std::type_info &source_type() const
-        {
-            return *source;
-        }
-        const std::type_info &target_type() const
-        {
-            return *target;
-        }
-
-        virtual const char *what() const throw()
-        {
-            return "bad lexical cast: "
-                   "source type value could not be interpreted as target";
-        }
-        virtual ~bad_lexical_cast() throw()
-        {
-        }
-    private:
-        const std::type_info *source;
-        const std::type_info *target;
-    };
-
-    namespace detail // selectors for choosing stream character type
-    {
-    template<typename Type>
-    struct stream_char
-    {
-        typedef char type;
-    };
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    template<class CharT, class Traits, class Alloc>
-    struct stream_char< std::basic_string<CharT,Traits,Alloc> >
-    {
-        typedef CharT type;
-    };
-#endif
-
-#ifndef BOOST_LCAST_NO_WCHAR_T
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    template<>
-    struct stream_char<wchar_t>
-    {
-        typedef wchar_t type;
-    };
-#endif
-
-    template<>
-    struct stream_char<wchar_t *>
-    {
-        typedef wchar_t type;
-    };
-
-    template<>
-    struct stream_char<const wchar_t *>
-    {
-        typedef wchar_t type;
-    };
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    template<>
-    struct stream_char<std::wstring>
-    {
-        typedef wchar_t type;
-    };
-#endif
-#endif
-
-
-#ifndef BOOST_NO_CHAR16_T
-
-    template<>
-    struct stream_char<char16_t>
-    {
-        typedef char16_t type;
-    };
-
-    template<>
-    struct stream_char<char16_t *>
-    {
-        typedef char16_t type;
-    };
-
-    template<>
-    struct stream_char<const char16_t *>
-    {
-        typedef char16_t type;
-    };
-
-#endif
-
-#ifndef BOOST_NO_CHAR32_T
-
-    template<>
-    struct stream_char<char32_t>
-    {
-        typedef char32_t type;
-    };
-
-    template<>
-    struct stream_char<char32_t *>
-    {
-        typedef char32_t type;
-    };
-
-    template<>
-    struct stream_char<const char32_t *>
-    {
-        typedef char32_t type;
-    };
-
-#endif
-
-        template<typename TargetChar, typename SourceChar>
-        struct widest_char
-        {
-            typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
-                (sizeof(TargetChar) > sizeof(SourceChar))
-                , TargetChar
-                , SourceChar >::type type;
-        };
-    }
-
-    namespace detail // deduce_char_traits template
-    {
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-        template<class CharT, class Target, class Source>
-        struct deduce_char_traits
-        {
-            typedef std::char_traits<CharT> type;
-        };
-
-        template<class CharT, class Traits, class Alloc, class Source>
-        struct deduce_char_traits< CharT
-                                 , std::basic_string<CharT,Traits,Alloc>
-                                 , Source
-                                 >
-        {
-            typedef Traits type;
-        };
-
-        template<class CharT, class Target, class Traits, class Alloc>
-        struct deduce_char_traits< CharT
-                                 , Target
-                                 , std::basic_string<CharT,Traits,Alloc>
-                                 >
-        {
-            typedef Traits type;
-        };
-
-        template<class CharT, class Traits, class Alloc1, class Alloc2>
-        struct deduce_char_traits< CharT
-                                 , std::basic_string<CharT,Traits,Alloc1>
-                                 , std::basic_string<CharT,Traits,Alloc2>
-                                 >
-        {
-            typedef Traits type;
-        };
-#endif
-    }
-
-    namespace detail // lcast_src_length
-    {
-        // Return max. length of string representation of Source;
-        template< class Source // Source type of lexical_cast.
-                >
-        struct lcast_src_length
-        {
-            BOOST_STATIC_CONSTANT(std::size_t, value = 1);
-            // To check coverage, build the test with
-            // bjam --v2 profile optimization=off
-            static void check_coverage() {}
-        };
-
-        // Helper for integral types.
-        // Notes on length calculation:
-        // Max length for 32bit int with grouping "\1" and thousands_sep ',':
-        // "-2,1,4,7,4,8,3,6,4,7"
-        //  ^                    - is_signed
-        //   ^                   - 1 digit not counted by digits10
-        //    ^^^^^^^^^^^^^^^^^^ - digits10 * 2
-        //
-        // Constant is_specialized is used instead of constant 1
-        // to prevent buffer overflow in a rare case when
-        // <boost/limits.hpp> doesn't add missing specialization for
-        // numeric_limits<T> for some integral type T.
-        // When is_specialized is false, the whole expression is 0.
-        template<class Source>
-        struct lcast_src_length_integral
-        {
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-            BOOST_STATIC_CONSTANT(std::size_t, value =
-                  std::numeric_limits<Source>::is_signed +
-                  std::numeric_limits<Source>::is_specialized + /* == 1 */
-                  std::numeric_limits<Source>::digits10 * 2
-              );
-#else
-            BOOST_STATIC_CONSTANT(std::size_t, value = 156);
-            BOOST_STATIC_ASSERT(sizeof(Source) * CHAR_BIT <= 256);
-#endif
-        };
-// TODO: FIX for char16_t, char32_t, we can ignore CharT
-#define BOOST_LCAST_DEF(T)               \
-    template<> struct lcast_src_length<T> \
-        : lcast_src_length_integral<T>           \
-    { static void check_coverage() {} };
-
-        BOOST_LCAST_DEF(short)
-        BOOST_LCAST_DEF(unsigned short)
-        BOOST_LCAST_DEF(int)
-        BOOST_LCAST_DEF(unsigned int)
-        BOOST_LCAST_DEF(long)
-        BOOST_LCAST_DEF(unsigned long)
-#if defined(BOOST_HAS_LONG_LONG)
-        BOOST_LCAST_DEF(boost::ulong_long_type)
-        BOOST_LCAST_DEF(boost::long_long_type )
-#elif defined(BOOST_HAS_MS_INT64)
-        BOOST_LCAST_DEF(unsigned __int64)
-        BOOST_LCAST_DEF(         __int64)
-#endif
-
-#undef BOOST_LCAST_DEF
-
-#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
-        // Helper for floating point types.
-        // -1.23456789e-123456
-        // ^                   sign
-        //  ^                  leading digit
-        //   ^                 decimal point 
-        //    ^^^^^^^^         lcast_precision<Source>::value
-        //            ^        "e"
-        //             ^       exponent sign
-        //              ^^^^^^ exponent (assumed 6 or less digits)
-        // sign + leading digit + decimal point + "e" + exponent sign == 5
-        template<class Source>
-        struct lcast_src_length_floating
-        {
-            BOOST_STATIC_ASSERT(
-                    std::numeric_limits<Source>::max_exponent10 <=  999999L &&
-                    std::numeric_limits<Source>::min_exponent10 >= -999999L
-                );
-            BOOST_STATIC_CONSTANT(std::size_t, value =
-                    5 + lcast_precision<Source>::value + 6
-                );
-        };
-
-        template<>
-        struct lcast_src_length<float>
-          : lcast_src_length_floating<float>
-        {
-            static void check_coverage() {}
-        };
-
-        template<>
-        struct lcast_src_length<double>
-          : lcast_src_length_floating<double>
-        {
-            static void check_coverage() {}
-        };
-
-        template<>
-        struct lcast_src_length<long double>
-          : lcast_src_length_floating<long double>
-        {
-            static void check_coverage() {}
-        };
-
-#endif // #ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
-    }
-
-    namespace detail // '0', '+' and '-' constants
-    {
-        template<typename CharT> struct lcast_char_constants;
-
-        template<>
-        struct lcast_char_constants<char>
-        {
-            BOOST_STATIC_CONSTANT(char, zero  = '0');
-            BOOST_STATIC_CONSTANT(char, minus = '-');
-            BOOST_STATIC_CONSTANT(char, plus = '+');
-            BOOST_STATIC_CONSTANT(char, lowercase_e = 'e');
-            BOOST_STATIC_CONSTANT(char, capital_e = 'E');
-            BOOST_STATIC_CONSTANT(char, c_decimal_separator = '.');
-        };
-
-#ifndef BOOST_LCAST_NO_WCHAR_T
-        template<>
-        struct lcast_char_constants<wchar_t>
-        {
-            BOOST_STATIC_CONSTANT(wchar_t, zero  = L'0');
-            BOOST_STATIC_CONSTANT(wchar_t, minus = L'-');
-            BOOST_STATIC_CONSTANT(wchar_t, plus = L'+');
-            BOOST_STATIC_CONSTANT(wchar_t, lowercase_e = L'e');
-            BOOST_STATIC_CONSTANT(wchar_t, capital_e = L'E');
-            BOOST_STATIC_CONSTANT(wchar_t, c_decimal_separator = L'.');
-        };
-#endif
-
-#ifndef BOOST_NO_CHAR16_T
-        template<>
-        struct lcast_char_constants<char16_t>
-        {
-            BOOST_STATIC_CONSTANT(char16_t, zero  = u'0');
-            BOOST_STATIC_CONSTANT(char16_t, minus = u'-');
-            BOOST_STATIC_CONSTANT(char16_t, plus = u'+');
-            BOOST_STATIC_CONSTANT(char16_t, lowercase_e = u'e');
-            BOOST_STATIC_CONSTANT(char16_t, capital_e = u'E');
-            BOOST_STATIC_CONSTANT(char16_t, c_decimal_separator = u'.');
-        };
-#endif
-
-#ifndef BOOST_NO_CHAR32_T
-        template<>
-        struct lcast_char_constants<char32_t>
-        {
-            BOOST_STATIC_CONSTANT(char32_t, zero  = U'0');
-            BOOST_STATIC_CONSTANT(char32_t, minus = U'-');
-            BOOST_STATIC_CONSTANT(char32_t, plus = U'+');
-            BOOST_STATIC_CONSTANT(char32_t, lowercase_e = U'e');
-            BOOST_STATIC_CONSTANT(char32_t, capital_e = U'E');
-            BOOST_STATIC_CONSTANT(char32_t, c_decimal_separator = U'.');
-        };
-#endif
-    }
-
-    namespace detail // lcast_to_unsigned
-    {
-#if (defined _MSC_VER)
-# pragma warning( push )
-// C4146: unary minus operator applied to unsigned type, result still unsigned
-# pragma warning( disable : 4146 )
-#elif defined( __BORLANDC__ )
-# pragma option push -w-8041
-#endif
-        template<class T>
-        inline
-        BOOST_DEDUCED_TYPENAME make_unsigned<T>::type lcast_to_unsigned(T value)
-        {
-            typedef BOOST_DEDUCED_TYPENAME make_unsigned<T>::type result_type;
-            result_type uvalue = static_cast<result_type>(value);
-            return value < 0 ? -uvalue : uvalue;
-        }
-#if (defined _MSC_VER)
-# pragma warning( pop )
-#elif defined( __BORLANDC__ )
-# pragma option pop
-#endif
-    }
-
-    namespace detail // lcast_put_unsigned
-    {
-        template<class Traits, class T, class CharT>
-        CharT* lcast_put_unsigned(const T n_param, CharT* finish)
-        {
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-            BOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed);
-#endif
-
-            typedef typename Traits::int_type int_type;
-            CharT const czero = lcast_char_constants<CharT>::zero;
-            int_type const zero = Traits::to_int_type(czero);
-            BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
-                    (sizeof(int_type) > sizeof(T))
-                    , int_type
-                    , T
-            >::type n = n_param;
-
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
-            std::locale loc;
-            if (loc != std::locale::classic()) {
-                typedef std::numpunct<CharT> numpunct;
-                numpunct const& np = BOOST_USE_FACET(numpunct, loc);
-                std::string const grouping = np.grouping();
-                std::string::size_type const grouping_size = grouping.size();
-
-                if ( grouping_size && grouping[0] > 0 )
-                {
-
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-                // Check that ulimited group is unreachable:
-                BOOST_STATIC_ASSERT(std::numeric_limits<T>::digits10 < CHAR_MAX);
-#endif
-                    CharT thousands_sep = np.thousands_sep();
-                    std::string::size_type group = 0; // current group number
-                    char last_grp_size = grouping[0];
-                    char left = last_grp_size;
-
-                    do
-                    {
-                        if(left == 0)
-                        {
-                            ++group;
-                            if(group < grouping_size)
-                            {
-                                char const grp_size = grouping[group];
-                                last_grp_size = grp_size <= 0 ? CHAR_MAX : grp_size;
-                            }
-
-                            left = last_grp_size;
-                            --finish;
-                            Traits::assign(*finish, thousands_sep);
-                        }
-
-                        --left;
-
-                        --finish;
-                        int_type const digit = static_cast<int_type>(n % 10U);
-                        Traits::assign(*finish, Traits::to_char_type(zero + digit));
-                        n /= 10;
-                    } while(n);
-                    return finish;
-                }
-            }
-#endif
-            {
-                do
-                {
-                    --finish;
-                    int_type const digit = static_cast<int_type>(n % 10U);
-                    Traits::assign(*finish, Traits::to_char_type(zero + digit));
-                    n /= 10;
-                } while(n);
-            }
-
-            return finish;
-        }
-    }
-
-    namespace detail // lcast_ret_unsigned
-    {
-        template<class Traits, class T, class CharT>
-        inline bool lcast_ret_unsigned(T& value, const CharT* const begin, const CharT* end)
-        {
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-            BOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed);
-#endif
-            typedef typename Traits::int_type int_type;
-            CharT const czero = lcast_char_constants<CharT>::zero;
-            --end;
-            value = 0;
-
-            if ( *end < czero || *end >= czero + 10 || begin > end)
-                return false;
-            value = *end - czero;
-            --end;
-            T multiplier = 1;
-
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
-            std::locale loc;
-            if (loc != std::locale::classic()) {
-                typedef std::numpunct<CharT> numpunct;
-                numpunct const& np = BOOST_USE_FACET(numpunct, loc);
-                std::string const& grouping = np.grouping();
-                std::string::size_type const grouping_size = grouping.size();
-
-                /* According to Programming languages - C++
-                 * we MUST check for correct grouping
-                 */
-                if (grouping_size && grouping[0] > 0)
-                {
-                    unsigned char current_grouping = 0;
-                    CharT const thousands_sep = np.thousands_sep();
-                    char remained = grouping[current_grouping] - 1;
-                    bool shall_we_return = true;
-
-                    for(;end>=begin; --end)
-                    {
-                        if (remained) {
-                            T const new_sub_value = multiplier * 10 * (*end - czero);
-
-                            if (*end < czero || *end >= czero + 10
-                                    /* detecting overflow */
-                                    || new_sub_value/10 != multiplier * (*end - czero)
-                                    || static_cast<T>((std::numeric_limits<T>::max)()-new_sub_value) < value
-                                    )
-                                return false;
-
-                            value += new_sub_value;
-                            multiplier *= 10;
-                            --remained;
-                        } else {
-                            if ( !Traits::eq(*end, thousands_sep) ) //|| begin == end ) return false;
-                            {
-                                /*
-                                 * According to Programming languages - C++
-                                 * Digit grouping is checked. That is, the positions of discarded
-                                 * separators is examined for consistency with
-                                 * use_facet<numpunct<charT> >(loc ).grouping()
-                                 *
-                                 * BUT what if there is no separators at all and grouping()
-                                 * is not empty? Well, we have no extraced separators, so we
-                                 * won`t check them for consistency. This will allow us to
-                                 * work with "C" locale from other locales
-                                 */
-                                shall_we_return = false;
-                                break;
-                            } else {
-                                if ( begin == end ) return false;
-                                if (current_grouping < grouping_size-1 ) ++current_grouping;
-                                remained = grouping[current_grouping];
-                            }
-                        }
-                    }
-
-                    if (shall_we_return) return true;
-                }
-            }
-#endif
-            {
-                while ( begin <= end )
-                {
-                    T const new_sub_value = multiplier * 10 * (*end - czero);
-
-                    if (*end < czero || *end >= czero + 10
-                            /* detecting overflow */
-                            || new_sub_value/10 != multiplier * (*end - czero)
-                            || static_cast<T>((std::numeric_limits<T>::max)()-new_sub_value) < value
-                            )
-                        return false;
-
-                    value += new_sub_value;
-                    multiplier *= 10;
-                    --end;
-                }
-            }
-            return true;
-        }
-    }
-
-    namespace detail
-    {
-        /* Returns true and sets the correct value if found NaN or Inf. */
-        template <class CharT, class T>
-        inline bool parse_inf_nan_impl(const CharT* begin, const CharT* end, T& value
-            , const CharT* lc_NAN, const CharT* lc_nan
-            , const CharT* lc_INFINITY, const CharT* lc_infinity
-            , const CharT opening_brace, const CharT closing_brace)
-        {
-            using namespace std;
-            const wchar_t minus = lcast_char_constants<wchar_t>::minus;
-            const wchar_t plus = lcast_char_constants<wchar_t>::plus;
-            const int inifinity_size = 8;
-
-            bool has_minus = false;
-            /* Parsing +/- */
-            if( *begin == minus)
-            {
-                ++ begin;
-                has_minus = true;
-            }
-            else if( *begin == plus ) ++begin;
-
-            if( end-begin < 3 ) return false;
-            if( !memcmp(begin, lc_nan, 3*sizeof(CharT)) || !memcmp(begin, lc_NAN, 3*sizeof(CharT)) )
-            {
-                begin += 3;
-                if (end != begin) /* It is 'nan(...)' or some bad input*/
-                {
-                    if(end-begin<2) return false; // bad input
-                    -- end;
-                    if( *begin != opening_brace || *end != closing_brace) return false; // bad input
-                }
-
-                if( !has_minus ) value = std::numeric_limits<T>::quiet_NaN();
-                else value = (boost::math::changesign) (std::numeric_limits<T>::quiet_NaN());
-                return true;
-            } else
-            if (( /* 'INF' or 'inf' */
-                  end-begin==3
-                  &&
-                  (!memcmp(begin, lc_infinity, 3*sizeof(CharT)) || !memcmp(begin, lc_INFINITY, 3*sizeof(CharT)))
-                )
-                ||
-                ( /* 'INFINITY' or 'infinity' */
-                  end-begin==inifinity_size
-                  &&
-                  (!memcmp(begin, lc_infinity, inifinity_size)|| !memcmp(begin, lc_INFINITY, inifinity_size))
-                )
-             )
-            {
-                if( !has_minus ) value = std::numeric_limits<T>::infinity();
-                else value = (boost::math::changesign) (std::numeric_limits<T>::infinity());
-                return true;
-            }
-
-            return false;
-        }
-
-#ifndef BOOST_LCAST_NO_WCHAR_T
-        template <class T>
-        bool parse_inf_nan(const wchar_t* begin, const wchar_t* end, T& value)
-        {
-            return parse_inf_nan_impl(begin, end, value
-                               , L"NAN", L"nan"
-                               , L"INFINITY", L"infinity"
-                               , L'(', L')');
-        }
-#endif
-
-        template <class CharT, class T>
-        bool parse_inf_nan(const CharT* begin, const CharT* end, T& value)
-        {
-            return parse_inf_nan_impl(begin, end, value
-                               , "NAN", "nan"
-                               , "INFINITY", "infinity"
-                               , '(', ')');
-        }
-#ifndef BOOST_LCAST_NO_WCHAR_T
-        template <class T>
-        bool put_inf_nan(wchar_t* begin, wchar_t*& end, const T& value)
-        {
-            using namespace std;
-            if ( (boost::math::isnan)(value) )
-            {
-                if ( (boost::math::signbit)(value) )
-                {
-                    memcpy(begin,L"-nan", sizeof(L"-nan"));
-                    end = begin + 4;
-                } else
-                {
-                    memcpy(begin,L"nan", sizeof(L"nan"));
-                    end = begin + 3;
-                }
-                return true;
-            } else if ( (boost::math::isinf)(value) )
-            {
-                if ( (boost::math::signbit)(value) )
-                {
-                    memcpy(begin,L"-inf", sizeof(L"-inf"));
-                    end = begin + 4;
-                } else
-                {
-                    memcpy(begin,L"inf", sizeof(L"inf"));
-                    end = begin + 3;
-                }
-                return true;
-            }
-
-            return false;
-        }
-#endif
-        template <class CharT, class T>
-        bool put_inf_nan(CharT* begin, CharT*& end, const T& value)
-        {
-            using namespace std;
-            if ( (boost::math::isnan)(value) )
-            {
-                if ( (boost::math::signbit)(value) )
-                {
-                    memcpy(begin,"-nan", sizeof("-nan"));
-                    end = begin + 4;
-                } else
-                {
-                    memcpy(begin,"nan", sizeof("nan"));
-                    end = begin + 3;
-                }
-                return true;
-            } else if ( (boost::math::isinf)(value) )
-            {
-                if ( (boost::math::signbit)(value) )
-                {
-                    memcpy(begin,"-inf", sizeof("-inf"));
-                    end = begin + 4;
-                } else
-                {
-                    memcpy(begin,"inf", sizeof("inf"));
-                    end = begin + 3;
-                }
-                return true;
-            }
-
-            return false;
-        }
-
-    }
-
-
-    namespace detail // lcast_ret_float
-    {
-        template <class T>
-        struct mantissa_holder_type
-        {
-            /* Can not be used with this type */
-        };
-
-        template <>
-        struct mantissa_holder_type<float>
-        {
-            typedef unsigned int type;
-        };
-
-        template <>
-        struct mantissa_holder_type<double>
-        {
-#if defined(BOOST_HAS_LONG_LONG)
-            typedef boost::ulong_long_type type;
-#elif defined(BOOST_HAS_MS_INT64)
-            typedef unsigned __int64 type;
-#endif
-        };
-
-        template<class Traits, class T, class CharT>
-        inline bool lcast_ret_float(T& value, const CharT* begin, const CharT* end)
-        {
-
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
-            std::locale loc;
-            typedef std::numpunct<CharT> numpunct;
-            numpunct const& np = BOOST_USE_FACET(numpunct, loc);
-            std::string const grouping(
-                    (loc == std::locale::classic())
-                    ? std::string()
-                    : np.grouping()
-            );
-            std::string::size_type const grouping_size = grouping.size();
-            CharT const thousands_sep = grouping_size ? np.thousands_sep() : 0;
-            CharT const decimal_point = np.decimal_point();
-            bool found_grouping = false;
-            unsigned int last_grouping_pos = grouping_size - 1;
-#else
-            CharT const decimal_point = lcast_char_constants<CharT>::c_decimal_separator;
-#endif
-
-            CharT const czero = lcast_char_constants<CharT>::zero;
-            CharT const minus = lcast_char_constants<CharT>::minus;
-            CharT const plus = lcast_char_constants<CharT>::plus;
-            CharT const capital_e = lcast_char_constants<CharT>::capital_e;
-            CharT const lowercase_e = lcast_char_constants<CharT>::lowercase_e;
-
-            value = 0.0;
-
-            if (parse_inf_nan(begin, end, value)) return true;
-
-            typedef typename Traits::int_type int_type;
-            typedef BOOST_DEDUCED_TYPENAME mantissa_holder_type<T>::type mantissa_type;
-            int_type const zero = Traits::to_int_type(czero);
-            if (begin == end) return false;
-
-            /* Getting the plus/minus sign */
-            bool has_minus = false;
-            if ( *begin == minus ) {
-                ++ begin;
-                has_minus = true;
-                if (begin == end) return false;
-            } else if ( *begin == plus ) {
-                ++begin;
-                if (begin == end) return false;
-            }
-
-            bool found_decimal = false;
-            bool found_number_before_exp = false;
-            int pow_of_10 = 0;
-            mantissa_type mantissa=0;
-            bool is_mantissa_full = false;
-
-            char length_since_last_delim = 0;
-
-            while ( begin != end )
-            {
-                if (found_decimal) {
-                    /* We allow no thousand_separators after decimal point */
-
-                    mantissa_type tmp_mantissa = mantissa * 10u;
-                    if ( *begin == lowercase_e || *begin == capital_e ) break;
-                    if ( *begin < czero || *begin >= czero + 10 ) return false;
-                    if (    is_mantissa_full
-                            || tmp_mantissa / 10u != mantissa
-                            || (std::numeric_limits<mantissa_type>::max)()-(*begin - zero) < tmp_mantissa
-                            ) {
-                        is_mantissa_full = true;
-                        ++ begin;
-                        continue;
-                    }
-
-                    -- pow_of_10;
-                    mantissa = tmp_mantissa;
-                    mantissa += *begin - zero;
-
-                    found_number_before_exp = true;
-                } else {
-
-                    if (*begin >= czero && *begin < czero + 10) {
-
-                        /* Checking for mantissa overflow. If overflow will
-                         * occur, them we only increase multiplyer
-                         */
-                        mantissa_type tmp_mantissa = mantissa * 10u;
-                        if(     !is_mantissa_full
-                                && tmp_mantissa / 10u == mantissa
-                                && (std::numeric_limits<mantissa_type>::max)()-(*begin - zero) >= tmp_mantissa
-                            )
-                        {
-                            mantissa = tmp_mantissa;
-                            mantissa += *begin - zero;
-                        } else
-                        {
-                            is_mantissa_full = true;
-                            ++ pow_of_10;
-                        }
-
-                        found_number_before_exp = true;
-                        ++ length_since_last_delim;
-                    } else if ( *begin == decimal_point || *begin == lowercase_e || *begin == capital_e) {
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
-                        /* If ( we need to check grouping
-                         *      and (   grouping missmatches
-                         *              or grouping position is incorrect
-                         *              or we are using the grouping position 0 twice
-                         *           )
-                         *    ) then return error
-                         */
-                        if( grouping_size && found_grouping
-                            && (
-                                   length_since_last_delim != grouping[0]
-                                   || last_grouping_pos>1
-                                   || (last_grouping_pos==0 && grouping_size>1)
-                                )
-                           ) return false;
-#endif
-
-                        if(*begin == decimal_point){
-                            ++ begin;
-                            found_decimal = true;
-                            continue;
-                        }else {
-                            if (!found_number_before_exp) return false;
-                            break;
-                        }
-                    }
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
-                    else if (grouping_size && *begin == thousands_sep){
-                        if(found_grouping)
-                        {
-                            /* It is not he first time, when we find thousands separator,
-                             * so we need to chek, is the distance between two groupings
-                             * equal to grouping[last_grouping_pos] */
-
-                            if (length_since_last_delim != grouping[last_grouping_pos] )
-                            {
-                                if (!last_grouping_pos) return false;
-                                else
-                                {
-                                    -- last_grouping_pos;
-                                    if (length_since_last_delim != grouping[last_grouping_pos]) return false;
-                                }
-                            } else
-                                /* We are calling the grouping[0] twice, when grouping size is more than 1 */
-                                if (grouping_size>1u && last_grouping_pos+1<grouping_size) return false;
-
-                        } else {
-                            /* Delimiter at the begining ',000' */
-                            if (!length_since_last_delim) return false;
-
-                            found_grouping = true;
-                            if (length_since_last_delim > grouping[last_grouping_pos] ) return false;
-                        }
-
-                        length_since_last_delim = 0;
-                        ++ begin;
-
-                        /* Delimiter at the end '100,' */
-                        if (begin == end) return false;
-                        continue;
-                    }
-#endif
-                    else return false;
-                }
-
-                ++begin;
-            }
-
-            // Exponent found
-            if ( begin != end && ( *begin == lowercase_e || *begin == capital_e ) ) {
-                ++ begin;
-                if ( begin == end ) return false;
-
-                bool exp_has_minus = false;
-                if( *begin == minus ) {
-                    exp_has_minus = true;
-                    ++ begin;
-                    if ( begin == end ) return false;
-                } else if (*begin == plus ) {
-                    ++ begin;
-                    if ( begin == end ) return false;
-                }
-
-                int exp_pow_of_10 = 0;
-                while ( begin != end )
-                {
-                    if ( *begin < czero
-                            || *begin >= czero + 10
-                            || exp_pow_of_10 * 10 < exp_pow_of_10) /* Overflows are checked lower more precisely*/
-                        return false;
-
-                    exp_pow_of_10 *= 10;
-                    exp_pow_of_10 += *begin - zero;
-                    ++ begin;
-                };
-
-                if ( exp_pow_of_10 ) {
-                    /* Overflows are checked lower */
-                    if ( exp_has_minus ) {
-                        pow_of_10 -= exp_pow_of_10;
-                    } else {
-                        pow_of_10 += exp_pow_of_10;
-                    }
-                }
-            }
-
-            /* We need a more accurate algorithm... We can not use current algorithm
-             * with long doubles (and with doubles if sizeof(double)==sizeof(long double)).
-             */
-            long double result = std::pow(10.0L, pow_of_10) * mantissa;
-            value = static_cast<T>( has_minus ? (boost::math::changesign)(result) : result);
-
-            if ( (boost::math::isinf)(value) || (boost::math::isnan)(value) ) return false;
-
-            return true;
-        }
-    }
-
-    namespace detail // stl_buf_unlocker
-    {
-        template< class BufferType, class CharT >
-        class stl_buf_unlocker: public BufferType{
-        public:
-            typedef BufferType base_class;
-#ifndef BOOST_NO_USING_TEMPLATE
-            using base_class::pptr;
-            using base_class::pbase;
-            using base_class::setg;
-            using base_class::setp;
-#else
-            CharT* pptr() const { return base_class::pptr(); }
-            CharT* pbase() const { return base_class::pbase(); }
-            void setg(CharT* gbeg, CharT* gnext, CharT* gend){ return base_class::setg(gbeg, gnext, gend); }
-            void setp(CharT* pbeg, CharT* pend) { return setp(pbeg, pend); }
-#endif
-        };
-    }
-
-    namespace detail
-    {
-        struct do_not_construct_stringbuffer_t{};
-    }
-
-    namespace detail // optimized stream wrapper
-    {
-        // String representation of Source has an upper limit.
-        template< class CharT // a result of widest_char transformation
-                , class Traits // usually char_traits<CharT>
-                , bool RequiresStringbuffer
-                >
-        class lexical_stream_limited_src
-        {
-            typedef stl_buf_unlocker<std::basic_streambuf<CharT, Traits>, CharT > local_streambuffer_t;
-
-#if defined(BOOST_NO_STRINGSTREAM)
-            typedef stl_buf_unlocker<std::strstream, CharT > local_stringbuffer_t;
-#elif defined(BOOST_NO_STD_LOCALE)
-            typedef stl_buf_unlocker<std::stringstream, CharT > local_stringbuffer_t;
-#else
-            typedef stl_buf_unlocker<std::basic_stringbuf<CharT, Traits>, CharT > local_stringbuffer_t;
-#endif
-            typedef BOOST_DEDUCED_TYPENAME ::boost::mpl::if_c<
-                RequiresStringbuffer,
-                local_stringbuffer_t,
-                do_not_construct_stringbuffer_t
-            >::type deduced_stringbuffer_t;
-
-            // A string representation of Source is written to [start, finish).
-            CharT* start;
-            CharT* finish;
-            deduced_stringbuffer_t stringbuffer;
-
-        public:
-            lexical_stream_limited_src(CharT* sta, CharT* fin)
-              : start(sta)
-              , finish(fin)
-            {}
-
-        private:
-            // Undefined:
-            lexical_stream_limited_src(lexical_stream_limited_src const&);
-            void operator=(lexical_stream_limited_src const&);
-
-/************************************ HELPER FUNCTIONS FOR OPERATORS << ( ... ) ********************************/
-            bool shl_char(CharT ch)
-            {
-                Traits::assign(*start, ch);
-                finish = start + 1;
-                return true;
-            }
-
-#ifndef BOOST_LCAST_NO_WCHAR_T
-            template <class T>
-            bool shl_char(T ch)
-            {
-                BOOST_STATIC_ASSERT_MSG(( sizeof(T) <= sizeof(CharT)) ,
-                    "boost::lexical_cast does not support conversions from whar_t to char types."
-                    "Use boost::locale instead" );
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
-                std::locale loc;
-                wchar_t w = BOOST_USE_FACET(std::ctype<wchar_t>, loc).widen(ch);
-#else
-                wchar_t w = ch;
-#endif
-                Traits::assign(*start, w);
-                finish = start + 1;
-                return true;
-            }
-#endif
-
-            bool shl_char_array(CharT const* str)
-            {
-                start = const_cast<CharT*>(str);
-                finish = start + Traits::length(str);
-                return true;
-            }
-
-#ifndef BOOST_LCAST_NO_WCHAR_T
-            template <class T>
-            bool shl_char_array(T const* str)
-            {
-                BOOST_STATIC_ASSERT_MSG(( sizeof(T) <= sizeof(CharT)),
-                    "boost::lexical_cast does not support conversions from wchar_t to char types."
-                    "Use boost::locale instead" );
-                return shl_input_streamable(str);
-            }
-#endif
-
-            template<typename InputStreamable>
-            bool shl_input_streamable(InputStreamable& input)
-            {
-                std::basic_ostream<CharT> stream(&stringbuffer);
-                bool const result = !(stream << input).fail();
-                start = stringbuffer.pbase();
-                finish = stringbuffer.pptr();
-                return result && (start != finish);
-            }
-
-            template <class T>
-            inline bool shl_signed(T n)
-            {
-                start = lcast_put_unsigned<Traits>(lcast_to_unsigned(n), finish);
-                if(n < 0)
-                {
-                    --start;
-                    CharT const minus = lcast_char_constants<CharT>::minus;
-                    Traits::assign(*start, minus);
-                }
-                return true;
-            }
-
-#if (defined _MSC_VER)
-# pragma warning( push )
-// C4996: This function or variable may be unsafe. Consider using sprintf_s instead
-# pragma warning( disable : 4996 )
-#endif
-
-            template <class T>
-            bool shl_float(float val,T* out)
-            {   using namespace std;
-                if (put_inf_nan(start,finish,val)) return true;
-                finish = start + sprintf(out,"%.*g", static_cast<int>(boost::detail::lcast_get_precision<float >()), val );
-                return finish > start;
-            }
-
-            template <class T>
-            bool shl_double(double val,T* out)
-            {   using namespace std;
-                if (put_inf_nan(start,finish,val)) return true;
-                finish = start + sprintf(out,"%.*lg", static_cast<int>(boost::detail::lcast_get_precision<double >()), val );
-                return finish > start;
-            }
-#ifndef __MINGW32__
-            template <class T>
-            bool shl_long_double(long double val,T* out)
-            {   using namespace std;
-                if (put_inf_nan(start,finish,val)) return true;
-                finish = start + sprintf(out,"%.*Lg", static_cast<int>(boost::detail::lcast_get_precision<long double >()), val );
-                return finish > start;
-            }
-#endif
-
-#if (defined _MSC_VER)
-# pragma warning( pop )
-#endif
-
-
-#ifndef BOOST_LCAST_NO_WCHAR_T
-            bool shl_float(float val,wchar_t* out)
-            {   using namespace std;
-                if (put_inf_nan(start,finish,val)) return true;
-                finish = start + swprintf(out,
-#if !defined(__MINGW32__) && !defined(UNDER_CE)
-                                          finish-start,
-#endif
-                                          L"%.*g", static_cast<int>(boost::detail::lcast_get_precision<float >()), val );
-
-                return finish > start;
-            }
-
-
-            bool shl_double(double val,wchar_t* out)
-            {   using namespace std;
-                if (put_inf_nan(start,finish,val)) return true;
-                /* __MINGW32__ is defined for both mingw.org and for mingw-w64.
-                 * For mingw-w64, __MINGW64__ is defined, too, when targetting
-                 * 64 bits.
-                 *
-                 * swprintf realization in MinGW and under WinCE does not conform
-                 * to the ISO C
-                 * Standard.
-                 */
-                finish = start + swprintf(out,
-#if !defined(__MINGW32__) && !defined(UNDER_CE)
-                                          finish-start,
-#endif
-                                          L"%.*lg", static_cast<int>(boost::detail::lcast_get_precision<double >()), val );
-                return finish > start;
-            }
-
-#ifndef __MINGW32__
-            bool shl_long_double(long double val,wchar_t* out)
-            {   using namespace std;
-                if (put_inf_nan(start,finish,val)) return true;
-                finish = start + swprintf(out,
-#if !defined(UNDER_CE)
-                                          finish-start,
-#endif
-                                          L"%.*Lg", static_cast<int>(boost::detail::lcast_get_precision<long double >()), val );
-                return finish > start;
-            }
-#endif
-
-#endif
-
-/************************************ OPERATORS << ( ... ) ********************************/
-        public:
-            template<class Alloc>
-            bool operator<<(std::basic_string<CharT,Traits,Alloc> const& str)
-            {
-                start = const_cast<CharT*>(str.data());
-                finish = start + str.length();
-                return true;
-            }
-
-            bool operator<<(bool value)
-            {
-                CharT const czero = lcast_char_constants<CharT>::zero;
-                Traits::assign(*start, Traits::to_char_type(czero + value));
-                finish = start + 1;
-                return true;
-            }
-
-            bool operator<<(char ch)                    { return shl_char(ch); }
-            bool operator<<(unsigned char ch)           { return ((*this) << static_cast<char>(ch)); }
-            bool operator<<(signed char ch)             { return ((*this) << static_cast<char>(ch)); }
-#if !defined(BOOST_LCAST_NO_WCHAR_T)
-            bool operator<<(wchar_t const* str)         { return shl_char_array(str); }
-            bool operator<<(wchar_t * str)              { return shl_char_array(str); }
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-            bool operator<<(wchar_t ch)                 { return shl_char(ch); }
-#endif
-#endif
-            bool operator<<(unsigned char const* ch)    { return ((*this) << reinterpret_cast<char const*>(ch)); }
-            bool operator<<(unsigned char * ch)         { return ((*this) << reinterpret_cast<char *>(ch)); }
-            bool operator<<(signed char const* ch)      { return ((*this) << reinterpret_cast<char const*>(ch)); }
-            bool operator<<(signed char * ch)           { return ((*this) << reinterpret_cast<char *>(ch)); }
-            bool operator<<(char const* str)            { return shl_char_array(str); }
-            bool operator<<(char* str)                  { return shl_char_array(str); }
-            bool operator<<(short n)                    { return shl_signed(n); }
-            bool operator<<(int n)                      { return shl_signed(n); }
-            bool operator<<(long n)                     { return shl_signed(n); }
-            bool operator<<(unsigned short n)           { start = lcast_put_unsigned<Traits>(n, finish); return true; }
-            bool operator<<(unsigned int n)             { start = lcast_put_unsigned<Traits>(n, finish); return true; }
-            bool operator<<(unsigned long n)            { start = lcast_put_unsigned<Traits>(n, finish); return true; }
-
-#if defined(BOOST_HAS_LONG_LONG)
-            bool operator<<(boost::ulong_long_type n)   { start = lcast_put_unsigned<Traits>(n, finish); return true; }
-            bool operator<<(boost::long_long_type n)    { return shl_signed(n); }
-#elif defined(BOOST_HAS_MS_INT64)
-            bool operator<<(unsigned __int64 n)         { start = lcast_put_unsigned<Traits>(n, finish); return true; }
-            bool operator<<(         __int64 n)         { return shl_signed(n); }
-#endif
-            bool operator<<(float val)                  { return shl_float(val,start); }
-            bool operator<<(double val)                 { return shl_double(val,start); }
-            bool operator<<(long double val)            {
-#ifndef __MINGW32__
-                return shl_long_double(val,start);
-#else
-                return shl_double(val,start);
-#endif
-            }
-
-            template<class InStreamable>
-            bool operator<<(const InStreamable& input)  { return shl_input_streamable(input); }
-
-/************************************ HELPER FUNCTIONS FOR OPERATORS >> ( ... ) ********************************/
-        private:
-            template <typename Type>
-            bool shr_unsigned(Type& output)
-            {
-                CharT const minus = lcast_char_constants<CharT>::minus;
-                CharT const plus = lcast_char_constants<CharT>::plus;
-                bool has_minus = false;
-
-                /* We won`t use `start' any more, so no need in decrementing it after */
-                if ( Traits::eq(minus,*start) )
-                {
-                    ++start;
-                    has_minus = true;
-                } else if ( Traits::eq( plus, *start ) )
-                {
-                    ++start;
-                }
-
-                bool const succeed = lcast_ret_unsigned<Traits>(output, start, finish);
-#if (defined _MSC_VER)
-# pragma warning( push )
-// C4146: unary minus operator applied to unsigned type, result still unsigned
-# pragma warning( disable : 4146 )
-#elif defined( __BORLANDC__ )
-# pragma option push -w-8041
-#endif
-                if (has_minus) output = static_cast<Type>(-output);
-#if (defined _MSC_VER)
-# pragma warning( pop )
-#elif defined( __BORLANDC__ )
-# pragma option pop
-#endif
-                return succeed;
-            }
-
-            template <typename Type>
-            bool shr_signed(Type& output)
-            {
-                CharT const minus = lcast_char_constants<CharT>::minus;
-                CharT const plus = lcast_char_constants<CharT>::plus;
-                typedef BOOST_DEDUCED_TYPENAME make_unsigned<Type>::type utype;
-                utype out_tmp =0;
-                bool has_minus = false;
-
-                /* We won`t use `start' any more, so no need in decrementing it after */
-                if ( Traits::eq(minus,*start) )
-                {
-                    ++start;
-                    has_minus = true;
-                } else if ( Traits::eq(plus, *start) )
-                {
-                    ++start;
-                }
-
-                bool succeed = lcast_ret_unsigned<Traits>(out_tmp, start, finish);
-                if (has_minus) {
-#if (defined _MSC_VER)
-# pragma warning( push )
-// C4146: unary minus operator applied to unsigned type, result still unsigned
-# pragma warning( disable : 4146 )
-#elif defined( __BORLANDC__ )
-# pragma option push -w-8041
-#endif
-                    utype const comp_val = static_cast<utype>(-(std::numeric_limits<Type>::min)());
-                    succeed = succeed && out_tmp<=comp_val;
-                    output = -out_tmp;
-#if (defined _MSC_VER)
-# pragma warning( pop )
-#elif defined( __BORLANDC__ )
-# pragma option pop
-#endif
-                } else {
-                    utype const comp_val = static_cast<utype>((std::numeric_limits<Type>::max)());
-                    succeed = succeed && out_tmp<=comp_val;
-                    output = out_tmp;
-                }
-                return succeed;
-            }
-
-            template<typename InputStreamable>
-            bool shr_using_base_class(InputStreamable& output)
-            {
-#if (defined _MSC_VER)
-# pragma warning( push )
-  // conditional expression is constant
-# pragma warning( disable : 4127 )
-#endif
-                if(is_pointer<InputStreamable>::value)
-                    return false;
-
-                local_streambuffer_t bb;
-                bb.setg(start, start, finish);
-                std::basic_istream<CharT> stream(&bb);
-                stream.unsetf(std::ios::skipws);
-                lcast_set_precision(stream, static_cast<InputStreamable*>(0));
-#if (defined _MSC_VER)
-# pragma warning( pop )
-#endif
-                return stream >> output &&
-                    stream.get() ==
-#if defined(__GNUC__) && (__GNUC__<3) && defined(BOOST_NO_STD_WSTRING)
-        // GCC 2.9x lacks std::char_traits<>::eof().
-        // We use BOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3
-        // configurations, which do provide std::char_traits<>::eof().
-
-                    EOF;
-#else
-                Traits::eof();
-#endif
-            }
-
-            template<class T>
-            inline bool shr_xchar(T& output)
-            {
-                BOOST_STATIC_ASSERT_MSG(( sizeof(CharT) == sizeof(T) ),
-                    "boost::lexical_cast does not support conversions from whar_t to char types."
-                    "Use boost::locale instead" );
-                bool const ok = (finish - start == 1);
-                if(ok) {
-                    CharT out;
-                    Traits::assign(out, *start);
-                    output = static_cast<T>(out);
-                }
-                return ok;
-            }
-
-/************************************ OPERATORS >> ( ... ) ********************************/
-        public:
-            bool operator>>(unsigned short& output)             { return shr_unsigned(output); }
-            bool operator>>(unsigned int& output)               { return shr_unsigned(output); }
-            bool operator>>(unsigned long int& output)          { return shr_unsigned(output); }
-            bool operator>>(short& output)                      { return shr_signed(output); }
-            bool operator>>(int& output)                        { return shr_signed(output); }
-            bool operator>>(long int& output)                   { return shr_signed(output); }
-#if defined(BOOST_HAS_LONG_LONG)
-            bool operator>>(boost::ulong_long_type& output)     { return shr_unsigned(output); }
-            bool operator>>(boost::long_long_type& output)      { return shr_signed(output); }
-#elif defined(BOOST_HAS_MS_INT64)
-            bool operator>>(unsigned __int64& output)           { return shr_unsigned(output); }
-            bool operator>>(__int64& output)                    { return shr_signed(output); }
-
-#endif
-            bool operator>>(CharT& output)                      { return shr_xchar(output); }
-            bool operator>>(unsigned char& output)              { return shr_xchar(output); }
-            bool operator>>(signed char& output)                { return shr_xchar(output); }
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-            bool operator>>(std::string& str)                   { str.assign(start, finish); return true; }
-#   ifndef BOOST_LCAST_NO_WCHAR_T
-            bool operator>>(std::wstring& str)                  { str.assign(start, finish); return true; }
-#   endif
-#else
-            template<class Alloc>
-            bool operator>>(std::basic_string<CharT,Traits,Alloc>& str) { str.assign(start, finish); return true; }
-#endif
-            /*
-             * case "-0" || "0" || "+0" :   output = false; return true;
-             * case "1" || "+1":            output = true;  return true;
-             * default:                     return false;
-             */
-            bool operator>>(bool& output)
-            {
-                CharT const zero = lcast_char_constants<CharT>::zero;
-                CharT const plus = lcast_char_constants<CharT>::plus;
-                CharT const minus = lcast_char_constants<CharT>::minus;
-
-                switch(finish-start)
-                {
-                    case 1:
-                        output = Traits::eq(start[0],  zero+1);
-                        return output || Traits::eq(start[0], zero );
-                    case 2:
-                        if ( Traits::eq( plus, *start) )
-                        {
-                            ++start;
-                            output = Traits::eq(start[0], zero +1);
-                            return output || Traits::eq(start[0], zero );
-                        } else
-                        {
-                            output = false;
-                            return Traits::eq( minus, *start)
-                                && Traits::eq( zero, start[1]);
-                        }
-                    default:
-                        output = false; // Suppress warning about uninitalized variable
-                        return false;
-                }
-            }
-
-            bool operator>>(float& output) { return lcast_ret_float<Traits>(output,start,finish); }
-
-        private:
-            // Not optimised converter
-            template <class T>
-            bool float_types_converter_internal(T& output, int /*tag*/) {
-                if (parse_inf_nan(start, finish, output)) return true;
-                bool return_value = shr_using_base_class(output);
-
-                /* Some compilers and libraries successfully
-                 * parse 'inf', 'INFINITY', '1.0E', '1.0E-'...
-                 * We are trying to provide a unified behaviour,
-                 * so we just forbid such conversions (as some
-                 * of the most popular compilers/libraries do)
-                 * */
-                CharT const minus = lcast_char_constants<CharT>::minus;
-                CharT const plus = lcast_char_constants<CharT>::plus;
-                CharT const capital_e = lcast_char_constants<CharT>::capital_e;
-                CharT const lowercase_e = lcast_char_constants<CharT>::lowercase_e;
-                if ( return_value &&
-                     (
-                        *(finish-1) == lowercase_e                   // 1.0e
-                        || *(finish-1) == capital_e                  // 1.0E
-                        || *(finish-1) == minus                      // 1.0e- or 1.0E-
-                        || *(finish-1) == plus                       // 1.0e+ or 1.0E+
-                     )
-                ) return false;
-
-                return return_value;
-            }
-
-            // Optimised converter
-            bool float_types_converter_internal(double& output,char /*tag*/) {
-                return lcast_ret_float<Traits>(output,start,finish);
-            }
-        public:
-
-            bool operator>>(double& output)
-            {
-                /*
-                 * Some compilers implement long double as double. In that case these types have
-                 * same size, same precision, same max and min values... And it means,
-                 * that current implementation of lcast_ret_float cannot be used for type
-                 * double, because it will give a big precision loss.
-                 * */
-                boost::mpl::if_c<
-#if defined(BOOST_HAS_LONG_LONG) || defined(BOOST_HAS_MS_INT64)
-                    ::boost::type_traits::ice_eq< sizeof(double), sizeof(long double) >::value,
-#else
-                     0
-#endif
-                    int,
-                    char
-                >::type tag = 0;
-
-                return float_types_converter_internal(output, tag);
-            }
-
-            bool operator>>(long double& output)
-            {
-                int tag = 0;
-                return float_types_converter_internal(output, tag);
-            }
-
-            // Generic istream-based algorithm.
-            // lcast_streambuf_for_target<InputStreamable>::value is true.
-            template<typename InputStreamable>
-            bool operator>>(InputStreamable& output) { return shr_using_base_class(output); }
-        };
-    }
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-    // call-by-const reference version
-
-    namespace detail
-    {
-        template<class T>
-        struct array_to_pointer_decay
-        {
-            typedef T type;
-        };
-
-        template<class T, std::size_t N>
-        struct array_to_pointer_decay<T[N]>
-        {
-            typedef const T * type;
-        };
-
-        template<typename T>
-        struct is_stdstring
-        {
-            BOOST_STATIC_CONSTANT(bool, value = false );
-        };
-
-        template<typename CharT, typename Traits, typename Alloc>
-        struct is_stdstring< std::basic_string<CharT, Traits, Alloc> >
-        {
-            BOOST_STATIC_CONSTANT(bool, value = true );
-        };
-
-        template<typename T>
-        struct is_char_or_wchar
-        {
-        private:
-#ifndef BOOST_LCAST_NO_WCHAR_T
-            typedef wchar_t wchar_t_if_supported;
-#else
-            typedef char wchar_t_if_supported;
-#endif
-
-#ifndef BOOST_NO_CHAR16_T
-            typedef char16_t char16_t_if_supported;
-#else
-            typedef char char16_t_if_supported;
-#endif
-
-#ifndef BOOST_NO_CHAR32_T
-            typedef char32_t char32_t_if_supported;
-#else
-            typedef char char32_t_if_supported;
-#endif
-            public:
-
-            BOOST_STATIC_CONSTANT(bool, value =
-                    (
-                    ::boost::type_traits::ice_or<
-                         is_same< T, char >::value,
-                         is_same< T, wchar_t_if_supported >::value,
-                         is_same< T, char16_t_if_supported >::value,
-                         is_same< T, char32_t_if_supported >::value,
-                         is_same< T, unsigned char >::value,
-                         is_same< T, signed char >::value
-                    >::value
-                    )
-            );
-        };
-
-        template<typename Target, typename Source>
-        struct is_arithmetic_and_not_xchars
-        {
-            BOOST_STATIC_CONSTANT(bool, value =
-               (
-                   ::boost::type_traits::ice_and<
-                           is_arithmetic<Source>::value,
-                           is_arithmetic<Target>::value,
-                           ::boost::type_traits::ice_not<
-                                detail::is_char_or_wchar<Target>::value
-                           >::value,
-                           ::boost::type_traits::ice_not<
-                                detail::is_char_or_wchar<Source>::value
-                           >::value
-                   >::value
-               )
-            );
-        };
-
-        /*
-         * is_xchar_to_xchar<Target, Source>::value is true, when
-         * Target and Souce are the same char types, or when
-         * Target and Souce are char types of the same size.
-         */
-        template<typename Target, typename Source>
-        struct is_xchar_to_xchar
-        {
-            BOOST_STATIC_CONSTANT(bool, value =
-                (
-                    ::boost::type_traits::ice_or<
-                        ::boost::type_traits::ice_and<
-                             is_same<Source,Target>::value,
-                             is_char_or_wchar<Target>::value
-                        >::value,
-                        ::boost::type_traits::ice_and<
-                             ::boost::type_traits::ice_eq< sizeof(char),sizeof(Target)>::value,
-                             ::boost::type_traits::ice_eq< sizeof(char),sizeof(Source)>::value,
-                             is_char_or_wchar<Target>::value,
-                             is_char_or_wchar<Source>::value
-                        >::value
-                    >::value
-                )
-            );
-        };
-
-        template<typename Target, typename Source>
-        struct is_char_array_to_stdstring
-        {
-            BOOST_STATIC_CONSTANT(bool, value = false );
-        };
-
-        template<typename CharT, typename Traits, typename Alloc>
-        struct is_char_array_to_stdstring< std::basic_string<CharT, Traits, Alloc>, CharT* >
-        {
-            BOOST_STATIC_CONSTANT(bool, value = true );
-        };
-
-        template<typename CharT, typename Traits, typename Alloc>
-        struct is_char_array_to_stdstring< std::basic_string<CharT, Traits, Alloc>, const CharT* >
-        {
-            BOOST_STATIC_CONSTANT(bool, value = true );
-        };
-
-#if (defined _MSC_VER)
-# pragma warning( push )
-# pragma warning( disable : 4701 ) // possible use of ... before initialization
-# pragma warning( disable : 4702 ) // unreachable code
-# pragma warning( disable : 4267 ) // conversion from 'size_t' to 'unsigned int'
-#endif
-        template<typename Target, typename Source>
-        struct lexical_cast_do_cast
-        {
-            static inline Target lexical_cast_impl(const Source& arg)
-            {
-                typedef BOOST_DEDUCED_TYPENAME detail::array_to_pointer_decay<Source>::type src;
-
-                typedef BOOST_DEDUCED_TYPENAME detail::widest_char<
-                    BOOST_DEDUCED_TYPENAME detail::stream_char<Target>::type
-                    , BOOST_DEDUCED_TYPENAME detail::stream_char<src>::type
-                >::type char_type;
-
-                typedef detail::lcast_src_length<src> lcast_src_length;
-                std::size_t const src_len = lcast_src_length::value;
-                char_type buf[src_len + 1];
-                lcast_src_length::check_coverage();
-
-                typedef BOOST_DEDUCED_TYPENAME
-                    deduce_char_traits<char_type,Target,Source>::type traits;
-
-                typedef BOOST_DEDUCED_TYPENAME remove_pointer<src >::type removed_ptr_t;
-                const bool requires_stringbuf =
-                        !(
-                             ::boost::type_traits::ice_or<
-                                 is_stdstring<src >::value,
-                                 is_arithmetic<src >::value,
-                                 ::boost::type_traits::ice_and<
-                                     is_pointer<src >::value,
-                                     is_char_or_wchar<removed_ptr_t >::value,
-                                     ::boost::type_traits::ice_eq<
-                                        sizeof(char_type),
-                                        sizeof(removed_ptr_t)
-                                     >::value
-                                 >::value
-                             >::value
-                        );
-
-                detail::lexical_stream_limited_src<char_type,traits, requires_stringbuf >
-                        interpreter(buf, buf + src_len);
-
-                Target result;
-                // Disabling ADL, by directly specifying operators.
-                if(!(interpreter.operator <<(arg) && interpreter.operator >>(result)))
-                  BOOST_LCAST_THROW_BAD_CAST(Source, Target);
-                return result;
-            }
-        };
-#if (defined _MSC_VER)
-# pragma warning( pop )
-#endif
-
-        template<typename Source>
-        struct lexical_cast_copy
-        {
-            static inline Source lexical_cast_impl(const Source &arg)
-            {
-                return arg;
-            }
-        };
-
-        class precision_loss_error : public boost::numeric::bad_numeric_cast
-        {
-         public:
-            virtual const char * what() const throw()
-             {  return "bad numeric conversion: precision loss error"; }
-        };
-
-        template<class S >
-        struct throw_on_precision_loss
-        {
-         typedef boost::numeric::Trunc<S> Rounder;
-         typedef S source_type ;
-
-         typedef typename mpl::if_< is_arithmetic<S>,S,S const&>::type argument_type ;
-
-         static source_type nearbyint ( argument_type s )
-         {
-            source_type orig_div_round = s / Rounder::nearbyint(s);
-
-            if ( (orig_div_round > 1 ? orig_div_round - 1 : 1 - orig_div_round) > std::numeric_limits<source_type>::epsilon() )
-               BOOST_THROW_EXCEPTION( precision_loss_error() );
-            return s ;
-         }
-
-         typedef typename Rounder::round_style round_style;
-        } ;
-
-        template<typename Target, typename Source>
-        struct lexical_cast_dynamic_num_not_ignoring_minus
-        {
-            static inline Target lexical_cast_impl(const Source &arg)
-            {
-                try{
-                    typedef boost::numeric::converter<
-                            Target,
-                            Source,
-                            boost::numeric::conversion_traits<Target,Source>,
-                            boost::numeric::def_overflow_handler,
-                            throw_on_precision_loss<Source>
-                    > Converter ;
-
-                    return Converter::convert(arg);
-                } catch( ::boost::numeric::bad_numeric_cast const& ) {
-                    BOOST_LCAST_THROW_BAD_CAST(Source, Target);
-                }
-                BOOST_UNREACHABLE_RETURN(static_cast<Target>(0));
-            }
-        };
-
-        template<typename Target, typename Source>
-        struct lexical_cast_dynamic_num_ignoring_minus
-        {
-            static inline Target lexical_cast_impl(const Source &arg)
-            {
-                try{
-                    typedef boost::numeric::converter<
-                            Target,
-                            Source,
-                            boost::numeric::conversion_traits<Target,Source>,
-                            boost::numeric::def_overflow_handler,
-                            throw_on_precision_loss<Source>
-                    > Converter ;
-
-                    bool has_minus = ( arg < 0);
-                    if ( has_minus ) {
-                        return static_cast<Target>(-Converter::convert(-arg));
-                    } else {
-                        return Converter::convert(arg);
-                    }
-                } catch( ::boost::numeric::bad_numeric_cast const& ) {
-                    BOOST_LCAST_THROW_BAD_CAST(Source, Target);
-                }
-                BOOST_UNREACHABLE_RETURN(static_cast<Target>(0));
-            }
-        };
-
-        /*
-         * lexical_cast_dynamic_num follows the rules:
-         * 1) If Source can be converted to Target without precision loss and
-         * without overflows, then assign Source to Target and return
-         *
-         * 2) If Source is less than 0 and Target is an unsigned integer,
-         * then negate Source, check the requirements of rule 1) and if
-         * successful, assign static_casted Source to Target and return
-         *
-         * 3) Otherwise throw a bad_lexical_cast exception
-         *
-         *
-         * Rule 2) required because boost::lexical_cast has the behavior of
-         * stringstream, which uses the rules of scanf for conversions. And
-         * in the C99 standard for unsigned input value minus sign is
-         * optional, so if a negative number is read, no errors will arise
-         * and the result will be the two's complement.
-         */
-        template<typename Target, typename Source>
-        struct lexical_cast_dynamic_num
-        {
-            static inline Target lexical_cast_impl(const Source &arg)
-            {
-                typedef BOOST_DEDUCED_TYPENAME ::boost::mpl::if_c<
-                    ::boost::type_traits::ice_and<
-                        ::boost::type_traits::ice_or<
-                            ::boost::is_signed<Source>::value,
-                            ::boost::is_float<Source>::value
-                        >::value,
-                        ::boost::type_traits::ice_not<
-                            is_same<Source, bool>::value
-                        >::value,
-                        ::boost::type_traits::ice_not<
-                            is_same<Target, bool>::value
-                        >::value,
-                        ::boost::is_unsigned<Target>::value
-                    >::value,
-                    lexical_cast_dynamic_num_ignoring_minus<Target, Source>,
-                    lexical_cast_dynamic_num_not_ignoring_minus<Target, Source>
-                >::type caster_type;
-
-                return caster_type::lexical_cast_impl(arg);
-            }
-        };
-    }
-
-    template<typename Target, typename Source>
-    inline Target lexical_cast(const Source &arg)
-    {
-        typedef BOOST_DEDUCED_TYPENAME detail::array_to_pointer_decay<Source>::type src;
-
-        typedef BOOST_DEDUCED_TYPENAME ::boost::type_traits::ice_or<
-                detail::is_xchar_to_xchar<Target, src>::value,
-                detail::is_char_array_to_stdstring<Target,src>::value,
-                ::boost::type_traits::ice_and<
-                     is_same<Target, src>::value,
-                     detail::is_stdstring<Target>::value
-                >::value
-        > do_copy_type;
-
-        typedef BOOST_DEDUCED_TYPENAME
-                detail::is_arithmetic_and_not_xchars<Target, src> do_copy_with_dynamic_check_type;
-
-        typedef BOOST_DEDUCED_TYPENAME ::boost::mpl::if_c<
-            do_copy_type::value,
-            detail::lexical_cast_copy<src>,
-            BOOST_DEDUCED_TYPENAME ::boost::mpl::if_c<
-                 do_copy_with_dynamic_check_type::value,
-                 detail::lexical_cast_dynamic_num<Target, src>,
-                 detail::lexical_cast_do_cast<Target, src>
-            >::type
-        >::type caster_type;
-
-        return caster_type::lexical_cast_impl(arg);
-    }
-
-    #else
-
-    namespace detail // stream wrapper for handling lexical conversions
-    {
-        template<typename Target, typename Source, typename Traits>
-        class lexical_stream
-        {
-        private:
-            typedef typename widest_char<
-                typename stream_char<Target>::type,
-                typename stream_char<Source>::type>::type char_type;
-
-            typedef Traits traits_type;
-
-        public:
-            lexical_stream(char_type* = 0, char_type* = 0)
-            {
-                stream.unsetf(std::ios::skipws);
-                lcast_set_precision(stream, static_cast<Source*>(0), static_cast<Target*>(0) );
-            }
-            ~lexical_stream()
-            {
-                #if defined(BOOST_NO_STRINGSTREAM)
-                stream.freeze(false);
-                #endif
-            }
-            bool operator<<(const Source &input)
-            {
-                return !(stream << input).fail();
-            }
-            template<typename InputStreamable>
-            bool operator>>(InputStreamable &output)
-            {
-                return !is_pointer<InputStreamable>::value &&
-                       stream >> output &&
-                       stream.get() ==
-#if defined(__GNUC__) && (__GNUC__<3) && defined(BOOST_NO_STD_WSTRING)
-// GCC 2.9x lacks std::char_traits<>::eof().
-// We use BOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3
-// configurations, which do provide std::char_traits<>::eof().
-
-                           EOF;
-#else
-                           traits_type::eof();
-#endif
-            }
-
-            bool operator>>(std::string &output)
-            {
-                #if defined(BOOST_NO_STRINGSTREAM)
-                stream << '\0';
-                #endif
-                stream.str().swap(output);
-                return true;
-            }
-            #ifndef BOOST_LCAST_NO_WCHAR_T
-            bool operator>>(std::wstring &output)
-            {
-                stream.str().swap(output);
-                return true;
-            }
-            #endif
-
-        private:
-            #if defined(BOOST_NO_STRINGSTREAM)
-            std::strstream stream;
-            #elif defined(BOOST_NO_STD_LOCALE)
-            std::stringstream stream;
-            #else
-            std::basic_stringstream<char_type,traits_type> stream;
-            #endif
-        };
-    }
-
-    // call-by-value fallback version (deprecated)
-
-    template<typename Target, typename Source>
-    Target lexical_cast(Source arg)
-    {
-        typedef typename detail::widest_char< 
-            BOOST_DEDUCED_TYPENAME detail::stream_char<Target>::type 
-          , BOOST_DEDUCED_TYPENAME detail::stream_char<Source>::type 
-        >::type char_type; 
-
-        typedef std::char_traits<char_type> traits;
-        detail::lexical_stream<Target, Source, traits> interpreter;
-        Target result;
-
-        if(!(interpreter << arg && interpreter >> result))
-          BOOST_LCAST_THROW_BAD_CAST(Source, Target);
-        return result;
-    }
-
-    #endif
-}
-
-// Copyright Kevlin Henney, 2000-2005.
-// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#undef BOOST_LCAST_NO_WCHAR_T
-#endif
diff --git a/SRC/Boost/boost/limits.hpp b/SRC/Boost/boost/limits.hpp
deleted file mode 100755
index 37f7217..0000000
--- a/SRC/Boost/boost/limits.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-//  (C) Copyright John maddock 1999. 
-//  (C) David Abrahams 2002.  Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// use this header as a workaround for missing <limits>
-
-//  See http://www.boost.org/libs/compatibility/index.html for documentation.
-
-#ifndef BOOST_LIMITS
-#define BOOST_LIMITS
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_LIMITS
-# include <boost/detail/limits.hpp>
-#else
-# include <limits>
-#endif
-
-#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \
-      || (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS))
-// Add missing specializations for numeric_limits:
-#ifdef BOOST_HAS_MS_INT64
-#  define BOOST_LLT __int64
-#  define BOOST_ULLT unsigned __int64
-#else
-#  define BOOST_LLT  ::boost::long_long_type
-#  define BOOST_ULLT  ::boost::ulong_long_type
-#endif
-
-#include <climits>  // for CHAR_BIT
-
-namespace std
-{
-  template<>
-  class numeric_limits<BOOST_LLT> 
-  {
-   public:
-
-      BOOST_STATIC_CONSTANT(bool, is_specialized = true);
-#ifdef BOOST_HAS_MS_INT64
-      static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; }
-      static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; }
-#elif defined(LLONG_MAX)
-      static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; }
-      static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; }
-#elif defined(LONGLONG_MAX)
-      static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; }
-      static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; }
-#else
-      static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); }
-      static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); }
-#endif
-      BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1);
-      BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000);
-      BOOST_STATIC_CONSTANT(bool, is_signed = true);
-      BOOST_STATIC_CONSTANT(bool, is_integer = true);
-      BOOST_STATIC_CONSTANT(bool, is_exact = true);
-      BOOST_STATIC_CONSTANT(int, radix = 2);
-      static BOOST_LLT epsilon() throw() { return 0; };
-      static BOOST_LLT round_error() throw() { return 0; };
-
-      BOOST_STATIC_CONSTANT(int, min_exponent = 0);
-      BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
-      BOOST_STATIC_CONSTANT(int, max_exponent = 0);
-      BOOST_STATIC_CONSTANT(int, max_exponent10 = 0);
-
-      BOOST_STATIC_CONSTANT(bool, has_infinity = false);
-      BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);
-      BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
-      BOOST_STATIC_CONSTANT(bool, has_denorm = false);
-      BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
-      static BOOST_LLT infinity() throw() { return 0; };
-      static BOOST_LLT quiet_NaN() throw() { return 0; };
-      static BOOST_LLT signaling_NaN() throw() { return 0; };
-      static BOOST_LLT denorm_min() throw() { return 0; };
-
-      BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
-      BOOST_STATIC_CONSTANT(bool, is_bounded = true);
-      BOOST_STATIC_CONSTANT(bool, is_modulo = true);
-
-      BOOST_STATIC_CONSTANT(bool, traps = false);
-      BOOST_STATIC_CONSTANT(bool, tinyness_before = false);
-      BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
-      
-  };
-
-  template<>
-  class numeric_limits<BOOST_ULLT> 
-  {
-   public:
-
-      BOOST_STATIC_CONSTANT(bool, is_specialized = true);
-#ifdef BOOST_HAS_MS_INT64
-      static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; }
-      static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; }
-#elif defined(ULLONG_MAX) && defined(ULLONG_MIN)
-      static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; }
-      static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; }
-#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN)
-      static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; }
-      static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; }
-#else
-      static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; }
-      static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; }
-#endif
-      BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT);
-      BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000);
-      BOOST_STATIC_CONSTANT(bool, is_signed = false);
-      BOOST_STATIC_CONSTANT(bool, is_integer = true);
-      BOOST_STATIC_CONSTANT(bool, is_exact = true);
-      BOOST_STATIC_CONSTANT(int, radix = 2);
-      static BOOST_ULLT epsilon() throw() { return 0; };
-      static BOOST_ULLT round_error() throw() { return 0; };
-
-      BOOST_STATIC_CONSTANT(int, min_exponent = 0);
-      BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
-      BOOST_STATIC_CONSTANT(int, max_exponent = 0);
-      BOOST_STATIC_CONSTANT(int, max_exponent10 = 0);
-
-      BOOST_STATIC_CONSTANT(bool, has_infinity = false);
-      BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);
-      BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
-      BOOST_STATIC_CONSTANT(bool, has_denorm = false);
-      BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
-      static BOOST_ULLT infinity() throw() { return 0; };
-      static BOOST_ULLT quiet_NaN() throw() { return 0; };
-      static BOOST_ULLT signaling_NaN() throw() { return 0; };
-      static BOOST_ULLT denorm_min() throw() { return 0; };
-
-      BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
-      BOOST_STATIC_CONSTANT(bool, is_bounded = true);
-      BOOST_STATIC_CONSTANT(bool, is_modulo = true);
-
-      BOOST_STATIC_CONSTANT(bool, traps = false);
-      BOOST_STATIC_CONSTANT(bool, tinyness_before = false);
-      BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
-      
-  };
-}
-#endif 
-
-#endif
-
diff --git a/SRC/Boost/boost/make_shared.hpp b/SRC/Boost/boost/make_shared.hpp
deleted file mode 100755
index 0a23e6d..0000000
--- a/SRC/Boost/boost/make_shared.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef BOOST_MAKE_SHARED_HPP_INCLUDED
-#define BOOST_MAKE_SHARED_HPP_INCLUDED
-
-//  make_shared.hpp
-//
-//  Copyright (c) 2007, 2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-//  See http://www.boost.org/libs/smart_ptr/make_shared.html
-//  for documentation.
-
-#include <boost/smart_ptr/make_shared.hpp>
-
-#endif // #ifndef BOOST_MAKE_SHARED_HPP_INCLUDED
diff --git a/SRC/Boost/boost/math/common_factor_ct.hpp b/SRC/Boost/boost/math/common_factor_ct.hpp
deleted file mode 100755
index 339cbfc..0000000
--- a/SRC/Boost/boost/math/common_factor_ct.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-//  Boost common_factor_ct.hpp header file  ----------------------------------//
-
-//  (C) Copyright Daryle Walker and Stephen Cleary 2001-2002.
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history. 
-
-#ifndef BOOST_MATH_COMMON_FACTOR_CT_HPP
-#define BOOST_MATH_COMMON_FACTOR_CT_HPP
-
-#include <boost/math_fwd.hpp>  // self include
-#include <boost/config.hpp>  // for BOOST_STATIC_CONSTANT, etc.
-#include <boost/mpl/integral_c.hpp>
-
-namespace boost
-{
-namespace math
-{
-
-//  Implementation details  --------------------------------------------------//
-
-namespace detail
-{
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    // Build GCD with Euclid's recursive algorithm
-    template < static_gcd_type Value1, static_gcd_type Value2 >
-    struct static_gcd_helper_t
-    {
-    private:
-        BOOST_STATIC_CONSTANT( static_gcd_type, new_value1 = Value2 );
-        BOOST_STATIC_CONSTANT( static_gcd_type, new_value2 = Value1 % Value2 );
-
-        #ifndef __BORLANDC__
-        #define BOOST_DETAIL_GCD_HELPER_VAL(Value) static_cast<static_gcd_type>(Value)
-        #else
-        typedef static_gcd_helper_t  self_type;
-        #define BOOST_DETAIL_GCD_HELPER_VAL(Value)  (self_type:: Value )
-        #endif
-
-        typedef static_gcd_helper_t< BOOST_DETAIL_GCD_HELPER_VAL(new_value1),
-         BOOST_DETAIL_GCD_HELPER_VAL(new_value2) >  next_step_type;
-
-        #undef BOOST_DETAIL_GCD_HELPER_VAL
-
-    public:
-        BOOST_STATIC_CONSTANT( static_gcd_type, value = next_step_type::value );
-    };
-
-    // Non-recursive case
-    template < static_gcd_type Value1 >
-    struct static_gcd_helper_t< Value1, 0UL >
-    {
-        BOOST_STATIC_CONSTANT( static_gcd_type, value = Value1 );
-    };
-#else
-    // Use inner class template workaround from Peter Dimov
-    template < static_gcd_type Value1 >
-    struct static_gcd_helper2_t
-    {
-        template < static_gcd_type Value2 >
-        struct helper
-        {
-            BOOST_STATIC_CONSTANT( static_gcd_type, value
-             = static_gcd_helper2_t<Value2>::BOOST_NESTED_TEMPLATE
-             helper<Value1 % Value2>::value );
-        };
-
-        template <  >
-        struct helper< 0UL >
-        {
-            BOOST_STATIC_CONSTANT( static_gcd_type, value = Value1 );
-        };
-    };
-
-    // Special case
-    template <  >
-    struct static_gcd_helper2_t< 0UL >
-    {
-        template < static_gcd_type Value2 >
-        struct helper
-        {
-            BOOST_STATIC_CONSTANT( static_gcd_type, value = Value2 );
-        };
-    };
-
-    // Build the GCD from the above template(s)
-    template < static_gcd_type Value1, static_gcd_type Value2 >
-    struct static_gcd_helper_t
-    {
-        BOOST_STATIC_CONSTANT( static_gcd_type, value
-         = static_gcd_helper2_t<Value1>::BOOST_NESTED_TEMPLATE
-         helper<Value2>::value );
-    };
-#endif
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    // Build the LCM from the GCD
-    template < static_gcd_type Value1, static_gcd_type Value2 >
-    struct static_lcm_helper_t
-    {
-        typedef static_gcd_helper_t<Value1, Value2>  gcd_type;
-
-        BOOST_STATIC_CONSTANT( static_gcd_type, value = Value1 / gcd_type::value
-         * Value2 );
-    };
-
-    // Special case for zero-GCD values
-    template < >
-    struct static_lcm_helper_t< 0UL, 0UL >
-    {
-        BOOST_STATIC_CONSTANT( static_gcd_type, value = 0UL );
-    };
-#else
-    // Adapt GCD's inner class template workaround for LCM
-    template < static_gcd_type Value1 >
-    struct static_lcm_helper2_t
-    {
-        template < static_gcd_type Value2 >
-        struct helper
-        {
-            typedef static_gcd_helper_t<Value1, Value2>  gcd_type;
-
-            BOOST_STATIC_CONSTANT( static_gcd_type, value = Value1
-             / gcd_type::value * Value2 );
-        };
-
-        template <  >
-        struct helper< 0UL >
-        {
-            BOOST_STATIC_CONSTANT( static_gcd_type, value = 0UL );
-        };
-    };
-
-    // Special case
-    template <  >
-    struct static_lcm_helper2_t< 0UL >
-    {
-        template < static_gcd_type Value2 >
-        struct helper
-        {
-            BOOST_STATIC_CONSTANT( static_gcd_type, value = 0UL );
-        };
-    };
-
-    // Build the LCM from the above template(s)
-    template < static_gcd_type Value1, static_gcd_type Value2 >
-    struct static_lcm_helper_t
-    {
-        BOOST_STATIC_CONSTANT( static_gcd_type, value
-         = static_lcm_helper2_t<Value1>::BOOST_NESTED_TEMPLATE
-         helper<Value2>::value );
-    };
-#endif
-
-}  // namespace detail
-
-
-//  Compile-time greatest common divisor evaluator class declaration  --------//
-
-template < static_gcd_type Value1, static_gcd_type Value2 >
-struct static_gcd : public mpl::integral_c<static_gcd_type, (detail::static_gcd_helper_t<Value1, Value2>::value) >
-{
-};  // boost::math::static_gcd
-
-
-//  Compile-time least common multiple evaluator class declaration  ----------//
-
-template < static_gcd_type Value1, static_gcd_type Value2 >
-struct static_lcm : public mpl::integral_c<static_gcd_type, (detail::static_lcm_helper_t<Value1, Value2>::value) >
-{
-};  // boost::math::static_lcm
-
-
-}  // namespace math
-}  // namespace boost
-
-
-#endif  // BOOST_MATH_COMMON_FACTOR_CT_HPP
diff --git a/SRC/Boost/boost/math/policies/policy.hpp b/SRC/Boost/boost/math/policies/policy.hpp
deleted file mode 100755
index 44d38d4..0000000
--- a/SRC/Boost/boost/math/policies/policy.hpp
+++ /dev/null
@@ -1,959 +0,0 @@
-//  Copyright John Maddock 2007.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_MATH_POLICY_HPP
-#define BOOST_MATH_POLICY_HPP
-
-#include <boost/mpl/list.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/find_if.hpp>
-#include <boost/mpl/remove_if.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/push_back.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/comparison.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/assert.hpp>
-#include <boost/math/tools/config.hpp>
-#include <limits>
-// Sadly we do need the .h versions of these to be sure of getting
-// FLT_MANT_DIG etc.
-#include <limits.h>
-#include <stdlib.h>
-#include <stddef.h>
-#include <math.h>
-
-namespace boost{ namespace math{ 
-
-namespace tools{
-
-template <class T>
-int digits(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T));
-template <class T>
-T epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T));
-
-}
-
-namespace policies{
-
-//
-// Define macros for our default policies, if they're not defined already:
-//
-#ifndef BOOST_MATH_DOMAIN_ERROR_POLICY
-#define BOOST_MATH_DOMAIN_ERROR_POLICY throw_on_error
-#endif
-#ifndef BOOST_MATH_POLE_ERROR_POLICY
-#define BOOST_MATH_POLE_ERROR_POLICY throw_on_error
-#endif
-#ifndef BOOST_MATH_OVERFLOW_ERROR_POLICY
-#define BOOST_MATH_OVERFLOW_ERROR_POLICY throw_on_error
-#endif
-#ifndef BOOST_MATH_EVALUATION_ERROR_POLICY
-#define BOOST_MATH_EVALUATION_ERROR_POLICY throw_on_error
-#endif
-#ifndef BOOST_MATH_ROUNDING_ERROR_POLICY
-#define BOOST_MATH_ROUNDING_ERROR_POLICY throw_on_error
-#endif
-#ifndef BOOST_MATH_UNDERFLOW_ERROR_POLICY
-#define BOOST_MATH_UNDERFLOW_ERROR_POLICY ignore_error
-#endif
-#ifndef BOOST_MATH_DENORM_ERROR_POLICY
-#define BOOST_MATH_DENORM_ERROR_POLICY ignore_error
-#endif
-#ifndef BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY
-#define BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY ignore_error
-#endif
-#ifndef BOOST_MATH_DIGITS10_POLICY
-#define BOOST_MATH_DIGITS10_POLICY 0
-#endif
-#ifndef BOOST_MATH_PROMOTE_FLOAT_POLICY
-#define BOOST_MATH_PROMOTE_FLOAT_POLICY true
-#endif
-#ifndef BOOST_MATH_PROMOTE_DOUBLE_POLICY
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-#define BOOST_MATH_PROMOTE_DOUBLE_POLICY false
-#else
-#define BOOST_MATH_PROMOTE_DOUBLE_POLICY true
-#endif
-#endif
-#ifndef BOOST_MATH_DISCRETE_QUANTILE_POLICY
-#define BOOST_MATH_DISCRETE_QUANTILE_POLICY integer_round_outwards
-#endif
-#ifndef BOOST_MATH_ASSERT_UNDEFINED_POLICY
-#define BOOST_MATH_ASSERT_UNDEFINED_POLICY true
-#endif
-#ifndef BOOST_MATH_MAX_SERIES_ITERATION_POLICY
-#define BOOST_MATH_MAX_SERIES_ITERATION_POLICY 1000000
-#endif
-#ifndef BOOST_MATH_MAX_ROOT_ITERATION_POLICY
-#define BOOST_MATH_MAX_ROOT_ITERATION_POLICY 200
-#endif
-
-#if !defined(__BORLANDC__) \
-   && !(defined(__GNUC__) && (__GNUC__ == 3) && (__GNUC_MINOR__ <= 2))
-#define BOOST_MATH_META_INT(type, name, Default)\
-   template <type N = Default> struct name : public boost::mpl::int_<N>{};\
-   namespace detail{\
-   template <type N>\
-   char test_is_valid_arg(const name<N>*);\
-   char test_is_default_arg(const name<Default>*);\
-   template <class T> struct is_##name##_imp\
-   {\
-      template <type N> static char test(const name<N>*);\
-      static double test(...);\
-      BOOST_STATIC_CONSTANT(bool, value = sizeof(test(static_cast<T*>(0))) == 1);\
-   };\
-   }\
-   template <class T> struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp<T>::value>{};
-
-#define BOOST_MATH_META_BOOL(name, Default)\
-   template <bool N = Default> struct name : public boost::mpl::bool_<N>{};\
-   namespace detail{\
-   template <bool N>\
-   char test_is_valid_arg(const name<N>*);\
-   char test_is_default_arg(const name<Default>*);\
-   template <class T> struct is_##name##_imp\
-   {\
-      template <bool N> static char test(const name<N>*);\
-      static double test(...);\
-      BOOST_STATIC_CONSTANT(bool, value = sizeof(test(static_cast<T*>(0))) == 1);\
-   };\
-   }\
-   template <class T> struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp<T>::value>{};
-#else
-#define BOOST_MATH_META_INT(Type, name, Default)\
-   template <Type N = Default> struct name : public boost::mpl::int_<N>{};\
-   namespace detail{\
-   template <Type N>\
-   char test_is_valid_arg(const name<N>*);\
-   char test_is_default_arg(const name<Default>*);\
-   template <class T> struct is_##name##_tester\
-   {\
-      template <Type N> static char test(const name<N>&);\
-      static double test(...);\
-   };\
-   template <class T> struct is_##name##_imp\
-   {\
-      static T inst;\
-      BOOST_STATIC_CONSTANT(bool, value = sizeof( ::boost::math::policies::detail::is_##name##_tester<T>::test(inst)) == 1);\
-   };\
-   }\
-   template <class T> struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp<T>::value>\
-   {\
-      template <class U> struct apply{ typedef is_##name<U> type; };\
-   };
-
-#define BOOST_MATH_META_BOOL(name, Default)\
-   template <bool N = Default> struct name : public boost::mpl::bool_<N>{};\
-   namespace detail{\
-   template <bool N>\
-   char test_is_valid_arg(const name<N>*);\
-   char test_is_default_arg(const name<Default>*);\
-   template <class T> struct is_##name##_tester\
-   {\
-      template <bool N> static char test(const name<N>&);\
-      static double test(...);\
-   };\
-   template <class T> struct is_##name##_imp\
-   {\
-      static T inst;\
-      BOOST_STATIC_CONSTANT(bool, value = sizeof( ::boost::math::policies::detail::is_##name##_tester<T>::test(inst)) == 1);\
-   };\
-   }\
-   template <class T> struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp<T>::value>\
-   {\
-      template <class U> struct apply{ typedef is_##name<U> type;  };\
-   };
-#endif
-//
-// Begin by defining policy types for error handling:
-//
-enum error_policy_type
-{
-   throw_on_error = 0,
-   errno_on_error = 1,
-   ignore_error = 2,
-   user_error = 3
-};
-
-BOOST_MATH_META_INT(error_policy_type, domain_error, BOOST_MATH_DOMAIN_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, pole_error, BOOST_MATH_POLE_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, overflow_error, BOOST_MATH_OVERFLOW_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, underflow_error, BOOST_MATH_UNDERFLOW_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, denorm_error, BOOST_MATH_DENORM_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, evaluation_error, BOOST_MATH_EVALUATION_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, rounding_error, BOOST_MATH_ROUNDING_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, indeterminate_result_error, BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY)
-
-//
-// Policy types for internal promotion:
-//
-BOOST_MATH_META_BOOL(promote_float, BOOST_MATH_PROMOTE_FLOAT_POLICY)
-BOOST_MATH_META_BOOL(promote_double, BOOST_MATH_PROMOTE_DOUBLE_POLICY)
-BOOST_MATH_META_BOOL(assert_undefined, BOOST_MATH_ASSERT_UNDEFINED_POLICY)
-//
-// Policy types for discrete quantiles:
-//
-enum discrete_quantile_policy_type
-{
-   real,
-   integer_round_outwards,
-   integer_round_inwards,
-   integer_round_down,
-   integer_round_up,
-   integer_round_nearest
-};
-
-BOOST_MATH_META_INT(discrete_quantile_policy_type, discrete_quantile, BOOST_MATH_DISCRETE_QUANTILE_POLICY)
-//
-// Precision:
-//
-BOOST_MATH_META_INT(int, digits10, BOOST_MATH_DIGITS10_POLICY)
-BOOST_MATH_META_INT(int, digits2, 0)
-//
-// Iterations:
-//
-BOOST_MATH_META_INT(unsigned long, max_series_iterations, BOOST_MATH_MAX_SERIES_ITERATION_POLICY)
-BOOST_MATH_META_INT(unsigned long, max_root_iterations, BOOST_MATH_MAX_ROOT_ITERATION_POLICY)
-//
-// Define the names for each possible policy:
-//
-#define BOOST_MATH_PARAMETER(name)\
-   BOOST_PARAMETER_TEMPLATE_KEYWORD(name##_name)\
-   BOOST_PARAMETER_NAME(name##_name)
-
-struct default_policy{};
-
-namespace detail{
-//
-// Trait to work out bits precision from digits10 and digits2:
-//
-template <class Digits10, class Digits2>
-struct precision
-{
-   //
-   // Now work out the precision:
-   //
-   typedef typename mpl::if_c<
-      (Digits10::value == 0),
-      digits2<0>,
-      digits2<((Digits10::value + 1) * 1000L) / 301L>
-   >::type digits2_type;
-public:
-#ifdef __BORLANDC__
-   typedef typename mpl::if_c<
-      (Digits2::value > ::boost::math::policies::detail::precision<Digits10,Digits2>::digits2_type::value),
-      Digits2, digits2_type>::type type;
-#else
-   typedef typename mpl::if_c<
-      (Digits2::value > digits2_type::value),
-      Digits2, digits2_type>::type type;
-#endif
-};
-
-template <class A, class B, bool b>
-struct select_result
-{
-   typedef A type;
-};
-template <class A, class B>
-struct select_result<A, B, false>
-{
-   typedef typename mpl::deref<B>::type type;
-};
-
-template <class Seq, class Pred, class DefaultType>
-struct find_arg
-{
-private:
-   typedef typename mpl::find_if<Seq, Pred>::type iter;
-   typedef typename mpl::end<Seq>::type end_type;
-public:
-   typedef typename select_result<
-      DefaultType, iter,
-      ::boost::is_same<iter, end_type>::value>::type type;
-};
-
-double test_is_valid_arg(...);
-double test_is_default_arg(...);
-char test_is_valid_arg(const default_policy*);
-char test_is_default_arg(const default_policy*);
-
-template <class T>
-struct is_valid_policy_imp 
-{
-   BOOST_STATIC_CONSTANT(bool, value = sizeof(::boost::math::policies::detail::test_is_valid_arg(static_cast<T*>(0))) == 1);
-};
-
-template <class T>
-struct is_default_policy_imp
-{
-   BOOST_STATIC_CONSTANT(bool, value = sizeof(::boost::math::policies::detail::test_is_default_arg(static_cast<T*>(0))) == 1);
-};
-
-template <class T> struct is_valid_policy 
-: public mpl::bool_< 
-   ::boost::math::policies::detail::is_valid_policy_imp<T>::value>
-{};
-
-template <class T> struct is_default_policy 
-: public mpl::bool_< 
-   ::boost::math::policies::detail::is_default_policy_imp<T>::value>
-{
-   template <class U>
-   struct apply
-   {
-      typedef is_default_policy<U> type;
-   };
-};
-
-template <class Seq, class T, int N>
-struct append_N
-{
-   typedef typename mpl::push_back<Seq, T>::type new_seq;
-   typedef typename append_N<new_seq, T, N-1>::type type;
-};
-
-template <class Seq, class T>
-struct append_N<Seq, T, 0>
-{
-   typedef Seq type;
-};
-
-//
-// Traits class to work out what template parameters our default
-// policy<> class will have when modified for forwarding:
-//
-template <bool f, bool d>
-struct default_args
-{
-   typedef promote_float<false> arg1;
-   typedef promote_double<false> arg2;
-};
-
-template <>
-struct default_args<false, false>
-{
-   typedef default_policy arg1;
-   typedef default_policy arg2;
-};
-
-template <>
-struct default_args<true, false>
-{
-   typedef promote_float<false> arg1;
-   typedef default_policy arg2;
-};
-
-template <>
-struct default_args<false, true>
-{
-   typedef promote_double<false> arg1;
-   typedef default_policy arg2;
-};
-
-typedef default_args<BOOST_MATH_PROMOTE_FLOAT_POLICY, BOOST_MATH_PROMOTE_DOUBLE_POLICY>::arg1 forwarding_arg1;
-typedef default_args<BOOST_MATH_PROMOTE_FLOAT_POLICY, BOOST_MATH_PROMOTE_DOUBLE_POLICY>::arg2 forwarding_arg2;
-
-} // detail
-//
-// Now define the policy type with enough arguments to handle all
-// the policies:
-//
-template <class A1 = default_policy, 
-          class A2 = default_policy, 
-          class A3 = default_policy,
-          class A4 = default_policy,
-          class A5 = default_policy,
-          class A6 = default_policy,
-          class A7 = default_policy,
-          class A8 = default_policy,
-          class A9 = default_policy,
-          class A10 = default_policy,
-          class A11 = default_policy,
-          class A12 = default_policy,
-          class A13 = default_policy>
-struct policy
-{
-private:
-   //
-   // Validate all our arguments:
-   //
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A1>::value);
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A2>::value);
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A3>::value);
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A4>::value);
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A5>::value);
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A6>::value);
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A7>::value);
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A8>::value);
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A9>::value);
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A10>::value);
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A11>::value);
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A12>::value);
-   BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A13>::value);
-   //
-   // Typelist of the arguments:
-   //
-   typedef mpl::list<A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13> arg_list;
-
-public:
-   typedef typename detail::find_arg<arg_list, is_domain_error<mpl::_1>, domain_error<> >::type domain_error_type;
-   typedef typename detail::find_arg<arg_list, is_pole_error<mpl::_1>, pole_error<> >::type pole_error_type;
-   typedef typename detail::find_arg<arg_list, is_overflow_error<mpl::_1>, overflow_error<> >::type overflow_error_type;
-   typedef typename detail::find_arg<arg_list, is_underflow_error<mpl::_1>, underflow_error<> >::type underflow_error_type;
-   typedef typename detail::find_arg<arg_list, is_denorm_error<mpl::_1>, denorm_error<> >::type denorm_error_type;
-   typedef typename detail::find_arg<arg_list, is_evaluation_error<mpl::_1>, evaluation_error<> >::type evaluation_error_type;
-   typedef typename detail::find_arg<arg_list, is_rounding_error<mpl::_1>, rounding_error<> >::type rounding_error_type;
-   typedef typename detail::find_arg<arg_list, is_indeterminate_result_error<mpl::_1>, indeterminate_result_error<> >::type indeterminate_result_error_type;
-private:
-   //
-   // Now work out the precision:
-   //
-   typedef typename detail::find_arg<arg_list, is_digits10<mpl::_1>, digits10<> >::type digits10_type;
-   typedef typename detail::find_arg<arg_list, is_digits2<mpl::_1>, digits2<> >::type bits_precision_type;
-public:
-   typedef typename detail::precision<digits10_type, bits_precision_type>::type precision_type;
-   //
-   // Internal promotion:
-   //
-   typedef typename detail::find_arg<arg_list, is_promote_float<mpl::_1>, promote_float<> >::type promote_float_type;
-   typedef typename detail::find_arg<arg_list, is_promote_double<mpl::_1>, promote_double<> >::type promote_double_type;
-   //
-   // Discrete quantiles:
-   //
-   typedef typename detail::find_arg<arg_list, is_discrete_quantile<mpl::_1>, discrete_quantile<> >::type discrete_quantile_type;
-   //
-   // Mathematically undefined properties:
-   //
-   typedef typename detail::find_arg<arg_list, is_assert_undefined<mpl::_1>, discrete_quantile<> >::type assert_undefined_type;
-   //
-   // Max iterations:
-   //
-   typedef typename detail::find_arg<arg_list, is_max_series_iterations<mpl::_1>, max_series_iterations<> >::type max_series_iterations_type;
-   typedef typename detail::find_arg<arg_list, is_max_root_iterations<mpl::_1>, max_root_iterations<> >::type max_root_iterations_type;
-};
-//
-// These full specializations are defined to reduce the amount of
-// template instantiations that have to take place when using the default
-// policies, they have quite a large impact on compile times:
-//
-template <>
-struct policy<default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy>
-{
-public:
-   typedef domain_error<> domain_error_type;
-   typedef pole_error<> pole_error_type;
-   typedef overflow_error<> overflow_error_type;
-   typedef underflow_error<> underflow_error_type;
-   typedef denorm_error<> denorm_error_type;
-   typedef evaluation_error<> evaluation_error_type;
-   typedef rounding_error<> rounding_error_type;
-   typedef indeterminate_result_error<> indeterminate_result_error_type;
-#if BOOST_MATH_DIGITS10_POLICY == 0
-   typedef digits2<> precision_type;
-#else
-   typedef detail::precision<digits10<>, digits2<> >::type precision_type;
-#endif
-   typedef promote_float<> promote_float_type;
-   typedef promote_double<> promote_double_type;
-   typedef discrete_quantile<> discrete_quantile_type;
-   typedef assert_undefined<> assert_undefined_type;
-   typedef max_series_iterations<> max_series_iterations_type;
-   typedef max_root_iterations<> max_root_iterations_type;
-};
-
-template <>
-struct policy<detail::forwarding_arg1, detail::forwarding_arg2, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy>
-{
-public:
-   typedef domain_error<> domain_error_type;
-   typedef pole_error<> pole_error_type;
-   typedef overflow_error<> overflow_error_type;
-   typedef underflow_error<> underflow_error_type;
-   typedef denorm_error<> denorm_error_type;
-   typedef evaluation_error<> evaluation_error_type;
-   typedef rounding_error<> rounding_error_type;
-   typedef indeterminate_result_error<> indeterminate_result_error_type;
-#if BOOST_MATH_DIGITS10_POLICY == 0
-   typedef digits2<> precision_type;
-#else
-   typedef detail::precision<digits10<>, digits2<> >::type precision_type;
-#endif
-   typedef promote_float<false> promote_float_type;
-   typedef promote_double<false> promote_double_type;
-   typedef discrete_quantile<> discrete_quantile_type;
-   typedef assert_undefined<> assert_undefined_type;
-   typedef max_series_iterations<> max_series_iterations_type;
-   typedef max_root_iterations<> max_root_iterations_type;
-};
-
-template <class Policy, 
-          class A1 = default_policy, 
-          class A2 = default_policy, 
-          class A3 = default_policy,
-          class A4 = default_policy,
-          class A5 = default_policy,
-          class A6 = default_policy,
-          class A7 = default_policy,
-          class A8 = default_policy,
-          class A9 = default_policy,
-          class A10 = default_policy,
-          class A11 = default_policy,
-          class A12 = default_policy,
-          class A13 = default_policy>
-struct normalise
-{
-private:
-   typedef mpl::list<A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13> arg_list;
-   typedef typename detail::find_arg<arg_list, is_domain_error<mpl::_1>, typename Policy::domain_error_type >::type domain_error_type;
-   typedef typename detail::find_arg<arg_list, is_pole_error<mpl::_1>, typename Policy::pole_error_type >::type pole_error_type;
-   typedef typename detail::find_arg<arg_list, is_overflow_error<mpl::_1>, typename Policy::overflow_error_type >::type overflow_error_type;
-   typedef typename detail::find_arg<arg_list, is_underflow_error<mpl::_1>, typename Policy::underflow_error_type >::type underflow_error_type;
-   typedef typename detail::find_arg<arg_list, is_denorm_error<mpl::_1>, typename Policy::denorm_error_type >::type denorm_error_type;
-   typedef typename detail::find_arg<arg_list, is_evaluation_error<mpl::_1>, typename Policy::evaluation_error_type >::type evaluation_error_type;
-   typedef typename detail::find_arg<arg_list, is_rounding_error<mpl::_1>, typename Policy::rounding_error_type >::type rounding_error_type;
-   typedef typename detail::find_arg<arg_list, is_indeterminate_result_error<mpl::_1>, typename Policy::indeterminate_result_error_type >::type indeterminate_result_error_type;
-   //
-   // Now work out the precision:
-   //
-   typedef typename detail::find_arg<arg_list, is_digits10<mpl::_1>, digits10<> >::type digits10_type;
-   typedef typename detail::find_arg<arg_list, is_digits2<mpl::_1>, typename Policy::precision_type >::type bits_precision_type;
-   typedef typename detail::precision<digits10_type, bits_precision_type>::type precision_type;
-   //
-   // Internal promotion:
-   //
-   typedef typename detail::find_arg<arg_list, is_promote_float<mpl::_1>, typename Policy::promote_float_type >::type promote_float_type;
-   typedef typename detail::find_arg<arg_list, is_promote_double<mpl::_1>, typename Policy::promote_double_type >::type promote_double_type;
-   //
-   // Discrete quantiles:
-   //
-   typedef typename detail::find_arg<arg_list, is_discrete_quantile<mpl::_1>, typename Policy::discrete_quantile_type >::type discrete_quantile_type;
-   //
-   // Mathematically undefined properties:
-   //
-   typedef typename detail::find_arg<arg_list, is_assert_undefined<mpl::_1>, discrete_quantile<> >::type assert_undefined_type;
-   //
-   // Max iterations:
-   //
-   typedef typename detail::find_arg<arg_list, is_max_series_iterations<mpl::_1>, max_series_iterations<> >::type max_series_iterations_type;
-   typedef typename detail::find_arg<arg_list, is_max_root_iterations<mpl::_1>, max_root_iterations<> >::type max_root_iterations_type;
-   //
-   // Define a typelist of the policies:
-   //
-   typedef mpl::vector<
-      domain_error_type,
-      pole_error_type,
-      overflow_error_type,
-      underflow_error_type,
-      denorm_error_type,
-      evaluation_error_type,
-      rounding_error_type,
-      indeterminate_result_error_type,
-      precision_type,
-      promote_float_type,
-      promote_double_type,
-      discrete_quantile_type,
-      assert_undefined_type,
-      max_series_iterations_type,
-      max_root_iterations_type> result_list;
-   //
-   // Remove all the policies that are the same as the default:
-   //
-   typedef typename mpl::remove_if<result_list, detail::is_default_policy<mpl::_> >::type reduced_list;
-   //
-   // Pad out the list with defaults:
-   //
-   typedef typename detail::append_N<reduced_list, default_policy, (14 - ::boost::mpl::size<reduced_list>::value)>::type result_type;
-public:
-   typedef policy<
-      typename mpl::at<result_type, mpl::int_<0> >::type,
-      typename mpl::at<result_type, mpl::int_<1> >::type,
-      typename mpl::at<result_type, mpl::int_<2> >::type,
-      typename mpl::at<result_type, mpl::int_<3> >::type,
-      typename mpl::at<result_type, mpl::int_<4> >::type,
-      typename mpl::at<result_type, mpl::int_<5> >::type,
-      typename mpl::at<result_type, mpl::int_<6> >::type,
-      typename mpl::at<result_type, mpl::int_<7> >::type,
-      typename mpl::at<result_type, mpl::int_<8> >::type,
-      typename mpl::at<result_type, mpl::int_<9> >::type,
-      typename mpl::at<result_type, mpl::int_<10> >::type,
-      typename mpl::at<result_type, mpl::int_<11> >::type,
-      typename mpl::at<result_type, mpl::int_<12> >::type > type;
-};
-//
-// Full specialisation to speed up compilation of the common case:
-//
-template <>
-struct normalise<policy<>, 
-          promote_float<false>, 
-          promote_double<false>, 
-          discrete_quantile<>,
-          assert_undefined<>,
-          default_policy,
-          default_policy,
-          default_policy,
-          default_policy,
-          default_policy,
-          default_policy,
-          default_policy>
-{
-   typedef policy<detail::forwarding_arg1, detail::forwarding_arg2> type;
-};
-
-template <>
-struct normalise<policy<detail::forwarding_arg1, detail::forwarding_arg2>,
-          promote_float<false>,
-          promote_double<false>,
-          discrete_quantile<>,
-          assert_undefined<>,
-          default_policy,
-          default_policy,
-          default_policy,
-          default_policy,
-          default_policy,
-          default_policy,
-          default_policy>
-{
-   typedef policy<detail::forwarding_arg1, detail::forwarding_arg2> type;
-};
-
-inline policy<> make_policy()
-{ return policy<>(); }
-
-template <class A1>
-inline typename normalise<policy<>, A1>::type make_policy(const A1&)
-{ 
-   typedef typename normalise<policy<>, A1>::type result_type;
-   return result_type(); 
-}
-
-template <class A1, class A2>
-inline typename normalise<policy<>, A1, A2>::type make_policy(const A1&, const A2&)
-{ 
-   typedef typename normalise<policy<>, A1, A2>::type result_type;
-   return result_type(); 
-}
-
-template <class A1, class A2, class A3>
-inline typename normalise<policy<>, A1, A2, A3>::type make_policy(const A1&, const A2&, const A3&)
-{ 
-   typedef typename normalise<policy<>, A1, A2, A3>::type result_type;
-   return result_type(); 
-}
-
-template <class A1, class A2, class A3, class A4>
-inline typename normalise<policy<>, A1, A2, A3, A4>::type make_policy(const A1&, const A2&, const A3&, const A4&)
-{ 
-   typedef typename normalise<policy<>, A1, A2, A3, A4>::type result_type;
-   return result_type(); 
-}
-
-template <class A1, class A2, class A3, class A4, class A5>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&)
-{ 
-   typedef typename normalise<policy<>, A1, A2, A3, A4, A5>::type result_type;
-   return result_type(); 
-}
-
-template <class A1, class A2, class A3, class A4, class A5, class A6>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&)
-{ 
-   typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6>::type result_type;
-   return result_type(); 
-}
-
-template <class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&)
-{ 
-   typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7>::type result_type;
-   return result_type(); 
-}
-
-template <class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&, const A8&)
-{ 
-   typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8>::type result_type;
-   return result_type(); 
-}
-
-template <class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&, const A8&, const A9&)
-{ 
-   typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9>::type result_type;
-   return result_type(); 
-}
-
-template <class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&, const A8&, const A9&, const A10&)
-{ 
-   typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>::type result_type;
-   return result_type(); 
-}
-
-template <class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&, const A8&, const A9&, const A10&, const A11&)
-{
-   typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>::type result_type;
-   return result_type();
-}
-
-//
-// Traits class to handle internal promotion:
-//
-template <class Real, class Policy>
-struct evaluation
-{
-   typedef Real type;
-};
-
-template <class Policy>
-struct evaluation<float, Policy>
-{
-   typedef typename mpl::if_<typename Policy::promote_float_type, double, float>::type type;
-};
-
-template <class Policy>
-struct evaluation<double, Policy>
-{
-   typedef typename mpl::if_<typename Policy::promote_double_type, long double, double>::type type;
-};
-
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-
-template <class Real>
-struct basic_digits : public mpl::int_<0>{ };
-template <>
-struct basic_digits<float> : public mpl::int_<FLT_MANT_DIG>{ };
-template <>
-struct basic_digits<double> : public mpl::int_<DBL_MANT_DIG>{ };
-template <>
-struct basic_digits<long double> : public mpl::int_<LDBL_MANT_DIG>{ };
-
-template <class Real, class Policy>
-struct precision
-{
-   BOOST_STATIC_ASSERT( ::std::numeric_limits<Real>::radix == 2);
-   typedef typename Policy::precision_type precision_type;
-   typedef basic_digits<Real> digits_t;
-   typedef typename mpl::if_<
-      mpl::equal_to<digits_t, mpl::int_<0> >,
-      // Possibly unknown precision:
-      precision_type,
-      typename mpl::if_<
-         mpl::or_<mpl::less_equal<digits_t, precision_type>, mpl::less_equal<precision_type, mpl::int_<0> > >,
-         // Default case, full precision for RealType:
-         digits2< ::std::numeric_limits<Real>::digits>,
-         // User customised precision:
-         precision_type
-      >::type
-   >::type type;
-};
-
-template <class Policy>
-struct precision<float, Policy>
-{
-   typedef digits2<FLT_MANT_DIG> type;
-};
-template <class Policy>
-struct precision<double, Policy>
-{
-   typedef digits2<DBL_MANT_DIG> type;
-};
-template <class Policy>
-struct precision<long double, Policy>
-{
-   typedef digits2<LDBL_MANT_DIG> type;
-};
-
-#else
-
-template <class Real, class Policy>
-struct precision
-{
-   BOOST_STATIC_ASSERT((::std::numeric_limits<Real>::radix == 2) || ((::std::numeric_limits<Real>::is_specialized == 0) || (::std::numeric_limits<Real>::digits == 0)));
-#ifndef __BORLANDC__
-   typedef typename Policy::precision_type precision_type;
-   typedef typename mpl::if_c<
-      ((::std::numeric_limits<Real>::is_specialized == 0) || (::std::numeric_limits<Real>::digits == 0)),
-      // Possibly unknown precision:
-      precision_type,
-      typename mpl::if_c<
-         ((::std::numeric_limits<Real>::digits <= precision_type::value) 
-         || (Policy::precision_type::value <= 0)),
-         // Default case, full precision for RealType:
-         digits2< ::std::numeric_limits<Real>::digits>,
-         // User customised precision:
-         precision_type
-      >::type
-   >::type type;
-#else
-   typedef typename Policy::precision_type precision_type;
-   typedef mpl::int_< ::std::numeric_limits<Real>::digits> digits_t;
-   typedef mpl::bool_< ::std::numeric_limits<Real>::is_specialized> spec_t;
-   typedef typename mpl::if_<
-      mpl::or_<mpl::equal_to<spec_t, mpl::false_>, mpl::equal_to<digits_t, mpl::int_<0> > >,
-      // Possibly unknown precision:
-      precision_type,
-      typename mpl::if_<
-         mpl::or_<mpl::less_equal<digits_t, precision_type>, mpl::less_equal<precision_type, mpl::int_<0> > >,
-         // Default case, full precision for RealType:
-         digits2< ::std::numeric_limits<Real>::digits>,
-         // User customised precision:
-         precision_type
-      >::type
-   >::type type;
-#endif
-};
-
-#endif
-
-namespace detail{
-
-template <class T, class Policy>
-inline int digits_imp(mpl::true_ const&)
-{
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-   BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
-#else
-   BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
-#endif
-   typedef typename boost::math::policies::precision<T, Policy>::type p_t;
-   return p_t::value;
-}
-
-template <class T, class Policy>
-inline int digits_imp(mpl::false_ const&)
-{
-   return tools::digits<T>();
-}
-
-} // namespace detail
-
-template <class T, class Policy>
-inline int digits(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
-{
-   typedef mpl::bool_< std::numeric_limits<T>::is_specialized > tag_type;
-   return detail::digits_imp<T, Policy>(tag_type());
-}
-
-template <class Policy>
-inline unsigned long get_max_series_iterations()
-{
-   typedef typename Policy::max_series_iterations_type iter_type;
-   return iter_type::value;
-}
-
-template <class Policy>
-inline unsigned long get_max_root_iterations()
-{
-   typedef typename Policy::max_root_iterations_type iter_type;
-   return iter_type::value;
-}
-
-namespace detail{
-
-template <class T, class Digits, class Small, class Default>
-struct series_factor_calc
-{
-   static T get()
-   {
-      return ldexp(T(1.0), 1 - Digits::value);
-   }
-};
-
-template <class T, class Digits>
-struct series_factor_calc<T, Digits, mpl::true_, mpl::true_>
-{
-   static T get()
-   {
-      return boost::math::tools::epsilon<T>();
-   }
-};
-template <class T, class Digits>
-struct series_factor_calc<T, Digits, mpl::true_, mpl::false_>
-{
-   static T get()
-   {
-      static const boost::uintmax_t v = static_cast<boost::uintmax_t>(1u) << (Digits::value - 1);
-      return 1 / static_cast<T>(v);
-   }
-};
-template <class T, class Digits>
-struct series_factor_calc<T, Digits, mpl::false_, mpl::true_>
-{
-   static T get()
-   {
-      return boost::math::tools::epsilon<T>();
-   }
-};
-
-template <class T, class Policy>
-inline T get_epsilon_imp(mpl::true_ const&)
-{
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-   BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
-   BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::radix == 2);
-#else
-   BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
-   BOOST_ASSERT(::std::numeric_limits<T>::radix == 2);
-#endif
-   typedef typename boost::math::policies::precision<T, Policy>::type p_t;
-   typedef mpl::bool_<p_t::value <= std::numeric_limits<boost::uintmax_t>::digits> is_small_int;
-   typedef mpl::bool_<p_t::value >= std::numeric_limits<T>::digits> is_default_value;
-   return series_factor_calc<T, p_t, is_small_int, is_default_value>::get();
-}
-
-template <class T, class Policy>
-inline T get_epsilon_imp(mpl::false_ const&)
-{
-   return tools::epsilon<T>();
-}
-
-} // namespace detail
-
-template <class T, class Policy>
-inline T get_epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
-{
-   typedef mpl::bool_< (std::numeric_limits<T>::is_specialized && (std::numeric_limits<T>::radix == 2)) > tag_type;
-   return detail::get_epsilon_imp<T, Policy>(tag_type());
-}
-
-namespace detail{
-
-template <class A1, 
-          class A2, 
-          class A3,
-          class A4,
-          class A5,
-          class A6,
-          class A7,
-          class A8,
-          class A9,
-          class A10,
-          class A11>
-char test_is_policy(const policy<A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11>*);
-double test_is_policy(...);
-
-template <class P>
-struct is_policy_imp
-{
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::math::policies::detail::test_is_policy(static_cast<P*>(0))) == 1));
-};
-
-}
-
-template <class P>
-struct is_policy : public mpl::bool_< ::boost::math::policies::detail::is_policy_imp<P>::value> {};
-
-}}} // namespaces
-
-#endif // BOOST_MATH_POLICY_HPP
-
-
-
diff --git a/SRC/Boost/boost/math/special_functions/detail/fp_traits.hpp b/SRC/Boost/boost/math/special_functions/detail/fp_traits.hpp
deleted file mode 100755
index 0aed360..0000000
--- a/SRC/Boost/boost/math/special_functions/detail/fp_traits.hpp
+++ /dev/null
@@ -1,570 +0,0 @@
-// fp_traits.hpp
-
-#ifndef BOOST_MATH_FP_TRAITS_HPP
-#define BOOST_MATH_FP_TRAITS_HPP
-
-// Copyright (c) 2006 Johan Rade
-
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-/*
-To support old compilers, care has been taken to avoid partial template
-specialization and meta function forwarding.
-With these techniques, the code could be simplified.
-*/
-
-#if defined(__vms) && defined(__DECCXX) && !__IEEE_FLOAT
-// The VAX floating point formats are used (for float and double)
-#   define BOOST_FPCLASSIFY_VAX_FORMAT
-#endif
-
-#include <cstring>
-
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/detail/endian.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_floating_point.hpp>
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-  namespace std{ using ::memcpy; }
-#endif
-
-#ifndef FP_NORMAL
-
-#define FP_ZERO        0
-#define FP_NORMAL      1
-#define FP_INFINITE    2
-#define FP_NAN         3
-#define FP_SUBNORMAL   4
-
-#else
-
-#define BOOST_HAS_FPCLASSIFY
-
-#ifndef fpclassify
-#  if (defined(__GLIBCPP__) || defined(__GLIBCXX__)) \
-         && defined(_GLIBCXX_USE_C99_MATH) \
-         && !(defined(_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC) \
-         && (_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC != 0))
-#     ifdef _STLP_VENDOR_CSTD
-#        if _STLPORT_VERSION >= 0x520
-#           define BOOST_FPCLASSIFY_PREFIX ::__std_alias:: 
-#        else
-#           define BOOST_FPCLASSIFY_PREFIX ::_STLP_VENDOR_CSTD:: 
-#        endif
-#     else
-#        define BOOST_FPCLASSIFY_PREFIX ::std::
-#     endif
-#  else
-#     undef BOOST_HAS_FPCLASSIFY
-#     define BOOST_FPCLASSIFY_PREFIX
-#  endif
-#elif (defined(__HP_aCC) && !defined(__hppa))
-// aCC 6 appears to do "#define fpclassify fpclassify" which messes us up a bit!
-#  define BOOST_FPCLASSIFY_PREFIX ::
-#else
-#  define BOOST_FPCLASSIFY_PREFIX
-#endif
-
-#ifdef __MINGW32__
-#  undef BOOST_HAS_FPCLASSIFY
-#endif
-
-#endif
-
-
-//------------------------------------------------------------------------------
-
-namespace boost {
-namespace math {
-namespace detail {
-
-//------------------------------------------------------------------------------
-
-/* 
-The following classes are used to tag the different methods that are used
-for floating point classification
-*/
-
-struct native_tag {};
-template <bool has_limits>
-struct generic_tag {};
-struct ieee_tag {};
-struct ieee_copy_all_bits_tag : public ieee_tag {};
-struct ieee_copy_leading_bits_tag : public ieee_tag {};
-
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-//
-// These helper functions are used only when numeric_limits<>
-// members are not compile time constants:
-//
-inline bool is_generic_tag_false(const generic_tag<false>&)
-{
-   return true;
-}
-inline bool is_generic_tag_false(...)
-{
-   return false;
-}
-#endif
-
-//------------------------------------------------------------------------------
-
-/*
-Most processors support three different floating point precisions:
-single precision (32 bits), double precision (64 bits)
-and extended double precision (80 - 128 bits, depending on the processor)
-
-Note that the C++ type long double can be implemented
-both as double precision and extended double precision.
-*/
-
-struct unknown_precision{};
-struct single_precision {};
-struct double_precision {};
-struct extended_double_precision {};
-
-// native_tag version --------------------------------------------------------------
-
-template<class T> struct fp_traits_native
-{
-    typedef native_tag method;
-};
-
-// generic_tag version -------------------------------------------------------------
-
-template<class T, class U> struct fp_traits_non_native
-{
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-   typedef generic_tag<std::numeric_limits<T>::is_specialized> method;
-#else
-   typedef generic_tag<false> method;
-#endif
-};
-
-// ieee_tag versions ---------------------------------------------------------------
-
-/*
-These specializations of fp_traits_non_native contain information needed
-to "parse" the binary representation of a floating point number.
-
-Typedef members:
-
-  bits -- the target type when copying the leading bytes of a floating
-      point number. It is a typedef for uint32_t or uint64_t.
-
-  method -- tells us whether all bytes are copied or not.
-      It is a typedef for ieee_copy_all_bits_tag or ieee_copy_leading_bits_tag.
-
-Static data members:
-
-  sign, exponent, flag, significand -- bit masks that give the meaning of the
-  bits in the leading bytes.
-
-Static function members:
-
-  get_bits(), set_bits() -- provide access to the leading bytes.
-
-*/
-
-// ieee_tag version, float (32 bits) -----------------------------------------------
-
-#ifndef BOOST_FPCLASSIFY_VAX_FORMAT
-
-template<> struct fp_traits_non_native<float, single_precision>
-{
-    typedef ieee_copy_all_bits_tag method;
-
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7f800000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00000000);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x007fffff);
-
-    typedef uint32_t bits;
-    static void get_bits(float x, uint32_t& a) { std::memcpy(&a, &x, 4); }
-    static void set_bits(float& x, uint32_t a) { std::memcpy(&x, &a, 4); }
-};
-
-// ieee_tag version, double (64 bits) ----------------------------------------------
-
-#if defined(BOOST_NO_INT64_T) || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) \
-   || defined(__BORLANDC__) || defined(__CODEGEAR__)
-
-template<> struct fp_traits_non_native<double, double_precision>
-{
-    typedef ieee_copy_leading_bits_tag method;
-
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7ff00000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x000fffff);
-
-    typedef uint32_t bits;
-
-    static void get_bits(double x, uint32_t& a)
-    {
-        std::memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
-    }
-
-    static void set_bits(double& x, uint32_t a)
-    {
-        std::memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
-    }
-
-private:
-
-#if defined(BOOST_BIG_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 4);
-#else
-    BOOST_STATIC_ASSERT(false);
-#endif
-};
-
-//..............................................................................
-
-#else
-
-template<> struct fp_traits_non_native<double, double_precision>
-{
-    typedef ieee_copy_all_bits_tag method;
-
-    static const uint64_t sign     = ((uint64_t)0x80000000u) << 32;
-    static const uint64_t exponent = ((uint64_t)0x7ff00000) << 32;
-    static const uint64_t flag     = 0;
-    static const uint64_t significand
-        = (((uint64_t)0x000fffff) << 32) + ((uint64_t)0xffffffffu);
-
-    typedef uint64_t bits;
-    static void get_bits(double x, uint64_t& a) { std::memcpy(&a, &x, 8); }
-    static void set_bits(double& x, uint64_t a) { std::memcpy(&x, &a, 8); }
-};
-
-#endif
-
-#endif  // #ifndef BOOST_FPCLASSIFY_VAX_FORMAT
-
-// long double (64 bits) -------------------------------------------------------
-
-#if defined(BOOST_NO_INT64_T) || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)\
-   || defined(__BORLANDC__) || defined(__CODEGEAR__)
-
-template<> struct fp_traits_non_native<long double, double_precision>
-{
-    typedef ieee_copy_leading_bits_tag method;
-
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7ff00000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x000fffff);
-
-    typedef uint32_t bits;
-
-    static void get_bits(long double x, uint32_t& a)
-    {
-        std::memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
-    }
-
-    static void set_bits(long double& x, uint32_t a)
-    {
-        std::memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
-    }
-
-private:
-
-#if defined(BOOST_BIG_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 4);
-#else
-    BOOST_STATIC_ASSERT(false);
-#endif
-};
-
-//..............................................................................
-
-#else
-
-template<> struct fp_traits_non_native<long double, double_precision>
-{
-    typedef ieee_copy_all_bits_tag method;
-
-    static const uint64_t sign     = (uint64_t)0x80000000u << 32;
-    static const uint64_t exponent = (uint64_t)0x7ff00000 << 32;
-    static const uint64_t flag     = 0;
-    static const uint64_t significand
-        = ((uint64_t)0x000fffff << 32) + (uint64_t)0xffffffffu;
-
-    typedef uint64_t bits;
-    static void get_bits(long double x, uint64_t& a) { std::memcpy(&a, &x, 8); }
-    static void set_bits(long double& x, uint64_t a) { std::memcpy(&x, &a, 8); }
-};
-
-#endif
-
-
-// long double (>64 bits), x86 and x64 -----------------------------------------
-
-#if defined(__i386) || defined(__i386__) || defined(_M_IX86) \
-    || defined(__amd64) || defined(__amd64__)  || defined(_M_AMD64) \
-    || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64)
-
-// Intel extended double precision format (80 bits)
-
-template<>
-struct fp_traits_non_native<long double, extended_double_precision>
-{
-    typedef ieee_copy_leading_bits_tag method;
-
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7fff0000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00008000);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x00007fff);
-
-    typedef uint32_t bits;
-
-    static void get_bits(long double x, uint32_t& a)
-    {
-        std::memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + 6, 4);
-    }
-
-    static void set_bits(long double& x, uint32_t a)
-    {
-        std::memcpy(reinterpret_cast<unsigned char*>(&x) + 6, &a, 4);
-    }
-};
-
-
-// long double (>64 bits), Itanium ---------------------------------------------
-
-#elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
-
-// The floating point format is unknown at compile time
-// No template specialization is provided.
-// The generic_tag definition is used.
-
-// The Itanium supports both
-// the Intel extended double precision format (80 bits) and
-// the IEEE extended double precision format with 15 exponent bits (128 bits).
-
-
-// long double (>64 bits), PowerPC ---------------------------------------------
-
-#elif defined(__powerpc) || defined(__powerpc__) || defined(__POWERPC__) \
-    || defined(__ppc) || defined(__ppc__) || defined(__PPC__)
-
-// PowerPC extended double precision format (128 bits)
-
-template<>
-struct fp_traits_non_native<long double, extended_double_precision>
-{
-    typedef ieee_copy_leading_bits_tag method;
-
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7ff00000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00000000);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x000fffff);
-
-    typedef uint32_t bits;
-
-    static void get_bits(long double x, uint32_t& a)
-    {
-        std::memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
-    }
-
-    static void set_bits(long double& x, uint32_t a)
-    {
-        std::memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
-    }
-
-private:
-
-#if defined(BOOST_BIG_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 12);
-#else
-    BOOST_STATIC_ASSERT(false);
-#endif
-};
-
-
-// long double (>64 bits), Motorola 68K ----------------------------------------
-
-#elif defined(__m68k) || defined(__m68k__) \
-    || defined(__mc68000) || defined(__mc68000__) \
-
-// Motorola extended double precision format (96 bits)
-
-// It is the same format as the Intel extended double precision format,
-// except that 1) it is big-endian, 2) the 3rd and 4th byte are padding, and
-// 3) the flag bit is not set for infinity
-
-template<>
-struct fp_traits_non_native<long double, extended_double_precision>
-{
-    typedef ieee_copy_leading_bits_tag method;
-
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7fff0000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00008000);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x00007fff);
-
-    // copy 1st, 2nd, 5th and 6th byte. 3rd and 4th byte are padding.
-
-    typedef uint32_t bits;
-
-    static void get_bits(long double x, uint32_t& a)
-    {
-        std::memcpy(&a, &x, 2);
-        std::memcpy(reinterpret_cast<unsigned char*>(&a) + 2,
-               reinterpret_cast<const unsigned char*>(&x) + 4, 2);
-    }
-
-    static void set_bits(long double& x, uint32_t a)
-    {
-        std::memcpy(&x, &a, 2);
-        std::memcpy(reinterpret_cast<unsigned char*>(&x) + 4,
-               reinterpret_cast<const unsigned char*>(&a) + 2, 2);
-    }
-};
-
-
-// long double (>64 bits), All other processors --------------------------------
-
-#else
-
-// IEEE extended double precision format with 15 exponent bits (128 bits)
-
-template<>
-struct fp_traits_non_native<long double, extended_double_precision>
-{
-    typedef ieee_copy_leading_bits_tag method;
-
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7fff0000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00000000);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x0000ffff);
-
-    typedef uint32_t bits;
-
-    static void get_bits(long double x, uint32_t& a)
-    {
-        std::memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
-    }
-
-    static void set_bits(long double& x, uint32_t a)
-    {
-        std::memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
-    }
-
-private:
-
-#if defined(BOOST_BIG_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 12);
-#else
-    BOOST_STATIC_ASSERT(false);
-#endif
-};
-
-#endif
-
-//------------------------------------------------------------------------------
-
-// size_to_precision is a type switch for converting a C++ floating point type
-// to the corresponding precision type.
-
-template<int n, bool fp> struct size_to_precision
-{
-   typedef unknown_precision type;
-};
-
-template<> struct size_to_precision<4, true>
-{
-    typedef single_precision type;
-};
-
-template<> struct size_to_precision<8, true>
-{
-    typedef double_precision type;
-};
-
-template<> struct size_to_precision<10, true>
-{
-    typedef extended_double_precision type;
-};
-
-template<> struct size_to_precision<12, true>
-{
-    typedef extended_double_precision type;
-};
-
-template<> struct size_to_precision<16, true>
-{
-    typedef extended_double_precision type;
-};
-
-//------------------------------------------------------------------------------
-//
-// Figure out whether to use native classification functions based on
-// whether T is a built in floating point type or not:
-//
-template <class T>
-struct select_native
-{
-    typedef BOOST_DEDUCED_TYPENAME size_to_precision<sizeof(T), ::boost::is_floating_point<T>::value>::type precision;
-    typedef fp_traits_non_native<T, precision> type;
-};
-template<>
-struct select_native<float>
-{
-    typedef fp_traits_native<float> type;
-};
-template<>
-struct select_native<double>
-{
-    typedef fp_traits_native<double> type;
-};
-template<>
-struct select_native<long double>
-{
-    typedef fp_traits_native<long double> type;
-};
-
-//------------------------------------------------------------------------------
-
-// fp_traits is a type switch that selects the right fp_traits_non_native
-
-#if (defined(BOOST_MATH_USE_C99) && !(defined(__GNUC__) && (__GNUC__ < 4))) \
-   && !defined(__hpux) \
-   && !defined(__DECCXX)\
-   && !defined(__osf__) \
-   && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)\
-   && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)
-#  define BOOST_MATH_USE_STD_FPCLASSIFY
-#endif
-
-template<class T> struct fp_traits
-{
-    typedef BOOST_DEDUCED_TYPENAME size_to_precision<sizeof(T), ::boost::is_floating_point<T>::value>::type precision;
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)
-    typedef typename select_native<T>::type type;
-#else
-    typedef fp_traits_non_native<T, precision> type;
-#endif
-    typedef fp_traits_non_native<T, precision> sign_change_type;
-};
-
-//------------------------------------------------------------------------------
-
-}   // namespace detail
-}   // namespace math
-}   // namespace boost
-
-#endif
diff --git a/SRC/Boost/boost/math/special_functions/detail/round_fwd.hpp b/SRC/Boost/boost/math/special_functions/detail/round_fwd.hpp
deleted file mode 100755
index b24fe49..0000000
--- a/SRC/Boost/boost/math/special_functions/detail/round_fwd.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright John Maddock 2008.
-
-// Use, modification and distribution are subject to the
-// Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_MATH_SPECIAL_ROUND_FWD_HPP
-#define BOOST_MATH_SPECIAL_ROUND_FWD_HPP
-
-#include <boost/config.hpp>
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-namespace boost
-{
-   namespace math
-   { 
-
-   template <class T, class Policy>
-   T trunc(const T& v, const Policy& pol);
-   template <class T>
-   T trunc(const T& v);
-   template <class T, class Policy>
-   int itrunc(const T& v, const Policy& pol);
-   template <class T>
-   int itrunc(const T& v);
-   template <class T, class Policy>
-   long ltrunc(const T& v, const Policy& pol);
-   template <class T>
-   long ltrunc(const T& v);
-#ifdef BOOST_HAS_LONG_LONG
-   template <class T, class Policy>
-   boost::long_long_type lltrunc(const T& v, const Policy& pol);
-   template <class T>
-   boost::long_long_type lltrunc(const T& v);
-#endif
-   template <class T, class Policy>
-   T round(const T& v, const Policy& pol);
-   template <class T>
-   T round(const T& v);
-   template <class T, class Policy>
-   int iround(const T& v, const Policy& pol);
-   template <class T>
-   int iround(const T& v);
-   template <class T, class Policy>
-   long lround(const T& v, const Policy& pol);
-   template <class T>
-   long lround(const T& v);
-#ifdef BOOST_HAS_LONG_LONG
-   template <class T, class Policy>
-   boost::long_long_type llround(const T& v, const Policy& pol);
-   template <class T>
-   boost::long_long_type llround(const T& v);
-#endif
-   template <class T, class Policy>
-   T modf(const T& v, T* ipart, const Policy& pol);
-   template <class T>
-   T modf(const T& v, T* ipart);
-   template <class T, class Policy>
-   T modf(const T& v, int* ipart, const Policy& pol);
-   template <class T>
-   T modf(const T& v, int* ipart);
-   template <class T, class Policy>
-   T modf(const T& v, long* ipart, const Policy& pol);
-   template <class T>
-   T modf(const T& v, long* ipart);
-#ifdef BOOST_HAS_LONG_LONG
-   template <class T, class Policy>
-   T modf(const T& v, boost::long_long_type* ipart, const Policy& pol);
-   template <class T>
-   T modf(const T& v, boost::long_long_type* ipart);
-#endif
-
-   }
-}
-#endif // BOOST_MATH_SPECIAL_ROUND_FWD_HPP
-
diff --git a/SRC/Boost/boost/math/special_functions/fpclassify.hpp b/SRC/Boost/boost/math/special_functions/fpclassify.hpp
deleted file mode 100755
index 055e2ff..0000000
--- a/SRC/Boost/boost/math/special_functions/fpclassify.hpp
+++ /dev/null
@@ -1,533 +0,0 @@
-//  Copyright John Maddock 2005-2008.
-//  Copyright (c) 2006-2008 Johan Rade
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_MATH_FPCLASSIFY_HPP
-#define BOOST_MATH_FPCLASSIFY_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <math.h>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/limits.hpp>
-#include <boost/math/tools/real_cast.hpp>
-#include <boost/type_traits/is_floating_point.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/special_functions/detail/fp_traits.hpp>
-/*!
-  \file fpclassify.hpp
-  \brief Classify floating-point value as normal, subnormal, zero, infinite, or NaN.
-  \version 1.0
-  \author John Maddock
- */
-
-/*
-
-1. If the platform is C99 compliant, then the native floating point
-classification functions are used.  However, note that we must only
-define the functions which call std::fpclassify etc if that function
-really does exist: otherwise a compiler may reject the code even though
-the template is never instantiated.
-
-2. If the platform is not C99 compliant, and the binary format for
-a floating point type (float, double or long double) can be determined
-at compile time, then the following algorithm is used:
-
-        If all exponent bits, the flag bit (if there is one), 
-        and all significand bits are 0, then the number is zero.
-
-        If all exponent bits and the flag bit (if there is one) are 0, 
-        and at least one significand bit is 1, then the number is subnormal.
-
-        If all exponent bits are 1 and all significand bits are 0, 
-        then the number is infinity.
-
-        If all exponent bits are 1 and at least one significand bit is 1,
-        then the number is a not-a-number.
-
-        Otherwise the number is normal.
-
-        This algorithm works for the IEEE 754 representation,
-        and also for several non IEEE 754 formats.
-
-    Most formats have the structure
-        sign bit + exponent bits + significand bits.
-    
-    A few have the structure
-        sign bit + exponent bits + flag bit + significand bits.
-    The flag bit is 0 for zero and subnormal numbers,
-        and 1 for normal numbers and NaN.
-        It is 0 (Motorola 68K) or 1 (Intel) for infinity.
-
-    To get the bits, the four or eight most significant bytes are copied
-    into an uint32_t or uint64_t and bit masks are applied.
-    This covers all the exponent bits and the flag bit (if there is one),
-    but not always all the significand bits.
-    Some of the functions below have two implementations,
-    depending on whether all the significand bits are copied or not.
-
-3. If the platform is not C99 compliant, and the binary format for
-a floating point type (float, double or long double) can not be determined
-at compile time, then comparison with std::numeric_limits values
-is used.
-
-*/
-
-#if defined(_MSC_VER) || defined(__BORLANDC__)
-#include <float.h>
-#endif
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-  namespace std{ using ::abs; using ::fabs; }
-#endif
-
-namespace boost{ 
-
-//
-// This must not be located in any namespace under boost::math
-// otherwise we can get into an infinite loop if isnan is
-// a #define for "isnan" !
-//
-namespace math_detail{
-
-template <class T>
-inline bool is_nan_helper(T t, const boost::true_type&)
-{
-#ifdef isnan
-   return isnan(t);
-#elif defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY) || !defined(BOOST_HAS_FPCLASSIFY)
-   return false;
-#else // BOOST_HAS_FPCLASSIFY
-   return (BOOST_FPCLASSIFY_PREFIX fpclassify(t) == (int)FP_NAN);
-#endif
-}
-
-template <class T>
-inline bool is_nan_helper(T, const boost::false_type&)
-{
-   return false;
-}
-
-}
-
-namespace math{
-
-namespace detail{
-
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
-template <class T>
-inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(T t, const native_tag&)
-{
-   return (std::fpclassify)(t);
-}
-#endif
-
-template <class T>
-inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(T t, const generic_tag<true>&)
-{
-   BOOST_MATH_INSTRUMENT_VARIABLE(t);
-
-   // whenever possible check for Nan's first:
-#if defined(BOOST_HAS_FPCLASSIFY)  && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)
-   if(::boost::math_detail::is_nan_helper(t, ::boost::is_floating_point<T>()))
-      return FP_NAN;
-#elif defined(isnan)
-   if(boost::math_detail::is_nan_helper(t, ::boost::is_floating_point<T>()))
-      return FP_NAN;
-#elif defined(_MSC_VER) || defined(__BORLANDC__)
-   if(::_isnan(boost::math::tools::real_cast<double>(t)))
-      return FP_NAN;
-#endif
-   // std::fabs broken on a few systems especially for long long!!!!
-   T at = (t < T(0)) ? -t : t;
-
-   // Use a process of exclusion to figure out
-   // what kind of type we have, this relies on
-   // IEEE conforming reals that will treat
-   // Nan's as unordered.  Some compilers
-   // don't do this once optimisations are
-   // turned on, hence the check for nan's above.
-   if(at <= (std::numeric_limits<T>::max)())
-   {
-      if(at >= (std::numeric_limits<T>::min)())
-         return FP_NORMAL;
-      return (at != 0) ? FP_SUBNORMAL : FP_ZERO;
-   }
-   else if(at > (std::numeric_limits<T>::max)())
-      return FP_INFINITE;
-   return FP_NAN;
-}
-
-template <class T>
-inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(T t, const generic_tag<false>&)
-{
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-   if(std::numeric_limits<T>::is_specialized)
-      return fp_classify_imp(t, mpl::true_());
-#endif
-   // 
-   // An unknown type with no numeric_limits support,
-   // so what are we supposed to do we do here?
-   //
-   BOOST_MATH_INSTRUMENT_VARIABLE(t);
-
-   return t == 0 ? FP_ZERO : FP_NORMAL;
-}
-
-template<class T> 
-int fpclassify_imp BOOST_NO_MACRO_EXPAND(T x, ieee_copy_all_bits_tag)
-{
-   typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
-   BOOST_MATH_INSTRUMENT_VARIABLE(x);
-
-   BOOST_DEDUCED_TYPENAME traits::bits a;
-   traits::get_bits(x,a);
-   BOOST_MATH_INSTRUMENT_VARIABLE(a);
-   a &= traits::exponent | traits::flag | traits::significand;
-   BOOST_MATH_INSTRUMENT_VARIABLE((traits::exponent | traits::flag | traits::significand));
-   BOOST_MATH_INSTRUMENT_VARIABLE(a);
-
-   if(a <= traits::significand) {
-      if(a == 0)
-         return FP_ZERO;
-      else
-         return FP_SUBNORMAL;
-   }
-
-   if(a < traits::exponent) return FP_NORMAL;
-
-   a &= traits::significand;
-   if(a == 0) return FP_INFINITE;
-
-   return FP_NAN;
-}
-
-template<class T> 
-int fpclassify_imp BOOST_NO_MACRO_EXPAND(T x, ieee_copy_leading_bits_tag)
-{
-   typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
-   BOOST_MATH_INSTRUMENT_VARIABLE(x);
-
-   BOOST_DEDUCED_TYPENAME traits::bits a;
-   traits::get_bits(x,a); 
-   a &= traits::exponent | traits::flag | traits::significand;
-
-   if(a <= traits::significand) {
-      if(x == 0)
-         return FP_ZERO;
-      else
-         return FP_SUBNORMAL;
-   }
-
-   if(a < traits::exponent) return FP_NORMAL;
-
-   a &= traits::significand;
-   traits::set_bits(x,a);
-   if(x == 0) return FP_INFINITE;
-
-   return FP_NAN;
-}
-
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && defined(BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
-template <>
-inline int fpclassify_imp<long double> BOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
-{
-   return boost::math::detail::fpclassify_imp(t, generic_tag<true>());
-}
-#endif
-
-}  // namespace detail
-
-template <class T>
-inline int fpclassify BOOST_NO_MACRO_EXPAND(T t)
-{
-   typedef typename detail::fp_traits<T>::type traits;
-   typedef typename traits::method method;
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-   if(std::numeric_limits<T>::is_specialized && detail::is_generic_tag_false(method()))
-      return detail::fpclassify_imp(t, detail::generic_tag<true>());
-   return detail::fpclassify_imp(t, method());
-#else
-   return detail::fpclassify_imp(t, method());
-#endif
-}
-
-namespace detail {
-
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
-    template<class T> 
-    inline bool isfinite_impl(T x, native_tag const&)
-    {
-        return (std::isfinite)(x);
-    }
-#endif
-
-    template<class T> 
-    inline bool isfinite_impl(T x, generic_tag<true> const&)
-    {
-        return x >= -(std::numeric_limits<T>::max)()
-            && x <= (std::numeric_limits<T>::max)();
-    }
-
-    template<class T> 
-    inline bool isfinite_impl(T x, generic_tag<false> const&)
-    {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-      if(std::numeric_limits<T>::is_specialized)
-         return isfinite_impl(x, mpl::true_());
-#endif
-       (void)x; // warning supression.
-       return true;
-    }
-
-    template<class T> 
-    inline bool isfinite_impl(T x, ieee_tag const&)
-    {
-        typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
-        BOOST_DEDUCED_TYPENAME traits::bits a;
-        traits::get_bits(x,a);
-        a &= traits::exponent;
-        return a != traits::exponent;
-    }
-
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && defined(BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
-template <>
-inline bool isfinite_impl<long double> BOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
-{
-   return boost::math::detail::isfinite_impl(t, generic_tag<true>());
-}
-#endif
-
-}
-
-template<class T> 
-inline bool (isfinite)(T x)
-{ //!< \brief return true if floating-point type t is finite.
-   typedef typename detail::fp_traits<T>::type traits;
-   typedef typename traits::method method;
-   typedef typename boost::is_floating_point<T>::type fp_tag;
-   return detail::isfinite_impl(x, method());
-}
-
-//------------------------------------------------------------------------------
-
-namespace detail {
-
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
-    template<class T> 
-    inline bool isnormal_impl(T x, native_tag const&)
-    {
-        return (std::isnormal)(x);
-    }
-#endif
-
-    template<class T> 
-    inline bool isnormal_impl(T x, generic_tag<true> const&)
-    {
-        if(x < 0) x = -x;
-        return x >= (std::numeric_limits<T>::min)()
-            && x <= (std::numeric_limits<T>::max)();
-    }
-
-    template<class T> 
-    inline bool isnormal_impl(T x, generic_tag<false> const&)
-    {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-      if(std::numeric_limits<T>::is_specialized)
-         return isnormal_impl(x, mpl::true_());
-#endif
-       return !(x == 0);
-    }
-
-    template<class T> 
-    inline bool isnormal_impl(T x, ieee_tag const&)
-    {
-        typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
-        BOOST_DEDUCED_TYPENAME traits::bits a;
-        traits::get_bits(x,a);
-        a &= traits::exponent | traits::flag;
-        return (a != 0) && (a < traits::exponent);
-    }
-
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && defined(BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
-template <>
-inline bool isnormal_impl<long double> BOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
-{
-   return boost::math::detail::isnormal_impl(t, generic_tag<true>());
-}
-#endif
-
-}
-
-template<class T> 
-inline bool (isnormal)(T x)
-{
-   typedef typename detail::fp_traits<T>::type traits;
-   typedef typename traits::method method;
-   typedef typename boost::is_floating_point<T>::type fp_tag;
-   return detail::isnormal_impl(x, method());
-}
-
-//------------------------------------------------------------------------------
-
-namespace detail {
-
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
-    template<class T> 
-    inline bool isinf_impl(T x, native_tag const&)
-    {
-        return (std::isinf)(x);
-    }
-#endif
-
-    template<class T> 
-    inline bool isinf_impl(T x, generic_tag<true> const&)
-    {
-        (void)x; // in case the compiler thinks that x is unused because std::numeric_limits<T>::has_infinity is false
-        return std::numeric_limits<T>::has_infinity 
-            && ( x == std::numeric_limits<T>::infinity()
-                 || x == -std::numeric_limits<T>::infinity());
-    }
-
-    template<class T> 
-    inline bool isinf_impl(T x, generic_tag<false> const&)
-    {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-      if(std::numeric_limits<T>::is_specialized)
-         return isinf_impl(x, mpl::true_());
-#endif
-        (void)x; // warning supression.
-        return false;
-    }
-
-    template<class T> 
-    inline bool isinf_impl(T x, ieee_copy_all_bits_tag const&)
-    {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
-        BOOST_DEDUCED_TYPENAME traits::bits a;
-        traits::get_bits(x,a);
-        a &= traits::exponent | traits::significand;
-        return a == traits::exponent;
-    }
-
-    template<class T> 
-    inline bool isinf_impl(T x, ieee_copy_leading_bits_tag const&)
-    {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
-        BOOST_DEDUCED_TYPENAME traits::bits a;
-        traits::get_bits(x,a);
-        a &= traits::exponent | traits::significand;
-        if(a != traits::exponent)
-            return false;
-
-        traits::set_bits(x,0);
-        return x == 0;
-    }
-
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && defined(BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
-template <>
-inline bool isinf_impl<long double> BOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
-{
-   return boost::math::detail::isinf_impl(t, generic_tag<true>());
-}
-#endif
-
-}   // namespace detail
-
-template<class T> 
-inline bool (isinf)(T x)
-{
-   typedef typename detail::fp_traits<T>::type traits;
-   typedef typename traits::method method;
-   typedef typename boost::is_floating_point<T>::type fp_tag;
-   return detail::isinf_impl(x, method());
-}
-
-//------------------------------------------------------------------------------
-
-namespace detail {
-
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
-    template<class T> 
-    inline bool isnan_impl(T x, native_tag const&)
-    {
-        return (std::isnan)(x);
-    }
-#endif
-
-    template<class T> 
-    inline bool isnan_impl(T x, generic_tag<true> const&)
-    {
-        return std::numeric_limits<T>::has_infinity
-            ? !(x <= std::numeric_limits<T>::infinity())
-            : x != x;
-    }
-
-    template<class T> 
-    inline bool isnan_impl(T x, generic_tag<false> const&)
-    {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-      if(std::numeric_limits<T>::is_specialized)
-         return isnan_impl(x, mpl::true_());
-#endif
-        (void)x; // warning supression
-        return false;
-    }
-
-    template<class T> 
-    inline bool isnan_impl(T x, ieee_copy_all_bits_tag const&)
-    {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
-        BOOST_DEDUCED_TYPENAME traits::bits a;
-        traits::get_bits(x,a);
-        a &= traits::exponent | traits::significand;
-        return a > traits::exponent;
-    }
-
-    template<class T> 
-    inline bool isnan_impl(T x, ieee_copy_leading_bits_tag const&)
-    {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
-        BOOST_DEDUCED_TYPENAME traits::bits a;
-        traits::get_bits(x,a);
-
-        a &= traits::exponent | traits::significand;
-        if(a < traits::exponent)
-            return false;
-
-        a &= traits::significand;
-        traits::set_bits(x,a);
-        return x != 0;
-    }
-
-}   // namespace detail
-
-template<class T> bool (isnan)(T x)
-{ //!< \brief return true if floating-point type t is NaN (Not A Number).
-   typedef typename detail::fp_traits<T>::type traits;
-   typedef typename traits::method method;
-   typedef typename boost::is_floating_point<T>::type fp_tag;
-   return detail::isnan_impl(x, method());
-}
-
-#ifdef isnan
-template <> inline bool isnan BOOST_NO_MACRO_EXPAND<float>(float t){ return ::boost::math_detail::is_nan_helper(t, boost::true_type()); }
-template <> inline bool isnan BOOST_NO_MACRO_EXPAND<double>(double t){ return ::boost::math_detail::is_nan_helper(t, boost::true_type()); }
-template <> inline bool isnan BOOST_NO_MACRO_EXPAND<long double>(long double t){ return ::boost::math_detail::is_nan_helper(t, boost::true_type()); }
-#endif
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_FPCLASSIFY_HPP
-
diff --git a/SRC/Boost/boost/math/special_functions/math_fwd.hpp b/SRC/Boost/boost/math/special_functions/math_fwd.hpp
deleted file mode 100755
index 7adc673..0000000
--- a/SRC/Boost/boost/math/special_functions/math_fwd.hpp
+++ /dev/null
@@ -1,1070 +0,0 @@
-// math_fwd.hpp
-
-// TODO revise completely for new distribution classes.
-
-// Copyright Paul A. Bristow 2006.
-// Copyright John Maddock 2006.
-
-// Use, modification and distribution are subject to the
-// Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// Omnibus list of forward declarations of math special functions.
-
-// IT = Integer type.
-// RT = Real type (built-in floating-point types, float, double, long double) & User Defined Types
-// AT = Integer or Real type 
-
-#ifndef BOOST_MATH_SPECIAL_MATH_FWD_HPP
-#define BOOST_MATH_SPECIAL_MATH_FWD_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/detail/round_fwd.hpp>
-#include <boost/math/tools/promotion.hpp> // for argument promotion.
-#include <boost/math/policies/policy.hpp>
-#include <boost/mpl/comparison.hpp>
-#include <boost/config/no_tr1/complex.hpp>
-
-#define BOOST_NO_MACRO_EXPAND /**/
-
-namespace boost
-{
-   namespace math
-   { // Math functions (in roughly alphabetic order).
-
-   // Beta functions.
-   template <class RT1, class RT2>
-   typename tools::promote_args<RT1, RT2>::type 
-         beta(RT1 a, RT2 b); // Beta function (2 arguments).
-
-   template <class RT1, class RT2, class A>
-   typename tools::promote_args<RT1, RT2, A>::type 
-         beta(RT1 a, RT2 b, A x); // Beta function (3 arguments).
-
-   template <class RT1, class RT2, class RT3, class Policy>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         beta(RT1 a, RT2 b, RT3 x, const Policy& pol); // Beta function (3 arguments).
-
-   template <class RT1, class RT2, class RT3>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         betac(RT1 a, RT2 b, RT3 x);
-
-   template <class RT1, class RT2, class RT3, class Policy>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         betac(RT1 a, RT2 b, RT3 x, const Policy& pol);
-
-   template <class RT1, class RT2, class RT3>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibeta(RT1 a, RT2 b, RT3 x); // Incomplete beta function.
-
-   template <class RT1, class RT2, class RT3, class Policy>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibeta(RT1 a, RT2 b, RT3 x, const Policy& pol); // Incomplete beta function.
-
-   template <class RT1, class RT2, class RT3>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibetac(RT1 a, RT2 b, RT3 x); // Incomplete beta complement function.
-
-   template <class RT1, class RT2, class RT3, class Policy>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibetac(RT1 a, RT2 b, RT3 x, const Policy& pol); // Incomplete beta complement function.
-
-   template <class T1, class T2, class T3, class T4>
-   typename tools::promote_args<T1, T2, T3, T4>::type  
-         ibeta_inv(T1 a, T2 b, T3 p, T4* py);
-
-   template <class T1, class T2, class T3, class T4, class Policy>
-   typename tools::promote_args<T1, T2, T3, T4>::type  
-         ibeta_inv(T1 a, T2 b, T3 p, T4* py, const Policy& pol);
-
-   template <class RT1, class RT2, class RT3>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibeta_inv(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function.
-
-   template <class RT1, class RT2, class RT3, class Policy>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibeta_inv(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function.
-
-   template <class RT1, class RT2, class RT3>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibeta_inva(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function.
-
-   template <class RT1, class RT2, class RT3, class Policy>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibeta_inva(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function.
-
-   template <class RT1, class RT2, class RT3>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibeta_invb(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function.
-
-   template <class RT1, class RT2, class RT3, class Policy>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibeta_invb(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function.
-
-   template <class T1, class T2, class T3, class T4>
-   typename tools::promote_args<T1, T2, T3, T4>::type 
-         ibetac_inv(T1 a, T2 b, T3 q, T4* py);
-
-   template <class T1, class T2, class T3, class T4, class Policy>
-   typename tools::promote_args<T1, T2, T3, T4>::type 
-         ibetac_inv(T1 a, T2 b, T3 q, T4* py, const Policy& pol);
-
-   template <class RT1, class RT2, class RT3>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibetac_inv(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function.
-
-   template <class RT1, class RT2, class RT3, class Policy>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibetac_inv(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function.
-
-   template <class RT1, class RT2, class RT3>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibetac_inva(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function.
-
-   template <class RT1, class RT2, class RT3, class Policy>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibetac_inva(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function.
-
-   template <class RT1, class RT2, class RT3>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibetac_invb(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function.
-
-   template <class RT1, class RT2, class RT3, class Policy>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibetac_invb(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function.
-
-   template <class RT1, class RT2, class RT3>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibeta_derivative(RT1 a, RT2 b, RT3 x);  // derivative of incomplete beta
-
-   template <class RT1, class RT2, class RT3, class Policy>
-   typename tools::promote_args<RT1, RT2, RT3>::type 
-         ibeta_derivative(RT1 a, RT2 b, RT3 x, const Policy& pol);  // derivative of incomplete beta
-
-   // erf & erfc error functions.
-   template <class RT> // Error function.
-   typename tools::promote_args<RT>::type erf(RT z);
-   template <class RT, class Policy> // Error function.
-   typename tools::promote_args<RT>::type erf(RT z, const Policy&);
-
-   template <class RT>// Error function complement.
-   typename tools::promote_args<RT>::type erfc(RT z);
-   template <class RT, class Policy>// Error function complement.
-   typename tools::promote_args<RT>::type erfc(RT z, const Policy&);
-
-   template <class RT>// Error function inverse.
-   typename tools::promote_args<RT>::type erf_inv(RT z);
-   template <class RT, class Policy>// Error function inverse.
-   typename tools::promote_args<RT>::type erf_inv(RT z, const Policy& pol);
-
-   template <class RT>// Error function complement inverse.
-   typename tools::promote_args<RT>::type erfc_inv(RT z);
-   template <class RT, class Policy>// Error function complement inverse.
-   typename tools::promote_args<RT>::type erfc_inv(RT z, const Policy& pol);
-
-   // Polynomials:
-   template <class T1, class T2, class T3>
-   typename tools::promote_args<T1, T2, T3>::type 
-         legendre_next(unsigned l, T1 x, T2 Pl, T3 Plm1);
-
-   template <class T>
-   typename tools::promote_args<T>::type 
-         legendre_p(int l, T x);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type 
-         legendre_p(int l, T x, const Policy& pol);
-
-   template <class T>
-   typename tools::promote_args<T>::type 
-         legendre_q(unsigned l, T x);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type 
-         legendre_q(unsigned l, T x, const Policy& pol);
-
-   template <class T1, class T2, class T3>
-   typename tools::promote_args<T1, T2, T3>::type 
-         legendre_next(unsigned l, unsigned m, T1 x, T2 Pl, T3 Plm1);
-
-   template <class T>
-   typename tools::promote_args<T>::type 
-         legendre_p(int l, int m, T x);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type 
-         legendre_p(int l, int m, T x, const Policy& pol);
-
-   template <class T1, class T2, class T3>
-   typename tools::promote_args<T1, T2, T3>::type  
-         laguerre_next(unsigned n, T1 x, T2 Ln, T3 Lnm1);
-
-   template <class T1, class T2, class T3>
-   typename tools::promote_args<T1, T2, T3>::type  
-      laguerre_next(unsigned n, unsigned l, T1 x, T2 Pl, T3 Plm1);
-
-   template <class T>
-   typename tools::promote_args<T>::type 
-      laguerre(unsigned n, T x);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type 
-      laguerre(unsigned n, unsigned m, T x, const Policy& pol);
-
-   template <class T1, class T2>
-   struct laguerre_result
-   {
-      typedef typename mpl::if_<
-         policies::is_policy<T2>,
-         typename tools::promote_args<T1>::type,
-         typename tools::promote_args<T2>::type
-      >::type type;
-   };
-
-   template <class T1, class T2>
-   typename laguerre_result<T1, T2>::type 
-      laguerre(unsigned n, T1 m, T2 x);
-
-   template <class T>
-   typename tools::promote_args<T>::type 
-      hermite(unsigned n, T x);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type 
-      hermite(unsigned n, T x, const Policy& pol);
-
-   template <class T1, class T2, class T3>
-   typename tools::promote_args<T1, T2, T3>::type 
-      hermite_next(unsigned n, T1 x, T2 Hn, T3 Hnm1);
-
-   template <class T1, class T2>
-   std::complex<typename tools::promote_args<T1, T2>::type> 
-         spherical_harmonic(unsigned n, int m, T1 theta, T2 phi);
-
-   template <class T1, class T2, class Policy>
-   std::complex<typename tools::promote_args<T1, T2>::type> 
-      spherical_harmonic(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);
-
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type 
-         spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type 
-      spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);
-
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type 
-         spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type 
-      spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);
-
-   // Elliptic integrals:
-   template <class T1, class T2, class T3>
-   typename tools::promote_args<T1, T2, T3>::type 
-         ellint_rf(T1 x, T2 y, T3 z);
-
-   template <class T1, class T2, class T3, class Policy>
-   typename tools::promote_args<T1, T2, T3>::type 
-         ellint_rf(T1 x, T2 y, T3 z, const Policy& pol);
-
-   template <class T1, class T2, class T3>
-   typename tools::promote_args<T1, T2, T3>::type 
-         ellint_rd(T1 x, T2 y, T3 z);
-
-   template <class T1, class T2, class T3, class Policy>
-   typename tools::promote_args<T1, T2, T3>::type 
-         ellint_rd(T1 x, T2 y, T3 z, const Policy& pol);
-
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type 
-         ellint_rc(T1 x, T2 y);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type 
-         ellint_rc(T1 x, T2 y, const Policy& pol);
-
-   template <class T1, class T2, class T3, class T4>
-   typename tools::promote_args<T1, T2, T3, T4>::type 
-         ellint_rj(T1 x, T2 y, T3 z, T4 p);
-
-   template <class T1, class T2, class T3, class T4, class Policy>
-   typename tools::promote_args<T1, T2, T3, T4>::type 
-         ellint_rj(T1 x, T2 y, T3 z, T4 p, const Policy& pol);
-
-   template <typename T>
-   typename tools::promote_args<T>::type ellint_2(T k);
-
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type ellint_2(T1 k, T2 phi);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type ellint_2(T1 k, T2 phi, const Policy& pol);
-
-   template <typename T>
-   typename tools::promote_args<T>::type ellint_1(T k);
-
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type ellint_1(T1 k, T2 phi);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type ellint_1(T1 k, T2 phi, const Policy& pol);
-
-   namespace detail{
-
-   template <class T, class U, class V>
-   struct ellint_3_result
-   {
-      typedef typename mpl::if_<
-         policies::is_policy<V>,
-         typename tools::promote_args<T, U>::type,
-         typename tools::promote_args<T, U, V>::type
-      >::type type;
-   };
-
-   } // namespace detail
-
-
-   template <class T1, class T2, class T3>
-   typename detail::ellint_3_result<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi);
-
-   template <class T1, class T2, class T3, class Policy>
-   typename tools::promote_args<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi, const Policy& pol);
-
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type ellint_3(T1 k, T2 v);
-
-   // Factorial functions.
-   // Note: not for integral types, at present.
-   template <class RT>
-   struct max_factorial;
-   template <class RT>
-   RT factorial(unsigned int);
-   template <class RT, class Policy>
-   RT factorial(unsigned int, const Policy& pol);
-   template <class RT>
-   RT unchecked_factorial(unsigned int BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(RT)); 
-   template <class RT>
-   RT double_factorial(unsigned i);
-   template <class RT, class Policy>
-   RT double_factorial(unsigned i, const Policy& pol);
-
-   template <class RT>
-   typename tools::promote_args<RT>::type falling_factorial(RT x, unsigned n);
-
-   template <class RT, class Policy>
-   typename tools::promote_args<RT>::type falling_factorial(RT x, unsigned n, const Policy& pol);
-
-   template <class RT>
-   typename tools::promote_args<RT>::type rising_factorial(RT x, int n);
-
-   template <class RT, class Policy>
-   typename tools::promote_args<RT>::type rising_factorial(RT x, int n, const Policy& pol);
-
-   // Gamma functions.
-   template <class RT>
-   typename tools::promote_args<RT>::type tgamma(RT z);
-
-   template <class RT>
-   typename tools::promote_args<RT>::type tgamma1pm1(RT z);
-
-   template <class RT, class Policy>
-   typename tools::promote_args<RT>::type tgamma1pm1(RT z, const Policy& pol);
-
-   template <class RT1, class RT2>
-   typename tools::promote_args<RT1, RT2>::type tgamma(RT1 a, RT2 z);
-
-   template <class RT1, class RT2, class Policy>
-   typename tools::promote_args<RT1, RT2>::type tgamma(RT1 a, RT2 z, const Policy& pol);
-
-   template <class RT>
-   typename tools::promote_args<RT>::type lgamma(RT z, int* sign);
-
-   template <class RT, class Policy>
-   typename tools::promote_args<RT>::type lgamma(RT z, int* sign, const Policy& pol);
-
-   template <class RT>
-   typename tools::promote_args<RT>::type lgamma(RT x);
-
-   template <class RT, class Policy>
-   typename tools::promote_args<RT>::type lgamma(RT x, const Policy& pol);
-
-   template <class RT1, class RT2>
-   typename tools::promote_args<RT1, RT2>::type tgamma_lower(RT1 a, RT2 z);
-
-   template <class RT1, class RT2, class Policy>
-   typename tools::promote_args<RT1, RT2>::type tgamma_lower(RT1 a, RT2 z, const Policy&);
-
-   template <class RT1, class RT2>
-   typename tools::promote_args<RT1, RT2>::type gamma_q(RT1 a, RT2 z);
-
-   template <class RT1, class RT2, class Policy>
-   typename tools::promote_args<RT1, RT2>::type gamma_q(RT1 a, RT2 z, const Policy&);
-
-   template <class RT1, class RT2>
-   typename tools::promote_args<RT1, RT2>::type gamma_p(RT1 a, RT2 z);
-
-   template <class RT1, class RT2, class Policy>
-   typename tools::promote_args<RT1, RT2>::type gamma_p(RT1 a, RT2 z, const Policy&);
-
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type tgamma_delta_ratio(T1 z, T2 delta);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type tgamma_delta_ratio(T1 z, T2 delta, const Policy&);
-
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type tgamma_ratio(T1 a, T2 b);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type tgamma_ratio(T1 a, T2 b, const Policy&);
-
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type gamma_p_derivative(T1 a, T2 x);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type gamma_p_derivative(T1 a, T2 x, const Policy&);
-
-   // gamma inverse.
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type gamma_p_inv(T1 a, T2 p);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type gamma_p_inva(T1 a, T2 p, const Policy&);
-
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type gamma_p_inva(T1 a, T2 p);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type gamma_p_inv(T1 a, T2 p, const Policy&);
-
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type gamma_q_inv(T1 a, T2 q);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type gamma_q_inv(T1 a, T2 q, const Policy&);
-
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type gamma_q_inva(T1 a, T2 q);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type gamma_q_inva(T1 a, T2 q, const Policy&);
-
-   // digamma:
-   template <class T>
-   typename tools::promote_args<T>::type digamma(T x);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type digamma(T x, const Policy&);
-
-   // Hypotenuse function sqrt(x ^ 2 + y ^ 2).
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type 
-         hypot(T1 x, T2 y);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type 
-         hypot(T1 x, T2 y, const Policy&);
-
-   // cbrt - cube root.
-   template <class RT>
-   typename tools::promote_args<RT>::type cbrt(RT z);
-
-   template <class RT, class Policy>
-   typename tools::promote_args<RT>::type cbrt(RT z, const Policy&);
-
-   // log1p is log(x + 1)
-   template <class T>
-   typename tools::promote_args<T>::type log1p(T);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type log1p(T, const Policy&);
-
-   // log1pmx is log(x + 1) - x
-   template <class T>
-   typename tools::promote_args<T>::type log1pmx(T);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type log1pmx(T, const Policy&);
-
-   // Exp (x) minus 1 functions.
-   template <class T>
-   typename tools::promote_args<T>::type expm1(T);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type expm1(T, const Policy&);
-
-   // Power - 1
-   template <class T1, class T2>
-   typename tools::promote_args<T1, T2>::type 
-         powm1(const T1 a, const T2 z);
-
-   template <class T1, class T2, class Policy>
-   typename tools::promote_args<T1, T2>::type 
-         powm1(const T1 a, const T2 z, const Policy&);
-
-   // sqrt(1+x) - 1
-   template <class T>
-   typename tools::promote_args<T>::type sqrt1pm1(const T& val);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type sqrt1pm1(const T& val, const Policy&);
-
-   // sinus cardinals:
-   template <class T>
-   typename tools::promote_args<T>::type sinc_pi(T x);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type sinc_pi(T x, const Policy&);
-
-   template <class T>
-   typename tools::promote_args<T>::type sinhc_pi(T x);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type sinhc_pi(T x, const Policy&);
-
-   // inverse hyperbolics:
-   template<typename T>
-   typename tools::promote_args<T>::type asinh(T x);
-
-   template<typename T, class Policy>
-   typename tools::promote_args<T>::type asinh(T x, const Policy&);
-
-   template<typename T>
-   typename tools::promote_args<T>::type acosh(T x);
-
-   template<typename T, class Policy>
-   typename tools::promote_args<T>::type acosh(T x, const Policy&);
-
-   template<typename T>
-   typename tools::promote_args<T>::type atanh(T x);
-
-   template<typename T, class Policy>
-   typename tools::promote_args<T>::type atanh(T x, const Policy&);
-
-   namespace detail{
-
-      typedef mpl::int_<0> bessel_no_int_tag;      // No integer optimisation possible.
-      typedef mpl::int_<1> bessel_maybe_int_tag;   // Maybe integer optimisation.
-      typedef mpl::int_<2> bessel_int_tag;         // Definite integer optimistaion.
-
-      template <class T1, class T2, class Policy>
-      struct bessel_traits
-      {
-         typedef typename tools::promote_args<
-            T1, T2
-         >::type result_type;
-
-         typedef typename policies::precision<result_type, Policy>::type precision_type;
-
-         typedef typename mpl::if_<
-            mpl::or_<
-               mpl::less_equal<precision_type, mpl::int_<0> >,
-               mpl::greater<precision_type, mpl::int_<64> > >,
-            bessel_no_int_tag,
-            typename mpl::if_<
-               is_integral<T1>,
-               bessel_int_tag,
-               bessel_maybe_int_tag
-            >::type
-         >::type optimisation_tag;
-      };
-   } // detail
-
-   // Bessel functions:
-   template <class T1, class T2, class Policy>
-   typename detail::bessel_traits<T1, T2, Policy>::result_type cyl_bessel_j(T1 v, T2 x, const Policy& pol);
-
-   template <class T1, class T2>
-   typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type cyl_bessel_j(T1 v, T2 x);
-
-   template <class T, class Policy>
-   typename detail::bessel_traits<T, T, Policy>::result_type sph_bessel(unsigned v, T x, const Policy& pol);
-
-   template <class T>
-   typename detail::bessel_traits<T, T, policies::policy<> >::result_type sph_bessel(unsigned v, T x);
-
-   template <class T1, class T2, class Policy>
-   typename detail::bessel_traits<T1, T2, Policy>::result_type cyl_bessel_i(T1 v, T2 x, const Policy& pol);
-
-   template <class T1, class T2>
-   typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type cyl_bessel_i(T1 v, T2 x);
-
-   template <class T1, class T2, class Policy>
-   typename detail::bessel_traits<T1, T2, Policy>::result_type cyl_bessel_k(T1 v, T2 x, const Policy& pol);
-
-   template <class T1, class T2>
-   typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type cyl_bessel_k(T1 v, T2 x);
-
-   template <class T1, class T2, class Policy>
-   typename detail::bessel_traits<T1, T2, Policy>::result_type cyl_neumann(T1 v, T2 x, const Policy& pol);
-
-   template <class T1, class T2>
-   typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type cyl_neumann(T1 v, T2 x);
-
-   template <class T, class Policy>
-   typename detail::bessel_traits<T, T, Policy>::result_type sph_neumann(unsigned v, T x, const Policy& pol);
-
-   template <class T>
-   typename detail::bessel_traits<T, T, policies::policy<> >::result_type sph_neumann(unsigned v, T x);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type sin_pi(T x, const Policy&);
-
-   template <class T>
-   typename tools::promote_args<T>::type sin_pi(T x);
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type cos_pi(T x, const Policy&);
-
-   template <class T>
-   typename tools::promote_args<T>::type cos_pi(T x);
-
-   template <class T>
-   int fpclassify BOOST_NO_MACRO_EXPAND(T t);
-
-   template <class T>
-   bool isfinite BOOST_NO_MACRO_EXPAND(T z);
-
-   template <class T>
-   bool isinf BOOST_NO_MACRO_EXPAND(T t);
-
-   template <class T>
-   bool isnan BOOST_NO_MACRO_EXPAND(T t);
-
-   template <class T>
-   bool isnormal BOOST_NO_MACRO_EXPAND(T t);
-
-   template<class T> 
-   int signbit BOOST_NO_MACRO_EXPAND(T x);
-
-   template <class T>
-   int sign BOOST_NO_MACRO_EXPAND(const T& z);
-
-   template <class T>
-   T copysign BOOST_NO_MACRO_EXPAND(const T& x, const T& y);
-
-   template <class T>
-   T changesign BOOST_NO_MACRO_EXPAND(const T& z);
-
-   // Exponential integrals:
-   namespace detail{
-
-   template <class T, class U>
-   struct expint_result
-   {
-      typedef typename mpl::if_<
-         policies::is_policy<U>,
-         typename tools::promote_args<T>::type,
-         typename tools::promote_args<U>::type
-      >::type type;
-   };
-
-   } // namespace detail
-
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type expint(unsigned n, T z, const Policy&);
-
-   template <class T, class U>
-   typename detail::expint_result<T, U>::type expint(T const z, U const u);
-
-   template <class T>
-   typename tools::promote_args<T>::type expint(T z);
-
-   // Zeta:
-   template <class T, class Policy>
-   typename tools::promote_args<T>::type zeta(T s, const Policy&);
-
-   template <class T>
-   typename tools::promote_args<T>::type zeta(T s);
-
-   // pow:
-   template <int N, typename T, class Policy>
-   typename tools::promote_args<T>::type pow(T base, const Policy& policy);
-
-   template <int N, typename T>
-   typename tools::promote_args<T>::type pow(T base);
-
-   // next:
-   template <class T, class Policy>
-   T nextafter(const T&, const T&, const Policy&);
-   template <class T>
-   T nextafter(const T&, const T&);
-   template <class T, class Policy>
-   T float_next(const T&, const Policy&);
-   template <class T>
-   T float_next(const T&);
-   template <class T, class Policy>
-   T float_prior(const T&, const Policy&);
-   template <class T>
-   T float_prior(const T&);
-   template <class T, class Policy>
-   T float_distance(const T&, const T&, const Policy&);
-   template <class T>
-   T float_distance(const T&, const T&);
-
-    } // namespace math
-} // namespace boost
-
-#ifdef BOOST_HAS_LONG_LONG
-#define BOOST_MATH_DETAIL_LL_FUNC(Policy)\
-   \
-   template <class T>\
-   inline T modf(const T& v, boost::long_long_type* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\
-   \
-   template <class T>\
-   inline boost::long_long_type lltrunc(const T& v){ using boost::math::lltrunc; return lltrunc(v, Policy()); }\
-   \
-   template <class T>\
-   inline boost::long_long_type llround(const T& v){ using boost::math::llround; return llround(v, Policy()); }\
-
-#else
-#define BOOST_MATH_DETAIL_LL_FUNC(Policy)
-#endif
-
-#define BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(Policy)\
-   \
-   BOOST_MATH_DETAIL_LL_FUNC(Policy)\
-   \
-   template <class RT1, class RT2>\
-   inline typename boost::math::tools::promote_args<RT1, RT2>::type \
-   beta(RT1 a, RT2 b) { return ::boost::math::beta(a, b, Policy()); }\
-\
-   template <class RT1, class RT2, class A>\
-   inline typename boost::math::tools::promote_args<RT1, RT2, A>::type \
-   beta(RT1 a, RT2 b, A x){ return ::boost::math::beta(a, b, x, Policy()); }\
-\
-   template <class RT1, class RT2, class RT3>\
-   inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
-   betac(RT1 a, RT2 b, RT3 x) { return ::boost::math::betac(a, b, x, Policy()); }\
-\
-   template <class RT1, class RT2, class RT3>\
-   inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
-   ibeta(RT1 a, RT2 b, RT3 x){ return ::boost::math::ibeta(a, b, x, Policy()); }\
-\
-   template <class RT1, class RT2, class RT3>\
-   inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
-   ibetac(RT1 a, RT2 b, RT3 x){ return ::boost::math::ibetac(a, b, x, Policy()); }\
-\
-   template <class T1, class T2, class T3, class T4>\
-   inline typename boost::math::tools::promote_args<T1, T2, T3, T4>::type  \
-   ibeta_inv(T1 a, T2 b, T3 p, T4* py){ return ::boost::math::ibeta_inv(a, b, p, py, Policy()); }\
-\
-   template <class RT1, class RT2, class RT3>\
-   inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
-   ibeta_inv(RT1 a, RT2 b, RT3 p){ return ::boost::math::ibeta_inv(a, b, p, Policy()); }\
-\
-   template <class T1, class T2, class T3, class T4>\
-   inline typename boost::math::tools::promote_args<T1, T2, T3, T4>::type \
-   ibetac_inv(T1 a, T2 b, T3 q, T4* py){ return ::boost::math::ibetac_inv(a, b, q, py, Policy()); }\
-\
-   template <class RT1, class RT2, class RT3>\
-   inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
-   ibeta_inva(RT1 a, RT2 b, RT3 p){ return ::boost::math::ibeta_inva(a, b, p, Policy()); }\
-\
-   template <class T1, class T2, class T3>\
-   inline typename boost::math::tools::promote_args<T1, T2, T3>::type \
-   ibetac_inva(T1 a, T2 b, T3 q){ return ::boost::math::ibetac_inva(a, b, q, Policy()); }\
-\
-   template <class RT1, class RT2, class RT3>\
-   inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
-   ibeta_invb(RT1 a, RT2 b, RT3 p){ return ::boost::math::ibeta_invb(a, b, p, Policy()); }\
-\
-   template <class T1, class T2, class T3>\
-   inline typename boost::math::tools::promote_args<T1, T2, T3>::type \
-   ibetac_invb(T1 a, T2 b, T3 q){ return ::boost::math::ibetac_invb(a, b, q, Policy()); }\
-\
-   template <class RT1, class RT2, class RT3>\
-   inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
-   ibetac_inv(RT1 a, RT2 b, RT3 q){ return ::boost::math::ibetac_inv(a, b, q, Policy()); }\
-\
-   template <class RT1, class RT2, class RT3>\
-   inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
-   ibeta_derivative(RT1 a, RT2 b, RT3 x){ return ::boost::math::ibeta_derivative(a, b, x, Policy()); }\
-\
-   template <class RT>\
-   inline typename boost::math::tools::promote_args<RT>::type erf(RT z) { return ::boost::math::erf(z, Policy()); }\
-\
-   template <class RT>\
-   inline typename boost::math::tools::promote_args<RT>::type erfc(RT z){ return ::boost::math::erfc(z, Policy()); }\
-\
-   template <class RT>\
-   inline typename boost::math::tools::promote_args<RT>::type erf_inv(RT z) { return ::boost::math::erf_inv(z, Policy()); }\
-\
-   template <class RT>\
-   inline typename boost::math::tools::promote_args<RT>::type erfc_inv(RT z){ return ::boost::math::erfc_inv(z, Policy()); }\
-\
-   using boost::math::legendre_next;\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type \
-   legendre_p(int l, T x){ return ::boost::math::legendre_p(l, x, Policy()); }\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type \
-   legendre_q(unsigned l, T x){ return ::boost::math::legendre_q(l, x, Policy()); }\
-\
-   using ::boost::math::legendre_next;\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type \
-   legendre_p(int l, int m, T x){ return ::boost::math::legendre_p(l, m, x, Policy()); }\
-\
-   using ::boost::math::laguerre_next;\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type \
-   laguerre(unsigned n, T x){ return ::boost::math::laguerre(n, x, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::laguerre_result<T1, T2>::type \
-   laguerre(unsigned n, T1 m, T2 x) { return ::boost::math::laguerre(n, m, x, Policy()); }\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type \
-   hermite(unsigned n, T x){ return ::boost::math::hermite(n, x, Policy()); }\
-\
-   using boost::math::hermite_next;\
-\
-   template <class T1, class T2>\
-   inline std::complex<typename boost::math::tools::promote_args<T1, T2>::type> \
-   spherical_harmonic(unsigned n, int m, T1 theta, T2 phi){ return boost::math::spherical_harmonic(n, m, theta, phi, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type \
-   spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi){ return ::boost::math::spherical_harmonic_r(n, m, theta, phi, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type \
-   spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi){ return boost::math::spherical_harmonic_i(n, m, theta, phi, Policy()); }\
-\
-   template <class T1, class T2, class Policy>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type \
-      spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);\
-\
-   template <class T1, class T2, class T3>\
-   inline typename boost::math::tools::promote_args<T1, T2, T3>::type \
-   ellint_rf(T1 x, T2 y, T3 z){ return ::boost::math::ellint_rf(x, y, z, Policy()); }\
-\
-   template <class T1, class T2, class T3>\
-   inline typename boost::math::tools::promote_args<T1, T2, T3>::type \
-   ellint_rd(T1 x, T2 y, T3 z){ return ::boost::math::ellint_rd(x, y, z, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type \
-   ellint_rc(T1 x, T2 y){ return ::boost::math::ellint_rc(x, y, Policy()); }\
-\
-   template <class T1, class T2, class T3, class T4>\
-   inline typename boost::math::tools::promote_args<T1, T2, T3, T4>::type \
-   ellint_rj(T1 x, T2 y, T3 z, T4 p){ return boost::math::ellint_rj(x, y, z, p, Policy()); }\
-\
-   template <typename T>\
-   inline typename boost::math::tools::promote_args<T>::type ellint_2(T k){ return boost::math::ellint_2(k, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type ellint_2(T1 k, T2 phi){ return boost::math::ellint_2(k, phi, Policy()); }\
-\
-   template <typename T>\
-   inline typename boost::math::tools::promote_args<T>::type ellint_1(T k){ return boost::math::ellint_1(k, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type ellint_1(T1 k, T2 phi){ return boost::math::ellint_1(k, phi, Policy()); }\
-\
-   template <class T1, class T2, class T3>\
-   inline typename boost::math::tools::promote_args<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi){ return boost::math::ellint_3(k, v, phi, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type ellint_3(T1 k, T2 v){ return boost::math::ellint_3(k, v, Policy()); }\
-\
-   using boost::math::max_factorial;\
-   template <class RT>\
-   inline RT factorial(unsigned int i) { return boost::math::factorial<RT>(i, Policy()); }\
-   using boost::math::unchecked_factorial;\
-   template <class RT>\
-   inline RT double_factorial(unsigned i){ return boost::math::double_factorial<RT>(i, Policy()); }\
-   template <class RT>\
-   inline typename boost::math::tools::promote_args<RT>::type falling_factorial(RT x, unsigned n){ return boost::math::falling_factorial(x, n, Policy()); }\
-   template <class RT>\
-   inline typename boost::math::tools::promote_args<RT>::type rising_factorial(RT x, unsigned n){ return boost::math::rising_factorial(x, n, Policy()); }\
-\
-   template <class RT>\
-   inline typename boost::math::tools::promote_args<RT>::type tgamma(RT z){ return boost::math::tgamma(z, Policy()); }\
-\
-   template <class RT>\
-   inline typename boost::math::tools::promote_args<RT>::type tgamma1pm1(RT z){ return boost::math::tgamma1pm1(z, Policy()); }\
-\
-   template <class RT1, class RT2>\
-   inline typename boost::math::tools::promote_args<RT1, RT2>::type tgamma(RT1 a, RT2 z){ return boost::math::tgamma(a, z, Policy()); }\
-\
-   template <class RT>\
-   inline typename boost::math::tools::promote_args<RT>::type lgamma(RT z, int* sign){ return boost::math::lgamma(z, sign, Policy()); }\
-\
-   template <class RT>\
-   inline typename boost::math::tools::promote_args<RT>::type lgamma(RT x){ return boost::math::lgamma(x, Policy()); }\
-\
-   template <class RT1, class RT2>\
-   inline typename boost::math::tools::promote_args<RT1, RT2>::type tgamma_lower(RT1 a, RT2 z){ return boost::math::tgamma_lower(a, z, Policy()); }\
-\
-   template <class RT1, class RT2>\
-   inline typename boost::math::tools::promote_args<RT1, RT2>::type gamma_q(RT1 a, RT2 z){ return boost::math::gamma_q(a, z, Policy()); }\
-\
-   template <class RT1, class RT2>\
-   inline typename boost::math::tools::promote_args<RT1, RT2>::type gamma_p(RT1 a, RT2 z){ return boost::math::gamma_p(a, z, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type tgamma_delta_ratio(T1 z, T2 delta){ return boost::math::tgamma_delta_ratio(z, delta, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type tgamma_ratio(T1 a, T2 b) { return boost::math::tgamma_ratio(a, b, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type gamma_p_derivative(T1 a, T2 x){ return boost::math::gamma_p_derivative(a, x, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type gamma_p_inv(T1 a, T2 p){ return boost::math::gamma_p_inv(a, p, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type gamma_p_inva(T1 a, T2 p){ return boost::math::gamma_p_inva(a, p, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type gamma_q_inv(T1 a, T2 q){ return boost::math::gamma_q_inv(a, q, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type gamma_q_inva(T1 a, T2 q){ return boost::math::gamma_q_inva(a, q, Policy()); }\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type digamma(T x){ return boost::math::digamma(x, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type \
-   hypot(T1 x, T2 y){ return boost::math::hypot(x, y, Policy()); }\
-\
-   template <class RT>\
-   inline typename boost::math::tools::promote_args<RT>::type cbrt(RT z){ return boost::math::cbrt(z, Policy()); }\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type log1p(T x){ return boost::math::log1p(x, Policy()); }\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type log1pmx(T x){ return boost::math::log1pmx(x, Policy()); }\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type expm1(T x){ return boost::math::expm1(x, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::tools::promote_args<T1, T2>::type \
-   powm1(const T1 a, const T2 z){ return boost::math::powm1(a, z, Policy()); }\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type sqrt1pm1(const T& val){ return boost::math::sqrt1pm1(val, Policy()); }\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type sinc_pi(T x){ return boost::math::sinc_pi(x, Policy()); }\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type sinhc_pi(T x){ return boost::math::sinhc_pi(x, Policy()); }\
-\
-   template<typename T>\
-   inline typename boost::math::tools::promote_args<T>::type asinh(const T x){ return boost::math::asinh(x, Policy()); }\
-\
-   template<typename T>\
-   inline typename boost::math::tools::promote_args<T>::type acosh(const T x){ return boost::math::acosh(x, Policy()); }\
-\
-   template<typename T>\
-   inline typename boost::math::tools::promote_args<T>::type atanh(const T x){ return boost::math::atanh(x, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type cyl_bessel_j(T1 v, T2 x)\
-   { return boost::math::cyl_bessel_j(v, x, Policy()); }\
-\
-   template <class T>\
-   inline typename boost::math::detail::bessel_traits<T, T, Policy >::result_type sph_bessel(unsigned v, T x)\
-   { return boost::math::sph_bessel(v, x, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type \
-   cyl_bessel_i(T1 v, T2 x) { return boost::math::cyl_bessel_i(v, x, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type \
-   cyl_bessel_k(T1 v, T2 x) { return boost::math::cyl_bessel_k(v, x, Policy()); }\
-\
-   template <class T1, class T2>\
-   inline typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type \
-   cyl_neumann(T1 v, T2 x){ return boost::math::cyl_neumann(v, x, Policy()); }\
-\
-   template <class T>\
-   inline typename boost::math::detail::bessel_traits<T, T, Policy >::result_type \
-   sph_neumann(unsigned v, T x){ return boost::math::sph_neumann(v, x, Policy()); }\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type sin_pi(T x){ return boost::math::sin_pi(x); }\
-\
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type cos_pi(T x){ return boost::math::cos_pi(x); }\
-\
-   using boost::math::fpclassify;\
-   using boost::math::isfinite;\
-   using boost::math::isinf;\
-   using boost::math::isnan;\
-   using boost::math::isnormal;\
-   using boost::math::signbit;\
-   using boost::math::sign;\
-   using boost::math::copysign;\
-   using boost::math::changesign;\
-   \
-   template <class T, class U>\
-   inline typename boost::math::tools::promote_args<T,U>::type expint(T const& z, U const& u)\
-   { return boost::math::expint(z, u, Policy()); }\
-   \
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type expint(T z){ return boost::math::expint(z, Policy()); }\
-   \
-   template <class T>\
-   inline typename boost::math::tools::promote_args<T>::type zeta(T s){ return boost::math::zeta(s, Policy()); }\
-   \
-   template <class T>\
-   inline T round(const T& v){ using boost::math::round; return round(v, Policy()); }\
-   \
-   template <class T>\
-   inline int iround(const T& v){ using boost::math::iround; return iround(v, Policy()); }\
-   \
-   template <class T>\
-   inline long lround(const T& v){ using boost::math::lround; return lround(v, Policy()); }\
-   \
-   template <class T>\
-   inline T trunc(const T& v){ using boost::math::trunc; return trunc(v, Policy()); }\
-   \
-   template <class T>\
-   inline int itrunc(const T& v){ using boost::math::itrunc; return itrunc(v, Policy()); }\
-   \
-   template <class T>\
-   inline long ltrunc(const T& v){ using boost::math::ltrunc; return ltrunc(v, Policy()); }\
-   \
-   template <class T>\
-   inline T modf(const T& v, T* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\
-   \
-   template <class T>\
-   inline T modf(const T& v, int* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\
-   \
-   template <class T>\
-   inline T modf(const T& v, long* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\
-   \
-   template <int N, class T>\
-   inline typename boost::math::tools::promote_args<T>::type pow(T v){ return boost::math::pow<N>(v, Policy()); }\
-   \
-   template <class T> T nextafter(const T& a, const T& b){ return boost::math::nextafter(a, b, Policy()); }\
-   template <class T> T float_next(const T& a){ return boost::math::float_next(a, Policy()); }\
-   template <class T> T float_prior(const T& a){ return boost::math::float_prior(a, Policy()); }\
-   template <class T> T float_distance(const T& a, const T& b){ return boost::math::float_distance(a, b, Policy()); }\
-
-
-#endif // BOOST_MATH_SPECIAL_MATH_FWD_HPP
-
-
diff --git a/SRC/Boost/boost/math/special_functions/sign.hpp b/SRC/Boost/boost/math/special_functions/sign.hpp
deleted file mode 100755
index 8accd02..0000000
--- a/SRC/Boost/boost/math/special_functions/sign.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-//  (C) Copyright John Maddock 2006.
-//  (C) Copyright Johan Rade 2006.
-//  (C) Copyright Paul A. Bristow 2011 (added changesign).
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_MATH_TOOLS_SIGN_HPP
-#define BOOST_MATH_TOOLS_SIGN_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/config.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/special_functions/detail/fp_traits.hpp>
-
-namespace boost{ namespace math{ 
-
-namespace detail {
-
-  // signbit
-
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
-    template<class T> 
-    inline int signbit_impl(T x, native_tag const&)
-    {
-        return (std::signbit)(x);
-    }
-#endif
-
-    template<class T> 
-    inline int signbit_impl(T x, generic_tag<true> const&)
-    {
-        return x < 0;
-    }
-
-    template<class T> 
-    inline int signbit_impl(T x, generic_tag<false> const&)
-    {
-        return x < 0;
-    }
-
-    template<class T> 
-    inline int signbit_impl(T x, ieee_copy_all_bits_tag const&)
-    {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
-        BOOST_DEDUCED_TYPENAME traits::bits a;
-        traits::get_bits(x,a);
-        return a & traits::sign ? 1 : 0;
-    }
-
-    template<class T> 
-    inline int signbit_impl(T x, ieee_copy_leading_bits_tag const&)
-    {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
-        BOOST_DEDUCED_TYPENAME traits::bits a;
-        traits::get_bits(x,a);
-
-        return a & traits::sign ? 1 : 0;
-    }
-
-    // Changesign
-
-    template<class T>
-    inline T (changesign_impl)(T x, generic_tag<true> const&)
-    {
-        return -x;
-    }
-
-    template<class T>
-    inline T (changesign_impl)(T x, generic_tag<false> const&)
-    {
-        return -x;
-    }
-
-
-    template<class T>
-    inline T changesign_impl(T x, ieee_copy_all_bits_tag const&)
-    {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::sign_change_type traits;
-
-        BOOST_DEDUCED_TYPENAME traits::bits a;
-        traits::get_bits(x,a);
-        a ^= traits::sign;
-        traits::set_bits(x,a);
-        return x;
-    }
-
-    template<class T>
-    inline T (changesign_impl)(T x, ieee_copy_leading_bits_tag const&)
-    {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::sign_change_type traits;
-
-        BOOST_DEDUCED_TYPENAME traits::bits a;
-        traits::get_bits(x,a);
-        a ^= traits::sign;
-        traits::set_bits(x,a);
-        return x;
-    }
-
-
-}   // namespace detail
-
-template<class T> int (signbit)(T x)
-{ 
-   typedef typename detail::fp_traits<T>::type traits;
-   typedef typename traits::method method;
-   typedef typename boost::is_floating_point<T>::type fp_tag;
-   return detail::signbit_impl(x, method());
-}
-
-template <class T>
-inline int sign BOOST_NO_MACRO_EXPAND(const T& z)
-{
-   return (z == 0) ? 0 : (boost::math::signbit)(z) ? -1 : 1;
-}
-
-template<class T> T (changesign)(const T& x)
-{ //!< \brief return unchanged binary pattern of x, except for change of sign bit. 
-   typedef typename detail::fp_traits<T>::sign_change_type traits;
-   typedef typename traits::method method;
-   typedef typename boost::is_floating_point<T>::type fp_tag;
-
-   return detail::changesign_impl(x, method());
-}
-
-template <class T>
-inline T copysign BOOST_NO_MACRO_EXPAND(const T& x, const T& y)
-{
-   BOOST_MATH_STD_USING
-   return (boost::math::signbit)(x) != (boost::math::signbit)(y) ? (boost::math::changesign)(x) : x;
-}
-
-} // namespace math
-} // namespace boost
-
-
-#endif // BOOST_MATH_TOOLS_SIGN_HPP
-
-
diff --git a/SRC/Boost/boost/math/tools/config.hpp b/SRC/Boost/boost/math/tools/config.hpp
deleted file mode 100755
index ab09adb..0000000
--- a/SRC/Boost/boost/math/tools/config.hpp
+++ /dev/null
@@ -1,310 +0,0 @@
-//  Copyright (c) 2006-7 John Maddock
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_MATH_TOOLS_CONFIG_HPP
-#define BOOST_MATH_TOOLS_CONFIG_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/cstdint.hpp> // for boost::uintmax_t
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <algorithm>  // for min and max
-#include <boost/config/no_tr1/cmath.hpp>
-#include <climits>
-#if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
-#  include <math.h>
-#endif
-
-#include <boost/math/tools/user.hpp>
-#include <boost/math/special_functions/detail/round_fwd.hpp>
-
-#if (defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__NetBSD__) \
-   || (defined(__hppa) && !defined(__OpenBSD__)) || defined(__NO_LONG_DOUBLE_MATH)) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
-#  define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-#endif
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
-//
-// Borland post 5.8.2 uses Dinkumware's std C lib which
-// doesn't have true long double precision.  Earlier
-// versions are problematic too:
-//
-#  define BOOST_MATH_NO_REAL_CONCEPT_TESTS
-#  define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-#  define BOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM)
-#  include <float.h>
-#endif
-#if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) && ((LDBL_MANT_DIG == 106) || (__LDBL_MANT_DIG__ == 106)) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
-//
-// Darwin's rather strange "double double" is rather hard to
-// support, it should be possible given enough effort though...
-//
-#  define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-#endif
-#if defined(unix) && defined(__INTEL_COMPILER) && (__INTEL_COMPILER <= 1000) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
-//
-// Intel compiler prior to version 10 has sporadic problems
-// calling the long double overloads of the std lib math functions:
-// calling ::powl is OK, but std::pow(long double, long double) 
-// may segfault depending upon the value of the arguments passed 
-// and the specific Linux distribution.
-//
-// We'll be conservative and disable long double support for this compiler.
-//
-// Comment out this #define and try building the tests to determine whether
-// your Intel compiler version has this issue or not.
-//
-#  define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-#endif
-#if defined(unix) && defined(__INTEL_COMPILER)
-//
-// Intel compiler has sporadic issues compiling std::fpclassify depending on
-// the exact OS version used.  Use our own code for this as we know it works
-// well on Intel processors:
-//
-#define BOOST_MATH_DISABLE_STD_FPCLASSIFY
-#endif
-
-#if defined(BOOST_MSVC) && !defined(_WIN32_WCE)
-   // Better safe than sorry, our tests don't support hardware exceptions:
-#  define BOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM)
-#endif
-
-#ifdef __IBMCPP__
-#  define BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS
-#endif
-
-#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901))
-#  define BOOST_MATH_USE_C99
-#endif
-
-#if (defined(__hpux) && !defined(__hppa))
-#  define BOOST_MATH_USE_C99
-#endif
-
-#if defined(__GNUC__) && defined(_GLIBCXX_USE_C99)
-#  define BOOST_MATH_USE_C99
-#endif
-
-#if defined(__CYGWIN__) || defined(__HP_aCC) || defined(BOOST_INTEL) \
-  || defined(BOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY) \
-  || (defined(__GNUC__) && !defined(BOOST_MATH_USE_C99))
-#  define BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY
-#endif
-
-#if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) || BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590)
-
-#  include "boost/type.hpp"
-#  include "boost/non_type.hpp"
-
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t)         boost::type<t>* = 0
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t)    boost::type<t>*
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v)  boost::non_type<t, v>* = 0
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)  boost::non_type<t, v>*
-
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(t)         \
-             , BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t)
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)    \
-             , BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)  \
-             , BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)  \
-             , BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
-
-#else
-
-// no workaround needed: expand to nothing
-
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t)
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
-
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(t)
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
-
-
-#endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-
-#if defined(__SUNPRO_CC) || defined(__hppa) || defined(__GNUC__)
-// Sun's compiler emits a hard error if a constant underflows,
-// as does aCC on PA-RISC, while gcc issues a large number of warnings:
-#  define BOOST_MATH_SMALL_CONSTANT(x) 0
-#else
-#  define BOOST_MATH_SMALL_CONSTANT(x) x
-#endif
-
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
-//
-// Define if constants too large for a float cause "bad"
-// values to be stored in the data, rather than infinity
-// or a suitably large value.
-//
-#  define BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS
-#endif
-//
-// Tune performance options for specific compilers:
-//
-#ifdef BOOST_MSVC
-#  define BOOST_MATH_POLY_METHOD 2
-#elif defined(BOOST_INTEL)
-#  define BOOST_MATH_POLY_METHOD 2
-#  define BOOST_MATH_RATIONAL_METHOD 2
-#elif defined(__GNUC__)
-#  define BOOST_MATH_POLY_METHOD 3
-#  define BOOST_MATH_RATIONAL_METHOD 3
-#  define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
-#  define BOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##.0L
-#endif
-
-#if defined(BOOST_NO_LONG_LONG) && !defined(BOOST_MATH_INT_TABLE_TYPE)
-#  define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
-#  define BOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##.0L
-#endif
-
-//
-// The maximum order of polynomial that will be evaluated 
-// via an unrolled specialisation:
-//
-#ifndef BOOST_MATH_MAX_POLY_ORDER
-#  define BOOST_MATH_MAX_POLY_ORDER 17
-#endif 
-//
-// Set the method used to evaluate polynomials and rationals:
-//
-#ifndef BOOST_MATH_POLY_METHOD
-#  define BOOST_MATH_POLY_METHOD 1
-#endif 
-#ifndef BOOST_MATH_RATIONAL_METHOD
-#  define BOOST_MATH_RATIONAL_METHOD 0
-#endif 
-//
-// decide whether to store constants as integers or reals:
-//
-#ifndef BOOST_MATH_INT_TABLE_TYPE
-#  define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
-#endif
-#ifndef BOOST_MATH_INT_VALUE_SUFFIX
-#  define BOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##SUF
-#endif
-
-//
-// Helper macro for controlling the FP behaviour:
-//
-#ifndef BOOST_MATH_CONTROL_FP
-#  define BOOST_MATH_CONTROL_FP
-#endif
-//
-// Helper macro for using statements:
-//
-#define BOOST_MATH_STD_USING \
-   using std::abs;\
-   using std::acos;\
-   using std::cos;\
-   using std::fmod;\
-   using std::modf;\
-   using std::tan;\
-   using std::asin;\
-   using std::cosh;\
-   using std::frexp;\
-   using std::pow;\
-   using std::tanh;\
-   using std::atan;\
-   using std::exp;\
-   using std::ldexp;\
-   using std::sin;\
-   using std::atan2;\
-   using std::fabs;\
-   using std::log;\
-   using std::sinh;\
-   using std::ceil;\
-   using std::floor;\
-   using std::log10;\
-   using std::sqrt;\
-   using boost::math::round;\
-   using boost::math::iround;\
-   using boost::math::lround;\
-   using boost::math::trunc;\
-   using boost::math::itrunc;\
-   using boost::math::ltrunc;\
-   using boost::math::modf;
-
-
-namespace boost{ namespace math{
-namespace tools
-{
-
-template <class T>
-inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c)
-{
-   return (std::max)((std::max)(a, b), c);
-}
-
-template <class T>
-inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c, T d)
-{
-   return (std::max)((std::max)(a, b), (std::max)(c, d));
-}
-} // namespace tools
-
-template <class T>
-void suppress_unused_variable_warning(const T&)
-{
-}
-
-}} // namespace boost namespace math
-
-#if ((defined(__linux__) && !defined(__UCLIBC__)) || defined(__QNX__) || defined(__IBMCPP__)) && !defined(BOOST_NO_FENV_H)
-
-   #include <boost/detail/fenv.hpp>
-
-   namespace boost{ namespace math{
-   namespace detail
-   {
-   struct fpu_guard
-   {
-      fpu_guard()
-      {
-         fegetexceptflag(&m_flags, FE_ALL_EXCEPT);
-         feclearexcept(FE_ALL_EXCEPT);
-      }
-      ~fpu_guard()
-      {
-         fesetexceptflag(&m_flags, FE_ALL_EXCEPT);
-      }
-   private:
-      fexcept_t m_flags;
-   };
-
-   } // namespace detail
-   }} // namespaces
-
-#  define BOOST_FPU_EXCEPTION_GUARD boost::math::detail::fpu_guard local_guard_object;
-#  define BOOST_MATH_INSTRUMENT_FPU do{ fexcept_t cpu_flags; fegetexceptflag(&cpu_flags, FE_ALL_EXCEPT); BOOST_MATH_INSTRUMENT_VARIABLE(cpu_flags); } while(0); 
-#else // All other platforms.
-#  define BOOST_FPU_EXCEPTION_GUARD
-#  define BOOST_MATH_INSTRUMENT_FPU
-#endif
-
-#ifdef BOOST_MATH_INSTRUMENT
-#define BOOST_MATH_INSTRUMENT_CODE(x) \
-   std::cout << std::setprecision(35) << __FILE__ << ":" << __LINE__ << " " << x << std::endl;
-#define BOOST_MATH_INSTRUMENT_VARIABLE(name) BOOST_MATH_INSTRUMENT_CODE(BOOST_STRINGIZE(name) << " = " << name)
-#else
-#define BOOST_MATH_INSTRUMENT_CODE(x)
-#define BOOST_MATH_INSTRUMENT_VARIABLE(name)
-#endif
-
-#endif // BOOST_MATH_TOOLS_CONFIG_HPP
-
-
-
-
-
diff --git a/SRC/Boost/boost/math/tools/promotion.hpp b/SRC/Boost/boost/math/tools/promotion.hpp
deleted file mode 100755
index 7952c97..0000000
--- a/SRC/Boost/boost/math/tools/promotion.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-// boost\math\tools\promotion.hpp
-
-// Copyright John Maddock 2006.
-// Copyright Paul A. Bristow 2006.
-
-// Use, modification and distribution are subject to the
-// Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// Promote arguments functions to allow math functions to have arguments
-// provided as integer OR real (floating-point, built-in or UDT)
-// (called ArithmeticType in functions that use promotion)
-// that help to reduce the risk of creating multiple instantiations.
-// Allows creation of an inline wrapper that forwards to a foo(RT, RT) function,
-// so you never get to instantiate any mixed foo(RT, IT) functions.
-
-#ifndef BOOST_MATH_PROMOTION_HPP
-#define BOOST_MATH_PROMOTION_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-// Boost type traits:
-#include <boost/math/tools/config.hpp>
-#include <boost/type_traits/is_floating_point.hpp> // for boost::is_floating_point;
-#include <boost/type_traits/is_integral.hpp> // for boost::is_integral
-#include <boost/type_traits/is_convertible.hpp> // for boost::is_convertible
-#include <boost/type_traits/is_same.hpp>// for boost::is_same
-#include <boost/type_traits/remove_cv.hpp>// for boost::remove_cv
-// Boost Template meta programming:
-#include <boost/mpl/if.hpp> // for boost::mpl::if_c.
-#include <boost/mpl/and.hpp> // for boost::mpl::if_c.
-#include <boost/mpl/or.hpp> // for boost::mpl::if_c.
-#include <boost/mpl/not.hpp> // for boost::mpl::if_c.
-
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-#include <boost/static_assert.hpp>
-#endif
-
-namespace boost
-{
-  namespace math
-  {
-    namespace tools
-    {
-      // If either T1 or T2 is an integer type,
-      // pretend it was a double (for the purposes of further analysis).
-      // Then pick the wider of the two floating-point types
-      // as the actual signature to forward to.
-      // For example:
-      // foo(int, short) -> double foo(double, double);
-      // foo(int, float) -> double foo(double, double);
-      // Note: NOT float foo(float, float)
-      // foo(int, double) -> foo(double, double);
-      // foo(double, float) -> double foo(double, double);
-      // foo(double, float) -> double foo(double, double);
-      // foo(any-int-or-float-type, long double) -> foo(long double, long double);
-      // but ONLY float foo(float, float) is unchanged.
-      // So the only way to get an entirely float version is to call foo(1.F, 2.F),
-      // But since most (all?) the math functions convert to double internally,
-      // probably there would not be the hoped-for gain by using float here.
-
-      // This follows the C-compatible conversion rules of pow, etc
-      // where pow(int, float) is converted to pow(double, double).
-
-      template <class T>
-      struct promote_arg
-      { // If T is integral type, then promote to double.
-        typedef typename mpl::if_<is_integral<T>, double, T>::type type;
-      };
-      // These full specialisations reduce mpl::if_ usage and speed up
-      // compilation:
-      template <> struct promote_arg<float> { typedef float type; };
-      template <> struct promote_arg<double>{ typedef double type; };
-      template <> struct promote_arg<long double> { typedef long double type; };
-      template <> struct promote_arg<int> {  typedef double type; };
-
-      template <class T1, class T2>
-      struct promote_args_2
-      { // Promote, if necessary, & pick the wider of the two floating-point types.
-        // for both parameter types, if integral promote to double.
-        typedef typename promote_arg<T1>::type T1P; // T1 perhaps promoted.
-        typedef typename promote_arg<T2>::type T2P; // T2 perhaps promoted.
-
-        typedef typename mpl::if_<
-          typename mpl::and_<is_floating_point<T1P>, is_floating_point<T2P> >::type, // both T1P and T2P are floating-point?
-          typename mpl::if_< typename mpl::or_<is_same<long double, T1P>, is_same<long double, T2P> >::type, // either long double?
-            long double, // then result type is long double.
-            typename mpl::if_< typename mpl::or_<is_same<double, T1P>, is_same<double, T2P> >::type, // either double?
-            double, // result type is double.
-          float // else result type is float.
-          >::type
-          >::type,
-          // else one or the other is a user-defined type:
-          typename mpl::if_< typename mpl::and_<mpl::not_<is_floating_point<T2P> >, ::boost::is_convertible<T1P, T2P> >, T2P, T1P>::type>::type type;
-      }; // promote_arg2
-      // These full specialisations reduce mpl::if_ usage and speed up
-      // compilation:
-      template <> struct promote_args_2<float, float> { typedef float type; };
-      template <> struct promote_args_2<double, double>{ typedef double type; };
-      template <> struct promote_args_2<long double, long double> { typedef long double type; };
-      template <> struct promote_args_2<int, int> {  typedef double type; };
-      template <> struct promote_args_2<int, float> {  typedef double type; };
-      template <> struct promote_args_2<float, int> {  typedef double type; };
-      template <> struct promote_args_2<int, double> {  typedef double type; };
-      template <> struct promote_args_2<double, int> {  typedef double type; };
-      template <> struct promote_args_2<int, long double> {  typedef long double type; };
-      template <> struct promote_args_2<long double, int> {  typedef long double type; };
-      template <> struct promote_args_2<float, double> {  typedef double type; };
-      template <> struct promote_args_2<double, float> {  typedef double type; };
-      template <> struct promote_args_2<float, long double> {  typedef long double type; };
-      template <> struct promote_args_2<long double, float> {  typedef long double type; };
-      template <> struct promote_args_2<double, long double> {  typedef long double type; };
-      template <> struct promote_args_2<long double, double> {  typedef long double type; };
-
-      template <class T1, class T2=float, class T3=float, class T4=float, class T5=float, class T6=float>
-      struct promote_args
-      {
-         typedef typename promote_args_2<
-            typename remove_cv<T1>::type,
-            typename promote_args_2<
-               typename remove_cv<T2>::type,
-               typename promote_args_2<
-                  typename remove_cv<T3>::type,
-                  typename promote_args_2<
-                     typename remove_cv<T4>::type,
-                     typename promote_args_2<
-                        typename remove_cv<T5>::type, typename remove_cv<T6>::type
-                     >::type
-                  >::type
-               >::type
-            >::type
-         >::type type;
-
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-         //
-         // Guard against use of long double if it's not supported:
-         //
-         BOOST_STATIC_ASSERT((0 == ::boost::is_same<type, long double>::value));
-#endif
-      };
-
-    } // namespace tools
-  } // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_PROMOTION_HPP
-
diff --git a/SRC/Boost/boost/math/tools/real_cast.hpp b/SRC/Boost/boost/math/tools/real_cast.hpp
deleted file mode 100755
index 8bcb273..0000000
--- a/SRC/Boost/boost/math/tools/real_cast.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-//  Copyright John Maddock 2006.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_MATH_TOOLS_REAL_CAST_HPP
-#define BOOST_MATH_TOOLS_REAL_CAST_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-namespace boost{ namespace math
-{
-  namespace tools
-  {
-    template <class To, class T>
-    inline To real_cast(T t)
-    {
-       return static_cast<To>(t);
-    }
-  } // namespace tools
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_TOOLS_REAL_CAST_HPP
-
-
-
diff --git a/SRC/Boost/boost/math/tools/user.hpp b/SRC/Boost/boost/math/tools/user.hpp
deleted file mode 100755
index 8f1a9a9..0000000
--- a/SRC/Boost/boost/math/tools/user.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright John Maddock 2007.
-// Copyright Paul A. Bristow 2007.
-
-// Use, modification and distribution are subject to the
-// Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_MATH_TOOLS_USER_HPP
-#define BOOST_MATH_TOOLS_USER_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-// This file can be modified by the user to change the default policies.
-// See "Changing the Policy Defaults" in documentation.
-
-// define this if the platform has no long double functions,
-// or if the long double versions have only double precision:
-//
-// #define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-//
-// Performance tuning options:
-//
-// #define BOOST_MATH_POLY_METHOD 3
-// #define BOOST_MATH_RATIONAL_METHOD 3
-//
-// The maximum order of polynomial that will be evaluated
-// via an unrolled specialisation:
-//
-// #define BOOST_MATH_MAX_POLY_ORDER 17
-//
-// decide whether to store constants as integers or reals:
-//
-// #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
-
-//
-// Default policies follow:
-//
-// Domain errors:
-//
-// #define BOOST_MATH_DOMAIN_ERROR_POLICY throw_on_error
-//
-// Pole errors:
-//
-// #define BOOST_MATH_POLE_ERROR_POLICY throw_on_error
-//
-// Overflow Errors:
-//
-// #define BOOST_MATH_OVERFLOW_ERROR_POLICY throw_on_error
-//
-// Internal Evaluation Errors:
-//
-// #define BOOST_MATH_EVALUATION_ERROR_POLICY throw_on_error
-//
-// Underfow:
-//
-// #define BOOST_MATH_UNDERFLOW_ERROR_POLICY ignore_error
-//
-// Denorms:
-//
-// #define BOOST_MATH_DENORM_ERROR_POLICY ignore_error
-//
-// Max digits to use for internal calculations:
-//
-// #define BOOST_MATH_DIGITS10_POLICY 0
-//
-// Promote floats to doubles internally?
-//
-// #define BOOST_MATH_PROMOTE_FLOAT_POLICY true
-//
-// Promote doubles to long double internally:
-//
-// #define BOOST_MATH_PROMOTE_DOUBLE_POLICY true
-//
-// What do discrete quantiles return?
-//
-// #define BOOST_MATH_DISCRETE_QUANTILE_POLICY integer_round_outwards
-//
-// If a function is mathematically undefined
-// (for example the Cauchy distribution has no mean),
-// then do we stop the code from compiling?
-//
-// #define BOOST_MATH_ASSERT_UNDEFINED_POLICY true
-//
-// Maximum series iterstions permitted:
-//
-// #define BOOST_MATH_MAX_SERIES_ITERATION_POLICY 1000000
-//
-// Maximum root finding steps permitted:
-//
-// define BOOST_MATH_MAX_ROOT_ITERATION_POLICY 200
-
-#endif // BOOST_MATH_TOOLS_USER_HPP
-
-
diff --git a/SRC/Boost/boost/math_fwd.hpp b/SRC/Boost/boost/math_fwd.hpp
deleted file mode 100755
index dd95d7b..0000000
--- a/SRC/Boost/boost/math_fwd.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-//  Boost math_fwd.hpp header file  ------------------------------------------//
-
-//  (C) Copyright Hubert Holin and Daryle Walker 2001-2002.  Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/math for documentation.
-
-#ifndef BOOST_MATH_FWD_HPP
-#define BOOST_MATH_FWD_HPP
-
-#include <boost/cstdint.hpp>
-
-namespace boost
-{
-namespace math
-{
-
-
-//  From <boost/math/quaternion.hpp>  ----------------------------------------//
-
-template < typename T >
-    class quaternion;
-
-template < >
-    class quaternion< float >;
-template < >
-    class quaternion< double >;
-template < >
-    class quaternion< long double >;
-
-// Also has many function templates (including operators)
-
-
-//  From <boost/math/octonion.hpp>  ------------------------------------------//
-
-template < typename T >
-    class octonion;
-
-template < >
-    class octonion< float >;
-template < >
-    class octonion< double >;
-template < >
-    class octonion< long double >;
-
-// Also has many function templates (including operators)
-
-
-//  From <boost/math/special_functions/acosh.hpp>  ---------------------------//
-
-// Only has function template
-
-
-//  From <boost/math/special_functions/asinh.hpp>  ---------------------------//
-
-// Only has function template
-
-
-//  From <boost/math/special_functions/atanh.hpp>  ---------------------------//
-
-// Only has function template
-
-
-//  From <boost/math/special_functions/sinc.hpp>  ----------------------------//
-
-// Only has function templates
-
-
-//  From <boost/math/special_functions/sinhc.hpp>  ---------------------------//
-
-// Only has function templates
-
-
-//  From <boost/math/common_factor.hpp>  -------------------------------------//
-
-// Only #includes other headers
-
-
-//  From <boost/math/common_factor_ct.hpp>  ----------------------------------//
-
-#ifdef BOOST_NO_INTEGRAL_INT64_T
-     typedef unsigned long static_gcd_type;
-#else
-     typedef boost::uintmax_t static_gcd_type;
-#endif
-
-template < static_gcd_type Value1, static_gcd_type Value2 >
-    struct static_gcd;
-template < static_gcd_type Value1, static_gcd_type Value2 >
-    struct static_lcm;
-
-
-//  From <boost/math/common_factor_rt.hpp>  ----------------------------------//
-
-template < typename IntegerType >
-    class gcd_evaluator;
-template < typename IntegerType >
-    class lcm_evaluator;
-
-// Also has a couple of function templates
-
-
-}  // namespace math
-}  // namespace boost
-
-
-#endif  // BOOST_MATH_FWD_HPP
diff --git a/SRC/Boost/boost/mem_fn.hpp b/SRC/Boost/boost/mem_fn.hpp
deleted file mode 100755
index 7f307c7..0000000
--- a/SRC/Boost/boost/mem_fn.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef BOOST_MEM_FN_HPP_INCLUDED
-#define BOOST_MEM_FN_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  mem_fn.hpp - a generalization of std::mem_fun[_ref]
-//
-//  Copyright (c) 2009 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-//  See http://www.boost.org/libs/bind/mem_fn.html for documentation.
-//
-
-#include <boost/bind/mem_fn.hpp>
-
-#endif // #ifndef BOOST_MEM_FN_HPP_INCLUDED
diff --git a/SRC/Boost/boost/memory_order.hpp b/SRC/Boost/boost/memory_order.hpp
deleted file mode 100755
index 1c8bdc6..0000000
--- a/SRC/Boost/boost/memory_order.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED
-#define BOOST_MEMORY_ORDER_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//  boost/memory_order.hpp
-//
-//  Defines enum boost::memory_order per the C++0x working draft
-//
-//  Copyright (c) 2008, 2009 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-
-namespace boost
-{
-
-//
-// Enum values are chosen so that code that needs to insert
-// a trailing fence for acquire semantics can use a single
-// test such as:
-//
-// if( mo & memory_order_acquire ) { ...fence... }
-//
-// For leading fences one can use:
-//
-// if( mo & memory_order_release ) { ...fence... }
-//
-// Architectures such as Alpha that need a fence on consume
-// can use:
-//
-// if( mo & ( memory_order_acquire | memory_order_consume ) ) { ...fence... }
-//
-
-enum memory_order
-{
-    memory_order_relaxed = 0,
-    memory_order_acquire = 1,
-    memory_order_release = 2,
-    memory_order_acq_rel = 3, // acquire | release
-    memory_order_seq_cst = 7, // acq_rel | 4
-    memory_order_consume = 8
-};
-
-} // namespace boost
-
-#endif // #ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/move/move.hpp b/SRC/Boost/boost/move/move.hpp
deleted file mode 100755
index ae3f3df..0000000
--- a/SRC/Boost/boost/move/move.hpp
+++ /dev/null
@@ -1,1094 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright David Abrahams, Vicente Botet 2009.
-// (C) Copyright Ion Gaztanaga 2009-2010.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/move for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//! \file
-
-#ifndef BOOST_MOVE_MOVE_HPP
-#define BOOST_MOVE_MOVE_HPP
-
-#if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-/// @cond
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_MSVC
-   #ifndef _CRT_SECURE_NO_DEPRECATE
-   #define  BOOST_INTERPROCESS_CRT_SECURE_NO_DEPRECATE
-   #define _CRT_SECURE_NO_DEPRECATE
-   #define _SCL_SECURE_NO_WARNINGS
-   #endif
-   #pragma warning (push)
-   #pragma warning(disable:4996)
-#endif
-
-#include <algorithm> //copy, copy_backward
-#include <memory>    //uninitialized_copy
-#include <iterator>  //std::iterator
-
-#define BOOST_MOVE_AVOID_BOOST_DEPENDENCIES
-
-//If boost dependencies are avoided include all machinery
-#if !defined(BOOST_MOVE_AVOID_BOOST_DEPENDENCIES)
-   #include <boost/utility/enable_if.hpp>
-   #include <boost/utility/addressof.hpp>
-   #include <boost/mpl/if.hpp>
-   #include <boost/mpl/bool.hpp>
-   #include <boost/mpl/and.hpp>
-   #include <boost/mpl/not.hpp>
-   #include <boost/mpl/identity.hpp>
-   #include <boost/type_traits/is_class.hpp>
-   #include <boost/type_traits/is_convertible.hpp>
-   #include <boost/type_traits/has_trivial_destructor.hpp>
-   #include <boost/type_traits/integral_constant.hpp>
-
-   #define BOOST_MOVE_MPL_NS    ::boost::mpl
-   #define BOOST_MOVE_BOOST_NS  ::boost
-#else
-   #define BOOST_MOVE_MPL_NS    ::boost::move_detail
-   #define BOOST_MOVE_BOOST_NS  ::boost::move_detail
-#endif   //#ifdef BOOST_MOVE_AVOID_BOOST_DEPENDENCIES
-
-//Small meta-typetraits to support move
-#ifdef BOOST_MOVE_AVOID_BOOST_DEPENDENCIES
-
-   namespace boost {
-   namespace move_detail {
-
-   //if_
-   template<bool C, typename T1, typename T2>
-   struct if_c
-   {
-       typedef T1 type;
-   };
-
-   template<typename T1, typename T2>
-   struct if_c<false,T1,T2>
-   {
-       typedef T2 type;
-   };
-
-   template<typename T1, typename T2, typename T3>
-   struct if_
-   {
-      typedef typename if_c<0 != T1::value, T2, T3>::type type;
-   };
-
-   //enable_if_
-   template <bool B, class T = void>
-   struct enable_if_c
-   {
-      typedef T type;
-   };
-
-   template <class T>
-   struct enable_if_c<false, T> {};
-
-   template <class Cond, class T = void>
-   struct enable_if : public enable_if_c<Cond::value, T> {};
-
-   template <class Cond, class T = void>
-   struct disable_if : public enable_if_c<!Cond::value, T> {};
-
-   //integral_constant
-   template<class T, T v>
-   struct integral_constant
-   {
-      static const T value = v;
-      typedef T value_type;
-      typedef integral_constant<T, v> type;
-   };
-
-   //identity
-   template <class T>
-   struct identity
-   {
-      typedef T type;
-   };
-
-   //is_convertible
-   template <class T, class U>
-   class is_convertible
-   {
-      typedef char true_t;
-      class false_t { char dummy[2]; };
-      static true_t dispatch(U);
-      static false_t dispatch(...);
-      static T &trigger();
-      public:
-      enum { value = sizeof(dispatch(trigger())) == sizeof(true_t) };
-   };
-
-   //and_ not_
-   template <typename Condition1, typename Condition2, typename Condition3 = integral_constant<bool, true> >
-     struct and_
-       : public integral_constant<bool, Condition1::value && Condition2::value && Condition3::value>
-   {};
-
-   template <typename Boolean>
-     struct not_
-       : public integral_constant<bool, !Boolean::value>
-   {};
-
-   //is_lvalue_reference
-   template<class T>
-   struct is_lvalue_reference
-      : public integral_constant<bool, false>
-   {};
-
-   template<class T>
-   struct is_lvalue_reference<T&>
-      : public integral_constant<bool, true>
-   {};
-
-   //has_trivial_destructor
-   template<class T>
-   struct has_trivial_destructor
-      : public integral_constant<bool, false>
-   {};
-
-   //addressof
-   template<class T> struct addr_impl_ref
-   {
-      T & v_;
-      inline addr_impl_ref( T & v ): v_( v ) {}
-      inline operator T& () const { return v_; }
-
-      private:
-      addr_impl_ref & operator=(const addr_impl_ref &);
-   };
-
-   template<class T> struct addressof_impl
-   {
-      static inline T * f( T & v, long )
-      {
-         return reinterpret_cast<T*>(
-            &const_cast<char&>(reinterpret_cast<const volatile char &>(v)));
-      }
-
-      static inline T * f( T * v, int )
-      {  return v;  }
-   };
-
-   template<class T> T * addressof( T & v )
-   {
-      return ::boost::move_detail::addressof_impl<T>::f
-         ( ::boost::move_detail::addr_impl_ref<T>( v ), 0 );
-   }
-
-   }  //namespace move_detail {
-   }  //namespace boost {
-
-#endif   //BOOST_MOVE_AVOID_BOOST_DEPENDENCIES
-
-//Compiler workaround detection
-#if !defined(BOOST_NO_RVALUE_REFERENCES)
-
-   #if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 5) && !defined(__clang__)
-      //Pre-standard rvalue binding rules
-      #define BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES
-   #elif defined(_MSC_VER) && (_MSC_VER == 1600)
-      //Standard rvalue binding rules but with some bugs
-      #define BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG
-      //Use standard library for MSVC to avoid namespace issues as
-      //some move calls in the STL are not fully qualified.
-      //#define BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE
-   #endif
-
-#endif
-
-/// @endcond
-
-#endif //#if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-#if defined(BOOST_NO_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-   //Move emulation rv breaks standard aliasing rules so add workarounds for some compilers
-   #ifdef __GNUC__ 
-      #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS __attribute__((__may_alias__)) 
-   #else 
-      #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS
-   #endif
-
-   namespace boost {
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                            struct rv
-   //
-   //////////////////////////////////////////////////////////////////////////////
-   template <class T>
-   class rv : public T
-   {
-      rv();
-      ~rv();
-      rv(rv const&);
-      void operator=(rv const&);
-   } BOOST_MOVE_ATTRIBUTE_MAY_ALIAS;
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                            move_detail::is_rv
-   //
-   //////////////////////////////////////////////////////////////////////////////
-
-   namespace move_detail {
-
-   template <class T>
-   struct is_rv
-      : BOOST_MOVE_BOOST_NS::integral_constant<bool, false>
-   {};
-
-   template <class T>
-   struct is_rv< rv<T> >
-      : BOOST_MOVE_BOOST_NS::integral_constant<bool, true>
-   {};
-
-   template <class T>
-   struct is_rv< const rv<T> >
-      : BOOST_MOVE_BOOST_NS::integral_constant<bool, true>
-   {};
-
-   }  //namespace move_detail {
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                               has_move_emulation_enabled
-   //
-   //////////////////////////////////////////////////////////////////////////////
-   template<class T>
-   struct has_move_emulation_enabled
-      : BOOST_MOVE_BOOST_NS::is_convertible< T, ::boost::rv<T>& >
-   {};
-
-   template<class T>
-   struct has_move_emulation_enabled<T&>
-      : BOOST_MOVE_BOOST_NS::integral_constant<bool, false>
-   {};
-
-   template<class T>
-   struct has_move_emulation_enabled< ::boost::rv<T> >
-      : BOOST_MOVE_BOOST_NS::integral_constant<bool, false>
-   {};
-
-   template <class T> 
-   struct has_nothrow_move
-      : public BOOST_MOVE_BOOST_NS::integral_constant<bool, false>
-   {};
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                            move()
-   //
-   //////////////////////////////////////////////////////////////////////////////
-   template <class T>
-   typename BOOST_MOVE_BOOST_NS::disable_if<has_move_emulation_enabled<T>, T&>::type move(T& x)
-   {
-      return x;
-   }
-
-   template <class T>
-   typename BOOST_MOVE_BOOST_NS::enable_if<has_move_emulation_enabled<T>, rv<T>&>::type move(T& x)
-   {
-      return *static_cast<rv<T>* >(BOOST_MOVE_BOOST_NS::addressof(x));
-   }
-
-   template <class T>
-   typename BOOST_MOVE_BOOST_NS::enable_if<has_move_emulation_enabled<T>, rv<T>&>::type move(rv<T>& x)
-   {
-      return x;
-   }
-
-   #define BOOST_RV_REF(TYPE)\
-      ::boost::rv< TYPE >& \
-   //
-
-   #define BOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
-      ::boost::rv< TYPE<ARG1, ARG2> >& \
-   //
-
-   #define BOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
-      ::boost::rv< TYPE<ARG1, ARG2, ARG3> >& \
-   //
-
-
-   #define BOOST_FWD_REF(TYPE)\
-      const TYPE & \
-   //
-
-   #define BOOST_CATCH_CONST_RLVALUE(TYPE)\
-      const ::boost::rv< TYPE >& \
-   //
-
-   #define BOOST_COPY_ASSIGN_REF(TYPE)\
-      const ::boost::rv< TYPE >& \
-   //
-
-   #define BOOST_MOVE_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
-      const ::boost::rv< TYPE<ARG1, ARG2> >& \
-   //
-
-   #define BOOST_MOVE_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
-      const ::boost::rv< TYPE<ARG1, ARG2, ARG3> >& \
-   //
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                            forward()
-   //
-   //////////////////////////////////////////////////////////////////////////////
-
-   template <class T>
-   typename BOOST_MOVE_BOOST_NS::enable_if< ::boost::move_detail::is_rv<T>, T &>::type
-      forward(const typename BOOST_MOVE_MPL_NS::identity<T>::type &x)
-   {
-      return const_cast<T&>(x);
-   }
-
-   template <class T>
-   typename BOOST_MOVE_BOOST_NS::disable_if< ::boost::move_detail::is_rv<T>, const T &>::type
-      forward(const typename BOOST_MOVE_MPL_NS::identity<T>::type &x)
-   {
-      return x;
-   }
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                         BOOST_MOVABLE_BUT_NOT_COPYABLE
-   //
-   //////////////////////////////////////////////////////////////////////////////
-   #define BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\
-      private:\
-      TYPE(TYPE &);\
-      TYPE& operator=(TYPE &);\
-      public:\
-      operator ::boost::rv<TYPE>&() \
-      {  return *static_cast< ::boost::rv<TYPE>* >(this);  }\
-      operator const ::boost::rv<TYPE>&() const \
-      {  return *static_cast<const ::boost::rv<TYPE>* >(this);  }\
-      private:\
-   //
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                         BOOST_COPYABLE_AND_MOVABLE
-   //
-   //////////////////////////////////////////////////////////////////////////////
-
-   #define BOOST_COPYABLE_AND_MOVABLE(TYPE)\
-      public:\
-      TYPE& operator=(TYPE &t)\
-      {  this->operator=(static_cast<const ::boost::rv<TYPE> &>(const_cast<const TYPE &>(t))); return *this;}\
-      public:\
-      operator ::boost::rv<TYPE>&() \
-      {  return *static_cast< ::boost::rv<TYPE>* >(this);  }\
-      operator const ::boost::rv<TYPE>&() const \
-      {  return *static_cast<const ::boost::rv<TYPE>* >(this);  }\
-      private:\
-   //
-
-   #define BOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\
-      public:\
-      operator ::boost::rv<TYPE>&() \
-      {  return *static_cast< ::boost::rv<TYPE>* >(this);  }\
-      operator const ::boost::rv<TYPE>&() const \
-      {  return *static_cast<const ::boost::rv<TYPE>* >(this);  }\
-      private:\
-   //
-
-   }  //namespace boost
-
-#else    //BOOST_NO_RVALUE_REFERENCES
-
-   namespace boost{
-
-   //! By default this traits returns false. Classes with non-throwing move constructor
-   //! and assignment should specialize this trait to obtain some performance improvements.
-   template <class T> 
-   struct has_nothrow_move
-      : public BOOST_MOVE_MPL_NS::integral_constant<bool, false>
-   {};
-
-   }  //      namespace boost{
-
-   #if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
-      #include <utility>
-
-      namespace boost{
-
-      using ::std::move;
-      using ::std::forward;
-      using ::std::move_backward;
-
-      }  //namespace boost
-
-   #else //!BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE
-
-      #include <boost/type_traits/remove_reference.hpp>
-
-      namespace boost {
-
-      //////////////////////////////////////////////////////////////////////////////
-      //
-      //                                  move
-      //
-      //////////////////////////////////////////////////////////////////////////////
-
-      #if defined(BOOST_MOVE_DOXYGEN_INVOKED)
-         //! This function provides a way to convert a reference into a rvalue reference
-         //! in compilers with rvalue references. For other compilers converts T & into
-         //! <i>::boost::rv<T> &</i> so that move emulation is activated.
-         template <class T> inline 
-         rvalue_reference move (input_reference);
-
-      #elif defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
-
-         //Old move approach, lvalues could bind to rvalue references
-         template <class T> inline
-         typename remove_reference<T>::type && move(T&& t)
-         {  return t;   }
-
-      #else //Old move
-
-         template <class T> inline
-         typename remove_reference<T>::type && move(T&& t)
-         { return static_cast<typename remove_reference<T>::type &&>(t); } 
-
-      #endif   //Old move
-
-      //////////////////////////////////////////////////////////////////////////////
-      //
-      //                                  forward
-      //
-      //////////////////////////////////////////////////////////////////////////////
-
-
-      #if defined(BOOST_MOVE_DOXYGEN_INVOKED)
-         //! This function provides limited form of forwarding that is usually enough for
-         //! in-place construction and avoids the exponential overloading necessary for
-         //! perfect forwarding in C++03.
-         //!
-         //! For compilers with rvalue references this function provides perfect forwarding.
-         //!
-         //! Otherwise:
-         //! * If input_reference binds to const ::boost::rv<T> & then it output_reference is
-         //!   ::boost::rev<T> &
-         //!
-         //! * Else, input_reference is equal to output_reference is equal to input_reference.
-         template <class T> inline output_reference forward(input_reference);
-      #elif defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
-
-         //Old move approach, lvalues could bind to rvalue references
-
-         template <class T> inline
-         T&& forward (typename BOOST_MOVE_MPL_NS::identity<T>::type&& t)
-         {  return t;   }
-
-      #else //Old move
-
-         //Implementation #5 from N2951, thanks to Howard Hinnant
-
-         template <class T, class U>
-         inline T&& forward(U&& t
-             , typename BOOST_MOVE_BOOST_NS::enable_if_c<
-               move_detail::is_lvalue_reference<T>::value ? move_detail::is_lvalue_reference<U>::value : true>::type * = 0/*
-             , typename BOOST_MOVE_BOOST_NS::enable_if_c<
-               move_detail::is_convertible
-                  <typename remove_reference<U>::type*, typename remove_reference<T>::type*>::value>::type * = 0*/)
-         { return static_cast<T&&>(t);   }
-
-      #endif   //BOOST_MOVE_DOXYGEN_INVOKED
-
-      }  //namespace boost {
-
-   #endif   //#if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
-
-   //! This macro marks a type as movable but not copyable, disabling copy construction
-   //! and assignment. The user will need to write a move constructor/assignment as explained
-   //! in the documentation to fully write a movable but not copyable class.
-   #define BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\
-      public:\
-      typedef int boost_move_emulation_t;\
-      private:\
-      TYPE(const TYPE &);\
-      TYPE& operator=(const TYPE &);\
-   //
-
-   //! This macro marks a type as copyable and movable.
-   //! The user will need to write a move constructor/assignment and a copy assignment
-   //! as explained in the documentation to fully write a copyable and movable class.
-   #define BOOST_COPYABLE_AND_MOVABLE(TYPE)\
-   //
-
-   #define BOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\
-   //
-
-   //!This macro is used to achieve portable syntax in move
-   //!constructors and assignments for classes marked as
-   //!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE
-   #define BOOST_RV_REF(TYPE)\
-      TYPE && \
-   //
-
-   //!This macro is used to achieve portable syntax in copy
-   //!assignment for classes marked as BOOST_COPYABLE_AND_MOVABLE.
-   #define BOOST_COPY_ASSIGN_REF(TYPE)\
-      const TYPE & \
-   //
-
-   //! This macro is used to implement portable perfect forwarding
-   //! as explained in the documentation.
-   #define BOOST_FWD_REF(TYPE)\
-      TYPE && \
-   //
-
-
-   #if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-   /// @cond
-
-   #define BOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
-      TYPE<ARG1, ARG2> && \
-   //
-
-   #define BOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
-      TYPE<ARG1, ARG2, ARG3> && \
-   //
-
-   #define BOOST_COPY_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
-      const TYPE<ARG1, ARG2> & \
-   //
-
-   #define BOOST_COPY_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
-      TYPE<ARG1, ARG2, ARG3>& \
-   //
-
-   #define BOOST_CATCH_CONST_RLVALUE(TYPE)\
-      const TYPE & \
-   //
-
-   /// @endcond
-
-   #endif   //#if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-#endif   //BOOST_NO_RVALUE_REFERENCES
-
-namespace boost {
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                            move_iterator
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//! Class template move_iterator is an iterator adaptor with the same behavior
-//! as the underlying iterator except that its dereference operator implicitly
-//! converts the value returned by the underlying iterator's dereference operator
-//! to an rvalue reference. Some generic algorithms can be called with move
-//! iterators to replace copying with moving.
-template <class It>
-class move_iterator
-{
-   public:
-   typedef It                                                              iterator_type;
-   typedef typename std::iterator_traits<iterator_type>::value_type        value_type;
-   #if !defined(BOOST_NO_RVALUE_REFERENCES) || defined(BOOST_MOVE_DOXYGEN_INVOKED)
-   typedef value_type &&                                                   reference;
-   #else
-   typedef typename BOOST_MOVE_MPL_NS::if_
-      < ::boost::has_move_emulation_enabled<value_type>
-      , ::boost::rv<value_type>&
-      , value_type & >::type                                               reference;
-   #endif
-   typedef It                                                              pointer;
-   typedef typename std::iterator_traits<iterator_type>::difference_type   difference_type;
-   typedef typename std::iterator_traits<iterator_type>::iterator_category iterator_category;
-
-   move_iterator()
-   {}
-
-   explicit move_iterator(It i)
-      :  m_it(i)
-   {}
-
-   template <class U>
-   move_iterator(const move_iterator<U>& u)
-      :  m_it(u.base())
-   {}
-
-   iterator_type base() const
-   {  return m_it;   }
-
-   reference operator*() const
-   {
-      #if defined(BOOST_NO_RVALUE_REFERENCES) || defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
-      return *m_it;
-      #else
-      return ::boost::move(*m_it);
-      #endif
-   }
-
-   pointer   operator->() const
-   {  return m_it;   }
-
-   move_iterator& operator++()
-   {  ++m_it; return *this;   }
-
-   move_iterator<iterator_type>  operator++(int)
-   {  move_iterator<iterator_type> tmp(*this); ++(*this); return tmp;   }
-
-   move_iterator& operator--()
-   {  --m_it; return *this;   }
-
-   move_iterator<iterator_type>  operator--(int)
-   {  move_iterator<iterator_type> tmp(*this); --(*this); return tmp;   }
-
-   move_iterator<iterator_type>  operator+ (difference_type n) const
-   {  return move_iterator<iterator_type>(m_it + n);  }
-
-   move_iterator& operator+=(difference_type n)
-   {  m_it += n; return *this;   }
-
-   move_iterator<iterator_type>  operator- (difference_type n) const
-   {  return move_iterator<iterator_type>(m_it - n);  }
-
-   move_iterator& operator-=(difference_type n)
-   {  m_it -= n; return *this;   }
-
-   reference operator[](difference_type n) const
-   {
-      #if defined(BOOST_NO_RVALUE_REFERENCES) || defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
-      return m_it[n];
-      #else
-      return ::boost::move(m_it[n]);
-      #endif
-   }
-
-   friend bool operator==(const move_iterator& x, const move_iterator& y)
-   {  return x.base() == y.base();  }
-
-   friend bool operator!=(const move_iterator& x, const move_iterator& y)
-   {  return x.base() != y.base();  }
-
-   friend bool operator< (const move_iterator& x, const move_iterator& y)
-   {  return x.base() < y.base();   }
-
-   friend bool operator<=(const move_iterator& x, const move_iterator& y)
-   {  return x.base() <= y.base();  }
-
-   friend bool operator> (const move_iterator& x, const move_iterator& y)
-   {  return x.base() > y.base();  }
-
-   friend bool operator>=(const move_iterator& x, const move_iterator& y)
-   {  return x.base() >= y.base();  }
-
-   friend difference_type operator-(const move_iterator& x, const move_iterator& y)
-   {  return x.base() - y.base();   }
-
-   friend move_iterator operator+(difference_type n, const move_iterator& x)
-   {  return move_iterator(x.base() + n);   }
-
-   private:
-   It m_it;
-};
-
-
-//is_move_iterator
-namespace move_detail {
-
-template <class I>
-struct is_move_iterator
-   : public BOOST_MOVE_BOOST_NS::integral_constant<bool, false>
-{
-};
-
-template <class I>
-struct is_move_iterator< ::boost::move_iterator<I> >
-   : public BOOST_MOVE_BOOST_NS::integral_constant<bool, true>
-{
-};
-
-}  //namespace move_detail {
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                            move_iterator
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//!
-//! <b>Returns</b>: move_iterator<It>(i).
-template<class It>
-move_iterator<It> make_move_iterator(const It &it)
-{  return move_iterator<It>(it); }
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                         back_move_insert_iterator
-//
-//////////////////////////////////////////////////////////////////////////////
-
-
-//! A move insert iterator that move constructs elements at the
-//! back of a container
-template <typename C> // C models Container
-class back_move_insert_iterator
-   : public std::iterator<std::output_iterator_tag, void, void, void, void>
-{
-   C* container_m;
-
-   public:
-   typedef C container_type;
-
-   explicit back_move_insert_iterator(C& x) : container_m(&x) { }
-
-   back_move_insert_iterator& operator=(typename C::reference x)
-   { container_m->push_back(boost::move(x)); return *this; }
-
-   back_move_insert_iterator& operator*()     { return *this; }
-   back_move_insert_iterator& operator++()    { return *this; }
-   back_move_insert_iterator& operator++(int) { return *this; }
-};
-
-//!
-//! <b>Returns</b>: back_move_insert_iterator<C>(x).
-template <typename C> // C models Container
-inline back_move_insert_iterator<C> back_move_inserter(C& x)
-{
-   return back_move_insert_iterator<C>(x);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                         front_move_insert_iterator
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//! A move insert iterator that move constructs elements int the
-//! front of a container
-template <typename C> // C models Container
-class front_move_insert_iterator
-   : public std::iterator<std::output_iterator_tag, void, void, void, void>
-{
-   C* container_m;
-
-public:
-   typedef C container_type;
-
-   explicit front_move_insert_iterator(C& x) : container_m(&x) { }
-
-   front_move_insert_iterator& operator=(typename C::reference x)
-   { container_m->push_front(boost::move(x)); return *this; }
-
-   front_move_insert_iterator& operator*()     { return *this; }
-   front_move_insert_iterator& operator++()    { return *this; }
-   front_move_insert_iterator& operator++(int) { return *this; }
-};
-
-//!
-//! <b>Returns</b>: front_move_insert_iterator<C>(x).
-template <typename C> // C models Container
-inline front_move_insert_iterator<C> front_move_inserter(C& x)
-{
-   return front_move_insert_iterator<C>(x);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                         insert_move_iterator
-//
-//////////////////////////////////////////////////////////////////////////////
-template <typename C> // C models Container
-class move_insert_iterator
-   : public std::iterator<std::output_iterator_tag, void, void, void, void>
-{
-   C* container_m;
-   typename C::iterator pos_;
-
-   public:
-   typedef C container_type;
-
-   explicit move_insert_iterator(C& x, typename C::iterator pos)
-      : container_m(&x), pos_(pos)
-   {}
-
-   move_insert_iterator& operator=(typename C::reference x)
-   {
-      pos_ = container_m->insert(pos_, ::boost::move(x));
-      ++pos_;
-      return *this;
-   }
-
-   move_insert_iterator& operator*()     { return *this; }
-   move_insert_iterator& operator++()    { return *this; }
-   move_insert_iterator& operator++(int) { return *this; }
-};
-
-//!
-//! <b>Returns</b>: move_insert_iterator<C>(x, it).
-template <typename C> // C models Container
-inline move_insert_iterator<C> move_inserter(C& x, typename C::iterator it)
-{
-   return move_insert_iterator<C>(x, it);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                               move
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#if !defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
-
-   //! <b>Effects</b>: Moves elements in the range [first,last) into the range [result,result + (last -
-   //!   first)) starting from first and proceeding to last. For each non-negative integer n < (last-first),
-   //!   performs *(result + n) = ::boost::move (*(first + n)).
-   //!
-   //! <b>Effects</b>: result + (last - first).
-   //!
-   //! <b>Requires</b>: result shall not be in the range [first,last).
-   //!
-   //! <b>Complexity</b>: Exactly last - first move assignments.
-   template <typename I, // I models InputIterator
-            typename O> // O models OutputIterator
-   O move(I f, I l, O result)
-   {
-      while (f != l) {
-         *result = ::boost::move(*f);
-         ++f; ++result;
-      }
-      return result;
-   }
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                               move_backward
-   //
-   //////////////////////////////////////////////////////////////////////////////
-
-   //! <b>Effects</b>: Moves elements in the range [first,last) into the range
-   //!   [result - (last-first),result) starting from last - 1 and proceeding to
-   //!   first. For each positive integer n <= (last - first),
-   //!   performs *(result - n) = ::boost::move(*(last - n)).
-   //!
-   //! <b>Requires</b>: result shall not be in the range [first,last).
-   //!
-   //! <b>Returns</b>: result - (last - first).
-   //!
-   //! <b>Complexity</b>: Exactly last - first assignments.
-   template <typename I, // I models BidirectionalIterator
-   typename O> // O models BidirectionalIterator
-   O move_backward(I f, I l, O result)
-   {
-      while (f != l) {
-         --l; --result;
-         *result = ::boost::move(*l);
-      }
-      return result;
-   }
-
-#endif   //!defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                               uninitialized_move
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//! <b>Effects</b>:
-//!   \code
-//!   for (; first != last; ++result, ++first)
-//!      new (static_cast<void*>(&*result))
-//!         typename iterator_traits<ForwardIterator>::value_type(boost::move(*first));
-//!   \endcode
-//!
-//! <b>Returns</b>: result
-template
-   <typename I, // I models InputIterator
-    typename F> // F models ForwardIterator
-F uninitialized_move(I f, I l, F r
-   /// @cond
-//   ,typename BOOST_MOVE_BOOST_NS::enable_if<has_move_emulation_enabled<typename std::iterator_traits<I>::value_type> >::type* = 0
-   /// @endcond
-   )
-{
-   typedef typename std::iterator_traits<I>::value_type input_value_type;
-   while (f != l) {
-      ::new(static_cast<void*>(&*r)) input_value_type(boost::move(*f));
-      ++f; ++r;
-   }
-   return r;
-}
-
-/// @cond
-/*
-template
-   <typename I,   // I models InputIterator
-    typename F>   // F models ForwardIterator
-F uninitialized_move(I f, I l, F r,
-   typename BOOST_MOVE_BOOST_NS::disable_if<has_move_emulation_enabled<typename std::iterator_traits<I>::value_type> >::type* = 0)
-{
-   return std::uninitialized_copy(f, l, r);
-}
-*/
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                            uninitialized_copy_or_move
-//
-//////////////////////////////////////////////////////////////////////////////
-
-namespace move_detail {
-
-template
-<typename I,   // I models InputIterator
-typename F>   // F models ForwardIterator
-F uninitialized_move_move_iterator(I f, I l, F r
-//                             ,typename BOOST_MOVE_BOOST_NS::enable_if< has_move_emulation_enabled<typename I::value_type> >::type* = 0
-)
-{
-   return ::boost::uninitialized_move(f, l, r);
-}
-/*
-template
-<typename I,   // I models InputIterator
-typename F>   // F models ForwardIterator
-F uninitialized_move_move_iterator(I f, I l, F r,
-                                   typename BOOST_MOVE_BOOST_NS::disable_if< has_move_emulation_enabled<typename I::value_type> >::type* = 0)
-{
-   return std::uninitialized_copy(f.base(), l.base(), r);
-}
-*/
-}  //namespace move_detail {
-
-template
-<typename I,   // I models InputIterator
-typename F>   // F models ForwardIterator
-F uninitialized_copy_or_move(I f, I l, F r,
-                             typename BOOST_MOVE_BOOST_NS::enable_if< move_detail::is_move_iterator<I> >::type* = 0)
-{
-   return ::boost::move_detail::uninitialized_move_move_iterator(f, l, r);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                            copy_or_move
-//
-//////////////////////////////////////////////////////////////////////////////
-
-namespace move_detail {
-
-template
-<typename I,   // I models InputIterator
-typename F>   // F models ForwardIterator
-F move_move_iterator(I f, I l, F r
-//                             ,typename BOOST_MOVE_BOOST_NS::enable_if< has_move_emulation_enabled<typename I::value_type> >::type* = 0
-)
-{
-   return ::boost::move(f, l, r);
-}
-/*
-template
-<typename I,   // I models InputIterator
-typename F>   // F models ForwardIterator
-F move_move_iterator(I f, I l, F r,
-                                   typename BOOST_MOVE_BOOST_NS::disable_if< has_move_emulation_enabled<typename I::value_type> >::type* = 0)
-{
-   return std::copy(f.base(), l.base(), r);
-}
-*/
-
-}  //namespace move_detail {
-
-template
-<typename I,   // I models InputIterator
-typename F>   // F models ForwardIterator
-F copy_or_move(I f, I l, F r,
-                             typename BOOST_MOVE_BOOST_NS::enable_if< move_detail::is_move_iterator<I> >::type* = 0)
-{
-   return ::boost::move_detail::move_move_iterator(f, l, r);
-}
-
-/// @endcond
-
-//! <b>Effects</b>:
-//!   \code
-//!   for (; first != last; ++result, ++first)
-//!      new (static_cast<void*>(&*result))
-//!         typename iterator_traits<ForwardIterator>::value_type(*first);
-//!   \endcode
-//!
-//! <b>Returns</b>: result
-//!
-//! <b>Note</b>: This function is provided because
-//!   <i>std::uninitialized_copy</i> from some STL implementations
-//!    is not compatible with <i>move_iterator</i>
-template
-<typename I,   // I models InputIterator
-typename F>   // F models ForwardIterator
-F uninitialized_copy_or_move(I f, I l, F r
-   /// @cond
-   ,typename BOOST_MOVE_BOOST_NS::disable_if< move_detail::is_move_iterator<I> >::type* = 0
-   /// @endcond
-   )
-{
-   return std::uninitialized_copy(f, l, r);
-}
-
-//! <b>Effects</b>:
-//!   \code
-//!   for (; first != last; ++result, ++first)
-//!      *result = *first;
-//!   \endcode
-//!
-//! <b>Returns</b>: result
-//!
-//! <b>Note</b>: This function is provided because
-//!   <i>std::uninitialized_copy</i> from some STL implementations
-//!    is not compatible with <i>move_iterator</i>
-template
-<typename I,   // I models InputIterator
-typename F>   // F models ForwardIterator
-F copy_or_move(I f, I l, F r
-   /// @cond
-   ,typename BOOST_MOVE_BOOST_NS::disable_if< move_detail::is_move_iterator<I> >::type* = 0
-   /// @endcond
-   )
-{
-   return std::copy(f, l, r);
-}
-
-//! If this trait yields to true
-//! (<i>has_trivial_destructor_after_move <T>::value == true</i>)
-//! means that if T is used as argument of a move construction/assignment,
-//! there is no need to call T's destructor.
-//! This optimization tipically is used to improve containers' performance.
-//!
-//! By default this trait is true if the type has trivial destructor,
-//! every class should specialize this trait if it wants to improve performance
-//! when inserted in containers.
-template <class T>
-struct has_trivial_destructor_after_move
-   : BOOST_MOVE_BOOST_NS::has_trivial_destructor<T>
-{};
-
-}  //namespace boost {
-
-#if defined BOOST_MSVC
-   #pragma warning (pop)
-   #ifdef BOOST_INTERPROCESS_CRT_SECURE_NO_DEPRECATE
-   #undef BOOST_INTERPROCESS_CRT_SECURE_NO_DEPRECATE
-   #undef _CRT_SECURE_NO_DEPRECATE
-   #undef _SCL_SECURE_NO_WARNINGS
-   #endif
-#endif
-
-#endif //#ifndef BOOST_MOVE_MOVE_HPP
diff --git a/SRC/Boost/boost/mpl/O1_size.hpp b/SRC/Boost/boost/mpl/O1_size.hpp
deleted file mode 100755
index 42731c5..0000000
--- a/SRC/Boost/boost/mpl/O1_size.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_O1_SIZE_HPP_INCLUDED
-#define BOOST_MPL_O1_SIZE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/O1_size_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/O1_size_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-// returns sequence size if it's an O(1) operation; otherwise returns -1
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct O1_size
-    : O1_size_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, O1_size, (Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, O1_size)
-
-}}
-
-#endif // BOOST_MPL_O1_SIZE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/O1_size_fwd.hpp b/SRC/Boost/boost/mpl/O1_size_fwd.hpp
deleted file mode 100755
index c6ae231..0000000
--- a/SRC/Boost/boost/mpl/O1_size_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED
-#define BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: O1_size_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct O1_size_impl;
-template< typename Sequence > struct O1_size;
-
-}}
-
-#endif // BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/advance.hpp b/SRC/Boost/boost/mpl/advance.hpp
deleted file mode 100755
index 8d9913d..0000000
--- a/SRC/Boost/boost/mpl/advance.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-
-#ifndef BOOST_MPL_ADVANCE_HPP_INCLUDED
-#define BOOST_MPL_ADVANCE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: advance.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/advance_fwd.hpp>
-#include <boost/mpl/less.hpp>
-#include <boost/mpl/negate.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/tag.hpp>
-#include <boost/mpl/apply_wrap.hpp>
-#include <boost/mpl/aux_/advance_forward.hpp>
-#include <boost/mpl/aux_/advance_backward.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation for forward/bidirectional iterators
-template< typename Tag >
-struct advance_impl
-{
-    template< typename Iterator, typename N > struct apply
-    {
-        typedef typename less< N,long_<0> >::type backward_;
-        typedef typename if_< backward_, negate<N>, N >::type offset_;
-
-        typedef typename if_<
-              backward_
-            , aux::advance_backward< BOOST_MPL_AUX_VALUE_WKND(offset_)::value >
-            , aux::advance_forward< BOOST_MPL_AUX_VALUE_WKND(offset_)::value >
-            >::type f_;
-
-        typedef typename apply_wrap1<f_,Iterator>::type type;
-    };
-};
-
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Iterator)
-    , typename BOOST_MPL_AUX_NA_PARAM(N)
-    >
-struct advance
-    : advance_impl< typename tag<Iterator>::type >
-        ::template apply<Iterator,N>
-{
-};
-
-template<
-      typename Iterator
-    , BOOST_MPL_AUX_NTTP_DECL(long, N)
-    >
-struct advance_c
-    : advance_impl< typename tag<Iterator>::type >
-        ::template apply<Iterator,long_<N> >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, advance)
-
-}}
-
-#endif // BOOST_MPL_ADVANCE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/advance_fwd.hpp b/SRC/Boost/boost/mpl/advance_fwd.hpp
deleted file mode 100755
index 10b3e0c..0000000
--- a/SRC/Boost/boost/mpl/advance_fwd.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED
-#define BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: advance_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/common_name_wknd.hpp>
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_COMMON_NAME_WKND(advance)
-
-template< typename Tag > struct advance_impl;
-template< typename Iterator, typename N > struct advance;
-
-}}
-
-#endif // BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/always.hpp b/SRC/Boost/boost/mpl/always.hpp
deleted file mode 100755
index 21432e9..0000000
--- a/SRC/Boost/boost/mpl/always.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_ALWAYS_HPP_INCLUDED
-#define BOOST_MPL_ALWAYS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: always.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/arity_spec.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Value > struct always
-{
-    template<
-          typename T
-        BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(1, typename T, na)
-        >
-    struct apply
-    {
-        typedef Value type;
-    };
-};
-
-BOOST_MPL_AUX_ARITY_SPEC(1, always)
-
-}}
-
-#endif // BOOST_MPL_ALWAYS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/and.hpp b/SRC/Boost/boost/mpl/and.hpp
deleted file mode 100755
index bda8b63..0000000
--- a/SRC/Boost/boost/mpl/and.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-
-#ifndef BOOST_MPL_AND_HPP_INCLUDED
-#define BOOST_MPL_AND_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: and.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   include <boost/mpl/bool.hpp>
-#   include <boost/mpl/aux_/nested_type_wknd.hpp>
-#   include <boost/mpl/aux_/na_spec.hpp>
-#   include <boost/mpl/aux_/lambda_support.hpp>
-
-// agurt, 19/may/04: workaround a conflict with <iso646.h> header's 
-// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(and)'
-// has to be checked in a separate condition, otherwise GCC complains 
-// about 'and' being an alternative token
-#if defined(_MSC_VER) 
-#ifndef __GCCXML__
-#if defined(and) 
-#   pragma push_macro("and")
-#   undef and
-#   define and(x)
-#endif
-#endif
-#endif
-
-#   define BOOST_MPL_PREPROCESSED_HEADER and.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#if defined(_MSC_VER)
-#ifndef __GCCXML__
-#if defined(and) 
-#   pragma pop_macro("and")
-#endif
-#endif
-#endif
-
-#else
-
-#   define AUX778076_OP_NAME and_
-#   define AUX778076_OP_VALUE1 false
-#   define AUX778076_OP_VALUE2 true
-#   include <boost/mpl/aux_/logical_op.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AND_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/apply.hpp b/SRC/Boost/boost/mpl/apply.hpp
deleted file mode 100755
index 600bdd7..0000000
--- a/SRC/Boost/boost/mpl/apply.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_APPLY_HPP_INCLUDED
-#define BOOST_MPL_APPLY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/apply_fwd.hpp>
-#   include <boost/mpl/apply_wrap.hpp>
-#   include <boost/mpl/placeholders.hpp>
-#   include <boost/mpl/lambda.hpp>
-#   include <boost/mpl/aux_/na.hpp>
-#   include <boost/mpl/aux_/lambda_support.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER apply.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-#   include <boost/mpl/aux_/preprocessor/default_params.hpp>
-#   include <boost/mpl/aux_/preprocessor/partial_spec_params.hpp>
-#   include <boost/mpl/aux_/preprocessor/enum.hpp>
-#   include <boost/mpl/aux_/config/lambda.hpp>
-#   include <boost/mpl/aux_/config/dtp.hpp>
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-#   include <boost/mpl/aux_/config/eti.hpp>
-#   include <boost/mpl/aux_/config/msvc.hpp>
-#   include <boost/mpl/aux_/config/workaround.hpp>
-
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-// local macros, #undef-ined at the end of the header
-#   define AUX778076_APPLY_PARAMS(param) \
-    BOOST_MPL_PP_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
-        , param \
-        ) \
-    /**/
-
-#   define AUX778076_APPLY_DEF_PARAMS(param, value) \
-    BOOST_MPL_PP_DEFAULT_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
-        , param \
-        , value \
-        ) \
-    /**/
-
-#   define AUX778076_APPLY_N_PARAMS(n, param) \
-    BOOST_MPL_PP_PARAMS(n, param) \
-    /**/
-
-#   define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \
-    BOOST_PP_COMMA_IF(n) \
-    BOOST_MPL_PP_PARAMS(n, param) \
-    /**/
-
-#   define AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS(n, param, def) \
-    BOOST_PP_COMMA_IF(n) \
-    BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \
-    /**/
-    
-#   define AUX778076_APPLY_N_SPEC_PARAMS(n, param) \
-    BOOST_MPL_PP_ENUM(BOOST_PP_INC(n), param) \
-    /**/
-
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/apply.hpp>))
-#include BOOST_PP_ITERATE()
-
-#   if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
-// real C++ version is already taken care of
-#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-namespace aux {
-// apply_count_args
-#define AUX778076_COUNT_ARGS_PREFIX apply
-#define AUX778076_COUNT_ARGS_DEFAULT na
-#define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-#include <boost/mpl/aux_/count_args.hpp>
-}
-
-
-template<
-      typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na)
-    >
-struct apply
-    : aux::apply_chooser< 
-          aux::apply_count_args< AUX778076_APPLY_PARAMS(T) >::value
-        >::template result_< F, AUX778076_APPLY_PARAMS(T) >::type
-{
-};
-
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE
-
-#   undef AUX778076_APPLY_N_SPEC_PARAMS
-#   undef AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS
-#   undef AUX778076_APPLY_N_COMMA_PARAMS
-#   undef AUX778076_APPLY_N_PARAMS
-#   undef AUX778076_APPLY_DEF_PARAMS
-#   undef AUX778076_APPLY_PARAMS
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_APPLY_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-
-#   define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
-      typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
-    >
-struct BOOST_PP_CAT(apply,i_)
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    : BOOST_PP_CAT(apply_wrap,i_)< 
-          typename lambda<F>::type
-        AUX778076_APPLY_N_COMMA_PARAMS(i_, T)
-        >
-{
-#else
-{
-    typedef typename BOOST_PP_CAT(apply_wrap,i_)< 
-          typename lambda<F>::type
-        AUX778076_APPLY_N_COMMA_PARAMS(i_, T)
-        >::type type;
-#endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          BOOST_PP_INC(i_)
-        , BOOST_PP_CAT(apply,i_)
-        , (F AUX778076_APPLY_N_COMMA_PARAMS(i_,T))
-        )
-};
-
-
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-/// workaround for ETI bug
-template<>
-struct BOOST_PP_CAT(apply,i_)<AUX778076_APPLY_N_SPEC_PARAMS(i_, int)>
-{
-    typedef int type;
-};
-#endif
-
-#   if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-#if i_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-/// primary template (not a specialization!)
-template<
-      typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
-    >
-struct apply
-    : BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) >
-{
-};
-#else
-template<
-      typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
-    >
-struct apply< F AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS(i_, T, na) >
-    : BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) >
-{
-};
-#endif
-
-#   else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
-namespace aux {
-
-template<>
-struct apply_chooser<i_>
-{
-    template<
-          typename F, AUX778076_APPLY_PARAMS(typename T)
-        >
-    struct result_
-    {
-        typedef BOOST_PP_CAT(apply,i_)<
-              F AUX778076_APPLY_N_COMMA_PARAMS(i_, T)
-            > type;
-    };
-};
-
-} // namespace aux
-#endif
-
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE
-
-#   undef i_
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/apply_fwd.hpp b/SRC/Boost/boost/mpl/apply_fwd.hpp
deleted file mode 100755
index 4b30c9a..0000000
--- a/SRC/Boost/boost/mpl/apply_fwd.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_APPLY_FWD_HPP_INCLUDED
-#define BOOST_MPL_APPLY_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: apply_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/aux_/na.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER apply_fwd.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-#   include <boost/mpl/aux_/preprocessor/default_params.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-// agurt, 15/jan/02: top-level 'apply' template gives an ICE on MSVC
-// (for known reasons)
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-#   define BOOST_MPL_CFG_NO_APPLY_TEMPLATE
-#endif
-
-namespace boost { namespace mpl {
-
-// local macro, #undef-ined at the end of the header
-#   define AUX778076_APPLY_DEF_PARAMS(param, value) \
-    BOOST_MPL_PP_DEFAULT_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
-        , param \
-        , value \
-        ) \
-    /**/
-
-#   define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \
-    BOOST_PP_COMMA_IF(n) \
-    BOOST_MPL_PP_PARAMS(n, param) \
-    /**/
-
-#   if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-// forward declaration
-template<
-      typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na)
-    >
-struct apply;
-#else
-namespace aux {
-template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser;
-}
-#endif
-
-#   endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/apply_fwd.hpp>))
-#include BOOST_PP_ITERATE()
-
-
-#   undef AUX778076_APPLY_N_COMMA_PARAMS
-#   undef AUX778076_APPLY_DEF_PARAMS
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_APPLY_FWD_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
-      typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
-    >
-struct BOOST_PP_CAT(apply,i_);
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/apply_wrap.hpp b/SRC/Boost/boost/mpl/apply_wrap.hpp
deleted file mode 100755
index 6afd6cd..0000000
--- a/SRC/Boost/boost/mpl/apply_wrap.hpp
+++ /dev/null
@@ -1,234 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_APPLY_WRAP_HPP_INCLUDED
-#define BOOST_MPL_APPLY_WRAP_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: apply_wrap.hpp 49272 2008-10-11 06:50:46Z agurtovoy $
-// $Date: 2008-10-11 02:50:46 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49272 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/aux_/arity.hpp>
-#   include <boost/mpl/aux_/has_apply.hpp>
-#   include <boost/mpl/aux_/na.hpp>
-#   include <boost/mpl/aux_/msvc_never_true.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER apply_wrap.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-#   include <boost/mpl/aux_/preprocessor/enum.hpp>
-#   include <boost/mpl/aux_/preprocessor/add.hpp>
-#   include <boost/mpl/aux_/config/bcc.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/mpl/aux_/config/dtp.hpp>
-#   include <boost/mpl/aux_/config/eti.hpp>
-#   include <boost/mpl/aux_/config/msvc.hpp>
-#   include <boost/mpl/aux_/config/workaround.hpp>
-
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/logical/and.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-
-
-namespace boost { namespace mpl {
-
-// local macros, #undef-ined at the end of the header
-#   define AUX778076_APPLY_WRAP_PARAMS(n, param) \
-    BOOST_MPL_PP_PARAMS(n, param) \
-    /**/
-
-#   define AUX778076_APPLY_WRAP_SPEC_PARAMS(n, param) \
-    BOOST_MPL_PP_ENUM(BOOST_PP_INC(n), param) \
-    /**/
-
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/apply_wrap.hpp>))
-#include BOOST_PP_ITERATE()
-
-
-#   undef AUX778076_APPLY_WRAP_SPEC_PARAMS
-#   undef AUX778076_APPLY_WRAP_PARAMS
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_APPLY_WRAP_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-
-#   define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#   if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-// MSVC version
-
-#define AUX778076_MSVC_DTW_NAME BOOST_PP_CAT(msvc_apply,i_)
-#define AUX778076_MSVC_DTW_ORIGINAL_NAME apply
-#define AUX778076_MSVC_DTW_ARITY i_
-#include <boost/mpl/aux_/msvc_dtw.hpp>
-
-template<
-      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
-    >
-struct BOOST_PP_CAT(apply_wrap,i_)
-{
-    // Metafunction forwarding confuses vc6
-    typedef typename BOOST_PP_CAT(msvc_apply,i_)<F>::template result_<
-          AUX778076_APPLY_WRAP_PARAMS(i_, T)
-        >::type type;
-};
-
-#   elif defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-// MWCW/Borland version
-
-template<
-      int N, typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
-    >
-struct BOOST_PP_CAT(apply_wrap_impl,i_);
-
-#define BOOST_PP_ITERATION_PARAMS_2 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY - i_, <boost/mpl/apply_wrap.hpp>))
-#include BOOST_PP_ITERATE()
-
-template<
-      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
-    >
-struct BOOST_PP_CAT(apply_wrap,i_)
-    : BOOST_PP_CAT(apply_wrap_impl,i_)<
-          ::boost::mpl::aux::arity<F,i_>::value
-        , F
-        BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
-        >::type
-{
-};
-
-#   else
-// ISO98 C++, with minor concession to vc7
-
-template<
-      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
-#if i_ == 0
-    , typename has_apply_ = typename aux::has_apply<F>::type
-#endif
-    >
-struct BOOST_PP_CAT(apply_wrap,i_)
-// metafunction forwarding confuses MSVC 7.0
-#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-    : F::template apply< AUX778076_APPLY_WRAP_PARAMS(i_, T) >
-{
-#else
-{    
-    typedef typename F::template apply<
-         AUX778076_APPLY_WRAP_PARAMS(i_, T)
-        >::type type;
-#endif
-};
-
-#if i_ == 0 && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-template< typename F >
-struct BOOST_PP_CAT(apply_wrap,i_)<F,true_>
-    : F::apply
-{
-};
-#endif
-
-#   endif // workarounds
-
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-/// workaround for ETI bug
-template<>
-struct BOOST_PP_CAT(apply_wrap,i_)<AUX778076_APPLY_WRAP_SPEC_PARAMS(i_, int)>
-{
-    typedef int type;
-};
-#endif
-
-#   undef i_
-
-///// iteration, depth == 2
-
-#elif BOOST_PP_ITERATION_DEPTH() == 2
-
-#   define j_ BOOST_PP_FRAME_ITERATION(2)
-
-#if i_ == 0 && j_ == 0 \
-    && defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \
-    && !defined(BOOST_MPL_CFG_NO_HAS_APPLY)
-
-template< typename F, bool F_has_apply >
-struct apply_wrap_impl0_bcb {
-    typedef typename F::template apply< na > type;
-};
-
-template< typename F >
-struct apply_wrap_impl0_bcb< F, true > {
-    typedef typename F::apply type;
-};
-
-template<
-      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
-    >
-struct BOOST_PP_CAT(apply_wrap_impl,i_)<
-          BOOST_MPL_PP_ADD(i_, j_)
-        , F
-        BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
-        >
-{
-    typedef apply_wrap_impl0_bcb< F, aux::has_apply< F >::value >::type type;
-};
-#else
-
-template<
-      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
-    >
-struct BOOST_PP_CAT(apply_wrap_impl,i_)<
-          BOOST_MPL_PP_ADD(i_, j_)
-        , F
-        BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
-        >
-{
-    typedef typename F::template apply<
-          AUX778076_APPLY_WRAP_PARAMS(i_, T)
-#if i_ == 0 && j_ == 0
-/// since the defaults are "lost", we have to pass *something* even for nullary
-/// metafunction classes
-        na
-#else
-        BOOST_PP_COMMA_IF(BOOST_PP_AND(i_, j_)) BOOST_MPL_PP_ENUM(j_, na)
-#endif
-        > type;
-};
-
-#endif
-
-#   undef j_
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/arg.hpp b/SRC/Boost/boost/mpl/arg.hpp
deleted file mode 100755
index 79b8a43..0000000
--- a/SRC/Boost/boost/mpl/arg.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_ARG_HPP_INCLUDED
-#define BOOST_MPL_ARG_HPP_INCLUDED
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: arg.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/arg_fwd.hpp>
-#   include <boost/mpl/aux_/na.hpp>
-#   include <boost/mpl/aux_/na_assert.hpp>
-#   include <boost/mpl/aux_/arity_spec.hpp>
-#   include <boost/mpl/aux_/arg_typedef.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER arg.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/mpl/aux_/preprocessor/default_params.hpp>
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-#   include <boost/mpl/aux_/config/lambda.hpp>
-#   include <boost/mpl/aux_/config/dtp.hpp>
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-// local macro, #undef-ined at the end of the header
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-#   define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \
-    BOOST_MPL_PP_DEFAULT_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
-        , param \
-        , value \
-        ) \
-    /**/
-#else
-#   define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \
-    BOOST_MPL_PP_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
-        , param \
-        ) \
-    /**/
-#endif
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/arg.hpp>))
-#include BOOST_PP_ITERATE()
-
-
-#   undef AUX778076_ARG_N_DEFAULT_PARAMS
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int,arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_ARG_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#if i_ > 0
-
-template<> struct arg<i_>
-{
-    BOOST_STATIC_CONSTANT(int, value = i_);
-    typedef arg<BOOST_PP_INC(i_)> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na)
-        >
-    struct apply
-    {
-        typedef BOOST_PP_CAT(U,i_) type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-#else
-
-template<> struct arg<-1>
-{
-    BOOST_STATIC_CONSTANT(int, value = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na)
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-#endif // i_ > 0
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/arg_fwd.hpp b/SRC/Boost/boost/mpl/arg_fwd.hpp
deleted file mode 100755
index 8fae048..0000000
--- a/SRC/Boost/boost/mpl/arg_fwd.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef BOOST_MPL_ARG_FWD_HPP_INCLUDED
-#define BOOST_MPL_ARG_FWD_HPP_INCLUDED
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: arg_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arg;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(arg)
-
-#endif // BOOST_MPL_ARG_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/assert.hpp b/SRC/Boost/boost/mpl/assert.hpp
deleted file mode 100755
index a20b232..0000000
--- a/SRC/Boost/boost/mpl/assert.hpp
+++ /dev/null
@@ -1,370 +0,0 @@
-
-#ifndef BOOST_MPL_ASSERT_HPP_INCLUDED
-#define BOOST_MPL_ASSERT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2006
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: assert.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/nested_type_wknd.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/adl_barrier.hpp>
-
-#include <boost/mpl/aux_/config/nttp.hpp>
-#include <boost/mpl/aux_/config/dtp.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/pp_counter.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/preprocessor/cat.hpp>
-
-#include <boost/config.hpp> // make sure 'size_t' is placed into 'std'
-#include <cstddef>
-
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-    || (BOOST_MPL_CFG_GCC != 0) \
-    || BOOST_WORKAROUND(__IBMCPP__, <= 600)
-#   define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
-#endif
-
-#if BOOST_WORKAROUND(__MWERKS__, < 0x3202) \
-    || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-    || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-#   define BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
-#endif
-
-// agurt, 10/nov/06: use enums for Borland (which cannot cope with static constants) 
-// and GCC (which issues "unused variable" warnings when static constants are used 
-// at a function scope)
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-    || (BOOST_MPL_CFG_GCC != 0)
-#   define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr }
-#else
-#   define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) BOOST_STATIC_CONSTANT(T, expr)
-#endif
-
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-struct failed {};
-
-// agurt, 24/aug/04: MSVC 7.1 workaround here and below: return/accept 
-// 'assert<false>' by reference; can't apply it unconditionally -- apparently it
-// degrades the quality of GCC diagnostics
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-#   define AUX778076_ASSERT_ARG(x) x&
-#else
-#   define AUX778076_ASSERT_ARG(x) x
-#endif
-
-template< bool C >  struct assert        { typedef void* type; };
-template<>          struct assert<false> { typedef AUX778076_ASSERT_ARG(assert) type; };
-
-template< bool C >
-int assertion_failed( typename assert<C>::type );
-
-template< bool C >
-struct assertion
-{
-    static int failed( assert<false> );
-};
-
-template<>
-struct assertion<true>
-{
-    static int failed( void* );
-};
-
-struct assert_
-{
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-    template< typename T1, typename T2 = na, typename T3 = na, typename T4 = na > struct types {};
-#endif
-    static assert_ const arg;
-    enum relations { equal = 1, not_equal, greater, greater_equal, less, less_equal };
-};
-
-
-#if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)
-
-bool operator==( failed, failed );
-bool operator!=( failed, failed );
-bool operator>( failed, failed );
-bool operator>=( failed, failed );
-bool operator<( failed, failed );
-bool operator<=( failed, failed );
-
-#if defined(__EDG_VERSION__)
-template< bool (*)(failed, failed), long x, long y > struct assert_relation {};
-#   define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation<r,x,y>
-#else
-template< BOOST_MPL_AUX_NTTP_DECL(long, x), BOOST_MPL_AUX_NTTP_DECL(long, y), bool (*)(failed, failed) > 
-struct assert_relation {};
-#   define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation<x,y,r>
-#endif
-
-#else // BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
-
-boost::mpl::aux::weighted_tag<1>::type operator==( assert_, assert_ );
-boost::mpl::aux::weighted_tag<2>::type operator!=( assert_, assert_ );
-boost::mpl::aux::weighted_tag<3>::type operator>(  assert_, assert_ );
-boost::mpl::aux::weighted_tag<4>::type operator>=( assert_, assert_ );
-boost::mpl::aux::weighted_tag<5>::type operator<( assert_, assert_ );
-boost::mpl::aux::weighted_tag<6>::type operator<=( assert_, assert_ );
-
-template< assert_::relations r, long x, long y > struct assert_relation {};
-
-#endif 
-
-
-#if !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)
-
-template< bool > struct assert_arg_pred_impl { typedef int type; };
-template<> struct assert_arg_pred_impl<true> { typedef void* type; };
-
-template< typename P > struct assert_arg_pred
-{
-    typedef typename P::type p_type;
-    typedef typename assert_arg_pred_impl< p_type::value >::type type;
-};
-
-template< typename P > struct assert_arg_pred_not
-{
-    typedef typename P::type p_type;
-    BOOST_MPL_AUX_ASSERT_CONSTANT( bool, p = !p_type::value );
-    typedef typename assert_arg_pred_impl<p>::type type;
-};
-
-template< typename Pred >
-failed ************ (Pred::************ 
-      assert_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type )
-    );
-
-template< typename Pred >
-failed ************ (boost::mpl::not_<Pred>::************ 
-      assert_not_arg( void (*)(Pred), typename assert_arg_pred_not<Pred>::type )
-    );
-
-template< typename Pred >
-AUX778076_ASSERT_ARG(assert<false>)
-assert_arg( void (*)(Pred), typename assert_arg_pred_not<Pred>::type );
-
-template< typename Pred >
-AUX778076_ASSERT_ARG(assert<false>)
-assert_not_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type );
-
-
-#else // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
-        
-template< bool c, typename Pred > struct assert_arg_type_impl
-{
-    typedef failed      ************ Pred::* mwcw83_wknd;
-    typedef mwcw83_wknd ************* type;
-};
-
-template< typename Pred > struct assert_arg_type_impl<true,Pred>
-{
-    typedef AUX778076_ASSERT_ARG(assert<false>) type;
-};
-
-template< typename Pred > struct assert_arg_type
-    : assert_arg_type_impl< BOOST_MPL_AUX_VALUE_WKND(BOOST_MPL_AUX_NESTED_TYPE_WKND(Pred))::value, Pred >
-{
-};
-
-template< typename Pred >
-typename assert_arg_type<Pred>::type 
-assert_arg(void (*)(Pred), int);
-
-template< typename Pred >
-typename assert_arg_type< boost::mpl::not_<Pred> >::type 
-assert_not_arg(void (*)(Pred), int);
-
-#   if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)
-template< long x, long y, bool (*r)(failed, failed) >
-typename assert_arg_type_impl< false,BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) >::type
-assert_rel_arg( BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) );
-#   else
-template< assert_::relations r, long x, long y >
-typename assert_arg_type_impl< false,assert_relation<r,x,y> >::type
-assert_rel_arg( assert_relation<r,x,y> );
-#   endif
-
-#endif // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
-
-#undef AUX778076_ASSERT_ARG
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-
-// BOOST_MPL_ASSERT((pred<x,...>))
-
-#define BOOST_MPL_ASSERT(pred) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
-      std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
-          boost::mpl::assertion_failed<false>( \
-              boost::mpl::assert_arg( (void (*) pred)0, 1 ) \
-            ) \
-        ) \
-    ) \
-/**/
-
-// BOOST_MPL_ASSERT_NOT((pred<x,...>))
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-#   define BOOST_MPL_ASSERT_NOT(pred) \
-enum { \
-      BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
-          boost::mpl::assertion<false>::failed( \
-              boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \
-            ) \
-        ) \
-}\
-/**/
-#else
-#   define BOOST_MPL_ASSERT_NOT(pred) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
-      std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
-          boost::mpl::assertion_failed<false>( \
-              boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \
-            ) \
-        ) \
-   ) \
-/**/
-#endif
-
-// BOOST_MPL_ASSERT_RELATION(x, ==|!=|<=|<|>=|>, y)
-
-#if defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)
-
-#   if !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)
-// agurt, 9/nov/06: 'enum' below is a workaround for gcc 4.0.4/4.1.1 bugs #29522 and #29518
-#   define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y)      \
-enum { BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) }; \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
-      std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
-        boost::mpl::assertion_failed<BOOST_PP_CAT(mpl_assert_rel_value,counter)>( \
-            (boost::mpl::failed ************ ( boost::mpl::assert_relation< \
-                  boost::mpl::assert_::relations( sizeof( \
-                      boost::mpl::assert_::arg rel boost::mpl::assert_::arg \
-                    ) ) \
-                , x \
-                , y \
-                >::************)) 0 ) \
-        ) \
-    ) \
-/**/
-#   else
-#   define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y)    \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
-      std::size_t \
-    , BOOST_PP_CAT(mpl_assert_rel,counter) = sizeof( \
-          boost::mpl::assert_::arg rel boost::mpl::assert_::arg \
-        ) \
-    ); \
-BOOST_MPL_AUX_ASSERT_CONSTANT( bool, BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) ); \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
-      std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
-        boost::mpl::assertion_failed<BOOST_PP_CAT(mpl_assert_rel_value,counter)>( \
-              boost::mpl::assert_rel_arg( boost::mpl::assert_relation< \
-                  boost::mpl::assert_::relations(BOOST_PP_CAT(mpl_assert_rel,counter)) \
-                , x \
-                , y \
-                >() ) \
-            ) \
-        ) \
-    ) \
-/**/
-#   endif
-
-#   define BOOST_MPL_ASSERT_RELATION(x, rel, y) \
-BOOST_MPL_ASSERT_RELATION_IMPL(BOOST_MPL_AUX_PP_COUNTER(), x, rel, y) \
-/**/
-
-#else // !BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
-
-#   if defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)
-#   define BOOST_MPL_ASSERT_RELATION(x, rel, y) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
-      std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
-        boost::mpl::assertion_failed<(x rel y)>( boost::mpl::assert_rel_arg( \
-              boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))() \
-            ) ) \
-        ) \
-    ) \
-/**/
-#   else
-#   define BOOST_MPL_ASSERT_RELATION(x, rel, y) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
-      std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
-        boost::mpl::assertion_failed<(x rel y)>( (boost::mpl::failed ************ ( \
-            boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))::************))0 ) \
-        ) \
-    ) \
-/**/
-#   endif
-
-#endif
-
-
-// BOOST_MPL_ASSERT_MSG( (pred<x,...>::value), USER_PROVIDED_MESSAGE, (types<x,...>) ) 
-
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202))
-#   define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ ) \
-struct msg; \
-typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \
-{ \
-    using boost::mpl::assert_::types; \
-    static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \
-    { return 0; } \
-} BOOST_PP_CAT(mpl_assert_arg,counter); \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
-      std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
-        boost::mpl::assertion<(c)>::failed( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \
-        ) \
-    ) \
-/**/
-#else
-#   define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ )  \
-struct msg; \
-typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \
-{ \
-    static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \
-    { return 0; } \
-} BOOST_PP_CAT(mpl_assert_arg,counter); \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
-      std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
-        boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \
-        ) \
-    ) \
-/**/
-#endif
-
-#define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
-BOOST_MPL_ASSERT_MSG_IMPL( BOOST_MPL_AUX_PP_COUNTER(), c, msg, types_ ) \
-/**/
-
-#endif // BOOST_MPL_ASSERT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/at.hpp b/SRC/Boost/boost/mpl/at.hpp
deleted file mode 100755
index a371439..0000000
--- a/SRC/Boost/boost/mpl/at.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#ifndef BOOST_MPL_AT_HPP_INCLUDED
-#define BOOST_MPL_AT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: at.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/at_fwd.hpp>
-#include <boost/mpl/aux_/at_impl.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(N)
-    >
-struct at
-    : at_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence,N >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,at,(Sequence,N))
-};
-
-template<
-      typename Sequence
-    , BOOST_MPL_AUX_NTTP_DECL(long, N)
-    >
-struct at_c
-    : at_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence,mpl::long_<N> >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, at)
-
-}}
-
-#endif // BOOST_MPL_AT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/at_fwd.hpp b/SRC/Boost/boost/mpl/at_fwd.hpp
deleted file mode 100755
index 325293b..0000000
--- a/SRC/Boost/boost/mpl/at_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_AT_FWD_HPP_INCLUDED
-#define BOOST_MPL_AT_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: at_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct at_impl;
-template< typename Sequence, typename N > struct at;
-
-}}
-
-#endif // BOOST_MPL_AT_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/O1_size_impl.hpp b/SRC/Boost/boost/mpl/aux_/O1_size_impl.hpp
deleted file mode 100755
index 28b5f66..0000000
--- a/SRC/Boost/boost/mpl/aux_/O1_size_impl.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-
-#ifndef BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: O1_size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/O1_size_fwd.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/aux_/has_size.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation - returns 'Sequence::size' if sequence has a 'size'
-// member, and -1 otherwise; conrete sequences might override it by 
-// specializing either the 'O1_size_impl' or the primary 'O1_size' template
-
-#   if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
-    && !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
-
-namespace aux {
-template< typename Sequence > struct O1_size_impl
-    : Sequence::size
-{
-};
-}
-
-template< typename Tag >
-struct O1_size_impl
-{
-    template< typename Sequence > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : if_<
-              aux::has_size<Sequence>
-            , aux::O1_size_impl<Sequence>
-            , long_<-1>
-            >::type
-    {
-#else
-    {
-        typedef typename if_<
-              aux::has_size<Sequence>
-            , aux::O1_size_impl<Sequence>
-            , long_<-1>
-            >::type type;
-
-        BOOST_STATIC_CONSTANT(long, value =
-              (if_<
-                  aux::has_size<Sequence>
-                , aux::O1_size_impl<Sequence>
-                , long_<-1>
-                >::type::value)
-            );
-#endif
-    };
-};
-
-#   else // BOOST_MSVC
-
-template< typename Tag >
-struct O1_size_impl
-{
-    template< typename Sequence > struct apply
-        : long_<-1>
-        {
-        };
-};
-
-#   endif
-
-}}
-
-#endif // BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/adl_barrier.hpp b/SRC/Boost/boost/mpl/aux_/adl_barrier.hpp
deleted file mode 100755
index eaf32e6..0000000
--- a/SRC/Boost/boost/mpl/aux_/adl_barrier.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED
-#define BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: adl_barrier.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/adl.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)
-
-#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE mpl_
-#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace mpl_ {
-#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }
-#   define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) \
-    namespace boost { namespace mpl { \
-    using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \
-    } } \
-/**/
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE { namespace aux {} }
-namespace boost { namespace mpl { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE; 
-namespace aux { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux; }
-}}
-#endif
-
-#else // BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE
-
-#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE boost::mpl
-#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace boost { namespace mpl {
-#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }}
-#   define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/advance_backward.hpp b/SRC/Boost/boost/mpl/aux_/advance_backward.hpp
deleted file mode 100755
index cebf5a7..0000000
--- a/SRC/Boost/boost/mpl/aux_/advance_backward.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED
-#define BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: advance_backward.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/prior.hpp>
-#   include <boost/mpl/apply_wrap.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if    !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER advance_backward.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/unrolling.hpp>
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-#   include <boost/mpl/aux_/config/eti.hpp>
-
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/cat.hpp>
-#   include <boost/preprocessor/inc.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-// forward declaration
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_backward;
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/advance_backward.hpp>))
-#   include BOOST_PP_ITERATE()
-
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) >
-struct advance_backward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_backward<BOOST_MPL_LIMIT_UNROLLING>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_backward<(
-                (N - BOOST_MPL_LIMIT_UNROLLING) < 0
-                    ? 0
-                    : N - BOOST_MPL_LIMIT_UNROLLING
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<>
-struct advance_backward< BOOST_PP_FRAME_ITERATION(1) >
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-
-#if i_ > 0
-#   define BOOST_PP_ITERATION_PARAMS_2 \
-    (3,(1, BOOST_PP_FRAME_ITERATION(1), <boost/mpl/aux_/advance_backward.hpp>))
-#   include BOOST_PP_ITERATE()
-#endif
-
-        typedef BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(1)) type;
-    };
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-    /// ETI workaround
-    template<> struct apply<int>
-    {
-        typedef int type;
-    };
-#endif
-};
-
-#undef i_
-
-///// iteration, depth == 2
-
-#elif BOOST_PP_ITERATION_DEPTH() == 2
-
-#   define AUX778076_ITER_0 BOOST_PP_CAT(iter,BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(2)))
-#   define AUX778076_ITER_1 BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(2))
-
-        typedef typename prior<AUX778076_ITER_0>::type AUX778076_ITER_1;
-        
-#   undef AUX778076_ITER_1
-#   undef AUX778076_ITER_0
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/aux_/advance_forward.hpp b/SRC/Boost/boost/mpl/aux_/advance_forward.hpp
deleted file mode 100755
index 58b2a76..0000000
--- a/SRC/Boost/boost/mpl/aux_/advance_forward.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED
-#define BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: advance_forward.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/next.hpp>
-#   include <boost/mpl/apply_wrap.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if    !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER advance_forward.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/unrolling.hpp>
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-#   include <boost/mpl/aux_/config/eti.hpp>
-
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/cat.hpp>
-#   include <boost/preprocessor/inc.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-// forward declaration
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_forward;
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/advance_forward.hpp>))
-#   include BOOST_PP_ITERATE()
-
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > 
-struct advance_forward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_forward<BOOST_MPL_LIMIT_UNROLLING>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_forward<(
-                (N - BOOST_MPL_LIMIT_UNROLLING) < 0
-                    ? 0
-                    : N - BOOST_MPL_LIMIT_UNROLLING
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<>
-struct advance_forward< BOOST_PP_FRAME_ITERATION(1) >
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-
-#if i_ > 0
-#   define BOOST_PP_ITERATION_PARAMS_2 \
-    (3,(1, i_, <boost/mpl/aux_/advance_forward.hpp>))
-#   include BOOST_PP_ITERATE()
-#endif
-        typedef BOOST_PP_CAT(iter,i_) type;
-    };
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-    /// ETI workaround
-    template<> struct apply<int>
-    {
-        typedef int type;
-    };
-#endif
-};
-
-#undef i_
-
-///// iteration, depth == 2
-
-#elif BOOST_PP_ITERATION_DEPTH() == 2
-
-#   define AUX778076_ITER_0 BOOST_PP_CAT(iter,BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(2)))
-#   define AUX778076_ITER_1 BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(2))
-
-        typedef typename next<AUX778076_ITER_0>::type AUX778076_ITER_1;
-        
-#   undef AUX778076_ITER_1
-#   undef AUX778076_ITER_0
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/aux_/arg_typedef.hpp b/SRC/Boost/boost/mpl/aux_/arg_typedef.hpp
deleted file mode 100755
index cd460af..0000000
--- a/SRC/Boost/boost/mpl/aux_/arg_typedef.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED
-#define BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: arg_typedef.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/lambda.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
-    || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-    
-#   define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) typedef T name;
-
-#else
-
-#   define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/arithmetic_op.hpp b/SRC/Boost/boost/mpl/aux_/arithmetic_op.hpp
deleted file mode 100755
index b7cf52f..0000000
--- a/SRC/Boost/boost/mpl/aux_/arithmetic_op.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: arithmetic_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/integral_c.hpp>
-#   include <boost/mpl/aux_/largest_int.hpp>
-#   include <boost/mpl/aux_/value_wknd.hpp>
-#endif
-
-#if !defined(AUX778076_OP_PREFIX)
-#   define AUX778076_OP_PREFIX AUX778076_OP_NAME
-#endif
-
-#include <boost/mpl/aux_/numeric_op.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/config/workaround.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
-namespace aux {
-template< typename T, T n1, T n2 >
-struct BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)
-{
-    BOOST_STATIC_CONSTANT(T, value = (n1 AUX778076_OP_TOKEN n2));
-    typedef integral_c<T,value> type;
-};
-}
-#endif
-
-template<>
-struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>
-{
-    template< typename N1, typename N2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-#else
-        : aux::BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-#endif
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#undef AUX778076_OP_TAG_NAME
-#undef AUX778076_OP_IMPL_NAME
-#undef AUX778076_OP_ARITY
-#undef AUX778076_OP_PREFIX
-#undef AUX778076_OP_NAME
-#undef AUX778076_OP_TOKEN
diff --git a/SRC/Boost/boost/mpl/aux_/arity.hpp b/SRC/Boost/boost/mpl/aux_/arity.hpp
deleted file mode 100755
index 5a284a2..0000000
--- a/SRC/Boost/boost/mpl/aux_/arity.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ARITY_HPP_INCLUDED
-#define BOOST_MPL_AUX_ARITY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: arity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/dtp.hpp>
-
-#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-#   include <boost/mpl/aux_/config/static_constant.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-// agurt, 15/mar/02: it's possible to implement the template so that it will 
-// "just work" and do not require any specialization, but not on the compilers
-// that require the arity workaround in the first place
-template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) >
-struct arity
-{
-    BOOST_STATIC_CONSTANT(int, value = N);
-};
-
-}}}
-
-#endif // BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
-
-#endif // BOOST_MPL_AUX_ARITY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/arity_spec.hpp b/SRC/Boost/boost/mpl/aux_/arity_spec.hpp
deleted file mode 100755
index 4853629..0000000
--- a/SRC/Boost/boost/mpl/aux_/arity_spec.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
-#define BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: arity_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/limits/arity.hpp>
-#include <boost/mpl/aux_/config/dtp.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/arity.hpp>
-#include <boost/mpl/aux_/template_arity_fwd.hpp>
-#include <boost/mpl/aux_/config/ttp.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-#   define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) \
-namespace aux { \
-template< BOOST_MPL_AUX_NTTP_DECL(int, N), BOOST_MPL_PP_PARAMS(i,type T) > \
-struct arity< \
-      name< BOOST_MPL_PP_PARAMS(i,T) > \
-    , N \
-    > \
-{ \
-    BOOST_STATIC_CONSTANT(int \
-        , value = BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
-        ); \
-}; \
-} \
-/**/
-#else
-#   define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) /**/
-#endif
-
-#   define BOOST_MPL_AUX_ARITY_SPEC(i,name) \
-    BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,typename,name) \
-/**/
-
-
-#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
-    && !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-#   define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) \
-namespace aux { \
-template< BOOST_MPL_PP_PARAMS(i,typename T) > \
-struct template_arity< name<BOOST_MPL_PP_PARAMS(i,T)> > \
-    : int_<i> \
-{ \
-}; \
-} \
-/**/
-#else
-#   define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/
-#endif
-
-
-#endif // BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/at_impl.hpp b/SRC/Boost/boost/mpl/aux_/at_impl.hpp
deleted file mode 100755
index cf97107..0000000
--- a/SRC/Boost/boost/mpl/aux_/at_impl.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: at_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/advance.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation; conrete sequences might override it by 
-// specializing either the 'at_impl' or the primary 'at' template
-
-template< typename Tag >
-struct at_impl
-{
-    template< typename Sequence, typename N > struct apply
-    {
-        typedef typename advance<
-              typename begin<Sequence>::type
-            , N
-            >::type iter_;
-
-        typedef typename deref<iter_>::type type;
-    };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, at_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/begin_end_impl.hpp b/SRC/Boost/boost/mpl/aux_/begin_end_impl.hpp
deleted file mode 100755
index 638312b..0000000
--- a/SRC/Boost/boost/mpl/aux_/begin_end_impl.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: begin_end_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end_fwd.hpp>
-#include <boost/mpl/sequence_tag_fwd.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/aux_/has_begin.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-
-namespace boost { namespace mpl {
-
-
-namespace aux { 
-
-template< typename Sequence > 
-struct begin_type 
-{ 
-    typedef typename Sequence::begin type; 
-};
-template< typename Sequence > 
-struct end_type
-{ 
-    typedef typename Sequence::end type; 
-};
-
-}
-
-// default implementation; conrete sequences might override it by 
-// specializing either the 'begin_impl/end_impl' or the primary 
-// 'begin/end' templates
-
-template< typename Tag >
-struct begin_impl
-{
-    template< typename Sequence > struct apply
-    {
-        typedef typename eval_if<aux::has_begin<Sequence, true_>,
-                                 aux::begin_type<Sequence>, void_>::type type;
-    };
-};
-
-template< typename Tag >
-struct end_impl
-{
-    template< typename Sequence > struct apply
-    {
-        typedef typename eval_if<aux::has_begin<Sequence, true_>,
-                                 aux::end_type<Sequence>, void_>::type type;
-    };
-};
-
-// specialize 'begin_trait/end_trait' for two pre-defined tags
-
-#   define AUX778076_IMPL_SPEC(name, tag, result) \
-template<> \
-struct name##_impl<tag> \
-{ \
-    template< typename Sequence > struct apply \
-    { \
-        typedef result type; \
-    }; \
-}; \
-/**/
-
-// a sequence with nested 'begin/end' typedefs; just query them
-AUX778076_IMPL_SPEC(begin, nested_begin_end_tag, typename Sequence::begin)
-AUX778076_IMPL_SPEC(end, nested_begin_end_tag, typename Sequence::end)
-
-// if a type 'T' does not contain 'begin/end' or 'tag' members 
-// and doesn't specialize either 'begin/end' or 'begin_impl/end_impl' 
-// templates, then we end up here
-AUX778076_IMPL_SPEC(begin, non_sequence_tag, void_)
-AUX778076_IMPL_SPEC(end, non_sequence_tag, void_)
-AUX778076_IMPL_SPEC(begin, na, void_)
-AUX778076_IMPL_SPEC(end, na, void_)
-
-#   undef AUX778076_IMPL_SPEC
-
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,begin_impl)
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,end_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/clear_impl.hpp b/SRC/Boost/boost/mpl/aux_/clear_impl.hpp
deleted file mode 100755
index e523d10..0000000
--- a/SRC/Boost/boost/mpl/aux_/clear_impl.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: clear_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/clear_fwd.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-
-namespace boost { namespace mpl {
-
-// no default implementation; the definition is needed to make MSVC happy
-
-template< typename Tag >
-struct clear_impl
-{
-    template< typename Sequence > struct apply;
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, clear_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/common_name_wknd.hpp b/SRC/Boost/boost/mpl/aux_/common_name_wknd.hpp
deleted file mode 100755
index f19c4b8..0000000
--- a/SRC/Boost/boost/mpl/aux_/common_name_wknd.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED
-#define BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: common_name_wknd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x561)
-// agurt, 12/nov/02: to suppress the bogus "Cannot have both a template class 
-// and function named 'xxx'" diagnostic
-#   define BOOST_MPL_AUX_COMMON_NAME_WKND(name) \
-namespace name_##wknd { \
-template< typename > void name(); \
-} \
-/**/
-
-#else
-
-#   define BOOST_MPL_AUX_COMMON_NAME_WKND(name) /**/
-
-#endif // __BORLANDC__
-
-#endif // BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/comparison_op.hpp b/SRC/Boost/boost/mpl/aux_/comparison_op.hpp
deleted file mode 100755
index 11c0684..0000000
--- a/SRC/Boost/boost/mpl/aux_/comparison_op.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: comparison_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/bool.hpp>
-#   include <boost/mpl/aux_/value_wknd.hpp>
-#endif
-
-#if !defined(AUX778076_OP_PREFIX)
-#   define AUX778076_OP_PREFIX AUX778076_OP_NAME
-#endif
-
-#define AUX778076_OP_ARITY 2
-
-#include <boost/mpl/aux_/numeric_op.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/config/integral.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-// MSVC workaround: implement less in terms of greater
-#if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0)
-#   define AUX778076_OP(N1, N2) \
-    ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) \
-/**/
-#else
-#   define AUX778076_OP(N1, N2) \
-    ( BOOST_MPL_AUX_VALUE_WKND(N1)::value \
-          AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value \
-        ) \
-/**/
-#endif
-
-template<>
-struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>
-{
-    template< typename N1, typename N2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
-        : bool_< AUX778076_OP(N1, N2) >
-    {
-#else
-    {
-        BOOST_STATIC_CONSTANT(bool, value = AUX778076_OP(N1, N2));
-        typedef bool_<value> type;
-#endif
-    };
-};
-
-#undef AUX778076_OP
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#undef AUX778076_OP_TAG_NAME
-#undef AUX778076_OP_IMPL_NAME
-#undef AUX778076_OP_ARITY
-#undef AUX778076_OP_PREFIX
-#undef AUX778076_OP_NAME
-#undef AUX778076_OP_TOKEN
diff --git a/SRC/Boost/boost/mpl/aux_/config/adl.hpp b/SRC/Boost/boost/mpl/aux_/config/adl.hpp
deleted file mode 100755
index 86631be..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/adl.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: adl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/intel.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// agurt, 25/apr/04: technically, the ADL workaround is only needed for GCC,
-// but putting everything expect public, user-specializable metafunctions into
-// a separate global namespace has a nice side effect of reducing the length 
-// of template instantiation symbols, so we apply the workaround on all 
-// platforms that can handle it
-
-#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \
-    && (   BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
-        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-        || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \
-        || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \
-        || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \
-        )
-
-#   define BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/arrays.hpp b/SRC/Boost/boost/mpl/aux_/config/arrays.hpp
deleted file mode 100755
index 45ca4ea..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/arrays.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: arrays.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if    !defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && ( BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-        || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-        )
-
-#   define BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/bcc.hpp b/SRC/Boost/boost/mpl/aux_/config/bcc.hpp
deleted file mode 100755
index 9f09902..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/bcc.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: bcc.hpp 49272 2008-10-11 06:50:46Z agurtovoy $
-// $Date: 2004-09-02 10:41:37 -0500 (Thu, 02 Sep 2004) $
-// $Revision: 24874 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if    !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(__BORLANDC__, >= 0x590) \
-    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-
-#   define BOOST_MPL_CFG_BCC590_WORKAROUNDS
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/bind.hpp b/SRC/Boost/boost/mpl/aux_/config/bind.hpp
deleted file mode 100755
index 6dbd595..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/bind.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED
-
-// Copyright David Abrahams 2002
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: bind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if    !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && (   BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-        )
-
-#   define BOOST_MPL_CFG_NO_BIND_TEMPLATE
-
-#endif
-
-//#define BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
-
-#endif // BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/compiler.hpp b/SRC/Boost/boost/mpl/aux_/config/compiler.hpp
deleted file mode 100755
index 7f55b1d..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/compiler.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: compiler.hpp 53189 2009-05-22 20:07:55Z hkaiser $
-// $Date: 2009-05-22 16:07:55 -0400 (Fri, 22 May 2009) $
-// $Revision: 53189 $
-
-#if !defined(BOOST_MPL_CFG_COMPILER_DIR)
-
-#   include <boost/mpl/aux_/config/dtp.hpp>
-#   include <boost/mpl/aux_/config/ttp.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/mpl/aux_/config/msvc.hpp>
-#   include <boost/mpl/aux_/config/gcc.hpp>
-#   include <boost/mpl/aux_/config/workaround.hpp>
-
-#   if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-#       define BOOST_MPL_CFG_COMPILER_DIR msvc60
-
-#   elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-#       define BOOST_MPL_CFG_COMPILER_DIR msvc70
-
-#   elif BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304))
-#       define BOOST_MPL_CFG_COMPILER_DIR gcc
-
-#   elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-#       if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-#           define BOOST_MPL_CFG_COMPILER_DIR bcc551
-#       elif BOOST_WORKAROUND(__BORLANDC__, >= 0x590)
-#           define BOOST_MPL_CFG_COMPILER_DIR bcc
-#       else
-#           define BOOST_MPL_CFG_COMPILER_DIR bcc_pre590
-#       endif
-
-#   elif BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-#       define BOOST_MPL_CFG_COMPILER_DIR dmc
-
-#   elif defined(__MWERKS__)
-#       if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-#           define BOOST_MPL_CFG_COMPILER_DIR mwcw
-#       else
-#           define BOOST_MPL_CFG_COMPILER_DIR plain
-#       endif
-
-#   elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#       define BOOST_MPL_CFG_COMPILER_DIR no_ctps
-
-#   elif defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)
-#       define BOOST_MPL_CFG_COMPILER_DIR no_ttp
-
-#   else
-#       define BOOST_MPL_CFG_COMPILER_DIR plain
-#   endif
-
-#endif // BOOST_MPL_CFG_COMPILER_DIR
-
-#endif // BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/ctps.hpp b/SRC/Boost/boost/mpl/aux_/config/ctps.hpp
deleted file mode 100755
index be7e680..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/ctps.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: ctps.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-#include <boost/config.hpp>
-
-#if    !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(__BORLANDC__, < 0x582)
-
-#   define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC
-
-#endif
-
-// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION is defined in <boost/config.hpp>
-
-#endif // BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp b/SRC/Boost/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp
deleted file mode 100755
index d24f70f..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: dmc_ambiguous_ctps.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if    !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-
-#   define BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/dtp.hpp b/SRC/Boost/boost/mpl/aux_/config/dtp.hpp
deleted file mode 100755
index 1fcd513..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/dtp.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: dtp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// MWCW 7.x-8.0 "losts" default template parameters of nested class 
-// templates when their owner classes are passed as arguments to other 
-// templates; Borland 5.5.1 "forgets" them from the very beginning (if 
-// the owner class is a class template), and Borland 5.6 isn't even
-// able to compile a definition of nested class template with DTP
-
-#if    !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(__BORLANDC__, >= 0x560) \
-    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-
-#   define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
-
-#endif
-
-
-#if    !defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && (   BOOST_WORKAROUND(__MWERKS__, <= 0x3001) \
-        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-        || defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
-        )
-        
-#   define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/eti.hpp b/SRC/Boost/boost/mpl/aux_/config/eti.hpp
deleted file mode 100755
index 4b20d14..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/eti.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: eti.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// flags for MSVC 6.5's so-called "early template instantiation bug"
-#if    !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-#   define BOOST_MPL_CFG_MSVC_60_ETI_BUG
-
-#endif
-
-#if    !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-
-#   define BOOST_MPL_CFG_MSVC_70_ETI_BUG
-
-#endif
-
-#if    !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && ( defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \
-        || defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \
-        )
-
-#   define BOOST_MPL_CFG_MSVC_ETI_BUG
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/forwarding.hpp b/SRC/Boost/boost/mpl/aux_/config/forwarding.hpp
deleted file mode 100755
index c9b6242..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/forwarding.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: forwarding.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if    !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-
-#   define BOOST_MPL_CFG_NO_NESTED_FORWARDING
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/gcc.hpp b/SRC/Boost/boost/mpl/aux_/config/gcc.hpp
deleted file mode 100755
index a564b2a..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/gcc.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: gcc.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if defined(__GNUC__) && !defined(__EDG_VERSION__)
-#   define BOOST_MPL_CFG_GCC ((__GNUC__ << 8) | __GNUC_MINOR__)
-#else
-#   define BOOST_MPL_CFG_GCC 0
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/has_apply.hpp b/SRC/Boost/boost/mpl/aux_/config/has_apply.hpp
deleted file mode 100755
index 7f8f526..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/has_apply.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/has_xxx.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY) \
-    && (   defined(BOOST_MPL_CFG_NO_HAS_XXX) \
-        || BOOST_WORKAROUND(__EDG_VERSION__, < 300) \
-        || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-        || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \
-        )
-
-#   define BOOST_MPL_CFG_NO_HAS_APPLY
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/has_xxx.hpp b/SRC/Boost/boost/mpl/aux_/config/has_xxx.hpp
deleted file mode 100755
index fe25a4b..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/has_xxx.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-// Copyright David Abrahams 2002-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_xxx.hpp 63518 2010-07-02 08:32:03Z agurtovoy $
-// $Date: 2010-07-02 04:32:03 -0400 (Fri, 02 Jul 2010) $
-// $Revision: 63518 $
-
-#include <boost/mpl/aux_/config/overload_resolution.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// agurt, 11/jan/03: signals a stub-only 'has_xxx' implementation
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) \
-    && (   defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \
-        || BOOST_WORKAROUND(__GNUC__, <= 2) \
-        || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \
-        )
-
-#   define BOOST_MPL_CFG_NO_HAS_XXX
-#   define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/integral.hpp b/SRC/Boost/boost/mpl/aux_/config/integral.hpp
deleted file mode 100755
index 7b5fcfc..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/integral.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: integral.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if    !defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-
-#   define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
-
-#endif
-
-#if    !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-        || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \
-        )
-
-#   define BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/intel.hpp b/SRC/Boost/boost/mpl/aux_/config/intel.hpp
deleted file mode 100755
index 62d4f2e..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/intel.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: intel.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-
-// BOOST_INTEL_CXX_VERSION is defined here:
-#include <boost/config.hpp>
-
-#endif // BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/lambda.hpp b/SRC/Boost/boost/mpl/aux_/config/lambda.hpp
deleted file mode 100755
index 97bd76b..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/lambda.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: lambda.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/ttp.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-// agurt, 15/jan/02: full-fledged implementation requires both 
-// template template parameters _and_ partial specialization
-
-#if    !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
-    && (   defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
-        || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-        )
-
-#   define BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/msvc.hpp b/SRC/Boost/boost/mpl/aux_/config/msvc.hpp
deleted file mode 100755
index 93cbe46..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/msvc.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: msvc.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-
-// BOOST_MSVC is defined here:
-#include <boost/config.hpp>
-
-#endif // BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/msvc_typename.hpp b/SRC/Boost/boost/mpl/aux_/config/msvc_typename.hpp
deleted file mode 100755
index 37d38dc..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/msvc_typename.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: msvc_typename.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-#   define BOOST_MSVC_TYPENAME
-#else
-#   define BOOST_MSVC_TYPENAME typename
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/nttp.hpp b/SRC/Boost/boost/mpl/aux_/config/nttp.hpp
deleted file mode 100755
index 13d0c9d..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/nttp.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: nttp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// MSVC 6.5 ICE-s on the code as simple as this (see "aux_/nttp_decl.hpp"
-// for a workaround):
-//
-//    namespace std {
-//    template< typename Char > struct string;
-//    }
-//
-//    void foo(std::string<char>);
-//
-//    namespace boost { namespace mpl {
-//    template< int > struct arg;
-//    }}
-
-#if    !defined(BOOST_MPL_CFG_NTTP_BUG) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-#   define BOOST_MPL_CFG_NTTP_BUG
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/operators.hpp b/SRC/Boost/boost/mpl/aux_/config/operators.hpp
deleted file mode 100755
index 08693b2..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/operators.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: operators.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING) \
-    && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-        || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \
-        || BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, <= 0x0295) \
-        || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \
-        )
-
-#   define BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/overload_resolution.hpp b/SRC/Boost/boost/mpl/aux_/config/overload_resolution.hpp
deleted file mode 100755
index 1c58351..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/overload_resolution.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: overload_resolution.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if    !defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && (   BOOST_WORKAROUND(__BORLANDC__, < 0x590) \
-        || BOOST_WORKAROUND(__MWERKS__, < 0x3001) \
-        )
-
-#   define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/pp_counter.hpp b/SRC/Boost/boost/mpl/aux_/config/pp_counter.hpp
deleted file mode 100755
index 7fe204d..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/pp_counter.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2006
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: pp_counter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_AUX_PP_COUNTER)
-#   include <boost/mpl/aux_/config/msvc.hpp>
-#   if BOOST_WORKAROUND(BOOST_MSVC, >= 1300)
-#       define BOOST_MPL_AUX_PP_COUNTER() __COUNTER__
-#   else
-#       define BOOST_MPL_AUX_PP_COUNTER() __LINE__
-#   endif
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/preprocessor.hpp b/SRC/Boost/boost/mpl/aux_/config/preprocessor.hpp
deleted file mode 100755
index a837876..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/preprocessor.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: preprocessor.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) \
-    && (   BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \
-        || BOOST_WORKAROUND(__BORLANDC__, < 0x582) \
-        || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \
-        )
-
-#   define BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION
-
-#endif
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-#   define BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES
-#endif
-
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) \
-    && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-#   define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
-#endif
-
-
-#endif // BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/static_constant.hpp b/SRC/Boost/boost/mpl/aux_/config/static_constant.hpp
deleted file mode 100755
index 86bf20a..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/static_constant.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: static_constant.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-// BOOST_STATIC_CONSTANT is defined here:
-#   include <boost/config.hpp>
-#else
-// undef the macro for the preprocessing mode
-#   undef BOOST_STATIC_CONSTANT
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/ttp.hpp b/SRC/Boost/boost/mpl/aux_/config/ttp.hpp
deleted file mode 100755
index eacd6ab..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/ttp.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: ttp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
-    && ( defined(BOOST_NO_TEMPLATE_TEMPLATES) \
-      || BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x590) ) \
-       )
-
-#   define BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS
-
-#endif
-
-
-#if    !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && (   BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \
-        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-        )
-
-#   define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/typeof.hpp b/SRC/Boost/boost/mpl/aux_/config/typeof.hpp
deleted file mode 100755
index 79c8150..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/typeof.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: typeof.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/gcc.hpp>
-
-#if !defined(BOOST_MPL_CFG_HAS_TYPEOF) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && (   defined(BOOST_MPL_CFG_GCC) && BOOST_MPL_CFG_GCC >= 0x0302 \
-        || defined(__MWERKS__) && __MWERKS__ >= 0x3000 \
-        )
-
-#   define BOOST_MPL_CFG_HAS_TYPEOF
-
-#endif
-
-
-#if !defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && defined(BOOST_MPL_CFG_HAS_TYPEOF)
-
-#   define BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/use_preprocessed.hpp b/SRC/Boost/boost/mpl/aux_/config/use_preprocessed.hpp
deleted file mode 100755
index dd7cfb2..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/use_preprocessed.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: use_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-// #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/config/workaround.hpp b/SRC/Boost/boost/mpl/aux_/config/workaround.hpp
deleted file mode 100755
index a75a213..0000000
--- a/SRC/Boost/boost/mpl/aux_/config/workaround.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: workaround.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/detail/workaround.hpp>
-
-#endif // BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/contains_impl.hpp b/SRC/Boost/boost/mpl/aux_/contains_impl.hpp
deleted file mode 100755
index 3457a94..0000000
--- a/SRC/Boost/boost/mpl/aux_/contains_impl.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
-
-// Copyright Eric Friedman 2002
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: contains_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/contains_fwd.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/find.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Tag >
-struct contains_impl
-{
-    template< typename Sequence, typename T > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : not_< is_same<
-              typename find<Sequence,T>::type
-            , typename end<Sequence>::type
-            > >
-    {
-#else
-    {
-        typedef not_< is_same<
-              typename find<Sequence,T>::type
-            , typename end<Sequence>::type
-            > > type;
-
-        BOOST_STATIC_CONSTANT(bool, value = 
-              (not_< is_same<
-                  typename find<Sequence,T>::type
-                , typename end<Sequence>::type
-                > >::value)
-            );
-#endif
-    };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,contains_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/count_args.hpp b/SRC/Boost/boost/mpl/aux_/count_args.hpp
deleted file mode 100755
index ad4a228..0000000
--- a/SRC/Boost/boost/mpl/aux_/count_args.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: count_args.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/preprocessor/expr_if.hpp>
-#include <boost/preprocessor/inc.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#if !defined(AUX778076_COUNT_ARGS_PARAM_NAME)
-#   define AUX778076_COUNT_ARGS_PARAM_NAME T
-#endif
-
-#if !defined(AUX778076_COUNT_ARGS_TEMPLATE_PARAM)
-#   define AUX778076_COUNT_ARGS_TEMPLATE_PARAM typename AUX778076_COUNT_ARGS_PARAM_NAME
-#endif
-
-// local macros, #undef-ined at the end of the header
-
-#if !defined(AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES)
-
-#   include <boost/mpl/aux_/preprocessor/repeat.hpp>
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-
-#   define AUX778076_COUNT_ARGS_REPEAT BOOST_MPL_PP_REPEAT
-#   define AUX778076_COUNT_ARGS_PARAMS(param) \
-    BOOST_MPL_PP_PARAMS( \
-          AUX778076_COUNT_ARGS_ARITY \
-        , param \
-        ) \
-    /**/
-
-#else
-
-#   include <boost/preprocessor/enum_shifted_params.hpp>
-#   include <boost/preprocessor/repeat.hpp>
-#   include <boost/preprocessor/inc.hpp>
-
-#   define AUX778076_COUNT_ARGS_REPEAT BOOST_PP_REPEAT
-#   define AUX778076_COUNT_ARGS_PARAMS(param) \
-    BOOST_PP_ENUM_SHIFTED_PARAMS( \
-          BOOST_PP_INC(AUX778076_COUNT_ARGS_ARITY) \
-        , param \
-        ) \
-    /**/
-
-#endif // AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES
-
-
-#define AUX778076_IS_ARG_TEMPLATE_NAME \
-    BOOST_PP_CAT(is_,BOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_arg)) \
-/**/
-
-#define AUX778076_COUNT_ARGS_FUNC(unused, i, param) \
-    BOOST_PP_EXPR_IF(i, +) \
-    AUX778076_IS_ARG_TEMPLATE_NAME<BOOST_PP_CAT(param,BOOST_PP_INC(i))>::value \
-/**/
-
-// is_<xxx>_arg
-template< AUX778076_COUNT_ARGS_TEMPLATE_PARAM >
-struct AUX778076_IS_ARG_TEMPLATE_NAME
-{
-    BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct AUX778076_IS_ARG_TEMPLATE_NAME<AUX778076_COUNT_ARGS_DEFAULT>
-{
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// <xxx>_count_args
-template<
-      AUX778076_COUNT_ARGS_PARAMS(AUX778076_COUNT_ARGS_TEMPLATE_PARAM)
-    >
-struct BOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_count_args)
-{
-    BOOST_STATIC_CONSTANT(int, value = AUX778076_COUNT_ARGS_REPEAT(
-          AUX778076_COUNT_ARGS_ARITY
-        , AUX778076_COUNT_ARGS_FUNC
-        , AUX778076_COUNT_ARGS_PARAM_NAME
-        ));
-};
-
-#undef AUX778076_COUNT_ARGS_FUNC
-#undef AUX778076_IS_ARG_TEMPLATE_NAME
-#undef AUX778076_COUNT_ARGS_PARAMS
-#undef AUX778076_COUNT_ARGS_REPEAT
-
-#undef AUX778076_COUNT_ARGS_ARITY
-#undef AUX778076_COUNT_ARGS_DEFAULT
-#undef AUX778076_COUNT_ARGS_PREFIX
-#undef AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES
-#undef AUX778076_COUNT_ARGS_TEMPLATE_PARAM
-#undef AUX778076_COUNT_ARGS_PARAM_NAME
diff --git a/SRC/Boost/boost/mpl/aux_/empty_impl.hpp b/SRC/Boost/boost/mpl/aux_/empty_impl.hpp
deleted file mode 100755
index 3cbad60..0000000
--- a/SRC/Boost/boost/mpl/aux_/empty_impl.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: empty_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/empty_fwd.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation; conrete sequences might override it by 
-// specializing either the 'empty_impl' or the primary 'empty' template
-
-template< typename Tag >
-struct empty_impl
-{
-    template< typename Sequence > struct apply
-        : is_same<
-              typename begin<Sequence>::type
-            , typename end<Sequence>::type
-            >
-    {
-    };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1,empty_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/find_if_pred.hpp b/SRC/Boost/boost/mpl/aux_/find_if_pred.hpp
deleted file mode 100755
index 42eef19..0000000
--- a/SRC/Boost/boost/mpl/aux_/find_if_pred.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED
-#define BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Eric Friedman 2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-#include <boost/mpl/aux_/iter_apply.hpp>
-#include <boost/mpl/not.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Predicate >
-struct find_if_pred
-{
-    template< typename Iterator >
-    struct apply
-    {
-        typedef not_< aux::iter_apply1<Predicate,Iterator> > type;
-    };
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/fold_impl.hpp
deleted file mode 100755
index 71bd386..0000000
--- a/SRC/Boost/boost/mpl/aux_/fold_impl.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/next_prior.hpp>
-#   include <boost/mpl/apply.hpp>
-#   include <boost/mpl/deref.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#       include <boost/mpl/if.hpp>
-#       include <boost/type_traits/is_same.hpp>
-#   endif
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER fold_impl.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   define AUX778076_FOLD_IMPL_OP(iter) typename deref<iter>::type
-#   define AUX778076_FOLD_IMPL_NAME_PREFIX fold
-#   include <boost/mpl/aux_/fold_impl_body.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/fold_impl_body.hpp b/SRC/Boost/boost/mpl/aux_/fold_impl_body.hpp
deleted file mode 100755
index 28ea749..0000000
--- a/SRC/Boost/boost/mpl/aux_/fold_impl_body.hpp
+++ /dev/null
@@ -1,365 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: fold_impl_body.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#   include <boost/mpl/limits/unrolling.hpp>
-#   include <boost/mpl/aux_/preprocessor/repeat.hpp>
-#   include <boost/mpl/aux_/config/workaround.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-#   include <boost/mpl/aux_/config/eti.hpp>
-
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/dec.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-// local macros, #undef-ined at the end of the header
-
-#   define AUX778076_ITER_FOLD_STEP(unused, i, unused2) \
-    typedef typename apply2< \
-          ForwardOp \
-        , BOOST_PP_CAT(state,i) \
-        , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,i)) \
-        >::type BOOST_PP_CAT(state,BOOST_PP_INC(i)); \
-    typedef typename mpl::next<BOOST_PP_CAT(iter,i)>::type \
-        BOOST_PP_CAT(iter,BOOST_PP_INC(i)); \
-    /**/
-
-#   define AUX778076_FOLD_IMPL_NAME \
-    BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \
-    /**/
-
-#   define AUX778076_FOLD_CHUNK_NAME \
-    BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \
-    /**/
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-template<
-      BOOST_MPL_AUX_NTTP_DECL(int, N)
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    > 
-struct AUX778076_FOLD_IMPL_NAME;
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-#   if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/fold_impl_body.hpp>))
-#   include BOOST_PP_ITERATE()
-
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template<
-      BOOST_MPL_AUX_NTTP_DECL(int, N)
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    > 
-struct AUX778076_FOLD_IMPL_NAME
-{
-    typedef AUX778076_FOLD_IMPL_NAME<
-          BOOST_MPL_LIMIT_UNROLLING
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef AUX778076_FOLD_IMPL_NAME<
-          ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-        
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-// fallback implementation for sequences of unknown size
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    > 
-struct AUX778076_FOLD_IMPL_NAME<-1,First,Last,State,ForwardOp>
-    : AUX778076_FOLD_IMPL_NAME<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    > 
-struct AUX778076_FOLD_IMPL_NAME<-1,Last,Last,State,ForwardOp>
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-#   else // BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-
-// Borland have some serious problems with the unrolled version, so
-// we always use a basic implementation
-template<
-      BOOST_MPL_AUX_NTTP_DECL(int, N)
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    > 
-struct AUX778076_FOLD_IMPL_NAME
-{
-    typedef AUX778076_FOLD_IMPL_NAME<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-    typedef state type;
-};
-
-template<
-      BOOST_MPL_AUX_NTTP_DECL(int, N)
-     , typename Last
-    , typename State
-    , typename ForwardOp
-    > 
-struct AUX778076_FOLD_IMPL_NAME<N,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-    typedef state type;
-};
-
-#   endif // BOOST_WORKAROUND(__BORLANDC__, < 0x600)
- 
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
-struct AUX778076_FOLD_CHUNK_NAME;
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/fold_impl_body.hpp>))
-#   include BOOST_PP_ITERATE()
-
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > 
-struct AUX778076_FOLD_CHUNK_NAME
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        > 
-    struct result_
-    {
-        typedef AUX778076_FOLD_IMPL_NAME<
-              BOOST_MPL_LIMIT_UNROLLING
-            , First
-            , Last
-            , State
-            , ForwardOp
-            > chunk_;
-
-        typedef AUX778076_FOLD_IMPL_NAME<
-              ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )
-            , typename chunk_::iterator
-            , Last
-            , typename chunk_::state
-            , ForwardOp
-            > res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-// fallback implementation for sequences of unknown size
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    > 
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step);
-
-template<
-      typename Last
-    , typename State
-    >
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<> 
-struct AUX778076_FOLD_CHUNK_NAME<-1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        > 
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same<First,Last>::type
-            , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)<Last,State>
-            , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)<First,Last,State,ForwardOp>
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-    /// ETI workaround
-    template<> struct result_<int,int,int,int>
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-#endif
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    > 
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)
-{
-    // can't inherit here - it breaks MSVC 7.0
-    typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type
-        , ForwardOp
-        > chunk_;
-
-    typedef typename chunk_::state state;
-    typedef typename chunk_::iterator iterator;
-};
-
-template<
-      BOOST_MPL_AUX_NTTP_DECL(int, N)
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    > 
-struct AUX778076_FOLD_IMPL_NAME
-    : AUX778076_FOLD_CHUNK_NAME<N>
-        ::template result_<First,Last,State,ForwardOp>
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-}}}
-
-#   undef AUX778076_FOLD_IMPL_NAME
-#   undef AUX778076_FOLD_CHUNK_NAME
-#   undef AUX778076_ITER_FOLD_STEP
-
-#undef AUX778076_FOLD_IMPL_OP
-#undef AUX778076_FOLD_IMPL_NAME_PREFIX
-
-///// iteration
-
-#else
-
-#   define n_ BOOST_PP_FRAME_ITERATION(1)
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct AUX778076_FOLD_IMPL_NAME<n_,First,Last,State,ForwardOp>
-{
-    typedef First iter0;
-    typedef State state0;
-
-    BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused)
-
-    typedef BOOST_PP_CAT(state,n_) state;
-    typedef BOOST_PP_CAT(iter,n_) iterator;
-};
-
-#else
-
-template<> struct AUX778076_FOLD_CHUNK_NAME<n_>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-
-        BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused)
-
-        typedef BOOST_PP_CAT(state,n_) state;
-        typedef BOOST_PP_CAT(iter,n_) iterator;
-    };
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-    /// ETI workaround
-    template<> struct result_<int,int,int,int>
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-#endif
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#   undef n_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/aux_/front_impl.hpp b/SRC/Boost/boost/mpl/aux_/front_impl.hpp
deleted file mode 100755
index 1561fd2..0000000
--- a/SRC/Boost/boost/mpl/aux_/front_impl.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_FRONT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_FRONT_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: front_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/front_fwd.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation; conrete sequences might override it by 
-// specializing either the 'front_impl' or the primary 'front' template
-
-template< typename Tag >
-struct front_impl
-{
-    template< typename Sequence > struct apply
-    {
-        typedef typename begin<Sequence>::type iter_;
-        typedef typename deref<iter_>::type type;
-    };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1,front_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_FRONT_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/full_lambda.hpp b/SRC/Boost/boost/mpl/aux_/full_lambda.hpp
deleted file mode 100755
index fe498ac..0000000
--- a/SRC/Boost/boost/mpl/aux_/full_lambda.hpp
+++ /dev/null
@@ -1,354 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED
-#define BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: full_lambda.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/lambda_fwd.hpp>
-#   include <boost/mpl/bind_fwd.hpp>
-#   include <boost/mpl/protect.hpp>
-#   include <boost/mpl/quote.hpp>
-#   include <boost/mpl/arg.hpp>
-#   include <boost/mpl/bool.hpp>
-#   include <boost/mpl/int_fwd.hpp>
-#   include <boost/mpl/aux_/template_arity.hpp>
-#   include <boost/mpl/aux_/na_spec.hpp>
-#   include <boost/mpl/aux_/config/ttp.hpp>
-#   if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-#       include <boost/mpl/if.hpp>
-#   endif
-#endif
-
-#include <boost/mpl/aux_/lambda_arity_param.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER full_lambda.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/mpl/aux_/preprocessor/default_params.hpp>
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-#   include <boost/mpl/aux_/preprocessor/enum.hpp>
-#   include <boost/mpl/aux_/preprocessor/repeat.hpp>
-#   include <boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp>
-
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-// local macros, #undef-ined at the end of the header
-#   define AUX778076_LAMBDA_PARAMS(i_, param) \
-    BOOST_MPL_PP_PARAMS(i_, param) \
-    /**/
-
-#   define AUX778076_BIND_PARAMS(param) \
-    BOOST_MPL_PP_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
-        , param \
-        ) \
-    /**/
-
-#   define AUX778076_BIND_N_PARAMS(i_, param) \
-    BOOST_PP_COMMA_IF(i_) \
-    BOOST_MPL_PP_PARAMS(i_, param) \
-    /**/
-
-#   define AUX778076_ARITY_PARAM(param) \
-    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) \
-    /**/
-
-
-#define n_ BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-namespace aux {
-
-template<
-      BOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false)
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< BOOST_MPL_PP_ENUM(n_,false) >
-    : false_
-{
-};
-
-} // namespace aux
-#undef n_
-
-template<
-      typename T
-    , typename Tag
-    AUX778076_ARITY_PARAM(typename Arity)
-    >
-struct lambda
-{
-    typedef false_ is_le;
-    typedef T result_;
-    typedef T type;
-};
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-
-template< int N, typename Tag >
-struct lambda< arg<N>,Tag AUX778076_ARITY_PARAM(int_<-1>) >
-{
-    typedef true_ is_le;
-    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
-    typedef mpl::protect<result_> type; 
-};
-
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/aux_/full_lambda.hpp>))
-#include BOOST_PP_ITERATE()
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>,Tag AUX778076_ARITY_PARAM(int_<1>) >
-{
-    typedef false_ is_le;
-    typedef mpl::protect<T> result_;
-    typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-template<
-      typename F, AUX778076_BIND_PARAMS(typename T)
-    , typename Tag
-    >
-struct lambda<
-          bind<F,AUX778076_BIND_PARAMS(T)>
-        , Tag
-        AUX778076_ARITY_PARAM(int_<BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)>)
-        >
-{
-    typedef false_ is_le;
-    typedef bind<F, AUX778076_BIND_PARAMS(T)> result_;
-    typedef result_ type;
-};
-
-
-#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-
-template<
-      typename F
-    , typename Tag1
-    , typename Tag2
-    , typename Arity
-    >
-struct lambda<
-          lambda<F,Tag1,Arity>
-        , Tag2
-        , int_<3>
-        >
-{
-    typedef lambda< F,Tag2 > l1;
-    typedef lambda< Tag1,Tag2 > l2;
-
-    typedef typename l1::is_le is_le;
-    typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;
-    typedef lambda< typename if_<is_le,arity_,Arity>::type,Tag2 > l3;
-    
-    typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-#elif !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-template<
-      typename F, typename Tag1, typename Tag2
-    >
-struct lambda<
-          lambda< F,Tag1 >
-        , Tag2
-        >
-{
-    typedef lambda< F,Tag2 > l1;
-    typedef lambda< Tag1,Tag2 > l2;
-    
-    typedef typename l1::is_le is_le;
-    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-#endif
-
-#   undef AUX778076_ARITY_PARAM
-#   undef AUX778076_BIND_N_PARAMS
-#   undef AUX778076_BIND_PARAMS
-#   undef AUX778076_LAMBDA_PARAMS
-
-#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-#else
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
-#endif
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#if i_ > 0
-
-namespace aux {
-
-#   define AUX778076_RESULT(unused, i_, T) \
-    BOOST_PP_COMMA_IF(i_) \
-    typename BOOST_PP_CAT(T, BOOST_PP_INC(i_))::result_ \
-    /**/
-
-#   define AUX778076_TYPE(unused, i_, T) \
-    BOOST_PP_COMMA_IF(i_) \
-    typename BOOST_PP_CAT(T, BOOST_PP_INC(i_))::type \
-    /**/
-
-template<
-      typename IsLE, typename Tag
-    , template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F
-    , AUX778076_LAMBDA_PARAMS(i_, typename L)
-    >
-struct BOOST_PP_CAT(le_result,i_)
-{
-    typedef F<
-          BOOST_MPL_PP_REPEAT(i_, AUX778076_TYPE, L)
-        > result_;
-    
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F
-    , AUX778076_LAMBDA_PARAMS(i_, typename L)
-    >
-struct BOOST_PP_CAT(le_result,i_)< true_,Tag,F,AUX778076_LAMBDA_PARAMS(i_, L) >
-{
-    typedef BOOST_PP_CAT(bind,i_)<
-          BOOST_PP_CAT(quote,i_)<F,Tag>
-        , BOOST_MPL_PP_REPEAT(i_, AUX778076_RESULT, L)
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-#   undef AUX778076_TYPE
-#   undef AUX778076_RESULT
-
-} // namespace aux
-
-
-#   define AUX778076_LAMBDA_TYPEDEF(unused, i_, T) \
-    typedef lambda< BOOST_PP_CAT(T, BOOST_PP_INC(i_)), Tag > \
-        BOOST_PP_CAT(l,BOOST_PP_INC(i_)); \
-/**/
-
-#   define AUX778076_IS_LE_TYPEDEF(unused, i_, unused2) \
-    typedef typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::is_le \
-        BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)); \
-/**/
-
-#   define AUX778076_IS_LAMBDA_EXPR(unused, i_, unused2) \
-    BOOST_PP_COMMA_IF(i_) \
-    BOOST_PP_CAT(is_le,BOOST_PP_INC(i_))::value \
-/**/
-
-template<
-      template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F
-    , AUX778076_LAMBDA_PARAMS(i_, typename T)
-    , typename Tag
-    >
-struct lambda< 
-          F<AUX778076_LAMBDA_PARAMS(i_, T)>
-        , Tag
-        AUX778076_ARITY_PARAM(int_<i_>)
-        >
-{
-    BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, T)
-    BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused)
-
-    typedef typename aux::lambda_or<
-          BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused)
-        >::type is_le;
-
-    typedef aux::BOOST_PP_CAT(le_result,i_)<
-          is_le, Tag, F, AUX778076_LAMBDA_PARAMS(i_, l)
-        > le_result_;
-    
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-
-#   undef AUX778076_IS_LAMBDA_EXPR
-#   undef AUX778076_IS_LE_TYPEDEF
-#   undef AUX778076_LAMBDA_TYPEDEF
-
-#endif // i_ > 0
-
-template<
-      typename F AUX778076_BIND_N_PARAMS(i_, typename T)
-    , typename Tag
-    >
-struct lambda<
-          BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_, T)>
-        , Tag
-        AUX778076_ARITY_PARAM(int_<BOOST_PP_INC(i_)>)
-        >
-{
-    typedef false_ is_le;
-    typedef BOOST_PP_CAT(bind,i_)<
-          F
-        AUX778076_BIND_N_PARAMS(i_, T)
-        > result_;
-        
-    typedef result_ type;
-};
-
-#undef i_
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/aux_/has_apply.hpp b/SRC/Boost/boost/mpl/aux_/has_apply.hpp
deleted file mode 100755
index 90cd128..0000000
--- a/SRC/Boost/boost/mpl/aux_/has_apply.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/aux_/config/has_apply.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY)
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_apply, apply, false)
-#else
-template< typename T, typename fallback_ = false_ >
-struct has_apply
-    : fallback_
-{
-};
-#endif
-}}}
-
-#endif // BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/has_begin.hpp b/SRC/Boost/boost/mpl/aux_/has_begin.hpp
deleted file mode 100755
index 65de3e3..0000000
--- a/SRC/Boost/boost/mpl/aux_/has_begin.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_begin.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/has_xxx.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_begin, begin, true)
-}}}
-
-#endif // BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/has_key_impl.hpp b/SRC/Boost/boost/mpl/aux_/has_key_impl.hpp
deleted file mode 100755
index b4a6d96..0000000
--- a/SRC/Boost/boost/mpl/aux_/has_key_impl.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-// Copyright David Abrahams 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/has_key_fwd.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-
-namespace boost { namespace mpl {
-
-// no default implementation; the definition is needed to make MSVC happy 
-
-template< typename Tag > struct has_key_impl
-{
-    template< typename AssociativeSequence, typename Key > struct apply;
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,has_key_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/has_rebind.hpp b/SRC/Boost/boost/mpl/aux_/has_rebind.hpp
deleted file mode 100755
index b2f6268..0000000
--- a/SRC/Boost/boost/mpl/aux_/has_rebind.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_rebind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/intel.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)
-#   include <boost/mpl/has_xxx.hpp>
-#elif BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-#   include <boost/mpl/has_xxx.hpp>
-#   include <boost/mpl/if.hpp>
-#   include <boost/mpl/bool.hpp>
-#   include <boost/mpl/aux_/msvc_is_class.hpp>
-#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-#   include <boost/mpl/if.hpp>
-#   include <boost/mpl/bool.hpp>
-#   include <boost/mpl/aux_/yes_no.hpp>
-#   include <boost/mpl/aux_/config/static_constant.hpp>
-#   include <boost/type_traits/is_class.hpp>
-#else
-#   include <boost/mpl/aux_/type_wrapper.hpp>
-#   include <boost/mpl/aux_/yes_no.hpp>
-#   include <boost/mpl/aux_/config/static_constant.hpp>
-#endif
-
-namespace boost { namespace mpl { namespace aux {
-
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)
-
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind, rebind, false)
-
-#elif BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind_impl, rebind, false)
-
-template< typename T >
-struct has_rebind
-    : if_< 
-          msvc_is_class<T>
-        , has_rebind_impl<T>
-        , bool_<false>
-        >::type
-{
-};
-
-#else // the rest
-
-template< typename T > struct has_rebind_tag {};
-no_tag operator|(has_rebind_tag<int>, void const volatile*);
-
-#   if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-template< typename T >
-struct has_rebind
-{
-    static has_rebind_tag<T>* get();
-    BOOST_STATIC_CONSTANT(bool, value = 
-          sizeof(has_rebind_tag<int>() | get()) == sizeof(yes_tag)
-        );
-};
-#   else // __BORLANDC__
-template< typename T >
-struct has_rebind_impl
-{
-    static T* get();
-    BOOST_STATIC_CONSTANT(bool, value = 
-          sizeof(has_rebind_tag<int>() | get()) == sizeof(yes_tag)
-        );
-};
-
-template< typename T >
-struct has_rebind
-    : if_< 
-          is_class<T>
-        , has_rebind_impl<T>
-        , bool_<false>
-        >::type
-{
-};
-#   endif // __BORLANDC__
-
-#endif
-
-}}}
-
-#endif // BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/has_size.hpp b/SRC/Boost/boost/mpl/aux_/has_size.hpp
deleted file mode 100755
index 2fbcd13..0000000
--- a/SRC/Boost/boost/mpl/aux_/has_size.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/has_xxx.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-BOOST_MPL_HAS_XXX_TRAIT_DEF(size)
-}}}
-
-#endif // BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/has_tag.hpp b/SRC/Boost/boost/mpl/aux_/has_tag.hpp
deleted file mode 100755
index 927f2fd..0000000
--- a/SRC/Boost/boost/mpl/aux_/has_tag.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/has_xxx.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_tag, tag, false)
-}}}
-
-#endif // BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/has_type.hpp b/SRC/Boost/boost/mpl/aux_/has_type.hpp
deleted file mode 100755
index a6066ad..0000000
--- a/SRC/Boost/boost/mpl/aux_/has_type.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_type.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/has_xxx.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true)
-}}}
-
-#endif // BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/include_preprocessed.hpp b/SRC/Boost/boost/mpl/aux_/include_preprocessed.hpp
deleted file mode 100755
index a9ab945..0000000
--- a/SRC/Boost/boost/mpl/aux_/include_preprocessed.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2000-2006
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/compiler.hpp>
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/stringize.hpp>
-
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
-#   define AUX778076_PREPROCESSED_HEADER \
-    BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER \
-/**/
-#else
-#   define AUX778076_PREPROCESSED_HEADER \
-    BOOST_PP_CAT(BOOST_MPL_CFG_COMPILER_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \
-/**/
-#endif
-
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))
-#   define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)
-#   include AUX778076_INCLUDE_STRING
-#   undef AUX778076_INCLUDE_STRING
-#else
-#   include BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)
-#endif
-
-#   undef AUX778076_PREPROCESSED_HEADER
-
-#undef BOOST_MPL_PREPROCESSED_HEADER
diff --git a/SRC/Boost/boost/mpl/aux_/inserter_algorithm.hpp b/SRC/Boost/boost/mpl/aux_/inserter_algorithm.hpp
deleted file mode 100755
index a27e32a..0000000
--- a/SRC/Boost/boost/mpl/aux_/inserter_algorithm.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED
-#define BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: inserter_algorithm.hpp 55648 2009-08-18 05:16:53Z agurtovoy $
-// $Date: 2009-08-18 01:16:53 -0400 (Tue, 18 Aug 2009) $
-// $Revision: 55648 $
-
-#include <boost/mpl/back_inserter.hpp>
-#include <boost/mpl/front_inserter.hpp>
-#include <boost/mpl/push_back.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/mpl/back_inserter.hpp>
-#include <boost/mpl/front_inserter.hpp>
-#include <boost/mpl/clear.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/common_name_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/preprocessor/default_params.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-#include <boost/preprocessor/arithmetic/dec.hpp>
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-#   define BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \
-BOOST_MPL_AUX_COMMON_NAME_WKND(name) \
-template< \
-      BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
-    > \
-struct name \
-    : aux::name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \
-{ \
-}; \
-\
-template< \
-      BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \
-    > \
-struct name< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P),na > \
-    : if_< has_push_back< typename clear<P1>::type> \
-        , aux::name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
-            , back_inserter< typename clear<P1>::type > \
-            > \
-        , aux::reverse_##name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
-            , front_inserter< typename clear<P1>::type > \
-            > \
-        >::type \
-{ \
-}; \
-\
-template< \
-      BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
-    > \
-struct reverse_##name \
-    : aux::reverse_##name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \
-{ \
-}; \
-\
-template< \
-      BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \
-    > \
-struct reverse_##name< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P),na > \
-    : if_< has_push_back<P1> \
-        , aux::reverse_##name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
-            , back_inserter< typename clear<P1>::type > \
-            > \
-        , aux::name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
-            , front_inserter< typename clear<P1>::type > \
-            > \
-        >::type \
-{ \
-}; \
-BOOST_MPL_AUX_NA_SPEC(arity, name) \
-BOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \
-/**/
-
-#else
-
-#   define BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \
-BOOST_MPL_AUX_COMMON_NAME_WKND(name) \
-template< \
-      BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \
-    > \
-struct def_##name##_impl \
-    : if_< has_push_back<P1> \
-        , aux::name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
-            , back_inserter< typename clear<P1>::type > \
-            > \
-        , aux::reverse_##name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
-            , front_inserter< typename clear<P1>::type > \
-            > \
-        >::type \
-{ \
-}; \
-\
-template< \
-      BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
-    > \
-struct name \
-{ \
-    typedef typename eval_if< \
-          is_na<BOOST_PP_CAT(P, arity)> \
-        , def_##name##_impl<BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P)> \
-        , aux::name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \
-        >::type type; \
-}; \
-\
-template< \
-      BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \
-    > \
-struct def_reverse_##name##_impl \
-    : if_< has_push_back<P1> \
-        , aux::reverse_##name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
-            , back_inserter< typename clear<P1>::type > \
-            > \
-        , aux::name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
-            , front_inserter< typename clear<P1>::type > \
-            > \
-        >::type \
-{ \
-}; \
-template< \
-      BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
-    > \
-struct reverse_##name \
-{ \
-    typedef typename eval_if< \
-          is_na<BOOST_PP_CAT(P, arity)> \
-        , def_reverse_##name##_impl<BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P)> \
-        , aux::reverse_##name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \
-        >::type type; \
-}; \
-BOOST_MPL_AUX_NA_SPEC(arity, name) \
-BOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \
-/**/
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/integral_wrapper.hpp b/SRC/Boost/boost/mpl/aux_/integral_wrapper.hpp
deleted file mode 100755
index 3c859d3..0000000
--- a/SRC/Boost/boost/mpl/aux_/integral_wrapper.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2006
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: integral_wrapper.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-#include <boost/mpl/integral_c_tag.hpp>
-#include <boost/mpl/aux_/static_cast.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/preprocessor/cat.hpp>
-
-#if !defined(AUX_WRAPPER_NAME)
-#   define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_)
-#endif
-
-#if !defined(AUX_WRAPPER_PARAMS)
-#   define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N)
-#endif
-
-#if !defined(AUX_WRAPPER_INST)
-#   if BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
-#       define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< value >
-#   else 
-#       define AUX_WRAPPER_INST(value) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::AUX_WRAPPER_NAME< value >
-#   endif
-#endif
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< AUX_WRAPPER_PARAMS(N) >
-struct AUX_WRAPPER_NAME
-{
-    BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N);
-// agurt, 08/mar/03: SGI MIPSpro C++ workaround, have to #ifdef because some 
-// other compilers (e.g. MSVC) are not particulary happy about it
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-    typedef struct AUX_WRAPPER_NAME type;
-#else
-    typedef AUX_WRAPPER_NAME type;
-#endif
-    typedef AUX_WRAPPER_VALUE_TYPE value_type;
-    typedef integral_c_tag tag;
-
-// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),
-// while some other don't like 'value + 1' (Borland), and some don't like
-// either
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243)
- private:
-    BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)));
-    BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)));
- public:
-    typedef AUX_WRAPPER_INST(next_value) next;
-    typedef AUX_WRAPPER_INST(prior_value) prior;
-#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \
-    || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \
-    || (BOOST_WORKAROUND(__HP_aCC, <= 53800) && (BOOST_WORKAROUND(__hpxstd98, != 1)))
-    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)) ) next;
-    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)) ) prior;
-#else
-    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value + 1)) ) next;
-    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;
-#endif
-
-    // enables uniform function call syntax for families of overloaded 
-    // functions that return objects of both arithmetic ('int', 'long',
-    // 'double', etc.) and wrapped integral types (for an example, see 
-    // "mpl/example/power.cpp")
-    operator AUX_WRAPPER_VALUE_TYPE() const { return static_cast<AUX_WRAPPER_VALUE_TYPE>(this->value); } 
-};
-
-#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-template< AUX_WRAPPER_PARAMS(N) >
-AUX_WRAPPER_VALUE_TYPE const AUX_WRAPPER_INST(N)::value;
-#endif
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-#undef AUX_WRAPPER_NAME
-#undef AUX_WRAPPER_PARAMS
-#undef AUX_WRAPPER_INST
-#undef AUX_WRAPPER_VALUE_TYPE
diff --git a/SRC/Boost/boost/mpl/aux_/is_msvc_eti_arg.hpp b/SRC/Boost/boost/mpl/aux_/is_msvc_eti_arg.hpp
deleted file mode 100755
index db803e2..0000000
--- a/SRC/Boost/boost/mpl/aux_/is_msvc_eti_arg.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED
-#define BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: is_msvc_eti_arg.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-
-template< typename T >
-struct is_msvc_eti_arg
-{ 
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-#else // BOOST_MPL_CFG_MSVC_60_ETI_BUG
-
-struct eti_int_convertible
-{
-    eti_int_convertible(int);
-};
-
-template< typename T >
-struct is_msvc_eti_arg
-{ 
-    static no_tag test(...);
-    static yes_tag test(eti_int_convertible);
-    static T& get();
-
-    BOOST_STATIC_CONSTANT(bool, value = 
-          sizeof(test(get())) == sizeof(yes_tag)
-        );
-};
-
-#endif
-
-template<>
-struct is_msvc_eti_arg<int>
-{ 
-    BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-#endif // BOOST_MPL_CFG_MSVC_ETI_BUG
-
-}}}
-
-#endif // BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/iter_apply.hpp b/SRC/Boost/boost/mpl/aux_/iter_apply.hpp
deleted file mode 100755
index 9da7e16..0000000
--- a/SRC/Boost/boost/mpl/aux_/iter_apply.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#ifndef BOOST_MPL_ITER_APPLY_HPP_INCLUDED
-#define BOOST_MPL_ITER_APPLY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: iter_apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/deref.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template<
-      typename F
-    , typename Iterator
-    >
-struct iter_apply1
-    : apply1< F,typename deref<Iterator>::type >
-{
-};
-
-template<
-      typename F
-    , typename Iterator1
-    , typename Iterator2
-    >
-struct iter_apply2
-    : apply2<
-          F
-        , typename deref<Iterator1>::type
-        , typename deref<Iterator2>::type
-        >
-{
-};
-
-}}}
-
-#endif // BOOST_MPL_ITER_APPLY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/iter_fold_if_impl.hpp b/SRC/Boost/boost/mpl/aux_/iter_fold_if_impl.hpp
deleted file mode 100755
index c1ced94..0000000
--- a/SRC/Boost/boost/mpl/aux_/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,210 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: iter_fold_if_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/identity.hpp>
-#   include <boost/mpl/next.hpp>
-#   include <boost/mpl/if.hpp>
-#   include <boost/mpl/apply.hpp>
-#   include <boost/mpl/aux_/value_wknd.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER iter_fold_if_impl.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/unrolling.hpp>
-#   include <boost/preprocessor/arithmetic/sub.hpp>
-#   include <boost/preprocessor/repeat.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/dec.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
-    typedef State state;
-    typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef typename apply2<StateOp,State,Iterator>::type state;
-        typedef typename IteratorOp::type iterator;
-    };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef State state;
-        typedef Iterator iterator;
-    };
-};
-
-// agurt, 25/jun/02: MSVC 6.5 workaround, had to get rid of inheritance 
-// here and in 'iter_fold_if_backward_step', because sometimes it interfered 
-// with the "early template instantiation bug" in _really_ ugly ways
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_forward_step
-{
-    typedef typename apply2<Predicate,State,Iterator>::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,ForwardOp,mpl::next<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename BackwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_backward_step
-{
-    typedef typename apply2<Predicate,State,Iterator>::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,BackwardOp,identity<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-
-// local macros, #undef-ined at the end of the header
-
-#   define AUX_ITER_FOLD_FORWARD_STEP(unused, i, unused2) \
-    typedef iter_fold_if_forward_step< \
-          typename BOOST_PP_CAT(forward_step,i)::iterator \
-        , typename BOOST_PP_CAT(forward_step,i)::state \
-        , ForwardOp \
-        , ForwardPredicate \
-        > BOOST_PP_CAT(forward_step, BOOST_PP_INC(i)); \
-    /**/
-
-#   define AUX_ITER_FOLD_BACKWARD_STEP_FUNC(i) \
-    typedef iter_fold_if_backward_step< \
-          typename BOOST_PP_CAT(forward_step,BOOST_PP_DEC(i))::iterator \
-        , typename BOOST_PP_CAT(backward_step,i)::state \
-        , BackwardOp \
-        , BackwardPredicate \
-        > BOOST_PP_CAT(backward_step,BOOST_PP_DEC(i)); \
-    /**/
-
-#   define AUX_ITER_FOLD_BACKWARD_STEP(unused, i, unused2) \
-    AUX_ITER_FOLD_BACKWARD_STEP_FUNC( \
-        BOOST_PP_SUB_D(1,BOOST_MPL_LIMIT_UNROLLING,i) \
-        ) \
-    /**/
-
-#   define AUX_LAST_FORWARD_STEP \
-    BOOST_PP_CAT(forward_step, BOOST_MPL_LIMIT_UNROLLING) \
-    /**/
-
-#   define AUX_LAST_BACKWARD_STEP \
-    BOOST_PP_CAT(backward_step, BOOST_MPL_LIMIT_UNROLLING) \
-    /**/
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename ForwardPredicate
-    , typename BackwardOp
-    , typename BackwardPredicate
-    >
-struct iter_fold_if_impl
-{
- private:
-    typedef iter_fold_if_null_step<Iterator,State> forward_step0;
-    BOOST_PP_REPEAT(
-          BOOST_MPL_LIMIT_UNROLLING
-        , AUX_ITER_FOLD_FORWARD_STEP
-        , unused
-        )
-    
-    typedef typename if_<
-          typename AUX_LAST_FORWARD_STEP::not_last
-        , iter_fold_if_impl<
-              typename AUX_LAST_FORWARD_STEP::iterator
-            , typename AUX_LAST_FORWARD_STEP::state
-            , ForwardOp
-            , ForwardPredicate
-            , BackwardOp
-            , BackwardPredicate
-            >
-        , iter_fold_if_null_step<
-              typename AUX_LAST_FORWARD_STEP::iterator
-            , typename AUX_LAST_FORWARD_STEP::state
-            >
-        >::type AUX_LAST_BACKWARD_STEP;
-
-    BOOST_PP_REPEAT(
-          BOOST_MPL_LIMIT_UNROLLING
-        , AUX_ITER_FOLD_BACKWARD_STEP
-        , unused
-        )
-
- public:
-    typedef typename backward_step0::state state;
-    typedef typename AUX_LAST_BACKWARD_STEP::iterator iterator;
-};
-
-#   undef AUX_LAST_BACKWARD_STEP
-#   undef AUX_LAST_FORWARD_STEP
-#   undef AUX_ITER_FOLD_BACKWARD_STEP
-#   undef AUX_ITER_FOLD_BACKWARD_STEP_FUNC
-#   undef AUX_ITER_FOLD_FORWARD_STEP
-
-}}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/iter_fold_impl.hpp
deleted file mode 100755
index d4e9110..0000000
--- a/SRC/Boost/boost/mpl/aux_/iter_fold_impl.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: iter_fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/next_prior.hpp>
-#   include <boost/mpl/apply.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#       include <boost/mpl/if.hpp>
-#       include <boost/type_traits/is_same.hpp>
-#   endif
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER iter_fold_impl.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   define AUX778076_FOLD_IMPL_OP(iter) iter
-#   define AUX778076_FOLD_IMPL_NAME_PREFIX iter_fold
-#   include <boost/mpl/aux_/fold_impl_body.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/lambda_arity_param.hpp b/SRC/Boost/boost/mpl/aux_/lambda_arity_param.hpp
deleted file mode 100755
index 919184f..0000000
--- a/SRC/Boost/boost/mpl/aux_/lambda_arity_param.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
-#define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: lambda_arity_param.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/ttp.hpp>
-
-#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-#   define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param)    
-#else
-#   define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param
-#endif
-
-#endif // BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/lambda_no_ctps.hpp b/SRC/Boost/boost/mpl/aux_/lambda_no_ctps.hpp
deleted file mode 100755
index bdf5452..0000000
--- a/SRC/Boost/boost/mpl/aux_/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED
-#define BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: lambda_no_ctps.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/lambda_fwd.hpp>
-#   include <boost/mpl/bind_fwd.hpp>
-#   include <boost/mpl/protect.hpp>
-#   include <boost/mpl/is_placeholder.hpp>
-#   include <boost/mpl/if.hpp>
-#   include <boost/mpl/identity.hpp>
-#   include <boost/mpl/bool.hpp>
-#   include <boost/mpl/aux_/na_spec.hpp>
-#   include <boost/mpl/aux_/lambda_support.hpp>
-#   include <boost/mpl/aux_/template_arity.hpp>
-#   include <boost/mpl/aux_/value_wknd.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if    !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER lambda_no_ctps.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-#   include <boost/mpl/aux_/preprocessor/default_params.hpp>
-#   include <boost/mpl/aux_/preprocessor/repeat.hpp>
-#   include <boost/mpl/aux_/preprocessor/enum.hpp>
-#   include <boost/mpl/aux_/config/msvc.hpp>
-#   include <boost/mpl/aux_/config/workaround.hpp>
-
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-#   define AUX778076_LAMBDA_PARAMS(i_, param) \
-    BOOST_MPL_PP_PARAMS(i_, param) \
-    /**/
-
-namespace aux {
-
-#define n_ BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-template<
-      BOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false)
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< BOOST_MPL_PP_ENUM(n_,false) >
-    : false_
-{
-};
-#undef n_
-
-template< typename Arity > struct lambda_impl
-{
-    template< typename T, typename Tag, typename Protect > struct result_
-    {
-        typedef T type;
-        typedef is_placeholder<T> is_le;
-    };
-};
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/aux_/lambda_no_ctps.hpp>))
-#include BOOST_PP_ITERATE()
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Protect
-    >
-struct lambda
-{
-    /// Metafunction forwarding confuses MSVC 6.x
-    typedef typename aux::template_arity<T>::type arity_;
-    typedef typename aux::lambda_impl<arity_>
-        ::template result_< T,Tag,Protect > l_;
-
-    typedef typename l_::type type;
-    typedef typename l_::is_le is_le;
-    
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-#   undef AUX778076_LAMBDA_PARAMS
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-#else
-
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#   define AUX778076_LAMBDA_TYPEDEF(unused, i_, F) \
-    typedef lambda< \
-          typename F::BOOST_PP_CAT(arg,BOOST_PP_INC(i_)) \
-        , Tag \
-        , false_ \
-        > BOOST_PP_CAT(l,BOOST_PP_INC(i_)); \
-    /**/
-
-#   define AUX778076_IS_LE_TYPEDEF(unused, i_, unused2) \
-    typedef typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::is_le \
-        BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)); \
-    /**/
-
-#   define AUX778076_IS_LAMBDA_EXPR(unused, i_, unused2) \
-    BOOST_PP_COMMA_IF(i_) \
-    BOOST_MPL_AUX_MSVC_VALUE_WKND(BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)))::value \
-    /**/
-
-#   define AUX778076_LAMBDA_RESULT(unused, i_, unused2) \
-    , typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::type \
-    /**/
-
-template<> struct lambda_impl< int_<i_> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, F)
-        BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused)
-
-        typedef aux::lambda_or<
-              BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused)
-            > is_le;
-
-        typedef BOOST_PP_CAT(bind,i_)<
-              typename F::rebind
-            BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_RESULT, unused)
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-    
-        typedef typename type_::type type;
-    };
-};
-
-#   undef AUX778076_LAMBDA_RESULT
-#   undef AUX778076_IS_LAMBDA_EXPR
-#   undef AUX778076_IS_LE_TYPEDEF
-#   undef AUX778076_LAMBDA_TYPEDEF
-
-#undef i_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/aux_/lambda_spec.hpp b/SRC/Boost/boost/mpl/aux_/lambda_spec.hpp
deleted file mode 100755
index 20bbc43..0000000
--- a/SRC/Boost/boost/mpl/aux_/lambda_spec.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED
-#define BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2007
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: lambda_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/lambda_fwd.hpp>
-#include <boost/mpl/int_fwd.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/lambda_arity_param.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-
-#   define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) \
-template< \
-      BOOST_MPL_PP_PARAMS(i, typename T) \
-    , typename Tag \
-    > \
-struct lambda< \
-      name< BOOST_MPL_PP_PARAMS(i, T) > \
-    , Tag \
-    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<i>) \
-    > \
-{ \
-    typedef false_ is_le; \
-    typedef name< BOOST_MPL_PP_PARAMS(i, T) > result_; \
-    typedef result_ type; \
-}; \
-/**/
-
-#else
-
-#   define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/lambda_support.hpp b/SRC/Boost/boost/mpl/aux_/lambda_support.hpp
deleted file mode 100755
index e0f36ac..0000000
--- a/SRC/Boost/boost/mpl/aux_/lambda_support.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
-#define BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: lambda_support.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/lambda.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) /**/
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/
-
-#else
-
-#   include <boost/mpl/int_fwd.hpp>
-#   include <boost/mpl/aux_/yes_no.hpp>
-#   include <boost/mpl/aux_/na_fwd.hpp>
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-#   include <boost/mpl/aux_/preprocessor/enum.hpp>
-#   include <boost/mpl/aux_/config/msvc.hpp>
-#   include <boost/mpl/aux_/config/workaround.hpp>
-
-#   include <boost/preprocessor/tuple/to_list.hpp>
-#   include <boost/preprocessor/list/for_each_i.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC(R,typedef_,i,param) \
-    typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \
-    /**/
-
-// agurt, 07/mar/03: restore an old revision for the sake of SGI MIPSpro C++
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) 
-
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
-    typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \
-    BOOST_PP_LIST_FOR_EACH_I_R( \
-          1 \
-        , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
-        , typedef \
-        , BOOST_PP_TUPLE_TO_LIST(i,params) \
-        ) \
-    struct rebind \
-    { \
-        template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
-            : name< BOOST_MPL_PP_PARAMS(i,U) > \
-        { \
-        }; \
-    }; \
-    /**/
-
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
-    /**/
-
-#elif BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)
-// agurt, 18/jan/03: old EDG-based compilers actually enforce 11.4 para 9
-// (in strict mode), so we have to provide an alternative to the 
-// MSVC-optimized implementation
-
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
-    typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \
-    BOOST_PP_LIST_FOR_EACH_I_R( \
-          1 \
-        , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
-        , typedef \
-        , BOOST_PP_TUPLE_TO_LIST(i,params) \
-        ) \
-    struct rebind; \
-/**/
-
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
-}; \
-template< BOOST_MPL_PP_PARAMS(i,typename T) > \
-struct name<BOOST_MPL_PP_PARAMS(i,T)>::rebind \
-{ \
-    template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
-        : name< BOOST_MPL_PP_PARAMS(i,U) > \
-    { \
-    }; \
-/**/
-
-#else // __EDG_VERSION__
-
-namespace boost { namespace mpl { namespace aux {
-template< typename T > struct has_rebind_tag;
-}}}
-
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
-    typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \
-    BOOST_PP_LIST_FOR_EACH_I_R( \
-          1 \
-        , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
-        , typedef \
-        , BOOST_PP_TUPLE_TO_LIST(i,params) \
-        ) \
-    friend class BOOST_PP_CAT(name,_rebind); \
-    typedef BOOST_PP_CAT(name,_rebind) rebind; \
-/**/
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
-template< BOOST_MPL_PP_PARAMS(i,typename T) > \
-::boost::mpl::aux::yes_tag operator|( \
-      ::boost::mpl::aux::has_rebind_tag<int> \
-    , name<BOOST_MPL_PP_PARAMS(i,T)>* \
-    ); \
-::boost::mpl::aux::no_tag operator|( \
-      ::boost::mpl::aux::has_rebind_tag<int> \
-    , name< BOOST_MPL_PP_ENUM(i,::boost::mpl::na) >* \
-    ); \
-/**/
-#elif !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
-template< BOOST_MPL_PP_PARAMS(i,typename T) > \
-::boost::mpl::aux::yes_tag operator|( \
-      ::boost::mpl::aux::has_rebind_tag<int> \
-    , ::boost::mpl::aux::has_rebind_tag< name<BOOST_MPL_PP_PARAMS(i,T)> >* \
-    ); \
-/**/
-#else
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) /**/
-#endif
-
-#   if !defined(__BORLANDC__)
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
-}; \
-BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
-class BOOST_PP_CAT(name,_rebind) \
-{ \
- public: \
-    template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
-        : name< BOOST_MPL_PP_PARAMS(i,U) > \
-    { \
-    }; \
-/**/
-#   else
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
-}; \
-BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
-class BOOST_PP_CAT(name,_rebind) \
-{ \
- public: \
-    template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
-    { \
-        typedef typename name< BOOST_MPL_PP_PARAMS(i,U) >::type type; \
-    }; \
-/**/
-#   endif // __BORLANDC__
-
-#endif // __EDG_VERSION__
-
-#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-
-#endif // BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/largest_int.hpp b/SRC/Boost/boost/mpl/aux_/largest_int.hpp
deleted file mode 100755
index 0805371..0000000
--- a/SRC/Boost/boost/mpl/aux_/largest_int.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
-#define BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: largest_int.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/aux_/config/integral.hpp>
-#include <boost/config.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename T > struct integral_rank;
-
-template<> struct integral_rank<bool>           : int_<1> {};
-template<> struct integral_rank<signed char>    : int_<2> {};
-template<> struct integral_rank<char>           : int_<3> {};
-template<> struct integral_rank<unsigned char>  : int_<4> {};
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-template<> struct integral_rank<wchar_t>        : int_<5> {};
-#endif
-template<> struct integral_rank<short>          : int_<6> {};
-template<> struct integral_rank<unsigned short> : int_<7> {};
-template<> struct integral_rank<int>            : int_<8> {};
-template<> struct integral_rank<unsigned int>   : int_<9> {};
-template<> struct integral_rank<long>           : int_<10> {};
-template<> struct integral_rank<unsigned long>  : int_<11> {};
-
-#if defined(BOOST_HAS_LONG_LONG)
-template<> struct integral_rank<long_long_type> : int_<12> {};
-template<> struct integral_rank<ulong_long_type>: int_<13> {};
-#endif
-
-template< typename T1, typename T2 > struct largest_int
-#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
-    : if_c< 
-          ( integral_rank<T1>::value >= integral_rank<T2>::value )
-        , T1
-        , T2
-        >
-{
-#else
-{
-    enum { rank1 = integral_rank<T1>::value };
-    enum { rank2 = integral_rank<T2>::value };
-    typedef typename if_c< (rank1 >= rank2),T1,T2 >::type type;
-#endif
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/logical_op.hpp b/SRC/Boost/boost/mpl/aux_/logical_op.hpp
deleted file mode 100755
index ac38efa..0000000
--- a/SRC/Boost/boost/mpl/aux_/logical_op.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: logical_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/bool.hpp>
-#   include <boost/mpl/aux_/nested_type_wknd.hpp>
-#   include <boost/mpl/aux_/na_spec.hpp>
-#   include <boost/mpl/aux_/lambda_support.hpp>
-#endif
-
-#include <boost/mpl/limits/arity.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/preprocessor/ext_params.hpp>
-#include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>
-#include <boost/mpl/aux_/preprocessor/enum.hpp>
-#include <boost/mpl/aux_/preprocessor/sub.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/inc.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-#   define AUX778076_PARAMS(param, sub) \
-    BOOST_MPL_PP_PARAMS( \
-          BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY, sub) \
-        , param \
-        ) \
-    /**/
-
-#   define AUX778076_SHIFTED_PARAMS(param, sub) \
-    BOOST_MPL_PP_EXT_PARAMS( \
-          2, BOOST_MPL_PP_SUB(BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY), sub) \
-        , param \
-        ) \
-    /**/
-
-#   define AUX778076_SPEC_PARAMS(param) \
-    BOOST_MPL_PP_ENUM( \
-          BOOST_PP_DEC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \
-        , param \
-        ) \
-    /**/
-
-namespace aux {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< bool C_, AUX778076_PARAMS(typename T, 1) >
-struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)
-    : BOOST_PP_CAT(AUX778076_OP_VALUE1,_)
-{
-};
-
-template< AUX778076_PARAMS(typename T, 1) >
-struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)< AUX778076_OP_VALUE2,AUX778076_PARAMS(T, 1) >
-    : BOOST_PP_CAT(AUX778076_OP_NAME,impl)<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , AUX778076_SHIFTED_PARAMS(T, 1)
-        , BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
-        >
-{
-};
-
-template<>
-struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)<
-          AUX778076_OP_VALUE2
-        , AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_))
-        >
-    : BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
-{
-};
-
-#else
-
-template< bool C_ > struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)
-{
-    template< AUX778076_PARAMS(typename T, 1) > struct result_
-        : BOOST_PP_CAT(AUX778076_OP_VALUE1,_)
-    {
-    };
-};
-
-template<> struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)<AUX778076_OP_VALUE2>
-{
-    template< AUX778076_PARAMS(typename T, 1) > struct result_
-        : BOOST_PP_CAT(AUX778076_OP_NAME,impl)< 
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-            >::template result_< AUX778076_SHIFTED_PARAMS(T,1),BOOST_PP_CAT(AUX778076_OP_VALUE2,_) >
-    {
-    };
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-    template<> struct result_<AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_))>
-        : BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
-    {
-    };
-};
-#else
-};
-
-template<>
-struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)<AUX778076_OP_VALUE2>
-    ::result_< AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) >
-        : BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
-{
-};
-#endif // BOOST_MSVC == 1300
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename T, BOOST_PP_CAT(AUX778076_OP_VALUE2,_))
-    >
-struct AUX778076_OP_NAME
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , AUX778076_SHIFTED_PARAMS(T,0)
-        >
-#else
-    : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)< 
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        >::template result_< AUX778076_SHIFTED_PARAMS(T,0) >
-#endif
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-        , AUX778076_OP_NAME
-        , (AUX778076_PARAMS(T, 0))
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-    , AUX778076_OP_NAME
-    )
-
-}}
-
-#undef AUX778076_SPEC_PARAMS
-#undef AUX778076_SHIFTED_PARAMS
-#undef AUX778076_PARAMS
-#undef AUX778076_OP_NAME
-#undef AUX778076_OP_VALUE1
-#undef AUX778076_OP_VALUE2
diff --git a/SRC/Boost/boost/mpl/aux_/msvc_dtw.hpp b/SRC/Boost/boost/mpl/aux_/msvc_dtw.hpp
deleted file mode 100755
index 53f4208..0000000
--- a/SRC/Boost/boost/mpl/aux_/msvc_dtw.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: msvc_dtw.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-
-// local macros, #undef-ined at the end of the header
-#define AUX778076_DTW_PARAMS(param) \
-    BOOST_MPL_PP_PARAMS(AUX778076_MSVC_DTW_ARITY, param) \
-/**/
-
-#define AUX778076_DTW_ORIGINAL_NAME \
-    AUX778076_MSVC_DTW_ORIGINAL_NAME \
-/**/
-
-// warning: not a well-formed C++
-// workaround for MSVC 6.5's "dependent template typedef bug"
-
-template< typename F>
-struct AUX778076_MSVC_DTW_NAME
-{
-    template< bool > struct f_ : F {};
-    template<> struct f_<true>
-    {
-#if AUX778076_MSVC_DTW_ARITY > 0
-        template< AUX778076_DTW_PARAMS(typename P) > struct AUX778076_DTW_ORIGINAL_NAME
-        {
-            typedef int type;
-        };
-    };
-
-    template< AUX778076_DTW_PARAMS(typename T) > struct result_
-        : f_< aux::msvc_never_true<F>::value >
-            ::template AUX778076_DTW_ORIGINAL_NAME< AUX778076_DTW_PARAMS(T) >
-    {
-    };
-#else
-        template< typename P = int > struct AUX778076_DTW_ORIGINAL_NAME
-        {
-            typedef int type;
-        };
-    };
-
-    template< typename T = int > struct result_
-        : f_< aux::msvc_never_true<F>::value >
-            ::template AUX778076_DTW_ORIGINAL_NAME<>
-    {
-    };
-#endif
-};
-
-#undef AUX778076_DTW_ORIGINAL_NAME
-#undef AUX778076_DTW_PARAMS
-
-#undef AUX778076_MSVC_DTW_NAME
-#undef AUX778076_MSVC_DTW_ORIGINAL_NAME
-#undef AUX778076_MSVC_DTW_ARITY
diff --git a/SRC/Boost/boost/mpl/aux_/msvc_eti_base.hpp b/SRC/Boost/boost/mpl/aux_/msvc_eti_base.hpp
deleted file mode 100755
index b2e1b9e..0000000
--- a/SRC/Boost/boost/mpl/aux_/msvc_eti_base.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
-#define BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: msvc_eti_base.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/is_msvc_eti_arg.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
-
-template< bool > struct msvc_eti_base_impl
-{
-    template< typename T > struct result_
-        : T
-    {
-        typedef T type;
-    };
-};
-
-template<> struct msvc_eti_base_impl<true>
-{
-    template< typename T > struct result_
-    {
-        typedef result_ type;
-        typedef result_ first;
-        typedef result_ second;
-        typedef result_ tag;
-        enum { value = 0 };
-    };
-};
-
-template< typename T > struct msvc_eti_base
-    : msvc_eti_base_impl< is_msvc_eti_arg<T>::value >
-        ::template result_<T>
-{
-};
-
-#else // !BOOST_MPL_CFG_MSVC_70_ETI_BUG
-
-template< typename T > struct msvc_eti_base
-    : T
-{
-#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304))
-    msvc_eti_base();
-#endif
-    typedef T type;
-};
-
-#endif 
-
-template<> struct msvc_eti_base<int>
-{
-    typedef msvc_eti_base type;
-    typedef msvc_eti_base first;
-    typedef msvc_eti_base second;
-    typedef msvc_eti_base tag;
-    enum { value = 0 };
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/msvc_is_class.hpp b/SRC/Boost/boost/mpl/aux_/msvc_is_class.hpp
deleted file mode 100755
index 838c87c..0000000
--- a/SRC/Boost/boost/mpl/aux_/msvc_is_class.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED
-#define BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: msvc_is_class.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-
-#include <boost/type_traits/is_reference.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename T > struct is_class_helper
-{
-    typedef int (T::* type)();
-};
-
-// MSVC 6.x-specific lightweight 'is_class' implementation; 
-// Distinguishing feature: does not instantiate the type being tested.
-template< typename T >
-struct msvc_is_class_impl
-{
-    template< typename U>
-    static yes_tag  test(type_wrapper<U>*, /*typename*/ is_class_helper<U>::type = 0);
-    static no_tag   test(void const volatile*, ...);
-
-    enum { value = sizeof(test((type_wrapper<T>*)0)) == sizeof(yes_tag) };
-    typedef bool_<value> type;
-};
-
-// agurt, 17/sep/04: have to check for 'is_reference' upfront to avoid ICEs in
-// complex metaprograms
-template< typename T >
-struct msvc_is_class
-    : if_<
-          is_reference<T>
-        , false_
-        , msvc_is_class_impl<T>
-        >::type
-{
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/msvc_never_true.hpp b/SRC/Boost/boost/mpl/aux_/msvc_never_true.hpp
deleted file mode 100755
index 265fbb9..0000000
--- a/SRC/Boost/boost/mpl/aux_/msvc_never_true.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED
-#define BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: msvc_never_true.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename T >
-struct msvc_never_true
-{
-    enum { value = false };
-};
-
-}}}
-
-#endif // BOOST_MSVC
-
-#endif // BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/msvc_type.hpp b/SRC/Boost/boost/mpl/aux_/msvc_type.hpp
deleted file mode 100755
index 6bec7fd..0000000
--- a/SRC/Boost/boost/mpl/aux_/msvc_type.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED
-#define BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: msvc_type.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/is_msvc_eti_arg.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
-
-template< bool > struct msvc_type_impl
-{
-    template< typename T > struct result_
-    {
-        typedef typename T::type type;
-    };
-};
-
-template<> struct msvc_type_impl<true>
-{
-    template< typename T > struct result_
-    {
-        typedef result_ type;
-    };
-};
-
-template< typename T > struct msvc_type
-    : msvc_type_impl< is_msvc_eti_arg<T>::value >
-        ::template result_<T>
-{
-};
-
-#else // BOOST_MPL_CFG_MSVC_70_ETI_BUG
-
-template< typename T > struct msvc_type 
-{
-    typedef typename T::type type;
-};
-
-template<> struct msvc_type<int>
-{
-    typedef int type;
-};
-
-#endif
-
-}}}
-
-#endif // BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/na.hpp b/SRC/Boost/boost/mpl/aux_/na.hpp
deleted file mode 100755
index b001113..0000000
--- a/SRC/Boost/boost/mpl/aux_/na.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NA_HPP_INCLUDED
-#define BOOST_MPL_AUX_NA_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: na.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/na_fwd.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename T >
-struct is_na
-    : false_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    using false_::value;
-#endif
-};
-
-template<>
-struct is_na<na>
-    : true_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    using true_::value;
-#endif
-};
-
-template< typename T >
-struct is_not_na
-    : true_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    using true_::value;
-#endif
-};
-
-template<>
-struct is_not_na<na>
-    : false_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    using false_::value;
-#endif
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-template< typename T, typename U > struct if_na
-{
-    typedef T type;
-};
-
-template< typename U > struct if_na<na,U>
-{
-    typedef U type;
-};
-#else
-template< typename T > struct if_na_impl
-{
-    template< typename U > struct apply
-    {
-        typedef T type;
-    };
-};
-
-template<> struct if_na_impl<na>
-{
-    template< typename U > struct apply
-    {
-        typedef U type;
-    };
-};
-
-template< typename T, typename U > struct if_na
-    : if_na_impl<T>::template apply<U>
-{
-};
-#endif
-
-}}
-
-#endif // BOOST_MPL_AUX_NA_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/na_assert.hpp b/SRC/Boost/boost/mpl/aux_/na_assert.hpp
deleted file mode 100755
index 2651a9e..0000000
--- a/SRC/Boost/boost/mpl/aux_/na_assert.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED
-#define BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: na_assert.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !BOOST_WORKAROUND(_MSC_FULL_VER, <= 140050601)    \
-    && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243)
-#   include <boost/mpl/assert.hpp>
-#   define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \
-    BOOST_MPL_ASSERT_NOT((boost::mpl::is_na<type>)) \
-/**/
-#else
-#   include <boost/static_assert.hpp>
-#   define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \
-    BOOST_STATIC_ASSERT(!boost::mpl::is_na<x>::value) \
-/**/
-#endif
-
-#endif // BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/na_fwd.hpp b/SRC/Boost/boost/mpl/aux_/na_fwd.hpp
deleted file mode 100755
index f181b77..0000000
--- a/SRC/Boost/boost/mpl/aux_/na_fwd.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
-#define BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: na_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-// n.a. == not available
-struct na
-{
-    typedef na type;
-    enum { value = 0 };
-};
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(na)
-
-#endif // BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/na_spec.hpp b/SRC/Boost/boost/mpl/aux_/na_spec.hpp
deleted file mode 100755
index a3387b7..0000000
--- a/SRC/Boost/boost/mpl/aux_/na_spec.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED
-#define BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: na_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/lambda_fwd.hpp>
-#   include <boost/mpl/int.hpp>
-#   include <boost/mpl/bool.hpp>
-#   include <boost/mpl/aux_/na.hpp>
-#   include <boost/mpl/aux_/arity.hpp>
-#   include <boost/mpl/aux_/template_arity_fwd.hpp>
-#endif
-
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/preprocessor/enum.hpp>
-#include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>
-#include <boost/mpl/aux_/lambda_arity_param.hpp>
-#include <boost/mpl/aux_/config/dtp.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/config/ttp.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-#include <boost/mpl/aux_/config/overload_resolution.hpp>
-
-
-#define BOOST_MPL_AUX_NA_PARAMS(i) \
-    BOOST_MPL_PP_ENUM(i, na) \
-/**/
-
-#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-#   define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \
-namespace aux { \
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > \
-struct arity< \
-          name< BOOST_MPL_AUX_NA_PARAMS(i) > \
-        , N \
-        > \
-    : int_< BOOST_MPL_LIMIT_METAFUNCTION_ARITY > \
-{ \
-}; \
-} \
-/**/
-#else
-#   define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) /**/
-#endif
-
-#define BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \
-template<> \
-struct name< BOOST_MPL_AUX_NA_PARAMS(i) > \
-{ \
-    template< \
-          BOOST_MPL_PP_PARAMS(i, typename T) \
-        BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, typename T, na) \
-        > \
-    struct apply \
-        : name< BOOST_MPL_PP_PARAMS(i, T) > \
-    { \
-    }; \
-}; \
-/**/
-
-#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-#   define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
-template<> \
-struct lambda< \
-      name< BOOST_MPL_AUX_NA_PARAMS(i) > \
-    , void_ \
-    , true_ \
-    > \
-{ \
-    typedef false_ is_le; \
-    typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \
-}; \
-template<> \
-struct lambda< \
-      name< BOOST_MPL_AUX_NA_PARAMS(i) > \
-    , void_ \
-    , false_ \
-    > \
-{ \
-    typedef false_ is_le; \
-    typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \
-}; \
-/**/
-#else
-#   define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
-template< typename Tag > \
-struct lambda< \
-      name< BOOST_MPL_AUX_NA_PARAMS(i) > \
-    , Tag \
-    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<-1>) \
-    > \
-{ \
-    typedef false_ is_le; \
-    typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > result_; \
-    typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \
-}; \
-/**/
-#endif
-
-#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
-    || defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
-        && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION)
-#   define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \
-namespace aux { \
-template< BOOST_MPL_PP_PARAMS(j, typename T) > \
-struct template_arity< \
-          name< BOOST_MPL_PP_PARAMS(j, T) > \
-        > \
-    : int_<j> \
-{ \
-}; \
-\
-template<> \
-struct template_arity< \
-          name< BOOST_MPL_PP_ENUM(i, na) > \
-        > \
-    : int_<-1> \
-{ \
-}; \
-} \
-/**/
-#else
-#   define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) /**/
-#endif
-
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-#   define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \
-template<> \
-struct name< BOOST_MPL_PP_ENUM(i, int) > \
-{ \
-    typedef int type; \
-    enum { value = 0 }; \
-}; \
-/**/
-#else
-#   define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) /**/
-#endif
-
-#define BOOST_MPL_AUX_NA_PARAM(param) param = na
-
-#define BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \
-BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
-BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, i, name) \
-/**/
-
-#define BOOST_MPL_AUX_NA_SPEC(i, name) \
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \
-BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \
-/**/
-
-#define BOOST_MPL_AUX_NA_SPEC2(i, j, name) \
-BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \
-BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
-BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \
-/**/
-
-
-#endif // BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/nested_type_wknd.hpp b/SRC/Boost/boost/mpl/aux_/nested_type_wknd.hpp
deleted file mode 100755
index 9ab95da..0000000
--- a/SRC/Boost/boost/mpl/aux_/nested_type_wknd.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED
-#define BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: nested_type_wknd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \
-    || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530)) \
-    || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-
-namespace boost { namespace mpl { namespace aux {
-template< typename T > struct nested_type_wknd
-    : T::type
-{
-};
-}}}
-
-#if BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-#   define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \
-    aux::nested_type_wknd<T> \
-/**/
-#else
-#   define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \
-    ::boost::mpl::aux::nested_type_wknd<T> \
-/**/
-#endif
-
-#else // !BOOST_MPL_CFG_GCC et al.
-
-#   define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) T::type
-
-#endif 
-
-#endif // BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/nttp_decl.hpp b/SRC/Boost/boost/mpl/aux_/nttp_decl.hpp
deleted file mode 100755
index 8cdfcfd..0000000
--- a/SRC/Boost/boost/mpl/aux_/nttp_decl.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
-#define BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: nttp_decl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/nttp.hpp>
-
-#if defined(BOOST_MPL_CFG_NTTP_BUG)
-
-typedef bool        _mpl_nttp_bool;
-typedef int         _mpl_nttp_int;
-typedef unsigned    _mpl_nttp_unsigned;
-typedef long        _mpl_nttp_long;
-
-#   include <boost/preprocessor/cat.hpp>
-#   define BOOST_MPL_AUX_NTTP_DECL(T, x) BOOST_PP_CAT(_mpl_nttp_,T) x /**/
-
-#else
-
-#   define BOOST_MPL_AUX_NTTP_DECL(T, x) T x /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/numeric_cast_utils.hpp b/SRC/Boost/boost/mpl/aux_/numeric_cast_utils.hpp
deleted file mode 100755
index b0a6c7a..0000000
--- a/SRC/Boost/boost/mpl/aux_/numeric_cast_utils.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED
-#define BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: numeric_cast_utils.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/numeric_cast.hpp>
-#include <boost/mpl/apply_wrap.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template<
-      typename F
-    , typename Tag1
-    , typename Tag2
-    >
-struct cast1st_impl
-{
-    template< typename N1, typename N2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : apply_wrap2< 
-              F
-            , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,N1 >::type
-            , N2
-            >
-    {
-#else
-    {
-    typedef typename apply_wrap2< 
-              F
-            , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,N1 >::type
-            , N2
-            >::type type;
-#endif
-    };
-};
-
-template<
-      typename F
-    , typename Tag1
-    , typename Tag2
-    >
-struct cast2nd_impl
-{
-    template< typename N1, typename N2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : apply_wrap2< 
-              F
-            , N1
-            , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type
-            >
-    {
-#else
-    {
-        typedef typename apply_wrap2< 
-              F
-            , N1
-            , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type
-            >::type type;
-#endif
-    };
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/numeric_op.hpp b/SRC/Boost/boost/mpl/aux_/numeric_op.hpp
deleted file mode 100755
index 4653460..0000000
--- a/SRC/Boost/boost/mpl/aux_/numeric_op.hpp
+++ /dev/null
@@ -1,315 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: numeric_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/numeric_cast.hpp>
-#   include <boost/mpl/apply_wrap.hpp>
-#   include <boost/mpl/if.hpp>
-#   include <boost/mpl/tag.hpp>
-#   include <boost/mpl/aux_/numeric_cast_utils.hpp>
-#   include <boost/mpl/aux_/na.hpp>
-#   include <boost/mpl/aux_/na_spec.hpp>
-#   include <boost/mpl/aux_/lambda_support.hpp>
-#   include <boost/mpl/aux_/msvc_eti_base.hpp>
-#   include <boost/mpl/aux_/value_wknd.hpp>
-#   include <boost/mpl/aux_/config/eti.hpp>
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-#if defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    || defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/mpl/aux_/preprocessor/partial_spec_params.hpp>
-#   include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>
-#   include <boost/mpl/aux_/preprocessor/repeat.hpp>
-#   include <boost/mpl/aux_/preprocessor/ext_params.hpp>
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-#   include <boost/mpl/aux_/preprocessor/enum.hpp>
-#   include <boost/mpl/aux_/preprocessor/add.hpp>
-#   include <boost/mpl/aux_/preprocessor/sub.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/mpl/aux_/config/eti.hpp>
-#   include <boost/mpl/aux_/config/msvc.hpp>
-#   include <boost/mpl/aux_/config/workaround.hpp>
-
-#   include <boost/preprocessor/dec.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-
-#if !defined(AUX778076_OP_ARITY)
-#   define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-#endif
-
-#if !defined(AUX778076_OP_IMPL_NAME)
-#   define AUX778076_OP_IMPL_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_impl)
-#endif
-
-#if !defined(AUX778076_OP_TAG_NAME)
-#   define AUX778076_OP_TAG_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_tag)
-#endif
-
-namespace boost { namespace mpl {
-
-template< 
-      typename Tag1
-    , typename Tag2
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value 
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value 
-    >
-struct AUX778076_OP_IMPL_NAME
-    : if_c<
-          ( tag1_ > tag2_ )
-#else
-    >
-struct AUX778076_OP_IMPL_NAME
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-#endif
-        , aux::cast2nd_impl< AUX778076_OP_IMPL_NAME<Tag1,Tag1>,Tag1,Tag2 >
-        , aux::cast1st_impl< AUX778076_OP_IMPL_NAME<Tag2,Tag2>,Tag1,Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct AUX778076_OP_IMPL_NAME<na,na>
-{
-    template< typename U1, typename U2 > struct apply 
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value = 0);
-    };
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-template< typename Tag > struct AUX778076_OP_IMPL_NAME<na,Tag>
-{
-    template< typename U1, typename U2 > struct apply 
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value = 0);
-    };
-};
-
-template< typename Tag > struct AUX778076_OP_IMPL_NAME<Tag,na>
-{
-    template< typename U1, typename U2 > struct apply 
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value = 0);
-    };
-};
-#else
-template<> struct AUX778076_OP_IMPL_NAME<na,integral_c_tag>
-{
-    template< typename U1, typename U2 > struct apply 
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value = 0);
-    };
-};
-
-template<> struct AUX778076_OP_IMPL_NAME<integral_c_tag,na>
-{
-    template< typename U1, typename U2 > struct apply 
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value = 0);
-    };
-};
-#endif
-
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && BOOST_WORKAROUND(BOOST_MSVC, >= 1300)
-template< typename T > struct AUX778076_OP_TAG_NAME
-    : tag<T,na>
-{
-};
-#else
-template< typename T > struct AUX778076_OP_TAG_NAME
-{
-    typedef typename T::tag type;
-};
-#endif
-
-
-#if AUX778076_OP_ARITY != 2
-
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-#   define AUX778076_OP_RIGHT_OPERAND(unused, i, N) , BOOST_PP_CAT(N, BOOST_MPL_PP_ADD(i, 2))>
-#   define AUX778076_OP_N_CALLS(i, N) \
-    BOOST_MPL_PP_REPEAT( BOOST_PP_DEC(i), BOOST_MPL_PP_REPEAT_IDENTITY_FUNC, AUX778076_OP_NAME< ) \
-    N1 BOOST_MPL_PP_REPEAT( BOOST_MPL_PP_SUB(i, 1), AUX778076_OP_RIGHT_OPERAND, N ) \
-/**/
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na)
-    >
-struct AUX778076_OP_NAME
-    : AUX778076_OP_N_CALLS(AUX778076_OP_ARITY, N)
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          AUX778076_OP_ARITY
-        , AUX778076_OP_NAME
-        , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )
-        )
-};
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,( BOOST_PP_DEC(AUX778076_OP_ARITY), 2, <boost/mpl/aux_/numeric_op.hpp> ))
-#include BOOST_PP_ITERATE()
-
-#   undef AUX778076_OP_N_CALLS
-#   undef AUX778076_OP_RIGHT_OPERAND
-
-#   else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-/// forward declaration
-template< 
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct BOOST_PP_CAT(AUX778076_OP_NAME,2);
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na)
-    >
-struct AUX778076_OP_NAME
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-    : aux::msvc_eti_base< typename if_<
-#else
-    : if_<
-#endif
-          is_na<N3>
-        , BOOST_PP_CAT(AUX778076_OP_NAME,2)<N1,N2>
-        , AUX778076_OP_NAME<
-              BOOST_PP_CAT(AUX778076_OP_NAME,2)<N1,N2>
-            , BOOST_MPL_PP_EXT_PARAMS(3, BOOST_PP_INC(AUX778076_OP_ARITY), N)
-            >
-        >::type
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-    >
-#endif
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          AUX778076_OP_ARITY
-        , AUX778076_OP_NAME
-        , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )
-        )
-};
-
-template< 
-      typename N1
-    , typename N2
-    >
-struct BOOST_PP_CAT(AUX778076_OP_NAME,2)
-
-#endif
-
-#else // AUX778076_OP_ARITY == 2
-
-template< 
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct AUX778076_OP_NAME
-
-#endif
-
-#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-    : AUX778076_OP_IMPL_NAME<
-          typename AUX778076_OP_TAG_NAME<N1>::type
-        , typename AUX778076_OP_TAG_NAME<N2>::type
-        >::template apply<N1,N2>::type
-#else
-    : aux::msvc_eti_base< typename apply_wrap2<
-          AUX778076_OP_IMPL_NAME<
-              typename AUX778076_OP_TAG_NAME<N1>::type
-            , typename AUX778076_OP_TAG_NAME<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-#endif
-{
-#if AUX778076_OP_ARITY != 2
-
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          AUX778076_OP_ARITY
-        , AUX778076_OP_NAME
-        , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(2, N, na) )
-        )
-#   else
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, BOOST_PP_CAT(AUX778076_OP_NAME,2), (N1, N2))
-#   endif
-
-#else
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, AUX778076_OP_NAME, (N1, N2))
-#endif
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, AUX778076_OP_ARITY, AUX778076_OP_NAME)
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-
-#   define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
-      BOOST_MPL_PP_PARAMS(i_, typename N)
-    >
-struct AUX778076_OP_NAME<BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na)>
-#if i_ != 2
-    : AUX778076_OP_N_CALLS(i_, N)
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          AUX778076_OP_ARITY
-        , AUX778076_OP_NAME
-        , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na) )
-        )
-};
-#endif
-
-#   undef i_
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/aux_/overload_names.hpp b/SRC/Boost/boost/mpl/aux_/overload_names.hpp
deleted file mode 100755
index ce93752..0000000
--- a/SRC/Boost/boost/mpl/aux_/overload_names.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED
-#define BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: overload_names.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/ptr_to_ref.hpp>
-#include <boost/mpl/aux_/config/operators.hpp>
-
-#if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING)
-
-#   include <boost/mpl/aux_/static_cast.hpp>
-
-#   define BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY  operator/
-#   define BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER operator|
-#   define BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY  operator||
-#   define BOOST_MPL_AUX_OVERLOAD_IS_MASKED     operator%
-
-#   define BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(T, x)   BOOST_MPL_AUX_PTR_TO_REF(T) / x
-#   define BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(T, x)  BOOST_MPL_AUX_PTR_TO_REF(T) | x
-#   define BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(T, x)   BOOST_MPL_AUX_PTR_TO_REF(T) || x
-#   define BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(T, x)      BOOST_MPL_AUX_PTR_TO_REF(T) % x
-
-#else
-
-#   define BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY  value_by_key_
-#   define BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER item_by_order_
-#   define BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY  order_by_key_
-#   define BOOST_MPL_AUX_OVERLOAD_IS_MASKED     is_masked_
-
-#   define BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(T, x)   T::BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY( BOOST_MPL_AUX_PTR_TO_REF(T), x )
-#   define BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(T, x)  T::BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER( BOOST_MPL_AUX_PTR_TO_REF(T), x )
-#   define BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(T, x)   T::BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY( BOOST_MPL_AUX_PTR_TO_REF(T), x )
-#   define BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(T, x)      T::BOOST_MPL_AUX_OVERLOAD_IS_MASKED( BOOST_MPL_AUX_PTR_TO_REF(T), x )
-
-#endif
-
-#endif // BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/pop_front_impl.hpp b/SRC/Boost/boost/mpl/aux_/pop_front_impl.hpp
deleted file mode 100755
index 6730f4d..0000000
--- a/SRC/Boost/boost/mpl/aux_/pop_front_impl.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: pop_front_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/pop_front_fwd.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-
-namespace boost { namespace mpl {
-
-// no default implementation; the definition is needed to make MSVC happy
-
-template< typename Tag >
-struct pop_front_impl
-{
-    template< typename Sequence > struct apply
-    // conservatively placed, but maybe should go outside surrounding
-    // braces.
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) 
-    {
-        typedef int type;
-    }
-#endif
-    ;
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, pop_front_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp
deleted file mode 100755
index d4666be..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_backward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_backward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_backward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_backward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef typename prior<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_backward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_backward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_backward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp
deleted file mode 100755
index 1424fc1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_forward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_forward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_forward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_forward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef typename next<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_forward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_forward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_forward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/and.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/and.hpp
deleted file mode 100755
index 3ab3249..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
-    : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
-    : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , true_
-        >
-{
-};
-
-template<>
-struct and_impl<
-          true
-        , true_, true_, true_, true_
-        >
-    : true_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = true_, typename T4 = true_, typename T5 = true_
-    >
-struct and_
-
-    : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , and_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , and_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/apply.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/apply.hpp
deleted file mode 100755
index 844db68..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0
-
-    : apply_wrap0<
-          typename lambda<F>::type
-       
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          1
-        , apply0
-        , (F )
-        )
-};
-
-template<
-      typename F
-    >
-struct apply< F,na,na,na,na,na >
-    : apply0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply1
-
-    : apply_wrap1<
-          typename lambda<F>::type
-        , T1
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          2
-        , apply1
-        , (F, T1)
-        )
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply< F,T1,na,na,na,na >
-    : apply1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2
-
-    : apply_wrap2<
-          typename lambda<F>::type
-        , T1, T2
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , apply2
-        , (F, T1, T2)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply< F,T1,T2,na,na,na >
-    : apply2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3
-
-    : apply_wrap3<
-          typename lambda<F>::type
-        , T1, T2, T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , apply3
-        , (F, T1, T2, T3)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply< F,T1,T2,T3,na,na >
-    : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4
-
-    : apply_wrap4<
-          typename lambda<F>::type
-        , T1, T2, T3, T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , apply4
-        , (F, T1, T2, T3, T4)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply< F,T1,T2,T3,T4,na >
-    : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5
-
-    : apply_wrap5<
-          typename lambda<F>::type
-        , T1, T2, T3, T4, T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          6
-        , apply5
-        , (F, T1, T2, T3, T4, T5)
-        )
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply
-    : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp
deleted file mode 100755
index 80a2835..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct apply;
-
-template<
-      typename F
-    >
-struct apply0;
-
-template<
-      typename F, typename T1
-    >
-struct apply1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp
deleted file mode 100755
index 0efcb0e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp
+++ /dev/null
@@ -1,461 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      int N, typename F
-    >
-struct apply_wrap_impl0;
-
-template< typename F, bool F_has_apply >
-struct apply_wrap_impl0_bcb {
-    typedef typename F::template apply<na> type;
-};
-
-template< typename F >
-struct apply_wrap_impl0_bcb< F,true > {
-    typedef typename F::apply type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          0
-        , F
-       
-        >
-{
-    typedef apply_wrap_impl0_bcb< F, aux::has_apply<F>::value >::type type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          1
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          2
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          3
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          4
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na, na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          5
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na, na, na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap0
-    : apply_wrap_impl0<
-          ::boost::mpl::aux::arity< F,0 >::value
-        , F
-       
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1
-    >
-struct apply_wrap_impl1;
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          1
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          2
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          3
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          4
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na, na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          5
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na, na, na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap1
-    : apply_wrap_impl1<
-          ::boost::mpl::aux::arity< F,1 >::value
-        , F
-        , T1
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          2
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          3
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          4
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        , na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          5
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        , na, na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap2
-    : apply_wrap_impl2<
-          ::boost::mpl::aux::arity< F,2 >::value
-        , F
-        , T1, T2
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3<
-          3
-        , F
-        , T1, T2, T3
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3<
-          4
-        , F
-        , T1, T2, T3
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3
-
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3<
-          5
-        , F
-        , T1, T2, T3
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3
-
-        , na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap3
-    : apply_wrap_impl3<
-          ::boost::mpl::aux::arity< F,3 >::value
-        , F
-        , T1, T2, T3
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap_impl4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap_impl4<
-          4
-        , F
-        , T1, T2, T3, T4
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3, T4
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap_impl4<
-          5
-        , F
-        , T1, T2, T3, T4
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3, T4
-
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap4
-    : apply_wrap_impl4<
-          ::boost::mpl::aux::arity< F,4 >::value
-        , F
-        , T1, T2, T3, T4
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap_impl5;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap_impl5<
-          5
-        , F
-        , T1, T2, T3, T4, T5
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3, T4, T5
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap5
-    : apply_wrap_impl5<
-          ::boost::mpl::aux::arity< F,5 >::value
-        , F
-        , T1, T2, T3, T4, T5
-        >::type
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/arg.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/arg.hpp
deleted file mode 100755
index c87ef00..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/arg.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<1>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 1);
-    typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<2>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 2);
-    typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-        typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<3>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 3);
-    typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-        typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<4>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 4);
-    typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-        typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<5>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 5);
-    typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-        typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp
deleted file mode 100755
index a525a9f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp
+++ /dev/null
@@ -1,300 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bind.hpp
deleted file mode 100755
index e04f409..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bind.hpp
+++ /dev/null
@@ -1,397 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      typename T
-    , typename Arg
-    >
-struct replace_unnamed_arg
-{
-    typedef Arg next;
-    typedef T type;
-};
-
-template<
-      typename Arg
-    >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
-    typedef typename Arg::next next;
-    typedef Arg type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-        typedef aux::replace_unnamed_arg< T5,n5 > r5;
-        typedef typename r5::type a5;
-        typedef typename r5::next n6;
-        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
-        ///
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp
deleted file mode 100755
index 77802c5..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct bind0;
-
-template<
-      typename F, typename T1
-    >
-struct bind1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bitand.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bitand.hpp
deleted file mode 100755
index da520a7..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bitand.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitand_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitand_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitand_
-    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitand_< N1,N2,N3,N4,na >
-
-    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitand_< N1,N2,N3,na,na >
-
-    : bitand_< bitand_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitand_< N1,N2,na,na,na >
-    : bitand_impl<
-          typename bitand_tag<N1>::type
-        , typename bitand_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bitor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bitor.hpp
deleted file mode 100755
index 9c2e186..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bitor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitor_
-    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitor_< N1,N2,N3,N4,na >
-
-    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitor_< N1,N2,N3,na,na >
-
-    : bitor_< bitor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitor_< N1,N2,na,na,na >
-    : bitor_impl<
-          typename bitor_tag<N1>::type
-        , typename bitor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp
deleted file mode 100755
index b7f8ff4..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitxor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitxor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitxor_
-    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitxor_< N1,N2,N3,N4,na >
-
-    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitxor_< N1,N2,N3,na,na >
-
-    : bitxor_< bitxor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitxor_< N1,N2,na,na,na >
-    : bitxor_impl<
-          typename bitxor_tag<N1>::type
-        , typename bitxor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/deque.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/deque.hpp
deleted file mode 100755
index 0b0de67..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct deque;
-
-template<
-     
-    >
-struct deque<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct deque<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct deque<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct deque<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct deque<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct deque<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct deque
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/divides.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/divides.hpp
deleted file mode 100755
index 74765f9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/divides.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct divides_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct divides_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct divides
-    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , divides
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct divides< N1,N2,N3,N4,na >
-
-    : divides< divides< divides< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct divides< N1,N2,N3,na,na >
-
-    : divides< divides< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct divides< N1,N2,na,na,na >
-    : divides_impl<
-          typename divides_tag<N1>::type
-        , typename divides_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp
deleted file mode 100755
index 6933512..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct equal_to
-
-    : equal_to_impl<
-          typename equal_to_tag<N1>::type
-        , typename equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp
deleted file mode 100755
index 6c5be57..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl
-{
-    typedef fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,First,Last,State,ForwardOp >
-    : fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp
deleted file mode 100755
index d987a99..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp
+++ /dev/null
@@ -1,558 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Arity
-    >
-struct lambda
-{
-    typedef false_ is_le;
-    typedef T result_;
-    typedef T type;
-};
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>,Tag, int_< -1 > >
-{
-    typedef true_ is_le;
-    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
-    typedef mpl::protect<result_> type;
-};
-
-template<
-      typename F
-    , typename Tag
-    >
-struct lambda<
-          bind0<F>
-        , Tag
-        , int_<1>
-        >
-{
-    typedef false_ is_le;
-    typedef bind0<
-          F
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1
-{
-    typedef F<
-          typename L1::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1< true_,Tag,F,L1 >
-{
-    typedef bind1<
-          quote1< F,Tag >
-        , typename L1::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1 > class F
-    , typename T1
-    , typename Tag
-    >
-struct lambda<
-          F<T1>
-        , Tag
-        , int_<1>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef typename l1::is_le is_le1;
-    typedef typename aux::lambda_or<
-          is_le1::value
-        >::type is_le;
-
-    typedef aux::le_result1<
-          is_le, Tag, F, l1
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1
-    , typename Tag
-    >
-struct lambda<
-          bind1< F,T1 >
-        , Tag
-        , int_<2>
-        >
-{
-    typedef false_ is_le;
-    typedef bind1<
-          F
-        , T1
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2
-{
-    typedef F<
-          typename L1::type, typename L2::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
-    typedef bind2<
-          quote2< F,Tag >
-        , typename L1::result_, typename L2::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2 >
-        , Tag
-        , int_<2>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value
-        >::type is_le;
-
-    typedef aux::le_result2<
-          is_le, Tag, F, l1, l2
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          bind2< F,T1,T2 >
-        , Tag
-        , int_<3>
-        >
-{
-    typedef false_ is_le;
-    typedef bind2<
-          F
-        , T1, T2
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
-    typedef bind3<
-          quote3< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3 >
-        , Tag
-        , int_<3>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value
-        >::type is_le;
-
-    typedef aux::le_result3<
-          is_le, Tag, F, l1, l2, l3
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          bind3< F,T1,T2,T3 >
-        , Tag
-        , int_<4>
-        >
-{
-    typedef false_ is_le;
-    typedef bind3<
-          F
-        , T1, T2, T3
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
-    typedef bind4<
-          quote4< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4 >
-        , Tag
-        , int_<4>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        >::type is_le;
-
-    typedef aux::le_result4<
-          is_le, Tag, F, l1, l2, l3, l4
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          bind4< F,T1,T2,T3,T4 >
-        , Tag
-        , int_<5>
-        >
-{
-    typedef false_ is_le;
-    typedef bind4<
-          F
-        , T1, T2, T3, T4
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type, typename L5::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
-    typedef bind5<
-          quote5< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_, typename L5::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4,T5 >
-        , Tag
-        , int_<5>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    typedef lambda< T5,Tag > l5;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    typedef typename l5::is_le is_le5;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        , is_le5::value
-        >::type is_le;
-
-    typedef aux::le_result5<
-          is_le, Tag, F, l1, l2, l3, l4, l5
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind5< F,T1,T2,T3,T4,T5 >
-        , Tag
-        , int_<6>
-        >
-{
-    typedef false_ is_le;
-    typedef bind5<
-          F
-        , T1, T2, T3, T4, T5
-        > result_;
-
-    typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>,Tag, int_<1> >
-{
-    typedef false_ is_le;
-    typedef mpl::protect<T> result_;
-    typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind< F,T1,T2,T3,T4,T5 >
-        , Tag
-        , int_<6>
-        >
-{
-    typedef false_ is_le;
-    typedef bind< F,T1,T2,T3,T4,T5 > result_;
-    typedef result_ type;
-};
-
-template<
-      typename F
-    , typename Tag1
-    , typename Tag2
-    , typename Arity
-    >
-struct lambda<
-          lambda< F,Tag1,Arity >
-        , Tag2
-        , int_<3>
-        >
-{
-    typedef lambda< F,Tag2 > l1;
-    typedef lambda< Tag1,Tag2 > l2;
-    typedef typename l1::is_le is_le;
-    typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;
-    typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;
-    typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/greater.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/greater.hpp
deleted file mode 100755
index a9153e9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater
-
-    : greater_impl<
-          typename greater_tag<N1>::type
-        , typename greater_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp
deleted file mode 100755
index 05d42d6..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater_equal
-
-    : greater_equal_impl<
-          typename greater_equal_tag<N1>::type
-        , typename greater_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/inherit.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/inherit.hpp
deleted file mode 100755
index 38fde94..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/inherit.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct inherit2
-    : T1, T2
-{
-    typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
-    typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
-    typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
-    typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na
-    >
-struct inherit3
-    : inherit2<
-          typename inherit2<
-              T1, T2
-            >::type
-        , T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , inherit3
-        , ( T1, T2, T3)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    >
-struct inherit4
-    : inherit2<
-          typename inherit3<
-              T1, T2, T3
-            >::type
-        , T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , inherit4
-        , ( T1, T2, T3, T4)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    , typename T5 = na
-    >
-struct inherit5
-    : inherit2<
-          typename inherit4<
-              T1, T2, T3, T4
-            >::type
-        , T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , inherit5
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
-      typename T1 = empty_base, typename T2 = empty_base
-    , typename T3 = empty_base, typename T4 = empty_base
-    , typename T5 = empty_base
-    >
-struct inherit
-    : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
-    template<
-
-          typename T1, typename T2, typename T3, typename T4, typename T5
-
-        >
-    struct apply
-        : inherit< T1,T2,T3,T4,T5 >
-    {
-    };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp
deleted file mode 100755
index b93d59d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
-    typedef State state;
-    typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef typename apply2< StateOp,State,Iterator >::type state;
-        typedef typename IteratorOp::type iterator;
-    };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef State state;
-        typedef Iterator iterator;
-    };
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_forward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename BackwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_backward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename ForwardPredicate
-    , typename BackwardOp
-    , typename BackwardPredicate
-    >
-struct iter_fold_if_impl
-{
- private:
-    typedef iter_fold_if_null_step< Iterator,State > forward_step0;
-    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
-    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
-    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
-    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-    
-
-    typedef typename if_<
-          typename forward_step4::not_last
-        , iter_fold_if_impl<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            , ForwardOp
-            , ForwardPredicate
-            , BackwardOp
-            , BackwardPredicate
-            >
-        , iter_fold_if_null_step<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            >
-        >::type backward_step4;
-
-    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
-    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
-    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
-    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-    
-
- public:
-    typedef typename backward_step0::state state;
-    typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp
deleted file mode 100755
index e6bc9b8..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl
-{
-    typedef iter_fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
-    : iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp
deleted file mode 100755
index 2595766..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
-    template< typename T, typename Tag, typename Protect > struct result_
-    {
-        typedef T type;
-        typedef is_placeholder<T> is_le;
-    };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef typename l1::is_le is_le1;
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
-            > is_le;
-
-        typedef bind1<
-              typename F::rebind
-            , typename l1::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
-            > is_le;
-
-        typedef bind2<
-              typename F::rebind
-            , typename l1::type, typename l2::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
-            > is_le;
-
-        typedef bind3<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
-            > is_le;
-
-        typedef bind4<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        typedef lambda< typename F::arg5, Tag, false_ > l5;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        typedef typename l5::is_le is_le5;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
-            > is_le;
-
-        typedef bind5<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type, typename l5::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Protect
-    >
-struct lambda
-{
-    /// Metafunction forwarding confuses MSVC 6.x
-    typedef typename aux::template_arity<T>::type arity_;
-    typedef typename aux::lambda_impl<arity_>
-        ::template result_< T,Tag,Protect > l_;
-
-    typedef typename l_::type type;
-    typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/less.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/less.hpp
deleted file mode 100755
index b72f534..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less
-
-    : less_impl<
-          typename less_tag<N1>::type
-        , typename less_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp
deleted file mode 100755
index a9362e2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less_equal
-
-    : less_equal_impl<
-          typename less_equal_tag<N1>::type
-        , typename less_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/list.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/list.hpp
deleted file mode 100755
index 3340e91..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct list;
-
-template<
-     
-    >
-struct list<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list0<  >
-{
-    typedef list0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct list<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list1<T0>
-{
-    typedef typename list1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct list<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list2< T0,T1 >
-{
-    typedef typename list2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct list<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list3< T0,T1,T2 >
-{
-    typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct list<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list4< T0,T1,T2,T3 >
-{
-    typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct list<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list5< T0,T1,T2,T3,T4 >
-{
-    typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : list15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : list16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : list17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : list18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : list19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct list
-    : list20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/list_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/list_c.hpp
deleted file mode 100755
index 1fc8a10..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct list_c;
-
-template<
-      typename T
-    >
-struct list_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list0_c<T>
-{
-    typedef typename list0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct list_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list1_c< T,C0 >
-{
-    typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct list_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list2_c< T,C0,C1 >
-{
-    typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct list_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list3_c< T,C0,C1,C2 >
-{
-    typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct list_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : list18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : list19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct list_c
-    : list20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/map.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/map.hpp
deleted file mode 100755
index fd678b4..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct map;
-
-template<
-     
-    >
-struct map<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map0<  >
-{
-    typedef map0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct map<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map1<T0>
-{
-    typedef typename map1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct map<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map2< T0,T1 >
-{
-    typedef typename map2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct map<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map3< T0,T1,T2 >
-{
-    typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct map<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map4< T0,T1,T2,T3 >
-{
-    typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct map<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map5< T0,T1,T2,T3,T4 >
-{
-    typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : map15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : map16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : map17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : map18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : map19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct map
-    : map20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/minus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/minus.hpp
deleted file mode 100755
index c8f70d2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/minus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct minus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct minus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct minus
-    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , minus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct minus< N1,N2,N3,N4,na >
-
-    : minus< minus< minus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct minus< N1,N2,N3,na,na >
-
-    : minus< minus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct minus< N1,N2,na,na,na >
-    : minus_impl<
-          typename minus_tag<N1>::type
-        , typename minus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/modulus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/modulus.hpp
deleted file mode 100755
index 1d30682..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct modulus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct modulus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct modulus
-
-    : modulus_impl<
-          typename modulus_tag<N1>::type
-        , typename modulus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp
deleted file mode 100755
index 76a4152..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct not_equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct not_equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct not_equal_to
-
-    : not_equal_to_impl<
-          typename not_equal_to_tag<N1>::type
-        , typename not_equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/or.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/or.hpp
deleted file mode 100755
index 0a62060..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
-    : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
-    : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , false_
-        >
-{
-};
-
-template<>
-struct or_impl<
-          false
-        , false_, false_, false_, false_
-        >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = false_, typename T4 = false_, typename T5 = false_
-    >
-struct or_
-
-    : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , or_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , or_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp
deleted file mode 100755
index ea973c8..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/plus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/plus.hpp
deleted file mode 100755
index 6a9a4a0..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/plus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct plus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct plus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct plus
-    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , plus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct plus< N1,N2,N3,N4,na >
-
-    : plus< plus< plus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct plus< N1,N2,N3,na,na >
-
-    : plus< plus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct plus< N1,N2,na,na,na >
-    : plus_impl<
-          typename plus_tag<N1>::type
-        , typename plus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/quote.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/quote.hpp
deleted file mode 100755
index 69bb8d5..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/quote.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename T, bool has_type_ >
-struct quote_impl
-
-{
-    typedef typename T::type type;
-};
-
-template< typename T >
-struct quote_impl< T,false >
-{
-    typedef T type;
-};
-
-template<
-      template< typename P1 > class F
-    , typename Tag = void_
-    >
-struct quote1
-{
-    template< typename U1 > struct apply
-
-    {
-        typedef typename quote_impl<
-              F<U1>
-            , aux::has_type< F<U1> >::value
-            >::type type;
-    };
-};
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename Tag = void_
-    >
-struct quote2
-{
-    template< typename U1, typename U2 > struct apply
-
-    {
-        typedef typename quote_impl<
-              F< U1,U2 >
-            , aux::has_type< F< U1,U2 > >::value
-            >::type type;
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename Tag = void_
-    >
-struct quote3
-{
-    template< typename U1, typename U2, typename U3 > struct apply
-
-    {
-        typedef typename quote_impl<
-              F< U1,U2,U3 >
-            , aux::has_type< F< U1,U2,U3 > >::value
-            >::type type;
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename Tag = void_
-    >
-struct quote4
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        >
-    struct apply
-
-    {
-        typedef typename quote_impl<
-              F< U1,U2,U3,U4 >
-            , aux::has_type< F< U1,U2,U3,U4 > >::value
-            >::type type;
-    };
-};
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename Tag = void_
-    >
-struct quote5
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        , typename U5
-        >
-    struct apply
-
-    {
-        typedef typename quote_impl<
-              F< U1,U2,U3,U4,U5 >
-            , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
-            >::type type;
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp
deleted file mode 100755
index e453bca..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl;
-
-template< long N >
-struct reverse_fold_chunk;
-
-template<> struct reverse_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef fwd_state0 bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef fwd_state1 bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef fwd_state2 bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef fwd_state3 bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef fwd_state4 bkwd_state4;
-        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< long N >
-struct reverse_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef reverse_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , iter4
-            , Last
-            , fwd_state4
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-
-        typedef typename nested_chunk::state bkwd_state4;
-        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct reverse_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct reverse_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , reverse_fold_null_step< Last,State >
-            , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_step
-{
-    typedef reverse_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , typename deref<First>::type
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl
-    : reverse_fold_chunk<N>
-        ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp
deleted file mode 100755
index 454ed8e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl;
-
-template< long N >
-struct reverse_iter_fold_chunk;
-
-template<> struct reverse_iter_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef fwd_state0 bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef fwd_state1 bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef fwd_state2 bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef fwd_state3 bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef fwd_state4 bkwd_state4;
-        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< long N >
-struct reverse_iter_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef reverse_iter_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , iter4
-            , Last
-            , fwd_state4
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-
-        typedef typename nested_chunk::state bkwd_state4;
-        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct reverse_iter_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct reverse_iter_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , reverse_iter_fold_null_step< Last,State >
-            , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_step
-{
-    typedef reverse_iter_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , First
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl
-    : reverse_iter_fold_chunk<N>
-        ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/set.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/set.hpp
deleted file mode 100755
index 089ce0b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct set;
-
-template<
-     
-    >
-struct set<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set0<  >
-{
-    typedef set0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct set<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set1<T0>
-{
-    typedef typename set1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct set<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set2< T0,T1 >
-{
-    typedef typename set2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct set<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set3< T0,T1,T2 >
-{
-    typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct set<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set4< T0,T1,T2,T3 >
-{
-    typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct set<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set5< T0,T1,T2,T3,T4 >
-{
-    typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : set15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : set16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : set17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : set18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : set19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct set
-    : set20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/set_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/set_c.hpp
deleted file mode 100755
index 6351904..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct set_c;
-
-template<
-      typename T
-    >
-struct set_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set0_c<T>
-{
-    typedef typename set0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct set_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set1_c< T,C0 >
-{
-    typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct set_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set2_c< T,C0,C1 >
-{
-    typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct set_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set3_c< T,C0,C1,C2 >
-{
-    typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct set_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : set18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : set19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct set_c
-    : set20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp
deleted file mode 100755
index 6f99bd9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_left_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_left_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_left
-
-    : shift_left_impl<
-          typename shift_left_tag<N1>::type
-        , typename shift_left_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp
deleted file mode 100755
index 64d80fd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_right_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_right_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_right
-
-    : shift_right_impl<
-          typename shift_right_tag<N1>::type
-        , typename shift_right_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp
deleted file mode 100755
index a0b058f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
-    template< typename F > struct result_
-        : mpl::int_< -1 >
-    {
-    };
-};
-
-template<>
-struct template_arity_impl<true>
-{
-    template< typename F > struct result_
-        : F::arity
-    {
-    };
-};
-
-template< typename F >
-struct template_arity
-    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
-        ::template result_<F>
-{
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/times.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/times.hpp
deleted file mode 100755
index 69a885a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/times.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct times_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct times_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct times
-    : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , times
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct times< N1,N2,N3,N4,na >
-
-    : times< times< times< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct times< N1,N2,N3,na,na >
-
-    : times< times< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct times< N1,N2,na,na,na >
-    : times_impl<
-          typename times_tag<N1>::type
-        , typename times_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp
deleted file mode 100755
index cedd428..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
-    : apply0<
-          F
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
-    : apply1<
-          F
-        , typename at_c< Args,0 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
-    : apply2<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
-    : apply3<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
-    : apply4<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
-    : apply5<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        , typename at_c< Args,4 >::type
-        >
-{
-};
-
-}
-
-template<
-      typename F
-    >
-struct unpack_args
-{
-    template< typename Args > struct apply
-    {
-        typedef typename aux::unpack_args_impl<
-              size<Args>::value
-            , F
-            , Args
-            >::type type;
-
-    };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/vector.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/vector.hpp
deleted file mode 100755
index e1f3c62..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct vector;
-
-template<
-     
-    >
-struct vector<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct vector<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct vector<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct vector<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct vector<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct vector<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp
deleted file mode 100755
index d568ac9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct vector_c;
-
-template<
-      typename T
-    >
-struct vector_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector0_c<T>
-{
-    typedef typename vector0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct vector_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector1_c< T, T(C0) >
-{
-    typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct vector_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector2_c< T, T(C0), T(C1) >
-{
-    typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct vector_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector3_c< T, T(C0), T(C1), T(C2) >
-{
-    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
-    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
-    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
-    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
-    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
-    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
-    typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
-    typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
-    typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
-    typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
-    typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
-    typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
-    typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
-    typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
-    typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
-    typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
-    typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct vector_c
-    : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
-    typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp
deleted file mode 100755
index 2d65040..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_backward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_backward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_backward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_backward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef typename prior<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_backward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_backward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_backward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp
deleted file mode 100755
index 9762f7b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_forward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_forward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_forward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_forward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef typename next<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_forward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_forward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_forward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/and.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/and.hpp
deleted file mode 100755
index 71e3b78..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
-    : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
-    : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , true_
-        >
-{
-};
-
-template<>
-struct and_impl<
-          true
-        , true_, true_, true_, true_
-        >
-    : true_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = true_, typename T4 = true_, typename T5 = true_
-    >
-struct and_
-
-    : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , and_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , and_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/apply.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/apply.hpp
deleted file mode 100755
index 9508903..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0
-
-    : apply_wrap0<
-          typename lambda<F>::type
-       
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          1
-        , apply0
-        , (F )
-        )
-};
-
-template<
-      typename F
-    >
-struct apply< F,na,na,na,na,na >
-    : apply0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply1
-
-    : apply_wrap1<
-          typename lambda<F>::type
-        , T1
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          2
-        , apply1
-        , (F, T1)
-        )
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply< F,T1,na,na,na,na >
-    : apply1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2
-
-    : apply_wrap2<
-          typename lambda<F>::type
-        , T1, T2
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , apply2
-        , (F, T1, T2)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply< F,T1,T2,na,na,na >
-    : apply2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3
-
-    : apply_wrap3<
-          typename lambda<F>::type
-        , T1, T2, T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , apply3
-        , (F, T1, T2, T3)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply< F,T1,T2,T3,na,na >
-    : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4
-
-    : apply_wrap4<
-          typename lambda<F>::type
-        , T1, T2, T3, T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , apply4
-        , (F, T1, T2, T3, T4)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply< F,T1,T2,T3,T4,na >
-    : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5
-
-    : apply_wrap5<
-          typename lambda<F>::type
-        , T1, T2, T3, T4, T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          6
-        , apply5
-        , (F, T1, T2, T3, T4, T5)
-        )
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply
-    : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp
deleted file mode 100755
index b1c5573..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct apply;
-
-template<
-      typename F
-    >
-struct apply0;
-
-template<
-      typename F, typename T1
-    >
-struct apply1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp
deleted file mode 100755
index 8603cc3..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp
+++ /dev/null
@@ -1,456 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      int N, typename F
-    >
-struct apply_wrap_impl0;
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          0
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-/// since the defaults are "lost", we have to pass *something* even for nullary
-/// metafunction classes
-        na
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          1
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          2
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          3
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          4
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na, na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          5
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na, na, na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap0
-    : apply_wrap_impl0<
-          ::boost::mpl::aux::arity< F,0 >::value
-        , F
-       
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1
-    >
-struct apply_wrap_impl1;
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          1
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          2
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          3
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          4
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na, na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          5
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na, na, na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap1
-    : apply_wrap_impl1<
-          ::boost::mpl::aux::arity< F,1 >::value
-        , F
-        , T1
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          2
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          3
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          4
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        , na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          5
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        , na, na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap2
-    : apply_wrap_impl2<
-          ::boost::mpl::aux::arity< F,2 >::value
-        , F
-        , T1, T2
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3<
-          3
-        , F
-        , T1, T2, T3
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3<
-          4
-        , F
-        , T1, T2, T3
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3
-
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3<
-          5
-        , F
-        , T1, T2, T3
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3
-
-        , na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap3
-    : apply_wrap_impl3<
-          ::boost::mpl::aux::arity< F,3 >::value
-        , F
-        , T1, T2, T3
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap_impl4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap_impl4<
-          4
-        , F
-        , T1, T2, T3, T4
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3, T4
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap_impl4<
-          5
-        , F
-        , T1, T2, T3, T4
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3, T4
-
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap4
-    : apply_wrap_impl4<
-          ::boost::mpl::aux::arity< F,4 >::value
-        , F
-        , T1, T2, T3, T4
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap_impl5;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap_impl5<
-          5
-        , F
-        , T1, T2, T3, T4, T5
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3, T4, T5
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap5
-    : apply_wrap_impl5<
-          ::boost::mpl::aux::arity< F,5 >::value
-        , F
-        , T1, T2, T3, T4, T5
-        >::type
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/arg.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/arg.hpp
deleted file mode 100755
index a77b8a2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<1>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 1);
-    typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<2>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 2);
-    typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<3>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 3);
-    typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<4>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 4);
-    typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<5>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 5);
-    typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp
deleted file mode 100755
index 3a7bf5e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp
+++ /dev/null
@@ -1,306 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bind.hpp
deleted file mode 100755
index 3b8e688..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bind.hpp
+++ /dev/null
@@ -1,403 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      typename T
-    , typename Arg
-    >
-struct replace_unnamed_arg
-{
-    typedef Arg next;
-    typedef T type;
-};
-
-template<
-      typename Arg
-    >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
-    typedef typename Arg::next next;
-    typedef Arg type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-        typedef aux::replace_unnamed_arg< T5,n5 > r5;
-        typedef typename r5::type a5;
-        typedef typename r5::next n6;
-        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
-        ///
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp
deleted file mode 100755
index 0be46fa..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct bind0;
-
-template<
-      typename F, typename T1
-    >
-struct bind1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp
deleted file mode 100755
index 38cf55e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitand_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitand_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitand_
-    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitand_< N1,N2,N3,N4,na >
-
-    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitand_< N1,N2,N3,na,na >
-
-    : bitand_< bitand_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitand_< N1,N2,na,na,na >
-    : bitand_impl<
-          typename bitand_tag<N1>::type
-        , typename bitand_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp
deleted file mode 100755
index 2f4162d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitor_
-    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitor_< N1,N2,N3,N4,na >
-
-    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitor_< N1,N2,N3,na,na >
-
-    : bitor_< bitor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitor_< N1,N2,na,na,na >
-    : bitor_impl<
-          typename bitor_tag<N1>::type
-        , typename bitor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp
deleted file mode 100755
index b4daf8d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitxor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitxor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitxor_
-    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitxor_< N1,N2,N3,N4,na >
-
-    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitxor_< N1,N2,N3,na,na >
-
-    : bitxor_< bitxor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitxor_< N1,N2,na,na,na >
-    : bitxor_impl<
-          typename bitxor_tag<N1>::type
-        , typename bitxor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/deque.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/deque.hpp
deleted file mode 100755
index ede9716..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct deque;
-
-template<
-     
-    >
-struct deque<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct deque<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct deque<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct deque<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct deque<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct deque<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct deque
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/divides.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/divides.hpp
deleted file mode 100755
index 55d9396..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/divides.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct divides_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct divides_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct divides
-    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , divides
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct divides< N1,N2,N3,N4,na >
-
-    : divides< divides< divides< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct divides< N1,N2,N3,na,na >
-
-    : divides< divides< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct divides< N1,N2,na,na,na >
-    : divides_impl<
-          typename divides_tag<N1>::type
-        , typename divides_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp
deleted file mode 100755
index 211236e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct equal_to
-
-    : equal_to_impl<
-          typename equal_to_tag<N1>::type
-        , typename equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp
deleted file mode 100755
index 6d94f48..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl
-{
-    typedef fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,First,Last,State,ForwardOp >
-    : fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp
deleted file mode 100755
index b9297cd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp
+++ /dev/null
@@ -1,558 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Arity
-    >
-struct lambda
-{
-    typedef false_ is_le;
-    typedef T result_;
-    typedef T type;
-};
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>,Tag, int_< -1 > >
-{
-    typedef true_ is_le;
-    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
-    typedef mpl::protect<result_> type;
-};
-
-template<
-      typename F
-    , typename Tag
-    >
-struct lambda<
-          bind0<F>
-        , Tag
-        , int_<1>
-        >
-{
-    typedef false_ is_le;
-    typedef bind0<
-          F
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1
-{
-    typedef F<
-          typename L1::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1< true_,Tag,F,L1 >
-{
-    typedef bind1<
-          quote1< F,Tag >
-        , typename L1::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1 > class F
-    , typename T1
-    , typename Tag
-    >
-struct lambda<
-          F<T1>
-        , Tag
-        , int_<1>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef typename l1::is_le is_le1;
-    typedef typename aux::lambda_or<
-          is_le1::value
-        >::type is_le;
-
-    typedef aux::le_result1<
-          is_le, Tag, F, l1
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1
-    , typename Tag
-    >
-struct lambda<
-          bind1< F,T1 >
-        , Tag
-        , int_<2>
-        >
-{
-    typedef false_ is_le;
-    typedef bind1<
-          F
-        , T1
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2
-{
-    typedef F<
-          typename L1::type, typename L2::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
-    typedef bind2<
-          quote2< F,Tag >
-        , typename L1::result_, typename L2::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2 >
-        , Tag
-        , int_<2>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value
-        >::type is_le;
-
-    typedef aux::le_result2<
-          is_le, Tag, F, l1, l2
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          bind2< F,T1,T2 >
-        , Tag
-        , int_<3>
-        >
-{
-    typedef false_ is_le;
-    typedef bind2<
-          F
-        , T1, T2
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
-    typedef bind3<
-          quote3< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3 >
-        , Tag
-        , int_<3>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value
-        >::type is_le;
-
-    typedef aux::le_result3<
-          is_le, Tag, F, l1, l2, l3
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          bind3< F,T1,T2,T3 >
-        , Tag
-        , int_<4>
-        >
-{
-    typedef false_ is_le;
-    typedef bind3<
-          F
-        , T1, T2, T3
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
-    typedef bind4<
-          quote4< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4 >
-        , Tag
-        , int_<4>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        >::type is_le;
-
-    typedef aux::le_result4<
-          is_le, Tag, F, l1, l2, l3, l4
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          bind4< F,T1,T2,T3,T4 >
-        , Tag
-        , int_<5>
-        >
-{
-    typedef false_ is_le;
-    typedef bind4<
-          F
-        , T1, T2, T3, T4
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type, typename L5::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
-    typedef bind5<
-          quote5< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_, typename L5::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4,T5 >
-        , Tag
-        , int_<5>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    typedef lambda< T5,Tag > l5;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    typedef typename l5::is_le is_le5;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        , is_le5::value
-        >::type is_le;
-
-    typedef aux::le_result5<
-          is_le, Tag, F, l1, l2, l3, l4, l5
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind5< F,T1,T2,T3,T4,T5 >
-        , Tag
-        , int_<6>
-        >
-{
-    typedef false_ is_le;
-    typedef bind5<
-          F
-        , T1, T2, T3, T4, T5
-        > result_;
-
-    typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>,Tag, int_<1> >
-{
-    typedef false_ is_le;
-    typedef mpl::protect<T> result_;
-    typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind< F,T1,T2,T3,T4,T5 >
-        , Tag
-        , int_<6>
-        >
-{
-    typedef false_ is_le;
-    typedef bind< F,T1,T2,T3,T4,T5 > result_;
-    typedef result_ type;
-};
-
-template<
-      typename F
-    , typename Tag1
-    , typename Tag2
-    , typename Arity
-    >
-struct lambda<
-          lambda< F,Tag1,Arity >
-        , Tag2
-        , int_<3>
-        >
-{
-    typedef lambda< F,Tag2 > l1;
-    typedef lambda< Tag1,Tag2 > l2;
-    typedef typename l1::is_le is_le;
-    typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;
-    typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;
-    typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/greater.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/greater.hpp
deleted file mode 100755
index e626a2b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater
-
-    : greater_impl<
-          typename greater_tag<N1>::type
-        , typename greater_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp
deleted file mode 100755
index a4bc28e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater_equal
-
-    : greater_equal_impl<
-          typename greater_equal_tag<N1>::type
-        , typename greater_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp
deleted file mode 100755
index 3eb3bae..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct inherit2
-    : T1, T2
-{
-    typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
-    typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
-    typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
-    typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na
-    >
-struct inherit3
-    : inherit2<
-          typename inherit2<
-              T1, T2
-            >::type
-        , T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , inherit3
-        , ( T1, T2, T3)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    >
-struct inherit4
-    : inherit2<
-          typename inherit3<
-              T1, T2, T3
-            >::type
-        , T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , inherit4
-        , ( T1, T2, T3, T4)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    , typename T5 = na
-    >
-struct inherit5
-    : inherit2<
-          typename inherit4<
-              T1, T2, T3, T4
-            >::type
-        , T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , inherit5
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
-      typename T1 = empty_base, typename T2 = empty_base
-    , typename T3 = empty_base, typename T4 = empty_base
-    , typename T5 = empty_base
-    >
-struct inherit
-    : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
-    template<
-
-          typename T1 = empty_base, typename T2 = empty_base
-        , typename T3 = empty_base, typename T4 = empty_base
-        , typename T5 = empty_base
-
-        >
-    struct apply
-        : inherit< T1,T2,T3,T4,T5 >
-    {
-    };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp
deleted file mode 100755
index 233e7dd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
-    typedef State state;
-    typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef typename apply2< StateOp,State,Iterator >::type state;
-        typedef typename IteratorOp::type iterator;
-    };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef State state;
-        typedef Iterator iterator;
-    };
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_forward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename BackwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_backward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename ForwardPredicate
-    , typename BackwardOp
-    , typename BackwardPredicate
-    >
-struct iter_fold_if_impl
-{
- private:
-    typedef iter_fold_if_null_step< Iterator,State > forward_step0;
-    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
-    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
-    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
-    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-    
-
-    typedef typename if_<
-          typename forward_step4::not_last
-        , iter_fold_if_impl<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            , ForwardOp
-            , ForwardPredicate
-            , BackwardOp
-            , BackwardPredicate
-            >
-        , iter_fold_if_null_step<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            >
-        >::type backward_step4;
-
-    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
-    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
-    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
-    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-    
-
- public:
-    typedef typename backward_step0::state state;
-    typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp
deleted file mode 100755
index f633d1b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl
-{
-    typedef iter_fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
-    : iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp
deleted file mode 100755
index c4ac608..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
-    template< typename T, typename Tag, typename Protect > struct result_
-    {
-        typedef T type;
-        typedef is_placeholder<T> is_le;
-    };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef typename l1::is_le is_le1;
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
-            > is_le;
-
-        typedef bind1<
-              typename F::rebind
-            , typename l1::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
-            > is_le;
-
-        typedef bind2<
-              typename F::rebind
-            , typename l1::type, typename l2::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
-            > is_le;
-
-        typedef bind3<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
-            > is_le;
-
-        typedef bind4<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        typedef lambda< typename F::arg5, Tag, false_ > l5;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        typedef typename l5::is_le is_le5;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
-            > is_le;
-
-        typedef bind5<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type, typename l5::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Protect
-    >
-struct lambda
-{
-    /// Metafunction forwarding confuses MSVC 6.x
-    typedef typename aux::template_arity<T>::type arity_;
-    typedef typename aux::lambda_impl<arity_>
-        ::template result_< T,Tag,Protect > l_;
-
-    typedef typename l_::type type;
-    typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/less.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/less.hpp
deleted file mode 100755
index 01dc25f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less
-
-    : less_impl<
-          typename less_tag<N1>::type
-        , typename less_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp
deleted file mode 100755
index 233e936..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less_equal
-
-    : less_equal_impl<
-          typename less_equal_tag<N1>::type
-        , typename less_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/list.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/list.hpp
deleted file mode 100755
index 1dcd58b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct list;
-
-template<
-     
-    >
-struct list<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list0<  >
-{
-    typedef list0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct list<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list1<T0>
-{
-    typedef typename list1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct list<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list2< T0,T1 >
-{
-    typedef typename list2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct list<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list3< T0,T1,T2 >
-{
-    typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct list<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list4< T0,T1,T2,T3 >
-{
-    typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct list<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list5< T0,T1,T2,T3,T4 >
-{
-    typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : list15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : list16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : list17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : list18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : list19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct list
-    : list20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp
deleted file mode 100755
index 578474e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct list_c;
-
-template<
-      typename T
-    >
-struct list_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list0_c<T>
-{
-    typedef typename list0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct list_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list1_c< T,C0 >
-{
-    typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct list_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list2_c< T,C0,C1 >
-{
-    typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct list_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list3_c< T,C0,C1,C2 >
-{
-    typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct list_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : list18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : list19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct list_c
-    : list20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/map.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/map.hpp
deleted file mode 100755
index 2f22291..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct map;
-
-template<
-     
-    >
-struct map<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map0<  >
-{
-    typedef map0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct map<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map1<T0>
-{
-    typedef typename map1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct map<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map2< T0,T1 >
-{
-    typedef typename map2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct map<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map3< T0,T1,T2 >
-{
-    typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct map<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map4< T0,T1,T2,T3 >
-{
-    typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct map<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map5< T0,T1,T2,T3,T4 >
-{
-    typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : map15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : map16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : map17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : map18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : map19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct map
-    : map20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/minus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/minus.hpp
deleted file mode 100755
index afbdda2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/minus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct minus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct minus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct minus
-    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , minus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct minus< N1,N2,N3,N4,na >
-
-    : minus< minus< minus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct minus< N1,N2,N3,na,na >
-
-    : minus< minus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct minus< N1,N2,na,na,na >
-    : minus_impl<
-          typename minus_tag<N1>::type
-        , typename minus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp
deleted file mode 100755
index d8f81ef..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct modulus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct modulus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct modulus
-
-    : modulus_impl<
-          typename modulus_tag<N1>::type
-        , typename modulus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp
deleted file mode 100755
index a68e69e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct not_equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct not_equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct not_equal_to
-
-    : not_equal_to_impl<
-          typename not_equal_to_tag<N1>::type
-        , typename not_equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/or.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/or.hpp
deleted file mode 100755
index 1a05656..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
-    : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
-    : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , false_
-        >
-{
-};
-
-template<>
-struct or_impl<
-          false
-        , false_, false_, false_, false_
-        >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = false_, typename T4 = false_, typename T5 = false_
-    >
-struct or_
-
-    : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , or_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , or_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp
deleted file mode 100755
index df5cb1d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/plus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/plus.hpp
deleted file mode 100755
index 631898f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/plus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct plus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct plus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct plus
-    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , plus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct plus< N1,N2,N3,N4,na >
-
-    : plus< plus< plus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct plus< N1,N2,N3,na,na >
-
-    : plus< plus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct plus< N1,N2,na,na,na >
-    : plus_impl<
-          typename plus_tag<N1>::type
-        , typename plus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/quote.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/quote.hpp
deleted file mode 100755
index df25a69..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/quote.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp
deleted file mode 100755
index 5907002..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl;
-
-template< long N >
-struct reverse_fold_chunk;
-
-template<> struct reverse_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef fwd_state0 bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef fwd_state1 bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef fwd_state2 bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef fwd_state3 bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef fwd_state4 bkwd_state4;
-        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< long N >
-struct reverse_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef reverse_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , iter4
-            , Last
-            , fwd_state4
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-
-        typedef typename nested_chunk::state bkwd_state4;
-        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct reverse_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct reverse_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , reverse_fold_null_step< Last,State >
-            , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_step
-{
-    typedef reverse_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , typename deref<First>::type
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl
-    : reverse_fold_chunk<N>
-        ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp
deleted file mode 100755
index b85b2f2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl;
-
-template< long N >
-struct reverse_iter_fold_chunk;
-
-template<> struct reverse_iter_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef fwd_state0 bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef fwd_state1 bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef fwd_state2 bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef fwd_state3 bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef fwd_state4 bkwd_state4;
-        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< long N >
-struct reverse_iter_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef reverse_iter_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , iter4
-            , Last
-            , fwd_state4
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-
-        typedef typename nested_chunk::state bkwd_state4;
-        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct reverse_iter_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct reverse_iter_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , reverse_iter_fold_null_step< Last,State >
-            , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_step
-{
-    typedef reverse_iter_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , First
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl
-    : reverse_iter_fold_chunk<N>
-        ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/set.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/set.hpp
deleted file mode 100755
index b7e3f0b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct set;
-
-template<
-     
-    >
-struct set<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set0<  >
-{
-    typedef set0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct set<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set1<T0>
-{
-    typedef typename set1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct set<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set2< T0,T1 >
-{
-    typedef typename set2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct set<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set3< T0,T1,T2 >
-{
-    typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct set<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set4< T0,T1,T2,T3 >
-{
-    typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct set<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set5< T0,T1,T2,T3,T4 >
-{
-    typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : set15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : set16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : set17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : set18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : set19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct set
-    : set20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp
deleted file mode 100755
index acdf68b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct set_c;
-
-template<
-      typename T
-    >
-struct set_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set0_c<T>
-{
-    typedef typename set0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct set_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set1_c< T,C0 >
-{
-    typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct set_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set2_c< T,C0,C1 >
-{
-    typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct set_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set3_c< T,C0,C1,C2 >
-{
-    typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct set_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : set18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : set19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct set_c
-    : set20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp
deleted file mode 100755
index 81679a1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_left_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_left_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_left
-
-    : shift_left_impl<
-          typename shift_left_tag<N1>::type
-        , typename shift_left_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp
deleted file mode 100755
index 55b7821..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_right_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_right_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_right
-
-    : shift_right_impl<
-          typename shift_right_tag<N1>::type
-        , typename shift_right_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp
deleted file mode 100755
index b81c2d3..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
-    template< typename F > struct result_
-        : mpl::int_< -1 >
-    {
-    };
-};
-
-template<>
-struct template_arity_impl<true>
-{
-    template< typename F > struct result_
-        : F::arity
-    {
-    };
-};
-
-template< typename F >
-struct template_arity
-    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
-        ::template result_<F>
-{
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/times.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/times.hpp
deleted file mode 100755
index 46e68cb..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/times.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct times_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct times_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct times
-    : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , times
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct times< N1,N2,N3,N4,na >
-
-    : times< times< times< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct times< N1,N2,N3,na,na >
-
-    : times< times< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct times< N1,N2,na,na,na >
-    : times_impl<
-          typename times_tag<N1>::type
-        , typename times_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp
deleted file mode 100755
index b93ae9a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
-    : apply0<
-          F
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
-    : apply1<
-          F
-        , typename at_c< Args,0 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
-    : apply2<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
-    : apply3<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
-    : apply4<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
-    : apply5<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        , typename at_c< Args,4 >::type
-        >
-{
-};
-
-}
-
-template<
-      typename F
-    >
-struct unpack_args
-{
-    template< typename Args > struct apply
-    {
-        typedef typename aux::unpack_args_impl<
-              size<Args>::value
-            , F
-            , Args
-            >::type type;
-
-    };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/vector.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/vector.hpp
deleted file mode 100755
index d1da8b1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct vector;
-
-template<
-     
-    >
-struct vector<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct vector<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct vector<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct vector<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct vector<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct vector<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp
deleted file mode 100755
index ce33340..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct vector_c;
-
-template<
-      typename T
-    >
-struct vector_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector0_c<T>
-{
-    typedef typename vector0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct vector_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector1_c< T, T(C0) >
-{
-    typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct vector_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector2_c< T, T(C0), T(C1) >
-{
-    typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct vector_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector3_c< T, T(C0), T(C1), T(C2) >
-{
-    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
-    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
-    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
-    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
-    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
-    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
-    typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
-    typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
-    typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
-    typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
-    typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
-    typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
-    typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
-    typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
-    typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
-    typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
-    typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct vector_c
-    : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
-    typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp
deleted file mode 100755
index d4666be..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_backward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_backward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_backward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_backward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef typename prior<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_backward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_backward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_backward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp
deleted file mode 100755
index 1424fc1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_forward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_forward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_forward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_forward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef typename next<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_forward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_forward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_forward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp
deleted file mode 100755
index 3ab3249..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
-    : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
-    : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , true_
-        >
-{
-};
-
-template<>
-struct and_impl<
-          true
-        , true_, true_, true_, true_
-        >
-    : true_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = true_, typename T4 = true_, typename T5 = true_
-    >
-struct and_
-
-    : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , and_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , and_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp
deleted file mode 100755
index 844db68..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0
-
-    : apply_wrap0<
-          typename lambda<F>::type
-       
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          1
-        , apply0
-        , (F )
-        )
-};
-
-template<
-      typename F
-    >
-struct apply< F,na,na,na,na,na >
-    : apply0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply1
-
-    : apply_wrap1<
-          typename lambda<F>::type
-        , T1
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          2
-        , apply1
-        , (F, T1)
-        )
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply< F,T1,na,na,na,na >
-    : apply1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2
-
-    : apply_wrap2<
-          typename lambda<F>::type
-        , T1, T2
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , apply2
-        , (F, T1, T2)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply< F,T1,T2,na,na,na >
-    : apply2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3
-
-    : apply_wrap3<
-          typename lambda<F>::type
-        , T1, T2, T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , apply3
-        , (F, T1, T2, T3)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply< F,T1,T2,T3,na,na >
-    : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4
-
-    : apply_wrap4<
-          typename lambda<F>::type
-        , T1, T2, T3, T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , apply4
-        , (F, T1, T2, T3, T4)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply< F,T1,T2,T3,T4,na >
-    : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5
-
-    : apply_wrap5<
-          typename lambda<F>::type
-        , T1, T2, T3, T4, T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          6
-        , apply5
-        , (F, T1, T2, T3, T4, T5)
-        )
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply
-    : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp
deleted file mode 100755
index 80a2835..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct apply;
-
-template<
-      typename F
-    >
-struct apply0;
-
-template<
-      typename F, typename T1
-    >
-struct apply1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp
deleted file mode 100755
index 8e385bd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp
+++ /dev/null
@@ -1,456 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      int N, typename F
-    >
-struct apply_wrap_impl0;
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          0
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-/// since the defaults are "lost", we have to pass *something* even for nullary
-/// metafunction classes
-        na
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          1
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          2
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          3
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          4
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na, na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          5
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na, na, na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap0
-    : apply_wrap_impl0<
-          ::boost::mpl::aux::arity< F,0 >::value
-        , F
-       
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1
-    >
-struct apply_wrap_impl1;
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          1
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          2
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          3
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          4
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na, na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          5
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na, na, na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap1
-    : apply_wrap_impl1<
-          ::boost::mpl::aux::arity< F,1 >::value
-        , F
-        , T1
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          2
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          3
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          4
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        , na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          5
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        , na, na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap2
-    : apply_wrap_impl2<
-          ::boost::mpl::aux::arity< F,2 >::value
-        , F
-        , T1, T2
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3<
-          3
-        , F
-        , T1, T2, T3
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3<
-          4
-        , F
-        , T1, T2, T3
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3
-
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3<
-          5
-        , F
-        , T1, T2, T3
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3
-
-        , na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap3
-    : apply_wrap_impl3<
-          ::boost::mpl::aux::arity< F,3 >::value
-        , F
-        , T1, T2, T3
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap_impl4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap_impl4<
-          4
-        , F
-        , T1, T2, T3, T4
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3, T4
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap_impl4<
-          5
-        , F
-        , T1, T2, T3, T4
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3, T4
-
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap4
-    : apply_wrap_impl4<
-          ::boost::mpl::aux::arity< F,4 >::value
-        , F
-        , T1, T2, T3, T4
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap_impl5;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap_impl5<
-          5
-        , F
-        , T1, T2, T3, T4, T5
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3, T4, T5
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap5
-    : apply_wrap_impl5<
-          ::boost::mpl::aux::arity< F,5 >::value
-        , F
-        , T1, T2, T3, T4, T5
-        >::type
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp
deleted file mode 100755
index c87ef00..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<1>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 1);
-    typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<2>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 2);
-    typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-        typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<3>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 3);
-    typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-        typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<4>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 4);
-    typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-        typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<5>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 5);
-    typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-        typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp
deleted file mode 100755
index a525a9f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp
+++ /dev/null
@@ -1,300 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp
deleted file mode 100755
index e04f409..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp
+++ /dev/null
@@ -1,397 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      typename T
-    , typename Arg
-    >
-struct replace_unnamed_arg
-{
-    typedef Arg next;
-    typedef T type;
-};
-
-template<
-      typename Arg
-    >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
-    typedef typename Arg::next next;
-    typedef Arg type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4, typename U5
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-        typedef aux::replace_unnamed_arg< T5,n5 > r5;
-        typedef typename r5::type a5;
-        typedef typename r5::next n6;
-        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
-        ///
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp
deleted file mode 100755
index 77802c5..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct bind0;
-
-template<
-      typename F, typename T1
-    >
-struct bind1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp
deleted file mode 100755
index da520a7..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitand_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitand_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitand_
-    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitand_< N1,N2,N3,N4,na >
-
-    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitand_< N1,N2,N3,na,na >
-
-    : bitand_< bitand_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitand_< N1,N2,na,na,na >
-    : bitand_impl<
-          typename bitand_tag<N1>::type
-        , typename bitand_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp
deleted file mode 100755
index 9c2e186..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitor_
-    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitor_< N1,N2,N3,N4,na >
-
-    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitor_< N1,N2,N3,na,na >
-
-    : bitor_< bitor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitor_< N1,N2,na,na,na >
-    : bitor_impl<
-          typename bitor_tag<N1>::type
-        , typename bitor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp
deleted file mode 100755
index b7f8ff4..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitxor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitxor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitxor_
-    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitxor_< N1,N2,N3,N4,na >
-
-    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitxor_< N1,N2,N3,na,na >
-
-    : bitxor_< bitxor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitxor_< N1,N2,na,na,na >
-    : bitxor_impl<
-          typename bitxor_tag<N1>::type
-        , typename bitxor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp
deleted file mode 100755
index 0b0de67..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct deque;
-
-template<
-     
-    >
-struct deque<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct deque<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct deque<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct deque<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct deque<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct deque<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct deque
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
deleted file mode 100755
index 74765f9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct divides_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct divides_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct divides
-    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , divides
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct divides< N1,N2,N3,N4,na >
-
-    : divides< divides< divides< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct divides< N1,N2,N3,na,na >
-
-    : divides< divides< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct divides< N1,N2,na,na,na >
-    : divides_impl<
-          typename divides_tag<N1>::type
-        , typename divides_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp
deleted file mode 100755
index 6933512..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct equal_to
-
-    : equal_to_impl<
-          typename equal_to_tag<N1>::type
-        , typename equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp
deleted file mode 100755
index 6c5be57..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl
-{
-    typedef fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,First,Last,State,ForwardOp >
-    : fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp
deleted file mode 100755
index d987a99..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp
+++ /dev/null
@@ -1,558 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Arity
-    >
-struct lambda
-{
-    typedef false_ is_le;
-    typedef T result_;
-    typedef T type;
-};
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>,Tag, int_< -1 > >
-{
-    typedef true_ is_le;
-    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
-    typedef mpl::protect<result_> type;
-};
-
-template<
-      typename F
-    , typename Tag
-    >
-struct lambda<
-          bind0<F>
-        , Tag
-        , int_<1>
-        >
-{
-    typedef false_ is_le;
-    typedef bind0<
-          F
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1
-{
-    typedef F<
-          typename L1::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1< true_,Tag,F,L1 >
-{
-    typedef bind1<
-          quote1< F,Tag >
-        , typename L1::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1 > class F
-    , typename T1
-    , typename Tag
-    >
-struct lambda<
-          F<T1>
-        , Tag
-        , int_<1>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef typename l1::is_le is_le1;
-    typedef typename aux::lambda_or<
-          is_le1::value
-        >::type is_le;
-
-    typedef aux::le_result1<
-          is_le, Tag, F, l1
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1
-    , typename Tag
-    >
-struct lambda<
-          bind1< F,T1 >
-        , Tag
-        , int_<2>
-        >
-{
-    typedef false_ is_le;
-    typedef bind1<
-          F
-        , T1
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2
-{
-    typedef F<
-          typename L1::type, typename L2::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
-    typedef bind2<
-          quote2< F,Tag >
-        , typename L1::result_, typename L2::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2 >
-        , Tag
-        , int_<2>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value
-        >::type is_le;
-
-    typedef aux::le_result2<
-          is_le, Tag, F, l1, l2
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          bind2< F,T1,T2 >
-        , Tag
-        , int_<3>
-        >
-{
-    typedef false_ is_le;
-    typedef bind2<
-          F
-        , T1, T2
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
-    typedef bind3<
-          quote3< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3 >
-        , Tag
-        , int_<3>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value
-        >::type is_le;
-
-    typedef aux::le_result3<
-          is_le, Tag, F, l1, l2, l3
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          bind3< F,T1,T2,T3 >
-        , Tag
-        , int_<4>
-        >
-{
-    typedef false_ is_le;
-    typedef bind3<
-          F
-        , T1, T2, T3
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
-    typedef bind4<
-          quote4< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4 >
-        , Tag
-        , int_<4>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        >::type is_le;
-
-    typedef aux::le_result4<
-          is_le, Tag, F, l1, l2, l3, l4
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          bind4< F,T1,T2,T3,T4 >
-        , Tag
-        , int_<5>
-        >
-{
-    typedef false_ is_le;
-    typedef bind4<
-          F
-        , T1, T2, T3, T4
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type, typename L5::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
-    typedef bind5<
-          quote5< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_, typename L5::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4,T5 >
-        , Tag
-        , int_<5>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    typedef lambda< T5,Tag > l5;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    typedef typename l5::is_le is_le5;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        , is_le5::value
-        >::type is_le;
-
-    typedef aux::le_result5<
-          is_le, Tag, F, l1, l2, l3, l4, l5
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind5< F,T1,T2,T3,T4,T5 >
-        , Tag
-        , int_<6>
-        >
-{
-    typedef false_ is_le;
-    typedef bind5<
-          F
-        , T1, T2, T3, T4, T5
-        > result_;
-
-    typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>,Tag, int_<1> >
-{
-    typedef false_ is_le;
-    typedef mpl::protect<T> result_;
-    typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind< F,T1,T2,T3,T4,T5 >
-        , Tag
-        , int_<6>
-        >
-{
-    typedef false_ is_le;
-    typedef bind< F,T1,T2,T3,T4,T5 > result_;
-    typedef result_ type;
-};
-
-template<
-      typename F
-    , typename Tag1
-    , typename Tag2
-    , typename Arity
-    >
-struct lambda<
-          lambda< F,Tag1,Arity >
-        , Tag2
-        , int_<3>
-        >
-{
-    typedef lambda< F,Tag2 > l1;
-    typedef lambda< Tag1,Tag2 > l2;
-    typedef typename l1::is_le is_le;
-    typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;
-    typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;
-    typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp
deleted file mode 100755
index a9153e9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater
-
-    : greater_impl<
-          typename greater_tag<N1>::type
-        , typename greater_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp
deleted file mode 100755
index 05d42d6..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater_equal
-
-    : greater_equal_impl<
-          typename greater_equal_tag<N1>::type
-        , typename greater_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp
deleted file mode 100755
index 38fde94..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct inherit2
-    : T1, T2
-{
-    typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
-    typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
-    typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
-    typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na
-    >
-struct inherit3
-    : inherit2<
-          typename inherit2<
-              T1, T2
-            >::type
-        , T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , inherit3
-        , ( T1, T2, T3)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    >
-struct inherit4
-    : inherit2<
-          typename inherit3<
-              T1, T2, T3
-            >::type
-        , T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , inherit4
-        , ( T1, T2, T3, T4)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    , typename T5 = na
-    >
-struct inherit5
-    : inherit2<
-          typename inherit4<
-              T1, T2, T3, T4
-            >::type
-        , T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , inherit5
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
-      typename T1 = empty_base, typename T2 = empty_base
-    , typename T3 = empty_base, typename T4 = empty_base
-    , typename T5 = empty_base
-    >
-struct inherit
-    : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
-    template<
-
-          typename T1, typename T2, typename T3, typename T4, typename T5
-
-        >
-    struct apply
-        : inherit< T1,T2,T3,T4,T5 >
-    {
-    };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp
deleted file mode 100755
index b93d59d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
-    typedef State state;
-    typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef typename apply2< StateOp,State,Iterator >::type state;
-        typedef typename IteratorOp::type iterator;
-    };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef State state;
-        typedef Iterator iterator;
-    };
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_forward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename BackwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_backward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename ForwardPredicate
-    , typename BackwardOp
-    , typename BackwardPredicate
-    >
-struct iter_fold_if_impl
-{
- private:
-    typedef iter_fold_if_null_step< Iterator,State > forward_step0;
-    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
-    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
-    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
-    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-    
-
-    typedef typename if_<
-          typename forward_step4::not_last
-        , iter_fold_if_impl<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            , ForwardOp
-            , ForwardPredicate
-            , BackwardOp
-            , BackwardPredicate
-            >
-        , iter_fold_if_null_step<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            >
-        >::type backward_step4;
-
-    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
-    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
-    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
-    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-    
-
- public:
-    typedef typename backward_step0::state state;
-    typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp
deleted file mode 100755
index e6bc9b8..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl
-{
-    typedef iter_fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
-    : iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp
deleted file mode 100755
index 2595766..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
-    template< typename T, typename Tag, typename Protect > struct result_
-    {
-        typedef T type;
-        typedef is_placeholder<T> is_le;
-    };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef typename l1::is_le is_le1;
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
-            > is_le;
-
-        typedef bind1<
-              typename F::rebind
-            , typename l1::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
-            > is_le;
-
-        typedef bind2<
-              typename F::rebind
-            , typename l1::type, typename l2::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
-            > is_le;
-
-        typedef bind3<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
-            > is_le;
-
-        typedef bind4<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        typedef lambda< typename F::arg5, Tag, false_ > l5;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        typedef typename l5::is_le is_le5;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
-            > is_le;
-
-        typedef bind5<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type, typename l5::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Protect
-    >
-struct lambda
-{
-    /// Metafunction forwarding confuses MSVC 6.x
-    typedef typename aux::template_arity<T>::type arity_;
-    typedef typename aux::lambda_impl<arity_>
-        ::template result_< T,Tag,Protect > l_;
-
-    typedef typename l_::type type;
-    typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp
deleted file mode 100755
index b72f534..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less
-
-    : less_impl<
-          typename less_tag<N1>::type
-        , typename less_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp
deleted file mode 100755
index a9362e2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less_equal
-
-    : less_equal_impl<
-          typename less_equal_tag<N1>::type
-        , typename less_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp
deleted file mode 100755
index 3340e91..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct list;
-
-template<
-     
-    >
-struct list<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list0<  >
-{
-    typedef list0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct list<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list1<T0>
-{
-    typedef typename list1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct list<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list2< T0,T1 >
-{
-    typedef typename list2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct list<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list3< T0,T1,T2 >
-{
-    typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct list<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list4< T0,T1,T2,T3 >
-{
-    typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct list<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list5< T0,T1,T2,T3,T4 >
-{
-    typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : list15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : list16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : list17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : list18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : list19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct list
-    : list20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp
deleted file mode 100755
index 1fc8a10..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct list_c;
-
-template<
-      typename T
-    >
-struct list_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list0_c<T>
-{
-    typedef typename list0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct list_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list1_c< T,C0 >
-{
-    typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct list_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list2_c< T,C0,C1 >
-{
-    typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct list_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list3_c< T,C0,C1,C2 >
-{
-    typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct list_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : list18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : list19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct list_c
-    : list20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp
deleted file mode 100755
index fd678b4..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct map;
-
-template<
-     
-    >
-struct map<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map0<  >
-{
-    typedef map0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct map<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map1<T0>
-{
-    typedef typename map1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct map<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map2< T0,T1 >
-{
-    typedef typename map2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct map<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map3< T0,T1,T2 >
-{
-    typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct map<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map4< T0,T1,T2,T3 >
-{
-    typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct map<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map5< T0,T1,T2,T3,T4 >
-{
-    typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : map15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : map16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : map17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : map18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : map19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct map
-    : map20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp
deleted file mode 100755
index c8f70d2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct minus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct minus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct minus
-    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , minus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct minus< N1,N2,N3,N4,na >
-
-    : minus< minus< minus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct minus< N1,N2,N3,na,na >
-
-    : minus< minus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct minus< N1,N2,na,na,na >
-    : minus_impl<
-          typename minus_tag<N1>::type
-        , typename minus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp
deleted file mode 100755
index 1d30682..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct modulus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct modulus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct modulus
-
-    : modulus_impl<
-          typename modulus_tag<N1>::type
-        , typename modulus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp
deleted file mode 100755
index 76a4152..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct not_equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct not_equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct not_equal_to
-
-    : not_equal_to_impl<
-          typename not_equal_to_tag<N1>::type
-        , typename not_equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp
deleted file mode 100755
index 0a62060..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
-    : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
-    : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , false_
-        >
-{
-};
-
-template<>
-struct or_impl<
-          false
-        , false_, false_, false_, false_
-        >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = false_, typename T4 = false_, typename T5 = false_
-    >
-struct or_
-
-    : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , or_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , or_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp
deleted file mode 100755
index ea973c8..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp
deleted file mode 100755
index 6a9a4a0..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct plus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct plus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct plus
-    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , plus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct plus< N1,N2,N3,N4,na >
-
-    : plus< plus< plus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct plus< N1,N2,N3,na,na >
-
-    : plus< plus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct plus< N1,N2,na,na,na >
-    : plus_impl<
-          typename plus_tag<N1>::type
-        , typename plus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp
deleted file mode 100755
index 8eaab71..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "quote.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp
deleted file mode 100755
index e453bca..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl;
-
-template< long N >
-struct reverse_fold_chunk;
-
-template<> struct reverse_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef fwd_state0 bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef fwd_state1 bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef fwd_state2 bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef fwd_state3 bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef fwd_state4 bkwd_state4;
-        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< long N >
-struct reverse_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef reverse_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , iter4
-            , Last
-            , fwd_state4
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-
-        typedef typename nested_chunk::state bkwd_state4;
-        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct reverse_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct reverse_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , reverse_fold_null_step< Last,State >
-            , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_step
-{
-    typedef reverse_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , typename deref<First>::type
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl
-    : reverse_fold_chunk<N>
-        ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp
deleted file mode 100755
index 454ed8e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl;
-
-template< long N >
-struct reverse_iter_fold_chunk;
-
-template<> struct reverse_iter_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef fwd_state0 bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef fwd_state1 bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef fwd_state2 bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef fwd_state3 bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef fwd_state4 bkwd_state4;
-        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< long N >
-struct reverse_iter_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef reverse_iter_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , iter4
-            , Last
-            , fwd_state4
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-
-        typedef typename nested_chunk::state bkwd_state4;
-        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct reverse_iter_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct reverse_iter_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , reverse_iter_fold_null_step< Last,State >
-            , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_step
-{
-    typedef reverse_iter_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , First
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl
-    : reverse_iter_fold_chunk<N>
-        ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp
deleted file mode 100755
index 089ce0b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct set;
-
-template<
-     
-    >
-struct set<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set0<  >
-{
-    typedef set0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct set<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set1<T0>
-{
-    typedef typename set1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct set<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set2< T0,T1 >
-{
-    typedef typename set2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct set<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set3< T0,T1,T2 >
-{
-    typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct set<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set4< T0,T1,T2,T3 >
-{
-    typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct set<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set5< T0,T1,T2,T3,T4 >
-{
-    typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : set15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : set16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : set17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : set18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : set19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct set
-    : set20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp
deleted file mode 100755
index 6351904..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct set_c;
-
-template<
-      typename T
-    >
-struct set_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set0_c<T>
-{
-    typedef typename set0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct set_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set1_c< T,C0 >
-{
-    typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct set_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set2_c< T,C0,C1 >
-{
-    typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct set_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set3_c< T,C0,C1,C2 >
-{
-    typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct set_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : set18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : set19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct set_c
-    : set20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp
deleted file mode 100755
index 6f99bd9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_left_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_left_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_left
-
-    : shift_left_impl<
-          typename shift_left_tag<N1>::type
-        , typename shift_left_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp
deleted file mode 100755
index 64d80fd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_right_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_right_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_right
-
-    : shift_right_impl<
-          typename shift_right_tag<N1>::type
-        , typename shift_right_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp
deleted file mode 100755
index a0b058f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
-    template< typename F > struct result_
-        : mpl::int_< -1 >
-    {
-    };
-};
-
-template<>
-struct template_arity_impl<true>
-{
-    template< typename F > struct result_
-        : F::arity
-    {
-    };
-};
-
-template< typename F >
-struct template_arity
-    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
-        ::template result_<F>
-{
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp
deleted file mode 100755
index 69a885a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct times_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct times_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct times
-    : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , times
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct times< N1,N2,N3,N4,na >
-
-    : times< times< times< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct times< N1,N2,N3,na,na >
-
-    : times< times< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct times< N1,N2,na,na,na >
-    : times_impl<
-          typename times_tag<N1>::type
-        , typename times_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp
deleted file mode 100755
index cedd428..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
-    : apply0<
-          F
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
-    : apply1<
-          F
-        , typename at_c< Args,0 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
-    : apply2<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
-    : apply3<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
-    : apply4<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
-    : apply5<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        , typename at_c< Args,4 >::type
-        >
-{
-};
-
-}
-
-template<
-      typename F
-    >
-struct unpack_args
-{
-    template< typename Args > struct apply
-    {
-        typedef typename aux::unpack_args_impl<
-              size<Args>::value
-            , F
-            , Args
-            >::type type;
-
-    };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp
deleted file mode 100755
index e1f3c62..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct vector;
-
-template<
-     
-    >
-struct vector<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct vector<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct vector<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct vector<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct vector<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct vector<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp
deleted file mode 100755
index d568ac9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct vector_c;
-
-template<
-      typename T
-    >
-struct vector_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector0_c<T>
-{
-    typedef typename vector0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct vector_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector1_c< T, T(C0) >
-{
-    typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct vector_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector2_c< T, T(C0), T(C1) >
-{
-    typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct vector_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector3_c< T, T(C0), T(C1), T(C2) >
-{
-    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
-    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
-    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
-    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
-    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
-    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
-    typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
-    typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
-    typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
-    typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
-    typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
-    typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
-    typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
-    typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
-    typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
-    typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
-    typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct vector_c
-    : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
-    typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp
deleted file mode 100755
index 2d65040..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_backward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_backward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_backward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_backward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef typename prior<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_backward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_backward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_backward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp
deleted file mode 100755
index 9762f7b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_forward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_forward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_forward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_forward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef typename next<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_forward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_forward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_forward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/and.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/and.hpp
deleted file mode 100755
index 71e3b78..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
-    : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
-    : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , true_
-        >
-{
-};
-
-template<>
-struct and_impl<
-          true
-        , true_, true_, true_, true_
-        >
-    : true_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = true_, typename T4 = true_, typename T5 = true_
-    >
-struct and_
-
-    : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , and_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , and_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/apply.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/apply.hpp
deleted file mode 100755
index 9508903..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0
-
-    : apply_wrap0<
-          typename lambda<F>::type
-       
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          1
-        , apply0
-        , (F )
-        )
-};
-
-template<
-      typename F
-    >
-struct apply< F,na,na,na,na,na >
-    : apply0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply1
-
-    : apply_wrap1<
-          typename lambda<F>::type
-        , T1
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          2
-        , apply1
-        , (F, T1)
-        )
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply< F,T1,na,na,na,na >
-    : apply1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2
-
-    : apply_wrap2<
-          typename lambda<F>::type
-        , T1, T2
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , apply2
-        , (F, T1, T2)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply< F,T1,T2,na,na,na >
-    : apply2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3
-
-    : apply_wrap3<
-          typename lambda<F>::type
-        , T1, T2, T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , apply3
-        , (F, T1, T2, T3)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply< F,T1,T2,T3,na,na >
-    : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4
-
-    : apply_wrap4<
-          typename lambda<F>::type
-        , T1, T2, T3, T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , apply4
-        , (F, T1, T2, T3, T4)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply< F,T1,T2,T3,T4,na >
-    : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5
-
-    : apply_wrap5<
-          typename lambda<F>::type
-        , T1, T2, T3, T4, T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          6
-        , apply5
-        , (F, T1, T2, T3, T4, T5)
-        )
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply
-    : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp
deleted file mode 100755
index b1c5573..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct apply;
-
-template<
-      typename F
-    >
-struct apply0;
-
-template<
-      typename F, typename T1
-    >
-struct apply1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp
deleted file mode 100755
index e6de047..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-
-    , typename has_apply_ = typename aux::has_apply<F>::type
-
-    >
-struct apply_wrap0
-
-    : F::template apply<  >
-{
-};
-
-template< typename F >
-struct apply_wrap0< F,true_ >
-    : F::apply
-{
-};
-
-template<
-      typename F, typename T1
-
-    >
-struct apply_wrap1
-
-    : F::template apply<T1>
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-
-    >
-struct apply_wrap2
-
-    : F::template apply< T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-
-    >
-struct apply_wrap3
-
-    : F::template apply< T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-
-    >
-struct apply_wrap4
-
-    : F::template apply< T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-
-    >
-struct apply_wrap5
-
-    : F::template apply< T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/arg.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/arg.hpp
deleted file mode 100755
index a77b8a2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<1>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 1);
-    typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<2>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 2);
-    typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<3>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 3);
-    typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<4>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 4);
-    typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<5>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 5);
-    typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp
deleted file mode 100755
index 84f1cb2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp
+++ /dev/null
@@ -1,406 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
-    typedef bind< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F, int dummy_
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F, int dummy_
-    >
-struct bind< F,na,na,na,na,na >
-    : bind0<F>
-{
-};
-
-template<
-      typename F, typename T1, int dummy_
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1, int dummy_
-    >
-struct bind< F,T1,na,na,na,na >
-    : bind1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, int dummy_
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2, int dummy_
-    >
-struct bind< F,T1,T2,na,na,na >
-    : bind2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, int dummy_
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3, int dummy_
-    >
-struct bind< F,T1,T2,T3,na,na >
-    : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , int dummy_
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , int dummy_
-    >
-struct bind< F,T1,T2,T3,T4,na >
-    : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, int dummy_
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, int dummy_
-    >
-struct bind
-    : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< if_,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef typename if_<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bind.hpp
deleted file mode 100755
index 97d7449..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bind.hpp
+++ /dev/null
@@ -1,515 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      typename T
-    , typename Arg
-    >
-struct replace_unnamed_arg
-{
-    typedef Arg next;
-    typedef T type;
-};
-
-template<
-      typename Arg
-    >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
-    typedef typename Arg::next next;
-    typedef Arg type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
-    typedef bind< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F, int dummy_
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F, int dummy_
-    >
-struct bind< F,na,na,na,na,na >
-    : bind0<F>
-{
-};
-
-template<
-      typename F, typename T1, int dummy_
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1, int dummy_
-    >
-struct bind< F,T1,na,na,na,na >
-    : bind1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, int dummy_
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2, int dummy_
-    >
-struct bind< F,T1,T2,na,na,na >
-    : bind2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, int dummy_
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3, int dummy_
-    >
-struct bind< F,T1,T2,T3,na,na >
-    : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , int dummy_
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , int dummy_
-    >
-struct bind< F,T1,T2,T3,T4,na >
-    : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, int dummy_
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-        typedef aux::replace_unnamed_arg< T5,n5 > r5;
-        typedef typename r5::type a5;
-        typedef typename r5::next n6;
-        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
-        ///
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, int dummy_
-    >
-struct bind
-    : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< if_,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef typename if_<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp
deleted file mode 100755
index dd59ba3..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, int dummy_ = 0
-    >
-struct bind;
-
-template<
-      typename F, int dummy_ = 0
-    >
-struct bind0;
-
-template<
-      typename F, typename T1, int dummy_ = 0
-    >
-struct bind1;
-
-template<
-      typename F, typename T1, typename T2, int dummy_ = 0
-    >
-struct bind2;
-
-template<
-      typename F, typename T1, typename T2, typename T3, int dummy_ = 0
-    >
-struct bind3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , int dummy_ = 0
-    >
-struct bind4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, int dummy_ = 0
-    >
-struct bind5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bitand.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bitand.hpp
deleted file mode 100755
index 38cf55e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bitand.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitand_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitand_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitand_
-    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitand_< N1,N2,N3,N4,na >
-
-    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitand_< N1,N2,N3,na,na >
-
-    : bitand_< bitand_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitand_< N1,N2,na,na,na >
-    : bitand_impl<
-          typename bitand_tag<N1>::type
-        , typename bitand_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bitor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bitor.hpp
deleted file mode 100755
index 2f4162d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bitor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitor_
-    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitor_< N1,N2,N3,N4,na >
-
-    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitor_< N1,N2,N3,na,na >
-
-    : bitor_< bitor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitor_< N1,N2,na,na,na >
-    : bitor_impl<
-          typename bitor_tag<N1>::type
-        , typename bitor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp
deleted file mode 100755
index b4daf8d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitxor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitxor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitxor_
-    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitxor_< N1,N2,N3,N4,na >
-
-    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitxor_< N1,N2,N3,na,na >
-
-    : bitxor_< bitxor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitxor_< N1,N2,na,na,na >
-    : bitxor_impl<
-          typename bitxor_tag<N1>::type
-        , typename bitxor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/deque.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/deque.hpp
deleted file mode 100755
index ede9716..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct deque;
-
-template<
-     
-    >
-struct deque<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct deque<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct deque<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct deque<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct deque<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct deque<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct deque
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/divides.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/divides.hpp
deleted file mode 100755
index 55d9396..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/divides.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct divides_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct divides_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct divides
-    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , divides
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct divides< N1,N2,N3,N4,na >
-
-    : divides< divides< divides< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct divides< N1,N2,N3,na,na >
-
-    : divides< divides< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct divides< N1,N2,na,na,na >
-    : divides_impl<
-          typename divides_tag<N1>::type
-        , typename divides_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp
deleted file mode 100755
index 211236e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct equal_to
-
-    : equal_to_impl<
-          typename equal_to_tag<N1>::type
-        , typename equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp
deleted file mode 100755
index 6d94f48..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl
-{
-    typedef fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,First,Last,State,ForwardOp >
-    : fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp
deleted file mode 100755
index c77602f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-   
-    >
-struct lambda
-{
-    typedef false_ is_le;
-    typedef T result_;
-    typedef T type;
-};
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
-    typedef true_ is_le;
-    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
-    typedef mpl::protect<result_> type;
-};
-
-template<
-      typename F
-    , typename Tag
-    >
-struct lambda<
-          bind0<F>
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind0<
-          F
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1
-{
-    typedef F<
-          typename L1::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1< true_,Tag,F,L1 >
-{
-    typedef bind1<
-          quote1< F,Tag >
-        , typename L1::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1 > class F
-    , typename T1
-    , typename Tag
-    >
-struct lambda<
-          F<T1>
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef typename l1::is_le is_le1;
-    typedef typename aux::lambda_or<
-          is_le1::value
-        >::type is_le;
-
-    typedef aux::le_result1<
-          is_le, Tag, F, l1
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1
-    , typename Tag
-    >
-struct lambda<
-          bind1< F,T1 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind1<
-          F
-        , T1
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2
-{
-    typedef F<
-          typename L1::type, typename L2::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
-    typedef bind2<
-          quote2< F,Tag >
-        , typename L1::result_, typename L2::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value
-        >::type is_le;
-
-    typedef aux::le_result2<
-          is_le, Tag, F, l1, l2
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          bind2< F,T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind2<
-          F
-        , T1, T2
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
-    typedef bind3<
-          quote3< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value
-        >::type is_le;
-
-    typedef aux::le_result3<
-          is_le, Tag, F, l1, l2, l3
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          bind3< F,T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind3<
-          F
-        , T1, T2, T3
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
-    typedef bind4<
-          quote4< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        >::type is_le;
-
-    typedef aux::le_result4<
-          is_le, Tag, F, l1, l2, l3, l4
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          bind4< F,T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind4<
-          F
-        , T1, T2, T3, T4
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type, typename L5::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
-    typedef bind5<
-          quote5< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_, typename L5::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    typedef lambda< T5,Tag > l5;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    typedef typename l5::is_le is_le5;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        , is_le5::value
-        >::type is_le;
-
-    typedef aux::le_result5<
-          is_le, Tag, F, l1, l2, l3, l4, l5
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind5< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind5<
-          F
-        , T1, T2, T3, T4, T5
-        > result_;
-
-    typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
-    typedef false_ is_le;
-    typedef mpl::protect<T> result_;
-    typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind< F,T1,T2,T3,T4,T5 > result_;
-    typedef result_ type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/greater.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/greater.hpp
deleted file mode 100755
index e626a2b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater
-
-    : greater_impl<
-          typename greater_tag<N1>::type
-        , typename greater_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp
deleted file mode 100755
index a4bc28e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater_equal
-
-    : greater_equal_impl<
-          typename greater_equal_tag<N1>::type
-        , typename greater_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/inherit.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/inherit.hpp
deleted file mode 100755
index 3eb3bae..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/inherit.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct inherit2
-    : T1, T2
-{
-    typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
-    typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
-    typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
-    typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na
-    >
-struct inherit3
-    : inherit2<
-          typename inherit2<
-              T1, T2
-            >::type
-        , T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , inherit3
-        , ( T1, T2, T3)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    >
-struct inherit4
-    : inherit2<
-          typename inherit3<
-              T1, T2, T3
-            >::type
-        , T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , inherit4
-        , ( T1, T2, T3, T4)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    , typename T5 = na
-    >
-struct inherit5
-    : inherit2<
-          typename inherit4<
-              T1, T2, T3, T4
-            >::type
-        , T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , inherit5
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
-      typename T1 = empty_base, typename T2 = empty_base
-    , typename T3 = empty_base, typename T4 = empty_base
-    , typename T5 = empty_base
-    >
-struct inherit
-    : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
-    template<
-
-          typename T1 = empty_base, typename T2 = empty_base
-        , typename T3 = empty_base, typename T4 = empty_base
-        , typename T5 = empty_base
-
-        >
-    struct apply
-        : inherit< T1,T2,T3,T4,T5 >
-    {
-    };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp
deleted file mode 100755
index 233e7dd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
-    typedef State state;
-    typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef typename apply2< StateOp,State,Iterator >::type state;
-        typedef typename IteratorOp::type iterator;
-    };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef State state;
-        typedef Iterator iterator;
-    };
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_forward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename BackwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_backward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename ForwardPredicate
-    , typename BackwardOp
-    , typename BackwardPredicate
-    >
-struct iter_fold_if_impl
-{
- private:
-    typedef iter_fold_if_null_step< Iterator,State > forward_step0;
-    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
-    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
-    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
-    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-    
-
-    typedef typename if_<
-          typename forward_step4::not_last
-        , iter_fold_if_impl<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            , ForwardOp
-            , ForwardPredicate
-            , BackwardOp
-            , BackwardPredicate
-            >
-        , iter_fold_if_null_step<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            >
-        >::type backward_step4;
-
-    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
-    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
-    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
-    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-    
-
- public:
-    typedef typename backward_step0::state state;
-    typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp
deleted file mode 100755
index f633d1b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl
-{
-    typedef iter_fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
-    : iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp
deleted file mode 100755
index c4ac608..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
-    template< typename T, typename Tag, typename Protect > struct result_
-    {
-        typedef T type;
-        typedef is_placeholder<T> is_le;
-    };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef typename l1::is_le is_le1;
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
-            > is_le;
-
-        typedef bind1<
-              typename F::rebind
-            , typename l1::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
-            > is_le;
-
-        typedef bind2<
-              typename F::rebind
-            , typename l1::type, typename l2::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
-            > is_le;
-
-        typedef bind3<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
-            > is_le;
-
-        typedef bind4<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        typedef lambda< typename F::arg5, Tag, false_ > l5;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        typedef typename l5::is_le is_le5;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
-            > is_le;
-
-        typedef bind5<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type, typename l5::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Protect
-    >
-struct lambda
-{
-    /// Metafunction forwarding confuses MSVC 6.x
-    typedef typename aux::template_arity<T>::type arity_;
-    typedef typename aux::lambda_impl<arity_>
-        ::template result_< T,Tag,Protect > l_;
-
-    typedef typename l_::type type;
-    typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/less.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/less.hpp
deleted file mode 100755
index 01dc25f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less
-
-    : less_impl<
-          typename less_tag<N1>::type
-        , typename less_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp
deleted file mode 100755
index 233e936..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less_equal
-
-    : less_equal_impl<
-          typename less_equal_tag<N1>::type
-        , typename less_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/list.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/list.hpp
deleted file mode 100755
index 1dcd58b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct list;
-
-template<
-     
-    >
-struct list<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list0<  >
-{
-    typedef list0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct list<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list1<T0>
-{
-    typedef typename list1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct list<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list2< T0,T1 >
-{
-    typedef typename list2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct list<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list3< T0,T1,T2 >
-{
-    typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct list<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list4< T0,T1,T2,T3 >
-{
-    typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct list<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list5< T0,T1,T2,T3,T4 >
-{
-    typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : list15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : list16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : list17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : list18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : list19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct list
-    : list20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/list_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/list_c.hpp
deleted file mode 100755
index 578474e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct list_c;
-
-template<
-      typename T
-    >
-struct list_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list0_c<T>
-{
-    typedef typename list0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct list_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list1_c< T,C0 >
-{
-    typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct list_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list2_c< T,C0,C1 >
-{
-    typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct list_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list3_c< T,C0,C1,C2 >
-{
-    typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct list_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : list18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : list19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct list_c
-    : list20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/map.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/map.hpp
deleted file mode 100755
index 2f22291..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct map;
-
-template<
-     
-    >
-struct map<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map0<  >
-{
-    typedef map0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct map<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map1<T0>
-{
-    typedef typename map1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct map<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map2< T0,T1 >
-{
-    typedef typename map2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct map<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map3< T0,T1,T2 >
-{
-    typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct map<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map4< T0,T1,T2,T3 >
-{
-    typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct map<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map5< T0,T1,T2,T3,T4 >
-{
-    typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : map15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : map16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : map17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : map18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : map19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct map
-    : map20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/minus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/minus.hpp
deleted file mode 100755
index afbdda2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/minus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct minus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct minus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct minus
-    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , minus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct minus< N1,N2,N3,N4,na >
-
-    : minus< minus< minus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct minus< N1,N2,N3,na,na >
-
-    : minus< minus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct minus< N1,N2,na,na,na >
-    : minus_impl<
-          typename minus_tag<N1>::type
-        , typename minus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/modulus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/modulus.hpp
deleted file mode 100755
index d8f81ef..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct modulus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct modulus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct modulus
-
-    : modulus_impl<
-          typename modulus_tag<N1>::type
-        , typename modulus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp
deleted file mode 100755
index a68e69e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct not_equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct not_equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct not_equal_to
-
-    : not_equal_to_impl<
-          typename not_equal_to_tag<N1>::type
-        , typename not_equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/or.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/or.hpp
deleted file mode 100755
index 1a05656..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
-    : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
-    : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , false_
-        >
-{
-};
-
-template<>
-struct or_impl<
-          false
-        , false_, false_, false_, false_
-        >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = false_, typename T4 = false_, typename T5 = false_
-    >
-struct or_
-
-    : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , or_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , or_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp
deleted file mode 100755
index df5cb1d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/plus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/plus.hpp
deleted file mode 100755
index 631898f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/plus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct plus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct plus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct plus
-    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , plus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct plus< N1,N2,N3,N4,na >
-
-    : plus< plus< plus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct plus< N1,N2,N3,na,na >
-
-    : plus< plus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct plus< N1,N2,na,na,na >
-    : plus_impl<
-          typename plus_tag<N1>::type
-        , typename plus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/quote.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/quote.hpp
deleted file mode 100755
index 4b4e539..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/quote.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename T, bool has_type_ >
-struct quote_impl
-    : T
-{
-};
-
-template< typename T >
-struct quote_impl< T,false >
-{
-    typedef T type;
-};
-
-template<
-      template< typename P1 > class F
-    , typename Tag = void_
-    >
-struct quote1
-{
-    template< typename U1 > struct apply
-
-        : quote_impl<
-              F<U1>
-            , aux::has_type< F<U1> >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename Tag = void_
-    >
-struct quote2
-{
-    template< typename U1, typename U2 > struct apply
-
-        : quote_impl<
-              F< U1,U2 >
-            , aux::has_type< F< U1,U2 > >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename Tag = void_
-    >
-struct quote3
-{
-    template< typename U1, typename U2, typename U3 > struct apply
-
-        : quote_impl<
-              F< U1,U2,U3 >
-            , aux::has_type< F< U1,U2,U3 > >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename Tag = void_
-    >
-struct quote4
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        >
-    struct apply
-
-        : quote_impl<
-              F< U1,U2,U3,U4 >
-            , aux::has_type< F< U1,U2,U3,U4 > >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename Tag = void_
-    >
-struct quote5
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        , typename U5
-        >
-    struct apply
-
-        : quote_impl<
-              F< U1,U2,U3,U4,U5 >
-            , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
-            >
-
-    {
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp
deleted file mode 100755
index 1c4364a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef fwd_state0 bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef fwd_state1 bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef fwd_state2 bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef fwd_state3 bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef fwd_state4 bkwd_state4;
-    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter4 iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef reverse_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , iter4
-        , Last
-        , fwd_state4
-        , BackwardOp
-        , ForwardOp
-        > nested_chunk;
-
-    typedef typename nested_chunk::state bkwd_state4;
-    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef typename nested_chunk::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef reverse_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , typename deref<First>::type
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp
deleted file mode 100755
index f06c88b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef fwd_state0 bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef fwd_state1 bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef fwd_state2 bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef fwd_state3 bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef fwd_state4 bkwd_state4;
-    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter4 iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef reverse_iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , iter4
-        , Last
-        , fwd_state4
-        , BackwardOp
-        , ForwardOp
-        > nested_chunk;
-
-    typedef typename nested_chunk::state bkwd_state4;
-    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef typename nested_chunk::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef reverse_iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , First
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/set.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/set.hpp
deleted file mode 100755
index b7e3f0b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct set;
-
-template<
-     
-    >
-struct set<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set0<  >
-{
-    typedef set0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct set<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set1<T0>
-{
-    typedef typename set1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct set<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set2< T0,T1 >
-{
-    typedef typename set2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct set<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set3< T0,T1,T2 >
-{
-    typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct set<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set4< T0,T1,T2,T3 >
-{
-    typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct set<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set5< T0,T1,T2,T3,T4 >
-{
-    typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : set15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : set16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : set17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : set18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : set19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct set
-    : set20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/set_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/set_c.hpp
deleted file mode 100755
index acdf68b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct set_c;
-
-template<
-      typename T
-    >
-struct set_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set0_c<T>
-{
-    typedef typename set0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct set_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set1_c< T,C0 >
-{
-    typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct set_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set2_c< T,C0,C1 >
-{
-    typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct set_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set3_c< T,C0,C1,C2 >
-{
-    typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct set_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : set18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : set19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct set_c
-    : set20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp
deleted file mode 100755
index 81679a1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_left_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_left_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_left
-
-    : shift_left_impl<
-          typename shift_left_tag<N1>::type
-        , typename shift_left_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp
deleted file mode 100755
index 55b7821..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_right_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_right_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_right
-
-    : shift_right_impl<
-          typename shift_right_tag<N1>::type
-        , typename shift_right_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp
deleted file mode 100755
index 03f2dbd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/times.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/times.hpp
deleted file mode 100755
index 46e68cb..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/times.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct times_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct times_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct times
-    : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , times
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct times< N1,N2,N3,N4,na >
-
-    : times< times< times< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct times< N1,N2,N3,na,na >
-
-    : times< times< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct times< N1,N2,na,na,na >
-    : times_impl<
-          typename times_tag<N1>::type
-        , typename times_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp
deleted file mode 100755
index 7f8c577..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
-    : apply0<
-          F
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
-    : apply1<
-          F
-        , typename at_c< Args,0 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
-    : apply2<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
-    : apply3<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
-    : apply4<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
-    : apply5<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        , typename at_c< Args,4 >::type
-        >
-{
-};
-
-}
-
-template<
-      typename F
-    >
-struct unpack_args
-{
-    template< typename Args > struct apply
-
-        : aux::unpack_args_impl< size<Args>::value,F, Args >
-
-    {
-    };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/vector.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/vector.hpp
deleted file mode 100755
index d1da8b1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct vector;
-
-template<
-     
-    >
-struct vector<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct vector<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct vector<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct vector<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct vector<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct vector<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp
deleted file mode 100755
index ce33340..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct vector_c;
-
-template<
-      typename T
-    >
-struct vector_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector0_c<T>
-{
-    typedef typename vector0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct vector_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector1_c< T, T(C0) >
-{
-    typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct vector_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector2_c< T, T(C0), T(C1) >
-{
-    typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct vector_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector3_c< T, T(C0), T(C1), T(C2) >
-{
-    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
-    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
-    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
-    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
-    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
-    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
-    typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
-    typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
-    typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
-    typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
-    typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
-    typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
-    typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
-    typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
-    typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
-    typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
-    typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct vector_c
-    : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
-    typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp
deleted file mode 100755
index 2d65040..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_backward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_backward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_backward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_backward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef typename prior<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_backward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_backward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_backward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp
deleted file mode 100755
index 9762f7b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_forward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_forward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_forward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_forward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef typename next<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_forward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_forward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_forward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/and.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/and.hpp
deleted file mode 100755
index 71e3b78..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
-    : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
-    : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , true_
-        >
-{
-};
-
-template<>
-struct and_impl<
-          true
-        , true_, true_, true_, true_
-        >
-    : true_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = true_, typename T4 = true_, typename T5 = true_
-    >
-struct and_
-
-    : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , and_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , and_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/apply.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/apply.hpp
deleted file mode 100755
index 9508903..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0
-
-    : apply_wrap0<
-          typename lambda<F>::type
-       
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          1
-        , apply0
-        , (F )
-        )
-};
-
-template<
-      typename F
-    >
-struct apply< F,na,na,na,na,na >
-    : apply0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply1
-
-    : apply_wrap1<
-          typename lambda<F>::type
-        , T1
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          2
-        , apply1
-        , (F, T1)
-        )
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply< F,T1,na,na,na,na >
-    : apply1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2
-
-    : apply_wrap2<
-          typename lambda<F>::type
-        , T1, T2
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , apply2
-        , (F, T1, T2)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply< F,T1,T2,na,na,na >
-    : apply2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3
-
-    : apply_wrap3<
-          typename lambda<F>::type
-        , T1, T2, T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , apply3
-        , (F, T1, T2, T3)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply< F,T1,T2,T3,na,na >
-    : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4
-
-    : apply_wrap4<
-          typename lambda<F>::type
-        , T1, T2, T3, T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , apply4
-        , (F, T1, T2, T3, T4)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply< F,T1,T2,T3,T4,na >
-    : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5
-
-    : apply_wrap5<
-          typename lambda<F>::type
-        , T1, T2, T3, T4, T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          6
-        , apply5
-        , (F, T1, T2, T3, T4, T5)
-        )
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply
-    : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp
deleted file mode 100755
index b1c5573..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct apply;
-
-template<
-      typename F
-    >
-struct apply0;
-
-template<
-      typename F, typename T1
-    >
-struct apply1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp
deleted file mode 100755
index e6de047..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-
-    , typename has_apply_ = typename aux::has_apply<F>::type
-
-    >
-struct apply_wrap0
-
-    : F::template apply<  >
-{
-};
-
-template< typename F >
-struct apply_wrap0< F,true_ >
-    : F::apply
-{
-};
-
-template<
-      typename F, typename T1
-
-    >
-struct apply_wrap1
-
-    : F::template apply<T1>
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-
-    >
-struct apply_wrap2
-
-    : F::template apply< T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-
-    >
-struct apply_wrap3
-
-    : F::template apply< T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-
-    >
-struct apply_wrap4
-
-    : F::template apply< T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-
-    >
-struct apply_wrap5
-
-    : F::template apply< T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/arg.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/arg.hpp
deleted file mode 100755
index a77b8a2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<1>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 1);
-    typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<2>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 2);
-    typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<3>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 3);
-    typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<4>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 4);
-    typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<5>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 5);
-    typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp
deleted file mode 100755
index 74072c9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp
+++ /dev/null
@@ -1,440 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
-    typedef bind< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F
-    >
-struct bind< F,na,na,na,na,na >
-    : bind0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1
-    >
-struct bind< F,T1,na,na,na,na >
-    : bind1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind< F,T1,T2,na,na,na >
-    : bind2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind< F,T1,T2,T3,na,na >
-    : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind< F,T1,T2,T3,T4,na >
-    : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind
-    : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< if_,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef typename if_<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-template<
-      template< typename T1, typename T2, typename T3 > class F, typename Tag
-    >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< eval_if,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef typename eval_if<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bind.hpp
deleted file mode 100755
index 888fbc6..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bind.hpp
+++ /dev/null
@@ -1,561 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      typename T
-    , typename Arg
-    >
-struct replace_unnamed_arg
-{
-    typedef Arg next;
-    typedef T type;
-};
-
-template<
-      typename Arg
-    >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
-    typedef typename Arg::next next;
-    typedef Arg type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
-    typedef bind< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F
-    >
-struct bind< F,na,na,na,na,na >
-    : bind0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1
-    >
-struct bind< F,T1,na,na,na,na >
-    : bind1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind< F,T1,T2,na,na,na >
-    : bind2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind< F,T1,T2,T3,na,na >
-    : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind< F,T1,T2,T3,T4,na >
-    : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-        typedef aux::replace_unnamed_arg< T5,n5 > r5;
-        typedef typename r5::type a5;
-        typedef typename r5::next n6;
-        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
-        ///
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind
-    : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< if_,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef typename if_<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-template<
-      template< typename T1, typename T2, typename T3 > class F, typename Tag
-    >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< eval_if,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef typename eval_if<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp
deleted file mode 100755
index e47dd92..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct bind;
-
-template<
-      typename F
-    >
-struct bind0;
-
-template<
-      typename F, typename T1
-    >
-struct bind1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bitand.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bitand.hpp
deleted file mode 100755
index 38cf55e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bitand.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitand_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitand_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitand_
-    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitand_< N1,N2,N3,N4,na >
-
-    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitand_< N1,N2,N3,na,na >
-
-    : bitand_< bitand_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitand_< N1,N2,na,na,na >
-    : bitand_impl<
-          typename bitand_tag<N1>::type
-        , typename bitand_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bitor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bitor.hpp
deleted file mode 100755
index 2f4162d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bitor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitor_
-    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitor_< N1,N2,N3,N4,na >
-
-    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitor_< N1,N2,N3,na,na >
-
-    : bitor_< bitor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitor_< N1,N2,na,na,na >
-    : bitor_impl<
-          typename bitor_tag<N1>::type
-        , typename bitor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp
deleted file mode 100755
index b4daf8d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitxor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitxor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitxor_
-    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitxor_< N1,N2,N3,N4,na >
-
-    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitxor_< N1,N2,N3,na,na >
-
-    : bitxor_< bitxor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitxor_< N1,N2,na,na,na >
-    : bitxor_impl<
-          typename bitxor_tag<N1>::type
-        , typename bitxor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/deque.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/deque.hpp
deleted file mode 100755
index ede9716..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct deque;
-
-template<
-     
-    >
-struct deque<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct deque<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct deque<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct deque<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct deque<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct deque<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct deque
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/divides.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/divides.hpp
deleted file mode 100755
index 55d9396..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/divides.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct divides_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct divides_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct divides
-    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , divides
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct divides< N1,N2,N3,N4,na >
-
-    : divides< divides< divides< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct divides< N1,N2,N3,na,na >
-
-    : divides< divides< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct divides< N1,N2,na,na,na >
-    : divides_impl<
-          typename divides_tag<N1>::type
-        , typename divides_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp
deleted file mode 100755
index 211236e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct equal_to
-
-    : equal_to_impl<
-          typename equal_to_tag<N1>::type
-        , typename equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp
deleted file mode 100755
index 6d94f48..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl
-{
-    typedef fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,First,Last,State,ForwardOp >
-    : fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
deleted file mode 100755
index b9297cd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
+++ /dev/null
@@ -1,558 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Arity
-    >
-struct lambda
-{
-    typedef false_ is_le;
-    typedef T result_;
-    typedef T type;
-};
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>,Tag, int_< -1 > >
-{
-    typedef true_ is_le;
-    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
-    typedef mpl::protect<result_> type;
-};
-
-template<
-      typename F
-    , typename Tag
-    >
-struct lambda<
-          bind0<F>
-        , Tag
-        , int_<1>
-        >
-{
-    typedef false_ is_le;
-    typedef bind0<
-          F
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1
-{
-    typedef F<
-          typename L1::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1< true_,Tag,F,L1 >
-{
-    typedef bind1<
-          quote1< F,Tag >
-        , typename L1::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1 > class F
-    , typename T1
-    , typename Tag
-    >
-struct lambda<
-          F<T1>
-        , Tag
-        , int_<1>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef typename l1::is_le is_le1;
-    typedef typename aux::lambda_or<
-          is_le1::value
-        >::type is_le;
-
-    typedef aux::le_result1<
-          is_le, Tag, F, l1
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1
-    , typename Tag
-    >
-struct lambda<
-          bind1< F,T1 >
-        , Tag
-        , int_<2>
-        >
-{
-    typedef false_ is_le;
-    typedef bind1<
-          F
-        , T1
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2
-{
-    typedef F<
-          typename L1::type, typename L2::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
-    typedef bind2<
-          quote2< F,Tag >
-        , typename L1::result_, typename L2::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2 >
-        , Tag
-        , int_<2>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value
-        >::type is_le;
-
-    typedef aux::le_result2<
-          is_le, Tag, F, l1, l2
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          bind2< F,T1,T2 >
-        , Tag
-        , int_<3>
-        >
-{
-    typedef false_ is_le;
-    typedef bind2<
-          F
-        , T1, T2
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
-    typedef bind3<
-          quote3< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3 >
-        , Tag
-        , int_<3>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value
-        >::type is_le;
-
-    typedef aux::le_result3<
-          is_le, Tag, F, l1, l2, l3
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          bind3< F,T1,T2,T3 >
-        , Tag
-        , int_<4>
-        >
-{
-    typedef false_ is_le;
-    typedef bind3<
-          F
-        , T1, T2, T3
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
-    typedef bind4<
-          quote4< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4 >
-        , Tag
-        , int_<4>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        >::type is_le;
-
-    typedef aux::le_result4<
-          is_le, Tag, F, l1, l2, l3, l4
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          bind4< F,T1,T2,T3,T4 >
-        , Tag
-        , int_<5>
-        >
-{
-    typedef false_ is_le;
-    typedef bind4<
-          F
-        , T1, T2, T3, T4
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type, typename L5::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
-    typedef bind5<
-          quote5< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_, typename L5::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4,T5 >
-        , Tag
-        , int_<5>
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    typedef lambda< T5,Tag > l5;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    typedef typename l5::is_le is_le5;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        , is_le5::value
-        >::type is_le;
-
-    typedef aux::le_result5<
-          is_le, Tag, F, l1, l2, l3, l4, l5
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind5< F,T1,T2,T3,T4,T5 >
-        , Tag
-        , int_<6>
-        >
-{
-    typedef false_ is_le;
-    typedef bind5<
-          F
-        , T1, T2, T3, T4, T5
-        > result_;
-
-    typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>,Tag, int_<1> >
-{
-    typedef false_ is_le;
-    typedef mpl::protect<T> result_;
-    typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind< F,T1,T2,T3,T4,T5 >
-        , Tag
-        , int_<6>
-        >
-{
-    typedef false_ is_le;
-    typedef bind< F,T1,T2,T3,T4,T5 > result_;
-    typedef result_ type;
-};
-
-template<
-      typename F
-    , typename Tag1
-    , typename Tag2
-    , typename Arity
-    >
-struct lambda<
-          lambda< F,Tag1,Arity >
-        , Tag2
-        , int_<3>
-        >
-{
-    typedef lambda< F,Tag2 > l1;
-    typedef lambda< Tag1,Tag2 > l2;
-    typedef typename l1::is_le is_le;
-    typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;
-    typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;
-    typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/greater.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/greater.hpp
deleted file mode 100755
index e626a2b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater
-
-    : greater_impl<
-          typename greater_tag<N1>::type
-        , typename greater_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp
deleted file mode 100755
index a4bc28e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater_equal
-
-    : greater_equal_impl<
-          typename greater_equal_tag<N1>::type
-        , typename greater_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/inherit.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/inherit.hpp
deleted file mode 100755
index 3eb3bae..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/inherit.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct inherit2
-    : T1, T2
-{
-    typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
-    typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
-    typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
-    typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na
-    >
-struct inherit3
-    : inherit2<
-          typename inherit2<
-              T1, T2
-            >::type
-        , T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , inherit3
-        , ( T1, T2, T3)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    >
-struct inherit4
-    : inherit2<
-          typename inherit3<
-              T1, T2, T3
-            >::type
-        , T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , inherit4
-        , ( T1, T2, T3, T4)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    , typename T5 = na
-    >
-struct inherit5
-    : inherit2<
-          typename inherit4<
-              T1, T2, T3, T4
-            >::type
-        , T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , inherit5
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
-      typename T1 = empty_base, typename T2 = empty_base
-    , typename T3 = empty_base, typename T4 = empty_base
-    , typename T5 = empty_base
-    >
-struct inherit
-    : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
-    template<
-
-          typename T1 = empty_base, typename T2 = empty_base
-        , typename T3 = empty_base, typename T4 = empty_base
-        , typename T5 = empty_base
-
-        >
-    struct apply
-        : inherit< T1,T2,T3,T4,T5 >
-    {
-    };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp
deleted file mode 100755
index 233e7dd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
-    typedef State state;
-    typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef typename apply2< StateOp,State,Iterator >::type state;
-        typedef typename IteratorOp::type iterator;
-    };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef State state;
-        typedef Iterator iterator;
-    };
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_forward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename BackwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_backward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename ForwardPredicate
-    , typename BackwardOp
-    , typename BackwardPredicate
-    >
-struct iter_fold_if_impl
-{
- private:
-    typedef iter_fold_if_null_step< Iterator,State > forward_step0;
-    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
-    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
-    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
-    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-    
-
-    typedef typename if_<
-          typename forward_step4::not_last
-        , iter_fold_if_impl<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            , ForwardOp
-            , ForwardPredicate
-            , BackwardOp
-            , BackwardPredicate
-            >
-        , iter_fold_if_null_step<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            >
-        >::type backward_step4;
-
-    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
-    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
-    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
-    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-    
-
- public:
-    typedef typename backward_step0::state state;
-    typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp
deleted file mode 100755
index f633d1b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl
-{
-    typedef iter_fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
-    : iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp
deleted file mode 100755
index c4ac608..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
-    template< typename T, typename Tag, typename Protect > struct result_
-    {
-        typedef T type;
-        typedef is_placeholder<T> is_le;
-    };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef typename l1::is_le is_le1;
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
-            > is_le;
-
-        typedef bind1<
-              typename F::rebind
-            , typename l1::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
-            > is_le;
-
-        typedef bind2<
-              typename F::rebind
-            , typename l1::type, typename l2::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
-            > is_le;
-
-        typedef bind3<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
-            > is_le;
-
-        typedef bind4<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        typedef lambda< typename F::arg5, Tag, false_ > l5;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        typedef typename l5::is_le is_le5;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
-            > is_le;
-
-        typedef bind5<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type, typename l5::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Protect
-    >
-struct lambda
-{
-    /// Metafunction forwarding confuses MSVC 6.x
-    typedef typename aux::template_arity<T>::type arity_;
-    typedef typename aux::lambda_impl<arity_>
-        ::template result_< T,Tag,Protect > l_;
-
-    typedef typename l_::type type;
-    typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/less.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/less.hpp
deleted file mode 100755
index 01dc25f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less
-
-    : less_impl<
-          typename less_tag<N1>::type
-        , typename less_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp
deleted file mode 100755
index 233e936..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less_equal
-
-    : less_equal_impl<
-          typename less_equal_tag<N1>::type
-        , typename less_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/list.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/list.hpp
deleted file mode 100755
index 1dcd58b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct list;
-
-template<
-     
-    >
-struct list<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list0<  >
-{
-    typedef list0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct list<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list1<T0>
-{
-    typedef typename list1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct list<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list2< T0,T1 >
-{
-    typedef typename list2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct list<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list3< T0,T1,T2 >
-{
-    typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct list<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list4< T0,T1,T2,T3 >
-{
-    typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct list<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list5< T0,T1,T2,T3,T4 >
-{
-    typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : list15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : list16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : list17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : list18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : list19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct list
-    : list20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/list_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/list_c.hpp
deleted file mode 100755
index 578474e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct list_c;
-
-template<
-      typename T
-    >
-struct list_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list0_c<T>
-{
-    typedef typename list0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct list_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list1_c< T,C0 >
-{
-    typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct list_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list2_c< T,C0,C1 >
-{
-    typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct list_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list3_c< T,C0,C1,C2 >
-{
-    typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct list_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : list18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : list19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct list_c
-    : list20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/map.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/map.hpp
deleted file mode 100755
index 2f22291..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct map;
-
-template<
-     
-    >
-struct map<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map0<  >
-{
-    typedef map0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct map<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map1<T0>
-{
-    typedef typename map1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct map<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map2< T0,T1 >
-{
-    typedef typename map2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct map<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map3< T0,T1,T2 >
-{
-    typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct map<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map4< T0,T1,T2,T3 >
-{
-    typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct map<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map5< T0,T1,T2,T3,T4 >
-{
-    typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : map15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : map16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : map17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : map18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : map19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct map
-    : map20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/minus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/minus.hpp
deleted file mode 100755
index afbdda2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/minus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct minus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct minus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct minus
-    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , minus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct minus< N1,N2,N3,N4,na >
-
-    : minus< minus< minus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct minus< N1,N2,N3,na,na >
-
-    : minus< minus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct minus< N1,N2,na,na,na >
-    : minus_impl<
-          typename minus_tag<N1>::type
-        , typename minus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/modulus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/modulus.hpp
deleted file mode 100755
index d8f81ef..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct modulus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct modulus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct modulus
-
-    : modulus_impl<
-          typename modulus_tag<N1>::type
-        , typename modulus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp
deleted file mode 100755
index a68e69e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct not_equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct not_equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct not_equal_to
-
-    : not_equal_to_impl<
-          typename not_equal_to_tag<N1>::type
-        , typename not_equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/or.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/or.hpp
deleted file mode 100755
index 1a05656..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
-    : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
-    : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , false_
-        >
-{
-};
-
-template<>
-struct or_impl<
-          false
-        , false_, false_, false_, false_
-        >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = false_, typename T4 = false_, typename T5 = false_
-    >
-struct or_
-
-    : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , or_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , or_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp
deleted file mode 100755
index df5cb1d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/plus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/plus.hpp
deleted file mode 100755
index 631898f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/plus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct plus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct plus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct plus
-    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , plus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct plus< N1,N2,N3,N4,na >
-
-    : plus< plus< plus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct plus< N1,N2,N3,na,na >
-
-    : plus< plus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct plus< N1,N2,na,na,na >
-    : plus_impl<
-          typename plus_tag<N1>::type
-        , typename plus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/quote.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/quote.hpp
deleted file mode 100755
index d56b311..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/quote.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename T, bool has_type_ >
-struct quote_impl
-{
-    typedef typename T::type type;
-};
-
-template< typename T >
-struct quote_impl< T,false >
-{
-    typedef T type;
-};
-
-template<
-      template< typename P1 > class F
-    , typename Tag = void_
-    >
-struct quote1
-{
-    template< typename U1 > struct apply
-
-        : quote_impl<
-              F<U1>
-            , aux::has_type< F<U1> >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename Tag = void_
-    >
-struct quote2
-{
-    template< typename U1, typename U2 > struct apply
-
-        : quote_impl<
-              F< U1,U2 >
-            , aux::has_type< F< U1,U2 > >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename Tag = void_
-    >
-struct quote3
-{
-    template< typename U1, typename U2, typename U3 > struct apply
-
-        : quote_impl<
-              F< U1,U2,U3 >
-            , aux::has_type< F< U1,U2,U3 > >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename Tag = void_
-    >
-struct quote4
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        >
-    struct apply
-
-        : quote_impl<
-              F< U1,U2,U3,U4 >
-            , aux::has_type< F< U1,U2,U3,U4 > >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename Tag = void_
-    >
-struct quote5
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        , typename U5
-        >
-    struct apply
-
-        : quote_impl<
-              F< U1,U2,U3,U4,U5 >
-            , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
-            >
-
-    {
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp
deleted file mode 100755
index 1c4364a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef fwd_state0 bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef fwd_state1 bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef fwd_state2 bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef fwd_state3 bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef fwd_state4 bkwd_state4;
-    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter4 iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef reverse_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , iter4
-        , Last
-        , fwd_state4
-        , BackwardOp
-        , ForwardOp
-        > nested_chunk;
-
-    typedef typename nested_chunk::state bkwd_state4;
-    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef typename nested_chunk::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef reverse_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , typename deref<First>::type
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp
deleted file mode 100755
index f06c88b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef fwd_state0 bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef fwd_state1 bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef fwd_state2 bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef fwd_state3 bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef fwd_state4 bkwd_state4;
-    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter4 iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef reverse_iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , iter4
-        , Last
-        , fwd_state4
-        , BackwardOp
-        , ForwardOp
-        > nested_chunk;
-
-    typedef typename nested_chunk::state bkwd_state4;
-    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef typename nested_chunk::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef reverse_iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , First
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/set.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/set.hpp
deleted file mode 100755
index b7e3f0b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct set;
-
-template<
-     
-    >
-struct set<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set0<  >
-{
-    typedef set0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct set<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set1<T0>
-{
-    typedef typename set1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct set<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set2< T0,T1 >
-{
-    typedef typename set2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct set<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set3< T0,T1,T2 >
-{
-    typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct set<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set4< T0,T1,T2,T3 >
-{
-    typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct set<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set5< T0,T1,T2,T3,T4 >
-{
-    typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : set15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : set16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : set17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : set18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : set19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct set
-    : set20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/set_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/set_c.hpp
deleted file mode 100755
index acdf68b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct set_c;
-
-template<
-      typename T
-    >
-struct set_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set0_c<T>
-{
-    typedef typename set0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct set_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set1_c< T,C0 >
-{
-    typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct set_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set2_c< T,C0,C1 >
-{
-    typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct set_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set3_c< T,C0,C1,C2 >
-{
-    typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct set_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : set18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : set19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct set_c
-    : set20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp
deleted file mode 100755
index 81679a1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_left_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_left_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_left
-
-    : shift_left_impl<
-          typename shift_left_tag<N1>::type
-        , typename shift_left_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp
deleted file mode 100755
index 55b7821..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_right_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_right_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_right
-
-    : shift_right_impl<
-          typename shift_right_tag<N1>::type
-        , typename shift_right_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
deleted file mode 100755
index 07d7f08..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// *Preprocessed* version of the main "template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-template< int N > struct arity_tag
-{
-    typedef char (&type)[N + 1];
-};
-
-template<
-      int C1, int C2, int C3, int C4, int C5, int C6
-    >
-struct max_arity
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          ( C6 > 0 ? C6 : ( C5 > 0 ? C5 : ( C4 > 0 ? C4 : ( C3 > 0 ? C3 : ( C2 > 0 ? C2 : ( C1 > 0 ? C1 : -1 ) ) ) ) ) )
-        );
-};
-
-arity_tag<0>::type arity_helper(...);
-
-template<
-      template< typename P1 > class F
-    , typename T1
-    >
-typename arity_tag<1>::type
-arity_helper(type_wrapper< F<T1> >, arity_tag<1>);
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename T1, typename T2
-    >
-typename arity_tag<2>::type
-arity_helper(type_wrapper< F< T1,T2 > >, arity_tag<2>);
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename T1, typename T2, typename T3
-    >
-typename arity_tag<3>::type
-arity_helper(type_wrapper< F< T1,T2,T3 > >, arity_tag<3>);
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename T1, typename T2, typename T3, typename T4
-    >
-typename arity_tag<4>::type
-arity_helper(type_wrapper< F< T1,T2,T3,T4 > >, arity_tag<4>);
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    >
-typename arity_tag<5>::type
-arity_helper(type_wrapper< F< T1,T2,T3,T4,T5 > >, arity_tag<5>);
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5, typename P6
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6
-    >
-typename arity_tag<6>::type
-arity_helper(type_wrapper< F< T1,T2,T3,T4,T5,T6 > >, arity_tag<6>);
-template< typename F, int N >
-struct template_arity_impl
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          sizeof(::boost::mpl::aux::arity_helper(type_wrapper<F>(), arity_tag<N>())) - 1
-        );
-};
-
-template< typename F >
-struct template_arity
-{
-    BOOST_STATIC_CONSTANT(int, value  = (
-          max_arity< template_arity_impl< F,1 >::value, template_arity_impl< F,2 >::value, template_arity_impl< F,3 >::value, template_arity_impl< F,4 >::value, template_arity_impl< F,5 >::value, template_arity_impl< F,6 >::value >::value
-        ));
-    typedef mpl::int_<value> type;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/times.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/times.hpp
deleted file mode 100755
index 46e68cb..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/times.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct times_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct times_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct times
-    : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , times
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct times< N1,N2,N3,N4,na >
-
-    : times< times< times< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct times< N1,N2,N3,na,na >
-
-    : times< times< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct times< N1,N2,na,na,na >
-    : times_impl<
-          typename times_tag<N1>::type
-        , typename times_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp
deleted file mode 100755
index 7f8c577..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
-    : apply0<
-          F
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
-    : apply1<
-          F
-        , typename at_c< Args,0 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
-    : apply2<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
-    : apply3<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
-    : apply4<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
-    : apply5<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        , typename at_c< Args,4 >::type
-        >
-{
-};
-
-}
-
-template<
-      typename F
-    >
-struct unpack_args
-{
-    template< typename Args > struct apply
-
-        : aux::unpack_args_impl< size<Args>::value,F, Args >
-
-    {
-    };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/vector.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/vector.hpp
deleted file mode 100755
index d1da8b1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct vector;
-
-template<
-     
-    >
-struct vector<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct vector<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct vector<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct vector<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct vector<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct vector<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp
deleted file mode 100755
index ce33340..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct vector_c;
-
-template<
-      typename T
-    >
-struct vector_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector0_c<T>
-{
-    typedef typename vector0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct vector_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector1_c< T, T(C0) >
-{
-    typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct vector_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector2_c< T, T(C0), T(C1) >
-{
-    typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct vector_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector3_c< T, T(C0), T(C1), T(C2) >
-{
-    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
-    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
-    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
-    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
-    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
-    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
-    typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
-    typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
-    typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
-    typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
-    typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
-    typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
-    typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
-    typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
-    typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
-    typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
-    typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct vector_c
-    : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
-    typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp
deleted file mode 100755
index ddb9d34..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-
-    /// ETI workaround
-    template<> struct apply<int>
-    {
-        typedef int type;
-    };
-
-};
-
-template<>
-struct advance_backward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef iter1 type;
-    };
-
-    /// ETI workaround
-    template<> struct apply<int>
-    {
-        typedef int type;
-    };
-
-};
-
-template<>
-struct advance_backward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef iter2 type;
-    };
-
-    /// ETI workaround
-    template<> struct apply<int>
-    {
-        typedef int type;
-    };
-
-};
-
-template<>
-struct advance_backward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef iter3 type;
-    };
-
-    /// ETI workaround
-    template<> struct apply<int>
-    {
-        typedef int type;
-    };
-
-};
-
-template<>
-struct advance_backward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef typename prior<iter3>::type iter4;
-        typedef iter4 type;
-    };
-
-    /// ETI workaround
-    template<> struct apply<int>
-    {
-        typedef int type;
-    };
-
-};
-
-template< long N >
-struct advance_backward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_backward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_backward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp
deleted file mode 100755
index 1b20cdc..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-
-    /// ETI workaround
-    template<> struct apply<int>
-    {
-        typedef int type;
-    };
-
-};
-
-template<>
-struct advance_forward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef iter1 type;
-    };
-
-    /// ETI workaround
-    template<> struct apply<int>
-    {
-        typedef int type;
-    };
-
-};
-
-template<>
-struct advance_forward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef iter2 type;
-    };
-
-    /// ETI workaround
-    template<> struct apply<int>
-    {
-        typedef int type;
-    };
-
-};
-
-template<>
-struct advance_forward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef iter3 type;
-    };
-
-    /// ETI workaround
-    template<> struct apply<int>
-    {
-        typedef int type;
-    };
-
-};
-
-template<>
-struct advance_forward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef typename next<iter3>::type iter4;
-        typedef iter4 type;
-    };
-
-    /// ETI workaround
-    template<> struct apply<int>
-    {
-        typedef int type;
-    };
-
-};
-
-template< long N >
-struct advance_forward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_forward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_forward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/and.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/and.hpp
deleted file mode 100755
index e2b4b08..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/and.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool C_ > struct and_impl
-{
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : false_
-    {
-    };
-};
-
-template<> struct and_impl<true>
-{
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : and_impl<
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-            >::template result_< T2,T3,T4,true_ >
-    {
-    };
-};
-
-template<>
-struct and_impl<true>
-    ::result_< true_,true_,true_,true_ >
-        : true_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = true_, typename T4 = true_, typename T5 = true_
-    >
-struct and_
-
-    : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        >::template result_< T2,T3,T4,T5 >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , and_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , and_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/apply.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/apply.hpp
deleted file mode 100755
index 86b2780..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/apply.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0
-
-{
-    typedef typename apply_wrap0<
-          typename lambda<F>::type
-       
-        >::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          1
-        , apply0
-        , (F )
-        )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply0<int>
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply1
-
-{
-    typedef typename apply_wrap1<
-          typename lambda<F>::type
-        , T1
-        >::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          2
-        , apply1
-        , (F, T1)
-        )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply1< int,int >
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2
-
-{
-    typedef typename apply_wrap2<
-          typename lambda<F>::type
-        , T1, T2
-        >::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , apply2
-        , (F, T1, T2)
-        )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply2< int,int,int >
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3
-
-{
-    typedef typename apply_wrap3<
-          typename lambda<F>::type
-        , T1, T2, T3
-        >::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , apply3
-        , (F, T1, T2, T3)
-        )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply3< int,int,int,int >
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4
-
-{
-    typedef typename apply_wrap4<
-          typename lambda<F>::type
-        , T1, T2, T3, T4
-        >::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , apply4
-        , (F, T1, T2, T3, T4)
-        )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply4< int,int,int,int,int >
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5
-
-{
-    typedef typename apply_wrap5<
-          typename lambda<F>::type
-        , T1, T2, T3, T4, T5
-        >::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          6
-        , apply5
-        , (F, T1, T2, T3, T4, T5)
-        )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply5< int,int,int,int,int,int >
-{
-    typedef int type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp
deleted file mode 100755
index 606c2ef..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0;
-
-template<
-      typename F, typename T1
-    >
-struct apply1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp
deleted file mode 100755
index 3b06c70..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp
+++ /dev/null
@@ -1,247 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename F>
-struct msvc_apply0
-{
-    template< bool > struct f_ : F {};
-    template<> struct f_<true>
-    {
-        template< typename P  = int > struct apply
-        {
-            typedef int type;
-        };
-    };
-
-    template< typename T  = int > struct result_
-        : f_< aux::msvc_never_true<F>::value >
-            ::template apply<>
-    {
-    };
-
-};
-
-template<
-      typename F
-    >
-struct apply_wrap0
-{
-    typedef typename msvc_apply0<F>::template result_<
-         
-        >::type type;
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap0<int>
-{
-    typedef int type;
-};
-
-template< typename F>
-struct msvc_apply1
-{
-    template< bool > struct f_ : F {};
-    template<> struct f_<true>
-    {
-        template< typename P1 > struct apply
-        {
-            typedef int type;
-        };
-    };
-
-    template< typename T1 > struct result_
-        : f_< aux::msvc_never_true<F>::value >
-            ::template apply<T1>
-    {
-    };
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap1
-{
-    typedef typename msvc_apply1<F>::template result_<
-          T1
-        >::type type;
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap1< int,int >
-{
-    typedef int type;
-};
-
-template< typename F>
-struct msvc_apply2
-{
-    template< bool > struct f_ : F {};
-    template<> struct f_<true>
-    {
-        template< typename P1, typename P2 > struct apply
-        {
-            typedef int type;
-        };
-    };
-
-    template< typename T1, typename T2 > struct result_
-        : f_< aux::msvc_never_true<F>::value >
-            ::template apply< T1,T2 >
-    {
-    };
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap2
-{
-    typedef typename msvc_apply2<F>::template result_<
-          T1, T2
-        >::type type;
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap2< int,int,int >
-{
-    typedef int type;
-};
-
-template< typename F>
-struct msvc_apply3
-{
-    template< bool > struct f_ : F {};
-    template<> struct f_<true>
-    {
-        template< typename P1, typename P2, typename P3 > struct apply
-        {
-            typedef int type;
-        };
-    };
-
-    template< typename T1, typename T2, typename T3 > struct result_
-        : f_< aux::msvc_never_true<F>::value >
-            ::template apply< T1,T2,T3 >
-    {
-    };
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap3
-{
-    typedef typename msvc_apply3<F>::template result_<
-          T1, T2, T3
-        >::type type;
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap3< int,int,int,int >
-{
-    typedef int type;
-};
-
-template< typename F>
-struct msvc_apply4
-{
-    template< bool > struct f_ : F {};
-    template<> struct f_<true>
-    {
-        template<
-              typename P1, typename P2, typename P3, typename P4
-            >
-        struct apply
-        {
-            typedef int type;
-        };
-    };
-
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : f_< aux::msvc_never_true<F>::value >
-            ::template apply< T1,T2,T3,T4 >
-    {
-    };
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap4
-{
-    typedef typename msvc_apply4<F>::template result_<
-          T1, T2, T3, T4
-        >::type type;
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap4< int,int,int,int,int >
-{
-    typedef int type;
-};
-
-template< typename F>
-struct msvc_apply5
-{
-    template< bool > struct f_ : F {};
-    template<> struct f_<true>
-    {
-        template<
-              typename P1, typename P2, typename P3, typename P4
-            , typename P5
-            >
-        struct apply
-        {
-            typedef int type;
-        };
-    };
-
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-        : f_< aux::msvc_never_true<F>::value >
-            ::template apply< T1,T2,T3,T4,T5 >
-    {
-    };
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap5
-{
-    typedef typename msvc_apply5<F>::template result_<
-          T1, T2, T3, T4, T5
-        >::type type;
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap5< int,int,int,int,int,int >
-{
-    typedef int type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/arg.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/arg.hpp
deleted file mode 100755
index a77b8a2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<1>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 1);
-    typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<2>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 2);
-    typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<3>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 3);
-    typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<4>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 4);
-    typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<5>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 5);
-    typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp
deleted file mode 100755
index 5b1d0cc..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool >
-struct resolve_arg_impl
-{
-    template<
-          typename T, typename U1, typename U2, typename U3
-        , typename U4, typename U5
-        >
-    struct result_
-    {
-        typedef T type;
-    };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
-    template<
-          typename T, typename U1, typename U2, typename U3
-        , typename U4, typename U5
-        >
-    struct result_
-    {
-        typedef typename apply_wrap5<
-              T
-            , U1, U2, U3, U4, U5
-            >::type type;
-    };
-};
-
-template< typename T > struct is_bind_template;
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-    : resolve_arg_impl< is_bind_template<T>::value >
-            ::template result_< T,U1,U2,U3,U4,U5 >
-{
-};
-
-template< int arity_ > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-template< int N >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_  = true >
-struct is_bind_template_impl
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value  = false);
-    };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-              sizeof(aux::is_bind_helper(static_cast<T*>(0)))
-                == sizeof(aux::yes_tag)
-            );
-    };
-};
-
-template< typename T > struct is_bind_template
-    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
-        ::template result_<T>
-{
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F
-    >
-aux::yes_tag
-is_bind_helper(bind0<F>*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1
-    >
-aux::yes_tag
-is_bind_helper(bind1< F,T1 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2
-    >
-aux::yes_tag
-is_bind_helper(bind2< F,T1,T2 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-aux::yes_tag
-is_bind_helper(bind3< F,T1,T2,T3 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-aux::yes_tag
-is_bind_helper(bind4< F,T1,T2,T3,T4 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-aux::yes_tag
-is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bind.hpp
deleted file mode 100755
index 967e89e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bind.hpp
+++ /dev/null
@@ -1,432 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool >
-struct resolve_arg_impl
-{
-    template<
-          typename T, typename U1, typename U2, typename U3
-        , typename U4, typename U5
-        >
-    struct result_
-    {
-        typedef T type;
-    };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
-    template<
-          typename T, typename U1, typename U2, typename U3
-        , typename U4, typename U5
-        >
-    struct result_
-    {
-        typedef typename apply_wrap5<
-              T
-            , U1, U2, U3, U4, U5
-            >::type type;
-    };
-};
-
-template< typename T > struct is_bind_template;
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-    : resolve_arg_impl< is_bind_template<T>::value >
-            ::template result_< T,U1,U2,U3,U4,U5 >
-{
-};
-
-template< typename T >
-struct replace_unnamed_arg_impl
-{
-    template< typename Arg > struct result_
-    {
-        typedef Arg next;
-        typedef T type;
-    };
-};
-
-template<>
-struct replace_unnamed_arg_impl< arg< -1 > >
-{
-    template< typename Arg > struct result_
-    {
-        typedef typename next<Arg>::type next;
-        typedef Arg type;
-    };
-};
-
-template< typename T, typename Arg >
-struct replace_unnamed_arg
-    : replace_unnamed_arg_impl<T>::template result_<Arg>
-{
-};
-
-template< int arity_ > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-template< int N >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_  = true >
-struct is_bind_template_impl
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value  = false);
-    };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-              sizeof(aux::is_bind_helper(static_cast<T*>(0)))
-                == sizeof(aux::yes_tag)
-            );
-    };
-};
-
-template< typename T > struct is_bind_template
-    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
-        ::template result_<T>
-{
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F
-    >
-aux::yes_tag
-is_bind_helper(bind0<F>*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1
-    >
-aux::yes_tag
-is_bind_helper(bind1< F,T1 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2
-    >
-aux::yes_tag
-is_bind_helper(bind2< F,T1,T2 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-aux::yes_tag
-is_bind_helper(bind3< F,T1,T2,T3 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-aux::yes_tag
-is_bind_helper(bind4< F,T1,T2,T3,T4 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-        typedef aux::replace_unnamed_arg< T5,n5 > r5;
-        typedef typename r5::type a5;
-        typedef typename r5::next n6;
-        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
-        ///
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-aux::yes_tag
-is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp
deleted file mode 100755
index 0be46fa..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct bind0;
-
-template<
-      typename F, typename T1
-    >
-struct bind1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp
deleted file mode 100755
index fb00e1d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct bitand_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitand_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitand_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitand_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct bitand_2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitand_
-
-    : if_<
-
-          is_na<N3>
-        , bitand_2< N1,N2 >
-        , bitand_<
-              bitand_2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct bitand_2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          bitand_impl<
-              typename bitand_tag<N1>::type
-            , typename bitand_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitand_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 & n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::bitand_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp
deleted file mode 100755
index a354383..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct bitor_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitor_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitor_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitor_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct bitor_2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitor_
-
-    : if_<
-
-          is_na<N3>
-        , bitor_2< N1,N2 >
-        , bitor_<
-              bitor_2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct bitor_2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          bitor_impl<
-              typename bitor_tag<N1>::type
-            , typename bitor_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitor_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 | n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::bitor_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp
deleted file mode 100755
index 5384dfd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct bitxor_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitxor_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitxor_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitxor_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct bitxor_2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitxor_
-
-    : if_<
-
-          is_na<N3>
-        , bitxor_2< N1,N2 >
-        , bitxor_<
-              bitxor_2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct bitxor_2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          bitxor_impl<
-              typename bitxor_tag<N1>::type
-            , typename bitxor_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitxor_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 ^ n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::bitxor_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/deque.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/deque.hpp
deleted file mode 100755
index fb8ef1a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/deque.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct deque_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct deque_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef vector0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_deque_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_deque_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct deque_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_deque_arg<T1>::value + is_deque_arg<T2>::value 
-        + is_deque_arg<T3>::value + is_deque_arg<T4>::value 
-        + is_deque_arg<T5>::value + is_deque_arg<T6>::value 
-        + is_deque_arg<T7>::value + is_deque_arg<T8>::value 
-        + is_deque_arg<T9>::value + is_deque_arg<T10>::value 
-        + is_deque_arg<T11>::value + is_deque_arg<T12>::value 
-        + is_deque_arg<T13>::value + is_deque_arg<T14>::value 
-        + is_deque_arg<T15>::value + is_deque_arg<T16>::value 
-        + is_deque_arg<T17>::value + is_deque_arg<T18>::value 
-        + is_deque_arg<T19>::value + is_deque_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct deque_impl
-{
-    typedef aux::deque_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::deque_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct deque
-    : aux::deque_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::deque_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/divides.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/divides.hpp
deleted file mode 100755
index 14d5636..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/divides.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct divides_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct divides_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct divides_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct divides_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct divides2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct divides
-
-    : if_<
-
-          is_na<N3>
-        , divides2< N1,N2 >
-        , divides<
-              divides2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , divides
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct divides2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          divides_impl<
-              typename divides_tag<N1>::type
-            , typename divides_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct divides_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 / n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::divides_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp
deleted file mode 100755
index e1e6711..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct equal_to_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct equal_to_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct equal_to_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct equal_to
-    : aux::msvc_eti_base< typename apply_wrap2<
-          equal_to_impl<
-              typename equal_to_tag<N1>::type
-            , typename equal_to_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp
deleted file mode 100755
index 8387f65..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp
+++ /dev/null
@@ -1,293 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl;
-
-template< int N >
-struct fold_chunk;
-
-template<> struct fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef state0 state;
-        typedef iter0 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef state1 state;
-        typedef iter1 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef state2 state;
-        typedef iter2 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef state3 state;
-        typedef iter3 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef state4 state;
-        typedef iter4 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template< int N >
-struct fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef fold_impl<
-              4
-            , First
-            , Last
-            , State
-            , ForwardOp
-            > chunk_;
-
-        typedef fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , typename chunk_::iterator
-            , Last
-            , typename chunk_::state
-            , ForwardOp
-            > res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , fold_null_step< Last,State >
-            , fold_step< First,Last,State,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_step
-{
-    typedef fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , ForwardOp
-        > chunk_;
-
-    typedef typename chunk_::state state;
-    typedef typename chunk_::iterator iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl
-    : fold_chunk<N>
-        ::template result_< First,Last,State,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp
deleted file mode 100755
index 78cb47c..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp
+++ /dev/null
@@ -1,554 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-   
-    >
-struct lambda
-{
-    typedef false_ is_le;
-    typedef T result_;
-    typedef T type;
-};
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
-    typedef true_ is_le;
-    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
-    typedef mpl::protect<result_> type;
-};
-
-template<
-      typename F
-    , typename Tag
-    >
-struct lambda<
-          bind0<F>
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind0<
-          F
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1
-{
-    typedef F<
-          typename L1::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1< true_,Tag,F,L1 >
-{
-    typedef bind1<
-          quote1< F,Tag >
-        , typename L1::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1 > class F
-    , typename T1
-    , typename Tag
-    >
-struct lambda<
-          F<T1>
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef typename l1::is_le is_le1;
-    typedef typename aux::lambda_or<
-          is_le1::value
-        >::type is_le;
-
-    typedef aux::le_result1<
-          is_le, Tag, F, l1
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1
-    , typename Tag
-    >
-struct lambda<
-          bind1< F,T1 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind1<
-          F
-        , T1
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2
-{
-    typedef F<
-          typename L1::type, typename L2::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
-    typedef bind2<
-          quote2< F,Tag >
-        , typename L1::result_, typename L2::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value
-        >::type is_le;
-
-    typedef aux::le_result2<
-          is_le, Tag, F, l1, l2
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          bind2< F,T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind2<
-          F
-        , T1, T2
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
-    typedef bind3<
-          quote3< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value
-        >::type is_le;
-
-    typedef aux::le_result3<
-          is_le, Tag, F, l1, l2, l3
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          bind3< F,T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind3<
-          F
-        , T1, T2, T3
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
-    typedef bind4<
-          quote4< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        >::type is_le;
-
-    typedef aux::le_result4<
-          is_le, Tag, F, l1, l2, l3, l4
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          bind4< F,T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind4<
-          F
-        , T1, T2, T3, T4
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type, typename L5::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
-    typedef bind5<
-          quote5< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_, typename L5::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    typedef lambda< T5,Tag > l5;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    typedef typename l5::is_le is_le5;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        , is_le5::value
-        >::type is_le;
-
-    typedef aux::le_result5<
-          is_le, Tag, F, l1, l2, l3, l4, l5
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind5< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind5<
-          F
-        , T1, T2, T3, T4, T5
-        > result_;
-
-    typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
-    typedef false_ is_le;
-    typedef mpl::protect<T> result_;
-    typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind< F,T1,T2,T3,T4,T5 > result_;
-    typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
-      typename F, typename Tag1, typename Tag2
-    >
-struct lambda<
-          lambda< F,Tag1 >
-        , Tag2
-        >
-{
-    typedef lambda< F,Tag2 > l1;
-    typedef lambda< Tag1,Tag2 > l2;
-    typedef typename l1::is_le is_le;
-    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/greater.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/greater.hpp
deleted file mode 100755
index f37d9e6..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/greater.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct greater_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct greater_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct greater_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater
-    : aux::msvc_eti_base< typename apply_wrap2<
-          greater_impl<
-              typename greater_tag<N1>::type
-            , typename greater_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp
deleted file mode 100755
index 939c056..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct greater_equal_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct greater_equal_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct greater_equal_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater_equal
-    : aux::msvc_eti_base< typename apply_wrap2<
-          greater_equal_impl<
-              typename greater_equal_tag<N1>::type
-            , typename greater_equal_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp
deleted file mode 100755
index c61fc27..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C1, bool C2 >
-struct inherit2_impl
-{
-    template< typename Derived, typename T1, typename T2 > struct result_
-        : T1, T2
-    {
-        typedef Derived type_;
-    };
-};
-
-template<>
-struct inherit2_impl< false,true >
-{
-    template< typename Derived, typename T1, typename T2 > struct result_
-        : T1
-    {
-        typedef T1 type_;
-    };
-};
-
-template<>
-struct inherit2_impl< true,false >
-{
-    template< typename Derived, typename T1, typename T2 > struct result_
-        : T2
-    {
-        typedef T2 type_;
-    };
-};
-
-template<>
-struct inherit2_impl< true,true >
-{
-    template< typename Derived, typename T1, typename T2 > struct result_
-    {
-        typedef T1 type_;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct inherit2
-    : aux::inherit2_impl<
-          is_empty_base<T1>::value
-        , is_empty_base<T2>::value
-        >::template result_< inherit2< T1,T2 >,T1, T2 >
-{
-    typedef typename inherit2::type_ type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na
-    >
-struct inherit3
-    : inherit2<
-          typename inherit2<
-              T1, T2
-            >::type
-        , T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , inherit3
-        , ( T1, T2, T3)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    >
-struct inherit4
-    : inherit2<
-          typename inherit3<
-              T1, T2, T3
-            >::type
-        , T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , inherit4
-        , ( T1, T2, T3, T4)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    , typename T5 = na
-    >
-struct inherit5
-    : inherit2<
-          typename inherit4<
-              T1, T2, T3, T4
-            >::type
-        , T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , inherit5
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
-      typename T1 = empty_base, typename T2 = empty_base
-    , typename T3 = empty_base, typename T4 = empty_base
-    , typename T5 = empty_base
-    >
-struct inherit
-    : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
-    template<
-
-          typename T1 = empty_base, typename T2 = empty_base
-        , typename T3 = empty_base, typename T4 = empty_base
-        , typename T5 = empty_base
-
-        >
-    struct apply
-        : inherit< T1,T2,T3,T4,T5 >
-    {
-    };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp
deleted file mode 100755
index 233e7dd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
-    typedef State state;
-    typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef typename apply2< StateOp,State,Iterator >::type state;
-        typedef typename IteratorOp::type iterator;
-    };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef State state;
-        typedef Iterator iterator;
-    };
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_forward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename BackwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_backward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename ForwardPredicate
-    , typename BackwardOp
-    , typename BackwardPredicate
-    >
-struct iter_fold_if_impl
-{
- private:
-    typedef iter_fold_if_null_step< Iterator,State > forward_step0;
-    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
-    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
-    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
-    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-    
-
-    typedef typename if_<
-          typename forward_step4::not_last
-        , iter_fold_if_impl<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            , ForwardOp
-            , ForwardPredicate
-            , BackwardOp
-            , BackwardPredicate
-            >
-        , iter_fold_if_null_step<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            >
-        >::type backward_step4;
-
-    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
-    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
-    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
-    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-    
-
- public:
-    typedef typename backward_step0::state state;
-    typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp
deleted file mode 100755
index 184cf15..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp
+++ /dev/null
@@ -1,293 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl;
-
-template< int N >
-struct iter_fold_chunk;
-
-template<> struct iter_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef state0 state;
-        typedef iter0 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct iter_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef state1 state;
-        typedef iter1 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct iter_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef state2 state;
-        typedef iter2 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct iter_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef state3 state;
-        typedef iter3 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct iter_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef state4 state;
-        typedef iter4 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template< int N >
-struct iter_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef iter_fold_impl<
-              4
-            , First
-            , Last
-            , State
-            , ForwardOp
-            > chunk_;
-
-        typedef iter_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , typename chunk_::iterator
-            , Last
-            , typename chunk_::state
-            , ForwardOp
-            > res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct iter_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct iter_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , iter_fold_null_step< Last,State >
-            , iter_fold_step< First,Last,State,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_step
-{
-    typedef iter_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , ForwardOp
-        > chunk_;
-
-    typedef typename chunk_::state state;
-    typedef typename chunk_::iterator iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl
-    : iter_fold_chunk<N>
-        ::template result_< First,Last,State,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp
deleted file mode 100755
index c4ac608..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
-    template< typename T, typename Tag, typename Protect > struct result_
-    {
-        typedef T type;
-        typedef is_placeholder<T> is_le;
-    };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef typename l1::is_le is_le1;
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
-            > is_le;
-
-        typedef bind1<
-              typename F::rebind
-            , typename l1::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
-            > is_le;
-
-        typedef bind2<
-              typename F::rebind
-            , typename l1::type, typename l2::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
-            > is_le;
-
-        typedef bind3<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
-            > is_le;
-
-        typedef bind4<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        typedef lambda< typename F::arg5, Tag, false_ > l5;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        typedef typename l5::is_le is_le5;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
-            > is_le;
-
-        typedef bind5<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type, typename l5::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Protect
-    >
-struct lambda
-{
-    /// Metafunction forwarding confuses MSVC 6.x
-    typedef typename aux::template_arity<T>::type arity_;
-    typedef typename aux::lambda_impl<arity_>
-        ::template result_< T,Tag,Protect > l_;
-
-    typedef typename l_::type type;
-    typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/less.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/less.hpp
deleted file mode 100755
index 9729859..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/less.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct less_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct less_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct less_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less
-    : aux::msvc_eti_base< typename apply_wrap2<
-          less_impl<
-              typename less_tag<N1>::type
-            , typename less_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N2)::value >
-             BOOST_MPL_AUX_VALUE_WKND(N1)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp
deleted file mode 100755
index 6936ded..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct less_equal_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct less_equal_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct less_equal_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less_equal
-    : aux::msvc_eti_base< typename apply_wrap2<
-          less_equal_impl<
-              typename less_equal_tag<N1>::type
-            , typename less_equal_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/list.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/list.hpp
deleted file mode 100755
index d1e03d2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/list.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct list_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct list_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef list0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_list_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_list_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct list_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_list_arg<T1>::value + is_list_arg<T2>::value 
-        + is_list_arg<T3>::value + is_list_arg<T4>::value 
-        + is_list_arg<T5>::value + is_list_arg<T6>::value 
-        + is_list_arg<T7>::value + is_list_arg<T8>::value 
-        + is_list_arg<T9>::value + is_list_arg<T10>::value 
-        + is_list_arg<T11>::value + is_list_arg<T12>::value 
-        + is_list_arg<T13>::value + is_list_arg<T14>::value 
-        + is_list_arg<T15>::value + is_list_arg<T16>::value 
-        + is_list_arg<T17>::value + is_list_arg<T18>::value 
-        + is_list_arg<T19>::value + is_list_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct list_impl
-{
-    typedef aux::list_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::list_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct list
-    : aux::list_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::list_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp
deleted file mode 100755
index b821770..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct list_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct list_c_chooser<0>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list0_c<
-              T
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<1>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list1_c<
-              T, C0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<2>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list2_c<
-              T, C0, C1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<3>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list3_c<
-              T, C0, C1, C2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<4>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list4_c<
-              T, C0, C1, C2, C3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<5>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list5_c<
-              T, C0, C1, C2, C3, C4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<6>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list6_c<
-              T, C0, C1, C2, C3, C4, C5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<7>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list7_c<
-              T, C0, C1, C2, C3, C4, C5, C6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<8>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list8_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<9>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list9_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<10>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list10_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<11>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list11_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<12>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list12_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<13>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list13_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<14>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list14_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<15>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list15_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<16>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list16_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<17>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list17_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<18>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list18_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<19>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list19_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<20>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list20_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_list_c_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_list_c_arg<LONG_MAX>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
-    , long C9, long C10, long C11, long C12, long C13, long C14, long C15
-    , long C16, long C17, long C18, long C19, long C20
-    >
-struct list_c_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_list_c_arg<C1>::value + is_list_c_arg<C2>::value 
-        + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value 
-        + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value 
-        + is_list_c_arg<C7>::value + is_list_c_arg<C8>::value 
-        + is_list_c_arg<C9>::value + is_list_c_arg<C10>::value 
-        + is_list_c_arg<C11>::value + is_list_c_arg<C12>::value 
-        + is_list_c_arg<C13>::value + is_list_c_arg<C14>::value 
-        + is_list_c_arg<C15>::value + is_list_c_arg<C16>::value 
-        + is_list_c_arg<C17>::value + is_list_c_arg<C18>::value 
-        + is_list_c_arg<C19>::value + is_list_c_arg<C20>::value
-        );
-
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct list_c_impl
-{
-    typedef aux::list_c_count_args<
-          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        > arg_num_;
-
-    typedef typename aux::list_c_chooser< arg_num_::value >
-        ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct list_c
-    : aux::list_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type
-{
-    typedef typename aux::list_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/map.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/map.hpp
deleted file mode 100755
index 0e1ae00..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/map.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct map_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct map_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef map0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_map_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_map_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct map_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_map_arg<T1>::value + is_map_arg<T2>::value 
-        + is_map_arg<T3>::value + is_map_arg<T4>::value 
-        + is_map_arg<T5>::value + is_map_arg<T6>::value 
-        + is_map_arg<T7>::value + is_map_arg<T8>::value 
-        + is_map_arg<T9>::value + is_map_arg<T10>::value 
-        + is_map_arg<T11>::value + is_map_arg<T12>::value 
-        + is_map_arg<T13>::value + is_map_arg<T14>::value 
-        + is_map_arg<T15>::value + is_map_arg<T16>::value 
-        + is_map_arg<T17>::value + is_map_arg<T18>::value 
-        + is_map_arg<T19>::value + is_map_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct map_impl
-{
-    typedef aux::map_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::map_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct map
-    : aux::map_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::map_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/minus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/minus.hpp
deleted file mode 100755
index 5e599c7..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/minus.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct minus_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct minus_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct minus_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct minus_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct minus2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct minus
-
-    : if_<
-
-          is_na<N3>
-        , minus2< N1,N2 >
-        , minus<
-              minus2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , minus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct minus2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          minus_impl<
-              typename minus_tag<N1>::type
-            , typename minus_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct minus_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 - n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::minus_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp
deleted file mode 100755
index 096f848..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct modulus_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct modulus_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct modulus_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct modulus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct modulus
-    : aux::msvc_eti_base< typename apply_wrap2<
-          modulus_impl<
-              typename modulus_tag<N1>::type
-            , typename modulus_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct modulus_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 % n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::modulus_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp
deleted file mode 100755
index 3d6dcc6..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct not_equal_to_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct not_equal_to_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct not_equal_to_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct not_equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct not_equal_to
-    : aux::msvc_eti_base< typename apply_wrap2<
-          not_equal_to_impl<
-              typename not_equal_to_tag<N1>::type
-            , typename not_equal_to_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/or.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/or.hpp
deleted file mode 100755
index c404d09..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/or.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool C_ > struct or_impl
-{
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : true_
-    {
-    };
-};
-
-template<> struct or_impl<false>
-{
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : or_impl<
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-            >::template result_< T2,T3,T4,false_ >
-    {
-    };
-};
-
-template<>
-struct or_impl<false>
-    ::result_< false_,false_,false_,false_ >
-        : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = false_, typename T4 = false_, typename T5 = false_
-    >
-struct or_
-
-    : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        >::template result_< T2,T3,T4,T5 >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , or_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , or_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp
deleted file mode 100755
index df5cb1d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/plus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/plus.hpp
deleted file mode 100755
index b1ec392..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/plus.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct plus_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct plus_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct plus_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct plus_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct plus2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct plus
-
-    : if_<
-
-          is_na<N3>
-        , plus2< N1,N2 >
-        , plus<
-              plus2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , plus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct plus2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          plus_impl<
-              typename plus_tag<N1>::type
-            , typename plus_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct plus_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 + n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::plus_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/quote.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/quote.hpp
deleted file mode 100755
index df25a69..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/quote.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp
deleted file mode 100755
index 4127c6f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,343 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl;
-
-template< long N >
-struct reverse_fold_chunk;
-
-template<> struct reverse_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef fwd_state0 bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter0 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct reverse_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef fwd_state1 bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter1 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct reverse_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef fwd_state2 bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter2 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct reverse_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef fwd_state3 bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter3 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct reverse_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef fwd_state4 bkwd_state4;
-        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter4 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template< long N >
-struct reverse_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef reverse_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , iter4
-            , Last
-            , fwd_state4
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-
-        typedef typename nested_chunk::state bkwd_state4;
-        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct reverse_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct reverse_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , reverse_fold_null_step< Last,State >
-            , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_step
-{
-    typedef reverse_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , typename deref<First>::type
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl
-    : reverse_fold_chunk<N>
-        ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp
deleted file mode 100755
index 3ff031f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,343 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl;
-
-template< long N >
-struct reverse_iter_fold_chunk;
-
-template<> struct reverse_iter_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef fwd_state0 bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter0 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct reverse_iter_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef fwd_state1 bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter1 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct reverse_iter_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef fwd_state2 bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter2 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct reverse_iter_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef fwd_state3 bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter3 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<> struct reverse_iter_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef fwd_state4 bkwd_state4;
-        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter4 iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template< long N >
-struct reverse_iter_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef reverse_iter_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , iter4
-            , Last
-            , fwd_state4
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-
-        typedef typename nested_chunk::state bkwd_state4;
-        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct reverse_iter_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct reverse_iter_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , reverse_iter_fold_null_step< Last,State >
-            , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-
-    /// ETI workaround
-    template<> struct result_< int,int,int,int,int >
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_step
-{
-    typedef reverse_iter_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , First
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl
-    : reverse_iter_fold_chunk<N>
-        ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/set.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/set.hpp
deleted file mode 100755
index aa1a8b1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/set.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct set_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct set_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef set0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_set_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_set_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct set_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_set_arg<T1>::value + is_set_arg<T2>::value 
-        + is_set_arg<T3>::value + is_set_arg<T4>::value 
-        + is_set_arg<T5>::value + is_set_arg<T6>::value 
-        + is_set_arg<T7>::value + is_set_arg<T8>::value 
-        + is_set_arg<T9>::value + is_set_arg<T10>::value 
-        + is_set_arg<T11>::value + is_set_arg<T12>::value 
-        + is_set_arg<T13>::value + is_set_arg<T14>::value 
-        + is_set_arg<T15>::value + is_set_arg<T16>::value 
-        + is_set_arg<T17>::value + is_set_arg<T18>::value 
-        + is_set_arg<T19>::value + is_set_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct set_impl
-{
-    typedef aux::set_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::set_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct set
-    : aux::set_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::set_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp
deleted file mode 100755
index eb0f084..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct set_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct set_c_chooser<0>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set0_c<
-              T
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<1>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set1_c<
-              T, C0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<2>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set2_c<
-              T, C0, C1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<3>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set3_c<
-              T, C0, C1, C2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<4>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set4_c<
-              T, C0, C1, C2, C3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<5>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set5_c<
-              T, C0, C1, C2, C3, C4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<6>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set6_c<
-              T, C0, C1, C2, C3, C4, C5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<7>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set7_c<
-              T, C0, C1, C2, C3, C4, C5, C6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<8>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set8_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<9>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set9_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<10>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set10_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<11>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set11_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<12>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set12_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<13>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set13_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<14>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set14_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<15>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set15_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<16>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set16_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<17>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set17_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<18>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set18_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<19>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set19_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<20>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set20_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_set_c_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_set_c_arg<LONG_MAX>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
-    , long C9, long C10, long C11, long C12, long C13, long C14, long C15
-    , long C16, long C17, long C18, long C19, long C20
-    >
-struct set_c_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_set_c_arg<C1>::value + is_set_c_arg<C2>::value 
-        + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value 
-        + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value 
-        + is_set_c_arg<C7>::value + is_set_c_arg<C8>::value 
-        + is_set_c_arg<C9>::value + is_set_c_arg<C10>::value 
-        + is_set_c_arg<C11>::value + is_set_c_arg<C12>::value 
-        + is_set_c_arg<C13>::value + is_set_c_arg<C14>::value 
-        + is_set_c_arg<C15>::value + is_set_c_arg<C16>::value 
-        + is_set_c_arg<C17>::value + is_set_c_arg<C18>::value 
-        + is_set_c_arg<C19>::value + is_set_c_arg<C20>::value
-        );
-
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct set_c_impl
-{
-    typedef aux::set_c_count_args<
-          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        > arg_num_;
-
-    typedef typename aux::set_c_chooser< arg_num_::value >
-        ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct set_c
-    : aux::set_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type
-{
-    typedef typename aux::set_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp
deleted file mode 100755
index dc35ec9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct shift_left_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct shift_left_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct shift_left_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_left_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_left
-    : aux::msvc_eti_base< typename apply_wrap2<
-          shift_left_impl<
-              typename shift_left_tag<N1>::type
-            , typename shift_left_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct shift_left_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n << s));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-        : aux::shift_left_wknd<
-              typename N::value_type
-            , typename S::value_type
-            , N::value
-            , S::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp
deleted file mode 100755
index d4d960f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct shift_right_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct shift_right_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct shift_right_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_right_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_right
-    : aux::msvc_eti_base< typename apply_wrap2<
-          shift_right_impl<
-              typename shift_right_tag<N1>::type
-            , typename shift_right_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct shift_right_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n >> s));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-        : aux::shift_right_wknd<
-              typename N::value_type
-            , typename S::value_type
-            , N::value
-            , S::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp
deleted file mode 100755
index 1146ec2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
-    template< typename F > struct result_
-        : mpl::int_< -1 >
-    {
-    };
-};
-
-template<>
-struct template_arity_impl<true>
-{
-    template< typename F > struct result_
-        : F::arity
-    {
-    };
-};
-
-template< typename F >
-struct template_arity
-    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
-        ::template result_<F>
-{
-};
-
-template<>
-struct template_arity<int>
-    : mpl::int_< -1 >
-{
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/times.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/times.hpp
deleted file mode 100755
index be6371c..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/times.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct times_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct times_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct times_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct times_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct times2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct times
-
-    : if_<
-
-          is_na<N3>
-        , times2< N1,N2 >
-        , times<
-              times2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , times
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct times2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          times_impl<
-              typename times_tag<N1>::type
-            , typename times_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct times_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 * n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::times_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp
deleted file mode 100755
index 17718d9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
-{
-    template< typename F, typename Args > struct apply;
-};
-
-template<> struct unpack_args_impl<0>
-{
-    template< typename F, typename Args > struct apply
-        : apply0<
-              F
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<1>
-{
-    template< typename F, typename Args > struct apply
-        : apply1<
-              F
-            , typename at_c< Args,0 >::type
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<2>
-{
-    template< typename F, typename Args > struct apply
-        : apply2<
-              F
-            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<3>
-{
-    template< typename F, typename Args > struct apply
-        : apply3<
-              F
-            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-            , typename at_c< Args,2 >::type
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<4>
-{
-    template< typename F, typename Args > struct apply
-        : apply4<
-              F
-            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-            , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<5>
-{
-    template< typename F, typename Args > struct apply
-        : apply5<
-              F
-            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-            , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-            , typename at_c< Args,4 >::type
-            >
-    {
-    };
-};
-
-}
-
-template<
-      typename F
-    >
-struct unpack_args
-{
-    template< typename Args > struct apply
-
-        : aux::unpack_args_impl< size<Args>::value >
-            ::template apply< F,Args >
-
-    {
-    };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/vector.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/vector.hpp
deleted file mode 100755
index 6c6fca5..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/vector.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct vector_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct vector_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef vector0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_vector_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_vector_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct vector_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_vector_arg<T1>::value + is_vector_arg<T2>::value 
-        + is_vector_arg<T3>::value + is_vector_arg<T4>::value 
-        + is_vector_arg<T5>::value + is_vector_arg<T6>::value 
-        + is_vector_arg<T7>::value + is_vector_arg<T8>::value 
-        + is_vector_arg<T9>::value + is_vector_arg<T10>::value 
-        + is_vector_arg<T11>::value + is_vector_arg<T12>::value 
-        + is_vector_arg<T13>::value + is_vector_arg<T14>::value 
-        + is_vector_arg<T15>::value + is_vector_arg<T16>::value 
-        + is_vector_arg<T17>::value + is_vector_arg<T18>::value 
-        + is_vector_arg<T19>::value + is_vector_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector_impl
-{
-    typedef aux::vector_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::vector_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct vector
-    : aux::vector_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::vector_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp
deleted file mode 100755
index 894023e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct vector_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<0>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector0_c<
-              T
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<1>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector1_c<
-              T, T(C0)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<2>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector2_c<
-              T, T(C0), T(C1)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<3>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector3_c<
-              T, T(C0), T(C1), T(C2)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<4>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector4_c<
-              T, T(C0), T(C1), T(C2), T(C3)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<5>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector5_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<6>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector6_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<7>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector7_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<8>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector8_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<9>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector9_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<10>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector10_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<11>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector11_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<12>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector12_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<13>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector13_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<14>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector14_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<15>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector15_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<16>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector16_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<17>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector17_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<18>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector18_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<19>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector19_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<20>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector20_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_vector_c_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_vector_c_arg<LONG_MAX>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
-    , long C9, long C10, long C11, long C12, long C13, long C14, long C15
-    , long C16, long C17, long C18, long C19, long C20
-    >
-struct vector_c_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value 
-        + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value 
-        + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value 
-        + is_vector_c_arg<C7>::value + is_vector_c_arg<C8>::value 
-        + is_vector_c_arg<C9>::value + is_vector_c_arg<C10>::value 
-        + is_vector_c_arg<C11>::value + is_vector_c_arg<C12>::value 
-        + is_vector_c_arg<C13>::value + is_vector_c_arg<C14>::value 
-        + is_vector_c_arg<C15>::value + is_vector_c_arg<C16>::value 
-        + is_vector_c_arg<C17>::value + is_vector_c_arg<C18>::value 
-        + is_vector_c_arg<C19>::value + is_vector_c_arg<C20>::value
-        );
-
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct vector_c_impl
-{
-    typedef aux::vector_c_count_args<
-          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        > arg_num_;
-
-    typedef typename aux::vector_c_chooser< arg_num_::value >
-        ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct vector_c
-    : aux::vector_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type
-{
-    typedef typename aux::vector_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp
deleted file mode 100755
index 2d65040..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_backward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_backward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_backward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_backward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef typename prior<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_backward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_backward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_backward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp
deleted file mode 100755
index 9762f7b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_forward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_forward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_forward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_forward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef typename next<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_forward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_forward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_forward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/and.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/and.hpp
deleted file mode 100755
index cab8bb6..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/and.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool C_ > struct and_impl
-{
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : false_
-    {
-    };
-};
-
-template<> struct and_impl<true>
-{
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : and_impl<
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-            >::template result_< T2,T3,T4,true_ >
-    {
-    };
-
-    template<> struct result_< true_,true_,true_,true_ >
-        : true_
-    {
-    };
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = true_, typename T4 = true_, typename T5 = true_
-    >
-struct and_
-
-    : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        >::template result_< T2,T3,T4,T5 >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , and_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , and_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/apply.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/apply.hpp
deleted file mode 100755
index 7cdd9d6..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/apply.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0
-
-    : apply_wrap0<
-          typename lambda<F>::type
-       
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          1
-        , apply0
-        , (F )
-        )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply0<int>
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply1
-
-    : apply_wrap1<
-          typename lambda<F>::type
-        , T1
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          2
-        , apply1
-        , (F, T1)
-        )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply1< int,int >
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2
-
-    : apply_wrap2<
-          typename lambda<F>::type
-        , T1, T2
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , apply2
-        , (F, T1, T2)
-        )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply2< int,int,int >
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3
-
-    : apply_wrap3<
-          typename lambda<F>::type
-        , T1, T2, T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , apply3
-        , (F, T1, T2, T3)
-        )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply3< int,int,int,int >
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4
-
-    : apply_wrap4<
-          typename lambda<F>::type
-        , T1, T2, T3, T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , apply4
-        , (F, T1, T2, T3, T4)
-        )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply4< int,int,int,int,int >
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5
-
-    : apply_wrap5<
-          typename lambda<F>::type
-        , T1, T2, T3, T4, T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          6
-        , apply5
-        , (F, T1, T2, T3, T4, T5)
-        )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply5< int,int,int,int,int,int >
-{
-    typedef int type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp
deleted file mode 100755
index 606c2ef..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0;
-
-template<
-      typename F, typename T1
-    >
-struct apply1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp
deleted file mode 100755
index ba0f5a2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-
-    , typename has_apply_ = typename aux::has_apply<F>::type
-
-    >
-struct apply_wrap0
-
-{
-    typedef typename F::template apply<
-        
-        >::type type;
-
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap0<int>
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1
-
-    >
-struct apply_wrap1
-
-{
-    typedef typename F::template apply<
-         T1
-        >::type type;
-
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap1< int,int >
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1, typename T2
-
-    >
-struct apply_wrap2
-
-{
-    typedef typename F::template apply<
-         T1, T2
-        >::type type;
-
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap2< int,int,int >
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-
-    >
-struct apply_wrap3
-
-{
-    typedef typename F::template apply<
-         T1, T2, T3
-        >::type type;
-
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap3< int,int,int,int >
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-
-    >
-struct apply_wrap4
-
-{
-    typedef typename F::template apply<
-         T1, T2, T3, T4
-        >::type type;
-
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap4< int,int,int,int,int >
-{
-    typedef int type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-
-    >
-struct apply_wrap5
-
-{
-    typedef typename F::template apply<
-         T1, T2, T3, T4, T5
-        >::type type;
-
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap5< int,int,int,int,int,int >
-{
-    typedef int type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/arg.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/arg.hpp
deleted file mode 100755
index a77b8a2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<1>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 1);
-    typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<2>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 2);
-    typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<3>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 3);
-    typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<4>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 4);
-    typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<5>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 5);
-    typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp
deleted file mode 100755
index 5b1d0cc..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool >
-struct resolve_arg_impl
-{
-    template<
-          typename T, typename U1, typename U2, typename U3
-        , typename U4, typename U5
-        >
-    struct result_
-    {
-        typedef T type;
-    };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
-    template<
-          typename T, typename U1, typename U2, typename U3
-        , typename U4, typename U5
-        >
-    struct result_
-    {
-        typedef typename apply_wrap5<
-              T
-            , U1, U2, U3, U4, U5
-            >::type type;
-    };
-};
-
-template< typename T > struct is_bind_template;
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-    : resolve_arg_impl< is_bind_template<T>::value >
-            ::template result_< T,U1,U2,U3,U4,U5 >
-{
-};
-
-template< int arity_ > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-template< int N >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_  = true >
-struct is_bind_template_impl
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value  = false);
-    };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-              sizeof(aux::is_bind_helper(static_cast<T*>(0)))
-                == sizeof(aux::yes_tag)
-            );
-    };
-};
-
-template< typename T > struct is_bind_template
-    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
-        ::template result_<T>
-{
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F
-    >
-aux::yes_tag
-is_bind_helper(bind0<F>*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1
-    >
-aux::yes_tag
-is_bind_helper(bind1< F,T1 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2
-    >
-aux::yes_tag
-is_bind_helper(bind2< F,T1,T2 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-aux::yes_tag
-is_bind_helper(bind3< F,T1,T2,T3 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-aux::yes_tag
-is_bind_helper(bind4< F,T1,T2,T3,T4 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-aux::yes_tag
-is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bind.hpp
deleted file mode 100755
index 967e89e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bind.hpp
+++ /dev/null
@@ -1,432 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool >
-struct resolve_arg_impl
-{
-    template<
-          typename T, typename U1, typename U2, typename U3
-        , typename U4, typename U5
-        >
-    struct result_
-    {
-        typedef T type;
-    };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
-    template<
-          typename T, typename U1, typename U2, typename U3
-        , typename U4, typename U5
-        >
-    struct result_
-    {
-        typedef typename apply_wrap5<
-              T
-            , U1, U2, U3, U4, U5
-            >::type type;
-    };
-};
-
-template< typename T > struct is_bind_template;
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-    : resolve_arg_impl< is_bind_template<T>::value >
-            ::template result_< T,U1,U2,U3,U4,U5 >
-{
-};
-
-template< typename T >
-struct replace_unnamed_arg_impl
-{
-    template< typename Arg > struct result_
-    {
-        typedef Arg next;
-        typedef T type;
-    };
-};
-
-template<>
-struct replace_unnamed_arg_impl< arg< -1 > >
-{
-    template< typename Arg > struct result_
-    {
-        typedef typename next<Arg>::type next;
-        typedef Arg type;
-    };
-};
-
-template< typename T, typename Arg >
-struct replace_unnamed_arg
-    : replace_unnamed_arg_impl<T>::template result_<Arg>
-{
-};
-
-template< int arity_ > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-template< int N >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_  = true >
-struct is_bind_template_impl
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value  = false);
-    };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-              sizeof(aux::is_bind_helper(static_cast<T*>(0)))
-                == sizeof(aux::yes_tag)
-            );
-    };
-};
-
-template< typename T > struct is_bind_template
-    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
-        ::template result_<T>
-{
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F
-    >
-aux::yes_tag
-is_bind_helper(bind0<F>*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1
-    >
-aux::yes_tag
-is_bind_helper(bind1< F,T1 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2
-    >
-aux::yes_tag
-is_bind_helper(bind2< F,T1,T2 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-aux::yes_tag
-is_bind_helper(bind3< F,T1,T2,T3 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-aux::yes_tag
-is_bind_helper(bind4< F,T1,T2,T3,T4 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-        typedef aux::replace_unnamed_arg< T5,n5 > r5;
-        typedef typename r5::type a5;
-        typedef typename r5::next n6;
-        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
-        ///
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-aux::yes_tag
-is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp
deleted file mode 100755
index 0be46fa..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct bind0;
-
-template<
-      typename F, typename T1
-    >
-struct bind1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp
deleted file mode 100755
index 428f6b4..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct bitand_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitand_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitand_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitand_tag
-    : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct bitand_2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitand_
-
-    : aux::msvc_eti_base< typename if_<
-
-          is_na<N3>
-        , bitand_2< N1,N2 >
-        , bitand_<
-              bitand_2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-    >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct bitand_2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          bitand_impl<
-              typename bitand_tag<N1>::type
-            , typename bitand_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitand_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 & n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::bitand_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp
deleted file mode 100755
index 65a6741..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct bitor_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitor_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitor_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitor_tag
-    : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct bitor_2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitor_
-
-    : aux::msvc_eti_base< typename if_<
-
-          is_na<N3>
-        , bitor_2< N1,N2 >
-        , bitor_<
-              bitor_2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-    >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct bitor_2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          bitor_impl<
-              typename bitor_tag<N1>::type
-            , typename bitor_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitor_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 | n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::bitor_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp
deleted file mode 100755
index 9a6c202..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct bitxor_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitxor_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitxor_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitxor_tag
-    : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct bitxor_2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitxor_
-
-    : aux::msvc_eti_base< typename if_<
-
-          is_na<N3>
-        , bitxor_2< N1,N2 >
-        , bitxor_<
-              bitxor_2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-    >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct bitxor_2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          bitxor_impl<
-              typename bitxor_tag<N1>::type
-            , typename bitxor_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitxor_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 ^ n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::bitxor_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/deque.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/deque.hpp
deleted file mode 100755
index fb8ef1a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/deque.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct deque_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct deque_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef vector0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_deque_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_deque_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct deque_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_deque_arg<T1>::value + is_deque_arg<T2>::value 
-        + is_deque_arg<T3>::value + is_deque_arg<T4>::value 
-        + is_deque_arg<T5>::value + is_deque_arg<T6>::value 
-        + is_deque_arg<T7>::value + is_deque_arg<T8>::value 
-        + is_deque_arg<T9>::value + is_deque_arg<T10>::value 
-        + is_deque_arg<T11>::value + is_deque_arg<T12>::value 
-        + is_deque_arg<T13>::value + is_deque_arg<T14>::value 
-        + is_deque_arg<T15>::value + is_deque_arg<T16>::value 
-        + is_deque_arg<T17>::value + is_deque_arg<T18>::value 
-        + is_deque_arg<T19>::value + is_deque_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct deque_impl
-{
-    typedef aux::deque_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::deque_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct deque
-    : aux::deque_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::deque_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/divides.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/divides.hpp
deleted file mode 100755
index 87449e9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/divides.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct divides_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct divides_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct divides_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct divides_tag
-    : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct divides2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct divides
-
-    : aux::msvc_eti_base< typename if_<
-
-          is_na<N3>
-        , divides2< N1,N2 >
-        , divides<
-              divides2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-    >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , divides
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct divides2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          divides_impl<
-              typename divides_tag<N1>::type
-            , typename divides_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct divides_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 / n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::divides_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp
deleted file mode 100755
index 6c22ddf..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct equal_to_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct equal_to_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct equal_to_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct equal_to_tag
-    : tag< T,na >
-{
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct equal_to
-    : aux::msvc_eti_base< typename apply_wrap2<
-          equal_to_impl<
-              typename equal_to_tag<N1>::type
-            , typename equal_to_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp
deleted file mode 100755
index 07659ae..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp
+++ /dev/null
@@ -1,245 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl;
-
-template< int N >
-struct fold_chunk;
-
-template<> struct fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef state1 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef state2 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef state3 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef state4 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< int N >
-struct fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef fold_impl<
-              4
-            , First
-            , Last
-            , State
-            , ForwardOp
-            > chunk_;
-
-        typedef fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , typename chunk_::iterator
-            , Last
-            , typename chunk_::state
-            , ForwardOp
-            > res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , fold_null_step< Last,State >
-            , fold_step< First,Last,State,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_step
-{
-    typedef fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , ForwardOp
-        > chunk_;
-
-    typedef typename chunk_::state state;
-    typedef typename chunk_::iterator iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl
-    : fold_chunk<N>
-        ::template result_< First,Last,State,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp
deleted file mode 100755
index 78cb47c..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp
+++ /dev/null
@@ -1,554 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-   
-    >
-struct lambda
-{
-    typedef false_ is_le;
-    typedef T result_;
-    typedef T type;
-};
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
-    typedef true_ is_le;
-    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
-    typedef mpl::protect<result_> type;
-};
-
-template<
-      typename F
-    , typename Tag
-    >
-struct lambda<
-          bind0<F>
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind0<
-          F
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1
-{
-    typedef F<
-          typename L1::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1< true_,Tag,F,L1 >
-{
-    typedef bind1<
-          quote1< F,Tag >
-        , typename L1::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1 > class F
-    , typename T1
-    , typename Tag
-    >
-struct lambda<
-          F<T1>
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef typename l1::is_le is_le1;
-    typedef typename aux::lambda_or<
-          is_le1::value
-        >::type is_le;
-
-    typedef aux::le_result1<
-          is_le, Tag, F, l1
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1
-    , typename Tag
-    >
-struct lambda<
-          bind1< F,T1 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind1<
-          F
-        , T1
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2
-{
-    typedef F<
-          typename L1::type, typename L2::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
-    typedef bind2<
-          quote2< F,Tag >
-        , typename L1::result_, typename L2::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value
-        >::type is_le;
-
-    typedef aux::le_result2<
-          is_le, Tag, F, l1, l2
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          bind2< F,T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind2<
-          F
-        , T1, T2
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
-    typedef bind3<
-          quote3< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value
-        >::type is_le;
-
-    typedef aux::le_result3<
-          is_le, Tag, F, l1, l2, l3
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          bind3< F,T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind3<
-          F
-        , T1, T2, T3
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
-    typedef bind4<
-          quote4< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        >::type is_le;
-
-    typedef aux::le_result4<
-          is_le, Tag, F, l1, l2, l3, l4
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          bind4< F,T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind4<
-          F
-        , T1, T2, T3, T4
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type, typename L5::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
-    typedef bind5<
-          quote5< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_, typename L5::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    typedef lambda< T5,Tag > l5;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    typedef typename l5::is_le is_le5;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        , is_le5::value
-        >::type is_le;
-
-    typedef aux::le_result5<
-          is_le, Tag, F, l1, l2, l3, l4, l5
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind5< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind5<
-          F
-        , T1, T2, T3, T4, T5
-        > result_;
-
-    typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
-    typedef false_ is_le;
-    typedef mpl::protect<T> result_;
-    typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind< F,T1,T2,T3,T4,T5 > result_;
-    typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
-      typename F, typename Tag1, typename Tag2
-    >
-struct lambda<
-          lambda< F,Tag1 >
-        , Tag2
-        >
-{
-    typedef lambda< F,Tag2 > l1;
-    typedef lambda< Tag1,Tag2 > l2;
-    typedef typename l1::is_le is_le;
-    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/greater.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/greater.hpp
deleted file mode 100755
index e647020..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/greater.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct greater_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct greater_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct greater_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_tag
-    : tag< T,na >
-{
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater
-    : aux::msvc_eti_base< typename apply_wrap2<
-          greater_impl<
-              typename greater_tag<N1>::type
-            , typename greater_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp
deleted file mode 100755
index 2511919..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct greater_equal_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct greater_equal_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct greater_equal_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_equal_tag
-    : tag< T,na >
-{
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater_equal
-    : aux::msvc_eti_base< typename apply_wrap2<
-          greater_equal_impl<
-              typename greater_equal_tag<N1>::type
-            , typename greater_equal_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp
deleted file mode 100755
index c61fc27..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C1, bool C2 >
-struct inherit2_impl
-{
-    template< typename Derived, typename T1, typename T2 > struct result_
-        : T1, T2
-    {
-        typedef Derived type_;
-    };
-};
-
-template<>
-struct inherit2_impl< false,true >
-{
-    template< typename Derived, typename T1, typename T2 > struct result_
-        : T1
-    {
-        typedef T1 type_;
-    };
-};
-
-template<>
-struct inherit2_impl< true,false >
-{
-    template< typename Derived, typename T1, typename T2 > struct result_
-        : T2
-    {
-        typedef T2 type_;
-    };
-};
-
-template<>
-struct inherit2_impl< true,true >
-{
-    template< typename Derived, typename T1, typename T2 > struct result_
-    {
-        typedef T1 type_;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct inherit2
-    : aux::inherit2_impl<
-          is_empty_base<T1>::value
-        , is_empty_base<T2>::value
-        >::template result_< inherit2< T1,T2 >,T1, T2 >
-{
-    typedef typename inherit2::type_ type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na
-    >
-struct inherit3
-    : inherit2<
-          typename inherit2<
-              T1, T2
-            >::type
-        , T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , inherit3
-        , ( T1, T2, T3)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    >
-struct inherit4
-    : inherit2<
-          typename inherit3<
-              T1, T2, T3
-            >::type
-        , T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , inherit4
-        , ( T1, T2, T3, T4)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    , typename T5 = na
-    >
-struct inherit5
-    : inherit2<
-          typename inherit4<
-              T1, T2, T3, T4
-            >::type
-        , T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , inherit5
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
-      typename T1 = empty_base, typename T2 = empty_base
-    , typename T3 = empty_base, typename T4 = empty_base
-    , typename T5 = empty_base
-    >
-struct inherit
-    : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
-    template<
-
-          typename T1 = empty_base, typename T2 = empty_base
-        , typename T3 = empty_base, typename T4 = empty_base
-        , typename T5 = empty_base
-
-        >
-    struct apply
-        : inherit< T1,T2,T3,T4,T5 >
-    {
-    };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp
deleted file mode 100755
index 233e7dd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
-    typedef State state;
-    typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef typename apply2< StateOp,State,Iterator >::type state;
-        typedef typename IteratorOp::type iterator;
-    };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef State state;
-        typedef Iterator iterator;
-    };
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_forward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename BackwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_backward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename ForwardPredicate
-    , typename BackwardOp
-    , typename BackwardPredicate
-    >
-struct iter_fold_if_impl
-{
- private:
-    typedef iter_fold_if_null_step< Iterator,State > forward_step0;
-    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
-    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
-    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
-    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-    
-
-    typedef typename if_<
-          typename forward_step4::not_last
-        , iter_fold_if_impl<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            , ForwardOp
-            , ForwardPredicate
-            , BackwardOp
-            , BackwardPredicate
-            >
-        , iter_fold_if_null_step<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            >
-        >::type backward_step4;
-
-    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
-    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
-    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
-    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-    
-
- public:
-    typedef typename backward_step0::state state;
-    typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp
deleted file mode 100755
index aa74420..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp
+++ /dev/null
@@ -1,245 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl;
-
-template< int N >
-struct iter_fold_chunk;
-
-template<> struct iter_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct iter_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef state1 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct iter_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef state2 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct iter_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef state3 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct iter_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef state4 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< int N >
-struct iter_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef iter_fold_impl<
-              4
-            , First
-            , Last
-            , State
-            , ForwardOp
-            > chunk_;
-
-        typedef iter_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , typename chunk_::iterator
-            , Last
-            , typename chunk_::state
-            , ForwardOp
-            > res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct iter_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct iter_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , iter_fold_null_step< Last,State >
-            , iter_fold_step< First,Last,State,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_step
-{
-    typedef iter_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , ForwardOp
-        > chunk_;
-
-    typedef typename chunk_::state state;
-    typedef typename chunk_::iterator iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl
-    : iter_fold_chunk<N>
-        ::template result_< First,Last,State,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp
deleted file mode 100755
index c4ac608..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
-    template< typename T, typename Tag, typename Protect > struct result_
-    {
-        typedef T type;
-        typedef is_placeholder<T> is_le;
-    };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef typename l1::is_le is_le1;
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
-            > is_le;
-
-        typedef bind1<
-              typename F::rebind
-            , typename l1::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
-            > is_le;
-
-        typedef bind2<
-              typename F::rebind
-            , typename l1::type, typename l2::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
-            > is_le;
-
-        typedef bind3<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
-            > is_le;
-
-        typedef bind4<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        typedef lambda< typename F::arg5, Tag, false_ > l5;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        typedef typename l5::is_le is_le5;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
-            > is_le;
-
-        typedef bind5<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type, typename l5::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Protect
-    >
-struct lambda
-{
-    /// Metafunction forwarding confuses MSVC 6.x
-    typedef typename aux::template_arity<T>::type arity_;
-    typedef typename aux::lambda_impl<arity_>
-        ::template result_< T,Tag,Protect > l_;
-
-    typedef typename l_::type type;
-    typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/less.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/less.hpp
deleted file mode 100755
index e098b12..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/less.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct less_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct less_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct less_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_tag
-    : tag< T,na >
-{
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less
-    : aux::msvc_eti_base< typename apply_wrap2<
-          less_impl<
-              typename less_tag<N1>::type
-            , typename less_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N2)::value >
-             BOOST_MPL_AUX_VALUE_WKND(N1)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp
deleted file mode 100755
index 37316f0..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct less_equal_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct less_equal_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct less_equal_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_equal_tag
-    : tag< T,na >
-{
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less_equal
-    : aux::msvc_eti_base< typename apply_wrap2<
-          less_equal_impl<
-              typename less_equal_tag<N1>::type
-            , typename less_equal_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/list.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/list.hpp
deleted file mode 100755
index d1e03d2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/list.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct list_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct list_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef list0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_list_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_list_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct list_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_list_arg<T1>::value + is_list_arg<T2>::value 
-        + is_list_arg<T3>::value + is_list_arg<T4>::value 
-        + is_list_arg<T5>::value + is_list_arg<T6>::value 
-        + is_list_arg<T7>::value + is_list_arg<T8>::value 
-        + is_list_arg<T9>::value + is_list_arg<T10>::value 
-        + is_list_arg<T11>::value + is_list_arg<T12>::value 
-        + is_list_arg<T13>::value + is_list_arg<T14>::value 
-        + is_list_arg<T15>::value + is_list_arg<T16>::value 
-        + is_list_arg<T17>::value + is_list_arg<T18>::value 
-        + is_list_arg<T19>::value + is_list_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct list_impl
-{
-    typedef aux::list_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::list_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct list
-    : aux::list_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::list_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp
deleted file mode 100755
index b821770..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct list_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct list_c_chooser<0>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list0_c<
-              T
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<1>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list1_c<
-              T, C0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<2>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list2_c<
-              T, C0, C1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<3>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list3_c<
-              T, C0, C1, C2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<4>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list4_c<
-              T, C0, C1, C2, C3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<5>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list5_c<
-              T, C0, C1, C2, C3, C4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<6>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list6_c<
-              T, C0, C1, C2, C3, C4, C5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<7>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list7_c<
-              T, C0, C1, C2, C3, C4, C5, C6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<8>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list8_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<9>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list9_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<10>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list10_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<11>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list11_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<12>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list12_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<13>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list13_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<14>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list14_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<15>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list15_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<16>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list16_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<17>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list17_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<18>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list18_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<19>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list19_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<20>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list20_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_list_c_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_list_c_arg<LONG_MAX>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
-    , long C9, long C10, long C11, long C12, long C13, long C14, long C15
-    , long C16, long C17, long C18, long C19, long C20
-    >
-struct list_c_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_list_c_arg<C1>::value + is_list_c_arg<C2>::value 
-        + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value 
-        + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value 
-        + is_list_c_arg<C7>::value + is_list_c_arg<C8>::value 
-        + is_list_c_arg<C9>::value + is_list_c_arg<C10>::value 
-        + is_list_c_arg<C11>::value + is_list_c_arg<C12>::value 
-        + is_list_c_arg<C13>::value + is_list_c_arg<C14>::value 
-        + is_list_c_arg<C15>::value + is_list_c_arg<C16>::value 
-        + is_list_c_arg<C17>::value + is_list_c_arg<C18>::value 
-        + is_list_c_arg<C19>::value + is_list_c_arg<C20>::value
-        );
-
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct list_c_impl
-{
-    typedef aux::list_c_count_args<
-          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        > arg_num_;
-
-    typedef typename aux::list_c_chooser< arg_num_::value >
-        ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct list_c
-    : aux::list_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type
-{
-    typedef typename aux::list_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/map.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/map.hpp
deleted file mode 100755
index 0e1ae00..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/map.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct map_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct map_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef map0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_map_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_map_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct map_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_map_arg<T1>::value + is_map_arg<T2>::value 
-        + is_map_arg<T3>::value + is_map_arg<T4>::value 
-        + is_map_arg<T5>::value + is_map_arg<T6>::value 
-        + is_map_arg<T7>::value + is_map_arg<T8>::value 
-        + is_map_arg<T9>::value + is_map_arg<T10>::value 
-        + is_map_arg<T11>::value + is_map_arg<T12>::value 
-        + is_map_arg<T13>::value + is_map_arg<T14>::value 
-        + is_map_arg<T15>::value + is_map_arg<T16>::value 
-        + is_map_arg<T17>::value + is_map_arg<T18>::value 
-        + is_map_arg<T19>::value + is_map_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct map_impl
-{
-    typedef aux::map_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::map_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct map
-    : aux::map_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::map_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/minus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/minus.hpp
deleted file mode 100755
index ed9b5dc..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/minus.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct minus_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct minus_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct minus_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct minus_tag
-    : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct minus2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct minus
-
-    : aux::msvc_eti_base< typename if_<
-
-          is_na<N3>
-        , minus2< N1,N2 >
-        , minus<
-              minus2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-    >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , minus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct minus2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          minus_impl<
-              typename minus_tag<N1>::type
-            , typename minus_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct minus_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 - n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::minus_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp
deleted file mode 100755
index 6538fef..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct modulus_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct modulus_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct modulus_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct modulus_tag
-    : tag< T,na >
-{
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct modulus
-    : aux::msvc_eti_base< typename apply_wrap2<
-          modulus_impl<
-              typename modulus_tag<N1>::type
-            , typename modulus_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct modulus_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 % n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::modulus_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp
deleted file mode 100755
index 7ed70de..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct not_equal_to_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct not_equal_to_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct not_equal_to_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct not_equal_to_tag
-    : tag< T,na >
-{
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct not_equal_to
-    : aux::msvc_eti_base< typename apply_wrap2<
-          not_equal_to_impl<
-              typename not_equal_to_tag<N1>::type
-            , typename not_equal_to_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/or.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/or.hpp
deleted file mode 100755
index 4a94717..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/or.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool C_ > struct or_impl
-{
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : true_
-    {
-    };
-};
-
-template<> struct or_impl<false>
-{
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : or_impl<
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-            >::template result_< T2,T3,T4,false_ >
-    {
-    };
-
-    template<> struct result_< false_,false_,false_,false_ >
-        : false_
-    {
-    };
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = false_, typename T4 = false_, typename T5 = false_
-    >
-struct or_
-
-    : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        >::template result_< T2,T3,T4,T5 >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , or_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , or_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp
deleted file mode 100755
index df5cb1d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/plus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/plus.hpp
deleted file mode 100755
index f527b99..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/plus.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct plus_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct plus_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct plus_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct plus_tag
-    : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct plus2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct plus
-
-    : aux::msvc_eti_base< typename if_<
-
-          is_na<N3>
-        , plus2< N1,N2 >
-        , plus<
-              plus2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-    >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , plus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct plus2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          plus_impl<
-              typename plus_tag<N1>::type
-            , typename plus_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct plus_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 + n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::plus_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/quote.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/quote.hpp
deleted file mode 100755
index 621e440..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/quote.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-template< bool > struct quote_impl
-{
-    template< typename T > struct result_
-        : T
-    {
-    };
-};
-
-template<> struct quote_impl<false>
-{
-    template< typename T > struct result_
-    {
-        typedef T type;
-    };
-};
-
-template<
-      template< typename P1 > class F
-    , typename Tag = void_
-    >
-struct quote1
-{
-    template< typename U1 > struct apply
-
-        : quote_impl< aux::has_type< F<U1> >::value >
-            ::template result_< F<U1> >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename Tag = void_
-    >
-struct quote2
-{
-    template< typename U1, typename U2 > struct apply
-
-        : quote_impl< aux::has_type< F< U1,U2 > >::value >
-            ::template result_< F< U1,U2 > >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename Tag = void_
-    >
-struct quote3
-{
-    template< typename U1, typename U2, typename U3 > struct apply
-
-        : quote_impl< aux::has_type< F< U1,U2,U3 > >::value >
-            ::template result_< F< U1,U2,U3 > >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename Tag = void_
-    >
-struct quote4
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        >
-    struct apply
-
-        : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value >
-            ::template result_< F< U1,U2,U3,U4 > >
-
-    {
-    };
-};
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename Tag = void_
-    >
-struct quote5
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        , typename U5
-        >
-    struct apply
-
-        : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value >
-            ::template result_< F< U1,U2,U3,U4,U5 > >
-
-    {
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp
deleted file mode 100755
index 5907002..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl;
-
-template< long N >
-struct reverse_fold_chunk;
-
-template<> struct reverse_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef fwd_state0 bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef fwd_state1 bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef fwd_state2 bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef fwd_state3 bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef fwd_state4 bkwd_state4;
-        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< long N >
-struct reverse_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef reverse_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , iter4
-            , Last
-            , fwd_state4
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-
-        typedef typename nested_chunk::state bkwd_state4;
-        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct reverse_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct reverse_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , reverse_fold_null_step< Last,State >
-            , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_step
-{
-    typedef reverse_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , typename deref<First>::type
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl
-    : reverse_fold_chunk<N>
-        ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp
deleted file mode 100755
index b85b2f2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl;
-
-template< long N >
-struct reverse_iter_fold_chunk;
-
-template<> struct reverse_iter_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef fwd_state0 bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef fwd_state1 bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef fwd_state2 bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef fwd_state3 bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef fwd_state4 bkwd_state4;
-        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< long N >
-struct reverse_iter_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef reverse_iter_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , iter4
-            , Last
-            , fwd_state4
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-
-        typedef typename nested_chunk::state bkwd_state4;
-        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct reverse_iter_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct reverse_iter_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , reverse_iter_fold_null_step< Last,State >
-            , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_step
-{
-    typedef reverse_iter_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , First
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl
-    : reverse_iter_fold_chunk<N>
-        ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/set.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/set.hpp
deleted file mode 100755
index aa1a8b1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/set.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct set_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct set_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef set0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_set_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_set_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct set_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_set_arg<T1>::value + is_set_arg<T2>::value 
-        + is_set_arg<T3>::value + is_set_arg<T4>::value 
-        + is_set_arg<T5>::value + is_set_arg<T6>::value 
-        + is_set_arg<T7>::value + is_set_arg<T8>::value 
-        + is_set_arg<T9>::value + is_set_arg<T10>::value 
-        + is_set_arg<T11>::value + is_set_arg<T12>::value 
-        + is_set_arg<T13>::value + is_set_arg<T14>::value 
-        + is_set_arg<T15>::value + is_set_arg<T16>::value 
-        + is_set_arg<T17>::value + is_set_arg<T18>::value 
-        + is_set_arg<T19>::value + is_set_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct set_impl
-{
-    typedef aux::set_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::set_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct set
-    : aux::set_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::set_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp
deleted file mode 100755
index eb0f084..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct set_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct set_c_chooser<0>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set0_c<
-              T
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<1>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set1_c<
-              T, C0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<2>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set2_c<
-              T, C0, C1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<3>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set3_c<
-              T, C0, C1, C2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<4>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set4_c<
-              T, C0, C1, C2, C3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<5>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set5_c<
-              T, C0, C1, C2, C3, C4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<6>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set6_c<
-              T, C0, C1, C2, C3, C4, C5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<7>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set7_c<
-              T, C0, C1, C2, C3, C4, C5, C6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<8>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set8_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<9>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set9_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<10>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set10_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<11>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set11_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<12>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set12_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<13>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set13_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<14>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set14_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<15>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set15_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<16>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set16_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<17>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set17_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<18>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set18_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<19>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set19_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<20>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set20_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_set_c_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_set_c_arg<LONG_MAX>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
-    , long C9, long C10, long C11, long C12, long C13, long C14, long C15
-    , long C16, long C17, long C18, long C19, long C20
-    >
-struct set_c_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_set_c_arg<C1>::value + is_set_c_arg<C2>::value 
-        + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value 
-        + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value 
-        + is_set_c_arg<C7>::value + is_set_c_arg<C8>::value 
-        + is_set_c_arg<C9>::value + is_set_c_arg<C10>::value 
-        + is_set_c_arg<C11>::value + is_set_c_arg<C12>::value 
-        + is_set_c_arg<C13>::value + is_set_c_arg<C14>::value 
-        + is_set_c_arg<C15>::value + is_set_c_arg<C16>::value 
-        + is_set_c_arg<C17>::value + is_set_c_arg<C18>::value 
-        + is_set_c_arg<C19>::value + is_set_c_arg<C20>::value
-        );
-
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct set_c_impl
-{
-    typedef aux::set_c_count_args<
-          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        > arg_num_;
-
-    typedef typename aux::set_c_chooser< arg_num_::value >
-        ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct set_c
-    : aux::set_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type
-{
-    typedef typename aux::set_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp
deleted file mode 100755
index 3cc36a4..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct shift_left_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct shift_left_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct shift_left_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_left_tag
-    : tag< T,na >
-{
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_left
-    : aux::msvc_eti_base< typename apply_wrap2<
-          shift_left_impl<
-              typename shift_left_tag<N1>::type
-            , typename shift_left_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct shift_left_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n << s));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-        : aux::shift_left_wknd<
-              typename N::value_type
-            , typename S::value_type
-            , N::value
-            , S::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp
deleted file mode 100755
index 28a4f4d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct shift_right_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct shift_right_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct shift_right_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_right_tag
-    : tag< T,na >
-{
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_right
-    : aux::msvc_eti_base< typename apply_wrap2<
-          shift_right_impl<
-              typename shift_right_tag<N1>::type
-            , typename shift_right_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct shift_right_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n >> s));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-        : aux::shift_right_wknd<
-              typename N::value_type
-            , typename S::value_type
-            , N::value
-            , S::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp
deleted file mode 100755
index 1146ec2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
-    template< typename F > struct result_
-        : mpl::int_< -1 >
-    {
-    };
-};
-
-template<>
-struct template_arity_impl<true>
-{
-    template< typename F > struct result_
-        : F::arity
-    {
-    };
-};
-
-template< typename F >
-struct template_arity
-    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
-        ::template result_<F>
-{
-};
-
-template<>
-struct template_arity<int>
-    : mpl::int_< -1 >
-{
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/times.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/times.hpp
deleted file mode 100755
index ab09b63..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/times.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
-    >
-struct times_impl
-    : if_c<
-          ( tag1_ > tag2_ )
-        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct times_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct times_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct times_tag
-    : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct times2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct times
-
-    : aux::msvc_eti_base< typename if_<
-
-          is_na<N3>
-        , times2< N1,N2 >
-        , times<
-              times2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-    >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , times
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct times2
-    : aux::msvc_eti_base< typename apply_wrap2<
-          times_impl<
-              typename times_tag<N1>::type
-            , typename times_tag<N2>::type
-            >
-        , N1
-        , N2
-        >::type >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct times_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 * n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::times_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp
deleted file mode 100755
index 17718d9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
-{
-    template< typename F, typename Args > struct apply;
-};
-
-template<> struct unpack_args_impl<0>
-{
-    template< typename F, typename Args > struct apply
-        : apply0<
-              F
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<1>
-{
-    template< typename F, typename Args > struct apply
-        : apply1<
-              F
-            , typename at_c< Args,0 >::type
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<2>
-{
-    template< typename F, typename Args > struct apply
-        : apply2<
-              F
-            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<3>
-{
-    template< typename F, typename Args > struct apply
-        : apply3<
-              F
-            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-            , typename at_c< Args,2 >::type
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<4>
-{
-    template< typename F, typename Args > struct apply
-        : apply4<
-              F
-            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-            , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<5>
-{
-    template< typename F, typename Args > struct apply
-        : apply5<
-              F
-            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-            , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-            , typename at_c< Args,4 >::type
-            >
-    {
-    };
-};
-
-}
-
-template<
-      typename F
-    >
-struct unpack_args
-{
-    template< typename Args > struct apply
-
-        : aux::unpack_args_impl< size<Args>::value >
-            ::template apply< F,Args >
-
-    {
-    };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/vector.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/vector.hpp
deleted file mode 100755
index 6c6fca5..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/vector.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct vector_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct vector_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef vector0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_vector_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_vector_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct vector_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_vector_arg<T1>::value + is_vector_arg<T2>::value 
-        + is_vector_arg<T3>::value + is_vector_arg<T4>::value 
-        + is_vector_arg<T5>::value + is_vector_arg<T6>::value 
-        + is_vector_arg<T7>::value + is_vector_arg<T8>::value 
-        + is_vector_arg<T9>::value + is_vector_arg<T10>::value 
-        + is_vector_arg<T11>::value + is_vector_arg<T12>::value 
-        + is_vector_arg<T13>::value + is_vector_arg<T14>::value 
-        + is_vector_arg<T15>::value + is_vector_arg<T16>::value 
-        + is_vector_arg<T17>::value + is_vector_arg<T18>::value 
-        + is_vector_arg<T19>::value + is_vector_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector_impl
-{
-    typedef aux::vector_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::vector_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct vector
-    : aux::vector_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::vector_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp
deleted file mode 100755
index 894023e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct vector_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<0>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector0_c<
-              T
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<1>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector1_c<
-              T, T(C0)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<2>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector2_c<
-              T, T(C0), T(C1)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<3>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector3_c<
-              T, T(C0), T(C1), T(C2)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<4>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector4_c<
-              T, T(C0), T(C1), T(C2), T(C3)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<5>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector5_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<6>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector6_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<7>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector7_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<8>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector8_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<9>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector9_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<10>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector10_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<11>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector11_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<12>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector12_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<13>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector13_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<14>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector14_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<15>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector15_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<16>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector16_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<17>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector17_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<18>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector18_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<19>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector19_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<20>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector20_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_vector_c_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_vector_c_arg<LONG_MAX>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
-    , long C9, long C10, long C11, long C12, long C13, long C14, long C15
-    , long C16, long C17, long C18, long C19, long C20
-    >
-struct vector_c_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value 
-        + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value 
-        + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value 
-        + is_vector_c_arg<C7>::value + is_vector_c_arg<C8>::value 
-        + is_vector_c_arg<C9>::value + is_vector_c_arg<C10>::value 
-        + is_vector_c_arg<C11>::value + is_vector_c_arg<C12>::value 
-        + is_vector_c_arg<C13>::value + is_vector_c_arg<C14>::value 
-        + is_vector_c_arg<C15>::value + is_vector_c_arg<C16>::value 
-        + is_vector_c_arg<C17>::value + is_vector_c_arg<C18>::value 
-        + is_vector_c_arg<C19>::value + is_vector_c_arg<C20>::value
-        );
-
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct vector_c_impl
-{
-    typedef aux::vector_c_count_args<
-          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        > arg_num_;
-
-    typedef typename aux::vector_c_chooser< arg_num_::value >
-        ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct vector_c
-    : aux::vector_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type
-{
-    typedef typename aux::vector_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp
deleted file mode 100755
index 2d65040..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_backward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_backward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_backward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_backward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef typename prior<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_backward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_backward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_backward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp
deleted file mode 100755
index 9762f7b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_forward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_forward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_forward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_forward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef typename next<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_forward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_forward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_forward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/and.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/and.hpp
deleted file mode 100755
index 71e3b78..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
-    : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
-    : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , true_
-        >
-{
-};
-
-template<>
-struct and_impl<
-          true
-        , true_, true_, true_, true_
-        >
-    : true_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = true_, typename T4 = true_, typename T5 = true_
-    >
-struct and_
-
-    : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , and_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , and_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/apply.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/apply.hpp
deleted file mode 100755
index 9508903..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0
-
-    : apply_wrap0<
-          typename lambda<F>::type
-       
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          1
-        , apply0
-        , (F )
-        )
-};
-
-template<
-      typename F
-    >
-struct apply< F,na,na,na,na,na >
-    : apply0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply1
-
-    : apply_wrap1<
-          typename lambda<F>::type
-        , T1
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          2
-        , apply1
-        , (F, T1)
-        )
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply< F,T1,na,na,na,na >
-    : apply1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2
-
-    : apply_wrap2<
-          typename lambda<F>::type
-        , T1, T2
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , apply2
-        , (F, T1, T2)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply< F,T1,T2,na,na,na >
-    : apply2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3
-
-    : apply_wrap3<
-          typename lambda<F>::type
-        , T1, T2, T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , apply3
-        , (F, T1, T2, T3)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply< F,T1,T2,T3,na,na >
-    : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4
-
-    : apply_wrap4<
-          typename lambda<F>::type
-        , T1, T2, T3, T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , apply4
-        , (F, T1, T2, T3, T4)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply< F,T1,T2,T3,T4,na >
-    : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5
-
-    : apply_wrap5<
-          typename lambda<F>::type
-        , T1, T2, T3, T4, T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          6
-        , apply5
-        , (F, T1, T2, T3, T4, T5)
-        )
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply
-    : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp
deleted file mode 100755
index b1c5573..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct apply;
-
-template<
-      typename F
-    >
-struct apply0;
-
-template<
-      typename F, typename T1
-    >
-struct apply1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp
deleted file mode 100755
index 8603cc3..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp
+++ /dev/null
@@ -1,456 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      int N, typename F
-    >
-struct apply_wrap_impl0;
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          0
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-/// since the defaults are "lost", we have to pass *something* even for nullary
-/// metafunction classes
-        na
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          1
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          2
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          3
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          4
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na, na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap_impl0<
-          5
-        , F
-       
-        >
-{
-    typedef typename F::template apply<
-         
-        na, na, na, na, na
-
-        > type;
-};
-
-template<
-      typename F
-    >
-struct apply_wrap0
-    : apply_wrap_impl0<
-          ::boost::mpl::aux::arity< F,0 >::value
-        , F
-       
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1
-    >
-struct apply_wrap_impl1;
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          1
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          2
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          3
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          4
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na, na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap_impl1<
-          5
-        , F
-        , T1
-        >
-{
-    typedef typename F::template apply<
-          T1
-        , na, na, na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply_wrap1
-    : apply_wrap_impl1<
-          ::boost::mpl::aux::arity< F,1 >::value
-        , F
-        , T1
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          2
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          3
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          4
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        , na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap_impl2<
-          5
-        , F
-        , T1, T2
-        >
-{
-    typedef typename F::template apply<
-          T1, T2
-
-        , na, na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply_wrap2
-    : apply_wrap_impl2<
-          ::boost::mpl::aux::arity< F,2 >::value
-        , F
-        , T1, T2
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3<
-          3
-        , F
-        , T1, T2, T3
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3<
-          4
-        , F
-        , T1, T2, T3
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3
-
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap_impl3<
-          5
-        , F
-        , T1, T2, T3
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3
-
-        , na, na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply_wrap3
-    : apply_wrap_impl3<
-          ::boost::mpl::aux::arity< F,3 >::value
-        , F
-        , T1, T2, T3
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap_impl4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap_impl4<
-          4
-        , F
-        , T1, T2, T3, T4
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3, T4
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap_impl4<
-          5
-        , F
-        , T1, T2, T3, T4
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3, T4
-
-        , na
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply_wrap4
-    : apply_wrap_impl4<
-          ::boost::mpl::aux::arity< F,4 >::value
-        , F
-        , T1, T2, T3, T4
-        >::type
-{
-};
-
-template<
-      int N, typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap_impl5;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap_impl5<
-          5
-        , F
-        , T1, T2, T3, T4, T5
-        >
-{
-    typedef typename F::template apply<
-          T1, T2, T3, T4, T5
-
-        > type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply_wrap5
-    : apply_wrap_impl5<
-          ::boost::mpl::aux::arity< F,5 >::value
-        , F
-        , T1, T2, T3, T4, T5
-        >::type
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/arg.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/arg.hpp
deleted file mode 100755
index a77b8a2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<1>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 1);
-    typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<2>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 2);
-    typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<3>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 3);
-    typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<4>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 4);
-    typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<5>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 5);
-    typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp
deleted file mode 100755
index 74072c9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp
+++ /dev/null
@@ -1,440 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
-    typedef bind< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F
-    >
-struct bind< F,na,na,na,na,na >
-    : bind0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1
-    >
-struct bind< F,T1,na,na,na,na >
-    : bind1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind< F,T1,T2,na,na,na >
-    : bind2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind< F,T1,T2,T3,na,na >
-    : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind< F,T1,T2,T3,T4,na >
-    : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind
-    : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< if_,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef typename if_<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-template<
-      template< typename T1, typename T2, typename T3 > class F, typename Tag
-    >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< eval_if,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef typename eval_if<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bind.hpp
deleted file mode 100755
index 888fbc6..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bind.hpp
+++ /dev/null
@@ -1,561 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      typename T
-    , typename Arg
-    >
-struct replace_unnamed_arg
-{
-    typedef Arg next;
-    typedef T type;
-};
-
-template<
-      typename Arg
-    >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
-    typedef typename Arg::next next;
-    typedef Arg type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
-    typedef bind< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F
-    >
-struct bind< F,na,na,na,na,na >
-    : bind0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1
-    >
-struct bind< F,T1,na,na,na,na >
-    : bind1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind< F,T1,T2,na,na,na >
-    : bind2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind< F,T1,T2,T3,na,na >
-    : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind< F,T1,T2,T3,T4,na >
-    : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-        typedef aux::replace_unnamed_arg< T5,n5 > r5;
-        typedef typename r5::type a5;
-        typedef typename r5::next n6;
-        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
-        ///
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind
-    : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< if_,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef typename if_<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-template<
-      template< typename T1, typename T2, typename T3 > class F, typename Tag
-    >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< eval_if,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef typename eval_if<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp
deleted file mode 100755
index e47dd92..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct bind;
-
-template<
-      typename F
-    >
-struct bind0;
-
-template<
-      typename F, typename T1
-    >
-struct bind1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp
deleted file mode 100755
index 38cf55e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitand_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitand_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitand_
-    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitand_< N1,N2,N3,N4,na >
-
-    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitand_< N1,N2,N3,na,na >
-
-    : bitand_< bitand_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitand_< N1,N2,na,na,na >
-    : bitand_impl<
-          typename bitand_tag<N1>::type
-        , typename bitand_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp
deleted file mode 100755
index 2f4162d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitor_
-    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitor_< N1,N2,N3,N4,na >
-
-    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitor_< N1,N2,N3,na,na >
-
-    : bitor_< bitor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitor_< N1,N2,na,na,na >
-    : bitor_impl<
-          typename bitor_tag<N1>::type
-        , typename bitor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp
deleted file mode 100755
index b4daf8d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitxor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitxor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitxor_
-    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitxor_< N1,N2,N3,N4,na >
-
-    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitxor_< N1,N2,N3,na,na >
-
-    : bitxor_< bitxor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitxor_< N1,N2,na,na,na >
-    : bitxor_impl<
-          typename bitxor_tag<N1>::type
-        , typename bitxor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/deque.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/deque.hpp
deleted file mode 100755
index ede9716..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct deque;
-
-template<
-     
-    >
-struct deque<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct deque<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct deque<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct deque<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct deque<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct deque<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct deque
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/divides.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/divides.hpp
deleted file mode 100755
index 55d9396..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/divides.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct divides_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct divides_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct divides
-    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , divides
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct divides< N1,N2,N3,N4,na >
-
-    : divides< divides< divides< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct divides< N1,N2,N3,na,na >
-
-    : divides< divides< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct divides< N1,N2,na,na,na >
-    : divides_impl<
-          typename divides_tag<N1>::type
-        , typename divides_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp
deleted file mode 100755
index 211236e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct equal_to
-
-    : equal_to_impl<
-          typename equal_to_tag<N1>::type
-        , typename equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp
deleted file mode 100755
index 6d94f48..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl
-{
-    typedef fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,First,Last,State,ForwardOp >
-    : fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp
deleted file mode 100755
index 78cb47c..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp
+++ /dev/null
@@ -1,554 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-   
-    >
-struct lambda
-{
-    typedef false_ is_le;
-    typedef T result_;
-    typedef T type;
-};
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
-    typedef true_ is_le;
-    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
-    typedef mpl::protect<result_> type;
-};
-
-template<
-      typename F
-    , typename Tag
-    >
-struct lambda<
-          bind0<F>
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind0<
-          F
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1
-{
-    typedef F<
-          typename L1::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1< true_,Tag,F,L1 >
-{
-    typedef bind1<
-          quote1< F,Tag >
-        , typename L1::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1 > class F
-    , typename T1
-    , typename Tag
-    >
-struct lambda<
-          F<T1>
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef typename l1::is_le is_le1;
-    typedef typename aux::lambda_or<
-          is_le1::value
-        >::type is_le;
-
-    typedef aux::le_result1<
-          is_le, Tag, F, l1
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1
-    , typename Tag
-    >
-struct lambda<
-          bind1< F,T1 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind1<
-          F
-        , T1
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2
-{
-    typedef F<
-          typename L1::type, typename L2::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
-    typedef bind2<
-          quote2< F,Tag >
-        , typename L1::result_, typename L2::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value
-        >::type is_le;
-
-    typedef aux::le_result2<
-          is_le, Tag, F, l1, l2
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          bind2< F,T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind2<
-          F
-        , T1, T2
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
-    typedef bind3<
-          quote3< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value
-        >::type is_le;
-
-    typedef aux::le_result3<
-          is_le, Tag, F, l1, l2, l3
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          bind3< F,T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind3<
-          F
-        , T1, T2, T3
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
-    typedef bind4<
-          quote4< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        >::type is_le;
-
-    typedef aux::le_result4<
-          is_le, Tag, F, l1, l2, l3, l4
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          bind4< F,T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind4<
-          F
-        , T1, T2, T3, T4
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type, typename L5::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
-    typedef bind5<
-          quote5< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_, typename L5::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    typedef lambda< T5,Tag > l5;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    typedef typename l5::is_le is_le5;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        , is_le5::value
-        >::type is_le;
-
-    typedef aux::le_result5<
-          is_le, Tag, F, l1, l2, l3, l4, l5
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind5< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind5<
-          F
-        , T1, T2, T3, T4, T5
-        > result_;
-
-    typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
-    typedef false_ is_le;
-    typedef mpl::protect<T> result_;
-    typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind< F,T1,T2,T3,T4,T5 > result_;
-    typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
-      typename F, typename Tag1, typename Tag2
-    >
-struct lambda<
-          lambda< F,Tag1 >
-        , Tag2
-        >
-{
-    typedef lambda< F,Tag2 > l1;
-    typedef lambda< Tag1,Tag2 > l2;
-    typedef typename l1::is_le is_le;
-    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/greater.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/greater.hpp
deleted file mode 100755
index e626a2b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater
-
-    : greater_impl<
-          typename greater_tag<N1>::type
-        , typename greater_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp
deleted file mode 100755
index a4bc28e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater_equal
-
-    : greater_equal_impl<
-          typename greater_equal_tag<N1>::type
-        , typename greater_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp
deleted file mode 100755
index 3eb3bae..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct inherit2
-    : T1, T2
-{
-    typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
-    typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
-    typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
-    typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na
-    >
-struct inherit3
-    : inherit2<
-          typename inherit2<
-              T1, T2
-            >::type
-        , T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , inherit3
-        , ( T1, T2, T3)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    >
-struct inherit4
-    : inherit2<
-          typename inherit3<
-              T1, T2, T3
-            >::type
-        , T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , inherit4
-        , ( T1, T2, T3, T4)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    , typename T5 = na
-    >
-struct inherit5
-    : inherit2<
-          typename inherit4<
-              T1, T2, T3, T4
-            >::type
-        , T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , inherit5
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
-      typename T1 = empty_base, typename T2 = empty_base
-    , typename T3 = empty_base, typename T4 = empty_base
-    , typename T5 = empty_base
-    >
-struct inherit
-    : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
-    template<
-
-          typename T1 = empty_base, typename T2 = empty_base
-        , typename T3 = empty_base, typename T4 = empty_base
-        , typename T5 = empty_base
-
-        >
-    struct apply
-        : inherit< T1,T2,T3,T4,T5 >
-    {
-    };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp
deleted file mode 100755
index 233e7dd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
-    typedef State state;
-    typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef typename apply2< StateOp,State,Iterator >::type state;
-        typedef typename IteratorOp::type iterator;
-    };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef State state;
-        typedef Iterator iterator;
-    };
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_forward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename BackwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_backward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename ForwardPredicate
-    , typename BackwardOp
-    , typename BackwardPredicate
-    >
-struct iter_fold_if_impl
-{
- private:
-    typedef iter_fold_if_null_step< Iterator,State > forward_step0;
-    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
-    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
-    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
-    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-    
-
-    typedef typename if_<
-          typename forward_step4::not_last
-        , iter_fold_if_impl<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            , ForwardOp
-            , ForwardPredicate
-            , BackwardOp
-            , BackwardPredicate
-            >
-        , iter_fold_if_null_step<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            >
-        >::type backward_step4;
-
-    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
-    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
-    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
-    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-    
-
- public:
-    typedef typename backward_step0::state state;
-    typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp
deleted file mode 100755
index f633d1b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl
-{
-    typedef iter_fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
-    : iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp
deleted file mode 100755
index c4ac608..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
-    template< typename T, typename Tag, typename Protect > struct result_
-    {
-        typedef T type;
-        typedef is_placeholder<T> is_le;
-    };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef typename l1::is_le is_le1;
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
-            > is_le;
-
-        typedef bind1<
-              typename F::rebind
-            , typename l1::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
-            > is_le;
-
-        typedef bind2<
-              typename F::rebind
-            , typename l1::type, typename l2::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
-            > is_le;
-
-        typedef bind3<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
-            > is_le;
-
-        typedef bind4<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        typedef lambda< typename F::arg5, Tag, false_ > l5;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        typedef typename l5::is_le is_le5;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
-            > is_le;
-
-        typedef bind5<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type, typename l5::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Protect
-    >
-struct lambda
-{
-    /// Metafunction forwarding confuses MSVC 6.x
-    typedef typename aux::template_arity<T>::type arity_;
-    typedef typename aux::lambda_impl<arity_>
-        ::template result_< T,Tag,Protect > l_;
-
-    typedef typename l_::type type;
-    typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/less.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/less.hpp
deleted file mode 100755
index 01dc25f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less
-
-    : less_impl<
-          typename less_tag<N1>::type
-        , typename less_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp
deleted file mode 100755
index 233e936..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less_equal
-
-    : less_equal_impl<
-          typename less_equal_tag<N1>::type
-        , typename less_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/list.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/list.hpp
deleted file mode 100755
index 1dcd58b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct list;
-
-template<
-     
-    >
-struct list<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list0<  >
-{
-    typedef list0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct list<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list1<T0>
-{
-    typedef typename list1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct list<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list2< T0,T1 >
-{
-    typedef typename list2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct list<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list3< T0,T1,T2 >
-{
-    typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct list<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list4< T0,T1,T2,T3 >
-{
-    typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct list<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list5< T0,T1,T2,T3,T4 >
-{
-    typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : list15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : list16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : list17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : list18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : list19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct list
-    : list20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp
deleted file mode 100755
index 578474e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct list_c;
-
-template<
-      typename T
-    >
-struct list_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list0_c<T>
-{
-    typedef typename list0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct list_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list1_c< T,C0 >
-{
-    typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct list_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list2_c< T,C0,C1 >
-{
-    typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct list_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list3_c< T,C0,C1,C2 >
-{
-    typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct list_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : list18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : list19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct list_c
-    : list20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/map.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/map.hpp
deleted file mode 100755
index 2f22291..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct map;
-
-template<
-     
-    >
-struct map<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map0<  >
-{
-    typedef map0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct map<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map1<T0>
-{
-    typedef typename map1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct map<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map2< T0,T1 >
-{
-    typedef typename map2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct map<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map3< T0,T1,T2 >
-{
-    typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct map<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map4< T0,T1,T2,T3 >
-{
-    typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct map<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map5< T0,T1,T2,T3,T4 >
-{
-    typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : map15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : map16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : map17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : map18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : map19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct map
-    : map20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/minus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/minus.hpp
deleted file mode 100755
index afbdda2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/minus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct minus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct minus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct minus
-    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , minus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct minus< N1,N2,N3,N4,na >
-
-    : minus< minus< minus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct minus< N1,N2,N3,na,na >
-
-    : minus< minus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct minus< N1,N2,na,na,na >
-    : minus_impl<
-          typename minus_tag<N1>::type
-        , typename minus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp
deleted file mode 100755
index d8f81ef..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct modulus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct modulus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct modulus
-
-    : modulus_impl<
-          typename modulus_tag<N1>::type
-        , typename modulus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp
deleted file mode 100755
index a68e69e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct not_equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct not_equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct not_equal_to
-
-    : not_equal_to_impl<
-          typename not_equal_to_tag<N1>::type
-        , typename not_equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/or.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/or.hpp
deleted file mode 100755
index 1a05656..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
-    : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
-    : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , false_
-        >
-{
-};
-
-template<>
-struct or_impl<
-          false
-        , false_, false_, false_, false_
-        >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = false_, typename T4 = false_, typename T5 = false_
-    >
-struct or_
-
-    : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , or_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , or_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp
deleted file mode 100755
index df5cb1d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/plus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/plus.hpp
deleted file mode 100755
index 631898f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/plus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct plus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct plus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct plus
-    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , plus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct plus< N1,N2,N3,N4,na >
-
-    : plus< plus< plus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct plus< N1,N2,N3,na,na >
-
-    : plus< plus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct plus< N1,N2,na,na,na >
-    : plus_impl<
-          typename plus_tag<N1>::type
-        , typename plus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/quote.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/quote.hpp
deleted file mode 100755
index 4b4e539..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/quote.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename T, bool has_type_ >
-struct quote_impl
-    : T
-{
-};
-
-template< typename T >
-struct quote_impl< T,false >
-{
-    typedef T type;
-};
-
-template<
-      template< typename P1 > class F
-    , typename Tag = void_
-    >
-struct quote1
-{
-    template< typename U1 > struct apply
-
-        : quote_impl<
-              F<U1>
-            , aux::has_type< F<U1> >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename Tag = void_
-    >
-struct quote2
-{
-    template< typename U1, typename U2 > struct apply
-
-        : quote_impl<
-              F< U1,U2 >
-            , aux::has_type< F< U1,U2 > >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename Tag = void_
-    >
-struct quote3
-{
-    template< typename U1, typename U2, typename U3 > struct apply
-
-        : quote_impl<
-              F< U1,U2,U3 >
-            , aux::has_type< F< U1,U2,U3 > >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename Tag = void_
-    >
-struct quote4
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        >
-    struct apply
-
-        : quote_impl<
-              F< U1,U2,U3,U4 >
-            , aux::has_type< F< U1,U2,U3,U4 > >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename Tag = void_
-    >
-struct quote5
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        , typename U5
-        >
-    struct apply
-
-        : quote_impl<
-              F< U1,U2,U3,U4,U5 >
-            , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
-            >
-
-    {
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp
deleted file mode 100755
index 1c4364a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef fwd_state0 bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef fwd_state1 bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef fwd_state2 bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef fwd_state3 bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef fwd_state4 bkwd_state4;
-    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter4 iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef reverse_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , iter4
-        , Last
-        , fwd_state4
-        , BackwardOp
-        , ForwardOp
-        > nested_chunk;
-
-    typedef typename nested_chunk::state bkwd_state4;
-    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef typename nested_chunk::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef reverse_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , typename deref<First>::type
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp
deleted file mode 100755
index f06c88b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef fwd_state0 bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef fwd_state1 bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef fwd_state2 bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef fwd_state3 bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef fwd_state4 bkwd_state4;
-    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter4 iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef reverse_iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , iter4
-        , Last
-        , fwd_state4
-        , BackwardOp
-        , ForwardOp
-        > nested_chunk;
-
-    typedef typename nested_chunk::state bkwd_state4;
-    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef typename nested_chunk::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef reverse_iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , First
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/set.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/set.hpp
deleted file mode 100755
index b7e3f0b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct set;
-
-template<
-     
-    >
-struct set<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set0<  >
-{
-    typedef set0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct set<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set1<T0>
-{
-    typedef typename set1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct set<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set2< T0,T1 >
-{
-    typedef typename set2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct set<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set3< T0,T1,T2 >
-{
-    typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct set<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set4< T0,T1,T2,T3 >
-{
-    typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct set<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set5< T0,T1,T2,T3,T4 >
-{
-    typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : set15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : set16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : set17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : set18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : set19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct set
-    : set20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp
deleted file mode 100755
index acdf68b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct set_c;
-
-template<
-      typename T
-    >
-struct set_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set0_c<T>
-{
-    typedef typename set0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct set_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set1_c< T,C0 >
-{
-    typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct set_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set2_c< T,C0,C1 >
-{
-    typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct set_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set3_c< T,C0,C1,C2 >
-{
-    typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct set_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : set18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : set19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct set_c
-    : set20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp
deleted file mode 100755
index 81679a1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_left_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_left_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_left
-
-    : shift_left_impl<
-          typename shift_left_tag<N1>::type
-        , typename shift_left_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp
deleted file mode 100755
index 55b7821..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_right_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_right_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_right
-
-    : shift_right_impl<
-          typename shift_right_tag<N1>::type
-        , typename shift_right_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp
deleted file mode 100755
index 03f2dbd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/times.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/times.hpp
deleted file mode 100755
index 46e68cb..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/times.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct times_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct times_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct times
-    : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , times
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct times< N1,N2,N3,N4,na >
-
-    : times< times< times< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct times< N1,N2,N3,na,na >
-
-    : times< times< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct times< N1,N2,na,na,na >
-    : times_impl<
-          typename times_tag<N1>::type
-        , typename times_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp
deleted file mode 100755
index 7f8c577..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
-    : apply0<
-          F
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
-    : apply1<
-          F
-        , typename at_c< Args,0 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
-    : apply2<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
-    : apply3<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
-    : apply4<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
-    : apply5<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        , typename at_c< Args,4 >::type
-        >
-{
-};
-
-}
-
-template<
-      typename F
-    >
-struct unpack_args
-{
-    template< typename Args > struct apply
-
-        : aux::unpack_args_impl< size<Args>::value,F, Args >
-
-    {
-    };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/vector.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/vector.hpp
deleted file mode 100755
index d1da8b1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct vector;
-
-template<
-     
-    >
-struct vector<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct vector<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct vector<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct vector<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct vector<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct vector<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp
deleted file mode 100755
index ce33340..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct vector_c;
-
-template<
-      typename T
-    >
-struct vector_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector0_c<T>
-{
-    typedef typename vector0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct vector_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector1_c< T, T(C0) >
-{
-    typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct vector_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector2_c< T, T(C0), T(C1) >
-{
-    typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct vector_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector3_c< T, T(C0), T(C1), T(C2) >
-{
-    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
-    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
-    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
-    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
-    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
-    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
-    typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
-    typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
-    typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
-    typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
-    typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
-    typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
-    typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
-    typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
-    typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
-    typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
-    typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct vector_c
-    : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
-    typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp
deleted file mode 100755
index 2d65040..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_backward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_backward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_backward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_backward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef typename prior<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_backward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_backward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_backward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp
deleted file mode 100755
index 9762f7b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_forward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_forward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_forward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_forward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef typename next<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_forward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_forward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_forward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/and.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/and.hpp
deleted file mode 100755
index e2b4b08..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/and.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool C_ > struct and_impl
-{
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : false_
-    {
-    };
-};
-
-template<> struct and_impl<true>
-{
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : and_impl<
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-            >::template result_< T2,T3,T4,true_ >
-    {
-    };
-};
-
-template<>
-struct and_impl<true>
-    ::result_< true_,true_,true_,true_ >
-        : true_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = true_, typename T4 = true_, typename T5 = true_
-    >
-struct and_
-
-    : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        >::template result_< T2,T3,T4,T5 >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , and_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , and_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp
deleted file mode 100755
index 4525009..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp
+++ /dev/null
@@ -1,268 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0
-
-    : apply_wrap0<
-          typename lambda<F>::type
-       
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          1
-        , apply0
-        , (F )
-        )
-};
-
-namespace aux {
-
-template<>
-struct apply_chooser<0>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef apply0<
-              F
-            > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1
-    >
-struct apply1
-
-    : apply_wrap1<
-          typename lambda<F>::type
-        , T1
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          2
-        , apply1
-        , (F, T1)
-        )
-};
-
-namespace aux {
-
-template<>
-struct apply_chooser<1>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef apply1<
-              F, T1
-            > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2
-
-    : apply_wrap2<
-          typename lambda<F>::type
-        , T1, T2
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , apply2
-        , (F, T1, T2)
-        )
-};
-
-namespace aux {
-
-template<>
-struct apply_chooser<2>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef apply2<
-              F, T1, T2
-            > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3
-
-    : apply_wrap3<
-          typename lambda<F>::type
-        , T1, T2, T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , apply3
-        , (F, T1, T2, T3)
-        )
-};
-
-namespace aux {
-
-template<>
-struct apply_chooser<3>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef apply3<
-              F, T1, T2, T3
-            > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4
-
-    : apply_wrap4<
-          typename lambda<F>::type
-        , T1, T2, T3, T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , apply4
-        , (F, T1, T2, T3, T4)
-        )
-};
-
-namespace aux {
-
-template<>
-struct apply_chooser<4>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef apply4<
-              F, T1, T2, T3, T4
-            > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5
-
-    : apply_wrap5<
-          typename lambda<F>::type
-        , T1, T2, T3, T4, T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          6
-        , apply5
-        , (F, T1, T2, T3, T4, T5)
-        )
-};
-
-namespace aux {
-
-template<>
-struct apply_chooser<5>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef apply5<
-              F, T1, T2, T3, T4, T5
-            > type;
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_apply_arg
-{
-    static bool const value  = true;
-};
-
-template<>
-struct is_apply_arg<na>
-{
-    static bool const value  = false;
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    >
-struct apply_count_args
-{
-    static int const value  = is_apply_arg<T1>::value + is_apply_arg<T2>::value + is_apply_arg<T3>::value + is_apply_arg<T4>::value + is_apply_arg<T5>::value;
-
-};
-
-}
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct apply
-    : aux::apply_chooser<
-          aux::apply_count_args< T1,T2,T3,T4,T5 >::value
-        >::template result_< F,T1,T2,T3,T4,T5 >::type
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp
deleted file mode 100755
index 58dda62..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser;
-}
-
-template<
-      typename F
-    >
-struct apply0;
-
-template<
-      typename F, typename T1
-    >
-struct apply1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp
deleted file mode 100755
index 682a80b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-
-    , typename has_apply_ = typename aux::has_apply<F>::type
-
-    >
-struct apply_wrap0
-
-    : F::template apply<  >
-{
-};
-
-template<
-      typename F, typename T1
-
-    >
-struct apply_wrap1
-
-    : F::template apply<T1>
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-
-    >
-struct apply_wrap2
-
-    : F::template apply< T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-
-    >
-struct apply_wrap3
-
-    : F::template apply< T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-
-    >
-struct apply_wrap4
-
-    : F::template apply< T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-
-    >
-struct apply_wrap5
-
-    : F::template apply< T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp
deleted file mode 100755
index a77b8a2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<1>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 1);
-    typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<2>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 2);
-    typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<3>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 3);
-    typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<4>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 4);
-    typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<5>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 5);
-    typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp
deleted file mode 100755
index b2988d0..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp
+++ /dev/null
@@ -1,486 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool >
-struct resolve_arg_impl
-{
-    template<
-          typename T, typename U1, typename U2, typename U3
-        , typename U4, typename U5
-        >
-    struct result_
-    {
-        typedef T type;
-    };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
-    template<
-          typename T, typename U1, typename U2, typename U3
-        , typename U4, typename U5
-        >
-    struct result_
-    {
-        typedef typename apply_wrap5<
-              T
-            , U1, U2, U3, U4, U5
-            >::type type;
-    };
-};
-
-template< typename T > struct is_bind_template;
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-    : resolve_arg_impl< is_bind_template<T>::value >
-            ::template result_< T,U1,U2,U3,U4,U5 >
-{
-};
-
-template< int arity_ > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-aux::yes_tag is_bind_helper(bind< F,T1,T2,T3,T4,T5 >*);
-
-template< int N >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_  = true >
-struct is_bind_template_impl
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value  = false);
-    };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-              sizeof(aux::is_bind_helper(static_cast<T*>(0)))
-                == sizeof(aux::yes_tag)
-            );
-    };
-};
-
-template< typename T > struct is_bind_template
-    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
-        ::template result_<T>
-{
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F
-    >
-aux::yes_tag
-is_bind_helper(bind0<F>*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-namespace aux {
-
-template<>
-struct bind_chooser<0>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef bind0<F> type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1
-    >
-aux::yes_tag
-is_bind_helper(bind1< F,T1 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-namespace aux {
-
-template<>
-struct bind_chooser<1>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef bind1< F,T1 > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2
-    >
-aux::yes_tag
-is_bind_helper(bind2< F,T1,T2 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-namespace aux {
-
-template<>
-struct bind_chooser<2>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef bind2< F,T1,T2 > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-aux::yes_tag
-is_bind_helper(bind3< F,T1,T2,T3 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-namespace aux {
-
-template<>
-struct bind_chooser<3>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef bind3< F,T1,T2,T3 > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-aux::yes_tag
-is_bind_helper(bind4< F,T1,T2,T3,T4 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-namespace aux {
-
-template<>
-struct bind_chooser<4>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef bind4< F,T1,T2,T3,T4 > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-aux::yes_tag
-is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-namespace aux {
-
-template<>
-struct bind_chooser<5>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef bind5< F,T1,T2,T3,T4,T5 > type;
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_bind_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_bind_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    >
-struct bind_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_bind_arg<T1>::value + is_bind_arg<T2>::value 
-        + is_bind_arg<T3>::value + is_bind_arg<T4>::value 
-        + is_bind_arg<T5>::value
-        );
-
-};
-
-}
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind
-    : aux::bind_chooser<
-          aux::bind_count_args< T1,T2,T3,T4,T5 >::value
-        >::template result_< F,T1,T2,T3,T4,T5 >::type
-{
-};
-
-BOOST_MPL_AUX_ARITY_SPEC(
-      6
-    , bind
-    )
-
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(
-      6
-    , bind
-    )
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp
deleted file mode 100755
index d54caa6..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp
+++ /dev/null
@@ -1,590 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool >
-struct resolve_arg_impl
-{
-    template<
-          typename T, typename U1, typename U2, typename U3
-        , typename U4, typename U5
-        >
-    struct result_
-    {
-        typedef T type;
-    };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
-    template<
-          typename T, typename U1, typename U2, typename U3
-        , typename U4, typename U5
-        >
-    struct result_
-    {
-        typedef typename apply_wrap5<
-              T
-            , U1, U2, U3, U4, U5
-            >::type type;
-    };
-};
-
-template< typename T > struct is_bind_template;
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-    : resolve_arg_impl< is_bind_template<T>::value >
-            ::template result_< T,U1,U2,U3,U4,U5 >
-{
-};
-
-template< typename T >
-struct replace_unnamed_arg_impl
-{
-    template< typename Arg > struct result_
-    {
-        typedef Arg next;
-        typedef T type;
-    };
-};
-
-template<>
-struct replace_unnamed_arg_impl< arg< -1 > >
-{
-    template< typename Arg > struct result_
-    {
-        typedef typename next<Arg>::type next;
-        typedef Arg type;
-    };
-};
-
-template< typename T, typename Arg >
-struct replace_unnamed_arg
-    : replace_unnamed_arg_impl<T>::template result_<Arg>
-{
-};
-
-template< int arity_ > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-aux::yes_tag is_bind_helper(bind< F,T1,T2,T3,T4,T5 >*);
-
-template< int N >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_  = true >
-struct is_bind_template_impl
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value  = false);
-    };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-              sizeof(aux::is_bind_helper(static_cast<T*>(0)))
-                == sizeof(aux::yes_tag)
-            );
-    };
-};
-
-template< typename T > struct is_bind_template
-    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
-        ::template result_<T>
-{
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F
-    >
-aux::yes_tag
-is_bind_helper(bind0<F>*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-namespace aux {
-
-template<>
-struct bind_chooser<0>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef bind0<F> type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1
-    >
-aux::yes_tag
-is_bind_helper(bind1< F,T1 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-namespace aux {
-
-template<>
-struct bind_chooser<1>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef bind1< F,T1 > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2
-    >
-aux::yes_tag
-is_bind_helper(bind2< F,T1,T2 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-namespace aux {
-
-template<>
-struct bind_chooser<2>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef bind2< F,T1,T2 > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-aux::yes_tag
-is_bind_helper(bind3< F,T1,T2,T3 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-namespace aux {
-
-template<>
-struct bind_chooser<3>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef bind3< F,T1,T2,T3 > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-aux::yes_tag
-is_bind_helper(bind4< F,T1,T2,T3,T4 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-namespace aux {
-
-template<>
-struct bind_chooser<4>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef bind4< F,T1,T2,T3,T4 > type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-        typedef aux::replace_unnamed_arg< T5,n5 > r5;
-        typedef typename r5::type a5;
-        typedef typename r5::next n6;
-        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
-        ///
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-aux::yes_tag
-is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-namespace aux {
-
-template<>
-struct bind_chooser<5>
-{
-    template<
-          typename F, typename T1, typename T2, typename T3, typename T4
-        , typename T5
-        >
-    struct result_
-    {
-        typedef bind5< F,T1,T2,T3,T4,T5 > type;
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_bind_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_bind_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    >
-struct bind_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_bind_arg<T1>::value + is_bind_arg<T2>::value 
-        + is_bind_arg<T3>::value + is_bind_arg<T4>::value 
-        + is_bind_arg<T5>::value
-        );
-
-};
-
-}
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind
-    : aux::bind_chooser<
-          aux::bind_count_args< T1,T2,T3,T4,T5 >::value
-        >::template result_< F,T1,T2,T3,T4,T5 >::type
-{
-};
-
-BOOST_MPL_AUX_ARITY_SPEC(
-      6
-    , bind
-    )
-
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(
-      6
-    , bind
-    )
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp
deleted file mode 100755
index e47dd92..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct bind;
-
-template<
-      typename F
-    >
-struct bind0;
-
-template<
-      typename F, typename T1
-    >
-struct bind1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp
deleted file mode 100755
index f3649ac..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitand_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitand_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitand_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitand_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct bitand_2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitand_
-
-    : if_<
-
-          is_na<N3>
-        , bitand_2< N1,N2 >
-        , bitand_<
-              bitand_2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct bitand_2
-    : bitand_impl<
-          typename bitand_tag<N1>::type
-        , typename bitand_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp
deleted file mode 100755
index 10ba883..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitor_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitor_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitor_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct bitor_2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitor_
-
-    : if_<
-
-          is_na<N3>
-        , bitor_2< N1,N2 >
-        , bitor_<
-              bitor_2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct bitor_2
-    : bitor_impl<
-          typename bitor_tag<N1>::type
-        , typename bitor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp
deleted file mode 100755
index 5212126..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitxor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitxor_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct bitxor_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitxor_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct bitxor_2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitxor_
-
-    : if_<
-
-          is_na<N3>
-        , bitxor_2< N1,N2 >
-        , bitxor_<
-              bitxor_2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct bitxor_2
-    : bitxor_impl<
-          typename bitxor_tag<N1>::type
-        , typename bitxor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp
deleted file mode 100755
index fb8ef1a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct deque_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct deque_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef vector0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_deque_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_deque_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct deque_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_deque_arg<T1>::value + is_deque_arg<T2>::value 
-        + is_deque_arg<T3>::value + is_deque_arg<T4>::value 
-        + is_deque_arg<T5>::value + is_deque_arg<T6>::value 
-        + is_deque_arg<T7>::value + is_deque_arg<T8>::value 
-        + is_deque_arg<T9>::value + is_deque_arg<T10>::value 
-        + is_deque_arg<T11>::value + is_deque_arg<T12>::value 
-        + is_deque_arg<T13>::value + is_deque_arg<T14>::value 
-        + is_deque_arg<T15>::value + is_deque_arg<T16>::value 
-        + is_deque_arg<T17>::value + is_deque_arg<T18>::value 
-        + is_deque_arg<T19>::value + is_deque_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct deque_impl
-{
-    typedef aux::deque_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::deque_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct deque
-    : aux::deque_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::deque_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp
deleted file mode 100755
index 2497134..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct divides_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct divides_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct divides_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct divides_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct divides2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct divides
-
-    : if_<
-
-          is_na<N3>
-        , divides2< N1,N2 >
-        , divides<
-              divides2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , divides
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct divides2
-    : divides_impl<
-          typename divides_tag<N1>::type
-        , typename divides_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp
deleted file mode 100755
index e5faecd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct equal_to_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct equal_to_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct equal_to
-
-    : equal_to_impl<
-          typename equal_to_tag<N1>::type
-        , typename equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp
deleted file mode 100755
index 07659ae..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp
+++ /dev/null
@@ -1,245 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl;
-
-template< int N >
-struct fold_chunk;
-
-template<> struct fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef state1 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef state2 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef state3 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef state4 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< int N >
-struct fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef fold_impl<
-              4
-            , First
-            , Last
-            , State
-            , ForwardOp
-            > chunk_;
-
-        typedef fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , typename chunk_::iterator
-            , Last
-            , typename chunk_::state
-            , ForwardOp
-            > res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , fold_null_step< Last,State >
-            , fold_step< First,Last,State,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_step
-{
-    typedef fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , ForwardOp
-        > chunk_;
-
-    typedef typename chunk_::state state;
-    typedef typename chunk_::iterator iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl
-    : fold_chunk<N>
-        ::template result_< First,Last,State,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp
deleted file mode 100755
index 78cb47c..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp
+++ /dev/null
@@ -1,554 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-   
-    >
-struct lambda
-{
-    typedef false_ is_le;
-    typedef T result_;
-    typedef T type;
-};
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
-    typedef true_ is_le;
-    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
-    typedef mpl::protect<result_> type;
-};
-
-template<
-      typename F
-    , typename Tag
-    >
-struct lambda<
-          bind0<F>
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind0<
-          F
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1
-{
-    typedef F<
-          typename L1::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1< true_,Tag,F,L1 >
-{
-    typedef bind1<
-          quote1< F,Tag >
-        , typename L1::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1 > class F
-    , typename T1
-    , typename Tag
-    >
-struct lambda<
-          F<T1>
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef typename l1::is_le is_le1;
-    typedef typename aux::lambda_or<
-          is_le1::value
-        >::type is_le;
-
-    typedef aux::le_result1<
-          is_le, Tag, F, l1
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1
-    , typename Tag
-    >
-struct lambda<
-          bind1< F,T1 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind1<
-          F
-        , T1
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2
-{
-    typedef F<
-          typename L1::type, typename L2::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
-    typedef bind2<
-          quote2< F,Tag >
-        , typename L1::result_, typename L2::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value
-        >::type is_le;
-
-    typedef aux::le_result2<
-          is_le, Tag, F, l1, l2
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          bind2< F,T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind2<
-          F
-        , T1, T2
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
-    typedef bind3<
-          quote3< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value
-        >::type is_le;
-
-    typedef aux::le_result3<
-          is_le, Tag, F, l1, l2, l3
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          bind3< F,T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind3<
-          F
-        , T1, T2, T3
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
-    typedef bind4<
-          quote4< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        >::type is_le;
-
-    typedef aux::le_result4<
-          is_le, Tag, F, l1, l2, l3, l4
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          bind4< F,T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind4<
-          F
-        , T1, T2, T3, T4
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type, typename L5::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
-    typedef bind5<
-          quote5< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_, typename L5::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    typedef lambda< T5,Tag > l5;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    typedef typename l5::is_le is_le5;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        , is_le5::value
-        >::type is_le;
-
-    typedef aux::le_result5<
-          is_le, Tag, F, l1, l2, l3, l4, l5
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind5< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind5<
-          F
-        , T1, T2, T3, T4, T5
-        > result_;
-
-    typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
-    typedef false_ is_le;
-    typedef mpl::protect<T> result_;
-    typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind< F,T1,T2,T3,T4,T5 > result_;
-    typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
-      typename F, typename Tag1, typename Tag2
-    >
-struct lambda<
-          lambda< F,Tag1 >
-        , Tag2
-        >
-{
-    typedef lambda< F,Tag2 > l1;
-    typedef lambda< Tag1,Tag2 > l2;
-    typedef typename l1::is_le is_le;
-    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp
deleted file mode 100755
index 9cd0cd9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct greater_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct greater_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater
-
-    : greater_impl<
-          typename greater_tag<N1>::type
-        , typename greater_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp
deleted file mode 100755
index 6178c7a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct greater_equal_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct greater_equal_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater_equal
-
-    : greater_equal_impl<
-          typename greater_equal_tag<N1>::type
-        , typename greater_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp
deleted file mode 100755
index c61fc27..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C1, bool C2 >
-struct inherit2_impl
-{
-    template< typename Derived, typename T1, typename T2 > struct result_
-        : T1, T2
-    {
-        typedef Derived type_;
-    };
-};
-
-template<>
-struct inherit2_impl< false,true >
-{
-    template< typename Derived, typename T1, typename T2 > struct result_
-        : T1
-    {
-        typedef T1 type_;
-    };
-};
-
-template<>
-struct inherit2_impl< true,false >
-{
-    template< typename Derived, typename T1, typename T2 > struct result_
-        : T2
-    {
-        typedef T2 type_;
-    };
-};
-
-template<>
-struct inherit2_impl< true,true >
-{
-    template< typename Derived, typename T1, typename T2 > struct result_
-    {
-        typedef T1 type_;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct inherit2
-    : aux::inherit2_impl<
-          is_empty_base<T1>::value
-        , is_empty_base<T2>::value
-        >::template result_< inherit2< T1,T2 >,T1, T2 >
-{
-    typedef typename inherit2::type_ type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na
-    >
-struct inherit3
-    : inherit2<
-          typename inherit2<
-              T1, T2
-            >::type
-        , T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , inherit3
-        , ( T1, T2, T3)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    >
-struct inherit4
-    : inherit2<
-          typename inherit3<
-              T1, T2, T3
-            >::type
-        , T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , inherit4
-        , ( T1, T2, T3, T4)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    , typename T5 = na
-    >
-struct inherit5
-    : inherit2<
-          typename inherit4<
-              T1, T2, T3, T4
-            >::type
-        , T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , inherit5
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
-      typename T1 = empty_base, typename T2 = empty_base
-    , typename T3 = empty_base, typename T4 = empty_base
-    , typename T5 = empty_base
-    >
-struct inherit
-    : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
-    template<
-
-          typename T1 = empty_base, typename T2 = empty_base
-        , typename T3 = empty_base, typename T4 = empty_base
-        , typename T5 = empty_base
-
-        >
-    struct apply
-        : inherit< T1,T2,T3,T4,T5 >
-    {
-    };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp
deleted file mode 100755
index 233e7dd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
-    typedef State state;
-    typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef typename apply2< StateOp,State,Iterator >::type state;
-        typedef typename IteratorOp::type iterator;
-    };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef State state;
-        typedef Iterator iterator;
-    };
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_forward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename BackwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_backward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename ForwardPredicate
-    , typename BackwardOp
-    , typename BackwardPredicate
-    >
-struct iter_fold_if_impl
-{
- private:
-    typedef iter_fold_if_null_step< Iterator,State > forward_step0;
-    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
-    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
-    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
-    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-    
-
-    typedef typename if_<
-          typename forward_step4::not_last
-        , iter_fold_if_impl<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            , ForwardOp
-            , ForwardPredicate
-            , BackwardOp
-            , BackwardPredicate
-            >
-        , iter_fold_if_null_step<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            >
-        >::type backward_step4;
-
-    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
-    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
-    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
-    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-    
-
- public:
-    typedef typename backward_step0::state state;
-    typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp
deleted file mode 100755
index aa74420..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp
+++ /dev/null
@@ -1,245 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl;
-
-template< int N >
-struct iter_fold_chunk;
-
-template<> struct iter_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct iter_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef state1 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct iter_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef state2 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct iter_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef state3 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct iter_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State state0;
-        typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef state4 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< int N >
-struct iter_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef iter_fold_impl<
-              4
-            , First
-            , Last
-            , State
-            , ForwardOp
-            > chunk_;
-
-        typedef iter_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , typename chunk_::iterator
-            , Last
-            , typename chunk_::state
-            , ForwardOp
-            > res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct iter_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct iter_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , iter_fold_null_step< Last,State >
-            , iter_fold_step< First,Last,State,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_step
-{
-    typedef iter_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , ForwardOp
-        > chunk_;
-
-    typedef typename chunk_::state state;
-    typedef typename chunk_::iterator iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl
-    : iter_fold_chunk<N>
-        ::template result_< First,Last,State,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp
deleted file mode 100755
index c4ac608..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
-    template< typename T, typename Tag, typename Protect > struct result_
-    {
-        typedef T type;
-        typedef is_placeholder<T> is_le;
-    };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef typename l1::is_le is_le1;
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
-            > is_le;
-
-        typedef bind1<
-              typename F::rebind
-            , typename l1::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
-            > is_le;
-
-        typedef bind2<
-              typename F::rebind
-            , typename l1::type, typename l2::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
-            > is_le;
-
-        typedef bind3<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
-            > is_le;
-
-        typedef bind4<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        typedef lambda< typename F::arg5, Tag, false_ > l5;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        typedef typename l5::is_le is_le5;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
-            > is_le;
-
-        typedef bind5<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type, typename l5::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Protect
-    >
-struct lambda
-{
-    /// Metafunction forwarding confuses MSVC 6.x
-    typedef typename aux::template_arity<T>::type arity_;
-    typedef typename aux::lambda_impl<arity_>
-        ::template result_< T,Tag,Protect > l_;
-
-    typedef typename l_::type type;
-    typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/less.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/less.hpp
deleted file mode 100755
index 5ba156d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct less_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct less_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less
-
-    : less_impl<
-          typename less_tag<N1>::type
-        , typename less_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp
deleted file mode 100755
index d195ee5..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct less_equal_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct less_equal_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less_equal
-
-    : less_equal_impl<
-          typename less_equal_tag<N1>::type
-        , typename less_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/list.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/list.hpp
deleted file mode 100755
index d1e03d2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/list.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct list_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct list_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef list0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename list20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_list_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_list_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct list_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_list_arg<T1>::value + is_list_arg<T2>::value 
-        + is_list_arg<T3>::value + is_list_arg<T4>::value 
-        + is_list_arg<T5>::value + is_list_arg<T6>::value 
-        + is_list_arg<T7>::value + is_list_arg<T8>::value 
-        + is_list_arg<T9>::value + is_list_arg<T10>::value 
-        + is_list_arg<T11>::value + is_list_arg<T12>::value 
-        + is_list_arg<T13>::value + is_list_arg<T14>::value 
-        + is_list_arg<T15>::value + is_list_arg<T16>::value 
-        + is_list_arg<T17>::value + is_list_arg<T18>::value 
-        + is_list_arg<T19>::value + is_list_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct list_impl
-{
-    typedef aux::list_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::list_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct list
-    : aux::list_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::list_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp
deleted file mode 100755
index b821770..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct list_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct list_c_chooser<0>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list0_c<
-              T
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<1>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list1_c<
-              T, C0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<2>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list2_c<
-              T, C0, C1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<3>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list3_c<
-              T, C0, C1, C2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<4>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list4_c<
-              T, C0, C1, C2, C3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<5>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list5_c<
-              T, C0, C1, C2, C3, C4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<6>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list6_c<
-              T, C0, C1, C2, C3, C4, C5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<7>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list7_c<
-              T, C0, C1, C2, C3, C4, C5, C6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<8>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list8_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<9>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list9_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<10>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list10_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<11>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list11_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<12>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list12_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<13>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list13_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<14>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list14_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<15>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list15_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<16>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list16_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<17>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list17_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<18>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list18_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<19>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list19_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<20>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename list20_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_list_c_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_list_c_arg<LONG_MAX>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
-    , long C9, long C10, long C11, long C12, long C13, long C14, long C15
-    , long C16, long C17, long C18, long C19, long C20
-    >
-struct list_c_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_list_c_arg<C1>::value + is_list_c_arg<C2>::value 
-        + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value 
-        + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value 
-        + is_list_c_arg<C7>::value + is_list_c_arg<C8>::value 
-        + is_list_c_arg<C9>::value + is_list_c_arg<C10>::value 
-        + is_list_c_arg<C11>::value + is_list_c_arg<C12>::value 
-        + is_list_c_arg<C13>::value + is_list_c_arg<C14>::value 
-        + is_list_c_arg<C15>::value + is_list_c_arg<C16>::value 
-        + is_list_c_arg<C17>::value + is_list_c_arg<C18>::value 
-        + is_list_c_arg<C19>::value + is_list_c_arg<C20>::value
-        );
-
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct list_c_impl
-{
-    typedef aux::list_c_count_args<
-          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        > arg_num_;
-
-    typedef typename aux::list_c_chooser< arg_num_::value >
-        ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct list_c
-    : aux::list_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type
-{
-    typedef typename aux::list_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/map.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/map.hpp
deleted file mode 100755
index 0e1ae00..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/map.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct map_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct map_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef map0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename map20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_map_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_map_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct map_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_map_arg<T1>::value + is_map_arg<T2>::value 
-        + is_map_arg<T3>::value + is_map_arg<T4>::value 
-        + is_map_arg<T5>::value + is_map_arg<T6>::value 
-        + is_map_arg<T7>::value + is_map_arg<T8>::value 
-        + is_map_arg<T9>::value + is_map_arg<T10>::value 
-        + is_map_arg<T11>::value + is_map_arg<T12>::value 
-        + is_map_arg<T13>::value + is_map_arg<T14>::value 
-        + is_map_arg<T15>::value + is_map_arg<T16>::value 
-        + is_map_arg<T17>::value + is_map_arg<T18>::value 
-        + is_map_arg<T19>::value + is_map_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct map_impl
-{
-    typedef aux::map_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::map_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct map
-    : aux::map_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::map_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp
deleted file mode 100755
index 2f3758f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct minus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct minus_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct minus_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct minus_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct minus2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct minus
-
-    : if_<
-
-          is_na<N3>
-        , minus2< N1,N2 >
-        , minus<
-              minus2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , minus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct minus2
-    : minus_impl<
-          typename minus_tag<N1>::type
-        , typename minus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp
deleted file mode 100755
index abe8677..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct modulus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct modulus_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct modulus_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct modulus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct modulus
-
-    : modulus_impl<
-          typename modulus_tag<N1>::type
-        , typename modulus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp
deleted file mode 100755
index 3ac3990..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct not_equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct not_equal_to_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct not_equal_to_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct not_equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct not_equal_to
-
-    : not_equal_to_impl<
-          typename not_equal_to_tag<N1>::type
-        , typename not_equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/or.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/or.hpp
deleted file mode 100755
index c404d09..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/or.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool C_ > struct or_impl
-{
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : true_
-    {
-    };
-};
-
-template<> struct or_impl<false>
-{
-    template<
-          typename T1, typename T2, typename T3, typename T4
-        >
-    struct result_
-        : or_impl<
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-            >::template result_< T2,T3,T4,false_ >
-    {
-    };
-};
-
-template<>
-struct or_impl<false>
-    ::result_< false_,false_,false_,false_ >
-        : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = false_, typename T4 = false_, typename T5 = false_
-    >
-struct or_
-
-    : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        >::template result_< T2,T3,T4,T5 >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , or_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , or_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp
deleted file mode 100755
index df5cb1d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp
deleted file mode 100755
index 0fb5f9c..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct plus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct plus_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct plus_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct plus_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct plus2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct plus
-
-    : if_<
-
-          is_na<N3>
-        , plus2< N1,N2 >
-        , plus<
-              plus2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , plus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct plus2
-    : plus_impl<
-          typename plus_tag<N1>::type
-        , typename plus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp
deleted file mode 100755
index 621e440..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-template< bool > struct quote_impl
-{
-    template< typename T > struct result_
-        : T
-    {
-    };
-};
-
-template<> struct quote_impl<false>
-{
-    template< typename T > struct result_
-    {
-        typedef T type;
-    };
-};
-
-template<
-      template< typename P1 > class F
-    , typename Tag = void_
-    >
-struct quote1
-{
-    template< typename U1 > struct apply
-
-        : quote_impl< aux::has_type< F<U1> >::value >
-            ::template result_< F<U1> >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename Tag = void_
-    >
-struct quote2
-{
-    template< typename U1, typename U2 > struct apply
-
-        : quote_impl< aux::has_type< F< U1,U2 > >::value >
-            ::template result_< F< U1,U2 > >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename Tag = void_
-    >
-struct quote3
-{
-    template< typename U1, typename U2, typename U3 > struct apply
-
-        : quote_impl< aux::has_type< F< U1,U2,U3 > >::value >
-            ::template result_< F< U1,U2,U3 > >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename Tag = void_
-    >
-struct quote4
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        >
-    struct apply
-
-        : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value >
-            ::template result_< F< U1,U2,U3,U4 > >
-
-    {
-    };
-};
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename Tag = void_
-    >
-struct quote5
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        , typename U5
-        >
-    struct apply
-
-        : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value >
-            ::template result_< F< U1,U2,U3,U4,U5 > >
-
-    {
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp
deleted file mode 100755
index 5907002..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl;
-
-template< long N >
-struct reverse_fold_chunk;
-
-template<> struct reverse_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef fwd_state0 bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef fwd_state1 bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef fwd_state2 bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef fwd_state3 bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct reverse_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef fwd_state4 bkwd_state4;
-        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< long N >
-struct reverse_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef reverse_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , iter4
-            , Last
-            , fwd_state4
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-
-        typedef typename nested_chunk::state bkwd_state4;
-        typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-        typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-        typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-        typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct reverse_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct reverse_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , reverse_fold_null_step< Last,State >
-            , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_step
-{
-    typedef reverse_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , typename deref<First>::type
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl
-    : reverse_fold_chunk<N>
-        ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp
deleted file mode 100755
index b85b2f2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl;
-
-template< long N >
-struct reverse_iter_fold_chunk;
-
-template<> struct reverse_iter_fold_chunk<0>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef fwd_state0 bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter0 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        
-
-        typedef fwd_state1 bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        typedef bkwd_state0 state;
-        typedef iter1 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<2>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        
-
-        typedef fwd_state2 bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter2 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<3>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        
-
-        typedef fwd_state3 bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter3 iterator;
-    };
-};
-
-template<> struct reverse_iter_fold_chunk<4>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef fwd_state4 bkwd_state4;
-        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef iter4 iterator;
-    };
-};
-
-template< long N >
-struct reverse_iter_fold_chunk
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-        typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-        typedef typename mpl::next<iter0>::type iter1;
-        typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-        typedef typename mpl::next<iter1>::type iter2;
-        typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-        typedef typename mpl::next<iter2>::type iter3;
-        typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-        typedef typename mpl::next<iter3>::type iter4;
-        
-
-        typedef reverse_iter_fold_impl<
-              ( (N - 4) < 0 ? 0 : N - 4 )
-            , iter4
-            , Last
-            , fwd_state4
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-
-        typedef typename nested_chunk::state bkwd_state4;
-        typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-        typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-        typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-        typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-        
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_step;
-
-template<
-      typename Last
-    , typename State
-    >
-struct reverse_iter_fold_null_step
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<>
-struct reverse_iter_fold_chunk< -1 >
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same< First,Last >::type
-            , reverse_iter_fold_null_step< Last,State >
-            , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_step
-{
-    typedef reverse_iter_fold_chunk< -1 >::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , First
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl
-    : reverse_iter_fold_chunk<N>
-        ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/set.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/set.hpp
deleted file mode 100755
index aa1a8b1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/set.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct set_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct set_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef set0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename set20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_set_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_set_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct set_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_set_arg<T1>::value + is_set_arg<T2>::value 
-        + is_set_arg<T3>::value + is_set_arg<T4>::value 
-        + is_set_arg<T5>::value + is_set_arg<T6>::value 
-        + is_set_arg<T7>::value + is_set_arg<T8>::value 
-        + is_set_arg<T9>::value + is_set_arg<T10>::value 
-        + is_set_arg<T11>::value + is_set_arg<T12>::value 
-        + is_set_arg<T13>::value + is_set_arg<T14>::value 
-        + is_set_arg<T15>::value + is_set_arg<T16>::value 
-        + is_set_arg<T17>::value + is_set_arg<T18>::value 
-        + is_set_arg<T19>::value + is_set_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct set_impl
-{
-    typedef aux::set_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::set_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct set
-    : aux::set_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::set_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp
deleted file mode 100755
index eb0f084..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct set_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct set_c_chooser<0>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set0_c<
-              T
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<1>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set1_c<
-              T, C0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<2>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set2_c<
-              T, C0, C1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<3>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set3_c<
-              T, C0, C1, C2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<4>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set4_c<
-              T, C0, C1, C2, C3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<5>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set5_c<
-              T, C0, C1, C2, C3, C4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<6>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set6_c<
-              T, C0, C1, C2, C3, C4, C5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<7>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set7_c<
-              T, C0, C1, C2, C3, C4, C5, C6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<8>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set8_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<9>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set9_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<10>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set10_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<11>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set11_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<12>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set12_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<13>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set13_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<14>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set14_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<15>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set15_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<16>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set16_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<17>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set17_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<18>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set18_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<19>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set19_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<20>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename set20_c<
-              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_set_c_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_set_c_arg<LONG_MAX>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
-    , long C9, long C10, long C11, long C12, long C13, long C14, long C15
-    , long C16, long C17, long C18, long C19, long C20
-    >
-struct set_c_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_set_c_arg<C1>::value + is_set_c_arg<C2>::value 
-        + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value 
-        + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value 
-        + is_set_c_arg<C7>::value + is_set_c_arg<C8>::value 
-        + is_set_c_arg<C9>::value + is_set_c_arg<C10>::value 
-        + is_set_c_arg<C11>::value + is_set_c_arg<C12>::value 
-        + is_set_c_arg<C13>::value + is_set_c_arg<C14>::value 
-        + is_set_c_arg<C15>::value + is_set_c_arg<C16>::value 
-        + is_set_c_arg<C17>::value + is_set_c_arg<C18>::value 
-        + is_set_c_arg<C19>::value + is_set_c_arg<C20>::value
-        );
-
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct set_c_impl
-{
-    typedef aux::set_c_count_args<
-          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        > arg_num_;
-
-    typedef typename aux::set_c_chooser< arg_num_::value >
-        ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct set_c
-    : aux::set_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type
-{
-    typedef typename aux::set_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp
deleted file mode 100755
index 65e0ff5..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_left_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct shift_left_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct shift_left_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_left_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_left
-
-    : shift_left_impl<
-          typename shift_left_tag<N1>::type
-        , typename shift_left_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp
deleted file mode 100755
index f7ce4f0..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_right_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct shift_right_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct shift_right_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_right_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_right
-
-    : shift_right_impl<
-          typename shift_right_tag<N1>::type
-        , typename shift_right_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp
deleted file mode 100755
index b81c2d3..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
-    template< typename F > struct result_
-        : mpl::int_< -1 >
-    {
-    };
-};
-
-template<>
-struct template_arity_impl<true>
-{
-    template< typename F > struct result_
-        : F::arity
-    {
-    };
-};
-
-template< typename F >
-struct template_arity
-    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
-        ::template result_<F>
-{
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/times.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/times.hpp
deleted file mode 100755
index 00c2bf7..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/times.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct times_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct times_impl< na,integral_c_tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template<> struct times_impl< integral_c_tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct times_tag
-{
-    typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct times2;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct times
-
-    : if_<
-
-          is_na<N3>
-        , times2< N1,N2 >
-        , times<
-              times2< N1,N2 >
-            , N3, N4, N5
-            >
-        >::type
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , times
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1
-    , typename N2
-    >
-struct times2
-    : times_impl<
-          typename times_tag<N1>::type
-        , typename times_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp
deleted file mode 100755
index 17718d9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
-{
-    template< typename F, typename Args > struct apply;
-};
-
-template<> struct unpack_args_impl<0>
-{
-    template< typename F, typename Args > struct apply
-        : apply0<
-              F
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<1>
-{
-    template< typename F, typename Args > struct apply
-        : apply1<
-              F
-            , typename at_c< Args,0 >::type
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<2>
-{
-    template< typename F, typename Args > struct apply
-        : apply2<
-              F
-            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<3>
-{
-    template< typename F, typename Args > struct apply
-        : apply3<
-              F
-            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-            , typename at_c< Args,2 >::type
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<4>
-{
-    template< typename F, typename Args > struct apply
-        : apply4<
-              F
-            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-            , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-            >
-    {
-    };
-};
-
-template<> struct unpack_args_impl<5>
-{
-    template< typename F, typename Args > struct apply
-        : apply5<
-              F
-            , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-            , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-            , typename at_c< Args,4 >::type
-            >
-    {
-    };
-};
-
-}
-
-template<
-      typename F
-    >
-struct unpack_args
-{
-    template< typename Args > struct apply
-
-        : aux::unpack_args_impl< size<Args>::value >
-            ::template apply< F,Args >
-
-    {
-    };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp
deleted file mode 100755
index 6c6fca5..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct vector_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct vector_chooser<0>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef vector0<
-             
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<1>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector1<
-              T0
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<2>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector2<
-              T0, T1
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<3>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector3<
-              T0, T1, T2
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<4>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector4<
-              T0, T1, T2, T3
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<5>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector5<
-              T0, T1, T2, T3, T4
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<6>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector6<
-              T0, T1, T2, T3, T4, T5
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<7>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector7<
-              T0, T1, T2, T3, T4, T5, T6
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<8>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector8<
-              T0, T1, T2, T3, T4, T5, T6, T7
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<9>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector9<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<10>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector10<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<11>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector11<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<12>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector12<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<13>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector13<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<14>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector14<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<15>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector15<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<16>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector16<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<17>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector17<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<18>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector18<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<19>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector19<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<20>
-{
-    template<
-          typename T0, typename T1, typename T2, typename T3, typename T4
-        , typename T5, typename T6, typename T7, typename T8, typename T9
-        , typename T10, typename T11, typename T12, typename T13, typename T14
-        , typename T15, typename T16, typename T17, typename T18, typename T19
-        >
-    struct result_
-    {
-        typedef typename vector20<
-              T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_vector_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_vector_arg<na>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename T6, typename T7, typename T8, typename T9, typename T10
-    , typename T11, typename T12, typename T13, typename T14, typename T15
-    , typename T16, typename T17, typename T18, typename T19, typename T20
-    >
-struct vector_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_vector_arg<T1>::value + is_vector_arg<T2>::value 
-        + is_vector_arg<T3>::value + is_vector_arg<T4>::value 
-        + is_vector_arg<T5>::value + is_vector_arg<T6>::value 
-        + is_vector_arg<T7>::value + is_vector_arg<T8>::value 
-        + is_vector_arg<T9>::value + is_vector_arg<T10>::value 
-        + is_vector_arg<T11>::value + is_vector_arg<T12>::value 
-        + is_vector_arg<T13>::value + is_vector_arg<T14>::value 
-        + is_vector_arg<T15>::value + is_vector_arg<T16>::value 
-        + is_vector_arg<T17>::value + is_vector_arg<T18>::value 
-        + is_vector_arg<T19>::value + is_vector_arg<T20>::value
-        );
-
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector_impl
-{
-    typedef aux::vector_count_args<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        > arg_num_;
-
-    typedef typename aux::vector_chooser< arg_num_::value >
-        ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct vector
-    : aux::vector_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type
-{
-    typedef typename aux::vector_impl<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp
deleted file mode 100755
index 894023e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct vector_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<0>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector0_c<
-              T
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<1>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector1_c<
-              T, T(C0)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<2>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector2_c<
-              T, T(C0), T(C1)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<3>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector3_c<
-              T, T(C0), T(C1), T(C2)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<4>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector4_c<
-              T, T(C0), T(C1), T(C2), T(C3)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<5>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector5_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<6>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector6_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<7>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector7_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<8>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector8_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<9>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector9_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<10>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector10_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<11>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector11_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<12>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector12_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<13>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector13_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<14>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector14_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<15>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector15_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<16>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector16_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<17>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector17_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<18>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector18_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<19>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector19_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<20>
-{
-    template<
-          typename T, long C0, long C1, long C2, long C3, long C4, long C5
-        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-        >
-    struct result_
-    {
-        typedef typename vector20_c<
-              T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19)
-            >::type type;
-
-    };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_vector_c_arg
-{
-    BOOST_STATIC_CONSTANT(bool, value  = true);
-};
-
-template<>
-struct is_vector_c_arg<LONG_MAX>
-{
-    BOOST_STATIC_CONSTANT(bool, value  = false);
-};
-
-template<
-      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
-    , long C9, long C10, long C11, long C12, long C13, long C14, long C15
-    , long C16, long C17, long C18, long C19, long C20
-    >
-struct vector_c_count_args
-{
-    BOOST_STATIC_CONSTANT(int, value =
-          is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value 
-        + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value 
-        + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value 
-        + is_vector_c_arg<C7>::value + is_vector_c_arg<C8>::value 
-        + is_vector_c_arg<C9>::value + is_vector_c_arg<C10>::value 
-        + is_vector_c_arg<C11>::value + is_vector_c_arg<C12>::value 
-        + is_vector_c_arg<C13>::value + is_vector_c_arg<C14>::value 
-        + is_vector_c_arg<C15>::value + is_vector_c_arg<C16>::value 
-        + is_vector_c_arg<C17>::value + is_vector_c_arg<C18>::value 
-        + is_vector_c_arg<C19>::value + is_vector_c_arg<C20>::value
-        );
-
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct vector_c_impl
-{
-    typedef aux::vector_c_count_args<
-          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        > arg_num_;
-
-    typedef typename aux::vector_c_chooser< arg_num_::value >
-        ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct vector_c
-    : aux::vector_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type
-{
-    typedef typename aux::vector_c_impl<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
-        >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp
deleted file mode 100755
index 2d65040..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_backward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_backward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_backward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_backward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef typename prior<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_backward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_backward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_backward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp
deleted file mode 100755
index 9762f7b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_forward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_forward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_forward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_forward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef typename next<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_forward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_forward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_forward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/and.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/and.hpp
deleted file mode 100755
index 71e3b78..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
-    : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
-    : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , true_
-        >
-{
-};
-
-template<>
-struct and_impl<
-          true
-        , true_, true_, true_, true_
-        >
-    : true_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = true_, typename T4 = true_, typename T5 = true_
-    >
-struct and_
-
-    : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , and_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , and_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp
deleted file mode 100755
index 9508903..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0
-
-    : apply_wrap0<
-          typename lambda<F>::type
-       
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          1
-        , apply0
-        , (F )
-        )
-};
-
-template<
-      typename F
-    >
-struct apply< F,na,na,na,na,na >
-    : apply0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply1
-
-    : apply_wrap1<
-          typename lambda<F>::type
-        , T1
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          2
-        , apply1
-        , (F, T1)
-        )
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply< F,T1,na,na,na,na >
-    : apply1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2
-
-    : apply_wrap2<
-          typename lambda<F>::type
-        , T1, T2
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , apply2
-        , (F, T1, T2)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply< F,T1,T2,na,na,na >
-    : apply2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3
-
-    : apply_wrap3<
-          typename lambda<F>::type
-        , T1, T2, T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , apply3
-        , (F, T1, T2, T3)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply< F,T1,T2,T3,na,na >
-    : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4
-
-    : apply_wrap4<
-          typename lambda<F>::type
-        , T1, T2, T3, T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , apply4
-        , (F, T1, T2, T3, T4)
-        )
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply< F,T1,T2,T3,T4,na >
-    : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5
-
-    : apply_wrap5<
-          typename lambda<F>::type
-        , T1, T2, T3, T4, T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          6
-        , apply5
-        , (F, T1, T2, T3, T4, T5)
-        )
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply
-    : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp
deleted file mode 100755
index b1c5573..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct apply;
-
-template<
-      typename F
-    >
-struct apply0;
-
-template<
-      typename F, typename T1
-    >
-struct apply1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp
deleted file mode 100755
index e6de047..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-
-    , typename has_apply_ = typename aux::has_apply<F>::type
-
-    >
-struct apply_wrap0
-
-    : F::template apply<  >
-{
-};
-
-template< typename F >
-struct apply_wrap0< F,true_ >
-    : F::apply
-{
-};
-
-template<
-      typename F, typename T1
-
-    >
-struct apply_wrap1
-
-    : F::template apply<T1>
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-
-    >
-struct apply_wrap2
-
-    : F::template apply< T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-
-    >
-struct apply_wrap3
-
-    : F::template apply< T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-
-    >
-struct apply_wrap4
-
-    : F::template apply< T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-
-    >
-struct apply_wrap5
-
-    : F::template apply< T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp
deleted file mode 100755
index a77b8a2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<1>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 1);
-    typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<2>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 2);
-    typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<3>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 3);
-    typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<4>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 4);
-    typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<5>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 5);
-    typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp
deleted file mode 100755
index 87dbf14..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp
+++ /dev/null
@@ -1,369 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
-    typedef bind< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F
-    >
-struct bind< F,na,na,na,na,na >
-    : bind0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1
-    >
-struct bind< F,T1,na,na,na,na >
-    : bind1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind< F,T1,T2,na,na,na >
-    : bind2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind< F,T1,T2,T3,na,na >
-    : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind< F,T1,T2,T3,T4,na >
-    : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind
-    : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp
deleted file mode 100755
index 091cd9c..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp
+++ /dev/null
@@ -1,466 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      typename T
-    , typename Arg
-    >
-struct replace_unnamed_arg
-{
-    typedef Arg next;
-    typedef T type;
-};
-
-template<
-      typename Arg
-    >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
-    typedef typename Arg::next next;
-    typedef Arg type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
-    typedef bind< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F
-    >
-struct bind< F,na,na,na,na,na >
-    : bind0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1
-    >
-struct bind< F,T1,na,na,na,na >
-    : bind1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind< F,T1,T2,na,na,na >
-    : bind2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind< F,T1,T2,T3,na,na >
-    : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind< F,T1,T2,T3,T4,na >
-    : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-        typedef aux::replace_unnamed_arg< T5,n5 > r5;
-        typedef typename r5::type a5;
-        typedef typename r5::next n6;
-        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
-        ///
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind
-    : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp
deleted file mode 100755
index e47dd92..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct bind;
-
-template<
-      typename F
-    >
-struct bind0;
-
-template<
-      typename F, typename T1
-    >
-struct bind1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp
deleted file mode 100755
index 503aca0..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitand_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitand_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitand_
-    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitand_< N1,N2,N3,N4,na >
-
-    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitand_< N1,N2,N3,na,na >
-
-    : bitand_< bitand_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitand_< N1,N2,na,na,na >
-    : bitand_impl<
-          typename bitand_tag<N1>::type
-        , typename bitand_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitand_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 & n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::bitand_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp
deleted file mode 100755
index 215feb7..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitor_
-    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitor_< N1,N2,N3,N4,na >
-
-    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitor_< N1,N2,N3,na,na >
-
-    : bitor_< bitor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitor_< N1,N2,na,na,na >
-    : bitor_impl<
-          typename bitor_tag<N1>::type
-        , typename bitor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitor_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 | n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::bitor_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp
deleted file mode 100755
index b999bd3..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitxor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitxor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitxor_
-    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitxor_< N1,N2,N3,N4,na >
-
-    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitxor_< N1,N2,N3,na,na >
-
-    : bitxor_< bitxor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitxor_< N1,N2,na,na,na >
-    : bitxor_impl<
-          typename bitxor_tag<N1>::type
-        , typename bitxor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitxor_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 ^ n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::bitxor_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp
deleted file mode 100755
index ede9716..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct deque;
-
-template<
-     
-    >
-struct deque<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct deque<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct deque<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct deque<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct deque<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct deque<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct deque
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp
deleted file mode 100755
index f1497b1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct divides_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct divides_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct divides
-    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , divides
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct divides< N1,N2,N3,N4,na >
-
-    : divides< divides< divides< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct divides< N1,N2,N3,na,na >
-
-    : divides< divides< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct divides< N1,N2,na,na,na >
-    : divides_impl<
-          typename divides_tag<N1>::type
-        , typename divides_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct divides_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 / n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::divides_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp
deleted file mode 100755
index 1d05d89..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct equal_to
-
-    : equal_to_impl<
-          typename equal_to_tag<N1>::type
-        , typename equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp
deleted file mode 100755
index 6d94f48..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl
-{
-    typedef fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,First,Last,State,ForwardOp >
-    : fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp
deleted file mode 100755
index 78cb47c..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp
+++ /dev/null
@@ -1,554 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-   
-    >
-struct lambda
-{
-    typedef false_ is_le;
-    typedef T result_;
-    typedef T type;
-};
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
-    typedef true_ is_le;
-    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
-    typedef mpl::protect<result_> type;
-};
-
-template<
-      typename F
-    , typename Tag
-    >
-struct lambda<
-          bind0<F>
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind0<
-          F
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1
-{
-    typedef F<
-          typename L1::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1< true_,Tag,F,L1 >
-{
-    typedef bind1<
-          quote1< F,Tag >
-        , typename L1::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1 > class F
-    , typename T1
-    , typename Tag
-    >
-struct lambda<
-          F<T1>
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef typename l1::is_le is_le1;
-    typedef typename aux::lambda_or<
-          is_le1::value
-        >::type is_le;
-
-    typedef aux::le_result1<
-          is_le, Tag, F, l1
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1
-    , typename Tag
-    >
-struct lambda<
-          bind1< F,T1 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind1<
-          F
-        , T1
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2
-{
-    typedef F<
-          typename L1::type, typename L2::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
-    typedef bind2<
-          quote2< F,Tag >
-        , typename L1::result_, typename L2::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value
-        >::type is_le;
-
-    typedef aux::le_result2<
-          is_le, Tag, F, l1, l2
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          bind2< F,T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind2<
-          F
-        , T1, T2
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
-    typedef bind3<
-          quote3< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value
-        >::type is_le;
-
-    typedef aux::le_result3<
-          is_le, Tag, F, l1, l2, l3
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          bind3< F,T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind3<
-          F
-        , T1, T2, T3
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
-    typedef bind4<
-          quote4< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        >::type is_le;
-
-    typedef aux::le_result4<
-          is_le, Tag, F, l1, l2, l3, l4
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          bind4< F,T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind4<
-          F
-        , T1, T2, T3, T4
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type, typename L5::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
-    typedef bind5<
-          quote5< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_, typename L5::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    typedef lambda< T5,Tag > l5;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    typedef typename l5::is_le is_le5;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        , is_le5::value
-        >::type is_le;
-
-    typedef aux::le_result5<
-          is_le, Tag, F, l1, l2, l3, l4, l5
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind5< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind5<
-          F
-        , T1, T2, T3, T4, T5
-        > result_;
-
-    typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
-    typedef false_ is_le;
-    typedef mpl::protect<T> result_;
-    typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind< F,T1,T2,T3,T4,T5 > result_;
-    typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
-      typename F, typename Tag1, typename Tag2
-    >
-struct lambda<
-          lambda< F,Tag1 >
-        , Tag2
-        >
-{
-    typedef lambda< F,Tag2 > l1;
-    typedef lambda< Tag1,Tag2 > l2;
-    typedef typename l1::is_le is_le;
-    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp
deleted file mode 100755
index 99d4a79..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater
-
-    : greater_impl<
-          typename greater_tag<N1>::type
-        , typename greater_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp
deleted file mode 100755
index a3e51da..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater_equal
-
-    : greater_equal_impl<
-          typename greater_equal_tag<N1>::type
-        , typename greater_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp
deleted file mode 100755
index 3eb3bae..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct inherit2
-    : T1, T2
-{
-    typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
-    typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
-    typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
-    typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na
-    >
-struct inherit3
-    : inherit2<
-          typename inherit2<
-              T1, T2
-            >::type
-        , T3
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          3
-        , inherit3
-        , ( T1, T2, T3)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    >
-struct inherit4
-    : inherit2<
-          typename inherit3<
-              T1, T2, T3
-            >::type
-        , T4
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , inherit4
-        , ( T1, T2, T3, T4)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    , typename T5 = na
-    >
-struct inherit5
-    : inherit2<
-          typename inherit4<
-              T1, T2, T3, T4
-            >::type
-        , T5
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , inherit5
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
-      typename T1 = empty_base, typename T2 = empty_base
-    , typename T3 = empty_base, typename T4 = empty_base
-    , typename T5 = empty_base
-    >
-struct inherit
-    : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
-    template<
-
-          typename T1 = empty_base, typename T2 = empty_base
-        , typename T3 = empty_base, typename T4 = empty_base
-        , typename T5 = empty_base
-
-        >
-    struct apply
-        : inherit< T1,T2,T3,T4,T5 >
-    {
-    };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp
deleted file mode 100755
index 233e7dd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
-    typedef State state;
-    typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef typename apply2< StateOp,State,Iterator >::type state;
-        typedef typename IteratorOp::type iterator;
-    };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef State state;
-        typedef Iterator iterator;
-    };
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_forward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename BackwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_backward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename ForwardPredicate
-    , typename BackwardOp
-    , typename BackwardPredicate
-    >
-struct iter_fold_if_impl
-{
- private:
-    typedef iter_fold_if_null_step< Iterator,State > forward_step0;
-    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
-    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
-    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
-    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-    
-
-    typedef typename if_<
-          typename forward_step4::not_last
-        , iter_fold_if_impl<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            , ForwardOp
-            , ForwardPredicate
-            , BackwardOp
-            , BackwardPredicate
-            >
-        , iter_fold_if_null_step<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            >
-        >::type backward_step4;
-
-    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
-    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
-    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
-    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-    
-
- public:
-    typedef typename backward_step0::state state;
-    typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp
deleted file mode 100755
index f633d1b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl
-{
-    typedef iter_fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
-    : iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp
deleted file mode 100755
index c4ac608..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
-    template< typename T, typename Tag, typename Protect > struct result_
-    {
-        typedef T type;
-        typedef is_placeholder<T> is_le;
-    };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef typename l1::is_le is_le1;
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
-            > is_le;
-
-        typedef bind1<
-              typename F::rebind
-            , typename l1::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
-            > is_le;
-
-        typedef bind2<
-              typename F::rebind
-            , typename l1::type, typename l2::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
-            > is_le;
-
-        typedef bind3<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
-            > is_le;
-
-        typedef bind4<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        typedef lambda< typename F::arg5, Tag, false_ > l5;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        typedef typename l5::is_le is_le5;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
-            > is_le;
-
-        typedef bind5<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type, typename l5::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Protect
-    >
-struct lambda
-{
-    /// Metafunction forwarding confuses MSVC 6.x
-    typedef typename aux::template_arity<T>::type arity_;
-    typedef typename aux::lambda_impl<arity_>
-        ::template result_< T,Tag,Protect > l_;
-
-    typedef typename l_::type type;
-    typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/less.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/less.hpp
deleted file mode 100755
index ab6dc49..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/less.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less
-
-    : less_impl<
-          typename less_tag<N1>::type
-        , typename less_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N2)::value >
-             BOOST_MPL_AUX_VALUE_WKND(N1)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp
deleted file mode 100755
index f403094..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less_equal
-
-    : less_equal_impl<
-          typename less_equal_tag<N1>::type
-        , typename less_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/list.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/list.hpp
deleted file mode 100755
index 1dcd58b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct list;
-
-template<
-     
-    >
-struct list<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list0<  >
-{
-    typedef list0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct list<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list1<T0>
-{
-    typedef typename list1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct list<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list2< T0,T1 >
-{
-    typedef typename list2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct list<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list3< T0,T1,T2 >
-{
-    typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct list<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list4< T0,T1,T2,T3 >
-{
-    typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct list<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list5< T0,T1,T2,T3,T4 >
-{
-    typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : list15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : list16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : list17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : list18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : list19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct list
-    : list20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp
deleted file mode 100755
index 578474e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct list_c;
-
-template<
-      typename T
-    >
-struct list_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list0_c<T>
-{
-    typedef typename list0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct list_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list1_c< T,C0 >
-{
-    typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct list_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list2_c< T,C0,C1 >
-{
-    typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct list_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list3_c< T,C0,C1,C2 >
-{
-    typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct list_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : list18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : list19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct list_c
-    : list20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/map.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/map.hpp
deleted file mode 100755
index 2f22291..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct map;
-
-template<
-     
-    >
-struct map<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map0<  >
-{
-    typedef map0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct map<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map1<T0>
-{
-    typedef typename map1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct map<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map2< T0,T1 >
-{
-    typedef typename map2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct map<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map3< T0,T1,T2 >
-{
-    typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct map<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map4< T0,T1,T2,T3 >
-{
-    typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct map<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map5< T0,T1,T2,T3,T4 >
-{
-    typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : map15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : map16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : map17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : map18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : map19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct map
-    : map20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp
deleted file mode 100755
index 5793b00..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct minus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct minus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct minus
-    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , minus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct minus< N1,N2,N3,N4,na >
-
-    : minus< minus< minus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct minus< N1,N2,N3,na,na >
-
-    : minus< minus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct minus< N1,N2,na,na,na >
-    : minus_impl<
-          typename minus_tag<N1>::type
-        , typename minus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct minus_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 - n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::minus_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp
deleted file mode 100755
index 9400a45..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct modulus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct modulus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct modulus
-
-    : modulus_impl<
-          typename modulus_tag<N1>::type
-        , typename modulus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct modulus_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 % n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::modulus_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp
deleted file mode 100755
index e23796a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct not_equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct not_equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct not_equal_to
-
-    : not_equal_to_impl<
-          typename not_equal_to_tag<N1>::type
-        , typename not_equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-    {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
-            );
-        typedef bool_<value> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/or.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/or.hpp
deleted file mode 100755
index 1a05656..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
-    : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
-    : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , false_
-        >
-{
-};
-
-template<>
-struct or_impl<
-          false
-        , false_, false_, false_, false_
-        >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = false_, typename T4 = false_, typename T5 = false_
-    >
-struct or_
-
-    : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , or_
-        , ( T1, T2, T3, T4, T5)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , or_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp
deleted file mode 100755
index df5cb1d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp
deleted file mode 100755
index eba6c0c..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct plus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct plus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct plus
-    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , plus
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct plus< N1,N2,N3,N4,na >
-
-    : plus< plus< plus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct plus< N1,N2,N3,na,na >
-
-    : plus< plus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct plus< N1,N2,na,na,na >
-    : plus_impl<
-          typename plus_tag<N1>::type
-        , typename plus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct plus_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 + n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::plus_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp
deleted file mode 100755
index df25a69..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp
deleted file mode 100755
index 1c4364a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef fwd_state0 bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef fwd_state1 bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef fwd_state2 bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef fwd_state3 bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef fwd_state4 bkwd_state4;
-    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter4 iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef reverse_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , iter4
-        , Last
-        , fwd_state4
-        , BackwardOp
-        , ForwardOp
-        > nested_chunk;
-
-    typedef typename nested_chunk::state bkwd_state4;
-    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef typename nested_chunk::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef reverse_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , typename deref<First>::type
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp
deleted file mode 100755
index f06c88b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef fwd_state0 bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef fwd_state1 bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef fwd_state2 bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef fwd_state3 bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef fwd_state4 bkwd_state4;
-    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter4 iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef reverse_iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , iter4
-        , Last
-        , fwd_state4
-        , BackwardOp
-        , ForwardOp
-        > nested_chunk;
-
-    typedef typename nested_chunk::state bkwd_state4;
-    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef typename nested_chunk::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef reverse_iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , First
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/set.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/set.hpp
deleted file mode 100755
index b7e3f0b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct set;
-
-template<
-     
-    >
-struct set<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set0<  >
-{
-    typedef set0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct set<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set1<T0>
-{
-    typedef typename set1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct set<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set2< T0,T1 >
-{
-    typedef typename set2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct set<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set3< T0,T1,T2 >
-{
-    typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct set<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set4< T0,T1,T2,T3 >
-{
-    typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct set<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set5< T0,T1,T2,T3,T4 >
-{
-    typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : set15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : set16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : set17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : set18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : set19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct set
-    : set20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp
deleted file mode 100755
index acdf68b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct set_c;
-
-template<
-      typename T
-    >
-struct set_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set0_c<T>
-{
-    typedef typename set0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct set_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set1_c< T,C0 >
-{
-    typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct set_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set2_c< T,C0,C1 >
-{
-    typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct set_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set3_c< T,C0,C1,C2 >
-{
-    typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct set_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : set18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : set19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct set_c
-    : set20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp
deleted file mode 100755
index ba9217b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_left_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_left_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_left
-
-    : shift_left_impl<
-          typename shift_left_tag<N1>::type
-        , typename shift_left_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct shift_left_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n << s));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-        : aux::shift_left_wknd<
-              typename N::value_type
-            , typename S::value_type
-            , N::value
-            , S::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp
deleted file mode 100755
index d161c0b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_right_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_right_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_right
-
-    : shift_right_impl<
-          typename shift_right_tag<N1>::type
-        , typename shift_right_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct shift_right_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n >> s));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-        : aux::shift_right_wknd<
-              typename N::value_type
-            , typename S::value_type
-            , N::value
-            , S::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp
deleted file mode 100755
index b81c2d3..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
-    template< typename F > struct result_
-        : mpl::int_< -1 >
-    {
-    };
-};
-
-template<>
-struct template_arity_impl<true>
-{
-    template< typename F > struct result_
-        : F::arity
-    {
-    };
-};
-
-template< typename F >
-struct template_arity
-    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
-        ::template result_<F>
-{
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/times.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/times.hpp
deleted file mode 100755
index 1d9690a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/times.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct times_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct times_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct times
-    : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          5
-        , times
-        , ( N1, N2, N3, N4, N5 )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct times< N1,N2,N3,N4,na >
-
-    : times< times< times< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct times< N1,N2,N3,na,na >
-
-    : times< times< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct times< N1,N2,na,na,na >
-    : times_impl<
-          typename times_tag<N1>::type
-        , typename times_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct times_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value  = (n1 * n2));
-    typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-        : aux::times_wknd<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , N1::value
-            , N2::value
-            >::type
-
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp
deleted file mode 100755
index 7f8c577..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
-    : apply0<
-          F
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
-    : apply1<
-          F
-        , typename at_c< Args,0 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
-    : apply2<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
-    : apply3<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
-    : apply4<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
-    : apply5<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        , typename at_c< Args,4 >::type
-        >
-{
-};
-
-}
-
-template<
-      typename F
-    >
-struct unpack_args
-{
-    template< typename Args > struct apply
-
-        : aux::unpack_args_impl< size<Args>::value,F, Args >
-
-    {
-    };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp
deleted file mode 100755
index d1da8b1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct vector;
-
-template<
-     
-    >
-struct vector<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct vector<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct vector<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct vector<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct vector<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct vector<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp
deleted file mode 100755
index ce33340..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct vector_c;
-
-template<
-      typename T
-    >
-struct vector_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector0_c<T>
-{
-    typedef typename vector0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct vector_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector1_c< T, T(C0) >
-{
-    typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct vector_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector2_c< T, T(C0), T(C1) >
-{
-    typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct vector_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector3_c< T, T(C0), T(C1), T(C2) >
-{
-    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
-    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
-    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
-    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
-    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
-    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
-    typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
-    typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
-    typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
-    typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
-    typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
-    typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
-    typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
-    typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
-    typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
-    typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
-    typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct vector_c
-    : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
-    typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp
deleted file mode 100755
index 2d65040..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_backward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_backward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_backward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_backward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename prior<iter0>::type iter1;
-        typedef typename prior<iter1>::type iter2;
-        typedef typename prior<iter2>::type iter3;
-        typedef typename prior<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_backward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_backward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_backward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp
deleted file mode 100755
index 9762f7b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef iter0 type;
-    };
-};
-
-template<>
-struct advance_forward<1>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef iter1 type;
-    };
-};
-
-template<>
-struct advance_forward<2>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef iter2 type;
-    };
-};
-
-template<>
-struct advance_forward<3>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef iter3 type;
-    };
-};
-
-template<>
-struct advance_forward<4>
-{
-    template< typename Iterator > struct apply
-    {
-        typedef Iterator iter0;
-        typedef typename next<iter0>::type iter1;
-        typedef typename next<iter1>::type iter2;
-        typedef typename next<iter2>::type iter3;
-        typedef typename next<iter3>::type iter4;
-        typedef iter4 type;
-    };
-};
-
-template< long N >
-struct advance_forward
-{
-    template< typename Iterator > struct apply
-    {
-        typedef typename apply_wrap1<
-              advance_forward<4>
-            , Iterator
-            >::type chunk_result_;
-
-        typedef typename apply_wrap1<
-              advance_forward<(
-                (N - 4) < 0
-                    ? 0
-                    : N - 4
-                    )>
-            , chunk_result_
-            >::type type;
-    };
-};
-
-}}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/and.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/and.hpp
deleted file mode 100755
index aae95c5..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/and.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
-    : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
-    : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , true_
-        >
-{
-};
-
-template<>
-struct and_impl<
-          true
-        , true_, true_, true_, true_
-        >
-    : true_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = true_, typename T4 = true_, typename T5 = true_
-    >
-struct and_
-
-    : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , and_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/apply.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/apply.hpp
deleted file mode 100755
index d18329c..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/apply.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-    >
-struct apply0
-
-    : apply_wrap0<
-          typename lambda<F>::type
-       
-        >
-{
-};
-
-template<
-      typename F
-    >
-struct apply< F,na,na,na,na,na >
-    : apply0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply1
-
-    : apply_wrap1<
-          typename lambda<F>::type
-        , T1
-        >
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct apply< F,T1,na,na,na,na >
-    : apply1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2
-
-    : apply_wrap2<
-          typename lambda<F>::type
-        , T1, T2
-        >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply< F,T1,T2,na,na,na >
-    : apply2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3
-
-    : apply_wrap3<
-          typename lambda<F>::type
-        , T1, T2, T3
-        >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply< F,T1,T2,T3,na,na >
-    : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4
-
-    : apply_wrap4<
-          typename lambda<F>::type
-        , T1, T2, T3, T4
-        >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply< F,T1,T2,T3,T4,na >
-    : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5
-
-    : apply_wrap5<
-          typename lambda<F>::type
-        , T1, T2, T3, T4, T5
-        >
-{
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply
-    : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp
deleted file mode 100755
index b1c5573..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct apply;
-
-template<
-      typename F
-    >
-struct apply0;
-
-template<
-      typename F, typename T1
-    >
-struct apply1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct apply2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct apply3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct apply4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct apply5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp
deleted file mode 100755
index e6de047..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F
-
-    , typename has_apply_ = typename aux::has_apply<F>::type
-
-    >
-struct apply_wrap0
-
-    : F::template apply<  >
-{
-};
-
-template< typename F >
-struct apply_wrap0< F,true_ >
-    : F::apply
-{
-};
-
-template<
-      typename F, typename T1
-
-    >
-struct apply_wrap1
-
-    : F::template apply<T1>
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-
-    >
-struct apply_wrap2
-
-    : F::template apply< T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-
-    >
-struct apply_wrap3
-
-    : F::template apply< T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-
-    >
-struct apply_wrap4
-
-    : F::template apply< T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-
-    >
-struct apply_wrap5
-
-    : F::template apply< T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/arg.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/arg.hpp
deleted file mode 100755
index a77b8a2..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<1>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 1);
-    typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<2>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 2);
-    typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<3>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 3);
-    typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<4>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 4);
-    typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-template<> struct arg<5>
-{
-    BOOST_STATIC_CONSTANT(int, value  = 5);
-    typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-        typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
-    };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp
deleted file mode 100755
index 74072c9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp
+++ /dev/null
@@ -1,440 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
-    typedef bind< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F
-    >
-struct bind< F,na,na,na,na,na >
-    : bind0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1
-    >
-struct bind< F,T1,na,na,na,na >
-    : bind1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind< F,T1,T2,na,na,na >
-    : bind2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind< F,T1,T2,T3,na,na >
-    : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind< F,T1,T2,T3,T4,na >
-    : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-        typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind
-    : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< if_,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef typename if_<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-template<
-      template< typename T1, typename T2, typename T3 > class F, typename Tag
-    >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< eval_if,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-        typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-        typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-        typedef typename eval_if<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bind.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bind.hpp
deleted file mode 100755
index 888fbc6..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bind.hpp
+++ /dev/null
@@ -1,561 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename T, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-template<
-      typename T
-    , typename Arg
-    >
-struct replace_unnamed_arg
-{
-    typedef Arg next;
-    typedef T type;
-};
-
-template<
-      typename Arg
-    >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
-    typedef typename Arg::next next;
-    typedef Arg type;
-};
-
-template<
-      int N, typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
-    typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
-    typedef bind< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename F
-    >
-struct bind0
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-     public:
-        typedef typename apply_wrap0<
-              f_
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind0<F>, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind0<F> f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
-      typename F
-    >
-struct bind< F,na,na,na,na,na >
-    : bind0<F>
-{
-};
-
-template<
-      typename F, typename T1
-    >
-struct bind1
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-     public:
-        typedef typename apply_wrap1<
-              f_
-            , typename t1::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename U1, typename U2, typename U3
-    , typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind1< F,T1 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind1< F,T1 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
-      typename F, typename T1
-    >
-struct bind< F,T1,na,na,na,na >
-    : bind1< F,T1 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-     public:
-        typedef typename apply_wrap2<
-              f_
-            , typename t1::type, typename t2::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename U1, typename U2
-    , typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind2< F,T1,T2 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind2< F,T1,T2 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind< F,T1,T2,na,na,na >
-    : bind2< F,T1,T2 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-     public:
-        typedef typename apply_wrap3<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename U1
-    , typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind3< F,T1,T2,T3 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind< F,T1,T2,T3,na,na >
-    : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-     public:
-        typedef typename apply_wrap4<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename U1, typename U2, typename U3, typename U4, typename U5
-    >
-struct resolve_bind_arg<
-      bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind4< F,T1,T2,T3,T4 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind< F,T1,T2,T3,T4,na >
-    : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
-        ///
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef aux::replace_unnamed_arg< T4,n4 > r4;
-        typedef typename r4::type a4;
-        typedef typename r4::next n5;
-        typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
-        ///
-        typedef aux::replace_unnamed_arg< T5,n5 > r5;
-        typedef typename r5::type a5;
-        typedef typename r5::next n6;
-        typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
-        ///
-     public:
-        typedef typename apply_wrap5<
-              f_
-            , typename t1::type, typename t2::type, typename t3::type
-            , typename t4::type, typename t5::type
-            >::type type;
-
-    };
-};
-
-namespace aux {
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename U1, typename U2, typename U3, typename U4
-    , typename U5
-    >
-struct resolve_bind_arg<
-      bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
-    >
-{
-    typedef bind5< F,T1,T2,T3,T4,T5 > f_;
-    typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind
-    : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< if_,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef typename if_<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-template<
-      template< typename T1, typename T2, typename T3 > class F, typename Tag
-    >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
-      typename Tag, typename T1, typename T2, typename T3
-    >
-struct bind3<
-      quote3< eval_if,Tag >
-    , T1, T2, T3
-    >
-{
-    template<
-          typename U1 = na, typename U2 = na, typename U3 = na
-        , typename U4 = na, typename U5 = na
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-        typedef aux::replace_unnamed_arg< T1,n1 > r1;
-        typedef typename r1::type a1;
-        typedef typename r1::next n2;
-        typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
-        ///
-        typedef aux::replace_unnamed_arg< T2,n2 > r2;
-        typedef typename r2::type a2;
-        typedef typename r2::next n3;
-        typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
-        ///
-        typedef aux::replace_unnamed_arg< T3,n3 > r3;
-        typedef typename r3::type a3;
-        typedef typename r3::next n4;
-        typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
-        ///
-        typedef typename eval_if<
-              typename t1::type
-            , t2, t3
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp
deleted file mode 100755
index e47dd92..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename F, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na
-    >
-struct bind;
-
-template<
-      typename F
-    >
-struct bind0;
-
-template<
-      typename F, typename T1
-    >
-struct bind1;
-
-template<
-      typename F, typename T1, typename T2
-    >
-struct bind2;
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    >
-struct bind3;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    >
-struct bind4;
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct bind5;
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bitand.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bitand.hpp
deleted file mode 100755
index 31aa9a8..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bitand.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitand_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitand_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitand_
-    : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitand_< N1,N2,N3,N4,na >
-
-    : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitand_< N1,N2,N3,na,na >
-
-    : bitand_< bitand_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitand_< N1,N2,na,na,na >
-    : bitand_impl<
-          typename bitand_tag<N1>::type
-        , typename bitand_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitand_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  & BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bitor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bitor.hpp
deleted file mode 100755
index 08e0fec..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bitor.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitor_
-    : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitor_< N1,N2,N3,N4,na >
-
-    : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitor_< N1,N2,N3,na,na >
-
-    : bitor_< bitor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitor_< N1,N2,na,na,na >
-    : bitor_impl<
-          typename bitor_tag<N1>::type
-        , typename bitor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bitxor.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bitxor.hpp
deleted file mode 100755
index b2a74ea..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/bitxor.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct bitxor_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct bitxor_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct bitxor_
-    : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct bitxor_< N1,N2,N3,N4,na >
-
-    : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct bitxor_< N1,N2,N3,na,na >
-
-    : bitxor_< bitxor_< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct bitxor_< N1,N2,na,na,na >
-    : bitxor_impl<
-          typename bitxor_tag<N1>::type
-        , typename bitxor_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , bitxor_
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/deque.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/deque.hpp
deleted file mode 100755
index ede9716..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct deque;
-
-template<
-     
-    >
-struct deque<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct deque<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct deque<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct deque<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct deque<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct deque<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct deque<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct deque
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/divides.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/divides.hpp
deleted file mode 100755
index e2322d7..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/divides.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct divides_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct divides_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct divides
-    : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct divides< N1,N2,N3,N4,na >
-
-    : divides< divides< divides< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct divides< N1,N2,N3,na,na >
-
-    : divides< divides< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct divides< N1,N2,na,na,na >
-    : divides_impl<
-          typename divides_tag<N1>::type
-        , typename divides_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , divides
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  / BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/equal_to.hpp
deleted file mode 100755
index d108db4..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/equal_to.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct equal_to
-
-    : equal_to_impl<
-          typename equal_to_tag<N1>::type
-        , typename equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp
deleted file mode 100755
index 6d94f48..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl
-{
-    typedef fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,First,Last,State,ForwardOp >
-    : fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp
deleted file mode 100755
index 78cb47c..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp
+++ /dev/null
@@ -1,554 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-   
-    >
-struct lambda
-{
-    typedef false_ is_le;
-    typedef T result_;
-    typedef T type;
-};
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
-    typedef true_ is_le;
-    typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
-    typedef mpl::protect<result_> type;
-};
-
-template<
-      typename F
-    , typename Tag
-    >
-struct lambda<
-          bind0<F>
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind0<
-          F
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1
-{
-    typedef F<
-          typename L1::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1 > class F
-    , typename L1
-    >
-struct le_result1< true_,Tag,F,L1 >
-{
-    typedef bind1<
-          quote1< F,Tag >
-        , typename L1::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1 > class F
-    , typename T1
-    , typename Tag
-    >
-struct lambda<
-          F<T1>
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef typename l1::is_le is_le1;
-    typedef typename aux::lambda_or<
-          is_le1::value
-        >::type is_le;
-
-    typedef aux::le_result1<
-          is_le, Tag, F, l1
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1
-    , typename Tag
-    >
-struct lambda<
-          bind1< F,T1 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind1<
-          F
-        , T1
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2
-{
-    typedef F<
-          typename L1::type, typename L2::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2 > class F
-    , typename L1, typename L2
-    >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
-    typedef bind2<
-          quote2< F,Tag >
-        , typename L1::result_, typename L2::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value
-        >::type is_le;
-
-    typedef aux::le_result2<
-          is_le, Tag, F, l1, l2
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2
-    , typename Tag
-    >
-struct lambda<
-          bind2< F,T1,T2 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind2<
-          F
-        , T1, T2
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3 > class F
-    , typename L1, typename L2, typename L3
-    >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
-    typedef bind3<
-          quote3< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value
-        >::type is_le;
-
-    typedef aux::le_result3<
-          is_le, Tag, F, l1, l2, l3
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3
-    , typename Tag
-    >
-struct lambda<
-          bind3< F,T1,T2,T3 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind3<
-          F
-        , T1, T2, T3
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename L1, typename L2, typename L3, typename L4
-    >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
-    typedef bind4<
-          quote4< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        >::type is_le;
-
-    typedef aux::le_result4<
-          is_le, Tag, F, l1, l2, l3, l4
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename Tag
-    >
-struct lambda<
-          bind4< F,T1,T2,T3,T4 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind4<
-          F
-        , T1, T2, T3, T4
-        > result_;
-
-    typedef result_ type;
-};
-
-namespace aux {
-
-template<
-      typename IsLE, typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5
-{
-    typedef F<
-          typename L1::type, typename L2::type, typename L3::type
-        , typename L4::type, typename L5::type
-        > result_;
-
-    typedef result_ type;
-};
-
-template<
-      typename Tag
-    , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
-    , typename L1, typename L2, typename L3, typename L4, typename L5
-    >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
-    typedef bind5<
-          quote5< F,Tag >
-        , typename L1::result_, typename L2::result_, typename L3::result_
-        , typename L4::result_, typename L5::result_
-        > result_;
-
-    typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename T1, typename T2, typename T3, typename T4, typename T5
-    , typename Tag
-    >
-struct lambda<
-          F< T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef lambda< T1,Tag > l1;
-    typedef lambda< T2,Tag > l2;
-    typedef lambda< T3,Tag > l3;
-    typedef lambda< T4,Tag > l4;
-    typedef lambda< T5,Tag > l5;
-    
-    typedef typename l1::is_le is_le1;
-    typedef typename l2::is_le is_le2;
-    typedef typename l3::is_le is_le3;
-    typedef typename l4::is_le is_le4;
-    typedef typename l5::is_le is_le5;
-    
-
-    typedef typename aux::lambda_or<
-          is_le1::value, is_le2::value, is_le3::value, is_le4::value
-        , is_le5::value
-        >::type is_le;
-
-    typedef aux::le_result5<
-          is_le, Tag, F, l1, l2, l3, l4, l5
-        > le_result_;
-
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind5< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind5<
-          F
-        , T1, T2, T3, T4, T5
-        > result_;
-
-    typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
-    typedef false_ is_le;
-    typedef mpl::protect<T> result_;
-    typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
-      typename F, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    , typename Tag
-    >
-struct lambda<
-          bind< F,T1,T2,T3,T4,T5 >
-        , Tag
-       
-        >
-{
-    typedef false_ is_le;
-    typedef bind< F,T1,T2,T3,T4,T5 > result_;
-    typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
-      typename F, typename Tag1, typename Tag2
-    >
-struct lambda<
-          lambda< F,Tag1 >
-        , Tag2
-        >
-{
-    typedef lambda< F,Tag2 > l1;
-    typedef lambda< Tag1,Tag2 > l2;
-    typedef typename l1::is_le is_le;
-    typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
-    typedef typename le_result_::result_ result_;
-    typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/greater.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/greater.hpp
deleted file mode 100755
index 32f5165..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/greater.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater
-
-    : greater_impl<
-          typename greater_tag<N1>::type
-        , typename greater_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp
deleted file mode 100755
index 84da0aa..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct greater_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct greater_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct greater_equal
-
-    : greater_equal_impl<
-          typename greater_equal_tag<N1>::type
-        , typename greater_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/inherit.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/inherit.hpp
deleted file mode 100755
index 35eb35f..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/inherit.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct inherit2
-    : T1, T2
-{
-    typedef inherit2 type;
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
-    typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
-    typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
-    typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na
-    >
-struct inherit3
-    : inherit2<
-          typename inherit2<
-              T1, T2
-            >::type
-        , T3
-        >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    >
-struct inherit4
-    : inherit2<
-          typename inherit3<
-              T1, T2, T3
-            >::type
-        , T4
-        >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
-      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
-    , typename T5 = na
-    >
-struct inherit5
-    : inherit2<
-          typename inherit4<
-              T1, T2, T3, T4
-            >::type
-        , T5
-        >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
-      typename T1 = empty_base, typename T2 = empty_base
-    , typename T3 = empty_base, typename T4 = empty_base
-    , typename T5 = empty_base
-    >
-struct inherit
-    : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
-    template<
-
-          typename T1 = empty_base, typename T2 = empty_base
-        , typename T3 = empty_base, typename T4 = empty_base
-        , typename T5 = empty_base
-
-        >
-    struct apply
-        : inherit< T1,T2,T3,T4,T5 >
-    {
-    };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp
deleted file mode 100755
index 233e7dd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
-    typedef State state;
-    typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef typename apply2< StateOp,State,Iterator >::type state;
-        typedef typename IteratorOp::type iterator;
-    };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
-    template<
-          typename Iterator
-        , typename State
-        , typename StateOp
-        , typename IteratorOp
-        >
-    struct result_
-    {
-        typedef State state;
-        typedef Iterator iterator;
-    };
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_forward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename BackwardOp
-    , typename Predicate
-    >
-struct iter_fold_if_backward_step
-{
-    typedef typename apply2< Predicate,State,Iterator >::type not_last;
-    typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
-        >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
-    typedef typename impl_::state state;
-    typedef typename impl_::iterator iterator;
-};
-
-template<
-      typename Iterator
-    , typename State
-    , typename ForwardOp
-    , typename ForwardPredicate
-    , typename BackwardOp
-    , typename BackwardPredicate
-    >
-struct iter_fold_if_impl
-{
- private:
-    typedef iter_fold_if_null_step< Iterator,State > forward_step0;
-    typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
-    typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
-    typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
-    typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-    
-
-    typedef typename if_<
-          typename forward_step4::not_last
-        , iter_fold_if_impl<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            , ForwardOp
-            , ForwardPredicate
-            , BackwardOp
-            , BackwardPredicate
-            >
-        , iter_fold_if_null_step<
-              typename forward_step4::iterator
-            , typename forward_step4::state
-            >
-        >::type backward_step4;
-
-    typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
-    typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
-    typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
-    typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-    
-
- public:
-    typedef typename backward_step0::state state;
-    typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp
deleted file mode 100755
index f633d1b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef state1 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef state2 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef state3 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
-    typedef First iter0;
-    typedef State state0;
-    typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef state4 state;
-    typedef iter4 iterator;
-};
-
-template<
-      int N
-    , typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl
-{
-    typedef iter_fold_impl<
-          4
-        , First
-        , Last
-        , State
-        , ForwardOp
-        > chunk_;
-
-    typedef iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , typename chunk_::iterator
-        , Last
-        , typename chunk_::state
-        , ForwardOp
-        > res_;
-
-    typedef typename res_::state state;
-    typedef typename res_::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
-    : iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , ForwardOp
-        >
-{
-};
-
-template<
-      typename Last
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp
deleted file mode 100755
index 7786a11..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,228 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
-    , bool C5 = false
-    >
-struct lambda_or
-    : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
-    : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
-    template< typename T, typename Tag, typename Protect > struct result_
-    {
-        typedef T type;
-        typedef is_placeholder<T> is_le;
-    };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef typename l1::is_le is_le1;
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
-            > is_le;
-
-        typedef bind1<
-              typename F::rebind
-            , typename l1::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
-            > is_le;
-
-        typedef bind2<
-              typename F::rebind
-            , typename l1::type, typename l2::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
-            > is_le;
-
-        typedef bind3<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
-            > is_le;
-
-        typedef bind4<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
-    template< typename F, typename Tag, typename Protect > struct result_
-    {
-        typedef lambda< typename F::arg1, Tag, false_ > l1;
-        typedef lambda< typename F::arg2, Tag, false_ > l2;
-        typedef lambda< typename F::arg3, Tag, false_ > l3;
-        typedef lambda< typename F::arg4, Tag, false_ > l4;
-        typedef lambda< typename F::arg5, Tag, false_ > l5;
-        
-        typedef typename l1::is_le is_le1;
-        typedef typename l2::is_le is_le2;
-        typedef typename l3::is_le is_le3;
-        typedef typename l4::is_le is_le4;
-        typedef typename l5::is_le is_le5;
-        
-
-        typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
-            > is_le;
-
-        typedef bind5<
-              typename F::rebind
-            , typename l1::type, typename l2::type, typename l3::type
-            , typename l4::type, typename l5::type
-            > bind_;
-
-        typedef typename if_<
-              is_le
-            , if_< Protect, mpl::protect<bind_>, bind_ >
-            , identity<F>
-            >::type type_;
-
-        typedef typename type_::type type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename T
-    , typename Tag
-    , typename Protect
-    >
-struct lambda
-{
-    /// Metafunction forwarding confuses MSVC 6.x
-    typedef typename aux::template_arity<T>::type arity_;
-    typedef typename aux::lambda_impl<arity_>
-        ::template result_< T,Tag,Protect > l_;
-
-    typedef typename l_::type type;
-    typedef typename l_::is_le is_le;
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
-      typename T
-    >
-struct is_lambda_expression
-    : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/less.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/less.hpp
deleted file mode 100755
index a79d45b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/less.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less
-
-    : less_impl<
-          typename less_tag<N1>::type
-        , typename less_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/less_equal.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/less_equal.hpp
deleted file mode 100755
index 1a647e5..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/less_equal.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct less_equal_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct less_equal_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct less_equal
-
-    : less_equal_impl<
-          typename less_equal_tag<N1>::type
-        , typename less_equal_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/list.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/list.hpp
deleted file mode 100755
index 1dcd58b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct list;
-
-template<
-     
-    >
-struct list<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list0<  >
-{
-    typedef list0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct list<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list1<T0>
-{
-    typedef typename list1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct list<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list2< T0,T1 >
-{
-    typedef typename list2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct list<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list3< T0,T1,T2 >
-{
-    typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct list<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list4< T0,T1,T2,T3 >
-{
-    typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct list<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list5< T0,T1,T2,T3,T4 >
-{
-    typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : list15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : list16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : list17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : list18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct list<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : list19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct list
-    : list20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/list_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/list_c.hpp
deleted file mode 100755
index 578474e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct list_c;
-
-template<
-      typename T
-    >
-struct list_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list0_c<T>
-{
-    typedef typename list0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct list_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list1_c< T,C0 >
-{
-    typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct list_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list2_c< T,C0,C1 >
-{
-    typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct list_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list3_c< T,C0,C1,C2 >
-{
-    typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct list_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : list17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : list18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct list_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : list19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct list_c
-    : list20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/map.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/map.hpp
deleted file mode 100755
index 2f22291..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct map;
-
-template<
-     
-    >
-struct map<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map0<  >
-{
-    typedef map0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct map<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map1<T0>
-{
-    typedef typename map1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct map<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map2< T0,T1 >
-{
-    typedef typename map2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct map<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map3< T0,T1,T2 >
-{
-    typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct map<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map4< T0,T1,T2,T3 >
-{
-    typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct map<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map5< T0,T1,T2,T3,T4 >
-{
-    typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : map15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : map16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : map17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : map18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct map<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : map19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct map
-    : map20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/minus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/minus.hpp
deleted file mode 100755
index 394e904..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/minus.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct minus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct minus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct minus
-    : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct minus< N1,N2,N3,N4,na >
-
-    : minus< minus< minus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct minus< N1,N2,N3,na,na >
-
-    : minus< minus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct minus< N1,N2,na,na,na >
-    : minus_impl<
-          typename minus_tag<N1>::type
-        , typename minus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , minus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  - BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/modulus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/modulus.hpp
deleted file mode 100755
index 4d7e5d9..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/modulus.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct modulus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct modulus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct modulus
-
-    : modulus_impl<
-          typename modulus_tag<N1>::type
-        , typename modulus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  % BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp
deleted file mode 100755
index 9344fab..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct not_equal_to_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct not_equal_to_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct not_equal_to
-
-    : not_equal_to_impl<
-          typename not_equal_to_tag<N1>::type
-        , typename not_equal_to_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/or.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/or.hpp
deleted file mode 100755
index 35136b0..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/or.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
-    : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
-    : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4
-        , false_
-        >
-{
-};
-
-template<>
-struct or_impl<
-          false
-        , false_, false_, false_, false_
-        >
-    : false_
-{
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename T3 = false_, typename T4 = false_, typename T5 = false_
-    >
-struct or_
-
-    : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-        , T2, T3, T4, T5
-        >
-
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
-      2
-    , 5
-    , or_
-    )
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/placeholders.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/placeholders.hpp
deleted file mode 100755
index df5cb1d..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/plus.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/plus.hpp
deleted file mode 100755
index 461d470..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/plus.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct plus_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct plus_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct plus
-    : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct plus< N1,N2,N3,N4,na >
-
-    : plus< plus< plus< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct plus< N1,N2,N3,na,na >
-
-    : plus< plus< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct plus< N1,N2,na,na,na >
-    : plus_impl<
-          typename plus_tag<N1>::type
-        , typename plus_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , plus
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  + BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/quote.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/quote.hpp
deleted file mode 100755
index 4b4e539..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/quote.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename T, bool has_type_ >
-struct quote_impl
-    : T
-{
-};
-
-template< typename T >
-struct quote_impl< T,false >
-{
-    typedef T type;
-};
-
-template<
-      template< typename P1 > class F
-    , typename Tag = void_
-    >
-struct quote1
-{
-    template< typename U1 > struct apply
-
-        : quote_impl<
-              F<U1>
-            , aux::has_type< F<U1> >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2 > class F
-    , typename Tag = void_
-    >
-struct quote2
-{
-    template< typename U1, typename U2 > struct apply
-
-        : quote_impl<
-              F< U1,U2 >
-            , aux::has_type< F< U1,U2 > >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3 > class F
-    , typename Tag = void_
-    >
-struct quote3
-{
-    template< typename U1, typename U2, typename U3 > struct apply
-
-        : quote_impl<
-              F< U1,U2,U3 >
-            , aux::has_type< F< U1,U2,U3 > >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template< typename P1, typename P2, typename P3, typename P4 > class F
-    , typename Tag = void_
-    >
-struct quote4
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        >
-    struct apply
-
-        : quote_impl<
-              F< U1,U2,U3,U4 >
-            , aux::has_type< F< U1,U2,U3,U4 > >::value
-            >
-
-    {
-    };
-};
-
-template<
-      template<
-          typename P1, typename P2, typename P3, typename P4
-        , typename P5
-        >
-      class F
-    , typename Tag = void_
-    >
-struct quote5
-{
-    template<
-          typename U1, typename U2, typename U3, typename U4
-        , typename U5
-        >
-    struct apply
-
-        : quote_impl<
-              F< U1,U2,U3,U4,U5 >
-            , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
-            >
-
-    {
-    };
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp
deleted file mode 100755
index 1c4364a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef fwd_state0 bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef fwd_state1 bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef fwd_state2 bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef fwd_state3 bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef fwd_state4 bkwd_state4;
-    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter4 iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef reverse_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , iter4
-        , Last
-        , fwd_state4
-        , BackwardOp
-        , ForwardOp
-        > nested_chunk;
-
-    typedef typename nested_chunk::state bkwd_state4;
-    typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
-    typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
-    typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
-    typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef typename nested_chunk::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef reverse_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State, typename deref<First>::type>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , typename deref<First>::type
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp
deleted file mode 100755
index f06c88b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl;
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef fwd_state0 bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter0 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    
-
-    typedef fwd_state1 bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    typedef bkwd_state0 state;
-    typedef iter1 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    
-
-    typedef fwd_state2 bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter2 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    
-
-    typedef fwd_state3 bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter3 iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef fwd_state4 bkwd_state4;
-    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef iter4 iterator;
-};
-
-template<
-      long N
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-    typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
-    typedef typename mpl::next<iter0>::type iter1;
-    typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
-    typedef typename mpl::next<iter1>::type iter2;
-    typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
-    typedef typename mpl::next<iter2>::type iter3;
-    typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
-    typedef typename mpl::next<iter3>::type iter4;
-    
-
-    typedef reverse_iter_fold_impl<
-          ( (N - 4) < 0 ? 0 : N - 4 )
-        , iter4
-        , Last
-        , fwd_state4
-        , BackwardOp
-        , ForwardOp
-        > nested_chunk;
-
-    typedef typename nested_chunk::state bkwd_state4;
-    typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
-    typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
-    typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
-    typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-    
-
-    typedef bkwd_state0 state;
-    typedef typename nested_chunk::iterator iterator;
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
-    typedef reverse_iter_fold_impl<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2< ForwardOp,State,First >::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , First
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-}}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/set.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/set.hpp
deleted file mode 100755
index b7e3f0b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct set;
-
-template<
-     
-    >
-struct set<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set0<  >
-{
-    typedef set0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct set<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set1<T0>
-{
-    typedef typename set1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct set<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set2< T0,T1 >
-{
-    typedef typename set2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct set<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set3< T0,T1,T2 >
-{
-    typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct set<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set4< T0,T1,T2,T3 >
-{
-    typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct set<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set5< T0,T1,T2,T3,T4 >
-{
-    typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : set15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : set16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : set17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : set18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct set<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : set19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct set
-    : set20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/set_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/set_c.hpp
deleted file mode 100755
index acdf68b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct set_c;
-
-template<
-      typename T
-    >
-struct set_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set0_c<T>
-{
-    typedef typename set0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct set_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set1_c< T,C0 >
-{
-    typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct set_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set2_c< T,C0,C1 >
-{
-    typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct set_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set3_c< T,C0,C1,C2 >
-{
-    typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct set_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set4_c< T,C0,C1,C2,C3 >
-{
-    typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set5_c< T,C0,C1,C2,C3,C4 >
-{
-    typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
-    typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
-    typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
-    typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
-    typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
-    typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
-    typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
-    typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
-    typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set14_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        >
-{
-    typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set15_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        >
-{
-    typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set16_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15
-        >
-{
-    typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : set17_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16
-        >
-{
-    typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : set18_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17
-        >
-{
-    typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct set_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : set19_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18
-        >
-{
-    typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct set_c
-    : set20_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, C19
-        >
-{
-    typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/shift_left.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/shift_left.hpp
deleted file mode 100755
index 376c5d5..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/shift_left.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_left_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_left_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_left
-
-    : shift_left_impl<
-          typename shift_left_tag<N1>::type
-        , typename shift_left_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/shift_right.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/shift_right.hpp
deleted file mode 100755
index 2abc42a..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/shift_right.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct shift_right_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct shift_right_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct shift_right
-
-    : shift_right_impl<
-          typename shift_right_tag<N1>::type
-        , typename shift_right_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N, typename S > struct apply
-
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/template_arity.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/template_arity.hpp
deleted file mode 100755
index 03f2dbd..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/template_arity.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/times.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/times.hpp
deleted file mode 100755
index 685f246..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/times.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename Tag1
-    , typename Tag2
-    >
-struct times_impl
-    : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
-            )
-
-        , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
-        , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
-        >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
-    template< typename U1, typename U2 > struct apply
-    {
-        typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
-    };
-};
-
-template< typename T > struct times_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    , typename N3 = na, typename N4 = na, typename N5 = na
-    >
-struct times
-    : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
-      typename N1, typename N2, typename N3, typename N4
-    >
-struct times< N1,N2,N3,N4,na >
-
-    : times< times< times< N1,N2 >, N3>, N4>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, N4, na )
-        )
-};
-
-template<
-      typename N1, typename N2, typename N3
-    >
-struct times< N1,N2,N3,na,na >
-
-    : times< times< N1,N2 >, N3>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, N3, na, na )
-        )
-};
-
-template<
-      typename N1, typename N2
-    >
-struct times< N1,N2,na,na,na >
-    : times_impl<
-          typename times_tag<N1>::type
-        , typename times_tag<N2>::type
-        >::template apply< N1,N2 >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
-          5
-        , times
-        , ( N1, N2, na, na, na )
-        )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
-    template< typename N1, typename N2 > struct apply
-
-        : integral_c<
-              typename aux::largest_int<
-                  typename N1::value_type
-                , typename N2::value_type
-                >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  * BOOST_MPL_AUX_VALUE_WKND(N2)::value
-                )
-            >
-    {
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp
deleted file mode 100755
index 7f8c577..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
-    : apply0<
-          F
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
-    : apply1<
-          F
-        , typename at_c< Args,0 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
-    : apply2<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
-    : apply3<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
-    : apply4<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
-    : apply5<
-          F
-        , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
-        , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
-        , typename at_c< Args,4 >::type
-        >
-{
-};
-
-}
-
-template<
-      typename F
-    >
-struct unpack_args
-{
-    template< typename Args > struct apply
-
-        : aux::unpack_args_impl< size<Args>::value,F, Args >
-
-    {
-    };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/vector.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/vector.hpp
deleted file mode 100755
index d1da8b1..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
-    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
-    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
-    , typename T12 = na, typename T13 = na, typename T14 = na
-    , typename T15 = na, typename T16 = na, typename T17 = na
-    , typename T18 = na, typename T19 = na
-    >
-struct vector;
-
-template<
-     
-    >
-struct vector<
-          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector0<  >
-{
-    typedef vector0<  >::type type;
-};
-
-template<
-      typename T0
-    >
-struct vector<
-          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector1<T0>
-{
-    typedef typename vector1<T0>::type type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct vector<
-          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector2< T0,T1 >
-{
-    typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct vector<
-          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector3< T0,T1,T2 >
-{
-    typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct vector<
-          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector4< T0,T1,T2,T3 >
-{
-    typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct vector<
-          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector5< T0,T1,T2,T3,T4 >
-{
-    typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector6< T0,T1,T2,T3,T4,T5 >
-{
-    typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
-    typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
-    typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
-    typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
-    typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
-        , na, na, na
-        >
-    : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
-    typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
-        , na, na, na, na
-        >
-    : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
-    typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
-        , na, na, na, na
-        >
-    : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
-    typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
-        , na, na, na, na
-        >
-    : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
-    typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
-        , na, na, na, na
-        >
-    : vector15<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        >
-{
-    typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, na, na, na, na
-        >
-    : vector16<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15
-        >
-{
-    typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, na, na, na
-        >
-    : vector17<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16
-        >
-{
-    typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, na, na
-        >
-    : vector18<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17
-        >
-{
-    typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct vector<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, na
-        >
-    : vector19<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18
-        >
-{
-    typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector
-    : vector20<
-          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
-        , T15, T16, T17, T18, T19
-        >
-{
-    typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/vector_c.hpp b/SRC/Boost/boost/mpl/aux_/preprocessed/plain/vector_c.hpp
deleted file mode 100755
index ce33340..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessed/plain/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
-    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
-    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
-    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
-    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
-    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
-    , long C18 = LONG_MAX, long C19 = LONG_MAX
-    >
-struct vector_c;
-
-template<
-      typename T
-    >
-struct vector_c<
-          T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector0_c<T>
-{
-    typedef typename vector0_c<T>::type type;
-};
-
-template<
-      typename T, long C0
-    >
-struct vector_c<
-          T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector1_c< T, T(C0) >
-{
-    typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
-      typename T, long C0, long C1
-    >
-struct vector_c<
-          T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector2_c< T, T(C0), T(C1) >
-{
-    typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2
-    >
-struct vector_c<
-          T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector3_c< T, T(C0), T(C1), T(C2) >
-{
-    typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
-    typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
-    typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
-    typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
-    typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX
-        >
-    : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
-    typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
-    typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        , LONG_MAX
-        >
-    : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
-    typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
-    typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
-    typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
-    typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
-    typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
-    typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
-    typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
-        >
-    : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
-    typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, LONG_MAX, LONG_MAX
-        >
-    : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
-    typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18
-    >
-struct vector_c<
-          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
-        , C15, C16, C17, C18, LONG_MAX
-        >
-    : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
-    typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
-      typename T, long C0, long C1, long C2, long C3, long C4, long C5
-    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
-    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
-    >
-struct vector_c
-    : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
-    typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessor/add.hpp b/SRC/Boost/boost/mpl/aux_/preprocessor/add.hpp
deleted file mode 100755
index 727e06b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessor/add.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: add.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-#   include <boost/mpl/aux_/preprocessor/tuple.hpp>
-
-#if defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION)
-#   include <boost/preprocessor/cat.hpp>
-
-#   define BOOST_MPL_PP_ADD(i,j) \
-    BOOST_MPL_PP_ADD_DELAY(i,j) \
-    /**/
-
-#   define BOOST_MPL_PP_ADD_DELAY(i,j) \
-    BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_ADD_##j) \
-    /**/
-#else
-#   define BOOST_MPL_PP_ADD(i,j) \
-    BOOST_MPL_PP_ADD_DELAY(i,j) \
-    /**/
-
-#   define BOOST_MPL_PP_ADD_DELAY(i,j) \
-    BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_ADD_##j \
-    /**/
-#endif
-
-#   define BOOST_MPL_PP_ADD_0 (0,1,2,3,4,5,6,7,8,9,10)
-#   define BOOST_MPL_PP_ADD_1 (1,2,3,4,5,6,7,8,9,10,0)
-#   define BOOST_MPL_PP_ADD_2 (2,3,4,5,6,7,8,9,10,0,0)
-#   define BOOST_MPL_PP_ADD_3 (3,4,5,6,7,8,9,10,0,0,0)
-#   define BOOST_MPL_PP_ADD_4 (4,5,6,7,8,9,10,0,0,0,0)
-#   define BOOST_MPL_PP_ADD_5 (5,6,7,8,9,10,0,0,0,0,0)
-#   define BOOST_MPL_PP_ADD_6 (6,7,8,9,10,0,0,0,0,0,0)
-#   define BOOST_MPL_PP_ADD_7 (7,8,9,10,0,0,0,0,0,0,0)
-#   define BOOST_MPL_PP_ADD_8 (8,9,10,0,0,0,0,0,0,0,0)
-#   define BOOST_MPL_PP_ADD_9 (9,10,0,0,0,0,0,0,0,0,0)
-#   define BOOST_MPL_PP_ADD_10 (10,0,0,0,0,0,0,0,0,0,0)
-
-#else
-
-#   include <boost/preprocessor/arithmetic/add.hpp>
-
-#   define BOOST_MPL_PP_ADD(i,j) \
-    BOOST_PP_ADD(i,j) \
-    /**/
-    
-#endif 
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessor/def_params_tail.hpp b/SRC/Boost/boost/mpl/aux_/preprocessor/def_params_tail.hpp
deleted file mode 100755
index a40b85e..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessor/def_params_tail.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: def_params_tail.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/limits/arity.hpp>
-#include <boost/mpl/aux_/config/dtp.hpp>
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-#include <boost/preprocessor/comma_if.hpp>
-#include <boost/preprocessor/logical/and.hpp>
-#include <boost/preprocessor/identity.hpp>
-#include <boost/preprocessor/empty.hpp>
-
-// BOOST_MPL_PP_DEF_PARAMS_TAIL(1,T,value): , T1 = value, .., Tn = value
-// BOOST_MPL_PP_DEF_PARAMS_TAIL(2,T,value): , T2 = value, .., Tn = value
-// BOOST_MPL_PP_DEF_PARAMS_TAIL(n,T,value): <nothing>
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-#   include <boost/mpl/aux_/preprocessor/filter_params.hpp>
-#   include <boost/mpl/aux_/preprocessor/sub.hpp>
-
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \
-    BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1( \
-          i \
-        , BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,i) \
-        , param \
-        , value_func \
-        ) \
-    /**/
-
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1(i, n, param, value_func) \
-    BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i,n,param,value_func) \
-    /**/
-
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i, n, param, value_func) \
-    BOOST_PP_COMMA_IF(BOOST_PP_AND(i,n)) \
-    BOOST_MPL_PP_DEF_PARAMS_TAIL_##i(n,param,value_func) \
-    /**/
-
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_0(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1 v(),p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v())
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_1(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_2(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_3(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_4(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_5(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_6(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_7(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6,p7)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_8(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9 v(),p1,p2,p3,p4,p5,p6,p7,p8)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_9(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p1,p2,p3,p4,p5,p6,p7,p8,p9)
-
-#else
-
-#   include <boost/preprocessor/arithmetic/add.hpp>
-#   include <boost/preprocessor/arithmetic/sub.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/tuple/elem.hpp>
-#   include <boost/preprocessor/repeat.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-#   define BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC(unused, i, op) \
-    , BOOST_PP_CAT( \
-          BOOST_PP_TUPLE_ELEM(3, 1, op) \
-        , BOOST_PP_ADD_D(1, i, BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(3, 0, op))) \
-        ) BOOST_PP_TUPLE_ELEM(3, 2, op)() \
-    /**/
-
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \
-    BOOST_PP_REPEAT( \
-          BOOST_PP_SUB_D(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, i) \
-        , BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC \
-        , (i, param, value_func) \
-        ) \
-    /**/
-
-
-#endif // BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES
-
-#define BOOST_MPL_PP_DEF_PARAMS_TAIL(i, param, value) \
-    BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \
-    /**/
-
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-#   define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \
-    BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \
-    /**/
-#else
-#   define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \
-    BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_EMPTY) \
-    /**/
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessor/default_params.hpp b/SRC/Boost/boost/mpl/aux_/preprocessor/default_params.hpp
deleted file mode 100755
index 54dc347..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessor/default_params.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: default_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-// BOOST_MPL_PP_DEFAULT_PARAMS(0,T,int): <nothing>
-// BOOST_MPL_PP_DEFAULT_PARAMS(1,T,int): T1 = int
-// BOOST_MPL_PP_DEFAULT_PARAMS(2,T,int): T1 = int, T2 = int
-// BOOST_MPL_PP_DEFAULT_PARAMS(n,T,int): T1 = int, T2 = int, .., Tn = int
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-#   include <boost/preprocessor/cat.hpp>
-
-#   define BOOST_MPL_PP_DEFAULT_PARAMS(n,p,v) \
-    BOOST_PP_CAT(BOOST_MPL_PP_DEFAULT_PARAMS_,n)(p,v) \
-    /**/
-    
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_0(p,v)
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_1(p,v) p##1=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_2(p,v) p##1=v,p##2=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_3(p,v) p##1=v,p##2=v,p##3=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_4(p,v) p##1=v,p##2=v,p##3=v,p##4=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_5(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_6(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_7(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_8(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_9(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v,p##9=v
-
-#else
-
-#   include <boost/preprocessor/tuple/elem.hpp>
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/repeat.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-#   define BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC(unused, i, pv) \
-    BOOST_PP_COMMA_IF(i) \
-    BOOST_PP_CAT( BOOST_PP_TUPLE_ELEM(2,0,pv), BOOST_PP_INC(i) ) \
-        = BOOST_PP_TUPLE_ELEM(2,1,pv) \
-    /**/
-
-#   define BOOST_MPL_PP_DEFAULT_PARAMS(n, param, value) \
-    BOOST_PP_REPEAT( \
-          n \
-        , BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC \
-        , (param,value) \
-        ) \
-    /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessor/enum.hpp b/SRC/Boost/boost/mpl/aux_/preprocessor/enum.hpp
deleted file mode 100755
index 8c90859..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessor/enum.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: enum.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-// BOOST_MPL_PP_ENUM(0,int): <nothing>
-// BOOST_MPL_PP_ENUM(1,int): int
-// BOOST_MPL_PP_ENUM(2,int): int, int
-// BOOST_MPL_PP_ENUM(n,int): int, int, .., int
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-#   include <boost/preprocessor/cat.hpp>
-
-#   define BOOST_MPL_PP_ENUM(n, param) \
-    BOOST_PP_CAT(BOOST_MPL_PP_ENUM_,n)(param) \
-    /**/
-    
-#   define BOOST_MPL_PP_ENUM_0(p)
-#   define BOOST_MPL_PP_ENUM_1(p) p
-#   define BOOST_MPL_PP_ENUM_2(p) p,p
-#   define BOOST_MPL_PP_ENUM_3(p) p,p,p
-#   define BOOST_MPL_PP_ENUM_4(p) p,p,p,p
-#   define BOOST_MPL_PP_ENUM_5(p) p,p,p,p,p
-#   define BOOST_MPL_PP_ENUM_6(p) p,p,p,p,p,p
-#   define BOOST_MPL_PP_ENUM_7(p) p,p,p,p,p,p,p
-#   define BOOST_MPL_PP_ENUM_8(p) p,p,p,p,p,p,p,p
-#   define BOOST_MPL_PP_ENUM_9(p) p,p,p,p,p,p,p,p,p
-
-#else
-
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/repeat.hpp>
-
-#   define BOOST_MPL_PP_AUX_ENUM_FUNC(unused, i, param) \
-    BOOST_PP_COMMA_IF(i) param \
-    /**/
-
-#   define BOOST_MPL_PP_ENUM(n, param) \
-    BOOST_PP_REPEAT( \
-          n \
-        , BOOST_MPL_PP_AUX_ENUM_FUNC \
-        , param \
-        ) \
-    /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessor/ext_params.hpp b/SRC/Boost/boost/mpl/aux_/preprocessor/ext_params.hpp
deleted file mode 100755
index c32eb86..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessor/ext_params.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: ext_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-// BOOST_MPL_PP_EXT_PARAMS(2,2,T): <nothing>
-// BOOST_MPL_PP_EXT_PARAMS(2,3,T): T2
-// BOOST_MPL_PP_EXT_PARAMS(2,4,T): T2, T3
-// BOOST_MPL_PP_EXT_PARAMS(2,n,T): T2, T3, .., Tn-1
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-#   include <boost/mpl/aux_/preprocessor/filter_params.hpp>
-#   include <boost/mpl/aux_/preprocessor/sub.hpp>
-
-#   define BOOST_MPL_PP_EXT_PARAMS(i,j,p) \
-    BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,BOOST_MPL_PP_SUB(j,i),p) \
-    /**/
-
-#   define BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,n,p) \
-    BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \
-    /**/
-
-#   define BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \
-    BOOST_MPL_PP_EXT_PARAMS_##i(n,p) \
-    /**/
-
-#   define BOOST_MPL_PP_EXT_PARAMS_1(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9)
-#   define BOOST_MPL_PP_EXT_PARAMS_2(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1)
-#   define BOOST_MPL_PP_EXT_PARAMS_3(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1,p2)
-#   define BOOST_MPL_PP_EXT_PARAMS_4(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4,p##5,p##6,p##7,p##8,p##9,p1,p2,p3)
-#   define BOOST_MPL_PP_EXT_PARAMS_5(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5,p##6,p##7,p##8,p##9,p1,p2,p3,p4)
-#   define BOOST_MPL_PP_EXT_PARAMS_6(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6,p##7,p##8,p##9,p1,p2,p3,p4,p5)
-#   define BOOST_MPL_PP_EXT_PARAMS_7(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7,p##8,p##9,p1,p2,p3,p4,p5,p6)
-#   define BOOST_MPL_PP_EXT_PARAMS_8(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8,p##9,p1,p2,p3,p4,p5,p6,p7)
-#   define BOOST_MPL_PP_EXT_PARAMS_9(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9,p1,p2,p3,p4,p5,p6,p7,p8)
-
-#else
-
-#   include <boost/preprocessor/arithmetic/add.hpp>
-#   include <boost/preprocessor/arithmetic/sub.hpp>
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/repeat.hpp>
-#   include <boost/preprocessor/tuple/elem.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-#   define BOOST_MPL_PP_AUX_EXT_PARAM_FUNC(unused, i, op) \
-    BOOST_PP_COMMA_IF(i) \
-    BOOST_PP_CAT( \
-          BOOST_PP_TUPLE_ELEM(2,1,op) \
-        , BOOST_PP_ADD_D(1, i, BOOST_PP_TUPLE_ELEM(2,0,op)) \
-        ) \
-    /**/
-
-#   define BOOST_MPL_PP_EXT_PARAMS(i, j, param) \
-    BOOST_PP_REPEAT( \
-          BOOST_PP_SUB_D(1,j,i) \
-        , BOOST_MPL_PP_AUX_EXT_PARAM_FUNC \
-        , (i,param) \
-        ) \
-    /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessor/filter_params.hpp b/SRC/Boost/boost/mpl/aux_/preprocessor/filter_params.hpp
deleted file mode 100755
index dbbfed3..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessor/filter_params.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: filter_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#define BOOST_MPL_PP_FILTER_PARAMS_0(p1,p2,p3,p4,p5,p6,p7,p8,p9) 
-#define BOOST_MPL_PP_FILTER_PARAMS_1(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1
-#define BOOST_MPL_PP_FILTER_PARAMS_2(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2
-#define BOOST_MPL_PP_FILTER_PARAMS_3(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3
-#define BOOST_MPL_PP_FILTER_PARAMS_4(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4
-#define BOOST_MPL_PP_FILTER_PARAMS_5(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5
-#define BOOST_MPL_PP_FILTER_PARAMS_6(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6
-#define BOOST_MPL_PP_FILTER_PARAMS_7(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7
-#define BOOST_MPL_PP_FILTER_PARAMS_8(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8
-#define BOOST_MPL_PP_FILTER_PARAMS_9(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8,p9
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessor/params.hpp b/SRC/Boost/boost/mpl/aux_/preprocessor/params.hpp
deleted file mode 100755
index 24f3071..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessor/params.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-// BOOST_MPL_PP_PARAMS(0,T): <nothing>
-// BOOST_MPL_PP_PARAMS(1,T): T1
-// BOOST_MPL_PP_PARAMS(2,T): T1, T2
-// BOOST_MPL_PP_PARAMS(n,T): T1, T2, .., Tn
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-#   include <boost/preprocessor/cat.hpp>
-
-#   define BOOST_MPL_PP_PARAMS(n,p) \
-    BOOST_PP_CAT(BOOST_MPL_PP_PARAMS_,n)(p) \
-    /**/
-
-#   define BOOST_MPL_PP_PARAMS_0(p)
-#   define BOOST_MPL_PP_PARAMS_1(p) p##1
-#   define BOOST_MPL_PP_PARAMS_2(p) p##1,p##2
-#   define BOOST_MPL_PP_PARAMS_3(p) p##1,p##2,p##3
-#   define BOOST_MPL_PP_PARAMS_4(p) p##1,p##2,p##3,p##4
-#   define BOOST_MPL_PP_PARAMS_5(p) p##1,p##2,p##3,p##4,p##5
-#   define BOOST_MPL_PP_PARAMS_6(p) p##1,p##2,p##3,p##4,p##5,p##6
-#   define BOOST_MPL_PP_PARAMS_7(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7
-#   define BOOST_MPL_PP_PARAMS_8(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8
-#   define BOOST_MPL_PP_PARAMS_9(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9
-
-#else
-
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/repeat.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-#   define BOOST_MPL_PP_AUX_PARAM_FUNC(unused, i, param) \
-    BOOST_PP_COMMA_IF(i) \
-    BOOST_PP_CAT(param, BOOST_PP_INC(i)) \
-    /**/
-
-#   define BOOST_MPL_PP_PARAMS(n, param) \
-    BOOST_PP_REPEAT( \
-          n \
-        , BOOST_MPL_PP_AUX_PARAM_FUNC \
-        , param \
-        ) \
-    /**/
-
-#endif 
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessor/partial_spec_params.hpp b/SRC/Boost/boost/mpl/aux_/preprocessor/partial_spec_params.hpp
deleted file mode 100755
index a52d9c6..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessor/partial_spec_params.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: partial_spec_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/limits/arity.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/preprocessor/enum.hpp>
-#include <boost/mpl/aux_/preprocessor/sub.hpp>
-#include <boost/preprocessor/comma_if.hpp>
-
-#define BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \
-BOOST_MPL_PP_PARAMS(n, param) \
-BOOST_PP_COMMA_IF(BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,n)) \
-BOOST_MPL_PP_ENUM( \
-      BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,n) \
-    , def \
-    ) \
-/**/
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessor/range.hpp b/SRC/Boost/boost/mpl/aux_/preprocessor/range.hpp
deleted file mode 100755
index a4b2be5..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessor/range.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: range.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/preprocessor/seq/subseq.hpp>
-
-#define BOOST_MPL_PP_RANGE(first, length) \
-    BOOST_PP_SEQ_SUBSEQ((0)(1)(2)(3)(4)(5)(6)(7)(8)(9), first, length) \
-/**/
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessor/repeat.hpp b/SRC/Boost/boost/mpl/aux_/preprocessor/repeat.hpp
deleted file mode 100755
index 556a235..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessor/repeat.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: repeat.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-#   include <boost/preprocessor/cat.hpp>
-
-#   define BOOST_MPL_PP_REPEAT(n,f,param) \
-    BOOST_PP_CAT(BOOST_MPL_PP_REPEAT_,n)(f,param) \
-    /**/
-    
-#   define BOOST_MPL_PP_REPEAT_0(f,p)
-#   define BOOST_MPL_PP_REPEAT_1(f,p) f(0,0,p)
-#   define BOOST_MPL_PP_REPEAT_2(f,p) f(0,0,p) f(0,1,p)
-#   define BOOST_MPL_PP_REPEAT_3(f,p) f(0,0,p) f(0,1,p) f(0,2,p)
-#   define BOOST_MPL_PP_REPEAT_4(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p)
-#   define BOOST_MPL_PP_REPEAT_5(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p)
-#   define BOOST_MPL_PP_REPEAT_6(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p)
-#   define BOOST_MPL_PP_REPEAT_7(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p)
-#   define BOOST_MPL_PP_REPEAT_8(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p)
-#   define BOOST_MPL_PP_REPEAT_9(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p)
-#   define BOOST_MPL_PP_REPEAT_10(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p) f(0,9,p)
-
-#else 
-
-#   include <boost/preprocessor/repeat.hpp>
-
-#   define BOOST_MPL_PP_REPEAT(n,f,param) \
-    BOOST_PP_REPEAT(n,f,param) \
-    /**/
-
-#endif 
-
-#define BOOST_MPL_PP_REPEAT_IDENTITY_FUNC(unused1, unused2, x) x
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessor/sub.hpp b/SRC/Boost/boost/mpl/aux_/preprocessor/sub.hpp
deleted file mode 100755
index 3819399..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessor/sub.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: sub.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-#   include <boost/mpl/aux_/preprocessor/tuple.hpp>
-
-#if defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION)
-#   include <boost/preprocessor/cat.hpp>
-
-#   define BOOST_MPL_PP_SUB(i,j) \
-    BOOST_MPL_PP_SUB_DELAY(i,j) \
-    /**/
-
-#   define BOOST_MPL_PP_SUB_DELAY(i,j) \
-    BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_SUB_##j) \
-    /**/
-#else
-#   define BOOST_MPL_PP_SUB(i,j) \
-    BOOST_MPL_PP_SUB_DELAY(i,j) \
-    /**/
-
-#   define BOOST_MPL_PP_SUB_DELAY(i,j) \
-    BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_SUB_##j \
-    /**/
-#endif
-
-#   define BOOST_MPL_PP_SUB_0 (0,1,2,3,4,5,6,7,8,9,10)
-#   define BOOST_MPL_PP_SUB_1 (0,0,1,2,3,4,5,6,7,8,9)
-#   define BOOST_MPL_PP_SUB_2 (0,0,0,1,2,3,4,5,6,7,8)
-#   define BOOST_MPL_PP_SUB_3 (0,0,0,0,1,2,3,4,5,6,7)
-#   define BOOST_MPL_PP_SUB_4 (0,0,0,0,0,1,2,3,4,5,6)
-#   define BOOST_MPL_PP_SUB_5 (0,0,0,0,0,0,1,2,3,4,5)
-#   define BOOST_MPL_PP_SUB_6 (0,0,0,0,0,0,0,1,2,3,4)
-#   define BOOST_MPL_PP_SUB_7 (0,0,0,0,0,0,0,0,1,2,3)
-#   define BOOST_MPL_PP_SUB_8 (0,0,0,0,0,0,0,0,0,1,2)
-#   define BOOST_MPL_PP_SUB_9 (0,0,0,0,0,0,0,0,0,0,1)
-#   define BOOST_MPL_PP_SUB_10 (0,0,0,0,0,0,0,0,0,0,0)
-
-#else
-
-#   include <boost/preprocessor/arithmetic/sub.hpp>
-
-#   define BOOST_MPL_PP_SUB(i,j) \
-    BOOST_PP_SUB(i,j) \
-    /**/
-    
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/preprocessor/tuple.hpp b/SRC/Boost/boost/mpl/aux_/preprocessor/tuple.hpp
deleted file mode 100755
index ddaec8b..0000000
--- a/SRC/Boost/boost/mpl/aux_/preprocessor/tuple.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: tuple.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#define BOOST_MPL_PP_TUPLE_11_ELEM_0(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e0
-#define BOOST_MPL_PP_TUPLE_11_ELEM_1(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e1
-#define BOOST_MPL_PP_TUPLE_11_ELEM_2(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e2
-#define BOOST_MPL_PP_TUPLE_11_ELEM_3(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e3
-#define BOOST_MPL_PP_TUPLE_11_ELEM_4(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e4
-#define BOOST_MPL_PP_TUPLE_11_ELEM_5(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e5
-#define BOOST_MPL_PP_TUPLE_11_ELEM_6(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e6
-#define BOOST_MPL_PP_TUPLE_11_ELEM_7(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e7
-#define BOOST_MPL_PP_TUPLE_11_ELEM_8(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e8
-#define BOOST_MPL_PP_TUPLE_11_ELEM_9(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e9
-#define BOOST_MPL_PP_TUPLE_11_ELEM_10(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e10
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/ptr_to_ref.hpp b/SRC/Boost/boost/mpl/aux_/ptr_to_ref.hpp
deleted file mode 100755
index d4f7352..0000000
--- a/SRC/Boost/boost/mpl/aux_/ptr_to_ref.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PTR_TO_REF_HPP_INCLUDED
-#define BOOST_MPL_AUX_PTR_TO_REF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: ptr_to_ref.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/static_cast.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
-    ||  ( BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \
-        && !(defined(__STD_STRICT_ANSI) \
-            || defined(__STD_STRICT_ANSI_ERRORS)) )
-
-#   define BOOST_MPL_AUX_PTR_TO_REF(X) \
-    *BOOST_MPL_AUX_STATIC_CAST(X*, 0) \
-/**/
-
-#else
-
-#   define BOOST_MPL_AUX_PTR_TO_REF(X) \
-    aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(X*, 0)) \
-/**/
-
-#endif
-
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename T > static T const& ptr_to_ref(T*);
-
-}}}
-
-#endif // BOOST_MPL_AUX_PTR_TO_REF_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/push_back_impl.hpp b/SRC/Boost/boost/mpl/aux_/push_back_impl.hpp
deleted file mode 100755
index f5d8045..0000000
--- a/SRC/Boost/boost/mpl/aux_/push_back_impl.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: push_back_impl.hpp 55679 2009-08-20 07:50:16Z agurtovoy $
-// $Date: 2009-08-20 03:50:16 -0400 (Thu, 20 Aug 2009) $
-// $Revision: 55679 $
-
-#include <boost/mpl/push_back_fwd.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/aux_/has_type.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-struct has_push_back_arg {};
-
-// agurt 05/feb/04: no default implementation; the stub definition is needed 
-// to enable the default 'has_push_back' implementation below
-template< typename Tag >
-struct push_back_impl
-{
-    template< typename Sequence, typename T > struct apply
-    {
-        // should be instantiated only in the context of 'has_push_back_impl';
-        // if you've got an assert here, you are requesting a 'push_back' 
-        // specialization that doesn't exist.
-        BOOST_MPL_ASSERT_MSG(
-              ( boost::is_same< T, has_push_back_arg >::value )
-            , REQUESTED_PUSH_BACK_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST
-            , ( Sequence )
-            );
-    };
-};
-
-template< typename Tag >
-struct has_push_back_impl
-{
-    template< typename Seq > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : aux::has_type< push_back< Seq, has_push_back_arg > >
-    {
-#else
-    {
-        typedef aux::has_type< push_back< Seq, has_push_back_arg > > type;
-        BOOST_STATIC_CONSTANT(bool, value = 
-              (aux::has_type< push_back< Seq, has_push_back_arg > >::value)
-            );
-#endif
-    };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_back_impl)
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_back_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/push_front_impl.hpp b/SRC/Boost/boost/mpl/aux_/push_front_impl.hpp
deleted file mode 100755
index 9e3fd82..0000000
--- a/SRC/Boost/boost/mpl/aux_/push_front_impl.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: push_front_impl.hpp 55679 2009-08-20 07:50:16Z agurtovoy $
-// $Date: 2009-08-20 03:50:16 -0400 (Thu, 20 Aug 2009) $
-// $Revision: 55679 $
-
-#include <boost/mpl/push_front_fwd.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/aux_/has_type.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-struct has_push_front_arg {};
-
-// agurt 05/feb/04: no default implementation; the stub definition is needed 
-// to enable the default 'has_push_front' implementation below
-
-template< typename Tag >
-struct push_front_impl
-{
-    template< typename Sequence, typename T > struct apply
-    {
-        // should be instantiated only in the context of 'has_push_front_impl';
-        // if you've got an assert here, you are requesting a 'push_front' 
-        // specialization that doesn't exist.
-        BOOST_MPL_ASSERT_MSG(
-              ( boost::is_same< T, has_push_front_arg >::value )
-            , REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST
-            , ( Sequence )
-            );
-    };
-};
-
-template< typename Tag >
-struct has_push_front_impl
-{
-    template< typename Seq > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : aux::has_type< push_front< Seq, has_push_front_arg > >
-    {
-#else
-    {
-        typedef aux::has_type< push_front< Seq, has_push_front_arg > > type;
-        BOOST_STATIC_CONSTANT(bool, value = 
-              (aux::has_type< push_front< Seq, has_push_front_arg > >::value)
-            );
-#endif
-    };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_front_impl)
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_front_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/reverse_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/reverse_fold_impl.hpp
deleted file mode 100755
index 88bfcfc..0000000
--- a/SRC/Boost/boost/mpl/aux_/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: reverse_fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/next_prior.hpp>
-#   include <boost/mpl/deref.hpp>
-#   include <boost/mpl/apply.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-#       include <boost/mpl/if.hpp>
-#       include <boost/type_traits/is_same.hpp>
-#   endif
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER reverse_fold_impl.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   define AUX778076_FOLD_IMPL_OP(iter) typename deref<iter>::type
-#   define AUX778076_FOLD_IMPL_NAME_PREFIX reverse_fold
-#   include <boost/mpl/aux_/reverse_fold_impl_body.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/reverse_fold_impl_body.hpp b/SRC/Boost/boost/mpl/aux_/reverse_fold_impl_body.hpp
deleted file mode 100755
index 59daafd..0000000
--- a/SRC/Boost/boost/mpl/aux_/reverse_fold_impl_body.hpp
+++ /dev/null
@@ -1,412 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: reverse_fold_impl_body.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#   include <boost/mpl/limits/unrolling.hpp>
-#   include <boost/mpl/aux_/preprocessor/repeat.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-
-#   include <boost/preprocessor/arithmetic/sub.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/dec.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-// local macros, #undef-ined at the end of the header
-
-#   define AUX778076_ITER_FOLD_FORWARD_STEP(unused, n_, unused2) \
-    typedef typename apply2< \
-          ForwardOp \
-        , BOOST_PP_CAT(fwd_state,n_) \
-        , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,n_)) \
-        >::type BOOST_PP_CAT(fwd_state,BOOST_PP_INC(n_)); \
-    typedef typename mpl::next<BOOST_PP_CAT(iter,n_)>::type \
-        BOOST_PP_CAT(iter,BOOST_PP_INC(n_)); \
-    /**/
-
-#   define AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC(n_) \
-    typedef typename apply2< \
-          BackwardOp \
-        , BOOST_PP_CAT(bkwd_state,n_) \
-        , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,BOOST_PP_DEC(n_))) \
-        >::type BOOST_PP_CAT(bkwd_state,BOOST_PP_DEC(n_)); \
-    /**/
-
-#   define AUX778076_ITER_FOLD_BACKWARD_STEP(unused, n_, j) \
-    AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC( \
-          BOOST_PP_SUB_D(1,j,n_) \
-        ) \
-    /**/
-
-#   define AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(n_) \
-    typedef typename nested_chunk::state BOOST_PP_CAT(bkwd_state,n_);
-    /**/
-
-#   define AUX778076_FOLD_IMPL_NAME \
-    BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \
-    /**/
-
-#   define AUX778076_FOLD_CHUNK_NAME \
-    BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \
-    /**/
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-template<
-      BOOST_MPL_AUX_NTTP_DECL(long, N)
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    > 
-struct AUX778076_FOLD_IMPL_NAME;
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/reverse_fold_impl_body.hpp>))
-#   include BOOST_PP_ITERATE()
-
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template<
-      BOOST_MPL_AUX_NTTP_DECL(long, N)
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    > 
-struct AUX778076_FOLD_IMPL_NAME
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-
-    BOOST_MPL_PP_REPEAT(
-          BOOST_MPL_LIMIT_UNROLLING
-        , AUX778076_ITER_FOLD_FORWARD_STEP
-        , unused
-        )
-
-    typedef AUX778076_FOLD_IMPL_NAME<
-          ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )
-        , BOOST_PP_CAT(iter,BOOST_MPL_LIMIT_UNROLLING)
-        , Last
-        , BOOST_PP_CAT(fwd_state,BOOST_MPL_LIMIT_UNROLLING)
-        , BackwardOp
-        , ForwardOp
-        > nested_chunk;
-        
-    AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(BOOST_MPL_LIMIT_UNROLLING)
-
-    BOOST_MPL_PP_REPEAT(
-          BOOST_MPL_LIMIT_UNROLLING
-        , AUX778076_ITER_FOLD_BACKWARD_STEP
-        , BOOST_MPL_LIMIT_UNROLLING
-        )
-
-    typedef bkwd_state0 state;
-    typedef typename nested_chunk::iterator iterator;
-};
-
-// fallback implementation for sequences of unknown size
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    > 
-struct AUX778076_FOLD_IMPL_NAME<-1,First,Last,State,BackwardOp,ForwardOp>
-{
-    typedef AUX778076_FOLD_IMPL_NAME<
-          -1
-        , typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , AUX778076_FOLD_IMPL_OP(First)
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    > 
-struct AUX778076_FOLD_IMPL_NAME<-1,Last,Last,State,BackwardOp,ForwardOp>
-{
-    typedef State state;
-    typedef Last iterator;
-};
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) >
-struct AUX778076_FOLD_CHUNK_NAME;
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/reverse_fold_impl_body.hpp>))
-#   include BOOST_PP_ITERATE()
-
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > 
-struct AUX778076_FOLD_CHUNK_NAME
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        > 
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-
-        BOOST_MPL_PP_REPEAT(
-              BOOST_MPL_LIMIT_UNROLLING
-            , AUX778076_ITER_FOLD_FORWARD_STEP
-            , unused
-            )
-
-        typedef AUX778076_FOLD_IMPL_NAME<
-              ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )
-            , BOOST_PP_CAT(iter,BOOST_MPL_LIMIT_UNROLLING)
-            , Last
-            , BOOST_PP_CAT(fwd_state,BOOST_MPL_LIMIT_UNROLLING)
-            , BackwardOp
-            , ForwardOp
-            > nested_chunk;
-            
-        AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(BOOST_MPL_LIMIT_UNROLLING)
-
-        BOOST_MPL_PP_REPEAT(
-              BOOST_MPL_LIMIT_UNROLLING
-            , AUX778076_ITER_FOLD_BACKWARD_STEP
-            , BOOST_MPL_LIMIT_UNROLLING
-            )
-
-        typedef bkwd_state0 state;
-        typedef typename nested_chunk::iterator iterator;
-    };
-};
-
-// fallback implementation for sequences of unknown size
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    > 
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step);
-
-template<
-      typename Last
-    , typename State
-    >
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)
-{
-    typedef Last iterator;
-    typedef State state;
-};
-
-template<> 
-struct AUX778076_FOLD_CHUNK_NAME<-1>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        > 
-    struct result_
-    {
-        typedef typename if_<
-              typename is_same<First,Last>::type
-            , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)<Last,State>
-            , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)<First,Last,State,BackwardOp,ForwardOp>
-            >::type res_;
-
-        typedef typename res_::state state;
-        typedef typename res_::iterator iterator;
-    };
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-    /// ETI workaround
-    template<> struct result_<int,int,int,int,int>
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-#endif
-};
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    > 
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)
-{
-    typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_<
-          typename mpl::next<First>::type
-        , Last
-        , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type
-        , BackwardOp
-        , ForwardOp
-        > nested_step;
-
-    typedef typename apply2<
-          BackwardOp
-        , typename nested_step::state
-        , AUX778076_FOLD_IMPL_OP(First)
-        >::type state;
-
-    typedef typename nested_step::iterator iterator;
-};
-
-template<
-      BOOST_MPL_AUX_NTTP_DECL(long, N)
-    , typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    > 
-struct AUX778076_FOLD_IMPL_NAME
-    : AUX778076_FOLD_CHUNK_NAME<N>
-        ::template result_<First,Last,State,BackwardOp,ForwardOp>
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-}}}
-
-#   undef AUX778076_FIRST_BACKWARD_STATE_TYPEDEF
-#   undef AUX778076_ITER_FOLD_BACKWARD_STEP
-#   undef AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC
-#   undef AUX778076_ITER_FOLD_FORWARD_STEP
-
-#undef AUX778076_FOLD_IMPL_OP
-#undef AUX778076_FOLD_IMPL_NAME_PREFIX
-
-///// iteration
-
-#else
-
-#   define n_ BOOST_PP_FRAME_ITERATION(1)
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-
-template<
-      typename First
-    , typename Last
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp
-    >
-struct AUX778076_FOLD_IMPL_NAME<n_,First,Last,State,BackwardOp,ForwardOp>
-{
-    typedef First iter0;
-    typedef State fwd_state0;
-
-    BOOST_MPL_PP_REPEAT(
-          n_
-        , AUX778076_ITER_FOLD_FORWARD_STEP
-        , unused
-        )
-
-    typedef BOOST_PP_CAT(fwd_state,n_) BOOST_PP_CAT(bkwd_state,n_);
-
-    BOOST_MPL_PP_REPEAT(
-          n_
-        , AUX778076_ITER_FOLD_BACKWARD_STEP
-        , n_
-        )
-
-    typedef bkwd_state0 state;
-    typedef BOOST_PP_CAT(iter,n_) iterator;
-};
-
-#else
-
-template<> struct AUX778076_FOLD_CHUNK_NAME<n_>
-{
-    template<
-          typename First
-        , typename Last
-        , typename State
-        , typename BackwardOp
-        , typename ForwardOp
-        >
-    struct result_
-    {
-        typedef First iter0;
-        typedef State fwd_state0;
-
-        BOOST_MPL_PP_REPEAT(
-              n_
-            , AUX778076_ITER_FOLD_FORWARD_STEP
-            , unused
-            )
-
-        typedef BOOST_PP_CAT(fwd_state,n_) BOOST_PP_CAT(bkwd_state,n_);
-
-        BOOST_MPL_PP_REPEAT(
-              n_
-            , AUX778076_ITER_FOLD_BACKWARD_STEP
-            , n_
-            )
-
-        typedef bkwd_state0 state;
-        typedef BOOST_PP_CAT(iter,n_) iterator;
-    };
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-    /// ETI workaround
-    template<> struct result_<int,int,int,int,int>
-    {
-        typedef int state;
-        typedef int iterator;
-    };
-#endif
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#   undef n_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/aux_/reverse_iter_fold_impl.hpp b/SRC/Boost/boost/mpl/aux_/reverse_iter_fold_impl.hpp
deleted file mode 100755
index 5edb291..0000000
--- a/SRC/Boost/boost/mpl/aux_/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ITER_FOLD_BACKWARD_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_ITER_FOLD_BACKWARD_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: reverse_iter_fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/next_prior.hpp>
-#   include <boost/mpl/apply.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-#       include <boost/mpl/if.hpp>
-#       include <boost/type_traits/is_same.hpp>
-#   endif
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER reverse_iter_fold_impl.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   define AUX778076_FOLD_IMPL_OP(iter) iter
-#   define AUX778076_FOLD_IMPL_NAME_PREFIX reverse_iter_fold
-#   include <boost/mpl/aux_/reverse_fold_impl_body.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_ITER_FOLD_BACKWARD_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/sequence_wrapper.hpp b/SRC/Boost/boost/mpl/aux_/sequence_wrapper.hpp
deleted file mode 100755
index cde921e..0000000
--- a/SRC/Boost/boost/mpl/aux_/sequence_wrapper.hpp
+++ /dev/null
@@ -1,292 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: sequence_wrapper.hpp 49271 2008-10-11 06:46:00Z agurtovoy $
-// $Date: 2008-10-11 02:46:00 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49271 $
-
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/mpl/aux_/config/static_constant.hpp>
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-
-#   include <boost/preprocessor/arithmetic/sub.hpp>
-#   include <boost/preprocessor/tuple/elem.hpp>
-#   include <boost/preprocessor/enum_params_with_a_default.hpp>
-#   include <boost/preprocessor/enum_params.hpp>
-#   include <boost/preprocessor/enum.hpp>
-#   include <boost/preprocessor/repeat.hpp>
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-
-#if defined(BOOST_MPL_PREPROCESSING_MODE)
-#   undef LONG_MAX
-#endif
-
-namespace boost { namespace mpl {
-
-#if !defined(AUX778076_SEQUENCE_BASE_NAME)
-#   define AUX778076_SEQUENCE_BASE_NAME AUX778076_SEQUENCE_NAME
-#endif
-
-#if !defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER)
-
-#   define AUX778076_SEQUENCE_PARAM_NAME T
-#   define AUX778076_SEQUENCE_TEMPLATE_PARAM typename T
-#   define AUX778076_SEQUENCE_DEFAULT na
-
-#   define AUX778076_SEQUENCE_NAME_N(n) \
-    BOOST_PP_CAT(AUX778076_SEQUENCE_BASE_NAME,n) \
-    /**/
-
-#   define AUX778076_SEQUENCE_PARAMS() \
-    BOOST_PP_ENUM_PARAMS( \
-          AUX778076_SEQUENCE_LIMIT \
-        , AUX778076_SEQUENCE_TEMPLATE_PARAM \
-        ) \
-    /**/
-
-#   define AUX778076_SEQUENCE_ARGS() \
-    BOOST_PP_ENUM_PARAMS( \
-          AUX778076_SEQUENCE_LIMIT \
-        , T \
-        ) \
-    /**/
-
-#   define AUX778076_SEQUENCE_DEFAULT_PARAMS() \
-     BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \
-          AUX778076_SEQUENCE_LIMIT \
-        , AUX778076_SEQUENCE_TEMPLATE_PARAM \
-        , AUX778076_SEQUENCE_DEFAULT \
-        ) \
-    /**/
-
-#   define AUX778076_SEQUENCE_N_PARAMS(n) \
-    BOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \
-    /**/
-
-#   define AUX778076_SEQUENCE_N_ARGS(n) \
-    BOOST_PP_ENUM_PARAMS(n, T) \
-    /**/
-
-#   define AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(n) \
-    BOOST_PP_ENUM_PARAMS(n, T) \
-    BOOST_PP_COMMA_IF(n) \
-    BOOST_PP_ENUM( \
-          BOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \
-        , BOOST_PP_TUPLE_ELEM_3_2 \
-        , AUX778076_SEQUENCE_DEFAULT \
-        ) \
-    /**/
-
-#else // AUX778076_SEQUENCE_INTEGRAL_WRAPPER
-
-#   define AUX778076_SEQUENCE_PARAM_NAME C
-#   define AUX778076_SEQUENCE_TEMPLATE_PARAM BOOST_MPL_AUX_NTTP_DECL(long, C)
-#   define AUX778076_SEQUENCE_DEFAULT LONG_MAX
-
-#   define AUX778076_SEQUENCE_PARAMS() \
-    typename T, BOOST_PP_ENUM_PARAMS( \
-          AUX778076_SEQUENCE_LIMIT \
-        , AUX778076_SEQUENCE_TEMPLATE_PARAM \
-        ) \
-    /**/
-
-#   define AUX778076_SEQUENCE_ARGS() \
-    T, BOOST_PP_ENUM_PARAMS( \
-          AUX778076_SEQUENCE_LIMIT \
-        , C \
-        ) \
-    /**/
-
-#   define AUX778076_SEQUENCE_DEFAULT_PARAMS() \
-    typename T, \
-    BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \
-          AUX778076_SEQUENCE_LIMIT \
-        , AUX778076_SEQUENCE_TEMPLATE_PARAM \
-        , AUX778076_SEQUENCE_DEFAULT \
-        ) \
-    /**/
-
-#   define AUX778076_SEQUENCE_N_PARAMS(n) \
-    typename T BOOST_PP_COMMA_IF(n) \
-    BOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \
-    /**/
-
-#   if !defined(AUX778076_SEQUENCE_CONVERT_CN_TO)
-#       define AUX778076_SEQUENCE_CONVERT_CN_TO(z,n,TARGET) BOOST_PP_CAT(C,n)
-#   endif
-
-#   define AUX778076_SEQUENCE_N_ARGS(n) \
-    T BOOST_PP_COMMA_IF(n) \
-    BOOST_PP_ENUM(n,AUX778076_SEQUENCE_CONVERT_CN_TO,T) \
-    /**/
-
-#   define AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(n) \
-    T, BOOST_PP_ENUM_PARAMS(n, C) \
-    BOOST_PP_COMMA_IF(n) \
-    BOOST_PP_ENUM( \
-          BOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \
-        , BOOST_PP_TUPLE_ELEM_3_2 \
-        , AUX778076_SEQUENCE_DEFAULT \
-        ) \
-    /**/
-
-#endif // AUX778076_SEQUENCE_INTEGRAL_WRAPPER
-
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-// forward declaration
-template<
-      AUX778076_SEQUENCE_DEFAULT_PARAMS()
-    >
-struct AUX778076_SEQUENCE_NAME;
-#else
-namespace aux {
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > 
-struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser);
-}
-#endif
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, AUX778076_SEQUENCE_LIMIT, <boost/mpl/aux_/sequence_wrapper.hpp>))
-#include BOOST_PP_ITERATE()
-
-// real C++ version is already taken care of
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-namespace aux {
-// ???_count_args
-#define AUX778076_COUNT_ARGS_PREFIX         AUX778076_SEQUENCE_NAME
-#define AUX778076_COUNT_ARGS_DEFAULT        AUX778076_SEQUENCE_DEFAULT
-#define AUX778076_COUNT_ARGS_PARAM_NAME     AUX778076_SEQUENCE_PARAM_NAME
-#define AUX778076_COUNT_ARGS_TEMPLATE_PARAM AUX778076_SEQUENCE_TEMPLATE_PARAM
-#define AUX778076_COUNT_ARGS_ARITY          AUX778076_SEQUENCE_LIMIT
-#define AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES
-#include <boost/mpl/aux_/count_args.hpp>
-
-template<
-      AUX778076_SEQUENCE_PARAMS()
-    >
-struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)
-{
-    typedef aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_count_args)<
-          BOOST_PP_ENUM_PARAMS(AUX778076_SEQUENCE_LIMIT, AUX778076_SEQUENCE_PARAM_NAME)
-        > arg_num_;
-    
-    typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)< arg_num_::value >
-        ::template result_< AUX778076_SEQUENCE_ARGS() >::type type;
-};
-
-} // namespace aux
-
-template<
-      AUX778076_SEQUENCE_DEFAULT_PARAMS()
-    >
-struct AUX778076_SEQUENCE_NAME
-    : aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<
-          AUX778076_SEQUENCE_ARGS()
-        >::type
-{
-    typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<
-          AUX778076_SEQUENCE_ARGS()
-        >::type type;
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#   undef AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS
-#   undef AUX778076_SEQUENCE_N_ARGS
-#   undef AUX778076_SEQUENCE_CONVERT_CN_TO
-#   undef AUX778076_SEQUENCE_N_PARAMS
-#   undef AUX778076_SEQUENCE_DEFAULT_PARAMS
-#   undef AUX778076_SEQUENCE_ARGS
-#   undef AUX778076_SEQUENCE_PARAMS
-#   undef AUX778076_SEQUENCE_NAME_N
-#   undef AUX778076_SEQUENCE_DEFAULT
-#   undef AUX778076_SEQUENCE_TEMPLATE_PARAM
-#   undef AUX778076_SEQUENCE_PARAM_NAME
-#   undef AUX778076_SEQUENCE_LIMIT
-#   undef AUX778076_SEQUENCE_BASE_NAME
-#   undef AUX778076_SEQUENCE_NAME
-#   undef AUX778076_SEQUENCE_INTEGRAL_WRAPPER
-
-}}
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-#if i_ == AUX778076_SEQUENCE_LIMIT
-
-/// primary template (not a specialization!)
-template<
-      AUX778076_SEQUENCE_N_PARAMS(i_)
-    >
-struct AUX778076_SEQUENCE_NAME
-    : AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >
-{
-    typedef typename AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type;
-};
-
-#else
-
-template<
-      AUX778076_SEQUENCE_N_PARAMS(i_)
-    >
-struct AUX778076_SEQUENCE_NAME< AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(i_) >
-    : AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >
-{
-#if i_ > 0 || defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER)
-    typedef typename AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type;
-#else
-    typedef AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type;
-#endif
-};
-
-#endif // i_ == AUX778076_SEQUENCE_LIMIT
-
-#   else
-
-namespace aux {
-
-template<>
-struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)<i_>
-{
-    template<
-          AUX778076_SEQUENCE_PARAMS()
-        >
-    struct result_
-    {
-#if i_ > 0 || defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER)
-        typedef typename AUX778076_SEQUENCE_NAME_N(i_)<
-              AUX778076_SEQUENCE_N_ARGS(i_)
-            >::type type;
-#else
-        typedef AUX778076_SEQUENCE_NAME_N(i_)<
-              AUX778076_SEQUENCE_N_ARGS(i_)
-            >::type type;
-#endif
-    };
-};
-
-} // namespace aux
-
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/aux_/size_impl.hpp b/SRC/Boost/boost/mpl/aux_/size_impl.hpp
deleted file mode 100755
index 1c4d010..0000000
--- a/SRC/Boost/boost/mpl/aux_/size_impl.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/distance.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation; conrete sequences might override it by 
-// specializing either the 'size_impl' or the primary 'size' template
-
-template< typename Tag >
-struct size_impl
-{
-    template< typename Sequence > struct apply
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561))
-        : distance<
-              typename begin<Sequence>::type
-            , typename end<Sequence>::type
-            >
-    {
-#else
-    {
-        typedef typename distance<
-              typename begin<Sequence>::type
-            , typename end<Sequence>::type
-            >::type type;
-#endif
-    };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, size_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/static_cast.hpp b/SRC/Boost/boost/mpl/aux_/static_cast.hpp
deleted file mode 100755
index 35e3461..0000000
--- a/SRC/Boost/boost/mpl/aux_/static_cast.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
-#define BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: static_cast.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \
- || BOOST_WORKAROUND(__GNUC__, < 3) \
- || BOOST_WORKAROUND(__MWERKS__, <= 0x3001)
-#   define BOOST_MPL_AUX_STATIC_CAST(T, expr) (T)(expr)
-#else
-#   define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
-#endif
-
-#endif // BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/template_arity.hpp b/SRC/Boost/boost/mpl/aux_/template_arity.hpp
deleted file mode 100755
index dd4acae..0000000
--- a/SRC/Boost/boost/mpl/aux_/template_arity.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED
-#define BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: template_arity.hpp 61584 2010-04-26 18:48:26Z agurtovoy $
-// $Date: 2010-04-26 14:48:26 -0400 (Mon, 26 Apr 2010) $
-// $Revision: 61584 $
-
-#include <boost/mpl/aux_/config/ttp.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/aux_/template_arity_fwd.hpp>
-#   include <boost/mpl/int.hpp>
-#   if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-#   if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-#       include <boost/mpl/aux_/type_wrapper.hpp>
-#   endif
-#   else
-#       include <boost/mpl/aux_/has_rebind.hpp>
-#   endif
-#endif
-
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER template_arity.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-#   if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/mpl/aux_/preprocessor/range.hpp>
-#   include <boost/mpl/aux_/preprocessor/repeat.hpp>
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-
-#   include <boost/preprocessor/seq/fold_left.hpp>
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-#   define AUX778076_ARITY BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
-
-namespace boost { namespace mpl { namespace aux {
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arity_tag
-{
-    typedef char (&type)[N + 1];
-};
-
-#   define AUX778076_MAX_ARITY_OP(unused, state, i_) \
-    ( BOOST_PP_CAT(C,i_) > 0 ? BOOST_PP_CAT(C,i_) : state ) \
-/**/
-
-template<
-      BOOST_MPL_PP_PARAMS(AUX778076_ARITY, BOOST_MPL_AUX_NTTP_DECL(int, C))
-    >
-struct max_arity
-{
-    BOOST_STATIC_CONSTANT(int, value = 
-          BOOST_PP_SEQ_FOLD_LEFT(
-              AUX778076_MAX_ARITY_OP
-            , -1
-            , BOOST_MPL_PP_RANGE(1, AUX778076_ARITY)
-            )
-        );
-};
-
-#   undef AUX778076_MAX_ARITY_OP
-
-arity_tag<0>::type arity_helper(...);
-
-#   define BOOST_PP_ITERATION_LIMITS (1, AUX778076_ARITY)
-#   define BOOST_PP_FILENAME_1 <boost/mpl/aux_/template_arity.hpp>
-#   include BOOST_PP_ITERATE()
-
-template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) >
-struct template_arity_impl
-{
-    BOOST_STATIC_CONSTANT(int, value = 
-          sizeof(::boost::mpl::aux::arity_helper(type_wrapper<F>(),arity_tag<N>())) - 1
-        );
-};
-
-#   define AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION(unused, i_, F) \
-    BOOST_PP_COMMA_IF(i_) template_arity_impl<F,BOOST_PP_INC(i_)>::value \
-/**/
-
-template< typename F >
-struct template_arity
-{
-    BOOST_STATIC_CONSTANT(int, value = (
-          max_arity< BOOST_MPL_PP_REPEAT(
-              AUX778076_ARITY
-            , AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION
-            , F
-            ) >::value
-        ));
-        
-    typedef mpl::int_<value> type;
-};
-
-#   undef AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION
-
-#   undef AUX778076_ARITY
-
-}}}
-
-#   endif // BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
-#   else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-
-#   include <boost/mpl/aux_/config/eti.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
-    template< typename F > struct result_
-        : mpl::int_<-1>
-    {
-    };
-};
-
-template<>
-struct template_arity_impl<true>
-{
-    template< typename F > struct result_
-        : F::arity
-    {
-    };
-};
-
-template< typename F >
-struct template_arity
-    : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
-        ::template result_<F>
-{
-};
-
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-template<>
-struct template_arity<int>
-    : mpl::int_<-1>
-{
-};
-#endif
-
-}}}
-
-#   endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
-      template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F
-    , BOOST_MPL_PP_PARAMS(i_, typename T)
-    >
-typename arity_tag<i_>::type
-arity_helper(type_wrapper< F<BOOST_MPL_PP_PARAMS(i_, T)> >, arity_tag<i_>);
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/aux_/template_arity_fwd.hpp b/SRC/Boost/boost/mpl/aux_/template_arity_fwd.hpp
deleted file mode 100755
index 06f4ff3..0000000
--- a/SRC/Boost/boost/mpl/aux_/template_arity_fwd.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
-#define BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: template_arity_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename F > struct template_arity;
-
-}}}
-
-#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/traits_lambda_spec.hpp b/SRC/Boost/boost/mpl/aux_/traits_lambda_spec.hpp
deleted file mode 100755
index a38f8aa..0000000
--- a/SRC/Boost/boost/mpl/aux_/traits_lambda_spec.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
-#define BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: traits_lambda_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/sequence_tag_fwd.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-
-#   define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) /**/
-
-#elif !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-
-#   define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
-template<> struct trait<void_> \
-{ \
-    template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
-    { \
-    }; \
-}; \
-/**/
-
-#else
-
-#   define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
-template<> struct trait<void_> \
-{ \
-    template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
-    { \
-    }; \
-}; \
-template<> struct trait<int> \
-{ \
-    template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
-    { \
-        typedef int type; \
-    }; \
-}; \
-/**/
-
-#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-
-
-#define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i, trait) \
-    BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
-    template<> struct trait<non_sequence_tag> {}; \
-/**/
-
-#endif // BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/type_wrapper.hpp b/SRC/Boost/boost/mpl/aux_/type_wrapper.hpp
deleted file mode 100755
index 02ae1a2..0000000
--- a/SRC/Boost/boost/mpl/aux_/type_wrapper.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED
-#define BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Peter Dimov 2000-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: type_wrapper.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename T > struct type_wrapper
-{
-    typedef T type;
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-// agurt 08/may/03: a complicated way to extract the wrapped type; need it 
-// mostly for the sake of GCC (3.2.x), which ICEs if you try to extract the 
-// nested 'type' from 'type_wrapper<T>' when the latter was the result of a
-// 'typeof' expression
-template< typename T > struct wrapped_type;
-
-template< typename T > struct wrapped_type< type_wrapper<T> >
-{
-    typedef T type;
-};
-#else
-template< typename W > struct wrapped_type
-{
-    typedef typename W::type type;
-};
-#endif
-
-}}}
-
-#endif // BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/unwrap.hpp b/SRC/Boost/boost/mpl/aux_/unwrap.hpp
deleted file mode 100755
index db19c0f..0000000
--- a/SRC/Boost/boost/mpl/aux_/unwrap.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED
-#define BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED
-
-// Copyright Peter Dimov and Multi Media Ltd 2001, 2002
-// Copyright David Abrahams 2001
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: unwrap.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/ref.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename F >
-inline
-F& unwrap(F& f, long)
-{
-    return f;
-}
-
-template< typename F >
-inline
-F&
-unwrap(reference_wrapper<F>& f, int)
-{
-    return f;
-}
-
-template< typename F >
-inline
-F&
-unwrap(reference_wrapper<F> const& f, int)
-{
-    return f;
-}
-
-}}}
-
-#endif // BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/value_wknd.hpp b/SRC/Boost/boost/mpl/aux_/value_wknd.hpp
deleted file mode 100755
index 513108a..0000000
--- a/SRC/Boost/boost/mpl/aux_/value_wknd.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
-#define BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: value_wknd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/static_cast.hpp>
-#include <boost/mpl/aux_/config/integral.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \
-    || defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-
-#   include <boost/mpl/int.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-template< typename C_ > struct value_wknd
-    : C_
-{
-};
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-template<> struct value_wknd<int>
-    : int_<1>
-{
-    using int_<1>::value;
-};
-#endif
-}}}
-
-
-#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-#   define BOOST_MPL_AUX_VALUE_WKND(C) \
-    ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux::value_wknd< C > \
-/**/
-#    define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) BOOST_MPL_AUX_VALUE_WKND(C)
-#else
-#   define BOOST_MPL_AUX_VALUE_WKND(C) C
-#   define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) \
-    ::boost::mpl::aux::value_wknd< C > \
-/**/
-#endif
-
-#else // BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
-
-#   define BOOST_MPL_AUX_VALUE_WKND(C) C
-#   define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) C
-
-#endif
-
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-#   define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \
-    BOOST_MPL_AUX_STATIC_CAST(T, C::value) \
-/**/
-#else
-#   define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \
-    BOOST_MPL_AUX_VALUE_WKND(C)::value \
-/**/
-#endif
-
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename T > struct value_type_wknd
-{
-    typedef typename T::value_type type;
-};
-
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-template<> struct value_type_wknd<int>
-{
-    typedef int type;
-};
-#endif
-
-}}}
-
-#endif // BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/aux_/yes_no.hpp b/SRC/Boost/boost/mpl/aux_/yes_no.hpp
deleted file mode 100755
index 3aa1c1a..0000000
--- a/SRC/Boost/boost/mpl/aux_/yes_no.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_YES_NO_HPP_INCLUDED
-#define BOOST_MPL_AUX_YES_NO_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: yes_no.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/config/arrays.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-
-namespace boost { namespace mpl { namespace aux {
-
-typedef char (&no_tag)[1];
-typedef char (&yes_tag)[2];
-
-template< bool C_ > struct yes_no_tag
-{
-    typedef no_tag type;
-};
-
-template<> struct yes_no_tag<true>
-{
-    typedef yes_tag type;
-};
-
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, n) > struct weighted_tag
-{
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    typedef char (&type)[n];
-#else
-    char buf[n];
-    typedef weighted_tag type;
-#endif
-};
-
-#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
-template<> struct weighted_tag<0>
-{
-    typedef char (&type)[1];
-};
-#endif
-
-}}}
-
-#endif // BOOST_MPL_AUX_YES_NO_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/back_fwd.hpp b/SRC/Boost/boost/mpl/back_fwd.hpp
deleted file mode 100755
index f5dcbf5..0000000
--- a/SRC/Boost/boost/mpl/back_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_BACK_FWD_HPP_INCLUDED
-#define BOOST_MPL_BACK_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: back_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct back_impl;
-template< typename Sequence > struct back;
-
-}}
-
-#endif // BOOST_MPL_BACK_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/back_inserter.hpp b/SRC/Boost/boost/mpl/back_inserter.hpp
deleted file mode 100755
index f4f2656..0000000
--- a/SRC/Boost/boost/mpl/back_inserter.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_BACK_INSERTER_HPP_INCLUDED
-#define BOOST_MPL_BACK_INSERTER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: back_inserter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_back.hpp>
-#include <boost/mpl/inserter.hpp>
-
-namespace boost {
-namespace mpl {
-
-template<
-      typename Sequence
-    >
-struct back_inserter
-    : inserter< Sequence,push_back<> >
-{
-};
-
-}}
-
-#endif // BOOST_MPL_BACK_INSERTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/base.hpp b/SRC/Boost/boost/mpl/base.hpp
deleted file mode 100755
index cc3b844..0000000
--- a/SRC/Boost/boost/mpl/base.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef BOOST_MPL_BASE_HPP_INCLUDED
-#define BOOST_MPL_BASE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: base.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct base
-{
-    typedef typename T::base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,base,(T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, base)
-
-}}
-
-#endif // BOOST_MPL_BASE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/begin_end.hpp b/SRC/Boost/boost/mpl/begin_end.hpp
deleted file mode 100755
index b28368a..0000000
--- a/SRC/Boost/boost/mpl/begin_end.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#ifndef BOOST_MPL_BEGIN_END_HPP_INCLUDED
-#define BOOST_MPL_BEGIN_END_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: begin_end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end_fwd.hpp>
-#include <boost/mpl/aux_/begin_end_impl.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-// agurt, 13/sep/02: switched from inheritance to typedef; MSVC is more
-// happy this way (less ETI-related errors), and it doesn't affect 
-// anything else
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct begin
-{
-    typedef typename sequence_tag<Sequence>::type tag_;
-    typedef typename begin_impl< tag_ >
-        ::template apply< Sequence >::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,begin,(Sequence))
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct end
-{
-    typedef typename sequence_tag<Sequence>::type tag_;
-    typedef typename end_impl< tag_ >
-        ::template apply< Sequence >::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,end,(Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, begin)
-BOOST_MPL_AUX_NA_SPEC(1, end)
-
-}}
-
-#endif // BOOST_MPL_BEGIN_END_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/begin_end_fwd.hpp b/SRC/Boost/boost/mpl/begin_end_fwd.hpp
deleted file mode 100755
index 29d0a51..0000000
--- a/SRC/Boost/boost/mpl/begin_end_fwd.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED
-#define BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: begin_end_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct begin_impl;
-template< typename Tag > struct end_impl;
-
-template< typename Sequence > struct begin;
-template< typename Sequence > struct end;
-
-}}
-
-#endif // BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/bind.hpp b/SRC/Boost/boost/mpl/bind.hpp
deleted file mode 100755
index 2a045c1..0000000
--- a/SRC/Boost/boost/mpl/bind.hpp
+++ /dev/null
@@ -1,551 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_BIND_HPP_INCLUDED
-#define BOOST_MPL_BIND_HPP_INCLUDED
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: bind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/bind_fwd.hpp>
-#   include <boost/mpl/placeholders.hpp>
-#   include <boost/mpl/next.hpp>
-#   include <boost/mpl/protect.hpp>
-#   include <boost/mpl/apply_wrap.hpp>
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/mpl/aux_/na.hpp>
-#   include <boost/mpl/aux_/arity_spec.hpp>
-#   include <boost/mpl/aux_/type_wrapper.hpp>
-#   include <boost/mpl/aux_/yes_no.hpp>
-#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#       include <boost/type_traits/is_reference.hpp>
-#   endif 
-#endif
-
-#include <boost/mpl/aux_/config/bind.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   if defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-#       define BOOST_MPL_PREPROCESSED_HEADER basic_bind.hpp
-#   else
-#       define BOOST_MPL_PREPROCESSED_HEADER bind.hpp
-#   endif
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-#   include <boost/mpl/aux_/preprocessor/default_params.hpp>
-#   include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>
-#   include <boost/mpl/aux_/preprocessor/partial_spec_params.hpp>
-#   include <boost/mpl/aux_/preprocessor/ext_params.hpp>
-#   include <boost/mpl/aux_/preprocessor/repeat.hpp>
-#   include <boost/mpl/aux_/preprocessor/enum.hpp>
-#   include <boost/mpl/aux_/preprocessor/add.hpp>
-#   include <boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/mpl/aux_/config/ttp.hpp>
-#   include <boost/mpl/aux_/config/dtp.hpp>
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/cat.hpp>
-#   include <boost/preprocessor/inc.hpp>
-
-namespace boost { namespace mpl {
-
-// local macros, #undef-ined at the end of the header
-#   define AUX778076_APPLY \
-    BOOST_PP_CAT(apply_wrap,BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \
-    /**/
-
-#   if defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
-#       define AUX778076_DMC_PARAM() , int dummy_
-#   else
-#       define AUX778076_DMC_PARAM()
-#   endif
-
-#   define AUX778076_BIND_PARAMS(param) \
-    BOOST_MPL_PP_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
-        , param \
-        ) \
-    /**/
-
-#   define AUX778076_BIND_DEFAULT_PARAMS(param, value) \
-    BOOST_MPL_PP_DEFAULT_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
-        , param \
-        , value \
-        ) \
-    /**/
-
-#   define AUX778076_BIND_N_PARAMS(n, param) \
-    BOOST_PP_COMMA_IF(n) BOOST_MPL_PP_PARAMS(n, param) \
-    /**/
-
-#   define AUX778076_BIND_N_SPEC_PARAMS(n, param, def) \
-    BOOST_PP_COMMA_IF(n) \
-    BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \
-    /**/
-
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-#   define AUX778076_BIND_NESTED_DEFAULT_PARAMS(param, value) \
-    AUX778076_BIND_DEFAULT_PARAMS(param, value) \
-    /**/
-#else
-#   define AUX778076_BIND_NESTED_DEFAULT_PARAMS(param, value) \
-    AUX778076_BIND_PARAMS(param) \
-    /**/
-#endif
-
-namespace aux {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
-      typename T, AUX778076_BIND_PARAMS(typename U)
-    >
-struct resolve_bind_arg
-{
-    typedef T type;
-};
-
-#   if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-
-template<
-      typename T
-    , typename Arg
-    >
-struct replace_unnamed_arg
-{
-    typedef Arg next;
-    typedef T type;
-};
-
-template<
-      typename Arg
-    >
-struct replace_unnamed_arg< arg<-1>,Arg >
-{
-    typedef typename Arg::next next;
-    typedef Arg type;
-};
-
-#   endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
-
-template<
-      BOOST_MPL_AUX_NTTP_DECL(int, N), AUX778076_BIND_PARAMS(typename U)
-    >
-struct resolve_bind_arg< arg<N>,AUX778076_BIND_PARAMS(U) >
-{
-    typedef typename AUX778076_APPLY<mpl::arg<N>, AUX778076_BIND_PARAMS(U)>::type type;
-};
-
-#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
-template<
-      typename F, AUX778076_BIND_PARAMS(typename T), AUX778076_BIND_PARAMS(typename U)
-    >
-struct resolve_bind_arg< bind<F,AUX778076_BIND_PARAMS(T)>,AUX778076_BIND_PARAMS(U) >
-{
-    typedef bind<F,AUX778076_BIND_PARAMS(T)> f_;
-    typedef typename AUX778076_APPLY<f_, AUX778076_BIND_PARAMS(U)>::type type;
-};
-#endif
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-// agurt, 15/jan/02: it's not a intended to be used as a function class, and 
-// MSVC6.5 has problems with 'apply' name here (the code compiles, but doesn't
-// work), so I went with the 'result_' here, and in all other similar cases
-template< bool >
-struct resolve_arg_impl
-{
-    template< typename T, AUX778076_BIND_PARAMS(typename U) > struct result_
-    {
-        typedef T type;
-    };
-};
-
-template<> 
-struct resolve_arg_impl<true>
-{
-    template< typename T, AUX778076_BIND_PARAMS(typename U) > struct result_
-    {
-        typedef typename AUX778076_APPLY<
-              T
-            , AUX778076_BIND_PARAMS(U)
-            >::type type;
-    };
-};
-
-// for 'resolve_bind_arg'
-template< typename T > struct is_bind_template;
-
-template< 
-      typename T, AUX778076_BIND_PARAMS(typename U)
-    >
-struct resolve_bind_arg
-    : resolve_arg_impl< is_bind_template<T>::value >
-            ::template result_< T,AUX778076_BIND_PARAMS(U) >
-{
-};
-
-#   if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-
-template< typename T > 
-struct replace_unnamed_arg_impl
-{
-    template< typename Arg > struct result_
-    {
-        typedef Arg next;
-        typedef T type;
-    };
-};
-
-template<> 
-struct replace_unnamed_arg_impl< arg<-1> >
-{
-    template< typename Arg > struct result_
-    {
-        typedef typename next<Arg>::type next;
-        typedef Arg type;
-    };
-};
-
-template< typename T, typename Arg > 
-struct replace_unnamed_arg
-    : replace_unnamed_arg_impl<T>::template result_<Arg>
-{
-};
-
-#   endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
-
-// agurt, 10/mar/02: the forward declaration has to appear before any of
-// 'is_bind_helper' overloads, otherwise MSVC6.5 issues an ICE on it
-template< BOOST_MPL_AUX_NTTP_DECL(int, arity_) > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-// overload for "main" form
-// agurt, 15/mar/02: MSVC 6.5 fails to properly resolve the overload 
-// in case if we use 'aux::type_wrapper< bind<...> >' here, and all 
-// 'bind' instantiations form a complete type anyway
-#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
-template<
-      typename F, AUX778076_BIND_PARAMS(typename T)
-    >
-aux::yes_tag is_bind_helper(bind<F,AUX778076_BIND_PARAMS(T)>*);
-#endif
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_ = true >
-struct is_bind_template_impl
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value = false);
-    };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
-    template< typename T > struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value = 
-              sizeof(aux::is_bind_helper(static_cast<T*>(0))) 
-                == sizeof(aux::yes_tag)
-            );
-    };
-};
-
-template< typename T > struct is_bind_template
-    : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
-        ::template result_<T>
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace aux
-
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/bind.hpp>))
-#include BOOST_PP_ITERATE()
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)
-/// if_/eval_if specializations
-#   define AUX778076_SPEC_NAME if_
-#   define BOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, <boost/mpl/bind.hpp>))
-#   include BOOST_PP_ITERATE()
-
-#if !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
-#   define AUX778076_SPEC_NAME eval_if
-#   define BOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, <boost/mpl/bind.hpp>))
-#   include BOOST_PP_ITERATE()
-#endif
-#endif
-
-// real C++ version is already taken care of
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
-
-namespace aux {
-// apply_count_args
-#define AUX778076_COUNT_ARGS_PREFIX bind
-#define AUX778076_COUNT_ARGS_DEFAULT na
-#define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-#include <boost/mpl/aux_/count_args.hpp>
-}
-
-// bind
-template<
-      typename F, AUX778076_BIND_PARAMS(typename T) AUX778076_DMC_PARAM()
-    >
-struct bind
-    : aux::bind_chooser<
-          aux::bind_count_args<AUX778076_BIND_PARAMS(T)>::value
-        >::template result_< F,AUX778076_BIND_PARAMS(T) >::type
-{
-};
-
-BOOST_MPL_AUX_ARITY_SPEC(
-      BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
-    , bind
-    )
-
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(
-      BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
-    , bind
-    )
-
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#   undef AUX778076_BIND_NESTED_DEFAULT_PARAMS
-#   undef AUX778076_BIND_N_SPEC_PARAMS
-#   undef AUX778076_BIND_N_PARAMS
-#   undef AUX778076_BIND_DEFAULT_PARAMS
-#   undef AUX778076_BIND_PARAMS
-#   undef AUX778076_DMC_PARAM
-#   undef AUX778076_APPLY
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_BIND_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-
-#   define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#if defined(AUX778076_SPEC_NAME)
-
-// lazy metafunction specialization
-template< template< BOOST_MPL_PP_PARAMS(i_, typename T) > class F, typename Tag >
-struct BOOST_PP_CAT(quote,i_);
-
-template< BOOST_MPL_PP_PARAMS(i_, typename T) > struct AUX778076_SPEC_NAME;
-
-template<
-      typename Tag AUX778076_BIND_N_PARAMS(i_, typename T)
-    >
-struct BOOST_PP_CAT(bind,i_)< 
-      BOOST_PP_CAT(quote,i_)<AUX778076_SPEC_NAME,Tag>
-    AUX778076_BIND_N_PARAMS(i_,T)
-    >
-{
-    template<
-          AUX778076_BIND_NESTED_DEFAULT_PARAMS(typename U, na)
-        >
-    struct apply
-    {
-     private:
-        typedef mpl::arg<1> n1;
-#       define BOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, <boost/mpl/bind.hpp>))
-#       include BOOST_PP_ITERATE()
-
-        typedef typename AUX778076_SPEC_NAME<
-              typename t1::type
-            , BOOST_MPL_PP_EXT_PARAMS(2, BOOST_PP_INC(i_), t)
-            >::type f_;
-
-     public:
-        typedef typename f_::type type;
-    };
-};
-
-#undef AUX778076_SPEC_NAME
-
-#else // AUX778076_SPEC_NAME
-
-template<
-      typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM()
-    >
-struct BOOST_PP_CAT(bind,i_)
-{
-    template<
-          AUX778076_BIND_NESTED_DEFAULT_PARAMS(typename U, na)
-        >
-    struct apply
-    {
-     private:
-#   if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-
-        typedef aux::replace_unnamed_arg< F,mpl::arg<1> > r0;
-        typedef typename r0::type a0;
-        typedef typename r0::next n1;
-        typedef typename aux::resolve_bind_arg<a0,AUX778076_BIND_PARAMS(U)>::type f_;
-        ///
-#   else
-        typedef typename aux::resolve_bind_arg<F,AUX778076_BIND_PARAMS(U)>::type f_;
-
-#   endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
-
-#   if i_ > 0
-#       define BOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, <boost/mpl/bind.hpp>))
-#       include BOOST_PP_ITERATE()
-#   endif
-
-     public:
-
-#   define AUX778076_ARG(unused, i_, t) \
-    BOOST_PP_COMMA_IF(i_) \
-    typename BOOST_PP_CAT(t,BOOST_PP_INC(i_))::type \
-/**/
-
-        typedef typename BOOST_PP_CAT(apply_wrap,i_)<
-              f_ 
-            BOOST_PP_COMMA_IF(i_) BOOST_MPL_PP_REPEAT(i_, AUX778076_ARG, t)
-            >::type type;
-
-#   undef AUX778076_ARG
-    };
-};
-
-namespace aux {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
-      typename F AUX778076_BIND_N_PARAMS(i_, typename T), AUX778076_BIND_PARAMS(typename U)
-    >
-struct resolve_bind_arg<
-      BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)>,AUX778076_BIND_PARAMS(U)
-    >
-{
-    typedef BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)> f_;
-    typedef typename AUX778076_APPLY<f_, AUX778076_BIND_PARAMS(U)>::type type;
-};
-
-#else
-
-template<
-      typename F AUX778076_BIND_N_PARAMS(i_, typename T)
-    >
-aux::yes_tag
-is_bind_helper(BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)>*);
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(BOOST_PP_INC(i_), BOOST_PP_CAT(bind,i_))
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(BOOST_PP_INC(i_), BOOST_PP_CAT(bind,i_))
-
-#   if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    
-#if i_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-/// primary template (not a specialization!)
-template<
-      typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM()
-    >
-struct bind
-    : BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T) >
-{
-};
-#else
-template<
-      typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM()
-    >
-struct bind< F AUX778076_BIND_N_SPEC_PARAMS(i_, T, na) >
-    : BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T) >
-{
-};
-#endif
-
-#   else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace aux {
-
-template<>
-struct bind_chooser<i_>
-{
-    template<
-          typename F, AUX778076_BIND_PARAMS(typename T)
-        >
-    struct result_
-    {
-        typedef BOOST_PP_CAT(bind,i_)< F AUX778076_BIND_N_PARAMS(i_,T) > type;
-    };
-};
-
-} // namespace aux
-
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   endif // BOOST_MPL_CFG_NO_BIND_TEMPLATE
-
-#endif // AUX778076_SPEC_NAME
-
-#   undef i_
-
-///// iteration, depth == 2
-
-#elif BOOST_PP_ITERATION_DEPTH() == 2
-
-#   define j_ BOOST_PP_FRAME_ITERATION(2)
-#   if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-
-        typedef aux::replace_unnamed_arg< BOOST_PP_CAT(T,j_),BOOST_PP_CAT(n,j_) > BOOST_PP_CAT(r,j_);
-        typedef typename BOOST_PP_CAT(r,j_)::type BOOST_PP_CAT(a,j_);
-        typedef typename BOOST_PP_CAT(r,j_)::next BOOST_PP_CAT(n,BOOST_PP_INC(j_));
-        typedef aux::resolve_bind_arg<BOOST_PP_CAT(a,j_), AUX778076_BIND_PARAMS(U)> BOOST_PP_CAT(t,j_);
-        ///
-#   else
-        typedef aux::resolve_bind_arg< BOOST_PP_CAT(T,j_),AUX778076_BIND_PARAMS(U)> BOOST_PP_CAT(t,j_);
-
-#   endif
-#   undef j_
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/bind_fwd.hpp b/SRC/Boost/boost/mpl/bind_fwd.hpp
deleted file mode 100755
index 1619916..0000000
--- a/SRC/Boost/boost/mpl/bind_fwd.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_BIND_FWD_HPP_INCLUDED
-#define BOOST_MPL_BIND_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: bind_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/aux_/na.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/bind.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER bind_fwd.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-#   include <boost/mpl/aux_/preprocessor/default_params.hpp>
-#   include <boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp>
-
-#   include <boost/preprocessor/comma_if.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-// local macros, #undef-ined at the end of the header
-
-#   if defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
-#       define AUX778076_DMC_PARAM() , int dummy_ = 0
-#   else
-#       define AUX778076_DMC_PARAM()
-#   endif
-
-#   define AUX778076_BIND_DEFAULT_PARAMS(param, value) \
-    BOOST_MPL_PP_DEFAULT_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
-        , param \
-        , value \
-        ) \
-    AUX778076_DMC_PARAM() \
-    /**/
-
-#   define AUX778076_BIND_N_PARAMS(n, param) \
-    BOOST_PP_COMMA_IF(n) BOOST_MPL_PP_PARAMS(n, param) \
-    AUX778076_DMC_PARAM() \
-    /**/
-
-#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
-template<
-      typename F, AUX778076_BIND_DEFAULT_PARAMS(typename T, na)
-    >
-struct bind;
-#endif
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/bind_fwd.hpp>))
-#include BOOST_PP_ITERATE()
-
-#   undef AUX778076_BIND_N_PARAMS
-#   undef AUX778076_BIND_DEFAULT_PARAMS
-#   undef AUX778076_DMC_PARAM
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_BIND_FWD_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
-      typename F AUX778076_BIND_N_PARAMS(i_, typename T)
-    >
-struct BOOST_PP_CAT(bind,i_);
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/bool.hpp b/SRC/Boost/boost/mpl/bool.hpp
deleted file mode 100755
index 9c4dbb2..0000000
--- a/SRC/Boost/boost/mpl/bool.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_BOOL_HPP_INCLUDED
-#define BOOST_MPL_BOOL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: bool.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/bool_fwd.hpp>
-#include <boost/mpl/integral_c_tag.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< bool C_ > struct bool_
-{
-    BOOST_STATIC_CONSTANT(bool, value = C_);
-    typedef integral_c_tag tag;
-    typedef bool_ type;
-    typedef bool value_type;
-    operator bool() const { return this->value; }
-};
-
-#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-template< bool C_ >
-bool const bool_<C_>::value;
-#endif
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-#endif // BOOST_MPL_BOOL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/bool_fwd.hpp b/SRC/Boost/boost/mpl/bool_fwd.hpp
deleted file mode 100755
index a3787b8..0000000
--- a/SRC/Boost/boost/mpl/bool_fwd.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_BOOL_FWD_HPP_INCLUDED
-#define BOOST_MPL_BOOL_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: bool_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< bool C_ > struct bool_;
-
-// shorcuts
-typedef bool_<true> true_;
-typedef bool_<false> false_;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-BOOST_MPL_AUX_ADL_BARRIER_DECL(bool_)
-BOOST_MPL_AUX_ADL_BARRIER_DECL(true_)
-BOOST_MPL_AUX_ADL_BARRIER_DECL(false_)
-
-#endif // BOOST_MPL_BOOL_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/clear.hpp b/SRC/Boost/boost/mpl/clear.hpp
deleted file mode 100755
index 74ffa3e..0000000
--- a/SRC/Boost/boost/mpl/clear.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_CLEAR_HPP_INCLUDED
-#define BOOST_MPL_CLEAR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: clear.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/clear_fwd.hpp>
-#include <boost/mpl/aux_/clear_impl.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct clear
-    : clear_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,clear,(Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, clear)
-
-}}
-
-#endif // BOOST_MPL_CLEAR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/clear_fwd.hpp b/SRC/Boost/boost/mpl/clear_fwd.hpp
deleted file mode 100755
index 656d77b..0000000
--- a/SRC/Boost/boost/mpl/clear_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_CLEAR_FWD_HPP_INCLUDED
-#define BOOST_MPL_CLEAR_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: clear_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct clear_impl;
-template< typename Sequence > struct clear;
-
-}}
-
-#endif // BOOST_MPL_CLEAR_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/comparison.hpp b/SRC/Boost/boost/mpl/comparison.hpp
deleted file mode 100755
index 26cc415..0000000
--- a/SRC/Boost/boost/mpl/comparison.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_COMPARISON_HPP_INCLUDED
-#define BOOST_MPL_COMPARISON_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: comparison.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/not_equal_to.hpp>
-#include <boost/mpl/less.hpp>
-#include <boost/mpl/greater.hpp>
-#include <boost/mpl/less_equal.hpp>
-#include <boost/mpl/greater_equal.hpp>
-
-#endif // BOOST_MPL_COMPARISON_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/contains.hpp b/SRC/Boost/boost/mpl/contains.hpp
deleted file mode 100755
index c3aa0f7..0000000
--- a/SRC/Boost/boost/mpl/contains.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_CONTAINS_HPP_INCLUDED
-#define BOOST_MPL_CONTAINS_HPP_INCLUDED
-
-// Copyright Eric Friedman 2002
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: contains.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/contains_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/contains_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct contains
-    : contains_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence,T >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,contains,(Sequence,T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, contains)
-
-}}
-
-#endif // BOOST_MPL_CONTAINS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/contains_fwd.hpp b/SRC/Boost/boost/mpl/contains_fwd.hpp
deleted file mode 100755
index d6f5bf8..0000000
--- a/SRC/Boost/boost/mpl/contains_fwd.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED
-#define BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED
-
-// Copyright Eric Friedman 2002
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: contains_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct contains_impl;
-template< typename Sequence, typename T > struct contains;
-
-}}
-
-#endif // BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/copy.hpp b/SRC/Boost/boost/mpl/copy.hpp
deleted file mode 100755
index 8fdbd61..0000000
--- a/SRC/Boost/boost/mpl/copy.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-
-#ifndef BOOST_MPL_COPY_HPP_INCLUDED
-#define BOOST_MPL_COPY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: copy.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/reverse_fold.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename Sequence
-    , typename Inserter
-    >
-struct copy_impl
-    : fold< 
-          Sequence
-        , typename Inserter::state
-        , typename Inserter::operation
-        >
-{
-};
-
-template<
-      typename Sequence
-    , typename Inserter
-    >
-struct reverse_copy_impl
-    : reverse_fold<
-          Sequence
-        , typename Inserter::state
-        , typename Inserter::operation
-        >
-{
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(2, copy)
-
-}}
-
-#endif // BOOST_MPL_COPY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/deref.hpp b/SRC/Boost/boost/mpl/deref.hpp
deleted file mode 100755
index 3f4473e..0000000
--- a/SRC/Boost/boost/mpl/deref.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_DEREF_HPP_INCLUDED
-#define BOOST_MPL_DEREF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: deref.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/msvc_type.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Iterator)
-    >
-struct deref
-{
-#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
-    typedef typename Iterator::type type;
-#else
-    typedef typename aux::msvc_type<Iterator>::type type;
-#endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,deref,(Iterator))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, deref)
-
-}}
-
-#endif // BOOST_MPL_DEREF_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/distance.hpp b/SRC/Boost/boost/mpl/distance.hpp
deleted file mode 100755
index a943549..0000000
--- a/SRC/Boost/boost/mpl/distance.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-
-#ifndef BOOST_MPL_DISTANCE_HPP_INCLUDED
-#define BOOST_MPL_DISTANCE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: distance.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/distance_fwd.hpp>
-#include <boost/mpl/iter_fold.hpp>
-#include <boost/mpl/iterator_range.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/tag.hpp>
-#include <boost/mpl/apply_wrap.hpp>
-#include <boost/mpl/aux_/msvc_eti_base.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-
-namespace boost { namespace mpl {
-
-// default implementation for forward/bidirectional iterators
-template< typename Tag > struct distance_impl
-{
-    template< typename First, typename Last > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : aux::msvc_eti_base< typename iter_fold<
-              iterator_range<First,Last>
-            , mpl::long_<0>
-            , next<>
-            >::type >
-    {
-#else
-    {
-        typedef typename iter_fold<
-              iterator_range<First,Last>
-            , mpl::long_<0>
-            , next<>
-            >::type type;
-        
-        BOOST_STATIC_CONSTANT(long, value =
-              (iter_fold<
-                  iterator_range<First,Last>
-                , mpl::long_<0>
-                , next<>
-                >::type::value)
-            );
-#endif
-    };
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(First)
-    , typename BOOST_MPL_AUX_NA_PARAM(Last)
-    >
-struct distance
-    : distance_impl< typename tag<First>::type >
-        ::template apply<First, Last>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, distance, (First, Last))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, distance)
-
-}}
-
-#endif // BOOST_MPL_DISTANCE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/distance_fwd.hpp b/SRC/Boost/boost/mpl/distance_fwd.hpp
deleted file mode 100755
index 7c946cb..0000000
--- a/SRC/Boost/boost/mpl/distance_fwd.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED
-#define BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: distance_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/common_name_wknd.hpp>
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_COMMON_NAME_WKND(distance)
-
-template< typename Tag > struct distance_impl;
-template< typename First, typename Last > struct distance;
-
-}}
-
-#endif // BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/empty.hpp b/SRC/Boost/boost/mpl/empty.hpp
deleted file mode 100755
index eca39ae..0000000
--- a/SRC/Boost/boost/mpl/empty.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_EMPTY_HPP_INCLUDED
-#define BOOST_MPL_EMPTY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/empty_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/empty_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct empty
-    : empty_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,empty,(Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, empty)
-
-}}
-
-#endif // BOOST_MPL_EMPTY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/empty_fwd.hpp b/SRC/Boost/boost/mpl/empty_fwd.hpp
deleted file mode 100755
index 27c659b..0000000
--- a/SRC/Boost/boost/mpl/empty_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_EMPTY_FWD_HPP_INCLUDED
-#define BOOST_MPL_EMPTY_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: empty_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct empty_impl;
-template< typename Sequence > struct empty;
-
-}}
-
-#endif // BOOST_MPL_EMPTY_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/equal.hpp b/SRC/Boost/boost/mpl/equal.hpp
deleted file mode 100755
index 45a21f4..0000000
--- a/SRC/Boost/boost/mpl/equal.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-
-#ifndef BOOST_MPL_EQUAL_HPP_INCLUDED
-#define BOOST_MPL_EQUAL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/iter_fold_if_impl.hpp>
-#include <boost/mpl/aux_/iter_apply.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/bind.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/msvc_eti_base.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename Predicate
-    , typename LastIterator1
-    , typename LastIterator2
-    >
-struct equal_pred
-{
-    template<
-          typename Iterator2
-        , typename Iterator1
-        >
-    struct apply
-    {
-        typedef typename and_< 
-              not_< is_same<Iterator1,LastIterator1> >
-            , not_< is_same<Iterator2,LastIterator2> >
-            , aux::iter_apply2<Predicate,Iterator1,Iterator2>
-            >::type type;
-    };
-};
-
-template<
-      typename Sequence1
-    , typename Sequence2
-    , typename Predicate
-    >
-struct equal_impl
-{
-    typedef typename begin<Sequence1>::type first1_;
-    typedef typename begin<Sequence2>::type first2_;
-    typedef typename end<Sequence1>::type last1_;
-    typedef typename end<Sequence2>::type last2_;
-
-    typedef aux::iter_fold_if_impl<
-          first1_
-        , first2_
-        , next<>
-        , protect< aux::equal_pred<Predicate,last1_,last2_> >
-        , void_
-        , always<false_>
-        > fold_;
-
-    typedef typename fold_::iterator iter1_;
-    typedef typename fold_::state iter2_;
-    typedef and_<
-          is_same<iter1_,last1_>
-        , is_same<iter2_,last2_>
-        > result_;
-
-    typedef typename result_::type type;
-};
-
-
-} // namespace aux
-
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence1)
-    , typename BOOST_MPL_AUX_NA_PARAM(Sequence2)
-    , typename Predicate = is_same<_,_>
-    >
-struct equal
-    : aux::msvc_eti_base< 
-          typename aux::equal_impl<Sequence1,Sequence2,Predicate>::type
-        >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,equal,(Sequence1,Sequence2))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, equal)
-
-}}
-
-#endif // BOOST_MPL_EQUAL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/equal_to.hpp b/SRC/Boost/boost/mpl/equal_to.hpp
deleted file mode 100755
index a3973f5..0000000
--- a/SRC/Boost/boost/mpl/equal_to.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_EQUAL_TO_HPP_INCLUDED
-#define BOOST_MPL_EQUAL_TO_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: equal_to.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME equal_to
-#define AUX778076_OP_TOKEN ==
-#include <boost/mpl/aux_/comparison_op.hpp>
-
-#endif // BOOST_MPL_EQUAL_TO_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/erase_fwd.hpp b/SRC/Boost/boost/mpl/erase_fwd.hpp
deleted file mode 100755
index 860eef4..0000000
--- a/SRC/Boost/boost/mpl/erase_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_ERASE_FWD_HPP_INCLUDED
-#define BOOST_MPL_ERASE_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: erase_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct erase_impl;
-template< typename Sequence, typename First, typename Last > struct erase;
-
-}}
-
-#endif // BOOST_MPL_ERASE_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/erase_key_fwd.hpp b/SRC/Boost/boost/mpl/erase_key_fwd.hpp
deleted file mode 100755
index 98d716f..0000000
--- a/SRC/Boost/boost/mpl/erase_key_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED
-#define BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: erase_key_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct erase_key_impl;
-template< typename Sequence, typename Key > struct erase_key;
-
-}}
-
-#endif // BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/eval_if.hpp b/SRC/Boost/boost/mpl/eval_if.hpp
deleted file mode 100755
index d257dd3..0000000
--- a/SRC/Boost/boost/mpl/eval_if.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-
-#ifndef BOOST_MPL_EVAL_IF_HPP_INCLUDED
-#define BOOST_MPL_EVAL_IF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: eval_if.hpp 61921 2010-05-11 21:33:24Z neilgroves $
-// $Date: 2010-05-11 17:33:24 -0400 (Tue, 11 May 2010) $
-// $Revision: 61921 $
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(C)
-    , typename BOOST_MPL_AUX_NA_PARAM(F1)
-    , typename BOOST_MPL_AUX_NA_PARAM(F2)
-    >
-struct eval_if
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-     || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \
-        && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \
-        )
-{
-    typedef typename if_<C,F1,F2>::type f_;
-    typedef typename f_::type type;
-#else
-    : if_<C,F1,F2>::type
-{
-#endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,eval_if,(C,F1,F2))
-};
-
-// (almost) copy & paste in order to save one more 
-// recursively nested template instantiation to user
-template<
-      bool C
-    , typename F1
-    , typename F2
-    >
-struct eval_if_c
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-     || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \
-        && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \
-        )
-{
-    typedef typename if_c<C,F1,F2>::type f_;
-    typedef typename f_::type type;
-#else
-    : if_c<C,F1,F2>::type
-{
-#endif
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, eval_if)
-
-}}
-
-#endif // BOOST_MPL_EVAL_IF_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/find.hpp b/SRC/Boost/boost/mpl/find.hpp
deleted file mode 100755
index 482cc05..0000000
--- a/SRC/Boost/boost/mpl/find.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#ifndef BOOST_MPL_FIND_HPP_INCLUDED
-#define BOOST_MPL_FIND_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: find.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/find_if.hpp>
-#include <boost/mpl/same_as.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct find
-    : find_if< Sequence,same_as<T> >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find,(Sequence,T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, find)
-
-}}
-
-#endif // BOOST_MPL_FIND_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/find_if.hpp b/SRC/Boost/boost/mpl/find_if.hpp
deleted file mode 100755
index 80953ba..0000000
--- a/SRC/Boost/boost/mpl/find_if.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#ifndef BOOST_MPL_FIND_IF_HPP_INCLUDED
-#define BOOST_MPL_FIND_IF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: find_if.hpp 49274 2008-10-11 07:22:05Z agurtovoy $
-// $Date: 2008-10-11 03:22:05 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49274 $
-
-#include <boost/mpl/aux_/find_if_pred.hpp>
-#include <boost/mpl/arg.hpp>
-#include <boost/mpl/iter_fold_if.hpp>
-#include <boost/mpl/aux_/common_name_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_COMMON_NAME_WKND(find_if)
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(Predicate)
-    >
-struct find_if
-{
-    typedef typename iter_fold_if<
-          Sequence
-        , void
-        , mpl::arg<1> // ignore
-        , protect< aux::find_if_pred<Predicate> >
-        >::type result_;
-
-    typedef typename second<result_>::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find_if,(Sequence,Predicate))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2,find_if)
-
-}}
-
-#endif // BOOST_MPL_FIND_IF_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/fold.hpp b/SRC/Boost/boost/mpl/fold.hpp
deleted file mode 100755
index 50b44b1..0000000
--- a/SRC/Boost/boost/mpl/fold.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#ifndef BOOST_MPL_FOLD_HPP_INCLUDED
-#define BOOST_MPL_FOLD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/O1_size.hpp>
-#include <boost/mpl/aux_/fold_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(State)
-    , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)
-    >
-struct fold
-{
-    typedef typename aux::fold_impl<
-          ::boost::mpl::O1_size<Sequence>::value
-        , typename begin<Sequence>::type
-        , typename end<Sequence>::type
-        , State
-        , ForwardOp
-        >::state type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,fold,(Sequence,State,ForwardOp))
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, fold)
-
-}}
-
-#endif // BOOST_MPL_FOLD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/for_each.hpp b/SRC/Boost/boost/mpl/for_each.hpp
deleted file mode 100755
index da93a5d..0000000
--- a/SRC/Boost/boost/mpl/for_each.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-
-#ifndef BOOST_MPL_FOR_EACH_HPP_INCLUDED
-#define BOOST_MPL_FOR_EACH_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: for_each.hpp 55648 2009-08-18 05:16:53Z agurtovoy $
-// $Date: 2009-08-18 01:16:53 -0400 (Tue, 18 Aug 2009) $
-// $Revision: 55648 $
-
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/aux_/unwrap.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/utility/value_init.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool done = true >
-struct for_each_impl
-{
-    template<
-          typename Iterator
-        , typename LastIterator
-        , typename TransformFunc
-        , typename F
-        >
-    static void execute(
-          Iterator*
-        , LastIterator*
-        , TransformFunc*
-        , F
-        )
-    {
-    }
-};
-
-template<>
-struct for_each_impl<false>
-{
-    template<
-          typename Iterator
-        , typename LastIterator
-        , typename TransformFunc
-        , typename F
-        >
-    static void execute(
-          Iterator*
-        , LastIterator*
-        , TransformFunc* 
-        , F f
-        )
-    {
-        typedef typename deref<Iterator>::type item;
-        typedef typename apply1<TransformFunc,item>::type arg;
-    
-        // dwa 2002/9/10 -- make sure not to invoke undefined behavior
-        // when we pass arg.
-        value_initialized<arg> x;
-        aux::unwrap(f, 0)(boost::get(x));
-        
-        typedef typename mpl::next<Iterator>::type iter;
-        for_each_impl<boost::is_same<iter,LastIterator>::value>
-            ::execute( static_cast<iter*>(0), static_cast<LastIterator*>(0), static_cast<TransformFunc*>(0), f);
-    }
-};
-
-} // namespace aux
-
-// agurt, 17/mar/02: pointer default parameters are necessary to workaround 
-// MSVC 6.5 function template signature's mangling bug
-template<
-      typename Sequence
-    , typename TransformOp
-    , typename F
-    >
-inline
-void for_each(F f, Sequence* = 0, TransformOp* = 0)
-{
-    BOOST_MPL_ASSERT(( is_sequence<Sequence> ));
-
-    typedef typename begin<Sequence>::type first;
-    typedef typename end<Sequence>::type last;
-
-    aux::for_each_impl< boost::is_same<first,last>::value >
-        ::execute(static_cast<first*>(0), static_cast<last*>(0), static_cast<TransformOp*>(0), f);
-}
-
-template<
-      typename Sequence
-    , typename F
-    >
-inline
-void for_each(F f, Sequence* = 0)
-{
-    for_each<Sequence, identity<> >(f);
-}
-
-}}
-
-#endif // BOOST_MPL_FOR_EACH_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/front.hpp b/SRC/Boost/boost/mpl/front.hpp
deleted file mode 100755
index 8fb2ff0..0000000
--- a/SRC/Boost/boost/mpl/front.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_FRONT_HPP_INCLUDED
-#define BOOST_MPL_FRONT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/front_fwd.hpp>
-#include <boost/mpl/aux_/front_impl.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct front
-    : front_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,front,(Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, front)
-
-}}
-
-#endif // BOOST_MPL_FRONT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/front_fwd.hpp b/SRC/Boost/boost/mpl/front_fwd.hpp
deleted file mode 100755
index defb53d..0000000
--- a/SRC/Boost/boost/mpl/front_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_FRONT_FWD_HPP_INCLUDED
-#define BOOST_MPL_FRONT_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: front_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct front_impl;
-template< typename Sequence > struct front;
-
-}}
-
-#endif // BOOST_MPL_FRONT_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/front_inserter.hpp b/SRC/Boost/boost/mpl/front_inserter.hpp
deleted file mode 100755
index 0e6db97..0000000
--- a/SRC/Boost/boost/mpl/front_inserter.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED
-#define BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: front_inserter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_front.hpp>
-#include <boost/mpl/inserter.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename Sequence
-    >
-struct front_inserter
-    : inserter< Sequence,push_front<> >
-{
-};
-
-}}
-
-#endif // BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/greater.hpp b/SRC/Boost/boost/mpl/greater.hpp
deleted file mode 100755
index 8e8c662..0000000
--- a/SRC/Boost/boost/mpl/greater.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_GREATER_HPP_INCLUDED
-#define BOOST_MPL_GREATER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: greater.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME greater
-#define AUX778076_OP_TOKEN >
-#include <boost/mpl/aux_/comparison_op.hpp>
-
-#endif // BOOST_MPL_GREATER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/greater_equal.hpp b/SRC/Boost/boost/mpl/greater_equal.hpp
deleted file mode 100755
index c9eb444..0000000
--- a/SRC/Boost/boost/mpl/greater_equal.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED
-#define BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: greater_equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME greater_equal
-#define AUX778076_OP_TOKEN >=
-#include <boost/mpl/aux_/comparison_op.hpp>
-
-#endif // BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/has_key.hpp b/SRC/Boost/boost/mpl/has_key.hpp
deleted file mode 100755
index 701eee5..0000000
--- a/SRC/Boost/boost/mpl/has_key.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_HAS_KEY_HPP_INCLUDED
-#define BOOST_MPL_HAS_KEY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_key.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/has_key_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/has_key_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(Key)
-    >
-struct has_key
-    : has_key_impl< typename sequence_tag<AssociativeSequence>::type >
-        ::template apply<AssociativeSequence,Key>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,has_key,(AssociativeSequence,Key))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, has_key)
-
-}}
-
-#endif // BOOST_MPL_HAS_KEY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/has_key_fwd.hpp b/SRC/Boost/boost/mpl/has_key_fwd.hpp
deleted file mode 100755
index 638044c..0000000
--- a/SRC/Boost/boost/mpl/has_key_fwd.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED
-#define BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_key_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct has_key_impl;
-template< typename AssociativeSequence, typename Key > struct has_key;
-
-}}
-
-#endif // BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/has_xxx.hpp b/SRC/Boost/boost/mpl/has_xxx.hpp
deleted file mode 100755
index 3f59648..0000000
--- a/SRC/Boost/boost/mpl/has_xxx.hpp
+++ /dev/null
@@ -1,640 +0,0 @@
-
-#ifndef BOOST_MPL_HAS_XXX_HPP_INCLUDED
-#define BOOST_MPL_HAS_XXX_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2006
-// Copyright David Abrahams 2002-2003
-// Copyright Daniel Walker 2007
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_xxx.hpp 64146 2010-07-19 00:46:31Z djwalker $
-// $Date: 2010-07-18 20:46:31 -0400 (Sun, 18 Jul 2010) $
-// $Revision: 64146 $
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/has_xxx.hpp>
-#include <boost/mpl/aux_/config/msvc_typename.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/preprocessor/array/elem.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-
-#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) )
-# include <boost/type_traits/is_class.hpp>
-#endif
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX)
-
-#   if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-// agurt, 11/sep/02: MSVC-specific version (< 7.1), based on a USENET 
-// newsgroup's posting by John Madsen (comp.lang.c++.moderated, 
-// 1999-11-12 19:17:06 GMT); the code is _not_ standard-conforming, but 
-// it works way more reliably than the SFINAE-based implementation
-
-// Modified dwa 8/Oct/02 to handle reference types.
-
-#   include <boost/mpl/if.hpp>
-#   include <boost/mpl/bool.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-struct has_xxx_tag;
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-template< typename U > struct msvc_incomplete_array
-{
-    typedef char (&type)[sizeof(U) + 1];
-};
-#endif
-
-template< typename T >
-struct msvc_is_incomplete
-{
-    // MSVC is capable of some kinds of SFINAE.  If U is an incomplete
-    // type, it won't pick the second overload
-    static char tester(...);
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-    template< typename U >
-    static typename msvc_incomplete_array<U>::type tester(type_wrapper<U>);
-#else
-    template< typename U >
-    static char (& tester(type_wrapper<U>) )[sizeof(U)+1];
-#endif 
-    
-    BOOST_STATIC_CONSTANT(bool, value = 
-          sizeof(tester(type_wrapper<T>())) == 1
-        );
-};
-
-template<>
-struct msvc_is_incomplete<int>
-{
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-}}}
-
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, default_) \
-template< typename T, typename name = ::boost::mpl::aux::has_xxx_tag > \
-struct BOOST_PP_CAT(trait,_impl) : T \
-{ \
-    static boost::mpl::aux::no_tag \
-    test(void(*)(::boost::mpl::aux::has_xxx_tag)); \
-    \
-    static boost::mpl::aux::yes_tag test(...); \
-    \
-    BOOST_STATIC_CONSTANT(bool, value = \
-          sizeof(test(static_cast<void(*)(name)>(0))) \
-            != sizeof(boost::mpl::aux::no_tag) \
-        ); \
-    typedef boost::mpl::bool_<value> type; \
-}; \
-\
-template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \
-struct trait \
-    : boost::mpl::if_c< \
-          boost::mpl::aux::msvc_is_incomplete<T>::value \
-        , boost::mpl::bool_<false> \
-        , BOOST_PP_CAT(trait,_impl)<T> \
-        >::type \
-{ \
-}; \
-\
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, void) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, bool) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, char) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed char) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned char) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed short) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned short) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed int) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned int) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed long) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned long) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, float) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, double) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, long double) \
-/**/
-
-#   define BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, T) \
-template<> struct trait<T> \
-{ \
-    BOOST_STATIC_CONSTANT(bool, value = false); \
-    typedef boost::mpl::bool_<false> type; \
-}; \
-/**/
-
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \
-    BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \
-    BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, wchar_t) \
-/**/
-#else
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \
-    BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \
-/**/
-#endif
-
-
-// SFINAE-based implementations below are derived from a USENET newsgroup's 
-// posting by Rani Sharoni (comp.lang.c++.moderated, 2002-03-17 07:45:09 PST)
-
-#   elif BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
-      || BOOST_WORKAROUND(__IBMCPP__, <= 700)
-
-// MSVC 7.1+ & VACPP
-
-// agurt, 15/jun/05: replace overload-based SFINAE implementation with SFINAE
-// applied to partial specialization to fix some apparently random failures 
-// (thanks to Daniel Wallin for researching this!)
-
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
-template< typename T > \
-struct BOOST_PP_CAT(trait, _msvc_sfinae_helper) \
-{ \
-    typedef void type; \
-};\
-\
-template< typename T, typename U = void > \
-struct BOOST_PP_CAT(trait,_impl_) \
-{ \
-    BOOST_STATIC_CONSTANT(bool, value = false); \
-    typedef boost::mpl::bool_<value> type; \
-}; \
-\
-template< typename T > \
-struct BOOST_PP_CAT(trait,_impl_)< \
-      T \
-    , typename BOOST_PP_CAT(trait, _msvc_sfinae_helper)< typename T::name >::type \
-    > \
-{ \
-    BOOST_STATIC_CONSTANT(bool, value = true); \
-    typedef boost::mpl::bool_<value> type; \
-}; \
-\
-template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \
-struct trait \
-    : BOOST_PP_CAT(trait,_impl_)<T> \
-{ \
-}; \
-/**/
-
-#   elif BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) )
-
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF(trait, trait_tester, name, default_) \
-template< typename T, bool IS_CLASS > \
-struct trait_tester \
-{ \
-    BOOST_STATIC_CONSTANT( bool,  value = false ); \
-}; \
-template< typename T > \
-struct trait_tester< T, true > \
-{ \
-    struct trait_tester_impl \
-    { \
-        template < class U > \
-        static int  resolve( boost::mpl::aux::type_wrapper<U> const volatile * \
-                           , boost::mpl::aux::type_wrapper<typename U::name >* = 0 ); \
-        static char resolve( ... ); \
-    }; \
-    typedef boost::mpl::aux::type_wrapper<T> t_; \
-    BOOST_STATIC_CONSTANT( bool, value = ( sizeof( trait_tester_impl::resolve( static_cast< t_ * >(0) ) ) == sizeof(int) ) ); \
-}; \
-template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \
-struct trait           \
-{                      \
-    BOOST_STATIC_CONSTANT( bool, value = (trait_tester< T, boost::is_class< T >::value >::value) );     \
-    typedef boost::mpl::bool_< trait< T, fallback_ >::value > type; \
-};
-
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
-    BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF( trait \
-                                         , BOOST_PP_CAT(trait,_tester)      \
-                                         , name       \
-                                         , default_ ) \
-/**/
-
-#   else // other SFINAE-capable compilers
-
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
-template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \
-struct trait \
-{ \
-    struct gcc_3_2_wknd \
-    { \
-        template< typename U > \
-        static boost::mpl::aux::yes_tag test( \
-              boost::mpl::aux::type_wrapper<U> const volatile* \
-            , boost::mpl::aux::type_wrapper<BOOST_MSVC_TYPENAME U::name>* = 0 \
-            ); \
-    \
-        static boost::mpl::aux::no_tag test(...); \
-    }; \
-    \
-    typedef boost::mpl::aux::type_wrapper<T> t_; \
-    BOOST_STATIC_CONSTANT(bool, value = \
-          sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) \
-            == sizeof(boost::mpl::aux::yes_tag) \
-        ); \
-    typedef boost::mpl::bool_<value> type; \
-}; \
-/**/
-
-#   endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-
-#else // BOOST_MPL_CFG_NO_HAS_XXX
-
-// placeholder implementation
-
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
-template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \
-struct trait \
-{ \
-    BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \
-    typedef fallback_ type; \
-}; \
-/**/
-
-#endif
-
-#define BOOST_MPL_HAS_XXX_TRAIT_DEF(name) \
-    BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(has_,name), name, false) \
-/**/
-
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-
-// Create a boolean Metafunction to detect a nested template
-// member. This implementation is based on a USENET newsgroup's
-// posting by Aleksey Gurtovoy (comp.lang.c++.moderated, 2002-03-19),
-// Rani Sharoni's USENET posting cited above, the non-template has_xxx
-// implementations above, and discussion on the Boost mailing list.
-
-#   if !defined(BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES)
-#     if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-#       define BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES 1
-#     endif
-#   endif
-
-#   if !defined(BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION)
-#     if (defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS))
-#       define BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION 1
-#     endif
-#   endif
-
-#   if !defined(BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE)
-#     if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-#       define BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE 1
-#     endif
-#   endif
-
-// NOTE: Many internal implementation macros take a Boost.Preprocessor
-// array argument called args which is of the following form.
-//           ( 4, ( trait, name, max_arity, default_ ) )
-
-#   define BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
-      BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _introspect) \
-    /**/
-
-#   define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
-      BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _substitute), n) \
-    /**/
-
-#   define BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) \
-      BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _test) \
-    /**/
-
-// Thanks to Guillaume Melquiond for pointing out the need for the
-// "substitute" template as an argument to the overloaded test
-// functions to get SFINAE to work for member templates with the
-// correct name but different number of arguments.
-#   define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE(z, n, args) \
-      template< \
-          template< BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(n), typename V) > class V \
-       > \
-      struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) { \
-      }; \
-    /**/
-
-#   define BOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \
-      BOOST_PP_REPEAT( \
-          BOOST_PP_ARRAY_ELEM(2, args) \
-        , BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE \
-        , args \
-      ) \
-    /**/
-
-#   if !BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION
-#     define BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \
-        template< typename V > \
-        static boost::mpl::aux::no_tag \
-        BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \
-      /**/
-#   else
-#     define BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \
-        static boost::mpl::aux::no_tag \
-        BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \
-      /**/
-#   endif
-
-#   if !BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES
-#     define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT(z, n, args) \
-        template< typename V > \
-        static boost::mpl::aux::yes_tag \
-        BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
-            boost::mpl::aux::type_wrapper< V > const volatile* \
-          , BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) < \
-                V::template BOOST_PP_ARRAY_ELEM(1, args) \
-            >* = 0 \
-        ); \
-      /**/
-#     define BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \
-        BOOST_PP_REPEAT( \
-            BOOST_PP_ARRAY_ELEM(2, args) \
-          , BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT \
-          , args \
-        ) \
-      /**/
-#   else
-#     define BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \
-        template< typename V > \
-        static boost::mpl::aux::yes_tag \
-        BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
-            V const volatile* \
-          , member_macro(args, V, T)* = 0 \
-        ); \
-      /**/
-#   endif
-
-#   if !BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION
-#     define BOOST_MPL_HAS_MEMBER_TEST(args) \
-          sizeof(BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U >(0)) \
-              == sizeof(boost::mpl::aux::yes_tag) \
-      /**/
-#   else
-#     if !BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES
-#       define BOOST_MPL_HAS_MEMBER_TEST(args) \
-          sizeof( \
-              BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
-                  static_cast< boost::mpl::aux::type_wrapper< U >* >(0) \
-              ) \
-          ) == sizeof(boost::mpl::aux::yes_tag) \
-        /**/
-#     else
-#       define BOOST_MPL_HAS_MEMBER_TEST(args) \
-          sizeof( \
-              BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
-                  static_cast< U* >(0) \
-              ) \
-          ) == sizeof(boost::mpl::aux::yes_tag) \
-        /**/
-#     endif
-#   endif
-
-#   define BOOST_MPL_HAS_MEMBER_INTROSPECT( \
-               args, substitute_macro, member_macro \
-           ) \
-      template< typename U > \
-      struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) { \
-          BOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \
-          BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \
-          BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \
-          BOOST_STATIC_CONSTANT( \
-              bool, value = BOOST_MPL_HAS_MEMBER_TEST(args) \
-          ); \
-          typedef boost::mpl::bool_< value > type; \
-      }; \
-    /**/
-
-#   define BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \
-               args, introspect_macro, substitute_macro, member_macro \
-           ) \
-      template< \
-          typename T \
-        , typename fallback_ \
-              = boost::mpl::bool_< BOOST_PP_ARRAY_ELEM(3, args) > \
-      > \
-      class BOOST_PP_ARRAY_ELEM(0, args) { \
-          introspect_macro(args, substitute_macro, member_macro) \
-      public: \
-          static const bool value \
-              = BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< T >::value; \
-          typedef typename BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< \
-              T \
-          >::type type; \
-      }; \
-    /**/
-
-// BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE expands to the full
-// implementation of the function-based metafunction. Compile with -E
-// to see the preprocessor output for this macro.
-#   define BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \
-               args, substitute_macro, member_macro \
-           ) \
-      BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \
-          args \
-        , BOOST_MPL_HAS_MEMBER_INTROSPECT \
-        , substitute_macro \
-        , member_macro \
-      ) \
-    /**/
-
-#   if BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE
-
-#     if !defined(BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE)
-#       if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-#         define BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE 1
-#       endif
-#     endif
-
-#     if !BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE
-#       define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
-                   args, n \
-               ) \
-          BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
-        /**/
-#     else
-#       define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
-                   args, n \
-               ) \
-          BOOST_PP_CAT( \
-              boost_mpl_has_xxx_ \
-            , BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
-          ) \
-        /**/
-#     endif
-
-#     define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME( \
-                 args \
-             ) \
-        BOOST_PP_CAT( \
-            BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
-                args, 0 \
-            ) \
-          , _tag \
-        ) \
-      /**/
-
-#     define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \
-                 z, n, args \
-             ) \
-        template< \
-             template< BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(n), typename U) > class U \
-        > \
-        struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
-                args, n \
-               ) { \
-            typedef \
-                BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \
-                type; \
-        }; \
-      /**/
-
-#     define BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \
-                 args, substitute_macro \
-             ) \
-        typedef void \
-            BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args); \
-        BOOST_PP_REPEAT( \
-            BOOST_PP_ARRAY_ELEM(2, args) \
-          , BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE \
-          , args \
-        ) \
-      /**/
-
-#     define BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE( \
-                 args, member_macro \
-             ) \
-        template< \
-            typename U \
-          , typename V \
-                = BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \
-        > \
-        struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) { \
-            BOOST_STATIC_CONSTANT(bool, value = false); \
-            typedef boost::mpl::bool_< value > type; \
-        }; \
-      /**/
-
-#     define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE( \
-                 z, n, args \
-             ) \
-        template< typename U > \
-        struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< \
-            U \
-          , typename \
-                BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
-                    args, n \
-                )< \
-                    BOOST_MSVC_TYPENAME U::BOOST_PP_ARRAY_ELEM(1, args)< > \
-                >::type \
-        > { \
-            BOOST_STATIC_CONSTANT(bool, value = true); \
-            typedef boost::mpl::bool_< value > type; \
-        }; \
-      /**/
-
-#     define BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE( \
-                 args, member_macro \
-             ) \
-        BOOST_PP_REPEAT( \
-            BOOST_PP_ARRAY_ELEM(2, args) \
-          , BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE \
-          , args \
-        ) \
-      /**/
-
-#     define BOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE( \
-                 args, substitute_macro, member_macro \
-             ) \
-        BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE(args, member_macro) \
-        BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE(args, member_macro) \
-        template< typename U > \
-        struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
-            : BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U > { \
-        }; \
-      /**/
- 
-// BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE expands to the full
-// implementation of the template-based metafunction. Compile with -E
-// to see the preprocessor output for this macro.
-//
-// Note that if BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE is
-// defined BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE needs
-// to be expanded at namespace level before
-// BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE can be used.
-#     define BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \
-                 args, substitute_macro, member_macro \
-             ) \
-        BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \
-            args, substitute_macro \
-        ) \
-        BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \
-            args \
-          , BOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE \
-          , substitute_macro \
-          , member_macro \
-        ) \
-      /**/
-
-#   endif // BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE
-
-// Note: In the current implementation the parameter and access macros
-// are no longer expanded.
-#   if !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-#     define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \
-        BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \
-            ( 4, ( trait, name, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \
-          , BOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \
-          , BOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \
-        ) \
-      /**/
-#   else
-#     define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \
-        BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \
-            ( 4, ( trait, name, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \
-          , BOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \
-          , BOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \
-        ) \
-      /**/
-#   endif
-
-#else // BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
-
-// placeholder implementation
-
-#   define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \
-      template< typename T \
-              , typename fallback_ = boost::mpl::bool_< default_ > > \
-      struct trait { \
-          BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \
-          typedef fallback_ type; \
-      }; \
-    /**/
-
-#endif // BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
-
-#   define BOOST_MPL_HAS_XXX_TEMPLATE_DEF(name) \
-      BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF( \
-          BOOST_PP_CAT(has_, name), name, false \
-      ) \
-    /**/
-
-#endif // BOOST_MPL_HAS_XXX_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/identity.hpp b/SRC/Boost/boost/mpl/identity.hpp
deleted file mode 100755
index 9046cf3..0000000
--- a/SRC/Boost/boost/mpl/identity.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_IDENTITY_HPP_INCLUDED
-#define BOOST_MPL_IDENTITY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: identity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct identity
-{
-    typedef T type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, identity, (T))
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct make_identity
-{
-    typedef identity<T> type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, make_identity, (T))
-};
-
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, identity)
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, make_identity)
-
-}}
-
-#endif // BOOST_MPL_IDENTITY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/if.hpp b/SRC/Boost/boost/mpl/if.hpp
deleted file mode 100755
index 5f8c8f6..0000000
--- a/SRC/Boost/boost/mpl/if.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-
-#ifndef BOOST_MPL_IF_HPP_INCLUDED
-#define BOOST_MPL_IF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/static_cast.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/integral.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
-      bool C
-    , typename T1
-    , typename T2
-    >
-struct if_c
-{
-    typedef T1 type;
-};
-
-template<
-      typename T1
-    , typename T2
-    >
-struct if_c<false,T1,T2>
-{
-    typedef T2 type;
-};
-
-// agurt, 05/sep/04: nondescriptive parameter names for the sake of DigitalMars
-// (and possibly MWCW < 8.0); see http://article.gmane.org/gmane.comp.lib.boost.devel/108959
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename BOOST_MPL_AUX_NA_PARAM(T3)
-    >
-struct if_
-{
- private:
-    // agurt, 02/jan/03: two-step 'type' definition for the sake of aCC 
-    typedef if_c<
-#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS)
-          BOOST_MPL_AUX_VALUE_WKND(T1)::value
-#else
-          BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
-#endif
-        , T2
-        , T3
-        > almost_type_;
- 
- public:
-    typedef typename almost_type_::type type;
-    
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(T1,T2,T3))
-};
-
-#else
-
-// no partial class template specialization
-
-namespace aux {
-
-template< bool C >
-struct if_impl
-{
-    template< typename T1, typename T2 > struct result_
-    {
-        typedef T1 type;
-    };
-};
-
-template<>
-struct if_impl<false>
-{
-    template< typename T1, typename T2 > struct result_
-    { 
-        typedef T2 type;
-    };
-};
-
-} // namespace aux
-
-template<
-      bool C_
-    , typename T1
-    , typename T2
-    >
-struct if_c
-{
-    typedef typename aux::if_impl< C_ >
-        ::template result_<T1,T2>::type type;
-};
-
-// (almost) copy & paste in order to save one more 
-// recursively nested template instantiation to user
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(C_)
-    , typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct if_
-{
-    enum { msvc_wknd_ = BOOST_MPL_AUX_MSVC_VALUE_WKND(C_)::value };
-
-    typedef typename aux::if_impl< BOOST_MPL_AUX_STATIC_CAST(bool, msvc_wknd_) >
-        ::template result_<T1,T2>::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(C_,T1,T2))
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-BOOST_MPL_AUX_NA_SPEC(3, if_)
-
-}}
-
-#endif // BOOST_MPL_IF_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/insert_fwd.hpp b/SRC/Boost/boost/mpl/insert_fwd.hpp
deleted file mode 100755
index 0733f43..0000000
--- a/SRC/Boost/boost/mpl/insert_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_INSERT_FWD_HPP_INCLUDED
-#define BOOST_MPL_INSERT_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: insert_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct insert_impl;
-template< typename Sequence, typename Pos_or_T, typename T > struct insert;
-
-}}
-
-#endif // BOOST_MPL_INSERT_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/inserter.hpp b/SRC/Boost/boost/mpl/inserter.hpp
deleted file mode 100755
index abe49c2..0000000
--- a/SRC/Boost/boost/mpl/inserter.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_INSERTER_HPP_INCLUDED
-#define BOOST_MPL_INSERTER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: inserter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template<
-      typename Sequence
-    , typename Operation
-    >
-struct inserter
-{
-    typedef Sequence    state;
-    typedef Operation   operation;
-};
-
-}}
-
-#endif // BOOST_MPL_INSERTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/int.hpp b/SRC/Boost/boost/mpl/int.hpp
deleted file mode 100755
index af6b2ef..0000000
--- a/SRC/Boost/boost/mpl/int.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#ifndef BOOST_MPL_INT_HPP_INCLUDED
-#define BOOST_MPL_INT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: int.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/int_fwd.hpp>
-
-#define AUX_WRAPPER_VALUE_TYPE int
-#include <boost/mpl/aux_/integral_wrapper.hpp>
-
-#endif // BOOST_MPL_INT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/int_fwd.hpp b/SRC/Boost/boost/mpl/int_fwd.hpp
deleted file mode 100755
index e6ac339..0000000
--- a/SRC/Boost/boost/mpl/int_fwd.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_INT_FWD_HPP_INCLUDED
-#define BOOST_MPL_INT_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: int_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(int_)
-
-#endif // BOOST_MPL_INT_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/integral_c.hpp b/SRC/Boost/boost/mpl/integral_c.hpp
deleted file mode 100755
index 378bbf3..0000000
--- a/SRC/Boost/boost/mpl/integral_c.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-#ifndef BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
-#define BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2006
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: integral_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/integral_c_fwd.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(__HP_aCC, <= 53800)
-// the type of non-type template arguments may not depend on template arguments
-#   define AUX_WRAPPER_PARAMS(N) typename T, long N
-#else
-#   define AUX_WRAPPER_PARAMS(N) typename T, T N
-#endif
-
-#define AUX_WRAPPER_NAME integral_c
-#define AUX_WRAPPER_VALUE_TYPE T
-#define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< T, value >
-#include <boost/mpl/aux_/integral_wrapper.hpp>
-
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !BOOST_WORKAROUND(__BORLANDC__, <= 0x551)
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-// 'bool' constant doesn't have 'next'/'prior' members
-template< bool C >
-struct integral_c<bool, C>
-{
-    BOOST_STATIC_CONSTANT(bool, value = C);
-    typedef integral_c_tag tag;
-    typedef integral_c type;
-    typedef bool value_type;
-    operator bool() const { return this->value; }
-};
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-#endif
-
-#endif // BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/integral_c_fwd.hpp b/SRC/Boost/boost/mpl/integral_c_fwd.hpp
deleted file mode 100755
index f82fa72..0000000
--- a/SRC/Boost/boost/mpl/integral_c_fwd.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
-#define BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2006
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: integral_c_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-#include <boost/mpl/aux_/adl_barrier.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-#if BOOST_WORKAROUND(__HP_aCC, <= 53800)
-// the type of non-type template arguments may not depend on template arguments
-template< typename T, long N > struct integral_c;
-#else
-template< typename T, T N > struct integral_c;
-#endif
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c)
-
-#endif // BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/integral_c_tag.hpp b/SRC/Boost/boost/mpl/integral_c_tag.hpp
deleted file mode 100755
index 77964fb..0000000
--- a/SRC/Boost/boost/mpl/integral_c_tag.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#ifndef BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
-#define BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: integral_c_tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-struct integral_c_tag { BOOST_STATIC_CONSTANT(int, value = 0); };
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c_tag)
-
-#endif // BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/is_placeholder.hpp b/SRC/Boost/boost/mpl/is_placeholder.hpp
deleted file mode 100755
index f2282c8..0000000
--- a/SRC/Boost/boost/mpl/is_placeholder.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-#ifndef BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
-#define BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: is_placeholder.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/arg_fwd.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-namespace boost { namespace mpl {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename T >
-struct is_placeholder
-    : bool_<false>
-{
-};
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
-struct is_placeholder< arg<N> >
-    : bool_<true>
-{
-};
-
-#else
-
-namespace aux {
-
-aux::no_tag is_placeholder_helper(...);
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
-aux::yes_tag is_placeholder_helper(aux::type_wrapper< arg<N> >*);
-
-} // namespace aux
-
-template< typename T >
-struct is_placeholder
-{
-    static aux::type_wrapper<T>* get();
-    BOOST_STATIC_CONSTANT(bool, value = 
-          sizeof(aux::is_placeholder_helper(get())) == sizeof(aux::yes_tag)
-        );
-    
-    typedef bool_<value> type;
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-}}
-
-#endif // BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/is_sequence.hpp b/SRC/Boost/boost/mpl/is_sequence.hpp
deleted file mode 100755
index e2f12ca..0000000
--- a/SRC/Boost/boost/mpl/is_sequence.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-
-#ifndef BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED
-#define BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: is_sequence.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/sequence_tag_fwd.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/has_tag.hpp>
-#include <boost/mpl/aux_/has_begin.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-#   include <boost/mpl/aux_/msvc_is_class.hpp>
-#elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-#   include <boost/type_traits/is_class.hpp>
-#endif
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-namespace aux {
-
-// agurt, 11/jun/03: 
-// MSVC 6.5/7.0 fails if 'has_begin' is instantiated on a class type that has a
-// 'begin' member that doesn't name a type; e.g. 'has_begin< std::vector<int> >'
-// would fail; requiring 'T' to have _both_ 'tag' and 'begin' members workarounds
-// the issue for most real-world cases
-template< typename T > struct is_sequence_impl
-    : and_<
-          identity< aux::has_tag<T> >
-        , identity< aux::has_begin<T> >
-        >
-{
-};
-
-} // namespace aux
-        
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct is_sequence
-    : if_<
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-          aux::msvc_is_class<T> 
-#else
-          boost::is_class<T> 
-#endif
-        , aux::is_sequence_impl<T>
-        , bool_<false>
-        >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T))
-};
-
-#elif defined(BOOST_MPL_CFG_NO_HAS_XXX)
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct is_sequence
-    : bool_<false>
-{
-};
-
-#else
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct is_sequence
-    : not_< is_same< typename begin<T>::type, void_ > >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T))
-};
-
-#endif // BOOST_MSVC
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-template<> struct is_sequence<int>
-    : bool_<false>
-{
-};
-#endif
-
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, is_sequence)
-
-}}
-
-#endif // BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/iter_fold.hpp b/SRC/Boost/boost/mpl/iter_fold.hpp
deleted file mode 100755
index ba1c93b..0000000
--- a/SRC/Boost/boost/mpl/iter_fold.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#ifndef BOOST_MPL_ITER_FOLD_HPP_INCLUDED
-#define BOOST_MPL_ITER_FOLD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: iter_fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/O1_size.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/aux_/iter_fold_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(State)
-    , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)
-    >
-struct iter_fold
-{
-    typedef typename aux::iter_fold_impl<
-          ::boost::mpl::O1_size<Sequence>::value
-        , typename begin<Sequence>::type
-        , typename end<Sequence>::type
-        , State
-        , typename lambda<ForwardOp>::type
-        >::state type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,iter_fold,(Sequence,State,ForwardOp))
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, iter_fold)
-
-}}
-
-#endif // BOOST_MPL_ITER_FOLD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/iter_fold_if.hpp b/SRC/Boost/boost/mpl/iter_fold_if.hpp
deleted file mode 100755
index 8f33c09..0000000
--- a/SRC/Boost/boost/mpl/iter_fold_if.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-
-#ifndef BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED
-#define BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright Eric Friedman 2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: iter_fold_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/logical.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/pair.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/aux_/iter_fold_if_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< typename Predicate, typename LastIterator >
-struct iter_fold_if_pred
-{
-    template< typename State, typename Iterator > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : and_<
-              not_< is_same<Iterator,LastIterator> >
-            , apply1<Predicate,Iterator>
-            >
-    {
-#else
-    {
-        typedef and_<
-              not_< is_same<Iterator,LastIterator> >
-            , apply1<Predicate,Iterator>
-            > type;
-#endif
-    };
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(State)
-    , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)
-    , typename BOOST_MPL_AUX_NA_PARAM(ForwardPredicate)
-    , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp)
-    , typename BOOST_MPL_AUX_NA_PARAM(BackwardPredicate)
-    >
-struct iter_fold_if
-{
-
-    typedef typename begin<Sequence>::type first_;
-    typedef typename end<Sequence>::type last_;
-
-    typedef typename eval_if<
-          is_na<BackwardPredicate>
-        , if_< is_na<BackwardOp>, always<false_>, always<true_> >
-        , identity<BackwardPredicate>
-        >::type backward_pred_;
-
-// cwpro8 doesn't like 'cut-off' type here (use typedef instead)
-#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) && !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
-    struct result_ :
-#else
-    typedef
-#endif
-        aux::iter_fold_if_impl<
-          first_
-        , State
-        , ForwardOp
-        , protect< aux::iter_fold_if_pred< ForwardPredicate,last_ > >
-        , BackwardOp
-        , backward_pred_
-        >
-#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) && !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
-    { };
-#else
-    result_;
-#endif
-
-public:
-
-    typedef pair<
-          typename result_::state
-        , typename result_::iterator
-        > type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          6
-        , iter_fold_if
-        , (Sequence,State,ForwardOp,ForwardPredicate,BackwardOp,BackwardPredicate)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(6, iter_fold_if)
-
-}}
-
-#endif // BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/iterator_category.hpp b/SRC/Boost/boost/mpl/iterator_category.hpp
deleted file mode 100755
index bdb4d93..0000000
--- a/SRC/Boost/boost/mpl/iterator_category.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED
-#define BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: iterator_category.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost {  namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Iterator)
-    >
-struct iterator_category
-{
-    typedef typename Iterator::category type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,iterator_category,(Iterator))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, iterator_category)
-
-}}
-
-#endif // BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/iterator_range.hpp b/SRC/Boost/boost/mpl/iterator_range.hpp
deleted file mode 100755
index cc1c19f..0000000
--- a/SRC/Boost/boost/mpl/iterator_range.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED
-#define BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: iterator_range.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-struct iterator_range_tag;
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(First)
-    , typename BOOST_MPL_AUX_NA_PARAM(Last)
-    >
-struct iterator_range
-{
-    typedef iterator_range_tag tag;
-    typedef iterator_range type;
-    typedef First begin;
-    typedef Last end;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,iterator_range,(First,Last))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, iterator_range)
-
-}}
-
-#endif // BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/iterator_tags.hpp b/SRC/Boost/boost/mpl/iterator_tags.hpp
deleted file mode 100755
index 4281217..0000000
--- a/SRC/Boost/boost/mpl/iterator_tags.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED
-#define BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: iterator_tags.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/int.hpp>
-
-namespace boost { namespace mpl {
-
-struct forward_iterator_tag       : int_<0> { typedef forward_iterator_tag type; };
-struct bidirectional_iterator_tag : int_<1> { typedef bidirectional_iterator_tag type; };
-struct random_access_iterator_tag : int_<2> { typedef random_access_iterator_tag type; };
-
-}}
-
-#endif // BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/key_type_fwd.hpp b/SRC/Boost/boost/mpl/key_type_fwd.hpp
deleted file mode 100755
index 311f655..0000000
--- a/SRC/Boost/boost/mpl/key_type_fwd.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED
-#define BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: key_type_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct key_type_impl;
-template< typename AssociativeSequence, typename T > struct key_type;
-
-}}
-
-#endif // BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/lambda.hpp b/SRC/Boost/boost/mpl/lambda.hpp
deleted file mode 100755
index c1df035..0000000
--- a/SRC/Boost/boost/mpl/lambda.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#ifndef BOOST_MPL_LAMBDA_HPP_INCLUDED
-#define BOOST_MPL_LAMBDA_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: lambda.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/lambda_fwd.hpp>
-#include <boost/mpl/bind.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-#   include <boost/mpl/aux_/full_lambda.hpp>
-#else
-#   include <boost/mpl/aux_/lambda_no_ctps.hpp>
-#   include <boost/mpl/aux_/lambda_support.hpp>
-#   define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS
-#endif
-
-#endif // BOOST_MPL_LAMBDA_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/lambda_fwd.hpp b/SRC/Boost/boost/mpl/lambda_fwd.hpp
deleted file mode 100755
index ae7619a..0000000
--- a/SRC/Boost/boost/mpl/lambda_fwd.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
-#define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: lambda_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/void_fwd.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-
-#   include <boost/mpl/int.hpp>
-#   include <boost/mpl/aux_/lambda_arity_param.hpp>
-#   include <boost/mpl/aux_/template_arity_fwd.hpp>
-
-namespace boost { namespace mpl {
-
-template< 
-      typename T = na
-    , typename Tag = void_
-    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
-          typename Arity = int_< aux::template_arity<T>::value >
-        )
-    >
-struct lambda;
-
-}}
-
-#else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-
-#   include <boost/mpl/bool.hpp>
-
-namespace boost { namespace mpl {
-
-template< 
-      typename T = na
-    , typename Tag = void_
-    , typename Protect = true_
-    > 
-struct lambda;
-
-}}
-
-#endif
-
-#endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/less.hpp b/SRC/Boost/boost/mpl/less.hpp
deleted file mode 100755
index 3a8d094..0000000
--- a/SRC/Boost/boost/mpl/less.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LESS_HPP_INCLUDED
-#define BOOST_MPL_LESS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: less.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME less
-#define AUX778076_OP_TOKEN <
-#include <boost/mpl/aux_/comparison_op.hpp>
-
-#endif // BOOST_MPL_LESS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/less_equal.hpp b/SRC/Boost/boost/mpl/less_equal.hpp
deleted file mode 100755
index e870bc7..0000000
--- a/SRC/Boost/boost/mpl/less_equal.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LESS_EQUAL_HPP_INCLUDED
-#define BOOST_MPL_LESS_EQUAL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: less_equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME less_equal
-#define AUX778076_OP_TOKEN <=
-#include <boost/mpl/aux_/comparison_op.hpp>
-
-#endif // BOOST_MPL_LESS_EQUAL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/limits/arity.hpp b/SRC/Boost/boost/mpl/limits/arity.hpp
deleted file mode 100755
index e83fcec..0000000
--- a/SRC/Boost/boost/mpl/limits/arity.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: arity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
-#   define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 5
-#endif
-
-#endif // BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/limits/list.hpp b/SRC/Boost/boost/mpl/limits/list.hpp
deleted file mode 100755
index 3a2263a..0000000
--- a/SRC/Boost/boost/mpl/limits/list.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LIMITS_LIST_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_LIST_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_LIMIT_LIST_SIZE)
-#   define BOOST_MPL_LIMIT_LIST_SIZE 20
-#endif
-
-#endif // BOOST_MPL_LIMITS_LIST_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/limits/unrolling.hpp b/SRC/Boost/boost/mpl/limits/unrolling.hpp
deleted file mode 100755
index 97b3bca..0000000
--- a/SRC/Boost/boost/mpl/limits/unrolling.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: unrolling.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_LIMIT_UNROLLING)
-#   define BOOST_MPL_LIMIT_UNROLLING 4
-#endif
-
-#endif // BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/limits/vector.hpp b/SRC/Boost/boost/mpl/limits/vector.hpp
deleted file mode 100755
index e333109..0000000
--- a/SRC/Boost/boost/mpl/limits/vector.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_LIMIT_VECTOR_SIZE)
-#   define BOOST_MPL_LIMIT_VECTOR_SIZE 20
-#endif
-
-#endif // BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list.hpp b/SRC/Boost/boost/mpl/list.hpp
deleted file mode 100755
index b2c9261..0000000
--- a/SRC/Boost/boost/mpl/list.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_HPP_INCLUDED
-#define BOOST_MPL_LIST_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/limits/list.hpp>
-#   include <boost/mpl/aux_/na.hpp>
-#   include <boost/mpl/aux_/config/preprocessor.hpp>
-
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/cat.hpp>
-#   include <boost/preprocessor/stringize.hpp>
-
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
-#   define AUX778076_LIST_HEADER \
-    BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE).hpp \
-    /**/
-#else
-#   define AUX778076_LIST_HEADER \
-    BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE)##.hpp \
-    /**/
-#endif
-
-#   include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_LIST_HEADER)
-#   undef AUX778076_LIST_HEADER
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER list.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/list.hpp>
-
-#   define AUX778076_SEQUENCE_NAME list
-#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_LIST_SIZE
-#   include <boost/mpl/aux_/sequence_wrapper.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_LIST_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/aux_/O1_size.hpp b/SRC/Boost/boost/mpl/list/aux_/O1_size.hpp
deleted file mode 100755
index f6e9889..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/O1_size.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/O1_size_fwd.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct O1_size_impl< aux::list_tag >
-{
-    template< typename List > struct apply
-        : List::size
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/aux_/begin_end.hpp b/SRC/Boost/boost/mpl/list/aux_/begin_end.hpp
deleted file mode 100755
index 63b2ee5..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/begin_end.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: begin_end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end_fwd.hpp>
-#include <boost/mpl/list/aux_/iterator.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-#include <boost/mpl/list/aux_/item.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct begin_impl< aux::list_tag >
-{
-    template< typename List > struct apply
-    {
-        typedef l_iter<typename List::type> type;
-    };
-};
-
-template<>
-struct end_impl< aux::list_tag >
-{
-    template< typename > struct apply
-    {
-        typedef l_iter<l_end> type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/aux_/clear.hpp b/SRC/Boost/boost/mpl/list/aux_/clear.hpp
deleted file mode 100755
index 7c3a308..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/clear.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: clear.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/clear_fwd.hpp>
-#include <boost/mpl/list/aux_/item.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct clear_impl< aux::list_tag >
-{
-    template< typename List > struct apply
-    {
-        typedef l_end type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/aux_/empty.hpp b/SRC/Boost/boost/mpl/list/aux_/empty.hpp
deleted file mode 100755
index f71646c..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/empty.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/empty_fwd.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct empty_impl< aux::list_tag >
-{
-    template< typename List > struct apply
-        : not_<typename List::size>
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/aux_/front.hpp b/SRC/Boost/boost/mpl/list/aux_/front.hpp
deleted file mode 100755
index 4d0dec9..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/front.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/front_fwd.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct front_impl< aux::list_tag >
-{
-    template< typename List > struct apply
-    {
-        typedef typename List::item type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/aux_/include_preprocessed.hpp b/SRC/Boost/boost/mpl/list/aux_/include_preprocessed.hpp
deleted file mode 100755
index e08139a..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/include_preprocessed.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2006
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/stringize.hpp>
-
-#   define AUX778076_HEADER \
-    aux_/preprocessed/plain/BOOST_MPL_PREPROCESSED_HEADER \
-/**/
-
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))
-#   define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER)
-#   include AUX778076_INCLUDE_STRING
-#   undef AUX778076_INCLUDE_STRING
-#else
-#   include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER)
-#endif
-
-#   undef AUX778076_HEADER
-
-#undef BOOST_MPL_PREPROCESSED_HEADER
diff --git a/SRC/Boost/boost/mpl/list/aux_/item.hpp b/SRC/Boost/boost/mpl/list/aux_/item.hpp
deleted file mode 100755
index 175ee57..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/item.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename Size
-    , typename T
-    , typename Next
-    >
-struct l_item
-{
-// agurt, 17/jul/03: to facilitate the deficient 'is_sequence' implementation 
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    typedef int begin;
-#endif
-    typedef aux::list_tag tag;
-    typedef l_item type;
-
-    typedef Size size;
-    typedef T item;
-    typedef Next next;
-};
-
-struct l_end
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    typedef int begin;
-#endif
-    typedef aux::list_tag tag;
-    typedef l_end type;
-    typedef long_<0> size;
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/aux_/iterator.hpp b/SRC/Boost/boost/mpl/list/aux_/iterator.hpp
deleted file mode 100755
index bc830e4..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/iterator.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/list/aux_/item.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/lambda_spec.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename Node >
-struct l_iter
-{
-    typedef aux::l_iter_tag tag;
-    typedef forward_iterator_tag category;
-};
-
-template< typename Node >
-struct deref< l_iter<Node> >
-{
-    typedef typename Node::item type;
-};
-
-template< typename Node >
-struct next< l_iter<Node> >
-{
-    typedef l_iter< typename Node::next > type;
-};
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template< typename Node >
-struct l_iter
-{
-    typedef aux::l_iter_tag tag;
-    typedef forward_iterator_tag category;
-    typedef typename Node::item type;
-    typedef l_iter< typename mpl::next<Node>::type > next;
-};
-
-#endif
-
-
-template<> struct l_iter<l_end>
-{
-    typedef aux::l_iter_tag tag;
-    typedef forward_iterator_tag category;
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    typedef na type;
-    typedef l_iter next;
-#endif
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, l_iter)
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/aux_/numbered.hpp b/SRC/Boost/boost/mpl/list/aux_/numbered.hpp
deleted file mode 100755
index 397b19c..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/numbered.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Peter Dimov 2000-2002
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if defined(BOOST_PP_IS_ITERATING)
-
-#include <boost/preprocessor/enum_params.hpp>
-#include <boost/preprocessor/enum_shifted_params.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define i BOOST_PP_FRAME_ITERATION(1)
-
-#if i == 1
-
-template<
-      BOOST_PP_ENUM_PARAMS(i, typename T)
-    >
-struct list1
-    : l_item<
-          long_<1>
-        , T0
-        , l_end
-        >
-{
-    typedef list1 type;
-};
-
-#else
-
-#   define MPL_AUX_LIST_TAIL(list, i, T) \
-    BOOST_PP_CAT(list,BOOST_PP_DEC(i))< \
-      BOOST_PP_ENUM_SHIFTED_PARAMS(i, T) \
-    > \
-    /**/
-    
-template<
-      BOOST_PP_ENUM_PARAMS(i, typename T)
-    >
-struct BOOST_PP_CAT(list,i)
-    : l_item<
-          long_<i>
-        , T0
-        , MPL_AUX_LIST_TAIL(list,i,T)
-        >
-{
-    typedef BOOST_PP_CAT(list,i) type;
-};
-
-#   undef MPL_AUX_LIST_TAIL
-
-#endif // i == 1
-
-#undef i
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/list/aux_/numbered_c.hpp b/SRC/Boost/boost/mpl/list/aux_/numbered_c.hpp
deleted file mode 100755
index b147200..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/numbered_c.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: numbered_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if defined(BOOST_PP_IS_ITERATING)
-
-#include <boost/preprocessor/enum_params.hpp>
-#include <boost/preprocessor/enum_shifted_params.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define i BOOST_PP_FRAME_ITERATION(1)
-
-#if i == 1
-
-template<
-      typename T
-    , BOOST_PP_ENUM_PARAMS(i, T C)
-    >
-struct list1_c
-    : l_item<
-          long_<1>
-        , integral_c<T,C0>
-        , l_end
-        >
-{
-    typedef list1_c type;
-    typedef T value_type;
-};
-
-#else
-
-#   define MPL_AUX_LIST_C_TAIL(list, i, C) \
-    BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_PP_DEC(i)),_c)<T, \
-      BOOST_PP_ENUM_SHIFTED_PARAMS(i, C) \
-    > \
-    /**/
-    
-template<
-      typename T
-    , BOOST_PP_ENUM_PARAMS(i, T C)
-    >
-struct BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c)
-    : l_item<
-          long_<i>
-        , integral_c<T,C0>
-        , MPL_AUX_LIST_C_TAIL(list,i,C)
-        >
-{
-    typedef BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c) type;
-    typedef T value_type;
-};
-
-#   undef MPL_AUX_LIST_C_TAIL
-
-#endif // i == 1
-
-#undef i
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/list/aux_/pop_front.hpp b/SRC/Boost/boost/mpl/list/aux_/pop_front.hpp
deleted file mode 100755
index afd732c..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/pop_front.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: pop_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/pop_front_fwd.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct pop_front_impl< aux::list_tag >
-{
-    template< typename List > struct apply
-    {
-        typedef typename mpl::next<List>::type type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list10.hpp b/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list10.hpp
deleted file mode 100755
index 4d0d4c1..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list10.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list/list10.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0
-    >
-struct list1
-    : l_item<
-          long_<1>
-        , T0
-        , l_end
-        >
-{
-    typedef list1 type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct list2
-    : l_item<
-          long_<2>
-        , T0
-        , list1<T1>
-        >
-{
-    typedef list2 type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct list3
-    : l_item<
-          long_<3>
-        , T0
-        , list2< T1,T2 >
-        >
-{
-    typedef list3 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct list4
-    : l_item<
-          long_<4>
-        , T0
-        , list3< T1,T2,T3 >
-        >
-{
-    typedef list4 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct list5
-    : l_item<
-          long_<5>
-        , T0
-        , list4< T1,T2,T3,T4 >
-        >
-{
-    typedef list5 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct list6
-    : l_item<
-          long_<6>
-        , T0
-        , list5< T1,T2,T3,T4,T5 >
-        >
-{
-    typedef list6 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct list7
-    : l_item<
-          long_<7>
-        , T0
-        , list6< T1,T2,T3,T4,T5,T6 >
-        >
-{
-    typedef list7 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct list8
-    : l_item<
-          long_<8>
-        , T0
-        , list7< T1,T2,T3,T4,T5,T6,T7 >
-        >
-{
-    typedef list8 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct list9
-    : l_item<
-          long_<9>
-        , T0
-        , list8< T1,T2,T3,T4,T5,T6,T7,T8 >
-        >
-{
-    typedef list9 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct list10
-    : l_item<
-          long_<10>
-        , T0
-        , list9< T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-        >
-{
-    typedef list10 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp b/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp
deleted file mode 100755
index 637fdec..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list/list10_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0
-    >
-struct list1_c
-    : l_item<
-          long_<1>
-        , integral_c< T,C0 >
-        , l_end
-        >
-{
-    typedef list1_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1
-    >
-struct list2_c
-    : l_item<
-          long_<2>
-        , integral_c< T,C0 >
-        , list1_c< T,C1 >
-        >
-{
-    typedef list2_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2
-    >
-struct list3_c
-    : l_item<
-          long_<3>
-        , integral_c< T,C0 >
-        , list2_c< T,C1,C2 >
-        >
-{
-    typedef list3_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3
-    >
-struct list4_c
-    : l_item<
-          long_<4>
-        , integral_c< T,C0 >
-        , list3_c< T,C1,C2,C3 >
-        >
-{
-    typedef list4_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4
-    >
-struct list5_c
-    : l_item<
-          long_<5>
-        , integral_c< T,C0 >
-        , list4_c< T,C1,C2,C3,C4 >
-        >
-{
-    typedef list5_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5
-    >
-struct list6_c
-    : l_item<
-          long_<6>
-        , integral_c< T,C0 >
-        , list5_c< T,C1,C2,C3,C4,C5 >
-        >
-{
-    typedef list6_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6
-    >
-struct list7_c
-    : l_item<
-          long_<7>
-        , integral_c< T,C0 >
-        , list6_c< T,C1,C2,C3,C4,C5,C6 >
-        >
-{
-    typedef list7_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7
-    >
-struct list8_c
-    : l_item<
-          long_<8>
-        , integral_c< T,C0 >
-        , list7_c< T,C1,C2,C3,C4,C5,C6,C7 >
-        >
-{
-    typedef list8_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8
-    >
-struct list9_c
-    : l_item<
-          long_<9>
-        , integral_c< T,C0 >
-        , list8_c< T,C1,C2,C3,C4,C5,C6,C7,C8 >
-        >
-{
-    typedef list9_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9
-    >
-struct list10_c
-    : l_item<
-          long_<10>
-        , integral_c< T,C0 >
-        , list9_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-        >
-{
-    typedef list10_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list20.hpp b/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list20.hpp
deleted file mode 100755
index 0388c96..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list20.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list/list20.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct list11
-    : l_item<
-          long_<11>
-        , T0
-        , list10< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-        >
-{
-    typedef list11 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct list12
-    : l_item<
-          long_<12>
-        , T0
-        , list11< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-        >
-{
-    typedef list12 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct list13
-    : l_item<
-          long_<13>
-        , T0
-        , list12< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-        >
-{
-    typedef list13 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct list14
-    : l_item<
-          long_<14>
-        , T0
-        , list13< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-        >
-{
-    typedef list14 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct list15
-    : l_item<
-          long_<15>
-        , T0
-        , list14< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >
-        >
-{
-    typedef list15 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct list16
-    : l_item<
-          long_<16>
-        , T0
-        , list15< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >
-        >
-{
-    typedef list16 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct list17
-    : l_item<
-          long_<17>
-        , T0
-        , list16< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >
-        >
-{
-    typedef list17 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct list18
-    : l_item<
-          long_<18>
-        , T0
-        , list17< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >
-        >
-{
-    typedef list18 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct list19
-    : l_item<
-          long_<19>
-        , T0
-        , list18< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >
-        >
-{
-    typedef list19 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct list20
-    : l_item<
-          long_<20>
-        , T0
-        , list19< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >
-        >
-{
-    typedef list20 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp b/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp
deleted file mode 100755
index 197cd84..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list/list20_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    >
-struct list11_c
-    : l_item<
-          long_<11>
-        , integral_c< T,C0 >
-        , list10_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-        >
-{
-    typedef list11_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11
-    >
-struct list12_c
-    : l_item<
-          long_<12>
-        , integral_c< T,C0 >
-        , list11_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-        >
-{
-    typedef list12_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12
-    >
-struct list13_c
-    : l_item<
-          long_<13>
-        , integral_c< T,C0 >
-        , list12_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-        >
-{
-    typedef list13_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13
-    >
-struct list14_c
-    : l_item<
-          long_<14>
-        , integral_c< T,C0 >
-        , list13_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >
-        >
-{
-    typedef list14_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14
-    >
-struct list15_c
-    : l_item<
-          long_<15>
-        , integral_c< T,C0 >
-        , list14_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >
-        >
-{
-    typedef list15_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15
-    >
-struct list16_c
-    : l_item<
-          long_<16>
-        , integral_c< T,C0 >
-        , list15_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >
-        >
-{
-    typedef list16_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16
-    >
-struct list17_c
-    : l_item<
-          long_<17>
-        , integral_c< T,C0 >
-        , list16_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >
-        >
-{
-    typedef list17_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17
-    >
-struct list18_c
-    : l_item<
-          long_<18>
-        , integral_c< T,C0 >
-        , list17_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >
-        >
-{
-    typedef list18_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18
-    >
-struct list19_c
-    : l_item<
-          long_<19>
-        , integral_c< T,C0 >
-        , list18_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >
-        >
-{
-    typedef list19_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19
-    >
-struct list20_c
-    : l_item<
-          long_<20>
-        , integral_c< T,C0 >
-        , list19_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >
-        >
-{
-    typedef list20_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list30.hpp b/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list30.hpp
deleted file mode 100755
index 8db5fdc..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list30.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list/list30.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20
-    >
-struct list21
-    : l_item<
-          long_<21>
-        , T0
-        , list20< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20 >
-        >
-{
-    typedef list21 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21
-    >
-struct list22
-    : l_item<
-          long_<22>
-        , T0
-        , list21< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21 >
-        >
-{
-    typedef list22 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22
-    >
-struct list23
-    : l_item<
-          long_<23>
-        , T0
-        , list22< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22 >
-        >
-{
-    typedef list23 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23
-    >
-struct list24
-    : l_item<
-          long_<24>
-        , T0
-        , list23< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23 >
-        >
-{
-    typedef list24 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    >
-struct list25
-    : l_item<
-          long_<25>
-        , T0
-        , list24< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24 >
-        >
-{
-    typedef list25 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25
-    >
-struct list26
-    : l_item<
-          long_<26>
-        , T0
-        , list25< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25 >
-        >
-{
-    typedef list26 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26
-    >
-struct list27
-    : l_item<
-          long_<27>
-        , T0
-        , list26< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26 >
-        >
-{
-    typedef list27 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27
-    >
-struct list28
-    : l_item<
-          long_<28>
-        , T0
-        , list27< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27 >
-        >
-{
-    typedef list28 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28
-    >
-struct list29
-    : l_item<
-          long_<29>
-        , T0
-        , list28< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28 >
-        >
-{
-    typedef list29 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    >
-struct list30
-    : l_item<
-          long_<30>
-        , T0
-        , list29< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29 >
-        >
-{
-    typedef list30 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp b/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp
deleted file mode 100755
index d81d5d3..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp
+++ /dev/null
@@ -1,183 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list/list30_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    >
-struct list21_c
-    : l_item<
-          long_<21>
-        , integral_c< T,C0 >
-        , list20_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 >
-        >
-{
-    typedef list21_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21
-    >
-struct list22_c
-    : l_item<
-          long_<22>
-        , integral_c< T,C0 >
-        , list21_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21 >
-        >
-{
-    typedef list22_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22
-    >
-struct list23_c
-    : l_item<
-          long_<23>
-        , integral_c< T,C0 >
-        , list22_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22 >
-        >
-{
-    typedef list23_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23
-    >
-struct list24_c
-    : l_item<
-          long_<24>
-        , integral_c< T,C0 >
-        , list23_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23 >
-        >
-{
-    typedef list24_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24
-    >
-struct list25_c
-    : l_item<
-          long_<25>
-        , integral_c< T,C0 >
-        , list24_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24 >
-        >
-{
-    typedef list25_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25
-    >
-struct list26_c
-    : l_item<
-          long_<26>
-        , integral_c< T,C0 >
-        , list25_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25 >
-        >
-{
-    typedef list26_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26
-    >
-struct list27_c
-    : l_item<
-          long_<27>
-        , integral_c< T,C0 >
-        , list26_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26 >
-        >
-{
-    typedef list27_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27
-    >
-struct list28_c
-    : l_item<
-          long_<28>
-        , integral_c< T,C0 >
-        , list27_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27 >
-        >
-{
-    typedef list28_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28
-    >
-struct list29_c
-    : l_item<
-          long_<29>
-        , integral_c< T,C0 >
-        , list28_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28 >
-        >
-{
-    typedef list29_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29
-    >
-struct list30_c
-    : l_item<
-          long_<30>
-        , integral_c< T,C0 >
-        , list29_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29 >
-        >
-{
-    typedef list30_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list40.hpp b/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list40.hpp
deleted file mode 100755
index 52bf019..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list40.hpp
+++ /dev/null
@@ -1,209 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list/list40.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30
-    >
-struct list31
-    : l_item<
-          long_<31>
-        , T0
-        , list30< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30 >
-        >
-{
-    typedef list31 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31
-    >
-struct list32
-    : l_item<
-          long_<32>
-        , T0
-        , list31< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31 >
-        >
-{
-    typedef list32 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32
-    >
-struct list33
-    : l_item<
-          long_<33>
-        , T0
-        , list32< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32 >
-        >
-{
-    typedef list33 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33
-    >
-struct list34
-    : l_item<
-          long_<34>
-        , T0
-        , list33< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33 >
-        >
-{
-    typedef list34 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    >
-struct list35
-    : l_item<
-          long_<35>
-        , T0
-        , list34< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34 >
-        >
-{
-    typedef list35 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35
-    >
-struct list36
-    : l_item<
-          long_<36>
-        , T0
-        , list35< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35 >
-        >
-{
-    typedef list36 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36
-    >
-struct list37
-    : l_item<
-          long_<37>
-        , T0
-        , list36< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36 >
-        >
-{
-    typedef list37 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37
-    >
-struct list38
-    : l_item<
-          long_<38>
-        , T0
-        , list37< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37 >
-        >
-{
-    typedef list38 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38
-    >
-struct list39
-    : l_item<
-          long_<39>
-        , T0
-        , list38< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38 >
-        >
-{
-    typedef list39 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    >
-struct list40
-    : l_item<
-          long_<40>
-        , T0
-        , list39< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39 >
-        >
-{
-    typedef list40 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp b/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp
deleted file mode 100755
index ea654b8..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list/list40_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    >
-struct list31_c
-    : l_item<
-          long_<31>
-        , integral_c< T,C0 >
-        , list30_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30 >
-        >
-{
-    typedef list31_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31
-    >
-struct list32_c
-    : l_item<
-          long_<32>
-        , integral_c< T,C0 >
-        , list31_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31 >
-        >
-{
-    typedef list32_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32
-    >
-struct list33_c
-    : l_item<
-          long_<33>
-        , integral_c< T,C0 >
-        , list32_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32 >
-        >
-{
-    typedef list33_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33
-    >
-struct list34_c
-    : l_item<
-          long_<34>
-        , integral_c< T,C0 >
-        , list33_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33 >
-        >
-{
-    typedef list34_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34
-    >
-struct list35_c
-    : l_item<
-          long_<35>
-        , integral_c< T,C0 >
-        , list34_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34 >
-        >
-{
-    typedef list35_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35
-    >
-struct list36_c
-    : l_item<
-          long_<36>
-        , integral_c< T,C0 >
-        , list35_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35 >
-        >
-{
-    typedef list36_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36
-    >
-struct list37_c
-    : l_item<
-          long_<37>
-        , integral_c< T,C0 >
-        , list36_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36 >
-        >
-{
-    typedef list37_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37
-    >
-struct list38_c
-    : l_item<
-          long_<38>
-        , integral_c< T,C0 >
-        , list37_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37 >
-        >
-{
-    typedef list38_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38
-    >
-struct list39_c
-    : l_item<
-          long_<39>
-        , integral_c< T,C0 >
-        , list38_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38 >
-        >
-{
-    typedef list39_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39
-    >
-struct list40_c
-    : l_item<
-          long_<40>
-        , integral_c< T,C0 >
-        , list39_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39 >
-        >
-{
-    typedef list40_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list50.hpp b/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list50.hpp
deleted file mode 100755
index 33edb5b..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list50.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list/list50.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40
-    >
-struct list41
-    : l_item<
-          long_<41>
-        , T0
-        , list40< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40 >
-        >
-{
-    typedef list41 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41
-    >
-struct list42
-    : l_item<
-          long_<42>
-        , T0
-        , list41< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41 >
-        >
-{
-    typedef list42 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42
-    >
-struct list43
-    : l_item<
-          long_<43>
-        , T0
-        , list42< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42 >
-        >
-{
-    typedef list43 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43
-    >
-struct list44
-    : l_item<
-          long_<44>
-        , T0
-        , list43< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43 >
-        >
-{
-    typedef list44 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    >
-struct list45
-    : l_item<
-          long_<45>
-        , T0
-        , list44< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44 >
-        >
-{
-    typedef list45 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45
-    >
-struct list46
-    : l_item<
-          long_<46>
-        , T0
-        , list45< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45 >
-        >
-{
-    typedef list46 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46
-    >
-struct list47
-    : l_item<
-          long_<47>
-        , T0
-        , list46< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46 >
-        >
-{
-    typedef list47 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46, typename T47
-    >
-struct list48
-    : l_item<
-          long_<48>
-        , T0
-        , list47< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47 >
-        >
-{
-    typedef list48 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46, typename T47, typename T48
-    >
-struct list49
-    : l_item<
-          long_<49>
-        , T0
-        , list48< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48 >
-        >
-{
-    typedef list49 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46, typename T47, typename T48, typename T49
-    >
-struct list50
-    : l_item<
-          long_<50>
-        , T0
-        , list49< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48,T49 >
-        >
-{
-    typedef list50 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp b/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp
deleted file mode 100755
index f9136cf..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp
+++ /dev/null
@@ -1,203 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/list/list50_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    >
-struct list41_c
-    : l_item<
-          long_<41>
-        , integral_c< T,C0 >
-        , list40_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40 >
-        >
-{
-    typedef list41_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41
-    >
-struct list42_c
-    : l_item<
-          long_<42>
-        , integral_c< T,C0 >
-        , list41_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41 >
-        >
-{
-    typedef list42_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42
-    >
-struct list43_c
-    : l_item<
-          long_<43>
-        , integral_c< T,C0 >
-        , list42_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42 >
-        >
-{
-    typedef list43_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43
-    >
-struct list44_c
-    : l_item<
-          long_<44>
-        , integral_c< T,C0 >
-        , list43_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43 >
-        >
-{
-    typedef list44_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44
-    >
-struct list45_c
-    : l_item<
-          long_<45>
-        , integral_c< T,C0 >
-        , list44_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44 >
-        >
-{
-    typedef list45_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45
-    >
-struct list46_c
-    : l_item<
-          long_<46>
-        , integral_c< T,C0 >
-        , list45_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45 >
-        >
-{
-    typedef list46_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46
-    >
-struct list47_c
-    : l_item<
-          long_<47>
-        , integral_c< T,C0 >
-        , list46_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46 >
-        >
-{
-    typedef list47_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46, T C47
-    >
-struct list48_c
-    : l_item<
-          long_<48>
-        , integral_c< T,C0 >
-        , list47_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47 >
-        >
-{
-    typedef list48_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48
-    >
-struct list49_c
-    : l_item<
-          long_<49>
-        , integral_c< T,C0 >
-        , list48_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48 >
-        >
-{
-    typedef list49_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49
-    >
-struct list50_c
-    : l_item<
-          long_<50>
-        , integral_c< T,C0 >
-        , list49_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48,C49 >
-        >
-{
-    typedef list50_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/list/aux_/push_back.hpp b/SRC/Boost/boost/mpl/list/aux_/push_back.hpp
deleted file mode 100755
index f15db34..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/push_back.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: push_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_back_fwd.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct has_push_back_impl;
-
-template<>
-struct has_push_back_impl< aux::list_tag >
-{
-    template< typename Seq > struct apply
-        : false_
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/aux_/push_front.hpp b/SRC/Boost/boost/mpl/list/aux_/push_front.hpp
deleted file mode 100755
index ea52cbf..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/push_front.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_front_fwd.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/list/aux_/item.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct push_front_impl< aux::list_tag >
-{
-    template< typename List, typename T > struct apply
-    {
-        typedef l_item<
-              typename next<typename List::size>::type
-            , T
-            , typename List::type
-            > type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/aux_/size.hpp b/SRC/Boost/boost/mpl/list/aux_/size.hpp
deleted file mode 100755
index 1ea9801..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/size.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct size_impl< aux::list_tag >
-{
-    template< typename List > struct apply
-        : List::size
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/aux_/tag.hpp b/SRC/Boost/boost/mpl/list/aux_/tag.hpp
deleted file mode 100755
index 161de42..0000000
--- a/SRC/Boost/boost/mpl/list/aux_/tag.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl { namespace aux {
-
-struct list_tag;
-struct l_iter_tag;
-
-}}}
-
-#endif // BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/list0.hpp b/SRC/Boost/boost/mpl/list/list0.hpp
deleted file mode 100755
index 6a8990f..0000000
--- a/SRC/Boost/boost/mpl/list/list0.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST0_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST0_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/list/aux_/push_front.hpp>
-#include <boost/mpl/list/aux_/pop_front.hpp>
-#include <boost/mpl/list/aux_/push_back.hpp>
-#include <boost/mpl/list/aux_/front.hpp>
-#include <boost/mpl/list/aux_/clear.hpp>
-#include <boost/mpl/list/aux_/O1_size.hpp>
-#include <boost/mpl/list/aux_/size.hpp>
-#include <boost/mpl/list/aux_/empty.hpp>
-#include <boost/mpl/list/aux_/begin_end.hpp>
-#include <boost/mpl/list/aux_/item.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Dummy = na > struct list0;
-
-template<> struct list0<na>
-    : l_end
-{
-    typedef l_end type;
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_LIST0_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/list0_c.hpp b/SRC/Boost/boost/mpl/list/list0_c.hpp
deleted file mode 100755
index 21136b7..0000000
--- a/SRC/Boost/boost/mpl/list/list0_c.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list0_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/list/list0.hpp>
-#include <boost/mpl/integral_c.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename T > struct list0_c
-    : l_end
-{
-    typedef l_end type;
-    typedef T value_type;
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/list10.hpp b/SRC/Boost/boost/mpl/list/list10.hpp
deleted file mode 100755
index d4a2579..0000000
--- a/SRC/Boost/boost/mpl/list/list10.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST10_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST10_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/list/list0.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER list10.hpp
-#   include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(1, 10, <boost/mpl/list/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST10_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/list10_c.hpp b/SRC/Boost/boost/mpl/list/list10_c.hpp
deleted file mode 100755
index fcc22ea..0000000
--- a/SRC/Boost/boost/mpl/list/list10_c.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list10_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/list/list0_c.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER list10_c.hpp
-#   include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(1, 10, <boost/mpl/list/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/list20.hpp b/SRC/Boost/boost/mpl/list/list20.hpp
deleted file mode 100755
index c7412d6..0000000
--- a/SRC/Boost/boost/mpl/list/list20.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST20_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST20_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/list/list10.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER list20.hpp
-#   include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(11, 20, <boost/mpl/list/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST20_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/list20_c.hpp b/SRC/Boost/boost/mpl/list/list20_c.hpp
deleted file mode 100755
index 0cbf524..0000000
--- a/SRC/Boost/boost/mpl/list/list20_c.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list20_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/list/list10_c.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER list20_c.hpp
-#   include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(11, 20, <boost/mpl/list/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/list30.hpp b/SRC/Boost/boost/mpl/list/list30.hpp
deleted file mode 100755
index 954c073..0000000
--- a/SRC/Boost/boost/mpl/list/list30.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST30_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST30_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/list/list20.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER list30.hpp
-#   include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(21, 30, <boost/mpl/list/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST30_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/list30_c.hpp b/SRC/Boost/boost/mpl/list/list30_c.hpp
deleted file mode 100755
index 5a4170c..0000000
--- a/SRC/Boost/boost/mpl/list/list30_c.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list30_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/list/list20_c.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER list30_c.hpp
-#   include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(21, 30, <boost/mpl/list/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/list40.hpp b/SRC/Boost/boost/mpl/list/list40.hpp
deleted file mode 100755
index e10f7fc..0000000
--- a/SRC/Boost/boost/mpl/list/list40.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST40_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST40_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/list/list30.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER list40.hpp
-#   include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(31, 40, <boost/mpl/list/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST40_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/list40_c.hpp b/SRC/Boost/boost/mpl/list/list40_c.hpp
deleted file mode 100755
index 8b1a773..0000000
--- a/SRC/Boost/boost/mpl/list/list40_c.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list40_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/list/list30_c.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER list40_c.hpp
-#   include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(31, 40, <boost/mpl/list/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/list50.hpp b/SRC/Boost/boost/mpl/list/list50.hpp
deleted file mode 100755
index 05e96ef..0000000
--- a/SRC/Boost/boost/mpl/list/list50.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST50_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST50_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/list/list40.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER list50.hpp
-#   include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(41, 50, <boost/mpl/list/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST50_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/list/list50_c.hpp b/SRC/Boost/boost/mpl/list/list50_c.hpp
deleted file mode 100755
index a03a78c..0000000
--- a/SRC/Boost/boost/mpl/list/list50_c.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: list50_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/list/list40_c.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER list50_c.hpp
-#   include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(41, 50, <boost/mpl/list/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/logical.hpp b/SRC/Boost/boost/mpl/logical.hpp
deleted file mode 100755
index 2449568..0000000
--- a/SRC/Boost/boost/mpl/logical.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LOGICAL_HPP_INCLUDED
-#define BOOST_MPL_LOGICAL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: logical.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-
-#endif // BOOST_MPL_LOGICAL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/long.hpp b/SRC/Boost/boost/mpl/long.hpp
deleted file mode 100755
index decf28a..0000000
--- a/SRC/Boost/boost/mpl/long.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#ifndef BOOST_MPL_LONG_HPP_INCLUDED
-#define BOOST_MPL_LONG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: long.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/long_fwd.hpp>
-
-#define AUX_WRAPPER_VALUE_TYPE long
-#include <boost/mpl/aux_/integral_wrapper.hpp>
-
-#endif // BOOST_MPL_LONG_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/long_fwd.hpp b/SRC/Boost/boost/mpl/long_fwd.hpp
deleted file mode 100755
index 3c04e5a..0000000
--- a/SRC/Boost/boost/mpl/long_fwd.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_LONG_FWD_HPP_INCLUDED
-#define BOOST_MPL_LONG_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: long_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct long_;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(long_)
-
-#endif // BOOST_MPL_LONG_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/max_element.hpp b/SRC/Boost/boost/mpl/max_element.hpp
deleted file mode 100755
index f3d0ddc..0000000
--- a/SRC/Boost/boost/mpl/max_element.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-
-#ifndef BOOST_MPL_MAX_ELEMENT_HPP_INCLUDED
-#define BOOST_MPL_MAX_ELEMENT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: max_element.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/less.hpp>
-#include <boost/mpl/iter_fold.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/aux_/common_name_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_COMMON_NAME_WKND(max_element)
-
-namespace aux {
-
-template< typename Predicate >
-struct select_max
-{
-    template< typename OldIterator, typename Iterator >
-    struct apply
-    {
-        typedef typename apply2<
-              Predicate
-            , typename deref<OldIterator>::type
-            , typename deref<Iterator>::type
-            >::type condition_;
-
-        typedef typename if_<
-              condition_
-            , Iterator
-            , OldIterator
-            >::type type;
-    };
-};
-
-} // namespace aux 
-
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename Predicate = less<_,_>
-    >
-struct max_element
-    : iter_fold<
-          Sequence
-        , typename begin<Sequence>::type
-        , protect< aux::select_max<Predicate> >
-        >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, max_element)
-
-}}
-
-#endif // BOOST_MPL_MAX_ELEMENT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/min_max.hpp b/SRC/Boost/boost/mpl/min_max.hpp
deleted file mode 100755
index c1a6a65..0000000
--- a/SRC/Boost/boost/mpl/min_max.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_MIN_MAX_HPP_INCLUDED
-#define BOOST_MPL_MIN_MAX_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: min_max.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/less.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct min
-    : if_< less<N1,N2>,N1,N2 >
-{
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    >
-struct max
-    : if_< less<N1,N2>,N2,N1 >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, min)
-BOOST_MPL_AUX_NA_SPEC(2, max)
-
-}}
-
-#endif // BOOST_MPL_MIN_MAX_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/minus.hpp b/SRC/Boost/boost/mpl/minus.hpp
deleted file mode 100755
index a09bcbc..0000000
--- a/SRC/Boost/boost/mpl/minus.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_MINUS_HPP_INCLUDED
-#define BOOST_MPL_MINUS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: minus.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME minus
-#define AUX778076_OP_TOKEN -
-#include <boost/mpl/aux_/arithmetic_op.hpp>
-
-#endif // BOOST_MPL_MINUS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/multiplies.hpp b/SRC/Boost/boost/mpl/multiplies.hpp
deleted file mode 100755
index c2e76bd..0000000
--- a/SRC/Boost/boost/mpl/multiplies.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-#ifndef BOOST_MPL_MULTIPLIES_HPP_INCLUDED
-#define BOOST_MPL_MULTIPLIES_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: multiplies.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/times.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/preprocessor/default_params.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-// backward compatibility header, deprecated
-
-namespace boost { namespace mpl {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#   define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-#else
-#   define AUX778076_OP_ARITY 2
-#endif
-
-template<
-      BOOST_MPL_PP_DEFAULT_PARAMS(AUX778076_OP_ARITY, typename N, na)
-    >
-struct multiplies
-    : times< BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          AUX778076_OP_ARITY
-        , multiplies
-        , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(AUX778076_OP_ARITY, multiplies)
-
-#undef AUX778076_OP_ARITY
-
-}}
-
-#endif // BOOST_MPL_MULTIPLIES_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/negate.hpp b/SRC/Boost/boost/mpl/negate.hpp
deleted file mode 100755
index b1fdec4..0000000
--- a/SRC/Boost/boost/mpl/negate.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-
-#ifndef BOOST_MPL_NEGATE_HPP_INCLUDED
-#define BOOST_MPL_NEGATE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: negate.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/aux_/msvc_eti_base.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/config/integral.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct negate_impl;
-
-template< typename T > struct negate_tag
-{
-    typedef typename T::tag type;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N)
-    >
-struct negate
-#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-    : negate_impl<
-          typename negate_tag<N>::type
-        >::template apply<N>::type
-#else
-    : aux::msvc_eti_base< typename apply_wrap1<
-          negate_impl< typename negate_tag<N>::type >
-        , N
-        >::type >::type
-#endif
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, negate, (N))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, negate)
-
-
-#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
-namespace aux {
-template< typename T, T n > struct negate_wknd
-{
-    BOOST_STATIC_CONSTANT(T, value = -n);
-    typedef integral_c<T,value> type;
-};
-}
-#endif
-
-template<>
-struct negate_impl<integral_c_tag>
-{
-#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
-    template< typename N > struct apply
-        : aux::negate_wknd< typename N::value_type, N::value >
-#else
-    template< typename N > struct apply
-        : integral_c< typename N::value_type, (-N::value) >
-#endif    
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_NEGATE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/next.hpp b/SRC/Boost/boost/mpl/next.hpp
deleted file mode 100755
index 426159a..0000000
--- a/SRC/Boost/boost/mpl/next.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_NEXT_HPP_INCLUDED
-#define BOOST_MPL_NEXT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: next.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/next_prior.hpp>
-
-#endif // BOOST_MPL_NEXT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/next_prior.hpp b/SRC/Boost/boost/mpl/next_prior.hpp
deleted file mode 100755
index 6a6d037..0000000
--- a/SRC/Boost/boost/mpl/next_prior.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#ifndef BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED
-#define BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: next_prior.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/common_name_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_COMMON_NAME_WKND(next)
-BOOST_MPL_AUX_COMMON_NAME_WKND(prior)
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct next
-{
-    typedef typename T::next type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,next,(T))
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct prior
-{
-    typedef typename T::prior type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,prior,(T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, next)
-BOOST_MPL_AUX_NA_SPEC(1, prior)
-
-}}
-
-#endif // BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/not.hpp b/SRC/Boost/boost/mpl/not.hpp
deleted file mode 100755
index 6a9c282..0000000
--- a/SRC/Boost/boost/mpl/not.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-#ifndef BOOST_MPL_NOT_HPP_INCLUDED
-#define BOOST_MPL_NOT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: not.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/nested_type_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, C_) > // 'long' is intentional here
-struct not_impl
-    : bool_<!C_>
-{
-};
-
-} // namespace aux
-
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct not_
-    : aux::not_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T)::value
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,not_,(T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1,not_)
-
-}}
-
-#endif // BOOST_MPL_NOT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/not_equal_to.hpp b/SRC/Boost/boost/mpl/not_equal_to.hpp
deleted file mode 100755
index 420c647..0000000
--- a/SRC/Boost/boost/mpl/not_equal_to.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED
-#define BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: not_equal_to.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME not_equal_to
-#define AUX778076_OP_TOKEN !=
-#include <boost/mpl/aux_/comparison_op.hpp>
-
-#endif // BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/numeric_cast.hpp b/SRC/Boost/boost/mpl/numeric_cast.hpp
deleted file mode 100755
index d065016..0000000
--- a/SRC/Boost/boost/mpl/numeric_cast.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED
-#define BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: numeric_cast.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// agurt 21/sep/04: portability macro for the sake of MSVC 6.x-7.0;
-// resolves conflicts with 'boost::numeric_cast' function template.
-// use it in your own code _only_ if you care about compatibility with
-// these outdated compilers!
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570) )
-#   define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast_
-#else
-#   define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast
-#endif
-
-namespace boost { namespace mpl {
-
-// no default implementation; the definition is needed to make MSVC happy
-
-template< typename SourceTag, typename TargetTag > struct BOOST_MPL_AUX_NUMERIC_CAST
-{
-    template< typename N > struct apply;
-};
-
-}}
-
-#endif // BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/or.hpp b/SRC/Boost/boost/mpl/or.hpp
deleted file mode 100755
index 45fa215..0000000
--- a/SRC/Boost/boost/mpl/or.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#ifndef BOOST_MPL_OR_HPP_INCLUDED
-#define BOOST_MPL_OR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: or.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   include <boost/mpl/bool.hpp>
-#   include <boost/mpl/aux_/nested_type_wknd.hpp>
-#   include <boost/mpl/aux_/na_spec.hpp>
-#   include <boost/mpl/aux_/lambda_support.hpp>
-#   include <boost/mpl/aux_/config/msvc.hpp>
-
-// agurt, 19/may/04: workaround a conflict with <iso646.h> header's 
-// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(or)'
-// has to be checked in a separate condition, otherwise GCC complains 
-// about 'or' being an alternative token
-#if defined(_MSC_VER)
-#ifndef __GCCXML__
-#if defined(or)
-#   pragma push_macro("or")
-#   undef or
-#   define or(x)
-#endif
-#endif
-#endif
-
-#   define BOOST_MPL_PREPROCESSED_HEADER or.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#if defined(_MSC_VER) 
-#ifndef __GCCXML__
-#if defined(or)
-#   pragma pop_macro("or")
-#endif
-#endif
-#endif
-
-#else
-
-#   define AUX778076_OP_NAME or_
-#   define AUX778076_OP_VALUE1 true
-#   define AUX778076_OP_VALUE2 false
-#   include <boost/mpl/aux_/logical_op.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_OR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/pair.hpp b/SRC/Boost/boost/mpl/pair.hpp
deleted file mode 100755
index 3d53542..0000000
--- a/SRC/Boost/boost/mpl/pair.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-
-#ifndef BOOST_MPL_PAIR_HPP_INCLUDED
-#define BOOST_MPL_PAIR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: pair.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/msvc_eti_base.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    >
-struct pair
-{
-    typedef pair type;
-    typedef T1 first;
-    typedef T2 second;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,pair,(T1,T2))
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(P)
-    >
-struct first
-{
-#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
-    typedef typename P::first type;
-#else
-    typedef typename aux::msvc_eti_base<P>::first type;
-#endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,first,(P))
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(P)
-    >
-struct second
-{
-#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
-    typedef typename P::second type;
-#else
-    typedef typename aux::msvc_eti_base<P>::second type;
-#endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,second,(P))
-};
-
-
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(2, pair)
-BOOST_MPL_AUX_NA_SPEC(1, first)
-BOOST_MPL_AUX_NA_SPEC(1, second)
-
-}}
-
-#endif // BOOST_MPL_PAIR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/pair_view.hpp b/SRC/Boost/boost/mpl/pair_view.hpp
deleted file mode 100755
index 378d476..0000000
--- a/SRC/Boost/boost/mpl/pair_view.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-#ifndef BOOST_MPL_PAIR_VIEW_HPP_INCLUDED
-#define BOOST_MPL_PAIR_VIEW_HPP_INCLUDED
-
-// Copyright David Abrahams 2003-2004
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: pair_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/iterator_category.hpp>
-#include <boost/mpl/advance.hpp>
-#include <boost/mpl/distance.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/min_max.hpp>
-#include <boost/mpl/pair.hpp>
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-struct pair_iter_tag;
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename Iter1, typename Iter2, typename Category >
-struct pair_iter;
-
-template< typename Category > struct prior_pair_iter
-{
-    template< typename Iter1, typename Iter2 > struct apply
-    {
-        typedef typename mpl::prior<Iter1>::type i1_;
-        typedef typename mpl::prior<Iter2>::type i2_;
-        typedef pair_iter<i1_,i2_,Category> type;
-    };
-};
-
-template<> struct prior_pair_iter<forward_iterator_tag>
-{
-    template< typename Iter1, typename Iter2 > struct apply
-    {
-        typedef pair_iter<Iter1,Iter2,forward_iterator_tag> type;
-    };
-};
-
-#endif
-}
-
-template< 
-      typename Iter1
-    , typename Iter2
-    , typename Category
-    >
-struct pair_iter
-{
-    typedef aux::pair_iter_tag tag;
-    typedef Category category;
-    typedef Iter1 first;
-    typedef Iter2 second;
-    
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    typedef pair< 
-          typename deref<Iter1>::type
-        , typename deref<Iter2>::type
-        > type;
-
-    typedef typename mpl::next<Iter1>::type i1_;
-    typedef typename mpl::next<Iter2>::type i2_;
-    typedef pair_iter<i1_,i2_,Category> next;
-    
-    typedef apply_wrap2< aux::prior_pair_iter<Category>,Iter1,Iter2 >::type prior;
-#endif
-};
-
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename Iter1, typename Iter2, typename C >
-struct deref< pair_iter<Iter1,Iter2,C> >
-{
-    typedef pair< 
-          typename deref<Iter1>::type
-        , typename deref<Iter2>::type
-        > type;
-};
-
-template< typename Iter1, typename Iter2, typename C >
-struct next< pair_iter<Iter1,Iter2,C> >
-{
-    typedef typename mpl::next<Iter1>::type i1_;
-    typedef typename mpl::next<Iter2>::type i2_;
-    typedef pair_iter<i1_,i2_,C> type;
-};
-
-template< typename Iter1, typename Iter2, typename C >
-struct prior< pair_iter<Iter1,Iter2,C> >
-{
-    typedef typename mpl::prior<Iter1>::type i1_;
-    typedef typename mpl::prior<Iter2>::type i2_;
-    typedef pair_iter<i1_,i2_,C> type;
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-
-template<> struct advance_impl<aux::pair_iter_tag>
-{
-    template< typename Iter, typename D > struct apply
-    {
-        typedef typename mpl::advance< typename Iter::first,D >::type i1_;
-        typedef typename mpl::advance< typename Iter::second,D >::type i2_;
-        typedef pair_iter<i1_,i2_,typename Iter::category> type;
-    };
-};
-
-template<> struct distance_impl<aux::pair_iter_tag>
-{
-    template< typename Iter1, typename Iter2 > struct apply
-    {
-        // agurt, 10/nov/04: MSVC 6.5 ICE-s on forwarding
-        typedef typename mpl::distance<
-              typename first<Iter1>::type
-            , typename first<Iter2>::type
-            >::type type;
-    };
-};
-
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence1)
-    , typename BOOST_MPL_AUX_NA_PARAM(Sequence2)
-    >
-struct pair_view
-{
-    typedef nested_begin_end_tag tag;
-
-    typedef typename begin<Sequence1>::type iter1_;
-    typedef typename begin<Sequence2>::type iter2_;
-    typedef typename min<
-          typename iterator_category<iter1_>::type
-        , typename iterator_category<iter2_>::type
-        >::type category_;
-    
-    typedef pair_iter<iter1_,iter2_,category_> begin;
-    
-    typedef pair_iter<
-          typename end<Sequence1>::type
-        , typename end<Sequence2>::type
-        , category_
-        > end;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, pair_view)
-
-}}
-
-#endif // BOOST_MPL_PAIR_VIEW_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/placeholders.hpp b/SRC/Boost/boost/mpl/placeholders.hpp
deleted file mode 100755
index acd3071..0000000
--- a/SRC/Boost/boost/mpl/placeholders.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
-#define BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: placeholders.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/arg.hpp>
-#   include <boost/mpl/aux_/adl_barrier.hpp>
-
-#   if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)
-#       define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) \
-        using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \
-        /**/
-#   else
-#       define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) /**/
-#   endif
-
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER placeholders.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-// watch out for GNU gettext users, who #define _(x)
-#if !defined(_) || defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<-1> _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-namespace boost { namespace mpl { 
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-#endif
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
-/// specialization
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY + 1, <boost/mpl/placeholders.hpp>))
-#include BOOST_PP_ITERATE()
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-typedef arg<i_> BOOST_PP_CAT(_,i_);
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-namespace boost { namespace mpl { 
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(BOOST_PP_CAT(_,i_))
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::BOOST_PP_CAT(_,i_);
-}
-
-}}
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/plus.hpp b/SRC/Boost/boost/mpl/plus.hpp
deleted file mode 100755
index 2061c0c..0000000
--- a/SRC/Boost/boost/mpl/plus.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_PLUS_HPP_INCLUDED
-#define BOOST_MPL_PLUS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: plus.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME plus
-#define AUX778076_OP_TOKEN +
-#include <boost/mpl/aux_/arithmetic_op.hpp>
-
-#endif // BOOST_MPL_PLUS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/pop_back_fwd.hpp b/SRC/Boost/boost/mpl/pop_back_fwd.hpp
deleted file mode 100755
index 1d9c24c..0000000
--- a/SRC/Boost/boost/mpl/pop_back_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED
-#define BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: pop_back_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct pop_back_impl;
-template< typename Sequence > struct pop_back;
-
-}}
-
-#endif // BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/pop_front.hpp b/SRC/Boost/boost/mpl/pop_front.hpp
deleted file mode 100755
index 7800b26..0000000
--- a/SRC/Boost/boost/mpl/pop_front.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_POP_FRONT_HPP_INCLUDED
-#define BOOST_MPL_POP_FRONT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: pop_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/pop_front_fwd.hpp>
-#include <boost/mpl/aux_/pop_front_impl.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct pop_front
-    : pop_front_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,pop_front,(Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, pop_front)
-
-}}
-
-#endif // BOOST_MPL_POP_FRONT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/pop_front_fwd.hpp b/SRC/Boost/boost/mpl/pop_front_fwd.hpp
deleted file mode 100755
index 6a2aea4..0000000
--- a/SRC/Boost/boost/mpl/pop_front_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED
-#define BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: pop_front_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct pop_front_impl;
-template< typename Sequence > struct pop_front;
-
-}}
-
-#endif // BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/print.hpp b/SRC/Boost/boost/mpl/print.hpp
deleted file mode 100755
index 6e03c34..0000000
--- a/SRC/Boost/boost/mpl/print.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-
-#ifndef BOOST_MPL_PRINT_HPP_INCLUDED
-#define BOOST_MPL_PRINT_HPP_INCLUDED
-
-// Copyright David Abrahams 2003
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: print.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/identity.hpp>
-
-namespace boost { namespace mpl {
-  
-namespace aux {
-#if defined(BOOST_MSVC)
-# pragma warning(push, 3)
-// we only want one warning from MSVC, so turn off the other one
-# pragma warning(disable: 4307)
-#elif defined(__MWERKS__)
-# pragma warn_hidevirtual on
-   struct print_base { virtual void f() {} };
-#endif
-
-#if defined(__EDG_VERSION__)
-  template <class T>
-  struct dependent_unsigned
-  {
-      static const unsigned value = 1;
-  };
-#endif
-} // namespace aux 
-
-
-template <class T>
-struct print
-    : mpl::identity<T>
-#if defined(__MWERKS__)
-    , aux::print_base
-#endif 
-{
-#if defined(BOOST_MSVC)
-    enum { n = sizeof(T) + -1 };
-#elif defined(__MWERKS__)
-    void f(int);
-#else 
-    enum {
-        n =
-# if defined(__EDG_VERSION__)
-           aux::dependent_unsigned<T>::value > -1
-# else 
-	int(sizeof(T)) > -1 // DADA : change this line 'sizeof(T) > -1'
-# endif 
-        };
-#endif 
-};
-
-#if defined(BOOST_MSVC)
-# pragma warning(pop)
-#elif defined(__MWERKS__)
-# pragma warn_hidevirtual reset
-#endif
-
-}}
-
-#endif // BOOST_MPL_PRINT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/prior.hpp b/SRC/Boost/boost/mpl/prior.hpp
deleted file mode 100755
index 8f4bf89..0000000
--- a/SRC/Boost/boost/mpl/prior.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_PRIOR_HPP_INCLUDED
-#define BOOST_MPL_PRIOR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: prior.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/next_prior.hpp>
-
-#endif // BOOST_MPL_PRIOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/protect.hpp b/SRC/Boost/boost/mpl/protect.hpp
deleted file mode 100755
index 604754a..0000000
--- a/SRC/Boost/boost/mpl/protect.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#ifndef BOOST_MPL_PROTECT_HPP_INCLUDED
-#define BOOST_MPL_PROTECT_HPP_INCLUDED
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: protect.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/arity.hpp>
-#include <boost/mpl/aux_/config/dtp.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
-    , int not_le_ = 0
-    >
-struct protect : T
-{
-#if BOOST_WORKAROUND(__EDG_VERSION__, == 238)
-    typedef mpl::protect type;
-#else
-    typedef protect type;
-#endif
-};
-
-#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-namespace aux { 
-template< BOOST_MPL_AUX_NTTP_DECL(int, N), typename T >
-struct arity< protect<T>, N > 
-    : arity<T,N>
-{ 
-};
-} // namespace aux
-#endif
-
-BOOST_MPL_AUX_NA_SPEC_MAIN(1, protect)
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(1, 1, protect)
-#endif
-
-}}
-
-#endif // BOOST_MPL_PROTECT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/push_back.hpp b/SRC/Boost/boost/mpl/push_back.hpp
deleted file mode 100755
index 6331f35..0000000
--- a/SRC/Boost/boost/mpl/push_back.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-#ifndef BOOST_MPL_PUSH_BACK_HPP_INCLUDED
-#define BOOST_MPL_PUSH_BACK_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: push_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_back_fwd.hpp>
-#include <boost/mpl/aux_/push_back_impl.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct push_back
-    : push_back_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence,T >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_back,(Sequence,T))
-};
-
-
-template< 
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct has_push_back
-    : has_push_back_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_back,(Sequence))
-};
-
-
-BOOST_MPL_AUX_NA_SPEC(2, push_back)
-BOOST_MPL_AUX_NA_SPEC(1, has_push_back)
-
-}}
-
-#endif // BOOST_MPL_PUSH_BACK_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/push_back_fwd.hpp b/SRC/Boost/boost/mpl/push_back_fwd.hpp
deleted file mode 100755
index 9093b84..0000000
--- a/SRC/Boost/boost/mpl/push_back_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED
-#define BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: push_back_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct push_back_impl;
-template< typename Sequence, typename T > struct push_back;
-
-}}
-
-#endif // BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/push_front.hpp b/SRC/Boost/boost/mpl/push_front.hpp
deleted file mode 100755
index 654fdcd..0000000
--- a/SRC/Boost/boost/mpl/push_front.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#ifndef BOOST_MPL_PUSH_FRONT_HPP_INCLUDED
-#define BOOST_MPL_PUSH_FRONT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_front_fwd.hpp>
-#include <boost/mpl/aux_/push_front_impl.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct push_front
-    : push_front_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence,T >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_front,(Sequence,T))
-};
-
-
-template< 
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct has_push_front
-    : has_push_front_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_front,(Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, push_front)
-BOOST_MPL_AUX_NA_SPEC(1, has_push_front)
-
-}}
-
-#endif // BOOST_MPL_PUSH_FRONT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/push_front_fwd.hpp b/SRC/Boost/boost/mpl/push_front_fwd.hpp
deleted file mode 100755
index 31c8210..0000000
--- a/SRC/Boost/boost/mpl/push_front_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED
-#define BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: push_front_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct push_front_impl;
-template< typename Sequence, typename T > struct push_front;
-
-}}
-
-#endif // BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/quote.hpp b/SRC/Boost/boost/mpl/quote.hpp
deleted file mode 100755
index ffec3f8..0000000
--- a/SRC/Boost/boost/mpl/quote.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_QUOTE_HPP_INCLUDED
-#define BOOST_MPL_QUOTE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: quote.hpp 49272 2008-10-11 06:50:46Z agurtovoy $
-// $Date: 2008-10-11 02:50:46 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49272 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/void.hpp>
-#   include <boost/mpl/aux_/has_type.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/bcc.hpp>
-#include <boost/mpl/aux_/config/ttp.hpp>
-
-#if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
-    && !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS)
-#   define BOOST_MPL_CFG_NO_QUOTE_TEMPLATE
-#endif
-
-#if !defined(BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS) \
-    && defined(BOOST_MPL_CFG_NO_HAS_XXX)
-#   define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER quote.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/mpl/aux_/preprocessor/params.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/mpl/aux_/config/workaround.hpp>
-
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_QUOTE_TEMPLATE)
-
-namespace boost { namespace mpl {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename T, bool has_type_ >
-struct quote_impl
-// GCC has a problem with metafunction forwarding when T is a
-// specialization of a template called 'type'.
-# if BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4)) \
-    && BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(0)) \
-    && BOOST_WORKAROUND(__GNUC_PATCHLEVEL__, BOOST_TESTED_AT(2))
-{
-    typedef typename T::type type;
-};
-# else 
-    : T
-{
-};
-# endif 
-
-template< typename T >
-struct quote_impl<T,false>
-{
-    typedef T type;
-};
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template< bool > struct quote_impl
-{
-    template< typename T > struct result_
-        : T
-    {
-    };
-};
-
-template<> struct quote_impl<false>
-{
-    template< typename T > struct result_
-    {
-        typedef T type;
-    };
-};
-
-#endif 
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/quote.hpp>))
-#include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_QUOTE_TEMPLATE
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_QUOTE_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
-      template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F
-    , typename Tag = void_
-    >
-struct BOOST_PP_CAT(quote,i_)
-{
-    template< BOOST_MPL_PP_PARAMS(i_, typename U) > struct apply
-#if defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS)
-    {
-        typedef typename quote_impl<
-              F< BOOST_MPL_PP_PARAMS(i_, U) >
-            , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value
-            >::type type;
-    };
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-        : quote_impl<
-              F< BOOST_MPL_PP_PARAMS(i_, U) >
-            , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value
-            >
-    {
-    };
-#else
-        : quote_impl< aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value >
-            ::template result_< F< BOOST_MPL_PP_PARAMS(i_, U) > >
-    {
-    };
-#endif
-};
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/remove_if.hpp b/SRC/Boost/boost/mpl/remove_if.hpp
deleted file mode 100755
index 1573e4f..0000000
--- a/SRC/Boost/boost/mpl/remove_if.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-
-#ifndef BOOST_MPL_REMOVE_IF_HPP_INCLUDED
-#define BOOST_MPL_REMOVE_IF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: remove_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/reverse_fold.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/protect.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< typename Pred, typename InsertOp > struct remove_if_helper
-{
-    template< typename Sequence, typename U > struct apply
-    {
-        typedef typename eval_if<
-              typename apply1<Pred,U>::type
-            , identity<Sequence>
-            , apply2<InsertOp,Sequence,U>
-            >::type type;
-    };
-};
-
-template<
-      typename Sequence
-    , typename Predicate
-    , typename Inserter
-    >
-struct remove_if_impl
-    : fold<
-          Sequence
-        , typename Inserter::state
-        , protect< aux::remove_if_helper<
-              typename lambda<Predicate>::type
-            , typename Inserter::operation
-            > >
-        >
-{
-};
-
-template<
-      typename Sequence
-    , typename Predicate
-    , typename Inserter
-    >
-struct reverse_remove_if_impl
-    : reverse_fold<
-          Sequence
-        , typename Inserter::state
-        , protect< aux::remove_if_helper<
-              typename lambda<Predicate>::type
-            , typename Inserter::operation
-            > >
-        >
-{
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, remove_if)
-
-}}
-
-#endif // BOOST_MPL_REMOVE_IF_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/reverse_fold.hpp b/SRC/Boost/boost/mpl/reverse_fold.hpp
deleted file mode 100755
index c190c59..0000000
--- a/SRC/Boost/boost/mpl/reverse_fold.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#ifndef BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED
-#define BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: reverse_fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/O1_size.hpp>
-#include <boost/mpl/arg.hpp>
-#include <boost/mpl/aux_/reverse_fold_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(State)
-    , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp)
-    , typename ForwardOp = arg<1>
-    >
-struct reverse_fold
-{
-    typedef typename aux::reverse_fold_impl<
-          ::boost::mpl::O1_size<Sequence>::value
-        , typename begin<Sequence>::type
-        , typename end<Sequence>::type
-        , State
-        , BackwardOp
-        , ForwardOp
-        >::state type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,reverse_fold,(Sequence,State,BackwardOp))
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, reverse_fold)
-
-}}
-
-#endif // BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/reverse_iter_fold.hpp b/SRC/Boost/boost/mpl/reverse_iter_fold.hpp
deleted file mode 100755
index 6ff4b36..0000000
--- a/SRC/Boost/boost/mpl/reverse_iter_fold.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-
-#ifndef BOOST_MPL_ITER_FOLD_BACKWARD_HPP_INCLUDED
-#define BOOST_MPL_ITER_FOLD_BACKWARD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Dave Abrahams 2001-2002
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: reverse_iter_fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/O1_size.hpp>
-#include <boost/mpl/arg.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/aux_/reverse_iter_fold_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(State)
-    , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp)
-    , typename ForwardOp = arg<1>
-    >
-struct reverse_iter_fold
-{
-    typedef typename aux::reverse_iter_fold_impl<
-          ::boost::mpl::O1_size<Sequence>::value
-        , typename begin<Sequence>::type
-        , typename end<Sequence>::type
-        , State
-        , typename lambda<BackwardOp>::type
-        , typename lambda<ForwardOp>::type
-        >::state type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          4
-        , reverse_iter_fold
-        , (Sequence,State,BackwardOp,ForwardOp)
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, reverse_iter_fold)
-
-}}
-
-#endif // BOOST_MPL_ITER_FOLD_BACKWARD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/same_as.hpp b/SRC/Boost/boost/mpl/same_as.hpp
deleted file mode 100755
index 5f77286..0000000
--- a/SRC/Boost/boost/mpl/same_as.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#ifndef BOOST_MPL_SAME_AS_HPP_INCLUDED
-#define BOOST_MPL_SAME_AS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: same_as.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/aux_/lambda_spec.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename T1 >
-struct same_as
-{
-    template< typename T2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : is_same<T1,T2>
-    {
-#else
-    {
-        typedef typename is_same<T1,T2>::type type;
-#endif
-    };
-};
-
-template< typename T1 >
-struct not_same_as
-{
-    template< typename T2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : not_< is_same<T1,T2> >
-    {
-#else
-    {
-        typedef typename not_< is_same<T1,T2> >::type type;
-#endif
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SAME_AS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/sequence_tag.hpp b/SRC/Boost/boost/mpl/sequence_tag.hpp
deleted file mode 100755
index 0b44875..0000000
--- a/SRC/Boost/boost/mpl/sequence_tag.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-
-#ifndef BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED
-#define BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: sequence_tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/sequence_tag_fwd.hpp>
-#include <boost/mpl/aux_/has_tag.hpp>
-#include <boost/mpl/aux_/has_begin.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/is_msvc_eti_arg.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-// agurt, 27/nov/02: have to use a simplistic 'sequence_tag' implementation
-// on MSVC to avoid dreadful "internal structure overflow" error
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
-    || defined(BOOST_MPL_CFG_NO_HAS_XXX)
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct sequence_tag
-{
-    typedef typename Sequence::tag type;
-};
-
-#elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-
-// agurt, 07/feb/03: workaround for what seems to be MSVC 7.0-specific ETI issue
-
-namespace aux {
-
-template< bool >
-struct sequence_tag_impl
-{
-    template< typename Sequence > struct result_
-    {
-        typedef typename Sequence::tag type;
-    };
-};
-
-template<>
-struct sequence_tag_impl<false>
-{
-    template< typename Sequence > struct result_
-    {
-        typedef int type;
-    };
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct sequence_tag
-    : aux::sequence_tag_impl< !aux::is_msvc_eti_arg<Sequence>::value >
-        ::template result_<Sequence>
-{
-};
-
-#else
-
-namespace aux {
-
-template< bool has_tag_, bool has_begin_ >
-struct sequence_tag_impl
-{
-    // agurt 24/nov/02: MSVC 6.5 gets confused in 'sequence_tag_impl<true>' 
-    // specialization below, if we name it 'result_' here
-    template< typename Sequence > struct result2_;
-};
-
-#   define AUX_CLASS_SEQUENCE_TAG_SPEC(has_tag, has_begin, result_type) \
-template<> struct sequence_tag_impl<has_tag,has_begin> \
-{ \
-    template< typename Sequence > struct result2_ \
-    { \
-        typedef result_type type; \
-    }; \
-}; \
-/**/
-
-AUX_CLASS_SEQUENCE_TAG_SPEC(true, true, typename Sequence::tag)
-AUX_CLASS_SEQUENCE_TAG_SPEC(true, false, typename Sequence::tag)
-AUX_CLASS_SEQUENCE_TAG_SPEC(false, true, nested_begin_end_tag)
-AUX_CLASS_SEQUENCE_TAG_SPEC(false, false, non_sequence_tag)
-
-#   undef AUX_CLASS_SEQUENCE_TAG_SPEC
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct sequence_tag
-    : aux::sequence_tag_impl<
-          ::boost::mpl::aux::has_tag<Sequence>::value
-        , ::boost::mpl::aux::has_begin<Sequence>::value
-        >::template result2_<Sequence>
-{
-};
-
-#endif // BOOST_MSVC
-
-BOOST_MPL_AUX_NA_SPEC(1, sequence_tag)
-
-}}
-
-#endif // BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/sequence_tag_fwd.hpp b/SRC/Boost/boost/mpl/sequence_tag_fwd.hpp
deleted file mode 100755
index 9b46a8d..0000000
--- a/SRC/Boost/boost/mpl/sequence_tag_fwd.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#ifndef BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED
-#define BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: sequence_tag_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-struct nested_begin_end_tag;
-struct non_sequence_tag;
-
-template< typename Sequence > struct sequence_tag;
-
-}}
-
-#endif // BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/at_impl.hpp b/SRC/Boost/boost/mpl/set/aux_/at_impl.hpp
deleted file mode 100755
index 7b50b4a..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/at_impl.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: at_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/at_fwd.hpp>
-#include <boost/mpl/set/aux_/has_key_impl.hpp>
-#include <boost/mpl/set/aux_/tag.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/void.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct at_impl< aux::set_tag >
-{
-    template< typename Set, typename T > struct apply
-    {
-        typedef typename if_< 
-              has_key_impl<aux::set_tag>::apply<Set,T>
-            , T
-            , void_
-            >::type type;            
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/begin_end_impl.hpp b/SRC/Boost/boost/mpl/set/aux_/begin_end_impl.hpp
deleted file mode 100755
index fde00a7..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/begin_end_impl.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2007
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: begin_end_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end_fwd.hpp>
-#include <boost/mpl/set/aux_/iterator.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct begin_impl< aux::set_tag >
-{
-    template< typename Set > struct apply
-        : s_iter_get<Set,typename Set::item_>
-    {
-    };
-};
-
-template<>
-struct end_impl< aux::set_tag >
-{
-    template< typename Set > struct apply
-    {
-        typedef s_iter< Set,set0<> > type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/clear_impl.hpp b/SRC/Boost/boost/mpl/set/aux_/clear_impl.hpp
deleted file mode 100755
index 562b41d..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/clear_impl.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: clear_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/clear_fwd.hpp>
-#include <boost/mpl/set/aux_/set0.hpp>
-#include <boost/mpl/set/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct clear_impl< aux::set_tag >
-{
-    template< typename Set > struct apply
-    {
-        typedef set0<> type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/empty_impl.hpp b/SRC/Boost/boost/mpl/set/aux_/empty_impl.hpp
deleted file mode 100755
index d69153f..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/empty_impl.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: empty_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/empty_fwd.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/set/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct empty_impl< aux::set_tag >
-{
-    template< typename Set > struct apply
-        : not_< typename Set::size >
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/erase_impl.hpp b/SRC/Boost/boost/mpl/set/aux_/erase_impl.hpp
deleted file mode 100755
index b2532d8..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/erase_impl.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: erase_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/erase_fwd.hpp>
-#include <boost/mpl/set/aux_/erase_key_impl.hpp>
-#include <boost/mpl/set/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct erase_impl< aux::set_tag >
-{
-    template< 
-          typename Set
-        , typename Pos
-        , typename unused_
-        > 
-    struct apply
-        : erase_key_impl<aux::set_tag>
-            ::apply<Set,typename Pos::type>
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/erase_key_impl.hpp b/SRC/Boost/boost/mpl/set/aux_/erase_key_impl.hpp
deleted file mode 100755
index 0a53e14..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/erase_key_impl.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2007
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: erase_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/erase_key_fwd.hpp>
-#include <boost/mpl/set/aux_/has_key_impl.hpp>
-#include <boost/mpl/set/aux_/item.hpp>
-#include <boost/mpl/set/aux_/tag.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/base.hpp>
-#include <boost/mpl/eval_if.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct erase_key_impl< aux::set_tag >
-{
-    template< 
-          typename Set
-        , typename T
-        > 
-    struct apply
-        : eval_if< 
-              has_key_impl<aux::set_tag>::apply<Set,T>
-            , eval_if< 
-                  is_same< T,typename Set::item_type_ > 
-                , base<Set>
-                , identity< s_mask<T,typename Set::item_> >
-                >
-            , identity<Set>
-            >
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/has_key_impl.hpp b/SRC/Boost/boost/mpl/set/aux_/has_key_impl.hpp
deleted file mode 100755
index 4b661f7..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/has_key_impl.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/set/aux_/tag.hpp>
-#include <boost/mpl/has_key_fwd.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/overload_names.hpp>
-#include <boost/mpl/aux_/static_cast.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct has_key_impl< aux::set_tag >
-{
-    template< typename Set, typename T > struct apply
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
-    || BOOST_WORKAROUND(__EDG_VERSION__, <= 245)
-    {
-        BOOST_STATIC_CONSTANT(bool, value = 
-              ( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(
-                    Set
-                  , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<T>*, 0)
-                  ) ) == sizeof(aux::no_tag) )
-            );
-
-        typedef bool_<value> type;
-
-#else // ISO98 C++
-        : bool_< 
-              ( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(
-                    Set
-                  , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<T>*, 0)
-                  ) ) == sizeof(aux::no_tag) )
-            >
-    {
-#endif
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/insert_impl.hpp b/SRC/Boost/boost/mpl/set/aux_/insert_impl.hpp
deleted file mode 100755
index 042ca13..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/insert_impl.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2007
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: insert_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/insert_fwd.hpp>
-#include <boost/mpl/set/aux_/has_key_impl.hpp>
-#include <boost/mpl/set/aux_/item.hpp>
-#include <boost/mpl/set/aux_/tag.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/base.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/aux_/na.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template<  typename Set, typename T > struct set_insert_impl
-    : eval_if< 
-          has_key_impl<aux::set_tag>::apply<Set,T>
-        , identity<Set>
-        , eval_if< 
-              is_same< T,typename Set::last_masked_ > 
-            , base<Set>
-            , identity< s_item<T,typename Set::item_> >
-            >
-        >
-{
-};
-}
-
-template<>
-struct insert_impl< aux::set_tag >
-{
-    template< 
-          typename Set
-        , typename PosOrKey
-        , typename KeyOrNA
-        > 
-    struct apply
-        : aux::set_insert_impl<
-              Set
-            , typename if_na<KeyOrNA,PosOrKey>::type
-            >
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/item.hpp b/SRC/Boost/boost/mpl/set/aux_/item.hpp
deleted file mode 100755
index 3c17246..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/item.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2007
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/prior.hpp>
-#include <boost/mpl/set/aux_/set0.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/config/arrays.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename T, typename Base >
-struct s_item
-    : Base
-{
-    typedef s_item<T,Base> item_;
-    typedef void_       last_masked_;
-    typedef T           item_type_;
-    typedef Base        base;
-    
-    typedef typename next< typename Base::size >::type  size;
-    typedef typename next< typename Base::order >::type order;
-
-#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
-    typedef typename aux::weighted_tag<BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value>::type order_tag_;
-#else
-    typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value];
-#endif
-
-    BOOST_MPL_AUX_SET_OVERLOAD( order_tag_, ORDER_BY_KEY, s_item, aux::type_wrapper<T>* );
-    BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_item, aux::type_wrapper<T>* );
-};
-
-
-template< typename T, typename Base >
-struct s_mask
-    : Base
-{
-    typedef s_mask<T,Base> item_;
-    typedef T       last_masked_;
-    typedef void_   item_type_;
-    typedef Base    base;
-    typedef typename prior< typename Base::size >::type  size;
-
-    BOOST_MPL_AUX_SET_OVERLOAD( aux::yes_tag, IS_MASKED, s_mask, aux::type_wrapper<T>* );
-};
-
-
-template< typename T, typename Base >
-struct s_unmask
-    : Base
-{
-    typedef s_unmask<T,Base> item_;
-    typedef void_   last_masked_;
-    typedef T       item_type_;
-    typedef Base    base;
-    typedef typename next< typename Base::size >::type  size;
-
-    BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_unmask, aux::type_wrapper<T>* );
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/iterator.hpp b/SRC/Boost/boost/mpl/set/aux_/iterator.hpp
deleted file mode 100755
index a6c0ffb..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/iterator.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2007
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/set/aux_/set0.hpp>
-#include <boost/mpl/has_key.hpp>
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-// used by 's_iter_get'
-template< typename Set, typename Tail > struct s_iter;
-
-template< typename Set, typename Tail > struct s_iter_get
-    : eval_if< 
-          has_key< Set,typename Tail::item_type_ >
-        , identity< s_iter<Set,Tail> >
-        , next< s_iter<Set,Tail> >
-        >
-{
-};
-
-template< typename Set, typename Tail > struct s_iter_impl
-{
-    typedef Tail                        tail_;
-    typedef forward_iterator_tag        category;
-    typedef typename Tail::item_type_   type;
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    typedef typename s_iter_get< Set,typename Tail::base >::type next;
-#endif
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename Set, typename Tail > 
-struct next< s_iter<Set,Tail> >
-    : s_iter_get< Set,typename Tail::base >
-{
-};
-
-template< typename Set > 
-struct next< s_iter<Set,set0<> > >
-{
-    typedef s_iter<Set,set0<> > type;
-};
-
-template< typename Set, typename Tail > struct s_iter
-    : s_iter_impl<Set,Tail>
-{
-};
-
-template< typename Set > struct s_iter<Set, set0<> >
-{
-    typedef forward_iterator_tag category;
-};
-
-#else
-
-template< typename Set >
-struct s_end_iter
-{
-    typedef forward_iterator_tag    category;
-    typedef s_iter<Set,set0<> >     next;
-};
-
-template< typename Set, typename Tail > struct s_iter
-    : if_< 
-          is_same< Tail,set0<> >
-        , s_end_iter<Set>
-        , s_iter_impl<Set,Tail>
-        >::type
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/key_type_impl.hpp b/SRC/Boost/boost/mpl/set/aux_/key_type_impl.hpp
deleted file mode 100755
index 50d93d9..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/key_type_impl.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: key_type_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/key_type_fwd.hpp>
-#include <boost/mpl/set/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct key_type_impl< aux::set_tag >
-{
-    template< typename Set, typename T > struct apply
-    {
-        typedef T type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/set0.hpp b/SRC/Boost/boost/mpl/set/aux_/set0.hpp
deleted file mode 100755
index 6473da9..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/set0.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: set0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/set/aux_/tag.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/overload_names.hpp>
-#include <boost/mpl/aux_/config/operators.hpp>
-
-#include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING)
-
-#   define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \
-    friend R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \
-/**/
-
-#   define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \
-    BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \
-/**/
-
-#else
-
-#   define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \
-    static R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \
-/**/
-
-#   define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \
-    BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T); \
-    using Base::BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) \
-/**/
-
-#endif
-
-template< typename Dummy = na > struct set0
-{
-    typedef set0<>          item_;
-    typedef item_           type;
-    typedef aux::set_tag    tag;
-    typedef void_           last_masked_;
-    typedef void_           item_type_;
-    typedef long_<0>        size;
-    typedef long_<1>        order;
-
-    BOOST_MPL_AUX_SET0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, set0<>, void const volatile* );
-    BOOST_MPL_AUX_SET0_OVERLOAD( aux::yes_tag, IS_MASKED, set0<>, void const volatile* );
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/size_impl.hpp b/SRC/Boost/boost/mpl/set/aux_/size_impl.hpp
deleted file mode 100755
index 0f1fda2..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/size_impl.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/set/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct size_impl< aux::set_tag >
-{
-    template< typename Set > struct apply
-        : Set::size
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/tag.hpp b/SRC/Boost/boost/mpl/set/aux_/tag.hpp
deleted file mode 100755
index 3b9b8c2..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/tag.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl { namespace aux {
-
-struct set_tag;
-
-}}}
-
-#endif // BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/aux_/value_type_impl.hpp b/SRC/Boost/boost/mpl/set/aux_/value_type_impl.hpp
deleted file mode 100755
index 880b7ec..0000000
--- a/SRC/Boost/boost/mpl/set/aux_/value_type_impl.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: value_type_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/value_type_fwd.hpp>
-#include <boost/mpl/set/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct value_type_impl< aux::set_tag >
-{
-    template< typename Set, typename T > struct apply
-    {
-        typedef T type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/set/set0.hpp b/SRC/Boost/boost/mpl/set/set0.hpp
deleted file mode 100755
index d2e8640..0000000
--- a/SRC/Boost/boost/mpl/set/set0.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef BOOST_MPL_SET_SET0_HPP_INCLUDED
-#define BOOST_MPL_SET_SET0_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: set0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/set/aux_/at_impl.hpp>
-#include <boost/mpl/set/aux_/clear_impl.hpp>
-//#include <boost/mpl/set/aux_/O1_size.hpp>
-#include <boost/mpl/set/aux_/size_impl.hpp>
-#include <boost/mpl/set/aux_/empty_impl.hpp>
-#include <boost/mpl/set/aux_/insert_impl.hpp>
-#include <boost/mpl/set/aux_/erase_impl.hpp>
-#include <boost/mpl/set/aux_/erase_key_impl.hpp>
-#include <boost/mpl/set/aux_/has_key_impl.hpp>
-#include <boost/mpl/set/aux_/key_type_impl.hpp>
-#include <boost/mpl/set/aux_/value_type_impl.hpp>
-#include <boost/mpl/set/aux_/begin_end_impl.hpp>
-#include <boost/mpl/set/aux_/iterator.hpp>
-#include <boost/mpl/set/aux_/item.hpp>
-#include <boost/mpl/set/aux_/set0.hpp>
-#include <boost/mpl/set/aux_/tag.hpp>
-
-#endif // BOOST_MPL_SET_SET0_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/size.hpp b/SRC/Boost/boost/mpl/size.hpp
deleted file mode 100755
index f46dad0..0000000
--- a/SRC/Boost/boost/mpl/size.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef BOOST_MPL_SIZE_HPP_INCLUDED
-#define BOOST_MPL_SIZE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/size_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/msvc_eti_base.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    >
-struct size
-    : aux::msvc_eti_base<
-        typename size_impl< typename sequence_tag<Sequence>::type >
-            ::template apply< Sequence >::type
-      >::type
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, size, (Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, size)
-
-}}
-
-#endif // BOOST_MPL_SIZE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/size_fwd.hpp b/SRC/Boost/boost/mpl/size_fwd.hpp
deleted file mode 100755
index 2d0ff4b..0000000
--- a/SRC/Boost/boost/mpl/size_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_SIZE_FWD_HPP_INCLUDED
-#define BOOST_MPL_SIZE_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: size_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct size_impl;
-template< typename Sequence > struct size;
-
-}}
-
-#endif // BOOST_MPL_SIZE_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/size_t.hpp b/SRC/Boost/boost/mpl/size_t.hpp
deleted file mode 100755
index 5beb3ca..0000000
--- a/SRC/Boost/boost/mpl/size_t.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_SIZE_T_HPP_INCLUDED
-#define BOOST_MPL_SIZE_T_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: size_t.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/size_t_fwd.hpp>
-
-#define AUX_WRAPPER_VALUE_TYPE std::size_t
-#define AUX_WRAPPER_NAME size_t
-#define AUX_WRAPPER_PARAMS(N) std::size_t N
-
-#include <boost/mpl/aux_/integral_wrapper.hpp>
-
-#endif // BOOST_MPL_SIZE_T_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/size_t_fwd.hpp b/SRC/Boost/boost/mpl/size_t_fwd.hpp
deleted file mode 100755
index f666936..0000000
--- a/SRC/Boost/boost/mpl/size_t_fwd.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
-#define BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: size_t_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-#include <boost/config.hpp> // make sure 'size_t' is placed into 'std'
-#include <cstddef>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< std::size_t N > struct size_t;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(size_t)
-
-#endif // BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/sizeof.hpp b/SRC/Boost/boost/mpl/sizeof.hpp
deleted file mode 100755
index 49f5fc8..0000000
--- a/SRC/Boost/boost/mpl/sizeof.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#ifndef BOOST_MPL_SIZEOF_HPP_INCLUDED
-#define BOOST_MPL_SIZEOF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2003
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: sizeof.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/size_t.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct sizeof_
-    : mpl::size_t< sizeof(T) >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,sizeof_,(T))
-};
-
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, sizeof_)
-
-}}
-
-#endif // BOOST_MPL_SIZEOF_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/tag.hpp b/SRC/Boost/boost/mpl/tag.hpp
deleted file mode 100755
index 952f18e..0000000
--- a/SRC/Boost/boost/mpl/tag.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#ifndef BOOST_MPL_TAG_HPP_INCLUDED
-#define BOOST_MPL_TAG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/has_tag.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T > struct tag_impl
-{
-    typedef typename T::tag type;
-};
-}
-
-template< typename T, typename Default = void_ > struct tag
-#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-    : if_< 
-          aux::has_tag<T>
-        , aux::tag_impl<T>
-        , Default
-        >::type
-{
-#else
-{
-    typedef typename eval_if< 
-          aux::has_tag<T>
-        , aux::tag_impl<T>
-        , Default
-        >::type type;
-
-#endif
-};
-
-}}
-
-#endif // BOOST_MPL_TAG_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/times.hpp b/SRC/Boost/boost/mpl/times.hpp
deleted file mode 100755
index 4419c6b..0000000
--- a/SRC/Boost/boost/mpl/times.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_TIMES_HPP_INCLUDED
-#define BOOST_MPL_TIMES_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: times.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME times
-#define AUX778076_OP_TOKEN *
-#include <boost/mpl/aux_/arithmetic_op.hpp>
-
-#endif // BOOST_MPL_TIMES_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/transform.hpp b/SRC/Boost/boost/mpl/transform.hpp
deleted file mode 100755
index 44313bd..0000000
--- a/SRC/Boost/boost/mpl/transform.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-
-#ifndef BOOST_MPL_TRANSFORM_HPP_INCLUDED
-#define BOOST_MPL_TRANSFORM_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: transform.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/reverse_fold.hpp>
-#include <boost/mpl/pair_view.hpp>
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/bind.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux { 
-
-template< 
-      typename Seq
-    , typename Op
-    , typename In
-    >
-struct transform1_impl
-    : fold< 
-          Seq
-        , typename In::state
-        , bind2< typename lambda< typename In::operation >::type
-            , _1
-            , bind1< typename lambda<Op>::type, _2>
-            > 
-        >
-{
-};
-
-template< 
-      typename Seq
-    , typename Op
-    , typename In
-    >
-struct reverse_transform1_impl
-    : reverse_fold< 
-          Seq
-        , typename In::state
-        , bind2< typename lambda< typename In::operation >::type
-            , _1
-            , bind1< typename lambda<Op>::type, _2>
-            > 
-        >
-{
-};
-
-template< 
-      typename Seq1
-    , typename Seq2
-    , typename Op
-    , typename In
-    >
-struct transform2_impl
-    : fold< 
-          pair_view<Seq1,Seq2>
-        , typename In::state
-        , bind2< typename lambda< typename In::operation >::type
-            , _1
-            , bind2<
-                  typename lambda<Op>::type
-                , bind1<first<>,_2>
-                , bind1<second<>,_2>
-                >
-            > 
-        >
-{
-};
-
-template< 
-      typename Seq1
-    , typename Seq2
-    , typename Op
-    , typename In
-    >
-struct reverse_transform2_impl
-    : reverse_fold< 
-          pair_view<Seq1,Seq2>
-        , typename In::state
-        , bind2< typename lambda< typename In::operation >::type
-            , _1
-            , bind2< typename lambda< Op >::type
-                , bind1<first<>,_2>
-                , bind1<second<>,_2>
-                >
-            > 
-        >
-{
-};
-
-} // namespace aux 
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, transform1)                    
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, transform2)
-    
-#define AUX778076_TRANSFORM_DEF(name)                                   \
-template<                                                               \
-      typename BOOST_MPL_AUX_NA_PARAM(Seq1)                             \
-    , typename BOOST_MPL_AUX_NA_PARAM(Seq2OrOperation)                  \
-    , typename BOOST_MPL_AUX_NA_PARAM(OperationOrInserter)              \
-    , typename BOOST_MPL_AUX_NA_PARAM(Inserter)                         \
-    >                                                                   \
-struct name                                                             \
-{                                                                       \
-    typedef typename eval_if<                                           \
-          or_<                                                          \
-              is_na<OperationOrInserter>                                \
-            , is_lambda_expression< Seq2OrOperation >                   \
-            , not_< is_sequence<Seq2OrOperation> >                      \
-            >                                                           \
-        , name##1<Seq1,Seq2OrOperation,OperationOrInserter>             \
-        , name##2<Seq1,Seq2OrOperation,OperationOrInserter,Inserter>    \
-        >::type type;                                                   \
-};                                                                      \
-BOOST_MPL_AUX_NA_SPEC(4, name)                                          \
-/**/
-
-AUX778076_TRANSFORM_DEF(transform)
-AUX778076_TRANSFORM_DEF(reverse_transform)
-
-#undef AUX778076_TRANSFORM_DEF
-
-}}
-
-#endif // BOOST_MPL_TRANSFORM_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/value_type_fwd.hpp b/SRC/Boost/boost/mpl/value_type_fwd.hpp
deleted file mode 100755
index c86820a..0000000
--- a/SRC/Boost/boost/mpl/value_type_fwd.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED
-#define BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright David Abrahams 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: value_type_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct value_type_impl;
-template< typename AssociativeSequence, typename T > struct value_type;
-
-}}
-
-#endif // BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector.hpp b/SRC/Boost/boost/mpl/vector.hpp
deleted file mode 100755
index 90eeb9a..0000000
--- a/SRC/Boost/boost/mpl/vector.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/limits/vector.hpp>
-#   include <boost/mpl/aux_/na.hpp>
-#   include <boost/mpl/aux_/config/preprocessor.hpp>
-
-#   include <boost/preprocessor/inc.hpp>
-#   include <boost/preprocessor/cat.hpp>
-#   include <boost/preprocessor/stringize.hpp>
-
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
-#   define AUX778076_VECTOR_HEADER \
-    BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp \
-    /**/
-#else
-#   define AUX778076_VECTOR_HEADER \
-    BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \
-    /**/
-#endif
-
-#   include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_VECTOR_HEADER)
-#   undef AUX778076_VECTOR_HEADER
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER vector.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/vector.hpp>
-
-#   define AUX778076_SEQUENCE_NAME vector
-#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE
-#   include <boost/mpl/aux_/sequence_wrapper.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_VECTOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/O1_size.hpp b/SRC/Boost/boost/mpl/vector/aux_/O1_size.hpp
deleted file mode 100755
index a2c29f2..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/O1_size.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/O1_size_fwd.hpp>
-#include <boost/mpl/minus.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<>
-struct O1_size_impl< aux::vector_tag >
-{
-    template< typename Vector > struct apply
-        : Vector::size
-    {
-    };
-};
-
-#else
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< long N >
-struct O1_size_impl< aux::vector_tag<N> >
-{
-    template< typename Vector > struct apply
-        : mpl::long_<N>
-    {
-    };
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/at.hpp b/SRC/Boost/boost/mpl/vector/aux_/at.hpp
deleted file mode 100755
index f836f17..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/at.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: at.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/at_fwd.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template< typename Vector, long n_ >
-struct v_at_impl
-{
-    typedef long_< (Vector::lower_bound_::value + n_) > index_;
-    typedef __typeof__( Vector::item_(index_()) ) type;
-};
-
-
-template< typename Vector, long n_ >
-struct v_at
-    : aux::wrapped_type< typename v_at_impl<Vector,n_>::type >
-{
-};
-
-template<>
-struct at_impl< aux::vector_tag >
-{
-    template< typename Vector, typename N > struct apply
-        : v_at<
-              Vector
-            , BOOST_MPL_AUX_VALUE_WKND(N)::value
-            >
-    {
-    };
-};
-
-#else
-
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-
-template< typename Vector, BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at;
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, n_) >
-struct at_impl< aux::vector_tag<n_> >
-{
-    template< typename Vector, typename N > struct apply
-#if !defined(__BORLANDC__)
-        : v_at<
-              Vector
-            , BOOST_MPL_AUX_VALUE_WKND(N)::value
-            >
-    {
-#else
-    {
-        typedef typename v_at<
-              Vector
-            , BOOST_MPL_AUX_VALUE_WKND(N)::value
-            >::type type;
-#endif
-    };
-};
-
-#   else
-
-namespace aux {
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at_impl
-{
-    template< typename V > struct result_;
-};
-
-// to work around ETI, etc.
-template<> struct v_at_impl<-1>
-{
-    template< typename V > struct result_
-    {
-        typedef void_ type;
-    };
-};
-
-} // namespace aux
-
-template< typename T, BOOST_MPL_AUX_NTTP_DECL(long, n_) >
-struct v_at
-    : aux::v_at_impl<n_>::template result_<T>
-{
-};
-
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/back.hpp b/SRC/Boost/boost/mpl/vector/aux_/back.hpp
deleted file mode 100755
index 535d0eb..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/back.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/back_fwd.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/vector/aux_/at.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<>
-struct back_impl< aux::vector_tag >
-{
-    template< typename Vector > struct apply
-        : v_at<
-              Vector
-            , prior<typename Vector::size>::type::value
-            >
-    {
-    };
-};
-
-#else
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< long n_ >
-struct back_impl< aux::vector_tag<n_> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/begin_end.hpp b/SRC/Boost/boost/mpl/vector/aux_/begin_end.hpp
deleted file mode 100755
index 21fe922..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/begin_end.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: begin_end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-#   include <boost/mpl/begin_end_fwd.hpp>
-#   include <boost/mpl/vector/aux_/iterator.hpp>
-#   include <boost/mpl/vector/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct begin_impl< aux::vector_tag >
-{
-    template< typename Vector > struct apply
-    {
-        typedef v_iter<Vector,0> type;
-    };
-};
-
-template<>
-struct end_impl< aux::vector_tag >
-{
-    template< typename Vector > struct apply
-    {
-        typedef v_iter<Vector,Vector::size::value> type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#endif // BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/clear.hpp b/SRC/Boost/boost/mpl/vector/aux_/clear.hpp
deleted file mode 100755
index b9ddad6..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/clear.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: clear.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/clear_fwd.hpp>
-#include <boost/mpl/vector/aux_/vector0.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<>
-struct clear_impl< aux::vector_tag >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-#else
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< long N >
-struct clear_impl< aux::vector_tag<N> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/empty.hpp b/SRC/Boost/boost/mpl/vector/aux_/empty.hpp
deleted file mode 100755
index 1a02437..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/empty.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/empty_fwd.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<>
-struct empty_impl< aux::vector_tag >
-{
-    template< typename Vector > struct apply
-        : is_same<
-              typename Vector::lower_bound_
-            , typename Vector::upper_bound_
-            >
-    {
-    };
-};
-
-#else
-
-template<>
-struct empty_impl< aux::vector_tag<0> >
-{
-    template< typename Vector > struct apply
-        : true_
-    {
-    };
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< long N >
-struct empty_impl< aux::vector_tag<N> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/front.hpp b/SRC/Boost/boost/mpl/vector/aux_/front.hpp
deleted file mode 100755
index ad9c6e5..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/front.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2008
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/front_fwd.hpp>
-#include <boost/mpl/vector/aux_/at.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<>
-struct front_impl< aux::vector_tag >
-{
-    template< typename Vector > struct apply
-        : v_at<Vector,0>
-    {
-    };
-};
-
-#else
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, n_) >
-struct front_impl< aux::vector_tag<n_> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/include_preprocessed.hpp b/SRC/Boost/boost/mpl/vector/aux_/include_preprocessed.hpp
deleted file mode 100755
index 9d15d3e..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/include_preprocessed.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2000-2006
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/stringize.hpp>
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-#   define AUX778076_INCLUDE_DIR typeof_based
-#elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-   || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-#   define AUX778076_INCLUDE_DIR no_ctps
-#else
-#   define AUX778076_INCLUDE_DIR plain
-#endif
-
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
-#   define AUX778076_HEADER \
-    AUX778076_INCLUDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \
-/**/
-#else
-#   define AUX778076_HEADER \
-    BOOST_PP_CAT(AUX778076_INCLUDE_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \
-/**/
-#endif
-
-
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))
-#   define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX778076_HEADER)
-#   include AUX778076_INCLUDE_STRING
-#   undef AUX778076_INCLUDE_STRING
-#else
-#   include BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX778076_HEADER)
-#endif
-
-#   undef AUX778076_HEADER
-#   undef AUX778076_INCLUDE_DIR
-
-#undef BOOST_MPL_PREPROCESSED_HEADER
diff --git a/SRC/Boost/boost/mpl/vector/aux_/item.hpp b/SRC/Boost/boost/mpl/vector/aux_/item.hpp
deleted file mode 100755
index 5832050..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/item.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template< 
-      typename T
-    , typename Base
-    , int at_front = 0
-    >
-struct v_item
-    : Base
-{
-    typedef typename Base::upper_bound_ index_;
-    typedef typename next<index_>::type upper_bound_;
-    typedef typename next<typename Base::size>::type size;
-    typedef Base base;
-    typedef v_item type;
-
-    // agurt 10/sep/04: MWCW <= 9.3 workaround here and below; the compiler
-    // breaks if using declaration comes _before_ the new overload
-    static aux::type_wrapper<T> item_(index_);
-    using Base::item_;
-};
-
-template<
-      typename T
-    , typename Base
-    >
-struct v_item<T,Base,1>
-    : Base
-{
-    typedef typename prior<typename Base::lower_bound_>::type index_;
-    typedef index_ lower_bound_;
-    typedef typename next<typename Base::size>::type size;
-    typedef Base base;
-    typedef v_item type;
-
-    static aux::type_wrapper<T> item_(index_);
-    using Base::item_;
-};
-
-// "erasure" item
-template< 
-      typename Base
-    , int at_front
-    >
-struct v_mask
-    : Base
-{
-    typedef typename prior<typename Base::upper_bound_>::type index_;
-    typedef index_ upper_bound_;
-    typedef typename prior<typename Base::size>::type size;
-    typedef Base base;
-    typedef v_mask type;
-
-    static aux::type_wrapper<void_> item_(index_);
-    using Base::item_;
-};
-
-template< 
-      typename Base
-    >
-struct v_mask<Base,1>
-    : Base
-{
-    typedef typename Base::lower_bound_ index_;
-    typedef typename next<index_>::type lower_bound_;
-    typedef typename prior<typename Base::size>::type size;
-    typedef Base base;
-    typedef v_mask type;
-
-    static aux::type_wrapper<void_> item_(index_);
-    using Base::item_;
-};
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/iterator.hpp b/SRC/Boost/boost/mpl/vector/aux_/iterator.hpp
deleted file mode 100755
index 5336b51..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/iterator.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED
-#define BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/vector/aux_/at.hpp>
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/plus.hpp>
-#include <boost/mpl/minus.hpp>
-#include <boost/mpl/advance_fwd.hpp>
-#include <boost/mpl/distance_fwd.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/prior.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename Vector
-    , BOOST_MPL_AUX_NTTP_DECL(long, n_)
-    >
-struct v_iter
-{
-    typedef aux::v_iter_tag tag;
-    typedef random_access_iterator_tag category;
-    typedef typename v_at<Vector,n_>::type type;
-
-    typedef Vector vector_;
-    typedef mpl::long_<n_> pos;
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    enum { 
-          next_ = n_ + 1
-        , prior_ = n_ - 1
-        , pos_ = n_
-    };
-    
-    typedef v_iter<Vector,next_> next;
-    typedef v_iter<Vector,prior_> prior;
-#endif
-
-};
-
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
-      typename Vector
-    , BOOST_MPL_AUX_NTTP_DECL(long, n_)
-    >
-struct next< v_iter<Vector,n_> >
-{
-    typedef v_iter<Vector,(n_ + 1)> type;
-};
-
-template<
-      typename Vector
-    , BOOST_MPL_AUX_NTTP_DECL(long, n_)
-    >
-struct prior< v_iter<Vector,n_> >
-{
-    typedef v_iter<Vector,(n_ - 1)> type;
-};
-
-template<
-      typename Vector
-    , BOOST_MPL_AUX_NTTP_DECL(long, n_)
-    , typename Distance
-    >
-struct advance< v_iter<Vector,n_>,Distance>
-{
-    typedef v_iter<
-          Vector
-        , (n_ + BOOST_MPL_AUX_NESTED_VALUE_WKND(long, Distance))
-        > type;
-};
-
-template< 
-      typename Vector
-    , BOOST_MPL_AUX_NTTP_DECL(long, n_)
-    , BOOST_MPL_AUX_NTTP_DECL(long, m_)
-    > 
-struct distance< v_iter<Vector,n_>, v_iter<Vector,m_> >
-    : mpl::long_<(m_ - n_)>
-{
-};
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template<> struct advance_impl<aux::v_iter_tag>
-{
-    template< typename Iterator, typename N > struct apply
-    {
-        enum { pos_ = Iterator::pos_, n_ = N::value };
-        typedef v_iter<
-              typename Iterator::vector_
-            , (pos_ + n_)
-            > type;
-    };
-};
-
-template<> struct distance_impl<aux::v_iter_tag>
-{
-    template< typename Iter1, typename Iter2 > struct apply
-    {
-        enum { pos1_ = Iter1::pos_, pos2_ = Iter2::pos_ };
-        typedef long_<( pos2_ - pos1_ )> type;
-        BOOST_STATIC_CONSTANT(long, value = ( pos2_ - pos1_ ));
-    };
-};
-
-#endif
-
-}}
-
-#endif // BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/numbered.hpp b/SRC/Boost/boost/mpl/vector/aux_/numbered.hpp
deleted file mode 100755
index 493bd5f..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/numbered.hpp
+++ /dev/null
@@ -1,218 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-#if defined(BOOST_PP_IS_ITERATING)
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/preprocessor/enum_params.hpp>
-#include <boost/preprocessor/enum_shifted_params.hpp>
-#include <boost/preprocessor/comma_if.hpp>
-#include <boost/preprocessor/repeat.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-#   define AUX778076_VECTOR_TAIL(vector, i_, T) \
-    BOOST_PP_CAT(vector,i_)< \
-          BOOST_PP_ENUM_PARAMS(i_, T) \
-        > \
-    /**/
-
-#if i_ > 0
-template<
-      BOOST_PP_ENUM_PARAMS(i_, typename T)
-    >
-struct BOOST_PP_CAT(vector,i_)
-    : v_item<
-          BOOST_PP_CAT(T,BOOST_PP_DEC(i_))
-        , AUX778076_VECTOR_TAIL(vector,BOOST_PP_DEC(i_),T)
-        >
-{
-    typedef BOOST_PP_CAT(vector,i_) type;
-};
-#endif
-
-#   undef AUX778076_VECTOR_TAIL
-
-#else // "brute force" implementation
-
-#   if i_ > 0
-
-template<
-      BOOST_PP_ENUM_PARAMS(i_, typename T)
-    >
-struct BOOST_PP_CAT(vector,i_)
-{
-    typedef aux::vector_tag<i_> tag;
-    typedef BOOST_PP_CAT(vector,i_) type;
-
-#   define AUX778076_VECTOR_ITEM(unused, i_, unused2) \
-    typedef BOOST_PP_CAT(T,i_) BOOST_PP_CAT(item,i_); \
-    /**/
-
-    BOOST_PP_REPEAT(i_, AUX778076_VECTOR_ITEM, unused)
-#   undef AUX778076_VECTOR_ITEM
-    typedef void_ BOOST_PP_CAT(item,i_);
-    typedef BOOST_PP_CAT(T,BOOST_PP_DEC(i_)) back;
-
-    // Borland forces us to use 'type' here (instead of the class name)
-    typedef v_iter<type,0> begin;
-    typedef v_iter<type,i_> end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<BOOST_PP_DEC(i_)> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef BOOST_PP_CAT(vector,i_)<
-              T
-              BOOST_PP_COMMA_IF(BOOST_PP_DEC(i_))
-              BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item)
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<i_> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef BOOST_PP_CAT(vector,BOOST_PP_DEC(i_))<
-              BOOST_PP_ENUM_SHIFTED_PARAMS(i_, typename Vector::item)
-            > type;
-    };
-};
-
-
-template<>
-struct push_back_impl< aux::vector_tag<BOOST_PP_DEC(i_)> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef BOOST_PP_CAT(vector,i_)<
-              BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item)
-              BOOST_PP_COMMA_IF(BOOST_PP_DEC(i_))
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<i_> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef BOOST_PP_CAT(vector,BOOST_PP_DEC(i_))<
-              BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item)
-            > type;
-    };
-};
-
-#   endif // i_ > 0
-
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-
-template< typename V >
-struct v_at<V,i_>
-{
-    typedef typename V::BOOST_PP_CAT(item,i_) type;
-};
-
-#   else
-
-namespace aux {
-template<> struct v_at_impl<i_>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::BOOST_PP_CAT(item,i_) type;
-    };
-};
-}
-
-template<>
-struct at_impl< aux::vector_tag<i_> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-#if i_ > 0
-template<>
-struct front_impl< aux::vector_tag<i_> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<i_> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<i_> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-#endif
-
-template<>
-struct size_impl< aux::vector_tag<i_> >
-{
-    template< typename Vector > struct apply
-        : long_<i_>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<i_> >
-    : size_impl< aux::vector_tag<i_> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<i_> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#undef i_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/vector/aux_/numbered_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/numbered_c.hpp
deleted file mode 100755
index 3a85061..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/numbered_c.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-#if defined(BOOST_PP_IS_ITERATING)
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: numbered_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/preprocessor/enum_params.hpp>
-#include <boost/preprocessor/enum_shifted_params.hpp>
-#include <boost/preprocessor/comma_if.hpp>
-#include <boost/preprocessor/repeat.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-#   define AUX778076_VECTOR_TAIL(vector, i_, C) \
-    BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)<T \
-          BOOST_PP_COMMA_IF(i_) BOOST_PP_ENUM_PARAMS(i_, C) \
-        > \
-    /**/
-
-#if i_ > 0
-template<
-      typename T
-    , BOOST_PP_ENUM_PARAMS(i_, T C)
-    >
-struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)
-    : v_item<
-          integral_c<T,BOOST_PP_CAT(C,BOOST_PP_DEC(i_))>
-        , AUX778076_VECTOR_TAIL(vector,BOOST_PP_DEC(i_),C)
-        >
-{
-    typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type;
-    typedef T value_type;
-};
-#endif
-
-#   undef AUX778076_VECTOR_TAIL
-
-#else // "brute force" implementation
-
-#   define AUX778076_VECTOR_C_PARAM_FUNC(unused, i_, param) \
-    BOOST_PP_COMMA_IF(i_) \
-    integral_c<T,BOOST_PP_CAT(param,i_)> \
-    /**/
-
-template<
-      typename T
-    , BOOST_PP_ENUM_PARAMS(i_, T C)
-    >
-struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)
-    : BOOST_PP_CAT(vector,i_)< BOOST_PP_REPEAT(i_,AUX778076_VECTOR_C_PARAM_FUNC,C) >
-{
-    typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type;
-    typedef T value_type;
-};
-
-#   undef AUX778076_VECTOR_C_PARAM_FUNC
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#undef i_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/mpl/vector/aux_/pop_back.hpp b/SRC/Boost/boost/mpl/vector/aux_/pop_back.hpp
deleted file mode 100755
index 9d20876..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/pop_back.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: pop_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/pop_back_fwd.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-#   include <boost/mpl/vector/aux_/item.hpp>
-#   include <boost/mpl/vector/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct pop_back_impl< aux::vector_tag >
-{
-    template< typename Vector > struct apply
-    {
-        typedef v_mask<Vector,0> type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#endif // BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/pop_front.hpp b/SRC/Boost/boost/mpl/vector/aux_/pop_front.hpp
deleted file mode 100755
index eb901dc..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/pop_front.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: pop_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/pop_front_fwd.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-#   include <boost/mpl/vector/aux_/item.hpp>
-#   include <boost/mpl/vector/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct pop_front_impl< aux::vector_tag >
-{
-    template< typename Vector > struct apply
-    {
-        typedef v_mask<Vector,1> type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#endif // BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
deleted file mode 100755
index dbe80fb..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
+++ /dev/null
@@ -1,1528 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector10.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template<> struct v_at_impl<0>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item0 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<0> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<0> >
-{
-    template< typename Vector > struct apply
-        : long_<0>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<0> >
-    : size_impl< aux::vector_tag<0> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<0> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0
-    >
-struct vector1
-{
-    typedef aux::vector_tag<1> tag;
-    typedef vector1 type;
-    typedef T0 item0;
-    typedef void_ item1;
-    typedef T0 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,1 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<0> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector1<
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<1> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<
-             
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<0> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector1<
-             
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<1> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<
-             
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<1>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item1 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<1> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<1> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<1> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<1> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<1> >
-{
-    template< typename Vector > struct apply
-        : long_<1>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<1> >
-    : size_impl< aux::vector_tag<1> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<1> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1
-    >
-struct vector2
-{
-    typedef aux::vector_tag<2> tag;
-    typedef vector2 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    
-
-    typedef void_ item2;
-    typedef T1 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,2 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<1> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector2<
-              T
-              ,
-              typename Vector::item0
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<2> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector1<
-              typename Vector::item1
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<1> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector2<
-              typename Vector::item0
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<2> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector1<
-              typename Vector::item0
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<2>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item2 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<2> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<2> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<2> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<2> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<2> >
-{
-    template< typename Vector > struct apply
-        : long_<2>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<2> >
-    : size_impl< aux::vector_tag<2> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<2> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct vector3
-{
-    typedef aux::vector_tag<3> tag;
-    typedef vector3 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    
-
-    typedef void_ item3;
-    typedef T2 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,3 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<2> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector3<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<3> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector2<
-              typename Vector::item1, typename Vector::item2
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<2> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector3<
-              typename Vector::item0, typename Vector::item1
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<3> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector2<
-              typename Vector::item0, typename Vector::item1
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<3>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item3 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<3> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<3> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<3> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<3> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<3> >
-{
-    template< typename Vector > struct apply
-        : long_<3>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<3> >
-    : size_impl< aux::vector_tag<3> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<3> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct vector4
-{
-    typedef aux::vector_tag<4> tag;
-    typedef vector4 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    
-
-    typedef void_ item4;
-    typedef T3 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,4 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<3> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector4<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<4> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector3<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<3> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector4<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<4> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector3<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<4>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item4 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<4> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<4> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<4> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<4> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<4> >
-{
-    template< typename Vector > struct apply
-        : long_<4>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<4> >
-    : size_impl< aux::vector_tag<4> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<4> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct vector5
-{
-    typedef aux::vector_tag<5> tag;
-    typedef vector5 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    
-
-    typedef void_ item5;
-    typedef T4 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,5 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<4> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector5<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<5> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector4<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<4> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector5<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<5> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector4<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<5>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item5 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<5> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<5> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<5> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<5> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<5> >
-{
-    template< typename Vector > struct apply
-        : long_<5>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<5> >
-    : size_impl< aux::vector_tag<5> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<5> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct vector6
-{
-    typedef aux::vector_tag<6> tag;
-    typedef vector6 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    
-
-    typedef void_ item6;
-    typedef T5 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,6 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<5> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector6<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<6> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector5<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<5> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector6<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<6> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector5<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<6>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item6 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<6> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<6> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<6> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<6> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<6> >
-{
-    template< typename Vector > struct apply
-        : long_<6>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<6> >
-    : size_impl< aux::vector_tag<6> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<6> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct vector7
-{
-    typedef aux::vector_tag<7> tag;
-    typedef vector7 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    
-
-    typedef void_ item7;
-    typedef T6 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,7 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<6> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector7<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<7> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector6<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<6> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector7<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<7> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector6<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<7>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item7 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<7> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<7> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<7> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<7> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<7> >
-{
-    template< typename Vector > struct apply
-        : long_<7>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<7> >
-    : size_impl< aux::vector_tag<7> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<7> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct vector8
-{
-    typedef aux::vector_tag<8> tag;
-    typedef vector8 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    
-
-    typedef void_ item8;
-    typedef T7 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,8 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<7> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector8<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<8> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector7<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<7> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector8<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<8> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector7<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<8>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item8 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<8> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<8> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<8> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<8> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<8> >
-{
-    template< typename Vector > struct apply
-        : long_<8>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<8> >
-    : size_impl< aux::vector_tag<8> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<8> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct vector9
-{
-    typedef aux::vector_tag<9> tag;
-    typedef vector9 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    
-
-    typedef void_ item9;
-    typedef T8 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,9 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<8> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector9<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<9> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector8<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<8> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector9<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<9> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector8<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<9>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item9 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<9> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<9> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<9> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<9> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<9> >
-{
-    template< typename Vector > struct apply
-        : long_<9>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<9> >
-    : size_impl< aux::vector_tag<9> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<9> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct vector10
-{
-    typedef aux::vector_tag<10> tag;
-    typedef vector10 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    
-
-    typedef void_ item10;
-    typedef T9 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,10 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<9> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector10<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<10> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector9<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<9> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector10<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<10> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector9<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<10>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item10 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<10> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<10> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<10> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<10> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<10> >
-{
-    template< typename Vector > struct apply
-        : long_<10>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<10> >
-    : size_impl< aux::vector_tag<10> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<10> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp
deleted file mode 100755
index 5a088fc..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector10_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0
-    >
-struct vector1_c
-    : vector1< integral_c< T,C0 > >
-{
-    typedef vector1_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1
-    >
-struct vector2_c
-    : vector2< integral_c< T,C0 >, integral_c< T,C1 > >
-{
-    typedef vector2_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2
-    >
-struct vector3_c
-    : vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > >
-{
-    typedef vector3_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3
-    >
-struct vector4_c
-    : vector4<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >, integral_c<T
-        , C3> 
- >
-{
-    typedef vector4_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4
-    >
-struct vector5_c
-    : vector5<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 > 
- >
-{
-    typedef vector5_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5
-    >
-struct vector6_c
-    : vector6<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 > 
- >
-{
-    typedef vector6_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6
-    >
-struct vector7_c
-    : vector7<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c<T
-        , C6> 
- >
-{
-    typedef vector7_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7
-    >
-struct vector8_c
-    : vector8<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 > 
- >
-{
-    typedef vector8_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8
-    >
-struct vector9_c
-    : vector9<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 > 
- >
-{
-    typedef vector9_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9
-    >
-struct vector10_c
-    : vector10<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > 
- >
-{
-    typedef vector10_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp
deleted file mode 100755
index ed70049..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp
+++ /dev/null
@@ -1,1804 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector20.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct vector11
-{
-    typedef aux::vector_tag<11> tag;
-    typedef vector11 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    
-
-    typedef void_ item11;
-    typedef T10 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,11 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<10> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector11<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<11> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector10<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<10> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector11<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<11> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector10<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<11>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item11 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<11> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<11> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<11> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<11> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<11> >
-{
-    template< typename Vector > struct apply
-        : long_<11>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<11> >
-    : size_impl< aux::vector_tag<11> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<11> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct vector12
-{
-    typedef aux::vector_tag<12> tag;
-    typedef vector12 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    
-
-    typedef void_ item12;
-    typedef T11 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,12 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<11> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector12<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<12> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector11<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<11> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector12<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<12> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector11<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<12>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item12 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<12> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<12> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<12> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<12> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<12> >
-{
-    template< typename Vector > struct apply
-        : long_<12>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<12> >
-    : size_impl< aux::vector_tag<12> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<12> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct vector13
-{
-    typedef aux::vector_tag<13> tag;
-    typedef vector13 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    
-
-    typedef void_ item13;
-    typedef T12 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,13 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<12> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector13<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<13> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector12<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<12> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector13<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<13> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector12<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<13>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item13 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<13> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<13> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<13> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<13> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<13> >
-{
-    template< typename Vector > struct apply
-        : long_<13>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<13> >
-    : size_impl< aux::vector_tag<13> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<13> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct vector14
-{
-    typedef aux::vector_tag<14> tag;
-    typedef vector14 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    
-
-    typedef void_ item14;
-    typedef T13 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,14 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<13> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector14<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<14> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector13<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<13> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector14<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<14> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector13<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<14>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item14 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<14> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<14> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<14> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<14> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<14> >
-{
-    template< typename Vector > struct apply
-        : long_<14>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<14> >
-    : size_impl< aux::vector_tag<14> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<14> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct vector15
-{
-    typedef aux::vector_tag<15> tag;
-    typedef vector15 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    
-
-    typedef void_ item15;
-    typedef T14 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,15 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<14> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector15<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<15> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector14<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<14> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector15<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<15> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector14<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<15>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item15 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<15> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<15> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<15> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<15> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<15> >
-{
-    template< typename Vector > struct apply
-        : long_<15>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<15> >
-    : size_impl< aux::vector_tag<15> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<15> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct vector16
-{
-    typedef aux::vector_tag<16> tag;
-    typedef vector16 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    
-
-    typedef void_ item16;
-    typedef T15 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,16 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<15> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector16<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<16> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector15<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<15> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector16<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<16> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector15<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<16>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item16 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<16> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<16> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<16> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<16> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<16> >
-{
-    template< typename Vector > struct apply
-        : long_<16>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<16> >
-    : size_impl< aux::vector_tag<16> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<16> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct vector17
-{
-    typedef aux::vector_tag<17> tag;
-    typedef vector17 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    
-
-    typedef void_ item17;
-    typedef T16 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,17 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<16> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector17<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<17> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector16<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<16> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector17<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<17> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector16<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<17>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item17 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<17> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<17> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<17> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<17> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<17> >
-{
-    template< typename Vector > struct apply
-        : long_<17>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<17> >
-    : size_impl< aux::vector_tag<17> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<17> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct vector18
-{
-    typedef aux::vector_tag<18> tag;
-    typedef vector18 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    
-
-    typedef void_ item18;
-    typedef T17 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,18 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<17> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector18<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<18> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector17<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<17> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector18<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<18> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector17<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<18>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item18 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<18> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<18> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<18> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<18> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<18> >
-{
-    template< typename Vector > struct apply
-        : long_<18>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<18> >
-    : size_impl< aux::vector_tag<18> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<18> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct vector19
-{
-    typedef aux::vector_tag<19> tag;
-    typedef vector19 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    
-
-    typedef void_ item19;
-    typedef T18 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,19 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<18> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector19<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<19> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector18<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<18> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector19<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<19> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector18<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<19>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item19 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<19> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<19> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<19> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<19> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<19> >
-{
-    template< typename Vector > struct apply
-        : long_<19>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<19> >
-    : size_impl< aux::vector_tag<19> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<19> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector20
-{
-    typedef aux::vector_tag<20> tag;
-    typedef vector20 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    
-
-    typedef void_ item20;
-    typedef T19 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,20 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<19> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector20<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<20> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector19<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<19> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector20<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<20> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector19<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<20>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item20 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<20> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<20> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<20> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<20> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<20> >
-{
-    template< typename Vector > struct apply
-        : long_<20>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<20> >
-    : size_impl< aux::vector_tag<20> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<20> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp
deleted file mode 100755
index 03f6456..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector20_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    >
-struct vector11_c
-    : vector11<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >, integral_c<T
-        , C10> 
- >
-{
-    typedef vector11_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11
-    >
-struct vector12_c
-    : vector12<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 > 
- >
-{
-    typedef vector12_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12
-    >
-struct vector13_c
-    : vector13<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > 
- >
-{
-    typedef vector13_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13
-    >
-struct vector14_c
-    : vector14<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >, integral_c<T
-        , C13> 
- >
-{
-    typedef vector14_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14
-    >
-struct vector15_c
-    : vector15<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 > 
- >
-{
-    typedef vector15_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15
-    >
-struct vector16_c
-    : vector16<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > 
- >
-{
-    typedef vector16_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16
-    >
-struct vector17_c
-    : vector17<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >, integral_c<T
-        , C16> 
- >
-{
-    typedef vector17_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17
-    >
-struct vector18_c
-    : vector18<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 > 
- >
-{
-    typedef vector18_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18
-    >
-struct vector19_c
-    : vector19<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > 
- >
-{
-    typedef vector19_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19
-    >
-struct vector20_c
-    : vector20<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >, integral_c<T
-        , C19> 
- >
-{
-    typedef vector20_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp
deleted file mode 100755
index 015bdbf..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp
+++ /dev/null
@@ -1,2124 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector30.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20
-    >
-struct vector21
-{
-    typedef aux::vector_tag<21> tag;
-    typedef vector21 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    
-
-    typedef void_ item21;
-    typedef T20 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,21 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<20> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector21<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<21> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector20<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<20> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector21<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<21> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector20<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<21>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item21 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<21> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<21> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<21> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<21> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<21> >
-{
-    template< typename Vector > struct apply
-        : long_<21>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<21> >
-    : size_impl< aux::vector_tag<21> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<21> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21
-    >
-struct vector22
-{
-    typedef aux::vector_tag<22> tag;
-    typedef vector22 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    
-
-    typedef void_ item22;
-    typedef T21 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,22 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<21> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector22<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<22> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector21<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<21> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector22<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<22> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector21<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<22>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item22 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<22> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<22> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<22> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<22> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<22> >
-{
-    template< typename Vector > struct apply
-        : long_<22>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<22> >
-    : size_impl< aux::vector_tag<22> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<22> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22
-    >
-struct vector23
-{
-    typedef aux::vector_tag<23> tag;
-    typedef vector23 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    
-
-    typedef void_ item23;
-    typedef T22 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,23 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<22> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector23<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<23> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector22<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<22> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector23<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<23> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector22<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<23>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item23 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<23> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<23> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<23> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<23> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<23> >
-{
-    template< typename Vector > struct apply
-        : long_<23>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<23> >
-    : size_impl< aux::vector_tag<23> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<23> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23
-    >
-struct vector24
-{
-    typedef aux::vector_tag<24> tag;
-    typedef vector24 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    
-
-    typedef void_ item24;
-    typedef T23 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,24 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<23> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector24<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<24> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector23<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<23> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector24<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<24> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector23<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<24>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item24 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<24> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<24> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<24> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<24> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<24> >
-{
-    template< typename Vector > struct apply
-        : long_<24>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<24> >
-    : size_impl< aux::vector_tag<24> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<24> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    >
-struct vector25
-{
-    typedef aux::vector_tag<25> tag;
-    typedef vector25 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    
-
-    typedef void_ item25;
-    typedef T24 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,25 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<24> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector25<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<25> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector24<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<24> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector25<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<25> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector24<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<25>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item25 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<25> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<25> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<25> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<25> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<25> >
-{
-    template< typename Vector > struct apply
-        : long_<25>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<25> >
-    : size_impl< aux::vector_tag<25> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<25> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25
-    >
-struct vector26
-{
-    typedef aux::vector_tag<26> tag;
-    typedef vector26 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    
-
-    typedef void_ item26;
-    typedef T25 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,26 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<25> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector26<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<26> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector25<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<25> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector26<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<26> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector25<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<26>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item26 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<26> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<26> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<26> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<26> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<26> >
-{
-    template< typename Vector > struct apply
-        : long_<26>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<26> >
-    : size_impl< aux::vector_tag<26> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<26> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26
-    >
-struct vector27
-{
-    typedef aux::vector_tag<27> tag;
-    typedef vector27 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    
-
-    typedef void_ item27;
-    typedef T26 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,27 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<26> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector27<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<27> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector26<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<26> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector27<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<27> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector26<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<27>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item27 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<27> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<27> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<27> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<27> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<27> >
-{
-    template< typename Vector > struct apply
-        : long_<27>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<27> >
-    : size_impl< aux::vector_tag<27> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<27> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27
-    >
-struct vector28
-{
-    typedef aux::vector_tag<28> tag;
-    typedef vector28 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    
-
-    typedef void_ item28;
-    typedef T27 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,28 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<27> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector28<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<28> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector27<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<27> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector28<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<28> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector27<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<28>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item28 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<28> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<28> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<28> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<28> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<28> >
-{
-    template< typename Vector > struct apply
-        : long_<28>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<28> >
-    : size_impl< aux::vector_tag<28> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<28> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28
-    >
-struct vector29
-{
-    typedef aux::vector_tag<29> tag;
-    typedef vector29 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    
-
-    typedef void_ item29;
-    typedef T28 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,29 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<28> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector29<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<29> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector28<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<28> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector29<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<29> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector28<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<29>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item29 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<29> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<29> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<29> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<29> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<29> >
-{
-    template< typename Vector > struct apply
-        : long_<29>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<29> >
-    : size_impl< aux::vector_tag<29> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<29> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    >
-struct vector30
-{
-    typedef aux::vector_tag<30> tag;
-    typedef vector30 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    
-
-    typedef void_ item30;
-    typedef T29 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,30 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<29> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector30<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<30> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector29<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<29> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector30<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<30> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector29<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<30>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item30 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<30> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<30> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<30> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<30> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<30> >
-{
-    template< typename Vector > struct apply
-        : long_<30>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<30> >
-    : size_impl< aux::vector_tag<30> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<30> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp
deleted file mode 100755
index 6d47c94..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp
+++ /dev/null
@@ -1,238 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector30_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    >
-struct vector21_c
-    : vector21<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 > 
- >
-{
-    typedef vector21_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21
-    >
-struct vector22_c
-    : vector22<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > 
- >
-{
-    typedef vector22_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22
-    >
-struct vector23_c
-    : vector23<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >, integral_c<T
-        , C22> 
- >
-{
-    typedef vector23_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23
-    >
-struct vector24_c
-    : vector24<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 > 
- >
-{
-    typedef vector24_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24
-    >
-struct vector25_c
-    : vector25<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > 
- >
-{
-    typedef vector25_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25
-    >
-struct vector26_c
-    : vector26<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >, integral_c<T
-        , C25> 
- >
-{
-    typedef vector26_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26
-    >
-struct vector27_c
-    : vector27<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 > 
- >
-{
-    typedef vector27_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27
-    >
-struct vector28_c
-    : vector28<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > 
- >
-{
-    typedef vector28_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28
-    >
-struct vector29_c
-    : vector29<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >, integral_c<T
-        , C28> 
- >
-{
-    typedef vector29_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29
-    >
-struct vector30_c
-    : vector30<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 > 
- >
-{
-    typedef vector30_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp
deleted file mode 100755
index ad93a68..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp
+++ /dev/null
@@ -1,2444 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector40.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30
-    >
-struct vector31
-{
-    typedef aux::vector_tag<31> tag;
-    typedef vector31 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    
-
-    typedef void_ item31;
-    typedef T30 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,31 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<30> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector31<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<31> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector30<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<30> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector31<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<31> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector30<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<31>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item31 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<31> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<31> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<31> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<31> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<31> >
-{
-    template< typename Vector > struct apply
-        : long_<31>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<31> >
-    : size_impl< aux::vector_tag<31> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<31> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31
-    >
-struct vector32
-{
-    typedef aux::vector_tag<32> tag;
-    typedef vector32 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    
-
-    typedef void_ item32;
-    typedef T31 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,32 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<31> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector32<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<32> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector31<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<31> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector32<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<32> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector31<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<32>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item32 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<32> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<32> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<32> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<32> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<32> >
-{
-    template< typename Vector > struct apply
-        : long_<32>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<32> >
-    : size_impl< aux::vector_tag<32> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<32> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32
-    >
-struct vector33
-{
-    typedef aux::vector_tag<33> tag;
-    typedef vector33 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    
-
-    typedef void_ item33;
-    typedef T32 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,33 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<32> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector33<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<33> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector32<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<32> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector33<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<33> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector32<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<33>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item33 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<33> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<33> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<33> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<33> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<33> >
-{
-    template< typename Vector > struct apply
-        : long_<33>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<33> >
-    : size_impl< aux::vector_tag<33> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<33> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33
-    >
-struct vector34
-{
-    typedef aux::vector_tag<34> tag;
-    typedef vector34 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    
-
-    typedef void_ item34;
-    typedef T33 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,34 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<33> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector34<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<34> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector33<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<33> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector34<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<34> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector33<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<34>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item34 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<34> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<34> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<34> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<34> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<34> >
-{
-    template< typename Vector > struct apply
-        : long_<34>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<34> >
-    : size_impl< aux::vector_tag<34> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<34> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    >
-struct vector35
-{
-    typedef aux::vector_tag<35> tag;
-    typedef vector35 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    
-
-    typedef void_ item35;
-    typedef T34 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,35 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<34> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector35<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<35> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector34<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<34> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector35<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<35> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector34<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<35>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item35 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<35> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<35> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<35> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<35> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<35> >
-{
-    template< typename Vector > struct apply
-        : long_<35>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<35> >
-    : size_impl< aux::vector_tag<35> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<35> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35
-    >
-struct vector36
-{
-    typedef aux::vector_tag<36> tag;
-    typedef vector36 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    
-
-    typedef void_ item36;
-    typedef T35 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,36 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<35> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector36<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<36> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector35<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<35> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector36<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<36> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector35<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<36>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item36 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<36> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<36> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<36> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<36> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<36> >
-{
-    template< typename Vector > struct apply
-        : long_<36>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<36> >
-    : size_impl< aux::vector_tag<36> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<36> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36
-    >
-struct vector37
-{
-    typedef aux::vector_tag<37> tag;
-    typedef vector37 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    
-
-    typedef void_ item37;
-    typedef T36 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,37 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<36> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector37<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<37> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector36<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<36> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector37<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<37> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector36<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<37>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item37 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<37> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<37> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<37> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<37> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<37> >
-{
-    template< typename Vector > struct apply
-        : long_<37>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<37> >
-    : size_impl< aux::vector_tag<37> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<37> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37
-    >
-struct vector38
-{
-    typedef aux::vector_tag<38> tag;
-    typedef vector38 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    
-
-    typedef void_ item38;
-    typedef T37 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,38 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<37> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector38<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<38> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector37<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<37> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector38<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<38> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector37<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<38>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item38 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<38> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<38> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<38> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<38> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<38> >
-{
-    template< typename Vector > struct apply
-        : long_<38>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<38> >
-    : size_impl< aux::vector_tag<38> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<38> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38
-    >
-struct vector39
-{
-    typedef aux::vector_tag<39> tag;
-    typedef vector39 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    
-
-    typedef void_ item39;
-    typedef T38 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,39 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<38> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector39<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<39> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector38<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<38> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector39<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<39> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector38<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<39>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item39 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<39> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<39> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<39> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<39> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<39> >
-{
-    template< typename Vector > struct apply
-        : long_<39>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<39> >
-    : size_impl< aux::vector_tag<39> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<39> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    >
-struct vector40
-{
-    typedef aux::vector_tag<40> tag;
-    typedef vector40 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    
-
-    typedef void_ item40;
-    typedef T39 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,40 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<39> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector40<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<40> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector39<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<39> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector40<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<40> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector39<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<40>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item40 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<40> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<40> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<40> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<40> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<40> >
-{
-    template< typename Vector > struct apply
-        : long_<40>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<40> >
-    : size_impl< aux::vector_tag<40> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<40> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp
deleted file mode 100755
index f248b0d..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp
+++ /dev/null
@@ -1,281 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector40_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    >
-struct vector31_c
-    : vector31<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > 
- >
-{
-    typedef vector31_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31
-    >
-struct vector32_c
-    : vector32<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >, integral_c<T
-        , C31> 
- >
-{
-    typedef vector32_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32
-    >
-struct vector33_c
-    : vector33<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 > 
- >
-{
-    typedef vector33_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33
-    >
-struct vector34_c
-    : vector34<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > 
- >
-{
-    typedef vector34_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34
-    >
-struct vector35_c
-    : vector35<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >, integral_c<T
-        , C34> 
- >
-{
-    typedef vector35_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35
-    >
-struct vector36_c
-    : vector36<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 > 
- >
-{
-    typedef vector36_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36
-    >
-struct vector37_c
-    : vector37<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > 
- >
-{
-    typedef vector37_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37
-    >
-struct vector38_c
-    : vector38<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >, integral_c<T
-        , C37> 
- >
-{
-    typedef vector38_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38
-    >
-struct vector39_c
-    : vector39<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 > 
- >
-{
-    typedef vector39_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39
-    >
-struct vector40_c
-    : vector40<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > 
- >
-{
-    typedef vector40_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
deleted file mode 100755
index 4de5eab..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
+++ /dev/null
@@ -1,2764 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector50.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40
-    >
-struct vector41
-{
-    typedef aux::vector_tag<41> tag;
-    typedef vector41 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    
-
-    typedef void_ item41;
-    typedef T40 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,41 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<40> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector41<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<41> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector40<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<40> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector41<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<41> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector40<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<41>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item41 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<41> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<41> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<41> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<41> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<41> >
-{
-    template< typename Vector > struct apply
-        : long_<41>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<41> >
-    : size_impl< aux::vector_tag<41> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<41> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41
-    >
-struct vector42
-{
-    typedef aux::vector_tag<42> tag;
-    typedef vector42 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    
-
-    typedef void_ item42;
-    typedef T41 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,42 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<41> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector42<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<42> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector41<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<41> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector42<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<42> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector41<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<42>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item42 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<42> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<42> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<42> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<42> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<42> >
-{
-    template< typename Vector > struct apply
-        : long_<42>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<42> >
-    : size_impl< aux::vector_tag<42> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<42> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42
-    >
-struct vector43
-{
-    typedef aux::vector_tag<43> tag;
-    typedef vector43 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    
-
-    typedef void_ item43;
-    typedef T42 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,43 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<42> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector43<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<43> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector42<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<42> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector43<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<43> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector42<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<43>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item43 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<43> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<43> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<43> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<43> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<43> >
-{
-    template< typename Vector > struct apply
-        : long_<43>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<43> >
-    : size_impl< aux::vector_tag<43> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<43> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43
-    >
-struct vector44
-{
-    typedef aux::vector_tag<44> tag;
-    typedef vector44 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    
-
-    typedef void_ item44;
-    typedef T43 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,44 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<43> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector44<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<44> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector43<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<43> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector44<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<44> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector43<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<44>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item44 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<44> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<44> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<44> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<44> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<44> >
-{
-    template< typename Vector > struct apply
-        : long_<44>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<44> >
-    : size_impl< aux::vector_tag<44> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<44> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    >
-struct vector45
-{
-    typedef aux::vector_tag<45> tag;
-    typedef vector45 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    typedef T44 item44;
-    
-
-    typedef void_ item45;
-    typedef T44 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,45 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<44> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector45<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<45> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector44<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43, typename Vector::item44
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<44> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector45<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<45> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector44<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<45>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item45 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<45> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<45> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<45> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<45> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<45> >
-{
-    template< typename Vector > struct apply
-        : long_<45>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<45> >
-    : size_impl< aux::vector_tag<45> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<45> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45
-    >
-struct vector46
-{
-    typedef aux::vector_tag<46> tag;
-    typedef vector46 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    typedef T44 item44;
-    typedef T45 item45;
-    
-
-    typedef void_ item46;
-    typedef T45 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,46 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<45> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector46<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<46> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector45<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43, typename Vector::item44
-            , typename Vector::item45
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<45> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector46<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<46> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector45<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<46>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item46 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<46> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<46> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<46> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<46> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<46> >
-{
-    template< typename Vector > struct apply
-        : long_<46>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<46> >
-    : size_impl< aux::vector_tag<46> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<46> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46
-    >
-struct vector47
-{
-    typedef aux::vector_tag<47> tag;
-    typedef vector47 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    typedef T44 item44;
-    typedef T45 item45;
-    typedef T46 item46;
-    
-
-    typedef void_ item47;
-    typedef T46 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,47 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<46> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector47<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<47> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector46<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43, typename Vector::item44
-            , typename Vector::item45, typename Vector::item46
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<46> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector47<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<47> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector46<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<47>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item47 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<47> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<47> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<47> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<47> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<47> >
-{
-    template< typename Vector > struct apply
-        : long_<47>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<47> >
-    : size_impl< aux::vector_tag<47> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<47> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46, typename T47
-    >
-struct vector48
-{
-    typedef aux::vector_tag<48> tag;
-    typedef vector48 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    typedef T44 item44;
-    typedef T45 item45;
-    typedef T46 item46;
-    typedef T47 item47;
-    
-
-    typedef void_ item48;
-    typedef T47 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,48 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<47> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector48<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<48> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector47<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43, typename Vector::item44
-            , typename Vector::item45, typename Vector::item46
-            , typename Vector::item47
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<47> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector48<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<48> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector47<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<48>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item48 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<48> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<48> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<48> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<48> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<48> >
-{
-    template< typename Vector > struct apply
-        : long_<48>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<48> >
-    : size_impl< aux::vector_tag<48> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<48> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46, typename T47, typename T48
-    >
-struct vector49
-{
-    typedef aux::vector_tag<49> tag;
-    typedef vector49 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    typedef T44 item44;
-    typedef T45 item45;
-    typedef T46 item46;
-    typedef T47 item47;
-    typedef T48 item48;
-    
-
-    typedef void_ item49;
-    typedef T48 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,49 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<48> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector49<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46, typename Vector::item47
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<49> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector48<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43, typename Vector::item44
-            , typename Vector::item45, typename Vector::item46
-            , typename Vector::item47, typename Vector::item48
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<48> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector49<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46, typename Vector::item47
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<49> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector48<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46, typename Vector::item47
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<49>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item49 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<49> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<49> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<49> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<49> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<49> >
-{
-    template< typename Vector > struct apply
-        : long_<49>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<49> >
-    : size_impl< aux::vector_tag<49> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<49> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46, typename T47, typename T48, typename T49
-    >
-struct vector50
-{
-    typedef aux::vector_tag<50> tag;
-    typedef vector50 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    typedef T44 item44;
-    typedef T45 item45;
-    typedef T46 item46;
-    typedef T47 item47;
-    typedef T48 item48;
-    typedef T49 item49;
-    
-
-    typedef void_ item50;
-    typedef T49 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,50 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<49> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector50<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46, typename Vector::item47
-            , typename Vector::item48
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<50> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector49<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43, typename Vector::item44
-            , typename Vector::item45, typename Vector::item46
-            , typename Vector::item47, typename Vector::item48
-            , typename Vector::item49
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<49> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector50<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46, typename Vector::item47
-            , typename Vector::item48
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<50> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector49<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46, typename Vector::item47
-            , typename Vector::item48
-            > type;
-    };
-};
-
-namespace aux {
-template<> struct v_at_impl<50>
-{
-    template< typename V_ > struct result_
-    {
-        typedef typename V_::item50 type;
-    };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<50> >
-{
-    template< typename V_, typename N > struct apply
-    {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
-            ::template result_<V_>::type type;
-    };
-};
-
-template<>
-struct front_impl< aux::vector_tag<50> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::item0 type;
-    };
-};
-
-template<>
-struct back_impl< aux::vector_tag<50> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef typename Vector::back type;
-    };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<50> >
-{
-    template< typename Vector > struct apply
-        : false_
-    {
-    };
-};
-
-template<>
-struct size_impl< aux::vector_tag<50> >
-{
-    template< typename Vector > struct apply
-        : long_<50>
-    {
-    };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<50> >
-    : size_impl< aux::vector_tag<50> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<50> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<> type;
-    };
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp
deleted file mode 100755
index 4d09834..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp
+++ /dev/null
@@ -1,325 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector50_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    >
-struct vector41_c
-    : vector41<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >, integral_c<T
-        , C40> 
- >
-{
-    typedef vector41_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41
-    >
-struct vector42_c
-    : vector42<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 > 
- >
-{
-    typedef vector42_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42
-    >
-struct vector43_c
-    : vector43<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > 
- >
-{
-    typedef vector43_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43
-    >
-struct vector44_c
-    : vector44<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >, integral_c<T
-        , C43> 
- >
-{
-    typedef vector44_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44
-    >
-struct vector45_c
-    : vector45<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
-        , integral_c< T,C43 >, integral_c< T,C44 > 
- >
-{
-    typedef vector45_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45
-    >
-struct vector46_c
-    : vector46<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
-        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > 
- >
-{
-    typedef vector46_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46
-    >
-struct vector47_c
-    : vector47<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
-        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >, integral_c<T
-        , C46> 
- >
-{
-    typedef vector47_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46, T C47
-    >
-struct vector48_c
-    : vector48<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
-        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
-        , integral_c< T,C46 >, integral_c< T,C47 > 
- >
-{
-    typedef vector48_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48
-    >
-struct vector49_c
-    : vector49<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
-        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
-        , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 > 
- >
-{
-    typedef vector49_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49
-    >
-struct vector50_c
-    : vector50<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
-        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
-        , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >, integral_c<T
-        , C49> 
- >
-{
-    typedef vector50_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp
deleted file mode 100755
index bd8928b..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp
+++ /dev/null
@@ -1,829 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector10.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename V >
-struct v_at< V,0 >
-{
-    typedef typename V::item0 type;
-};
-
-template<
-      typename T0
-    >
-struct vector1
-{
-    typedef aux::vector_tag<1> tag;
-    typedef vector1 type;
-    typedef T0 item0;
-    typedef void_ item1;
-    typedef T0 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,1 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<0> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector1<
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<1> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<
-             
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<0> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector1<
-             
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<1> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector0<
-             
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,1 >
-{
-    typedef typename V::item1 type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct vector2
-{
-    typedef aux::vector_tag<2> tag;
-    typedef vector2 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    
-
-    typedef void_ item2;
-    typedef T1 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,2 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<1> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector2<
-              T
-              ,
-              typename Vector::item0
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<2> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector1<
-              typename Vector::item1
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<1> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector2<
-              typename Vector::item0
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<2> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector1<
-              typename Vector::item0
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,2 >
-{
-    typedef typename V::item2 type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct vector3
-{
-    typedef aux::vector_tag<3> tag;
-    typedef vector3 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    
-
-    typedef void_ item3;
-    typedef T2 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,3 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<2> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector3<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<3> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector2<
-              typename Vector::item1, typename Vector::item2
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<2> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector3<
-              typename Vector::item0, typename Vector::item1
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<3> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector2<
-              typename Vector::item0, typename Vector::item1
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,3 >
-{
-    typedef typename V::item3 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct vector4
-{
-    typedef aux::vector_tag<4> tag;
-    typedef vector4 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    
-
-    typedef void_ item4;
-    typedef T3 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,4 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<3> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector4<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<4> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector3<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<3> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector4<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<4> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector3<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,4 >
-{
-    typedef typename V::item4 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct vector5
-{
-    typedef aux::vector_tag<5> tag;
-    typedef vector5 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    
-
-    typedef void_ item5;
-    typedef T4 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,5 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<4> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector5<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<5> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector4<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<4> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector5<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<5> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector4<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,5 >
-{
-    typedef typename V::item5 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct vector6
-{
-    typedef aux::vector_tag<6> tag;
-    typedef vector6 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    
-
-    typedef void_ item6;
-    typedef T5 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,6 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<5> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector6<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<6> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector5<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<5> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector6<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<6> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector5<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,6 >
-{
-    typedef typename V::item6 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct vector7
-{
-    typedef aux::vector_tag<7> tag;
-    typedef vector7 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    
-
-    typedef void_ item7;
-    typedef T6 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,7 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<6> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector7<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<7> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector6<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<6> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector7<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<7> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector6<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,7 >
-{
-    typedef typename V::item7 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct vector8
-{
-    typedef aux::vector_tag<8> tag;
-    typedef vector8 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    
-
-    typedef void_ item8;
-    typedef T7 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,8 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<7> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector8<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<8> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector7<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<7> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector8<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<8> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector7<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,8 >
-{
-    typedef typename V::item8 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct vector9
-{
-    typedef aux::vector_tag<9> tag;
-    typedef vector9 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    
-
-    typedef void_ item9;
-    typedef T8 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,9 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<8> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector9<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<9> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector8<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<8> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector9<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<9> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector8<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,9 >
-{
-    typedef typename V::item9 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct vector10
-{
-    typedef aux::vector_tag<10> tag;
-    typedef vector10 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    
-
-    typedef void_ item10;
-    typedef T9 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,10 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<9> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector10<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<10> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector9<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<9> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector10<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<10> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector9<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,10 >
-{
-    typedef typename V::item10 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp
deleted file mode 100755
index 5a088fc..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector10_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0
-    >
-struct vector1_c
-    : vector1< integral_c< T,C0 > >
-{
-    typedef vector1_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1
-    >
-struct vector2_c
-    : vector2< integral_c< T,C0 >, integral_c< T,C1 > >
-{
-    typedef vector2_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2
-    >
-struct vector3_c
-    : vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > >
-{
-    typedef vector3_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3
-    >
-struct vector4_c
-    : vector4<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >, integral_c<T
-        , C3> 
- >
-{
-    typedef vector4_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4
-    >
-struct vector5_c
-    : vector5<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 > 
- >
-{
-    typedef vector5_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5
-    >
-struct vector6_c
-    : vector6<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 > 
- >
-{
-    typedef vector6_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6
-    >
-struct vector7_c
-    : vector7<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c<T
-        , C6> 
- >
-{
-    typedef vector7_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7
-    >
-struct vector8_c
-    : vector8<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 > 
- >
-{
-    typedef vector8_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8
-    >
-struct vector9_c
-    : vector9<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 > 
- >
-{
-    typedef vector9_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9
-    >
-struct vector10_c
-    : vector10<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > 
- >
-{
-    typedef vector10_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp
deleted file mode 100755
index 116f112..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp
+++ /dev/null
@@ -1,1144 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector20.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct vector11
-{
-    typedef aux::vector_tag<11> tag;
-    typedef vector11 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    
-
-    typedef void_ item11;
-    typedef T10 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,11 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<10> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector11<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<11> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector10<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<10> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector11<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<11> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector10<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,11 >
-{
-    typedef typename V::item11 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct vector12
-{
-    typedef aux::vector_tag<12> tag;
-    typedef vector12 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    
-
-    typedef void_ item12;
-    typedef T11 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,12 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<11> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector12<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<12> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector11<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<11> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector12<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<12> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector11<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,12 >
-{
-    typedef typename V::item12 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct vector13
-{
-    typedef aux::vector_tag<13> tag;
-    typedef vector13 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    
-
-    typedef void_ item13;
-    typedef T12 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,13 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<12> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector13<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<13> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector12<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<12> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector13<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<13> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector12<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,13 >
-{
-    typedef typename V::item13 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct vector14
-{
-    typedef aux::vector_tag<14> tag;
-    typedef vector14 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    
-
-    typedef void_ item14;
-    typedef T13 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,14 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<13> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector14<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<14> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector13<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<13> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector14<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<14> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector13<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,14 >
-{
-    typedef typename V::item14 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct vector15
-{
-    typedef aux::vector_tag<15> tag;
-    typedef vector15 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    
-
-    typedef void_ item15;
-    typedef T14 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,15 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<14> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector15<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<15> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector14<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<14> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector15<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<15> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector14<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,15 >
-{
-    typedef typename V::item15 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct vector16
-{
-    typedef aux::vector_tag<16> tag;
-    typedef vector16 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    
-
-    typedef void_ item16;
-    typedef T15 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,16 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<15> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector16<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<16> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector15<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<15> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector16<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<16> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector15<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,16 >
-{
-    typedef typename V::item16 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct vector17
-{
-    typedef aux::vector_tag<17> tag;
-    typedef vector17 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    
-
-    typedef void_ item17;
-    typedef T16 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,17 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<16> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector17<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<17> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector16<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<16> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector17<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<17> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector16<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,17 >
-{
-    typedef typename V::item17 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct vector18
-{
-    typedef aux::vector_tag<18> tag;
-    typedef vector18 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    
-
-    typedef void_ item18;
-    typedef T17 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,18 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<17> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector18<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<18> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector17<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<17> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector18<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<18> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector17<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,18 >
-{
-    typedef typename V::item18 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct vector19
-{
-    typedef aux::vector_tag<19> tag;
-    typedef vector19 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    
-
-    typedef void_ item19;
-    typedef T18 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,19 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<18> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector19<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<19> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector18<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<18> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector19<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<19> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector18<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,19 >
-{
-    typedef typename V::item19 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector20
-{
-    typedef aux::vector_tag<20> tag;
-    typedef vector20 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    
-
-    typedef void_ item20;
-    typedef T19 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,20 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<19> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector20<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<20> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector19<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<19> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector20<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<20> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector19<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,20 >
-{
-    typedef typename V::item20 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp
deleted file mode 100755
index 03f6456..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector20_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    >
-struct vector11_c
-    : vector11<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >, integral_c<T
-        , C10> 
- >
-{
-    typedef vector11_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11
-    >
-struct vector12_c
-    : vector12<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 > 
- >
-{
-    typedef vector12_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12
-    >
-struct vector13_c
-    : vector13<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > 
- >
-{
-    typedef vector13_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13
-    >
-struct vector14_c
-    : vector14<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >, integral_c<T
-        , C13> 
- >
-{
-    typedef vector14_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14
-    >
-struct vector15_c
-    : vector15<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 > 
- >
-{
-    typedef vector15_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15
-    >
-struct vector16_c
-    : vector16<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > 
- >
-{
-    typedef vector16_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16
-    >
-struct vector17_c
-    : vector17<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >, integral_c<T
-        , C16> 
- >
-{
-    typedef vector17_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17
-    >
-struct vector18_c
-    : vector18<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 > 
- >
-{
-    typedef vector18_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18
-    >
-struct vector19_c
-    : vector19<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > 
- >
-{
-    typedef vector19_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19
-    >
-struct vector20_c
-    : vector20<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >, integral_c<T
-        , C19> 
- >
-{
-    typedef vector20_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp
deleted file mode 100755
index c14c5bf..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp
+++ /dev/null
@@ -1,1464 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector30.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20
-    >
-struct vector21
-{
-    typedef aux::vector_tag<21> tag;
-    typedef vector21 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    
-
-    typedef void_ item21;
-    typedef T20 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,21 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<20> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector21<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<21> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector20<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<20> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector21<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<21> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector20<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,21 >
-{
-    typedef typename V::item21 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21
-    >
-struct vector22
-{
-    typedef aux::vector_tag<22> tag;
-    typedef vector22 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    
-
-    typedef void_ item22;
-    typedef T21 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,22 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<21> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector22<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<22> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector21<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<21> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector22<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<22> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector21<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,22 >
-{
-    typedef typename V::item22 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22
-    >
-struct vector23
-{
-    typedef aux::vector_tag<23> tag;
-    typedef vector23 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    
-
-    typedef void_ item23;
-    typedef T22 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,23 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<22> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector23<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<23> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector22<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<22> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector23<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<23> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector22<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,23 >
-{
-    typedef typename V::item23 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23
-    >
-struct vector24
-{
-    typedef aux::vector_tag<24> tag;
-    typedef vector24 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    
-
-    typedef void_ item24;
-    typedef T23 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,24 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<23> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector24<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<24> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector23<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<23> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector24<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<24> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector23<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,24 >
-{
-    typedef typename V::item24 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    >
-struct vector25
-{
-    typedef aux::vector_tag<25> tag;
-    typedef vector25 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    
-
-    typedef void_ item25;
-    typedef T24 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,25 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<24> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector25<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<25> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector24<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<24> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector25<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<25> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector24<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,25 >
-{
-    typedef typename V::item25 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25
-    >
-struct vector26
-{
-    typedef aux::vector_tag<26> tag;
-    typedef vector26 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    
-
-    typedef void_ item26;
-    typedef T25 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,26 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<25> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector26<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<26> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector25<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<25> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector26<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<26> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector25<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,26 >
-{
-    typedef typename V::item26 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26
-    >
-struct vector27
-{
-    typedef aux::vector_tag<27> tag;
-    typedef vector27 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    
-
-    typedef void_ item27;
-    typedef T26 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,27 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<26> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector27<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<27> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector26<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<26> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector27<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<27> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector26<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,27 >
-{
-    typedef typename V::item27 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27
-    >
-struct vector28
-{
-    typedef aux::vector_tag<28> tag;
-    typedef vector28 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    
-
-    typedef void_ item28;
-    typedef T27 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,28 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<27> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector28<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<28> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector27<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<27> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector28<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<28> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector27<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,28 >
-{
-    typedef typename V::item28 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28
-    >
-struct vector29
-{
-    typedef aux::vector_tag<29> tag;
-    typedef vector29 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    
-
-    typedef void_ item29;
-    typedef T28 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,29 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<28> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector29<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<29> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector28<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<28> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector29<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<29> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector28<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,29 >
-{
-    typedef typename V::item29 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    >
-struct vector30
-{
-    typedef aux::vector_tag<30> tag;
-    typedef vector30 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    
-
-    typedef void_ item30;
-    typedef T29 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,30 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<29> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector30<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<30> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector29<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<29> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector30<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<30> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector29<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,30 >
-{
-    typedef typename V::item30 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp
deleted file mode 100755
index 6d47c94..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp
+++ /dev/null
@@ -1,238 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector30_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    >
-struct vector21_c
-    : vector21<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 > 
- >
-{
-    typedef vector21_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21
-    >
-struct vector22_c
-    : vector22<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > 
- >
-{
-    typedef vector22_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22
-    >
-struct vector23_c
-    : vector23<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >, integral_c<T
-        , C22> 
- >
-{
-    typedef vector23_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23
-    >
-struct vector24_c
-    : vector24<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 > 
- >
-{
-    typedef vector24_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24
-    >
-struct vector25_c
-    : vector25<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > 
- >
-{
-    typedef vector25_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25
-    >
-struct vector26_c
-    : vector26<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >, integral_c<T
-        , C25> 
- >
-{
-    typedef vector26_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26
-    >
-struct vector27_c
-    : vector27<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 > 
- >
-{
-    typedef vector27_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27
-    >
-struct vector28_c
-    : vector28<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > 
- >
-{
-    typedef vector28_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28
-    >
-struct vector29_c
-    : vector29<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >, integral_c<T
-        , C28> 
- >
-{
-    typedef vector29_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29
-    >
-struct vector30_c
-    : vector30<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 > 
- >
-{
-    typedef vector30_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp
deleted file mode 100755
index e4b7aaa..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp
+++ /dev/null
@@ -1,1784 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector40.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30
-    >
-struct vector31
-{
-    typedef aux::vector_tag<31> tag;
-    typedef vector31 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    
-
-    typedef void_ item31;
-    typedef T30 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,31 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<30> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector31<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<31> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector30<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<30> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector31<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<31> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector30<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,31 >
-{
-    typedef typename V::item31 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31
-    >
-struct vector32
-{
-    typedef aux::vector_tag<32> tag;
-    typedef vector32 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    
-
-    typedef void_ item32;
-    typedef T31 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,32 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<31> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector32<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<32> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector31<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<31> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector32<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<32> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector31<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,32 >
-{
-    typedef typename V::item32 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32
-    >
-struct vector33
-{
-    typedef aux::vector_tag<33> tag;
-    typedef vector33 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    
-
-    typedef void_ item33;
-    typedef T32 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,33 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<32> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector33<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<33> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector32<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<32> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector33<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<33> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector32<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,33 >
-{
-    typedef typename V::item33 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33
-    >
-struct vector34
-{
-    typedef aux::vector_tag<34> tag;
-    typedef vector34 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    
-
-    typedef void_ item34;
-    typedef T33 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,34 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<33> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector34<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<34> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector33<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<33> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector34<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<34> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector33<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,34 >
-{
-    typedef typename V::item34 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    >
-struct vector35
-{
-    typedef aux::vector_tag<35> tag;
-    typedef vector35 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    
-
-    typedef void_ item35;
-    typedef T34 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,35 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<34> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector35<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<35> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector34<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<34> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector35<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<35> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector34<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,35 >
-{
-    typedef typename V::item35 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35
-    >
-struct vector36
-{
-    typedef aux::vector_tag<36> tag;
-    typedef vector36 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    
-
-    typedef void_ item36;
-    typedef T35 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,36 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<35> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector36<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<36> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector35<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<35> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector36<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<36> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector35<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,36 >
-{
-    typedef typename V::item36 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36
-    >
-struct vector37
-{
-    typedef aux::vector_tag<37> tag;
-    typedef vector37 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    
-
-    typedef void_ item37;
-    typedef T36 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,37 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<36> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector37<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<37> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector36<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<36> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector37<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<37> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector36<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,37 >
-{
-    typedef typename V::item37 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37
-    >
-struct vector38
-{
-    typedef aux::vector_tag<38> tag;
-    typedef vector38 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    
-
-    typedef void_ item38;
-    typedef T37 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,38 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<37> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector38<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<38> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector37<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<37> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector38<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<38> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector37<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,38 >
-{
-    typedef typename V::item38 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38
-    >
-struct vector39
-{
-    typedef aux::vector_tag<39> tag;
-    typedef vector39 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    
-
-    typedef void_ item39;
-    typedef T38 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,39 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<38> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector39<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<39> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector38<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<38> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector39<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<39> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector38<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,39 >
-{
-    typedef typename V::item39 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    >
-struct vector40
-{
-    typedef aux::vector_tag<40> tag;
-    typedef vector40 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    
-
-    typedef void_ item40;
-    typedef T39 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,40 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<39> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector40<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<40> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector39<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<39> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector40<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<40> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector39<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,40 >
-{
-    typedef typename V::item40 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp
deleted file mode 100755
index f248b0d..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp
+++ /dev/null
@@ -1,281 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector40_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    >
-struct vector31_c
-    : vector31<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > 
- >
-{
-    typedef vector31_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31
-    >
-struct vector32_c
-    : vector32<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >, integral_c<T
-        , C31> 
- >
-{
-    typedef vector32_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32
-    >
-struct vector33_c
-    : vector33<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 > 
- >
-{
-    typedef vector33_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33
-    >
-struct vector34_c
-    : vector34<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > 
- >
-{
-    typedef vector34_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34
-    >
-struct vector35_c
-    : vector35<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >, integral_c<T
-        , C34> 
- >
-{
-    typedef vector35_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35
-    >
-struct vector36_c
-    : vector36<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 > 
- >
-{
-    typedef vector36_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36
-    >
-struct vector37_c
-    : vector37<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > 
- >
-{
-    typedef vector37_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37
-    >
-struct vector38_c
-    : vector38<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >, integral_c<T
-        , C37> 
- >
-{
-    typedef vector38_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38
-    >
-struct vector39_c
-    : vector39<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 > 
- >
-{
-    typedef vector39_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39
-    >
-struct vector40_c
-    : vector40<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > 
- >
-{
-    typedef vector40_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp
deleted file mode 100755
index f7950d3..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp
+++ /dev/null
@@ -1,2104 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector50.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40
-    >
-struct vector41
-{
-    typedef aux::vector_tag<41> tag;
-    typedef vector41 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    
-
-    typedef void_ item41;
-    typedef T40 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,41 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<40> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector41<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<41> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector40<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<40> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector41<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<41> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector40<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,41 >
-{
-    typedef typename V::item41 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41
-    >
-struct vector42
-{
-    typedef aux::vector_tag<42> tag;
-    typedef vector42 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    
-
-    typedef void_ item42;
-    typedef T41 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,42 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<41> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector42<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<42> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector41<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<41> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector42<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<42> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector41<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,42 >
-{
-    typedef typename V::item42 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42
-    >
-struct vector43
-{
-    typedef aux::vector_tag<43> tag;
-    typedef vector43 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    
-
-    typedef void_ item43;
-    typedef T42 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,43 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<42> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector43<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<43> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector42<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<42> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector43<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<43> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector42<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,43 >
-{
-    typedef typename V::item43 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43
-    >
-struct vector44
-{
-    typedef aux::vector_tag<44> tag;
-    typedef vector44 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    
-
-    typedef void_ item44;
-    typedef T43 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,44 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<43> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector44<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<44> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector43<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<43> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector44<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<44> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector43<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,44 >
-{
-    typedef typename V::item44 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    >
-struct vector45
-{
-    typedef aux::vector_tag<45> tag;
-    typedef vector45 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    typedef T44 item44;
-    
-
-    typedef void_ item45;
-    typedef T44 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,45 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<44> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector45<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<45> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector44<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43, typename Vector::item44
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<44> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector45<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<45> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector44<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,45 >
-{
-    typedef typename V::item45 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45
-    >
-struct vector46
-{
-    typedef aux::vector_tag<46> tag;
-    typedef vector46 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    typedef T44 item44;
-    typedef T45 item45;
-    
-
-    typedef void_ item46;
-    typedef T45 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,46 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<45> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector46<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<46> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector45<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43, typename Vector::item44
-            , typename Vector::item45
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<45> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector46<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<46> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector45<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,46 >
-{
-    typedef typename V::item46 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46
-    >
-struct vector47
-{
-    typedef aux::vector_tag<47> tag;
-    typedef vector47 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    typedef T44 item44;
-    typedef T45 item45;
-    typedef T46 item46;
-    
-
-    typedef void_ item47;
-    typedef T46 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,47 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<46> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector47<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<47> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector46<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43, typename Vector::item44
-            , typename Vector::item45, typename Vector::item46
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<46> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector47<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<47> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector46<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,47 >
-{
-    typedef typename V::item47 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46, typename T47
-    >
-struct vector48
-{
-    typedef aux::vector_tag<48> tag;
-    typedef vector48 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    typedef T44 item44;
-    typedef T45 item45;
-    typedef T46 item46;
-    typedef T47 item47;
-    
-
-    typedef void_ item48;
-    typedef T47 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,48 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<47> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector48<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<48> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector47<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43, typename Vector::item44
-            , typename Vector::item45, typename Vector::item46
-            , typename Vector::item47
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<47> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector48<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<48> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector47<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,48 >
-{
-    typedef typename V::item48 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46, typename T47, typename T48
-    >
-struct vector49
-{
-    typedef aux::vector_tag<49> tag;
-    typedef vector49 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    typedef T44 item44;
-    typedef T45 item45;
-    typedef T46 item46;
-    typedef T47 item47;
-    typedef T48 item48;
-    
-
-    typedef void_ item49;
-    typedef T48 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,49 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<48> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector49<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46, typename Vector::item47
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<49> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector48<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43, typename Vector::item44
-            , typename Vector::item45, typename Vector::item46
-            , typename Vector::item47, typename Vector::item48
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<48> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector49<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46, typename Vector::item47
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<49> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector48<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46, typename Vector::item47
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,49 >
-{
-    typedef typename V::item49 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46, typename T47, typename T48, typename T49
-    >
-struct vector50
-{
-    typedef aux::vector_tag<50> tag;
-    typedef vector50 type;
-    typedef T0 item0;
-    typedef T1 item1;
-    typedef T2 item2;
-    typedef T3 item3;
-    typedef T4 item4;
-    typedef T5 item5;
-    typedef T6 item6;
-    typedef T7 item7;
-    typedef T8 item8;
-    typedef T9 item9;
-    typedef T10 item10;
-    typedef T11 item11;
-    typedef T12 item12;
-    typedef T13 item13;
-    typedef T14 item14;
-    typedef T15 item15;
-    typedef T16 item16;
-    typedef T17 item17;
-    typedef T18 item18;
-    typedef T19 item19;
-    typedef T20 item20;
-    typedef T21 item21;
-    typedef T22 item22;
-    typedef T23 item23;
-    typedef T24 item24;
-    typedef T25 item25;
-    typedef T26 item26;
-    typedef T27 item27;
-    typedef T28 item28;
-    typedef T29 item29;
-    typedef T30 item30;
-    typedef T31 item31;
-    typedef T32 item32;
-    typedef T33 item33;
-    typedef T34 item34;
-    typedef T35 item35;
-    typedef T36 item36;
-    typedef T37 item37;
-    typedef T38 item38;
-    typedef T39 item39;
-    typedef T40 item40;
-    typedef T41 item41;
-    typedef T42 item42;
-    typedef T43 item43;
-    typedef T44 item44;
-    typedef T45 item45;
-    typedef T46 item46;
-    typedef T47 item47;
-    typedef T48 item48;
-    typedef T49 item49;
-    
-
-    typedef void_ item50;
-    typedef T49 back;
-    typedef v_iter< type,0 > begin;
-    typedef v_iter< type,50 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<49> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector50<
-              T
-              ,
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46, typename Vector::item47
-            , typename Vector::item48
-            > type;
-    };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<50> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector49<
-              typename Vector::item1, typename Vector::item2
-            , typename Vector::item3, typename Vector::item4
-            , typename Vector::item5, typename Vector::item6
-            , typename Vector::item7, typename Vector::item8
-            , typename Vector::item9, typename Vector::item10
-            , typename Vector::item11, typename Vector::item12
-            , typename Vector::item13, typename Vector::item14
-            , typename Vector::item15, typename Vector::item16
-            , typename Vector::item17, typename Vector::item18
-            , typename Vector::item19, typename Vector::item20
-            , typename Vector::item21, typename Vector::item22
-            , typename Vector::item23, typename Vector::item24
-            , typename Vector::item25, typename Vector::item26
-            , typename Vector::item27, typename Vector::item28
-            , typename Vector::item29, typename Vector::item30
-            , typename Vector::item31, typename Vector::item32
-            , typename Vector::item33, typename Vector::item34
-            , typename Vector::item35, typename Vector::item36
-            , typename Vector::item37, typename Vector::item38
-            , typename Vector::item39, typename Vector::item40
-            , typename Vector::item41, typename Vector::item42
-            , typename Vector::item43, typename Vector::item44
-            , typename Vector::item45, typename Vector::item46
-            , typename Vector::item47, typename Vector::item48
-            , typename Vector::item49
-            > type;
-    };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<49> >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef vector50<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46, typename Vector::item47
-            , typename Vector::item48
-              ,
-              T
-            > type;
-    };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<50> >
-{
-    template< typename Vector > struct apply
-    {
-        typedef vector49<
-              typename Vector::item0, typename Vector::item1
-            , typename Vector::item2, typename Vector::item3
-            , typename Vector::item4, typename Vector::item5
-            , typename Vector::item6, typename Vector::item7
-            , typename Vector::item8, typename Vector::item9
-            , typename Vector::item10, typename Vector::item11
-            , typename Vector::item12, typename Vector::item13
-            , typename Vector::item14, typename Vector::item15
-            , typename Vector::item16, typename Vector::item17
-            , typename Vector::item18, typename Vector::item19
-            , typename Vector::item20, typename Vector::item21
-            , typename Vector::item22, typename Vector::item23
-            , typename Vector::item24, typename Vector::item25
-            , typename Vector::item26, typename Vector::item27
-            , typename Vector::item28, typename Vector::item29
-            , typename Vector::item30, typename Vector::item31
-            , typename Vector::item32, typename Vector::item33
-            , typename Vector::item34, typename Vector::item35
-            , typename Vector::item36, typename Vector::item37
-            , typename Vector::item38, typename Vector::item39
-            , typename Vector::item40, typename Vector::item41
-            , typename Vector::item42, typename Vector::item43
-            , typename Vector::item44, typename Vector::item45
-            , typename Vector::item46, typename Vector::item47
-            , typename Vector::item48
-            > type;
-    };
-};
-
-template< typename V >
-struct v_at< V,50 >
-{
-    typedef typename V::item50 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp
deleted file mode 100755
index 4d09834..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp
+++ /dev/null
@@ -1,325 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector50_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    >
-struct vector41_c
-    : vector41<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >, integral_c<T
-        , C40> 
- >
-{
-    typedef vector41_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41
-    >
-struct vector42_c
-    : vector42<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 > 
- >
-{
-    typedef vector42_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42
-    >
-struct vector43_c
-    : vector43<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > 
- >
-{
-    typedef vector43_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43
-    >
-struct vector44_c
-    : vector44<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >, integral_c<T
-        , C43> 
- >
-{
-    typedef vector44_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44
-    >
-struct vector45_c
-    : vector45<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
-        , integral_c< T,C43 >, integral_c< T,C44 > 
- >
-{
-    typedef vector45_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45
-    >
-struct vector46_c
-    : vector46<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
-        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > 
- >
-{
-    typedef vector46_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46
-    >
-struct vector47_c
-    : vector47<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
-        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >, integral_c<T
-        , C46> 
- >
-{
-    typedef vector47_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46, T C47
-    >
-struct vector48_c
-    : vector48<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
-        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
-        , integral_c< T,C46 >, integral_c< T,C47 > 
- >
-{
-    typedef vector48_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48
-    >
-struct vector49_c
-    : vector49<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
-        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
-        , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 > 
- >
-{
-    typedef vector49_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49
-    >
-struct vector50_c
-    : vector50<
-          integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
-        , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
-        , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
-        , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
-        , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
-        , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
-        , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
-        , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
-        , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
-        , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
-        , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
-        , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
-        , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
-        , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
-        , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
-        , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >, integral_c<T
-        , C49> 
- >
-{
-    typedef vector50_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp
deleted file mode 100755
index c2b52d0..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector10.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0
-    >
-struct vector1
-    : v_item<
-          T0
-        , vector0<  >
-        >
-{
-    typedef vector1 type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct vector2
-    : v_item<
-          T1
-        , vector1<T0>
-        >
-{
-    typedef vector2 type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct vector3
-    : v_item<
-          T2
-        , vector2< T0,T1 >
-        >
-{
-    typedef vector3 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct vector4
-    : v_item<
-          T3
-        , vector3< T0,T1,T2 >
-        >
-{
-    typedef vector4 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct vector5
-    : v_item<
-          T4
-        , vector4< T0,T1,T2,T3 >
-        >
-{
-    typedef vector5 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct vector6
-    : v_item<
-          T5
-        , vector5< T0,T1,T2,T3,T4 >
-        >
-{
-    typedef vector6 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct vector7
-    : v_item<
-          T6
-        , vector6< T0,T1,T2,T3,T4,T5 >
-        >
-{
-    typedef vector7 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct vector8
-    : v_item<
-          T7
-        , vector7< T0,T1,T2,T3,T4,T5,T6 >
-        >
-{
-    typedef vector8 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct vector9
-    : v_item<
-          T8
-        , vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-        >
-{
-    typedef vector9 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct vector10
-    : v_item<
-          T9
-        , vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-        >
-{
-    typedef vector10 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp
deleted file mode 100755
index be1bd26..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp
+++ /dev/null
@@ -1,154 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector10_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0
-    >
-struct vector1_c
-    : v_item<
-          integral_c< T,C0 >
-        , vector0_c<T>
-        >
-{
-    typedef vector1_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1
-    >
-struct vector2_c
-    : v_item<
-          integral_c< T,C1 >
-        , vector1_c< T,C0 >
-        >
-{
-    typedef vector2_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2
-    >
-struct vector3_c
-    : v_item<
-          integral_c< T,C2 >
-        , vector2_c< T,C0,C1 >
-        >
-{
-    typedef vector3_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3
-    >
-struct vector4_c
-    : v_item<
-          integral_c< T,C3 >
-        , vector3_c< T,C0,C1,C2 >
-        >
-{
-    typedef vector4_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4
-    >
-struct vector5_c
-    : v_item<
-          integral_c< T,C4 >
-        , vector4_c< T,C0,C1,C2,C3 >
-        >
-{
-    typedef vector5_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5
-    >
-struct vector6_c
-    : v_item<
-          integral_c< T,C5 >
-        , vector5_c< T,C0,C1,C2,C3,C4 >
-        >
-{
-    typedef vector6_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6
-    >
-struct vector7_c
-    : v_item<
-          integral_c< T,C6 >
-        , vector6_c< T,C0,C1,C2,C3,C4,C5 >
-        >
-{
-    typedef vector7_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7
-    >
-struct vector8_c
-    : v_item<
-          integral_c< T,C7 >
-        , vector7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-        >
-{
-    typedef vector8_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8
-    >
-struct vector9_c
-    : v_item<
-          integral_c< T,C8 >
-        , vector8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-        >
-{
-    typedef vector9_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9
-    >
-struct vector10_c
-    : v_item<
-          integral_c< T,C9 >
-        , vector9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-        >
-{
-    typedef vector10_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp
deleted file mode 100755
index 59fb3e8..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector20.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10
-    >
-struct vector11
-    : v_item<
-          T10
-        , vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-        >
-{
-    typedef vector11 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11
-    >
-struct vector12
-    : v_item<
-          T11
-        , vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-        >
-{
-    typedef vector12 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12
-    >
-struct vector13
-    : v_item<
-          T12
-        , vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-        >
-{
-    typedef vector13 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13
-    >
-struct vector14
-    : v_item<
-          T13
-        , vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-        >
-{
-    typedef vector14 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    >
-struct vector15
-    : v_item<
-          T14
-        , vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-        >
-{
-    typedef vector15 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15
-    >
-struct vector16
-    : v_item<
-          T15
-        , vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >
-        >
-{
-    typedef vector16 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16
-    >
-struct vector17
-    : v_item<
-          T16
-        , vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >
-        >
-{
-    typedef vector17 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17
-    >
-struct vector18
-    : v_item<
-          T17
-        , vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >
-        >
-{
-    typedef vector18 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18
-    >
-struct vector19
-    : v_item<
-          T18
-        , vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >
-        >
-{
-    typedef vector19 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct vector20
-    : v_item<
-          T19
-        , vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >
-        >
-{
-    typedef vector20 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp
deleted file mode 100755
index 5782591..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector20_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    >
-struct vector11_c
-    : v_item<
-          integral_c< T,C10 >
-        , vector10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-        >
-{
-    typedef vector11_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11
-    >
-struct vector12_c
-    : v_item<
-          integral_c< T,C11 >
-        , vector11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-        >
-{
-    typedef vector12_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12
-    >
-struct vector13_c
-    : v_item<
-          integral_c< T,C12 >
-        , vector12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-        >
-{
-    typedef vector13_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13
-    >
-struct vector14_c
-    : v_item<
-          integral_c< T,C13 >
-        , vector13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-        >
-{
-    typedef vector14_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14
-    >
-struct vector15_c
-    : v_item<
-          integral_c< T,C14 >
-        , vector14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >
-        >
-{
-    typedef vector15_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15
-    >
-struct vector16_c
-    : v_item<
-          integral_c< T,C15 >
-        , vector15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >
-        >
-{
-    typedef vector16_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16
-    >
-struct vector17_c
-    : v_item<
-          integral_c< T,C16 >
-        , vector16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >
-        >
-{
-    typedef vector17_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17
-    >
-struct vector18_c
-    : v_item<
-          integral_c< T,C17 >
-        , vector17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >
-        >
-{
-    typedef vector18_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18
-    >
-struct vector19_c
-    : v_item<
-          integral_c< T,C18 >
-        , vector18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >
-        >
-{
-    typedef vector19_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19
-    >
-struct vector20_c
-    : v_item<
-          integral_c< T,C19 >
-        , vector19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >
-        >
-{
-    typedef vector20_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp
deleted file mode 100755
index f7e8e87..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp
+++ /dev/null
@@ -1,179 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector30.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20
-    >
-struct vector21
-    : v_item<
-          T20
-        , vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >
-        >
-{
-    typedef vector21 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21
-    >
-struct vector22
-    : v_item<
-          T21
-        , vector21< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20 >
-        >
-{
-    typedef vector22 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22
-    >
-struct vector23
-    : v_item<
-          T22
-        , vector22< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21 >
-        >
-{
-    typedef vector23 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23
-    >
-struct vector24
-    : v_item<
-          T23
-        , vector23< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22 >
-        >
-{
-    typedef vector24 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    >
-struct vector25
-    : v_item<
-          T24
-        , vector24< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23 >
-        >
-{
-    typedef vector25 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25
-    >
-struct vector26
-    : v_item<
-          T25
-        , vector25< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24 >
-        >
-{
-    typedef vector26 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26
-    >
-struct vector27
-    : v_item<
-          T26
-        , vector26< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25 >
-        >
-{
-    typedef vector27 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27
-    >
-struct vector28
-    : v_item<
-          T27
-        , vector27< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26 >
-        >
-{
-    typedef vector28 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28
-    >
-struct vector29
-    : v_item<
-          T28
-        , vector28< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27 >
-        >
-{
-    typedef vector29 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    >
-struct vector30
-    : v_item<
-          T29
-        , vector29< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28 >
-        >
-{
-    typedef vector30 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp
deleted file mode 100755
index 9a3d4a6..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector30_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    >
-struct vector21_c
-    : v_item<
-          integral_c< T,C20 >
-        , vector20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >
-        >
-{
-    typedef vector21_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21
-    >
-struct vector22_c
-    : v_item<
-          integral_c< T,C21 >
-        , vector21_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 >
-        >
-{
-    typedef vector22_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22
-    >
-struct vector23_c
-    : v_item<
-          integral_c< T,C22 >
-        , vector22_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21 >
-        >
-{
-    typedef vector23_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23
-    >
-struct vector24_c
-    : v_item<
-          integral_c< T,C23 >
-        , vector23_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22 >
-        >
-{
-    typedef vector24_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24
-    >
-struct vector25_c
-    : v_item<
-          integral_c< T,C24 >
-        , vector24_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23 >
-        >
-{
-    typedef vector25_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25
-    >
-struct vector26_c
-    : v_item<
-          integral_c< T,C25 >
-        , vector25_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24 >
-        >
-{
-    typedef vector26_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26
-    >
-struct vector27_c
-    : v_item<
-          integral_c< T,C26 >
-        , vector26_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25 >
-        >
-{
-    typedef vector27_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27
-    >
-struct vector28_c
-    : v_item<
-          integral_c< T,C27 >
-        , vector27_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26 >
-        >
-{
-    typedef vector28_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28
-    >
-struct vector29_c
-    : v_item<
-          integral_c< T,C28 >
-        , vector28_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27 >
-        >
-{
-    typedef vector29_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29
-    >
-struct vector30_c
-    : v_item<
-          integral_c< T,C29 >
-        , vector29_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28 >
-        >
-{
-    typedef vector30_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp
deleted file mode 100755
index 3edad1e..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp
+++ /dev/null
@@ -1,199 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector40.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30
-    >
-struct vector31
-    : v_item<
-          T30
-        , vector30< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29 >
-        >
-{
-    typedef vector31 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31
-    >
-struct vector32
-    : v_item<
-          T31
-        , vector31< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30 >
-        >
-{
-    typedef vector32 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32
-    >
-struct vector33
-    : v_item<
-          T32
-        , vector32< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31 >
-        >
-{
-    typedef vector33 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33
-    >
-struct vector34
-    : v_item<
-          T33
-        , vector33< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32 >
-        >
-{
-    typedef vector34 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    >
-struct vector35
-    : v_item<
-          T34
-        , vector34< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33 >
-        >
-{
-    typedef vector35 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35
-    >
-struct vector36
-    : v_item<
-          T35
-        , vector35< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34 >
-        >
-{
-    typedef vector36 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36
-    >
-struct vector37
-    : v_item<
-          T36
-        , vector36< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35 >
-        >
-{
-    typedef vector37 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37
-    >
-struct vector38
-    : v_item<
-          T37
-        , vector37< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36 >
-        >
-{
-    typedef vector38 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38
-    >
-struct vector39
-    : v_item<
-          T38
-        , vector38< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37 >
-        >
-{
-    typedef vector39 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    >
-struct vector40
-    : v_item<
-          T39
-        , vector39< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38 >
-        >
-{
-    typedef vector40 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp
deleted file mode 100755
index 0dc1a0a..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp
+++ /dev/null
@@ -1,183 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector40_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    >
-struct vector31_c
-    : v_item<
-          integral_c< T,C30 >
-        , vector30_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29 >
-        >
-{
-    typedef vector31_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31
-    >
-struct vector32_c
-    : v_item<
-          integral_c< T,C31 >
-        , vector31_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30 >
-        >
-{
-    typedef vector32_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32
-    >
-struct vector33_c
-    : v_item<
-          integral_c< T,C32 >
-        , vector32_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31 >
-        >
-{
-    typedef vector33_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33
-    >
-struct vector34_c
-    : v_item<
-          integral_c< T,C33 >
-        , vector33_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32 >
-        >
-{
-    typedef vector34_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34
-    >
-struct vector35_c
-    : v_item<
-          integral_c< T,C34 >
-        , vector34_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33 >
-        >
-{
-    typedef vector35_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35
-    >
-struct vector36_c
-    : v_item<
-          integral_c< T,C35 >
-        , vector35_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34 >
-        >
-{
-    typedef vector36_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36
-    >
-struct vector37_c
-    : v_item<
-          integral_c< T,C36 >
-        , vector36_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35 >
-        >
-{
-    typedef vector37_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37
-    >
-struct vector38_c
-    : v_item<
-          integral_c< T,C37 >
-        , vector37_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36 >
-        >
-{
-    typedef vector38_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38
-    >
-struct vector39_c
-    : v_item<
-          integral_c< T,C38 >
-        , vector38_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37 >
-        >
-{
-    typedef vector39_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39
-    >
-struct vector40_c
-    : v_item<
-          integral_c< T,C39 >
-        , vector39_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38 >
-        >
-{
-    typedef vector40_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp
deleted file mode 100755
index 176ebfe..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp
+++ /dev/null
@@ -1,219 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector50.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40
-    >
-struct vector41
-    : v_item<
-          T40
-        , vector40< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39 >
-        >
-{
-    typedef vector41 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41
-    >
-struct vector42
-    : v_item<
-          T41
-        , vector41< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40 >
-        >
-{
-    typedef vector42 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42
-    >
-struct vector43
-    : v_item<
-          T42
-        , vector42< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41 >
-        >
-{
-    typedef vector43 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43
-    >
-struct vector44
-    : v_item<
-          T43
-        , vector43< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42 >
-        >
-{
-    typedef vector44 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    >
-struct vector45
-    : v_item<
-          T44
-        , vector44< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43 >
-        >
-{
-    typedef vector45 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45
-    >
-struct vector46
-    : v_item<
-          T45
-        , vector45< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44 >
-        >
-{
-    typedef vector46 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46
-    >
-struct vector47
-    : v_item<
-          T46
-        , vector46< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45 >
-        >
-{
-    typedef vector47 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46, typename T47
-    >
-struct vector48
-    : v_item<
-          T47
-        , vector47< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46 >
-        >
-{
-    typedef vector48 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46, typename T47, typename T48
-    >
-struct vector49
-    : v_item<
-          T48
-        , vector48< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47 >
-        >
-{
-    typedef vector49 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    , typename T20, typename T21, typename T22, typename T23, typename T24
-    , typename T25, typename T26, typename T27, typename T28, typename T29
-    , typename T30, typename T31, typename T32, typename T33, typename T34
-    , typename T35, typename T36, typename T37, typename T38, typename T39
-    , typename T40, typename T41, typename T42, typename T43, typename T44
-    , typename T45, typename T46, typename T47, typename T48, typename T49
-    >
-struct vector50
-    : v_item<
-          T49
-        , vector49< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48 >
-        >
-{
-    typedef vector50 type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp b/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp
deleted file mode 100755
index aa14301..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector50_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    >
-struct vector41_c
-    : v_item<
-          integral_c< T,C40 >
-        , vector40_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39 >
-        >
-{
-    typedef vector41_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41
-    >
-struct vector42_c
-    : v_item<
-          integral_c< T,C41 >
-        , vector41_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40 >
-        >
-{
-    typedef vector42_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42
-    >
-struct vector43_c
-    : v_item<
-          integral_c< T,C42 >
-        , vector42_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41 >
-        >
-{
-    typedef vector43_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43
-    >
-struct vector44_c
-    : v_item<
-          integral_c< T,C43 >
-        , vector43_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42 >
-        >
-{
-    typedef vector44_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44
-    >
-struct vector45_c
-    : v_item<
-          integral_c< T,C44 >
-        , vector44_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43 >
-        >
-{
-    typedef vector45_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45
-    >
-struct vector46_c
-    : v_item<
-          integral_c< T,C45 >
-        , vector45_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44 >
-        >
-{
-    typedef vector46_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46
-    >
-struct vector47_c
-    : v_item<
-          integral_c< T,C46 >
-        , vector46_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45 >
-        >
-{
-    typedef vector47_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46, T C47
-    >
-struct vector48_c
-    : v_item<
-          integral_c< T,C47 >
-        , vector47_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46 >
-        >
-{
-    typedef vector48_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48
-    >
-struct vector49_c
-    : v_item<
-          integral_c< T,C48 >
-        , vector48_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47 >
-        >
-{
-    typedef vector49_c type;
-    typedef T value_type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
-    , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
-    , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
-    , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
-    , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49
-    >
-struct vector50_c
-    : v_item<
-          integral_c< T,C49 >
-        , vector49_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48 >
-        >
-{
-    typedef vector50_c type;
-    typedef T value_type;
-};
-
-}}
diff --git a/SRC/Boost/boost/mpl/vector/aux_/push_back.hpp b/SRC/Boost/boost/mpl/vector/aux_/push_back.hpp
deleted file mode 100755
index 2ec8f34..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/push_back.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: push_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_back_fwd.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-#   include <boost/mpl/vector/aux_/item.hpp>
-#   include <boost/mpl/vector/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct push_back_impl< aux::vector_tag >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef v_item<T,Vector,0> type;
-    };
-};
-
-}}
-
-#endif 
-
-#endif // BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/push_front.hpp b/SRC/Boost/boost/mpl/vector/aux_/push_front.hpp
deleted file mode 100755
index bd6abe5..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/push_front.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_front_fwd.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-#   include <boost/mpl/vector/aux_/item.hpp>
-#   include <boost/mpl/vector/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct push_front_impl< aux::vector_tag >
-{
-    template< typename Vector, typename T > struct apply
-    {
-        typedef v_item<T,Vector,1> type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#endif // BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/size.hpp b/SRC/Boost/boost/mpl/vector/aux_/size.hpp
deleted file mode 100755
index b7acc25..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/size.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/vector/aux_/O1_size.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<>
-struct size_impl< aux::vector_tag >
-    : O1_size_impl< aux::vector_tag >
-{
-};
-
-#else
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< long N >
-struct size_impl< aux::vector_tag<N> >
-    : O1_size_impl< aux::vector_tag<N> >
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/tag.hpp b/SRC/Boost/boost/mpl/vector/aux_/tag.hpp
deleted file mode 100755
index 02e050b..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/tag.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-struct v_iter_tag;
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-struct vector_tag;
-#else
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct vector_tag;
-#endif
-
-}}}
-
-#endif // BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/aux_/vector0.hpp b/SRC/Boost/boost/mpl/vector/aux_/vector0.hpp
deleted file mode 100755
index 26be22a..0000000
--- a/SRC/Boost/boost/mpl/vector/aux_/vector0.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-
-#include <boost/mpl/vector/aux_/iterator.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Dummy = na > struct vector0;
-
-template<> struct vector0<na>
-{
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-    typedef aux::vector_tag tag;
-    typedef vector0         type;
-    typedef long_<32768>    lower_bound_;
-    typedef lower_bound_    upper_bound_;
-    typedef long_<0>        size;
-
-    static aux::type_wrapper<void_> item_(...);
-#else
-    typedef aux::vector_tag<0> tag;
-    typedef vector0 type;
-    typedef void_ item0;
-    
-    typedef v_iter<vector0<>,0> begin;
-    typedef v_iter<vector0<>,0> end;
-#endif
-};
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/vector0.hpp b/SRC/Boost/boost/mpl/vector/vector0.hpp
deleted file mode 100755
index fe5245d..0000000
--- a/SRC/Boost/boost/mpl/vector/vector0.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/vector/aux_/at.hpp>
-#include <boost/mpl/vector/aux_/front.hpp>
-#include <boost/mpl/vector/aux_/push_front.hpp>
-#include <boost/mpl/vector/aux_/pop_front.hpp>
-#include <boost/mpl/vector/aux_/push_back.hpp>
-#include <boost/mpl/vector/aux_/pop_back.hpp>
-#include <boost/mpl/vector/aux_/back.hpp>
-#include <boost/mpl/vector/aux_/clear.hpp>
-#include <boost/mpl/vector/aux_/O1_size.hpp>
-#include <boost/mpl/vector/aux_/size.hpp>
-#include <boost/mpl/vector/aux_/empty.hpp>
-#include <boost/mpl/vector/aux_/item.hpp>
-#include <boost/mpl/vector/aux_/iterator.hpp>
-#include <boost/mpl/vector/aux_/vector0.hpp>
-#include <boost/mpl/vector/aux_/begin_end.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-
-#endif // BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/vector0_c.hpp b/SRC/Boost/boost/mpl/vector/vector0_c.hpp
deleted file mode 100755
index f79e165..0000000
--- a/SRC/Boost/boost/mpl/vector/vector0_c.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector0_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/vector/vector0.hpp>
-#include <boost/mpl/integral_c.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename T > struct vector0_c
-    : vector0<>
-{
-    typedef vector0_c type;
-    typedef T value_type;
-};
-
-}}
-
-#endif // BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/vector10.hpp b/SRC/Boost/boost/mpl/vector/vector10.hpp
deleted file mode 100755
index 1fe9c3b..0000000
--- a/SRC/Boost/boost/mpl/vector/vector10.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/vector/vector0.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER vector10.hpp
-#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/config/typeof.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, 10, <boost/mpl/vector/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/vector10_c.hpp b/SRC/Boost/boost/mpl/vector/vector10_c.hpp
deleted file mode 100755
index bdc860f..0000000
--- a/SRC/Boost/boost/mpl/vector/vector10_c.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector10_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/vector/vector0_c.hpp>
-#   include <boost/mpl/vector/vector10.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER vector10_c.hpp
-#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/config/typeof.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(1, 10, <boost/mpl/vector/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/vector20.hpp b/SRC/Boost/boost/mpl/vector/vector20.hpp
deleted file mode 100755
index f781e71..0000000
--- a/SRC/Boost/boost/mpl/vector/vector20.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/vector/vector10.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER vector20.hpp
-#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/config/typeof.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(11, 20, <boost/mpl/vector/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/vector20_c.hpp b/SRC/Boost/boost/mpl/vector/vector20_c.hpp
deleted file mode 100755
index cd9b0bc..0000000
--- a/SRC/Boost/boost/mpl/vector/vector20_c.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector20_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/vector/vector10_c.hpp>
-#   include <boost/mpl/vector/vector20.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER vector20_c.hpp
-#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/config/typeof.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(11, 20, <boost/mpl/vector/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/vector30.hpp b/SRC/Boost/boost/mpl/vector/vector30.hpp
deleted file mode 100755
index fb06462..0000000
--- a/SRC/Boost/boost/mpl/vector/vector30.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/vector/vector20.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER vector30.hpp
-#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/config/typeof.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(21, 30, <boost/mpl/vector/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/vector30_c.hpp b/SRC/Boost/boost/mpl/vector/vector30_c.hpp
deleted file mode 100755
index b9fa97b..0000000
--- a/SRC/Boost/boost/mpl/vector/vector30_c.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector30_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/vector/vector20_c.hpp>
-#   include <boost/mpl/vector/vector30.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER vector30_c.hpp
-#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/config/typeof.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/config.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(21, 30, <boost/mpl/vector/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_USE_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/vector40.hpp b/SRC/Boost/boost/mpl/vector/vector40.hpp
deleted file mode 100755
index 46fb5bc..0000000
--- a/SRC/Boost/boost/mpl/vector/vector40.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/vector/vector30.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER vector40.hpp
-#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/config/typeof.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(31, 40, <boost/mpl/vector/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/vector40_c.hpp b/SRC/Boost/boost/mpl/vector/vector40_c.hpp
deleted file mode 100755
index 4958021..0000000
--- a/SRC/Boost/boost/mpl/vector/vector40_c.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector40_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/vector/vector30_c.hpp>
-#   include <boost/mpl/vector/vector40.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER vector40_c.hpp
-#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/config/typeof.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(31, 40, <boost/mpl/vector/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/vector50.hpp b/SRC/Boost/boost/mpl/vector/vector50.hpp
deleted file mode 100755
index fb9a6ac..0000000
--- a/SRC/Boost/boost/mpl/vector/vector50.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/vector/vector40.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER vector50.hpp
-#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/config/typeof.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(41, 50, <boost/mpl/vector/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/vector/vector50_c.hpp b/SRC/Boost/boost/mpl/vector/vector50_c.hpp
deleted file mode 100755
index 791bb30..0000000
--- a/SRC/Boost/boost/mpl/vector/vector50_c.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: vector50_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/vector/vector40_c.hpp>
-#   include <boost/mpl/vector/vector50.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-#   define BOOST_MPL_PREPROCESSED_HEADER vector50_c.hpp
-#   include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/aux_/config/typeof.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(41, 50, <boost/mpl/vector/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/void.hpp b/SRC/Boost/boost/mpl/void.hpp
deleted file mode 100755
index 439a523..0000000
--- a/SRC/Boost/boost/mpl/void.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-
-#ifndef BOOST_MPL_VOID_HPP_INCLUDED
-#define BOOST_MPL_VOID_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: void.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/void_fwd.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-//  [JDG Feb-4-2003] made void_ a complete type to allow it to be
-//  instantiated so that it can be passed in as an object that can be
-//  used to select an overloaded function. Possible use includes signaling
-//  a zero arity functor evaluation call.
-struct void_ { typedef void_ type; };
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-namespace boost { namespace mpl {
-
-template< typename T >
-struct is_void_
-    : false_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    using false_::value;
-#endif
-};
-
-template<>
-struct is_void_<void_>
-    : true_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    using true_::value;
-#endif
-};
-
-template< typename T >
-struct is_not_void_
-    : true_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    using true_::value;
-#endif
-};
-
-template<>
-struct is_not_void_<void_>
-    : false_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    using false_::value;
-#endif
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, is_void_)
-BOOST_MPL_AUX_NA_SPEC(1, is_not_void_)
-
-}}
-
-#endif // BOOST_MPL_VOID_HPP_INCLUDED
diff --git a/SRC/Boost/boost/mpl/void_fwd.hpp b/SRC/Boost/boost/mpl/void_fwd.hpp
deleted file mode 100755
index 8db065f..0000000
--- a/SRC/Boost/boost/mpl/void_fwd.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#ifndef BOOST_MPL_VOID_FWD_HPP_INCLUDED
-#define BOOST_MPL_VOID_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: void_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-struct void_;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(void_)
-
-#endif // BOOST_MPL_VOID_FWD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/multi_index/detail/access_specifier.hpp b/SRC/Boost/boost/multi_index/detail/access_specifier.hpp
deleted file mode 100755
index af6ab4a..0000000
--- a/SRC/Boost/boost/multi_index/detail/access_specifier.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_ACCESS_SPECIFIER_HPP
-#define BOOST_MULTI_INDEX_DETAIL_ACCESS_SPECIFIER_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-/* In those compilers that do not accept the member template friend syntax,
- * some protected and private sections might need to be specified as
- * public.
- */
-
-#if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-#define BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS public
-#define BOOST_MULTI_INDEX_PRIVATE_IF_MEMBER_TEMPLATE_FRIENDS public
-#else
-#define BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS protected
-#define BOOST_MULTI_INDEX_PRIVATE_IF_MEMBER_TEMPLATE_FRIENDS private
-#endif
-
-/* GCC does not correctly support in-class using declarations for template
- * functions. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9810
- * MSVC 7.1/8.0 seem to have a similar problem, though the conditions in
- * which the error happens are not that simple. I have yet to isolate this
- * into a snippet suitable for bug reporting.
- * Sun Studio also has this problem, which might be related, from the
- * information gathered at Sun forums, with a known issue notified at the
- * internal bug report 6421933. The bug is present up to Studio Express 2,
- * the latest preview version of the future Sun Studio 12. As of this writing
- * (October 2006) it is not known whether a fix will finally make it into the
- * official Sun Studio 12.
- */
-
-#if BOOST_WORKAROUND(__GNUC__, <3)||\
-    BOOST_WORKAROUND(__GNUC__,==3)&&(__GNUC_MINOR__<4)||\
-    BOOST_WORKAROUND(BOOST_MSVC,==1310)||\
-    BOOST_WORKAROUND(BOOST_MSVC,==1400)||\
-    BOOST_WORKAROUND(__SUNPRO_CC,BOOST_TESTED_AT(0x590))
-#define BOOST_MULTI_INDEX_PRIVATE_IF_USING_DECL_FOR_TEMPL_FUNCTIONS public
-#else
-#define BOOST_MULTI_INDEX_PRIVATE_IF_USING_DECL_FOR_TEMPL_FUNCTIONS private
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/adl_swap.hpp b/SRC/Boost/boost/multi_index/detail/adl_swap.hpp
deleted file mode 100755
index d972de4..0000000
--- a/SRC/Boost/boost/multi_index/detail/adl_swap.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_ADL_SWAP_HPP
-#define BOOST_MULTI_INDEX_DETAIL_ADL_SWAP_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <algorithm>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<typename T>
-void adl_swap(T& x,T& y)
-{
-
-#if !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
-  using std::swap;
-  swap(x,y);
-#else
-  std::swap(x,y);
-#endif
-
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/archive_constructed.hpp b/SRC/Boost/boost/multi_index/detail/archive_constructed.hpp
deleted file mode 100755
index a386308..0000000
--- a/SRC/Boost/boost/multi_index/detail/archive_constructed.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_ARCHIVE_CONSTRUCTED_HPP
-#define BOOST_MULTI_INDEX_DETAIL_ARCHIVE_CONSTRUCTED_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/serialization/serialization.hpp>
-#include <boost/type_traits/aligned_storage.hpp>
-#include <boost/type_traits/alignment_of.hpp> 
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* constructs a stack-based object from a serialization archive */
-
-template<typename T>
-struct archive_constructed:private noncopyable
-{
-  template<class Archive>
-  archive_constructed(Archive& ar,const unsigned int version)
-  {
-    serialization::load_construct_data_adl(ar,&get(),version);
-    BOOST_TRY{
-      ar>>get();
-    }
-    BOOST_CATCH(...){
-      (&get())->~T();
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  template<class Archive>
-  archive_constructed(const char* name,Archive& ar,const unsigned int version)
-  {
-    serialization::load_construct_data_adl(ar,&get(),version);
-    BOOST_TRY{
-      ar>>serialization::make_nvp(name,get());
-    }
-    BOOST_CATCH(...){
-      (&get())->~T();
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  ~archive_constructed()
-  {
-    (&get())->~T();
-  }
-
-  T& get(){return *static_cast<T*>(static_cast<void*>(&space));}
-
-private:
-  typename aligned_storage<sizeof(T),alignment_of<T>::value>::type space;
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/auto_space.hpp b/SRC/Boost/boost/multi_index/detail/auto_space.hpp
deleted file mode 100755
index 04008ff..0000000
--- a/SRC/Boost/boost/multi_index/detail/auto_space.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_AUTO_SPACE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_AUTO_SPACE_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <algorithm>
-#include <boost/detail/allocator_utilities.hpp>
-#include <boost/multi_index/detail/adl_swap.hpp>
-#include <boost/multi_index/detail/prevent_eti.hpp>
-#include <boost/noncopyable.hpp>
-#include <memory>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* auto_space provides uninitialized space suitably to store
- * a given number of elements of a given type.
- */
-
-/* NB: it is not clear whether using an allocator to handle
- * zero-sized arrays of elements is conformant or not. GCC 3.3.1
- * and prior fail here, other stdlibs handle the issue gracefully.
- * To be on the safe side, the case n==0 is given special treatment.
- * References:
- *   GCC Bugzilla, "standard allocator crashes when deallocating segment
- *    "of zero length", http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14176
- *   C++ Standard Library Defect Report List (Revision 28), issue 199
- *     "What does allocate(0) return?",
- *     http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html#199
- */
-
-template<typename T,typename Allocator=std::allocator<T> >
-struct auto_space:private noncopyable
-{
-  typedef typename prevent_eti<
-    Allocator,
-    typename boost::detail::allocator::rebind_to<
-      Allocator,T
-    >::type
-  >::type::pointer pointer;
-
-  explicit auto_space(const Allocator& al=Allocator(),std::size_t n=1):
-  al_(al),n_(n),data_(n_?al_.allocate(n_):pointer(0))
-  {}
-
-  ~auto_space()
-  {
-    if(n_)al_.deallocate(data_,n_);
-  }
-
-  Allocator get_allocator()const{return al_;}
-
-  pointer data()const{return data_;}
-
-  void swap(auto_space& x)
-  {
-    if(al_!=x.al_)adl_swap(al_,x.al_);
-    std::swap(n_,x.n_);
-    std::swap(data_,x.data_);
-  }
-    
-private:
-  typename boost::detail::allocator::rebind_to<
-    Allocator,T>::type                          al_;
-  std::size_t                                   n_;
-  pointer                                       data_;
-};
-
-template<typename T,typename Allocator>
-void swap(auto_space<T,Allocator>& x,auto_space<T,Allocator>& y)
-{
-  x.swap(y);
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/base_type.hpp b/SRC/Boost/boost/multi_index/detail/base_type.hpp
deleted file mode 100755
index 9db6c63..0000000
--- a/SRC/Boost/boost/multi_index/detail/base_type.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_BASE_TYPE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_BASE_TYPE_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/multi_index/detail/index_base.hpp>
-#include <boost/multi_index/detail/is_index_list.hpp>
-#include <boost/multi_index/detail/msvc_index_specifier.hpp>
-#include <boost/static_assert.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* MPL machinery to construct a linear hierarchy of indices out of
- * a index list.
- */
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<1310)
-struct index_applier
-{
-  template<typename IndexSpecifierMeta,typename SuperMeta>
-  struct apply:
-    msvc_index_specifier<IndexSpecifierMeta::type>::
-      template result_index_class<SuperMeta>
-  {
-  }; 
-};
-#else
-struct index_applier
-{
-  template<typename IndexSpecifierMeta,typename SuperMeta>
-  struct apply
-  {
-    typedef typename IndexSpecifierMeta::type            index_specifier;
-    typedef typename index_specifier::
-      BOOST_NESTED_TEMPLATE index_class<SuperMeta>::type type;
-  }; 
-};
-#endif
-
-template<int N,typename Value,typename IndexSpecifierList,typename Allocator>
-struct nth_layer
-{
-  BOOST_STATIC_CONSTANT(int,length=mpl::size<IndexSpecifierList>::value);
-
-  typedef typename  mpl::eval_if_c<
-    N==length,
-    mpl::identity<index_base<Value,IndexSpecifierList,Allocator> >,
-    mpl::apply2<
-      index_applier,
-      mpl::at_c<IndexSpecifierList,N>,
-      nth_layer<N+1,Value,IndexSpecifierList,Allocator>
-    >
-  >::type type;
-};
-
-template<typename Value,typename IndexSpecifierList,typename Allocator>
-struct multi_index_base_type:nth_layer<0,Value,IndexSpecifierList,Allocator>
-{
-  BOOST_STATIC_ASSERT(detail::is_index_list<IndexSpecifierList>::value);
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/bidir_node_iterator.hpp b/SRC/Boost/boost/multi_index/detail/bidir_node_iterator.hpp
deleted file mode 100755
index 2df409d..0000000
--- a/SRC/Boost/boost/multi_index/detail/bidir_node_iterator.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_BIDIR_NODE_ITERATOR_HPP
-#define BOOST_MULTI_INDEX_DETAIL_BIDIR_NODE_ITERATOR_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/operators.hpp>
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/split_member.hpp>
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Iterator class for node-based indices with bidirectional
- * iterators (ordered and sequenced indices.)
- */
-
-template<typename Node>
-class bidir_node_iterator:
-  public bidirectional_iterator_helper<
-    bidir_node_iterator<Node>,
-    typename Node::value_type,
-    std::ptrdiff_t,
-    const typename Node::value_type*,
-    const typename Node::value_type&>
-{
-public:
-  bidir_node_iterator(){}
-  explicit bidir_node_iterator(Node* node_):node(node_){}
-
-  const typename Node::value_type& operator*()const
-  {
-    return node->value();
-  }
-
-  bidir_node_iterator& operator++()
-  {
-    Node::increment(node);
-    return *this;
-  }
-
-  bidir_node_iterator& operator--()
-  {
-    Node::decrement(node);
-    return *this;
-  }
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  /* Serialization. As for why the following is public,
-   * see explanation in safe_mode_iterator notes in safe_mode.hpp.
-   */
-
-  BOOST_SERIALIZATION_SPLIT_MEMBER()
-
-  typedef typename Node::base_type node_base_type;
-
-  template<class Archive>
-  void save(Archive& ar,const unsigned int)const
-  {
-    node_base_type* bnode=node;
-    ar<<serialization::make_nvp("pointer",bnode);
-  }
-
-  template<class Archive>
-  void load(Archive& ar,const unsigned int)
-  {
-    node_base_type* bnode;
-    ar>>serialization::make_nvp("pointer",bnode);
-    node=static_cast<Node*>(bnode);
-  }
-#endif
-
-  /* get_node is not to be used by the user */
-
-  typedef Node node_type;
-
-  Node* get_node()const{return node;}
-
-private:
-  Node* node;
-};
-
-template<typename Node>
-bool operator==(
-  const bidir_node_iterator<Node>& x,
-  const bidir_node_iterator<Node>& y)
-{
-  return x.get_node()==y.get_node();
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/converter.hpp b/SRC/Boost/boost/multi_index/detail/converter.hpp
deleted file mode 100755
index f032626..0000000
--- a/SRC/Boost/boost/multi_index/detail/converter.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_CONVERTER_HPP
-#define BOOST_MULTI_INDEX_DETAIL_CONVERTER_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* converter offers means to access indices of a given multi_index_container
- * and for convertibilty between index iterators, so providing a
- * localized access point for get() and project() functions.
- */
-
-template<typename MultiIndexContainer,typename Index>
-struct converter
-{
-  static const Index& index(const MultiIndexContainer& x){return x;}
-  static Index&       index(MultiIndexContainer& x){return x;}
-
-  static typename Index::const_iterator const_iterator(
-    const MultiIndexContainer& x,typename MultiIndexContainer::node_type* node)
-  {
-    return x.Index::make_iterator(node);
-  }
-
-  static typename Index::iterator iterator(
-    MultiIndexContainer& x,typename MultiIndexContainer::node_type* node)
-  {
-    return x.Index::make_iterator(node);
-  }
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/copy_map.hpp b/SRC/Boost/boost/multi_index/detail/copy_map.hpp
deleted file mode 100755
index 87ddc31..0000000
--- a/SRC/Boost/boost/multi_index/detail/copy_map.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_COPY_MAP_HPP
-#define BOOST_MULTI_INDEX_DETAIL_COPY_MAP_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <algorithm>
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/multi_index/detail/auto_space.hpp>
-#include <boost/multi_index/detail/prevent_eti.hpp>
-#include <boost/noncopyable.hpp>
-#include <cstddef>
-#include <functional>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* copy_map is used as an auxiliary structure during copy_() operations.
- * When a container with n nodes is replicated, node_map holds the pairings
- * between original and copied nodes, and provides a fast way to find a
- * copied node from an original one.
- * The semantics of the class are not simple, and no attempt has been made
- * to enforce it: multi_index_container handles it right. On the other hand,
- * the const interface, which is the one provided to index implementations,
- * only allows for:
- *   - Enumeration of pairs of (original,copied) nodes (excluding the headers),
- *   - fast retrieval of copied nodes (including the headers.)
- */
-
-template <typename Node>
-struct copy_map_entry
-{
-  copy_map_entry(Node* f,Node* s):first(f),second(s){}
-
-  Node* first;
-  Node* second;
-
-  bool operator<(const copy_map_entry<Node>& x)const
-  {
-    return std::less<Node*>()(first,x.first);
-  }
-};
-
-template <typename Node,typename Allocator>
-class copy_map:private noncopyable
-{
-public:
-  typedef const copy_map_entry<Node>* const_iterator;
-
-  copy_map(
-    const Allocator& al,std::size_t size,Node* header_org,Node* header_cpy):
-    al_(al),size_(size),spc(al_,size_),n(0),
-    header_org_(header_org),header_cpy_(header_cpy),released(false)
-  {}
-
-  ~copy_map()
-  {
-    if(!released){
-      for(std::size_t i=0;i<n;++i){
-        boost::detail::allocator::destroy(&(spc.data()+i)->second->value());
-        deallocate((spc.data()+i)->second);
-      }
-    }
-  }
-
-  const_iterator begin()const{return &*spc.data();}
-  const_iterator end()const{return &*(spc.data()+n);}
-
-  void clone(Node* node)
-  {
-    (spc.data()+n)->first=node;
-    (spc.data()+n)->second=&*al_.allocate(1);
-    BOOST_TRY{
-      boost::detail::allocator::construct(
-        &(spc.data()+n)->second->value(),node->value());
-    }
-    BOOST_CATCH(...){
-      deallocate((spc.data()+n)->second);
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-    ++n;
-
-    if(n==size_)std::sort(&*spc.data(),&*spc.data()+size_);
-  }
-
-  Node* find(Node* node)const
-  {
-    if(node==header_org_)return header_cpy_;
-    return std::lower_bound(
-      begin(),end(),copy_map_entry<Node>(node,0))->second;
-  }
-
-  void release()
-  {
-    released=true;
-  }
-
-private:
-  typedef typename prevent_eti<
-    Allocator,
-    typename boost::detail::allocator::rebind_to<
-      Allocator,Node>::type
-  >::type                                         allocator_type;
-  typedef typename allocator_type::pointer        allocator_pointer;
-
-  allocator_type                                  al_;
-  std::size_t                                     size_;
-  auto_space<copy_map_entry<Node>,Allocator>      spc;
-  std::size_t                                     n;
-  Node*                                           header_org_;
-  Node*                                           header_cpy_;
-  bool                                            released;
-
-  void deallocate(Node* node)
-  {
-    al_.deallocate(static_cast<allocator_pointer>(node),1);
-  }
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/duplicates_iterator.hpp b/SRC/Boost/boost/multi_index/detail/duplicates_iterator.hpp
deleted file mode 100755
index ef72f0a..0000000
--- a/SRC/Boost/boost/multi_index/detail/duplicates_iterator.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_DUPLICATES_ITERATOR_HPP
-#define BOOST_MULTI_INDEX_DETAIL_DUPLICATES_ITERATOR_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <cstddef>
-#include <iterator>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* duplicates_operator is given a range of ordered elements and
- * passes only over those which are duplicated.
- */
-
-template<typename Node,typename Predicate>
-class duplicates_iterator
-{
-public:
-  typedef typename Node::value_type        value_type;
-  typedef std::ptrdiff_t                   difference_type;
-  typedef const typename Node::value_type* pointer;
-  typedef const typename Node::value_type& reference;
-  typedef std::forward_iterator_tag        iterator_category;
-
-  duplicates_iterator(Node* node_,Node* end_,Predicate pred_):
-    node(node_),begin_chunk(0),end(end_),pred(pred_)
-  {
-    advance();
-  }
-
-  duplicates_iterator(Node* end_,Predicate pred_):
-    node(end_),begin_chunk(end_),end(end_),pred(pred_)
-  {
-  }
-
-  reference operator*()const
-  {
-    return node->value();
-  }
-
-  pointer operator->()const
-  {
-    return &node->value();
-  }
-
-  duplicates_iterator& operator++()
-  {
-    Node::increment(node);
-    sync();
-    return *this;
-  }
-
-  duplicates_iterator operator++(int)
-  {
-    duplicates_iterator tmp(*this);
-    ++(*this);
-    return tmp;
-  }
-
-  Node* get_node()const{return node;}
-
-private:
-  void sync()
-  {
-    if(node!=end&&pred(begin_chunk->value(),node->value()))advance();
-  }
-
-  void advance()
-  {
-    for(Node* node2=node;node!=end;node=node2){
-      Node::increment(node2);
-      if(node2!=end&&!pred(node->value(),node2->value()))break;
-    }
-    begin_chunk=node;
-  }
-
-  Node*     node;
-  Node*     begin_chunk;
-  Node*     end;
-  Predicate pred;
-};
-
-template<typename Node,typename Predicate>
-bool operator==(
-  const duplicates_iterator<Node,Predicate>& x,
-  const duplicates_iterator<Node,Predicate>& y)
-{
-  return x.get_node()==y.get_node();
-}
-
-template<typename Node,typename Predicate>
-bool operator!=(
-  const duplicates_iterator<Node,Predicate>& x,
-  const duplicates_iterator<Node,Predicate>& y)
-{
-  return !(x==y);
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/has_tag.hpp b/SRC/Boost/boost/multi_index/detail/has_tag.hpp
deleted file mode 100755
index 1b8e804..0000000
--- a/SRC/Boost/boost/multi_index/detail/has_tag.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_HAS_TAG_HPP
-#define BOOST_MULTI_INDEX_DETAIL_HAS_TAG_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/contains.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* determines whether an index type has a given tag in its tag list */
-
-template<typename Tag>
-struct has_tag
-{
-  template<typename Index>
-  struct apply:mpl::contains<BOOST_DEDUCED_TYPENAME Index::tag_list,Tag>
-  {
-  }; 
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/header_holder.hpp b/SRC/Boost/boost/multi_index/detail/header_holder.hpp
deleted file mode 100755
index 8b036a5..0000000
--- a/SRC/Boost/boost/multi_index/detail/header_holder.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_HEADER_HOLDER_HPP
-#define BOOST_MULTI_INDEX_DETAIL_HEADER_HOLDER_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/noncopyable.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* A utility class used to hold a pointer to the header node.
- * The base from member idiom is used because index classes, which are
- * superclasses of multi_index_container, need this header in construction
- * time. The allocation is made by the allocator of the multi_index_container
- * class --hence, this allocator needs also be stored resorting
- * to the base from member trick.
- */
-
-template<typename NodeTypePtr,typename Final>
-struct header_holder:private noncopyable
-{
-  header_holder():member(final().allocate_node()){}
-  ~header_holder(){final().deallocate_node(&*member);}
-
-  NodeTypePtr member;
-
-private:
-  Final& final(){return *static_cast<Final*>(this);}
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/index_base.hpp b/SRC/Boost/boost/multi_index/detail/index_base.hpp
deleted file mode 100755
index a59710a..0000000
--- a/SRC/Boost/boost/multi_index/detail/index_base.hpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_INDEX_BASE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_INDEX_BASE_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/call_traits.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/multi_index/detail/copy_map.hpp>
-#include <boost/multi_index/detail/node_type.hpp>
-#include <boost/multi_index_container_fwd.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <utility>
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/multi_index/detail/index_loader.hpp>
-#include <boost/multi_index/detail/index_saver.hpp>
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* The role of this class is threefold:
- *   - tops the linear hierarchy of indices.
- *   - terminates some cascading backbone function calls (insert_, etc.),
- *   - grants access to the backbone functions of the final
- *     multi_index_container class (for access restriction reasons, these
- *     cannot be called directly from the index classes.)
- */
-
-template<typename Value,typename IndexSpecifierList,typename Allocator>
-class index_base
-{
-protected:
-  typedef index_node_base<Value,Allocator>    node_type;
-  typedef typename multi_index_node_type<
-    Value,IndexSpecifierList,Allocator>::type final_node_type;
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>       final_type;
-  typedef tuples::null_type                   ctor_args_list;
-  typedef typename 
-    boost::detail::allocator::rebind_to<
-      Allocator,
-      typename Allocator::value_type>::type   final_allocator_type;
-  typedef mpl::vector0<>                      index_type_list;
-  typedef mpl::vector0<>                      iterator_type_list;
-  typedef mpl::vector0<>                      const_iterator_type_list;
-  typedef copy_map<
-    final_node_type,
-    final_allocator_type>                     copy_map_type;
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  typedef index_saver<
-    node_type,
-    final_allocator_type>                     index_saver_type;
-  typedef index_loader<
-    node_type,
-    final_node_type,
-    final_allocator_type>                     index_loader_type;
-#endif
-
-private:
-  typedef typename call_traits<Value>::param_type value_param_type;
-
-protected:
-  explicit index_base(const ctor_args_list&,const Allocator&){}
-
-  void copy_(
-    const index_base<Value,IndexSpecifierList,Allocator>&,const copy_map_type&)
-  {}
-
-  node_type* insert_(value_param_type v,node_type* x)
-  {
-    boost::detail::allocator::construct(&x->value(),v);
-    return x;
-  }
-
-  node_type* insert_(value_param_type v,node_type*,node_type* x)
-  {
-    boost::detail::allocator::construct(&x->value(),v);
-    return x;
-  }
-
-  void erase_(node_type* x)
-  {
-    boost::detail::allocator::destroy(&x->value());
-  }
-
-  void delete_node_(node_type* x)
-  {
-    boost::detail::allocator::destroy(&x->value());
-  }
-
-  void clear_(){}
-
-  void swap_(index_base<Value,IndexSpecifierList,Allocator>&){}
-
-  bool replace_(value_param_type v,node_type* x)
-  {
-    x->value()=v;
-    return true;
-  }
-
-  bool modify_(node_type*){return true;}
-
-  bool modify_rollback_(node_type*){return true;}
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  /* serialization */
-
-  template<typename Archive>
-  void save_(Archive&,const unsigned int,const index_saver_type&)const{}
-
-  template<typename Archive>
-  void load_(Archive&,const unsigned int,const index_loader_type&){}
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-  /* invariant stuff */
-
-  bool invariant_()const{return true;}
-#endif
-
-  /* access to backbone memfuns of Final class */
-
-  final_type&       final(){return *static_cast<final_type*>(this);}
-  const final_type& final()const{return *static_cast<const final_type*>(this);}
-
-  final_node_type* final_header()const{return final().header();}
-
-  bool        final_empty_()const{return final().empty_();}
-  std::size_t final_size_()const{return final().size_();}
-  std::size_t final_max_size_()const{return final().max_size_();}
-
-  std::pair<final_node_type*,bool> final_insert_(value_param_type x)
-    {return final().insert_(x);}
-  std::pair<final_node_type*,bool> final_insert_(
-    value_param_type x,final_node_type* position)
-    {return final().insert_(x,position);}
-
-  void final_erase_(final_node_type* x){final().erase_(x);}
-
-  void final_delete_node_(final_node_type* x){final().delete_node_(x);}
-  void final_delete_all_nodes_(){final().delete_all_nodes_();}
-  void final_clear_(){final().clear_();}
-
-  void final_swap_(final_type& x){final().swap_(x);}
-  bool final_replace_(
-    value_param_type k,final_node_type* x)
-    {return final().replace_(k,x);}
-
-  template<typename Modifier>
-  bool final_modify_(Modifier& mod,final_node_type* x)
-    {return final().modify_(mod,x);}
-
-  template<typename Modifier,typename Rollback>
-  bool final_modify_(Modifier& mod,Rollback& back,final_node_type* x)
-    {return final().modify_(mod,back,x);}
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-  void final_check_invariant_()const{final().check_invariant_();}
-#endif
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/index_loader.hpp b/SRC/Boost/boost/multi_index/detail/index_loader.hpp
deleted file mode 100755
index fa76633..0000000
--- a/SRC/Boost/boost/multi_index/detail/index_loader.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_INDEX_LOADER_HPP
-#define BOOST_MULTI_INDEX_DETAIL_INDEX_LOADER_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <algorithm>
-#include <boost/archive/archive_exception.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/multi_index/detail/auto_space.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/throw_exception.hpp> 
-#include <cstddef>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Counterpart of index_saver (check index_saver.hpp for serialization
- * details.)* multi_index_container is in charge of supplying the info about
- * the base sequence, and each index can subsequently load itself using the
- * const interface of index_loader.
- */
-
-template<typename Node,typename FinalNode,typename Allocator>
-class index_loader:private noncopyable
-{
-public:
-  index_loader(const Allocator& al,std::size_t size):
-    spc(al,size),size_(size),n(0),sorted(false)
-  {
-  }
-
-  template<class Archive>
-  void add(Node* node,Archive& ar,const unsigned int)
-  {
-    ar>>serialization::make_nvp("position",*node);
-    entries()[n++]=node;
-  }
-
-  template<class Archive>
-  void add_track(Node* node,Archive& ar,const unsigned int)
-  {
-    ar>>serialization::make_nvp("position",*node);
-  }
-
-  /* A rearranger is passed two nodes, and is expected to
-   * reposition the second after the first.
-   * If the first node is 0, then the second should be moved
-   * to the beginning of the sequence.
-   */
-
-  template<typename Rearranger,class Archive>
-  void load(Rearranger r,Archive& ar,const unsigned int)const
-  {
-    FinalNode* prev=unchecked_load_node(ar);
-    if(!prev)return;
-
-    if(!sorted){
-      std::sort(entries(),entries()+size_);
-      sorted=true;
-    }
-
-    check_node(prev);
-
-    for(;;){
-      for(;;){
-        FinalNode* node=load_node(ar);
-        if(!node)break;
-
-        if(node==prev)prev=0;
-        r(prev,node);
-
-        prev=node;
-      }
-      prev=load_node(ar);
-      if(!prev)break;
-    }
-  }
-
-private:
-  Node** entries()const{return &*spc.data();}
-
-  /* We try to delay sorting as much as possible just in case it
-   * is not necessary, hence this version of load_node.
-   */
-
-  template<class Archive>
-  FinalNode* unchecked_load_node(Archive& ar)const
-  {
-    Node* node=0;
-    ar>>serialization::make_nvp("pointer",node);
-    return static_cast<FinalNode*>(node);
-  }
-
-  template<class Archive>
-  FinalNode* load_node(Archive& ar)const
-  {
-    Node* node=0;
-    ar>>serialization::make_nvp("pointer",node);
-    check_node(node);
-    return static_cast<FinalNode*>(node);
-  }
-
-  void check_node(Node* node)const
-  {
-    if(node!=0&&!std::binary_search(entries(),entries()+size_,node)){
-      throw_exception(
-        archive::archive_exception(
-          archive::archive_exception::other_exception));
-    }
-  }
-
-  auto_space<Node*,Allocator> spc;
-  std::size_t                 size_;
-  std::size_t                 n;
-  mutable bool                sorted;
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/index_matcher.hpp b/SRC/Boost/boost/multi_index/detail/index_matcher.hpp
deleted file mode 100755
index d038be3..0000000
--- a/SRC/Boost/boost/multi_index/detail/index_matcher.hpp
+++ /dev/null
@@ -1,248 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_INDEX_MATCHER_HPP
-#define BOOST_MULTI_INDEX_DETAIL_INDEX_MATCHER_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <algorithm>
-#include <boost/noncopyable.hpp>
-#include <boost/multi_index/detail/auto_space.hpp>
-#include <cstddef>
-#include <functional>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* index_matcher compares a sequence of elements against a
- * base sequence, identifying those elements that belong to the
- * longest subsequence which is ordered with respect to the base.
- * For instance, if the base sequence is:
- *
- *   0 1 2 3 4 5 6 7 8 9
- *
- * and the compared sequence (not necesarilly the same length):
- *
- *   1 4 2 3 0 7 8 9
- *
- * the elements of the longest ordered subsequence are:
- *
- *   1 2 3 7 8 9
- * 
- * The algorithm for obtaining such a subsequence is called
- * Patience Sorting, described in ch. 1 of:
- *   Aldous, D., Diaconis, P.: "Longest increasing subsequences: from
- *   patience sorting to the Baik-Deift-Johansson Theorem", Bulletin
- *   of the American Mathematical Society, vol. 36, no 4, pp. 413-432,
- *   July 1999.
- *   http://www.ams.org/bull/1999-36-04/S0273-0979-99-00796-X/
- *   S0273-0979-99-00796-X.pdf
- *
- * This implementation is not fully generic since it assumes that
- * the sequences given are pointed to by index iterators (having a
- * get_node() memfun.)
- */
-
-namespace index_matcher{
-
-/* The algorithm stores the nodes of the base sequence and a number
- * of "piles" that are dynamically updated during the calculation
- * stage. From a logical point of view, nodes form an independent
- * sequence from piles. They are stored together so as to minimize
- * allocated memory.
- */
-
-struct entry
-{
-  entry(void* node_,std::size_t pos_=0):node(node_),pos(pos_){}
-
-  /* node stuff */
-
-  void*       node;
-  std::size_t pos;
-  entry*      previous;
-  bool        ordered;
-
-  struct less_by_node
-  {
-    bool operator()(
-      const entry& x,const entry& y)const
-    {
-      return std::less<void*>()(x.node,y.node);
-    }
-  };
-
-  /* pile stuff */
-
-  std::size_t pile_top;
-  entry*      pile_top_entry;
-
-  struct less_by_pile_top
-  {
-    bool operator()(
-      const entry& x,const entry& y)const
-    {
-      return x.pile_top<y.pile_top;
-    }
-  };
-};
-
-/* common code operating on void *'s */
-
-template<typename Allocator>
-class algorithm_base:private noncopyable
-{
-protected:
-  algorithm_base(const Allocator& al,std::size_t size):
-    spc(al,size),size_(size),n(0),sorted(false)
-  {
-  }
-
-  void add(void* node)
-  {
-    entries()[n]=entry(node,n);
-    ++n;
-  }
-
-  void begin_algorithm()const
-  {
-    if(!sorted){
-      std::sort(entries(),entries()+size_,entry::less_by_node());
-      sorted=true;
-    }
-    num_piles=0;
-  }
-
-  void add_node_to_algorithm(void* node)const
-  {
-    entry* ent=
-      std::lower_bound(
-        entries(),entries()+size_,
-        entry(node),entry::less_by_node()); /* localize entry */
-    ent->ordered=false;
-    std::size_t n=ent->pos;                 /* get its position */
-
-    entry dummy(0);
-    dummy.pile_top=n;
-
-    entry* pile_ent=                        /* find the first available pile */
-      std::lower_bound(                     /* to stack the entry            */
-        entries(),entries()+num_piles,
-        dummy,entry::less_by_pile_top());
-
-    pile_ent->pile_top=n;                   /* stack the entry */
-    pile_ent->pile_top_entry=ent;        
-
-    /* if not the first pile, link entry to top of the preceding pile */
-    if(pile_ent>&entries()[0]){ 
-      ent->previous=(pile_ent-1)->pile_top_entry;
-    }
-
-    if(pile_ent==&entries()[num_piles]){    /* new pile? */
-      ++num_piles;
-    }
-  }
-
-  void finish_algorithm()const
-  {
-    if(num_piles>0){
-      /* Mark those elements which are in their correct position, i.e. those
-       * belonging to the longest increasing subsequence. These are those
-       * elements linked from the top of the last pile.
-       */
-
-      entry* ent=entries()[num_piles-1].pile_top_entry;
-      for(std::size_t n=num_piles;n--;){
-        ent->ordered=true;
-        ent=ent->previous;
-      }
-    }
-  }
-
-  bool is_ordered(void * node)const
-  {
-    return std::lower_bound(
-      entries(),entries()+size_,
-      entry(node),entry::less_by_node())->ordered;
-  }
-
-private:
-  entry* entries()const{return &*spc.data();}
-
-  auto_space<entry,Allocator> spc;
-  std::size_t                 size_;
-  std::size_t                 n;
-  mutable bool                sorted;
-  mutable std::size_t         num_piles;
-};
-
-/* The algorithm has three phases:
- *   - Initialization, during which the nodes of the base sequence are added.
- *   - Execution.
- *   - Results querying, through the is_ordered memfun.
- */
-
-template<typename Node,typename Allocator>
-class algorithm:private algorithm_base<Allocator>
-{
-  typedef algorithm_base<Allocator> super;
-
-public:
-  algorithm(const Allocator& al,std::size_t size):super(al,size){}
-
-  void add(Node* node)
-  {
-    super::add(node);
-  }
-
-  template<typename IndexIterator>
-  void execute(IndexIterator first,IndexIterator last)const
-  {
-    super::begin_algorithm();
-
-    for(IndexIterator it=first;it!=last;++it){
-      add_node_to_algorithm(get_node(it));
-    }
-
-    super::finish_algorithm();
-  }
-
-  bool is_ordered(Node* node)const
-  {
-    return super::is_ordered(node);
-  }
-
-private:
-  void add_node_to_algorithm(Node* node)const
-  {
-    super::add_node_to_algorithm(node);
-  }
-
-  template<typename IndexIterator>
-  static Node* get_node(IndexIterator it)
-  {
-    return static_cast<Node*>(it.get_node());
-  }
-};
-
-} /* namespace multi_index::detail::index_matcher */
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/index_node_base.hpp b/SRC/Boost/boost/multi_index/detail/index_node_base.hpp
deleted file mode 100755
index b5b060a..0000000
--- a/SRC/Boost/boost/multi_index/detail/index_node_base.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_INDEX_NODE_BASE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_INDEX_NODE_BASE_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/type_traits/aligned_storage.hpp>
-#include <boost/type_traits/alignment_of.hpp> 
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/archive/archive_exception.hpp>
-#include <boost/serialization/access.hpp>
-#include <boost/throw_exception.hpp> 
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* index_node_base tops the node hierarchy of multi_index_container. It holds
- * the value of the element contained.
- */
-
-template<typename Value>
-struct pod_value_holder
-{
-  typename aligned_storage<
-    sizeof(Value),
-    alignment_of<Value>::value
-  >::type                      space;
-};
-
-template<typename Value,typename Allocator>
-struct index_node_base:private pod_value_holder<Value>
-{
-  typedef index_node_base base_type; /* used for serialization purposes */
-  typedef Value           value_type;
-  typedef Allocator       allocator_type;
-
-  value_type& value()
-  {
-    return *static_cast<value_type*>(
-      static_cast<void*>(&this->space));
-  }
-
-  const value_type& value()const
-  {
-    return *static_cast<const value_type*>(
-      static_cast<const void*>(&this->space));
-  }
-
-  static index_node_base* from_value(const value_type* p)
-  {
-    return static_cast<index_node_base *>(
-      reinterpret_cast<pod_value_holder<Value>*>( /* std 9.2.17 */
-        const_cast<value_type*>(p))); 
-  }
-
-private:
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  friend class boost::serialization::access;
-  
-  /* nodes do not emit any kind of serialization info. They are
-   * fed to Boost.Serialization so that pointers to nodes are
-   * tracked correctly.
-   */
-
-  template<class Archive>
-  void serialize(Archive&,const unsigned int)
-  {
-  }
-#endif
-};
-
-template<typename Node,typename Value>
-Node* node_from_value(
-  const Value* p
-  BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Node))
-{
-  typedef typename Node::allocator_type allocator_type;
-  return static_cast<Node*>(
-    index_node_base<Value,allocator_type>::from_value(p));
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-/* Index nodes never get constructed directly by Boost.Serialization,
- * as archives are always fed pointers to previously existent
- * nodes. So, if this is called it means we are dealing with a
- * somehow invalid archive.
- */
-
-#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
-namespace serialization{
-#else
-namespace multi_index{
-namespace detail{
-#endif
-
-template<class Archive,typename Value,typename Allocator>
-inline void load_construct_data(
-  Archive&,boost::multi_index::detail::index_node_base<Value,Allocator>*,
-  const unsigned int)
-{
-  throw_exception(
-    archive::archive_exception(archive::archive_exception::other_exception));
-}
-
-#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
-} /* namespace serialization */
-#else
-} /* namespace multi_index::detail */
-} /* namespace multi_index */
-#endif
-
-#endif
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/index_saver.hpp b/SRC/Boost/boost/multi_index/detail/index_saver.hpp
deleted file mode 100755
index ecfbef5..0000000
--- a/SRC/Boost/boost/multi_index/detail/index_saver.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_INDEX_SAVER_HPP
-#define BOOST_MULTI_INDEX_DETAIL_INDEX_SAVER_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/multi_index/detail/index_matcher.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <cstddef>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* index_saver accepts a base sequence of previously saved elements
- * and saves a possibly reordered subsequence in an efficient manner,
- * serializing only the information needed to rearrange the subsequence
- * based on the original order of the base.
- * multi_index_container is in charge of supplying the info about the
- * base sequence, and each index can subsequently save itself using the
- * const interface of index_saver.
- */
-
-template<typename Node,typename Allocator>
-class index_saver:private noncopyable
-{
-public:
-  index_saver(const Allocator& al,std::size_t size):alg(al,size){}
-
-  template<class Archive>
-  void add(Node* node,Archive& ar,const unsigned int)
-  {
-    ar<<serialization::make_nvp("position",*node);
-    alg.add(node);
-  }
-
-  template<class Archive>
-  void add_track(Node* node,Archive& ar,const unsigned int)
-  {
-    ar<<serialization::make_nvp("position",*node);
-  }
-
-  template<typename IndexIterator,class Archive>
-  void save(
-    IndexIterator first,IndexIterator last,Archive& ar,
-    const unsigned int)const
-  {
-    /* calculate ordered positions */
-
-    alg.execute(first,last);
-
-    /* Given a consecutive subsequence of displaced elements
-     * x1,...,xn, the following information is serialized:
-     *
-     *   p0,p1,...,pn,0
-     *
-     * where pi is a pointer to xi and p0 is a pointer to the element
-     * preceding x1. Crealy, from this information is possible to
-     * restore the original order on loading time. If x1 is the first
-     * element in the sequence, the following is serialized instead:
-     *
-     *   p1,p1,...,pn,0
-     *
-     * For each subsequence of n elements, n+2 pointers are serialized.
-     * An optimization policy is applied: consider for instance the
-     * sequence
-     *
-     *   a,B,c,D
-     * 
-     * where B and D are displaced, but c is in its correct position.
-     * Applying the schema described above we would serialize 6 pointers:
-     *
-     *  p(a),p(B),0
-     *  p(c),p(D),0
-     * 
-     * but this can be reduced to 5 pointers by treating c as a displaced
-     * element:
-     *
-     *  p(a),p(B),p(c),p(D),0
-     */
-
-    std::size_t last_saved=3; /* distance to last pointer saved */
-    for(IndexIterator it=first,prev=first;it!=last;prev=it++,++last_saved){
-      if(!alg.is_ordered(get_node(it))){
-        if(last_saved>1)save_node(get_node(prev),ar);
-        save_node(get_node(it),ar);
-        last_saved=0;
-      }
-      else if(last_saved==2)save_node(null_node(),ar);
-    }
-    if(last_saved<=2)save_node(null_node(),ar);
-
-    /* marks the end of the serialization info for [first,last) */
-
-    save_node(null_node(),ar);
-  }
-
-private:
-  template<typename IndexIterator>
-  static Node* get_node(IndexIterator it)
-  {
-    return it.get_node();
-  }
-
-  static Node* null_node(){return 0;}
-
-  template<typename Archive>
-  static void save_node(Node* node,Archive& ar)
-  {
-    ar<<serialization::make_nvp("pointer",node);
-  }
-
-  index_matcher::algorithm<Node,Allocator> alg;
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/invariant_assert.hpp b/SRC/Boost/boost/multi_index/detail/invariant_assert.hpp
deleted file mode 100755
index 43e6052..0000000
--- a/SRC/Boost/boost/multi_index/detail/invariant_assert.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_INVARIANT_ASSERT_HPP
-#define BOOST_MULTI_INDEX_DETAIL_INVARIANT_ASSERT_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#if !defined(BOOST_MULTI_INDEX_INVARIANT_ASSERT)
-#include <boost/assert.hpp>
-#define BOOST_MULTI_INDEX_INVARIANT_ASSERT BOOST_ASSERT
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/is_index_list.hpp b/SRC/Boost/boost/multi_index/detail/is_index_list.hpp
deleted file mode 100755
index 5277ff6..0000000
--- a/SRC/Boost/boost/multi_index/detail/is_index_list.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_IS_INDEX_LIST_HPP
-#define BOOST_MULTI_INDEX_DETAIL_IS_INDEX_LIST_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/empty.hpp>
-#include <boost/mpl/is_sequence.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<typename T>
-struct is_index_list
-{
-  BOOST_STATIC_CONSTANT(bool,mpl_sequence=mpl::is_sequence<T>::value);
-  BOOST_STATIC_CONSTANT(bool,non_empty=!mpl::empty<T>::value);
-  BOOST_STATIC_CONSTANT(bool,value=mpl_sequence&&non_empty);
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/iter_adaptor.hpp b/SRC/Boost/boost/multi_index/detail/iter_adaptor.hpp
deleted file mode 100755
index d851376..0000000
--- a/SRC/Boost/boost/multi_index/detail/iter_adaptor.hpp
+++ /dev/null
@@ -1,325 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_ITER_ADAPTOR_HPP
-#define BOOST_MULTI_INDEX_DETAIL_ITER_ADAPTOR_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/apply.hpp>
-#include <boost/multi_index/detail/prevent_eti.hpp>
-#include <boost/operators.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Poor man's version of boost::iterator_adaptor. Used instead of the
- * original as compile times for the latter are significantly higher.
- * The interface is not replicated exactly, only to the extent necessary
- * for internal consumption.
- */
-
-/* NB. The purpose of the (non-inclass) global operators ==, < and - defined
- * above is to partially alleviate a problem of MSVC++ 6.0 by * which
- * friend-injected operators on T are not visible if T is instantiated only
- * in template code where T is a dependent type.
- */
-
-class iter_adaptor_access
-{
-public:
-  template<class Class>
-    static typename Class::reference dereference(const Class& x)
-  {
-    return x.dereference();
-  }
-
-  template<class Class>
-  static bool equal(const Class& x,const Class& y)
-  {
-    return x.equal(y);
-  }
-
-  template<class Class>
-  static void increment(Class& x)
-  {
-    x.increment();
-  }
-
-  template<class Class>
-  static void decrement(Class& x)
-  {
-    x.decrement();
-  }
-
-  template<class Class>
-  static void advance(Class& x,typename Class::difference_type n)
-  {
-    x.advance(n);
-  }
-
-  template<class Class>
-  static typename Class::difference_type distance_to(
-    const Class& x,const Class& y)
-  {
-    return x.distance_to(y);
-  }
-};
-
-template<typename Category>
-struct iter_adaptor_selector;
-
-template<class Derived,class Base>
-class forward_iter_adaptor_base:
-  public forward_iterator_helper<
-    Derived,
-    typename Base::value_type,
-    typename Base::difference_type,
-    typename Base::pointer,
-    typename Base::reference>
-{
-public:
-  typedef typename Base::reference reference;
-
-  reference operator*()const
-  {
-    return iter_adaptor_access::dereference(final());
-  }
-
-  friend bool operator==(const Derived& x,const Derived& y)
-  {
-    return iter_adaptor_access::equal(x,y);
-  }
-
-  Derived& operator++()
-  {
-    iter_adaptor_access::increment(final());
-    return final();
-  }
-
-private:
-  Derived& final(){return *static_cast<Derived*>(this);}
-  const Derived& final()const{return *static_cast<const Derived*>(this);}
-};
-
-template<class Derived,class Base>
-bool operator==(
-  const forward_iter_adaptor_base<Derived,Base>& x,
-  const forward_iter_adaptor_base<Derived,Base>& y)
-{
-  return iter_adaptor_access::equal(
-    static_cast<const Derived&>(x),static_cast<const Derived&>(y));
-}
-
-template<>
-struct iter_adaptor_selector<std::forward_iterator_tag>
-{
-  template<class Derived,class Base>
-  struct apply
-  {
-    typedef forward_iter_adaptor_base<Derived,Base> type;
-  };
-};
-
-template<class Derived,class Base>
-class bidirectional_iter_adaptor_base:
-  public bidirectional_iterator_helper<
-    Derived,
-    typename Base::value_type,
-    typename Base::difference_type,
-    typename Base::pointer,
-    typename Base::reference>
-{
-public:
-  typedef typename Base::reference reference;
-
-  reference operator*()const
-  {
-    return iter_adaptor_access::dereference(final());
-  }
-
-  friend bool operator==(const Derived& x,const Derived& y)
-  {
-    return iter_adaptor_access::equal(x,y);
-  }
-
-  Derived& operator++()
-  {
-    iter_adaptor_access::increment(final());
-    return final();
-  }
-
-  Derived& operator--()
-  {
-    iter_adaptor_access::decrement(final());
-    return final();
-  }
-
-private:
-  Derived& final(){return *static_cast<Derived*>(this);}
-  const Derived& final()const{return *static_cast<const Derived*>(this);}
-};
-
-template<class Derived,class Base>
-bool operator==(
-  const bidirectional_iter_adaptor_base<Derived,Base>& x,
-  const bidirectional_iter_adaptor_base<Derived,Base>& y)
-{
-  return iter_adaptor_access::equal(
-    static_cast<const Derived&>(x),static_cast<const Derived&>(y));
-}
-
-template<>
-struct iter_adaptor_selector<std::bidirectional_iterator_tag>
-{
-  template<class Derived,class Base>
-  struct apply
-  {
-    typedef bidirectional_iter_adaptor_base<Derived,Base> type;
-  };
-};
-
-template<class Derived,class Base>
-class random_access_iter_adaptor_base:
-  public random_access_iterator_helper<
-    Derived,
-    typename Base::value_type,
-    typename Base::difference_type,
-    typename Base::pointer,
-    typename Base::reference>
-{
-public:
-  typedef typename Base::reference       reference;
-  typedef typename Base::difference_type difference_type;
-
-  reference operator*()const
-  {
-    return iter_adaptor_access::dereference(final());
-  }
-
-  friend bool operator==(const Derived& x,const Derived& y)
-  {
-    return iter_adaptor_access::equal(x,y);
-  }
-
-  friend bool operator<(const Derived& x,const Derived& y)
-  {
-    return iter_adaptor_access::distance_to(x,y)>0;
-  }
-
-  Derived& operator++()
-  {
-    iter_adaptor_access::increment(final());
-    return final();
-  }
-
-  Derived& operator--()
-  {
-    iter_adaptor_access::decrement(final());
-    return final();
-  }
-
-  Derived& operator+=(difference_type n)
-  {
-    iter_adaptor_access::advance(final(),n);
-    return final();
-  }
-
-  Derived& operator-=(difference_type n)
-  {
-    iter_adaptor_access::advance(final(),-n);
-    return final();
-  }
-
-  friend difference_type operator-(const Derived& x,const Derived& y)
-  {
-    return iter_adaptor_access::distance_to(y,x);
-  }
-
-private:
-  Derived& final(){return *static_cast<Derived*>(this);}
-  const Derived& final()const{return *static_cast<const Derived*>(this);}
-};
-
-template<class Derived,class Base>
-bool operator==(
-  const random_access_iter_adaptor_base<Derived,Base>& x,
-  const random_access_iter_adaptor_base<Derived,Base>& y)
-{
-  return iter_adaptor_access::equal(
-    static_cast<const Derived&>(x),static_cast<const Derived&>(y));
-}
-
-template<class Derived,class Base>
-bool operator<(
-  const random_access_iter_adaptor_base<Derived,Base>& x,
-  const random_access_iter_adaptor_base<Derived,Base>& y)
-{
-  return iter_adaptor_access::distance_to(
-    static_cast<const Derived&>(x),static_cast<const Derived&>(y))>0;
-}
-
-template<class Derived,class Base>
-typename random_access_iter_adaptor_base<Derived,Base>::difference_type
-operator-(
-  const random_access_iter_adaptor_base<Derived,Base>& x,
-  const random_access_iter_adaptor_base<Derived,Base>& y)
-{
-  return iter_adaptor_access::distance_to(
-    static_cast<const Derived&>(y),static_cast<const Derived&>(x));
-}
-
-template<>
-struct iter_adaptor_selector<std::random_access_iterator_tag>
-{
-  template<class Derived,class Base>
-  struct apply
-  {
-    typedef random_access_iter_adaptor_base<Derived,Base> type;
-  };
-};
-
-template<class Derived,class Base>
-struct iter_adaptor_base
-{
-  typedef iter_adaptor_selector<
-    typename Base::iterator_category>        selector;
-  typedef typename prevent_eti<
-    selector,
-    typename mpl::apply2<
-      selector,Derived,Base>::type
-  >::type                                    type;
-};
-
-template<class Derived,class Base>
-class iter_adaptor:public iter_adaptor_base<Derived,Base>::type
-{
-protected:
-  iter_adaptor(){}
-  explicit iter_adaptor(const Base& b_):b(b_){}
-
-  const Base& base_reference()const{return b;}
-  Base&       base_reference(){return b;}
-
-private:
-  Base b;
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/modify_key_adaptor.hpp b/SRC/Boost/boost/multi_index/detail/modify_key_adaptor.hpp
deleted file mode 100755
index 65c9f5b..0000000
--- a/SRC/Boost/boost/multi_index/detail/modify_key_adaptor.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_MODIFY_KEY_ADAPTOR_HPP
-#define BOOST_MULTI_INDEX_DETAIL_MODIFY_KEY_ADAPTOR_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Functional adaptor to resolve modify_key as a call to modify.
- * Preferred over compose_f_gx and stuff cause it eliminates problems
- * with references to references, dealing with function pointers, etc.
- */
-
-template<typename Fun,typename Value,typename KeyFromValue>
-struct modify_key_adaptor
-{
-
-  modify_key_adaptor(Fun f_,KeyFromValue kfv_):f(f_),kfv(kfv_){}
-
-  void operator()(Value& x)
-  {
-    f(kfv(x));
-  }
-
-private:
-  Fun          f;
-  KeyFromValue kfv;
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/msvc_index_specifier.hpp b/SRC/Boost/boost/multi_index/detail/msvc_index_specifier.hpp
deleted file mode 100755
index e2af1bd..0000000
--- a/SRC/Boost/boost/multi_index/detail/msvc_index_specifier.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_MSVC_INDEX_SPECIFIER_HPP
-#define BOOST_MULTI_INDEX_DETAIL_MSVC_INDEX_SPECIFIER_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<1310)
-/* Workaround for a problem in MSVC with dependent template typedefs
- * when accesing index specifiers.
- * Modeled after <boost/mpl/aux_/msvc_dtw.hpp> (thanks, Aleksey!)
- */
-
-#include <boost/mpl/aux_/msvc_never_true.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<typename IndexSpecifier>
-struct msvc_index_specifier
-{
-  template<bool> struct fake_index_type:IndexSpecifier{};
-  template<> struct fake_index_type<true>
-  {
-    template<typename Super>
-    struct node_class{};
-
-    template<typename Super>
-    struct index_class{};
-  };
-
-  template<typename Super>
-  struct result_node_class:
-    fake_index_type<mpl::aux::msvc_never_true<IndexSpecifier>::value>::
-      template node_class<Super>
-  {
-  };
-
-  template<typename Super>
-  struct result_index_class:
-    fake_index_type<mpl::aux::msvc_never_true<IndexSpecifier>::value>::
-      template index_class<Super>
-  {
-  };
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif /* workaround */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/no_duplicate_tags.hpp b/SRC/Boost/boost/multi_index/detail/no_duplicate_tags.hpp
deleted file mode 100755
index 30231b3..0000000
--- a/SRC/Boost/boost/multi_index/detail/no_duplicate_tags.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_NO_DUPLICATE_TAGS_HPP
-#define BOOST_MULTI_INDEX_DETAIL_NO_DUPLICATE_TAGS_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/set/set0.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* no_duplicate_tags check at compile-time that a tag list
- * has no duplicate tags.
- * The algorithm deserves some explanation: tags
- * are sequentially inserted into a mpl::set if they were
- * not already present. Due to the magic of mpl::set
- * (mpl::has_key is contant time), this operation takes linear
- * time, and even MSVC++ 6.5 handles it gracefully (other obvious
- * solutions are quadratic.)
- */
-
-struct duplicate_tag_mark{};
-
-struct duplicate_tag_marker
-{
-  template <typename MplSet,typename Tag>
-  struct apply
-  {
-    typedef mpl::s_item<
-      typename mpl::if_<mpl::has_key<MplSet,Tag>,duplicate_tag_mark,Tag>::type,
-      MplSet
-    > type;
-  };
-};
-
-template<typename TagList>
-struct no_duplicate_tags
-{
-  typedef typename mpl::fold<
-    TagList,
-    mpl::set0<>,
-    duplicate_tag_marker
-  >::type aux;
- 
-  BOOST_STATIC_CONSTANT(
-    bool,value=!(mpl::has_key<aux,duplicate_tag_mark>::value));
-};
-
-/* Variant for an index list: duplication is checked
- * across all the indices.
- */
-
-struct duplicate_tag_list_marker
-{
-  template <typename MplSet,typename Index>
-  struct apply:mpl::fold<
-    BOOST_DEDUCED_TYPENAME Index::tag_list,
-    MplSet,
-    duplicate_tag_marker>
-  {
-  };
-};
-
-template<typename IndexList>
-struct no_duplicate_tags_in_index_list
-{
-  typedef typename mpl::fold<
-    IndexList,
-    mpl::set0<>,
-    duplicate_tag_list_marker
-  >::type aux;
- 
-  BOOST_STATIC_CONSTANT(
-    bool,value=!(mpl::has_key<aux,duplicate_tag_mark>::value));
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/node_type.hpp b/SRC/Boost/boost/multi_index/detail/node_type.hpp
deleted file mode 100755
index ea2ee1a..0000000
--- a/SRC/Boost/boost/multi_index/detail/node_type.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_NODE_TYPE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_NODE_TYPE_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/bind.hpp>
-#include <boost/mpl/reverse_iter_fold.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/multi_index_container_fwd.hpp>
-#include <boost/multi_index/detail/header_holder.hpp>
-#include <boost/multi_index/detail/index_node_base.hpp>
-#include <boost/multi_index/detail/is_index_list.hpp>
-#include <boost/multi_index/detail/msvc_index_specifier.hpp>
-#include <boost/static_assert.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* MPL machinery to construct the internal node type associated to an
- * index list.
- */
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<1310)
-struct index_node_applier
-{
-  template<typename IndexSpecifierIterator,typename Super>
-  struct apply:
-    msvc_index_specifier< mpl::deref<IndexSpecifierIterator>::type >::
-      template result_node_class<Super>
-  {
-  }; 
-};
-#else
-struct index_node_applier
-{
-  template<typename IndexSpecifierIterator,typename Super>
-  struct apply
-  {
-    typedef typename mpl::deref<IndexSpecifierIterator>::type index_specifier;
-    typedef typename index_specifier::
-      BOOST_NESTED_TEMPLATE node_class<Super>::type type;
-  }; 
-};
-#endif
-
-template<typename Value,typename IndexSpecifierList,typename Allocator>
-struct multi_index_node_type
-{
-  BOOST_STATIC_ASSERT(detail::is_index_list<IndexSpecifierList>::value);
-
-  typedef typename mpl::reverse_iter_fold<
-    IndexSpecifierList,
-    index_node_base<Value,Allocator>,
-    mpl::bind2<index_node_applier,mpl::_2,mpl::_1>
-  >::type type;
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/ord_index_args.hpp b/SRC/Boost/boost/multi_index/detail/ord_index_args.hpp
deleted file mode 100755
index 6283631..0000000
--- a/SRC/Boost/boost/multi_index/detail/ord_index_args.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_ORD_INDEX_ARGS_HPP
-#define BOOST_MULTI_INDEX_DETAIL_ORD_INDEX_ARGS_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/multi_index/tag.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <functional>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Oredered index specifiers can be instantiated in two forms:
- *
- *   (ordered_unique|ordered_non_unique)<
- *     KeyFromValue,Compare=std::less<KeyFromValue::result_type> >
- *   (ordered_unique|ordered_non_unique)<
- *     TagList,KeyFromValue,Compare=std::less<KeyFromValue::result_type> >
- *
- * index_args implements the machinery to accept this argument-dependent
- * polymorphism.
- */
-
-template<typename KeyFromValue>
-struct index_args_default_compare
-{
-  typedef std::less<typename KeyFromValue::result_type> type;
-};
-
-template<typename Arg1,typename Arg2,typename Arg3>
-struct ordered_index_args
-{
-  typedef is_tag<Arg1> full_form;
-
-  typedef typename mpl::if_<
-    full_form,
-    Arg1,
-    tag< > >::type                                   tag_list_type;
-  typedef typename mpl::if_<
-    full_form,
-    Arg2,
-    Arg1>::type                                      key_from_value_type;
-  typedef typename mpl::if_<
-    full_form,
-    Arg3,
-    Arg2>::type                                      supplied_compare_type;
-  typedef typename mpl::eval_if<
-    mpl::is_na<supplied_compare_type>,
-    index_args_default_compare<key_from_value_type>,
-    mpl::identity<supplied_compare_type>
-  >::type                                            compare_type;
-
-  BOOST_STATIC_ASSERT(is_tag<tag_list_type>::value);
-  BOOST_STATIC_ASSERT(!mpl::is_na<key_from_value_type>::value);
-  BOOST_STATIC_ASSERT(!mpl::is_na<compare_type>::value);
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/ord_index_node.hpp b/SRC/Boost/boost/multi_index/detail/ord_index_node.hpp
deleted file mode 100755
index 32c8c5d..0000000
--- a/SRC/Boost/boost/multi_index/detail/ord_index_node.hpp
+++ /dev/null
@@ -1,650 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- *
- * The internal implementation of red-black trees is based on that of SGI STL
- * stl_tree.h file: 
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- *
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_ORD_INDEX_NODE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_ORD_INDEX_NODE_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <cstddef>
-#include <boost/detail/allocator_utilities.hpp>
-#include <boost/multi_index/detail/prevent_eti.hpp>
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_COMPRESSED_ORDERED_INDEX_NODES)
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/multi_index/detail/uintptr_type.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/type_traits/is_same.hpp>
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* definition of red-black nodes for ordered_index */
-
-enum ordered_index_color{red=false,black=true};
-enum ordered_index_side{to_left=false,to_right=true};
-
-template<typename Allocator>
-struct ordered_index_node_impl; /* fwd decl. */
-
-template<typename Allocator>
-struct ordered_index_node_std_base
-{
-  typedef typename prevent_eti<
-    Allocator,
-    typename boost::detail::allocator::rebind_to<
-      Allocator,
-      ordered_index_node_impl<Allocator>
-    >::type
-  >::type::pointer                                pointer;
-  typedef typename prevent_eti<
-    Allocator,
-    typename boost::detail::allocator::rebind_to<
-      Allocator,
-      ordered_index_node_impl<Allocator>
-    >::type
-  >::type::const_pointer                          const_pointer;
-  typedef ordered_index_color&                    color_ref;
-  typedef pointer&                                parent_ref;
-
-  ordered_index_color& color(){return color_;}
-  ordered_index_color  color()const{return color_;}
-  pointer&             parent(){return parent_;}
-  pointer              parent()const{return parent_;}
-  pointer&             left(){return left_;}
-  pointer              left()const{return left_;}
-  pointer&             right(){return right_;}
-  pointer              right()const{return right_;}
-
-private:
-  ordered_index_color color_; 
-  pointer             parent_;
-  pointer             left_;
-  pointer             right_;
-};
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_COMPRESSED_ORDERED_INDEX_NODES)
-/* If ordered_index_node_impl has even alignment, we can use the least
- * significant bit of one of the ordered_index_node_impl pointers to
- * store color information. This typically reduces the size of
- * ordered_index_node_impl by 25%.
- */
-
-#if defined(BOOST_MSVC)
-/* This code casts pointers to an integer type that has been computed
- * to be large enough to hold the pointer, however the metaprogramming
- * logic is not always spotted by the VC++ code analyser that issues a
- * long list of warnings.
- */
-
-#pragma warning(push)
-#pragma warning(disable:4312 4311)
-#endif
-
-template<typename Allocator>
-struct ordered_index_node_compressed_base
-{
-  typedef ordered_index_node_impl<Allocator>*       pointer;
-  typedef const ordered_index_node_impl<Allocator>* const_pointer;
-
-  struct color_ref
-  {
-    color_ref(uintptr_type* r_):r(r_){}
-    
-    operator ordered_index_color()const
-    {
-      return ordered_index_color(*r&uintptr_type(1));
-    }
-    
-    color_ref& operator=(ordered_index_color c)
-    {
-      *r&=~uintptr_type(1);
-      *r|=uintptr_type(c);
-      return *this;
-    }
-    
-    color_ref& operator=(const color_ref& x)
-    {
-      return operator=(x.operator ordered_index_color());
-    }
-    
-  private:
-    uintptr_type* r;
-  };
-  
-  struct parent_ref
-  {
-    parent_ref(uintptr_type* r_):r(r_){}
-    
-    operator pointer()const
-    {
-      return (pointer)(void*)(*r&~uintptr_type(1));
-    }
-    
-    parent_ref& operator=(pointer p)
-    {
-      *r=((uintptr_type)(void*)p)|(*r&uintptr_type(1));
-      return *this;
-    }
-    
-    parent_ref& operator=(const parent_ref& x)
-    {
-      return operator=(x.operator pointer());
-    }
-
-    pointer operator->()const
-    {
-      return operator pointer();
-    }
-
-  private:
-    uintptr_type* r;
-  };
-  
-  color_ref           color(){return color_ref(&parentcolor_);}
-  ordered_index_color color()const
-  {
-    return ordered_index_color(parentcolor_&std::size_t(1ul));
-  }
-
-  parent_ref parent(){return parent_ref(&parentcolor_);}
-  pointer    parent()const
-  {
-    return (pointer)(void*)(parentcolor_&~uintptr_type(1));
-  }
-
-  pointer& left(){return left_;}
-  pointer  left()const{return left_;}
-  pointer& right(){return right_;}
-  pointer  right()const{return right_;}
-
-private:
-  uintptr_type parentcolor_;
-  pointer      left_;
-  pointer      right_;
-};
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-#endif
-
-template<typename Allocator>
-struct ordered_index_node_impl_base:
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_COMPRESSED_ORDERED_INDEX_NODES)
-  mpl::if_c<
-    !(has_uintptr_type::value)||
-    (alignment_of<ordered_index_node_compressed_base<Allocator> >::value%2)||
-    !(is_same<
-      typename prevent_eti<
-        Allocator,
-        typename boost::detail::allocator::rebind_to<
-          Allocator,
-          ordered_index_node_impl<Allocator>
-        >::type
-      >::type::pointer,
-      ordered_index_node_impl<Allocator>*>::value),
-    ordered_index_node_std_base<Allocator>,
-    ordered_index_node_compressed_base<Allocator>
-  >::type
-#else
-  ordered_index_node_std_base<Allocator>
-#endif
-
-{};
-
-template<typename Allocator>
-struct ordered_index_node_impl:ordered_index_node_impl_base<Allocator>
-{
-private:
-  typedef ordered_index_node_impl_base<Allocator> super;
-
-public:
-  typedef typename super::color_ref               color_ref;
-  typedef typename super::parent_ref              parent_ref;
-  typedef typename super::pointer                 pointer;
-  typedef typename super::const_pointer           const_pointer;
-
-  /* interoperability with bidir_node_iterator */
-
-  static void increment(pointer& x)
-  {
-    if(x->right()!=pointer(0)){
-      x=x->right();
-      while(x->left()!=pointer(0))x=x->left();
-    }
-    else{
-      pointer y=x->parent();
-      while(x==y->right()){
-        x=y;
-        y=y->parent();
-      }
-      if(x->right()!=y)x=y;
-    }
-  }
-
-  static void decrement(pointer& x)
-  {
-    if(x->color()==red&&x->parent()->parent()==x){
-      x=x->right();
-    }
-    else if(x->left()!=pointer(0)){
-      pointer y=x->left();
-      while(y->right()!=pointer(0))y=y->right();
-      x=y;
-    }else{
-      pointer y=x->parent();
-      while(x==y->left()){
-        x=y;
-        y=y->parent();
-      }
-      x=y;
-    }
-  }
-
-  /* algorithmic stuff */
-
-  static void rotate_left(pointer x,parent_ref root)
-  {
-    pointer y=x->right();
-    x->right()=y->left();
-    if(y->left()!=pointer(0))y->left()->parent()=x;
-    y->parent()=x->parent();
-    
-    if(x==root)                    root=y;
-    else if(x==x->parent()->left())x->parent()->left()=y;
-    else                           x->parent()->right()=y;
-    y->left()=x;
-    x->parent()=y;
-  }
-
-  static pointer minimum(pointer x)
-  {
-    while(x->left()!=pointer(0))x=x->left();
-    return x;
-  }
-
-  static pointer maximum(pointer x)
-  {
-    while(x->right()!=pointer(0))x=x->right();
-    return x;
-  }
-
-  static void rotate_right(pointer x,parent_ref root)
-  {
-    pointer y=x->left();
-    x->left()=y->right();
-    if(y->right()!=pointer(0))y->right()->parent()=x;
-    y->parent()=x->parent();
-
-    if(x==root)                     root=y;
-    else if(x==x->parent()->right())x->parent()->right()=y;
-    else                            x->parent()->left()=y;
-    y->right()=x;
-    x->parent()=y;
-  }
-
-  static void rebalance(pointer x,parent_ref root)
-  {
-    x->color()=red;
-    while(x!=root&&x->parent()->color()==red){
-      if(x->parent()==x->parent()->parent()->left()){
-        pointer y=x->parent()->parent()->right();
-        if(y!=pointer(0)&&y->color()==red){
-          x->parent()->color()=black;
-          y->color()=black;
-          x->parent()->parent()->color()=red;
-          x=x->parent()->parent();
-        }
-        else{
-          if(x==x->parent()->right()){
-            x=x->parent();
-            rotate_left(x,root);
-          }
-          x->parent()->color()=black;
-          x->parent()->parent()->color()=red;
-          rotate_right(x->parent()->parent(),root);
-        }
-      }
-      else{
-        pointer y=x->parent()->parent()->left();
-        if(y!=pointer(0)&&y->color()==red){
-          x->parent()->color()=black;
-          y->color()=black;
-          x->parent()->parent()->color()=red;
-          x=x->parent()->parent();
-        }
-        else{
-          if(x==x->parent()->left()){
-            x=x->parent();
-            rotate_right(x,root);
-          }
-          x->parent()->color()=black;
-          x->parent()->parent()->color()=red;
-          rotate_left(x->parent()->parent(),root);
-        }
-      }
-    }
-    root->color()=black;
-  }
-
-  static void link(
-    pointer x,ordered_index_side side,pointer position,pointer header)
-  {
-    if(side==to_left){
-      position->left()=x;  /* also makes leftmost=x when parent==header */
-      if(position==header){
-        header->parent()=x;
-        header->right()=x;
-      }
-      else if(position==header->left()){
-        header->left()=x;  /* maintain leftmost pointing to min node */
-      }
-    }
-    else{
-      position->right()=x;
-      if(position==header->right()){
-        header->right()=x; /* maintain rightmost pointing to max node */
-      }
-    }
-    x->parent()=position;
-    x->left()=pointer(0);
-    x->right()=pointer(0);
-    ordered_index_node_impl::rebalance(x,header->parent());
-  }
-
-  static pointer rebalance_for_erase(
-    pointer z,parent_ref root,pointer& leftmost,pointer& rightmost)
-  {
-    pointer y=z;
-    pointer x=pointer(0);
-    pointer x_parent=pointer(0);
-    if(y->left()==pointer(0)){    /* z has at most one non-null child. y==z. */
-      x=y->right();               /* x might be null */
-    }
-    else{
-      if(y->right()==pointer(0)){ /* z has exactly one non-null child. y==z. */
-        x=y->left();              /* x is not null */
-      }
-      else{                       /* z has two non-null children.  Set y to */
-        y=y->right();             /* z's successor. x might be null.        */
-        while(y->left()!=pointer(0))y=y->left();
-        x=y->right();
-      }
-    }
-    if(y!=z){
-      z->left()->parent()=y;   /* relink y in place of z. y is z's successor */
-      y->left()=z->left();
-      if(y!=z->right()){
-        x_parent=y->parent();
-        if(x!=pointer(0))x->parent()=y->parent();
-        y->parent()->left()=x; /* y must be a child of left */
-        y->right()=z->right();
-        z->right()->parent()=y;
-      }
-      else{
-        x_parent=y;
-      }
-
-      if(root==z)                    root=y;
-      else if(z->parent()->left()==z)z->parent()->left()=y;
-      else                           z->parent()->right()=y;
-      y->parent()=z->parent();
-      ordered_index_color c=y->color();
-      y->color()=z->color();
-      z->color()=c;
-      y=z;                    /* y now points to node to be actually deleted */
-    }
-    else{                     /* y==z */
-      x_parent=y->parent();
-      if(x!=pointer(0))x->parent()=y->parent();   
-      if(root==z){
-        root=x;
-      }
-      else{
-        if(z->parent()->left()==z)z->parent()->left()=x;
-        else                      z->parent()->right()=x;
-      }
-      if(leftmost==z){
-        if(z->right()==pointer(0)){ /* z->left() must be null also */
-          leftmost=z->parent();
-        }
-        else{              
-          leftmost=minimum(x);      /* makes leftmost==header if z==root */
-        }
-      }
-      if(rightmost==z){
-        if(z->left()==pointer(0)){  /* z->right() must be null also */
-          rightmost=z->parent();
-        }
-        else{                   /* x==z->left() */
-          rightmost=maximum(x); /* makes rightmost==header if z==root */
-        }
-      }
-    }
-    if(y->color()!=red){
-      while(x!=root&&(x==pointer(0)|| x->color()==black)){
-        if(x==x_parent->left()){
-          pointer w=x_parent->right();
-          if(w->color()==red){
-            w->color()=black;
-            x_parent->color()=red;
-            rotate_left(x_parent,root);
-            w=x_parent->right();
-          }
-          if((w->left()==pointer(0)||w->left()->color()==black) &&
-             (w->right()==pointer(0)||w->right()->color()==black)){
-            w->color()=red;
-            x=x_parent;
-            x_parent=x_parent->parent();
-          } 
-          else{
-            if(w->right()==pointer(0 )
-                || w->right()->color()==black){
-              if(w->left()!=pointer(0)) w->left()->color()=black;
-              w->color()=red;
-              rotate_right(w,root);
-              w=x_parent->right();
-            }
-            w->color()=x_parent->color();
-            x_parent->color()=black;
-            if(w->right()!=pointer(0))w->right()->color()=black;
-            rotate_left(x_parent,root);
-            break;
-          }
-        } 
-        else{                   /* same as above,with right <-> left */
-          pointer w=x_parent->left();
-          if(w->color()==red){
-            w->color()=black;
-            x_parent->color()=red;
-            rotate_right(x_parent,root);
-            w=x_parent->left();
-          }
-          if((w->right()==pointer(0)||w->right()->color()==black) &&
-             (w->left()==pointer(0)||w->left()->color()==black)){
-            w->color()=red;
-            x=x_parent;
-            x_parent=x_parent->parent();
-          }
-          else{
-            if(w->left()==pointer(0)||w->left()->color()==black){
-              if(w->right()!=pointer(0))w->right()->color()=black;
-              w->color()=red;
-              rotate_left(w,root);
-              w=x_parent->left();
-            }
-            w->color()=x_parent->color();
-            x_parent->color()=black;
-            if(w->left()!=pointer(0))w->left()->color()=black;
-            rotate_right(x_parent,root);
-            break;
-          }
-        }
-      }
-      if(x!=pointer(0))x->color()=black;
-    }
-    return y;
-  }
-
-  static void restore(pointer x,pointer position,pointer header)
-  {
-    if(position->left()==pointer(0)||position->left()==header){
-      link(x,to_left,position,header);
-    }
-    else{
-      decrement(position);
-      link(x,to_right,position,header);
-    }
-  }
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-  /* invariant stuff */
-
-  static std::size_t black_count(pointer node,pointer root)
-  {
-    if(node==pointer(0))return 0;
-    std::size_t sum=0;
-    for(;;){
-      if(node->color()==black)++sum;
-      if(node==root)break;
-      node=node->parent();
-    } 
-    return sum;
-  }
-#endif
-};
-
-template<typename Super>
-struct ordered_index_node_trampoline:
-  prevent_eti<
-    Super,
-    ordered_index_node_impl<
-      typename boost::detail::allocator::rebind_to<
-        typename Super::allocator_type,
-        char
-      >::type
-    >
-  >::type
-{
-  typedef typename prevent_eti<
-    Super,
-    ordered_index_node_impl<
-      typename boost::detail::allocator::rebind_to<
-        typename Super::allocator_type,
-        char
-      >::type
-    >
-  >::type impl_type;
-};
-
-template<typename Super>
-struct ordered_index_node:Super,ordered_index_node_trampoline<Super>
-{
-private:
-  typedef ordered_index_node_trampoline<Super> trampoline;
-
-public:
-  typedef typename trampoline::impl_type     impl_type;
-  typedef typename trampoline::color_ref     impl_color_ref;
-  typedef typename trampoline::parent_ref    impl_parent_ref;
-  typedef typename trampoline::pointer       impl_pointer;
-  typedef typename trampoline::const_pointer const_impl_pointer;
-
-  impl_color_ref      color(){return trampoline::color();}
-  ordered_index_color color()const{return trampoline::color();}
-  impl_parent_ref     parent(){return trampoline::parent();}
-  impl_pointer        parent()const{return trampoline::parent();}
-  impl_pointer&       left(){return trampoline::left();}
-  impl_pointer        left()const{return trampoline::left();}
-  impl_pointer&       right(){return trampoline::right();}
-  impl_pointer        right()const{return trampoline::right();}
-
-  impl_pointer impl()
-  {
-    return static_cast<impl_pointer>(
-      static_cast<impl_type*>(static_cast<trampoline*>(this)));
-  }
-
-  const_impl_pointer impl()const
-  {
-    return static_cast<const_impl_pointer>(
-      static_cast<const impl_type*>(static_cast<const trampoline*>(this)));
-  }
-
-  static ordered_index_node* from_impl(impl_pointer x)
-  {
-    return static_cast<ordered_index_node*>(
-      static_cast<trampoline*>(&*x));
-  }
-
-  static const ordered_index_node* from_impl(const_impl_pointer x)
-  {
-    return static_cast<const ordered_index_node*>(
-      static_cast<const trampoline*>(&*x));
-  }
-
-  /* interoperability with bidir_node_iterator */
-
-  static void increment(ordered_index_node*& x)
-  {
-    impl_pointer xi=x->impl();
-    trampoline::increment(xi);
-    x=from_impl(xi);
-  }
-
-  static void decrement(ordered_index_node*& x)
-  {
-    impl_pointer xi=x->impl();
-    trampoline::decrement(xi);
-    x=from_impl(xi);
-  }
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/ord_index_ops.hpp b/SRC/Boost/boost/multi_index/detail/ord_index_ops.hpp
deleted file mode 100755
index 84a4a25..0000000
--- a/SRC/Boost/boost/multi_index/detail/ord_index_ops.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- *
- * The internal implementation of red-black trees is based on that of SGI STL
- * stl_tree.h file: 
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- *
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_ORD_INDEX_OPS_HPP
-#define BOOST_MULTI_INDEX_DETAIL_ORD_INDEX_OPS_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <utility>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Common code for index memfuns having templatized and
- * non-templatized versions.
- */
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleKey,typename CompatibleCompare
->
-inline Node* ordered_index_find(
-  Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x,
-  const CompatibleCompare& comp)
-{
-  Node* y0=y;
-
-  while (top){
-    if(!comp(key(top->value()),x)){
-      y=top;
-      top=Node::from_impl(top->left());
-    }
-    else top=Node::from_impl(top->right());
-  }
-    
-  return (y==y0||comp(x,key(y->value())))?y0:y;
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleKey,typename CompatibleCompare
->
-inline Node* ordered_index_lower_bound(
-  Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x,
-  const CompatibleCompare& comp)
-{
-  while(top){
-    if(!comp(key(top->value()),x)){
-      y=top;
-      top=Node::from_impl(top->left());
-    }
-    else top=Node::from_impl(top->right());
-  }
-
-  return y;
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleKey,typename CompatibleCompare
->
-inline Node* ordered_index_upper_bound(
-  Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x,
-  const CompatibleCompare& comp)
-{
-  while(top){
-    if(comp(x,key(top->value()))){
-      y=top;
-      top=Node::from_impl(top->left());
-    }
-    else top=Node::from_impl(top->right());
-  }
-
-  return y;
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleKey,typename CompatibleCompare
->
-inline std::pair<Node*,Node*> ordered_index_equal_range(
-  Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x,
-  const CompatibleCompare& comp)
-{
-  while(top){
-    if(comp(key(top->value()),x)){
-      top=Node::from_impl(top->right());
-    }
-    else if(comp(x,key(top->value()))){
-      y=top;
-      top=Node::from_impl(top->left());
-    }
-    else{
-      return std::pair<Node*,Node*>(
-        ordered_index_lower_bound(Node::from_impl(top->left()),top,key,x,comp),
-        ordered_index_upper_bound(Node::from_impl(top->right()),y,key,x,comp));
-    }
-  }
-
-  return std::pair<Node*,Node*>(y,y);
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/prevent_eti.hpp b/SRC/Boost/boost/multi_index/detail/prevent_eti.hpp
deleted file mode 100755
index efc2fd1..0000000
--- a/SRC/Boost/boost/multi_index/detail/prevent_eti.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_PREVENT_ETI_HPP
-#define BOOST_MULTI_INDEX_DETAIL_PREVENT_ETI_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/aux_/msvc_never_true.hpp>
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-/* See
- * http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Effective_MPL
- * Item 5.6, Beware of the 'early template instantiation' trap.
- */
-
-template<typename Type,typename Construct>
-struct prevent_eti
-{
-  typedef typename mpl::if_<
-    mpl::aux::msvc_never_true<Type>,
-    mpl::integral_c<int,0>,
-    Construct
-  >::type type;
-};
-#else
-template<typename Type,typename Construct>
-struct prevent_eti
-{
-  typedef Construct type;
-};
-#endif
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/safe_ctr_proxy.hpp b/SRC/Boost/boost/multi_index/detail/safe_ctr_proxy.hpp
deleted file mode 100755
index ea71324..0000000
--- a/SRC/Boost/boost/multi_index/detail/safe_ctr_proxy.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_SAFE_CTR_PROXY_HPP
-#define BOOST_MULTI_INDEX_DETAIL_SAFE_CTR_PROXY_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-#include <boost/multi_index/detail/safe_mode.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* A safe iterator is instantiated in the form
- * safe_iterator<Iterator,Container>: MSVC++ 6.0 has serious troubles with
- * the resulting symbols names, given that index names (which stand for
- * Container) are fairly long themselves. safe_ctr_proxy does not statically
- * depend on Container, and provides the necessary methods (begin and end) to
- * the safe mode framework via an abstract interface. With safe_ctr_proxy,
- * instead of deriving from safe_container<Container> the following base class
- * must be used:
- *
- *   safe_ctr_proxy_impl<Iterator,Container>
- *
- * where Iterator is the type of the *unsafe* iterator being wrapped.
- * The corresponding safe iterator instantiation is then
- * 
- *   safe_iterator<Iterator,safe_ctr_proxy<Iterator> >,
- *
- * which does not include the name of Container.
- */
-
-template<typename Iterator>
-class safe_ctr_proxy:
-  public safe_mode::safe_container<safe_ctr_proxy<Iterator> >
-{
-public:
-  typedef safe_mode::safe_iterator<Iterator,safe_ctr_proxy> iterator;
-  typedef iterator                                          const_iterator;
-
-  iterator       begin(){return begin_impl();}
-  const_iterator begin()const{return begin_impl();}
-  iterator       end(){return end_impl();}
-  const_iterator end()const{return end_impl();}
-
-protected:
-  virtual iterator       begin_impl()=0;
-  virtual const_iterator begin_impl()const=0;
-  virtual iterator       end_impl()=0;
-  virtual const_iterator end_impl()const=0;
-};
-
-template<typename Iterator,typename Container>
-class safe_ctr_proxy_impl:public safe_ctr_proxy<Iterator>
-{
-  typedef safe_ctr_proxy<Iterator> super;
-  typedef Container                container_type;
-
-public:
-  typedef typename super::iterator       iterator;
-  typedef typename super::const_iterator const_iterator;
-
-  virtual iterator       begin_impl(){return container().begin();}
-  virtual const_iterator begin_impl()const{return container().begin();}
-  virtual iterator       end_impl(){return container().end();}
-  virtual const_iterator end_impl()const{return container().end();}
-
-private:
-  container_type& container()
-  {
-    return *static_cast<container_type*>(this);
-  }
-  
-  const container_type& container()const
-  {
-    return *static_cast<const container_type*>(this);
-  }
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif /* workaround */
-
-#endif /* BOOST_MULTI_INDEX_ENABLE_SAFE_MODE */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/safe_mode.hpp b/SRC/Boost/boost/multi_index/detail/safe_mode.hpp
deleted file mode 100755
index fbd823e..0000000
--- a/SRC/Boost/boost/multi_index/detail/safe_mode.hpp
+++ /dev/null
@@ -1,574 +0,0 @@
-/* Copyright 2003-2009 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_SAFE_MODE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_SAFE_MODE_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-/* Safe mode machinery, in the spirit of Cay Hortmann's "Safe STL"
- * (http://www.horstmann.com/safestl.html).
- * In this mode, containers of type Container are derived from
- * safe_container<Container>, and their corresponding iterators
- * are wrapped with safe_iterator. These classes provide
- * an internal record of which iterators are at a given moment associated
- * to a given container, and properly mark the iterators as invalid
- * when the container gets destroyed.
- * Iterators are chained in a single attached list, whose header is
- * kept by the container. More elaborate data structures would yield better
- * performance, but I decided to keep complexity to a minimum since
- * speed is not an issue here.
- * Safe mode iterators automatically check that only proper operations
- * are performed on them: for instance, an invalid iterator cannot be
- * dereferenced. Additionally, a set of utilty macros and functions are
- * provided that serve to implement preconditions and cooperate with
- * the framework within the container.
- * Iterators can also be unchecked, i.e. they do not have info about
- * which container they belong in. This situation arises when the iterator
- * is restored from a serialization archive: only information on the node
- * is available, and it is not possible to determine to which container
- * the iterator is associated to. The only sensible policy is to assume
- * unchecked iterators are valid, though this can certainly generate false
- * positive safe mode checks.
- * This is not a full-fledged safe mode framework, and is only intended
- * for use within the limits of Boost.MultiIndex.
- */
-
-/* Assertion macros. These resolve to no-ops if
- * !defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE).
- */
-
-#if !defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#undef BOOST_MULTI_INDEX_SAFE_MODE_ASSERT
-#define BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(expr,error_code) ((void)0)
-#else
-#if !defined(BOOST_MULTI_INDEX_SAFE_MODE_ASSERT)
-#include <boost/assert.hpp>
-#define BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(expr,error_code) BOOST_ASSERT(expr)
-#endif
-#endif
-
-#define BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it)                           \
-  BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(                                        \
-    safe_mode::check_valid_iterator(it),                                     \
-    safe_mode::invalid_iterator);
-
-#define BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(it)                 \
-  BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(                                        \
-    safe_mode::check_dereferenceable_iterator(it),                           \
-    safe_mode::not_dereferenceable_iterator);
-
-#define BOOST_MULTI_INDEX_CHECK_INCREMENTABLE_ITERATOR(it)                   \
-  BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(                                        \
-    safe_mode::check_incrementable_iterator(it),                             \
-    safe_mode::not_incrementable_iterator);
-
-#define BOOST_MULTI_INDEX_CHECK_DECREMENTABLE_ITERATOR(it)                   \
-  BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(                                        \
-    safe_mode::check_decrementable_iterator(it),                             \
-    safe_mode::not_decrementable_iterator);
-
-#define BOOST_MULTI_INDEX_CHECK_IS_OWNER(it,cont)                            \
-  BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(                                        \
-    safe_mode::check_is_owner(it,cont),                                      \
-    safe_mode::not_owner);
-
-#define BOOST_MULTI_INDEX_CHECK_SAME_OWNER(it0,it1)                          \
-  BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(                                        \
-    safe_mode::check_same_owner(it0,it1),                                    \
-    safe_mode::not_same_owner);
-
-#define BOOST_MULTI_INDEX_CHECK_VALID_RANGE(it0,it1)                         \
-  BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(                                        \
-    safe_mode::check_valid_range(it0,it1),                                   \
-    safe_mode::invalid_range);
-
-#define BOOST_MULTI_INDEX_CHECK_OUTSIDE_RANGE(it,it0,it1)                    \
-  BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(                                        \
-    safe_mode::check_outside_range(it,it0,it1),                              \
-    safe_mode::inside_range);
-
-#define BOOST_MULTI_INDEX_CHECK_IN_BOUNDS(it,n)                              \
-  BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(                                        \
-    safe_mode::check_in_bounds(it,n),                                        \
-    safe_mode::out_of_bounds);
-
-#define BOOST_MULTI_INDEX_CHECK_DIFFERENT_CONTAINER(cont0,cont1)             \
-  BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(                                        \
-    safe_mode::check_different_container(cont0,cont1),                       \
-    safe_mode::same_container);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <algorithm>
-#include <boost/detail/iterator.hpp>
-#include <boost/multi_index/detail/access_specifier.hpp>
-#include <boost/multi_index/detail/iter_adaptor.hpp>
-#include <boost/multi_index/safe_mode_errors.hpp>
-#include <boost/noncopyable.hpp>
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/serialization/split_member.hpp>
-#endif
-
-#if defined(BOOST_HAS_THREADS)
-#include <boost/detail/lightweight_mutex.hpp>
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace safe_mode{
-
-/* Checking routines. Assume the best for unchecked iterators
- * (i.e. they pass the checking when there is not enough info
- * to know.)
- */
-
-template<typename Iterator>
-inline bool check_valid_iterator(const Iterator& it)
-{
-  return it.valid()||it.unchecked();
-}
-
-template<typename Iterator>
-inline bool check_dereferenceable_iterator(const Iterator& it)
-{
-  return it.valid()&&it!=it.owner()->end()||it.unchecked();
-}
-
-template<typename Iterator>
-inline bool check_incrementable_iterator(const Iterator& it)
-{
-  return it.valid()&&it!=it.owner()->end()||it.unchecked();
-}
-
-template<typename Iterator>
-inline bool check_decrementable_iterator(const Iterator& it)
-{
-  return it.valid()&&it!=it.owner()->begin()||it.unchecked();
-}
-
-template<typename Iterator>
-inline bool check_is_owner(
-  const Iterator& it,const typename Iterator::container_type& cont)
-{
-  return it.valid()&&it.owner()==&cont||it.unchecked();
-}
-
-template<typename Iterator>
-inline bool check_same_owner(const Iterator& it0,const Iterator& it1)
-{
-  return it0.valid()&&it1.valid()&&it0.owner()==it1.owner()||
-         it0.unchecked()||it1.unchecked();
-}
-
-template<typename Iterator>
-inline bool check_valid_range(const Iterator& it0,const Iterator& it1)
-{
-  if(!check_same_owner(it0,it1))return false;
-
-  if(it0.valid()){
-    Iterator last=it0.owner()->end();
-    if(it1==last)return true;
-
-    for(Iterator first=it0;first!=last;++first){
-      if(first==it1)return true;
-    }
-    return false;
-  }
-  return true;
-}
-
-template<typename Iterator>
-inline bool check_outside_range(
-  const Iterator& it,const Iterator& it0,const Iterator& it1)
-{
-  if(!check_same_owner(it0,it1))return false;
-
-  if(it0.valid()){
-    Iterator last=it0.owner()->end();
-    bool found=false;
-
-    Iterator first=it0;
-    for(;first!=last;++first){
-      if(first==it1)break;
-    
-      /* crucial that this check goes after previous break */
-    
-      if(first==it)found=true;
-    }
-    if(first!=it1)return false;
-    return !found;
-  }
-  return true;
-}
-
-template<typename Iterator,typename Difference>
-inline bool check_in_bounds(const Iterator& it,Difference n)
-{
-  if(it.unchecked())return true;
-  if(!it.valid())   return false;
-  if(n>0)           return it.owner()->end()-it>=n;
-  else              return it.owner()->begin()-it<=n;
-}
-
-template<typename Container>
-inline bool check_different_container(
-  const Container& cont0,const Container& cont1)
-{
-  return &cont0!=&cont1;
-}
-
-/* Invalidates all iterators equivalent to that given. Safe containers
- * must call this when deleting elements: the safe mode framework cannot
- * perform this operation automatically without outside help.
- */
-
-template<typename Iterator>
-inline void detach_equivalent_iterators(Iterator& it)
-{
-  if(it.valid()){
-    {
-#if defined(BOOST_HAS_THREADS)
-      boost::detail::lightweight_mutex::scoped_lock lock(it.cont->mutex);
-#endif
-
-      Iterator *prev_,*next_;
-      for(
-        prev_=static_cast<Iterator*>(&it.cont->header);
-        (next_=static_cast<Iterator*>(prev_->next))!=0;){
-        if(next_!=&it&&*next_==it){
-          prev_->next=next_->next;
-          next_->cont=0;
-        }
-        else prev_=next_;
-      }
-    }
-    it.detach();
-  }
-}
-
-template<typename Container> class safe_container; /* fwd decl. */
-
-} /* namespace multi_index::safe_mode */
-
-namespace detail{
-
-class safe_container_base;                 /* fwd decl. */
-
-class safe_iterator_base
-{
-public:
-  bool valid()const{return cont!=0;}
-  bool unchecked()const{return unchecked_;}
-
-  inline void detach();
-
-  void uncheck()
-  {
-    detach();
-    unchecked_=true;
-  }
-
-protected:
-  safe_iterator_base():cont(0),next(0),unchecked_(false){}
-
-  explicit safe_iterator_base(safe_container_base* cont_):
-    unchecked_(false)
-  {
-    attach(cont_);
-  }
-
-  safe_iterator_base(const safe_iterator_base& it):
-    unchecked_(it.unchecked_)
-  {
-    attach(it.cont);
-  }
-
-  safe_iterator_base& operator=(const safe_iterator_base& it)
-  {
-    unchecked_=it.unchecked_;
-    safe_container_base* new_cont=it.cont;
-    if(cont!=new_cont){
-      detach();
-      attach(new_cont);
-    }
-    return *this;
-  }
-
-  ~safe_iterator_base()
-  {
-    detach();
-  }
-
-  const safe_container_base* owner()const{return cont;}
-
-BOOST_MULTI_INDEX_PRIVATE_IF_MEMBER_TEMPLATE_FRIENDS:
-  friend class safe_container_base;
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-  template<typename>          friend class safe_mode::safe_container;
-  template<typename Iterator> friend
-    void safe_mode::detach_equivalent_iterators(Iterator&);
-#endif
-
-  inline void attach(safe_container_base* cont_);
-
-  safe_container_base* cont;
-  safe_iterator_base*  next;
-  bool                 unchecked_;
-};
-
-class safe_container_base:private noncopyable
-{
-public:
-  safe_container_base(){}
-
-BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS:
-  friend class safe_iterator_base;
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-  template<typename Iterator> friend
-    void safe_mode::detach_equivalent_iterators(Iterator&);
-#endif
-
-  ~safe_container_base()
-  {
-    /* Detaches all remaining iterators, which by now will
-     * be those pointing to the end of the container.
-     */
-
-    for(safe_iterator_base* it=header.next;it;it=it->next)it->cont=0;
-    header.next=0;
-  }
-
-  void swap(safe_container_base& x)
-  {
-    for(safe_iterator_base* it0=header.next;it0;it0=it0->next)it0->cont=&x;
-    for(safe_iterator_base* it1=x.header.next;it1;it1=it1->next)it1->cont=this;
-    std::swap(header.cont,x.header.cont);
-    std::swap(header.next,x.header.next);
-  }
-
-  safe_iterator_base header;
-
-#if defined(BOOST_HAS_THREADS)
-  boost::detail::lightweight_mutex mutex;
-#endif
-};
-
-void safe_iterator_base::attach(safe_container_base* cont_)
-{
-  cont=cont_;
-  if(cont){
-#if defined(BOOST_HAS_THREADS)
-    boost::detail::lightweight_mutex::scoped_lock lock(cont->mutex);
-#endif
-
-    next=cont->header.next;
-    cont->header.next=this;
-  }
-}
-
-void safe_iterator_base::detach()
-{
-  if(cont){
-#if defined(BOOST_HAS_THREADS)
-    boost::detail::lightweight_mutex::scoped_lock lock(cont->mutex);
-#endif
-
-    safe_iterator_base *prev_,*next_;
-    for(prev_=&cont->header;(next_=prev_->next)!=this;prev_=next_){}
-    prev_->next=next;
-    cont=0;
-  }
-}
-
-} /* namespace multi_index::detail */
-
-namespace safe_mode{
-
-/* In order to enable safe mode on a container:
- *   - The container must derive from safe_container<container_type>,
- *   - iterators must be generated via safe_iterator, which adapts a
- *     preexistent unsafe iterator class.
- */
- 
-template<typename Container>
-class safe_container;
-
-template<typename Iterator,typename Container>
-class safe_iterator:
-  public detail::iter_adaptor<safe_iterator<Iterator,Container>,Iterator>,
-  public detail::safe_iterator_base
-{
-  typedef detail::iter_adaptor<safe_iterator,Iterator> super;
-  typedef detail::safe_iterator_base                   safe_super;
-
-public:
-  typedef Container                                    container_type;
-  typedef typename Iterator::reference                 reference;
-  typedef typename Iterator::difference_type           difference_type;
-
-  safe_iterator(){}
-  explicit safe_iterator(safe_container<container_type>* cont_):
-    safe_super(cont_){}
-  template<typename T0>
-  safe_iterator(const T0& t0,safe_container<container_type>* cont_):
-    super(Iterator(t0)),safe_super(cont_){}
-  template<typename T0,typename T1>
-  safe_iterator(
-    const T0& t0,const T1& t1,safe_container<container_type>* cont_):
-    super(Iterator(t0,t1)),safe_super(cont_){}
-
-  safe_iterator& operator=(const safe_iterator& x)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(x);
-    this->base_reference()=x.base_reference();
-    safe_super::operator=(x);
-    return *this;
-  }
-
-  const container_type* owner()const
-  {
-    return
-      static_cast<const container_type*>(
-        static_cast<const safe_container<container_type>*>(
-          this->safe_super::owner()));
-  }
-
-  /* get_node is not to be used by the user */
-
-  typedef typename Iterator::node_type node_type;
-
-  node_type* get_node()const{return this->base_reference().get_node();}
-
-private:
-  friend class boost::multi_index::detail::iter_adaptor_access;
-
-  reference dereference()const
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(*this);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(*this);
-    return *(this->base_reference());
-  }
-
-  bool equal(const safe_iterator& x)const
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(*this);
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(x);
-    BOOST_MULTI_INDEX_CHECK_SAME_OWNER(*this,x);
-    return this->base_reference()==x.base_reference();
-  }
-
-  void increment()
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(*this);
-    BOOST_MULTI_INDEX_CHECK_INCREMENTABLE_ITERATOR(*this);
-    ++(this->base_reference());
-  }
-
-  void decrement()
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(*this);
-    BOOST_MULTI_INDEX_CHECK_DECREMENTABLE_ITERATOR(*this);
-    --(this->base_reference());
-  }
-
-  void advance(difference_type n)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(*this);
-    BOOST_MULTI_INDEX_CHECK_IN_BOUNDS(*this,n);
-    this->base_reference()+=n;
-  }
-
-  difference_type distance_to(const safe_iterator& x)const
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(*this);
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(x);
-    BOOST_MULTI_INDEX_CHECK_SAME_OWNER(*this,x);
-    return x.base_reference()-this->base_reference();
-  }
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  /* Serialization. Note that Iterator::save and Iterator:load
-   * are assumed to be defined and public: at first sight it seems
-   * like we could have resorted to the public serialization interface
-   * for doing the forwarding to the adapted iterator class:
-   *   ar<<base_reference();
-   *   ar>>base_reference();
-   * but this would cause incompatibilities if a saving
-   * program is in safe mode and the loading program is not, or
-   * viceversa --in safe mode, the archived iterator data is one layer
-   * deeper, this is especially relevant with XML archives.
-   * It'd be nice if Boost.Serialization provided some forwarding
-   * facility for use by adaptor classes.
-   */ 
-
-  friend class boost::serialization::access;
-
-  BOOST_SERIALIZATION_SPLIT_MEMBER()
-
-  template<class Archive>
-  void save(Archive& ar,const unsigned int version)const
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(*this);
-    this->base_reference().save(ar,version);
-  }
-
-  template<class Archive>
-  void load(Archive& ar,const unsigned int version)
-  {
-    this->base_reference().load(ar,version);
-    safe_super::uncheck();
-  }
-#endif
-};
-
-template<typename Container>
-class safe_container:public detail::safe_container_base
-{
-  typedef detail::safe_container_base super;
-
-public:
-  void detach_dereferenceable_iterators()
-  {
-    typedef typename Container::iterator iterator;
-
-    iterator end_=static_cast<Container*>(this)->end();
-    iterator *prev_,*next_;
-    for(
-      prev_=static_cast<iterator*>(&this->header);
-      (next_=static_cast<iterator*>(prev_->next))!=0;){
-      if(*next_!=end_){
-        prev_->next=next_->next;
-        next_->cont=0;
-      }
-      else prev_=next_;
-    }
-  }
-
-  void swap(safe_container<Container>& x)
-  {
-    super::swap(x);
-  }
-};
-
-} /* namespace multi_index::safe_mode */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif /* BOOST_MULTI_INDEX_ENABLE_SAFE_MODE */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/scope_guard.hpp b/SRC/Boost/boost/multi_index/detail/scope_guard.hpp
deleted file mode 100755
index f376908..0000000
--- a/SRC/Boost/boost/multi_index/detail/scope_guard.hpp
+++ /dev/null
@@ -1,452 +0,0 @@
-/* Copyright 2003-2011 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_SCOPE_GUARD_HPP
-#define BOOST_MULTI_INDEX_DETAIL_SCOPE_GUARD_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/detail/no_exceptions_support.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Until some official version of the ScopeGuard idiom makes it into Boost,
- * we locally define our own. This is a merely reformated version of
- * ScopeGuard.h as defined in:
- *   Alexandrescu, A., Marginean, P.:"Generic<Programming>: Change the Way You
- *     Write Exception-Safe Code - Forever", C/C++ Users Jornal, Dec 2000,
- *     http://www.drdobbs.com/184403758
- * with the following modifications:
- *   - General pretty formatting (pretty to my taste at least.)
- *   - Naming style changed to standard C++ library requirements.
- *   - Added scope_guard_impl4 and obj_scope_guard_impl3, (Boost.MultiIndex
- *     needs them). A better design would provide guards for many more
- *     arguments through the Boost Preprocessor Library.
- *   - Added scope_guard_impl_base::touch (see below.)
- *   - Removed RefHolder and ByRef, whose functionality is provided
- *     already by Boost.Ref.
- *   - Removed static make_guard's and make_obj_guard's, so that the code
- *     will work even if BOOST_NO_MEMBER_TEMPLATES is defined. This forces
- *     us to move some private ctors to public, though.
- *
- * NB: CodeWarrior Pro 8 seems to have problems looking up safe_execute
- * without an explicit qualification.
- * 
- * We also define the following variants of the idiom:
- * 
- *   - make_guard_if_c<bool>( ... )
- *   - make_guard_if<IntegralConstant>( ... )
- *   - make_obj_guard_if_c<bool>( ... )
- *   - make_obj_guard_if<IntegralConstant>( ... )
- * which may be used with a compile-time constant to yield
- * a "null_guard" if the boolean compile-time parameter is false,
- * or conversely, the guard is only constructed if the constant is true.
- * This is useful to avoid extra tagging, because the returned
- * null_guard can be optimzed comlpetely away by the compiler.
- */
-
-class scope_guard_impl_base
-{
-public:
-  scope_guard_impl_base():dismissed_(false){}
-  void dismiss()const{dismissed_=true;}
-
-  /* This helps prevent some "unused variable" warnings under, for instance,
-   * GCC 3.2.
-   */
-  void touch()const{}
-
-protected:
-  ~scope_guard_impl_base(){}
-
-  scope_guard_impl_base(const scope_guard_impl_base& other):
-    dismissed_(other.dismissed_)
-  {
-    other.dismiss();
-  }
-
-  template<typename J>
-  static void safe_execute(J& j){
-    BOOST_TRY{
-      if(!j.dismissed_)j.execute();
-    }
-    BOOST_CATCH(...){}
-    BOOST_CATCH_END
-  }
-  
-  mutable bool dismissed_;
-
-private:
-  scope_guard_impl_base& operator=(const scope_guard_impl_base&);
-};
-
-typedef const scope_guard_impl_base& scope_guard;
-
-struct null_guard : public scope_guard_impl_base
-{
-    template< class T1 >
-    null_guard( const T1& )
-    { }
-
-    template< class T1, class T2 >
-    null_guard( const T1&, const T2& )
-    { }
-
-    template< class T1, class T2, class T3 >
-    null_guard( const T1&, const T2&, const T3& )
-    { }
-
-    template< class T1, class T2, class T3, class T4 >
-    null_guard( const T1&, const T2&, const T3&, const T4& )
-    { }
-
-    template< class T1, class T2, class T3, class T4, class T5 >
-    null_guard( const T1&, const T2&, const T3&, const T4&, const T5& )
-    { }
-};
-
-template< bool cond, class T >
-struct null_guard_return
-{
-    typedef typename boost::mpl::if_c<cond,T,null_guard>::type type;
-};
-
-template<typename F>
-class scope_guard_impl0:public scope_guard_impl_base
-{
-public:
-  scope_guard_impl0(F fun):fun_(fun){}
-  ~scope_guard_impl0(){scope_guard_impl_base::safe_execute(*this);}
-  void execute(){fun_();}
-
-protected:
-
-  F fun_;
-};
-
-template<typename F> 
-inline scope_guard_impl0<F> make_guard(F fun)
-{
-  return scope_guard_impl0<F>(fun);
-}
-
-template<bool cond, typename F> 
-inline typename null_guard_return<cond,scope_guard_impl0<F> >::type  
-make_guard_if_c(F fun)
-{
-  return typename null_guard_return<cond,scope_guard_impl0<F> >::type(fun);
-}
-
-template<typename C, typename F> 
-inline typename null_guard_return<C::value,scope_guard_impl0<F> >::type  
-make_guard_if(F fun)
-{
-  return make_guard_if<C::value>(fun);
-}
-
-template<typename F,typename P1>
-class scope_guard_impl1:public scope_guard_impl_base
-{
-public:
-  scope_guard_impl1(F fun,P1 p1):fun_(fun),p1_(p1){}
-  ~scope_guard_impl1(){scope_guard_impl_base::safe_execute(*this);}
-  void execute(){fun_(p1_);}
-
-protected:
-  F        fun_;
-  const P1 p1_;
-};
-
-template<typename F,typename P1> 
-inline scope_guard_impl1<F,P1> make_guard(F fun,P1 p1)
-{
-  return scope_guard_impl1<F,P1>(fun,p1);
-}
-
-template<bool cond, typename F,typename P1> 
-inline typename null_guard_return<cond,scope_guard_impl1<F,P1> >::type 
-make_guard_if_c(F fun,P1 p1)
-{
-  return typename null_guard_return<cond,scope_guard_impl1<F,P1> >::type(fun,p1);
-}
-
-template<typename C, typename F,typename P1> 
-inline typename null_guard_return<C::value,scope_guard_impl1<F,P1> >::type 
-make_guard_if(F fun,P1 p1)
-{
-  return make_guard_if_c<C::value>(fun,p1);
-}
-
-template<typename F,typename P1,typename P2>
-class scope_guard_impl2:public scope_guard_impl_base
-{
-public:
-  scope_guard_impl2(F fun,P1 p1,P2 p2):fun_(fun),p1_(p1),p2_(p2){}
-  ~scope_guard_impl2(){scope_guard_impl_base::safe_execute(*this);}
-  void execute(){fun_(p1_,p2_);}
-
-protected:
-  F        fun_;
-  const P1 p1_;
-  const P2 p2_;
-};
-
-template<typename F,typename P1,typename P2>
-inline scope_guard_impl2<F,P1,P2> make_guard(F fun,P1 p1,P2 p2)
-{
-  return scope_guard_impl2<F,P1,P2>(fun,p1,p2);
-}
-
-template<bool cond, typename F,typename P1,typename P2>
-inline typename null_guard_return<cond,scope_guard_impl2<F,P1,P2> >::type
-make_guard_if_c(F fun,P1 p1,P2 p2)
-{
-  return typename null_guard_return<cond,scope_guard_impl2<F,P1,P2> >::type(fun,p1,p2);
-}
-
-template<typename C, typename F,typename P1,typename P2>
-inline typename null_guard_return<C::value,scope_guard_impl2<F,P1,P2> >::type
-make_guard_if(F fun,P1 p1,P2 p2)
-{
-  return make_guard_if_c<C::value>(fun,p1,p2);
-}
-
-template<typename F,typename P1,typename P2,typename P3>
-class scope_guard_impl3:public scope_guard_impl_base
-{
-public:
-  scope_guard_impl3(F fun,P1 p1,P2 p2,P3 p3):fun_(fun),p1_(p1),p2_(p2),p3_(p3){}
-  ~scope_guard_impl3(){scope_guard_impl_base::safe_execute(*this);}
-  void execute(){fun_(p1_,p2_,p3_);}
-
-protected:
-  F        fun_;
-  const P1 p1_;
-  const P2 p2_;
-  const P3 p3_;
-};
-
-template<typename F,typename P1,typename P2,typename P3>
-inline scope_guard_impl3<F,P1,P2,P3> make_guard(F fun,P1 p1,P2 p2,P3 p3)
-{
-  return scope_guard_impl3<F,P1,P2,P3>(fun,p1,p2,p3);
-}
-
-template<bool cond,typename F,typename P1,typename P2,typename P3>
-inline typename null_guard_return<cond,scope_guard_impl3<F,P1,P2,P3> >::type 
-make_guard_if_c(F fun,P1 p1,P2 p2,P3 p3)
-{
-  return typename null_guard_return<cond,scope_guard_impl3<F,P1,P2,P3> >::type(fun,p1,p2,p3);
-}
-
-template<typename C,typename F,typename P1,typename P2,typename P3>
-inline typename null_guard_return< C::value,scope_guard_impl3<F,P1,P2,P3> >::type 
-make_guard_if(F fun,P1 p1,P2 p2,P3 p3)
-{
-  return make_guard_if_c<C::value>(fun,p1,p2,p3);
-}
-
-template<typename F,typename P1,typename P2,typename P3,typename P4>
-class scope_guard_impl4:public scope_guard_impl_base
-{
-public:
-  scope_guard_impl4(F fun,P1 p1,P2 p2,P3 p3,P4 p4):
-    fun_(fun),p1_(p1),p2_(p2),p3_(p3),p4_(p4){}
-  ~scope_guard_impl4(){scope_guard_impl_base::safe_execute(*this);}
-  void execute(){fun_(p1_,p2_,p3_,p4_);}
-
-protected:
-  F        fun_;
-  const P1 p1_;
-  const P2 p2_;
-  const P3 p3_;
-  const P4 p4_;
-};
-
-template<typename F,typename P1,typename P2,typename P3,typename P4>
-inline scope_guard_impl4<F,P1,P2,P3,P4> make_guard(
-  F fun,P1 p1,P2 p2,P3 p3,P4 p4)
-{
-  return scope_guard_impl4<F,P1,P2,P3,P4>(fun,p1,p2,p3,p4);
-}
-
-template<bool cond, typename F,typename P1,typename P2,typename P3,typename P4>
-inline typename null_guard_return<cond,scope_guard_impl4<F,P1,P2,P3,P4> >::type 
-make_guard_if_c(
-  F fun,P1 p1,P2 p2,P3 p3,P4 p4)
-{
-  return typename null_guard_return<cond,scope_guard_impl4<F,P1,P2,P3,P4> >::type(fun,p1,p2,p3,p4);
-}
-
-template<typename C, typename F,typename P1,typename P2,typename P3,typename P4>
-inline typename null_guard_return<C::value,scope_guard_impl4<F,P1,P2,P3,P4> >::type 
-make_guard_if(
-  F fun,P1 p1,P2 p2,P3 p3,P4 p4)
-{
-  return make_guard_if_c<C::value>(fun,p1,p2,p3,p4);
-}
-
-template<class Obj,typename MemFun>
-class obj_scope_guard_impl0:public scope_guard_impl_base
-{
-public:
-  obj_scope_guard_impl0(Obj& obj,MemFun mem_fun):obj_(obj),mem_fun_(mem_fun){}
-  ~obj_scope_guard_impl0(){scope_guard_impl_base::safe_execute(*this);}
-  void execute(){(obj_.*mem_fun_)();}
-
-protected:
-  Obj&   obj_;
-  MemFun mem_fun_;
-};
-
-template<class Obj,typename MemFun>
-inline obj_scope_guard_impl0<Obj,MemFun> make_obj_guard(Obj& obj,MemFun mem_fun)
-{
-  return obj_scope_guard_impl0<Obj,MemFun>(obj,mem_fun);
-}
-
-template<bool cond, class Obj,typename MemFun>
-inline typename null_guard_return<cond,obj_scope_guard_impl0<Obj,MemFun> >::type 
-make_obj_guard_if_c(Obj& obj,MemFun mem_fun)
-{
-  return typename null_guard_return<cond,obj_scope_guard_impl0<Obj,MemFun> >::type(obj,mem_fun);
-}
-
-template<typename C, class Obj,typename MemFun>
-inline typename null_guard_return<C::value,obj_scope_guard_impl0<Obj,MemFun> >::type 
-make_obj_guard_if(Obj& obj,MemFun mem_fun)
-{
-  return make_obj_guard_if_c<C::value>(obj,mem_fun);
-}
-
-template<class Obj,typename MemFun,typename P1>
-class obj_scope_guard_impl1:public scope_guard_impl_base
-{
-public:
-  obj_scope_guard_impl1(Obj& obj,MemFun mem_fun,P1 p1):
-    obj_(obj),mem_fun_(mem_fun),p1_(p1){}
-  ~obj_scope_guard_impl1(){scope_guard_impl_base::safe_execute(*this);}
-  void execute(){(obj_.*mem_fun_)(p1_);}
-
-protected:
-  Obj&     obj_;
-  MemFun   mem_fun_;
-  const P1 p1_;
-};
-
-template<class Obj,typename MemFun,typename P1>
-inline obj_scope_guard_impl1<Obj,MemFun,P1> make_obj_guard(
-  Obj& obj,MemFun mem_fun,P1 p1)
-{
-  return obj_scope_guard_impl1<Obj,MemFun,P1>(obj,mem_fun,p1);
-}
-
-template<bool cond, class Obj,typename MemFun,typename P1>
-inline typename null_guard_return<cond,obj_scope_guard_impl1<Obj,MemFun,P1> >::type 
-make_obj_guard_if_c(  Obj& obj,MemFun mem_fun,P1 p1)
-{
-  return typename null_guard_return<cond,obj_scope_guard_impl1<Obj,MemFun,P1> >::type(obj,mem_fun,p1);
-}
-
-template<typename C, class Obj,typename MemFun,typename P1>
-inline typename null_guard_return<C::value,obj_scope_guard_impl1<Obj,MemFun,P1> >::type 
-make_obj_guard_if( Obj& obj,MemFun mem_fun,P1 p1)
-{
-  return make_obj_guard_if_c<C::value>(obj,mem_fun,p1);
-}
-
-template<class Obj,typename MemFun,typename P1,typename P2>
-class obj_scope_guard_impl2:public scope_guard_impl_base
-{
-public:
-  obj_scope_guard_impl2(Obj& obj,MemFun mem_fun,P1 p1,P2 p2):
-    obj_(obj),mem_fun_(mem_fun),p1_(p1),p2_(p2)
-  {}
-  ~obj_scope_guard_impl2(){scope_guard_impl_base::safe_execute(*this);}
-  void execute(){(obj_.*mem_fun_)(p1_,p2_);}
-
-protected:
-  Obj&     obj_;
-  MemFun   mem_fun_;
-  const P1 p1_;
-  const P2 p2_;
-};
-
-template<class Obj,typename MemFun,typename P1,typename P2>
-inline obj_scope_guard_impl2<Obj,MemFun,P1,P2>
-make_obj_guard(Obj& obj,MemFun mem_fun,P1 p1,P2 p2)
-{
-  return obj_scope_guard_impl2<Obj,MemFun,P1,P2>(obj,mem_fun,p1,p2);
-}
-
-template<bool cond, class Obj,typename MemFun,typename P1,typename P2>
-inline typename null_guard_return<cond,obj_scope_guard_impl2<Obj,MemFun,P1,P2> >::type
-make_obj_guard_if_c(Obj& obj,MemFun mem_fun,P1 p1,P2 p2)
-{
-  return typename null_guard_return<cond,obj_scope_guard_impl2<Obj,MemFun,P1,P2> >::type(obj,mem_fun,p1,p2);
-}
-
-template<typename C, class Obj,typename MemFun,typename P1,typename P2>
-inline typename null_guard_return<C::value,obj_scope_guard_impl2<Obj,MemFun,P1,P2> >::type
-make_obj_guard_if(Obj& obj,MemFun mem_fun,P1 p1,P2 p2)
-{
-  return make_obj_guard_if_c<C::value>(obj,mem_fun,p1,p2);
-}
-
-template<class Obj,typename MemFun,typename P1,typename P2,typename P3>
-class obj_scope_guard_impl3:public scope_guard_impl_base
-{
-public:
-  obj_scope_guard_impl3(Obj& obj,MemFun mem_fun,P1 p1,P2 p2,P3 p3):
-    obj_(obj),mem_fun_(mem_fun),p1_(p1),p2_(p2),p3_(p3)
-  {}
-  ~obj_scope_guard_impl3(){scope_guard_impl_base::safe_execute(*this);}
-  void execute(){(obj_.*mem_fun_)(p1_,p2_,p3_);}
-
-protected:
-  Obj&     obj_;
-  MemFun   mem_fun_;
-  const P1 p1_;
-  const P2 p2_;
-  const P3 p3_;
-};
-
-template<class Obj,typename MemFun,typename P1,typename P2,typename P3>
-inline obj_scope_guard_impl3<Obj,MemFun,P1,P2,P3>
-make_obj_guard(Obj& obj,MemFun mem_fun,P1 p1,P2 p2,P3 p3)
-{
-  return obj_scope_guard_impl3<Obj,MemFun,P1,P2,P3>(obj,mem_fun,p1,p2,p3);
-}
-
-template<bool cond, class Obj,typename MemFun,typename P1,typename P2,typename P3>
-inline typename null_guard_return<cond,obj_scope_guard_impl3<Obj,MemFun,P1,P2,P3> >::type
-make_obj_guard_if_c(Obj& obj,MemFun mem_fun,P1 p1,P2 p2,P3 p3)
-{
-  return typename null_guard_return<cond,obj_scope_guard_impl3<Obj,MemFun,P1,P2,P3> >::type(obj,mem_fun,p1,p2,p3);
-}
-
-template<typename C, class Obj,typename MemFun,typename P1,typename P2,typename P3>
-inline typename null_guard_return<C::value,obj_scope_guard_impl3<Obj,MemFun,P1,P2,P3> >::type
-make_obj_guard_if(Obj& obj,MemFun mem_fun,P1 p1,P2 p2,P3 p3)
-{
-  return make_obj_guard_if_c<C::value>(obj,mem_fun,p1,p2,p3);
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/seq_index_node.hpp b/SRC/Boost/boost/multi_index/detail/seq_index_node.hpp
deleted file mode 100755
index 25216d2..0000000
--- a/SRC/Boost/boost/multi_index/detail/seq_index_node.hpp
+++ /dev/null
@@ -1,223 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_SEQ_INDEX_NODE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_SEQ_INDEX_NODE_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <algorithm>
-#include <boost/detail/allocator_utilities.hpp>
-#include <boost/multi_index/detail/prevent_eti.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* doubly-linked node for use by sequenced_index */
-
-template<typename Allocator>
-struct sequenced_index_node_impl
-{
-  typedef typename prevent_eti<
-    Allocator,
-    typename boost::detail::allocator::rebind_to<
-      Allocator,sequenced_index_node_impl
-    >::type
-  >::type::pointer                                pointer;
-  typedef typename prevent_eti<
-    Allocator,
-    typename boost::detail::allocator::rebind_to<
-      Allocator,sequenced_index_node_impl
-    >::type
-  >::type::const_pointer                          const_pointer;
-
-  pointer& prior(){return prior_;}
-  pointer  prior()const{return prior_;}
-  pointer& next(){return next_;}
-  pointer  next()const{return next_;}
-
-  /* interoperability with bidir_node_iterator */
-
-  static void increment(pointer& x){x=x->next();}
-  static void decrement(pointer& x){x=x->prior();}
-
-  /* algorithmic stuff */
-
-  static void link(pointer x,pointer header)
-  {
-    x->prior()=header->prior();
-    x->next()=header;
-    x->prior()->next()=x->next()->prior()=x;
-  };
-
-  static void unlink(pointer x)
-  {
-    x->prior()->next()=x->next();
-    x->next()->prior()=x->prior();
-  }
-
-  static void relink(pointer position,pointer x)
-  {
-    unlink(x);
-    x->prior()=position->prior();
-    x->next()=position;
-    x->prior()->next()=x->next()->prior()=x;
-  }
-
-  static void relink(pointer position,pointer x,pointer y)
-  {
-    /* position is assumed not to be in [x,y) */
-
-    if(x!=y){
-      pointer z=y->prior();
-      x->prior()->next()=y;
-      y->prior()=x->prior();
-      x->prior()=position->prior();
-      z->next()=position;
-      x->prior()->next()=x;
-      z->next()->prior()=z;
-    }
-  }
-
-  static void reverse(pointer header)
-  {
-    pointer x=header;
-    do{
-      pointer y=x->next();
-      std::swap(x->prior(),x->next());
-      x=y;
-    }while(x!=header);
-  }
-
-  static void swap(pointer x,pointer y)
-  {
-    /* This swap function does not exchange the header nodes,
-     * but rather their pointers. This is *not* used for implementing
-     * sequenced_index::swap.
-     */
-
-    if(x->next()!=x){
-      if(y->next()!=y){
-        std::swap(x->next(),y->next());
-        std::swap(x->prior(),y->prior());
-        x->next()->prior()=x->prior()->next()=x;
-        y->next()->prior()=y->prior()->next()=y;
-      }
-      else{
-        y->next()=x->next();
-        y->prior()=x->prior();
-        x->next()=x->prior()=x;
-        y->next()->prior()=y->prior()->next()=y;
-      }
-    }
-    else if(y->next()!=y){
-      x->next()=y->next();
-      x->prior()=y->prior();
-      y->next()=y->prior()=y;
-      x->next()->prior()=x->prior()->next()=x;
-    }
-  }
-
-private:
-  pointer prior_;
-  pointer next_;
-};
-
-template<typename Super>
-struct sequenced_index_node_trampoline:
-  prevent_eti<
-    Super,
-    sequenced_index_node_impl<
-      typename boost::detail::allocator::rebind_to<
-        typename Super::allocator_type,
-        char
-      >::type
-    >
-  >::type
-{
-  typedef typename prevent_eti<
-    Super,
-    sequenced_index_node_impl<
-      typename boost::detail::allocator::rebind_to<
-        typename Super::allocator_type,
-        char
-      >::type
-    >
-  >::type impl_type;
-};
-
-template<typename Super>
-struct sequenced_index_node:Super,sequenced_index_node_trampoline<Super>
-{
-private:
-  typedef sequenced_index_node_trampoline<Super> trampoline;
-
-public:
-  typedef typename trampoline::impl_type         impl_type;
-  typedef typename trampoline::pointer           impl_pointer;
-  typedef typename trampoline::const_pointer     const_impl_pointer;
-
-  impl_pointer& prior(){return trampoline::prior();}
-  impl_pointer  prior()const{return trampoline::prior();}
-  impl_pointer& next(){return trampoline::next();}
-  impl_pointer  next()const{return trampoline::next();}
-
-  impl_pointer impl()
-  {
-    return static_cast<impl_pointer>(
-      static_cast<impl_type*>(static_cast<trampoline*>(this)));
-  }
-
-  const_impl_pointer impl()const
-  {
-    return static_cast<const_impl_pointer>(
-      static_cast<const impl_type*>(static_cast<const trampoline*>(this)));
-  }
-
-  static sequenced_index_node* from_impl(impl_pointer x)
-  {
-    return static_cast<sequenced_index_node*>(
-      static_cast<trampoline*>(&*x));
-  }
-
-  static const sequenced_index_node* from_impl(const_impl_pointer x)
-  {
-    return static_cast<const sequenced_index_node*>(
-      static_cast<const trampoline*>(&*x));
-  }
-
-  /* interoperability with bidir_node_iterator */
-
-  static void increment(sequenced_index_node*& x)
-  {
-    impl_pointer xi=x->impl();
-    trampoline::increment(xi);
-    x=from_impl(xi);
-  }
-
-  static void decrement(sequenced_index_node*& x)
-  {
-    impl_pointer xi=x->impl();
-    trampoline::decrement(xi);
-    x=from_impl(xi);
-  }
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/seq_index_ops.hpp b/SRC/Boost/boost/multi_index/detail/seq_index_ops.hpp
deleted file mode 100755
index 94331af..0000000
--- a/SRC/Boost/boost/multi_index/detail/seq_index_ops.hpp
+++ /dev/null
@@ -1,200 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_SEQ_INDEX_OPS_HPP
-#define BOOST_MULTI_INDEX_DETAIL_SEQ_INDEX_OPS_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/multi_index/detail/seq_index_node.hpp>
-#include <boost/limits.hpp>
-#include <boost/type_traits/aligned_storage.hpp>
-#include <boost/type_traits/alignment_of.hpp> 
-#include <cstddef>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Common code for sequenced_index memfuns having templatized and
- * non-templatized versions.
- */
-
-template <typename SequencedIndex,typename Predicate>
-void sequenced_index_remove(SequencedIndex& x,Predicate pred)
-{
-  typedef typename SequencedIndex::iterator iterator;
-  iterator first=x.begin(),last=x.end();
-  while(first!=last){
-    if(pred(*first))x.erase(first++);
-    else ++first;
-  }
-}
-
-template <typename SequencedIndex,class BinaryPredicate>
-void sequenced_index_unique(SequencedIndex& x,BinaryPredicate binary_pred)
-{
-  typedef typename SequencedIndex::iterator iterator;
-  iterator first=x.begin();
-  iterator last=x.end();
-  if(first!=last){
-    for(iterator middle=first;++middle!=last;middle=first){
-      if(binary_pred(*middle,*first))x.erase(middle);
-      else first=middle;
-    }
-  }
-}
-
-template <typename SequencedIndex,typename Compare>
-void sequenced_index_merge(SequencedIndex& x,SequencedIndex& y,Compare comp)
-{
-  typedef typename SequencedIndex::iterator iterator;
-  if(&x!=&y){
-    iterator first0=x.begin(),last0=x.end();
-    iterator first1=y.begin(),last1=y.end();
-    while(first0!=last0&&first1!=last1){
-      if(comp(*first1,*first0))x.splice(first0,y,first1++);
-      else ++first0;
-    }
-    x.splice(last0,y,first1,last1);
-  }
-}
-
-/* sorting  */
-
-/* auxiliary stuff */
-
-template<typename Node,typename Compare>
-void sequenced_index_collate(
-  BOOST_DEDUCED_TYPENAME Node::impl_type* x,
-  BOOST_DEDUCED_TYPENAME Node::impl_type* y,
-  Compare comp
-  BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Node))
-{
-  typedef typename Node::impl_type    impl_type;
-  typedef typename Node::impl_pointer impl_pointer;
-
-  impl_pointer first0=x->next();
-  impl_pointer last0=x;
-  impl_pointer first1=y->next();
-  impl_pointer last1=y;
-  while(first0!=last0&&first1!=last1){
-    if(comp(
-        Node::from_impl(first1)->value(),Node::from_impl(first0)->value())){
-      impl_pointer tmp=first1->next();
-      impl_type::relink(first0,first1);
-      first1=tmp;
-    }
-    else first0=first0->next();
-  }
-  impl_type::relink(last0,first1,last1);
-}
-
-/* Some versions of CGG require a bogus typename in counter_spc
- * inside sequenced_index_sort if the following is defined
- * also inside sequenced_index_sort.
- */
-
-BOOST_STATIC_CONSTANT(
-  std::size_t,
-  sequenced_index_sort_max_fill=
-    (std::size_t)std::numeric_limits<std::size_t>::digits+1);
-
-template<typename Node,typename Compare>
-void sequenced_index_sort(Node* header,Compare comp)
-{
-  /* Musser's mergesort, see http://www.cs.rpi.edu/~musser/gp/List/lists1.html.
-   * The implementation is a little convoluted: in the original code
-   * counter elements and carry are std::lists: here we do not want
-   * to use multi_index instead, so we do things at a lower level, managing
-   * directly the internal node representation.
-   * Incidentally, the implementations I've seen of this algorithm (SGI,
-   * Dinkumware, STLPort) are not exception-safe: this is. Moreover, we do not
-   * use any dynamic storage.
-   */
-
-  if(header->next()==header->impl()||
-     header->next()->next()==header->impl())return;
-
-  typedef typename Node::impl_type      impl_type;
-  typedef typename Node::impl_pointer   impl_pointer;
-
-  typedef typename aligned_storage<
-    sizeof(impl_type),
-    alignment_of<impl_type>::value
-  >::type                               carry_spc_type;
-  carry_spc_type                        carry_spc;
-  impl_type&                            carry=
-    *static_cast<impl_type*>(static_cast<void*>(&carry_spc));
-  typedef typename aligned_storage<
-    sizeof(
-      impl_type
-        [sequenced_index_sort_max_fill]),
-    alignment_of<
-      impl_type
-        [sequenced_index_sort_max_fill]
-    >::value
-  >::type                               counter_spc_type;
-  counter_spc_type                      counter_spc;
-  impl_type*                            counter=
-    static_cast<impl_type*>(static_cast<void*>(&counter_spc));
-  std::size_t                           fill=0;
-
-  carry.prior()=carry.next()=static_cast<impl_pointer>(&carry);
-  counter[0].prior()=counter[0].next()=static_cast<impl_pointer>(&counter[0]);
-
-  BOOST_TRY{
-    while(header->next()!=header->impl()){
-      impl_type::relink(carry.next(),header->next());
-      std::size_t i=0;
-      while(i<fill&&counter[i].next()!=static_cast<impl_pointer>(&counter[i])){
-        sequenced_index_collate<Node>(&carry,&counter[i++],comp);
-      }
-      impl_type::swap(
-        static_cast<impl_pointer>(&carry),
-        static_cast<impl_pointer>(&counter[i]));
-      if(i==fill){
-        ++fill;
-        counter[fill].prior()=counter[fill].next()=
-          static_cast<impl_pointer>(&counter[fill]);
-      }
-    }
-
-    for(std::size_t i=1;i<fill;++i){
-      sequenced_index_collate<Node>(&counter[i],&counter[i-1],comp);
-    }
-    impl_type::swap(
-      header->impl(),static_cast<impl_pointer>(&counter[fill-1]));
-  }
-  BOOST_CATCH(...)
-  {
-    impl_type::relink(
-      header->impl(),carry.next(),static_cast<impl_pointer>(&carry));
-    for(std::size_t i=0;i<=fill;++i){
-      impl_type::relink(
-        header->impl(),counter[i].next(),
-        static_cast<impl_pointer>(&counter[i]));
-    }
-    BOOST_RETHROW;
-  }
-  BOOST_CATCH_END
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/serialization_version.hpp b/SRC/Boost/boost/multi_index/detail/serialization_version.hpp
deleted file mode 100755
index bbb6146..0000000
--- a/SRC/Boost/boost/multi_index/detail/serialization_version.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright 2003-2010 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_SERIALIZATION_VERSION_HPP
-#define BOOST_MULTI_INDEX_DETAIL_SERIALIZATION_VERSION_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/version.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Helper class for storing and retrieving a given type serialization class
- * version while avoiding saving the number multiple times in the same
- * archive.
- * Behavior undefined if template partial specialization is not supported.
- */
-
-template<typename T>
-struct serialization_version
-{
-  serialization_version():
-    value(boost::serialization::version<serialization_version>::value){}
-
-  serialization_version& operator=(unsigned int x){value=x;return *this;};
-
-  operator unsigned int()const{return value;}
-
-private:
-  friend class boost::serialization::access;
-
-  BOOST_SERIALIZATION_SPLIT_MEMBER()
-
-  template<class Archive>
-  void save(Archive&,const unsigned int)const{}
-
-  template<class Archive>
-  void load(Archive&,const unsigned int version)
-  {
-    this->value=version;
-  }
-
-  unsigned int value;
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-namespace serialization {
-template<typename T>
-struct version<boost::multi_index::detail::serialization_version<T> >
-{
-  BOOST_STATIC_CONSTANT(int,value=version<T>::value);
-};
-} /* namespace serialization */
-#endif
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/uintptr_type.hpp b/SRC/Boost/boost/multi_index/detail/uintptr_type.hpp
deleted file mode 100755
index 81562bb..0000000
--- a/SRC/Boost/boost/multi_index/detail/uintptr_type.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_UINTPTR_TYPE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_UINTPTR_TYPE_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/bool.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* has_uintptr_type is an MPL integral constant determining whether
- * there exists an unsigned integral type with the same size as
- * void *.
- * uintptr_type is such a type if has_uintptr is true, or unsigned int
- * otherwise.
- * Note that uintptr_type is more restrictive than C99 uintptr_t,
- * where an integral type with size greater than that of void *
- * would be conformant.
- */
-
-template<int N>struct uintptr_candidates;
-template<>struct uintptr_candidates<-1>{typedef unsigned int           type;};
-template<>struct uintptr_candidates<0> {typedef unsigned int           type;};
-template<>struct uintptr_candidates<1> {typedef unsigned short         type;};
-template<>struct uintptr_candidates<2> {typedef unsigned long          type;};
-
-#if defined(BOOST_HAS_LONG_LONG)
-template<>struct uintptr_candidates<3> {typedef boost::ulong_long_type type;};
-#else
-template<>struct uintptr_candidates<3> {typedef unsigned int           type;};
-#endif
-
-#if defined(BOOST_HAS_MS_INT64)
-template<>struct uintptr_candidates<4> {typedef unsigned __int64       type;};
-#else
-template<>struct uintptr_candidates<4> {typedef unsigned int           type;};
-#endif
-
-struct uintptr_aux
-{
-  BOOST_STATIC_CONSTANT(int,index=
-    sizeof(void*)==sizeof(uintptr_candidates<0>::type)?0:
-    sizeof(void*)==sizeof(uintptr_candidates<1>::type)?1:
-    sizeof(void*)==sizeof(uintptr_candidates<2>::type)?2:
-    sizeof(void*)==sizeof(uintptr_candidates<3>::type)?3:
-    sizeof(void*)==sizeof(uintptr_candidates<4>::type)?4:-1);
-
-  BOOST_STATIC_CONSTANT(bool,has_uintptr_type=(index>=0));
-
-  typedef uintptr_candidates<index>::type type;
-};
-
-typedef mpl::bool_<uintptr_aux::has_uintptr_type> has_uintptr_type;
-typedef uintptr_aux::type                         uintptr_type;
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/unbounded.hpp b/SRC/Boost/boost/multi_index/detail/unbounded.hpp
deleted file mode 100755
index 68c8d27..0000000
--- a/SRC/Boost/boost/multi_index/detail/unbounded.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_UNBOUNDED_HPP
-#define BOOST_MULTI_INDEX_DETAIL_UNBOUNDED_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/workaround.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-/* dummy type and variable for use in ordered_index::range() */
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-/* The default branch actually works for MSVC 6.0, but seems like
- * this implementation of unbounded improves the performance of ordered
- * indices! This behavior is hard to explain and probably a test artifact,
- * but it does not hurt to have the workaround anyway.
- */
-
-namespace detail{struct unbounded_type{};}
-
-namespace{
-
-static detail::unbounded_type  unbounded_obj=detail::unbounded_type();
-static detail::unbounded_type& unbounded=unbounded_obj;
-
-} /* unnamed */
-#else
-/* ODR-abiding technique shown at the example attached to
- * http://lists.boost.org/Archives/boost/2006/07/108355.php
- */
-
-namespace detail{class unbounded_helper;}
-
-detail::unbounded_helper unbounded(detail::unbounded_helper);
-
-namespace detail{
-
-class unbounded_helper
-{
-  unbounded_helper(){}
-  unbounded_helper(const unbounded_helper&){}
-  friend unbounded_helper multi_index::unbounded(unbounded_helper);
-};
-
-typedef unbounded_helper (*unbounded_type)(unbounded_helper);
-
-} /* namespace multi_index::detail */
-
-inline detail::unbounded_helper unbounded(detail::unbounded_helper)
-{
-  return detail::unbounded_helper();
-}
-#endif
-
-/* tags used in the implementation of range */
-
-namespace detail{
-
-struct none_unbounded_tag{};
-struct lower_unbounded_tag{};
-struct upper_unbounded_tag{};
-struct both_unbounded_tag{};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/detail/value_compare.hpp b/SRC/Boost/boost/multi_index/detail/value_compare.hpp
deleted file mode 100755
index 5d35f84..0000000
--- a/SRC/Boost/boost/multi_index/detail/value_compare.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_VALUE_COMPARE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_VALUE_COMPARE_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/call_traits.hpp>
-#include <functional>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<typename Value,typename KeyFromValue,typename Compare>
-struct value_comparison:std::binary_function<Value,Value,bool>
-{
-  value_comparison(
-    const KeyFromValue& key_=KeyFromValue(),const Compare& comp_=Compare()):
-    key(key_),comp(comp_)
-  {
-  }
-
-  bool operator()(
-    typename call_traits<Value>::param_type x,
-    typename call_traits<Value>::param_type y)const
-  {
-    return comp(key(x),key(y));
-  }
-
-private:
-  KeyFromValue key;
-  Compare      comp;
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/identity.hpp b/SRC/Boost/boost/multi_index/identity.hpp
deleted file mode 100755
index 7d14cbd..0000000
--- a/SRC/Boost/boost/multi_index/identity.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_IDENTITY_HPP
-#define BOOST_MULTI_INDEX_IDENTITY_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/multi_index/identity_fwd.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#if !defined(BOOST_NO_SFINAE)
-#include <boost/type_traits/is_convertible.hpp>
-#endif
-
-namespace boost{
-
-template<class Type> class reference_wrapper; /* fwd decl. */
-
-namespace multi_index{
-
-namespace detail{
-
-/* identity is a do-nothing key extractor that returns the [const] Type&
- * object passed.
- * Additionally, identity is overloaded to support referece_wrappers
- * of Type and "chained pointers" to Type's. By chained pointer to Type we
- * mean a  type  P such that, given a p of type P
- *   *...n...*x is convertible to Type&, for some n>=1.
- * Examples of chained pointers are raw and smart pointers, iterators and
- * arbitrary combinations of these (vg. Type** or auto_ptr<Type*>.)
- */
-
-/* NB. Some overloads of operator() have an extra dummy parameter int=0.
- * This disambiguator serves several purposes:
- *  - Without it, MSVC++ 6.0 incorrectly regards some overloads as
- *    specializations of a previous member function template.
- *  - MSVC++ 6.0/7.0 seem to incorrectly treat some different memfuns
- *    as if they have the same signature.
- *  - If remove_const is broken due to lack of PTS, int=0 avoids the
- *    declaration of memfuns with identical signature.
- */
-
-template<typename Type>
-struct const_identity_base
-{
-  typedef Type result_type;
-
-  template<typename ChainedPtr>
-
-#if !defined(BOOST_NO_SFINAE)
-  typename disable_if<is_convertible<const ChainedPtr&,Type&>,Type&>::type
-#else
-  Type&
-#endif 
-  
-  operator()(const ChainedPtr& x)const
-  {
-    return operator()(*x);
-  }
-
-  Type& operator()(Type& x)const
-  {
-    return x;
-  }
-
-  Type& operator()(const reference_wrapper<Type>& x)const
-  { 
-    return x.get();
-  }
-
-  Type& operator()(
-    const reference_wrapper<typename remove_const<Type>::type>& x,int=0)const
-  { 
-    return x.get();
-  }
-};
-
-template<typename Type>
-struct non_const_identity_base
-{
-  typedef Type result_type;
-
-  /* templatized for pointer-like types */
-  
-  template<typename ChainedPtr>
-
-#if !defined(BOOST_NO_SFINAE)
-  typename disable_if<
-    is_convertible<const ChainedPtr&,const Type&>,Type&>::type
-#else
-  Type&
-#endif 
-    
-  operator()(const ChainedPtr& x)const
-  {
-    return operator()(*x);
-  }
-
-  const Type& operator()(const Type& x,int=0)const
-  {
-    return x;
-  }
-
-  Type& operator()(Type& x)const
-  {
-    return x;
-  }
-
-  const Type& operator()(const reference_wrapper<const Type>& x,int=0)const
-  { 
-    return x.get();
-  }
-
-  Type& operator()(const reference_wrapper<Type>& x)const
-  { 
-    return x.get();
-  }
-};
-
-} /* namespace multi_index::detail */
-
-template<class Type>
-struct identity:
-  mpl::if_c<
-    is_const<Type>::value,
-    detail::const_identity_base<Type>,detail::non_const_identity_base<Type>
-  >::type
-{
-};
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/identity_fwd.hpp b/SRC/Boost/boost/multi_index/identity_fwd.hpp
deleted file mode 100755
index 06bbe65..0000000
--- a/SRC/Boost/boost/multi_index/identity_fwd.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_IDENTITY_FWD_HPP
-#define BOOST_MULTI_INDEX_IDENTITY_FWD_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-template<class Type> struct identity;
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/indexed_by.hpp b/SRC/Boost/boost/multi_index/indexed_by.hpp
deleted file mode 100755
index f5a4ec3..0000000
--- a/SRC/Boost/boost/multi_index/indexed_by.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_INDEXED_BY_HPP
-#define BOOST_MULTI_INDEX_INDEXED_BY_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/control/expr_if.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp> 
-
-/* An alias to mpl::vector used to hide MPL from the user.
- * indexed_by contains the index specifiers for instantiation
- * of a multi_index_container.
- */
-
-/* This user_definable macro limits the number of elements of an index list;
- * useful for shortening resulting symbol names (MSVC++ 6.0, for instance,
- * has problems coping with very long symbol names.)
- */
-
-#if !defined(BOOST_MULTI_INDEX_LIMIT_INDEXED_BY_SIZE)
-#if defined(BOOST_MSVC)&&(BOOST_MSVC<1300)
-#define BOOST_MULTI_INDEX_LIMIT_INDEXED_BY_SIZE 5
-#else
-#define BOOST_MULTI_INDEX_LIMIT_INDEXED_BY_SIZE BOOST_MPL_LIMIT_VECTOR_SIZE
-#endif
-#endif
-
-#if BOOST_MULTI_INDEX_LIMIT_INDEXED_BY_SIZE<BOOST_MPL_LIMIT_VECTOR_SIZE
-#define BOOST_MULTI_INDEX_INDEXED_BY_SIZE \
-  BOOST_MULTI_INDEX_LIMIT_INDEXED_BY_SIZE
-#else
-#define BOOST_MULTI_INDEX_INDEXED_BY_SIZE BOOST_MPL_LIMIT_VECTOR_SIZE
-#endif
-
-#define BOOST_MULTI_INDEX_INDEXED_BY_TEMPLATE_PARM(z,n,var) \
-  typename BOOST_PP_CAT(var,n) BOOST_PP_EXPR_IF(n,=mpl::na)
-
-namespace boost{
-
-namespace multi_index{
-
-template<
-  BOOST_PP_ENUM(
-    BOOST_MULTI_INDEX_INDEXED_BY_SIZE,
-    BOOST_MULTI_INDEX_INDEXED_BY_TEMPLATE_PARM,T)
->
-struct indexed_by:
-  mpl::vector<BOOST_PP_ENUM_PARAMS(BOOST_MULTI_INDEX_INDEXED_BY_SIZE,T)>
-{
-};
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#undef BOOST_MULTI_INDEX_INDEXED_BY_TEMPLATE_PARM
-#undef BOOST_MULTI_INDEX_INDEXED_BY_SIZE
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/member.hpp b/SRC/Boost/boost/multi_index/member.hpp
deleted file mode 100755
index 2852e1f..0000000
--- a/SRC/Boost/boost/multi_index/member.hpp
+++ /dev/null
@@ -1,269 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_MEMBER_HPP
-#define BOOST_MULTI_INDEX_MEMBER_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <cstddef>
-
-#if !defined(BOOST_NO_SFINAE)
-#include <boost/type_traits/is_convertible.hpp>
-#endif
-
-namespace boost{
-
-template<class T> class reference_wrapper; /* fwd decl. */
-
-namespace multi_index{
-
-namespace detail{
-
-/* member is a read/write key extractor for accessing a given
- * member of a class.
- * Additionally, member is overloaded to support referece_wrappers
- * of T and "chained pointers" to T's. By chained pointer to T we mean
- * a type P  such that, given a p of Type P
- *   *...n...*x is convertible to T&, for some n>=1.
- * Examples of chained pointers are raw and smart pointers, iterators and
- * arbitrary combinations of these (vg. T** or auto_ptr<T*>.)
- */
-
-/* NB. Some overloads of operator() have an extra dummy parameter int=0.
- * This disambiguator serves several purposes:
- *  - Without it, MSVC++ 6.0 incorrectly regards some overloads as
- *    specializations of a previous member function template.
- *  - MSVC++ 6.0/7.0 seem to incorrectly treat some different memfuns
- *    as if they have the same signature.
- *  - If remove_const is broken due to lack of PTS, int=0 avoids the
- *    declaration of memfuns with identical signature.
- */
-
-template<class Class,typename Type,Type Class::*PtrToMember>
-struct const_member_base
-{
-  typedef Type result_type;
-
-  template<typename ChainedPtr>
-
-#if !defined(BOOST_NO_SFINAE)
-  typename disable_if<
-    is_convertible<const ChainedPtr&,const Class&>,Type&>::type
-#else
-  Type&
-#endif
-  
-  operator()(const ChainedPtr& x)const
-  {
-    return operator()(*x);
-  }
-
-  Type& operator()(const Class& x)const
-  {
-    return x.*PtrToMember;
-  }
-
-  Type& operator()(const reference_wrapper<const Class>& x)const
-  {
-    return operator()(x.get());
-  }
-
-  Type& operator()(const reference_wrapper<Class>& x,int=0)const
-  { 
-    return operator()(x.get());
-  }
-};
-
-template<class Class,typename Type,Type Class::*PtrToMember>
-struct non_const_member_base
-{
-  typedef Type result_type;
-
-  template<typename ChainedPtr>
-
-#if !defined(BOOST_NO_SFINAE)
-  typename disable_if<
-    is_convertible<const ChainedPtr&,const Class&>,Type&>::type
-#else
-  Type&
-#endif
-
-  operator()(const ChainedPtr& x)const
-  {
-    return operator()(*x);
-  }
-
-  const Type& operator()(const Class& x,int=0)const
-  {
-    return x.*PtrToMember;
-  }
-
-  Type& operator()(Class& x)const
-  { 
-    return x.*PtrToMember;
-  }
-
-  const Type& operator()(const reference_wrapper<const Class>& x,int=0)const
-  {
-    return operator()(x.get());
-  }
-
-  Type& operator()(const reference_wrapper<Class>& x)const
-  { 
-    return operator()(x.get());
-  }
-};
-
-} /* namespace multi_index::detail */
-
-template<class Class,typename Type,Type Class::*PtrToMember>
-struct member:
-  mpl::if_c<
-    is_const<Type>::value,
-    detail::const_member_base<Class,Type,PtrToMember>,
-    detail::non_const_member_base<Class,Type,PtrToMember>
-  >::type
-{
-};
-
-namespace detail{
-
-/* MSVC++ 6.0 does not support properly pointers to members as
- * non-type template arguments, as reported in
- *   http://support.microsoft.com/default.aspx?scid=kb;EN-US;249045
- * A similar problem (though not identical) is shown by MSVC++ 7.0.
- * We provide an alternative to member<> accepting offsets instead
- * of pointers to members. This happens to work even for non-POD
- * types (although the standard forbids use of offsetof on these),
- * so it serves as a workaround in this compiler for all practical
- * purposes.
- * Surprisingly enough, other compilers, like Intel C++ 7.0/7.1 and
- * Visual Age 6.0, have similar bugs. This replacement of member<>
- * can be used for them too.
- */
-
-template<class Class,typename Type,std::size_t OffsetOfMember>
-struct const_member_offset_base
-{
-  typedef Type result_type;
-
-  template<typename ChainedPtr>
-
-#if !defined(BOOST_NO_SFINAE)
-  typename disable_if<
-    is_convertible<const ChainedPtr&,const Class&>,Type&>::type
-#else
-  Type&
-#endif 
-    
-  operator()(const ChainedPtr& x)const
-  {
-    return operator()(*x);
-  }
-
-  Type& operator()(const Class& x)const
-  {
-    return *static_cast<const Type*>(
-      static_cast<const void*>(
-        static_cast<const char*>(
-          static_cast<const void *>(&x))+OffsetOfMember));
-  }
-
-  Type& operator()(const reference_wrapper<const Class>& x)const
-  {
-    return operator()(x.get());
-  }
-
-  Type& operator()(const reference_wrapper<Class>& x,int=0)const
-  {
-    return operator()(x.get());
-  }
-};
-
-template<class Class,typename Type,std::size_t OffsetOfMember>
-struct non_const_member_offset_base
-{
-  typedef Type result_type;
-
-  template<typename ChainedPtr>
-
-#if !defined(BOOST_NO_SFINAE)
-  typename disable_if<
-    is_convertible<const ChainedPtr&,const Class&>,Type&>::type
-#else
-  Type&
-#endif 
-  
-  operator()(const ChainedPtr& x)const
-  {
-    return operator()(*x);
-  }
-
-  const Type& operator()(const Class& x,int=0)const
-  {
-    return *static_cast<const Type*>(
-      static_cast<const void*>(
-        static_cast<const char*>(
-          static_cast<const void *>(&x))+OffsetOfMember));
-  }
-
-  Type& operator()(Class& x)const
-  { 
-    return *static_cast<Type*>(
-      static_cast<void*>(
-        static_cast<char*>(static_cast<void *>(&x))+OffsetOfMember));
-  }
-
-  const Type& operator()(const reference_wrapper<const Class>& x,int=0)const
-  {
-    return operator()(x.get());
-  }
-
-  Type& operator()(const reference_wrapper<Class>& x)const
-  {
-    return operator()(x.get());
-  }
-};
-
-} /* namespace multi_index::detail */
-
-template<class Class,typename Type,std::size_t OffsetOfMember>
-struct member_offset:
-  mpl::if_c<
-    is_const<Type>::value,
-    detail::const_member_offset_base<Class,Type,OffsetOfMember>,
-    detail::non_const_member_offset_base<Class,Type,OffsetOfMember>
-  >::type
-{
-};
-
-/* BOOST_MULTI_INDEX_MEMBER resolves to member in the normal cases,
- * and to member_offset as a workaround in those defective compilers for
- * which BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS is defined.
- */
-
-#if defined(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS)
-#define BOOST_MULTI_INDEX_MEMBER(Class,Type,MemberName) \
-::boost::multi_index::member_offset< Class,Type,offsetof(Class,MemberName) >
-#else
-#define BOOST_MULTI_INDEX_MEMBER(Class,Type,MemberName) \
-::boost::multi_index::member< Class,Type,&Class::MemberName >
-#endif
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/ordered_index.hpp b/SRC/Boost/boost/multi_index/ordered_index.hpp
deleted file mode 100755
index f7a08e8..0000000
--- a/SRC/Boost/boost/multi_index/ordered_index.hpp
+++ /dev/null
@@ -1,1406 +0,0 @@
-/* Copyright 2003-2011 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- *
- * The internal implementation of red-black trees is based on that of SGI STL
- * stl_tree.h file: 
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- *
- */
-
-#ifndef BOOST_MULTI_INDEX_ORDERED_INDEX_HPP
-#define BOOST_MULTI_INDEX_ORDERED_INDEX_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <algorithm>
-#include <boost/call_traits.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/foreach_fwd.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/multi_index/detail/access_specifier.hpp>
-#include <boost/multi_index/detail/bidir_node_iterator.hpp>
-#include <boost/multi_index/detail/index_node_base.hpp>
-#include <boost/multi_index/detail/modify_key_adaptor.hpp>
-#include <boost/multi_index/detail/ord_index_node.hpp>
-#include <boost/multi_index/detail/ord_index_ops.hpp>
-#include <boost/multi_index/detail/safe_ctr_proxy.hpp>
-#include <boost/multi_index/detail/safe_mode.hpp>
-#include <boost/multi_index/detail/scope_guard.hpp>
-#include <boost/multi_index/detail/unbounded.hpp>
-#include <boost/multi_index/detail/value_compare.hpp>
-#include <boost/multi_index/ordered_index_fwd.hpp>
-#include <boost/ref.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <utility>
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/archive/archive_exception.hpp>
-#include <boost/bind.hpp>
-#include <boost/multi_index/detail/duplicates_iterator.hpp>
-#include <boost/throw_exception.hpp> 
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-#define BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT                          \
-  detail::scope_guard BOOST_JOIN(check_invariant_,__LINE__)=                 \
-    detail::make_obj_guard(*this,&ordered_index::check_invariant_);          \
-  BOOST_JOIN(check_invariant_,__LINE__).touch();
-#else
-#define BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* ordered_index adds a layer of ordered indexing to a given Super */
-
-/* Most of the implementation of unique and non-unique indices is
- * shared. We tell from one another on instantiation time by using
- * these tags.
- */
-
-struct ordered_unique_tag{};
-struct ordered_non_unique_tag{};
-
-template<
-  typename KeyFromValue,typename Compare,
-  typename SuperMeta,typename TagList,typename Category
->
-class ordered_index:
-  BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS SuperMeta::type
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-  ,public safe_ctr_proxy_impl<
-    bidir_node_iterator<
-      ordered_index_node<typename SuperMeta::type::node_type> >,
-    ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category> >
-#else
-  ,public safe_mode::safe_container<
-    ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category> >
-#endif
-#endif
-
-{ 
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\
-    BOOST_WORKAROUND(__MWERKS__,<=0x3003)
-/* The "ISO C++ Template Parser" option in CW8.3 has a problem with the
- * lifetime of const references bound to temporaries --precisely what
- * scopeguards are.
- */
-
-#pragma parse_mfunc_templ off
-#endif
-
-  typedef typename SuperMeta::type                   super;
-
-protected:
-  typedef ordered_index_node<
-    typename super::node_type>                       node_type;
-
-private:
-  typedef typename node_type::impl_type              node_impl_type;
-  typedef typename node_impl_type::pointer           node_impl_pointer;
-
-public:
-  /* types */
-
-  typedef typename KeyFromValue::result_type         key_type;
-  typedef typename node_type::value_type             value_type;
-  typedef KeyFromValue                               key_from_value;
-  typedef Compare                                    key_compare;
-  typedef value_comparison<
-    value_type,KeyFromValue,Compare>                 value_compare;
-  typedef tuple<key_from_value,key_compare>          ctor_args;
-  typedef typename super::final_allocator_type       allocator_type;
-  typedef typename allocator_type::reference         reference;
-  typedef typename allocator_type::const_reference   const_reference;
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-  typedef safe_mode::safe_iterator<
-    bidir_node_iterator<node_type>,
-    safe_ctr_proxy<
-      bidir_node_iterator<node_type> > >             iterator;
-#else
-  typedef safe_mode::safe_iterator<
-    bidir_node_iterator<node_type>,
-    ordered_index>                                   iterator;
-#endif
-#else
-  typedef bidir_node_iterator<node_type>             iterator;
-#endif
-
-  typedef iterator                                   const_iterator;
-
-  typedef std::size_t                                size_type;      
-  typedef std::ptrdiff_t                             difference_type;
-  typedef typename allocator_type::pointer           pointer;
-  typedef typename allocator_type::const_pointer     const_pointer;
-  typedef typename
-    boost::reverse_iterator<iterator>                reverse_iterator;
-  typedef typename
-    boost::reverse_iterator<const_iterator>          const_reverse_iterator;
-  typedef TagList                                    tag_list;
-
-protected:
-  typedef typename super::final_node_type            final_node_type;
-  typedef tuples::cons<
-    ctor_args, 
-    typename super::ctor_args_list>                  ctor_args_list;
-  typedef typename mpl::push_front<
-    typename super::index_type_list,
-    ordered_index>::type                             index_type_list;
-  typedef typename mpl::push_front<
-    typename super::iterator_type_list,
-    iterator>::type    iterator_type_list;
-  typedef typename mpl::push_front<
-    typename super::const_iterator_type_list,
-    const_iterator>::type                            const_iterator_type_list;
-  typedef typename super::copy_map_type              copy_map_type;
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  typedef typename super::index_saver_type           index_saver_type;
-  typedef typename super::index_loader_type          index_loader_type;
-#endif
-
-private:
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-  typedef safe_ctr_proxy_impl<
-    bidir_node_iterator<node_type>,
-    ordered_index>                                   safe_super;
-#else
-  typedef safe_mode::safe_container<ordered_index>   safe_super;
-#endif
-#endif
-
-  typedef typename call_traits<
-    value_type>::param_type                          value_param_type;
-  typedef typename call_traits<
-    key_type>::param_type                            key_param_type;
-
-public:
-
-  /* construct/copy/destroy
-   * Default and copy ctors are in the protected section as indices are
-   * not supposed to be created on their own. No range ctor either.
-   */
-
-  ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category>& operator=(
-    const ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category>& x)
-  {
-    this->final()=x.final();
-    return *this;
-  }
-
-  allocator_type get_allocator()const
-  {
-    return this->final().get_allocator();
-  }
-
-  /* iterators */
-
-  iterator               begin(){return make_iterator(leftmost());}
-  const_iterator         begin()const{return make_iterator(leftmost());}
-  iterator               end(){return make_iterator(header());}
-  const_iterator         end()const{return make_iterator(header());}
-  reverse_iterator       rbegin(){return make_reverse_iterator(end());}
-  const_reverse_iterator rbegin()const{return make_reverse_iterator(end());}
-  reverse_iterator       rend(){return make_reverse_iterator(begin());}
-  const_reverse_iterator rend()const{return make_reverse_iterator(begin());}
-  const_iterator         cbegin()const{return begin();}
-  const_iterator         cend()const{return end();}
-  const_reverse_iterator crbegin()const{return rbegin();}
-  const_reverse_iterator crend()const{return rend();}
- 
-  iterator iterator_to(const value_type& x)
-  {
-    return make_iterator(node_from_value<node_type>(&x));
-  }
-
-  const_iterator iterator_to(const value_type& x)const
-  {
-    return make_iterator(node_from_value<node_type>(&x));
-  }
-
-  /* capacity */
-
-  bool      empty()const{return this->final_empty_();}
-  size_type size()const{return this->final_size_();}
-  size_type max_size()const{return this->final_max_size_();}
-
-  /* modifiers */
-
-  std::pair<iterator,bool> insert(value_param_type x)
-  {
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    std::pair<final_node_type*,bool> p=this->final_insert_(x);
-    return std::pair<iterator,bool>(make_iterator(p.first),p.second);
-  }
-
-  iterator insert(iterator position,value_param_type x)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    std::pair<final_node_type*,bool> p=this->final_insert_(
-      x,static_cast<final_node_type*>(position.get_node()));
-    return make_iterator(p.first);
-  }
-    
-  template<typename InputIterator>
-  void insert(InputIterator first,InputIterator last)
-  {
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    iterator hint=end();
-    for(;first!=last;++first)hint=insert(hint,*first);
-  }
-
-  iterator erase(iterator position)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    this->final_erase_(static_cast<final_node_type*>(position++.get_node()));
-    return position;
-  }
-  
-  size_type erase(key_param_type x)
-  {
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    std::pair<iterator,iterator> p=equal_range(x);
-    size_type s=0;
-    while(p.first!=p.second){
-      p.first=erase(p.first);
-      ++s;
-    }
-    return s;
-  }
-
-  iterator erase(iterator first,iterator last)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(first);
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(last);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(first,*this);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(last,*this);
-    BOOST_MULTI_INDEX_CHECK_VALID_RANGE(first,last);
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    while(first!=last){
-      first=erase(first);
-    }
-    return first;
-  }
-
-  bool replace(iterator position,value_param_type x)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    return this->final_replace_(
-      x,static_cast<final_node_type*>(position.get_node()));
-  }
-
-  template<typename Modifier>
-  bool modify(iterator position,Modifier mod)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    /* MSVC++ 6.0 optimizer on safe mode code chokes if this
-     * this is not added. Left it for all compilers as it does no
-     * harm.
-     */
-
-    position.detach();
-#endif
-
-    return this->final_modify_(
-      mod,static_cast<final_node_type*>(position.get_node()));
-  }
-
-  template<typename Modifier,typename Rollback>
-  bool modify(iterator position,Modifier mod,Rollback back)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    /* MSVC++ 6.0 optimizer on safe mode code chokes if this
-     * this is not added. Left it for all compilers as it does no
-     * harm.
-     */
-
-    position.detach();
-#endif
-
-    return this->final_modify_(
-      mod,back,static_cast<final_node_type*>(position.get_node()));
-  }
-  
-  template<typename Modifier>
-  bool modify_key(iterator position,Modifier mod)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    return modify(
-      position,modify_key_adaptor<Modifier,value_type,KeyFromValue>(mod,key));
-  }
-
-  template<typename Modifier,typename Rollback>
-  bool modify_key(iterator position,Modifier mod,Rollback back)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    return modify(
-      position,
-      modify_key_adaptor<Modifier,value_type,KeyFromValue>(mod,key),
-      modify_key_adaptor<Rollback,value_type,KeyFromValue>(back,key));
-  }
-
-  void swap(ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category>& x)
-  {
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    this->final_swap_(x.final());
-  }
-
-  void clear()
-  {
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    this->final_clear_();
-  }
-
-  /* observers */
-
-  key_from_value key_extractor()const{return key;}
-  key_compare    key_comp()const{return comp;}
-  value_compare  value_comp()const{return value_compare(key,comp);}
-
-  /* set operations */
-
-  /* Internally, these ops rely on const_iterator being the same
-   * type as iterator.
-   */
-
-  template<typename CompatibleKey>
-  iterator find(const CompatibleKey& x)const
-  {
-    return make_iterator(ordered_index_find(root(),header(),key,x,comp));
-  }
-
-  template<typename CompatibleKey,typename CompatibleCompare>
-  iterator find(
-    const CompatibleKey& x,const CompatibleCompare& comp)const
-  {
-    return make_iterator(ordered_index_find(root(),header(),key,x,comp));
-  }
-
-  template<typename CompatibleKey>
-  size_type count(const CompatibleKey& x)const
-  {
-    return count(x,comp);
-  }
-
-  template<typename CompatibleKey,typename CompatibleCompare>
-  size_type count(const CompatibleKey& x,const CompatibleCompare& comp)const
-  {
-    std::pair<iterator,iterator> p=equal_range(x,comp);
-    size_type n=std::distance(p.first,p.second);
-    return n;
-  }
-
-  template<typename CompatibleKey>
-  iterator lower_bound(const CompatibleKey& x)const
-  {
-    return make_iterator(
-      ordered_index_lower_bound(root(),header(),key,x,comp));
-  }
-
-  template<typename CompatibleKey,typename CompatibleCompare>
-  iterator lower_bound(
-    const CompatibleKey& x,const CompatibleCompare& comp)const
-  {
-    return make_iterator(
-      ordered_index_lower_bound(root(),header(),key,x,comp));
-  }
-
-  template<typename CompatibleKey>
-  iterator upper_bound(const CompatibleKey& x)const
-  {
-    return make_iterator(
-      ordered_index_upper_bound(root(),header(),key,x,comp));
-  }
-
-  template<typename CompatibleKey,typename CompatibleCompare>
-  iterator upper_bound(
-    const CompatibleKey& x,const CompatibleCompare& comp)const
-  {
-    return make_iterator(
-      ordered_index_upper_bound(root(),header(),key,x,comp));
-  }
-
-  template<typename CompatibleKey>
-  std::pair<iterator,iterator> equal_range(
-    const CompatibleKey& x)const
-  {
-    std::pair<node_type*,node_type*> p=
-      ordered_index_equal_range(root(),header(),key,x,comp);
-    return std::pair<iterator,iterator>(
-      make_iterator(p.first),make_iterator(p.second));
-  }
-
-  template<typename CompatibleKey,typename CompatibleCompare>
-  std::pair<iterator,iterator> equal_range(
-    const CompatibleKey& x,const CompatibleCompare& comp)const
-  {
-    std::pair<node_type*,node_type*> p=
-      ordered_index_equal_range(root(),header(),key,x,comp);
-    return std::pair<iterator,iterator>(
-      make_iterator(p.first),make_iterator(p.second));
-  }
-
-  /* range */
-
-  template<typename LowerBounder,typename UpperBounder>
-  std::pair<iterator,iterator>
-  range(LowerBounder lower,UpperBounder upper)const
-  {
-    typedef typename mpl::if_<
-      is_same<LowerBounder,unbounded_type>,
-      BOOST_DEDUCED_TYPENAME mpl::if_<
-        is_same<UpperBounder,unbounded_type>,
-        both_unbounded_tag,
-        lower_unbounded_tag
-      >::type,
-      BOOST_DEDUCED_TYPENAME mpl::if_<
-        is_same<UpperBounder,unbounded_type>,
-        upper_unbounded_tag,
-        none_unbounded_tag
-      >::type
-    >::type dispatch;
-
-    return range(lower,upper,dispatch());
-  }
-
-BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS:
-  ordered_index(const ctor_args_list& args_list,const allocator_type& al):
-    super(args_list.get_tail(),al),
-    key(tuples::get<0>(args_list.get_head())),
-    comp(tuples::get<1>(args_list.get_head()))
-  {
-    empty_initialize();
-  }
-
-  ordered_index(
-    const ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category>& x):
-    super(x),
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super(),
-#endif
-
-    key(x.key),
-    comp(x.comp)
-  {
-    /* Copy ctor just takes the key and compare objects from x. The rest is
-     * done in subsequent call to copy_().
-     */
-  }
-
-  ~ordered_index()
-  {
-    /* the container is guaranteed to be empty by now */
-  }
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  iterator       make_iterator(node_type* node){return iterator(node,this);}
-  const_iterator make_iterator(node_type* node)const
-    {return const_iterator(node,const_cast<ordered_index*>(this));}
-#else
-  iterator       make_iterator(node_type* node){return iterator(node);}
-  const_iterator make_iterator(node_type* node)const
-                   {return const_iterator(node);}
-#endif
-
-  void copy_(
-    const ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category>& x,
-    const copy_map_type& map)
-  {
-    if(!x.root()){
-      empty_initialize();
-    }
-    else{
-      header()->color()=x.header()->color();
-
-      node_type* root_cpy=map.find(static_cast<final_node_type*>(x.root()));
-      header()->parent()=root_cpy->impl();
-
-      node_type* leftmost_cpy=map.find(
-        static_cast<final_node_type*>(x.leftmost()));
-      header()->left()=leftmost_cpy->impl();
-
-      node_type* rightmost_cpy=map.find(
-        static_cast<final_node_type*>(x.rightmost()));
-      header()->right()=rightmost_cpy->impl();
-
-      typedef typename copy_map_type::const_iterator copy_map_iterator;
-      for(copy_map_iterator it=map.begin(),it_end=map.end();it!=it_end;++it){
-        node_type* org=it->first;
-        node_type* cpy=it->second;
-
-        cpy->color()=org->color();
-
-        node_impl_pointer parent_org=org->parent();
-        if(parent_org==node_impl_pointer(0))cpy->parent()=node_impl_pointer(0);
-        else{
-          node_type* parent_cpy=map.find(
-            static_cast<final_node_type*>(node_type::from_impl(parent_org)));
-          cpy->parent()=parent_cpy->impl();
-          if(parent_org->left()==org->impl()){
-            parent_cpy->left()=cpy->impl();
-          }
-          else if(parent_org->right()==org->impl()){
-            /* header() does not satisfy this nor the previous check */
-            parent_cpy->right()=cpy->impl();
-          }
-        }
-
-        if(org->left()==node_impl_pointer(0))
-          cpy->left()=node_impl_pointer(0);
-        if(org->right()==node_impl_pointer(0))
-          cpy->right()=node_impl_pointer(0);
-      }
-    }
-    
-    super::copy_(x,map);
-  }
-
-  node_type* insert_(value_param_type v,node_type* x)
-  {
-    link_info inf;
-    if(!link_point(key(v),inf,Category())){
-      return node_type::from_impl(inf.pos);
-    }
-
-    node_type* res=static_cast<node_type*>(super::insert_(v,x));
-    if(res==x){
-      node_impl_type::link(x->impl(),inf.side,inf.pos,header()->impl());
-    }
-    return res;
-  }
-
-  node_type* insert_(value_param_type v,node_type* position,node_type* x)
-  {
-    link_info inf;
-    if(!hinted_link_point(key(v),position,inf,Category())){
-      return node_type::from_impl(inf.pos);
-    }
-
-    node_type* res=static_cast<node_type*>(super::insert_(v,position,x));
-    if(res==x){
-      node_impl_type::link(x->impl(),inf.side,inf.pos,header()->impl());
-    }
-    return res;
-  }
-
-  void erase_(node_type* x)
-  {
-    node_impl_type::rebalance_for_erase(
-      x->impl(),header()->parent(),header()->left(),header()->right());
-    super::erase_(x);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    detach_iterators(x);
-#endif
-  }
-
-  void delete_all_nodes_()
-  {
-    delete_all_nodes(root());
-  }
-
-  void clear_()
-  {
-    super::clear_();
-    empty_initialize();
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super::detach_dereferenceable_iterators();
-#endif
-  }
-
-  void swap_(ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category>& x)
-  {
-    std::swap(key,x.key);
-    std::swap(comp,x.comp);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super::swap(x);
-#endif
-
-    super::swap_(x);
-  }
-
-  bool replace_(value_param_type v,node_type* x)
-  {
-    if(in_place(v,x,Category())){
-      return super::replace_(v,x);
-    }
-
-    node_type* next=x;
-    node_type::increment(next);
-
-    node_impl_type::rebalance_for_erase(
-      x->impl(),header()->parent(),header()->left(),header()->right());
-
-    BOOST_TRY{
-      link_info inf;
-      if(link_point(key(v),inf,Category())&&super::replace_(v,x)){
-        node_impl_type::link(x->impl(),inf.side,inf.pos,header()->impl());
-        return true;
-      }
-      node_impl_type::restore(x->impl(),next->impl(),header()->impl());
-      return false;
-    }
-    BOOST_CATCH(...){
-      node_impl_type::restore(x->impl(),next->impl(),header()->impl());
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  bool modify_(node_type* x)
-  {
-    bool b;
-    BOOST_TRY{
-      b=in_place(x->value(),x,Category());
-    }
-    BOOST_CATCH(...){
-      erase_(x);
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-    if(!b){
-      node_impl_type::rebalance_for_erase(
-        x->impl(),header()->parent(),header()->left(),header()->right());
-      BOOST_TRY{
-        link_info inf;
-        if(!link_point(key(x->value()),inf,Category())){
-          super::erase_(x);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-          detach_iterators(x);
-#endif
-          return false;
-        }
-        node_impl_type::link(x->impl(),inf.side,inf.pos,header()->impl());
-      }
-      BOOST_CATCH(...){
-        super::erase_(x);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-        detach_iterators(x);
-#endif
-
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-    }
-
-    BOOST_TRY{
-      if(!super::modify_(x)){
-        node_impl_type::rebalance_for_erase(
-          x->impl(),header()->parent(),header()->left(),header()->right());
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-        detach_iterators(x);
-#endif
-
-        return false;
-      }
-      else return true;
-    }
-    BOOST_CATCH(...){
-      node_impl_type::rebalance_for_erase(
-        x->impl(),header()->parent(),header()->left(),header()->right());
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-      detach_iterators(x);
-#endif
-
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  bool modify_rollback_(node_type* x)
-  {
-    if(in_place(x->value(),x,Category())){
-      return super::modify_rollback_(x);
-    }
-
-    node_type* next=x;
-    node_type::increment(next);
-
-    node_impl_type::rebalance_for_erase(
-      x->impl(),header()->parent(),header()->left(),header()->right());
-
-    BOOST_TRY{
-      link_info inf;
-      if(link_point(key(x->value()),inf,Category())&&
-         super::modify_rollback_(x)){
-        node_impl_type::link(x->impl(),inf.side,inf.pos,header()->impl());
-        return true;
-      }
-      node_impl_type::restore(x->impl(),next->impl(),header()->impl());
-      return false;
-    }
-    BOOST_CATCH(...){
-      node_impl_type::restore(x->impl(),next->impl(),header()->impl());
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  /* serialization */
-
-  template<typename Archive>
-  void save_(
-    Archive& ar,const unsigned int version,const index_saver_type& sm)const
-  {
-    save_(ar,version,sm,Category());
-  }
-
-  template<typename Archive>
-  void load_(Archive& ar,const unsigned int version,const index_loader_type& lm)
-  {
-    load_(ar,version,lm,Category());
-  }
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-  /* invariant stuff */
-
-  bool invariant_()const
-  {
-    if(size()==0||begin()==end()){
-      if(size()!=0||begin()!=end()||
-         header()->left()!=header()->impl()||
-         header()->right()!=header()->impl())return false;
-    }
-    else{
-      if((size_type)std::distance(begin(),end())!=size())return false;
-
-      std::size_t len=node_impl_type::black_count(
-        leftmost()->impl(),root()->impl());
-      for(const_iterator it=begin(),it_end=end();it!=it_end;++it){
-        node_type* x=it.get_node();
-        node_type* left_x=node_type::from_impl(x->left());
-        node_type* right_x=node_type::from_impl(x->right());
-
-        if(x->color()==red){
-          if((left_x&&left_x->color()==red)||
-             (right_x&&right_x->color()==red))return false;
-        }
-        if(left_x&&comp(key(x->value()),key(left_x->value())))return false;
-        if(right_x&&comp(key(right_x->value()),key(x->value())))return false;
-        if(!left_x&&!right_x&&
-           node_impl_type::black_count(x->impl(),root()->impl())!=len)
-          return false;
-      }
-    
-      if(leftmost()->impl()!=node_impl_type::minimum(root()->impl()))
-        return false;
-      if(rightmost()->impl()!=node_impl_type::maximum(root()->impl()))
-        return false;
-    }
-
-    return super::invariant_();
-  }
-
-  
-  /* This forwarding function eases things for the boost::mem_fn construct
-   * in BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT. Actually,
-   * final_check_invariant is already an inherited member function of
-   * ordered_index.
-   */
-  void check_invariant_()const{this->final_check_invariant_();}
-#endif
-
-private:
-  node_type* header()const{return this->final_header();}
-  node_type* root()const{return node_type::from_impl(header()->parent());}
-  node_type* leftmost()const{return node_type::from_impl(header()->left());}
-  node_type* rightmost()const{return node_type::from_impl(header()->right());}
-
-  void empty_initialize()
-  {
-    header()->color()=red;
-    /* used to distinguish header() from root, in iterator.operator++ */
-    
-    header()->parent()=node_impl_pointer(0);
-    header()->left()=header()->impl();
-    header()->right()=header()->impl();
-  }
-
-  struct link_info
-  {
-    link_info():side(to_left){}
-
-    ordered_index_side side;
-    node_impl_pointer  pos;
-  };
-
-  bool link_point(key_param_type k,link_info& inf,ordered_unique_tag)
-  {
-    node_type* y=header();
-    node_type* x=root();
-    bool c=true;
-    while(x){
-      y=x;
-      c=comp(k,key(x->value()));
-      x=node_type::from_impl(c?x->left():x->right());
-    }
-    node_type* yy=y;
-    if(c){
-      if(yy==leftmost()){
-        inf.side=to_left;
-        inf.pos=y->impl();
-        return true;
-      }
-      else node_type::decrement(yy);
-    }
-
-    if(comp(key(yy->value()),k)){
-      inf.side=c?to_left:to_right;
-      inf.pos=y->impl();
-      return true;
-    }
-    else{
-      inf.pos=yy->impl();
-      return false;
-    }
-  }
-
-  bool link_point(key_param_type k,link_info& inf,ordered_non_unique_tag)
-  {
-    node_type* y=header();
-    node_type* x=root();
-    bool c=true;
-    while (x){
-     y=x;
-     c=comp(k,key(x->value()));
-     x=node_type::from_impl(c?x->left():x->right());
-    }
-    inf.side=c?to_left:to_right;
-    inf.pos=y->impl();
-    return true;
-  }
-
-  bool lower_link_point(key_param_type k,link_info& inf,ordered_non_unique_tag)
-  {
-    node_type* y=header();
-    node_type* x=root();
-    bool c=false;
-    while (x){
-     y=x;
-     c=comp(key(x->value()),k);
-     x=node_type::from_impl(c?x->right():x->left());
-    }
-    inf.side=c?to_right:to_left;
-    inf.pos=y->impl();
-    return true;
-  }
-
-  bool hinted_link_point(
-    key_param_type k,node_type* position,link_info& inf,ordered_unique_tag)
-  {
-    if(position->impl()==header()->left()){ 
-      if(size()>0&&comp(k,key(position->value()))){
-        inf.side=to_left;
-        inf.pos=position->impl();
-        return true;
-      }
-      else return link_point(k,inf,ordered_unique_tag());
-    } 
-    else if(position==header()){ 
-      if(comp(key(rightmost()->value()),k)){
-        inf.side=to_right;
-        inf.pos=rightmost()->impl();
-        return true;
-      }
-      else return link_point(k,inf,ordered_unique_tag());
-    } 
-    else{
-      node_type* before=position;
-      node_type::decrement(before);
-      if(comp(key(before->value()),k)&&comp(k,key(position->value()))){
-        if(before->right()==node_impl_pointer(0)){
-          inf.side=to_right;
-          inf.pos=before->impl();
-          return true;
-        }
-        else{
-          inf.side=to_left;
-          inf.pos=position->impl();
-          return true;
-        }
-      } 
-      else return link_point(k,inf,ordered_unique_tag());
-    }
-  }
-
-  bool hinted_link_point(
-    key_param_type k,node_type* position,link_info& inf,ordered_non_unique_tag)
-  {
-    if(position->impl()==header()->left()){ 
-      if(size()>0&&!comp(key(position->value()),k)){
-        inf.side=to_left;
-        inf.pos=position->impl();
-        return true;
-      }
-      else return lower_link_point(k,inf,ordered_non_unique_tag());
-    } 
-    else if(position==header()){
-      if(!comp(k,key(rightmost()->value()))){
-        inf.side=to_right;
-        inf.pos=rightmost()->impl();
-        return true;
-      }
-      else return link_point(k,inf,ordered_non_unique_tag());
-    } 
-    else{
-      node_type* before=position;
-      node_type::decrement(before);
-      if(!comp(k,key(before->value()))){
-        if(!comp(key(position->value()),k)){
-          if(before->right()==node_impl_pointer(0)){
-            inf.side=to_right;
-            inf.pos=before->impl();
-            return true;
-          }
-          else{
-            inf.side=to_left;
-            inf.pos=position->impl();
-            return true;
-          }
-        }
-        else return lower_link_point(k,inf,ordered_non_unique_tag());
-      } 
-      else return link_point(k,inf,ordered_non_unique_tag());
-    }
-  }
-
-  void delete_all_nodes(node_type* x)
-  {
-    if(!x)return;
-
-    delete_all_nodes(node_type::from_impl(x->left()));
-    delete_all_nodes(node_type::from_impl(x->right()));
-    this->final_delete_node_(static_cast<final_node_type*>(x));
-  }
-
-  bool in_place(value_param_type v,node_type* x,ordered_unique_tag)
-  {
-    node_type* y;
-    if(x!=leftmost()){
-      y=x;
-      node_type::decrement(y);
-      if(!comp(key(y->value()),key(v)))return false;
-    }
-
-    y=x;
-    node_type::increment(y);
-    return y==header()||comp(key(v),key(y->value()));
-  }
-
-  bool in_place(value_param_type v,node_type* x,ordered_non_unique_tag)
-  {
-    node_type* y;
-    if(x!=leftmost()){
-      y=x;
-      node_type::decrement(y);
-      if(comp(key(v),key(y->value())))return false;
-    }
-
-    y=x;
-    node_type::increment(y);
-    return y==header()||!comp(key(y->value()),key(v));
-  }
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  void detach_iterators(node_type* x)
-  {
-    iterator it=make_iterator(x);
-    safe_mode::detach_equivalent_iterators(it);
-  }
-#endif
-
-  template<typename LowerBounder,typename UpperBounder>
-  std::pair<iterator,iterator>
-  range(LowerBounder lower,UpperBounder upper,none_unbounded_tag)const
-  {
-    node_type* y=header();
-    node_type* z=root();
-
-    while(z){
-      if(!lower(key(z->value()))){
-        z=node_type::from_impl(z->right());
-      }
-      else if(!upper(key(z->value()))){
-        y=z;
-        z=node_type::from_impl(z->left());
-      }
-      else{
-        return std::pair<iterator,iterator>(
-          make_iterator(
-            lower_range(node_type::from_impl(z->left()),z,lower)),
-          make_iterator(
-            upper_range(node_type::from_impl(z->right()),y,upper)));
-      }
-    }
-
-    return std::pair<iterator,iterator>(make_iterator(y),make_iterator(y));
-  }
-
-  template<typename LowerBounder,typename UpperBounder>
-  std::pair<iterator,iterator>
-  range(LowerBounder,UpperBounder upper,lower_unbounded_tag)const
-  {
-    return std::pair<iterator,iterator>(
-      begin(),
-      make_iterator(upper_range(root(),header(),upper)));
-  }
-
-  template<typename LowerBounder,typename UpperBounder>
-  std::pair<iterator,iterator>
-  range(LowerBounder lower,UpperBounder,upper_unbounded_tag)const
-  {
-    return std::pair<iterator,iterator>(
-      make_iterator(lower_range(root(),header(),lower)),
-      end());
-  }
-
-  template<typename LowerBounder,typename UpperBounder>
-  std::pair<iterator,iterator>
-  range(LowerBounder,UpperBounder,both_unbounded_tag)const
-  {
-    return std::pair<iterator,iterator>(begin(),end());
-  }
-
-  template<typename LowerBounder>
-  node_type * lower_range(node_type* top,node_type* y,LowerBounder lower)const
-  {
-    while(top){
-      if(lower(key(top->value()))){
-        y=top;
-        top=node_type::from_impl(top->left());
-      }
-      else top=node_type::from_impl(top->right());
-    }
-
-    return y;
-  }
-
-  template<typename UpperBounder>
-  node_type * upper_range(node_type* top,node_type* y,UpperBounder upper)const
-  {
-    while(top){
-      if(!upper(key(top->value()))){
-        y=top;
-        top=node_type::from_impl(top->left());
-      }
-      else top=node_type::from_impl(top->right());
-    }
-
-    return y;
-  }
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  template<typename Archive>
-  void save_(
-    Archive& ar,const unsigned int version,const index_saver_type& sm,
-    ordered_unique_tag)const
-  {
-    super::save_(ar,version,sm);
-  }
-
-  template<typename Archive>
-  void load_(
-    Archive& ar,const unsigned int version,const index_loader_type& lm,
-    ordered_unique_tag)
-  {
-    super::load_(ar,version,lm);
-  }
-
-  template<typename Archive>
-  void save_(
-    Archive& ar,const unsigned int version,const index_saver_type& sm,
-    ordered_non_unique_tag)const
-  {
-    typedef duplicates_iterator<node_type,value_compare> dup_iterator;
-
-    sm.save(
-      dup_iterator(begin().get_node(),end().get_node(),value_comp()),
-      dup_iterator(end().get_node(),value_comp()),
-      ar,version);
-    super::save_(ar,version,sm);
-  }
-
-  template<typename Archive>
-  void load_(
-    Archive& ar,const unsigned int version,const index_loader_type& lm,
-    ordered_non_unique_tag)
-  {
-    lm.load(
-      ::boost::bind(&ordered_index::rearranger,this,_1,_2),
-      ar,version);
-    super::load_(ar,version,lm);
-  }
-
-  void rearranger(node_type* position,node_type *x)
-  {
-    if(!position||comp(key(position->value()),key(x->value()))){
-      position=lower_bound(key(x->value())).get_node();
-    }
-    else if(comp(key(x->value()),key(position->value()))){
-      /* inconsistent rearrangement */
-      throw_exception(
-        archive::archive_exception(
-          archive::archive_exception::other_exception));
-    }
-    else node_type::increment(position);
-
-    if(position!=x){
-      node_impl_type::rebalance_for_erase(
-        x->impl(),header()->parent(),header()->left(),header()->right());
-      node_impl_type::restore(
-        x->impl(),position->impl(),header()->impl());
-    }
-  }
-#endif /* serialization */
-
-  key_from_value key;
-  key_compare    comp;
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\
-    BOOST_WORKAROUND(__MWERKS__,<=0x3003)
-#pragma parse_mfunc_templ reset
-#endif
-};
-
-/* comparison */
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2
->
-bool operator==(
-  const ordered_index<KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x,
-  const ordered_index<KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y)
-{
-  return x.size()==y.size()&&std::equal(x.begin(),x.end(),y.begin());
-}
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2
->
-bool operator<(
-  const ordered_index<KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x,
-  const ordered_index<KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y)
-{
-  return std::lexicographical_compare(x.begin(),x.end(),y.begin(),y.end());
-}
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2
->
-bool operator!=(
-  const ordered_index<KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x,
-  const ordered_index<KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y)
-{
-  return !(x==y);
-}
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2
->
-bool operator>(
-  const ordered_index<KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x,
-  const ordered_index<KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y)
-{
-  return y<x;
-}
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2
->
-bool operator>=(
-  const ordered_index<KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x,
-  const ordered_index<KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y)
-{
-  return !(x<y);
-}
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2
->
-bool operator<=(
-  const ordered_index<KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x,
-  const ordered_index<KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y)
-{
-  return !(x>y);
-}
-
-/*  specialized algorithms */
-
-template<
-  typename KeyFromValue,typename Compare,
-  typename SuperMeta,typename TagList,typename Category
->
-void swap(
-  ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category>& x,
-  ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category>& y)
-{
-  x.swap(y);
-}
-
-} /* namespace multi_index::detail */
-
-/* ordered_index specifiers */
-
-template<typename Arg1,typename Arg2,typename Arg3>
-struct ordered_unique
-{
-  typedef typename detail::ordered_index_args<
-    Arg1,Arg2,Arg3>                                index_args;
-  typedef typename index_args::tag_list_type::type tag_list_type;
-  typedef typename index_args::key_from_value_type key_from_value_type;
-  typedef typename index_args::compare_type        compare_type;
-
-  template<typename Super>
-  struct node_class
-  {
-    typedef detail::ordered_index_node<Super> type;
-  };
-
-  template<typename SuperMeta>
-  struct index_class
-  {
-    typedef detail::ordered_index<
-      key_from_value_type,compare_type,
-      SuperMeta,tag_list_type,detail::ordered_unique_tag> type;
-  };
-};
-
-template<typename Arg1,typename Arg2,typename Arg3>
-struct ordered_non_unique
-{
-  typedef detail::ordered_index_args<
-    Arg1,Arg2,Arg3>                                index_args;
-  typedef typename index_args::tag_list_type::type tag_list_type;
-  typedef typename index_args::key_from_value_type key_from_value_type;
-  typedef typename index_args::compare_type        compare_type;
-
-  template<typename Super>
-  struct node_class
-  {
-    typedef detail::ordered_index_node<Super> type;
-  };
-
-  template<typename SuperMeta>
-  struct index_class
-  {
-    typedef detail::ordered_index<
-      key_from_value_type,compare_type,
-      SuperMeta,tag_list_type,detail::ordered_non_unique_tag> type;
-  };
-};
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-/* Boost.Foreach compatibility */
-
-template<
-  typename KeyFromValue,typename Compare,
-  typename SuperMeta,typename TagList,typename Category
->
-inline boost::mpl::true_* boost_foreach_is_noncopyable(
-  boost::multi_index::detail::ordered_index<
-    KeyFromValue,Compare,SuperMeta,TagList,Category>*&,
-  boost::foreach::tag)
-{
-  return 0;
-}
-
-#undef BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/ordered_index_fwd.hpp b/SRC/Boost/boost/multi_index/ordered_index_fwd.hpp
deleted file mode 100755
index 2388a7e..0000000
--- a/SRC/Boost/boost/multi_index/ordered_index_fwd.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_ORDERED_INDEX_FWD_HPP
-#define BOOST_MULTI_INDEX_ORDERED_INDEX_FWD_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/multi_index/detail/ord_index_args.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<
-  typename KeyFromValue,typename Compare,
-  typename SuperMeta,typename TagList,typename Category
->
-class ordered_index;
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2
->
-bool operator==(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y);
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2
->
-bool operator<(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y);
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2
->
-bool operator!=(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y);
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2
->
-bool operator>(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y);
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2
->
-bool operator>=(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y);
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2
->
-bool operator<=(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y);
-
-template<
-  typename KeyFromValue,typename Compare,
-  typename SuperMeta,typename TagList,typename Category
->
-void swap(
-  ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category>& x,
-  ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category>& y);
-
-} /* namespace multi_index::detail */
-
-/* ordered_index specifiers */
-
-template<typename Arg1,typename Arg2=mpl::na,typename Arg3=mpl::na>
-struct ordered_unique;
-
-template<typename Arg1,typename Arg2=mpl::na,typename Arg3=mpl::na>
-struct ordered_non_unique;
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/safe_mode_errors.hpp b/SRC/Boost/boost/multi_index/safe_mode_errors.hpp
deleted file mode 100755
index 34dce33..0000000
--- a/SRC/Boost/boost/multi_index/safe_mode_errors.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_SAFE_MODE_ERRORS_HPP
-#define BOOST_MULTI_INDEX_SAFE_MODE_ERRORS_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace safe_mode{
-
-/* Error codes for Boost.MultiIndex safe mode. These go in a separate
- * header so that the user can include it when redefining
- * BOOST_MULTI_INDEX_SAFE_MODE_ASSERT prior to the inclusion of
- * any other header of Boost.MultiIndex.
- */
-
-enum error_code
-{
-  invalid_iterator=0,
-  not_dereferenceable_iterator,
-  not_incrementable_iterator,
-  not_decrementable_iterator,
-  not_owner,
-  not_same_owner,
-  invalid_range,
-  inside_range,
-  out_of_bounds,
-  same_container
-};
-
-} /* namespace multi_index::safe_mode */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/sequenced_index.hpp b/SRC/Boost/boost/multi_index/sequenced_index.hpp
deleted file mode 100755
index 964688b..0000000
--- a/SRC/Boost/boost/multi_index/sequenced_index.hpp
+++ /dev/null
@@ -1,933 +0,0 @@
-/* Copyright 2003-2011 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_SEQUENCED_INDEX_HPP
-#define BOOST_MULTI_INDEX_SEQUENCED_INDEX_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/call_traits.hpp>
-#include <boost/detail/allocator_utilities.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/foreach_fwd.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/multi_index/detail/access_specifier.hpp>
-#include <boost/multi_index/detail/bidir_node_iterator.hpp>
-#include <boost/multi_index/detail/index_node_base.hpp>
-#include <boost/multi_index/detail/safe_ctr_proxy.hpp>
-#include <boost/multi_index/detail/safe_mode.hpp>
-#include <boost/multi_index/detail/scope_guard.hpp>
-#include <boost/multi_index/detail/seq_index_node.hpp>
-#include <boost/multi_index/detail/seq_index_ops.hpp>
-#include <boost/multi_index/sequenced_index_fwd.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <cstddef>
-#include <functional>
-#include <utility>
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/bind.hpp>
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-#define BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT                          \
-  detail::scope_guard BOOST_JOIN(check_invariant_,__LINE__)=                 \
-    detail::make_obj_guard(*this,&sequenced_index::check_invariant_);        \
-  BOOST_JOIN(check_invariant_,__LINE__).touch();
-#else
-#define BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* sequenced_index adds a layer of sequenced indexing to a given Super */
-
-template<typename SuperMeta,typename TagList>
-class sequenced_index:
-  BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS SuperMeta::type
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-  ,public safe_ctr_proxy_impl<
-    bidir_node_iterator<
-      sequenced_index_node<typename SuperMeta::type::node_type> >,
-    sequenced_index<SuperMeta,TagList> >
-#else
-  ,public safe_mode::safe_container<
-    sequenced_index<SuperMeta,TagList> >
-#endif
-#endif
-
-{ 
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\
-    BOOST_WORKAROUND(__MWERKS__,<=0x3003)
-/* The "ISO C++ Template Parser" option in CW8.3 has a problem with the
- * lifetime of const references bound to temporaries --precisely what
- * scopeguards are.
- */
-
-#pragma parse_mfunc_templ off
-#endif
-
-  typedef typename SuperMeta::type                    super;
-
-protected:
-  typedef sequenced_index_node<
-    typename super::node_type>                        node_type;
-
-private:
-  typedef typename node_type::impl_type               node_impl_type;
- 
-public:
-  /* types */
-
-  typedef typename node_type::value_type              value_type;
-  typedef tuples::null_type                           ctor_args;
-  typedef typename super::final_allocator_type        allocator_type;
-  typedef typename allocator_type::reference          reference;
-  typedef typename allocator_type::const_reference    const_reference;
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-  typedef safe_mode::safe_iterator<
-    bidir_node_iterator<node_type>,
-    safe_ctr_proxy<
-      bidir_node_iterator<node_type> > >              iterator;
-#else
-  typedef safe_mode::safe_iterator<
-    bidir_node_iterator<node_type>,
-    sequenced_index>                                  iterator;
-#endif
-#else
-  typedef bidir_node_iterator<node_type>              iterator;
-#endif
-
-  typedef iterator                                    const_iterator;
-
-  typedef std::size_t                                 size_type;      
-  typedef std::ptrdiff_t                              difference_type;
-  typedef typename allocator_type::pointer            pointer;
-  typedef typename allocator_type::const_pointer      const_pointer;
-  typedef typename
-    boost::reverse_iterator<iterator>                 reverse_iterator;
-  typedef typename
-    boost::reverse_iterator<const_iterator>           const_reverse_iterator;
-  typedef TagList                                     tag_list;
-
-protected:
-  typedef typename super::final_node_type     final_node_type;
-  typedef tuples::cons<
-    ctor_args, 
-    typename super::ctor_args_list>           ctor_args_list;
-  typedef typename mpl::push_front<
-    typename super::index_type_list,
-    sequenced_index>::type                    index_type_list;
-  typedef typename mpl::push_front<
-    typename super::iterator_type_list,
-    iterator>::type                           iterator_type_list;
-  typedef typename mpl::push_front<
-    typename super::const_iterator_type_list,
-    const_iterator>::type                     const_iterator_type_list;
-  typedef typename super::copy_map_type       copy_map_type;
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  typedef typename super::index_saver_type    index_saver_type;
-  typedef typename super::index_loader_type   index_loader_type;
-#endif
-
-private:
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-  typedef safe_ctr_proxy_impl<
-    bidir_node_iterator<node_type>,
-    sequenced_index>                          safe_super;
-#else
-  typedef safe_mode::safe_container<
-    sequenced_index>                          safe_super;
-#endif
-#endif
-
-  typedef typename call_traits<value_type>::param_type value_param_type;
-
-public:
-
-  /* construct/copy/destroy
-   * Default and copy ctors are in the protected section as indices are
-   * not supposed to be created on their own. No range ctor either.
-   */
-
-  sequenced_index<SuperMeta,TagList>& operator=(
-    const sequenced_index<SuperMeta,TagList>& x)
-  {
-    this->final()=x.final();
-    return *this;
-  }
-
-  template <class InputIterator>
-  void assign(InputIterator first,InputIterator last)
-  {
-    assign_iter(first,last,mpl::not_<is_integral<InputIterator> >());
-  }
-
-  void assign(size_type n,value_param_type value)
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    clear();
-    for(size_type i=0;i<n;++i)push_back(value);
-  }
-    
-  allocator_type get_allocator()const
-  {
-    return this->final().get_allocator();
-  }
-
-  /* iterators */
-
-  iterator               begin()
-    {return make_iterator(node_type::from_impl(header()->next()));}
-  const_iterator         begin()const
-    {return make_iterator(node_type::from_impl(header()->next()));}
-  iterator               end(){return make_iterator(header());}
-  const_iterator         end()const{return make_iterator(header());}
-  reverse_iterator       rbegin(){return make_reverse_iterator(end());}
-  const_reverse_iterator rbegin()const{return make_reverse_iterator(end());}
-  reverse_iterator       rend(){return make_reverse_iterator(begin());}
-  const_reverse_iterator rend()const{return make_reverse_iterator(begin());}
-  const_iterator         cbegin()const{return begin();}
-  const_iterator         cend()const{return end();}
-  const_reverse_iterator crbegin()const{return rbegin();}
-  const_reverse_iterator crend()const{return rend();}
-
-  iterator iterator_to(const value_type& x)
-  {
-    return make_iterator(node_from_value<node_type>(&x));
-  }
-
-  const_iterator iterator_to(const value_type& x)const
-  {
-    return make_iterator(node_from_value<node_type>(&x));
-  }
-
-  /* capacity */
-
-  bool      empty()const{return this->final_empty_();}
-  size_type size()const{return this->final_size_();}
-  size_type max_size()const{return this->final_max_size_();}
-
-  void resize(size_type n,value_param_type x=value_type())
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    if(n>size())insert(end(),n-size(),x);
-    else if(n<size()){
-      iterator it;
-      if(n<=size()/2){
-        it=begin();
-        std::advance(it,n);
-      }
-      else{
-        it=end();
-        for(size_type m=size()-n;m--;--it){}
-      }
-      erase(it,end());
-    }   
-  }
-
-  /* access: no non-const versions provided as sequenced_index
-   * handles const elements.
-   */
-
-  const_reference front()const{return *begin();}
-  const_reference back()const{return *--end();}
-
-  /* modifiers */
-
-  std::pair<iterator,bool> push_front(value_param_type x)
-                             {return insert(begin(),x);}
-  void                     pop_front(){erase(begin());}
-  std::pair<iterator,bool> push_back(value_param_type x)
-                             {return insert(end(),x);}
-  void                     pop_back(){erase(--end());}
-
-  std::pair<iterator,bool> insert(iterator position,value_param_type x)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    std::pair<final_node_type*,bool> p=this->final_insert_(x);
-    if(p.second&&position.get_node()!=header()){
-      relink(position.get_node(),p.first);
-    }
-    return std::pair<iterator,bool>(make_iterator(p.first),p.second);
-  }
-
-  void insert(iterator position,size_type n,value_param_type x)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    for(size_type i=0;i<n;++i)insert(position,x);
-  }
- 
-  template<typename InputIterator>
-  void insert(iterator position,InputIterator first,InputIterator last)
-  {
-    insert_iter(position,first,last,mpl::not_<is_integral<InputIterator> >());
-  }
-
-  iterator erase(iterator position)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    this->final_erase_(static_cast<final_node_type*>(position++.get_node()));
-    return position;
-  }
-  
-  iterator erase(iterator first,iterator last)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(first);
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(last);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(first,*this);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(last,*this);
-    BOOST_MULTI_INDEX_CHECK_VALID_RANGE(first,last);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    while(first!=last){
-      first=erase(first);
-    }
-    return first;
-  }
-
-  bool replace(iterator position,value_param_type x)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    return this->final_replace_(
-      x,static_cast<final_node_type*>(position.get_node()));
-  }
-
-  template<typename Modifier>
-  bool modify(iterator position,Modifier mod)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    /* MSVC++ 6.0 optimizer on safe mode code chokes if this
-     * this is not added. Left it for all compilers as it does no
-     * harm.
-     */
-
-    position.detach();
-#endif
-
-    return this->final_modify_(
-      mod,static_cast<final_node_type*>(position.get_node()));
-  }
-
-  template<typename Modifier,typename Rollback>
-  bool modify(iterator position,Modifier mod,Rollback back)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    /* MSVC++ 6.0 optimizer on safe mode code chokes if this
-     * this is not added. Left it for all compilers as it does no
-     * harm.
-     */
-
-    position.detach();
-#endif
-
-    return this->final_modify_(
-      mod,back,static_cast<final_node_type*>(position.get_node()));
-  }
-
-  void swap(sequenced_index<SuperMeta,TagList>& x)
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    this->final_swap_(x.final());
-  }
-
-  void clear()
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    this->final_clear_();
-  }
-
-  /* list operations */
-
-  void splice(iterator position,sequenced_index<SuperMeta,TagList>& x)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_CHECK_DIFFERENT_CONTAINER(*this,x);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    iterator first=x.begin(),last=x.end();
-    while(first!=last){
-      if(insert(position,*first).second)first=x.erase(first);
-      else ++first;
-    }
-  }
-
-  void splice(iterator position,sequenced_index<SuperMeta,TagList>& x,iterator i)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(i);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(i);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(i,x);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    if(&x==this){
-      if(position!=i)relink(position.get_node(),i.get_node());
-    }
-    else{
-      if(insert(position,*i).second){
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    /* MSVC++ 6.0 optimizer has a hard time with safe mode, and the following
-     * workaround is needed. Left it for all compilers as it does no
-     * harm.
-     */
-        i.detach();
-        x.erase(x.make_iterator(i.get_node()));
-#else
-        x.erase(i);
-#endif
-
-      }
-    }
-  }
-
-  void splice(
-    iterator position,sequenced_index<SuperMeta,TagList>& x,
-    iterator first,iterator last)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(first);
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(last);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(first,x);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(last,x);
-    BOOST_MULTI_INDEX_CHECK_VALID_RANGE(first,last);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    if(&x==this){
-      BOOST_MULTI_INDEX_CHECK_OUTSIDE_RANGE(position,first,last);
-      if(position!=last)relink(
-        position.get_node(),first.get_node(),last.get_node());
-    }
-    else{
-      while(first!=last){
-        if(insert(position,*first).second)first=x.erase(first);
-        else ++first;
-      }
-    }
-  }
-
-  void remove(value_param_type value)
-  {
-    sequenced_index_remove(
-      *this,std::bind2nd(std::equal_to<value_type>(),value));
-  }
-
-  template<typename Predicate>
-  void remove_if(Predicate pred)
-  {
-    sequenced_index_remove(*this,pred);
-  }
-
-  void unique()
-  {
-    sequenced_index_unique(*this,std::equal_to<value_type>());
-  }
-
-  template <class BinaryPredicate>
-  void unique(BinaryPredicate binary_pred)
-  {
-    sequenced_index_unique(*this,binary_pred);
-  }
-
-  void merge(sequenced_index<SuperMeta,TagList>& x)
-  {
-    sequenced_index_merge(*this,x,std::less<value_type>());
-  }
-
-  template <typename Compare>
-  void merge(sequenced_index<SuperMeta,TagList>& x,Compare comp)
-  {
-    sequenced_index_merge(*this,x,comp);
-  }
-
-  void sort()
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    sequenced_index_sort(header(),std::less<value_type>());
-  }
-
-  template <typename Compare>
-  void sort(Compare comp)
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    sequenced_index_sort(header(),comp);
-  }
-
-  void reverse()
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    node_impl_type::reverse(header()->impl());
-  }
-
-  /* rearrange operations */
-
-  void relocate(iterator position,iterator i)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(i);
-    BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(i);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(i,*this);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    if(position!=i)relink(position.get_node(),i.get_node());
-  }
-
-  void relocate(iterator position,iterator first,iterator last)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(first);
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(last);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(first,*this);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(last,*this);
-    BOOST_MULTI_INDEX_CHECK_VALID_RANGE(first,last);
-    BOOST_MULTI_INDEX_CHECK_OUTSIDE_RANGE(position,first,last);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    if(position!=last)relink(
-      position.get_node(),first.get_node(),last.get_node());
-  }
-    
-  template<typename InputIterator>
-  void rearrange(InputIterator first)
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    node_type* pos=header();
-    for(size_type s=size();s--;){
-      const value_type& v=*first++;
-      relink(pos,node_from_value<node_type>(&v));
-    }
-  }
-
-BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS:
-  sequenced_index(const ctor_args_list& args_list,const allocator_type& al):
-    super(args_list.get_tail(),al)
-  {
-    empty_initialize();
-  }
-
-  sequenced_index(const sequenced_index<SuperMeta,TagList>& x):
-    super(x)
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    ,safe_super()
-#endif
-
-  {
-    /* The actual copying takes place in subsequent call to copy_().
-     */
-  }
-
-  ~sequenced_index()
-  {
-    /* the container is guaranteed to be empty by now */
-  }
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  iterator       make_iterator(node_type* node){return iterator(node,this);}
-  const_iterator make_iterator(node_type* node)const
-    {return const_iterator(node,const_cast<sequenced_index*>(this));}
-#else
-  iterator       make_iterator(node_type* node){return iterator(node);}
-  const_iterator make_iterator(node_type* node)const
-                   {return const_iterator(node);}
-#endif
-
-  void copy_(
-    const sequenced_index<SuperMeta,TagList>& x,const copy_map_type& map)
-  {
-    node_type* org=x.header();
-    node_type* cpy=header();
-    do{
-      node_type* next_org=node_type::from_impl(org->next());
-      node_type* next_cpy=map.find(static_cast<final_node_type*>(next_org));
-      cpy->next()=next_cpy->impl();
-      next_cpy->prior()=cpy->impl();
-      org=next_org;
-      cpy=next_cpy;
-    }while(org!=x.header());
-
-    super::copy_(x,map);
-  }
-
-  node_type* insert_(value_param_type v,node_type* x)
-  {
-    node_type* res=static_cast<node_type*>(super::insert_(v,x));
-    if(res==x)link(x);
-    return res;
-  }
-
-  node_type* insert_(value_param_type v,node_type* position,node_type* x)
-  {
-    node_type* res=static_cast<node_type*>(super::insert_(v,position,x));
-    if(res==x)link(x);
-    return res;
-  }
-
-  void erase_(node_type* x)
-  {
-    unlink(x);
-    super::erase_(x);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    detach_iterators(x);
-#endif
-  }
-
-  void delete_all_nodes_()
-  {
-    for(node_type* x=node_type::from_impl(header()->next());x!=header();){
-      node_type* y=node_type::from_impl(x->next());
-      this->final_delete_node_(static_cast<final_node_type*>(x));
-      x=y;
-    }
-  }
-
-  void clear_()
-  {
-    super::clear_();
-    empty_initialize();
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super::detach_dereferenceable_iterators();
-#endif
-  }
-
-  void swap_(sequenced_index<SuperMeta,TagList>& x)
-  {
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super::swap(x);
-#endif
-
-    super::swap_(x);
-  }
-
-  bool replace_(value_param_type v,node_type* x)
-  {
-    return super::replace_(v,x);
-  }
-
-  bool modify_(node_type* x)
-  {
-    BOOST_TRY{
-      if(!super::modify_(x)){
-        unlink(x);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-        detach_iterators(x);
-#endif
-
-        return false;
-      }
-      else return true;
-    }
-    BOOST_CATCH(...){
-      unlink(x);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-      detach_iterators(x);
-#endif
-
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  bool modify_rollback_(node_type* x)
-  {
-    return super::modify_rollback_(x);
-  }
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  /* serialization */
-
-  template<typename Archive>
-  void save_(
-    Archive& ar,const unsigned int version,const index_saver_type& sm)const
-  {
-    sm.save(begin(),end(),ar,version);
-    super::save_(ar,version,sm);
-  }
-
-  template<typename Archive>
-  void load_(
-    Archive& ar,const unsigned int version,const index_loader_type& lm)
-  {
-    lm.load(
-      ::boost::bind(&sequenced_index::rearranger,this,_1,_2),
-      ar,version);
-    super::load_(ar,version,lm);
-  }
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-  /* invariant stuff */
-
-  bool invariant_()const
-  {
-    if(size()==0||begin()==end()){
-      if(size()!=0||begin()!=end()||
-         header()->next()!=header()->impl()||
-         header()->prior()!=header()->impl())return false;
-    }
-    else{
-      size_type s=0;
-      for(const_iterator it=begin(),it_end=end();it!=it_end;++it,++s){
-        if(it.get_node()->next()->prior()!=it.get_node()->impl())return false;
-        if(it.get_node()->prior()->next()!=it.get_node()->impl())return false;
-      }
-      if(s!=size())return false;
-    }
-
-    return super::invariant_();
-  }
-
-  /* This forwarding function eases things for the boost::mem_fn construct
-   * in BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT. Actually,
-   * final_check_invariant is already an inherited member function of index.
-   */
-  void check_invariant_()const{this->final_check_invariant_();}
-#endif
-
-private:
-  node_type* header()const{return this->final_header();}
-
-  void empty_initialize()
-  {
-    header()->prior()=header()->next()=header()->impl();
-  }
-
-  void link(node_type* x)
-  {
-    node_impl_type::link(x->impl(),header()->impl());
-  };
-
-  static void unlink(node_type* x)
-  {
-    node_impl_type::unlink(x->impl());
-  }
-
-  static void relink(node_type* position,node_type* x)
-  {
-    node_impl_type::relink(position->impl(),x->impl());
-  }
-
-  static void relink(node_type* position,node_type* first,node_type* last)
-  {
-    node_impl_type::relink(
-      position->impl(),first->impl(),last->impl());
-  }
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  void rearranger(node_type* position,node_type *x)
-  {
-    if(!position)position=header();
-    node_type::increment(position);
-    if(position!=x)relink(position,x);
-  }
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  void detach_iterators(node_type* x)
-  {
-    iterator it=make_iterator(x);
-    safe_mode::detach_equivalent_iterators(it);
-  }
-#endif
-
-  template <class InputIterator>
-  void assign_iter(InputIterator first,InputIterator last,mpl::true_)
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    clear();
-    for(;first!=last;++first)push_back(*first);
-  }
-
-  void assign_iter(size_type n,value_param_type value,mpl::false_)
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    clear();
-    for(size_type i=0;i<n;++i)push_back(value);
-  }
-
-  template<typename InputIterator>
-  void insert_iter(
-    iterator position,InputIterator first,InputIterator last,mpl::true_)
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    for(;first!=last;++first)insert(position,*first);
-  }
-
-  void insert_iter(
-    iterator position,size_type n,value_param_type x,mpl::false_)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    for(size_type i=0;i<n;++i)insert(position,x);
-  }
- 
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\
-    BOOST_WORKAROUND(__MWERKS__,<=0x3003)
-#pragma parse_mfunc_templ reset
-#endif
-};
-
-/* comparison */
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator==(
-  const sequenced_index<SuperMeta1,TagList1>& x,
-  const sequenced_index<SuperMeta2,TagList2>& y)
-{
-  return x.size()==y.size()&&std::equal(x.begin(),x.end(),y.begin());
-}
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator<(
-  const sequenced_index<SuperMeta1,TagList1>& x,
-  const sequenced_index<SuperMeta2,TagList2>& y)
-{
-  return std::lexicographical_compare(x.begin(),x.end(),y.begin(),y.end());
-}
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator!=(
-  const sequenced_index<SuperMeta1,TagList1>& x,
-  const sequenced_index<SuperMeta2,TagList2>& y)
-{
-  return !(x==y);
-}
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator>(
-  const sequenced_index<SuperMeta1,TagList1>& x,
-  const sequenced_index<SuperMeta2,TagList2>& y)
-{
-  return y<x;
-}
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator>=(
-  const sequenced_index<SuperMeta1,TagList1>& x,
-  const sequenced_index<SuperMeta2,TagList2>& y)
-{
-  return !(x<y);
-}
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator<=(
-  const sequenced_index<SuperMeta1,TagList1>& x,
-  const sequenced_index<SuperMeta2,TagList2>& y)
-{
-  return !(x>y);
-}
-
-/*  specialized algorithms */
-
-template<typename SuperMeta,typename TagList>
-void swap(
-  sequenced_index<SuperMeta,TagList>& x,
-  sequenced_index<SuperMeta,TagList>& y)
-{
-  x.swap(y);
-}
-
-} /* namespace multi_index::detail */
-
-/* sequenced index specifier */
-
-template <typename TagList>
-struct sequenced
-{
-  BOOST_STATIC_ASSERT(detail::is_tag<TagList>::value);
-
-  template<typename Super>
-  struct node_class
-  {
-    typedef detail::sequenced_index_node<Super> type;
-  };
-
-  template<typename SuperMeta>
-  struct index_class
-  {
-    typedef detail::sequenced_index<SuperMeta,typename TagList::type> type;
-  };
-};
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-/* Boost.Foreach compatibility */
-
-template<typename SuperMeta,typename TagList>
-inline boost::mpl::true_* boost_foreach_is_noncopyable(
-  boost::multi_index::detail::sequenced_index<SuperMeta,TagList>*&,
-  boost::foreach::tag)
-{
-  return 0;
-}
-
-#undef BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/sequenced_index_fwd.hpp b/SRC/Boost/boost/multi_index/sequenced_index_fwd.hpp
deleted file mode 100755
index 9705578..0000000
--- a/SRC/Boost/boost/multi_index/sequenced_index_fwd.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_SEQUENCED_INDEX_FWD_HPP
-#define BOOST_MULTI_INDEX_SEQUENCED_INDEX_FWD_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/multi_index/tag.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<typename SuperMeta,typename TagList>
-class sequenced_index;
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator==(
-  const sequenced_index<SuperMeta1,TagList1>& x,
-  const sequenced_index<SuperMeta2,TagList2>& y);
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator<(
-  const sequenced_index<SuperMeta1,TagList1>& x,
-  const sequenced_index<SuperMeta2,TagList2>& y);
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator!=(
-  const sequenced_index<SuperMeta1,TagList1>& x,
-  const sequenced_index<SuperMeta2,TagList2>& y);
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator>(
-  const sequenced_index<SuperMeta1,TagList1>& x,
-  const sequenced_index<SuperMeta2,TagList2>& y);
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator>=(
-  const sequenced_index<SuperMeta1,TagList1>& x,
-  const sequenced_index<SuperMeta2,TagList2>& y);
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator<=(
-  const sequenced_index<SuperMeta1,TagList1>& x,
-  const sequenced_index<SuperMeta2,TagList2>& y);
-
-template<typename SuperMeta,typename TagList>
-void swap(
-  sequenced_index<SuperMeta,TagList>& x,
-  sequenced_index<SuperMeta,TagList>& y);
-
-} /* namespace multi_index::detail */
-
-/* index specifiers */
-
-template <typename TagList=tag<> >
-struct sequenced;
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/multi_index/tag.hpp b/SRC/Boost/boost/multi_index/tag.hpp
deleted file mode 100755
index a89dd30..0000000
--- a/SRC/Boost/boost/multi_index/tag.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_TAG_HPP
-#define BOOST_MULTI_INDEX_TAG_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/multi_index/detail/no_duplicate_tags.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/transform.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/facilities/intercept.hpp> 
-#include <boost/preprocessor/repetition/enum_binary_params.hpp> 
-#include <boost/preprocessor/repetition/enum_params.hpp> 
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-
-/* A wrapper of mpl::vector used to hide MPL from the user.
- * tag contains types used as tag names for indices in get() functions.
- */
-
-/* This user_definable macro limits the number of elements of a tag;
- * useful for shortening resulting symbol names (MSVC++ 6.0, for instance,
- * has problems coping with very long symbol names.)
- */
-
-#if !defined(BOOST_MULTI_INDEX_LIMIT_TAG_SIZE)
-#if defined(BOOST_MSVC)&&(BOOST_MSVC<1300)
-#define BOOST_MULTI_INDEX_LIMIT_TAG_SIZE 3
-#else
-#define BOOST_MULTI_INDEX_LIMIT_TAG_SIZE BOOST_MPL_LIMIT_VECTOR_SIZE
-#endif
-#endif
-
-#if BOOST_MULTI_INDEX_LIMIT_TAG_SIZE<BOOST_MPL_LIMIT_VECTOR_SIZE
-#define BOOST_MULTI_INDEX_TAG_SIZE BOOST_MULTI_INDEX_LIMIT_TAG_SIZE
-#else
-#define BOOST_MULTI_INDEX_TAG_SIZE BOOST_MPL_LIMIT_VECTOR_SIZE
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-struct tag_marker{};
-
-template<typename T>
-struct is_tag
-{
-  BOOST_STATIC_CONSTANT(bool,value=(is_base_and_derived<tag_marker,T>::value));
-};
-
-} /* namespace multi_index::detail */
-
-template<
-  BOOST_PP_ENUM_BINARY_PARAMS(
-    BOOST_MULTI_INDEX_TAG_SIZE,
-    typename T,
-    =mpl::na BOOST_PP_INTERCEPT) 
->
-struct tag:private detail::tag_marker
-{
-  /* The mpl::transform pass produces shorter symbols (without
-   * trailing mpl::na's.)
-   */
-
-  typedef typename mpl::transform<
-    mpl::vector<BOOST_PP_ENUM_PARAMS(BOOST_MULTI_INDEX_TAG_SIZE,T)>,
-    mpl::identity<mpl::_1>
-  >::type type;
-
-  BOOST_STATIC_ASSERT(detail::no_duplicate_tags<type>::value);
-};
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#undef BOOST_MULTI_INDEX_TAG_SIZE
-
-#endif
diff --git a/SRC/Boost/boost/multi_index_container.hpp b/SRC/Boost/boost/multi_index_container.hpp
deleted file mode 100755
index b9c0b15..0000000
--- a/SRC/Boost/boost/multi_index_container.hpp
+++ /dev/null
@@ -1,1143 +0,0 @@
-/* Multiply indexed container.
- *
- * Copyright 2003-2010 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_HPP
-#define BOOST_MULTI_INDEX_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <algorithm>
-#include <boost/detail/allocator_utilities.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/mpl/find_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/multi_index_container_fwd.hpp>
-#include <boost/multi_index/detail/access_specifier.hpp>
-#include <boost/multi_index/detail/adl_swap.hpp>
-#include <boost/multi_index/detail/base_type.hpp>
-#include <boost/multi_index/detail/converter.hpp>
-#include <boost/multi_index/detail/header_holder.hpp>
-#include <boost/multi_index/detail/has_tag.hpp>
-#include <boost/multi_index/detail/no_duplicate_tags.hpp>
-#include <boost/multi_index/detail/prevent_eti.hpp>
-#include <boost/multi_index/detail/safe_mode.hpp>
-#include <boost/multi_index/detail/scope_guard.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/utility/base_from_member.hpp>
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/multi_index/detail/archive_constructed.hpp>
-#include <boost/multi_index/detail/serialization_version.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/throw_exception.hpp> 
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-#include <boost/multi_index/detail/invariant_assert.hpp>
-#define BOOST_MULTI_INDEX_CHECK_INVARIANT                                    \
-  detail::scope_guard BOOST_JOIN(check_invariant_,__LINE__)=                 \
-    detail::make_obj_guard(*this,&multi_index_container::check_invariant_);  \
-  BOOST_JOIN(check_invariant_,__LINE__).touch();
-#else
-#define BOOST_MULTI_INDEX_CHECK_INVARIANT
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-template<typename Value,typename IndexSpecifierList,typename Allocator>
-class multi_index_container:
-  private ::boost::base_from_member<
-    typename boost::detail::allocator::rebind_to<
-      Allocator,
-      typename detail::multi_index_node_type<
-        Value,IndexSpecifierList,Allocator>::type
-    >::type>,
-  BOOST_MULTI_INDEX_PRIVATE_IF_MEMBER_TEMPLATE_FRIENDS detail::header_holder<
-    typename detail::prevent_eti<
-      Allocator,
-      typename boost::detail::allocator::rebind_to<
-        Allocator,
-        typename detail::multi_index_node_type<
-          Value,IndexSpecifierList,Allocator>::type
-      >::type
-    >::type::pointer,
-    multi_index_container<Value,IndexSpecifierList,Allocator> >,
-  public detail::multi_index_base_type<
-    Value,IndexSpecifierList,Allocator>::type
-{
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\
-    BOOST_WORKAROUND(__MWERKS__,<=0x3003)
-/* The "ISO C++ Template Parser" option in CW8.3 has a problem with the
- * lifetime of const references bound to temporaries --precisely what
- * scopeguards are.
- */
-
-#pragma parse_mfunc_templ off
-#endif
-
-private:
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-  template <typename,typename,typename> friend class  detail::index_base;
-  template <typename,typename>          friend struct detail::header_holder;
-  template <typename,typename>          friend struct detail::converter;
-#endif
-
-  typedef typename detail::multi_index_base_type<
-      Value,IndexSpecifierList,Allocator>::type   super;
-  typedef typename
-  boost::detail::allocator::rebind_to<
-      Allocator,
-      typename super::node_type
-  >::type                                         node_allocator;
-  typedef ::boost::base_from_member<
-    node_allocator>                               bfm_allocator;
-  typedef detail::header_holder<
-    typename detail::prevent_eti<
-      Allocator,
-      node_allocator
-    >::type::pointer,
-    multi_index_container>                        bfm_header;
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-  /* see definition of index_type_list below */
-  typedef typename super::index_type_list         super_index_type_list;
-#endif
-
-public:
-  /* All types are inherited from super, a few are explicitly
-   * brought forward here to save us some typename's.
-   */
-
-  typedef typename super::ctor_args_list          ctor_args_list;
-  typedef IndexSpecifierList                      index_specifier_type_list;
- 
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-  /* MSVC++ 6.0 chokes on moderately long index lists (around 6 indices
-   * or more), with errors ranging from corrupt exes to duplicate
-   * comdats. The following type hiding hack alleviates this condition;
-   * best results combined with type hiding of the indexed_by construct
-   * itself, as explained in the "Compiler specifics" section of
-   * the documentation.
-   */
-
-  struct index_type_list:super_index_type_list
-  {
-    typedef index_type_list                      type;
-    typedef typename super_index_type_list::back back;
-    typedef mpl::v_iter<type,0>                  begin;
-    typedef mpl::v_iter<
-      type,
-      mpl::size<super_index_type_list>::value>   end;
-  };
-#else
-  typedef typename super::index_type_list          index_type_list;
-#endif
-
-  typedef typename super::iterator_type_list       iterator_type_list;
-  typedef typename super::const_iterator_type_list const_iterator_type_list;
-  typedef typename super::value_type               value_type;
-  typedef typename super::final_allocator_type     allocator_type;
-  typedef typename super::iterator                 iterator;
-  typedef typename super::const_iterator           const_iterator;
-
-  BOOST_STATIC_ASSERT(
-    detail::no_duplicate_tags_in_index_list<index_type_list>::value);
-
-  /* global project() needs to see this publicly */
-
-  typedef typename super::node_type node_type;
-
-  /* construct/copy/destroy */
-
-  explicit multi_index_container(
-
-#if BOOST_WORKAROUND(__IBMCPP__,<=600)
-    /* VisualAge seems to have an ETI issue with the default values
-     * for arguments args_list and al.
-     */
-
-    const ctor_args_list& args_list=
-      typename mpl::identity<multi_index_container>::type::
-        ctor_args_list(),
-    const allocator_type& al=
-      typename mpl::identity<multi_index_container>::type::
-        allocator_type()):
-#else
-    const ctor_args_list& args_list=ctor_args_list(),
-    const allocator_type& al=allocator_type()):
-#endif
-
-    bfm_allocator(al),
-    super(args_list,bfm_allocator::member),
-    node_count(0)
-  {
-    BOOST_MULTI_INDEX_CHECK_INVARIANT;
-  }    
-
-  explicit multi_index_container(const allocator_type& al):
-    bfm_allocator(al),
-    super(ctor_args_list(),bfm_allocator::member),
-    node_count(0)
-  {
-    BOOST_MULTI_INDEX_CHECK_INVARIANT;
-  }
-
-  template<typename InputIterator>
-  multi_index_container(
-    InputIterator first,InputIterator last,
-
-#if BOOST_WORKAROUND(__IBMCPP__,<=600)
-    /* VisualAge seems to have an ETI issue with the default values
-     * for arguments args_list and al.
-     */
-
-    const ctor_args_list& args_list=
-      typename mpl::identity<multi_index_container>::type::
-        ctor_args_list(),
-    const allocator_type& al=
-      typename mpl::identity<multi_index_container>::type::
-        allocator_type()):
-#else
-    const ctor_args_list& args_list=ctor_args_list(),
-    const allocator_type& al=allocator_type()):
-#endif
-
-    bfm_allocator(al),
-    super(args_list,bfm_allocator::member),
-    node_count(0)
-  {
-    BOOST_MULTI_INDEX_CHECK_INVARIANT;
-    BOOST_TRY{
-      iterator hint=super::end();
-      for(;first!=last;++first){
-        hint=super::make_iterator(insert_(*first,hint.get_node()).first);
-      }
-    }
-    BOOST_CATCH(...){
-      clear_();
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  multi_index_container(
-    const multi_index_container<Value,IndexSpecifierList,Allocator>& x):
-    bfm_allocator(x.bfm_allocator::member),
-    bfm_header(),
-    super(x),
-    node_count(0)
-  {
-    copy_map_type map(bfm_allocator::member,x.size(),x.header(),header());
-    for(const_iterator it=x.begin(),it_end=x.end();it!=it_end;++it){
-      map.clone(it.get_node());
-    }
-    super::copy_(x,map);
-    map.release();
-    node_count=x.size();
-
-    /* Not until this point are the indices required to be consistent,
-     * hence the position of the invariant checker.
-     */
-
-    BOOST_MULTI_INDEX_CHECK_INVARIANT;
-  }
-
-  ~multi_index_container()
-  {
-    delete_all_nodes_();
-  }
-
-  multi_index_container<Value,IndexSpecifierList,Allocator>& operator=(
-    multi_index_container<Value,IndexSpecifierList,Allocator> x)
-  {
-    BOOST_MULTI_INDEX_CHECK_INVARIANT;
-    this->swap(x);
-    return *this;
-  }
-
-  allocator_type get_allocator()const
-  {
-    return allocator_type(bfm_allocator::member);
-  }
-
-  /* retrieval of indices by number */
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATES)
-  template<int N>
-  struct nth_index
-  {
-    BOOST_STATIC_ASSERT(N>=0&&N<mpl::size<index_type_list>::type::value);
-    typedef typename mpl::at_c<index_type_list,N>::type type;
-  };
-
-  template<int N>
-  typename nth_index<N>::type& get(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int,N))
-  {
-    BOOST_STATIC_ASSERT(N>=0&&N<mpl::size<index_type_list>::type::value);
-    return *this;
-  }
-
-  template<int N>
-  const typename nth_index<N>::type& get(
-    BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int,N))const
-  {
-    BOOST_STATIC_ASSERT(N>=0&&N<mpl::size<index_type_list>::type::value);
-    return *this;
-  }
-#endif
-
-  /* retrieval of indices by tag */
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATES)
-  template<typename Tag>
-  struct index
-  {
-    typedef typename mpl::find_if<
-      index_type_list,
-      detail::has_tag<Tag>
-    >::type                                    iter;
-
-    BOOST_STATIC_CONSTANT(
-      bool,index_found=!(is_same<iter,typename mpl::end<index_type_list>::type >::value));
-    BOOST_STATIC_ASSERT(index_found);
-
-    typedef typename mpl::deref<iter>::type    type;
-  };
-
-  template<typename Tag>
-  typename index<Tag>::type& get(BOOST_EXPLICIT_TEMPLATE_TYPE(Tag))
-  {
-    return *this;
-  }
-
-  template<typename Tag>
-  const typename index<Tag>::type& get(
-    BOOST_EXPLICIT_TEMPLATE_TYPE(Tag))const
-  {
-    return *this;
-  }
-#endif
-
-  /* projection of iterators by number */
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATES)
-  template<int N>
-  struct nth_index_iterator
-  {
-    typedef typename nth_index<N>::type::iterator type;
-  };
-
-  template<int N>
-  struct nth_index_const_iterator
-  {
-    typedef typename nth_index<N>::type::const_iterator type;
-  };
-
-  template<int N,typename IteratorType>
-  typename nth_index_iterator<N>::type project(
-    IteratorType it
-    BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int,N))
-  {
-    typedef typename nth_index<N>::type index;
-
-#if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */
-    BOOST_STATIC_ASSERT(
-      (mpl::contains<iterator_type_list,IteratorType>::value));
-#endif
-
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(
-      it,static_cast<typename IteratorType::container_type&>(*this));
-
-    return index::make_iterator(static_cast<node_type*>(it.get_node()));
-  }
-
-  template<int N,typename IteratorType>
-  typename nth_index_const_iterator<N>::type project(
-    IteratorType it
-    BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int,N))const
-  {
-    typedef typename nth_index<N>::type index;
-
-#if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */
-    BOOST_STATIC_ASSERT((
-      mpl::contains<iterator_type_list,IteratorType>::value||
-      mpl::contains<const_iterator_type_list,IteratorType>::value));
-#endif
-
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(
-      it,static_cast<const typename IteratorType::container_type&>(*this));
-    return index::make_iterator(static_cast<node_type*>(it.get_node()));
-  }
-#endif
-
-  /* projection of iterators by tag */
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATES)
-  template<typename Tag>
-  struct index_iterator
-  {
-    typedef typename index<Tag>::type::iterator type;
-  };
-
-  template<typename Tag>
-  struct index_const_iterator
-  {
-    typedef typename index<Tag>::type::const_iterator type;
-  };
-
-  template<typename Tag,typename IteratorType>
-  typename index_iterator<Tag>::type project(
-    IteratorType it
-    BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Tag))
-  {
-    typedef typename index<Tag>::type index;
-
-#if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */
-    BOOST_STATIC_ASSERT(
-      (mpl::contains<iterator_type_list,IteratorType>::value));
-#endif
-
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(
-      it,static_cast<typename IteratorType::container_type&>(*this));
-    return index::make_iterator(static_cast<node_type*>(it.get_node()));
-  }
-
-  template<typename Tag,typename IteratorType>
-  typename index_const_iterator<Tag>::type project(
-    IteratorType it
-    BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Tag))const
-  {
-    typedef typename index<Tag>::type index;
-
-#if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */
-    BOOST_STATIC_ASSERT((
-      mpl::contains<iterator_type_list,IteratorType>::value||
-      mpl::contains<const_iterator_type_list,IteratorType>::value));
-#endif
-
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(
-      it,static_cast<const typename IteratorType::container_type&>(*this));
-    return index::make_iterator(static_cast<node_type*>(it.get_node()));
-  }
-#endif
-
-BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS:
-  typedef typename super::copy_map_type copy_map_type;
-
-  node_type* header()const
-  {
-    return &*bfm_header::member;
-  }
-
-  node_type* allocate_node()
-  {
-    return &*bfm_allocator::member.allocate(1);
-  }
-
-  void deallocate_node(node_type* x)
-  {
-    typedef typename node_allocator::pointer node_pointer;
-    bfm_allocator::member.deallocate(static_cast<node_pointer>(x),1);
-  }
-
-  bool empty_()const
-  {
-    return node_count==0;
-  }
-
-  std::size_t size_()const
-  {
-    return node_count;
-  }
-
-  std::size_t max_size_()const
-  {
-    return static_cast<std::size_t >(-1);
-  }
-
-  std::pair<node_type*,bool> insert_(const Value& v)
-  {
-    node_type* x=allocate_node();
-    BOOST_TRY{
-      node_type* res=super::insert_(v,x);
-      if(res==x){
-        ++node_count;
-        return std::pair<node_type*,bool>(res,true);
-      }
-      else{
-        deallocate_node(x);
-        return std::pair<node_type*,bool>(res,false);
-      }
-    }
-    BOOST_CATCH(...){
-      deallocate_node(x);
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  std::pair<node_type*,bool> insert_(const Value& v,node_type* position)
-  {
-    node_type* x=allocate_node();
-    BOOST_TRY{
-      node_type* res=super::insert_(v,position,x);
-      if(res==x){
-        ++node_count;
-        return std::pair<node_type*,bool>(res,true);
-      }
-      else{
-        deallocate_node(x);
-        return std::pair<node_type*,bool>(res,false);
-      }
-    }
-    BOOST_CATCH(...){
-      deallocate_node(x);
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  void erase_(node_type* x)
-  {
-    --node_count;
-    super::erase_(x);
-    deallocate_node(x);
-  }
-
-  void delete_node_(node_type* x)
-  {
-    super::delete_node_(x);
-    deallocate_node(x);
-  }
-
-  void delete_all_nodes_()
-  {
-    super::delete_all_nodes_();
-  }
-
-  void clear_()
-  {
-    delete_all_nodes_();
-    super::clear_();
-    node_count=0;
-  }
-
-  void swap_(multi_index_container<Value,IndexSpecifierList,Allocator>& x)
-  {
-    if(bfm_allocator::member!=x.bfm_allocator::member){
-      detail::adl_swap(bfm_allocator::member,x.bfm_allocator::member);
-    }
-    std::swap(bfm_header::member,x.bfm_header::member);
-    super::swap_(x);
-    std::swap(node_count,x.node_count);
-  }
-
-  bool replace_(const Value& k,node_type* x)
-  {
-    return super::replace_(k,x);
-  }
-
-  template<typename Modifier>
-  bool modify_(Modifier& mod,node_type* x)
-  {
-    mod(const_cast<value_type&>(x->value()));
-
-    BOOST_TRY{
-      if(!super::modify_(x)){
-        deallocate_node(x);
-        --node_count;
-        return false;
-      }
-      else return true;
-    }
-    BOOST_CATCH(...){
-      deallocate_node(x);
-      --node_count;
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  template<typename Modifier,typename Rollback>
-  bool modify_(Modifier& mod,Rollback& back,node_type* x)
-  {
-    mod(const_cast<value_type&>(x->value()));
-
-    bool b;
-    BOOST_TRY{
-      b=super::modify_rollback_(x);
-    }
-    BOOST_CATCH(...){
-      BOOST_TRY{
-        back(const_cast<value_type&>(x->value()));
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH(...){
-        this->erase_(x);
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-    }
-    BOOST_CATCH_END
-
-    BOOST_TRY{
-      if(!b){
-        back(const_cast<value_type&>(x->value()));
-        return false;
-      }
-      else return true;
-    }
-    BOOST_CATCH(...){
-      this->erase_(x);
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  /* serialization */
-
-  friend class boost::serialization::access;
-
-  BOOST_SERIALIZATION_SPLIT_MEMBER()
-
-  typedef typename super::index_saver_type        index_saver_type;
-  typedef typename super::index_loader_type       index_loader_type;
-
-  template<class Archive>
-  void save(Archive& ar,const unsigned int version)const
-  {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    const serialization::collection_size_type       s(size_());
-    const detail::serialization_version<value_type> value_version;
-    ar<<serialization::make_nvp("count",s);
-    ar<<serialization::make_nvp("value_version",value_version);
-#else
-    const std::size_t  s=size_();
-    const unsigned int value_version=0;
-    ar<<serialization::make_nvp("count",s);
-#endif
-
-    index_saver_type sm(bfm_allocator::member,s);
-
-    for(iterator it=super::begin(),it_end=super::end();it!=it_end;++it){
-      serialization::save_construct_data_adl(ar,&*it,value_version);
-      ar<<serialization::make_nvp("item",*it);
-      sm.add(it.get_node(),ar,version);
-    }
-    sm.add_track(header(),ar,version);
-
-    super::save_(ar,version,sm);
-  }
-
-  template<class Archive>
-  void load(Archive& ar,const unsigned int version)
-  {
-    BOOST_MULTI_INDEX_CHECK_INVARIANT;
-
-    clear_(); 
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    serialization::collection_size_type       s;
-    detail::serialization_version<value_type> value_version;
-    if(version<1){
-      std::size_t sz;
-      ar>>serialization::make_nvp("count",sz);
-      s=sz;
-    }
-    else{
-      ar>>serialization::make_nvp("count",s);
-    }
-    if(version<2){
-      value_version=0;
-    }
-    else{
-      ar>>serialization::make_nvp("value_version",value_version);
-    }
-#else
-    std::size_t  s;
-    unsigned int value_version=0;
-    ar>>serialization::make_nvp("count",s);
-#endif
-
-    index_loader_type lm(bfm_allocator::member,s);
-
-    for(std::size_t n=0;n<s;++n){
-      detail::archive_constructed<Value> value("item",ar,value_version);
-      std::pair<node_type*,bool> p=insert_(
-        value.get(),super::end().get_node());
-      if(!p.second)throw_exception(
-        archive::archive_exception(
-          archive::archive_exception::other_exception));
-      ar.reset_object_address(&p.first->value(),&value.get());
-      lm.add(p.first,ar,version);
-    }
-    lm.add_track(header(),ar,version);
-
-    super::load_(ar,version,lm);
-  }
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-  /* invariant stuff */
-
-  bool invariant_()const
-  {
-    return super::invariant_();
-  }
-
-  void check_invariant_()const
-  {
-    BOOST_MULTI_INDEX_INVARIANT_ASSERT(invariant_());
-  }
-#endif
-
-private:
-  std::size_t node_count;
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\
-    BOOST_WORKAROUND(__MWERKS__,<=0x3003)
-#pragma parse_mfunc_templ reset
-#endif
-};
-
-/* retrieval of indices by number */
-
-template<typename MultiIndexContainer,int N>
-struct nth_index
-{
-  BOOST_STATIC_CONSTANT(
-    int,
-    M=mpl::size<typename MultiIndexContainer::index_type_list>::type::value);
-  BOOST_STATIC_ASSERT(N>=0&&N<M);
-  typedef typename mpl::at_c<
-    typename MultiIndexContainer::index_type_list,N>::type type;
-};
-
-template<int N,typename Value,typename IndexSpecifierList,typename Allocator>
-typename nth_index<
-  multi_index_container<Value,IndexSpecifierList,Allocator>,N>::type&
-get(
-  multi_index_container<Value,IndexSpecifierList,Allocator>& m
-  BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int,N))
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>    multi_index_type;
-  typedef typename nth_index<
-    multi_index_container<
-      Value,IndexSpecifierList,Allocator>,
-    N
-  >::type                                  index;
-
-  BOOST_STATIC_ASSERT(N>=0&&
-    N<
-    mpl::size<
-      BOOST_DEDUCED_TYPENAME multi_index_type::index_type_list
-    >::type::value);
-
-  return detail::converter<multi_index_type,index>::index(m);
-}
-
-template<int N,typename Value,typename IndexSpecifierList,typename Allocator>
-const typename nth_index<
-  multi_index_container<Value,IndexSpecifierList,Allocator>,N>::type&
-get(
-  const multi_index_container<Value,IndexSpecifierList,Allocator>& m
-  BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int,N))
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>    multi_index_type;
-  typedef typename nth_index<
-    multi_index_container<
-      Value,IndexSpecifierList,Allocator>,
-    N
-  >::type                                  index;
-
-  BOOST_STATIC_ASSERT(N>=0&&
-    N<
-    mpl::size<
-      BOOST_DEDUCED_TYPENAME multi_index_type::index_type_list
-    >::type::value);
-
-  return detail::converter<multi_index_type,index>::index(m);
-}
-
-/* retrieval of indices by tag */
-
-template<typename MultiIndexContainer,typename Tag>
-struct index
-{
-  typedef typename MultiIndexContainer::index_type_list index_type_list;
-
-  typedef typename mpl::find_if<
-    index_type_list,
-    detail::has_tag<Tag>
-  >::type                                      iter;
-
-  BOOST_STATIC_CONSTANT(
-    bool,index_found=!(is_same<iter,typename mpl::end<index_type_list>::type >::value));
-  BOOST_STATIC_ASSERT(index_found);
-
-  typedef typename mpl::deref<iter>::type       type;
-};
-
-template<
-  typename Tag,typename Value,typename IndexSpecifierList,typename Allocator
->
-typename ::boost::multi_index::index<
-  multi_index_container<Value,IndexSpecifierList,Allocator>,Tag>::type&
-get(
-  multi_index_container<Value,IndexSpecifierList,Allocator>& m
-  BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Tag))
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>         multi_index_type;
-  typedef typename ::boost::multi_index::index<
-    multi_index_container<
-      Value,IndexSpecifierList,Allocator>,
-    Tag
-  >::type                                       index;
-
-  return detail::converter<multi_index_type,index>::index(m);
-}
-
-template<
-  typename Tag,typename Value,typename IndexSpecifierList,typename Allocator
->
-const typename ::boost::multi_index::index<
-  multi_index_container<Value,IndexSpecifierList,Allocator>,Tag>::type&
-get(
-  const multi_index_container<Value,IndexSpecifierList,Allocator>& m
-  BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Tag))
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>         multi_index_type;
-  typedef typename ::boost::multi_index::index<
-    multi_index_container<
-      Value,IndexSpecifierList,Allocator>,
-    Tag
-  >::type                                       index;
-
-  return detail::converter<multi_index_type,index>::index(m);
-}
-
-/* projection of iterators by number */
-
-template<typename MultiIndexContainer,int N>
-struct nth_index_iterator
-{
-  typedef typename detail::prevent_eti<
-    nth_index<MultiIndexContainer,N>,
-    typename nth_index<MultiIndexContainer,N>::type>::type::iterator type;
-};
-
-template<typename MultiIndexContainer,int N>
-struct nth_index_const_iterator
-{
-  typedef typename detail::prevent_eti<
-    nth_index<MultiIndexContainer,N>,
-    typename nth_index<MultiIndexContainer,N>::type
-  >::type::const_iterator type;
-};
-
-template<
-  int N,typename IteratorType,
-  typename Value,typename IndexSpecifierList,typename Allocator>
-typename nth_index_iterator<
-  multi_index_container<Value,IndexSpecifierList,Allocator>,N>::type
-project(
-  multi_index_container<Value,IndexSpecifierList,Allocator>& m,
-  IteratorType it
-  BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int,N))
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>                multi_index_type;
-  typedef typename nth_index<multi_index_type,N>::type index;
-
-#if (!defined(BOOST_MSVC)||!(BOOST_MSVC<1310))&&  /* MSVC++ 6.0/7.0 fails */\
-    (!defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580)) /* as does Sun C++ 5.7  */
-  BOOST_STATIC_ASSERT((
-    mpl::contains<
-      BOOST_DEDUCED_TYPENAME multi_index_type::iterator_type_list,
-      IteratorType>::value));
-#endif
-
-  BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  typedef detail::converter<
-    multi_index_type,
-    BOOST_DEDUCED_TYPENAME IteratorType::container_type> converter;
-  BOOST_MULTI_INDEX_CHECK_IS_OWNER(it,converter::index(m));
-#endif
-
-  return detail::converter<multi_index_type,index>::iterator(
-    m,static_cast<typename multi_index_type::node_type*>(it.get_node()));
-}
-
-template<
-  int N,typename IteratorType,
-  typename Value,typename IndexSpecifierList,typename Allocator>
-typename nth_index_const_iterator<
-  multi_index_container<Value,IndexSpecifierList,Allocator>,N>::type
-project(
-  const multi_index_container<Value,IndexSpecifierList,Allocator>& m,
-  IteratorType it
-  BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int,N))
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>                multi_index_type;
-  typedef typename nth_index<multi_index_type,N>::type index;
-
-#if (!defined(BOOST_MSVC)||!(BOOST_MSVC<1310))&&  /* MSVC++ 6.0/7.0 fails */\
-    (!defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580)) /* as does Sun C++ 5.7  */
-  BOOST_STATIC_ASSERT((
-    mpl::contains<
-      BOOST_DEDUCED_TYPENAME multi_index_type::iterator_type_list,
-      IteratorType>::value||
-    mpl::contains<
-      BOOST_DEDUCED_TYPENAME multi_index_type::const_iterator_type_list,
-      IteratorType>::value));
-#endif
-
-  BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  typedef detail::converter<
-    multi_index_type,
-    BOOST_DEDUCED_TYPENAME IteratorType::container_type> converter;
-  BOOST_MULTI_INDEX_CHECK_IS_OWNER(it,converter::index(m));
-#endif
-
-  return detail::converter<multi_index_type,index>::const_iterator(
-    m,static_cast<typename multi_index_type::node_type*>(it.get_node()));
-}
-
-/* projection of iterators by tag */
-
-template<typename MultiIndexContainer,typename Tag>
-struct index_iterator
-{
-  typedef typename ::boost::multi_index::index<
-    MultiIndexContainer,Tag>::type::iterator    type;
-};
-
-template<typename MultiIndexContainer,typename Tag>
-struct index_const_iterator
-{
-  typedef typename ::boost::multi_index::index<
-    MultiIndexContainer,Tag>::type::const_iterator type;
-};
-
-template<
-  typename Tag,typename IteratorType,
-  typename Value,typename IndexSpecifierList,typename Allocator>
-typename index_iterator<
-  multi_index_container<Value,IndexSpecifierList,Allocator>,Tag>::type
-project(
-  multi_index_container<Value,IndexSpecifierList,Allocator>& m,
-  IteratorType it
-  BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Tag))
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>         multi_index_type;
-  typedef typename ::boost::multi_index::index<
-    multi_index_type,Tag>::type                 index;
-
-#if (!defined(BOOST_MSVC)||!(BOOST_MSVC<1310))&&  /* MSVC++ 6.0/7.0 fails */\
-    (!defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580)) /* as does Sun C++ 5.7  */
-  BOOST_STATIC_ASSERT((
-    mpl::contains<
-      BOOST_DEDUCED_TYPENAME multi_index_type::iterator_type_list,
-      IteratorType>::value));
-#endif
-
-  BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  typedef detail::converter<
-    multi_index_type,
-    BOOST_DEDUCED_TYPENAME IteratorType::container_type> converter;
-  BOOST_MULTI_INDEX_CHECK_IS_OWNER(it,converter::index(m));
-#endif
-
-  return detail::converter<multi_index_type,index>::iterator(
-    m,static_cast<typename multi_index_type::node_type*>(it.get_node()));
-}
-
-template<
-  typename Tag,typename IteratorType,
-  typename Value,typename IndexSpecifierList,typename Allocator>
-typename index_const_iterator<
-  multi_index_container<Value,IndexSpecifierList,Allocator>,Tag>::type
-project(
-  const multi_index_container<Value,IndexSpecifierList,Allocator>& m,
-  IteratorType it
-  BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Tag))
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>         multi_index_type;
-  typedef typename ::boost::multi_index::index<
-    multi_index_type,Tag>::type                 index;
-
-#if (!defined(BOOST_MSVC)||!(BOOST_MSVC<1310))&&  /* MSVC++ 6.0/7.0 fails */\
-    (!defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580)) /* as does Sun C++ 5.7  */
-  BOOST_STATIC_ASSERT((
-    mpl::contains<
-      BOOST_DEDUCED_TYPENAME multi_index_type::iterator_type_list,
-      IteratorType>::value||
-    mpl::contains<
-      BOOST_DEDUCED_TYPENAME multi_index_type::const_iterator_type_list,
-      IteratorType>::value));
-#endif
-
-  BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  typedef detail::converter<
-    multi_index_type,
-    BOOST_DEDUCED_TYPENAME IteratorType::container_type> converter;
-  BOOST_MULTI_INDEX_CHECK_IS_OWNER(it,converter::index(m));
-#endif
-
-  return detail::converter<multi_index_type,index>::const_iterator(
-    m,static_cast<typename multi_index_type::node_type*>(it.get_node()));
-}
-
-/* Comparison. Simple forward to first index. */
-
-template<
-  typename Value1,typename IndexSpecifierList1,typename Allocator1,
-  typename Value2,typename IndexSpecifierList2,typename Allocator2
->
-bool operator==(
-  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
-  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y)
-{
-  return get<0>(x)==get<0>(y);
-}
-
-template<
-  typename Value1,typename IndexSpecifierList1,typename Allocator1,
-  typename Value2,typename IndexSpecifierList2,typename Allocator2
->
-bool operator<(
-  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
-  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y)
-{
-  return get<0>(x)<get<0>(y);
-}
-
-template<
-  typename Value1,typename IndexSpecifierList1,typename Allocator1,
-  typename Value2,typename IndexSpecifierList2,typename Allocator2
->
-bool operator!=(
-  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
-  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y)
-{
-  return get<0>(x)!=get<0>(y);
-}
-
-template<
-  typename Value1,typename IndexSpecifierList1,typename Allocator1,
-  typename Value2,typename IndexSpecifierList2,typename Allocator2
->
-bool operator>(
-  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
-  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y)
-{
-  return get<0>(x)>get<0>(y);
-}
-
-template<
-  typename Value1,typename IndexSpecifierList1,typename Allocator1,
-  typename Value2,typename IndexSpecifierList2,typename Allocator2
->
-bool operator>=(
-  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
-  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y)
-{
-  return get<0>(x)>=get<0>(y);
-}
-
-template<
-  typename Value1,typename IndexSpecifierList1,typename Allocator1,
-  typename Value2,typename IndexSpecifierList2,typename Allocator2
->
-bool operator<=(
-  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
-  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y)
-{
-  return get<0>(x)<=get<0>(y);
-}
-
-/*  specialized algorithms */
-
-template<typename Value,typename IndexSpecifierList,typename Allocator>
-void swap(
-  multi_index_container<Value,IndexSpecifierList,Allocator>& x,
-  multi_index_container<Value,IndexSpecifierList,Allocator>& y)
-{
-  x.swap(y);
-}
-
-} /* namespace multi_index */
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)&&\
-    !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-/* class version = 1 : we now serialize the size through
- * boost::serialization::collection_size_type.
- * class version = 2 : proper use of {save|load}_construct_data.
- */
-
-namespace serialization {
-template<typename Value,typename IndexSpecifierList,typename Allocator>
-struct version<
-  boost::multi_index_container<Value,IndexSpecifierList,Allocator>
->
-{
-  BOOST_STATIC_CONSTANT(int,value=2);
-};
-} /* namespace serialization */
-#endif
-
-/* Associated global functions are promoted to namespace boost, except
- * comparison operators and swap, which are meant to be Koenig looked-up.
- */
-
-using multi_index::get;
-using multi_index::project;
-
-} /* namespace boost */
-
-#undef BOOST_MULTI_INDEX_CHECK_INVARIANT
-
-#endif
diff --git a/SRC/Boost/boost/multi_index_container_fwd.hpp b/SRC/Boost/boost/multi_index_container_fwd.hpp
deleted file mode 100755
index e3ba875..0000000
--- a/SRC/Boost/boost/multi_index_container_fwd.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_FWD_HPP
-#define BOOST_MULTI_INDEX_FWD_HPP
-
-#if defined(_MSC_VER)&&(_MSC_VER>=1200)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/multi_index/identity.hpp>
-#include <boost/multi_index/indexed_by.hpp>
-#include <boost/multi_index/ordered_index_fwd.hpp>
-#include <memory>
-
-namespace boost{
-
-namespace multi_index{
-
-/* Default value for IndexSpecifierList specifies a container
- * equivalent to std::set<Value>.
- */
-
-template<
-  typename Value,
-  typename IndexSpecifierList=indexed_by<ordered_unique<identity<Value> > >,
-  typename Allocator=std::allocator<Value> >
-class multi_index_container;
-
-template<typename MultiIndexContainer,int N>
-struct nth_index;
-
-template<typename MultiIndexContainer,typename Tag>
-struct index;
-
-template<typename MultiIndexContainer,int N>
-struct nth_index_iterator;
-
-template<typename MultiIndexContainer,int N>
-struct nth_index_const_iterator;
-
-template<typename MultiIndexContainer,typename Tag>
-struct index_iterator;
-
-template<typename MultiIndexContainer,typename Tag>
-struct index_const_iterator;
-
-/* get and project functions not fwd declared due to problems
- * with dependent typenames
- */
-
-template<
-  typename Value1,typename IndexSpecifierList1,typename Allocator1,
-  typename Value2,typename IndexSpecifierList2,typename Allocator2
->
-bool operator==(
-  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
-  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
-
-template<
-  typename Value1,typename IndexSpecifierList1,typename Allocator1,
-  typename Value2,typename IndexSpecifierList2,typename Allocator2
->
-bool operator<(
-  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
-  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
-
-template<
-  typename Value1,typename IndexSpecifierList1,typename Allocator1,
-  typename Value2,typename IndexSpecifierList2,typename Allocator2
->
-bool operator!=(
-  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
-  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
-
-template<
-  typename Value1,typename IndexSpecifierList1,typename Allocator1,
-  typename Value2,typename IndexSpecifierList2,typename Allocator2
->
-bool operator>(
-  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
-  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
-
-template<
-  typename Value1,typename IndexSpecifierList1,typename Allocator1,
-  typename Value2,typename IndexSpecifierList2,typename Allocator2
->
-bool operator>=(
-  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
-  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
-
-template<
-  typename Value1,typename IndexSpecifierList1,typename Allocator1,
-  typename Value2,typename IndexSpecifierList2,typename Allocator2
->
-bool operator<=(
-  const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
-  const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
-
-template<typename Value,typename IndexSpecifierList,typename Allocator>
-void swap(
-  multi_index_container<Value,IndexSpecifierList,Allocator>& x,
-  multi_index_container<Value,IndexSpecifierList,Allocator>& y);
-
-} /* namespace multi_index */
-
-/* multi_index_container, being the main type of this library, is promoted to
- * namespace boost.
- */
-
-using multi_index::multi_index_container;
-
-} /* namespace boost */
-
-#endif
diff --git a/SRC/Boost/boost/next_prior.hpp b/SRC/Boost/boost/next_prior.hpp
deleted file mode 100755
index 9bc56f1..0000000
--- a/SRC/Boost/boost/next_prior.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//  Boost next_prior.hpp header file  ---------------------------------------//
-
-//  (C) Copyright Dave Abrahams and Daniel Walker 1999-2003. Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/utility for documentation.
-
-//  Revision History
-//  13 Dec 2003  Added next(x, n) and prior(x, n) (Daniel Walker)
-
-#ifndef BOOST_NEXT_PRIOR_HPP_INCLUDED
-#define BOOST_NEXT_PRIOR_HPP_INCLUDED
-
-#include <iterator>
-
-namespace boost {
-
-//  Helper functions for classes like bidirectional iterators not supporting
-//  operator+ and operator-
-//
-//  Usage:
-//    const std::list<T>::iterator p = get_some_iterator();
-//    const std::list<T>::iterator prev = boost::prior(p);
-//    const std::list<T>::iterator next = boost::next(prev, 2);
-
-//  Contributed by Dave Abrahams
-
-template <class T>
-inline T next(T x) { return ++x; }
-
-template <class T, class Distance>
-inline T next(T x, Distance n)
-{
-    std::advance(x, n);
-    return x;
-}
-
-template <class T>
-inline T prior(T x) { return --x; }
-
-template <class T, class Distance>
-inline T prior(T x, Distance n)
-{
-    std::advance(x, -n);
-    return x;
-}
-
-} // namespace boost
-
-#endif  // BOOST_NEXT_PRIOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/non_type.hpp b/SRC/Boost/boost/non_type.hpp
deleted file mode 100755
index 7a4651a..0000000
--- a/SRC/Boost/boost/non_type.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// -------------------------------------
-//
-//           (C) Copyright Gennaro Prota 2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-//
-// ------------------------------------------------------
-
-#ifndef BOOST_NON_TYPE_HPP_GP_20030417
-#define BOOST_NON_TYPE_HPP_GP_20030417
-
-
-namespace boost {
-
-  // Just a simple "envelope" for non-type template parameters. Useful
-  // to work around some MSVC deficiencies.
-
- template <typename T, T n>
- struct non_type { };
-
-
-}
-
-
-#endif // include guard
diff --git a/SRC/Boost/boost/noncopyable.hpp b/SRC/Boost/boost/noncopyable.hpp
deleted file mode 100755
index 7deb935..0000000
--- a/SRC/Boost/boost/noncopyable.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//  Boost noncopyable.hpp header file  --------------------------------------//
-
-//  (C) Copyright Beman Dawes 1999-2003. Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/utility for documentation.
-
-#ifndef BOOST_NONCOPYABLE_HPP_INCLUDED
-#define BOOST_NONCOPYABLE_HPP_INCLUDED
-
-namespace boost {
-
-//  Private copy constructor and copy assignment ensure classes derived from
-//  class noncopyable cannot be copied.
-
-//  Contributed by Dave Abrahams
-
-namespace noncopyable_  // protection from unintended ADL
-{
-  class noncopyable
-  {
-   protected:
-      noncopyable() {}
-      ~noncopyable() {}
-   private:  // emphasize the following members are private
-      noncopyable( const noncopyable& );
-      const noncopyable& operator=( const noncopyable& );
-  };
-}
-
-typedef noncopyable_::noncopyable noncopyable;
-
-} // namespace boost
-
-#endif  // BOOST_NONCOPYABLE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/none.hpp b/SRC/Boost/boost/none.hpp
deleted file mode 100755
index 6ccb611..0000000
--- a/SRC/Boost/boost/none.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-//  fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NONE_17SEP2003_HPP
-#define BOOST_NONE_17SEP2003_HPP
-
-#include "boost/none_t.hpp"
-
-// NOTE: Borland users have to include this header outside any precompiled headers
-// (bcc<=5.64 cannot include instance data in a precompiled header)
-//  -- * To be verified, now that there's no unnamed namespace
-
-namespace boost {
-
-none_t const none = (static_cast<none_t>(0)) ;
-
-} // namespace boost
-
-#endif
-
diff --git a/SRC/Boost/boost/none_t.hpp b/SRC/Boost/boost/none_t.hpp
deleted file mode 100755
index be4f7ee..0000000
--- a/SRC/Boost/boost/none_t.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-//  fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NONE_T_17SEP2003_HPP
-#define BOOST_NONE_T_17SEP2003_HPP
-
-namespace boost {
-
-namespace detail { struct none_helper{}; }
-
-typedef int detail::none_helper::*none_t ;
-
-} // namespace boost
-
-#endif
-
diff --git a/SRC/Boost/boost/numeric/conversion/bounds.hpp b/SRC/Boost/boost/numeric/conversion/bounds.hpp
deleted file mode 100755
index 314127d..0000000
--- a/SRC/Boost/boost/numeric/conversion/bounds.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP
-
-#include "boost/numeric/conversion/detail/bounds.hpp"
-
-namespace boost { namespace numeric 
-{
-
-template<class N>
-struct bounds : boundsdetail::get_impl<N>::type
-{} ;
-
-} } // namespace boost::numeric
-
-#endif
diff --git a/SRC/Boost/boost/numeric/conversion/cast.hpp b/SRC/Boost/boost/numeric/conversion/cast.hpp
deleted file mode 100755
index e545e6e..0000000
--- a/SRC/Boost/boost/numeric/conversion/cast.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-//
-//  Revision History
-//
-//    19 Nov 2001 Syntatic changes as suggested by Darin Adler (Fernando Cacciola)
-//    08 Nov 2001 Fixes to accommodate MSVC (Fernando Cacciola)
-//    04 Nov 2001 Fixes to accommodate gcc2.92 (Fernando Cacciola)
-//    30 Oct 2001 Some fixes suggested by Daryle Walker (Fernando Cacciola)
-//    25 Oct 2001 Initial boostification (Fernando Cacciola)
-//    23 Jan 2004 Inital add to cvs (post review)s
-//    22 Jun 2011 Added support for specializing cast policies via numeric_cast_traits (Brandon Kohn).
-//
-#ifndef BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP
-#define BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
-
-#  include<boost/numeric/conversion/detail/old_numeric_cast.hpp>
-
-#else
-
-#include <boost/type.hpp>
-#include <boost/numeric/conversion/converter.hpp>
-#include <boost/numeric/conversion/numeric_cast_traits.hpp>
-
-namespace boost
-{
-    template <typename Target, typename Source> 
-    inline Target numeric_cast( Source arg )
-    {
-        typedef numeric::conversion_traits<Target, Source>   conv_traits;
-        typedef numeric::numeric_cast_traits<Target, Source> cast_traits;
-        typedef boost::numeric::converter
-            <
-                Target,
-                Source, 
-                conv_traits,
-                typename cast_traits::overflow_policy, 
-                typename cast_traits::rounding_policy, 
-                boost::numeric::raw_converter< conv_traits >,
-                typename cast_traits::range_checking_policy
-            > converter;
-        return converter::convert(arg);
-    }
-    
-    using numeric::bad_numeric_cast;
-} // namespace boost
-
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/numeric/conversion/conversion_traits.hpp b/SRC/Boost/boost/numeric/conversion/conversion_traits.hpp
deleted file mode 100755
index 8059028..0000000
--- a/SRC/Boost/boost/numeric/conversion/conversion_traits.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_CONVERSION_TRAITS_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_CONVERSION_TRAITS_FLC_12NOV2002_HPP
-
-#include "boost/numeric/conversion/detail/conversion_traits.hpp"
-#include "boost/detail/workaround.hpp"
-#include "boost/config.hpp"
-
-namespace boost { namespace numeric
-{
-
-template<class T, class S>
-struct conversion_traits 
-    : convdetail::get_conversion_traits<T,S>::type 
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    typedef typename convdetail::get_conversion_traits<T,S>::type base_;
-    typedef typename base_::target_type     target_type;
-    typedef typename base_::source_type     source_type;
-    typedef typename base_::result_type     result_type;
-    typedef typename base_::argument_type   argument_type;
-#endif
-} ;
-
-} } // namespace boost::numeric
-
-#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/SRC/Boost/boost/numeric/conversion/converter.hpp b/SRC/Boost/boost/numeric/conversion/converter.hpp
deleted file mode 100755
index aa67500..0000000
--- a/SRC/Boost/boost/numeric/conversion/converter.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_CONVERTER_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_CONVERTER_FLC_12NOV2002_HPP
-
-#include "boost/numeric/conversion/conversion_traits.hpp"
-#include "boost/numeric/conversion/converter_policies.hpp"
-
-#include "boost/numeric/conversion/detail/converter.hpp"
-
-namespace boost { namespace numeric 
-{
-
-template<class T,
-         class S,
-         class Traits           = conversion_traits<T,S>,
-         class OverflowHandler  = def_overflow_handler,
-         class Float2IntRounder = Trunc< BOOST_DEDUCED_TYPENAME Traits::source_type>  ,
-         class RawConverter     = raw_converter<Traits>,
-         class UserRangeChecker = UseInternalRangeChecker
-        >
-struct converter : convdetail::get_converter_impl<Traits,
-                                                  OverflowHandler,
-                                                  Float2IntRounder,
-                                                  RawConverter,
-                                                  UserRangeChecker
-                                                 >::type
-{
-  typedef Traits traits ;
-
-  typedef typename Traits::argument_type argument_type ;
-  typedef typename Traits::result_type   result_type   ;
-
-  result_type operator() ( argument_type s ) const { return this->convert(s) ; }
-} ;
-
-
-
-template<class S,
-         class OverflowHandler  = def_overflow_handler,
-         class Float2IntRounder = Trunc<S>  ,
-         class UserRangeChecker = UseInternalRangeChecker
-        >
-struct make_converter_from
-{
-  template<class T,
-           class Traits       = conversion_traits<T,S>,
-           class RawConverter = raw_converter<Traits>
-          > 
-  struct to
-  {
-    typedef converter<T,S,Traits,OverflowHandler,Float2IntRounder,RawConverter,UserRangeChecker> type ;
-  } ;
-
-} ;
-
-} } // namespace boost::numeric
-
-#endif
-
-
diff --git a/SRC/Boost/boost/numeric/conversion/converter_policies.hpp b/SRC/Boost/boost/numeric/conversion/converter_policies.hpp
deleted file mode 100755
index 18dd2d8..0000000
--- a/SRC/Boost/boost/numeric/conversion/converter_policies.hpp
+++ /dev/null
@@ -1,186 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP
-
-#include <typeinfo> // for std::bad_cast
-
-#include <boost/config/no_tr1/cmath.hpp> // for std::floor and std::ceil
-
-#include <functional>
-
-#include "boost/type_traits/is_arithmetic.hpp"
-
-#include "boost/mpl/if.hpp"
-#include "boost/mpl/integral_c.hpp"
-
-namespace boost { namespace numeric
-{
-
-template<class S>
-struct Trunc
-{
-  typedef S source_type ;
-
-  typedef typename mpl::if_< is_arithmetic<S>,S,S const&>::type argument_type ;
-
-  static source_type nearbyint ( argument_type s )
-  {
-#if !defined(BOOST_NO_STDC_NAMESPACE)
-    using std::floor ;
-    using std::ceil  ;
-#endif
-
-    return s < static_cast<S>(0) ? ceil(s) : floor(s) ;
-  }
-
-  typedef mpl::integral_c< std::float_round_style, std::round_toward_zero> round_style ;
-} ;
-
-
-
-template<class S>
-struct Floor
-{
-  typedef S source_type ;
-
-  typedef typename mpl::if_< is_arithmetic<S>,S,S const&>::type argument_type ;
-
-  static source_type nearbyint ( argument_type s )
-  {
-#if !defined(BOOST_NO_STDC_NAMESPACE)
-    using std::floor ;
-#endif
-
-    return floor(s) ;
-  }
-
-  typedef mpl::integral_c< std::float_round_style, std::round_toward_neg_infinity> round_style ;
-} ;
-
-template<class S>
-struct Ceil
-{
-  typedef S source_type ;
-
-  typedef typename mpl::if_< is_arithmetic<S>,S,S const&>::type argument_type ;
-
-  static source_type nearbyint ( argument_type s )
-  {
-#if !defined(BOOST_NO_STDC_NAMESPACE)
-    using std::ceil ;
-#endif
-
-    return ceil(s) ;
-  }
-
-  typedef mpl::integral_c< std::float_round_style, std::round_toward_infinity> round_style ;
-} ;
-
-template<class S>
-struct RoundEven
-{
-  typedef S source_type ;
-
-  typedef typename mpl::if_< is_arithmetic<S>,S,S const&>::type argument_type ;
-
-  static source_type nearbyint ( argument_type s )
-  {
-    // Algorithm contributed by Guillaume Melquiond
-
-#if !defined(BOOST_NO_STDC_NAMESPACE)
-    using std::floor ;
-    using std::ceil  ;
-#endif
-
-    // only works inside the range not at the boundaries
-    S prev = floor(s);
-    S next = ceil(s);
-
-    S rt = (s - prev) - (next - s); // remainder type
-
-    S const zero(0.0);
-    S const two(2.0);
-
-    if ( rt < zero )
-      return prev;
-    else if ( rt > zero )
-      return next;
-    else
-    {
-      bool is_prev_even = two * floor(prev / two) == prev ;
-      return ( is_prev_even ? prev : next ) ;
-    }
-  }
-
-  typedef mpl::integral_c< std::float_round_style, std::round_to_nearest> round_style ;
-} ;
-
-
-enum range_check_result
-{
-  cInRange     = 0 ,
-  cNegOverflow = 1 ,
-  cPosOverflow = 2
-} ;
-
-class bad_numeric_cast : public std::bad_cast
-{
-  public:
-
-    virtual const char * what() const throw()
-      {  return "bad numeric conversion: overflow"; }
-};
-
-class negative_overflow : public bad_numeric_cast
-{
-  public:
-
-    virtual const char * what() const throw()
-      {  return "bad numeric conversion: negative overflow"; }
-};
-class positive_overflow : public bad_numeric_cast
-{
-  public:
-
-    virtual const char * what() const throw()
-      { return "bad numeric conversion: positive overflow"; }
-};
-
-struct def_overflow_handler
-{
-  void operator() ( range_check_result r ) // throw(negative_overflow,positive_overflow)
-  {
-    if ( r == cNegOverflow )
-      throw negative_overflow() ;
-    else if ( r == cPosOverflow )
-           throw positive_overflow() ;
-  }
-} ;
-
-struct silent_overflow_handler
-{
-  void operator() ( range_check_result ) {} // throw()
-} ;
-
-template<class Traits>
-struct raw_converter
-{
-  typedef typename Traits::result_type   result_type   ;
-  typedef typename Traits::argument_type argument_type ;
-
-  static result_type low_level_convert ( argument_type s ) { return static_cast<result_type>(s) ; }
-} ;
-
-struct UseInternalRangeChecker {} ;
-
-} } // namespace boost::numeric
-
-#endif
diff --git a/SRC/Boost/boost/numeric/conversion/detail/bounds.hpp b/SRC/Boost/boost/numeric/conversion/detail/bounds.hpp
deleted file mode 100755
index a85e998..0000000
--- a/SRC/Boost/boost/numeric/conversion/detail/bounds.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP
-
-#include "boost/limits.hpp"
-#include "boost/config.hpp"
-#include "boost/mpl/if.hpp"
-
-namespace boost { namespace numeric { namespace boundsdetail
-{
-  template<class N>
-  class Integral
-  {
-      typedef std::numeric_limits<N> limits ;
-
-    public :
-    
-      static N lowest  () { return limits::min BOOST_PREVENT_MACRO_SUBSTITUTION (); }
-      static N highest () { return limits::max BOOST_PREVENT_MACRO_SUBSTITUTION (); }
-      static N smallest() { return static_cast<N>(1); }
-  } ;
-
-  template<class N>
-  class Float
-  {
-      typedef std::numeric_limits<N> limits ;
-
-    public :
-    
-      static N lowest  () { return static_cast<N>(-limits::max BOOST_PREVENT_MACRO_SUBSTITUTION ()) ; }
-      static N highest () { return limits::max BOOST_PREVENT_MACRO_SUBSTITUTION (); }
-      static N smallest() { return limits::min BOOST_PREVENT_MACRO_SUBSTITUTION (); }
-  } ;
-
-  template<class N>
-  struct get_impl
-  {
-    typedef mpl::bool_< ::std::numeric_limits<N>::is_integer > is_int ;
-
-    typedef Integral<N> impl_int   ;
-    typedef Float   <N> impl_float ;
-
-    typedef typename mpl::if_<is_int,impl_int,impl_float>::type type ;
-  } ;
-
-} } } // namespace boost::numeric::boundsdetail.
-
-#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/SRC/Boost/boost/numeric/conversion/detail/conversion_traits.hpp b/SRC/Boost/boost/numeric/conversion/detail/conversion_traits.hpp
deleted file mode 100755
index 236afe1..0000000
--- a/SRC/Boost/boost/numeric/conversion/detail/conversion_traits.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP
-
-#include "boost/type_traits/is_arithmetic.hpp"
-#include "boost/type_traits/is_same.hpp"
-#include "boost/type_traits/remove_cv.hpp"
-
-#include "boost/numeric/conversion/detail/meta.hpp"
-#include "boost/numeric/conversion/detail/int_float_mixture.hpp"
-#include "boost/numeric/conversion/detail/sign_mixture.hpp"
-#include "boost/numeric/conversion/detail/udt_builtin_mixture.hpp"
-#include "boost/numeric/conversion/detail/is_subranged.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
-  //-------------------------------------------------------------------
-  // Implementation of the Conversion Traits for T != S
-  //
-  // This is a VISIBLE base class of the user-level conversion_traits<> class.
-  //-------------------------------------------------------------------
-  template<class T,class S>
-  struct non_trivial_traits_impl
-  {
-    typedef typename get_int_float_mixture   <T,S>::type int_float_mixture ;
-    typedef typename get_sign_mixture        <T,S>::type sign_mixture ;
-    typedef typename get_udt_builtin_mixture <T,S>::type udt_builtin_mixture ;
-
-    typedef typename get_is_subranged<T,S>::type subranged ;
-
-    typedef mpl::false_ trivial ;
-
-    typedef T target_type ;
-    typedef S source_type ;
-    typedef T result_type ;
-
-    typedef typename mpl::if_< is_arithmetic<S>, S, S const&>::type argument_type ;
-
-    typedef typename mpl::if_<subranged,S,T>::type supertype ;
-    typedef typename mpl::if_<subranged,T,S>::type subtype   ;
-  } ;
-
-  //-------------------------------------------------------------------
-  // Implementation of the Conversion Traits for T == S
-  //
-  // This is a VISIBLE base class of the user-level conversion_traits<> class.
-  //-------------------------------------------------------------------
-  template<class N>
-  struct trivial_traits_impl
-  {
-    typedef typename get_int_float_mixture  <N,N>::type int_float_mixture ;
-    typedef typename get_sign_mixture       <N,N>::type sign_mixture ;
-    typedef typename get_udt_builtin_mixture<N,N>::type udt_builtin_mixture ;
-
-    typedef mpl::false_ subranged ;
-    typedef mpl::true_  trivial ;
-
-    typedef N        target_type ;
-    typedef N        source_type ;
-    typedef N const& result_type ;
-    typedef N const& argument_type ;
-
-    typedef N supertype ;
-    typedef N subtype  ;
-
-  } ;
-
-  //-------------------------------------------------------------------
-  // Top level implementation selector.
-  //-------------------------------------------------------------------
-  template<class T, class S>
-  struct get_conversion_traits
-  {
-    typedef typename remove_cv<T>::type target_type ;
-    typedef typename remove_cv<S>::type source_type ;
-
-    typedef typename is_same<target_type,source_type>::type is_trivial ;
-
-    typedef trivial_traits_impl    <target_type>             trivial_imp ;
-    typedef non_trivial_traits_impl<target_type,source_type> non_trivial_imp ;
-
-    typedef typename mpl::if_<is_trivial,trivial_imp,non_trivial_imp>::type type ;
-  } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-
-
diff --git a/SRC/Boost/boost/numeric/conversion/detail/converter.hpp b/SRC/Boost/boost/numeric/conversion/detail/converter.hpp
deleted file mode 100755
index 63cdd44..0000000
--- a/SRC/Boost/boost/numeric/conversion/detail/converter.hpp
+++ /dev/null
@@ -1,602 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP
-
-#include <functional>
-
-#include "boost/numeric/conversion/detail/meta.hpp"
-#include "boost/numeric/conversion/detail/conversion_traits.hpp"
-#include "boost/numeric/conversion/bounds.hpp"
-
-#include "boost/type_traits/is_same.hpp"
-
-#include "boost/mpl/integral_c.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
-  // Integral Constants representing rounding modes
-  typedef mpl::integral_c<std::float_round_style, std::round_toward_zero>         round2zero_c ;
-  typedef mpl::integral_c<std::float_round_style, std::round_to_nearest>          round2nearest_c ;
-  typedef mpl::integral_c<std::float_round_style, std::round_toward_infinity>     round2inf_c ;
-  typedef mpl::integral_c<std::float_round_style, std::round_toward_neg_infinity> round2neg_inf_c ;
-
-  // Metafunction:
-  //
-  //   for_round_style<RoundStyle,RoundToZero,RoundToNearest,RoundToInf,RoundToNegInf>::type
-  //
-  // {RoundStyle} Integral Constant specifying a round style as declared above.
-  // {RoundToZero,RoundToNearest,RoundToInf,RoundToNegInf} arbitrary types.
-  //
-  // Selects one of the 4 types according to the value of RoundStyle.
-  //
-  template<class RoundStyle,class RoundToZero,class RoundToNearest,class RoundToInf,class RoundToNegInf>
-  struct for_round_style
-  {
-    typedef ct_switch4<RoundStyle
-                       , round2zero_c, round2nearest_c, round2inf_c // round2neg_inf_c
-                       , RoundToZero , RoundToNearest , RoundToInf , RoundToNegInf
-                      > selector ;
-
-    typedef typename selector::type type ;
-  } ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//--------------------------------------------------------------------------
-//                             Range Checking Logic.
-//
-// The range checking logic is built up by combining 1 or 2 predicates.
-// Each predicate is encapsulated in a template class and exposes
-// the static member function 'apply'.
-//
-//--------------------------------------------------------------------------
-
-
-  // Because a particular logic can combine either 1 or two predicates, the following
-  // tags are used to allow the predicate applier to receive 2 preds, but optimize away
-  // one of them if it is 'non-applicable'
-  struct non_applicable { typedef mpl::false_ do_apply ; } ;
-  struct applicable     { typedef mpl::true_  do_apply ; } ;
-
-
-  //--------------------------------------------------------------------------
-  //
-  //                      Range Checking Logic implementations.
-  //
-  // The following classes, collectivelly named 'Predicates', are instantiated within
-  // the corresponding range checkers.
-  // Their static member function 'apply' is called to perform the actual range checking logic.
-  //--------------------------------------------------------------------------
-
-    // s < Lowest(T) ? cNegOverflow : cInRange
-    //
-    template<class Traits>
-    struct LT_LoT : applicable
-    {
-      typedef typename Traits::target_type T ;
-      typedef typename Traits::source_type S ;
-      typedef typename Traits::argument_type argument_type ;
-
-      static range_check_result apply ( argument_type s )
-      {
-        return s < static_cast<S>(bounds<T>::lowest()) ? cNegOverflow : cInRange ;
-      }
-    } ;
-
-    // s < 0 ? cNegOverflow : cInRange
-    //
-    template<class Traits>
-    struct LT_Zero : applicable
-    {
-      typedef typename Traits::source_type S ;
-      typedef typename Traits::argument_type argument_type ;
-
-      static range_check_result apply ( argument_type s )
-      {
-        return s < static_cast<S>(0) ? cNegOverflow : cInRange ;
-      }
-    } ;
-
-    // s <= Lowest(T)-1 ? cNegOverflow : cInRange
-    //
-    template<class Traits>
-    struct LE_PrevLoT : applicable
-    {
-      typedef typename Traits::target_type T ;
-      typedef typename Traits::source_type S ;
-      typedef typename Traits::argument_type argument_type ;
-
-      static range_check_result apply ( argument_type s )
-      {
-        return s <= static_cast<S>(bounds<T>::lowest()) - static_cast<S>(1.0)
-                 ? cNegOverflow : cInRange ;
-      }
-    } ;
-
-    // s < Lowest(T)-0.5 ? cNegOverflow : cInRange
-    //
-    template<class Traits>
-    struct LT_HalfPrevLoT : applicable
-    {
-      typedef typename Traits::target_type T ;
-      typedef typename Traits::source_type S ;
-      typedef typename Traits::argument_type argument_type ;
-
-      static range_check_result apply ( argument_type s )
-      {
-        return s < static_cast<S>(bounds<T>::lowest()) - static_cast<S>(0.5)
-                 ? cNegOverflow : cInRange ;
-      }
-    } ;
-
-    // s > Highest(T) ? cPosOverflow : cInRange
-    //
-    template<class Traits>
-    struct GT_HiT : applicable
-    {
-      typedef typename Traits::target_type T ;
-      typedef typename Traits::source_type S ;
-      typedef typename Traits::argument_type argument_type ;
-
-      static range_check_result apply ( argument_type s )
-      {
-        return s > static_cast<S>(bounds<T>::highest())
-                 ? cPosOverflow : cInRange ;
-      }
-    } ;
-
-    // s >= Lowest(T) + 1 ? cPosOverflow : cInRange
-    //
-    template<class Traits>
-    struct GE_SuccHiT : applicable
-    {
-      typedef typename Traits::target_type T ;
-      typedef typename Traits::source_type S ;
-      typedef typename Traits::argument_type argument_type ;
-
-      static range_check_result apply ( argument_type s )
-      {
-        return s >= static_cast<S>(bounds<T>::highest()) + static_cast<S>(1.0)
-                 ? cPosOverflow : cInRange ;
-      }
-    } ;
-
-    // s >= Lowest(T) + 0.5 ? cPosgOverflow : cInRange
-    //
-    template<class Traits>
-    struct GT_HalfSuccHiT : applicable
-    {
-      typedef typename Traits::target_type T ;
-      typedef typename Traits::source_type S ;
-      typedef typename Traits::argument_type argument_type ;
-
-      static range_check_result apply ( argument_type s )
-      {
-        return s >= static_cast<S>(bounds<T>::highest()) + static_cast<S>(0.5)
-                 ? cPosOverflow : cInRange ;
-      }
-    } ;
-
-
-  //--------------------------------------------------------------------------
-  //
-  // Predicate Combiner.
-  //
-  // This helper classes are used to possibly combine the range checking logic
-  // individually performed by the predicates
-  //
-  //--------------------------------------------------------------------------
-
-
-    // Applies both predicates: first 'PredA', and if it equals 'cInRange', 'PredB'
-    template<class PredA, class PredB>
-    struct applyBoth
-    {
-      typedef typename PredA::argument_type argument_type ;
-
-      static range_check_result apply ( argument_type s )
-      {
-        range_check_result r = PredA::apply(s) ;
-        if ( r == cInRange )
-          r = PredB::apply(s);
-        return r ;
-      }
-    } ;
-
-    template<class PredA, class PredB>
-    struct combine
-    {
-      typedef applyBoth<PredA,PredB> Both ;
-      typedef void                   NNone ; // 'None' is defined as a macro in (/usr/X11R6/include/X11/X.h)
-
-      typedef typename PredA::do_apply do_applyA ;
-      typedef typename PredB::do_apply do_applyB ;
-
-      typedef typename for_both<do_applyA, do_applyB, Both, PredA, PredB, NNone>::type type ;
-    } ;
-
-
-
-
-
-
-
-
-
-
-
-
-//--------------------------------------------------------------------------
-//                             Range Checker classes.
-//
-// The following classes are VISIBLE base classes of the user-level converter<> class.
-// They supply the optimized 'out_of_range()' and 'validate_range()' static member functions
-// visible in the user interface.
-//
-//--------------------------------------------------------------------------
-
-  // Dummy range checker.
-  template<class Traits>
-  struct dummy_range_checker
-  {
-    typedef typename Traits::argument_type argument_type ;
-
-    static range_check_result out_of_range ( argument_type ) { return cInRange ; }
-    static void validate_range ( argument_type ) {}
-  } ;
-
-  // Generic range checker.
-  //
-  // All the range checking logic for all possible combinations of source and target
-  // can be arranged in terms of one or two predicates, which test overflow on both neg/pos 'sides'
-  // of the ranges.
-  //
-  // These predicates are given here as IsNegOverflow and IsPosOverflow.
-  //
-  template<class Traits, class IsNegOverflow, class IsPosOverflow, class OverflowHandler>
-  struct generic_range_checker
-  {
-    typedef OverflowHandler overflow_handler ;
-
-    typedef typename Traits::argument_type argument_type ;
-
-    static range_check_result out_of_range ( argument_type s )
-    {
-      typedef typename combine<IsNegOverflow,IsPosOverflow>::type Predicate ;
-
-      return Predicate::apply(s);
-    }
-
-    static void validate_range ( argument_type s )
-      { OverflowHandler()( out_of_range(s) ) ; }
-  } ;
-
-
-
-//--------------------------------------------------------------------------
-//
-// Selectors for the optimized Range Checker class.
-//
-//--------------------------------------------------------------------------
-
-  template<class Traits,class OverflowHandler>
-  struct GetRC_Sig2Sig_or_Unsig2Unsig
-  {
-    typedef dummy_range_checker<Traits> Dummy ;
-
-    typedef LT_LoT<Traits> Pred1 ;
-    typedef GT_HiT<Traits> Pred2 ;
-
-    typedef generic_range_checker<Traits,Pred1,Pred2,OverflowHandler> Normal ;
-
-    typedef typename Traits::subranged subranged ;
-
-    typedef typename mpl::if_<subranged,Normal,Dummy>::type type ;
-  } ;
-
-  template<class Traits, class OverflowHandler>
-  struct GetRC_Sig2Unsig
-  {
-    typedef LT_Zero<Traits> Pred1 ;
-    typedef GT_HiT <Traits> Pred2 ;
-
-    typedef generic_range_checker<Traits,Pred1,Pred2,OverflowHandler> ChoiceA ;
-
-    typedef generic_range_checker<Traits,Pred1,non_applicable,OverflowHandler> ChoiceB ;
-
-    typedef typename Traits::target_type T ;
-    typedef typename Traits::source_type S ;
-
-    typedef typename subranged_Unsig2Sig<S,T>::type oposite_subranged ;
-
-    typedef typename mpl::not_<oposite_subranged>::type positively_subranged ;
-
-    typedef typename mpl::if_<positively_subranged,ChoiceA,ChoiceB>::type type ;
-  } ;
-
-  template<class Traits, class OverflowHandler>
-  struct GetRC_Unsig2Sig
-  {
-    typedef GT_HiT<Traits> Pred1 ;
-
-    typedef generic_range_checker<Traits,non_applicable,Pred1,OverflowHandler> type ;
-  } ;
-
-  template<class Traits,class OverflowHandler>
-  struct GetRC_Int2Int
-  {
-    typedef GetRC_Sig2Sig_or_Unsig2Unsig<Traits,OverflowHandler> Sig2SigQ     ;
-    typedef GetRC_Sig2Unsig             <Traits,OverflowHandler> Sig2UnsigQ   ;
-    typedef GetRC_Unsig2Sig             <Traits,OverflowHandler> Unsig2SigQ   ;
-    typedef Sig2SigQ                                             Unsig2UnsigQ ;
-
-    typedef typename Traits::sign_mixture sign_mixture ;
-
-    typedef typename
-      for_sign_mixture<sign_mixture,Sig2SigQ,Sig2UnsigQ,Unsig2SigQ,Unsig2UnsigQ>::type
-        selector ;
-
-    typedef typename selector::type type ;
-  } ;
-
-  template<class Traits>
-  struct GetRC_Int2Float
-  {
-    typedef dummy_range_checker<Traits> type ;
-  } ;
-
-  template<class Traits, class OverflowHandler, class Float2IntRounder>
-  struct GetRC_Float2Int
-  {
-    typedef LE_PrevLoT    <Traits> Pred1 ;
-    typedef GE_SuccHiT    <Traits> Pred2 ;
-    typedef LT_HalfPrevLoT<Traits> Pred3 ;
-    typedef GT_HalfSuccHiT<Traits> Pred4 ;
-    typedef GT_HiT        <Traits> Pred5 ;
-    typedef LT_LoT        <Traits> Pred6 ;
-
-    typedef generic_range_checker<Traits,Pred1,Pred2,OverflowHandler> ToZero    ;
-    typedef generic_range_checker<Traits,Pred3,Pred4,OverflowHandler> ToNearest ;
-    typedef generic_range_checker<Traits,Pred1,Pred5,OverflowHandler> ToInf     ;
-    typedef generic_range_checker<Traits,Pred6,Pred2,OverflowHandler> ToNegInf  ;
-
-    typedef typename Float2IntRounder::round_style round_style ;
-
-    typedef typename for_round_style<round_style,ToZero,ToNearest,ToInf,ToNegInf>::type type ;
-  } ;
-
-  template<class Traits, class OverflowHandler>
-  struct GetRC_Float2Float
-  {
-    typedef dummy_range_checker<Traits> Dummy ;
-
-    typedef LT_LoT<Traits> Pred1 ;
-    typedef GT_HiT<Traits> Pred2 ;
-
-    typedef generic_range_checker<Traits,Pred1,Pred2,OverflowHandler> Normal ;
-
-    typedef typename Traits::subranged subranged ;
-
-    typedef typename mpl::if_<subranged,Normal,Dummy>::type type ;
-  } ;
-
-  template<class Traits, class OverflowHandler, class Float2IntRounder>
-  struct GetRC_BuiltIn2BuiltIn
-  {
-    typedef GetRC_Int2Int<Traits,OverflowHandler>                    Int2IntQ ;
-    typedef GetRC_Int2Float<Traits>                                  Int2FloatQ ;
-    typedef GetRC_Float2Int<Traits,OverflowHandler,Float2IntRounder> Float2IntQ ;
-    typedef GetRC_Float2Float<Traits,OverflowHandler>                Float2FloatQ ;
-
-    typedef typename Traits::int_float_mixture int_float_mixture ;
-
-    typedef typename for_int_float_mixture<int_float_mixture, Int2IntQ, Int2FloatQ, Float2IntQ, Float2FloatQ>::type selector ;
-
-    typedef typename selector::type type ;
-  } ;
-
-  template<class Traits, class OverflowHandler, class Float2IntRounder>
-  struct GetRC
-  {
-    typedef GetRC_BuiltIn2BuiltIn<Traits,OverflowHandler,Float2IntRounder> BuiltIn2BuiltInQ ;
-
-    typedef dummy_range_checker<Traits> Dummy ;
-
-    typedef mpl::identity<Dummy> DummyQ ;
-
-    typedef typename Traits::udt_builtin_mixture udt_builtin_mixture ;
-
-    typedef typename for_udt_builtin_mixture<udt_builtin_mixture,BuiltIn2BuiltInQ,DummyQ,DummyQ,DummyQ>::type selector ;
-
-    typedef typename selector::type type ;
-  } ;
-
-
-
-
-//--------------------------------------------------------------------------
-//                             Converter classes.
-//
-// The following classes are VISIBLE base classes of the user-level converter<> class.
-// They supply the optimized 'nearbyint()' and 'convert()' static member functions
-// visible in the user interface.
-//
-//--------------------------------------------------------------------------
-
-  //
-  // Trivial Converter : used when (cv-unqualified) T == (cv-unqualified)  S
-  //
-  template<class Traits>
-  struct trivial_converter_impl : public std::unary_function<  BOOST_DEDUCED_TYPENAME Traits::argument_type
-                                                              ,BOOST_DEDUCED_TYPENAME Traits::result_type
-                                                            >
-                                 ,public dummy_range_checker<Traits>
-  {
-    typedef Traits traits ;
-
-    typedef typename Traits::source_type   source_type   ;
-    typedef typename Traits::argument_type argument_type ;
-    typedef typename Traits::result_type   result_type   ;
-
-    static result_type low_level_convert ( argument_type s ) { return s ; }
-    static source_type nearbyint         ( argument_type s ) { return s ; }
-    static result_type convert           ( argument_type s ) { return s ; }
-  } ;
-
-
-  //
-  // Rounding Converter : used for float to integral conversions.
-  //
-  template<class Traits,class RangeChecker,class RawConverter,class Float2IntRounder>
-  struct rounding_converter : public std::unary_function<  BOOST_DEDUCED_TYPENAME Traits::argument_type
-                                                          ,BOOST_DEDUCED_TYPENAME Traits::result_type
-                                                        >
-                             ,public RangeChecker
-                             ,public Float2IntRounder
-                             ,public RawConverter
-  {
-    typedef RangeChecker     RangeCheckerBase ;
-    typedef Float2IntRounder Float2IntRounderBase ;
-    typedef RawConverter     RawConverterBase ;
-
-    typedef Traits traits ;
-
-    typedef typename Traits::source_type   source_type   ;
-    typedef typename Traits::argument_type argument_type ;
-    typedef typename Traits::result_type   result_type   ;
-
-    static result_type convert ( argument_type s )
-    {
-      RangeCheckerBase::validate_range(s);
-      source_type s1 = Float2IntRounderBase::nearbyint(s);
-      return RawConverterBase::low_level_convert(s1);
-    }
-  } ;
-
-
-  //
-  // Non-Rounding Converter : used for all other conversions.
-  //
-  template<class Traits,class RangeChecker,class RawConverter>
-  struct non_rounding_converter : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type
-                                                             ,BOOST_DEDUCED_TYPENAME Traits::result_type
-                                                           >
-                                 ,public RangeChecker
-                                 ,public RawConverter
-  {
-    typedef RangeChecker RangeCheckerBase ;
-    typedef RawConverter RawConverterBase ;
-
-    typedef Traits traits ;
-
-    typedef typename Traits::source_type   source_type   ;
-    typedef typename Traits::argument_type argument_type ;
-    typedef typename Traits::result_type   result_type   ;
-
-    static source_type nearbyint ( argument_type s ) { return s ; }
-
-    static result_type convert ( argument_type s )
-    {
-      RangeCheckerBase::validate_range(s);
-      return RawConverterBase::low_level_convert(s);
-    }
-  } ;
-
-
-
-
-//--------------------------------------------------------------------------
-//
-// Selectors for the optimized Converter class.
-//
-//--------------------------------------------------------------------------
-
-  template<class Traits,class OverflowHandler,class Float2IntRounder,class RawConverter, class UserRangeChecker>
-  struct get_non_trivial_converter
-  {
-    typedef GetRC<Traits,OverflowHandler,Float2IntRounder> InternalRangeCheckerQ ;
-
-    typedef is_same<UserRangeChecker,UseInternalRangeChecker> use_internal_RC ;
-
-    typedef mpl::identity<UserRangeChecker> UserRangeCheckerQ ;
-
-    typedef typename
-      mpl::eval_if<use_internal_RC,InternalRangeCheckerQ,UserRangeCheckerQ>::type
-        RangeChecker ;
-
-    typedef non_rounding_converter<Traits,RangeChecker,RawConverter>              NonRounding ;
-    typedef rounding_converter<Traits,RangeChecker,RawConverter,Float2IntRounder> Rounding ;
-
-    typedef mpl::identity<NonRounding> NonRoundingQ ;
-    typedef mpl::identity<Rounding>    RoundingQ    ;
-
-    typedef typename Traits::int_float_mixture int_float_mixture ;
-
-    typedef typename
-      for_int_float_mixture<int_float_mixture, NonRoundingQ, NonRoundingQ, RoundingQ, NonRoundingQ>::type
-        selector ;
-
-    typedef typename selector::type type ;
-  } ;
-
-  template< class Traits
-           ,class OverflowHandler
-           ,class Float2IntRounder
-           ,class RawConverter
-           ,class UserRangeChecker
-          >
-  struct get_converter_impl
-  {
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT( 0x0561 ) )
-    // bcc55 prefers sometimes template parameters to be explicit local types.
-    // (notice that is is illegal to reuse the names like this)
-    typedef Traits           Traits ;
-    typedef OverflowHandler  OverflowHandler ;
-    typedef Float2IntRounder Float2IntRounder ;
-    typedef RawConverter     RawConverter ;
-    typedef UserRangeChecker UserRangeChecker ;
-#endif
-
-    typedef trivial_converter_impl<Traits> Trivial ;
-    typedef mpl::identity        <Trivial> TrivialQ ;
-
-    typedef get_non_trivial_converter< Traits
-                                      ,OverflowHandler
-                                      ,Float2IntRounder
-                                      ,RawConverter
-                                      ,UserRangeChecker
-                                     > NonTrivialQ ;
-
-    typedef typename Traits::trivial trivial ;
-
-    typedef typename mpl::eval_if<trivial,TrivialQ,NonTrivialQ>::type type ;
-  } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-
-
diff --git a/SRC/Boost/boost/numeric/conversion/detail/int_float_mixture.hpp b/SRC/Boost/boost/numeric/conversion/detail/int_float_mixture.hpp
deleted file mode 100755
index b943268..0000000
--- a/SRC/Boost/boost/numeric/conversion/detail/int_float_mixture.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP
-
-#include "boost/config.hpp"
-#include "boost/limits.hpp"
-
-#include "boost/numeric/conversion/int_float_mixture_enum.hpp"
-#include "boost/numeric/conversion/detail/meta.hpp"
-
-#include "boost/mpl/integral_c.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
-  // Integral Constants for 'IntFloatMixture'
-  typedef mpl::integral_c<int_float_mixture_enum, integral_to_integral> int2int_c ;
-  typedef mpl::integral_c<int_float_mixture_enum, integral_to_float>    int2float_c ;
-  typedef mpl::integral_c<int_float_mixture_enum, float_to_integral>    float2int_c ;
-  typedef mpl::integral_c<int_float_mixture_enum, float_to_float>       float2float_c ;
-
-  // Metafunction:
-  //
-  //   get_int_float_mixture<T,S>::type
-  //
-  // Selects the appropriate Int-Float Mixture Integral Constant for the combination T,S.
-  //
-  template<class T,class S>
-  struct get_int_float_mixture
-  {
-    typedef mpl::bool_< ::std::numeric_limits<S>::is_integer > S_int ;
-    typedef mpl::bool_< ::std::numeric_limits<T>::is_integer > T_int ;
-
-    typedef typename
-      for_both<S_int, T_int, int2int_c, int2float_c, float2int_c, float2float_c>::type
-        type ;
-  } ;
-
-  // Metafunction:
-  //
-  //   for_int_float_mixture<Mixture,int_int,int_float,float_int,float_float>::type
-  //
-  // {Mixture} is one of the Integral Constants for Mixture, declared above.
-  // {int_int,int_float,float_int,float_float} are aribtrary types. (not metafunctions)
-  //
-  // According to the value of 'IntFloatMixture', selects the corresponding type.
-  //
-  template<class IntFloatMixture, class Int2Int, class Int2Float, class Float2Int, class Float2Float>
-  struct for_int_float_mixture
-  {
-    typedef typename
-      ct_switch4<IntFloatMixture
-                 ,int2int_c, int2float_c, float2int_c  // default
-                 ,Int2Int  , Int2Float  , Float2Int  , Float2Float
-                >::type
-        type ;
-  } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/SRC/Boost/boost/numeric/conversion/detail/is_subranged.hpp b/SRC/Boost/boost/numeric/conversion/detail/is_subranged.hpp
deleted file mode 100755
index 1208403..0000000
--- a/SRC/Boost/boost/numeric/conversion/detail/is_subranged.hpp
+++ /dev/null
@@ -1,234 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_IS_SUBRANGED_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_IS_SUBRANGED_FLC_12NOV2002_HPP
-
-#include "boost/config.hpp"
-#include "boost/limits.hpp"
-
-#include "boost/mpl/int.hpp"
-#include "boost/mpl/multiplies.hpp"
-#include "boost/mpl/less.hpp"
-#include "boost/mpl/equal_to.hpp"
-
-#include "boost/type_traits/is_same.hpp"
-
-#include "boost/numeric/conversion/detail/meta.hpp"
-#include "boost/numeric/conversion/detail/int_float_mixture.hpp"
-#include "boost/numeric/conversion/detail/sign_mixture.hpp"
-#include "boost/numeric/conversion/detail/udt_builtin_mixture.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
-  //---------------------------------------------------------------
-  // Implementations of the compile time predicate "T is subranged"
-  //---------------------------------------------------------------
-
-    // for integral to integral conversions
-    template<class T,class S>
-    struct subranged_Sig2Unsig
-    {
-      // Signed to unsigned conversions are 'subranged' because of possible loose
-      // of negative values.
-      typedef mpl::true_ type ;
-    } ;
-
-    // for unsigned integral to signed integral conversions
-    template<class T,class S>
-    struct subranged_Unsig2Sig
-    {
-       // IMPORTANT NOTE:
-       //
-       // This code assumes that signed/unsigned integral values are represented
-       // such that:
-       //
-       //  numeric_limits<signed T>::digits + 1 == numeric_limits<unsigned T>::digits
-       //
-       // The '+1' is required since numeric_limits<>::digits gives 1 bit less for signed integral types.
-       //
-       // This fact is used by the following logic:
-       //
-       //  if ( (numeric_limits<T>::digits+1) < (2*numeric_limits<S>::digits) )
-       //    then the conversion is subranged.
-       //
-
-       typedef mpl::int_< ::std::numeric_limits<S>::digits > S_digits ;
-       typedef mpl::int_< ::std::numeric_limits<T>::digits > T_digits ;
-
-       // T is signed, so take digits+1
-       typedef typename T_digits::next u_T_digits ;
-
-       typedef mpl::int_<2> Two ;
-
-       typedef typename mpl::multiplies<S_digits,Two>::type S_digits_times_2 ;
-
-       typedef typename mpl::less<u_T_digits,S_digits_times_2>::type type ;
-    } ;
-
-    // for integral to integral conversions of the same sign.
-    template<class T,class S>
-    struct subranged_SameSign
-    {
-       // An integral conversion of the same sign is subranged if digits(T) < digits(S).
-
-       typedef mpl::int_< ::std::numeric_limits<S>::digits > S_digits ;
-       typedef mpl::int_< ::std::numeric_limits<T>::digits > T_digits ;
-
-       typedef typename mpl::less<T_digits,S_digits>::type type ;
-    } ;
-
-    // for integral to float conversions
-    template<class T,class S>
-    struct subranged_Int2Float
-    {
-      typedef mpl::false_ type ;
-    } ;
-
-    // for float to integral conversions
-    template<class T,class S>
-    struct subranged_Float2Int
-    {
-      typedef mpl::true_ type ;
-    } ;
-
-    // for float to float conversions
-    template<class T,class S>
-    struct subranged_Float2Float
-    {
-      // If both T and S are floats,
-      // compare exponent bits and if they match, mantisa bits.
-
-      typedef mpl::int_< ::std::numeric_limits<S>::digits > S_mantisa ;
-      typedef mpl::int_< ::std::numeric_limits<T>::digits > T_mantisa ;
-
-      typedef mpl::int_< ::std::numeric_limits<S>::max_exponent > S_exponent ;
-      typedef mpl::int_< ::std::numeric_limits<T>::max_exponent > T_exponent ;
-
-      typedef typename mpl::less<T_exponent,S_exponent>::type T_smaller_exponent ;
-
-      typedef typename mpl::equal_to<T_exponent,S_exponent>::type equal_exponents ;
-
-      typedef mpl::less<T_mantisa,S_mantisa> T_smaller_mantisa ;
-
-      typedef mpl::eval_if<equal_exponents,T_smaller_mantisa,mpl::false_> not_bigger_exponent_case ;
-
-      typedef typename
-        mpl::eval_if<T_smaller_exponent,mpl::true_,not_bigger_exponent_case>::type
-          type ;
-    } ;
-
-    // for Udt to built-in conversions
-    template<class T,class S>
-    struct subranged_Udt2BuiltIn
-    {
-      typedef mpl::true_ type ;
-    } ;
-
-    // for built-in to Udt conversions
-    template<class T,class S>
-    struct subranged_BuiltIn2Udt
-    {
-      typedef mpl::false_ type ;
-    } ;
-
-    // for Udt to Udt conversions
-    template<class T,class S>
-    struct subranged_Udt2Udt
-    {
-      typedef mpl::false_ type ;
-    } ;
-
-  //-------------------------------------------------------------------
-  // Selectors for the implementations of the subranged predicate
-  //-------------------------------------------------------------------
-
-    template<class T,class S>
-    struct get_subranged_Int2Int
-    {
-      typedef subranged_SameSign<T,S>  Sig2Sig     ;
-      typedef subranged_Sig2Unsig<T,S> Sig2Unsig   ;
-      typedef subranged_Unsig2Sig<T,S> Unsig2Sig   ;
-      typedef Sig2Sig                  Unsig2Unsig ;
-
-      typedef typename get_sign_mixture<T,S>::type sign_mixture ;
-
-      typedef typename
-        for_sign_mixture<sign_mixture, Sig2Sig, Sig2Unsig, Unsig2Sig, Unsig2Unsig>::type
-           type ;
-    } ;
-
-    template<class T,class S>
-    struct get_subranged_BuiltIn2BuiltIn
-    {
-      typedef get_subranged_Int2Int<T,S> Int2IntQ ;
-
-      typedef subranged_Int2Float  <T,S> Int2Float   ;
-      typedef subranged_Float2Int  <T,S> Float2Int   ;
-      typedef subranged_Float2Float<T,S> Float2Float ;
-
-      typedef mpl::identity<Int2Float  > Int2FloatQ   ;
-      typedef mpl::identity<Float2Int  > Float2IntQ   ;
-      typedef mpl::identity<Float2Float> Float2FloatQ ;
-
-      typedef typename get_int_float_mixture<T,S>::type int_float_mixture ;
-
-      typedef for_int_float_mixture<int_float_mixture, Int2IntQ, Int2FloatQ, Float2IntQ, Float2FloatQ> for_ ;
-
-      typedef typename for_::type selected ;
-
-      typedef typename selected::type type ;
-    } ;
-
-    template<class T,class S>
-    struct get_subranged
-    {
-      typedef get_subranged_BuiltIn2BuiltIn<T,S> BuiltIn2BuiltInQ ;
-
-      typedef subranged_BuiltIn2Udt<T,S> BuiltIn2Udt ;
-      typedef subranged_Udt2BuiltIn<T,S> Udt2BuiltIn ;
-      typedef subranged_Udt2Udt<T,S>     Udt2Udt ;
-
-      typedef mpl::identity<BuiltIn2Udt> BuiltIn2UdtQ ;
-      typedef mpl::identity<Udt2BuiltIn> Udt2BuiltInQ ;
-      typedef mpl::identity<Udt2Udt    > Udt2UdtQ     ;
-
-      typedef typename get_udt_builtin_mixture<T,S>::type udt_builtin_mixture ;
-      
-      typedef typename
-        for_udt_builtin_mixture<udt_builtin_mixture, BuiltIn2BuiltInQ, BuiltIn2UdtQ, Udt2BuiltInQ, Udt2UdtQ>::type
-          selected ;
-
-      typedef typename selected::type selected2 ;
- 
-      typedef typename selected2::type type ;
-    } ;
-
-
-  //-------------------------------------------------------------------
-  // Top level implementation selector.
-  //-------------------------------------------------------------------
-  template<class T, class S>
-  struct get_is_subranged
-  {
-    typedef get_subranged<T,S>         non_trivial_case ;
-    typedef mpl::identity<mpl::false_> trivial_case ;
-
-    typedef is_same<T,S> is_trivial ;
-   
-    typedef typename mpl::if_<is_trivial,trivial_case,non_trivial_case>::type selected ;
-    
-    typedef typename selected::type type ;
-  } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-
-
diff --git a/SRC/Boost/boost/numeric/conversion/detail/meta.hpp b/SRC/Boost/boost/numeric/conversion/detail/meta.hpp
deleted file mode 100755
index 3e6e4e3..0000000
--- a/SRC/Boost/boost/numeric/conversion/detail/meta.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_META_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_META_FLC_12NOV2002_HPP
-
-#include "boost/type_traits/remove_cv.hpp"
-
-#include "boost/mpl/if.hpp"
-#include "boost/mpl/eval_if.hpp"
-#include "boost/mpl/equal_to.hpp"
-#include "boost/mpl/not.hpp"
-#include "boost/mpl/and.hpp"
-#include "boost/mpl/bool.hpp"
-#include "boost/mpl/identity.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
-   template< class T1, class T2>
-   struct equal_to
-   {
-   #if !defined(__BORLANDC__)
-   
-       enum { x = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value == BOOST_MPL_AUX_VALUE_WKND(T2)::value ) };
-           
-       BOOST_STATIC_CONSTANT(bool, value = x);
-           
-       typedef mpl::bool_<value> type;
-       
-   #else
-   
-       BOOST_STATIC_CONSTANT(bool, value = (
-             BOOST_MPL_AUX_VALUE_WKND(T1)::value 
-               == BOOST_MPL_AUX_VALUE_WKND(T2)::value
-           ));
-           
-       typedef mpl::bool_<(
-             BOOST_MPL_AUX_VALUE_WKND(T1)::value 
-               == BOOST_MPL_AUX_VALUE_WKND(T2)::value
-           )> type;
-   #endif
-   };
-    
-// Metafunction:
-  //
-  //   ct_switch4<Value,Case0Val,Case1Val,Case2Val,Case0Type,Case1Type,Case2Type,DefaultType>::type
-  //
-  // {Value,Case(X)Val} are Integral Constants (such as: mpl::int_<>)
-  // {Case(X)Type,DefaultType} are arbitrary types. (not metafunctions)
-  //
-  // Returns Case(X)Type if Val==Case(X)Val; DefaultType otherwise.
-  //
-  template<class Value,
-           class Case0Val,
-           class Case1Val,
-           class Case2Val,
-           class Case0Type,
-           class Case1Type,
-           class Case2Type,
-           class DefaultType
-          >
-  struct ct_switch4
-  {
-    typedef mpl::identity<Case0Type> Case0TypeQ ;
-    typedef mpl::identity<Case1Type> Case1TypeQ ;
-
-    typedef equal_to<Value,Case0Val> is_case0 ;
-    typedef equal_to<Value,Case1Val> is_case1 ;
-    typedef equal_to<Value,Case2Val> is_case2 ;
-
-    typedef mpl::if_<is_case2,Case2Type,DefaultType> choose_2_3Q ;
-    typedef mpl::eval_if<is_case1,Case1TypeQ,choose_2_3Q> choose_1_2_3Q ;
-
-    typedef typename
-      mpl::eval_if<is_case0,Case0TypeQ,choose_1_2_3Q>::type
-        type ;
-  } ;
-
-
-
-
-  // Metafunction:
-  //
-  //   for_both<expr0,expr1,TT,TF,FT,FF>::type
-  //
-  // {exp0,expr1} are Boolean Integral Constants
-  // {TT,TF,FT,FF} are aribtrary types. (not metafunctions)
-  //
-  // According to the combined boolean value of 'expr0 && expr1', selects the corresponding type.
-  //
-  template<class expr0, class expr1, class TT, class TF, class FT, class FF>
-  struct for_both
-  {
-    typedef mpl::identity<TF> TF_Q ;
-    typedef mpl::identity<TT> TT_Q ;
-
-    typedef typename mpl::not_<expr0>::type not_expr0 ;
-    typedef typename mpl::not_<expr1>::type not_expr1 ;
-
-    typedef typename mpl::and_<expr0,expr1>::type     caseTT ;
-    typedef typename mpl::and_<expr0,not_expr1>::type caseTF ;
-    typedef typename mpl::and_<not_expr0,expr1>::type caseFT ;
-
-    typedef mpl::if_<caseFT,FT,FF>                    choose_FT_FF_Q ;
-    typedef mpl::eval_if<caseTF,TF_Q,choose_FT_FF_Q> choose_TF_FT_FF_Q ;
-
-    typedef typename mpl::eval_if<caseTT,TT_Q,choose_TF_FT_FF_Q>::type type ;
-  } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-
-
diff --git a/SRC/Boost/boost/numeric/conversion/detail/numeric_cast_traits.hpp b/SRC/Boost/boost/numeric/conversion/detail/numeric_cast_traits.hpp
deleted file mode 100755
index 12dd6d6..0000000
--- a/SRC/Boost/boost/numeric/conversion/detail/numeric_cast_traits.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-//
-//! Copyright (c) 2011
-//! Brandon Kohn
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-#if !defined(BOOST_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES)
-    #include <boost/numeric/conversion/detail/preprocessed/numeric_cast_traits.hpp>
-#else
-#if !BOOST_PP_IS_ITERATING
-
-    #include <boost/preprocessor/iteration/iterate.hpp>
-    #include <boost/preprocessor/seq/elem.hpp>
-    #include <boost/preprocessor/seq/size.hpp>
-
-    #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
-        #pragma wave option(preserve: 2, line: 0, output: "preprocessed/numeric_cast_traits.hpp")
-    #endif
-
-//
-//! Copyright (c) 2011
-//! Brandon Kohn
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-    #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
-        #pragma wave option(preserve: 1)
-    #endif
-
-    //! Generate the specializations for the built-in types.
-    #if !defined( BOOST_NO_INT64_T )    
-        #define BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES() \
-                (char)                                   \
-                (boost::int8_t)                          \
-                (boost::uint8_t)                         \
-                (boost::int16_t)                         \
-                (boost::uint16_t)                        \
-                (boost::int32_t)                         \
-                (boost::uint32_t)                        \
-                (boost::int64_t)                         \
-                (boost::uint64_t)                        \
-                (float)                                  \
-                (double)                                 \
-                (long double)                            \
-        /***/
-    #else
-        #define BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES() \
-                (char)                                   \
-                (boost::int8_t)                          \
-                (boost::uint8_t)                         \
-                (boost::int16_t)                         \
-                (boost::uint16_t)                        \
-                (boost::int32_t)                         \
-                (boost::uint32_t)                        \
-                (float)                                  \
-                (double)                                 \
-                (long double)                            \
-        /***/
-    #endif
-
-namespace boost { namespace numeric {
-
-    #define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES())), <boost/numeric/conversion/detail/numeric_cast_traits.hpp>))
-    #include BOOST_PP_ITERATE()    
-
-}}//namespace boost::numeric;
-
-    #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
-        #pragma wave option(output: null)
-    #endif   
-
-    #undef BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES
-
-#elif BOOST_PP_ITERATION_DEPTH() == 1
-
-   #define BOOST_PP_ITERATION_PARAMS_2 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES())), <boost/numeric/conversion/detail/numeric_cast_traits.hpp>))
-   #include BOOST_PP_ITERATE()
-       
-#elif BOOST_PP_ITERATION_DEPTH() == 2
-
-    //! Generate default traits for the specified source and target.
-    #define BOOST_NUMERIC_CONVERSION_A BOOST_PP_FRAME_ITERATION(1)
-    #define BOOST_NUMERIC_CONVERSION_B BOOST_PP_FRAME_ITERATION(2)
-
-    template <>
-    struct numeric_cast_traits
-        <
-            BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_A, BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES())
-          , BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_B, BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES())
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_B, BOOST_NUMERIC_CONVERSION_BUILTIN_TYPES())> rounding_policy;
-    };     
-
-    #undef BOOST_NUMERIC_CONVERSION_A
-    #undef BOOST_NUMERIC_CONVERSION_B
-
-#endif//! Depth 2.
-#endif// BOOST_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES
diff --git a/SRC/Boost/boost/numeric/conversion/detail/old_numeric_cast.hpp b/SRC/Boost/boost/numeric/conversion/detail/old_numeric_cast.hpp
deleted file mode 100755
index e2208a9..0000000
--- a/SRC/Boost/boost/numeric/conversion/detail/old_numeric_cast.hpp
+++ /dev/null
@@ -1,339 +0,0 @@
-//  boost cast.hpp header file  ----------------------------------------------//
-
-//  (C) Copyright Kevlin Henney and Dave Abrahams 1999.
-//  Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/conversion for Documentation.
-
-//  Revision History
-//  23 JUN 05  Code extracted from /boost/cast.hpp into this new header.
-//             Keeps this legacy version of numeric_cast<> for old compilers
-//             wich can't compile the new version in /boost/numeric/conversion/cast.hpp
-//             (Fernando Cacciola)
-//  02 Apr 01  Removed BOOST_NO_LIMITS workarounds and included
-//             <boost/limits.hpp> instead (the workaround did not
-//             actually compile when BOOST_NO_LIMITS was defined in
-//             any case, so we loose nothing). (John Maddock)
-//  21 Jan 01  Undid a bug I introduced yesterday. numeric_cast<> never
-//             worked with stock GCC; trying to get it to do that broke
-//             vc-stlport.
-//  20 Jan 01  Moved BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS to config.hpp.
-//             Removed unused BOOST_EXPLICIT_TARGET macro. Moved
-//             boost::detail::type to boost/type.hpp. Made it compile with
-//             stock gcc again (Dave Abrahams)
-//  29 Nov 00  Remove nested namespace cast, cleanup spacing before Formal
-//             Review (Beman Dawes)
-//  19 Oct 00  Fix numeric_cast for floating-point types (Dave Abrahams)
-//  15 Jul 00  Suppress numeric_cast warnings for GCC, Borland and MSVC
-//             (Dave Abrahams)
-//  30 Jun 00  More MSVC6 wordarounds.  See comments below.  (Dave Abrahams)
-//  28 Jun 00  Removed implicit_cast<>.  See comment below. (Beman Dawes)
-//  27 Jun 00  More MSVC6 workarounds
-//  15 Jun 00  Add workarounds for MSVC6
-//   2 Feb 00  Remove bad_numeric_cast ";" syntax error (Doncho Angelov)
-//  26 Jan 00  Add missing throw() to bad_numeric_cast::what(0 (Adam Levar)
-//  29 Dec 99  Change using declarations so usages in other namespaces work
-//             correctly (Dave Abrahams)
-//  23 Sep 99  Change polymorphic_downcast assert to also detect M.I. errors
-//             as suggested Darin Adler and improved by Valentin Bonnard.
-//   2 Sep 99  Remove controversial asserts, simplify, rename.
-//  30 Aug 99  Move to cast.hpp, replace value_cast with numeric_cast,
-//             place in nested namespace.
-//   3 Aug 99  Initial version
-
-#ifndef BOOST_OLD_NUMERIC_CAST_HPP
-#define BOOST_OLD_NUMERIC_CAST_HPP
-
-# include <boost/config.hpp>
-# include <cassert>
-# include <typeinfo>
-# include <boost/type.hpp>
-# include <boost/limits.hpp>
-# include <boost/numeric/conversion/converter_policies.hpp>
-
-//  It has been demonstrated numerous times that MSVC 6.0 fails silently at link
-//  time if you use a template function which has template parameters that don't
-//  appear in the function's argument list.
-//
-//  TODO: Add this to config.hpp?
-//  FLC: This macro is repeated in boost/cast.hpp but only locally (is undefined at the bottom)
-//       so is OK to reproduce it here.
-# if defined(BOOST_MSVC) && BOOST_MSVC < 1300
-#  define BOOST_EXPLICIT_DEFAULT_TARGET , ::boost::type<Target>* = 0
-# else
-#  define BOOST_EXPLICIT_DEFAULT_TARGET
-# endif
-
-namespace boost
-{
-  using numeric::bad_numeric_cast;
-
-//  LEGACY numeric_cast [only for some old broken compilers] --------------------------------------//
-
-//  Contributed by Kevlin Henney
-
-//  numeric_cast  ------------------------------------------------------------//
-
-#if !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || defined(BOOST_SGI_CPP_LIMITS)
-
-    namespace detail
-    {
-      template <class T>
-      struct signed_numeric_limits : std::numeric_limits<T>
-      {
-             static inline T min BOOST_PREVENT_MACRO_SUBSTITUTION ()
-         {
-             return (std::numeric_limits<T>::min)() >= 0
-                     // unary minus causes integral promotion, thus the static_cast<>
-                     ? static_cast<T>(-(std::numeric_limits<T>::max)())
-                     : (std::numeric_limits<T>::min)();
-         };
-      };
-
-      // Move to namespace boost in utility.hpp?
-      template <class T, bool specialized>
-      struct fixed_numeric_limits_base
-          : public if_true< std::numeric_limits<T>::is_signed >
-           ::BOOST_NESTED_TEMPLATE then< signed_numeric_limits<T>,
-                            std::numeric_limits<T>
-                   >::type
-      {};
-
-      template <class T>
-      struct fixed_numeric_limits
-          : fixed_numeric_limits_base<T,(std::numeric_limits<T>::is_specialized)>
-      {};
-
-# ifdef BOOST_HAS_LONG_LONG
-      // cover implementations which supply no specialization for long
-      // long / unsigned long long. Not intended to be full
-      // numeric_limits replacements, but good enough for numeric_cast<>
-      template <>
-      struct fixed_numeric_limits_base< ::boost::long_long_type, false>
-      {
-          BOOST_STATIC_CONSTANT(bool, is_specialized = true);
-          BOOST_STATIC_CONSTANT(bool, is_signed = true);
-          static  ::boost::long_long_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
-          {
-#  ifdef LONGLONG_MAX
-              return LONGLONG_MAX;
-#  else
-              return 9223372036854775807LL; // hope this is portable
-#  endif
-          }
-
-          static  ::boost::long_long_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
-          {
-#  ifdef LONGLONG_MIN
-              return LONGLONG_MIN;
-#  else
-               return -( 9223372036854775807LL )-1; // hope this is portable
-#  endif
-          }
-      };
-
-      template <>
-      struct fixed_numeric_limits_base< ::boost::ulong_long_type, false>
-      {
-          BOOST_STATIC_CONSTANT(bool, is_specialized = true);
-          BOOST_STATIC_CONSTANT(bool, is_signed = false);
-          static  ::boost::ulong_long_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
-          {
-#  ifdef ULONGLONG_MAX
-              return ULONGLONG_MAX;
-#  else
-              return 0xffffffffffffffffULL; // hope this is portable
-#  endif
-          }
-
-          static  ::boost::ulong_long_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return 0; }
-      };
-# endif
-    } // namespace detail
-
-// less_than_type_min -
-  //    x_is_signed should be numeric_limits<X>::is_signed
-  //    y_is_signed should be numeric_limits<Y>::is_signed
-  //    y_min should be numeric_limits<Y>::min()
-  //
-  //    check(x, y_min) returns true iff x < y_min without invoking comparisons
-  //    between signed and unsigned values.
-  //
-  //    "poor man's partial specialization" is in use here.
-    template <bool x_is_signed, bool y_is_signed>
-    struct less_than_type_min
-    {
-        template <class X, class Y>
-        static bool check(X x, Y y_min)
-            { return x < y_min; }
-    };
-
-    template <>
-    struct less_than_type_min<false, true>
-    {
-        template <class X, class Y>
-        static bool check(X, Y)
-            { return false; }
-    };
-
-    template <>
-    struct less_than_type_min<true, false>
-    {
-        template <class X, class Y>
-        static bool check(X x, Y)
-            { return x < 0; }
-    };
-
-  // greater_than_type_max -
-  //    same_sign should be:
-  //            numeric_limits<X>::is_signed == numeric_limits<Y>::is_signed
-  //    y_max should be numeric_limits<Y>::max()
-  //
-  //    check(x, y_max) returns true iff x > y_max without invoking comparisons
-  //    between signed and unsigned values.
-  //
-  //    "poor man's partial specialization" is in use here.
-    template <bool same_sign, bool x_is_signed>
-    struct greater_than_type_max;
-
-    template<>
-    struct greater_than_type_max<true, true>
-    {
-        template <class X, class Y>
-        static inline bool check(X x, Y y_max)
-            { return x > y_max; }
-    };
-
-    template <>
-    struct greater_than_type_max<false, true>
-    {
-        // What does the standard say about this? I think it's right, and it
-        // will work with every compiler I know of.
-        template <class X, class Y>
-        static inline bool check(X x, Y)
-            { return x >= 0 && static_cast<X>(static_cast<Y>(x)) != x; }
-
-# if defined(BOOST_MSVC) && BOOST_MSVC < 1300
-        // MSVC6 can't static_cast  unsigned __int64 -> floating types
-#  define BOOST_UINT64_CAST(src_type)                                   \
-        static inline bool check(src_type x, unsigned __int64)          \
-        {                                                               \
-            if (x < 0) return false;                                    \
-            unsigned __int64 y = static_cast<unsigned __int64>(x);      \
-            bool odd = y & 0x1;                                         \
-            __int64 div2 = static_cast<__int64>(y >> 1);                \
-            return ((static_cast<src_type>(div2) * 2.0) + odd) != x;    \
-        }
-
-        BOOST_UINT64_CAST(long double);
-        BOOST_UINT64_CAST(double);
-        BOOST_UINT64_CAST(float);
-#  undef BOOST_UINT64_CAST
-# endif
-    };
-
-    template<>
-    struct greater_than_type_max<true, false>
-    {
-        template <class X, class Y>
-        static inline bool check(X x, Y y_max)
-            { return x > y_max; }
-    };
-
-    template <>
-    struct greater_than_type_max<false, false>
-    {
-        // What does the standard say about this? I think it's right, and it
-        // will work with every compiler I know of.
-        template <class X, class Y>
-        static inline bool check(X x, Y)
-            { return static_cast<X>(static_cast<Y>(x)) != x; }
-    };
-
-#else // use #pragma hacks if available
-
-  namespace detail
-  {
-# if BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4018)
-#  pragma warning(disable : 4146)
-#elif defined(__BORLANDC__)
-#  pragma option push -w-8041
-# endif
-
-       // Move to namespace boost in utility.hpp?
-       template <class T>
-       struct fixed_numeric_limits : public std::numeric_limits<T>
-       {
-           static inline T min BOOST_PREVENT_MACRO_SUBSTITUTION ()
-           {
-               return std::numeric_limits<T>::is_signed && (std::numeric_limits<T>::min)() >= 0
-                   ? T(-(std::numeric_limits<T>::max)()) : (std::numeric_limits<T>::min)();
-           }
-       };
-
-# if BOOST_MSVC
-#  pragma warning(pop)
-#elif defined(__BORLANDC__)
-#  pragma option pop
-# endif
-  } // namespace detail
-
-#endif
-
-    template<typename Target, typename Source>
-    inline Target numeric_cast(Source arg BOOST_EXPLICIT_DEFAULT_TARGET)
-    {
-        // typedefs abbreviating respective trait classes
-        typedef detail::fixed_numeric_limits<Source> arg_traits;
-        typedef detail::fixed_numeric_limits<Target> result_traits;
-
-#if defined(BOOST_STRICT_CONFIG) \
-    || (!defined(__HP_aCC) || __HP_aCC > 33900) \
-         && (!defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) \
-             || defined(BOOST_SGI_CPP_LIMITS))
-        // typedefs that act as compile time assertions
-        // (to be replaced by boost compile time assertions
-        // as and when they become available and are stable)
-        typedef bool argument_must_be_numeric[arg_traits::is_specialized];
-        typedef bool result_must_be_numeric[result_traits::is_specialized];
-
-        const bool arg_is_signed = arg_traits::is_signed;
-        const bool result_is_signed = result_traits::is_signed;
-        const bool same_sign = arg_is_signed == result_is_signed;
-
-        if (less_than_type_min<arg_is_signed, result_is_signed>::check(arg, (result_traits::min)())
-            || greater_than_type_max<same_sign, arg_is_signed>::check(arg, (result_traits::max)())
-            )
-
-#else // We need to use #pragma hacks if available
-
-# if BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4018)
-#elif defined(__BORLANDC__)
-#pragma option push -w-8012
-# endif
-        if ((arg < 0 && !result_traits::is_signed)  // loss of negative range
-             || (arg_traits::is_signed && arg < (result_traits::min)())  // underflow
-             || arg > (result_traits::max)())            // overflow
-# if BOOST_MSVC
-#  pragma warning(pop)
-#elif defined(__BORLANDC__)
-#pragma option pop
-# endif
-#endif
-        {
-            throw bad_numeric_cast();
-        }
-        return static_cast<Target>(arg);
-    } // numeric_cast
-
-#  undef BOOST_EXPLICIT_DEFAULT_TARGET
-
-} // namespace boost
-
-#endif  // BOOST_OLD_NUMERIC_CAST_HPP
diff --git a/SRC/Boost/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits.hpp b/SRC/Boost/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits.hpp
deleted file mode 100755
index 6771934..0000000
--- a/SRC/Boost/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits.hpp
+++ /dev/null
@@ -1,1751 +0,0 @@
-//
-//! Copyright (c) 2011
-//! Brandon Kohn
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-    
-namespace boost { namespace numeric {
-
-    template <>
-    struct numeric_cast_traits
-        <
-            char
-          , char
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<char> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            char
-          , boost::int8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            char
-          , boost::uint8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            char
-          , boost::int16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            char
-          , boost::uint16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            char
-          , boost::int32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            char
-          , boost::uint32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            char
-          , boost::int64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            char
-          , boost::uint64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            char
-          , float
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<float> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            char
-          , double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<double> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            char
-          , long double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<long double> rounding_policy;
-    }; 
-       
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int8_t
-          , char
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<char> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int8_t
-          , boost::int8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int8_t
-          , boost::uint8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int8_t
-          , boost::int16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int8_t
-          , boost::uint16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int8_t
-          , boost::int32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int8_t
-          , boost::uint32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int8_t
-          , boost::int64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int8_t
-          , boost::uint64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int8_t
-          , float
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<float> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int8_t
-          , double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<double> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int8_t
-          , long double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<long double> rounding_policy;
-    }; 
-       
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint8_t
-          , char
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<char> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint8_t
-          , boost::int8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint8_t
-          , boost::uint8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint8_t
-          , boost::int16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint8_t
-          , boost::uint16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint8_t
-          , boost::int32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint8_t
-          , boost::uint32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint8_t
-          , boost::int64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint8_t
-          , boost::uint64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint8_t
-          , float
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<float> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint8_t
-          , double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<double> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint8_t
-          , long double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<long double> rounding_policy;
-    }; 
-       
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int16_t
-          , char
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<char> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int16_t
-          , boost::int8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int16_t
-          , boost::uint8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int16_t
-          , boost::int16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int16_t
-          , boost::uint16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int16_t
-          , boost::int32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int16_t
-          , boost::uint32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int16_t
-          , boost::int64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int16_t
-          , boost::uint64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int16_t
-          , float
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<float> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int16_t
-          , double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<double> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int16_t
-          , long double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<long double> rounding_policy;
-    }; 
-       
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint16_t
-          , char
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<char> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint16_t
-          , boost::int8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint16_t
-          , boost::uint8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint16_t
-          , boost::int16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint16_t
-          , boost::uint16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint16_t
-          , boost::int32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint16_t
-          , boost::uint32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint16_t
-          , boost::int64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint16_t
-          , boost::uint64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint16_t
-          , float
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<float> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint16_t
-          , double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<double> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint16_t
-          , long double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<long double> rounding_policy;
-    }; 
-       
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int32_t
-          , char
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<char> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int32_t
-          , boost::int8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int32_t
-          , boost::uint8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int32_t
-          , boost::int16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int32_t
-          , boost::uint16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int32_t
-          , boost::int32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int32_t
-          , boost::uint32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int32_t
-          , boost::int64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int32_t
-          , boost::uint64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int32_t
-          , float
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<float> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int32_t
-          , double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<double> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int32_t
-          , long double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<long double> rounding_policy;
-    }; 
-       
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint32_t
-          , char
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<char> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint32_t
-          , boost::int8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint32_t
-          , boost::uint8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint32_t
-          , boost::int16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint32_t
-          , boost::uint16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint32_t
-          , boost::int32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint32_t
-          , boost::uint32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint32_t
-          , boost::int64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint32_t
-          , boost::uint64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint32_t
-          , float
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<float> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint32_t
-          , double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<double> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint32_t
-          , long double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<long double> rounding_policy;
-    }; 
-       
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int64_t
-          , char
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<char> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int64_t
-          , boost::int8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int64_t
-          , boost::uint8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int64_t
-          , boost::int16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int64_t
-          , boost::uint16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int64_t
-          , boost::int32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int64_t
-          , boost::uint32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int64_t
-          , boost::int64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int64_t
-          , boost::uint64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int64_t
-          , float
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<float> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int64_t
-          , double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<double> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::int64_t
-          , long double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<long double> rounding_policy;
-    }; 
-       
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint64_t
-          , char
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<char> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint64_t
-          , boost::int8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint64_t
-          , boost::uint8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint64_t
-          , boost::int16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint64_t
-          , boost::uint16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint64_t
-          , boost::int32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint64_t
-          , boost::uint32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint64_t
-          , boost::int64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint64_t
-          , boost::uint64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint64_t
-          , float
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<float> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint64_t
-          , double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<double> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            boost::uint64_t
-          , long double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<long double> rounding_policy;
-    }; 
-       
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            float
-          , char
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<char> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            float
-          , boost::int8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            float
-          , boost::uint8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            float
-          , boost::int16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            float
-          , boost::uint16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            float
-          , boost::int32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            float
-          , boost::uint32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            float
-          , boost::int64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            float
-          , boost::uint64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            float
-          , float
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<float> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            float
-          , double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<double> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            float
-          , long double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<long double> rounding_policy;
-    }; 
-       
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            double
-          , char
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<char> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            double
-          , boost::int8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            double
-          , boost::uint8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            double
-          , boost::int16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            double
-          , boost::uint16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            double
-          , boost::int32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            double
-          , boost::uint32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            double
-          , boost::int64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            double
-          , boost::uint64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            double
-          , float
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<float> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            double
-          , double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<double> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            double
-          , long double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<long double> rounding_policy;
-    }; 
-       
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            long double
-          , char
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<char> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            long double
-          , boost::int8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            long double
-          , boost::uint8_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint8_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            long double
-          , boost::int16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            long double
-          , boost::uint16_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint16_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            long double
-          , boost::int32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            long double
-          , boost::uint32_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint32_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            long double
-          , boost::int64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::int64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            long double
-          , boost::uint64_t
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<boost::uint64_t> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            long double
-          , float
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<float> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            long double
-          , double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<double> rounding_policy;
-    }; 
-    
-    template <>
-    struct numeric_cast_traits
-        <
-            long double
-          , long double
-        >
-    {
-        typedef def_overflow_handler overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<long double> rounding_policy;
-    }; 
-       
-}}
diff --git a/SRC/Boost/boost/numeric/conversion/detail/sign_mixture.hpp b/SRC/Boost/boost/numeric/conversion/detail/sign_mixture.hpp
deleted file mode 100755
index d010491..0000000
--- a/SRC/Boost/boost/numeric/conversion/detail/sign_mixture.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP
-
-#include "boost/config.hpp"
-#include "boost/limits.hpp"
-
-#include "boost/numeric/conversion/sign_mixture_enum.hpp"
-#include "boost/numeric/conversion/detail/meta.hpp"
-
-#include "boost/mpl/integral_c.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
-  // Integral Constants for 'SignMixture'
-  typedef mpl::integral_c<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
-  typedef mpl::integral_c<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
-  typedef mpl::integral_c<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
-  typedef mpl::integral_c<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
-
-  // Metafunction:
-  //
-  //   get_sign_mixture<T,S>::type
-  //
-  // Selects the appropriate SignMixture Integral Constant for the combination T,S.
-  //
-  template<class T,class S>
-  struct get_sign_mixture
-  {
-    typedef mpl::bool_< ::std::numeric_limits<S>::is_signed > S_signed ;
-    typedef mpl::bool_< ::std::numeric_limits<T>::is_signed > T_signed ;
-
-    typedef typename
-      for_both<S_signed, T_signed, sig2sig_c, sig2unsig_c, unsig2sig_c, unsig2unsig_c>::type
-        type ;
-  } ;
-
-  // Metafunction:
-  //
-  //   for_sign_mixture<SignMixture,Sig2Sig,Sig2Unsig,Unsig2Sig,Unsig2Unsig>::type
-  //
-  // {SignMixture} is one of the Integral Constants for SignMixture, declared above.
-  // {Sig2Sig,Sig2Unsig,Unsig2Sig,Unsig2Unsig} are aribtrary types. (not metafunctions)
-  //
-  // According to the value of 'SignMixture', selects the corresponding type.
-  //
-  template<class SignMixture, class Sig2Sig, class Sig2Unsig, class Unsig2Sig, class Unsig2Unsig>
-  struct for_sign_mixture
-  {
-    typedef typename
-      ct_switch4<SignMixture
-                 , sig2sig_c, sig2unsig_c, unsig2sig_c  // default
-                 , Sig2Sig  , Sig2Unsig  , Unsig2Sig  , Unsig2Unsig
-                >::type
-        type ;
-  } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/SRC/Boost/boost/numeric/conversion/detail/udt_builtin_mixture.hpp b/SRC/Boost/boost/numeric/conversion/detail/udt_builtin_mixture.hpp
deleted file mode 100755
index e1b2428..0000000
--- a/SRC/Boost/boost/numeric/conversion/detail/udt_builtin_mixture.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP
-
-#include "boost/type_traits/is_arithmetic.hpp"
-
-#include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp"
-#include "boost/numeric/conversion/detail/meta.hpp"
-
-#include "boost/mpl/integral_c.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
-  // Integral Constants for 'UdtMixture'
-  typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
-  typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
-  typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
-  typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
-
-  // Metafunction:
-  //
-  //   for_udt_mixture<UdtMixture,BuiltIn2BuiltIn,BuiltIn2Udt,Udt2BuiltIn,Udt2Udt>::type
-  //
-  // {UdtMixture} is one of the Integral Constants for UdMixture, declared above.
-  // {BuiltIn2BuiltIn,BuiltIn2Udt,Udt2BuiltIn,Udt2Udt} are aribtrary types. (not metafunctions)
-  //
-  // According to the value of 'UdtMixture', selects the corresponding type.
-  //
-  template<class UdtMixture, class BuiltIn2BuiltIn, class BuiltIn2Udt, class Udt2BuiltIn, class Udt2Udt>
-  struct for_udt_builtin_mixture
-  {
-    typedef typename
-      ct_switch4<UdtMixture
-                 , builtin2builtin_c, builtin2udt_c, udt2builtin_c // default
-                 , BuiltIn2BuiltIn  , BuiltIn2Udt  , Udt2BuiltIn  , Udt2Udt
-                >::type
-        type ;
-  } ;
-
-  // Metafunction:
-  //
-  //   get_udt_mixture<T,S>::type
-  //
-  // Selects the appropriate UdtMixture Integral Constant for the combination T,S.
-  //
-  template<class T,class S>
-  struct get_udt_builtin_mixture
-  {
-    typedef is_arithmetic<S> S_builtin ;
-    typedef is_arithmetic<T> T_builtin ;
-
-    typedef typename
-      for_both<S_builtin, T_builtin, builtin2builtin_c, builtin2udt_c, udt2builtin_c, udt2udt_c>::type
-        type ;
-  } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-
-
diff --git a/SRC/Boost/boost/numeric/conversion/int_float_mixture_enum.hpp b/SRC/Boost/boost/numeric/conversion/int_float_mixture_enum.hpp
deleted file mode 100755
index cf90dca..0000000
--- a/SRC/Boost/boost/numeric/conversion/int_float_mixture_enum.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP
-
-namespace boost { namespace numeric
-{
-  enum int_float_mixture_enum
-  {
-     integral_to_integral
-    ,integral_to_float
-    ,float_to_integral
-    ,float_to_float
-  } ;
-
-} } // namespace boost::numeric
-
-#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/SRC/Boost/boost/numeric/conversion/numeric_cast_traits.hpp b/SRC/Boost/boost/numeric/conversion/numeric_cast_traits.hpp
deleted file mode 100755
index e51a6ba..0000000
--- a/SRC/Boost/boost/numeric/conversion/numeric_cast_traits.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//
-//! Copyright (c) 2011
-//! Brandon Kohn
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-#ifndef BOOST_NUMERIC_CAST_TRAITS_HPP
-#define BOOST_NUMERIC_CAST_TRAITS_HPP
-
-#include <boost/numeric/conversion/converter_policies.hpp>
-
-namespace boost { namespace numeric {
-
-    template <typename Target, typename Source, typename EnableIf = void>
-    struct numeric_cast_traits
-    {
-        typedef def_overflow_handler    overflow_policy;
-        typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<Source>           rounding_policy;
-    };
-
-}}//namespace boost::numeric;
-
-#if !defined( BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS )
-#include <boost/cstdint.hpp>
-#include <boost/numeric/conversion/detail/numeric_cast_traits.hpp>
-#endif//!defined BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS
-
-#endif//BOOST_NUMERIC_CAST_TRAITS_HPP
diff --git a/SRC/Boost/boost/numeric/conversion/sign_mixture_enum.hpp b/SRC/Boost/boost/numeric/conversion/sign_mixture_enum.hpp
deleted file mode 100755
index efda7aa..0000000
--- a/SRC/Boost/boost/numeric/conversion/sign_mixture_enum.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP
-
-namespace boost { namespace numeric
-{
-  enum sign_mixture_enum
-  {
-     unsigned_to_unsigned
-    ,signed_to_signed
-    ,signed_to_unsigned
-    ,unsigned_to_signed
-  } ;
-
-} } // namespace boost::numeric
-
-#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/SRC/Boost/boost/numeric/conversion/udt_builtin_mixture_enum.hpp b/SRC/Boost/boost/numeric/conversion/udt_builtin_mixture_enum.hpp
deleted file mode 100755
index 069aa95..0000000
--- a/SRC/Boost/boost/numeric/conversion/udt_builtin_mixture_enum.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//  (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-// 
-#ifndef BOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_ENUM_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_ENUM_FLC_12NOV2002_HPP
-
-namespace boost { namespace numeric
-{
-  enum udt_builtin_mixture_enum
-  {
-     builtin_to_builtin
-    ,builtin_to_udt
-    ,udt_to_builtin
-    ,udt_to_udt
-  } ;
-
-} } // namespace boost::numeric
-
-#endif
-
diff --git a/SRC/Boost/boost/operators.hpp b/SRC/Boost/boost/operators.hpp
deleted file mode 100755
index 3750ad6..0000000
--- a/SRC/Boost/boost/operators.hpp
+++ /dev/null
@@ -1,978 +0,0 @@
-//  Boost operators.hpp header file  ----------------------------------------//
-
-//  (C) Copyright David Abrahams, Jeremy Siek, Daryle Walker 1999-2001.
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/utility/operators.htm for documentation.
-
-//  Revision History
-//  16 Dec 10 Limit warning suppression for 4284 to older versions of VC++
-//            (Matthew Bradbury, fixes #4432)
-//  07 Aug 08 Added "euclidean" spelling. (Daniel Frey)
-//  03 Apr 08 Make sure "convertible to bool" is sufficient
-//            for T::operator<, etc. (Daniel Frey)
-//  24 May 07 Changed empty_base to depend on T, see
-//            http://svn.boost.org/trac/boost/ticket/979
-//  21 Oct 02 Modified implementation of operators to allow compilers with a
-//            correct named return value optimization (NRVO) to produce optimal
-//            code.  (Daniel Frey)
-//  02 Dec 01 Bug fixed in random_access_iteratable.  (Helmut Zeisel)
-//  28 Sep 01 Factored out iterator operator groups.  (Daryle Walker)
-//  27 Aug 01 'left' form for non commutative operators added;
-//            additional classes for groups of related operators added;
-//            workaround for empty base class optimization
-//            bug of GCC 3.0 (Helmut Zeisel)
-//  25 Jun 01 output_iterator_helper changes: removed default template 
-//            parameters, added support for self-proxying, additional 
-//            documentation and tests (Aleksey Gurtovoy)
-//  29 May 01 Added operator classes for << and >>.  Added input and output
-//            iterator helper classes.  Added classes to connect equality and
-//            relational operators.  Added classes for groups of related
-//            operators.  Reimplemented example operator and iterator helper
-//            classes in terms of the new groups.  (Daryle Walker, with help
-//            from Alexy Gurtovoy)
-//  11 Feb 01 Fixed bugs in the iterator helpers which prevented explicitly
-//            supplied arguments from actually being used (Dave Abrahams)
-//  04 Jul 00 Fixed NO_OPERATORS_IN_NAMESPACE bugs, major cleanup and
-//            refactoring of compiler workarounds, additional documentation
-//            (Alexy Gurtovoy and Mark Rodgers with some help and prompting from
-//            Dave Abrahams) 
-//  28 Jun 00 General cleanup and integration of bugfixes from Mark Rodgers and
-//            Jeremy Siek (Dave Abrahams)
-//  20 Jun 00 Changes to accommodate Borland C++Builder 4 and Borland C++ 5.5
-//            (Mark Rodgers)
-//  20 Jun 00 Minor fixes to the prior revision (Aleksey Gurtovoy)
-//  10 Jun 00 Support for the base class chaining technique was added
-//            (Aleksey Gurtovoy). See documentation and the comments below 
-//            for the details. 
-//  12 Dec 99 Initial version with iterator operators (Jeremy Siek)
-//  18 Nov 99 Change name "divideable" to "dividable", remove unnecessary
-//            specializations of dividable, subtractable, modable (Ed Brey) 
-//  17 Nov 99 Add comments (Beman Dawes)
-//            Remove unnecessary specialization of operators<> (Ed Brey)
-//  15 Nov 99 Fix less_than_comparable<T,U> second operand type for first two
-//            operators.(Beman Dawes)
-//  12 Nov 99 Add operators templates (Ed Brey)
-//  11 Nov 99 Add single template parameter version for compilers without
-//            partial specialization (Beman Dawes)
-//  10 Nov 99 Initial version
-
-// 10 Jun 00:
-// An additional optional template parameter was added to most of 
-// operator templates to support the base class chaining technique (see 
-// documentation for the details). Unfortunately, a straightforward
-// implementation of this change would have broken compatibility with the
-// previous version of the library by making it impossible to use the same
-// template name (e.g. 'addable') for both the 1- and 2-argument versions of
-// an operator template. This implementation solves the backward-compatibility
-// issue at the cost of some simplicity.
-//
-// One of the complications is an existence of special auxiliary class template
-// 'is_chained_base<>' (see 'detail' namespace below), which is used
-// to determine whether its template parameter is a library's operator template
-// or not. You have to specialize 'is_chained_base<>' for each new 
-// operator template you add to the library.
-//
-// However, most of the non-trivial implementation details are hidden behind 
-// several local macros defined below, and as soon as you understand them,
-// you understand the whole library implementation. 
-
-#ifndef BOOST_OPERATORS_HPP
-#define BOOST_OPERATORS_HPP
-
-#include <boost/config.hpp>
-#include <boost/iterator.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if defined(__sgi) && !defined(__GNUC__)
-#   pragma set woff 1234
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1600)
-#   pragma warning( disable : 4284 ) // complaint about return type of 
-#endif                               // operator-> not begin a UDT
-
-namespace boost {
-namespace detail {
-
-template <typename T> class empty_base {
-
-// Helmut Zeisel, empty base class optimization bug with GCC 3.0.0
-#if defined(__GNUC__) && __GNUC__==3 && __GNUC_MINOR__==0 && __GNU_PATCHLEVEL__==0
-  bool dummy; 
-#endif
-
-};
-
-} // namespace detail
-} // namespace boost
-
-// In this section we supply the xxxx1 and xxxx2 forms of the operator
-// templates, which are explicitly targeted at the 1-type-argument and
-// 2-type-argument operator forms, respectively. Some compilers get confused
-// when inline friend functions are overloaded in namespaces other than the
-// global namespace. When BOOST_NO_OPERATORS_IN_NAMESPACE is defined, all of
-// these templates must go in the global namespace.
-
-#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE
-namespace boost
-{
-#endif
-
-//  Basic operator classes (contributed by Dave Abrahams) ------------------//
-
-//  Note that friend functions defined in a class are implicitly inline.
-//  See the C++ std, 11.4 [class.friend] paragraph 5
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct less_than_comparable2 : B
-{
-     friend bool operator<=(const T& x, const U& y) { return !static_cast<bool>(x > y); }
-     friend bool operator>=(const T& x, const U& y) { return !static_cast<bool>(x < y); }
-     friend bool operator>(const U& x, const T& y)  { return y < x; }
-     friend bool operator<(const U& x, const T& y)  { return y > x; }
-     friend bool operator<=(const U& x, const T& y) { return !static_cast<bool>(y < x); }
-     friend bool operator>=(const U& x, const T& y) { return !static_cast<bool>(y > x); }
-};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct less_than_comparable1 : B
-{
-     friend bool operator>(const T& x, const T& y)  { return y < x; }
-     friend bool operator<=(const T& x, const T& y) { return !static_cast<bool>(y < x); }
-     friend bool operator>=(const T& x, const T& y) { return !static_cast<bool>(x < y); }
-};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct equality_comparable2 : B
-{
-     friend bool operator==(const U& y, const T& x) { return x == y; }
-     friend bool operator!=(const U& y, const T& x) { return !static_cast<bool>(x == y); }
-     friend bool operator!=(const T& y, const U& x) { return !static_cast<bool>(y == x); }
-};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct equality_comparable1 : B
-{
-     friend bool operator!=(const T& x, const T& y) { return !static_cast<bool>(x == y); }
-};
-
-// A macro which produces "name_2left" from "name".
-#define BOOST_OPERATOR2_LEFT(name) name##2##_##left
-
-//  NRVO-friendly implementation (contributed by Daniel Frey) ---------------//
-
-#if defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS)
-
-// This is the optimal implementation for ISO/ANSI C++,
-// but it requires the compiler to implement the NRVO.
-// If the compiler has no NRVO, this is the best symmetric
-// implementation available.
-
-#define BOOST_BINARY_OPERATOR_COMMUTATIVE( NAME, OP )                         \
-template <class T, class U, class B = ::boost::detail::empty_base<T> >        \
-struct NAME##2 : B                                                            \
-{                                                                             \
-  friend T operator OP( const T& lhs, const U& rhs )                          \
-    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                              \
-  friend T operator OP( const U& lhs, const T& rhs )                          \
-    { T nrv( rhs ); nrv OP##= lhs; return nrv; }                              \
-};                                                                            \
-                                                                              \
-template <class T, class B = ::boost::detail::empty_base<T> >                 \
-struct NAME##1 : B                                                            \
-{                                                                             \
-  friend T operator OP( const T& lhs, const T& rhs )                          \
-    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                              \
-};
-
-#define BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( NAME, OP )               \
-template <class T, class U, class B = ::boost::detail::empty_base<T> >  \
-struct NAME##2 : B                                                      \
-{                                                                       \
-  friend T operator OP( const T& lhs, const U& rhs )                    \
-    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                        \
-};                                                                      \
-                                                                        \
-template <class T, class U, class B = ::boost::detail::empty_base<T> >  \
-struct BOOST_OPERATOR2_LEFT(NAME) : B                                   \
-{                                                                       \
-  friend T operator OP( const U& lhs, const T& rhs )                    \
-    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                        \
-};                                                                      \
-                                                                        \
-template <class T, class B = ::boost::detail::empty_base<T> >           \
-struct NAME##1 : B                                                      \
-{                                                                       \
-  friend T operator OP( const T& lhs, const T& rhs )                    \
-    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                        \
-};
-
-#else // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS)
-
-// For compilers without NRVO the following code is optimal, but not
-// symmetric!  Note that the implementation of
-// BOOST_OPERATOR2_LEFT(NAME) only looks cool, but doesn't provide
-// optimization opportunities to the compiler :)
-
-#define BOOST_BINARY_OPERATOR_COMMUTATIVE( NAME, OP )                   \
-template <class T, class U, class B = ::boost::detail::empty_base<T> >  \
-struct NAME##2 : B                                                      \
-{                                                                       \
-  friend T operator OP( T lhs, const U& rhs ) { return lhs OP##= rhs; } \
-  friend T operator OP( const U& lhs, T rhs ) { return rhs OP##= lhs; } \
-};                                                                      \
-                                                                        \
-template <class T, class B = ::boost::detail::empty_base<T> >           \
-struct NAME##1 : B                                                      \
-{                                                                       \
-  friend T operator OP( T lhs, const T& rhs ) { return lhs OP##= rhs; } \
-};
-
-#define BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( NAME, OP )               \
-template <class T, class U, class B = ::boost::detail::empty_base<T> >  \
-struct NAME##2 : B                                                      \
-{                                                                       \
-  friend T operator OP( T lhs, const U& rhs ) { return lhs OP##= rhs; } \
-};                                                                      \
-                                                                        \
-template <class T, class U, class B = ::boost::detail::empty_base<T> >  \
-struct BOOST_OPERATOR2_LEFT(NAME) : B                                   \
-{                                                                       \
-  friend T operator OP( const U& lhs, const T& rhs )                    \
-    { return T( lhs ) OP##= rhs; }                                      \
-};                                                                      \
-                                                                        \
-template <class T, class B = ::boost::detail::empty_base<T> >           \
-struct NAME##1 : B                                                      \
-{                                                                       \
-  friend T operator OP( T lhs, const T& rhs ) { return lhs OP##= rhs; } \
-};
-
-#endif // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS)
-
-BOOST_BINARY_OPERATOR_COMMUTATIVE( multipliable, * )
-BOOST_BINARY_OPERATOR_COMMUTATIVE( addable, + )
-BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( subtractable, - )
-BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( dividable, / )
-BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( modable, % )
-BOOST_BINARY_OPERATOR_COMMUTATIVE( xorable, ^ )
-BOOST_BINARY_OPERATOR_COMMUTATIVE( andable, & )
-BOOST_BINARY_OPERATOR_COMMUTATIVE( orable, | )
-
-#undef BOOST_BINARY_OPERATOR_COMMUTATIVE
-#undef BOOST_BINARY_OPERATOR_NON_COMMUTATIVE
-#undef BOOST_OPERATOR2_LEFT
-
-//  incrementable and decrementable contributed by Jeremy Siek
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct incrementable : B
-{
-  friend T operator++(T& x, int)
-  {
-    incrementable_type nrv(x);
-    ++x;
-    return nrv;
-  }
-private: // The use of this typedef works around a Borland bug
-  typedef T incrementable_type;
-};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct decrementable : B
-{
-  friend T operator--(T& x, int)
-  {
-    decrementable_type nrv(x);
-    --x;
-    return nrv;
-  }
-private: // The use of this typedef works around a Borland bug
-  typedef T decrementable_type;
-};
-
-//  Iterator operator classes (contributed by Jeremy Siek) ------------------//
-
-template <class T, class P, class B = ::boost::detail::empty_base<T> >
-struct dereferenceable : B
-{
-  P operator->() const
-  { 
-    return &*static_cast<const T&>(*this); 
-  }
-};
-
-template <class T, class I, class R, class B = ::boost::detail::empty_base<T> >
-struct indexable : B
-{
-  R operator[](I n) const
-  {
-    return *(static_cast<const T&>(*this) + n);
-  }
-};
-
-//  More operator classes (contributed by Daryle Walker) --------------------//
-//  (NRVO-friendly implementation contributed by Daniel Frey) ---------------//
-
-#if defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS)
-
-#define BOOST_BINARY_OPERATOR( NAME, OP )                                     \
-template <class T, class U, class B = ::boost::detail::empty_base<T> >        \
-struct NAME##2 : B                                                            \
-{                                                                             \
-  friend T operator OP( const T& lhs, const U& rhs )                          \
-    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                              \
-};                                                                            \
-                                                                              \
-template <class T, class B = ::boost::detail::empty_base<T> >                 \
-struct NAME##1 : B                                                            \
-{                                                                             \
-  friend T operator OP( const T& lhs, const T& rhs )                          \
-    { T nrv( lhs ); nrv OP##= rhs; return nrv; }                              \
-};
-
-#else // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS)
-
-#define BOOST_BINARY_OPERATOR( NAME, OP )                                     \
-template <class T, class U, class B = ::boost::detail::empty_base<T> >        \
-struct NAME##2 : B                                                            \
-{                                                                             \
-  friend T operator OP( T lhs, const U& rhs ) { return lhs OP##= rhs; }       \
-};                                                                            \
-                                                                              \
-template <class T, class B = ::boost::detail::empty_base<T> >                 \
-struct NAME##1 : B                                                            \
-{                                                                             \
-  friend T operator OP( T lhs, const T& rhs ) { return lhs OP##= rhs; }       \
-};
-
-#endif // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS)
-
-BOOST_BINARY_OPERATOR( left_shiftable, << )
-BOOST_BINARY_OPERATOR( right_shiftable, >> )
-
-#undef BOOST_BINARY_OPERATOR
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct equivalent2 : B
-{
-  friend bool operator==(const T& x, const U& y)
-  {
-    return !static_cast<bool>(x < y) && !static_cast<bool>(x > y);
-  }
-};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct equivalent1 : B
-{
-  friend bool operator==(const T&x, const T&y)
-  {
-    return !static_cast<bool>(x < y) && !static_cast<bool>(y < x);
-  }
-};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct partially_ordered2 : B
-{
-  friend bool operator<=(const T& x, const U& y)
-    { return static_cast<bool>(x < y) || static_cast<bool>(x == y); }
-  friend bool operator>=(const T& x, const U& y)
-    { return static_cast<bool>(x > y) || static_cast<bool>(x == y); }
-  friend bool operator>(const U& x, const T& y)
-    { return y < x; }
-  friend bool operator<(const U& x, const T& y)
-    { return y > x; }
-  friend bool operator<=(const U& x, const T& y)
-    { return static_cast<bool>(y > x) || static_cast<bool>(y == x); }
-  friend bool operator>=(const U& x, const T& y)
-    { return static_cast<bool>(y < x) || static_cast<bool>(y == x); }
-};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct partially_ordered1 : B
-{
-  friend bool operator>(const T& x, const T& y)
-    { return y < x; }
-  friend bool operator<=(const T& x, const T& y)
-    { return static_cast<bool>(x < y) || static_cast<bool>(x == y); }
-  friend bool operator>=(const T& x, const T& y)
-    { return static_cast<bool>(y < x) || static_cast<bool>(x == y); }
-};
-
-//  Combined operator classes (contributed by Daryle Walker) ----------------//
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct totally_ordered2
-    : less_than_comparable2<T, U
-    , equality_comparable2<T, U, B
-      > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct totally_ordered1
-    : less_than_comparable1<T
-    , equality_comparable1<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct additive2
-    : addable2<T, U
-    , subtractable2<T, U, B
-      > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct additive1
-    : addable1<T
-    , subtractable1<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct multiplicative2
-    : multipliable2<T, U
-    , dividable2<T, U, B
-      > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct multiplicative1
-    : multipliable1<T
-    , dividable1<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct integer_multiplicative2
-    : multiplicative2<T, U
-    , modable2<T, U, B
-      > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct integer_multiplicative1
-    : multiplicative1<T
-    , modable1<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct arithmetic2
-    : additive2<T, U
-    , multiplicative2<T, U, B
-      > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct arithmetic1
-    : additive1<T
-    , multiplicative1<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct integer_arithmetic2
-    : additive2<T, U
-    , integer_multiplicative2<T, U, B
-      > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct integer_arithmetic1
-    : additive1<T
-    , integer_multiplicative1<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct bitwise2
-    : xorable2<T, U
-    , andable2<T, U
-    , orable2<T, U, B
-      > > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct bitwise1
-    : xorable1<T
-    , andable1<T
-    , orable1<T, B
-      > > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct unit_steppable
-    : incrementable<T
-    , decrementable<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct shiftable2
-    : left_shiftable2<T, U
-    , right_shiftable2<T, U, B
-      > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct shiftable1
-    : left_shiftable1<T
-    , right_shiftable1<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct ring_operators2
-    : additive2<T, U
-    , subtractable2_left<T, U
-    , multipliable2<T, U, B
-      > > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct ring_operators1
-    : additive1<T
-    , multipliable1<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct ordered_ring_operators2
-    : ring_operators2<T, U
-    , totally_ordered2<T, U, B
-      > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct ordered_ring_operators1
-    : ring_operators1<T
-    , totally_ordered1<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct field_operators2
-    : ring_operators2<T, U
-    , dividable2<T, U
-    , dividable2_left<T, U, B
-      > > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct field_operators1
-    : ring_operators1<T
-    , dividable1<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct ordered_field_operators2
-    : field_operators2<T, U
-    , totally_ordered2<T, U, B
-      > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct ordered_field_operators1
-    : field_operators1<T
-    , totally_ordered1<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct euclidian_ring_operators2
-    : ring_operators2<T, U
-    , dividable2<T, U
-    , dividable2_left<T, U
-    , modable2<T, U
-    , modable2_left<T, U, B
-      > > > > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct euclidian_ring_operators1
-    : ring_operators1<T
-    , dividable1<T
-    , modable1<T, B
-      > > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct ordered_euclidian_ring_operators2
-    : totally_ordered2<T, U
-    , euclidian_ring_operators2<T, U, B
-      > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct ordered_euclidian_ring_operators1
-    : totally_ordered1<T
-    , euclidian_ring_operators1<T, B
-      > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct euclidean_ring_operators2
-    : ring_operators2<T, U
-    , dividable2<T, U
-    , dividable2_left<T, U
-    , modable2<T, U
-    , modable2_left<T, U, B
-      > > > > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct euclidean_ring_operators1
-    : ring_operators1<T
-    , dividable1<T
-    , modable1<T, B
-      > > > {};
-
-template <class T, class U, class B = ::boost::detail::empty_base<T> >
-struct ordered_euclidean_ring_operators2
-    : totally_ordered2<T, U
-    , euclidean_ring_operators2<T, U, B
-      > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct ordered_euclidean_ring_operators1
-    : totally_ordered1<T
-    , euclidean_ring_operators1<T, B
-      > > {};
-
-template <class T, class P, class B = ::boost::detail::empty_base<T> >
-struct input_iteratable
-    : equality_comparable1<T
-    , incrementable<T
-    , dereferenceable<T, P, B
-      > > > {};
-
-template <class T, class B = ::boost::detail::empty_base<T> >
-struct output_iteratable
-    : incrementable<T, B
-      > {};
-
-template <class T, class P, class B = ::boost::detail::empty_base<T> >
-struct forward_iteratable
-    : input_iteratable<T, P, B
-      > {};
-
-template <class T, class P, class B = ::boost::detail::empty_base<T> >
-struct bidirectional_iteratable
-    : forward_iteratable<T, P
-    , decrementable<T, B
-      > > {};
-
-//  To avoid repeated derivation from equality_comparable,
-//  which is an indirect base class of bidirectional_iterable,
-//  random_access_iteratable must not be derived from totally_ordered1
-//  but from less_than_comparable1 only. (Helmut Zeisel, 02-Dec-2001)
-template <class T, class P, class D, class R, class B = ::boost::detail::empty_base<T> >
-struct random_access_iteratable
-    : bidirectional_iteratable<T, P
-    , less_than_comparable1<T
-    , additive2<T, D
-    , indexable<T, D, R, B
-      > > > > {};
-
-#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE
-} // namespace boost
-#endif // BOOST_NO_OPERATORS_IN_NAMESPACE
-
-
-// BOOST_IMPORT_TEMPLATE1 .. BOOST_IMPORT_TEMPLATE4 -
-//
-// When BOOST_NO_OPERATORS_IN_NAMESPACE is defined we need a way to import an
-// operator template into the boost namespace. BOOST_IMPORT_TEMPLATE1 is used
-// for one-argument forms of operator templates; BOOST_IMPORT_TEMPLATE2 for
-// two-argument forms. Note that these macros expect to be invoked from within
-// boost.
-
-#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE
-
-  // The template is already in boost so we have nothing to do.
-# define BOOST_IMPORT_TEMPLATE4(template_name)
-# define BOOST_IMPORT_TEMPLATE3(template_name)
-# define BOOST_IMPORT_TEMPLATE2(template_name)
-# define BOOST_IMPORT_TEMPLATE1(template_name)
-
-#else // BOOST_NO_OPERATORS_IN_NAMESPACE
-
-#  ifndef BOOST_NO_USING_TEMPLATE
-
-     // Bring the names in with a using-declaration
-     // to avoid stressing the compiler.
-#    define BOOST_IMPORT_TEMPLATE4(template_name) using ::template_name;
-#    define BOOST_IMPORT_TEMPLATE3(template_name) using ::template_name;
-#    define BOOST_IMPORT_TEMPLATE2(template_name) using ::template_name;
-#    define BOOST_IMPORT_TEMPLATE1(template_name) using ::template_name;
-
-#  else
-
-     // Otherwise, because a Borland C++ 5.5 bug prevents a using declaration
-     // from working, we are forced to use inheritance for that compiler.
-#    define BOOST_IMPORT_TEMPLATE4(template_name)                                             \
-     template <class T, class U, class V, class W, class B = ::boost::detail::empty_base<T> > \
-     struct template_name : ::template_name<T, U, V, W, B> {};
-
-#    define BOOST_IMPORT_TEMPLATE3(template_name)                                    \
-     template <class T, class U, class V, class B = ::boost::detail::empty_base<T> > \
-     struct template_name : ::template_name<T, U, V, B> {};
-
-#    define BOOST_IMPORT_TEMPLATE2(template_name)                           \
-     template <class T, class U, class B = ::boost::detail::empty_base<T> > \
-     struct template_name : ::template_name<T, U, B> {};
-
-#    define BOOST_IMPORT_TEMPLATE1(template_name)                  \
-     template <class T, class B = ::boost::detail::empty_base<T> > \
-     struct template_name : ::template_name<T, B> {};
-
-#  endif // BOOST_NO_USING_TEMPLATE
-
-#endif // BOOST_NO_OPERATORS_IN_NAMESPACE
-
-//
-// Here's where we put it all together, defining the xxxx forms of the templates
-// in namespace boost. We also define specializations of is_chained_base<> for
-// the xxxx, xxxx1, and xxxx2 templates, importing them into boost:: as
-// necessary.
-//
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-// is_chained_base<> - a traits class used to distinguish whether an operator
-// template argument is being used for base class chaining, or is specifying a
-// 2nd argument type.
-
-namespace boost {
-// A type parameter is used instead of a plain bool because Borland's compiler
-// didn't cope well with the more obvious non-type template parameter.
-namespace detail {
-  struct true_t {};
-  struct false_t {};
-} // namespace detail
-
-// Unspecialized version assumes that most types are not being used for base
-// class chaining. We specialize for the operator templates defined in this
-// library.
-template<class T> struct is_chained_base {
-  typedef ::boost::detail::false_t value;
-};
-
-} // namespace boost
-
-// Import a 4-type-argument operator template into boost (if necessary) and
-// provide a specialization of 'is_chained_base<>' for it.
-# define BOOST_OPERATOR_TEMPLATE4(template_name4)                     \
-  BOOST_IMPORT_TEMPLATE4(template_name4)                              \
-  template<class T, class U, class V, class W, class B>               \
-  struct is_chained_base< ::boost::template_name4<T, U, V, W, B> > {  \
-    typedef ::boost::detail::true_t value;                            \
-  };
-
-// Import a 3-type-argument operator template into boost (if necessary) and
-// provide a specialization of 'is_chained_base<>' for it.
-# define BOOST_OPERATOR_TEMPLATE3(template_name3)                     \
-  BOOST_IMPORT_TEMPLATE3(template_name3)                              \
-  template<class T, class U, class V, class B>                        \
-  struct is_chained_base< ::boost::template_name3<T, U, V, B> > {     \
-    typedef ::boost::detail::true_t value;                            \
-  };
-
-// Import a 2-type-argument operator template into boost (if necessary) and
-// provide a specialization of 'is_chained_base<>' for it.
-# define BOOST_OPERATOR_TEMPLATE2(template_name2)                  \
-  BOOST_IMPORT_TEMPLATE2(template_name2)                           \
-  template<class T, class U, class B>                              \
-  struct is_chained_base< ::boost::template_name2<T, U, B> > {     \
-    typedef ::boost::detail::true_t value;                         \
-  };
-
-// Import a 1-type-argument operator template into boost (if necessary) and
-// provide a specialization of 'is_chained_base<>' for it.
-# define BOOST_OPERATOR_TEMPLATE1(template_name1)                  \
-  BOOST_IMPORT_TEMPLATE1(template_name1)                           \
-  template<class T, class B>                                       \
-  struct is_chained_base< ::boost::template_name1<T, B> > {        \
-    typedef ::boost::detail::true_t value;                         \
-  };
-
-// BOOST_OPERATOR_TEMPLATE(template_name) defines template_name<> such that it
-// can be used for specifying both 1-argument and 2-argument forms. Requires the
-// existence of two previously defined class templates named '<template_name>1'
-// and '<template_name>2' which must implement the corresponding 1- and 2-
-// argument forms.
-//
-// The template type parameter O == is_chained_base<U>::value is used to
-// distinguish whether the 2nd argument to <template_name> is being used for
-// base class chaining from another boost operator template or is describing a
-// 2nd operand type. O == true_t only when U is actually an another operator
-// template from the library. Partial specialization is used to select an
-// implementation in terms of either '<template_name>1' or '<template_name>2'.
-//
-
-# define BOOST_OPERATOR_TEMPLATE(template_name)                    \
-template <class T                                                  \
-         ,class U = T                                              \
-         ,class B = ::boost::detail::empty_base<T>                 \
-         ,class O = typename is_chained_base<U>::value             \
-         >                                                         \
-struct template_name : template_name##2<T, U, B> {};               \
-                                                                   \
-template<class T, class U, class B>                                \
-struct template_name<T, U, B, ::boost::detail::true_t>             \
-  : template_name##1<T, U> {};                                     \
-                                                                   \
-template <class T, class B>                                        \
-struct template_name<T, T, B, ::boost::detail::false_t>            \
-  : template_name##1<T, B> {};                                     \
-                                                                   \
-template<class T, class U, class B, class O>                       \
-struct is_chained_base< ::boost::template_name<T, U, B, O> > {     \
-  typedef ::boost::detail::true_t value;                           \
-};                                                                 \
-                                                                   \
-BOOST_OPERATOR_TEMPLATE2(template_name##2)                         \
-BOOST_OPERATOR_TEMPLATE1(template_name##1)
-
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#  define BOOST_OPERATOR_TEMPLATE4(template_name4) \
-        BOOST_IMPORT_TEMPLATE4(template_name4)
-#  define BOOST_OPERATOR_TEMPLATE3(template_name3) \
-        BOOST_IMPORT_TEMPLATE3(template_name3)
-#  define BOOST_OPERATOR_TEMPLATE2(template_name2) \
-        BOOST_IMPORT_TEMPLATE2(template_name2)
-#  define BOOST_OPERATOR_TEMPLATE1(template_name1) \
-        BOOST_IMPORT_TEMPLATE1(template_name1)
-
-   // In this case we can only assume that template_name<> is equivalent to the
-   // more commonly needed template_name1<> form.
-#  define BOOST_OPERATOR_TEMPLATE(template_name)                   \
-   template <class T, class B = ::boost::detail::empty_base<T> >   \
-   struct template_name : template_name##1<T, B> {};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace boost {
-    
-BOOST_OPERATOR_TEMPLATE(less_than_comparable)
-BOOST_OPERATOR_TEMPLATE(equality_comparable)
-BOOST_OPERATOR_TEMPLATE(multipliable)
-BOOST_OPERATOR_TEMPLATE(addable)
-BOOST_OPERATOR_TEMPLATE(subtractable)
-BOOST_OPERATOR_TEMPLATE2(subtractable2_left)
-BOOST_OPERATOR_TEMPLATE(dividable)
-BOOST_OPERATOR_TEMPLATE2(dividable2_left)
-BOOST_OPERATOR_TEMPLATE(modable)
-BOOST_OPERATOR_TEMPLATE2(modable2_left)
-BOOST_OPERATOR_TEMPLATE(xorable)
-BOOST_OPERATOR_TEMPLATE(andable)
-BOOST_OPERATOR_TEMPLATE(orable)
-
-BOOST_OPERATOR_TEMPLATE1(incrementable)
-BOOST_OPERATOR_TEMPLATE1(decrementable)
-
-BOOST_OPERATOR_TEMPLATE2(dereferenceable)
-BOOST_OPERATOR_TEMPLATE3(indexable)
-
-BOOST_OPERATOR_TEMPLATE(left_shiftable)
-BOOST_OPERATOR_TEMPLATE(right_shiftable)
-BOOST_OPERATOR_TEMPLATE(equivalent)
-BOOST_OPERATOR_TEMPLATE(partially_ordered)
-
-BOOST_OPERATOR_TEMPLATE(totally_ordered)
-BOOST_OPERATOR_TEMPLATE(additive)
-BOOST_OPERATOR_TEMPLATE(multiplicative)
-BOOST_OPERATOR_TEMPLATE(integer_multiplicative)
-BOOST_OPERATOR_TEMPLATE(arithmetic)
-BOOST_OPERATOR_TEMPLATE(integer_arithmetic)
-BOOST_OPERATOR_TEMPLATE(bitwise)
-BOOST_OPERATOR_TEMPLATE1(unit_steppable)
-BOOST_OPERATOR_TEMPLATE(shiftable)
-BOOST_OPERATOR_TEMPLATE(ring_operators)
-BOOST_OPERATOR_TEMPLATE(ordered_ring_operators)
-BOOST_OPERATOR_TEMPLATE(field_operators)
-BOOST_OPERATOR_TEMPLATE(ordered_field_operators)
-BOOST_OPERATOR_TEMPLATE(euclidian_ring_operators)
-BOOST_OPERATOR_TEMPLATE(ordered_euclidian_ring_operators)
-BOOST_OPERATOR_TEMPLATE(euclidean_ring_operators)
-BOOST_OPERATOR_TEMPLATE(ordered_euclidean_ring_operators)
-BOOST_OPERATOR_TEMPLATE2(input_iteratable)
-BOOST_OPERATOR_TEMPLATE1(output_iteratable)
-BOOST_OPERATOR_TEMPLATE2(forward_iteratable)
-BOOST_OPERATOR_TEMPLATE2(bidirectional_iteratable)
-BOOST_OPERATOR_TEMPLATE4(random_access_iteratable)
-
-#undef BOOST_OPERATOR_TEMPLATE
-#undef BOOST_OPERATOR_TEMPLATE4
-#undef BOOST_OPERATOR_TEMPLATE3
-#undef BOOST_OPERATOR_TEMPLATE2
-#undef BOOST_OPERATOR_TEMPLATE1
-#undef BOOST_IMPORT_TEMPLATE1
-#undef BOOST_IMPORT_TEMPLATE2
-#undef BOOST_IMPORT_TEMPLATE3
-#undef BOOST_IMPORT_TEMPLATE4
-
-// The following 'operators' classes can only be used portably if the derived class
-// declares ALL of the required member operators.
-template <class T, class U>
-struct operators2
-    : totally_ordered2<T,U
-    , integer_arithmetic2<T,U
-    , bitwise2<T,U
-      > > > {};
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template <class T, class U = T>
-struct operators : operators2<T, U> {};
-
-template <class T> struct operators<T, T>
-#else
-template <class T> struct operators
-#endif
-    : totally_ordered<T
-    , integer_arithmetic<T
-    , bitwise<T
-    , unit_steppable<T
-      > > > > {};
-
-//  Iterator helper classes (contributed by Jeremy Siek) -------------------//
-//  (Input and output iterator helpers contributed by Daryle Walker) -------//
-//  (Changed to use combined operator classes by Daryle Walker) ------------//
-template <class T,
-          class V,
-          class D = std::ptrdiff_t,
-          class P = V const *,
-          class R = V const &>
-struct input_iterator_helper
-  : input_iteratable<T, P
-  , boost::iterator<std::input_iterator_tag, V, D, P, R
-    > > {};
-
-template<class T>
-struct output_iterator_helper
-  : output_iteratable<T
-  , boost::iterator<std::output_iterator_tag, void, void, void, void
-  > >
-{
-  T& operator*()  { return static_cast<T&>(*this); }
-  T& operator++() { return static_cast<T&>(*this); }
-};
-
-template <class T,
-          class V,
-          class D = std::ptrdiff_t,
-          class P = V*,
-          class R = V&>
-struct forward_iterator_helper
-  : forward_iteratable<T, P
-  , boost::iterator<std::forward_iterator_tag, V, D, P, R
-    > > {};
-
-template <class T,
-          class V,
-          class D = std::ptrdiff_t,
-          class P = V*,
-          class R = V&>
-struct bidirectional_iterator_helper
-  : bidirectional_iteratable<T, P
-  , boost::iterator<std::bidirectional_iterator_tag, V, D, P, R
-    > > {};
-
-template <class T,
-          class V, 
-          class D = std::ptrdiff_t,
-          class P = V*,
-          class R = V&>
-struct random_access_iterator_helper
-  : random_access_iteratable<T, P, D, R
-  , boost::iterator<std::random_access_iterator_tag, V, D, P, R
-    > >
-{
-  friend D requires_difference_operator(const T& x, const T& y) {
-    return x - y;
-  }
-}; // random_access_iterator_helper
-
-} // namespace boost
-
-#if defined(__sgi) && !defined(__GNUC__)
-#pragma reset woff 1234
-#endif
-
-#endif // BOOST_OPERATORS_HPP
diff --git a/SRC/Boost/boost/optional.hpp b/SRC/Boost/boost/optional.hpp
deleted file mode 100755
index 849954a..0000000
--- a/SRC/Boost/boost/optional.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-//  fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_OPTIONAL_FLC_19NOV2002_HPP
-#define BOOST_OPTIONAL_FLC_19NOV2002_HPP
-
-#include "boost/optional/optional.hpp"
-
-#endif
-
diff --git a/SRC/Boost/boost/optional/optional.hpp b/SRC/Boost/boost/optional/optional.hpp
deleted file mode 100755
index ac24175..0000000
--- a/SRC/Boost/boost/optional/optional.hpp
+++ /dev/null
@@ -1,991 +0,0 @@
-// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-//  fernando_cacciola at hotmail.com
-//
-// Revisions:
-// 27 Apr 2008 (improved swap) Fernando Cacciola, Niels Dekker, Thorsten Ottosen
-//
-#ifndef BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP
-#define BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP
-
-#include <new>
-#include <algorithm>
-
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <boost/type.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/type_traits/has_nothrow_constructor.hpp>
-#include <boost/type_traits/type_with_alignment.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/detail/reference_content.hpp>
-#include <boost/none.hpp>
-#include <boost/utility/swap.hpp>
-#include <boost/utility/addressof.hpp>
-#include <boost/utility/compare_pointees.hpp>
-#include <boost/utility/in_place_factory.hpp>
-
-#include <boost/optional/optional_fwd.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1200)
-// VC6.0 has the following bug:
-//   When a templated assignment operator exist, an implicit conversion
-//   constructing an optional<T> is used when assigment of the form:
-//     optional<T> opt ; opt = T(...);
-//   is compiled.
-//   However, optional's ctor is _explicit_ and the assignemt shouldn't compile.
-//   Therefore, for VC6.0 templated assignment is disabled.
-//
-#define BOOST_OPTIONAL_NO_CONVERTING_ASSIGNMENT
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-// VC7.0 has the following bug:
-//   When both a non-template and a template copy-ctor exist
-//   and the templated version is made 'explicit', the explicit is also
-//   given to the non-templated version, making the class non-implicitely-copyable.
-//
-#define BOOST_OPTIONAL_NO_CONVERTING_COPY_CTOR
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION,<=700)
-// AFAICT only VC7.1 correctly resolves the overload set
-// that includes the in-place factory taking functions,
-// so for the other VC versions, in-place factory support
-// is disabled
-#define BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-#endif
-
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x551)
-// BCB (5.5.1) cannot parse the nested template struct in an inplace factory.
-#define BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-#endif
-
-#if !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) \
-    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581) )
-// BCB (up to 5.64) has the following bug:
-//   If there is a member function/operator template of the form
-//     template<class Expr> mfunc( Expr expr ) ;
-//   some calls are resolved to this even if there are other better matches.
-//   The effect of this bug is that calls to converting ctors and assignments
-//   are incrorrectly sink to this general catch-all member function template as shown above.
-#define BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
-#endif
-
-#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) > 302 \
-    && !defined(__INTEL_COMPILER)
-// GCC since 3.3 has may_alias attribute that helps to alleviate optimizer issues with
-// regard to violation of the strict aliasing rules. The optional< T > storage type is marked
-// with this attribute in order to let the compiler know that it will alias objects of type T
-// and silence compilation warnings.
-#define BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS
-#endif
-
-// Daniel Wallin discovered that bind/apply.hpp badly interacts with the apply<>
-// member template of a factory as used in the optional<> implementation.
-// He proposed this simple fix which is to move the call to apply<> outside
-// namespace boost.
-namespace boost_optional_detail
-{
-  template <class T, class Factory>
-  inline void construct(Factory const& factory, void* address)
-  {
-    factory.BOOST_NESTED_TEMPLATE apply<T>(address);
-  }
-}
-
-
-namespace boost {
-
-class in_place_factory_base ;
-class typed_in_place_factory_base ;
-
-// This forward is needed to refer to namespace scope swap from the member swap
-template<class T> void swap ( optional<T>& x, optional<T>& y );
-
-namespace optional_detail {
-
-// This local class is used instead of that in "aligned_storage.hpp"
-// because I've found the 'official' class to ICE BCB5.5
-// when some types are used with optional<>
-// (due to sizeof() passed down as a non-type template parameter)
-template <class T>
-class aligned_storage
-{
-    // Borland ICEs if unnamed unions are used for this!
-    union
-    // This works around GCC warnings about breaking strict aliasing rules when casting storage address to T*
-#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
-    __attribute__((may_alias))
-#endif
-    dummy_u
-    {
-        char data[ sizeof(T) ];
-        BOOST_DEDUCED_TYPENAME type_with_alignment<
-          ::boost::alignment_of<T>::value >::type aligner_;
-    } dummy_ ;
-
-  public:
-
-#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
-    void const* address() const { return &dummy_; }
-    void      * address()       { return &dummy_; }
-#else
-    void const* address() const { return dummy_.data; }
-    void      * address()       { return dummy_.data; }
-#endif
-} ;
-
-template<class T>
-struct types_when_isnt_ref
-{
-  typedef T const& reference_const_type ;
-  typedef T &      reference_type ;
-  typedef T const* pointer_const_type ;
-  typedef T *      pointer_type ;
-  typedef T const& argument_type ;
-} ;
-template<class T>
-struct types_when_is_ref
-{
-  typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type raw_type ;
-
-  typedef raw_type& reference_const_type ;
-  typedef raw_type& reference_type ;
-  typedef raw_type* pointer_const_type ;
-  typedef raw_type* pointer_type ;
-  typedef raw_type& argument_type ;
-} ;
-
-struct optional_tag {} ;
-
-template<class T>
-class optional_base : public optional_tag
-{
-  private :
-
-    typedef
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    BOOST_DEDUCED_TYPENAME
-#endif
-    ::boost::detail::make_reference_content<T>::type internal_type ;
-
-    typedef aligned_storage<internal_type> storage_type ;
-
-    typedef types_when_isnt_ref<T> types_when_not_ref ;
-    typedef types_when_is_ref<T>   types_when_ref   ;
-
-    typedef optional_base<T> this_type ;
-
-  protected :
-
-    typedef T value_type ;
-
-    typedef mpl::true_  is_reference_tag ;
-    typedef mpl::false_ is_not_reference_tag ;
-
-    typedef BOOST_DEDUCED_TYPENAME is_reference<T>::type is_reference_predicate ;
-
-  public:
-    typedef BOOST_DEDUCED_TYPENAME mpl::if_<is_reference_predicate,types_when_ref,types_when_not_ref>::type types ;
-
-  protected:
-    typedef bool (this_type::*unspecified_bool_type)() const;
-
-    typedef BOOST_DEDUCED_TYPENAME types::reference_type       reference_type ;
-    typedef BOOST_DEDUCED_TYPENAME types::reference_const_type reference_const_type ;
-    typedef BOOST_DEDUCED_TYPENAME types::pointer_type         pointer_type ;
-    typedef BOOST_DEDUCED_TYPENAME types::pointer_const_type   pointer_const_type ;
-    typedef BOOST_DEDUCED_TYPENAME types::argument_type        argument_type ;
-
-    // Creates an optional<T> uninitialized.
-    // No-throw
-    optional_base()
-      :
-      m_initialized(false) {}
-
-    // Creates an optional<T> uninitialized.
-    // No-throw
-    optional_base ( none_t )
-      :
-      m_initialized(false) {}
-
-    // Creates an optional<T> initialized with 'val'.
-    // Can throw if T::T(T const&) does
-    optional_base ( argument_type val )
-      :
-      m_initialized(false)
-    {
-      construct(val);
-    }
-
-    // Creates an optional<T> initialized with 'val' IFF cond is true, otherwise creates an uninitialzed optional<T>.
-    // Can throw if T::T(T const&) does
-    optional_base ( bool cond, argument_type val )
-      :
-      m_initialized(false)
-    {
-      if ( cond )
-        construct(val);
-    }
-
-    // Creates a deep copy of another optional<T>
-    // Can throw if T::T(T const&) does
-    optional_base ( optional_base const& rhs )
-      :
-      m_initialized(false)
-    {
-      if ( rhs.is_initialized() )
-        construct(rhs.get_impl());
-    }
-
-
-    // This is used for both converting and in-place constructions.
-    // Derived classes use the 'tag' to select the appropriate
-    // implementation (the correct 'construct()' overload)
-    template<class Expr>
-    explicit optional_base ( Expr const& expr, Expr const* tag )
-      :
-      m_initialized(false)
-    {
-      construct(expr,tag);
-    }
-
-
-
-    // No-throw (assuming T::~T() doesn't)
-    ~optional_base() { destroy() ; }
-
-    // Assigns from another optional<T> (deep-copies the rhs value)
-    void assign ( optional_base const& rhs )
-    {
-      if (is_initialized())
-      {
-        if ( rhs.is_initialized() )
-             assign_value(rhs.get_impl(), is_reference_predicate() );
-        else destroy();
-      }
-      else
-      {
-        if ( rhs.is_initialized() )
-          construct(rhs.get_impl());
-      }
-    }
-
-    // Assigns from another _convertible_ optional<U> (deep-copies the rhs value)
-    template<class U>
-    void assign ( optional<U> const& rhs )
-    {
-      if (is_initialized())
-      {
-        if ( rhs.is_initialized() )
-             assign_value(static_cast<value_type>(rhs.get()), is_reference_predicate() );
-        else destroy();
-      }
-      else
-      {
-        if ( rhs.is_initialized() )
-          construct(static_cast<value_type>(rhs.get()));
-      }
-    }
-
-    // Assigns from a T (deep-copies the rhs value)
-    void assign ( argument_type val )
-    {
-      if (is_initialized())
-           assign_value(val, is_reference_predicate() );
-      else construct(val);
-    }
-
-    // Assigns from "none", destroying the current value, if any, leaving this UNINITIALIZED
-    // No-throw (assuming T::~T() doesn't)
-    void assign ( none_t ) { destroy(); }
-
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-    template<class Expr>
-    void assign_expr ( Expr const& expr, Expr const* tag )
-      {
-        if (is_initialized())
-             assign_expr_to_initialized(expr,tag);
-        else construct(expr,tag);
-      }
-#endif
-
-  public :
-
-    // Destroys the current value, if any, leaving this UNINITIALIZED
-    // No-throw (assuming T::~T() doesn't)
-    void reset() { destroy(); }
-
-    // Replaces the current value -if any- with 'val'
-    void reset ( argument_type val ) { assign(val); }
-
-    // Returns a pointer to the value if this is initialized, otherwise,
-    // returns NULL.
-    // No-throw
-    pointer_const_type get_ptr() const { return m_initialized ? get_ptr_impl() : 0 ; }
-    pointer_type       get_ptr()       { return m_initialized ? get_ptr_impl() : 0 ; }
-
-    bool is_initialized() const { return m_initialized ; }
-
-  protected :
-
-    void construct ( argument_type val )
-     {
-       new (m_storage.address()) internal_type(val) ;
-       m_initialized = true ;
-     }
-
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-    // Constructs in-place using the given factory
-    template<class Expr>
-    void construct ( Expr const& factory, in_place_factory_base const* )
-     {
-       BOOST_STATIC_ASSERT ( ::boost::mpl::not_<is_reference_predicate>::value ) ;
-       boost_optional_detail::construct<value_type>(factory, m_storage.address());
-       m_initialized = true ;
-     }
-
-    // Constructs in-place using the given typed factory
-    template<class Expr>
-    void construct ( Expr const& factory, typed_in_place_factory_base const* )
-     {
-       BOOST_STATIC_ASSERT ( ::boost::mpl::not_<is_reference_predicate>::value ) ;
-       factory.apply(m_storage.address()) ;
-       m_initialized = true ;
-     }
-
-    template<class Expr>
-    void assign_expr_to_initialized ( Expr const& factory, in_place_factory_base const* tag )
-     {
-       destroy();
-       construct(factory,tag);
-     }
-
-    // Constructs in-place using the given typed factory
-    template<class Expr>
-    void assign_expr_to_initialized ( Expr const& factory, typed_in_place_factory_base const* tag )
-     {
-       destroy();
-       construct(factory,tag);
-     }
-#endif
-
-    // Constructs using any expression implicitely convertible to the single argument
-    // of a one-argument T constructor.
-    // Converting constructions of optional<T> from optional<U> uses this function with
-    // 'Expr' being of type 'U' and relying on a converting constructor of T from U.
-    template<class Expr>
-    void construct ( Expr const& expr, void const* )
-     {
-       new (m_storage.address()) internal_type(expr) ;
-       m_initialized = true ;
-     }
-
-    // Assigns using a form any expression implicitely convertible to the single argument
-    // of a T's assignment operator.
-    // Converting assignments of optional<T> from optional<U> uses this function with
-    // 'Expr' being of type 'U' and relying on a converting assignment of T from U.
-    template<class Expr>
-    void assign_expr_to_initialized ( Expr const& expr, void const* )
-     {
-       assign_value(expr, is_reference_predicate());
-     }
-
-#ifdef BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
-    // BCB5.64 (and probably lower versions) workaround.
-    //   The in-place factories are supported by means of catch-all constructors
-    //   and assignment operators (the functions are parameterized in terms of
-    //   an arbitrary 'Expr' type)
-    //   This compiler incorrectly resolves the overload set and sinks optional<T> and optional<U>
-    //   to the 'Expr'-taking functions even though explicit overloads are present for them.
-    //   Thus, the following overload is needed to properly handle the case when the 'lhs'
-    //   is another optional.
-    //
-    // For VC<=70 compilers this workaround dosen't work becasue the comnpiler issues and error
-    // instead of choosing the wrong overload
-    //
-    // Notice that 'Expr' will be optional<T> or optional<U> (but not optional_base<..>)
-    template<class Expr>
-    void construct ( Expr const& expr, optional_tag const* )
-     {
-       if ( expr.is_initialized() )
-       {
-         // An exception can be thrown here.
-         // It it happens, THIS will be left uninitialized.
-         new (m_storage.address()) internal_type(expr.get()) ;
-         m_initialized = true ;
-       }
-     }
-#endif
-
-    void assign_value ( argument_type val, is_not_reference_tag ) { get_impl() = val; }
-    void assign_value ( argument_type val, is_reference_tag     ) { construct(val); }
-
-    void destroy()
-    {
-      if ( m_initialized )
-        destroy_impl(is_reference_predicate()) ;
-    }
-
-    unspecified_bool_type safe_bool() const { return m_initialized ? &this_type::is_initialized : 0 ; }
-
-    reference_const_type get_impl() const { return dereference(get_object(), is_reference_predicate() ) ; }
-    reference_type       get_impl()       { return dereference(get_object(), is_reference_predicate() ) ; }
-
-    pointer_const_type get_ptr_impl() const { return cast_ptr(get_object(), is_reference_predicate() ) ; }
-    pointer_type       get_ptr_impl()       { return cast_ptr(get_object(), is_reference_predicate() ) ; }
-
-  private :
-
-    // internal_type can be either T or reference_content<T>
-#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
-    // This workaround is supposed to silence GCC warnings about broken strict aliasing rules
-    internal_type const* get_object() const
-    {
-        union { void const* ap_pvoid; internal_type const* as_ptype; } caster = { m_storage.address() };
-        return caster.as_ptype;
-    }
-    internal_type *      get_object()
-    {
-        union { void* ap_pvoid; internal_type* as_ptype; } caster = { m_storage.address() };
-        return caster.as_ptype;
-    }
-#else
-    internal_type const* get_object() const { return static_cast<internal_type const*>(m_storage.address()); }
-    internal_type *      get_object()       { return static_cast<internal_type *>     (m_storage.address()); }
-#endif
-
-    // reference_content<T> lacks an implicit conversion to T&, so the following is needed to obtain a proper reference.
-    reference_const_type dereference( internal_type const* p, is_not_reference_tag ) const { return *p ; }
-    reference_type       dereference( internal_type*       p, is_not_reference_tag )       { return *p ; }
-    reference_const_type dereference( internal_type const* p, is_reference_tag     ) const { return p->get() ; }
-    reference_type       dereference( internal_type*       p, is_reference_tag     )       { return p->get() ; }
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
-    void destroy_impl ( is_not_reference_tag ) { get_ptr_impl()->internal_type::~internal_type() ; m_initialized = false ; }
-#else
-    void destroy_impl ( is_not_reference_tag ) { get_ptr_impl()->T::~T() ; m_initialized = false ; }
-#endif
-
-    void destroy_impl ( is_reference_tag     ) { m_initialized = false ; }
-
-    // If T is of reference type, trying to get a pointer to the held value must result in a compile-time error.
-    // Decent compilers should disallow conversions from reference_content<T>* to T*, but just in case,
-    // the following olverloads are used to filter out the case and guarantee an error in case of T being a reference.
-    pointer_const_type cast_ptr( internal_type const* p, is_not_reference_tag ) const { return p ; }
-    pointer_type       cast_ptr( internal_type *      p, is_not_reference_tag )       { return p ; }
-    pointer_const_type cast_ptr( internal_type const* p, is_reference_tag     ) const { return &p->get() ; }
-    pointer_type       cast_ptr( internal_type *      p, is_reference_tag     )       { return &p->get() ; }
-
-    bool m_initialized ;
-    storage_type m_storage ;
-} ;
-
-} // namespace optional_detail
-
-template<class T>
-class optional : public optional_detail::optional_base<T>
-{
-    typedef optional_detail::optional_base<T> base ;
-
-    typedef BOOST_DEDUCED_TYPENAME base::unspecified_bool_type  unspecified_bool_type ;
-
-  public :
-
-    typedef optional<T> this_type ;
-
-    typedef BOOST_DEDUCED_TYPENAME base::value_type           value_type ;
-    typedef BOOST_DEDUCED_TYPENAME base::reference_type       reference_type ;
-    typedef BOOST_DEDUCED_TYPENAME base::reference_const_type reference_const_type ;
-    typedef BOOST_DEDUCED_TYPENAME base::pointer_type         pointer_type ;
-    typedef BOOST_DEDUCED_TYPENAME base::pointer_const_type   pointer_const_type ;
-    typedef BOOST_DEDUCED_TYPENAME base::argument_type        argument_type ;
-
-    // Creates an optional<T> uninitialized.
-    // No-throw
-    optional() : base() {}
-
-    // Creates an optional<T> uninitialized.
-    // No-throw
-    optional( none_t none_ ) : base(none_) {}
-
-    // Creates an optional<T> initialized with 'val'.
-    // Can throw if T::T(T const&) does
-    optional ( argument_type val ) : base(val) {}
-
-    // Creates an optional<T> initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional.
-    // Can throw if T::T(T const&) does
-    optional ( bool cond, argument_type val ) : base(cond,val) {}
-
-#ifndef BOOST_OPTIONAL_NO_CONVERTING_COPY_CTOR
-    // NOTE: MSVC needs templated versions first
-
-    // Creates a deep copy of another convertible optional<U>
-    // Requires a valid conversion from U to T.
-    // Can throw if T::T(U const&) does
-    template<class U>
-    explicit optional ( optional<U> const& rhs )
-      :
-      base()
-    {
-      if ( rhs.is_initialized() )
-        this->construct(rhs.get());
-    }
-#endif
-
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-    // Creates an optional<T> with an expression which can be either
-    //  (a) An instance of InPlaceFactory (i.e. in_place(a,b,...,n);
-    //  (b) An instance of TypedInPlaceFactory ( i.e. in_place<T>(a,b,...,n);
-    //  (c) Any expression implicitely convertible to the single type
-    //      of a one-argument T's constructor.
-    //  (d*) Weak compilers (BCB) might also resolved Expr as optional<T> and optional<U>
-    //       even though explicit overloads are present for these.
-    // Depending on the above some T ctor is called.
-    // Can throw is the resolved T ctor throws.
-    template<class Expr>
-    explicit optional ( Expr const& expr ) : base(expr,boost::addressof(expr)) {}
-#endif
-
-    // Creates a deep copy of another optional<T>
-    // Can throw if T::T(T const&) does
-    optional ( optional const& rhs ) : base( static_cast<base const&>(rhs) ) {}
-
-   // No-throw (assuming T::~T() doesn't)
-    ~optional() {}
-
-#if !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION)
-    // Assigns from an expression. See corresponding constructor.
-    // Basic Guarantee: If the resolved T ctor throws, this is left UNINITIALIZED
-    template<class Expr>
-    optional& operator= ( Expr const& expr )
-      {
-        this->assign_expr(expr,boost::addressof(expr));
-        return *this ;
-      }
-#endif
-
-
-#ifndef BOOST_OPTIONAL_NO_CONVERTING_ASSIGNMENT
-    // Assigns from another convertible optional<U> (converts && deep-copies the rhs value)
-    // Requires a valid conversion from U to T.
-    // Basic Guarantee: If T::T( U const& ) throws, this is left UNINITIALIZED
-    template<class U>
-    optional& operator= ( optional<U> const& rhs )
-      {
-        this->assign(rhs);
-        return *this ;
-      }
-#endif
-
-    // Assigns from another optional<T> (deep-copies the rhs value)
-    // Basic Guarantee: If T::T( T const& ) throws, this is left UNINITIALIZED
-    //  (NOTE: On BCB, this operator is not actually called and left is left UNMODIFIED in case of a throw)
-    optional& operator= ( optional const& rhs )
-      {
-        this->assign( static_cast<base const&>(rhs) ) ;
-        return *this ;
-      }
-
-    // Assigns from a T (deep-copies the rhs value)
-    // Basic Guarantee: If T::( T const& ) throws, this is left UNINITIALIZED
-    optional& operator= ( argument_type val )
-      {
-        this->assign( val ) ;
-        return *this ;
-      }
-
-    // Assigns from a "none"
-    // Which destroys the current value, if any, leaving this UNINITIALIZED
-    // No-throw (assuming T::~T() doesn't)
-    optional& operator= ( none_t none_ )
-      {
-        this->assign( none_ ) ;
-        return *this ;
-      }
-
-    void swap( optional & arg )
-      {
-        // allow for Koenig lookup
-        using boost::swap;
-        swap(*this, arg);
-      }
-
-
-    // Returns a reference to the value if this is initialized, otherwise,
-    // the behaviour is UNDEFINED
-    // No-throw
-    reference_const_type get() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); }
-    reference_type       get()       { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); }
-
-    // Returns a copy of the value if this is initialized, 'v' otherwise
-    reference_const_type get_value_or ( reference_const_type v ) const { return this->is_initialized() ? get() : v ; }
-    reference_type       get_value_or ( reference_type       v )       { return this->is_initialized() ? get() : v ; }
-
-    // Returns a pointer to the value if this is initialized, otherwise,
-    // the behaviour is UNDEFINED
-    // No-throw
-    pointer_const_type operator->() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; }
-    pointer_type       operator->()       { BOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; }
-
-    // Returns a reference to the value if this is initialized, otherwise,
-    // the behaviour is UNDEFINED
-    // No-throw
-    reference_const_type operator *() const { return this->get() ; }
-    reference_type       operator *()       { return this->get() ; }
-
-    // implicit conversion to "bool"
-    // No-throw
-    operator unspecified_bool_type() const { return this->safe_bool() ; }
-
-    // This is provided for those compilers which don't like the conversion to bool
-    // on some contexts.
-    bool operator!() const { return !this->is_initialized() ; }
-} ;
-
-// Returns optional<T>(v)
-template<class T>
-inline
-optional<T> make_optional ( T const& v  )
-{
-  return optional<T>(v);
-}
-
-// Returns optional<T>(cond,v)
-template<class T>
-inline
-optional<T> make_optional ( bool cond, T const& v )
-{
-  return optional<T>(cond,v);
-}
-
-// Returns a reference to the value if this is initialized, otherwise, the behaviour is UNDEFINED.
-// No-throw
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::reference_const_type
-get ( optional<T> const& opt )
-{
-  return opt.get() ;
-}
-
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::reference_type
-get ( optional<T>& opt )
-{
-  return opt.get() ;
-}
-
-// Returns a pointer to the value if this is initialized, otherwise, returns NULL.
-// No-throw
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::pointer_const_type
-get ( optional<T> const* opt )
-{
-  return opt->get_ptr() ;
-}
-
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::pointer_type
-get ( optional<T>* opt )
-{
-  return opt->get_ptr() ;
-}
-
-// Returns a reference to the value if this is initialized, otherwise, the behaviour is UNDEFINED.
-// No-throw
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::reference_const_type
-get_optional_value_or ( optional<T> const& opt, BOOST_DEDUCED_TYPENAME optional<T>::reference_const_type v )
-{
-  return opt.get_value_or(v) ;
-}
-
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::reference_type
-get_optional_value_or ( optional<T>& opt, BOOST_DEDUCED_TYPENAME optional<T>::reference_type v )
-{
-  return opt.get_value_or(v) ;
-}
-
-// Returns a pointer to the value if this is initialized, otherwise, returns NULL.
-// No-throw
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::pointer_const_type
-get_pointer ( optional<T> const& opt )
-{
-  return opt.get_ptr() ;
-}
-
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::pointer_type
-get_pointer ( optional<T>& opt )
-{
-  return opt.get_ptr() ;
-}
-
-// optional's relational operators ( ==, !=, <, >, <=, >= ) have deep-semantics (compare values).
-// WARNING: This is UNLIKE pointers. Use equal_pointees()/less_pointess() in generic code instead.
-
-
-//
-// optional<T> vs optional<T> cases
-//
-
-template<class T>
-inline
-bool operator == ( optional<T> const& x, optional<T> const& y )
-{ return equal_pointees(x,y); }
-
-template<class T>
-inline
-bool operator < ( optional<T> const& x, optional<T> const& y )
-{ return less_pointees(x,y); }
-
-template<class T>
-inline
-bool operator != ( optional<T> const& x, optional<T> const& y )
-{ return !( x == y ) ; }
-
-template<class T>
-inline
-bool operator > ( optional<T> const& x, optional<T> const& y )
-{ return y < x ; }
-
-template<class T>
-inline
-bool operator <= ( optional<T> const& x, optional<T> const& y )
-{ return !( y < x ) ; }
-
-template<class T>
-inline
-bool operator >= ( optional<T> const& x, optional<T> const& y )
-{ return !( x < y ) ; }
-
-
-//
-// optional<T> vs T cases
-//
-template<class T>
-inline
-bool operator == ( optional<T> const& x, T const& y )
-{ return equal_pointees(x, optional<T>(y)); }
-
-template<class T>
-inline
-bool operator < ( optional<T> const& x, T const& y )
-{ return less_pointees(x, optional<T>(y)); }
-
-template<class T>
-inline
-bool operator != ( optional<T> const& x, T const& y )
-{ return !( x == y ) ; }
-
-template<class T>
-inline
-bool operator > ( optional<T> const& x, T const& y )
-{ return y < x ; }
-
-template<class T>
-inline
-bool operator <= ( optional<T> const& x, T const& y )
-{ return !( y < x ) ; }
-
-template<class T>
-inline
-bool operator >= ( optional<T> const& x, T const& y )
-{ return !( x < y ) ; }
-
-//
-// T vs optional<T> cases
-//
-
-template<class T>
-inline
-bool operator == ( T const& x, optional<T> const& y )
-{ return equal_pointees( optional<T>(x), y ); }
-
-template<class T>
-inline
-bool operator < ( T const& x, optional<T> const& y )
-{ return less_pointees( optional<T>(x), y ); }
-
-template<class T>
-inline
-bool operator != ( T const& x, optional<T> const& y )
-{ return !( x == y ) ; }
-
-template<class T>
-inline
-bool operator > ( T const& x, optional<T> const& y )
-{ return y < x ; }
-
-template<class T>
-inline
-bool operator <= ( T const& x, optional<T> const& y )
-{ return !( y < x ) ; }
-
-template<class T>
-inline
-bool operator >= ( T const& x, optional<T> const& y )
-{ return !( x < y ) ; }
-
-
-//
-// optional<T> vs none cases
-//
-
-template<class T>
-inline
-bool operator == ( optional<T> const& x, none_t )
-{ return equal_pointees(x, optional<T>() ); }
-
-template<class T>
-inline
-bool operator < ( optional<T> const& x, none_t )
-{ return less_pointees(x,optional<T>() ); }
-
-template<class T>
-inline
-bool operator != ( optional<T> const& x, none_t y )
-{ return !( x == y ) ; }
-
-template<class T>
-inline
-bool operator > ( optional<T> const& x, none_t y )
-{ return y < x ; }
-
-template<class T>
-inline
-bool operator <= ( optional<T> const& x, none_t y )
-{ return !( y < x ) ; }
-
-template<class T>
-inline
-bool operator >= ( optional<T> const& x, none_t y )
-{ return !( x < y ) ; }
-
-//
-// none vs optional<T> cases
-//
-
-template<class T>
-inline
-bool operator == ( none_t x, optional<T> const& y )
-{ return equal_pointees(optional<T>() ,y); }
-
-template<class T>
-inline
-bool operator < ( none_t x, optional<T> const& y )
-{ return less_pointees(optional<T>() ,y); }
-
-template<class T>
-inline
-bool operator != ( none_t x, optional<T> const& y )
-{ return !( x == y ) ; }
-
-template<class T>
-inline
-bool operator > ( none_t x, optional<T> const& y )
-{ return y < x ; }
-
-template<class T>
-inline
-bool operator <= ( none_t x, optional<T> const& y )
-{ return !( y < x ) ; }
-
-template<class T>
-inline
-bool operator >= ( none_t x, optional<T> const& y )
-{ return !( x < y ) ; }
-
-namespace optional_detail {
-
-template<bool use_default_constructor> struct swap_selector;
-
-template<>
-struct swap_selector<true>
-{
-    template<class T>
-    static void optional_swap ( optional<T>& x, optional<T>& y )
-    {
-        const bool hasX = !!x;
-        const bool hasY = !!y;
-
-        if ( !hasX && !hasY )
-            return;
-
-        if( !hasX )
-            x = boost::in_place();
-        else if ( !hasY )
-            y = boost::in_place();
-
-        // Boost.Utility.Swap will take care of ADL and workarounds for broken compilers
-        boost::swap(x.get(),y.get());
-
-        if( !hasX )
-            y = boost::none ;
-        else if( !hasY )
-            x = boost::none ;
-    }
-};
-
-template<>
-struct swap_selector<false>
-{
-    template<class T>
-    static void optional_swap ( optional<T>& x, optional<T>& y )
-    {
-        const bool hasX = !!x;
-        const bool hasY = !!y;
-
-        if ( !hasX && hasY )
-        {
-            x = y.get();
-            y = boost::none ;
-        }
-        else if ( hasX && !hasY )
-        {
-            y = x.get();
-            x = boost::none ;
-        }
-        else if ( hasX && hasY )
-        {
-            // Boost.Utility.Swap will take care of ADL and workarounds for broken compilers
-            boost::swap(x.get(),y.get());
-        }
-    }
-};
-
-} // namespace optional_detail
-
-template<class T>
-struct optional_swap_should_use_default_constructor : has_nothrow_default_constructor<T> {} ;
-
-template<class T> inline void swap ( optional<T>& x, optional<T>& y )
-{
-    optional_detail::swap_selector<optional_swap_should_use_default_constructor<T>::value>::optional_swap(x, y);
-}
-
-} // namespace boost
-
-#endif
diff --git a/SRC/Boost/boost/optional/optional_fwd.hpp b/SRC/Boost/boost/optional/optional_fwd.hpp
deleted file mode 100755
index 60a09eb..0000000
--- a/SRC/Boost/boost/optional/optional_fwd.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-//  fernando_cacciola at hotmail.com
-//
-// Revisions:
-// 10 May 2008 (added swap related forward declaration) Niels Dekker
-// 
-#ifndef BOOST_OPTIONAL_OPTIONAL_FWD_FLC_19NOV2002_HPP
-#define BOOST_OPTIONAL_OPTIONAL_FWD_FLC_19NOV2002_HPP
-
-namespace boost {
-
-template<class T> class optional ;
-
-template<class T> void swap ( optional<T>& , optional<T>& ) ;
-
-template<class T> struct optional_swap_should_use_default_constructor ;
-
-} // namespace boost
-
-#endif
-
diff --git a/SRC/Boost/boost/pending/integer_log2.hpp b/SRC/Boost/boost/pending/integer_log2.hpp
deleted file mode 100755
index f2eb2e9..0000000
--- a/SRC/Boost/boost/pending/integer_log2.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// -----------------------------------------------------------
-// integer_log2.hpp
-//
-//   Gives the integer part of the logarithm, in base 2, of a
-// given number. Behavior is undefined if the argument is <= 0.
-//
-//         Copyright (c) 2003-2004, 2008 Gennaro Prota
-//
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-//
-// -----------------------------------------------------------
-
-#ifndef BOOST_INTEGER_LOG2_HPP_GP_20030301
-#define BOOST_INTEGER_LOG2_HPP_GP_20030301
-
-#include <assert.h>
-#ifdef __BORLANDC__
-#include <climits>
-#endif
-#include "boost/limits.hpp"
-#include "boost/config.hpp"
-
-
-namespace boost {
- namespace detail {
-
-  template <typename T>
-  int integer_log2_impl(T x, int n) {
-
-      int result = 0;
-
-      while (x != 1) {
-
-          const T t = static_cast<T>(x >> n);
-          if (t) {
-              result += n;
-              x = t;
-          }
-          n /= 2;
-
-      }
-
-      return result;
-  }
-
-
-
-  // helper to find the maximum power of two
-  // less than p (more involved than necessary,
-  // to avoid PTS)
-  //
-  template <int p, int n>
-  struct max_pow2_less {
-
-      enum { c = 2*n < p };
-
-      BOOST_STATIC_CONSTANT(int, value =
-          c ? (max_pow2_less< c*p, 2*c*n>::value) : n);
-
-  };
-
-  template <>
-  struct max_pow2_less<0, 0> {
-
-      BOOST_STATIC_CONSTANT(int, value = 0);
-  };
-
-  // this template is here just for Borland :(
-  // we could simply rely on numeric_limits but sometimes
-  // Borland tries to use numeric_limits<const T>, because
-  // of its usual const-related problems in argument deduction
-  // - gps
-  template <typename T>
-  struct width {
-
-#ifdef __BORLANDC__
-      BOOST_STATIC_CONSTANT(int, value = sizeof(T) * CHAR_BIT);
-#else
-      BOOST_STATIC_CONSTANT(int, value = (std::numeric_limits<T>::digits));
-#endif
-
-  };
-
- } // detail
-
-
- // ---------
- // integer_log2
- // ---------------
- //
- template <typename T>
- int integer_log2(T x) {
-
-     assert(x > 0);
-
-     const int n = detail::max_pow2_less<
-                     detail::width<T> :: value, 4
-                   > :: value;
-
-     return detail::integer_log2_impl(x, n);
-
- }
-
-
-
-}
-
-
-
-#endif // include guard
diff --git a/SRC/Boost/boost/pointee.hpp b/SRC/Boost/boost/pointee.hpp
deleted file mode 100755
index 10ff3c3..0000000
--- a/SRC/Boost/boost/pointee.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef POINTEE_DWA200415_HPP
-# define POINTEE_DWA200415_HPP
-
-//
-// Copyright David Abrahams 2004. Use, modification and distribution is
-// subject to the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// typename pointee<P>::type provides the pointee type of P.
-//
-// For example, it is T for T* and X for shared_ptr<X>.
-//
-// http://www.boost.org/libs/iterator/doc/pointee.html
-//
-
-# include <boost/detail/is_incrementable.hpp>
-# include <boost/iterator/iterator_traits.hpp>
-# include <boost/type_traits/add_const.hpp>
-# include <boost/type_traits/remove_cv.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/eval_if.hpp>
-
-namespace boost { 
-
-namespace detail
-{
-  template <class P>
-  struct smart_ptr_pointee
-  {
-      typedef typename P::element_type type;
-  };
-
-  template <class Iterator>
-  struct iterator_pointee
-  {
-      typedef typename iterator_traits<Iterator>::value_type value_type;
-      
-      struct impl
-      {
-          template <class T>
-          static char test(T const&);
-          
-          static char (& test(value_type&) )[2];
-          
-          static Iterator& x;
-      };
-      
-      BOOST_STATIC_CONSTANT(bool, is_constant = sizeof(impl::test(*impl::x)) == 1);
-      
-      typedef typename mpl::if_c<
-#  if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-          ::boost::detail::iterator_pointee<Iterator>::is_constant
-#  else
-          is_constant
-#  endif 
-        , typename add_const<value_type>::type
-        , value_type
-      >::type type;
-  };
-}
-
-template <class P>
-struct pointee
-  : mpl::eval_if<
-        detail::is_incrementable<P>
-      , detail::iterator_pointee<P>
-      , detail::smart_ptr_pointee<P>
-    >
-{
-};
-  
-} // namespace boost
-
-#endif // POINTEE_DWA200415_HPP
diff --git a/SRC/Boost/boost/pointer_to_other.hpp b/SRC/Boost/boost/pointer_to_other.hpp
deleted file mode 100755
index fec6f30..0000000
--- a/SRC/Boost/boost/pointer_to_other.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED
-#define BOOST_POINTER_TO_OTHER_HPP_INCLUDED
-
-//
-//  pointer_to_other.hpp
-//
-//  (C) Copyright Ion Gaztanaga 2005.
-//  Copyright (c) 2005 Peter Dimov.
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/smart_ptr/pointer_to_other.html
-//
-
-namespace boost
-{
-
-// Defines the same pointer type (raw or smart) to another pointee type
-
-template<class T, class U>
-struct pointer_to_other;
-
-template<class T, class U, 
-         template<class> class Sp>
-struct pointer_to_other< Sp<T>, U >
-{
-   typedef Sp<U> type;
-};
-
-template<class T, class T2, class U, 
-         template<class, class> class Sp>
-struct pointer_to_other< Sp<T, T2>, U >
-{
-   typedef Sp<U, T2> type;
-};
-
-template<class T, class T2, class T3, class U, 
-         template<class, class, class> class Sp>
-struct pointer_to_other< Sp<T, T2, T3>, U >
-{
-   typedef Sp<U, T2, T3> type;
-};
-
-template<class T, class U>
-struct pointer_to_other< T*, U >
-{
-   typedef U* type;
-};
-
-} // namespace boost
-
-#endif // #ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/preprocessor.hpp b/SRC/Boost/boost/preprocessor.hpp
deleted file mode 100755
index 6d15b7d..0000000
--- a/SRC/Boost/boost/preprocessor.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org/libs/preprocessor for documentation. */
-#
-# ifndef BOOST_PREPROCESSOR_HPP
-# define BOOST_PREPROCESSOR_HPP
-#
-# include <boost/preprocessor/library.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/arithmetic.hpp b/SRC/Boost/boost/preprocessor/arithmetic.hpp
deleted file mode 100755
index 6ce0ead..0000000
--- a/SRC/Boost/boost/preprocessor/arithmetic.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_HPP
-#
-# include <boost/preprocessor/arithmetic/add.hpp>
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/div.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/arithmetic/mod.hpp>
-# include <boost/preprocessor/arithmetic/mul.hpp>
-# include <boost/preprocessor/arithmetic/sub.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/arithmetic/add.hpp b/SRC/Boost/boost/preprocessor/arithmetic/add.hpp
deleted file mode 100755
index e6866ed..0000000
--- a/SRC/Boost/boost/preprocessor/arithmetic/add.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ADD */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ADD(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
-# else
-#    define BOOST_PP_ADD(x, y) BOOST_PP_ADD_I(x, y)
-#    define BOOST_PP_ADD_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
-# endif
-#
-# define BOOST_PP_ADD_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I xy
-# else
-#    define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy))
-# endif
-#
-# define BOOST_PP_ADD_O_I(x, y) (BOOST_PP_INC(x), BOOST_PP_DEC(y))
-#
-# /* BOOST_PP_ADD_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ADD_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
-# else
-#    define BOOST_PP_ADD_D(d, x, y) BOOST_PP_ADD_D_I(d, x, y)
-#    define BOOST_PP_ADD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/arithmetic/dec.hpp b/SRC/Boost/boost/preprocessor/arithmetic/dec.hpp
deleted file mode 100755
index bef7281..0000000
--- a/SRC/Boost/boost/preprocessor/arithmetic/dec.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_DEC */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x)
-# else
-#    define BOOST_PP_DEC(x) BOOST_PP_DEC_OO((x))
-#    define BOOST_PP_DEC_OO(par) BOOST_PP_DEC_I ## par
-# endif
-#
-# define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x
-#
-# define BOOST_PP_DEC_0 0
-# define BOOST_PP_DEC_1 0
-# define BOOST_PP_DEC_2 1
-# define BOOST_PP_DEC_3 2
-# define BOOST_PP_DEC_4 3
-# define BOOST_PP_DEC_5 4
-# define BOOST_PP_DEC_6 5
-# define BOOST_PP_DEC_7 6
-# define BOOST_PP_DEC_8 7
-# define BOOST_PP_DEC_9 8
-# define BOOST_PP_DEC_10 9
-# define BOOST_PP_DEC_11 10
-# define BOOST_PP_DEC_12 11
-# define BOOST_PP_DEC_13 12
-# define BOOST_PP_DEC_14 13
-# define BOOST_PP_DEC_15 14
-# define BOOST_PP_DEC_16 15
-# define BOOST_PP_DEC_17 16
-# define BOOST_PP_DEC_18 17
-# define BOOST_PP_DEC_19 18
-# define BOOST_PP_DEC_20 19
-# define BOOST_PP_DEC_21 20
-# define BOOST_PP_DEC_22 21
-# define BOOST_PP_DEC_23 22
-# define BOOST_PP_DEC_24 23
-# define BOOST_PP_DEC_25 24
-# define BOOST_PP_DEC_26 25
-# define BOOST_PP_DEC_27 26
-# define BOOST_PP_DEC_28 27
-# define BOOST_PP_DEC_29 28
-# define BOOST_PP_DEC_30 29
-# define BOOST_PP_DEC_31 30
-# define BOOST_PP_DEC_32 31
-# define BOOST_PP_DEC_33 32
-# define BOOST_PP_DEC_34 33
-# define BOOST_PP_DEC_35 34
-# define BOOST_PP_DEC_36 35
-# define BOOST_PP_DEC_37 36
-# define BOOST_PP_DEC_38 37
-# define BOOST_PP_DEC_39 38
-# define BOOST_PP_DEC_40 39
-# define BOOST_PP_DEC_41 40
-# define BOOST_PP_DEC_42 41
-# define BOOST_PP_DEC_43 42
-# define BOOST_PP_DEC_44 43
-# define BOOST_PP_DEC_45 44
-# define BOOST_PP_DEC_46 45
-# define BOOST_PP_DEC_47 46
-# define BOOST_PP_DEC_48 47
-# define BOOST_PP_DEC_49 48
-# define BOOST_PP_DEC_50 49
-# define BOOST_PP_DEC_51 50
-# define BOOST_PP_DEC_52 51
-# define BOOST_PP_DEC_53 52
-# define BOOST_PP_DEC_54 53
-# define BOOST_PP_DEC_55 54
-# define BOOST_PP_DEC_56 55
-# define BOOST_PP_DEC_57 56
-# define BOOST_PP_DEC_58 57
-# define BOOST_PP_DEC_59 58
-# define BOOST_PP_DEC_60 59
-# define BOOST_PP_DEC_61 60
-# define BOOST_PP_DEC_62 61
-# define BOOST_PP_DEC_63 62
-# define BOOST_PP_DEC_64 63
-# define BOOST_PP_DEC_65 64
-# define BOOST_PP_DEC_66 65
-# define BOOST_PP_DEC_67 66
-# define BOOST_PP_DEC_68 67
-# define BOOST_PP_DEC_69 68
-# define BOOST_PP_DEC_70 69
-# define BOOST_PP_DEC_71 70
-# define BOOST_PP_DEC_72 71
-# define BOOST_PP_DEC_73 72
-# define BOOST_PP_DEC_74 73
-# define BOOST_PP_DEC_75 74
-# define BOOST_PP_DEC_76 75
-# define BOOST_PP_DEC_77 76
-# define BOOST_PP_DEC_78 77
-# define BOOST_PP_DEC_79 78
-# define BOOST_PP_DEC_80 79
-# define BOOST_PP_DEC_81 80
-# define BOOST_PP_DEC_82 81
-# define BOOST_PP_DEC_83 82
-# define BOOST_PP_DEC_84 83
-# define BOOST_PP_DEC_85 84
-# define BOOST_PP_DEC_86 85
-# define BOOST_PP_DEC_87 86
-# define BOOST_PP_DEC_88 87
-# define BOOST_PP_DEC_89 88
-# define BOOST_PP_DEC_90 89
-# define BOOST_PP_DEC_91 90
-# define BOOST_PP_DEC_92 91
-# define BOOST_PP_DEC_93 92
-# define BOOST_PP_DEC_94 93
-# define BOOST_PP_DEC_95 94
-# define BOOST_PP_DEC_96 95
-# define BOOST_PP_DEC_97 96
-# define BOOST_PP_DEC_98 97
-# define BOOST_PP_DEC_99 98
-# define BOOST_PP_DEC_100 99
-# define BOOST_PP_DEC_101 100
-# define BOOST_PP_DEC_102 101
-# define BOOST_PP_DEC_103 102
-# define BOOST_PP_DEC_104 103
-# define BOOST_PP_DEC_105 104
-# define BOOST_PP_DEC_106 105
-# define BOOST_PP_DEC_107 106
-# define BOOST_PP_DEC_108 107
-# define BOOST_PP_DEC_109 108
-# define BOOST_PP_DEC_110 109
-# define BOOST_PP_DEC_111 110
-# define BOOST_PP_DEC_112 111
-# define BOOST_PP_DEC_113 112
-# define BOOST_PP_DEC_114 113
-# define BOOST_PP_DEC_115 114
-# define BOOST_PP_DEC_116 115
-# define BOOST_PP_DEC_117 116
-# define BOOST_PP_DEC_118 117
-# define BOOST_PP_DEC_119 118
-# define BOOST_PP_DEC_120 119
-# define BOOST_PP_DEC_121 120
-# define BOOST_PP_DEC_122 121
-# define BOOST_PP_DEC_123 122
-# define BOOST_PP_DEC_124 123
-# define BOOST_PP_DEC_125 124
-# define BOOST_PP_DEC_126 125
-# define BOOST_PP_DEC_127 126
-# define BOOST_PP_DEC_128 127
-# define BOOST_PP_DEC_129 128
-# define BOOST_PP_DEC_130 129
-# define BOOST_PP_DEC_131 130
-# define BOOST_PP_DEC_132 131
-# define BOOST_PP_DEC_133 132
-# define BOOST_PP_DEC_134 133
-# define BOOST_PP_DEC_135 134
-# define BOOST_PP_DEC_136 135
-# define BOOST_PP_DEC_137 136
-# define BOOST_PP_DEC_138 137
-# define BOOST_PP_DEC_139 138
-# define BOOST_PP_DEC_140 139
-# define BOOST_PP_DEC_141 140
-# define BOOST_PP_DEC_142 141
-# define BOOST_PP_DEC_143 142
-# define BOOST_PP_DEC_144 143
-# define BOOST_PP_DEC_145 144
-# define BOOST_PP_DEC_146 145
-# define BOOST_PP_DEC_147 146
-# define BOOST_PP_DEC_148 147
-# define BOOST_PP_DEC_149 148
-# define BOOST_PP_DEC_150 149
-# define BOOST_PP_DEC_151 150
-# define BOOST_PP_DEC_152 151
-# define BOOST_PP_DEC_153 152
-# define BOOST_PP_DEC_154 153
-# define BOOST_PP_DEC_155 154
-# define BOOST_PP_DEC_156 155
-# define BOOST_PP_DEC_157 156
-# define BOOST_PP_DEC_158 157
-# define BOOST_PP_DEC_159 158
-# define BOOST_PP_DEC_160 159
-# define BOOST_PP_DEC_161 160
-# define BOOST_PP_DEC_162 161
-# define BOOST_PP_DEC_163 162
-# define BOOST_PP_DEC_164 163
-# define BOOST_PP_DEC_165 164
-# define BOOST_PP_DEC_166 165
-# define BOOST_PP_DEC_167 166
-# define BOOST_PP_DEC_168 167
-# define BOOST_PP_DEC_169 168
-# define BOOST_PP_DEC_170 169
-# define BOOST_PP_DEC_171 170
-# define BOOST_PP_DEC_172 171
-# define BOOST_PP_DEC_173 172
-# define BOOST_PP_DEC_174 173
-# define BOOST_PP_DEC_175 174
-# define BOOST_PP_DEC_176 175
-# define BOOST_PP_DEC_177 176
-# define BOOST_PP_DEC_178 177
-# define BOOST_PP_DEC_179 178
-# define BOOST_PP_DEC_180 179
-# define BOOST_PP_DEC_181 180
-# define BOOST_PP_DEC_182 181
-# define BOOST_PP_DEC_183 182
-# define BOOST_PP_DEC_184 183
-# define BOOST_PP_DEC_185 184
-# define BOOST_PP_DEC_186 185
-# define BOOST_PP_DEC_187 186
-# define BOOST_PP_DEC_188 187
-# define BOOST_PP_DEC_189 188
-# define BOOST_PP_DEC_190 189
-# define BOOST_PP_DEC_191 190
-# define BOOST_PP_DEC_192 191
-# define BOOST_PP_DEC_193 192
-# define BOOST_PP_DEC_194 193
-# define BOOST_PP_DEC_195 194
-# define BOOST_PP_DEC_196 195
-# define BOOST_PP_DEC_197 196
-# define BOOST_PP_DEC_198 197
-# define BOOST_PP_DEC_199 198
-# define BOOST_PP_DEC_200 199
-# define BOOST_PP_DEC_201 200
-# define BOOST_PP_DEC_202 201
-# define BOOST_PP_DEC_203 202
-# define BOOST_PP_DEC_204 203
-# define BOOST_PP_DEC_205 204
-# define BOOST_PP_DEC_206 205
-# define BOOST_PP_DEC_207 206
-# define BOOST_PP_DEC_208 207
-# define BOOST_PP_DEC_209 208
-# define BOOST_PP_DEC_210 209
-# define BOOST_PP_DEC_211 210
-# define BOOST_PP_DEC_212 211
-# define BOOST_PP_DEC_213 212
-# define BOOST_PP_DEC_214 213
-# define BOOST_PP_DEC_215 214
-# define BOOST_PP_DEC_216 215
-# define BOOST_PP_DEC_217 216
-# define BOOST_PP_DEC_218 217
-# define BOOST_PP_DEC_219 218
-# define BOOST_PP_DEC_220 219
-# define BOOST_PP_DEC_221 220
-# define BOOST_PP_DEC_222 221
-# define BOOST_PP_DEC_223 222
-# define BOOST_PP_DEC_224 223
-# define BOOST_PP_DEC_225 224
-# define BOOST_PP_DEC_226 225
-# define BOOST_PP_DEC_227 226
-# define BOOST_PP_DEC_228 227
-# define BOOST_PP_DEC_229 228
-# define BOOST_PP_DEC_230 229
-# define BOOST_PP_DEC_231 230
-# define BOOST_PP_DEC_232 231
-# define BOOST_PP_DEC_233 232
-# define BOOST_PP_DEC_234 233
-# define BOOST_PP_DEC_235 234
-# define BOOST_PP_DEC_236 235
-# define BOOST_PP_DEC_237 236
-# define BOOST_PP_DEC_238 237
-# define BOOST_PP_DEC_239 238
-# define BOOST_PP_DEC_240 239
-# define BOOST_PP_DEC_241 240
-# define BOOST_PP_DEC_242 241
-# define BOOST_PP_DEC_243 242
-# define BOOST_PP_DEC_244 243
-# define BOOST_PP_DEC_245 244
-# define BOOST_PP_DEC_246 245
-# define BOOST_PP_DEC_247 246
-# define BOOST_PP_DEC_248 247
-# define BOOST_PP_DEC_249 248
-# define BOOST_PP_DEC_250 249
-# define BOOST_PP_DEC_251 250
-# define BOOST_PP_DEC_252 251
-# define BOOST_PP_DEC_253 252
-# define BOOST_PP_DEC_254 253
-# define BOOST_PP_DEC_255 254
-# define BOOST_PP_DEC_256 255
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/arithmetic/detail/div_base.hpp b/SRC/Boost/boost/preprocessor/arithmetic/detail/div_base.hpp
deleted file mode 100755
index 8b4de25..0000000
--- a/SRC/Boost/boost/preprocessor/arithmetic/detail/div_base.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_DIV_BASE_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_DIV_BASE_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/arithmetic/sub.hpp>
-# include <boost/preprocessor/comparison/less_equal.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_DIV_BASE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_DIV_BASE(x, y) BOOST_PP_WHILE(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))
-# else
-#    define BOOST_PP_DIV_BASE(x, y) BOOST_PP_DIV_BASE_I(x, y)
-#    define BOOST_PP_DIV_BASE_I(x, y) BOOST_PP_WHILE(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_DIV_BASE_P(d, rxy) BOOST_PP_DIV_BASE_P_IM(d, BOOST_PP_TUPLE_REM_3 rxy)
-#    define BOOST_PP_DIV_BASE_P_IM(d, im) BOOST_PP_DIV_BASE_P_I(d, im)
-# else
-#    define BOOST_PP_DIV_BASE_P(d, rxy) BOOST_PP_DIV_BASE_P_I(d, BOOST_PP_TUPLE_ELEM(3, 0, rxy), BOOST_PP_TUPLE_ELEM(3, 1, rxy), BOOST_PP_TUPLE_ELEM(3, 2, rxy))
-# endif
-#
-# define BOOST_PP_DIV_BASE_P_I(d, r, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x)
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_DIV_BASE_O(d, rxy) BOOST_PP_DIV_BASE_O_IM(d, BOOST_PP_TUPLE_REM_3 rxy)
-#    define BOOST_PP_DIV_BASE_O_IM(d, im) BOOST_PP_DIV_BASE_O_I(d, im)
-# else
-#    define BOOST_PP_DIV_BASE_O(d, rxy) BOOST_PP_DIV_BASE_O_I(d, BOOST_PP_TUPLE_ELEM(3, 0, rxy), BOOST_PP_TUPLE_ELEM(3, 1, rxy), BOOST_PP_TUPLE_ELEM(3, 2, rxy))
-# endif
-#
-# define BOOST_PP_DIV_BASE_O_I(d, r, x, y) (BOOST_PP_INC(r), BOOST_PP_SUB_D(d, x, y), y)
-#
-# /* BOOST_PP_DIV_BASE_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_DIV_BASE_D(d, x, y) BOOST_PP_WHILE_ ## d(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))
-# else
-#    define BOOST_PP_DIV_BASE_D(d, x, y) BOOST_PP_DIV_BASE_D_I(d, x, y)
-#    define BOOST_PP_DIV_BASE_D_I(d, x, y) BOOST_PP_WHILE_ ## d(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/arithmetic/div.hpp b/SRC/Boost/boost/preprocessor/arithmetic/div.hpp
deleted file mode 100755
index 1df8ab6..0000000
--- a/SRC/Boost/boost/preprocessor/arithmetic/div.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP
-#
-# include <boost/preprocessor/arithmetic/detail/div_base.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_DIV */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_DIV(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE(x, y))
-# else
-#    define BOOST_PP_DIV(x, y) BOOST_PP_DIV_I(x, y)
-#    define BOOST_PP_DIV_I(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE(x, y))
-# endif
-#
-# /* BOOST_PP_DIV_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_DIV_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE_D(d, x, y))
-# else
-#    define BOOST_PP_DIV_D(d, x, y) BOOST_PP_DIV_D_I(d, x, y)
-#    define BOOST_PP_DIV_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE_D(d, x, y))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/arithmetic/inc.hpp b/SRC/Boost/boost/preprocessor/arithmetic/inc.hpp
deleted file mode 100755
index 4c367f9..0000000
--- a/SRC/Boost/boost/preprocessor/arithmetic/inc.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_INC */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_INC(x) BOOST_PP_INC_I(x)
-# else
-#    define BOOST_PP_INC(x) BOOST_PP_INC_OO((x))
-#    define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par
-# endif
-#
-# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x
-#
-# define BOOST_PP_INC_0 1
-# define BOOST_PP_INC_1 2
-# define BOOST_PP_INC_2 3
-# define BOOST_PP_INC_3 4
-# define BOOST_PP_INC_4 5
-# define BOOST_PP_INC_5 6
-# define BOOST_PP_INC_6 7
-# define BOOST_PP_INC_7 8
-# define BOOST_PP_INC_8 9
-# define BOOST_PP_INC_9 10
-# define BOOST_PP_INC_10 11
-# define BOOST_PP_INC_11 12
-# define BOOST_PP_INC_12 13
-# define BOOST_PP_INC_13 14
-# define BOOST_PP_INC_14 15
-# define BOOST_PP_INC_15 16
-# define BOOST_PP_INC_16 17
-# define BOOST_PP_INC_17 18
-# define BOOST_PP_INC_18 19
-# define BOOST_PP_INC_19 20
-# define BOOST_PP_INC_20 21
-# define BOOST_PP_INC_21 22
-# define BOOST_PP_INC_22 23
-# define BOOST_PP_INC_23 24
-# define BOOST_PP_INC_24 25
-# define BOOST_PP_INC_25 26
-# define BOOST_PP_INC_26 27
-# define BOOST_PP_INC_27 28
-# define BOOST_PP_INC_28 29
-# define BOOST_PP_INC_29 30
-# define BOOST_PP_INC_30 31
-# define BOOST_PP_INC_31 32
-# define BOOST_PP_INC_32 33
-# define BOOST_PP_INC_33 34
-# define BOOST_PP_INC_34 35
-# define BOOST_PP_INC_35 36
-# define BOOST_PP_INC_36 37
-# define BOOST_PP_INC_37 38
-# define BOOST_PP_INC_38 39
-# define BOOST_PP_INC_39 40
-# define BOOST_PP_INC_40 41
-# define BOOST_PP_INC_41 42
-# define BOOST_PP_INC_42 43
-# define BOOST_PP_INC_43 44
-# define BOOST_PP_INC_44 45
-# define BOOST_PP_INC_45 46
-# define BOOST_PP_INC_46 47
-# define BOOST_PP_INC_47 48
-# define BOOST_PP_INC_48 49
-# define BOOST_PP_INC_49 50
-# define BOOST_PP_INC_50 51
-# define BOOST_PP_INC_51 52
-# define BOOST_PP_INC_52 53
-# define BOOST_PP_INC_53 54
-# define BOOST_PP_INC_54 55
-# define BOOST_PP_INC_55 56
-# define BOOST_PP_INC_56 57
-# define BOOST_PP_INC_57 58
-# define BOOST_PP_INC_58 59
-# define BOOST_PP_INC_59 60
-# define BOOST_PP_INC_60 61
-# define BOOST_PP_INC_61 62
-# define BOOST_PP_INC_62 63
-# define BOOST_PP_INC_63 64
-# define BOOST_PP_INC_64 65
-# define BOOST_PP_INC_65 66
-# define BOOST_PP_INC_66 67
-# define BOOST_PP_INC_67 68
-# define BOOST_PP_INC_68 69
-# define BOOST_PP_INC_69 70
-# define BOOST_PP_INC_70 71
-# define BOOST_PP_INC_71 72
-# define BOOST_PP_INC_72 73
-# define BOOST_PP_INC_73 74
-# define BOOST_PP_INC_74 75
-# define BOOST_PP_INC_75 76
-# define BOOST_PP_INC_76 77
-# define BOOST_PP_INC_77 78
-# define BOOST_PP_INC_78 79
-# define BOOST_PP_INC_79 80
-# define BOOST_PP_INC_80 81
-# define BOOST_PP_INC_81 82
-# define BOOST_PP_INC_82 83
-# define BOOST_PP_INC_83 84
-# define BOOST_PP_INC_84 85
-# define BOOST_PP_INC_85 86
-# define BOOST_PP_INC_86 87
-# define BOOST_PP_INC_87 88
-# define BOOST_PP_INC_88 89
-# define BOOST_PP_INC_89 90
-# define BOOST_PP_INC_90 91
-# define BOOST_PP_INC_91 92
-# define BOOST_PP_INC_92 93
-# define BOOST_PP_INC_93 94
-# define BOOST_PP_INC_94 95
-# define BOOST_PP_INC_95 96
-# define BOOST_PP_INC_96 97
-# define BOOST_PP_INC_97 98
-# define BOOST_PP_INC_98 99
-# define BOOST_PP_INC_99 100
-# define BOOST_PP_INC_100 101
-# define BOOST_PP_INC_101 102
-# define BOOST_PP_INC_102 103
-# define BOOST_PP_INC_103 104
-# define BOOST_PP_INC_104 105
-# define BOOST_PP_INC_105 106
-# define BOOST_PP_INC_106 107
-# define BOOST_PP_INC_107 108
-# define BOOST_PP_INC_108 109
-# define BOOST_PP_INC_109 110
-# define BOOST_PP_INC_110 111
-# define BOOST_PP_INC_111 112
-# define BOOST_PP_INC_112 113
-# define BOOST_PP_INC_113 114
-# define BOOST_PP_INC_114 115
-# define BOOST_PP_INC_115 116
-# define BOOST_PP_INC_116 117
-# define BOOST_PP_INC_117 118
-# define BOOST_PP_INC_118 119
-# define BOOST_PP_INC_119 120
-# define BOOST_PP_INC_120 121
-# define BOOST_PP_INC_121 122
-# define BOOST_PP_INC_122 123
-# define BOOST_PP_INC_123 124
-# define BOOST_PP_INC_124 125
-# define BOOST_PP_INC_125 126
-# define BOOST_PP_INC_126 127
-# define BOOST_PP_INC_127 128
-# define BOOST_PP_INC_128 129
-# define BOOST_PP_INC_129 130
-# define BOOST_PP_INC_130 131
-# define BOOST_PP_INC_131 132
-# define BOOST_PP_INC_132 133
-# define BOOST_PP_INC_133 134
-# define BOOST_PP_INC_134 135
-# define BOOST_PP_INC_135 136
-# define BOOST_PP_INC_136 137
-# define BOOST_PP_INC_137 138
-# define BOOST_PP_INC_138 139
-# define BOOST_PP_INC_139 140
-# define BOOST_PP_INC_140 141
-# define BOOST_PP_INC_141 142
-# define BOOST_PP_INC_142 143
-# define BOOST_PP_INC_143 144
-# define BOOST_PP_INC_144 145
-# define BOOST_PP_INC_145 146
-# define BOOST_PP_INC_146 147
-# define BOOST_PP_INC_147 148
-# define BOOST_PP_INC_148 149
-# define BOOST_PP_INC_149 150
-# define BOOST_PP_INC_150 151
-# define BOOST_PP_INC_151 152
-# define BOOST_PP_INC_152 153
-# define BOOST_PP_INC_153 154
-# define BOOST_PP_INC_154 155
-# define BOOST_PP_INC_155 156
-# define BOOST_PP_INC_156 157
-# define BOOST_PP_INC_157 158
-# define BOOST_PP_INC_158 159
-# define BOOST_PP_INC_159 160
-# define BOOST_PP_INC_160 161
-# define BOOST_PP_INC_161 162
-# define BOOST_PP_INC_162 163
-# define BOOST_PP_INC_163 164
-# define BOOST_PP_INC_164 165
-# define BOOST_PP_INC_165 166
-# define BOOST_PP_INC_166 167
-# define BOOST_PP_INC_167 168
-# define BOOST_PP_INC_168 169
-# define BOOST_PP_INC_169 170
-# define BOOST_PP_INC_170 171
-# define BOOST_PP_INC_171 172
-# define BOOST_PP_INC_172 173
-# define BOOST_PP_INC_173 174
-# define BOOST_PP_INC_174 175
-# define BOOST_PP_INC_175 176
-# define BOOST_PP_INC_176 177
-# define BOOST_PP_INC_177 178
-# define BOOST_PP_INC_178 179
-# define BOOST_PP_INC_179 180
-# define BOOST_PP_INC_180 181
-# define BOOST_PP_INC_181 182
-# define BOOST_PP_INC_182 183
-# define BOOST_PP_INC_183 184
-# define BOOST_PP_INC_184 185
-# define BOOST_PP_INC_185 186
-# define BOOST_PP_INC_186 187
-# define BOOST_PP_INC_187 188
-# define BOOST_PP_INC_188 189
-# define BOOST_PP_INC_189 190
-# define BOOST_PP_INC_190 191
-# define BOOST_PP_INC_191 192
-# define BOOST_PP_INC_192 193
-# define BOOST_PP_INC_193 194
-# define BOOST_PP_INC_194 195
-# define BOOST_PP_INC_195 196
-# define BOOST_PP_INC_196 197
-# define BOOST_PP_INC_197 198
-# define BOOST_PP_INC_198 199
-# define BOOST_PP_INC_199 200
-# define BOOST_PP_INC_200 201
-# define BOOST_PP_INC_201 202
-# define BOOST_PP_INC_202 203
-# define BOOST_PP_INC_203 204
-# define BOOST_PP_INC_204 205
-# define BOOST_PP_INC_205 206
-# define BOOST_PP_INC_206 207
-# define BOOST_PP_INC_207 208
-# define BOOST_PP_INC_208 209
-# define BOOST_PP_INC_209 210
-# define BOOST_PP_INC_210 211
-# define BOOST_PP_INC_211 212
-# define BOOST_PP_INC_212 213
-# define BOOST_PP_INC_213 214
-# define BOOST_PP_INC_214 215
-# define BOOST_PP_INC_215 216
-# define BOOST_PP_INC_216 217
-# define BOOST_PP_INC_217 218
-# define BOOST_PP_INC_218 219
-# define BOOST_PP_INC_219 220
-# define BOOST_PP_INC_220 221
-# define BOOST_PP_INC_221 222
-# define BOOST_PP_INC_222 223
-# define BOOST_PP_INC_223 224
-# define BOOST_PP_INC_224 225
-# define BOOST_PP_INC_225 226
-# define BOOST_PP_INC_226 227
-# define BOOST_PP_INC_227 228
-# define BOOST_PP_INC_228 229
-# define BOOST_PP_INC_229 230
-# define BOOST_PP_INC_230 231
-# define BOOST_PP_INC_231 232
-# define BOOST_PP_INC_232 233
-# define BOOST_PP_INC_233 234
-# define BOOST_PP_INC_234 235
-# define BOOST_PP_INC_235 236
-# define BOOST_PP_INC_236 237
-# define BOOST_PP_INC_237 238
-# define BOOST_PP_INC_238 239
-# define BOOST_PP_INC_239 240
-# define BOOST_PP_INC_240 241
-# define BOOST_PP_INC_241 242
-# define BOOST_PP_INC_242 243
-# define BOOST_PP_INC_243 244
-# define BOOST_PP_INC_244 245
-# define BOOST_PP_INC_245 246
-# define BOOST_PP_INC_246 247
-# define BOOST_PP_INC_247 248
-# define BOOST_PP_INC_248 249
-# define BOOST_PP_INC_249 250
-# define BOOST_PP_INC_250 251
-# define BOOST_PP_INC_251 252
-# define BOOST_PP_INC_252 253
-# define BOOST_PP_INC_253 254
-# define BOOST_PP_INC_254 255
-# define BOOST_PP_INC_255 256
-# define BOOST_PP_INC_256 256
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/arithmetic/mod.hpp b/SRC/Boost/boost/preprocessor/arithmetic/mod.hpp
deleted file mode 100755
index 89f9e0d..0000000
--- a/SRC/Boost/boost/preprocessor/arithmetic/mod.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
-#
-# include <boost/preprocessor/arithmetic/detail/div_base.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_MOD */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_MOD(x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE(x, y))
-# else
-#    define BOOST_PP_MOD(x, y) BOOST_PP_MOD_I(x, y)
-#    define BOOST_PP_MOD_I(x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE(x, y))
-# endif
-#
-# /* BOOST_PP_MOD_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_MOD_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE_D(d, x, y))
-# else
-#    define BOOST_PP_MOD_D(d, x, y) BOOST_PP_MOD_D_I(d, x, y)
-#    define BOOST_PP_MOD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE_D(d, x, y))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/arithmetic/mul.hpp b/SRC/Boost/boost/preprocessor/arithmetic/mul.hpp
deleted file mode 100755
index efcde5a..0000000
--- a/SRC/Boost/boost/preprocessor/arithmetic/mul.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP
-#
-# include <boost/preprocessor/arithmetic/add.hpp>
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_MUL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_MUL(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y)))
-# else
-#    define BOOST_PP_MUL(x, y) BOOST_PP_MUL_I(x, y)
-#    define BOOST_PP_MUL_I(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y)))
-# endif
-#
-# define BOOST_PP_MUL_P(d, rxy) BOOST_PP_TUPLE_ELEM(3, 2, rxy)
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_MUL_O(d, rxy) BOOST_PP_MUL_O_IM(d, BOOST_PP_TUPLE_REM_3 rxy)
-#    define BOOST_PP_MUL_O_IM(d, im) BOOST_PP_MUL_O_I(d, im)
-# else
-#    define BOOST_PP_MUL_O(d, rxy) BOOST_PP_MUL_O_I(d, BOOST_PP_TUPLE_ELEM(3, 0, rxy), BOOST_PP_TUPLE_ELEM(3, 1, rxy), BOOST_PP_TUPLE_ELEM(3, 2, rxy))
-# endif
-#
-# define BOOST_PP_MUL_O_I(d, r, x, y) (BOOST_PP_ADD_D(d, r, x), x, BOOST_PP_DEC(y))
-#
-# /* BOOST_PP_MUL_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_MUL_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y)))
-# else
-#    define BOOST_PP_MUL_D(d, x, y) BOOST_PP_MUL_D_I(d, x, y)
-#    define BOOST_PP_MUL_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y)))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/arithmetic/sub.hpp b/SRC/Boost/boost/preprocessor/arithmetic/sub.hpp
deleted file mode 100755
index 3ef7a28..0000000
--- a/SRC/Boost/boost/preprocessor/arithmetic/sub.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_SUB */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SUB(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
-# else
-#    define BOOST_PP_SUB(x, y) BOOST_PP_SUB_I(x, y)
-#    define BOOST_PP_SUB_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
-# endif
-#
-# define BOOST_PP_SUB_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I xy
-# else
-#    define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy))
-# endif
-#
-# define BOOST_PP_SUB_O_I(x, y) (BOOST_PP_DEC(x), BOOST_PP_DEC(y))
-#
-# /* BOOST_PP_SUB_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SUB_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
-# else
-#    define BOOST_PP_SUB_D(d, x, y) BOOST_PP_SUB_D_I(d, x, y)
-#    define BOOST_PP_SUB_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/array.hpp b/SRC/Boost/boost/preprocessor/array.hpp
deleted file mode 100755
index bcc982b..0000000
--- a/SRC/Boost/boost/preprocessor/array.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_HPP
-# define BOOST_PREPROCESSOR_ARRAY_HPP
-#
-# include <boost/preprocessor/array/data.hpp>
-# include <boost/preprocessor/array/elem.hpp>
-# include <boost/preprocessor/array/insert.hpp>
-# include <boost/preprocessor/array/pop_back.hpp>
-# include <boost/preprocessor/array/pop_front.hpp>
-# include <boost/preprocessor/array/push_back.hpp>
-# include <boost/preprocessor/array/push_front.hpp>
-# include <boost/preprocessor/array/remove.hpp>
-# include <boost/preprocessor/array/replace.hpp>
-# include <boost/preprocessor/array/reverse.hpp>
-# include <boost/preprocessor/array/size.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/array/data.hpp b/SRC/Boost/boost/preprocessor/array/data.hpp
deleted file mode 100755
index 4b00cdc..0000000
--- a/SRC/Boost/boost/preprocessor/array/data.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_DATA_HPP
-# define BOOST_PREPROCESSOR_ARRAY_DATA_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ARRAY_DATA */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_DATA(array) BOOST_PP_TUPLE_ELEM(2, 1, array)
-# else
-#    define BOOST_PP_ARRAY_DATA(array) BOOST_PP_ARRAY_DATA_I(array)
-#    define BOOST_PP_ARRAY_DATA_I(array) BOOST_PP_ARRAY_DATA_II array
-#    define BOOST_PP_ARRAY_DATA_II(size, data) data
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/array/elem.hpp b/SRC/Boost/boost/preprocessor/array/elem.hpp
deleted file mode 100755
index 4f11c08..0000000
--- a/SRC/Boost/boost/preprocessor/array/elem.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_ELEM_HPP
-# define BOOST_PREPROCESSOR_ARRAY_ELEM_HPP
-#
-# include <boost/preprocessor/array/data.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ARRAY_ELEM */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array))
-# else
-#    define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_ARRAY_ELEM_I(i, array)
-#    define BOOST_PP_ARRAY_ELEM_I(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/array/insert.hpp b/SRC/Boost/boost/preprocessor/array/insert.hpp
deleted file mode 100755
index 289db40..0000000
--- a/SRC/Boost/boost/preprocessor/array/insert.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_INSERT_HPP
-# define BOOST_PREPROCESSOR_ARRAY_INSERT_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/array/elem.hpp>
-# include <boost/preprocessor/array/push_back.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/comparison/not_equal.hpp>
-# include <boost/preprocessor/control/deduce_d.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ARRAY_INSERT */
-#
-# define BOOST_PP_ARRAY_INSERT(array, i, elem) BOOST_PP_ARRAY_INSERT_I(BOOST_PP_DEDUCE_D(), array, i, elem)
-# define BOOST_PP_ARRAY_INSERT_I(d, array, i, elem) BOOST_PP_ARRAY_INSERT_D(d, array, i, elem)
-#
-# /* BOOST_PP_ARRAY_INSERT_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_INSERT_D(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_INSERT_P, BOOST_PP_ARRAY_INSERT_O, (0, i, elem, (0, ()), array)))
-# else
-#    define BOOST_PP_ARRAY_INSERT_D(d, array, i, elem) BOOST_PP_ARRAY_INSERT_D_I(d, array, i, elem)
-#    define BOOST_PP_ARRAY_INSERT_D_I(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_INSERT_P, BOOST_PP_ARRAY_INSERT_O, (0, i, elem, (0, ()), array)))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ARRAY_INSERT_P(d, state) BOOST_PP_ARRAY_INSERT_P_I state
-# else
-#    define BOOST_PP_ARRAY_INSERT_P(d, state) BOOST_PP_ARRAY_INSERT_P_I(nil, nil, nil, BOOST_PP_TUPLE_ELEM(5, 3, state), BOOST_PP_TUPLE_ELEM(5, 4, state))
-# endif
-#
-# define BOOST_PP_ARRAY_INSERT_P_I(_i, _ii, _iii, res, arr) BOOST_PP_NOT_EQUAL(BOOST_PP_ARRAY_SIZE(res), BOOST_PP_INC(BOOST_PP_ARRAY_SIZE(arr)))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ARRAY_INSERT_O(d, state) BOOST_PP_ARRAY_INSERT_O_I state
-# else
-#    define BOOST_PP_ARRAY_INSERT_O(d, state) BOOST_PP_ARRAY_INSERT_O_I(BOOST_PP_TUPLE_ELEM(5, 0, state), BOOST_PP_TUPLE_ELEM(5, 1, state), BOOST_PP_TUPLE_ELEM(5, 2, state), BOOST_PP_TUPLE_ELEM(5, 3, state), BOOST_PP_TUPLE_ELEM(5, 4, state))
-# endif
-#
-# define BOOST_PP_ARRAY_INSERT_O_I(n, i, elem, res, arr) (BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(BOOST_PP_ARRAY_SIZE(res), i), BOOST_PP_INC(n), n), i, elem, BOOST_PP_ARRAY_PUSH_BACK(res, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(BOOST_PP_ARRAY_SIZE(res), i), BOOST_PP_ARRAY_ELEM(n, arr), elem)), arr)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/array/pop_back.hpp b/SRC/Boost/boost/preprocessor/array/pop_back.hpp
deleted file mode 100755
index 81cd1e0..0000000
--- a/SRC/Boost/boost/preprocessor/array/pop_back.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_POP_BACK_HPP
-# define BOOST_PREPROCESSOR_ARRAY_POP_BACK_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/array/elem.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/repetition/enum.hpp>
-# include <boost/preprocessor/repetition/deduce_z.hpp>
-#
-# /* BOOST_PP_ARRAY_POP_BACK */
-#
-# define BOOST_PP_ARRAY_POP_BACK(array) BOOST_PP_ARRAY_POP_BACK_Z(BOOST_PP_DEDUCE_Z(), array)
-#
-# /* BOOST_PP_ARRAY_POP_BACK_Z */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_POP_BACK_Z(z, array) BOOST_PP_ARRAY_POP_BACK_I(z, BOOST_PP_ARRAY_SIZE(array), array)
-# else
-#    define BOOST_PP_ARRAY_POP_BACK_Z(z, array) BOOST_PP_ARRAY_POP_BACK_Z_D(z, array)
-#    define BOOST_PP_ARRAY_POP_BACK_Z_D(z, array) BOOST_PP_ARRAY_POP_BACK_I(z, BOOST_PP_ARRAY_SIZE(array), array)
-# endif
-#
-# define BOOST_PP_ARRAY_POP_BACK_I(z, size, array) (BOOST_PP_DEC(size), (BOOST_PP_ENUM_ ## z(BOOST_PP_DEC(size), BOOST_PP_ARRAY_POP_BACK_M, array)))
-# define BOOST_PP_ARRAY_POP_BACK_M(z, n, data) BOOST_PP_ARRAY_ELEM(n, data)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/array/pop_front.hpp b/SRC/Boost/boost/preprocessor/array/pop_front.hpp
deleted file mode 100755
index 2c38ce6..0000000
--- a/SRC/Boost/boost/preprocessor/array/pop_front.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_POP_FRONT_HPP
-# define BOOST_PREPROCESSOR_ARRAY_POP_FRONT_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/array/elem.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/repetition/enum.hpp>
-# include <boost/preprocessor/repetition/deduce_z.hpp>
-#
-# /* BOOST_PP_ARRAY_POP_FRONT */
-#
-# define BOOST_PP_ARRAY_POP_FRONT(array) BOOST_PP_ARRAY_POP_FRONT_Z(BOOST_PP_DEDUCE_Z(), array)
-#
-# /* BOOST_PP_ARRAY_POP_FRONT_Z */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_POP_FRONT_Z(z, array) BOOST_PP_ARRAY_POP_FRONT_I(z, BOOST_PP_ARRAY_SIZE(array), array)
-# else
-#    define BOOST_PP_ARRAY_POP_FRONT_Z(z, array) BOOST_PP_ARRAY_POP_FRONT_Z_D(z, array)
-#    define BOOST_PP_ARRAY_POP_FRONT_Z_D(z, array) BOOST_PP_ARRAY_POP_FRONT_I(z, BOOST_PP_ARRAY_SIZE(array), array)
-# endif
-#
-# define BOOST_PP_ARRAY_POP_FRONT_I(z, size, array) (BOOST_PP_DEC(size), (BOOST_PP_ENUM_ ## z(BOOST_PP_DEC(size), BOOST_PP_ARRAY_POP_FRONT_M, array)))
-# define BOOST_PP_ARRAY_POP_FRONT_M(z, n, data) BOOST_PP_ARRAY_ELEM(BOOST_PP_INC(n), data)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/array/push_back.hpp b/SRC/Boost/boost/preprocessor/array/push_back.hpp
deleted file mode 100755
index 78dfea6..0000000
--- a/SRC/Boost/boost/preprocessor/array/push_back.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_PUSH_BACK_HPP
-# define BOOST_PREPROCESSOR_ARRAY_PUSH_BACK_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/array/data.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ARRAY_PUSH_BACK */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_PUSH_BACK(array, elem) BOOST_PP_ARRAY_PUSH_BACK_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
-# else
-#    define BOOST_PP_ARRAY_PUSH_BACK(array, elem) BOOST_PP_ARRAY_PUSH_BACK_D(array, elem)
-#    define BOOST_PP_ARRAY_PUSH_BACK_D(array, elem) BOOST_PP_ARRAY_PUSH_BACK_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
-# endif
-#
-# define BOOST_PP_ARRAY_PUSH_BACK_I(size, data, elem) (BOOST_PP_INC(size), (BOOST_PP_TUPLE_REM(size) data BOOST_PP_COMMA_IF(size) elem))
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/array/push_front.hpp b/SRC/Boost/boost/preprocessor/array/push_front.hpp
deleted file mode 100755
index 8493bcc..0000000
--- a/SRC/Boost/boost/preprocessor/array/push_front.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_PUSH_FRONT_HPP
-# define BOOST_PREPROCESSOR_ARRAY_PUSH_FRONT_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/array/data.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ARRAY_PUSH_FRONT */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_PUSH_FRONT(array, elem) BOOST_PP_ARRAY_PUSH_FRONT_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
-# else
-#    define BOOST_PP_ARRAY_PUSH_FRONT(array, elem) BOOST_PP_ARRAY_PUSH_FRONT_D(array, elem)
-#    define BOOST_PP_ARRAY_PUSH_FRONT_D(array, elem) BOOST_PP_ARRAY_PUSH_FRONT_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
-# endif
-#
-# define BOOST_PP_ARRAY_PUSH_FRONT_I(size, data, elem) (BOOST_PP_INC(size), (elem BOOST_PP_COMMA_IF(size) BOOST_PP_TUPLE_REM(size) data))
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/array/remove.hpp b/SRC/Boost/boost/preprocessor/array/remove.hpp
deleted file mode 100755
index a7ae78d..0000000
--- a/SRC/Boost/boost/preprocessor/array/remove.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_REMOVE_HPP
-# define BOOST_PREPROCESSOR_ARRAY_REMOVE_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/array/elem.hpp>
-# include <boost/preprocessor/array/push_back.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/comparison/not_equal.hpp>
-# include <boost/preprocessor/control/deduce_d.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ARRAY_REMOVE */
-#
-# define BOOST_PP_ARRAY_REMOVE(array, i) BOOST_PP_ARRAY_REMOVE_I(BOOST_PP_DEDUCE_D(), array, i)
-# define BOOST_PP_ARRAY_REMOVE_I(d, array, i) BOOST_PP_ARRAY_REMOVE_D(d, array, i)
-#
-# /* BOOST_PP_ARRAY_REMOVE_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_REMOVE_D(d, array, i) BOOST_PP_TUPLE_ELEM(4, 2, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REMOVE_P, BOOST_PP_ARRAY_REMOVE_O, (0, i, (0, ()), array)))
-# else
-#    define BOOST_PP_ARRAY_REMOVE_D(d, array, i) BOOST_PP_ARRAY_REMOVE_D_I(d, array, i)
-#    define BOOST_PP_ARRAY_REMOVE_D_I(d, array, i) BOOST_PP_TUPLE_ELEM(4, 2, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REMOVE_P, BOOST_PP_ARRAY_REMOVE_O, (0, i, (0, ()), array)))
-# endif
-#
-# define BOOST_PP_ARRAY_REMOVE_P(d, st) BOOST_PP_NOT_EQUAL(BOOST_PP_TUPLE_ELEM(4, 0, st), BOOST_PP_ARRAY_SIZE(BOOST_PP_TUPLE_ELEM(4, 3, st)))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ARRAY_REMOVE_O(d, st) BOOST_PP_ARRAY_REMOVE_O_I st
-# else
-#    define BOOST_PP_ARRAY_REMOVE_O(d, st) BOOST_PP_ARRAY_REMOVE_O_I(BOOST_PP_TUPLE_ELEM(4, 0, st), BOOST_PP_TUPLE_ELEM(4, 1, st), BOOST_PP_TUPLE_ELEM(4, 2, st), BOOST_PP_TUPLE_ELEM(4, 3, st))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#    define BOOST_PP_ARRAY_REMOVE_O_I(n, i, res, arr) (BOOST_PP_INC(n), i, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(n, i), BOOST_PP_ARRAY_PUSH_BACK, res BOOST_PP_TUPLE_EAT_2)(res, BOOST_PP_ARRAY_ELEM(n, arr)), arr)
-# else
-#    define BOOST_PP_ARRAY_REMOVE_O_I(n, i, res, arr) (BOOST_PP_INC(n), i, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(n, i), BOOST_PP_ARRAY_PUSH_BACK, BOOST_PP_TUPLE_ELEM_2_0)(res, BOOST_PP_ARRAY_ELEM(n, arr)), arr)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/array/replace.hpp b/SRC/Boost/boost/preprocessor/array/replace.hpp
deleted file mode 100755
index b969113..0000000
--- a/SRC/Boost/boost/preprocessor/array/replace.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_REPLACE_HPP
-# define BOOST_PREPROCESSOR_ARRAY_REPLACE_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/array/elem.hpp>
-# include <boost/preprocessor/array/push_back.hpp>
-# include <boost/preprocessor/comparison/not_equal.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/deduce_d.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ARRAY_REPLACE */
-#
-# define BOOST_PP_ARRAY_REPLACE(array, i, elem) BOOST_PP_ARRAY_REPLACE_I(BOOST_PP_DEDUCE_D(), array, i, elem)
-# define BOOST_PP_ARRAY_REPLACE_I(d, array, i, elem) BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem)
-#
-# /* BOOST_PP_ARRAY_REPLACE_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REPLACE_P, BOOST_PP_ARRAY_REPLACE_O, (0, i, elem, (0, ()), array)))
-# else
-#    define BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem) BOOST_PP_ARRAY_REPLACE_D_I(d, array, i, elem)
-#    define BOOST_PP_ARRAY_REPLACE_D_I(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REPLACE_P, BOOST_PP_ARRAY_REPLACE_O, (0, i, elem, (0, ()), array)))
-# endif
-#
-# define BOOST_PP_ARRAY_REPLACE_P(d, state) BOOST_PP_NOT_EQUAL(BOOST_PP_TUPLE_ELEM(5, 0, state), BOOST_PP_ARRAY_SIZE(BOOST_PP_TUPLE_ELEM(5, 4, state)))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ARRAY_REPLACE_O(d, state) BOOST_PP_ARRAY_REPLACE_O_I state
-# else
-#    define BOOST_PP_ARRAY_REPLACE_O(d, state) BOOST_PP_ARRAY_REPLACE_O_I(BOOST_PP_TUPLE_ELEM(5, 0, state), BOOST_PP_TUPLE_ELEM(5, 1, state), BOOST_PP_TUPLE_ELEM(5, 2, state), BOOST_PP_TUPLE_ELEM(5, 3, state), BOOST_PP_TUPLE_ELEM(5, 4, state))
-# endif
-#
-# define BOOST_PP_ARRAY_REPLACE_O_I(n, i, elem, res, arr) (BOOST_PP_INC(n), i, elem, BOOST_PP_ARRAY_PUSH_BACK(res, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(n, i), BOOST_PP_ARRAY_ELEM(n, arr), elem)), arr)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/array/reverse.hpp b/SRC/Boost/boost/preprocessor/array/reverse.hpp
deleted file mode 100755
index 3c24ce3..0000000
--- a/SRC/Boost/boost/preprocessor/array/reverse.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_REVERSE_HPP
-# define BOOST_PREPROCESSOR_ARRAY_REVERSE_HPP
-#
-# include <boost/preprocessor/array/data.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/reverse.hpp>
-#
-# /* BOOST_PP_ARRAY_REVERSE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_REVERSE(array) (BOOST_PP_ARRAY_SIZE(array), BOOST_PP_TUPLE_REVERSE(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array)))
-# else
-#    define BOOST_PP_ARRAY_REVERSE(array) BOOST_PP_ARRAY_REVERSE_I(array)
-#    define BOOST_PP_ARRAY_REVERSE_I(array) (BOOST_PP_ARRAY_SIZE(array), BOOST_PP_TUPLE_REVERSE(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array)))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/array/size.hpp b/SRC/Boost/boost/preprocessor/array/size.hpp
deleted file mode 100755
index d3d50ee..0000000
--- a/SRC/Boost/boost/preprocessor/array/size.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_SIZE_HPP
-# define BOOST_PREPROCESSOR_ARRAY_SIZE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ARRAY_SIZE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_TUPLE_ELEM(2, 0, array)
-# else
-#    define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_ARRAY_SIZE_I(array)
-#    define BOOST_PP_ARRAY_SIZE_I(array) BOOST_PP_ARRAY_SIZE_II array
-#    define BOOST_PP_ARRAY_SIZE_II(size, data) size
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/cat.hpp b/SRC/Boost/boost/preprocessor/cat.hpp
deleted file mode 100755
index 804d4d5..0000000
--- a/SRC/Boost/boost/preprocessor/cat.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CAT_HPP
-# define BOOST_PREPROCESSOR_CAT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_CAT */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
-# else
-#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_OO((a, b))
-#    define BOOST_PP_CAT_OO(par) BOOST_PP_CAT_I ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_CAT_I(a, b) a ## b
-# else
-#    define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(a ## b)
-#    define BOOST_PP_CAT_II(res) res
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/comma_if.hpp b/SRC/Boost/boost/preprocessor/comma_if.hpp
deleted file mode 100755
index c629e1b..0000000
--- a/SRC/Boost/boost/preprocessor/comma_if.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
-# define BOOST_PREPROCESSOR_COMMA_IF_HPP
-#
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/comparison.hpp b/SRC/Boost/boost/preprocessor/comparison.hpp
deleted file mode 100755
index 5a0e751..0000000
--- a/SRC/Boost/boost/preprocessor/comparison.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_COMPARISON_HPP
-# define BOOST_PREPROCESSOR_COMPARISON_HPP
-#
-# include <boost/preprocessor/comparison/equal.hpp>
-# include <boost/preprocessor/comparison/greater.hpp>
-# include <boost/preprocessor/comparison/greater_equal.hpp>
-# include <boost/preprocessor/comparison/less.hpp>
-# include <boost/preprocessor/comparison/less_equal.hpp>
-# include <boost/preprocessor/comparison/not_equal.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/comparison/equal.hpp b/SRC/Boost/boost/preprocessor/comparison/equal.hpp
deleted file mode 100755
index 5387e01..0000000
--- a/SRC/Boost/boost/preprocessor/comparison/equal.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
-# define BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
-#
-# include <boost/preprocessor/comparison/not_equal.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/logical/compl.hpp>
-#
-# /* BOOST_PP_EQUAL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_EQUAL(x, y) BOOST_PP_COMPL(BOOST_PP_NOT_EQUAL(x, y))
-# else
-#    define BOOST_PP_EQUAL(x, y) BOOST_PP_EQUAL_I(x, y)
-#    define BOOST_PP_EQUAL_I(x, y) BOOST_PP_COMPL(BOOST_PP_NOT_EQUAL(x, y))
-# endif
-#
-# /* BOOST_PP_EQUAL_D */
-#
-# define BOOST_PP_EQUAL_D(d, x, y) BOOST_PP_EQUAL(x, y)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/comparison/greater.hpp b/SRC/Boost/boost/preprocessor/comparison/greater.hpp
deleted file mode 100755
index c0ef4bc..0000000
--- a/SRC/Boost/boost/preprocessor/comparison/greater.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP
-# define BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP
-#
-# include <boost/preprocessor/comparison/less.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_GREATER */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_GREATER(x, y) BOOST_PP_LESS(y, x)
-# else
-#    define BOOST_PP_GREATER(x, y) BOOST_PP_GREATER_I(x, y)
-#    define BOOST_PP_GREATER_I(x, y) BOOST_PP_LESS(y, x)
-# endif
-#
-# /* BOOST_PP_GREATER_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_GREATER_D(d, x, y) BOOST_PP_LESS_D(d, y, x)
-# else
-#    define BOOST_PP_GREATER_D(d, x, y) BOOST_PP_GREATER_D_I(d, x, y)
-#    define BOOST_PP_GREATER_D_I(d, x, y) BOOST_PP_LESS_D(d, y, x)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/comparison/greater_equal.hpp b/SRC/Boost/boost/preprocessor/comparison/greater_equal.hpp
deleted file mode 100755
index 8855cef..0000000
--- a/SRC/Boost/boost/preprocessor/comparison/greater_equal.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP
-# define BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP
-#
-# include <boost/preprocessor/comparison/less_equal.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_GREATER_EQUAL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_GREATER_EQUAL(x, y) BOOST_PP_LESS_EQUAL(y, x)
-# else
-#    define BOOST_PP_GREATER_EQUAL(x, y) BOOST_PP_GREATER_EQUAL_I(x, y)
-#    define BOOST_PP_GREATER_EQUAL_I(x, y) BOOST_PP_LESS_EQUAL(y, x)
-# endif
-#
-# /* BOOST_PP_GREATER_EQUAL_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_GREATER_EQUAL_D(d, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x)
-# else
-#    define BOOST_PP_GREATER_EQUAL_D(d, x, y) BOOST_PP_GREATER_EQUAL_D_I(d, x, y)
-#    define BOOST_PP_GREATER_EQUAL_D_I(d, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/comparison/less.hpp b/SRC/Boost/boost/preprocessor/comparison/less.hpp
deleted file mode 100755
index ed071c4..0000000
--- a/SRC/Boost/boost/preprocessor/comparison/less.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
-# define BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
-#
-# include <boost/preprocessor/comparison/less_equal.hpp>
-# include <boost/preprocessor/comparison/not_equal.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/bitand.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# /* BOOST_PP_LESS */
-#
-# if BOOST_PP_CONFIG_FLAGS() & (BOOST_PP_CONFIG_MWCC() | BOOST_PP_CONFIG_DMC())
-#    define BOOST_PP_LESS(x, y) BOOST_PP_BITAND(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL(x, y))
-# elif ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LESS(x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL, 0 BOOST_PP_TUPLE_EAT_2)(x, y)
-# else
-#    define BOOST_PP_LESS(x, y) BOOST_PP_LESS_I(x, y)
-#    define BOOST_PP_LESS_I(x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL, 0 BOOST_PP_TUPLE_EAT_2)(x, y)
-# endif
-#
-# /* BOOST_PP_LESS_D */
-#
-# if BOOST_PP_CONFIG_FLAGS() & (BOOST_PP_CONFIG_MWCC() | BOOST_PP_CONFIG_DMC())
-#    define BOOST_PP_LESS_D(d, x, y) BOOST_PP_BITAND(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL_D(d, x, y))
-# elif ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LESS_D(d, x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL_D, 0 BOOST_PP_TUPLE_EAT_3)(d, x, y)
-# else
-#    define BOOST_PP_LESS_D(d, x, y) BOOST_PP_LESS_D_I(d, x, y)
-#    define BOOST_PP_LESS_D_I(d, x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL_D, 0 BOOST_PP_TUPLE_EAT_3)(d, x, y)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/comparison/less_equal.hpp b/SRC/Boost/boost/preprocessor/comparison/less_equal.hpp
deleted file mode 100755
index 649efd2..0000000
--- a/SRC/Boost/boost/preprocessor/comparison/less_equal.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
-# define BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
-#
-# include <boost/preprocessor/arithmetic/sub.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/logical/not.hpp>
-#
-# /* BOOST_PP_LESS_EQUAL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LESS_EQUAL(x, y) BOOST_PP_NOT(BOOST_PP_SUB(x, y))
-# else
-#    define BOOST_PP_LESS_EQUAL(x, y) BOOST_PP_LESS_EQUAL_I(x, y)
-#    define BOOST_PP_LESS_EQUAL_I(x, y) BOOST_PP_NOT(BOOST_PP_SUB(x, y))
-# endif
-#
-# /* BOOST_PP_LESS_EQUAL_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LESS_EQUAL_D(d, x, y) BOOST_PP_NOT(BOOST_PP_SUB_D(d, x, y))
-# else
-#    define BOOST_PP_LESS_EQUAL_D(d, x, y) BOOST_PP_LESS_EQUAL_D_I(d, x, y)
-#    define BOOST_PP_LESS_EQUAL_D_I(d, x, y) BOOST_PP_NOT(BOOST_PP_SUB_D(d, x, y))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/comparison/not_equal.hpp b/SRC/Boost/boost/preprocessor/comparison/not_equal.hpp
deleted file mode 100755
index e12b899..0000000
--- a/SRC/Boost/boost/preprocessor/comparison/not_equal.hpp
+++ /dev/null
@@ -1,814 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
-# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-#
-# /* BOOST_PP_NOT_EQUAL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_I(x, y)
-# else
-#    define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_OO((x, y))
-#    define BOOST_PP_NOT_EQUAL_OO(par) BOOST_PP_NOT_EQUAL_I ## par
-# endif
-#
-# define BOOST_PP_NOT_EQUAL_I(x, y) BOOST_PP_CAT(BOOST_PP_NOT_EQUAL_CHECK_, BOOST_PP_NOT_EQUAL_ ## x(0, BOOST_PP_NOT_EQUAL_ ## y))
-#
-# /* BOOST_PP_NOT_EQUAL_D */
-#
-# define BOOST_PP_NOT_EQUAL_D(d, x, y) BOOST_PP_NOT_EQUAL(x, y)
-#
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NIL 1
-#
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_0(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_2(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_3(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_4(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_5(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_6(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_7(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_8(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_9(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_10(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_11(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_12(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_13(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_14(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_15(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_16(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_17(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_18(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_19(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_20(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_21(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_22(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_23(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_24(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_25(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_26(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_27(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_28(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_29(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_30(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_31(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_32(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_33(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_34(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_35(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_36(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_37(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_38(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_39(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_40(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_41(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_42(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_43(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_44(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_45(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_46(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_47(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_48(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_49(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_50(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_51(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_52(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_53(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_54(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_55(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_56(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_57(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_58(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_59(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_60(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_61(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_62(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_63(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_64(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_65(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_66(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_67(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_68(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_69(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_70(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_71(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_72(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_73(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_74(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_75(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_76(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_77(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_78(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_79(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_80(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_81(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_82(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_83(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_84(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_85(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_86(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_87(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_88(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_89(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_90(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_91(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_92(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_93(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_94(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_95(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_96(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_97(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_98(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_99(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_100(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_101(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_102(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_103(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_104(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_105(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_106(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_107(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_108(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_109(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_110(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_111(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_112(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_113(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_114(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_115(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_116(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_117(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_118(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_119(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_120(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_121(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_122(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_123(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_124(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_125(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_126(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_127(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_128(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_129(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_130(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_131(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_132(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_133(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_134(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_135(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_136(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_137(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_138(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_139(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_140(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_141(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_142(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_143(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_144(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_145(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_146(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_147(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_148(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_149(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_150(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_151(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_152(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_153(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_154(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_155(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_156(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_157(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_158(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_159(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_160(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_161(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_162(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_163(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_164(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_165(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_166(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_167(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_168(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_169(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_170(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_171(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_172(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_173(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_174(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_175(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_176(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_177(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_178(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_179(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_180(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_181(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_182(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_183(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_184(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_185(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_186(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_187(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_188(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_189(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_190(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_191(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_192(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_193(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_194(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_195(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_196(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_197(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_198(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_199(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_200(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_201(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_202(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_203(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_204(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_205(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_206(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_207(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_208(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_209(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_210(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_211(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_212(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_213(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_214(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_215(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_216(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_217(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_218(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_219(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_220(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_221(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_222(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_223(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_224(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_225(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_226(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_227(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_228(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_229(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_230(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_231(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_232(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_233(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_234(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_235(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_236(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_237(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_238(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_239(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_240(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_241(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_242(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_243(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_244(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_245(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_246(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_247(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_248(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_249(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_250(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_251(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_252(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_253(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_254(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_255(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_256(c, y) 0
-#
-#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#    define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# else
-#    define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-#    define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/config/config.hpp b/SRC/Boost/boost/preprocessor/config/config.hpp
deleted file mode 100755
index dd4396a..0000000
--- a/SRC/Boost/boost/preprocessor/config/config.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP
-# define BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP
-#
-# /* BOOST_PP_CONFIG_FLAGS */
-#
-# define BOOST_PP_CONFIG_STRICT() 0x0001
-# define BOOST_PP_CONFIG_IDEAL() 0x0002
-#
-# define BOOST_PP_CONFIG_MSVC() 0x0004
-# define BOOST_PP_CONFIG_MWCC() 0x0008
-# define BOOST_PP_CONFIG_BCC() 0x0010
-# define BOOST_PP_CONFIG_EDG() 0x0020
-# define BOOST_PP_CONFIG_DMC() 0x0040
-#
-# ifndef BOOST_PP_CONFIG_FLAGS
-#    if defined(__GCCXML__)
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
-#    elif defined(__WAVE__)
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
-#    elif defined(__MWERKS__) && __MWERKS__ >= 0x3200
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
-#    elif defined(__EDG__) || defined(__EDG_VERSION__)
-#        if defined(_MSC_VER) && __EDG_VERSION__ >= 308
-#            define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
-#        else
-#            define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_EDG() | BOOST_PP_CONFIG_STRICT())
-#        endif
-#    elif defined(__MWERKS__)
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MWCC())
-#    elif defined(__DMC__)
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_DMC())
-#    elif defined(__BORLANDC__) && __BORLANDC__ >= 0x581
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
-#    elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC)
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC())
-#    elif defined(_MSC_VER)
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
-#    else
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
-#    endif
-# endif
-#
-# /* BOOST_PP_CONFIG_EXTENDED_LINE_INFO */
-#
-# ifndef BOOST_PP_CONFIG_EXTENDED_LINE_INFO
-#    define BOOST_PP_CONFIG_EXTENDED_LINE_INFO 0
-# endif
-#
-# /* BOOST_PP_CONFIG_ERRORS */
-#
-# ifndef BOOST_PP_CONFIG_ERRORS
-#    ifdef NDEBUG
-#        define BOOST_PP_CONFIG_ERRORS 0
-#    else
-#        define BOOST_PP_CONFIG_ERRORS 1
-#    endif
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/config/limits.hpp b/SRC/Boost/boost/preprocessor/config/limits.hpp
deleted file mode 100755
index db790fa..0000000
--- a/SRC/Boost/boost/preprocessor/config/limits.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP
-# define BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP
-#
-# define BOOST_PP_LIMIT_MAG 256
-# define BOOST_PP_LIMIT_TUPLE 25
-# define BOOST_PP_LIMIT_DIM 3
-# define BOOST_PP_LIMIT_REPEAT 256
-# define BOOST_PP_LIMIT_WHILE 256
-# define BOOST_PP_LIMIT_FOR 256
-# define BOOST_PP_LIMIT_ITERATION 256
-# define BOOST_PP_LIMIT_ITERATION_DIM 3
-# define BOOST_PP_LIMIT_SEQ 256
-# define BOOST_PP_LIMIT_SLOT_SIG 10
-# define BOOST_PP_LIMIT_SLOT_COUNT 5
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/control.hpp b/SRC/Boost/boost/preprocessor/control.hpp
deleted file mode 100755
index 8070bff..0000000
--- a/SRC/Boost/boost/preprocessor/control.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_HPP
-# define BOOST_PREPROCESSOR_CONTROL_HPP
-#
-# include <boost/preprocessor/control/deduce_d.hpp>
-# include <boost/preprocessor/control/expr_if.hpp>
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/control/while.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/control/deduce_d.hpp b/SRC/Boost/boost/preprocessor/control/deduce_d.hpp
deleted file mode 100755
index 0a8ada9..0000000
--- a/SRC/Boost/boost/preprocessor/control/deduce_d.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_DEDUCE_D_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DEDUCE_D_HPP
-#
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-#
-# /* BOOST_PP_DEDUCE_D */
-#
-# define BOOST_PP_DEDUCE_D() BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/control/detail/dmc/while.hpp b/SRC/Boost/boost/preprocessor/control/detail/dmc/while.hpp
deleted file mode 100755
index 8ed571a..0000000
--- a/SRC/Boost/boost/preprocessor/control/detail/dmc/while.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
-#
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p##(2, s)), p, o, s)
-# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p##(3, s)), p, o, s)
-# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p##(4, s)), p, o, s)
-# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p##(5, s)), p, o, s)
-# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p##(6, s)), p, o, s)
-# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p##(7, s)), p, o, s)
-# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p##(8, s)), p, o, s)
-# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p##(9, s)), p, o, s)
-# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p##(10, s)), p, o, s)
-# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p##(11, s)), p, o, s)
-# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p##(12, s)), p, o, s)
-# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p##(13, s)), p, o, s)
-# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p##(14, s)), p, o, s)
-# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p##(15, s)), p, o, s)
-# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p##(16, s)), p, o, s)
-# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p##(17, s)), p, o, s)
-# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p##(18, s)), p, o, s)
-# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p##(19, s)), p, o, s)
-# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p##(20, s)), p, o, s)
-# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p##(21, s)), p, o, s)
-# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p##(22, s)), p, o, s)
-# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p##(23, s)), p, o, s)
-# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p##(24, s)), p, o, s)
-# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p##(25, s)), p, o, s)
-# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p##(26, s)), p, o, s)
-# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p##(27, s)), p, o, s)
-# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p##(28, s)), p, o, s)
-# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p##(29, s)), p, o, s)
-# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p##(30, s)), p, o, s)
-# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p##(31, s)), p, o, s)
-# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p##(32, s)), p, o, s)
-# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p##(33, s)), p, o, s)
-# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p##(34, s)), p, o, s)
-# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p##(35, s)), p, o, s)
-# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p##(36, s)), p, o, s)
-# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p##(37, s)), p, o, s)
-# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p##(38, s)), p, o, s)
-# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p##(39, s)), p, o, s)
-# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p##(40, s)), p, o, s)
-# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p##(41, s)), p, o, s)
-# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p##(42, s)), p, o, s)
-# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p##(43, s)), p, o, s)
-# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p##(44, s)), p, o, s)
-# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p##(45, s)), p, o, s)
-# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p##(46, s)), p, o, s)
-# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p##(47, s)), p, o, s)
-# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p##(48, s)), p, o, s)
-# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p##(49, s)), p, o, s)
-# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p##(50, s)), p, o, s)
-# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p##(51, s)), p, o, s)
-# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p##(52, s)), p, o, s)
-# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p##(53, s)), p, o, s)
-# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p##(54, s)), p, o, s)
-# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p##(55, s)), p, o, s)
-# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p##(56, s)), p, o, s)
-# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p##(57, s)), p, o, s)
-# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p##(58, s)), p, o, s)
-# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p##(59, s)), p, o, s)
-# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p##(60, s)), p, o, s)
-# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p##(61, s)), p, o, s)
-# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p##(62, s)), p, o, s)
-# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p##(63, s)), p, o, s)
-# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p##(64, s)), p, o, s)
-# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p##(65, s)), p, o, s)
-# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p##(66, s)), p, o, s)
-# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p##(67, s)), p, o, s)
-# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p##(68, s)), p, o, s)
-# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p##(69, s)), p, o, s)
-# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p##(70, s)), p, o, s)
-# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p##(71, s)), p, o, s)
-# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p##(72, s)), p, o, s)
-# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p##(73, s)), p, o, s)
-# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p##(74, s)), p, o, s)
-# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p##(75, s)), p, o, s)
-# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p##(76, s)), p, o, s)
-# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p##(77, s)), p, o, s)
-# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p##(78, s)), p, o, s)
-# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p##(79, s)), p, o, s)
-# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p##(80, s)), p, o, s)
-# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p##(81, s)), p, o, s)
-# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p##(82, s)), p, o, s)
-# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p##(83, s)), p, o, s)
-# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p##(84, s)), p, o, s)
-# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p##(85, s)), p, o, s)
-# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p##(86, s)), p, o, s)
-# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p##(87, s)), p, o, s)
-# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p##(88, s)), p, o, s)
-# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p##(89, s)), p, o, s)
-# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p##(90, s)), p, o, s)
-# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p##(91, s)), p, o, s)
-# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p##(92, s)), p, o, s)
-# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p##(93, s)), p, o, s)
-# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p##(94, s)), p, o, s)
-# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p##(95, s)), p, o, s)
-# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p##(96, s)), p, o, s)
-# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p##(97, s)), p, o, s)
-# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p##(98, s)), p, o, s)
-# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p##(99, s)), p, o, s)
-# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p##(100, s)), p, o, s)
-# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p##(101, s)), p, o, s)
-# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p##(102, s)), p, o, s)
-# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p##(103, s)), p, o, s)
-# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p##(104, s)), p, o, s)
-# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p##(105, s)), p, o, s)
-# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p##(106, s)), p, o, s)
-# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p##(107, s)), p, o, s)
-# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p##(108, s)), p, o, s)
-# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p##(109, s)), p, o, s)
-# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p##(110, s)), p, o, s)
-# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p##(111, s)), p, o, s)
-# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p##(112, s)), p, o, s)
-# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p##(113, s)), p, o, s)
-# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p##(114, s)), p, o, s)
-# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p##(115, s)), p, o, s)
-# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p##(116, s)), p, o, s)
-# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p##(117, s)), p, o, s)
-# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p##(118, s)), p, o, s)
-# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p##(119, s)), p, o, s)
-# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p##(120, s)), p, o, s)
-# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p##(121, s)), p, o, s)
-# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p##(122, s)), p, o, s)
-# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p##(123, s)), p, o, s)
-# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p##(124, s)), p, o, s)
-# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p##(125, s)), p, o, s)
-# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p##(126, s)), p, o, s)
-# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p##(127, s)), p, o, s)
-# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p##(128, s)), p, o, s)
-# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p##(129, s)), p, o, s)
-# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p##(130, s)), p, o, s)
-# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p##(131, s)), p, o, s)
-# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p##(132, s)), p, o, s)
-# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p##(133, s)), p, o, s)
-# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p##(134, s)), p, o, s)
-# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p##(135, s)), p, o, s)
-# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p##(136, s)), p, o, s)
-# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p##(137, s)), p, o, s)
-# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p##(138, s)), p, o, s)
-# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p##(139, s)), p, o, s)
-# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p##(140, s)), p, o, s)
-# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p##(141, s)), p, o, s)
-# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p##(142, s)), p, o, s)
-# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p##(143, s)), p, o, s)
-# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p##(144, s)), p, o, s)
-# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p##(145, s)), p, o, s)
-# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p##(146, s)), p, o, s)
-# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p##(147, s)), p, o, s)
-# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p##(148, s)), p, o, s)
-# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p##(149, s)), p, o, s)
-# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p##(150, s)), p, o, s)
-# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p##(151, s)), p, o, s)
-# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p##(152, s)), p, o, s)
-# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p##(153, s)), p, o, s)
-# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p##(154, s)), p, o, s)
-# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p##(155, s)), p, o, s)
-# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p##(156, s)), p, o, s)
-# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p##(157, s)), p, o, s)
-# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p##(158, s)), p, o, s)
-# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p##(159, s)), p, o, s)
-# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p##(160, s)), p, o, s)
-# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p##(161, s)), p, o, s)
-# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p##(162, s)), p, o, s)
-# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p##(163, s)), p, o, s)
-# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p##(164, s)), p, o, s)
-# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p##(165, s)), p, o, s)
-# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p##(166, s)), p, o, s)
-# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p##(167, s)), p, o, s)
-# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p##(168, s)), p, o, s)
-# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p##(169, s)), p, o, s)
-# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p##(170, s)), p, o, s)
-# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p##(171, s)), p, o, s)
-# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p##(172, s)), p, o, s)
-# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p##(173, s)), p, o, s)
-# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p##(174, s)), p, o, s)
-# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p##(175, s)), p, o, s)
-# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p##(176, s)), p, o, s)
-# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p##(177, s)), p, o, s)
-# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p##(178, s)), p, o, s)
-# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p##(179, s)), p, o, s)
-# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p##(180, s)), p, o, s)
-# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p##(181, s)), p, o, s)
-# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p##(182, s)), p, o, s)
-# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p##(183, s)), p, o, s)
-# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p##(184, s)), p, o, s)
-# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p##(185, s)), p, o, s)
-# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p##(186, s)), p, o, s)
-# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p##(187, s)), p, o, s)
-# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p##(188, s)), p, o, s)
-# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p##(189, s)), p, o, s)
-# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p##(190, s)), p, o, s)
-# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p##(191, s)), p, o, s)
-# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p##(192, s)), p, o, s)
-# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p##(193, s)), p, o, s)
-# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p##(194, s)), p, o, s)
-# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p##(195, s)), p, o, s)
-# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p##(196, s)), p, o, s)
-# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p##(197, s)), p, o, s)
-# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p##(198, s)), p, o, s)
-# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p##(199, s)), p, o, s)
-# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p##(200, s)), p, o, s)
-# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p##(201, s)), p, o, s)
-# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p##(202, s)), p, o, s)
-# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p##(203, s)), p, o, s)
-# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p##(204, s)), p, o, s)
-# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p##(205, s)), p, o, s)
-# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p##(206, s)), p, o, s)
-# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p##(207, s)), p, o, s)
-# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p##(208, s)), p, o, s)
-# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p##(209, s)), p, o, s)
-# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p##(210, s)), p, o, s)
-# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p##(211, s)), p, o, s)
-# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p##(212, s)), p, o, s)
-# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p##(213, s)), p, o, s)
-# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p##(214, s)), p, o, s)
-# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p##(215, s)), p, o, s)
-# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p##(216, s)), p, o, s)
-# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p##(217, s)), p, o, s)
-# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p##(218, s)), p, o, s)
-# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p##(219, s)), p, o, s)
-# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p##(220, s)), p, o, s)
-# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p##(221, s)), p, o, s)
-# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p##(222, s)), p, o, s)
-# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p##(223, s)), p, o, s)
-# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p##(224, s)), p, o, s)
-# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p##(225, s)), p, o, s)
-# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p##(226, s)), p, o, s)
-# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p##(227, s)), p, o, s)
-# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p##(228, s)), p, o, s)
-# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p##(229, s)), p, o, s)
-# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p##(230, s)), p, o, s)
-# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p##(231, s)), p, o, s)
-# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p##(232, s)), p, o, s)
-# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p##(233, s)), p, o, s)
-# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p##(234, s)), p, o, s)
-# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p##(235, s)), p, o, s)
-# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p##(236, s)), p, o, s)
-# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p##(237, s)), p, o, s)
-# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p##(238, s)), p, o, s)
-# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p##(239, s)), p, o, s)
-# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p##(240, s)), p, o, s)
-# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p##(241, s)), p, o, s)
-# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p##(242, s)), p, o, s)
-# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p##(243, s)), p, o, s)
-# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p##(244, s)), p, o, s)
-# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p##(245, s)), p, o, s)
-# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p##(246, s)), p, o, s)
-# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p##(247, s)), p, o, s)
-# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p##(248, s)), p, o, s)
-# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p##(249, s)), p, o, s)
-# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p##(250, s)), p, o, s)
-# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p##(251, s)), p, o, s)
-# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p##(252, s)), p, o, s)
-# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p##(253, s)), p, o, s)
-# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p##(254, s)), p, o, s)
-# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p##(255, s)), p, o, s)
-# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p##(256, s)), p, o, s)
-# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p##(257, s)), p, o, s)
-#
-# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(2, s))
-# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(3, s))
-# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(4, s))
-# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(5, s))
-# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(6, s))
-# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(7, s))
-# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(8, s))
-# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(9, s))
-# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(10, s))
-# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(11, s))
-# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(12, s))
-# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(13, s))
-# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(14, s))
-# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(15, s))
-# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(16, s))
-# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(17, s))
-# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(18, s))
-# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(19, s))
-# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(20, s))
-# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(21, s))
-# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(22, s))
-# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(23, s))
-# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(24, s))
-# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(25, s))
-# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(26, s))
-# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(27, s))
-# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(28, s))
-# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(29, s))
-# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(30, s))
-# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(31, s))
-# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(32, s))
-# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(33, s))
-# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(34, s))
-# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(35, s))
-# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(36, s))
-# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(37, s))
-# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(38, s))
-# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(39, s))
-# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(40, s))
-# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(41, s))
-# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(42, s))
-# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(43, s))
-# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(44, s))
-# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(45, s))
-# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(46, s))
-# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(47, s))
-# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(48, s))
-# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(49, s))
-# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(50, s))
-# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(51, s))
-# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(52, s))
-# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(53, s))
-# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(54, s))
-# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(55, s))
-# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(56, s))
-# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(57, s))
-# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(58, s))
-# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(59, s))
-# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(60, s))
-# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(61, s))
-# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(62, s))
-# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(63, s))
-# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(64, s))
-# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(65, s))
-# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(66, s))
-# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(67, s))
-# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(68, s))
-# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(69, s))
-# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(70, s))
-# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(71, s))
-# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(72, s))
-# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(73, s))
-# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(74, s))
-# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(75, s))
-# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(76, s))
-# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(77, s))
-# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(78, s))
-# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(79, s))
-# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(80, s))
-# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(81, s))
-# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(82, s))
-# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(83, s))
-# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(84, s))
-# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(85, s))
-# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(86, s))
-# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(87, s))
-# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(88, s))
-# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(89, s))
-# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(90, s))
-# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(91, s))
-# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(92, s))
-# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(93, s))
-# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(94, s))
-# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(95, s))
-# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(96, s))
-# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(97, s))
-# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(98, s))
-# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(99, s))
-# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(100, s))
-# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(101, s))
-# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(102, s))
-# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(103, s))
-# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(104, s))
-# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(105, s))
-# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(106, s))
-# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(107, s))
-# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(108, s))
-# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(109, s))
-# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(110, s))
-# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(111, s))
-# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(112, s))
-# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(113, s))
-# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(114, s))
-# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(115, s))
-# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(116, s))
-# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(117, s))
-# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(118, s))
-# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(119, s))
-# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(120, s))
-# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(121, s))
-# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(122, s))
-# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(123, s))
-# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(124, s))
-# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(125, s))
-# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(126, s))
-# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(127, s))
-# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(128, s))
-# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(129, s))
-# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(130, s))
-# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(131, s))
-# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(132, s))
-# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(133, s))
-# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(134, s))
-# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(135, s))
-# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(136, s))
-# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(137, s))
-# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(138, s))
-# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(139, s))
-# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(140, s))
-# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(141, s))
-# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(142, s))
-# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(143, s))
-# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(144, s))
-# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(145, s))
-# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(146, s))
-# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(147, s))
-# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(148, s))
-# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(149, s))
-# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(150, s))
-# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(151, s))
-# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(152, s))
-# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(153, s))
-# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(154, s))
-# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(155, s))
-# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(156, s))
-# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(157, s))
-# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(158, s))
-# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(159, s))
-# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(160, s))
-# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(161, s))
-# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(162, s))
-# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(163, s))
-# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(164, s))
-# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(165, s))
-# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(166, s))
-# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(167, s))
-# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(168, s))
-# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(169, s))
-# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(170, s))
-# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(171, s))
-# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(172, s))
-# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(173, s))
-# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(174, s))
-# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(175, s))
-# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(176, s))
-# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(177, s))
-# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(178, s))
-# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(179, s))
-# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(180, s))
-# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(181, s))
-# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(182, s))
-# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(183, s))
-# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(184, s))
-# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(185, s))
-# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(186, s))
-# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(187, s))
-# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(188, s))
-# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(189, s))
-# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(190, s))
-# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(191, s))
-# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(192, s))
-# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(193, s))
-# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(194, s))
-# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(195, s))
-# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(196, s))
-# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(197, s))
-# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(198, s))
-# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(199, s))
-# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(200, s))
-# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(201, s))
-# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(202, s))
-# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(203, s))
-# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(204, s))
-# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(205, s))
-# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(206, s))
-# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(207, s))
-# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(208, s))
-# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(209, s))
-# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(210, s))
-# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(211, s))
-# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(212, s))
-# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(213, s))
-# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(214, s))
-# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(215, s))
-# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(216, s))
-# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(217, s))
-# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(218, s))
-# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(219, s))
-# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(220, s))
-# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(221, s))
-# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(222, s))
-# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(223, s))
-# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(224, s))
-# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(225, s))
-# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(226, s))
-# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(227, s))
-# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(228, s))
-# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(229, s))
-# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(230, s))
-# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(231, s))
-# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(232, s))
-# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(233, s))
-# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(234, s))
-# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(235, s))
-# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(236, s))
-# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(237, s))
-# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(238, s))
-# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(239, s))
-# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(240, s))
-# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(241, s))
-# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(242, s))
-# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(243, s))
-# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(244, s))
-# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(245, s))
-# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(246, s))
-# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(247, s))
-# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(248, s))
-# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(249, s))
-# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(250, s))
-# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(251, s))
-# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(252, s))
-# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(253, s))
-# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(254, s))
-# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(255, s))
-# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(256, s))
-# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(257, s))
-#
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/control/detail/edg/while.hpp b/SRC/Boost/boost/preprocessor/control/detail/edg/while.hpp
deleted file mode 100755
index ea10ecc..0000000
--- a/SRC/Boost/boost/preprocessor/control/detail/edg/while.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP
-#
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_I(p, o, s)
-# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_I(p, o, s)
-# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_I(p, o, s)
-# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_I(p, o, s)
-# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_I(p, o, s)
-# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_I(p, o, s)
-# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_I(p, o, s)
-# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_I(p, o, s)
-# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_I(p, o, s)
-# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_I(p, o, s)
-# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_I(p, o, s)
-# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_I(p, o, s)
-# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_I(p, o, s)
-# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_I(p, o, s)
-# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_I(p, o, s)
-# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_I(p, o, s)
-# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_I(p, o, s)
-# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_I(p, o, s)
-# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_I(p, o, s)
-# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_I(p, o, s)
-# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_I(p, o, s)
-# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_I(p, o, s)
-# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_I(p, o, s)
-# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_I(p, o, s)
-# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_I(p, o, s)
-# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_I(p, o, s)
-# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_I(p, o, s)
-# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_I(p, o, s)
-# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_I(p, o, s)
-# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_I(p, o, s)
-# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_I(p, o, s)
-# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_I(p, o, s)
-# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_I(p, o, s)
-# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_I(p, o, s)
-# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_I(p, o, s)
-# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_I(p, o, s)
-# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_I(p, o, s)
-# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_I(p, o, s)
-# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_I(p, o, s)
-# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_I(p, o, s)
-# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_I(p, o, s)
-# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_I(p, o, s)
-# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_I(p, o, s)
-# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_I(p, o, s)
-# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_I(p, o, s)
-# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_I(p, o, s)
-# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_I(p, o, s)
-# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_I(p, o, s)
-# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_I(p, o, s)
-# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_I(p, o, s)
-# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_I(p, o, s)
-# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_I(p, o, s)
-# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_I(p, o, s)
-# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_I(p, o, s)
-# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_I(p, o, s)
-# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_I(p, o, s)
-# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_I(p, o, s)
-# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_I(p, o, s)
-# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_I(p, o, s)
-# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_I(p, o, s)
-# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_I(p, o, s)
-# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_I(p, o, s)
-# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_I(p, o, s)
-# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_I(p, o, s)
-# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_I(p, o, s)
-# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_I(p, o, s)
-# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_I(p, o, s)
-# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_I(p, o, s)
-# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_I(p, o, s)
-# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_I(p, o, s)
-# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_I(p, o, s)
-# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_I(p, o, s)
-# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_I(p, o, s)
-# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_I(p, o, s)
-# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_I(p, o, s)
-# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_I(p, o, s)
-# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_I(p, o, s)
-# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_I(p, o, s)
-# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_I(p, o, s)
-# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_I(p, o, s)
-# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_I(p, o, s)
-# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_I(p, o, s)
-# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_I(p, o, s)
-# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_I(p, o, s)
-# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_I(p, o, s)
-# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_I(p, o, s)
-# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_I(p, o, s)
-# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_I(p, o, s)
-# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_I(p, o, s)
-# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_I(p, o, s)
-# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_I(p, o, s)
-# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_I(p, o, s)
-# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_I(p, o, s)
-# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_I(p, o, s)
-# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_I(p, o, s)
-# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_I(p, o, s)
-# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_I(p, o, s)
-# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_I(p, o, s)
-# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_I(p, o, s)
-# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_I(p, o, s)
-# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_I(p, o, s)
-# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_I(p, o, s)
-# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_I(p, o, s)
-# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_I(p, o, s)
-# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_I(p, o, s)
-# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_I(p, o, s)
-# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_I(p, o, s)
-# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_I(p, o, s)
-# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_I(p, o, s)
-# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_I(p, o, s)
-# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_I(p, o, s)
-# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_I(p, o, s)
-# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_I(p, o, s)
-# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_I(p, o, s)
-# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_I(p, o, s)
-# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_I(p, o, s)
-# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_I(p, o, s)
-# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_I(p, o, s)
-# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_I(p, o, s)
-# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_I(p, o, s)
-# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_I(p, o, s)
-# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_I(p, o, s)
-# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_I(p, o, s)
-# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_I(p, o, s)
-# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_I(p, o, s)
-# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_I(p, o, s)
-# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_I(p, o, s)
-# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_I(p, o, s)
-# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_I(p, o, s)
-# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_I(p, o, s)
-# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_I(p, o, s)
-# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_I(p, o, s)
-# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_I(p, o, s)
-# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_I(p, o, s)
-# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_I(p, o, s)
-# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_I(p, o, s)
-# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_I(p, o, s)
-# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_I(p, o, s)
-# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_I(p, o, s)
-# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_I(p, o, s)
-# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_I(p, o, s)
-# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_I(p, o, s)
-# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_I(p, o, s)
-# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_I(p, o, s)
-# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_I(p, o, s)
-# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_I(p, o, s)
-# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_I(p, o, s)
-# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_I(p, o, s)
-# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_I(p, o, s)
-# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_I(p, o, s)
-# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_I(p, o, s)
-# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_I(p, o, s)
-# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_I(p, o, s)
-# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_I(p, o, s)
-# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_I(p, o, s)
-# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_I(p, o, s)
-# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_I(p, o, s)
-# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_I(p, o, s)
-# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_I(p, o, s)
-# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_I(p, o, s)
-# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_I(p, o, s)
-# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_I(p, o, s)
-# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_I(p, o, s)
-# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_I(p, o, s)
-# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_I(p, o, s)
-# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_I(p, o, s)
-# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_I(p, o, s)
-# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_I(p, o, s)
-# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_I(p, o, s)
-# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_I(p, o, s)
-# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_I(p, o, s)
-# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_I(p, o, s)
-# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_I(p, o, s)
-# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_I(p, o, s)
-# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_I(p, o, s)
-# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_I(p, o, s)
-# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_I(p, o, s)
-# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_I(p, o, s)
-# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_I(p, o, s)
-# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_I(p, o, s)
-# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_I(p, o, s)
-# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_I(p, o, s)
-# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_I(p, o, s)
-# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_I(p, o, s)
-# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_I(p, o, s)
-# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_I(p, o, s)
-# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_I(p, o, s)
-# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_I(p, o, s)
-# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_I(p, o, s)
-# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_I(p, o, s)
-# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_I(p, o, s)
-# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_I(p, o, s)
-# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_I(p, o, s)
-# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_I(p, o, s)
-# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_I(p, o, s)
-# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_I(p, o, s)
-# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_I(p, o, s)
-# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_I(p, o, s)
-# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_I(p, o, s)
-# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_I(p, o, s)
-# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_I(p, o, s)
-# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_I(p, o, s)
-# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_I(p, o, s)
-# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_I(p, o, s)
-# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_I(p, o, s)
-# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_I(p, o, s)
-# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_I(p, o, s)
-# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_I(p, o, s)
-# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_I(p, o, s)
-# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_I(p, o, s)
-# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_I(p, o, s)
-# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_I(p, o, s)
-# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_I(p, o, s)
-# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_I(p, o, s)
-# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_I(p, o, s)
-# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_I(p, o, s)
-# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_I(p, o, s)
-# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_I(p, o, s)
-# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_I(p, o, s)
-# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_I(p, o, s)
-# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_I(p, o, s)
-# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_I(p, o, s)
-# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_I(p, o, s)
-# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_I(p, o, s)
-# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_I(p, o, s)
-# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_I(p, o, s)
-# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_I(p, o, s)
-# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_I(p, o, s)
-# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_I(p, o, s)
-# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_I(p, o, s)
-# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_I(p, o, s)
-# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_I(p, o, s)
-# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_I(p, o, s)
-# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_I(p, o, s)
-# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_I(p, o, s)
-# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_I(p, o, s)
-# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_I(p, o, s)
-# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_I(p, o, s)
-# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_I(p, o, s)
-# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_I(p, o, s)
-# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_I(p, o, s)
-# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_I(p, o, s)
-# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_I(p, o, s)
-# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_I(p, o, s)
-# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_I(p, o, s)
-# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_I(p, o, s)
-# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_I(p, o, s)
-# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_I(p, o, s)
-# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_I(p, o, s)
-# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_I(p, o, s)
-# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_I(p, o, s)
-# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_I(p, o, s)
-# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_I(p, o, s)
-# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_I(p, o, s)
-# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_I(p, o, s)
-# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_I(p, o, s)
-#
-# define BOOST_PP_WHILE_1_I(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s))
-# define BOOST_PP_WHILE_2_I(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s))
-# define BOOST_PP_WHILE_3_I(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s))
-# define BOOST_PP_WHILE_4_I(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s))
-# define BOOST_PP_WHILE_5_I(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s))
-# define BOOST_PP_WHILE_6_I(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s))
-# define BOOST_PP_WHILE_7_I(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s))
-# define BOOST_PP_WHILE_8_I(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s))
-# define BOOST_PP_WHILE_9_I(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s))
-# define BOOST_PP_WHILE_10_I(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s))
-# define BOOST_PP_WHILE_11_I(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s))
-# define BOOST_PP_WHILE_12_I(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s))
-# define BOOST_PP_WHILE_13_I(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s))
-# define BOOST_PP_WHILE_14_I(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s))
-# define BOOST_PP_WHILE_15_I(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s))
-# define BOOST_PP_WHILE_16_I(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s))
-# define BOOST_PP_WHILE_17_I(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s))
-# define BOOST_PP_WHILE_18_I(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s))
-# define BOOST_PP_WHILE_19_I(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s))
-# define BOOST_PP_WHILE_20_I(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s))
-# define BOOST_PP_WHILE_21_I(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s))
-# define BOOST_PP_WHILE_22_I(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s))
-# define BOOST_PP_WHILE_23_I(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s))
-# define BOOST_PP_WHILE_24_I(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s))
-# define BOOST_PP_WHILE_25_I(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s))
-# define BOOST_PP_WHILE_26_I(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s))
-# define BOOST_PP_WHILE_27_I(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s))
-# define BOOST_PP_WHILE_28_I(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s))
-# define BOOST_PP_WHILE_29_I(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s))
-# define BOOST_PP_WHILE_30_I(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s))
-# define BOOST_PP_WHILE_31_I(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s))
-# define BOOST_PP_WHILE_32_I(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s))
-# define BOOST_PP_WHILE_33_I(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s))
-# define BOOST_PP_WHILE_34_I(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s))
-# define BOOST_PP_WHILE_35_I(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s))
-# define BOOST_PP_WHILE_36_I(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s))
-# define BOOST_PP_WHILE_37_I(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s))
-# define BOOST_PP_WHILE_38_I(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s))
-# define BOOST_PP_WHILE_39_I(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s))
-# define BOOST_PP_WHILE_40_I(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s))
-# define BOOST_PP_WHILE_41_I(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s))
-# define BOOST_PP_WHILE_42_I(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s))
-# define BOOST_PP_WHILE_43_I(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s))
-# define BOOST_PP_WHILE_44_I(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s))
-# define BOOST_PP_WHILE_45_I(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s))
-# define BOOST_PP_WHILE_46_I(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s))
-# define BOOST_PP_WHILE_47_I(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s))
-# define BOOST_PP_WHILE_48_I(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s))
-# define BOOST_PP_WHILE_49_I(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s))
-# define BOOST_PP_WHILE_50_I(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s))
-# define BOOST_PP_WHILE_51_I(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s))
-# define BOOST_PP_WHILE_52_I(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s))
-# define BOOST_PP_WHILE_53_I(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s))
-# define BOOST_PP_WHILE_54_I(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s))
-# define BOOST_PP_WHILE_55_I(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s))
-# define BOOST_PP_WHILE_56_I(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s))
-# define BOOST_PP_WHILE_57_I(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s))
-# define BOOST_PP_WHILE_58_I(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s))
-# define BOOST_PP_WHILE_59_I(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s))
-# define BOOST_PP_WHILE_60_I(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s))
-# define BOOST_PP_WHILE_61_I(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s))
-# define BOOST_PP_WHILE_62_I(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s))
-# define BOOST_PP_WHILE_63_I(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s))
-# define BOOST_PP_WHILE_64_I(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s))
-# define BOOST_PP_WHILE_65_I(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s))
-# define BOOST_PP_WHILE_66_I(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s))
-# define BOOST_PP_WHILE_67_I(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s))
-# define BOOST_PP_WHILE_68_I(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s))
-# define BOOST_PP_WHILE_69_I(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s))
-# define BOOST_PP_WHILE_70_I(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s))
-# define BOOST_PP_WHILE_71_I(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s))
-# define BOOST_PP_WHILE_72_I(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s))
-# define BOOST_PP_WHILE_73_I(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s))
-# define BOOST_PP_WHILE_74_I(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s))
-# define BOOST_PP_WHILE_75_I(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s))
-# define BOOST_PP_WHILE_76_I(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s))
-# define BOOST_PP_WHILE_77_I(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s))
-# define BOOST_PP_WHILE_78_I(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s))
-# define BOOST_PP_WHILE_79_I(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s))
-# define BOOST_PP_WHILE_80_I(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s))
-# define BOOST_PP_WHILE_81_I(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s))
-# define BOOST_PP_WHILE_82_I(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s))
-# define BOOST_PP_WHILE_83_I(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s))
-# define BOOST_PP_WHILE_84_I(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s))
-# define BOOST_PP_WHILE_85_I(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s))
-# define BOOST_PP_WHILE_86_I(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s))
-# define BOOST_PP_WHILE_87_I(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s))
-# define BOOST_PP_WHILE_88_I(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s))
-# define BOOST_PP_WHILE_89_I(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s))
-# define BOOST_PP_WHILE_90_I(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s))
-# define BOOST_PP_WHILE_91_I(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s))
-# define BOOST_PP_WHILE_92_I(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s))
-# define BOOST_PP_WHILE_93_I(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s))
-# define BOOST_PP_WHILE_94_I(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s))
-# define BOOST_PP_WHILE_95_I(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s))
-# define BOOST_PP_WHILE_96_I(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s))
-# define BOOST_PP_WHILE_97_I(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s))
-# define BOOST_PP_WHILE_98_I(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s))
-# define BOOST_PP_WHILE_99_I(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s))
-# define BOOST_PP_WHILE_100_I(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s))
-# define BOOST_PP_WHILE_101_I(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s))
-# define BOOST_PP_WHILE_102_I(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s))
-# define BOOST_PP_WHILE_103_I(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s))
-# define BOOST_PP_WHILE_104_I(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s))
-# define BOOST_PP_WHILE_105_I(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s))
-# define BOOST_PP_WHILE_106_I(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s))
-# define BOOST_PP_WHILE_107_I(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s))
-# define BOOST_PP_WHILE_108_I(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s))
-# define BOOST_PP_WHILE_109_I(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s))
-# define BOOST_PP_WHILE_110_I(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s))
-# define BOOST_PP_WHILE_111_I(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s))
-# define BOOST_PP_WHILE_112_I(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s))
-# define BOOST_PP_WHILE_113_I(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s))
-# define BOOST_PP_WHILE_114_I(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s))
-# define BOOST_PP_WHILE_115_I(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s))
-# define BOOST_PP_WHILE_116_I(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s))
-# define BOOST_PP_WHILE_117_I(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s))
-# define BOOST_PP_WHILE_118_I(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s))
-# define BOOST_PP_WHILE_119_I(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s))
-# define BOOST_PP_WHILE_120_I(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s))
-# define BOOST_PP_WHILE_121_I(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s))
-# define BOOST_PP_WHILE_122_I(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s))
-# define BOOST_PP_WHILE_123_I(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s))
-# define BOOST_PP_WHILE_124_I(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s))
-# define BOOST_PP_WHILE_125_I(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s))
-# define BOOST_PP_WHILE_126_I(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s))
-# define BOOST_PP_WHILE_127_I(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s))
-# define BOOST_PP_WHILE_128_I(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s))
-# define BOOST_PP_WHILE_129_I(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s))
-# define BOOST_PP_WHILE_130_I(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s))
-# define BOOST_PP_WHILE_131_I(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s))
-# define BOOST_PP_WHILE_132_I(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s))
-# define BOOST_PP_WHILE_133_I(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s))
-# define BOOST_PP_WHILE_134_I(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s))
-# define BOOST_PP_WHILE_135_I(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s))
-# define BOOST_PP_WHILE_136_I(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s))
-# define BOOST_PP_WHILE_137_I(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s))
-# define BOOST_PP_WHILE_138_I(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s))
-# define BOOST_PP_WHILE_139_I(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s))
-# define BOOST_PP_WHILE_140_I(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s))
-# define BOOST_PP_WHILE_141_I(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s))
-# define BOOST_PP_WHILE_142_I(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s))
-# define BOOST_PP_WHILE_143_I(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s))
-# define BOOST_PP_WHILE_144_I(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s))
-# define BOOST_PP_WHILE_145_I(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s))
-# define BOOST_PP_WHILE_146_I(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s))
-# define BOOST_PP_WHILE_147_I(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s))
-# define BOOST_PP_WHILE_148_I(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s))
-# define BOOST_PP_WHILE_149_I(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s))
-# define BOOST_PP_WHILE_150_I(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s))
-# define BOOST_PP_WHILE_151_I(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s))
-# define BOOST_PP_WHILE_152_I(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s))
-# define BOOST_PP_WHILE_153_I(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s))
-# define BOOST_PP_WHILE_154_I(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s))
-# define BOOST_PP_WHILE_155_I(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s))
-# define BOOST_PP_WHILE_156_I(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s))
-# define BOOST_PP_WHILE_157_I(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s))
-# define BOOST_PP_WHILE_158_I(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s))
-# define BOOST_PP_WHILE_159_I(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s))
-# define BOOST_PP_WHILE_160_I(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s))
-# define BOOST_PP_WHILE_161_I(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s))
-# define BOOST_PP_WHILE_162_I(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s))
-# define BOOST_PP_WHILE_163_I(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s))
-# define BOOST_PP_WHILE_164_I(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s))
-# define BOOST_PP_WHILE_165_I(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s))
-# define BOOST_PP_WHILE_166_I(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s))
-# define BOOST_PP_WHILE_167_I(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s))
-# define BOOST_PP_WHILE_168_I(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s))
-# define BOOST_PP_WHILE_169_I(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s))
-# define BOOST_PP_WHILE_170_I(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s))
-# define BOOST_PP_WHILE_171_I(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s))
-# define BOOST_PP_WHILE_172_I(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s))
-# define BOOST_PP_WHILE_173_I(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s))
-# define BOOST_PP_WHILE_174_I(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s))
-# define BOOST_PP_WHILE_175_I(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s))
-# define BOOST_PP_WHILE_176_I(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s))
-# define BOOST_PP_WHILE_177_I(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s))
-# define BOOST_PP_WHILE_178_I(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s))
-# define BOOST_PP_WHILE_179_I(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s))
-# define BOOST_PP_WHILE_180_I(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s))
-# define BOOST_PP_WHILE_181_I(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s))
-# define BOOST_PP_WHILE_182_I(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s))
-# define BOOST_PP_WHILE_183_I(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s))
-# define BOOST_PP_WHILE_184_I(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s))
-# define BOOST_PP_WHILE_185_I(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s))
-# define BOOST_PP_WHILE_186_I(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s))
-# define BOOST_PP_WHILE_187_I(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s))
-# define BOOST_PP_WHILE_188_I(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s))
-# define BOOST_PP_WHILE_189_I(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s))
-# define BOOST_PP_WHILE_190_I(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s))
-# define BOOST_PP_WHILE_191_I(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s))
-# define BOOST_PP_WHILE_192_I(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s))
-# define BOOST_PP_WHILE_193_I(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s))
-# define BOOST_PP_WHILE_194_I(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s))
-# define BOOST_PP_WHILE_195_I(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s))
-# define BOOST_PP_WHILE_196_I(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s))
-# define BOOST_PP_WHILE_197_I(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s))
-# define BOOST_PP_WHILE_198_I(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s))
-# define BOOST_PP_WHILE_199_I(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s))
-# define BOOST_PP_WHILE_200_I(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s))
-# define BOOST_PP_WHILE_201_I(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s))
-# define BOOST_PP_WHILE_202_I(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s))
-# define BOOST_PP_WHILE_203_I(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s))
-# define BOOST_PP_WHILE_204_I(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s))
-# define BOOST_PP_WHILE_205_I(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s))
-# define BOOST_PP_WHILE_206_I(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s))
-# define BOOST_PP_WHILE_207_I(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s))
-# define BOOST_PP_WHILE_208_I(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s))
-# define BOOST_PP_WHILE_209_I(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s))
-# define BOOST_PP_WHILE_210_I(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s))
-# define BOOST_PP_WHILE_211_I(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s))
-# define BOOST_PP_WHILE_212_I(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s))
-# define BOOST_PP_WHILE_213_I(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s))
-# define BOOST_PP_WHILE_214_I(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s))
-# define BOOST_PP_WHILE_215_I(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s))
-# define BOOST_PP_WHILE_216_I(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s))
-# define BOOST_PP_WHILE_217_I(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s))
-# define BOOST_PP_WHILE_218_I(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s))
-# define BOOST_PP_WHILE_219_I(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s))
-# define BOOST_PP_WHILE_220_I(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s))
-# define BOOST_PP_WHILE_221_I(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s))
-# define BOOST_PP_WHILE_222_I(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s))
-# define BOOST_PP_WHILE_223_I(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s))
-# define BOOST_PP_WHILE_224_I(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s))
-# define BOOST_PP_WHILE_225_I(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s))
-# define BOOST_PP_WHILE_226_I(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s))
-# define BOOST_PP_WHILE_227_I(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s))
-# define BOOST_PP_WHILE_228_I(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s))
-# define BOOST_PP_WHILE_229_I(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s))
-# define BOOST_PP_WHILE_230_I(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s))
-# define BOOST_PP_WHILE_231_I(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s))
-# define BOOST_PP_WHILE_232_I(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s))
-# define BOOST_PP_WHILE_233_I(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s))
-# define BOOST_PP_WHILE_234_I(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s))
-# define BOOST_PP_WHILE_235_I(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s))
-# define BOOST_PP_WHILE_236_I(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s))
-# define BOOST_PP_WHILE_237_I(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s))
-# define BOOST_PP_WHILE_238_I(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s))
-# define BOOST_PP_WHILE_239_I(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s))
-# define BOOST_PP_WHILE_240_I(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s))
-# define BOOST_PP_WHILE_241_I(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s))
-# define BOOST_PP_WHILE_242_I(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s))
-# define BOOST_PP_WHILE_243_I(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s))
-# define BOOST_PP_WHILE_244_I(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s))
-# define BOOST_PP_WHILE_245_I(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s))
-# define BOOST_PP_WHILE_246_I(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s))
-# define BOOST_PP_WHILE_247_I(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s))
-# define BOOST_PP_WHILE_248_I(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s))
-# define BOOST_PP_WHILE_249_I(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s))
-# define BOOST_PP_WHILE_250_I(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s))
-# define BOOST_PP_WHILE_251_I(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s))
-# define BOOST_PP_WHILE_252_I(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s))
-# define BOOST_PP_WHILE_253_I(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s))
-# define BOOST_PP_WHILE_254_I(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s))
-# define BOOST_PP_WHILE_255_I(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s))
-# define BOOST_PP_WHILE_256_I(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s))
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/control/detail/msvc/while.hpp b/SRC/Boost/boost/preprocessor/control/detail/msvc/while.hpp
deleted file mode 100755
index e3cc685..0000000
--- a/SRC/Boost/boost/preprocessor/control/detail/msvc/while.hpp
+++ /dev/null
@@ -1,277 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP
-#
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s))
-# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s))
-# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s))
-# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s))
-# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s))
-# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s))
-# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s))
-# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s))
-# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s))
-# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s))
-# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s))
-# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s))
-# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s))
-# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s))
-# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s))
-# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s))
-# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s))
-# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s))
-# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s))
-# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s))
-# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s))
-# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s))
-# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s))
-# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s))
-# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s))
-# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s))
-# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s))
-# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s))
-# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s))
-# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s))
-# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s))
-# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s))
-# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s))
-# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s))
-# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s))
-# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s))
-# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s))
-# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s))
-# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s))
-# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s))
-# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s))
-# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s))
-# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s))
-# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s))
-# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s))
-# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s))
-# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s))
-# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s))
-# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s))
-# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s))
-# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s))
-# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s))
-# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s))
-# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s))
-# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s))
-# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s))
-# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s))
-# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s))
-# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s))
-# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s))
-# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s))
-# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s))
-# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s))
-# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s))
-# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s))
-# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s))
-# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s))
-# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s))
-# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s))
-# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s))
-# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s))
-# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s))
-# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s))
-# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s))
-# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s))
-# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s))
-# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s))
-# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s))
-# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s))
-# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s))
-# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s))
-# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s))
-# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s))
-# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s))
-# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s))
-# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s))
-# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s))
-# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s))
-# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s))
-# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s))
-# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s))
-# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s))
-# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s))
-# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s))
-# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s))
-# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s))
-# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s))
-# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s))
-# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s))
-# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s))
-# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s))
-# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s))
-# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s))
-# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s))
-# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s))
-# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s))
-# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s))
-# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s))
-# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s))
-# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s))
-# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s))
-# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s))
-# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s))
-# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s))
-# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s))
-# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s))
-# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s))
-# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s))
-# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s))
-# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s))
-# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s))
-# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s))
-# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s))
-# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s))
-# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s))
-# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s))
-# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s))
-# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s))
-# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s))
-# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s))
-# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s))
-# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s))
-# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s))
-# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s))
-# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s))
-# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s))
-# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s))
-# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s))
-# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s))
-# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s))
-# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s))
-# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s))
-# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s))
-# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s))
-# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s))
-# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s))
-# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s))
-# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s))
-# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s))
-# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s))
-# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s))
-# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s))
-# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s))
-# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s))
-# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s))
-# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s))
-# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s))
-# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s))
-# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s))
-# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s))
-# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s))
-# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s))
-# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s))
-# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s))
-# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s))
-# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s))
-# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s))
-# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s))
-# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s))
-# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s))
-# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s))
-# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s))
-# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s))
-# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s))
-# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s))
-# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s))
-# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s))
-# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s))
-# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s))
-# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s))
-# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s))
-# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s))
-# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s))
-# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s))
-# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s))
-# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s))
-# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s))
-# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s))
-# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s))
-# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s))
-# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s))
-# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s))
-# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s))
-# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s))
-# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s))
-# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s))
-# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s))
-# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s))
-# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s))
-# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s))
-# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s))
-# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s))
-# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s))
-# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s))
-# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s))
-# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s))
-# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s))
-# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s))
-# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s))
-# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s))
-# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s))
-# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s))
-# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s))
-# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s))
-# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s))
-# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s))
-# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s))
-# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s))
-# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s))
-# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s))
-# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s))
-# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s))
-# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s))
-# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s))
-# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s))
-# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s))
-# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s))
-# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s))
-# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s))
-# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s))
-# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s))
-# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s))
-# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s))
-# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s))
-# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s))
-# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s))
-# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s))
-# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s))
-# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s))
-# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s))
-# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s))
-# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s))
-# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s))
-# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s))
-# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s))
-# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s))
-# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s))
-# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s))
-# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s))
-# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s))
-# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s))
-# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s))
-# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s))
-# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s))
-# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s))
-# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s))
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/control/detail/while.hpp b/SRC/Boost/boost/preprocessor/control/detail/while.hpp
deleted file mode 100755
index 1196c91..0000000
--- a/SRC/Boost/boost/preprocessor/control/detail/while.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
-#
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p(2, s)), p, o, s)
-# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p(3, s)), p, o, s)
-# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p(4, s)), p, o, s)
-# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p(5, s)), p, o, s)
-# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p(6, s)), p, o, s)
-# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p(7, s)), p, o, s)
-# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p(8, s)), p, o, s)
-# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p(9, s)), p, o, s)
-# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p(10, s)), p, o, s)
-# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p(11, s)), p, o, s)
-# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p(12, s)), p, o, s)
-# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p(13, s)), p, o, s)
-# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p(14, s)), p, o, s)
-# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p(15, s)), p, o, s)
-# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p(16, s)), p, o, s)
-# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p(17, s)), p, o, s)
-# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p(18, s)), p, o, s)
-# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p(19, s)), p, o, s)
-# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p(20, s)), p, o, s)
-# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p(21, s)), p, o, s)
-# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p(22, s)), p, o, s)
-# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p(23, s)), p, o, s)
-# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p(24, s)), p, o, s)
-# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p(25, s)), p, o, s)
-# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p(26, s)), p, o, s)
-# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p(27, s)), p, o, s)
-# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p(28, s)), p, o, s)
-# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p(29, s)), p, o, s)
-# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p(30, s)), p, o, s)
-# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p(31, s)), p, o, s)
-# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p(32, s)), p, o, s)
-# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p(33, s)), p, o, s)
-# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p(34, s)), p, o, s)
-# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p(35, s)), p, o, s)
-# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p(36, s)), p, o, s)
-# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p(37, s)), p, o, s)
-# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p(38, s)), p, o, s)
-# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p(39, s)), p, o, s)
-# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p(40, s)), p, o, s)
-# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p(41, s)), p, o, s)
-# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p(42, s)), p, o, s)
-# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p(43, s)), p, o, s)
-# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p(44, s)), p, o, s)
-# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p(45, s)), p, o, s)
-# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p(46, s)), p, o, s)
-# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p(47, s)), p, o, s)
-# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p(48, s)), p, o, s)
-# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p(49, s)), p, o, s)
-# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p(50, s)), p, o, s)
-# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p(51, s)), p, o, s)
-# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p(52, s)), p, o, s)
-# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p(53, s)), p, o, s)
-# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p(54, s)), p, o, s)
-# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p(55, s)), p, o, s)
-# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p(56, s)), p, o, s)
-# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p(57, s)), p, o, s)
-# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p(58, s)), p, o, s)
-# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p(59, s)), p, o, s)
-# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p(60, s)), p, o, s)
-# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p(61, s)), p, o, s)
-# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p(62, s)), p, o, s)
-# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p(63, s)), p, o, s)
-# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p(64, s)), p, o, s)
-# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p(65, s)), p, o, s)
-# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p(66, s)), p, o, s)
-# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p(67, s)), p, o, s)
-# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p(68, s)), p, o, s)
-# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p(69, s)), p, o, s)
-# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p(70, s)), p, o, s)
-# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p(71, s)), p, o, s)
-# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p(72, s)), p, o, s)
-# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p(73, s)), p, o, s)
-# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p(74, s)), p, o, s)
-# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p(75, s)), p, o, s)
-# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p(76, s)), p, o, s)
-# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p(77, s)), p, o, s)
-# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p(78, s)), p, o, s)
-# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p(79, s)), p, o, s)
-# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p(80, s)), p, o, s)
-# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p(81, s)), p, o, s)
-# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p(82, s)), p, o, s)
-# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p(83, s)), p, o, s)
-# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p(84, s)), p, o, s)
-# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p(85, s)), p, o, s)
-# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p(86, s)), p, o, s)
-# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p(87, s)), p, o, s)
-# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p(88, s)), p, o, s)
-# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p(89, s)), p, o, s)
-# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p(90, s)), p, o, s)
-# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p(91, s)), p, o, s)
-# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p(92, s)), p, o, s)
-# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p(93, s)), p, o, s)
-# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p(94, s)), p, o, s)
-# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p(95, s)), p, o, s)
-# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p(96, s)), p, o, s)
-# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p(97, s)), p, o, s)
-# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p(98, s)), p, o, s)
-# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p(99, s)), p, o, s)
-# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p(100, s)), p, o, s)
-# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p(101, s)), p, o, s)
-# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p(102, s)), p, o, s)
-# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p(103, s)), p, o, s)
-# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p(104, s)), p, o, s)
-# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p(105, s)), p, o, s)
-# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p(106, s)), p, o, s)
-# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p(107, s)), p, o, s)
-# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p(108, s)), p, o, s)
-# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p(109, s)), p, o, s)
-# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p(110, s)), p, o, s)
-# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p(111, s)), p, o, s)
-# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p(112, s)), p, o, s)
-# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p(113, s)), p, o, s)
-# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p(114, s)), p, o, s)
-# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p(115, s)), p, o, s)
-# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p(116, s)), p, o, s)
-# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p(117, s)), p, o, s)
-# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p(118, s)), p, o, s)
-# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p(119, s)), p, o, s)
-# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p(120, s)), p, o, s)
-# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p(121, s)), p, o, s)
-# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p(122, s)), p, o, s)
-# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p(123, s)), p, o, s)
-# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p(124, s)), p, o, s)
-# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p(125, s)), p, o, s)
-# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p(126, s)), p, o, s)
-# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p(127, s)), p, o, s)
-# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p(128, s)), p, o, s)
-# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p(129, s)), p, o, s)
-# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p(130, s)), p, o, s)
-# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p(131, s)), p, o, s)
-# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p(132, s)), p, o, s)
-# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p(133, s)), p, o, s)
-# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p(134, s)), p, o, s)
-# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p(135, s)), p, o, s)
-# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p(136, s)), p, o, s)
-# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p(137, s)), p, o, s)
-# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p(138, s)), p, o, s)
-# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p(139, s)), p, o, s)
-# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p(140, s)), p, o, s)
-# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p(141, s)), p, o, s)
-# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p(142, s)), p, o, s)
-# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p(143, s)), p, o, s)
-# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p(144, s)), p, o, s)
-# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p(145, s)), p, o, s)
-# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p(146, s)), p, o, s)
-# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p(147, s)), p, o, s)
-# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p(148, s)), p, o, s)
-# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p(149, s)), p, o, s)
-# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p(150, s)), p, o, s)
-# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p(151, s)), p, o, s)
-# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p(152, s)), p, o, s)
-# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p(153, s)), p, o, s)
-# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p(154, s)), p, o, s)
-# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p(155, s)), p, o, s)
-# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p(156, s)), p, o, s)
-# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p(157, s)), p, o, s)
-# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p(158, s)), p, o, s)
-# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p(159, s)), p, o, s)
-# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p(160, s)), p, o, s)
-# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p(161, s)), p, o, s)
-# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p(162, s)), p, o, s)
-# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p(163, s)), p, o, s)
-# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p(164, s)), p, o, s)
-# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p(165, s)), p, o, s)
-# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p(166, s)), p, o, s)
-# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p(167, s)), p, o, s)
-# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p(168, s)), p, o, s)
-# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p(169, s)), p, o, s)
-# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p(170, s)), p, o, s)
-# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p(171, s)), p, o, s)
-# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p(172, s)), p, o, s)
-# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p(173, s)), p, o, s)
-# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p(174, s)), p, o, s)
-# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p(175, s)), p, o, s)
-# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p(176, s)), p, o, s)
-# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p(177, s)), p, o, s)
-# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p(178, s)), p, o, s)
-# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p(179, s)), p, o, s)
-# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p(180, s)), p, o, s)
-# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p(181, s)), p, o, s)
-# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p(182, s)), p, o, s)
-# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p(183, s)), p, o, s)
-# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p(184, s)), p, o, s)
-# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p(185, s)), p, o, s)
-# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p(186, s)), p, o, s)
-# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p(187, s)), p, o, s)
-# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p(188, s)), p, o, s)
-# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p(189, s)), p, o, s)
-# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p(190, s)), p, o, s)
-# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p(191, s)), p, o, s)
-# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p(192, s)), p, o, s)
-# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p(193, s)), p, o, s)
-# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p(194, s)), p, o, s)
-# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p(195, s)), p, o, s)
-# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p(196, s)), p, o, s)
-# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p(197, s)), p, o, s)
-# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p(198, s)), p, o, s)
-# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p(199, s)), p, o, s)
-# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p(200, s)), p, o, s)
-# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p(201, s)), p, o, s)
-# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p(202, s)), p, o, s)
-# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p(203, s)), p, o, s)
-# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p(204, s)), p, o, s)
-# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p(205, s)), p, o, s)
-# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p(206, s)), p, o, s)
-# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p(207, s)), p, o, s)
-# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p(208, s)), p, o, s)
-# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p(209, s)), p, o, s)
-# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p(210, s)), p, o, s)
-# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p(211, s)), p, o, s)
-# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p(212, s)), p, o, s)
-# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p(213, s)), p, o, s)
-# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p(214, s)), p, o, s)
-# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p(215, s)), p, o, s)
-# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p(216, s)), p, o, s)
-# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p(217, s)), p, o, s)
-# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p(218, s)), p, o, s)
-# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p(219, s)), p, o, s)
-# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p(220, s)), p, o, s)
-# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p(221, s)), p, o, s)
-# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p(222, s)), p, o, s)
-# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p(223, s)), p, o, s)
-# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p(224, s)), p, o, s)
-# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p(225, s)), p, o, s)
-# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p(226, s)), p, o, s)
-# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p(227, s)), p, o, s)
-# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p(228, s)), p, o, s)
-# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p(229, s)), p, o, s)
-# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p(230, s)), p, o, s)
-# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p(231, s)), p, o, s)
-# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p(232, s)), p, o, s)
-# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p(233, s)), p, o, s)
-# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p(234, s)), p, o, s)
-# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p(235, s)), p, o, s)
-# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p(236, s)), p, o, s)
-# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p(237, s)), p, o, s)
-# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p(238, s)), p, o, s)
-# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p(239, s)), p, o, s)
-# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p(240, s)), p, o, s)
-# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p(241, s)), p, o, s)
-# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p(242, s)), p, o, s)
-# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p(243, s)), p, o, s)
-# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p(244, s)), p, o, s)
-# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p(245, s)), p, o, s)
-# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p(246, s)), p, o, s)
-# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p(247, s)), p, o, s)
-# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p(248, s)), p, o, s)
-# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p(249, s)), p, o, s)
-# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p(250, s)), p, o, s)
-# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p(251, s)), p, o, s)
-# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p(252, s)), p, o, s)
-# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p(253, s)), p, o, s)
-# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p(254, s)), p, o, s)
-# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p(255, s)), p, o, s)
-# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p(256, s)), p, o, s)
-# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p(257, s)), p, o, s)
-#
-# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(2, s))
-# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(3, s))
-# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(4, s))
-# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(5, s))
-# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(6, s))
-# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(7, s))
-# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(8, s))
-# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(9, s))
-# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(10, s))
-# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(11, s))
-# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(12, s))
-# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(13, s))
-# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(14, s))
-# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(15, s))
-# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(16, s))
-# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(17, s))
-# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(18, s))
-# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(19, s))
-# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(20, s))
-# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(21, s))
-# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(22, s))
-# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(23, s))
-# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(24, s))
-# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(25, s))
-# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(26, s))
-# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(27, s))
-# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(28, s))
-# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(29, s))
-# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(30, s))
-# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(31, s))
-# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(32, s))
-# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(33, s))
-# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(34, s))
-# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(35, s))
-# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(36, s))
-# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(37, s))
-# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(38, s))
-# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(39, s))
-# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(40, s))
-# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(41, s))
-# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(42, s))
-# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(43, s))
-# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(44, s))
-# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(45, s))
-# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(46, s))
-# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(47, s))
-# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(48, s))
-# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(49, s))
-# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(50, s))
-# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(51, s))
-# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(52, s))
-# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(53, s))
-# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(54, s))
-# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(55, s))
-# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(56, s))
-# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(57, s))
-# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(58, s))
-# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(59, s))
-# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(60, s))
-# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(61, s))
-# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(62, s))
-# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(63, s))
-# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(64, s))
-# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(65, s))
-# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(66, s))
-# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(67, s))
-# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(68, s))
-# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(69, s))
-# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(70, s))
-# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(71, s))
-# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(72, s))
-# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(73, s))
-# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(74, s))
-# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(75, s))
-# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(76, s))
-# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(77, s))
-# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(78, s))
-# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(79, s))
-# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(80, s))
-# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(81, s))
-# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(82, s))
-# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(83, s))
-# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(84, s))
-# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(85, s))
-# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(86, s))
-# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(87, s))
-# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(88, s))
-# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(89, s))
-# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(90, s))
-# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(91, s))
-# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(92, s))
-# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(93, s))
-# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(94, s))
-# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(95, s))
-# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(96, s))
-# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(97, s))
-# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(98, s))
-# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(99, s))
-# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(100, s))
-# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(101, s))
-# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(102, s))
-# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(103, s))
-# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(104, s))
-# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(105, s))
-# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(106, s))
-# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(107, s))
-# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(108, s))
-# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(109, s))
-# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(110, s))
-# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(111, s))
-# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(112, s))
-# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(113, s))
-# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(114, s))
-# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(115, s))
-# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(116, s))
-# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(117, s))
-# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(118, s))
-# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(119, s))
-# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(120, s))
-# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(121, s))
-# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(122, s))
-# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(123, s))
-# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(124, s))
-# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(125, s))
-# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(126, s))
-# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(127, s))
-# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(128, s))
-# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(129, s))
-# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(130, s))
-# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(131, s))
-# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(132, s))
-# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(133, s))
-# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(134, s))
-# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(135, s))
-# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(136, s))
-# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(137, s))
-# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(138, s))
-# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(139, s))
-# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(140, s))
-# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(141, s))
-# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(142, s))
-# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(143, s))
-# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(144, s))
-# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(145, s))
-# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(146, s))
-# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(147, s))
-# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(148, s))
-# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(149, s))
-# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(150, s))
-# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(151, s))
-# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(152, s))
-# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(153, s))
-# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(154, s))
-# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(155, s))
-# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(156, s))
-# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(157, s))
-# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(158, s))
-# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(159, s))
-# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(160, s))
-# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(161, s))
-# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(162, s))
-# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(163, s))
-# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(164, s))
-# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(165, s))
-# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(166, s))
-# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(167, s))
-# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(168, s))
-# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(169, s))
-# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(170, s))
-# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(171, s))
-# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(172, s))
-# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(173, s))
-# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(174, s))
-# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(175, s))
-# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(176, s))
-# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(177, s))
-# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(178, s))
-# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(179, s))
-# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(180, s))
-# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(181, s))
-# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(182, s))
-# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(183, s))
-# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(184, s))
-# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(185, s))
-# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(186, s))
-# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(187, s))
-# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(188, s))
-# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(189, s))
-# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(190, s))
-# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(191, s))
-# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(192, s))
-# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(193, s))
-# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(194, s))
-# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(195, s))
-# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(196, s))
-# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(197, s))
-# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(198, s))
-# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(199, s))
-# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(200, s))
-# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(201, s))
-# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(202, s))
-# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(203, s))
-# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(204, s))
-# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(205, s))
-# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(206, s))
-# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(207, s))
-# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(208, s))
-# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(209, s))
-# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(210, s))
-# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(211, s))
-# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(212, s))
-# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(213, s))
-# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(214, s))
-# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(215, s))
-# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(216, s))
-# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(217, s))
-# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(218, s))
-# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(219, s))
-# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(220, s))
-# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(221, s))
-# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(222, s))
-# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(223, s))
-# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(224, s))
-# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(225, s))
-# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(226, s))
-# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(227, s))
-# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(228, s))
-# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(229, s))
-# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(230, s))
-# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(231, s))
-# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(232, s))
-# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(233, s))
-# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(234, s))
-# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(235, s))
-# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(236, s))
-# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(237, s))
-# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(238, s))
-# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(239, s))
-# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(240, s))
-# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(241, s))
-# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(242, s))
-# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(243, s))
-# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(244, s))
-# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(245, s))
-# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(246, s))
-# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(247, s))
-# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(248, s))
-# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(249, s))
-# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(250, s))
-# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(251, s))
-# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(252, s))
-# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(253, s))
-# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(254, s))
-# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(255, s))
-# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(256, s))
-# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(257, s))
-#
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/control/expr_if.hpp b/SRC/Boost/boost/preprocessor/control/expr_if.hpp
deleted file mode 100755
index ddbacc9..0000000
--- a/SRC/Boost/boost/preprocessor/control/expr_if.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IF_HPP
-# define BOOST_PREPROCESSOR_CONTROL_EXPR_IF_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-#
-# /* BOOST_PP_EXPR_IF */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_EXPR_IF(cond, expr) BOOST_PP_EXPR_IIF(BOOST_PP_BOOL(cond), expr)
-# else
-#    define BOOST_PP_EXPR_IF(cond, expr) BOOST_PP_EXPR_IF_I(cond, expr)
-#    define BOOST_PP_EXPR_IF_I(cond, expr) BOOST_PP_EXPR_IIF(BOOST_PP_BOOL(cond), expr)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/control/expr_iif.hpp b/SRC/Boost/boost/preprocessor/control/expr_iif.hpp
deleted file mode 100755
index 01818fe..0000000
--- a/SRC/Boost/boost/preprocessor/control/expr_iif.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP
-# define BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_EXPR_IIF */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_I(bit, expr)
-# else
-#    define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_OO((bit, expr))
-#    define BOOST_PP_EXPR_IIF_OO(par) BOOST_PP_EXPR_IIF_I ## par
-# endif
-#
-# define BOOST_PP_EXPR_IIF_I(bit, expr) BOOST_PP_EXPR_IIF_ ## bit(expr)
-#
-# define BOOST_PP_EXPR_IIF_0(expr)
-# define BOOST_PP_EXPR_IIF_1(expr) expr
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/control/if.hpp b/SRC/Boost/boost/preprocessor/control/if.hpp
deleted file mode 100755
index 51ab276..0000000
--- a/SRC/Boost/boost/preprocessor/control/if.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_IF_HPP
-# define BOOST_PREPROCESSOR_CONTROL_IF_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-#
-# /* BOOST_PP_IF */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_IF(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f)
-# else
-#    define BOOST_PP_IF(cond, t, f) BOOST_PP_IF_I(cond, t, f)
-#    define BOOST_PP_IF_I(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/control/iif.hpp b/SRC/Boost/boost/preprocessor/control/iif.hpp
deleted file mode 100755
index 21dd8d9..0000000
--- a/SRC/Boost/boost/preprocessor/control/iif.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_IIF_HPP
-# define BOOST_PREPROCESSOR_CONTROL_IIF_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_I(bit, t, f)
-# else
-#    define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_OO((bit, t, f))
-#    define BOOST_PP_IIF_OO(par) BOOST_PP_IIF_I ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f)
-# else
-#    define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_II(BOOST_PP_IIF_ ## bit(t, f))
-#    define BOOST_PP_IIF_II(id) id
-# endif
-#
-# define BOOST_PP_IIF_0(t, f) f
-# define BOOST_PP_IIF_1(t, f) t
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/control/while.hpp b/SRC/Boost/boost/preprocessor/control/while.hpp
deleted file mode 100755
index 31f9746..0000000
--- a/SRC/Boost/boost/preprocessor/control/while.hpp
+++ /dev/null
@@ -1,312 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_WHILE_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/list/fold_left.hpp>
-# include <boost/preprocessor/list/fold_right.hpp>
-# include <boost/preprocessor/logical/bitand.hpp>
-#
-# /* BOOST_PP_WHILE */
-#
-# if 0
-#    define BOOST_PP_WHILE(pred, op, state)
-# endif
-#
-# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_CHECK_, BOOST_PP_LIST_FOLD_RIGHT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL))))
-# else
-#    define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)))
-# endif
-#
-# define BOOST_PP_WHILE_F(d, _) 0
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    include <boost/preprocessor/control/detail/edg/while.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    include <boost/preprocessor/control/detail/msvc/while.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#    include <boost/preprocessor/control/detail/dmc/while.hpp>
-# else
-#    include <boost/preprocessor/control/detail/while.hpp>
-# endif
-#
-# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_ERROR(0x0001)
-#
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_NIL 1
-#
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_2(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_3(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_4(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_5(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_6(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_7(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_8(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_9(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_10(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_11(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_12(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_13(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_14(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_15(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_16(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_17(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_18(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_19(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_20(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_21(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_22(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_23(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_24(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_25(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_26(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_27(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_28(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_29(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_30(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_31(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_32(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_33(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_34(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_35(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_36(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_37(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_38(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_39(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_40(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_41(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_42(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_43(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_44(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_45(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_46(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_47(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_48(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_49(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_50(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_51(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_52(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_53(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_54(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_55(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_56(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_57(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_58(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_59(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_60(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_61(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_62(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_63(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_64(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_65(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_66(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_67(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_68(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_69(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_70(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_71(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_72(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_73(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_74(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_75(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_76(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_77(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_78(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_79(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_80(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_81(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_82(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_83(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_84(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_85(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_86(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_87(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_88(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_89(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_90(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_91(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_92(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_93(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_94(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_95(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_96(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_97(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_98(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_99(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_100(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_101(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_102(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_103(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_104(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_105(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_106(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_107(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_108(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_109(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_110(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_111(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_112(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_113(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_114(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_115(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_116(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_117(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_118(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_119(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_120(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_121(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_122(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_123(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_124(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_125(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_126(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_127(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_128(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_129(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_130(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_131(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_132(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_133(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_134(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_135(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_136(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_137(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_138(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_139(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_140(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_141(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_142(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_143(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_144(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_145(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_146(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_147(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_148(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_149(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_150(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_151(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_152(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_153(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_154(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_155(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_156(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_157(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_158(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_159(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_160(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_161(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_162(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_163(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_164(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_165(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_166(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_167(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_168(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_169(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_170(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_171(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_172(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_173(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_174(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_175(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_176(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_177(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_178(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_179(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_180(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_181(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_182(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_183(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_184(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_185(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_186(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_187(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_188(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_189(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_190(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_191(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_192(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_193(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_194(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_195(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_196(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_197(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_198(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_199(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_200(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_201(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_202(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_203(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_204(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_205(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_206(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_207(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_208(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_209(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_210(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_211(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_212(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_213(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_214(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_215(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_216(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_217(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_218(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_219(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_220(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_221(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_222(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_223(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_224(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_225(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_226(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_227(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_228(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_229(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_230(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_231(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_232(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_233(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_234(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_235(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_236(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_237(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_238(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_239(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_240(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_241(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_242(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_243(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_244(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_245(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_246(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_247(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_248(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_249(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_250(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_251(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_252(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_253(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_254(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_255(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_256(p, o, s) 0
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/debug.hpp b/SRC/Boost/boost/preprocessor/debug.hpp
deleted file mode 100755
index ad6f6f6..0000000
--- a/SRC/Boost/boost/preprocessor/debug.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DEBUG_HPP
-# define BOOST_PREPROCESSOR_DEBUG_HPP
-#
-# include <boost/preprocessor/debug/assert.hpp>
-# include <boost/preprocessor/debug/line.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/debug/assert.hpp b/SRC/Boost/boost/preprocessor/debug/assert.hpp
deleted file mode 100755
index 66e333e..0000000
--- a/SRC/Boost/boost/preprocessor/debug/assert.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DEBUG_ASSERT_HPP
-# define BOOST_PREPROCESSOR_DEBUG_ASSERT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/not.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# /* BOOST_PP_ASSERT */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ASSERT BOOST_PP_ASSERT_D
-# else
-#    define BOOST_PP_ASSERT(cond) BOOST_PP_ASSERT_D(cond)
-# endif
-#
-# define BOOST_PP_ASSERT_D(cond) BOOST_PP_IIF(BOOST_PP_NOT(cond), BOOST_PP_ASSERT_ERROR, BOOST_PP_TUPLE_EAT_1)(...)
-# define BOOST_PP_ASSERT_ERROR(x, y, z)
-#
-# /* BOOST_PP_ASSERT_MSG */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ASSERT_MSG BOOST_PP_ASSERT_MSG_D
-# else
-#    define BOOST_PP_ASSERT_MSG(cond, msg) BOOST_PP_ASSERT_MSG_D(cond, msg)
-# endif
-#
-# define BOOST_PP_ASSERT_MSG_D(cond, msg) BOOST_PP_EXPR_IIF(BOOST_PP_NOT(cond), msg)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/debug/error.hpp b/SRC/Boost/boost/preprocessor/debug/error.hpp
deleted file mode 100755
index 8941caf..0000000
--- a/SRC/Boost/boost/preprocessor/debug/error.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DEBUG_ERROR_HPP
-# define BOOST_PREPROCESSOR_DEBUG_ERROR_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_ERROR */
-#
-# if BOOST_PP_CONFIG_ERRORS
-#    define BOOST_PP_ERROR(code) BOOST_PP_CAT(BOOST_PP_ERROR_, code)
-# endif
-#
-# define BOOST_PP_ERROR_0x0000 BOOST_PP_ERROR(0x0000, BOOST_PP_INDEX_OUT_OF_BOUNDS)
-# define BOOST_PP_ERROR_0x0001 BOOST_PP_ERROR(0x0001, BOOST_PP_WHILE_OVERFLOW)
-# define BOOST_PP_ERROR_0x0002 BOOST_PP_ERROR(0x0002, BOOST_PP_FOR_OVERFLOW)
-# define BOOST_PP_ERROR_0x0003 BOOST_PP_ERROR(0x0003, BOOST_PP_REPEAT_OVERFLOW)
-# define BOOST_PP_ERROR_0x0004 BOOST_PP_ERROR(0x0004, BOOST_PP_LIST_FOLD_OVERFLOW)
-# define BOOST_PP_ERROR_0x0005 BOOST_PP_ERROR(0x0005, BOOST_PP_SEQ_FOLD_OVERFLOW)
-# define BOOST_PP_ERROR_0x0006 BOOST_PP_ERROR(0x0006, BOOST_PP_ARITHMETIC_OVERFLOW)
-# define BOOST_PP_ERROR_0x0007 BOOST_PP_ERROR(0x0007, BOOST_PP_DIVISION_BY_ZERO)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/debug/line.hpp b/SRC/Boost/boost/preprocessor/debug/line.hpp
deleted file mode 100755
index ac96c2c..0000000
--- a/SRC/Boost/boost/preprocessor/debug/line.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DEBUG_LINE_HPP
-# define BOOST_PREPROCESSOR_DEBUG_LINE_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/iteration/iterate.hpp>
-# include <boost/preprocessor/stringize.hpp>
-#
-# /* BOOST_PP_LINE */
-#
-# if BOOST_PP_CONFIG_EXTENDED_LINE_INFO
-#    define BOOST_PP_LINE(line, file) line BOOST_PP_CAT(BOOST_PP_LINE_, BOOST_PP_IS_ITERATING)(file)
-#    define BOOST_PP_LINE_BOOST_PP_IS_ITERATING(file) #file
-#    define BOOST_PP_LINE_1(file) BOOST_PP_STRINGIZE(file BOOST_PP_CAT(BOOST_PP_LINE_I_, BOOST_PP_ITERATION_DEPTH())())
-#    define BOOST_PP_LINE_I_1() [BOOST_PP_FRAME_ITERATION(1)]
-#    define BOOST_PP_LINE_I_2() BOOST_PP_LINE_I_1()[BOOST_PP_FRAME_ITERATION(2)]
-#    define BOOST_PP_LINE_I_3() BOOST_PP_LINE_I_2()[BOOST_PP_FRAME_ITERATION(3)]
-#    define BOOST_PP_LINE_I_4() BOOST_PP_LINE_I_3()[BOOST_PP_FRAME_ITERATION(4)]
-#    define BOOST_PP_LINE_I_5() BOOST_PP_LINE_I_4()[BOOST_PP_FRAME_ITERATION(5)]
-# else
-#    define BOOST_PP_LINE(line, file) line __FILE__
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/dec.hpp b/SRC/Boost/boost/preprocessor/dec.hpp
deleted file mode 100755
index 641c540..0000000
--- a/SRC/Boost/boost/preprocessor/dec.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DEC_HPP
-# define BOOST_PREPROCESSOR_DEC_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/detail/auto_rec.hpp b/SRC/Boost/boost/preprocessor/detail/auto_rec.hpp
deleted file mode 100755
index 9e706fa..0000000
--- a/SRC/Boost/boost/preprocessor/detail/auto_rec.hpp
+++ /dev/null
@@ -1,293 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#     include <boost/preprocessor/detail/dmc/auto_rec.hpp>
-# else
-#
-# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
-# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
-#
-# include <boost/preprocessor/control/iif.hpp>
-#
-# /* BOOST_PP_AUTO_REC */
-#
-# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred)
-#
-# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p)
-# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p)
-#
-# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192)
-#    define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96)
-#        define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48)
-#            define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24)
-#                define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12)
-#                    define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6)
-#                        define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)
-#                            define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2)
-#                            define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4)
-#                        define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7)
-#                            define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6)
-#                            define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8)
-#                    define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14)
-#                        define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11)
-#                            define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10)
-#                            define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12)
-#                        define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15)
-#                            define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14)
-#                            define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16)
-#                define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28)
-#                    define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22)
-#                        define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19)
-#                            define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18)
-#                            define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20)
-#                        define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23)
-#                            define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22)
-#                            define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24)
-#                    define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30)
-#                        define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27)
-#                            define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26)
-#                            define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28)
-#                        define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31)
-#                            define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30)
-#                            define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32)
-#            define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56)
-#                define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44)
-#                    define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38)
-#                        define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35)
-#                            define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34)
-#                            define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36)
-#                        define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39)
-#                            define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38)
-#                            define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40)
-#                    define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46)
-#                        define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43)
-#                            define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42)
-#                            define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44)
-#                        define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47)
-#                            define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46)
-#                            define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48)
-#                define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60)
-#                    define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54)
-#                        define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51)
-#                            define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50)
-#                            define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52)
-#                        define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55)
-#                            define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54)
-#                            define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56)
-#                    define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62)
-#                        define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59)
-#                            define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58)
-#                            define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60)
-#                        define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63)
-#                            define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62)
-#                            define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64)
-#        define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112)
-#            define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88)
-#                define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76)
-#                    define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70)
-#                        define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67)
-#                            define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66)
-#                            define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68)
-#                        define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71)
-#                            define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70)
-#                            define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72)
-#                    define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78)
-#                        define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75)
-#                            define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74)
-#                            define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76)
-#                        define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79)
-#                            define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78)
-#                            define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80)
-#                define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92)
-#                    define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86)
-#                        define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83)
-#                            define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82)
-#                            define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84)
-#                        define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87)
-#                            define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86)
-#                            define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88)
-#                    define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94)
-#                        define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91)
-#                            define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90)
-#                            define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92)
-#                        define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95)
-#                            define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94)
-#                            define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96)
-#            define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120)
-#                define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108)
-#                    define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102)
-#                        define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99)
-#                            define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98)
-#                            define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100)
-#                        define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103)
-#                            define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102)
-#                            define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104)
-#                    define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110)
-#                        define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107)
-#                            define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106)
-#                            define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108)
-#                        define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111)
-#                            define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110)
-#                            define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p(111), 111, 112)
-#                define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124)
-#                    define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118)
-#                        define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115)
-#                            define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p(113), 113, 114)
-#                            define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p(115), 115, 116)
-#                        define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119)
-#                            define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p(117), 117, 118)
-#                            define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p(119), 119, 120)
-#                    define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126)
-#                        define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123)
-#                            define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p(121), 121, 122)
-#                            define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p(123), 123, 124)
-#                        define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127)
-#                            define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p(125), 125, 126)
-#                            define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p(127), 127, 128)
-#    define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224)
-#        define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176)
-#            define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152)
-#                define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140)
-#                    define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134)
-#                        define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131)
-#                            define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p(129), 129, 130)
-#                            define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p(131), 131, 132)
-#                        define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135)
-#                            define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p(133), 133, 134)
-#                            define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p(135), 135, 136)
-#                    define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142)
-#                        define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139)
-#                            define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p(137), 137, 138)
-#                            define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p(139), 139, 140)
-#                        define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143)
-#                            define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p(141), 141, 142)
-#                            define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p(143), 143, 144)
-#                define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156)
-#                    define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150)
-#                        define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147)
-#                            define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p(145), 145, 146)
-#                            define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p(147), 147, 148)
-#                        define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151)
-#                            define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p(149), 149, 150)
-#                            define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p(151), 151, 152)
-#                    define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158)
-#                        define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155)
-#                            define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p(153), 153, 154)
-#                            define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p(155), 155, 156)
-#                        define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159)
-#                            define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p(157), 157, 158)
-#                            define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p(159), 159, 160)
-#            define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184)
-#                define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172)
-#                    define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166)
-#                        define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163)
-#                            define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p(161), 161, 162)
-#                            define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p(163), 163, 164)
-#                        define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167)
-#                            define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p(165), 165, 166)
-#                            define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p(167), 167, 168)
-#                    define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174)
-#                        define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171)
-#                            define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p(169), 169, 170)
-#                            define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p(171), 171, 172)
-#                        define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175)
-#                            define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p(173), 173, 174)
-#                            define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p(175), 175, 176)
-#                define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188)
-#                    define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182)
-#                        define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179)
-#                            define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p(177), 177, 178)
-#                            define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p(179), 179, 180)
-#                        define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183)
-#                            define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p(181), 181, 182)
-#                            define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p(183), 183, 184)
-#                    define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190)
-#                        define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187)
-#                            define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p(185), 185, 186)
-#                            define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p(187), 187, 188)
-#                        define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191)
-#                            define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p(189), 189, 190)
-#                            define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p(191), 191, 192)
-#        define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240)
-#            define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216)
-#                define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204)
-#                    define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198)
-#                        define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195)
-#                            define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p(193), 193, 194)
-#                            define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p(195), 195, 196)
-#                        define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199)
-#                            define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p(197), 197, 198)
-#                            define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p(199), 199, 200)
-#                    define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206)
-#                        define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203)
-#                            define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p(201), 201, 202)
-#                            define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p(203), 203, 204)
-#                        define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207)
-#                            define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p(205), 205, 206)
-#                            define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p(207), 207, 208)
-#                define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220)
-#                    define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214)
-#                        define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211)
-#                            define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p(209), 209, 210)
-#                            define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p(211), 211, 212)
-#                        define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215)
-#                            define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p(213), 213, 214)
-#                            define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p(215), 215, 216)
-#                    define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222)
-#                        define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219)
-#                            define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p(217), 217, 218)
-#                            define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p(219), 219, 220)
-#                        define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223)
-#                            define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p(221), 221, 222)
-#                            define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p(223), 223, 224)
-#            define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248)
-#                define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236)
-#                    define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230)
-#                        define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227)
-#                            define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p(225), 225, 226)
-#                            define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p(227), 227, 228)
-#                        define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231)
-#                            define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p(229), 229, 230)
-#                            define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p(231), 231, 232)
-#                    define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238)
-#                        define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235)
-#                            define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p(233), 233, 234)
-#                            define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p(235), 235, 236)
-#                        define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239)
-#                            define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p(237), 237, 238)
-#                            define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p(239), 239, 240)
-#                define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252)
-#                    define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246)
-#                        define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243)
-#                            define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p(241), 241, 242)
-#                            define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p(243), 243, 244)
-#                        define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247)
-#                            define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p(245), 245, 246)
-#                            define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p(247), 247, 248)
-#                    define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254)
-#                        define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251)
-#                            define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p(249), 249, 250)
-#                            define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p(251), 251, 252)
-#                        define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255)
-#                            define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p(253), 253, 254)
-#                            define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p(255), 255, 256)
-#
-# endif
-# endif
diff --git a/SRC/Boost/boost/preprocessor/detail/check.hpp b/SRC/Boost/boost/preprocessor/detail/check.hpp
deleted file mode 100755
index 8e374c6..0000000
--- a/SRC/Boost/boost/preprocessor/detail/check.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DETAIL_CHECK_HPP
-# define BOOST_PREPROCESSOR_DETAIL_CHECK_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_CHECK */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_D(x, type)
-# else
-#    define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_OO((x, type))
-#    define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_D ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x))
-#    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
-#    define BOOST_PP_CHECK_2(res, _) res
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(type x)
-#    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
-#    define BOOST_PP_CHECK_2(chk) BOOST_PP_CHECK_3((BOOST_PP_CHECK_RESULT_ ## chk))
-#    define BOOST_PP_CHECK_3(im) BOOST_PP_CHECK_5(BOOST_PP_CHECK_4 im)
-#    define BOOST_PP_CHECK_4(res, _) res
-#    define BOOST_PP_CHECK_5(res) res
-# else /* DMC */
-#    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_OO((type x))
-#    define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_0 ## par
-#    define BOOST_PP_CHECK_0(chk) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, chk))
-#    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
-#    define BOOST_PP_CHECK_2(res, _) res
-# endif
-#
-# define BOOST_PP_CHECK_RESULT_1 1, BOOST_PP_NIL
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/detail/dmc/auto_rec.hpp b/SRC/Boost/boost/preprocessor/detail/dmc/auto_rec.hpp
deleted file mode 100755
index dda0ba9..0000000
--- a/SRC/Boost/boost/preprocessor/detail/dmc/auto_rec.hpp
+++ /dev/null
@@ -1,286 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
-# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
-#
-# include <boost/preprocessor/control/iif.hpp>
-#
-# /* BOOST_PP_AUTO_REC */
-#
-# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred)
-#
-# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p)
-# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p)
-#
-# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p##(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192)
-#    define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p##(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96)
-#        define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p##(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48)
-#            define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p##(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24)
-#                define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p##(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12)
-#                    define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p##(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6)
-#                        define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p##(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)
-#                            define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p##(1), 1, 2)
-#                            define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p##(3), 3, 4)
-#                        define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p##(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7)
-#                            define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p##(5), 5, 6)
-#                            define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p##(7), 7, 8)
-#                    define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p##(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14)
-#                        define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p##(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11)
-#                            define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p##(9), 9, 10)
-#                            define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p##(11), 11, 12)
-#                        define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p##(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15)
-#                            define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p##(13), 13, 14)
-#                            define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p##(15), 15, 16)
-#                define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p##(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28)
-#                    define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p##(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22)
-#                        define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p##(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19)
-#                            define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p##(17), 17, 18)
-#                            define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p##(19), 19, 20)
-#                        define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p##(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23)
-#                            define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p##(21), 21, 22)
-#                            define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p##(23), 23, 24)
-#                    define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p##(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30)
-#                        define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p##(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27)
-#                            define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p##(25), 25, 26)
-#                            define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p##(27), 27, 28)
-#                        define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p##(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31)
-#                            define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p##(29), 29, 30)
-#                            define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p##(31), 31, 32)
-#            define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p##(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56)
-#                define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p##(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44)
-#                    define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p##(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38)
-#                        define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p##(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35)
-#                            define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p##(33), 33, 34)
-#                            define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p##(35), 35, 36)
-#                        define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p##(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39)
-#                            define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p##(37), 37, 38)
-#                            define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p##(39), 39, 40)
-#                    define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p##(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46)
-#                        define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p##(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43)
-#                            define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p##(41), 41, 42)
-#                            define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p##(43), 43, 44)
-#                        define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p##(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47)
-#                            define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p##(45), 45, 46)
-#                            define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p##(47), 47, 48)
-#                define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p##(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60)
-#                    define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p##(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54)
-#                        define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p##(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51)
-#                            define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p##(49), 49, 50)
-#                            define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p##(51), 51, 52)
-#                        define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p##(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55)
-#                            define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p##(53), 53, 54)
-#                            define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p##(55), 55, 56)
-#                    define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p##(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62)
-#                        define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p##(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59)
-#                            define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p##(57), 57, 58)
-#                            define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p##(59), 59, 60)
-#                        define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p##(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63)
-#                            define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p##(61), 61, 62)
-#                            define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p##(63), 63, 64)
-#        define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p##(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112)
-#            define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p##(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88)
-#                define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p##(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76)
-#                    define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p##(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70)
-#                        define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p##(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67)
-#                            define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p##(65), 65, 66)
-#                            define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p##(67), 67, 68)
-#                        define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p##(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71)
-#                            define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p##(69), 69, 70)
-#                            define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p##(71), 71, 72)
-#                    define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p##(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78)
-#                        define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p##(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75)
-#                            define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p##(73), 73, 74)
-#                            define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p##(75), 75, 76)
-#                        define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p##(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79)
-#                            define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p##(77), 77, 78)
-#                            define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p##(79), 79, 80)
-#                define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p##(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92)
-#                    define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p##(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86)
-#                        define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p##(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83)
-#                            define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p##(81), 81, 82)
-#                            define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p##(83), 83, 84)
-#                        define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p##(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87)
-#                            define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p##(85), 85, 86)
-#                            define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p##(87), 87, 88)
-#                    define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p##(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94)
-#                        define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p##(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91)
-#                            define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p##(89), 89, 90)
-#                            define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p##(91), 91, 92)
-#                        define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p##(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95)
-#                            define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p##(93), 93, 94)
-#                            define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p##(95), 95, 96)
-#            define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p##(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120)
-#                define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p##(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108)
-#                    define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p##(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102)
-#                        define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p##(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99)
-#                            define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p##(97), 97, 98)
-#                            define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p##(99), 99, 100)
-#                        define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p##(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103)
-#                            define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p##(101), 101, 102)
-#                            define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p##(103), 103, 104)
-#                    define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p##(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110)
-#                        define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p##(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107)
-#                            define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p##(105), 105, 106)
-#                            define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p##(107), 107, 108)
-#                        define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p##(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111)
-#                            define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p##(109), 109, 110)
-#                            define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p##(111), 111, 112)
-#                define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p##(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124)
-#                    define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p##(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118)
-#                        define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p##(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115)
-#                            define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p##(113), 113, 114)
-#                            define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p##(115), 115, 116)
-#                        define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p##(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119)
-#                            define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p##(117), 117, 118)
-#                            define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p##(119), 119, 120)
-#                    define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p##(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126)
-#                        define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p##(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123)
-#                            define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p##(121), 121, 122)
-#                            define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p##(123), 123, 124)
-#                        define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p##(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127)
-#                            define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p##(125), 125, 126)
-#                            define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p##(127), 127, 128)
-#    define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p##(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224)
-#        define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p##(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176)
-#            define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p##(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152)
-#                define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p##(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140)
-#                    define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p##(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134)
-#                        define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p##(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131)
-#                            define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p##(129), 129, 130)
-#                            define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p##(131), 131, 132)
-#                        define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p##(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135)
-#                            define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p##(133), 133, 134)
-#                            define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p##(135), 135, 136)
-#                    define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p##(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142)
-#                        define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p##(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139)
-#                            define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p##(137), 137, 138)
-#                            define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p##(139), 139, 140)
-#                        define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p##(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143)
-#                            define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p##(141), 141, 142)
-#                            define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p##(143), 143, 144)
-#                define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p##(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156)
-#                    define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p##(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150)
-#                        define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p##(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147)
-#                            define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p##(145), 145, 146)
-#                            define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p##(147), 147, 148)
-#                        define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p##(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151)
-#                            define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p##(149), 149, 150)
-#                            define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p##(151), 151, 152)
-#                    define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p##(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158)
-#                        define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p##(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155)
-#                            define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p##(153), 153, 154)
-#                            define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p##(155), 155, 156)
-#                        define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p##(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159)
-#                            define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p##(157), 157, 158)
-#                            define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p##(159), 159, 160)
-#            define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p##(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184)
-#                define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p##(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172)
-#                    define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p##(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166)
-#                        define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p##(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163)
-#                            define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p##(161), 161, 162)
-#                            define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p##(163), 163, 164)
-#                        define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p##(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167)
-#                            define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p##(165), 165, 166)
-#                            define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p##(167), 167, 168)
-#                    define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p##(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174)
-#                        define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p##(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171)
-#                            define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p##(169), 169, 170)
-#                            define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p##(171), 171, 172)
-#                        define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p##(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175)
-#                            define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p##(173), 173, 174)
-#                            define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p##(175), 175, 176)
-#                define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p##(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188)
-#                    define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p##(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182)
-#                        define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p##(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179)
-#                            define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p##(177), 177, 178)
-#                            define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p##(179), 179, 180)
-#                        define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p##(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183)
-#                            define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p##(181), 181, 182)
-#                            define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p##(183), 183, 184)
-#                    define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p##(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190)
-#                        define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p##(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187)
-#                            define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p##(185), 185, 186)
-#                            define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p##(187), 187, 188)
-#                        define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p##(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191)
-#                            define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p##(189), 189, 190)
-#                            define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p##(191), 191, 192)
-#        define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p##(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240)
-#            define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p##(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216)
-#                define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p##(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204)
-#                    define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p##(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198)
-#                        define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p##(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195)
-#                            define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p##(193), 193, 194)
-#                            define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p##(195), 195, 196)
-#                        define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p##(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199)
-#                            define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p##(197), 197, 198)
-#                            define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p##(199), 199, 200)
-#                    define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p##(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206)
-#                        define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p##(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203)
-#                            define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p##(201), 201, 202)
-#                            define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p##(203), 203, 204)
-#                        define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p##(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207)
-#                            define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p##(205), 205, 206)
-#                            define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p##(207), 207, 208)
-#                define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p##(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220)
-#                    define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p##(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214)
-#                        define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p##(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211)
-#                            define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p##(209), 209, 210)
-#                            define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p##(211), 211, 212)
-#                        define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p##(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215)
-#                            define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p##(213), 213, 214)
-#                            define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p##(215), 215, 216)
-#                    define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p##(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222)
-#                        define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p##(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219)
-#                            define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p##(217), 217, 218)
-#                            define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p##(219), 219, 220)
-#                        define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p##(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223)
-#                            define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p##(221), 221, 222)
-#                            define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p##(223), 223, 224)
-#            define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p##(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248)
-#                define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p##(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236)
-#                    define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p##(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230)
-#                        define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p##(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227)
-#                            define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p##(225), 225, 226)
-#                            define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p##(227), 227, 228)
-#                        define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p##(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231)
-#                            define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p##(229), 229, 230)
-#                            define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p##(231), 231, 232)
-#                    define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p##(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238)
-#                        define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p##(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235)
-#                            define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p##(233), 233, 234)
-#                            define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p##(235), 235, 236)
-#                        define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p##(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239)
-#                            define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p##(237), 237, 238)
-#                            define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p##(239), 239, 240)
-#                define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p##(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252)
-#                    define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p##(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246)
-#                        define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p##(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243)
-#                            define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p##(241), 241, 242)
-#                            define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p##(243), 243, 244)
-#                        define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p##(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247)
-#                            define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p##(245), 245, 246)
-#                            define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p##(247), 247, 248)
-#                    define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p##(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254)
-#                        define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p##(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251)
-#                            define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p##(249), 249, 250)
-#                            define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p##(251), 251, 252)
-#                        define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p##(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255)
-#                            define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p##(253), 253, 254)
-#                            define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p##(255), 255, 256)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/detail/is_binary.hpp b/SRC/Boost/boost/preprocessor/detail/is_binary.hpp
deleted file mode 100755
index f2180e5..0000000
--- a/SRC/Boost/boost/preprocessor/detail/is_binary.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP
-# define BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/detail/check.hpp>
-#
-# /* BOOST_PP_IS_BINARY */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_IS_BINARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)
-# else
-#    define BOOST_PP_IS_BINARY(x) BOOST_PP_IS_BINARY_I(x)
-#    define BOOST_PP_IS_BINARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)
-# endif
-#
-# define BOOST_PP_IS_BINARY_CHECK(a, b) 1
-# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_BINARY_CHECK 0, BOOST_PP_NIL
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/detail/is_unary.hpp b/SRC/Boost/boost/preprocessor/detail/is_unary.hpp
deleted file mode 100755
index 72486c5..0000000
--- a/SRC/Boost/boost/preprocessor/detail/is_unary.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP
-# define BOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/detail/check.hpp>
-#
-# /* BOOST_PP_IS_UNARY */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_IS_UNARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_UNARY_CHECK)
-# else
-#    define BOOST_PP_IS_UNARY(x) BOOST_PP_IS_UNARY_I(x)
-#    define BOOST_PP_IS_UNARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_UNARY_CHECK)
-# endif
-#
-# define BOOST_PP_IS_UNARY_CHECK(a) 1
-# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_UNARY_CHECK 0, BOOST_PP_NIL
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/empty.hpp b/SRC/Boost/boost/preprocessor/empty.hpp
deleted file mode 100755
index 2367897..0000000
--- a/SRC/Boost/boost/preprocessor/empty.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_EMPTY_HPP
-# define BOOST_PREPROCESSOR_EMPTY_HPP
-#
-# include <boost/preprocessor/facilities/empty.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/enum.hpp b/SRC/Boost/boost/preprocessor/enum.hpp
deleted file mode 100755
index a5bd7e0..0000000
--- a/SRC/Boost/boost/preprocessor/enum.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ENUM_HPP
-# define BOOST_PREPROCESSOR_ENUM_HPP
-#
-# include <boost/preprocessor/repetition/enum.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/enum_params.hpp b/SRC/Boost/boost/preprocessor/enum_params.hpp
deleted file mode 100755
index 4b03350..0000000
--- a/SRC/Boost/boost/preprocessor/enum_params.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
-# define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
-#
-# include <boost/preprocessor/repetition/enum_params.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/enum_params_with_a_default.hpp b/SRC/Boost/boost/preprocessor/enum_params_with_a_default.hpp
deleted file mode 100755
index ed7f22d..0000000
--- a/SRC/Boost/boost/preprocessor/enum_params_with_a_default.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
-# define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
-#
-# include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/enum_params_with_defaults.hpp b/SRC/Boost/boost/preprocessor/enum_params_with_defaults.hpp
deleted file mode 100755
index cab7db6..0000000
--- a/SRC/Boost/boost/preprocessor/enum_params_with_defaults.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP
-# define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP
-#
-# include <boost/preprocessor/repetition/enum_params_with_defaults.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/enum_shifted_params.hpp b/SRC/Boost/boost/preprocessor/enum_shifted_params.hpp
deleted file mode 100755
index ebdea2d..0000000
--- a/SRC/Boost/boost/preprocessor/enum_shifted_params.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
-# define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
-#
-# include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/expr_if.hpp b/SRC/Boost/boost/preprocessor/expr_if.hpp
deleted file mode 100755
index 46948e9..0000000
--- a/SRC/Boost/boost/preprocessor/expr_if.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_EXPR_IF_HPP
-# define BOOST_PREPROCESSOR_EXPR_IF_HPP
-#
-# include <boost/preprocessor/control/expr_if.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/facilities.hpp b/SRC/Boost/boost/preprocessor/facilities.hpp
deleted file mode 100755
index af8eb07..0000000
--- a/SRC/Boost/boost/preprocessor/facilities.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_HPP
-#
-# include <boost/preprocessor/facilities/apply.hpp>
-# include <boost/preprocessor/facilities/empty.hpp>
-# include <boost/preprocessor/facilities/expand.hpp>
-# include <boost/preprocessor/facilities/identity.hpp>
-# include <boost/preprocessor/facilities/intercept.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/facilities/apply.hpp b/SRC/Boost/boost/preprocessor/facilities/apply.hpp
deleted file mode 100755
index 360bb50..0000000
--- a/SRC/Boost/boost/preprocessor/facilities/apply.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_APPLY_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_APPLY_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/detail/is_unary.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_APPLY */
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_APPLY(x) BOOST_PP_APPLY_I(x)
-#    define BOOST_PP_APPLY_I(x) BOOST_PP_EXPR_IIF(BOOST_PP_IS_UNARY(x), BOOST_PP_TUPLE_REM_1 x)
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()
-#    define BOOST_PP_APPLY(x) BOOST_PP_APPLY_I(x)
-#    define BOOST_PP_APPLY_I(x) BOOST_PP_APPLY_ ## x
-#    define BOOST_PP_APPLY_(x) x
-#    define BOOST_PP_APPLY_BOOST_PP_NIL
-# else
-#    define BOOST_PP_APPLY(x) BOOST_PP_EXPR_IIF(BOOST_PP_IS_UNARY(x), BOOST_PP_TUPLE_REM_1 x)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/facilities/empty.hpp b/SRC/Boost/boost/preprocessor/facilities/empty.hpp
deleted file mode 100755
index ad45c12..0000000
--- a/SRC/Boost/boost/preprocessor/facilities/empty.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
-#
-# /* BOOST_PP_EMPTY */
-#
-# define BOOST_PP_EMPTY()
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/facilities/expand.hpp b/SRC/Boost/boost/preprocessor/facilities/expand.hpp
deleted file mode 100755
index 562d5fd..0000000
--- a/SRC/Boost/boost/preprocessor/facilities/expand.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#    define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_I(x)
-# else
-#    define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_OO((x))
-#    define BOOST_PP_EXPAND_OO(par) BOOST_PP_EXPAND_I ## par
-# endif
-#
-# define BOOST_PP_EXPAND_I(x) x
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/facilities/identity.hpp b/SRC/Boost/boost/preprocessor/facilities/identity.hpp
deleted file mode 100755
index f79b3ce..0000000
--- a/SRC/Boost/boost/preprocessor/facilities/identity.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP
-#
-# include <boost/preprocessor/facilities/empty.hpp>
-#
-# /* BOOST_PP_IDENTITY */
-#
-# define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/facilities/intercept.hpp b/SRC/Boost/boost/preprocessor/facilities/intercept.hpp
deleted file mode 100755
index 3cbaa67..0000000
--- a/SRC/Boost/boost/preprocessor/facilities/intercept.hpp
+++ /dev/null
@@ -1,277 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP
-#
-# /* BOOST_PP_INTERCEPT */
-#
-# define BOOST_PP_INTERCEPT BOOST_PP_INTERCEPT_
-#
-# define BOOST_PP_INTERCEPT_0
-# define BOOST_PP_INTERCEPT_1
-# define BOOST_PP_INTERCEPT_2
-# define BOOST_PP_INTERCEPT_3
-# define BOOST_PP_INTERCEPT_4
-# define BOOST_PP_INTERCEPT_5
-# define BOOST_PP_INTERCEPT_6
-# define BOOST_PP_INTERCEPT_7
-# define BOOST_PP_INTERCEPT_8
-# define BOOST_PP_INTERCEPT_9
-# define BOOST_PP_INTERCEPT_10
-# define BOOST_PP_INTERCEPT_11
-# define BOOST_PP_INTERCEPT_12
-# define BOOST_PP_INTERCEPT_13
-# define BOOST_PP_INTERCEPT_14
-# define BOOST_PP_INTERCEPT_15
-# define BOOST_PP_INTERCEPT_16
-# define BOOST_PP_INTERCEPT_17
-# define BOOST_PP_INTERCEPT_18
-# define BOOST_PP_INTERCEPT_19
-# define BOOST_PP_INTERCEPT_20
-# define BOOST_PP_INTERCEPT_21
-# define BOOST_PP_INTERCEPT_22
-# define BOOST_PP_INTERCEPT_23
-# define BOOST_PP_INTERCEPT_24
-# define BOOST_PP_INTERCEPT_25
-# define BOOST_PP_INTERCEPT_26
-# define BOOST_PP_INTERCEPT_27
-# define BOOST_PP_INTERCEPT_28
-# define BOOST_PP_INTERCEPT_29
-# define BOOST_PP_INTERCEPT_30
-# define BOOST_PP_INTERCEPT_31
-# define BOOST_PP_INTERCEPT_32
-# define BOOST_PP_INTERCEPT_33
-# define BOOST_PP_INTERCEPT_34
-# define BOOST_PP_INTERCEPT_35
-# define BOOST_PP_INTERCEPT_36
-# define BOOST_PP_INTERCEPT_37
-# define BOOST_PP_INTERCEPT_38
-# define BOOST_PP_INTERCEPT_39
-# define BOOST_PP_INTERCEPT_40
-# define BOOST_PP_INTERCEPT_41
-# define BOOST_PP_INTERCEPT_42
-# define BOOST_PP_INTERCEPT_43
-# define BOOST_PP_INTERCEPT_44
-# define BOOST_PP_INTERCEPT_45
-# define BOOST_PP_INTERCEPT_46
-# define BOOST_PP_INTERCEPT_47
-# define BOOST_PP_INTERCEPT_48
-# define BOOST_PP_INTERCEPT_49
-# define BOOST_PP_INTERCEPT_50
-# define BOOST_PP_INTERCEPT_51
-# define BOOST_PP_INTERCEPT_52
-# define BOOST_PP_INTERCEPT_53
-# define BOOST_PP_INTERCEPT_54
-# define BOOST_PP_INTERCEPT_55
-# define BOOST_PP_INTERCEPT_56
-# define BOOST_PP_INTERCEPT_57
-# define BOOST_PP_INTERCEPT_58
-# define BOOST_PP_INTERCEPT_59
-# define BOOST_PP_INTERCEPT_60
-# define BOOST_PP_INTERCEPT_61
-# define BOOST_PP_INTERCEPT_62
-# define BOOST_PP_INTERCEPT_63
-# define BOOST_PP_INTERCEPT_64
-# define BOOST_PP_INTERCEPT_65
-# define BOOST_PP_INTERCEPT_66
-# define BOOST_PP_INTERCEPT_67
-# define BOOST_PP_INTERCEPT_68
-# define BOOST_PP_INTERCEPT_69
-# define BOOST_PP_INTERCEPT_70
-# define BOOST_PP_INTERCEPT_71
-# define BOOST_PP_INTERCEPT_72
-# define BOOST_PP_INTERCEPT_73
-# define BOOST_PP_INTERCEPT_74
-# define BOOST_PP_INTERCEPT_75
-# define BOOST_PP_INTERCEPT_76
-# define BOOST_PP_INTERCEPT_77
-# define BOOST_PP_INTERCEPT_78
-# define BOOST_PP_INTERCEPT_79
-# define BOOST_PP_INTERCEPT_80
-# define BOOST_PP_INTERCEPT_81
-# define BOOST_PP_INTERCEPT_82
-# define BOOST_PP_INTERCEPT_83
-# define BOOST_PP_INTERCEPT_84
-# define BOOST_PP_INTERCEPT_85
-# define BOOST_PP_INTERCEPT_86
-# define BOOST_PP_INTERCEPT_87
-# define BOOST_PP_INTERCEPT_88
-# define BOOST_PP_INTERCEPT_89
-# define BOOST_PP_INTERCEPT_90
-# define BOOST_PP_INTERCEPT_91
-# define BOOST_PP_INTERCEPT_92
-# define BOOST_PP_INTERCEPT_93
-# define BOOST_PP_INTERCEPT_94
-# define BOOST_PP_INTERCEPT_95
-# define BOOST_PP_INTERCEPT_96
-# define BOOST_PP_INTERCEPT_97
-# define BOOST_PP_INTERCEPT_98
-# define BOOST_PP_INTERCEPT_99
-# define BOOST_PP_INTERCEPT_100
-# define BOOST_PP_INTERCEPT_101
-# define BOOST_PP_INTERCEPT_102
-# define BOOST_PP_INTERCEPT_103
-# define BOOST_PP_INTERCEPT_104
-# define BOOST_PP_INTERCEPT_105
-# define BOOST_PP_INTERCEPT_106
-# define BOOST_PP_INTERCEPT_107
-# define BOOST_PP_INTERCEPT_108
-# define BOOST_PP_INTERCEPT_109
-# define BOOST_PP_INTERCEPT_110
-# define BOOST_PP_INTERCEPT_111
-# define BOOST_PP_INTERCEPT_112
-# define BOOST_PP_INTERCEPT_113
-# define BOOST_PP_INTERCEPT_114
-# define BOOST_PP_INTERCEPT_115
-# define BOOST_PP_INTERCEPT_116
-# define BOOST_PP_INTERCEPT_117
-# define BOOST_PP_INTERCEPT_118
-# define BOOST_PP_INTERCEPT_119
-# define BOOST_PP_INTERCEPT_120
-# define BOOST_PP_INTERCEPT_121
-# define BOOST_PP_INTERCEPT_122
-# define BOOST_PP_INTERCEPT_123
-# define BOOST_PP_INTERCEPT_124
-# define BOOST_PP_INTERCEPT_125
-# define BOOST_PP_INTERCEPT_126
-# define BOOST_PP_INTERCEPT_127
-# define BOOST_PP_INTERCEPT_128
-# define BOOST_PP_INTERCEPT_129
-# define BOOST_PP_INTERCEPT_130
-# define BOOST_PP_INTERCEPT_131
-# define BOOST_PP_INTERCEPT_132
-# define BOOST_PP_INTERCEPT_133
-# define BOOST_PP_INTERCEPT_134
-# define BOOST_PP_INTERCEPT_135
-# define BOOST_PP_INTERCEPT_136
-# define BOOST_PP_INTERCEPT_137
-# define BOOST_PP_INTERCEPT_138
-# define BOOST_PP_INTERCEPT_139
-# define BOOST_PP_INTERCEPT_140
-# define BOOST_PP_INTERCEPT_141
-# define BOOST_PP_INTERCEPT_142
-# define BOOST_PP_INTERCEPT_143
-# define BOOST_PP_INTERCEPT_144
-# define BOOST_PP_INTERCEPT_145
-# define BOOST_PP_INTERCEPT_146
-# define BOOST_PP_INTERCEPT_147
-# define BOOST_PP_INTERCEPT_148
-# define BOOST_PP_INTERCEPT_149
-# define BOOST_PP_INTERCEPT_150
-# define BOOST_PP_INTERCEPT_151
-# define BOOST_PP_INTERCEPT_152
-# define BOOST_PP_INTERCEPT_153
-# define BOOST_PP_INTERCEPT_154
-# define BOOST_PP_INTERCEPT_155
-# define BOOST_PP_INTERCEPT_156
-# define BOOST_PP_INTERCEPT_157
-# define BOOST_PP_INTERCEPT_158
-# define BOOST_PP_INTERCEPT_159
-# define BOOST_PP_INTERCEPT_160
-# define BOOST_PP_INTERCEPT_161
-# define BOOST_PP_INTERCEPT_162
-# define BOOST_PP_INTERCEPT_163
-# define BOOST_PP_INTERCEPT_164
-# define BOOST_PP_INTERCEPT_165
-# define BOOST_PP_INTERCEPT_166
-# define BOOST_PP_INTERCEPT_167
-# define BOOST_PP_INTERCEPT_168
-# define BOOST_PP_INTERCEPT_169
-# define BOOST_PP_INTERCEPT_170
-# define BOOST_PP_INTERCEPT_171
-# define BOOST_PP_INTERCEPT_172
-# define BOOST_PP_INTERCEPT_173
-# define BOOST_PP_INTERCEPT_174
-# define BOOST_PP_INTERCEPT_175
-# define BOOST_PP_INTERCEPT_176
-# define BOOST_PP_INTERCEPT_177
-# define BOOST_PP_INTERCEPT_178
-# define BOOST_PP_INTERCEPT_179
-# define BOOST_PP_INTERCEPT_180
-# define BOOST_PP_INTERCEPT_181
-# define BOOST_PP_INTERCEPT_182
-# define BOOST_PP_INTERCEPT_183
-# define BOOST_PP_INTERCEPT_184
-# define BOOST_PP_INTERCEPT_185
-# define BOOST_PP_INTERCEPT_186
-# define BOOST_PP_INTERCEPT_187
-# define BOOST_PP_INTERCEPT_188
-# define BOOST_PP_INTERCEPT_189
-# define BOOST_PP_INTERCEPT_190
-# define BOOST_PP_INTERCEPT_191
-# define BOOST_PP_INTERCEPT_192
-# define BOOST_PP_INTERCEPT_193
-# define BOOST_PP_INTERCEPT_194
-# define BOOST_PP_INTERCEPT_195
-# define BOOST_PP_INTERCEPT_196
-# define BOOST_PP_INTERCEPT_197
-# define BOOST_PP_INTERCEPT_198
-# define BOOST_PP_INTERCEPT_199
-# define BOOST_PP_INTERCEPT_200
-# define BOOST_PP_INTERCEPT_201
-# define BOOST_PP_INTERCEPT_202
-# define BOOST_PP_INTERCEPT_203
-# define BOOST_PP_INTERCEPT_204
-# define BOOST_PP_INTERCEPT_205
-# define BOOST_PP_INTERCEPT_206
-# define BOOST_PP_INTERCEPT_207
-# define BOOST_PP_INTERCEPT_208
-# define BOOST_PP_INTERCEPT_209
-# define BOOST_PP_INTERCEPT_210
-# define BOOST_PP_INTERCEPT_211
-# define BOOST_PP_INTERCEPT_212
-# define BOOST_PP_INTERCEPT_213
-# define BOOST_PP_INTERCEPT_214
-# define BOOST_PP_INTERCEPT_215
-# define BOOST_PP_INTERCEPT_216
-# define BOOST_PP_INTERCEPT_217
-# define BOOST_PP_INTERCEPT_218
-# define BOOST_PP_INTERCEPT_219
-# define BOOST_PP_INTERCEPT_220
-# define BOOST_PP_INTERCEPT_221
-# define BOOST_PP_INTERCEPT_222
-# define BOOST_PP_INTERCEPT_223
-# define BOOST_PP_INTERCEPT_224
-# define BOOST_PP_INTERCEPT_225
-# define BOOST_PP_INTERCEPT_226
-# define BOOST_PP_INTERCEPT_227
-# define BOOST_PP_INTERCEPT_228
-# define BOOST_PP_INTERCEPT_229
-# define BOOST_PP_INTERCEPT_230
-# define BOOST_PP_INTERCEPT_231
-# define BOOST_PP_INTERCEPT_232
-# define BOOST_PP_INTERCEPT_233
-# define BOOST_PP_INTERCEPT_234
-# define BOOST_PP_INTERCEPT_235
-# define BOOST_PP_INTERCEPT_236
-# define BOOST_PP_INTERCEPT_237
-# define BOOST_PP_INTERCEPT_238
-# define BOOST_PP_INTERCEPT_239
-# define BOOST_PP_INTERCEPT_240
-# define BOOST_PP_INTERCEPT_241
-# define BOOST_PP_INTERCEPT_242
-# define BOOST_PP_INTERCEPT_243
-# define BOOST_PP_INTERCEPT_244
-# define BOOST_PP_INTERCEPT_245
-# define BOOST_PP_INTERCEPT_246
-# define BOOST_PP_INTERCEPT_247
-# define BOOST_PP_INTERCEPT_248
-# define BOOST_PP_INTERCEPT_249
-# define BOOST_PP_INTERCEPT_250
-# define BOOST_PP_INTERCEPT_251
-# define BOOST_PP_INTERCEPT_252
-# define BOOST_PP_INTERCEPT_253
-# define BOOST_PP_INTERCEPT_254
-# define BOOST_PP_INTERCEPT_255
-# define BOOST_PP_INTERCEPT_256
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/identity.hpp b/SRC/Boost/boost/preprocessor/identity.hpp
deleted file mode 100755
index 23f37a4..0000000
--- a/SRC/Boost/boost/preprocessor/identity.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
-# define BOOST_PREPROCESSOR_IDENTITY_HPP
-#
-# include <boost/preprocessor/facilities/identity.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/if.hpp b/SRC/Boost/boost/preprocessor/if.hpp
deleted file mode 100755
index 0a23da1..0000000
--- a/SRC/Boost/boost/preprocessor/if.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_IF_HPP
-# define BOOST_PREPROCESSOR_IF_HPP
-#
-# include <boost/preprocessor/control/if.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/inc.hpp b/SRC/Boost/boost/preprocessor/inc.hpp
deleted file mode 100755
index b11e899..0000000
--- a/SRC/Boost/boost/preprocessor/inc.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_INC_HPP
-# define BOOST_PREPROCESSOR_INC_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iterate.hpp b/SRC/Boost/boost/preprocessor/iterate.hpp
deleted file mode 100755
index b3b4aeb..0000000
--- a/SRC/Boost/boost/preprocessor/iterate.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ITERATE_HPP
-# define BOOST_PREPROCESSOR_ITERATE_HPP
-#
-# include <boost/preprocessor/iteration/iterate.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration.hpp b/SRC/Boost/boost/preprocessor/iteration.hpp
deleted file mode 100755
index bd2541e..0000000
--- a/SRC/Boost/boost/preprocessor/iteration.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ITERATION_HPP
-# define BOOST_PREPROCESSOR_ITERATION_HPP
-#
-# include <boost/preprocessor/iteration/iterate.hpp>
-# include <boost/preprocessor/iteration/local.hpp>
-# include <boost/preprocessor/iteration/self.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower1.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower1.hpp
deleted file mode 100755
index 6c4dad2..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower1.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_START_1
-#
-# undef BOOST_PP_ITERATION_START_1_DIGIT_1
-# undef BOOST_PP_ITERATION_START_1_DIGIT_2
-# undef BOOST_PP_ITERATION_START_1_DIGIT_3
-# undef BOOST_PP_ITERATION_START_1_DIGIT_4
-# undef BOOST_PP_ITERATION_START_1_DIGIT_5
-# undef BOOST_PP_ITERATION_START_1_DIGIT_6
-# undef BOOST_PP_ITERATION_START_1_DIGIT_7
-# undef BOOST_PP_ITERATION_START_1_DIGIT_8
-# undef BOOST_PP_ITERATION_START_1_DIGIT_9
-# undef BOOST_PP_ITERATION_START_1_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_START_1_DIGIT_3
-#    define BOOST_PP_ITERATION_START_1 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_1_DIGIT_3, BOOST_PP_ITERATION_START_1_DIGIT_2, BOOST_PP_ITERATION_START_1_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_1_DIGIT_2
-#    define BOOST_PP_ITERATION_START_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_1_DIGIT_2, BOOST_PP_ITERATION_START_1_DIGIT_1)
-# else
-#    define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower2.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower2.hpp
deleted file mode 100755
index 29cf19d..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower2.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_START_2
-#
-# undef BOOST_PP_ITERATION_START_2_DIGIT_1
-# undef BOOST_PP_ITERATION_START_2_DIGIT_2
-# undef BOOST_PP_ITERATION_START_2_DIGIT_3
-# undef BOOST_PP_ITERATION_START_2_DIGIT_4
-# undef BOOST_PP_ITERATION_START_2_DIGIT_5
-# undef BOOST_PP_ITERATION_START_2_DIGIT_6
-# undef BOOST_PP_ITERATION_START_2_DIGIT_7
-# undef BOOST_PP_ITERATION_START_2_DIGIT_8
-# undef BOOST_PP_ITERATION_START_2_DIGIT_9
-# undef BOOST_PP_ITERATION_START_2_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_START_2_DIGIT_3
-#    define BOOST_PP_ITERATION_START_2 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_2_DIGIT_3, BOOST_PP_ITERATION_START_2_DIGIT_2, BOOST_PP_ITERATION_START_2_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_2_DIGIT_2
-#    define BOOST_PP_ITERATION_START_2 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_2_DIGIT_2, BOOST_PP_ITERATION_START_2_DIGIT_1)
-# else
-#    define BOOST_PP_ITERATION_START_2 BOOST_PP_ITERATION_START_2_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower3.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower3.hpp
deleted file mode 100755
index fe5f658..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower3.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_START_3
-#
-# undef BOOST_PP_ITERATION_START_3_DIGIT_1
-# undef BOOST_PP_ITERATION_START_3_DIGIT_2
-# undef BOOST_PP_ITERATION_START_3_DIGIT_3
-# undef BOOST_PP_ITERATION_START_3_DIGIT_4
-# undef BOOST_PP_ITERATION_START_3_DIGIT_5
-# undef BOOST_PP_ITERATION_START_3_DIGIT_6
-# undef BOOST_PP_ITERATION_START_3_DIGIT_7
-# undef BOOST_PP_ITERATION_START_3_DIGIT_8
-# undef BOOST_PP_ITERATION_START_3_DIGIT_9
-# undef BOOST_PP_ITERATION_START_3_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_START_3_DIGIT_3
-#    define BOOST_PP_ITERATION_START_3 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_3_DIGIT_3, BOOST_PP_ITERATION_START_3_DIGIT_2, BOOST_PP_ITERATION_START_3_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_3_DIGIT_2
-#    define BOOST_PP_ITERATION_START_3 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_3_DIGIT_2, BOOST_PP_ITERATION_START_3_DIGIT_1)
-# else
-#    define BOOST_PP_ITERATION_START_3 BOOST_PP_ITERATION_START_3_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower4.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower4.hpp
deleted file mode 100755
index 0a5a398..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower4.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_START_4
-#
-# undef BOOST_PP_ITERATION_START_4_DIGIT_1
-# undef BOOST_PP_ITERATION_START_4_DIGIT_2
-# undef BOOST_PP_ITERATION_START_4_DIGIT_3
-# undef BOOST_PP_ITERATION_START_4_DIGIT_4
-# undef BOOST_PP_ITERATION_START_4_DIGIT_5
-# undef BOOST_PP_ITERATION_START_4_DIGIT_6
-# undef BOOST_PP_ITERATION_START_4_DIGIT_7
-# undef BOOST_PP_ITERATION_START_4_DIGIT_8
-# undef BOOST_PP_ITERATION_START_4_DIGIT_9
-# undef BOOST_PP_ITERATION_START_4_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_START_4_DIGIT_3
-#    define BOOST_PP_ITERATION_START_4 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_4_DIGIT_3, BOOST_PP_ITERATION_START_4_DIGIT_2, BOOST_PP_ITERATION_START_4_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_4_DIGIT_2
-#    define BOOST_PP_ITERATION_START_4 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_4_DIGIT_2, BOOST_PP_ITERATION_START_4_DIGIT_1)
-# else
-#    define BOOST_PP_ITERATION_START_4 BOOST_PP_ITERATION_START_4_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower5.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower5.hpp
deleted file mode 100755
index 227efde..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/lower5.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_START_5
-#
-# undef BOOST_PP_ITERATION_START_5_DIGIT_1
-# undef BOOST_PP_ITERATION_START_5_DIGIT_2
-# undef BOOST_PP_ITERATION_START_5_DIGIT_3
-# undef BOOST_PP_ITERATION_START_5_DIGIT_4
-# undef BOOST_PP_ITERATION_START_5_DIGIT_5
-# undef BOOST_PP_ITERATION_START_5_DIGIT_6
-# undef BOOST_PP_ITERATION_START_5_DIGIT_7
-# undef BOOST_PP_ITERATION_START_5_DIGIT_8
-# undef BOOST_PP_ITERATION_START_5_DIGIT_9
-# undef BOOST_PP_ITERATION_START_5_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_START_5_DIGIT_3
-#    define BOOST_PP_ITERATION_START_5 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_5_DIGIT_3, BOOST_PP_ITERATION_START_5_DIGIT_2, BOOST_PP_ITERATION_START_5_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_5_DIGIT_2
-#    define BOOST_PP_ITERATION_START_5 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_5_DIGIT_2, BOOST_PP_ITERATION_START_5_DIGIT_1)
-# else
-#    define BOOST_PP_ITERATION_START_5 BOOST_PP_ITERATION_START_5_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper1.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper1.hpp
deleted file mode 100755
index db0732d..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper1.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_FINISH_1
-#
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_FINISH_1_DIGIT_3
-#    define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_1_DIGIT_3, BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_1_DIGIT_2
-#    define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
-# else
-#    define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_ITERATION_FINISH_1_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper2.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper2.hpp
deleted file mode 100755
index fd053c0..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper2.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_FINISH_2
-#
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_FINISH_2_DIGIT_3
-#    define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_2_DIGIT_3, BOOST_PP_ITERATION_FINISH_2_DIGIT_2, BOOST_PP_ITERATION_FINISH_2_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_2_DIGIT_2
-#    define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_2_DIGIT_2, BOOST_PP_ITERATION_FINISH_2_DIGIT_1)
-# else
-#    define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_ITERATION_FINISH_2_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper3.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper3.hpp
deleted file mode 100755
index f6838f0..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper3.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_FINISH_3
-#
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_FINISH_3_DIGIT_3
-#    define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_3_DIGIT_3, BOOST_PP_ITERATION_FINISH_3_DIGIT_2, BOOST_PP_ITERATION_FINISH_3_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_3_DIGIT_2
-#    define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_3_DIGIT_2, BOOST_PP_ITERATION_FINISH_3_DIGIT_1)
-# else
-#    define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_ITERATION_FINISH_3_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper4.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper4.hpp
deleted file mode 100755
index 9049732..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper4.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_FINISH_4
-#
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_FINISH_4_DIGIT_3
-#    define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_4_DIGIT_3, BOOST_PP_ITERATION_FINISH_4_DIGIT_2, BOOST_PP_ITERATION_FINISH_4_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_4_DIGIT_2
-#    define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_4_DIGIT_2, BOOST_PP_ITERATION_FINISH_4_DIGIT_1)
-# else
-#    define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_ITERATION_FINISH_4_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper5.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper5.hpp
deleted file mode 100755
index 3fddffd..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/bounds/upper5.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_FINISH_5
-#
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_FINISH_5_DIGIT_3
-#    define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_5_DIGIT_3, BOOST_PP_ITERATION_FINISH_5_DIGIT_2, BOOST_PP_ITERATION_FINISH_5_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_5_DIGIT_2
-#    define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_5_DIGIT_2, BOOST_PP_ITERATION_FINISH_5_DIGIT_1)
-# else
-#    define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_ITERATION_FINISH_5_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/finish.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/finish.hpp
deleted file mode 100755
index 7fbd1ff..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/finish.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_LOCAL_FE
-#
-# undef BOOST_PP_LOCAL_FE_DIGIT_1
-# undef BOOST_PP_LOCAL_FE_DIGIT_2
-# undef BOOST_PP_LOCAL_FE_DIGIT_3
-# undef BOOST_PP_LOCAL_FE_DIGIT_4
-# undef BOOST_PP_LOCAL_FE_DIGIT_5
-# undef BOOST_PP_LOCAL_FE_DIGIT_6
-# undef BOOST_PP_LOCAL_FE_DIGIT_7
-# undef BOOST_PP_LOCAL_FE_DIGIT_8
-# undef BOOST_PP_LOCAL_FE_DIGIT_9
-# undef BOOST_PP_LOCAL_FE_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_LOCAL_FE_DIGIT_3
-#    define BOOST_PP_LOCAL_FE() BOOST_PP_SLOT_CC_3(BOOST_PP_LOCAL_FE_DIGIT_3, BOOST_PP_LOCAL_FE_DIGIT_2, BOOST_PP_LOCAL_FE_DIGIT_1)
-# elif BOOST_PP_LOCAL_FE_DIGIT_2
-#    define BOOST_PP_LOCAL_FE() BOOST_PP_SLOT_CC_2(BOOST_PP_LOCAL_FE_DIGIT_2, BOOST_PP_LOCAL_FE_DIGIT_1)
-# else
-#    define BOOST_PP_LOCAL_FE() BOOST_PP_LOCAL_FE_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward1.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward1.hpp
deleted file mode 100755
index 2d50054..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward1.hpp
+++ /dev/null
@@ -1,1342 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if defined(BOOST_PP_ITERATION_LIMITS)
-#    if !defined(BOOST_PP_FILENAME_1)
-#        error BOOST_PP_ERROR:  depth #1 filename is not defined
-#    endif
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
-#    include <boost/preprocessor/iteration/detail/bounds/lower1.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
-#    include <boost/preprocessor/iteration/detail/bounds/upper1.hpp>
-#    define BOOST_PP_ITERATION_FLAGS_1 0
-#    undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_1)
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
-#    include <boost/preprocessor/iteration/detail/bounds/lower1.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
-#    include <boost/preprocessor/iteration/detail/bounds/upper1.hpp>
-#    define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
-#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_1) >= 4
-#        define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
-#    else
-#        define BOOST_PP_ITERATION_FLAGS_1 0
-#    endif
-# else
-#    error BOOST_PP_ERROR:  depth #1 iteration boundaries or filename not defined
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 1
-#
-# define BOOST_PP_IS_ITERATING 1
-#
-# if (BOOST_PP_ITERATION_START_1) > (BOOST_PP_ITERATION_FINISH_1)
-#    include <boost/preprocessor/iteration/detail/iter/reverse1.hpp>
-# else
-#    if BOOST_PP_ITERATION_START_1 <= 0 && BOOST_PP_ITERATION_FINISH_1 >= 0
-#        define BOOST_PP_ITERATION_1 0
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 1 && BOOST_PP_ITERATION_FINISH_1 >= 1
-#        define BOOST_PP_ITERATION_1 1
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 2 && BOOST_PP_ITERATION_FINISH_1 >= 2
-#        define BOOST_PP_ITERATION_1 2
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 3 && BOOST_PP_ITERATION_FINISH_1 >= 3
-#        define BOOST_PP_ITERATION_1 3
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 4 && BOOST_PP_ITERATION_FINISH_1 >= 4
-#        define BOOST_PP_ITERATION_1 4
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 5 && BOOST_PP_ITERATION_FINISH_1 >= 5
-#        define BOOST_PP_ITERATION_1 5
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 6 && BOOST_PP_ITERATION_FINISH_1 >= 6
-#        define BOOST_PP_ITERATION_1 6
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 7 && BOOST_PP_ITERATION_FINISH_1 >= 7
-#        define BOOST_PP_ITERATION_1 7
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 8 && BOOST_PP_ITERATION_FINISH_1 >= 8
-#        define BOOST_PP_ITERATION_1 8
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 9 && BOOST_PP_ITERATION_FINISH_1 >= 9
-#        define BOOST_PP_ITERATION_1 9
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 10 && BOOST_PP_ITERATION_FINISH_1 >= 10
-#        define BOOST_PP_ITERATION_1 10
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 11 && BOOST_PP_ITERATION_FINISH_1 >= 11
-#        define BOOST_PP_ITERATION_1 11
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 12 && BOOST_PP_ITERATION_FINISH_1 >= 12
-#        define BOOST_PP_ITERATION_1 12
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 13 && BOOST_PP_ITERATION_FINISH_1 >= 13
-#        define BOOST_PP_ITERATION_1 13
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 14 && BOOST_PP_ITERATION_FINISH_1 >= 14
-#        define BOOST_PP_ITERATION_1 14
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 15 && BOOST_PP_ITERATION_FINISH_1 >= 15
-#        define BOOST_PP_ITERATION_1 15
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 16 && BOOST_PP_ITERATION_FINISH_1 >= 16
-#        define BOOST_PP_ITERATION_1 16
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 17 && BOOST_PP_ITERATION_FINISH_1 >= 17
-#        define BOOST_PP_ITERATION_1 17
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 18 && BOOST_PP_ITERATION_FINISH_1 >= 18
-#        define BOOST_PP_ITERATION_1 18
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 19 && BOOST_PP_ITERATION_FINISH_1 >= 19
-#        define BOOST_PP_ITERATION_1 19
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 20 && BOOST_PP_ITERATION_FINISH_1 >= 20
-#        define BOOST_PP_ITERATION_1 20
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 21 && BOOST_PP_ITERATION_FINISH_1 >= 21
-#        define BOOST_PP_ITERATION_1 21
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 22 && BOOST_PP_ITERATION_FINISH_1 >= 22
-#        define BOOST_PP_ITERATION_1 22
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 23 && BOOST_PP_ITERATION_FINISH_1 >= 23
-#        define BOOST_PP_ITERATION_1 23
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 24 && BOOST_PP_ITERATION_FINISH_1 >= 24
-#        define BOOST_PP_ITERATION_1 24
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 25 && BOOST_PP_ITERATION_FINISH_1 >= 25
-#        define BOOST_PP_ITERATION_1 25
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 26 && BOOST_PP_ITERATION_FINISH_1 >= 26
-#        define BOOST_PP_ITERATION_1 26
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 27 && BOOST_PP_ITERATION_FINISH_1 >= 27
-#        define BOOST_PP_ITERATION_1 27
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 28 && BOOST_PP_ITERATION_FINISH_1 >= 28
-#        define BOOST_PP_ITERATION_1 28
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 29 && BOOST_PP_ITERATION_FINISH_1 >= 29
-#        define BOOST_PP_ITERATION_1 29
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 30 && BOOST_PP_ITERATION_FINISH_1 >= 30
-#        define BOOST_PP_ITERATION_1 30
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 31 && BOOST_PP_ITERATION_FINISH_1 >= 31
-#        define BOOST_PP_ITERATION_1 31
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 32 && BOOST_PP_ITERATION_FINISH_1 >= 32
-#        define BOOST_PP_ITERATION_1 32
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 33 && BOOST_PP_ITERATION_FINISH_1 >= 33
-#        define BOOST_PP_ITERATION_1 33
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 34 && BOOST_PP_ITERATION_FINISH_1 >= 34
-#        define BOOST_PP_ITERATION_1 34
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 35 && BOOST_PP_ITERATION_FINISH_1 >= 35
-#        define BOOST_PP_ITERATION_1 35
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 36 && BOOST_PP_ITERATION_FINISH_1 >= 36
-#        define BOOST_PP_ITERATION_1 36
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 37 && BOOST_PP_ITERATION_FINISH_1 >= 37
-#        define BOOST_PP_ITERATION_1 37
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 38 && BOOST_PP_ITERATION_FINISH_1 >= 38
-#        define BOOST_PP_ITERATION_1 38
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 39 && BOOST_PP_ITERATION_FINISH_1 >= 39
-#        define BOOST_PP_ITERATION_1 39
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 40 && BOOST_PP_ITERATION_FINISH_1 >= 40
-#        define BOOST_PP_ITERATION_1 40
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 41 && BOOST_PP_ITERATION_FINISH_1 >= 41
-#        define BOOST_PP_ITERATION_1 41
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 42 && BOOST_PP_ITERATION_FINISH_1 >= 42
-#        define BOOST_PP_ITERATION_1 42
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 43 && BOOST_PP_ITERATION_FINISH_1 >= 43
-#        define BOOST_PP_ITERATION_1 43
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 44 && BOOST_PP_ITERATION_FINISH_1 >= 44
-#        define BOOST_PP_ITERATION_1 44
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 45 && BOOST_PP_ITERATION_FINISH_1 >= 45
-#        define BOOST_PP_ITERATION_1 45
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 46 && BOOST_PP_ITERATION_FINISH_1 >= 46
-#        define BOOST_PP_ITERATION_1 46
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 47 && BOOST_PP_ITERATION_FINISH_1 >= 47
-#        define BOOST_PP_ITERATION_1 47
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 48 && BOOST_PP_ITERATION_FINISH_1 >= 48
-#        define BOOST_PP_ITERATION_1 48
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 49 && BOOST_PP_ITERATION_FINISH_1 >= 49
-#        define BOOST_PP_ITERATION_1 49
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 50 && BOOST_PP_ITERATION_FINISH_1 >= 50
-#        define BOOST_PP_ITERATION_1 50
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 51 && BOOST_PP_ITERATION_FINISH_1 >= 51
-#        define BOOST_PP_ITERATION_1 51
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 52 && BOOST_PP_ITERATION_FINISH_1 >= 52
-#        define BOOST_PP_ITERATION_1 52
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 53 && BOOST_PP_ITERATION_FINISH_1 >= 53
-#        define BOOST_PP_ITERATION_1 53
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 54 && BOOST_PP_ITERATION_FINISH_1 >= 54
-#        define BOOST_PP_ITERATION_1 54
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 55 && BOOST_PP_ITERATION_FINISH_1 >= 55
-#        define BOOST_PP_ITERATION_1 55
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 56 && BOOST_PP_ITERATION_FINISH_1 >= 56
-#        define BOOST_PP_ITERATION_1 56
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 57 && BOOST_PP_ITERATION_FINISH_1 >= 57
-#        define BOOST_PP_ITERATION_1 57
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 58 && BOOST_PP_ITERATION_FINISH_1 >= 58
-#        define BOOST_PP_ITERATION_1 58
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 59 && BOOST_PP_ITERATION_FINISH_1 >= 59
-#        define BOOST_PP_ITERATION_1 59
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 60 && BOOST_PP_ITERATION_FINISH_1 >= 60
-#        define BOOST_PP_ITERATION_1 60
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 61 && BOOST_PP_ITERATION_FINISH_1 >= 61
-#        define BOOST_PP_ITERATION_1 61
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 62 && BOOST_PP_ITERATION_FINISH_1 >= 62
-#        define BOOST_PP_ITERATION_1 62
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 63 && BOOST_PP_ITERATION_FINISH_1 >= 63
-#        define BOOST_PP_ITERATION_1 63
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 64 && BOOST_PP_ITERATION_FINISH_1 >= 64
-#        define BOOST_PP_ITERATION_1 64
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 65 && BOOST_PP_ITERATION_FINISH_1 >= 65
-#        define BOOST_PP_ITERATION_1 65
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 66 && BOOST_PP_ITERATION_FINISH_1 >= 66
-#        define BOOST_PP_ITERATION_1 66
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 67 && BOOST_PP_ITERATION_FINISH_1 >= 67
-#        define BOOST_PP_ITERATION_1 67
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 68 && BOOST_PP_ITERATION_FINISH_1 >= 68
-#        define BOOST_PP_ITERATION_1 68
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 69 && BOOST_PP_ITERATION_FINISH_1 >= 69
-#        define BOOST_PP_ITERATION_1 69
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 70 && BOOST_PP_ITERATION_FINISH_1 >= 70
-#        define BOOST_PP_ITERATION_1 70
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 71 && BOOST_PP_ITERATION_FINISH_1 >= 71
-#        define BOOST_PP_ITERATION_1 71
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 72 && BOOST_PP_ITERATION_FINISH_1 >= 72
-#        define BOOST_PP_ITERATION_1 72
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 73 && BOOST_PP_ITERATION_FINISH_1 >= 73
-#        define BOOST_PP_ITERATION_1 73
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 74 && BOOST_PP_ITERATION_FINISH_1 >= 74
-#        define BOOST_PP_ITERATION_1 74
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 75 && BOOST_PP_ITERATION_FINISH_1 >= 75
-#        define BOOST_PP_ITERATION_1 75
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 76 && BOOST_PP_ITERATION_FINISH_1 >= 76
-#        define BOOST_PP_ITERATION_1 76
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 77 && BOOST_PP_ITERATION_FINISH_1 >= 77
-#        define BOOST_PP_ITERATION_1 77
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 78 && BOOST_PP_ITERATION_FINISH_1 >= 78
-#        define BOOST_PP_ITERATION_1 78
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 79 && BOOST_PP_ITERATION_FINISH_1 >= 79
-#        define BOOST_PP_ITERATION_1 79
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 80 && BOOST_PP_ITERATION_FINISH_1 >= 80
-#        define BOOST_PP_ITERATION_1 80
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 81 && BOOST_PP_ITERATION_FINISH_1 >= 81
-#        define BOOST_PP_ITERATION_1 81
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 82 && BOOST_PP_ITERATION_FINISH_1 >= 82
-#        define BOOST_PP_ITERATION_1 82
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 83 && BOOST_PP_ITERATION_FINISH_1 >= 83
-#        define BOOST_PP_ITERATION_1 83
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 84 && BOOST_PP_ITERATION_FINISH_1 >= 84
-#        define BOOST_PP_ITERATION_1 84
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 85 && BOOST_PP_ITERATION_FINISH_1 >= 85
-#        define BOOST_PP_ITERATION_1 85
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 86 && BOOST_PP_ITERATION_FINISH_1 >= 86
-#        define BOOST_PP_ITERATION_1 86
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 87 && BOOST_PP_ITERATION_FINISH_1 >= 87
-#        define BOOST_PP_ITERATION_1 87
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 88 && BOOST_PP_ITERATION_FINISH_1 >= 88
-#        define BOOST_PP_ITERATION_1 88
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 89 && BOOST_PP_ITERATION_FINISH_1 >= 89
-#        define BOOST_PP_ITERATION_1 89
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 90 && BOOST_PP_ITERATION_FINISH_1 >= 90
-#        define BOOST_PP_ITERATION_1 90
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 91 && BOOST_PP_ITERATION_FINISH_1 >= 91
-#        define BOOST_PP_ITERATION_1 91
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 92 && BOOST_PP_ITERATION_FINISH_1 >= 92
-#        define BOOST_PP_ITERATION_1 92
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 93 && BOOST_PP_ITERATION_FINISH_1 >= 93
-#        define BOOST_PP_ITERATION_1 93
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 94 && BOOST_PP_ITERATION_FINISH_1 >= 94
-#        define BOOST_PP_ITERATION_1 94
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 95 && BOOST_PP_ITERATION_FINISH_1 >= 95
-#        define BOOST_PP_ITERATION_1 95
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 96 && BOOST_PP_ITERATION_FINISH_1 >= 96
-#        define BOOST_PP_ITERATION_1 96
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 97 && BOOST_PP_ITERATION_FINISH_1 >= 97
-#        define BOOST_PP_ITERATION_1 97
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 98 && BOOST_PP_ITERATION_FINISH_1 >= 98
-#        define BOOST_PP_ITERATION_1 98
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 99 && BOOST_PP_ITERATION_FINISH_1 >= 99
-#        define BOOST_PP_ITERATION_1 99
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 100 && BOOST_PP_ITERATION_FINISH_1 >= 100
-#        define BOOST_PP_ITERATION_1 100
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 101 && BOOST_PP_ITERATION_FINISH_1 >= 101
-#        define BOOST_PP_ITERATION_1 101
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 102 && BOOST_PP_ITERATION_FINISH_1 >= 102
-#        define BOOST_PP_ITERATION_1 102
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 103 && BOOST_PP_ITERATION_FINISH_1 >= 103
-#        define BOOST_PP_ITERATION_1 103
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 104 && BOOST_PP_ITERATION_FINISH_1 >= 104
-#        define BOOST_PP_ITERATION_1 104
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 105 && BOOST_PP_ITERATION_FINISH_1 >= 105
-#        define BOOST_PP_ITERATION_1 105
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 106 && BOOST_PP_ITERATION_FINISH_1 >= 106
-#        define BOOST_PP_ITERATION_1 106
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 107 && BOOST_PP_ITERATION_FINISH_1 >= 107
-#        define BOOST_PP_ITERATION_1 107
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 108 && BOOST_PP_ITERATION_FINISH_1 >= 108
-#        define BOOST_PP_ITERATION_1 108
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 109 && BOOST_PP_ITERATION_FINISH_1 >= 109
-#        define BOOST_PP_ITERATION_1 109
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 110 && BOOST_PP_ITERATION_FINISH_1 >= 110
-#        define BOOST_PP_ITERATION_1 110
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 111 && BOOST_PP_ITERATION_FINISH_1 >= 111
-#        define BOOST_PP_ITERATION_1 111
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 112 && BOOST_PP_ITERATION_FINISH_1 >= 112
-#        define BOOST_PP_ITERATION_1 112
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 113 && BOOST_PP_ITERATION_FINISH_1 >= 113
-#        define BOOST_PP_ITERATION_1 113
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 114 && BOOST_PP_ITERATION_FINISH_1 >= 114
-#        define BOOST_PP_ITERATION_1 114
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 115 && BOOST_PP_ITERATION_FINISH_1 >= 115
-#        define BOOST_PP_ITERATION_1 115
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 116 && BOOST_PP_ITERATION_FINISH_1 >= 116
-#        define BOOST_PP_ITERATION_1 116
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 117 && BOOST_PP_ITERATION_FINISH_1 >= 117
-#        define BOOST_PP_ITERATION_1 117
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 118 && BOOST_PP_ITERATION_FINISH_1 >= 118
-#        define BOOST_PP_ITERATION_1 118
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 119 && BOOST_PP_ITERATION_FINISH_1 >= 119
-#        define BOOST_PP_ITERATION_1 119
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 120 && BOOST_PP_ITERATION_FINISH_1 >= 120
-#        define BOOST_PP_ITERATION_1 120
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 121 && BOOST_PP_ITERATION_FINISH_1 >= 121
-#        define BOOST_PP_ITERATION_1 121
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 122 && BOOST_PP_ITERATION_FINISH_1 >= 122
-#        define BOOST_PP_ITERATION_1 122
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 123 && BOOST_PP_ITERATION_FINISH_1 >= 123
-#        define BOOST_PP_ITERATION_1 123
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 124 && BOOST_PP_ITERATION_FINISH_1 >= 124
-#        define BOOST_PP_ITERATION_1 124
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 125 && BOOST_PP_ITERATION_FINISH_1 >= 125
-#        define BOOST_PP_ITERATION_1 125
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 126 && BOOST_PP_ITERATION_FINISH_1 >= 126
-#        define BOOST_PP_ITERATION_1 126
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 127 && BOOST_PP_ITERATION_FINISH_1 >= 127
-#        define BOOST_PP_ITERATION_1 127
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 128 && BOOST_PP_ITERATION_FINISH_1 >= 128
-#        define BOOST_PP_ITERATION_1 128
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 129 && BOOST_PP_ITERATION_FINISH_1 >= 129
-#        define BOOST_PP_ITERATION_1 129
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 130 && BOOST_PP_ITERATION_FINISH_1 >= 130
-#        define BOOST_PP_ITERATION_1 130
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 131 && BOOST_PP_ITERATION_FINISH_1 >= 131
-#        define BOOST_PP_ITERATION_1 131
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 132 && BOOST_PP_ITERATION_FINISH_1 >= 132
-#        define BOOST_PP_ITERATION_1 132
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 133 && BOOST_PP_ITERATION_FINISH_1 >= 133
-#        define BOOST_PP_ITERATION_1 133
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 134 && BOOST_PP_ITERATION_FINISH_1 >= 134
-#        define BOOST_PP_ITERATION_1 134
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 135 && BOOST_PP_ITERATION_FINISH_1 >= 135
-#        define BOOST_PP_ITERATION_1 135
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 136 && BOOST_PP_ITERATION_FINISH_1 >= 136
-#        define BOOST_PP_ITERATION_1 136
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 137 && BOOST_PP_ITERATION_FINISH_1 >= 137
-#        define BOOST_PP_ITERATION_1 137
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 138 && BOOST_PP_ITERATION_FINISH_1 >= 138
-#        define BOOST_PP_ITERATION_1 138
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 139 && BOOST_PP_ITERATION_FINISH_1 >= 139
-#        define BOOST_PP_ITERATION_1 139
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 140 && BOOST_PP_ITERATION_FINISH_1 >= 140
-#        define BOOST_PP_ITERATION_1 140
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 141 && BOOST_PP_ITERATION_FINISH_1 >= 141
-#        define BOOST_PP_ITERATION_1 141
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 142 && BOOST_PP_ITERATION_FINISH_1 >= 142
-#        define BOOST_PP_ITERATION_1 142
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 143 && BOOST_PP_ITERATION_FINISH_1 >= 143
-#        define BOOST_PP_ITERATION_1 143
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 144 && BOOST_PP_ITERATION_FINISH_1 >= 144
-#        define BOOST_PP_ITERATION_1 144
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 145 && BOOST_PP_ITERATION_FINISH_1 >= 145
-#        define BOOST_PP_ITERATION_1 145
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 146 && BOOST_PP_ITERATION_FINISH_1 >= 146
-#        define BOOST_PP_ITERATION_1 146
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 147 && BOOST_PP_ITERATION_FINISH_1 >= 147
-#        define BOOST_PP_ITERATION_1 147
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 148 && BOOST_PP_ITERATION_FINISH_1 >= 148
-#        define BOOST_PP_ITERATION_1 148
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 149 && BOOST_PP_ITERATION_FINISH_1 >= 149
-#        define BOOST_PP_ITERATION_1 149
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 150 && BOOST_PP_ITERATION_FINISH_1 >= 150
-#        define BOOST_PP_ITERATION_1 150
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 151 && BOOST_PP_ITERATION_FINISH_1 >= 151
-#        define BOOST_PP_ITERATION_1 151
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 152 && BOOST_PP_ITERATION_FINISH_1 >= 152
-#        define BOOST_PP_ITERATION_1 152
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 153 && BOOST_PP_ITERATION_FINISH_1 >= 153
-#        define BOOST_PP_ITERATION_1 153
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 154 && BOOST_PP_ITERATION_FINISH_1 >= 154
-#        define BOOST_PP_ITERATION_1 154
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 155 && BOOST_PP_ITERATION_FINISH_1 >= 155
-#        define BOOST_PP_ITERATION_1 155
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 156 && BOOST_PP_ITERATION_FINISH_1 >= 156
-#        define BOOST_PP_ITERATION_1 156
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 157 && BOOST_PP_ITERATION_FINISH_1 >= 157
-#        define BOOST_PP_ITERATION_1 157
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 158 && BOOST_PP_ITERATION_FINISH_1 >= 158
-#        define BOOST_PP_ITERATION_1 158
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 159 && BOOST_PP_ITERATION_FINISH_1 >= 159
-#        define BOOST_PP_ITERATION_1 159
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 160 && BOOST_PP_ITERATION_FINISH_1 >= 160
-#        define BOOST_PP_ITERATION_1 160
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 161 && BOOST_PP_ITERATION_FINISH_1 >= 161
-#        define BOOST_PP_ITERATION_1 161
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 162 && BOOST_PP_ITERATION_FINISH_1 >= 162
-#        define BOOST_PP_ITERATION_1 162
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 163 && BOOST_PP_ITERATION_FINISH_1 >= 163
-#        define BOOST_PP_ITERATION_1 163
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 164 && BOOST_PP_ITERATION_FINISH_1 >= 164
-#        define BOOST_PP_ITERATION_1 164
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 165 && BOOST_PP_ITERATION_FINISH_1 >= 165
-#        define BOOST_PP_ITERATION_1 165
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 166 && BOOST_PP_ITERATION_FINISH_1 >= 166
-#        define BOOST_PP_ITERATION_1 166
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 167 && BOOST_PP_ITERATION_FINISH_1 >= 167
-#        define BOOST_PP_ITERATION_1 167
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 168 && BOOST_PP_ITERATION_FINISH_1 >= 168
-#        define BOOST_PP_ITERATION_1 168
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 169 && BOOST_PP_ITERATION_FINISH_1 >= 169
-#        define BOOST_PP_ITERATION_1 169
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 170 && BOOST_PP_ITERATION_FINISH_1 >= 170
-#        define BOOST_PP_ITERATION_1 170
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 171 && BOOST_PP_ITERATION_FINISH_1 >= 171
-#        define BOOST_PP_ITERATION_1 171
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 172 && BOOST_PP_ITERATION_FINISH_1 >= 172
-#        define BOOST_PP_ITERATION_1 172
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 173 && BOOST_PP_ITERATION_FINISH_1 >= 173
-#        define BOOST_PP_ITERATION_1 173
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 174 && BOOST_PP_ITERATION_FINISH_1 >= 174
-#        define BOOST_PP_ITERATION_1 174
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 175 && BOOST_PP_ITERATION_FINISH_1 >= 175
-#        define BOOST_PP_ITERATION_1 175
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 176 && BOOST_PP_ITERATION_FINISH_1 >= 176
-#        define BOOST_PP_ITERATION_1 176
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 177 && BOOST_PP_ITERATION_FINISH_1 >= 177
-#        define BOOST_PP_ITERATION_1 177
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 178 && BOOST_PP_ITERATION_FINISH_1 >= 178
-#        define BOOST_PP_ITERATION_1 178
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 179 && BOOST_PP_ITERATION_FINISH_1 >= 179
-#        define BOOST_PP_ITERATION_1 179
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 180 && BOOST_PP_ITERATION_FINISH_1 >= 180
-#        define BOOST_PP_ITERATION_1 180
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 181 && BOOST_PP_ITERATION_FINISH_1 >= 181
-#        define BOOST_PP_ITERATION_1 181
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 182 && BOOST_PP_ITERATION_FINISH_1 >= 182
-#        define BOOST_PP_ITERATION_1 182
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 183 && BOOST_PP_ITERATION_FINISH_1 >= 183
-#        define BOOST_PP_ITERATION_1 183
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 184 && BOOST_PP_ITERATION_FINISH_1 >= 184
-#        define BOOST_PP_ITERATION_1 184
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 185 && BOOST_PP_ITERATION_FINISH_1 >= 185
-#        define BOOST_PP_ITERATION_1 185
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 186 && BOOST_PP_ITERATION_FINISH_1 >= 186
-#        define BOOST_PP_ITERATION_1 186
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 187 && BOOST_PP_ITERATION_FINISH_1 >= 187
-#        define BOOST_PP_ITERATION_1 187
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 188 && BOOST_PP_ITERATION_FINISH_1 >= 188
-#        define BOOST_PP_ITERATION_1 188
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 189 && BOOST_PP_ITERATION_FINISH_1 >= 189
-#        define BOOST_PP_ITERATION_1 189
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 190 && BOOST_PP_ITERATION_FINISH_1 >= 190
-#        define BOOST_PP_ITERATION_1 190
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 191 && BOOST_PP_ITERATION_FINISH_1 >= 191
-#        define BOOST_PP_ITERATION_1 191
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 192 && BOOST_PP_ITERATION_FINISH_1 >= 192
-#        define BOOST_PP_ITERATION_1 192
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 193 && BOOST_PP_ITERATION_FINISH_1 >= 193
-#        define BOOST_PP_ITERATION_1 193
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 194 && BOOST_PP_ITERATION_FINISH_1 >= 194
-#        define BOOST_PP_ITERATION_1 194
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 195 && BOOST_PP_ITERATION_FINISH_1 >= 195
-#        define BOOST_PP_ITERATION_1 195
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 196 && BOOST_PP_ITERATION_FINISH_1 >= 196
-#        define BOOST_PP_ITERATION_1 196
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 197 && BOOST_PP_ITERATION_FINISH_1 >= 197
-#        define BOOST_PP_ITERATION_1 197
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 198 && BOOST_PP_ITERATION_FINISH_1 >= 198
-#        define BOOST_PP_ITERATION_1 198
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 199 && BOOST_PP_ITERATION_FINISH_1 >= 199
-#        define BOOST_PP_ITERATION_1 199
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 200 && BOOST_PP_ITERATION_FINISH_1 >= 200
-#        define BOOST_PP_ITERATION_1 200
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 201 && BOOST_PP_ITERATION_FINISH_1 >= 201
-#        define BOOST_PP_ITERATION_1 201
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 202 && BOOST_PP_ITERATION_FINISH_1 >= 202
-#        define BOOST_PP_ITERATION_1 202
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 203 && BOOST_PP_ITERATION_FINISH_1 >= 203
-#        define BOOST_PP_ITERATION_1 203
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 204 && BOOST_PP_ITERATION_FINISH_1 >= 204
-#        define BOOST_PP_ITERATION_1 204
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 205 && BOOST_PP_ITERATION_FINISH_1 >= 205
-#        define BOOST_PP_ITERATION_1 205
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 206 && BOOST_PP_ITERATION_FINISH_1 >= 206
-#        define BOOST_PP_ITERATION_1 206
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 207 && BOOST_PP_ITERATION_FINISH_1 >= 207
-#        define BOOST_PP_ITERATION_1 207
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 208 && BOOST_PP_ITERATION_FINISH_1 >= 208
-#        define BOOST_PP_ITERATION_1 208
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 209 && BOOST_PP_ITERATION_FINISH_1 >= 209
-#        define BOOST_PP_ITERATION_1 209
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 210 && BOOST_PP_ITERATION_FINISH_1 >= 210
-#        define BOOST_PP_ITERATION_1 210
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 211 && BOOST_PP_ITERATION_FINISH_1 >= 211
-#        define BOOST_PP_ITERATION_1 211
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 212 && BOOST_PP_ITERATION_FINISH_1 >= 212
-#        define BOOST_PP_ITERATION_1 212
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 213 && BOOST_PP_ITERATION_FINISH_1 >= 213
-#        define BOOST_PP_ITERATION_1 213
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 214 && BOOST_PP_ITERATION_FINISH_1 >= 214
-#        define BOOST_PP_ITERATION_1 214
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 215 && BOOST_PP_ITERATION_FINISH_1 >= 215
-#        define BOOST_PP_ITERATION_1 215
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 216 && BOOST_PP_ITERATION_FINISH_1 >= 216
-#        define BOOST_PP_ITERATION_1 216
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 217 && BOOST_PP_ITERATION_FINISH_1 >= 217
-#        define BOOST_PP_ITERATION_1 217
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 218 && BOOST_PP_ITERATION_FINISH_1 >= 218
-#        define BOOST_PP_ITERATION_1 218
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 219 && BOOST_PP_ITERATION_FINISH_1 >= 219
-#        define BOOST_PP_ITERATION_1 219
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 220 && BOOST_PP_ITERATION_FINISH_1 >= 220
-#        define BOOST_PP_ITERATION_1 220
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 221 && BOOST_PP_ITERATION_FINISH_1 >= 221
-#        define BOOST_PP_ITERATION_1 221
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 222 && BOOST_PP_ITERATION_FINISH_1 >= 222
-#        define BOOST_PP_ITERATION_1 222
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 223 && BOOST_PP_ITERATION_FINISH_1 >= 223
-#        define BOOST_PP_ITERATION_1 223
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 224 && BOOST_PP_ITERATION_FINISH_1 >= 224
-#        define BOOST_PP_ITERATION_1 224
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 225 && BOOST_PP_ITERATION_FINISH_1 >= 225
-#        define BOOST_PP_ITERATION_1 225
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 226 && BOOST_PP_ITERATION_FINISH_1 >= 226
-#        define BOOST_PP_ITERATION_1 226
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 227 && BOOST_PP_ITERATION_FINISH_1 >= 227
-#        define BOOST_PP_ITERATION_1 227
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 228 && BOOST_PP_ITERATION_FINISH_1 >= 228
-#        define BOOST_PP_ITERATION_1 228
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 229 && BOOST_PP_ITERATION_FINISH_1 >= 229
-#        define BOOST_PP_ITERATION_1 229
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 230 && BOOST_PP_ITERATION_FINISH_1 >= 230
-#        define BOOST_PP_ITERATION_1 230
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 231 && BOOST_PP_ITERATION_FINISH_1 >= 231
-#        define BOOST_PP_ITERATION_1 231
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 232 && BOOST_PP_ITERATION_FINISH_1 >= 232
-#        define BOOST_PP_ITERATION_1 232
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 233 && BOOST_PP_ITERATION_FINISH_1 >= 233
-#        define BOOST_PP_ITERATION_1 233
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 234 && BOOST_PP_ITERATION_FINISH_1 >= 234
-#        define BOOST_PP_ITERATION_1 234
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 235 && BOOST_PP_ITERATION_FINISH_1 >= 235
-#        define BOOST_PP_ITERATION_1 235
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 236 && BOOST_PP_ITERATION_FINISH_1 >= 236
-#        define BOOST_PP_ITERATION_1 236
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 237 && BOOST_PP_ITERATION_FINISH_1 >= 237
-#        define BOOST_PP_ITERATION_1 237
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 238 && BOOST_PP_ITERATION_FINISH_1 >= 238
-#        define BOOST_PP_ITERATION_1 238
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 239 && BOOST_PP_ITERATION_FINISH_1 >= 239
-#        define BOOST_PP_ITERATION_1 239
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 240 && BOOST_PP_ITERATION_FINISH_1 >= 240
-#        define BOOST_PP_ITERATION_1 240
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 241 && BOOST_PP_ITERATION_FINISH_1 >= 241
-#        define BOOST_PP_ITERATION_1 241
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 242 && BOOST_PP_ITERATION_FINISH_1 >= 242
-#        define BOOST_PP_ITERATION_1 242
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 243 && BOOST_PP_ITERATION_FINISH_1 >= 243
-#        define BOOST_PP_ITERATION_1 243
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 244 && BOOST_PP_ITERATION_FINISH_1 >= 244
-#        define BOOST_PP_ITERATION_1 244
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 245 && BOOST_PP_ITERATION_FINISH_1 >= 245
-#        define BOOST_PP_ITERATION_1 245
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 246 && BOOST_PP_ITERATION_FINISH_1 >= 246
-#        define BOOST_PP_ITERATION_1 246
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 247 && BOOST_PP_ITERATION_FINISH_1 >= 247
-#        define BOOST_PP_ITERATION_1 247
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 248 && BOOST_PP_ITERATION_FINISH_1 >= 248
-#        define BOOST_PP_ITERATION_1 248
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 249 && BOOST_PP_ITERATION_FINISH_1 >= 249
-#        define BOOST_PP_ITERATION_1 249
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 250 && BOOST_PP_ITERATION_FINISH_1 >= 250
-#        define BOOST_PP_ITERATION_1 250
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 251 && BOOST_PP_ITERATION_FINISH_1 >= 251
-#        define BOOST_PP_ITERATION_1 251
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 252 && BOOST_PP_ITERATION_FINISH_1 >= 252
-#        define BOOST_PP_ITERATION_1 252
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 253 && BOOST_PP_ITERATION_FINISH_1 >= 253
-#        define BOOST_PP_ITERATION_1 253
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 254 && BOOST_PP_ITERATION_FINISH_1 >= 254
-#        define BOOST_PP_ITERATION_1 254
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 255 && BOOST_PP_ITERATION_FINISH_1 >= 255
-#        define BOOST_PP_ITERATION_1 255
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-#    if BOOST_PP_ITERATION_START_1 <= 256 && BOOST_PP_ITERATION_FINISH_1 >= 256
-#        define BOOST_PP_ITERATION_1 256
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
-#    endif
-# endif
-#
-# undef BOOST_PP_IS_ITERATING
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 0
-#
-# undef BOOST_PP_ITERATION_START_1
-# undef BOOST_PP_ITERATION_FINISH_1
-# undef BOOST_PP_FILENAME_1
-#
-# undef BOOST_PP_ITERATION_FLAGS_1
-# undef BOOST_PP_ITERATION_PARAMS_1
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward2.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward2.hpp
deleted file mode 100755
index 33e2dda..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward2.hpp
+++ /dev/null
@@ -1,1338 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if defined(BOOST_PP_ITERATION_LIMITS)
-#    if !defined(BOOST_PP_FILENAME_2)
-#        error BOOST_PP_ERROR:  depth #2 filename is not defined
-#    endif
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
-#    include <boost/preprocessor/iteration/detail/bounds/lower2.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
-#    include <boost/preprocessor/iteration/detail/bounds/upper2.hpp>
-#    define BOOST_PP_ITERATION_FLAGS_2 0
-#    undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_2)
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_2)
-#    include <boost/preprocessor/iteration/detail/bounds/lower2.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_2)
-#    include <boost/preprocessor/iteration/detail/bounds/upper2.hpp>
-#    define BOOST_PP_FILENAME_2 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_2)
-#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_2) >= 4
-#        define BOOST_PP_ITERATION_FLAGS_2 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_2)
-#    else
-#        define BOOST_PP_ITERATION_FLAGS_2 0
-#    endif
-# else
-#    error BOOST_PP_ERROR:  depth #2 iteration boundaries or filename not defined
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 2
-#
-# if (BOOST_PP_ITERATION_START_2) > (BOOST_PP_ITERATION_FINISH_2)
-#    include <boost/preprocessor/iteration/detail/iter/reverse2.hpp>
-# else
-#    if BOOST_PP_ITERATION_START_2 <= 0 && BOOST_PP_ITERATION_FINISH_2 >= 0
-#        define BOOST_PP_ITERATION_2 0
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 1 && BOOST_PP_ITERATION_FINISH_2 >= 1
-#        define BOOST_PP_ITERATION_2 1
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 2 && BOOST_PP_ITERATION_FINISH_2 >= 2
-#        define BOOST_PP_ITERATION_2 2
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 3 && BOOST_PP_ITERATION_FINISH_2 >= 3
-#        define BOOST_PP_ITERATION_2 3
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 4 && BOOST_PP_ITERATION_FINISH_2 >= 4
-#        define BOOST_PP_ITERATION_2 4
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 5 && BOOST_PP_ITERATION_FINISH_2 >= 5
-#        define BOOST_PP_ITERATION_2 5
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 6 && BOOST_PP_ITERATION_FINISH_2 >= 6
-#        define BOOST_PP_ITERATION_2 6
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 7 && BOOST_PP_ITERATION_FINISH_2 >= 7
-#        define BOOST_PP_ITERATION_2 7
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 8 && BOOST_PP_ITERATION_FINISH_2 >= 8
-#        define BOOST_PP_ITERATION_2 8
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 9 && BOOST_PP_ITERATION_FINISH_2 >= 9
-#        define BOOST_PP_ITERATION_2 9
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 10 && BOOST_PP_ITERATION_FINISH_2 >= 10
-#        define BOOST_PP_ITERATION_2 10
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 11 && BOOST_PP_ITERATION_FINISH_2 >= 11
-#        define BOOST_PP_ITERATION_2 11
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 12 && BOOST_PP_ITERATION_FINISH_2 >= 12
-#        define BOOST_PP_ITERATION_2 12
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 13 && BOOST_PP_ITERATION_FINISH_2 >= 13
-#        define BOOST_PP_ITERATION_2 13
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 14 && BOOST_PP_ITERATION_FINISH_2 >= 14
-#        define BOOST_PP_ITERATION_2 14
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 15 && BOOST_PP_ITERATION_FINISH_2 >= 15
-#        define BOOST_PP_ITERATION_2 15
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 16 && BOOST_PP_ITERATION_FINISH_2 >= 16
-#        define BOOST_PP_ITERATION_2 16
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 17 && BOOST_PP_ITERATION_FINISH_2 >= 17
-#        define BOOST_PP_ITERATION_2 17
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 18 && BOOST_PP_ITERATION_FINISH_2 >= 18
-#        define BOOST_PP_ITERATION_2 18
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 19 && BOOST_PP_ITERATION_FINISH_2 >= 19
-#        define BOOST_PP_ITERATION_2 19
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 20 && BOOST_PP_ITERATION_FINISH_2 >= 20
-#        define BOOST_PP_ITERATION_2 20
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 21 && BOOST_PP_ITERATION_FINISH_2 >= 21
-#        define BOOST_PP_ITERATION_2 21
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 22 && BOOST_PP_ITERATION_FINISH_2 >= 22
-#        define BOOST_PP_ITERATION_2 22
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 23 && BOOST_PP_ITERATION_FINISH_2 >= 23
-#        define BOOST_PP_ITERATION_2 23
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 24 && BOOST_PP_ITERATION_FINISH_2 >= 24
-#        define BOOST_PP_ITERATION_2 24
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 25 && BOOST_PP_ITERATION_FINISH_2 >= 25
-#        define BOOST_PP_ITERATION_2 25
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 26 && BOOST_PP_ITERATION_FINISH_2 >= 26
-#        define BOOST_PP_ITERATION_2 26
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 27 && BOOST_PP_ITERATION_FINISH_2 >= 27
-#        define BOOST_PP_ITERATION_2 27
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 28 && BOOST_PP_ITERATION_FINISH_2 >= 28
-#        define BOOST_PP_ITERATION_2 28
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 29 && BOOST_PP_ITERATION_FINISH_2 >= 29
-#        define BOOST_PP_ITERATION_2 29
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 30 && BOOST_PP_ITERATION_FINISH_2 >= 30
-#        define BOOST_PP_ITERATION_2 30
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 31 && BOOST_PP_ITERATION_FINISH_2 >= 31
-#        define BOOST_PP_ITERATION_2 31
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 32 && BOOST_PP_ITERATION_FINISH_2 >= 32
-#        define BOOST_PP_ITERATION_2 32
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 33 && BOOST_PP_ITERATION_FINISH_2 >= 33
-#        define BOOST_PP_ITERATION_2 33
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 34 && BOOST_PP_ITERATION_FINISH_2 >= 34
-#        define BOOST_PP_ITERATION_2 34
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 35 && BOOST_PP_ITERATION_FINISH_2 >= 35
-#        define BOOST_PP_ITERATION_2 35
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 36 && BOOST_PP_ITERATION_FINISH_2 >= 36
-#        define BOOST_PP_ITERATION_2 36
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 37 && BOOST_PP_ITERATION_FINISH_2 >= 37
-#        define BOOST_PP_ITERATION_2 37
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 38 && BOOST_PP_ITERATION_FINISH_2 >= 38
-#        define BOOST_PP_ITERATION_2 38
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 39 && BOOST_PP_ITERATION_FINISH_2 >= 39
-#        define BOOST_PP_ITERATION_2 39
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 40 && BOOST_PP_ITERATION_FINISH_2 >= 40
-#        define BOOST_PP_ITERATION_2 40
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 41 && BOOST_PP_ITERATION_FINISH_2 >= 41
-#        define BOOST_PP_ITERATION_2 41
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 42 && BOOST_PP_ITERATION_FINISH_2 >= 42
-#        define BOOST_PP_ITERATION_2 42
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 43 && BOOST_PP_ITERATION_FINISH_2 >= 43
-#        define BOOST_PP_ITERATION_2 43
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 44 && BOOST_PP_ITERATION_FINISH_2 >= 44
-#        define BOOST_PP_ITERATION_2 44
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 45 && BOOST_PP_ITERATION_FINISH_2 >= 45
-#        define BOOST_PP_ITERATION_2 45
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 46 && BOOST_PP_ITERATION_FINISH_2 >= 46
-#        define BOOST_PP_ITERATION_2 46
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 47 && BOOST_PP_ITERATION_FINISH_2 >= 47
-#        define BOOST_PP_ITERATION_2 47
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 48 && BOOST_PP_ITERATION_FINISH_2 >= 48
-#        define BOOST_PP_ITERATION_2 48
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 49 && BOOST_PP_ITERATION_FINISH_2 >= 49
-#        define BOOST_PP_ITERATION_2 49
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 50 && BOOST_PP_ITERATION_FINISH_2 >= 50
-#        define BOOST_PP_ITERATION_2 50
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 51 && BOOST_PP_ITERATION_FINISH_2 >= 51
-#        define BOOST_PP_ITERATION_2 51
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 52 && BOOST_PP_ITERATION_FINISH_2 >= 52
-#        define BOOST_PP_ITERATION_2 52
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 53 && BOOST_PP_ITERATION_FINISH_2 >= 53
-#        define BOOST_PP_ITERATION_2 53
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 54 && BOOST_PP_ITERATION_FINISH_2 >= 54
-#        define BOOST_PP_ITERATION_2 54
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 55 && BOOST_PP_ITERATION_FINISH_2 >= 55
-#        define BOOST_PP_ITERATION_2 55
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 56 && BOOST_PP_ITERATION_FINISH_2 >= 56
-#        define BOOST_PP_ITERATION_2 56
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 57 && BOOST_PP_ITERATION_FINISH_2 >= 57
-#        define BOOST_PP_ITERATION_2 57
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 58 && BOOST_PP_ITERATION_FINISH_2 >= 58
-#        define BOOST_PP_ITERATION_2 58
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 59 && BOOST_PP_ITERATION_FINISH_2 >= 59
-#        define BOOST_PP_ITERATION_2 59
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 60 && BOOST_PP_ITERATION_FINISH_2 >= 60
-#        define BOOST_PP_ITERATION_2 60
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 61 && BOOST_PP_ITERATION_FINISH_2 >= 61
-#        define BOOST_PP_ITERATION_2 61
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 62 && BOOST_PP_ITERATION_FINISH_2 >= 62
-#        define BOOST_PP_ITERATION_2 62
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 63 && BOOST_PP_ITERATION_FINISH_2 >= 63
-#        define BOOST_PP_ITERATION_2 63
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 64 && BOOST_PP_ITERATION_FINISH_2 >= 64
-#        define BOOST_PP_ITERATION_2 64
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 65 && BOOST_PP_ITERATION_FINISH_2 >= 65
-#        define BOOST_PP_ITERATION_2 65
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 66 && BOOST_PP_ITERATION_FINISH_2 >= 66
-#        define BOOST_PP_ITERATION_2 66
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 67 && BOOST_PP_ITERATION_FINISH_2 >= 67
-#        define BOOST_PP_ITERATION_2 67
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 68 && BOOST_PP_ITERATION_FINISH_2 >= 68
-#        define BOOST_PP_ITERATION_2 68
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 69 && BOOST_PP_ITERATION_FINISH_2 >= 69
-#        define BOOST_PP_ITERATION_2 69
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 70 && BOOST_PP_ITERATION_FINISH_2 >= 70
-#        define BOOST_PP_ITERATION_2 70
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 71 && BOOST_PP_ITERATION_FINISH_2 >= 71
-#        define BOOST_PP_ITERATION_2 71
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 72 && BOOST_PP_ITERATION_FINISH_2 >= 72
-#        define BOOST_PP_ITERATION_2 72
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 73 && BOOST_PP_ITERATION_FINISH_2 >= 73
-#        define BOOST_PP_ITERATION_2 73
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 74 && BOOST_PP_ITERATION_FINISH_2 >= 74
-#        define BOOST_PP_ITERATION_2 74
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 75 && BOOST_PP_ITERATION_FINISH_2 >= 75
-#        define BOOST_PP_ITERATION_2 75
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 76 && BOOST_PP_ITERATION_FINISH_2 >= 76
-#        define BOOST_PP_ITERATION_2 76
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 77 && BOOST_PP_ITERATION_FINISH_2 >= 77
-#        define BOOST_PP_ITERATION_2 77
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 78 && BOOST_PP_ITERATION_FINISH_2 >= 78
-#        define BOOST_PP_ITERATION_2 78
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 79 && BOOST_PP_ITERATION_FINISH_2 >= 79
-#        define BOOST_PP_ITERATION_2 79
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 80 && BOOST_PP_ITERATION_FINISH_2 >= 80
-#        define BOOST_PP_ITERATION_2 80
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 81 && BOOST_PP_ITERATION_FINISH_2 >= 81
-#        define BOOST_PP_ITERATION_2 81
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 82 && BOOST_PP_ITERATION_FINISH_2 >= 82
-#        define BOOST_PP_ITERATION_2 82
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 83 && BOOST_PP_ITERATION_FINISH_2 >= 83
-#        define BOOST_PP_ITERATION_2 83
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 84 && BOOST_PP_ITERATION_FINISH_2 >= 84
-#        define BOOST_PP_ITERATION_2 84
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 85 && BOOST_PP_ITERATION_FINISH_2 >= 85
-#        define BOOST_PP_ITERATION_2 85
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 86 && BOOST_PP_ITERATION_FINISH_2 >= 86
-#        define BOOST_PP_ITERATION_2 86
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 87 && BOOST_PP_ITERATION_FINISH_2 >= 87
-#        define BOOST_PP_ITERATION_2 87
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 88 && BOOST_PP_ITERATION_FINISH_2 >= 88
-#        define BOOST_PP_ITERATION_2 88
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 89 && BOOST_PP_ITERATION_FINISH_2 >= 89
-#        define BOOST_PP_ITERATION_2 89
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 90 && BOOST_PP_ITERATION_FINISH_2 >= 90
-#        define BOOST_PP_ITERATION_2 90
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 91 && BOOST_PP_ITERATION_FINISH_2 >= 91
-#        define BOOST_PP_ITERATION_2 91
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 92 && BOOST_PP_ITERATION_FINISH_2 >= 92
-#        define BOOST_PP_ITERATION_2 92
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 93 && BOOST_PP_ITERATION_FINISH_2 >= 93
-#        define BOOST_PP_ITERATION_2 93
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 94 && BOOST_PP_ITERATION_FINISH_2 >= 94
-#        define BOOST_PP_ITERATION_2 94
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 95 && BOOST_PP_ITERATION_FINISH_2 >= 95
-#        define BOOST_PP_ITERATION_2 95
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 96 && BOOST_PP_ITERATION_FINISH_2 >= 96
-#        define BOOST_PP_ITERATION_2 96
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 97 && BOOST_PP_ITERATION_FINISH_2 >= 97
-#        define BOOST_PP_ITERATION_2 97
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 98 && BOOST_PP_ITERATION_FINISH_2 >= 98
-#        define BOOST_PP_ITERATION_2 98
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 99 && BOOST_PP_ITERATION_FINISH_2 >= 99
-#        define BOOST_PP_ITERATION_2 99
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 100 && BOOST_PP_ITERATION_FINISH_2 >= 100
-#        define BOOST_PP_ITERATION_2 100
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 101 && BOOST_PP_ITERATION_FINISH_2 >= 101
-#        define BOOST_PP_ITERATION_2 101
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 102 && BOOST_PP_ITERATION_FINISH_2 >= 102
-#        define BOOST_PP_ITERATION_2 102
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 103 && BOOST_PP_ITERATION_FINISH_2 >= 103
-#        define BOOST_PP_ITERATION_2 103
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 104 && BOOST_PP_ITERATION_FINISH_2 >= 104
-#        define BOOST_PP_ITERATION_2 104
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 105 && BOOST_PP_ITERATION_FINISH_2 >= 105
-#        define BOOST_PP_ITERATION_2 105
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 106 && BOOST_PP_ITERATION_FINISH_2 >= 106
-#        define BOOST_PP_ITERATION_2 106
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 107 && BOOST_PP_ITERATION_FINISH_2 >= 107
-#        define BOOST_PP_ITERATION_2 107
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 108 && BOOST_PP_ITERATION_FINISH_2 >= 108
-#        define BOOST_PP_ITERATION_2 108
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 109 && BOOST_PP_ITERATION_FINISH_2 >= 109
-#        define BOOST_PP_ITERATION_2 109
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 110 && BOOST_PP_ITERATION_FINISH_2 >= 110
-#        define BOOST_PP_ITERATION_2 110
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 111 && BOOST_PP_ITERATION_FINISH_2 >= 111
-#        define BOOST_PP_ITERATION_2 111
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 112 && BOOST_PP_ITERATION_FINISH_2 >= 112
-#        define BOOST_PP_ITERATION_2 112
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 113 && BOOST_PP_ITERATION_FINISH_2 >= 113
-#        define BOOST_PP_ITERATION_2 113
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 114 && BOOST_PP_ITERATION_FINISH_2 >= 114
-#        define BOOST_PP_ITERATION_2 114
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 115 && BOOST_PP_ITERATION_FINISH_2 >= 115
-#        define BOOST_PP_ITERATION_2 115
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 116 && BOOST_PP_ITERATION_FINISH_2 >= 116
-#        define BOOST_PP_ITERATION_2 116
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 117 && BOOST_PP_ITERATION_FINISH_2 >= 117
-#        define BOOST_PP_ITERATION_2 117
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 118 && BOOST_PP_ITERATION_FINISH_2 >= 118
-#        define BOOST_PP_ITERATION_2 118
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 119 && BOOST_PP_ITERATION_FINISH_2 >= 119
-#        define BOOST_PP_ITERATION_2 119
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 120 && BOOST_PP_ITERATION_FINISH_2 >= 120
-#        define BOOST_PP_ITERATION_2 120
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 121 && BOOST_PP_ITERATION_FINISH_2 >= 121
-#        define BOOST_PP_ITERATION_2 121
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 122 && BOOST_PP_ITERATION_FINISH_2 >= 122
-#        define BOOST_PP_ITERATION_2 122
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 123 && BOOST_PP_ITERATION_FINISH_2 >= 123
-#        define BOOST_PP_ITERATION_2 123
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 124 && BOOST_PP_ITERATION_FINISH_2 >= 124
-#        define BOOST_PP_ITERATION_2 124
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 125 && BOOST_PP_ITERATION_FINISH_2 >= 125
-#        define BOOST_PP_ITERATION_2 125
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 126 && BOOST_PP_ITERATION_FINISH_2 >= 126
-#        define BOOST_PP_ITERATION_2 126
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 127 && BOOST_PP_ITERATION_FINISH_2 >= 127
-#        define BOOST_PP_ITERATION_2 127
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 128 && BOOST_PP_ITERATION_FINISH_2 >= 128
-#        define BOOST_PP_ITERATION_2 128
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 129 && BOOST_PP_ITERATION_FINISH_2 >= 129
-#        define BOOST_PP_ITERATION_2 129
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 130 && BOOST_PP_ITERATION_FINISH_2 >= 130
-#        define BOOST_PP_ITERATION_2 130
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 131 && BOOST_PP_ITERATION_FINISH_2 >= 131
-#        define BOOST_PP_ITERATION_2 131
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 132 && BOOST_PP_ITERATION_FINISH_2 >= 132
-#        define BOOST_PP_ITERATION_2 132
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 133 && BOOST_PP_ITERATION_FINISH_2 >= 133
-#        define BOOST_PP_ITERATION_2 133
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 134 && BOOST_PP_ITERATION_FINISH_2 >= 134
-#        define BOOST_PP_ITERATION_2 134
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 135 && BOOST_PP_ITERATION_FINISH_2 >= 135
-#        define BOOST_PP_ITERATION_2 135
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 136 && BOOST_PP_ITERATION_FINISH_2 >= 136
-#        define BOOST_PP_ITERATION_2 136
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 137 && BOOST_PP_ITERATION_FINISH_2 >= 137
-#        define BOOST_PP_ITERATION_2 137
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 138 && BOOST_PP_ITERATION_FINISH_2 >= 138
-#        define BOOST_PP_ITERATION_2 138
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 139 && BOOST_PP_ITERATION_FINISH_2 >= 139
-#        define BOOST_PP_ITERATION_2 139
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 140 && BOOST_PP_ITERATION_FINISH_2 >= 140
-#        define BOOST_PP_ITERATION_2 140
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 141 && BOOST_PP_ITERATION_FINISH_2 >= 141
-#        define BOOST_PP_ITERATION_2 141
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 142 && BOOST_PP_ITERATION_FINISH_2 >= 142
-#        define BOOST_PP_ITERATION_2 142
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 143 && BOOST_PP_ITERATION_FINISH_2 >= 143
-#        define BOOST_PP_ITERATION_2 143
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 144 && BOOST_PP_ITERATION_FINISH_2 >= 144
-#        define BOOST_PP_ITERATION_2 144
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 145 && BOOST_PP_ITERATION_FINISH_2 >= 145
-#        define BOOST_PP_ITERATION_2 145
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 146 && BOOST_PP_ITERATION_FINISH_2 >= 146
-#        define BOOST_PP_ITERATION_2 146
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 147 && BOOST_PP_ITERATION_FINISH_2 >= 147
-#        define BOOST_PP_ITERATION_2 147
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 148 && BOOST_PP_ITERATION_FINISH_2 >= 148
-#        define BOOST_PP_ITERATION_2 148
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 149 && BOOST_PP_ITERATION_FINISH_2 >= 149
-#        define BOOST_PP_ITERATION_2 149
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 150 && BOOST_PP_ITERATION_FINISH_2 >= 150
-#        define BOOST_PP_ITERATION_2 150
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 151 && BOOST_PP_ITERATION_FINISH_2 >= 151
-#        define BOOST_PP_ITERATION_2 151
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 152 && BOOST_PP_ITERATION_FINISH_2 >= 152
-#        define BOOST_PP_ITERATION_2 152
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 153 && BOOST_PP_ITERATION_FINISH_2 >= 153
-#        define BOOST_PP_ITERATION_2 153
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 154 && BOOST_PP_ITERATION_FINISH_2 >= 154
-#        define BOOST_PP_ITERATION_2 154
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 155 && BOOST_PP_ITERATION_FINISH_2 >= 155
-#        define BOOST_PP_ITERATION_2 155
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 156 && BOOST_PP_ITERATION_FINISH_2 >= 156
-#        define BOOST_PP_ITERATION_2 156
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 157 && BOOST_PP_ITERATION_FINISH_2 >= 157
-#        define BOOST_PP_ITERATION_2 157
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 158 && BOOST_PP_ITERATION_FINISH_2 >= 158
-#        define BOOST_PP_ITERATION_2 158
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 159 && BOOST_PP_ITERATION_FINISH_2 >= 159
-#        define BOOST_PP_ITERATION_2 159
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 160 && BOOST_PP_ITERATION_FINISH_2 >= 160
-#        define BOOST_PP_ITERATION_2 160
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 161 && BOOST_PP_ITERATION_FINISH_2 >= 161
-#        define BOOST_PP_ITERATION_2 161
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 162 && BOOST_PP_ITERATION_FINISH_2 >= 162
-#        define BOOST_PP_ITERATION_2 162
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 163 && BOOST_PP_ITERATION_FINISH_2 >= 163
-#        define BOOST_PP_ITERATION_2 163
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 164 && BOOST_PP_ITERATION_FINISH_2 >= 164
-#        define BOOST_PP_ITERATION_2 164
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 165 && BOOST_PP_ITERATION_FINISH_2 >= 165
-#        define BOOST_PP_ITERATION_2 165
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 166 && BOOST_PP_ITERATION_FINISH_2 >= 166
-#        define BOOST_PP_ITERATION_2 166
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 167 && BOOST_PP_ITERATION_FINISH_2 >= 167
-#        define BOOST_PP_ITERATION_2 167
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 168 && BOOST_PP_ITERATION_FINISH_2 >= 168
-#        define BOOST_PP_ITERATION_2 168
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 169 && BOOST_PP_ITERATION_FINISH_2 >= 169
-#        define BOOST_PP_ITERATION_2 169
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 170 && BOOST_PP_ITERATION_FINISH_2 >= 170
-#        define BOOST_PP_ITERATION_2 170
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 171 && BOOST_PP_ITERATION_FINISH_2 >= 171
-#        define BOOST_PP_ITERATION_2 171
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 172 && BOOST_PP_ITERATION_FINISH_2 >= 172
-#        define BOOST_PP_ITERATION_2 172
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 173 && BOOST_PP_ITERATION_FINISH_2 >= 173
-#        define BOOST_PP_ITERATION_2 173
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 174 && BOOST_PP_ITERATION_FINISH_2 >= 174
-#        define BOOST_PP_ITERATION_2 174
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 175 && BOOST_PP_ITERATION_FINISH_2 >= 175
-#        define BOOST_PP_ITERATION_2 175
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 176 && BOOST_PP_ITERATION_FINISH_2 >= 176
-#        define BOOST_PP_ITERATION_2 176
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 177 && BOOST_PP_ITERATION_FINISH_2 >= 177
-#        define BOOST_PP_ITERATION_2 177
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 178 && BOOST_PP_ITERATION_FINISH_2 >= 178
-#        define BOOST_PP_ITERATION_2 178
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 179 && BOOST_PP_ITERATION_FINISH_2 >= 179
-#        define BOOST_PP_ITERATION_2 179
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 180 && BOOST_PP_ITERATION_FINISH_2 >= 180
-#        define BOOST_PP_ITERATION_2 180
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 181 && BOOST_PP_ITERATION_FINISH_2 >= 181
-#        define BOOST_PP_ITERATION_2 181
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 182 && BOOST_PP_ITERATION_FINISH_2 >= 182
-#        define BOOST_PP_ITERATION_2 182
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 183 && BOOST_PP_ITERATION_FINISH_2 >= 183
-#        define BOOST_PP_ITERATION_2 183
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 184 && BOOST_PP_ITERATION_FINISH_2 >= 184
-#        define BOOST_PP_ITERATION_2 184
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 185 && BOOST_PP_ITERATION_FINISH_2 >= 185
-#        define BOOST_PP_ITERATION_2 185
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 186 && BOOST_PP_ITERATION_FINISH_2 >= 186
-#        define BOOST_PP_ITERATION_2 186
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 187 && BOOST_PP_ITERATION_FINISH_2 >= 187
-#        define BOOST_PP_ITERATION_2 187
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 188 && BOOST_PP_ITERATION_FINISH_2 >= 188
-#        define BOOST_PP_ITERATION_2 188
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 189 && BOOST_PP_ITERATION_FINISH_2 >= 189
-#        define BOOST_PP_ITERATION_2 189
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 190 && BOOST_PP_ITERATION_FINISH_2 >= 190
-#        define BOOST_PP_ITERATION_2 190
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 191 && BOOST_PP_ITERATION_FINISH_2 >= 191
-#        define BOOST_PP_ITERATION_2 191
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 192 && BOOST_PP_ITERATION_FINISH_2 >= 192
-#        define BOOST_PP_ITERATION_2 192
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 193 && BOOST_PP_ITERATION_FINISH_2 >= 193
-#        define BOOST_PP_ITERATION_2 193
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 194 && BOOST_PP_ITERATION_FINISH_2 >= 194
-#        define BOOST_PP_ITERATION_2 194
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 195 && BOOST_PP_ITERATION_FINISH_2 >= 195
-#        define BOOST_PP_ITERATION_2 195
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 196 && BOOST_PP_ITERATION_FINISH_2 >= 196
-#        define BOOST_PP_ITERATION_2 196
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 197 && BOOST_PP_ITERATION_FINISH_2 >= 197
-#        define BOOST_PP_ITERATION_2 197
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 198 && BOOST_PP_ITERATION_FINISH_2 >= 198
-#        define BOOST_PP_ITERATION_2 198
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 199 && BOOST_PP_ITERATION_FINISH_2 >= 199
-#        define BOOST_PP_ITERATION_2 199
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 200 && BOOST_PP_ITERATION_FINISH_2 >= 200
-#        define BOOST_PP_ITERATION_2 200
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 201 && BOOST_PP_ITERATION_FINISH_2 >= 201
-#        define BOOST_PP_ITERATION_2 201
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 202 && BOOST_PP_ITERATION_FINISH_2 >= 202
-#        define BOOST_PP_ITERATION_2 202
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 203 && BOOST_PP_ITERATION_FINISH_2 >= 203
-#        define BOOST_PP_ITERATION_2 203
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 204 && BOOST_PP_ITERATION_FINISH_2 >= 204
-#        define BOOST_PP_ITERATION_2 204
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 205 && BOOST_PP_ITERATION_FINISH_2 >= 205
-#        define BOOST_PP_ITERATION_2 205
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 206 && BOOST_PP_ITERATION_FINISH_2 >= 206
-#        define BOOST_PP_ITERATION_2 206
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 207 && BOOST_PP_ITERATION_FINISH_2 >= 207
-#        define BOOST_PP_ITERATION_2 207
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 208 && BOOST_PP_ITERATION_FINISH_2 >= 208
-#        define BOOST_PP_ITERATION_2 208
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 209 && BOOST_PP_ITERATION_FINISH_2 >= 209
-#        define BOOST_PP_ITERATION_2 209
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 210 && BOOST_PP_ITERATION_FINISH_2 >= 210
-#        define BOOST_PP_ITERATION_2 210
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 211 && BOOST_PP_ITERATION_FINISH_2 >= 211
-#        define BOOST_PP_ITERATION_2 211
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 212 && BOOST_PP_ITERATION_FINISH_2 >= 212
-#        define BOOST_PP_ITERATION_2 212
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 213 && BOOST_PP_ITERATION_FINISH_2 >= 213
-#        define BOOST_PP_ITERATION_2 213
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 214 && BOOST_PP_ITERATION_FINISH_2 >= 214
-#        define BOOST_PP_ITERATION_2 214
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 215 && BOOST_PP_ITERATION_FINISH_2 >= 215
-#        define BOOST_PP_ITERATION_2 215
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 216 && BOOST_PP_ITERATION_FINISH_2 >= 216
-#        define BOOST_PP_ITERATION_2 216
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 217 && BOOST_PP_ITERATION_FINISH_2 >= 217
-#        define BOOST_PP_ITERATION_2 217
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 218 && BOOST_PP_ITERATION_FINISH_2 >= 218
-#        define BOOST_PP_ITERATION_2 218
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 219 && BOOST_PP_ITERATION_FINISH_2 >= 219
-#        define BOOST_PP_ITERATION_2 219
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 220 && BOOST_PP_ITERATION_FINISH_2 >= 220
-#        define BOOST_PP_ITERATION_2 220
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 221 && BOOST_PP_ITERATION_FINISH_2 >= 221
-#        define BOOST_PP_ITERATION_2 221
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 222 && BOOST_PP_ITERATION_FINISH_2 >= 222
-#        define BOOST_PP_ITERATION_2 222
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 223 && BOOST_PP_ITERATION_FINISH_2 >= 223
-#        define BOOST_PP_ITERATION_2 223
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 224 && BOOST_PP_ITERATION_FINISH_2 >= 224
-#        define BOOST_PP_ITERATION_2 224
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 225 && BOOST_PP_ITERATION_FINISH_2 >= 225
-#        define BOOST_PP_ITERATION_2 225
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 226 && BOOST_PP_ITERATION_FINISH_2 >= 226
-#        define BOOST_PP_ITERATION_2 226
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 227 && BOOST_PP_ITERATION_FINISH_2 >= 227
-#        define BOOST_PP_ITERATION_2 227
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 228 && BOOST_PP_ITERATION_FINISH_2 >= 228
-#        define BOOST_PP_ITERATION_2 228
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 229 && BOOST_PP_ITERATION_FINISH_2 >= 229
-#        define BOOST_PP_ITERATION_2 229
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 230 && BOOST_PP_ITERATION_FINISH_2 >= 230
-#        define BOOST_PP_ITERATION_2 230
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 231 && BOOST_PP_ITERATION_FINISH_2 >= 231
-#        define BOOST_PP_ITERATION_2 231
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 232 && BOOST_PP_ITERATION_FINISH_2 >= 232
-#        define BOOST_PP_ITERATION_2 232
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 233 && BOOST_PP_ITERATION_FINISH_2 >= 233
-#        define BOOST_PP_ITERATION_2 233
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 234 && BOOST_PP_ITERATION_FINISH_2 >= 234
-#        define BOOST_PP_ITERATION_2 234
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 235 && BOOST_PP_ITERATION_FINISH_2 >= 235
-#        define BOOST_PP_ITERATION_2 235
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 236 && BOOST_PP_ITERATION_FINISH_2 >= 236
-#        define BOOST_PP_ITERATION_2 236
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 237 && BOOST_PP_ITERATION_FINISH_2 >= 237
-#        define BOOST_PP_ITERATION_2 237
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 238 && BOOST_PP_ITERATION_FINISH_2 >= 238
-#        define BOOST_PP_ITERATION_2 238
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 239 && BOOST_PP_ITERATION_FINISH_2 >= 239
-#        define BOOST_PP_ITERATION_2 239
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 240 && BOOST_PP_ITERATION_FINISH_2 >= 240
-#        define BOOST_PP_ITERATION_2 240
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 241 && BOOST_PP_ITERATION_FINISH_2 >= 241
-#        define BOOST_PP_ITERATION_2 241
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 242 && BOOST_PP_ITERATION_FINISH_2 >= 242
-#        define BOOST_PP_ITERATION_2 242
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 243 && BOOST_PP_ITERATION_FINISH_2 >= 243
-#        define BOOST_PP_ITERATION_2 243
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 244 && BOOST_PP_ITERATION_FINISH_2 >= 244
-#        define BOOST_PP_ITERATION_2 244
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 245 && BOOST_PP_ITERATION_FINISH_2 >= 245
-#        define BOOST_PP_ITERATION_2 245
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 246 && BOOST_PP_ITERATION_FINISH_2 >= 246
-#        define BOOST_PP_ITERATION_2 246
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 247 && BOOST_PP_ITERATION_FINISH_2 >= 247
-#        define BOOST_PP_ITERATION_2 247
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 248 && BOOST_PP_ITERATION_FINISH_2 >= 248
-#        define BOOST_PP_ITERATION_2 248
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 249 && BOOST_PP_ITERATION_FINISH_2 >= 249
-#        define BOOST_PP_ITERATION_2 249
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 250 && BOOST_PP_ITERATION_FINISH_2 >= 250
-#        define BOOST_PP_ITERATION_2 250
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 251 && BOOST_PP_ITERATION_FINISH_2 >= 251
-#        define BOOST_PP_ITERATION_2 251
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 252 && BOOST_PP_ITERATION_FINISH_2 >= 252
-#        define BOOST_PP_ITERATION_2 252
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 253 && BOOST_PP_ITERATION_FINISH_2 >= 253
-#        define BOOST_PP_ITERATION_2 253
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 254 && BOOST_PP_ITERATION_FINISH_2 >= 254
-#        define BOOST_PP_ITERATION_2 254
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 255 && BOOST_PP_ITERATION_FINISH_2 >= 255
-#        define BOOST_PP_ITERATION_2 255
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-#    if BOOST_PP_ITERATION_START_2 <= 256 && BOOST_PP_ITERATION_FINISH_2 >= 256
-#        define BOOST_PP_ITERATION_2 256
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
-#    endif
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 1
-#
-# undef BOOST_PP_ITERATION_START_2
-# undef BOOST_PP_ITERATION_FINISH_2
-# undef BOOST_PP_FILENAME_2
-#
-# undef BOOST_PP_ITERATION_FLAGS_2
-# undef BOOST_PP_ITERATION_PARAMS_2
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward3.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward3.hpp
deleted file mode 100755
index e0a95f3..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward3.hpp
+++ /dev/null
@@ -1,1338 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if defined(BOOST_PP_ITERATION_LIMITS)
-#    if !defined(BOOST_PP_FILENAME_3)
-#        error BOOST_PP_ERROR:  depth #3 filename is not defined
-#    endif
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
-#    include <boost/preprocessor/iteration/detail/bounds/lower3.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
-#    include <boost/preprocessor/iteration/detail/bounds/upper3.hpp>
-#    define BOOST_PP_ITERATION_FLAGS_3 0
-#    undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_3)
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_3)
-#    include <boost/preprocessor/iteration/detail/bounds/lower3.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_3)
-#    include <boost/preprocessor/iteration/detail/bounds/upper3.hpp>
-#    define BOOST_PP_FILENAME_3 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_3)
-#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_3) >= 4
-#        define BOOST_PP_ITERATION_FLAGS_3 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_3)
-#    else
-#        define BOOST_PP_ITERATION_FLAGS_3 0
-#    endif
-# else
-#    error BOOST_PP_ERROR:  depth #3 iteration boundaries or filename not defined
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 3
-#
-# if (BOOST_PP_ITERATION_START_3) > (BOOST_PP_ITERATION_FINISH_3)
-#    include <boost/preprocessor/iteration/detail/iter/reverse3.hpp>
-# else
-#    if BOOST_PP_ITERATION_START_3 <= 0 && BOOST_PP_ITERATION_FINISH_3 >= 0
-#        define BOOST_PP_ITERATION_3 0
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 1 && BOOST_PP_ITERATION_FINISH_3 >= 1
-#        define BOOST_PP_ITERATION_3 1
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 2 && BOOST_PP_ITERATION_FINISH_3 >= 2
-#        define BOOST_PP_ITERATION_3 2
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 3 && BOOST_PP_ITERATION_FINISH_3 >= 3
-#        define BOOST_PP_ITERATION_3 3
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 4 && BOOST_PP_ITERATION_FINISH_3 >= 4
-#        define BOOST_PP_ITERATION_3 4
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 5 && BOOST_PP_ITERATION_FINISH_3 >= 5
-#        define BOOST_PP_ITERATION_3 5
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 6 && BOOST_PP_ITERATION_FINISH_3 >= 6
-#        define BOOST_PP_ITERATION_3 6
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 7 && BOOST_PP_ITERATION_FINISH_3 >= 7
-#        define BOOST_PP_ITERATION_3 7
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 8 && BOOST_PP_ITERATION_FINISH_3 >= 8
-#        define BOOST_PP_ITERATION_3 8
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 9 && BOOST_PP_ITERATION_FINISH_3 >= 9
-#        define BOOST_PP_ITERATION_3 9
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 10 && BOOST_PP_ITERATION_FINISH_3 >= 10
-#        define BOOST_PP_ITERATION_3 10
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 11 && BOOST_PP_ITERATION_FINISH_3 >= 11
-#        define BOOST_PP_ITERATION_3 11
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 12 && BOOST_PP_ITERATION_FINISH_3 >= 12
-#        define BOOST_PP_ITERATION_3 12
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 13 && BOOST_PP_ITERATION_FINISH_3 >= 13
-#        define BOOST_PP_ITERATION_3 13
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 14 && BOOST_PP_ITERATION_FINISH_3 >= 14
-#        define BOOST_PP_ITERATION_3 14
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 15 && BOOST_PP_ITERATION_FINISH_3 >= 15
-#        define BOOST_PP_ITERATION_3 15
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 16 && BOOST_PP_ITERATION_FINISH_3 >= 16
-#        define BOOST_PP_ITERATION_3 16
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 17 && BOOST_PP_ITERATION_FINISH_3 >= 17
-#        define BOOST_PP_ITERATION_3 17
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 18 && BOOST_PP_ITERATION_FINISH_3 >= 18
-#        define BOOST_PP_ITERATION_3 18
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 19 && BOOST_PP_ITERATION_FINISH_3 >= 19
-#        define BOOST_PP_ITERATION_3 19
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 20 && BOOST_PP_ITERATION_FINISH_3 >= 20
-#        define BOOST_PP_ITERATION_3 20
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 21 && BOOST_PP_ITERATION_FINISH_3 >= 21
-#        define BOOST_PP_ITERATION_3 21
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 22 && BOOST_PP_ITERATION_FINISH_3 >= 22
-#        define BOOST_PP_ITERATION_3 22
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 23 && BOOST_PP_ITERATION_FINISH_3 >= 23
-#        define BOOST_PP_ITERATION_3 23
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 24 && BOOST_PP_ITERATION_FINISH_3 >= 24
-#        define BOOST_PP_ITERATION_3 24
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 25 && BOOST_PP_ITERATION_FINISH_3 >= 25
-#        define BOOST_PP_ITERATION_3 25
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 26 && BOOST_PP_ITERATION_FINISH_3 >= 26
-#        define BOOST_PP_ITERATION_3 26
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 27 && BOOST_PP_ITERATION_FINISH_3 >= 27
-#        define BOOST_PP_ITERATION_3 27
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 28 && BOOST_PP_ITERATION_FINISH_3 >= 28
-#        define BOOST_PP_ITERATION_3 28
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 29 && BOOST_PP_ITERATION_FINISH_3 >= 29
-#        define BOOST_PP_ITERATION_3 29
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 30 && BOOST_PP_ITERATION_FINISH_3 >= 30
-#        define BOOST_PP_ITERATION_3 30
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 31 && BOOST_PP_ITERATION_FINISH_3 >= 31
-#        define BOOST_PP_ITERATION_3 31
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 32 && BOOST_PP_ITERATION_FINISH_3 >= 32
-#        define BOOST_PP_ITERATION_3 32
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 33 && BOOST_PP_ITERATION_FINISH_3 >= 33
-#        define BOOST_PP_ITERATION_3 33
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 34 && BOOST_PP_ITERATION_FINISH_3 >= 34
-#        define BOOST_PP_ITERATION_3 34
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 35 && BOOST_PP_ITERATION_FINISH_3 >= 35
-#        define BOOST_PP_ITERATION_3 35
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 36 && BOOST_PP_ITERATION_FINISH_3 >= 36
-#        define BOOST_PP_ITERATION_3 36
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 37 && BOOST_PP_ITERATION_FINISH_3 >= 37
-#        define BOOST_PP_ITERATION_3 37
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 38 && BOOST_PP_ITERATION_FINISH_3 >= 38
-#        define BOOST_PP_ITERATION_3 38
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 39 && BOOST_PP_ITERATION_FINISH_3 >= 39
-#        define BOOST_PP_ITERATION_3 39
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 40 && BOOST_PP_ITERATION_FINISH_3 >= 40
-#        define BOOST_PP_ITERATION_3 40
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 41 && BOOST_PP_ITERATION_FINISH_3 >= 41
-#        define BOOST_PP_ITERATION_3 41
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 42 && BOOST_PP_ITERATION_FINISH_3 >= 42
-#        define BOOST_PP_ITERATION_3 42
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 43 && BOOST_PP_ITERATION_FINISH_3 >= 43
-#        define BOOST_PP_ITERATION_3 43
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 44 && BOOST_PP_ITERATION_FINISH_3 >= 44
-#        define BOOST_PP_ITERATION_3 44
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 45 && BOOST_PP_ITERATION_FINISH_3 >= 45
-#        define BOOST_PP_ITERATION_3 45
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 46 && BOOST_PP_ITERATION_FINISH_3 >= 46
-#        define BOOST_PP_ITERATION_3 46
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 47 && BOOST_PP_ITERATION_FINISH_3 >= 47
-#        define BOOST_PP_ITERATION_3 47
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 48 && BOOST_PP_ITERATION_FINISH_3 >= 48
-#        define BOOST_PP_ITERATION_3 48
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 49 && BOOST_PP_ITERATION_FINISH_3 >= 49
-#        define BOOST_PP_ITERATION_3 49
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 50 && BOOST_PP_ITERATION_FINISH_3 >= 50
-#        define BOOST_PP_ITERATION_3 50
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 51 && BOOST_PP_ITERATION_FINISH_3 >= 51
-#        define BOOST_PP_ITERATION_3 51
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 52 && BOOST_PP_ITERATION_FINISH_3 >= 52
-#        define BOOST_PP_ITERATION_3 52
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 53 && BOOST_PP_ITERATION_FINISH_3 >= 53
-#        define BOOST_PP_ITERATION_3 53
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 54 && BOOST_PP_ITERATION_FINISH_3 >= 54
-#        define BOOST_PP_ITERATION_3 54
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 55 && BOOST_PP_ITERATION_FINISH_3 >= 55
-#        define BOOST_PP_ITERATION_3 55
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 56 && BOOST_PP_ITERATION_FINISH_3 >= 56
-#        define BOOST_PP_ITERATION_3 56
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 57 && BOOST_PP_ITERATION_FINISH_3 >= 57
-#        define BOOST_PP_ITERATION_3 57
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 58 && BOOST_PP_ITERATION_FINISH_3 >= 58
-#        define BOOST_PP_ITERATION_3 58
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 59 && BOOST_PP_ITERATION_FINISH_3 >= 59
-#        define BOOST_PP_ITERATION_3 59
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 60 && BOOST_PP_ITERATION_FINISH_3 >= 60
-#        define BOOST_PP_ITERATION_3 60
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 61 && BOOST_PP_ITERATION_FINISH_3 >= 61
-#        define BOOST_PP_ITERATION_3 61
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 62 && BOOST_PP_ITERATION_FINISH_3 >= 62
-#        define BOOST_PP_ITERATION_3 62
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 63 && BOOST_PP_ITERATION_FINISH_3 >= 63
-#        define BOOST_PP_ITERATION_3 63
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 64 && BOOST_PP_ITERATION_FINISH_3 >= 64
-#        define BOOST_PP_ITERATION_3 64
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 65 && BOOST_PP_ITERATION_FINISH_3 >= 65
-#        define BOOST_PP_ITERATION_3 65
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 66 && BOOST_PP_ITERATION_FINISH_3 >= 66
-#        define BOOST_PP_ITERATION_3 66
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 67 && BOOST_PP_ITERATION_FINISH_3 >= 67
-#        define BOOST_PP_ITERATION_3 67
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 68 && BOOST_PP_ITERATION_FINISH_3 >= 68
-#        define BOOST_PP_ITERATION_3 68
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 69 && BOOST_PP_ITERATION_FINISH_3 >= 69
-#        define BOOST_PP_ITERATION_3 69
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 70 && BOOST_PP_ITERATION_FINISH_3 >= 70
-#        define BOOST_PP_ITERATION_3 70
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 71 && BOOST_PP_ITERATION_FINISH_3 >= 71
-#        define BOOST_PP_ITERATION_3 71
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 72 && BOOST_PP_ITERATION_FINISH_3 >= 72
-#        define BOOST_PP_ITERATION_3 72
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 73 && BOOST_PP_ITERATION_FINISH_3 >= 73
-#        define BOOST_PP_ITERATION_3 73
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 74 && BOOST_PP_ITERATION_FINISH_3 >= 74
-#        define BOOST_PP_ITERATION_3 74
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 75 && BOOST_PP_ITERATION_FINISH_3 >= 75
-#        define BOOST_PP_ITERATION_3 75
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 76 && BOOST_PP_ITERATION_FINISH_3 >= 76
-#        define BOOST_PP_ITERATION_3 76
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 77 && BOOST_PP_ITERATION_FINISH_3 >= 77
-#        define BOOST_PP_ITERATION_3 77
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 78 && BOOST_PP_ITERATION_FINISH_3 >= 78
-#        define BOOST_PP_ITERATION_3 78
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 79 && BOOST_PP_ITERATION_FINISH_3 >= 79
-#        define BOOST_PP_ITERATION_3 79
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 80 && BOOST_PP_ITERATION_FINISH_3 >= 80
-#        define BOOST_PP_ITERATION_3 80
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 81 && BOOST_PP_ITERATION_FINISH_3 >= 81
-#        define BOOST_PP_ITERATION_3 81
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 82 && BOOST_PP_ITERATION_FINISH_3 >= 82
-#        define BOOST_PP_ITERATION_3 82
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 83 && BOOST_PP_ITERATION_FINISH_3 >= 83
-#        define BOOST_PP_ITERATION_3 83
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 84 && BOOST_PP_ITERATION_FINISH_3 >= 84
-#        define BOOST_PP_ITERATION_3 84
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 85 && BOOST_PP_ITERATION_FINISH_3 >= 85
-#        define BOOST_PP_ITERATION_3 85
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 86 && BOOST_PP_ITERATION_FINISH_3 >= 86
-#        define BOOST_PP_ITERATION_3 86
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 87 && BOOST_PP_ITERATION_FINISH_3 >= 87
-#        define BOOST_PP_ITERATION_3 87
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 88 && BOOST_PP_ITERATION_FINISH_3 >= 88
-#        define BOOST_PP_ITERATION_3 88
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 89 && BOOST_PP_ITERATION_FINISH_3 >= 89
-#        define BOOST_PP_ITERATION_3 89
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 90 && BOOST_PP_ITERATION_FINISH_3 >= 90
-#        define BOOST_PP_ITERATION_3 90
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 91 && BOOST_PP_ITERATION_FINISH_3 >= 91
-#        define BOOST_PP_ITERATION_3 91
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 92 && BOOST_PP_ITERATION_FINISH_3 >= 92
-#        define BOOST_PP_ITERATION_3 92
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 93 && BOOST_PP_ITERATION_FINISH_3 >= 93
-#        define BOOST_PP_ITERATION_3 93
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 94 && BOOST_PP_ITERATION_FINISH_3 >= 94
-#        define BOOST_PP_ITERATION_3 94
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 95 && BOOST_PP_ITERATION_FINISH_3 >= 95
-#        define BOOST_PP_ITERATION_3 95
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 96 && BOOST_PP_ITERATION_FINISH_3 >= 96
-#        define BOOST_PP_ITERATION_3 96
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 97 && BOOST_PP_ITERATION_FINISH_3 >= 97
-#        define BOOST_PP_ITERATION_3 97
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 98 && BOOST_PP_ITERATION_FINISH_3 >= 98
-#        define BOOST_PP_ITERATION_3 98
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 99 && BOOST_PP_ITERATION_FINISH_3 >= 99
-#        define BOOST_PP_ITERATION_3 99
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 100 && BOOST_PP_ITERATION_FINISH_3 >= 100
-#        define BOOST_PP_ITERATION_3 100
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 101 && BOOST_PP_ITERATION_FINISH_3 >= 101
-#        define BOOST_PP_ITERATION_3 101
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 102 && BOOST_PP_ITERATION_FINISH_3 >= 102
-#        define BOOST_PP_ITERATION_3 102
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 103 && BOOST_PP_ITERATION_FINISH_3 >= 103
-#        define BOOST_PP_ITERATION_3 103
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 104 && BOOST_PP_ITERATION_FINISH_3 >= 104
-#        define BOOST_PP_ITERATION_3 104
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 105 && BOOST_PP_ITERATION_FINISH_3 >= 105
-#        define BOOST_PP_ITERATION_3 105
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 106 && BOOST_PP_ITERATION_FINISH_3 >= 106
-#        define BOOST_PP_ITERATION_3 106
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 107 && BOOST_PP_ITERATION_FINISH_3 >= 107
-#        define BOOST_PP_ITERATION_3 107
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 108 && BOOST_PP_ITERATION_FINISH_3 >= 108
-#        define BOOST_PP_ITERATION_3 108
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 109 && BOOST_PP_ITERATION_FINISH_3 >= 109
-#        define BOOST_PP_ITERATION_3 109
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 110 && BOOST_PP_ITERATION_FINISH_3 >= 110
-#        define BOOST_PP_ITERATION_3 110
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 111 && BOOST_PP_ITERATION_FINISH_3 >= 111
-#        define BOOST_PP_ITERATION_3 111
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 112 && BOOST_PP_ITERATION_FINISH_3 >= 112
-#        define BOOST_PP_ITERATION_3 112
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 113 && BOOST_PP_ITERATION_FINISH_3 >= 113
-#        define BOOST_PP_ITERATION_3 113
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 114 && BOOST_PP_ITERATION_FINISH_3 >= 114
-#        define BOOST_PP_ITERATION_3 114
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 115 && BOOST_PP_ITERATION_FINISH_3 >= 115
-#        define BOOST_PP_ITERATION_3 115
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 116 && BOOST_PP_ITERATION_FINISH_3 >= 116
-#        define BOOST_PP_ITERATION_3 116
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 117 && BOOST_PP_ITERATION_FINISH_3 >= 117
-#        define BOOST_PP_ITERATION_3 117
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 118 && BOOST_PP_ITERATION_FINISH_3 >= 118
-#        define BOOST_PP_ITERATION_3 118
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 119 && BOOST_PP_ITERATION_FINISH_3 >= 119
-#        define BOOST_PP_ITERATION_3 119
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 120 && BOOST_PP_ITERATION_FINISH_3 >= 120
-#        define BOOST_PP_ITERATION_3 120
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 121 && BOOST_PP_ITERATION_FINISH_3 >= 121
-#        define BOOST_PP_ITERATION_3 121
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 122 && BOOST_PP_ITERATION_FINISH_3 >= 122
-#        define BOOST_PP_ITERATION_3 122
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 123 && BOOST_PP_ITERATION_FINISH_3 >= 123
-#        define BOOST_PP_ITERATION_3 123
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 124 && BOOST_PP_ITERATION_FINISH_3 >= 124
-#        define BOOST_PP_ITERATION_3 124
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 125 && BOOST_PP_ITERATION_FINISH_3 >= 125
-#        define BOOST_PP_ITERATION_3 125
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 126 && BOOST_PP_ITERATION_FINISH_3 >= 126
-#        define BOOST_PP_ITERATION_3 126
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 127 && BOOST_PP_ITERATION_FINISH_3 >= 127
-#        define BOOST_PP_ITERATION_3 127
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 128 && BOOST_PP_ITERATION_FINISH_3 >= 128
-#        define BOOST_PP_ITERATION_3 128
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 129 && BOOST_PP_ITERATION_FINISH_3 >= 129
-#        define BOOST_PP_ITERATION_3 129
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 130 && BOOST_PP_ITERATION_FINISH_3 >= 130
-#        define BOOST_PP_ITERATION_3 130
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 131 && BOOST_PP_ITERATION_FINISH_3 >= 131
-#        define BOOST_PP_ITERATION_3 131
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 132 && BOOST_PP_ITERATION_FINISH_3 >= 132
-#        define BOOST_PP_ITERATION_3 132
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 133 && BOOST_PP_ITERATION_FINISH_3 >= 133
-#        define BOOST_PP_ITERATION_3 133
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 134 && BOOST_PP_ITERATION_FINISH_3 >= 134
-#        define BOOST_PP_ITERATION_3 134
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 135 && BOOST_PP_ITERATION_FINISH_3 >= 135
-#        define BOOST_PP_ITERATION_3 135
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 136 && BOOST_PP_ITERATION_FINISH_3 >= 136
-#        define BOOST_PP_ITERATION_3 136
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 137 && BOOST_PP_ITERATION_FINISH_3 >= 137
-#        define BOOST_PP_ITERATION_3 137
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 138 && BOOST_PP_ITERATION_FINISH_3 >= 138
-#        define BOOST_PP_ITERATION_3 138
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 139 && BOOST_PP_ITERATION_FINISH_3 >= 139
-#        define BOOST_PP_ITERATION_3 139
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 140 && BOOST_PP_ITERATION_FINISH_3 >= 140
-#        define BOOST_PP_ITERATION_3 140
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 141 && BOOST_PP_ITERATION_FINISH_3 >= 141
-#        define BOOST_PP_ITERATION_3 141
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 142 && BOOST_PP_ITERATION_FINISH_3 >= 142
-#        define BOOST_PP_ITERATION_3 142
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 143 && BOOST_PP_ITERATION_FINISH_3 >= 143
-#        define BOOST_PP_ITERATION_3 143
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 144 && BOOST_PP_ITERATION_FINISH_3 >= 144
-#        define BOOST_PP_ITERATION_3 144
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 145 && BOOST_PP_ITERATION_FINISH_3 >= 145
-#        define BOOST_PP_ITERATION_3 145
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 146 && BOOST_PP_ITERATION_FINISH_3 >= 146
-#        define BOOST_PP_ITERATION_3 146
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 147 && BOOST_PP_ITERATION_FINISH_3 >= 147
-#        define BOOST_PP_ITERATION_3 147
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 148 && BOOST_PP_ITERATION_FINISH_3 >= 148
-#        define BOOST_PP_ITERATION_3 148
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 149 && BOOST_PP_ITERATION_FINISH_3 >= 149
-#        define BOOST_PP_ITERATION_3 149
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 150 && BOOST_PP_ITERATION_FINISH_3 >= 150
-#        define BOOST_PP_ITERATION_3 150
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 151 && BOOST_PP_ITERATION_FINISH_3 >= 151
-#        define BOOST_PP_ITERATION_3 151
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 152 && BOOST_PP_ITERATION_FINISH_3 >= 152
-#        define BOOST_PP_ITERATION_3 152
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 153 && BOOST_PP_ITERATION_FINISH_3 >= 153
-#        define BOOST_PP_ITERATION_3 153
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 154 && BOOST_PP_ITERATION_FINISH_3 >= 154
-#        define BOOST_PP_ITERATION_3 154
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 155 && BOOST_PP_ITERATION_FINISH_3 >= 155
-#        define BOOST_PP_ITERATION_3 155
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 156 && BOOST_PP_ITERATION_FINISH_3 >= 156
-#        define BOOST_PP_ITERATION_3 156
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 157 && BOOST_PP_ITERATION_FINISH_3 >= 157
-#        define BOOST_PP_ITERATION_3 157
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 158 && BOOST_PP_ITERATION_FINISH_3 >= 158
-#        define BOOST_PP_ITERATION_3 158
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 159 && BOOST_PP_ITERATION_FINISH_3 >= 159
-#        define BOOST_PP_ITERATION_3 159
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 160 && BOOST_PP_ITERATION_FINISH_3 >= 160
-#        define BOOST_PP_ITERATION_3 160
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 161 && BOOST_PP_ITERATION_FINISH_3 >= 161
-#        define BOOST_PP_ITERATION_3 161
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 162 && BOOST_PP_ITERATION_FINISH_3 >= 162
-#        define BOOST_PP_ITERATION_3 162
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 163 && BOOST_PP_ITERATION_FINISH_3 >= 163
-#        define BOOST_PP_ITERATION_3 163
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 164 && BOOST_PP_ITERATION_FINISH_3 >= 164
-#        define BOOST_PP_ITERATION_3 164
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 165 && BOOST_PP_ITERATION_FINISH_3 >= 165
-#        define BOOST_PP_ITERATION_3 165
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 166 && BOOST_PP_ITERATION_FINISH_3 >= 166
-#        define BOOST_PP_ITERATION_3 166
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 167 && BOOST_PP_ITERATION_FINISH_3 >= 167
-#        define BOOST_PP_ITERATION_3 167
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 168 && BOOST_PP_ITERATION_FINISH_3 >= 168
-#        define BOOST_PP_ITERATION_3 168
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 169 && BOOST_PP_ITERATION_FINISH_3 >= 169
-#        define BOOST_PP_ITERATION_3 169
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 170 && BOOST_PP_ITERATION_FINISH_3 >= 170
-#        define BOOST_PP_ITERATION_3 170
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 171 && BOOST_PP_ITERATION_FINISH_3 >= 171
-#        define BOOST_PP_ITERATION_3 171
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 172 && BOOST_PP_ITERATION_FINISH_3 >= 172
-#        define BOOST_PP_ITERATION_3 172
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 173 && BOOST_PP_ITERATION_FINISH_3 >= 173
-#        define BOOST_PP_ITERATION_3 173
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 174 && BOOST_PP_ITERATION_FINISH_3 >= 174
-#        define BOOST_PP_ITERATION_3 174
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 175 && BOOST_PP_ITERATION_FINISH_3 >= 175
-#        define BOOST_PP_ITERATION_3 175
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 176 && BOOST_PP_ITERATION_FINISH_3 >= 176
-#        define BOOST_PP_ITERATION_3 176
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 177 && BOOST_PP_ITERATION_FINISH_3 >= 177
-#        define BOOST_PP_ITERATION_3 177
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 178 && BOOST_PP_ITERATION_FINISH_3 >= 178
-#        define BOOST_PP_ITERATION_3 178
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 179 && BOOST_PP_ITERATION_FINISH_3 >= 179
-#        define BOOST_PP_ITERATION_3 179
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 180 && BOOST_PP_ITERATION_FINISH_3 >= 180
-#        define BOOST_PP_ITERATION_3 180
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 181 && BOOST_PP_ITERATION_FINISH_3 >= 181
-#        define BOOST_PP_ITERATION_3 181
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 182 && BOOST_PP_ITERATION_FINISH_3 >= 182
-#        define BOOST_PP_ITERATION_3 182
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 183 && BOOST_PP_ITERATION_FINISH_3 >= 183
-#        define BOOST_PP_ITERATION_3 183
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 184 && BOOST_PP_ITERATION_FINISH_3 >= 184
-#        define BOOST_PP_ITERATION_3 184
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 185 && BOOST_PP_ITERATION_FINISH_3 >= 185
-#        define BOOST_PP_ITERATION_3 185
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 186 && BOOST_PP_ITERATION_FINISH_3 >= 186
-#        define BOOST_PP_ITERATION_3 186
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 187 && BOOST_PP_ITERATION_FINISH_3 >= 187
-#        define BOOST_PP_ITERATION_3 187
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 188 && BOOST_PP_ITERATION_FINISH_3 >= 188
-#        define BOOST_PP_ITERATION_3 188
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 189 && BOOST_PP_ITERATION_FINISH_3 >= 189
-#        define BOOST_PP_ITERATION_3 189
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 190 && BOOST_PP_ITERATION_FINISH_3 >= 190
-#        define BOOST_PP_ITERATION_3 190
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 191 && BOOST_PP_ITERATION_FINISH_3 >= 191
-#        define BOOST_PP_ITERATION_3 191
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 192 && BOOST_PP_ITERATION_FINISH_3 >= 192
-#        define BOOST_PP_ITERATION_3 192
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 193 && BOOST_PP_ITERATION_FINISH_3 >= 193
-#        define BOOST_PP_ITERATION_3 193
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 194 && BOOST_PP_ITERATION_FINISH_3 >= 194
-#        define BOOST_PP_ITERATION_3 194
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 195 && BOOST_PP_ITERATION_FINISH_3 >= 195
-#        define BOOST_PP_ITERATION_3 195
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 196 && BOOST_PP_ITERATION_FINISH_3 >= 196
-#        define BOOST_PP_ITERATION_3 196
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 197 && BOOST_PP_ITERATION_FINISH_3 >= 197
-#        define BOOST_PP_ITERATION_3 197
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 198 && BOOST_PP_ITERATION_FINISH_3 >= 198
-#        define BOOST_PP_ITERATION_3 198
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 199 && BOOST_PP_ITERATION_FINISH_3 >= 199
-#        define BOOST_PP_ITERATION_3 199
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 200 && BOOST_PP_ITERATION_FINISH_3 >= 200
-#        define BOOST_PP_ITERATION_3 200
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 201 && BOOST_PP_ITERATION_FINISH_3 >= 201
-#        define BOOST_PP_ITERATION_3 201
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 202 && BOOST_PP_ITERATION_FINISH_3 >= 202
-#        define BOOST_PP_ITERATION_3 202
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 203 && BOOST_PP_ITERATION_FINISH_3 >= 203
-#        define BOOST_PP_ITERATION_3 203
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 204 && BOOST_PP_ITERATION_FINISH_3 >= 204
-#        define BOOST_PP_ITERATION_3 204
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 205 && BOOST_PP_ITERATION_FINISH_3 >= 205
-#        define BOOST_PP_ITERATION_3 205
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 206 && BOOST_PP_ITERATION_FINISH_3 >= 206
-#        define BOOST_PP_ITERATION_3 206
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 207 && BOOST_PP_ITERATION_FINISH_3 >= 207
-#        define BOOST_PP_ITERATION_3 207
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 208 && BOOST_PP_ITERATION_FINISH_3 >= 208
-#        define BOOST_PP_ITERATION_3 208
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 209 && BOOST_PP_ITERATION_FINISH_3 >= 209
-#        define BOOST_PP_ITERATION_3 209
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 210 && BOOST_PP_ITERATION_FINISH_3 >= 210
-#        define BOOST_PP_ITERATION_3 210
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 211 && BOOST_PP_ITERATION_FINISH_3 >= 211
-#        define BOOST_PP_ITERATION_3 211
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 212 && BOOST_PP_ITERATION_FINISH_3 >= 212
-#        define BOOST_PP_ITERATION_3 212
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 213 && BOOST_PP_ITERATION_FINISH_3 >= 213
-#        define BOOST_PP_ITERATION_3 213
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 214 && BOOST_PP_ITERATION_FINISH_3 >= 214
-#        define BOOST_PP_ITERATION_3 214
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 215 && BOOST_PP_ITERATION_FINISH_3 >= 215
-#        define BOOST_PP_ITERATION_3 215
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 216 && BOOST_PP_ITERATION_FINISH_3 >= 216
-#        define BOOST_PP_ITERATION_3 216
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 217 && BOOST_PP_ITERATION_FINISH_3 >= 217
-#        define BOOST_PP_ITERATION_3 217
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 218 && BOOST_PP_ITERATION_FINISH_3 >= 218
-#        define BOOST_PP_ITERATION_3 218
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 219 && BOOST_PP_ITERATION_FINISH_3 >= 219
-#        define BOOST_PP_ITERATION_3 219
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 220 && BOOST_PP_ITERATION_FINISH_3 >= 220
-#        define BOOST_PP_ITERATION_3 220
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 221 && BOOST_PP_ITERATION_FINISH_3 >= 221
-#        define BOOST_PP_ITERATION_3 221
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 222 && BOOST_PP_ITERATION_FINISH_3 >= 222
-#        define BOOST_PP_ITERATION_3 222
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 223 && BOOST_PP_ITERATION_FINISH_3 >= 223
-#        define BOOST_PP_ITERATION_3 223
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 224 && BOOST_PP_ITERATION_FINISH_3 >= 224
-#        define BOOST_PP_ITERATION_3 224
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 225 && BOOST_PP_ITERATION_FINISH_3 >= 225
-#        define BOOST_PP_ITERATION_3 225
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 226 && BOOST_PP_ITERATION_FINISH_3 >= 226
-#        define BOOST_PP_ITERATION_3 226
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 227 && BOOST_PP_ITERATION_FINISH_3 >= 227
-#        define BOOST_PP_ITERATION_3 227
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 228 && BOOST_PP_ITERATION_FINISH_3 >= 228
-#        define BOOST_PP_ITERATION_3 228
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 229 && BOOST_PP_ITERATION_FINISH_3 >= 229
-#        define BOOST_PP_ITERATION_3 229
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 230 && BOOST_PP_ITERATION_FINISH_3 >= 230
-#        define BOOST_PP_ITERATION_3 230
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 231 && BOOST_PP_ITERATION_FINISH_3 >= 231
-#        define BOOST_PP_ITERATION_3 231
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 232 && BOOST_PP_ITERATION_FINISH_3 >= 232
-#        define BOOST_PP_ITERATION_3 232
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 233 && BOOST_PP_ITERATION_FINISH_3 >= 233
-#        define BOOST_PP_ITERATION_3 233
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 234 && BOOST_PP_ITERATION_FINISH_3 >= 234
-#        define BOOST_PP_ITERATION_3 234
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 235 && BOOST_PP_ITERATION_FINISH_3 >= 235
-#        define BOOST_PP_ITERATION_3 235
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 236 && BOOST_PP_ITERATION_FINISH_3 >= 236
-#        define BOOST_PP_ITERATION_3 236
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 237 && BOOST_PP_ITERATION_FINISH_3 >= 237
-#        define BOOST_PP_ITERATION_3 237
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 238 && BOOST_PP_ITERATION_FINISH_3 >= 238
-#        define BOOST_PP_ITERATION_3 238
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 239 && BOOST_PP_ITERATION_FINISH_3 >= 239
-#        define BOOST_PP_ITERATION_3 239
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 240 && BOOST_PP_ITERATION_FINISH_3 >= 240
-#        define BOOST_PP_ITERATION_3 240
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 241 && BOOST_PP_ITERATION_FINISH_3 >= 241
-#        define BOOST_PP_ITERATION_3 241
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 242 && BOOST_PP_ITERATION_FINISH_3 >= 242
-#        define BOOST_PP_ITERATION_3 242
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 243 && BOOST_PP_ITERATION_FINISH_3 >= 243
-#        define BOOST_PP_ITERATION_3 243
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 244 && BOOST_PP_ITERATION_FINISH_3 >= 244
-#        define BOOST_PP_ITERATION_3 244
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 245 && BOOST_PP_ITERATION_FINISH_3 >= 245
-#        define BOOST_PP_ITERATION_3 245
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 246 && BOOST_PP_ITERATION_FINISH_3 >= 246
-#        define BOOST_PP_ITERATION_3 246
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 247 && BOOST_PP_ITERATION_FINISH_3 >= 247
-#        define BOOST_PP_ITERATION_3 247
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 248 && BOOST_PP_ITERATION_FINISH_3 >= 248
-#        define BOOST_PP_ITERATION_3 248
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 249 && BOOST_PP_ITERATION_FINISH_3 >= 249
-#        define BOOST_PP_ITERATION_3 249
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 250 && BOOST_PP_ITERATION_FINISH_3 >= 250
-#        define BOOST_PP_ITERATION_3 250
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 251 && BOOST_PP_ITERATION_FINISH_3 >= 251
-#        define BOOST_PP_ITERATION_3 251
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 252 && BOOST_PP_ITERATION_FINISH_3 >= 252
-#        define BOOST_PP_ITERATION_3 252
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 253 && BOOST_PP_ITERATION_FINISH_3 >= 253
-#        define BOOST_PP_ITERATION_3 253
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 254 && BOOST_PP_ITERATION_FINISH_3 >= 254
-#        define BOOST_PP_ITERATION_3 254
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 255 && BOOST_PP_ITERATION_FINISH_3 >= 255
-#        define BOOST_PP_ITERATION_3 255
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-#    if BOOST_PP_ITERATION_START_3 <= 256 && BOOST_PP_ITERATION_FINISH_3 >= 256
-#        define BOOST_PP_ITERATION_3 256
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
-#    endif
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 2
-#
-# undef BOOST_PP_ITERATION_START_3
-# undef BOOST_PP_ITERATION_FINISH_3
-# undef BOOST_PP_FILENAME_3
-#
-# undef BOOST_PP_ITERATION_FLAGS_3
-# undef BOOST_PP_ITERATION_PARAMS_3
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward4.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward4.hpp
deleted file mode 100755
index 653c7b1..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward4.hpp
+++ /dev/null
@@ -1,1338 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if defined(BOOST_PP_ITERATION_LIMITS)
-#    if !defined(BOOST_PP_FILENAME_4)
-#        error BOOST_PP_ERROR:  depth #4 filename is not defined
-#    endif
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
-#    include <boost/preprocessor/iteration/detail/bounds/lower4.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
-#    include <boost/preprocessor/iteration/detail/bounds/upper4.hpp>
-#    define BOOST_PP_ITERATION_FLAGS_4 0
-#    undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_4)
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_4)
-#    include <boost/preprocessor/iteration/detail/bounds/lower4.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_4)
-#    include <boost/preprocessor/iteration/detail/bounds/upper4.hpp>
-#    define BOOST_PP_FILENAME_4 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_4)
-#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_4) >= 4
-#        define BOOST_PP_ITERATION_FLAGS_4 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_4)
-#    else
-#        define BOOST_PP_ITERATION_FLAGS_4 0
-#    endif
-# else
-#    error BOOST_PP_ERROR:  depth #4 iteration boundaries or filename not defined
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 4
-#
-# if (BOOST_PP_ITERATION_START_4) > (BOOST_PP_ITERATION_FINISH_4)
-#    include <boost/preprocessor/iteration/detail/iter/reverse4.hpp>
-# else
-#    if BOOST_PP_ITERATION_START_4 <= 0 && BOOST_PP_ITERATION_FINISH_4 >= 0
-#        define BOOST_PP_ITERATION_4 0
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 1 && BOOST_PP_ITERATION_FINISH_4 >= 1
-#        define BOOST_PP_ITERATION_4 1
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 2 && BOOST_PP_ITERATION_FINISH_4 >= 2
-#        define BOOST_PP_ITERATION_4 2
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 3 && BOOST_PP_ITERATION_FINISH_4 >= 3
-#        define BOOST_PP_ITERATION_4 3
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 4 && BOOST_PP_ITERATION_FINISH_4 >= 4
-#        define BOOST_PP_ITERATION_4 4
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 5 && BOOST_PP_ITERATION_FINISH_4 >= 5
-#        define BOOST_PP_ITERATION_4 5
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 6 && BOOST_PP_ITERATION_FINISH_4 >= 6
-#        define BOOST_PP_ITERATION_4 6
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 7 && BOOST_PP_ITERATION_FINISH_4 >= 7
-#        define BOOST_PP_ITERATION_4 7
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 8 && BOOST_PP_ITERATION_FINISH_4 >= 8
-#        define BOOST_PP_ITERATION_4 8
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 9 && BOOST_PP_ITERATION_FINISH_4 >= 9
-#        define BOOST_PP_ITERATION_4 9
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 10 && BOOST_PP_ITERATION_FINISH_4 >= 10
-#        define BOOST_PP_ITERATION_4 10
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 11 && BOOST_PP_ITERATION_FINISH_4 >= 11
-#        define BOOST_PP_ITERATION_4 11
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 12 && BOOST_PP_ITERATION_FINISH_4 >= 12
-#        define BOOST_PP_ITERATION_4 12
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 13 && BOOST_PP_ITERATION_FINISH_4 >= 13
-#        define BOOST_PP_ITERATION_4 13
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 14 && BOOST_PP_ITERATION_FINISH_4 >= 14
-#        define BOOST_PP_ITERATION_4 14
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 15 && BOOST_PP_ITERATION_FINISH_4 >= 15
-#        define BOOST_PP_ITERATION_4 15
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 16 && BOOST_PP_ITERATION_FINISH_4 >= 16
-#        define BOOST_PP_ITERATION_4 16
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 17 && BOOST_PP_ITERATION_FINISH_4 >= 17
-#        define BOOST_PP_ITERATION_4 17
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 18 && BOOST_PP_ITERATION_FINISH_4 >= 18
-#        define BOOST_PP_ITERATION_4 18
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 19 && BOOST_PP_ITERATION_FINISH_4 >= 19
-#        define BOOST_PP_ITERATION_4 19
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 20 && BOOST_PP_ITERATION_FINISH_4 >= 20
-#        define BOOST_PP_ITERATION_4 20
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 21 && BOOST_PP_ITERATION_FINISH_4 >= 21
-#        define BOOST_PP_ITERATION_4 21
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 22 && BOOST_PP_ITERATION_FINISH_4 >= 22
-#        define BOOST_PP_ITERATION_4 22
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 23 && BOOST_PP_ITERATION_FINISH_4 >= 23
-#        define BOOST_PP_ITERATION_4 23
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 24 && BOOST_PP_ITERATION_FINISH_4 >= 24
-#        define BOOST_PP_ITERATION_4 24
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 25 && BOOST_PP_ITERATION_FINISH_4 >= 25
-#        define BOOST_PP_ITERATION_4 25
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 26 && BOOST_PP_ITERATION_FINISH_4 >= 26
-#        define BOOST_PP_ITERATION_4 26
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 27 && BOOST_PP_ITERATION_FINISH_4 >= 27
-#        define BOOST_PP_ITERATION_4 27
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 28 && BOOST_PP_ITERATION_FINISH_4 >= 28
-#        define BOOST_PP_ITERATION_4 28
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 29 && BOOST_PP_ITERATION_FINISH_4 >= 29
-#        define BOOST_PP_ITERATION_4 29
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 30 && BOOST_PP_ITERATION_FINISH_4 >= 30
-#        define BOOST_PP_ITERATION_4 30
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 31 && BOOST_PP_ITERATION_FINISH_4 >= 31
-#        define BOOST_PP_ITERATION_4 31
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 32 && BOOST_PP_ITERATION_FINISH_4 >= 32
-#        define BOOST_PP_ITERATION_4 32
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 33 && BOOST_PP_ITERATION_FINISH_4 >= 33
-#        define BOOST_PP_ITERATION_4 33
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 34 && BOOST_PP_ITERATION_FINISH_4 >= 34
-#        define BOOST_PP_ITERATION_4 34
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 35 && BOOST_PP_ITERATION_FINISH_4 >= 35
-#        define BOOST_PP_ITERATION_4 35
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 36 && BOOST_PP_ITERATION_FINISH_4 >= 36
-#        define BOOST_PP_ITERATION_4 36
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 37 && BOOST_PP_ITERATION_FINISH_4 >= 37
-#        define BOOST_PP_ITERATION_4 37
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 38 && BOOST_PP_ITERATION_FINISH_4 >= 38
-#        define BOOST_PP_ITERATION_4 38
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 39 && BOOST_PP_ITERATION_FINISH_4 >= 39
-#        define BOOST_PP_ITERATION_4 39
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 40 && BOOST_PP_ITERATION_FINISH_4 >= 40
-#        define BOOST_PP_ITERATION_4 40
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 41 && BOOST_PP_ITERATION_FINISH_4 >= 41
-#        define BOOST_PP_ITERATION_4 41
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 42 && BOOST_PP_ITERATION_FINISH_4 >= 42
-#        define BOOST_PP_ITERATION_4 42
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 43 && BOOST_PP_ITERATION_FINISH_4 >= 43
-#        define BOOST_PP_ITERATION_4 43
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 44 && BOOST_PP_ITERATION_FINISH_4 >= 44
-#        define BOOST_PP_ITERATION_4 44
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 45 && BOOST_PP_ITERATION_FINISH_4 >= 45
-#        define BOOST_PP_ITERATION_4 45
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 46 && BOOST_PP_ITERATION_FINISH_4 >= 46
-#        define BOOST_PP_ITERATION_4 46
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 47 && BOOST_PP_ITERATION_FINISH_4 >= 47
-#        define BOOST_PP_ITERATION_4 47
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 48 && BOOST_PP_ITERATION_FINISH_4 >= 48
-#        define BOOST_PP_ITERATION_4 48
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 49 && BOOST_PP_ITERATION_FINISH_4 >= 49
-#        define BOOST_PP_ITERATION_4 49
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 50 && BOOST_PP_ITERATION_FINISH_4 >= 50
-#        define BOOST_PP_ITERATION_4 50
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 51 && BOOST_PP_ITERATION_FINISH_4 >= 51
-#        define BOOST_PP_ITERATION_4 51
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 52 && BOOST_PP_ITERATION_FINISH_4 >= 52
-#        define BOOST_PP_ITERATION_4 52
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 53 && BOOST_PP_ITERATION_FINISH_4 >= 53
-#        define BOOST_PP_ITERATION_4 53
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 54 && BOOST_PP_ITERATION_FINISH_4 >= 54
-#        define BOOST_PP_ITERATION_4 54
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 55 && BOOST_PP_ITERATION_FINISH_4 >= 55
-#        define BOOST_PP_ITERATION_4 55
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 56 && BOOST_PP_ITERATION_FINISH_4 >= 56
-#        define BOOST_PP_ITERATION_4 56
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 57 && BOOST_PP_ITERATION_FINISH_4 >= 57
-#        define BOOST_PP_ITERATION_4 57
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 58 && BOOST_PP_ITERATION_FINISH_4 >= 58
-#        define BOOST_PP_ITERATION_4 58
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 59 && BOOST_PP_ITERATION_FINISH_4 >= 59
-#        define BOOST_PP_ITERATION_4 59
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 60 && BOOST_PP_ITERATION_FINISH_4 >= 60
-#        define BOOST_PP_ITERATION_4 60
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 61 && BOOST_PP_ITERATION_FINISH_4 >= 61
-#        define BOOST_PP_ITERATION_4 61
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 62 && BOOST_PP_ITERATION_FINISH_4 >= 62
-#        define BOOST_PP_ITERATION_4 62
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 63 && BOOST_PP_ITERATION_FINISH_4 >= 63
-#        define BOOST_PP_ITERATION_4 63
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 64 && BOOST_PP_ITERATION_FINISH_4 >= 64
-#        define BOOST_PP_ITERATION_4 64
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 65 && BOOST_PP_ITERATION_FINISH_4 >= 65
-#        define BOOST_PP_ITERATION_4 65
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 66 && BOOST_PP_ITERATION_FINISH_4 >= 66
-#        define BOOST_PP_ITERATION_4 66
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 67 && BOOST_PP_ITERATION_FINISH_4 >= 67
-#        define BOOST_PP_ITERATION_4 67
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 68 && BOOST_PP_ITERATION_FINISH_4 >= 68
-#        define BOOST_PP_ITERATION_4 68
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 69 && BOOST_PP_ITERATION_FINISH_4 >= 69
-#        define BOOST_PP_ITERATION_4 69
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 70 && BOOST_PP_ITERATION_FINISH_4 >= 70
-#        define BOOST_PP_ITERATION_4 70
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 71 && BOOST_PP_ITERATION_FINISH_4 >= 71
-#        define BOOST_PP_ITERATION_4 71
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 72 && BOOST_PP_ITERATION_FINISH_4 >= 72
-#        define BOOST_PP_ITERATION_4 72
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 73 && BOOST_PP_ITERATION_FINISH_4 >= 73
-#        define BOOST_PP_ITERATION_4 73
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 74 && BOOST_PP_ITERATION_FINISH_4 >= 74
-#        define BOOST_PP_ITERATION_4 74
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 75 && BOOST_PP_ITERATION_FINISH_4 >= 75
-#        define BOOST_PP_ITERATION_4 75
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 76 && BOOST_PP_ITERATION_FINISH_4 >= 76
-#        define BOOST_PP_ITERATION_4 76
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 77 && BOOST_PP_ITERATION_FINISH_4 >= 77
-#        define BOOST_PP_ITERATION_4 77
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 78 && BOOST_PP_ITERATION_FINISH_4 >= 78
-#        define BOOST_PP_ITERATION_4 78
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 79 && BOOST_PP_ITERATION_FINISH_4 >= 79
-#        define BOOST_PP_ITERATION_4 79
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 80 && BOOST_PP_ITERATION_FINISH_4 >= 80
-#        define BOOST_PP_ITERATION_4 80
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 81 && BOOST_PP_ITERATION_FINISH_4 >= 81
-#        define BOOST_PP_ITERATION_4 81
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 82 && BOOST_PP_ITERATION_FINISH_4 >= 82
-#        define BOOST_PP_ITERATION_4 82
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 83 && BOOST_PP_ITERATION_FINISH_4 >= 83
-#        define BOOST_PP_ITERATION_4 83
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 84 && BOOST_PP_ITERATION_FINISH_4 >= 84
-#        define BOOST_PP_ITERATION_4 84
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 85 && BOOST_PP_ITERATION_FINISH_4 >= 85
-#        define BOOST_PP_ITERATION_4 85
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 86 && BOOST_PP_ITERATION_FINISH_4 >= 86
-#        define BOOST_PP_ITERATION_4 86
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 87 && BOOST_PP_ITERATION_FINISH_4 >= 87
-#        define BOOST_PP_ITERATION_4 87
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 88 && BOOST_PP_ITERATION_FINISH_4 >= 88
-#        define BOOST_PP_ITERATION_4 88
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 89 && BOOST_PP_ITERATION_FINISH_4 >= 89
-#        define BOOST_PP_ITERATION_4 89
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 90 && BOOST_PP_ITERATION_FINISH_4 >= 90
-#        define BOOST_PP_ITERATION_4 90
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 91 && BOOST_PP_ITERATION_FINISH_4 >= 91
-#        define BOOST_PP_ITERATION_4 91
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 92 && BOOST_PP_ITERATION_FINISH_4 >= 92
-#        define BOOST_PP_ITERATION_4 92
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 93 && BOOST_PP_ITERATION_FINISH_4 >= 93
-#        define BOOST_PP_ITERATION_4 93
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 94 && BOOST_PP_ITERATION_FINISH_4 >= 94
-#        define BOOST_PP_ITERATION_4 94
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 95 && BOOST_PP_ITERATION_FINISH_4 >= 95
-#        define BOOST_PP_ITERATION_4 95
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 96 && BOOST_PP_ITERATION_FINISH_4 >= 96
-#        define BOOST_PP_ITERATION_4 96
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 97 && BOOST_PP_ITERATION_FINISH_4 >= 97
-#        define BOOST_PP_ITERATION_4 97
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 98 && BOOST_PP_ITERATION_FINISH_4 >= 98
-#        define BOOST_PP_ITERATION_4 98
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 99 && BOOST_PP_ITERATION_FINISH_4 >= 99
-#        define BOOST_PP_ITERATION_4 99
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 100 && BOOST_PP_ITERATION_FINISH_4 >= 100
-#        define BOOST_PP_ITERATION_4 100
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 101 && BOOST_PP_ITERATION_FINISH_4 >= 101
-#        define BOOST_PP_ITERATION_4 101
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 102 && BOOST_PP_ITERATION_FINISH_4 >= 102
-#        define BOOST_PP_ITERATION_4 102
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 103 && BOOST_PP_ITERATION_FINISH_4 >= 103
-#        define BOOST_PP_ITERATION_4 103
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 104 && BOOST_PP_ITERATION_FINISH_4 >= 104
-#        define BOOST_PP_ITERATION_4 104
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 105 && BOOST_PP_ITERATION_FINISH_4 >= 105
-#        define BOOST_PP_ITERATION_4 105
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 106 && BOOST_PP_ITERATION_FINISH_4 >= 106
-#        define BOOST_PP_ITERATION_4 106
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 107 && BOOST_PP_ITERATION_FINISH_4 >= 107
-#        define BOOST_PP_ITERATION_4 107
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 108 && BOOST_PP_ITERATION_FINISH_4 >= 108
-#        define BOOST_PP_ITERATION_4 108
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 109 && BOOST_PP_ITERATION_FINISH_4 >= 109
-#        define BOOST_PP_ITERATION_4 109
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 110 && BOOST_PP_ITERATION_FINISH_4 >= 110
-#        define BOOST_PP_ITERATION_4 110
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 111 && BOOST_PP_ITERATION_FINISH_4 >= 111
-#        define BOOST_PP_ITERATION_4 111
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 112 && BOOST_PP_ITERATION_FINISH_4 >= 112
-#        define BOOST_PP_ITERATION_4 112
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 113 && BOOST_PP_ITERATION_FINISH_4 >= 113
-#        define BOOST_PP_ITERATION_4 113
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 114 && BOOST_PP_ITERATION_FINISH_4 >= 114
-#        define BOOST_PP_ITERATION_4 114
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 115 && BOOST_PP_ITERATION_FINISH_4 >= 115
-#        define BOOST_PP_ITERATION_4 115
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 116 && BOOST_PP_ITERATION_FINISH_4 >= 116
-#        define BOOST_PP_ITERATION_4 116
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 117 && BOOST_PP_ITERATION_FINISH_4 >= 117
-#        define BOOST_PP_ITERATION_4 117
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 118 && BOOST_PP_ITERATION_FINISH_4 >= 118
-#        define BOOST_PP_ITERATION_4 118
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 119 && BOOST_PP_ITERATION_FINISH_4 >= 119
-#        define BOOST_PP_ITERATION_4 119
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 120 && BOOST_PP_ITERATION_FINISH_4 >= 120
-#        define BOOST_PP_ITERATION_4 120
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 121 && BOOST_PP_ITERATION_FINISH_4 >= 121
-#        define BOOST_PP_ITERATION_4 121
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 122 && BOOST_PP_ITERATION_FINISH_4 >= 122
-#        define BOOST_PP_ITERATION_4 122
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 123 && BOOST_PP_ITERATION_FINISH_4 >= 123
-#        define BOOST_PP_ITERATION_4 123
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 124 && BOOST_PP_ITERATION_FINISH_4 >= 124
-#        define BOOST_PP_ITERATION_4 124
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 125 && BOOST_PP_ITERATION_FINISH_4 >= 125
-#        define BOOST_PP_ITERATION_4 125
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 126 && BOOST_PP_ITERATION_FINISH_4 >= 126
-#        define BOOST_PP_ITERATION_4 126
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 127 && BOOST_PP_ITERATION_FINISH_4 >= 127
-#        define BOOST_PP_ITERATION_4 127
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 128 && BOOST_PP_ITERATION_FINISH_4 >= 128
-#        define BOOST_PP_ITERATION_4 128
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 129 && BOOST_PP_ITERATION_FINISH_4 >= 129
-#        define BOOST_PP_ITERATION_4 129
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 130 && BOOST_PP_ITERATION_FINISH_4 >= 130
-#        define BOOST_PP_ITERATION_4 130
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 131 && BOOST_PP_ITERATION_FINISH_4 >= 131
-#        define BOOST_PP_ITERATION_4 131
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 132 && BOOST_PP_ITERATION_FINISH_4 >= 132
-#        define BOOST_PP_ITERATION_4 132
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 133 && BOOST_PP_ITERATION_FINISH_4 >= 133
-#        define BOOST_PP_ITERATION_4 133
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 134 && BOOST_PP_ITERATION_FINISH_4 >= 134
-#        define BOOST_PP_ITERATION_4 134
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 135 && BOOST_PP_ITERATION_FINISH_4 >= 135
-#        define BOOST_PP_ITERATION_4 135
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 136 && BOOST_PP_ITERATION_FINISH_4 >= 136
-#        define BOOST_PP_ITERATION_4 136
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 137 && BOOST_PP_ITERATION_FINISH_4 >= 137
-#        define BOOST_PP_ITERATION_4 137
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 138 && BOOST_PP_ITERATION_FINISH_4 >= 138
-#        define BOOST_PP_ITERATION_4 138
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 139 && BOOST_PP_ITERATION_FINISH_4 >= 139
-#        define BOOST_PP_ITERATION_4 139
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 140 && BOOST_PP_ITERATION_FINISH_4 >= 140
-#        define BOOST_PP_ITERATION_4 140
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 141 && BOOST_PP_ITERATION_FINISH_4 >= 141
-#        define BOOST_PP_ITERATION_4 141
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 142 && BOOST_PP_ITERATION_FINISH_4 >= 142
-#        define BOOST_PP_ITERATION_4 142
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 143 && BOOST_PP_ITERATION_FINISH_4 >= 143
-#        define BOOST_PP_ITERATION_4 143
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 144 && BOOST_PP_ITERATION_FINISH_4 >= 144
-#        define BOOST_PP_ITERATION_4 144
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 145 && BOOST_PP_ITERATION_FINISH_4 >= 145
-#        define BOOST_PP_ITERATION_4 145
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 146 && BOOST_PP_ITERATION_FINISH_4 >= 146
-#        define BOOST_PP_ITERATION_4 146
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 147 && BOOST_PP_ITERATION_FINISH_4 >= 147
-#        define BOOST_PP_ITERATION_4 147
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 148 && BOOST_PP_ITERATION_FINISH_4 >= 148
-#        define BOOST_PP_ITERATION_4 148
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 149 && BOOST_PP_ITERATION_FINISH_4 >= 149
-#        define BOOST_PP_ITERATION_4 149
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 150 && BOOST_PP_ITERATION_FINISH_4 >= 150
-#        define BOOST_PP_ITERATION_4 150
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 151 && BOOST_PP_ITERATION_FINISH_4 >= 151
-#        define BOOST_PP_ITERATION_4 151
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 152 && BOOST_PP_ITERATION_FINISH_4 >= 152
-#        define BOOST_PP_ITERATION_4 152
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 153 && BOOST_PP_ITERATION_FINISH_4 >= 153
-#        define BOOST_PP_ITERATION_4 153
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 154 && BOOST_PP_ITERATION_FINISH_4 >= 154
-#        define BOOST_PP_ITERATION_4 154
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 155 && BOOST_PP_ITERATION_FINISH_4 >= 155
-#        define BOOST_PP_ITERATION_4 155
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 156 && BOOST_PP_ITERATION_FINISH_4 >= 156
-#        define BOOST_PP_ITERATION_4 156
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 157 && BOOST_PP_ITERATION_FINISH_4 >= 157
-#        define BOOST_PP_ITERATION_4 157
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 158 && BOOST_PP_ITERATION_FINISH_4 >= 158
-#        define BOOST_PP_ITERATION_4 158
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 159 && BOOST_PP_ITERATION_FINISH_4 >= 159
-#        define BOOST_PP_ITERATION_4 159
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 160 && BOOST_PP_ITERATION_FINISH_4 >= 160
-#        define BOOST_PP_ITERATION_4 160
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 161 && BOOST_PP_ITERATION_FINISH_4 >= 161
-#        define BOOST_PP_ITERATION_4 161
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 162 && BOOST_PP_ITERATION_FINISH_4 >= 162
-#        define BOOST_PP_ITERATION_4 162
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 163 && BOOST_PP_ITERATION_FINISH_4 >= 163
-#        define BOOST_PP_ITERATION_4 163
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 164 && BOOST_PP_ITERATION_FINISH_4 >= 164
-#        define BOOST_PP_ITERATION_4 164
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 165 && BOOST_PP_ITERATION_FINISH_4 >= 165
-#        define BOOST_PP_ITERATION_4 165
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 166 && BOOST_PP_ITERATION_FINISH_4 >= 166
-#        define BOOST_PP_ITERATION_4 166
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 167 && BOOST_PP_ITERATION_FINISH_4 >= 167
-#        define BOOST_PP_ITERATION_4 167
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 168 && BOOST_PP_ITERATION_FINISH_4 >= 168
-#        define BOOST_PP_ITERATION_4 168
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 169 && BOOST_PP_ITERATION_FINISH_4 >= 169
-#        define BOOST_PP_ITERATION_4 169
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 170 && BOOST_PP_ITERATION_FINISH_4 >= 170
-#        define BOOST_PP_ITERATION_4 170
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 171 && BOOST_PP_ITERATION_FINISH_4 >= 171
-#        define BOOST_PP_ITERATION_4 171
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 172 && BOOST_PP_ITERATION_FINISH_4 >= 172
-#        define BOOST_PP_ITERATION_4 172
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 173 && BOOST_PP_ITERATION_FINISH_4 >= 173
-#        define BOOST_PP_ITERATION_4 173
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 174 && BOOST_PP_ITERATION_FINISH_4 >= 174
-#        define BOOST_PP_ITERATION_4 174
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 175 && BOOST_PP_ITERATION_FINISH_4 >= 175
-#        define BOOST_PP_ITERATION_4 175
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 176 && BOOST_PP_ITERATION_FINISH_4 >= 176
-#        define BOOST_PP_ITERATION_4 176
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 177 && BOOST_PP_ITERATION_FINISH_4 >= 177
-#        define BOOST_PP_ITERATION_4 177
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 178 && BOOST_PP_ITERATION_FINISH_4 >= 178
-#        define BOOST_PP_ITERATION_4 178
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 179 && BOOST_PP_ITERATION_FINISH_4 >= 179
-#        define BOOST_PP_ITERATION_4 179
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 180 && BOOST_PP_ITERATION_FINISH_4 >= 180
-#        define BOOST_PP_ITERATION_4 180
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 181 && BOOST_PP_ITERATION_FINISH_4 >= 181
-#        define BOOST_PP_ITERATION_4 181
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 182 && BOOST_PP_ITERATION_FINISH_4 >= 182
-#        define BOOST_PP_ITERATION_4 182
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 183 && BOOST_PP_ITERATION_FINISH_4 >= 183
-#        define BOOST_PP_ITERATION_4 183
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 184 && BOOST_PP_ITERATION_FINISH_4 >= 184
-#        define BOOST_PP_ITERATION_4 184
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 185 && BOOST_PP_ITERATION_FINISH_4 >= 185
-#        define BOOST_PP_ITERATION_4 185
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 186 && BOOST_PP_ITERATION_FINISH_4 >= 186
-#        define BOOST_PP_ITERATION_4 186
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 187 && BOOST_PP_ITERATION_FINISH_4 >= 187
-#        define BOOST_PP_ITERATION_4 187
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 188 && BOOST_PP_ITERATION_FINISH_4 >= 188
-#        define BOOST_PP_ITERATION_4 188
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 189 && BOOST_PP_ITERATION_FINISH_4 >= 189
-#        define BOOST_PP_ITERATION_4 189
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 190 && BOOST_PP_ITERATION_FINISH_4 >= 190
-#        define BOOST_PP_ITERATION_4 190
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 191 && BOOST_PP_ITERATION_FINISH_4 >= 191
-#        define BOOST_PP_ITERATION_4 191
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 192 && BOOST_PP_ITERATION_FINISH_4 >= 192
-#        define BOOST_PP_ITERATION_4 192
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 193 && BOOST_PP_ITERATION_FINISH_4 >= 193
-#        define BOOST_PP_ITERATION_4 193
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 194 && BOOST_PP_ITERATION_FINISH_4 >= 194
-#        define BOOST_PP_ITERATION_4 194
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 195 && BOOST_PP_ITERATION_FINISH_4 >= 195
-#        define BOOST_PP_ITERATION_4 195
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 196 && BOOST_PP_ITERATION_FINISH_4 >= 196
-#        define BOOST_PP_ITERATION_4 196
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 197 && BOOST_PP_ITERATION_FINISH_4 >= 197
-#        define BOOST_PP_ITERATION_4 197
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 198 && BOOST_PP_ITERATION_FINISH_4 >= 198
-#        define BOOST_PP_ITERATION_4 198
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 199 && BOOST_PP_ITERATION_FINISH_4 >= 199
-#        define BOOST_PP_ITERATION_4 199
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 200 && BOOST_PP_ITERATION_FINISH_4 >= 200
-#        define BOOST_PP_ITERATION_4 200
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 201 && BOOST_PP_ITERATION_FINISH_4 >= 201
-#        define BOOST_PP_ITERATION_4 201
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 202 && BOOST_PP_ITERATION_FINISH_4 >= 202
-#        define BOOST_PP_ITERATION_4 202
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 203 && BOOST_PP_ITERATION_FINISH_4 >= 203
-#        define BOOST_PP_ITERATION_4 203
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 204 && BOOST_PP_ITERATION_FINISH_4 >= 204
-#        define BOOST_PP_ITERATION_4 204
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 205 && BOOST_PP_ITERATION_FINISH_4 >= 205
-#        define BOOST_PP_ITERATION_4 205
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 206 && BOOST_PP_ITERATION_FINISH_4 >= 206
-#        define BOOST_PP_ITERATION_4 206
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 207 && BOOST_PP_ITERATION_FINISH_4 >= 207
-#        define BOOST_PP_ITERATION_4 207
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 208 && BOOST_PP_ITERATION_FINISH_4 >= 208
-#        define BOOST_PP_ITERATION_4 208
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 209 && BOOST_PP_ITERATION_FINISH_4 >= 209
-#        define BOOST_PP_ITERATION_4 209
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 210 && BOOST_PP_ITERATION_FINISH_4 >= 210
-#        define BOOST_PP_ITERATION_4 210
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 211 && BOOST_PP_ITERATION_FINISH_4 >= 211
-#        define BOOST_PP_ITERATION_4 211
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 212 && BOOST_PP_ITERATION_FINISH_4 >= 212
-#        define BOOST_PP_ITERATION_4 212
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 213 && BOOST_PP_ITERATION_FINISH_4 >= 213
-#        define BOOST_PP_ITERATION_4 213
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 214 && BOOST_PP_ITERATION_FINISH_4 >= 214
-#        define BOOST_PP_ITERATION_4 214
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 215 && BOOST_PP_ITERATION_FINISH_4 >= 215
-#        define BOOST_PP_ITERATION_4 215
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 216 && BOOST_PP_ITERATION_FINISH_4 >= 216
-#        define BOOST_PP_ITERATION_4 216
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 217 && BOOST_PP_ITERATION_FINISH_4 >= 217
-#        define BOOST_PP_ITERATION_4 217
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 218 && BOOST_PP_ITERATION_FINISH_4 >= 218
-#        define BOOST_PP_ITERATION_4 218
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 219 && BOOST_PP_ITERATION_FINISH_4 >= 219
-#        define BOOST_PP_ITERATION_4 219
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 220 && BOOST_PP_ITERATION_FINISH_4 >= 220
-#        define BOOST_PP_ITERATION_4 220
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 221 && BOOST_PP_ITERATION_FINISH_4 >= 221
-#        define BOOST_PP_ITERATION_4 221
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 222 && BOOST_PP_ITERATION_FINISH_4 >= 222
-#        define BOOST_PP_ITERATION_4 222
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 223 && BOOST_PP_ITERATION_FINISH_4 >= 223
-#        define BOOST_PP_ITERATION_4 223
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 224 && BOOST_PP_ITERATION_FINISH_4 >= 224
-#        define BOOST_PP_ITERATION_4 224
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 225 && BOOST_PP_ITERATION_FINISH_4 >= 225
-#        define BOOST_PP_ITERATION_4 225
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 226 && BOOST_PP_ITERATION_FINISH_4 >= 226
-#        define BOOST_PP_ITERATION_4 226
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 227 && BOOST_PP_ITERATION_FINISH_4 >= 227
-#        define BOOST_PP_ITERATION_4 227
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 228 && BOOST_PP_ITERATION_FINISH_4 >= 228
-#        define BOOST_PP_ITERATION_4 228
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 229 && BOOST_PP_ITERATION_FINISH_4 >= 229
-#        define BOOST_PP_ITERATION_4 229
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 230 && BOOST_PP_ITERATION_FINISH_4 >= 230
-#        define BOOST_PP_ITERATION_4 230
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 231 && BOOST_PP_ITERATION_FINISH_4 >= 231
-#        define BOOST_PP_ITERATION_4 231
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 232 && BOOST_PP_ITERATION_FINISH_4 >= 232
-#        define BOOST_PP_ITERATION_4 232
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 233 && BOOST_PP_ITERATION_FINISH_4 >= 233
-#        define BOOST_PP_ITERATION_4 233
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 234 && BOOST_PP_ITERATION_FINISH_4 >= 234
-#        define BOOST_PP_ITERATION_4 234
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 235 && BOOST_PP_ITERATION_FINISH_4 >= 235
-#        define BOOST_PP_ITERATION_4 235
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 236 && BOOST_PP_ITERATION_FINISH_4 >= 236
-#        define BOOST_PP_ITERATION_4 236
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 237 && BOOST_PP_ITERATION_FINISH_4 >= 237
-#        define BOOST_PP_ITERATION_4 237
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 238 && BOOST_PP_ITERATION_FINISH_4 >= 238
-#        define BOOST_PP_ITERATION_4 238
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 239 && BOOST_PP_ITERATION_FINISH_4 >= 239
-#        define BOOST_PP_ITERATION_4 239
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 240 && BOOST_PP_ITERATION_FINISH_4 >= 240
-#        define BOOST_PP_ITERATION_4 240
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 241 && BOOST_PP_ITERATION_FINISH_4 >= 241
-#        define BOOST_PP_ITERATION_4 241
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 242 && BOOST_PP_ITERATION_FINISH_4 >= 242
-#        define BOOST_PP_ITERATION_4 242
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 243 && BOOST_PP_ITERATION_FINISH_4 >= 243
-#        define BOOST_PP_ITERATION_4 243
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 244 && BOOST_PP_ITERATION_FINISH_4 >= 244
-#        define BOOST_PP_ITERATION_4 244
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 245 && BOOST_PP_ITERATION_FINISH_4 >= 245
-#        define BOOST_PP_ITERATION_4 245
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 246 && BOOST_PP_ITERATION_FINISH_4 >= 246
-#        define BOOST_PP_ITERATION_4 246
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 247 && BOOST_PP_ITERATION_FINISH_4 >= 247
-#        define BOOST_PP_ITERATION_4 247
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 248 && BOOST_PP_ITERATION_FINISH_4 >= 248
-#        define BOOST_PP_ITERATION_4 248
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 249 && BOOST_PP_ITERATION_FINISH_4 >= 249
-#        define BOOST_PP_ITERATION_4 249
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 250 && BOOST_PP_ITERATION_FINISH_4 >= 250
-#        define BOOST_PP_ITERATION_4 250
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 251 && BOOST_PP_ITERATION_FINISH_4 >= 251
-#        define BOOST_PP_ITERATION_4 251
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 252 && BOOST_PP_ITERATION_FINISH_4 >= 252
-#        define BOOST_PP_ITERATION_4 252
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 253 && BOOST_PP_ITERATION_FINISH_4 >= 253
-#        define BOOST_PP_ITERATION_4 253
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 254 && BOOST_PP_ITERATION_FINISH_4 >= 254
-#        define BOOST_PP_ITERATION_4 254
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 255 && BOOST_PP_ITERATION_FINISH_4 >= 255
-#        define BOOST_PP_ITERATION_4 255
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-#    if BOOST_PP_ITERATION_START_4 <= 256 && BOOST_PP_ITERATION_FINISH_4 >= 256
-#        define BOOST_PP_ITERATION_4 256
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
-#    endif
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 3
-#
-# undef BOOST_PP_ITERATION_START_4
-# undef BOOST_PP_ITERATION_FINISH_4
-# undef BOOST_PP_FILENAME_4
-#
-# undef BOOST_PP_ITERATION_FLAGS_4
-# undef BOOST_PP_ITERATION_PARAMS_4
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward5.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward5.hpp
deleted file mode 100755
index 000ba0f..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/iter/forward5.hpp
+++ /dev/null
@@ -1,1338 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if defined(BOOST_PP_ITERATION_LIMITS)
-#    if !defined(BOOST_PP_FILENAME_5)
-#        error BOOST_PP_ERROR:  depth #5 filename is not defined
-#    endif
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
-#    include <boost/preprocessor/iteration/detail/bounds/lower5.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
-#    include <boost/preprocessor/iteration/detail/bounds/upper5.hpp>
-#    define BOOST_PP_ITERATION_FLAGS_5 0
-#    undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_5)
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_5)
-#    include <boost/preprocessor/iteration/detail/bounds/lower5.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_5)
-#    include <boost/preprocessor/iteration/detail/bounds/upper5.hpp>
-#    define BOOST_PP_FILENAME_5 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_5)
-#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_5) >= 4
-#        define BOOST_PP_ITERATION_FLAGS_5 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_5)
-#    else
-#        define BOOST_PP_ITERATION_FLAGS_5 0
-#    endif
-# else
-#    error BOOST_PP_ERROR:  depth #5 iteration boundaries or filename not defined
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 5
-#
-# if (BOOST_PP_ITERATION_START_5) > (BOOST_PP_ITERATION_FINISH_5)
-#    include <boost/preprocessor/iteration/detail/iter/reverse5.hpp>
-# else
-#    if BOOST_PP_ITERATION_START_5 <= 0 && BOOST_PP_ITERATION_FINISH_5 >= 0
-#        define BOOST_PP_ITERATION_5 0
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 1 && BOOST_PP_ITERATION_FINISH_5 >= 1
-#        define BOOST_PP_ITERATION_5 1
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 2 && BOOST_PP_ITERATION_FINISH_5 >= 2
-#        define BOOST_PP_ITERATION_5 2
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 3 && BOOST_PP_ITERATION_FINISH_5 >= 3
-#        define BOOST_PP_ITERATION_5 3
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 4 && BOOST_PP_ITERATION_FINISH_5 >= 4
-#        define BOOST_PP_ITERATION_5 4
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 5 && BOOST_PP_ITERATION_FINISH_5 >= 5
-#        define BOOST_PP_ITERATION_5 5
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 6 && BOOST_PP_ITERATION_FINISH_5 >= 6
-#        define BOOST_PP_ITERATION_5 6
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 7 && BOOST_PP_ITERATION_FINISH_5 >= 7
-#        define BOOST_PP_ITERATION_5 7
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 8 && BOOST_PP_ITERATION_FINISH_5 >= 8
-#        define BOOST_PP_ITERATION_5 8
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 9 && BOOST_PP_ITERATION_FINISH_5 >= 9
-#        define BOOST_PP_ITERATION_5 9
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 10 && BOOST_PP_ITERATION_FINISH_5 >= 10
-#        define BOOST_PP_ITERATION_5 10
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 11 && BOOST_PP_ITERATION_FINISH_5 >= 11
-#        define BOOST_PP_ITERATION_5 11
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 12 && BOOST_PP_ITERATION_FINISH_5 >= 12
-#        define BOOST_PP_ITERATION_5 12
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 13 && BOOST_PP_ITERATION_FINISH_5 >= 13
-#        define BOOST_PP_ITERATION_5 13
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 14 && BOOST_PP_ITERATION_FINISH_5 >= 14
-#        define BOOST_PP_ITERATION_5 14
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 15 && BOOST_PP_ITERATION_FINISH_5 >= 15
-#        define BOOST_PP_ITERATION_5 15
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 16 && BOOST_PP_ITERATION_FINISH_5 >= 16
-#        define BOOST_PP_ITERATION_5 16
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 17 && BOOST_PP_ITERATION_FINISH_5 >= 17
-#        define BOOST_PP_ITERATION_5 17
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 18 && BOOST_PP_ITERATION_FINISH_5 >= 18
-#        define BOOST_PP_ITERATION_5 18
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 19 && BOOST_PP_ITERATION_FINISH_5 >= 19
-#        define BOOST_PP_ITERATION_5 19
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 20 && BOOST_PP_ITERATION_FINISH_5 >= 20
-#        define BOOST_PP_ITERATION_5 20
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 21 && BOOST_PP_ITERATION_FINISH_5 >= 21
-#        define BOOST_PP_ITERATION_5 21
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 22 && BOOST_PP_ITERATION_FINISH_5 >= 22
-#        define BOOST_PP_ITERATION_5 22
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 23 && BOOST_PP_ITERATION_FINISH_5 >= 23
-#        define BOOST_PP_ITERATION_5 23
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 24 && BOOST_PP_ITERATION_FINISH_5 >= 24
-#        define BOOST_PP_ITERATION_5 24
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 25 && BOOST_PP_ITERATION_FINISH_5 >= 25
-#        define BOOST_PP_ITERATION_5 25
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 26 && BOOST_PP_ITERATION_FINISH_5 >= 26
-#        define BOOST_PP_ITERATION_5 26
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 27 && BOOST_PP_ITERATION_FINISH_5 >= 27
-#        define BOOST_PP_ITERATION_5 27
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 28 && BOOST_PP_ITERATION_FINISH_5 >= 28
-#        define BOOST_PP_ITERATION_5 28
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 29 && BOOST_PP_ITERATION_FINISH_5 >= 29
-#        define BOOST_PP_ITERATION_5 29
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 30 && BOOST_PP_ITERATION_FINISH_5 >= 30
-#        define BOOST_PP_ITERATION_5 30
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 31 && BOOST_PP_ITERATION_FINISH_5 >= 31
-#        define BOOST_PP_ITERATION_5 31
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 32 && BOOST_PP_ITERATION_FINISH_5 >= 32
-#        define BOOST_PP_ITERATION_5 32
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 33 && BOOST_PP_ITERATION_FINISH_5 >= 33
-#        define BOOST_PP_ITERATION_5 33
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 34 && BOOST_PP_ITERATION_FINISH_5 >= 34
-#        define BOOST_PP_ITERATION_5 34
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 35 && BOOST_PP_ITERATION_FINISH_5 >= 35
-#        define BOOST_PP_ITERATION_5 35
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 36 && BOOST_PP_ITERATION_FINISH_5 >= 36
-#        define BOOST_PP_ITERATION_5 36
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 37 && BOOST_PP_ITERATION_FINISH_5 >= 37
-#        define BOOST_PP_ITERATION_5 37
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 38 && BOOST_PP_ITERATION_FINISH_5 >= 38
-#        define BOOST_PP_ITERATION_5 38
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 39 && BOOST_PP_ITERATION_FINISH_5 >= 39
-#        define BOOST_PP_ITERATION_5 39
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 40 && BOOST_PP_ITERATION_FINISH_5 >= 40
-#        define BOOST_PP_ITERATION_5 40
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 41 && BOOST_PP_ITERATION_FINISH_5 >= 41
-#        define BOOST_PP_ITERATION_5 41
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 42 && BOOST_PP_ITERATION_FINISH_5 >= 42
-#        define BOOST_PP_ITERATION_5 42
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 43 && BOOST_PP_ITERATION_FINISH_5 >= 43
-#        define BOOST_PP_ITERATION_5 43
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 44 && BOOST_PP_ITERATION_FINISH_5 >= 44
-#        define BOOST_PP_ITERATION_5 44
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 45 && BOOST_PP_ITERATION_FINISH_5 >= 45
-#        define BOOST_PP_ITERATION_5 45
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 46 && BOOST_PP_ITERATION_FINISH_5 >= 46
-#        define BOOST_PP_ITERATION_5 46
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 47 && BOOST_PP_ITERATION_FINISH_5 >= 47
-#        define BOOST_PP_ITERATION_5 47
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 48 && BOOST_PP_ITERATION_FINISH_5 >= 48
-#        define BOOST_PP_ITERATION_5 48
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 49 && BOOST_PP_ITERATION_FINISH_5 >= 49
-#        define BOOST_PP_ITERATION_5 49
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 50 && BOOST_PP_ITERATION_FINISH_5 >= 50
-#        define BOOST_PP_ITERATION_5 50
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 51 && BOOST_PP_ITERATION_FINISH_5 >= 51
-#        define BOOST_PP_ITERATION_5 51
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 52 && BOOST_PP_ITERATION_FINISH_5 >= 52
-#        define BOOST_PP_ITERATION_5 52
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 53 && BOOST_PP_ITERATION_FINISH_5 >= 53
-#        define BOOST_PP_ITERATION_5 53
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 54 && BOOST_PP_ITERATION_FINISH_5 >= 54
-#        define BOOST_PP_ITERATION_5 54
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 55 && BOOST_PP_ITERATION_FINISH_5 >= 55
-#        define BOOST_PP_ITERATION_5 55
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 56 && BOOST_PP_ITERATION_FINISH_5 >= 56
-#        define BOOST_PP_ITERATION_5 56
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 57 && BOOST_PP_ITERATION_FINISH_5 >= 57
-#        define BOOST_PP_ITERATION_5 57
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 58 && BOOST_PP_ITERATION_FINISH_5 >= 58
-#        define BOOST_PP_ITERATION_5 58
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 59 && BOOST_PP_ITERATION_FINISH_5 >= 59
-#        define BOOST_PP_ITERATION_5 59
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 60 && BOOST_PP_ITERATION_FINISH_5 >= 60
-#        define BOOST_PP_ITERATION_5 60
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 61 && BOOST_PP_ITERATION_FINISH_5 >= 61
-#        define BOOST_PP_ITERATION_5 61
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 62 && BOOST_PP_ITERATION_FINISH_5 >= 62
-#        define BOOST_PP_ITERATION_5 62
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 63 && BOOST_PP_ITERATION_FINISH_5 >= 63
-#        define BOOST_PP_ITERATION_5 63
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 64 && BOOST_PP_ITERATION_FINISH_5 >= 64
-#        define BOOST_PP_ITERATION_5 64
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 65 && BOOST_PP_ITERATION_FINISH_5 >= 65
-#        define BOOST_PP_ITERATION_5 65
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 66 && BOOST_PP_ITERATION_FINISH_5 >= 66
-#        define BOOST_PP_ITERATION_5 66
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 67 && BOOST_PP_ITERATION_FINISH_5 >= 67
-#        define BOOST_PP_ITERATION_5 67
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 68 && BOOST_PP_ITERATION_FINISH_5 >= 68
-#        define BOOST_PP_ITERATION_5 68
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 69 && BOOST_PP_ITERATION_FINISH_5 >= 69
-#        define BOOST_PP_ITERATION_5 69
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 70 && BOOST_PP_ITERATION_FINISH_5 >= 70
-#        define BOOST_PP_ITERATION_5 70
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 71 && BOOST_PP_ITERATION_FINISH_5 >= 71
-#        define BOOST_PP_ITERATION_5 71
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 72 && BOOST_PP_ITERATION_FINISH_5 >= 72
-#        define BOOST_PP_ITERATION_5 72
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 73 && BOOST_PP_ITERATION_FINISH_5 >= 73
-#        define BOOST_PP_ITERATION_5 73
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 74 && BOOST_PP_ITERATION_FINISH_5 >= 74
-#        define BOOST_PP_ITERATION_5 74
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 75 && BOOST_PP_ITERATION_FINISH_5 >= 75
-#        define BOOST_PP_ITERATION_5 75
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 76 && BOOST_PP_ITERATION_FINISH_5 >= 76
-#        define BOOST_PP_ITERATION_5 76
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 77 && BOOST_PP_ITERATION_FINISH_5 >= 77
-#        define BOOST_PP_ITERATION_5 77
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 78 && BOOST_PP_ITERATION_FINISH_5 >= 78
-#        define BOOST_PP_ITERATION_5 78
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 79 && BOOST_PP_ITERATION_FINISH_5 >= 79
-#        define BOOST_PP_ITERATION_5 79
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 80 && BOOST_PP_ITERATION_FINISH_5 >= 80
-#        define BOOST_PP_ITERATION_5 80
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 81 && BOOST_PP_ITERATION_FINISH_5 >= 81
-#        define BOOST_PP_ITERATION_5 81
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 82 && BOOST_PP_ITERATION_FINISH_5 >= 82
-#        define BOOST_PP_ITERATION_5 82
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 83 && BOOST_PP_ITERATION_FINISH_5 >= 83
-#        define BOOST_PP_ITERATION_5 83
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 84 && BOOST_PP_ITERATION_FINISH_5 >= 84
-#        define BOOST_PP_ITERATION_5 84
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 85 && BOOST_PP_ITERATION_FINISH_5 >= 85
-#        define BOOST_PP_ITERATION_5 85
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 86 && BOOST_PP_ITERATION_FINISH_5 >= 86
-#        define BOOST_PP_ITERATION_5 86
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 87 && BOOST_PP_ITERATION_FINISH_5 >= 87
-#        define BOOST_PP_ITERATION_5 87
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 88 && BOOST_PP_ITERATION_FINISH_5 >= 88
-#        define BOOST_PP_ITERATION_5 88
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 89 && BOOST_PP_ITERATION_FINISH_5 >= 89
-#        define BOOST_PP_ITERATION_5 89
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 90 && BOOST_PP_ITERATION_FINISH_5 >= 90
-#        define BOOST_PP_ITERATION_5 90
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 91 && BOOST_PP_ITERATION_FINISH_5 >= 91
-#        define BOOST_PP_ITERATION_5 91
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 92 && BOOST_PP_ITERATION_FINISH_5 >= 92
-#        define BOOST_PP_ITERATION_5 92
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 93 && BOOST_PP_ITERATION_FINISH_5 >= 93
-#        define BOOST_PP_ITERATION_5 93
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 94 && BOOST_PP_ITERATION_FINISH_5 >= 94
-#        define BOOST_PP_ITERATION_5 94
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 95 && BOOST_PP_ITERATION_FINISH_5 >= 95
-#        define BOOST_PP_ITERATION_5 95
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 96 && BOOST_PP_ITERATION_FINISH_5 >= 96
-#        define BOOST_PP_ITERATION_5 96
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 97 && BOOST_PP_ITERATION_FINISH_5 >= 97
-#        define BOOST_PP_ITERATION_5 97
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 98 && BOOST_PP_ITERATION_FINISH_5 >= 98
-#        define BOOST_PP_ITERATION_5 98
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 99 && BOOST_PP_ITERATION_FINISH_5 >= 99
-#        define BOOST_PP_ITERATION_5 99
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 100 && BOOST_PP_ITERATION_FINISH_5 >= 100
-#        define BOOST_PP_ITERATION_5 100
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 101 && BOOST_PP_ITERATION_FINISH_5 >= 101
-#        define BOOST_PP_ITERATION_5 101
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 102 && BOOST_PP_ITERATION_FINISH_5 >= 102
-#        define BOOST_PP_ITERATION_5 102
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 103 && BOOST_PP_ITERATION_FINISH_5 >= 103
-#        define BOOST_PP_ITERATION_5 103
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 104 && BOOST_PP_ITERATION_FINISH_5 >= 104
-#        define BOOST_PP_ITERATION_5 104
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 105 && BOOST_PP_ITERATION_FINISH_5 >= 105
-#        define BOOST_PP_ITERATION_5 105
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 106 && BOOST_PP_ITERATION_FINISH_5 >= 106
-#        define BOOST_PP_ITERATION_5 106
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 107 && BOOST_PP_ITERATION_FINISH_5 >= 107
-#        define BOOST_PP_ITERATION_5 107
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 108 && BOOST_PP_ITERATION_FINISH_5 >= 108
-#        define BOOST_PP_ITERATION_5 108
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 109 && BOOST_PP_ITERATION_FINISH_5 >= 109
-#        define BOOST_PP_ITERATION_5 109
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 110 && BOOST_PP_ITERATION_FINISH_5 >= 110
-#        define BOOST_PP_ITERATION_5 110
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 111 && BOOST_PP_ITERATION_FINISH_5 >= 111
-#        define BOOST_PP_ITERATION_5 111
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 112 && BOOST_PP_ITERATION_FINISH_5 >= 112
-#        define BOOST_PP_ITERATION_5 112
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 113 && BOOST_PP_ITERATION_FINISH_5 >= 113
-#        define BOOST_PP_ITERATION_5 113
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 114 && BOOST_PP_ITERATION_FINISH_5 >= 114
-#        define BOOST_PP_ITERATION_5 114
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 115 && BOOST_PP_ITERATION_FINISH_5 >= 115
-#        define BOOST_PP_ITERATION_5 115
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 116 && BOOST_PP_ITERATION_FINISH_5 >= 116
-#        define BOOST_PP_ITERATION_5 116
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 117 && BOOST_PP_ITERATION_FINISH_5 >= 117
-#        define BOOST_PP_ITERATION_5 117
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 118 && BOOST_PP_ITERATION_FINISH_5 >= 118
-#        define BOOST_PP_ITERATION_5 118
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 119 && BOOST_PP_ITERATION_FINISH_5 >= 119
-#        define BOOST_PP_ITERATION_5 119
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 120 && BOOST_PP_ITERATION_FINISH_5 >= 120
-#        define BOOST_PP_ITERATION_5 120
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 121 && BOOST_PP_ITERATION_FINISH_5 >= 121
-#        define BOOST_PP_ITERATION_5 121
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 122 && BOOST_PP_ITERATION_FINISH_5 >= 122
-#        define BOOST_PP_ITERATION_5 122
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 123 && BOOST_PP_ITERATION_FINISH_5 >= 123
-#        define BOOST_PP_ITERATION_5 123
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 124 && BOOST_PP_ITERATION_FINISH_5 >= 124
-#        define BOOST_PP_ITERATION_5 124
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 125 && BOOST_PP_ITERATION_FINISH_5 >= 125
-#        define BOOST_PP_ITERATION_5 125
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 126 && BOOST_PP_ITERATION_FINISH_5 >= 126
-#        define BOOST_PP_ITERATION_5 126
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 127 && BOOST_PP_ITERATION_FINISH_5 >= 127
-#        define BOOST_PP_ITERATION_5 127
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 128 && BOOST_PP_ITERATION_FINISH_5 >= 128
-#        define BOOST_PP_ITERATION_5 128
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 129 && BOOST_PP_ITERATION_FINISH_5 >= 129
-#        define BOOST_PP_ITERATION_5 129
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 130 && BOOST_PP_ITERATION_FINISH_5 >= 130
-#        define BOOST_PP_ITERATION_5 130
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 131 && BOOST_PP_ITERATION_FINISH_5 >= 131
-#        define BOOST_PP_ITERATION_5 131
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 132 && BOOST_PP_ITERATION_FINISH_5 >= 132
-#        define BOOST_PP_ITERATION_5 132
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 133 && BOOST_PP_ITERATION_FINISH_5 >= 133
-#        define BOOST_PP_ITERATION_5 133
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 134 && BOOST_PP_ITERATION_FINISH_5 >= 134
-#        define BOOST_PP_ITERATION_5 134
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 135 && BOOST_PP_ITERATION_FINISH_5 >= 135
-#        define BOOST_PP_ITERATION_5 135
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 136 && BOOST_PP_ITERATION_FINISH_5 >= 136
-#        define BOOST_PP_ITERATION_5 136
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 137 && BOOST_PP_ITERATION_FINISH_5 >= 137
-#        define BOOST_PP_ITERATION_5 137
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 138 && BOOST_PP_ITERATION_FINISH_5 >= 138
-#        define BOOST_PP_ITERATION_5 138
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 139 && BOOST_PP_ITERATION_FINISH_5 >= 139
-#        define BOOST_PP_ITERATION_5 139
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 140 && BOOST_PP_ITERATION_FINISH_5 >= 140
-#        define BOOST_PP_ITERATION_5 140
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 141 && BOOST_PP_ITERATION_FINISH_5 >= 141
-#        define BOOST_PP_ITERATION_5 141
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 142 && BOOST_PP_ITERATION_FINISH_5 >= 142
-#        define BOOST_PP_ITERATION_5 142
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 143 && BOOST_PP_ITERATION_FINISH_5 >= 143
-#        define BOOST_PP_ITERATION_5 143
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 144 && BOOST_PP_ITERATION_FINISH_5 >= 144
-#        define BOOST_PP_ITERATION_5 144
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 145 && BOOST_PP_ITERATION_FINISH_5 >= 145
-#        define BOOST_PP_ITERATION_5 145
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 146 && BOOST_PP_ITERATION_FINISH_5 >= 146
-#        define BOOST_PP_ITERATION_5 146
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 147 && BOOST_PP_ITERATION_FINISH_5 >= 147
-#        define BOOST_PP_ITERATION_5 147
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 148 && BOOST_PP_ITERATION_FINISH_5 >= 148
-#        define BOOST_PP_ITERATION_5 148
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 149 && BOOST_PP_ITERATION_FINISH_5 >= 149
-#        define BOOST_PP_ITERATION_5 149
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 150 && BOOST_PP_ITERATION_FINISH_5 >= 150
-#        define BOOST_PP_ITERATION_5 150
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 151 && BOOST_PP_ITERATION_FINISH_5 >= 151
-#        define BOOST_PP_ITERATION_5 151
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 152 && BOOST_PP_ITERATION_FINISH_5 >= 152
-#        define BOOST_PP_ITERATION_5 152
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 153 && BOOST_PP_ITERATION_FINISH_5 >= 153
-#        define BOOST_PP_ITERATION_5 153
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 154 && BOOST_PP_ITERATION_FINISH_5 >= 154
-#        define BOOST_PP_ITERATION_5 154
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 155 && BOOST_PP_ITERATION_FINISH_5 >= 155
-#        define BOOST_PP_ITERATION_5 155
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 156 && BOOST_PP_ITERATION_FINISH_5 >= 156
-#        define BOOST_PP_ITERATION_5 156
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 157 && BOOST_PP_ITERATION_FINISH_5 >= 157
-#        define BOOST_PP_ITERATION_5 157
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 158 && BOOST_PP_ITERATION_FINISH_5 >= 158
-#        define BOOST_PP_ITERATION_5 158
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 159 && BOOST_PP_ITERATION_FINISH_5 >= 159
-#        define BOOST_PP_ITERATION_5 159
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 160 && BOOST_PP_ITERATION_FINISH_5 >= 160
-#        define BOOST_PP_ITERATION_5 160
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 161 && BOOST_PP_ITERATION_FINISH_5 >= 161
-#        define BOOST_PP_ITERATION_5 161
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 162 && BOOST_PP_ITERATION_FINISH_5 >= 162
-#        define BOOST_PP_ITERATION_5 162
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 163 && BOOST_PP_ITERATION_FINISH_5 >= 163
-#        define BOOST_PP_ITERATION_5 163
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 164 && BOOST_PP_ITERATION_FINISH_5 >= 164
-#        define BOOST_PP_ITERATION_5 164
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 165 && BOOST_PP_ITERATION_FINISH_5 >= 165
-#        define BOOST_PP_ITERATION_5 165
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 166 && BOOST_PP_ITERATION_FINISH_5 >= 166
-#        define BOOST_PP_ITERATION_5 166
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 167 && BOOST_PP_ITERATION_FINISH_5 >= 167
-#        define BOOST_PP_ITERATION_5 167
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 168 && BOOST_PP_ITERATION_FINISH_5 >= 168
-#        define BOOST_PP_ITERATION_5 168
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 169 && BOOST_PP_ITERATION_FINISH_5 >= 169
-#        define BOOST_PP_ITERATION_5 169
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 170 && BOOST_PP_ITERATION_FINISH_5 >= 170
-#        define BOOST_PP_ITERATION_5 170
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 171 && BOOST_PP_ITERATION_FINISH_5 >= 171
-#        define BOOST_PP_ITERATION_5 171
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 172 && BOOST_PP_ITERATION_FINISH_5 >= 172
-#        define BOOST_PP_ITERATION_5 172
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 173 && BOOST_PP_ITERATION_FINISH_5 >= 173
-#        define BOOST_PP_ITERATION_5 173
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 174 && BOOST_PP_ITERATION_FINISH_5 >= 174
-#        define BOOST_PP_ITERATION_5 174
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 175 && BOOST_PP_ITERATION_FINISH_5 >= 175
-#        define BOOST_PP_ITERATION_5 175
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 176 && BOOST_PP_ITERATION_FINISH_5 >= 176
-#        define BOOST_PP_ITERATION_5 176
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 177 && BOOST_PP_ITERATION_FINISH_5 >= 177
-#        define BOOST_PP_ITERATION_5 177
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 178 && BOOST_PP_ITERATION_FINISH_5 >= 178
-#        define BOOST_PP_ITERATION_5 178
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 179 && BOOST_PP_ITERATION_FINISH_5 >= 179
-#        define BOOST_PP_ITERATION_5 179
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 180 && BOOST_PP_ITERATION_FINISH_5 >= 180
-#        define BOOST_PP_ITERATION_5 180
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 181 && BOOST_PP_ITERATION_FINISH_5 >= 181
-#        define BOOST_PP_ITERATION_5 181
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 182 && BOOST_PP_ITERATION_FINISH_5 >= 182
-#        define BOOST_PP_ITERATION_5 182
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 183 && BOOST_PP_ITERATION_FINISH_5 >= 183
-#        define BOOST_PP_ITERATION_5 183
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 184 && BOOST_PP_ITERATION_FINISH_5 >= 184
-#        define BOOST_PP_ITERATION_5 184
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 185 && BOOST_PP_ITERATION_FINISH_5 >= 185
-#        define BOOST_PP_ITERATION_5 185
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 186 && BOOST_PP_ITERATION_FINISH_5 >= 186
-#        define BOOST_PP_ITERATION_5 186
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 187 && BOOST_PP_ITERATION_FINISH_5 >= 187
-#        define BOOST_PP_ITERATION_5 187
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 188 && BOOST_PP_ITERATION_FINISH_5 >= 188
-#        define BOOST_PP_ITERATION_5 188
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 189 && BOOST_PP_ITERATION_FINISH_5 >= 189
-#        define BOOST_PP_ITERATION_5 189
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 190 && BOOST_PP_ITERATION_FINISH_5 >= 190
-#        define BOOST_PP_ITERATION_5 190
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 191 && BOOST_PP_ITERATION_FINISH_5 >= 191
-#        define BOOST_PP_ITERATION_5 191
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 192 && BOOST_PP_ITERATION_FINISH_5 >= 192
-#        define BOOST_PP_ITERATION_5 192
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 193 && BOOST_PP_ITERATION_FINISH_5 >= 193
-#        define BOOST_PP_ITERATION_5 193
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 194 && BOOST_PP_ITERATION_FINISH_5 >= 194
-#        define BOOST_PP_ITERATION_5 194
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 195 && BOOST_PP_ITERATION_FINISH_5 >= 195
-#        define BOOST_PP_ITERATION_5 195
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 196 && BOOST_PP_ITERATION_FINISH_5 >= 196
-#        define BOOST_PP_ITERATION_5 196
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 197 && BOOST_PP_ITERATION_FINISH_5 >= 197
-#        define BOOST_PP_ITERATION_5 197
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 198 && BOOST_PP_ITERATION_FINISH_5 >= 198
-#        define BOOST_PP_ITERATION_5 198
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 199 && BOOST_PP_ITERATION_FINISH_5 >= 199
-#        define BOOST_PP_ITERATION_5 199
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 200 && BOOST_PP_ITERATION_FINISH_5 >= 200
-#        define BOOST_PP_ITERATION_5 200
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 201 && BOOST_PP_ITERATION_FINISH_5 >= 201
-#        define BOOST_PP_ITERATION_5 201
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 202 && BOOST_PP_ITERATION_FINISH_5 >= 202
-#        define BOOST_PP_ITERATION_5 202
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 203 && BOOST_PP_ITERATION_FINISH_5 >= 203
-#        define BOOST_PP_ITERATION_5 203
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 204 && BOOST_PP_ITERATION_FINISH_5 >= 204
-#        define BOOST_PP_ITERATION_5 204
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 205 && BOOST_PP_ITERATION_FINISH_5 >= 205
-#        define BOOST_PP_ITERATION_5 205
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 206 && BOOST_PP_ITERATION_FINISH_5 >= 206
-#        define BOOST_PP_ITERATION_5 206
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 207 && BOOST_PP_ITERATION_FINISH_5 >= 207
-#        define BOOST_PP_ITERATION_5 207
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 208 && BOOST_PP_ITERATION_FINISH_5 >= 208
-#        define BOOST_PP_ITERATION_5 208
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 209 && BOOST_PP_ITERATION_FINISH_5 >= 209
-#        define BOOST_PP_ITERATION_5 209
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 210 && BOOST_PP_ITERATION_FINISH_5 >= 210
-#        define BOOST_PP_ITERATION_5 210
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 211 && BOOST_PP_ITERATION_FINISH_5 >= 211
-#        define BOOST_PP_ITERATION_5 211
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 212 && BOOST_PP_ITERATION_FINISH_5 >= 212
-#        define BOOST_PP_ITERATION_5 212
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 213 && BOOST_PP_ITERATION_FINISH_5 >= 213
-#        define BOOST_PP_ITERATION_5 213
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 214 && BOOST_PP_ITERATION_FINISH_5 >= 214
-#        define BOOST_PP_ITERATION_5 214
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 215 && BOOST_PP_ITERATION_FINISH_5 >= 215
-#        define BOOST_PP_ITERATION_5 215
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 216 && BOOST_PP_ITERATION_FINISH_5 >= 216
-#        define BOOST_PP_ITERATION_5 216
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 217 && BOOST_PP_ITERATION_FINISH_5 >= 217
-#        define BOOST_PP_ITERATION_5 217
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 218 && BOOST_PP_ITERATION_FINISH_5 >= 218
-#        define BOOST_PP_ITERATION_5 218
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 219 && BOOST_PP_ITERATION_FINISH_5 >= 219
-#        define BOOST_PP_ITERATION_5 219
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 220 && BOOST_PP_ITERATION_FINISH_5 >= 220
-#        define BOOST_PP_ITERATION_5 220
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 221 && BOOST_PP_ITERATION_FINISH_5 >= 221
-#        define BOOST_PP_ITERATION_5 221
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 222 && BOOST_PP_ITERATION_FINISH_5 >= 222
-#        define BOOST_PP_ITERATION_5 222
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 223 && BOOST_PP_ITERATION_FINISH_5 >= 223
-#        define BOOST_PP_ITERATION_5 223
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 224 && BOOST_PP_ITERATION_FINISH_5 >= 224
-#        define BOOST_PP_ITERATION_5 224
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 225 && BOOST_PP_ITERATION_FINISH_5 >= 225
-#        define BOOST_PP_ITERATION_5 225
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 226 && BOOST_PP_ITERATION_FINISH_5 >= 226
-#        define BOOST_PP_ITERATION_5 226
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 227 && BOOST_PP_ITERATION_FINISH_5 >= 227
-#        define BOOST_PP_ITERATION_5 227
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 228 && BOOST_PP_ITERATION_FINISH_5 >= 228
-#        define BOOST_PP_ITERATION_5 228
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 229 && BOOST_PP_ITERATION_FINISH_5 >= 229
-#        define BOOST_PP_ITERATION_5 229
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 230 && BOOST_PP_ITERATION_FINISH_5 >= 230
-#        define BOOST_PP_ITERATION_5 230
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 231 && BOOST_PP_ITERATION_FINISH_5 >= 231
-#        define BOOST_PP_ITERATION_5 231
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 232 && BOOST_PP_ITERATION_FINISH_5 >= 232
-#        define BOOST_PP_ITERATION_5 232
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 233 && BOOST_PP_ITERATION_FINISH_5 >= 233
-#        define BOOST_PP_ITERATION_5 233
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 234 && BOOST_PP_ITERATION_FINISH_5 >= 234
-#        define BOOST_PP_ITERATION_5 234
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 235 && BOOST_PP_ITERATION_FINISH_5 >= 235
-#        define BOOST_PP_ITERATION_5 235
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 236 && BOOST_PP_ITERATION_FINISH_5 >= 236
-#        define BOOST_PP_ITERATION_5 236
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 237 && BOOST_PP_ITERATION_FINISH_5 >= 237
-#        define BOOST_PP_ITERATION_5 237
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 238 && BOOST_PP_ITERATION_FINISH_5 >= 238
-#        define BOOST_PP_ITERATION_5 238
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 239 && BOOST_PP_ITERATION_FINISH_5 >= 239
-#        define BOOST_PP_ITERATION_5 239
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 240 && BOOST_PP_ITERATION_FINISH_5 >= 240
-#        define BOOST_PP_ITERATION_5 240
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 241 && BOOST_PP_ITERATION_FINISH_5 >= 241
-#        define BOOST_PP_ITERATION_5 241
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 242 && BOOST_PP_ITERATION_FINISH_5 >= 242
-#        define BOOST_PP_ITERATION_5 242
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 243 && BOOST_PP_ITERATION_FINISH_5 >= 243
-#        define BOOST_PP_ITERATION_5 243
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 244 && BOOST_PP_ITERATION_FINISH_5 >= 244
-#        define BOOST_PP_ITERATION_5 244
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 245 && BOOST_PP_ITERATION_FINISH_5 >= 245
-#        define BOOST_PP_ITERATION_5 245
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 246 && BOOST_PP_ITERATION_FINISH_5 >= 246
-#        define BOOST_PP_ITERATION_5 246
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 247 && BOOST_PP_ITERATION_FINISH_5 >= 247
-#        define BOOST_PP_ITERATION_5 247
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 248 && BOOST_PP_ITERATION_FINISH_5 >= 248
-#        define BOOST_PP_ITERATION_5 248
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 249 && BOOST_PP_ITERATION_FINISH_5 >= 249
-#        define BOOST_PP_ITERATION_5 249
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 250 && BOOST_PP_ITERATION_FINISH_5 >= 250
-#        define BOOST_PP_ITERATION_5 250
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 251 && BOOST_PP_ITERATION_FINISH_5 >= 251
-#        define BOOST_PP_ITERATION_5 251
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 252 && BOOST_PP_ITERATION_FINISH_5 >= 252
-#        define BOOST_PP_ITERATION_5 252
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 253 && BOOST_PP_ITERATION_FINISH_5 >= 253
-#        define BOOST_PP_ITERATION_5 253
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 254 && BOOST_PP_ITERATION_FINISH_5 >= 254
-#        define BOOST_PP_ITERATION_5 254
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 255 && BOOST_PP_ITERATION_FINISH_5 >= 255
-#        define BOOST_PP_ITERATION_5 255
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-#    if BOOST_PP_ITERATION_START_5 <= 256 && BOOST_PP_ITERATION_FINISH_5 >= 256
-#        define BOOST_PP_ITERATION_5 256
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
-#    endif
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 4
-#
-# undef BOOST_PP_ITERATION_START_5
-# undef BOOST_PP_ITERATION_FINISH_5
-# undef BOOST_PP_FILENAME_5
-#
-# undef BOOST_PP_ITERATION_FLAGS_5
-# undef BOOST_PP_ITERATION_PARAMS_5
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse1.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse1.hpp
deleted file mode 100755
index 558e856..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse1.hpp
+++ /dev/null
@@ -1,1296 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if BOOST_PP_ITERATION_FINISH_1 <= 256 && BOOST_PP_ITERATION_START_1 >= 256
-#    define BOOST_PP_ITERATION_1 256
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 255 && BOOST_PP_ITERATION_START_1 >= 255
-#    define BOOST_PP_ITERATION_1 255
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 254 && BOOST_PP_ITERATION_START_1 >= 254
-#    define BOOST_PP_ITERATION_1 254
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 253 && BOOST_PP_ITERATION_START_1 >= 253
-#    define BOOST_PP_ITERATION_1 253
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 252 && BOOST_PP_ITERATION_START_1 >= 252
-#    define BOOST_PP_ITERATION_1 252
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 251 && BOOST_PP_ITERATION_START_1 >= 251
-#    define BOOST_PP_ITERATION_1 251
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 250 && BOOST_PP_ITERATION_START_1 >= 250
-#    define BOOST_PP_ITERATION_1 250
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 249 && BOOST_PP_ITERATION_START_1 >= 249
-#    define BOOST_PP_ITERATION_1 249
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 248 && BOOST_PP_ITERATION_START_1 >= 248
-#    define BOOST_PP_ITERATION_1 248
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 247 && BOOST_PP_ITERATION_START_1 >= 247
-#    define BOOST_PP_ITERATION_1 247
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 246 && BOOST_PP_ITERATION_START_1 >= 246
-#    define BOOST_PP_ITERATION_1 246
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 245 && BOOST_PP_ITERATION_START_1 >= 245
-#    define BOOST_PP_ITERATION_1 245
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 244 && BOOST_PP_ITERATION_START_1 >= 244
-#    define BOOST_PP_ITERATION_1 244
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 243 && BOOST_PP_ITERATION_START_1 >= 243
-#    define BOOST_PP_ITERATION_1 243
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 242 && BOOST_PP_ITERATION_START_1 >= 242
-#    define BOOST_PP_ITERATION_1 242
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 241 && BOOST_PP_ITERATION_START_1 >= 241
-#    define BOOST_PP_ITERATION_1 241
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 240 && BOOST_PP_ITERATION_START_1 >= 240
-#    define BOOST_PP_ITERATION_1 240
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 239 && BOOST_PP_ITERATION_START_1 >= 239
-#    define BOOST_PP_ITERATION_1 239
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 238 && BOOST_PP_ITERATION_START_1 >= 238
-#    define BOOST_PP_ITERATION_1 238
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 237 && BOOST_PP_ITERATION_START_1 >= 237
-#    define BOOST_PP_ITERATION_1 237
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 236 && BOOST_PP_ITERATION_START_1 >= 236
-#    define BOOST_PP_ITERATION_1 236
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 235 && BOOST_PP_ITERATION_START_1 >= 235
-#    define BOOST_PP_ITERATION_1 235
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 234 && BOOST_PP_ITERATION_START_1 >= 234
-#    define BOOST_PP_ITERATION_1 234
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 233 && BOOST_PP_ITERATION_START_1 >= 233
-#    define BOOST_PP_ITERATION_1 233
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 232 && BOOST_PP_ITERATION_START_1 >= 232
-#    define BOOST_PP_ITERATION_1 232
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 231 && BOOST_PP_ITERATION_START_1 >= 231
-#    define BOOST_PP_ITERATION_1 231
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 230 && BOOST_PP_ITERATION_START_1 >= 230
-#    define BOOST_PP_ITERATION_1 230
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 229 && BOOST_PP_ITERATION_START_1 >= 229
-#    define BOOST_PP_ITERATION_1 229
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 228 && BOOST_PP_ITERATION_START_1 >= 228
-#    define BOOST_PP_ITERATION_1 228
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 227 && BOOST_PP_ITERATION_START_1 >= 227
-#    define BOOST_PP_ITERATION_1 227
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 226 && BOOST_PP_ITERATION_START_1 >= 226
-#    define BOOST_PP_ITERATION_1 226
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 225 && BOOST_PP_ITERATION_START_1 >= 225
-#    define BOOST_PP_ITERATION_1 225
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 224 && BOOST_PP_ITERATION_START_1 >= 224
-#    define BOOST_PP_ITERATION_1 224
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 223 && BOOST_PP_ITERATION_START_1 >= 223
-#    define BOOST_PP_ITERATION_1 223
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 222 && BOOST_PP_ITERATION_START_1 >= 222
-#    define BOOST_PP_ITERATION_1 222
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 221 && BOOST_PP_ITERATION_START_1 >= 221
-#    define BOOST_PP_ITERATION_1 221
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 220 && BOOST_PP_ITERATION_START_1 >= 220
-#    define BOOST_PP_ITERATION_1 220
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 219 && BOOST_PP_ITERATION_START_1 >= 219
-#    define BOOST_PP_ITERATION_1 219
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 218 && BOOST_PP_ITERATION_START_1 >= 218
-#    define BOOST_PP_ITERATION_1 218
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 217 && BOOST_PP_ITERATION_START_1 >= 217
-#    define BOOST_PP_ITERATION_1 217
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 216 && BOOST_PP_ITERATION_START_1 >= 216
-#    define BOOST_PP_ITERATION_1 216
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 215 && BOOST_PP_ITERATION_START_1 >= 215
-#    define BOOST_PP_ITERATION_1 215
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 214 && BOOST_PP_ITERATION_START_1 >= 214
-#    define BOOST_PP_ITERATION_1 214
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 213 && BOOST_PP_ITERATION_START_1 >= 213
-#    define BOOST_PP_ITERATION_1 213
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 212 && BOOST_PP_ITERATION_START_1 >= 212
-#    define BOOST_PP_ITERATION_1 212
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 211 && BOOST_PP_ITERATION_START_1 >= 211
-#    define BOOST_PP_ITERATION_1 211
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 210 && BOOST_PP_ITERATION_START_1 >= 210
-#    define BOOST_PP_ITERATION_1 210
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 209 && BOOST_PP_ITERATION_START_1 >= 209
-#    define BOOST_PP_ITERATION_1 209
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 208 && BOOST_PP_ITERATION_START_1 >= 208
-#    define BOOST_PP_ITERATION_1 208
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 207 && BOOST_PP_ITERATION_START_1 >= 207
-#    define BOOST_PP_ITERATION_1 207
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 206 && BOOST_PP_ITERATION_START_1 >= 206
-#    define BOOST_PP_ITERATION_1 206
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 205 && BOOST_PP_ITERATION_START_1 >= 205
-#    define BOOST_PP_ITERATION_1 205
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 204 && BOOST_PP_ITERATION_START_1 >= 204
-#    define BOOST_PP_ITERATION_1 204
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 203 && BOOST_PP_ITERATION_START_1 >= 203
-#    define BOOST_PP_ITERATION_1 203
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 202 && BOOST_PP_ITERATION_START_1 >= 202
-#    define BOOST_PP_ITERATION_1 202
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 201 && BOOST_PP_ITERATION_START_1 >= 201
-#    define BOOST_PP_ITERATION_1 201
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 200 && BOOST_PP_ITERATION_START_1 >= 200
-#    define BOOST_PP_ITERATION_1 200
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 199 && BOOST_PP_ITERATION_START_1 >= 199
-#    define BOOST_PP_ITERATION_1 199
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 198 && BOOST_PP_ITERATION_START_1 >= 198
-#    define BOOST_PP_ITERATION_1 198
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 197 && BOOST_PP_ITERATION_START_1 >= 197
-#    define BOOST_PP_ITERATION_1 197
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 196 && BOOST_PP_ITERATION_START_1 >= 196
-#    define BOOST_PP_ITERATION_1 196
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 195 && BOOST_PP_ITERATION_START_1 >= 195
-#    define BOOST_PP_ITERATION_1 195
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 194 && BOOST_PP_ITERATION_START_1 >= 194
-#    define BOOST_PP_ITERATION_1 194
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 193 && BOOST_PP_ITERATION_START_1 >= 193
-#    define BOOST_PP_ITERATION_1 193
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 192 && BOOST_PP_ITERATION_START_1 >= 192
-#    define BOOST_PP_ITERATION_1 192
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 191 && BOOST_PP_ITERATION_START_1 >= 191
-#    define BOOST_PP_ITERATION_1 191
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 190 && BOOST_PP_ITERATION_START_1 >= 190
-#    define BOOST_PP_ITERATION_1 190
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 189 && BOOST_PP_ITERATION_START_1 >= 189
-#    define BOOST_PP_ITERATION_1 189
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 188 && BOOST_PP_ITERATION_START_1 >= 188
-#    define BOOST_PP_ITERATION_1 188
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 187 && BOOST_PP_ITERATION_START_1 >= 187
-#    define BOOST_PP_ITERATION_1 187
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 186 && BOOST_PP_ITERATION_START_1 >= 186
-#    define BOOST_PP_ITERATION_1 186
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 185 && BOOST_PP_ITERATION_START_1 >= 185
-#    define BOOST_PP_ITERATION_1 185
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 184 && BOOST_PP_ITERATION_START_1 >= 184
-#    define BOOST_PP_ITERATION_1 184
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 183 && BOOST_PP_ITERATION_START_1 >= 183
-#    define BOOST_PP_ITERATION_1 183
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 182 && BOOST_PP_ITERATION_START_1 >= 182
-#    define BOOST_PP_ITERATION_1 182
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 181 && BOOST_PP_ITERATION_START_1 >= 181
-#    define BOOST_PP_ITERATION_1 181
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 180 && BOOST_PP_ITERATION_START_1 >= 180
-#    define BOOST_PP_ITERATION_1 180
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 179 && BOOST_PP_ITERATION_START_1 >= 179
-#    define BOOST_PP_ITERATION_1 179
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 178 && BOOST_PP_ITERATION_START_1 >= 178
-#    define BOOST_PP_ITERATION_1 178
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 177 && BOOST_PP_ITERATION_START_1 >= 177
-#    define BOOST_PP_ITERATION_1 177
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 176 && BOOST_PP_ITERATION_START_1 >= 176
-#    define BOOST_PP_ITERATION_1 176
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 175 && BOOST_PP_ITERATION_START_1 >= 175
-#    define BOOST_PP_ITERATION_1 175
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 174 && BOOST_PP_ITERATION_START_1 >= 174
-#    define BOOST_PP_ITERATION_1 174
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 173 && BOOST_PP_ITERATION_START_1 >= 173
-#    define BOOST_PP_ITERATION_1 173
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 172 && BOOST_PP_ITERATION_START_1 >= 172
-#    define BOOST_PP_ITERATION_1 172
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 171 && BOOST_PP_ITERATION_START_1 >= 171
-#    define BOOST_PP_ITERATION_1 171
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 170 && BOOST_PP_ITERATION_START_1 >= 170
-#    define BOOST_PP_ITERATION_1 170
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 169 && BOOST_PP_ITERATION_START_1 >= 169
-#    define BOOST_PP_ITERATION_1 169
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 168 && BOOST_PP_ITERATION_START_1 >= 168
-#    define BOOST_PP_ITERATION_1 168
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 167 && BOOST_PP_ITERATION_START_1 >= 167
-#    define BOOST_PP_ITERATION_1 167
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 166 && BOOST_PP_ITERATION_START_1 >= 166
-#    define BOOST_PP_ITERATION_1 166
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 165 && BOOST_PP_ITERATION_START_1 >= 165
-#    define BOOST_PP_ITERATION_1 165
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 164 && BOOST_PP_ITERATION_START_1 >= 164
-#    define BOOST_PP_ITERATION_1 164
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 163 && BOOST_PP_ITERATION_START_1 >= 163
-#    define BOOST_PP_ITERATION_1 163
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 162 && BOOST_PP_ITERATION_START_1 >= 162
-#    define BOOST_PP_ITERATION_1 162
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 161 && BOOST_PP_ITERATION_START_1 >= 161
-#    define BOOST_PP_ITERATION_1 161
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 160 && BOOST_PP_ITERATION_START_1 >= 160
-#    define BOOST_PP_ITERATION_1 160
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 159 && BOOST_PP_ITERATION_START_1 >= 159
-#    define BOOST_PP_ITERATION_1 159
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 158 && BOOST_PP_ITERATION_START_1 >= 158
-#    define BOOST_PP_ITERATION_1 158
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 157 && BOOST_PP_ITERATION_START_1 >= 157
-#    define BOOST_PP_ITERATION_1 157
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 156 && BOOST_PP_ITERATION_START_1 >= 156
-#    define BOOST_PP_ITERATION_1 156
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 155 && BOOST_PP_ITERATION_START_1 >= 155
-#    define BOOST_PP_ITERATION_1 155
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 154 && BOOST_PP_ITERATION_START_1 >= 154
-#    define BOOST_PP_ITERATION_1 154
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 153 && BOOST_PP_ITERATION_START_1 >= 153
-#    define BOOST_PP_ITERATION_1 153
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 152 && BOOST_PP_ITERATION_START_1 >= 152
-#    define BOOST_PP_ITERATION_1 152
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 151 && BOOST_PP_ITERATION_START_1 >= 151
-#    define BOOST_PP_ITERATION_1 151
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 150 && BOOST_PP_ITERATION_START_1 >= 150
-#    define BOOST_PP_ITERATION_1 150
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 149 && BOOST_PP_ITERATION_START_1 >= 149
-#    define BOOST_PP_ITERATION_1 149
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 148 && BOOST_PP_ITERATION_START_1 >= 148
-#    define BOOST_PP_ITERATION_1 148
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 147 && BOOST_PP_ITERATION_START_1 >= 147
-#    define BOOST_PP_ITERATION_1 147
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 146 && BOOST_PP_ITERATION_START_1 >= 146
-#    define BOOST_PP_ITERATION_1 146
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 145 && BOOST_PP_ITERATION_START_1 >= 145
-#    define BOOST_PP_ITERATION_1 145
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 144 && BOOST_PP_ITERATION_START_1 >= 144
-#    define BOOST_PP_ITERATION_1 144
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 143 && BOOST_PP_ITERATION_START_1 >= 143
-#    define BOOST_PP_ITERATION_1 143
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 142 && BOOST_PP_ITERATION_START_1 >= 142
-#    define BOOST_PP_ITERATION_1 142
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 141 && BOOST_PP_ITERATION_START_1 >= 141
-#    define BOOST_PP_ITERATION_1 141
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 140 && BOOST_PP_ITERATION_START_1 >= 140
-#    define BOOST_PP_ITERATION_1 140
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 139 && BOOST_PP_ITERATION_START_1 >= 139
-#    define BOOST_PP_ITERATION_1 139
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 138 && BOOST_PP_ITERATION_START_1 >= 138
-#    define BOOST_PP_ITERATION_1 138
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 137 && BOOST_PP_ITERATION_START_1 >= 137
-#    define BOOST_PP_ITERATION_1 137
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 136 && BOOST_PP_ITERATION_START_1 >= 136
-#    define BOOST_PP_ITERATION_1 136
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 135 && BOOST_PP_ITERATION_START_1 >= 135
-#    define BOOST_PP_ITERATION_1 135
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 134 && BOOST_PP_ITERATION_START_1 >= 134
-#    define BOOST_PP_ITERATION_1 134
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 133 && BOOST_PP_ITERATION_START_1 >= 133
-#    define BOOST_PP_ITERATION_1 133
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 132 && BOOST_PP_ITERATION_START_1 >= 132
-#    define BOOST_PP_ITERATION_1 132
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 131 && BOOST_PP_ITERATION_START_1 >= 131
-#    define BOOST_PP_ITERATION_1 131
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 130 && BOOST_PP_ITERATION_START_1 >= 130
-#    define BOOST_PP_ITERATION_1 130
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 129 && BOOST_PP_ITERATION_START_1 >= 129
-#    define BOOST_PP_ITERATION_1 129
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 128 && BOOST_PP_ITERATION_START_1 >= 128
-#    define BOOST_PP_ITERATION_1 128
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 127 && BOOST_PP_ITERATION_START_1 >= 127
-#    define BOOST_PP_ITERATION_1 127
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 126 && BOOST_PP_ITERATION_START_1 >= 126
-#    define BOOST_PP_ITERATION_1 126
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 125 && BOOST_PP_ITERATION_START_1 >= 125
-#    define BOOST_PP_ITERATION_1 125
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 124 && BOOST_PP_ITERATION_START_1 >= 124
-#    define BOOST_PP_ITERATION_1 124
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 123 && BOOST_PP_ITERATION_START_1 >= 123
-#    define BOOST_PP_ITERATION_1 123
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 122 && BOOST_PP_ITERATION_START_1 >= 122
-#    define BOOST_PP_ITERATION_1 122
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 121 && BOOST_PP_ITERATION_START_1 >= 121
-#    define BOOST_PP_ITERATION_1 121
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 120 && BOOST_PP_ITERATION_START_1 >= 120
-#    define BOOST_PP_ITERATION_1 120
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 119 && BOOST_PP_ITERATION_START_1 >= 119
-#    define BOOST_PP_ITERATION_1 119
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 118 && BOOST_PP_ITERATION_START_1 >= 118
-#    define BOOST_PP_ITERATION_1 118
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 117 && BOOST_PP_ITERATION_START_1 >= 117
-#    define BOOST_PP_ITERATION_1 117
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 116 && BOOST_PP_ITERATION_START_1 >= 116
-#    define BOOST_PP_ITERATION_1 116
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 115 && BOOST_PP_ITERATION_START_1 >= 115
-#    define BOOST_PP_ITERATION_1 115
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 114 && BOOST_PP_ITERATION_START_1 >= 114
-#    define BOOST_PP_ITERATION_1 114
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 113 && BOOST_PP_ITERATION_START_1 >= 113
-#    define BOOST_PP_ITERATION_1 113
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 112 && BOOST_PP_ITERATION_START_1 >= 112
-#    define BOOST_PP_ITERATION_1 112
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 111 && BOOST_PP_ITERATION_START_1 >= 111
-#    define BOOST_PP_ITERATION_1 111
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 110 && BOOST_PP_ITERATION_START_1 >= 110
-#    define BOOST_PP_ITERATION_1 110
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 109 && BOOST_PP_ITERATION_START_1 >= 109
-#    define BOOST_PP_ITERATION_1 109
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 108 && BOOST_PP_ITERATION_START_1 >= 108
-#    define BOOST_PP_ITERATION_1 108
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 107 && BOOST_PP_ITERATION_START_1 >= 107
-#    define BOOST_PP_ITERATION_1 107
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 106 && BOOST_PP_ITERATION_START_1 >= 106
-#    define BOOST_PP_ITERATION_1 106
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 105 && BOOST_PP_ITERATION_START_1 >= 105
-#    define BOOST_PP_ITERATION_1 105
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 104 && BOOST_PP_ITERATION_START_1 >= 104
-#    define BOOST_PP_ITERATION_1 104
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 103 && BOOST_PP_ITERATION_START_1 >= 103
-#    define BOOST_PP_ITERATION_1 103
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 102 && BOOST_PP_ITERATION_START_1 >= 102
-#    define BOOST_PP_ITERATION_1 102
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 101 && BOOST_PP_ITERATION_START_1 >= 101
-#    define BOOST_PP_ITERATION_1 101
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 100 && BOOST_PP_ITERATION_START_1 >= 100
-#    define BOOST_PP_ITERATION_1 100
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 99 && BOOST_PP_ITERATION_START_1 >= 99
-#    define BOOST_PP_ITERATION_1 99
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 98 && BOOST_PP_ITERATION_START_1 >= 98
-#    define BOOST_PP_ITERATION_1 98
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 97 && BOOST_PP_ITERATION_START_1 >= 97
-#    define BOOST_PP_ITERATION_1 97
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 96 && BOOST_PP_ITERATION_START_1 >= 96
-#    define BOOST_PP_ITERATION_1 96
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 95 && BOOST_PP_ITERATION_START_1 >= 95
-#    define BOOST_PP_ITERATION_1 95
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 94 && BOOST_PP_ITERATION_START_1 >= 94
-#    define BOOST_PP_ITERATION_1 94
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 93 && BOOST_PP_ITERATION_START_1 >= 93
-#    define BOOST_PP_ITERATION_1 93
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 92 && BOOST_PP_ITERATION_START_1 >= 92
-#    define BOOST_PP_ITERATION_1 92
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 91 && BOOST_PP_ITERATION_START_1 >= 91
-#    define BOOST_PP_ITERATION_1 91
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 90 && BOOST_PP_ITERATION_START_1 >= 90
-#    define BOOST_PP_ITERATION_1 90
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 89 && BOOST_PP_ITERATION_START_1 >= 89
-#    define BOOST_PP_ITERATION_1 89
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 88 && BOOST_PP_ITERATION_START_1 >= 88
-#    define BOOST_PP_ITERATION_1 88
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 87 && BOOST_PP_ITERATION_START_1 >= 87
-#    define BOOST_PP_ITERATION_1 87
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 86 && BOOST_PP_ITERATION_START_1 >= 86
-#    define BOOST_PP_ITERATION_1 86
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 85 && BOOST_PP_ITERATION_START_1 >= 85
-#    define BOOST_PP_ITERATION_1 85
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 84 && BOOST_PP_ITERATION_START_1 >= 84
-#    define BOOST_PP_ITERATION_1 84
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 83 && BOOST_PP_ITERATION_START_1 >= 83
-#    define BOOST_PP_ITERATION_1 83
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 82 && BOOST_PP_ITERATION_START_1 >= 82
-#    define BOOST_PP_ITERATION_1 82
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 81 && BOOST_PP_ITERATION_START_1 >= 81
-#    define BOOST_PP_ITERATION_1 81
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 80 && BOOST_PP_ITERATION_START_1 >= 80
-#    define BOOST_PP_ITERATION_1 80
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 79 && BOOST_PP_ITERATION_START_1 >= 79
-#    define BOOST_PP_ITERATION_1 79
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 78 && BOOST_PP_ITERATION_START_1 >= 78
-#    define BOOST_PP_ITERATION_1 78
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 77 && BOOST_PP_ITERATION_START_1 >= 77
-#    define BOOST_PP_ITERATION_1 77
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 76 && BOOST_PP_ITERATION_START_1 >= 76
-#    define BOOST_PP_ITERATION_1 76
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 75 && BOOST_PP_ITERATION_START_1 >= 75
-#    define BOOST_PP_ITERATION_1 75
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 74 && BOOST_PP_ITERATION_START_1 >= 74
-#    define BOOST_PP_ITERATION_1 74
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 73 && BOOST_PP_ITERATION_START_1 >= 73
-#    define BOOST_PP_ITERATION_1 73
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 72 && BOOST_PP_ITERATION_START_1 >= 72
-#    define BOOST_PP_ITERATION_1 72
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 71 && BOOST_PP_ITERATION_START_1 >= 71
-#    define BOOST_PP_ITERATION_1 71
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 70 && BOOST_PP_ITERATION_START_1 >= 70
-#    define BOOST_PP_ITERATION_1 70
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 69 && BOOST_PP_ITERATION_START_1 >= 69
-#    define BOOST_PP_ITERATION_1 69
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 68 && BOOST_PP_ITERATION_START_1 >= 68
-#    define BOOST_PP_ITERATION_1 68
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 67 && BOOST_PP_ITERATION_START_1 >= 67
-#    define BOOST_PP_ITERATION_1 67
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 66 && BOOST_PP_ITERATION_START_1 >= 66
-#    define BOOST_PP_ITERATION_1 66
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 65 && BOOST_PP_ITERATION_START_1 >= 65
-#    define BOOST_PP_ITERATION_1 65
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 64 && BOOST_PP_ITERATION_START_1 >= 64
-#    define BOOST_PP_ITERATION_1 64
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 63 && BOOST_PP_ITERATION_START_1 >= 63
-#    define BOOST_PP_ITERATION_1 63
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 62 && BOOST_PP_ITERATION_START_1 >= 62
-#    define BOOST_PP_ITERATION_1 62
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 61 && BOOST_PP_ITERATION_START_1 >= 61
-#    define BOOST_PP_ITERATION_1 61
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 60 && BOOST_PP_ITERATION_START_1 >= 60
-#    define BOOST_PP_ITERATION_1 60
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 59 && BOOST_PP_ITERATION_START_1 >= 59
-#    define BOOST_PP_ITERATION_1 59
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 58 && BOOST_PP_ITERATION_START_1 >= 58
-#    define BOOST_PP_ITERATION_1 58
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 57 && BOOST_PP_ITERATION_START_1 >= 57
-#    define BOOST_PP_ITERATION_1 57
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 56 && BOOST_PP_ITERATION_START_1 >= 56
-#    define BOOST_PP_ITERATION_1 56
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 55 && BOOST_PP_ITERATION_START_1 >= 55
-#    define BOOST_PP_ITERATION_1 55
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 54 && BOOST_PP_ITERATION_START_1 >= 54
-#    define BOOST_PP_ITERATION_1 54
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 53 && BOOST_PP_ITERATION_START_1 >= 53
-#    define BOOST_PP_ITERATION_1 53
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 52 && BOOST_PP_ITERATION_START_1 >= 52
-#    define BOOST_PP_ITERATION_1 52
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 51 && BOOST_PP_ITERATION_START_1 >= 51
-#    define BOOST_PP_ITERATION_1 51
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 50 && BOOST_PP_ITERATION_START_1 >= 50
-#    define BOOST_PP_ITERATION_1 50
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 49 && BOOST_PP_ITERATION_START_1 >= 49
-#    define BOOST_PP_ITERATION_1 49
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 48 && BOOST_PP_ITERATION_START_1 >= 48
-#    define BOOST_PP_ITERATION_1 48
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 47 && BOOST_PP_ITERATION_START_1 >= 47
-#    define BOOST_PP_ITERATION_1 47
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 46 && BOOST_PP_ITERATION_START_1 >= 46
-#    define BOOST_PP_ITERATION_1 46
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 45 && BOOST_PP_ITERATION_START_1 >= 45
-#    define BOOST_PP_ITERATION_1 45
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 44 && BOOST_PP_ITERATION_START_1 >= 44
-#    define BOOST_PP_ITERATION_1 44
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 43 && BOOST_PP_ITERATION_START_1 >= 43
-#    define BOOST_PP_ITERATION_1 43
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 42 && BOOST_PP_ITERATION_START_1 >= 42
-#    define BOOST_PP_ITERATION_1 42
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 41 && BOOST_PP_ITERATION_START_1 >= 41
-#    define BOOST_PP_ITERATION_1 41
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 40 && BOOST_PP_ITERATION_START_1 >= 40
-#    define BOOST_PP_ITERATION_1 40
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 39 && BOOST_PP_ITERATION_START_1 >= 39
-#    define BOOST_PP_ITERATION_1 39
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 38 && BOOST_PP_ITERATION_START_1 >= 38
-#    define BOOST_PP_ITERATION_1 38
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 37 && BOOST_PP_ITERATION_START_1 >= 37
-#    define BOOST_PP_ITERATION_1 37
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 36 && BOOST_PP_ITERATION_START_1 >= 36
-#    define BOOST_PP_ITERATION_1 36
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 35 && BOOST_PP_ITERATION_START_1 >= 35
-#    define BOOST_PP_ITERATION_1 35
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 34 && BOOST_PP_ITERATION_START_1 >= 34
-#    define BOOST_PP_ITERATION_1 34
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 33 && BOOST_PP_ITERATION_START_1 >= 33
-#    define BOOST_PP_ITERATION_1 33
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 32 && BOOST_PP_ITERATION_START_1 >= 32
-#    define BOOST_PP_ITERATION_1 32
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 31 && BOOST_PP_ITERATION_START_1 >= 31
-#    define BOOST_PP_ITERATION_1 31
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 30 && BOOST_PP_ITERATION_START_1 >= 30
-#    define BOOST_PP_ITERATION_1 30
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 29 && BOOST_PP_ITERATION_START_1 >= 29
-#    define BOOST_PP_ITERATION_1 29
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 28 && BOOST_PP_ITERATION_START_1 >= 28
-#    define BOOST_PP_ITERATION_1 28
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 27 && BOOST_PP_ITERATION_START_1 >= 27
-#    define BOOST_PP_ITERATION_1 27
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 26 && BOOST_PP_ITERATION_START_1 >= 26
-#    define BOOST_PP_ITERATION_1 26
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 25 && BOOST_PP_ITERATION_START_1 >= 25
-#    define BOOST_PP_ITERATION_1 25
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 24 && BOOST_PP_ITERATION_START_1 >= 24
-#    define BOOST_PP_ITERATION_1 24
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 23 && BOOST_PP_ITERATION_START_1 >= 23
-#    define BOOST_PP_ITERATION_1 23
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 22 && BOOST_PP_ITERATION_START_1 >= 22
-#    define BOOST_PP_ITERATION_1 22
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 21 && BOOST_PP_ITERATION_START_1 >= 21
-#    define BOOST_PP_ITERATION_1 21
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 20 && BOOST_PP_ITERATION_START_1 >= 20
-#    define BOOST_PP_ITERATION_1 20
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 19 && BOOST_PP_ITERATION_START_1 >= 19
-#    define BOOST_PP_ITERATION_1 19
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 18 && BOOST_PP_ITERATION_START_1 >= 18
-#    define BOOST_PP_ITERATION_1 18
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 17 && BOOST_PP_ITERATION_START_1 >= 17
-#    define BOOST_PP_ITERATION_1 17
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 16 && BOOST_PP_ITERATION_START_1 >= 16
-#    define BOOST_PP_ITERATION_1 16
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 15 && BOOST_PP_ITERATION_START_1 >= 15
-#    define BOOST_PP_ITERATION_1 15
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 14 && BOOST_PP_ITERATION_START_1 >= 14
-#    define BOOST_PP_ITERATION_1 14
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 13 && BOOST_PP_ITERATION_START_1 >= 13
-#    define BOOST_PP_ITERATION_1 13
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 12 && BOOST_PP_ITERATION_START_1 >= 12
-#    define BOOST_PP_ITERATION_1 12
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 11 && BOOST_PP_ITERATION_START_1 >= 11
-#    define BOOST_PP_ITERATION_1 11
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 10 && BOOST_PP_ITERATION_START_1 >= 10
-#    define BOOST_PP_ITERATION_1 10
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 9 && BOOST_PP_ITERATION_START_1 >= 9
-#    define BOOST_PP_ITERATION_1 9
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 8 && BOOST_PP_ITERATION_START_1 >= 8
-#    define BOOST_PP_ITERATION_1 8
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 7 && BOOST_PP_ITERATION_START_1 >= 7
-#    define BOOST_PP_ITERATION_1 7
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 6 && BOOST_PP_ITERATION_START_1 >= 6
-#    define BOOST_PP_ITERATION_1 6
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 5 && BOOST_PP_ITERATION_START_1 >= 5
-#    define BOOST_PP_ITERATION_1 5
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 4 && BOOST_PP_ITERATION_START_1 >= 4
-#    define BOOST_PP_ITERATION_1 4
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 3 && BOOST_PP_ITERATION_START_1 >= 3
-#    define BOOST_PP_ITERATION_1 3
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 2 && BOOST_PP_ITERATION_START_1 >= 2
-#    define BOOST_PP_ITERATION_1 2
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 1 && BOOST_PP_ITERATION_START_1 >= 1
-#    define BOOST_PP_ITERATION_1 1
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 0 && BOOST_PP_ITERATION_START_1 >= 0
-#    define BOOST_PP_ITERATION_1 0
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse2.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse2.hpp
deleted file mode 100755
index c784198..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse2.hpp
+++ /dev/null
@@ -1,1296 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if BOOST_PP_ITERATION_FINISH_2 <= 256 && BOOST_PP_ITERATION_START_2 >= 256
-#    define BOOST_PP_ITERATION_2 256
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 255 && BOOST_PP_ITERATION_START_2 >= 255
-#    define BOOST_PP_ITERATION_2 255
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 254 && BOOST_PP_ITERATION_START_2 >= 254
-#    define BOOST_PP_ITERATION_2 254
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 253 && BOOST_PP_ITERATION_START_2 >= 253
-#    define BOOST_PP_ITERATION_2 253
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 252 && BOOST_PP_ITERATION_START_2 >= 252
-#    define BOOST_PP_ITERATION_2 252
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 251 && BOOST_PP_ITERATION_START_2 >= 251
-#    define BOOST_PP_ITERATION_2 251
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 250 && BOOST_PP_ITERATION_START_2 >= 250
-#    define BOOST_PP_ITERATION_2 250
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 249 && BOOST_PP_ITERATION_START_2 >= 249
-#    define BOOST_PP_ITERATION_2 249
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 248 && BOOST_PP_ITERATION_START_2 >= 248
-#    define BOOST_PP_ITERATION_2 248
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 247 && BOOST_PP_ITERATION_START_2 >= 247
-#    define BOOST_PP_ITERATION_2 247
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 246 && BOOST_PP_ITERATION_START_2 >= 246
-#    define BOOST_PP_ITERATION_2 246
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 245 && BOOST_PP_ITERATION_START_2 >= 245
-#    define BOOST_PP_ITERATION_2 245
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 244 && BOOST_PP_ITERATION_START_2 >= 244
-#    define BOOST_PP_ITERATION_2 244
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 243 && BOOST_PP_ITERATION_START_2 >= 243
-#    define BOOST_PP_ITERATION_2 243
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 242 && BOOST_PP_ITERATION_START_2 >= 242
-#    define BOOST_PP_ITERATION_2 242
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 241 && BOOST_PP_ITERATION_START_2 >= 241
-#    define BOOST_PP_ITERATION_2 241
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 240 && BOOST_PP_ITERATION_START_2 >= 240
-#    define BOOST_PP_ITERATION_2 240
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 239 && BOOST_PP_ITERATION_START_2 >= 239
-#    define BOOST_PP_ITERATION_2 239
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 238 && BOOST_PP_ITERATION_START_2 >= 238
-#    define BOOST_PP_ITERATION_2 238
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 237 && BOOST_PP_ITERATION_START_2 >= 237
-#    define BOOST_PP_ITERATION_2 237
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 236 && BOOST_PP_ITERATION_START_2 >= 236
-#    define BOOST_PP_ITERATION_2 236
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 235 && BOOST_PP_ITERATION_START_2 >= 235
-#    define BOOST_PP_ITERATION_2 235
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 234 && BOOST_PP_ITERATION_START_2 >= 234
-#    define BOOST_PP_ITERATION_2 234
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 233 && BOOST_PP_ITERATION_START_2 >= 233
-#    define BOOST_PP_ITERATION_2 233
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 232 && BOOST_PP_ITERATION_START_2 >= 232
-#    define BOOST_PP_ITERATION_2 232
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 231 && BOOST_PP_ITERATION_START_2 >= 231
-#    define BOOST_PP_ITERATION_2 231
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 230 && BOOST_PP_ITERATION_START_2 >= 230
-#    define BOOST_PP_ITERATION_2 230
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 229 && BOOST_PP_ITERATION_START_2 >= 229
-#    define BOOST_PP_ITERATION_2 229
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 228 && BOOST_PP_ITERATION_START_2 >= 228
-#    define BOOST_PP_ITERATION_2 228
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 227 && BOOST_PP_ITERATION_START_2 >= 227
-#    define BOOST_PP_ITERATION_2 227
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 226 && BOOST_PP_ITERATION_START_2 >= 226
-#    define BOOST_PP_ITERATION_2 226
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 225 && BOOST_PP_ITERATION_START_2 >= 225
-#    define BOOST_PP_ITERATION_2 225
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 224 && BOOST_PP_ITERATION_START_2 >= 224
-#    define BOOST_PP_ITERATION_2 224
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 223 && BOOST_PP_ITERATION_START_2 >= 223
-#    define BOOST_PP_ITERATION_2 223
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 222 && BOOST_PP_ITERATION_START_2 >= 222
-#    define BOOST_PP_ITERATION_2 222
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 221 && BOOST_PP_ITERATION_START_2 >= 221
-#    define BOOST_PP_ITERATION_2 221
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 220 && BOOST_PP_ITERATION_START_2 >= 220
-#    define BOOST_PP_ITERATION_2 220
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 219 && BOOST_PP_ITERATION_START_2 >= 219
-#    define BOOST_PP_ITERATION_2 219
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 218 && BOOST_PP_ITERATION_START_2 >= 218
-#    define BOOST_PP_ITERATION_2 218
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 217 && BOOST_PP_ITERATION_START_2 >= 217
-#    define BOOST_PP_ITERATION_2 217
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 216 && BOOST_PP_ITERATION_START_2 >= 216
-#    define BOOST_PP_ITERATION_2 216
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 215 && BOOST_PP_ITERATION_START_2 >= 215
-#    define BOOST_PP_ITERATION_2 215
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 214 && BOOST_PP_ITERATION_START_2 >= 214
-#    define BOOST_PP_ITERATION_2 214
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 213 && BOOST_PP_ITERATION_START_2 >= 213
-#    define BOOST_PP_ITERATION_2 213
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 212 && BOOST_PP_ITERATION_START_2 >= 212
-#    define BOOST_PP_ITERATION_2 212
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 211 && BOOST_PP_ITERATION_START_2 >= 211
-#    define BOOST_PP_ITERATION_2 211
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 210 && BOOST_PP_ITERATION_START_2 >= 210
-#    define BOOST_PP_ITERATION_2 210
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 209 && BOOST_PP_ITERATION_START_2 >= 209
-#    define BOOST_PP_ITERATION_2 209
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 208 && BOOST_PP_ITERATION_START_2 >= 208
-#    define BOOST_PP_ITERATION_2 208
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 207 && BOOST_PP_ITERATION_START_2 >= 207
-#    define BOOST_PP_ITERATION_2 207
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 206 && BOOST_PP_ITERATION_START_2 >= 206
-#    define BOOST_PP_ITERATION_2 206
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 205 && BOOST_PP_ITERATION_START_2 >= 205
-#    define BOOST_PP_ITERATION_2 205
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 204 && BOOST_PP_ITERATION_START_2 >= 204
-#    define BOOST_PP_ITERATION_2 204
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 203 && BOOST_PP_ITERATION_START_2 >= 203
-#    define BOOST_PP_ITERATION_2 203
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 202 && BOOST_PP_ITERATION_START_2 >= 202
-#    define BOOST_PP_ITERATION_2 202
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 201 && BOOST_PP_ITERATION_START_2 >= 201
-#    define BOOST_PP_ITERATION_2 201
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 200 && BOOST_PP_ITERATION_START_2 >= 200
-#    define BOOST_PP_ITERATION_2 200
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 199 && BOOST_PP_ITERATION_START_2 >= 199
-#    define BOOST_PP_ITERATION_2 199
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 198 && BOOST_PP_ITERATION_START_2 >= 198
-#    define BOOST_PP_ITERATION_2 198
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 197 && BOOST_PP_ITERATION_START_2 >= 197
-#    define BOOST_PP_ITERATION_2 197
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 196 && BOOST_PP_ITERATION_START_2 >= 196
-#    define BOOST_PP_ITERATION_2 196
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 195 && BOOST_PP_ITERATION_START_2 >= 195
-#    define BOOST_PP_ITERATION_2 195
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 194 && BOOST_PP_ITERATION_START_2 >= 194
-#    define BOOST_PP_ITERATION_2 194
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 193 && BOOST_PP_ITERATION_START_2 >= 193
-#    define BOOST_PP_ITERATION_2 193
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 192 && BOOST_PP_ITERATION_START_2 >= 192
-#    define BOOST_PP_ITERATION_2 192
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 191 && BOOST_PP_ITERATION_START_2 >= 191
-#    define BOOST_PP_ITERATION_2 191
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 190 && BOOST_PP_ITERATION_START_2 >= 190
-#    define BOOST_PP_ITERATION_2 190
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 189 && BOOST_PP_ITERATION_START_2 >= 189
-#    define BOOST_PP_ITERATION_2 189
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 188 && BOOST_PP_ITERATION_START_2 >= 188
-#    define BOOST_PP_ITERATION_2 188
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 187 && BOOST_PP_ITERATION_START_2 >= 187
-#    define BOOST_PP_ITERATION_2 187
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 186 && BOOST_PP_ITERATION_START_2 >= 186
-#    define BOOST_PP_ITERATION_2 186
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 185 && BOOST_PP_ITERATION_START_2 >= 185
-#    define BOOST_PP_ITERATION_2 185
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 184 && BOOST_PP_ITERATION_START_2 >= 184
-#    define BOOST_PP_ITERATION_2 184
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 183 && BOOST_PP_ITERATION_START_2 >= 183
-#    define BOOST_PP_ITERATION_2 183
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 182 && BOOST_PP_ITERATION_START_2 >= 182
-#    define BOOST_PP_ITERATION_2 182
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 181 && BOOST_PP_ITERATION_START_2 >= 181
-#    define BOOST_PP_ITERATION_2 181
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 180 && BOOST_PP_ITERATION_START_2 >= 180
-#    define BOOST_PP_ITERATION_2 180
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 179 && BOOST_PP_ITERATION_START_2 >= 179
-#    define BOOST_PP_ITERATION_2 179
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 178 && BOOST_PP_ITERATION_START_2 >= 178
-#    define BOOST_PP_ITERATION_2 178
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 177 && BOOST_PP_ITERATION_START_2 >= 177
-#    define BOOST_PP_ITERATION_2 177
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 176 && BOOST_PP_ITERATION_START_2 >= 176
-#    define BOOST_PP_ITERATION_2 176
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 175 && BOOST_PP_ITERATION_START_2 >= 175
-#    define BOOST_PP_ITERATION_2 175
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 174 && BOOST_PP_ITERATION_START_2 >= 174
-#    define BOOST_PP_ITERATION_2 174
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 173 && BOOST_PP_ITERATION_START_2 >= 173
-#    define BOOST_PP_ITERATION_2 173
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 172 && BOOST_PP_ITERATION_START_2 >= 172
-#    define BOOST_PP_ITERATION_2 172
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 171 && BOOST_PP_ITERATION_START_2 >= 171
-#    define BOOST_PP_ITERATION_2 171
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 170 && BOOST_PP_ITERATION_START_2 >= 170
-#    define BOOST_PP_ITERATION_2 170
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 169 && BOOST_PP_ITERATION_START_2 >= 169
-#    define BOOST_PP_ITERATION_2 169
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 168 && BOOST_PP_ITERATION_START_2 >= 168
-#    define BOOST_PP_ITERATION_2 168
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 167 && BOOST_PP_ITERATION_START_2 >= 167
-#    define BOOST_PP_ITERATION_2 167
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 166 && BOOST_PP_ITERATION_START_2 >= 166
-#    define BOOST_PP_ITERATION_2 166
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 165 && BOOST_PP_ITERATION_START_2 >= 165
-#    define BOOST_PP_ITERATION_2 165
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 164 && BOOST_PP_ITERATION_START_2 >= 164
-#    define BOOST_PP_ITERATION_2 164
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 163 && BOOST_PP_ITERATION_START_2 >= 163
-#    define BOOST_PP_ITERATION_2 163
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 162 && BOOST_PP_ITERATION_START_2 >= 162
-#    define BOOST_PP_ITERATION_2 162
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 161 && BOOST_PP_ITERATION_START_2 >= 161
-#    define BOOST_PP_ITERATION_2 161
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 160 && BOOST_PP_ITERATION_START_2 >= 160
-#    define BOOST_PP_ITERATION_2 160
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 159 && BOOST_PP_ITERATION_START_2 >= 159
-#    define BOOST_PP_ITERATION_2 159
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 158 && BOOST_PP_ITERATION_START_2 >= 158
-#    define BOOST_PP_ITERATION_2 158
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 157 && BOOST_PP_ITERATION_START_2 >= 157
-#    define BOOST_PP_ITERATION_2 157
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 156 && BOOST_PP_ITERATION_START_2 >= 156
-#    define BOOST_PP_ITERATION_2 156
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 155 && BOOST_PP_ITERATION_START_2 >= 155
-#    define BOOST_PP_ITERATION_2 155
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 154 && BOOST_PP_ITERATION_START_2 >= 154
-#    define BOOST_PP_ITERATION_2 154
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 153 && BOOST_PP_ITERATION_START_2 >= 153
-#    define BOOST_PP_ITERATION_2 153
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 152 && BOOST_PP_ITERATION_START_2 >= 152
-#    define BOOST_PP_ITERATION_2 152
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 151 && BOOST_PP_ITERATION_START_2 >= 151
-#    define BOOST_PP_ITERATION_2 151
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 150 && BOOST_PP_ITERATION_START_2 >= 150
-#    define BOOST_PP_ITERATION_2 150
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 149 && BOOST_PP_ITERATION_START_2 >= 149
-#    define BOOST_PP_ITERATION_2 149
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 148 && BOOST_PP_ITERATION_START_2 >= 148
-#    define BOOST_PP_ITERATION_2 148
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 147 && BOOST_PP_ITERATION_START_2 >= 147
-#    define BOOST_PP_ITERATION_2 147
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 146 && BOOST_PP_ITERATION_START_2 >= 146
-#    define BOOST_PP_ITERATION_2 146
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 145 && BOOST_PP_ITERATION_START_2 >= 145
-#    define BOOST_PP_ITERATION_2 145
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 144 && BOOST_PP_ITERATION_START_2 >= 144
-#    define BOOST_PP_ITERATION_2 144
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 143 && BOOST_PP_ITERATION_START_2 >= 143
-#    define BOOST_PP_ITERATION_2 143
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 142 && BOOST_PP_ITERATION_START_2 >= 142
-#    define BOOST_PP_ITERATION_2 142
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 141 && BOOST_PP_ITERATION_START_2 >= 141
-#    define BOOST_PP_ITERATION_2 141
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 140 && BOOST_PP_ITERATION_START_2 >= 140
-#    define BOOST_PP_ITERATION_2 140
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 139 && BOOST_PP_ITERATION_START_2 >= 139
-#    define BOOST_PP_ITERATION_2 139
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 138 && BOOST_PP_ITERATION_START_2 >= 138
-#    define BOOST_PP_ITERATION_2 138
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 137 && BOOST_PP_ITERATION_START_2 >= 137
-#    define BOOST_PP_ITERATION_2 137
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 136 && BOOST_PP_ITERATION_START_2 >= 136
-#    define BOOST_PP_ITERATION_2 136
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 135 && BOOST_PP_ITERATION_START_2 >= 135
-#    define BOOST_PP_ITERATION_2 135
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 134 && BOOST_PP_ITERATION_START_2 >= 134
-#    define BOOST_PP_ITERATION_2 134
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 133 && BOOST_PP_ITERATION_START_2 >= 133
-#    define BOOST_PP_ITERATION_2 133
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 132 && BOOST_PP_ITERATION_START_2 >= 132
-#    define BOOST_PP_ITERATION_2 132
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 131 && BOOST_PP_ITERATION_START_2 >= 131
-#    define BOOST_PP_ITERATION_2 131
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 130 && BOOST_PP_ITERATION_START_2 >= 130
-#    define BOOST_PP_ITERATION_2 130
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 129 && BOOST_PP_ITERATION_START_2 >= 129
-#    define BOOST_PP_ITERATION_2 129
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 128 && BOOST_PP_ITERATION_START_2 >= 128
-#    define BOOST_PP_ITERATION_2 128
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 127 && BOOST_PP_ITERATION_START_2 >= 127
-#    define BOOST_PP_ITERATION_2 127
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 126 && BOOST_PP_ITERATION_START_2 >= 126
-#    define BOOST_PP_ITERATION_2 126
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 125 && BOOST_PP_ITERATION_START_2 >= 125
-#    define BOOST_PP_ITERATION_2 125
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 124 && BOOST_PP_ITERATION_START_2 >= 124
-#    define BOOST_PP_ITERATION_2 124
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 123 && BOOST_PP_ITERATION_START_2 >= 123
-#    define BOOST_PP_ITERATION_2 123
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 122 && BOOST_PP_ITERATION_START_2 >= 122
-#    define BOOST_PP_ITERATION_2 122
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 121 && BOOST_PP_ITERATION_START_2 >= 121
-#    define BOOST_PP_ITERATION_2 121
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 120 && BOOST_PP_ITERATION_START_2 >= 120
-#    define BOOST_PP_ITERATION_2 120
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 119 && BOOST_PP_ITERATION_START_2 >= 119
-#    define BOOST_PP_ITERATION_2 119
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 118 && BOOST_PP_ITERATION_START_2 >= 118
-#    define BOOST_PP_ITERATION_2 118
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 117 && BOOST_PP_ITERATION_START_2 >= 117
-#    define BOOST_PP_ITERATION_2 117
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 116 && BOOST_PP_ITERATION_START_2 >= 116
-#    define BOOST_PP_ITERATION_2 116
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 115 && BOOST_PP_ITERATION_START_2 >= 115
-#    define BOOST_PP_ITERATION_2 115
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 114 && BOOST_PP_ITERATION_START_2 >= 114
-#    define BOOST_PP_ITERATION_2 114
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 113 && BOOST_PP_ITERATION_START_2 >= 113
-#    define BOOST_PP_ITERATION_2 113
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 112 && BOOST_PP_ITERATION_START_2 >= 112
-#    define BOOST_PP_ITERATION_2 112
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 111 && BOOST_PP_ITERATION_START_2 >= 111
-#    define BOOST_PP_ITERATION_2 111
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 110 && BOOST_PP_ITERATION_START_2 >= 110
-#    define BOOST_PP_ITERATION_2 110
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 109 && BOOST_PP_ITERATION_START_2 >= 109
-#    define BOOST_PP_ITERATION_2 109
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 108 && BOOST_PP_ITERATION_START_2 >= 108
-#    define BOOST_PP_ITERATION_2 108
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 107 && BOOST_PP_ITERATION_START_2 >= 107
-#    define BOOST_PP_ITERATION_2 107
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 106 && BOOST_PP_ITERATION_START_2 >= 106
-#    define BOOST_PP_ITERATION_2 106
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 105 && BOOST_PP_ITERATION_START_2 >= 105
-#    define BOOST_PP_ITERATION_2 105
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 104 && BOOST_PP_ITERATION_START_2 >= 104
-#    define BOOST_PP_ITERATION_2 104
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 103 && BOOST_PP_ITERATION_START_2 >= 103
-#    define BOOST_PP_ITERATION_2 103
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 102 && BOOST_PP_ITERATION_START_2 >= 102
-#    define BOOST_PP_ITERATION_2 102
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 101 && BOOST_PP_ITERATION_START_2 >= 101
-#    define BOOST_PP_ITERATION_2 101
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 100 && BOOST_PP_ITERATION_START_2 >= 100
-#    define BOOST_PP_ITERATION_2 100
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 99 && BOOST_PP_ITERATION_START_2 >= 99
-#    define BOOST_PP_ITERATION_2 99
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 98 && BOOST_PP_ITERATION_START_2 >= 98
-#    define BOOST_PP_ITERATION_2 98
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 97 && BOOST_PP_ITERATION_START_2 >= 97
-#    define BOOST_PP_ITERATION_2 97
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 96 && BOOST_PP_ITERATION_START_2 >= 96
-#    define BOOST_PP_ITERATION_2 96
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 95 && BOOST_PP_ITERATION_START_2 >= 95
-#    define BOOST_PP_ITERATION_2 95
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 94 && BOOST_PP_ITERATION_START_2 >= 94
-#    define BOOST_PP_ITERATION_2 94
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 93 && BOOST_PP_ITERATION_START_2 >= 93
-#    define BOOST_PP_ITERATION_2 93
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 92 && BOOST_PP_ITERATION_START_2 >= 92
-#    define BOOST_PP_ITERATION_2 92
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 91 && BOOST_PP_ITERATION_START_2 >= 91
-#    define BOOST_PP_ITERATION_2 91
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 90 && BOOST_PP_ITERATION_START_2 >= 90
-#    define BOOST_PP_ITERATION_2 90
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 89 && BOOST_PP_ITERATION_START_2 >= 89
-#    define BOOST_PP_ITERATION_2 89
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 88 && BOOST_PP_ITERATION_START_2 >= 88
-#    define BOOST_PP_ITERATION_2 88
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 87 && BOOST_PP_ITERATION_START_2 >= 87
-#    define BOOST_PP_ITERATION_2 87
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 86 && BOOST_PP_ITERATION_START_2 >= 86
-#    define BOOST_PP_ITERATION_2 86
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 85 && BOOST_PP_ITERATION_START_2 >= 85
-#    define BOOST_PP_ITERATION_2 85
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 84 && BOOST_PP_ITERATION_START_2 >= 84
-#    define BOOST_PP_ITERATION_2 84
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 83 && BOOST_PP_ITERATION_START_2 >= 83
-#    define BOOST_PP_ITERATION_2 83
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 82 && BOOST_PP_ITERATION_START_2 >= 82
-#    define BOOST_PP_ITERATION_2 82
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 81 && BOOST_PP_ITERATION_START_2 >= 81
-#    define BOOST_PP_ITERATION_2 81
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 80 && BOOST_PP_ITERATION_START_2 >= 80
-#    define BOOST_PP_ITERATION_2 80
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 79 && BOOST_PP_ITERATION_START_2 >= 79
-#    define BOOST_PP_ITERATION_2 79
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 78 && BOOST_PP_ITERATION_START_2 >= 78
-#    define BOOST_PP_ITERATION_2 78
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 77 && BOOST_PP_ITERATION_START_2 >= 77
-#    define BOOST_PP_ITERATION_2 77
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 76 && BOOST_PP_ITERATION_START_2 >= 76
-#    define BOOST_PP_ITERATION_2 76
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 75 && BOOST_PP_ITERATION_START_2 >= 75
-#    define BOOST_PP_ITERATION_2 75
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 74 && BOOST_PP_ITERATION_START_2 >= 74
-#    define BOOST_PP_ITERATION_2 74
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 73 && BOOST_PP_ITERATION_START_2 >= 73
-#    define BOOST_PP_ITERATION_2 73
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 72 && BOOST_PP_ITERATION_START_2 >= 72
-#    define BOOST_PP_ITERATION_2 72
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 71 && BOOST_PP_ITERATION_START_2 >= 71
-#    define BOOST_PP_ITERATION_2 71
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 70 && BOOST_PP_ITERATION_START_2 >= 70
-#    define BOOST_PP_ITERATION_2 70
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 69 && BOOST_PP_ITERATION_START_2 >= 69
-#    define BOOST_PP_ITERATION_2 69
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 68 && BOOST_PP_ITERATION_START_2 >= 68
-#    define BOOST_PP_ITERATION_2 68
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 67 && BOOST_PP_ITERATION_START_2 >= 67
-#    define BOOST_PP_ITERATION_2 67
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 66 && BOOST_PP_ITERATION_START_2 >= 66
-#    define BOOST_PP_ITERATION_2 66
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 65 && BOOST_PP_ITERATION_START_2 >= 65
-#    define BOOST_PP_ITERATION_2 65
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 64 && BOOST_PP_ITERATION_START_2 >= 64
-#    define BOOST_PP_ITERATION_2 64
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 63 && BOOST_PP_ITERATION_START_2 >= 63
-#    define BOOST_PP_ITERATION_2 63
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 62 && BOOST_PP_ITERATION_START_2 >= 62
-#    define BOOST_PP_ITERATION_2 62
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 61 && BOOST_PP_ITERATION_START_2 >= 61
-#    define BOOST_PP_ITERATION_2 61
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 60 && BOOST_PP_ITERATION_START_2 >= 60
-#    define BOOST_PP_ITERATION_2 60
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 59 && BOOST_PP_ITERATION_START_2 >= 59
-#    define BOOST_PP_ITERATION_2 59
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 58 && BOOST_PP_ITERATION_START_2 >= 58
-#    define BOOST_PP_ITERATION_2 58
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 57 && BOOST_PP_ITERATION_START_2 >= 57
-#    define BOOST_PP_ITERATION_2 57
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 56 && BOOST_PP_ITERATION_START_2 >= 56
-#    define BOOST_PP_ITERATION_2 56
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 55 && BOOST_PP_ITERATION_START_2 >= 55
-#    define BOOST_PP_ITERATION_2 55
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 54 && BOOST_PP_ITERATION_START_2 >= 54
-#    define BOOST_PP_ITERATION_2 54
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 53 && BOOST_PP_ITERATION_START_2 >= 53
-#    define BOOST_PP_ITERATION_2 53
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 52 && BOOST_PP_ITERATION_START_2 >= 52
-#    define BOOST_PP_ITERATION_2 52
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 51 && BOOST_PP_ITERATION_START_2 >= 51
-#    define BOOST_PP_ITERATION_2 51
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 50 && BOOST_PP_ITERATION_START_2 >= 50
-#    define BOOST_PP_ITERATION_2 50
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 49 && BOOST_PP_ITERATION_START_2 >= 49
-#    define BOOST_PP_ITERATION_2 49
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 48 && BOOST_PP_ITERATION_START_2 >= 48
-#    define BOOST_PP_ITERATION_2 48
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 47 && BOOST_PP_ITERATION_START_2 >= 47
-#    define BOOST_PP_ITERATION_2 47
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 46 && BOOST_PP_ITERATION_START_2 >= 46
-#    define BOOST_PP_ITERATION_2 46
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 45 && BOOST_PP_ITERATION_START_2 >= 45
-#    define BOOST_PP_ITERATION_2 45
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 44 && BOOST_PP_ITERATION_START_2 >= 44
-#    define BOOST_PP_ITERATION_2 44
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 43 && BOOST_PP_ITERATION_START_2 >= 43
-#    define BOOST_PP_ITERATION_2 43
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 42 && BOOST_PP_ITERATION_START_2 >= 42
-#    define BOOST_PP_ITERATION_2 42
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 41 && BOOST_PP_ITERATION_START_2 >= 41
-#    define BOOST_PP_ITERATION_2 41
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 40 && BOOST_PP_ITERATION_START_2 >= 40
-#    define BOOST_PP_ITERATION_2 40
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 39 && BOOST_PP_ITERATION_START_2 >= 39
-#    define BOOST_PP_ITERATION_2 39
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 38 && BOOST_PP_ITERATION_START_2 >= 38
-#    define BOOST_PP_ITERATION_2 38
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 37 && BOOST_PP_ITERATION_START_2 >= 37
-#    define BOOST_PP_ITERATION_2 37
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 36 && BOOST_PP_ITERATION_START_2 >= 36
-#    define BOOST_PP_ITERATION_2 36
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 35 && BOOST_PP_ITERATION_START_2 >= 35
-#    define BOOST_PP_ITERATION_2 35
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 34 && BOOST_PP_ITERATION_START_2 >= 34
-#    define BOOST_PP_ITERATION_2 34
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 33 && BOOST_PP_ITERATION_START_2 >= 33
-#    define BOOST_PP_ITERATION_2 33
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 32 && BOOST_PP_ITERATION_START_2 >= 32
-#    define BOOST_PP_ITERATION_2 32
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 31 && BOOST_PP_ITERATION_START_2 >= 31
-#    define BOOST_PP_ITERATION_2 31
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 30 && BOOST_PP_ITERATION_START_2 >= 30
-#    define BOOST_PP_ITERATION_2 30
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 29 && BOOST_PP_ITERATION_START_2 >= 29
-#    define BOOST_PP_ITERATION_2 29
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 28 && BOOST_PP_ITERATION_START_2 >= 28
-#    define BOOST_PP_ITERATION_2 28
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 27 && BOOST_PP_ITERATION_START_2 >= 27
-#    define BOOST_PP_ITERATION_2 27
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 26 && BOOST_PP_ITERATION_START_2 >= 26
-#    define BOOST_PP_ITERATION_2 26
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 25 && BOOST_PP_ITERATION_START_2 >= 25
-#    define BOOST_PP_ITERATION_2 25
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 24 && BOOST_PP_ITERATION_START_2 >= 24
-#    define BOOST_PP_ITERATION_2 24
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 23 && BOOST_PP_ITERATION_START_2 >= 23
-#    define BOOST_PP_ITERATION_2 23
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 22 && BOOST_PP_ITERATION_START_2 >= 22
-#    define BOOST_PP_ITERATION_2 22
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 21 && BOOST_PP_ITERATION_START_2 >= 21
-#    define BOOST_PP_ITERATION_2 21
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 20 && BOOST_PP_ITERATION_START_2 >= 20
-#    define BOOST_PP_ITERATION_2 20
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 19 && BOOST_PP_ITERATION_START_2 >= 19
-#    define BOOST_PP_ITERATION_2 19
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 18 && BOOST_PP_ITERATION_START_2 >= 18
-#    define BOOST_PP_ITERATION_2 18
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 17 && BOOST_PP_ITERATION_START_2 >= 17
-#    define BOOST_PP_ITERATION_2 17
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 16 && BOOST_PP_ITERATION_START_2 >= 16
-#    define BOOST_PP_ITERATION_2 16
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 15 && BOOST_PP_ITERATION_START_2 >= 15
-#    define BOOST_PP_ITERATION_2 15
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 14 && BOOST_PP_ITERATION_START_2 >= 14
-#    define BOOST_PP_ITERATION_2 14
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 13 && BOOST_PP_ITERATION_START_2 >= 13
-#    define BOOST_PP_ITERATION_2 13
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 12 && BOOST_PP_ITERATION_START_2 >= 12
-#    define BOOST_PP_ITERATION_2 12
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 11 && BOOST_PP_ITERATION_START_2 >= 11
-#    define BOOST_PP_ITERATION_2 11
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 10 && BOOST_PP_ITERATION_START_2 >= 10
-#    define BOOST_PP_ITERATION_2 10
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 9 && BOOST_PP_ITERATION_START_2 >= 9
-#    define BOOST_PP_ITERATION_2 9
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 8 && BOOST_PP_ITERATION_START_2 >= 8
-#    define BOOST_PP_ITERATION_2 8
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 7 && BOOST_PP_ITERATION_START_2 >= 7
-#    define BOOST_PP_ITERATION_2 7
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 6 && BOOST_PP_ITERATION_START_2 >= 6
-#    define BOOST_PP_ITERATION_2 6
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 5 && BOOST_PP_ITERATION_START_2 >= 5
-#    define BOOST_PP_ITERATION_2 5
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 4 && BOOST_PP_ITERATION_START_2 >= 4
-#    define BOOST_PP_ITERATION_2 4
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 3 && BOOST_PP_ITERATION_START_2 >= 3
-#    define BOOST_PP_ITERATION_2 3
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 2 && BOOST_PP_ITERATION_START_2 >= 2
-#    define BOOST_PP_ITERATION_2 2
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 1 && BOOST_PP_ITERATION_START_2 >= 1
-#    define BOOST_PP_ITERATION_2 1
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 0 && BOOST_PP_ITERATION_START_2 >= 0
-#    define BOOST_PP_ITERATION_2 0
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse3.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse3.hpp
deleted file mode 100755
index 189f77c..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse3.hpp
+++ /dev/null
@@ -1,1296 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if BOOST_PP_ITERATION_FINISH_3 <= 256 && BOOST_PP_ITERATION_START_3 >= 256
-#    define BOOST_PP_ITERATION_3 256
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 255 && BOOST_PP_ITERATION_START_3 >= 255
-#    define BOOST_PP_ITERATION_3 255
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 254 && BOOST_PP_ITERATION_START_3 >= 254
-#    define BOOST_PP_ITERATION_3 254
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 253 && BOOST_PP_ITERATION_START_3 >= 253
-#    define BOOST_PP_ITERATION_3 253
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 252 && BOOST_PP_ITERATION_START_3 >= 252
-#    define BOOST_PP_ITERATION_3 252
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 251 && BOOST_PP_ITERATION_START_3 >= 251
-#    define BOOST_PP_ITERATION_3 251
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 250 && BOOST_PP_ITERATION_START_3 >= 250
-#    define BOOST_PP_ITERATION_3 250
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 249 && BOOST_PP_ITERATION_START_3 >= 249
-#    define BOOST_PP_ITERATION_3 249
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 248 && BOOST_PP_ITERATION_START_3 >= 248
-#    define BOOST_PP_ITERATION_3 248
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 247 && BOOST_PP_ITERATION_START_3 >= 247
-#    define BOOST_PP_ITERATION_3 247
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 246 && BOOST_PP_ITERATION_START_3 >= 246
-#    define BOOST_PP_ITERATION_3 246
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 245 && BOOST_PP_ITERATION_START_3 >= 245
-#    define BOOST_PP_ITERATION_3 245
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 244 && BOOST_PP_ITERATION_START_3 >= 244
-#    define BOOST_PP_ITERATION_3 244
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 243 && BOOST_PP_ITERATION_START_3 >= 243
-#    define BOOST_PP_ITERATION_3 243
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 242 && BOOST_PP_ITERATION_START_3 >= 242
-#    define BOOST_PP_ITERATION_3 242
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 241 && BOOST_PP_ITERATION_START_3 >= 241
-#    define BOOST_PP_ITERATION_3 241
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 240 && BOOST_PP_ITERATION_START_3 >= 240
-#    define BOOST_PP_ITERATION_3 240
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 239 && BOOST_PP_ITERATION_START_3 >= 239
-#    define BOOST_PP_ITERATION_3 239
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 238 && BOOST_PP_ITERATION_START_3 >= 238
-#    define BOOST_PP_ITERATION_3 238
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 237 && BOOST_PP_ITERATION_START_3 >= 237
-#    define BOOST_PP_ITERATION_3 237
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 236 && BOOST_PP_ITERATION_START_3 >= 236
-#    define BOOST_PP_ITERATION_3 236
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 235 && BOOST_PP_ITERATION_START_3 >= 235
-#    define BOOST_PP_ITERATION_3 235
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 234 && BOOST_PP_ITERATION_START_3 >= 234
-#    define BOOST_PP_ITERATION_3 234
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 233 && BOOST_PP_ITERATION_START_3 >= 233
-#    define BOOST_PP_ITERATION_3 233
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 232 && BOOST_PP_ITERATION_START_3 >= 232
-#    define BOOST_PP_ITERATION_3 232
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 231 && BOOST_PP_ITERATION_START_3 >= 231
-#    define BOOST_PP_ITERATION_3 231
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 230 && BOOST_PP_ITERATION_START_3 >= 230
-#    define BOOST_PP_ITERATION_3 230
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 229 && BOOST_PP_ITERATION_START_3 >= 229
-#    define BOOST_PP_ITERATION_3 229
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 228 && BOOST_PP_ITERATION_START_3 >= 228
-#    define BOOST_PP_ITERATION_3 228
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 227 && BOOST_PP_ITERATION_START_3 >= 227
-#    define BOOST_PP_ITERATION_3 227
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 226 && BOOST_PP_ITERATION_START_3 >= 226
-#    define BOOST_PP_ITERATION_3 226
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 225 && BOOST_PP_ITERATION_START_3 >= 225
-#    define BOOST_PP_ITERATION_3 225
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 224 && BOOST_PP_ITERATION_START_3 >= 224
-#    define BOOST_PP_ITERATION_3 224
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 223 && BOOST_PP_ITERATION_START_3 >= 223
-#    define BOOST_PP_ITERATION_3 223
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 222 && BOOST_PP_ITERATION_START_3 >= 222
-#    define BOOST_PP_ITERATION_3 222
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 221 && BOOST_PP_ITERATION_START_3 >= 221
-#    define BOOST_PP_ITERATION_3 221
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 220 && BOOST_PP_ITERATION_START_3 >= 220
-#    define BOOST_PP_ITERATION_3 220
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 219 && BOOST_PP_ITERATION_START_3 >= 219
-#    define BOOST_PP_ITERATION_3 219
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 218 && BOOST_PP_ITERATION_START_3 >= 218
-#    define BOOST_PP_ITERATION_3 218
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 217 && BOOST_PP_ITERATION_START_3 >= 217
-#    define BOOST_PP_ITERATION_3 217
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 216 && BOOST_PP_ITERATION_START_3 >= 216
-#    define BOOST_PP_ITERATION_3 216
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 215 && BOOST_PP_ITERATION_START_3 >= 215
-#    define BOOST_PP_ITERATION_3 215
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 214 && BOOST_PP_ITERATION_START_3 >= 214
-#    define BOOST_PP_ITERATION_3 214
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 213 && BOOST_PP_ITERATION_START_3 >= 213
-#    define BOOST_PP_ITERATION_3 213
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 212 && BOOST_PP_ITERATION_START_3 >= 212
-#    define BOOST_PP_ITERATION_3 212
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 211 && BOOST_PP_ITERATION_START_3 >= 211
-#    define BOOST_PP_ITERATION_3 211
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 210 && BOOST_PP_ITERATION_START_3 >= 210
-#    define BOOST_PP_ITERATION_3 210
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 209 && BOOST_PP_ITERATION_START_3 >= 209
-#    define BOOST_PP_ITERATION_3 209
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 208 && BOOST_PP_ITERATION_START_3 >= 208
-#    define BOOST_PP_ITERATION_3 208
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 207 && BOOST_PP_ITERATION_START_3 >= 207
-#    define BOOST_PP_ITERATION_3 207
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 206 && BOOST_PP_ITERATION_START_3 >= 206
-#    define BOOST_PP_ITERATION_3 206
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 205 && BOOST_PP_ITERATION_START_3 >= 205
-#    define BOOST_PP_ITERATION_3 205
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 204 && BOOST_PP_ITERATION_START_3 >= 204
-#    define BOOST_PP_ITERATION_3 204
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 203 && BOOST_PP_ITERATION_START_3 >= 203
-#    define BOOST_PP_ITERATION_3 203
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 202 && BOOST_PP_ITERATION_START_3 >= 202
-#    define BOOST_PP_ITERATION_3 202
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 201 && BOOST_PP_ITERATION_START_3 >= 201
-#    define BOOST_PP_ITERATION_3 201
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 200 && BOOST_PP_ITERATION_START_3 >= 200
-#    define BOOST_PP_ITERATION_3 200
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 199 && BOOST_PP_ITERATION_START_3 >= 199
-#    define BOOST_PP_ITERATION_3 199
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 198 && BOOST_PP_ITERATION_START_3 >= 198
-#    define BOOST_PP_ITERATION_3 198
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 197 && BOOST_PP_ITERATION_START_3 >= 197
-#    define BOOST_PP_ITERATION_3 197
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 196 && BOOST_PP_ITERATION_START_3 >= 196
-#    define BOOST_PP_ITERATION_3 196
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 195 && BOOST_PP_ITERATION_START_3 >= 195
-#    define BOOST_PP_ITERATION_3 195
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 194 && BOOST_PP_ITERATION_START_3 >= 194
-#    define BOOST_PP_ITERATION_3 194
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 193 && BOOST_PP_ITERATION_START_3 >= 193
-#    define BOOST_PP_ITERATION_3 193
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 192 && BOOST_PP_ITERATION_START_3 >= 192
-#    define BOOST_PP_ITERATION_3 192
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 191 && BOOST_PP_ITERATION_START_3 >= 191
-#    define BOOST_PP_ITERATION_3 191
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 190 && BOOST_PP_ITERATION_START_3 >= 190
-#    define BOOST_PP_ITERATION_3 190
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 189 && BOOST_PP_ITERATION_START_3 >= 189
-#    define BOOST_PP_ITERATION_3 189
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 188 && BOOST_PP_ITERATION_START_3 >= 188
-#    define BOOST_PP_ITERATION_3 188
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 187 && BOOST_PP_ITERATION_START_3 >= 187
-#    define BOOST_PP_ITERATION_3 187
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 186 && BOOST_PP_ITERATION_START_3 >= 186
-#    define BOOST_PP_ITERATION_3 186
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 185 && BOOST_PP_ITERATION_START_3 >= 185
-#    define BOOST_PP_ITERATION_3 185
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 184 && BOOST_PP_ITERATION_START_3 >= 184
-#    define BOOST_PP_ITERATION_3 184
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 183 && BOOST_PP_ITERATION_START_3 >= 183
-#    define BOOST_PP_ITERATION_3 183
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 182 && BOOST_PP_ITERATION_START_3 >= 182
-#    define BOOST_PP_ITERATION_3 182
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 181 && BOOST_PP_ITERATION_START_3 >= 181
-#    define BOOST_PP_ITERATION_3 181
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 180 && BOOST_PP_ITERATION_START_3 >= 180
-#    define BOOST_PP_ITERATION_3 180
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 179 && BOOST_PP_ITERATION_START_3 >= 179
-#    define BOOST_PP_ITERATION_3 179
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 178 && BOOST_PP_ITERATION_START_3 >= 178
-#    define BOOST_PP_ITERATION_3 178
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 177 && BOOST_PP_ITERATION_START_3 >= 177
-#    define BOOST_PP_ITERATION_3 177
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 176 && BOOST_PP_ITERATION_START_3 >= 176
-#    define BOOST_PP_ITERATION_3 176
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 175 && BOOST_PP_ITERATION_START_3 >= 175
-#    define BOOST_PP_ITERATION_3 175
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 174 && BOOST_PP_ITERATION_START_3 >= 174
-#    define BOOST_PP_ITERATION_3 174
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 173 && BOOST_PP_ITERATION_START_3 >= 173
-#    define BOOST_PP_ITERATION_3 173
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 172 && BOOST_PP_ITERATION_START_3 >= 172
-#    define BOOST_PP_ITERATION_3 172
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 171 && BOOST_PP_ITERATION_START_3 >= 171
-#    define BOOST_PP_ITERATION_3 171
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 170 && BOOST_PP_ITERATION_START_3 >= 170
-#    define BOOST_PP_ITERATION_3 170
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 169 && BOOST_PP_ITERATION_START_3 >= 169
-#    define BOOST_PP_ITERATION_3 169
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 168 && BOOST_PP_ITERATION_START_3 >= 168
-#    define BOOST_PP_ITERATION_3 168
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 167 && BOOST_PP_ITERATION_START_3 >= 167
-#    define BOOST_PP_ITERATION_3 167
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 166 && BOOST_PP_ITERATION_START_3 >= 166
-#    define BOOST_PP_ITERATION_3 166
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 165 && BOOST_PP_ITERATION_START_3 >= 165
-#    define BOOST_PP_ITERATION_3 165
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 164 && BOOST_PP_ITERATION_START_3 >= 164
-#    define BOOST_PP_ITERATION_3 164
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 163 && BOOST_PP_ITERATION_START_3 >= 163
-#    define BOOST_PP_ITERATION_3 163
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 162 && BOOST_PP_ITERATION_START_3 >= 162
-#    define BOOST_PP_ITERATION_3 162
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 161 && BOOST_PP_ITERATION_START_3 >= 161
-#    define BOOST_PP_ITERATION_3 161
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 160 && BOOST_PP_ITERATION_START_3 >= 160
-#    define BOOST_PP_ITERATION_3 160
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 159 && BOOST_PP_ITERATION_START_3 >= 159
-#    define BOOST_PP_ITERATION_3 159
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 158 && BOOST_PP_ITERATION_START_3 >= 158
-#    define BOOST_PP_ITERATION_3 158
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 157 && BOOST_PP_ITERATION_START_3 >= 157
-#    define BOOST_PP_ITERATION_3 157
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 156 && BOOST_PP_ITERATION_START_3 >= 156
-#    define BOOST_PP_ITERATION_3 156
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 155 && BOOST_PP_ITERATION_START_3 >= 155
-#    define BOOST_PP_ITERATION_3 155
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 154 && BOOST_PP_ITERATION_START_3 >= 154
-#    define BOOST_PP_ITERATION_3 154
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 153 && BOOST_PP_ITERATION_START_3 >= 153
-#    define BOOST_PP_ITERATION_3 153
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 152 && BOOST_PP_ITERATION_START_3 >= 152
-#    define BOOST_PP_ITERATION_3 152
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 151 && BOOST_PP_ITERATION_START_3 >= 151
-#    define BOOST_PP_ITERATION_3 151
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 150 && BOOST_PP_ITERATION_START_3 >= 150
-#    define BOOST_PP_ITERATION_3 150
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 149 && BOOST_PP_ITERATION_START_3 >= 149
-#    define BOOST_PP_ITERATION_3 149
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 148 && BOOST_PP_ITERATION_START_3 >= 148
-#    define BOOST_PP_ITERATION_3 148
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 147 && BOOST_PP_ITERATION_START_3 >= 147
-#    define BOOST_PP_ITERATION_3 147
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 146 && BOOST_PP_ITERATION_START_3 >= 146
-#    define BOOST_PP_ITERATION_3 146
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 145 && BOOST_PP_ITERATION_START_3 >= 145
-#    define BOOST_PP_ITERATION_3 145
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 144 && BOOST_PP_ITERATION_START_3 >= 144
-#    define BOOST_PP_ITERATION_3 144
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 143 && BOOST_PP_ITERATION_START_3 >= 143
-#    define BOOST_PP_ITERATION_3 143
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 142 && BOOST_PP_ITERATION_START_3 >= 142
-#    define BOOST_PP_ITERATION_3 142
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 141 && BOOST_PP_ITERATION_START_3 >= 141
-#    define BOOST_PP_ITERATION_3 141
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 140 && BOOST_PP_ITERATION_START_3 >= 140
-#    define BOOST_PP_ITERATION_3 140
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 139 && BOOST_PP_ITERATION_START_3 >= 139
-#    define BOOST_PP_ITERATION_3 139
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 138 && BOOST_PP_ITERATION_START_3 >= 138
-#    define BOOST_PP_ITERATION_3 138
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 137 && BOOST_PP_ITERATION_START_3 >= 137
-#    define BOOST_PP_ITERATION_3 137
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 136 && BOOST_PP_ITERATION_START_3 >= 136
-#    define BOOST_PP_ITERATION_3 136
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 135 && BOOST_PP_ITERATION_START_3 >= 135
-#    define BOOST_PP_ITERATION_3 135
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 134 && BOOST_PP_ITERATION_START_3 >= 134
-#    define BOOST_PP_ITERATION_3 134
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 133 && BOOST_PP_ITERATION_START_3 >= 133
-#    define BOOST_PP_ITERATION_3 133
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 132 && BOOST_PP_ITERATION_START_3 >= 132
-#    define BOOST_PP_ITERATION_3 132
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 131 && BOOST_PP_ITERATION_START_3 >= 131
-#    define BOOST_PP_ITERATION_3 131
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 130 && BOOST_PP_ITERATION_START_3 >= 130
-#    define BOOST_PP_ITERATION_3 130
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 129 && BOOST_PP_ITERATION_START_3 >= 129
-#    define BOOST_PP_ITERATION_3 129
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 128 && BOOST_PP_ITERATION_START_3 >= 128
-#    define BOOST_PP_ITERATION_3 128
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 127 && BOOST_PP_ITERATION_START_3 >= 127
-#    define BOOST_PP_ITERATION_3 127
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 126 && BOOST_PP_ITERATION_START_3 >= 126
-#    define BOOST_PP_ITERATION_3 126
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 125 && BOOST_PP_ITERATION_START_3 >= 125
-#    define BOOST_PP_ITERATION_3 125
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 124 && BOOST_PP_ITERATION_START_3 >= 124
-#    define BOOST_PP_ITERATION_3 124
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 123 && BOOST_PP_ITERATION_START_3 >= 123
-#    define BOOST_PP_ITERATION_3 123
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 122 && BOOST_PP_ITERATION_START_3 >= 122
-#    define BOOST_PP_ITERATION_3 122
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 121 && BOOST_PP_ITERATION_START_3 >= 121
-#    define BOOST_PP_ITERATION_3 121
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 120 && BOOST_PP_ITERATION_START_3 >= 120
-#    define BOOST_PP_ITERATION_3 120
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 119 && BOOST_PP_ITERATION_START_3 >= 119
-#    define BOOST_PP_ITERATION_3 119
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 118 && BOOST_PP_ITERATION_START_3 >= 118
-#    define BOOST_PP_ITERATION_3 118
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 117 && BOOST_PP_ITERATION_START_3 >= 117
-#    define BOOST_PP_ITERATION_3 117
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 116 && BOOST_PP_ITERATION_START_3 >= 116
-#    define BOOST_PP_ITERATION_3 116
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 115 && BOOST_PP_ITERATION_START_3 >= 115
-#    define BOOST_PP_ITERATION_3 115
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 114 && BOOST_PP_ITERATION_START_3 >= 114
-#    define BOOST_PP_ITERATION_3 114
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 113 && BOOST_PP_ITERATION_START_3 >= 113
-#    define BOOST_PP_ITERATION_3 113
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 112 && BOOST_PP_ITERATION_START_3 >= 112
-#    define BOOST_PP_ITERATION_3 112
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 111 && BOOST_PP_ITERATION_START_3 >= 111
-#    define BOOST_PP_ITERATION_3 111
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 110 && BOOST_PP_ITERATION_START_3 >= 110
-#    define BOOST_PP_ITERATION_3 110
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 109 && BOOST_PP_ITERATION_START_3 >= 109
-#    define BOOST_PP_ITERATION_3 109
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 108 && BOOST_PP_ITERATION_START_3 >= 108
-#    define BOOST_PP_ITERATION_3 108
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 107 && BOOST_PP_ITERATION_START_3 >= 107
-#    define BOOST_PP_ITERATION_3 107
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 106 && BOOST_PP_ITERATION_START_3 >= 106
-#    define BOOST_PP_ITERATION_3 106
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 105 && BOOST_PP_ITERATION_START_3 >= 105
-#    define BOOST_PP_ITERATION_3 105
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 104 && BOOST_PP_ITERATION_START_3 >= 104
-#    define BOOST_PP_ITERATION_3 104
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 103 && BOOST_PP_ITERATION_START_3 >= 103
-#    define BOOST_PP_ITERATION_3 103
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 102 && BOOST_PP_ITERATION_START_3 >= 102
-#    define BOOST_PP_ITERATION_3 102
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 101 && BOOST_PP_ITERATION_START_3 >= 101
-#    define BOOST_PP_ITERATION_3 101
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 100 && BOOST_PP_ITERATION_START_3 >= 100
-#    define BOOST_PP_ITERATION_3 100
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 99 && BOOST_PP_ITERATION_START_3 >= 99
-#    define BOOST_PP_ITERATION_3 99
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 98 && BOOST_PP_ITERATION_START_3 >= 98
-#    define BOOST_PP_ITERATION_3 98
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 97 && BOOST_PP_ITERATION_START_3 >= 97
-#    define BOOST_PP_ITERATION_3 97
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 96 && BOOST_PP_ITERATION_START_3 >= 96
-#    define BOOST_PP_ITERATION_3 96
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 95 && BOOST_PP_ITERATION_START_3 >= 95
-#    define BOOST_PP_ITERATION_3 95
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 94 && BOOST_PP_ITERATION_START_3 >= 94
-#    define BOOST_PP_ITERATION_3 94
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 93 && BOOST_PP_ITERATION_START_3 >= 93
-#    define BOOST_PP_ITERATION_3 93
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 92 && BOOST_PP_ITERATION_START_3 >= 92
-#    define BOOST_PP_ITERATION_3 92
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 91 && BOOST_PP_ITERATION_START_3 >= 91
-#    define BOOST_PP_ITERATION_3 91
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 90 && BOOST_PP_ITERATION_START_3 >= 90
-#    define BOOST_PP_ITERATION_3 90
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 89 && BOOST_PP_ITERATION_START_3 >= 89
-#    define BOOST_PP_ITERATION_3 89
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 88 && BOOST_PP_ITERATION_START_3 >= 88
-#    define BOOST_PP_ITERATION_3 88
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 87 && BOOST_PP_ITERATION_START_3 >= 87
-#    define BOOST_PP_ITERATION_3 87
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 86 && BOOST_PP_ITERATION_START_3 >= 86
-#    define BOOST_PP_ITERATION_3 86
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 85 && BOOST_PP_ITERATION_START_3 >= 85
-#    define BOOST_PP_ITERATION_3 85
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 84 && BOOST_PP_ITERATION_START_3 >= 84
-#    define BOOST_PP_ITERATION_3 84
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 83 && BOOST_PP_ITERATION_START_3 >= 83
-#    define BOOST_PP_ITERATION_3 83
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 82 && BOOST_PP_ITERATION_START_3 >= 82
-#    define BOOST_PP_ITERATION_3 82
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 81 && BOOST_PP_ITERATION_START_3 >= 81
-#    define BOOST_PP_ITERATION_3 81
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 80 && BOOST_PP_ITERATION_START_3 >= 80
-#    define BOOST_PP_ITERATION_3 80
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 79 && BOOST_PP_ITERATION_START_3 >= 79
-#    define BOOST_PP_ITERATION_3 79
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 78 && BOOST_PP_ITERATION_START_3 >= 78
-#    define BOOST_PP_ITERATION_3 78
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 77 && BOOST_PP_ITERATION_START_3 >= 77
-#    define BOOST_PP_ITERATION_3 77
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 76 && BOOST_PP_ITERATION_START_3 >= 76
-#    define BOOST_PP_ITERATION_3 76
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 75 && BOOST_PP_ITERATION_START_3 >= 75
-#    define BOOST_PP_ITERATION_3 75
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 74 && BOOST_PP_ITERATION_START_3 >= 74
-#    define BOOST_PP_ITERATION_3 74
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 73 && BOOST_PP_ITERATION_START_3 >= 73
-#    define BOOST_PP_ITERATION_3 73
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 72 && BOOST_PP_ITERATION_START_3 >= 72
-#    define BOOST_PP_ITERATION_3 72
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 71 && BOOST_PP_ITERATION_START_3 >= 71
-#    define BOOST_PP_ITERATION_3 71
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 70 && BOOST_PP_ITERATION_START_3 >= 70
-#    define BOOST_PP_ITERATION_3 70
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 69 && BOOST_PP_ITERATION_START_3 >= 69
-#    define BOOST_PP_ITERATION_3 69
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 68 && BOOST_PP_ITERATION_START_3 >= 68
-#    define BOOST_PP_ITERATION_3 68
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 67 && BOOST_PP_ITERATION_START_3 >= 67
-#    define BOOST_PP_ITERATION_3 67
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 66 && BOOST_PP_ITERATION_START_3 >= 66
-#    define BOOST_PP_ITERATION_3 66
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 65 && BOOST_PP_ITERATION_START_3 >= 65
-#    define BOOST_PP_ITERATION_3 65
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 64 && BOOST_PP_ITERATION_START_3 >= 64
-#    define BOOST_PP_ITERATION_3 64
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 63 && BOOST_PP_ITERATION_START_3 >= 63
-#    define BOOST_PP_ITERATION_3 63
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 62 && BOOST_PP_ITERATION_START_3 >= 62
-#    define BOOST_PP_ITERATION_3 62
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 61 && BOOST_PP_ITERATION_START_3 >= 61
-#    define BOOST_PP_ITERATION_3 61
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 60 && BOOST_PP_ITERATION_START_3 >= 60
-#    define BOOST_PP_ITERATION_3 60
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 59 && BOOST_PP_ITERATION_START_3 >= 59
-#    define BOOST_PP_ITERATION_3 59
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 58 && BOOST_PP_ITERATION_START_3 >= 58
-#    define BOOST_PP_ITERATION_3 58
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 57 && BOOST_PP_ITERATION_START_3 >= 57
-#    define BOOST_PP_ITERATION_3 57
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 56 && BOOST_PP_ITERATION_START_3 >= 56
-#    define BOOST_PP_ITERATION_3 56
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 55 && BOOST_PP_ITERATION_START_3 >= 55
-#    define BOOST_PP_ITERATION_3 55
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 54 && BOOST_PP_ITERATION_START_3 >= 54
-#    define BOOST_PP_ITERATION_3 54
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 53 && BOOST_PP_ITERATION_START_3 >= 53
-#    define BOOST_PP_ITERATION_3 53
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 52 && BOOST_PP_ITERATION_START_3 >= 52
-#    define BOOST_PP_ITERATION_3 52
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 51 && BOOST_PP_ITERATION_START_3 >= 51
-#    define BOOST_PP_ITERATION_3 51
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 50 && BOOST_PP_ITERATION_START_3 >= 50
-#    define BOOST_PP_ITERATION_3 50
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 49 && BOOST_PP_ITERATION_START_3 >= 49
-#    define BOOST_PP_ITERATION_3 49
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 48 && BOOST_PP_ITERATION_START_3 >= 48
-#    define BOOST_PP_ITERATION_3 48
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 47 && BOOST_PP_ITERATION_START_3 >= 47
-#    define BOOST_PP_ITERATION_3 47
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 46 && BOOST_PP_ITERATION_START_3 >= 46
-#    define BOOST_PP_ITERATION_3 46
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 45 && BOOST_PP_ITERATION_START_3 >= 45
-#    define BOOST_PP_ITERATION_3 45
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 44 && BOOST_PP_ITERATION_START_3 >= 44
-#    define BOOST_PP_ITERATION_3 44
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 43 && BOOST_PP_ITERATION_START_3 >= 43
-#    define BOOST_PP_ITERATION_3 43
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 42 && BOOST_PP_ITERATION_START_3 >= 42
-#    define BOOST_PP_ITERATION_3 42
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 41 && BOOST_PP_ITERATION_START_3 >= 41
-#    define BOOST_PP_ITERATION_3 41
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 40 && BOOST_PP_ITERATION_START_3 >= 40
-#    define BOOST_PP_ITERATION_3 40
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 39 && BOOST_PP_ITERATION_START_3 >= 39
-#    define BOOST_PP_ITERATION_3 39
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 38 && BOOST_PP_ITERATION_START_3 >= 38
-#    define BOOST_PP_ITERATION_3 38
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 37 && BOOST_PP_ITERATION_START_3 >= 37
-#    define BOOST_PP_ITERATION_3 37
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 36 && BOOST_PP_ITERATION_START_3 >= 36
-#    define BOOST_PP_ITERATION_3 36
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 35 && BOOST_PP_ITERATION_START_3 >= 35
-#    define BOOST_PP_ITERATION_3 35
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 34 && BOOST_PP_ITERATION_START_3 >= 34
-#    define BOOST_PP_ITERATION_3 34
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 33 && BOOST_PP_ITERATION_START_3 >= 33
-#    define BOOST_PP_ITERATION_3 33
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 32 && BOOST_PP_ITERATION_START_3 >= 32
-#    define BOOST_PP_ITERATION_3 32
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 31 && BOOST_PP_ITERATION_START_3 >= 31
-#    define BOOST_PP_ITERATION_3 31
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 30 && BOOST_PP_ITERATION_START_3 >= 30
-#    define BOOST_PP_ITERATION_3 30
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 29 && BOOST_PP_ITERATION_START_3 >= 29
-#    define BOOST_PP_ITERATION_3 29
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 28 && BOOST_PP_ITERATION_START_3 >= 28
-#    define BOOST_PP_ITERATION_3 28
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 27 && BOOST_PP_ITERATION_START_3 >= 27
-#    define BOOST_PP_ITERATION_3 27
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 26 && BOOST_PP_ITERATION_START_3 >= 26
-#    define BOOST_PP_ITERATION_3 26
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 25 && BOOST_PP_ITERATION_START_3 >= 25
-#    define BOOST_PP_ITERATION_3 25
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 24 && BOOST_PP_ITERATION_START_3 >= 24
-#    define BOOST_PP_ITERATION_3 24
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 23 && BOOST_PP_ITERATION_START_3 >= 23
-#    define BOOST_PP_ITERATION_3 23
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 22 && BOOST_PP_ITERATION_START_3 >= 22
-#    define BOOST_PP_ITERATION_3 22
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 21 && BOOST_PP_ITERATION_START_3 >= 21
-#    define BOOST_PP_ITERATION_3 21
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 20 && BOOST_PP_ITERATION_START_3 >= 20
-#    define BOOST_PP_ITERATION_3 20
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 19 && BOOST_PP_ITERATION_START_3 >= 19
-#    define BOOST_PP_ITERATION_3 19
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 18 && BOOST_PP_ITERATION_START_3 >= 18
-#    define BOOST_PP_ITERATION_3 18
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 17 && BOOST_PP_ITERATION_START_3 >= 17
-#    define BOOST_PP_ITERATION_3 17
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 16 && BOOST_PP_ITERATION_START_3 >= 16
-#    define BOOST_PP_ITERATION_3 16
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 15 && BOOST_PP_ITERATION_START_3 >= 15
-#    define BOOST_PP_ITERATION_3 15
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 14 && BOOST_PP_ITERATION_START_3 >= 14
-#    define BOOST_PP_ITERATION_3 14
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 13 && BOOST_PP_ITERATION_START_3 >= 13
-#    define BOOST_PP_ITERATION_3 13
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 12 && BOOST_PP_ITERATION_START_3 >= 12
-#    define BOOST_PP_ITERATION_3 12
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 11 && BOOST_PP_ITERATION_START_3 >= 11
-#    define BOOST_PP_ITERATION_3 11
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 10 && BOOST_PP_ITERATION_START_3 >= 10
-#    define BOOST_PP_ITERATION_3 10
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 9 && BOOST_PP_ITERATION_START_3 >= 9
-#    define BOOST_PP_ITERATION_3 9
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 8 && BOOST_PP_ITERATION_START_3 >= 8
-#    define BOOST_PP_ITERATION_3 8
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 7 && BOOST_PP_ITERATION_START_3 >= 7
-#    define BOOST_PP_ITERATION_3 7
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 6 && BOOST_PP_ITERATION_START_3 >= 6
-#    define BOOST_PP_ITERATION_3 6
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 5 && BOOST_PP_ITERATION_START_3 >= 5
-#    define BOOST_PP_ITERATION_3 5
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 4 && BOOST_PP_ITERATION_START_3 >= 4
-#    define BOOST_PP_ITERATION_3 4
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 3 && BOOST_PP_ITERATION_START_3 >= 3
-#    define BOOST_PP_ITERATION_3 3
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 2 && BOOST_PP_ITERATION_START_3 >= 2
-#    define BOOST_PP_ITERATION_3 2
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 1 && BOOST_PP_ITERATION_START_3 >= 1
-#    define BOOST_PP_ITERATION_3 1
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 0 && BOOST_PP_ITERATION_START_3 >= 0
-#    define BOOST_PP_ITERATION_3 0
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse4.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse4.hpp
deleted file mode 100755
index aedceb3..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse4.hpp
+++ /dev/null
@@ -1,1296 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if BOOST_PP_ITERATION_FINISH_4 <= 256 && BOOST_PP_ITERATION_START_4 >= 256
-#    define BOOST_PP_ITERATION_4 256
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 255 && BOOST_PP_ITERATION_START_4 >= 255
-#    define BOOST_PP_ITERATION_4 255
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 254 && BOOST_PP_ITERATION_START_4 >= 254
-#    define BOOST_PP_ITERATION_4 254
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 253 && BOOST_PP_ITERATION_START_4 >= 253
-#    define BOOST_PP_ITERATION_4 253
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 252 && BOOST_PP_ITERATION_START_4 >= 252
-#    define BOOST_PP_ITERATION_4 252
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 251 && BOOST_PP_ITERATION_START_4 >= 251
-#    define BOOST_PP_ITERATION_4 251
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 250 && BOOST_PP_ITERATION_START_4 >= 250
-#    define BOOST_PP_ITERATION_4 250
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 249 && BOOST_PP_ITERATION_START_4 >= 249
-#    define BOOST_PP_ITERATION_4 249
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 248 && BOOST_PP_ITERATION_START_4 >= 248
-#    define BOOST_PP_ITERATION_4 248
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 247 && BOOST_PP_ITERATION_START_4 >= 247
-#    define BOOST_PP_ITERATION_4 247
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 246 && BOOST_PP_ITERATION_START_4 >= 246
-#    define BOOST_PP_ITERATION_4 246
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 245 && BOOST_PP_ITERATION_START_4 >= 245
-#    define BOOST_PP_ITERATION_4 245
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 244 && BOOST_PP_ITERATION_START_4 >= 244
-#    define BOOST_PP_ITERATION_4 244
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 243 && BOOST_PP_ITERATION_START_4 >= 243
-#    define BOOST_PP_ITERATION_4 243
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 242 && BOOST_PP_ITERATION_START_4 >= 242
-#    define BOOST_PP_ITERATION_4 242
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 241 && BOOST_PP_ITERATION_START_4 >= 241
-#    define BOOST_PP_ITERATION_4 241
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 240 && BOOST_PP_ITERATION_START_4 >= 240
-#    define BOOST_PP_ITERATION_4 240
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 239 && BOOST_PP_ITERATION_START_4 >= 239
-#    define BOOST_PP_ITERATION_4 239
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 238 && BOOST_PP_ITERATION_START_4 >= 238
-#    define BOOST_PP_ITERATION_4 238
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 237 && BOOST_PP_ITERATION_START_4 >= 237
-#    define BOOST_PP_ITERATION_4 237
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 236 && BOOST_PP_ITERATION_START_4 >= 236
-#    define BOOST_PP_ITERATION_4 236
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 235 && BOOST_PP_ITERATION_START_4 >= 235
-#    define BOOST_PP_ITERATION_4 235
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 234 && BOOST_PP_ITERATION_START_4 >= 234
-#    define BOOST_PP_ITERATION_4 234
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 233 && BOOST_PP_ITERATION_START_4 >= 233
-#    define BOOST_PP_ITERATION_4 233
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 232 && BOOST_PP_ITERATION_START_4 >= 232
-#    define BOOST_PP_ITERATION_4 232
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 231 && BOOST_PP_ITERATION_START_4 >= 231
-#    define BOOST_PP_ITERATION_4 231
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 230 && BOOST_PP_ITERATION_START_4 >= 230
-#    define BOOST_PP_ITERATION_4 230
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 229 && BOOST_PP_ITERATION_START_4 >= 229
-#    define BOOST_PP_ITERATION_4 229
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 228 && BOOST_PP_ITERATION_START_4 >= 228
-#    define BOOST_PP_ITERATION_4 228
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 227 && BOOST_PP_ITERATION_START_4 >= 227
-#    define BOOST_PP_ITERATION_4 227
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 226 && BOOST_PP_ITERATION_START_4 >= 226
-#    define BOOST_PP_ITERATION_4 226
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 225 && BOOST_PP_ITERATION_START_4 >= 225
-#    define BOOST_PP_ITERATION_4 225
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 224 && BOOST_PP_ITERATION_START_4 >= 224
-#    define BOOST_PP_ITERATION_4 224
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 223 && BOOST_PP_ITERATION_START_4 >= 223
-#    define BOOST_PP_ITERATION_4 223
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 222 && BOOST_PP_ITERATION_START_4 >= 222
-#    define BOOST_PP_ITERATION_4 222
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 221 && BOOST_PP_ITERATION_START_4 >= 221
-#    define BOOST_PP_ITERATION_4 221
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 220 && BOOST_PP_ITERATION_START_4 >= 220
-#    define BOOST_PP_ITERATION_4 220
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 219 && BOOST_PP_ITERATION_START_4 >= 219
-#    define BOOST_PP_ITERATION_4 219
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 218 && BOOST_PP_ITERATION_START_4 >= 218
-#    define BOOST_PP_ITERATION_4 218
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 217 && BOOST_PP_ITERATION_START_4 >= 217
-#    define BOOST_PP_ITERATION_4 217
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 216 && BOOST_PP_ITERATION_START_4 >= 216
-#    define BOOST_PP_ITERATION_4 216
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 215 && BOOST_PP_ITERATION_START_4 >= 215
-#    define BOOST_PP_ITERATION_4 215
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 214 && BOOST_PP_ITERATION_START_4 >= 214
-#    define BOOST_PP_ITERATION_4 214
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 213 && BOOST_PP_ITERATION_START_4 >= 213
-#    define BOOST_PP_ITERATION_4 213
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 212 && BOOST_PP_ITERATION_START_4 >= 212
-#    define BOOST_PP_ITERATION_4 212
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 211 && BOOST_PP_ITERATION_START_4 >= 211
-#    define BOOST_PP_ITERATION_4 211
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 210 && BOOST_PP_ITERATION_START_4 >= 210
-#    define BOOST_PP_ITERATION_4 210
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 209 && BOOST_PP_ITERATION_START_4 >= 209
-#    define BOOST_PP_ITERATION_4 209
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 208 && BOOST_PP_ITERATION_START_4 >= 208
-#    define BOOST_PP_ITERATION_4 208
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 207 && BOOST_PP_ITERATION_START_4 >= 207
-#    define BOOST_PP_ITERATION_4 207
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 206 && BOOST_PP_ITERATION_START_4 >= 206
-#    define BOOST_PP_ITERATION_4 206
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 205 && BOOST_PP_ITERATION_START_4 >= 205
-#    define BOOST_PP_ITERATION_4 205
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 204 && BOOST_PP_ITERATION_START_4 >= 204
-#    define BOOST_PP_ITERATION_4 204
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 203 && BOOST_PP_ITERATION_START_4 >= 203
-#    define BOOST_PP_ITERATION_4 203
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 202 && BOOST_PP_ITERATION_START_4 >= 202
-#    define BOOST_PP_ITERATION_4 202
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 201 && BOOST_PP_ITERATION_START_4 >= 201
-#    define BOOST_PP_ITERATION_4 201
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 200 && BOOST_PP_ITERATION_START_4 >= 200
-#    define BOOST_PP_ITERATION_4 200
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 199 && BOOST_PP_ITERATION_START_4 >= 199
-#    define BOOST_PP_ITERATION_4 199
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 198 && BOOST_PP_ITERATION_START_4 >= 198
-#    define BOOST_PP_ITERATION_4 198
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 197 && BOOST_PP_ITERATION_START_4 >= 197
-#    define BOOST_PP_ITERATION_4 197
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 196 && BOOST_PP_ITERATION_START_4 >= 196
-#    define BOOST_PP_ITERATION_4 196
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 195 && BOOST_PP_ITERATION_START_4 >= 195
-#    define BOOST_PP_ITERATION_4 195
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 194 && BOOST_PP_ITERATION_START_4 >= 194
-#    define BOOST_PP_ITERATION_4 194
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 193 && BOOST_PP_ITERATION_START_4 >= 193
-#    define BOOST_PP_ITERATION_4 193
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 192 && BOOST_PP_ITERATION_START_4 >= 192
-#    define BOOST_PP_ITERATION_4 192
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 191 && BOOST_PP_ITERATION_START_4 >= 191
-#    define BOOST_PP_ITERATION_4 191
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 190 && BOOST_PP_ITERATION_START_4 >= 190
-#    define BOOST_PP_ITERATION_4 190
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 189 && BOOST_PP_ITERATION_START_4 >= 189
-#    define BOOST_PP_ITERATION_4 189
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 188 && BOOST_PP_ITERATION_START_4 >= 188
-#    define BOOST_PP_ITERATION_4 188
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 187 && BOOST_PP_ITERATION_START_4 >= 187
-#    define BOOST_PP_ITERATION_4 187
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 186 && BOOST_PP_ITERATION_START_4 >= 186
-#    define BOOST_PP_ITERATION_4 186
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 185 && BOOST_PP_ITERATION_START_4 >= 185
-#    define BOOST_PP_ITERATION_4 185
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 184 && BOOST_PP_ITERATION_START_4 >= 184
-#    define BOOST_PP_ITERATION_4 184
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 183 && BOOST_PP_ITERATION_START_4 >= 183
-#    define BOOST_PP_ITERATION_4 183
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 182 && BOOST_PP_ITERATION_START_4 >= 182
-#    define BOOST_PP_ITERATION_4 182
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 181 && BOOST_PP_ITERATION_START_4 >= 181
-#    define BOOST_PP_ITERATION_4 181
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 180 && BOOST_PP_ITERATION_START_4 >= 180
-#    define BOOST_PP_ITERATION_4 180
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 179 && BOOST_PP_ITERATION_START_4 >= 179
-#    define BOOST_PP_ITERATION_4 179
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 178 && BOOST_PP_ITERATION_START_4 >= 178
-#    define BOOST_PP_ITERATION_4 178
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 177 && BOOST_PP_ITERATION_START_4 >= 177
-#    define BOOST_PP_ITERATION_4 177
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 176 && BOOST_PP_ITERATION_START_4 >= 176
-#    define BOOST_PP_ITERATION_4 176
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 175 && BOOST_PP_ITERATION_START_4 >= 175
-#    define BOOST_PP_ITERATION_4 175
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 174 && BOOST_PP_ITERATION_START_4 >= 174
-#    define BOOST_PP_ITERATION_4 174
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 173 && BOOST_PP_ITERATION_START_4 >= 173
-#    define BOOST_PP_ITERATION_4 173
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 172 && BOOST_PP_ITERATION_START_4 >= 172
-#    define BOOST_PP_ITERATION_4 172
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 171 && BOOST_PP_ITERATION_START_4 >= 171
-#    define BOOST_PP_ITERATION_4 171
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 170 && BOOST_PP_ITERATION_START_4 >= 170
-#    define BOOST_PP_ITERATION_4 170
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 169 && BOOST_PP_ITERATION_START_4 >= 169
-#    define BOOST_PP_ITERATION_4 169
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 168 && BOOST_PP_ITERATION_START_4 >= 168
-#    define BOOST_PP_ITERATION_4 168
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 167 && BOOST_PP_ITERATION_START_4 >= 167
-#    define BOOST_PP_ITERATION_4 167
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 166 && BOOST_PP_ITERATION_START_4 >= 166
-#    define BOOST_PP_ITERATION_4 166
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 165 && BOOST_PP_ITERATION_START_4 >= 165
-#    define BOOST_PP_ITERATION_4 165
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 164 && BOOST_PP_ITERATION_START_4 >= 164
-#    define BOOST_PP_ITERATION_4 164
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 163 && BOOST_PP_ITERATION_START_4 >= 163
-#    define BOOST_PP_ITERATION_4 163
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 162 && BOOST_PP_ITERATION_START_4 >= 162
-#    define BOOST_PP_ITERATION_4 162
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 161 && BOOST_PP_ITERATION_START_4 >= 161
-#    define BOOST_PP_ITERATION_4 161
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 160 && BOOST_PP_ITERATION_START_4 >= 160
-#    define BOOST_PP_ITERATION_4 160
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 159 && BOOST_PP_ITERATION_START_4 >= 159
-#    define BOOST_PP_ITERATION_4 159
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 158 && BOOST_PP_ITERATION_START_4 >= 158
-#    define BOOST_PP_ITERATION_4 158
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 157 && BOOST_PP_ITERATION_START_4 >= 157
-#    define BOOST_PP_ITERATION_4 157
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 156 && BOOST_PP_ITERATION_START_4 >= 156
-#    define BOOST_PP_ITERATION_4 156
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 155 && BOOST_PP_ITERATION_START_4 >= 155
-#    define BOOST_PP_ITERATION_4 155
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 154 && BOOST_PP_ITERATION_START_4 >= 154
-#    define BOOST_PP_ITERATION_4 154
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 153 && BOOST_PP_ITERATION_START_4 >= 153
-#    define BOOST_PP_ITERATION_4 153
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 152 && BOOST_PP_ITERATION_START_4 >= 152
-#    define BOOST_PP_ITERATION_4 152
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 151 && BOOST_PP_ITERATION_START_4 >= 151
-#    define BOOST_PP_ITERATION_4 151
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 150 && BOOST_PP_ITERATION_START_4 >= 150
-#    define BOOST_PP_ITERATION_4 150
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 149 && BOOST_PP_ITERATION_START_4 >= 149
-#    define BOOST_PP_ITERATION_4 149
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 148 && BOOST_PP_ITERATION_START_4 >= 148
-#    define BOOST_PP_ITERATION_4 148
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 147 && BOOST_PP_ITERATION_START_4 >= 147
-#    define BOOST_PP_ITERATION_4 147
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 146 && BOOST_PP_ITERATION_START_4 >= 146
-#    define BOOST_PP_ITERATION_4 146
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 145 && BOOST_PP_ITERATION_START_4 >= 145
-#    define BOOST_PP_ITERATION_4 145
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 144 && BOOST_PP_ITERATION_START_4 >= 144
-#    define BOOST_PP_ITERATION_4 144
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 143 && BOOST_PP_ITERATION_START_4 >= 143
-#    define BOOST_PP_ITERATION_4 143
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 142 && BOOST_PP_ITERATION_START_4 >= 142
-#    define BOOST_PP_ITERATION_4 142
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 141 && BOOST_PP_ITERATION_START_4 >= 141
-#    define BOOST_PP_ITERATION_4 141
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 140 && BOOST_PP_ITERATION_START_4 >= 140
-#    define BOOST_PP_ITERATION_4 140
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 139 && BOOST_PP_ITERATION_START_4 >= 139
-#    define BOOST_PP_ITERATION_4 139
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 138 && BOOST_PP_ITERATION_START_4 >= 138
-#    define BOOST_PP_ITERATION_4 138
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 137 && BOOST_PP_ITERATION_START_4 >= 137
-#    define BOOST_PP_ITERATION_4 137
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 136 && BOOST_PP_ITERATION_START_4 >= 136
-#    define BOOST_PP_ITERATION_4 136
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 135 && BOOST_PP_ITERATION_START_4 >= 135
-#    define BOOST_PP_ITERATION_4 135
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 134 && BOOST_PP_ITERATION_START_4 >= 134
-#    define BOOST_PP_ITERATION_4 134
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 133 && BOOST_PP_ITERATION_START_4 >= 133
-#    define BOOST_PP_ITERATION_4 133
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 132 && BOOST_PP_ITERATION_START_4 >= 132
-#    define BOOST_PP_ITERATION_4 132
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 131 && BOOST_PP_ITERATION_START_4 >= 131
-#    define BOOST_PP_ITERATION_4 131
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 130 && BOOST_PP_ITERATION_START_4 >= 130
-#    define BOOST_PP_ITERATION_4 130
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 129 && BOOST_PP_ITERATION_START_4 >= 129
-#    define BOOST_PP_ITERATION_4 129
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 128 && BOOST_PP_ITERATION_START_4 >= 128
-#    define BOOST_PP_ITERATION_4 128
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 127 && BOOST_PP_ITERATION_START_4 >= 127
-#    define BOOST_PP_ITERATION_4 127
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 126 && BOOST_PP_ITERATION_START_4 >= 126
-#    define BOOST_PP_ITERATION_4 126
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 125 && BOOST_PP_ITERATION_START_4 >= 125
-#    define BOOST_PP_ITERATION_4 125
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 124 && BOOST_PP_ITERATION_START_4 >= 124
-#    define BOOST_PP_ITERATION_4 124
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 123 && BOOST_PP_ITERATION_START_4 >= 123
-#    define BOOST_PP_ITERATION_4 123
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 122 && BOOST_PP_ITERATION_START_4 >= 122
-#    define BOOST_PP_ITERATION_4 122
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 121 && BOOST_PP_ITERATION_START_4 >= 121
-#    define BOOST_PP_ITERATION_4 121
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 120 && BOOST_PP_ITERATION_START_4 >= 120
-#    define BOOST_PP_ITERATION_4 120
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 119 && BOOST_PP_ITERATION_START_4 >= 119
-#    define BOOST_PP_ITERATION_4 119
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 118 && BOOST_PP_ITERATION_START_4 >= 118
-#    define BOOST_PP_ITERATION_4 118
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 117 && BOOST_PP_ITERATION_START_4 >= 117
-#    define BOOST_PP_ITERATION_4 117
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 116 && BOOST_PP_ITERATION_START_4 >= 116
-#    define BOOST_PP_ITERATION_4 116
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 115 && BOOST_PP_ITERATION_START_4 >= 115
-#    define BOOST_PP_ITERATION_4 115
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 114 && BOOST_PP_ITERATION_START_4 >= 114
-#    define BOOST_PP_ITERATION_4 114
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 113 && BOOST_PP_ITERATION_START_4 >= 113
-#    define BOOST_PP_ITERATION_4 113
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 112 && BOOST_PP_ITERATION_START_4 >= 112
-#    define BOOST_PP_ITERATION_4 112
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 111 && BOOST_PP_ITERATION_START_4 >= 111
-#    define BOOST_PP_ITERATION_4 111
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 110 && BOOST_PP_ITERATION_START_4 >= 110
-#    define BOOST_PP_ITERATION_4 110
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 109 && BOOST_PP_ITERATION_START_4 >= 109
-#    define BOOST_PP_ITERATION_4 109
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 108 && BOOST_PP_ITERATION_START_4 >= 108
-#    define BOOST_PP_ITERATION_4 108
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 107 && BOOST_PP_ITERATION_START_4 >= 107
-#    define BOOST_PP_ITERATION_4 107
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 106 && BOOST_PP_ITERATION_START_4 >= 106
-#    define BOOST_PP_ITERATION_4 106
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 105 && BOOST_PP_ITERATION_START_4 >= 105
-#    define BOOST_PP_ITERATION_4 105
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 104 && BOOST_PP_ITERATION_START_4 >= 104
-#    define BOOST_PP_ITERATION_4 104
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 103 && BOOST_PP_ITERATION_START_4 >= 103
-#    define BOOST_PP_ITERATION_4 103
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 102 && BOOST_PP_ITERATION_START_4 >= 102
-#    define BOOST_PP_ITERATION_4 102
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 101 && BOOST_PP_ITERATION_START_4 >= 101
-#    define BOOST_PP_ITERATION_4 101
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 100 && BOOST_PP_ITERATION_START_4 >= 100
-#    define BOOST_PP_ITERATION_4 100
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 99 && BOOST_PP_ITERATION_START_4 >= 99
-#    define BOOST_PP_ITERATION_4 99
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 98 && BOOST_PP_ITERATION_START_4 >= 98
-#    define BOOST_PP_ITERATION_4 98
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 97 && BOOST_PP_ITERATION_START_4 >= 97
-#    define BOOST_PP_ITERATION_4 97
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 96 && BOOST_PP_ITERATION_START_4 >= 96
-#    define BOOST_PP_ITERATION_4 96
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 95 && BOOST_PP_ITERATION_START_4 >= 95
-#    define BOOST_PP_ITERATION_4 95
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 94 && BOOST_PP_ITERATION_START_4 >= 94
-#    define BOOST_PP_ITERATION_4 94
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 93 && BOOST_PP_ITERATION_START_4 >= 93
-#    define BOOST_PP_ITERATION_4 93
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 92 && BOOST_PP_ITERATION_START_4 >= 92
-#    define BOOST_PP_ITERATION_4 92
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 91 && BOOST_PP_ITERATION_START_4 >= 91
-#    define BOOST_PP_ITERATION_4 91
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 90 && BOOST_PP_ITERATION_START_4 >= 90
-#    define BOOST_PP_ITERATION_4 90
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 89 && BOOST_PP_ITERATION_START_4 >= 89
-#    define BOOST_PP_ITERATION_4 89
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 88 && BOOST_PP_ITERATION_START_4 >= 88
-#    define BOOST_PP_ITERATION_4 88
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 87 && BOOST_PP_ITERATION_START_4 >= 87
-#    define BOOST_PP_ITERATION_4 87
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 86 && BOOST_PP_ITERATION_START_4 >= 86
-#    define BOOST_PP_ITERATION_4 86
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 85 && BOOST_PP_ITERATION_START_4 >= 85
-#    define BOOST_PP_ITERATION_4 85
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 84 && BOOST_PP_ITERATION_START_4 >= 84
-#    define BOOST_PP_ITERATION_4 84
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 83 && BOOST_PP_ITERATION_START_4 >= 83
-#    define BOOST_PP_ITERATION_4 83
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 82 && BOOST_PP_ITERATION_START_4 >= 82
-#    define BOOST_PP_ITERATION_4 82
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 81 && BOOST_PP_ITERATION_START_4 >= 81
-#    define BOOST_PP_ITERATION_4 81
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 80 && BOOST_PP_ITERATION_START_4 >= 80
-#    define BOOST_PP_ITERATION_4 80
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 79 && BOOST_PP_ITERATION_START_4 >= 79
-#    define BOOST_PP_ITERATION_4 79
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 78 && BOOST_PP_ITERATION_START_4 >= 78
-#    define BOOST_PP_ITERATION_4 78
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 77 && BOOST_PP_ITERATION_START_4 >= 77
-#    define BOOST_PP_ITERATION_4 77
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 76 && BOOST_PP_ITERATION_START_4 >= 76
-#    define BOOST_PP_ITERATION_4 76
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 75 && BOOST_PP_ITERATION_START_4 >= 75
-#    define BOOST_PP_ITERATION_4 75
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 74 && BOOST_PP_ITERATION_START_4 >= 74
-#    define BOOST_PP_ITERATION_4 74
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 73 && BOOST_PP_ITERATION_START_4 >= 73
-#    define BOOST_PP_ITERATION_4 73
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 72 && BOOST_PP_ITERATION_START_4 >= 72
-#    define BOOST_PP_ITERATION_4 72
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 71 && BOOST_PP_ITERATION_START_4 >= 71
-#    define BOOST_PP_ITERATION_4 71
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 70 && BOOST_PP_ITERATION_START_4 >= 70
-#    define BOOST_PP_ITERATION_4 70
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 69 && BOOST_PP_ITERATION_START_4 >= 69
-#    define BOOST_PP_ITERATION_4 69
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 68 && BOOST_PP_ITERATION_START_4 >= 68
-#    define BOOST_PP_ITERATION_4 68
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 67 && BOOST_PP_ITERATION_START_4 >= 67
-#    define BOOST_PP_ITERATION_4 67
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 66 && BOOST_PP_ITERATION_START_4 >= 66
-#    define BOOST_PP_ITERATION_4 66
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 65 && BOOST_PP_ITERATION_START_4 >= 65
-#    define BOOST_PP_ITERATION_4 65
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 64 && BOOST_PP_ITERATION_START_4 >= 64
-#    define BOOST_PP_ITERATION_4 64
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 63 && BOOST_PP_ITERATION_START_4 >= 63
-#    define BOOST_PP_ITERATION_4 63
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 62 && BOOST_PP_ITERATION_START_4 >= 62
-#    define BOOST_PP_ITERATION_4 62
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 61 && BOOST_PP_ITERATION_START_4 >= 61
-#    define BOOST_PP_ITERATION_4 61
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 60 && BOOST_PP_ITERATION_START_4 >= 60
-#    define BOOST_PP_ITERATION_4 60
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 59 && BOOST_PP_ITERATION_START_4 >= 59
-#    define BOOST_PP_ITERATION_4 59
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 58 && BOOST_PP_ITERATION_START_4 >= 58
-#    define BOOST_PP_ITERATION_4 58
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 57 && BOOST_PP_ITERATION_START_4 >= 57
-#    define BOOST_PP_ITERATION_4 57
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 56 && BOOST_PP_ITERATION_START_4 >= 56
-#    define BOOST_PP_ITERATION_4 56
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 55 && BOOST_PP_ITERATION_START_4 >= 55
-#    define BOOST_PP_ITERATION_4 55
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 54 && BOOST_PP_ITERATION_START_4 >= 54
-#    define BOOST_PP_ITERATION_4 54
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 53 && BOOST_PP_ITERATION_START_4 >= 53
-#    define BOOST_PP_ITERATION_4 53
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 52 && BOOST_PP_ITERATION_START_4 >= 52
-#    define BOOST_PP_ITERATION_4 52
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 51 && BOOST_PP_ITERATION_START_4 >= 51
-#    define BOOST_PP_ITERATION_4 51
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 50 && BOOST_PP_ITERATION_START_4 >= 50
-#    define BOOST_PP_ITERATION_4 50
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 49 && BOOST_PP_ITERATION_START_4 >= 49
-#    define BOOST_PP_ITERATION_4 49
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 48 && BOOST_PP_ITERATION_START_4 >= 48
-#    define BOOST_PP_ITERATION_4 48
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 47 && BOOST_PP_ITERATION_START_4 >= 47
-#    define BOOST_PP_ITERATION_4 47
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 46 && BOOST_PP_ITERATION_START_4 >= 46
-#    define BOOST_PP_ITERATION_4 46
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 45 && BOOST_PP_ITERATION_START_4 >= 45
-#    define BOOST_PP_ITERATION_4 45
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 44 && BOOST_PP_ITERATION_START_4 >= 44
-#    define BOOST_PP_ITERATION_4 44
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 43 && BOOST_PP_ITERATION_START_4 >= 43
-#    define BOOST_PP_ITERATION_4 43
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 42 && BOOST_PP_ITERATION_START_4 >= 42
-#    define BOOST_PP_ITERATION_4 42
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 41 && BOOST_PP_ITERATION_START_4 >= 41
-#    define BOOST_PP_ITERATION_4 41
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 40 && BOOST_PP_ITERATION_START_4 >= 40
-#    define BOOST_PP_ITERATION_4 40
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 39 && BOOST_PP_ITERATION_START_4 >= 39
-#    define BOOST_PP_ITERATION_4 39
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 38 && BOOST_PP_ITERATION_START_4 >= 38
-#    define BOOST_PP_ITERATION_4 38
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 37 && BOOST_PP_ITERATION_START_4 >= 37
-#    define BOOST_PP_ITERATION_4 37
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 36 && BOOST_PP_ITERATION_START_4 >= 36
-#    define BOOST_PP_ITERATION_4 36
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 35 && BOOST_PP_ITERATION_START_4 >= 35
-#    define BOOST_PP_ITERATION_4 35
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 34 && BOOST_PP_ITERATION_START_4 >= 34
-#    define BOOST_PP_ITERATION_4 34
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 33 && BOOST_PP_ITERATION_START_4 >= 33
-#    define BOOST_PP_ITERATION_4 33
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 32 && BOOST_PP_ITERATION_START_4 >= 32
-#    define BOOST_PP_ITERATION_4 32
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 31 && BOOST_PP_ITERATION_START_4 >= 31
-#    define BOOST_PP_ITERATION_4 31
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 30 && BOOST_PP_ITERATION_START_4 >= 30
-#    define BOOST_PP_ITERATION_4 30
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 29 && BOOST_PP_ITERATION_START_4 >= 29
-#    define BOOST_PP_ITERATION_4 29
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 28 && BOOST_PP_ITERATION_START_4 >= 28
-#    define BOOST_PP_ITERATION_4 28
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 27 && BOOST_PP_ITERATION_START_4 >= 27
-#    define BOOST_PP_ITERATION_4 27
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 26 && BOOST_PP_ITERATION_START_4 >= 26
-#    define BOOST_PP_ITERATION_4 26
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 25 && BOOST_PP_ITERATION_START_4 >= 25
-#    define BOOST_PP_ITERATION_4 25
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 24 && BOOST_PP_ITERATION_START_4 >= 24
-#    define BOOST_PP_ITERATION_4 24
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 23 && BOOST_PP_ITERATION_START_4 >= 23
-#    define BOOST_PP_ITERATION_4 23
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 22 && BOOST_PP_ITERATION_START_4 >= 22
-#    define BOOST_PP_ITERATION_4 22
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 21 && BOOST_PP_ITERATION_START_4 >= 21
-#    define BOOST_PP_ITERATION_4 21
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 20 && BOOST_PP_ITERATION_START_4 >= 20
-#    define BOOST_PP_ITERATION_4 20
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 19 && BOOST_PP_ITERATION_START_4 >= 19
-#    define BOOST_PP_ITERATION_4 19
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 18 && BOOST_PP_ITERATION_START_4 >= 18
-#    define BOOST_PP_ITERATION_4 18
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 17 && BOOST_PP_ITERATION_START_4 >= 17
-#    define BOOST_PP_ITERATION_4 17
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 16 && BOOST_PP_ITERATION_START_4 >= 16
-#    define BOOST_PP_ITERATION_4 16
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 15 && BOOST_PP_ITERATION_START_4 >= 15
-#    define BOOST_PP_ITERATION_4 15
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 14 && BOOST_PP_ITERATION_START_4 >= 14
-#    define BOOST_PP_ITERATION_4 14
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 13 && BOOST_PP_ITERATION_START_4 >= 13
-#    define BOOST_PP_ITERATION_4 13
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 12 && BOOST_PP_ITERATION_START_4 >= 12
-#    define BOOST_PP_ITERATION_4 12
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 11 && BOOST_PP_ITERATION_START_4 >= 11
-#    define BOOST_PP_ITERATION_4 11
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 10 && BOOST_PP_ITERATION_START_4 >= 10
-#    define BOOST_PP_ITERATION_4 10
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 9 && BOOST_PP_ITERATION_START_4 >= 9
-#    define BOOST_PP_ITERATION_4 9
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 8 && BOOST_PP_ITERATION_START_4 >= 8
-#    define BOOST_PP_ITERATION_4 8
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 7 && BOOST_PP_ITERATION_START_4 >= 7
-#    define BOOST_PP_ITERATION_4 7
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 6 && BOOST_PP_ITERATION_START_4 >= 6
-#    define BOOST_PP_ITERATION_4 6
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 5 && BOOST_PP_ITERATION_START_4 >= 5
-#    define BOOST_PP_ITERATION_4 5
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 4 && BOOST_PP_ITERATION_START_4 >= 4
-#    define BOOST_PP_ITERATION_4 4
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 3 && BOOST_PP_ITERATION_START_4 >= 3
-#    define BOOST_PP_ITERATION_4 3
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 2 && BOOST_PP_ITERATION_START_4 >= 2
-#    define BOOST_PP_ITERATION_4 2
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 1 && BOOST_PP_ITERATION_START_4 >= 1
-#    define BOOST_PP_ITERATION_4 1
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 0 && BOOST_PP_ITERATION_START_4 >= 0
-#    define BOOST_PP_ITERATION_4 0
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse5.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse5.hpp
deleted file mode 100755
index ab99d1e..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/iter/reverse5.hpp
+++ /dev/null
@@ -1,1296 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if BOOST_PP_ITERATION_FINISH_5 <= 256 && BOOST_PP_ITERATION_START_5 >= 256
-#    define BOOST_PP_ITERATION_5 256
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 255 && BOOST_PP_ITERATION_START_5 >= 255
-#    define BOOST_PP_ITERATION_5 255
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 254 && BOOST_PP_ITERATION_START_5 >= 254
-#    define BOOST_PP_ITERATION_5 254
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 253 && BOOST_PP_ITERATION_START_5 >= 253
-#    define BOOST_PP_ITERATION_5 253
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 252 && BOOST_PP_ITERATION_START_5 >= 252
-#    define BOOST_PP_ITERATION_5 252
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 251 && BOOST_PP_ITERATION_START_5 >= 251
-#    define BOOST_PP_ITERATION_5 251
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 250 && BOOST_PP_ITERATION_START_5 >= 250
-#    define BOOST_PP_ITERATION_5 250
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 249 && BOOST_PP_ITERATION_START_5 >= 249
-#    define BOOST_PP_ITERATION_5 249
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 248 && BOOST_PP_ITERATION_START_5 >= 248
-#    define BOOST_PP_ITERATION_5 248
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 247 && BOOST_PP_ITERATION_START_5 >= 247
-#    define BOOST_PP_ITERATION_5 247
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 246 && BOOST_PP_ITERATION_START_5 >= 246
-#    define BOOST_PP_ITERATION_5 246
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 245 && BOOST_PP_ITERATION_START_5 >= 245
-#    define BOOST_PP_ITERATION_5 245
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 244 && BOOST_PP_ITERATION_START_5 >= 244
-#    define BOOST_PP_ITERATION_5 244
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 243 && BOOST_PP_ITERATION_START_5 >= 243
-#    define BOOST_PP_ITERATION_5 243
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 242 && BOOST_PP_ITERATION_START_5 >= 242
-#    define BOOST_PP_ITERATION_5 242
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 241 && BOOST_PP_ITERATION_START_5 >= 241
-#    define BOOST_PP_ITERATION_5 241
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 240 && BOOST_PP_ITERATION_START_5 >= 240
-#    define BOOST_PP_ITERATION_5 240
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 239 && BOOST_PP_ITERATION_START_5 >= 239
-#    define BOOST_PP_ITERATION_5 239
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 238 && BOOST_PP_ITERATION_START_5 >= 238
-#    define BOOST_PP_ITERATION_5 238
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 237 && BOOST_PP_ITERATION_START_5 >= 237
-#    define BOOST_PP_ITERATION_5 237
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 236 && BOOST_PP_ITERATION_START_5 >= 236
-#    define BOOST_PP_ITERATION_5 236
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 235 && BOOST_PP_ITERATION_START_5 >= 235
-#    define BOOST_PP_ITERATION_5 235
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 234 && BOOST_PP_ITERATION_START_5 >= 234
-#    define BOOST_PP_ITERATION_5 234
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 233 && BOOST_PP_ITERATION_START_5 >= 233
-#    define BOOST_PP_ITERATION_5 233
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 232 && BOOST_PP_ITERATION_START_5 >= 232
-#    define BOOST_PP_ITERATION_5 232
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 231 && BOOST_PP_ITERATION_START_5 >= 231
-#    define BOOST_PP_ITERATION_5 231
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 230 && BOOST_PP_ITERATION_START_5 >= 230
-#    define BOOST_PP_ITERATION_5 230
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 229 && BOOST_PP_ITERATION_START_5 >= 229
-#    define BOOST_PP_ITERATION_5 229
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 228 && BOOST_PP_ITERATION_START_5 >= 228
-#    define BOOST_PP_ITERATION_5 228
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 227 && BOOST_PP_ITERATION_START_5 >= 227
-#    define BOOST_PP_ITERATION_5 227
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 226 && BOOST_PP_ITERATION_START_5 >= 226
-#    define BOOST_PP_ITERATION_5 226
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 225 && BOOST_PP_ITERATION_START_5 >= 225
-#    define BOOST_PP_ITERATION_5 225
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 224 && BOOST_PP_ITERATION_START_5 >= 224
-#    define BOOST_PP_ITERATION_5 224
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 223 && BOOST_PP_ITERATION_START_5 >= 223
-#    define BOOST_PP_ITERATION_5 223
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 222 && BOOST_PP_ITERATION_START_5 >= 222
-#    define BOOST_PP_ITERATION_5 222
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 221 && BOOST_PP_ITERATION_START_5 >= 221
-#    define BOOST_PP_ITERATION_5 221
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 220 && BOOST_PP_ITERATION_START_5 >= 220
-#    define BOOST_PP_ITERATION_5 220
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 219 && BOOST_PP_ITERATION_START_5 >= 219
-#    define BOOST_PP_ITERATION_5 219
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 218 && BOOST_PP_ITERATION_START_5 >= 218
-#    define BOOST_PP_ITERATION_5 218
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 217 && BOOST_PP_ITERATION_START_5 >= 217
-#    define BOOST_PP_ITERATION_5 217
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 216 && BOOST_PP_ITERATION_START_5 >= 216
-#    define BOOST_PP_ITERATION_5 216
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 215 && BOOST_PP_ITERATION_START_5 >= 215
-#    define BOOST_PP_ITERATION_5 215
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 214 && BOOST_PP_ITERATION_START_5 >= 214
-#    define BOOST_PP_ITERATION_5 214
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 213 && BOOST_PP_ITERATION_START_5 >= 213
-#    define BOOST_PP_ITERATION_5 213
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 212 && BOOST_PP_ITERATION_START_5 >= 212
-#    define BOOST_PP_ITERATION_5 212
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 211 && BOOST_PP_ITERATION_START_5 >= 211
-#    define BOOST_PP_ITERATION_5 211
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 210 && BOOST_PP_ITERATION_START_5 >= 210
-#    define BOOST_PP_ITERATION_5 210
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 209 && BOOST_PP_ITERATION_START_5 >= 209
-#    define BOOST_PP_ITERATION_5 209
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 208 && BOOST_PP_ITERATION_START_5 >= 208
-#    define BOOST_PP_ITERATION_5 208
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 207 && BOOST_PP_ITERATION_START_5 >= 207
-#    define BOOST_PP_ITERATION_5 207
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 206 && BOOST_PP_ITERATION_START_5 >= 206
-#    define BOOST_PP_ITERATION_5 206
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 205 && BOOST_PP_ITERATION_START_5 >= 205
-#    define BOOST_PP_ITERATION_5 205
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 204 && BOOST_PP_ITERATION_START_5 >= 204
-#    define BOOST_PP_ITERATION_5 204
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 203 && BOOST_PP_ITERATION_START_5 >= 203
-#    define BOOST_PP_ITERATION_5 203
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 202 && BOOST_PP_ITERATION_START_5 >= 202
-#    define BOOST_PP_ITERATION_5 202
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 201 && BOOST_PP_ITERATION_START_5 >= 201
-#    define BOOST_PP_ITERATION_5 201
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 200 && BOOST_PP_ITERATION_START_5 >= 200
-#    define BOOST_PP_ITERATION_5 200
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 199 && BOOST_PP_ITERATION_START_5 >= 199
-#    define BOOST_PP_ITERATION_5 199
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 198 && BOOST_PP_ITERATION_START_5 >= 198
-#    define BOOST_PP_ITERATION_5 198
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 197 && BOOST_PP_ITERATION_START_5 >= 197
-#    define BOOST_PP_ITERATION_5 197
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 196 && BOOST_PP_ITERATION_START_5 >= 196
-#    define BOOST_PP_ITERATION_5 196
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 195 && BOOST_PP_ITERATION_START_5 >= 195
-#    define BOOST_PP_ITERATION_5 195
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 194 && BOOST_PP_ITERATION_START_5 >= 194
-#    define BOOST_PP_ITERATION_5 194
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 193 && BOOST_PP_ITERATION_START_5 >= 193
-#    define BOOST_PP_ITERATION_5 193
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 192 && BOOST_PP_ITERATION_START_5 >= 192
-#    define BOOST_PP_ITERATION_5 192
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 191 && BOOST_PP_ITERATION_START_5 >= 191
-#    define BOOST_PP_ITERATION_5 191
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 190 && BOOST_PP_ITERATION_START_5 >= 190
-#    define BOOST_PP_ITERATION_5 190
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 189 && BOOST_PP_ITERATION_START_5 >= 189
-#    define BOOST_PP_ITERATION_5 189
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 188 && BOOST_PP_ITERATION_START_5 >= 188
-#    define BOOST_PP_ITERATION_5 188
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 187 && BOOST_PP_ITERATION_START_5 >= 187
-#    define BOOST_PP_ITERATION_5 187
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 186 && BOOST_PP_ITERATION_START_5 >= 186
-#    define BOOST_PP_ITERATION_5 186
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 185 && BOOST_PP_ITERATION_START_5 >= 185
-#    define BOOST_PP_ITERATION_5 185
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 184 && BOOST_PP_ITERATION_START_5 >= 184
-#    define BOOST_PP_ITERATION_5 184
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 183 && BOOST_PP_ITERATION_START_5 >= 183
-#    define BOOST_PP_ITERATION_5 183
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 182 && BOOST_PP_ITERATION_START_5 >= 182
-#    define BOOST_PP_ITERATION_5 182
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 181 && BOOST_PP_ITERATION_START_5 >= 181
-#    define BOOST_PP_ITERATION_5 181
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 180 && BOOST_PP_ITERATION_START_5 >= 180
-#    define BOOST_PP_ITERATION_5 180
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 179 && BOOST_PP_ITERATION_START_5 >= 179
-#    define BOOST_PP_ITERATION_5 179
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 178 && BOOST_PP_ITERATION_START_5 >= 178
-#    define BOOST_PP_ITERATION_5 178
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 177 && BOOST_PP_ITERATION_START_5 >= 177
-#    define BOOST_PP_ITERATION_5 177
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 176 && BOOST_PP_ITERATION_START_5 >= 176
-#    define BOOST_PP_ITERATION_5 176
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 175 && BOOST_PP_ITERATION_START_5 >= 175
-#    define BOOST_PP_ITERATION_5 175
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 174 && BOOST_PP_ITERATION_START_5 >= 174
-#    define BOOST_PP_ITERATION_5 174
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 173 && BOOST_PP_ITERATION_START_5 >= 173
-#    define BOOST_PP_ITERATION_5 173
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 172 && BOOST_PP_ITERATION_START_5 >= 172
-#    define BOOST_PP_ITERATION_5 172
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 171 && BOOST_PP_ITERATION_START_5 >= 171
-#    define BOOST_PP_ITERATION_5 171
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 170 && BOOST_PP_ITERATION_START_5 >= 170
-#    define BOOST_PP_ITERATION_5 170
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 169 && BOOST_PP_ITERATION_START_5 >= 169
-#    define BOOST_PP_ITERATION_5 169
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 168 && BOOST_PP_ITERATION_START_5 >= 168
-#    define BOOST_PP_ITERATION_5 168
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 167 && BOOST_PP_ITERATION_START_5 >= 167
-#    define BOOST_PP_ITERATION_5 167
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 166 && BOOST_PP_ITERATION_START_5 >= 166
-#    define BOOST_PP_ITERATION_5 166
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 165 && BOOST_PP_ITERATION_START_5 >= 165
-#    define BOOST_PP_ITERATION_5 165
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 164 && BOOST_PP_ITERATION_START_5 >= 164
-#    define BOOST_PP_ITERATION_5 164
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 163 && BOOST_PP_ITERATION_START_5 >= 163
-#    define BOOST_PP_ITERATION_5 163
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 162 && BOOST_PP_ITERATION_START_5 >= 162
-#    define BOOST_PP_ITERATION_5 162
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 161 && BOOST_PP_ITERATION_START_5 >= 161
-#    define BOOST_PP_ITERATION_5 161
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 160 && BOOST_PP_ITERATION_START_5 >= 160
-#    define BOOST_PP_ITERATION_5 160
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 159 && BOOST_PP_ITERATION_START_5 >= 159
-#    define BOOST_PP_ITERATION_5 159
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 158 && BOOST_PP_ITERATION_START_5 >= 158
-#    define BOOST_PP_ITERATION_5 158
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 157 && BOOST_PP_ITERATION_START_5 >= 157
-#    define BOOST_PP_ITERATION_5 157
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 156 && BOOST_PP_ITERATION_START_5 >= 156
-#    define BOOST_PP_ITERATION_5 156
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 155 && BOOST_PP_ITERATION_START_5 >= 155
-#    define BOOST_PP_ITERATION_5 155
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 154 && BOOST_PP_ITERATION_START_5 >= 154
-#    define BOOST_PP_ITERATION_5 154
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 153 && BOOST_PP_ITERATION_START_5 >= 153
-#    define BOOST_PP_ITERATION_5 153
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 152 && BOOST_PP_ITERATION_START_5 >= 152
-#    define BOOST_PP_ITERATION_5 152
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 151 && BOOST_PP_ITERATION_START_5 >= 151
-#    define BOOST_PP_ITERATION_5 151
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 150 && BOOST_PP_ITERATION_START_5 >= 150
-#    define BOOST_PP_ITERATION_5 150
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 149 && BOOST_PP_ITERATION_START_5 >= 149
-#    define BOOST_PP_ITERATION_5 149
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 148 && BOOST_PP_ITERATION_START_5 >= 148
-#    define BOOST_PP_ITERATION_5 148
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 147 && BOOST_PP_ITERATION_START_5 >= 147
-#    define BOOST_PP_ITERATION_5 147
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 146 && BOOST_PP_ITERATION_START_5 >= 146
-#    define BOOST_PP_ITERATION_5 146
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 145 && BOOST_PP_ITERATION_START_5 >= 145
-#    define BOOST_PP_ITERATION_5 145
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 144 && BOOST_PP_ITERATION_START_5 >= 144
-#    define BOOST_PP_ITERATION_5 144
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 143 && BOOST_PP_ITERATION_START_5 >= 143
-#    define BOOST_PP_ITERATION_5 143
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 142 && BOOST_PP_ITERATION_START_5 >= 142
-#    define BOOST_PP_ITERATION_5 142
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 141 && BOOST_PP_ITERATION_START_5 >= 141
-#    define BOOST_PP_ITERATION_5 141
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 140 && BOOST_PP_ITERATION_START_5 >= 140
-#    define BOOST_PP_ITERATION_5 140
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 139 && BOOST_PP_ITERATION_START_5 >= 139
-#    define BOOST_PP_ITERATION_5 139
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 138 && BOOST_PP_ITERATION_START_5 >= 138
-#    define BOOST_PP_ITERATION_5 138
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 137 && BOOST_PP_ITERATION_START_5 >= 137
-#    define BOOST_PP_ITERATION_5 137
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 136 && BOOST_PP_ITERATION_START_5 >= 136
-#    define BOOST_PP_ITERATION_5 136
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 135 && BOOST_PP_ITERATION_START_5 >= 135
-#    define BOOST_PP_ITERATION_5 135
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 134 && BOOST_PP_ITERATION_START_5 >= 134
-#    define BOOST_PP_ITERATION_5 134
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 133 && BOOST_PP_ITERATION_START_5 >= 133
-#    define BOOST_PP_ITERATION_5 133
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 132 && BOOST_PP_ITERATION_START_5 >= 132
-#    define BOOST_PP_ITERATION_5 132
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 131 && BOOST_PP_ITERATION_START_5 >= 131
-#    define BOOST_PP_ITERATION_5 131
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 130 && BOOST_PP_ITERATION_START_5 >= 130
-#    define BOOST_PP_ITERATION_5 130
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 129 && BOOST_PP_ITERATION_START_5 >= 129
-#    define BOOST_PP_ITERATION_5 129
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 128 && BOOST_PP_ITERATION_START_5 >= 128
-#    define BOOST_PP_ITERATION_5 128
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 127 && BOOST_PP_ITERATION_START_5 >= 127
-#    define BOOST_PP_ITERATION_5 127
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 126 && BOOST_PP_ITERATION_START_5 >= 126
-#    define BOOST_PP_ITERATION_5 126
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 125 && BOOST_PP_ITERATION_START_5 >= 125
-#    define BOOST_PP_ITERATION_5 125
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 124 && BOOST_PP_ITERATION_START_5 >= 124
-#    define BOOST_PP_ITERATION_5 124
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 123 && BOOST_PP_ITERATION_START_5 >= 123
-#    define BOOST_PP_ITERATION_5 123
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 122 && BOOST_PP_ITERATION_START_5 >= 122
-#    define BOOST_PP_ITERATION_5 122
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 121 && BOOST_PP_ITERATION_START_5 >= 121
-#    define BOOST_PP_ITERATION_5 121
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 120 && BOOST_PP_ITERATION_START_5 >= 120
-#    define BOOST_PP_ITERATION_5 120
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 119 && BOOST_PP_ITERATION_START_5 >= 119
-#    define BOOST_PP_ITERATION_5 119
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 118 && BOOST_PP_ITERATION_START_5 >= 118
-#    define BOOST_PP_ITERATION_5 118
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 117 && BOOST_PP_ITERATION_START_5 >= 117
-#    define BOOST_PP_ITERATION_5 117
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 116 && BOOST_PP_ITERATION_START_5 >= 116
-#    define BOOST_PP_ITERATION_5 116
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 115 && BOOST_PP_ITERATION_START_5 >= 115
-#    define BOOST_PP_ITERATION_5 115
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 114 && BOOST_PP_ITERATION_START_5 >= 114
-#    define BOOST_PP_ITERATION_5 114
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 113 && BOOST_PP_ITERATION_START_5 >= 113
-#    define BOOST_PP_ITERATION_5 113
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 112 && BOOST_PP_ITERATION_START_5 >= 112
-#    define BOOST_PP_ITERATION_5 112
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 111 && BOOST_PP_ITERATION_START_5 >= 111
-#    define BOOST_PP_ITERATION_5 111
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 110 && BOOST_PP_ITERATION_START_5 >= 110
-#    define BOOST_PP_ITERATION_5 110
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 109 && BOOST_PP_ITERATION_START_5 >= 109
-#    define BOOST_PP_ITERATION_5 109
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 108 && BOOST_PP_ITERATION_START_5 >= 108
-#    define BOOST_PP_ITERATION_5 108
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 107 && BOOST_PP_ITERATION_START_5 >= 107
-#    define BOOST_PP_ITERATION_5 107
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 106 && BOOST_PP_ITERATION_START_5 >= 106
-#    define BOOST_PP_ITERATION_5 106
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 105 && BOOST_PP_ITERATION_START_5 >= 105
-#    define BOOST_PP_ITERATION_5 105
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 104 && BOOST_PP_ITERATION_START_5 >= 104
-#    define BOOST_PP_ITERATION_5 104
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 103 && BOOST_PP_ITERATION_START_5 >= 103
-#    define BOOST_PP_ITERATION_5 103
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 102 && BOOST_PP_ITERATION_START_5 >= 102
-#    define BOOST_PP_ITERATION_5 102
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 101 && BOOST_PP_ITERATION_START_5 >= 101
-#    define BOOST_PP_ITERATION_5 101
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 100 && BOOST_PP_ITERATION_START_5 >= 100
-#    define BOOST_PP_ITERATION_5 100
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 99 && BOOST_PP_ITERATION_START_5 >= 99
-#    define BOOST_PP_ITERATION_5 99
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 98 && BOOST_PP_ITERATION_START_5 >= 98
-#    define BOOST_PP_ITERATION_5 98
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 97 && BOOST_PP_ITERATION_START_5 >= 97
-#    define BOOST_PP_ITERATION_5 97
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 96 && BOOST_PP_ITERATION_START_5 >= 96
-#    define BOOST_PP_ITERATION_5 96
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 95 && BOOST_PP_ITERATION_START_5 >= 95
-#    define BOOST_PP_ITERATION_5 95
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 94 && BOOST_PP_ITERATION_START_5 >= 94
-#    define BOOST_PP_ITERATION_5 94
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 93 && BOOST_PP_ITERATION_START_5 >= 93
-#    define BOOST_PP_ITERATION_5 93
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 92 && BOOST_PP_ITERATION_START_5 >= 92
-#    define BOOST_PP_ITERATION_5 92
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 91 && BOOST_PP_ITERATION_START_5 >= 91
-#    define BOOST_PP_ITERATION_5 91
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 90 && BOOST_PP_ITERATION_START_5 >= 90
-#    define BOOST_PP_ITERATION_5 90
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 89 && BOOST_PP_ITERATION_START_5 >= 89
-#    define BOOST_PP_ITERATION_5 89
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 88 && BOOST_PP_ITERATION_START_5 >= 88
-#    define BOOST_PP_ITERATION_5 88
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 87 && BOOST_PP_ITERATION_START_5 >= 87
-#    define BOOST_PP_ITERATION_5 87
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 86 && BOOST_PP_ITERATION_START_5 >= 86
-#    define BOOST_PP_ITERATION_5 86
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 85 && BOOST_PP_ITERATION_START_5 >= 85
-#    define BOOST_PP_ITERATION_5 85
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 84 && BOOST_PP_ITERATION_START_5 >= 84
-#    define BOOST_PP_ITERATION_5 84
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 83 && BOOST_PP_ITERATION_START_5 >= 83
-#    define BOOST_PP_ITERATION_5 83
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 82 && BOOST_PP_ITERATION_START_5 >= 82
-#    define BOOST_PP_ITERATION_5 82
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 81 && BOOST_PP_ITERATION_START_5 >= 81
-#    define BOOST_PP_ITERATION_5 81
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 80 && BOOST_PP_ITERATION_START_5 >= 80
-#    define BOOST_PP_ITERATION_5 80
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 79 && BOOST_PP_ITERATION_START_5 >= 79
-#    define BOOST_PP_ITERATION_5 79
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 78 && BOOST_PP_ITERATION_START_5 >= 78
-#    define BOOST_PP_ITERATION_5 78
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 77 && BOOST_PP_ITERATION_START_5 >= 77
-#    define BOOST_PP_ITERATION_5 77
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 76 && BOOST_PP_ITERATION_START_5 >= 76
-#    define BOOST_PP_ITERATION_5 76
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 75 && BOOST_PP_ITERATION_START_5 >= 75
-#    define BOOST_PP_ITERATION_5 75
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 74 && BOOST_PP_ITERATION_START_5 >= 74
-#    define BOOST_PP_ITERATION_5 74
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 73 && BOOST_PP_ITERATION_START_5 >= 73
-#    define BOOST_PP_ITERATION_5 73
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 72 && BOOST_PP_ITERATION_START_5 >= 72
-#    define BOOST_PP_ITERATION_5 72
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 71 && BOOST_PP_ITERATION_START_5 >= 71
-#    define BOOST_PP_ITERATION_5 71
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 70 && BOOST_PP_ITERATION_START_5 >= 70
-#    define BOOST_PP_ITERATION_5 70
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 69 && BOOST_PP_ITERATION_START_5 >= 69
-#    define BOOST_PP_ITERATION_5 69
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 68 && BOOST_PP_ITERATION_START_5 >= 68
-#    define BOOST_PP_ITERATION_5 68
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 67 && BOOST_PP_ITERATION_START_5 >= 67
-#    define BOOST_PP_ITERATION_5 67
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 66 && BOOST_PP_ITERATION_START_5 >= 66
-#    define BOOST_PP_ITERATION_5 66
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 65 && BOOST_PP_ITERATION_START_5 >= 65
-#    define BOOST_PP_ITERATION_5 65
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 64 && BOOST_PP_ITERATION_START_5 >= 64
-#    define BOOST_PP_ITERATION_5 64
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 63 && BOOST_PP_ITERATION_START_5 >= 63
-#    define BOOST_PP_ITERATION_5 63
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 62 && BOOST_PP_ITERATION_START_5 >= 62
-#    define BOOST_PP_ITERATION_5 62
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 61 && BOOST_PP_ITERATION_START_5 >= 61
-#    define BOOST_PP_ITERATION_5 61
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 60 && BOOST_PP_ITERATION_START_5 >= 60
-#    define BOOST_PP_ITERATION_5 60
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 59 && BOOST_PP_ITERATION_START_5 >= 59
-#    define BOOST_PP_ITERATION_5 59
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 58 && BOOST_PP_ITERATION_START_5 >= 58
-#    define BOOST_PP_ITERATION_5 58
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 57 && BOOST_PP_ITERATION_START_5 >= 57
-#    define BOOST_PP_ITERATION_5 57
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 56 && BOOST_PP_ITERATION_START_5 >= 56
-#    define BOOST_PP_ITERATION_5 56
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 55 && BOOST_PP_ITERATION_START_5 >= 55
-#    define BOOST_PP_ITERATION_5 55
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 54 && BOOST_PP_ITERATION_START_5 >= 54
-#    define BOOST_PP_ITERATION_5 54
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 53 && BOOST_PP_ITERATION_START_5 >= 53
-#    define BOOST_PP_ITERATION_5 53
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 52 && BOOST_PP_ITERATION_START_5 >= 52
-#    define BOOST_PP_ITERATION_5 52
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 51 && BOOST_PP_ITERATION_START_5 >= 51
-#    define BOOST_PP_ITERATION_5 51
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 50 && BOOST_PP_ITERATION_START_5 >= 50
-#    define BOOST_PP_ITERATION_5 50
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 49 && BOOST_PP_ITERATION_START_5 >= 49
-#    define BOOST_PP_ITERATION_5 49
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 48 && BOOST_PP_ITERATION_START_5 >= 48
-#    define BOOST_PP_ITERATION_5 48
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 47 && BOOST_PP_ITERATION_START_5 >= 47
-#    define BOOST_PP_ITERATION_5 47
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 46 && BOOST_PP_ITERATION_START_5 >= 46
-#    define BOOST_PP_ITERATION_5 46
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 45 && BOOST_PP_ITERATION_START_5 >= 45
-#    define BOOST_PP_ITERATION_5 45
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 44 && BOOST_PP_ITERATION_START_5 >= 44
-#    define BOOST_PP_ITERATION_5 44
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 43 && BOOST_PP_ITERATION_START_5 >= 43
-#    define BOOST_PP_ITERATION_5 43
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 42 && BOOST_PP_ITERATION_START_5 >= 42
-#    define BOOST_PP_ITERATION_5 42
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 41 && BOOST_PP_ITERATION_START_5 >= 41
-#    define BOOST_PP_ITERATION_5 41
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 40 && BOOST_PP_ITERATION_START_5 >= 40
-#    define BOOST_PP_ITERATION_5 40
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 39 && BOOST_PP_ITERATION_START_5 >= 39
-#    define BOOST_PP_ITERATION_5 39
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 38 && BOOST_PP_ITERATION_START_5 >= 38
-#    define BOOST_PP_ITERATION_5 38
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 37 && BOOST_PP_ITERATION_START_5 >= 37
-#    define BOOST_PP_ITERATION_5 37
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 36 && BOOST_PP_ITERATION_START_5 >= 36
-#    define BOOST_PP_ITERATION_5 36
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 35 && BOOST_PP_ITERATION_START_5 >= 35
-#    define BOOST_PP_ITERATION_5 35
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 34 && BOOST_PP_ITERATION_START_5 >= 34
-#    define BOOST_PP_ITERATION_5 34
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 33 && BOOST_PP_ITERATION_START_5 >= 33
-#    define BOOST_PP_ITERATION_5 33
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 32 && BOOST_PP_ITERATION_START_5 >= 32
-#    define BOOST_PP_ITERATION_5 32
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 31 && BOOST_PP_ITERATION_START_5 >= 31
-#    define BOOST_PP_ITERATION_5 31
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 30 && BOOST_PP_ITERATION_START_5 >= 30
-#    define BOOST_PP_ITERATION_5 30
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 29 && BOOST_PP_ITERATION_START_5 >= 29
-#    define BOOST_PP_ITERATION_5 29
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 28 && BOOST_PP_ITERATION_START_5 >= 28
-#    define BOOST_PP_ITERATION_5 28
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 27 && BOOST_PP_ITERATION_START_5 >= 27
-#    define BOOST_PP_ITERATION_5 27
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 26 && BOOST_PP_ITERATION_START_5 >= 26
-#    define BOOST_PP_ITERATION_5 26
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 25 && BOOST_PP_ITERATION_START_5 >= 25
-#    define BOOST_PP_ITERATION_5 25
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 24 && BOOST_PP_ITERATION_START_5 >= 24
-#    define BOOST_PP_ITERATION_5 24
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 23 && BOOST_PP_ITERATION_START_5 >= 23
-#    define BOOST_PP_ITERATION_5 23
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 22 && BOOST_PP_ITERATION_START_5 >= 22
-#    define BOOST_PP_ITERATION_5 22
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 21 && BOOST_PP_ITERATION_START_5 >= 21
-#    define BOOST_PP_ITERATION_5 21
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 20 && BOOST_PP_ITERATION_START_5 >= 20
-#    define BOOST_PP_ITERATION_5 20
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 19 && BOOST_PP_ITERATION_START_5 >= 19
-#    define BOOST_PP_ITERATION_5 19
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 18 && BOOST_PP_ITERATION_START_5 >= 18
-#    define BOOST_PP_ITERATION_5 18
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 17 && BOOST_PP_ITERATION_START_5 >= 17
-#    define BOOST_PP_ITERATION_5 17
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 16 && BOOST_PP_ITERATION_START_5 >= 16
-#    define BOOST_PP_ITERATION_5 16
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 15 && BOOST_PP_ITERATION_START_5 >= 15
-#    define BOOST_PP_ITERATION_5 15
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 14 && BOOST_PP_ITERATION_START_5 >= 14
-#    define BOOST_PP_ITERATION_5 14
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 13 && BOOST_PP_ITERATION_START_5 >= 13
-#    define BOOST_PP_ITERATION_5 13
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 12 && BOOST_PP_ITERATION_START_5 >= 12
-#    define BOOST_PP_ITERATION_5 12
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 11 && BOOST_PP_ITERATION_START_5 >= 11
-#    define BOOST_PP_ITERATION_5 11
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 10 && BOOST_PP_ITERATION_START_5 >= 10
-#    define BOOST_PP_ITERATION_5 10
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 9 && BOOST_PP_ITERATION_START_5 >= 9
-#    define BOOST_PP_ITERATION_5 9
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 8 && BOOST_PP_ITERATION_START_5 >= 8
-#    define BOOST_PP_ITERATION_5 8
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 7 && BOOST_PP_ITERATION_START_5 >= 7
-#    define BOOST_PP_ITERATION_5 7
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 6 && BOOST_PP_ITERATION_START_5 >= 6
-#    define BOOST_PP_ITERATION_5 6
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 5 && BOOST_PP_ITERATION_START_5 >= 5
-#    define BOOST_PP_ITERATION_5 5
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 4 && BOOST_PP_ITERATION_START_5 >= 4
-#    define BOOST_PP_ITERATION_5 4
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 3 && BOOST_PP_ITERATION_START_5 >= 3
-#    define BOOST_PP_ITERATION_5 3
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 2 && BOOST_PP_ITERATION_START_5 >= 2
-#    define BOOST_PP_ITERATION_5 2
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 1 && BOOST_PP_ITERATION_START_5 >= 1
-#    define BOOST_PP_ITERATION_5 1
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 0 && BOOST_PP_ITERATION_START_5 >= 0
-#    define BOOST_PP_ITERATION_5 0
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/local.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/local.hpp
deleted file mode 100755
index 126ff1d..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/local.hpp
+++ /dev/null
@@ -1,812 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if !defined(BOOST_PP_LOCAL_LIMITS)
-#    error BOOST_PP_ERROR:  local iteration boundaries are not defined
-# elif !defined(BOOST_PP_LOCAL_MACRO)
-#    error BOOST_PP_ERROR:  local iteration target macro is not defined
-# else
-#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#        define BOOST_PP_LOCAL_S BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_LOCAL_LIMITS)
-#        define BOOST_PP_LOCAL_F BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_LOCAL_LIMITS)
-#    else
-#        define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_LOCAL_LIMITS)
-#        include <boost/preprocessor/iteration/detail/start.hpp>
-#        define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_LOCAL_LIMITS)
-#        include <boost/preprocessor/iteration/detail/finish.hpp>
-#        define BOOST_PP_LOCAL_S BOOST_PP_LOCAL_SE()
-#        define BOOST_PP_LOCAL_F BOOST_PP_LOCAL_FE()
-#    endif
-# endif
-#
-# if (BOOST_PP_LOCAL_S) > (BOOST_PP_LOCAL_F)
-#    include <boost/preprocessor/iteration/detail/rlocal.hpp>
-# else
-#    if BOOST_PP_LOCAL_C(0)
-        BOOST_PP_LOCAL_MACRO(0)
-#    endif
-#    if BOOST_PP_LOCAL_C(1)
-        BOOST_PP_LOCAL_MACRO(1)
-#    endif
-#    if BOOST_PP_LOCAL_C(2)
-        BOOST_PP_LOCAL_MACRO(2)
-#    endif
-#    if BOOST_PP_LOCAL_C(3)
-        BOOST_PP_LOCAL_MACRO(3)
-#    endif
-#    if BOOST_PP_LOCAL_C(4)
-        BOOST_PP_LOCAL_MACRO(4)
-#    endif
-#    if BOOST_PP_LOCAL_C(5)
-        BOOST_PP_LOCAL_MACRO(5)
-#    endif
-#    if BOOST_PP_LOCAL_C(6)
-        BOOST_PP_LOCAL_MACRO(6)
-#    endif
-#    if BOOST_PP_LOCAL_C(7)
-        BOOST_PP_LOCAL_MACRO(7)
-#    endif
-#    if BOOST_PP_LOCAL_C(8)
-        BOOST_PP_LOCAL_MACRO(8)
-#    endif
-#    if BOOST_PP_LOCAL_C(9)
-        BOOST_PP_LOCAL_MACRO(9)
-#    endif
-#    if BOOST_PP_LOCAL_C(10)
-        BOOST_PP_LOCAL_MACRO(10)
-#    endif
-#    if BOOST_PP_LOCAL_C(11)
-        BOOST_PP_LOCAL_MACRO(11)
-#    endif
-#    if BOOST_PP_LOCAL_C(12)
-        BOOST_PP_LOCAL_MACRO(12)
-#    endif
-#    if BOOST_PP_LOCAL_C(13)
-        BOOST_PP_LOCAL_MACRO(13)
-#    endif
-#    if BOOST_PP_LOCAL_C(14)
-        BOOST_PP_LOCAL_MACRO(14)
-#    endif
-#    if BOOST_PP_LOCAL_C(15)
-        BOOST_PP_LOCAL_MACRO(15)
-#    endif
-#    if BOOST_PP_LOCAL_C(16)
-        BOOST_PP_LOCAL_MACRO(16)
-#    endif
-#    if BOOST_PP_LOCAL_C(17)
-        BOOST_PP_LOCAL_MACRO(17)
-#    endif
-#    if BOOST_PP_LOCAL_C(18)
-        BOOST_PP_LOCAL_MACRO(18)
-#    endif
-#    if BOOST_PP_LOCAL_C(19)
-        BOOST_PP_LOCAL_MACRO(19)
-#    endif
-#    if BOOST_PP_LOCAL_C(20)
-        BOOST_PP_LOCAL_MACRO(20)
-#    endif
-#    if BOOST_PP_LOCAL_C(21)
-        BOOST_PP_LOCAL_MACRO(21)
-#    endif
-#    if BOOST_PP_LOCAL_C(22)
-        BOOST_PP_LOCAL_MACRO(22)
-#    endif
-#    if BOOST_PP_LOCAL_C(23)
-        BOOST_PP_LOCAL_MACRO(23)
-#    endif
-#    if BOOST_PP_LOCAL_C(24)
-        BOOST_PP_LOCAL_MACRO(24)
-#    endif
-#    if BOOST_PP_LOCAL_C(25)
-        BOOST_PP_LOCAL_MACRO(25)
-#    endif
-#    if BOOST_PP_LOCAL_C(26)
-        BOOST_PP_LOCAL_MACRO(26)
-#    endif
-#    if BOOST_PP_LOCAL_C(27)
-        BOOST_PP_LOCAL_MACRO(27)
-#    endif
-#    if BOOST_PP_LOCAL_C(28)
-        BOOST_PP_LOCAL_MACRO(28)
-#    endif
-#    if BOOST_PP_LOCAL_C(29)
-        BOOST_PP_LOCAL_MACRO(29)
-#    endif
-#    if BOOST_PP_LOCAL_C(30)
-        BOOST_PP_LOCAL_MACRO(30)
-#    endif
-#    if BOOST_PP_LOCAL_C(31)
-        BOOST_PP_LOCAL_MACRO(31)
-#    endif
-#    if BOOST_PP_LOCAL_C(32)
-        BOOST_PP_LOCAL_MACRO(32)
-#    endif
-#    if BOOST_PP_LOCAL_C(33)
-        BOOST_PP_LOCAL_MACRO(33)
-#    endif
-#    if BOOST_PP_LOCAL_C(34)
-        BOOST_PP_LOCAL_MACRO(34)
-#    endif
-#    if BOOST_PP_LOCAL_C(35)
-        BOOST_PP_LOCAL_MACRO(35)
-#    endif
-#    if BOOST_PP_LOCAL_C(36)
-        BOOST_PP_LOCAL_MACRO(36)
-#    endif
-#    if BOOST_PP_LOCAL_C(37)
-        BOOST_PP_LOCAL_MACRO(37)
-#    endif
-#    if BOOST_PP_LOCAL_C(38)
-        BOOST_PP_LOCAL_MACRO(38)
-#    endif
-#    if BOOST_PP_LOCAL_C(39)
-        BOOST_PP_LOCAL_MACRO(39)
-#    endif
-#    if BOOST_PP_LOCAL_C(40)
-        BOOST_PP_LOCAL_MACRO(40)
-#    endif
-#    if BOOST_PP_LOCAL_C(41)
-        BOOST_PP_LOCAL_MACRO(41)
-#    endif
-#    if BOOST_PP_LOCAL_C(42)
-        BOOST_PP_LOCAL_MACRO(42)
-#    endif
-#    if BOOST_PP_LOCAL_C(43)
-        BOOST_PP_LOCAL_MACRO(43)
-#    endif
-#    if BOOST_PP_LOCAL_C(44)
-        BOOST_PP_LOCAL_MACRO(44)
-#    endif
-#    if BOOST_PP_LOCAL_C(45)
-        BOOST_PP_LOCAL_MACRO(45)
-#    endif
-#    if BOOST_PP_LOCAL_C(46)
-        BOOST_PP_LOCAL_MACRO(46)
-#    endif
-#    if BOOST_PP_LOCAL_C(47)
-        BOOST_PP_LOCAL_MACRO(47)
-#    endif
-#    if BOOST_PP_LOCAL_C(48)
-        BOOST_PP_LOCAL_MACRO(48)
-#    endif
-#    if BOOST_PP_LOCAL_C(49)
-        BOOST_PP_LOCAL_MACRO(49)
-#    endif
-#    if BOOST_PP_LOCAL_C(50)
-        BOOST_PP_LOCAL_MACRO(50)
-#    endif
-#    if BOOST_PP_LOCAL_C(51)
-        BOOST_PP_LOCAL_MACRO(51)
-#    endif
-#    if BOOST_PP_LOCAL_C(52)
-        BOOST_PP_LOCAL_MACRO(52)
-#    endif
-#    if BOOST_PP_LOCAL_C(53)
-        BOOST_PP_LOCAL_MACRO(53)
-#    endif
-#    if BOOST_PP_LOCAL_C(54)
-        BOOST_PP_LOCAL_MACRO(54)
-#    endif
-#    if BOOST_PP_LOCAL_C(55)
-        BOOST_PP_LOCAL_MACRO(55)
-#    endif
-#    if BOOST_PP_LOCAL_C(56)
-        BOOST_PP_LOCAL_MACRO(56)
-#    endif
-#    if BOOST_PP_LOCAL_C(57)
-        BOOST_PP_LOCAL_MACRO(57)
-#    endif
-#    if BOOST_PP_LOCAL_C(58)
-        BOOST_PP_LOCAL_MACRO(58)
-#    endif
-#    if BOOST_PP_LOCAL_C(59)
-        BOOST_PP_LOCAL_MACRO(59)
-#    endif
-#    if BOOST_PP_LOCAL_C(60)
-        BOOST_PP_LOCAL_MACRO(60)
-#    endif
-#    if BOOST_PP_LOCAL_C(61)
-        BOOST_PP_LOCAL_MACRO(61)
-#    endif
-#    if BOOST_PP_LOCAL_C(62)
-        BOOST_PP_LOCAL_MACRO(62)
-#    endif
-#    if BOOST_PP_LOCAL_C(63)
-        BOOST_PP_LOCAL_MACRO(63)
-#    endif
-#    if BOOST_PP_LOCAL_C(64)
-        BOOST_PP_LOCAL_MACRO(64)
-#    endif
-#    if BOOST_PP_LOCAL_C(65)
-        BOOST_PP_LOCAL_MACRO(65)
-#    endif
-#    if BOOST_PP_LOCAL_C(66)
-        BOOST_PP_LOCAL_MACRO(66)
-#    endif
-#    if BOOST_PP_LOCAL_C(67)
-        BOOST_PP_LOCAL_MACRO(67)
-#    endif
-#    if BOOST_PP_LOCAL_C(68)
-        BOOST_PP_LOCAL_MACRO(68)
-#    endif
-#    if BOOST_PP_LOCAL_C(69)
-        BOOST_PP_LOCAL_MACRO(69)
-#    endif
-#    if BOOST_PP_LOCAL_C(70)
-        BOOST_PP_LOCAL_MACRO(70)
-#    endif
-#    if BOOST_PP_LOCAL_C(71)
-        BOOST_PP_LOCAL_MACRO(71)
-#    endif
-#    if BOOST_PP_LOCAL_C(72)
-        BOOST_PP_LOCAL_MACRO(72)
-#    endif
-#    if BOOST_PP_LOCAL_C(73)
-        BOOST_PP_LOCAL_MACRO(73)
-#    endif
-#    if BOOST_PP_LOCAL_C(74)
-        BOOST_PP_LOCAL_MACRO(74)
-#    endif
-#    if BOOST_PP_LOCAL_C(75)
-        BOOST_PP_LOCAL_MACRO(75)
-#    endif
-#    if BOOST_PP_LOCAL_C(76)
-        BOOST_PP_LOCAL_MACRO(76)
-#    endif
-#    if BOOST_PP_LOCAL_C(77)
-        BOOST_PP_LOCAL_MACRO(77)
-#    endif
-#    if BOOST_PP_LOCAL_C(78)
-        BOOST_PP_LOCAL_MACRO(78)
-#    endif
-#    if BOOST_PP_LOCAL_C(79)
-        BOOST_PP_LOCAL_MACRO(79)
-#    endif
-#    if BOOST_PP_LOCAL_C(80)
-        BOOST_PP_LOCAL_MACRO(80)
-#    endif
-#    if BOOST_PP_LOCAL_C(81)
-        BOOST_PP_LOCAL_MACRO(81)
-#    endif
-#    if BOOST_PP_LOCAL_C(82)
-        BOOST_PP_LOCAL_MACRO(82)
-#    endif
-#    if BOOST_PP_LOCAL_C(83)
-        BOOST_PP_LOCAL_MACRO(83)
-#    endif
-#    if BOOST_PP_LOCAL_C(84)
-        BOOST_PP_LOCAL_MACRO(84)
-#    endif
-#    if BOOST_PP_LOCAL_C(85)
-        BOOST_PP_LOCAL_MACRO(85)
-#    endif
-#    if BOOST_PP_LOCAL_C(86)
-        BOOST_PP_LOCAL_MACRO(86)
-#    endif
-#    if BOOST_PP_LOCAL_C(87)
-        BOOST_PP_LOCAL_MACRO(87)
-#    endif
-#    if BOOST_PP_LOCAL_C(88)
-        BOOST_PP_LOCAL_MACRO(88)
-#    endif
-#    if BOOST_PP_LOCAL_C(89)
-        BOOST_PP_LOCAL_MACRO(89)
-#    endif
-#    if BOOST_PP_LOCAL_C(90)
-        BOOST_PP_LOCAL_MACRO(90)
-#    endif
-#    if BOOST_PP_LOCAL_C(91)
-        BOOST_PP_LOCAL_MACRO(91)
-#    endif
-#    if BOOST_PP_LOCAL_C(92)
-        BOOST_PP_LOCAL_MACRO(92)
-#    endif
-#    if BOOST_PP_LOCAL_C(93)
-        BOOST_PP_LOCAL_MACRO(93)
-#    endif
-#    if BOOST_PP_LOCAL_C(94)
-        BOOST_PP_LOCAL_MACRO(94)
-#    endif
-#    if BOOST_PP_LOCAL_C(95)
-        BOOST_PP_LOCAL_MACRO(95)
-#    endif
-#    if BOOST_PP_LOCAL_C(96)
-        BOOST_PP_LOCAL_MACRO(96)
-#    endif
-#    if BOOST_PP_LOCAL_C(97)
-        BOOST_PP_LOCAL_MACRO(97)
-#    endif
-#    if BOOST_PP_LOCAL_C(98)
-        BOOST_PP_LOCAL_MACRO(98)
-#    endif
-#    if BOOST_PP_LOCAL_C(99)
-        BOOST_PP_LOCAL_MACRO(99)
-#    endif
-#    if BOOST_PP_LOCAL_C(100)
-        BOOST_PP_LOCAL_MACRO(100)
-#    endif
-#    if BOOST_PP_LOCAL_C(101)
-        BOOST_PP_LOCAL_MACRO(101)
-#    endif
-#    if BOOST_PP_LOCAL_C(102)
-        BOOST_PP_LOCAL_MACRO(102)
-#    endif
-#    if BOOST_PP_LOCAL_C(103)
-        BOOST_PP_LOCAL_MACRO(103)
-#    endif
-#    if BOOST_PP_LOCAL_C(104)
-        BOOST_PP_LOCAL_MACRO(104)
-#    endif
-#    if BOOST_PP_LOCAL_C(105)
-        BOOST_PP_LOCAL_MACRO(105)
-#    endif
-#    if BOOST_PP_LOCAL_C(106)
-        BOOST_PP_LOCAL_MACRO(106)
-#    endif
-#    if BOOST_PP_LOCAL_C(107)
-        BOOST_PP_LOCAL_MACRO(107)
-#    endif
-#    if BOOST_PP_LOCAL_C(108)
-        BOOST_PP_LOCAL_MACRO(108)
-#    endif
-#    if BOOST_PP_LOCAL_C(109)
-        BOOST_PP_LOCAL_MACRO(109)
-#    endif
-#    if BOOST_PP_LOCAL_C(110)
-        BOOST_PP_LOCAL_MACRO(110)
-#    endif
-#    if BOOST_PP_LOCAL_C(111)
-        BOOST_PP_LOCAL_MACRO(111)
-#    endif
-#    if BOOST_PP_LOCAL_C(112)
-        BOOST_PP_LOCAL_MACRO(112)
-#    endif
-#    if BOOST_PP_LOCAL_C(113)
-        BOOST_PP_LOCAL_MACRO(113)
-#    endif
-#    if BOOST_PP_LOCAL_C(114)
-        BOOST_PP_LOCAL_MACRO(114)
-#    endif
-#    if BOOST_PP_LOCAL_C(115)
-        BOOST_PP_LOCAL_MACRO(115)
-#    endif
-#    if BOOST_PP_LOCAL_C(116)
-        BOOST_PP_LOCAL_MACRO(116)
-#    endif
-#    if BOOST_PP_LOCAL_C(117)
-        BOOST_PP_LOCAL_MACRO(117)
-#    endif
-#    if BOOST_PP_LOCAL_C(118)
-        BOOST_PP_LOCAL_MACRO(118)
-#    endif
-#    if BOOST_PP_LOCAL_C(119)
-        BOOST_PP_LOCAL_MACRO(119)
-#    endif
-#    if BOOST_PP_LOCAL_C(120)
-        BOOST_PP_LOCAL_MACRO(120)
-#    endif
-#    if BOOST_PP_LOCAL_C(121)
-        BOOST_PP_LOCAL_MACRO(121)
-#    endif
-#    if BOOST_PP_LOCAL_C(122)
-        BOOST_PP_LOCAL_MACRO(122)
-#    endif
-#    if BOOST_PP_LOCAL_C(123)
-        BOOST_PP_LOCAL_MACRO(123)
-#    endif
-#    if BOOST_PP_LOCAL_C(124)
-        BOOST_PP_LOCAL_MACRO(124)
-#    endif
-#    if BOOST_PP_LOCAL_C(125)
-        BOOST_PP_LOCAL_MACRO(125)
-#    endif
-#    if BOOST_PP_LOCAL_C(126)
-        BOOST_PP_LOCAL_MACRO(126)
-#    endif
-#    if BOOST_PP_LOCAL_C(127)
-        BOOST_PP_LOCAL_MACRO(127)
-#    endif
-#    if BOOST_PP_LOCAL_C(128)
-        BOOST_PP_LOCAL_MACRO(128)
-#    endif
-#    if BOOST_PP_LOCAL_C(129)
-        BOOST_PP_LOCAL_MACRO(129)
-#    endif
-#    if BOOST_PP_LOCAL_C(130)
-        BOOST_PP_LOCAL_MACRO(130)
-#    endif
-#    if BOOST_PP_LOCAL_C(131)
-        BOOST_PP_LOCAL_MACRO(131)
-#    endif
-#    if BOOST_PP_LOCAL_C(132)
-        BOOST_PP_LOCAL_MACRO(132)
-#    endif
-#    if BOOST_PP_LOCAL_C(133)
-        BOOST_PP_LOCAL_MACRO(133)
-#    endif
-#    if BOOST_PP_LOCAL_C(134)
-        BOOST_PP_LOCAL_MACRO(134)
-#    endif
-#    if BOOST_PP_LOCAL_C(135)
-        BOOST_PP_LOCAL_MACRO(135)
-#    endif
-#    if BOOST_PP_LOCAL_C(136)
-        BOOST_PP_LOCAL_MACRO(136)
-#    endif
-#    if BOOST_PP_LOCAL_C(137)
-        BOOST_PP_LOCAL_MACRO(137)
-#    endif
-#    if BOOST_PP_LOCAL_C(138)
-        BOOST_PP_LOCAL_MACRO(138)
-#    endif
-#    if BOOST_PP_LOCAL_C(139)
-        BOOST_PP_LOCAL_MACRO(139)
-#    endif
-#    if BOOST_PP_LOCAL_C(140)
-        BOOST_PP_LOCAL_MACRO(140)
-#    endif
-#    if BOOST_PP_LOCAL_C(141)
-        BOOST_PP_LOCAL_MACRO(141)
-#    endif
-#    if BOOST_PP_LOCAL_C(142)
-        BOOST_PP_LOCAL_MACRO(142)
-#    endif
-#    if BOOST_PP_LOCAL_C(143)
-        BOOST_PP_LOCAL_MACRO(143)
-#    endif
-#    if BOOST_PP_LOCAL_C(144)
-        BOOST_PP_LOCAL_MACRO(144)
-#    endif
-#    if BOOST_PP_LOCAL_C(145)
-        BOOST_PP_LOCAL_MACRO(145)
-#    endif
-#    if BOOST_PP_LOCAL_C(146)
-        BOOST_PP_LOCAL_MACRO(146)
-#    endif
-#    if BOOST_PP_LOCAL_C(147)
-        BOOST_PP_LOCAL_MACRO(147)
-#    endif
-#    if BOOST_PP_LOCAL_C(148)
-        BOOST_PP_LOCAL_MACRO(148)
-#    endif
-#    if BOOST_PP_LOCAL_C(149)
-        BOOST_PP_LOCAL_MACRO(149)
-#    endif
-#    if BOOST_PP_LOCAL_C(150)
-        BOOST_PP_LOCAL_MACRO(150)
-#    endif
-#    if BOOST_PP_LOCAL_C(151)
-        BOOST_PP_LOCAL_MACRO(151)
-#    endif
-#    if BOOST_PP_LOCAL_C(152)
-        BOOST_PP_LOCAL_MACRO(152)
-#    endif
-#    if BOOST_PP_LOCAL_C(153)
-        BOOST_PP_LOCAL_MACRO(153)
-#    endif
-#    if BOOST_PP_LOCAL_C(154)
-        BOOST_PP_LOCAL_MACRO(154)
-#    endif
-#    if BOOST_PP_LOCAL_C(155)
-        BOOST_PP_LOCAL_MACRO(155)
-#    endif
-#    if BOOST_PP_LOCAL_C(156)
-        BOOST_PP_LOCAL_MACRO(156)
-#    endif
-#    if BOOST_PP_LOCAL_C(157)
-        BOOST_PP_LOCAL_MACRO(157)
-#    endif
-#    if BOOST_PP_LOCAL_C(158)
-        BOOST_PP_LOCAL_MACRO(158)
-#    endif
-#    if BOOST_PP_LOCAL_C(159)
-        BOOST_PP_LOCAL_MACRO(159)
-#    endif
-#    if BOOST_PP_LOCAL_C(160)
-        BOOST_PP_LOCAL_MACRO(160)
-#    endif
-#    if BOOST_PP_LOCAL_C(161)
-        BOOST_PP_LOCAL_MACRO(161)
-#    endif
-#    if BOOST_PP_LOCAL_C(162)
-        BOOST_PP_LOCAL_MACRO(162)
-#    endif
-#    if BOOST_PP_LOCAL_C(163)
-        BOOST_PP_LOCAL_MACRO(163)
-#    endif
-#    if BOOST_PP_LOCAL_C(164)
-        BOOST_PP_LOCAL_MACRO(164)
-#    endif
-#    if BOOST_PP_LOCAL_C(165)
-        BOOST_PP_LOCAL_MACRO(165)
-#    endif
-#    if BOOST_PP_LOCAL_C(166)
-        BOOST_PP_LOCAL_MACRO(166)
-#    endif
-#    if BOOST_PP_LOCAL_C(167)
-        BOOST_PP_LOCAL_MACRO(167)
-#    endif
-#    if BOOST_PP_LOCAL_C(168)
-        BOOST_PP_LOCAL_MACRO(168)
-#    endif
-#    if BOOST_PP_LOCAL_C(169)
-        BOOST_PP_LOCAL_MACRO(169)
-#    endif
-#    if BOOST_PP_LOCAL_C(170)
-        BOOST_PP_LOCAL_MACRO(170)
-#    endif
-#    if BOOST_PP_LOCAL_C(171)
-        BOOST_PP_LOCAL_MACRO(171)
-#    endif
-#    if BOOST_PP_LOCAL_C(172)
-        BOOST_PP_LOCAL_MACRO(172)
-#    endif
-#    if BOOST_PP_LOCAL_C(173)
-        BOOST_PP_LOCAL_MACRO(173)
-#    endif
-#    if BOOST_PP_LOCAL_C(174)
-        BOOST_PP_LOCAL_MACRO(174)
-#    endif
-#    if BOOST_PP_LOCAL_C(175)
-        BOOST_PP_LOCAL_MACRO(175)
-#    endif
-#    if BOOST_PP_LOCAL_C(176)
-        BOOST_PP_LOCAL_MACRO(176)
-#    endif
-#    if BOOST_PP_LOCAL_C(177)
-        BOOST_PP_LOCAL_MACRO(177)
-#    endif
-#    if BOOST_PP_LOCAL_C(178)
-        BOOST_PP_LOCAL_MACRO(178)
-#    endif
-#    if BOOST_PP_LOCAL_C(179)
-        BOOST_PP_LOCAL_MACRO(179)
-#    endif
-#    if BOOST_PP_LOCAL_C(180)
-        BOOST_PP_LOCAL_MACRO(180)
-#    endif
-#    if BOOST_PP_LOCAL_C(181)
-        BOOST_PP_LOCAL_MACRO(181)
-#    endif
-#    if BOOST_PP_LOCAL_C(182)
-        BOOST_PP_LOCAL_MACRO(182)
-#    endif
-#    if BOOST_PP_LOCAL_C(183)
-        BOOST_PP_LOCAL_MACRO(183)
-#    endif
-#    if BOOST_PP_LOCAL_C(184)
-        BOOST_PP_LOCAL_MACRO(184)
-#    endif
-#    if BOOST_PP_LOCAL_C(185)
-        BOOST_PP_LOCAL_MACRO(185)
-#    endif
-#    if BOOST_PP_LOCAL_C(186)
-        BOOST_PP_LOCAL_MACRO(186)
-#    endif
-#    if BOOST_PP_LOCAL_C(187)
-        BOOST_PP_LOCAL_MACRO(187)
-#    endif
-#    if BOOST_PP_LOCAL_C(188)
-        BOOST_PP_LOCAL_MACRO(188)
-#    endif
-#    if BOOST_PP_LOCAL_C(189)
-        BOOST_PP_LOCAL_MACRO(189)
-#    endif
-#    if BOOST_PP_LOCAL_C(190)
-        BOOST_PP_LOCAL_MACRO(190)
-#    endif
-#    if BOOST_PP_LOCAL_C(191)
-        BOOST_PP_LOCAL_MACRO(191)
-#    endif
-#    if BOOST_PP_LOCAL_C(192)
-        BOOST_PP_LOCAL_MACRO(192)
-#    endif
-#    if BOOST_PP_LOCAL_C(193)
-        BOOST_PP_LOCAL_MACRO(193)
-#    endif
-#    if BOOST_PP_LOCAL_C(194)
-        BOOST_PP_LOCAL_MACRO(194)
-#    endif
-#    if BOOST_PP_LOCAL_C(195)
-        BOOST_PP_LOCAL_MACRO(195)
-#    endif
-#    if BOOST_PP_LOCAL_C(196)
-        BOOST_PP_LOCAL_MACRO(196)
-#    endif
-#    if BOOST_PP_LOCAL_C(197)
-        BOOST_PP_LOCAL_MACRO(197)
-#    endif
-#    if BOOST_PP_LOCAL_C(198)
-        BOOST_PP_LOCAL_MACRO(198)
-#    endif
-#    if BOOST_PP_LOCAL_C(199)
-        BOOST_PP_LOCAL_MACRO(199)
-#    endif
-#    if BOOST_PP_LOCAL_C(200)
-        BOOST_PP_LOCAL_MACRO(200)
-#    endif
-#    if BOOST_PP_LOCAL_C(201)
-        BOOST_PP_LOCAL_MACRO(201)
-#    endif
-#    if BOOST_PP_LOCAL_C(202)
-        BOOST_PP_LOCAL_MACRO(202)
-#    endif
-#    if BOOST_PP_LOCAL_C(203)
-        BOOST_PP_LOCAL_MACRO(203)
-#    endif
-#    if BOOST_PP_LOCAL_C(204)
-        BOOST_PP_LOCAL_MACRO(204)
-#    endif
-#    if BOOST_PP_LOCAL_C(205)
-        BOOST_PP_LOCAL_MACRO(205)
-#    endif
-#    if BOOST_PP_LOCAL_C(206)
-        BOOST_PP_LOCAL_MACRO(206)
-#    endif
-#    if BOOST_PP_LOCAL_C(207)
-        BOOST_PP_LOCAL_MACRO(207)
-#    endif
-#    if BOOST_PP_LOCAL_C(208)
-        BOOST_PP_LOCAL_MACRO(208)
-#    endif
-#    if BOOST_PP_LOCAL_C(209)
-        BOOST_PP_LOCAL_MACRO(209)
-#    endif
-#    if BOOST_PP_LOCAL_C(210)
-        BOOST_PP_LOCAL_MACRO(210)
-#    endif
-#    if BOOST_PP_LOCAL_C(211)
-        BOOST_PP_LOCAL_MACRO(211)
-#    endif
-#    if BOOST_PP_LOCAL_C(212)
-        BOOST_PP_LOCAL_MACRO(212)
-#    endif
-#    if BOOST_PP_LOCAL_C(213)
-        BOOST_PP_LOCAL_MACRO(213)
-#    endif
-#    if BOOST_PP_LOCAL_C(214)
-        BOOST_PP_LOCAL_MACRO(214)
-#    endif
-#    if BOOST_PP_LOCAL_C(215)
-        BOOST_PP_LOCAL_MACRO(215)
-#    endif
-#    if BOOST_PP_LOCAL_C(216)
-        BOOST_PP_LOCAL_MACRO(216)
-#    endif
-#    if BOOST_PP_LOCAL_C(217)
-        BOOST_PP_LOCAL_MACRO(217)
-#    endif
-#    if BOOST_PP_LOCAL_C(218)
-        BOOST_PP_LOCAL_MACRO(218)
-#    endif
-#    if BOOST_PP_LOCAL_C(219)
-        BOOST_PP_LOCAL_MACRO(219)
-#    endif
-#    if BOOST_PP_LOCAL_C(220)
-        BOOST_PP_LOCAL_MACRO(220)
-#    endif
-#    if BOOST_PP_LOCAL_C(221)
-        BOOST_PP_LOCAL_MACRO(221)
-#    endif
-#    if BOOST_PP_LOCAL_C(222)
-        BOOST_PP_LOCAL_MACRO(222)
-#    endif
-#    if BOOST_PP_LOCAL_C(223)
-        BOOST_PP_LOCAL_MACRO(223)
-#    endif
-#    if BOOST_PP_LOCAL_C(224)
-        BOOST_PP_LOCAL_MACRO(224)
-#    endif
-#    if BOOST_PP_LOCAL_C(225)
-        BOOST_PP_LOCAL_MACRO(225)
-#    endif
-#    if BOOST_PP_LOCAL_C(226)
-        BOOST_PP_LOCAL_MACRO(226)
-#    endif
-#    if BOOST_PP_LOCAL_C(227)
-        BOOST_PP_LOCAL_MACRO(227)
-#    endif
-#    if BOOST_PP_LOCAL_C(228)
-        BOOST_PP_LOCAL_MACRO(228)
-#    endif
-#    if BOOST_PP_LOCAL_C(229)
-        BOOST_PP_LOCAL_MACRO(229)
-#    endif
-#    if BOOST_PP_LOCAL_C(230)
-        BOOST_PP_LOCAL_MACRO(230)
-#    endif
-#    if BOOST_PP_LOCAL_C(231)
-        BOOST_PP_LOCAL_MACRO(231)
-#    endif
-#    if BOOST_PP_LOCAL_C(232)
-        BOOST_PP_LOCAL_MACRO(232)
-#    endif
-#    if BOOST_PP_LOCAL_C(233)
-        BOOST_PP_LOCAL_MACRO(233)
-#    endif
-#    if BOOST_PP_LOCAL_C(234)
-        BOOST_PP_LOCAL_MACRO(234)
-#    endif
-#    if BOOST_PP_LOCAL_C(235)
-        BOOST_PP_LOCAL_MACRO(235)
-#    endif
-#    if BOOST_PP_LOCAL_C(236)
-        BOOST_PP_LOCAL_MACRO(236)
-#    endif
-
-#    if BOOST_PP_LOCAL_C(237)
-        BOOST_PP_LOCAL_MACRO(237)
-#    endif
-#    if BOOST_PP_LOCAL_C(238)
-        BOOST_PP_LOCAL_MACRO(238)
-#    endif
-#    if BOOST_PP_LOCAL_C(239)
-        BOOST_PP_LOCAL_MACRO(239)
-#    endif
-#    if BOOST_PP_LOCAL_C(240)
-        BOOST_PP_LOCAL_MACRO(240)
-#    endif
-#    if BOOST_PP_LOCAL_C(241)
-        BOOST_PP_LOCAL_MACRO(241)
-#    endif
-#    if BOOST_PP_LOCAL_C(242)
-        BOOST_PP_LOCAL_MACRO(242)
-#    endif
-#    if BOOST_PP_LOCAL_C(243)
-        BOOST_PP_LOCAL_MACRO(243)
-#    endif
-#    if BOOST_PP_LOCAL_C(244)
-        BOOST_PP_LOCAL_MACRO(244)
-#    endif
-#    if BOOST_PP_LOCAL_C(245)
-        BOOST_PP_LOCAL_MACRO(245)
-#    endif
-#    if BOOST_PP_LOCAL_C(246)
-        BOOST_PP_LOCAL_MACRO(246)
-#    endif
-#    if BOOST_PP_LOCAL_C(247)
-        BOOST_PP_LOCAL_MACRO(247)
-#    endif
-#    if BOOST_PP_LOCAL_C(248)
-        BOOST_PP_LOCAL_MACRO(248)
-#    endif
-#    if BOOST_PP_LOCAL_C(249)
-        BOOST_PP_LOCAL_MACRO(249)
-#    endif
-#    if BOOST_PP_LOCAL_C(250)
-        BOOST_PP_LOCAL_MACRO(250)
-#    endif
-#    if BOOST_PP_LOCAL_C(251)
-        BOOST_PP_LOCAL_MACRO(251)
-#    endif
-#    if BOOST_PP_LOCAL_C(252)
-        BOOST_PP_LOCAL_MACRO(252)
-#    endif
-#    if BOOST_PP_LOCAL_C(253)
-        BOOST_PP_LOCAL_MACRO(253)
-#    endif
-#    if BOOST_PP_LOCAL_C(254)
-        BOOST_PP_LOCAL_MACRO(254)
-#    endif
-#    if BOOST_PP_LOCAL_C(255)
-        BOOST_PP_LOCAL_MACRO(255)
-#    endif
-#    if BOOST_PP_LOCAL_C(256)
-        BOOST_PP_LOCAL_MACRO(256)
-#    endif
-# endif
-#
-# undef BOOST_PP_LOCAL_LIMITS
-#
-# undef BOOST_PP_LOCAL_S
-# undef BOOST_PP_LOCAL_F
-#
-# undef BOOST_PP_LOCAL_MACRO
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/rlocal.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/rlocal.hpp
deleted file mode 100755
index 3b3fcae..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/rlocal.hpp
+++ /dev/null
@@ -1,782 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if BOOST_PP_LOCAL_R(256)
-    BOOST_PP_LOCAL_MACRO(256)
-# endif
-# if BOOST_PP_LOCAL_R(255)
-    BOOST_PP_LOCAL_MACRO(255)
-# endif
-# if BOOST_PP_LOCAL_R(254)
-    BOOST_PP_LOCAL_MACRO(254)
-# endif
-# if BOOST_PP_LOCAL_R(253)
-    BOOST_PP_LOCAL_MACRO(253)
-# endif
-# if BOOST_PP_LOCAL_R(252)
-    BOOST_PP_LOCAL_MACRO(252)
-# endif
-# if BOOST_PP_LOCAL_R(251)
-    BOOST_PP_LOCAL_MACRO(251)
-# endif
-# if BOOST_PP_LOCAL_R(250)
-    BOOST_PP_LOCAL_MACRO(250)
-# endif
-# if BOOST_PP_LOCAL_R(249)
-    BOOST_PP_LOCAL_MACRO(249)
-# endif
-# if BOOST_PP_LOCAL_R(248)
-    BOOST_PP_LOCAL_MACRO(248)
-# endif
-# if BOOST_PP_LOCAL_R(247)
-    BOOST_PP_LOCAL_MACRO(247)
-# endif
-# if BOOST_PP_LOCAL_R(246)
-    BOOST_PP_LOCAL_MACRO(246)
-# endif
-# if BOOST_PP_LOCAL_R(245)
-    BOOST_PP_LOCAL_MACRO(245)
-# endif
-# if BOOST_PP_LOCAL_R(244)
-    BOOST_PP_LOCAL_MACRO(244)
-# endif
-# if BOOST_PP_LOCAL_R(243)
-    BOOST_PP_LOCAL_MACRO(243)
-# endif
-# if BOOST_PP_LOCAL_R(242)
-    BOOST_PP_LOCAL_MACRO(242)
-# endif
-# if BOOST_PP_LOCAL_R(241)
-    BOOST_PP_LOCAL_MACRO(241)
-# endif
-# if BOOST_PP_LOCAL_R(240)
-    BOOST_PP_LOCAL_MACRO(240)
-# endif
-# if BOOST_PP_LOCAL_R(239)
-    BOOST_PP_LOCAL_MACRO(239)
-# endif
-# if BOOST_PP_LOCAL_R(238)
-    BOOST_PP_LOCAL_MACRO(238)
-# endif
-# if BOOST_PP_LOCAL_R(237)
-    BOOST_PP_LOCAL_MACRO(237)
-# endif
-# if BOOST_PP_LOCAL_R(236)
-    BOOST_PP_LOCAL_MACRO(236)
-# endif
-# if BOOST_PP_LOCAL_R(235)
-    BOOST_PP_LOCAL_MACRO(235)
-# endif
-# if BOOST_PP_LOCAL_R(234)
-    BOOST_PP_LOCAL_MACRO(234)
-# endif
-# if BOOST_PP_LOCAL_R(233)
-    BOOST_PP_LOCAL_MACRO(233)
-# endif
-# if BOOST_PP_LOCAL_R(232)
-    BOOST_PP_LOCAL_MACRO(232)
-# endif
-# if BOOST_PP_LOCAL_R(231)
-    BOOST_PP_LOCAL_MACRO(231)
-# endif
-# if BOOST_PP_LOCAL_R(230)
-    BOOST_PP_LOCAL_MACRO(230)
-# endif
-# if BOOST_PP_LOCAL_R(229)
-    BOOST_PP_LOCAL_MACRO(229)
-# endif
-# if BOOST_PP_LOCAL_R(228)
-    BOOST_PP_LOCAL_MACRO(228)
-# endif
-# if BOOST_PP_LOCAL_R(227)
-    BOOST_PP_LOCAL_MACRO(227)
-# endif
-# if BOOST_PP_LOCAL_R(226)
-    BOOST_PP_LOCAL_MACRO(226)
-# endif
-# if BOOST_PP_LOCAL_R(225)
-    BOOST_PP_LOCAL_MACRO(225)
-# endif
-# if BOOST_PP_LOCAL_R(224)
-    BOOST_PP_LOCAL_MACRO(224)
-# endif
-# if BOOST_PP_LOCAL_R(223)
-    BOOST_PP_LOCAL_MACRO(223)
-# endif
-# if BOOST_PP_LOCAL_R(222)
-    BOOST_PP_LOCAL_MACRO(222)
-# endif
-# if BOOST_PP_LOCAL_R(221)
-    BOOST_PP_LOCAL_MACRO(221)
-# endif
-# if BOOST_PP_LOCAL_R(220)
-    BOOST_PP_LOCAL_MACRO(220)
-# endif
-# if BOOST_PP_LOCAL_R(219)
-    BOOST_PP_LOCAL_MACRO(219)
-# endif
-# if BOOST_PP_LOCAL_R(218)
-    BOOST_PP_LOCAL_MACRO(218)
-# endif
-# if BOOST_PP_LOCAL_R(217)
-    BOOST_PP_LOCAL_MACRO(217)
-# endif
-# if BOOST_PP_LOCAL_R(216)
-    BOOST_PP_LOCAL_MACRO(216)
-# endif
-# if BOOST_PP_LOCAL_R(215)
-    BOOST_PP_LOCAL_MACRO(215)
-# endif
-# if BOOST_PP_LOCAL_R(214)
-    BOOST_PP_LOCAL_MACRO(214)
-# endif
-# if BOOST_PP_LOCAL_R(213)
-    BOOST_PP_LOCAL_MACRO(213)
-# endif
-# if BOOST_PP_LOCAL_R(212)
-    BOOST_PP_LOCAL_MACRO(212)
-# endif
-# if BOOST_PP_LOCAL_R(211)
-    BOOST_PP_LOCAL_MACRO(211)
-# endif
-# if BOOST_PP_LOCAL_R(210)
-    BOOST_PP_LOCAL_MACRO(210)
-# endif
-# if BOOST_PP_LOCAL_R(209)
-    BOOST_PP_LOCAL_MACRO(209)
-# endif
-# if BOOST_PP_LOCAL_R(208)
-    BOOST_PP_LOCAL_MACRO(208)
-# endif
-# if BOOST_PP_LOCAL_R(207)
-    BOOST_PP_LOCAL_MACRO(207)
-# endif
-# if BOOST_PP_LOCAL_R(206)
-    BOOST_PP_LOCAL_MACRO(206)
-# endif
-# if BOOST_PP_LOCAL_R(205)
-    BOOST_PP_LOCAL_MACRO(205)
-# endif
-# if BOOST_PP_LOCAL_R(204)
-    BOOST_PP_LOCAL_MACRO(204)
-# endif
-# if BOOST_PP_LOCAL_R(203)
-    BOOST_PP_LOCAL_MACRO(203)
-# endif
-# if BOOST_PP_LOCAL_R(202)
-    BOOST_PP_LOCAL_MACRO(202)
-# endif
-# if BOOST_PP_LOCAL_R(201)
-    BOOST_PP_LOCAL_MACRO(201)
-# endif
-# if BOOST_PP_LOCAL_R(200)
-    BOOST_PP_LOCAL_MACRO(200)
-# endif
-# if BOOST_PP_LOCAL_R(199)
-    BOOST_PP_LOCAL_MACRO(199)
-# endif
-# if BOOST_PP_LOCAL_R(198)
-    BOOST_PP_LOCAL_MACRO(198)
-# endif
-# if BOOST_PP_LOCAL_R(197)
-    BOOST_PP_LOCAL_MACRO(197)
-# endif
-# if BOOST_PP_LOCAL_R(196)
-    BOOST_PP_LOCAL_MACRO(196)
-# endif
-# if BOOST_PP_LOCAL_R(195)
-    BOOST_PP_LOCAL_MACRO(195)
-# endif
-# if BOOST_PP_LOCAL_R(194)
-    BOOST_PP_LOCAL_MACRO(194)
-# endif
-# if BOOST_PP_LOCAL_R(193)
-    BOOST_PP_LOCAL_MACRO(193)
-# endif
-# if BOOST_PP_LOCAL_R(192)
-    BOOST_PP_LOCAL_MACRO(192)
-# endif
-# if BOOST_PP_LOCAL_R(191)
-    BOOST_PP_LOCAL_MACRO(191)
-# endif
-# if BOOST_PP_LOCAL_R(190)
-    BOOST_PP_LOCAL_MACRO(190)
-# endif
-# if BOOST_PP_LOCAL_R(189)
-    BOOST_PP_LOCAL_MACRO(189)
-# endif
-# if BOOST_PP_LOCAL_R(188)
-    BOOST_PP_LOCAL_MACRO(188)
-# endif
-# if BOOST_PP_LOCAL_R(187)
-    BOOST_PP_LOCAL_MACRO(187)
-# endif
-# if BOOST_PP_LOCAL_R(186)
-    BOOST_PP_LOCAL_MACRO(186)
-# endif
-# if BOOST_PP_LOCAL_R(185)
-    BOOST_PP_LOCAL_MACRO(185)
-# endif
-# if BOOST_PP_LOCAL_R(184)
-    BOOST_PP_LOCAL_MACRO(184)
-# endif
-# if BOOST_PP_LOCAL_R(183)
-    BOOST_PP_LOCAL_MACRO(183)
-# endif
-# if BOOST_PP_LOCAL_R(182)
-    BOOST_PP_LOCAL_MACRO(182)
-# endif
-# if BOOST_PP_LOCAL_R(181)
-    BOOST_PP_LOCAL_MACRO(181)
-# endif
-# if BOOST_PP_LOCAL_R(180)
-    BOOST_PP_LOCAL_MACRO(180)
-# endif
-# if BOOST_PP_LOCAL_R(179)
-    BOOST_PP_LOCAL_MACRO(179)
-# endif
-# if BOOST_PP_LOCAL_R(178)
-    BOOST_PP_LOCAL_MACRO(178)
-# endif
-# if BOOST_PP_LOCAL_R(177)
-    BOOST_PP_LOCAL_MACRO(177)
-# endif
-# if BOOST_PP_LOCAL_R(176)
-    BOOST_PP_LOCAL_MACRO(176)
-# endif
-# if BOOST_PP_LOCAL_R(175)
-    BOOST_PP_LOCAL_MACRO(175)
-# endif
-# if BOOST_PP_LOCAL_R(174)
-    BOOST_PP_LOCAL_MACRO(174)
-# endif
-# if BOOST_PP_LOCAL_R(173)
-    BOOST_PP_LOCAL_MACRO(173)
-# endif
-# if BOOST_PP_LOCAL_R(172)
-    BOOST_PP_LOCAL_MACRO(172)
-# endif
-# if BOOST_PP_LOCAL_R(171)
-    BOOST_PP_LOCAL_MACRO(171)
-# endif
-# if BOOST_PP_LOCAL_R(170)
-    BOOST_PP_LOCAL_MACRO(170)
-# endif
-# if BOOST_PP_LOCAL_R(169)
-    BOOST_PP_LOCAL_MACRO(169)
-# endif
-# if BOOST_PP_LOCAL_R(168)
-    BOOST_PP_LOCAL_MACRO(168)
-# endif
-# if BOOST_PP_LOCAL_R(167)
-    BOOST_PP_LOCAL_MACRO(167)
-# endif
-# if BOOST_PP_LOCAL_R(166)
-    BOOST_PP_LOCAL_MACRO(166)
-# endif
-# if BOOST_PP_LOCAL_R(165)
-    BOOST_PP_LOCAL_MACRO(165)
-# endif
-# if BOOST_PP_LOCAL_R(164)
-    BOOST_PP_LOCAL_MACRO(164)
-# endif
-# if BOOST_PP_LOCAL_R(163)
-    BOOST_PP_LOCAL_MACRO(163)
-# endif
-# if BOOST_PP_LOCAL_R(162)
-    BOOST_PP_LOCAL_MACRO(162)
-# endif
-# if BOOST_PP_LOCAL_R(161)
-    BOOST_PP_LOCAL_MACRO(161)
-# endif
-# if BOOST_PP_LOCAL_R(160)
-    BOOST_PP_LOCAL_MACRO(160)
-# endif
-# if BOOST_PP_LOCAL_R(159)
-    BOOST_PP_LOCAL_MACRO(159)
-# endif
-# if BOOST_PP_LOCAL_R(158)
-    BOOST_PP_LOCAL_MACRO(158)
-# endif
-# if BOOST_PP_LOCAL_R(157)
-    BOOST_PP_LOCAL_MACRO(157)
-# endif
-# if BOOST_PP_LOCAL_R(156)
-    BOOST_PP_LOCAL_MACRO(156)
-# endif
-# if BOOST_PP_LOCAL_R(155)
-    BOOST_PP_LOCAL_MACRO(155)
-# endif
-# if BOOST_PP_LOCAL_R(154)
-    BOOST_PP_LOCAL_MACRO(154)
-# endif
-# if BOOST_PP_LOCAL_R(153)
-    BOOST_PP_LOCAL_MACRO(153)
-# endif
-# if BOOST_PP_LOCAL_R(152)
-    BOOST_PP_LOCAL_MACRO(152)
-# endif
-# if BOOST_PP_LOCAL_R(151)
-    BOOST_PP_LOCAL_MACRO(151)
-# endif
-# if BOOST_PP_LOCAL_R(150)
-    BOOST_PP_LOCAL_MACRO(150)
-# endif
-# if BOOST_PP_LOCAL_R(149)
-    BOOST_PP_LOCAL_MACRO(149)
-# endif
-# if BOOST_PP_LOCAL_R(148)
-    BOOST_PP_LOCAL_MACRO(148)
-# endif
-# if BOOST_PP_LOCAL_R(147)
-    BOOST_PP_LOCAL_MACRO(147)
-# endif
-# if BOOST_PP_LOCAL_R(146)
-    BOOST_PP_LOCAL_MACRO(146)
-# endif
-# if BOOST_PP_LOCAL_R(145)
-    BOOST_PP_LOCAL_MACRO(145)
-# endif
-# if BOOST_PP_LOCAL_R(144)
-    BOOST_PP_LOCAL_MACRO(144)
-# endif
-# if BOOST_PP_LOCAL_R(143)
-    BOOST_PP_LOCAL_MACRO(143)
-# endif
-# if BOOST_PP_LOCAL_R(142)
-    BOOST_PP_LOCAL_MACRO(142)
-# endif
-# if BOOST_PP_LOCAL_R(141)
-    BOOST_PP_LOCAL_MACRO(141)
-# endif
-# if BOOST_PP_LOCAL_R(140)
-    BOOST_PP_LOCAL_MACRO(140)
-# endif
-# if BOOST_PP_LOCAL_R(139)
-    BOOST_PP_LOCAL_MACRO(139)
-# endif
-# if BOOST_PP_LOCAL_R(138)
-    BOOST_PP_LOCAL_MACRO(138)
-# endif
-# if BOOST_PP_LOCAL_R(137)
-    BOOST_PP_LOCAL_MACRO(137)
-# endif
-# if BOOST_PP_LOCAL_R(136)
-    BOOST_PP_LOCAL_MACRO(136)
-# endif
-# if BOOST_PP_LOCAL_R(135)
-    BOOST_PP_LOCAL_MACRO(135)
-# endif
-# if BOOST_PP_LOCAL_R(134)
-    BOOST_PP_LOCAL_MACRO(134)
-# endif
-# if BOOST_PP_LOCAL_R(133)
-    BOOST_PP_LOCAL_MACRO(133)
-# endif
-# if BOOST_PP_LOCAL_R(132)
-    BOOST_PP_LOCAL_MACRO(132)
-# endif
-# if BOOST_PP_LOCAL_R(131)
-    BOOST_PP_LOCAL_MACRO(131)
-# endif
-# if BOOST_PP_LOCAL_R(130)
-    BOOST_PP_LOCAL_MACRO(130)
-# endif
-# if BOOST_PP_LOCAL_R(129)
-    BOOST_PP_LOCAL_MACRO(129)
-# endif
-# if BOOST_PP_LOCAL_R(128)
-    BOOST_PP_LOCAL_MACRO(128)
-# endif
-# if BOOST_PP_LOCAL_R(127)
-    BOOST_PP_LOCAL_MACRO(127)
-# endif
-# if BOOST_PP_LOCAL_R(126)
-    BOOST_PP_LOCAL_MACRO(126)
-# endif
-# if BOOST_PP_LOCAL_R(125)
-    BOOST_PP_LOCAL_MACRO(125)
-# endif
-# if BOOST_PP_LOCAL_R(124)
-    BOOST_PP_LOCAL_MACRO(124)
-# endif
-# if BOOST_PP_LOCAL_R(123)
-    BOOST_PP_LOCAL_MACRO(123)
-# endif
-# if BOOST_PP_LOCAL_R(122)
-    BOOST_PP_LOCAL_MACRO(122)
-# endif
-# if BOOST_PP_LOCAL_R(121)
-    BOOST_PP_LOCAL_MACRO(121)
-# endif
-# if BOOST_PP_LOCAL_R(120)
-    BOOST_PP_LOCAL_MACRO(120)
-# endif
-# if BOOST_PP_LOCAL_R(119)
-    BOOST_PP_LOCAL_MACRO(119)
-# endif
-# if BOOST_PP_LOCAL_R(118)
-    BOOST_PP_LOCAL_MACRO(118)
-# endif
-# if BOOST_PP_LOCAL_R(117)
-    BOOST_PP_LOCAL_MACRO(117)
-# endif
-# if BOOST_PP_LOCAL_R(116)
-    BOOST_PP_LOCAL_MACRO(116)
-# endif
-# if BOOST_PP_LOCAL_R(115)
-    BOOST_PP_LOCAL_MACRO(115)
-# endif
-# if BOOST_PP_LOCAL_R(114)
-    BOOST_PP_LOCAL_MACRO(114)
-# endif
-# if BOOST_PP_LOCAL_R(113)
-    BOOST_PP_LOCAL_MACRO(113)
-# endif
-# if BOOST_PP_LOCAL_R(112)
-    BOOST_PP_LOCAL_MACRO(112)
-# endif
-# if BOOST_PP_LOCAL_R(111)
-    BOOST_PP_LOCAL_MACRO(111)
-# endif
-# if BOOST_PP_LOCAL_R(110)
-    BOOST_PP_LOCAL_MACRO(110)
-# endif
-# if BOOST_PP_LOCAL_R(109)
-    BOOST_PP_LOCAL_MACRO(109)
-# endif
-# if BOOST_PP_LOCAL_R(108)
-    BOOST_PP_LOCAL_MACRO(108)
-# endif
-# if BOOST_PP_LOCAL_R(107)
-    BOOST_PP_LOCAL_MACRO(107)
-# endif
-# if BOOST_PP_LOCAL_R(106)
-    BOOST_PP_LOCAL_MACRO(106)
-# endif
-# if BOOST_PP_LOCAL_R(105)
-    BOOST_PP_LOCAL_MACRO(105)
-# endif
-# if BOOST_PP_LOCAL_R(104)
-    BOOST_PP_LOCAL_MACRO(104)
-# endif
-# if BOOST_PP_LOCAL_R(103)
-    BOOST_PP_LOCAL_MACRO(103)
-# endif
-# if BOOST_PP_LOCAL_R(102)
-    BOOST_PP_LOCAL_MACRO(102)
-# endif
-# if BOOST_PP_LOCAL_R(101)
-    BOOST_PP_LOCAL_MACRO(101)
-# endif
-# if BOOST_PP_LOCAL_R(100)
-    BOOST_PP_LOCAL_MACRO(100)
-# endif
-# if BOOST_PP_LOCAL_R(99)
-    BOOST_PP_LOCAL_MACRO(99)
-# endif
-# if BOOST_PP_LOCAL_R(98)
-    BOOST_PP_LOCAL_MACRO(98)
-# endif
-# if BOOST_PP_LOCAL_R(97)
-    BOOST_PP_LOCAL_MACRO(97)
-# endif
-# if BOOST_PP_LOCAL_R(96)
-    BOOST_PP_LOCAL_MACRO(96)
-# endif
-# if BOOST_PP_LOCAL_R(95)
-    BOOST_PP_LOCAL_MACRO(95)
-# endif
-# if BOOST_PP_LOCAL_R(94)
-    BOOST_PP_LOCAL_MACRO(94)
-# endif
-# if BOOST_PP_LOCAL_R(93)
-    BOOST_PP_LOCAL_MACRO(93)
-# endif
-# if BOOST_PP_LOCAL_R(92)
-    BOOST_PP_LOCAL_MACRO(92)
-# endif
-# if BOOST_PP_LOCAL_R(91)
-    BOOST_PP_LOCAL_MACRO(91)
-# endif
-# if BOOST_PP_LOCAL_R(90)
-    BOOST_PP_LOCAL_MACRO(90)
-# endif
-# if BOOST_PP_LOCAL_R(89)
-    BOOST_PP_LOCAL_MACRO(89)
-# endif
-# if BOOST_PP_LOCAL_R(88)
-    BOOST_PP_LOCAL_MACRO(88)
-# endif
-# if BOOST_PP_LOCAL_R(87)
-    BOOST_PP_LOCAL_MACRO(87)
-# endif
-# if BOOST_PP_LOCAL_R(86)
-    BOOST_PP_LOCAL_MACRO(86)
-# endif
-# if BOOST_PP_LOCAL_R(85)
-    BOOST_PP_LOCAL_MACRO(85)
-# endif
-# if BOOST_PP_LOCAL_R(84)
-    BOOST_PP_LOCAL_MACRO(84)
-# endif
-# if BOOST_PP_LOCAL_R(83)
-    BOOST_PP_LOCAL_MACRO(83)
-# endif
-# if BOOST_PP_LOCAL_R(82)
-    BOOST_PP_LOCAL_MACRO(82)
-# endif
-# if BOOST_PP_LOCAL_R(81)
-    BOOST_PP_LOCAL_MACRO(81)
-# endif
-# if BOOST_PP_LOCAL_R(80)
-    BOOST_PP_LOCAL_MACRO(80)
-# endif
-# if BOOST_PP_LOCAL_R(79)
-    BOOST_PP_LOCAL_MACRO(79)
-# endif
-# if BOOST_PP_LOCAL_R(78)
-    BOOST_PP_LOCAL_MACRO(78)
-# endif
-# if BOOST_PP_LOCAL_R(77)
-    BOOST_PP_LOCAL_MACRO(77)
-# endif
-# if BOOST_PP_LOCAL_R(76)
-    BOOST_PP_LOCAL_MACRO(76)
-# endif
-# if BOOST_PP_LOCAL_R(75)
-    BOOST_PP_LOCAL_MACRO(75)
-# endif
-# if BOOST_PP_LOCAL_R(74)
-    BOOST_PP_LOCAL_MACRO(74)
-# endif
-# if BOOST_PP_LOCAL_R(73)
-    BOOST_PP_LOCAL_MACRO(73)
-# endif
-# if BOOST_PP_LOCAL_R(72)
-    BOOST_PP_LOCAL_MACRO(72)
-# endif
-# if BOOST_PP_LOCAL_R(71)
-    BOOST_PP_LOCAL_MACRO(71)
-# endif
-# if BOOST_PP_LOCAL_R(70)
-    BOOST_PP_LOCAL_MACRO(70)
-# endif
-# if BOOST_PP_LOCAL_R(69)
-    BOOST_PP_LOCAL_MACRO(69)
-# endif
-# if BOOST_PP_LOCAL_R(68)
-    BOOST_PP_LOCAL_MACRO(68)
-# endif
-# if BOOST_PP_LOCAL_R(67)
-    BOOST_PP_LOCAL_MACRO(67)
-# endif
-# if BOOST_PP_LOCAL_R(66)
-    BOOST_PP_LOCAL_MACRO(66)
-# endif
-# if BOOST_PP_LOCAL_R(65)
-    BOOST_PP_LOCAL_MACRO(65)
-# endif
-# if BOOST_PP_LOCAL_R(64)
-    BOOST_PP_LOCAL_MACRO(64)
-# endif
-# if BOOST_PP_LOCAL_R(63)
-    BOOST_PP_LOCAL_MACRO(63)
-# endif
-# if BOOST_PP_LOCAL_R(62)
-    BOOST_PP_LOCAL_MACRO(62)
-# endif
-# if BOOST_PP_LOCAL_R(61)
-    BOOST_PP_LOCAL_MACRO(61)
-# endif
-# if BOOST_PP_LOCAL_R(60)
-    BOOST_PP_LOCAL_MACRO(60)
-# endif
-# if BOOST_PP_LOCAL_R(59)
-    BOOST_PP_LOCAL_MACRO(59)
-# endif
-# if BOOST_PP_LOCAL_R(58)
-    BOOST_PP_LOCAL_MACRO(58)
-# endif
-# if BOOST_PP_LOCAL_R(57)
-    BOOST_PP_LOCAL_MACRO(57)
-# endif
-# if BOOST_PP_LOCAL_R(56)
-    BOOST_PP_LOCAL_MACRO(56)
-# endif
-# if BOOST_PP_LOCAL_R(55)
-    BOOST_PP_LOCAL_MACRO(55)
-# endif
-# if BOOST_PP_LOCAL_R(54)
-    BOOST_PP_LOCAL_MACRO(54)
-# endif
-# if BOOST_PP_LOCAL_R(53)
-    BOOST_PP_LOCAL_MACRO(53)
-# endif
-# if BOOST_PP_LOCAL_R(52)
-    BOOST_PP_LOCAL_MACRO(52)
-# endif
-# if BOOST_PP_LOCAL_R(51)
-    BOOST_PP_LOCAL_MACRO(51)
-# endif
-# if BOOST_PP_LOCAL_R(50)
-    BOOST_PP_LOCAL_MACRO(50)
-# endif
-# if BOOST_PP_LOCAL_R(49)
-    BOOST_PP_LOCAL_MACRO(49)
-# endif
-# if BOOST_PP_LOCAL_R(48)
-    BOOST_PP_LOCAL_MACRO(48)
-# endif
-# if BOOST_PP_LOCAL_R(47)
-    BOOST_PP_LOCAL_MACRO(47)
-# endif
-# if BOOST_PP_LOCAL_R(46)
-    BOOST_PP_LOCAL_MACRO(46)
-# endif
-# if BOOST_PP_LOCAL_R(45)
-    BOOST_PP_LOCAL_MACRO(45)
-# endif
-# if BOOST_PP_LOCAL_R(44)
-    BOOST_PP_LOCAL_MACRO(44)
-# endif
-# if BOOST_PP_LOCAL_R(43)
-    BOOST_PP_LOCAL_MACRO(43)
-# endif
-# if BOOST_PP_LOCAL_R(42)
-    BOOST_PP_LOCAL_MACRO(42)
-# endif
-# if BOOST_PP_LOCAL_R(41)
-    BOOST_PP_LOCAL_MACRO(41)
-# endif
-# if BOOST_PP_LOCAL_R(40)
-    BOOST_PP_LOCAL_MACRO(40)
-# endif
-# if BOOST_PP_LOCAL_R(39)
-    BOOST_PP_LOCAL_MACRO(39)
-# endif
-# if BOOST_PP_LOCAL_R(38)
-    BOOST_PP_LOCAL_MACRO(38)
-# endif
-# if BOOST_PP_LOCAL_R(37)
-    BOOST_PP_LOCAL_MACRO(37)
-# endif
-# if BOOST_PP_LOCAL_R(36)
-    BOOST_PP_LOCAL_MACRO(36)
-# endif
-# if BOOST_PP_LOCAL_R(35)
-    BOOST_PP_LOCAL_MACRO(35)
-# endif
-# if BOOST_PP_LOCAL_R(34)
-    BOOST_PP_LOCAL_MACRO(34)
-# endif
-# if BOOST_PP_LOCAL_R(33)
-    BOOST_PP_LOCAL_MACRO(33)
-# endif
-# if BOOST_PP_LOCAL_R(32)
-    BOOST_PP_LOCAL_MACRO(32)
-# endif
-# if BOOST_PP_LOCAL_R(31)
-    BOOST_PP_LOCAL_MACRO(31)
-# endif
-# if BOOST_PP_LOCAL_R(30)
-    BOOST_PP_LOCAL_MACRO(30)
-# endif
-# if BOOST_PP_LOCAL_R(29)
-    BOOST_PP_LOCAL_MACRO(29)
-# endif
-# if BOOST_PP_LOCAL_R(28)
-    BOOST_PP_LOCAL_MACRO(28)
-# endif
-# if BOOST_PP_LOCAL_R(27)
-    BOOST_PP_LOCAL_MACRO(27)
-# endif
-# if BOOST_PP_LOCAL_R(26)
-    BOOST_PP_LOCAL_MACRO(26)
-# endif
-# if BOOST_PP_LOCAL_R(25)
-    BOOST_PP_LOCAL_MACRO(25)
-# endif
-# if BOOST_PP_LOCAL_R(24)
-    BOOST_PP_LOCAL_MACRO(24)
-# endif
-# if BOOST_PP_LOCAL_R(23)
-    BOOST_PP_LOCAL_MACRO(23)
-# endif
-# if BOOST_PP_LOCAL_R(22)
-    BOOST_PP_LOCAL_MACRO(22)
-# endif
-# if BOOST_PP_LOCAL_R(21)
-    BOOST_PP_LOCAL_MACRO(21)
-# endif
-# if BOOST_PP_LOCAL_R(20)
-    BOOST_PP_LOCAL_MACRO(20)
-# endif
-# if BOOST_PP_LOCAL_R(19)
-    BOOST_PP_LOCAL_MACRO(19)
-# endif
-# if BOOST_PP_LOCAL_R(18)
-    BOOST_PP_LOCAL_MACRO(18)
-# endif
-# if BOOST_PP_LOCAL_R(17)
-    BOOST_PP_LOCAL_MACRO(17)
-# endif
-# if BOOST_PP_LOCAL_R(16)
-    BOOST_PP_LOCAL_MACRO(16)
-# endif
-# if BOOST_PP_LOCAL_R(15)
-    BOOST_PP_LOCAL_MACRO(15)
-# endif
-# if BOOST_PP_LOCAL_R(14)
-    BOOST_PP_LOCAL_MACRO(14)
-# endif
-# if BOOST_PP_LOCAL_R(13)
-    BOOST_PP_LOCAL_MACRO(13)
-# endif
-# if BOOST_PP_LOCAL_R(12)
-    BOOST_PP_LOCAL_MACRO(12)
-# endif
-# if BOOST_PP_LOCAL_R(11)
-    BOOST_PP_LOCAL_MACRO(11)
-# endif
-# if BOOST_PP_LOCAL_R(10)
-    BOOST_PP_LOCAL_MACRO(10)
-# endif
-# if BOOST_PP_LOCAL_R(9)
-    BOOST_PP_LOCAL_MACRO(9)
-# endif
-# if BOOST_PP_LOCAL_R(8)
-    BOOST_PP_LOCAL_MACRO(8)
-# endif
-# if BOOST_PP_LOCAL_R(7)
-    BOOST_PP_LOCAL_MACRO(7)
-# endif
-# if BOOST_PP_LOCAL_R(6)
-    BOOST_PP_LOCAL_MACRO(6)
-# endif
-# if BOOST_PP_LOCAL_R(5)
-    BOOST_PP_LOCAL_MACRO(5)
-# endif
-# if BOOST_PP_LOCAL_R(4)
-    BOOST_PP_LOCAL_MACRO(4)
-# endif
-# if BOOST_PP_LOCAL_R(3)
-    BOOST_PP_LOCAL_MACRO(3)
-# endif
-# if BOOST_PP_LOCAL_R(2)
-    BOOST_PP_LOCAL_MACRO(2)
-# endif
-# if BOOST_PP_LOCAL_R(1)
-    BOOST_PP_LOCAL_MACRO(1)
-# endif
-# if BOOST_PP_LOCAL_R(0)
-    BOOST_PP_LOCAL_MACRO(0)
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/self.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/self.hpp
deleted file mode 100755
index d212ee0..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/self.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if !defined(BOOST_PP_INDIRECT_SELF)
-#    error BOOST_PP_ERROR:  no indirect file to include
-# endif
-#
-# define BOOST_PP_IS_SELFISH 1
-#
-# include BOOST_PP_INDIRECT_SELF
-#
-# undef BOOST_PP_IS_SELFISH
-# undef BOOST_PP_INDIRECT_SELF
diff --git a/SRC/Boost/boost/preprocessor/iteration/detail/start.hpp b/SRC/Boost/boost/preprocessor/iteration/detail/start.hpp
deleted file mode 100755
index 55e99cb..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/detail/start.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_LOCAL_SE
-#
-# undef BOOST_PP_LOCAL_SE_DIGIT_1
-# undef BOOST_PP_LOCAL_SE_DIGIT_2
-# undef BOOST_PP_LOCAL_SE_DIGIT_3
-# undef BOOST_PP_LOCAL_SE_DIGIT_4
-# undef BOOST_PP_LOCAL_SE_DIGIT_5
-# undef BOOST_PP_LOCAL_SE_DIGIT_6
-# undef BOOST_PP_LOCAL_SE_DIGIT_7
-# undef BOOST_PP_LOCAL_SE_DIGIT_8
-# undef BOOST_PP_LOCAL_SE_DIGIT_9
-# undef BOOST_PP_LOCAL_SE_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_LOCAL_SE_DIGIT_3
-#    define BOOST_PP_LOCAL_SE() BOOST_PP_SLOT_CC_3(BOOST_PP_LOCAL_SE_DIGIT_3, BOOST_PP_LOCAL_SE_DIGIT_2, BOOST_PP_LOCAL_SE_DIGIT_1)
-# elif BOOST_PP_LOCAL_SE_DIGIT_2
-#    define BOOST_PP_LOCAL_SE() BOOST_PP_SLOT_CC_2(BOOST_PP_LOCAL_SE_DIGIT_2, BOOST_PP_LOCAL_SE_DIGIT_1)
-# else
-#    define BOOST_PP_LOCAL_SE() BOOST_PP_LOCAL_SE_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/iterate.hpp b/SRC/Boost/boost/preprocessor/iteration/iterate.hpp
deleted file mode 100755
index c3d1b07..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/iterate.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ITERATION_ITERATE_HPP
-# define BOOST_PREPROCESSOR_ITERATION_ITERATE_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/array/elem.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/slot/slot.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ITERATION_DEPTH */
-#
-# define BOOST_PP_ITERATION_DEPTH() 0
-#
-# /* BOOST_PP_ITERATION */
-#
-# define BOOST_PP_ITERATION() BOOST_PP_CAT(BOOST_PP_ITERATION_, BOOST_PP_ITERATION_DEPTH())
-#
-# /* BOOST_PP_ITERATION_START && BOOST_PP_ITERATION_FINISH */
-#
-# define BOOST_PP_ITERATION_START() BOOST_PP_CAT(BOOST_PP_ITERATION_START_, BOOST_PP_ITERATION_DEPTH())
-# define BOOST_PP_ITERATION_FINISH() BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, BOOST_PP_ITERATION_DEPTH())
-#
-# /* BOOST_PP_ITERATION_FLAGS */
-#
-# define BOOST_PP_ITERATION_FLAGS() (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, BOOST_PP_ITERATION_DEPTH()))
-#
-# /* BOOST_PP_FRAME_ITERATION */
-#
-# define BOOST_PP_FRAME_ITERATION(i) BOOST_PP_CAT(BOOST_PP_ITERATION_, i)
-#
-# /* BOOST_PP_FRAME_START && BOOST_PP_FRAME_FINISH */
-#
-# define BOOST_PP_FRAME_START(i) BOOST_PP_CAT(BOOST_PP_ITERATION_START_, i)
-# define BOOST_PP_FRAME_FINISH(i) BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, i)
-#
-# /* BOOST_PP_FRAME_FLAGS */
-#
-# define BOOST_PP_FRAME_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, i))
-#
-# /* BOOST_PP_RELATIVE_ITERATION */
-#
-# define BOOST_PP_RELATIVE_ITERATION(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_)
-#
-# define BOOST_PP_RELATIVE_0(m) BOOST_PP_CAT(m, BOOST_PP_ITERATION_DEPTH())
-# define BOOST_PP_RELATIVE_1(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))
-# define BOOST_PP_RELATIVE_2(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))
-# define BOOST_PP_RELATIVE_3(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))))
-# define BOOST_PP_RELATIVE_4(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))))
-#
-# /* BOOST_PP_RELATIVE_START && BOOST_PP_RELATIVE_FINISH */
-#
-# define BOOST_PP_RELATIVE_START(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_START_)
-# define BOOST_PP_RELATIVE_FINISH(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FINISH_)
-#
-# /* BOOST_PP_RELATIVE_FLAGS */
-#
-# define BOOST_PP_RELATIVE_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FLAGS_))
-#
-# /* BOOST_PP_ITERATE */
-#
-# define BOOST_PP_ITERATE() BOOST_PP_CAT(BOOST_PP_ITERATE_, BOOST_PP_INC(BOOST_PP_ITERATION_DEPTH()))
-#
-# define BOOST_PP_ITERATE_1 <boost/preprocessor/iteration/detail/iter/forward1.hpp>
-# define BOOST_PP_ITERATE_2 <boost/preprocessor/iteration/detail/iter/forward2.hpp>
-# define BOOST_PP_ITERATE_3 <boost/preprocessor/iteration/detail/iter/forward3.hpp>
-# define BOOST_PP_ITERATE_4 <boost/preprocessor/iteration/detail/iter/forward4.hpp>
-# define BOOST_PP_ITERATE_5 <boost/preprocessor/iteration/detail/iter/forward5.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/local.hpp b/SRC/Boost/boost/preprocessor/iteration/local.hpp
deleted file mode 100755
index 5af8430..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/local.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ITERATION_LOCAL_HPP
-# define BOOST_PREPROCESSOR_ITERATION_LOCAL_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/slot/slot.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_LOCAL_ITERATE */
-#
-# define BOOST_PP_LOCAL_ITERATE() <boost/preprocessor/iteration/detail/local.hpp>
-#
-# define BOOST_PP_LOCAL_C(n) (BOOST_PP_LOCAL_S) <= n && (BOOST_PP_LOCAL_F) >= n
-# define BOOST_PP_LOCAL_R(n) (BOOST_PP_LOCAL_F) <= n && (BOOST_PP_LOCAL_S) >= n
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/iteration/self.hpp b/SRC/Boost/boost/preprocessor/iteration/self.hpp
deleted file mode 100755
index b53b3db..0000000
--- a/SRC/Boost/boost/preprocessor/iteration/self.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ITERATION_SELF_HPP
-# define BOOST_PREPROCESSOR_ITERATION_SELF_HPP
-#
-# /* BOOST_PP_INCLUDE_SELF */
-#
-# define BOOST_PP_INCLUDE_SELF() <boost/preprocessor/iteration/detail/self.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/library.hpp b/SRC/Boost/boost/preprocessor/library.hpp
deleted file mode 100755
index 29ba635..0000000
--- a/SRC/Boost/boost/preprocessor/library.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIBRARY_HPP
-# define BOOST_PREPROCESSOR_LIBRARY_HPP
-#
-# include <boost/preprocessor/arithmetic.hpp>
-# include <boost/preprocessor/array.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/comparison.hpp>
-# include <boost/preprocessor/config/limits.hpp>
-# include <boost/preprocessor/control.hpp>
-# include <boost/preprocessor/debug.hpp>
-# include <boost/preprocessor/facilities.hpp>
-# include <boost/preprocessor/iteration.hpp>
-# include <boost/preprocessor/list.hpp>
-# include <boost/preprocessor/logical.hpp>
-# include <boost/preprocessor/punctuation.hpp>
-# include <boost/preprocessor/repetition.hpp>
-# include <boost/preprocessor/selection.hpp>
-# include <boost/preprocessor/seq.hpp>
-# include <boost/preprocessor/slot.hpp>
-# include <boost/preprocessor/stringize.hpp>
-# include <boost/preprocessor/tuple.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list.hpp b/SRC/Boost/boost/preprocessor/list.hpp
deleted file mode 100755
index b09bb82..0000000
--- a/SRC/Boost/boost/preprocessor/list.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_HPP
-# define BOOST_PREPROCESSOR_LIST_HPP
-#
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/list/append.hpp>
-# include <boost/preprocessor/list/at.hpp>
-# include <boost/preprocessor/list/cat.hpp>
-# include <boost/preprocessor/list/enum.hpp>
-# include <boost/preprocessor/list/filter.hpp>
-# include <boost/preprocessor/list/first_n.hpp>
-# include <boost/preprocessor/list/fold_left.hpp>
-# include <boost/preprocessor/list/fold_right.hpp>
-# include <boost/preprocessor/list/for_each.hpp>
-# include <boost/preprocessor/list/for_each_i.hpp>
-# include <boost/preprocessor/list/for_each_product.hpp>
-# include <boost/preprocessor/list/rest_n.hpp>
-# include <boost/preprocessor/list/reverse.hpp>
-# include <boost/preprocessor/list/size.hpp>
-# include <boost/preprocessor/list/to_tuple.hpp>
-# include <boost/preprocessor/list/transform.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/adt.hpp b/SRC/Boost/boost/preprocessor/list/adt.hpp
deleted file mode 100755
index 0743af6..0000000
--- a/SRC/Boost/boost/preprocessor/list/adt.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  *
-#  * See http://www.boost.org for most recent version.
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_ADT_HPP
-# define BOOST_PREPROCESSOR_LIST_ADT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/detail/is_binary.hpp>
-# include <boost/preprocessor/logical/compl.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# /* BOOST_PP_LIST_CONS */
-#
-# define BOOST_PP_LIST_CONS(head, tail) (head, tail)
-#
-# /* BOOST_PP_LIST_NIL */
-#
-# define BOOST_PP_LIST_NIL BOOST_PP_NIL
-#
-# /* BOOST_PP_LIST_FIRST */
-#
-# define BOOST_PP_LIST_FIRST(list) BOOST_PP_LIST_FIRST_D(list)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I list
-# else
-#    define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I ## list
-# endif
-#
-# define BOOST_PP_LIST_FIRST_I(head, tail) head
-#
-# /* BOOST_PP_LIST_REST */
-#
-# define BOOST_PP_LIST_REST(list) BOOST_PP_LIST_REST_D(list)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I list
-# else
-#    define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I ## list
-# endif
-#
-# define BOOST_PP_LIST_REST_I(head, tail) tail
-#
-# /* BOOST_PP_LIST_IS_CONS */
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()
-#    define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_LIST_IS_CONS_D(list)
-#    define BOOST_PP_LIST_IS_CONS_D(list) BOOST_PP_LIST_IS_CONS_ ## list
-#    define BOOST_PP_LIST_IS_CONS_(head, tail) 1
-#    define BOOST_PP_LIST_IS_CONS_BOOST_PP_NIL 0
-# else
-#    define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_IS_BINARY(list)
-# endif
-#
-# /* BOOST_PP_LIST_IS_NIL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()
-#    define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_IS_BINARY(list))
-# else
-#    define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_LIST_IS_CONS(list))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/append.hpp b/SRC/Boost/boost/preprocessor/list/append.hpp
deleted file mode 100755
index d26e1af..0000000
--- a/SRC/Boost/boost/preprocessor/list/append.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_APPEND_HPP
-# define BOOST_PREPROCESSOR_LIST_APPEND_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/fold_right.hpp>
-#
-# /* BOOST_PP_LIST_APPEND */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_APPEND(a, b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a)
-# else
-#    define BOOST_PP_LIST_APPEND(a, b) BOOST_PP_LIST_APPEND_I(a, b)
-#    define BOOST_PP_LIST_APPEND_I(a, b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a)
-# endif
-#
-# define BOOST_PP_LIST_APPEND_O(d, s, x) (x, s)
-#
-# /* BOOST_PP_LIST_APPEND_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_APPEND_D(d, a, b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a)
-# else
-#    define BOOST_PP_LIST_APPEND_D(d, a, b) BOOST_PP_LIST_APPEND_D_I(d, a, b)
-#    define BOOST_PP_LIST_APPEND_D_I(d, a, b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/at.hpp b/SRC/Boost/boost/preprocessor/list/at.hpp
deleted file mode 100755
index bc02108..0000000
--- a/SRC/Boost/boost/preprocessor/list/at.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_AT_HPP
-# define BOOST_PREPROCESSOR_LIST_AT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/list/rest_n.hpp>
-#
-# /* BOOST_PP_LIST_AT */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_AT(list, index) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N(index, list))
-# else
-#    define BOOST_PP_LIST_AT(list, index) BOOST_PP_LIST_AT_I(list, index)
-#    define BOOST_PP_LIST_AT_I(list, index) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N(index, list))
-# endif
-#
-# /* BOOST_PP_LIST_AT_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_AT_D(d, list, index) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N_D(d, index, list))
-# else
-#    define BOOST_PP_LIST_AT_D(d, list, index) BOOST_PP_LIST_AT_D_I(d, list, index)
-#    define BOOST_PP_LIST_AT_D_I(d, list, index) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N_D(d, index, list))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/cat.hpp b/SRC/Boost/boost/preprocessor/list/cat.hpp
deleted file mode 100755
index 0a9641c..0000000
--- a/SRC/Boost/boost/preprocessor/list/cat.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_CAT_HPP
-# define BOOST_PREPROCESSOR_LIST_CAT_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/list/fold_left.hpp>
-#
-# /* BOOST_PP_LIST_CAT */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_CAT(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_CAT_O, BOOST_PP_LIST_FIRST(list), BOOST_PP_LIST_REST(list))
-# else
-#    define BOOST_PP_LIST_CAT(list) BOOST_PP_LIST_CAT_I(list)
-#    define BOOST_PP_LIST_CAT_I(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_CAT_O, BOOST_PP_LIST_FIRST(list), BOOST_PP_LIST_REST(list))
-# endif
-#
-# define BOOST_PP_LIST_CAT_O(d, s, x) BOOST_PP_CAT(s, x)
-#
-# /* BOOST_PP_LIST_CAT_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_CAT_D(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_CAT_O, BOOST_PP_LIST_FIRST(list), BOOST_PP_LIST_REST(list))
-# else
-#    define BOOST_PP_LIST_CAT_D(d, list) BOOST_PP_LIST_CAT_D_I(d, list)
-#    define BOOST_PP_LIST_CAT_D_I(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_CAT_O, BOOST_PP_LIST_FIRST(list), BOOST_PP_LIST_REST(list))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/detail/dmc/fold_left.hpp b/SRC/Boost/boost/preprocessor/list/detail/dmc/fold_left.hpp
deleted file mode 100755
index bf1d2e0..0000000
--- a/SRC/Boost/boost/preprocessor/list/detail/dmc/fold_left.hpp
+++ /dev/null
@@ -1,279 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
-#
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/detail/edg/fold_left.hpp b/SRC/Boost/boost/preprocessor/list/detail/edg/fold_left.hpp
deleted file mode 100755
index 0130e85..0000000
--- a/SRC/Boost/boost/preprocessor/list/detail/edg/fold_left.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP
-#
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l)
-#
-# define BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/detail/edg/fold_right.hpp b/SRC/Boost/boost/preprocessor/list/detail/edg/fold_right.hpp
deleted file mode 100755
index 431abd2..0000000
--- a/SRC/Boost/boost/preprocessor/list/detail/edg/fold_right.hpp
+++ /dev/null
@@ -1,794 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP
-#
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l)
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(2, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_2, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(3, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_3, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(4, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_4, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(5, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_5, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(6, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_6, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(7, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_7, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(8, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_8, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(9, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_9, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(10, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_10, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(11, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_11, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(12, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_12, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(13, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_13, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(14, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_14, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(15, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_15, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(16, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_16, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(17, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_17, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(18, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_18, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(19, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_19, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(20, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_20, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(21, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_21, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(22, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_22, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(23, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_23, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(24, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_24, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(25, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_25, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(26, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_26, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(27, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_27, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(28, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_28, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(29, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_29, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(30, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_30, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(31, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_31, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(32, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_32, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(33, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_33, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(34, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_34, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(35, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_35, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(36, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_36, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(37, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_37, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(38, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_38, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(39, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_39, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(40, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_40, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(41, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_41, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(42, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_42, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(43, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_43, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(44, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_44, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(45, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_45, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(46, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_46, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(47, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_47, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(48, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_48, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(49, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_49, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(50, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_50, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(51, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_51, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(52, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_52, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(53, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_53, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(54, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_54, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(55, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_55, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(56, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_56, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(57, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_57, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(58, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_58, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(59, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_59, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(60, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_60, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(61, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_61, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(62, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_62, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(63, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_63, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(64, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_64, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(65, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_65, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(66, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_66, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(67, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_67, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(68, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_68, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(69, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_69, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(70, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_70, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(71, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_71, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(72, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_72, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(73, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_73, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(74, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_74, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(75, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_75, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(76, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_76, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(77, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_77, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(78, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_78, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(79, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_79, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(80, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_80, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(81, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_81, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(82, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_82, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(83, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_83, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(84, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_84, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(85, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_85, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(86, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_86, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(87, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_87, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(88, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_88, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(89, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_89, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(90, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_90, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(91, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_91, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(92, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_92, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(93, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_93, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(94, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_94, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(95, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_95, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(96, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_96, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(97, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_97, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(98, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_98, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(99, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_99, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(100, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_100, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(101, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_101, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(102, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_102, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(103, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_103, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(104, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_104, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(105, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_105, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(106, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_106, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(107, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_107, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(108, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_108, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(109, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_109, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(110, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_110, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(111, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_111, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(112, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_112, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(113, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_113, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(114, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_114, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(115, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_115, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(116, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_116, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(117, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_117, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(118, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_118, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(119, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_119, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(120, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_120, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(121, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_121, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(122, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_122, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(123, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_123, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(124, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_124, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(125, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_125, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(126, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_126, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(127, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_127, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(128, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_128, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(129, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_129, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(130, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_130, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(131, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_131, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(132, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_132, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(133, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_133, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(134, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_134, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(135, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_135, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(136, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_136, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(137, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_137, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(138, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_138, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(139, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_139, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(140, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_140, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(141, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_141, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(142, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_142, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(143, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_143, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(144, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_144, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(145, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_145, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(146, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_146, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(147, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_147, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(148, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_148, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(149, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_149, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(150, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_150, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(151, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_151, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(152, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_152, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(153, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_153, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(154, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_154, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(155, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_155, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(156, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_156, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(157, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_157, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(158, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_158, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(159, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_159, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(160, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_160, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(161, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_161, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(162, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_162, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(163, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_163, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(164, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_164, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(165, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_165, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(166, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_166, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(167, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_167, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(168, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_168, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(169, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_169, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(170, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_170, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(171, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_171, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(172, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_172, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(173, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_173, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(174, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_174, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(175, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_175, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(176, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_176, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(177, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_177, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(178, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_178, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(179, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_179, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(180, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_180, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(181, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_181, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(182, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_182, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(183, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_183, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(184, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_184, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(185, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_185, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(186, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_186, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(187, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_187, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(188, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_188, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(189, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_189, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(190, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_190, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(191, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_191, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(192, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_192, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(193, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_193, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(194, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_194, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(195, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_195, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(196, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_196, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(197, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_197, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(198, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_198, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(199, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_199, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(200, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_200, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(201, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_201, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(202, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_202, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(203, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_203, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(204, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_204, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(205, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_205, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(206, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_206, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(207, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_207, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(208, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_208, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(209, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_209, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(210, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_210, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(211, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_211, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(212, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_212, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(213, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_213, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(214, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_214, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(215, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_215, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(216, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_216, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(217, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_217, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(218, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_218, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(219, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_219, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(220, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_220, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(221, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_221, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(222, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_222, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(223, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_223, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(224, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_224, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(225, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_225, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(226, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_226, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(227, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_227, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(228, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_228, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(229, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_229, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(230, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_230, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(231, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_231, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(232, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_232, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(233, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_233, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(234, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_234, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(235, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_235, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(236, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_236, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(237, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_237, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(238, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_238, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(239, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_239, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(240, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_240, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(241, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_241, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(242, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_242, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(243, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_243, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(244, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_244, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(245, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_245, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(246, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_246, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(247, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_247, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(248, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_248, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(249, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_249, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(250, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_250, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(251, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_251, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(252, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_252, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(253, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_253, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(254, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_254, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(255, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_255, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(256, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_256, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(257, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_257, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_NIL 1
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) 0
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/detail/fold_left.hpp b/SRC/Boost/boost/preprocessor/list/detail/fold_left.hpp
deleted file mode 100755
index ed4f622..0000000
--- a/SRC/Boost/boost/preprocessor/list/detail/fold_left.hpp
+++ /dev/null
@@ -1,279 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
-#
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/detail/fold_right.hpp b/SRC/Boost/boost/preprocessor/list/detail/fold_right.hpp
deleted file mode 100755
index feca39b..0000000
--- a/SRC/Boost/boost/preprocessor/list/detail/fold_right.hpp
+++ /dev/null
@@ -1,277 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP
-#
-# include <boost/preprocessor/list/fold_left.hpp>
-# include <boost/preprocessor/list/reverse.hpp>
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1(o, s, BOOST_PP_LIST_REVERSE_D(1, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2(o, s, BOOST_PP_LIST_REVERSE_D(2, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3(o, s, BOOST_PP_LIST_REVERSE_D(3, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4(o, s, BOOST_PP_LIST_REVERSE_D(4, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5(o, s, BOOST_PP_LIST_REVERSE_D(5, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6(o, s, BOOST_PP_LIST_REVERSE_D(6, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7(o, s, BOOST_PP_LIST_REVERSE_D(7, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8(o, s, BOOST_PP_LIST_REVERSE_D(8, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9(o, s, BOOST_PP_LIST_REVERSE_D(9, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10(o, s, BOOST_PP_LIST_REVERSE_D(10, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11(o, s, BOOST_PP_LIST_REVERSE_D(11, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12(o, s, BOOST_PP_LIST_REVERSE_D(12, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13(o, s, BOOST_PP_LIST_REVERSE_D(13, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14(o, s, BOOST_PP_LIST_REVERSE_D(14, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15(o, s, BOOST_PP_LIST_REVERSE_D(15, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16(o, s, BOOST_PP_LIST_REVERSE_D(16, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17(o, s, BOOST_PP_LIST_REVERSE_D(17, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18(o, s, BOOST_PP_LIST_REVERSE_D(18, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19(o, s, BOOST_PP_LIST_REVERSE_D(19, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20(o, s, BOOST_PP_LIST_REVERSE_D(20, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21(o, s, BOOST_PP_LIST_REVERSE_D(21, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22(o, s, BOOST_PP_LIST_REVERSE_D(22, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23(o, s, BOOST_PP_LIST_REVERSE_D(23, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24(o, s, BOOST_PP_LIST_REVERSE_D(24, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25(o, s, BOOST_PP_LIST_REVERSE_D(25, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26(o, s, BOOST_PP_LIST_REVERSE_D(26, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27(o, s, BOOST_PP_LIST_REVERSE_D(27, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28(o, s, BOOST_PP_LIST_REVERSE_D(28, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29(o, s, BOOST_PP_LIST_REVERSE_D(29, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30(o, s, BOOST_PP_LIST_REVERSE_D(30, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31(o, s, BOOST_PP_LIST_REVERSE_D(31, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32(o, s, BOOST_PP_LIST_REVERSE_D(32, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33(o, s, BOOST_PP_LIST_REVERSE_D(33, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34(o, s, BOOST_PP_LIST_REVERSE_D(34, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35(o, s, BOOST_PP_LIST_REVERSE_D(35, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36(o, s, BOOST_PP_LIST_REVERSE_D(36, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37(o, s, BOOST_PP_LIST_REVERSE_D(37, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38(o, s, BOOST_PP_LIST_REVERSE_D(38, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39(o, s, BOOST_PP_LIST_REVERSE_D(39, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40(o, s, BOOST_PP_LIST_REVERSE_D(40, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41(o, s, BOOST_PP_LIST_REVERSE_D(41, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42(o, s, BOOST_PP_LIST_REVERSE_D(42, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43(o, s, BOOST_PP_LIST_REVERSE_D(43, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44(o, s, BOOST_PP_LIST_REVERSE_D(44, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45(o, s, BOOST_PP_LIST_REVERSE_D(45, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46(o, s, BOOST_PP_LIST_REVERSE_D(46, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47(o, s, BOOST_PP_LIST_REVERSE_D(47, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48(o, s, BOOST_PP_LIST_REVERSE_D(48, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49(o, s, BOOST_PP_LIST_REVERSE_D(49, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50(o, s, BOOST_PP_LIST_REVERSE_D(50, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51(o, s, BOOST_PP_LIST_REVERSE_D(51, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52(o, s, BOOST_PP_LIST_REVERSE_D(52, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53(o, s, BOOST_PP_LIST_REVERSE_D(53, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54(o, s, BOOST_PP_LIST_REVERSE_D(54, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55(o, s, BOOST_PP_LIST_REVERSE_D(55, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56(o, s, BOOST_PP_LIST_REVERSE_D(56, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57(o, s, BOOST_PP_LIST_REVERSE_D(57, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58(o, s, BOOST_PP_LIST_REVERSE_D(58, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59(o, s, BOOST_PP_LIST_REVERSE_D(59, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60(o, s, BOOST_PP_LIST_REVERSE_D(60, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61(o, s, BOOST_PP_LIST_REVERSE_D(61, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62(o, s, BOOST_PP_LIST_REVERSE_D(62, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63(o, s, BOOST_PP_LIST_REVERSE_D(63, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64(o, s, BOOST_PP_LIST_REVERSE_D(64, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65(o, s, BOOST_PP_LIST_REVERSE_D(65, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66(o, s, BOOST_PP_LIST_REVERSE_D(66, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67(o, s, BOOST_PP_LIST_REVERSE_D(67, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68(o, s, BOOST_PP_LIST_REVERSE_D(68, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69(o, s, BOOST_PP_LIST_REVERSE_D(69, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70(o, s, BOOST_PP_LIST_REVERSE_D(70, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71(o, s, BOOST_PP_LIST_REVERSE_D(71, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72(o, s, BOOST_PP_LIST_REVERSE_D(72, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73(o, s, BOOST_PP_LIST_REVERSE_D(73, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74(o, s, BOOST_PP_LIST_REVERSE_D(74, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75(o, s, BOOST_PP_LIST_REVERSE_D(75, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76(o, s, BOOST_PP_LIST_REVERSE_D(76, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77(o, s, BOOST_PP_LIST_REVERSE_D(77, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78(o, s, BOOST_PP_LIST_REVERSE_D(78, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79(o, s, BOOST_PP_LIST_REVERSE_D(79, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80(o, s, BOOST_PP_LIST_REVERSE_D(80, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81(o, s, BOOST_PP_LIST_REVERSE_D(81, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82(o, s, BOOST_PP_LIST_REVERSE_D(82, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83(o, s, BOOST_PP_LIST_REVERSE_D(83, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84(o, s, BOOST_PP_LIST_REVERSE_D(84, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85(o, s, BOOST_PP_LIST_REVERSE_D(85, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86(o, s, BOOST_PP_LIST_REVERSE_D(86, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87(o, s, BOOST_PP_LIST_REVERSE_D(87, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88(o, s, BOOST_PP_LIST_REVERSE_D(88, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89(o, s, BOOST_PP_LIST_REVERSE_D(89, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90(o, s, BOOST_PP_LIST_REVERSE_D(90, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91(o, s, BOOST_PP_LIST_REVERSE_D(91, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92(o, s, BOOST_PP_LIST_REVERSE_D(92, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93(o, s, BOOST_PP_LIST_REVERSE_D(93, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94(o, s, BOOST_PP_LIST_REVERSE_D(94, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95(o, s, BOOST_PP_LIST_REVERSE_D(95, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96(o, s, BOOST_PP_LIST_REVERSE_D(96, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97(o, s, BOOST_PP_LIST_REVERSE_D(97, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98(o, s, BOOST_PP_LIST_REVERSE_D(98, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99(o, s, BOOST_PP_LIST_REVERSE_D(99, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100(o, s, BOOST_PP_LIST_REVERSE_D(100, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101(o, s, BOOST_PP_LIST_REVERSE_D(101, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102(o, s, BOOST_PP_LIST_REVERSE_D(102, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103(o, s, BOOST_PP_LIST_REVERSE_D(103, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104(o, s, BOOST_PP_LIST_REVERSE_D(104, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105(o, s, BOOST_PP_LIST_REVERSE_D(105, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106(o, s, BOOST_PP_LIST_REVERSE_D(106, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107(o, s, BOOST_PP_LIST_REVERSE_D(107, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108(o, s, BOOST_PP_LIST_REVERSE_D(108, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109(o, s, BOOST_PP_LIST_REVERSE_D(109, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110(o, s, BOOST_PP_LIST_REVERSE_D(110, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111(o, s, BOOST_PP_LIST_REVERSE_D(111, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112(o, s, BOOST_PP_LIST_REVERSE_D(112, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113(o, s, BOOST_PP_LIST_REVERSE_D(113, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114(o, s, BOOST_PP_LIST_REVERSE_D(114, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115(o, s, BOOST_PP_LIST_REVERSE_D(115, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116(o, s, BOOST_PP_LIST_REVERSE_D(116, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117(o, s, BOOST_PP_LIST_REVERSE_D(117, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118(o, s, BOOST_PP_LIST_REVERSE_D(118, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119(o, s, BOOST_PP_LIST_REVERSE_D(119, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120(o, s, BOOST_PP_LIST_REVERSE_D(120, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121(o, s, BOOST_PP_LIST_REVERSE_D(121, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122(o, s, BOOST_PP_LIST_REVERSE_D(122, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123(o, s, BOOST_PP_LIST_REVERSE_D(123, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124(o, s, BOOST_PP_LIST_REVERSE_D(124, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125(o, s, BOOST_PP_LIST_REVERSE_D(125, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126(o, s, BOOST_PP_LIST_REVERSE_D(126, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127(o, s, BOOST_PP_LIST_REVERSE_D(127, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128(o, s, BOOST_PP_LIST_REVERSE_D(128, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129(o, s, BOOST_PP_LIST_REVERSE_D(129, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130(o, s, BOOST_PP_LIST_REVERSE_D(130, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131(o, s, BOOST_PP_LIST_REVERSE_D(131, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132(o, s, BOOST_PP_LIST_REVERSE_D(132, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133(o, s, BOOST_PP_LIST_REVERSE_D(133, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134(o, s, BOOST_PP_LIST_REVERSE_D(134, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135(o, s, BOOST_PP_LIST_REVERSE_D(135, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136(o, s, BOOST_PP_LIST_REVERSE_D(136, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137(o, s, BOOST_PP_LIST_REVERSE_D(137, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138(o, s, BOOST_PP_LIST_REVERSE_D(138, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139(o, s, BOOST_PP_LIST_REVERSE_D(139, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140(o, s, BOOST_PP_LIST_REVERSE_D(140, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141(o, s, BOOST_PP_LIST_REVERSE_D(141, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142(o, s, BOOST_PP_LIST_REVERSE_D(142, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143(o, s, BOOST_PP_LIST_REVERSE_D(143, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144(o, s, BOOST_PP_LIST_REVERSE_D(144, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145(o, s, BOOST_PP_LIST_REVERSE_D(145, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146(o, s, BOOST_PP_LIST_REVERSE_D(146, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147(o, s, BOOST_PP_LIST_REVERSE_D(147, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148(o, s, BOOST_PP_LIST_REVERSE_D(148, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149(o, s, BOOST_PP_LIST_REVERSE_D(149, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150(o, s, BOOST_PP_LIST_REVERSE_D(150, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151(o, s, BOOST_PP_LIST_REVERSE_D(151, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152(o, s, BOOST_PP_LIST_REVERSE_D(152, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153(o, s, BOOST_PP_LIST_REVERSE_D(153, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154(o, s, BOOST_PP_LIST_REVERSE_D(154, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155(o, s, BOOST_PP_LIST_REVERSE_D(155, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156(o, s, BOOST_PP_LIST_REVERSE_D(156, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157(o, s, BOOST_PP_LIST_REVERSE_D(157, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158(o, s, BOOST_PP_LIST_REVERSE_D(158, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159(o, s, BOOST_PP_LIST_REVERSE_D(159, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160(o, s, BOOST_PP_LIST_REVERSE_D(160, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161(o, s, BOOST_PP_LIST_REVERSE_D(161, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162(o, s, BOOST_PP_LIST_REVERSE_D(162, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163(o, s, BOOST_PP_LIST_REVERSE_D(163, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164(o, s, BOOST_PP_LIST_REVERSE_D(164, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165(o, s, BOOST_PP_LIST_REVERSE_D(165, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166(o, s, BOOST_PP_LIST_REVERSE_D(166, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167(o, s, BOOST_PP_LIST_REVERSE_D(167, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168(o, s, BOOST_PP_LIST_REVERSE_D(168, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169(o, s, BOOST_PP_LIST_REVERSE_D(169, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170(o, s, BOOST_PP_LIST_REVERSE_D(170, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171(o, s, BOOST_PP_LIST_REVERSE_D(171, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172(o, s, BOOST_PP_LIST_REVERSE_D(172, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173(o, s, BOOST_PP_LIST_REVERSE_D(173, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174(o, s, BOOST_PP_LIST_REVERSE_D(174, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175(o, s, BOOST_PP_LIST_REVERSE_D(175, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176(o, s, BOOST_PP_LIST_REVERSE_D(176, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177(o, s, BOOST_PP_LIST_REVERSE_D(177, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178(o, s, BOOST_PP_LIST_REVERSE_D(178, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179(o, s, BOOST_PP_LIST_REVERSE_D(179, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180(o, s, BOOST_PP_LIST_REVERSE_D(180, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181(o, s, BOOST_PP_LIST_REVERSE_D(181, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182(o, s, BOOST_PP_LIST_REVERSE_D(182, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183(o, s, BOOST_PP_LIST_REVERSE_D(183, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184(o, s, BOOST_PP_LIST_REVERSE_D(184, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185(o, s, BOOST_PP_LIST_REVERSE_D(185, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186(o, s, BOOST_PP_LIST_REVERSE_D(186, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187(o, s, BOOST_PP_LIST_REVERSE_D(187, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188(o, s, BOOST_PP_LIST_REVERSE_D(188, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189(o, s, BOOST_PP_LIST_REVERSE_D(189, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190(o, s, BOOST_PP_LIST_REVERSE_D(190, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191(o, s, BOOST_PP_LIST_REVERSE_D(191, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192(o, s, BOOST_PP_LIST_REVERSE_D(192, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193(o, s, BOOST_PP_LIST_REVERSE_D(193, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194(o, s, BOOST_PP_LIST_REVERSE_D(194, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195(o, s, BOOST_PP_LIST_REVERSE_D(195, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196(o, s, BOOST_PP_LIST_REVERSE_D(196, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197(o, s, BOOST_PP_LIST_REVERSE_D(197, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198(o, s, BOOST_PP_LIST_REVERSE_D(198, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199(o, s, BOOST_PP_LIST_REVERSE_D(199, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200(o, s, BOOST_PP_LIST_REVERSE_D(200, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201(o, s, BOOST_PP_LIST_REVERSE_D(201, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202(o, s, BOOST_PP_LIST_REVERSE_D(202, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203(o, s, BOOST_PP_LIST_REVERSE_D(203, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204(o, s, BOOST_PP_LIST_REVERSE_D(204, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205(o, s, BOOST_PP_LIST_REVERSE_D(205, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206(o, s, BOOST_PP_LIST_REVERSE_D(206, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207(o, s, BOOST_PP_LIST_REVERSE_D(207, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208(o, s, BOOST_PP_LIST_REVERSE_D(208, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209(o, s, BOOST_PP_LIST_REVERSE_D(209, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210(o, s, BOOST_PP_LIST_REVERSE_D(210, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211(o, s, BOOST_PP_LIST_REVERSE_D(211, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212(o, s, BOOST_PP_LIST_REVERSE_D(212, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213(o, s, BOOST_PP_LIST_REVERSE_D(213, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214(o, s, BOOST_PP_LIST_REVERSE_D(214, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215(o, s, BOOST_PP_LIST_REVERSE_D(215, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216(o, s, BOOST_PP_LIST_REVERSE_D(216, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217(o, s, BOOST_PP_LIST_REVERSE_D(217, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218(o, s, BOOST_PP_LIST_REVERSE_D(218, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219(o, s, BOOST_PP_LIST_REVERSE_D(219, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220(o, s, BOOST_PP_LIST_REVERSE_D(220, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221(o, s, BOOST_PP_LIST_REVERSE_D(221, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222(o, s, BOOST_PP_LIST_REVERSE_D(222, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223(o, s, BOOST_PP_LIST_REVERSE_D(223, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224(o, s, BOOST_PP_LIST_REVERSE_D(224, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225(o, s, BOOST_PP_LIST_REVERSE_D(225, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226(o, s, BOOST_PP_LIST_REVERSE_D(226, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227(o, s, BOOST_PP_LIST_REVERSE_D(227, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228(o, s, BOOST_PP_LIST_REVERSE_D(228, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229(o, s, BOOST_PP_LIST_REVERSE_D(229, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230(o, s, BOOST_PP_LIST_REVERSE_D(230, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231(o, s, BOOST_PP_LIST_REVERSE_D(231, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232(o, s, BOOST_PP_LIST_REVERSE_D(232, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233(o, s, BOOST_PP_LIST_REVERSE_D(233, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234(o, s, BOOST_PP_LIST_REVERSE_D(234, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235(o, s, BOOST_PP_LIST_REVERSE_D(235, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236(o, s, BOOST_PP_LIST_REVERSE_D(236, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237(o, s, BOOST_PP_LIST_REVERSE_D(237, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238(o, s, BOOST_PP_LIST_REVERSE_D(238, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239(o, s, BOOST_PP_LIST_REVERSE_D(239, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240(o, s, BOOST_PP_LIST_REVERSE_D(240, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241(o, s, BOOST_PP_LIST_REVERSE_D(241, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242(o, s, BOOST_PP_LIST_REVERSE_D(242, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243(o, s, BOOST_PP_LIST_REVERSE_D(243, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244(o, s, BOOST_PP_LIST_REVERSE_D(244, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245(o, s, BOOST_PP_LIST_REVERSE_D(245, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246(o, s, BOOST_PP_LIST_REVERSE_D(246, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247(o, s, BOOST_PP_LIST_REVERSE_D(247, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248(o, s, BOOST_PP_LIST_REVERSE_D(248, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249(o, s, BOOST_PP_LIST_REVERSE_D(249, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250(o, s, BOOST_PP_LIST_REVERSE_D(250, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251(o, s, BOOST_PP_LIST_REVERSE_D(251, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252(o, s, BOOST_PP_LIST_REVERSE_D(252, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253(o, s, BOOST_PP_LIST_REVERSE_D(253, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254(o, s, BOOST_PP_LIST_REVERSE_D(254, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255(o, s, BOOST_PP_LIST_REVERSE_D(255, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256(o, s, BOOST_PP_LIST_REVERSE_D(256, l))
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/enum.hpp b/SRC/Boost/boost/preprocessor/list/enum.hpp
deleted file mode 100755
index 7ef2412..0000000
--- a/SRC/Boost/boost/preprocessor/list/enum.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_ENUM_HPP
-# define BOOST_PREPROCESSOR_LIST_ENUM_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/for_each_i.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-#
-# /* BOOST_PP_LIST_ENUM */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_ENUM(list) BOOST_PP_LIST_FOR_EACH_I(BOOST_PP_LIST_ENUM_O, BOOST_PP_NIL, list)
-# else
-#    define BOOST_PP_LIST_ENUM(list) BOOST_PP_LIST_ENUM_I(list)
-#    define BOOST_PP_LIST_ENUM_I(list) BOOST_PP_LIST_FOR_EACH_I(BOOST_PP_LIST_ENUM_O, BOOST_PP_NIL, list)
-# endif
-#
-# define BOOST_PP_LIST_ENUM_O(r, _, i, elem) BOOST_PP_COMMA_IF(i) elem
-#
-# /* BOOST_PP_LIST_ENUM_R */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_ENUM_R(r, list) BOOST_PP_LIST_FOR_EACH_I_R(r, BOOST_PP_LIST_ENUM_O, BOOST_PP_NIL, list)
-# else
-#    define BOOST_PP_LIST_ENUM_R(r, list) BOOST_PP_LIST_ENUM_R_I(r, list)
-#    define BOOST_PP_LIST_ENUM_R_I(r, list) BOOST_PP_LIST_FOR_EACH_I_R(r, BOOST_PP_LIST_ENUM_O, BOOST_PP_NIL, list)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/filter.hpp b/SRC/Boost/boost/preprocessor/list/filter.hpp
deleted file mode 100755
index 5711f61..0000000
--- a/SRC/Boost/boost/preprocessor/list/filter.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_FILTER_HPP
-# define BOOST_PREPROCESSOR_LIST_FILTER_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/list/fold_right.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_LIST_FILTER */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FILTER(pred, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_FILTER_O, (pred, data, BOOST_PP_NIL), list))
-# else
-#    define BOOST_PP_LIST_FILTER(pred, data, list) BOOST_PP_LIST_FILTER_I(pred, data, list)
-#    define BOOST_PP_LIST_FILTER_I(pred, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_FILTER_O, (pred, data, BOOST_PP_NIL), list))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FILTER_O(d, pdr, elem) BOOST_PP_LIST_FILTER_O_D(d, BOOST_PP_TUPLE_ELEM(3, 0, pdr), BOOST_PP_TUPLE_ELEM(3, 1, pdr), BOOST_PP_TUPLE_ELEM(3, 2, pdr), elem)
-# else
-#    define BOOST_PP_LIST_FILTER_O(d, pdr, elem) BOOST_PP_LIST_FILTER_O_I(d, BOOST_PP_TUPLE_REM_3 pdr, elem)
-#    define BOOST_PP_LIST_FILTER_O_I(d, im, elem) BOOST_PP_LIST_FILTER_O_D(d, im, elem)
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#    define BOOST_PP_LIST_FILTER_O_D(d, pred, data, res, elem) (pred, data, BOOST_PP_IF(pred(d, data, elem), (elem, res), res))
-# else
-#    define BOOST_PP_LIST_FILTER_O_D(d, pred, data, res, elem) (pred, data, BOOST_PP_IF(pred##(d, data, elem), (elem, res), res))
-# endif
-#
-# /* BOOST_PP_LIST_FILTER_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FILTER_D(d, pred, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_FILTER_O, (pred, data, BOOST_PP_NIL), list))
-# else
-#    define BOOST_PP_LIST_FILTER_D(d, pred, data, list) BOOST_PP_LIST_FILTER_D_I(d, pred, data, list)
-#    define BOOST_PP_LIST_FILTER_D_I(d, pred, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_FILTER_O, (pred, data, BOOST_PP_NIL), list))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/first_n.hpp b/SRC/Boost/boost/preprocessor/list/first_n.hpp
deleted file mode 100755
index bd5e022..0000000
--- a/SRC/Boost/boost/preprocessor/list/first_n.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_FIRST_N_HPP
-# define BOOST_PREPROCESSOR_LIST_FIRST_N_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/list/reverse.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_LIST_FIRST_N */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FIRST_N(count, list) BOOST_PP_LIST_REVERSE(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_WHILE(BOOST_PP_LIST_FIRST_N_P, BOOST_PP_LIST_FIRST_N_O, (count, list, BOOST_PP_NIL))))
-# else
-#    define BOOST_PP_LIST_FIRST_N(count, list) BOOST_PP_LIST_FIRST_N_I(count, list)
-#    define BOOST_PP_LIST_FIRST_N_I(count, list) BOOST_PP_LIST_REVERSE(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_WHILE(BOOST_PP_LIST_FIRST_N_P, BOOST_PP_LIST_FIRST_N_O, (count, list, BOOST_PP_NIL))))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FIRST_N_P(d, data) BOOST_PP_TUPLE_ELEM(3, 0, data)
-# else
-#    define BOOST_PP_LIST_FIRST_N_P(d, data) BOOST_PP_LIST_FIRST_N_P_I data
-#    define BOOST_PP_LIST_FIRST_N_P_I(c, l, nl) c
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_LIST_FIRST_N_O(d, data) BOOST_PP_LIST_FIRST_N_O_D data
-# else
-#    define BOOST_PP_LIST_FIRST_N_O(d, data) BOOST_PP_LIST_FIRST_N_O_D(BOOST_PP_TUPLE_ELEM(3, 0, data), BOOST_PP_TUPLE_ELEM(3, 1, data), BOOST_PP_TUPLE_ELEM(3, 2, data))
-# endif
-#
-# define BOOST_PP_LIST_FIRST_N_O_D(c, l, nl) (BOOST_PP_DEC(c), BOOST_PP_LIST_REST(l), (BOOST_PP_LIST_FIRST(l), nl))
-#
-# /* BOOST_PP_LIST_FIRST_N_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FIRST_N_D(d, count, list) BOOST_PP_LIST_REVERSE_D(d, BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_WHILE_ ## d(BOOST_PP_LIST_FIRST_N_P, BOOST_PP_LIST_FIRST_N_O, (count, list, BOOST_PP_NIL))))
-# else
-#    define BOOST_PP_LIST_FIRST_N_D(d, count, list) BOOST_PP_LIST_FIRST_N_D_I(d, count, list)
-#    define BOOST_PP_LIST_FIRST_N_D_I(d, count, list) BOOST_PP_LIST_REVERSE_D(d, BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_WHILE_ ## d(BOOST_PP_LIST_FIRST_N_P, BOOST_PP_LIST_FIRST_N_O, (count, list, BOOST_PP_NIL))))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/fold_left.hpp b/SRC/Boost/boost/preprocessor/list/fold_left.hpp
deleted file mode 100755
index bd945c0..0000000
--- a/SRC/Boost/boost/preprocessor/list/fold_left.hpp
+++ /dev/null
@@ -1,303 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-#
-# /* BOOST_PP_LIST_FOLD_LEFT */
-#
-# if 0
-#    define BOOST_PP_LIST_FOLD_LEFT(op, state, list)
-# endif
-#
-# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
-#
-# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_ERROR(0x0004)
-#
-# define BOOST_PP_LIST_FOLD_LEFT_D(d, o, s, l) BOOST_PP_LIST_FOLD_LEFT_ ## d(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_2ND BOOST_PP_LIST_FOLD_LEFT
-# define BOOST_PP_LIST_FOLD_LEFT_2ND_D BOOST_PP_LIST_FOLD_LEFT_D
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    include <boost/preprocessor/list/detail/edg/fold_left.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#    include <boost/preprocessor/list/detail/dmc/fold_left.hpp>
-# else
-#    include <boost/preprocessor/list/detail/fold_left.hpp>
-# endif
-#
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_NIL 1
-#
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) 0
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/fold_right.hpp b/SRC/Boost/boost/preprocessor/list/fold_right.hpp
deleted file mode 100755
index 19a63e6..0000000
--- a/SRC/Boost/boost/preprocessor/list/fold_right.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP
-# define BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-#
-# if 0
-#    define BOOST_PP_LIST_FOLD_RIGHT(op, state, list)
-# endif
-#
-# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_ERROR(0x0004)
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_D(d, o, s, l) BOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_2ND BOOST_PP_LIST_FOLD_RIGHT
-# define BOOST_PP_LIST_FOLD_RIGHT_2ND_D BOOST_PP_LIST_FOLD_RIGHT_D
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    include <boost/preprocessor/list/detail/edg/fold_right.hpp>
-# else
-#    include <boost/preprocessor/list/detail/fold_right.hpp>
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/for_each.hpp b/SRC/Boost/boost/preprocessor/list/for_each.hpp
deleted file mode 100755
index e2080a2..0000000
--- a/SRC/Boost/boost/preprocessor/list/for_each.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_FOR_EACH_HPP
-# define BOOST_PREPROCESSOR_LIST_FOR_EACH_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/for_each_i.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_LIST_FOR_EACH */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FOR_EACH(macro, data, list) BOOST_PP_LIST_FOR_EACH_I(BOOST_PP_LIST_FOR_EACH_O, (macro, data), list)
-# else
-#    define BOOST_PP_LIST_FOR_EACH(macro, data, list) BOOST_PP_LIST_FOR_EACH_X(macro, data, list)
-#    define BOOST_PP_LIST_FOR_EACH_X(macro, data, list) BOOST_PP_LIST_FOR_EACH_I(BOOST_PP_LIST_FOR_EACH_O, (macro, data), list)
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FOR_EACH_O(r, md, i, elem) BOOST_PP_LIST_FOR_EACH_O_D(r, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md), elem)
-# else
-#    define BOOST_PP_LIST_FOR_EACH_O(r, md, i, elem) BOOST_PP_LIST_FOR_EACH_O_I(r, BOOST_PP_TUPLE_REM_2 md, elem)
-#    define BOOST_PP_LIST_FOR_EACH_O_I(r, im, elem) BOOST_PP_LIST_FOR_EACH_O_D(r, im, elem)
-# endif
-#
-# define BOOST_PP_LIST_FOR_EACH_O_D(r, m, d, elem) m(r, d, elem)
-#
-# /* BOOST_PP_LIST_FOR_EACH_R */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FOR_EACH_R(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_I_R(r, BOOST_PP_LIST_FOR_EACH_O, (macro, data), list)
-# else
-#    define BOOST_PP_LIST_FOR_EACH_R(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_R_X(r, macro, data, list)
-#    define BOOST_PP_LIST_FOR_EACH_R_X(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_I_R(r, BOOST_PP_LIST_FOR_EACH_O, (macro, data), list)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/for_each_i.hpp b/SRC/Boost/boost/preprocessor/list/for_each_i.hpp
deleted file mode 100755
index 87ec39c..0000000
--- a/SRC/Boost/boost/preprocessor/list/for_each_i.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP
-# define BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/repetition/for.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_LIST_FOR_EACH_I */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
-# else
-#    define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list)
-#    define BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_FOR_EACH_I_P_D x
-#    define BOOST_PP_LIST_FOR_EACH_I_P_D(m, d, l, i) BOOST_PP_LIST_IS_CONS(l)
-# else
-#    define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(4, 2, x))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_LIST_FOR_EACH_I_O(r, x) BOOST_PP_LIST_FOR_EACH_I_O_D x
-#    define BOOST_PP_LIST_FOR_EACH_I_O_D(m, d, l, i) (m, d, BOOST_PP_LIST_REST(l), BOOST_PP_INC(i))
-# else
-#    define BOOST_PP_LIST_FOR_EACH_I_O(r, x) (BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_LIST_REST(BOOST_PP_TUPLE_ELEM(4, 2, x)), BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 3, x)))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FOR_EACH_I_M(r, x) BOOST_PP_LIST_FOR_EACH_I_M_D(r, BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x))
-# else
-#    define BOOST_PP_LIST_FOR_EACH_I_M(r, x) BOOST_PP_LIST_FOR_EACH_I_M_I(r, BOOST_PP_TUPLE_REM_4 x)
-#    define BOOST_PP_LIST_FOR_EACH_I_M_I(r, x_e) BOOST_PP_LIST_FOR_EACH_I_M_D(r, x_e)
-# endif
-#
-# define BOOST_PP_LIST_FOR_EACH_I_M_D(r, m, d, l, i) m(r, d, i, BOOST_PP_LIST_FIRST(l))
-#
-# /* BOOST_PP_LIST_FOR_EACH_I_R */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
-# else
-#    define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list)
-#    define BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/for_each_product.hpp b/SRC/Boost/boost/preprocessor/list/for_each_product.hpp
deleted file mode 100755
index ae67d75..0000000
--- a/SRC/Boost/boost/preprocessor/list/for_each_product.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_FOR_EACH_PRODUCT_HPP
-# define BOOST_PREPROCESSOR_LIST_FOR_EACH_PRODUCT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/list/to_tuple.hpp>
-# include <boost/preprocessor/repetition/for.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/to_list.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-# include <boost/preprocessor/tuple/reverse.hpp>
-#
-# /* BOOST_PP_LIST_FOR_EACH_PRODUCT */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT(macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_E(BOOST_PP_FOR, macro, size, BOOST_PP_TUPLE_TO_LIST(size, tuple))
-# else
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT(macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_Q(macro, size, tuple)
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_Q(macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_E(BOOST_PP_FOR, macro, size, BOOST_PP_TUPLE_TO_LIST(size, tuple))
-# endif
-#
-# /* BOOST_PP_LIST_FOR_EACH_PRODUCT_R */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_R(r, macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_E(BOOST_PP_FOR_ ## r, macro, size, BOOST_PP_TUPLE_TO_LIST(size, tuple))
-# else
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_R(r, macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_R_Q(r, macro, size, tuple)
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_R_Q(r, macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_E(BOOST_PP_FOR_ ## r, macro, size, BOOST_PP_TUPLE_TO_LIST(size, tuple))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_E(impl, macro, size, lists) impl((BOOST_PP_LIST_FIRST(lists), BOOST_PP_LIST_REST(lists), BOOST_PP_NIL, macro, size), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_0)
-# else
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_E(impl, macro, size, lists) BOOST_PP_LIST_FOR_EACH_PRODUCT_E_D(impl, macro, size, lists)
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_E_D(impl, macro, size, lists) impl((BOOST_PP_LIST_FIRST(lists), BOOST_PP_LIST_REST(lists), BOOST_PP_NIL, macro, size), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_0)
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_P(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_P_I data
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_P_I(a, b, res, macro, size) BOOST_PP_LIST_IS_CONS(a)
-# else
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_P(r, data) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(5, 0, data))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_O(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_O_I data
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_O_I(a, b, res, macro, size) (BOOST_PP_LIST_REST(a), b, res, macro, size)
-# else
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_O(r, data) (BOOST_PP_LIST_REST(BOOST_PP_TUPLE_ELEM(5, 0, data)), BOOST_PP_TUPLE_ELEM(5, 1, data), BOOST_PP_TUPLE_ELEM(5, 2, data), BOOST_PP_TUPLE_ELEM(5, 3, data), BOOST_PP_TUPLE_ELEM(5, 4, data))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_I(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_I_I(r, BOOST_PP_TUPLE_ELEM(5, 0, data), BOOST_PP_TUPLE_ELEM(5, 1, data), BOOST_PP_TUPLE_ELEM(5, 2, data), BOOST_PP_TUPLE_ELEM(5, 3, data), BOOST_PP_TUPLE_ELEM(5, 4, data))
-# else
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_I(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_I_D(r, BOOST_PP_TUPLE_REM_5 data)
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_D(r, data_e) BOOST_PP_LIST_FOR_EACH_PRODUCT_I_I(r, data_e)
-# endif
-#
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_I(r, a, b, res, macro, size) BOOST_PP_LIST_FOR_EACH_PRODUCT_I_II(r, macro, BOOST_PP_LIST_TO_TUPLE_R(r, (BOOST_PP_LIST_FIRST(a), res)), size)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_II(r, macro, args, size) BOOST_PP_LIST_FOR_EACH_PRODUCT_I_III(r, macro, args, size)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_III(r, macro, args, size) macro(r, BOOST_PP_TUPLE_REVERSE(size, args))
-#
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, i) BOOST_PP_IF(BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(5, 1, data)), BOOST_PP_LIST_FOR_EACH_PRODUCT_N_ ## i, BOOST_PP_LIST_FOR_EACH_PRODUCT_I)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data) BOOST_PP_LIST_FOR_EACH_PRODUCT_H_I data
-# else
-#    define BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data) BOOST_PP_LIST_FOR_EACH_PRODUCT_H_I(BOOST_PP_TUPLE_ELEM(5, 0, data), BOOST_PP_TUPLE_ELEM(5, 1, data), BOOST_PP_TUPLE_ELEM(5, 2, data), BOOST_PP_TUPLE_ELEM(5, 3, data), BOOST_PP_TUPLE_ELEM(5, 4, data))
-# endif
-#
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_H_I(a, b, res, macro, size) (BOOST_PP_LIST_FIRST(b), BOOST_PP_LIST_REST(b), (BOOST_PP_LIST_FIRST(a), res), macro, size)
-#
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_0(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 0)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_1(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 1)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_2(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 2)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_3(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 3)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_4(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 4)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_5(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 5)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_6(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 6)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_7(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 7)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_8(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 8)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_9(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 9)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_10(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 10)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_11(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 11)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_12(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 12)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_13(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 13)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_14(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 14)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_15(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 15)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_16(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 16)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_17(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 17)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_18(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 18)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_19(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 19)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_20(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 20)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_21(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 21)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_22(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 22)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_23(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 23)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_24(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 24)(r, data)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_25(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 25)(r, data)
-#
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_0(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_1)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_1(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_2)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_2(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_3)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_3(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_4)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_4(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_5)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_5(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_6)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_6(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_7)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_7(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_8)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_8(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_9)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_9(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_10)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_10(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_11)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_11(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_12)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_12(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_13)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_13(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_14)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_14(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_15)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_15(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_16)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_16(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_17)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_17(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_18)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_18(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_19)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_19(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_20)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_20(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_21)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_21(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_22)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_22(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_23)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_23(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_24)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_24(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_25)
-# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_25(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_26)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/rest_n.hpp b/SRC/Boost/boost/preprocessor/list/rest_n.hpp
deleted file mode 100755
index 64a1836..0000000
--- a/SRC/Boost/boost/preprocessor/list/rest_n.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_REST_N_HPP
-# define BOOST_PREPROCESSOR_LIST_REST_N_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_LIST_REST_N */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_REST_N(count, list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_LIST_REST_N_P, BOOST_PP_LIST_REST_N_O, (list, count)))
-# else
-#    define BOOST_PP_LIST_REST_N(count, list) BOOST_PP_LIST_REST_N_I(count, list)
-#    define BOOST_PP_LIST_REST_N_I(count, list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_LIST_REST_N_P, BOOST_PP_LIST_REST_N_O, (list, count)))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_REST_N_P(d, lc) BOOST_PP_TUPLE_ELEM(2, 1, lc)
-# else
-#    define BOOST_PP_LIST_REST_N_P(d, lc) BOOST_PP_LIST_REST_N_P_I lc
-#    define BOOST_PP_LIST_REST_N_P_I(list, count) count
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_REST_N_O(d, lc) (BOOST_PP_LIST_REST(BOOST_PP_TUPLE_ELEM(2, 0, lc)), BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(2, 1, lc)))
-# else
-#    define BOOST_PP_LIST_REST_N_O(d, lc) BOOST_PP_LIST_REST_N_O_I lc
-#    define BOOST_PP_LIST_REST_N_O_I(list, count) (BOOST_PP_LIST_REST(list), BOOST_PP_DEC(count))
-# endif
-#
-# /* BOOST_PP_LIST_REST_N_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_REST_N_D(d, count, list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_LIST_REST_N_P, BOOST_PP_LIST_REST_N_O, (list, count)))
-# else
-#    define BOOST_PP_LIST_REST_N_D(d, count, list) BOOST_PP_LIST_REST_N_D_I(d, count, list)
-#    define BOOST_PP_LIST_REST_N_D_I(d, count, list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_LIST_REST_N_P, BOOST_PP_LIST_REST_N_O, (list, count)))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/reverse.hpp b/SRC/Boost/boost/preprocessor/list/reverse.hpp
deleted file mode 100755
index 88e6d85..0000000
--- a/SRC/Boost/boost/preprocessor/list/reverse.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_REVERSE_HPP
-# define BOOST_PREPROCESSOR_LIST_REVERSE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/fold_left.hpp>
-#
-# /* BOOST_PP_LIST_REVERSE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
-# else
-#    define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_REVERSE_I(list)
-#    define BOOST_PP_LIST_REVERSE_I(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
-# endif
-#
-# define BOOST_PP_LIST_REVERSE_O(d, s, x) (x, s)
-#
-# /* BOOST_PP_LIST_REVERSE_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
-# else
-#    define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_REVERSE_D_I(d, list)
-#    define BOOST_PP_LIST_REVERSE_D_I(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/size.hpp b/SRC/Boost/boost/preprocessor/list/size.hpp
deleted file mode 100755
index 23066ca..0000000
--- a/SRC/Boost/boost/preprocessor/list/size.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_SIZE_HPP
-# define BOOST_PREPROCESSOR_LIST_SIZE_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_LIST_SIZE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_SIZE(list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_LIST_SIZE_P, BOOST_PP_LIST_SIZE_O, (0, list)))
-# else
-#    define BOOST_PP_LIST_SIZE(list) BOOST_PP_LIST_SIZE_I(list)
-#    define BOOST_PP_LIST_SIZE_I(list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_LIST_SIZE_P, BOOST_PP_LIST_SIZE_O, (0, list)))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_SIZE_P(d, rl) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(2, 1, rl))
-# else
-#    define BOOST_PP_LIST_SIZE_P(d, rl) BOOST_PP_LIST_SIZE_P_I(BOOST_PP_TUPLE_REM_2 rl)
-#    define BOOST_PP_LIST_SIZE_P_I(im) BOOST_PP_LIST_SIZE_P_II(im)
-#    define BOOST_PP_LIST_SIZE_P_II(r, l) BOOST_PP_LIST_IS_CONS(l)
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_SIZE_O(d, rl) (BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(2, 0, rl)), BOOST_PP_LIST_REST(BOOST_PP_TUPLE_ELEM(2, 1, rl)))
-# else
-#    define BOOST_PP_LIST_SIZE_O(d, rl) BOOST_PP_LIST_SIZE_O_I(BOOST_PP_TUPLE_REM_2 rl)
-#    define BOOST_PP_LIST_SIZE_O_I(im) BOOST_PP_LIST_SIZE_O_II(im)
-#    define BOOST_PP_LIST_SIZE_O_II(r, l) (BOOST_PP_INC(r), BOOST_PP_LIST_REST(l))
-# endif
-#
-# /* BOOST_PP_LIST_SIZE_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_SIZE_D(d, list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_LIST_SIZE_P, BOOST_PP_LIST_SIZE_O, (0, list)))
-# else
-#    define BOOST_PP_LIST_SIZE_D(d, list) BOOST_PP_LIST_SIZE_D_I(d, list)
-#    define BOOST_PP_LIST_SIZE_D_I(d, list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_LIST_SIZE_P, BOOST_PP_LIST_SIZE_O, (0, list)))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/to_tuple.hpp b/SRC/Boost/boost/preprocessor/list/to_tuple.hpp
deleted file mode 100755
index a32e807..0000000
--- a/SRC/Boost/boost/preprocessor/list/to_tuple.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_TO_TUPLE_HPP
-# define BOOST_PREPROCESSOR_LIST_TO_TUPLE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/enum.hpp>
-#
-# /* BOOST_PP_LIST_TO_TUPLE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_TO_TUPLE(list) (BOOST_PP_LIST_ENUM(list))
-# else
-#    define BOOST_PP_LIST_TO_TUPLE(list) BOOST_PP_LIST_TO_TUPLE_I(list)
-#    define BOOST_PP_LIST_TO_TUPLE_I(list) (BOOST_PP_LIST_ENUM(list))
-# endif
-#
-# /* BOOST_PP_LIST_TO_TUPLE_R */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_TO_TUPLE_R(r, list) (BOOST_PP_LIST_ENUM_R(r, list))
-# else
-#    define BOOST_PP_LIST_TO_TUPLE_R(r, list) BOOST_PP_LIST_TO_TUPLE_R_I(r, list)
-#    define BOOST_PP_LIST_TO_TUPLE_R_I(r, list) (BOOST_PP_LIST_ENUM_R(r, list))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/list/transform.hpp b/SRC/Boost/boost/preprocessor/list/transform.hpp
deleted file mode 100755
index 1b53336..0000000
--- a/SRC/Boost/boost/preprocessor/list/transform.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP
-# define BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/fold_right.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_LIST_TRANSFORM */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_TRANSFORM(op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
-# else
-#    define BOOST_PP_LIST_TRANSFORM(op, data, list) BOOST_PP_LIST_TRANSFORM_I(op, data, list)
-#    define BOOST_PP_LIST_TRANSFORM_I(op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_TRANSFORM_O(d, odr, elem) BOOST_PP_LIST_TRANSFORM_O_D(d, BOOST_PP_TUPLE_ELEM(3, 0, odr), BOOST_PP_TUPLE_ELEM(3, 1, odr), BOOST_PP_TUPLE_ELEM(3, 2, odr), elem)
-# else
-#    define BOOST_PP_LIST_TRANSFORM_O(d, odr, elem) BOOST_PP_LIST_TRANSFORM_O_I(d, BOOST_PP_TUPLE_REM_3 odr, elem)
-#    define BOOST_PP_LIST_TRANSFORM_O_I(d, im, elem) BOOST_PP_LIST_TRANSFORM_O_D(d, im, elem)
-# endif
-#
-# define BOOST_PP_LIST_TRANSFORM_O_D(d, op, data, res, elem) (op, data, (op(d, data, elem), res))
-#
-# /* BOOST_PP_LIST_TRANSFORM_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_TRANSFORM_D(d, op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
-# else
-#    define BOOST_PP_LIST_TRANSFORM_D(d, op, data, list) BOOST_PP_LIST_TRANSFORM_D_I(d, op, data, list)
-#    define BOOST_PP_LIST_TRANSFORM_D_I(d, op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/logical.hpp b/SRC/Boost/boost/preprocessor/logical.hpp
deleted file mode 100755
index b08cd84..0000000
--- a/SRC/Boost/boost/preprocessor/logical.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_HPP
-#
-# include <boost/preprocessor/logical/and.hpp>
-# include <boost/preprocessor/logical/bitand.hpp>
-# include <boost/preprocessor/logical/bitnor.hpp>
-# include <boost/preprocessor/logical/bitor.hpp>
-# include <boost/preprocessor/logical/bitxor.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/logical/compl.hpp>
-# include <boost/preprocessor/logical/nor.hpp>
-# include <boost/preprocessor/logical/not.hpp>
-# include <boost/preprocessor/logical/or.hpp>
-# include <boost/preprocessor/logical/xor.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/logical/and.hpp b/SRC/Boost/boost/preprocessor/logical/and.hpp
deleted file mode 100755
index 1db8e2b..0000000
--- a/SRC/Boost/boost/preprocessor/logical/and.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_AND_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/logical/bitand.hpp>
-#
-# /* BOOST_PP_AND */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_AND(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
-# else
-#    define BOOST_PP_AND(p, q) BOOST_PP_AND_I(p, q)
-#    define BOOST_PP_AND_I(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/logical/bitand.hpp b/SRC/Boost/boost/preprocessor/logical/bitand.hpp
deleted file mode 100755
index 2e1c738..0000000
--- a/SRC/Boost/boost/preprocessor/logical/bitand.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_BITAND */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_I(x, y)
-# else
-#    define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_OO((x, y))
-#    define BOOST_PP_BITAND_OO(par) BOOST_PP_BITAND_I ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ ## x ## y
-# else
-#    define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ID(BOOST_PP_BITAND_ ## x ## y)
-#    define BOOST_PP_BITAND_ID(res) res
-# endif
-#
-# define BOOST_PP_BITAND_00 0
-# define BOOST_PP_BITAND_01 0
-# define BOOST_PP_BITAND_10 0
-# define BOOST_PP_BITAND_11 1
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/logical/bitnor.hpp b/SRC/Boost/boost/preprocessor/logical/bitnor.hpp
deleted file mode 100755
index 99c3b33..0000000
--- a/SRC/Boost/boost/preprocessor/logical/bitnor.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_BITNOR_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_BITNOR_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_BITNOR */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_BITNOR(x, y) BOOST_PP_BITNOR_I(x, y)
-# else
-#    define BOOST_PP_BITNOR(x, y) BOOST_PP_BITNOR_OO((x, y))
-#    define BOOST_PP_BITNOR_OO(par) BOOST_PP_BITNOR_I ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_BITNOR_I(x, y) BOOST_PP_BITNOR_ ## x ## y
-# else
-#    define BOOST_PP_BITNOR_I(x, y) BOOST_PP_BITNOR_ID(BOOST_PP_BITNOR_ ## x ## y)
-#    define BOOST_PP_BITNOR_ID(id) id
-# endif
-#
-# define BOOST_PP_BITNOR_00 1
-# define BOOST_PP_BITNOR_01 0
-# define BOOST_PP_BITNOR_10 0
-# define BOOST_PP_BITNOR_11 0
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/logical/bitor.hpp b/SRC/Boost/boost/preprocessor/logical/bitor.hpp
deleted file mode 100755
index 806e3c7..0000000
--- a/SRC/Boost/boost/preprocessor/logical/bitor.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_BITOR */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_I(x, y)
-# else
-#    define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_OO((x, y))
-#    define BOOST_PP_BITOR_OO(par) BOOST_PP_BITOR_I ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ ## x ## y
-# else
-#    define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ID(BOOST_PP_BITOR_ ## x ## y)
-#    define BOOST_PP_BITOR_ID(id) id
-# endif
-#
-# define BOOST_PP_BITOR_00 0
-# define BOOST_PP_BITOR_01 1
-# define BOOST_PP_BITOR_10 1
-# define BOOST_PP_BITOR_11 1
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/logical/bitxor.hpp b/SRC/Boost/boost/preprocessor/logical/bitxor.hpp
deleted file mode 100755
index 3e393c2..0000000
--- a/SRC/Boost/boost/preprocessor/logical/bitxor.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_BITXOR_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_BITXOR_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_BITXOR */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_BITXOR(x, y) BOOST_PP_BITXOR_I(x, y)
-# else
-#    define BOOST_PP_BITXOR(x, y) BOOST_PP_BITXOR_OO((x, y))
-#    define BOOST_PP_BITXOR_OO(par) BOOST_PP_BITXOR_I ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_BITXOR_I(x, y) BOOST_PP_BITXOR_ ## x ## y
-# else
-#    define BOOST_PP_BITXOR_I(x, y) BOOST_PP_BITXOR_ID(BOOST_PP_BITXOR_ ## x ## y)
-#    define BOOST_PP_BITXOR_ID(id) id
-# endif
-#
-# define BOOST_PP_BITXOR_00 0
-# define BOOST_PP_BITXOR_01 1
-# define BOOST_PP_BITXOR_10 1
-# define BOOST_PP_BITXOR_11 0
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/logical/bool.hpp b/SRC/Boost/boost/preprocessor/logical/bool.hpp
deleted file mode 100755
index 5c60ad7..0000000
--- a/SRC/Boost/boost/preprocessor/logical/bool.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_BOOL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_BOOL(x) BOOST_PP_BOOL_I(x)
-# else
-#    define BOOST_PP_BOOL(x) BOOST_PP_BOOL_OO((x))
-#    define BOOST_PP_BOOL_OO(par) BOOST_PP_BOOL_I ## par
-# endif
-#
-# define BOOST_PP_BOOL_I(x) BOOST_PP_BOOL_ ## x
-#
-# define BOOST_PP_BOOL_0 0
-# define BOOST_PP_BOOL_1 1
-# define BOOST_PP_BOOL_2 1
-# define BOOST_PP_BOOL_3 1
-# define BOOST_PP_BOOL_4 1
-# define BOOST_PP_BOOL_5 1
-# define BOOST_PP_BOOL_6 1
-# define BOOST_PP_BOOL_7 1
-# define BOOST_PP_BOOL_8 1
-# define BOOST_PP_BOOL_9 1
-# define BOOST_PP_BOOL_10 1
-# define BOOST_PP_BOOL_11 1
-# define BOOST_PP_BOOL_12 1
-# define BOOST_PP_BOOL_13 1
-# define BOOST_PP_BOOL_14 1
-# define BOOST_PP_BOOL_15 1
-# define BOOST_PP_BOOL_16 1
-# define BOOST_PP_BOOL_17 1
-# define BOOST_PP_BOOL_18 1
-# define BOOST_PP_BOOL_19 1
-# define BOOST_PP_BOOL_20 1
-# define BOOST_PP_BOOL_21 1
-# define BOOST_PP_BOOL_22 1
-# define BOOST_PP_BOOL_23 1
-# define BOOST_PP_BOOL_24 1
-# define BOOST_PP_BOOL_25 1
-# define BOOST_PP_BOOL_26 1
-# define BOOST_PP_BOOL_27 1
-# define BOOST_PP_BOOL_28 1
-# define BOOST_PP_BOOL_29 1
-# define BOOST_PP_BOOL_30 1
-# define BOOST_PP_BOOL_31 1
-# define BOOST_PP_BOOL_32 1
-# define BOOST_PP_BOOL_33 1
-# define BOOST_PP_BOOL_34 1
-# define BOOST_PP_BOOL_35 1
-# define BOOST_PP_BOOL_36 1
-# define BOOST_PP_BOOL_37 1
-# define BOOST_PP_BOOL_38 1
-# define BOOST_PP_BOOL_39 1
-# define BOOST_PP_BOOL_40 1
-# define BOOST_PP_BOOL_41 1
-# define BOOST_PP_BOOL_42 1
-# define BOOST_PP_BOOL_43 1
-# define BOOST_PP_BOOL_44 1
-# define BOOST_PP_BOOL_45 1
-# define BOOST_PP_BOOL_46 1
-# define BOOST_PP_BOOL_47 1
-# define BOOST_PP_BOOL_48 1
-# define BOOST_PP_BOOL_49 1
-# define BOOST_PP_BOOL_50 1
-# define BOOST_PP_BOOL_51 1
-# define BOOST_PP_BOOL_52 1
-# define BOOST_PP_BOOL_53 1
-# define BOOST_PP_BOOL_54 1
-# define BOOST_PP_BOOL_55 1
-# define BOOST_PP_BOOL_56 1
-# define BOOST_PP_BOOL_57 1
-# define BOOST_PP_BOOL_58 1
-# define BOOST_PP_BOOL_59 1
-# define BOOST_PP_BOOL_60 1
-# define BOOST_PP_BOOL_61 1
-# define BOOST_PP_BOOL_62 1
-# define BOOST_PP_BOOL_63 1
-# define BOOST_PP_BOOL_64 1
-# define BOOST_PP_BOOL_65 1
-# define BOOST_PP_BOOL_66 1
-# define BOOST_PP_BOOL_67 1
-# define BOOST_PP_BOOL_68 1
-# define BOOST_PP_BOOL_69 1
-# define BOOST_PP_BOOL_70 1
-# define BOOST_PP_BOOL_71 1
-# define BOOST_PP_BOOL_72 1
-# define BOOST_PP_BOOL_73 1
-# define BOOST_PP_BOOL_74 1
-# define BOOST_PP_BOOL_75 1
-# define BOOST_PP_BOOL_76 1
-# define BOOST_PP_BOOL_77 1
-# define BOOST_PP_BOOL_78 1
-# define BOOST_PP_BOOL_79 1
-# define BOOST_PP_BOOL_80 1
-# define BOOST_PP_BOOL_81 1
-# define BOOST_PP_BOOL_82 1
-# define BOOST_PP_BOOL_83 1
-# define BOOST_PP_BOOL_84 1
-# define BOOST_PP_BOOL_85 1
-# define BOOST_PP_BOOL_86 1
-# define BOOST_PP_BOOL_87 1
-# define BOOST_PP_BOOL_88 1
-# define BOOST_PP_BOOL_89 1
-# define BOOST_PP_BOOL_90 1
-# define BOOST_PP_BOOL_91 1
-# define BOOST_PP_BOOL_92 1
-# define BOOST_PP_BOOL_93 1
-# define BOOST_PP_BOOL_94 1
-# define BOOST_PP_BOOL_95 1
-# define BOOST_PP_BOOL_96 1
-# define BOOST_PP_BOOL_97 1
-# define BOOST_PP_BOOL_98 1
-# define BOOST_PP_BOOL_99 1
-# define BOOST_PP_BOOL_100 1
-# define BOOST_PP_BOOL_101 1
-# define BOOST_PP_BOOL_102 1
-# define BOOST_PP_BOOL_103 1
-# define BOOST_PP_BOOL_104 1
-# define BOOST_PP_BOOL_105 1
-# define BOOST_PP_BOOL_106 1
-# define BOOST_PP_BOOL_107 1
-# define BOOST_PP_BOOL_108 1
-# define BOOST_PP_BOOL_109 1
-# define BOOST_PP_BOOL_110 1
-# define BOOST_PP_BOOL_111 1
-# define BOOST_PP_BOOL_112 1
-# define BOOST_PP_BOOL_113 1
-# define BOOST_PP_BOOL_114 1
-# define BOOST_PP_BOOL_115 1
-# define BOOST_PP_BOOL_116 1
-# define BOOST_PP_BOOL_117 1
-# define BOOST_PP_BOOL_118 1
-# define BOOST_PP_BOOL_119 1
-# define BOOST_PP_BOOL_120 1
-# define BOOST_PP_BOOL_121 1
-# define BOOST_PP_BOOL_122 1
-# define BOOST_PP_BOOL_123 1
-# define BOOST_PP_BOOL_124 1
-# define BOOST_PP_BOOL_125 1
-# define BOOST_PP_BOOL_126 1
-# define BOOST_PP_BOOL_127 1
-# define BOOST_PP_BOOL_128 1
-# define BOOST_PP_BOOL_129 1
-# define BOOST_PP_BOOL_130 1
-# define BOOST_PP_BOOL_131 1
-# define BOOST_PP_BOOL_132 1
-# define BOOST_PP_BOOL_133 1
-# define BOOST_PP_BOOL_134 1
-# define BOOST_PP_BOOL_135 1
-# define BOOST_PP_BOOL_136 1
-# define BOOST_PP_BOOL_137 1
-# define BOOST_PP_BOOL_138 1
-# define BOOST_PP_BOOL_139 1
-# define BOOST_PP_BOOL_140 1
-# define BOOST_PP_BOOL_141 1
-# define BOOST_PP_BOOL_142 1
-# define BOOST_PP_BOOL_143 1
-# define BOOST_PP_BOOL_144 1
-# define BOOST_PP_BOOL_145 1
-# define BOOST_PP_BOOL_146 1
-# define BOOST_PP_BOOL_147 1
-# define BOOST_PP_BOOL_148 1
-# define BOOST_PP_BOOL_149 1
-# define BOOST_PP_BOOL_150 1
-# define BOOST_PP_BOOL_151 1
-# define BOOST_PP_BOOL_152 1
-# define BOOST_PP_BOOL_153 1
-# define BOOST_PP_BOOL_154 1
-# define BOOST_PP_BOOL_155 1
-# define BOOST_PP_BOOL_156 1
-# define BOOST_PP_BOOL_157 1
-# define BOOST_PP_BOOL_158 1
-# define BOOST_PP_BOOL_159 1
-# define BOOST_PP_BOOL_160 1
-# define BOOST_PP_BOOL_161 1
-# define BOOST_PP_BOOL_162 1
-# define BOOST_PP_BOOL_163 1
-# define BOOST_PP_BOOL_164 1
-# define BOOST_PP_BOOL_165 1
-# define BOOST_PP_BOOL_166 1
-# define BOOST_PP_BOOL_167 1
-# define BOOST_PP_BOOL_168 1
-# define BOOST_PP_BOOL_169 1
-# define BOOST_PP_BOOL_170 1
-# define BOOST_PP_BOOL_171 1
-# define BOOST_PP_BOOL_172 1
-# define BOOST_PP_BOOL_173 1
-# define BOOST_PP_BOOL_174 1
-# define BOOST_PP_BOOL_175 1
-# define BOOST_PP_BOOL_176 1
-# define BOOST_PP_BOOL_177 1
-# define BOOST_PP_BOOL_178 1
-# define BOOST_PP_BOOL_179 1
-# define BOOST_PP_BOOL_180 1
-# define BOOST_PP_BOOL_181 1
-# define BOOST_PP_BOOL_182 1
-# define BOOST_PP_BOOL_183 1
-# define BOOST_PP_BOOL_184 1
-# define BOOST_PP_BOOL_185 1
-# define BOOST_PP_BOOL_186 1
-# define BOOST_PP_BOOL_187 1
-# define BOOST_PP_BOOL_188 1
-# define BOOST_PP_BOOL_189 1
-# define BOOST_PP_BOOL_190 1
-# define BOOST_PP_BOOL_191 1
-# define BOOST_PP_BOOL_192 1
-# define BOOST_PP_BOOL_193 1
-# define BOOST_PP_BOOL_194 1
-# define BOOST_PP_BOOL_195 1
-# define BOOST_PP_BOOL_196 1
-# define BOOST_PP_BOOL_197 1
-# define BOOST_PP_BOOL_198 1
-# define BOOST_PP_BOOL_199 1
-# define BOOST_PP_BOOL_200 1
-# define BOOST_PP_BOOL_201 1
-# define BOOST_PP_BOOL_202 1
-# define BOOST_PP_BOOL_203 1
-# define BOOST_PP_BOOL_204 1
-# define BOOST_PP_BOOL_205 1
-# define BOOST_PP_BOOL_206 1
-# define BOOST_PP_BOOL_207 1
-# define BOOST_PP_BOOL_208 1
-# define BOOST_PP_BOOL_209 1
-# define BOOST_PP_BOOL_210 1
-# define BOOST_PP_BOOL_211 1
-# define BOOST_PP_BOOL_212 1
-# define BOOST_PP_BOOL_213 1
-# define BOOST_PP_BOOL_214 1
-# define BOOST_PP_BOOL_215 1
-# define BOOST_PP_BOOL_216 1
-# define BOOST_PP_BOOL_217 1
-# define BOOST_PP_BOOL_218 1
-# define BOOST_PP_BOOL_219 1
-# define BOOST_PP_BOOL_220 1
-# define BOOST_PP_BOOL_221 1
-# define BOOST_PP_BOOL_222 1
-# define BOOST_PP_BOOL_223 1
-# define BOOST_PP_BOOL_224 1
-# define BOOST_PP_BOOL_225 1
-# define BOOST_PP_BOOL_226 1
-# define BOOST_PP_BOOL_227 1
-# define BOOST_PP_BOOL_228 1
-# define BOOST_PP_BOOL_229 1
-# define BOOST_PP_BOOL_230 1
-# define BOOST_PP_BOOL_231 1
-# define BOOST_PP_BOOL_232 1
-# define BOOST_PP_BOOL_233 1
-# define BOOST_PP_BOOL_234 1
-# define BOOST_PP_BOOL_235 1
-# define BOOST_PP_BOOL_236 1
-# define BOOST_PP_BOOL_237 1
-# define BOOST_PP_BOOL_238 1
-# define BOOST_PP_BOOL_239 1
-# define BOOST_PP_BOOL_240 1
-# define BOOST_PP_BOOL_241 1
-# define BOOST_PP_BOOL_242 1
-# define BOOST_PP_BOOL_243 1
-# define BOOST_PP_BOOL_244 1
-# define BOOST_PP_BOOL_245 1
-# define BOOST_PP_BOOL_246 1
-# define BOOST_PP_BOOL_247 1
-# define BOOST_PP_BOOL_248 1
-# define BOOST_PP_BOOL_249 1
-# define BOOST_PP_BOOL_250 1
-# define BOOST_PP_BOOL_251 1
-# define BOOST_PP_BOOL_252 1
-# define BOOST_PP_BOOL_253 1
-# define BOOST_PP_BOOL_254 1
-# define BOOST_PP_BOOL_255 1
-# define BOOST_PP_BOOL_256 1
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/logical/compl.hpp b/SRC/Boost/boost/preprocessor/logical/compl.hpp
deleted file mode 100755
index 751068b..0000000
--- a/SRC/Boost/boost/preprocessor/logical/compl.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_COMPL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_COMPL(x) BOOST_PP_COMPL_I(x)
-# else
-#    define BOOST_PP_COMPL(x) BOOST_PP_COMPL_OO((x))
-#    define BOOST_PP_COMPL_OO(par) BOOST_PP_COMPL_I ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ ## x
-# else
-#    define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ID(BOOST_PP_COMPL_ ## x)
-#    define BOOST_PP_COMPL_ID(id) id
-# endif
-#
-# define BOOST_PP_COMPL_0 1
-# define BOOST_PP_COMPL_1 0
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/logical/nor.hpp b/SRC/Boost/boost/preprocessor/logical/nor.hpp
deleted file mode 100755
index 9d950c3..0000000
--- a/SRC/Boost/boost/preprocessor/logical/nor.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/logical/bitnor.hpp>
-#
-# /* BOOST_PP_NOR */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_NOR(p, q) BOOST_PP_BITNOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
-# else
-#    define BOOST_PP_NOR(p, q) BOOST_PP_NOR_I(p, q)
-#    define BOOST_PP_NOR_I(p, q) BOOST_PP_BITNOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/logical/not.hpp b/SRC/Boost/boost/preprocessor/logical/not.hpp
deleted file mode 100755
index 67feb66..0000000
--- a/SRC/Boost/boost/preprocessor/logical/not.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/logical/compl.hpp>
-#
-# /* BOOST_PP_NOT */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_NOT(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x))
-# else
-#    define BOOST_PP_NOT(x) BOOST_PP_NOT_I(x)
-#    define BOOST_PP_NOT_I(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/logical/or.hpp b/SRC/Boost/boost/preprocessor/logical/or.hpp
deleted file mode 100755
index 9b47c57..0000000
--- a/SRC/Boost/boost/preprocessor/logical/or.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_OR_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_OR_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/logical/bitor.hpp>
-#
-# /* BOOST_PP_OR */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_OR(p, q) BOOST_PP_BITOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
-# else
-#    define BOOST_PP_OR(p, q) BOOST_PP_OR_I(p, q)
-#    define BOOST_PP_OR_I(p, q) BOOST_PP_BITOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/logical/xor.hpp b/SRC/Boost/boost/preprocessor/logical/xor.hpp
deleted file mode 100755
index d234f77..0000000
--- a/SRC/Boost/boost/preprocessor/logical/xor.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_XOR_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_XOR_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/logical/bitxor.hpp>
-#
-# /* BOOST_PP_XOR */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_XOR(p, q) BOOST_PP_BITXOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
-# else
-#    define BOOST_PP_XOR(p, q) BOOST_PP_XOR_I(p, q)
-#    define BOOST_PP_XOR_I(p, q) BOOST_PP_BITXOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/punctuation.hpp b/SRC/Boost/boost/preprocessor/punctuation.hpp
deleted file mode 100755
index f48db7f..0000000
--- a/SRC/Boost/boost/preprocessor/punctuation.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_PUNCTUATION_HPP
-# define BOOST_PREPROCESSOR_PUNCTUATION_HPP
-#
-# include <boost/preprocessor/punctuation/comma.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/punctuation/paren.hpp>
-# include <boost/preprocessor/punctuation/paren_if.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/punctuation/comma.hpp b/SRC/Boost/boost/preprocessor/punctuation/comma.hpp
deleted file mode 100755
index 405effd..0000000
--- a/SRC/Boost/boost/preprocessor/punctuation/comma.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP
-# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP
-#
-# /* BOOST_PP_COMMA */
-#
-# define BOOST_PP_COMMA() ,
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/punctuation/comma_if.hpp b/SRC/Boost/boost/preprocessor/punctuation/comma_if.hpp
deleted file mode 100755
index 04cc079..0000000
--- a/SRC/Boost/boost/preprocessor/punctuation/comma_if.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP
-# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/facilities/empty.hpp>
-# include <boost/preprocessor/punctuation/comma.hpp>
-#
-# /* BOOST_PP_COMMA_IF */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_COMMA_IF(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)()
-# else
-#    define BOOST_PP_COMMA_IF(cond) BOOST_PP_COMMA_IF_I(cond)
-#    define BOOST_PP_COMMA_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)()
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/punctuation/paren.hpp b/SRC/Boost/boost/preprocessor/punctuation/paren.hpp
deleted file mode 100755
index 66b25d8..0000000
--- a/SRC/Boost/boost/preprocessor/punctuation/paren.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP
-# define BOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP
-#
-# /* BOOST_PP_LPAREN */
-#
-# define BOOST_PP_LPAREN() (
-#
-# /* BOOST_PP_RPAREN */
-#
-# define BOOST_PP_RPAREN() )
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/punctuation/paren_if.hpp b/SRC/Boost/boost/preprocessor/punctuation/paren_if.hpp
deleted file mode 100755
index 665b8be..0000000
--- a/SRC/Boost/boost/preprocessor/punctuation/paren_if.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_PUNCTUATION_PAREN_IF_HPP
-# define BOOST_PREPROCESSOR_PUNCTUATION_PAREN_IF_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/facilities/empty.hpp>
-# include <boost/preprocessor/punctuation/paren.hpp>
-#
-# /* BOOST_PP_LPAREN_IF */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LPAREN_IF(cond) BOOST_PP_IF(cond, BOOST_PP_LPAREN, BOOST_PP_EMPTY)()
-# else
-#    define BOOST_PP_LPAREN_IF(cond) BOOST_PP_LPAREN_IF_I(cond)
-#    define BOOST_PP_LPAREN_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_LPAREN, BOOST_PP_EMPTY)()
-# endif
-#
-# /* BOOST_PP_RPAREN_IF */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_RPAREN_IF(cond) BOOST_PP_IF(cond, BOOST_PP_RPAREN, BOOST_PP_EMPTY)()
-# else
-#    define BOOST_PP_RPAREN_IF(cond) BOOST_PP_RPAREN_IF_I(cond)
-#    define BOOST_PP_RPAREN_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_RPAREN, BOOST_PP_EMPTY)()
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repeat.hpp b/SRC/Boost/boost/preprocessor/repeat.hpp
deleted file mode 100755
index 0893c13..0000000
--- a/SRC/Boost/boost/preprocessor/repeat.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPEAT_HPP
-# define BOOST_PREPROCESSOR_REPEAT_HPP
-#
-# include <boost/preprocessor/repetition/repeat.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repeat_2nd.hpp b/SRC/Boost/boost/preprocessor/repeat_2nd.hpp
deleted file mode 100755
index 5f2b678..0000000
--- a/SRC/Boost/boost/preprocessor/repeat_2nd.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPEAT_2ND_HPP
-# define BOOST_PREPROCESSOR_REPEAT_2ND_HPP
-#
-# include <boost/preprocessor/repetition/repeat.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repeat_from_to.hpp b/SRC/Boost/boost/preprocessor/repeat_from_to.hpp
deleted file mode 100755
index f8d7cef..0000000
--- a/SRC/Boost/boost/preprocessor/repeat_from_to.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP
-# define BOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP
-#
-# include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition.hpp b/SRC/Boost/boost/preprocessor/repetition.hpp
deleted file mode 100755
index 33f74ee..0000000
--- a/SRC/Boost/boost/preprocessor/repetition.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_HPP
-# define BOOST_PREPROCESSOR_REPETITION_HPP
-#
-# include <boost/preprocessor/repetition/deduce_r.hpp>
-# include <boost/preprocessor/repetition/deduce_z.hpp>
-# include <boost/preprocessor/repetition/enum.hpp>
-# include <boost/preprocessor/repetition/enum_binary_params.hpp>
-# include <boost/preprocessor/repetition/enum_params.hpp>
-# include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-# include <boost/preprocessor/repetition/enum_params_with_defaults.hpp>
-# include <boost/preprocessor/repetition/enum_shifted.hpp>
-# include <boost/preprocessor/repetition/enum_shifted_binary_params.hpp>
-# include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-# include <boost/preprocessor/repetition/enum_trailing.hpp>
-# include <boost/preprocessor/repetition/enum_trailing_binary_params.hpp>
-# include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-# include <boost/preprocessor/repetition/for.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/deduce_r.hpp b/SRC/Boost/boost/preprocessor/repetition/deduce_r.hpp
deleted file mode 100755
index b90cb00..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/deduce_r.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_DEDUCE_R_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DEDUCE_R_HPP
-#
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/repetition/for.hpp>
-#
-# /* BOOST_PP_DEDUCE_R */
-#
-# define BOOST_PP_DEDUCE_R() BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/deduce_z.hpp b/SRC/Boost/boost/preprocessor/repetition/deduce_z.hpp
deleted file mode 100755
index a1215d0..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/deduce_z.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_DEDUCE_Z_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DEDUCE_Z_HPP
-#
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-#
-# /* BOOST_PP_DEDUCE_Z */
-#
-# define BOOST_PP_DEDUCE_Z() BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/detail/dmc/for.hpp b/SRC/Boost/boost/preprocessor/repetition/detail/dmc/for.hpp
deleted file mode 100755
index 70e506e..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/detail/dmc/for.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
-#
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p##(2, s)), s, p, o, m)
-# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p##(3, s)), s, p, o, m)
-# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p##(4, s)), s, p, o, m)
-# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p##(5, s)), s, p, o, m)
-# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p##(6, s)), s, p, o, m)
-# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p##(7, s)), s, p, o, m)
-# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p##(8, s)), s, p, o, m)
-# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p##(9, s)), s, p, o, m)
-# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p##(10, s)), s, p, o, m)
-# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p##(11, s)), s, p, o, m)
-# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p##(12, s)), s, p, o, m)
-# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p##(13, s)), s, p, o, m)
-# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p##(14, s)), s, p, o, m)
-# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p##(15, s)), s, p, o, m)
-# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p##(16, s)), s, p, o, m)
-# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p##(17, s)), s, p, o, m)
-# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p##(18, s)), s, p, o, m)
-# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p##(19, s)), s, p, o, m)
-# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p##(20, s)), s, p, o, m)
-# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p##(21, s)), s, p, o, m)
-# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p##(22, s)), s, p, o, m)
-# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p##(23, s)), s, p, o, m)
-# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p##(24, s)), s, p, o, m)
-# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p##(25, s)), s, p, o, m)
-# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p##(26, s)), s, p, o, m)
-# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p##(27, s)), s, p, o, m)
-# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p##(28, s)), s, p, o, m)
-# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p##(29, s)), s, p, o, m)
-# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p##(30, s)), s, p, o, m)
-# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p##(31, s)), s, p, o, m)
-# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p##(32, s)), s, p, o, m)
-# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p##(33, s)), s, p, o, m)
-# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p##(34, s)), s, p, o, m)
-# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p##(35, s)), s, p, o, m)
-# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p##(36, s)), s, p, o, m)
-# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p##(37, s)), s, p, o, m)
-# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p##(38, s)), s, p, o, m)
-# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p##(39, s)), s, p, o, m)
-# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p##(40, s)), s, p, o, m)
-# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p##(41, s)), s, p, o, m)
-# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p##(42, s)), s, p, o, m)
-# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p##(43, s)), s, p, o, m)
-# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p##(44, s)), s, p, o, m)
-# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p##(45, s)), s, p, o, m)
-# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p##(46, s)), s, p, o, m)
-# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p##(47, s)), s, p, o, m)
-# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p##(48, s)), s, p, o, m)
-# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p##(49, s)), s, p, o, m)
-# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p##(50, s)), s, p, o, m)
-# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p##(51, s)), s, p, o, m)
-# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p##(52, s)), s, p, o, m)
-# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p##(53, s)), s, p, o, m)
-# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p##(54, s)), s, p, o, m)
-# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p##(55, s)), s, p, o, m)
-# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p##(56, s)), s, p, o, m)
-# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p##(57, s)), s, p, o, m)
-# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p##(58, s)), s, p, o, m)
-# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p##(59, s)), s, p, o, m)
-# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p##(60, s)), s, p, o, m)
-# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p##(61, s)), s, p, o, m)
-# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p##(62, s)), s, p, o, m)
-# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p##(63, s)), s, p, o, m)
-# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p##(64, s)), s, p, o, m)
-# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p##(65, s)), s, p, o, m)
-# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p##(66, s)), s, p, o, m)
-# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p##(67, s)), s, p, o, m)
-# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p##(68, s)), s, p, o, m)
-# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p##(69, s)), s, p, o, m)
-# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p##(70, s)), s, p, o, m)
-# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p##(71, s)), s, p, o, m)
-# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p##(72, s)), s, p, o, m)
-# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p##(73, s)), s, p, o, m)
-# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p##(74, s)), s, p, o, m)
-# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p##(75, s)), s, p, o, m)
-# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p##(76, s)), s, p, o, m)
-# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p##(77, s)), s, p, o, m)
-# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p##(78, s)), s, p, o, m)
-# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p##(79, s)), s, p, o, m)
-# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p##(80, s)), s, p, o, m)
-# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p##(81, s)), s, p, o, m)
-# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p##(82, s)), s, p, o, m)
-# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p##(83, s)), s, p, o, m)
-# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p##(84, s)), s, p, o, m)
-# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p##(85, s)), s, p, o, m)
-# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p##(86, s)), s, p, o, m)
-# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p##(87, s)), s, p, o, m)
-# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p##(88, s)), s, p, o, m)
-# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p##(89, s)), s, p, o, m)
-# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p##(90, s)), s, p, o, m)
-# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p##(91, s)), s, p, o, m)
-# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p##(92, s)), s, p, o, m)
-# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p##(93, s)), s, p, o, m)
-# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p##(94, s)), s, p, o, m)
-# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p##(95, s)), s, p, o, m)
-# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p##(96, s)), s, p, o, m)
-# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p##(97, s)), s, p, o, m)
-# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p##(98, s)), s, p, o, m)
-# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p##(99, s)), s, p, o, m)
-# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p##(100, s)), s, p, o, m)
-# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p##(101, s)), s, p, o, m)
-# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p##(102, s)), s, p, o, m)
-# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p##(103, s)), s, p, o, m)
-# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p##(104, s)), s, p, o, m)
-# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p##(105, s)), s, p, o, m)
-# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p##(106, s)), s, p, o, m)
-# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p##(107, s)), s, p, o, m)
-# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p##(108, s)), s, p, o, m)
-# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p##(109, s)), s, p, o, m)
-# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p##(110, s)), s, p, o, m)
-# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p##(111, s)), s, p, o, m)
-# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p##(112, s)), s, p, o, m)
-# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p##(113, s)), s, p, o, m)
-# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p##(114, s)), s, p, o, m)
-# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p##(115, s)), s, p, o, m)
-# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p##(116, s)), s, p, o, m)
-# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p##(117, s)), s, p, o, m)
-# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p##(118, s)), s, p, o, m)
-# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p##(119, s)), s, p, o, m)
-# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p##(120, s)), s, p, o, m)
-# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p##(121, s)), s, p, o, m)
-# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p##(122, s)), s, p, o, m)
-# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p##(123, s)), s, p, o, m)
-# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p##(124, s)), s, p, o, m)
-# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p##(125, s)), s, p, o, m)
-# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p##(126, s)), s, p, o, m)
-# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p##(127, s)), s, p, o, m)
-# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p##(128, s)), s, p, o, m)
-# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p##(129, s)), s, p, o, m)
-# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p##(130, s)), s, p, o, m)
-# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p##(131, s)), s, p, o, m)
-# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p##(132, s)), s, p, o, m)
-# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p##(133, s)), s, p, o, m)
-# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p##(134, s)), s, p, o, m)
-# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p##(135, s)), s, p, o, m)
-# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p##(136, s)), s, p, o, m)
-# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p##(137, s)), s, p, o, m)
-# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p##(138, s)), s, p, o, m)
-# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p##(139, s)), s, p, o, m)
-# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p##(140, s)), s, p, o, m)
-# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p##(141, s)), s, p, o, m)
-# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p##(142, s)), s, p, o, m)
-# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p##(143, s)), s, p, o, m)
-# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p##(144, s)), s, p, o, m)
-# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p##(145, s)), s, p, o, m)
-# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p##(146, s)), s, p, o, m)
-# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p##(147, s)), s, p, o, m)
-# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p##(148, s)), s, p, o, m)
-# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p##(149, s)), s, p, o, m)
-# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p##(150, s)), s, p, o, m)
-# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p##(151, s)), s, p, o, m)
-# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p##(152, s)), s, p, o, m)
-# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p##(153, s)), s, p, o, m)
-# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p##(154, s)), s, p, o, m)
-# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p##(155, s)), s, p, o, m)
-# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p##(156, s)), s, p, o, m)
-# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p##(157, s)), s, p, o, m)
-# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p##(158, s)), s, p, o, m)
-# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p##(159, s)), s, p, o, m)
-# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p##(160, s)), s, p, o, m)
-# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p##(161, s)), s, p, o, m)
-# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p##(162, s)), s, p, o, m)
-# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p##(163, s)), s, p, o, m)
-# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p##(164, s)), s, p, o, m)
-# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p##(165, s)), s, p, o, m)
-# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p##(166, s)), s, p, o, m)
-# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p##(167, s)), s, p, o, m)
-# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p##(168, s)), s, p, o, m)
-# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p##(169, s)), s, p, o, m)
-# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p##(170, s)), s, p, o, m)
-# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p##(171, s)), s, p, o, m)
-# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p##(172, s)), s, p, o, m)
-# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p##(173, s)), s, p, o, m)
-# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p##(174, s)), s, p, o, m)
-# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p##(175, s)), s, p, o, m)
-# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p##(176, s)), s, p, o, m)
-# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p##(177, s)), s, p, o, m)
-# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p##(178, s)), s, p, o, m)
-# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p##(179, s)), s, p, o, m)
-# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p##(180, s)), s, p, o, m)
-# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p##(181, s)), s, p, o, m)
-# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p##(182, s)), s, p, o, m)
-# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p##(183, s)), s, p, o, m)
-# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p##(184, s)), s, p, o, m)
-# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p##(185, s)), s, p, o, m)
-# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p##(186, s)), s, p, o, m)
-# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p##(187, s)), s, p, o, m)
-# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p##(188, s)), s, p, o, m)
-# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p##(189, s)), s, p, o, m)
-# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p##(190, s)), s, p, o, m)
-# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p##(191, s)), s, p, o, m)
-# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p##(192, s)), s, p, o, m)
-# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p##(193, s)), s, p, o, m)
-# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p##(194, s)), s, p, o, m)
-# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p##(195, s)), s, p, o, m)
-# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p##(196, s)), s, p, o, m)
-# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p##(197, s)), s, p, o, m)
-# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p##(198, s)), s, p, o, m)
-# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p##(199, s)), s, p, o, m)
-# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p##(200, s)), s, p, o, m)
-# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p##(201, s)), s, p, o, m)
-# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p##(202, s)), s, p, o, m)
-# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p##(203, s)), s, p, o, m)
-# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p##(204, s)), s, p, o, m)
-# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p##(205, s)), s, p, o, m)
-# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p##(206, s)), s, p, o, m)
-# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p##(207, s)), s, p, o, m)
-# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p##(208, s)), s, p, o, m)
-# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p##(209, s)), s, p, o, m)
-# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p##(210, s)), s, p, o, m)
-# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p##(211, s)), s, p, o, m)
-# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p##(212, s)), s, p, o, m)
-# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p##(213, s)), s, p, o, m)
-# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p##(214, s)), s, p, o, m)
-# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p##(215, s)), s, p, o, m)
-# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p##(216, s)), s, p, o, m)
-# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p##(217, s)), s, p, o, m)
-# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p##(218, s)), s, p, o, m)
-# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p##(219, s)), s, p, o, m)
-# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p##(220, s)), s, p, o, m)
-# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p##(221, s)), s, p, o, m)
-# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p##(222, s)), s, p, o, m)
-# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p##(223, s)), s, p, o, m)
-# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p##(224, s)), s, p, o, m)
-# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p##(225, s)), s, p, o, m)
-# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p##(226, s)), s, p, o, m)
-# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p##(227, s)), s, p, o, m)
-# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p##(228, s)), s, p, o, m)
-# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p##(229, s)), s, p, o, m)
-# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p##(230, s)), s, p, o, m)
-# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p##(231, s)), s, p, o, m)
-# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p##(232, s)), s, p, o, m)
-# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p##(233, s)), s, p, o, m)
-# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p##(234, s)), s, p, o, m)
-# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p##(235, s)), s, p, o, m)
-# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p##(236, s)), s, p, o, m)
-# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p##(237, s)), s, p, o, m)
-# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p##(238, s)), s, p, o, m)
-# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p##(239, s)), s, p, o, m)
-# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p##(240, s)), s, p, o, m)
-# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p##(241, s)), s, p, o, m)
-# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p##(242, s)), s, p, o, m)
-# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p##(243, s)), s, p, o, m)
-# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p##(244, s)), s, p, o, m)
-# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p##(245, s)), s, p, o, m)
-# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p##(246, s)), s, p, o, m)
-# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p##(247, s)), s, p, o, m)
-# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p##(248, s)), s, p, o, m)
-# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p##(249, s)), s, p, o, m)
-# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p##(250, s)), s, p, o, m)
-# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p##(251, s)), s, p, o, m)
-# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p##(252, s)), s, p, o, m)
-# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p##(253, s)), s, p, o, m)
-# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p##(254, s)), s, p, o, m)
-# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p##(255, s)), s, p, o, m)
-# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p##(256, s)), s, p, o, m)
-# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p##(257, s)), s, p, o, m)
-#
-# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m)
-# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m)
-# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m)
-# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m)
-# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m)
-# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m)
-# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m)
-# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m)
-# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m)
-# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m)
-# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m)
-# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m)
-# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m)
-# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m)
-# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m)
-# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m)
-# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m)
-# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m)
-# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m)
-# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m)
-# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m)
-# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m)
-# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m)
-# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m)
-# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m)
-# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m)
-# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m)
-# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m)
-# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m)
-# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m)
-# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m)
-# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m)
-# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m)
-# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m)
-# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m)
-# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m)
-# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m)
-# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m)
-# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m)
-# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m)
-# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m)
-# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m)
-# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m)
-# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m)
-# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m)
-# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m)
-# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m)
-# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m)
-# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m)
-# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m)
-# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m)
-# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m)
-# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m)
-# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m)
-# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m)
-# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m)
-# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m)
-# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m)
-# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m)
-# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m)
-# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m)
-# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m)
-# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m)
-# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m)
-# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m)
-# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m)
-# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m)
-# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m)
-# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m)
-# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m)
-# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m)
-# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m)
-# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m)
-# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m)
-# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m)
-# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m)
-# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m)
-# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m)
-# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m)
-# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m)
-# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m)
-# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m)
-# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m)
-# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m)
-# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m)
-# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m)
-# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m)
-# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m)
-# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m)
-# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m)
-# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m)
-# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m)
-# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m)
-# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m)
-# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m)
-# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m)
-# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m)
-# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m)
-# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m)
-# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m)
-# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m)
-# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m)
-# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m)
-# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m)
-# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m)
-# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m)
-# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m)
-# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m)
-# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m)
-# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m)
-# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m)
-# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m)
-# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m)
-# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m)
-# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m)
-# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m)
-# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m)
-# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m)
-# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m)
-# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m)
-# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m)
-# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m)
-# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m)
-# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m)
-# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m)
-# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m)
-# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m)
-# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m)
-# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m)
-# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m)
-# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m)
-# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m)
-# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m)
-# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m)
-# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m)
-# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m)
-# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m)
-# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m)
-# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m)
-# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m)
-# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m)
-# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m)
-# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m)
-# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m)
-# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m)
-# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m)
-# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m)
-# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m)
-# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m)
-# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m)
-# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m)
-# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m)
-# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m)
-# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m)
-# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m)
-# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m)
-# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m)
-# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m)
-# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m)
-# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m)
-# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m)
-# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m)
-# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m)
-# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m)
-# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m)
-# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m)
-# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m)
-# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m)
-# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m)
-# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m)
-# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m)
-# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m)
-# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m)
-# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m)
-# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m)
-# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m)
-# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m)
-# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m)
-# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m)
-# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m)
-# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m)
-# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m)
-# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m)
-# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m)
-# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m)
-# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m)
-# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m)
-# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m)
-# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m)
-# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m)
-# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m)
-# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m)
-# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m)
-# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m)
-# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m)
-# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m)
-# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m)
-# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m)
-# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m)
-# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m)
-# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m)
-# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m)
-# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m)
-# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m)
-# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m)
-# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m)
-# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m)
-# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m)
-# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m)
-# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m)
-# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m)
-# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m)
-# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m)
-# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m)
-# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m)
-# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m)
-# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m)
-# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m)
-# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m)
-# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m)
-# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m)
-# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m)
-# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m)
-# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m)
-# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m)
-# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m)
-# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m)
-# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m)
-# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m)
-# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m)
-# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m)
-# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m)
-# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m)
-# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m)
-# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m)
-# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m)
-# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m)
-# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m)
-# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m)
-# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m)
-# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m)
-# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m)
-# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m)
-# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m)
-# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m)
-# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m)
-# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m)
-# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m)
-# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m)
-# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m)
-# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m)
-# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m)
-# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m)
-# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m)
-# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m)
-# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/detail/edg/for.hpp b/SRC/Boost/boost/preprocessor/repetition/detail/edg/for.hpp
deleted file mode 100755
index ed7364c..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/detail/edg/for.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP
-#
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_I(s, p, o, m)
-# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_I(s, p, o, m)
-# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_I(s, p, o, m)
-# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_I(s, p, o, m)
-# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_I(s, p, o, m)
-# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_I(s, p, o, m)
-# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_I(s, p, o, m)
-# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_I(s, p, o, m)
-# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_I(s, p, o, m)
-# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_I(s, p, o, m)
-# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_I(s, p, o, m)
-# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_I(s, p, o, m)
-# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_I(s, p, o, m)
-# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_I(s, p, o, m)
-# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_I(s, p, o, m)
-# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_I(s, p, o, m)
-# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_I(s, p, o, m)
-# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_I(s, p, o, m)
-# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_I(s, p, o, m)
-# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_I(s, p, o, m)
-# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_I(s, p, o, m)
-# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_I(s, p, o, m)
-# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_I(s, p, o, m)
-# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_I(s, p, o, m)
-# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_I(s, p, o, m)
-# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_I(s, p, o, m)
-# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_I(s, p, o, m)
-# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_I(s, p, o, m)
-# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_I(s, p, o, m)
-# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_I(s, p, o, m)
-# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_I(s, p, o, m)
-# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_I(s, p, o, m)
-# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_I(s, p, o, m)
-# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_I(s, p, o, m)
-# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_I(s, p, o, m)
-# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_I(s, p, o, m)
-# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_I(s, p, o, m)
-# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_I(s, p, o, m)
-# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_I(s, p, o, m)
-# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_I(s, p, o, m)
-# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_I(s, p, o, m)
-# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_I(s, p, o, m)
-# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_I(s, p, o, m)
-# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_I(s, p, o, m)
-# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_I(s, p, o, m)
-# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_I(s, p, o, m)
-# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_I(s, p, o, m)
-# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_I(s, p, o, m)
-# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_I(s, p, o, m)
-# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_I(s, p, o, m)
-# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_I(s, p, o, m)
-# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_I(s, p, o, m)
-# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_I(s, p, o, m)
-# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_I(s, p, o, m)
-# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_I(s, p, o, m)
-# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_I(s, p, o, m)
-# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_I(s, p, o, m)
-# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_I(s, p, o, m)
-# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_I(s, p, o, m)
-# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_I(s, p, o, m)
-# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_I(s, p, o, m)
-# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_I(s, p, o, m)
-# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_I(s, p, o, m)
-# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_I(s, p, o, m)
-# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_I(s, p, o, m)
-# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_I(s, p, o, m)
-# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_I(s, p, o, m)
-# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_I(s, p, o, m)
-# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_I(s, p, o, m)
-# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_I(s, p, o, m)
-# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_I(s, p, o, m)
-# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_I(s, p, o, m)
-# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_I(s, p, o, m)
-# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_I(s, p, o, m)
-# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_I(s, p, o, m)
-# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_I(s, p, o, m)
-# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_I(s, p, o, m)
-# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_I(s, p, o, m)
-# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_I(s, p, o, m)
-# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_I(s, p, o, m)
-# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_I(s, p, o, m)
-# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_I(s, p, o, m)
-# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_I(s, p, o, m)
-# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_I(s, p, o, m)
-# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_I(s, p, o, m)
-# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_I(s, p, o, m)
-# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_I(s, p, o, m)
-# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_I(s, p, o, m)
-# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_I(s, p, o, m)
-# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_I(s, p, o, m)
-# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_I(s, p, o, m)
-# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_I(s, p, o, m)
-# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_I(s, p, o, m)
-# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_I(s, p, o, m)
-# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_I(s, p, o, m)
-# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_I(s, p, o, m)
-# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_I(s, p, o, m)
-# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_I(s, p, o, m)
-# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_I(s, p, o, m)
-# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_I(s, p, o, m)
-# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_I(s, p, o, m)
-# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_I(s, p, o, m)
-# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_I(s, p, o, m)
-# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_I(s, p, o, m)
-# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_I(s, p, o, m)
-# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_I(s, p, o, m)
-# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_I(s, p, o, m)
-# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_I(s, p, o, m)
-# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_I(s, p, o, m)
-# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_I(s, p, o, m)
-# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_I(s, p, o, m)
-# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_I(s, p, o, m)
-# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_I(s, p, o, m)
-# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_I(s, p, o, m)
-# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_I(s, p, o, m)
-# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_I(s, p, o, m)
-# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_I(s, p, o, m)
-# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_I(s, p, o, m)
-# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_I(s, p, o, m)
-# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_I(s, p, o, m)
-# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_I(s, p, o, m)
-# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_I(s, p, o, m)
-# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_I(s, p, o, m)
-# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_I(s, p, o, m)
-# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_I(s, p, o, m)
-# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_I(s, p, o, m)
-# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_I(s, p, o, m)
-# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_I(s, p, o, m)
-# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_I(s, p, o, m)
-# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_I(s, p, o, m)
-# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_I(s, p, o, m)
-# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_I(s, p, o, m)
-# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_I(s, p, o, m)
-# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_I(s, p, o, m)
-# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_I(s, p, o, m)
-# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_I(s, p, o, m)
-# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_I(s, p, o, m)
-# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_I(s, p, o, m)
-# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_I(s, p, o, m)
-# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_I(s, p, o, m)
-# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_I(s, p, o, m)
-# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_I(s, p, o, m)
-# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_I(s, p, o, m)
-# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_I(s, p, o, m)
-# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_I(s, p, o, m)
-# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_I(s, p, o, m)
-# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_I(s, p, o, m)
-# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_I(s, p, o, m)
-# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_I(s, p, o, m)
-# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_I(s, p, o, m)
-# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_I(s, p, o, m)
-# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_I(s, p, o, m)
-# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_I(s, p, o, m)
-# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_I(s, p, o, m)
-# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_I(s, p, o, m)
-# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_I(s, p, o, m)
-# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_I(s, p, o, m)
-# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_I(s, p, o, m)
-# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_I(s, p, o, m)
-# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_I(s, p, o, m)
-# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_I(s, p, o, m)
-# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_I(s, p, o, m)
-# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_I(s, p, o, m)
-# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_I(s, p, o, m)
-# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_I(s, p, o, m)
-# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_I(s, p, o, m)
-# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_I(s, p, o, m)
-# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_I(s, p, o, m)
-# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_I(s, p, o, m)
-# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_I(s, p, o, m)
-# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_I(s, p, o, m)
-# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_I(s, p, o, m)
-# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_I(s, p, o, m)
-# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_I(s, p, o, m)
-# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_I(s, p, o, m)
-# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_I(s, p, o, m)
-# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_I(s, p, o, m)
-# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_I(s, p, o, m)
-# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_I(s, p, o, m)
-# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_I(s, p, o, m)
-# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_I(s, p, o, m)
-# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_I(s, p, o, m)
-# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_I(s, p, o, m)
-# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_I(s, p, o, m)
-# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_I(s, p, o, m)
-# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_I(s, p, o, m)
-# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_I(s, p, o, m)
-# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_I(s, p, o, m)
-# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_I(s, p, o, m)
-# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_I(s, p, o, m)
-# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_I(s, p, o, m)
-# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_I(s, p, o, m)
-# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_I(s, p, o, m)
-# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_I(s, p, o, m)
-# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_I(s, p, o, m)
-# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_I(s, p, o, m)
-# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_I(s, p, o, m)
-# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_I(s, p, o, m)
-# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_I(s, p, o, m)
-# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_I(s, p, o, m)
-# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_I(s, p, o, m)
-# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_I(s, p, o, m)
-# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_I(s, p, o, m)
-# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_I(s, p, o, m)
-# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_I(s, p, o, m)
-# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_I(s, p, o, m)
-# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_I(s, p, o, m)
-# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_I(s, p, o, m)
-# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_I(s, p, o, m)
-# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_I(s, p, o, m)
-# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_I(s, p, o, m)
-# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_I(s, p, o, m)
-# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_I(s, p, o, m)
-# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_I(s, p, o, m)
-# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_I(s, p, o, m)
-# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_I(s, p, o, m)
-# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_I(s, p, o, m)
-# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_I(s, p, o, m)
-# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_I(s, p, o, m)
-# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_I(s, p, o, m)
-# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_I(s, p, o, m)
-# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_I(s, p, o, m)
-# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_I(s, p, o, m)
-# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_I(s, p, o, m)
-# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_I(s, p, o, m)
-# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_I(s, p, o, m)
-# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_I(s, p, o, m)
-# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_I(s, p, o, m)
-# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_I(s, p, o, m)
-# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_I(s, p, o, m)
-# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_I(s, p, o, m)
-# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_I(s, p, o, m)
-# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_I(s, p, o, m)
-# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_I(s, p, o, m)
-# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_I(s, p, o, m)
-# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_I(s, p, o, m)
-# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_I(s, p, o, m)
-# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_I(s, p, o, m)
-# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_I(s, p, o, m)
-# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_I(s, p, o, m)
-# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_I(s, p, o, m)
-# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_I(s, p, o, m)
-# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_I(s, p, o, m)
-# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_I(s, p, o, m)
-# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_I(s, p, o, m)
-# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_I(s, p, o, m)
-# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_I(s, p, o, m)
-# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_I(s, p, o, m)
-# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_I(s, p, o, m)
-# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_I(s, p, o, m)
-# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_I(s, p, o, m)
-# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_I(s, p, o, m)
-# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_I(s, p, o, m)
-# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_I(s, p, o, m)
-# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_I(s, p, o, m)
-# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_I(s, p, o, m)
-#
-# define BOOST_PP_FOR_1_I(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m)
-# define BOOST_PP_FOR_2_I(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m)
-# define BOOST_PP_FOR_3_I(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m)
-# define BOOST_PP_FOR_4_I(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m)
-# define BOOST_PP_FOR_5_I(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m)
-# define BOOST_PP_FOR_6_I(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m)
-# define BOOST_PP_FOR_7_I(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m)
-# define BOOST_PP_FOR_8_I(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m)
-# define BOOST_PP_FOR_9_I(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m)
-# define BOOST_PP_FOR_10_I(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m)
-# define BOOST_PP_FOR_11_I(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m)
-# define BOOST_PP_FOR_12_I(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m)
-# define BOOST_PP_FOR_13_I(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m)
-# define BOOST_PP_FOR_14_I(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m)
-# define BOOST_PP_FOR_15_I(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m)
-# define BOOST_PP_FOR_16_I(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m)
-# define BOOST_PP_FOR_17_I(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m)
-# define BOOST_PP_FOR_18_I(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m)
-# define BOOST_PP_FOR_19_I(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m)
-# define BOOST_PP_FOR_20_I(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m)
-# define BOOST_PP_FOR_21_I(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m)
-# define BOOST_PP_FOR_22_I(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m)
-# define BOOST_PP_FOR_23_I(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m)
-# define BOOST_PP_FOR_24_I(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m)
-# define BOOST_PP_FOR_25_I(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m)
-# define BOOST_PP_FOR_26_I(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m)
-# define BOOST_PP_FOR_27_I(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m)
-# define BOOST_PP_FOR_28_I(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m)
-# define BOOST_PP_FOR_29_I(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m)
-# define BOOST_PP_FOR_30_I(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m)
-# define BOOST_PP_FOR_31_I(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m)
-# define BOOST_PP_FOR_32_I(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m)
-# define BOOST_PP_FOR_33_I(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m)
-# define BOOST_PP_FOR_34_I(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m)
-# define BOOST_PP_FOR_35_I(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m)
-# define BOOST_PP_FOR_36_I(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m)
-# define BOOST_PP_FOR_37_I(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m)
-# define BOOST_PP_FOR_38_I(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m)
-# define BOOST_PP_FOR_39_I(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m)
-# define BOOST_PP_FOR_40_I(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m)
-# define BOOST_PP_FOR_41_I(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m)
-# define BOOST_PP_FOR_42_I(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m)
-# define BOOST_PP_FOR_43_I(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m)
-# define BOOST_PP_FOR_44_I(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m)
-# define BOOST_PP_FOR_45_I(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m)
-# define BOOST_PP_FOR_46_I(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m)
-# define BOOST_PP_FOR_47_I(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m)
-# define BOOST_PP_FOR_48_I(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m)
-# define BOOST_PP_FOR_49_I(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m)
-# define BOOST_PP_FOR_50_I(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m)
-# define BOOST_PP_FOR_51_I(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m)
-# define BOOST_PP_FOR_52_I(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m)
-# define BOOST_PP_FOR_53_I(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m)
-# define BOOST_PP_FOR_54_I(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m)
-# define BOOST_PP_FOR_55_I(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m)
-# define BOOST_PP_FOR_56_I(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m)
-# define BOOST_PP_FOR_57_I(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m)
-# define BOOST_PP_FOR_58_I(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m)
-# define BOOST_PP_FOR_59_I(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m)
-# define BOOST_PP_FOR_60_I(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m)
-# define BOOST_PP_FOR_61_I(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m)
-# define BOOST_PP_FOR_62_I(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m)
-# define BOOST_PP_FOR_63_I(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m)
-# define BOOST_PP_FOR_64_I(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m)
-# define BOOST_PP_FOR_65_I(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m)
-# define BOOST_PP_FOR_66_I(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m)
-# define BOOST_PP_FOR_67_I(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m)
-# define BOOST_PP_FOR_68_I(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m)
-# define BOOST_PP_FOR_69_I(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m)
-# define BOOST_PP_FOR_70_I(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m)
-# define BOOST_PP_FOR_71_I(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m)
-# define BOOST_PP_FOR_72_I(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m)
-# define BOOST_PP_FOR_73_I(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m)
-# define BOOST_PP_FOR_74_I(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m)
-# define BOOST_PP_FOR_75_I(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m)
-# define BOOST_PP_FOR_76_I(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m)
-# define BOOST_PP_FOR_77_I(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m)
-# define BOOST_PP_FOR_78_I(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m)
-# define BOOST_PP_FOR_79_I(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m)
-# define BOOST_PP_FOR_80_I(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m)
-# define BOOST_PP_FOR_81_I(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m)
-# define BOOST_PP_FOR_82_I(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m)
-# define BOOST_PP_FOR_83_I(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m)
-# define BOOST_PP_FOR_84_I(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m)
-# define BOOST_PP_FOR_85_I(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m)
-# define BOOST_PP_FOR_86_I(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m)
-# define BOOST_PP_FOR_87_I(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m)
-# define BOOST_PP_FOR_88_I(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m)
-# define BOOST_PP_FOR_89_I(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m)
-# define BOOST_PP_FOR_90_I(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m)
-# define BOOST_PP_FOR_91_I(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m)
-# define BOOST_PP_FOR_92_I(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m)
-# define BOOST_PP_FOR_93_I(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m)
-# define BOOST_PP_FOR_94_I(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m)
-# define BOOST_PP_FOR_95_I(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m)
-# define BOOST_PP_FOR_96_I(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m)
-# define BOOST_PP_FOR_97_I(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m)
-# define BOOST_PP_FOR_98_I(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m)
-# define BOOST_PP_FOR_99_I(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m)
-# define BOOST_PP_FOR_100_I(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m)
-# define BOOST_PP_FOR_101_I(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m)
-# define BOOST_PP_FOR_102_I(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m)
-# define BOOST_PP_FOR_103_I(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m)
-# define BOOST_PP_FOR_104_I(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m)
-# define BOOST_PP_FOR_105_I(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m)
-# define BOOST_PP_FOR_106_I(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m)
-# define BOOST_PP_FOR_107_I(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m)
-# define BOOST_PP_FOR_108_I(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m)
-# define BOOST_PP_FOR_109_I(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m)
-# define BOOST_PP_FOR_110_I(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m)
-# define BOOST_PP_FOR_111_I(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m)
-# define BOOST_PP_FOR_112_I(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m)
-# define BOOST_PP_FOR_113_I(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m)
-# define BOOST_PP_FOR_114_I(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m)
-# define BOOST_PP_FOR_115_I(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m)
-# define BOOST_PP_FOR_116_I(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m)
-# define BOOST_PP_FOR_117_I(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m)
-# define BOOST_PP_FOR_118_I(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m)
-# define BOOST_PP_FOR_119_I(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m)
-# define BOOST_PP_FOR_120_I(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m)
-# define BOOST_PP_FOR_121_I(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m)
-# define BOOST_PP_FOR_122_I(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m)
-# define BOOST_PP_FOR_123_I(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m)
-# define BOOST_PP_FOR_124_I(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m)
-# define BOOST_PP_FOR_125_I(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m)
-# define BOOST_PP_FOR_126_I(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m)
-# define BOOST_PP_FOR_127_I(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m)
-# define BOOST_PP_FOR_128_I(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m)
-# define BOOST_PP_FOR_129_I(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m)
-# define BOOST_PP_FOR_130_I(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m)
-# define BOOST_PP_FOR_131_I(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m)
-# define BOOST_PP_FOR_132_I(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m)
-# define BOOST_PP_FOR_133_I(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m)
-# define BOOST_PP_FOR_134_I(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m)
-# define BOOST_PP_FOR_135_I(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m)
-# define BOOST_PP_FOR_136_I(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m)
-# define BOOST_PP_FOR_137_I(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m)
-# define BOOST_PP_FOR_138_I(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m)
-# define BOOST_PP_FOR_139_I(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m)
-# define BOOST_PP_FOR_140_I(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m)
-# define BOOST_PP_FOR_141_I(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m)
-# define BOOST_PP_FOR_142_I(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m)
-# define BOOST_PP_FOR_143_I(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m)
-# define BOOST_PP_FOR_144_I(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m)
-# define BOOST_PP_FOR_145_I(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m)
-# define BOOST_PP_FOR_146_I(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m)
-# define BOOST_PP_FOR_147_I(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m)
-# define BOOST_PP_FOR_148_I(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m)
-# define BOOST_PP_FOR_149_I(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m)
-# define BOOST_PP_FOR_150_I(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m)
-# define BOOST_PP_FOR_151_I(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m)
-# define BOOST_PP_FOR_152_I(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m)
-# define BOOST_PP_FOR_153_I(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m)
-# define BOOST_PP_FOR_154_I(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m)
-# define BOOST_PP_FOR_155_I(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m)
-# define BOOST_PP_FOR_156_I(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m)
-# define BOOST_PP_FOR_157_I(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m)
-# define BOOST_PP_FOR_158_I(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m)
-# define BOOST_PP_FOR_159_I(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m)
-# define BOOST_PP_FOR_160_I(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m)
-# define BOOST_PP_FOR_161_I(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m)
-# define BOOST_PP_FOR_162_I(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m)
-# define BOOST_PP_FOR_163_I(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m)
-# define BOOST_PP_FOR_164_I(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m)
-# define BOOST_PP_FOR_165_I(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m)
-# define BOOST_PP_FOR_166_I(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m)
-# define BOOST_PP_FOR_167_I(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m)
-# define BOOST_PP_FOR_168_I(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m)
-# define BOOST_PP_FOR_169_I(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m)
-# define BOOST_PP_FOR_170_I(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m)
-# define BOOST_PP_FOR_171_I(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m)
-# define BOOST_PP_FOR_172_I(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m)
-# define BOOST_PP_FOR_173_I(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m)
-# define BOOST_PP_FOR_174_I(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m)
-# define BOOST_PP_FOR_175_I(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m)
-# define BOOST_PP_FOR_176_I(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m)
-# define BOOST_PP_FOR_177_I(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m)
-# define BOOST_PP_FOR_178_I(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m)
-# define BOOST_PP_FOR_179_I(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m)
-# define BOOST_PP_FOR_180_I(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m)
-# define BOOST_PP_FOR_181_I(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m)
-# define BOOST_PP_FOR_182_I(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m)
-# define BOOST_PP_FOR_183_I(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m)
-# define BOOST_PP_FOR_184_I(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m)
-# define BOOST_PP_FOR_185_I(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m)
-# define BOOST_PP_FOR_186_I(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m)
-# define BOOST_PP_FOR_187_I(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m)
-# define BOOST_PP_FOR_188_I(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m)
-# define BOOST_PP_FOR_189_I(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m)
-# define BOOST_PP_FOR_190_I(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m)
-# define BOOST_PP_FOR_191_I(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m)
-# define BOOST_PP_FOR_192_I(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m)
-# define BOOST_PP_FOR_193_I(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m)
-# define BOOST_PP_FOR_194_I(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m)
-# define BOOST_PP_FOR_195_I(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m)
-# define BOOST_PP_FOR_196_I(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m)
-# define BOOST_PP_FOR_197_I(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m)
-# define BOOST_PP_FOR_198_I(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m)
-# define BOOST_PP_FOR_199_I(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m)
-# define BOOST_PP_FOR_200_I(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m)
-# define BOOST_PP_FOR_201_I(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m)
-# define BOOST_PP_FOR_202_I(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m)
-# define BOOST_PP_FOR_203_I(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m)
-# define BOOST_PP_FOR_204_I(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m)
-# define BOOST_PP_FOR_205_I(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m)
-# define BOOST_PP_FOR_206_I(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m)
-# define BOOST_PP_FOR_207_I(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m)
-# define BOOST_PP_FOR_208_I(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m)
-# define BOOST_PP_FOR_209_I(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m)
-# define BOOST_PP_FOR_210_I(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m)
-# define BOOST_PP_FOR_211_I(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m)
-# define BOOST_PP_FOR_212_I(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m)
-# define BOOST_PP_FOR_213_I(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m)
-# define BOOST_PP_FOR_214_I(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m)
-# define BOOST_PP_FOR_215_I(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m)
-# define BOOST_PP_FOR_216_I(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m)
-# define BOOST_PP_FOR_217_I(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m)
-# define BOOST_PP_FOR_218_I(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m)
-# define BOOST_PP_FOR_219_I(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m)
-# define BOOST_PP_FOR_220_I(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m)
-# define BOOST_PP_FOR_221_I(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m)
-# define BOOST_PP_FOR_222_I(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m)
-# define BOOST_PP_FOR_223_I(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m)
-# define BOOST_PP_FOR_224_I(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m)
-# define BOOST_PP_FOR_225_I(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m)
-# define BOOST_PP_FOR_226_I(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m)
-# define BOOST_PP_FOR_227_I(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m)
-# define BOOST_PP_FOR_228_I(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m)
-# define BOOST_PP_FOR_229_I(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m)
-# define BOOST_PP_FOR_230_I(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m)
-# define BOOST_PP_FOR_231_I(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m)
-# define BOOST_PP_FOR_232_I(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m)
-# define BOOST_PP_FOR_233_I(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m)
-# define BOOST_PP_FOR_234_I(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m)
-# define BOOST_PP_FOR_235_I(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m)
-# define BOOST_PP_FOR_236_I(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m)
-# define BOOST_PP_FOR_237_I(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m)
-# define BOOST_PP_FOR_238_I(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m)
-# define BOOST_PP_FOR_239_I(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m)
-# define BOOST_PP_FOR_240_I(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m)
-# define BOOST_PP_FOR_241_I(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m)
-# define BOOST_PP_FOR_242_I(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m)
-# define BOOST_PP_FOR_243_I(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m)
-# define BOOST_PP_FOR_244_I(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m)
-# define BOOST_PP_FOR_245_I(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m)
-# define BOOST_PP_FOR_246_I(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m)
-# define BOOST_PP_FOR_247_I(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m)
-# define BOOST_PP_FOR_248_I(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m)
-# define BOOST_PP_FOR_249_I(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m)
-# define BOOST_PP_FOR_250_I(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m)
-# define BOOST_PP_FOR_251_I(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m)
-# define BOOST_PP_FOR_252_I(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m)
-# define BOOST_PP_FOR_253_I(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m)
-# define BOOST_PP_FOR_254_I(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m)
-# define BOOST_PP_FOR_255_I(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m)
-# define BOOST_PP_FOR_256_I(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/detail/for.hpp b/SRC/Boost/boost/preprocessor/repetition/detail/for.hpp
deleted file mode 100755
index 0fd0d58..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/detail/for.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
-#
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p(2, s)), s, p, o, m)
-# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p(3, s)), s, p, o, m)
-# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p(4, s)), s, p, o, m)
-# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p(5, s)), s, p, o, m)
-# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p(6, s)), s, p, o, m)
-# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p(7, s)), s, p, o, m)
-# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p(8, s)), s, p, o, m)
-# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p(9, s)), s, p, o, m)
-# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p(10, s)), s, p, o, m)
-# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p(11, s)), s, p, o, m)
-# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p(12, s)), s, p, o, m)
-# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p(13, s)), s, p, o, m)
-# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p(14, s)), s, p, o, m)
-# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p(15, s)), s, p, o, m)
-# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p(16, s)), s, p, o, m)
-# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p(17, s)), s, p, o, m)
-# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p(18, s)), s, p, o, m)
-# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p(19, s)), s, p, o, m)
-# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p(20, s)), s, p, o, m)
-# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p(21, s)), s, p, o, m)
-# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p(22, s)), s, p, o, m)
-# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p(23, s)), s, p, o, m)
-# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p(24, s)), s, p, o, m)
-# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p(25, s)), s, p, o, m)
-# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p(26, s)), s, p, o, m)
-# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p(27, s)), s, p, o, m)
-# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p(28, s)), s, p, o, m)
-# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p(29, s)), s, p, o, m)
-# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p(30, s)), s, p, o, m)
-# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p(31, s)), s, p, o, m)
-# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p(32, s)), s, p, o, m)
-# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p(33, s)), s, p, o, m)
-# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p(34, s)), s, p, o, m)
-# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p(35, s)), s, p, o, m)
-# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p(36, s)), s, p, o, m)
-# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p(37, s)), s, p, o, m)
-# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p(38, s)), s, p, o, m)
-# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p(39, s)), s, p, o, m)
-# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p(40, s)), s, p, o, m)
-# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p(41, s)), s, p, o, m)
-# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p(42, s)), s, p, o, m)
-# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p(43, s)), s, p, o, m)
-# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p(44, s)), s, p, o, m)
-# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p(45, s)), s, p, o, m)
-# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p(46, s)), s, p, o, m)
-# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p(47, s)), s, p, o, m)
-# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p(48, s)), s, p, o, m)
-# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p(49, s)), s, p, o, m)
-# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p(50, s)), s, p, o, m)
-# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p(51, s)), s, p, o, m)
-# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p(52, s)), s, p, o, m)
-# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p(53, s)), s, p, o, m)
-# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p(54, s)), s, p, o, m)
-# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p(55, s)), s, p, o, m)
-# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p(56, s)), s, p, o, m)
-# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p(57, s)), s, p, o, m)
-# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p(58, s)), s, p, o, m)
-# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p(59, s)), s, p, o, m)
-# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p(60, s)), s, p, o, m)
-# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p(61, s)), s, p, o, m)
-# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p(62, s)), s, p, o, m)
-# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p(63, s)), s, p, o, m)
-# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p(64, s)), s, p, o, m)
-# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p(65, s)), s, p, o, m)
-# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p(66, s)), s, p, o, m)
-# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p(67, s)), s, p, o, m)
-# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p(68, s)), s, p, o, m)
-# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p(69, s)), s, p, o, m)
-# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p(70, s)), s, p, o, m)
-# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p(71, s)), s, p, o, m)
-# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p(72, s)), s, p, o, m)
-# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p(73, s)), s, p, o, m)
-# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p(74, s)), s, p, o, m)
-# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p(75, s)), s, p, o, m)
-# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p(76, s)), s, p, o, m)
-# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p(77, s)), s, p, o, m)
-# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p(78, s)), s, p, o, m)
-# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p(79, s)), s, p, o, m)
-# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p(80, s)), s, p, o, m)
-# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p(81, s)), s, p, o, m)
-# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p(82, s)), s, p, o, m)
-# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p(83, s)), s, p, o, m)
-# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p(84, s)), s, p, o, m)
-# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p(85, s)), s, p, o, m)
-# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p(86, s)), s, p, o, m)
-# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p(87, s)), s, p, o, m)
-# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p(88, s)), s, p, o, m)
-# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p(89, s)), s, p, o, m)
-# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p(90, s)), s, p, o, m)
-# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p(91, s)), s, p, o, m)
-# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p(92, s)), s, p, o, m)
-# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p(93, s)), s, p, o, m)
-# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p(94, s)), s, p, o, m)
-# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p(95, s)), s, p, o, m)
-# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p(96, s)), s, p, o, m)
-# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p(97, s)), s, p, o, m)
-# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p(98, s)), s, p, o, m)
-# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p(99, s)), s, p, o, m)
-# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p(100, s)), s, p, o, m)
-# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p(101, s)), s, p, o, m)
-# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p(102, s)), s, p, o, m)
-# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p(103, s)), s, p, o, m)
-# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p(104, s)), s, p, o, m)
-# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p(105, s)), s, p, o, m)
-# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p(106, s)), s, p, o, m)
-# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p(107, s)), s, p, o, m)
-# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p(108, s)), s, p, o, m)
-# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p(109, s)), s, p, o, m)
-# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p(110, s)), s, p, o, m)
-# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p(111, s)), s, p, o, m)
-# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p(112, s)), s, p, o, m)
-# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p(113, s)), s, p, o, m)
-# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p(114, s)), s, p, o, m)
-# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p(115, s)), s, p, o, m)
-# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p(116, s)), s, p, o, m)
-# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p(117, s)), s, p, o, m)
-# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p(118, s)), s, p, o, m)
-# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p(119, s)), s, p, o, m)
-# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p(120, s)), s, p, o, m)
-# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p(121, s)), s, p, o, m)
-# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p(122, s)), s, p, o, m)
-# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p(123, s)), s, p, o, m)
-# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p(124, s)), s, p, o, m)
-# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p(125, s)), s, p, o, m)
-# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p(126, s)), s, p, o, m)
-# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p(127, s)), s, p, o, m)
-# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p(128, s)), s, p, o, m)
-# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p(129, s)), s, p, o, m)
-# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p(130, s)), s, p, o, m)
-# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p(131, s)), s, p, o, m)
-# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p(132, s)), s, p, o, m)
-# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p(133, s)), s, p, o, m)
-# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p(134, s)), s, p, o, m)
-# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p(135, s)), s, p, o, m)
-# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p(136, s)), s, p, o, m)
-# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p(137, s)), s, p, o, m)
-# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p(138, s)), s, p, o, m)
-# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p(139, s)), s, p, o, m)
-# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p(140, s)), s, p, o, m)
-# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p(141, s)), s, p, o, m)
-# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p(142, s)), s, p, o, m)
-# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p(143, s)), s, p, o, m)
-# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p(144, s)), s, p, o, m)
-# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p(145, s)), s, p, o, m)
-# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p(146, s)), s, p, o, m)
-# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p(147, s)), s, p, o, m)
-# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p(148, s)), s, p, o, m)
-# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p(149, s)), s, p, o, m)
-# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p(150, s)), s, p, o, m)
-# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p(151, s)), s, p, o, m)
-# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p(152, s)), s, p, o, m)
-# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p(153, s)), s, p, o, m)
-# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p(154, s)), s, p, o, m)
-# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p(155, s)), s, p, o, m)
-# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p(156, s)), s, p, o, m)
-# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p(157, s)), s, p, o, m)
-# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p(158, s)), s, p, o, m)
-# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p(159, s)), s, p, o, m)
-# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p(160, s)), s, p, o, m)
-# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p(161, s)), s, p, o, m)
-# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p(162, s)), s, p, o, m)
-# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p(163, s)), s, p, o, m)
-# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p(164, s)), s, p, o, m)
-# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p(165, s)), s, p, o, m)
-# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p(166, s)), s, p, o, m)
-# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p(167, s)), s, p, o, m)
-# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p(168, s)), s, p, o, m)
-# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p(169, s)), s, p, o, m)
-# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p(170, s)), s, p, o, m)
-# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p(171, s)), s, p, o, m)
-# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p(172, s)), s, p, o, m)
-# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p(173, s)), s, p, o, m)
-# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p(174, s)), s, p, o, m)
-# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p(175, s)), s, p, o, m)
-# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p(176, s)), s, p, o, m)
-# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p(177, s)), s, p, o, m)
-# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p(178, s)), s, p, o, m)
-# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p(179, s)), s, p, o, m)
-# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p(180, s)), s, p, o, m)
-# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p(181, s)), s, p, o, m)
-# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p(182, s)), s, p, o, m)
-# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p(183, s)), s, p, o, m)
-# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p(184, s)), s, p, o, m)
-# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p(185, s)), s, p, o, m)
-# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p(186, s)), s, p, o, m)
-# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p(187, s)), s, p, o, m)
-# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p(188, s)), s, p, o, m)
-# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p(189, s)), s, p, o, m)
-# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p(190, s)), s, p, o, m)
-# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p(191, s)), s, p, o, m)
-# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p(192, s)), s, p, o, m)
-# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p(193, s)), s, p, o, m)
-# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p(194, s)), s, p, o, m)
-# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p(195, s)), s, p, o, m)
-# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p(196, s)), s, p, o, m)
-# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p(197, s)), s, p, o, m)
-# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p(198, s)), s, p, o, m)
-# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p(199, s)), s, p, o, m)
-# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p(200, s)), s, p, o, m)
-# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p(201, s)), s, p, o, m)
-# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p(202, s)), s, p, o, m)
-# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p(203, s)), s, p, o, m)
-# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p(204, s)), s, p, o, m)
-# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p(205, s)), s, p, o, m)
-# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p(206, s)), s, p, o, m)
-# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p(207, s)), s, p, o, m)
-# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p(208, s)), s, p, o, m)
-# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p(209, s)), s, p, o, m)
-# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p(210, s)), s, p, o, m)
-# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p(211, s)), s, p, o, m)
-# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p(212, s)), s, p, o, m)
-# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p(213, s)), s, p, o, m)
-# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p(214, s)), s, p, o, m)
-# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p(215, s)), s, p, o, m)
-# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p(216, s)), s, p, o, m)
-# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p(217, s)), s, p, o, m)
-# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p(218, s)), s, p, o, m)
-# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p(219, s)), s, p, o, m)
-# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p(220, s)), s, p, o, m)
-# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p(221, s)), s, p, o, m)
-# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p(222, s)), s, p, o, m)
-# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p(223, s)), s, p, o, m)
-# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p(224, s)), s, p, o, m)
-# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p(225, s)), s, p, o, m)
-# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p(226, s)), s, p, o, m)
-# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p(227, s)), s, p, o, m)
-# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p(228, s)), s, p, o, m)
-# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p(229, s)), s, p, o, m)
-# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p(230, s)), s, p, o, m)
-# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p(231, s)), s, p, o, m)
-# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p(232, s)), s, p, o, m)
-# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p(233, s)), s, p, o, m)
-# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p(234, s)), s, p, o, m)
-# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p(235, s)), s, p, o, m)
-# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p(236, s)), s, p, o, m)
-# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p(237, s)), s, p, o, m)
-# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p(238, s)), s, p, o, m)
-# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p(239, s)), s, p, o, m)
-# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p(240, s)), s, p, o, m)
-# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p(241, s)), s, p, o, m)
-# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p(242, s)), s, p, o, m)
-# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p(243, s)), s, p, o, m)
-# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p(244, s)), s, p, o, m)
-# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p(245, s)), s, p, o, m)
-# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p(246, s)), s, p, o, m)
-# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p(247, s)), s, p, o, m)
-# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p(248, s)), s, p, o, m)
-# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p(249, s)), s, p, o, m)
-# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p(250, s)), s, p, o, m)
-# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p(251, s)), s, p, o, m)
-# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p(252, s)), s, p, o, m)
-# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p(253, s)), s, p, o, m)
-# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p(254, s)), s, p, o, m)
-# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p(255, s)), s, p, o, m)
-# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p(256, s)), s, p, o, m)
-# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p(257, s)), s, p, o, m)
-#
-# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m)
-# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m)
-# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m)
-# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m)
-# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m)
-# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m)
-# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m)
-# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m)
-# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m)
-# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m)
-# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m)
-# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m)
-# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m)
-# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m)
-# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m)
-# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m)
-# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m)
-# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m)
-# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m)
-# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m)
-# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m)
-# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m)
-# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m)
-# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m)
-# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m)
-# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m)
-# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m)
-# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m)
-# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m)
-# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m)
-# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m)
-# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m)
-# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m)
-# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m)
-# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m)
-# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m)
-# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m)
-# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m)
-# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m)
-# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m)
-# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m)
-# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m)
-# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m)
-# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m)
-# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m)
-# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m)
-# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m)
-# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m)
-# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m)
-# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m)
-# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m)
-# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m)
-# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m)
-# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m)
-# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m)
-# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m)
-# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m)
-# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m)
-# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m)
-# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m)
-# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m)
-# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m)
-# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m)
-# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m)
-# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m)
-# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m)
-# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m)
-# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m)
-# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m)
-# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m)
-# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m)
-# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m)
-# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m)
-# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m)
-# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m)
-# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m)
-# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m)
-# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m)
-# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m)
-# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m)
-# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m)
-# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m)
-# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m)
-# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m)
-# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m)
-# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m)
-# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m)
-# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m)
-# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m)
-# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m)
-# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m)
-# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m)
-# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m)
-# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m)
-# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m)
-# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m)
-# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m)
-# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m)
-# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m)
-# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m)
-# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m)
-# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m)
-# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m)
-# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m)
-# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m)
-# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m)
-# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m)
-# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m)
-# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m)
-# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m)
-# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m)
-# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m)
-# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m)
-# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m)
-# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m)
-# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m)
-# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m)
-# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m)
-# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m)
-# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m)
-# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m)
-# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m)
-# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m)
-# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m)
-# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m)
-# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m)
-# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m)
-# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m)
-# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m)
-# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m)
-# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m)
-# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m)
-# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m)
-# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m)
-# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m)
-# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m)
-# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m)
-# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m)
-# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m)
-# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m)
-# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m)
-# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m)
-# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m)
-# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m)
-# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m)
-# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m)
-# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m)
-# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m)
-# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m)
-# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m)
-# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m)
-# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m)
-# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m)
-# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m)
-# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m)
-# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m)
-# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m)
-# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m)
-# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m)
-# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m)
-# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m)
-# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m)
-# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m)
-# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m)
-# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m)
-# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m)
-# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m)
-# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m)
-# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m)
-# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m)
-# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m)
-# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m)
-# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m)
-# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m)
-# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m)
-# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m)
-# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m)
-# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m)
-# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m)
-# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m)
-# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m)
-# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m)
-# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m)
-# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m)
-# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m)
-# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m)
-# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m)
-# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m)
-# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m)
-# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m)
-# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m)
-# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m)
-# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m)
-# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m)
-# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m)
-# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m)
-# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m)
-# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m)
-# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m)
-# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m)
-# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m)
-# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m)
-# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m)
-# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m)
-# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m)
-# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m)
-# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m)
-# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m)
-# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m)
-# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m)
-# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m)
-# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m)
-# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m)
-# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m)
-# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m)
-# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m)
-# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m)
-# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m)
-# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m)
-# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m)
-# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m)
-# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m)
-# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m)
-# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m)
-# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m)
-# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m)
-# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m)
-# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m)
-# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m)
-# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m)
-# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m)
-# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m)
-# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m)
-# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m)
-# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m)
-# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m)
-# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m)
-# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m)
-# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m)
-# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m)
-# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m)
-# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m)
-# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m)
-# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m)
-# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m)
-# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m)
-# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m)
-# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m)
-# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m)
-# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m)
-# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m)
-# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m)
-# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m)
-# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m)
-# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m)
-# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/detail/msvc/for.hpp b/SRC/Boost/boost/preprocessor/repetition/detail/msvc/for.hpp
deleted file mode 100755
index 5bb179f..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/detail/msvc/for.hpp
+++ /dev/null
@@ -1,277 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP
-#
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m)
-# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m)
-# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m)
-# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m)
-# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m)
-# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m)
-# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m)
-# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m)
-# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m)
-# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m)
-# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m)
-# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m)
-# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m)
-# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m)
-# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m)
-# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m)
-# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m)
-# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m)
-# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m)
-# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m)
-# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m)
-# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m)
-# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m)
-# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m)
-# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m)
-# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m)
-# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m)
-# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m)
-# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m)
-# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m)
-# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m)
-# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m)
-# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m)
-# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m)
-# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m)
-# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m)
-# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m)
-# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m)
-# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m)
-# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m)
-# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m)
-# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m)
-# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m)
-# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m)
-# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m)
-# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m)
-# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m)
-# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m)
-# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m)
-# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m)
-# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m)
-# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m)
-# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m)
-# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m)
-# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m)
-# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m)
-# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m)
-# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m)
-# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m)
-# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m)
-# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m)
-# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m)
-# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m)
-# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m)
-# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m)
-# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m)
-# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m)
-# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m)
-# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m)
-# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m)
-# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m)
-# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m)
-# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m)
-# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m)
-# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m)
-# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m)
-# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m)
-# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m)
-# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m)
-# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m)
-# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m)
-# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m)
-# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m)
-# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m)
-# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m)
-# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m)
-# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m)
-# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m)
-# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m)
-# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m)
-# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m)
-# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m)
-# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m)
-# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m)
-# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m)
-# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m)
-# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m)
-# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m)
-# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m)
-# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m)
-# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m)
-# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m)
-# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m)
-# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m)
-# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m)
-# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m)
-# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m)
-# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m)
-# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m)
-# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m)
-# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m)
-# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m)
-# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m)
-# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m)
-# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m)
-# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m)
-# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m)
-# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m)
-# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m)
-# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m)
-# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m)
-# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m)
-# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m)
-# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m)
-# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m)
-# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m)
-# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m)
-# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m)
-# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m)
-# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m)
-# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m)
-# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m)
-# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m)
-# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m)
-# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m)
-# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m)
-# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m)
-# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m)
-# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m)
-# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m)
-# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m)
-# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m)
-# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m)
-# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m)
-# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m)
-# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m)
-# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m)
-# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m)
-# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m)
-# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m)
-# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m)
-# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m)
-# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m)
-# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m)
-# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m)
-# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m)
-# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m)
-# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m)
-# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m)
-# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m)
-# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m)
-# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m)
-# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m)
-# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m)
-# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m)
-# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m)
-# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m)
-# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m)
-# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m)
-# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m)
-# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m)
-# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m)
-# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m)
-# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m)
-# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m)
-# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m)
-# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m)
-# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m)
-# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m)
-# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m)
-# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m)
-# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m)
-# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m)
-# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m)
-# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m)
-# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m)
-# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m)
-# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m)
-# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m)
-# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m)
-# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m)
-# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m)
-# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m)
-# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m)
-# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m)
-# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m)
-# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m)
-# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m)
-# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m)
-# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m)
-# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m)
-# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m)
-# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m)
-# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m)
-# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m)
-# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m)
-# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m)
-# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m)
-# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m)
-# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m)
-# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m)
-# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m)
-# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m)
-# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m)
-# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m)
-# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m)
-# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m)
-# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m)
-# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m)
-# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m)
-# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m)
-# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m)
-# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m)
-# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m)
-# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m)
-# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m)
-# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m)
-# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m)
-# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m)
-# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m)
-# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m)
-# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m)
-# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m)
-# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m)
-# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m)
-# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m)
-# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m)
-# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m)
-# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m)
-# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m)
-# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m)
-# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m)
-# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m)
-# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m)
-# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m)
-# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m)
-# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m)
-# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m)
-# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m)
-# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m)
-# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m)
-# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m)
-# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m)
-# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m)
-# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m)
-# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/enum.hpp b/SRC/Boost/boost/preprocessor/repetition/enum.hpp
deleted file mode 100755
index 8b4ab9a..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/enum.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ENUM */
-#
-# if 0
-#    define BOOST_PP_ENUM(count, macro, data)
-# endif
-#
-# define BOOST_PP_ENUM BOOST_PP_CAT(BOOST_PP_ENUM_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_1(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_M_1, (m, d))
-#    define BOOST_PP_ENUM_2(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_M_2, (m, d))
-#    define BOOST_PP_ENUM_3(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_M_3, (m, d))
-# else
-#    define BOOST_PP_ENUM_1(c, m, d) BOOST_PP_ENUM_1_I(c, m, d)
-#    define BOOST_PP_ENUM_2(c, m, d) BOOST_PP_ENUM_2_I(c, m, d)
-#    define BOOST_PP_ENUM_3(c, m, d) BOOST_PP_ENUM_3_I(c, m, d)
-#    define BOOST_PP_ENUM_1_I(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_M_1, (m, d))
-#    define BOOST_PP_ENUM_2_I(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_M_2, (m, d))
-#    define BOOST_PP_ENUM_3_I(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_M_3, (m, d))
-# endif
-#
-# define BOOST_PP_ENUM_4(c, m, d) BOOST_PP_ERROR(0x0003)
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ENUM_M_1(z, n, md) BOOST_PP_ENUM_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_M_2(z, n, md) BOOST_PP_ENUM_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_M_3(z, n, md) BOOST_PP_ENUM_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_M_1_IM(z, n, im) BOOST_PP_ENUM_M_1_I(z, n, im)
-#    define BOOST_PP_ENUM_M_2_IM(z, n, im) BOOST_PP_ENUM_M_2_I(z, n, im)
-#    define BOOST_PP_ENUM_M_3_IM(z, n, im) BOOST_PP_ENUM_M_3_I(z, n, im)
-# else
-#    define BOOST_PP_ENUM_M_1(z, n, md) BOOST_PP_ENUM_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-#    define BOOST_PP_ENUM_M_2(z, n, md) BOOST_PP_ENUM_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-#    define BOOST_PP_ENUM_M_3(z, n, md) BOOST_PP_ENUM_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-# endif
-#
-# define BOOST_PP_ENUM_M_1_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)
-# define BOOST_PP_ENUM_M_2_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)
-# define BOOST_PP_ENUM_M_3_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/enum_binary_params.hpp b/SRC/Boost/boost/preprocessor/repetition/enum_binary_params.hpp
deleted file mode 100755
index eb6a494..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/enum_binary_params.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ENUM_BINARY_PARAMS */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_BINARY_PARAMS(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
-# else
-#    define BOOST_PP_ENUM_BINARY_PARAMS(count, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_I(count, p1, p2)
-#    define BOOST_PP_ENUM_BINARY_PARAMS_I(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ENUM_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_BINARY_PARAMS_M_IM(z, n, BOOST_PP_TUPLE_REM_2 pp)
-#    define BOOST_PP_ENUM_BINARY_PARAMS_M_IM(z, n, im) BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, im)
-# else
-#    define BOOST_PP_ENUM_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, pp), BOOST_PP_TUPLE_ELEM(2, 1, pp))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2)
-#    define BOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2) BOOST_PP_COMMA_IF(n) p1 ## n p2 ## n
-# else
-#    define BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(p1, n) BOOST_PP_CAT(p2, n)
-# endif
-#
-# /* BOOST_PP_ENUM_BINARY_PARAMS_Z */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
-# else
-#    define BOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_Z_I(z, count, p1, p2)
-#    define BOOST_PP_ENUM_BINARY_PARAMS_Z_I(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/enum_params.hpp b/SRC/Boost/boost/preprocessor/repetition/enum_params.hpp
deleted file mode 100755
index 8bfa036..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/enum_params.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-#
-# /* BOOST_PP_ENUM_PARAMS */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param)
-# else
-#    define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_ENUM_PARAMS_I(count, param)
-#    define BOOST_PP_ENUM_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param)
-# endif
-#
-# define BOOST_PP_ENUM_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) param ## n
-#
-# /* BOOST_PP_ENUM_PARAMS_Z */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param)
-# else
-#    define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_ENUM_PARAMS_Z_I(z, count, param)
-#    define BOOST_PP_ENUM_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/enum_params_with_a_default.hpp b/SRC/Boost/boost/preprocessor/repetition/enum_params_with_a_default.hpp
deleted file mode 100755
index 2281c5c..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/enum_params_with_a_default.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/intercept.hpp>
-# include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#
-# /* BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT */
-#
-# define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(count, param, def) BOOST_PP_ENUM_BINARY_PARAMS(count, param, = def BOOST_PP_INTERCEPT)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/enum_params_with_defaults.hpp b/SRC/Boost/boost/preprocessor/repetition/enum_params_with_defaults.hpp
deleted file mode 100755
index 146352f..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/enum_params_with_defaults.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_DEFAULTS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_DEFAULTS_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#
-# /* BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS */
-#
-# define BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(count, param, def) BOOST_PP_ENUM_BINARY_PARAMS(count, param, = def)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/enum_shifted.hpp b/SRC/Boost/boost/preprocessor/repetition/enum_shifted.hpp
deleted file mode 100755
index f2750b2..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/enum_shifted.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ENUM_SHIFTED */
-#
-# if 0
-#    define BOOST_PP_ENUM_SHIFTED(count, macro, data)
-# endif
-#
-# define BOOST_PP_ENUM_SHIFTED BOOST_PP_CAT(BOOST_PP_ENUM_SHIFTED_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_SHIFTED_1(c, m, d) BOOST_PP_REPEAT_1(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_1, (m, d))
-#    define BOOST_PP_ENUM_SHIFTED_2(c, m, d) BOOST_PP_REPEAT_2(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_2, (m, d))
-#    define BOOST_PP_ENUM_SHIFTED_3(c, m, d) BOOST_PP_REPEAT_3(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_3, (m, d))
-# else
-#    define BOOST_PP_ENUM_SHIFTED_1(c, m, d) BOOST_PP_ENUM_SHIFTED_1_I(c, m, d)
-#    define BOOST_PP_ENUM_SHIFTED_2(c, m, d) BOOST_PP_ENUM_SHIFTED_1_2(c, m, d)
-#    define BOOST_PP_ENUM_SHIFTED_3(c, m, d) BOOST_PP_ENUM_SHIFTED_1_3(c, m, d)
-#    define BOOST_PP_ENUM_SHIFTED_1_I(c, m, d) BOOST_PP_REPEAT_1(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_1, (m, d))
-#    define BOOST_PP_ENUM_SHIFTED_2_I(c, m, d) BOOST_PP_REPEAT_2(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_2, (m, d))
-#    define BOOST_PP_ENUM_SHIFTED_3_I(c, m, d) BOOST_PP_REPEAT_3(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_3, (m, d))
-# endif
-#
-# define BOOST_PP_ENUM_SHIFTED_4(c, m, d) BOOST_PP_ERROR(0x0003)
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ENUM_SHIFTED_M_1(z, n, md) BOOST_PP_ENUM_SHIFTED_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_SHIFTED_M_2(z, n, md) BOOST_PP_ENUM_SHIFTED_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_SHIFTED_M_3(z, n, md) BOOST_PP_ENUM_SHIFTED_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_SHIFTED_M_1_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_M_1_I(z, n, im)
-#    define BOOST_PP_ENUM_SHIFTED_M_2_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_M_2_I(z, n, im)
-#    define BOOST_PP_ENUM_SHIFTED_M_3_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_M_3_I(z, n, im)
-# else
-#    define BOOST_PP_ENUM_SHIFTED_M_1(z, n, md) BOOST_PP_ENUM_SHIFTED_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-#    define BOOST_PP_ENUM_SHIFTED_M_2(z, n, md) BOOST_PP_ENUM_SHIFTED_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-#    define BOOST_PP_ENUM_SHIFTED_M_3(z, n, md) BOOST_PP_ENUM_SHIFTED_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-# endif
-#
-# define BOOST_PP_ENUM_SHIFTED_M_1_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, BOOST_PP_INC(n), d)
-# define BOOST_PP_ENUM_SHIFTED_M_2_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, BOOST_PP_INC(n), d)
-# define BOOST_PP_ENUM_SHIFTED_M_3_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, BOOST_PP_INC(n), d)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/enum_shifted_binary_params.hpp b/SRC/Boost/boost/preprocessor/repetition/enum_shifted_binary_params.hpp
deleted file mode 100755
index d1bd957..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/enum_shifted_binary_params.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2005.                                  *
-#  *     Distributed under the Boost Software License, Version 1.0. (See      *
-#  *     accompanying file LICENSE_1_0.txt or copy at                         *
-#  *     http://www.boost.org/LICENSE_1_0.txt)                                *
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_BINARY_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_BINARY_PARAMS_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS(count, p1, p2) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M, (p1, p2))
-# else
-#    define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS(count, p1, p2) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_I(count, p1, p2)
-#    define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_I(count, p1, p2) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M, (p1, p2))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M_IM(z, n, BOOST_PP_TUPLE_REM_2 pp)
-#    define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M_I(z, n, im)
-# else
-#    define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, pp), BOOST_PP_TUPLE_ELEM(2, 1, pp))
-# endif
-#
-# define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(p1, BOOST_PP_INC(n)) BOOST_PP_CAT(p2, BOOST_PP_INC(n))
-#
-# /* BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M, (p1, p2))
-# else
-#    define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z_I(z, count, p1, p2)
-#    define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z_I(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M, (p1, p2))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/enum_shifted_params.hpp b/SRC/Boost/boost/preprocessor/repetition/enum_shifted_params.hpp
deleted file mode 100755
index 447a114..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/enum_shifted_params.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_PARAMS_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-#
-# /* BOOST_PP_ENUM_SHIFTED_PARAMS */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
-# else
-#    define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_ENUM_SHIFTED_PARAMS_I(count, param)
-#    define BOOST_PP_ENUM_SHIFTED_PARAMS_I(count, param) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
-# endif
-#
-# define BOOST_PP_ENUM_SHIFTED_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(param, BOOST_PP_INC(n))
-#
-# /* BOOST_PP_ENUM_SHIFTED_PARAMS_Z */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
-# else
-#    define BOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, count, param) BOOST_PP_ENUM_SHIFTED_PARAMS_Z_I(z, count, param)
-#    define BOOST_PP_ENUM_SHIFTED_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/enum_trailing.hpp b/SRC/Boost/boost/preprocessor/repetition/enum_trailing.hpp
deleted file mode 100755
index b8d197e..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/enum_trailing.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ENUM_TRAILING */
-#
-# if 0
-#    define BOOST_PP_ENUM_TRAILING(count, macro, data)
-# endif
-#
-# define BOOST_PP_ENUM_TRAILING BOOST_PP_CAT(BOOST_PP_ENUM_TRAILING_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_TRAILING_1(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_TRAILING_M_1, (m, d))
-#    define BOOST_PP_ENUM_TRAILING_2(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_TRAILING_M_2, (m, d))
-#    define BOOST_PP_ENUM_TRAILING_3(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_TRAILING_M_3, (m, d))
-# else
-#    define BOOST_PP_ENUM_TRAILING_1(c, m, d) BOOST_PP_ENUM_TRAILING_1_I(c, m, d)
-#    define BOOST_PP_ENUM_TRAILING_2(c, m, d) BOOST_PP_ENUM_TRAILING_2_I(c, m, d)
-#    define BOOST_PP_ENUM_TRAILING_3(c, m, d) BOOST_PP_ENUM_TRAILING_3_I(c, m, d)
-#    define BOOST_PP_ENUM_TRAILING_1_I(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_TRAILING_M_1, (m, d))
-#    define BOOST_PP_ENUM_TRAILING_2_I(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_TRAILING_M_2, (m, d))
-#    define BOOST_PP_ENUM_TRAILING_3_I(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_TRAILING_M_3, (m, d))
-# endif
-#
-# define BOOST_PP_ENUM_TRAILING_4(c, m, d) BOOST_PP_ERROR(0x0003)
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ENUM_TRAILING_M_1(z, n, md) BOOST_PP_ENUM_TRAILING_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_TRAILING_M_2(z, n, md) BOOST_PP_ENUM_TRAILING_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_TRAILING_M_3(z, n, md) BOOST_PP_ENUM_TRAILING_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_TRAILING_M_1_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_1_I(z, n, im)
-#    define BOOST_PP_ENUM_TRAILING_M_2_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_2_I(z, n, im)
-#    define BOOST_PP_ENUM_TRAILING_M_3_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_3_I(z, n, im)
-# else
-#    define BOOST_PP_ENUM_TRAILING_M_1(z, n, md) BOOST_PP_ENUM_TRAILING_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-#    define BOOST_PP_ENUM_TRAILING_M_2(z, n, md) BOOST_PP_ENUM_TRAILING_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-#    define BOOST_PP_ENUM_TRAILING_M_3(z, n, md) BOOST_PP_ENUM_TRAILING_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-# endif
-#
-# define BOOST_PP_ENUM_TRAILING_M_1_I(z, n, m, d) , m(z, n, d)
-# define BOOST_PP_ENUM_TRAILING_M_2_I(z, n, m, d) , m(z, n, d)
-# define BOOST_PP_ENUM_TRAILING_M_3_I(z, n, m, d) , m(z, n, d)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/enum_trailing_binary_params.hpp b/SRC/Boost/boost/preprocessor/repetition/enum_trailing_binary_params.hpp
deleted file mode 100755
index 449bdb5..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/enum_trailing_binary_params.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_BINARY_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_BINARY_PARAMS_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ENUM_TRAILING_BINARY_PARAMS */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M, (p1, p2))
-# else
-#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(count, p1, p2) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_I(count, p1, p2)
-#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_I(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M, (p1, p2))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_IM(z, n, BOOST_PP_TUPLE_REM_2 pp)
-#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_IM(z, n, im) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_I(z, n, im)
-# else
-#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, pp), BOOST_PP_TUPLE_ELEM(2, 1, pp))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_II(z, n, p1, p2)
-#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_II(z, n, p1, p2) , p1 ## n p2 ## n
-# else
-#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_I(z, n, p1, p2) , BOOST_PP_CAT(p1, n) BOOST_PP_CAT(p2, n)
-# endif
-#
-# /* BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M, (p1, p2))
-# else
-#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z_I(z, count, p1, p2)
-#    define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z_I(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M, (p1, p2))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/enum_trailing_params.hpp b/SRC/Boost/boost/preprocessor/repetition/enum_trailing_params.hpp
deleted file mode 100755
index 33ad8ca..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/enum_trailing_params.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-#
-# /* BOOST_PP_ENUM_TRAILING_PARAMS */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
-# else
-#    define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param)
-#    define BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
-# endif
-#
-# define BOOST_PP_ENUM_TRAILING_PARAMS_M(z, n, param) , param ## n
-#
-# /* BOOST_PP_ENUM_TRAILING_PARAMS_Z */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
-# else
-#    define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param)
-#    define BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/for.hpp b/SRC/Boost/boost/preprocessor/repetition/for.hpp
deleted file mode 100755
index 716814f..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/for.hpp
+++ /dev/null
@@ -1,306 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_FOR_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-#
-# /* BOOST_PP_FOR */
-#
-# if 0
-#    define BOOST_PP_FOR(state, pred, op, macro)
-# endif
-#
-# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256))
-#
-# define BOOST_PP_FOR_P(n) BOOST_PP_CAT(BOOST_PP_FOR_CHECK_, BOOST_PP_FOR_ ## n(1, BOOST_PP_FOR_SR_P, BOOST_PP_FOR_SR_O, BOOST_PP_FOR_SR_M))
-#
-# define BOOST_PP_FOR_SR_P(r, s) s
-# define BOOST_PP_FOR_SR_O(r, s) 0
-# define BOOST_PP_FOR_SR_M(r, s) BOOST_PP_NIL
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    include <boost/preprocessor/repetition/detail/edg/for.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    include <boost/preprocessor/repetition/detail/msvc/for.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#    include <boost/preprocessor/repetition/detail/dmc/for.hpp>
-# else
-#    include <boost/preprocessor/repetition/detail/for.hpp>
-# endif
-#
-# define BOOST_PP_FOR_257(s, p, o, m) BOOST_PP_ERROR(0x0002)
-#
-# define BOOST_PP_FOR_CHECK_BOOST_PP_NIL 1
-#
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_2(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_3(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_4(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_5(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_6(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_7(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_8(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_9(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_10(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_11(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_12(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_13(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_14(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_15(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_16(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_17(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_18(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_19(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_20(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_21(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_22(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_23(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_24(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_25(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_26(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_27(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_28(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_29(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_30(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_31(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_32(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_33(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_34(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_35(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_36(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_37(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_38(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_39(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_40(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_41(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_42(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_43(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_44(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_45(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_46(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_47(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_48(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_49(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_50(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_51(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_52(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_53(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_54(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_55(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_56(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_57(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_58(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_59(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_60(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_61(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_62(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_63(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_64(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_65(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_66(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_67(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_68(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_69(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_70(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_71(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_72(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_73(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_74(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_75(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_76(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_77(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_78(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_79(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_80(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_81(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_82(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_83(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_84(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_85(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_86(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_87(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_88(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_89(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_90(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_91(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_92(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_93(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_94(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_95(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_96(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_97(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_98(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_99(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_100(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_101(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_102(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_103(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_104(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_105(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_106(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_107(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_108(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_109(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_110(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_111(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_112(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_113(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_114(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_115(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_116(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_117(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_118(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_119(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_120(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_121(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_122(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_123(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_124(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_125(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_126(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_127(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_128(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_129(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_130(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_131(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_132(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_133(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_134(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_135(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_136(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_137(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_138(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_139(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_140(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_141(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_142(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_143(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_144(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_145(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_146(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_147(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_148(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_149(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_150(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_151(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_152(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_153(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_154(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_155(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_156(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_157(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_158(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_159(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_160(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_161(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_162(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_163(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_164(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_165(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_166(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_167(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_168(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_169(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_170(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_171(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_172(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_173(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_174(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_175(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_176(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_177(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_178(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_179(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_180(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_181(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_182(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_183(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_184(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_185(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_186(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_187(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_188(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_189(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_190(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_191(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_192(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_193(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_194(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_195(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_196(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_197(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_198(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_199(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_200(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_201(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_202(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_203(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_204(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_205(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_206(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_207(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_208(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_209(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_210(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_211(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_212(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_213(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_214(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_215(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_216(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_217(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_218(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_219(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_220(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_221(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_222(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_223(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_224(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_225(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_226(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_227(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_228(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_229(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_230(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_231(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_232(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_233(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_234(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_235(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_236(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_237(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_238(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_239(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_240(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_241(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_242(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_243(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_244(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_245(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_246(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_247(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_248(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_249(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_250(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_251(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_252(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_253(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_254(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_255(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_256(s, p, o, m) 0
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/repeat.hpp b/SRC/Boost/boost/preprocessor/repetition/repeat.hpp
deleted file mode 100755
index fa31de3..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/repeat.hpp
+++ /dev/null
@@ -1,825 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP
-# define BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# /* BOOST_PP_REPEAT */
-#
-# if 0
-#    define BOOST_PP_REPEAT(count, macro, data)
-# endif
-#
-# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
-#
-# define BOOST_PP_REPEAT_P(n) BOOST_PP_CAT(BOOST_PP_REPEAT_CHECK_, BOOST_PP_REPEAT_ ## n(1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3, BOOST_PP_NIL))
-#
-# define BOOST_PP_REPEAT_CHECK_BOOST_PP_NIL 1
-# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_1(c, m, d) 0
-# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_2(c, m, d) 0
-# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_3(c, m, d) 0
-#
-# define BOOST_PP_REPEAT_1(c, m, d) BOOST_PP_REPEAT_1_I(c, m, d)
-# define BOOST_PP_REPEAT_2(c, m, d) BOOST_PP_REPEAT_2_I(c, m, d)
-# define BOOST_PP_REPEAT_3(c, m, d) BOOST_PP_REPEAT_3_I(c, m, d)
-# define BOOST_PP_REPEAT_4(c, m, d) BOOST_PP_ERROR(0x0003)
-#
-# define BOOST_PP_REPEAT_1_I(c, m, d) BOOST_PP_REPEAT_1_ ## c(m, d)
-# define BOOST_PP_REPEAT_2_I(c, m, d) BOOST_PP_REPEAT_2_ ## c(m, d)
-# define BOOST_PP_REPEAT_3_I(c, m, d) BOOST_PP_REPEAT_3_ ## c(m, d)
-#
-# define BOOST_PP_REPEAT_1ST BOOST_PP_REPEAT_1
-# define BOOST_PP_REPEAT_2ND BOOST_PP_REPEAT_2
-# define BOOST_PP_REPEAT_3RD BOOST_PP_REPEAT_3
-#
-# define BOOST_PP_REPEAT_1_0(m, d)
-# define BOOST_PP_REPEAT_1_1(m, d) m(2, 0, d)
-# define BOOST_PP_REPEAT_1_2(m, d) BOOST_PP_REPEAT_1_1(m, d) m(2, 1, d)
-# define BOOST_PP_REPEAT_1_3(m, d) BOOST_PP_REPEAT_1_2(m, d) m(2, 2, d)
-# define BOOST_PP_REPEAT_1_4(m, d) BOOST_PP_REPEAT_1_3(m, d) m(2, 3, d)
-# define BOOST_PP_REPEAT_1_5(m, d) BOOST_PP_REPEAT_1_4(m, d) m(2, 4, d)
-# define BOOST_PP_REPEAT_1_6(m, d) BOOST_PP_REPEAT_1_5(m, d) m(2, 5, d)
-# define BOOST_PP_REPEAT_1_7(m, d) BOOST_PP_REPEAT_1_6(m, d) m(2, 6, d)
-# define BOOST_PP_REPEAT_1_8(m, d) BOOST_PP_REPEAT_1_7(m, d) m(2, 7, d)
-# define BOOST_PP_REPEAT_1_9(m, d) BOOST_PP_REPEAT_1_8(m, d) m(2, 8, d)
-# define BOOST_PP_REPEAT_1_10(m, d) BOOST_PP_REPEAT_1_9(m, d) m(2, 9, d)
-# define BOOST_PP_REPEAT_1_11(m, d) BOOST_PP_REPEAT_1_10(m, d) m(2, 10, d)
-# define BOOST_PP_REPEAT_1_12(m, d) BOOST_PP_REPEAT_1_11(m, d) m(2, 11, d)
-# define BOOST_PP_REPEAT_1_13(m, d) BOOST_PP_REPEAT_1_12(m, d) m(2, 12, d)
-# define BOOST_PP_REPEAT_1_14(m, d) BOOST_PP_REPEAT_1_13(m, d) m(2, 13, d)
-# define BOOST_PP_REPEAT_1_15(m, d) BOOST_PP_REPEAT_1_14(m, d) m(2, 14, d)
-# define BOOST_PP_REPEAT_1_16(m, d) BOOST_PP_REPEAT_1_15(m, d) m(2, 15, d)
-# define BOOST_PP_REPEAT_1_17(m, d) BOOST_PP_REPEAT_1_16(m, d) m(2, 16, d)
-# define BOOST_PP_REPEAT_1_18(m, d) BOOST_PP_REPEAT_1_17(m, d) m(2, 17, d)
-# define BOOST_PP_REPEAT_1_19(m, d) BOOST_PP_REPEAT_1_18(m, d) m(2, 18, d)
-# define BOOST_PP_REPEAT_1_20(m, d) BOOST_PP_REPEAT_1_19(m, d) m(2, 19, d)
-# define BOOST_PP_REPEAT_1_21(m, d) BOOST_PP_REPEAT_1_20(m, d) m(2, 20, d)
-# define BOOST_PP_REPEAT_1_22(m, d) BOOST_PP_REPEAT_1_21(m, d) m(2, 21, d)
-# define BOOST_PP_REPEAT_1_23(m, d) BOOST_PP_REPEAT_1_22(m, d) m(2, 22, d)
-# define BOOST_PP_REPEAT_1_24(m, d) BOOST_PP_REPEAT_1_23(m, d) m(2, 23, d)
-# define BOOST_PP_REPEAT_1_25(m, d) BOOST_PP_REPEAT_1_24(m, d) m(2, 24, d)
-# define BOOST_PP_REPEAT_1_26(m, d) BOOST_PP_REPEAT_1_25(m, d) m(2, 25, d)
-# define BOOST_PP_REPEAT_1_27(m, d) BOOST_PP_REPEAT_1_26(m, d) m(2, 26, d)
-# define BOOST_PP_REPEAT_1_28(m, d) BOOST_PP_REPEAT_1_27(m, d) m(2, 27, d)
-# define BOOST_PP_REPEAT_1_29(m, d) BOOST_PP_REPEAT_1_28(m, d) m(2, 28, d)
-# define BOOST_PP_REPEAT_1_30(m, d) BOOST_PP_REPEAT_1_29(m, d) m(2, 29, d)
-# define BOOST_PP_REPEAT_1_31(m, d) BOOST_PP_REPEAT_1_30(m, d) m(2, 30, d)
-# define BOOST_PP_REPEAT_1_32(m, d) BOOST_PP_REPEAT_1_31(m, d) m(2, 31, d)
-# define BOOST_PP_REPEAT_1_33(m, d) BOOST_PP_REPEAT_1_32(m, d) m(2, 32, d)
-# define BOOST_PP_REPEAT_1_34(m, d) BOOST_PP_REPEAT_1_33(m, d) m(2, 33, d)
-# define BOOST_PP_REPEAT_1_35(m, d) BOOST_PP_REPEAT_1_34(m, d) m(2, 34, d)
-# define BOOST_PP_REPEAT_1_36(m, d) BOOST_PP_REPEAT_1_35(m, d) m(2, 35, d)
-# define BOOST_PP_REPEAT_1_37(m, d) BOOST_PP_REPEAT_1_36(m, d) m(2, 36, d)
-# define BOOST_PP_REPEAT_1_38(m, d) BOOST_PP_REPEAT_1_37(m, d) m(2, 37, d)
-# define BOOST_PP_REPEAT_1_39(m, d) BOOST_PP_REPEAT_1_38(m, d) m(2, 38, d)
-# define BOOST_PP_REPEAT_1_40(m, d) BOOST_PP_REPEAT_1_39(m, d) m(2, 39, d)
-# define BOOST_PP_REPEAT_1_41(m, d) BOOST_PP_REPEAT_1_40(m, d) m(2, 40, d)
-# define BOOST_PP_REPEAT_1_42(m, d) BOOST_PP_REPEAT_1_41(m, d) m(2, 41, d)
-# define BOOST_PP_REPEAT_1_43(m, d) BOOST_PP_REPEAT_1_42(m, d) m(2, 42, d)
-# define BOOST_PP_REPEAT_1_44(m, d) BOOST_PP_REPEAT_1_43(m, d) m(2, 43, d)
-# define BOOST_PP_REPEAT_1_45(m, d) BOOST_PP_REPEAT_1_44(m, d) m(2, 44, d)
-# define BOOST_PP_REPEAT_1_46(m, d) BOOST_PP_REPEAT_1_45(m, d) m(2, 45, d)
-# define BOOST_PP_REPEAT_1_47(m, d) BOOST_PP_REPEAT_1_46(m, d) m(2, 46, d)
-# define BOOST_PP_REPEAT_1_48(m, d) BOOST_PP_REPEAT_1_47(m, d) m(2, 47, d)
-# define BOOST_PP_REPEAT_1_49(m, d) BOOST_PP_REPEAT_1_48(m, d) m(2, 48, d)
-# define BOOST_PP_REPEAT_1_50(m, d) BOOST_PP_REPEAT_1_49(m, d) m(2, 49, d)
-# define BOOST_PP_REPEAT_1_51(m, d) BOOST_PP_REPEAT_1_50(m, d) m(2, 50, d)
-# define BOOST_PP_REPEAT_1_52(m, d) BOOST_PP_REPEAT_1_51(m, d) m(2, 51, d)
-# define BOOST_PP_REPEAT_1_53(m, d) BOOST_PP_REPEAT_1_52(m, d) m(2, 52, d)
-# define BOOST_PP_REPEAT_1_54(m, d) BOOST_PP_REPEAT_1_53(m, d) m(2, 53, d)
-# define BOOST_PP_REPEAT_1_55(m, d) BOOST_PP_REPEAT_1_54(m, d) m(2, 54, d)
-# define BOOST_PP_REPEAT_1_56(m, d) BOOST_PP_REPEAT_1_55(m, d) m(2, 55, d)
-# define BOOST_PP_REPEAT_1_57(m, d) BOOST_PP_REPEAT_1_56(m, d) m(2, 56, d)
-# define BOOST_PP_REPEAT_1_58(m, d) BOOST_PP_REPEAT_1_57(m, d) m(2, 57, d)
-# define BOOST_PP_REPEAT_1_59(m, d) BOOST_PP_REPEAT_1_58(m, d) m(2, 58, d)
-# define BOOST_PP_REPEAT_1_60(m, d) BOOST_PP_REPEAT_1_59(m, d) m(2, 59, d)
-# define BOOST_PP_REPEAT_1_61(m, d) BOOST_PP_REPEAT_1_60(m, d) m(2, 60, d)
-# define BOOST_PP_REPEAT_1_62(m, d) BOOST_PP_REPEAT_1_61(m, d) m(2, 61, d)
-# define BOOST_PP_REPEAT_1_63(m, d) BOOST_PP_REPEAT_1_62(m, d) m(2, 62, d)
-# define BOOST_PP_REPEAT_1_64(m, d) BOOST_PP_REPEAT_1_63(m, d) m(2, 63, d)
-# define BOOST_PP_REPEAT_1_65(m, d) BOOST_PP_REPEAT_1_64(m, d) m(2, 64, d)
-# define BOOST_PP_REPEAT_1_66(m, d) BOOST_PP_REPEAT_1_65(m, d) m(2, 65, d)
-# define BOOST_PP_REPEAT_1_67(m, d) BOOST_PP_REPEAT_1_66(m, d) m(2, 66, d)
-# define BOOST_PP_REPEAT_1_68(m, d) BOOST_PP_REPEAT_1_67(m, d) m(2, 67, d)
-# define BOOST_PP_REPEAT_1_69(m, d) BOOST_PP_REPEAT_1_68(m, d) m(2, 68, d)
-# define BOOST_PP_REPEAT_1_70(m, d) BOOST_PP_REPEAT_1_69(m, d) m(2, 69, d)
-# define BOOST_PP_REPEAT_1_71(m, d) BOOST_PP_REPEAT_1_70(m, d) m(2, 70, d)
-# define BOOST_PP_REPEAT_1_72(m, d) BOOST_PP_REPEAT_1_71(m, d) m(2, 71, d)
-# define BOOST_PP_REPEAT_1_73(m, d) BOOST_PP_REPEAT_1_72(m, d) m(2, 72, d)
-# define BOOST_PP_REPEAT_1_74(m, d) BOOST_PP_REPEAT_1_73(m, d) m(2, 73, d)
-# define BOOST_PP_REPEAT_1_75(m, d) BOOST_PP_REPEAT_1_74(m, d) m(2, 74, d)
-# define BOOST_PP_REPEAT_1_76(m, d) BOOST_PP_REPEAT_1_75(m, d) m(2, 75, d)
-# define BOOST_PP_REPEAT_1_77(m, d) BOOST_PP_REPEAT_1_76(m, d) m(2, 76, d)
-# define BOOST_PP_REPEAT_1_78(m, d) BOOST_PP_REPEAT_1_77(m, d) m(2, 77, d)
-# define BOOST_PP_REPEAT_1_79(m, d) BOOST_PP_REPEAT_1_78(m, d) m(2, 78, d)
-# define BOOST_PP_REPEAT_1_80(m, d) BOOST_PP_REPEAT_1_79(m, d) m(2, 79, d)
-# define BOOST_PP_REPEAT_1_81(m, d) BOOST_PP_REPEAT_1_80(m, d) m(2, 80, d)
-# define BOOST_PP_REPEAT_1_82(m, d) BOOST_PP_REPEAT_1_81(m, d) m(2, 81, d)
-# define BOOST_PP_REPEAT_1_83(m, d) BOOST_PP_REPEAT_1_82(m, d) m(2, 82, d)
-# define BOOST_PP_REPEAT_1_84(m, d) BOOST_PP_REPEAT_1_83(m, d) m(2, 83, d)
-# define BOOST_PP_REPEAT_1_85(m, d) BOOST_PP_REPEAT_1_84(m, d) m(2, 84, d)
-# define BOOST_PP_REPEAT_1_86(m, d) BOOST_PP_REPEAT_1_85(m, d) m(2, 85, d)
-# define BOOST_PP_REPEAT_1_87(m, d) BOOST_PP_REPEAT_1_86(m, d) m(2, 86, d)
-# define BOOST_PP_REPEAT_1_88(m, d) BOOST_PP_REPEAT_1_87(m, d) m(2, 87, d)
-# define BOOST_PP_REPEAT_1_89(m, d) BOOST_PP_REPEAT_1_88(m, d) m(2, 88, d)
-# define BOOST_PP_REPEAT_1_90(m, d) BOOST_PP_REPEAT_1_89(m, d) m(2, 89, d)
-# define BOOST_PP_REPEAT_1_91(m, d) BOOST_PP_REPEAT_1_90(m, d) m(2, 90, d)
-# define BOOST_PP_REPEAT_1_92(m, d) BOOST_PP_REPEAT_1_91(m, d) m(2, 91, d)
-# define BOOST_PP_REPEAT_1_93(m, d) BOOST_PP_REPEAT_1_92(m, d) m(2, 92, d)
-# define BOOST_PP_REPEAT_1_94(m, d) BOOST_PP_REPEAT_1_93(m, d) m(2, 93, d)
-# define BOOST_PP_REPEAT_1_95(m, d) BOOST_PP_REPEAT_1_94(m, d) m(2, 94, d)
-# define BOOST_PP_REPEAT_1_96(m, d) BOOST_PP_REPEAT_1_95(m, d) m(2, 95, d)
-# define BOOST_PP_REPEAT_1_97(m, d) BOOST_PP_REPEAT_1_96(m, d) m(2, 96, d)
-# define BOOST_PP_REPEAT_1_98(m, d) BOOST_PP_REPEAT_1_97(m, d) m(2, 97, d)
-# define BOOST_PP_REPEAT_1_99(m, d) BOOST_PP_REPEAT_1_98(m, d) m(2, 98, d)
-# define BOOST_PP_REPEAT_1_100(m, d) BOOST_PP_REPEAT_1_99(m, d) m(2, 99, d)
-# define BOOST_PP_REPEAT_1_101(m, d) BOOST_PP_REPEAT_1_100(m, d) m(2, 100, d)
-# define BOOST_PP_REPEAT_1_102(m, d) BOOST_PP_REPEAT_1_101(m, d) m(2, 101, d)
-# define BOOST_PP_REPEAT_1_103(m, d) BOOST_PP_REPEAT_1_102(m, d) m(2, 102, d)
-# define BOOST_PP_REPEAT_1_104(m, d) BOOST_PP_REPEAT_1_103(m, d) m(2, 103, d)
-# define BOOST_PP_REPEAT_1_105(m, d) BOOST_PP_REPEAT_1_104(m, d) m(2, 104, d)
-# define BOOST_PP_REPEAT_1_106(m, d) BOOST_PP_REPEAT_1_105(m, d) m(2, 105, d)
-# define BOOST_PP_REPEAT_1_107(m, d) BOOST_PP_REPEAT_1_106(m, d) m(2, 106, d)
-# define BOOST_PP_REPEAT_1_108(m, d) BOOST_PP_REPEAT_1_107(m, d) m(2, 107, d)
-# define BOOST_PP_REPEAT_1_109(m, d) BOOST_PP_REPEAT_1_108(m, d) m(2, 108, d)
-# define BOOST_PP_REPEAT_1_110(m, d) BOOST_PP_REPEAT_1_109(m, d) m(2, 109, d)
-# define BOOST_PP_REPEAT_1_111(m, d) BOOST_PP_REPEAT_1_110(m, d) m(2, 110, d)
-# define BOOST_PP_REPEAT_1_112(m, d) BOOST_PP_REPEAT_1_111(m, d) m(2, 111, d)
-# define BOOST_PP_REPEAT_1_113(m, d) BOOST_PP_REPEAT_1_112(m, d) m(2, 112, d)
-# define BOOST_PP_REPEAT_1_114(m, d) BOOST_PP_REPEAT_1_113(m, d) m(2, 113, d)
-# define BOOST_PP_REPEAT_1_115(m, d) BOOST_PP_REPEAT_1_114(m, d) m(2, 114, d)
-# define BOOST_PP_REPEAT_1_116(m, d) BOOST_PP_REPEAT_1_115(m, d) m(2, 115, d)
-# define BOOST_PP_REPEAT_1_117(m, d) BOOST_PP_REPEAT_1_116(m, d) m(2, 116, d)
-# define BOOST_PP_REPEAT_1_118(m, d) BOOST_PP_REPEAT_1_117(m, d) m(2, 117, d)
-# define BOOST_PP_REPEAT_1_119(m, d) BOOST_PP_REPEAT_1_118(m, d) m(2, 118, d)
-# define BOOST_PP_REPEAT_1_120(m, d) BOOST_PP_REPEAT_1_119(m, d) m(2, 119, d)
-# define BOOST_PP_REPEAT_1_121(m, d) BOOST_PP_REPEAT_1_120(m, d) m(2, 120, d)
-# define BOOST_PP_REPEAT_1_122(m, d) BOOST_PP_REPEAT_1_121(m, d) m(2, 121, d)
-# define BOOST_PP_REPEAT_1_123(m, d) BOOST_PP_REPEAT_1_122(m, d) m(2, 122, d)
-# define BOOST_PP_REPEAT_1_124(m, d) BOOST_PP_REPEAT_1_123(m, d) m(2, 123, d)
-# define BOOST_PP_REPEAT_1_125(m, d) BOOST_PP_REPEAT_1_124(m, d) m(2, 124, d)
-# define BOOST_PP_REPEAT_1_126(m, d) BOOST_PP_REPEAT_1_125(m, d) m(2, 125, d)
-# define BOOST_PP_REPEAT_1_127(m, d) BOOST_PP_REPEAT_1_126(m, d) m(2, 126, d)
-# define BOOST_PP_REPEAT_1_128(m, d) BOOST_PP_REPEAT_1_127(m, d) m(2, 127, d)
-# define BOOST_PP_REPEAT_1_129(m, d) BOOST_PP_REPEAT_1_128(m, d) m(2, 128, d)
-# define BOOST_PP_REPEAT_1_130(m, d) BOOST_PP_REPEAT_1_129(m, d) m(2, 129, d)
-# define BOOST_PP_REPEAT_1_131(m, d) BOOST_PP_REPEAT_1_130(m, d) m(2, 130, d)
-# define BOOST_PP_REPEAT_1_132(m, d) BOOST_PP_REPEAT_1_131(m, d) m(2, 131, d)
-# define BOOST_PP_REPEAT_1_133(m, d) BOOST_PP_REPEAT_1_132(m, d) m(2, 132, d)
-# define BOOST_PP_REPEAT_1_134(m, d) BOOST_PP_REPEAT_1_133(m, d) m(2, 133, d)
-# define BOOST_PP_REPEAT_1_135(m, d) BOOST_PP_REPEAT_1_134(m, d) m(2, 134, d)
-# define BOOST_PP_REPEAT_1_136(m, d) BOOST_PP_REPEAT_1_135(m, d) m(2, 135, d)
-# define BOOST_PP_REPEAT_1_137(m, d) BOOST_PP_REPEAT_1_136(m, d) m(2, 136, d)
-# define BOOST_PP_REPEAT_1_138(m, d) BOOST_PP_REPEAT_1_137(m, d) m(2, 137, d)
-# define BOOST_PP_REPEAT_1_139(m, d) BOOST_PP_REPEAT_1_138(m, d) m(2, 138, d)
-# define BOOST_PP_REPEAT_1_140(m, d) BOOST_PP_REPEAT_1_139(m, d) m(2, 139, d)
-# define BOOST_PP_REPEAT_1_141(m, d) BOOST_PP_REPEAT_1_140(m, d) m(2, 140, d)
-# define BOOST_PP_REPEAT_1_142(m, d) BOOST_PP_REPEAT_1_141(m, d) m(2, 141, d)
-# define BOOST_PP_REPEAT_1_143(m, d) BOOST_PP_REPEAT_1_142(m, d) m(2, 142, d)
-# define BOOST_PP_REPEAT_1_144(m, d) BOOST_PP_REPEAT_1_143(m, d) m(2, 143, d)
-# define BOOST_PP_REPEAT_1_145(m, d) BOOST_PP_REPEAT_1_144(m, d) m(2, 144, d)
-# define BOOST_PP_REPEAT_1_146(m, d) BOOST_PP_REPEAT_1_145(m, d) m(2, 145, d)
-# define BOOST_PP_REPEAT_1_147(m, d) BOOST_PP_REPEAT_1_146(m, d) m(2, 146, d)
-# define BOOST_PP_REPEAT_1_148(m, d) BOOST_PP_REPEAT_1_147(m, d) m(2, 147, d)
-# define BOOST_PP_REPEAT_1_149(m, d) BOOST_PP_REPEAT_1_148(m, d) m(2, 148, d)
-# define BOOST_PP_REPEAT_1_150(m, d) BOOST_PP_REPEAT_1_149(m, d) m(2, 149, d)
-# define BOOST_PP_REPEAT_1_151(m, d) BOOST_PP_REPEAT_1_150(m, d) m(2, 150, d)
-# define BOOST_PP_REPEAT_1_152(m, d) BOOST_PP_REPEAT_1_151(m, d) m(2, 151, d)
-# define BOOST_PP_REPEAT_1_153(m, d) BOOST_PP_REPEAT_1_152(m, d) m(2, 152, d)
-# define BOOST_PP_REPEAT_1_154(m, d) BOOST_PP_REPEAT_1_153(m, d) m(2, 153, d)
-# define BOOST_PP_REPEAT_1_155(m, d) BOOST_PP_REPEAT_1_154(m, d) m(2, 154, d)
-# define BOOST_PP_REPEAT_1_156(m, d) BOOST_PP_REPEAT_1_155(m, d) m(2, 155, d)
-# define BOOST_PP_REPEAT_1_157(m, d) BOOST_PP_REPEAT_1_156(m, d) m(2, 156, d)
-# define BOOST_PP_REPEAT_1_158(m, d) BOOST_PP_REPEAT_1_157(m, d) m(2, 157, d)
-# define BOOST_PP_REPEAT_1_159(m, d) BOOST_PP_REPEAT_1_158(m, d) m(2, 158, d)
-# define BOOST_PP_REPEAT_1_160(m, d) BOOST_PP_REPEAT_1_159(m, d) m(2, 159, d)
-# define BOOST_PP_REPEAT_1_161(m, d) BOOST_PP_REPEAT_1_160(m, d) m(2, 160, d)
-# define BOOST_PP_REPEAT_1_162(m, d) BOOST_PP_REPEAT_1_161(m, d) m(2, 161, d)
-# define BOOST_PP_REPEAT_1_163(m, d) BOOST_PP_REPEAT_1_162(m, d) m(2, 162, d)
-# define BOOST_PP_REPEAT_1_164(m, d) BOOST_PP_REPEAT_1_163(m, d) m(2, 163, d)
-# define BOOST_PP_REPEAT_1_165(m, d) BOOST_PP_REPEAT_1_164(m, d) m(2, 164, d)
-# define BOOST_PP_REPEAT_1_166(m, d) BOOST_PP_REPEAT_1_165(m, d) m(2, 165, d)
-# define BOOST_PP_REPEAT_1_167(m, d) BOOST_PP_REPEAT_1_166(m, d) m(2, 166, d)
-# define BOOST_PP_REPEAT_1_168(m, d) BOOST_PP_REPEAT_1_167(m, d) m(2, 167, d)
-# define BOOST_PP_REPEAT_1_169(m, d) BOOST_PP_REPEAT_1_168(m, d) m(2, 168, d)
-# define BOOST_PP_REPEAT_1_170(m, d) BOOST_PP_REPEAT_1_169(m, d) m(2, 169, d)
-# define BOOST_PP_REPEAT_1_171(m, d) BOOST_PP_REPEAT_1_170(m, d) m(2, 170, d)
-# define BOOST_PP_REPEAT_1_172(m, d) BOOST_PP_REPEAT_1_171(m, d) m(2, 171, d)
-# define BOOST_PP_REPEAT_1_173(m, d) BOOST_PP_REPEAT_1_172(m, d) m(2, 172, d)
-# define BOOST_PP_REPEAT_1_174(m, d) BOOST_PP_REPEAT_1_173(m, d) m(2, 173, d)
-# define BOOST_PP_REPEAT_1_175(m, d) BOOST_PP_REPEAT_1_174(m, d) m(2, 174, d)
-# define BOOST_PP_REPEAT_1_176(m, d) BOOST_PP_REPEAT_1_175(m, d) m(2, 175, d)
-# define BOOST_PP_REPEAT_1_177(m, d) BOOST_PP_REPEAT_1_176(m, d) m(2, 176, d)
-# define BOOST_PP_REPEAT_1_178(m, d) BOOST_PP_REPEAT_1_177(m, d) m(2, 177, d)
-# define BOOST_PP_REPEAT_1_179(m, d) BOOST_PP_REPEAT_1_178(m, d) m(2, 178, d)
-# define BOOST_PP_REPEAT_1_180(m, d) BOOST_PP_REPEAT_1_179(m, d) m(2, 179, d)
-# define BOOST_PP_REPEAT_1_181(m, d) BOOST_PP_REPEAT_1_180(m, d) m(2, 180, d)
-# define BOOST_PP_REPEAT_1_182(m, d) BOOST_PP_REPEAT_1_181(m, d) m(2, 181, d)
-# define BOOST_PP_REPEAT_1_183(m, d) BOOST_PP_REPEAT_1_182(m, d) m(2, 182, d)
-# define BOOST_PP_REPEAT_1_184(m, d) BOOST_PP_REPEAT_1_183(m, d) m(2, 183, d)
-# define BOOST_PP_REPEAT_1_185(m, d) BOOST_PP_REPEAT_1_184(m, d) m(2, 184, d)
-# define BOOST_PP_REPEAT_1_186(m, d) BOOST_PP_REPEAT_1_185(m, d) m(2, 185, d)
-# define BOOST_PP_REPEAT_1_187(m, d) BOOST_PP_REPEAT_1_186(m, d) m(2, 186, d)
-# define BOOST_PP_REPEAT_1_188(m, d) BOOST_PP_REPEAT_1_187(m, d) m(2, 187, d)
-# define BOOST_PP_REPEAT_1_189(m, d) BOOST_PP_REPEAT_1_188(m, d) m(2, 188, d)
-# define BOOST_PP_REPEAT_1_190(m, d) BOOST_PP_REPEAT_1_189(m, d) m(2, 189, d)
-# define BOOST_PP_REPEAT_1_191(m, d) BOOST_PP_REPEAT_1_190(m, d) m(2, 190, d)
-# define BOOST_PP_REPEAT_1_192(m, d) BOOST_PP_REPEAT_1_191(m, d) m(2, 191, d)
-# define BOOST_PP_REPEAT_1_193(m, d) BOOST_PP_REPEAT_1_192(m, d) m(2, 192, d)
-# define BOOST_PP_REPEAT_1_194(m, d) BOOST_PP_REPEAT_1_193(m, d) m(2, 193, d)
-# define BOOST_PP_REPEAT_1_195(m, d) BOOST_PP_REPEAT_1_194(m, d) m(2, 194, d)
-# define BOOST_PP_REPEAT_1_196(m, d) BOOST_PP_REPEAT_1_195(m, d) m(2, 195, d)
-# define BOOST_PP_REPEAT_1_197(m, d) BOOST_PP_REPEAT_1_196(m, d) m(2, 196, d)
-# define BOOST_PP_REPEAT_1_198(m, d) BOOST_PP_REPEAT_1_197(m, d) m(2, 197, d)
-# define BOOST_PP_REPEAT_1_199(m, d) BOOST_PP_REPEAT_1_198(m, d) m(2, 198, d)
-# define BOOST_PP_REPEAT_1_200(m, d) BOOST_PP_REPEAT_1_199(m, d) m(2, 199, d)
-# define BOOST_PP_REPEAT_1_201(m, d) BOOST_PP_REPEAT_1_200(m, d) m(2, 200, d)
-# define BOOST_PP_REPEAT_1_202(m, d) BOOST_PP_REPEAT_1_201(m, d) m(2, 201, d)
-# define BOOST_PP_REPEAT_1_203(m, d) BOOST_PP_REPEAT_1_202(m, d) m(2, 202, d)
-# define BOOST_PP_REPEAT_1_204(m, d) BOOST_PP_REPEAT_1_203(m, d) m(2, 203, d)
-# define BOOST_PP_REPEAT_1_205(m, d) BOOST_PP_REPEAT_1_204(m, d) m(2, 204, d)
-# define BOOST_PP_REPEAT_1_206(m, d) BOOST_PP_REPEAT_1_205(m, d) m(2, 205, d)
-# define BOOST_PP_REPEAT_1_207(m, d) BOOST_PP_REPEAT_1_206(m, d) m(2, 206, d)
-# define BOOST_PP_REPEAT_1_208(m, d) BOOST_PP_REPEAT_1_207(m, d) m(2, 207, d)
-# define BOOST_PP_REPEAT_1_209(m, d) BOOST_PP_REPEAT_1_208(m, d) m(2, 208, d)
-# define BOOST_PP_REPEAT_1_210(m, d) BOOST_PP_REPEAT_1_209(m, d) m(2, 209, d)
-# define BOOST_PP_REPEAT_1_211(m, d) BOOST_PP_REPEAT_1_210(m, d) m(2, 210, d)
-# define BOOST_PP_REPEAT_1_212(m, d) BOOST_PP_REPEAT_1_211(m, d) m(2, 211, d)
-# define BOOST_PP_REPEAT_1_213(m, d) BOOST_PP_REPEAT_1_212(m, d) m(2, 212, d)
-# define BOOST_PP_REPEAT_1_214(m, d) BOOST_PP_REPEAT_1_213(m, d) m(2, 213, d)
-# define BOOST_PP_REPEAT_1_215(m, d) BOOST_PP_REPEAT_1_214(m, d) m(2, 214, d)
-# define BOOST_PP_REPEAT_1_216(m, d) BOOST_PP_REPEAT_1_215(m, d) m(2, 215, d)
-# define BOOST_PP_REPEAT_1_217(m, d) BOOST_PP_REPEAT_1_216(m, d) m(2, 216, d)
-# define BOOST_PP_REPEAT_1_218(m, d) BOOST_PP_REPEAT_1_217(m, d) m(2, 217, d)
-# define BOOST_PP_REPEAT_1_219(m, d) BOOST_PP_REPEAT_1_218(m, d) m(2, 218, d)
-# define BOOST_PP_REPEAT_1_220(m, d) BOOST_PP_REPEAT_1_219(m, d) m(2, 219, d)
-# define BOOST_PP_REPEAT_1_221(m, d) BOOST_PP_REPEAT_1_220(m, d) m(2, 220, d)
-# define BOOST_PP_REPEAT_1_222(m, d) BOOST_PP_REPEAT_1_221(m, d) m(2, 221, d)
-# define BOOST_PP_REPEAT_1_223(m, d) BOOST_PP_REPEAT_1_222(m, d) m(2, 222, d)
-# define BOOST_PP_REPEAT_1_224(m, d) BOOST_PP_REPEAT_1_223(m, d) m(2, 223, d)
-# define BOOST_PP_REPEAT_1_225(m, d) BOOST_PP_REPEAT_1_224(m, d) m(2, 224, d)
-# define BOOST_PP_REPEAT_1_226(m, d) BOOST_PP_REPEAT_1_225(m, d) m(2, 225, d)
-# define BOOST_PP_REPEAT_1_227(m, d) BOOST_PP_REPEAT_1_226(m, d) m(2, 226, d)
-# define BOOST_PP_REPEAT_1_228(m, d) BOOST_PP_REPEAT_1_227(m, d) m(2, 227, d)
-# define BOOST_PP_REPEAT_1_229(m, d) BOOST_PP_REPEAT_1_228(m, d) m(2, 228, d)
-# define BOOST_PP_REPEAT_1_230(m, d) BOOST_PP_REPEAT_1_229(m, d) m(2, 229, d)
-# define BOOST_PP_REPEAT_1_231(m, d) BOOST_PP_REPEAT_1_230(m, d) m(2, 230, d)
-# define BOOST_PP_REPEAT_1_232(m, d) BOOST_PP_REPEAT_1_231(m, d) m(2, 231, d)
-# define BOOST_PP_REPEAT_1_233(m, d) BOOST_PP_REPEAT_1_232(m, d) m(2, 232, d)
-# define BOOST_PP_REPEAT_1_234(m, d) BOOST_PP_REPEAT_1_233(m, d) m(2, 233, d)
-# define BOOST_PP_REPEAT_1_235(m, d) BOOST_PP_REPEAT_1_234(m, d) m(2, 234, d)
-# define BOOST_PP_REPEAT_1_236(m, d) BOOST_PP_REPEAT_1_235(m, d) m(2, 235, d)
-# define BOOST_PP_REPEAT_1_237(m, d) BOOST_PP_REPEAT_1_236(m, d) m(2, 236, d)
-# define BOOST_PP_REPEAT_1_238(m, d) BOOST_PP_REPEAT_1_237(m, d) m(2, 237, d)
-# define BOOST_PP_REPEAT_1_239(m, d) BOOST_PP_REPEAT_1_238(m, d) m(2, 238, d)
-# define BOOST_PP_REPEAT_1_240(m, d) BOOST_PP_REPEAT_1_239(m, d) m(2, 239, d)
-# define BOOST_PP_REPEAT_1_241(m, d) BOOST_PP_REPEAT_1_240(m, d) m(2, 240, d)
-# define BOOST_PP_REPEAT_1_242(m, d) BOOST_PP_REPEAT_1_241(m, d) m(2, 241, d)
-# define BOOST_PP_REPEAT_1_243(m, d) BOOST_PP_REPEAT_1_242(m, d) m(2, 242, d)
-# define BOOST_PP_REPEAT_1_244(m, d) BOOST_PP_REPEAT_1_243(m, d) m(2, 243, d)
-# define BOOST_PP_REPEAT_1_245(m, d) BOOST_PP_REPEAT_1_244(m, d) m(2, 244, d)
-# define BOOST_PP_REPEAT_1_246(m, d) BOOST_PP_REPEAT_1_245(m, d) m(2, 245, d)
-# define BOOST_PP_REPEAT_1_247(m, d) BOOST_PP_REPEAT_1_246(m, d) m(2, 246, d)
-# define BOOST_PP_REPEAT_1_248(m, d) BOOST_PP_REPEAT_1_247(m, d) m(2, 247, d)
-# define BOOST_PP_REPEAT_1_249(m, d) BOOST_PP_REPEAT_1_248(m, d) m(2, 248, d)
-# define BOOST_PP_REPEAT_1_250(m, d) BOOST_PP_REPEAT_1_249(m, d) m(2, 249, d)
-# define BOOST_PP_REPEAT_1_251(m, d) BOOST_PP_REPEAT_1_250(m, d) m(2, 250, d)
-# define BOOST_PP_REPEAT_1_252(m, d) BOOST_PP_REPEAT_1_251(m, d) m(2, 251, d)
-# define BOOST_PP_REPEAT_1_253(m, d) BOOST_PP_REPEAT_1_252(m, d) m(2, 252, d)
-# define BOOST_PP_REPEAT_1_254(m, d) BOOST_PP_REPEAT_1_253(m, d) m(2, 253, d)
-# define BOOST_PP_REPEAT_1_255(m, d) BOOST_PP_REPEAT_1_254(m, d) m(2, 254, d)
-# define BOOST_PP_REPEAT_1_256(m, d) BOOST_PP_REPEAT_1_255(m, d) m(2, 255, d)
-#
-# define BOOST_PP_REPEAT_2_0(m, d)
-# define BOOST_PP_REPEAT_2_1(m, d) m(3, 0, d)
-# define BOOST_PP_REPEAT_2_2(m, d) BOOST_PP_REPEAT_2_1(m, d) m(3, 1, d)
-# define BOOST_PP_REPEAT_2_3(m, d) BOOST_PP_REPEAT_2_2(m, d) m(3, 2, d)
-# define BOOST_PP_REPEAT_2_4(m, d) BOOST_PP_REPEAT_2_3(m, d) m(3, 3, d)
-# define BOOST_PP_REPEAT_2_5(m, d) BOOST_PP_REPEAT_2_4(m, d) m(3, 4, d)
-# define BOOST_PP_REPEAT_2_6(m, d) BOOST_PP_REPEAT_2_5(m, d) m(3, 5, d)
-# define BOOST_PP_REPEAT_2_7(m, d) BOOST_PP_REPEAT_2_6(m, d) m(3, 6, d)
-# define BOOST_PP_REPEAT_2_8(m, d) BOOST_PP_REPEAT_2_7(m, d) m(3, 7, d)
-# define BOOST_PP_REPEAT_2_9(m, d) BOOST_PP_REPEAT_2_8(m, d) m(3, 8, d)
-# define BOOST_PP_REPEAT_2_10(m, d) BOOST_PP_REPEAT_2_9(m, d) m(3, 9, d)
-# define BOOST_PP_REPEAT_2_11(m, d) BOOST_PP_REPEAT_2_10(m, d) m(3, 10, d)
-# define BOOST_PP_REPEAT_2_12(m, d) BOOST_PP_REPEAT_2_11(m, d) m(3, 11, d)
-# define BOOST_PP_REPEAT_2_13(m, d) BOOST_PP_REPEAT_2_12(m, d) m(3, 12, d)
-# define BOOST_PP_REPEAT_2_14(m, d) BOOST_PP_REPEAT_2_13(m, d) m(3, 13, d)
-# define BOOST_PP_REPEAT_2_15(m, d) BOOST_PP_REPEAT_2_14(m, d) m(3, 14, d)
-# define BOOST_PP_REPEAT_2_16(m, d) BOOST_PP_REPEAT_2_15(m, d) m(3, 15, d)
-# define BOOST_PP_REPEAT_2_17(m, d) BOOST_PP_REPEAT_2_16(m, d) m(3, 16, d)
-# define BOOST_PP_REPEAT_2_18(m, d) BOOST_PP_REPEAT_2_17(m, d) m(3, 17, d)
-# define BOOST_PP_REPEAT_2_19(m, d) BOOST_PP_REPEAT_2_18(m, d) m(3, 18, d)
-# define BOOST_PP_REPEAT_2_20(m, d) BOOST_PP_REPEAT_2_19(m, d) m(3, 19, d)
-# define BOOST_PP_REPEAT_2_21(m, d) BOOST_PP_REPEAT_2_20(m, d) m(3, 20, d)
-# define BOOST_PP_REPEAT_2_22(m, d) BOOST_PP_REPEAT_2_21(m, d) m(3, 21, d)
-# define BOOST_PP_REPEAT_2_23(m, d) BOOST_PP_REPEAT_2_22(m, d) m(3, 22, d)
-# define BOOST_PP_REPEAT_2_24(m, d) BOOST_PP_REPEAT_2_23(m, d) m(3, 23, d)
-# define BOOST_PP_REPEAT_2_25(m, d) BOOST_PP_REPEAT_2_24(m, d) m(3, 24, d)
-# define BOOST_PP_REPEAT_2_26(m, d) BOOST_PP_REPEAT_2_25(m, d) m(3, 25, d)
-# define BOOST_PP_REPEAT_2_27(m, d) BOOST_PP_REPEAT_2_26(m, d) m(3, 26, d)
-# define BOOST_PP_REPEAT_2_28(m, d) BOOST_PP_REPEAT_2_27(m, d) m(3, 27, d)
-# define BOOST_PP_REPEAT_2_29(m, d) BOOST_PP_REPEAT_2_28(m, d) m(3, 28, d)
-# define BOOST_PP_REPEAT_2_30(m, d) BOOST_PP_REPEAT_2_29(m, d) m(3, 29, d)
-# define BOOST_PP_REPEAT_2_31(m, d) BOOST_PP_REPEAT_2_30(m, d) m(3, 30, d)
-# define BOOST_PP_REPEAT_2_32(m, d) BOOST_PP_REPEAT_2_31(m, d) m(3, 31, d)
-# define BOOST_PP_REPEAT_2_33(m, d) BOOST_PP_REPEAT_2_32(m, d) m(3, 32, d)
-# define BOOST_PP_REPEAT_2_34(m, d) BOOST_PP_REPEAT_2_33(m, d) m(3, 33, d)
-# define BOOST_PP_REPEAT_2_35(m, d) BOOST_PP_REPEAT_2_34(m, d) m(3, 34, d)
-# define BOOST_PP_REPEAT_2_36(m, d) BOOST_PP_REPEAT_2_35(m, d) m(3, 35, d)
-# define BOOST_PP_REPEAT_2_37(m, d) BOOST_PP_REPEAT_2_36(m, d) m(3, 36, d)
-# define BOOST_PP_REPEAT_2_38(m, d) BOOST_PP_REPEAT_2_37(m, d) m(3, 37, d)
-# define BOOST_PP_REPEAT_2_39(m, d) BOOST_PP_REPEAT_2_38(m, d) m(3, 38, d)
-# define BOOST_PP_REPEAT_2_40(m, d) BOOST_PP_REPEAT_2_39(m, d) m(3, 39, d)
-# define BOOST_PP_REPEAT_2_41(m, d) BOOST_PP_REPEAT_2_40(m, d) m(3, 40, d)
-# define BOOST_PP_REPEAT_2_42(m, d) BOOST_PP_REPEAT_2_41(m, d) m(3, 41, d)
-# define BOOST_PP_REPEAT_2_43(m, d) BOOST_PP_REPEAT_2_42(m, d) m(3, 42, d)
-# define BOOST_PP_REPEAT_2_44(m, d) BOOST_PP_REPEAT_2_43(m, d) m(3, 43, d)
-# define BOOST_PP_REPEAT_2_45(m, d) BOOST_PP_REPEAT_2_44(m, d) m(3, 44, d)
-# define BOOST_PP_REPEAT_2_46(m, d) BOOST_PP_REPEAT_2_45(m, d) m(3, 45, d)
-# define BOOST_PP_REPEAT_2_47(m, d) BOOST_PP_REPEAT_2_46(m, d) m(3, 46, d)
-# define BOOST_PP_REPEAT_2_48(m, d) BOOST_PP_REPEAT_2_47(m, d) m(3, 47, d)
-# define BOOST_PP_REPEAT_2_49(m, d) BOOST_PP_REPEAT_2_48(m, d) m(3, 48, d)
-# define BOOST_PP_REPEAT_2_50(m, d) BOOST_PP_REPEAT_2_49(m, d) m(3, 49, d)
-# define BOOST_PP_REPEAT_2_51(m, d) BOOST_PP_REPEAT_2_50(m, d) m(3, 50, d)
-# define BOOST_PP_REPEAT_2_52(m, d) BOOST_PP_REPEAT_2_51(m, d) m(3, 51, d)
-# define BOOST_PP_REPEAT_2_53(m, d) BOOST_PP_REPEAT_2_52(m, d) m(3, 52, d)
-# define BOOST_PP_REPEAT_2_54(m, d) BOOST_PP_REPEAT_2_53(m, d) m(3, 53, d)
-# define BOOST_PP_REPEAT_2_55(m, d) BOOST_PP_REPEAT_2_54(m, d) m(3, 54, d)
-# define BOOST_PP_REPEAT_2_56(m, d) BOOST_PP_REPEAT_2_55(m, d) m(3, 55, d)
-# define BOOST_PP_REPEAT_2_57(m, d) BOOST_PP_REPEAT_2_56(m, d) m(3, 56, d)
-# define BOOST_PP_REPEAT_2_58(m, d) BOOST_PP_REPEAT_2_57(m, d) m(3, 57, d)
-# define BOOST_PP_REPEAT_2_59(m, d) BOOST_PP_REPEAT_2_58(m, d) m(3, 58, d)
-# define BOOST_PP_REPEAT_2_60(m, d) BOOST_PP_REPEAT_2_59(m, d) m(3, 59, d)
-# define BOOST_PP_REPEAT_2_61(m, d) BOOST_PP_REPEAT_2_60(m, d) m(3, 60, d)
-# define BOOST_PP_REPEAT_2_62(m, d) BOOST_PP_REPEAT_2_61(m, d) m(3, 61, d)
-# define BOOST_PP_REPEAT_2_63(m, d) BOOST_PP_REPEAT_2_62(m, d) m(3, 62, d)
-# define BOOST_PP_REPEAT_2_64(m, d) BOOST_PP_REPEAT_2_63(m, d) m(3, 63, d)
-# define BOOST_PP_REPEAT_2_65(m, d) BOOST_PP_REPEAT_2_64(m, d) m(3, 64, d)
-# define BOOST_PP_REPEAT_2_66(m, d) BOOST_PP_REPEAT_2_65(m, d) m(3, 65, d)
-# define BOOST_PP_REPEAT_2_67(m, d) BOOST_PP_REPEAT_2_66(m, d) m(3, 66, d)
-# define BOOST_PP_REPEAT_2_68(m, d) BOOST_PP_REPEAT_2_67(m, d) m(3, 67, d)
-# define BOOST_PP_REPEAT_2_69(m, d) BOOST_PP_REPEAT_2_68(m, d) m(3, 68, d)
-# define BOOST_PP_REPEAT_2_70(m, d) BOOST_PP_REPEAT_2_69(m, d) m(3, 69, d)
-# define BOOST_PP_REPEAT_2_71(m, d) BOOST_PP_REPEAT_2_70(m, d) m(3, 70, d)
-# define BOOST_PP_REPEAT_2_72(m, d) BOOST_PP_REPEAT_2_71(m, d) m(3, 71, d)
-# define BOOST_PP_REPEAT_2_73(m, d) BOOST_PP_REPEAT_2_72(m, d) m(3, 72, d)
-# define BOOST_PP_REPEAT_2_74(m, d) BOOST_PP_REPEAT_2_73(m, d) m(3, 73, d)
-# define BOOST_PP_REPEAT_2_75(m, d) BOOST_PP_REPEAT_2_74(m, d) m(3, 74, d)
-# define BOOST_PP_REPEAT_2_76(m, d) BOOST_PP_REPEAT_2_75(m, d) m(3, 75, d)
-# define BOOST_PP_REPEAT_2_77(m, d) BOOST_PP_REPEAT_2_76(m, d) m(3, 76, d)
-# define BOOST_PP_REPEAT_2_78(m, d) BOOST_PP_REPEAT_2_77(m, d) m(3, 77, d)
-# define BOOST_PP_REPEAT_2_79(m, d) BOOST_PP_REPEAT_2_78(m, d) m(3, 78, d)
-# define BOOST_PP_REPEAT_2_80(m, d) BOOST_PP_REPEAT_2_79(m, d) m(3, 79, d)
-# define BOOST_PP_REPEAT_2_81(m, d) BOOST_PP_REPEAT_2_80(m, d) m(3, 80, d)
-# define BOOST_PP_REPEAT_2_82(m, d) BOOST_PP_REPEAT_2_81(m, d) m(3, 81, d)
-# define BOOST_PP_REPEAT_2_83(m, d) BOOST_PP_REPEAT_2_82(m, d) m(3, 82, d)
-# define BOOST_PP_REPEAT_2_84(m, d) BOOST_PP_REPEAT_2_83(m, d) m(3, 83, d)
-# define BOOST_PP_REPEAT_2_85(m, d) BOOST_PP_REPEAT_2_84(m, d) m(3, 84, d)
-# define BOOST_PP_REPEAT_2_86(m, d) BOOST_PP_REPEAT_2_85(m, d) m(3, 85, d)
-# define BOOST_PP_REPEAT_2_87(m, d) BOOST_PP_REPEAT_2_86(m, d) m(3, 86, d)
-# define BOOST_PP_REPEAT_2_88(m, d) BOOST_PP_REPEAT_2_87(m, d) m(3, 87, d)
-# define BOOST_PP_REPEAT_2_89(m, d) BOOST_PP_REPEAT_2_88(m, d) m(3, 88, d)
-# define BOOST_PP_REPEAT_2_90(m, d) BOOST_PP_REPEAT_2_89(m, d) m(3, 89, d)
-# define BOOST_PP_REPEAT_2_91(m, d) BOOST_PP_REPEAT_2_90(m, d) m(3, 90, d)
-# define BOOST_PP_REPEAT_2_92(m, d) BOOST_PP_REPEAT_2_91(m, d) m(3, 91, d)
-# define BOOST_PP_REPEAT_2_93(m, d) BOOST_PP_REPEAT_2_92(m, d) m(3, 92, d)
-# define BOOST_PP_REPEAT_2_94(m, d) BOOST_PP_REPEAT_2_93(m, d) m(3, 93, d)
-# define BOOST_PP_REPEAT_2_95(m, d) BOOST_PP_REPEAT_2_94(m, d) m(3, 94, d)
-# define BOOST_PP_REPEAT_2_96(m, d) BOOST_PP_REPEAT_2_95(m, d) m(3, 95, d)
-# define BOOST_PP_REPEAT_2_97(m, d) BOOST_PP_REPEAT_2_96(m, d) m(3, 96, d)
-# define BOOST_PP_REPEAT_2_98(m, d) BOOST_PP_REPEAT_2_97(m, d) m(3, 97, d)
-# define BOOST_PP_REPEAT_2_99(m, d) BOOST_PP_REPEAT_2_98(m, d) m(3, 98, d)
-# define BOOST_PP_REPEAT_2_100(m, d) BOOST_PP_REPEAT_2_99(m, d) m(3, 99, d)
-# define BOOST_PP_REPEAT_2_101(m, d) BOOST_PP_REPEAT_2_100(m, d) m(3, 100, d)
-# define BOOST_PP_REPEAT_2_102(m, d) BOOST_PP_REPEAT_2_101(m, d) m(3, 101, d)
-# define BOOST_PP_REPEAT_2_103(m, d) BOOST_PP_REPEAT_2_102(m, d) m(3, 102, d)
-# define BOOST_PP_REPEAT_2_104(m, d) BOOST_PP_REPEAT_2_103(m, d) m(3, 103, d)
-# define BOOST_PP_REPEAT_2_105(m, d) BOOST_PP_REPEAT_2_104(m, d) m(3, 104, d)
-# define BOOST_PP_REPEAT_2_106(m, d) BOOST_PP_REPEAT_2_105(m, d) m(3, 105, d)
-# define BOOST_PP_REPEAT_2_107(m, d) BOOST_PP_REPEAT_2_106(m, d) m(3, 106, d)
-# define BOOST_PP_REPEAT_2_108(m, d) BOOST_PP_REPEAT_2_107(m, d) m(3, 107, d)
-# define BOOST_PP_REPEAT_2_109(m, d) BOOST_PP_REPEAT_2_108(m, d) m(3, 108, d)
-# define BOOST_PP_REPEAT_2_110(m, d) BOOST_PP_REPEAT_2_109(m, d) m(3, 109, d)
-# define BOOST_PP_REPEAT_2_111(m, d) BOOST_PP_REPEAT_2_110(m, d) m(3, 110, d)
-# define BOOST_PP_REPEAT_2_112(m, d) BOOST_PP_REPEAT_2_111(m, d) m(3, 111, d)
-# define BOOST_PP_REPEAT_2_113(m, d) BOOST_PP_REPEAT_2_112(m, d) m(3, 112, d)
-# define BOOST_PP_REPEAT_2_114(m, d) BOOST_PP_REPEAT_2_113(m, d) m(3, 113, d)
-# define BOOST_PP_REPEAT_2_115(m, d) BOOST_PP_REPEAT_2_114(m, d) m(3, 114, d)
-# define BOOST_PP_REPEAT_2_116(m, d) BOOST_PP_REPEAT_2_115(m, d) m(3, 115, d)
-# define BOOST_PP_REPEAT_2_117(m, d) BOOST_PP_REPEAT_2_116(m, d) m(3, 116, d)
-# define BOOST_PP_REPEAT_2_118(m, d) BOOST_PP_REPEAT_2_117(m, d) m(3, 117, d)
-# define BOOST_PP_REPEAT_2_119(m, d) BOOST_PP_REPEAT_2_118(m, d) m(3, 118, d)
-# define BOOST_PP_REPEAT_2_120(m, d) BOOST_PP_REPEAT_2_119(m, d) m(3, 119, d)
-# define BOOST_PP_REPEAT_2_121(m, d) BOOST_PP_REPEAT_2_120(m, d) m(3, 120, d)
-# define BOOST_PP_REPEAT_2_122(m, d) BOOST_PP_REPEAT_2_121(m, d) m(3, 121, d)
-# define BOOST_PP_REPEAT_2_123(m, d) BOOST_PP_REPEAT_2_122(m, d) m(3, 122, d)
-# define BOOST_PP_REPEAT_2_124(m, d) BOOST_PP_REPEAT_2_123(m, d) m(3, 123, d)
-# define BOOST_PP_REPEAT_2_125(m, d) BOOST_PP_REPEAT_2_124(m, d) m(3, 124, d)
-# define BOOST_PP_REPEAT_2_126(m, d) BOOST_PP_REPEAT_2_125(m, d) m(3, 125, d)
-# define BOOST_PP_REPEAT_2_127(m, d) BOOST_PP_REPEAT_2_126(m, d) m(3, 126, d)
-# define BOOST_PP_REPEAT_2_128(m, d) BOOST_PP_REPEAT_2_127(m, d) m(3, 127, d)
-# define BOOST_PP_REPEAT_2_129(m, d) BOOST_PP_REPEAT_2_128(m, d) m(3, 128, d)
-# define BOOST_PP_REPEAT_2_130(m, d) BOOST_PP_REPEAT_2_129(m, d) m(3, 129, d)
-# define BOOST_PP_REPEAT_2_131(m, d) BOOST_PP_REPEAT_2_130(m, d) m(3, 130, d)
-# define BOOST_PP_REPEAT_2_132(m, d) BOOST_PP_REPEAT_2_131(m, d) m(3, 131, d)
-# define BOOST_PP_REPEAT_2_133(m, d) BOOST_PP_REPEAT_2_132(m, d) m(3, 132, d)
-# define BOOST_PP_REPEAT_2_134(m, d) BOOST_PP_REPEAT_2_133(m, d) m(3, 133, d)
-# define BOOST_PP_REPEAT_2_135(m, d) BOOST_PP_REPEAT_2_134(m, d) m(3, 134, d)
-# define BOOST_PP_REPEAT_2_136(m, d) BOOST_PP_REPEAT_2_135(m, d) m(3, 135, d)
-# define BOOST_PP_REPEAT_2_137(m, d) BOOST_PP_REPEAT_2_136(m, d) m(3, 136, d)
-# define BOOST_PP_REPEAT_2_138(m, d) BOOST_PP_REPEAT_2_137(m, d) m(3, 137, d)
-# define BOOST_PP_REPEAT_2_139(m, d) BOOST_PP_REPEAT_2_138(m, d) m(3, 138, d)
-# define BOOST_PP_REPEAT_2_140(m, d) BOOST_PP_REPEAT_2_139(m, d) m(3, 139, d)
-# define BOOST_PP_REPEAT_2_141(m, d) BOOST_PP_REPEAT_2_140(m, d) m(3, 140, d)
-# define BOOST_PP_REPEAT_2_142(m, d) BOOST_PP_REPEAT_2_141(m, d) m(3, 141, d)
-# define BOOST_PP_REPEAT_2_143(m, d) BOOST_PP_REPEAT_2_142(m, d) m(3, 142, d)
-# define BOOST_PP_REPEAT_2_144(m, d) BOOST_PP_REPEAT_2_143(m, d) m(3, 143, d)
-# define BOOST_PP_REPEAT_2_145(m, d) BOOST_PP_REPEAT_2_144(m, d) m(3, 144, d)
-# define BOOST_PP_REPEAT_2_146(m, d) BOOST_PP_REPEAT_2_145(m, d) m(3, 145, d)
-# define BOOST_PP_REPEAT_2_147(m, d) BOOST_PP_REPEAT_2_146(m, d) m(3, 146, d)
-# define BOOST_PP_REPEAT_2_148(m, d) BOOST_PP_REPEAT_2_147(m, d) m(3, 147, d)
-# define BOOST_PP_REPEAT_2_149(m, d) BOOST_PP_REPEAT_2_148(m, d) m(3, 148, d)
-# define BOOST_PP_REPEAT_2_150(m, d) BOOST_PP_REPEAT_2_149(m, d) m(3, 149, d)
-# define BOOST_PP_REPEAT_2_151(m, d) BOOST_PP_REPEAT_2_150(m, d) m(3, 150, d)
-# define BOOST_PP_REPEAT_2_152(m, d) BOOST_PP_REPEAT_2_151(m, d) m(3, 151, d)
-# define BOOST_PP_REPEAT_2_153(m, d) BOOST_PP_REPEAT_2_152(m, d) m(3, 152, d)
-# define BOOST_PP_REPEAT_2_154(m, d) BOOST_PP_REPEAT_2_153(m, d) m(3, 153, d)
-# define BOOST_PP_REPEAT_2_155(m, d) BOOST_PP_REPEAT_2_154(m, d) m(3, 154, d)
-# define BOOST_PP_REPEAT_2_156(m, d) BOOST_PP_REPEAT_2_155(m, d) m(3, 155, d)
-# define BOOST_PP_REPEAT_2_157(m, d) BOOST_PP_REPEAT_2_156(m, d) m(3, 156, d)
-# define BOOST_PP_REPEAT_2_158(m, d) BOOST_PP_REPEAT_2_157(m, d) m(3, 157, d)
-# define BOOST_PP_REPEAT_2_159(m, d) BOOST_PP_REPEAT_2_158(m, d) m(3, 158, d)
-# define BOOST_PP_REPEAT_2_160(m, d) BOOST_PP_REPEAT_2_159(m, d) m(3, 159, d)
-# define BOOST_PP_REPEAT_2_161(m, d) BOOST_PP_REPEAT_2_160(m, d) m(3, 160, d)
-# define BOOST_PP_REPEAT_2_162(m, d) BOOST_PP_REPEAT_2_161(m, d) m(3, 161, d)
-# define BOOST_PP_REPEAT_2_163(m, d) BOOST_PP_REPEAT_2_162(m, d) m(3, 162, d)
-# define BOOST_PP_REPEAT_2_164(m, d) BOOST_PP_REPEAT_2_163(m, d) m(3, 163, d)
-# define BOOST_PP_REPEAT_2_165(m, d) BOOST_PP_REPEAT_2_164(m, d) m(3, 164, d)
-# define BOOST_PP_REPEAT_2_166(m, d) BOOST_PP_REPEAT_2_165(m, d) m(3, 165, d)
-# define BOOST_PP_REPEAT_2_167(m, d) BOOST_PP_REPEAT_2_166(m, d) m(3, 166, d)
-# define BOOST_PP_REPEAT_2_168(m, d) BOOST_PP_REPEAT_2_167(m, d) m(3, 167, d)
-# define BOOST_PP_REPEAT_2_169(m, d) BOOST_PP_REPEAT_2_168(m, d) m(3, 168, d)
-# define BOOST_PP_REPEAT_2_170(m, d) BOOST_PP_REPEAT_2_169(m, d) m(3, 169, d)
-# define BOOST_PP_REPEAT_2_171(m, d) BOOST_PP_REPEAT_2_170(m, d) m(3, 170, d)
-# define BOOST_PP_REPEAT_2_172(m, d) BOOST_PP_REPEAT_2_171(m, d) m(3, 171, d)
-# define BOOST_PP_REPEAT_2_173(m, d) BOOST_PP_REPEAT_2_172(m, d) m(3, 172, d)
-# define BOOST_PP_REPEAT_2_174(m, d) BOOST_PP_REPEAT_2_173(m, d) m(3, 173, d)
-# define BOOST_PP_REPEAT_2_175(m, d) BOOST_PP_REPEAT_2_174(m, d) m(3, 174, d)
-# define BOOST_PP_REPEAT_2_176(m, d) BOOST_PP_REPEAT_2_175(m, d) m(3, 175, d)
-# define BOOST_PP_REPEAT_2_177(m, d) BOOST_PP_REPEAT_2_176(m, d) m(3, 176, d)
-# define BOOST_PP_REPEAT_2_178(m, d) BOOST_PP_REPEAT_2_177(m, d) m(3, 177, d)
-# define BOOST_PP_REPEAT_2_179(m, d) BOOST_PP_REPEAT_2_178(m, d) m(3, 178, d)
-# define BOOST_PP_REPEAT_2_180(m, d) BOOST_PP_REPEAT_2_179(m, d) m(3, 179, d)
-# define BOOST_PP_REPEAT_2_181(m, d) BOOST_PP_REPEAT_2_180(m, d) m(3, 180, d)
-# define BOOST_PP_REPEAT_2_182(m, d) BOOST_PP_REPEAT_2_181(m, d) m(3, 181, d)
-# define BOOST_PP_REPEAT_2_183(m, d) BOOST_PP_REPEAT_2_182(m, d) m(3, 182, d)
-# define BOOST_PP_REPEAT_2_184(m, d) BOOST_PP_REPEAT_2_183(m, d) m(3, 183, d)
-# define BOOST_PP_REPEAT_2_185(m, d) BOOST_PP_REPEAT_2_184(m, d) m(3, 184, d)
-# define BOOST_PP_REPEAT_2_186(m, d) BOOST_PP_REPEAT_2_185(m, d) m(3, 185, d)
-# define BOOST_PP_REPEAT_2_187(m, d) BOOST_PP_REPEAT_2_186(m, d) m(3, 186, d)
-# define BOOST_PP_REPEAT_2_188(m, d) BOOST_PP_REPEAT_2_187(m, d) m(3, 187, d)
-# define BOOST_PP_REPEAT_2_189(m, d) BOOST_PP_REPEAT_2_188(m, d) m(3, 188, d)
-# define BOOST_PP_REPEAT_2_190(m, d) BOOST_PP_REPEAT_2_189(m, d) m(3, 189, d)
-# define BOOST_PP_REPEAT_2_191(m, d) BOOST_PP_REPEAT_2_190(m, d) m(3, 190, d)
-# define BOOST_PP_REPEAT_2_192(m, d) BOOST_PP_REPEAT_2_191(m, d) m(3, 191, d)
-# define BOOST_PP_REPEAT_2_193(m, d) BOOST_PP_REPEAT_2_192(m, d) m(3, 192, d)
-# define BOOST_PP_REPEAT_2_194(m, d) BOOST_PP_REPEAT_2_193(m, d) m(3, 193, d)
-# define BOOST_PP_REPEAT_2_195(m, d) BOOST_PP_REPEAT_2_194(m, d) m(3, 194, d)
-# define BOOST_PP_REPEAT_2_196(m, d) BOOST_PP_REPEAT_2_195(m, d) m(3, 195, d)
-# define BOOST_PP_REPEAT_2_197(m, d) BOOST_PP_REPEAT_2_196(m, d) m(3, 196, d)
-# define BOOST_PP_REPEAT_2_198(m, d) BOOST_PP_REPEAT_2_197(m, d) m(3, 197, d)
-# define BOOST_PP_REPEAT_2_199(m, d) BOOST_PP_REPEAT_2_198(m, d) m(3, 198, d)
-# define BOOST_PP_REPEAT_2_200(m, d) BOOST_PP_REPEAT_2_199(m, d) m(3, 199, d)
-# define BOOST_PP_REPEAT_2_201(m, d) BOOST_PP_REPEAT_2_200(m, d) m(3, 200, d)
-# define BOOST_PP_REPEAT_2_202(m, d) BOOST_PP_REPEAT_2_201(m, d) m(3, 201, d)
-# define BOOST_PP_REPEAT_2_203(m, d) BOOST_PP_REPEAT_2_202(m, d) m(3, 202, d)
-# define BOOST_PP_REPEAT_2_204(m, d) BOOST_PP_REPEAT_2_203(m, d) m(3, 203, d)
-# define BOOST_PP_REPEAT_2_205(m, d) BOOST_PP_REPEAT_2_204(m, d) m(3, 204, d)
-# define BOOST_PP_REPEAT_2_206(m, d) BOOST_PP_REPEAT_2_205(m, d) m(3, 205, d)
-# define BOOST_PP_REPEAT_2_207(m, d) BOOST_PP_REPEAT_2_206(m, d) m(3, 206, d)
-# define BOOST_PP_REPEAT_2_208(m, d) BOOST_PP_REPEAT_2_207(m, d) m(3, 207, d)
-# define BOOST_PP_REPEAT_2_209(m, d) BOOST_PP_REPEAT_2_208(m, d) m(3, 208, d)
-# define BOOST_PP_REPEAT_2_210(m, d) BOOST_PP_REPEAT_2_209(m, d) m(3, 209, d)
-# define BOOST_PP_REPEAT_2_211(m, d) BOOST_PP_REPEAT_2_210(m, d) m(3, 210, d)
-# define BOOST_PP_REPEAT_2_212(m, d) BOOST_PP_REPEAT_2_211(m, d) m(3, 211, d)
-# define BOOST_PP_REPEAT_2_213(m, d) BOOST_PP_REPEAT_2_212(m, d) m(3, 212, d)
-# define BOOST_PP_REPEAT_2_214(m, d) BOOST_PP_REPEAT_2_213(m, d) m(3, 213, d)
-# define BOOST_PP_REPEAT_2_215(m, d) BOOST_PP_REPEAT_2_214(m, d) m(3, 214, d)
-# define BOOST_PP_REPEAT_2_216(m, d) BOOST_PP_REPEAT_2_215(m, d) m(3, 215, d)
-# define BOOST_PP_REPEAT_2_217(m, d) BOOST_PP_REPEAT_2_216(m, d) m(3, 216, d)
-# define BOOST_PP_REPEAT_2_218(m, d) BOOST_PP_REPEAT_2_217(m, d) m(3, 217, d)
-# define BOOST_PP_REPEAT_2_219(m, d) BOOST_PP_REPEAT_2_218(m, d) m(3, 218, d)
-# define BOOST_PP_REPEAT_2_220(m, d) BOOST_PP_REPEAT_2_219(m, d) m(3, 219, d)
-# define BOOST_PP_REPEAT_2_221(m, d) BOOST_PP_REPEAT_2_220(m, d) m(3, 220, d)
-# define BOOST_PP_REPEAT_2_222(m, d) BOOST_PP_REPEAT_2_221(m, d) m(3, 221, d)
-# define BOOST_PP_REPEAT_2_223(m, d) BOOST_PP_REPEAT_2_222(m, d) m(3, 222, d)
-# define BOOST_PP_REPEAT_2_224(m, d) BOOST_PP_REPEAT_2_223(m, d) m(3, 223, d)
-# define BOOST_PP_REPEAT_2_225(m, d) BOOST_PP_REPEAT_2_224(m, d) m(3, 224, d)
-# define BOOST_PP_REPEAT_2_226(m, d) BOOST_PP_REPEAT_2_225(m, d) m(3, 225, d)
-# define BOOST_PP_REPEAT_2_227(m, d) BOOST_PP_REPEAT_2_226(m, d) m(3, 226, d)
-# define BOOST_PP_REPEAT_2_228(m, d) BOOST_PP_REPEAT_2_227(m, d) m(3, 227, d)
-# define BOOST_PP_REPEAT_2_229(m, d) BOOST_PP_REPEAT_2_228(m, d) m(3, 228, d)
-# define BOOST_PP_REPEAT_2_230(m, d) BOOST_PP_REPEAT_2_229(m, d) m(3, 229, d)
-# define BOOST_PP_REPEAT_2_231(m, d) BOOST_PP_REPEAT_2_230(m, d) m(3, 230, d)
-# define BOOST_PP_REPEAT_2_232(m, d) BOOST_PP_REPEAT_2_231(m, d) m(3, 231, d)
-# define BOOST_PP_REPEAT_2_233(m, d) BOOST_PP_REPEAT_2_232(m, d) m(3, 232, d)
-# define BOOST_PP_REPEAT_2_234(m, d) BOOST_PP_REPEAT_2_233(m, d) m(3, 233, d)
-# define BOOST_PP_REPEAT_2_235(m, d) BOOST_PP_REPEAT_2_234(m, d) m(3, 234, d)
-# define BOOST_PP_REPEAT_2_236(m, d) BOOST_PP_REPEAT_2_235(m, d) m(3, 235, d)
-# define BOOST_PP_REPEAT_2_237(m, d) BOOST_PP_REPEAT_2_236(m, d) m(3, 236, d)
-# define BOOST_PP_REPEAT_2_238(m, d) BOOST_PP_REPEAT_2_237(m, d) m(3, 237, d)
-# define BOOST_PP_REPEAT_2_239(m, d) BOOST_PP_REPEAT_2_238(m, d) m(3, 238, d)
-# define BOOST_PP_REPEAT_2_240(m, d) BOOST_PP_REPEAT_2_239(m, d) m(3, 239, d)
-# define BOOST_PP_REPEAT_2_241(m, d) BOOST_PP_REPEAT_2_240(m, d) m(3, 240, d)
-# define BOOST_PP_REPEAT_2_242(m, d) BOOST_PP_REPEAT_2_241(m, d) m(3, 241, d)
-# define BOOST_PP_REPEAT_2_243(m, d) BOOST_PP_REPEAT_2_242(m, d) m(3, 242, d)
-# define BOOST_PP_REPEAT_2_244(m, d) BOOST_PP_REPEAT_2_243(m, d) m(3, 243, d)
-# define BOOST_PP_REPEAT_2_245(m, d) BOOST_PP_REPEAT_2_244(m, d) m(3, 244, d)
-# define BOOST_PP_REPEAT_2_246(m, d) BOOST_PP_REPEAT_2_245(m, d) m(3, 245, d)
-# define BOOST_PP_REPEAT_2_247(m, d) BOOST_PP_REPEAT_2_246(m, d) m(3, 246, d)
-# define BOOST_PP_REPEAT_2_248(m, d) BOOST_PP_REPEAT_2_247(m, d) m(3, 247, d)
-# define BOOST_PP_REPEAT_2_249(m, d) BOOST_PP_REPEAT_2_248(m, d) m(3, 248, d)
-# define BOOST_PP_REPEAT_2_250(m, d) BOOST_PP_REPEAT_2_249(m, d) m(3, 249, d)
-# define BOOST_PP_REPEAT_2_251(m, d) BOOST_PP_REPEAT_2_250(m, d) m(3, 250, d)
-# define BOOST_PP_REPEAT_2_252(m, d) BOOST_PP_REPEAT_2_251(m, d) m(3, 251, d)
-# define BOOST_PP_REPEAT_2_253(m, d) BOOST_PP_REPEAT_2_252(m, d) m(3, 252, d)
-# define BOOST_PP_REPEAT_2_254(m, d) BOOST_PP_REPEAT_2_253(m, d) m(3, 253, d)
-# define BOOST_PP_REPEAT_2_255(m, d) BOOST_PP_REPEAT_2_254(m, d) m(3, 254, d)
-# define BOOST_PP_REPEAT_2_256(m, d) BOOST_PP_REPEAT_2_255(m, d) m(3, 255, d)
-#
-# define BOOST_PP_REPEAT_3_0(m, d)
-# define BOOST_PP_REPEAT_3_1(m, d) m(4, 0, d)
-# define BOOST_PP_REPEAT_3_2(m, d) BOOST_PP_REPEAT_3_1(m, d) m(4, 1, d)
-# define BOOST_PP_REPEAT_3_3(m, d) BOOST_PP_REPEAT_3_2(m, d) m(4, 2, d)
-# define BOOST_PP_REPEAT_3_4(m, d) BOOST_PP_REPEAT_3_3(m, d) m(4, 3, d)
-# define BOOST_PP_REPEAT_3_5(m, d) BOOST_PP_REPEAT_3_4(m, d) m(4, 4, d)
-# define BOOST_PP_REPEAT_3_6(m, d) BOOST_PP_REPEAT_3_5(m, d) m(4, 5, d)
-# define BOOST_PP_REPEAT_3_7(m, d) BOOST_PP_REPEAT_3_6(m, d) m(4, 6, d)
-# define BOOST_PP_REPEAT_3_8(m, d) BOOST_PP_REPEAT_3_7(m, d) m(4, 7, d)
-# define BOOST_PP_REPEAT_3_9(m, d) BOOST_PP_REPEAT_3_8(m, d) m(4, 8, d)
-# define BOOST_PP_REPEAT_3_10(m, d) BOOST_PP_REPEAT_3_9(m, d) m(4, 9, d)
-# define BOOST_PP_REPEAT_3_11(m, d) BOOST_PP_REPEAT_3_10(m, d) m(4, 10, d)
-# define BOOST_PP_REPEAT_3_12(m, d) BOOST_PP_REPEAT_3_11(m, d) m(4, 11, d)
-# define BOOST_PP_REPEAT_3_13(m, d) BOOST_PP_REPEAT_3_12(m, d) m(4, 12, d)
-# define BOOST_PP_REPEAT_3_14(m, d) BOOST_PP_REPEAT_3_13(m, d) m(4, 13, d)
-# define BOOST_PP_REPEAT_3_15(m, d) BOOST_PP_REPEAT_3_14(m, d) m(4, 14, d)
-# define BOOST_PP_REPEAT_3_16(m, d) BOOST_PP_REPEAT_3_15(m, d) m(4, 15, d)
-# define BOOST_PP_REPEAT_3_17(m, d) BOOST_PP_REPEAT_3_16(m, d) m(4, 16, d)
-# define BOOST_PP_REPEAT_3_18(m, d) BOOST_PP_REPEAT_3_17(m, d) m(4, 17, d)
-# define BOOST_PP_REPEAT_3_19(m, d) BOOST_PP_REPEAT_3_18(m, d) m(4, 18, d)
-# define BOOST_PP_REPEAT_3_20(m, d) BOOST_PP_REPEAT_3_19(m, d) m(4, 19, d)
-# define BOOST_PP_REPEAT_3_21(m, d) BOOST_PP_REPEAT_3_20(m, d) m(4, 20, d)
-# define BOOST_PP_REPEAT_3_22(m, d) BOOST_PP_REPEAT_3_21(m, d) m(4, 21, d)
-# define BOOST_PP_REPEAT_3_23(m, d) BOOST_PP_REPEAT_3_22(m, d) m(4, 22, d)
-# define BOOST_PP_REPEAT_3_24(m, d) BOOST_PP_REPEAT_3_23(m, d) m(4, 23, d)
-# define BOOST_PP_REPEAT_3_25(m, d) BOOST_PP_REPEAT_3_24(m, d) m(4, 24, d)
-# define BOOST_PP_REPEAT_3_26(m, d) BOOST_PP_REPEAT_3_25(m, d) m(4, 25, d)
-# define BOOST_PP_REPEAT_3_27(m, d) BOOST_PP_REPEAT_3_26(m, d) m(4, 26, d)
-# define BOOST_PP_REPEAT_3_28(m, d) BOOST_PP_REPEAT_3_27(m, d) m(4, 27, d)
-# define BOOST_PP_REPEAT_3_29(m, d) BOOST_PP_REPEAT_3_28(m, d) m(4, 28, d)
-# define BOOST_PP_REPEAT_3_30(m, d) BOOST_PP_REPEAT_3_29(m, d) m(4, 29, d)
-# define BOOST_PP_REPEAT_3_31(m, d) BOOST_PP_REPEAT_3_30(m, d) m(4, 30, d)
-# define BOOST_PP_REPEAT_3_32(m, d) BOOST_PP_REPEAT_3_31(m, d) m(4, 31, d)
-# define BOOST_PP_REPEAT_3_33(m, d) BOOST_PP_REPEAT_3_32(m, d) m(4, 32, d)
-# define BOOST_PP_REPEAT_3_34(m, d) BOOST_PP_REPEAT_3_33(m, d) m(4, 33, d)
-# define BOOST_PP_REPEAT_3_35(m, d) BOOST_PP_REPEAT_3_34(m, d) m(4, 34, d)
-# define BOOST_PP_REPEAT_3_36(m, d) BOOST_PP_REPEAT_3_35(m, d) m(4, 35, d)
-# define BOOST_PP_REPEAT_3_37(m, d) BOOST_PP_REPEAT_3_36(m, d) m(4, 36, d)
-# define BOOST_PP_REPEAT_3_38(m, d) BOOST_PP_REPEAT_3_37(m, d) m(4, 37, d)
-# define BOOST_PP_REPEAT_3_39(m, d) BOOST_PP_REPEAT_3_38(m, d) m(4, 38, d)
-# define BOOST_PP_REPEAT_3_40(m, d) BOOST_PP_REPEAT_3_39(m, d) m(4, 39, d)
-# define BOOST_PP_REPEAT_3_41(m, d) BOOST_PP_REPEAT_3_40(m, d) m(4, 40, d)
-# define BOOST_PP_REPEAT_3_42(m, d) BOOST_PP_REPEAT_3_41(m, d) m(4, 41, d)
-# define BOOST_PP_REPEAT_3_43(m, d) BOOST_PP_REPEAT_3_42(m, d) m(4, 42, d)
-# define BOOST_PP_REPEAT_3_44(m, d) BOOST_PP_REPEAT_3_43(m, d) m(4, 43, d)
-# define BOOST_PP_REPEAT_3_45(m, d) BOOST_PP_REPEAT_3_44(m, d) m(4, 44, d)
-# define BOOST_PP_REPEAT_3_46(m, d) BOOST_PP_REPEAT_3_45(m, d) m(4, 45, d)
-# define BOOST_PP_REPEAT_3_47(m, d) BOOST_PP_REPEAT_3_46(m, d) m(4, 46, d)
-# define BOOST_PP_REPEAT_3_48(m, d) BOOST_PP_REPEAT_3_47(m, d) m(4, 47, d)
-# define BOOST_PP_REPEAT_3_49(m, d) BOOST_PP_REPEAT_3_48(m, d) m(4, 48, d)
-# define BOOST_PP_REPEAT_3_50(m, d) BOOST_PP_REPEAT_3_49(m, d) m(4, 49, d)
-# define BOOST_PP_REPEAT_3_51(m, d) BOOST_PP_REPEAT_3_50(m, d) m(4, 50, d)
-# define BOOST_PP_REPEAT_3_52(m, d) BOOST_PP_REPEAT_3_51(m, d) m(4, 51, d)
-# define BOOST_PP_REPEAT_3_53(m, d) BOOST_PP_REPEAT_3_52(m, d) m(4, 52, d)
-# define BOOST_PP_REPEAT_3_54(m, d) BOOST_PP_REPEAT_3_53(m, d) m(4, 53, d)
-# define BOOST_PP_REPEAT_3_55(m, d) BOOST_PP_REPEAT_3_54(m, d) m(4, 54, d)
-# define BOOST_PP_REPEAT_3_56(m, d) BOOST_PP_REPEAT_3_55(m, d) m(4, 55, d)
-# define BOOST_PP_REPEAT_3_57(m, d) BOOST_PP_REPEAT_3_56(m, d) m(4, 56, d)
-# define BOOST_PP_REPEAT_3_58(m, d) BOOST_PP_REPEAT_3_57(m, d) m(4, 57, d)
-# define BOOST_PP_REPEAT_3_59(m, d) BOOST_PP_REPEAT_3_58(m, d) m(4, 58, d)
-# define BOOST_PP_REPEAT_3_60(m, d) BOOST_PP_REPEAT_3_59(m, d) m(4, 59, d)
-# define BOOST_PP_REPEAT_3_61(m, d) BOOST_PP_REPEAT_3_60(m, d) m(4, 60, d)
-# define BOOST_PP_REPEAT_3_62(m, d) BOOST_PP_REPEAT_3_61(m, d) m(4, 61, d)
-# define BOOST_PP_REPEAT_3_63(m, d) BOOST_PP_REPEAT_3_62(m, d) m(4, 62, d)
-# define BOOST_PP_REPEAT_3_64(m, d) BOOST_PP_REPEAT_3_63(m, d) m(4, 63, d)
-# define BOOST_PP_REPEAT_3_65(m, d) BOOST_PP_REPEAT_3_64(m, d) m(4, 64, d)
-# define BOOST_PP_REPEAT_3_66(m, d) BOOST_PP_REPEAT_3_65(m, d) m(4, 65, d)
-# define BOOST_PP_REPEAT_3_67(m, d) BOOST_PP_REPEAT_3_66(m, d) m(4, 66, d)
-# define BOOST_PP_REPEAT_3_68(m, d) BOOST_PP_REPEAT_3_67(m, d) m(4, 67, d)
-# define BOOST_PP_REPEAT_3_69(m, d) BOOST_PP_REPEAT_3_68(m, d) m(4, 68, d)
-# define BOOST_PP_REPEAT_3_70(m, d) BOOST_PP_REPEAT_3_69(m, d) m(4, 69, d)
-# define BOOST_PP_REPEAT_3_71(m, d) BOOST_PP_REPEAT_3_70(m, d) m(4, 70, d)
-# define BOOST_PP_REPEAT_3_72(m, d) BOOST_PP_REPEAT_3_71(m, d) m(4, 71, d)
-# define BOOST_PP_REPEAT_3_73(m, d) BOOST_PP_REPEAT_3_72(m, d) m(4, 72, d)
-# define BOOST_PP_REPEAT_3_74(m, d) BOOST_PP_REPEAT_3_73(m, d) m(4, 73, d)
-# define BOOST_PP_REPEAT_3_75(m, d) BOOST_PP_REPEAT_3_74(m, d) m(4, 74, d)
-# define BOOST_PP_REPEAT_3_76(m, d) BOOST_PP_REPEAT_3_75(m, d) m(4, 75, d)
-# define BOOST_PP_REPEAT_3_77(m, d) BOOST_PP_REPEAT_3_76(m, d) m(4, 76, d)
-# define BOOST_PP_REPEAT_3_78(m, d) BOOST_PP_REPEAT_3_77(m, d) m(4, 77, d)
-# define BOOST_PP_REPEAT_3_79(m, d) BOOST_PP_REPEAT_3_78(m, d) m(4, 78, d)
-# define BOOST_PP_REPEAT_3_80(m, d) BOOST_PP_REPEAT_3_79(m, d) m(4, 79, d)
-# define BOOST_PP_REPEAT_3_81(m, d) BOOST_PP_REPEAT_3_80(m, d) m(4, 80, d)
-# define BOOST_PP_REPEAT_3_82(m, d) BOOST_PP_REPEAT_3_81(m, d) m(4, 81, d)
-# define BOOST_PP_REPEAT_3_83(m, d) BOOST_PP_REPEAT_3_82(m, d) m(4, 82, d)
-# define BOOST_PP_REPEAT_3_84(m, d) BOOST_PP_REPEAT_3_83(m, d) m(4, 83, d)
-# define BOOST_PP_REPEAT_3_85(m, d) BOOST_PP_REPEAT_3_84(m, d) m(4, 84, d)
-# define BOOST_PP_REPEAT_3_86(m, d) BOOST_PP_REPEAT_3_85(m, d) m(4, 85, d)
-# define BOOST_PP_REPEAT_3_87(m, d) BOOST_PP_REPEAT_3_86(m, d) m(4, 86, d)
-# define BOOST_PP_REPEAT_3_88(m, d) BOOST_PP_REPEAT_3_87(m, d) m(4, 87, d)
-# define BOOST_PP_REPEAT_3_89(m, d) BOOST_PP_REPEAT_3_88(m, d) m(4, 88, d)
-# define BOOST_PP_REPEAT_3_90(m, d) BOOST_PP_REPEAT_3_89(m, d) m(4, 89, d)
-# define BOOST_PP_REPEAT_3_91(m, d) BOOST_PP_REPEAT_3_90(m, d) m(4, 90, d)
-# define BOOST_PP_REPEAT_3_92(m, d) BOOST_PP_REPEAT_3_91(m, d) m(4, 91, d)
-# define BOOST_PP_REPEAT_3_93(m, d) BOOST_PP_REPEAT_3_92(m, d) m(4, 92, d)
-# define BOOST_PP_REPEAT_3_94(m, d) BOOST_PP_REPEAT_3_93(m, d) m(4, 93, d)
-# define BOOST_PP_REPEAT_3_95(m, d) BOOST_PP_REPEAT_3_94(m, d) m(4, 94, d)
-# define BOOST_PP_REPEAT_3_96(m, d) BOOST_PP_REPEAT_3_95(m, d) m(4, 95, d)
-# define BOOST_PP_REPEAT_3_97(m, d) BOOST_PP_REPEAT_3_96(m, d) m(4, 96, d)
-# define BOOST_PP_REPEAT_3_98(m, d) BOOST_PP_REPEAT_3_97(m, d) m(4, 97, d)
-# define BOOST_PP_REPEAT_3_99(m, d) BOOST_PP_REPEAT_3_98(m, d) m(4, 98, d)
-# define BOOST_PP_REPEAT_3_100(m, d) BOOST_PP_REPEAT_3_99(m, d) m(4, 99, d)
-# define BOOST_PP_REPEAT_3_101(m, d) BOOST_PP_REPEAT_3_100(m, d) m(4, 100, d)
-# define BOOST_PP_REPEAT_3_102(m, d) BOOST_PP_REPEAT_3_101(m, d) m(4, 101, d)
-# define BOOST_PP_REPEAT_3_103(m, d) BOOST_PP_REPEAT_3_102(m, d) m(4, 102, d)
-# define BOOST_PP_REPEAT_3_104(m, d) BOOST_PP_REPEAT_3_103(m, d) m(4, 103, d)
-# define BOOST_PP_REPEAT_3_105(m, d) BOOST_PP_REPEAT_3_104(m, d) m(4, 104, d)
-# define BOOST_PP_REPEAT_3_106(m, d) BOOST_PP_REPEAT_3_105(m, d) m(4, 105, d)
-# define BOOST_PP_REPEAT_3_107(m, d) BOOST_PP_REPEAT_3_106(m, d) m(4, 106, d)
-# define BOOST_PP_REPEAT_3_108(m, d) BOOST_PP_REPEAT_3_107(m, d) m(4, 107, d)
-# define BOOST_PP_REPEAT_3_109(m, d) BOOST_PP_REPEAT_3_108(m, d) m(4, 108, d)
-# define BOOST_PP_REPEAT_3_110(m, d) BOOST_PP_REPEAT_3_109(m, d) m(4, 109, d)
-# define BOOST_PP_REPEAT_3_111(m, d) BOOST_PP_REPEAT_3_110(m, d) m(4, 110, d)
-# define BOOST_PP_REPEAT_3_112(m, d) BOOST_PP_REPEAT_3_111(m, d) m(4, 111, d)
-# define BOOST_PP_REPEAT_3_113(m, d) BOOST_PP_REPEAT_3_112(m, d) m(4, 112, d)
-# define BOOST_PP_REPEAT_3_114(m, d) BOOST_PP_REPEAT_3_113(m, d) m(4, 113, d)
-# define BOOST_PP_REPEAT_3_115(m, d) BOOST_PP_REPEAT_3_114(m, d) m(4, 114, d)
-# define BOOST_PP_REPEAT_3_116(m, d) BOOST_PP_REPEAT_3_115(m, d) m(4, 115, d)
-# define BOOST_PP_REPEAT_3_117(m, d) BOOST_PP_REPEAT_3_116(m, d) m(4, 116, d)
-# define BOOST_PP_REPEAT_3_118(m, d) BOOST_PP_REPEAT_3_117(m, d) m(4, 117, d)
-# define BOOST_PP_REPEAT_3_119(m, d) BOOST_PP_REPEAT_3_118(m, d) m(4, 118, d)
-# define BOOST_PP_REPEAT_3_120(m, d) BOOST_PP_REPEAT_3_119(m, d) m(4, 119, d)
-# define BOOST_PP_REPEAT_3_121(m, d) BOOST_PP_REPEAT_3_120(m, d) m(4, 120, d)
-# define BOOST_PP_REPEAT_3_122(m, d) BOOST_PP_REPEAT_3_121(m, d) m(4, 121, d)
-# define BOOST_PP_REPEAT_3_123(m, d) BOOST_PP_REPEAT_3_122(m, d) m(4, 122, d)
-# define BOOST_PP_REPEAT_3_124(m, d) BOOST_PP_REPEAT_3_123(m, d) m(4, 123, d)
-# define BOOST_PP_REPEAT_3_125(m, d) BOOST_PP_REPEAT_3_124(m, d) m(4, 124, d)
-# define BOOST_PP_REPEAT_3_126(m, d) BOOST_PP_REPEAT_3_125(m, d) m(4, 125, d)
-# define BOOST_PP_REPEAT_3_127(m, d) BOOST_PP_REPEAT_3_126(m, d) m(4, 126, d)
-# define BOOST_PP_REPEAT_3_128(m, d) BOOST_PP_REPEAT_3_127(m, d) m(4, 127, d)
-# define BOOST_PP_REPEAT_3_129(m, d) BOOST_PP_REPEAT_3_128(m, d) m(4, 128, d)
-# define BOOST_PP_REPEAT_3_130(m, d) BOOST_PP_REPEAT_3_129(m, d) m(4, 129, d)
-# define BOOST_PP_REPEAT_3_131(m, d) BOOST_PP_REPEAT_3_130(m, d) m(4, 130, d)
-# define BOOST_PP_REPEAT_3_132(m, d) BOOST_PP_REPEAT_3_131(m, d) m(4, 131, d)
-# define BOOST_PP_REPEAT_3_133(m, d) BOOST_PP_REPEAT_3_132(m, d) m(4, 132, d)
-# define BOOST_PP_REPEAT_3_134(m, d) BOOST_PP_REPEAT_3_133(m, d) m(4, 133, d)
-# define BOOST_PP_REPEAT_3_135(m, d) BOOST_PP_REPEAT_3_134(m, d) m(4, 134, d)
-# define BOOST_PP_REPEAT_3_136(m, d) BOOST_PP_REPEAT_3_135(m, d) m(4, 135, d)
-# define BOOST_PP_REPEAT_3_137(m, d) BOOST_PP_REPEAT_3_136(m, d) m(4, 136, d)
-# define BOOST_PP_REPEAT_3_138(m, d) BOOST_PP_REPEAT_3_137(m, d) m(4, 137, d)
-# define BOOST_PP_REPEAT_3_139(m, d) BOOST_PP_REPEAT_3_138(m, d) m(4, 138, d)
-# define BOOST_PP_REPEAT_3_140(m, d) BOOST_PP_REPEAT_3_139(m, d) m(4, 139, d)
-# define BOOST_PP_REPEAT_3_141(m, d) BOOST_PP_REPEAT_3_140(m, d) m(4, 140, d)
-# define BOOST_PP_REPEAT_3_142(m, d) BOOST_PP_REPEAT_3_141(m, d) m(4, 141, d)
-# define BOOST_PP_REPEAT_3_143(m, d) BOOST_PP_REPEAT_3_142(m, d) m(4, 142, d)
-# define BOOST_PP_REPEAT_3_144(m, d) BOOST_PP_REPEAT_3_143(m, d) m(4, 143, d)
-# define BOOST_PP_REPEAT_3_145(m, d) BOOST_PP_REPEAT_3_144(m, d) m(4, 144, d)
-# define BOOST_PP_REPEAT_3_146(m, d) BOOST_PP_REPEAT_3_145(m, d) m(4, 145, d)
-# define BOOST_PP_REPEAT_3_147(m, d) BOOST_PP_REPEAT_3_146(m, d) m(4, 146, d)
-# define BOOST_PP_REPEAT_3_148(m, d) BOOST_PP_REPEAT_3_147(m, d) m(4, 147, d)
-# define BOOST_PP_REPEAT_3_149(m, d) BOOST_PP_REPEAT_3_148(m, d) m(4, 148, d)
-# define BOOST_PP_REPEAT_3_150(m, d) BOOST_PP_REPEAT_3_149(m, d) m(4, 149, d)
-# define BOOST_PP_REPEAT_3_151(m, d) BOOST_PP_REPEAT_3_150(m, d) m(4, 150, d)
-# define BOOST_PP_REPEAT_3_152(m, d) BOOST_PP_REPEAT_3_151(m, d) m(4, 151, d)
-# define BOOST_PP_REPEAT_3_153(m, d) BOOST_PP_REPEAT_3_152(m, d) m(4, 152, d)
-# define BOOST_PP_REPEAT_3_154(m, d) BOOST_PP_REPEAT_3_153(m, d) m(4, 153, d)
-# define BOOST_PP_REPEAT_3_155(m, d) BOOST_PP_REPEAT_3_154(m, d) m(4, 154, d)
-# define BOOST_PP_REPEAT_3_156(m, d) BOOST_PP_REPEAT_3_155(m, d) m(4, 155, d)
-# define BOOST_PP_REPEAT_3_157(m, d) BOOST_PP_REPEAT_3_156(m, d) m(4, 156, d)
-# define BOOST_PP_REPEAT_3_158(m, d) BOOST_PP_REPEAT_3_157(m, d) m(4, 157, d)
-# define BOOST_PP_REPEAT_3_159(m, d) BOOST_PP_REPEAT_3_158(m, d) m(4, 158, d)
-# define BOOST_PP_REPEAT_3_160(m, d) BOOST_PP_REPEAT_3_159(m, d) m(4, 159, d)
-# define BOOST_PP_REPEAT_3_161(m, d) BOOST_PP_REPEAT_3_160(m, d) m(4, 160, d)
-# define BOOST_PP_REPEAT_3_162(m, d) BOOST_PP_REPEAT_3_161(m, d) m(4, 161, d)
-# define BOOST_PP_REPEAT_3_163(m, d) BOOST_PP_REPEAT_3_162(m, d) m(4, 162, d)
-# define BOOST_PP_REPEAT_3_164(m, d) BOOST_PP_REPEAT_3_163(m, d) m(4, 163, d)
-# define BOOST_PP_REPEAT_3_165(m, d) BOOST_PP_REPEAT_3_164(m, d) m(4, 164, d)
-# define BOOST_PP_REPEAT_3_166(m, d) BOOST_PP_REPEAT_3_165(m, d) m(4, 165, d)
-# define BOOST_PP_REPEAT_3_167(m, d) BOOST_PP_REPEAT_3_166(m, d) m(4, 166, d)
-# define BOOST_PP_REPEAT_3_168(m, d) BOOST_PP_REPEAT_3_167(m, d) m(4, 167, d)
-# define BOOST_PP_REPEAT_3_169(m, d) BOOST_PP_REPEAT_3_168(m, d) m(4, 168, d)
-# define BOOST_PP_REPEAT_3_170(m, d) BOOST_PP_REPEAT_3_169(m, d) m(4, 169, d)
-# define BOOST_PP_REPEAT_3_171(m, d) BOOST_PP_REPEAT_3_170(m, d) m(4, 170, d)
-# define BOOST_PP_REPEAT_3_172(m, d) BOOST_PP_REPEAT_3_171(m, d) m(4, 171, d)
-# define BOOST_PP_REPEAT_3_173(m, d) BOOST_PP_REPEAT_3_172(m, d) m(4, 172, d)
-# define BOOST_PP_REPEAT_3_174(m, d) BOOST_PP_REPEAT_3_173(m, d) m(4, 173, d)
-# define BOOST_PP_REPEAT_3_175(m, d) BOOST_PP_REPEAT_3_174(m, d) m(4, 174, d)
-# define BOOST_PP_REPEAT_3_176(m, d) BOOST_PP_REPEAT_3_175(m, d) m(4, 175, d)
-# define BOOST_PP_REPEAT_3_177(m, d) BOOST_PP_REPEAT_3_176(m, d) m(4, 176, d)
-# define BOOST_PP_REPEAT_3_178(m, d) BOOST_PP_REPEAT_3_177(m, d) m(4, 177, d)
-# define BOOST_PP_REPEAT_3_179(m, d) BOOST_PP_REPEAT_3_178(m, d) m(4, 178, d)
-# define BOOST_PP_REPEAT_3_180(m, d) BOOST_PP_REPEAT_3_179(m, d) m(4, 179, d)
-# define BOOST_PP_REPEAT_3_181(m, d) BOOST_PP_REPEAT_3_180(m, d) m(4, 180, d)
-# define BOOST_PP_REPEAT_3_182(m, d) BOOST_PP_REPEAT_3_181(m, d) m(4, 181, d)
-# define BOOST_PP_REPEAT_3_183(m, d) BOOST_PP_REPEAT_3_182(m, d) m(4, 182, d)
-# define BOOST_PP_REPEAT_3_184(m, d) BOOST_PP_REPEAT_3_183(m, d) m(4, 183, d)
-# define BOOST_PP_REPEAT_3_185(m, d) BOOST_PP_REPEAT_3_184(m, d) m(4, 184, d)
-# define BOOST_PP_REPEAT_3_186(m, d) BOOST_PP_REPEAT_3_185(m, d) m(4, 185, d)
-# define BOOST_PP_REPEAT_3_187(m, d) BOOST_PP_REPEAT_3_186(m, d) m(4, 186, d)
-# define BOOST_PP_REPEAT_3_188(m, d) BOOST_PP_REPEAT_3_187(m, d) m(4, 187, d)
-# define BOOST_PP_REPEAT_3_189(m, d) BOOST_PP_REPEAT_3_188(m, d) m(4, 188, d)
-# define BOOST_PP_REPEAT_3_190(m, d) BOOST_PP_REPEAT_3_189(m, d) m(4, 189, d)
-# define BOOST_PP_REPEAT_3_191(m, d) BOOST_PP_REPEAT_3_190(m, d) m(4, 190, d)
-# define BOOST_PP_REPEAT_3_192(m, d) BOOST_PP_REPEAT_3_191(m, d) m(4, 191, d)
-# define BOOST_PP_REPEAT_3_193(m, d) BOOST_PP_REPEAT_3_192(m, d) m(4, 192, d)
-# define BOOST_PP_REPEAT_3_194(m, d) BOOST_PP_REPEAT_3_193(m, d) m(4, 193, d)
-# define BOOST_PP_REPEAT_3_195(m, d) BOOST_PP_REPEAT_3_194(m, d) m(4, 194, d)
-# define BOOST_PP_REPEAT_3_196(m, d) BOOST_PP_REPEAT_3_195(m, d) m(4, 195, d)
-# define BOOST_PP_REPEAT_3_197(m, d) BOOST_PP_REPEAT_3_196(m, d) m(4, 196, d)
-# define BOOST_PP_REPEAT_3_198(m, d) BOOST_PP_REPEAT_3_197(m, d) m(4, 197, d)
-# define BOOST_PP_REPEAT_3_199(m, d) BOOST_PP_REPEAT_3_198(m, d) m(4, 198, d)
-# define BOOST_PP_REPEAT_3_200(m, d) BOOST_PP_REPEAT_3_199(m, d) m(4, 199, d)
-# define BOOST_PP_REPEAT_3_201(m, d) BOOST_PP_REPEAT_3_200(m, d) m(4, 200, d)
-# define BOOST_PP_REPEAT_3_202(m, d) BOOST_PP_REPEAT_3_201(m, d) m(4, 201, d)
-# define BOOST_PP_REPEAT_3_203(m, d) BOOST_PP_REPEAT_3_202(m, d) m(4, 202, d)
-# define BOOST_PP_REPEAT_3_204(m, d) BOOST_PP_REPEAT_3_203(m, d) m(4, 203, d)
-# define BOOST_PP_REPEAT_3_205(m, d) BOOST_PP_REPEAT_3_204(m, d) m(4, 204, d)
-# define BOOST_PP_REPEAT_3_206(m, d) BOOST_PP_REPEAT_3_205(m, d) m(4, 205, d)
-# define BOOST_PP_REPEAT_3_207(m, d) BOOST_PP_REPEAT_3_206(m, d) m(4, 206, d)
-# define BOOST_PP_REPEAT_3_208(m, d) BOOST_PP_REPEAT_3_207(m, d) m(4, 207, d)
-# define BOOST_PP_REPEAT_3_209(m, d) BOOST_PP_REPEAT_3_208(m, d) m(4, 208, d)
-# define BOOST_PP_REPEAT_3_210(m, d) BOOST_PP_REPEAT_3_209(m, d) m(4, 209, d)
-# define BOOST_PP_REPEAT_3_211(m, d) BOOST_PP_REPEAT_3_210(m, d) m(4, 210, d)
-# define BOOST_PP_REPEAT_3_212(m, d) BOOST_PP_REPEAT_3_211(m, d) m(4, 211, d)
-# define BOOST_PP_REPEAT_3_213(m, d) BOOST_PP_REPEAT_3_212(m, d) m(4, 212, d)
-# define BOOST_PP_REPEAT_3_214(m, d) BOOST_PP_REPEAT_3_213(m, d) m(4, 213, d)
-# define BOOST_PP_REPEAT_3_215(m, d) BOOST_PP_REPEAT_3_214(m, d) m(4, 214, d)
-# define BOOST_PP_REPEAT_3_216(m, d) BOOST_PP_REPEAT_3_215(m, d) m(4, 215, d)
-# define BOOST_PP_REPEAT_3_217(m, d) BOOST_PP_REPEAT_3_216(m, d) m(4, 216, d)
-# define BOOST_PP_REPEAT_3_218(m, d) BOOST_PP_REPEAT_3_217(m, d) m(4, 217, d)
-# define BOOST_PP_REPEAT_3_219(m, d) BOOST_PP_REPEAT_3_218(m, d) m(4, 218, d)
-# define BOOST_PP_REPEAT_3_220(m, d) BOOST_PP_REPEAT_3_219(m, d) m(4, 219, d)
-# define BOOST_PP_REPEAT_3_221(m, d) BOOST_PP_REPEAT_3_220(m, d) m(4, 220, d)
-# define BOOST_PP_REPEAT_3_222(m, d) BOOST_PP_REPEAT_3_221(m, d) m(4, 221, d)
-# define BOOST_PP_REPEAT_3_223(m, d) BOOST_PP_REPEAT_3_222(m, d) m(4, 222, d)
-# define BOOST_PP_REPEAT_3_224(m, d) BOOST_PP_REPEAT_3_223(m, d) m(4, 223, d)
-# define BOOST_PP_REPEAT_3_225(m, d) BOOST_PP_REPEAT_3_224(m, d) m(4, 224, d)
-# define BOOST_PP_REPEAT_3_226(m, d) BOOST_PP_REPEAT_3_225(m, d) m(4, 225, d)
-# define BOOST_PP_REPEAT_3_227(m, d) BOOST_PP_REPEAT_3_226(m, d) m(4, 226, d)
-# define BOOST_PP_REPEAT_3_228(m, d) BOOST_PP_REPEAT_3_227(m, d) m(4, 227, d)
-# define BOOST_PP_REPEAT_3_229(m, d) BOOST_PP_REPEAT_3_228(m, d) m(4, 228, d)
-# define BOOST_PP_REPEAT_3_230(m, d) BOOST_PP_REPEAT_3_229(m, d) m(4, 229, d)
-# define BOOST_PP_REPEAT_3_231(m, d) BOOST_PP_REPEAT_3_230(m, d) m(4, 230, d)
-# define BOOST_PP_REPEAT_3_232(m, d) BOOST_PP_REPEAT_3_231(m, d) m(4, 231, d)
-# define BOOST_PP_REPEAT_3_233(m, d) BOOST_PP_REPEAT_3_232(m, d) m(4, 232, d)
-# define BOOST_PP_REPEAT_3_234(m, d) BOOST_PP_REPEAT_3_233(m, d) m(4, 233, d)
-# define BOOST_PP_REPEAT_3_235(m, d) BOOST_PP_REPEAT_3_234(m, d) m(4, 234, d)
-# define BOOST_PP_REPEAT_3_236(m, d) BOOST_PP_REPEAT_3_235(m, d) m(4, 235, d)
-# define BOOST_PP_REPEAT_3_237(m, d) BOOST_PP_REPEAT_3_236(m, d) m(4, 236, d)
-# define BOOST_PP_REPEAT_3_238(m, d) BOOST_PP_REPEAT_3_237(m, d) m(4, 237, d)
-# define BOOST_PP_REPEAT_3_239(m, d) BOOST_PP_REPEAT_3_238(m, d) m(4, 238, d)
-# define BOOST_PP_REPEAT_3_240(m, d) BOOST_PP_REPEAT_3_239(m, d) m(4, 239, d)
-# define BOOST_PP_REPEAT_3_241(m, d) BOOST_PP_REPEAT_3_240(m, d) m(4, 240, d)
-# define BOOST_PP_REPEAT_3_242(m, d) BOOST_PP_REPEAT_3_241(m, d) m(4, 241, d)
-# define BOOST_PP_REPEAT_3_243(m, d) BOOST_PP_REPEAT_3_242(m, d) m(4, 242, d)
-# define BOOST_PP_REPEAT_3_244(m, d) BOOST_PP_REPEAT_3_243(m, d) m(4, 243, d)
-# define BOOST_PP_REPEAT_3_245(m, d) BOOST_PP_REPEAT_3_244(m, d) m(4, 244, d)
-# define BOOST_PP_REPEAT_3_246(m, d) BOOST_PP_REPEAT_3_245(m, d) m(4, 245, d)
-# define BOOST_PP_REPEAT_3_247(m, d) BOOST_PP_REPEAT_3_246(m, d) m(4, 246, d)
-# define BOOST_PP_REPEAT_3_248(m, d) BOOST_PP_REPEAT_3_247(m, d) m(4, 247, d)
-# define BOOST_PP_REPEAT_3_249(m, d) BOOST_PP_REPEAT_3_248(m, d) m(4, 248, d)
-# define BOOST_PP_REPEAT_3_250(m, d) BOOST_PP_REPEAT_3_249(m, d) m(4, 249, d)
-# define BOOST_PP_REPEAT_3_251(m, d) BOOST_PP_REPEAT_3_250(m, d) m(4, 250, d)
-# define BOOST_PP_REPEAT_3_252(m, d) BOOST_PP_REPEAT_3_251(m, d) m(4, 251, d)
-# define BOOST_PP_REPEAT_3_253(m, d) BOOST_PP_REPEAT_3_252(m, d) m(4, 252, d)
-# define BOOST_PP_REPEAT_3_254(m, d) BOOST_PP_REPEAT_3_253(m, d) m(4, 253, d)
-# define BOOST_PP_REPEAT_3_255(m, d) BOOST_PP_REPEAT_3_254(m, d) m(4, 254, d)
-# define BOOST_PP_REPEAT_3_256(m, d) BOOST_PP_REPEAT_3_255(m, d) m(4, 255, d)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/repetition/repeat_from_to.hpp b/SRC/Boost/boost/preprocessor/repetition/repeat_from_to.hpp
deleted file mode 100755
index 161bc81..0000000
--- a/SRC/Boost/boost/preprocessor/repetition/repeat_from_to.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_FROM_TO_HPP
-# define BOOST_PREPROCESSOR_REPETITION_REPEAT_FROM_TO_HPP
-#
-# include <boost/preprocessor/arithmetic/add.hpp>
-# include <boost/preprocessor/arithmetic/sub.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_REPEAT_FROM_TO */
-#
-# if 0
-#    define BOOST_PP_REPEAT_FROM_TO(first, last, macro, data)
-# endif
-#
-# define BOOST_PP_REPEAT_FROM_TO BOOST_PP_CAT(BOOST_PP_REPEAT_FROM_TO_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
-#
-# define BOOST_PP_REPEAT_FROM_TO_1(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_1(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_2(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_2(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_3(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_3(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_4(f, l, m, dt) BOOST_PP_ERROR(0x0003)
-#
-# define BOOST_PP_REPEAT_FROM_TO_1ST BOOST_PP_REPEAT_FROM_TO_1
-# define BOOST_PP_REPEAT_FROM_TO_2ND BOOST_PP_REPEAT_FROM_TO_2
-# define BOOST_PP_REPEAT_FROM_TO_3RD BOOST_PP_REPEAT_FROM_TO_3
-#
-# /* BOOST_PP_REPEAT_FROM_TO_D */
-#
-# if 0
-#    define BOOST_PP_REPEAT_FROM_TO_D(d, first, last, macro, data)
-# endif
-#
-# define BOOST_PP_REPEAT_FROM_TO_D BOOST_PP_CAT(BOOST_PP_REPEAT_FROM_TO_D_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_REPEAT_FROM_TO_D_1(d, f, l, m, dt) BOOST_PP_REPEAT_1(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_1, (d, f, m, dt))
-#    define BOOST_PP_REPEAT_FROM_TO_D_2(d, f, l, m, dt) BOOST_PP_REPEAT_2(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_2, (d, f, m, dt))
-#    define BOOST_PP_REPEAT_FROM_TO_D_3(d, f, l, m, dt) BOOST_PP_REPEAT_3(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_3, (d, f, m, dt))
-# else
-#    define BOOST_PP_REPEAT_FROM_TO_D_1(d, f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_1_I(d, f, l, m, dt)
-#    define BOOST_PP_REPEAT_FROM_TO_D_2(d, f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_2_I(d, f, l, m, dt)
-#    define BOOST_PP_REPEAT_FROM_TO_D_3(d, f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_3_I(d, f, l, m, dt)
-#    define BOOST_PP_REPEAT_FROM_TO_D_1_I(d, f, l, m, dt) BOOST_PP_REPEAT_1(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_1, (d, f, m, dt))
-#    define BOOST_PP_REPEAT_FROM_TO_D_2_I(d, f, l, m, dt) BOOST_PP_REPEAT_2(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_2, (d, f, m, dt))
-#    define BOOST_PP_REPEAT_FROM_TO_D_3_I(d, f, l, m, dt) BOOST_PP_REPEAT_3(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_3, (d, f, m, dt))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_REPEAT_FROM_TO_M_1(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_1_IM(z, n, BOOST_PP_TUPLE_REM_4 dfmd)
-#    define BOOST_PP_REPEAT_FROM_TO_M_2(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_2_IM(z, n, BOOST_PP_TUPLE_REM_4 dfmd)
-#    define BOOST_PP_REPEAT_FROM_TO_M_3(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_3_IM(z, n, BOOST_PP_TUPLE_REM_4 dfmd)
-#    define BOOST_PP_REPEAT_FROM_TO_M_1_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, im)
-#    define BOOST_PP_REPEAT_FROM_TO_M_2_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, im)
-#    define BOOST_PP_REPEAT_FROM_TO_M_3_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, im)
-# else
-#    define BOOST_PP_REPEAT_FROM_TO_M_1(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(4, 0, dfmd), BOOST_PP_TUPLE_ELEM(4, 1, dfmd), BOOST_PP_TUPLE_ELEM(4, 2, dfmd), BOOST_PP_TUPLE_ELEM(4, 3, dfmd))
-#    define BOOST_PP_REPEAT_FROM_TO_M_2(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(4, 0, dfmd), BOOST_PP_TUPLE_ELEM(4, 1, dfmd), BOOST_PP_TUPLE_ELEM(4, 2, dfmd), BOOST_PP_TUPLE_ELEM(4, 3, dfmd))
-#    define BOOST_PP_REPEAT_FROM_TO_M_3(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(4, 0, dfmd), BOOST_PP_TUPLE_ELEM(4, 1, dfmd), BOOST_PP_TUPLE_ELEM(4, 2, dfmd), BOOST_PP_TUPLE_ELEM(4, 3, dfmd))
-# endif
-#
-# define BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, d, f, m, dt) BOOST_PP_REPEAT_FROM_TO_M_1_II(z, BOOST_PP_ADD_D(d, n, f), m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, d, f, m, dt) BOOST_PP_REPEAT_FROM_TO_M_2_II(z, BOOST_PP_ADD_D(d, n, f), m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, d, f, m, dt) BOOST_PP_REPEAT_FROM_TO_M_3_II(z, BOOST_PP_ADD_D(d, n, f), m, dt)
-#
-# define BOOST_PP_REPEAT_FROM_TO_M_1_II(z, n, m, dt) m(z, n, dt)
-# define BOOST_PP_REPEAT_FROM_TO_M_2_II(z, n, m, dt) m(z, n, dt)
-# define BOOST_PP_REPEAT_FROM_TO_M_3_II(z, n, m, dt) m(z, n, dt)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/selection.hpp b/SRC/Boost/boost/preprocessor/selection.hpp
deleted file mode 100755
index 0813dfc..0000000
--- a/SRC/Boost/boost/preprocessor/selection.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SELECTION_HPP
-# define BOOST_PREPROCESSOR_SELECTION_HPP
-#
-# include <boost/preprocessor/selection/max.hpp>
-# include <boost/preprocessor/selection/min.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/selection/max.hpp b/SRC/Boost/boost/preprocessor/selection/max.hpp
deleted file mode 100755
index 08e362c..0000000
--- a/SRC/Boost/boost/preprocessor/selection/max.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SELECTION_MAX_HPP
-# define BOOST_PREPROCESSOR_SELECTION_MAX_HPP
-#
-# include <boost/preprocessor/comparison/less_equal.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-#
-# /* BOOST_PP_MAX */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_MAX(x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL(x, y), y, x)
-# else
-#    define BOOST_PP_MAX(x, y) BOOST_PP_MAX_I(x, y)
-#    define BOOST_PP_MAX_I(x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL(x, y), y, x)
-# endif
-#
-# /* BOOST_PP_MAX_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_MAX_D(d, x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL_D(d, x, y), y, x)
-# else
-#    define BOOST_PP_MAX_D(d, x, y) BOOST_PP_MAX_D_I(d, x, y)
-#    define BOOST_PP_MAX_D_I(d, x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL_D(d, x, y), y, x)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/selection/min.hpp b/SRC/Boost/boost/preprocessor/selection/min.hpp
deleted file mode 100755
index 6cd548d..0000000
--- a/SRC/Boost/boost/preprocessor/selection/min.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SELECTION_MIN_HPP
-# define BOOST_PREPROCESSOR_SELECTION_MIN_HPP
-#
-# include <boost/preprocessor/comparison/less_equal.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-#
-# /* BOOST_PP_MIN */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_MIN(x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL(y, x), y, x)
-# else
-#    define BOOST_PP_MIN(x, y) BOOST_PP_MIN_I(x, y)
-#    define BOOST_PP_MIN_I(x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL(y, x), y, x)
-# endif
-#
-# /* BOOST_PP_MIN_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_MIN_D(d, x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL_D(d, y, x), y, x)
-# else
-#    define BOOST_PP_MIN_D(d, x, y) BOOST_PP_MIN_D_I(d, x, y)
-#    define BOOST_PP_MIN_D_I(d, x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL_D(d, y, x), y, x)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq.hpp b/SRC/Boost/boost/preprocessor/seq.hpp
deleted file mode 100755
index 12dae9d..0000000
--- a/SRC/Boost/boost/preprocessor/seq.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_HPP
-# define BOOST_PREPROCESSOR_SEQ_HPP
-#
-# include <boost/preprocessor/seq/cat.hpp>
-# include <boost/preprocessor/seq/elem.hpp>
-# include <boost/preprocessor/seq/enum.hpp>
-# include <boost/preprocessor/seq/filter.hpp>
-# include <boost/preprocessor/seq/first_n.hpp>
-# include <boost/preprocessor/seq/fold_left.hpp>
-# include <boost/preprocessor/seq/fold_right.hpp>
-# include <boost/preprocessor/seq/for_each.hpp>
-# include <boost/preprocessor/seq/for_each_i.hpp>
-# include <boost/preprocessor/seq/for_each_product.hpp>
-# include <boost/preprocessor/seq/insert.hpp>
-# include <boost/preprocessor/seq/pop_back.hpp>
-# include <boost/preprocessor/seq/pop_front.hpp>
-# include <boost/preprocessor/seq/push_back.hpp>
-# include <boost/preprocessor/seq/push_front.hpp>
-# include <boost/preprocessor/seq/remove.hpp>
-# include <boost/preprocessor/seq/replace.hpp>
-# include <boost/preprocessor/seq/rest_n.hpp>
-# include <boost/preprocessor/seq/reverse.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-# include <boost/preprocessor/seq/subseq.hpp>
-# include <boost/preprocessor/seq/to_array.hpp>
-# include <boost/preprocessor/seq/to_tuple.hpp>
-# include <boost/preprocessor/seq/transform.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/cat.hpp b/SRC/Boost/boost/preprocessor/seq/cat.hpp
deleted file mode 100755
index 89cb0f4..0000000
--- a/SRC/Boost/boost/preprocessor/seq/cat.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_CAT_HPP
-# define BOOST_PREPROCESSOR_SEQ_CAT_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/seq/fold_left.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# /* BOOST_PP_SEQ_CAT */
-#
-# define BOOST_PP_SEQ_CAT(seq) \
-    BOOST_PP_IF( \
-        BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \
-        BOOST_PP_SEQ_CAT_I, \
-        BOOST_PP_SEQ_HEAD \
-    )(seq) \
-    /**/
-# define BOOST_PP_SEQ_CAT_I(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq))
-#
-# define BOOST_PP_SEQ_CAT_O(s, st, elem) BOOST_PP_SEQ_CAT_O_I(st, elem)
-# define BOOST_PP_SEQ_CAT_O_I(a, b) a ## b
-#
-# /* BOOST_PP_SEQ_CAT_S */
-#
-# define BOOST_PP_SEQ_CAT_S(s, seq) \
-    BOOST_PP_IF( \
-        BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \
-        BOOST_PP_SEQ_CAT_S_I_A, \
-        BOOST_PP_SEQ_CAT_S_I_B \
-    )(s, seq) \
-    /**/
-# define BOOST_PP_SEQ_CAT_S_I_A(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq))
-# define BOOST_PP_SEQ_CAT_S_I_B(s, seq) BOOST_PP_SEQ_HEAD(seq)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/detail/split.hpp b/SRC/Boost/boost/preprocessor/seq/detail/split.hpp
deleted file mode 100755
index ada485e..0000000
--- a/SRC/Boost/boost/preprocessor/seq/detail/split.hpp
+++ /dev/null
@@ -1,284 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP
-# define BOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_SEQ_SPLIT */
-#
-# define BOOST_PP_SEQ_SPLIT(n, seq) BOOST_PP_SEQ_SPLIT_D(n, seq)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_SPLIT_D(n, seq) (BOOST_PP_SEQ_SPLIT_ ## n seq)
-# else
-#    define BOOST_PP_SEQ_SPLIT_D(n, seq) (BOOST_PP_SEQ_SPLIT_ ## n ## seq)
-# endif
-#
-# define BOOST_PP_SEQ_SPLIT_1(x) (x),
-# define BOOST_PP_SEQ_SPLIT_2(x) (x) BOOST_PP_SEQ_SPLIT_1
-# define BOOST_PP_SEQ_SPLIT_3(x) (x) BOOST_PP_SEQ_SPLIT_2
-# define BOOST_PP_SEQ_SPLIT_4(x) (x) BOOST_PP_SEQ_SPLIT_3
-# define BOOST_PP_SEQ_SPLIT_5(x) (x) BOOST_PP_SEQ_SPLIT_4
-# define BOOST_PP_SEQ_SPLIT_6(x) (x) BOOST_PP_SEQ_SPLIT_5
-# define BOOST_PP_SEQ_SPLIT_7(x) (x) BOOST_PP_SEQ_SPLIT_6
-# define BOOST_PP_SEQ_SPLIT_8(x) (x) BOOST_PP_SEQ_SPLIT_7
-# define BOOST_PP_SEQ_SPLIT_9(x) (x) BOOST_PP_SEQ_SPLIT_8
-# define BOOST_PP_SEQ_SPLIT_10(x) (x) BOOST_PP_SEQ_SPLIT_9
-# define BOOST_PP_SEQ_SPLIT_11(x) (x) BOOST_PP_SEQ_SPLIT_10
-# define BOOST_PP_SEQ_SPLIT_12(x) (x) BOOST_PP_SEQ_SPLIT_11
-# define BOOST_PP_SEQ_SPLIT_13(x) (x) BOOST_PP_SEQ_SPLIT_12
-# define BOOST_PP_SEQ_SPLIT_14(x) (x) BOOST_PP_SEQ_SPLIT_13
-# define BOOST_PP_SEQ_SPLIT_15(x) (x) BOOST_PP_SEQ_SPLIT_14
-# define BOOST_PP_SEQ_SPLIT_16(x) (x) BOOST_PP_SEQ_SPLIT_15
-# define BOOST_PP_SEQ_SPLIT_17(x) (x) BOOST_PP_SEQ_SPLIT_16
-# define BOOST_PP_SEQ_SPLIT_18(x) (x) BOOST_PP_SEQ_SPLIT_17
-# define BOOST_PP_SEQ_SPLIT_19(x) (x) BOOST_PP_SEQ_SPLIT_18
-# define BOOST_PP_SEQ_SPLIT_20(x) (x) BOOST_PP_SEQ_SPLIT_19
-# define BOOST_PP_SEQ_SPLIT_21(x) (x) BOOST_PP_SEQ_SPLIT_20
-# define BOOST_PP_SEQ_SPLIT_22(x) (x) BOOST_PP_SEQ_SPLIT_21
-# define BOOST_PP_SEQ_SPLIT_23(x) (x) BOOST_PP_SEQ_SPLIT_22
-# define BOOST_PP_SEQ_SPLIT_24(x) (x) BOOST_PP_SEQ_SPLIT_23
-# define BOOST_PP_SEQ_SPLIT_25(x) (x) BOOST_PP_SEQ_SPLIT_24
-# define BOOST_PP_SEQ_SPLIT_26(x) (x) BOOST_PP_SEQ_SPLIT_25
-# define BOOST_PP_SEQ_SPLIT_27(x) (x) BOOST_PP_SEQ_SPLIT_26
-# define BOOST_PP_SEQ_SPLIT_28(x) (x) BOOST_PP_SEQ_SPLIT_27
-# define BOOST_PP_SEQ_SPLIT_29(x) (x) BOOST_PP_SEQ_SPLIT_28
-# define BOOST_PP_SEQ_SPLIT_30(x) (x) BOOST_PP_SEQ_SPLIT_29
-# define BOOST_PP_SEQ_SPLIT_31(x) (x) BOOST_PP_SEQ_SPLIT_30
-# define BOOST_PP_SEQ_SPLIT_32(x) (x) BOOST_PP_SEQ_SPLIT_31
-# define BOOST_PP_SEQ_SPLIT_33(x) (x) BOOST_PP_SEQ_SPLIT_32
-# define BOOST_PP_SEQ_SPLIT_34(x) (x) BOOST_PP_SEQ_SPLIT_33
-# define BOOST_PP_SEQ_SPLIT_35(x) (x) BOOST_PP_SEQ_SPLIT_34
-# define BOOST_PP_SEQ_SPLIT_36(x) (x) BOOST_PP_SEQ_SPLIT_35
-# define BOOST_PP_SEQ_SPLIT_37(x) (x) BOOST_PP_SEQ_SPLIT_36
-# define BOOST_PP_SEQ_SPLIT_38(x) (x) BOOST_PP_SEQ_SPLIT_37
-# define BOOST_PP_SEQ_SPLIT_39(x) (x) BOOST_PP_SEQ_SPLIT_38
-# define BOOST_PP_SEQ_SPLIT_40(x) (x) BOOST_PP_SEQ_SPLIT_39
-# define BOOST_PP_SEQ_SPLIT_41(x) (x) BOOST_PP_SEQ_SPLIT_40
-# define BOOST_PP_SEQ_SPLIT_42(x) (x) BOOST_PP_SEQ_SPLIT_41
-# define BOOST_PP_SEQ_SPLIT_43(x) (x) BOOST_PP_SEQ_SPLIT_42
-# define BOOST_PP_SEQ_SPLIT_44(x) (x) BOOST_PP_SEQ_SPLIT_43
-# define BOOST_PP_SEQ_SPLIT_45(x) (x) BOOST_PP_SEQ_SPLIT_44
-# define BOOST_PP_SEQ_SPLIT_46(x) (x) BOOST_PP_SEQ_SPLIT_45
-# define BOOST_PP_SEQ_SPLIT_47(x) (x) BOOST_PP_SEQ_SPLIT_46
-# define BOOST_PP_SEQ_SPLIT_48(x) (x) BOOST_PP_SEQ_SPLIT_47
-# define BOOST_PP_SEQ_SPLIT_49(x) (x) BOOST_PP_SEQ_SPLIT_48
-# define BOOST_PP_SEQ_SPLIT_50(x) (x) BOOST_PP_SEQ_SPLIT_49
-# define BOOST_PP_SEQ_SPLIT_51(x) (x) BOOST_PP_SEQ_SPLIT_50
-# define BOOST_PP_SEQ_SPLIT_52(x) (x) BOOST_PP_SEQ_SPLIT_51
-# define BOOST_PP_SEQ_SPLIT_53(x) (x) BOOST_PP_SEQ_SPLIT_52
-# define BOOST_PP_SEQ_SPLIT_54(x) (x) BOOST_PP_SEQ_SPLIT_53
-# define BOOST_PP_SEQ_SPLIT_55(x) (x) BOOST_PP_SEQ_SPLIT_54
-# define BOOST_PP_SEQ_SPLIT_56(x) (x) BOOST_PP_SEQ_SPLIT_55
-# define BOOST_PP_SEQ_SPLIT_57(x) (x) BOOST_PP_SEQ_SPLIT_56
-# define BOOST_PP_SEQ_SPLIT_58(x) (x) BOOST_PP_SEQ_SPLIT_57
-# define BOOST_PP_SEQ_SPLIT_59(x) (x) BOOST_PP_SEQ_SPLIT_58
-# define BOOST_PP_SEQ_SPLIT_60(x) (x) BOOST_PP_SEQ_SPLIT_59
-# define BOOST_PP_SEQ_SPLIT_61(x) (x) BOOST_PP_SEQ_SPLIT_60
-# define BOOST_PP_SEQ_SPLIT_62(x) (x) BOOST_PP_SEQ_SPLIT_61
-# define BOOST_PP_SEQ_SPLIT_63(x) (x) BOOST_PP_SEQ_SPLIT_62
-# define BOOST_PP_SEQ_SPLIT_64(x) (x) BOOST_PP_SEQ_SPLIT_63
-# define BOOST_PP_SEQ_SPLIT_65(x) (x) BOOST_PP_SEQ_SPLIT_64
-# define BOOST_PP_SEQ_SPLIT_66(x) (x) BOOST_PP_SEQ_SPLIT_65
-# define BOOST_PP_SEQ_SPLIT_67(x) (x) BOOST_PP_SEQ_SPLIT_66
-# define BOOST_PP_SEQ_SPLIT_68(x) (x) BOOST_PP_SEQ_SPLIT_67
-# define BOOST_PP_SEQ_SPLIT_69(x) (x) BOOST_PP_SEQ_SPLIT_68
-# define BOOST_PP_SEQ_SPLIT_70(x) (x) BOOST_PP_SEQ_SPLIT_69
-# define BOOST_PP_SEQ_SPLIT_71(x) (x) BOOST_PP_SEQ_SPLIT_70
-# define BOOST_PP_SEQ_SPLIT_72(x) (x) BOOST_PP_SEQ_SPLIT_71
-# define BOOST_PP_SEQ_SPLIT_73(x) (x) BOOST_PP_SEQ_SPLIT_72
-# define BOOST_PP_SEQ_SPLIT_74(x) (x) BOOST_PP_SEQ_SPLIT_73
-# define BOOST_PP_SEQ_SPLIT_75(x) (x) BOOST_PP_SEQ_SPLIT_74
-# define BOOST_PP_SEQ_SPLIT_76(x) (x) BOOST_PP_SEQ_SPLIT_75
-# define BOOST_PP_SEQ_SPLIT_77(x) (x) BOOST_PP_SEQ_SPLIT_76
-# define BOOST_PP_SEQ_SPLIT_78(x) (x) BOOST_PP_SEQ_SPLIT_77
-# define BOOST_PP_SEQ_SPLIT_79(x) (x) BOOST_PP_SEQ_SPLIT_78
-# define BOOST_PP_SEQ_SPLIT_80(x) (x) BOOST_PP_SEQ_SPLIT_79
-# define BOOST_PP_SEQ_SPLIT_81(x) (x) BOOST_PP_SEQ_SPLIT_80
-# define BOOST_PP_SEQ_SPLIT_82(x) (x) BOOST_PP_SEQ_SPLIT_81
-# define BOOST_PP_SEQ_SPLIT_83(x) (x) BOOST_PP_SEQ_SPLIT_82
-# define BOOST_PP_SEQ_SPLIT_84(x) (x) BOOST_PP_SEQ_SPLIT_83
-# define BOOST_PP_SEQ_SPLIT_85(x) (x) BOOST_PP_SEQ_SPLIT_84
-# define BOOST_PP_SEQ_SPLIT_86(x) (x) BOOST_PP_SEQ_SPLIT_85
-# define BOOST_PP_SEQ_SPLIT_87(x) (x) BOOST_PP_SEQ_SPLIT_86
-# define BOOST_PP_SEQ_SPLIT_88(x) (x) BOOST_PP_SEQ_SPLIT_87
-# define BOOST_PP_SEQ_SPLIT_89(x) (x) BOOST_PP_SEQ_SPLIT_88
-# define BOOST_PP_SEQ_SPLIT_90(x) (x) BOOST_PP_SEQ_SPLIT_89
-# define BOOST_PP_SEQ_SPLIT_91(x) (x) BOOST_PP_SEQ_SPLIT_90
-# define BOOST_PP_SEQ_SPLIT_92(x) (x) BOOST_PP_SEQ_SPLIT_91
-# define BOOST_PP_SEQ_SPLIT_93(x) (x) BOOST_PP_SEQ_SPLIT_92
-# define BOOST_PP_SEQ_SPLIT_94(x) (x) BOOST_PP_SEQ_SPLIT_93
-# define BOOST_PP_SEQ_SPLIT_95(x) (x) BOOST_PP_SEQ_SPLIT_94
-# define BOOST_PP_SEQ_SPLIT_96(x) (x) BOOST_PP_SEQ_SPLIT_95
-# define BOOST_PP_SEQ_SPLIT_97(x) (x) BOOST_PP_SEQ_SPLIT_96
-# define BOOST_PP_SEQ_SPLIT_98(x) (x) BOOST_PP_SEQ_SPLIT_97
-# define BOOST_PP_SEQ_SPLIT_99(x) (x) BOOST_PP_SEQ_SPLIT_98
-# define BOOST_PP_SEQ_SPLIT_100(x) (x) BOOST_PP_SEQ_SPLIT_99
-# define BOOST_PP_SEQ_SPLIT_101(x) (x) BOOST_PP_SEQ_SPLIT_100
-# define BOOST_PP_SEQ_SPLIT_102(x) (x) BOOST_PP_SEQ_SPLIT_101
-# define BOOST_PP_SEQ_SPLIT_103(x) (x) BOOST_PP_SEQ_SPLIT_102
-# define BOOST_PP_SEQ_SPLIT_104(x) (x) BOOST_PP_SEQ_SPLIT_103
-# define BOOST_PP_SEQ_SPLIT_105(x) (x) BOOST_PP_SEQ_SPLIT_104
-# define BOOST_PP_SEQ_SPLIT_106(x) (x) BOOST_PP_SEQ_SPLIT_105
-# define BOOST_PP_SEQ_SPLIT_107(x) (x) BOOST_PP_SEQ_SPLIT_106
-# define BOOST_PP_SEQ_SPLIT_108(x) (x) BOOST_PP_SEQ_SPLIT_107
-# define BOOST_PP_SEQ_SPLIT_109(x) (x) BOOST_PP_SEQ_SPLIT_108
-# define BOOST_PP_SEQ_SPLIT_110(x) (x) BOOST_PP_SEQ_SPLIT_109
-# define BOOST_PP_SEQ_SPLIT_111(x) (x) BOOST_PP_SEQ_SPLIT_110
-# define BOOST_PP_SEQ_SPLIT_112(x) (x) BOOST_PP_SEQ_SPLIT_111
-# define BOOST_PP_SEQ_SPLIT_113(x) (x) BOOST_PP_SEQ_SPLIT_112
-# define BOOST_PP_SEQ_SPLIT_114(x) (x) BOOST_PP_SEQ_SPLIT_113
-# define BOOST_PP_SEQ_SPLIT_115(x) (x) BOOST_PP_SEQ_SPLIT_114
-# define BOOST_PP_SEQ_SPLIT_116(x) (x) BOOST_PP_SEQ_SPLIT_115
-# define BOOST_PP_SEQ_SPLIT_117(x) (x) BOOST_PP_SEQ_SPLIT_116
-# define BOOST_PP_SEQ_SPLIT_118(x) (x) BOOST_PP_SEQ_SPLIT_117
-# define BOOST_PP_SEQ_SPLIT_119(x) (x) BOOST_PP_SEQ_SPLIT_118
-# define BOOST_PP_SEQ_SPLIT_120(x) (x) BOOST_PP_SEQ_SPLIT_119
-# define BOOST_PP_SEQ_SPLIT_121(x) (x) BOOST_PP_SEQ_SPLIT_120
-# define BOOST_PP_SEQ_SPLIT_122(x) (x) BOOST_PP_SEQ_SPLIT_121
-# define BOOST_PP_SEQ_SPLIT_123(x) (x) BOOST_PP_SEQ_SPLIT_122
-# define BOOST_PP_SEQ_SPLIT_124(x) (x) BOOST_PP_SEQ_SPLIT_123
-# define BOOST_PP_SEQ_SPLIT_125(x) (x) BOOST_PP_SEQ_SPLIT_124
-# define BOOST_PP_SEQ_SPLIT_126(x) (x) BOOST_PP_SEQ_SPLIT_125
-# define BOOST_PP_SEQ_SPLIT_127(x) (x) BOOST_PP_SEQ_SPLIT_126
-# define BOOST_PP_SEQ_SPLIT_128(x) (x) BOOST_PP_SEQ_SPLIT_127
-# define BOOST_PP_SEQ_SPLIT_129(x) (x) BOOST_PP_SEQ_SPLIT_128
-# define BOOST_PP_SEQ_SPLIT_130(x) (x) BOOST_PP_SEQ_SPLIT_129
-# define BOOST_PP_SEQ_SPLIT_131(x) (x) BOOST_PP_SEQ_SPLIT_130
-# define BOOST_PP_SEQ_SPLIT_132(x) (x) BOOST_PP_SEQ_SPLIT_131
-# define BOOST_PP_SEQ_SPLIT_133(x) (x) BOOST_PP_SEQ_SPLIT_132
-# define BOOST_PP_SEQ_SPLIT_134(x) (x) BOOST_PP_SEQ_SPLIT_133
-# define BOOST_PP_SEQ_SPLIT_135(x) (x) BOOST_PP_SEQ_SPLIT_134
-# define BOOST_PP_SEQ_SPLIT_136(x) (x) BOOST_PP_SEQ_SPLIT_135
-# define BOOST_PP_SEQ_SPLIT_137(x) (x) BOOST_PP_SEQ_SPLIT_136
-# define BOOST_PP_SEQ_SPLIT_138(x) (x) BOOST_PP_SEQ_SPLIT_137
-# define BOOST_PP_SEQ_SPLIT_139(x) (x) BOOST_PP_SEQ_SPLIT_138
-# define BOOST_PP_SEQ_SPLIT_140(x) (x) BOOST_PP_SEQ_SPLIT_139
-# define BOOST_PP_SEQ_SPLIT_141(x) (x) BOOST_PP_SEQ_SPLIT_140
-# define BOOST_PP_SEQ_SPLIT_142(x) (x) BOOST_PP_SEQ_SPLIT_141
-# define BOOST_PP_SEQ_SPLIT_143(x) (x) BOOST_PP_SEQ_SPLIT_142
-# define BOOST_PP_SEQ_SPLIT_144(x) (x) BOOST_PP_SEQ_SPLIT_143
-# define BOOST_PP_SEQ_SPLIT_145(x) (x) BOOST_PP_SEQ_SPLIT_144
-# define BOOST_PP_SEQ_SPLIT_146(x) (x) BOOST_PP_SEQ_SPLIT_145
-# define BOOST_PP_SEQ_SPLIT_147(x) (x) BOOST_PP_SEQ_SPLIT_146
-# define BOOST_PP_SEQ_SPLIT_148(x) (x) BOOST_PP_SEQ_SPLIT_147
-# define BOOST_PP_SEQ_SPLIT_149(x) (x) BOOST_PP_SEQ_SPLIT_148
-# define BOOST_PP_SEQ_SPLIT_150(x) (x) BOOST_PP_SEQ_SPLIT_149
-# define BOOST_PP_SEQ_SPLIT_151(x) (x) BOOST_PP_SEQ_SPLIT_150
-# define BOOST_PP_SEQ_SPLIT_152(x) (x) BOOST_PP_SEQ_SPLIT_151
-# define BOOST_PP_SEQ_SPLIT_153(x) (x) BOOST_PP_SEQ_SPLIT_152
-# define BOOST_PP_SEQ_SPLIT_154(x) (x) BOOST_PP_SEQ_SPLIT_153
-# define BOOST_PP_SEQ_SPLIT_155(x) (x) BOOST_PP_SEQ_SPLIT_154
-# define BOOST_PP_SEQ_SPLIT_156(x) (x) BOOST_PP_SEQ_SPLIT_155
-# define BOOST_PP_SEQ_SPLIT_157(x) (x) BOOST_PP_SEQ_SPLIT_156
-# define BOOST_PP_SEQ_SPLIT_158(x) (x) BOOST_PP_SEQ_SPLIT_157
-# define BOOST_PP_SEQ_SPLIT_159(x) (x) BOOST_PP_SEQ_SPLIT_158
-# define BOOST_PP_SEQ_SPLIT_160(x) (x) BOOST_PP_SEQ_SPLIT_159
-# define BOOST_PP_SEQ_SPLIT_161(x) (x) BOOST_PP_SEQ_SPLIT_160
-# define BOOST_PP_SEQ_SPLIT_162(x) (x) BOOST_PP_SEQ_SPLIT_161
-# define BOOST_PP_SEQ_SPLIT_163(x) (x) BOOST_PP_SEQ_SPLIT_162
-# define BOOST_PP_SEQ_SPLIT_164(x) (x) BOOST_PP_SEQ_SPLIT_163
-# define BOOST_PP_SEQ_SPLIT_165(x) (x) BOOST_PP_SEQ_SPLIT_164
-# define BOOST_PP_SEQ_SPLIT_166(x) (x) BOOST_PP_SEQ_SPLIT_165
-# define BOOST_PP_SEQ_SPLIT_167(x) (x) BOOST_PP_SEQ_SPLIT_166
-# define BOOST_PP_SEQ_SPLIT_168(x) (x) BOOST_PP_SEQ_SPLIT_167
-# define BOOST_PP_SEQ_SPLIT_169(x) (x) BOOST_PP_SEQ_SPLIT_168
-# define BOOST_PP_SEQ_SPLIT_170(x) (x) BOOST_PP_SEQ_SPLIT_169
-# define BOOST_PP_SEQ_SPLIT_171(x) (x) BOOST_PP_SEQ_SPLIT_170
-# define BOOST_PP_SEQ_SPLIT_172(x) (x) BOOST_PP_SEQ_SPLIT_171
-# define BOOST_PP_SEQ_SPLIT_173(x) (x) BOOST_PP_SEQ_SPLIT_172
-# define BOOST_PP_SEQ_SPLIT_174(x) (x) BOOST_PP_SEQ_SPLIT_173
-# define BOOST_PP_SEQ_SPLIT_175(x) (x) BOOST_PP_SEQ_SPLIT_174
-# define BOOST_PP_SEQ_SPLIT_176(x) (x) BOOST_PP_SEQ_SPLIT_175
-# define BOOST_PP_SEQ_SPLIT_177(x) (x) BOOST_PP_SEQ_SPLIT_176
-# define BOOST_PP_SEQ_SPLIT_178(x) (x) BOOST_PP_SEQ_SPLIT_177
-# define BOOST_PP_SEQ_SPLIT_179(x) (x) BOOST_PP_SEQ_SPLIT_178
-# define BOOST_PP_SEQ_SPLIT_180(x) (x) BOOST_PP_SEQ_SPLIT_179
-# define BOOST_PP_SEQ_SPLIT_181(x) (x) BOOST_PP_SEQ_SPLIT_180
-# define BOOST_PP_SEQ_SPLIT_182(x) (x) BOOST_PP_SEQ_SPLIT_181
-# define BOOST_PP_SEQ_SPLIT_183(x) (x) BOOST_PP_SEQ_SPLIT_182
-# define BOOST_PP_SEQ_SPLIT_184(x) (x) BOOST_PP_SEQ_SPLIT_183
-# define BOOST_PP_SEQ_SPLIT_185(x) (x) BOOST_PP_SEQ_SPLIT_184
-# define BOOST_PP_SEQ_SPLIT_186(x) (x) BOOST_PP_SEQ_SPLIT_185
-# define BOOST_PP_SEQ_SPLIT_187(x) (x) BOOST_PP_SEQ_SPLIT_186
-# define BOOST_PP_SEQ_SPLIT_188(x) (x) BOOST_PP_SEQ_SPLIT_187
-# define BOOST_PP_SEQ_SPLIT_189(x) (x) BOOST_PP_SEQ_SPLIT_188
-# define BOOST_PP_SEQ_SPLIT_190(x) (x) BOOST_PP_SEQ_SPLIT_189
-# define BOOST_PP_SEQ_SPLIT_191(x) (x) BOOST_PP_SEQ_SPLIT_190
-# define BOOST_PP_SEQ_SPLIT_192(x) (x) BOOST_PP_SEQ_SPLIT_191
-# define BOOST_PP_SEQ_SPLIT_193(x) (x) BOOST_PP_SEQ_SPLIT_192
-# define BOOST_PP_SEQ_SPLIT_194(x) (x) BOOST_PP_SEQ_SPLIT_193
-# define BOOST_PP_SEQ_SPLIT_195(x) (x) BOOST_PP_SEQ_SPLIT_194
-# define BOOST_PP_SEQ_SPLIT_196(x) (x) BOOST_PP_SEQ_SPLIT_195
-# define BOOST_PP_SEQ_SPLIT_197(x) (x) BOOST_PP_SEQ_SPLIT_196
-# define BOOST_PP_SEQ_SPLIT_198(x) (x) BOOST_PP_SEQ_SPLIT_197
-# define BOOST_PP_SEQ_SPLIT_199(x) (x) BOOST_PP_SEQ_SPLIT_198
-# define BOOST_PP_SEQ_SPLIT_200(x) (x) BOOST_PP_SEQ_SPLIT_199
-# define BOOST_PP_SEQ_SPLIT_201(x) (x) BOOST_PP_SEQ_SPLIT_200
-# define BOOST_PP_SEQ_SPLIT_202(x) (x) BOOST_PP_SEQ_SPLIT_201
-# define BOOST_PP_SEQ_SPLIT_203(x) (x) BOOST_PP_SEQ_SPLIT_202
-# define BOOST_PP_SEQ_SPLIT_204(x) (x) BOOST_PP_SEQ_SPLIT_203
-# define BOOST_PP_SEQ_SPLIT_205(x) (x) BOOST_PP_SEQ_SPLIT_204
-# define BOOST_PP_SEQ_SPLIT_206(x) (x) BOOST_PP_SEQ_SPLIT_205
-# define BOOST_PP_SEQ_SPLIT_207(x) (x) BOOST_PP_SEQ_SPLIT_206
-# define BOOST_PP_SEQ_SPLIT_208(x) (x) BOOST_PP_SEQ_SPLIT_207
-# define BOOST_PP_SEQ_SPLIT_209(x) (x) BOOST_PP_SEQ_SPLIT_208
-# define BOOST_PP_SEQ_SPLIT_210(x) (x) BOOST_PP_SEQ_SPLIT_209
-# define BOOST_PP_SEQ_SPLIT_211(x) (x) BOOST_PP_SEQ_SPLIT_210
-# define BOOST_PP_SEQ_SPLIT_212(x) (x) BOOST_PP_SEQ_SPLIT_211
-# define BOOST_PP_SEQ_SPLIT_213(x) (x) BOOST_PP_SEQ_SPLIT_212
-# define BOOST_PP_SEQ_SPLIT_214(x) (x) BOOST_PP_SEQ_SPLIT_213
-# define BOOST_PP_SEQ_SPLIT_215(x) (x) BOOST_PP_SEQ_SPLIT_214
-# define BOOST_PP_SEQ_SPLIT_216(x) (x) BOOST_PP_SEQ_SPLIT_215
-# define BOOST_PP_SEQ_SPLIT_217(x) (x) BOOST_PP_SEQ_SPLIT_216
-# define BOOST_PP_SEQ_SPLIT_218(x) (x) BOOST_PP_SEQ_SPLIT_217
-# define BOOST_PP_SEQ_SPLIT_219(x) (x) BOOST_PP_SEQ_SPLIT_218
-# define BOOST_PP_SEQ_SPLIT_220(x) (x) BOOST_PP_SEQ_SPLIT_219
-# define BOOST_PP_SEQ_SPLIT_221(x) (x) BOOST_PP_SEQ_SPLIT_220
-# define BOOST_PP_SEQ_SPLIT_222(x) (x) BOOST_PP_SEQ_SPLIT_221
-# define BOOST_PP_SEQ_SPLIT_223(x) (x) BOOST_PP_SEQ_SPLIT_222
-# define BOOST_PP_SEQ_SPLIT_224(x) (x) BOOST_PP_SEQ_SPLIT_223
-# define BOOST_PP_SEQ_SPLIT_225(x) (x) BOOST_PP_SEQ_SPLIT_224
-# define BOOST_PP_SEQ_SPLIT_226(x) (x) BOOST_PP_SEQ_SPLIT_225
-# define BOOST_PP_SEQ_SPLIT_227(x) (x) BOOST_PP_SEQ_SPLIT_226
-# define BOOST_PP_SEQ_SPLIT_228(x) (x) BOOST_PP_SEQ_SPLIT_227
-# define BOOST_PP_SEQ_SPLIT_229(x) (x) BOOST_PP_SEQ_SPLIT_228
-# define BOOST_PP_SEQ_SPLIT_230(x) (x) BOOST_PP_SEQ_SPLIT_229
-# define BOOST_PP_SEQ_SPLIT_231(x) (x) BOOST_PP_SEQ_SPLIT_230
-# define BOOST_PP_SEQ_SPLIT_232(x) (x) BOOST_PP_SEQ_SPLIT_231
-# define BOOST_PP_SEQ_SPLIT_233(x) (x) BOOST_PP_SEQ_SPLIT_232
-# define BOOST_PP_SEQ_SPLIT_234(x) (x) BOOST_PP_SEQ_SPLIT_233
-# define BOOST_PP_SEQ_SPLIT_235(x) (x) BOOST_PP_SEQ_SPLIT_234
-# define BOOST_PP_SEQ_SPLIT_236(x) (x) BOOST_PP_SEQ_SPLIT_235
-# define BOOST_PP_SEQ_SPLIT_237(x) (x) BOOST_PP_SEQ_SPLIT_236
-# define BOOST_PP_SEQ_SPLIT_238(x) (x) BOOST_PP_SEQ_SPLIT_237
-# define BOOST_PP_SEQ_SPLIT_239(x) (x) BOOST_PP_SEQ_SPLIT_238
-# define BOOST_PP_SEQ_SPLIT_240(x) (x) BOOST_PP_SEQ_SPLIT_239
-# define BOOST_PP_SEQ_SPLIT_241(x) (x) BOOST_PP_SEQ_SPLIT_240
-# define BOOST_PP_SEQ_SPLIT_242(x) (x) BOOST_PP_SEQ_SPLIT_241
-# define BOOST_PP_SEQ_SPLIT_243(x) (x) BOOST_PP_SEQ_SPLIT_242
-# define BOOST_PP_SEQ_SPLIT_244(x) (x) BOOST_PP_SEQ_SPLIT_243
-# define BOOST_PP_SEQ_SPLIT_245(x) (x) BOOST_PP_SEQ_SPLIT_244
-# define BOOST_PP_SEQ_SPLIT_246(x) (x) BOOST_PP_SEQ_SPLIT_245
-# define BOOST_PP_SEQ_SPLIT_247(x) (x) BOOST_PP_SEQ_SPLIT_246
-# define BOOST_PP_SEQ_SPLIT_248(x) (x) BOOST_PP_SEQ_SPLIT_247
-# define BOOST_PP_SEQ_SPLIT_249(x) (x) BOOST_PP_SEQ_SPLIT_248
-# define BOOST_PP_SEQ_SPLIT_250(x) (x) BOOST_PP_SEQ_SPLIT_249
-# define BOOST_PP_SEQ_SPLIT_251(x) (x) BOOST_PP_SEQ_SPLIT_250
-# define BOOST_PP_SEQ_SPLIT_252(x) (x) BOOST_PP_SEQ_SPLIT_251
-# define BOOST_PP_SEQ_SPLIT_253(x) (x) BOOST_PP_SEQ_SPLIT_252
-# define BOOST_PP_SEQ_SPLIT_254(x) (x) BOOST_PP_SEQ_SPLIT_253
-# define BOOST_PP_SEQ_SPLIT_255(x) (x) BOOST_PP_SEQ_SPLIT_254
-# define BOOST_PP_SEQ_SPLIT_256(x) (x) BOOST_PP_SEQ_SPLIT_255
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/elem.hpp b/SRC/Boost/boost/preprocessor/seq/elem.hpp
deleted file mode 100755
index 16c2255..0000000
--- a/SRC/Boost/boost/preprocessor/seq/elem.hpp
+++ /dev/null
@@ -1,304 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_ELEM_HPP
-# define BOOST_PREPROCESSOR_SEQ_ELEM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/empty.hpp>
-#
-# /* BOOST_PP_SEQ_ELEM */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_ELEM(i, seq) BOOST_PP_SEQ_ELEM_I(i, seq)
-# else
-#    define BOOST_PP_SEQ_ELEM(i, seq) BOOST_PP_SEQ_ELEM_I((i, seq))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II((BOOST_PP_SEQ_ELEM_ ## i seq))
-#    define BOOST_PP_SEQ_ELEM_II(res) BOOST_PP_SEQ_ELEM_IV(BOOST_PP_SEQ_ELEM_III res)
-#    define BOOST_PP_SEQ_ELEM_III(x, _) x BOOST_PP_EMPTY()
-#    define BOOST_PP_SEQ_ELEM_IV(x) x
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_ELEM_I(par) BOOST_PP_SEQ_ELEM_II ## par
-#    define BOOST_PP_SEQ_ELEM_II(i, seq) BOOST_PP_SEQ_ELEM_III(BOOST_PP_SEQ_ELEM_ ## i ## seq)
-#    define BOOST_PP_SEQ_ELEM_III(im) BOOST_PP_SEQ_ELEM_IV(im)
-#    define BOOST_PP_SEQ_ELEM_IV(x, _) x
-# else
-#    if defined(__IBMC__) || defined(__IBMCPP__)
-#        define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_CAT(BOOST_PP_SEQ_ELEM_ ## i, seq))
-#    else
-#        define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_SEQ_ELEM_ ## i seq)
-#    endif
-#    define BOOST_PP_SEQ_ELEM_II(im) BOOST_PP_SEQ_ELEM_III(im)
-#    define BOOST_PP_SEQ_ELEM_III(x, _) x
-# endif
-#
-# define BOOST_PP_SEQ_ELEM_0(x) x, BOOST_PP_NIL
-# define BOOST_PP_SEQ_ELEM_1(_) BOOST_PP_SEQ_ELEM_0
-# define BOOST_PP_SEQ_ELEM_2(_) BOOST_PP_SEQ_ELEM_1
-# define BOOST_PP_SEQ_ELEM_3(_) BOOST_PP_SEQ_ELEM_2
-# define BOOST_PP_SEQ_ELEM_4(_) BOOST_PP_SEQ_ELEM_3
-# define BOOST_PP_SEQ_ELEM_5(_) BOOST_PP_SEQ_ELEM_4
-# define BOOST_PP_SEQ_ELEM_6(_) BOOST_PP_SEQ_ELEM_5
-# define BOOST_PP_SEQ_ELEM_7(_) BOOST_PP_SEQ_ELEM_6
-# define BOOST_PP_SEQ_ELEM_8(_) BOOST_PP_SEQ_ELEM_7
-# define BOOST_PP_SEQ_ELEM_9(_) BOOST_PP_SEQ_ELEM_8
-# define BOOST_PP_SEQ_ELEM_10(_) BOOST_PP_SEQ_ELEM_9
-# define BOOST_PP_SEQ_ELEM_11(_) BOOST_PP_SEQ_ELEM_10
-# define BOOST_PP_SEQ_ELEM_12(_) BOOST_PP_SEQ_ELEM_11
-# define BOOST_PP_SEQ_ELEM_13(_) BOOST_PP_SEQ_ELEM_12
-# define BOOST_PP_SEQ_ELEM_14(_) BOOST_PP_SEQ_ELEM_13
-# define BOOST_PP_SEQ_ELEM_15(_) BOOST_PP_SEQ_ELEM_14
-# define BOOST_PP_SEQ_ELEM_16(_) BOOST_PP_SEQ_ELEM_15
-# define BOOST_PP_SEQ_ELEM_17(_) BOOST_PP_SEQ_ELEM_16
-# define BOOST_PP_SEQ_ELEM_18(_) BOOST_PP_SEQ_ELEM_17
-# define BOOST_PP_SEQ_ELEM_19(_) BOOST_PP_SEQ_ELEM_18
-# define BOOST_PP_SEQ_ELEM_20(_) BOOST_PP_SEQ_ELEM_19
-# define BOOST_PP_SEQ_ELEM_21(_) BOOST_PP_SEQ_ELEM_20
-# define BOOST_PP_SEQ_ELEM_22(_) BOOST_PP_SEQ_ELEM_21
-# define BOOST_PP_SEQ_ELEM_23(_) BOOST_PP_SEQ_ELEM_22
-# define BOOST_PP_SEQ_ELEM_24(_) BOOST_PP_SEQ_ELEM_23
-# define BOOST_PP_SEQ_ELEM_25(_) BOOST_PP_SEQ_ELEM_24
-# define BOOST_PP_SEQ_ELEM_26(_) BOOST_PP_SEQ_ELEM_25
-# define BOOST_PP_SEQ_ELEM_27(_) BOOST_PP_SEQ_ELEM_26
-# define BOOST_PP_SEQ_ELEM_28(_) BOOST_PP_SEQ_ELEM_27
-# define BOOST_PP_SEQ_ELEM_29(_) BOOST_PP_SEQ_ELEM_28
-# define BOOST_PP_SEQ_ELEM_30(_) BOOST_PP_SEQ_ELEM_29
-# define BOOST_PP_SEQ_ELEM_31(_) BOOST_PP_SEQ_ELEM_30
-# define BOOST_PP_SEQ_ELEM_32(_) BOOST_PP_SEQ_ELEM_31
-# define BOOST_PP_SEQ_ELEM_33(_) BOOST_PP_SEQ_ELEM_32
-# define BOOST_PP_SEQ_ELEM_34(_) BOOST_PP_SEQ_ELEM_33
-# define BOOST_PP_SEQ_ELEM_35(_) BOOST_PP_SEQ_ELEM_34
-# define BOOST_PP_SEQ_ELEM_36(_) BOOST_PP_SEQ_ELEM_35
-# define BOOST_PP_SEQ_ELEM_37(_) BOOST_PP_SEQ_ELEM_36
-# define BOOST_PP_SEQ_ELEM_38(_) BOOST_PP_SEQ_ELEM_37
-# define BOOST_PP_SEQ_ELEM_39(_) BOOST_PP_SEQ_ELEM_38
-# define BOOST_PP_SEQ_ELEM_40(_) BOOST_PP_SEQ_ELEM_39
-# define BOOST_PP_SEQ_ELEM_41(_) BOOST_PP_SEQ_ELEM_40
-# define BOOST_PP_SEQ_ELEM_42(_) BOOST_PP_SEQ_ELEM_41
-# define BOOST_PP_SEQ_ELEM_43(_) BOOST_PP_SEQ_ELEM_42
-# define BOOST_PP_SEQ_ELEM_44(_) BOOST_PP_SEQ_ELEM_43
-# define BOOST_PP_SEQ_ELEM_45(_) BOOST_PP_SEQ_ELEM_44
-# define BOOST_PP_SEQ_ELEM_46(_) BOOST_PP_SEQ_ELEM_45
-# define BOOST_PP_SEQ_ELEM_47(_) BOOST_PP_SEQ_ELEM_46
-# define BOOST_PP_SEQ_ELEM_48(_) BOOST_PP_SEQ_ELEM_47
-# define BOOST_PP_SEQ_ELEM_49(_) BOOST_PP_SEQ_ELEM_48
-# define BOOST_PP_SEQ_ELEM_50(_) BOOST_PP_SEQ_ELEM_49
-# define BOOST_PP_SEQ_ELEM_51(_) BOOST_PP_SEQ_ELEM_50
-# define BOOST_PP_SEQ_ELEM_52(_) BOOST_PP_SEQ_ELEM_51
-# define BOOST_PP_SEQ_ELEM_53(_) BOOST_PP_SEQ_ELEM_52
-# define BOOST_PP_SEQ_ELEM_54(_) BOOST_PP_SEQ_ELEM_53
-# define BOOST_PP_SEQ_ELEM_55(_) BOOST_PP_SEQ_ELEM_54
-# define BOOST_PP_SEQ_ELEM_56(_) BOOST_PP_SEQ_ELEM_55
-# define BOOST_PP_SEQ_ELEM_57(_) BOOST_PP_SEQ_ELEM_56
-# define BOOST_PP_SEQ_ELEM_58(_) BOOST_PP_SEQ_ELEM_57
-# define BOOST_PP_SEQ_ELEM_59(_) BOOST_PP_SEQ_ELEM_58
-# define BOOST_PP_SEQ_ELEM_60(_) BOOST_PP_SEQ_ELEM_59
-# define BOOST_PP_SEQ_ELEM_61(_) BOOST_PP_SEQ_ELEM_60
-# define BOOST_PP_SEQ_ELEM_62(_) BOOST_PP_SEQ_ELEM_61
-# define BOOST_PP_SEQ_ELEM_63(_) BOOST_PP_SEQ_ELEM_62
-# define BOOST_PP_SEQ_ELEM_64(_) BOOST_PP_SEQ_ELEM_63
-# define BOOST_PP_SEQ_ELEM_65(_) BOOST_PP_SEQ_ELEM_64
-# define BOOST_PP_SEQ_ELEM_66(_) BOOST_PP_SEQ_ELEM_65
-# define BOOST_PP_SEQ_ELEM_67(_) BOOST_PP_SEQ_ELEM_66
-# define BOOST_PP_SEQ_ELEM_68(_) BOOST_PP_SEQ_ELEM_67
-# define BOOST_PP_SEQ_ELEM_69(_) BOOST_PP_SEQ_ELEM_68
-# define BOOST_PP_SEQ_ELEM_70(_) BOOST_PP_SEQ_ELEM_69
-# define BOOST_PP_SEQ_ELEM_71(_) BOOST_PP_SEQ_ELEM_70
-# define BOOST_PP_SEQ_ELEM_72(_) BOOST_PP_SEQ_ELEM_71
-# define BOOST_PP_SEQ_ELEM_73(_) BOOST_PP_SEQ_ELEM_72
-# define BOOST_PP_SEQ_ELEM_74(_) BOOST_PP_SEQ_ELEM_73
-# define BOOST_PP_SEQ_ELEM_75(_) BOOST_PP_SEQ_ELEM_74
-# define BOOST_PP_SEQ_ELEM_76(_) BOOST_PP_SEQ_ELEM_75
-# define BOOST_PP_SEQ_ELEM_77(_) BOOST_PP_SEQ_ELEM_76
-# define BOOST_PP_SEQ_ELEM_78(_) BOOST_PP_SEQ_ELEM_77
-# define BOOST_PP_SEQ_ELEM_79(_) BOOST_PP_SEQ_ELEM_78
-# define BOOST_PP_SEQ_ELEM_80(_) BOOST_PP_SEQ_ELEM_79
-# define BOOST_PP_SEQ_ELEM_81(_) BOOST_PP_SEQ_ELEM_80
-# define BOOST_PP_SEQ_ELEM_82(_) BOOST_PP_SEQ_ELEM_81
-# define BOOST_PP_SEQ_ELEM_83(_) BOOST_PP_SEQ_ELEM_82
-# define BOOST_PP_SEQ_ELEM_84(_) BOOST_PP_SEQ_ELEM_83
-# define BOOST_PP_SEQ_ELEM_85(_) BOOST_PP_SEQ_ELEM_84
-# define BOOST_PP_SEQ_ELEM_86(_) BOOST_PP_SEQ_ELEM_85
-# define BOOST_PP_SEQ_ELEM_87(_) BOOST_PP_SEQ_ELEM_86
-# define BOOST_PP_SEQ_ELEM_88(_) BOOST_PP_SEQ_ELEM_87
-# define BOOST_PP_SEQ_ELEM_89(_) BOOST_PP_SEQ_ELEM_88
-# define BOOST_PP_SEQ_ELEM_90(_) BOOST_PP_SEQ_ELEM_89
-# define BOOST_PP_SEQ_ELEM_91(_) BOOST_PP_SEQ_ELEM_90
-# define BOOST_PP_SEQ_ELEM_92(_) BOOST_PP_SEQ_ELEM_91
-# define BOOST_PP_SEQ_ELEM_93(_) BOOST_PP_SEQ_ELEM_92
-# define BOOST_PP_SEQ_ELEM_94(_) BOOST_PP_SEQ_ELEM_93
-# define BOOST_PP_SEQ_ELEM_95(_) BOOST_PP_SEQ_ELEM_94
-# define BOOST_PP_SEQ_ELEM_96(_) BOOST_PP_SEQ_ELEM_95
-# define BOOST_PP_SEQ_ELEM_97(_) BOOST_PP_SEQ_ELEM_96
-# define BOOST_PP_SEQ_ELEM_98(_) BOOST_PP_SEQ_ELEM_97
-# define BOOST_PP_SEQ_ELEM_99(_) BOOST_PP_SEQ_ELEM_98
-# define BOOST_PP_SEQ_ELEM_100(_) BOOST_PP_SEQ_ELEM_99
-# define BOOST_PP_SEQ_ELEM_101(_) BOOST_PP_SEQ_ELEM_100
-# define BOOST_PP_SEQ_ELEM_102(_) BOOST_PP_SEQ_ELEM_101
-# define BOOST_PP_SEQ_ELEM_103(_) BOOST_PP_SEQ_ELEM_102
-# define BOOST_PP_SEQ_ELEM_104(_) BOOST_PP_SEQ_ELEM_103
-# define BOOST_PP_SEQ_ELEM_105(_) BOOST_PP_SEQ_ELEM_104
-# define BOOST_PP_SEQ_ELEM_106(_) BOOST_PP_SEQ_ELEM_105
-# define BOOST_PP_SEQ_ELEM_107(_) BOOST_PP_SEQ_ELEM_106
-# define BOOST_PP_SEQ_ELEM_108(_) BOOST_PP_SEQ_ELEM_107
-# define BOOST_PP_SEQ_ELEM_109(_) BOOST_PP_SEQ_ELEM_108
-# define BOOST_PP_SEQ_ELEM_110(_) BOOST_PP_SEQ_ELEM_109
-# define BOOST_PP_SEQ_ELEM_111(_) BOOST_PP_SEQ_ELEM_110
-# define BOOST_PP_SEQ_ELEM_112(_) BOOST_PP_SEQ_ELEM_111
-# define BOOST_PP_SEQ_ELEM_113(_) BOOST_PP_SEQ_ELEM_112
-# define BOOST_PP_SEQ_ELEM_114(_) BOOST_PP_SEQ_ELEM_113
-# define BOOST_PP_SEQ_ELEM_115(_) BOOST_PP_SEQ_ELEM_114
-# define BOOST_PP_SEQ_ELEM_116(_) BOOST_PP_SEQ_ELEM_115
-# define BOOST_PP_SEQ_ELEM_117(_) BOOST_PP_SEQ_ELEM_116
-# define BOOST_PP_SEQ_ELEM_118(_) BOOST_PP_SEQ_ELEM_117
-# define BOOST_PP_SEQ_ELEM_119(_) BOOST_PP_SEQ_ELEM_118
-# define BOOST_PP_SEQ_ELEM_120(_) BOOST_PP_SEQ_ELEM_119
-# define BOOST_PP_SEQ_ELEM_121(_) BOOST_PP_SEQ_ELEM_120
-# define BOOST_PP_SEQ_ELEM_122(_) BOOST_PP_SEQ_ELEM_121
-# define BOOST_PP_SEQ_ELEM_123(_) BOOST_PP_SEQ_ELEM_122
-# define BOOST_PP_SEQ_ELEM_124(_) BOOST_PP_SEQ_ELEM_123
-# define BOOST_PP_SEQ_ELEM_125(_) BOOST_PP_SEQ_ELEM_124
-# define BOOST_PP_SEQ_ELEM_126(_) BOOST_PP_SEQ_ELEM_125
-# define BOOST_PP_SEQ_ELEM_127(_) BOOST_PP_SEQ_ELEM_126
-# define BOOST_PP_SEQ_ELEM_128(_) BOOST_PP_SEQ_ELEM_127
-# define BOOST_PP_SEQ_ELEM_129(_) BOOST_PP_SEQ_ELEM_128
-# define BOOST_PP_SEQ_ELEM_130(_) BOOST_PP_SEQ_ELEM_129
-# define BOOST_PP_SEQ_ELEM_131(_) BOOST_PP_SEQ_ELEM_130
-# define BOOST_PP_SEQ_ELEM_132(_) BOOST_PP_SEQ_ELEM_131
-# define BOOST_PP_SEQ_ELEM_133(_) BOOST_PP_SEQ_ELEM_132
-# define BOOST_PP_SEQ_ELEM_134(_) BOOST_PP_SEQ_ELEM_133
-# define BOOST_PP_SEQ_ELEM_135(_) BOOST_PP_SEQ_ELEM_134
-# define BOOST_PP_SEQ_ELEM_136(_) BOOST_PP_SEQ_ELEM_135
-# define BOOST_PP_SEQ_ELEM_137(_) BOOST_PP_SEQ_ELEM_136
-# define BOOST_PP_SEQ_ELEM_138(_) BOOST_PP_SEQ_ELEM_137
-# define BOOST_PP_SEQ_ELEM_139(_) BOOST_PP_SEQ_ELEM_138
-# define BOOST_PP_SEQ_ELEM_140(_) BOOST_PP_SEQ_ELEM_139
-# define BOOST_PP_SEQ_ELEM_141(_) BOOST_PP_SEQ_ELEM_140
-# define BOOST_PP_SEQ_ELEM_142(_) BOOST_PP_SEQ_ELEM_141
-# define BOOST_PP_SEQ_ELEM_143(_) BOOST_PP_SEQ_ELEM_142
-# define BOOST_PP_SEQ_ELEM_144(_) BOOST_PP_SEQ_ELEM_143
-# define BOOST_PP_SEQ_ELEM_145(_) BOOST_PP_SEQ_ELEM_144
-# define BOOST_PP_SEQ_ELEM_146(_) BOOST_PP_SEQ_ELEM_145
-# define BOOST_PP_SEQ_ELEM_147(_) BOOST_PP_SEQ_ELEM_146
-# define BOOST_PP_SEQ_ELEM_148(_) BOOST_PP_SEQ_ELEM_147
-# define BOOST_PP_SEQ_ELEM_149(_) BOOST_PP_SEQ_ELEM_148
-# define BOOST_PP_SEQ_ELEM_150(_) BOOST_PP_SEQ_ELEM_149
-# define BOOST_PP_SEQ_ELEM_151(_) BOOST_PP_SEQ_ELEM_150
-# define BOOST_PP_SEQ_ELEM_152(_) BOOST_PP_SEQ_ELEM_151
-# define BOOST_PP_SEQ_ELEM_153(_) BOOST_PP_SEQ_ELEM_152
-# define BOOST_PP_SEQ_ELEM_154(_) BOOST_PP_SEQ_ELEM_153
-# define BOOST_PP_SEQ_ELEM_155(_) BOOST_PP_SEQ_ELEM_154
-# define BOOST_PP_SEQ_ELEM_156(_) BOOST_PP_SEQ_ELEM_155
-# define BOOST_PP_SEQ_ELEM_157(_) BOOST_PP_SEQ_ELEM_156
-# define BOOST_PP_SEQ_ELEM_158(_) BOOST_PP_SEQ_ELEM_157
-# define BOOST_PP_SEQ_ELEM_159(_) BOOST_PP_SEQ_ELEM_158
-# define BOOST_PP_SEQ_ELEM_160(_) BOOST_PP_SEQ_ELEM_159
-# define BOOST_PP_SEQ_ELEM_161(_) BOOST_PP_SEQ_ELEM_160
-# define BOOST_PP_SEQ_ELEM_162(_) BOOST_PP_SEQ_ELEM_161
-# define BOOST_PP_SEQ_ELEM_163(_) BOOST_PP_SEQ_ELEM_162
-# define BOOST_PP_SEQ_ELEM_164(_) BOOST_PP_SEQ_ELEM_163
-# define BOOST_PP_SEQ_ELEM_165(_) BOOST_PP_SEQ_ELEM_164
-# define BOOST_PP_SEQ_ELEM_166(_) BOOST_PP_SEQ_ELEM_165
-# define BOOST_PP_SEQ_ELEM_167(_) BOOST_PP_SEQ_ELEM_166
-# define BOOST_PP_SEQ_ELEM_168(_) BOOST_PP_SEQ_ELEM_167
-# define BOOST_PP_SEQ_ELEM_169(_) BOOST_PP_SEQ_ELEM_168
-# define BOOST_PP_SEQ_ELEM_170(_) BOOST_PP_SEQ_ELEM_169
-# define BOOST_PP_SEQ_ELEM_171(_) BOOST_PP_SEQ_ELEM_170
-# define BOOST_PP_SEQ_ELEM_172(_) BOOST_PP_SEQ_ELEM_171
-# define BOOST_PP_SEQ_ELEM_173(_) BOOST_PP_SEQ_ELEM_172
-# define BOOST_PP_SEQ_ELEM_174(_) BOOST_PP_SEQ_ELEM_173
-# define BOOST_PP_SEQ_ELEM_175(_) BOOST_PP_SEQ_ELEM_174
-# define BOOST_PP_SEQ_ELEM_176(_) BOOST_PP_SEQ_ELEM_175
-# define BOOST_PP_SEQ_ELEM_177(_) BOOST_PP_SEQ_ELEM_176
-# define BOOST_PP_SEQ_ELEM_178(_) BOOST_PP_SEQ_ELEM_177
-# define BOOST_PP_SEQ_ELEM_179(_) BOOST_PP_SEQ_ELEM_178
-# define BOOST_PP_SEQ_ELEM_180(_) BOOST_PP_SEQ_ELEM_179
-# define BOOST_PP_SEQ_ELEM_181(_) BOOST_PP_SEQ_ELEM_180
-# define BOOST_PP_SEQ_ELEM_182(_) BOOST_PP_SEQ_ELEM_181
-# define BOOST_PP_SEQ_ELEM_183(_) BOOST_PP_SEQ_ELEM_182
-# define BOOST_PP_SEQ_ELEM_184(_) BOOST_PP_SEQ_ELEM_183
-# define BOOST_PP_SEQ_ELEM_185(_) BOOST_PP_SEQ_ELEM_184
-# define BOOST_PP_SEQ_ELEM_186(_) BOOST_PP_SEQ_ELEM_185
-# define BOOST_PP_SEQ_ELEM_187(_) BOOST_PP_SEQ_ELEM_186
-# define BOOST_PP_SEQ_ELEM_188(_) BOOST_PP_SEQ_ELEM_187
-# define BOOST_PP_SEQ_ELEM_189(_) BOOST_PP_SEQ_ELEM_188
-# define BOOST_PP_SEQ_ELEM_190(_) BOOST_PP_SEQ_ELEM_189
-# define BOOST_PP_SEQ_ELEM_191(_) BOOST_PP_SEQ_ELEM_190
-# define BOOST_PP_SEQ_ELEM_192(_) BOOST_PP_SEQ_ELEM_191
-# define BOOST_PP_SEQ_ELEM_193(_) BOOST_PP_SEQ_ELEM_192
-# define BOOST_PP_SEQ_ELEM_194(_) BOOST_PP_SEQ_ELEM_193
-# define BOOST_PP_SEQ_ELEM_195(_) BOOST_PP_SEQ_ELEM_194
-# define BOOST_PP_SEQ_ELEM_196(_) BOOST_PP_SEQ_ELEM_195
-# define BOOST_PP_SEQ_ELEM_197(_) BOOST_PP_SEQ_ELEM_196
-# define BOOST_PP_SEQ_ELEM_198(_) BOOST_PP_SEQ_ELEM_197
-# define BOOST_PP_SEQ_ELEM_199(_) BOOST_PP_SEQ_ELEM_198
-# define BOOST_PP_SEQ_ELEM_200(_) BOOST_PP_SEQ_ELEM_199
-# define BOOST_PP_SEQ_ELEM_201(_) BOOST_PP_SEQ_ELEM_200
-# define BOOST_PP_SEQ_ELEM_202(_) BOOST_PP_SEQ_ELEM_201
-# define BOOST_PP_SEQ_ELEM_203(_) BOOST_PP_SEQ_ELEM_202
-# define BOOST_PP_SEQ_ELEM_204(_) BOOST_PP_SEQ_ELEM_203
-# define BOOST_PP_SEQ_ELEM_205(_) BOOST_PP_SEQ_ELEM_204
-# define BOOST_PP_SEQ_ELEM_206(_) BOOST_PP_SEQ_ELEM_205
-# define BOOST_PP_SEQ_ELEM_207(_) BOOST_PP_SEQ_ELEM_206
-# define BOOST_PP_SEQ_ELEM_208(_) BOOST_PP_SEQ_ELEM_207
-# define BOOST_PP_SEQ_ELEM_209(_) BOOST_PP_SEQ_ELEM_208
-# define BOOST_PP_SEQ_ELEM_210(_) BOOST_PP_SEQ_ELEM_209
-# define BOOST_PP_SEQ_ELEM_211(_) BOOST_PP_SEQ_ELEM_210
-# define BOOST_PP_SEQ_ELEM_212(_) BOOST_PP_SEQ_ELEM_211
-# define BOOST_PP_SEQ_ELEM_213(_) BOOST_PP_SEQ_ELEM_212
-# define BOOST_PP_SEQ_ELEM_214(_) BOOST_PP_SEQ_ELEM_213
-# define BOOST_PP_SEQ_ELEM_215(_) BOOST_PP_SEQ_ELEM_214
-# define BOOST_PP_SEQ_ELEM_216(_) BOOST_PP_SEQ_ELEM_215
-# define BOOST_PP_SEQ_ELEM_217(_) BOOST_PP_SEQ_ELEM_216
-# define BOOST_PP_SEQ_ELEM_218(_) BOOST_PP_SEQ_ELEM_217
-# define BOOST_PP_SEQ_ELEM_219(_) BOOST_PP_SEQ_ELEM_218
-# define BOOST_PP_SEQ_ELEM_220(_) BOOST_PP_SEQ_ELEM_219
-# define BOOST_PP_SEQ_ELEM_221(_) BOOST_PP_SEQ_ELEM_220
-# define BOOST_PP_SEQ_ELEM_222(_) BOOST_PP_SEQ_ELEM_221
-# define BOOST_PP_SEQ_ELEM_223(_) BOOST_PP_SEQ_ELEM_222
-# define BOOST_PP_SEQ_ELEM_224(_) BOOST_PP_SEQ_ELEM_223
-# define BOOST_PP_SEQ_ELEM_225(_) BOOST_PP_SEQ_ELEM_224
-# define BOOST_PP_SEQ_ELEM_226(_) BOOST_PP_SEQ_ELEM_225
-# define BOOST_PP_SEQ_ELEM_227(_) BOOST_PP_SEQ_ELEM_226
-# define BOOST_PP_SEQ_ELEM_228(_) BOOST_PP_SEQ_ELEM_227
-# define BOOST_PP_SEQ_ELEM_229(_) BOOST_PP_SEQ_ELEM_228
-# define BOOST_PP_SEQ_ELEM_230(_) BOOST_PP_SEQ_ELEM_229
-# define BOOST_PP_SEQ_ELEM_231(_) BOOST_PP_SEQ_ELEM_230
-# define BOOST_PP_SEQ_ELEM_232(_) BOOST_PP_SEQ_ELEM_231
-# define BOOST_PP_SEQ_ELEM_233(_) BOOST_PP_SEQ_ELEM_232
-# define BOOST_PP_SEQ_ELEM_234(_) BOOST_PP_SEQ_ELEM_233
-# define BOOST_PP_SEQ_ELEM_235(_) BOOST_PP_SEQ_ELEM_234
-# define BOOST_PP_SEQ_ELEM_236(_) BOOST_PP_SEQ_ELEM_235
-# define BOOST_PP_SEQ_ELEM_237(_) BOOST_PP_SEQ_ELEM_236
-# define BOOST_PP_SEQ_ELEM_238(_) BOOST_PP_SEQ_ELEM_237
-# define BOOST_PP_SEQ_ELEM_239(_) BOOST_PP_SEQ_ELEM_238
-# define BOOST_PP_SEQ_ELEM_240(_) BOOST_PP_SEQ_ELEM_239
-# define BOOST_PP_SEQ_ELEM_241(_) BOOST_PP_SEQ_ELEM_240
-# define BOOST_PP_SEQ_ELEM_242(_) BOOST_PP_SEQ_ELEM_241
-# define BOOST_PP_SEQ_ELEM_243(_) BOOST_PP_SEQ_ELEM_242
-# define BOOST_PP_SEQ_ELEM_244(_) BOOST_PP_SEQ_ELEM_243
-# define BOOST_PP_SEQ_ELEM_245(_) BOOST_PP_SEQ_ELEM_244
-# define BOOST_PP_SEQ_ELEM_246(_) BOOST_PP_SEQ_ELEM_245
-# define BOOST_PP_SEQ_ELEM_247(_) BOOST_PP_SEQ_ELEM_246
-# define BOOST_PP_SEQ_ELEM_248(_) BOOST_PP_SEQ_ELEM_247
-# define BOOST_PP_SEQ_ELEM_249(_) BOOST_PP_SEQ_ELEM_248
-# define BOOST_PP_SEQ_ELEM_250(_) BOOST_PP_SEQ_ELEM_249
-# define BOOST_PP_SEQ_ELEM_251(_) BOOST_PP_SEQ_ELEM_250
-# define BOOST_PP_SEQ_ELEM_252(_) BOOST_PP_SEQ_ELEM_251
-# define BOOST_PP_SEQ_ELEM_253(_) BOOST_PP_SEQ_ELEM_252
-# define BOOST_PP_SEQ_ELEM_254(_) BOOST_PP_SEQ_ELEM_253
-# define BOOST_PP_SEQ_ELEM_255(_) BOOST_PP_SEQ_ELEM_254
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/enum.hpp b/SRC/Boost/boost/preprocessor/seq/enum.hpp
deleted file mode 100755
index b3a9f1e..0000000
--- a/SRC/Boost/boost/preprocessor/seq/enum.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_ENUM_HPP
-# define BOOST_PREPROCESSOR_SEQ_ENUM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-#
-# /* BOOST_PP_SEQ_ENUM */
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM_I(seq)
-#    define BOOST_PP_SEQ_ENUM_I(seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, BOOST_PP_SEQ_SIZE(seq)) seq
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM_I(BOOST_PP_SEQ_SIZE(seq), seq)
-#    define BOOST_PP_SEQ_ENUM_I(size, seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, size) seq
-# else
-#    define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, BOOST_PP_SEQ_SIZE(seq)) seq
-# endif
-#
-# define BOOST_PP_SEQ_ENUM_1(x) x
-# define BOOST_PP_SEQ_ENUM_2(x) x, BOOST_PP_SEQ_ENUM_1
-# define BOOST_PP_SEQ_ENUM_3(x) x, BOOST_PP_SEQ_ENUM_2
-# define BOOST_PP_SEQ_ENUM_4(x) x, BOOST_PP_SEQ_ENUM_3
-# define BOOST_PP_SEQ_ENUM_5(x) x, BOOST_PP_SEQ_ENUM_4
-# define BOOST_PP_SEQ_ENUM_6(x) x, BOOST_PP_SEQ_ENUM_5
-# define BOOST_PP_SEQ_ENUM_7(x) x, BOOST_PP_SEQ_ENUM_6
-# define BOOST_PP_SEQ_ENUM_8(x) x, BOOST_PP_SEQ_ENUM_7
-# define BOOST_PP_SEQ_ENUM_9(x) x, BOOST_PP_SEQ_ENUM_8
-# define BOOST_PP_SEQ_ENUM_10(x) x, BOOST_PP_SEQ_ENUM_9
-# define BOOST_PP_SEQ_ENUM_11(x) x, BOOST_PP_SEQ_ENUM_10
-# define BOOST_PP_SEQ_ENUM_12(x) x, BOOST_PP_SEQ_ENUM_11
-# define BOOST_PP_SEQ_ENUM_13(x) x, BOOST_PP_SEQ_ENUM_12
-# define BOOST_PP_SEQ_ENUM_14(x) x, BOOST_PP_SEQ_ENUM_13
-# define BOOST_PP_SEQ_ENUM_15(x) x, BOOST_PP_SEQ_ENUM_14
-# define BOOST_PP_SEQ_ENUM_16(x) x, BOOST_PP_SEQ_ENUM_15
-# define BOOST_PP_SEQ_ENUM_17(x) x, BOOST_PP_SEQ_ENUM_16
-# define BOOST_PP_SEQ_ENUM_18(x) x, BOOST_PP_SEQ_ENUM_17
-# define BOOST_PP_SEQ_ENUM_19(x) x, BOOST_PP_SEQ_ENUM_18
-# define BOOST_PP_SEQ_ENUM_20(x) x, BOOST_PP_SEQ_ENUM_19
-# define BOOST_PP_SEQ_ENUM_21(x) x, BOOST_PP_SEQ_ENUM_20
-# define BOOST_PP_SEQ_ENUM_22(x) x, BOOST_PP_SEQ_ENUM_21
-# define BOOST_PP_SEQ_ENUM_23(x) x, BOOST_PP_SEQ_ENUM_22
-# define BOOST_PP_SEQ_ENUM_24(x) x, BOOST_PP_SEQ_ENUM_23
-# define BOOST_PP_SEQ_ENUM_25(x) x, BOOST_PP_SEQ_ENUM_24
-# define BOOST_PP_SEQ_ENUM_26(x) x, BOOST_PP_SEQ_ENUM_25
-# define BOOST_PP_SEQ_ENUM_27(x) x, BOOST_PP_SEQ_ENUM_26
-# define BOOST_PP_SEQ_ENUM_28(x) x, BOOST_PP_SEQ_ENUM_27
-# define BOOST_PP_SEQ_ENUM_29(x) x, BOOST_PP_SEQ_ENUM_28
-# define BOOST_PP_SEQ_ENUM_30(x) x, BOOST_PP_SEQ_ENUM_29
-# define BOOST_PP_SEQ_ENUM_31(x) x, BOOST_PP_SEQ_ENUM_30
-# define BOOST_PP_SEQ_ENUM_32(x) x, BOOST_PP_SEQ_ENUM_31
-# define BOOST_PP_SEQ_ENUM_33(x) x, BOOST_PP_SEQ_ENUM_32
-# define BOOST_PP_SEQ_ENUM_34(x) x, BOOST_PP_SEQ_ENUM_33
-# define BOOST_PP_SEQ_ENUM_35(x) x, BOOST_PP_SEQ_ENUM_34
-# define BOOST_PP_SEQ_ENUM_36(x) x, BOOST_PP_SEQ_ENUM_35
-# define BOOST_PP_SEQ_ENUM_37(x) x, BOOST_PP_SEQ_ENUM_36
-# define BOOST_PP_SEQ_ENUM_38(x) x, BOOST_PP_SEQ_ENUM_37
-# define BOOST_PP_SEQ_ENUM_39(x) x, BOOST_PP_SEQ_ENUM_38
-# define BOOST_PP_SEQ_ENUM_40(x) x, BOOST_PP_SEQ_ENUM_39
-# define BOOST_PP_SEQ_ENUM_41(x) x, BOOST_PP_SEQ_ENUM_40
-# define BOOST_PP_SEQ_ENUM_42(x) x, BOOST_PP_SEQ_ENUM_41
-# define BOOST_PP_SEQ_ENUM_43(x) x, BOOST_PP_SEQ_ENUM_42
-# define BOOST_PP_SEQ_ENUM_44(x) x, BOOST_PP_SEQ_ENUM_43
-# define BOOST_PP_SEQ_ENUM_45(x) x, BOOST_PP_SEQ_ENUM_44
-# define BOOST_PP_SEQ_ENUM_46(x) x, BOOST_PP_SEQ_ENUM_45
-# define BOOST_PP_SEQ_ENUM_47(x) x, BOOST_PP_SEQ_ENUM_46
-# define BOOST_PP_SEQ_ENUM_48(x) x, BOOST_PP_SEQ_ENUM_47
-# define BOOST_PP_SEQ_ENUM_49(x) x, BOOST_PP_SEQ_ENUM_48
-# define BOOST_PP_SEQ_ENUM_50(x) x, BOOST_PP_SEQ_ENUM_49
-# define BOOST_PP_SEQ_ENUM_51(x) x, BOOST_PP_SEQ_ENUM_50
-# define BOOST_PP_SEQ_ENUM_52(x) x, BOOST_PP_SEQ_ENUM_51
-# define BOOST_PP_SEQ_ENUM_53(x) x, BOOST_PP_SEQ_ENUM_52
-# define BOOST_PP_SEQ_ENUM_54(x) x, BOOST_PP_SEQ_ENUM_53
-# define BOOST_PP_SEQ_ENUM_55(x) x, BOOST_PP_SEQ_ENUM_54
-# define BOOST_PP_SEQ_ENUM_56(x) x, BOOST_PP_SEQ_ENUM_55
-# define BOOST_PP_SEQ_ENUM_57(x) x, BOOST_PP_SEQ_ENUM_56
-# define BOOST_PP_SEQ_ENUM_58(x) x, BOOST_PP_SEQ_ENUM_57
-# define BOOST_PP_SEQ_ENUM_59(x) x, BOOST_PP_SEQ_ENUM_58
-# define BOOST_PP_SEQ_ENUM_60(x) x, BOOST_PP_SEQ_ENUM_59
-# define BOOST_PP_SEQ_ENUM_61(x) x, BOOST_PP_SEQ_ENUM_60
-# define BOOST_PP_SEQ_ENUM_62(x) x, BOOST_PP_SEQ_ENUM_61
-# define BOOST_PP_SEQ_ENUM_63(x) x, BOOST_PP_SEQ_ENUM_62
-# define BOOST_PP_SEQ_ENUM_64(x) x, BOOST_PP_SEQ_ENUM_63
-# define BOOST_PP_SEQ_ENUM_65(x) x, BOOST_PP_SEQ_ENUM_64
-# define BOOST_PP_SEQ_ENUM_66(x) x, BOOST_PP_SEQ_ENUM_65
-# define BOOST_PP_SEQ_ENUM_67(x) x, BOOST_PP_SEQ_ENUM_66
-# define BOOST_PP_SEQ_ENUM_68(x) x, BOOST_PP_SEQ_ENUM_67
-# define BOOST_PP_SEQ_ENUM_69(x) x, BOOST_PP_SEQ_ENUM_68
-# define BOOST_PP_SEQ_ENUM_70(x) x, BOOST_PP_SEQ_ENUM_69
-# define BOOST_PP_SEQ_ENUM_71(x) x, BOOST_PP_SEQ_ENUM_70
-# define BOOST_PP_SEQ_ENUM_72(x) x, BOOST_PP_SEQ_ENUM_71
-# define BOOST_PP_SEQ_ENUM_73(x) x, BOOST_PP_SEQ_ENUM_72
-# define BOOST_PP_SEQ_ENUM_74(x) x, BOOST_PP_SEQ_ENUM_73
-# define BOOST_PP_SEQ_ENUM_75(x) x, BOOST_PP_SEQ_ENUM_74
-# define BOOST_PP_SEQ_ENUM_76(x) x, BOOST_PP_SEQ_ENUM_75
-# define BOOST_PP_SEQ_ENUM_77(x) x, BOOST_PP_SEQ_ENUM_76
-# define BOOST_PP_SEQ_ENUM_78(x) x, BOOST_PP_SEQ_ENUM_77
-# define BOOST_PP_SEQ_ENUM_79(x) x, BOOST_PP_SEQ_ENUM_78
-# define BOOST_PP_SEQ_ENUM_80(x) x, BOOST_PP_SEQ_ENUM_79
-# define BOOST_PP_SEQ_ENUM_81(x) x, BOOST_PP_SEQ_ENUM_80
-# define BOOST_PP_SEQ_ENUM_82(x) x, BOOST_PP_SEQ_ENUM_81
-# define BOOST_PP_SEQ_ENUM_83(x) x, BOOST_PP_SEQ_ENUM_82
-# define BOOST_PP_SEQ_ENUM_84(x) x, BOOST_PP_SEQ_ENUM_83
-# define BOOST_PP_SEQ_ENUM_85(x) x, BOOST_PP_SEQ_ENUM_84
-# define BOOST_PP_SEQ_ENUM_86(x) x, BOOST_PP_SEQ_ENUM_85
-# define BOOST_PP_SEQ_ENUM_87(x) x, BOOST_PP_SEQ_ENUM_86
-# define BOOST_PP_SEQ_ENUM_88(x) x, BOOST_PP_SEQ_ENUM_87
-# define BOOST_PP_SEQ_ENUM_89(x) x, BOOST_PP_SEQ_ENUM_88
-# define BOOST_PP_SEQ_ENUM_90(x) x, BOOST_PP_SEQ_ENUM_89
-# define BOOST_PP_SEQ_ENUM_91(x) x, BOOST_PP_SEQ_ENUM_90
-# define BOOST_PP_SEQ_ENUM_92(x) x, BOOST_PP_SEQ_ENUM_91
-# define BOOST_PP_SEQ_ENUM_93(x) x, BOOST_PP_SEQ_ENUM_92
-# define BOOST_PP_SEQ_ENUM_94(x) x, BOOST_PP_SEQ_ENUM_93
-# define BOOST_PP_SEQ_ENUM_95(x) x, BOOST_PP_SEQ_ENUM_94
-# define BOOST_PP_SEQ_ENUM_96(x) x, BOOST_PP_SEQ_ENUM_95
-# define BOOST_PP_SEQ_ENUM_97(x) x, BOOST_PP_SEQ_ENUM_96
-# define BOOST_PP_SEQ_ENUM_98(x) x, BOOST_PP_SEQ_ENUM_97
-# define BOOST_PP_SEQ_ENUM_99(x) x, BOOST_PP_SEQ_ENUM_98
-# define BOOST_PP_SEQ_ENUM_100(x) x, BOOST_PP_SEQ_ENUM_99
-# define BOOST_PP_SEQ_ENUM_101(x) x, BOOST_PP_SEQ_ENUM_100
-# define BOOST_PP_SEQ_ENUM_102(x) x, BOOST_PP_SEQ_ENUM_101
-# define BOOST_PP_SEQ_ENUM_103(x) x, BOOST_PP_SEQ_ENUM_102
-# define BOOST_PP_SEQ_ENUM_104(x) x, BOOST_PP_SEQ_ENUM_103
-# define BOOST_PP_SEQ_ENUM_105(x) x, BOOST_PP_SEQ_ENUM_104
-# define BOOST_PP_SEQ_ENUM_106(x) x, BOOST_PP_SEQ_ENUM_105
-# define BOOST_PP_SEQ_ENUM_107(x) x, BOOST_PP_SEQ_ENUM_106
-# define BOOST_PP_SEQ_ENUM_108(x) x, BOOST_PP_SEQ_ENUM_107
-# define BOOST_PP_SEQ_ENUM_109(x) x, BOOST_PP_SEQ_ENUM_108
-# define BOOST_PP_SEQ_ENUM_110(x) x, BOOST_PP_SEQ_ENUM_109
-# define BOOST_PP_SEQ_ENUM_111(x) x, BOOST_PP_SEQ_ENUM_110
-# define BOOST_PP_SEQ_ENUM_112(x) x, BOOST_PP_SEQ_ENUM_111
-# define BOOST_PP_SEQ_ENUM_113(x) x, BOOST_PP_SEQ_ENUM_112
-# define BOOST_PP_SEQ_ENUM_114(x) x, BOOST_PP_SEQ_ENUM_113
-# define BOOST_PP_SEQ_ENUM_115(x) x, BOOST_PP_SEQ_ENUM_114
-# define BOOST_PP_SEQ_ENUM_116(x) x, BOOST_PP_SEQ_ENUM_115
-# define BOOST_PP_SEQ_ENUM_117(x) x, BOOST_PP_SEQ_ENUM_116
-# define BOOST_PP_SEQ_ENUM_118(x) x, BOOST_PP_SEQ_ENUM_117
-# define BOOST_PP_SEQ_ENUM_119(x) x, BOOST_PP_SEQ_ENUM_118
-# define BOOST_PP_SEQ_ENUM_120(x) x, BOOST_PP_SEQ_ENUM_119
-# define BOOST_PP_SEQ_ENUM_121(x) x, BOOST_PP_SEQ_ENUM_120
-# define BOOST_PP_SEQ_ENUM_122(x) x, BOOST_PP_SEQ_ENUM_121
-# define BOOST_PP_SEQ_ENUM_123(x) x, BOOST_PP_SEQ_ENUM_122
-# define BOOST_PP_SEQ_ENUM_124(x) x, BOOST_PP_SEQ_ENUM_123
-# define BOOST_PP_SEQ_ENUM_125(x) x, BOOST_PP_SEQ_ENUM_124
-# define BOOST_PP_SEQ_ENUM_126(x) x, BOOST_PP_SEQ_ENUM_125
-# define BOOST_PP_SEQ_ENUM_127(x) x, BOOST_PP_SEQ_ENUM_126
-# define BOOST_PP_SEQ_ENUM_128(x) x, BOOST_PP_SEQ_ENUM_127
-# define BOOST_PP_SEQ_ENUM_129(x) x, BOOST_PP_SEQ_ENUM_128
-# define BOOST_PP_SEQ_ENUM_130(x) x, BOOST_PP_SEQ_ENUM_129
-# define BOOST_PP_SEQ_ENUM_131(x) x, BOOST_PP_SEQ_ENUM_130
-# define BOOST_PP_SEQ_ENUM_132(x) x, BOOST_PP_SEQ_ENUM_131
-# define BOOST_PP_SEQ_ENUM_133(x) x, BOOST_PP_SEQ_ENUM_132
-# define BOOST_PP_SEQ_ENUM_134(x) x, BOOST_PP_SEQ_ENUM_133
-# define BOOST_PP_SEQ_ENUM_135(x) x, BOOST_PP_SEQ_ENUM_134
-# define BOOST_PP_SEQ_ENUM_136(x) x, BOOST_PP_SEQ_ENUM_135
-# define BOOST_PP_SEQ_ENUM_137(x) x, BOOST_PP_SEQ_ENUM_136
-# define BOOST_PP_SEQ_ENUM_138(x) x, BOOST_PP_SEQ_ENUM_137
-# define BOOST_PP_SEQ_ENUM_139(x) x, BOOST_PP_SEQ_ENUM_138
-# define BOOST_PP_SEQ_ENUM_140(x) x, BOOST_PP_SEQ_ENUM_139
-# define BOOST_PP_SEQ_ENUM_141(x) x, BOOST_PP_SEQ_ENUM_140
-# define BOOST_PP_SEQ_ENUM_142(x) x, BOOST_PP_SEQ_ENUM_141
-# define BOOST_PP_SEQ_ENUM_143(x) x, BOOST_PP_SEQ_ENUM_142
-# define BOOST_PP_SEQ_ENUM_144(x) x, BOOST_PP_SEQ_ENUM_143
-# define BOOST_PP_SEQ_ENUM_145(x) x, BOOST_PP_SEQ_ENUM_144
-# define BOOST_PP_SEQ_ENUM_146(x) x, BOOST_PP_SEQ_ENUM_145
-# define BOOST_PP_SEQ_ENUM_147(x) x, BOOST_PP_SEQ_ENUM_146
-# define BOOST_PP_SEQ_ENUM_148(x) x, BOOST_PP_SEQ_ENUM_147
-# define BOOST_PP_SEQ_ENUM_149(x) x, BOOST_PP_SEQ_ENUM_148
-# define BOOST_PP_SEQ_ENUM_150(x) x, BOOST_PP_SEQ_ENUM_149
-# define BOOST_PP_SEQ_ENUM_151(x) x, BOOST_PP_SEQ_ENUM_150
-# define BOOST_PP_SEQ_ENUM_152(x) x, BOOST_PP_SEQ_ENUM_151
-# define BOOST_PP_SEQ_ENUM_153(x) x, BOOST_PP_SEQ_ENUM_152
-# define BOOST_PP_SEQ_ENUM_154(x) x, BOOST_PP_SEQ_ENUM_153
-# define BOOST_PP_SEQ_ENUM_155(x) x, BOOST_PP_SEQ_ENUM_154
-# define BOOST_PP_SEQ_ENUM_156(x) x, BOOST_PP_SEQ_ENUM_155
-# define BOOST_PP_SEQ_ENUM_157(x) x, BOOST_PP_SEQ_ENUM_156
-# define BOOST_PP_SEQ_ENUM_158(x) x, BOOST_PP_SEQ_ENUM_157
-# define BOOST_PP_SEQ_ENUM_159(x) x, BOOST_PP_SEQ_ENUM_158
-# define BOOST_PP_SEQ_ENUM_160(x) x, BOOST_PP_SEQ_ENUM_159
-# define BOOST_PP_SEQ_ENUM_161(x) x, BOOST_PP_SEQ_ENUM_160
-# define BOOST_PP_SEQ_ENUM_162(x) x, BOOST_PP_SEQ_ENUM_161
-# define BOOST_PP_SEQ_ENUM_163(x) x, BOOST_PP_SEQ_ENUM_162
-# define BOOST_PP_SEQ_ENUM_164(x) x, BOOST_PP_SEQ_ENUM_163
-# define BOOST_PP_SEQ_ENUM_165(x) x, BOOST_PP_SEQ_ENUM_164
-# define BOOST_PP_SEQ_ENUM_166(x) x, BOOST_PP_SEQ_ENUM_165
-# define BOOST_PP_SEQ_ENUM_167(x) x, BOOST_PP_SEQ_ENUM_166
-# define BOOST_PP_SEQ_ENUM_168(x) x, BOOST_PP_SEQ_ENUM_167
-# define BOOST_PP_SEQ_ENUM_169(x) x, BOOST_PP_SEQ_ENUM_168
-# define BOOST_PP_SEQ_ENUM_170(x) x, BOOST_PP_SEQ_ENUM_169
-# define BOOST_PP_SEQ_ENUM_171(x) x, BOOST_PP_SEQ_ENUM_170
-# define BOOST_PP_SEQ_ENUM_172(x) x, BOOST_PP_SEQ_ENUM_171
-# define BOOST_PP_SEQ_ENUM_173(x) x, BOOST_PP_SEQ_ENUM_172
-# define BOOST_PP_SEQ_ENUM_174(x) x, BOOST_PP_SEQ_ENUM_173
-# define BOOST_PP_SEQ_ENUM_175(x) x, BOOST_PP_SEQ_ENUM_174
-# define BOOST_PP_SEQ_ENUM_176(x) x, BOOST_PP_SEQ_ENUM_175
-# define BOOST_PP_SEQ_ENUM_177(x) x, BOOST_PP_SEQ_ENUM_176
-# define BOOST_PP_SEQ_ENUM_178(x) x, BOOST_PP_SEQ_ENUM_177
-# define BOOST_PP_SEQ_ENUM_179(x) x, BOOST_PP_SEQ_ENUM_178
-# define BOOST_PP_SEQ_ENUM_180(x) x, BOOST_PP_SEQ_ENUM_179
-# define BOOST_PP_SEQ_ENUM_181(x) x, BOOST_PP_SEQ_ENUM_180
-# define BOOST_PP_SEQ_ENUM_182(x) x, BOOST_PP_SEQ_ENUM_181
-# define BOOST_PP_SEQ_ENUM_183(x) x, BOOST_PP_SEQ_ENUM_182
-# define BOOST_PP_SEQ_ENUM_184(x) x, BOOST_PP_SEQ_ENUM_183
-# define BOOST_PP_SEQ_ENUM_185(x) x, BOOST_PP_SEQ_ENUM_184
-# define BOOST_PP_SEQ_ENUM_186(x) x, BOOST_PP_SEQ_ENUM_185
-# define BOOST_PP_SEQ_ENUM_187(x) x, BOOST_PP_SEQ_ENUM_186
-# define BOOST_PP_SEQ_ENUM_188(x) x, BOOST_PP_SEQ_ENUM_187
-# define BOOST_PP_SEQ_ENUM_189(x) x, BOOST_PP_SEQ_ENUM_188
-# define BOOST_PP_SEQ_ENUM_190(x) x, BOOST_PP_SEQ_ENUM_189
-# define BOOST_PP_SEQ_ENUM_191(x) x, BOOST_PP_SEQ_ENUM_190
-# define BOOST_PP_SEQ_ENUM_192(x) x, BOOST_PP_SEQ_ENUM_191
-# define BOOST_PP_SEQ_ENUM_193(x) x, BOOST_PP_SEQ_ENUM_192
-# define BOOST_PP_SEQ_ENUM_194(x) x, BOOST_PP_SEQ_ENUM_193
-# define BOOST_PP_SEQ_ENUM_195(x) x, BOOST_PP_SEQ_ENUM_194
-# define BOOST_PP_SEQ_ENUM_196(x) x, BOOST_PP_SEQ_ENUM_195
-# define BOOST_PP_SEQ_ENUM_197(x) x, BOOST_PP_SEQ_ENUM_196
-# define BOOST_PP_SEQ_ENUM_198(x) x, BOOST_PP_SEQ_ENUM_197
-# define BOOST_PP_SEQ_ENUM_199(x) x, BOOST_PP_SEQ_ENUM_198
-# define BOOST_PP_SEQ_ENUM_200(x) x, BOOST_PP_SEQ_ENUM_199
-# define BOOST_PP_SEQ_ENUM_201(x) x, BOOST_PP_SEQ_ENUM_200
-# define BOOST_PP_SEQ_ENUM_202(x) x, BOOST_PP_SEQ_ENUM_201
-# define BOOST_PP_SEQ_ENUM_203(x) x, BOOST_PP_SEQ_ENUM_202
-# define BOOST_PP_SEQ_ENUM_204(x) x, BOOST_PP_SEQ_ENUM_203
-# define BOOST_PP_SEQ_ENUM_205(x) x, BOOST_PP_SEQ_ENUM_204
-# define BOOST_PP_SEQ_ENUM_206(x) x, BOOST_PP_SEQ_ENUM_205
-# define BOOST_PP_SEQ_ENUM_207(x) x, BOOST_PP_SEQ_ENUM_206
-# define BOOST_PP_SEQ_ENUM_208(x) x, BOOST_PP_SEQ_ENUM_207
-# define BOOST_PP_SEQ_ENUM_209(x) x, BOOST_PP_SEQ_ENUM_208
-# define BOOST_PP_SEQ_ENUM_210(x) x, BOOST_PP_SEQ_ENUM_209
-# define BOOST_PP_SEQ_ENUM_211(x) x, BOOST_PP_SEQ_ENUM_210
-# define BOOST_PP_SEQ_ENUM_212(x) x, BOOST_PP_SEQ_ENUM_211
-# define BOOST_PP_SEQ_ENUM_213(x) x, BOOST_PP_SEQ_ENUM_212
-# define BOOST_PP_SEQ_ENUM_214(x) x, BOOST_PP_SEQ_ENUM_213
-# define BOOST_PP_SEQ_ENUM_215(x) x, BOOST_PP_SEQ_ENUM_214
-# define BOOST_PP_SEQ_ENUM_216(x) x, BOOST_PP_SEQ_ENUM_215
-# define BOOST_PP_SEQ_ENUM_217(x) x, BOOST_PP_SEQ_ENUM_216
-# define BOOST_PP_SEQ_ENUM_218(x) x, BOOST_PP_SEQ_ENUM_217
-# define BOOST_PP_SEQ_ENUM_219(x) x, BOOST_PP_SEQ_ENUM_218
-# define BOOST_PP_SEQ_ENUM_220(x) x, BOOST_PP_SEQ_ENUM_219
-# define BOOST_PP_SEQ_ENUM_221(x) x, BOOST_PP_SEQ_ENUM_220
-# define BOOST_PP_SEQ_ENUM_222(x) x, BOOST_PP_SEQ_ENUM_221
-# define BOOST_PP_SEQ_ENUM_223(x) x, BOOST_PP_SEQ_ENUM_222
-# define BOOST_PP_SEQ_ENUM_224(x) x, BOOST_PP_SEQ_ENUM_223
-# define BOOST_PP_SEQ_ENUM_225(x) x, BOOST_PP_SEQ_ENUM_224
-# define BOOST_PP_SEQ_ENUM_226(x) x, BOOST_PP_SEQ_ENUM_225
-# define BOOST_PP_SEQ_ENUM_227(x) x, BOOST_PP_SEQ_ENUM_226
-# define BOOST_PP_SEQ_ENUM_228(x) x, BOOST_PP_SEQ_ENUM_227
-# define BOOST_PP_SEQ_ENUM_229(x) x, BOOST_PP_SEQ_ENUM_228
-# define BOOST_PP_SEQ_ENUM_230(x) x, BOOST_PP_SEQ_ENUM_229
-# define BOOST_PP_SEQ_ENUM_231(x) x, BOOST_PP_SEQ_ENUM_230
-# define BOOST_PP_SEQ_ENUM_232(x) x, BOOST_PP_SEQ_ENUM_231
-# define BOOST_PP_SEQ_ENUM_233(x) x, BOOST_PP_SEQ_ENUM_232
-# define BOOST_PP_SEQ_ENUM_234(x) x, BOOST_PP_SEQ_ENUM_233
-# define BOOST_PP_SEQ_ENUM_235(x) x, BOOST_PP_SEQ_ENUM_234
-# define BOOST_PP_SEQ_ENUM_236(x) x, BOOST_PP_SEQ_ENUM_235
-# define BOOST_PP_SEQ_ENUM_237(x) x, BOOST_PP_SEQ_ENUM_236
-# define BOOST_PP_SEQ_ENUM_238(x) x, BOOST_PP_SEQ_ENUM_237
-# define BOOST_PP_SEQ_ENUM_239(x) x, BOOST_PP_SEQ_ENUM_238
-# define BOOST_PP_SEQ_ENUM_240(x) x, BOOST_PP_SEQ_ENUM_239
-# define BOOST_PP_SEQ_ENUM_241(x) x, BOOST_PP_SEQ_ENUM_240
-# define BOOST_PP_SEQ_ENUM_242(x) x, BOOST_PP_SEQ_ENUM_241
-# define BOOST_PP_SEQ_ENUM_243(x) x, BOOST_PP_SEQ_ENUM_242
-# define BOOST_PP_SEQ_ENUM_244(x) x, BOOST_PP_SEQ_ENUM_243
-# define BOOST_PP_SEQ_ENUM_245(x) x, BOOST_PP_SEQ_ENUM_244
-# define BOOST_PP_SEQ_ENUM_246(x) x, BOOST_PP_SEQ_ENUM_245
-# define BOOST_PP_SEQ_ENUM_247(x) x, BOOST_PP_SEQ_ENUM_246
-# define BOOST_PP_SEQ_ENUM_248(x) x, BOOST_PP_SEQ_ENUM_247
-# define BOOST_PP_SEQ_ENUM_249(x) x, BOOST_PP_SEQ_ENUM_248
-# define BOOST_PP_SEQ_ENUM_250(x) x, BOOST_PP_SEQ_ENUM_249
-# define BOOST_PP_SEQ_ENUM_251(x) x, BOOST_PP_SEQ_ENUM_250
-# define BOOST_PP_SEQ_ENUM_252(x) x, BOOST_PP_SEQ_ENUM_251
-# define BOOST_PP_SEQ_ENUM_253(x) x, BOOST_PP_SEQ_ENUM_252
-# define BOOST_PP_SEQ_ENUM_254(x) x, BOOST_PP_SEQ_ENUM_253
-# define BOOST_PP_SEQ_ENUM_255(x) x, BOOST_PP_SEQ_ENUM_254
-# define BOOST_PP_SEQ_ENUM_256(x) x, BOOST_PP_SEQ_ENUM_255
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/filter.hpp b/SRC/Boost/boost/preprocessor/seq/filter.hpp
deleted file mode 100755
index 896ae95..0000000
--- a/SRC/Boost/boost/preprocessor/seq/filter.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_FILTER_HPP
-# define BOOST_PREPROCESSOR_SEQ_FILTER_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/expr_if.hpp>
-# include <boost/preprocessor/facilities/empty.hpp>
-# include <boost/preprocessor/seq/fold_left.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_SEQ_FILTER */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FILTER(pred, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_FILTER_O, (pred, data, (nil)), seq)))
-# else
-#    define BOOST_PP_SEQ_FILTER(pred, data, seq) BOOST_PP_SEQ_FILTER_I(pred, data, seq)
-#    define BOOST_PP_SEQ_FILTER_I(pred, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_FILTER_O, (pred, data, (nil)), seq)))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_SEQ_FILTER_O(s, st, elem) BOOST_PP_SEQ_FILTER_O_IM(s, BOOST_PP_TUPLE_REM_3 st, elem)
-#    define BOOST_PP_SEQ_FILTER_O_IM(s, im, elem) BOOST_PP_SEQ_FILTER_O_I(s, im, elem)
-# else
-#    define BOOST_PP_SEQ_FILTER_O(s, st, elem) BOOST_PP_SEQ_FILTER_O_I(s, BOOST_PP_TUPLE_ELEM(3, 0, st), BOOST_PP_TUPLE_ELEM(3, 1, st), BOOST_PP_TUPLE_ELEM(3, 2, st), elem)
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#   define BOOST_PP_SEQ_FILTER_O_I(s, pred, data, res, elem) (pred, data, res BOOST_PP_EXPR_IF(pred(s, data, elem), (elem)))
-# else
-#   define BOOST_PP_SEQ_FILTER_O_I(s, pred, data, res, elem) (pred, data, res BOOST_PP_EXPR_IF(pred##(s, data, elem), (elem)))
-# endif
-#
-# /* BOOST_PP_SEQ_FILTER_S */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FILTER_S(s, pred, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_FILTER_O, (pred, data, (nil)), seq)))
-# else
-#    define BOOST_PP_SEQ_FILTER_S(s, pred, data, seq) BOOST_PP_SEQ_FILTER_S_I(s, pred, data, seq)
-#    define BOOST_PP_SEQ_FILTER_S_I(s, pred, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_FILTER_O, (pred, data, (nil)), seq)))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/first_n.hpp b/SRC/Boost/boost/preprocessor/seq/first_n.hpp
deleted file mode 100755
index 5f88281..0000000
--- a/SRC/Boost/boost/preprocessor/seq/first_n.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP
-# define BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/seq/detail/split.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_SEQ_FIRST_N */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_IF(n, BOOST_PP_TUPLE_ELEM, BOOST_PP_TUPLE_EAT_3)(2, 0, BOOST_PP_SEQ_SPLIT(n, seq (nil)))
-# else
-#    define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_SEQ_FIRST_N_I(n, seq)
-#    define BOOST_PP_SEQ_FIRST_N_I(n, seq) BOOST_PP_IF(n, BOOST_PP_TUPLE_ELEM, BOOST_PP_TUPLE_EAT_3)(2, 0, BOOST_PP_SEQ_SPLIT(n, seq (nil)))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/fold_left.hpp b/SRC/Boost/boost/preprocessor/seq/fold_left.hpp
deleted file mode 100755
index ea05882..0000000
--- a/SRC/Boost/boost/preprocessor/seq/fold_left.hpp
+++ /dev/null
@@ -1,1070 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_SEQ_FOLD_LEFT_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-#
-# /* BOOST_PP_SEQ_FOLD_LEFT */
-#
-# if 0
-#    define BOOST_PP_SEQ_FOLD_LEFT(op, state, seq) ...
-# endif
-#
-# define BOOST_PP_SEQ_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_SEQ_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_SEQ_FOLD_LEFT_P, 256))
-# define BOOST_PP_SEQ_FOLD_LEFT_P(n) BOOST_PP_CAT(BOOST_PP_SEQ_FOLD_LEFT_CHECK_, BOOST_PP_SEQ_FOLD_LEFT_I_ ## n(BOOST_PP_SEQ_FOLD_LEFT_O, BOOST_PP_NIL, (nil), 1))
-# define BOOST_PP_SEQ_FOLD_LEFT_O(s, st, _) st
-#
-# define BOOST_PP_SEQ_FOLD_LEFT_257(op, st, ss) BOOST_PP_ERROR(0x0005)
-# define BOOST_PP_SEQ_FOLD_LEFT_I_257(op, st, ss, sz) BOOST_PP_ERROR(0x0005)
-#
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_NIL 1
-#
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) 0
-#
-# define BOOST_PP_SEQ_FOLD_LEFT_F(op, st, ss, sz) st
-#
-# define BOOST_PP_SEQ_FOLD_LEFT_1(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_2(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_3(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_4(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_5(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_6(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_7(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_8(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_9(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_10(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_11(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_12(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_13(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_14(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_15(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_16(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_17(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_18(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_19(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_20(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_21(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_22(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_23(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_24(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_25(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_26(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_27(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_28(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_29(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_30(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_31(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_32(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_33(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_34(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_35(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_36(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_37(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_38(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_39(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_40(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_41(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_42(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_43(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_44(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_45(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_46(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_47(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_48(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_49(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_50(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_51(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_52(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_53(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_54(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_55(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_56(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_57(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_58(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_59(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_60(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_61(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_62(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_63(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_64(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_65(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_66(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_67(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_68(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_69(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_70(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_71(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_72(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_73(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_74(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_75(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_76(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_77(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_78(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_79(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_80(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_81(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_82(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_83(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_84(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_85(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_86(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_87(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_88(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_89(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_90(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_91(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_92(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_93(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_94(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_95(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_96(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_97(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_98(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_99(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_100(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_101(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_102(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_103(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_104(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_105(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_106(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_107(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_108(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_109(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_110(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_111(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_112(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_113(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_114(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_115(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_116(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_117(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_118(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_119(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_120(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_121(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_122(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_123(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_124(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_125(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_126(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_127(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_128(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_129(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_130(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_131(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_132(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_133(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_134(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_135(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_136(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_137(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_138(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_139(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_140(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_141(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_142(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_143(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_144(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_145(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_146(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_147(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_148(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_149(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_150(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_151(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_152(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_153(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_154(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_155(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_156(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_157(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_158(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_159(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_160(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_161(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_162(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_163(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_164(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_165(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_166(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_167(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_168(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_169(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_170(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_171(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_172(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_173(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_174(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_175(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_176(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_177(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_178(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_179(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_180(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_181(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_182(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_183(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_184(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_185(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_186(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_187(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_188(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_189(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_190(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_191(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_192(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_193(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_194(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_195(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_196(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_197(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_198(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_199(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_200(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_201(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_202(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_203(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_204(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_205(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_206(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_207(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_208(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_209(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_210(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_211(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_212(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_213(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_214(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_215(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_216(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_217(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_218(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_219(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_220(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_221(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_222(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_223(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_224(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_225(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_226(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_227(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_228(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_229(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_230(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_231(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_232(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_233(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_234(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_235(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_236(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_237(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_238(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_239(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_240(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_241(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_242(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_243(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_244(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_245(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_246(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_247(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_248(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_249(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_250(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_251(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_252(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_253(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_254(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_255(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_256(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_2, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(2, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_3, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(3, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_4, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(4, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_5, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(5, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_6, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(6, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_7, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(7, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_8, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(8, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_9, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(9, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_10, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(10, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_11, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(11, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_12, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(12, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_13, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(13, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_14, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(14, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_15, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(15, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_16, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(16, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_17, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(17, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_18, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(18, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_19, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(19, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_20, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(20, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_21, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(21, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_22, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(22, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_23, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(23, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_24, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(24, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_25, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(25, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_26, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(26, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_27, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(27, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_28, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(28, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_29, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(29, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_30, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(30, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_31, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(31, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_32, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(32, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_33, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(33, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_34, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(34, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_35, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(35, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_36, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(36, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_37, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(37, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_38, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(38, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_39, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(39, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_40, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(40, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_41, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(41, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_42, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(42, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_43, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(43, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_44, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(44, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_45, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(45, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_46, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(46, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_47, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(47, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_48, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(48, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_49, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(49, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_50, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(50, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_51, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(51, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_52, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(52, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_53, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(53, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_54, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(54, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_55, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(55, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_56, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(56, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_57, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(57, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_58, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(58, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_59, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(59, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_60, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(60, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_61, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(61, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_62, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(62, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_63, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(63, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_64, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(64, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_65, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(65, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_66, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(66, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_67, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(67, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_68, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(68, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_69, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(69, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_70, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(70, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_71, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(71, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_72, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(72, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_73, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(73, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_74, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(74, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_75, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(75, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_76, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(76, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_77, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(77, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_78, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(78, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_79, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(79, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_80, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(80, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_81, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(81, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_82, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(82, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_83, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(83, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_84, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(84, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_85, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(85, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_86, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(86, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_87, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(87, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_88, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(88, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_89, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(89, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_90, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(90, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_91, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(91, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_92, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(92, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_93, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(93, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_94, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(94, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_95, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(95, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_96, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(96, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_97, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(97, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_98, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(98, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_99, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(99, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_100, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(100, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_101, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(101, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_102, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(102, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_103, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(103, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_104, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(104, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_105, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(105, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_106, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(106, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_107, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(107, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_108, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(108, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_109, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(109, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_110, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(110, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_111, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(111, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_112, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(112, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_113, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(113, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_114, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(114, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_115, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(115, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_116, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(116, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_117, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(117, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_118, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(118, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_119, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(119, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_120, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(120, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_121, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(121, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_122, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(122, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_123, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(123, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_124, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(124, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_125, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(125, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_126, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(126, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_127, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(127, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_128, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(128, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_129, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(129, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_130, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(130, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_131, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(131, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_132, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(132, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_133, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(133, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_134, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(134, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_135, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(135, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_136, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(136, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_137, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(137, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_138, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(138, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_139, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(139, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_140, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(140, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_141, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(141, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_142, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(142, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_143, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(143, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_144, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(144, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_145, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(145, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_146, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(146, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_147, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(147, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_148, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(148, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_149, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(149, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_150, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(150, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_151, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(151, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_152, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(152, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_153, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(153, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_154, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(154, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_155, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(155, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_156, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(156, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_157, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(157, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_158, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(158, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_159, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(159, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_160, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(160, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_161, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(161, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_162, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(162, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_163, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(163, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_164, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(164, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_165, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(165, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_166, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(166, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_167, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(167, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_168, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(168, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_169, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(169, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_170, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(170, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_171, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(171, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_172, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(172, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_173, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(173, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_174, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(174, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_175, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(175, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_176, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(176, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_177, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(177, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_178, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(178, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_179, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(179, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_180, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(180, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_181, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(181, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_182, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(182, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_183, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(183, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_184, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(184, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_185, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(185, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_186, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(186, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_187, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(187, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_188, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(188, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_189, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(189, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_190, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(190, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_191, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(191, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_192, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(192, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_193, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(193, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_194, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(194, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_195, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(195, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_196, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(196, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_197, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(197, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_198, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(198, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_199, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(199, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_200, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(200, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_201, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(201, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_202, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(202, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_203, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(203, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_204, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(204, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_205, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(205, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_206, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(206, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_207, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(207, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_208, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(208, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_209, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(209, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_210, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(210, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_211, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(211, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_212, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(212, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_213, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(213, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_214, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(214, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_215, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(215, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_216, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(216, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_217, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(217, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_218, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(218, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_219, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(219, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_220, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(220, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_221, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(221, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_222, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(222, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_223, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(223, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_224, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(224, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_225, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(225, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_226, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(226, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_227, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(227, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_228, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(228, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_229, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(229, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_230, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(230, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_231, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(231, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_232, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(232, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_233, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(233, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_234, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(234, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_235, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(235, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_236, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(236, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_237, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(237, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_238, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(238, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_239, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(239, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_240, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(240, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_241, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(241, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_242, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(242, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_243, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(243, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_244, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(244, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_245, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(245, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_246, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(246, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_247, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(247, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_248, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(248, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_249, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(249, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_250, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(250, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_251, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(251, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_252, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(252, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_253, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(253, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_254, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(254, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_255, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(255, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_256, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(256, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_257, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(257, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# else
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_2, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(2, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_3, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(3, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_4, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(4, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_5, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(5, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_6, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(6, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_7, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(7, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_8, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(8, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_9, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(9, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_10, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(10, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_11, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(11, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_12, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(12, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_13, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(13, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_14, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(14, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_15, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(15, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_16, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(16, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_17, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(17, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_18, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(18, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_19, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(19, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_20, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(20, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_21, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(21, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_22, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(22, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_23, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(23, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_24, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(24, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_25, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(25, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_26, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(26, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_27, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(27, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_28, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(28, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_29, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(29, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_30, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(30, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_31, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(31, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_32, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(32, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_33, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(33, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_34, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(34, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_35, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(35, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_36, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(36, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_37, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(37, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_38, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(38, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_39, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(39, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_40, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(40, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_41, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(41, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_42, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(42, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_43, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(43, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_44, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(44, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_45, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(45, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_46, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(46, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_47, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(47, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_48, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(48, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_49, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(49, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_50, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(50, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_51, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(51, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_52, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(52, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_53, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(53, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_54, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(54, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_55, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(55, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_56, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(56, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_57, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(57, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_58, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(58, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_59, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(59, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_60, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(60, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_61, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(61, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_62, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(62, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_63, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(63, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_64, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(64, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_65, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(65, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_66, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(66, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_67, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(67, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_68, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(68, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_69, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(69, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_70, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(70, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_71, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(71, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_72, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(72, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_73, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(73, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_74, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(74, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_75, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(75, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_76, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(76, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_77, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(77, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_78, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(78, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_79, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(79, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_80, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(80, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_81, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(81, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_82, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(82, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_83, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(83, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_84, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(84, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_85, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(85, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_86, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(86, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_87, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(87, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_88, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(88, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_89, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(89, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_90, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(90, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_91, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(91, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_92, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(92, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_93, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(93, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_94, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(94, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_95, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(95, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_96, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(96, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_97, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(97, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_98, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(98, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_99, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(99, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_100, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(100, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_101, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(101, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_102, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(102, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_103, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(103, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_104, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(104, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_105, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(105, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_106, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(106, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_107, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(107, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_108, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(108, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_109, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(109, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_110, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(110, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_111, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(111, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_112, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(112, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_113, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(113, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_114, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(114, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_115, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(115, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_116, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(116, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_117, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(117, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_118, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(118, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_119, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(119, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_120, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(120, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_121, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(121, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_122, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(122, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_123, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(123, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_124, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(124, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_125, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(125, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_126, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(126, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_127, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(127, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_128, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(128, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_129, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(129, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_130, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(130, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_131, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(131, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_132, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(132, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_133, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(133, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_134, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(134, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_135, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(135, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_136, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(136, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_137, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(137, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_138, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(138, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_139, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(139, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_140, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(140, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_141, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(141, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_142, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(142, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_143, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(143, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_144, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(144, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_145, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(145, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_146, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(146, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_147, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(147, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_148, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(148, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_149, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(149, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_150, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(150, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_151, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(151, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_152, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(152, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_153, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(153, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_154, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(154, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_155, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(155, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_156, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(156, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_157, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(157, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_158, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(158, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_159, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(159, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_160, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(160, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_161, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(161, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_162, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(162, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_163, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(163, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_164, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(164, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_165, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(165, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_166, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(166, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_167, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(167, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_168, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(168, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_169, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(169, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_170, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(170, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_171, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(171, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_172, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(172, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_173, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(173, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_174, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(174, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_175, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(175, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_176, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(176, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_177, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(177, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_178, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(178, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_179, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(179, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_180, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(180, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_181, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(181, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_182, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(182, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_183, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(183, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_184, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(184, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_185, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(185, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_186, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(186, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_187, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(187, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_188, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(188, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_189, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(189, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_190, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(190, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_191, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(191, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_192, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(192, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_193, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(193, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_194, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(194, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_195, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(195, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_196, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(196, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_197, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(197, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_198, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(198, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_199, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(199, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_200, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(200, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_201, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(201, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_202, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(202, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_203, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(203, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_204, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(204, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_205, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(205, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_206, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(206, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_207, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(207, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_208, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(208, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_209, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(209, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_210, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(210, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_211, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(211, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_212, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(212, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_213, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(213, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_214, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(214, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_215, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(215, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_216, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(216, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_217, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(217, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_218, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(218, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_219, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(219, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_220, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(220, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_221, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(221, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_222, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(222, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_223, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(223, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_224, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(224, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_225, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(225, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_226, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(226, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_227, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(227, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_228, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(228, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_229, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(229, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_230, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(230, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_231, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(231, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_232, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(232, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_233, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(233, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_234, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(234, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_235, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(235, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_236, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(236, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_237, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(237, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_238, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(238, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_239, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(239, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_240, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(240, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_241, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(241, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_242, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(242, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_243, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(243, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_244, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(244, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_245, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(245, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_246, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(246, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_247, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(247, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_248, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(248, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_249, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(249, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_250, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(250, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_251, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(251, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_252, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(252, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_253, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(253, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_254, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(254, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_255, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(255, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_256, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(256, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_257, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(257, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/fold_right.hpp b/SRC/Boost/boost/preprocessor/seq/fold_right.hpp
deleted file mode 100755
index 180e97c..0000000
--- a/SRC/Boost/boost/preprocessor/seq/fold_right.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_FOLD_RIGHT_HPP
-# define BOOST_PREPROCESSOR_SEQ_FOLD_RIGHT_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/seq/fold_left.hpp>
-# include <boost/preprocessor/seq/reverse.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-#
-# /* BOOST_PP_SEQ_FOLD_RIGHT */
-#
-# if 0
-#    define BOOST_PP_SEQ_FOLD_RIGHT(op, state, seq) ...
-# endif
-#
-# define BOOST_PP_SEQ_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_SEQ_FOLD_RIGHT_, BOOST_PP_AUTO_REC(BOOST_PP_SEQ_FOLD_LEFT_P, 256))
-#
-# define BOOST_PP_SEQ_FOLD_RIGHT_257(op, st, ss) BOOST_PP_ERROR(0x0005)
-#
-# define BOOST_PP_SEQ_FOLD_RIGHT_1(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, BOOST_PP_SEQ_REVERSE_S(2, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_2(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, BOOST_PP_SEQ_REVERSE_S(3, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_3(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, BOOST_PP_SEQ_REVERSE_S(4, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_4(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, BOOST_PP_SEQ_REVERSE_S(5, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_5(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, BOOST_PP_SEQ_REVERSE_S(6, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_6(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, BOOST_PP_SEQ_REVERSE_S(7, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_7(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, BOOST_PP_SEQ_REVERSE_S(8, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_8(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, BOOST_PP_SEQ_REVERSE_S(9, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_9(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, BOOST_PP_SEQ_REVERSE_S(10, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_10(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, BOOST_PP_SEQ_REVERSE_S(11, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_11(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, BOOST_PP_SEQ_REVERSE_S(12, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_12(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, BOOST_PP_SEQ_REVERSE_S(13, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_13(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, BOOST_PP_SEQ_REVERSE_S(14, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_14(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, BOOST_PP_SEQ_REVERSE_S(15, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_15(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, BOOST_PP_SEQ_REVERSE_S(16, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_16(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, BOOST_PP_SEQ_REVERSE_S(17, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_17(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, BOOST_PP_SEQ_REVERSE_S(18, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_18(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, BOOST_PP_SEQ_REVERSE_S(19, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_19(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, BOOST_PP_SEQ_REVERSE_S(20, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_20(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, BOOST_PP_SEQ_REVERSE_S(21, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_21(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, BOOST_PP_SEQ_REVERSE_S(22, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_22(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, BOOST_PP_SEQ_REVERSE_S(23, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_23(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, BOOST_PP_SEQ_REVERSE_S(24, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_24(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, BOOST_PP_SEQ_REVERSE_S(25, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_25(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, BOOST_PP_SEQ_REVERSE_S(26, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_26(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, BOOST_PP_SEQ_REVERSE_S(27, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_27(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, BOOST_PP_SEQ_REVERSE_S(28, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_28(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, BOOST_PP_SEQ_REVERSE_S(29, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_29(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, BOOST_PP_SEQ_REVERSE_S(30, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_30(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, BOOST_PP_SEQ_REVERSE_S(31, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_31(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, BOOST_PP_SEQ_REVERSE_S(32, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_32(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, BOOST_PP_SEQ_REVERSE_S(33, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_33(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, BOOST_PP_SEQ_REVERSE_S(34, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_34(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, BOOST_PP_SEQ_REVERSE_S(35, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_35(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, BOOST_PP_SEQ_REVERSE_S(36, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_36(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, BOOST_PP_SEQ_REVERSE_S(37, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_37(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, BOOST_PP_SEQ_REVERSE_S(38, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_38(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, BOOST_PP_SEQ_REVERSE_S(39, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_39(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, BOOST_PP_SEQ_REVERSE_S(40, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_40(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, BOOST_PP_SEQ_REVERSE_S(41, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_41(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, BOOST_PP_SEQ_REVERSE_S(42, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_42(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, BOOST_PP_SEQ_REVERSE_S(43, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_43(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, BOOST_PP_SEQ_REVERSE_S(44, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_44(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, BOOST_PP_SEQ_REVERSE_S(45, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_45(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, BOOST_PP_SEQ_REVERSE_S(46, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_46(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, BOOST_PP_SEQ_REVERSE_S(47, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_47(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, BOOST_PP_SEQ_REVERSE_S(48, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_48(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, BOOST_PP_SEQ_REVERSE_S(49, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_49(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, BOOST_PP_SEQ_REVERSE_S(50, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_50(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, BOOST_PP_SEQ_REVERSE_S(51, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_51(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, BOOST_PP_SEQ_REVERSE_S(52, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_52(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, BOOST_PP_SEQ_REVERSE_S(53, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_53(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, BOOST_PP_SEQ_REVERSE_S(54, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_54(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, BOOST_PP_SEQ_REVERSE_S(55, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_55(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, BOOST_PP_SEQ_REVERSE_S(56, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_56(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, BOOST_PP_SEQ_REVERSE_S(57, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_57(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, BOOST_PP_SEQ_REVERSE_S(58, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_58(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, BOOST_PP_SEQ_REVERSE_S(59, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_59(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, BOOST_PP_SEQ_REVERSE_S(60, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_60(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, BOOST_PP_SEQ_REVERSE_S(61, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_61(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, BOOST_PP_SEQ_REVERSE_S(62, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_62(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, BOOST_PP_SEQ_REVERSE_S(63, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_63(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, BOOST_PP_SEQ_REVERSE_S(64, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_64(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, BOOST_PP_SEQ_REVERSE_S(65, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_65(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, BOOST_PP_SEQ_REVERSE_S(66, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_66(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, BOOST_PP_SEQ_REVERSE_S(67, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_67(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, BOOST_PP_SEQ_REVERSE_S(68, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_68(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, BOOST_PP_SEQ_REVERSE_S(69, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_69(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, BOOST_PP_SEQ_REVERSE_S(70, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_70(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, BOOST_PP_SEQ_REVERSE_S(71, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_71(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, BOOST_PP_SEQ_REVERSE_S(72, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_72(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, BOOST_PP_SEQ_REVERSE_S(73, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_73(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, BOOST_PP_SEQ_REVERSE_S(74, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_74(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, BOOST_PP_SEQ_REVERSE_S(75, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_75(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, BOOST_PP_SEQ_REVERSE_S(76, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_76(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, BOOST_PP_SEQ_REVERSE_S(77, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_77(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, BOOST_PP_SEQ_REVERSE_S(78, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_78(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, BOOST_PP_SEQ_REVERSE_S(79, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_79(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, BOOST_PP_SEQ_REVERSE_S(80, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_80(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, BOOST_PP_SEQ_REVERSE_S(81, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_81(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, BOOST_PP_SEQ_REVERSE_S(82, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_82(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, BOOST_PP_SEQ_REVERSE_S(83, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_83(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, BOOST_PP_SEQ_REVERSE_S(84, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_84(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, BOOST_PP_SEQ_REVERSE_S(85, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_85(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, BOOST_PP_SEQ_REVERSE_S(86, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_86(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, BOOST_PP_SEQ_REVERSE_S(87, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_87(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, BOOST_PP_SEQ_REVERSE_S(88, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_88(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, BOOST_PP_SEQ_REVERSE_S(89, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_89(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, BOOST_PP_SEQ_REVERSE_S(90, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_90(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, BOOST_PP_SEQ_REVERSE_S(91, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_91(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, BOOST_PP_SEQ_REVERSE_S(92, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_92(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, BOOST_PP_SEQ_REVERSE_S(93, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_93(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, BOOST_PP_SEQ_REVERSE_S(94, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_94(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, BOOST_PP_SEQ_REVERSE_S(95, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_95(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, BOOST_PP_SEQ_REVERSE_S(96, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_96(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, BOOST_PP_SEQ_REVERSE_S(97, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_97(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, BOOST_PP_SEQ_REVERSE_S(98, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_98(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, BOOST_PP_SEQ_REVERSE_S(99, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_99(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, BOOST_PP_SEQ_REVERSE_S(100, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_100(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, BOOST_PP_SEQ_REVERSE_S(101, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_101(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, BOOST_PP_SEQ_REVERSE_S(102, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_102(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, BOOST_PP_SEQ_REVERSE_S(103, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_103(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, BOOST_PP_SEQ_REVERSE_S(104, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_104(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, BOOST_PP_SEQ_REVERSE_S(105, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_105(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, BOOST_PP_SEQ_REVERSE_S(106, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_106(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, BOOST_PP_SEQ_REVERSE_S(107, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_107(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, BOOST_PP_SEQ_REVERSE_S(108, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_108(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, BOOST_PP_SEQ_REVERSE_S(109, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_109(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, BOOST_PP_SEQ_REVERSE_S(110, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_110(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, BOOST_PP_SEQ_REVERSE_S(111, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_111(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, BOOST_PP_SEQ_REVERSE_S(112, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_112(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, BOOST_PP_SEQ_REVERSE_S(113, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_113(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, BOOST_PP_SEQ_REVERSE_S(114, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_114(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, BOOST_PP_SEQ_REVERSE_S(115, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_115(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, BOOST_PP_SEQ_REVERSE_S(116, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_116(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, BOOST_PP_SEQ_REVERSE_S(117, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_117(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, BOOST_PP_SEQ_REVERSE_S(118, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_118(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, BOOST_PP_SEQ_REVERSE_S(119, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_119(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, BOOST_PP_SEQ_REVERSE_S(120, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_120(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, BOOST_PP_SEQ_REVERSE_S(121, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_121(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, BOOST_PP_SEQ_REVERSE_S(122, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_122(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, BOOST_PP_SEQ_REVERSE_S(123, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_123(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, BOOST_PP_SEQ_REVERSE_S(124, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_124(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, BOOST_PP_SEQ_REVERSE_S(125, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_125(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, BOOST_PP_SEQ_REVERSE_S(126, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_126(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, BOOST_PP_SEQ_REVERSE_S(127, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_127(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, BOOST_PP_SEQ_REVERSE_S(128, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_128(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, BOOST_PP_SEQ_REVERSE_S(129, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_129(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, BOOST_PP_SEQ_REVERSE_S(130, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_130(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, BOOST_PP_SEQ_REVERSE_S(131, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_131(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, BOOST_PP_SEQ_REVERSE_S(132, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_132(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, BOOST_PP_SEQ_REVERSE_S(133, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_133(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, BOOST_PP_SEQ_REVERSE_S(134, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_134(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, BOOST_PP_SEQ_REVERSE_S(135, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_135(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, BOOST_PP_SEQ_REVERSE_S(136, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_136(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, BOOST_PP_SEQ_REVERSE_S(137, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_137(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, BOOST_PP_SEQ_REVERSE_S(138, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_138(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, BOOST_PP_SEQ_REVERSE_S(139, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_139(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, BOOST_PP_SEQ_REVERSE_S(140, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_140(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, BOOST_PP_SEQ_REVERSE_S(141, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_141(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, BOOST_PP_SEQ_REVERSE_S(142, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_142(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, BOOST_PP_SEQ_REVERSE_S(143, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_143(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, BOOST_PP_SEQ_REVERSE_S(144, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_144(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, BOOST_PP_SEQ_REVERSE_S(145, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_145(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, BOOST_PP_SEQ_REVERSE_S(146, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_146(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, BOOST_PP_SEQ_REVERSE_S(147, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_147(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, BOOST_PP_SEQ_REVERSE_S(148, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_148(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, BOOST_PP_SEQ_REVERSE_S(149, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_149(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, BOOST_PP_SEQ_REVERSE_S(150, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_150(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, BOOST_PP_SEQ_REVERSE_S(151, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_151(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, BOOST_PP_SEQ_REVERSE_S(152, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_152(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, BOOST_PP_SEQ_REVERSE_S(153, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_153(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, BOOST_PP_SEQ_REVERSE_S(154, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_154(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, BOOST_PP_SEQ_REVERSE_S(155, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_155(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, BOOST_PP_SEQ_REVERSE_S(156, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_156(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, BOOST_PP_SEQ_REVERSE_S(157, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_157(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, BOOST_PP_SEQ_REVERSE_S(158, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_158(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, BOOST_PP_SEQ_REVERSE_S(159, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_159(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, BOOST_PP_SEQ_REVERSE_S(160, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_160(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, BOOST_PP_SEQ_REVERSE_S(161, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_161(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, BOOST_PP_SEQ_REVERSE_S(162, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_162(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, BOOST_PP_SEQ_REVERSE_S(163, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_163(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, BOOST_PP_SEQ_REVERSE_S(164, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_164(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, BOOST_PP_SEQ_REVERSE_S(165, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_165(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, BOOST_PP_SEQ_REVERSE_S(166, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_166(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, BOOST_PP_SEQ_REVERSE_S(167, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_167(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, BOOST_PP_SEQ_REVERSE_S(168, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_168(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, BOOST_PP_SEQ_REVERSE_S(169, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_169(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, BOOST_PP_SEQ_REVERSE_S(170, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_170(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, BOOST_PP_SEQ_REVERSE_S(171, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_171(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, BOOST_PP_SEQ_REVERSE_S(172, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_172(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, BOOST_PP_SEQ_REVERSE_S(173, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_173(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, BOOST_PP_SEQ_REVERSE_S(174, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_174(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, BOOST_PP_SEQ_REVERSE_S(175, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_175(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, BOOST_PP_SEQ_REVERSE_S(176, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_176(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, BOOST_PP_SEQ_REVERSE_S(177, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_177(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, BOOST_PP_SEQ_REVERSE_S(178, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_178(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, BOOST_PP_SEQ_REVERSE_S(179, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_179(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, BOOST_PP_SEQ_REVERSE_S(180, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_180(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, BOOST_PP_SEQ_REVERSE_S(181, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_181(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, BOOST_PP_SEQ_REVERSE_S(182, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_182(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, BOOST_PP_SEQ_REVERSE_S(183, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_183(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, BOOST_PP_SEQ_REVERSE_S(184, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_184(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, BOOST_PP_SEQ_REVERSE_S(185, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_185(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, BOOST_PP_SEQ_REVERSE_S(186, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_186(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, BOOST_PP_SEQ_REVERSE_S(187, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_187(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, BOOST_PP_SEQ_REVERSE_S(188, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_188(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, BOOST_PP_SEQ_REVERSE_S(189, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_189(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, BOOST_PP_SEQ_REVERSE_S(190, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_190(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, BOOST_PP_SEQ_REVERSE_S(191, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_191(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, BOOST_PP_SEQ_REVERSE_S(192, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_192(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, BOOST_PP_SEQ_REVERSE_S(193, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_193(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, BOOST_PP_SEQ_REVERSE_S(194, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_194(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, BOOST_PP_SEQ_REVERSE_S(195, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_195(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, BOOST_PP_SEQ_REVERSE_S(196, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_196(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, BOOST_PP_SEQ_REVERSE_S(197, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_197(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, BOOST_PP_SEQ_REVERSE_S(198, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_198(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, BOOST_PP_SEQ_REVERSE_S(199, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_199(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, BOOST_PP_SEQ_REVERSE_S(200, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_200(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, BOOST_PP_SEQ_REVERSE_S(201, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_201(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, BOOST_PP_SEQ_REVERSE_S(202, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_202(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, BOOST_PP_SEQ_REVERSE_S(203, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_203(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, BOOST_PP_SEQ_REVERSE_S(204, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_204(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, BOOST_PP_SEQ_REVERSE_S(205, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_205(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, BOOST_PP_SEQ_REVERSE_S(206, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_206(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, BOOST_PP_SEQ_REVERSE_S(207, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_207(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, BOOST_PP_SEQ_REVERSE_S(208, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_208(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, BOOST_PP_SEQ_REVERSE_S(209, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_209(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, BOOST_PP_SEQ_REVERSE_S(210, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_210(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, BOOST_PP_SEQ_REVERSE_S(211, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_211(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, BOOST_PP_SEQ_REVERSE_S(212, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_212(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, BOOST_PP_SEQ_REVERSE_S(213, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_213(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, BOOST_PP_SEQ_REVERSE_S(214, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_214(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, BOOST_PP_SEQ_REVERSE_S(215, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_215(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, BOOST_PP_SEQ_REVERSE_S(216, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_216(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, BOOST_PP_SEQ_REVERSE_S(217, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_217(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, BOOST_PP_SEQ_REVERSE_S(218, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_218(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, BOOST_PP_SEQ_REVERSE_S(219, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_219(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, BOOST_PP_SEQ_REVERSE_S(220, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_220(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, BOOST_PP_SEQ_REVERSE_S(221, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_221(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, BOOST_PP_SEQ_REVERSE_S(222, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_222(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, BOOST_PP_SEQ_REVERSE_S(223, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_223(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, BOOST_PP_SEQ_REVERSE_S(224, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_224(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, BOOST_PP_SEQ_REVERSE_S(225, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_225(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, BOOST_PP_SEQ_REVERSE_S(226, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_226(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, BOOST_PP_SEQ_REVERSE_S(227, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_227(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, BOOST_PP_SEQ_REVERSE_S(228, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_228(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, BOOST_PP_SEQ_REVERSE_S(229, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_229(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, BOOST_PP_SEQ_REVERSE_S(230, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_230(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, BOOST_PP_SEQ_REVERSE_S(231, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_231(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, BOOST_PP_SEQ_REVERSE_S(232, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_232(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, BOOST_PP_SEQ_REVERSE_S(233, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_233(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, BOOST_PP_SEQ_REVERSE_S(234, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_234(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, BOOST_PP_SEQ_REVERSE_S(235, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_235(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, BOOST_PP_SEQ_REVERSE_S(236, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_236(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, BOOST_PP_SEQ_REVERSE_S(237, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_237(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, BOOST_PP_SEQ_REVERSE_S(238, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_238(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, BOOST_PP_SEQ_REVERSE_S(239, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_239(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, BOOST_PP_SEQ_REVERSE_S(240, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_240(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, BOOST_PP_SEQ_REVERSE_S(241, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_241(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, BOOST_PP_SEQ_REVERSE_S(242, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_242(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, BOOST_PP_SEQ_REVERSE_S(243, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_243(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, BOOST_PP_SEQ_REVERSE_S(244, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_244(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, BOOST_PP_SEQ_REVERSE_S(245, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_245(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, BOOST_PP_SEQ_REVERSE_S(246, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_246(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, BOOST_PP_SEQ_REVERSE_S(247, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_247(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, BOOST_PP_SEQ_REVERSE_S(248, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_248(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, BOOST_PP_SEQ_REVERSE_S(249, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_249(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, BOOST_PP_SEQ_REVERSE_S(250, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_250(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, BOOST_PP_SEQ_REVERSE_S(251, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_251(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, BOOST_PP_SEQ_REVERSE_S(252, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_252(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, BOOST_PP_SEQ_REVERSE_S(253, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_253(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, BOOST_PP_SEQ_REVERSE_S(254, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_254(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, BOOST_PP_SEQ_REVERSE_S(255, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_255(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, BOOST_PP_SEQ_REVERSE_S(256, ss), BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_RIGHT_256(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, BOOST_PP_SEQ_REVERSE_S(257, ss), BOOST_PP_SEQ_SIZE(ss))
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/for_each.hpp b/SRC/Boost/boost/preprocessor/seq/for_each.hpp
deleted file mode 100755
index 3cb7474..0000000
--- a/SRC/Boost/boost/preprocessor/seq/for_each.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP
-# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/repetition/for.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_SEQ_FOR_EACH */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FOR_EACH(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
-# else
-#    define BOOST_PP_SEQ_FOR_EACH(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_D(macro, data, seq)
-#    define BOOST_PP_SEQ_FOR_EACH_D(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_P(r, x) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(3, 2, x)))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_SEQ_FOR_EACH_O(r, x) BOOST_PP_SEQ_FOR_EACH_O_I x
-# else
-#    define BOOST_PP_SEQ_FOR_EACH_O(r, x) BOOST_PP_SEQ_FOR_EACH_O_I(BOOST_PP_TUPLE_ELEM(3, 0, x), BOOST_PP_TUPLE_ELEM(3, 1, x), BOOST_PP_TUPLE_ELEM(3, 2, x))
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_O_I(macro, data, seq) (macro, data, BOOST_PP_SEQ_TAIL(seq))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_SEQ_FOR_EACH_M(r, x) BOOST_PP_SEQ_FOR_EACH_M_IM(r, BOOST_PP_TUPLE_REM_3 x)
-#    define BOOST_PP_SEQ_FOR_EACH_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_M_I(r, im)
-# else
-#    define BOOST_PP_SEQ_FOR_EACH_M(r, x) BOOST_PP_SEQ_FOR_EACH_M_I(r, BOOST_PP_TUPLE_ELEM(3, 0, x), BOOST_PP_TUPLE_ELEM(3, 1, x), BOOST_PP_TUPLE_ELEM(3, 2, x))
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_M_I(r, macro, data, seq) macro(r, data, BOOST_PP_SEQ_HEAD(seq))
-#
-# /* BOOST_PP_SEQ_FOR_EACH_R */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
-# else
-#    define BOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) BOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq)
-#    define BOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/for_each_i.hpp b/SRC/Boost/boost/preprocessor/seq/for_each_i.hpp
deleted file mode 100755
index 023645f..0000000
--- a/SRC/Boost/boost/preprocessor/seq/for_each_i.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_I_HPP
-# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_I_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/repetition/for.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_SEQ_FOR_EACH_I */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
-# else
-#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq)
-#    define BOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_I_P(r, x) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(4, 2, x)))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_SEQ_FOR_EACH_I_O(r, x) BOOST_PP_SEQ_FOR_EACH_I_O_I x
-# else
-#    define BOOST_PP_SEQ_FOR_EACH_I_O(r, x) BOOST_PP_SEQ_FOR_EACH_I_O_I(BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x))
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_I_O_I(macro, data, seq, i) (macro, data, BOOST_PP_SEQ_TAIL(seq), BOOST_PP_INC(i))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_SEQ_FOR_EACH_I_M(r, x) BOOST_PP_SEQ_FOR_EACH_I_M_IM(r, BOOST_PP_TUPLE_REM_4 x)
-#    define BOOST_PP_SEQ_FOR_EACH_I_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_I_M_I(r, im)
-# else
-#    define BOOST_PP_SEQ_FOR_EACH_I_M(r, x) BOOST_PP_SEQ_FOR_EACH_I_M_I(r, BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x))
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_I_M_I(r, macro, data, seq, i) macro(r, data, i, BOOST_PP_SEQ_HEAD(seq))
-#
-# /* BOOST_PP_SEQ_FOR_EACH_I_R */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
-# else
-#    define BOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq)
-#    define BOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/for_each_product.hpp b/SRC/Boost/boost/preprocessor/seq/for_each_product.hpp
deleted file mode 100755
index 95f7415..0000000
--- a/SRC/Boost/boost/preprocessor/seq/for_each_product.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_PRODUCT_HPP
-# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_PRODUCT_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/repetition/for.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_SEQ_FOR_EACH_PRODUCT */
-#
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT(macro, sets) BOOST_PP_SEQ_FOR_EACH_PRODUCT_E(BOOST_PP_FOR, macro, sets)
-#
-# /* BOOST_PP_SEQ_FOR_EACH_PRODUCT_R */
-#
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_R(r, macro, sets) BOOST_PP_SEQ_FOR_EACH_PRODUCT_E(BOOST_PP_FOR_ ## r, macro, sets)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_E(impl, macro, sets) impl((BOOST_PP_SEQ_HEAD(sets)(nil), BOOST_PP_SEQ_TAIL(sets)(nil), (nil), macro), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_0)
-# else
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_E(impl, macro, sets) BOOST_PP_SEQ_FOR_EACH_PRODUCT_E_I(impl, macro, sets)
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_E_I(impl, macro, sets) impl((BOOST_PP_SEQ_HEAD(sets)(nil), BOOST_PP_SEQ_TAIL(sets)(nil), (nil), macro), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_0)
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_P(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_P_I data
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_P_I(cset, rset, res, macro) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(cset))
-# else
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_P(r, data) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(4, 0, data)))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_O(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_O_I data
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_O_I(cset, rset, res, macro) (BOOST_PP_SEQ_TAIL(cset), rset, res, macro)
-# else
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_O(r, data) (BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(4, 0, data)), BOOST_PP_TUPLE_ELEM(4, 1, data), BOOST_PP_TUPLE_ELEM(4, 2, data), BOOST_PP_TUPLE_ELEM(4, 3, data))
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, i) BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(4, 1, data))), BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_ ## i, BOOST_PP_SEQ_FOR_EACH_PRODUCT_I)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_I(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_I_I(r, BOOST_PP_TUPLE_ELEM(4, 0, data), BOOST_PP_TUPLE_ELEM(4, 1, data), BOOST_PP_TUPLE_ELEM(4, 2, data), BOOST_PP_TUPLE_ELEM(4, 3, data))
-# else
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_I(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_I_IM(r, BOOST_PP_TUPLE_REM_4 data)
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_I_IM(r, im) BOOST_PP_SEQ_FOR_EACH_PRODUCT_I_I(r, im)
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_I_I(r, cset, rset, res, macro) macro(r, BOOST_PP_SEQ_TAIL(res (BOOST_PP_SEQ_HEAD(cset))))
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_H_I data
-# else
-#    define BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_H_I(BOOST_PP_TUPLE_ELEM(4, 0, data), BOOST_PP_TUPLE_ELEM(4, 1, data), BOOST_PP_TUPLE_ELEM(4, 2, data), BOOST_PP_TUPLE_ELEM(4, 3, data))
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_H_I(cset, rset, res, macro) (BOOST_PP_SEQ_HEAD(rset)(nil), BOOST_PP_SEQ_TAIL(rset), res (BOOST_PP_SEQ_HEAD(cset)), macro)
-#
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_0(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 0)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_1(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 1)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_2(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 2)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_3(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 3)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_4(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 4)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_5(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 5)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_6(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 6)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_7(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 7)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_8(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 8)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_9(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 9)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_10(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 10)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_11(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 11)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_12(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 12)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_13(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 13)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_14(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 14)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_15(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 15)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_16(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 16)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_17(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 17)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_18(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 18)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_19(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 19)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_20(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 20)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_21(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 21)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_22(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 22)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_23(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 23)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_24(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 24)(r, data)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_25(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 25)(r, data)
-#
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_0(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_1)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_1(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_2)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_2(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_3)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_3(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_4)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_4(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_5)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_5(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_6)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_6(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_7)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_7(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_8)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_8(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_9)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_9(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_10)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_10(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_11)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_11(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_12)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_12(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_13)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_13(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_14)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_14(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_15)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_15(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_16)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_16(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_17)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_17(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_18)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_18(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_19)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_19(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_20)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_20(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_21)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_21(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_22)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_22(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_23)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_23(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_24)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_24(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_25)
-# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_25(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_26)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/insert.hpp b/SRC/Boost/boost/preprocessor/seq/insert.hpp
deleted file mode 100755
index 2889a15..0000000
--- a/SRC/Boost/boost/preprocessor/seq/insert.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_INSERT_HPP
-# define BOOST_PREPROCESSOR_SEQ_INSERT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/first_n.hpp>
-# include <boost/preprocessor/seq/rest_n.hpp>
-#
-# /* BOOST_PP_SEQ_INSERT */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_INSERT(seq, i, elem) BOOST_PP_SEQ_FIRST_N(i, seq) (elem) BOOST_PP_SEQ_REST_N(i, seq)
-# else
-#    define BOOST_PP_SEQ_INSERT(seq, i, elem) BOOST_PP_SEQ_INSERT_I(seq, i, elem)
-#    define BOOST_PP_SEQ_INSERT_I(seq, i, elem) BOOST_PP_SEQ_FIRST_N(i, seq) (elem) BOOST_PP_SEQ_REST_N(i, seq)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/pop_back.hpp b/SRC/Boost/boost/preprocessor/seq/pop_back.hpp
deleted file mode 100755
index 2014ea5..0000000
--- a/SRC/Boost/boost/preprocessor/seq/pop_back.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_POP_BACK_HPP
-# define BOOST_PREPROCESSOR_SEQ_POP_BACK_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/first_n.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-#
-# /* BOOST_PP_SEQ_POP_BACK */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_POP_BACK(seq) BOOST_PP_SEQ_FIRST_N(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), seq)
-# else
-#    define BOOST_PP_SEQ_POP_BACK(seq) BOOST_PP_SEQ_POP_BACK_I(seq)
-#    define BOOST_PP_SEQ_POP_BACK_I(seq) BOOST_PP_SEQ_FIRST_N(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), seq)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/pop_front.hpp b/SRC/Boost/boost/preprocessor/seq/pop_front.hpp
deleted file mode 100755
index f2ab4d9..0000000
--- a/SRC/Boost/boost/preprocessor/seq/pop_front.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_POP_FRONT_HPP
-# define BOOST_PREPROCESSOR_SEQ_POP_FRONT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-#
-# /* BOOST_PP_SEQ_POP_FRONT */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_POP_FRONT(seq) BOOST_PP_SEQ_TAIL(seq)
-# else
-#    define BOOST_PP_SEQ_POP_FRONT(seq) BOOST_PP_SEQ_POP_FRONT_I(seq)
-#    define BOOST_PP_SEQ_POP_FRONT_I(seq) BOOST_PP_SEQ_TAIL(seq)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/push_back.hpp b/SRC/Boost/boost/preprocessor/seq/push_back.hpp
deleted file mode 100755
index 28f1e42..0000000
--- a/SRC/Boost/boost/preprocessor/seq/push_back.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_PUSH_BACK_HPP
-# define BOOST_PREPROCESSOR_SEQ_PUSH_BACK_HPP
-#
-# /* BOOST_PP_SEQ_PUSH_BACK */
-#
-# define BOOST_PP_SEQ_PUSH_BACK(seq, elem) seq(elem)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/push_front.hpp b/SRC/Boost/boost/preprocessor/seq/push_front.hpp
deleted file mode 100755
index d5ee994..0000000
--- a/SRC/Boost/boost/preprocessor/seq/push_front.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_PUSH_FRONT_HPP
-# define BOOST_PREPROCESSOR_SEQ_PUSH_FRONT_HPP
-#
-# /* BOOST_PP_SEQ_PUSH_FRONT */
-#
-# define BOOST_PP_SEQ_PUSH_FRONT(seq, elem) (elem)seq
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/remove.hpp b/SRC/Boost/boost/preprocessor/seq/remove.hpp
deleted file mode 100755
index 64fabe0..0000000
--- a/SRC/Boost/boost/preprocessor/seq/remove.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_REMOVE_HPP
-# define BOOST_PREPROCESSOR_SEQ_REMOVE_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/first_n.hpp>
-# include <boost/preprocessor/seq/rest_n.hpp>
-#
-# /* BOOST_PP_SEQ_REMOVE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_REMOVE(seq, i) BOOST_PP_SEQ_FIRST_N(i, seq) BOOST_PP_SEQ_REST_N(BOOST_PP_INC(i), seq)
-# else
-#    define BOOST_PP_SEQ_REMOVE(seq, i) BOOST_PP_SEQ_REMOVE_I(seq, i)
-#    define BOOST_PP_SEQ_REMOVE_I(seq, i) BOOST_PP_SEQ_FIRST_N(i, seq) BOOST_PP_SEQ_REST_N(BOOST_PP_INC(i), seq)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/replace.hpp b/SRC/Boost/boost/preprocessor/seq/replace.hpp
deleted file mode 100755
index 70f484f..0000000
--- a/SRC/Boost/boost/preprocessor/seq/replace.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_REPLACE_HPP
-# define BOOST_PREPROCESSOR_SEQ_REPLACE_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/first_n.hpp>
-# include <boost/preprocessor/seq/rest_n.hpp>
-#
-# /* BOOST_PP_SEQ_REPLACE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_REPLACE(seq, i, elem) BOOST_PP_SEQ_FIRST_N(i, seq) (elem) BOOST_PP_SEQ_REST_N(BOOST_PP_INC(i), seq)
-# else
-#    define BOOST_PP_SEQ_REPLACE(seq, i, elem) BOOST_PP_SEQ_REPLACE_I(seq, i, elem)
-#    define BOOST_PP_SEQ_REPLACE_I(seq, i, elem) BOOST_PP_SEQ_FIRST_N(i, seq) (elem) BOOST_PP_SEQ_REST_N(BOOST_PP_INC(i), seq)
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/rest_n.hpp b/SRC/Boost/boost/preprocessor/seq/rest_n.hpp
deleted file mode 100755
index 291749a..0000000
--- a/SRC/Boost/boost/preprocessor/seq/rest_n.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_REST_N_HPP
-# define BOOST_PREPROCESSOR_SEQ_REST_N_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/empty.hpp>
-# include <boost/preprocessor/seq/detail/split.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_SEQ_REST_N */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), (nil) seq BOOST_PP_EMPTY))()
-# else
-#    define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_SEQ_REST_N_I(n, seq)
-#    define BOOST_PP_SEQ_REST_N_I(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), (nil) seq BOOST_PP_EMPTY))()
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/reverse.hpp b/SRC/Boost/boost/preprocessor/seq/reverse.hpp
deleted file mode 100755
index 48cada0..0000000
--- a/SRC/Boost/boost/preprocessor/seq/reverse.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_REVERSE_HPP
-# define BOOST_PREPROCESSOR_SEQ_REVERSE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/empty.hpp>
-# include <boost/preprocessor/seq/fold_left.hpp>
-#
-# /* BOOST_PP_SEQ_REVERSE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_REVERSE(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)()
-# else
-#    define BOOST_PP_SEQ_REVERSE(seq) BOOST_PP_SEQ_REVERSE_I(seq)
-#    define BOOST_PP_SEQ_REVERSE_I(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)()
-# endif
-#
-# define BOOST_PP_SEQ_REVERSE_O(s, state, elem) (elem) state
-#
-# /* BOOST_PP_SEQ_REVERSE_S */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_REVERSE_S(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)()
-# else
-#    define BOOST_PP_SEQ_REVERSE_S(s, seq) BOOST_PP_SEQ_REVERSE_S_I(s, seq)
-#    define BOOST_PP_SEQ_REVERSE_S_I(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)()
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/seq.hpp b/SRC/Boost/boost/preprocessor/seq/seq.hpp
deleted file mode 100755
index 1ae331d..0000000
--- a/SRC/Boost/boost/preprocessor/seq/seq.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_SEQ_HPP
-# define BOOST_PREPROCESSOR_SEQ_SEQ_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/elem.hpp>
-#
-# /* BOOST_PP_SEQ_HEAD */
-#
-# define BOOST_PP_SEQ_HEAD(seq) BOOST_PP_SEQ_ELEM(0, seq)
-#
-# /* BOOST_PP_SEQ_TAIL */
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_1((seq))
-#    define BOOST_PP_SEQ_TAIL_1(par) BOOST_PP_SEQ_TAIL_2 ## par
-#    define BOOST_PP_SEQ_TAIL_2(seq) BOOST_PP_SEQ_TAIL_I ## seq
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_ID(BOOST_PP_SEQ_TAIL_I seq)
-#    define BOOST_PP_SEQ_TAIL_ID(id) id
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_D(seq)
-#    define BOOST_PP_SEQ_TAIL_D(seq) BOOST_PP_SEQ_TAIL_I seq
-# else
-#    define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_I seq
-# endif
-#
-# define BOOST_PP_SEQ_TAIL_I(x)
-#
-# /* BOOST_PP_SEQ_NIL */
-#
-# define BOOST_PP_SEQ_NIL(x) (x)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/size.hpp b/SRC/Boost/boost/preprocessor/seq/size.hpp
deleted file mode 100755
index 262dbbb..0000000
--- a/SRC/Boost/boost/preprocessor/seq/size.hpp
+++ /dev/null
@@ -1,547 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_SIZE_HPP
-# define BOOST_PREPROCESSOR_SEQ_SIZE_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I((seq))
-#    define BOOST_PP_SEQ_SIZE_I(par) BOOST_PP_SEQ_SIZE_II ## par
-#    define BOOST_PP_SEQ_SIZE_II(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 ## seq)
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() || BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I(seq)
-#    define BOOST_PP_SEQ_SIZE_I(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq)
-# elif defined(__IBMC__) || defined(__IBMCPP__)
-#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
-# else
-#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq)
-# endif
-#
-# define BOOST_PP_SEQ_SIZE_0(_) BOOST_PP_SEQ_SIZE_1
-# define BOOST_PP_SEQ_SIZE_1(_) BOOST_PP_SEQ_SIZE_2
-# define BOOST_PP_SEQ_SIZE_2(_) BOOST_PP_SEQ_SIZE_3
-# define BOOST_PP_SEQ_SIZE_3(_) BOOST_PP_SEQ_SIZE_4
-# define BOOST_PP_SEQ_SIZE_4(_) BOOST_PP_SEQ_SIZE_5
-# define BOOST_PP_SEQ_SIZE_5(_) BOOST_PP_SEQ_SIZE_6
-# define BOOST_PP_SEQ_SIZE_6(_) BOOST_PP_SEQ_SIZE_7
-# define BOOST_PP_SEQ_SIZE_7(_) BOOST_PP_SEQ_SIZE_8
-# define BOOST_PP_SEQ_SIZE_8(_) BOOST_PP_SEQ_SIZE_9
-# define BOOST_PP_SEQ_SIZE_9(_) BOOST_PP_SEQ_SIZE_10
-# define BOOST_PP_SEQ_SIZE_10(_) BOOST_PP_SEQ_SIZE_11
-# define BOOST_PP_SEQ_SIZE_11(_) BOOST_PP_SEQ_SIZE_12
-# define BOOST_PP_SEQ_SIZE_12(_) BOOST_PP_SEQ_SIZE_13
-# define BOOST_PP_SEQ_SIZE_13(_) BOOST_PP_SEQ_SIZE_14
-# define BOOST_PP_SEQ_SIZE_14(_) BOOST_PP_SEQ_SIZE_15
-# define BOOST_PP_SEQ_SIZE_15(_) BOOST_PP_SEQ_SIZE_16
-# define BOOST_PP_SEQ_SIZE_16(_) BOOST_PP_SEQ_SIZE_17
-# define BOOST_PP_SEQ_SIZE_17(_) BOOST_PP_SEQ_SIZE_18
-# define BOOST_PP_SEQ_SIZE_18(_) BOOST_PP_SEQ_SIZE_19
-# define BOOST_PP_SEQ_SIZE_19(_) BOOST_PP_SEQ_SIZE_20
-# define BOOST_PP_SEQ_SIZE_20(_) BOOST_PP_SEQ_SIZE_21
-# define BOOST_PP_SEQ_SIZE_21(_) BOOST_PP_SEQ_SIZE_22
-# define BOOST_PP_SEQ_SIZE_22(_) BOOST_PP_SEQ_SIZE_23
-# define BOOST_PP_SEQ_SIZE_23(_) BOOST_PP_SEQ_SIZE_24
-# define BOOST_PP_SEQ_SIZE_24(_) BOOST_PP_SEQ_SIZE_25
-# define BOOST_PP_SEQ_SIZE_25(_) BOOST_PP_SEQ_SIZE_26
-# define BOOST_PP_SEQ_SIZE_26(_) BOOST_PP_SEQ_SIZE_27
-# define BOOST_PP_SEQ_SIZE_27(_) BOOST_PP_SEQ_SIZE_28
-# define BOOST_PP_SEQ_SIZE_28(_) BOOST_PP_SEQ_SIZE_29
-# define BOOST_PP_SEQ_SIZE_29(_) BOOST_PP_SEQ_SIZE_30
-# define BOOST_PP_SEQ_SIZE_30(_) BOOST_PP_SEQ_SIZE_31
-# define BOOST_PP_SEQ_SIZE_31(_) BOOST_PP_SEQ_SIZE_32
-# define BOOST_PP_SEQ_SIZE_32(_) BOOST_PP_SEQ_SIZE_33
-# define BOOST_PP_SEQ_SIZE_33(_) BOOST_PP_SEQ_SIZE_34
-# define BOOST_PP_SEQ_SIZE_34(_) BOOST_PP_SEQ_SIZE_35
-# define BOOST_PP_SEQ_SIZE_35(_) BOOST_PP_SEQ_SIZE_36
-# define BOOST_PP_SEQ_SIZE_36(_) BOOST_PP_SEQ_SIZE_37
-# define BOOST_PP_SEQ_SIZE_37(_) BOOST_PP_SEQ_SIZE_38
-# define BOOST_PP_SEQ_SIZE_38(_) BOOST_PP_SEQ_SIZE_39
-# define BOOST_PP_SEQ_SIZE_39(_) BOOST_PP_SEQ_SIZE_40
-# define BOOST_PP_SEQ_SIZE_40(_) BOOST_PP_SEQ_SIZE_41
-# define BOOST_PP_SEQ_SIZE_41(_) BOOST_PP_SEQ_SIZE_42
-# define BOOST_PP_SEQ_SIZE_42(_) BOOST_PP_SEQ_SIZE_43
-# define BOOST_PP_SEQ_SIZE_43(_) BOOST_PP_SEQ_SIZE_44
-# define BOOST_PP_SEQ_SIZE_44(_) BOOST_PP_SEQ_SIZE_45
-# define BOOST_PP_SEQ_SIZE_45(_) BOOST_PP_SEQ_SIZE_46
-# define BOOST_PP_SEQ_SIZE_46(_) BOOST_PP_SEQ_SIZE_47
-# define BOOST_PP_SEQ_SIZE_47(_) BOOST_PP_SEQ_SIZE_48
-# define BOOST_PP_SEQ_SIZE_48(_) BOOST_PP_SEQ_SIZE_49
-# define BOOST_PP_SEQ_SIZE_49(_) BOOST_PP_SEQ_SIZE_50
-# define BOOST_PP_SEQ_SIZE_50(_) BOOST_PP_SEQ_SIZE_51
-# define BOOST_PP_SEQ_SIZE_51(_) BOOST_PP_SEQ_SIZE_52
-# define BOOST_PP_SEQ_SIZE_52(_) BOOST_PP_SEQ_SIZE_53
-# define BOOST_PP_SEQ_SIZE_53(_) BOOST_PP_SEQ_SIZE_54
-# define BOOST_PP_SEQ_SIZE_54(_) BOOST_PP_SEQ_SIZE_55
-# define BOOST_PP_SEQ_SIZE_55(_) BOOST_PP_SEQ_SIZE_56
-# define BOOST_PP_SEQ_SIZE_56(_) BOOST_PP_SEQ_SIZE_57
-# define BOOST_PP_SEQ_SIZE_57(_) BOOST_PP_SEQ_SIZE_58
-# define BOOST_PP_SEQ_SIZE_58(_) BOOST_PP_SEQ_SIZE_59
-# define BOOST_PP_SEQ_SIZE_59(_) BOOST_PP_SEQ_SIZE_60
-# define BOOST_PP_SEQ_SIZE_60(_) BOOST_PP_SEQ_SIZE_61
-# define BOOST_PP_SEQ_SIZE_61(_) BOOST_PP_SEQ_SIZE_62
-# define BOOST_PP_SEQ_SIZE_62(_) BOOST_PP_SEQ_SIZE_63
-# define BOOST_PP_SEQ_SIZE_63(_) BOOST_PP_SEQ_SIZE_64
-# define BOOST_PP_SEQ_SIZE_64(_) BOOST_PP_SEQ_SIZE_65
-# define BOOST_PP_SEQ_SIZE_65(_) BOOST_PP_SEQ_SIZE_66
-# define BOOST_PP_SEQ_SIZE_66(_) BOOST_PP_SEQ_SIZE_67
-# define BOOST_PP_SEQ_SIZE_67(_) BOOST_PP_SEQ_SIZE_68
-# define BOOST_PP_SEQ_SIZE_68(_) BOOST_PP_SEQ_SIZE_69
-# define BOOST_PP_SEQ_SIZE_69(_) BOOST_PP_SEQ_SIZE_70
-# define BOOST_PP_SEQ_SIZE_70(_) BOOST_PP_SEQ_SIZE_71
-# define BOOST_PP_SEQ_SIZE_71(_) BOOST_PP_SEQ_SIZE_72
-# define BOOST_PP_SEQ_SIZE_72(_) BOOST_PP_SEQ_SIZE_73
-# define BOOST_PP_SEQ_SIZE_73(_) BOOST_PP_SEQ_SIZE_74
-# define BOOST_PP_SEQ_SIZE_74(_) BOOST_PP_SEQ_SIZE_75
-# define BOOST_PP_SEQ_SIZE_75(_) BOOST_PP_SEQ_SIZE_76
-# define BOOST_PP_SEQ_SIZE_76(_) BOOST_PP_SEQ_SIZE_77
-# define BOOST_PP_SEQ_SIZE_77(_) BOOST_PP_SEQ_SIZE_78
-# define BOOST_PP_SEQ_SIZE_78(_) BOOST_PP_SEQ_SIZE_79
-# define BOOST_PP_SEQ_SIZE_79(_) BOOST_PP_SEQ_SIZE_80
-# define BOOST_PP_SEQ_SIZE_80(_) BOOST_PP_SEQ_SIZE_81
-# define BOOST_PP_SEQ_SIZE_81(_) BOOST_PP_SEQ_SIZE_82
-# define BOOST_PP_SEQ_SIZE_82(_) BOOST_PP_SEQ_SIZE_83
-# define BOOST_PP_SEQ_SIZE_83(_) BOOST_PP_SEQ_SIZE_84
-# define BOOST_PP_SEQ_SIZE_84(_) BOOST_PP_SEQ_SIZE_85
-# define BOOST_PP_SEQ_SIZE_85(_) BOOST_PP_SEQ_SIZE_86
-# define BOOST_PP_SEQ_SIZE_86(_) BOOST_PP_SEQ_SIZE_87
-# define BOOST_PP_SEQ_SIZE_87(_) BOOST_PP_SEQ_SIZE_88
-# define BOOST_PP_SEQ_SIZE_88(_) BOOST_PP_SEQ_SIZE_89
-# define BOOST_PP_SEQ_SIZE_89(_) BOOST_PP_SEQ_SIZE_90
-# define BOOST_PP_SEQ_SIZE_90(_) BOOST_PP_SEQ_SIZE_91
-# define BOOST_PP_SEQ_SIZE_91(_) BOOST_PP_SEQ_SIZE_92
-# define BOOST_PP_SEQ_SIZE_92(_) BOOST_PP_SEQ_SIZE_93
-# define BOOST_PP_SEQ_SIZE_93(_) BOOST_PP_SEQ_SIZE_94
-# define BOOST_PP_SEQ_SIZE_94(_) BOOST_PP_SEQ_SIZE_95
-# define BOOST_PP_SEQ_SIZE_95(_) BOOST_PP_SEQ_SIZE_96
-# define BOOST_PP_SEQ_SIZE_96(_) BOOST_PP_SEQ_SIZE_97
-# define BOOST_PP_SEQ_SIZE_97(_) BOOST_PP_SEQ_SIZE_98
-# define BOOST_PP_SEQ_SIZE_98(_) BOOST_PP_SEQ_SIZE_99
-# define BOOST_PP_SEQ_SIZE_99(_) BOOST_PP_SEQ_SIZE_100
-# define BOOST_PP_SEQ_SIZE_100(_) BOOST_PP_SEQ_SIZE_101
-# define BOOST_PP_SEQ_SIZE_101(_) BOOST_PP_SEQ_SIZE_102
-# define BOOST_PP_SEQ_SIZE_102(_) BOOST_PP_SEQ_SIZE_103
-# define BOOST_PP_SEQ_SIZE_103(_) BOOST_PP_SEQ_SIZE_104
-# define BOOST_PP_SEQ_SIZE_104(_) BOOST_PP_SEQ_SIZE_105
-# define BOOST_PP_SEQ_SIZE_105(_) BOOST_PP_SEQ_SIZE_106
-# define BOOST_PP_SEQ_SIZE_106(_) BOOST_PP_SEQ_SIZE_107
-# define BOOST_PP_SEQ_SIZE_107(_) BOOST_PP_SEQ_SIZE_108
-# define BOOST_PP_SEQ_SIZE_108(_) BOOST_PP_SEQ_SIZE_109
-# define BOOST_PP_SEQ_SIZE_109(_) BOOST_PP_SEQ_SIZE_110
-# define BOOST_PP_SEQ_SIZE_110(_) BOOST_PP_SEQ_SIZE_111
-# define BOOST_PP_SEQ_SIZE_111(_) BOOST_PP_SEQ_SIZE_112
-# define BOOST_PP_SEQ_SIZE_112(_) BOOST_PP_SEQ_SIZE_113
-# define BOOST_PP_SEQ_SIZE_113(_) BOOST_PP_SEQ_SIZE_114
-# define BOOST_PP_SEQ_SIZE_114(_) BOOST_PP_SEQ_SIZE_115
-# define BOOST_PP_SEQ_SIZE_115(_) BOOST_PP_SEQ_SIZE_116
-# define BOOST_PP_SEQ_SIZE_116(_) BOOST_PP_SEQ_SIZE_117
-# define BOOST_PP_SEQ_SIZE_117(_) BOOST_PP_SEQ_SIZE_118
-# define BOOST_PP_SEQ_SIZE_118(_) BOOST_PP_SEQ_SIZE_119
-# define BOOST_PP_SEQ_SIZE_119(_) BOOST_PP_SEQ_SIZE_120
-# define BOOST_PP_SEQ_SIZE_120(_) BOOST_PP_SEQ_SIZE_121
-# define BOOST_PP_SEQ_SIZE_121(_) BOOST_PP_SEQ_SIZE_122
-# define BOOST_PP_SEQ_SIZE_122(_) BOOST_PP_SEQ_SIZE_123
-# define BOOST_PP_SEQ_SIZE_123(_) BOOST_PP_SEQ_SIZE_124
-# define BOOST_PP_SEQ_SIZE_124(_) BOOST_PP_SEQ_SIZE_125
-# define BOOST_PP_SEQ_SIZE_125(_) BOOST_PP_SEQ_SIZE_126
-# define BOOST_PP_SEQ_SIZE_126(_) BOOST_PP_SEQ_SIZE_127
-# define BOOST_PP_SEQ_SIZE_127(_) BOOST_PP_SEQ_SIZE_128
-# define BOOST_PP_SEQ_SIZE_128(_) BOOST_PP_SEQ_SIZE_129
-# define BOOST_PP_SEQ_SIZE_129(_) BOOST_PP_SEQ_SIZE_130
-# define BOOST_PP_SEQ_SIZE_130(_) BOOST_PP_SEQ_SIZE_131
-# define BOOST_PP_SEQ_SIZE_131(_) BOOST_PP_SEQ_SIZE_132
-# define BOOST_PP_SEQ_SIZE_132(_) BOOST_PP_SEQ_SIZE_133
-# define BOOST_PP_SEQ_SIZE_133(_) BOOST_PP_SEQ_SIZE_134
-# define BOOST_PP_SEQ_SIZE_134(_) BOOST_PP_SEQ_SIZE_135
-# define BOOST_PP_SEQ_SIZE_135(_) BOOST_PP_SEQ_SIZE_136
-# define BOOST_PP_SEQ_SIZE_136(_) BOOST_PP_SEQ_SIZE_137
-# define BOOST_PP_SEQ_SIZE_137(_) BOOST_PP_SEQ_SIZE_138
-# define BOOST_PP_SEQ_SIZE_138(_) BOOST_PP_SEQ_SIZE_139
-# define BOOST_PP_SEQ_SIZE_139(_) BOOST_PP_SEQ_SIZE_140
-# define BOOST_PP_SEQ_SIZE_140(_) BOOST_PP_SEQ_SIZE_141
-# define BOOST_PP_SEQ_SIZE_141(_) BOOST_PP_SEQ_SIZE_142
-# define BOOST_PP_SEQ_SIZE_142(_) BOOST_PP_SEQ_SIZE_143
-# define BOOST_PP_SEQ_SIZE_143(_) BOOST_PP_SEQ_SIZE_144
-# define BOOST_PP_SEQ_SIZE_144(_) BOOST_PP_SEQ_SIZE_145
-# define BOOST_PP_SEQ_SIZE_145(_) BOOST_PP_SEQ_SIZE_146
-# define BOOST_PP_SEQ_SIZE_146(_) BOOST_PP_SEQ_SIZE_147
-# define BOOST_PP_SEQ_SIZE_147(_) BOOST_PP_SEQ_SIZE_148
-# define BOOST_PP_SEQ_SIZE_148(_) BOOST_PP_SEQ_SIZE_149
-# define BOOST_PP_SEQ_SIZE_149(_) BOOST_PP_SEQ_SIZE_150
-# define BOOST_PP_SEQ_SIZE_150(_) BOOST_PP_SEQ_SIZE_151
-# define BOOST_PP_SEQ_SIZE_151(_) BOOST_PP_SEQ_SIZE_152
-# define BOOST_PP_SEQ_SIZE_152(_) BOOST_PP_SEQ_SIZE_153
-# define BOOST_PP_SEQ_SIZE_153(_) BOOST_PP_SEQ_SIZE_154
-# define BOOST_PP_SEQ_SIZE_154(_) BOOST_PP_SEQ_SIZE_155
-# define BOOST_PP_SEQ_SIZE_155(_) BOOST_PP_SEQ_SIZE_156
-# define BOOST_PP_SEQ_SIZE_156(_) BOOST_PP_SEQ_SIZE_157
-# define BOOST_PP_SEQ_SIZE_157(_) BOOST_PP_SEQ_SIZE_158
-# define BOOST_PP_SEQ_SIZE_158(_) BOOST_PP_SEQ_SIZE_159
-# define BOOST_PP_SEQ_SIZE_159(_) BOOST_PP_SEQ_SIZE_160
-# define BOOST_PP_SEQ_SIZE_160(_) BOOST_PP_SEQ_SIZE_161
-# define BOOST_PP_SEQ_SIZE_161(_) BOOST_PP_SEQ_SIZE_162
-# define BOOST_PP_SEQ_SIZE_162(_) BOOST_PP_SEQ_SIZE_163
-# define BOOST_PP_SEQ_SIZE_163(_) BOOST_PP_SEQ_SIZE_164
-# define BOOST_PP_SEQ_SIZE_164(_) BOOST_PP_SEQ_SIZE_165
-# define BOOST_PP_SEQ_SIZE_165(_) BOOST_PP_SEQ_SIZE_166
-# define BOOST_PP_SEQ_SIZE_166(_) BOOST_PP_SEQ_SIZE_167
-# define BOOST_PP_SEQ_SIZE_167(_) BOOST_PP_SEQ_SIZE_168
-# define BOOST_PP_SEQ_SIZE_168(_) BOOST_PP_SEQ_SIZE_169
-# define BOOST_PP_SEQ_SIZE_169(_) BOOST_PP_SEQ_SIZE_170
-# define BOOST_PP_SEQ_SIZE_170(_) BOOST_PP_SEQ_SIZE_171
-# define BOOST_PP_SEQ_SIZE_171(_) BOOST_PP_SEQ_SIZE_172
-# define BOOST_PP_SEQ_SIZE_172(_) BOOST_PP_SEQ_SIZE_173
-# define BOOST_PP_SEQ_SIZE_173(_) BOOST_PP_SEQ_SIZE_174
-# define BOOST_PP_SEQ_SIZE_174(_) BOOST_PP_SEQ_SIZE_175
-# define BOOST_PP_SEQ_SIZE_175(_) BOOST_PP_SEQ_SIZE_176
-# define BOOST_PP_SEQ_SIZE_176(_) BOOST_PP_SEQ_SIZE_177
-# define BOOST_PP_SEQ_SIZE_177(_) BOOST_PP_SEQ_SIZE_178
-# define BOOST_PP_SEQ_SIZE_178(_) BOOST_PP_SEQ_SIZE_179
-# define BOOST_PP_SEQ_SIZE_179(_) BOOST_PP_SEQ_SIZE_180
-# define BOOST_PP_SEQ_SIZE_180(_) BOOST_PP_SEQ_SIZE_181
-# define BOOST_PP_SEQ_SIZE_181(_) BOOST_PP_SEQ_SIZE_182
-# define BOOST_PP_SEQ_SIZE_182(_) BOOST_PP_SEQ_SIZE_183
-# define BOOST_PP_SEQ_SIZE_183(_) BOOST_PP_SEQ_SIZE_184
-# define BOOST_PP_SEQ_SIZE_184(_) BOOST_PP_SEQ_SIZE_185
-# define BOOST_PP_SEQ_SIZE_185(_) BOOST_PP_SEQ_SIZE_186
-# define BOOST_PP_SEQ_SIZE_186(_) BOOST_PP_SEQ_SIZE_187
-# define BOOST_PP_SEQ_SIZE_187(_) BOOST_PP_SEQ_SIZE_188
-# define BOOST_PP_SEQ_SIZE_188(_) BOOST_PP_SEQ_SIZE_189
-# define BOOST_PP_SEQ_SIZE_189(_) BOOST_PP_SEQ_SIZE_190
-# define BOOST_PP_SEQ_SIZE_190(_) BOOST_PP_SEQ_SIZE_191
-# define BOOST_PP_SEQ_SIZE_191(_) BOOST_PP_SEQ_SIZE_192
-# define BOOST_PP_SEQ_SIZE_192(_) BOOST_PP_SEQ_SIZE_193
-# define BOOST_PP_SEQ_SIZE_193(_) BOOST_PP_SEQ_SIZE_194
-# define BOOST_PP_SEQ_SIZE_194(_) BOOST_PP_SEQ_SIZE_195
-# define BOOST_PP_SEQ_SIZE_195(_) BOOST_PP_SEQ_SIZE_196
-# define BOOST_PP_SEQ_SIZE_196(_) BOOST_PP_SEQ_SIZE_197
-# define BOOST_PP_SEQ_SIZE_197(_) BOOST_PP_SEQ_SIZE_198
-# define BOOST_PP_SEQ_SIZE_198(_) BOOST_PP_SEQ_SIZE_199
-# define BOOST_PP_SEQ_SIZE_199(_) BOOST_PP_SEQ_SIZE_200
-# define BOOST_PP_SEQ_SIZE_200(_) BOOST_PP_SEQ_SIZE_201
-# define BOOST_PP_SEQ_SIZE_201(_) BOOST_PP_SEQ_SIZE_202
-# define BOOST_PP_SEQ_SIZE_202(_) BOOST_PP_SEQ_SIZE_203
-# define BOOST_PP_SEQ_SIZE_203(_) BOOST_PP_SEQ_SIZE_204
-# define BOOST_PP_SEQ_SIZE_204(_) BOOST_PP_SEQ_SIZE_205
-# define BOOST_PP_SEQ_SIZE_205(_) BOOST_PP_SEQ_SIZE_206
-# define BOOST_PP_SEQ_SIZE_206(_) BOOST_PP_SEQ_SIZE_207
-# define BOOST_PP_SEQ_SIZE_207(_) BOOST_PP_SEQ_SIZE_208
-# define BOOST_PP_SEQ_SIZE_208(_) BOOST_PP_SEQ_SIZE_209
-# define BOOST_PP_SEQ_SIZE_209(_) BOOST_PP_SEQ_SIZE_210
-# define BOOST_PP_SEQ_SIZE_210(_) BOOST_PP_SEQ_SIZE_211
-# define BOOST_PP_SEQ_SIZE_211(_) BOOST_PP_SEQ_SIZE_212
-# define BOOST_PP_SEQ_SIZE_212(_) BOOST_PP_SEQ_SIZE_213
-# define BOOST_PP_SEQ_SIZE_213(_) BOOST_PP_SEQ_SIZE_214
-# define BOOST_PP_SEQ_SIZE_214(_) BOOST_PP_SEQ_SIZE_215
-# define BOOST_PP_SEQ_SIZE_215(_) BOOST_PP_SEQ_SIZE_216
-# define BOOST_PP_SEQ_SIZE_216(_) BOOST_PP_SEQ_SIZE_217
-# define BOOST_PP_SEQ_SIZE_217(_) BOOST_PP_SEQ_SIZE_218
-# define BOOST_PP_SEQ_SIZE_218(_) BOOST_PP_SEQ_SIZE_219
-# define BOOST_PP_SEQ_SIZE_219(_) BOOST_PP_SEQ_SIZE_220
-# define BOOST_PP_SEQ_SIZE_220(_) BOOST_PP_SEQ_SIZE_221
-# define BOOST_PP_SEQ_SIZE_221(_) BOOST_PP_SEQ_SIZE_222
-# define BOOST_PP_SEQ_SIZE_222(_) BOOST_PP_SEQ_SIZE_223
-# define BOOST_PP_SEQ_SIZE_223(_) BOOST_PP_SEQ_SIZE_224
-# define BOOST_PP_SEQ_SIZE_224(_) BOOST_PP_SEQ_SIZE_225
-# define BOOST_PP_SEQ_SIZE_225(_) BOOST_PP_SEQ_SIZE_226
-# define BOOST_PP_SEQ_SIZE_226(_) BOOST_PP_SEQ_SIZE_227
-# define BOOST_PP_SEQ_SIZE_227(_) BOOST_PP_SEQ_SIZE_228
-# define BOOST_PP_SEQ_SIZE_228(_) BOOST_PP_SEQ_SIZE_229
-# define BOOST_PP_SEQ_SIZE_229(_) BOOST_PP_SEQ_SIZE_230
-# define BOOST_PP_SEQ_SIZE_230(_) BOOST_PP_SEQ_SIZE_231
-# define BOOST_PP_SEQ_SIZE_231(_) BOOST_PP_SEQ_SIZE_232
-# define BOOST_PP_SEQ_SIZE_232(_) BOOST_PP_SEQ_SIZE_233
-# define BOOST_PP_SEQ_SIZE_233(_) BOOST_PP_SEQ_SIZE_234
-# define BOOST_PP_SEQ_SIZE_234(_) BOOST_PP_SEQ_SIZE_235
-# define BOOST_PP_SEQ_SIZE_235(_) BOOST_PP_SEQ_SIZE_236
-# define BOOST_PP_SEQ_SIZE_236(_) BOOST_PP_SEQ_SIZE_237
-# define BOOST_PP_SEQ_SIZE_237(_) BOOST_PP_SEQ_SIZE_238
-# define BOOST_PP_SEQ_SIZE_238(_) BOOST_PP_SEQ_SIZE_239
-# define BOOST_PP_SEQ_SIZE_239(_) BOOST_PP_SEQ_SIZE_240
-# define BOOST_PP_SEQ_SIZE_240(_) BOOST_PP_SEQ_SIZE_241
-# define BOOST_PP_SEQ_SIZE_241(_) BOOST_PP_SEQ_SIZE_242
-# define BOOST_PP_SEQ_SIZE_242(_) BOOST_PP_SEQ_SIZE_243
-# define BOOST_PP_SEQ_SIZE_243(_) BOOST_PP_SEQ_SIZE_244
-# define BOOST_PP_SEQ_SIZE_244(_) BOOST_PP_SEQ_SIZE_245
-# define BOOST_PP_SEQ_SIZE_245(_) BOOST_PP_SEQ_SIZE_246
-# define BOOST_PP_SEQ_SIZE_246(_) BOOST_PP_SEQ_SIZE_247
-# define BOOST_PP_SEQ_SIZE_247(_) BOOST_PP_SEQ_SIZE_248
-# define BOOST_PP_SEQ_SIZE_248(_) BOOST_PP_SEQ_SIZE_249
-# define BOOST_PP_SEQ_SIZE_249(_) BOOST_PP_SEQ_SIZE_250
-# define BOOST_PP_SEQ_SIZE_250(_) BOOST_PP_SEQ_SIZE_251
-# define BOOST_PP_SEQ_SIZE_251(_) BOOST_PP_SEQ_SIZE_252
-# define BOOST_PP_SEQ_SIZE_252(_) BOOST_PP_SEQ_SIZE_253
-# define BOOST_PP_SEQ_SIZE_253(_) BOOST_PP_SEQ_SIZE_254
-# define BOOST_PP_SEQ_SIZE_254(_) BOOST_PP_SEQ_SIZE_255
-# define BOOST_PP_SEQ_SIZE_255(_) BOOST_PP_SEQ_SIZE_256
-# define BOOST_PP_SEQ_SIZE_256(_) BOOST_PP_SEQ_SIZE_257
-#
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_0 0
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_1 1
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_2 2
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_3 3
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_4 4
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_5 5
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_6 6
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_7 7
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_8 8
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_9 9
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_10 10
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_11 11
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_12 12
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_13 13
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_14 14
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_15 15
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_16 16
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_17 17
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_18 18
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_19 19
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_20 20
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_21 21
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_22 22
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_23 23
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_24 24
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_25 25
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_26 26
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_27 27
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_28 28
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_29 29
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_30 30
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_31 31
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_32 32
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_33 33
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_34 34
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_35 35
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_36 36
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_37 37
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_38 38
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_39 39
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_40 40
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_41 41
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_42 42
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_43 43
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_44 44
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_45 45
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_46 46
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_47 47
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_48 48
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_49 49
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_50 50
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_51 51
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_52 52
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_53 53
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_54 54
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_55 55
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_56 56
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_57 57
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_58 58
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_59 59
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_60 60
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_61 61
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_62 62
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_63 63
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_64 64
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_65 65
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_66 66
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_67 67
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_68 68
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_69 69
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_70 70
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_71 71
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_72 72
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_73 73
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_74 74
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_75 75
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_76 76
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_77 77
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_78 78
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_79 79
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_80 80
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_81 81
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_82 82
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_83 83
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_84 84
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_85 85
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_86 86
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_87 87
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_88 88
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_89 89
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_90 90
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_91 91
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_92 92
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_93 93
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_94 94
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_95 95
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_96 96
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_97 97
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_98 98
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_99 99
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_100 100
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_101 101
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_102 102
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_103 103
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_104 104
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_105 105
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_106 106
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_107 107
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_108 108
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_109 109
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_110 110
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_111 111
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_112 112
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_113 113
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_114 114
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_115 115
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_116 116
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_117 117
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_118 118
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_119 119
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_120 120
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_121 121
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_122 122
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_123 123
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_124 124
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_125 125
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_126 126
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_127 127
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_128 128
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_129 129
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_130 130
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_131 131
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_132 132
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_133 133
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_134 134
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_135 135
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_136 136
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_137 137
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_138 138
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_139 139
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_140 140
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_141 141
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_142 142
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_143 143
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_144 144
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_145 145
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_146 146
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_147 147
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_148 148
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_149 149
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_150 150
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_151 151
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_152 152
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_153 153
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_154 154
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_155 155
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_156 156
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_157 157
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_158 158
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_159 159
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_160 160
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_161 161
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_162 162
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_163 163
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_164 164
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_165 165
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_166 166
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_167 167
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_168 168
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_169 169
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_170 170
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_171 171
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_172 172
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_173 173
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_174 174
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_175 175
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_176 176
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_177 177
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_178 178
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_179 179
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_180 180
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_181 181
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_182 182
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_183 183
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_184 184
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_185 185
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_186 186
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_187 187
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_188 188
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_189 189
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_190 190
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_191 191
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_192 192
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_193 193
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_194 194
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_195 195
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_196 196
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_197 197
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_198 198
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_199 199
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_200 200
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_201 201
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_202 202
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_203 203
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_204 204
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_205 205
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_206 206
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_207 207
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_208 208
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_209 209
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_210 210
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_211 211
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_212 212
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_213 213
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_214 214
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_215 215
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_216 216
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_217 217
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_218 218
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_219 219
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_220 220
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_221 221
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_222 222
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_223 223
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_224 224
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_225 225
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_226 226
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_227 227
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_228 228
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_229 229
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_230 230
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_231 231
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_232 232
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_233 233
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_234 234
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_235 235
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_236 236
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_237 237
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_238 238
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_239 239
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_240 240
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_241 241
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_242 242
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_243 243
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_244 244
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_245 245
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_246 246
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_247 247
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_248 248
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_249 249
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_250 250
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_251 251
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_252 252
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_253 253
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_254 254
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_255 255
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_256 256
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/subseq.hpp b/SRC/Boost/boost/preprocessor/seq/subseq.hpp
deleted file mode 100755
index aee81a0..0000000
--- a/SRC/Boost/boost/preprocessor/seq/subseq.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP
-# define BOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/first_n.hpp>
-# include <boost/preprocessor/seq/rest_n.hpp>
-#
-# /* BOOST_PP_SEQ_SUBSEQ */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_SUBSEQ(seq, i, len) BOOST_PP_SEQ_FIRST_N(len, BOOST_PP_SEQ_REST_N(i, seq))
-# else
-#    define BOOST_PP_SEQ_SUBSEQ(seq, i, len) BOOST_PP_SEQ_SUBSEQ_I(seq, i, len)
-#    define BOOST_PP_SEQ_SUBSEQ_I(seq, i, len) BOOST_PP_SEQ_FIRST_N(len, BOOST_PP_SEQ_REST_N(i, seq))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/to_array.hpp b/SRC/Boost/boost/preprocessor/seq/to_array.hpp
deleted file mode 100755
index d20d45e..0000000
--- a/SRC/Boost/boost/preprocessor/seq/to_array.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_TO_ARRAY_HPP
-# define BOOST_PREPROCESSOR_SEQ_TO_ARRAY_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/enum.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-#
-# /* BOOST_PP_SEQ_TO_ARRAY */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_TO_ARRAY(seq) (BOOST_PP_SEQ_SIZE(seq), (BOOST_PP_SEQ_ENUM(seq)))
-# else
-#    define BOOST_PP_SEQ_TO_ARRAY(seq) BOOST_PP_SEQ_TO_ARRAY_I(seq)
-#    define BOOST_PP_SEQ_TO_ARRAY_I(seq) (BOOST_PP_SEQ_SIZE(seq), (BOOST_PP_SEQ_ENUM(seq)))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/to_tuple.hpp b/SRC/Boost/boost/preprocessor/seq/to_tuple.hpp
deleted file mode 100755
index 828dcd5..0000000
--- a/SRC/Boost/boost/preprocessor/seq/to_tuple.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_TO_TUPLE_HPP
-# define BOOST_PREPROCESSOR_SEQ_TO_TUPLE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/enum.hpp>
-#
-# /* BOOST_PP_SEQ_TO_TUPLE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_TO_TUPLE(seq) (BOOST_PP_SEQ_ENUM(seq))
-# else
-#    define BOOST_PP_SEQ_TO_TUPLE(seq) BOOST_PP_SEQ_TO_TUPLE_I(seq)
-#    define BOOST_PP_SEQ_TO_TUPLE_I(seq) (BOOST_PP_SEQ_ENUM(seq))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/seq/transform.hpp b/SRC/Boost/boost/preprocessor/seq/transform.hpp
deleted file mode 100755
index 70f89e1..0000000
--- a/SRC/Boost/boost/preprocessor/seq/transform.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_TRANSFORM_HPP
-# define BOOST_PREPROCESSOR_SEQ_TRANSFORM_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/fold_left.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_SEQ_TRANSFORM */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_TRANSFORM(op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
-# else
-#    define BOOST_PP_SEQ_TRANSFORM(op, data, seq) BOOST_PP_SEQ_TRANSFORM_I(op, data, seq)
-#    define BOOST_PP_SEQ_TRANSFORM_I(op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_SEQ_TRANSFORM_O(s, state, elem) BOOST_PP_SEQ_TRANSFORM_O_IM(s, BOOST_PP_TUPLE_REM_3 state, elem)
-#    define BOOST_PP_SEQ_TRANSFORM_O_IM(s, im, elem) BOOST_PP_SEQ_TRANSFORM_O_I(s, im, elem)
-# else
-#    define BOOST_PP_SEQ_TRANSFORM_O(s, state, elem) BOOST_PP_SEQ_TRANSFORM_O_I(s, BOOST_PP_TUPLE_ELEM(3, 0, state), BOOST_PP_TUPLE_ELEM(3, 1, state), BOOST_PP_TUPLE_ELEM(3, 2, state), elem)
-# endif
-#
-# define BOOST_PP_SEQ_TRANSFORM_O_I(s, op, data, res, elem) (op, data, res (op(s, data, elem)))
-#
-# /* BOOST_PP_SEQ_TRANSFORM_S */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_TRANSFORM_S(s, op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
-# else
-#    define BOOST_PP_SEQ_TRANSFORM_S(s, op, data, seq) BOOST_PP_SEQ_TRANSFORM_S_I(s, op, data, seq)
-#    define BOOST_PP_SEQ_TRANSFORM_S_I(s, op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/slot.hpp b/SRC/Boost/boost/preprocessor/slot.hpp
deleted file mode 100755
index 5b4dc6e..0000000
--- a/SRC/Boost/boost/preprocessor/slot.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SLOT_HPP
-# define BOOST_PREPROCESSOR_SLOT_HPP
-#
-# include <boost/preprocessor/slot/slot.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/slot/detail/counter.hpp b/SRC/Boost/boost/preprocessor/slot/detail/counter.hpp
deleted file mode 100755
index c15b542..0000000
--- a/SRC/Boost/boost/preprocessor/slot/detail/counter.hpp
+++ /dev/null
@@ -1,269 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2005.                                  *
-#  *     Distributed under the Boost Software License, Version 1.0. (See      *
-#  *     accompanying file LICENSE_1_0.txt or copy at                         *
-#  *     http://www.boost.org/LICENSE_1_0.txt)                                *
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# define BOOST_PP_VALUE BOOST_PP_COUNTER + 1
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_COUNTER
-#
-# undef BOOST_PP_COUNTER_DIGIT_1
-# undef BOOST_PP_COUNTER_DIGIT_2
-# undef BOOST_PP_COUNTER_DIGIT_3
-# undef BOOST_PP_COUNTER_DIGIT_4
-# undef BOOST_PP_COUNTER_DIGIT_5
-# undef BOOST_PP_COUNTER_DIGIT_6
-# undef BOOST_PP_COUNTER_DIGIT_7
-# undef BOOST_PP_COUNTER_DIGIT_8
-# undef BOOST_PP_COUNTER_DIGIT_9
-# undef BOOST_PP_COUNTER_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_10 == 0
-#    define BOOST_PP_COUNTER_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-#    define BOOST_PP_COUNTER_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-#    define BOOST_PP_COUNTER_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-#    define BOOST_PP_COUNTER_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-#    define BOOST_PP_COUNTER_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-#    define BOOST_PP_COUNTER_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-#    define BOOST_PP_COUNTER_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-#    define BOOST_PP_COUNTER_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-#    define BOOST_PP_COUNTER_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-#    define BOOST_PP_COUNTER_DIGIT_10 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_9 == 0
-#    define BOOST_PP_COUNTER_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-#    define BOOST_PP_COUNTER_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-#    define BOOST_PP_COUNTER_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-#    define BOOST_PP_COUNTER_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-#    define BOOST_PP_COUNTER_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-#    define BOOST_PP_COUNTER_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-#    define BOOST_PP_COUNTER_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-#    define BOOST_PP_COUNTER_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-#    define BOOST_PP_COUNTER_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-#    define BOOST_PP_COUNTER_DIGIT_9 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_8 == 0
-#    define BOOST_PP_COUNTER_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-#    define BOOST_PP_COUNTER_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-#    define BOOST_PP_COUNTER_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-#    define BOOST_PP_COUNTER_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-#    define BOOST_PP_COUNTER_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-#    define BOOST_PP_COUNTER_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-#    define BOOST_PP_COUNTER_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-#    define BOOST_PP_COUNTER_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-#    define BOOST_PP_COUNTER_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-#    define BOOST_PP_COUNTER_DIGIT_8 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_7 == 0
-#    define BOOST_PP_COUNTER_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-#    define BOOST_PP_COUNTER_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-#    define BOOST_PP_COUNTER_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-#    define BOOST_PP_COUNTER_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-#    define BOOST_PP_COUNTER_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-#    define BOOST_PP_COUNTER_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-#    define BOOST_PP_COUNTER_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-#    define BOOST_PP_COUNTER_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-#    define BOOST_PP_COUNTER_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-#    define BOOST_PP_COUNTER_DIGIT_7 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_6 == 0
-#    define BOOST_PP_COUNTER_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-#    define BOOST_PP_COUNTER_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-#    define BOOST_PP_COUNTER_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-#    define BOOST_PP_COUNTER_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-#    define BOOST_PP_COUNTER_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-#    define BOOST_PP_COUNTER_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-#    define BOOST_PP_COUNTER_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-#    define BOOST_PP_COUNTER_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-#    define BOOST_PP_COUNTER_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-#    define BOOST_PP_COUNTER_DIGIT_6 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_5 == 0
-#    define BOOST_PP_COUNTER_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-#    define BOOST_PP_COUNTER_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-#    define BOOST_PP_COUNTER_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-#    define BOOST_PP_COUNTER_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-#    define BOOST_PP_COUNTER_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-#    define BOOST_PP_COUNTER_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-#    define BOOST_PP_COUNTER_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-#    define BOOST_PP_COUNTER_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-#    define BOOST_PP_COUNTER_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-#    define BOOST_PP_COUNTER_DIGIT_5 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_4 == 0
-#    define BOOST_PP_COUNTER_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-#    define BOOST_PP_COUNTER_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-#    define BOOST_PP_COUNTER_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-#    define BOOST_PP_COUNTER_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-#    define BOOST_PP_COUNTER_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-#    define BOOST_PP_COUNTER_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-#    define BOOST_PP_COUNTER_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-#    define BOOST_PP_COUNTER_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-#    define BOOST_PP_COUNTER_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-#    define BOOST_PP_COUNTER_DIGIT_4 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_COUNTER_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_COUNTER_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_COUNTER_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_COUNTER_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_COUNTER_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_COUNTER_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_COUNTER_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_COUNTER_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_COUNTER_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_COUNTER_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_COUNTER_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_COUNTER_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_COUNTER_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_COUNTER_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_COUNTER_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_COUNTER_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_COUNTER_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_COUNTER_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_COUNTER_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_COUNTER_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_COUNTER_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_COUNTER_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_COUNTER_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_COUNTER_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_COUNTER_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_COUNTER_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_COUNTER_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_COUNTER_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_COUNTER_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_COUNTER_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_COUNTER_DIGIT_10
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_10(BOOST_PP_COUNTER_DIGIT_10, BOOST_PP_COUNTER_DIGIT_9, BOOST_PP_COUNTER_DIGIT_8, BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_9
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_9(BOOST_PP_COUNTER_DIGIT_9, BOOST_PP_COUNTER_DIGIT_8, BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_8
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_8(BOOST_PP_COUNTER_DIGIT_8, BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_7
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_7(BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_6
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_6(BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_5
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_5(BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_4
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_4(BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_3
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_3(BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_2
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_2(BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# else
-#    define BOOST_PP_COUNTER BOOST_PP_COUNTER_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/slot/detail/def.hpp b/SRC/Boost/boost/preprocessor/slot/detail/def.hpp
deleted file mode 100755
index 105a43b..0000000
--- a/SRC/Boost/boost/preprocessor/slot/detail/def.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP
-# define BOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP
-#
-# /* BOOST_PP_SLOT_OFFSET_x */
-#
-# define BOOST_PP_SLOT_OFFSET_10(x) (x) % 1000000000UL
-# define BOOST_PP_SLOT_OFFSET_9(x) BOOST_PP_SLOT_OFFSET_10(x) % 100000000UL
-# define BOOST_PP_SLOT_OFFSET_8(x) BOOST_PP_SLOT_OFFSET_9(x) % 10000000UL
-# define BOOST_PP_SLOT_OFFSET_7(x) BOOST_PP_SLOT_OFFSET_8(x) % 1000000UL
-# define BOOST_PP_SLOT_OFFSET_6(x) BOOST_PP_SLOT_OFFSET_7(x) % 100000UL
-# define BOOST_PP_SLOT_OFFSET_5(x) BOOST_PP_SLOT_OFFSET_6(x) % 10000UL
-# define BOOST_PP_SLOT_OFFSET_4(x) BOOST_PP_SLOT_OFFSET_5(x) % 1000UL
-# define BOOST_PP_SLOT_OFFSET_3(x) BOOST_PP_SLOT_OFFSET_4(x) % 100UL
-# define BOOST_PP_SLOT_OFFSET_2(x) BOOST_PP_SLOT_OFFSET_3(x) % 10UL
-#
-# /* BOOST_PP_SLOT_CC_x */
-#
-# define BOOST_PP_SLOT_CC_2(a, b) BOOST_PP_SLOT_CC_2_D(a, b)
-# define BOOST_PP_SLOT_CC_3(a, b, c) BOOST_PP_SLOT_CC_3_D(a, b, c)
-# define BOOST_PP_SLOT_CC_4(a, b, c, d) BOOST_PP_SLOT_CC_4_D(a, b, c, d)
-# define BOOST_PP_SLOT_CC_5(a, b, c, d, e) BOOST_PP_SLOT_CC_5_D(a, b, c, d, e)
-# define BOOST_PP_SLOT_CC_6(a, b, c, d, e, f) BOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f)
-# define BOOST_PP_SLOT_CC_7(a, b, c, d, e, f, g) BOOST_PP_SLOT_CC_7_D(a, b, c, d, e, f, g)
-# define BOOST_PP_SLOT_CC_8(a, b, c, d, e, f, g, h) BOOST_PP_SLOT_CC_8_D(a, b, c, d, e, f, g, h)
-# define BOOST_PP_SLOT_CC_9(a, b, c, d, e, f, g, h, i) BOOST_PP_SLOT_CC_9_D(a, b, c, d, e, f, g, h, i)
-# define BOOST_PP_SLOT_CC_10(a, b, c, d, e, f, g, h, i, j) BOOST_PP_SLOT_CC_10_D(a, b, c, d, e, f, g, h, i, j)
-#
-# define BOOST_PP_SLOT_CC_2_D(a, b) a ## b
-# define BOOST_PP_SLOT_CC_3_D(a, b, c) a ## b ## c
-# define BOOST_PP_SLOT_CC_4_D(a, b, c, d) a ## b ## c ## d
-# define BOOST_PP_SLOT_CC_5_D(a, b, c, d, e) a ## b ## c ## d ## e
-# define BOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f) a ## b ## c ## d ## e ## f
-# define BOOST_PP_SLOT_CC_7_D(a, b, c, d, e, f, g) a ## b ## c ## d ## e ## f ## g
-# define BOOST_PP_SLOT_CC_8_D(a, b, c, d, e, f, g, h) a ## b ## c ## d ## e ## f ## g ## h
-# define BOOST_PP_SLOT_CC_9_D(a, b, c, d, e, f, g, h, i) a ## b ## c ## d ## e ## f ## g ## h ## i
-# define BOOST_PP_SLOT_CC_10_D(a, b, c, d, e, f, g, h, i, j) a ## b ## c ## d ## e ## f ## g ## h ## i ## j
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/slot/detail/shared.hpp b/SRC/Boost/boost/preprocessor/slot/detail/shared.hpp
deleted file mode 100755
index 83370de..0000000
--- a/SRC/Boost/boost/preprocessor/slot/detail/shared.hpp
+++ /dev/null
@@ -1,247 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PP_VALUE
-#    error BOOST_PP_ERROR:  BOOST_PP_VALUE is not defined
-# endif
-#
-# undef BOOST_PP_SLOT_TEMP_1
-# undef BOOST_PP_SLOT_TEMP_2
-# undef BOOST_PP_SLOT_TEMP_3
-# undef BOOST_PP_SLOT_TEMP_4
-# undef BOOST_PP_SLOT_TEMP_5
-# undef BOOST_PP_SLOT_TEMP_6
-# undef BOOST_PP_SLOT_TEMP_7
-# undef BOOST_PP_SLOT_TEMP_8
-# undef BOOST_PP_SLOT_TEMP_9
-# undef BOOST_PP_SLOT_TEMP_10
-#
-# if (BOOST_PP_VALUE) / 1000000000UL == 0
-#    define BOOST_PP_SLOT_TEMP_10 0
-# elif (BOOST_PP_VALUE) / 1000000000UL == 1
-#    define BOOST_PP_SLOT_TEMP_10 1
-# elif (BOOST_PP_VALUE) / 1000000000UL == 2
-#    define BOOST_PP_SLOT_TEMP_10 2
-# elif (BOOST_PP_VALUE) / 1000000000UL == 3
-#    define BOOST_PP_SLOT_TEMP_10 3
-# elif (BOOST_PP_VALUE) / 1000000000UL == 4
-#    define BOOST_PP_SLOT_TEMP_10 4
-# elif (BOOST_PP_VALUE) / 1000000000UL == 5
-#    define BOOST_PP_SLOT_TEMP_10 5
-# elif (BOOST_PP_VALUE) / 1000000000UL == 6
-#    define BOOST_PP_SLOT_TEMP_10 6
-# elif (BOOST_PP_VALUE) / 1000000000UL == 7
-#    define BOOST_PP_SLOT_TEMP_10 7
-# elif (BOOST_PP_VALUE) / 1000000000UL == 8
-#    define BOOST_PP_SLOT_TEMP_10 8
-# elif (BOOST_PP_VALUE) / 1000000000UL == 9
-#    define BOOST_PP_SLOT_TEMP_10 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 0
-#    define BOOST_PP_SLOT_TEMP_9 0
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 1
-#    define BOOST_PP_SLOT_TEMP_9 1
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 2
-#    define BOOST_PP_SLOT_TEMP_9 2
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 3
-#    define BOOST_PP_SLOT_TEMP_9 3
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 4
-#    define BOOST_PP_SLOT_TEMP_9 4
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 5
-#    define BOOST_PP_SLOT_TEMP_9 5
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 6
-#    define BOOST_PP_SLOT_TEMP_9 6
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 7
-#    define BOOST_PP_SLOT_TEMP_9 7
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 8
-#    define BOOST_PP_SLOT_TEMP_9 8
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 9
-#    define BOOST_PP_SLOT_TEMP_9 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 0
-#    define BOOST_PP_SLOT_TEMP_8 0
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 1
-#    define BOOST_PP_SLOT_TEMP_8 1
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 2
-#    define BOOST_PP_SLOT_TEMP_8 2
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 3
-#    define BOOST_PP_SLOT_TEMP_8 3
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 4
-#    define BOOST_PP_SLOT_TEMP_8 4
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 5
-#    define BOOST_PP_SLOT_TEMP_8 5
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 6
-#    define BOOST_PP_SLOT_TEMP_8 6
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 7
-#    define BOOST_PP_SLOT_TEMP_8 7
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 8
-#    define BOOST_PP_SLOT_TEMP_8 8
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 9
-#    define BOOST_PP_SLOT_TEMP_8 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 0
-#    define BOOST_PP_SLOT_TEMP_7 0
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 1
-#    define BOOST_PP_SLOT_TEMP_7 1
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 2
-#    define BOOST_PP_SLOT_TEMP_7 2
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 3
-#    define BOOST_PP_SLOT_TEMP_7 3
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 4
-#    define BOOST_PP_SLOT_TEMP_7 4
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 5
-#    define BOOST_PP_SLOT_TEMP_7 5
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 6
-#    define BOOST_PP_SLOT_TEMP_7 6
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 7
-#    define BOOST_PP_SLOT_TEMP_7 7
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 8
-#    define BOOST_PP_SLOT_TEMP_7 8
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 9
-#    define BOOST_PP_SLOT_TEMP_7 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 0
-#    define BOOST_PP_SLOT_TEMP_6 0
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 1
-#    define BOOST_PP_SLOT_TEMP_6 1
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 2
-#    define BOOST_PP_SLOT_TEMP_6 2
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 3
-#    define BOOST_PP_SLOT_TEMP_6 3
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 4
-#    define BOOST_PP_SLOT_TEMP_6 4
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 5
-#    define BOOST_PP_SLOT_TEMP_6 5
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 6
-#    define BOOST_PP_SLOT_TEMP_6 6
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 7
-#    define BOOST_PP_SLOT_TEMP_6 7
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 8
-#    define BOOST_PP_SLOT_TEMP_6 8
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 9
-#    define BOOST_PP_SLOT_TEMP_6 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 0
-#    define BOOST_PP_SLOT_TEMP_5 0
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 1
-#    define BOOST_PP_SLOT_TEMP_5 1
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 2
-#    define BOOST_PP_SLOT_TEMP_5 2
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 3
-#    define BOOST_PP_SLOT_TEMP_5 3
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 4
-#    define BOOST_PP_SLOT_TEMP_5 4
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 5
-#    define BOOST_PP_SLOT_TEMP_5 5
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 6
-#    define BOOST_PP_SLOT_TEMP_5 6
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 7
-#    define BOOST_PP_SLOT_TEMP_5 7
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 8
-#    define BOOST_PP_SLOT_TEMP_5 8
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 9
-#    define BOOST_PP_SLOT_TEMP_5 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 0
-#    define BOOST_PP_SLOT_TEMP_4 0
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 1
-#    define BOOST_PP_SLOT_TEMP_4 1
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 2
-#    define BOOST_PP_SLOT_TEMP_4 2
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 3
-#    define BOOST_PP_SLOT_TEMP_4 3
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 4
-#    define BOOST_PP_SLOT_TEMP_4 4
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 5
-#    define BOOST_PP_SLOT_TEMP_4 5
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 6
-#    define BOOST_PP_SLOT_TEMP_4 6
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 7
-#    define BOOST_PP_SLOT_TEMP_4 7
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 8
-#    define BOOST_PP_SLOT_TEMP_4 8
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 9
-#    define BOOST_PP_SLOT_TEMP_4 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 0
-#    define BOOST_PP_SLOT_TEMP_3 0
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 1
-#    define BOOST_PP_SLOT_TEMP_3 1
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 2
-#    define BOOST_PP_SLOT_TEMP_3 2
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 3
-#    define BOOST_PP_SLOT_TEMP_3 3
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 4
-#    define BOOST_PP_SLOT_TEMP_3 4
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 5
-#    define BOOST_PP_SLOT_TEMP_3 5
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 6
-#    define BOOST_PP_SLOT_TEMP_3 6
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 7
-#    define BOOST_PP_SLOT_TEMP_3 7
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 8
-#    define BOOST_PP_SLOT_TEMP_3 8
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 9
-#    define BOOST_PP_SLOT_TEMP_3 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 0
-#    define BOOST_PP_SLOT_TEMP_2 0
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 1
-#    define BOOST_PP_SLOT_TEMP_2 1
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 2
-#    define BOOST_PP_SLOT_TEMP_2 2
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 3
-#    define BOOST_PP_SLOT_TEMP_2 3
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 4
-#    define BOOST_PP_SLOT_TEMP_2 4
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 5
-#    define BOOST_PP_SLOT_TEMP_2 5
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 6
-#    define BOOST_PP_SLOT_TEMP_2 6
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 7
-#    define BOOST_PP_SLOT_TEMP_2 7
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 8
-#    define BOOST_PP_SLOT_TEMP_2 8
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 9
-#    define BOOST_PP_SLOT_TEMP_2 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 0
-#    define BOOST_PP_SLOT_TEMP_1 0
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 1
-#    define BOOST_PP_SLOT_TEMP_1 1
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 2
-#    define BOOST_PP_SLOT_TEMP_1 2
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 3
-#    define BOOST_PP_SLOT_TEMP_1 3
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 4
-#    define BOOST_PP_SLOT_TEMP_1 4
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 5
-#    define BOOST_PP_SLOT_TEMP_1 5
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 6
-#    define BOOST_PP_SLOT_TEMP_1 6
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 7
-#    define BOOST_PP_SLOT_TEMP_1 7
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 8
-#    define BOOST_PP_SLOT_TEMP_1 8
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 9
-#    define BOOST_PP_SLOT_TEMP_1 9
-# endif
-#
-# undef BOOST_PP_VALUE
diff --git a/SRC/Boost/boost/preprocessor/slot/detail/slot1.hpp b/SRC/Boost/boost/preprocessor/slot/detail/slot1.hpp
deleted file mode 100755
index 66d209a..0000000
--- a/SRC/Boost/boost/preprocessor/slot/detail/slot1.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_SLOT_1
-#
-# undef BOOST_PP_SLOT_1_DIGIT_1
-# undef BOOST_PP_SLOT_1_DIGIT_2
-# undef BOOST_PP_SLOT_1_DIGIT_3
-# undef BOOST_PP_SLOT_1_DIGIT_4
-# undef BOOST_PP_SLOT_1_DIGIT_5
-# undef BOOST_PP_SLOT_1_DIGIT_6
-# undef BOOST_PP_SLOT_1_DIGIT_7
-# undef BOOST_PP_SLOT_1_DIGIT_8
-# undef BOOST_PP_SLOT_1_DIGIT_9
-# undef BOOST_PP_SLOT_1_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_10 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_10 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_9 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_9 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_8 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_8 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_7 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_7 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_6 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_6 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_5 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_5 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_4 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_4 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_SLOT_1_DIGIT_10
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_1_DIGIT_10, BOOST_PP_SLOT_1_DIGIT_9, BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_9
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_1_DIGIT_9, BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_8
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_7
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_6
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_5
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_4
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_3
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_2
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# else
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_1_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/slot/detail/slot2.hpp b/SRC/Boost/boost/preprocessor/slot/detail/slot2.hpp
deleted file mode 100755
index 8eccc88..0000000
--- a/SRC/Boost/boost/preprocessor/slot/detail/slot2.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_SLOT_2
-#
-# undef BOOST_PP_SLOT_2_DIGIT_1
-# undef BOOST_PP_SLOT_2_DIGIT_2
-# undef BOOST_PP_SLOT_2_DIGIT_3
-# undef BOOST_PP_SLOT_2_DIGIT_4
-# undef BOOST_PP_SLOT_2_DIGIT_5
-# undef BOOST_PP_SLOT_2_DIGIT_6
-# undef BOOST_PP_SLOT_2_DIGIT_7
-# undef BOOST_PP_SLOT_2_DIGIT_8
-# undef BOOST_PP_SLOT_2_DIGIT_9
-# undef BOOST_PP_SLOT_2_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_10 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_10 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_9 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_9 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_8 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_8 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_7 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_7 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_6 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_6 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_5 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_5 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_4 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_4 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_SLOT_2_DIGIT_10
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_2_DIGIT_10, BOOST_PP_SLOT_2_DIGIT_9, BOOST_PP_SLOT_2_DIGIT_8, BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_9
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_2_DIGIT_9, BOOST_PP_SLOT_2_DIGIT_8, BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_8
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_2_DIGIT_8, BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_7
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_6
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_5
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_4
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_3
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_2
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# else
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_2_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/slot/detail/slot3.hpp b/SRC/Boost/boost/preprocessor/slot/detail/slot3.hpp
deleted file mode 100755
index 2f29ac3..0000000
--- a/SRC/Boost/boost/preprocessor/slot/detail/slot3.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_SLOT_3
-#
-# undef BOOST_PP_SLOT_3_DIGIT_1
-# undef BOOST_PP_SLOT_3_DIGIT_2
-# undef BOOST_PP_SLOT_3_DIGIT_3
-# undef BOOST_PP_SLOT_3_DIGIT_4
-# undef BOOST_PP_SLOT_3_DIGIT_5
-# undef BOOST_PP_SLOT_3_DIGIT_6
-# undef BOOST_PP_SLOT_3_DIGIT_7
-# undef BOOST_PP_SLOT_3_DIGIT_8
-# undef BOOST_PP_SLOT_3_DIGIT_9
-# undef BOOST_PP_SLOT_3_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_10 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_10 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_9 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_9 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_8 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_8 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_7 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_7 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_6 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_6 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_5 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_5 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_4 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_4 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_SLOT_3_DIGIT_10
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_3_DIGIT_10, BOOST_PP_SLOT_3_DIGIT_9, BOOST_PP_SLOT_3_DIGIT_8, BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_9
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_3_DIGIT_9, BOOST_PP_SLOT_3_DIGIT_8, BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_8
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_3_DIGIT_8, BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_7
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_6
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_5
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_4
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_3
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_2
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# else
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_3_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/slot/detail/slot4.hpp b/SRC/Boost/boost/preprocessor/slot/detail/slot4.hpp
deleted file mode 100755
index ddcbb71..0000000
--- a/SRC/Boost/boost/preprocessor/slot/detail/slot4.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_SLOT_4
-#
-# undef BOOST_PP_SLOT_4_DIGIT_1
-# undef BOOST_PP_SLOT_4_DIGIT_2
-# undef BOOST_PP_SLOT_4_DIGIT_3
-# undef BOOST_PP_SLOT_4_DIGIT_4
-# undef BOOST_PP_SLOT_4_DIGIT_5
-# undef BOOST_PP_SLOT_4_DIGIT_6
-# undef BOOST_PP_SLOT_4_DIGIT_7
-# undef BOOST_PP_SLOT_4_DIGIT_8
-# undef BOOST_PP_SLOT_4_DIGIT_9
-# undef BOOST_PP_SLOT_4_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_10 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_10 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_9 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_9 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_8 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_8 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_7 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_7 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_6 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_6 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_5 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_5 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_4 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_4 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_SLOT_4_DIGIT_10
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_4_DIGIT_10, BOOST_PP_SLOT_4_DIGIT_9, BOOST_PP_SLOT_4_DIGIT_8, BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_9
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_4_DIGIT_9, BOOST_PP_SLOT_4_DIGIT_8, BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_8
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_4_DIGIT_8, BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_7
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_6
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_5
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_4
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_3
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_2
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# else
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_4_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/slot/detail/slot5.hpp b/SRC/Boost/boost/preprocessor/slot/detail/slot5.hpp
deleted file mode 100755
index 9763461..0000000
--- a/SRC/Boost/boost/preprocessor/slot/detail/slot5.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_SLOT_5
-#
-# undef BOOST_PP_SLOT_5_DIGIT_1
-# undef BOOST_PP_SLOT_5_DIGIT_2
-# undef BOOST_PP_SLOT_5_DIGIT_3
-# undef BOOST_PP_SLOT_5_DIGIT_4
-# undef BOOST_PP_SLOT_5_DIGIT_5
-# undef BOOST_PP_SLOT_5_DIGIT_6
-# undef BOOST_PP_SLOT_5_DIGIT_7
-# undef BOOST_PP_SLOT_5_DIGIT_8
-# undef BOOST_PP_SLOT_5_DIGIT_9
-# undef BOOST_PP_SLOT_5_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_10 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_10 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_9 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_9 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_8 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_8 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_7 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_7 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_6 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_6 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_5 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_5 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_4 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_4 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_SLOT_5_DIGIT_10
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_5_DIGIT_10, BOOST_PP_SLOT_5_DIGIT_9, BOOST_PP_SLOT_5_DIGIT_8, BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_9
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_5_DIGIT_9, BOOST_PP_SLOT_5_DIGIT_8, BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_8
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_5_DIGIT_8, BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_7
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_6
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_5
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_4
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_3
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_2
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# else
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_5_DIGIT_1
-# endif
diff --git a/SRC/Boost/boost/preprocessor/slot/slot.hpp b/SRC/Boost/boost/preprocessor/slot/slot.hpp
deleted file mode 100755
index 13127ee..0000000
--- a/SRC/Boost/boost/preprocessor/slot/slot.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SLOT_SLOT_HPP
-# define BOOST_PREPROCESSOR_SLOT_SLOT_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/slot/detail/def.hpp>
-#
-# /* BOOST_PP_ASSIGN_SLOT */
-#
-# define BOOST_PP_ASSIGN_SLOT(i) BOOST_PP_CAT(BOOST_PP_ASSIGN_SLOT_, i)
-#
-# define BOOST_PP_ASSIGN_SLOT_1 <boost/preprocessor/slot/detail/slot1.hpp>
-# define BOOST_PP_ASSIGN_SLOT_2 <boost/preprocessor/slot/detail/slot2.hpp>
-# define BOOST_PP_ASSIGN_SLOT_3 <boost/preprocessor/slot/detail/slot3.hpp>
-# define BOOST_PP_ASSIGN_SLOT_4 <boost/preprocessor/slot/detail/slot4.hpp>
-# define BOOST_PP_ASSIGN_SLOT_5 <boost/preprocessor/slot/detail/slot5.hpp>
-#
-# /* BOOST_PP_SLOT */
-#
-# define BOOST_PP_SLOT(i) BOOST_PP_CAT(BOOST_PP_SLOT_, i)()
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/stringize.hpp b/SRC/Boost/boost/preprocessor/stringize.hpp
deleted file mode 100755
index db3127e..0000000
--- a/SRC/Boost/boost/preprocessor/stringize.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_STRINGIZE_HPP
-# define BOOST_PREPROCESSOR_STRINGIZE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_STRINGIZE */
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_A((text))
-#    define BOOST_PP_STRINGIZE_A(arg) BOOST_PP_STRINGIZE_I arg
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_OO((text))
-#    define BOOST_PP_STRINGIZE_OO(par) BOOST_PP_STRINGIZE_I ## par
-# else
-#    define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_I(text)
-# endif
-#
-# define BOOST_PP_STRINGIZE_I(text) #text
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/tuple.hpp b/SRC/Boost/boost/preprocessor/tuple.hpp
deleted file mode 100755
index fb93491..0000000
--- a/SRC/Boost/boost/preprocessor/tuple.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_HPP
-# define BOOST_PREPROCESSOR_TUPLE_HPP
-#
-# include <boost/preprocessor/tuple/eat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-# include <boost/preprocessor/tuple/reverse.hpp>
-# include <boost/preprocessor/tuple/to_list.hpp>
-# include <boost/preprocessor/tuple/to_seq.hpp>
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/tuple/eat.hpp b/SRC/Boost/boost/preprocessor/tuple/eat.hpp
deleted file mode 100755
index 44683d0..0000000
--- a/SRC/Boost/boost/preprocessor/tuple/eat.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_EAT_HPP
-# define BOOST_PREPROCESSOR_TUPLE_EAT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_TUPLE_EAT */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_I(size)
-# else
-#    define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_OO((size))
-#    define BOOST_PP_TUPLE_EAT_OO(par) BOOST_PP_TUPLE_EAT_I ## par
-# endif
-#
-# define BOOST_PP_TUPLE_EAT_I(size) BOOST_PP_TUPLE_EAT_ ## size
-#
-# define BOOST_PP_TUPLE_EAT_0()
-# define BOOST_PP_TUPLE_EAT_1(a)
-# define BOOST_PP_TUPLE_EAT_2(a, b)
-# define BOOST_PP_TUPLE_EAT_3(a, b, c)
-# define BOOST_PP_TUPLE_EAT_4(a, b, c, d)
-# define BOOST_PP_TUPLE_EAT_5(a, b, c, d, e)
-# define BOOST_PP_TUPLE_EAT_6(a, b, c, d, e, f)
-# define BOOST_PP_TUPLE_EAT_7(a, b, c, d, e, f, g)
-# define BOOST_PP_TUPLE_EAT_8(a, b, c, d, e, f, g, h)
-# define BOOST_PP_TUPLE_EAT_9(a, b, c, d, e, f, g, h, i)
-# define BOOST_PP_TUPLE_EAT_10(a, b, c, d, e, f, g, h, i, j)
-# define BOOST_PP_TUPLE_EAT_11(a, b, c, d, e, f, g, h, i, j, k)
-# define BOOST_PP_TUPLE_EAT_12(a, b, c, d, e, f, g, h, i, j, k, l)
-# define BOOST_PP_TUPLE_EAT_13(a, b, c, d, e, f, g, h, i, j, k, l, m)
-# define BOOST_PP_TUPLE_EAT_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n)
-# define BOOST_PP_TUPLE_EAT_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
-# define BOOST_PP_TUPLE_EAT_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
-# define BOOST_PP_TUPLE_EAT_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
-# define BOOST_PP_TUPLE_EAT_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
-# define BOOST_PP_TUPLE_EAT_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
-# define BOOST_PP_TUPLE_EAT_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
-# define BOOST_PP_TUPLE_EAT_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
-# define BOOST_PP_TUPLE_EAT_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)
-# define BOOST_PP_TUPLE_EAT_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w)
-# define BOOST_PP_TUPLE_EAT_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x)
-# define BOOST_PP_TUPLE_EAT_25(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)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/tuple/elem.hpp b/SRC/Boost/boost/preprocessor/tuple/elem.hpp
deleted file mode 100755
index c301729..0000000
--- a/SRC/Boost/boost/preprocessor/tuple/elem.hpp
+++ /dev/null
@@ -1,385 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_ELEM_HPP
-# define BOOST_PREPROCESSOR_TUPLE_ELEM_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_TUPLE_ELEM(size, index, tuple) BOOST_PP_TUPLE_ELEM_I(size, index, tuple)
-# else
-#    define BOOST_PP_TUPLE_ELEM(size, index, tuple) BOOST_PP_TUPLE_ELEM_OO((size, index, tuple))
-#    define BOOST_PP_TUPLE_ELEM_OO(par) BOOST_PP_TUPLE_ELEM_I ## par
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i ## t
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_II(BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i t)
-#    define BOOST_PP_TUPLE_ELEM_II(res) res
-# else
-#    define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i t
-# endif
-#
-# define BOOST_PP_TUPLE_ELEM_1_0(a) a
-#
-# define BOOST_PP_TUPLE_ELEM_2_0(a, b) a
-# define BOOST_PP_TUPLE_ELEM_2_1(a, b) b
-#
-# define BOOST_PP_TUPLE_ELEM_3_0(a, b, c) a
-# define BOOST_PP_TUPLE_ELEM_3_1(a, b, c) b
-# define BOOST_PP_TUPLE_ELEM_3_2(a, b, c) c
-#
-# define BOOST_PP_TUPLE_ELEM_4_0(a, b, c, d) a
-# define BOOST_PP_TUPLE_ELEM_4_1(a, b, c, d) b
-# define BOOST_PP_TUPLE_ELEM_4_2(a, b, c, d) c
-# define BOOST_PP_TUPLE_ELEM_4_3(a, b, c, d) d
-#
-# define BOOST_PP_TUPLE_ELEM_5_0(a, b, c, d, e) a
-# define BOOST_PP_TUPLE_ELEM_5_1(a, b, c, d, e) b
-# define BOOST_PP_TUPLE_ELEM_5_2(a, b, c, d, e) c
-# define BOOST_PP_TUPLE_ELEM_5_3(a, b, c, d, e) d
-# define BOOST_PP_TUPLE_ELEM_5_4(a, b, c, d, e) e
-#
-# define BOOST_PP_TUPLE_ELEM_6_0(a, b, c, d, e, f) a
-# define BOOST_PP_TUPLE_ELEM_6_1(a, b, c, d, e, f) b
-# define BOOST_PP_TUPLE_ELEM_6_2(a, b, c, d, e, f) c
-# define BOOST_PP_TUPLE_ELEM_6_3(a, b, c, d, e, f) d
-# define BOOST_PP_TUPLE_ELEM_6_4(a, b, c, d, e, f) e
-# define BOOST_PP_TUPLE_ELEM_6_5(a, b, c, d, e, f) f
-#
-# define BOOST_PP_TUPLE_ELEM_7_0(a, b, c, d, e, f, g) a
-# define BOOST_PP_TUPLE_ELEM_7_1(a, b, c, d, e, f, g) b
-# define BOOST_PP_TUPLE_ELEM_7_2(a, b, c, d, e, f, g) c
-# define BOOST_PP_TUPLE_ELEM_7_3(a, b, c, d, e, f, g) d
-# define BOOST_PP_TUPLE_ELEM_7_4(a, b, c, d, e, f, g) e
-# define BOOST_PP_TUPLE_ELEM_7_5(a, b, c, d, e, f, g) f
-# define BOOST_PP_TUPLE_ELEM_7_6(a, b, c, d, e, f, g) g
-#
-# define BOOST_PP_TUPLE_ELEM_8_0(a, b, c, d, e, f, g, h) a
-# define BOOST_PP_TUPLE_ELEM_8_1(a, b, c, d, e, f, g, h) b
-# define BOOST_PP_TUPLE_ELEM_8_2(a, b, c, d, e, f, g, h) c
-# define BOOST_PP_TUPLE_ELEM_8_3(a, b, c, d, e, f, g, h) d
-# define BOOST_PP_TUPLE_ELEM_8_4(a, b, c, d, e, f, g, h) e
-# define BOOST_PP_TUPLE_ELEM_8_5(a, b, c, d, e, f, g, h) f
-# define BOOST_PP_TUPLE_ELEM_8_6(a, b, c, d, e, f, g, h) g
-# define BOOST_PP_TUPLE_ELEM_8_7(a, b, c, d, e, f, g, h) h
-#
-# define BOOST_PP_TUPLE_ELEM_9_0(a, b, c, d, e, f, g, h, i) a
-# define BOOST_PP_TUPLE_ELEM_9_1(a, b, c, d, e, f, g, h, i) b
-# define BOOST_PP_TUPLE_ELEM_9_2(a, b, c, d, e, f, g, h, i) c
-# define BOOST_PP_TUPLE_ELEM_9_3(a, b, c, d, e, f, g, h, i) d
-# define BOOST_PP_TUPLE_ELEM_9_4(a, b, c, d, e, f, g, h, i) e
-# define BOOST_PP_TUPLE_ELEM_9_5(a, b, c, d, e, f, g, h, i) f
-# define BOOST_PP_TUPLE_ELEM_9_6(a, b, c, d, e, f, g, h, i) g
-# define BOOST_PP_TUPLE_ELEM_9_7(a, b, c, d, e, f, g, h, i) h
-# define BOOST_PP_TUPLE_ELEM_9_8(a, b, c, d, e, f, g, h, i) i
-#
-# define BOOST_PP_TUPLE_ELEM_10_0(a, b, c, d, e, f, g, h, i, j) a
-# define BOOST_PP_TUPLE_ELEM_10_1(a, b, c, d, e, f, g, h, i, j) b
-# define BOOST_PP_TUPLE_ELEM_10_2(a, b, c, d, e, f, g, h, i, j) c
-# define BOOST_PP_TUPLE_ELEM_10_3(a, b, c, d, e, f, g, h, i, j) d
-# define BOOST_PP_TUPLE_ELEM_10_4(a, b, c, d, e, f, g, h, i, j) e
-# define BOOST_PP_TUPLE_ELEM_10_5(a, b, c, d, e, f, g, h, i, j) f
-# define BOOST_PP_TUPLE_ELEM_10_6(a, b, c, d, e, f, g, h, i, j) g
-# define BOOST_PP_TUPLE_ELEM_10_7(a, b, c, d, e, f, g, h, i, j) h
-# define BOOST_PP_TUPLE_ELEM_10_8(a, b, c, d, e, f, g, h, i, j) i
-# define BOOST_PP_TUPLE_ELEM_10_9(a, b, c, d, e, f, g, h, i, j) j
-#
-# define BOOST_PP_TUPLE_ELEM_11_0(a, b, c, d, e, f, g, h, i, j, k) a
-# define BOOST_PP_TUPLE_ELEM_11_1(a, b, c, d, e, f, g, h, i, j, k) b
-# define BOOST_PP_TUPLE_ELEM_11_2(a, b, c, d, e, f, g, h, i, j, k) c
-# define BOOST_PP_TUPLE_ELEM_11_3(a, b, c, d, e, f, g, h, i, j, k) d
-# define BOOST_PP_TUPLE_ELEM_11_4(a, b, c, d, e, f, g, h, i, j, k) e
-# define BOOST_PP_TUPLE_ELEM_11_5(a, b, c, d, e, f, g, h, i, j, k) f
-# define BOOST_PP_TUPLE_ELEM_11_6(a, b, c, d, e, f, g, h, i, j, k) g
-# define BOOST_PP_TUPLE_ELEM_11_7(a, b, c, d, e, f, g, h, i, j, k) h
-# define BOOST_PP_TUPLE_ELEM_11_8(a, b, c, d, e, f, g, h, i, j, k) i
-# define BOOST_PP_TUPLE_ELEM_11_9(a, b, c, d, e, f, g, h, i, j, k) j
-# define BOOST_PP_TUPLE_ELEM_11_10(a, b, c, d, e, f, g, h, i, j, k) k
-#
-# define BOOST_PP_TUPLE_ELEM_12_0(a, b, c, d, e, f, g, h, i, j, k, l) a
-# define BOOST_PP_TUPLE_ELEM_12_1(a, b, c, d, e, f, g, h, i, j, k, l) b
-# define BOOST_PP_TUPLE_ELEM_12_2(a, b, c, d, e, f, g, h, i, j, k, l) c
-# define BOOST_PP_TUPLE_ELEM_12_3(a, b, c, d, e, f, g, h, i, j, k, l) d
-# define BOOST_PP_TUPLE_ELEM_12_4(a, b, c, d, e, f, g, h, i, j, k, l) e
-# define BOOST_PP_TUPLE_ELEM_12_5(a, b, c, d, e, f, g, h, i, j, k, l) f
-# define BOOST_PP_TUPLE_ELEM_12_6(a, b, c, d, e, f, g, h, i, j, k, l) g
-# define BOOST_PP_TUPLE_ELEM_12_7(a, b, c, d, e, f, g, h, i, j, k, l) h
-# define BOOST_PP_TUPLE_ELEM_12_8(a, b, c, d, e, f, g, h, i, j, k, l) i
-# define BOOST_PP_TUPLE_ELEM_12_9(a, b, c, d, e, f, g, h, i, j, k, l) j
-# define BOOST_PP_TUPLE_ELEM_12_10(a, b, c, d, e, f, g, h, i, j, k, l) k
-# define BOOST_PP_TUPLE_ELEM_12_11(a, b, c, d, e, f, g, h, i, j, k, l) l
-#
-# define BOOST_PP_TUPLE_ELEM_13_0(a, b, c, d, e, f, g, h, i, j, k, l, m) a
-# define BOOST_PP_TUPLE_ELEM_13_1(a, b, c, d, e, f, g, h, i, j, k, l, m) b
-# define BOOST_PP_TUPLE_ELEM_13_2(a, b, c, d, e, f, g, h, i, j, k, l, m) c
-# define BOOST_PP_TUPLE_ELEM_13_3(a, b, c, d, e, f, g, h, i, j, k, l, m) d
-# define BOOST_PP_TUPLE_ELEM_13_4(a, b, c, d, e, f, g, h, i, j, k, l, m) e
-# define BOOST_PP_TUPLE_ELEM_13_5(a, b, c, d, e, f, g, h, i, j, k, l, m) f
-# define BOOST_PP_TUPLE_ELEM_13_6(a, b, c, d, e, f, g, h, i, j, k, l, m) g
-# define BOOST_PP_TUPLE_ELEM_13_7(a, b, c, d, e, f, g, h, i, j, k, l, m) h
-# define BOOST_PP_TUPLE_ELEM_13_8(a, b, c, d, e, f, g, h, i, j, k, l, m) i
-# define BOOST_PP_TUPLE_ELEM_13_9(a, b, c, d, e, f, g, h, i, j, k, l, m) j
-# define BOOST_PP_TUPLE_ELEM_13_10(a, b, c, d, e, f, g, h, i, j, k, l, m) k
-# define BOOST_PP_TUPLE_ELEM_13_11(a, b, c, d, e, f, g, h, i, j, k, l, m) l
-# define BOOST_PP_TUPLE_ELEM_13_12(a, b, c, d, e, f, g, h, i, j, k, l, m) m
-#
-# define BOOST_PP_TUPLE_ELEM_14_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n) a
-# define BOOST_PP_TUPLE_ELEM_14_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n) b
-# define BOOST_PP_TUPLE_ELEM_14_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n) c
-# define BOOST_PP_TUPLE_ELEM_14_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n) d
-# define BOOST_PP_TUPLE_ELEM_14_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n) e
-# define BOOST_PP_TUPLE_ELEM_14_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n) f
-# define BOOST_PP_TUPLE_ELEM_14_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n) g
-# define BOOST_PP_TUPLE_ELEM_14_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n) h
-# define BOOST_PP_TUPLE_ELEM_14_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n) i
-# define BOOST_PP_TUPLE_ELEM_14_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n) j
-# define BOOST_PP_TUPLE_ELEM_14_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n) k
-# define BOOST_PP_TUPLE_ELEM_14_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n) l
-# define BOOST_PP_TUPLE_ELEM_14_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n) m
-# define BOOST_PP_TUPLE_ELEM_14_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) n
-#
-# define BOOST_PP_TUPLE_ELEM_15_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) a
-# define BOOST_PP_TUPLE_ELEM_15_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) b
-# define BOOST_PP_TUPLE_ELEM_15_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) c
-# define BOOST_PP_TUPLE_ELEM_15_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) d
-# define BOOST_PP_TUPLE_ELEM_15_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) e
-# define BOOST_PP_TUPLE_ELEM_15_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) f
-# define BOOST_PP_TUPLE_ELEM_15_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) g
-# define BOOST_PP_TUPLE_ELEM_15_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) h
-# define BOOST_PP_TUPLE_ELEM_15_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) i
-# define BOOST_PP_TUPLE_ELEM_15_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) j
-# define BOOST_PP_TUPLE_ELEM_15_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) k
-# define BOOST_PP_TUPLE_ELEM_15_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) l
-# define BOOST_PP_TUPLE_ELEM_15_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) m
-# define BOOST_PP_TUPLE_ELEM_15_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) n
-# define BOOST_PP_TUPLE_ELEM_15_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) o
-#
-# define BOOST_PP_TUPLE_ELEM_16_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) a
-# define BOOST_PP_TUPLE_ELEM_16_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) b
-# define BOOST_PP_TUPLE_ELEM_16_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) c
-# define BOOST_PP_TUPLE_ELEM_16_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) d
-# define BOOST_PP_TUPLE_ELEM_16_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) e
-# define BOOST_PP_TUPLE_ELEM_16_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) f
-# define BOOST_PP_TUPLE_ELEM_16_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) g
-# define BOOST_PP_TUPLE_ELEM_16_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) h
-# define BOOST_PP_TUPLE_ELEM_16_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) i
-# define BOOST_PP_TUPLE_ELEM_16_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) j
-# define BOOST_PP_TUPLE_ELEM_16_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) k
-# define BOOST_PP_TUPLE_ELEM_16_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) l
-# define BOOST_PP_TUPLE_ELEM_16_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) m
-# define BOOST_PP_TUPLE_ELEM_16_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) n
-# define BOOST_PP_TUPLE_ELEM_16_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) o
-# define BOOST_PP_TUPLE_ELEM_16_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) p
-#
-# define BOOST_PP_TUPLE_ELEM_17_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) a
-# define BOOST_PP_TUPLE_ELEM_17_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) b
-# define BOOST_PP_TUPLE_ELEM_17_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) c
-# define BOOST_PP_TUPLE_ELEM_17_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) d
-# define BOOST_PP_TUPLE_ELEM_17_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) e
-# define BOOST_PP_TUPLE_ELEM_17_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) f
-# define BOOST_PP_TUPLE_ELEM_17_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) g
-# define BOOST_PP_TUPLE_ELEM_17_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) h
-# define BOOST_PP_TUPLE_ELEM_17_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) i
-# define BOOST_PP_TUPLE_ELEM_17_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) j
-# define BOOST_PP_TUPLE_ELEM_17_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) k
-# define BOOST_PP_TUPLE_ELEM_17_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) l
-# define BOOST_PP_TUPLE_ELEM_17_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) m
-# define BOOST_PP_TUPLE_ELEM_17_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) n
-# define BOOST_PP_TUPLE_ELEM_17_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) o
-# define BOOST_PP_TUPLE_ELEM_17_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) p
-# define BOOST_PP_TUPLE_ELEM_17_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) q
-#
-# define BOOST_PP_TUPLE_ELEM_18_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) a
-# define BOOST_PP_TUPLE_ELEM_18_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) b
-# define BOOST_PP_TUPLE_ELEM_18_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) c
-# define BOOST_PP_TUPLE_ELEM_18_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) d
-# define BOOST_PP_TUPLE_ELEM_18_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) e
-# define BOOST_PP_TUPLE_ELEM_18_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) f
-# define BOOST_PP_TUPLE_ELEM_18_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) g
-# define BOOST_PP_TUPLE_ELEM_18_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) h
-# define BOOST_PP_TUPLE_ELEM_18_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) i
-# define BOOST_PP_TUPLE_ELEM_18_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) j
-# define BOOST_PP_TUPLE_ELEM_18_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) k
-# define BOOST_PP_TUPLE_ELEM_18_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) l
-# define BOOST_PP_TUPLE_ELEM_18_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) m
-# define BOOST_PP_TUPLE_ELEM_18_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) n
-# define BOOST_PP_TUPLE_ELEM_18_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) o
-# define BOOST_PP_TUPLE_ELEM_18_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) p
-# define BOOST_PP_TUPLE_ELEM_18_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) q
-# define BOOST_PP_TUPLE_ELEM_18_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) r
-#
-# define BOOST_PP_TUPLE_ELEM_19_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) a
-# define BOOST_PP_TUPLE_ELEM_19_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) b
-# define BOOST_PP_TUPLE_ELEM_19_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) c
-# define BOOST_PP_TUPLE_ELEM_19_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) d
-# define BOOST_PP_TUPLE_ELEM_19_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) e
-# define BOOST_PP_TUPLE_ELEM_19_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) f
-# define BOOST_PP_TUPLE_ELEM_19_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) g
-# define BOOST_PP_TUPLE_ELEM_19_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) h
-# define BOOST_PP_TUPLE_ELEM_19_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) i
-# define BOOST_PP_TUPLE_ELEM_19_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) j
-# define BOOST_PP_TUPLE_ELEM_19_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) k
-# define BOOST_PP_TUPLE_ELEM_19_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) l
-# define BOOST_PP_TUPLE_ELEM_19_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) m
-# define BOOST_PP_TUPLE_ELEM_19_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) n
-# define BOOST_PP_TUPLE_ELEM_19_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) o
-# define BOOST_PP_TUPLE_ELEM_19_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) p
-# define BOOST_PP_TUPLE_ELEM_19_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) q
-# define BOOST_PP_TUPLE_ELEM_19_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) r
-# define BOOST_PP_TUPLE_ELEM_19_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) s
-#
-# define BOOST_PP_TUPLE_ELEM_20_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) a
-# define BOOST_PP_TUPLE_ELEM_20_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) b
-# define BOOST_PP_TUPLE_ELEM_20_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) c
-# define BOOST_PP_TUPLE_ELEM_20_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) d
-# define BOOST_PP_TUPLE_ELEM_20_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) e
-# define BOOST_PP_TUPLE_ELEM_20_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) f
-# define BOOST_PP_TUPLE_ELEM_20_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) g
-# define BOOST_PP_TUPLE_ELEM_20_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) h
-# define BOOST_PP_TUPLE_ELEM_20_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) i
-# define BOOST_PP_TUPLE_ELEM_20_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) j
-# define BOOST_PP_TUPLE_ELEM_20_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) k
-# define BOOST_PP_TUPLE_ELEM_20_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) l
-# define BOOST_PP_TUPLE_ELEM_20_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) m
-# define BOOST_PP_TUPLE_ELEM_20_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) n
-# define BOOST_PP_TUPLE_ELEM_20_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) o
-# define BOOST_PP_TUPLE_ELEM_20_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) p
-# define BOOST_PP_TUPLE_ELEM_20_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) q
-# define BOOST_PP_TUPLE_ELEM_20_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) r
-# define BOOST_PP_TUPLE_ELEM_20_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) s
-# define BOOST_PP_TUPLE_ELEM_20_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) t
-#
-# define BOOST_PP_TUPLE_ELEM_21_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) a
-# define BOOST_PP_TUPLE_ELEM_21_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) b
-# define BOOST_PP_TUPLE_ELEM_21_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) c
-# define BOOST_PP_TUPLE_ELEM_21_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) d
-# define BOOST_PP_TUPLE_ELEM_21_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) e
-# define BOOST_PP_TUPLE_ELEM_21_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) f
-# define BOOST_PP_TUPLE_ELEM_21_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) g
-# define BOOST_PP_TUPLE_ELEM_21_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) h
-# define BOOST_PP_TUPLE_ELEM_21_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) i
-# define BOOST_PP_TUPLE_ELEM_21_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) j
-# define BOOST_PP_TUPLE_ELEM_21_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) k
-# define BOOST_PP_TUPLE_ELEM_21_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) l
-# define BOOST_PP_TUPLE_ELEM_21_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) m
-# define BOOST_PP_TUPLE_ELEM_21_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) n
-# define BOOST_PP_TUPLE_ELEM_21_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) o
-# define BOOST_PP_TUPLE_ELEM_21_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) p
-# define BOOST_PP_TUPLE_ELEM_21_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) q
-# define BOOST_PP_TUPLE_ELEM_21_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) r
-# define BOOST_PP_TUPLE_ELEM_21_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) s
-# define BOOST_PP_TUPLE_ELEM_21_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) t
-# define BOOST_PP_TUPLE_ELEM_21_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) u
-#
-# define BOOST_PP_TUPLE_ELEM_22_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) a
-# define BOOST_PP_TUPLE_ELEM_22_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) b
-# define BOOST_PP_TUPLE_ELEM_22_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) c
-# define BOOST_PP_TUPLE_ELEM_22_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) d
-# define BOOST_PP_TUPLE_ELEM_22_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) e
-# define BOOST_PP_TUPLE_ELEM_22_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) f
-# define BOOST_PP_TUPLE_ELEM_22_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) g
-# define BOOST_PP_TUPLE_ELEM_22_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) h
-# define BOOST_PP_TUPLE_ELEM_22_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) i
-# define BOOST_PP_TUPLE_ELEM_22_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) j
-# define BOOST_PP_TUPLE_ELEM_22_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) k
-# define BOOST_PP_TUPLE_ELEM_22_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) l
-# define BOOST_PP_TUPLE_ELEM_22_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) m
-# define BOOST_PP_TUPLE_ELEM_22_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) n
-# define BOOST_PP_TUPLE_ELEM_22_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) o
-# define BOOST_PP_TUPLE_ELEM_22_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) p
-# define BOOST_PP_TUPLE_ELEM_22_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) q
-# define BOOST_PP_TUPLE_ELEM_22_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) r
-# define BOOST_PP_TUPLE_ELEM_22_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) s
-# define BOOST_PP_TUPLE_ELEM_22_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) t
-# define BOOST_PP_TUPLE_ELEM_22_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) u
-# define BOOST_PP_TUPLE_ELEM_22_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) v
-#
-# define BOOST_PP_TUPLE_ELEM_23_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) a
-# define BOOST_PP_TUPLE_ELEM_23_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) b
-# define BOOST_PP_TUPLE_ELEM_23_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) c
-# define BOOST_PP_TUPLE_ELEM_23_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) d
-# define BOOST_PP_TUPLE_ELEM_23_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) e
-# define BOOST_PP_TUPLE_ELEM_23_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) f
-# define BOOST_PP_TUPLE_ELEM_23_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) g
-# define BOOST_PP_TUPLE_ELEM_23_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) h
-# define BOOST_PP_TUPLE_ELEM_23_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) i
-# define BOOST_PP_TUPLE_ELEM_23_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) j
-# define BOOST_PP_TUPLE_ELEM_23_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) k
-# define BOOST_PP_TUPLE_ELEM_23_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) l
-# define BOOST_PP_TUPLE_ELEM_23_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) m
-# define BOOST_PP_TUPLE_ELEM_23_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) n
-# define BOOST_PP_TUPLE_ELEM_23_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) o
-# define BOOST_PP_TUPLE_ELEM_23_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) p
-# define BOOST_PP_TUPLE_ELEM_23_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) q
-# define BOOST_PP_TUPLE_ELEM_23_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) r
-# define BOOST_PP_TUPLE_ELEM_23_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) s
-# define BOOST_PP_TUPLE_ELEM_23_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) t
-# define BOOST_PP_TUPLE_ELEM_23_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) u
-# define BOOST_PP_TUPLE_ELEM_23_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) v
-# define BOOST_PP_TUPLE_ELEM_23_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) w
-#
-# define BOOST_PP_TUPLE_ELEM_24_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) a
-# define BOOST_PP_TUPLE_ELEM_24_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) b
-# define BOOST_PP_TUPLE_ELEM_24_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) c
-# define BOOST_PP_TUPLE_ELEM_24_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) d
-# define BOOST_PP_TUPLE_ELEM_24_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) e
-# define BOOST_PP_TUPLE_ELEM_24_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) f
-# define BOOST_PP_TUPLE_ELEM_24_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) g
-# define BOOST_PP_TUPLE_ELEM_24_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) h
-# define BOOST_PP_TUPLE_ELEM_24_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) i
-# define BOOST_PP_TUPLE_ELEM_24_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) j
-# define BOOST_PP_TUPLE_ELEM_24_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) k
-# define BOOST_PP_TUPLE_ELEM_24_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) l
-# define BOOST_PP_TUPLE_ELEM_24_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) m
-# define BOOST_PP_TUPLE_ELEM_24_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) n
-# define BOOST_PP_TUPLE_ELEM_24_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) o
-# define BOOST_PP_TUPLE_ELEM_24_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) p
-# define BOOST_PP_TUPLE_ELEM_24_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) q
-# define BOOST_PP_TUPLE_ELEM_24_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) r
-# define BOOST_PP_TUPLE_ELEM_24_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) s
-# define BOOST_PP_TUPLE_ELEM_24_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) t
-# define BOOST_PP_TUPLE_ELEM_24_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) u
-# define BOOST_PP_TUPLE_ELEM_24_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) v
-# define BOOST_PP_TUPLE_ELEM_24_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) w
-# define BOOST_PP_TUPLE_ELEM_24_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) x
-#
-# define BOOST_PP_TUPLE_ELEM_25_0(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
-# define BOOST_PP_TUPLE_ELEM_25_1(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) b
-# define BOOST_PP_TUPLE_ELEM_25_2(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) c
-# define BOOST_PP_TUPLE_ELEM_25_3(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) d
-# define BOOST_PP_TUPLE_ELEM_25_4(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) e
-# define BOOST_PP_TUPLE_ELEM_25_5(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) f
-# define BOOST_PP_TUPLE_ELEM_25_6(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) g
-# define BOOST_PP_TUPLE_ELEM_25_7(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) h
-# define BOOST_PP_TUPLE_ELEM_25_8(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) i
-# define BOOST_PP_TUPLE_ELEM_25_9(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) j
-# define BOOST_PP_TUPLE_ELEM_25_10(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) k
-# define BOOST_PP_TUPLE_ELEM_25_11(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) l
-# define BOOST_PP_TUPLE_ELEM_25_12(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) m
-# define BOOST_PP_TUPLE_ELEM_25_13(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) n
-# define BOOST_PP_TUPLE_ELEM_25_14(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) o
-# define BOOST_PP_TUPLE_ELEM_25_15(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) p
-# define BOOST_PP_TUPLE_ELEM_25_16(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) q
-# define BOOST_PP_TUPLE_ELEM_25_17(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) r
-# define BOOST_PP_TUPLE_ELEM_25_18(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) s
-# define BOOST_PP_TUPLE_ELEM_25_19(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) t
-# define BOOST_PP_TUPLE_ELEM_25_20(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) u
-# define BOOST_PP_TUPLE_ELEM_25_21(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) v
-# define BOOST_PP_TUPLE_ELEM_25_22(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) w
-# define BOOST_PP_TUPLE_ELEM_25_23(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) x
-# define BOOST_PP_TUPLE_ELEM_25_24(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) y
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/tuple/rem.hpp b/SRC/Boost/boost/preprocessor/tuple/rem.hpp
deleted file mode 100755
index 93b1f3a..0000000
--- a/SRC/Boost/boost/preprocessor/tuple/rem.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_REM_HPP
-# define BOOST_PREPROCESSOR_TUPLE_REM_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_TUPLE_REM */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_I(size)
-# else
-#    define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_OO((size))
-#    define BOOST_PP_TUPLE_REM_OO(par) BOOST_PP_TUPLE_REM_I ## par
-# endif
-#
-# define BOOST_PP_TUPLE_REM_I(size) BOOST_PP_TUPLE_REM_ ## size
-#
-# define BOOST_PP_TUPLE_REM_0()
-# define BOOST_PP_TUPLE_REM_1(a) a
-# define BOOST_PP_TUPLE_REM_2(a, b) a, b
-# define BOOST_PP_TUPLE_REM_3(a, b, c) a, b, c
-# define BOOST_PP_TUPLE_REM_4(a, b, c, d) a, b, c, d
-# define BOOST_PP_TUPLE_REM_5(a, b, c, d, e) a, b, c, d, e
-# define BOOST_PP_TUPLE_REM_6(a, b, c, d, e, f) a, b, c, d, e, f
-# define BOOST_PP_TUPLE_REM_7(a, b, c, d, e, f, g) a, b, c, d, e, f, g
-# define BOOST_PP_TUPLE_REM_8(a, b, c, d, e, f, g, h) a, b, c, d, e, f, g, h
-# define BOOST_PP_TUPLE_REM_9(a, b, c, d, e, f, g, h, i) a, b, c, d, e, f, g, h, i
-# define BOOST_PP_TUPLE_REM_10(a, b, c, d, e, f, g, h, i, j) a, b, c, d, e, f, g, h, i, j
-# define BOOST_PP_TUPLE_REM_11(a, b, c, d, e, f, g, h, i, j, k) a, b, c, d, e, f, g, h, i, j, k
-# define BOOST_PP_TUPLE_REM_12(a, b, c, d, e, f, g, h, i, j, k, l) a, b, c, d, e, f, g, h, i, j, k, l
-# define BOOST_PP_TUPLE_REM_13(a, b, c, d, e, f, g, h, i, j, k, l, m) a, b, c, d, e, f, g, h, i, j, k, l, m
-# define BOOST_PP_TUPLE_REM_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) a, b, c, d, e, f, g, h, i, j, k, l, m, n
-# define BOOST_PP_TUPLE_REM_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o
-# define BOOST_PP_TUPLE_REM_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p
-# define BOOST_PP_TUPLE_REM_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q
-# define BOOST_PP_TUPLE_REM_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r
-# define BOOST_PP_TUPLE_REM_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s
-# define BOOST_PP_TUPLE_REM_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t
-# define BOOST_PP_TUPLE_REM_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u
-# define BOOST_PP_TUPLE_REM_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v
-# define BOOST_PP_TUPLE_REM_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w
-# define BOOST_PP_TUPLE_REM_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x
-# define BOOST_PP_TUPLE_REM_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y
-#
-# /* BOOST_PP_TUPLE_REM_CTOR */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple)
-# else
-#    define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_D(size, tuple)
-#    define BOOST_PP_TUPLE_REM_CTOR_D(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple)
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) ext tuple
-# else
-#    define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) BOOST_PP_TUPLE_REM_CTOR_OO((ext, tuple))
-#    define BOOST_PP_TUPLE_REM_CTOR_OO(par) BOOST_PP_TUPLE_REM_CTOR_II ## par
-#    define BOOST_PP_TUPLE_REM_CTOR_II(ext, tuple) ext ## tuple
-# endif
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/tuple/reverse.hpp b/SRC/Boost/boost/preprocessor/tuple/reverse.hpp
deleted file mode 100755
index 563e237..0000000
--- a/SRC/Boost/boost/preprocessor/tuple/reverse.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_REVERSE_HPP
-# define BOOST_PREPROCESSOR_TUPLE_REVERSE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_TUPLE_REVERSE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_I(size, tuple)
-#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#        define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_ ## s t
-#    else
-#        define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_II(BOOST_PP_TUPLE_REVERSE_ ## s t)
-#        define BOOST_PP_TUPLE_REVERSE_II(res) res
-#    endif
-# else
-#    define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_OO((size, tuple))
-#    define BOOST_PP_TUPLE_REVERSE_OO(par) BOOST_PP_TUPLE_REVERSE_I ## par
-#    define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_ ## s ## t
-# endif
-#
-# define BOOST_PP_TUPLE_REVERSE_0() ()
-# define BOOST_PP_TUPLE_REVERSE_1(a) (a)
-# define BOOST_PP_TUPLE_REVERSE_2(a, b) (b, a)
-# define BOOST_PP_TUPLE_REVERSE_3(a, b, c) (c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_4(a, b, c, d) (d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_5(a, b, c, d, e) (e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_6(a, b, c, d, e, f) (f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_7(a, b, c, d, e, f, g) (g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_8(a, b, c, d, e, f, g, h) (h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_9(a, b, c, d, e, f, g, h, i) (i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_10(a, b, c, d, e, f, g, h, i, j) (j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_11(a, b, c, d, e, f, g, h, i, j, k) (k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_12(a, b, c, d, e, f, g, h, i, j, k, l) (l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_13(a, b, c, d, e, f, g, h, i, j, k, l, m) (m, l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) (n, m, l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) (o, n, m, l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) (p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) (q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) (r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) (s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) (t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) (u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) (v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) (w, v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) (x, w, v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a)
-# define BOOST_PP_TUPLE_REVERSE_25(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) (y, x, w, v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a)
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/tuple/to_list.hpp b/SRC/Boost/boost/preprocessor/tuple/to_list.hpp
deleted file mode 100755
index 6c4a5f4..0000000
--- a/SRC/Boost/boost/preprocessor/tuple/to_list.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-# /* Copyright (C) 2001
-#  * Housemarque Oy
-#  * http://www.housemarque.com
-#  *
-#  * Distributed under the Boost Software License, Version 1.0. (See
-#  * accompanying file LICENSE_1_0.txt or copy at
-#  * http://www.boost.org/LICENSE_1_0.txt)
-#  */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP
-# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_TUPLE_TO_LIST */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_I(size, tuple)
-#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#        define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s t
-#    else
-#        define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_II(BOOST_PP_TUPLE_TO_LIST_ ## s t)
-#        define BOOST_PP_TUPLE_TO_LIST_II(res) res
-#    endif
-# else
-#    define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_OO((size, tuple))
-#    define BOOST_PP_TUPLE_TO_LIST_OO(par) BOOST_PP_TUPLE_TO_LIST_I ## par
-#    define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s ## t
-# endif
-#
-# define BOOST_PP_TUPLE_TO_LIST_0() BOOST_PP_NIL
-# define BOOST_PP_TUPLE_TO_LIST_1(a) (a, BOOST_PP_NIL)
-# define BOOST_PP_TUPLE_TO_LIST_2(a, b) (a, (b, BOOST_PP_NIL))
-# define BOOST_PP_TUPLE_TO_LIST_3(a, b, c) (a, (b, (c, BOOST_PP_NIL)))
-# define BOOST_PP_TUPLE_TO_LIST_4(a, b, c, d) (a, (b, (c, (d, BOOST_PP_NIL))))
-# define BOOST_PP_TUPLE_TO_LIST_5(a, b, c, d, e) (a, (b, (c, (d, (e, BOOST_PP_NIL)))))
-# define BOOST_PP_TUPLE_TO_LIST_6(a, b, c, d, e, f) (a, (b, (c, (d, (e, (f, BOOST_PP_NIL))))))
-# define BOOST_PP_TUPLE_TO_LIST_7(a, b, c, d, e, f, g) (a, (b, (c, (d, (e, (f, (g, BOOST_PP_NIL)))))))
-# define BOOST_PP_TUPLE_TO_LIST_8(a, b, c, d, e, f, g, h) (a, (b, (c, (d, (e, (f, (g, (h, BOOST_PP_NIL))))))))
-# define BOOST_PP_TUPLE_TO_LIST_9(a, b, c, d, e, f, g, h, i) (a, (b, (c, (d, (e, (f, (g, (h, (i, BOOST_PP_NIL)))))))))
-# define BOOST_PP_TUPLE_TO_LIST_10(a, b, c, d, e, f, g, h, i, j) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, BOOST_PP_NIL))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_11(a, b, c, d, e, f, g, h, i, j, k) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, BOOST_PP_NIL)))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_12(a, b, c, d, e, f, g, h, i, j, k, l) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, BOOST_PP_NIL))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_13(a, b, c, d, e, f, g, h, i, j, k, l, m) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, BOOST_PP_NIL)))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, BOOST_PP_NIL))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, BOOST_PP_NIL)))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, BOOST_PP_NIL))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, BOOST_PP_NIL)))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, BOOST_PP_NIL))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, BOOST_PP_NIL)))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, BOOST_PP_NIL))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, BOOST_PP_NIL)))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, BOOST_PP_NIL))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, (w, BOOST_PP_NIL)))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, (w, (x, BOOST_PP_NIL))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, (w, (x, (y, BOOST_PP_NIL)))))))))))))))))))))))))
-#
-# endif
diff --git a/SRC/Boost/boost/preprocessor/tuple/to_seq.hpp b/SRC/Boost/boost/preprocessor/tuple/to_seq.hpp
deleted file mode 100755
index efb421f..0000000
--- a/SRC/Boost/boost/preprocessor/tuple/to_seq.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     Distributed under the Boost Software License, Version 1.0. (See
-#  *     accompanying file LICENSE_1_0.txt or copy at
-#  *     http://www.boost.org/LICENSE_1_0.txt)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_TO_SEQ_HPP
-# define BOOST_PREPROCESSOR_TUPLE_TO_SEQ_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_TUPLE_TO_SEQ */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_TUPLE_TO_SEQ(size, tuple) BOOST_PP_TUPLE_TO_SEQ_I(size, tuple)
-#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#        define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_ ## s t
-#    else
-#        define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_II(BOOST_PP_TUPLE_TO_SEQ_ ## s t)
-#        define BOOST_PP_TUPLE_TO_SEQ_II(res) res
-#    endif
-# else
-#    define BOOST_PP_TUPLE_TO_SEQ(size, tuple) BOOST_PP_TUPLE_TO_SEQ_OO((size, tuple))
-#    define BOOST_PP_TUPLE_TO_SEQ_OO(par) BOOST_PP_TUPLE_TO_SEQ_I ## par
-#    define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_ ## s ## t
-# endif
-#
-# define BOOST_PP_TUPLE_TO_SEQ_0()
-# define BOOST_PP_TUPLE_TO_SEQ_1(a) (a)
-# define BOOST_PP_TUPLE_TO_SEQ_2(a, b) (a)(b)
-# define BOOST_PP_TUPLE_TO_SEQ_3(a, b, c) (a)(b)(c)
-# define BOOST_PP_TUPLE_TO_SEQ_4(a, b, c, d) (a)(b)(c)(d)
-# define BOOST_PP_TUPLE_TO_SEQ_5(a, b, c, d, e) (a)(b)(c)(d)(e)
-# define BOOST_PP_TUPLE_TO_SEQ_6(a, b, c, d, e, f) (a)(b)(c)(d)(e)(f)
-# define BOOST_PP_TUPLE_TO_SEQ_7(a, b, c, d, e, f, g) (a)(b)(c)(d)(e)(f)(g)
-# define BOOST_PP_TUPLE_TO_SEQ_8(a, b, c, d, e, f, g, h) (a)(b)(c)(d)(e)(f)(g)(h)
-# define BOOST_PP_TUPLE_TO_SEQ_9(a, b, c, d, e, f, g, h, i) (a)(b)(c)(d)(e)(f)(g)(h)(i)
-# define BOOST_PP_TUPLE_TO_SEQ_10(a, b, c, d, e, f, g, h, i, j) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)
-# define BOOST_PP_TUPLE_TO_SEQ_11(a, b, c, d, e, f, g, h, i, j, k) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)
-# define BOOST_PP_TUPLE_TO_SEQ_12(a, b, c, d, e, f, g, h, i, j, k, l) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)
-# define BOOST_PP_TUPLE_TO_SEQ_13(a, b, c, d, e, f, g, h, i, j, k, l, m) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)
-# define BOOST_PP_TUPLE_TO_SEQ_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)
-# define BOOST_PP_TUPLE_TO_SEQ_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)
-# define BOOST_PP_TUPLE_TO_SEQ_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)
-# define BOOST_PP_TUPLE_TO_SEQ_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)
-# define BOOST_PP_TUPLE_TO_SEQ_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)
-# define BOOST_PP_TUPLE_TO_SEQ_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)
-# define BOOST_PP_TUPLE_TO_SEQ_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)
-# define BOOST_PP_TUPLE_TO_SEQ_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)
-# define BOOST_PP_TUPLE_TO_SEQ_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)
-# define BOOST_PP_TUPLE_TO_SEQ_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)
-# define BOOST_PP_TUPLE_TO_SEQ_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)
-# define BOOST_PP_TUPLE_TO_SEQ_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)
-#
-# endif
diff --git a/SRC/Boost/boost/progress.hpp b/SRC/Boost/boost/progress.hpp
deleted file mode 100755
index c7283f3..0000000
--- a/SRC/Boost/boost/progress.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-//  boost progress.hpp header file  ------------------------------------------//
-
-//  Copyright Beman Dawes 1994-99.  Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/timer for documentation.
-
-//  Revision History
-//   1 Dec 01  Add leading progress display strings (suggested by Toon Knapen)
-//  20 May 01  Introduce several static_casts<> to eliminate warning messages
-//             (Fixed by Beman, reported by Herve Bronnimann)
-//  12 Jan 01  Change to inline implementation to allow use without library
-//             builds. See docs for more rationale. (Beman Dawes) 
-//  22 Jul 99  Name changed to .hpp
-//  16 Jul 99  Second beta
-//   6 Jul 99  Initial boost version
-
-#ifndef BOOST_PROGRESS_HPP
-#define BOOST_PROGRESS_HPP
-
-#include <boost/timer.hpp>
-#include <boost/utility.hpp>  // for noncopyable
-#include <boost/cstdint.hpp>  // for uintmax_t
-#include <iostream>           // for ostream, cout, etc
-#include <string>             // for string
-
-namespace boost {
-
-//  progress_timer  ----------------------------------------------------------//
-
-//  A progress_timer behaves like a timer except that the destructor displays
-//  an elapsed time message at an appropriate place in an appropriate form.
-
-class progress_timer : public timer, private noncopyable
-{
-  
- public:
-  explicit progress_timer( std::ostream & os = std::cout )
-     // os is hint; implementation may ignore, particularly in embedded systems
-     : m_os(os) {}
-  ~progress_timer()
-  {
-  //  A) Throwing an exception from a destructor is a Bad Thing.
-  //  B) The progress_timer destructor does output which may throw.
-  //  C) A progress_timer is usually not critical to the application.
-  //  Therefore, wrap the I/O in a try block, catch and ignore all exceptions.
-    try
-    {
-      // use istream instead of ios_base to workaround GNU problem (Greg Chicares)
-      std::istream::fmtflags old_flags = m_os.setf( std::istream::fixed,
-                                                   std::istream::floatfield );
-      std::streamsize old_prec = m_os.precision( 2 );
-      m_os << elapsed() << " s\n" // "s" is System International d'Unites std
-                        << std::endl;
-      m_os.flags( old_flags );
-      m_os.precision( old_prec );
-    }
-
-    catch (...) {} // eat any exceptions
-  } // ~progress_timer
-
- private:
-  std::ostream & m_os;
-};
-
-
-//  progress_display  --------------------------------------------------------//
-
-//  progress_display displays an appropriate indication of 
-//  progress at an appropriate place in an appropriate form.
-
-// NOTE: (Jan 12, 2001) Tried to change unsigned long to boost::uintmax_t, but
-// found some compilers couldn't handle the required conversion to double.
-// Reverted to unsigned long until the compilers catch up. 
-
-class progress_display : private noncopyable
-{
- public:
-  explicit progress_display( unsigned long expected_count,
-                             std::ostream & os = std::cout,
-                             const std::string & s1 = "\n", //leading strings
-                             const std::string & s2 = "",
-                             const std::string & s3 = "" )
-   // os is hint; implementation may ignore, particularly in embedded systems
-   : m_os(os), m_s1(s1), m_s2(s2), m_s3(s3) { restart(expected_count); }
-
-  void           restart( unsigned long expected_count )
-  //  Effects: display appropriate scale
-  //  Postconditions: count()==0, expected_count()==expected_count
-  {
-    _count = _next_tic_count = _tic = 0;
-    _expected_count = expected_count;
-
-    m_os << m_s1 << "0%   10   20   30   40   50   60   70   80   90   100%\n"
-         << m_s2 << "|----|----|----|----|----|----|----|----|----|----|"
-         << std::endl  // endl implies flush, which ensures display
-         << m_s3;
-    if ( !_expected_count ) _expected_count = 1;  // prevent divide by zero
-  } // restart
-
-  unsigned long  operator+=( unsigned long increment )
-  //  Effects: Display appropriate progress tic if needed.
-  //  Postconditions: count()== original count() + increment
-  //  Returns: count().
-  {
-    if ( (_count += increment) >= _next_tic_count ) { display_tic(); }
-    return _count;
-  }
-
-  unsigned long  operator++()           { return operator+=( 1 ); }
-  unsigned long  count() const          { return _count; }
-  unsigned long  expected_count() const { return _expected_count; }
-
-  private:
-  std::ostream &     m_os;  // may not be present in all imps
-  const std::string  m_s1;  // string is more general, safer than 
-  const std::string  m_s2;  //  const char *, and efficiency or size are
-  const std::string  m_s3;  //  not issues
-
-  unsigned long _count, _expected_count, _next_tic_count;
-  unsigned int  _tic;
-  void display_tic()
-  {
-    // use of floating point ensures that both large and small counts
-    // work correctly.  static_cast<>() is also used several places
-    // to suppress spurious compiler warnings. 
-    unsigned int tics_needed =
-      static_cast<unsigned int>(
-        (static_cast<double>(_count)/_expected_count)*50.0 );
-    do { m_os << '*' << std::flush; } while ( ++_tic < tics_needed );
-    _next_tic_count = 
-      static_cast<unsigned long>((_tic/50.0)*_expected_count);
-    if ( _count == _expected_count ) {
-      if ( _tic < 51 ) m_os << '*';
-      m_os << std::endl;
-      }
-  } // display_tic
-};
-
-} // namespace boost
-
-#endif  // BOOST_PROGRESS_HPP
diff --git a/SRC/Boost/boost/ptr_container/clone_allocator.hpp b/SRC/Boost/boost/ptr_container/clone_allocator.hpp
deleted file mode 100755
index cd515aa..0000000
--- a/SRC/Boost/boost/ptr_container/clone_allocator.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_CLONE_ALLOCATOR_HPP
-#define BOOST_PTR_CONTAINER_CLONE_ALLOCATOR_HPP
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <typeinfo>
-
-namespace boost
-{
-    /////////////////////////////////////////////////////////////////////////
-    // Clonable concept 
-    /////////////////////////////////////////////////////////////////////////
-    
-    template< class T >
-    inline T* new_clone( const T& r )
-    {
-        //
-        // @remark: if you get a compile-error here,
-        //          it is most likely because you did not
-        //          define new_clone( const T& ) in the namespace
-        //          of T.
-        //
-        T* res = new T( r );
-        BOOST_ASSERT( typeid(r) == typeid(*res) &&
-                      "Default new_clone() sliced object!" );
-        return res;
-    }
-
-    template< class T >
-    inline T* new_clone( const T* r )
-    {
-        return r ? new_clone( *r ) : 0;
-    }
-
-    // 
-    // @remark: to make new_clone() work
-    //          with scope_ptr/shared_ptr ect.
-    //          simply overload for those types
-    //          in the appropriate namespace.
-    // 
-    
-    template< class T >
-    inline void delete_clone( const T* r )
-    {
-        checked_delete( r );
-    }
-
-    /////////////////////////////////////////////////////////////////////////
-    // CloneAllocator concept
-    /////////////////////////////////////////////////////////////////////////
-    
-    struct heap_clone_allocator
-    {
-        template< class U >
-        static U* allocate_clone( const U& r )
-        {
-            return new_clone( r );
-        }
-
-        template< class U >
-        static void deallocate_clone( const U* r )
-        {
-            delete_clone( r );
-        }
-
-    };
-
-
-    
-    struct view_clone_allocator
-    {
-        template< class U >
-        static U* allocate_clone( const U& r )
-        {
-            return const_cast<U*>(&r);
-        }
-
-        template< class U >
-        static void deallocate_clone( const U* /*r*/ )
-        {
-            // do nothing
-        }
-    };
-
-} // namespace 'boost'
-
-#endif
-
diff --git a/SRC/Boost/boost/ptr_container/detail/associative_ptr_container.hpp b/SRC/Boost/boost/ptr_container/detail/associative_ptr_container.hpp
deleted file mode 100755
index 5821648..0000000
--- a/SRC/Boost/boost/ptr_container/detail/associative_ptr_container.hpp
+++ /dev/null
@@ -1,411 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-
-#ifndef BOOST_PTR_CONTAINER_DETAIL_ASSOCIATIVE_PTR_CONTAINER_HPP
-#define BOOST_PTR_CONTAINER_DETAIL_ASSOCIATIVE_PTR_CONTAINER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/ptr_container/detail/reversible_ptr_container.hpp>
-
-namespace boost
-{
-
-namespace ptr_container_detail
-{
-    template
-    <
-        class Config,
-        class CloneAllocator
-    >
-    class associative_ptr_container :
-        public reversible_ptr_container<Config,CloneAllocator>
-    {
-        typedef reversible_ptr_container<Config,CloneAllocator>
-                                base_type;
-
-        typedef BOOST_DEDUCED_TYPENAME base_type::scoped_deleter
-                                scoped_deleter;
-
-        typedef BOOST_DEDUCED_TYPENAME Config::container_type
-                                container_type;
-    public: // typedefs
-        typedef BOOST_DEDUCED_TYPENAME Config::key_type
-                                key_type;
-        typedef BOOST_DEDUCED_TYPENAME Config::key_compare
-                                key_compare;
-        typedef BOOST_DEDUCED_TYPENAME Config::value_compare
-                                value_compare;
-        typedef BOOST_DEDUCED_TYPENAME Config::hasher
-                                hasher;
-        typedef BOOST_DEDUCED_TYPENAME Config::key_equal
-                                key_equal;
-        typedef BOOST_DEDUCED_TYPENAME Config::iterator
-                                iterator;
-        typedef BOOST_DEDUCED_TYPENAME Config::const_iterator
-                                const_iterator;
-        typedef BOOST_DEDUCED_TYPENAME Config::local_iterator
-                                local_iterator;
-        typedef BOOST_DEDUCED_TYPENAME Config::const_local_iterator
-                                const_local_iterator;
-        typedef BOOST_DEDUCED_TYPENAME base_type::size_type
-                                size_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::reference
-                                reference;
-        typedef BOOST_DEDUCED_TYPENAME base_type::const_reference
-                    const_reference;
-
-    public: // foundation
-        associative_ptr_container()
-        { }
-
-        template< class SizeType >
-        associative_ptr_container( SizeType n, unordered_associative_container_tag tag )
-          : base_type( n, tag )
-        { }
-
-        template< class Compare, class Allocator >
-        associative_ptr_container( const Compare& comp,
-                                   const Allocator& a )
-         : base_type( comp, a, container_type() )
-        { }
-        
-        template< class Hash, class Pred, class Allocator >
-        associative_ptr_container( const Hash& hash,
-                                   const Pred& pred,
-                                   const Allocator& a )
-         : base_type( hash, pred, a )
-        { }
-
-        template< class InputIterator, class Compare, class Allocator >
-        associative_ptr_container( InputIterator first, InputIterator last,
-                                   const Compare& comp,
-                                   const Allocator& a )
-         : base_type( first, last, comp, a, container_type() )
-        { }
-        
-        template< class InputIterator, class Hash, class Pred, class Allocator >
-        associative_ptr_container( InputIterator first, InputIterator last,
-                                   const Hash& hash,
-                                   const Pred& pred,
-                                   const Allocator& a )
-         : base_type( first, last, hash, pred, a )
-        { }
-        
-        template< class PtrContainer >
-        explicit associative_ptr_container( std::auto_ptr<PtrContainer> r )
-         : base_type( r )
-        { }
-
-        associative_ptr_container( const associative_ptr_container& r )
-         : base_type( r.begin(), r.end(), container_type() )
-        { }
-        
-        template< class C, class V >
-        associative_ptr_container( const associative_ptr_container<C,V>& r )
-         : base_type( r.begin(), r.end(), container_type() )
-        { }
-        
-        template< class PtrContainer >
-        associative_ptr_container& operator=( std::auto_ptr<PtrContainer> r ) // nothrow
-        {
-           base_type::operator=( r );
-           return *this;
-        }
-        
-        associative_ptr_container& operator=( associative_ptr_container r ) // strong
-        {
-           this->swap( r );
-           return *this;   
-        }
-
-    public: // associative container interface
-        key_compare key_comp() const
-        {
-            return this->base().key_comp();
-        }
-
-        value_compare value_comp() const
-        {
-            return this->base().value_comp();
-        }
-
-        iterator erase( iterator before ) // nothrow
-        {
-            BOOST_ASSERT( !this->empty() );
-            BOOST_ASSERT( before != this->end() );
-
-            this->remove( before );                      // nothrow
-            iterator res( before );                      // nothrow
-            ++res;                                       // nothrow
-            this->base().erase( before.base() );         // nothrow
-            return res;                                  // nothrow
-        }
-
-        size_type erase( const key_type& x ) // nothrow
-        {
-            iterator i( this->base().find( x ) );       
-                                                        // nothrow
-            if( i == this->end() )                      // nothrow
-                return 0u;                              // nothrow
-            this->remove( i );                          // nothrow
-            return this->base().erase( x );             // nothrow 
-        }
-
-        iterator erase( iterator first,
-                        iterator last ) // nothrow
-        {
-            iterator res( last );                                // nothrow
-            if( res != this->end() )
-                ++res;                                           // nothrow
-
-            this->remove( first, last );                         // nothrow
-            this->base().erase( first.base(), last.base() );     // nothrow
-            return res;                                          // nothrow
-        }
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#else    
-        template< class Range >
-        BOOST_DEDUCED_TYPENAME boost::disable_if< boost::is_convertible<Range&,key_type&>, 
-                                                  iterator >::type
-        erase( const Range& r )
-        {
-            return erase( boost::begin(r), boost::end(r) );
-        }
-
-#endif
-
-    protected:
-
-        template< class AssociatePtrCont >
-        void multi_transfer( BOOST_DEDUCED_TYPENAME AssociatePtrCont::iterator object,
-                             AssociatePtrCont& from ) // strong
-        {
-            BOOST_ASSERT( (void*)&from != (void*)this );
-            BOOST_ASSERT( !from.empty() && "Cannot transfer from empty container" );
-
-            this->base().insert( *object.base() );     // strong
-            from.base().erase( object.base() );        // nothrow
-        }
-
-        template< class AssociatePtrCont >
-        size_type multi_transfer( BOOST_DEDUCED_TYPENAME AssociatePtrCont::iterator first,
-                                  BOOST_DEDUCED_TYPENAME AssociatePtrCont::iterator last,
-                                  AssociatePtrCont& from ) // basic
-        {
-            BOOST_ASSERT( (void*)&from != (void*)this );
- 
-            size_type res = 0;
-            for( ; first != last; )
-            {
-                BOOST_ASSERT( first != from.end() );
-                this->base().insert( *first.base() );     // strong
-                BOOST_DEDUCED_TYPENAME AssociatePtrCont::iterator 
-                    to_delete( first );
-                ++first;
-                from.base().erase( to_delete.base() );    // nothrow
-                ++res;
-            }
-
-            return res;
-        }
-
-        template< class AssociatePtrCont >
-        bool single_transfer( BOOST_DEDUCED_TYPENAME AssociatePtrCont::iterator object,
-                              AssociatePtrCont& from ) // strong
-        {
-            BOOST_ASSERT( (void*)&from != (void*)this );
-            BOOST_ASSERT( !from.empty() && "Cannot transfer from empty container" );
-
-            std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_iterator,bool> p =
-                this->base().insert( *object.base() );     // strong
-            if( p.second )
-                from.base().erase( object.base() );        // nothrow
-
-            return p.second;
-        }
-
-        template< class AssociatePtrCont >
-        size_type single_transfer( BOOST_DEDUCED_TYPENAME AssociatePtrCont::iterator first,
-                                   BOOST_DEDUCED_TYPENAME AssociatePtrCont::iterator last,
-                                   AssociatePtrCont& from ) // basic
-        {
-            BOOST_ASSERT( (void*)&from != (void*)this );
-
-            size_type res = 0;
-            for( ; first != last; )
-            {
-                BOOST_ASSERT( first != from.end() );
-                std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_iterator,bool> p =
-                    this->base().insert( *first.base() );     // strong
-                BOOST_DEDUCED_TYPENAME AssociatePtrCont::iterator 
-                    to_delete( first );
-                ++first;
-                if( p.second )
-                {
-                    from.base().erase( to_delete.base() );   // nothrow
-                    ++res;
-                }
-            }
-            return res;
-        }
-        
-        reference front()
-        {
-            BOOST_ASSERT( !this->empty() );
-            BOOST_ASSERT( *this->begin().base() != 0 );
-            return *this->begin(); 
-        }
-
-        const_reference front() const
-        {
-            return const_cast<associative_ptr_container*>(this)->front();
-        }
-
-        reference back()
-        {
-            BOOST_ASSERT( !this->empty() );
-            BOOST_ASSERT( *(--this->end()).base() != 0 );
-            return *--this->end(); 
-        }
-
-        const_reference back() const
-        {
-            return const_cast<associative_ptr_container*>(this)->back();
-        }
-
-    protected: // unordered interface
-        hasher hash_function() const
-        {
-            return this->base().hash_function();
-        }
-
-        key_equal key_eq() const
-        {
-            return this->base().key_eq();
-        }
-        
-        size_type bucket_count() const
-        {
-            return this->base().bucket_count();
-        }
-        
-        size_type max_bucket_count() const
-        {
-            return this->base().max_bucket_count();
-        }
-        
-        size_type bucket_size( size_type n ) const
-        {
-            return this->base().bucket_size( n );
-        }
-        
-        float load_factor() const
-        {
-            return this->base().load_factor();
-        }
-        
-        float max_load_factor() const
-        {
-            return this->base().max_load_factor();
-        }
-        
-        void max_load_factor( float factor )
-        {
-            return this->base().max_load_factor( factor );
-        }
-        
-        void rehash( size_type n )
-        {
-            this->base().rehash( n );
-        }
-
-    public:
-#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(70190006))
-        iterator begin()
-        {
-            return base_type::begin();
-        }
-
-        const_iterator begin() const
-        {
-            return base_type::begin();
-        }
-
-        iterator end()
-        {
-            return base_type::end();
-        }
-
-        const_iterator end() const
-        {
-            return base_type::end();
-        }
-
-        const_iterator cbegin() const
-        {
-            return base_type::cbegin();
-        }
-
-        const_iterator cend() const
-        {
-            return base_type::cend();
-        }
-#else
-         using base_type::begin;
-         using base_type::end;
-         using base_type::cbegin;
-         using base_type::cend;
-#endif
-
-    protected:
-        local_iterator begin( size_type n )
-        {
-            return local_iterator( this->base().begin( n ) );
-        }
-        
-        const_local_iterator begin( size_type n ) const
-        {
-            return const_local_iterator( this->base().begin( n ) );
-        }
-        
-        local_iterator end( size_type n )
-        {
-            return local_iterator( this->base().end( n ) );
-        }
-        
-        const_local_iterator end( size_type n ) const
-        {
-            return const_local_iterator( this->base().end( n ) );
-        }
-        
-        const_local_iterator cbegin( size_type n ) const
-        {
-            return const_local_iterator( this->base().cbegin( n ) );
-        }
-        
-        const_local_iterator cend( size_type n )
-        {
-            return const_local_iterator( this->base().cend( n ) );
-        }
-
-     }; // class 'associative_ptr_container'
-    
-} // namespace 'ptr_container_detail'
-    
-} // namespace 'boost'
-
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/detail/default_deleter.hpp b/SRC/Boost/boost/ptr_container/detail/default_deleter.hpp
deleted file mode 100755
index f5ac05a..0000000
--- a/SRC/Boost/boost/ptr_container/detail/default_deleter.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-// (C) Copyright Jonathan Turkanis 2004-2005.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
-
-// Contains the definition of move_ptrs::default_deleter, the default
-// Deleter template argument to move_ptr. Uses a technique of Daniel
-// Wallin to capture the type of a pointer at the time the deleter 
-// is constructed, so that move_ptrs can delete objects of incomplete 
-// type by default.
-
-#ifndef BOOST_MOVE_PTR_DEFAULT_DELETER_HPP_INCLUDED
-#define BOOST_MOVE_PTR_DEFAULT_DELETER_HPP_INCLUDED 
-
-#include <boost/checked_delete.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/remove_bounds.hpp>
-
-namespace boost { namespace ptr_container_detail { namespace move_ptrs {
-
-namespace ptr_container_detail {
-
-template<typename T>
-struct deleter_base {
-    typedef void (*deleter)(T*);
-    deleter_base(deleter d) { delete_ = d; }
-    void operator() (T* t) const { delete_(t); }
-    static deleter delete_;
-};
-
-template<class T>
-typename deleter_base<T>::deleter 
-deleter_base<T>::delete_;
-
-template<typename T>
-struct scalar_deleter : deleter_base<T> {
-    typedef deleter_base<T> base;
-    scalar_deleter() : base(do_delete) { }
-    static void do_delete(T* t) { checked_delete(t); }
-};
-
-template<typename T>
-struct array_deleter 
-    : deleter_base<typename remove_bounds<T>::type>
-{
-    typedef typename remove_bounds<T>::type element_type;
-    typedef deleter_base<element_type> base;
-    array_deleter() : base(do_delete) { }
-    static void do_delete(element_type* t) { checked_array_delete(t); }
-};
-
-} // End namespace ptr_container_detail.
-
-template<typename T>
-struct default_deleter
-    : mpl::if_<
-          is_array<T>,
-          ptr_container_detail::array_deleter<T>,
-          ptr_container_detail::scalar_deleter<T>
-      >::type
-{ 
-    default_deleter() { }
-    template<typename TT>
-    default_deleter(default_deleter<TT> tt) { }
-};
-
-} } } // End namespaces ptr_container_detail, move_ptrs, boost.
-
-#endif // #ifndef BOOST_MOVE_PTR_DEFAULT_DELETER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/ptr_container/detail/is_convertible.hpp b/SRC/Boost/boost/ptr_container/detail/is_convertible.hpp
deleted file mode 100755
index 04bd683..0000000
--- a/SRC/Boost/boost/ptr_container/detail/is_convertible.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// (C) Copyright Thorsten Ottosen 2005
-// (C) Copyright Howard Hinnant 2004
-// (C) Copyright Jonathan Turkanis 2004
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
-
-//
-// Contains type traits machinery for incomplete arrays. MPL compatibility
-// is included for completeness, but is not necessary for the current 
-// application.
-// 
-
-#ifndef BOOST_MOVE_PTR_ARRAYS_HPP_INCLUDED
-#define BOOST_MOVE_PTR_ARRAYS_HPP_INCLUDED
-
-#include <boost/config.hpp> // BOOST_STATIC_CONSTANT.
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_bounds.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost { namespace ptr_container_detail { namespace move_ptrs {
-
-// From Howard Hinnant.
-template<typename T, typename U>
-struct is_array_convertible {
-    typedef typename remove_bounds<T>::type      t_element; 
-    typedef typename remove_bounds<U>::type      u_element; 
-    typedef typename remove_cv<t_element>::type  t_base; 
-    typedef typename remove_cv<u_element>::type  u_base; 
-    typedef typename 
-            mpl::and_<
-                is_array<T>,
-                is_array<U>,
-                is_same<t_base, u_base>,
-                is_convertible<t_element*, u_element*>
-            >::type                                     type;
-    BOOST_STATIC_CONSTANT(bool, value = type::value);
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, is_array_convertible, (T, U))
-};
-
-template<typename T, typename U>
-struct is_smart_ptr_convertible 
-    : mpl::if_<
-          is_array<T>,
-          is_array_convertible<T, U>,
-          is_convertible<T*, U*> 
-      >::type
-    { };
-
-#ifndef BOOST_NO_SFINAE
-    template<typename Src, typename Tgt, typename T = void>
-    struct enable_if_convertible 
-        : enable_if< 
-              is_smart_ptr_convertible<Src, Tgt>,
-              T
-          >
-        { };
-#else
-    template<typename Src, typename Tgt, class T >
-    struct enable_if_convertible : mpl::identity<T> { };
-#endif
-
-} } }         // End namespaces ptr_container_detail, move_ptrs, boost.
-
-#endif      // #ifndef BOOST_MOVE_PTR_ARRAYS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/ptr_container/detail/map_iterator.hpp b/SRC/Boost/boost/ptr_container/detail/map_iterator.hpp
deleted file mode 100755
index 42f29d6..0000000
--- a/SRC/Boost/boost/ptr_container/detail/map_iterator.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_MAP_ITERATOR_HPP
-#define BOOST_PTR_CONTAINER_MAP_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/utility/compare_pointees.hpp>
-#include <utility>
-
-#if defined(BOOST_MSVC)  
-# pragma warning(push)  
-# pragma warning(disable:4512)    // Assignment operator could not be generated.  
-#endif 
-
-namespace boost
-{ 
-    namespace ptr_container_detail
-    {
-        template< class F, class S >
-        struct ref_pair
-        {
-            typedef F first_type;
-            typedef S second_type;
-
-            const F& first;
-            S        second;
-
-            template< class F2, class S2 >
-            ref_pair( const std::pair<F2,S2>& p )
-            : first(p.first), second(static_cast<S>(p.second))
-            { }
-
-            template< class RP >
-            ref_pair( const RP* rp )
-            : first(rp->first), second(rp->second)
-            { }
-            
-            const ref_pair* const operator->() const
-            {
-                return this;
-            }
-
-            friend inline bool operator==( ref_pair l, ref_pair r )
-            {
-                return l.first == r.first && 
-                       boost::equal_pointees( l.second, r.second );
-            }
-
-            friend inline bool operator!=( ref_pair l, ref_pair r )
-            {
-                return !( l == r );
-            }
-
-            friend inline bool operator<( ref_pair l, ref_pair r )
-            {
-                if( l.first == r.first )
-                    return boost::less_pointees( l.second, r.second );
-                else 
-                    return l.first < r.first;
-            }
-
-            friend inline bool operator>( ref_pair l, ref_pair r )
-            {
-                return r < l;
-            }
-
-            friend inline bool operator<=( ref_pair l, ref_pair r )
-            {
-                return !(r < l);
-            }
-
-            friend inline bool operator>=( ref_pair l, ref_pair r )
-            {
-                return !(l < r);
-            }
-
-        };
-    }
-    
-    template< 
-              class I, // base iterator 
-              class F, // first type, key type
-              class S  // second type, mapped type
-            > 
-    class ptr_map_iterator : 
-        public boost::iterator_adaptor< ptr_map_iterator<I,F,S>, I, 
-                                        ptr_container_detail::ref_pair<F,S>, 
-                                        use_default, 
-                                        ptr_container_detail::ref_pair<F,S> >
-    {
-        typedef boost::iterator_adaptor< ptr_map_iterator<I,F,S>, I, 
-                                         ptr_container_detail::ref_pair<F,S>,
-                                         use_default, 
-                                         ptr_container_detail::ref_pair<F,S> > 
-            base_type;
-
-
-    public:
-        ptr_map_iterator() : base_type()                                 
-        { }
-        
-        explicit ptr_map_iterator( const I& i ) : base_type(i)
-        { }
-
-        template< class I2, class F2, class S2 >
-            ptr_map_iterator( const ptr_map_iterator<I2,F2,S2>& r ) 
-         : base_type(r.base())
-        { }
-        
-   }; // class 'ptr_map_iterator'
-
-}
-
-#if defined(BOOST_MSVC)  
-# pragma warning(pop)  
-#endif 
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/detail/meta_functions.hpp b/SRC/Boost/boost/ptr_container/detail/meta_functions.hpp
deleted file mode 100755
index 181bf39..0000000
--- a/SRC/Boost/boost/ptr_container/detail/meta_functions.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2008. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_DETAIL_META_FUNCTIONS
-#define BOOST_PTR_CONTAINER_DETAIL_META_FUNCTIONS
-
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/eval_if.hpp>
-
-namespace boost
-{
-namespace ptr_container_detail
-{
-    template< class T >
-    struct select_value_compare
-    {
-        typedef typename T::value_compare type;
-    };
-
-    template< class T >
-    struct select_key_compare
-    {
-        typedef typename T::key_compare type;
-    };
-
-    template< class T >
-    struct select_hasher
-    {
-        typedef typename T::hasher type;
-    };
-
-    template< class T >
-    struct select_key_equal
-    {
-        typedef typename T::key_equal type;
-    };
-
-    template< class T >
-    struct select_iterator
-    {
-        typedef typename T::iterator type;
-    };
-    
-    template< class T >
-    struct select_local_iterator
-    {
-        typedef typename T::local_iterator type;
-    };
-
-    template< class T >
-    struct select_const_local_iterator
-    {
-        typedef typename T::const_local_iterator type;
-    };
-}
-}
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/detail/move.hpp b/SRC/Boost/boost/ptr_container/detail/move.hpp
deleted file mode 100755
index 69bc338..0000000
--- a/SRC/Boost/boost/ptr_container/detail/move.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-// (C) Copyright Daniel Wallin 2004.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
-
-// Contains the definitions of the class template move_source and the function
-// template move, which together make move pointers moveable.
-
-#ifndef BOOST_MOVE_HPP_INCLUDED
-#define BOOST_MOVE_HPP_INCLUDED
-
-namespace boost { namespace ptr_container_detail {
-
-namespace move_ptrs {
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)    
-#pragma warning(push)    
-#pragma warning(disable:4512)  
-#endif  
-    
-template<typename Ptr>
-class move_source {
-public:
-    move_source(Ptr& ptr) : ptr_(ptr) {}
-    Ptr& ptr() const { return ptr_; }
-private:
-    Ptr& ptr_;
-    move_source(const Ptr&);
-};
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)    
-#pragma warning(pop)    
-#endif  
-
-} // End namespace move_ptrs.
-
-
-template<typename T>
-move_ptrs::move_source<T> move(T& x) 
-{ return move_ptrs::move_source<T>(x); }
-
-} // namespace 'ptr_container_detail'
-} // End namespace boost.
-
-#endif // #ifndef BOOST_MOVE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/ptr_container/detail/reversible_ptr_container.hpp b/SRC/Boost/boost/ptr_container/detail/reversible_ptr_container.hpp
deleted file mode 100755
index d944931..0000000
--- a/SRC/Boost/boost/ptr_container/detail/reversible_ptr_container.hpp
+++ /dev/null
@@ -1,752 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-
-#ifndef BOOST_PTR_CONTAINER_DETAIL_REVERSIBLE_PTR_CONTAINER_HPP
-#define BOOST_PTR_CONTAINER_DETAIL_REVERSIBLE_PTR_CONTAINER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/ptr_container/detail/throw_exception.hpp>
-#include <boost/ptr_container/detail/scoped_deleter.hpp>
-#include <boost/ptr_container/detail/static_move_ptr.hpp>
-#include <boost/ptr_container/exception.hpp>
-#include <boost/ptr_container/clone_allocator.hpp>
-#include <boost/ptr_container/nullable.hpp>
-
-#ifdef BOOST_NO_SFINAE
-#else
-#include <boost/range/functions.hpp>
-#endif
-
-#include <boost/config.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <typeinfo>
-#include <memory>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)  
-#pragma warning(push)  
-#pragma warning(disable:4127)
-#endif  
-
-namespace boost
-{
-
-namespace ptr_container_detail
-{
-    template< class CloneAllocator >
-    struct clone_deleter
-    {
-        template< class T >
-        void operator()( const T* p ) const
-        {
-            CloneAllocator::deallocate_clone( p );
-        }
-    };
-
-    template< class T >
-    struct is_pointer_or_integral
-    {
-        BOOST_STATIC_CONSTANT(bool, value = is_pointer<T>::value || is_integral<T>::value );
-    };
-
-    struct is_pointer_or_integral_tag {};
-    struct is_range_tag {};
-    struct sequence_tag {};
-    struct fixed_length_sequence_tag : sequence_tag {};
-    struct associative_container_tag {};
-    struct ordered_associative_container_tag : associative_container_tag {};
-    struct unordered_associative_container_tag : associative_container_tag {};
-    
-
-    
-    template
-    < 
-        class Config, 
-        class CloneAllocator
-    >
-    class reversible_ptr_container 
-    {
-    private:
-        BOOST_STATIC_CONSTANT( bool, allow_null = Config::allow_null );
-        
-        typedef BOOST_DEDUCED_TYPENAME Config::value_type Ty_;
-
-        template< bool allow_null_values >
-        struct null_clone_allocator
-        {
-            template< class Iter >
-            static Ty_* allocate_clone_from_iterator( Iter i )
-            { 
-                return allocate_clone( Config::get_const_pointer( i ) );
-            }
-            
-            static Ty_* allocate_clone( const Ty_* x )
-            {
-                if( allow_null_values )
-                {
-                    if( x == 0 )
-                        return 0;
-                }
-                else
-                {
-                    BOOST_ASSERT( x != 0 && "Cannot insert clone of null!" );
-                }
-
-                Ty_* res = CloneAllocator::allocate_clone( *x );
-                BOOST_ASSERT( typeid(*res) == typeid(*x) &&
-                              "CloneAllocator::allocate_clone() does not clone the "
-                              "object properly. Check that new_clone() is implemented"
-                              " correctly" );
-                return res;
-            }
-            
-            static void deallocate_clone( const Ty_* x )
-            {
-                if( allow_null_values )
-                {
-                    if( x == 0 )
-                        return;
-                }
-
-                CloneAllocator::deallocate_clone( x );
-            }
-        };
-
-        typedef BOOST_DEDUCED_TYPENAME Config::void_container_type  Cont;
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))    
-        typedef  null_clone_allocator<reversible_ptr_container::allow_null> 
-                                                                    null_cloner_type;
-#else
-        typedef null_clone_allocator<allow_null>                    null_cloner_type;
-#endif        
-        typedef clone_deleter<null_cloner_type>                     Deleter;
-
-        Cont      c_;
-
-    public:
-        Cont&       base()               { return c_; }
-    protected: // having this public could break encapsulation
-        const Cont& base() const         { return c_; }        
-        
-    public: // typedefs
-        typedef  Ty_*          value_type;
-        typedef  Ty_*          pointer;
-        typedef  Ty_&          reference;
-        typedef  const Ty_&    const_reference;
-        
-        typedef  BOOST_DEDUCED_TYPENAME Config::iterator 
-                                   iterator;
-        typedef  BOOST_DEDUCED_TYPENAME Config::const_iterator
-                                   const_iterator;
-        typedef  boost::reverse_iterator< iterator > 
-                                   reverse_iterator;  
-        typedef  boost::reverse_iterator< const_iterator >     
-                                   const_reverse_iterator;
-        typedef  BOOST_DEDUCED_TYPENAME Cont::difference_type
-                                   difference_type; 
-        typedef  BOOST_DEDUCED_TYPENAME Cont::size_type
-                                   size_type;
-        typedef  BOOST_DEDUCED_TYPENAME Config::allocator_type
-                                   allocator_type;
-        typedef CloneAllocator     clone_allocator_type;
-        typedef ptr_container_detail::static_move_ptr<Ty_,Deleter> 
-                                   auto_type;
-            
-    protected: 
-            
-        typedef ptr_container_detail::scoped_deleter<Ty_,null_cloner_type>
-                                   scoped_deleter;
-        typedef BOOST_DEDUCED_TYPENAME Cont::iterator
-                                   ptr_iterator; 
-        typedef BOOST_DEDUCED_TYPENAME Cont::const_iterator
-                                   ptr_const_iterator; 
-    private:
-
-        template< class InputIterator >  
-        void copy( InputIterator first, InputIterator last ) 
-        {
-            std::copy( first, last, begin() );
-        }
-        
-        void copy( const reversible_ptr_container& r )
-        { 
-            copy( r.begin(), r.end() );
-        }
-        
-        void copy_clones_and_release( scoped_deleter& sd ) // nothrow
-        {
-            BOOST_ASSERT( size_type( std::distance( sd.begin(), sd.end() ) ) == c_.size() );
-            std::copy( sd.begin(), sd.end(), c_.begin() );
-            sd.release(); 
-        }
-        
-        template< class ForwardIterator >
-        void clone_assign( ForwardIterator first, 
-                           ForwardIterator last ) // strong 
-        {
-            BOOST_ASSERT( first != last );
-            scoped_deleter sd( first, last );      // strong
-            copy_clones_and_release( sd );         // nothrow
-        }
-
-        template< class ForwardIterator >
-        void clone_back_insert( ForwardIterator first,
-                                ForwardIterator last )
-        {
-            BOOST_ASSERT( first != last );
-            scoped_deleter sd( first, last );
-            insert_clones_and_release( sd, end() );
-        }
-        
-        void remove_all() 
-        {
-            remove( begin(), end() ); 
-        }
-
-    protected:
-
-        void insert_clones_and_release( scoped_deleter& sd, 
-                                        iterator where ) // strong
-        {
-            //
-            // 'c_.insert' always provides the strong guarantee for T* elements
-            // since a copy constructor of a pointer cannot throw
-            //
-            c_.insert( where.base(), 
-                       sd.begin(), sd.end() ); 
-            sd.release();
-        }
-
-        void insert_clones_and_release( scoped_deleter& sd ) // strong
-        {
-            c_.insert( sd.begin(), sd.end() );
-            sd.release();
-        }
-
-        template< class U >
-        void remove( U* ptr )
-        {
-            null_policy_deallocate_clone( ptr );
-        }
-        
-        template< class I >
-        void remove( I i )
-        { 
-            null_policy_deallocate_clone( Config::get_const_pointer(i) );
-        }
-
-        template< class I >
-        void remove( I first, I last ) 
-        {
-            for( ; first != last; ++first )
-                remove( first );
-        }
-
-        static void enforce_null_policy( const Ty_* x, const char* msg )
-        {
-            if( !allow_null )
-            {
-                BOOST_PTR_CONTAINER_THROW_EXCEPTION( 0 == x && "null not allowed", 
-                                                     bad_pointer, msg );
-            }
-        }
-
-        static Ty_* null_policy_allocate_clone( const Ty_* x )
-        {
-            return null_cloner_type::allocate_clone( x );
-        }
-
-        static void null_policy_deallocate_clone( const Ty_* x )
-        {
-            null_cloner_type::deallocate_clone( x );
-        }
-
-    private:
-        template< class ForwardIterator >
-        ForwardIterator advance( ForwardIterator begin, size_type n ) 
-        {
-            ForwardIterator iter = begin;
-            std::advance( iter, n );
-            return iter;
-        }        
-
-        template< class I >
-        void constructor_impl( I first, I last, std::input_iterator_tag ) // basic
-        {
-            while( first != last )
-            {
-                insert( end(), null_cloner_type::allocate_clone_from_iterator(first) );
-                ++first;
-            }
-        }
-
-        template< class I >
-        void constructor_impl( I first, I last, std::forward_iterator_tag ) // strong
-        {
-            if( first == last )
-                return;
-            clone_back_insert( first, last );
-        }
-
-        template< class I >
-        void associative_constructor_impl( I first, I last ) // strong
-        {
-            if( first == last )
-                return;
-
-            scoped_deleter sd( first, last );
-            insert_clones_and_release( sd );             
-        }
-
-    public: // foundation! should be protected!
-        reversible_ptr_container()
-        { }
-
-        template< class SizeType >
-        reversible_ptr_container( SizeType n, unordered_associative_container_tag )
-          : c_( n )
-        { }
-
-        template< class SizeType >
-        reversible_ptr_container( SizeType n, fixed_length_sequence_tag )
-          : c_( n )
-        { }
-
-        template< class SizeType >
-        reversible_ptr_container( SizeType n, const allocator_type& a, 
-                                  fixed_length_sequence_tag )
-          : c_( n, a )
-        { }
-        
-        explicit reversible_ptr_container( const allocator_type& a ) 
-         : c_( a )
-        { }
-        
-        template< class PtrContainer >
-        explicit reversible_ptr_container( std::auto_ptr<PtrContainer> clone )                
-        { 
-            swap( *clone ); 
-        }
-
-        reversible_ptr_container( const reversible_ptr_container& r ) 
-        {
-            constructor_impl( r.begin(), r.end(), std::forward_iterator_tag() ); 
-        }
-
-        template< class C, class V >
-        reversible_ptr_container( const reversible_ptr_container<C,V>& r ) 
-        {
-            constructor_impl( r.begin(), r.end(), std::forward_iterator_tag() ); 
-        }
-
-        template< class PtrContainer >
-        reversible_ptr_container& operator=( std::auto_ptr<PtrContainer> clone ) // nothrow
-        {
-            swap( *clone );
-            return *this;
-        }
-
-        reversible_ptr_container& operator=( reversible_ptr_container r ) // strong 
-        {
-            swap( r );
-            return *this;
-        }
-        
-        // overhead: null-initilization of container pointer (very cheap compared to cloning)
-        // overhead: 1 heap allocation (very cheap compared to cloning)
-        template< class InputIterator >
-        reversible_ptr_container( InputIterator first, 
-                                  InputIterator last,
-                                  const allocator_type& a = allocator_type() ) // basic, strong
-          : c_( a )
-        { 
-            constructor_impl( first, last, 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#else
-                              BOOST_DEDUCED_TYPENAME
-#endif                              
-                              iterator_category<InputIterator>::type() );
-        }
-
-        template< class Compare >
-        reversible_ptr_container( const Compare& comp,
-                                  const allocator_type& a )
-          : c_( comp, a ) {}
-
-        template< class ForwardIterator >
-        reversible_ptr_container( ForwardIterator first,
-                                  ForwardIterator last,
-                                  fixed_length_sequence_tag )
-          : c_( std::distance(first,last) )
-        {
-            constructor_impl( first, last, 
-                              std::forward_iterator_tag() );
-        }
-
-        template< class SizeType, class InputIterator >
-        reversible_ptr_container( SizeType n,
-                                  InputIterator first,
-                                  InputIterator last,
-                                  fixed_length_sequence_tag )
-          : c_( n )
-        {
-            constructor_impl( first, last, 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#else
-                              BOOST_DEDUCED_TYPENAME
-#endif                              
-                              iterator_category<InputIterator>::type() );
-        }
-
-        template< class Compare >
-        reversible_ptr_container( const Compare& comp,
-                                  const allocator_type& a,
-                                  associative_container_tag )
-          : c_( comp, a )
-        { }
-                
-        template< class InputIterator >
-        reversible_ptr_container( InputIterator first,
-                                  InputIterator last,
-                                  associative_container_tag )
-        {
-            associative_constructor_impl( first, last );
-        }
-        
-        template< class InputIterator, class Compare >
-        reversible_ptr_container( InputIterator first,
-                                  InputIterator last,
-                                  const Compare& comp,
-                                  const allocator_type& a,
-                                  associative_container_tag )
-          : c_( comp, a ) 
-        {
-            associative_constructor_impl( first, last );
-        }
-
-        explicit reversible_ptr_container( size_type n )
-          : c_( n ) {}
-
-        template< class Hash, class Pred >
-        reversible_ptr_container( const Hash& h,
-                                  const Pred& pred,
-                                  const allocator_type& a )
-          : c_( h, pred, a ) {}
-
-        template< class InputIterator, class Hash, class Pred >
-        reversible_ptr_container( InputIterator first,
-                                  InputIterator last,
-                                  const Hash& h,
-                                  const Pred& pred,
-                                  const allocator_type& a )
-          : c_( h, pred, a )
-        {
-            associative_constructor_impl( first, last );
-        }
-
-    public:        
-        ~reversible_ptr_container()
-        { 
-            remove_all();
-        }
-        
-    public:
-        
-        allocator_type get_allocator() const                   
-        {
-            return c_.get_allocator(); 
-        }
- 
-    public: // container requirements
-        iterator begin()            
-            { return iterator( c_.begin() ); }
-        const_iterator begin() const      
-            { return const_iterator( c_.begin() ); }
-        iterator end()              
-            { return iterator( c_.end() ); }
-        const_iterator end() const        
-            { return const_iterator( c_.end() ); }
-        
-        reverse_iterator rbegin()           
-            { return reverse_iterator( this->end() ); } 
-        const_reverse_iterator rbegin() const     
-            { return const_reverse_iterator( this->end() ); } 
-        reverse_iterator rend()             
-            { return reverse_iterator( this->begin() ); } 
-        const_reverse_iterator rend() const       
-            { return const_reverse_iterator( this->begin() ); } 
-
-        const_iterator cbegin() const      
-            { return const_iterator( c_.begin() ); }
-        const_iterator cend() const             
-            { return const_iterator( c_.end() ); }
-
-        const_reverse_iterator crbegin() const      
-            { return const_reverse_iterator( this->end() ); }
-        const_reverse_iterator crend() const             
-            { return const_reverse_iterator( this->begin() ); }
-
-        void swap( reversible_ptr_container& r ) // nothrow
-        { 
-            c_.swap( r.c_ );
-        }
-          
-        size_type size() const // nothrow
-        {
-            return c_.size();
-        }
-
-        size_type max_size() const // nothrow
-        {
-            return c_.max_size(); 
-        }
-        
-        bool empty() const // nothrow
-        {
-            return c_.empty();
-        }
-
-    public: // optional container requirements
-
-        bool operator==( const reversible_ptr_container& r ) const // nothrow
-        { 
-            if( size() != r.size() )
-                return false;
-            else
-                return std::equal( begin(), end(), r.begin() );
-        }
-
-        bool operator!=( const reversible_ptr_container& r ) const // nothrow
-        {
-            return !(*this == r);
-        }
-        
-        bool operator<( const reversible_ptr_container& r ) const // nothrow 
-        {
-             return std::lexicographical_compare( begin(), end(), r.begin(), r.end() );
-        }
-
-        bool operator<=( const reversible_ptr_container& r ) const // nothrow 
-        {
-            return !(r < *this);
-        }
-
-        bool operator>( const reversible_ptr_container& r ) const // nothrow 
-        {
-            return r < *this;
-        }
-
-        bool operator>=( const reversible_ptr_container& r ) const // nothrow 
-        {
-            return !(*this < r);
-        }
-
-    public: // modifiers
-
-        iterator insert( iterator before, Ty_* x )
-        {
-            enforce_null_policy( x, "Null pointer in 'insert()'" );
-
-            auto_type ptr( x );                            // nothrow
-            iterator res( c_.insert( before.base(), x ) ); // strong, commit
-            ptr.release();                                 // nothrow
-            return res;
-        }
-
-        template< class U >
-        iterator insert( iterator before, std::auto_ptr<U> x )
-        {
-            return insert( before, x.release() );
-        }
-
-        iterator erase( iterator x ) // nothrow
-        {
-            BOOST_ASSERT( !empty() );
-            BOOST_ASSERT( x != end() );
-
-            remove( x );
-            return iterator( c_.erase( x.base() ) );
-        }
-
-        iterator erase( iterator first, iterator last ) // nothrow
-        {
-            remove( first, last );
-            return iterator( c_.erase( first.base(),
-                                       last.base() ) );
-        }
-
-        template< class Range >
-        iterator erase( const Range& r )
-        {
-            return erase( boost::begin(r), boost::end(r) );
-        }
-
-        void clear()
-        {
-            remove_all();
-            c_.clear();
-        }
-        
-    public: // access interface
-        
-        auto_type release( iterator where )
-        { 
-            BOOST_ASSERT( where != end() );
-            
-            BOOST_PTR_CONTAINER_THROW_EXCEPTION( empty(), bad_ptr_container_operation,
-                                                 "'release()' on empty container" ); 
-            
-            auto_type ptr( Config::get_pointer( where ) );  // nothrow
-            c_.erase( where.base() );                       // nothrow
-            return boost::ptr_container_detail::move( ptr ); 
-        }
-
-        auto_type replace( iterator where, Ty_* x ) // strong  
-        { 
-            BOOST_ASSERT( where != end() );
-
-            enforce_null_policy( x, "Null pointer in 'replace()'" );
-            
-            auto_type ptr( x );
-            
-            BOOST_PTR_CONTAINER_THROW_EXCEPTION( empty(), bad_ptr_container_operation,
-                                                 "'replace()' on empty container" );
-
-            auto_type old( Config::get_pointer( where ) );  // nothrow            
-            const_cast<void*&>(*where.base()) = ptr.release();                
-            return boost::ptr_container_detail::move( old );
-        }
-
-        template< class U >
-        auto_type replace( iterator where, std::auto_ptr<U> x )
-        {
-            return replace( where, x.release() ); 
-        }
-
-        auto_type replace( size_type idx, Ty_* x ) // strong
-        {
-            enforce_null_policy( x, "Null pointer in 'replace()'" );
-            
-            auto_type ptr( x ); 
-            
-            BOOST_PTR_CONTAINER_THROW_EXCEPTION( idx >= size(), bad_index, 
-                                                 "'replace()' out of bounds" );
-            
-            auto_type old( static_cast<Ty_*>( c_[idx] ) ); // nothrow
-            c_[idx] = ptr.release();                       // nothrow, commit
-            return boost::ptr_container_detail::move( old );
-        } 
-
-        template< class U >
-        auto_type replace( size_type idx, std::auto_ptr<U> x )
-        {
-            return replace( idx, x.release() );
-        }
-                
-    }; // 'reversible_ptr_container'
-
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))    
-#define BOOST_PTR_CONTAINER_DEFINE_RELEASE( base_type ) \
-    typename base_type::auto_type                   \
-    release( typename base_type::iterator i )       \
-    {                                               \
-        return boost::ptr_container_detail::move(base_type::release(i)); \
-    }                                               
-#else
-#define BOOST_PTR_CONTAINER_DEFINE_RELEASE( base_type ) \
-    using base_type::release;
-#endif
-    
-    //
-    // two-phase lookup of template functions 
-    // is buggy on most compilers, so we use a macro instead
-    //
-#define BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( PC, base_type, this_type ) \
-    explicit PC( std::auto_ptr<this_type> r )       \
-    : base_type ( r ) { }                           \
-                                                    \
-    PC& operator=( std::auto_ptr<this_type> r )     \
-    {                                               \
-        base_type::operator=( r );                  \
-        return *this;                               \
-    }                                               \
-                                                    \
-    std::auto_ptr<this_type> release()              \
-    {                                               \
-      std::auto_ptr<this_type> ptr( new this_type );\
-      this->swap( *ptr );                           \
-      return ptr;                                   \
-    }                                               \
-    BOOST_PTR_CONTAINER_DEFINE_RELEASE( base_type ) \
-                                                    \
-    std::auto_ptr<this_type> clone() const          \
-    {                                               \
-       return std::auto_ptr<this_type>( new this_type( this->begin(), this->end() ) ); \
-    }
-
-#define BOOST_PTR_CONTAINER_DEFINE_COPY_CONSTRUCTORS( PC, base_type ) \
-                                                                      \
-    template< class U >                                               \
-    PC( const PC<U>& r ) : base_type( r ) { }                         \
-                                                                      \
-    PC& operator=( PC r )                                             \
-    {                                                                 \
-        this->swap( r );                                              \
-        return *this;                                                 \
-    }                                                                 \
-                                                                           
-
-#define BOOST_PTR_CONTAINER_DEFINE_CONSTRUCTORS( PC, base_type )                       \
-    typedef BOOST_DEDUCED_TYPENAME base_type::iterator        iterator;                \
-    typedef BOOST_DEDUCED_TYPENAME base_type::size_type       size_type;               \
-    typedef BOOST_DEDUCED_TYPENAME base_type::const_reference const_reference;         \
-    typedef BOOST_DEDUCED_TYPENAME base_type::allocator_type  allocator_type;          \
-    PC() {}                                                                            \
-    explicit PC( const allocator_type& a ) : base_type(a) {}                           \
-    template< class InputIterator >                                                    \
-    PC( InputIterator first, InputIterator last ) : base_type( first, last ) {}        \
-    template< class InputIterator >                                                    \
-    PC( InputIterator first, InputIterator last,                                       \
-        const allocator_type& a ) : base_type( first, last, a ) {}  
-                 
-#define BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( PC, base_type, this_type )           \
-   BOOST_PTR_CONTAINER_DEFINE_CONSTRUCTORS( PC, base_type )                                    \
-   BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( PC, base_type, this_type )
-
-#define BOOST_PTR_CONTAINER_DEFINE_SEQEUENCE_MEMBERS( PC, base_type, this_type )  \
-    BOOST_PTR_CONTAINER_DEFINE_NON_INHERITED_MEMBERS( PC, base_type, this_type )  \
-    BOOST_PTR_CONTAINER_DEFINE_COPY_CONSTRUCTORS( PC, base_type )
-
-} // namespace 'ptr_container_detail'
-
-    //
-    // @remark: expose movability of internal move-pointer
-    //
-    namespace ptr_container
-    {        
-        using ptr_container_detail::move;
-    }
-
-} // namespace 'boost'  
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)  
-#pragma warning(pop)  
-#endif  
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/detail/scoped_deleter.hpp b/SRC/Boost/boost/ptr_container/detail/scoped_deleter.hpp
deleted file mode 100755
index b93b8c0..0000000
--- a/SRC/Boost/boost/ptr_container/detail/scoped_deleter.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_SCOPED_DELETER_HPP
-#define BOOST_PTR_CONTAINER_SCOPED_DELETER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <iterator>
-#include <cstddef>
-#include <boost/scoped_array.hpp>
-
-namespace boost
-{
-
-    namespace ptr_container_detail
-    {
-        template< class T, class CloneAllocator >
-        class scoped_deleter
-        {
-            typedef std::size_t size_type;
-            scoped_array<T*>  ptrs_;
-            size_type         stored_; 
-            bool              released_;
-            
-        public:
-            scoped_deleter( T** a, size_type size ) 
-                : ptrs_( a ), stored_( size ), released_( false )
-            { 
-                BOOST_ASSERT( a );
-            }
-            
-            scoped_deleter( size_type size ) 
-                : ptrs_( new T*[size] ), stored_( 0 ), 
-                 released_( false )
-            {
-                BOOST_ASSERT( size > 0 );
-            }
-
-
-            
-            scoped_deleter( size_type n, const T& x ) // strong
-                : ptrs_( new T*[n] ), stored_(0),
-                  released_( false )
-            {
-                for( size_type i = 0; i != n; i++ )
-                    add( CloneAllocator::allocate_clone( &x ) );
-                BOOST_ASSERT( stored_ > 0 );
-            }
-
-
-            
-            template< class InputIterator >
-            scoped_deleter ( InputIterator first, InputIterator last  ) // strong
-                : ptrs_( new T*[ std::distance(first,last) ] ),
-                  stored_(0),
-                  released_( false )
-            {
-                for( ; first != last; ++first )
-                    add( CloneAllocator::allocate_clone_from_iterator( first ) );
-                BOOST_ASSERT( stored_ > 0 );
-            }
-
-            
-            
-            ~scoped_deleter()
-            {
-                if ( !released_ )
-                {
-                    for( size_type i = 0u; i != stored_; ++i )
-                        CloneAllocator::deallocate_clone( ptrs_[i] ); 
-                }
-            }
-            
-            
-            
-            void add( T* t )
-            {
-                BOOST_ASSERT( ptrs_.get() != 0 );
-                ptrs_[stored_] = t;
-                ++stored_;
-            }
-            
-            
-            
-            void release()
-            {
-                released_ = true;
-            }
-            
-            
-            
-            T** begin()
-            {
-                BOOST_ASSERT( ptrs_.get() != 0 );
-                return &ptrs_[0];
-            }
-            
-            
-            
-            T** end()
-            {
-                BOOST_ASSERT( ptrs_.get() != 0 );
-                return &ptrs_[stored_];
-            }
-            
-        }; // class 'scoped_deleter'
-    }
-}
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/detail/static_move_ptr.hpp b/SRC/Boost/boost/ptr_container/detail/static_move_ptr.hpp
deleted file mode 100755
index 4b0e861..0000000
--- a/SRC/Boost/boost/ptr_container/detail/static_move_ptr.hpp
+++ /dev/null
@@ -1,211 +0,0 @@
-// (C) Copyright Thorsten Ottosen 2005.
-// (C) Copyright Jonathan Turkanis 2004.
-// (C) Copyright Daniel Wallin 2004.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
-
-// Implementation of the move_ptr from the "Move Proposal" 
-// (http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1377.htm) 
-// enhanced to support custom deleters and safe boolean conversions.
-//
-// The implementation is based on an implementation by Daniel Wallin, at
-// "http://aspn.activestate.com/ASPN/Mail/Message/Attachments/boost/
-// 400DC271.1060903 at student.umu.se/move_ptr.hpp". The current was adapted 
-// by Jonathan Turkanis to incorporating ideas of Howard Hinnant and 
-// Rani Sharoni. 
-
-#ifndef BOOST_STATIC_MOVE_PTR_HPP_INCLUDED
-#define BOOST_STATIC_MOVE_PTR_HPP_INCLUDED
-
-#include <boost/config.hpp> // Member template friends, put size_t in std.
-#include <cstddef>          // size_t
-#include <boost/compressed_pair.hpp> 
-#include <boost/ptr_container/detail/default_deleter.hpp>       
-#include <boost/ptr_container/detail/is_convertible.hpp>       
-#include <boost/ptr_container/detail/move.hpp>       
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#pragma warning(disable:4521)        // Multiple copy constuctors.
-#endif
-
-namespace boost { namespace ptr_container_detail {
-
-    
-template< typename T, 
-          typename Deleter = 
-              move_ptrs::default_deleter<T> >
-class static_move_ptr 
-{
-public:
-
-    typedef typename remove_bounds<T>::type             element_type;
-    typedef Deleter                                     deleter_type;
-
-private:
-    
-    struct safe_bool_helper { int x; };
-    typedef int safe_bool_helper::* safe_bool;
-    typedef boost::compressed_pair<element_type*, Deleter> impl_type;
-
-public:
-    typedef typename impl_type::second_reference        deleter_reference;
-    typedef typename impl_type::second_const_reference  deleter_const_reference;
-
-        // Constructors
-
-    static_move_ptr() : impl_(0) { }
-
-    static_move_ptr(const static_move_ptr& p)
-        : impl_(p.get(), p.get_deleter())    
-        { 
-            const_cast<static_move_ptr&>(p).release();
-        }
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))    
-    static_move_ptr( const move_ptrs::move_source<static_move_ptr<T,Deleter> >& src )
-#else
-    static_move_ptr( const move_ptrs::move_source<static_move_ptr>& src )
-#endif    
-            : impl_(src.ptr().get(), src.ptr().get_deleter())
-            {
-                src.ptr().release();
-            }
-    
-    template<typename TT>
-    explicit static_move_ptr(TT* tt) 
-        : impl_(tt, Deleter()) 
-        { }
-
-        // Destructor
-
-    ~static_move_ptr() { if (ptr()) get_deleter()(ptr()); }
-
-        // Assignment
-
-    static_move_ptr& operator=(static_move_ptr rhs)
-        {
-            rhs.swap(*this);
-            return *this;
-        }
-
-        // Smart pointer interface
-
-    element_type* get() const { return ptr(); }
-
-    element_type& operator*() 
-        { 
-            /*BOOST_STATIC_ASSERT(!is_array);*/ return *ptr(); 
-        }
-
-    const element_type& operator*() const 
-        { 
-            /*BOOST_STATIC_ASSERT(!is_array);*/ return *ptr(); 
-        }
-
-    element_type* operator->()  
-        { 
-            /*BOOST_STATIC_ASSERT(!is_array);*/ return ptr(); 
-        }    
-
-    const element_type* operator->() const 
-        { 
-            /*BOOST_STATIC_ASSERT(!is_array);*/ return ptr(); 
-        }    
-
-
-    element_type* release()
-        {
-            element_type* result = ptr();
-            ptr() = 0;
-            return result;
-        }
-
-    void reset()
-        {
-            if (ptr()) get_deleter()(ptr());
-            ptr() = 0;
-        }
-
-    template<typename TT>
-    void reset(TT* tt) 
-        {
-            static_move_ptr(tt).swap(*this);
-        }
-
-    template<typename TT, typename DD>
-    void reset(TT* tt, DD dd) 
-        {
-            static_move_ptr(tt, dd).swap(*this);
-        }
-
-    operator safe_bool() const { return ptr() ? &safe_bool_helper::x : 0; }
-
-    void swap(static_move_ptr& p) { impl_.swap(p.impl_); }
-
-    deleter_reference get_deleter() { return impl_.second(); }
-
-    deleter_const_reference get_deleter() const { return impl_.second(); }
-private:
-    template<typename TT, typename DD>
-    void check(const static_move_ptr<TT, DD>& ptr)
-        {
-            typedef move_ptrs::is_smart_ptr_convertible<TT, T> convertible;
-            BOOST_STATIC_ASSERT(convertible::value);
-        }   
-
-#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) || defined(BOOST_NO_SFINAE)
-// give up on this behavior
-#else 
-
-    template<typename Ptr> struct cant_move_from_const;
-
-    template<typename TT, typename DD> 
-    struct cant_move_from_const< const static_move_ptr<TT, DD> > { 
-        typedef typename static_move_ptr<TT, DD>::error type; 
-    };
-
-    template<typename Ptr> 
-    static_move_ptr(Ptr&, typename cant_move_from_const<Ptr>::type = 0);
-
-
-public:
-    static_move_ptr(static_move_ptr&);
-
-    
-private:
-    template<typename TT, typename DD>
-    static_move_ptr( static_move_ptr<TT, DD>&,
-                     typename 
-                     move_ptrs::enable_if_convertible<
-                         TT, T, static_move_ptr&
-                     >::type::type* = 0 );
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING || BOOST_NO_SFINAE
-
-//#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-//    template<typename TT, typename DD>
-//    friend class static_move_ptr;
-//#else
-    public:
-//#endif
-    typename impl_type::first_reference 
-    ptr() { return impl_.first(); } 
-
-    typename impl_type::first_const_reference 
-    ptr() const { return impl_.first(); }
-
-    impl_type impl_;
-};
-
-} // namespace ptr_container_detail
-} // End namespace boost.
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop) // #pragma warning(disable:4251)
-#endif
-
-#endif      // #ifndef BOOST_STATIC_MOVE_PTR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/ptr_container/detail/throw_exception.hpp b/SRC/Boost/boost/ptr_container/detail/throw_exception.hpp
deleted file mode 100755
index 02d2ae1..0000000
--- a/SRC/Boost/boost/ptr_container/detail/throw_exception.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2006. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_DETAIL_THROW_EXCEPTION
-#define BOOST_PTR_CONTAINER_DETAIL_THROW_EXCEPTION
-
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_EXCEPTIONS
-#define BOOST_PTR_CONTAINER_NO_EXCEPTIONS
-#endif
-
-#ifdef BOOST_PTR_CONTAINER_NO_EXCEPTIONS
-
-#define BOOST_PTR_CONTAINER_THROW_EXCEPTION( If, Ex, Msg ) BOOST_ASSERT( !(If) && Msg ) 
-
-#else
-
-#define BOOST_PTR_CONTAINER_THROW_EXCEPTION( If, Ex, Msg ) if( (If) ) throw Ex ( Msg )
-
-#endif // BOOST_PTR_CONTAINER_NO_EXCEPTIONS
-
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/detail/void_ptr_iterator.hpp b/SRC/Boost/boost/ptr_container/detail/void_ptr_iterator.hpp
deleted file mode 100755
index 7f688d0..0000000
--- a/SRC/Boost/boost/ptr_container/detail/void_ptr_iterator.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_DETAIL_VOID_PTR_ITERATOR_HPP
-#define BOOST_PTR_CONTAINER_DETAIL_VOID_PTR_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/type_traits/remove_const.hpp>
-
-namespace boost
-{
-        template
-        < 
-            class VoidIter, 
-            class T
-        >
-        class void_ptr_iterator
-        {
-        public:
-            typedef BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type        
-                             value_type;
-            typedef T&       reference;
-            typedef T*       pointer;
-
-            typedef  BOOST_DEDUCED_TYPENAME iterator_difference<VoidIter>::type
-                             difference_type;           
-            typedef  BOOST_DEDUCED_TYPENAME iterator_category<VoidIter>::type
-                             iterator_category;           
-        private:
-
-            VoidIter iter_;
-
-        public:
-            void_ptr_iterator() : iter_()
-            { }
-
-            void_ptr_iterator( VoidIter r ) : iter_(r)
-            { }
-
-            //
-            // Remark: passing by value breaks vc7.1 
-            //
-            template< class MutableIterator, class MutableT >
-            void_ptr_iterator( const void_ptr_iterator<MutableIterator,MutableT>& r )
-#ifdef BOOST_NO_SFINAE
-                         : iter_( VoidIter(const_cast<void**>(&*r.base())) )
-#else
-
-             : iter_(r.base())
-#endif
-            { }
-
-            T& operator*() const
-            {
-                return *static_cast<T*>( *iter_ );
-            }
-
-            T* operator->() const
-            {
-                return static_cast<T*>( *iter_ );
-            }
-            
-            void_ptr_iterator& operator++()
-            {
-                ++iter_;
-                return *this;
-            }
-
-            void_ptr_iterator operator++(int)
-            {
-                void_ptr_iterator res = *this;
-                ++iter_;
-                return res;
-            }
-
-            void_ptr_iterator& operator--()
-            {
-                --iter_;
-                return *this;
-            }
-
-            void_ptr_iterator operator--(int)
-            {
-                void_ptr_iterator res = *this;
-                --iter_;
-                return res;
-            }
-
-            void_ptr_iterator& operator+=( difference_type n )
-            {
-                iter_ += n;
-                return *this;
-            }
-
-            void_ptr_iterator& operator-=( difference_type n )
-            {
-                iter_ -= n;
-                return *this;
-            }
-
-            T& operator[]( difference_type n ) const
-            {
-                return *static_cast<T*>( *(iter_ + n) );
-            }
-
-            VoidIter base() const
-            {
-                return iter_;
-            }
-
-        }; // class 'void_ptr_iterator'
-
-        template< class VoidIter, class T >
-        inline void_ptr_iterator<VoidIter,T> 
-        operator+( void_ptr_iterator<VoidIter,T> l, 
-                   BOOST_DEDUCED_TYPENAME void_ptr_iterator<VoidIter,T>::difference_type n )
-        {
-            l += n;
-            return l;
-        }
-
-        template< class VoidIter, class T >
-        inline void_ptr_iterator<VoidIter,T> 
-        operator+( BOOST_DEDUCED_TYPENAME void_ptr_iterator<VoidIter,T>::difference_type n, 
-                   void_ptr_iterator<VoidIter,T> r ) 
-
-        {
-            r += n;
-            return r;
-        }
-
-        template< class VoidIter, class T >
-        inline void_ptr_iterator<VoidIter,T> 
-        operator-( void_ptr_iterator<VoidIter,T> l, 
-                   BOOST_DEDUCED_TYPENAME void_ptr_iterator<VoidIter,T>::difference_type n )
-        {
-            l -= n;
-            return l;
-        }
-
-        template< class VoidIter, class T >
-        inline void_ptr_iterator<VoidIter,T> 
-        operator-( BOOST_DEDUCED_TYPENAME void_ptr_iterator<VoidIter,T>::difference_type n, 
-                   void_ptr_iterator<VoidIter,T> r ) 
-
-        {
-            r -= n;
-            return r;
-        }
-
-        template< class VoidIter, class T, class VoidIterU, class U >
-        inline BOOST_DEDUCED_TYPENAME void_ptr_iterator<VoidIter,T>::difference_type
-        operator-( void_ptr_iterator<VoidIter,T> l,
-                   void_ptr_iterator<VoidIterU,U> r ) 
-
-        {
-            return l.base() - r.base();
-        }
-
-
-
-        template< class VoidIterT, class T, class VoidIterU, class U >
-        inline bool operator==( const void_ptr_iterator<VoidIterT,T>& l,
-                                const void_ptr_iterator<VoidIterU,U>& r )
-        {
-            return l.base() == r.base();
-        }
-
-
-        
-        template< class VoidIterT, class T, class VoidIterU, class U >
-        inline bool operator!=( const void_ptr_iterator<VoidIterT,T>& l,
-                                const void_ptr_iterator<VoidIterU,U>& r )
-        {
-            return l.base() != r.base();
-        }
-
-
-
-        template< class VoidIterT, class T, class VoidIterU, class U >
-        inline bool operator<( const void_ptr_iterator<VoidIterT,T>& l,
-                               const void_ptr_iterator<VoidIterU,U>& r )
-        {
-            return l.base() < r.base();
-        }
-
-
-        
-        template< class VoidIterT, class T, class VoidIterU, class U >
-        inline bool operator<=( const void_ptr_iterator<VoidIterT,T>& l,
-                               const void_ptr_iterator<VoidIterU,U>& r )
-        {
-            return l.base() <= r.base();
-        }
-
-
-        
-        template< class VoidIterT, class T, class VoidIterU, class U >
-        inline bool operator>( const void_ptr_iterator<VoidIterT,T>& l,
-                               const void_ptr_iterator<VoidIterU,U>& r )
-        {
-            return l.base() > r.base();
-        }
-
-
-        
-        template< class VoidIterT, class T, class VoidIterU, class U >
-        inline bool operator>=( const void_ptr_iterator<VoidIterT,T>& l,
-                               const void_ptr_iterator<VoidIterU,U>& r )
-        {
-            return l.base() >= r.base();
-        }
-
-}
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/exception.hpp b/SRC/Boost/boost/ptr_container/exception.hpp
deleted file mode 100755
index 9df21cf..0000000
--- a/SRC/Boost/boost/ptr_container/exception.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_EXCEPTION_HPP
-#define BOOST_PTR_CONTAINER_EXCEPTION_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <exception>
-
-namespace boost
-{
-    class bad_ptr_container_operation : public std::exception
-    {
-        const char* what_;
-    public:
-        bad_ptr_container_operation( const char* what ) : what_( what )
-        { }
-        
-        virtual const char* what() const throw()
-        {
-            return what_;
-        }
-    };
-
-
-    
-    class bad_index : public bad_ptr_container_operation
-    {
-    public:
-        bad_index( const char* what ) : bad_ptr_container_operation( what )
-        { }
-    };
-
-
-
-    class bad_pointer : public bad_ptr_container_operation
-    {
-    public:
-        bad_pointer() : bad_ptr_container_operation( "Null pointer not allowed in a pointer container!" )
-        { }
-        
-        bad_pointer( const char* text ) : bad_ptr_container_operation( text )
-        { }
-    };
-}
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/indirect_fun.hpp b/SRC/Boost/boost/ptr_container/indirect_fun.hpp
deleted file mode 100755
index 4784a4a..0000000
--- a/SRC/Boost/boost/ptr_container/indirect_fun.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2007. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_INDIRECT_FUN_HPP
-#define BOOST_PTR_CONTAINER_INDIRECT_FUN_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-    #pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_SFINAE
-#else
-#include <boost/utility/result_of.hpp>
-#include <boost/pointee.hpp>
-#endif // BOOST_NO_SFINAE
-
-#include <boost/assert.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <functional>
-
-
-namespace boost
-{
-
-    namespace ptr_container_detail
-    {
-        template <typename Type, typename Dummy>
-        struct make_lazy
-        {
-            typedef typename Type::type type;
-        };
-    }
-    
-    template
-    < 
-              class Fun
-#ifdef BOOST_NO_SFINAE
-            , class Result = bool
-#endif        
-    >
-    class indirect_fun
-    {
-        Fun fun;
-    public:
-        indirect_fun() : fun(Fun())
-        { }
-        
-        indirect_fun( Fun f ) : fun(f)
-        { }
-    
-        template< class T >
-#ifdef BOOST_NO_SFINAE
-        Result    
-#else            
-        typename boost::result_of< const Fun( typename pointee<T>::type& ) >::type 
-#endif            
-        operator()( const T& r ) const
-        { 
-            return fun( *r );
-        }
-    
-        template< class T, class U >
-#ifdef BOOST_NO_SFINAE
-        Result    
-#else                        
-        typename boost::result_of< const Fun( typename pointee<T>::type&,
-                                              typename pointee<U>::type& ) >::type
-#endif            
-        operator()( const T& r, const U& r2 ) const
-        { 
-            return fun( *r, *r2 ); 
-        }
-    };
-
-    template< class Fun >
-    inline indirect_fun<Fun> make_indirect_fun( Fun f )
-    {
-        return indirect_fun<Fun>( f );
-    }
-
-
-    template
-    < 
-        class Fun, 
-        class Arg1, 
-        class Arg2 = Arg1 
-#ifdef BOOST_NO_SFINAE
-      , class Result = bool   
-#endif           
-    >
-    class void_ptr_indirect_fun
-    {
-        Fun fun;
-                
-    public:
-        
-        void_ptr_indirect_fun() : fun(Fun())
-        { }
-
-        void_ptr_indirect_fun( Fun f ) : fun(f)
-        { }
-        
-        template< class Void >
-#ifdef BOOST_NO_SFINAE
-        Result    
-#else            
-        typename ptr_container_detail::make_lazy<
-            boost::result_of<const Fun(const Arg1&)>, Void>::type
-#endif            
-        operator()( const Void* r ) const
-        { 
-            BOOST_STATIC_ASSERT(boost::is_void<Void>::value);
-            BOOST_ASSERT( r != 0 );
-            return fun( * static_cast<const Arg1*>( r ) );
-        }
-
-        template< class Void >
-#ifdef BOOST_NO_SFINAE
-        Result    
-#else                    
-        typename ptr_container_detail::make_lazy<
-            boost::result_of<const Fun(const Arg1&, const Arg2&)>, Void>::type
-#endif            
-        operator()( const Void* l, const Void* r ) const
-        { 
-            BOOST_STATIC_ASSERT(boost::is_void<Void>::value);
-            BOOST_ASSERT( l != 0 && r != 0 );
-            return fun( * static_cast<const Arg1*>( l ), * static_cast<const Arg2*>( r ) );
-        }
-    };
-
-    template< class Arg, class Fun >
-    inline void_ptr_indirect_fun<Fun,Arg> make_void_ptr_indirect_fun( Fun f )
-    {
-        return void_ptr_indirect_fun<Fun,Arg>( f );
-    }
-     
-} // namespace 'boost'
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/nullable.hpp b/SRC/Boost/boost/ptr_container/nullable.hpp
deleted file mode 100755
index 371b3f8..0000000
--- a/SRC/Boost/boost/ptr_container/nullable.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-
-#ifndef BOOST_INDIRECT_CONTAINER_NULLABLE_HPP
-#define BOOST_INDIRECT_CONTAINER_NULLABLE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/config.hpp>
-
-namespace boost
-{
-    
-    template< class T >
-    struct nullable
-    {
-        typedef T type;
-    };   
-
-    namespace ptr_container_detail
-    {
-        template< class T >
-        type_traits::yes_type is_nullable( const nullable<T>* );
-
-        type_traits::no_type is_nullable( ... );        
-    }
-
-    template< class T >
-    struct is_nullable
-    {
-    private:
-            BOOST_STATIC_CONSTANT( T*, var );
-    public:
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)  
-#pragma warning(push)  
-#pragma warning(disable:6334)  
-#endif  
-
-            BOOST_STATIC_CONSTANT(bool, value = sizeof( ptr_container_detail::is_nullable( var ) ) 
-                                                == sizeof( type_traits::yes_type ) );
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)  
-#pragma warning(pop)  
-#endif  
-            
-    };
-    
-    template< class T >
-    struct remove_nullable
-    {
-        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if< is_nullable<T>,
-                                                      T,
-                                            mpl::identity<T> >::type
-            type;
-    };
-
-}
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_array.hpp b/SRC/Boost/boost/ptr_container/ptr_array.hpp
deleted file mode 100755
index f31ff0d..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_array.hpp
+++ /dev/null
@@ -1,234 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_PTR_ARRAY_HPP
-#define BOOST_PTR_CONTAINER_PTR_ARRAY_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/array.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/ptr_container/ptr_sequence_adapter.hpp>
-
-namespace boost
-{
-
-    namespace ptr_container_detail
-    {
-        template
-        <
-            class T,
-            size_t N,
-            class Allocator = int // dummy
-        >
-        class ptr_array_impl : public boost::array<T,N>
-        {
-        public:
-            typedef Allocator allocator_type;
-
-            ptr_array_impl( Allocator /*a*/ = Allocator() )
-            {
-                this->assign( 0 );
-            }
-
-            ptr_array_impl( size_t, T*, Allocator /*a*/ = Allocator() )
-            {
-                this->assign( 0 );
-            }
-        };
-    }
-
-    template
-    <
-        class T,
-        size_t N,
-        class CloneAllocator = heap_clone_allocator
-    >
-    class ptr_array : public
-        ptr_sequence_adapter< T,
-                              ptr_container_detail::ptr_array_impl<void*,N>,
-                              CloneAllocator >
-    {
-    private:
-        typedef ptr_sequence_adapter< T,
-                                      ptr_container_detail::ptr_array_impl<void*,N>,
-                                      CloneAllocator >
-            base_class;
-
-        typedef BOOST_DEDUCED_TYPENAME remove_nullable<T>::type U;
-
-        typedef ptr_array<T,N,CloneAllocator>
-                          this_type;
-
-    public:
-        typedef std::size_t size_type;
-        typedef U*          value_type;
-        typedef U*          pointer;
-        typedef U&          reference;
-        typedef const U&    const_reference;
-        typedef BOOST_DEDUCED_TYPENAME base_class::auto_type
-                            auto_type;
-
-    public: // constructors
-        ptr_array() : base_class()
-        { }
-
-        ptr_array( const ptr_array& r )
-        {
-            size_t i = 0;
-            for( ; i != N; ++i )
-                this->base()[i] = this->null_policy_allocate_clone( 
-                                        static_cast<const T*>( &r[i] ) ); 
-        }
-
-        template< class U >
-        ptr_array( const ptr_array<U,N>& r )
-        {
-            size_t i = 0;
-            for( ; i != N; ++i )
-                this->base()[i] = this->null_policy_allocate_clone( 
-                                        static_cast<const T*>( &r[i] ) ); 
-        }
-
-        explicit ptr_array( std::auto_ptr<this_type> r )
-        : base_class( r ) { }
-
-        ptr_array& operator=( ptr_array r )
-        {
-            this->swap( r );
-            return *this;            
-        }
-
-        ptr_array& operator=( std::auto_ptr<this_type> r )
-        {
-            base_class::operator=(r);
-            return *this;
-        }
-
-        std::auto_ptr<this_type> release()
-        {
-            std::auto_ptr<this_type> ptr( new this_type );
-            this->swap( *ptr );
-            return ptr;
-        }
-
-        std::auto_ptr<this_type> clone() const
-        {
-            std::auto_ptr<this_type> pa( new this_type );
-            for( size_t i = 0; i != N; ++i )
-            {
-                if( ! is_null(i) )
-                    pa->replace( i, this->null_policy_allocate_clone( &(*this)[i] ) ); 
-            }
-            return pa;
-        }
-
-    private: // hide some members
-        using base_class::insert;
-        using base_class::erase;
-        using base_class::push_back;
-        using base_class::push_front;
-        using base_class::pop_front;
-        using base_class::pop_back;
-        using base_class::transfer;
-        using base_class::get_allocator;
-
-    public: // compile-time interface
-
-        template< size_t idx >
-        auto_type replace( U* r ) // strong
-        {
-            BOOST_STATIC_ASSERT( idx < N );
-
-            this->enforce_null_policy( r, "Null pointer in 'ptr_array::replace()'" );
-
-            auto_type res( static_cast<U*>( this->base()[idx] ) ); // nothrow
-            this->base()[idx] = r;                                 // nothrow
-            return boost::ptr_container::move(res);                // nothrow 
-        }
-
-        template< size_t idx, class V >
-        auto_type replace( std::auto_ptr<V> r )
-        {
-            return replace<idx>( r.release() );
-        }
-
-        auto_type replace( size_t idx, U* r ) // strong
-        {
-            this->enforce_null_policy( r, "Null pointer in 'ptr_array::replace()'" );
-
-            auto_type ptr( r );
-
-            BOOST_PTR_CONTAINER_THROW_EXCEPTION( idx >= N, bad_index,
-                                                 "'replace()' aout of bounds" );
-
-            auto_type res( static_cast<U*>( this->base()[idx] ) ); // nothrow
-            this->base()[idx] = ptr.release();                     // nothrow
-            return boost::ptr_container::move(res);                // nothrow 
-        }
-
-        template< class V >
-        auto_type replace( size_t idx, std::auto_ptr<V> r )
-        {
-            return replace( idx, r.release() );
-        }
-
-        using base_class::at;
-
-        template< size_t idx >
-        T& at()
-        {
-            BOOST_STATIC_ASSERT( idx < N );
-            return (*this)[idx];
-        }
-
-        template< size_t idx >
-        const T& at() const
-        {
-            BOOST_STATIC_ASSERT( idx < N );
-            return (*this)[idx];
-        }
-
-        bool is_null( size_t idx ) const
-        {
-            return base_class::is_null(idx);
-        }
-
-        template< size_t idx >
-        bool is_null() const
-        {
-            BOOST_STATIC_ASSERT( idx < N );
-            return this->base()[idx] == 0;
-        }
-    };
-
-    //////////////////////////////////////////////////////////////////////////////
-    // clonability
-
-    template< typename T, size_t size, typename CA >
-    inline ptr_array<T,size,CA>* new_clone( const ptr_array<T,size,CA>& r )
-    {
-        return r.clone().release();
-    }
-
-    /////////////////////////////////////////////////////////////////////////
-    // swap
-
-    template< typename T, size_t size, typename CA >
-    inline void swap( ptr_array<T,size,CA>& l, ptr_array<T,size,CA>& r )
-    {
-        l.swap(r);
-    }
-}
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_circular_buffer.hpp b/SRC/Boost/boost/ptr_container/ptr_circular_buffer.hpp
deleted file mode 100755
index 40f6247..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_circular_buffer.hpp
+++ /dev/null
@@ -1,531 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2008. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_PTR_CIRCULAR_BUFFER_HPP
-#define BOOST_PTR_CONTAINER_PTR_CIRCULAR_BUFFER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/circular_buffer.hpp>
-#include <boost/ptr_container/ptr_sequence_adapter.hpp>
-
-namespace boost
-{
-
-    template
-    < 
-        class T, 
-        class CloneAllocator = heap_clone_allocator,
-        class Allocator      = std::allocator<void*>
-    >
-    class ptr_circular_buffer : public 
-        ptr_sequence_adapter< T, 
-                              boost::circular_buffer<void*,Allocator>, 
-                              CloneAllocator >
-    {  
-        typedef ptr_sequence_adapter< T, 
-                                      boost::circular_buffer<void*,Allocator>, 
-                                      CloneAllocator > 
-            base_type;
-
-        typedef boost::circular_buffer<void*,Allocator>         circular_buffer_type;
-        typedef ptr_circular_buffer<T,CloneAllocator,Allocator> this_type;
-        
-    public: // typedefs
-        typedef typename base_type::value_type     value_type;
-        typedef value_type*                        pointer;
-        typedef const value_type*                  const_pointer;
-        typedef typename base_type::size_type      size_type;
-        typedef typename base_type::allocator_type allocator_type;
-        typedef typename base_type::iterator       iterator;
-        typedef typename base_type::const_iterator const_iterator;
-        typedef typename base_type::auto_type      auto_type;
-        
-        typedef std::pair<pointer,size_type>                  array_range;
-        typedef std::pair<const_pointer,size_type>            const_array_range;
-        typedef typename circular_buffer_type::capacity_type  capacity_type;
-
-    public: // constructors
-        ptr_circular_buffer()
-        { }
-
-        explicit ptr_circular_buffer( capacity_type n )
-          : base_type( n, ptr_container_detail::fixed_length_sequence_tag() )
-        { }
-        
-        ptr_circular_buffer( capacity_type n,
-                             const allocator_type& alloc )
-          : base_type( n, alloc, ptr_container_detail::fixed_length_sequence_tag() )
-        { }
-
-        template< class ForwardIterator >
-        ptr_circular_buffer( ForwardIterator first, ForwardIterator last )
-          : base_type( first, last, ptr_container_detail::fixed_length_sequence_tag() )
-        { }
-
-        template< class InputIterator >
-        ptr_circular_buffer( capacity_type n, InputIterator first, InputIterator last )
-          : base_type( n, first, last, ptr_container_detail::fixed_length_sequence_tag() )
-        { }
-
-        ptr_circular_buffer( const ptr_circular_buffer& r )
-          : base_type( r.size(), r.begin(), r.end(), 
-                       ptr_container_detail::fixed_length_sequence_tag() )
-        { }
-
-        template< class U >
-        ptr_circular_buffer( const ptr_circular_buffer<U>& r )
-          : base_type( r.size(), r.begin(), r.end(), 
-                       ptr_container_detail::fixed_length_sequence_tag() )
-        { }
-
-        ptr_circular_buffer& operator=( ptr_circular_buffer r )
-        {
-            this->swap( r );
-            return *this;
-        }
-
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_circular_buffer,
-                                                      base_type, this_type )
-            
-    public: // allocators
-        allocator_type& get_allocator() 
-        {
-            return this->base().get_allocator();
-        }
-
-        allocator_type get_allocator() const
-        {
-            return this->base().get_allocator();
-        }
-
-    public: // circular buffer functions
-        array_range array_one() // nothrow
-        {
-            typename circular_buffer_type::array_range r = this->base().array_one();
-            return array_range( reinterpret_cast<pointer>(r.first), r.second );
-        }
-
-        const_array_range array_one() const // nothrow
-        {
-            typename circular_buffer_type::const_array_range r = this->base().array_one();
-            return const_array_range( reinterpret_cast<const_pointer>(r.first), r.second );
-        }
-
-        array_range array_two() // nothrow
-        {
-            typename circular_buffer_type::array_range r = this->base().array_two();
-            return array_range( reinterpret_cast<pointer>(r.first), r.second );
-        }
-
-        const_array_range array_two() const // nothrow
-        {
-            typename circular_buffer_type::const_array_range r = this->base().array_two();
-            return const_array_range( reinterpret_cast<const_pointer>(r.first), r.second );
-        }
-
-        pointer linearize() // nothrow
-        {
-            return reinterpret_cast<pointer>(this->base().linearize());
-        }
-
-        bool full() const // nothrow
-        {
-            return this->base().full();
-        }
-
-        size_type reserve() const // nothrow
-        {
-            return this->base().reserve();
-        }
-
-        void reserve( size_type n ) // strong
-        {
-            if( capacity() < n )
-                set_capacity( n );
-        }
-
-        capacity_type capacity() const // nothrow
-        {
-            return this->base().capacity();
-        }
-
-        void set_capacity( capacity_type new_capacity ) // strong
-        {
-            if( this->size() > new_capacity )
-            {
-                this->erase( this->begin() + new_capacity, this->end() );
-            }
-            this->base().set_capacity( new_capacity );
-        }
-
-        void rset_capacity( capacity_type new_capacity ) // strong
-        {
-            if( this->size() > new_capacity )
-            {
-                this->erase( this->begin(), 
-                             this->begin() + (this->size()-new_capacity) );
-            }
-            this->base().rset_capacity( new_capacity );
-        }
-
-        void resize( size_type size ) // basic
-        {
-            size_type old_size = this->size();
-            if( old_size > size )
-            {
-                this->erase( boost::next( this->begin(), size ), this->end() );  
-            }
-            else if( size > old_size )
-            {
-                for( ; old_size != size; ++old_size )
-                    this->push_back( new BOOST_DEDUCED_TYPENAME 
-                                     boost::remove_pointer<value_type>::type() ); 
-            }
-
-            BOOST_ASSERT( this->size() == size );
-        }
-
-        void resize( size_type size, value_type to_clone ) // basic
-        {
-            size_type old_size = this->size();
-            if( old_size > size )
-            {
-                this->erase( boost::next( this->begin(), size ), this->end() );  
-            }
-            else if( size > old_size )
-            {
-                for( ; old_size != size; ++old_size )
-                    this->push_back( this->null_policy_allocate_clone( to_clone ) ); 
-            }
-
-            BOOST_ASSERT( this->size() == size );        
-        }
-
-        void rresize( size_type size ) // basic
-        {
-            size_type old_size = this->size();
-            if( old_size > size )
-            {
-                this->erase( this->begin(), 
-                             boost::next( this->begin(), old_size - size ) );  
-            }
-            else if( size > old_size )
-            {
-                for( ; old_size != size; ++old_size )
-                    this->push_front( new BOOST_DEDUCED_TYPENAME 
-                                      boost::remove_pointer<value_type>::type() ); 
-            }
-
-            BOOST_ASSERT( this->size() == size );
-        }
-
-        void rresize( size_type size, value_type to_clone ) // basic
-        {
-            size_type old_size = this->size();
-            if( old_size > size )
-            {
-                this->erase( this->begin(), 
-                             boost::next( this->begin(), old_size - size ) );  
-            }
-            else if( size > old_size )
-            {
-                for( ; old_size != size; ++old_size )
-                    this->push_front( this->null_policy_allocate_clone( to_clone ) ); 
-            }
-
-            BOOST_ASSERT( this->size() == size );
-        }           
-
-        template< class InputIterator >
-        void assign( InputIterator first, InputIterator last ) // strong
-        { 
-            ptr_circular_buffer temp( first, last );
-            this->swap( temp );
-        }
-
-        template< class Range >
-        void assign( const Range& r ) // strong
-        {
-            assign( boost::begin(r), boost::end(r ) );
-        }
-
-        void assign( size_type n, value_type to_clone ) // strong
-        {
-            ptr_circular_buffer temp( n );
-            for( size_type i = 0u; i != n; ++i )
-               temp.push_back( this->null_policy_allocate_clone( to_clone ) );
-            this->swap( temp ); 
-        }
-        
-        void assign( capacity_type capacity, size_type n, 
-                     value_type to_clone ) // basic
-        {
-            this->assign( (std::min)(n,capacity), to_clone );
-        }
-
-        template< class InputIterator >
-        void assign( capacity_type capacity, 
-                     InputIterator first, InputIterator last ) // basic
-        {
-            this->assign( first, last );
-            this->set_capacity( capacity );
-        }
-
-        void push_back( value_type ptr ) // nothrow
-        {
-            BOOST_ASSERT( capacity() > 0 );   
-            this->enforce_null_policy( ptr, "Null pointer in 'push_back()'" );
-         
-            auto_type old_ptr;
-            if( full() )
-                old_ptr.reset( &*this->begin() );
-            this->base().push_back( ptr );            
-        }
-
-        template< class U >
-        void push_back( std::auto_ptr<U> ptr ) // nothrow
-        {
-            push_back( ptr.release() ); 
-        }
-
-        void push_front( value_type ptr ) // nothrow
-        {
-            BOOST_ASSERT( capacity() > 0 );
-            this->enforce_null_policy( ptr, "Null pointer in 'push_front()'" );
-
-            auto_type old_ptr;
-            if( full() )
-                old_ptr.reset( &*(--this->end()) );
-            this->base().push_front( ptr );            
-        }
-
-        template< class U >
-        void push_front( std::auto_ptr<U> ptr ) // nothrow
-        {
-            push_front( ptr.release() ); 
-        }
-
-        iterator insert( iterator pos, value_type ptr ) // nothrow
-        {
-            BOOST_ASSERT( capacity() > 0 );
-            this->enforce_null_policy( ptr, "Null pointer in 'insert()'" );
-
-            auto_type new_ptr( ptr );
-            iterator b = this->begin();
-            if( full() && pos == b )
-                return b;
-            
-            auto_type old_ptr;
-            if( full() )
-                old_ptr.reset( &*this->begin() );
-
-            new_ptr.release();
-            return this->base().insert( pos.base(), ptr );
-        }
-
-        template< class U >
-        iterator insert( iterator pos, std::auto_ptr<U> ptr ) // nothrow
-        {
-            return insert( pos, ptr.release() );
-        }
-
-        template< class InputIterator >
-        void insert( iterator pos, InputIterator first, InputIterator last ) // basic
-        {
-            for( ; first != last; ++first, ++pos )
-                pos = insert( pos, this->null_policy_allocate_clone( &*first ) );                
-        }
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#else
-        template< class Range >
-        BOOST_DEDUCED_TYPENAME
-        boost::disable_if< ptr_container_detail::is_pointer_or_integral<Range> >::type
-        insert( iterator before, const Range& r )
-        {
-            insert( before, boost::begin(r), boost::end(r) );
-        }
-
-#endif
-           
-        iterator rinsert( iterator pos, value_type ptr ) // nothrow
-        {
-            BOOST_ASSERT( capacity() > 0 );
-            this->enforce_null_policy( ptr, "Null pointer in 'rinsert()'" );
-
-            auto_type new_ptr( ptr );
-            iterator b = this->end();
-            if (full() && pos == b)
-                return b;
-            
-            auto_type old_ptr;
-            if( full() )
-                old_ptr.reset( &this->back() );
-
-            new_ptr.release();
-            return this->base().rinsert( pos.base(), ptr );
-        }
-
-        template< class U >
-        iterator rinsert( iterator pos, std::auto_ptr<U> ptr ) // nothrow
-        {
-            return rinsert( pos, ptr.release() );
-        }
-
- 
-        template< class InputIterator >
-        void rinsert( iterator pos, InputIterator first, InputIterator last ) // basic
-        {
-            for( ; first != last; ++first, ++pos )
-                pos = rinsert( pos, this->null_policy_allocate_clone( &*first ) );                
-        }
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#else
-        template< class Range >
-        BOOST_DEDUCED_TYPENAME
-        boost::disable_if< ptr_container_detail::is_pointer_or_integral<Range> >::type
-        rinsert( iterator before, const Range& r )
-        {
-            rinsert( before, boost::begin(r), boost::end(r) );
-        }
-
-#endif
-
-        iterator rerase( iterator pos ) // nothrow
-        {
-            BOOST_ASSERT( !this->empty() );
-            BOOST_ASSERT( pos != this->end() );
-
-            this->remove( pos );
-            return iterator( this->base().rerase( pos.base() ) );
-        }
-
-        iterator rerase( iterator first, iterator last ) // nothrow
-        {
-            this->remove( first, last );
-            return iterator( this->base().rerase( first.base(),
-                                                  last.base() ) );
-        }
-
-        template< class Range >
-        iterator rerase( const Range& r ) // nothrow
-        {
-            return rerase( boost::begin(r), boost::end(r) );
-        }
-
-        void rotate( const_iterator new_begin ) // nothrow
-        {
-            this->base().rotate( new_begin.base() );
-        }
-
-    public: // transfer        
-        template< class PtrSeqAdapter >
-        void transfer( iterator before, 
-                       BOOST_DEDUCED_TYPENAME PtrSeqAdapter::iterator first, 
-                       BOOST_DEDUCED_TYPENAME PtrSeqAdapter::iterator last, 
-                       PtrSeqAdapter& from ) // nothrow
-        {
-            BOOST_ASSERT( (void*)&from != (void*)this );
-            if( from.empty() )
-                return;
-            for( BOOST_DEDUCED_TYPENAME PtrSeqAdapter::iterator begin = first; 
-                 begin != last;  ++begin, ++before )
-                before = insert( before, &*begin );          // nothrow
-            from.base().erase( first.base(), last.base() );  // nothrow
-        }
-
-        template< class PtrSeqAdapter >
-        void transfer( iterator before, 
-                       BOOST_DEDUCED_TYPENAME PtrSeqAdapter::iterator object, 
-                       PtrSeqAdapter& from ) // nothrow
-        {
-            BOOST_ASSERT( (void*)&from != (void*)this );
-            if( from.empty() )
-                return;
-            insert( before, &*object );          // nothrow 
-            from.base().erase( object.base() );  // nothrow 
-        }
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#else
-        
-        template< class PtrSeqAdapter, class Range >
-        BOOST_DEDUCED_TYPENAME boost::disable_if< boost::is_same< Range,
-                      BOOST_DEDUCED_TYPENAME PtrSeqAdapter::iterator > >::type
-        transfer( iterator before, const Range& r, PtrSeqAdapter& from ) // nothrow
-        {
-            transfer( before, boost::begin(r), boost::end(r), from );
-        }
-
-#endif
-        template< class PtrSeqAdapter >
-        void transfer( iterator before, PtrSeqAdapter& from ) // nothrow
-        {
-            transfer( before, from.begin(), from.end(), from );            
-        }
-
-    public: // C-array support
-    
-        void transfer( iterator before, value_type* from, 
-                       size_type size, bool delete_from = true ) // nothrow 
-        {
-            BOOST_ASSERT( from != 0 );
-            if( delete_from )
-            {
-                BOOST_DEDUCED_TYPENAME base_type::scoped_deleter 
-                    deleter( from, size );                         // nothrow
-                for( size_type i = 0u; i != size; ++i, ++before )
-                    before = insert( before, *(from+i) );          // nothrow
-                deleter.release();                                 // nothrow
-            }
-            else
-            {
-                for( size_type i = 0u; i != size; ++i, ++before )
-                    before = insert( before, *(from+i) );          // nothrow
-           }
-        }
-
-        value_type* c_array() // nothrow
-        {
-            if( this->empty() )
-                return 0;
-            this->linearize();
-            T** res = reinterpret_cast<T**>( &this->begin().base()[0] );
-            return res;
-        }
-
-    };
-
-    //////////////////////////////////////////////////////////////////////////////
-    // clonability
-
-    template< typename T, typename CA, typename A >
-    inline ptr_circular_buffer<T,CA,A>* new_clone( const ptr_circular_buffer<T,CA,A>& r )
-    {
-        return r.clone().release();
-    }
-
-    /////////////////////////////////////////////////////////////////////////
-    // swap
-
-    template< typename T, typename CA, typename A >
-    inline void swap( ptr_circular_buffer<T,CA,A>& l, ptr_circular_buffer<T,CA,A>& r )
-    {
-        l.swap(r);
-    }
-    
-}
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_container.hpp b/SRC/Boost/boost/ptr_container/ptr_container.hpp
deleted file mode 100755
index 6e7be24..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_container.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2008. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
- 
-#ifndef BOOST_PTR_CONTAINER_HPP
-#define BOOST_PTR_CONTAINER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/ptr_container/ptr_array.hpp>
-#include <boost/ptr_container/ptr_deque.hpp>
-#include <boost/ptr_container/ptr_list.hpp>
-#include <boost/ptr_container/ptr_map.hpp>
-#include <boost/ptr_container/ptr_set.hpp>
-#include <boost/ptr_container/ptr_vector.hpp>
-#include <boost/ptr_container/ptr_unordered_map.hpp>
-#include <boost/ptr_container/ptr_unordered_set.hpp>
-#include <boost/ptr_container/ptr_circular_buffer.hpp>
-#include <boost/ptr_container/ptr_inserter.hpp>
-
-#endif
-
diff --git a/SRC/Boost/boost/ptr_container/ptr_deque.hpp b/SRC/Boost/boost/ptr_container/ptr_deque.hpp
deleted file mode 100755
index 47bbcf4..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_deque.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_PTR_DEQUE_HPP
-#define BOOST_PTR_CONTAINER_PTR_DEQUE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <deque>
-#include <boost/ptr_container/ptr_sequence_adapter.hpp>
-
-namespace boost
-{
-    
-    template
-    < 
-        class T, 
-        class CloneAllocator = heap_clone_allocator,
-        class Allocator      = std::allocator<void*>
-    >
-    class ptr_deque : public 
-        ptr_sequence_adapter< T,
-                              std::deque<void*,Allocator>,     
-                              CloneAllocator >
-    {
-         typedef   ptr_sequence_adapter< T,
-                                         std::deque<void*,Allocator>,     
-                                         CloneAllocator >
-          base_class;
-
-         typedef ptr_deque<T,CloneAllocator,Allocator> this_type; 
-         
-    public:
-
-      BOOST_PTR_CONTAINER_DEFINE_SEQEUENCE_MEMBERS( ptr_deque,
-                                                    base_class,
-                                                    this_type )
-    };
-
-    //////////////////////////////////////////////////////////////////////////////
-    // clonability
-    
-    template< typename T, typename CA, typename A >
-    inline ptr_deque<T,CA,A>* new_clone( const ptr_deque<T,CA,A>& r )
-    {
-        return r.clone().release();
-    }
-
-    /////////////////////////////////////////////////////////////////////////
-    // swap
-
-    template< typename T, typename CA, typename A >
-    inline void swap( ptr_deque<T,CA,A>& l, ptr_deque<T,CA,A>& r )
-    {
-        l.swap(r);
-    }
-}
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_inserter.hpp b/SRC/Boost/boost/ptr_container/ptr_inserter.hpp
deleted file mode 100755
index 5cdf860..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_inserter.hpp
+++ /dev/null
@@ -1,258 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2008. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_PTR_INSERTER_HPP
-#define BOOST_PTR_CONTAINER_PTR_INSERTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-    #pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <iterator>
-#include <memory>
-
-namespace boost
-{
-namespace ptr_container
-{
-    template< class PtrContainer >
-    class ptr_back_insert_iterator;
-
-    template< class PtrContainer >
-    class ptr_front_insert_iterator;
-    
-    template< class PtrContainer >
-    class ptr_insert_iterator;
-
-    template< class PtrContainer >
-    ptr_back_insert_iterator<PtrContainer> 
-    ptr_back_inserter( PtrContainer& cont );
-
-    template< class PtrContainer >
-    ptr_front_insert_iterator<PtrContainer> 
-    ptr_front_inserter( PtrContainer& cont );
-
-    template< class PtrContainer >
-    ptr_insert_iterator<PtrContainer> 
-    ptr_inserter( PtrContainer& cont, typename PtrContainer::iterator before );
-
-    //////////////////////////////////////////////////////////////////////////
-    // Implementation
-    ////////////////////////////////////////////////////////////////////////// 
-
-
-    template< class PtrContainer >
-    class ptr_back_insert_iterator :
-        public std::iterator<std::output_iterator_tag,void,void,void,void>
-    {
-    public:
-        typedef PtrContainer container_type;
-
-    public:
-        explicit ptr_back_insert_iterator( PtrContainer& cont )
-        : container(&cont)
-        { }
-
-        ptr_back_insert_iterator& 
-        operator=( typename PtrContainer::value_type r )
-        {
-            typename PtrContainer::value_type obj = 0;
-            if( r != 0 )
-                obj = container_type::clone_allocator_type::allocate_clone(*r);
-
-            container->push_back( obj );
-            return *this;
-        }
-
-        template< class T >
-        ptr_back_insert_iterator& 
-        operator=( std::auto_ptr<T> r )
-        {
-            container->push_back( r );
-            return *this;
-        }
-
-        ptr_back_insert_iterator& 
-        operator=( typename PtrContainer::const_reference r )
-        {
-            container->push_back( container_type::clone_allocator_type::
-                                  allocate_clone(r) );
-            return *this;
-        }
-
-        ptr_back_insert_iterator& operator*()
-        { 
-            return *this;
-        }
-
-        ptr_back_insert_iterator& operator++()
-        { 
-            return *this;
-        }
-
-        ptr_back_insert_iterator operator++(int)
-        { 
-            return *this;
-        }
-        
-    protected:
-        PtrContainer* container;
-    };
-
-
-    
-    template< class PtrContainer >
-    class ptr_front_insert_iterator :
-        public std::iterator<std::output_iterator_tag,void,void,void,void>
-    {
-    public:
-        typedef PtrContainer container_type;
-
-    public:
-        explicit ptr_front_insert_iterator( PtrContainer& cont )
-        : container(&cont)
-        { }
-
-        ptr_front_insert_iterator& 
-        operator=( typename PtrContainer::value_type r )
-        {
-            typename PtrContainer::value_type obj = 0;
-            if( r != 0 )
-                obj = container_type::clone_allocator_type::allocate_clone(*r);
-
-            container->push_front( obj );
-            return *this;
-        }
-
-        template< class T >
-        ptr_front_insert_iterator& 
-        operator=( std::auto_ptr<T> r )
-        {
-            container->push_front( r );
-            return *this;
-        }
-        
-        ptr_front_insert_iterator& 
-        operator=( typename PtrContainer::const_reference r )
-        {
-            container->push_front( container_type::clone_allocator_type::
-                                   allocate_clone(r) );
-            return *this;
-        }
-
-        ptr_front_insert_iterator& operator*()
-        { 
-            return *this;
-        }
-
-        ptr_front_insert_iterator& operator++()
-        { 
-            return *this;
-        }
-
-        ptr_front_insert_iterator operator++(int)
-        { 
-            return *this;
-        }
-        
-    protected:
-        PtrContainer* container;
-    };
-
-
-    
-    template< class PtrContainer >
-    class ptr_insert_iterator :
-        public std::iterator<std::output_iterator_tag,void,void,void,void>
-    {
-    public:
-        typedef PtrContainer container_type;
-
-    public:
-        ptr_insert_iterator( PtrContainer& cont,
-                               typename PtrContainer::iterator before )
-        : container(&cont), iter(before)
-        { }
-
-        ptr_insert_iterator& 
-        operator=( typename PtrContainer::value_type r )
-        {
-            typename PtrContainer::value_type obj = 0;
-            if( r != 0 )
-                obj = container_type::clone_allocator_type::allocate_clone(*r);
-
-            iter = container->insert( iter, obj );
-            return *this;
-        }
-
-        template< class T >
-        ptr_insert_iterator& 
-        operator=( std::auto_ptr<T> r )
-        {
-            iter = container->insert( iter, r );
-            return *this;
-        }
-        
-        ptr_insert_iterator& 
-        operator=( typename PtrContainer::const_reference r )
-        {
-            iter = container->insert( iter, container_type::clone_allocator_type::
-                                            allocate_clone(r) );
-            return *this;
-        }
-
-        ptr_insert_iterator& operator*()
-        { 
-            return *this;
-        }
-
-        ptr_insert_iterator& operator++()
-        { 
-            return *this;
-        }
-
-        ptr_insert_iterator operator++(int)
-        { 
-            return *this;
-        }
-        
-    protected:
-        PtrContainer*                    container;
-        typename PtrContainer::iterator  iter;
-    };
-
-    template< class PtrContainer >
-    inline ptr_back_insert_iterator<PtrContainer> 
-    ptr_back_inserter( PtrContainer& cont )
-    {
-        return ptr_back_insert_iterator<PtrContainer>( cont );
-    }
-
-    template< class PtrContainer >
-    inline ptr_front_insert_iterator<PtrContainer> 
-    ptr_front_inserter( PtrContainer& cont )
-    {
-        return ptr_front_insert_iterator<PtrContainer>( cont );
-    }
-
-    template< class PtrContainer >
-    inline ptr_insert_iterator<PtrContainer> 
-    ptr_inserter( PtrContainer& cont, 
-                    typename PtrContainer::iterator before )
-    {
-        return ptr_insert_iterator<PtrContainer>( cont, before );
-    }
-    
-} // namespace 'ptr_container'
-} // namespace 'boost'
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_list.hpp b/SRC/Boost/boost/ptr_container/ptr_list.hpp
deleted file mode 100755
index 21d817b..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_list.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_PTR_LIST_HPP
-#define BOOST_PTR_CONTAINER_PTR_LIST_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/ptr_container/ptr_sequence_adapter.hpp>
-#include <list>
-
-namespace boost
-{
-
-    template
-    < 
-        class T, 
-        class CloneAllocator = heap_clone_allocator,
-        class Allocator      = std::allocator<void*>
-    >
-    class ptr_list : public 
-        ptr_sequence_adapter< T, 
-                              std::list<void*,Allocator>, 
-                              CloneAllocator >
-    {
-        typedef    ptr_sequence_adapter< T, 
-                                         std::list<void*,Allocator>, 
-                                         CloneAllocator >
-            base_class;
-
-        typedef ptr_list<T,CloneAllocator,Allocator>  this_type;
-        
-    public:
-        BOOST_PTR_CONTAINER_DEFINE_SEQEUENCE_MEMBERS( ptr_list, 
-                                                      base_class,
-                                                      this_type )
-
-        typedef BOOST_DEDUCED_TYPENAME base_class::value_type value_type;
-        
-    public:
-        using base_class::merge;
-        
-        void merge( ptr_list& x )                                 
-        {
-            merge( x, std::less<T>() );
-        }
-
-        template< typename Compare > 
-        void merge( ptr_list& x, Compare comp )                   
-        {
-            this->base().merge( x.base(), void_ptr_indirect_fun<Compare,T>( comp ) ); }
-
-        void sort()                                                    
-        { 
-            sort( std::less<T>() ); 
-        };
-
-        template< typename Compare > 
-        void sort( Compare comp )                             
-        {
-            this->base().sort( void_ptr_indirect_fun<Compare,T>( comp ) );
-        }
-
-        template< class Pred >
-        void erase_if( iterator first, iterator last, Pred pred )
-        {
-            base_class::erase_if( first, last, pred );
-        }
-        
-        template< class Pred >
-        void erase_if( Pred pred )
-        {
-            this->base().remove_if( BOOST_DEDUCED_TYPENAME base_class:: 
-                    BOOST_NESTED_TEMPLATE void_ptr_delete_if<Pred,value_type>
-                                    (pred) );
-        } 
-
-    }; // class 'ptr_list'
-
-    //////////////////////////////////////////////////////////////////////////////
-    // clonability
-
-    template< typename T, typename CA, typename A >
-    inline ptr_list<T,CA,A>* new_clone( const ptr_list<T,CA,A>& r )
-    {
-        return r.clone().release();
-    }
-    
-    /////////////////////////////////////////////////////////////////////////
-    // swap
-
-    template< typename T, typename CA, typename A >
-    inline void swap( ptr_list<T,CA,A>& l, ptr_list<T,CA,A>& r )
-    {
-        l.swap(r);
-    }
-}
-
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_map.hpp b/SRC/Boost/boost/ptr_container/ptr_map.hpp
deleted file mode 100755
index 512c09b..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_map.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_PTR_MAP_HPP
-#define BOOST_PTR_CONTAINER_PTR_MAP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <map>
-#include <boost/ptr_container/ptr_map_adapter.hpp>
-
-namespace boost
-{
-    
-    template
-    < 
-        class Key, 
-        class T, 
-        class Compare        = std::less<Key>,
-        class CloneAllocator = heap_clone_allocator,
-        class Allocator      = std::allocator< std::pair<const Key,void*> >
-    >
-    class ptr_map : 
-        public ptr_map_adapter<T,std::map<Key,void*,
-                               Compare,Allocator>,CloneAllocator>
-    {
-        typedef ptr_map_adapter<T,std::map<Key,void*,
-                                Compare,Allocator>,CloneAllocator>
-            base_type;
-
-        typedef ptr_map<Key,T,Compare,CloneAllocator,Allocator> this_type;
-        
-    public:
-        ptr_map()
-        { }
-        
-        explicit ptr_map( const Compare& comp,
-                          const Allocator& a  = Allocator() ) 
-          : base_type( comp, a ) { }
-
-        template< class InputIterator >
-        ptr_map( InputIterator first, InputIterator last )
-          : base_type( first, last )
-        { }
-        
-        template< class InputIterator >
-        ptr_map( InputIterator first, InputIterator last, 
-                 const Compare& comp,
-                 const Allocator& a  = Allocator() )
-          : base_type( first, last, comp, a ) 
-        { }
-
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_map, base_type, 
-                                                      this_type )
-
-        template< class U >
-        ptr_map( const ptr_map<Key,U>& r ) : base_type( r )
-        { }
-
-        ptr_map& operator=( ptr_map r )
-        {
-            this->swap( r );
-            return *this;
-        }
-    };
-    
-
-
-    template
-    < 
-        class Key, 
-        class T, 
-        class Compare        = std::less<Key>, 
-        class CloneAllocator = heap_clone_allocator,
-        class Allocator      = std::allocator< std::pair<const Key,void*> >
-    >
-    class ptr_multimap : 
-        public ptr_multimap_adapter<T,std::multimap<Key,void*,
-                                    Compare,Allocator>,CloneAllocator>
-    {
-        typedef ptr_multimap_adapter<T,std::multimap<Key,void*,
-                                     Compare,Allocator>,CloneAllocator>
-             base_type;
-
-        typedef ptr_multimap<Key,T,Compare,CloneAllocator,Allocator> this_type;
-        
-    public:
-        ptr_multimap()
-        { }
-        
-        explicit ptr_multimap( const Compare& comp,
-                               const Allocator& a  = Allocator() ) 
-          : base_type( comp, a ) { }
-
-        template< class InputIterator >
-        ptr_multimap( InputIterator first, InputIterator last )
-          : base_type( first,  last )
-        { }
-        
-        template< class InputIterator >
-        ptr_multimap( InputIterator first, InputIterator last,
-                      const Compare& comp,
-                      const Allocator& a  = Allocator() )
-          : base_type( first, last, comp, a ) 
-        { }
-
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_multimap, 
-                                                      base_type,
-                                                      this_type )
-
-        template< class U >
-        ptr_multimap( const ptr_multimap<Key,U>& r ) : base_type( r )
-        { }
-
-        ptr_multimap& operator=( ptr_multimap r )
-        {
-            this->swap( r );
-            return *this;
-        }
-    };
-
-    //////////////////////////////////////////////////////////////////////////////
-    // clonability
-
-    template< class K, class T, class C, class CA, class A >
-    inline ptr_map<K,T,C,CA,A>* new_clone( const ptr_map<K,T,C,CA,A>& r )
-    {
-        return r.clone().release();
-    }
-
-    template< class K, class T, class C, class CA, class A >
-    inline ptr_multimap<K,T,C,CA,A>* new_clone( const ptr_multimap<K,T,C,CA,A>& r )
-    {
-        return r.clone().release();
-    }
-
-    /////////////////////////////////////////////////////////////////////////
-    // swap
-
-    template< typename K, typename T, typename C, typename CA, typename A >
-    inline void swap( ptr_map<K,T,C,CA,A>& l, ptr_map<K,T,C,CA,A>& r )
-    {
-        l.swap(r);
-    }
-
-    template< typename K, typename T, typename C, typename CA, typename A >
-    inline void swap( ptr_multimap<K,T,C,CA,A>& l, ptr_multimap<K,T,C,CA,A>& r )
-    {
-        l.swap(r);
-    }
-
-
-}
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_map_adapter.hpp b/SRC/Boost/boost/ptr_container/ptr_map_adapter.hpp
deleted file mode 100755
index 104360c..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_map_adapter.hpp
+++ /dev/null
@@ -1,874 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_DETAIL_PTR_MAP_ADAPTER_HPP
-#define BOOST_PTR_CONTAINER_DETAIL_PTR_MAP_ADAPTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/ptr_container/detail/map_iterator.hpp>
-#include <boost/ptr_container/detail/associative_ptr_container.hpp>
-#include <boost/ptr_container/detail/meta_functions.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/range/iterator_range.hpp>
-
-namespace boost
-{
-namespace ptr_container_detail
-{
-
-    template
-    < 
-        class T,
-        class VoidPtrMap,
-        bool  Ordered
-    >
-    struct map_config
-    {
-        typedef BOOST_DEDUCED_TYPENAME remove_nullable<T>::type
-                     U;
-        typedef VoidPtrMap 
-                     void_container_type;
-        
-        typedef BOOST_DEDUCED_TYPENAME VoidPtrMap::allocator_type
-                     allocator_type;
-        
-       typedef BOOST_DEDUCED_TYPENAME 
-           mpl::eval_if_c<Ordered, 
-                          select_value_compare<VoidPtrMap>, 
-                          mpl::identity<void> >::type
-                    value_compare;
-
-       typedef BOOST_DEDUCED_TYPENAME 
-           mpl::eval_if_c<Ordered, 
-                          select_key_compare<VoidPtrMap>, 
-                          mpl::identity<void> >::type
-                    key_compare;
-
-       typedef BOOST_DEDUCED_TYPENAME 
-           mpl::eval_if_c<Ordered,
-                          mpl::identity<void>,
-                          select_hasher<VoidPtrMap> >::type
-                    hasher;
-
-       typedef BOOST_DEDUCED_TYPENAME 
-           mpl::eval_if_c<Ordered,
-                          mpl::identity<void>,
-                          select_key_equal<VoidPtrMap> >::type
-                    key_equal;
-
-       typedef BOOST_DEDUCED_TYPENAME 
-           mpl::if_c<Ordered,
-                     ptr_container_detail::ordered_associative_container_tag,
-                     ptr_container_detail::unordered_associative_container_tag>::type
-                    container_type;
-        
-        typedef BOOST_DEDUCED_TYPENAME VoidPtrMap::key_type
-                     key_type;
-        
-        typedef U    value_type;
-
-        typedef ptr_map_iterator< BOOST_DEDUCED_TYPENAME VoidPtrMap::iterator, key_type, U* const >
-                     iterator;
-        
-        typedef ptr_map_iterator< BOOST_DEDUCED_TYPENAME VoidPtrMap::const_iterator, key_type, const U* const>
-                     const_iterator;
-        
-        typedef ptr_map_iterator<
-           BOOST_DEDUCED_TYPENAME 
-             mpl::eval_if_c<Ordered, 
-                            select_iterator<VoidPtrMap>,
-                            select_local_iterator<VoidPtrMap> >::type,
-             key_type, U* const >
-                    local_iterator;
-
-       typedef ptr_map_iterator<
-           BOOST_DEDUCED_TYPENAME 
-             mpl::eval_if_c<Ordered, 
-                            select_iterator<VoidPtrMap>,
-                            select_const_local_iterator<VoidPtrMap> >::type,
-             key_type, const U* const >
-                    const_local_iterator;  
-       
-        template< class Iter >
-        static U* get_pointer( Iter i )
-        {
-            return i->second;
-        }
-
-        template< class Iter >
-        static const U* get_const_pointer( Iter i )
-        {
-            return i->second;
-        }
-
-        BOOST_STATIC_CONSTANT( bool, allow_null = boost::is_nullable<T>::value );
-    };
-    
-    
-
-    template
-    < 
-        class T,
-        class VoidPtrMap, 
-        class CloneAllocator,
-        bool  Ordered
-    >
-    class ptr_map_adapter_base : 
-        public ptr_container_detail::associative_ptr_container< map_config<T,VoidPtrMap,Ordered>,
-                                                    CloneAllocator >
-    {
-        typedef ptr_container_detail::associative_ptr_container< map_config<T,VoidPtrMap,Ordered>,
-                                                     CloneAllocator > 
-            base_type;
-
-        typedef map_config<T,VoidPtrMap,Ordered>                           config;
-        typedef ptr_map_adapter_base<T,VoidPtrMap,CloneAllocator,Ordered>  this_type;
-        
-    public:
-
-        typedef BOOST_DEDUCED_TYPENAME base_type::allocator_type
-                    allocator_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::iterator
-                    iterator;
-        typedef BOOST_DEDUCED_TYPENAME base_type::const_iterator
-                    const_iterator;
-        typedef BOOST_DEDUCED_TYPENAME base_type::size_type
-                    size_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::key_type
-                    key_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::auto_type
-                    auto_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::value_type 
-                    mapped_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::reference
-                    mapped_reference;
-        typedef BOOST_DEDUCED_TYPENAME base_type::const_reference
-                    const_mapped_reference;
-        typedef BOOST_DEDUCED_TYPENAME iterator_value<iterator>::type
-                    value_type;
-        typedef value_type
-                    reference;
-        typedef BOOST_DEDUCED_TYPENAME iterator_value<const_iterator>::type
-                    const_reference;
-        typedef value_type 
-                    pointer;
-        typedef const_reference 
-                    const_pointer;
-
-    private:
-        const_mapped_reference lookup( const key_type& key ) const
-        {
-           const_iterator i = this->find( key );
-           if( i != this->end() )
-               return *i->second;
-           else                                           
-               BOOST_PTR_CONTAINER_THROW_EXCEPTION( true, bad_ptr_container_operation,
-                                                    "'ptr_map/multimap::at()' could"
-                                                    " not find key" );
-        }
-
-        struct eraser // scope guard
-        {
-            bool            released_;
-            VoidPtrMap*     m_;
-            const key_type& key_;
-
-            eraser( VoidPtrMap* m, const key_type& key ) 
-              : released_(false), m_(m), key_(key)
-            {}
-
-            ~eraser() 
-            {
-                if( !released_ )
-                    m_->erase(key_);
-            }
-
-            void release() { released_ = true; }
-
-        private:  
-            eraser& operator=(const eraser&);  
-        };
-
-        mapped_reference insert_lookup( const key_type& key )
-        {
-            void*& ref = this->base()[key];
-            if( ref )
-            {
-                return *static_cast<mapped_type>(ref);
-            }
-            else
-            {
-                eraser e(&this->base(),key);      // nothrow
-                mapped_type res = new T();        // strong 
-                ref = res;                        // nothrow
-                e.release();                      // nothrow
-                return *res;
-            }
-          }
-        
-    public:
-
-        ptr_map_adapter_base()
-        { }
-
-        template< class SizeType >
-        explicit ptr_map_adapter_base( SizeType n, 
-                                       ptr_container_detail::unordered_associative_container_tag tag )
-        : base_type( n, tag )
-        { }
-
-        template< class Compare, class Allocator >
-        ptr_map_adapter_base( const Compare& comp,
-                              const Allocator& a ) 
-        : base_type( comp, a ) 
-        { }
-
-        template< class Hash, class Pred, class Allocator >
-        ptr_map_adapter_base( const Hash& hash,
-                              const Pred& pred,
-                              const Allocator& a )
-         : base_type( hash, pred, a )
-        { }
-                
-        template< class InputIterator >
-        ptr_map_adapter_base( InputIterator first, InputIterator last )
-         : base_type( first, last )
-        { }
-                
-        template< class InputIterator, class Comp >
-        ptr_map_adapter_base( InputIterator first, InputIterator last,
-                              const Comp& comp,
-                              const allocator_type& a = allocator_type() )
-        : base_type( first, last, comp, a )
-        { }
-
-        template< class InputIterator, class Hash, class Pred, class Allocator >
-        ptr_map_adapter_base( InputIterator first, InputIterator last,
-                              const Hash& hash,
-                              const Pred& pred,
-                              const Allocator& a )
-         : base_type( first, last, hash, pred, a )
-        { }
-                
-        template< class PtrContainer >
-        explicit ptr_map_adapter_base( std::auto_ptr<PtrContainer> clone ) 
-        : base_type( clone )
-        { }
-        
-        template< typename PtrContainer >
-        ptr_map_adapter_base& operator=( std::auto_ptr<PtrContainer> clone )    
-        {
-            base_type::operator=( clone );
-            return *this;
-        }        
-
-        iterator find( const key_type& x )                                                
-        {                                                                            
-            return iterator( this->base().find( x ) );                                
-        }                                                                            
-
-        const_iterator find( const key_type& x ) const                                    
-        {                                                                            
-            return const_iterator( this->base().find( x ) );                          
-        }                                                                            
-
-        size_type count( const key_type& x ) const                                        
-        {                                                                            
-            return this->base().count( x );                                           
-        }                                                                            
-                                                                                     
-        iterator lower_bound( const key_type& x )                                         
-        {                                                                            
-            return iterator( this->base().lower_bound( x ) );                         
-        }                                                                            
-                                                                                     
-        const_iterator lower_bound( const key_type& x ) const                             
-        {                                                                            
-            return const_iterator( this->base().lower_bound( x ) );                   
-        }                                                                            
-                                                                                     
-        iterator upper_bound( const key_type& x )                                         
-        {                                                                            
-            return iterator( this->base().upper_bound( x ) );                         
-        }                                                                            
-                                                                                     
-        const_iterator upper_bound( const key_type& x ) const                             
-        {                                                                            
-            return const_iterator( this->base().upper_bound( x ) );                   
-        }                                                                            
-                                                                                     
-        iterator_range<iterator> equal_range( const key_type& x )                    
-        {                                                                            
-            std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_iterator,
-                      BOOST_DEDUCED_TYPENAME base_type::ptr_iterator>
-                 p = this->base().equal_range( x );   
-            return make_iterator_range( iterator( p.first ), iterator( p.second ) );      
-        }                                                                            
-                                                                                     
-        iterator_range<const_iterator> equal_range( const key_type& x ) const  
-        {                                                                            
-            std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_const_iterator,
-                      BOOST_DEDUCED_TYPENAME base_type::ptr_const_iterator> 
-                p = this->base().equal_range( x ); 
-            return make_iterator_range( const_iterator( p.first ), 
-                                        const_iterator( p.second ) );    
-        }                                                                            
-                                                                                     
-        mapped_reference at( const key_type& key )  
-        {   
-            return const_cast<mapped_reference>( lookup( key ) ); 
-        }
-                                                                                     
-        const_mapped_reference at( const key_type& key ) const
-        {                                                                            
-            return lookup( key );
-        }
-
-        mapped_reference operator[]( const key_type& key )
-        {
-            return insert_lookup( key );
-        }              
-
-        auto_type replace( iterator where, mapped_type x ) // strong  
-        { 
-            BOOST_ASSERT( where != this->end() );
-
-            this->enforce_null_policy( x, "Null pointer in 'replace()'" );
-
-            auto_type ptr( x );
-
-            BOOST_PTR_CONTAINER_THROW_EXCEPTION( this->empty(),
-                                                 bad_ptr_container_operation,
-                                                 "'replace()' on empty container" );
-
-            auto_type old( where->second );       // nothrow
-            where.base()->second = ptr.release(); // nothrow, commit
-            return boost::ptr_container::move( old );
-        }
-
-        template< class U >
-        auto_type replace( iterator where, std::auto_ptr<U> x )
-        {
-            return replace( where, x.release() );
-        }
-
-    protected:
-        size_type bucket( const key_type& key ) const
-        {
-            return this->base().bucket( key );
-        }
-    };
-    
-} // ptr_container_detail
-
-    /////////////////////////////////////////////////////////////////////////
-    // ptr_map_adapter
-    /////////////////////////////////////////////////////////////////////////
-    
-    template
-    < 
-        class T,
-        class VoidPtrMap, 
-        class CloneAllocator = heap_clone_allocator,
-        bool  Ordered        = true
-    >
-    class ptr_map_adapter : 
-        public ptr_container_detail::ptr_map_adapter_base<T,VoidPtrMap,CloneAllocator,Ordered>
-    {
-        typedef ptr_container_detail::ptr_map_adapter_base<T,VoidPtrMap,CloneAllocator,Ordered> 
-            base_type;
-    
-    public:    
-        typedef BOOST_DEDUCED_TYPENAME base_type::iterator 
-                     iterator;       
-        typedef BOOST_DEDUCED_TYPENAME base_type::const_iterator
-                     const_iterator;
-        typedef BOOST_DEDUCED_TYPENAME base_type::size_type
-                    size_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::key_type
-                    key_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::const_reference
-                    const_reference;
-        typedef BOOST_DEDUCED_TYPENAME base_type::auto_type
-                    auto_type;
-        typedef BOOST_DEDUCED_TYPENAME VoidPtrMap::allocator_type 
-                    allocator_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::mapped_type
-                    mapped_type;
-    private:
-
-        void safe_insert( const key_type& key, auto_type ptr ) // strong
-        {
-            std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_iterator,bool>
-                res = 
-                this->base().insert( std::make_pair( key, ptr.get() ) ); // strong, commit      
-            if( res.second )                                             // nothrow     
-                ptr.release();                                           // nothrow
-        }
-
-        template< class II >                                               
-        void map_basic_clone_and_insert( II first, II last )                  
-        {       
-            while( first != last )                                            
-            {                                            
-                if( this->find( first->first ) == this->end() )
-                {
-                    const_reference p = *first.base();     // nothrow                    
-                    auto_type ptr( this->null_policy_allocate_clone( p.second ) ); 
-                                                           // strong 
-                    this->safe_insert( p.first, 
-                                       boost::ptr_container::move( ptr ) );
-                                                           // strong, commit 
-                }
-                ++first;                                                      
-            }                                                                 
-        }
-    
-    public:
-        ptr_map_adapter( )
-        { }
-
-        template< class Comp >
-        explicit ptr_map_adapter( const Comp& comp,
-                                  const allocator_type& a ) 
-          : base_type( comp, a ) { }
-
-        template< class Hash, class Pred, class Allocator >
-        ptr_map_adapter( const Hash& hash,
-                         const Pred& pred,
-                         const Allocator& a )
-         : base_type( hash, pred, a )
-        { }
-                
-        template< class InputIterator >
-        ptr_map_adapter( InputIterator first, InputIterator last )
-        {
-            map_basic_clone_and_insert( first, last ); 
-        }
-               
-        template< class InputIterator, class Comp >
-        ptr_map_adapter( InputIterator first, InputIterator last, 
-                         const Comp& comp,
-                         const allocator_type& a = allocator_type() )
-          : base_type( comp, a ) 
-        {
-            map_basic_clone_and_insert( first, last );
-        }
-
-        template< class InputIterator, class Hash, class Pred, class Allocator >
-        ptr_map_adapter( InputIterator first, InputIterator last,
-                         const Hash& hash,
-                         const Pred& pred,
-                         const Allocator& a )
-          : base_type( hash, pred, a )
-        {
-            map_basic_clone_and_insert( first, last ); 
-        }
-                
-        ptr_map_adapter( const ptr_map_adapter& r )
-        {
-            map_basic_clone_and_insert( r.begin(), r.end() );      
-        }
-        
-        template< class Key, class U, class CA, bool b >
-        ptr_map_adapter( const ptr_map_adapter<Key,U,CA,b>& r )
-        {
-            map_basic_clone_and_insert( r.begin(), r.end() );      
-        }
-        
-        template< class U >
-        ptr_map_adapter( std::auto_ptr<U> r ) : base_type( r )
-        { }
-
-        ptr_map_adapter& operator=( ptr_map_adapter r )
-        {
-            this->swap( r );
-            return *this;
-        }
-
-        template< class U >
-        ptr_map_adapter& operator=( std::auto_ptr<U> r )
-        {  
-            base_type::operator=( r );
-            return *this;
-        }
-
-        using base_type::release;
-
-        template< typename InputIterator >
-        void insert( InputIterator first, InputIterator last ) // basic
-        {
-            map_basic_clone_and_insert( first, last );
-        }
-
-        template< class Range >
-        void insert( const Range& r )
-        {
-            insert( boost::begin(r), boost::end(r) );
-        }
-
-    private:
-        std::pair<iterator,bool> insert_impl( const key_type& key, mapped_type x ) // strong
-        {
-            this->enforce_null_policy( x, "Null pointer in ptr_map_adapter::insert()" );
-            auto_type ptr( x );                                         // nothrow
-
-            std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_iterator,bool>
-                 res = this->base().insert( std::make_pair( key, x ) ); // strong, commit      
-            if( res.second )                                            // nothrow     
-                ptr.release();                                          // nothrow
-            return std::make_pair( iterator( res.first ), res.second ); // nothrow        
-        }
-
-        iterator insert_impl( iterator before, const key_type& key, mapped_type x ) // strong
-        {
-            this->enforce_null_policy( x, 
-                  "Null pointer in 'ptr_map_adapter::insert()'" );
-            auto_type ptr( x );         // nothrow
-            BOOST_DEDUCED_TYPENAME base_type::ptr_iterator
-                res = this->base().insert( before.base(), std::make_pair( key, x ) );
-                                        // strong, commit        
-            ptr.release();              // notrow
-            return iterator( res );                       
-        }
-        
-    public:
-        
-        std::pair<iterator,bool> insert( key_type& key, mapped_type x )
-        {
-            return insert_impl( key, x );
-        }
-
-        template< class U >
-        std::pair<iterator,bool> insert( const key_type& key, std::auto_ptr<U> x )
-        {
-            return insert_impl( key, x.release() );
-        }
-
-        template< class F, class S >
-        iterator insert( iterator before, ptr_container_detail::ref_pair<F,S> p ) // strong
-        {
-            this->enforce_null_policy( p.second, 
-                  "Null pointer in 'ptr_map_adapter::insert()'" );
- 
-            auto_type ptr( this->null_policy_allocate_clone( p.second ) ); 
-            BOOST_DEDUCED_TYPENAME base_type::ptr_iterator
-                result = this->base().insert( before.base(), 
-                                     std::make_pair(p.first,ptr.get()) ); // strong
-            if( ptr.get() == result->second )
-                ptr.release();
-    
-            return iterator( result );
-        }
-
-        iterator insert( iterator before, key_type& key, mapped_type x ) // strong
-        {
-            return insert_impl( before, key, x );
-        }
-
-        template< class U >
-        iterator insert( iterator before, const key_type& key, std::auto_ptr<U> x ) // strong
-        {
-            return insert_impl( before, key, x.release() );
-        }
-        
-        template< class PtrMapAdapter >
-        bool transfer( BOOST_DEDUCED_TYPENAME PtrMapAdapter::iterator object, 
-                       PtrMapAdapter& from ) // strong
-        {
-            return this->single_transfer( object, from );
-        }
-
-        template< class PtrMapAdapter >
-        size_type transfer( BOOST_DEDUCED_TYPENAME PtrMapAdapter::iterator first, 
-                            BOOST_DEDUCED_TYPENAME PtrMapAdapter::iterator last, 
-                            PtrMapAdapter& from ) // basic
-        {
-            return this->single_transfer( first, last, from );
-        }
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#else    
-
-        template< class PtrMapAdapter, class Range >
-        BOOST_DEDUCED_TYPENAME boost::disable_if< boost::is_same< Range,
-                            BOOST_DEDUCED_TYPENAME PtrMapAdapter::iterator >,
-                                                            size_type >::type
-        transfer( const Range& r, PtrMapAdapter& from ) // basic
-        {
-            return transfer( boost::begin(r), boost::end(r), from );
-        }
-        
-#endif
-
-        template< class PtrMapAdapter >
-        size_type transfer( PtrMapAdapter& from ) // basic
-        {
-            return transfer( from.begin(), from.end(), from );
-        }
-  };
-  
-  /////////////////////////////////////////////////////////////////////////
-  // ptr_multimap_adapter
-  /////////////////////////////////////////////////////////////////////////
-
-    template
-    < 
-        class T,
-        class VoidPtrMultiMap, 
-        class CloneAllocator = heap_clone_allocator,
-        bool  Ordered        = true
-    >
-    class ptr_multimap_adapter : 
-        public ptr_container_detail::ptr_map_adapter_base<T,VoidPtrMultiMap,CloneAllocator,Ordered>
-    {
-        typedef ptr_container_detail::ptr_map_adapter_base<T,VoidPtrMultiMap,CloneAllocator,Ordered>
-             base_type;
-
-    public: // typedefs
-        typedef BOOST_DEDUCED_TYPENAME base_type::iterator           
-                       iterator;                 
-        typedef BOOST_DEDUCED_TYPENAME base_type::const_iterator     
-                       const_iterator;           
-        typedef BOOST_DEDUCED_TYPENAME base_type::size_type
-                       size_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::key_type
-                       key_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::const_reference
-                       const_reference;
-        typedef BOOST_DEDUCED_TYPENAME base_type::mapped_type
-                    mapped_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::auto_type
-                    auto_type;            
-        typedef BOOST_DEDUCED_TYPENAME VoidPtrMultiMap::allocator_type 
-                    allocator_type;
-    private:
-
-        void safe_insert( const key_type& key, auto_type ptr ) // strong
-        {
-            this->base().insert( 
-                           std::make_pair( key, ptr.get() ) ); // strong, commit      
-            ptr.release();                                     // nothrow
-        }
-        
-        template< typename II >                                               
-        void map_basic_clone_and_insert( II first, II last )                  
-        {                                                         
-            while( first != last )                                            
-            {                                            
-                const_reference pair = *first.base();     // nothrow                     
-                auto_type ptr( this->null_policy_allocate_clone( pair.second ) );    
-                                                          // strong
-                safe_insert( pair.first, 
-                             boost::ptr_container::move( ptr ) );
-                                                          // strong, commit 
-                ++first;                                                      
-            }                                                                 
-        }
-        
-    public:
-
-        ptr_multimap_adapter()
-        { }
-
-        template< class SizeType >
-        ptr_multimap_adapter( SizeType n, 
-                              ptr_container_detail::unordered_associative_container_tag tag )
-          : base_type( n, tag )
-        { }
-
-        template< class Comp >
-        explicit ptr_multimap_adapter( const Comp& comp,
-                                       const allocator_type& a )
-          : base_type( comp, a ) { }
-
-        template< class Hash, class Pred, class Allocator >
-        ptr_multimap_adapter( const Hash& hash,
-                              const Pred& pred,
-                              const Allocator& a )
-         : base_type( hash, pred, a )
-        { }
-
-        template< class InputIterator >
-        ptr_multimap_adapter( InputIterator first, InputIterator last )
-        {
-            map_basic_clone_and_insert( first, last );
-        }
-        
-        template< class InputIterator, class Comp >
-        ptr_multimap_adapter( InputIterator first, InputIterator last,
-                              const Comp& comp,
-                              const allocator_type& a )
-          : base_type( comp, a )
-        {
-            map_basic_clone_and_insert( first, last );
-        }
-
-        template< class InputIterator, class Hash, class Pred, class Allocator >
-        ptr_multimap_adapter( InputIterator first, InputIterator last,
-                              const Hash& hash,
-                              const Pred& pred,
-                              const Allocator& a )
-         : base_type( hash, pred, a )
-        {
-            map_basic_clone_and_insert( first, last ); 
-        }
-
-        ptr_multimap_adapter( const ptr_multimap_adapter& r )
-        {
-            map_basic_clone_and_insert( r.begin(), r.end() );      
-        }
-        
-        template< class Key, class U, class CA, bool b >
-        ptr_multimap_adapter( const ptr_multimap_adapter<Key,U,CA,b>& r )
-        {
-            map_basic_clone_and_insert( r.begin(), r.end() );      
-        }
-        
-        template< class U >
-        explicit ptr_multimap_adapter( std::auto_ptr<U> r ) : base_type( r )
-        { }
-
-        ptr_multimap_adapter& operator=( ptr_multimap_adapter r )
-        {
-            this->swap( r );
-            return *this;
-        }
-
-        template< class U >
-        ptr_multimap_adapter& operator=( std::auto_ptr<U> r )
-        {  
-            base_type::operator=( r );
-            return *this;
-        }
-
-        using base_type::release;
-
-    private:
-        iterator insert_impl( const key_type& key, mapped_type x ) // strong
-        {
-            this->enforce_null_policy( x, 
-                  "Null pointer in 'ptr_multimap_adapter::insert()'" );
-            auto_type ptr( x );         // nothrow
-            BOOST_DEDUCED_TYPENAME base_type::ptr_iterator
-                res = this->base().insert( std::make_pair( key, x ) );
-                                        // strong, commit        
-            ptr.release();              // notrow
-            return iterator( res );           
-        }
-
-        iterator insert_impl( iterator before, const key_type& key, mapped_type x ) // strong
-        {
-            this->enforce_null_policy( x, 
-                  "Null pointer in 'ptr_multimap_adapter::insert()'" );
-            auto_type ptr( x );         // nothrow
-            BOOST_DEDUCED_TYPENAME base_type::ptr_iterator
-                res = this->base().insert( before.base(), 
-                                           std::make_pair( key, x ) );
-                                        // strong, commit        
-            ptr.release();              // notrow
-            return iterator( res );                       
-        }
-
-    public:
-        template< typename InputIterator >
-        void insert( InputIterator first, InputIterator last ) // basic
-        {
-            map_basic_clone_and_insert( first, last );
-        }
-
-        template< class Range >
-        void insert( const Range& r )
-        {
-            insert( boost::begin(r), boost::end(r) );
-        }
-
-        iterator insert( key_type& key, mapped_type x ) // strong
-        {
-            return insert_impl( key, x );
-        }
-
-        template< class U >
-        iterator insert( const key_type& key, std::auto_ptr<U> x )
-        {
-            return insert_impl( key, x.release() );
-        }
-
-        template< class F, class S >
-        iterator insert( iterator before, ptr_container_detail::ref_pair<F,S> p ) // strong
-        {
-            this->enforce_null_policy( p.second, 
-                  "Null pointer in 'ptr_multimap_adapter::insert()'" );
-            iterator res = insert_impl( before, p.first, 
-                                        this->null_policy_allocate_clone( p.second ) );
-            return res;
-        }
-
-        iterator insert( iterator before, key_type& key, mapped_type x ) // strong
-        {
-            return insert_impl( before, key, x );
-        }
-
-        template< class U >
-        iterator insert( iterator before, const key_type& key, std::auto_ptr<U> x ) // strong
-        {
-            return insert_impl( before, key, x.release() );
-        }
-        
-        template< class PtrMapAdapter >
-        void transfer( BOOST_DEDUCED_TYPENAME PtrMapAdapter::iterator object, 
-                       PtrMapAdapter& from ) // strong
-        {
-            this->multi_transfer( object, from );
-        }
-
-        template< class PtrMapAdapter >
-        size_type transfer( BOOST_DEDUCED_TYPENAME PtrMapAdapter::iterator first, 
-                            BOOST_DEDUCED_TYPENAME PtrMapAdapter::iterator last, 
-                            PtrMapAdapter& from ) // basic
-        {
-            return this->multi_transfer( first, last, from );
-        }
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#else    
-
-        template<  class PtrMapAdapter, class Range >
-        BOOST_DEDUCED_TYPENAME boost::disable_if< boost::is_same< Range,
-                            BOOST_DEDUCED_TYPENAME PtrMapAdapter::iterator >,
-                                                            size_type >::type
-        transfer( const Range& r, PtrMapAdapter& from ) // basic
-        {
-            return transfer( boost::begin(r), boost::end(r), from );
-        }
-
-#endif        
-        template< class PtrMapAdapter >
-        void transfer( PtrMapAdapter& from ) // basic
-        {
-            transfer( from.begin(), from.end(), from );
-            BOOST_ASSERT( from.empty() );
-        }
-
-    };
-
-    template< class I, class F, class S >
-    inline bool is_null( const ptr_map_iterator<I,F,S>& i )
-    {
-        return i->second == 0;
-    }
-    
-} // namespace 'boost'  
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_sequence_adapter.hpp b/SRC/Boost/boost/ptr_container/ptr_sequence_adapter.hpp
deleted file mode 100755
index bb5a65f..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_sequence_adapter.hpp
+++ /dev/null
@@ -1,775 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_PTR_SEQUENCE_ADAPTER_HPP
-#define BOOST_PTR_CONTAINER_PTR_SEQUENCE_ADAPTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-
-#include <boost/ptr_container/detail/reversible_ptr_container.hpp>
-#include <boost/ptr_container/indirect_fun.hpp>
-#include <boost/ptr_container/detail/void_ptr_iterator.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-
-namespace boost
-{   
-namespace ptr_container_detail
-{    
-    template
-    < 
-        class T, 
-        class VoidPtrSeq
-    >
-    struct sequence_config
-    {
-        typedef BOOST_DEDUCED_TYPENAME remove_nullable<T>::type
-                    U;
-        typedef VoidPtrSeq
-                    void_container_type;
-
-        typedef BOOST_DEDUCED_TYPENAME VoidPtrSeq::allocator_type
-                    allocator_type;
-        
-        typedef U   value_type;
-
-        typedef void_ptr_iterator<
-                        BOOST_DEDUCED_TYPENAME VoidPtrSeq::iterator, U > 
-                    iterator;
-       
-        typedef void_ptr_iterator<
-                        BOOST_DEDUCED_TYPENAME VoidPtrSeq::const_iterator, const U >
-                    const_iterator;
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-
-        template< class Iter >
-        static U* get_pointer( Iter i )
-        {
-            return static_cast<U*>( *i.base() );
-        }
-        
-#else
-        template< class Iter >
-        static U* get_pointer( void_ptr_iterator<Iter,U> i )
-        {
-            return static_cast<U*>( *i.base() );
-        }
-
-        template< class Iter >
-        static U* get_pointer( Iter i )
-        {
-            return &*i;
-        }
-#endif        
-
-#if defined(BOOST_NO_SFINAE) && !BOOST_WORKAROUND(__MWERKS__, <= 0x3003)
-
-        template< class Iter >
-        static const U* get_const_pointer( Iter i )
-        {
-            return static_cast<const U*>( *i.base() );
-        }
-        
-#else // BOOST_NO_SFINAE
-
-#if BOOST_WORKAROUND(__MWERKS__, <= 0x3003)
-        template< class Iter >
-        static const U* get_const_pointer( void_ptr_iterator<Iter,U> i )
-        {
-            return static_cast<const U*>( *i.base() );
-        }
-#else // BOOST_WORKAROUND
-        template< class Iter >
-        static const U* get_const_pointer( void_ptr_iterator<Iter,const U> i )
-        {
-            return static_cast<const U*>( *i.base() );
-        }
-#endif // BOOST_WORKAROUND
-
-        template< class Iter >
-        static const U* get_const_pointer( Iter i )
-        {
-            return &*i;
-        }
-#endif // BOOST_NO_SFINAE
-
-        BOOST_STATIC_CONSTANT(bool, allow_null = boost::is_nullable<T>::value );
-    };
-    
-} // ptr_container_detail
-
-
-    template< class Iterator, class T >
-    inline bool is_null( void_ptr_iterator<Iterator,T> i )
-    {
-        return *i.base() == 0;
-    }
-
-
-    
-    template
-    < 
-        class T,
-        class VoidPtrSeq, 
-        class CloneAllocator = heap_clone_allocator
-    >
-    class ptr_sequence_adapter : public 
-        ptr_container_detail::reversible_ptr_container< ptr_container_detail::sequence_config<T,VoidPtrSeq>, 
-                                            CloneAllocator >
-    {
-        typedef ptr_container_detail::reversible_ptr_container< ptr_container_detail::sequence_config<T,VoidPtrSeq>,
-                                                    CloneAllocator >
-             base_type;
-        
-        typedef ptr_sequence_adapter<T,VoidPtrSeq,CloneAllocator>                         
-            this_type;
-
-    protected:
-        typedef BOOST_DEDUCED_TYPENAME base_type::scoped_deleter scoped_deleter;
-         
-    public:
-        typedef BOOST_DEDUCED_TYPENAME base_type::value_type  value_type; 
-        typedef BOOST_DEDUCED_TYPENAME base_type::reference   reference; 
-        typedef BOOST_DEDUCED_TYPENAME base_type::const_reference 
-                                                              const_reference;
-        typedef BOOST_DEDUCED_TYPENAME base_type::auto_type   auto_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::clone_allocator_type
-                                                              clone_allocator_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::iterator    iterator;          
-        typedef BOOST_DEDUCED_TYPENAME base_type::size_type   size_type;  
-        typedef BOOST_DEDUCED_TYPENAME base_type::allocator_type  
-                                                              allocator_type;
-                
-        ptr_sequence_adapter()
-        { }
-
-        template< class Allocator >
-        explicit ptr_sequence_adapter( const Allocator& a )
-          : base_type( a )
-        { }
-
-        template< class SizeType >
-        ptr_sequence_adapter( SizeType n, 
-                              ptr_container_detail::fixed_length_sequence_tag tag )
-          : base_type( n, tag )
-        { }
-
-        template< class SizeType, class Allocator >
-        ptr_sequence_adapter( SizeType n, const Allocator& a, 
-                              ptr_container_detail::fixed_length_sequence_tag tag )
-          : base_type( n, a, tag )
-        { }
-
-        template< class InputIterator >
-        ptr_sequence_adapter( InputIterator first, InputIterator last )
-          : base_type( first, last )
-        { }
-
-        template< class InputIterator, class Allocator >
-        ptr_sequence_adapter( InputIterator first, InputIterator last,
-                              const Allocator& a )
-          : base_type( first, last, a )
-        { }
-
-        template< class ForwardIterator >
-        ptr_sequence_adapter( ForwardIterator first,
-                              ForwardIterator last,
-                              ptr_container_detail::fixed_length_sequence_tag tag )
-          : base_type( first, last,  tag )
-        { }
-
-        template< class SizeType, class ForwardIterator >
-        ptr_sequence_adapter( SizeType n,
-                              ForwardIterator first,
-                              ForwardIterator last,
-                              ptr_container_detail::fixed_length_sequence_tag tag )
-          : base_type( n, first, last,  tag )
-        { }
-
-        ptr_sequence_adapter( const ptr_sequence_adapter& r )
-          : base_type( r )
-        { }
-        
-        template< class U >
-        ptr_sequence_adapter( const ptr_sequence_adapter<U,VoidPtrSeq,CloneAllocator>& r )
-          : base_type( r )
-        { }
-        
-        ptr_sequence_adapter( const ptr_sequence_adapter& r,
-                              ptr_container_detail::fixed_length_sequence_tag tag )
-          : base_type( r, tag )
-        { }
-        
-        template< class U >
-        ptr_sequence_adapter( const ptr_sequence_adapter<U,VoidPtrSeq,CloneAllocator>& r,
-                              ptr_container_detail::fixed_length_sequence_tag tag )
-          : base_type( r, tag )
-        { }
-        
-        template< class PtrContainer >
-        explicit ptr_sequence_adapter( std::auto_ptr<PtrContainer> clone )
-          : base_type( clone )
-        { }
-
-        ptr_sequence_adapter& operator=( const ptr_sequence_adapter r )
-        {
-            this->swap( r );
-            return *this; 
-        }
-        
-        template< class PtrContainer >
-        ptr_sequence_adapter& operator=( std::auto_ptr<PtrContainer> clone )    
-        {
-            base_type::operator=( clone );
-            return *this;
-        }
-
-        /////////////////////////////////////////////////////////////
-        // modifiers
-        /////////////////////////////////////////////////////////////
-
-        void push_back( value_type x )  // strong               
-        {
-            this->enforce_null_policy( x, "Null pointer in 'push_back()'" );
-
-            auto_type ptr( x );           // notrow
-            this->base().push_back( x );  // strong, commit
-            ptr.release();                // nothrow
-        }
-
-        template< class U >
-        void push_back( std::auto_ptr<U> x )
-        {
-            push_back( x.release() );
-        }
-        
-        void push_front( value_type x )                
-        {
-            this->enforce_null_policy( x, "Null pointer in 'push_front()'" );
-
-            auto_type ptr( x );           // nothrow
-            this->base().push_front( x ); // strong, commit
-            ptr.release();                // nothrow
-        }
-
-        template< class U >
-        void push_front( std::auto_ptr<U> x )
-        {
-            push_front( x.release() );
-        }
-
-        auto_type pop_back()
-        {
-            BOOST_ASSERT( !this->empty() && 
-                          "'pop_back()' on empty container" );
-            auto_type ptr( static_cast<value_type>( this->base().back() ) );      
-                                                       // nothrow
-            this->base().pop_back();                   // nothrow
-            return ptr_container_detail::move( ptr );  // nothrow
-        }
-
-        auto_type pop_front()
-        {
-            BOOST_ASSERT( !this->empty() &&
-                          "'pop_front()' on empty container" ); 
-            auto_type ptr( static_cast<value_type>( this->base().front() ) ); 
-                                         // nothrow 
-            this->base().pop_front();    // nothrow
-            return ptr_container_detail::move( ptr ); 
-        }
-        
-        reference front()        
-        { 
-            BOOST_ASSERT( !this->empty() &&
-                          "accessing 'front()' on empty container" );
-
-            BOOST_ASSERT( !::boost::is_null( this->begin() ) );
-            return *this->begin(); 
-        }
-
-        const_reference front() const  
-        {
-            return const_cast<ptr_sequence_adapter*>(this)->front();
-        }
-
-        reference back()
-        {
-            BOOST_ASSERT( !this->empty() &&
-                          "accessing 'back()' on empty container" );
-            BOOST_ASSERT( !::boost::is_null( --this->end() ) );
-            return *--this->end(); 
-        }
-
-        const_reference back() const
-        {
-            return const_cast<ptr_sequence_adapter*>(this)->back();
-        }
-
-    public: // deque/vector inerface
-        
-        reference operator[]( size_type n ) // nothrow 
-        {
-            BOOST_ASSERT( n < this->size() );
-            BOOST_ASSERT( !this->is_null( n ) );
-            return *static_cast<value_type>( this->base()[n] ); 
-        }
-        
-        const_reference operator[]( size_type n ) const // nothrow  
-        { 
-            BOOST_ASSERT( n < this->size() ); 
-            BOOST_ASSERT( !this->is_null( n ) );
-            return *static_cast<value_type>( this->base()[n] );
-        }
-        
-        reference at( size_type n )
-        {
-            BOOST_PTR_CONTAINER_THROW_EXCEPTION( n >= this->size(), bad_index, 
-                                                 "'at()' out of bounds" );
-            BOOST_ASSERT( !this->is_null( n ) );
-            return (*this)[n];
-        }
-        
-        const_reference at( size_type n ) const
-        {
-            BOOST_PTR_CONTAINER_THROW_EXCEPTION( n >= this->size(), bad_index, 
-                                                 "'at()' out of bounds" );
-            BOOST_ASSERT( !this->is_null( n ) );
-            return (*this)[n]; 
-        }
-        
-    public: // vector interface
-        
-        size_type capacity() const
-        {
-            return this->base().capacity();
-        }
-        
-        void reserve( size_type n )
-        {
-            this->base().reserve( n ); 
-        }
-
-        void reverse()
-        {
-            this->base().reverse(); 
-        }
-
-    public: // assign, insert, transfer
-
-        // overhead: 1 heap allocation (very cheap compared to cloning)
-        template< class InputIterator >
-        void assign( InputIterator first, InputIterator last ) // strong
-        { 
-            base_type temp( first, last );
-            this->swap( temp );
-        }
-
-        template< class Range >
-        void assign( const Range& r ) // strong
-        {
-            assign( boost::begin(r), boost::end(r ) );
-        }
-
-    private:
-        template< class I >
-        void insert_impl( iterator before, I first, I last, std::input_iterator_tag ) // strong
-        {
-            ptr_sequence_adapter temp(first,last);  // strong
-            transfer( before, temp );               // strong, commit
-        }
-
-        template< class I >
-        void insert_impl( iterator before, I first, I last, std::forward_iterator_tag ) // strong
-        {
-            if( first == last ) 
-                return;
-            scoped_deleter sd( first, last );                // strong
-            this->insert_clones_and_release( sd, before );   // strong, commit 
-        }
-
-    public:
-
-        using base_type::insert;
-        
-        template< class InputIterator >
-        void insert( iterator before, InputIterator first, InputIterator last ) // strong
-        {
-            insert_impl( before, first, last, BOOST_DEDUCED_TYPENAME
-                         iterator_category<InputIterator>::type() );
-        } 
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#else
-        template< class Range >
-        BOOST_DEDUCED_TYPENAME
-        boost::disable_if< ptr_container_detail::is_pointer_or_integral<Range> >::type
-        insert( iterator before, const Range& r )
-        {
-            insert( before, boost::begin(r), boost::end(r) );
-        }
-
-#endif
-        
-        template< class PtrSeqAdapter >
-        void transfer( iterator before, 
-                       BOOST_DEDUCED_TYPENAME PtrSeqAdapter::iterator first, 
-                       BOOST_DEDUCED_TYPENAME PtrSeqAdapter::iterator last, 
-                       PtrSeqAdapter& from ) // strong
-        {
-            BOOST_ASSERT( (void*)&from != (void*)this );
-            if( from.empty() )
-                return;
-            this->base().
-                insert( before.base(), first.base(), last.base() ); // strong
-            from.base().erase( first.base(), last.base() );         // nothrow
-        }
-
-        template< class PtrSeqAdapter >
-        void transfer( iterator before, 
-                       BOOST_DEDUCED_TYPENAME PtrSeqAdapter::iterator object, 
-                       PtrSeqAdapter& from ) // strong
-        {
-            BOOST_ASSERT( (void*)&from != (void*)this );
-            if( from.empty() )
-                return;
-            this->base().insert( before.base(), *object.base() ); // strong 
-            from.base().erase( object.base() );                  // nothrow 
-        }
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#else
-        
-        template< class PtrSeqAdapter, class Range >
-        BOOST_DEDUCED_TYPENAME boost::disable_if< boost::is_same< Range,
-                      BOOST_DEDUCED_TYPENAME PtrSeqAdapter::iterator > >::type
-        transfer( iterator before, const Range& r, PtrSeqAdapter& from ) // strong
-        {
-            transfer( before, boost::begin(r), boost::end(r), from );
-        }
-
-#endif
-        template< class PtrSeqAdapter >
-        void transfer( iterator before, PtrSeqAdapter& from ) // strong
-        {
-            BOOST_ASSERT( (void*)&from != (void*)this );
-            if( from.empty() )
-                return;
-            this->base().
-                insert( before.base(),
-                        from.begin().base(), from.end().base() ); // strong
-            from.base().clear();                                  // nothrow
-        }
-
-    public: // C-array support
-    
-        void transfer( iterator before, value_type* from, 
-                       size_type size, bool delete_from = true ) // strong 
-        {
-            BOOST_ASSERT( from != 0 );
-            if( delete_from )
-            {
-                BOOST_DEDUCED_TYPENAME base_type::scoped_deleter 
-                    deleter( from, size );                                // nothrow
-                this->base().insert( before.base(), from, from + size );  // strong
-                deleter.release();                                        // nothrow
-            }
-            else
-            {
-                this->base().insert( before.base(), from, from + size ); // strong
-            }
-        }
-
-        value_type* c_array() // nothrow
-        {
-            if( this->empty() )
-                return 0;
-            T** res = reinterpret_cast<T**>( &this->begin().base()[0] );
-            return res;
-        }
-
-    public: // null functions
-         
-        bool is_null( size_type idx ) const
-        {
-            BOOST_ASSERT( idx < this->size() );
-            return this->base()[idx] == 0;
-        }
-
-    public: // resize
-
-        void resize( size_type size ) // basic
-        {
-            size_type old_size = this->size();
-            if( old_size > size )
-            {
-                this->erase( boost::next( this->begin(), size ), this->end() );  
-            }
-            else if( size > old_size )
-            {
-                for( ; old_size != size; ++old_size )
-                    this->push_back( new BOOST_DEDUCED_TYPENAME 
-                                     boost::remove_pointer<value_type>::type() ); 
-            }
-
-            BOOST_ASSERT( this->size() == size );
-        }
-
-        void resize( size_type size, value_type to_clone ) // basic
-        {
-            size_type old_size = this->size();
-            if( old_size > size )
-            {
-                this->erase( boost::next( this->begin(), size ), this->end() );  
-            }
-            else if( size > old_size )
-            {
-                for( ; old_size != size; ++old_size )
-                    this->push_back( this->null_policy_allocate_clone( to_clone ) ); 
-            }
-
-            BOOST_ASSERT( this->size() == size );        
-        }
-
-        void rresize( size_type size ) // basic
-        {
-            size_type old_size = this->size();
-            if( old_size > size )
-            {
-                this->erase( this->begin(), 
-                             boost::next( this->begin(), old_size - size ) );  
-            }
-            else if( size > old_size )
-            {
-                for( ; old_size != size; ++old_size )
-                    this->push_front( new BOOST_DEDUCED_TYPENAME 
-                                      boost::remove_pointer<value_type>::type() ); 
-            }
-
-            BOOST_ASSERT( this->size() == size );
-        }
-
-        void rresize( size_type size, value_type to_clone ) // basic
-        {
-            size_type old_size = this->size();
-            if( old_size > size )
-            {
-                this->erase( this->begin(), 
-                             boost::next( this->begin(), old_size - size ) );  
-            }
-            else if( size > old_size )
-            {
-                for( ; old_size != size; ++old_size )
-                    this->push_front( this->null_policy_allocate_clone( to_clone ) ); 
-            }
-
-            BOOST_ASSERT( this->size() == size );
-        }           
-                
-    public: // algorithms
-
-        void sort( iterator first, iterator last )
-        {
-            sort( first, last, std::less<T>() );
-        }
-        
-        void sort()
-        {
-            sort( this->begin(), this->end() );
-        }
-
-        template< class Compare >
-        void sort( iterator first, iterator last, Compare comp )
-        {
-            BOOST_ASSERT( first <= last && "out of range sort()" );
-            BOOST_ASSERT( this->begin() <= first && "out of range sort()" );
-            BOOST_ASSERT( last <= this->end() && "out of range sort()" ); 
-            // some static assert on the arguments of the comparison
-            std::sort( first.base(), last.base(), 
-                       void_ptr_indirect_fun<Compare,T>(comp) );
-        }
-        
-        template< class Compare >
-        void sort( Compare comp )
-        {
-            sort( this->begin(), this->end(), comp );
-        }
-        
-        void unique( iterator first, iterator last )
-        {
-            unique( first, last, std::equal_to<T>() );
-        }
-        
-        void unique()
-        {
-            unique( this->begin(), this->end() );
-        }
-
-    private:
-        struct is_not_zero_ptr
-        {
-            template< class U >
-            bool operator()( const U* r ) const
-            {
-                return r != 0;
-            }
-        };
-
-    protected:
-        template< class Fun, class Arg1 >
-        class void_ptr_delete_if 
-        {
-            Fun fun;
-        public:
-        
-            void_ptr_delete_if() : fun(Fun())
-            { }
-        
-            void_ptr_delete_if( Fun f ) : fun(f)
-            { }
-        
-            bool operator()( void* r ) const
-            {
-               BOOST_ASSERT( r != 0 );
-               Arg1 arg1 = static_cast<Arg1>(r);
-               if( fun( *arg1 ) )
-               { 
-                   clone_allocator_type::deallocate_clone( arg1 );
-                   return true;
-               }
-               return false;
-            }
-        };
-
-    private:
-        void compact_and_erase_nulls( iterator first, iterator last ) // nothrow
-        {
-            typename base_type::ptr_iterator p = std::stable_partition( 
-                                                    first.base(), 
-                                                    last.base(), 
-                                                    is_not_zero_ptr() );
-            this->base().erase( p, this->end().base() );
-            
-        }
-
-        void range_check_impl( iterator first, iterator last, 
-                               std::bidirectional_iterator_tag )
-        { /* do nothing */ }
-
-        void range_check_impl( iterator first, iterator last,
-                               std::random_access_iterator_tag )
-        {
-            BOOST_ASSERT( first <= last && "out of range unique()/erase_if()" );
-            BOOST_ASSERT( this->begin() <= first && "out of range unique()/erase_if()" );
-            BOOST_ASSERT( last <= this->end() && "out of range unique()/erase_if)(" );             
-        }
-        
-        void range_check( iterator first, iterator last )
-        {
-            range_check_impl( first, last, 
-                              BOOST_DEDUCED_TYPENAME iterator_category<iterator>::type() );
-        }
-        
-    public:
-        
-        template< class Compare >
-        void unique( iterator first, iterator last, Compare comp )
-        {
-            range_check(first,last);
-            
-            iterator prev = first;
-            iterator next = first;
-            ++next;
-            for( ; next != last; ++next )
-            {
-                BOOST_ASSERT( !::boost::is_null(prev) );
-                BOOST_ASSERT( !::boost::is_null(next) );
-                if( comp( *prev, *next ) )
-                {
-                    this->remove( next ); // delete object
-                    *next.base() = 0;     // mark pointer as deleted
-                }
-                else
-                {
-                    prev = next;
-                }
-                // ++next
-            }
-
-            compact_and_erase_nulls( first, last );
-        }
-        
-        template< class Compare >
-        void unique( Compare comp )
-        {
-            unique( this->begin(), this->end(), comp );
-        }
-
-        template< class Pred >
-        void erase_if( iterator first, iterator last, Pred pred )
-        {
-            range_check(first,last);
-            this->base().erase( std::remove_if( first.base(), last.base(), 
-                                                void_ptr_delete_if<Pred,value_type>(pred) ),
-                                last.base() );  
-        }
-        
-        template< class Pred >
-        void erase_if( Pred pred )
-        {
-            erase_if( this->begin(), this->end(), pred );
-        }
-
-
-        void merge( iterator first, iterator last, 
-                    ptr_sequence_adapter& from )
-        {
-             merge( first, last, from, std::less<T>() );
-        }
-        
-        template< class BinPred >
-        void merge( iterator first, iterator last, 
-                    ptr_sequence_adapter& from, BinPred pred )
-        {
-            void_ptr_indirect_fun<BinPred,T>  bin_pred(pred);
-            size_type                         current_size = this->size(); 
-            this->transfer( this->end(), first, last, from );
-            typename base_type::ptr_iterator middle = this->begin().base();
-            std::advance(middle,current_size); 
-            std::inplace_merge( this->begin().base(),
-                                middle,
-                                this->end().base(),
-                                bin_pred );
-        }
-        
-        void merge( ptr_sequence_adapter& r )
-        {
-            merge( r, std::less<T>() );
-            BOOST_ASSERT( r.empty() );
-        }
-        
-        template< class BinPred >
-        void merge( ptr_sequence_adapter& r, BinPred pred )
-        {
-            merge( r.begin(), r.end(), r, pred );
-            BOOST_ASSERT( r.empty() );    
-        }
-        
-    };
-
-
-} // namespace 'boost'  
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_set.hpp b/SRC/Boost/boost/ptr_container/ptr_set.hpp
deleted file mode 100755
index 187e10c..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_set.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_PTR_SET_HPP
-#define BOOST_PTR_CONTAINER_PTR_SET_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/ptr_container/indirect_fun.hpp>
-#include <boost/ptr_container/ptr_set_adapter.hpp>
-#include <set>
-
-namespace boost
-{
-
-    template
-    < 
-        class Key, 
-        class Compare        = std::less<Key>,
-        class CloneAllocator = heap_clone_allocator,
-        class Allocator      = std::allocator<void*>
-    >
-    class ptr_set : 
-        public ptr_set_adapter< Key, 
-                                std::set<void*,void_ptr_indirect_fun<Compare,Key>,Allocator>,
-                                CloneAllocator, true >
-    {
-        typedef ptr_set_adapter< Key, std::set<void*,void_ptr_indirect_fun<Compare,Key>,Allocator>,
-                                 CloneAllocator, true >
-             base_type;
-
-        typedef ptr_set<Key,Compare,CloneAllocator,Allocator> this_type;
-        
-    public:
-        ptr_set()
-        { }
-        
-        explicit ptr_set( const Compare& comp,
-                          const Allocator& a = Allocator() ) 
-         : base_type( comp, a ) 
-        { }
-
-        template< typename InputIterator >
-        ptr_set( InputIterator first, InputIterator last )
-         : base_type( first, last )
-        { }
-
-        template< typename InputIterator >
-        ptr_set( InputIterator first, InputIterator last, 
-                 const Compare& comp,
-                 const Allocator& a = Allocator() ) 
-         : base_type( first, last, comp, a )
-        { }
-
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_set,
-                                                      base_type,
-                                                      this_type )
-        
-        BOOST_PTR_CONTAINER_DEFINE_COPY_CONSTRUCTORS( ptr_set, base_type )
-                
-    };
-        
-        
-        
-    template
-    < 
-        class Key, 
-        class Compare        = std::less<Key>,
-        class CloneAllocator = heap_clone_allocator,
-        class Allocator      = std::allocator<void*>
-    >
-    class ptr_multiset : 
-        public ptr_multiset_adapter< Key,
-                                     std::multiset<void*,void_ptr_indirect_fun<Compare,Key>,Allocator>,
-                                     CloneAllocator, true >
-    {
-        typedef ptr_multiset_adapter< Key,
-                                      std::multiset<void*,void_ptr_indirect_fun<Compare,Key>,Allocator>,
-                                      CloneAllocator, true >
-              base_type;
-        typedef ptr_multiset<Key,Compare,CloneAllocator,Allocator> this_type;
-        
-    public:
-        ptr_multiset()
-        { }
-        
-        explicit ptr_multiset( const Compare& comp,
-                               const Allocator& a    = Allocator() )
-         : base_type( comp, a ) 
-        { }
-
-        template< typename InputIterator >
-        ptr_multiset( InputIterator first, InputIterator last )
-         : base_type( first, last )
-        { }
-
-        template< typename InputIterator >
-        ptr_multiset( InputIterator first, InputIterator last,
-                      const Compare& comp,
-                      const Allocator& a  = Allocator() )
-         : base_type( first, last, comp, a ) 
-        { }
-
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_multiset, 
-                                                      base_type,
-                                                      this_type )
-        
-        BOOST_PTR_CONTAINER_DEFINE_COPY_CONSTRUCTORS( ptr_multiset, 
-                                                      base_type )     
-
-    };
-
-    /////////////////////////////////////////////////////////////////////////
-    // clonability
-
-    template< typename K, typename C, typename CA, typename A >
-    inline ptr_set<K,C,CA,A>* new_clone( const ptr_set<K,C,CA,A>& r )
-    {
-        return r.clone().release();
-    }
-
-    template< typename K, typename C, typename CA, typename A >
-    inline ptr_multiset<K,C,CA,A>* new_clone( const ptr_multiset<K,C,CA,A>& r )
-    {
-        return r.clone().release();
-    }
-    
-    /////////////////////////////////////////////////////////////////////////
-    // swap
-
-    template< typename K, typename C, typename CA, typename A >
-    inline void swap( ptr_set<K,C,CA,A>& l, ptr_set<K,C,CA,A>& r )
-    {
-        l.swap(r);
-    }
-
-    template< typename K, typename C, typename CA, typename A >
-    inline void swap( ptr_multiset<K,C,CA,A>& l, ptr_multiset<K,C,CA,A>& r )
-    {
-        l.swap(r);
-    }
-
-}
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_set_adapter.hpp b/SRC/Boost/boost/ptr_container/ptr_set_adapter.hpp
deleted file mode 100755
index 3ea9669..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_set_adapter.hpp
+++ /dev/null
@@ -1,692 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_PTR_SET_ADAPTER_HPP
-#define BOOST_PTR_CONTAINER_PTR_SET_ADAPTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/ptr_container/detail/associative_ptr_container.hpp>
-#include <boost/ptr_container/detail/meta_functions.hpp>
-#include <boost/ptr_container/detail/void_ptr_iterator.hpp>
-#include <boost/range/iterator_range.hpp>
-
-namespace boost
-{
-namespace ptr_container_detail
-{
-    template
-    < 
-        class Key,
-        class VoidPtrSet,
-        bool  Ordered
-    >
-    struct set_config
-    {
-       typedef VoidPtrSet 
-                    void_container_type;
-
-       typedef BOOST_DEDUCED_TYPENAME VoidPtrSet::allocator_type 
-                    allocator_type;
-
-       typedef Key  value_type;
-
-       typedef value_type 
-                    key_type;
-
-       typedef BOOST_DEDUCED_TYPENAME 
-           mpl::eval_if_c<Ordered, 
-                          select_value_compare<VoidPtrSet>, 
-                          mpl::identity<void> >::type
-                    value_compare;
-
-       typedef value_compare 
-                    key_compare;
-
-       typedef BOOST_DEDUCED_TYPENAME 
-           mpl::eval_if_c<Ordered,
-                          mpl::identity<void>,
-                          select_hasher<VoidPtrSet> >::type
-                    hasher;
-
-       typedef BOOST_DEDUCED_TYPENAME 
-           mpl::eval_if_c<Ordered,
-                          mpl::identity<void>,
-                          select_key_equal<VoidPtrSet> >::type
-                    key_equal;
-
-       typedef BOOST_DEDUCED_TYPENAME 
-           mpl::if_c<Ordered,
-                     ordered_associative_container_tag,
-                     unordered_associative_container_tag>::type
-                    container_type;
-
-       typedef void_ptr_iterator<
-                       BOOST_DEDUCED_TYPENAME VoidPtrSet::iterator, Key > 
-                    iterator;
-
-       typedef void_ptr_iterator<
-                        BOOST_DEDUCED_TYPENAME VoidPtrSet::const_iterator, const Key >
-                    const_iterator;
-
-       typedef void_ptr_iterator<
-           BOOST_DEDUCED_TYPENAME 
-             mpl::eval_if_c<Ordered, 
-                            select_iterator<VoidPtrSet>,
-                            select_local_iterator<VoidPtrSet> >::type,
-             Key >
-                    local_iterator;
-
-       typedef void_ptr_iterator<
-           BOOST_DEDUCED_TYPENAME 
-             mpl::eval_if_c<Ordered, 
-                            select_iterator<VoidPtrSet>,
-                            select_const_local_iterator<VoidPtrSet> >::type,
-             const Key >
-                    const_local_iterator;           
-       
-       template< class Iter >
-       static Key* get_pointer( Iter i )
-       {
-           return static_cast<Key*>( *i.base() );
-       }
-
-       template< class Iter >
-       static const Key* get_const_pointer( Iter i )
-       {
-           return static_cast<const Key*>( *i.base() );
-       }
-
-       BOOST_STATIC_CONSTANT(bool, allow_null = false );
-    };
-
- 
-    
-    template
-    < 
-        class Key,
-        class VoidPtrSet, 
-        class CloneAllocator = heap_clone_allocator,
-        bool  Ordered        = true
-    >
-    class ptr_set_adapter_base 
-        : public ptr_container_detail::associative_ptr_container< set_config<Key,VoidPtrSet,Ordered>,
-                                                      CloneAllocator >
-    {
-        typedef ptr_container_detail::associative_ptr_container< set_config<Key,VoidPtrSet,Ordered>,
-                                                     CloneAllocator >
-              base_type;
-    public:  
-        typedef BOOST_DEDUCED_TYPENAME base_type::iterator 
-                      iterator;
-        typedef BOOST_DEDUCED_TYPENAME base_type::const_iterator 
-                      const_iterator;
-        typedef Key   key_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::size_type
-                      size_type;
-
-    public:
-        ptr_set_adapter_base() 
-        { }
-
-        template< class SizeType >
-        ptr_set_adapter_base( SizeType n, 
-                              ptr_container_detail::unordered_associative_container_tag tag )
-          : base_type( n, tag )
-        { }
-                
-        template< class Compare, class Allocator >
-        ptr_set_adapter_base( const Compare& comp,
-                              const Allocator& a ) 
-         : base_type( comp, a ) 
-        { }
-
-        template< class Hash, class Pred, class Allocator >
-        ptr_set_adapter_base( const Hash& hash,
-                              const Pred& pred,
-                              const Allocator& a )
-         : base_type( hash, pred, a )
-        { }
-
-        template< class InputIterator, class Compare, class Allocator >
-        ptr_set_adapter_base( InputIterator first, InputIterator last,
-                              const Compare& comp,
-                              const Allocator& a ) 
-         : base_type( first, last, comp, a ) 
-        { }
-
-        template< class InputIterator, class Hash, class Pred, class Allocator >
-        ptr_set_adapter_base( InputIterator first, InputIterator last,
-                              const Hash& hash,
-                              const Pred& pred,
-                              const Allocator& a )
-         : base_type( first, last, hash, pred, a )
-        { }
-               
-        template< class U, class Set, class CA, bool b >
-        ptr_set_adapter_base( const ptr_set_adapter_base<U,Set,CA,b>& r )
-          : base_type( r )
-        { }
-
-        ptr_set_adapter_base( const ptr_set_adapter_base& r )
-          : base_type( r )
-        { }
-                
-        template< class PtrContainer >
-        explicit ptr_set_adapter_base( std::auto_ptr<PtrContainer> clone )
-         : base_type( clone )
-        { }
-        
-        ptr_set_adapter_base& operator=( ptr_set_adapter_base r ) 
-        {
-            this->swap( r );
-            return *this;
-        }
-        
-        template< typename PtrContainer >
-        ptr_set_adapter_base& operator=( std::auto_ptr<PtrContainer> clone )    
-        {
-            base_type::operator=( clone );
-            return *this;
-        }
-
-        using base_type::erase;
-        
-        size_type erase( const key_type& x ) // nothrow
-        {
-            key_type* key = const_cast<key_type*>(&x);
-            iterator i( this->base().find( key ) );       
-            if( i == this->end() )                                  // nothrow
-                return 0u;                                          // nothrow
-            key = static_cast<key_type*>(*i.base());                // nothrow
-            size_type res = this->base().erase( key );              // nothrow 
-            this->remove( key );                                    // nothrow
-            return res;
-        }
-
-
-        iterator find( const key_type& x )                                                
-        {                                                                            
-            return iterator( this->base().
-                             find( const_cast<key_type*>(&x) ) );            
-        }                                                                            
-
-        const_iterator find( const key_type& x ) const                                    
-        {                                                                            
-            return const_iterator( this->base().
-                                   find( const_cast<key_type*>(&x) ) );                  
-        }                                                                            
-
-        size_type count( const key_type& x ) const                                        
-        {                                                                            
-            return this->base().count( const_cast<key_type*>(&x) );                      
-        }                                                                            
-                                                                                     
-        iterator lower_bound( const key_type& x )                                         
-        {                                                                            
-            return iterator( this->base().
-                             lower_bound( const_cast<key_type*>(&x) ) );                   
-        }                                                                            
-                                                                                     
-        const_iterator lower_bound( const key_type& x ) const                             
-        {                                                                            
-            return const_iterator( this->base().
-                                   lower_bound( const_cast<key_type*>(&x) ) );       
-        }                                                                            
-                                                                                     
-        iterator upper_bound( const key_type& x )                                         
-        {                                                                            
-            return iterator( this->base().
-                             upper_bound( const_cast<key_type*>(&x) ) );           
-        }                                                                            
-                                                                                     
-        const_iterator upper_bound( const key_type& x ) const                             
-        {                                                                            
-            return const_iterator( this->base().
-                                   upper_bound( const_cast<key_type*>(&x) ) );             
-        }                                                                            
-                                                                                     
-        iterator_range<iterator> equal_range( const key_type& x )                    
-        {                                                                            
-            std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_iterator,
-                      BOOST_DEDUCED_TYPENAME base_type::ptr_iterator> 
-                p = this->base().
-                equal_range( const_cast<key_type*>(&x) );   
-            return make_iterator_range( iterator( p.first ), 
-                                        iterator( p.second ) );      
-        }                                                                            
-                                                                                     
-        iterator_range<const_iterator> equal_range( const key_type& x ) const  
-        {                                                                            
-            std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_const_iterator,
-                      BOOST_DEDUCED_TYPENAME base_type::ptr_const_iterator> 
-                p = this->base().
-                equal_range( const_cast<key_type*>(&x) ); 
-            return make_iterator_range( const_iterator( p.first ), 
-                                        const_iterator( p.second ) );    
-        }    
-
-    protected:
-        size_type bucket( const key_type& key ) const
-        {
-            return this->base().bucket( const_cast<key_type*>(&key) );
-        }
-    };
-
-} // ptr_container_detail
-
-    /////////////////////////////////////////////////////////////////////////
-    // ptr_set_adapter
-    /////////////////////////////////////////////////////////////////////////
-  
-    template
-    <
-        class Key,
-        class VoidPtrSet, 
-        class CloneAllocator = heap_clone_allocator,
-        bool  Ordered        = true
-    >
-    class ptr_set_adapter : 
-        public ptr_container_detail::ptr_set_adapter_base<Key,VoidPtrSet,CloneAllocator,Ordered>
-    {
-        typedef ptr_container_detail::ptr_set_adapter_base<Key,VoidPtrSet,CloneAllocator,Ordered> 
-            base_type;
-    
-    public: // typedefs
-       
-        typedef BOOST_DEDUCED_TYPENAME base_type::iterator
-                     iterator;                 
-        typedef BOOST_DEDUCED_TYPENAME base_type::const_iterator
-                     const_iterator;                 
-        typedef BOOST_DEDUCED_TYPENAME base_type::size_type
-                     size_type;    
-        typedef Key  key_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::auto_type
-                     auto_type;
-        typedef BOOST_DEDUCED_TYPENAME VoidPtrSet::allocator_type
-                     allocator_type;        
-    private:
-        
-        template< typename II >                                               
-        void set_basic_clone_and_insert( II first, II last ) // basic                 
-        {                                                                     
-            while( first != last )                                            
-            {           
-                if( this->find( *first ) == this->end() )
-                    insert( CloneAllocator::allocate_clone( *first ) ); // strong, commit
-                ++first;                                                      
-            }                                                                 
-        }                         
-
-    public:
-        ptr_set_adapter()
-        { }
-
-        template< class SizeType >
-        ptr_set_adapter( SizeType n, 
-                         ptr_container_detail::unordered_associative_container_tag tag )
-          : base_type( n, tag )
-        { }
-        
-        template< class Comp >
-        explicit ptr_set_adapter( const Comp& comp,
-                                  const allocator_type& a ) 
-          : base_type( comp, a ) 
-        {
-            BOOST_ASSERT( this->empty() ); 
-        }
-
-        template< class Hash, class Pred, class Allocator >
-        ptr_set_adapter( const Hash& hash,
-                         const Pred& pred,
-                         const Allocator& a )
-         : base_type( hash, pred, a )
-        { }
-
-        template< class InputIterator >
-        ptr_set_adapter( InputIterator first, InputIterator last )
-         : base_type( first, last )
-        { }
-
-        template< class InputIterator, class Compare, class Allocator >
-        ptr_set_adapter( InputIterator first, InputIterator last, 
-                         const Compare& comp,
-                         const Allocator a = Allocator() )
-          : base_type( comp, a )
-        {
-            BOOST_ASSERT( this->empty() );
-            set_basic_clone_and_insert( first, last );
-        }
-
-        template< class InputIterator, class Hash, class Pred, class Allocator >
-        ptr_set_adapter( InputIterator first, InputIterator last,
-                         const Hash& hash,
-                         const Pred& pred,
-                         const Allocator& a )
-          : base_type( first, last, hash, pred, a )
-        { }
-
-        explicit ptr_set_adapter( const ptr_set_adapter& r )
-          : base_type( r )
-        { }
-
-        template< class U, class Set, class CA, bool b >
-        explicit ptr_set_adapter( const ptr_set_adapter<U,Set,CA,b>& r )
-          : base_type( r )
-        { }
-        
-        template< class PtrContainer >
-        explicit ptr_set_adapter( std::auto_ptr<PtrContainer> clone )
-         : base_type( clone )
-        { }
-
-        template< class U, class Set, class CA, bool b >
-        ptr_set_adapter& operator=( const ptr_set_adapter<U,Set,CA,b>& r ) 
-        {
-            base_type::operator=( r );
-            return *this;
-        }
-
-        template< class T >
-        void operator=( std::auto_ptr<T> r ) 
-        {
-            base_type::operator=( r );
-        }
-
-        std::pair<iterator,bool> insert( key_type* x ) // strong                      
-        {       
-            this->enforce_null_policy( x, "Null pointer in 'ptr_set::insert()'" );
-            
-            auto_type ptr( x );                                
-            std::pair<BOOST_DEDUCED_TYPENAME base_type::ptr_iterator,bool>
-                 res = this->base().insert( x );       
-            if( res.second )                                                 
-                ptr.release();                                                  
-            return std::make_pair( iterator( res.first ), res.second );     
-        }
-
-        template< class U >
-        std::pair<iterator,bool> insert( std::auto_ptr<U> x )
-        {
-            return insert( x.release() );
-        }
-
-        
-        iterator insert( iterator where, key_type* x ) // strong
-        {
-            this->enforce_null_policy( x, "Null pointer in 'ptr_set::insert()'" );
-
-            auto_type ptr( x );                                
-            BOOST_DEDUCED_TYPENAME base_type::ptr_iterator 
-                res = this->base().insert( where.base(), x );
-            if( *res == x )                                                 
-                ptr.release();                                                  
-            return iterator( res);
-        }
-
-        template< class U >
-        iterator insert( iterator where, std::auto_ptr<U> x )
-        {
-            return insert( where, x.release() );
-        }
-        
-        template< typename InputIterator >
-        void insert( InputIterator first, InputIterator last ) // basic
-        {
-            set_basic_clone_and_insert( first, last );
-        }
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#else    
-        
-        template< class Range >
-        BOOST_DEDUCED_TYPENAME
-        boost::disable_if< ptr_container_detail::is_pointer_or_integral<Range> >::type
-        insert( const Range& r )
-        {
-            insert( boost::begin(r), boost::end(r) );
-        }
-
-#endif        
-
-        template< class PtrSetAdapter >
-        bool transfer( BOOST_DEDUCED_TYPENAME PtrSetAdapter::iterator object, 
-                       PtrSetAdapter& from ) // strong
-        {
-            return this->single_transfer( object, from );
-        }
-
-        template< class PtrSetAdapter >
-        size_type 
-        transfer( BOOST_DEDUCED_TYPENAME PtrSetAdapter::iterator first, 
-                  BOOST_DEDUCED_TYPENAME PtrSetAdapter::iterator last, 
-                  PtrSetAdapter& from ) // basic
-        {
-            return this->single_transfer( first, last, from );
-        }
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#else    
-
-        template< class PtrSetAdapter, class Range >
-        BOOST_DEDUCED_TYPENAME boost::disable_if< boost::is_same< Range,
-                            BOOST_DEDUCED_TYPENAME PtrSetAdapter::iterator >,
-                                                            size_type >::type
-        transfer( const Range& r, PtrSetAdapter& from ) // basic
-        {
-            return transfer( boost::begin(r), boost::end(r), from );
-        }
-
-#endif
-
-        template< class PtrSetAdapter >
-        size_type transfer( PtrSetAdapter& from ) // basic
-        {
-            return transfer( from.begin(), from.end(), from );
-        }
-
-    };
-    
-    /////////////////////////////////////////////////////////////////////////
-    // ptr_multiset_adapter
-    /////////////////////////////////////////////////////////////////////////
-
-    template
-    < 
-        class Key,
-        class VoidPtrMultiSet, 
-        class CloneAllocator = heap_clone_allocator,
-        bool Ordered         = true 
-    >
-    class ptr_multiset_adapter : 
-        public ptr_container_detail::ptr_set_adapter_base<Key,VoidPtrMultiSet,CloneAllocator,Ordered>
-    {
-         typedef ptr_container_detail::ptr_set_adapter_base<Key,VoidPtrMultiSet,CloneAllocator,Ordered> base_type;
-    
-    public: // typedefs
-    
-        typedef BOOST_DEDUCED_TYPENAME base_type::iterator   
-                       iterator;          
-        typedef BOOST_DEDUCED_TYPENAME base_type::size_type
-                       size_type;
-        typedef Key    key_type;
-        typedef BOOST_DEDUCED_TYPENAME base_type::auto_type
-                       auto_type;
-        typedef BOOST_DEDUCED_TYPENAME VoidPtrMultiSet::allocator_type
-                       allocator_type;        
-    private:
-        template< typename II >                                               
-        void set_basic_clone_and_insert( II first, II last ) // basic                 
-        {               
-            while( first != last )                                            
-            {           
-                insert( CloneAllocator::allocate_clone( *first ) ); // strong, commit                              
-                ++first;                                                     
-            }                                                                 
-        }                         
-    
-    public:
-        ptr_multiset_adapter()
-        { }
-
-        template< class SizeType >
-        ptr_multiset_adapter( SizeType n, 
-                              ptr_container_detail::unordered_associative_container_tag tag )
-          : base_type( n, tag )
-        { }
-
-        template< class Comp >
-        explicit ptr_multiset_adapter( const Comp& comp,
-                                       const allocator_type& a )
-        : base_type( comp, a ) 
-        { }
-
-        template< class Hash, class Pred, class Allocator >
-        ptr_multiset_adapter( const Hash& hash,
-                              const Pred& pred,
-                              const Allocator& a )
-         : base_type( hash, pred, a )
-        { }
-
-        template< class InputIterator >
-        ptr_multiset_adapter( InputIterator first, InputIterator last )
-         : base_type( first, last )
-        { }
-        
-        template< class InputIterator, class Comp >
-        ptr_multiset_adapter( InputIterator first, InputIterator last,
-                              const Comp& comp,
-                              const allocator_type& a = allocator_type() )
-        : base_type( comp, a ) 
-        {
-            set_basic_clone_and_insert( first, last );
-        }
-
-        template< class InputIterator, class Hash, class Pred, class Allocator >
-        ptr_multiset_adapter( InputIterator first, InputIterator last,
-                              const Hash& hash,
-                              const Pred& pred,
-                              const Allocator& a )
-         : base_type( first, last, hash, pred, a )
-        { }
-                
-        template< class U, class Set, class CA, bool b >
-        explicit ptr_multiset_adapter( const ptr_multiset_adapter<U,Set,CA,b>& r )
-          : base_type( r )
-        { }
-        
-        template< class PtrContainer >
-        explicit ptr_multiset_adapter( std::auto_ptr<PtrContainer> clone )
-         : base_type( clone )
-        { }
-
-        template< class U, class Set, class CA, bool b >
-        ptr_multiset_adapter& operator=( const ptr_multiset_adapter<U,Set,CA,b>& r ) 
-        {
-            base_type::operator=( r );
-            return *this;
-        }
-        
-        template< class T >
-        void operator=( std::auto_ptr<T> r ) 
-        {
-            base_type::operator=( r ); 
-        }
-
-        iterator insert( iterator before, key_type* x ) // strong  
-        {
-            return base_type::insert( before, x ); 
-        } 
-
-        template< class U >
-        iterator insert( iterator before, std::auto_ptr<U> x )
-        {
-            return insert( before, x.release() );
-        }
-    
-        iterator insert( key_type* x ) // strong                                      
-        {   
-            this->enforce_null_policy( x, "Null pointer in 'ptr_multiset::insert()'" );
-    
-            auto_type ptr( x );                                
-            BOOST_DEDUCED_TYPENAME base_type::ptr_iterator
-                 res = this->base().insert( x );                         
-            ptr.release();                                                      
-            return iterator( res );                                             
-        }
-
-        template< class U >
-        iterator insert( std::auto_ptr<U> x )
-        {
-            return insert( x.release() );
-        }
-    
-        template< typename InputIterator >
-        void insert( InputIterator first, InputIterator last ) // basic
-        {
-            set_basic_clone_and_insert( first, last );
-        }
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#else    
-        
-        template< class Range >
-        BOOST_DEDUCED_TYPENAME
-        boost::disable_if< ptr_container_detail::is_pointer_or_integral<Range> >::type
-        insert( const Range& r )
-        {
-            insert( boost::begin(r), boost::end(r) );
-        }
-
-#endif
-
-        template< class PtrSetAdapter >
-        void transfer( BOOST_DEDUCED_TYPENAME PtrSetAdapter::iterator object, 
-                       PtrSetAdapter& from ) // strong
-        {
-            this->multi_transfer( object, from );
-        }
-
-        template< class PtrSetAdapter >
-        size_type transfer( BOOST_DEDUCED_TYPENAME PtrSetAdapter::iterator first, 
-                            BOOST_DEDUCED_TYPENAME PtrSetAdapter::iterator last, 
-                            PtrSetAdapter& from ) // basic
-        {
-            return this->multi_transfer( first, last, from );
-        }
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#else    
-        
-        template< class PtrSetAdapter, class Range >
-        BOOST_DEDUCED_TYPENAME boost::disable_if< boost::is_same< Range,
-                       BOOST_DEDUCED_TYPENAME PtrSetAdapter::iterator >, size_type >::type
-        transfer(  const Range& r, PtrSetAdapter& from ) // basic
-        {
-            return transfer( boost::begin(r), boost::end(r), from );
-        }
-
-#endif        
-
-        template< class PtrSetAdapter >
-        void transfer( PtrSetAdapter& from ) // basic
-        {
-            transfer( from.begin(), from.end(), from );
-            BOOST_ASSERT( from.empty() );
-        }
-        
-    };
-
-} // namespace 'boost'  
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_unordered_map.hpp b/SRC/Boost/boost/ptr_container/ptr_unordered_map.hpp
deleted file mode 100755
index c8434f7..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_unordered_map.hpp
+++ /dev/null
@@ -1,248 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2008. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_PTR_UNORDERED_MAP_HPP
-#define BOOST_PTR_CONTAINER_PTR_UNORDERED_MAP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/unordered_map.hpp>
-#include <boost/ptr_container/ptr_map_adapter.hpp>
-
-namespace boost
-{
-    
-    template
-    < 
-        class Key, 
-        class T, 
-        class Hash           = boost::hash<Key>,
-        class Pred           = std::equal_to<Key>,
-        class CloneAllocator = heap_clone_allocator,
-        class Allocator      = std::allocator< std::pair<const Key,void*> >
-    >
-    class ptr_unordered_map : 
-        public ptr_map_adapter<T,boost::unordered_map<Key,void*,Hash,Pred,Allocator>,
-                               CloneAllocator,false>
-    {
-        typedef ptr_map_adapter<T,boost::unordered_map<Key,void*,Hash,Pred,Allocator>,
-                               CloneAllocator,false>
-            base_type;
-
-        typedef ptr_unordered_map<Key,T,Hash,Pred,CloneAllocator,Allocator> this_type;
-
-    public:
-        typedef typename base_type::size_type size_type;
-        
-    private:
-        using base_type::lower_bound;
-        using base_type::upper_bound;
-        using base_type::rbegin;
-        using base_type::rend;
-        using base_type::crbegin;
-        using base_type::crend;
-        using base_type::key_comp;
-        using base_type::value_comp;
-        using base_type::front;
-        using base_type::back;
-        
-    public:
-        using base_type::begin;
-        using base_type::end;
-        using base_type::cbegin;
-        using base_type::cend;
-        using base_type::bucket_count;
-        using base_type::max_bucket_count;
-        using base_type::bucket_size;
-        using base_type::bucket;
-        using base_type::load_factor;
-        using base_type::max_load_factor;
-        using base_type::rehash;
-        using base_type::key_eq;
-        using base_type::hash_function;
-        
-    public:
-        ptr_unordered_map()
-        { }
-
-        explicit ptr_unordered_map( size_type n )
-        : base_type( n, ptr_container_detail::unordered_associative_container_tag() )
-        { }
-        
-        ptr_unordered_map( size_type n,
-                           const Hash& comp,
-                           const Pred& pred   = Pred(),                                         
-                           const Allocator& a = Allocator() )
-         : base_type( n, comp, pred, a ) 
-        { }
-
-        template< typename InputIterator >
-        ptr_unordered_map( InputIterator first, InputIterator last )
-         : base_type( first, last )
-        { }
-        
-        template< typename InputIterator >
-        ptr_unordered_map( InputIterator first, InputIterator last,
-                           const Hash& comp,
-                           const Pred& pred   = Pred(),
-                           const Allocator& a = Allocator() )
-         : base_type( first, last, comp, pred, a ) 
-        { }
-
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_unordered_map, 
-                                                      base_type, 
-                                                      this_type )
-
-        template< class U >
-        ptr_unordered_map( const ptr_unordered_map<Key,U>& r ) : base_type( r )
-        { }
-
-        ptr_unordered_map& operator=( ptr_unordered_map r )
-        {
-            this->swap( r );
-            return *this;
-        }
-    };
-    
-
-
-    template
-    < 
-        class Key, 
-        class T, 
-        class Hash           = boost::hash<Key>,
-        class Pred           = std::equal_to<Key>,
-        class CloneAllocator = heap_clone_allocator,
-        class Allocator      = std::allocator< std::pair<const Key,void*> >
-    >
-    class ptr_unordered_multimap : 
-        public ptr_multimap_adapter<T,boost::unordered_multimap<Key,void*,Hash,Pred,Allocator>,
-                                    CloneAllocator,false>
-    {
-        typedef ptr_multimap_adapter<T,boost::unordered_multimap<Key,void*,Hash,Pred,Allocator>,
-                                     CloneAllocator,false>
-            base_type;
-
-        typedef ptr_unordered_multimap<Key,T,Hash,Pred,CloneAllocator,Allocator> this_type;
-
-    public:
-        typedef typename base_type::size_type size_type;
-        
-    private:
-        using base_type::lower_bound;
-        using base_type::upper_bound;
-        using base_type::rbegin;
-        using base_type::rend;
-        using base_type::crbegin;
-        using base_type::crend;
-        using base_type::key_comp;
-        using base_type::value_comp;
-        using base_type::front;
-        using base_type::back;
-        
-    public:
-        using base_type::begin;
-        using base_type::end;
-        using base_type::cbegin;
-        using base_type::cend;
-        using base_type::bucket_count;
-        using base_type::max_bucket_count;
-        using base_type::bucket_size;
-        using base_type::bucket;
-        using base_type::load_factor;
-        using base_type::max_load_factor;
-        using base_type::rehash;
-        using base_type::key_eq;
-        using base_type::hash_function;
-        
-    public:
-        ptr_unordered_multimap()
-        { }
-
-        explicit ptr_unordered_multimap( size_type n )
-        : base_type( n, ptr_container_detail::unordered_associative_container_tag() )
-        { }
-        
-        ptr_unordered_multimap( size_type n,
-                                const Hash& comp,
-                                const Pred& pred   = Pred(),                                         
-                                const Allocator& a = Allocator() )
-         : base_type( n, comp, pred, a ) 
-        { }
-
-        template< typename InputIterator >
-        ptr_unordered_multimap( InputIterator first, InputIterator last )
-         : base_type( first, last )
-        { }
-        
-        template< typename InputIterator >
-        ptr_unordered_multimap( InputIterator first, InputIterator last,
-                                const Hash& comp,
-                                const Pred& pred   = Pred(),
-                                const Allocator& a = Allocator() )
-         : base_type( first, last, comp, pred, a ) 
-        { }
-
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_unordered_multimap, 
-                                                      base_type, 
-                                                      this_type )
-
-        template< class U >
-        ptr_unordered_multimap( const ptr_unordered_multimap<Key,U>& r ) : base_type( r )
-        { }
-
-        ptr_unordered_multimap& operator=( ptr_unordered_multimap r )
-        {
-            this->swap( r );
-            return *this;
-        }
-    };
-    
-    //////////////////////////////////////////////////////////////////////////////
-    // clonability
-
-    template< class K, class T, class H, class P, class CA, class A >
-    inline ptr_unordered_map<K,T,H,P,CA,A>* 
-    new_clone( const ptr_unordered_map<K,T,H,P,CA,A>& r )
-    {
-        return r.clone().release();
-    }
-
-    template< class K, class T, class H, class P, class CA, class A >
-    inline ptr_unordered_multimap<K,T,H,P,CA,A>* 
-    new_clone( const ptr_unordered_multimap<K,T,H,P,CA,A>& r )
-    {
-        return r.clone().release();
-    }
-
-    /////////////////////////////////////////////////////////////////////////
-    // swap
-
-    template< class K, class T, class H, class P, class CA, class A >
-    inline void swap( ptr_unordered_map<K,T,H,P,CA,A>& l, 
-                      ptr_unordered_map<K,T,H,P,CA,A>& r )
-    {
-        l.swap(r);
-    }
-
-    template< class K, class T, class H, class P, class CA, class A >
-    inline void swap( ptr_unordered_multimap<K,T,H,P,CA,A>& l, 
-                      ptr_unordered_multimap<K,T,H,P,CA,A>& r )
-    {
-        l.swap(r);
-    }
-
-
-}
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_unordered_set.hpp b/SRC/Boost/boost/ptr_container/ptr_unordered_set.hpp
deleted file mode 100755
index cf1b1a6..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_unordered_set.hpp
+++ /dev/null
@@ -1,240 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2008. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_PTR_UNORDERED_SET_HPP
-#define BOOST_PTR_CONTAINER_PTR_UNORDERED_SET_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/ptr_container/indirect_fun.hpp>
-#include <boost/ptr_container/ptr_set_adapter.hpp>
-#include <boost/unordered_set.hpp>
-
-namespace boost
-{
-
-    template
-    < 
-        class Key, 
-        class Hash           = boost::hash<Key>,
-        class Pred           = std::equal_to<Key>,
-        class CloneAllocator = heap_clone_allocator,
-        class Allocator      = std::allocator<void*>
-    >
-    class ptr_unordered_set : 
-        public ptr_set_adapter< Key, 
-                                boost::unordered_set<void*,void_ptr_indirect_fun<Hash,Key>,
-                                                     void_ptr_indirect_fun<Pred,Key>,Allocator>,
-                                CloneAllocator, false >
-    {
-        typedef ptr_set_adapter< Key, 
-                                 boost::unordered_set<void*,void_ptr_indirect_fun<Hash,Key>,
-                                 void_ptr_indirect_fun<Pred,Key>,Allocator>,
-                                 CloneAllocator, false >
-             base_type;
-
-        typedef ptr_unordered_set<Key,Hash,Pred,CloneAllocator,Allocator> this_type;
-
-    public:
-        typedef typename base_type::size_type size_type;
-
-    private:
-        using base_type::lower_bound;
-        using base_type::upper_bound;
-        using base_type::rbegin;
-        using base_type::rend;
-        using base_type::crbegin;
-        using base_type::crend;
-        using base_type::key_comp;
-        using base_type::value_comp;
-        using base_type::front;
-        using base_type::back;
-        
-    public:
-        using base_type::begin;
-        using base_type::end;
-        using base_type::cbegin;
-        using base_type::cend;
-        using base_type::bucket_count;
-        using base_type::max_bucket_count;
-        using base_type::bucket_size;
-        using base_type::bucket;
-        using base_type::load_factor;
-        using base_type::max_load_factor;
-        using base_type::rehash;
-        using base_type::key_eq;
-        using base_type::hash_function;
-        
-    public:
-        ptr_unordered_set()
-        {}
-
-        explicit ptr_unordered_set( size_type n )
-        : base_type( n, ptr_container_detail::unordered_associative_container_tag() )
-        { }
-        
-        ptr_unordered_set( size_type n,
-                           const Hash& comp,
-                           const Pred& pred   = Pred(),                                         
-                           const Allocator& a = Allocator() )
-         : base_type( n, comp, pred, a ) 
-        { }
-
-        template< typename InputIterator >
-        ptr_unordered_set( InputIterator first, InputIterator last )
-         : base_type( first, last )
-        { }
-
-        template< typename InputIterator >
-        ptr_unordered_set( InputIterator first, InputIterator last,
-                           const Hash& comp,
-                           const Pred& pred   = Pred(),
-                           const Allocator& a = Allocator() )
-         : base_type( first, last, comp, pred, a ) 
-        { }
-
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_unordered_set,
-                                                      base_type,
-                                                      this_type )
-        
-        BOOST_PTR_CONTAINER_DEFINE_COPY_CONSTRUCTORS( ptr_unordered_set, 
-                                                      base_type )
-                
-    };
-        
-        
-    template
-    < 
-        class Key, 
-        class Hash           = boost::hash<Key>,
-        class Pred           = std::equal_to<Key>,
-        class CloneAllocator = heap_clone_allocator,
-        class Allocator      = std::allocator<void*>
-    >
-    class ptr_unordered_multiset : 
-          public ptr_multiset_adapter< Key, 
-                                boost::unordered_multiset<void*,void_ptr_indirect_fun<Hash,Key>,
-                                                                void_ptr_indirect_fun<Pred,Key>,Allocator>,
-                                            CloneAllocator, false >
-    {
-      typedef ptr_multiset_adapter< Key, 
-              boost::unordered_multiset<void*,void_ptr_indirect_fun<Hash,Key>,
-                                        void_ptr_indirect_fun<Pred,Key>,Allocator>,
-                                        CloneAllocator, false >
-              base_type;
-        typedef ptr_unordered_multiset<Key,Hash,Pred,CloneAllocator,Allocator> this_type;
-
-    public:
-        typedef typename base_type::size_type size_type;
-
-    private:
-        using base_type::lower_bound;
-        using base_type::upper_bound;
-        using base_type::rbegin;
-        using base_type::rend;
-        using base_type::crbegin;
-        using base_type::crend;
-        using base_type::key_comp;
-        using base_type::value_comp;
-        using base_type::front;
-        using base_type::back;
-        
-    public:
-        using base_type::begin;
-        using base_type::end;
-        using base_type::cbegin;
-        using base_type::cend;
-        using base_type::bucket_count;
-        using base_type::max_bucket_count;
-        using base_type::bucket_size;
-        using base_type::bucket;
-        using base_type::load_factor;
-        using base_type::max_load_factor;
-        using base_type::rehash;
-        using base_type::key_eq;
-        using base_type::hash_function;
-        
-    public:
-        ptr_unordered_multiset()
-        { }
-        
-        explicit ptr_unordered_multiset( size_type n )
-         : base_type( n, ptr_container_detail::unordered_associative_container_tag() ) 
-        { }
-
-        ptr_unordered_multiset( size_type n,
-                                const Hash& comp,
-                                const Pred& pred   = Pred(),                                         
-                                const Allocator& a = Allocator() )
-         : base_type( n, comp, pred, a ) 
-        { }
-
-        template< typename InputIterator >
-        ptr_unordered_multiset( InputIterator first, InputIterator last )
-         : base_type( first, last )
-        { }
-
-        template< typename InputIterator >
-        ptr_unordered_multiset( InputIterator first, InputIterator last,
-                                const Hash& comp,
-                                const Pred& pred   = Pred(),
-                                const Allocator& a = Allocator() )
-         : base_type( first, last, comp, pred, a ) 
-        { }
-
-        BOOST_PTR_CONTAINER_DEFINE_RELEASE_AND_CLONE( ptr_unordered_multiset, 
-                                                      base_type,
-                                                      this_type )
-         
-        BOOST_PTR_CONTAINER_DEFINE_COPY_CONSTRUCTORS( ptr_unordered_multiset, 
-                                                      base_type )     
-
-    };
-
-    /////////////////////////////////////////////////////////////////////////
-    // clonability
-
-    template< typename K, typename H, typename P, typename CA, typename A >
-    inline ptr_unordered_set<K,H,P,CA,A>* 
-    new_clone( const ptr_unordered_set<K,H,P,CA,A>& r )
-    {
-        return r.clone().release();
-    }
-
-    template< typename K, typename H, typename P, typename CA, typename A >
-    inline ptr_unordered_multiset<K,H,P,CA,A>* 
-    new_clone( const ptr_unordered_multiset<K,H,P,CA,A>& r )
-    {
-        return r.clone().release();
-    }
-    
-    /////////////////////////////////////////////////////////////////////////
-    // swap
-
-    template< typename K, typename H, typename P, typename CA, typename A >
-    inline void swap( ptr_unordered_set<K,H,P,CA,A>& l, 
-                      ptr_unordered_set<K,H,P,CA,A>& r )
-    {
-        l.swap(r);
-    }
-
-    template< typename K, typename H, typename P, typename CA, typename A >
-    inline void swap( ptr_unordered_multiset<K,H,P,CA,A>& l, 
-                      ptr_unordered_multiset<K,H,P,CA,A>& r )
-    {
-        l.swap(r);
-    }
-
-}
-
-#endif
diff --git a/SRC/Boost/boost/ptr_container/ptr_vector.hpp b/SRC/Boost/boost/ptr_container/ptr_vector.hpp
deleted file mode 100755
index d1c64a3..0000000
--- a/SRC/Boost/boost/ptr_container/ptr_vector.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// Boost.Pointer Container
-//
-//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/ptr_container/
-//
-
-#ifndef BOOST_PTR_CONTAINER_PTR_VECTOR_HPP
-#define BOOST_PTR_CONTAINER_PTR_VECTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <vector>
-#include <boost/ptr_container/ptr_sequence_adapter.hpp>
-
-namespace boost
-{
-
-    template
-    < 
-        class T, 
-        class CloneAllocator = heap_clone_allocator,
-        class Allocator      = std::allocator<void*>
-    >
-    class ptr_vector : public 
-        ptr_sequence_adapter< T, 
-                              std::vector<void*,Allocator>, 
-                              CloneAllocator >
-    {  
-        typedef ptr_sequence_adapter< T, 
-                                      std::vector<void*,Allocator>, 
-                                      CloneAllocator > 
-            base_class;
-
-        typedef ptr_vector<T,CloneAllocator,Allocator> this_type;
-        
-    public:
-
-        BOOST_PTR_CONTAINER_DEFINE_SEQEUENCE_MEMBERS( ptr_vector, 
-                                                      base_class,
-                                                      this_type )
-        
-        explicit ptr_vector( size_type n,
-                             const allocator_type& alloc = allocator_type() )
-          : base_class(alloc)
-        {
-            this->base().reserve( n );
-        }        
-    };
-
-    //////////////////////////////////////////////////////////////////////////////
-    // clonability
-
-    template< typename T, typename CA, typename A >
-    inline ptr_vector<T,CA,A>* new_clone( const ptr_vector<T,CA,A>& r )
-    {
-        return r.clone().release();
-    }
-
-    /////////////////////////////////////////////////////////////////////////
-    // swap
-
-    template< typename T, typename CA, typename A >
-    inline void swap( ptr_vector<T,CA,A>& l, ptr_vector<T,CA,A>& r )
-    {
-        l.swap(r);
-    }
-    
-}
-
-#endif
diff --git a/SRC/Boost/boost/random/detail/config.hpp b/SRC/Boost/boost/random/detail/config.hpp
deleted file mode 100755
index bb83453..0000000
--- a/SRC/Boost/boost/random/detail/config.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/* boost random/detail/config.hpp header file
- *
- * Copyright Steven Watanabe 2009
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: config.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $
- */
-
-#include <boost/config.hpp>
-
-#if (defined(BOOST_NO_OPERATORS_IN_NAMESPACE) || defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)) \
-    && !defined(BOOST_MSVC)
-    #define BOOST_RANDOM_NO_STREAM_OPERATORS
-#endif
diff --git a/SRC/Boost/boost/random/detail/const_mod.hpp b/SRC/Boost/boost/random/detail/const_mod.hpp
deleted file mode 100755
index 2009b8e..0000000
--- a/SRC/Boost/boost/random/detail/const_mod.hpp
+++ /dev/null
@@ -1,216 +0,0 @@
-/* boost random/detail/const_mod.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: const_mod.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- *  2001-02-18  moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_CONST_MOD_HPP
-#define BOOST_RANDOM_CONST_MOD_HPP
-
-#include <boost/assert.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/integer_traits.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/random/detail/large_arithmetic.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-
-template<class IntType, IntType m>
-class const_mod
-{
-public:
-  static IntType apply(IntType x)
-  {
-    if(((unsigned_m() - 1) & unsigned_m()) == 0)
-      return (unsigned_type(x)) & (unsigned_m() - 1);
-    else {
-      IntType supress_warnings = (m == 0);
-      BOOST_ASSERT(supress_warnings == 0);
-      return x % (m + supress_warnings);
-    }
-  }
-
-  static IntType add(IntType x, IntType c)
-  {
-    if(((unsigned_m() - 1) & unsigned_m()) == 0)
-      return (unsigned_type(x) + unsigned_type(c)) & (unsigned_m() - 1);
-    else if(c == 0)
-      return x;
-    else if(x < m - c)
-      return x + c;
-    else
-      return x - (m - c);
-  }
-
-  static IntType mult(IntType a, IntType x)
-  {
-    if(((unsigned_m() - 1) & unsigned_m()) == 0)
-      return unsigned_type(a) * unsigned_type(x) & (unsigned_m() - 1);
-    else if(a == 0)
-      return 0;
-    else if(a == 1)
-      return x;
-    else if(m <= traits::const_max/a)      // i.e. a*m <= max
-      return mult_small(a, x);
-    else if(traits::is_signed && (m%a < m/a))
-      return mult_schrage(a, x);
-    else
-      return mult_general(a, x);
-  }
-
-  static IntType mult_add(IntType a, IntType x, IntType c)
-  {
-    if(((unsigned_m() - 1) & unsigned_m()) == 0)
-      return (unsigned_type(a) * unsigned_type(x) + unsigned_type(c)) & (unsigned_m() - 1);
-    else if(a == 0)
-      return c;
-    else if(m <= (traits::const_max-c)/a) {  // i.e. a*m+c <= max
-      IntType supress_warnings = (m == 0);
-      BOOST_ASSERT(supress_warnings == 0);
-      return (a*x+c) % (m + supress_warnings);
-    } else
-      return add(mult(a, x), c);
-  }
-
-  static IntType pow(IntType a, boost::uintmax_t exponent)
-  {
-      IntType result = 1;
-      while(exponent != 0) {
-          if(exponent % 2 == 1) {
-              result = mult(result, a);
-          }
-          a = mult(a, a);
-          exponent /= 2;
-      }
-      return result;
-  }
-
-  static IntType invert(IntType x)
-  { return x == 0 ? 0 : (m == 0? invert_euclidian0(x) : invert_euclidian(x)); }
-
-private:
-  typedef integer_traits<IntType> traits;
-  typedef typename make_unsigned<IntType>::type unsigned_type;
-
-  const_mod();      // don't instantiate
-
-  static IntType mult_small(IntType a, IntType x)
-  {
-    IntType supress_warnings = (m == 0);
-    BOOST_ASSERT(supress_warnings == 0);
-    return a*x % (m + supress_warnings);
-  }
-
-  static IntType mult_schrage(IntType a, IntType value)
-  {
-    const IntType q = m / a;
-    const IntType r = m % a;
-
-    BOOST_ASSERT(r < q);        // check that overflow cannot happen
-
-    return sub(a*(value%q), r*(value/q));
-  }
-
-  static IntType mult_general(IntType a, IntType b)
-  {
-    IntType suppress_warnings = (m == 0);
-    BOOST_ASSERT(suppress_warnings == 0);
-    IntType modulus = m + suppress_warnings;
-    BOOST_ASSERT(modulus == m);
-    if(::boost::uintmax_t(modulus) <=
-        (::std::numeric_limits< ::boost::uintmax_t>::max)() / modulus)
-    {
-      return static_cast<IntType>(boost::uintmax_t(a) * b % modulus);
-    } else {
-      return static_cast<IntType>(detail::mulmod(a, b, modulus));
-    }
-  }
-
-  static IntType sub(IntType a, IntType b)
-  {
-    if(a < b)
-      return m - (b - a);
-    else
-      return a - b;
-  }
-
-  static unsigned_type unsigned_m()
-  {
-      if(m == 0) {
-          return unsigned_type((std::numeric_limits<IntType>::max)()) + 1;
-      } else {
-          return unsigned_type(m);
-      }
-  }
-
-  // invert c in the finite field (mod m) (m must be prime)
-  static IntType invert_euclidian(IntType c)
-  {
-    // we are interested in the gcd factor for c, because this is our inverse
-    BOOST_ASSERT(c > 0);
-    IntType l1 = 0;
-    IntType l2 = 1;
-    IntType n = c;
-    IntType p = m;
-    for(;;) {
-      IntType q = p / n;
-      l1 += q * l2;
-      p -= q * n;
-      if(p == 0)
-        return l2;
-      IntType q2 = n / p;
-      l2 += q2 * l1;
-      n -= q2 * p;
-      if(n == 0)
-        return m - l1;
-    }
-  }
-
-  // invert c in the finite field (mod m) (c must be relatively prime to m)
-  static IntType invert_euclidian0(IntType c)
-  {
-    // we are interested in the gcd factor for c, because this is our inverse
-    BOOST_ASSERT(c > 0);
-    if(c == 1) return 1;
-    IntType l1 = 0;
-    IntType l2 = 1;
-    IntType n = c;
-    IntType p = m;
-    IntType max = (std::numeric_limits<IntType>::max)();
-    IntType q = max / n;
-    BOOST_ASSERT(max % n != n - 1 && "c must be relatively prime to m.");
-    l1 += q * l2;
-    p = max - q * n + 1;
-    for(;;) {
-      if(p == 0)
-        return l2;
-      IntType q2 = n / p;
-      l2 += q2 * l1;
-      n -= q2 * p;
-      if(n == 0)
-        return m - l1;
-      q = p / n;
-      l1 += q * l2;
-      p -= q * n;
-    }
-  }
-};
-
-} // namespace random
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_CONST_MOD_HPP
diff --git a/SRC/Boost/boost/random/detail/disable_warnings.hpp b/SRC/Boost/boost/random/detail/disable_warnings.hpp
deleted file mode 100755
index ab129e0..0000000
--- a/SRC/Boost/boost/random/detail/disable_warnings.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/* boost random/detail/disable_warnings.hpp header file
- *
- * Copyright Steven Watanabe 2009
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: disable_warnings.hpp 60755 2010-03-22 00:45:06Z steven_watanabe $
- *
- */
-
-// No #include guard.  This header is intended to be included multiple times.
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4512)
-#pragma warning(disable:4127)
-#pragma warning(disable:4724)
-#endif
diff --git a/SRC/Boost/boost/random/detail/enable_warnings.hpp b/SRC/Boost/boost/random/detail/enable_warnings.hpp
deleted file mode 100755
index 12f0840..0000000
--- a/SRC/Boost/boost/random/detail/enable_warnings.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/* boost random/detail/enable_warnings.hpp header file
- *
- * Copyright Steven Watanabe 2009
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: enable_warnings.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $
- *
- */
-
-// No #include guard.  This header is intended to be included multiple times.
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
diff --git a/SRC/Boost/boost/random/detail/generator_bits.hpp b/SRC/Boost/boost/random/detail/generator_bits.hpp
deleted file mode 100755
index 1a6f42b..0000000
--- a/SRC/Boost/boost/random/detail/generator_bits.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-/* boost random/detail/generator_bits.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: generator_bits.hpp 72951 2011-07-07 04:57:37Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_DETAIL_GENERATOR_BITS_HPP
-#define BOOST_RANDOM_DETAIL_GENERATOR_BITS_HPP
-
-#include <boost/limits.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-// This is a temporary measure that retains backwards
-// compatibility.
-template<class URNG>
-struct generator_bits {
-    static std::size_t value() {
-        return std::numeric_limits<typename URNG::result_type>::digits;
-    }
-};
-
-} // namespace detail
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_DETAIL_GENERATOR_BITS_HPP
diff --git a/SRC/Boost/boost/random/detail/generator_seed_seq.hpp b/SRC/Boost/boost/random/detail/generator_seed_seq.hpp
deleted file mode 100755
index e224e43..0000000
--- a/SRC/Boost/boost/random/detail/generator_seed_seq.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/* boost random/mersenne_twister.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2010
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: generator_seed_seq.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_DETAIL_GENERATOR_SEED_SEQ_HPP_INCLUDED
-#define BOOST_RANDOM_DETAIL_GENERATOR_SEED_SEQ_HPP_INCLUDED
-
-namespace boost {
-namespace random {
-namespace detail {
-
-template<class Generator>
-class generator_seed_seq {
-public:
-    generator_seed_seq(Generator& g) : gen(&g) {}
-    template<class It>
-    void generate(It first, It last) {
-        for(; first != last; ++first) {
-            *first = (*gen)();
-        }
-    }
-private:
-    Generator* gen;
-};
-
-}
-}
-}
-
-#endif
diff --git a/SRC/Boost/boost/random/detail/integer_log2.hpp b/SRC/Boost/boost/random/detail/integer_log2.hpp
deleted file mode 100755
index c7c0789..0000000
--- a/SRC/Boost/boost/random/detail/integer_log2.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/* boost random/detail/integer_log2.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: integer_log2.hpp 73268 2011-07-21 07:49:59Z danieljames $
- *
- */
-
-#ifndef BOOST_RANDOM_DETAIL_INTEGER_LOG2_HPP
-#define BOOST_RANDOM_DETAIL_INTEGER_LOG2_HPP
-
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/pending/integer_log2.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-#if !defined(BOOST_NO_CONSTEXPR)
-#define BOOST_RANDOM_DETAIL_CONSTEXPR constexpr
-#elif defined(BOOST_MSVC)
-#define BOOST_RANDOM_DETAIL_CONSTEXPR __forceinline
-#elif defined(__GNUC__) && __GNUC__ >= 4
-#define BOOST_RANDOM_DETAIL_CONSTEXPR __attribute__((const)) __attribute__((always_inline))
-#else
-#define BOOST_RANDOM_DETAIL_CONSTEXPR inline
-#endif
-
-template<int Shift>
-struct integer_log2_impl
-{
-    template<class T>
-    BOOST_RANDOM_DETAIL_CONSTEXPR static int apply(T t, int accum,
-            int update = 0)
-    {
-        return update = ((t >> Shift) != 0) * Shift,
-            integer_log2_impl<Shift / 2>::apply(t >> update, accum + update);
-    }
-};
-
-template<>
-struct integer_log2_impl<1>
-{
-    template<class T>
-    BOOST_RANDOM_DETAIL_CONSTEXPR static int apply(T t, int accum)
-    {
-        return int(t >> 1) + accum;
-    }
-};
-
-template<class T>
-BOOST_RANDOM_DETAIL_CONSTEXPR int integer_log2(T t)
-{
-    return integer_log2_impl<
-        ::boost::detail::max_pow2_less<
-            ::std::numeric_limits<T>::digits, 4
-        >::value
-    >::apply(t, 0);
-}
-
-} // namespace detail
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_DETAIL_INTEGER_LOG2_HPP
diff --git a/SRC/Boost/boost/random/detail/large_arithmetic.hpp b/SRC/Boost/boost/random/detail/large_arithmetic.hpp
deleted file mode 100755
index d343640..0000000
--- a/SRC/Boost/boost/random/detail/large_arithmetic.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/* boost random/detail/large_arithmetic.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: large_arithmetic.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_DETAIL_LARGE_ARITHMETIC_HPP
-#define BOOST_RANDOM_DETAIL_LARGE_ARITHMETIC_HPP
-
-#include <boost/cstdint.hpp>
-#include <boost/integer.hpp>
-#include <boost/limits.hpp>
-#include <boost/random/detail/integer_log2.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-struct div_t {
-    boost::uintmax_t quotient;
-    boost::uintmax_t remainder;
-};
-
-inline div_t muldivmod(boost::uintmax_t a, boost::uintmax_t b, boost::uintmax_t m)
-{
-    static const int bits =
-        ::std::numeric_limits< ::boost::uintmax_t>::digits / 2;
-    static const ::boost::uintmax_t mask = (::boost::uintmax_t(1) << bits) - 1;
-    typedef ::boost::uint_t<bits>::fast digit_t;
-
-    int shift = std::numeric_limits< ::boost::uintmax_t>::digits - 1
-        - detail::integer_log2(m);
-
-    a <<= shift;
-    m <<= shift;
-
-    digit_t product[4] = { 0, 0, 0, 0 };
-    digit_t a_[2] = { digit_t(a & mask), digit_t((a >> bits) & mask) };
-    digit_t b_[2] = { digit_t(b & mask), digit_t((b >> bits) & mask) };
-    digit_t m_[2] = { digit_t(m & mask), digit_t((m >> bits) & mask) };
-
-    // multiply a * b
-    for(int i = 0; i < 2; ++i) {
-        digit_t carry = 0;
-        for(int j = 0; j < 2; ++j) {
-            ::boost::uint64_t temp = ::boost::uintmax_t(a_[i]) * b_[j] +
-                carry + product[i + j];
-            product[i + j] = digit_t(temp & mask);
-            carry = digit_t(temp >> bits);
-        }
-        if(carry != 0) {
-            product[i + 2] += carry;
-        }
-    }
-
-    digit_t quotient[2];
-
-    if(m == 0) {
-        div_t result = {
-            ((::boost::uintmax_t(product[3]) << bits) | product[2]),
-            ((::boost::uintmax_t(product[1]) << bits) | product[0]) >> shift,
-        };
-        return result;
-    }
-
-    // divide product / m
-    for(int i = 3; i >= 2; --i) {
-        ::boost::uintmax_t temp =
-            ::boost::uintmax_t(product[i]) << bits | product[i - 1];
-
-        digit_t q = digit_t((product[i] == m_[1]) ? mask : temp / m_[1]);
-
-        ::boost::uintmax_t rem =
-            ((temp - ::boost::uintmax_t(q) * m_[1]) << bits) + product[i - 2];
-
-        ::boost::uintmax_t diff = m_[0] * ::boost::uintmax_t(q);
-
-        int error = 0;
-        if(diff > rem) {
-            if(diff - rem > m) {
-                error = 2;
-            } else {
-                error = 1;
-            }
-        }
-        q -= error;
-        rem = rem + error * m - diff;
-
-        quotient[i - 2] = q;
-        product[i] = 0;
-        product[i-1] = (rem >> bits) & mask;
-        product[i-2] = rem & mask;
-    }
-
-    div_t result = {
-        ((::boost::uintmax_t(quotient[1]) << bits) | quotient[0]),
-        ((::boost::uintmax_t(product[1]) << bits) | product[0]) >> shift,
-    };
-    return result;
-}
-
-inline boost::uintmax_t muldiv(boost::uintmax_t a, boost::uintmax_t b, boost::uintmax_t m)
-{ return detail::muldivmod(a, b, m).quotient; }
-
-inline boost::uintmax_t mulmod(boost::uintmax_t a, boost::uintmax_t b, boost::uintmax_t m)
-{ return detail::muldivmod(a, b, m).remainder; }
-
-} // namespace detail
-} // namespace random
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_DETAIL_LARGE_ARITHMETIC_HPP
diff --git a/SRC/Boost/boost/random/detail/operators.hpp b/SRC/Boost/boost/random/detail/operators.hpp
deleted file mode 100755
index 0f56b64..0000000
--- a/SRC/Boost/boost/random/detail/operators.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/* boost random/detail/operators.hpp header file
- *
- * Copyright Steven Watanabe 2010-2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: operators.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_DETAIL_OPERATORS_HPP
-#define BOOST_RANDOM_DETAIL_OPERATORS_HPP
-
-#include <boost/random/detail/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1310)   \
-    || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
-
-#define BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, T, t)                  \
-    template<class CharT, class Traits>                                 \
-    friend std::basic_ostream<CharT,Traits>&                            \
-    operator<<(std::basic_ostream<CharT,Traits>& os, const T& t) {      \
-        t.print(os, t);                                                 \
-        return os;                                                      \
-    }                                                                   \
-    template<class CharT, class Traits>                                 \
-    static std::basic_ostream<CharT,Traits>&                            \
-    print(std::basic_ostream<CharT,Traits>& os, const T& t)
-
-#define BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, T, t)                  \
-    template<class CharT, class Traits>                                 \
-    friend std::basic_istream<CharT,Traits>&                            \
-    operator>>(std::basic_istream<CharT,Traits>& is, T& t) {            \
-        t.read(is, t);                                                  \
-        return is;                                                      \
-    }                                                                   \
-    template<class CharT, class Traits>                                 \
-    static std::basic_istream<CharT,Traits>&                            \
-    read(std::basic_istream<CharT,Traits>& is, T& t)
-
-#endif
-
-#if defined(__BORLANDC__)
-
-#define BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(T, lhs, rhs)              \
-    bool operator==(const T& rhs) const                                 \
-    { return T::is_equal(*this, rhs); }                                 \
-    static bool is_equal(const T& lhs, const T& rhs)
-
-#define BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(T)                      \
-    bool operator!=(const T& rhs) const                                 \
-    { return !T::is_equal(*this, rhs); }
-
-#endif
-
-#ifndef BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR
-#define BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, T, t)                  \
-    template<class CharT, class Traits>                                 \
-    friend std::basic_ostream<CharT,Traits>&                            \
-    operator<<(std::basic_ostream<CharT,Traits>& os, const T& t)
-#endif
-
-#ifndef BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR
-#define BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, T, t)                  \
-    template<class CharT, class Traits>                                 \
-    friend std::basic_istream<CharT,Traits>&                            \
-    operator>>(std::basic_istream<CharT,Traits>& is, T& t)
-#endif
-
-#ifndef BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR
-#define BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(T, lhs, rhs)              \
-    friend bool operator==(const T& lhs, const T& rhs)
-#endif
-
-#ifndef BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR
-#define BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(T)                      \
-    friend bool operator!=(const T& lhs, const T& rhs)                  \
-    { return !(lhs == rhs); }
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/random/detail/ptr_helper.hpp b/SRC/Boost/boost/random/detail/ptr_helper.hpp
deleted file mode 100755
index d583afe..0000000
--- a/SRC/Boost/boost/random/detail/ptr_helper.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/* boost random/detail/ptr_helper.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: ptr_helper.hpp 24096 2004-07-27 03:43:34Z dgregor $
- *
- */
-
-#ifndef BOOST_RANDOM_DETAIL_PTR_HELPER_HPP
-#define BOOST_RANDOM_DETAIL_PTR_HELPER_HPP
-
-#include <boost/config.hpp>
-
-
-namespace boost {
-namespace random {
-namespace detail {
-
-// type_traits could help here, but I don't want to depend on type_traits.
-template<class T>
-struct ptr_helper
-{
-  typedef T value_type;
-  typedef T& reference_type;
-  typedef const T& rvalue_type;
-  static reference_type ref(T& r) { return r; }
-  static const T& ref(const T& r) { return r; }
-};
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template<class T>
-struct ptr_helper<T&>
-{
-  typedef T value_type;
-  typedef T& reference_type;
-  typedef T& rvalue_type;
-  static reference_type ref(T& r) { return r; }
-  static const T& ref(const T& r) { return r; }
-};
-
-template<class T>
-struct ptr_helper<T*>
-{
-  typedef T value_type;
-  typedef T& reference_type;
-  typedef T* rvalue_type;
-  static reference_type ref(T * p) { return *p; }
-  static const T& ref(const T * p) { return *p; }
-};
-#endif
-
-} // namespace detail
-} // namespace random
-} // namespace boost
-
-//
-// BOOST_RANDOM_PTR_HELPER_SPEC --
-//
-//  Helper macro for broken compilers defines specializations of
-//  ptr_helper.
-//
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# define BOOST_RANDOM_PTR_HELPER_SPEC(T)                \
-namespace boost { namespace random { namespace detail { \
-template<>                                              \
-struct ptr_helper<T&>                                   \
-{                                                       \
-  typedef T value_type;                                 \
-  typedef T& reference_type;                            \
-  typedef T& rvalue_type;                               \
-  static reference_type ref(T& r) { return r; }         \
-  static const T& ref(const T& r) { return r; }         \
-};                                                      \
-                                                        \
-template<>                                              \
-struct ptr_helper<T*>                                   \
-{                                                       \
-  typedef T value_type;                                 \
-  typedef T& reference_type;                            \
-  typedef T* rvalue_type;                               \
-  static reference_type ref(T * p) { return *p; }       \
-  static const T& ref(const T * p) { return *p; }       \
-};                                                      \
-}}}
-#else
-# define BOOST_RANDOM_PTR_HELPER_SPEC(T)
-#endif 
-
-#endif // BOOST_RANDOM_DETAIL_PTR_HELPER_HPP
diff --git a/SRC/Boost/boost/random/detail/seed.hpp b/SRC/Boost/boost/random/detail/seed.hpp
deleted file mode 100755
index 4c4738d..0000000
--- a/SRC/Boost/boost/random/detail/seed.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/* boost random/detail/seed.hpp header file
- *
- * Copyright Steven Watanabe 2009
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: seed.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_DETAIL_SEED_HPP
-#define BOOST_RANDOM_DETAIL_SEED_HPP
-
-#include <boost/config.hpp>
-
-// Sun seems to have trouble with the use of SFINAE for the
-// templated constructor.  So does Borland.
-#if !defined(BOOST_NO_SFINAE) && !defined(__SUNPRO_CC) && !defined(__BORLANDC__)
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_arithmetic.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-template<class T>
-struct disable_seed : boost::disable_if<boost::is_arithmetic<T> > {};
-
-template<class Engine, class T>
-struct disable_constructor : disable_seed<T> {};
-
-template<class Engine>
-struct disable_constructor<Engine, Engine> {};
-
-#define BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(Self, Generator, gen) \
-    template<class Generator>                                           \
-    explicit Self(Generator& gen, typename ::boost::random::detail::disable_constructor<Self, Generator>::type* = 0)
-
-#define BOOST_RANDOM_DETAIL_GENERATOR_SEED(Self, Generator, gen)    \
-    template<class Generator>                                       \
-    void seed(Generator& gen, typename ::boost::random::detail::disable_seed<Generator>::type* = 0)
-
-#define BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(Self, SeedSeq, seq)    \
-    template<class SeedSeq>                                             \
-    explicit Self(SeedSeq& seq, typename ::boost::random::detail::disable_constructor<Self, SeedSeq>::type* = 0)
-
-#define BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(Self, SeedSeq, seq)   \
-    template<class SeedSeq>                                     \
-    void seed(SeedSeq& seq, typename ::boost::random::detail::disable_seed<SeedSeq>::type* = 0)
-
-#define BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(Self, T, x)  \
-    explicit Self(const T& x)
-
-#define BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(Self, T, x) \
-    void seed(const T& x)
-}
-}
-}
-
-#else
-
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/mpl/bool.hpp>
-
-#define BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(Self, Generator, gen) \
-    Self(Self& other) { *this = other; }                                \
-    Self(const Self& other) { *this = other; }                          \
-    template<class Generator>                                           \
-    explicit Self(Generator& gen) {                                     \
-        boost_random_constructor_impl(gen, ::boost::is_arithmetic<Generator>());\
-    }                                                                   \
-    template<class Generator>                                           \
-    void boost_random_constructor_impl(Generator& gen, ::boost::mpl::false_)
-
-#define BOOST_RANDOM_DETAIL_GENERATOR_SEED(Self, Generator, gen)    \
-    template<class Generator>                                       \
-    void seed(Generator& gen) {                                     \
-        boost_random_seed_impl(gen, ::boost::is_arithmetic<Generator>());\
-    }\
-    template<class Generator>\
-    void boost_random_seed_impl(Generator& gen, ::boost::mpl::false_)
-
-#define BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(Self, SeedSeq, seq)    \
-    Self(Self& other) { *this = other; }                                \
-    Self(const Self& other) { *this = other; }                          \
-    template<class SeedSeq>                                             \
-    explicit Self(SeedSeq& seq) {                                       \
-        boost_random_constructor_impl(seq, ::boost::is_arithmetic<SeedSeq>());\
-    }                                                                   \
-    template<class SeedSeq>                                             \
-    void boost_random_constructor_impl(SeedSeq& seq, ::boost::mpl::false_)
-
-#define BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(Self, SeedSeq, seq)           \
-    template<class SeedSeq>                                             \
-    void seed(SeedSeq& seq) {                                           \
-        boost_random_seed_impl(seq, ::boost::is_arithmetic<SeedSeq>()); \
-    }                                                                   \
-    template<class SeedSeq>                                             \
-    void boost_random_seed_impl(SeedSeq& seq, ::boost::mpl::false_)
-
-#define BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(Self, T, x)  \
-    explicit Self(const T& x) { boost_random_constructor_impl(x, ::boost::mpl::true_()); }\
-    void boost_random_constructor_impl(const T& x, ::boost::mpl::true_)
-
-#define BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(Self, T, x) \
-    void seed(const T& x) { boost_random_seed_impl(x, ::boost::mpl::true_()); }\
-    void boost_random_seed_impl(const T& x, ::boost::mpl::true_)
-
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/random/detail/seed_impl.hpp b/SRC/Boost/boost/random/detail/seed_impl.hpp
deleted file mode 100755
index 8053ea1..0000000
--- a/SRC/Boost/boost/random/detail/seed_impl.hpp
+++ /dev/null
@@ -1,397 +0,0 @@
-/* boost random/detail/seed.hpp header file
- *
- * Copyright Steven Watanabe 2009
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: seed_impl.hpp 72951 2011-07-07 04:57:37Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_DETAIL_SEED_IMPL_HPP
-#define BOOST_RANDOM_DETAIL_SEED_IMPL_HPP
-
-#include <stdexcept>
-#include <boost/cstdint.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/integer/integer_mask.hpp>
-#include <boost/integer/static_log2.hpp>
-#include <boost/type_traits/is_signed.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/random/detail/const_mod.hpp>
-#include <boost/random/detail/integer_log2.hpp>
-#include <boost/random/detail/signed_unsigned_tools.hpp>
-#include <boost/random/detail/generator_bits.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-// finds the seed type of an engine, given its
-// result_type.  If the result_type is integral
-// the seed type is the same.  If the result_type
-// is floating point, the seed type is uint32_t
-template<class T>
-struct seed_type
-{
-    typedef typename boost::mpl::if_<boost::is_integral<T>,
-        T,
-        boost::uint32_t
-    >::type type;
-};
-
-template<int N>
-struct const_pow_impl
-{
-    template<class T>
-    static T call(T arg, int n, T result)
-    {
-        return const_pow_impl<N / 2>::call(arg * arg, n / 2,
-            n%2 == 0? result : result * arg);
-    }
-};
-
-template<>
-struct const_pow_impl<0>
-{
-    template<class T>
-    static T call(T, int, T result)
-    {
-        return result;
-    }
-};
-
-// requires N is an upper bound on n
-template<int N, class T>
-inline T const_pow(T arg, int n) { return const_pow_impl<N>::call(arg, n, T(1)); }
-
-template<class T>
-inline T pow2(int n)
-{
-    typedef unsigned int_type;
-    const int max_bits = std::numeric_limits<int_type>::digits;
-    T multiplier = T(int_type(1) << (max_bits - 1)) * 2;
-    return (int_type(1) << (n % max_bits)) *
-        const_pow<std::numeric_limits<T>::digits / max_bits>(multiplier, n / max_bits);
-}
-
-template<class Engine, class Iter>
-void generate_from_real(Engine& eng, Iter begin, Iter end)
-{
-    using std::fmod;
-    typedef typename Engine::result_type RealType;
-    const int Bits = detail::generator_bits<Engine>::value();
-    int remaining_bits = 0;
-    boost::uint_least32_t saved_bits = 0;
-    RealType multiplier = pow2<RealType>( Bits);
-    RealType mult32 = RealType(4294967296.0); // 2^32
-    while(true) {
-        RealType val = eng() * multiplier;
-        int available_bits = Bits;
-        // Make sure the compiler can optimize this out
-        // if it isn't possible.
-        if(Bits < 32 && available_bits < 32 - remaining_bits) {
-            saved_bits |= boost::uint_least32_t(val) << remaining_bits;
-            remaining_bits += Bits;
-        } else {
-            // If Bits < 32, then remaining_bits != 0, since
-            // if remaining_bits == 0, available_bits < 32 - 0,
-            // and we won't get here to begin with.
-            if(Bits < 32 || remaining_bits != 0) {
-                boost::uint_least32_t divisor =
-                    (boost::uint_least32_t(1) << (32 - remaining_bits));
-                boost::uint_least32_t extra_bits = boost::uint_least32_t(fmod(val, mult32)) & (divisor - 1);
-                val = val / divisor;
-                *begin++ = saved_bits | (extra_bits << remaining_bits);
-                if(begin == end) return;
-                available_bits -= 32 - remaining_bits;
-                remaining_bits = 0;
-            }
-            // If Bits < 32 we should never enter this loop
-            if(Bits >= 32) {
-                for(; available_bits >= 32; available_bits -= 32) {
-                    boost::uint_least32_t word = boost::uint_least32_t(fmod(val, mult32));
-                    val /= mult32;
-                    *begin++ = word;
-                    if(begin == end) return;
-                }
-            }
-            remaining_bits = available_bits;
-            saved_bits = static_cast<boost::uint_least32_t>(val);
-        }
-    }
-}
-
-template<class Engine, class Iter>
-void generate_from_int(Engine& eng, Iter begin, Iter end)
-{
-    typedef typename Engine::result_type IntType;
-    typedef typename boost::make_unsigned<IntType>::type unsigned_type;
-    int remaining_bits = 0;
-    boost::uint_least32_t saved_bits = 0;
-    unsigned_type range = boost::random::detail::subtract<IntType>()((eng.max)(), (eng.min)());
-
-    int bits =
-        (range == (std::numeric_limits<unsigned_type>::max)()) ?
-            std::numeric_limits<unsigned_type>::digits :
-            detail::integer_log2(range + 1);
-
-    {
-        int discarded_bits = detail::integer_log2(bits);
-        unsigned_type excess = (range + 1) >> (bits - discarded_bits);
-        if(excess != 0) {
-            int extra_bits = detail::integer_log2((excess - 1) ^ excess);
-            bits = bits - discarded_bits + extra_bits;
-        }
-    }
-
-    unsigned_type mask = (static_cast<unsigned_type>(2) << (bits - 1)) - 1;
-    unsigned_type limit = ((range + 1) & ~mask) - 1;
-
-    while(true) {
-        unsigned_type val;
-        do {
-            val = boost::random::detail::subtract<IntType>()(eng(), (eng.min)());
-        } while(limit != range && val > limit);
-        val &= mask;
-        int available_bits = bits;
-        if(available_bits == 32) {
-            *begin++ = static_cast<boost::uint_least32_t>(val) & 0xFFFFFFFFu;
-            if(begin == end) return;
-        } else if(available_bits % 32 == 0) {
-            for(int i = 0; i < available_bits / 32; ++i) {
-                boost::uint_least32_t word = boost::uint_least32_t(val) & 0xFFFFFFFFu;
-                int supress_warning = (bits >= 32);
-                BOOST_ASSERT(supress_warning == 1);
-                val >>= (32 * supress_warning);
-                *begin++ = word;
-                if(begin == end) return;
-            }
-        } else if(bits < 32 && available_bits < 32 - remaining_bits) {
-            saved_bits |= boost::uint_least32_t(val) << remaining_bits;
-            remaining_bits += bits;
-        } else {
-            if(bits < 32 || remaining_bits != 0) {
-                boost::uint_least32_t extra_bits = boost::uint_least32_t(val) & ((boost::uint_least32_t(1) << (32 - remaining_bits)) - 1);
-                val >>= 32 - remaining_bits;
-                *begin++ = saved_bits | (extra_bits << remaining_bits);
-                if(begin == end) return;
-                available_bits -= 32 - remaining_bits;
-                remaining_bits = 0;
-            }
-            if(bits >= 32) {
-                for(; available_bits >= 32; available_bits -= 32) {
-                    boost::uint_least32_t word = boost::uint_least32_t(val) & 0xFFFFFFFFu;
-                    int supress_warning = (bits >= 32);
-                    BOOST_ASSERT(supress_warning == 1);
-                    val >>= (32 * supress_warning);
-                    *begin++ = word;
-                    if(begin == end) return;
-                }
-            }
-            remaining_bits = available_bits;
-            saved_bits = static_cast<boost::uint_least32_t>(val);
-        }
-    }
-}
-
-template<class Engine, class Iter>
-void generate_impl(Engine& eng, Iter first, Iter last, boost::mpl::true_)
-{
-    return detail::generate_from_int(eng, first, last);
-}
-
-template<class Engine, class Iter>
-void generate_impl(Engine& eng, Iter first, Iter last, boost::mpl::false_)
-{
-    return detail::generate_from_real(eng, first, last);
-}
-
-template<class Engine, class Iter>
-void generate(Engine& eng, Iter first, Iter last)
-{
-    return detail::generate_impl(eng, first, last, boost::is_integral<typename Engine::result_type>());
-}
-
-
-
-template<class IntType, IntType m, class SeedSeq>
-IntType seed_one_int(SeedSeq& seq)
-{
-    static const int log = ::boost::mpl::if_c<(m == 0),
-        ::boost::mpl::int_<(::std::numeric_limits<IntType>::digits)>,
-        ::boost::static_log2<m> >::type::value;
-    static const int k =
-        (log + ((~(static_cast<IntType>(2) << (log - 1)) & m)? 32 : 31)) / 32;
-    ::boost::uint_least32_t array[log / 32 + 4];
-    seq.generate(&array[0], &array[0] + k + 3);
-    IntType s = 0;
-    for(int j = 0; j < k; ++j) {
-        IntType digit = const_mod<IntType, m>::apply(IntType(array[j+3]));
-        IntType mult = IntType(1) << 32*j;
-        s = const_mod<IntType, m>::mult_add(mult, digit, s);
-    }
-    return s;
-}
-
-template<class IntType, IntType m, class Iter>
-IntType get_one_int(Iter& first, Iter last)
-{
-    static const int log = ::boost::mpl::if_c<(m == 0),
-        ::boost::mpl::int_<(::std::numeric_limits<IntType>::digits)>,
-        ::boost::static_log2<m> >::type::value;
-    static const int k =
-        (log + ((~(static_cast<IntType>(2) << (log - 1)) & m)? 32 : 31)) / 32;
-    IntType s = 0;
-    for(int j = 0; j < k; ++j) {
-        if(first == last) {
-            throw ::std::invalid_argument("Not enough elements in call to seed.");
-        }
-        IntType digit = const_mod<IntType, m>::apply(IntType(*first++));
-        IntType mult = IntType(1) << 32*j;
-        s = const_mod<IntType, m>::mult_add(mult, digit, s);
-    }
-    return s;
-}
-
-// TODO: work in-place whenever possible
-template<int w, std::size_t n, class SeedSeq, class UIntType>
-void seed_array_int_impl(SeedSeq& seq, UIntType (&x)[n])
-{
-    boost::uint_least32_t storage[((w+31)/32) * n];
-    seq.generate(&storage[0], &storage[0] + ((w+31)/32) * n);
-    for(std::size_t j = 0; j < n; j++) {
-        UIntType val = 0;
-        for(std::size_t k = 0; k < (w+31)/32; ++k) {
-            val += static_cast<UIntType>(storage[(w+31)/32*j + k]) << 32*k;
-        }
-        x[j] = val & ::boost::low_bits_mask_t<w>::sig_bits;
-    }
-}
-
-template<int w, std::size_t n, class SeedSeq, class IntType>
-inline void seed_array_int_impl(SeedSeq& seq, IntType (&x)[n], boost::mpl::true_)
-{
-    typedef typename boost::make_unsigned<IntType>::type unsigned_array[n];
-    seed_array_int_impl<w>(seq, reinterpret_cast<unsigned_array&>(x));
-}
-
-template<int w, std::size_t n, class SeedSeq, class IntType>
-inline void seed_array_int_impl(SeedSeq& seq, IntType (&x)[n], boost::mpl::false_)
-{
-    seed_array_int_impl<w>(seq, x);
-}
-
-template<int w, std::size_t n, class SeedSeq, class IntType>
-inline void seed_array_int(SeedSeq& seq, IntType (&x)[n])
-{
-    seed_array_int_impl<w>(seq, x, boost::is_signed<IntType>());
-}
-
-template<int w, std::size_t n, class Iter, class UIntType>
-void fill_array_int_impl(Iter& first, Iter last, UIntType (&x)[n])
-{
-    for(std::size_t j = 0; j < n; j++) {
-        UIntType val = 0;
-        for(std::size_t k = 0; k < (w+31)/32; ++k) {
-            if(first == last) {
-                throw std::invalid_argument("Not enough elements in call to seed.");
-            }
-            val += static_cast<UIntType>(*first++) << 32*k;
-        }
-        x[j] = val & ::boost::low_bits_mask_t<w>::sig_bits;
-    }
-}
-
-template<int w, std::size_t n, class Iter, class IntType>
-inline void fill_array_int_impl(Iter& first, Iter last, IntType (&x)[n], boost::mpl::true_)
-{
-    typedef typename boost::make_unsigned<IntType>::type unsigned_array[n];
-    fill_array_int_impl<w>(first, last, reinterpret_cast<unsigned_array&>(x));
-}
-
-template<int w, std::size_t n, class Iter, class IntType>
-inline void fill_array_int_impl(Iter& first, Iter last, IntType (&x)[n], boost::mpl::false_)
-{
-    fill_array_int_impl<w>(first, last, x);
-}
-
-template<int w, std::size_t n, class Iter, class IntType>
-inline void fill_array_int(Iter& first, Iter last, IntType (&x)[n])
-{
-    fill_array_int_impl<w>(first, last, x, boost::is_signed<IntType>());
-}
-
-template<int w, std::size_t n, class RealType>
-void seed_array_real_impl(const boost::uint_least32_t* storage, RealType (&x)[n])
-{
-    boost::uint_least32_t mask = ~((~boost::uint_least32_t(0)) << (w%32));
-    RealType two32 = 4294967296.0;
-    const RealType divisor = RealType(1)/detail::pow2<RealType>(w);
-    unsigned int j;
-    for(j = 0; j < n; ++j) {
-        RealType val = RealType(0);
-        RealType mult = divisor;
-        for(int k = 0; k < w/32; ++k) {
-            val += *storage++ * mult;
-            mult *= two32;
-        }
-        if(mask != 0) {
-            val += (*storage++ & mask) * mult;
-        }
-        BOOST_ASSERT(val >= 0);
-        BOOST_ASSERT(val < 1);
-        x[j] = val;
-    }
-}
-
-template<int w, std::size_t n, class SeedSeq, class RealType>
-void seed_array_real(SeedSeq& seq, RealType (&x)[n])
-{
-    using std::pow;
-    boost::uint_least32_t storage[((w+31)/32) * n];
-    seq.generate(&storage[0], &storage[0] + ((w+31)/32) * n);
-    seed_array_real_impl<w>(storage, x);
-}
-
-template<int w, std::size_t n, class Iter, class RealType>
-void fill_array_real(Iter& first, Iter last, RealType (&x)[n])
-{
-    boost::uint_least32_t mask = ~((~boost::uint_least32_t(0)) << (w%32));
-    RealType two32 = 4294967296.0;
-    const RealType divisor = RealType(1)/detail::pow2<RealType>(w);
-    unsigned int j;
-    for(j = 0; j < n; ++j) {
-        RealType val = RealType(0);
-        RealType mult = divisor;
-        for(int k = 0; k < w/32; ++k, ++first) {
-            if(first == last) throw std::invalid_argument("Not enough elements in call to seed.");
-            val += *first * mult;
-            mult *= two32;
-        }
-        if(mask != 0) {
-            if(first == last) throw std::invalid_argument("Not enough elements in call to seed.");
-            val += (*first & mask) * mult;
-            ++first;
-        }
-        BOOST_ASSERT(val >= 0);
-        BOOST_ASSERT(val < 1);
-        x[j] = val;
-    }
-}
-
-}
-}
-}
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif
diff --git a/SRC/Boost/boost/random/detail/signed_unsigned_tools.hpp b/SRC/Boost/boost/random/detail/signed_unsigned_tools.hpp
deleted file mode 100755
index c1344a3..0000000
--- a/SRC/Boost/boost/random/detail/signed_unsigned_tools.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/* boost random/detail/signed_unsigned_tools.hpp header file
- *
- * Copyright Jens Maurer 2006
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- */
-
-#ifndef BOOST_RANDOM_DETAIL_SIGNED_UNSIGNED_TOOLS
-#define BOOST_RANDOM_DETAIL_SIGNED_UNSIGNED_TOOLS
-
-#include <boost/limits.hpp>
-#include <boost/config.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-
-/*
- * Compute x - y, we know that x >= y, return an unsigned value.
- */
-
-template<class T, bool sgn = std::numeric_limits<T>::is_signed>
-struct subtract { };
-
-template<class T>
-struct subtract<T, /* signed */ false>
-{
-  typedef T result_type;
-  result_type operator()(T x, T y) { return x - y; }
-};
-
-template<class T>
-struct subtract<T, /* signed */ true>
-{
-  typedef typename make_unsigned<T>::type result_type;
-  result_type operator()(T x, T y)
-  {
-    if (y >= 0)   // because x >= y, it follows that x >= 0, too
-      return result_type(x) - result_type(y);
-    if (x >= 0)   // y < 0
-      // avoid the nasty two's complement case for y == min()
-      return result_type(x) + result_type(-(y+1)) + 1;
-    // both x and y are negative: no signed overflow
-    return result_type(x - y);
-  }
-};
-
-/*
- * Compute x + y, x is unsigned, result fits in type of "y".
- */
-
-template<class T1, class T2, bool sgn = std::numeric_limits<T2>::is_signed>
-struct add { };
-
-template<class T1, class T2>
-struct add<T1, T2, /* signed */ false>
-{
-  typedef T2 result_type;
-  result_type operator()(T1 x, T2 y) { return T2(x) + y; }
-};
-
-template<class T1, class T2>
-struct add<T1, T2, /* signed */ true>
-{
-  typedef T2 result_type;
-  result_type operator()(T1 x, T2 y)
-  {
-    if (y >= 0)
-      return T2(x) + y;
-    // y < 0
-    if (x >= T1(-(y+1)))  // result >= 0 after subtraction
-      // avoid the nasty two's complement edge case for y == min()
-      return T2(x - T1(-(y+1)) - 1);
-    // abs(x) < abs(y), thus T2 able to represent x
-    return T2(x) + y;
-  }
-};
-
-} // namespace detail
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_DETAIL_SIGNED_UNSIGNED_TOOLS
-
diff --git a/SRC/Boost/boost/random/detail/uniform_int_float.hpp b/SRC/Boost/boost/random/detail/uniform_int_float.hpp
deleted file mode 100755
index 095f679..0000000
--- a/SRC/Boost/boost/random/detail/uniform_int_float.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/* boost random/detail/uniform_int_float.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: uniform_int_float.hpp 72951 2011-07-07 04:57:37Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_DETAIL_UNIFORM_INT_FLOAT_HPP
-#define BOOST_RANDOM_DETAIL_UNIFORM_INT_FLOAT_HPP
-
-#include <boost/limits.hpp>
-#include <boost/config.hpp>
-#include <boost/integer.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/generator_bits.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-template<class URNG>
-class uniform_int_float
-{
-public:
-    typedef URNG base_type;
-    typedef typename base_type::result_type base_result;
-
-    typedef typename boost::uint_t<
-        (std::numeric_limits<boost::uintmax_t>::digits <
-            std::numeric_limits<base_result>::digits)?
-        std::numeric_limits<boost::uintmax_t>::digits :
-        std::numeric_limits<base_result>::digits
-    >::fast result_type;
-
-    uniform_int_float(base_type& rng)
-      : _rng(rng) {}
-
-    static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
-    { return 0; }
-    static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
-    {
-        std::size_t digits = std::numeric_limits<result_type>::digits;
-        if(detail::generator_bits<URNG>::value() < digits) {
-            digits = detail::generator_bits<URNG>::value();
-        }
-        return (result_type(2) << (digits - 1)) - 1;
-    }
-    base_type& base() { return _rng; }
-    const base_type& base() const { return _rng; }
-
-    result_type operator()()
-    {
-        base_result range = static_cast<base_result>((max)())+1;
-        return static_cast<result_type>(_rng() * range);
-    }
-
-private:
-    base_type& _rng;
-};
-
-} // namespace detail
-} // namespace random
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_DETAIL_UNIFORM_INT_FLOAT_HPP
diff --git a/SRC/Boost/boost/random/mersenne_twister.hpp b/SRC/Boost/boost/random/mersenne_twister.hpp
deleted file mode 100755
index b535420..0000000
--- a/SRC/Boost/boost/random/mersenne_twister.hpp
+++ /dev/null
@@ -1,545 +0,0 @@
-/* boost random/mersenne_twister.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2010
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: mersenne_twister.hpp 74867 2011-10-09 23:13:31Z steven_watanabe $
- *
- * Revision history
- *  2001-02-18  moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_MERSENNE_TWISTER_HPP
-#define BOOST_RANDOM_MERSENNE_TWISTER_HPP
-
-#include <iosfwd>
-#include <istream>
-#include <stdexcept>
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/integer/integer_mask.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/ptr_helper.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/detail/seed_impl.hpp>
-#include <boost/random/detail/generator_seed_seq.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instantiations of class template mersenne_twister_engine model a
- * \pseudo_random_number_generator. It uses the algorithm described in
- *
- *  @blockquote
- *  "Mersenne Twister: A 623-dimensionally equidistributed uniform
- *  pseudo-random number generator", Makoto Matsumoto and Takuji Nishimura,
- *  ACM Transactions on Modeling and Computer Simulation: Special Issue on
- *  Uniform Random Number Generation, Vol. 8, No. 1, January 1998, pp. 3-30. 
- *  @endblockquote
- *
- * @xmlnote
- * The boost variant has been implemented from scratch and does not
- * derive from or use mt19937.c provided on the above WWW site. However, it
- * was verified that both produce identical output.
- * @endxmlnote
- *
- * The seeding from an integer was changed in April 2005 to address a
- * <a href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html">weakness</a>.
- * 
- * The quality of the generator crucially depends on the choice of the
- * parameters.  User code should employ one of the sensibly parameterized
- * generators such as \mt19937 instead.
- *
- * The generator requires considerable amounts of memory for the storage of
- * its state array. For example, \mt11213b requires about 1408 bytes and
- * \mt19937 requires about 2496 bytes.
- */
-template<class UIntType,
-         std::size_t w, std::size_t n, std::size_t m, std::size_t r,
-         UIntType a, std::size_t u, UIntType d, std::size_t s,
-         UIntType b, std::size_t t,
-         UIntType c, std::size_t l, UIntType f>
-class mersenne_twister_engine
-{
-public:
-    typedef UIntType result_type;
-    BOOST_STATIC_CONSTANT(std::size_t, word_size = w);
-    BOOST_STATIC_CONSTANT(std::size_t, state_size = n);
-    BOOST_STATIC_CONSTANT(std::size_t, shift_size = m);
-    BOOST_STATIC_CONSTANT(std::size_t, mask_bits = r);
-    BOOST_STATIC_CONSTANT(UIntType, xor_mask = a);
-    BOOST_STATIC_CONSTANT(std::size_t, tempering_u = u);
-    BOOST_STATIC_CONSTANT(UIntType, tempering_d = d);
-    BOOST_STATIC_CONSTANT(std::size_t, tempering_s = s);
-    BOOST_STATIC_CONSTANT(UIntType, tempering_b = b);
-    BOOST_STATIC_CONSTANT(std::size_t, tempering_t = t);
-    BOOST_STATIC_CONSTANT(UIntType, tempering_c = c);
-    BOOST_STATIC_CONSTANT(std::size_t, tempering_l = l);
-    BOOST_STATIC_CONSTANT(UIntType, initialization_multiplier = f);
-    BOOST_STATIC_CONSTANT(UIntType, default_seed = 5489u);
-  
-    // backwards compatibility
-    BOOST_STATIC_CONSTANT(UIntType, parameter_a = a);
-    BOOST_STATIC_CONSTANT(std::size_t, output_u = u);
-    BOOST_STATIC_CONSTANT(std::size_t, output_s = s);
-    BOOST_STATIC_CONSTANT(UIntType, output_b = b);
-    BOOST_STATIC_CONSTANT(std::size_t, output_t = t);
-    BOOST_STATIC_CONSTANT(UIntType, output_c = c);
-    BOOST_STATIC_CONSTANT(std::size_t, output_l = l);
-    
-    // old Boost.Random concept requirements
-    BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
-
-
-    /**
-     * Constructs a @c mersenne_twister_engine and calls @c seed().
-     */
-    mersenne_twister_engine() { seed(); }
-
-    /**
-     * Constructs a @c mersenne_twister_engine and calls @c seed(value).
-     */
-    BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(mersenne_twister_engine,
-                                               UIntType, value)
-    { seed(value); }
-    template<class It> mersenne_twister_engine(It& first, It last)
-    { seed(first,last); }
-
-    /**
-     * Constructs a mersenne_twister_engine and calls @c seed(gen).
-     *
-     * @xmlnote
-     * The copy constructor will always be preferred over
-     * the templated constructor.
-     * @endxmlnote
-     */
-    BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(mersenne_twister_engine,
-                                             SeedSeq, seq)
-    { seed(seq); }
-
-    // compiler-generated copy ctor and assignment operator are fine
-
-    /** Calls @c seed(default_seed). */
-    void seed() { seed(default_seed); }
-
-    /**
-     * Sets the state x(0) to v mod 2w. Then, iteratively,
-     * sets x(i) to
-     * (i + f * (x(i-1) xor (x(i-1) rshift w-2))) mod 2<sup>w</sup>
-     * for i = 1 .. n-1. x(n) is the first value to be returned by operator().
-     */
-    BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(mersenne_twister_engine, UIntType, value)
-    {
-        // New seeding algorithm from 
-        // http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html
-        // In the previous versions, MSBs of the seed affected only MSBs of the
-        // state x[].
-        const UIntType mask = (max)();
-        x[0] = value & mask;
-        for (i = 1; i < n; i++) {
-            // See Knuth "The Art of Computer Programming"
-            // Vol. 2, 3rd ed., page 106
-            x[i] = (f * (x[i-1] ^ (x[i-1] >> (w-2))) + i) & mask;
-        }
-    }
-    
-    /**
-     * Seeds a mersenne_twister_engine using values produced by seq.generate().
-     */
-    BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(mersenne_twister_engine, SeeqSeq, seq)
-    {
-        detail::seed_array_int<w>(seq, x);
-        i = n;
-
-        // fix up the state if it's all zeroes.
-        if((x[0] & (~static_cast<UIntType>(0) << r)) == 0) {
-            for(std::size_t j = 1; j < n; ++j) {
-                if(x[j] != 0) return;
-            }
-            x[0] = static_cast<UIntType>(1) << (w-1);
-        }
-    }
-
-    /** Sets the state of the generator using values from an iterator range. */
-    template<class It>
-    void seed(It& first, It last)
-    {
-        detail::fill_array_int<w>(first, last, x);
-        i = n;
-
-        // fix up the state if it's all zeroes.
-        if((x[0] & (~static_cast<UIntType>(0) << r)) == 0) {
-            for(std::size_t j = 1; j < n; ++j) {
-                if(x[j] != 0) return;
-            }
-            x[0] = static_cast<UIntType>(1) << (w-1);
-        }
-    }
-  
-    /** Returns the smallest value that the generator can produce. */
-    static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
-    { return 0; }
-    /** Returns the largest value that the generator can produce. */
-    static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
-    { return boost::low_bits_mask_t<w>::sig_bits; }
-    
-    /** Produces the next value of the generator. */
-    result_type operator()();
-
-    /** Fills a range with random values */
-    template<class Iter>
-    void generate(Iter first, Iter last)
-    { detail::generate_from_int(*this, first, last); }
-
-    /**
-     * Advances the state of the generator by @c z steps.  Equivalent to
-     *
-     * @code
-     * for(unsigned long long i = 0; i < z; ++i) {
-     *     gen();
-     * }
-     * @endcode
-     */
-    void discard(boost::uintmax_t z)
-    {
-        for(boost::uintmax_t j = 0; j < z; ++j) {
-            (*this)();
-        }
-    }
-
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
-    /** Writes a mersenne_twister_engine to a @c std::ostream */
-    template<class CharT, class Traits>
-    friend std::basic_ostream<CharT,Traits>&
-    operator<<(std::basic_ostream<CharT,Traits>& os,
-               const mersenne_twister_engine& mt)
-    {
-        mt.print(os);
-        return os;
-    }
-    
-    /** Reads a mersenne_twister_engine from a @c std::istream */
-    template<class CharT, class Traits>
-    friend std::basic_istream<CharT,Traits>&
-    operator>>(std::basic_istream<CharT,Traits>& is,
-               mersenne_twister_engine& mt)
-    {
-        for(std::size_t j = 0; j < mt.state_size; ++j)
-            is >> mt.x[j] >> std::ws;
-        // MSVC (up to 7.1) and Borland (up to 5.64) don't handle the template
-        // value parameter "n" available from the class template scope, so use
-        // the static constant with the same value
-        mt.i = mt.state_size;
-        return is;
-    }
-#endif
-
-    /**
-     * Returns true if the two generators are in the same state,
-     * and will thus produce identical sequences.
-     */
-    friend bool operator==(const mersenne_twister_engine& x,
-                           const mersenne_twister_engine& y)
-    {
-        if(x.i < y.i) return x.equal_imp(y);
-        else return y.equal_imp(x);
-    }
-    
-    /**
-     * Returns true if the two generators are in different states.
-     */
-    friend bool operator!=(const mersenne_twister_engine& x,
-                           const mersenne_twister_engine& y)
-    { return !(x == y); }
-
-private:
-    /// \cond show_private
-
-    void twist();
-
-    /**
-     * Does the work of operator==.  This is in a member function
-     * for portability.  Some compilers, such as msvc 7.1 and
-     * Sun CC 5.10 can't access template parameters or static
-     * members of the class from inline friend functions.
-     *
-     * requires i <= other.i
-     */
-    bool equal_imp(const mersenne_twister_engine& other) const
-    {
-        UIntType back[n];
-        std::size_t offset = other.i - i;
-        for(std::size_t j = 0; j + offset < n; ++j)
-            if(x[j] != other.x[j+offset])
-                return false;
-        rewind(&back[n-1], offset);
-        for(std::size_t j = 0; j < offset; ++j)
-            if(back[j + n - offset] != other.x[j])
-                return false;
-        return true;
-    }
-
-    /**
-     * Does the work of operator<<.  This is in a member function
-     * for portability.
-     */
-    template<class CharT, class Traits>
-    void print(std::basic_ostream<CharT, Traits>& os) const
-    {
-        UIntType data[n];
-        for(std::size_t j = 0; j < i; ++j) {
-            data[j + n - i] = x[j];
-        }
-        if(i != n) {
-            rewind(&data[n - i - 1], n - i);
-        }
-        os << data[0];
-        for(std::size_t j = 1; j < n; ++j) {
-            os << ' ' << data[j];
-        }
-    }
-
-    /**
-     * Copies z elements of the state preceding x[0] into
-     * the array whose last element is last.
-     */
-    void rewind(UIntType* last, std::size_t z) const
-    {
-        const UIntType upper_mask = (~static_cast<UIntType>(0)) << r;
-        const UIntType lower_mask = ~upper_mask;
-        UIntType y0 = x[m-1] ^ x[n-1];
-        if(y0 & (static_cast<UIntType>(1) << (w-1))) {
-            y0 = ((y0 ^ a) << 1) | 1;
-        } else {
-            y0 = y0 << 1;
-        }
-        for(std::size_t sz = 0; sz < z; ++sz) {
-            UIntType y1 =
-                rewind_find(last, sz, m-1) ^ rewind_find(last, sz, n-1);
-            if(y1 & (static_cast<UIntType>(1) << (w-1))) {
-                y1 = ((y1 ^ a) << 1) | 1;
-            } else {
-                y1 = y1 << 1;
-            }
-            *(last - sz) = (y0 & upper_mask) | (y1 & lower_mask);
-            y0 = y1;
-        }
-    }
-
-    /**
-     * Given a pointer to the last element of the rewind array,
-     * and the current size of the rewind array, finds an element
-     * relative to the next available slot in the rewind array.
-     */
-    UIntType
-    rewind_find(UIntType* last, std::size_t size, std::size_t j) const
-    {
-        std::size_t index = (j + n - size + n - 1) % n;
-        if(index < n - size) {
-            return x[index];
-        } else {
-            return *(last - (n - 1 - index));
-        }
-    }
-
-    /// \endcond
-
-    // state representation: next output is o(x(i))
-    //   x[0]  ... x[k] x[k+1] ... x[n-1]   represents
-    //  x(i-k) ... x(i) x(i+1) ... x(i-k+n-1)
-
-    UIntType x[n]; 
-    std::size_t i;
-};
-
-/// \cond show_private
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-//  A definition is required even for integral static constants
-#define BOOST_RANDOM_MT_DEFINE_CONSTANT(type, name)                         \
-template<class UIntType, std::size_t w, std::size_t n, std::size_t m,       \
-    std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s,    \
-    UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>       \
-const type mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::name
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, word_size);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, state_size);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, shift_size);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, mask_bits);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, xor_mask);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, tempering_u);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, tempering_d);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, tempering_s);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, tempering_b);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, tempering_t);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, tempering_c);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, tempering_l);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, initialization_multiplier);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, default_seed);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, parameter_a);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, output_u );
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, output_s);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, output_b);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, output_t);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, output_c);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, output_l);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(bool, has_fixed_range);
-#undef BOOST_RANDOM_MT_DEFINE_CONSTANT
-#endif
-
-template<class UIntType,
-         std::size_t w, std::size_t n, std::size_t m, std::size_t r,
-         UIntType a, std::size_t u, UIntType d, std::size_t s,
-         UIntType b, std::size_t t,
-         UIntType c, std::size_t l, UIntType f>
-void
-mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::twist()
-{
-    const UIntType upper_mask = (~static_cast<UIntType>(0)) << r;
-    const UIntType lower_mask = ~upper_mask;
-
-    const std::size_t unroll_factor = 6;
-    const std::size_t unroll_extra1 = (n-m) % unroll_factor;
-    const std::size_t unroll_extra2 = (m-1) % unroll_factor;
-
-    // split loop to avoid costly modulo operations
-    {  // extra scope for MSVC brokenness w.r.t. for scope
-        for(std::size_t j = 0; j < n-m-unroll_extra1; j++) {
-            UIntType y = (x[j] & upper_mask) | (x[j+1] & lower_mask);
-            x[j] = x[j+m] ^ (y >> 1) ^ ((x[j+1]&1) * a);
-        }
-    }
-    {
-        for(std::size_t j = n-m-unroll_extra1; j < n-m; j++) {
-            UIntType y = (x[j] & upper_mask) | (x[j+1] & lower_mask);
-            x[j] = x[j+m] ^ (y >> 1) ^ ((x[j+1]&1) * a);
-        }
-    }
-    {
-        for(std::size_t j = n-m; j < n-1-unroll_extra2; j++) {
-            UIntType y = (x[j] & upper_mask) | (x[j+1] & lower_mask);
-            x[j] = x[j-(n-m)] ^ (y >> 1) ^ ((x[j+1]&1) * a);
-        }
-    }
-    {
-        for(std::size_t j = n-1-unroll_extra2; j < n-1; j++) {
-            UIntType y = (x[j] & upper_mask) | (x[j+1] & lower_mask);
-            x[j] = x[j-(n-m)] ^ (y >> 1) ^ ((x[j+1]&1) * a);
-        }
-    }
-    // last iteration
-    UIntType y = (x[n-1] & upper_mask) | (x[0] & lower_mask);
-    x[n-1] = x[m-1] ^ (y >> 1) ^ ((x[0]&1) * a);
-    i = 0;
-}
-/// \endcond
-
-template<class UIntType,
-         std::size_t w, std::size_t n, std::size_t m, std::size_t r,
-         UIntType a, std::size_t u, UIntType d, std::size_t s,
-         UIntType b, std::size_t t,
-         UIntType c, std::size_t l, UIntType f>
-inline typename
-mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::result_type
-mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::operator()()
-{
-    if(i == n)
-        twist();
-    // Step 4
-    UIntType z = x[i];
-    ++i;
-    z ^= ((z >> u) & d);
-    z ^= ((z << s) & b);
-    z ^= ((z << t) & c);
-    z ^= (z >> l);
-    return z;
-}
-
-/**
- * The specializations \mt11213b and \mt19937 are from
- *
- *  @blockquote
- *  "Mersenne Twister: A 623-dimensionally equidistributed
- *  uniform pseudo-random number generator", Makoto Matsumoto
- *  and Takuji Nishimura, ACM Transactions on Modeling and
- *  Computer Simulation: Special Issue on Uniform Random Number
- *  Generation, Vol. 8, No. 1, January 1998, pp. 3-30. 
- *  @endblockquote
- */
-typedef mersenne_twister_engine<uint32_t,32,351,175,19,0xccab8ee7,
-    11,0xffffffff,7,0x31b6ab00,15,0xffe50000,17,1812433253> mt11213b;
-
-/**
- * The specializations \mt11213b and \mt19937 are from
- *
- *  @blockquote
- *  "Mersenne Twister: A 623-dimensionally equidistributed
- *  uniform pseudo-random number generator", Makoto Matsumoto
- *  and Takuji Nishimura, ACM Transactions on Modeling and
- *  Computer Simulation: Special Issue on Uniform Random Number
- *  Generation, Vol. 8, No. 1, January 1998, pp. 3-30. 
- *  @endblockquote
- */
-typedef mersenne_twister_engine<uint32_t,32,624,397,31,0x9908b0df,
-    11,0xffffffff,7,0x9d2c5680,15,0xefc60000,18,1812433253> mt19937;
-
-#if !defined(BOOST_NO_INT64_T) && !defined(BOOST_NO_INTEGRAL_INT64_T)
-typedef mersenne_twister_engine<uint64_t,64,312,156,31,
-    UINT64_C(0xb5026f5aa96619e9),29,UINT64_C(0x5555555555555555),17,
-    UINT64_C(0x71d67fffeda60000),37,UINT64_C(0xfff7eee000000000),43,
-    UINT64_C(6364136223846793005)> mt19937_64;
-#endif
-
-/// \cond show_deprecated
-
-template<class UIntType,
-         int w, int n, int m, int r,
-         UIntType a, int u, std::size_t s,
-         UIntType b, int t,
-         UIntType c, int l, UIntType v>
-class mersenne_twister :
-    public mersenne_twister_engine<UIntType,
-        w, n, m, r, a, u, ~(UIntType)0, s, b, t, c, l, 1812433253>
-{
-    typedef mersenne_twister_engine<UIntType,
-        w, n, m, r, a, u, ~(UIntType)0, s, b, t, c, l, 1812433253> base_type;
-public:
-    mersenne_twister() {}
-    BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(mersenne_twister, Gen, gen)
-    { seed(gen); }
-    BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(mersenne_twister, UIntType, val)
-    { seed(val); }
-    template<class It>
-    mersenne_twister(It& first, It last) : base_type(first, last) {}
-    void seed() { base_type::seed(); }
-    BOOST_RANDOM_DETAIL_GENERATOR_SEED(mersenne_twister, Gen, gen)
-    {
-        detail::generator_seed_seq<Gen> seq(gen);
-        base_type::seed(seq);
-    }
-    BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(mersenne_twister, UIntType, val)
-    { base_type::seed(val); }
-    template<class It>
-    void seed(It& first, It last) { base_type::seed(first, last); }
-};
-
-/// \endcond
-
-} // namespace random
-
-using random::mt11213b;
-using random::mt19937;
-using random::mt19937_64;
-
-} // namespace boost
-
-BOOST_RANDOM_PTR_HELPER_SPEC(boost::mt11213b)
-BOOST_RANDOM_PTR_HELPER_SPEC(boost::mt19937)
-BOOST_RANDOM_PTR_HELPER_SPEC(boost::mt19937_64)
-
-#endif // BOOST_RANDOM_MERSENNE_TWISTER_HPP
diff --git a/SRC/Boost/boost/random/uniform_int.hpp b/SRC/Boost/boost/random/uniform_int.hpp
deleted file mode 100755
index 83bff34..0000000
--- a/SRC/Boost/boost/random/uniform_int.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/* boost random/uniform_int.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: uniform_int.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- *  2001-04-08  added min<max assertion (N. Becker)
- *  2001-02-18  moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_UNIFORM_INT_HPP
-#define BOOST_RANDOM_UNIFORM_INT_HPP
-
-#include <boost/assert.hpp>
-#include <boost/random/uniform_int_distribution.hpp>
-
-namespace boost {
-
-/**
- * The distribution function uniform_int models a \random_distribution.
- * On each invocation, it returns a random integer value uniformly
- * distributed in the set of integer numbers {min, min+1, min+2, ..., max}.
- *
- * The template parameter IntType shall denote an integer-like value type.
- *
- * This class is deprecated.  Please use @c uniform_int_distribution in
- * new code.
- */
-template<class IntType = int>
-class uniform_int : public random::uniform_int_distribution<IntType>
-{
-    typedef random::uniform_int_distribution<IntType> base_type;
-public:
-
-    class param_type : public base_type::param_type
-    {
-    public:
-        typedef uniform_int distribution_type;
-        /**
-         * Constructs the parameters of a uniform_int distribution.
-         *
-         * Requires: min <= max
-         */
-        explicit param_type(IntType min_arg = 0, IntType max_arg = 9)
-          : base_type::param_type(min_arg, max_arg)
-        {}
-    };
-
-    /**
-     * Constructs a uniform_int object. @c min and @c max are
-     * the parameters of the distribution.
-     *
-     * Requires: min <= max
-     */
-    explicit uniform_int(IntType min_arg = 0, IntType max_arg = 9)
-      : base_type(min_arg, max_arg)
-    {}
-
-    /** Constructs a uniform_int distribution from its parameters. */
-    explicit uniform_int(const param_type& parm)
-      : base_type(parm)
-    {}
-
-    /** Returns the parameters of the distribution */
-    param_type param() const { return param_type(this->a(), this->b()); }
-    /** Sets the parameters of the distribution. */
-    void param(const param_type& parm) { this->base_type::param(parm); }
-
-    // Codergear seems to have trouble with a using declaration here
-
-    template<class Engine>
-    IntType operator()(Engine& eng) const
-    {
-        return static_cast<const base_type&>(*this)(eng);
-    }
-
-    template<class Engine>
-    IntType operator()(Engine& eng, const param_type& parm) const
-    {
-        return static_cast<const base_type&>(*this)(eng, parm);
-    }
-
-    template<class Engine>
-    IntType operator()(Engine& eng, IntType n) const
-    {
-        BOOST_ASSERT(n > 0);
-        return static_cast<const base_type&>(*this)(eng, param_type(0, n - 1));
-    }
-};
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_UNIFORM_INT_HPP
diff --git a/SRC/Boost/boost/random/uniform_int_distribution.hpp b/SRC/Boost/boost/random/uniform_int_distribution.hpp
deleted file mode 100755
index 90d0dc1..0000000
--- a/SRC/Boost/boost/random/uniform_int_distribution.hpp
+++ /dev/null
@@ -1,400 +0,0 @@
-/* boost random/uniform_int_distribution.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: uniform_int_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- *  2001-04-08  added min<max assertion (N. Becker)
- *  2001-02-18  moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_UNIFORM_INT_DISTRIBUTION_HPP
-#define BOOST_RANDOM_UNIFORM_INT_DISTRIBUTION_HPP
-
-#include <iosfwd>
-#include <ios>
-#include <istream>
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/assert.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/uniform_int_float.hpp>
-#include <boost/random/detail/signed_unsigned_tools.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/is_integral.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-    
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-// disable division by zero warning, since we can't
-// actually divide by zero.
-#pragma warning(disable:4723)
-#endif
-
-template<class Engine, class T>
-T generate_uniform_int(
-    Engine& eng, T min_value, T max_value,
-    boost::mpl::true_ /** is_integral<Engine::result_type> */)
-{
-    typedef T result_type;
-    typedef typename make_unsigned<T>::type range_type;
-    typedef typename Engine::result_type base_result;
-    // ranges are always unsigned
-    typedef typename make_unsigned<base_result>::type base_unsigned;
-    const range_type range = random::detail::subtract<result_type>()(max_value, min_value);
-    const base_result bmin = (eng.min)();
-    const base_unsigned brange =
-      random::detail::subtract<base_result>()((eng.max)(), (eng.min)());
-
-    if(range == 0) {
-      return min_value;    
-    } else if(brange == range) {
-      // this will probably never happen in real life
-      // basically nothing to do; just take care we don't overflow / underflow
-      base_unsigned v = random::detail::subtract<base_result>()(eng(), bmin);
-      return random::detail::add<base_unsigned, result_type>()(v, min_value);
-    } else if(brange < range) {
-      // use rejection method to handle things like 0..3 --> 0..4
-      for(;;) {
-        // concatenate several invocations of the base RNG
-        // take extra care to avoid overflows
-
-        //  limit == floor((range+1)/(brange+1))
-        //  Therefore limit*(brange+1) <= range+1
-        range_type limit;
-        if(range == (std::numeric_limits<range_type>::max)()) {
-          limit = range/(range_type(brange)+1);
-          if(range % (range_type(brange)+1) == range_type(brange))
-            ++limit;
-        } else {
-          limit = (range+1)/(range_type(brange)+1);
-        }
-
-        // We consider "result" as expressed to base (brange+1):
-        // For every power of (brange+1), we determine a random factor
-        range_type result = range_type(0);
-        range_type mult = range_type(1);
-
-        // loop invariants:
-        //  result < mult
-        //  mult <= range
-        while(mult <= limit) {
-          // Postcondition: result <= range, thus no overflow
-          //
-          // limit*(brange+1)<=range+1                   def. of limit       (1)
-          // eng()-bmin<=brange                          eng() post.         (2)
-          // and mult<=limit.                            loop condition      (3)
-          // Therefore mult*(eng()-bmin+1)<=range+1      by (1),(2),(3)      (4)
-          // Therefore mult*(eng()-bmin)+mult<=range+1   rearranging (4)     (5)
-          // result<mult                                 loop invariant      (6)
-          // Therefore result+mult*(eng()-bmin)<range+1  by (5), (6)         (7)
-          //
-          // Postcondition: result < mult*(brange+1)
-          //
-          // result<mult                                 loop invariant      (1)
-          // eng()-bmin<=brange                          eng() post.         (2)
-          // Therefore result+mult*(eng()-bmin) <
-          //           mult+mult*(eng()-bmin)            by (1)              (3)
-          // Therefore result+(eng()-bmin)*mult <
-          //           mult+mult*brange                  by (2), (3)         (4)
-          // Therefore result+(eng()-bmin)*mult <
-          //           mult*(brange+1)                   by (4)
-          result += static_cast<range_type>(random::detail::subtract<base_result>()(eng(), bmin) * mult);
-
-          // equivalent to (mult * (brange+1)) == range+1, but avoids overflow.
-          if(mult * range_type(brange) == range - mult + 1) {
-              // The destination range is an integer power of
-              // the generator's range.
-              return(result);
-          }
-
-          // Postcondition: mult <= range
-          // 
-          // limit*(brange+1)<=range+1                   def. of limit       (1)
-          // mult<=limit                                 loop condition      (2)
-          // Therefore mult*(brange+1)<=range+1          by (1), (2)         (3)
-          // mult*(brange+1)!=range+1                    preceding if        (4)
-          // Therefore mult*(brange+1)<range+1           by (3), (4)         (5)
-          // 
-          // Postcondition: result < mult
-          //
-          // See the second postcondition on the change to result. 
-          mult *= range_type(brange)+range_type(1);
-        }
-        // loop postcondition: range/mult < brange+1
-        //
-        // mult > limit                                  loop condition      (1)
-        // Suppose range/mult >= brange+1                Assumption          (2)
-        // range >= mult*(brange+1)                      by (2)              (3)
-        // range+1 > mult*(brange+1)                     by (3)              (4)
-        // range+1 > (limit+1)*(brange+1)                by (1), (4)         (5)
-        // (range+1)/(brange+1) > limit+1                by (5)              (6)
-        // limit < floor((range+1)/(brange+1))           by (6)              (7)
-        // limit==floor((range+1)/(brange+1))            def. of limit       (8)
-        // not (2)                                       reductio            (9)
-        //
-        // loop postcondition: (range/mult)*mult+(mult-1) >= range
-        //
-        // (range/mult)*mult + range%mult == range       identity            (1)
-        // range%mult < mult                             def. of %           (2)
-        // (range/mult)*mult+mult > range                by (1), (2)         (3)
-        // (range/mult)*mult+(mult-1) >= range           by (3)              (4)
-        //
-        // Note that the maximum value of result at this point is (mult-1),
-        // so after this final step, we generate numbers that can be
-        // at least as large as range.  We have to really careful to avoid
-        // overflow in this final addition and in the rejection.  Anything
-        // that overflows is larger than range and can thus be rejected.
-
-        // range/mult < brange+1  -> no endless loop
-        range_type result_increment =
-            generate_uniform_int(
-                eng,
-                static_cast<range_type>(0),
-                static_cast<range_type>(range/mult),
-                boost::mpl::true_());
-        if((std::numeric_limits<range_type>::max)() / mult < result_increment) {
-          // The multiplcation would overflow.  Reject immediately.
-          continue;
-        }
-        result_increment *= mult;
-        // unsigned integers are guaranteed to wrap on overflow.
-        result += result_increment;
-        if(result < result_increment) {
-          // The addition overflowed.  Reject.
-          continue;
-        }
-        if(result > range) {
-          // Too big.  Reject.
-          continue;
-        }
-        return random::detail::add<range_type, result_type>()(result, min_value);
-      }
-    } else {                   // brange > range
-      base_unsigned bucket_size;
-      // it's safe to add 1 to range, as long as we cast it first,
-      // because we know that it is less than brange.  However,
-      // we do need to be careful not to cause overflow by adding 1
-      // to brange.
-      if(brange == (std::numeric_limits<base_unsigned>::max)()) {
-        bucket_size = brange / (static_cast<base_unsigned>(range)+1);
-        if(brange % (static_cast<base_unsigned>(range)+1) == static_cast<base_unsigned>(range)) {
-          ++bucket_size;
-        }
-      } else {
-        bucket_size = (brange+1) / (static_cast<base_unsigned>(range)+1);
-      }
-      for(;;) {
-        base_unsigned result =
-          random::detail::subtract<base_result>()(eng(), bmin);
-        result /= bucket_size;
-        // result and range are non-negative, and result is possibly larger
-        // than range, so the cast is safe
-        if(result <= static_cast<base_unsigned>(range))
-          return random::detail::add<base_unsigned, result_type>()(result, min_value);
-      }
-    }
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-template<class Engine, class T>
-inline T generate_uniform_int(
-    Engine& eng, T min_value, T max_value,
-    boost::mpl::false_ /** is_integral<Engine::result_type> */)
-{
-    uniform_int_float<Engine> wrapper(eng);
-    return generate_uniform_int(wrapper, min_value, max_value, boost::mpl::true_());
-}
-
-template<class Engine, class T>
-inline T generate_uniform_int(Engine& eng, T min_value, T max_value)
-{
-    typedef typename Engine::result_type base_result;
-    return generate_uniform_int(eng, min_value, max_value,
-        boost::is_integral<base_result>());
-}
-
-}
-
-/**
- * The class template uniform_int_distribution models a \random_distribution.
- * On each invocation, it returns a random integer value uniformly
- * distributed in the set of integers {min, min+1, min+2, ..., max}.
- *
- * The template parameter IntType shall denote an integer-like value type.
- */
-template<class IntType = int>
-class uniform_int_distribution
-{
-public:
-    typedef IntType input_type;
-    typedef IntType result_type;
-
-    class param_type
-    {
-    public:
-
-        typedef uniform_int_distribution distribution_type;
-
-        /**
-         * Constructs the parameters of a uniform_int_distribution.
-         *
-         * Requires min <= max
-         */
-        explicit param_type(
-            IntType min_arg = 0,
-            IntType max_arg = (std::numeric_limits<IntType>::max)())
-          : _min(min_arg), _max(max_arg)
-        {
-            BOOST_ASSERT(_min <= _max);
-        }
-
-        /** Returns the minimum value of the distribution. */
-        IntType a() const { return _min; }
-        /** Returns the maximum value of the distribution. */
-        IntType b() const { return _max; }
-
-        /** Writes the parameters to a @c std::ostream. */
-        BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
-        {
-            os << parm._min << " " << parm._max;
-            return os;
-        }
-
-        /** Reads the parameters from a @c std::istream. */
-        BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
-        {
-            IntType min_in, max_in;
-            if(is >> min_in >> std::ws >> max_in) {
-                if(min_in <= max_in) {
-                    parm._min = min_in;
-                    parm._max = max_in;
-                } else {
-                    is.setstate(std::ios_base::failbit);
-                }
-            }
-            return is;
-        }
-
-        /** Returns true if the two sets of parameters are equal. */
-        BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
-        { return lhs._min == rhs._min && lhs._max == rhs._max; }
-
-        /** Returns true if the two sets of parameters are different. */
-        BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
-    private:
-
-        IntType _min;
-        IntType _max;
-    };
-
-    /**
-     * Constructs a uniform_int_distribution. @c min and @c max are
-     * the parameters of the distribution.
-     *
-     * Requires: min <= max
-     */
-    explicit uniform_int_distribution(
-        IntType min_arg = 0,
-        IntType max_arg = (std::numeric_limits<IntType>::max)())
-      : _min(min_arg), _max(max_arg)
-    {
-        BOOST_ASSERT(min_arg <= max_arg);
-    }
-    /** Constructs a uniform_int_distribution from its parameters. */
-    explicit uniform_int_distribution(const param_type& parm)
-      : _min(parm.a()), _max(parm.b()) {}
-
-    /**  Returns the minimum value of the distribution */
-    IntType min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _min; }
-    /**  Returns the maximum value of the distribution */
-    IntType max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _max; }
-
-    /**  Returns the minimum value of the distribution */
-    IntType a() const { return _min; }
-    /**  Returns the maximum value of the distribution */
-    IntType b() const { return _max; }
-
-    /** Returns the parameters of the distribution. */
-    param_type param() const { return param_type(_min, _max); }
-    /** Sets the parameters of the distribution. */
-    void param(const param_type& parm)
-    {
-        _min = parm.a();
-        _max = parm.b();
-    }
-
-    /**
-     * Effects: Subsequent uses of the distribution do not depend
-     * on values produced by any engine prior to invoking reset.
-     */
-    void reset() { }
-
-    /** Returns an integer uniformly distributed in the range [min, max]. */
-    template<class Engine>
-    result_type operator()(Engine& eng) const
-    { return detail::generate_uniform_int(eng, _min, _max); }
-
-    /**
-     * Returns an integer uniformly distributed in the range
-     * [param.a(), param.b()].
-     */
-    template<class Engine>
-    result_type operator()(Engine& eng, const param_type& parm) const
-    { return detail::generate_uniform_int(eng, parm.a(), parm.b()); }
-
-    /** Writes the distribution to a @c std::ostream. */
-    BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, uniform_int_distribution, ud)
-    {
-        os << ud.param();
-        return os;
-    }
-
-    /** Reads the distribution from a @c std::istream. */
-    BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, uniform_int_distribution, ud)
-    {
-        param_type parm;
-        if(is >> parm) {
-            ud.param(parm);
-        }
-        return is;
-    }
-
-    /**
-     * Returns true if the two distributions will produce identical sequences
-     * of values given equal generators.
-     */
-    BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(uniform_int_distribution, lhs, rhs)
-    { return lhs._min == rhs._min && lhs._max == rhs._max; }
-    
-    /**
-     * Returns true if the two distributions may produce different sequences
-     * of values given equal generators.
-     */
-    BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(uniform_int_distribution)
-
-private:
-    IntType _min;
-    IntType _max;
-};
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_UNIFORM_INT_HPP
diff --git a/SRC/Boost/boost/random/variate_generator.hpp b/SRC/Boost/boost/random/variate_generator.hpp
deleted file mode 100755
index 33985d6..0000000
--- a/SRC/Boost/boost/random/variate_generator.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/* boost random/variate_generator.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: variate_generator.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_RANDOM_GENERATOR_HPP
-#define BOOST_RANDOM_RANDOM_GENERATOR_HPP
-
-#include <boost/random/detail/ptr_helper.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-
-/// \cond hide_private_members
-
-namespace random {
-
-///\endcond
-
-/**
- * A random variate generator is used to join a random number
- * generator together with a random number distribution.
- * Boost.Random provides a vast choice of \generators as well
- * as \distributions.
- *
- * The argument for the template parameter Engine shall be of
- * the form U, U&, or U*, where U models a
- * \uniform_random_number_generator.  Then, the member
- * engine_value_type names U (not the pointer or reference to U).
- *
- * Specializations of @c variate_generator satisfy the
- * requirements of CopyConstructible. They also satisfy the
- * requirements of Assignable unless the template parameter
- * Engine is of the form U&.
- *
- * The complexity of all functions specified in this section
- * is constant. No function described in this section except
- * the constructor throws an exception.
- */
-template<class Engine, class Distribution>
-class variate_generator
-{
-private:
-    typedef boost::random::detail::ptr_helper<Engine> helper_type;
-public:
-    typedef typename helper_type::value_type engine_value_type;
-    typedef Engine engine_type;
-    typedef Distribution distribution_type;
-    typedef typename Distribution::result_type result_type;
-
-    /**
-     * Constructs a @c variate_generator object with the associated
-     * \uniform_random_number_generator eng and the associated
-     * \random_distribution d.
-     *
-     * Throws: If and what the copy constructor of Engine or
-     * Distribution throws.
-     */
-    variate_generator(Engine e, Distribution d)
-      : _eng(e), _dist(d) { }
-
-    /** Returns: distribution()(engine()) */
-    result_type operator()() { return _dist(engine()); }
-    /**
-     * Returns: distribution()(engine(), value).
-     */
-    template<class T>
-    result_type operator()(const T& value) { return _dist(engine(), value); }
-
-    /**
-     * Returns: A reference to the associated uniform random number generator.
-     */
-    engine_value_type& engine() { return helper_type::ref(_eng); }
-    /**
-     * Returns: A reference to the associated uniform random number generator.
-     */
-    const engine_value_type& engine() const { return helper_type::ref(_eng); }
-
-    /** Returns: A reference to the associated \random_distribution. */
-    distribution_type& distribution() { return _dist; }
-    /**
-     * Returns: A reference to the associated random distribution.
-     */
-    const distribution_type& distribution() const { return _dist; }
-
-    /**
-     * Precondition: distribution().min() is well-formed
-     *
-     * Returns: distribution().min()
-     */
-    result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (distribution().min)(); }
-    /**
-     * Precondition: distribution().max() is well-formed
-     *
-     * Returns: distribution().max()
-     */
-    result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (distribution().max)(); }
-
-private:
-    Engine _eng;
-    distribution_type _dist;
-};
-
-} // namespace random
-
-using random::variate_generator;
-
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_RANDOM_GENERATOR_HPP
diff --git a/SRC/Boost/boost/range/algorithm/equal.hpp b/SRC/Boost/boost/range/algorithm/equal.hpp
deleted file mode 100755
index 0cb3324..0000000
--- a/SRC/Boost/boost/range/algorithm/equal.hpp
+++ /dev/null
@@ -1,188 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2009.
-//  Use, modification and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-#ifndef BOOST_RANGE_ALGORITHM_EQUAL_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_EQUAL_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/range/concepts.hpp>
-#include <iterator>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        // An implementation of equality comparison that is optimized for iterator
-        // traversal categories less than RandomAccessTraversal.
-        template< class SinglePassTraversalReadableIterator1,
-                  class SinglePassTraversalReadableIterator2,
-                  class IteratorCategoryTag1,
-                  class IteratorCategoryTag2 >
-        inline bool equal_impl( SinglePassTraversalReadableIterator1 first1,
-                                SinglePassTraversalReadableIterator1 last1,
-                                SinglePassTraversalReadableIterator2 first2,
-                                SinglePassTraversalReadableIterator2 last2,
-                                IteratorCategoryTag1,
-                                IteratorCategoryTag2 )
-        {
-            do
-            {
-                // If we have reached the end of the left range then this is
-                // the end of the loop. They are equal if and only if we have
-                // simultaneously reached the end of the right range.
-                if (first1 == last1)
-                    return first2 == last2;
-
-                // If we have reached the end of the right range at this line
-                // it indicates that the right range is shorter than the left
-                // and hence the result is false.
-                if (first2 == last2)
-                    return false;
-
-                // continue looping if and only if the values are equal
-            } while(*first1++ == *first2++);
-
-            // Reaching this line in the algorithm indicates that a value
-            // inequality has been detected.
-            return false;
-        }
-
-        template< class SinglePassTraversalReadableIterator1,
-                  class SinglePassTraversalReadableIterator2,
-                  class IteratorCategoryTag1,
-                  class IteratorCategoryTag2,
-                  class BinaryPredicate >
-        inline bool equal_impl( SinglePassTraversalReadableIterator1 first1,
-                                SinglePassTraversalReadableIterator1 last1,
-                                SinglePassTraversalReadableIterator2 first2,
-                                SinglePassTraversalReadableIterator2 last2,
-                                BinaryPredicate                      pred,
-                                IteratorCategoryTag1,
-                                IteratorCategoryTag2 )
-        {
-            do
-            {
-                // If we have reached the end of the left range then this is
-                // the end of the loop. They are equal if and only if we have
-                // simultaneously reached the end of the right range.
-                if (first1 == last1)
-                    return first2 == last2;
-
-                // If we have reached the end of the right range at this line
-                // it indicates that the right range is shorter than the left
-                // and hence the result is false.
-                if (first2 == last2)
-                    return false;
-
-                // continue looping if and only if the values are equal
-            } while(pred(*first1++, *first2++));
-
-            // Reaching this line in the algorithm indicates that a value
-            // inequality has been detected.
-            return false;
-        }
-
-        // An implementation of equality comparison that is optimized for
-        // random access iterators.
-        template< class RandomAccessTraversalReadableIterator1,
-                  class RandomAccessTraversalReadableIterator2 >
-        inline bool equal_impl( RandomAccessTraversalReadableIterator1 first1,
-                                RandomAccessTraversalReadableIterator1 last1,
-                                RandomAccessTraversalReadableIterator2 first2,
-                                RandomAccessTraversalReadableIterator2 last2,
-                                std::random_access_iterator_tag,
-                                std::random_access_iterator_tag )
-        {
-            return ((last1 - first1) == (last2 - first2))
-                && std::equal(first1, last1, first2);
-        }
-
-        template< class RandomAccessTraversalReadableIterator1,
-                  class RandomAccessTraversalReadableIterator2,
-                  class BinaryPredicate >
-        inline bool equal_impl( RandomAccessTraversalReadableIterator1 first1,
-                                RandomAccessTraversalReadableIterator1 last1,
-                                RandomAccessTraversalReadableIterator2 first2,
-                                RandomAccessTraversalReadableIterator2 last2,
-                                BinaryPredicate                        pred )
-        {
-            return ((last1 - first1) == (last2 - first2))
-                && std::equal(first1, last1, first2, pred);
-        }
-
-        template< class SinglePassTraversalReadableIterator1,
-                  class SinglePassTraversalReadableIterator2 >
-        inline bool equal( SinglePassTraversalReadableIterator1 first1,
-                           SinglePassTraversalReadableIterator1 last1,
-                           SinglePassTraversalReadableIterator2 first2,
-                           SinglePassTraversalReadableIterator2 last2 )
-        {
-            BOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator1 >::iterator_category tag1;
-            BOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator2 >::iterator_category tag2;
-
-            return equal_impl(first1, last1, first2, last2, tag1, tag2);
-        }
-
-        template< class SinglePassTraversalReadableIterator1,
-                  class SinglePassTraversalReadableIterator2,
-                  class BinaryPredicate >
-        inline bool equal( SinglePassTraversalReadableIterator1 first1,
-                           SinglePassTraversalReadableIterator1 last1,
-                           SinglePassTraversalReadableIterator2 first2,
-                           SinglePassTraversalReadableIterator2 last2,
-                           BinaryPredicate                      pred )
-        {
-            BOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator1 >::iterator_category tag1;
-            BOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator2 >::iterator_category tag2;
-
-            return equal_impl(first1, last1, first2, last2, pred, tag1, tag2);
-        }
-
-    } // namespace range_detail
-
-    namespace range
-    {
-
-        /// \brief template function equal
-        ///
-        /// range-based version of the equal std algorithm
-        ///
-        /// \pre SinglePassRange1 is a model of the SinglePassRangeConcept
-        /// \pre SinglePassRange2 is a model of the SinglePassRangeConcept
-        /// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-        template< class SinglePassRange1, class SinglePassRange2 >
-        inline bool equal( const SinglePassRange1& rng1, const SinglePassRange2& rng2 )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-
-            return ::boost::range_detail::equal(
-                ::boost::begin(rng1), ::boost::end(rng1),
-                ::boost::begin(rng2), ::boost::end(rng2) );
-        }
-
-        /// \overload
-        template< class SinglePassRange1, class SinglePassRange2, class BinaryPredicate >
-        inline bool equal( const SinglePassRange1& rng1, const SinglePassRange2& rng2,
-                           BinaryPredicate pred )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-
-            return ::boost::range_detail::equal(
-                ::boost::begin(rng1), ::boost::end(rng1),
-                ::boost::begin(rng2), ::boost::end(rng2),
-                pred);
-        }
-
-    } // namespace range
-    using range::equal;
-} // namespace boost
-
-#endif // include guard
diff --git a/SRC/Boost/boost/range/as_literal.hpp b/SRC/Boost/boost/range/as_literal.hpp
deleted file mode 100755
index 3ef1cc3..0000000
--- a/SRC/Boost/boost/range/as_literal.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2006. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_AS_LITERAL_HPP
-#define BOOST_RANGE_AS_LITERAL_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#include <boost/range/detail/as_literal.hpp>
-#else
-
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/detail/str_types.hpp>
-
-#include <boost/detail/workaround.hpp>
-
-#include <cstring>
-#ifndef BOOST_NO_CWCHAR
-#include <cwchar>
-#endif
-
-namespace boost
-{
-    namespace range_detail
-    {
-        inline std::size_t length( const char* s )
-        {
-            return strlen( s );
-        }
-
-#ifndef BOOST_NO_CWCHAR
-        inline std::size_t length( const wchar_t* s )
-        {
-            return wcslen( s );
-        }
-#endif
-
-        //
-        // Remark: the compiler cannot choose between T* and T[sz]
-        // overloads, so we must put the T* internal to the
-        // unconstrained version.
-        //
-
-        inline bool is_char_ptr( char* )
-        {
-            return true;
-        }
-
-        inline bool is_char_ptr( const char* )
-        {
-            return true;
-        }
-
-#ifndef BOOST_NO_CWCHAR
-        inline bool is_char_ptr( wchar_t* )
-        {
-            return true;
-        }
-
-        inline bool is_char_ptr( const wchar_t* )
-        {
-            return true;
-        }
-#endif
-
-        template< class T >
-        inline long is_char_ptr( T /* r */ )
-        {
-            return 0L;
-        }
-
-        template< class T >
-        inline iterator_range<T*>
-        make_range( T* const r, bool )
-        {
-            return iterator_range<T*>( r, r + length(r) );
-        }
-
-        template< class T >
-        inline iterator_range<BOOST_DEDUCED_TYPENAME range_iterator<T>::type>
-        make_range( T& r, long )
-        {
-            return boost::make_iterator_range( r );
-        }
-
-    }
-
-    template< class Range >
-    inline iterator_range<BOOST_DEDUCED_TYPENAME range_iterator<Range>::type>
-    as_literal( Range& r )
-    {
-        return range_detail::make_range( r, range_detail::is_char_ptr(r) );
-    }
-
-    template< class Range >
-    inline iterator_range<BOOST_DEDUCED_TYPENAME range_iterator<const Range>::type>
-    as_literal( const Range& r )
-    {
-        return range_detail::make_range( r, range_detail::is_char_ptr(r) );
-    }
-
-    template< class Char, std::size_t sz >
-    inline iterator_range<Char*> as_literal( Char (&arr)[sz] )
-    {
-        return range_detail::make_range( arr, range_detail::is_char_ptr(arr) );
-    }
-
-    template< class Char, std::size_t sz >
-    inline iterator_range<const Char*> as_literal( const Char (&arr)[sz] )
-    {
-        return range_detail::make_range( arr, range_detail::is_char_ptr(arr) );
-    }
-}
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-#endif
diff --git a/SRC/Boost/boost/range/begin.hpp b/SRC/Boost/boost/range/begin.hpp
deleted file mode 100755
index 3c7ebab..0000000
--- a/SRC/Boost/boost/range/begin.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_BEGIN_HPP
-#define BOOST_RANGE_BEGIN_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#include <boost/range/detail/begin.hpp>
-#else
-
-#include <boost/range/iterator.hpp>
-
-namespace boost
-{
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
-    /**/
-namespace range_detail
-{
-#endif
-
-    //////////////////////////////////////////////////////////////////////
-    // primary template
-    //////////////////////////////////////////////////////////////////////
-
-    template< typename C >
-    inline BOOST_DEDUCED_TYPENAME range_iterator<C>::type
-    range_begin( C& c )
-    {
-        //
-        // If you get a compile-error here, it is most likely because
-        // you have not implemented range_begin() properly in
-        // the namespace of C
-        //
-        return c.begin();
-    }
-
-    //////////////////////////////////////////////////////////////////////
-    // pair
-    //////////////////////////////////////////////////////////////////////
-
-    template< typename Iterator >
-    inline Iterator range_begin( const std::pair<Iterator,Iterator>& p )
-    {
-        return p.first;
-    }
-
-    template< typename Iterator >
-    inline Iterator range_begin( std::pair<Iterator,Iterator>& p )
-    {
-        return p.first;
-    }
-
-    //////////////////////////////////////////////////////////////////////
-    // array
-    //////////////////////////////////////////////////////////////////////
-
-    //
-    // May this be discarded? Or is it needed for bad compilers?
-    //
-    template< typename T, std::size_t sz >
-    inline const T* range_begin( const T (&a)[sz] )
-    {
-        return a;
-    }
-
-    template< typename T, std::size_t sz >
-    inline T* range_begin( T (&a)[sz] )
-    {
-        return a;
-    }
-
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
-    /**/
-} // namespace 'range_detail'
-#endif
-
-// Use a ADL namespace barrier to avoid ambiguity with other unqualified
-// calls. This is particularly important with C++0x encouraging
-// unqualified calls to begin/end.
-namespace range_adl_barrier
-{
-
-template< class T >
-inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type begin( T& r )
-{
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
-    /**/
-    using namespace range_detail;
-#endif
-    return range_begin( r );
-}
-
-template< class T >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type begin( const T& r )
-{
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
-    /**/
-    using namespace range_detail;
-#endif
-    return range_begin( r );
-}
-
-    } // namespace range_adl_barrier
-} // namespace boost
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-namespace boost
-{
-    namespace range_adl_barrier
-    {
-        template< class T >
-        inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type
-        const_begin( const T& r )
-        {
-            return boost::range_adl_barrier::begin( r );
-        }
-    } // namespace range_adl_barrier
-
-    using namespace range_adl_barrier;
-} // namespace boost
-
-#endif
-
diff --git a/SRC/Boost/boost/range/concepts.hpp b/SRC/Boost/boost/range/concepts.hpp
deleted file mode 100755
index 06420cc..0000000
--- a/SRC/Boost/boost/range/concepts.hpp
+++ /dev/null
@@ -1,366 +0,0 @@
-// Boost.Range library concept checks
-//
-//  Copyright Neil Groves 2009. Use, modification and distribution
-//  are subject to the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  Copyright Daniel Walker 2006. Use, modification and distribution
-//  are subject to the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_CONCEPTS_HPP
-#define BOOST_RANGE_CONCEPTS_HPP
-
-#include <boost/concept_check.hpp>
-#include <boost/iterator/iterator_concepts.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/range/detail/misc_concept.hpp>
-
-/*!
- * \file
- * \brief Concept checks for the Boost Range library.
- *
- * The structures in this file may be used in conjunction with the
- * Boost Concept Check library to insure that the type of a function
- * parameter is compatible with a range concept. If not, a meaningful
- * compile time error is generated. Checks are provided for the range
- * concepts related to iterator traversal categories. For example, the
- * following line checks that the type T models the ForwardRange
- * concept.
- *
- * \code
- * BOOST_CONCEPT_ASSERT((ForwardRangeConcept<T>));
- * \endcode
- *
- * A different concept check is required to ensure writeable value
- * access. For example to check for a ForwardRange that can be written
- * to, the following code is required.
- *
- * \code
- * BOOST_CONCEPT_ASSERT((WriteableForwardRangeConcept<T>));
- * \endcode
- *
- * \see http://www.boost.org/libs/range/doc/range.html for details
- * about range concepts.
- * \see http://www.boost.org/libs/iterator/doc/iterator_concepts.html
- * for details about iterator concepts.
- * \see http://www.boost.org/libs/concept_check/concept_check.htm for
- * details about concept checks.
- */
-
-namespace boost {
-
-    namespace range_detail {
-
-#ifndef BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-
-// List broken compiler versions here:
-    #ifdef __GNUC__
-        // GNUC 4.2 has strange issues correctly detecting compliance with the Concepts
-        // hence the least disruptive approach is to turn-off the concept checking for
-        // this version of the compiler.
-        #if __GNUC__ == 4 && __GNUC_MINOR__ == 2
-            #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
-        #endif
-    #endif
-
-    #ifdef __BORLANDC__
-        #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
-    #endif
-
-    #ifdef __PATHCC__
-        #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
-    #endif
-
-// Default to using the concept asserts unless we have defined it off
-// during the search for black listed compilers.
-    #ifndef BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-        #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 1
-    #endif
-
-#endif
-
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-    #define BOOST_RANGE_CONCEPT_ASSERT( x ) BOOST_CONCEPT_ASSERT( x )
-#else
-    #define BOOST_RANGE_CONCEPT_ASSERT( x )
-#endif
-
-        // Rationale for the inclusion of redefined iterator concept
-        // classes:
-        //
-        // The Range algorithms often do not require that the iterators are
-        // Assignable or default constructable, but the correct standard
-        // conformant iterators do require the iterators to be a model of the
-        // Assignable concept.
-        // Iterators that contains a functor that is not assignable therefore
-        // are not correct models of the standard iterator concepts,
-        // despite being adequate for most algorithms. An example of this
-        // use case is the combination of the boost::adaptors::filtered
-        // class with a boost::lambda::bind generated functor.
-        // Ultimately modeling the range concepts using composition
-        // with the Boost.Iterator concepts would render the library
-        // incompatible with many common Boost.Lambda expressions.
-        template<class Iterator>
-        struct IncrementableIteratorConcept : CopyConstructible<Iterator>
-        {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-            typedef BOOST_DEDUCED_TYPENAME iterator_traversal<Iterator>::type traversal_category;
-
-            BOOST_RANGE_CONCEPT_ASSERT((
-                Convertible<
-                    traversal_category,
-                    incrementable_traversal_tag
-                >));
-
-            BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
-            {
-                ++i;
-                (void)i++;
-            }
-        private:
-            Iterator i;
-#endif
-        };
-
-        template<class Iterator>
-        struct SinglePassIteratorConcept
-            : IncrementableIteratorConcept<Iterator>
-            , EqualityComparable<Iterator>
-        {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-            BOOST_RANGE_CONCEPT_ASSERT((
-                Convertible<
-                    BOOST_DEDUCED_TYPENAME SinglePassIteratorConcept::traversal_category,
-                    single_pass_traversal_tag
-                >));
-
-            BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
-            {
-                Iterator i2(++i);
-                boost::ignore_unused_variable_warning(i2);
-
-                // deliberately we are loose with the postfix version for the single pass
-                // iterator due to the commonly poor adherence to the specification means that
-                // many algorithms would be unusable, whereas actually without the check they
-                // work
-                (void)(i++);
-
-                BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference r1(*i);
-                boost::ignore_unused_variable_warning(r1);
-
-                BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference r2(*(++i));
-                boost::ignore_unused_variable_warning(r2);
-            }
-        private:
-            Iterator i;
-#endif
-        };
-
-        template<class Iterator>
-        struct ForwardIteratorConcept
-            : SinglePassIteratorConcept<Iterator>
-            , DefaultConstructible<Iterator>
-        {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-            typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::difference_type difference_type;
-
-            BOOST_MPL_ASSERT((is_integral<difference_type>));
-            BOOST_MPL_ASSERT_RELATION(std::numeric_limits<difference_type>::is_signed, ==, true);
-
-            BOOST_RANGE_CONCEPT_ASSERT((
-                Convertible<
-                    BOOST_DEDUCED_TYPENAME ForwardIteratorConcept::traversal_category,
-                    forward_traversal_tag
-                >));
-
-            BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
-            {
-                // See the above note in the SinglePassIteratorConcept about the handling of the
-                // postfix increment. Since with forward and better iterators there is no need
-                // for a proxy, we can sensibly require that the dereference result
-                // is convertible to reference.
-                Iterator i2(i++);
-                boost::ignore_unused_variable_warning(i2);
-                BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference r(*(i++));
-                boost::ignore_unused_variable_warning(r);
-            }
-        private:
-            Iterator i;
-#endif
-         };
-
-         template<class Iterator>
-         struct BidirectionalIteratorConcept
-             : ForwardIteratorConcept<Iterator>
-         {
- #if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-             BOOST_RANGE_CONCEPT_ASSERT((
-                 Convertible<
-                     BOOST_DEDUCED_TYPENAME BidirectionalIteratorConcept::traversal_category,
-                     bidirectional_traversal_tag
-                 >));
-
-             BOOST_CONCEPT_USAGE(BidirectionalIteratorConcept)
-             {
-                 --i;
-                 (void)i--;
-             }
-         private:
-             Iterator i;
- #endif
-         };
-
-         template<class Iterator>
-         struct RandomAccessIteratorConcept
-             : BidirectionalIteratorConcept<Iterator>
-         {
- #if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-             BOOST_RANGE_CONCEPT_ASSERT((
-                 Convertible<
-                     BOOST_DEDUCED_TYPENAME RandomAccessIteratorConcept::traversal_category,
-                     random_access_traversal_tag
-                 >));
-
-             BOOST_CONCEPT_USAGE(RandomAccessIteratorConcept)
-             {
-                 i += n;
-                 i = i + n;
-                 i = n + i;
-                 i -= n;
-                 i = i - n;
-                 n = i - j;
-             }
-         private:
-             BOOST_DEDUCED_TYPENAME RandomAccessIteratorConcept::difference_type n;
-             Iterator i;
-             Iterator j;
- #endif
-         };
-
-    } // namespace range_detail
-
-    //! Check if a type T models the SinglePassRange range concept.
-    template<class T>
-    struct SinglePassRangeConcept
-    {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-         typedef BOOST_DEDUCED_TYPENAME range_iterator<T const>::type  const_iterator;
-         typedef BOOST_DEDUCED_TYPENAME range_iterator<T>::type        iterator;
-
-         BOOST_RANGE_CONCEPT_ASSERT((range_detail::SinglePassIteratorConcept<iterator>));
-         BOOST_RANGE_CONCEPT_ASSERT((range_detail::SinglePassIteratorConcept<const_iterator>));
-
-         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
-         {
-            // This has been modified from assigning to this->i
-            // (where i was a member variable) to improve
-            // compatibility with Boost.Lambda
-            iterator i1 = boost::begin(*m_range);
-            iterator i2 = boost::end(*m_range);
-
-            ignore_unused_variable_warning(i1);
-            ignore_unused_variable_warning(i2);
-
-            const_constraints(*m_range);
-        }
-
-    private:
-        void const_constraints(const T& const_range)
-        {
-            const_iterator ci1 = boost::begin(const_range);
-            const_iterator ci2 = boost::end(const_range);
-
-            ignore_unused_variable_warning(ci1);
-            ignore_unused_variable_warning(ci2);
-        }
-
-       // Rationale:
-       // The type of m_range is T* rather than T because it allows
-       // T to be an abstract class. The other obvious alternative of
-       // T& produces a warning on some compilers.
-       T* m_range;
-#endif
-    };
-
-    //! Check if a type T models the ForwardRange range concept.
-    template<class T>
-    struct ForwardRangeConcept : SinglePassRangeConcept<T>
-    {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-        BOOST_RANGE_CONCEPT_ASSERT((range_detail::ForwardIteratorConcept<BOOST_DEDUCED_TYPENAME ForwardRangeConcept::iterator>));
-        BOOST_RANGE_CONCEPT_ASSERT((range_detail::ForwardIteratorConcept<BOOST_DEDUCED_TYPENAME ForwardRangeConcept::const_iterator>));
-#endif
-    };
-
-    template<class Range>
-    struct WriteableRangeConcept
-    {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-        typedef BOOST_DEDUCED_TYPENAME range_iterator<Range>::type iterator;
-
-        BOOST_CONCEPT_USAGE(WriteableRangeConcept)
-        {
-            *i = v;
-        }
-    private:
-        iterator i;
-        BOOST_DEDUCED_TYPENAME range_value<Range>::type v;
-#endif
-    };
-
-    //! Check if a type T models the WriteableForwardRange range concept.
-    template<class T>
-    struct WriteableForwardRangeConcept
-        : ForwardRangeConcept<T>
-        , WriteableRangeConcept<T>
-    {
-    };
-
-    //! Check if a type T models the BidirectionalRange range concept.
-    template<class T>
-    struct BidirectionalRangeConcept : ForwardRangeConcept<T>
-    {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-        BOOST_RANGE_CONCEPT_ASSERT((BidirectionalIteratorConcept<BOOST_DEDUCED_TYPENAME BidirectionalRangeConcept::iterator>));
-        BOOST_RANGE_CONCEPT_ASSERT((BidirectionalIteratorConcept<BOOST_DEDUCED_TYPENAME BidirectionalRangeConcept::const_iterator>));
-#endif
-    };
-
-    //! Check if a type T models the WriteableBidirectionalRange range concept.
-    template<class T>
-    struct WriteableBidirectionalRangeConcept
-        : BidirectionalRangeConcept<T>
-        , WriteableRangeConcept<T>
-    {
-    };
-
-    //! Check if a type T models the RandomAccessRange range concept.
-    template<class T>
-    struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
-    {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-        BOOST_RANGE_CONCEPT_ASSERT((RandomAccessIteratorConcept<BOOST_DEDUCED_TYPENAME RandomAccessRangeConcept::iterator>));
-        BOOST_RANGE_CONCEPT_ASSERT((RandomAccessIteratorConcept<BOOST_DEDUCED_TYPENAME RandomAccessRangeConcept::const_iterator>));
-#endif
-    };
-
-    //! Check if a type T models the WriteableRandomAccessRange range concept.
-    template<class T>
-    struct WriteableRandomAccessRangeConcept
-        : RandomAccessRangeConcept<T>
-        , WriteableRangeConcept<T>
-    {
-    };
-
-} // namespace boost
-
-#endif // BOOST_RANGE_CONCEPTS_HPP
diff --git a/SRC/Boost/boost/range/config.hpp b/SRC/Boost/boost/range/config.hpp
deleted file mode 100755
index be59802..0000000
--- a/SRC/Boost/boost/range/config.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_CONFIG_HPP
-#define BOOST_RANGE_CONFIG_HPP
-
-#include <boost/detail/workaround.hpp>
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_RANGE_DEDUCED_TYPENAME
-#error "macro already defined!"
-#endif
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-# define BOOST_RANGE_DEDUCED_TYPENAME typename
-#else
-# if BOOST_WORKAROUND(BOOST_MSVC, == 1300) && !defined(_MSC_EXTENSIONS)
-#  define BOOST_RANGE_DEDUCED_TYPENAME typename
-# else
-#  define BOOST_RANGE_DEDUCED_TYPENAME BOOST_DEDUCED_TYPENAME
-# endif
-#endif
-
-#ifdef BOOST_RANGE_NO_ARRAY_SUPPORT
-#error "macro already defined!"
-#endif
-
-#if BOOST_WORKAROUND( BOOST_MSVC, < 1300 ) || BOOST_WORKAROUND( __MWERKS__, <= 0x3003 )
-#define BOOST_RANGE_NO_ARRAY_SUPPORT 1
-#endif
-
-#ifdef BOOST_RANGE_NO_ARRAY_SUPPORT
-#define BOOST_RANGE_ARRAY_REF() (boost_range_array)
-#define BOOST_RANGE_NO_STATIC_ASSERT
-#else
-#define BOOST_RANGE_ARRAY_REF() (&boost_range_array)
-#endif
-
-
-
-#endif
-
diff --git a/SRC/Boost/boost/range/const_iterator.hpp b/SRC/Boost/boost/range/const_iterator.hpp
deleted file mode 100755
index 86486cb..0000000
--- a/SRC/Boost/boost/range/const_iterator.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_CONST_ITERATOR_HPP
-#define BOOST_RANGE_CONST_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/range/detail/const_iterator.hpp>
-#else
-
-#include <boost/range/detail/extract_optional_type.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <cstddef>
-#include <utility>
-
-namespace boost
-{
-    //////////////////////////////////////////////////////////////////////////
-    // default
-    //////////////////////////////////////////////////////////////////////////
-    
-    namespace range_detail {
-        BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( const_iterator )
-    }
-
-    template< typename C >
-    struct range_const_iterator : range_detail::extract_const_iterator<C>
-    {};
-    
-    //////////////////////////////////////////////////////////////////////////
-    // pair
-    //////////////////////////////////////////////////////////////////////////
-
-    template< typename Iterator >
-    struct range_const_iterator< std::pair<Iterator,Iterator> >
-    {
-        typedef Iterator type;
-    };
-    
-    //////////////////////////////////////////////////////////////////////////
-    // array
-    //////////////////////////////////////////////////////////////////////////
-
-    template< typename T, std::size_t sz >
-    struct range_const_iterator< T[sz] >
-    {
-        typedef const T* type;
-    };
-
-} // namespace boost
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif
diff --git a/SRC/Boost/boost/range/detail/as_literal.hpp b/SRC/Boost/boost/range/detail/as_literal.hpp
deleted file mode 100755
index fb85321..0000000
--- a/SRC/Boost/boost/range/detail/as_literal.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2006. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_AS_LITERAL_HPP
-#define BOOST_RANGE_DETAIL_AS_LITERAL_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/detail/detail_str.hpp>
-#include <boost/range/iterator_range.hpp>
-
-namespace boost
-{
-    template< class Range >
-    inline iterator_range<BOOST_DEDUCED_TYPENAME range_iterator<Range>::type> 
-    as_literal( Range& r )
-    {
-        return ::boost::make_iterator_range( ::boost::range_detail::str_begin(r),
-                                             ::boost::range_detail::str_end(r) );
-    }
-
-}
-
-#endif
diff --git a/SRC/Boost/boost/range/detail/begin.hpp b/SRC/Boost/boost/range/detail/begin.hpp
deleted file mode 100755
index 0592c9b..0000000
--- a/SRC/Boost/boost/range/detail/begin.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_BEGIN_HPP
-#define BOOST_RANGE_DETAIL_BEGIN_HPP
-
-#include <boost/config.hpp> // BOOST_MSVC
-#include <boost/detail/workaround.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/detail/common.hpp>
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1310)
-# include <boost/range/value_type.hpp>
-#endif
-
-namespace boost
-{
-
-    namespace range_detail
-    {
-        template< typename T >
-        struct range_begin;
-
-        //////////////////////////////////////////////////////////////////////
-        // default
-        //////////////////////////////////////////////////////////////////////
-
-        template<>
-        struct range_begin<std_container_>
-        {
-            template< typename C >
-            static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type fun( C& c )
-            {
-                return c.begin();
-            };
-        };
-
-        //////////////////////////////////////////////////////////////////////
-        // pair
-        //////////////////////////////////////////////////////////////////////
-
-        template<>
-        struct range_begin<std_pair_>
-        {
-            template< typename P >
-            static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<P>::type fun( const P& p )
-            {
-                return p.first;
-            }
-        };
-
-        //////////////////////////////////////////////////////////////////////
-        // array
-        //////////////////////////////////////////////////////////////////////
-
-        template<>
-        struct range_begin<array_>
-        {
-        #if !BOOST_WORKAROUND(BOOST_MSVC, < 1310)
-            template< typename T, std::size_t sz >
-            static T* fun( T BOOST_RANGE_ARRAY_REF()[sz] )
-            {
-                return boost_range_array;
-            }
-        #else
-            template<typename T>
-            static BOOST_RANGE_DEDUCED_TYPENAME range_value<T>::type* fun(T& t)
-            {
-                return t;
-            }
-        #endif
-        };
-
-    } // namespace 'range_detail'
-
-    namespace range_adl_barrier
-    {
-        template< typename C >
-        inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
-        begin( C& c )
-        {
-            return range_detail::range_begin< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
-        }
-    }
-} // namespace 'boost'
-
-
-#endif
diff --git a/SRC/Boost/boost/range/detail/common.hpp b/SRC/Boost/boost/range/detail/common.hpp
deleted file mode 100755
index d4e60b1..0000000
--- a/SRC/Boost/boost/range/detail/common.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_COMMON_HPP
-#define BOOST_RANGE_DETAIL_COMMON_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/detail/sfinae.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/int.hpp>
-#include <cstddef>
-
-//////////////////////////////////////////////////////////////////////////////
-// missing partial specialization  workaround.
-//////////////////////////////////////////////////////////////////////////////
-
-namespace boost 
-{
-    namespace range_detail 
-    {        
-        // 1 = std containers
-        // 2 = std::pair
-        // 3 = const std::pair
-        // 4 = array
-        // 5 = const array
-        // 6 = char array
-        // 7 = wchar_t array
-        // 8 = char*
-        // 9 = const char*
-        // 10 = whar_t*
-        // 11 = const wchar_t*
-        // 12 = string
-        
-        typedef mpl::int_<1>::type    std_container_;
-        typedef mpl::int_<2>::type    std_pair_;
-        typedef mpl::int_<3>::type    const_std_pair_;
-        typedef mpl::int_<4>::type    array_;
-        typedef mpl::int_<5>::type    const_array_;
-        typedef mpl::int_<6>::type    char_array_;
-        typedef mpl::int_<7>::type    wchar_t_array_;
-        typedef mpl::int_<8>::type    char_ptr_;
-        typedef mpl::int_<9>::type    const_char_ptr_;
-        typedef mpl::int_<10>::type   wchar_t_ptr_;
-        typedef mpl::int_<11>::type   const_wchar_t_ptr_;
-        typedef mpl::int_<12>::type   string_;
-        
-        template< typename C >
-        struct range_helper
-        {
-            static C* c;
-            static C  ptr;
-
-            BOOST_STATIC_CONSTANT( bool, is_pair_                = sizeof( boost::range_detail::is_pair_impl( c ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_char_ptr_            = sizeof( boost::range_detail::is_char_ptr_impl( ptr ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_const_char_ptr_      = sizeof( boost::range_detail::is_const_char_ptr_impl( ptr ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_wchar_t_ptr_         = sizeof( boost::range_detail::is_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_const_wchar_t_ptr_   = sizeof( boost::range_detail::is_const_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_char_array_          = sizeof( boost::range_detail::is_char_array_impl( ptr ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_wchar_t_array_       = sizeof( boost::range_detail::is_wchar_t_array_impl( ptr ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_string_              = (boost::type_traits::ice_or<is_const_char_ptr_, is_const_wchar_t_ptr_>::value ));
-            BOOST_STATIC_CONSTANT( bool, is_array_               = boost::is_array<C>::value );
-            
-        };
-        
-        template< typename C >
-        class range
-        {
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_pair_,
-                                                                  boost::range_detail::std_pair_,
-                                                                  void >::type pair_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_array_,
-                                                                    boost::range_detail::array_,
-                                                                    pair_t >::type array_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_string_,
-                                                                    boost::range_detail::string_,
-                                                                    array_t >::type string_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_const_char_ptr_,
-                                                                    boost::range_detail::const_char_ptr_,
-                                                                    string_t >::type const_char_ptr_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_char_ptr_,
-                                                                    boost::range_detail::char_ptr_,
-                                                                    const_char_ptr_t >::type char_ptr_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_const_wchar_t_ptr_,
-                                                                    boost::range_detail::const_wchar_t_ptr_,
-                                                                    char_ptr_t >::type const_wchar_ptr_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_wchar_t_ptr_,
-                                                                    boost::range_detail::wchar_t_ptr_,
-                                                                    const_wchar_ptr_t >::type wchar_ptr_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_wchar_t_array_,
-                                                                    boost::range_detail::wchar_t_array_,
-                                                                    wchar_ptr_t >::type wchar_array_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_char_array_,
-                                                                    boost::range_detail::char_array_,
-                                                                    wchar_array_t >::type char_array_t;
-        public:
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   boost::mpl::if_c< ::boost::is_void<char_array_t>::value,
-                                                                    boost::range_detail::std_container_,
-                                                                    char_array_t >::type type;  
-        }; // class 'range' 
-    }
-}
-        
-#endif
-
diff --git a/SRC/Boost/boost/range/detail/const_iterator.hpp b/SRC/Boost/boost/range/detail/const_iterator.hpp
deleted file mode 100755
index 347f4fe..0000000
--- a/SRC/Boost/boost/range/detail/const_iterator.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_CONST_ITERATOR_HPP
-#define BOOST_RANGE_DETAIL_CONST_ITERATOR_HPP
-
-#include <boost/range/detail/common.hpp>
-#include <boost/range/detail/remove_extent.hpp>
-
-//////////////////////////////////////////////////////////////////////////////
-// missing partial specialization  workaround.
-//////////////////////////////////////////////////////////////////////////////
-
-namespace boost 
-{
-    namespace range_detail 
-    {      
-        template< typename T >
-        struct range_const_iterator_;
-
-        template<>
-        struct range_const_iterator_<std_container_>
-        {
-            template< typename C >
-            struct pts
-            {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME C::const_iterator type;
-            };
-        };
-
-        template<>
-        struct range_const_iterator_<std_pair_>
-        {
-            template< typename P >
-            struct pts
-            {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME P::first_type type;
-            };
-        };
-
-
-        template<>
-        struct range_const_iterator_<array_>
-        { 
-            template< typename T >
-            struct pts
-            {
-                typedef const BOOST_RANGE_DEDUCED_TYPENAME 
-                    remove_extent<T>::type* type;
-            };
-        };
-    } 
-    
-    template< typename C >
-    class range_const_iterator
-    {
-        typedef BOOST_DEDUCED_TYPENAME range_detail::range<C>::type c_type;
-    public:
-        typedef BOOST_DEDUCED_TYPENAME range_detail::range_const_iterator_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type; 
-    };
-
-}
-
-#endif
diff --git a/SRC/Boost/boost/range/detail/detail_str.hpp b/SRC/Boost/boost/range/detail/detail_str.hpp
deleted file mode 100755
index c014812..0000000
--- a/SRC/Boost/boost/range/detail/detail_str.hpp
+++ /dev/null
@@ -1,376 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_DETAIL_STR_HPP
-#define BOOST_RANGE_DETAIL_DETAIL_STR_HPP
-
-#include <boost/config.hpp> // BOOST_MSVC
-#include <boost/range/iterator.hpp>
-
-namespace boost 
-{
-    
-    namespace range_detail
-    {
-        //
-        // iterator
-        //
-        
-        template<>
-        struct range_iterator_<char_array_>
-        { 
-            template< typename T >
-            struct pts
-            {
-                 typedef BOOST_RANGE_DEDUCED_TYPENAME 
-                    remove_extent<T>::type* type;
-            };
-        };
-
-        template<>
-        struct range_iterator_<char_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef char* type; 
-            };         
-        };
-
-        template<>
-        struct range_iterator_<const_char_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef const char* type;
-            };         
-        };
-
-        template<>
-        struct range_iterator_<wchar_t_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef wchar_t* type; 
-            };         
-        };
-
-        template<>
-        struct range_iterator_<const_wchar_t_ptr_>
-        {
-             template< typename S >
-             struct pts
-             {
-                 typedef const wchar_t* type; 
-             };         
-        };
-
-
-        //
-        // const iterator
-        //
-
-        template<>
-        struct range_const_iterator_<char_array_>
-        { 
-            template< typename T >
-            struct pts
-            {
-                typedef const BOOST_RANGE_DEDUCED_TYPENAME 
-                    remove_extent<T>::type* type;
-            };
-        };
-
-        template<>
-        struct range_const_iterator_<char_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef const char* type; 
-            };         
-        };
-
-        template<>
-        struct range_const_iterator_<const_char_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef const char* type; 
-            };         
-        };
-
-        template<>
-        struct range_const_iterator_<wchar_t_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef const wchar_t* type; 
-            };         
-        };
-
-        template<>
-        struct range_const_iterator_<const_wchar_t_ptr_>
-        {
-             template< typename S >
-             struct pts
-             {
-                 typedef const wchar_t* type; 
-             };         
-        };
-    }
-}
-
-#include <boost/range/detail/begin.hpp>
-#include <boost/range/detail/end.hpp>
-#include <boost/range/detail/size_type.hpp>
-#include <boost/range/detail/value_type.hpp>
-#include <boost/range/detail/common.hpp>
-
-namespace boost 
-{
-    
-    namespace range_detail
-    {
-        //
-        // str_begin()
-        //
-        template<>
-        struct range_begin<char_ptr_>
-        {
-            static char* fun( char* s )
-            {
-                return s;
-            }
-        };
-
-        template<>
-        struct range_begin<const_char_ptr_>
-        {
-            static const char* fun( const char* s )
-            {
-                return s;
-            }
-        };
-        
-        template<>
-        struct range_begin<wchar_t_ptr_>
-        {
-            
-            static wchar_t* fun( wchar_t* s )
-            {
-                return s;
-            }
-        };
-
-        template<>
-        struct range_begin<const_wchar_t_ptr_>
-        {
-            static const wchar_t* fun( const wchar_t* s )
-            {
-                return s;
-            }
-        };
-        
-        template< typename C >
-        inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type 
-        str_begin( C& c )
-        {
-            return range_detail::range_begin< BOOST_RANGE_DEDUCED_TYPENAME 
-                range_detail::range<C>::type >::fun( c );
-        }
-
-        //
-        // str_end()
-        //
-
-        template<>
-        struct range_end<char_array_>
-        {
-            template< typename T, std::size_t sz >
-            static T* fun( T BOOST_RANGE_ARRAY_REF()[sz] )
-            {
-                return boost::range_detail::array_end( boost_range_array );
-            }
-        };
-        
-        template<>
-        struct range_end<wchar_t_array_>
-        {
-            template< typename T, std::size_t sz >
-            static T* fun( T BOOST_RANGE_ARRAY_REF()[sz] )
-            {
-                return boost::range_detail::array_end( boost_range_array );
-            }
-        };
-        
-        template<>
-        struct range_end<char_ptr_>
-        {
-            static char* fun( char* s )
-            {
-                return boost::range_detail::str_end( s );
-            }
-        };
-
-        template<>
-        struct range_end<const_char_ptr_>
-        {
-            static const char* fun( const char* s )
-            {
-                return boost::range_detail::str_end( s );
-            }
-        };
-
-        template<>
-        struct range_end<wchar_t_ptr_>
-        {
-            static wchar_t* fun( wchar_t* s )
-            {
-                return boost::range_detail::str_end( s );
-            }
-        };
-
-
-        template<>
-        struct range_end<const_wchar_t_ptr_>
-        {
-            static const wchar_t* fun( const wchar_t* s )
-            {
-                return boost::range_detail::str_end( s );
-            }
-        };
-
-        template< typename C >
-        inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type 
-        str_end( C& c )
-        {
-            return range_detail::range_end< BOOST_RANGE_DEDUCED_TYPENAME 
-                range_detail::range<C>::type >::fun( c );
-        }
-
-        //
-        // size_type
-        //
-
-        template<>
-        struct range_size_type_<char_array_>
-        { 
-            template< typename A >
-            struct pts
-            {
-                typedef std::size_t type;
-            };
-        };
-
-        template<>
-        struct range_size_type_<char_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef std::size_t type;
-            };         
-        };
-        
-        template<>
-        struct range_size_type_<const_char_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef std::size_t type;
-            };         
-        };
-        
-        template<>
-        struct range_size_type_<wchar_t_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef std::size_t type;
-            };         
-        };
-        
-        template<>
-        struct range_size_type_<const_wchar_t_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef std::size_t type;
-            };         
-        };  
-
-        //
-        // value_type
-        //
-        
-        template<>
-        struct range_value_type_<char_array_>
-        { 
-            template< typename T >
-            struct pts
-            {
-                typedef char type;
-            };
-        };
-
-        template<>
-        struct range_value_type_<char_ptr_>
-        {
-             template< typename S >
-             struct pts
-             {
-                 typedef char type; 
-             };         
-        };
-        
-        template<>
-        struct range_value_type_<const_char_ptr_>
-        {
-             template< typename S >
-             struct pts
-             {
-                 typedef const char type;
-             };         
-        };
-        
-        template<>
-        struct range_value_type_<wchar_t_ptr_>
-        {
-             template< typename S >
-             struct pts
-             {
-                 typedef wchar_t type;
-             };         
-        };
-        
-        template<>
-        struct range_value_type_<const_wchar_t_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef const wchar_t type;
-            };         
-        };
-
-    } // namespace 'range_detail'
-
-} // namespace 'boost'
-
-
-#endif
diff --git a/SRC/Boost/boost/range/detail/end.hpp b/SRC/Boost/boost/range/detail/end.hpp
deleted file mode 100755
index 003a9cb..0000000
--- a/SRC/Boost/boost/range/detail/end.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_END_HPP
-#define BOOST_RANGE_DETAIL_END_HPP
-
-#include <boost/config.hpp> // BOOST_MSVC
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-# include <boost/range/detail/vc6/end.hpp>
-#else
-# include <boost/range/detail/implementation_help.hpp>
-# include <boost/range/iterator.hpp>
-# include <boost/range/detail/common.hpp>
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1310)
-#  include <boost/range/detail/remove_extent.hpp>
-# endif
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template< typename T >
-        struct range_end;
-
-        //////////////////////////////////////////////////////////////////////
-        // default
-        //////////////////////////////////////////////////////////////////////
-
-        template<>
-        struct range_end<std_container_>
-        {
-            template< typename C >
-            static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
-            fun( C& c )
-            {
-                return c.end();
-            };
-        };
-
-        //////////////////////////////////////////////////////////////////////
-        // pair
-        //////////////////////////////////////////////////////////////////////
-
-        template<>
-        struct range_end<std_pair_>
-        {
-            template< typename P >
-            static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<P>::type
-            fun( const P& p )
-            {
-                return p.second;
-            }
-        };
-
-        //////////////////////////////////////////////////////////////////////
-        // array
-        //////////////////////////////////////////////////////////////////////
-
-        template<>
-        struct range_end<array_>
-        {
-        #if !BOOST_WORKAROUND(BOOST_MSVC, < 1310)
-            template< typename T, std::size_t sz >
-            static T* fun( T BOOST_RANGE_ARRAY_REF()[sz] )
-            {
-                return boost::range_detail::array_end( boost_range_array );
-            }
-        #else
-            template<typename T>
-            static BOOST_RANGE_DEDUCED_TYPENAME remove_extent<T>::type* fun(T& t)
-            {
-                return t + remove_extent<T>::size;
-            }
-        #endif
-        };
-
-    } // namespace 'range_detail'
-
-    namespace range_adl_barrier
-    {
-        template< typename C >
-        inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
-        end( C& c )
-        {
-            return range_detail::range_end< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
-        }
-    } // namespace range_adl_barrier
-
-} // namespace 'boost'
-
-# endif // VC6
-#endif
diff --git a/SRC/Boost/boost/range/detail/extract_optional_type.hpp b/SRC/Boost/boost/range/detail/extract_optional_type.hpp
deleted file mode 100755
index 34ec85d..0000000
--- a/SRC/Boost/boost/range/detail/extract_optional_type.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Arno Schoedl & Neil Groves 2009.
-//  Use, modification and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-#ifndef BOOST_RANGE_DETAIL_EXTRACT_OPTIONAL_TYPE_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_EXTRACT_OPTIONAL_TYPE_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_PARTIAL_TEMPLATE_SPECIALIZATION
-
-#define BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef )                         \
-    template< typename C >                                                     \
-    struct extract_ ## a_typedef                                               \
-    {                                                                          \
-        typedef BOOST_DEDUCED_TYPENAME C::a_typedef type;                      \
-    };
-
-#else
-
-namespace boost {
-    namespace range_detail {
-        template< typename T > struct exists { typedef void type; };
-    }
-}
-
-// Defines extract_some_typedef<T> which exposes T::some_typedef as
-// extract_some_typedef<T>::type if T::some_typedef exists. Otherwise
-// extract_some_typedef<T> is empty.
-#define BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef )                         \
-    template< typename C, typename Enable=void >                               \
-    struct extract_ ## a_typedef                                               \
-    {};                                                                        \
-    template< typename C >                                                     \
-    struct extract_ ## a_typedef< C                                            \
-    , BOOST_DEDUCED_TYPENAME boost::range_detail::exists< BOOST_DEDUCED_TYPENAME C::a_typedef >::type \
-    > {                                                                        \
-        typedef BOOST_DEDUCED_TYPENAME C::a_typedef type;                      \
-    };
-
-#endif
-
-#endif // include guard
diff --git a/SRC/Boost/boost/range/detail/implementation_help.hpp b/SRC/Boost/boost/range/detail/implementation_help.hpp
deleted file mode 100755
index 173a896..0000000
--- a/SRC/Boost/boost/range/detail/implementation_help.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_IMPLEMENTATION_HELP_HPP
-#define BOOST_RANGE_DETAIL_IMPLEMENTATION_HELP_HPP
-
-#include <boost/range/config.hpp>
-#include <boost/range/detail/common.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <cstddef>
-#include <string.h>
-
-#ifndef BOOST_NO_CWCHAR
-#include <wchar.h>
-#endif
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template <typename T>
-        inline void boost_range_silence_warning( const T& ) { }
-
-        /////////////////////////////////////////////////////////////////////
-        // end() help
-        /////////////////////////////////////////////////////////////////////
-
-        inline const char* str_end( const char* s, const char* )
-        {
-            return s + strlen( s );
-        }
-
-#ifndef BOOST_NO_CWCHAR
-        inline const wchar_t* str_end( const wchar_t* s, const wchar_t* )
-        {
-            return s + wcslen( s );
-        }
-#else
-        inline const wchar_t* str_end( const wchar_t* s, const wchar_t* )
-        {
-            if( s == 0 || s[0] == 0 )
-                return s;
-            while( *++s != 0 )
-                ;
-            return s;
-        }
-#endif
-
-        template< class Char >
-        inline Char* str_end( Char* s )
-        {
-            return const_cast<Char*>( str_end( s, s ) );
-        }
-
-        template< class T, std::size_t sz >
-        inline T* array_end( T BOOST_RANGE_ARRAY_REF()[sz] )
-        {
-            return boost_range_array + sz;
-        }
-
-        template< class T, std::size_t sz >
-        inline const T* array_end( const T BOOST_RANGE_ARRAY_REF()[sz] )
-        {
-            return boost_range_array + sz;
-        }
-
-        /////////////////////////////////////////////////////////////////////
-        // size() help
-        /////////////////////////////////////////////////////////////////////
-
-        template< class Char >
-        inline std::size_t str_size( const Char* const& s )
-        {
-            return str_end( s ) - s;
-        }
-
-        template< class T, std::size_t sz >
-        inline std::size_t array_size( T BOOST_RANGE_ARRAY_REF()[sz] )
-        {
-            boost_range_silence_warning( boost_range_array );
-            return sz;
-        }
-
-        template< class T, std::size_t sz >
-        inline std::size_t array_size( const T BOOST_RANGE_ARRAY_REF()[sz] )
-        {
-            boost_range_silence_warning( boost_range_array );
-            return sz;
-        }
-
-    } // namespace 'range_detail'
-
-} // namespace 'boost'
-
-
-#endif
diff --git a/SRC/Boost/boost/range/detail/iterator.hpp b/SRC/Boost/boost/range/detail/iterator.hpp
deleted file mode 100755
index 2e78557..0000000
--- a/SRC/Boost/boost/range/detail/iterator.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_ITERATOR_HPP
-#define BOOST_RANGE_DETAIL_ITERATOR_HPP
-
-#include <boost/range/detail/common.hpp>
-#include <boost/range/detail/remove_extent.hpp>
-
-#include <boost/static_assert.hpp>
-
-//////////////////////////////////////////////////////////////////////////////
-// missing partial specialization  workaround.
-//////////////////////////////////////////////////////////////////////////////
-
-namespace boost 
-{
-    namespace range_detail 
-    {        
-        template< typename T >
-        struct range_iterator_ {
-            template< typename C >
-            struct pts
-            {
-                typedef int type;
-            };
-        };
-
-        template<>
-        struct range_iterator_<std_container_>
-        {
-            template< typename C >
-            struct pts
-            {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME C::iterator type;
-            };
-        };
-
-        template<>
-        struct range_iterator_<std_pair_>
-        {
-            template< typename P >
-            struct pts
-            {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME P::first_type type;
-            };
-        };
-
-        template<>
-        struct range_iterator_<array_>
-        { 
-            template< typename T >
-            struct pts
-            {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME 
-                    remove_extent<T>::type* type;
-            };
-        };
-        
-    } 
-
-    template< typename C >
-    class range_mutable_iterator
-    {
-        typedef BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type c_type;
-    public:
-        typedef typename range_detail::range_iterator_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type; 
-    };
-}
-
-#endif
diff --git a/SRC/Boost/boost/range/detail/misc_concept.hpp b/SRC/Boost/boost/range/detail/misc_concept.hpp
deleted file mode 100755
index a1d309a..0000000
--- a/SRC/Boost/boost/range/detail/misc_concept.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-// Boost.Range library concept checks
-//
-//  Copyright Neil Groves 2009. Use, modification and distribution
-//  are subject to the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-#ifndef BOOST_RANGE_DETAIL_MISC_CONCEPT_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_MISC_CONCEPT_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template<typename T1, typename T2>
-        class SameTypeConcept
-        {
-        public:
-            BOOST_CONCEPT_USAGE(SameTypeConcept)
-            {
-                same_type(a,b);
-            }
-        private:
-            template<typename T> void same_type(T,T) {}
-            T1 a;
-            T2 b;
-        };
-    }
-}
-
-#endif // include guard
diff --git a/SRC/Boost/boost/range/detail/remove_extent.hpp b/SRC/Boost/boost/range/detail/remove_extent.hpp
deleted file mode 100755
index 1ef9319..0000000
--- a/SRC/Boost/boost/range/detail/remove_extent.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Jonathan Turkanis 2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-
-#ifndef BOOST_RANGE_DETAIL_REMOVE_BOUNDS_HPP
-#define BOOST_RANGE_DETAIL_REMOVE_BOUNDS_HPP
-
-#include <boost/config.hpp>  // MSVC, NO_INTRINSIC_WCHAR_T, put size_t in std.
-#include <cstddef>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost 
-{
-    namespace range_detail
-    {
-        
-        template< typename Case1 = mpl::true_,
-                  typename Type1 = mpl::void_,
-                  typename Case2 = mpl::true_,
-                  typename Type2 = mpl::void_,
-                  typename Case3 = mpl::true_,
-                  typename Type3 = mpl::void_,
-                  typename Case4 = mpl::true_,
-                  typename Type4 = mpl::void_,
-                  typename Case5 = mpl::true_,
-                  typename Type5 = mpl::void_,
-                  typename Case6 = mpl::true_,
-                  typename Type6 = mpl::void_,
-                  typename Case7 = mpl::true_,
-                  typename Type7 = mpl::void_,
-                  typename Case8 = mpl::true_,
-                  typename Type8 = mpl::void_,
-                  typename Case9 = mpl::true_,
-                  typename Type9 = mpl::void_,
-                  typename Case10 = mpl::true_,
-                  typename Type10 = mpl::void_,
-                  typename Case11 = mpl::true_,
-                  typename Type11 = mpl::void_,
-                  typename Case12 = mpl::true_,
-                  typename Type12 = mpl::void_,
-                  typename Case13 = mpl::true_,
-                  typename Type13 = mpl::void_,
-                  typename Case14 = mpl::true_,
-                  typename Type14 = mpl::void_,
-                  typename Case15 = mpl::true_,
-                  typename Type15 = mpl::void_,
-                  typename Case16 = mpl::true_,
-                  typename Type16 = mpl::void_,
-                  typename Case17 = mpl::true_,
-                  typename Type17 = mpl::void_,
-                  typename Case18 = mpl::true_,
-                  typename Type18 = mpl::void_,
-                  typename Case19 = mpl::true_,
-                  typename Type19 = mpl::void_,
-                  typename Case20 = mpl::true_,
-                  typename Type20 = mpl::void_>
-        struct select {
-            typedef typename
-                    mpl::eval_if<
-                        Case1, mpl::identity<Type1>, mpl::eval_if<
-                        Case2, mpl::identity<Type2>, mpl::eval_if<
-                        Case3, mpl::identity<Type3>, mpl::eval_if<
-                        Case4, mpl::identity<Type4>, mpl::eval_if<
-                        Case5, mpl::identity<Type5>, mpl::eval_if<
-                        Case6, mpl::identity<Type6>, mpl::eval_if<
-                        Case7, mpl::identity<Type7>, mpl::eval_if<
-                        Case8, mpl::identity<Type8>, mpl::eval_if<
-                        Case9, mpl::identity<Type9>, mpl::if_<
-                        Case10, Type10, mpl::void_ > > > > > > > > >
-                    >::type result1;
-            typedef typename
-                    mpl::eval_if<
-                        Case11, mpl::identity<Type11>, mpl::eval_if<
-                        Case12, mpl::identity<Type12>, mpl::eval_if<
-                        Case13, mpl::identity<Type13>, mpl::eval_if<
-                        Case14, mpl::identity<Type14>, mpl::eval_if<
-                        Case15, mpl::identity<Type15>, mpl::eval_if<
-                        Case16, mpl::identity<Type16>, mpl::eval_if<
-                        Case17, mpl::identity<Type17>, mpl::eval_if<
-                        Case18, mpl::identity<Type18>, mpl::eval_if<
-                        Case19, mpl::identity<Type19>, mpl::if_<
-                        Case20, Type20, mpl::void_ > > > > > > > > >
-                    > result2;
-            typedef typename    
-                    mpl::eval_if<
-                        is_same<result1, mpl::void_>,
-                        result2,
-                        mpl::identity<result1>
-                    >::type type;
-        };
-
-        template<typename T>
-        struct remove_extent {
-            static T* ar;
-            BOOST_STATIC_CONSTANT(std::size_t, size = sizeof(*ar) / sizeof((*ar)[0]));
-
-            typedef typename
-                    select<
-                        is_same<T, bool[size]>,                  bool,
-                        is_same<T, char[size]>,                  char,
-                        is_same<T, signed char[size]>,           signed char,
-                        is_same<T, unsigned char[size]>,         unsigned char,
-                    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-                        is_same<T, wchar_t[size]>,               wchar_t,
-                    #endif
-                        is_same<T, short[size]>,                 short,
-                        is_same<T, unsigned short[size]>,        unsigned short,
-                        is_same<T, int[size]>,                   int,
-                        is_same<T, unsigned int[size]>,          unsigned int,
-                        is_same<T, long[size]>,                  long,
-                        is_same<T, unsigned long[size]>,         unsigned long,
-                        is_same<T, float[size]>,                 float,
-                        is_same<T, double[size]>,                double,
-                        is_same<T, long double[size]>,           long double
-                    >::type result1;
-            typedef typename
-                    select<
-                        is_same<T, const bool[size]>,            const bool,
-                        is_same<T, const char[size]>,            const char,
-                        is_same<T, const signed char[size]>,     const signed char,
-                        is_same<T, const unsigned char[size]>,   const unsigned char,
-                    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
-                        is_same<T, const wchar_t[size]>,         const wchar_t,
-                    #endif
-                        is_same<T, const short[size]>,           const short,
-                        is_same<T, const unsigned short[size]>,  const unsigned short,
-                        is_same<T, const int[size]>,             const int,
-                        is_same<T, const unsigned int[size]>,    const unsigned int,
-                        is_same<T, const long[size]>,            const long,
-                        is_same<T, const unsigned long[size]>,   const unsigned long,
-                        is_same<T, const float[size]>,           const float,
-                        is_same<T, const double[size]>,          const double,
-                        is_same<T, const long double[size]>,     const long double
-                    > result2;
-            typedef typename
-                    mpl::eval_if<
-                        is_same<result1, mpl::void_>,
-                        result2,
-                        mpl::identity<result1>
-                    >::type type;
-        };
-
-    } // namespace 'range_detail'
-
-} // namespace 'boost'
-
-
-#endif
diff --git a/SRC/Boost/boost/range/detail/safe_bool.hpp b/SRC/Boost/boost/range/detail/safe_bool.hpp
deleted file mode 100755
index 9264275..0000000
--- a/SRC/Boost/boost/range/detail/safe_bool.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//  This header intentionally has no include guards.
-//
-//  Copyright (c) 2010 Neil Groves
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-// This code utilises the experience gained during the evolution of
-// <boost/smart_ptr/operator_bool.hpp>
-#ifndef BOOST_RANGE_SAFE_BOOL_INCLUDED_HPP
-#define BOOST_RANGE_SAFE_BOOL_INCLUDED_HPP
-
-#include <boost/config.hpp>
-#include <boost/range/config.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-
-template<class DataMemberPtr>
-class safe_bool
-{
-public:
-    typedef safe_bool this_type;
-
-#if (defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, < 0x570)) || defined(__CINT_)
-    typedef bool unspecified_bool_type;
-    static unspecified_bool_type to_unspecified_bool(const bool x, DataMemberPtr)
-    {
-        return x;
-    }
-#elif defined(_MANAGED)
-    static void unspecified_bool(this_type***)
-    {
-    }
-    typedef void(*unspecified_bool_type)(this_type***);
-    static unspecified_bool_type to_unspecified_bool(const bool x, DataMemberPtr)
-    {
-        return x ? unspecified_bool : 0;
-    }
-#elif \
-    ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \
-    ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) ) || \
-    ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )
-
-    typedef bool (this_type::*unspecified_bool_type)() const;
-
-    static unspecified_bool_type to_unspecified_bool(const bool x, DataMemberPtr)
-    {
-        return x ? &this_type::detail_safe_bool_member_fn : 0;
-    }
-private:
-    bool detail_safe_bool_member_fn() const { return false; }
-#else
-    typedef DataMemberPtr unspecified_bool_type;
-    static unspecified_bool_type to_unspecified_bool(const bool x, DataMemberPtr p)
-    {
-        return x ? p : 0;
-    }
-#endif
-private:
-    safe_bool();
-    safe_bool(const safe_bool&);
-    void operator=(const safe_bool&);
-    ~safe_bool();
-};
-
-    } // namespace range_detail
-} // namespace boost
-
-#endif // include guard
diff --git a/SRC/Boost/boost/range/detail/sfinae.hpp b/SRC/Boost/boost/range/detail/sfinae.hpp
deleted file mode 100755
index 28937e7..0000000
--- a/SRC/Boost/boost/range/detail/sfinae.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_SFINAE_HPP
-#define BOOST_RANGE_DETAIL_SFINAE_HPP
-
-#include <boost/range/config.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <utility>
-
-
-namespace boost 
-{
-    namespace range_detail
-    {          
-        using type_traits::yes_type;
-        using type_traits::no_type;
-
-        //////////////////////////////////////////////////////////////////////
-        // string
-        //////////////////////////////////////////////////////////////////////
-        
-        yes_type is_string_impl( const char* const );
-        yes_type is_string_impl( const wchar_t* const );
-        no_type  is_string_impl( ... );
-        
-        template< std::size_t sz >
-        yes_type is_char_array_impl( char BOOST_RANGE_ARRAY_REF()[sz] );
-        template< std::size_t sz >
-        yes_type is_char_array_impl( const char BOOST_RANGE_ARRAY_REF()[sz] );
-        no_type  is_char_array_impl( ... );
-        
-        template< std::size_t sz >
-        yes_type is_wchar_t_array_impl( wchar_t BOOST_RANGE_ARRAY_REF()[sz] );
-        template< std::size_t sz >
-        yes_type is_wchar_t_array_impl( const wchar_t BOOST_RANGE_ARRAY_REF()[sz] );
-        no_type  is_wchar_t_array_impl( ... );
-                                     
-        yes_type is_char_ptr_impl( char* const );
-        no_type  is_char_ptr_impl( ... );
-        
-        yes_type is_const_char_ptr_impl( const char* const );
-        no_type  is_const_char_ptr_impl( ... );
-
-        yes_type is_wchar_t_ptr_impl( wchar_t* const );
-        no_type  is_wchar_t_ptr_impl( ... );
-        
-        yes_type is_const_wchar_t_ptr_impl( const wchar_t* const );
-        no_type  is_const_wchar_t_ptr_impl( ... );
-        
-        //////////////////////////////////////////////////////////////////////
-        // pair
-        //////////////////////////////////////////////////////////////////////
-
-        template< typename Iterator >
-        yes_type is_pair_impl( const std::pair<Iterator,Iterator>* );
-        no_type  is_pair_impl( ... );
-
-        //////////////////////////////////////////////////////////////////////
-        // tags
-        //////////////////////////////////////////////////////////////////////
-
-        struct char_or_wchar_t_array_tag {};
-        
-    } // namespace 'range_detail'
-    
-} // namespace 'boost'
-
-#endif
diff --git a/SRC/Boost/boost/range/detail/size_type.hpp b/SRC/Boost/boost/range/detail/size_type.hpp
deleted file mode 100755
index f993935..0000000
--- a/SRC/Boost/boost/range/detail/size_type.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_SIZE_TYPE_HPP
-#define BOOST_RANGE_DETAIL_SIZE_TYPE_HPP
-
-#include <boost/range/detail/common.hpp>
-
-//////////////////////////////////////////////////////////////////////////////
-// missing partial specialization  workaround.
-//////////////////////////////////////////////////////////////////////////////
-
-namespace boost 
-{
-    namespace range_detail 
-    {        
-        template< typename T >
-        struct range_size_type_;
-
-        template<>
-        struct range_size_type_<std_container_>
-        {
-            template< typename C >
-            struct pts
-            {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME C::size_type type;
-            };
-        };
-
-        template<>
-        struct range_size_type_<std_pair_>
-        {
-            template< typename P >
-            struct pts
-            {
-                typedef std::size_t type;
-            };
-        };
-
-        template<>
-        struct range_size_type_<array_>
-        {
-            template< typename A >
-            struct pts
-            {
-                typedef std::size_t type;
-            };
-        };
-
-  
-    } 
-    
-    template< typename C >
-    class range_size
-    {
-        typedef typename range_detail::range<C>::type c_type;
-    public:
-        typedef typename range_detail::range_size_type_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type; 
-    };
-}
-
-#endif
-
diff --git a/SRC/Boost/boost/range/detail/str_types.hpp b/SRC/Boost/boost/range/detail/str_types.hpp
deleted file mode 100755
index 4036a0a..0000000
--- a/SRC/Boost/boost/range/detail/str_types.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2006. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_STR_TYPES_HPP
-#define BOOST_RANGE_DETAIL_STR_TYPES_HPP
-
-#include <boost/range/size_type.hpp>
-#include <boost/range/iterator.hpp>
-
-namespace boost
-{
-    template< class T >
-    struct range_mutable_iterator<T*>
-    {
-        typedef T* type;
-    };
-
-    template< class T >
-    struct range_const_iterator<T*>
-    {
-        typedef const T* type;
-    };
-
-    template< class T >
-    struct range_size<T*>
-    {
-       typedef std::size_t type;
-    };    
-}
-
-#endif
diff --git a/SRC/Boost/boost/range/detail/value_type.hpp b/SRC/Boost/boost/range/detail/value_type.hpp
deleted file mode 100755
index 54593e3..0000000
--- a/SRC/Boost/boost/range/detail/value_type.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_VALUE_TYPE_HPP
-#define BOOST_RANGE_DETAIL_VALUE_TYPE_HPP
-
-#include <boost/range/detail/common.hpp>
-#include <boost/range/detail/remove_extent.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-//////////////////////////////////////////////////////////////////////////////
-// missing partial specialization  workaround.
-//////////////////////////////////////////////////////////////////////////////
-
-namespace boost 
-{
-    namespace range_detail 
-    {        
-        template< typename T >
-        struct range_value_type_;
-
-        template<>
-        struct range_value_type_<std_container_>
-        {
-            template< typename C >
-            struct pts
-            {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME C::value_type type;
-            };
-        };
-
-        template<>
-        struct range_value_type_<std_pair_>
-        {
-            template< typename P >
-            struct pts
-            {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME boost::iterator_value< BOOST_RANGE_DEDUCED_TYPENAME P::first_type >::type type;
-            };
-        };
-
-        template<>
-        struct range_value_type_<array_>
-        { 
-            template< typename T >
-            struct pts
-            {
-                typedef BOOST_DEDUCED_TYPENAME remove_extent<T>::type type;
-            };
-        };
-        
-    } 
-    
-    template< typename C >
-    class range_value
-    {
-        typedef BOOST_DEDUCED_TYPENAME range_detail::range<C>::type c_type;
-    public:
-        typedef BOOST_DEDUCED_TYPENAME range_detail::range_value_type_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type; 
-    };
-
-}
-
-#endif
-
diff --git a/SRC/Boost/boost/range/detail/vc6/end.hpp b/SRC/Boost/boost/range/detail/vc6/end.hpp
deleted file mode 100755
index a94d8e3..0000000
--- a/SRC/Boost/boost/range/detail/vc6/end.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_VC6_END_HPP
-#define BOOST_RANGE_DETAIL_VC6_END_HPP
-
-#include <boost/range/detail/implementation_help.hpp>
-#include <boost/range/detail/implementation_help.hpp>
-#include <boost/range/result_iterator.hpp>
-#include <boost/range/detail/common.hpp>
-#include <boost/range/detail/remove_extent.hpp>
-
-namespace boost 
-{
-    namespace range_detail
-    {
-        template< typename T >
-        struct range_end;
-
-        //////////////////////////////////////////////////////////////////////
-        // default
-        //////////////////////////////////////////////////////////////////////
-        
-        template<>
-        struct range_end<std_container_>
-        {
-            template< typename C >
-            struct inner {
-                static BOOST_RANGE_DEDUCED_TYPENAME range_result_iterator<C>::type 
-                fun( C& c )
-                {
-                    return c.end();
-                };
-            };
-        };
-                    
-        //////////////////////////////////////////////////////////////////////
-        // pair
-        //////////////////////////////////////////////////////////////////////
-        
-        template<>
-        struct range_end<std_pair_>
-        {
-            template< typename P >
-            struct inner {
-                static BOOST_RANGE_DEDUCED_TYPENAME range_result_iterator<P>::type 
-                fun( const P& p )
-                {
-                    return p.second;
-                }
-            };
-        };
- 
-        //////////////////////////////////////////////////////////////////////
-        // array
-        //////////////////////////////////////////////////////////////////////
-        
-        template<>
-        struct range_end<array_>  
-        {
-            template< typename T >
-            struct inner {
-                static BOOST_DEDUCED_TYPENAME remove_extent<T>::type*
-                fun(T& t)
-                {
-                    return t + remove_extent<T>::size;
-                }
-            };
-        };
-
-                
-        template<>
-        struct range_end<char_array_>
-        {
-            template< typename T >
-            struct inner {
-                static BOOST_DEDUCED_TYPENAME remove_extent<T>::type*
-                fun(T& t)
-                {
-                    return t + remove_extent<T>::size;
-                }
-            };
-        };
-        
-        template<>
-        struct range_end<wchar_t_array_>
-        {
-            template< typename T >
-            struct inner {
-                static BOOST_DEDUCED_TYPENAME remove_extent<T>::type*
-                fun(T& t)
-                {
-                    return t + remove_extent<T>::size;
-                }
-            };
-        };
-
-        //////////////////////////////////////////////////////////////////////
-        // string
-        //////////////////////////////////////////////////////////////////////
-        
-        template<>
-        struct range_end<char_ptr_>
-        {
-            template< typename T >
-            struct inner {
-                static char* fun( char* s )
-                {
-                    return boost::range_detail::str_end( s );
-                }
-            };
-        };
-
-        template<>
-        struct range_end<const_char_ptr_>
-        {
-            template< typename T >
-            struct inner {
-                static const char* fun( const char* s )
-                {
-                    return boost::range_detail::str_end( s );
-                }
-            };
-        };
-
-        template<>
-        struct range_end<wchar_t_ptr_>
-        {
-            template< typename T >
-            struct inner {
-                static wchar_t* fun( wchar_t* s )
-                {
-                    return boost::range_detail::str_end( s );
-                }
-            };
-        };
-
-
-        template<>
-        struct range_end<const_wchar_t_ptr_>
-        {
-            template< typename T >
-            struct inner {
-                static const wchar_t* fun( const wchar_t* s )
-                {
-                    return boost::range_detail::str_end( s );
-                }
-            };
-        };
-        
-    } // namespace 'range_detail'
-    
-    template< typename C >
-    inline BOOST_DEDUCED_TYPENAME range_result_iterator<C>::type 
-    end( C& c )
-    {
-        return range_detail::range_end<range_detail::range<C>::type>::inner<C>::fun( c );
-    }
-    
-} // namespace 'boost'
-
-
-#endif
diff --git a/SRC/Boost/boost/range/difference_type.hpp b/SRC/Boost/boost/range/difference_type.hpp
deleted file mode 100755
index 4c7cfdb..0000000
--- a/SRC/Boost/boost/range/difference_type.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DIFFERENCE_TYPE_HPP
-#define BOOST_RANGE_DIFFERENCE_TYPE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-namespace boost
-{
-    template< class T >
-    struct range_difference : iterator_difference< typename range_iterator<T>::type >
-    { };
-}
-
-#endif
diff --git a/SRC/Boost/boost/range/distance.hpp b/SRC/Boost/boost/range/distance.hpp
deleted file mode 100755
index 3a0f7f7..0000000
--- a/SRC/Boost/boost/range/distance.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2006. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DISTANCE_HPP
-#define BOOST_RANGE_DISTANCE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/difference_type.hpp>
-
-namespace boost 
-{
-
-    template< class T >
-    inline BOOST_DEDUCED_TYPENAME range_difference<T>::type 
-    distance( const T& r )
-    {
-        return std::distance( boost::begin( r ), boost::end( r ) );
-    }
-
-} // namespace 'boost'
-
-#endif
diff --git a/SRC/Boost/boost/range/empty.hpp b/SRC/Boost/boost/range/empty.hpp
deleted file mode 100755
index f67ad00..0000000
--- a/SRC/Boost/boost/range/empty.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_EMPTY_HPP
-#define BOOST_RANGE_EMPTY_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-
-namespace boost 
-{ 
-
-    template< class T >
-    inline bool empty( const T& r )
-    {
-        return boost::begin( r ) == boost::end( r );
-    }
-
-} // namepace 'boost'
-
-
-#endif
diff --git a/SRC/Boost/boost/range/end.hpp b/SRC/Boost/boost/range/end.hpp
deleted file mode 100755
index 75e7946..0000000
--- a/SRC/Boost/boost/range/end.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_END_HPP
-#define BOOST_RANGE_END_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#include <boost/range/detail/end.hpp>
-#else
-
-#include <boost/range/detail/implementation_help.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/const_iterator.hpp>
-
-namespace boost
-{
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
-    /**/
-namespace range_detail
-{
-#endif
-
-        //////////////////////////////////////////////////////////////////////
-        // primary template
-        //////////////////////////////////////////////////////////////////////
-        template< typename C >
-        inline BOOST_DEDUCED_TYPENAME range_iterator<C>::type
-        range_end( C& c )
-        {
-            //
-            // If you get a compile-error here, it is most likely because
-            // you have not implemented range_begin() properly in
-            // the namespace of C
-            //
-            return c.end();
-        }
-
-        //////////////////////////////////////////////////////////////////////
-        // pair
-        //////////////////////////////////////////////////////////////////////
-
-        template< typename Iterator >
-        inline Iterator range_end( const std::pair<Iterator,Iterator>& p )
-        {
-            return p.second;
-        }
-
-        template< typename Iterator >
-        inline Iterator range_end( std::pair<Iterator,Iterator>& p )
-        {
-            return p.second;
-        }
-
-        //////////////////////////////////////////////////////////////////////
-        // array
-        //////////////////////////////////////////////////////////////////////
-
-        template< typename T, std::size_t sz >
-        inline const T* range_end( const T (&a)[sz] )
-        {
-            return range_detail::array_end<T,sz>( a );
-        }
-
-        template< typename T, std::size_t sz >
-        inline T* range_end( T (&a)[sz] )
-        {
-            return range_detail::array_end<T,sz>( a );
-        }
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
-    /**/
-} // namespace 'range_detail'
-#endif
-
-namespace range_adl_barrier
-{
-
-template< class T >
-inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type end( T& r )
-{
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
-    /**/
-    using namespace range_detail;
-#endif
-    return range_end( r );
-}
-
-template< class T >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type end( const T& r )
-{
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
-    /**/
-    using namespace range_detail;
-#endif
-    return range_end( r );
-}
-
-    } // namespace range_adl_barrier
-} // namespace 'boost'
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-namespace boost
-{
-    namespace range_adl_barrier
-    {
-        template< class T >
-        inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type
-        const_end( const T& r )
-        {
-            return boost::range_adl_barrier::end( r );
-        }
-    } // namespace range_adl_barrier
-    using namespace range_adl_barrier;
-} // namespace boost
-
-#endif
-
diff --git a/SRC/Boost/boost/range/functions.hpp b/SRC/Boost/boost/range/functions.hpp
deleted file mode 100755
index 467809f..0000000
--- a/SRC/Boost/boost/range/functions.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2006. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_FUNCTIONS_HPP
-#define BOOST_RANGE_FUNCTIONS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/size.hpp>
-#include <boost/range/distance.hpp>
-#include <boost/range/empty.hpp>
-#include <boost/range/rbegin.hpp>
-#include <boost/range/rend.hpp>
-
-#endif
-
diff --git a/SRC/Boost/boost/range/iterator.hpp b/SRC/Boost/boost/range/iterator.hpp
deleted file mode 100755
index 8e3d900..0000000
--- a/SRC/Boost/boost/range/iterator.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_ITERATOR_HPP
-#define BOOST_RANGE_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/mutable_iterator.hpp>
-#include <boost/range/const_iterator.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/mpl/eval_if.hpp>
-
-namespace boost
-{
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-
-    namespace range_detail_vc7_1
-    {
-       template< typename C, typename Sig = void(C) >
-       struct range_iterator
-       {
-           typedef BOOST_RANGE_DEDUCED_TYPENAME
-               mpl::eval_if_c< is_const<C>::value,
-                               range_const_iterator< typename remove_const<C>::type >,
-                               range_mutable_iterator<C> >::type type;
-       };
-
-       template< typename C, typename T >
-       struct range_iterator< C, void(T[]) >
-       {
-           typedef T* type;
-       };
-    }
-
-#endif
-
-    template< typename C >
-    struct range_iterator
-    {
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-
-        typedef BOOST_RANGE_DEDUCED_TYPENAME
-               range_detail_vc7_1::range_iterator<C>::type type;
-
-#else
-
-        typedef BOOST_RANGE_DEDUCED_TYPENAME
-            mpl::eval_if_c< is_const<C>::value,
-                            range_const_iterator< typename remove_const<C>::type >,
-                            range_mutable_iterator<C> >::type type;
-
-#endif
-    };
-
-} // namespace boost
-
-//#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif
diff --git a/SRC/Boost/boost/range/iterator_range.hpp b/SRC/Boost/boost/range/iterator_range.hpp
deleted file mode 100755
index b3561c7..0000000
--- a/SRC/Boost/boost/range/iterator_range.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2009.
-//  Use, modification and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-#ifndef BOOST_RANGE_ITERATOR_RANGE_HPP_INCLUDED
-#define BOOST_RANGE_ITERATOR_RANGE_HPP_INCLUDED
-
-#include "boost/range/iterator_range_core.hpp"
-#include "boost/range/iterator_range_io.hpp"
-
-#endif // include guard
diff --git a/SRC/Boost/boost/range/iterator_range_core.hpp b/SRC/Boost/boost/range/iterator_range_core.hpp
deleted file mode 100755
index e18fd5d..0000000
--- a/SRC/Boost/boost/range/iterator_range_core.hpp
+++ /dev/null
@@ -1,650 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves & Thorsten Ottosen & Pavol Droba 2003-2004.
-//  Use, modification and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-#ifndef BOOST_RANGE_ITERATOR_RANGE_CORE_HPP_INCLUDED
-#define BOOST_RANGE_ITERATOR_RANGE_CORE_HPP_INCLUDED
-
-#include <boost/config.hpp> // Define __STL_CONFIG_H, if appropriate.
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
-    #pragma warning( push )
-    #pragma warning( disable : 4996 )
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/type_traits/is_abstract.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/range/functions.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/algorithm/equal.hpp>
-#include <boost/range/detail/safe_bool.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <iterator>
-#include <algorithm>
-#include <cstddef>
-
-/*! \file
-    Defines the \c iterator_class and related functions.
-    \c iterator_range is a simple wrapper of iterator pair idiom. It provides
-    a rich subset of Container interface.
-*/
-
-
-namespace boost
-{
-    namespace iterator_range_detail
-    {
-        //
-        // The functions adl_begin and adl_end are implemented in a separate
-        // class for gcc-2.9x
-        //
-        template<class IteratorT>
-        struct iterator_range_impl {
-            template< class ForwardRange >
-            static IteratorT adl_begin( ForwardRange& r )
-            {
-                return static_cast<IteratorT>( boost::begin( r ) );
-            }
-
-            template< class ForwardRange >
-            static IteratorT adl_end( ForwardRange& r )
-            {
-                return static_cast<IteratorT>( boost::end( r ) );
-            }
-        };
-
-        template< class Left, class Right >
-        inline bool less_than( const Left& l, const Right& r )
-        {
-            return std::lexicographical_compare( boost::begin(l),
-                                                 boost::end(l),
-                                                 boost::begin(r),
-                                                 boost::end(r) );
-        }
-        
-        template< class Left, class Right >
-        inline bool greater_than( const Left& l, const Right& r )
-        {
-            return less_than(r,l);
-        }
-        
-        template< class Left, class Right >
-        inline bool less_or_equal_than( const Left& l, const Right& r )
-        {
-            return !iterator_range_detail::less_than(r,l);
-        }
-        
-        template< class Left, class Right >
-        inline bool greater_or_equal_than( const Left& l, const Right& r )
-        {
-            return !iterator_range_detail::less_than(l,r);
-        }
-
-        // This version is maintained since it is used in other boost libraries
-        // such as Boost.Assign
-        template< class Left, class Right >
-        inline bool equal(const Left& l, const Right& r)
-        {
-            return boost::equal(l, r);
-        }
-
-        struct range_tag { };
-        struct const_range_tag { };
-    }
-
-//  iterator range template class -----------------------------------------//
-
-        //! iterator_range class
-        /*!
-            An \c iterator_range delimits a range in a sequence by beginning and ending iterators.
-            An iterator_range can be passed to an algorithm which requires a sequence as an input.
-            For example, the \c toupper() function may be used most frequently on strings,
-            but can also be used on iterator_ranges:
-
-            \code
-                boost::tolower( find( s, "UPPERCASE STRING" ) );
-            \endcode
-
-            Many algorithms working with sequences take a pair of iterators,
-            delimiting a working range, as an arguments. The \c iterator_range class is an
-            encapsulation of a range identified by a pair of iterators.
-            It provides a collection interface,
-            so it is possible to pass an instance to an algorithm requiring a collection as an input.
-        */
-        template<class IteratorT>
-        class iterator_range
-        {
-            typedef range_detail::safe_bool< IteratorT iterator_range<IteratorT>::* > safe_bool_t;
-        protected: // Used by sub_range
-            //! implementation class
-            typedef iterator_range_detail::iterator_range_impl<IteratorT> impl;
-        public:
-            //! this type
-            typedef iterator_range<IteratorT> type;
-            typedef BOOST_DEDUCED_TYPENAME safe_bool_t::unspecified_bool_type unspecified_bool_type;
-            //BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(value_type);
-
-            //! Encapsulated value type
-            typedef BOOST_DEDUCED_TYPENAME
-                iterator_value<IteratorT>::type value_type;
-
-            //! Difference type
-            typedef BOOST_DEDUCED_TYPENAME
-                iterator_difference<IteratorT>::type difference_type;
-
-            //! Size type
-            typedef std::size_t size_type; // note: must be unsigned
-
-            //! This type
-            typedef iterator_range<IteratorT> this_type;
-
-            //! Reference type
-            //
-            // Needed because value-type is the same for
-            // const and non-const iterators
-            //
-            typedef BOOST_DEDUCED_TYPENAME
-                iterator_reference<IteratorT>::type reference;
-
-            //! const_iterator type
-            /*!
-                There is no distinction between const_iterator and iterator.
-                These typedefs are provides to fulfill container interface
-            */
-            typedef IteratorT const_iterator;
-            //! iterator type
-            typedef IteratorT iterator;
-
-        private: // for return value of operator()()
-            typedef BOOST_DEDUCED_TYPENAME
-                boost::mpl::if_< boost::is_abstract<value_type>,
-                                 reference, value_type >::type abstract_value_type;
-
-        public:
-            iterator_range() : m_Begin( iterator() ), m_End( iterator() )
-            { }
-
-            //! Constructor from a pair of iterators
-            template< class Iterator >
-            iterator_range( Iterator Begin, Iterator End ) :
-                m_Begin(Begin), m_End(End)
-            {}
-
-            //! Constructor from a Range
-            template< class Range >
-            iterator_range( const Range& r ) :
-                m_Begin( impl::adl_begin( r ) ), m_End( impl::adl_end( r ) )
-            {}
-
-            //! Constructor from a Range
-            template< class Range >
-            iterator_range( Range& r ) :
-                m_Begin( impl::adl_begin( r ) ), m_End( impl::adl_end( r ) )
-            {}
-
-            //! Constructor from a Range
-            template< class Range >
-            iterator_range( const Range& r, iterator_range_detail::const_range_tag ) :
-                m_Begin( impl::adl_begin( r ) ), m_End( impl::adl_end( r ) )
-            {}
-
-            //! Constructor from a Range
-            template< class Range >
-            iterator_range( Range& r, iterator_range_detail::range_tag ) :
-                m_Begin( impl::adl_begin( r ) ), m_End( impl::adl_end( r ) )
-            {}
-
-            #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-            this_type& operator=( const this_type& r )
-            {
-                m_Begin  = r.begin();
-                m_End    = r.end();
-                return *this;
-            }
-            #endif
-
-            template< class Iterator >
-            iterator_range& operator=( const iterator_range<Iterator>& r )
-            {
-                m_Begin  = r.begin();
-                m_End    = r.end();
-                return *this;
-            }
-
-            template< class ForwardRange >
-            iterator_range& operator=( ForwardRange& r )
-            {
-                m_Begin  = impl::adl_begin( r );
-                m_End    = impl::adl_end( r );
-                return *this;
-            }
-
-            template< class ForwardRange >
-            iterator_range& operator=( const ForwardRange& r )
-            {
-                m_Begin  = impl::adl_begin( r );
-                m_End    = impl::adl_end( r );
-                return *this;
-            }
-
-            IteratorT begin() const
-            {
-                return m_Begin;
-            }
-
-            IteratorT end() const
-            {
-                return m_End;
-            }
-
-            difference_type size() const
-            {
-                return m_End - m_Begin;
-            }
-
-            bool empty() const
-            {
-                return m_Begin == m_End;
-            }
-
-            operator unspecified_bool_type() const
-            {
-                return safe_bool_t::to_unspecified_bool(m_Begin != m_End, &iterator_range::m_Begin);
-            }
-
-            bool operator!() const
-            {
-                return empty();
-            }
-
-            bool equal( const iterator_range& r ) const
-            {
-                return m_Begin == r.m_Begin && m_End == r.m_End;
-            }
-
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-            bool operator==( const iterator_range& r ) const
-            {
-                return boost::equal( *this, r );
-            }
-
-            bool operator!=( const iterator_range& r ) const
-            {
-                return !operator==(r);
-            }
-
-           bool operator<( const iterator_range& r ) const
-           {
-               return iterator_range_detail::less_than( *this, r );
-           }
-           
-           bool operator>( const iterator_range& r ) const
-           {
-               return iterator_range_detail::greater_than( *this, r );
-           }
-           
-           bool operator<=( const iterator_range& r ) const
-           {
-               return iterator_range_detail::less_or_equal_than( *this, r );
-           }
-           
-           bool operator>=( const iterator_range& r ) const
-           {
-               return iterator_range_detail::greater_or_equal_than( *this, r );
-           }
-
-#endif
-
-        public: // convenience
-           reference front() const
-           {
-               BOOST_ASSERT( !empty() );
-               return *m_Begin;
-           }
-
-           reference back() const
-           {
-               BOOST_ASSERT( !empty() );
-               IteratorT last( m_End );
-               return *--last;
-           }
-
-           // pop_front() - added to model the SinglePassRangePrimitiveConcept
-           void pop_front()
-           {
-               BOOST_ASSERT( !empty() );
-               ++m_Begin;
-           }
-
-           // pop_back() - added to model the BidirectionalRangePrimitiveConcept
-           void pop_back()
-           {
-               BOOST_ASSERT( !empty() );
-               --m_End;
-           }
-
-           reference operator[]( difference_type at ) const
-           {
-               BOOST_ASSERT( at >= 0 && at < size() );
-               return m_Begin[at];
-           }
-
-           //
-           // When storing transform iterators, operator[]()
-           // fails because it returns by reference. Therefore
-           // operator()() is provided for these cases.
-           //
-           abstract_value_type operator()( difference_type at ) const
-           {
-               BOOST_ASSERT( at >= 0 && at < size() );
-               return m_Begin[at];
-           }
-
-           iterator_range& advance_begin( difference_type n )
-           {
-               std::advance( m_Begin, n );
-               return *this;
-           }
-
-           iterator_range& advance_end( difference_type n )
-           {
-               std::advance( m_End, n );
-               return *this;
-           }
-
-        private:
-            // begin and end iterators
-            IteratorT m_Begin;
-            IteratorT m_End;
-
-        protected:
-            //
-            // Allow subclasses an easy way to access the
-            // base type
-            //
-            typedef iterator_range iterator_range_;
-        };
-
-//  iterator range free-standing operators ---------------------------//
-
-        /////////////////////////////////////////////////////////////////////
-        // comparison operators
-        /////////////////////////////////////////////////////////////////////
-
-        template< class IteratorT, class ForwardRange >
-        inline bool operator==( const ForwardRange& l,
-                                const iterator_range<IteratorT>& r )
-        {
-            return boost::equal( l, r );
-        }
-
-        template< class IteratorT, class ForwardRange >
-        inline bool operator!=( const ForwardRange& l,
-                                const iterator_range<IteratorT>& r )
-        {
-            return !boost::equal( l, r );
-        }
-
-        template< class IteratorT, class ForwardRange >
-        inline bool operator<( const ForwardRange& l,
-                               const iterator_range<IteratorT>& r )
-        {
-            return iterator_range_detail::less_than( l, r );
-        }
-        
-        template< class IteratorT, class ForwardRange >
-        inline bool operator<=( const ForwardRange& l,
-                                const iterator_range<IteratorT>& r )
-        {
-            return iterator_range_detail::less_or_equal_than( l, r );
-        }
-        
-        template< class IteratorT, class ForwardRange >
-        inline bool operator>( const ForwardRange& l,
-                               const iterator_range<IteratorT>& r )
-        {
-            return iterator_range_detail::greater_than( l, r );
-        }
-        
-        template< class IteratorT, class ForwardRange >
-        inline bool operator>=( const ForwardRange& l,
-                                const iterator_range<IteratorT>& r )
-        {
-            return iterator_range_detail::greater_or_equal_than( l, r );
-        }
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#else
-        template< class Iterator1T, class Iterator2T >
-        inline bool operator==( const iterator_range<Iterator1T>& l,
-                                const iterator_range<Iterator2T>& r )
-        {
-            return boost::equal( l, r );
-        }
-
-        template< class IteratorT, class ForwardRange >
-        inline bool operator==( const iterator_range<IteratorT>& l,
-                                const ForwardRange& r )
-        {
-            return boost::equal( l, r );
-        }
-
-
-        template< class Iterator1T, class Iterator2T >
-        inline bool operator!=( const iterator_range<Iterator1T>& l,
-                                const iterator_range<Iterator2T>& r )
-        {
-            return !boost::equal( l, r );
-        }
-
-        template< class IteratorT, class ForwardRange >
-        inline bool operator!=( const iterator_range<IteratorT>& l,
-                                const ForwardRange& r )
-        {
-            return !boost::equal( l, r );
-        }
-
-
-        template< class Iterator1T, class Iterator2T >
-        inline bool operator<( const iterator_range<Iterator1T>& l,
-                               const iterator_range<Iterator2T>& r )
-        {
-            return iterator_range_detail::less_than( l, r );
-        }
-
-        template< class IteratorT, class ForwardRange >
-        inline bool operator<( const iterator_range<IteratorT>& l,
-                               const ForwardRange& r )
-        {
-            return iterator_range_detail::less_than( l, r );
-        }
-        
-        template< class Iterator1T, class Iterator2T >
-        inline bool operator<=( const iterator_range<Iterator1T>& l,
-                                const iterator_range<Iterator2T>& r )
-        {
-            return iterator_range_detail::less_or_equal_than( l, r );
-        }
-        
-        template< class IteratorT, class ForwardRange >
-        inline bool operator<=( const iterator_range<IteratorT>& l,
-                                const ForwardRange& r )
-        {
-            return iterator_range_detail::less_or_equal_than( l, r );
-        }
-        
-        template< class Iterator1T, class Iterator2T >
-        inline bool operator>( const iterator_range<Iterator1T>& l,
-                               const iterator_range<Iterator2T>& r )
-        {
-            return iterator_range_detail::greater_than( l, r );
-        }
-        
-        template< class IteratorT, class ForwardRange >
-        inline bool operator>( const iterator_range<IteratorT>& l,
-                               const ForwardRange& r )
-        {
-            return iterator_range_detail::greater_than( l, r );
-        }
-        
-        template< class Iterator1T, class Iterator2T >
-        inline bool operator>=( const iterator_range<Iterator1T>& l,
-                                const iterator_range<Iterator2T>& r )
-        {
-            return iterator_range_detail::greater_or_equal_than( l, r );
-        }
-        
-        template< class IteratorT, class ForwardRange >
-        inline bool operator>=( const iterator_range<IteratorT>& l,
-                                const ForwardRange& r )
-        {
-            return iterator_range_detail::greater_or_equal_than( l, r );
-        }
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-//  iterator range utilities -----------------------------------------//
-
-        //! iterator_range construct helper
-        /*!
-            Construct an \c iterator_range from a pair of iterators
-
-            \param Begin A begin iterator
-            \param End An end iterator
-            \return iterator_range object
-        */
-        template< typename IteratorT >
-        inline iterator_range< IteratorT >
-        make_iterator_range( IteratorT Begin, IteratorT End )
-        {
-            return iterator_range<IteratorT>( Begin, End );
-        }
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-        template< typename Range >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
-        make_iterator_range( Range& r )
-        {
-            return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
-                ( boost::begin( r ), boost::end( r ) );
-        }
-
-#else
-        //! iterator_range construct helper
-        /*!
-            Construct an \c iterator_range from a \c Range containing the begin
-            and end iterators.
-        */
-        template< class ForwardRange >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type >
-        make_iterator_range( ForwardRange& r )
-        {
-           return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type >
-                ( r, iterator_range_detail::range_tag() );
-        }
-
-        template< class ForwardRange >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type >
-        make_iterator_range( const ForwardRange& r )
-        {
-           return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type >
-                ( r, iterator_range_detail::const_range_tag() );
-        }
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-        namespace iterator_range_detail
-        {
-            template< class Range >
-            inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
-            make_range_impl( Range& r,
-                             BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
-                             BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
-            {
-                //
-                // Not worth the effort
-                //
-                //if( advance_begin == 0 && advance_end == 0 )
-                //    return make_iterator_range( r );
-                //
-
-                BOOST_DEDUCED_TYPENAME range_iterator<Range>::type
-                    new_begin = boost::begin( r ),
-                    new_end   = boost::end( r );
-                std::advance( new_begin, advance_begin );
-                std::advance( new_end, advance_end );
-                return make_iterator_range( new_begin, new_end );
-            }
-        }
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-        template< class Range >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
-        make_iterator_range( Range& r,
-                    BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
-                    BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
-        {
-            //BOOST_ASSERT( advance_begin - advance_end <= size(r) && "creating invalid range" );
-            return iterator_range_detail::make_range_impl( r, advance_begin, advance_end );
-        }
-
-#else
-
-        template< class Range >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
-        make_iterator_range( Range& r,
-                    BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
-                    BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
-        {
-            //BOOST_ASSERT( advance_begin - advance_end <= size(r) && "creating invalid range" );
-            return iterator_range_detail::make_range_impl( r, advance_begin, advance_end );
-        }
-
-        template< class Range >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<const Range>::type >
-        make_iterator_range( const Range& r,
-                    BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
-                    BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
-        {
-            //BOOST_ASSERT( advance_begin - advance_end <= size(r) && "creating invalid range" );
-            return iterator_range_detail::make_range_impl( r, advance_begin, advance_end );
-        }
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-        //! copy a range into a sequence
-        /*!
-            Construct a new sequence of the specified type from the elements
-            in the given range
-
-            \param Range An input range
-            \return New sequence
-        */
-        template< typename SeqT, typename Range >
-        inline SeqT copy_range( const Range& r )
-        {
-            return SeqT( boost::begin( r ), boost::end( r ) );
-        }
-
-} // namespace 'boost'
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
-    #pragma warning( pop )
-#endif
-
-#endif
-
diff --git a/SRC/Boost/boost/range/iterator_range_io.hpp b/SRC/Boost/boost/range/iterator_range_io.hpp
deleted file mode 100755
index 8ef8160..0000000
--- a/SRC/Boost/boost/range/iterator_range_io.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2009.
-//  Use, modification and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-#ifndef BOOST_RANGE_ITERATOR_RANGE_IO_HPP_INCLUDED
-#define BOOST_RANGE_ITERATOR_RANGE_IO_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
-    #pragma warning( push )
-    #pragma warning( disable : 4996 )
-#endif
-
-// From boost/dynamic_bitset.hpp; thanks to Matthias Troyer for Cray X1 patch.
-#ifndef BOOST_OLD_IOSTREAMS 
-# if defined(__STL_CONFIG_H) && \
-    !defined (__STL_USE_NEW_IOSTREAMS) && !defined(__crayx1) \
-    /**/
-#  define BOOST_OLD_IOSTREAMS
-# endif
-#endif // #ifndef BOOST_OLD_IOSTREAMS
-
-#ifndef _STLP_NO_IOSTREAMS
-# ifndef BOOST_OLD_IOSTREAMS
-#  include <ostream>
-# else
-#  include <ostream.h>
-# endif
-#endif // _STLP_NO_IOSTREAMS
-
-#include <boost/range/iterator_range_core.hpp>
-#include <iterator>
-#include <algorithm>
-#include <cstddef>
-
-namespace boost
-{
-
-#ifndef _STLP_NO_IOSTREAMS
-# ifndef BOOST_OLD_IOSTREAMS   
-
-        //! iterator_range output operator
-        /*!
-            Output the range to an ostream. Elements are outputed
-            in a sequence without separators.
-        */
-        template< typename IteratorT, typename Elem, typename Traits >
-        inline std::basic_ostream<Elem,Traits>& operator<<( 
-                    std::basic_ostream<Elem, Traits>& Os,
-                    const iterator_range<IteratorT>& r )
-        {
-            std::copy( r.begin(), r.end(), 
-                       std::ostream_iterator< BOOST_DEDUCED_TYPENAME 
-                                              iterator_value<IteratorT>::type, 
-                                              Elem, Traits>(Os) );
-            return Os;
-        }
-
-# else
-
-        //! iterator_range output operator
-        /*!
-            Output the range to an ostream. Elements are outputed
-            in a sequence without separators.
-        */
-        template< typename IteratorT >
-        inline std::ostream& operator<<( 
-                    std::ostream& Os,
-                    const iterator_range<IteratorT>& r )
-        {
-            std::copy( r.begin(), r.end(), std::ostream_iterator<char>(Os));
-            return Os;
-        }
-
-# endif
-#endif // _STLP_NO_IOSTREAMS
-
-} // namespace boost
-
-#undef BOOST_OLD_IOSTREAMS
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
-    #pragma warning(pop)
-#endif
-
-#endif // include guard
diff --git a/SRC/Boost/boost/range/mutable_iterator.hpp b/SRC/Boost/boost/range/mutable_iterator.hpp
deleted file mode 100755
index 748b161..0000000
--- a/SRC/Boost/boost/range/mutable_iterator.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_MUTABLE_ITERATOR_HPP
-#define BOOST_RANGE_MUTABLE_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/range/detail/iterator.hpp>
-#else
-
-#include <boost/range/detail/extract_optional_type.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <cstddef>
-#include <utility>
-
-namespace boost
-{
-    //////////////////////////////////////////////////////////////////////////
-    // default
-    //////////////////////////////////////////////////////////////////////////
-    
-    namespace range_detail {
-        BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( iterator )
-    }
-
-    template< typename C >
-    struct range_mutable_iterator : range_detail::extract_iterator<C>
-    {};
-    
-    //////////////////////////////////////////////////////////////////////////
-    // pair
-    //////////////////////////////////////////////////////////////////////////
-
-    template< typename Iterator >
-    struct range_mutable_iterator< std::pair<Iterator,Iterator> >
-    {
-        typedef Iterator type;
-    };
-
-    //////////////////////////////////////////////////////////////////////////
-    // array
-    //////////////////////////////////////////////////////////////////////////
-
-    template< typename T, std::size_t sz >
-    struct range_mutable_iterator< T[sz] >
-    {
-        typedef T* type;
-    };
-
-} // namespace boost
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif
diff --git a/SRC/Boost/boost/range/rbegin.hpp b/SRC/Boost/boost/range/rbegin.hpp
deleted file mode 100755
index fb97838..0000000
--- a/SRC/Boost/boost/range/rbegin.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_RBEGIN_HPP
-#define BOOST_RANGE_RBEGIN_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/end.hpp>
-#include <boost/range/reverse_iterator.hpp>
-
-namespace boost
-{
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
-rbegin( C& c )
-{
-    return BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type( boost::end( c ) );
-}
-
-#else
-
-template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
-rbegin( C& c )
-{
-    typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
-        iter_type;
-    return iter_type( boost::end( c ) );
-}
-
-template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
-rbegin( const C& c )
-{
-    typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
-        iter_type;
-    return iter_type( boost::end( c ) );
-}
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-template< class T >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::type
-const_rbegin( const T& r )
-{
-    return boost::rbegin( r );
-}
-
-} // namespace 'boost'
-
-#endif
-
diff --git a/SRC/Boost/boost/range/rend.hpp b/SRC/Boost/boost/range/rend.hpp
deleted file mode 100755
index 444f6e2..0000000
--- a/SRC/Boost/boost/range/rend.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_REND_HPP
-#define BOOST_RANGE_REND_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/begin.hpp>
-#include <boost/range/reverse_iterator.hpp>
-
-namespace boost
-{
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
-rend( C& c )
-{
-    return BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type( boost::begin( c ) );
-}
-
-#else
-
-template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
-rend( C& c )
-{
-    typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
-               iter_type;
-    return iter_type( boost::begin( c ) );
-}
-
-template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
-rend( const C& c )
-{
-    typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
-        iter_type;
-    return iter_type( boost::begin( c ) );
-}
-
-#endif
-
-template< class T >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::type
-const_rend( const T& r )
-{
-    return boost::rend( r );
-}
-
-} // namespace 'boost'
-
-#endif
-
diff --git a/SRC/Boost/boost/range/result_iterator.hpp b/SRC/Boost/boost/range/result_iterator.hpp
deleted file mode 100755
index f76f855..0000000
--- a/SRC/Boost/boost/range/result_iterator.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_RESULT_ITERATOR_HPP
-#define BOOST_RANGE_RESULT_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/range/iterator.hpp>
-
-namespace boost
-{
-    //
-    // This interface is deprecated, use range_iterator<T>
-    //
-    
-    template< typename C >
-    struct range_result_iterator : range_iterator<C>
-    { };
-    
-} // namespace boost
-
-
-#endif
diff --git a/SRC/Boost/boost/range/reverse_iterator.hpp b/SRC/Boost/boost/range/reverse_iterator.hpp
deleted file mode 100755
index 98b2c2f..0000000
--- a/SRC/Boost/boost/range/reverse_iterator.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_REVERSE_ITERATOR_HPP
-#define BOOST_RANGE_REVERSE_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-
-
-namespace boost
-{
-    //////////////////////////////////////////////////////////////////////////
-    // default
-    //////////////////////////////////////////////////////////////////////////
-    
-    template< typename C >
-    struct range_reverse_iterator
-    {
-        typedef reverse_iterator< 
-            BOOST_DEDUCED_TYPENAME range_iterator<C>::type > type;
-    };
-    
-
-} // namespace boost
-
-
-#endif
diff --git a/SRC/Boost/boost/range/size.hpp b/SRC/Boost/boost/range/size.hpp
deleted file mode 100755
index f564509..0000000
--- a/SRC/Boost/boost/range/size.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_SIZE_HPP
-#define BOOST_RANGE_SIZE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/assert.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template<class SinglePassRange>
-        inline BOOST_DEDUCED_TYPENAME range_difference<SinglePassRange>::type
-        range_calculate_size(const SinglePassRange& rng)
-        {
-            BOOST_ASSERT( (boost::end(rng) - boost::begin(rng)) >= 0 &&
-                          "reachability invariant broken!" );
-            return boost::end(rng) - boost::begin(rng);
-        }
-    }
-
-    template<class SinglePassRange>
-    inline BOOST_DEDUCED_TYPENAME range_difference<SinglePassRange>::type
-    size(const SinglePassRange& rng)
-    {
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
-    /**/
-        using namespace range_detail;
-#endif
-        return range_calculate_size(rng);
-    }
-
-} // namespace 'boost'
-
-#endif
diff --git a/SRC/Boost/boost/range/size_type.hpp b/SRC/Boost/boost/range/size_type.hpp
deleted file mode 100755
index f7d4013..0000000
--- a/SRC/Boost/boost/range/size_type.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_SIZE_TYPE_HPP
-#define BOOST_RANGE_SIZE_TYPE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/range/detail/size_type.hpp>
-#else
-
-#include <boost/type_traits/remove_const.hpp>
-#include <cstddef>
-#include <utility>
-
-namespace boost
-{
-    namespace detail
-    {
-
-        //////////////////////////////////////////////////////////////////////////
-        // default
-        //////////////////////////////////////////////////////////////////////////
-    
-        template< typename C >
-        struct range_size
-        {
-            typedef BOOST_DEDUCED_TYPENAME C::size_type type;
-        };
-    
-        //////////////////////////////////////////////////////////////////////////
-        // pair
-        //////////////////////////////////////////////////////////////////////////
-    
-        template< typename Iterator >
-        struct range_size< std::pair<Iterator,Iterator> >
-        {
-            typedef std::size_t type;
-        };
-    
-        //////////////////////////////////////////////////////////////////////////
-        // array
-        //////////////////////////////////////////////////////////////////////////
-    
-        template< typename T, std::size_t sz >
-        struct range_size< T[sz] >
-        {
-            typedef std::size_t type;
-        };
-    }
-
-    template< class T >
-    struct range_size : 
-        detail::range_size<T>
-    { };
-
-    template< class T >
-    struct range_size<const T >
-        : detail::range_size<T>
-    { };
-    
-} // namespace boost
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-
-#endif
diff --git a/SRC/Boost/boost/range/value_type.hpp b/SRC/Boost/boost/range/value_type.hpp
deleted file mode 100755
index 20ac01a..0000000
--- a/SRC/Boost/boost/range/value_type.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_VALUE_TYPE_HPP
-#define BOOST_RANGE_VALUE_TYPE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/iterator.hpp>
-
-//#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-//#include <boost/range/detail/value_type.hpp>
-//#else
-
-#include <boost/iterator/iterator_traits.hpp>
-
-namespace boost
-{
-    template< class T >
-    struct range_value : iterator_value< typename range_iterator<T>::type >
-    { };
-}
-
-#endif
diff --git a/SRC/Boost/boost/ref.hpp b/SRC/Boost/boost/ref.hpp
deleted file mode 100755
index 927fdcc..0000000
--- a/SRC/Boost/boost/ref.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-#ifndef BOOST_REF_HPP_INCLUDED
-#define BOOST_REF_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/utility/addressof.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/detail/workaround.hpp>
-
-//
-//  ref.hpp - ref/cref, useful helper functions
-//
-//  Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//  Copyright (C) 2001, 2002 Peter Dimov
-//  Copyright (C) 2002 David Abrahams
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/bind/ref.html for documentation.
-//
-
-namespace boost
-{
-
-template<class T> class reference_wrapper
-{ 
-public:
-    typedef T type;
-
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1300 )
-
-    explicit reference_wrapper(T& t): t_(&t) {}
-
-#else
-
-    explicit reference_wrapper(T& t): t_(boost::addressof(t)) {}
-
-#endif
-
-    operator T& () const { return *t_; }
-
-    T& get() const { return *t_; }
-
-    T* get_pointer() const { return t_; }
-
-private:
-
-    T* t_;
-};
-
-# if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x581) )
-#  define BOOST_REF_CONST
-# else
-#  define BOOST_REF_CONST const
-# endif
-
-template<class T> inline reference_wrapper<T> BOOST_REF_CONST ref(T & t)
-{ 
-    return reference_wrapper<T>(t);
-}
-
-template<class T> inline reference_wrapper<T const> BOOST_REF_CONST cref(T const & t)
-{
-    return reference_wrapper<T const>(t);
-}
-
-# undef BOOST_REF_CONST
-
-# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template<typename T>
-class is_reference_wrapper
-    : public mpl::false_
-{
-};
-
-template<typename T>
-class unwrap_reference
-{
- public:
-    typedef T type;
-};
-
-#  define AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(X) \
-template<typename T> \
-class is_reference_wrapper< X > \
-    : public mpl::true_ \
-{ \
-}; \
-\
-template<typename T> \
-class unwrap_reference< X > \
-{ \
- public: \
-    typedef T type; \
-}; \
-/**/
-
-AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T>)
-#if !defined(BOOST_NO_CV_SPECIALIZATIONS)
-AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> const)
-AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> volatile)
-AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> const volatile)
-#endif
-
-#  undef AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF
-
-# else // no partial specialization
-
-} // namespace boost
-
-#include <boost/type.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-  typedef char (&yes_reference_wrapper_t)[1];
-  typedef char (&no_reference_wrapper_t)[2];
-      
-  no_reference_wrapper_t is_reference_wrapper_test(...);
-
-  template<typename T>
-  yes_reference_wrapper_t is_reference_wrapper_test(type< reference_wrapper<T> >);
-
-  template<bool wrapped>
-  struct reference_unwrapper
-  {
-      template <class T>
-      struct apply
-      {
-          typedef T type;
-      };
-  };
-
-  template<>
-  struct reference_unwrapper<true>
-  {
-      template <class T>
-      struct apply
-      {
-          typedef typename T::type type;
-      };
-  };
-}
-
-template<typename T>
-class is_reference_wrapper
-{
- public:
-    BOOST_STATIC_CONSTANT(
-        bool, value = (
-             sizeof(detail::is_reference_wrapper_test(type<T>()))
-            == sizeof(detail::yes_reference_wrapper_t)));
-    
-    typedef ::boost::mpl::bool_<value> type;
-};
-
-template <typename T>
-class unwrap_reference
-    : public detail::reference_unwrapper<
-        is_reference_wrapper<T>::value
-      >::template apply<T>
-{};
-
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template <class T> inline typename unwrap_reference<T>::type&
-unwrap_ref(T& t)
-{
-    return t;
-}
-
-template<class T> inline T* get_pointer( reference_wrapper<T> const & r )
-{
-    return r.get_pointer();
-}
-
-} // namespace boost
-
-#endif // #ifndef BOOST_REF_HPP_INCLUDED
diff --git a/SRC/Boost/boost/regex.hpp b/SRC/Boost/boost/regex.hpp
deleted file mode 100755
index e73ac88..0000000
--- a/SRC/Boost/boost/regex.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org/libs/regex for documentation.
-  *   FILE         regex.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares boost::basic_regex<> and associated
-  *                functions and classes. This header is the main
-  *                entry point for the template regex code.
-  */
-
-
-/* start with C compatibility API */
-
-#ifndef BOOST_RE_REGEX_HPP
-#define BOOST_RE_REGEX_HPP
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#include <boost/regex/config.hpp>
-#endif
-
-#include <boost/regex/v4/regex.hpp>
-
-#endif  // include
-
-
-
-
diff --git a/SRC/Boost/boost/regex/config.hpp b/SRC/Boost/boost/regex/config.hpp
deleted file mode 100755
index 3264924..0000000
--- a/SRC/Boost/boost/regex/config.hpp
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the
- * Boost Software License, Version 1.0. (See accompanying file
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         config.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: regex extended config setup.
-  */
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#define BOOST_REGEX_CONFIG_HPP
-/*
- * Borland C++ Fix/error check
- * this has to go *before* we include any std lib headers:
- */
-#if defined(__BORLANDC__)
-#  include <boost/regex/config/borland.hpp>
-#endif
-
-/*****************************************************************************
- *
- *  Include all the headers we need here:
- *
- ****************************************************************************/
-
-#ifdef __cplusplus
-
-#  ifndef BOOST_REGEX_USER_CONFIG
-#     define BOOST_REGEX_USER_CONFIG <boost/regex/user.hpp>
-#  endif
-
-#  include BOOST_REGEX_USER_CONFIG
-
-#  include <boost/config.hpp>
-
-#else
-   /*
-    * C build,
-    * don't include <boost/config.hpp> because that may
-    * do C++ specific things in future...
-    */
-#  include <stdlib.h>
-#  include <stddef.h>
-#  ifdef _MSC_VER
-#     define BOOST_MSVC _MSC_VER
-#  endif
-#endif
-
-/*****************************************************************************
- *
- *  Boilerplate regex config options:
- *
- ****************************************************************************/
-
-/* Obsolete macro, use BOOST_VERSION instead: */
-#define BOOST_RE_VERSION 320
-
-/* fix: */
-#if defined(_UNICODE) && !defined(UNICODE)
-#define UNICODE
-#endif
-
-/*
- * Fix for gcc prior to 3.4: std::ctype<wchar_t> doesn't allow
- * masks to be combined, for example:
- * std::use_facet<std::ctype<wchar_t> >.is(std::ctype_base::lower|std::ctype_base::upper, L'a');
- * returns *false*.
- */
-#ifdef __GLIBCPP__
-#  define BOOST_REGEX_BUGGY_CTYPE_FACET
-#endif
-
-/*
- * Intel C++ before 8.0 ends up with unresolved externals unless we turn off
- * extern template support:
- */
-#if defined(BOOST_INTEL) && defined(__cplusplus) && (BOOST_INTEL <= 800)
-#  define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
-#endif
-/*
- * Visual C++ doesn't support external templates with C++ extensions turned off:
- */
-#if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS)
-#  define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
-#endif
-/*
- * Shared regex lib will crash without this, frankly it looks a lot like a gcc bug:
- */
-#if defined(__MINGW32__)
-#  define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
-#endif
-
-/*
- * If there isn't good enough wide character support then there will
- * be no wide character regular expressions:
- */
-#if (defined(BOOST_NO_CWCHAR) || defined(BOOST_NO_CWCTYPE) || defined(BOOST_NO_STD_WSTRING))
-#  if !defined(BOOST_NO_WREGEX)
-#     define BOOST_NO_WREGEX
-#  endif
-#else
-#  if defined(__sgi) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))
-      /* STLPort on IRIX is misconfigured: <cwctype> does not compile
-       * as a temporary fix include <wctype.h> instead and prevent inclusion
-       * of STLPort version of <cwctype> */
-#     include <wctype.h>
-#     define __STLPORT_CWCTYPE
-#     define _STLP_CWCTYPE
-#  endif
-
-#ifdef __cplusplus
-#  include <boost/regex/config/cwchar.hpp>
-#endif
-
-#endif
-
-/*
- * If Win32 support has been disabled for boost in general, then
- * it is for regex in particular:
- */
-#if defined(BOOST_DISABLE_WIN32) && !defined(BOOST_REGEX_NO_W32)
-#  define BOOST_REGEX_NO_W32
-#endif
-
-/* disable our own file-iterators and mapfiles if we can't
- * support them: */
-#if !defined(BOOST_HAS_DIRENT_H) && !(defined(_WIN32) && !defined(BOOST_REGEX_NO_W32))
-#  define BOOST_REGEX_NO_FILEITER
-#endif
-
-/* backwards compatibitity: */
-#if defined(BOOST_RE_NO_LIB)
-#  define BOOST_REGEX_NO_LIB
-#endif
-
-#if defined(__GNUC__) && (defined(_WIN32) || defined(__CYGWIN__))
-/* gcc on win32 has problems if you include <windows.h>
-   (sporadically generates bad code). */
-#  define BOOST_REGEX_NO_W32
-#endif
-#if defined(__COMO__) && !defined(BOOST_REGEX_NO_W32) && !defined(_MSC_EXTENSIONS)
-#  define BOOST_REGEX_NO_W32
-#endif
-
-/*****************************************************************************
- *
- *  Wide character workarounds:
- *
- ****************************************************************************/
-
-/*
- * define BOOST_REGEX_HAS_OTHER_WCHAR_T when wchar_t is a native type, but the users
- * code may be built with wchar_t as unsigned short: basically when we're building
- * with MSVC and the /Zc:wchar_t option we place some extra unsigned short versions
- * of the non-inline functions in the library, so that users can still link to the lib,
- * irrespective of whether their own code is built with /Zc:wchar_t.
- * Note that this does NOT WORK with VC10 when the C++ locale is in effect as
- * the locale's <unsigned short> facets simply do not compile in that case.
- */
-#if defined(__cplusplus) && (defined(BOOST_MSVC) || defined(__ICL)) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) && defined(BOOST_WINDOWS) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) && !defined(BOOST_RWSTD_VER) && ((_MSC_VER < 1600) || !defined(BOOST_REGEX_USE_CPP_LOCALE))
-#  define BOOST_REGEX_HAS_OTHER_WCHAR_T
-#  ifdef BOOST_MSVC
-#     pragma warning(push)
-#     pragma warning(disable : 4251 4231 4660)
-#  endif
-#  if defined(_DLL) && defined(BOOST_MSVC) && (BOOST_MSVC < 1600)
-#     include <string>
-      extern template class __declspec(dllimport) std::basic_string<unsigned short>;
-#  endif
-#  ifdef BOOST_MSVC
-#     pragma warning(pop)
-#  endif
-#endif
-
-
-/*****************************************************************************
- *
- *  Set up dll import/export options:
- *
- ****************************************************************************/
-
-#ifndef BOOST_SYMBOL_EXPORT
-#  define BOOST_SYMBOL_EXPORT
-#  define BOOST_SYMBOL_IMPORT
-#endif
-
-#if (defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && !defined(BOOST_REGEX_STATIC_LINK)
-#  if defined(BOOST_REGEX_SOURCE)
-#     define BOOST_REGEX_DECL BOOST_SYMBOL_EXPORT
-#     define BOOST_REGEX_BUILD_DLL
-#  else
-#     define BOOST_REGEX_DECL BOOST_SYMBOL_IMPORT
-#  endif
-#else
-#  define BOOST_REGEX_DECL
-#endif
-
-#if !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus)
-#  define BOOST_LIB_NAME boost_regex
-#  if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
-#     define BOOST_DYN_LINK
-#  endif
-#  ifdef BOOST_REGEX_DIAG
-#     define BOOST_LIB_DIAGNOSTIC
-#  endif
-#  include <boost/config/auto_link.hpp>
-#endif
-
-/*****************************************************************************
- *
- *  Set up function call type:
- *
- ****************************************************************************/
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1200) && defined(_MSC_EXTENSIONS)
-#if defined(_DEBUG) || defined(__MSVC_RUNTIME_CHECKS) || defined(_MANAGED)
-#  define BOOST_REGEX_CALL __cdecl
-#else
-#  define BOOST_REGEX_CALL __fastcall
-#endif
-#  define BOOST_REGEX_CCALL __cdecl
-#endif
-
-#if defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32)
-#  define BOOST_REGEX_CALL __fastcall
-#  define BOOST_REGEX_CCALL __stdcall
-#endif
-
-#ifndef BOOST_REGEX_CALL
-#  define BOOST_REGEX_CALL
-#endif
-#ifndef BOOST_REGEX_CCALL
-#define BOOST_REGEX_CCALL
-#endif
-
-/*****************************************************************************
- *
- *  Set up localisation model:
- *
- ****************************************************************************/
-
-/* backwards compatibility: */
-#ifdef BOOST_RE_LOCALE_C
-#  define BOOST_REGEX_USE_C_LOCALE
-#endif
-
-#ifdef BOOST_RE_LOCALE_CPP
-#  define BOOST_REGEX_USE_CPP_LOCALE
-#endif
-
-#if defined(__CYGWIN__)
-#  define BOOST_REGEX_USE_C_LOCALE
-#endif
-
-/* Win32 defaults to native Win32 locale: */
-#if defined(_WIN32) && !defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(BOOST_REGEX_USE_C_LOCALE) && !defined(BOOST_REGEX_USE_CPP_LOCALE) && !defined(BOOST_REGEX_NO_W32)
-#  define BOOST_REGEX_USE_WIN32_LOCALE
-#endif
-/* otherwise use C++ locale if supported: */
-#if !defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(BOOST_REGEX_USE_C_LOCALE) && !defined(BOOST_REGEX_USE_CPP_LOCALE) && !defined(BOOST_NO_STD_LOCALE)
-#  define BOOST_REGEX_USE_CPP_LOCALE
-#endif
-/* otherwise use C+ locale: */
-#if !defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(BOOST_REGEX_USE_C_LOCALE) && !defined(BOOST_REGEX_USE_CPP_LOCALE)
-#  define BOOST_REGEX_USE_C_LOCALE
-#endif
-
-#ifndef BOOST_REGEX_MAX_STATE_COUNT
-#  define BOOST_REGEX_MAX_STATE_COUNT 100000000
-#endif
-
-
-/*****************************************************************************
- *
- *  Error Handling for exception free compilers:
- *
- ****************************************************************************/
-
-#ifdef BOOST_NO_EXCEPTIONS
-/*
- * If there are no exceptions then we must report critical-errors
- * the only way we know how; by terminating.
- */
-#include <stdexcept>
-#include <string>
-#include <boost/throw_exception.hpp>
-
-#  define BOOST_REGEX_NOEH_ASSERT(x)\
-if(0 == (x))\
-{\
-   std::string s("Error: critical regex++ failure in: ");\
-   s.append(#x);\
-   std::runtime_error e(s);\
-   boost::throw_exception(e);\
-}
-#else
-/*
- * With exceptions then error handling is taken care of and
- * there is no need for these checks:
- */
-#  define BOOST_REGEX_NOEH_ASSERT(x)
-#endif
-
-
-/*****************************************************************************
- *
- *  Stack protection under MS Windows:
- *
- ****************************************************************************/
-
-#if !defined(BOOST_REGEX_NO_W32) && !defined(BOOST_REGEX_V3)
-#  if(defined(_WIN32) || defined(_WIN64) || defined(_WINCE)) \
-        && !defined(__GNUC__) \
-        && !(defined(__BORLANDC__) && (__BORLANDC__ >= 0x600)) \
-        && !(defined(__MWERKS__) && (__MWERKS__ <= 0x3003))
-#     define BOOST_REGEX_HAS_MS_STACK_GUARD
-#  endif
-#elif defined(BOOST_REGEX_HAS_MS_STACK_GUARD)
-#  undef BOOST_REGEX_HAS_MS_STACK_GUARD
-#endif
-
-#if defined(__cplusplus) && defined(BOOST_REGEX_HAS_MS_STACK_GUARD)
-
-namespace boost{
-namespace re_detail{
-
-BOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page();
-
-}
-}
-
-#endif
-
-
-/*****************************************************************************
- *
- *  Algorithm selection and configuration:
- *
- ****************************************************************************/
-
-#if !defined(BOOST_REGEX_RECURSIVE) && !defined(BOOST_REGEX_NON_RECURSIVE)
-#  if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && !defined(_STLP_DEBUG) && !defined(__STL_DEBUG) && !(defined(BOOST_MSVC) && (BOOST_MSVC >= 1400))
-#     define BOOST_REGEX_RECURSIVE
-#  else
-#     define BOOST_REGEX_NON_RECURSIVE
-#  endif
-#endif
-
-#ifdef BOOST_REGEX_NON_RECURSIVE
-#  ifdef BOOST_REGEX_RECURSIVE
-#     error "Can't set both BOOST_REGEX_RECURSIVE and BOOST_REGEX_NON_RECURSIVE"
-#  endif
-#  ifndef BOOST_REGEX_BLOCKSIZE
-#     define BOOST_REGEX_BLOCKSIZE 4096
-#  endif
-#  if BOOST_REGEX_BLOCKSIZE < 512
-#     error "BOOST_REGEX_BLOCKSIZE must be at least 512"
-#  endif
-#  ifndef BOOST_REGEX_MAX_BLOCKS
-#     define BOOST_REGEX_MAX_BLOCKS 1024
-#  endif
-#  ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
-#     undef BOOST_REGEX_HAS_MS_STACK_GUARD
-#  endif
-#  ifndef BOOST_REGEX_MAX_CACHE_BLOCKS
-#     define BOOST_REGEX_MAX_CACHE_BLOCKS 16
-#  endif
-#endif
-
-
-/*****************************************************************************
- *
- *  helper memory allocation functions:
- *
- ****************************************************************************/
-
-#if defined(__cplusplus) && defined(BOOST_REGEX_NON_RECURSIVE)
-namespace boost{ namespace re_detail{
-
-BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block();
-BOOST_REGEX_DECL void BOOST_REGEX_CALL put_mem_block(void*);
-
-}} /* namespaces */
-#endif
-
-/*****************************************************************************
- *
- *  Diagnostics:
- *
- ****************************************************************************/
-
-#ifdef BOOST_REGEX_CONFIG_INFO
-BOOST_REGEX_DECL void BOOST_REGEX_CALL print_regex_library_info();
-#endif
-
-#if defined(BOOST_REGEX_DIAG)
-#  pragma message ("BOOST_REGEX_DECL" BOOST_STRINGIZE(=BOOST_REGEX_DECL))
-#  pragma message ("BOOST_REGEX_CALL" BOOST_STRINGIZE(=BOOST_REGEX_CALL))
-#  pragma message ("BOOST_REGEX_CCALL" BOOST_STRINGIZE(=BOOST_REGEX_CCALL))
-#ifdef BOOST_REGEX_USE_C_LOCALE
-#  pragma message ("Using C locale in regex traits class")
-#elif BOOST_REGEX_USE_CPP_LOCALE
-#  pragma message ("Using C++ locale in regex traits class")
-#else
-#  pragma message ("Using Win32 locale in regex traits class")
-#endif
-#if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
-#  pragma message ("Dynamic linking enabled")
-#endif
-#if defined(BOOST_REGEX_NO_LIB) || defined(BOOST_ALL_NO_LIB)
-#  pragma message ("Auto-linking disabled")
-#endif
-#ifdef BOOST_REGEX_NO_EXTERNAL_TEMPLATES
-#  pragma message ("Extern templates disabled")
-#endif
-
-#endif
-
-#endif
-
-
-
-
diff --git a/SRC/Boost/boost/regex/config/borland.hpp b/SRC/Boost/boost/regex/config/borland.hpp
deleted file mode 100755
index 62781a2..0000000
--- a/SRC/Boost/boost/regex/config/borland.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         boost/regex/config/borland.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: regex borland-specific config setup.
-  */
-
-
-#if defined(__BORLANDC__)
-#  if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551)
-      // problems with std::basic_string and dll RTL:
-#     if defined(_RTLDLL) && defined(_RWSTD_COMPILE_INSTANTIATE)
-#        ifdef BOOST_REGEX_BUILD_DLL
-#           error _RWSTD_COMPILE_INSTANTIATE must not be defined when building regex++ as a DLL
-#        else
-#           pragma message("Defining _RWSTD_COMPILE_INSTANTIATE when linking to the DLL version of the RTL may produce memory corruption problems in std::basic_string, as a result of separate versions of basic_string's static data in the RTL and you're exe/dll: be warned!!")
-#        endif
-#     endif
-#     ifndef _RTLDLL
-         // this is harmless for a staic link:
-#        define _RWSTD_COMPILE_INSTANTIATE
-#     endif
-      // external templates cause problems for some reason:
-#     define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
-#  endif
-#  if (__BORLANDC__ <= 0x540) && !defined(BOOST_REGEX_NO_LIB) && !defined(_NO_VCL)
-      // C++ Builder 4 and earlier, we can't tell whether we should be using
-      // the VCL runtime or not, do a static link instead:
-#     define BOOST_REGEX_STATIC_LINK
-#  endif
-   //
-   // VCL support:
-   // if we're building a console app then there can't be any VCL (can there?)
-#  if !defined(__CONSOLE__) && !defined(_NO_VCL)
-#     define BOOST_REGEX_USE_VCL
-#  endif
-   //
-   // if this isn't Win32 then don't automatically select link
-   // libraries:
-   //
-#  ifndef _Windows
-#     ifndef BOOST_REGEX_NO_LIB
-#        define BOOST_REGEX_NO_LIB
-#     endif
-#     ifndef BOOST_REGEX_STATIC_LINK
-#        define BOOST_REGEX_STATIC_LINK
-#     endif
-#  endif
-
-#if __BORLANDC__ < 0x600
-//
-// string workarounds:
-//
-#include <cstring>
-#undef strcmp
-#undef strcpy
-#endif
-
-#endif
-
-
diff --git a/SRC/Boost/boost/regex/config/cwchar.hpp b/SRC/Boost/boost/regex/config/cwchar.hpp
deleted file mode 100755
index b35fca9..0000000
--- a/SRC/Boost/boost/regex/config/cwchar.hpp
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         boost/regex/config/cwchar.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: regex wide character string fixes.
-  */
-
-#ifndef BOOST_REGEX_CONFIG_CWCHAR_HPP
-#define BOOST_REGEX_CONFIG_CWCHAR_HPP
-
-#include <cwchar>
-#include <cwctype>
-#include <boost/config.hpp>
-
-#if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
-// apparently this is required for the RW STL on Linux:
-#undef iswalnum
-#undef iswalpha
-#undef iswblank
-#undef iswcntrl
-#undef iswdigit
-#undef iswgraph
-#undef iswlower
-#undef iswprint
-#undef iswprint
-#undef iswpunct
-#undef iswspace
-#undef iswupper
-#undef iswxdigit
-#undef iswctype
-#undef towlower
-#undef towupper
-#undef towctrans
-#undef wctrans
-#undef wctype
-#endif
-
-namespace std{
-
-#ifndef BOOST_NO_STDC_NAMESPACE
-extern "C"{
-#endif
-
-#ifdef iswalnum
-inline int (iswalnum)(wint_t i)
-{ return iswalnum(i); }
-#undef iswalnum
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::iswalnum;
-#endif
-
-#ifdef iswalpha
-inline int (iswalpha)(wint_t i)
-{ return iswalpha(i); }
-#undef iswalpha
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::iswalpha;
-#endif
-
-#ifdef iswcntrl
-inline int (iswcntrl)(wint_t i)
-{ return iswcntrl(i); }
-#undef iswcntrl
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::iswcntrl;
-#endif
-
-#ifdef iswdigit
-inline int (iswdigit)(wint_t i)
-{ return iswdigit(i); }
-#undef iswdigit
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::iswdigit;
-#endif
-
-#ifdef iswgraph
-inline int (iswgraph)(wint_t i)
-{ return iswgraph(i); }
-#undef iswgraph
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::iswgraph;
-#endif
-
-#ifdef iswlower
-inline int (iswlower)(wint_t i)
-{ return iswlower(i); }
-#undef iswlower
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::iswlower;
-#endif
-
-#ifdef iswprint
-inline int (iswprint)(wint_t i)
-{ return iswprint(i); }
-#undef iswprint
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::iswprint;
-#endif
-
-#ifdef iswpunct
-inline int (iswpunct)(wint_t i)
-{ return iswpunct(i); }
-#undef iswpunct
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::iswpunct;
-#endif
-
-#ifdef iswspace
-inline int (iswspace)(wint_t i)
-{ return iswspace(i); }
-#undef iswspace
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::iswspace;
-#endif
-
-#ifdef iswupper
-inline int (iswupper)(wint_t i)
-{ return iswupper(i); }
-#undef iswupper
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::iswupper;
-#endif
-
-#ifdef iswxdigit
-inline int (iswxdigit)(wint_t i)
-{ return iswxdigit(i); }
-#undef iswxdigit
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::iswxdigit;
-#endif
-
-#ifdef towlower
-inline wint_t (towlower)(wint_t i)
-{ return towlower(i); }
-#undef towlower
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::towlower;
-#endif
-
-#ifdef towupper
-inline wint_t (towupper)(wint_t i)
-{ return towupper(i); }
-#undef towupper
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using :: towupper;
-#endif
-
-#ifdef wcscmp
-inline int (wcscmp)(const wchar_t *p1, const wchar_t *p2)
-{ return wcscmp(p1,p2); }
-#undef wcscmp
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::wcscmp;
-#endif
-
-#ifdef wcscoll
-inline int (wcscoll)(const wchar_t *p1, const wchar_t *p2)
-{ return wcscoll(p1,p2); }
-#undef wcscoll
-#elif defined(BOOST_NO_STDC_NAMESPACE) && !defined(UNDER_CE)
-using ::wcscoll;
-#endif
-
-#ifdef wcscpy
-inline wchar_t *(wcscpy)(wchar_t *p1, const wchar_t *p2)
-{ return wcscpy(p1,p2); }
-#undef wcscpy
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::wcscpy;
-#endif
-
-#ifdef wcslen
-inline size_t (wcslen)(const wchar_t *p)
-{ return wcslen(p); }
-#undef wcslen
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::wcslen;
-#endif
-
-#ifdef wcsxfrm
-size_t wcsxfrm(wchar_t *p1, const wchar_t *p2, size_t s)
-{ return wcsxfrm(p1,p2,s); }
-#undef wcsxfrm
-#elif defined(BOOST_NO_STDC_NAMESPACE)
-using ::wcsxfrm;
-#endif
-
-
-#ifndef BOOST_NO_STDC_NAMESPACE
-} // extern "C"
-#endif
-
-} // namespace std
-
-#endif
-
diff --git a/SRC/Boost/boost/regex/icu.hpp b/SRC/Boost/boost/regex/icu.hpp
deleted file mode 100755
index b703a63..0000000
--- a/SRC/Boost/boost/regex/icu.hpp
+++ /dev/null
@@ -1,1031 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         icu.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Unicode regular expressions on top of the ICU Library.
-  */
-
-#ifndef BOOST_REGEX_ICU_HPP
-#define BOOST_REGEX_ICU_HPP
-
-#include <unicode/utypes.h>
-#include <unicode/uchar.h>
-#include <unicode/coll.h>
-#include <boost/regex.hpp>
-#include <boost/regex/pending/unicode_iterator.hpp>
-#include <boost/mpl/int_fwd.hpp>
-#include <bitset>
-
-#ifdef BOOST_MSVC
-#pragma warning (push)
-#pragma warning (disable: 4251)
-#endif
-
-namespace boost{
-
-namespace re_detail{
-
-// 
-// Implementation details:
-//
-class BOOST_REGEX_DECL icu_regex_traits_implementation
-{
-   typedef UChar32                      char_type;
-   typedef std::size_t                  size_type;
-   typedef std::vector<char_type>       string_type;
-   typedef U_NAMESPACE_QUALIFIER Locale locale_type;
-   typedef boost::uint_least32_t        char_class_type;
-public:
-   icu_regex_traits_implementation(const U_NAMESPACE_QUALIFIER Locale& l)
-      : m_locale(l)
-   {
-      UErrorCode success = U_ZERO_ERROR;
-      m_collator.reset(U_NAMESPACE_QUALIFIER Collator::createInstance(l, success));
-      if(U_SUCCESS(success) == 0)
-         init_error();
-      m_collator->setStrength(U_NAMESPACE_QUALIFIER Collator::IDENTICAL);
-      success = U_ZERO_ERROR;
-      m_primary_collator.reset(U_NAMESPACE_QUALIFIER Collator::createInstance(l, success));
-      if(U_SUCCESS(success) == 0)
-         init_error();
-      m_primary_collator->setStrength(U_NAMESPACE_QUALIFIER Collator::PRIMARY);
-   }
-   U_NAMESPACE_QUALIFIER Locale getloc()const
-   {
-      return m_locale;
-   }
-   string_type do_transform(const char_type* p1, const char_type* p2, const U_NAMESPACE_QUALIFIER Collator* pcoll) const;
-   string_type transform(const char_type* p1, const char_type* p2) const
-   {
-      return do_transform(p1, p2, m_collator.get());
-   }
-   string_type transform_primary(const char_type* p1, const char_type* p2) const
-   {
-      return do_transform(p1, p2, m_primary_collator.get());
-   }
-private:
-   void init_error()
-   {
-      std::runtime_error e("Could not initialize ICU resources");
-      boost::throw_exception(e);
-   }
-   U_NAMESPACE_QUALIFIER Locale m_locale;                                  // The ICU locale that we're using
-   boost::scoped_ptr< U_NAMESPACE_QUALIFIER Collator> m_collator;          // The full collation object
-   boost::scoped_ptr< U_NAMESPACE_QUALIFIER Collator> m_primary_collator;  // The primary collation object
-};
-
-inline boost::shared_ptr<icu_regex_traits_implementation> get_icu_regex_traits_implementation(const U_NAMESPACE_QUALIFIER Locale& loc)
-{
-   return boost::shared_ptr<icu_regex_traits_implementation>(new icu_regex_traits_implementation(loc));
-}
-
-}
-
-class BOOST_REGEX_DECL icu_regex_traits
-{
-public:
-   typedef UChar32                      char_type;
-   typedef std::size_t                  size_type;
-   typedef std::vector<char_type>       string_type;
-   typedef U_NAMESPACE_QUALIFIER Locale locale_type;
-#ifdef BOOST_NO_INT64_T
-   typedef std::bitset<64>              char_class_type;
-#else
-   typedef boost::uint64_t              char_class_type;
-#endif
-
-   struct boost_extensions_tag{};
-
-   icu_regex_traits()
-      : m_pimpl(re_detail::get_icu_regex_traits_implementation(U_NAMESPACE_QUALIFIER Locale()))
-   {
-   }
-   static size_type length(const char_type* p);
-
-   ::boost::regex_constants::syntax_type syntax_type(char_type c)const
-   {
-      return ((c < 0x7f) && (c > 0)) ? re_detail::get_default_syntax_type(static_cast<char>(c)) : regex_constants::syntax_char;
-   }
-   ::boost::regex_constants::escape_syntax_type escape_syntax_type(char_type c) const
-   {
-      return ((c < 0x7f) && (c > 0)) ? re_detail::get_default_escape_syntax_type(static_cast<char>(c)) : regex_constants::syntax_char;
-   }
-   char_type translate(char_type c) const
-   {
-      return c;
-   }
-   char_type translate_nocase(char_type c) const
-   {
-      return ::u_tolower(c);
-   }
-   char_type translate(char_type c, bool icase) const
-   {
-      return icase ? translate_nocase(c) : translate(c);
-   }
-   char_type tolower(char_type c) const
-   {
-      return ::u_tolower(c);
-   }
-   char_type toupper(char_type c) const
-   {
-      return ::u_toupper(c);
-   }
-   string_type transform(const char_type* p1, const char_type* p2) const
-   {
-      return m_pimpl->transform(p1, p2);
-   }
-   string_type transform_primary(const char_type* p1, const char_type* p2) const
-   {
-      return m_pimpl->transform_primary(p1, p2);
-   }
-   char_class_type lookup_classname(const char_type* p1, const char_type* p2) const;
-   string_type lookup_collatename(const char_type* p1, const char_type* p2) const;
-   bool isctype(char_type c, char_class_type f) const;
-   int toi(const char_type*& p1, const char_type* p2, int radix)const
-   {
-      return re_detail::global_toi(p1, p2, radix, *this);
-   }
-   int value(char_type c, int radix)const
-   {
-      return u_digit(c, static_cast< ::int8_t>(radix));
-   }
-   locale_type imbue(locale_type l)
-   {
-      locale_type result(m_pimpl->getloc());
-      m_pimpl = re_detail::get_icu_regex_traits_implementation(l);
-      return result;
-   }
-   locale_type getloc()const
-   {
-      return locale_type();
-   }
-   std::string error_string(::boost::regex_constants::error_type n) const
-   {
-      return re_detail::get_default_error_string(n);
-   }
-private:
-   icu_regex_traits(const icu_regex_traits&);
-   icu_regex_traits& operator=(const icu_regex_traits&);
-
-   //
-   // define the bitmasks offsets we need for additional character properties:
-   //
-   enum{
-      offset_blank = U_CHAR_CATEGORY_COUNT,
-      offset_space = U_CHAR_CATEGORY_COUNT+1,
-      offset_xdigit = U_CHAR_CATEGORY_COUNT+2,
-      offset_underscore = U_CHAR_CATEGORY_COUNT+3,
-      offset_unicode = U_CHAR_CATEGORY_COUNT+4,
-      offset_any = U_CHAR_CATEGORY_COUNT+5,
-      offset_ascii = U_CHAR_CATEGORY_COUNT+6,
-      offset_horizontal = U_CHAR_CATEGORY_COUNT+7,
-      offset_vertical = U_CHAR_CATEGORY_COUNT+8
-   };
-
-   //
-   // and now the masks:
-   //
-   static const char_class_type mask_blank;
-   static const char_class_type mask_space;
-   static const char_class_type mask_xdigit;
-   static const char_class_type mask_underscore;
-   static const char_class_type mask_unicode;
-   static const char_class_type mask_any;
-   static const char_class_type mask_ascii;
-   static const char_class_type mask_horizontal;
-   static const char_class_type mask_vertical;
-
-   static char_class_type lookup_icu_mask(const ::UChar32* p1, const ::UChar32* p2);
-
-   boost::shared_ptr< ::boost::re_detail::icu_regex_traits_implementation> m_pimpl;
-};
-
-} // namespace boost
-
-//
-// template instances:
-//
-#define BOOST_REGEX_CHAR_T UChar32
-#undef BOOST_REGEX_TRAITS_T
-#define BOOST_REGEX_TRAITS_T , icu_regex_traits
-#define BOOST_REGEX_ICU_INSTANCES
-#ifdef BOOST_REGEX_ICU_INSTANTIATE
-#  define BOOST_REGEX_INSTANTIATE
-#endif
-#include <boost/regex/v4/instances.hpp>
-#undef BOOST_REGEX_CHAR_T
-#undef BOOST_REGEX_TRAITS_T
-#undef BOOST_REGEX_ICU_INSTANCES
-#ifdef BOOST_REGEX_INSTANTIATE
-#  undef BOOST_REGEX_INSTANTIATE
-#endif
-
-namespace boost{
-
-// types:
-typedef basic_regex< ::UChar32, icu_regex_traits> u32regex;
-typedef match_results<const ::UChar32*> u32match;
-typedef match_results<const ::UChar*> u16match;
-
-//
-// Construction of 32-bit regex types from UTF-8 and UTF-16 primitives:
-//
-namespace re_detail{
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__)
-template <class InputIterator>
-inline u32regex do_make_u32regex(InputIterator i, 
-                              InputIterator j, 
-                              boost::regex_constants::syntax_option_type opt, 
-                              const boost::mpl::int_<1>*)
-{
-   typedef boost::u8_to_u32_iterator<InputIterator, UChar32> conv_type;
-   return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt);
-}
-
-template <class InputIterator>
-inline u32regex do_make_u32regex(InputIterator i, 
-                              InputIterator j, 
-                              boost::regex_constants::syntax_option_type opt, 
-                              const boost::mpl::int_<2>*)
-{
-   typedef boost::u16_to_u32_iterator<InputIterator, UChar32> conv_type;
-   return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt);
-}
-
-template <class InputIterator>
-inline u32regex do_make_u32regex(InputIterator i, 
-                              InputIterator j, 
-                              boost::regex_constants::syntax_option_type opt, 
-                              const boost::mpl::int_<4>*)
-{
-   return u32regex(i, j, opt);
-}
-#else
-template <class InputIterator>
-inline u32regex do_make_u32regex(InputIterator i, 
-                              InputIterator j, 
-                              boost::regex_constants::syntax_option_type opt, 
-                              const boost::mpl::int_<1>*)
-{
-   typedef boost::u8_to_u32_iterator<InputIterator, UChar32> conv_type;
-   typedef std::vector<UChar32> vector_type;
-   vector_type v;
-   conv_type a(i, i, j), b(j, i, j);
-   while(a != b)
-   {
-      v.push_back(*a);
-      ++a;
-   }
-   if(v.size())
-      return u32regex(&*v.begin(), v.size(), opt);
-   return u32regex(static_cast<UChar32 const*>(0), static_cast<u32regex::size_type>(0), opt);
-}
-
-template <class InputIterator>
-inline u32regex do_make_u32regex(InputIterator i, 
-                              InputIterator j, 
-                              boost::regex_constants::syntax_option_type opt, 
-                              const boost::mpl::int_<2>*)
-{
-   typedef boost::u16_to_u32_iterator<InputIterator, UChar32> conv_type;
-   typedef std::vector<UChar32> vector_type;
-   vector_type v;
-   conv_type a(i, i, j), b(j, i, j);
-   while(a != b)
-   {
-      v.push_back(*a);
-      ++a;
-   }
-   if(v.size())
-      return u32regex(&*v.begin(), v.size(), opt);
-   return u32regex(static_cast<UChar32 const*>(0), static_cast<u32regex::size_type>(0), opt);
-}
-
-template <class InputIterator>
-inline u32regex do_make_u32regex(InputIterator i, 
-                              InputIterator j, 
-                              boost::regex_constants::syntax_option_type opt, 
-                              const boost::mpl::int_<4>*)
-{
-   typedef std::vector<UChar32> vector_type;
-   vector_type v;
-   while(i != j)
-   {
-      v.push_back((UChar32)(*i));
-      ++i;
-   }
-   if(v.size())
-      return u32regex(&*v.begin(), v.size(), opt);
-   return u32regex(static_cast<UChar32 const*>(0), static_cast<u32regex::size_type>(0), opt);
-}
-#endif
-}
-
-//
-// Construction from an iterator pair:
-//
-template <class InputIterator>
-inline u32regex make_u32regex(InputIterator i, 
-                              InputIterator j, 
-                              boost::regex_constants::syntax_option_type opt)
-{
-   return re_detail::do_make_u32regex(i, j, opt, static_cast<boost::mpl::int_<sizeof(*i)> const*>(0));
-}
-//
-// construction from UTF-8 nul-terminated strings:
-//
-inline u32regex make_u32regex(const char* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
-{
-   return re_detail::do_make_u32regex(p, p + std::strlen(p), opt, static_cast<boost::mpl::int_<1> const*>(0));
-}
-inline u32regex make_u32regex(const unsigned char* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
-{
-   return re_detail::do_make_u32regex(p, p + std::strlen(reinterpret_cast<const char*>(p)), opt, static_cast<boost::mpl::int_<1> const*>(0));
-}
-//
-// construction from UTF-16 nul-terminated strings:
-//
-#ifndef BOOST_NO_WREGEX
-inline u32regex make_u32regex(const wchar_t* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
-{
-   return re_detail::do_make_u32regex(p, p + std::wcslen(p), opt, static_cast<boost::mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-#endif
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2)
-inline u32regex make_u32regex(const UChar* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
-{
-   return re_detail::do_make_u32regex(p, p + u_strlen(p), opt, static_cast<boost::mpl::int_<2> const*>(0));
-}
-#endif
-//
-// construction from basic_string class-template:
-//
-template<class C, class T, class A>
-inline u32regex make_u32regex(const std::basic_string<C, T, A>& s, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
-{
-   return re_detail::do_make_u32regex(s.begin(), s.end(), opt, static_cast<boost::mpl::int_<sizeof(C)> const*>(0));
-}
-//
-// Construction from ICU string type:
-//
-inline u32regex make_u32regex(const U_NAMESPACE_QUALIFIER UnicodeString& s, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
-{
-   return re_detail::do_make_u32regex(s.getBuffer(), s.getBuffer() + s.length(), opt, static_cast<boost::mpl::int_<2> const*>(0));
-}
-
-//
-// regex_match overloads that widen the character type as appropriate:
-//
-namespace re_detail{
-template<class MR1, class MR2>
-void copy_results(MR1& out, MR2 const& in)
-{
-   // copy results from an adapted MR2 match_results:
-   out.set_size(in.size(), in.prefix().first.base(), in.suffix().second.base());
-   out.set_base(in.base().base());
-   for(int i = 0; i < (int)in.size(); ++i)
-   {
-      if(in[i].matched)
-      {
-         out.set_first(in[i].first.base(), i);
-         out.set_second(in[i].second.base(), i);
-      }
-   }
-}
-
-template <class BidiIterator, class Allocator>
-inline bool do_regex_match(BidiIterator first, BidiIterator last, 
-                 match_results<BidiIterator, Allocator>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags,
-                 boost::mpl::int_<4> const*)
-{
-   return ::boost::regex_match(first, last, m, e, flags);
-}
-template <class BidiIterator, class Allocator>
-bool do_regex_match(BidiIterator first, BidiIterator last, 
-                 match_results<BidiIterator, Allocator>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags,
-                 boost::mpl::int_<2> const*)
-{
-   typedef u16_to_u32_iterator<BidiIterator, UChar32> conv_type;
-   typedef match_results<conv_type>                   match_type;
-   typedef typename match_type::allocator_type        alloc_type;
-   match_type what;
-   bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags);
-   // copy results across to m:
-   if(result) copy_results(m, what);
-   return result;
-}
-template <class BidiIterator, class Allocator>
-bool do_regex_match(BidiIterator first, BidiIterator last, 
-                 match_results<BidiIterator, Allocator>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags,
-                 boost::mpl::int_<1> const*)
-{
-   typedef u8_to_u32_iterator<BidiIterator, UChar32>  conv_type;
-   typedef match_results<conv_type>                   match_type;
-   typedef typename match_type::allocator_type        alloc_type;
-   match_type what;
-   bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags);
-   // copy results across to m:
-   if(result) copy_results(m, what);
-   return result;
-}
-} // namespace re_detail
-
-template <class BidiIterator, class Allocator>
-inline bool u32regex_match(BidiIterator first, BidiIterator last, 
-                 match_results<BidiIterator, Allocator>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_match(first, last, m, e, flags, static_cast<mpl::int_<sizeof(*first)> const*>(0));
-}
-inline bool u32regex_match(const UChar* p, 
-                 match_results<const UChar*>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast<mpl::int_<2> const*>(0));
-}
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX)
-inline bool u32regex_match(const wchar_t* p, 
-                 match_results<const wchar_t*>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_match(p, p+std::wcslen(p), m, e, flags, static_cast<mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-#endif
-inline bool u32regex_match(const char* p, 
-                 match_results<const char*>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_match(p, p+std::strlen(p), m, e, flags, static_cast<mpl::int_<1> const*>(0));
-}
-inline bool u32regex_match(const unsigned char* p, 
-                 match_results<const unsigned char*>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_match(p, p+std::strlen((const char*)p), m, e, flags, static_cast<mpl::int_<1> const*>(0));
-}
-inline bool u32regex_match(const std::string& s, 
-                        match_results<std::string::const_iterator>& m, 
-                        const u32regex& e, 
-                        match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast<mpl::int_<1> const*>(0));
-}
-#ifndef BOOST_NO_STD_WSTRING
-inline bool u32regex_match(const std::wstring& s, 
-                        match_results<std::wstring::const_iterator>& m, 
-                        const u32regex& e, 
-                        match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast<mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-#endif
-inline bool u32regex_match(const U_NAMESPACE_QUALIFIER UnicodeString& s, 
-                        match_results<const UChar*>& m, 
-                        const u32regex& e, 
-                        match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_match(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, static_cast<mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-//
-// regex_match overloads that do not return what matched:
-//
-template <class BidiIterator>
-inline bool u32regex_match(BidiIterator first, BidiIterator last, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   match_results<BidiIterator> m;
-   return re_detail::do_regex_match(first, last, m, e, flags, static_cast<mpl::int_<sizeof(*first)> const*>(0));
-}
-inline bool u32regex_match(const UChar* p, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   match_results<const UChar*> m;
-   return re_detail::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast<mpl::int_<2> const*>(0));
-}
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX)
-inline bool u32regex_match(const wchar_t* p, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   match_results<const wchar_t*> m;
-   return re_detail::do_regex_match(p, p+std::wcslen(p), m, e, flags, static_cast<mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-#endif
-inline bool u32regex_match(const char* p, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   match_results<const char*> m;
-   return re_detail::do_regex_match(p, p+std::strlen(p), m, e, flags, static_cast<mpl::int_<1> const*>(0));
-}
-inline bool u32regex_match(const unsigned char* p, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   match_results<const unsigned char*> m;
-   return re_detail::do_regex_match(p, p+std::strlen((const char*)p), m, e, flags, static_cast<mpl::int_<1> const*>(0));
-}
-inline bool u32regex_match(const std::string& s, 
-                        const u32regex& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<std::string::const_iterator> m;
-   return re_detail::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast<mpl::int_<1> const*>(0));
-}
-#ifndef BOOST_NO_STD_WSTRING
-inline bool u32regex_match(const std::wstring& s, 
-                        const u32regex& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<std::wstring::const_iterator> m;
-   return re_detail::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast<mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-#endif
-inline bool u32regex_match(const U_NAMESPACE_QUALIFIER UnicodeString& s, 
-                        const u32regex& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<const UChar*> m;
-   return re_detail::do_regex_match(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, static_cast<mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-
-//
-// regex_search overloads that widen the character type as appropriate:
-//
-namespace re_detail{
-template <class BidiIterator, class Allocator>
-inline bool do_regex_search(BidiIterator first, BidiIterator last, 
-                 match_results<BidiIterator, Allocator>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags,
-                 BidiIterator base,
-                 boost::mpl::int_<4> const*)
-{
-   return ::boost::regex_search(first, last, m, e, flags, base);
-}
-template <class BidiIterator, class Allocator>
-bool do_regex_search(BidiIterator first, BidiIterator last, 
-                 match_results<BidiIterator, Allocator>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags,
-                 BidiIterator base,
-                 boost::mpl::int_<2> const*)
-{
-   typedef u16_to_u32_iterator<BidiIterator, UChar32> conv_type;
-   typedef match_results<conv_type>                   match_type;
-   typedef typename match_type::allocator_type        alloc_type;
-   match_type what;
-   bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base));
-   // copy results across to m:
-   if(result) copy_results(m, what);
-   return result;
-}
-template <class BidiIterator, class Allocator>
-bool do_regex_search(BidiIterator first, BidiIterator last, 
-                 match_results<BidiIterator, Allocator>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags,
-                 BidiIterator base,
-                 boost::mpl::int_<1> const*)
-{
-   typedef u8_to_u32_iterator<BidiIterator, UChar32>  conv_type;
-   typedef match_results<conv_type>                   match_type;
-   typedef typename match_type::allocator_type        alloc_type;
-   match_type what;
-   bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base));
-   // copy results across to m:
-   if(result) copy_results(m, what);
-   return result;
-}
-}
-
-template <class BidiIterator, class Allocator>
-inline bool u32regex_search(BidiIterator first, BidiIterator last, 
-                 match_results<BidiIterator, Allocator>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_search(first, last, m, e, flags, first, static_cast<mpl::int_<sizeof(*first)> const*>(0));
-}
-template <class BidiIterator, class Allocator>
-inline bool u32regex_search(BidiIterator first, BidiIterator last, 
-                 match_results<BidiIterator, Allocator>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags,
-                 BidiIterator base)
-{
-   return re_detail::do_regex_search(first, last, m, e, flags, base, static_cast<mpl::int_<sizeof(*first)> const*>(0));
-}
-inline bool u32regex_search(const UChar* p, 
-                 match_results<const UChar*>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast<mpl::int_<2> const*>(0));
-}
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX)
-inline bool u32regex_search(const wchar_t* p, 
-                 match_results<const wchar_t*>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_search(p, p+std::wcslen(p), m, e, flags, p, static_cast<mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-#endif
-inline bool u32regex_search(const char* p, 
-                 match_results<const char*>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_search(p, p+std::strlen(p), m, e, flags, p, static_cast<mpl::int_<1> const*>(0));
-}
-inline bool u32regex_search(const unsigned char* p, 
-                 match_results<const unsigned char*>& m, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_search(p, p+std::strlen((const char*)p), m, e, flags, p, static_cast<mpl::int_<1> const*>(0));
-}
-inline bool u32regex_search(const std::string& s, 
-                        match_results<std::string::const_iterator>& m, 
-                        const u32regex& e, 
-                        match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast<mpl::int_<1> const*>(0));
-}
-#ifndef BOOST_NO_STD_WSTRING
-inline bool u32regex_search(const std::wstring& s, 
-                        match_results<std::wstring::const_iterator>& m, 
-                        const u32regex& e, 
-                        match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast<mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-#endif
-inline bool u32regex_search(const U_NAMESPACE_QUALIFIER UnicodeString& s, 
-                        match_results<const UChar*>& m, 
-                        const u32regex& e, 
-                        match_flag_type flags = match_default)
-{
-   return re_detail::do_regex_search(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, s.getBuffer(), static_cast<mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-template <class BidiIterator>
-inline bool u32regex_search(BidiIterator first, BidiIterator last, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   match_results<BidiIterator> m;
-   return re_detail::do_regex_search(first, last, m, e, flags, first, static_cast<mpl::int_<sizeof(*first)> const*>(0));
-}
-inline bool u32regex_search(const UChar* p, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   match_results<const UChar*> m;
-   return re_detail::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast<mpl::int_<2> const*>(0));
-}
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) && !defined(BOOST_NO_WREGEX)
-inline bool u32regex_search(const wchar_t* p, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   match_results<const wchar_t*> m;
-   return re_detail::do_regex_search(p, p+std::wcslen(p), m, e, flags, p, static_cast<mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-#endif
-inline bool u32regex_search(const char* p, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   match_results<const char*> m;
-   return re_detail::do_regex_search(p, p+std::strlen(p), m, e, flags, p, static_cast<mpl::int_<1> const*>(0));
-}
-inline bool u32regex_search(const unsigned char* p, 
-                 const u32regex& e, 
-                 match_flag_type flags = match_default)
-{
-   match_results<const unsigned char*> m;
-   return re_detail::do_regex_search(p, p+std::strlen((const char*)p), m, e, flags, p, static_cast<mpl::int_<1> const*>(0));
-}
-inline bool u32regex_search(const std::string& s, 
-                        const u32regex& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<std::string::const_iterator> m;
-   return re_detail::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast<mpl::int_<1> const*>(0));
-}
-#ifndef BOOST_NO_STD_WSTRING
-inline bool u32regex_search(const std::wstring& s, 
-                        const u32regex& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<std::wstring::const_iterator> m;
-   return re_detail::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast<mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-#endif
-inline bool u32regex_search(const U_NAMESPACE_QUALIFIER UnicodeString& s, 
-                        const u32regex& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<const UChar*> m;
-   return re_detail::do_regex_search(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, s.getBuffer(), static_cast<mpl::int_<sizeof(wchar_t)> const*>(0));
-}
-
-//
-// overloads for regex_replace with utf-8 and utf-16 data types:
-//
-namespace re_detail{
-template <class I>
-inline std::pair< boost::u8_to_u32_iterator<I>, boost::u8_to_u32_iterator<I> >
-   make_utf32_seq(I i, I j, mpl::int_<1> const*)
-{
-   return std::pair< boost::u8_to_u32_iterator<I>, boost::u8_to_u32_iterator<I> >(boost::u8_to_u32_iterator<I>(i, i, j), boost::u8_to_u32_iterator<I>(j, i, j));
-}
-template <class I>
-inline std::pair< boost::u16_to_u32_iterator<I>, boost::u16_to_u32_iterator<I> >
-   make_utf32_seq(I i, I j, mpl::int_<2> const*)
-{
-   return std::pair< boost::u16_to_u32_iterator<I>, boost::u16_to_u32_iterator<I> >(boost::u16_to_u32_iterator<I>(i, i, j), boost::u16_to_u32_iterator<I>(j, i, j));
-}
-template <class I>
-inline std::pair< I, I >
-   make_utf32_seq(I i, I j, mpl::int_<4> const*)
-{
-   return std::pair< I, I >(i, j);
-}
-template <class charT>
-inline std::pair< boost::u8_to_u32_iterator<const charT*>, boost::u8_to_u32_iterator<const charT*> >
-   make_utf32_seq(const charT* p, mpl::int_<1> const*)
-{
-   std::size_t len = std::strlen((const char*)p);
-   return std::pair< boost::u8_to_u32_iterator<const charT*>, boost::u8_to_u32_iterator<const charT*> >(boost::u8_to_u32_iterator<const charT*>(p, p, p+len), boost::u8_to_u32_iterator<const charT*>(p+len, p, p+len));
-}
-template <class charT>
-inline std::pair< boost::u16_to_u32_iterator<const charT*>, boost::u16_to_u32_iterator<const charT*> >
-   make_utf32_seq(const charT* p, mpl::int_<2> const*)
-{
-   std::size_t len = u_strlen((const UChar*)p);
-   return std::pair< boost::u16_to_u32_iterator<const charT*>, boost::u16_to_u32_iterator<const charT*> >(boost::u16_to_u32_iterator<const charT*>(p, p, p + len), boost::u16_to_u32_iterator<const charT*>(p+len, p, p + len));
-}
-template <class charT>
-inline std::pair< const charT*, const charT* >
-   make_utf32_seq(const charT* p, mpl::int_<4> const*)
-{
-   return std::pair< const charT*, const charT* >(p, p+icu_regex_traits::length((UChar32 const*)p));
-}
-template <class OutputIterator>
-inline OutputIterator make_utf32_out(OutputIterator o, mpl::int_<4> const*)
-{
-   return o;
-}
-template <class OutputIterator>
-inline utf16_output_iterator<OutputIterator> make_utf32_out(OutputIterator o, mpl::int_<2> const*)
-{
-   return o;
-}
-template <class OutputIterator>
-inline utf8_output_iterator<OutputIterator> make_utf32_out(OutputIterator o, mpl::int_<1> const*)
-{
-   return o;
-}
-
-template <class OutputIterator, class I1, class I2>
-OutputIterator do_regex_replace(OutputIterator out,
-                                 std::pair<I1, I1> const& in,
-                                 const u32regex& e, 
-                                 const std::pair<I2, I2>& fmt, 
-                                 match_flag_type flags
-                                 )
-{
-   // unfortunately we have to copy the format string in order to pass in onward:
-   std::vector<UChar32> f;
-#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-   f.assign(fmt.first, fmt.second);
-#else
-   f.clear();
-   I2 pos = fmt.first;
-   while(pos != fmt.second)
-      f.push_back(*pos++);
-#endif
-   
-   regex_iterator<I1, UChar32, icu_regex_traits> i(in.first, in.second, e, flags);
-   regex_iterator<I1, UChar32, icu_regex_traits> j;
-   if(i == j)
-   {
-      if(!(flags & regex_constants::format_no_copy))
-         out = re_detail::copy(in.first, in.second, out);
-   }
-   else
-   {
-      I1 last_m = in.first;
-      while(i != j)
-      {
-         if(!(flags & regex_constants::format_no_copy))
-            out = re_detail::copy(i->prefix().first, i->prefix().second, out); 
-         if(f.size())
-            out = ::boost::re_detail::regex_format_imp(out, *i, &*f.begin(), &*f.begin() + f.size(), flags, e.get_traits());
-         else
-            out = ::boost::re_detail::regex_format_imp(out, *i, static_cast<UChar32 const*>(0), static_cast<UChar32 const*>(0), flags, e.get_traits());
-         last_m = (*i)[0].second;
-         if(flags & regex_constants::format_first_only)
-            break;
-         ++i;
-      }
-      if(!(flags & regex_constants::format_no_copy))
-         out = re_detail::copy(last_m, in.second, out);
-   }
-   return out;
-}
-template <class BaseIterator>
-inline const BaseIterator& extract_output_base(const BaseIterator& b)
-{
-   return b;
-}
-template <class BaseIterator>
-inline BaseIterator extract_output_base(const utf8_output_iterator<BaseIterator>& b)
-{
-   return b.base();
-}
-template <class BaseIterator>
-inline BaseIterator extract_output_base(const utf16_output_iterator<BaseIterator>& b)
-{
-   return b.base();
-}
-}  // re_detail
-
-template <class OutputIterator, class BidirectionalIterator, class charT>
-inline OutputIterator u32regex_replace(OutputIterator out,
-                         BidirectionalIterator first,
-                         BidirectionalIterator last,
-                         const u32regex& e, 
-                         const charT* fmt, 
-                         match_flag_type flags = match_default)
-{
-   return re_detail::extract_output_base
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-   <OutputIterator>
-#endif
-    (
-      re_detail::do_regex_replace(
-         re_detail::make_utf32_out(out, static_cast<mpl::int_<sizeof(*first)> const*>(0)),
-         re_detail::make_utf32_seq(first, last, static_cast<mpl::int_<sizeof(*first)> const*>(0)),
-         e,
-         re_detail::make_utf32_seq(fmt, static_cast<mpl::int_<sizeof(*fmt)> const*>(0)),
-         flags)
-      );
-}
-
-template <class OutputIterator, class Iterator, class charT>
-inline OutputIterator u32regex_replace(OutputIterator out,
-                         Iterator first,
-                         Iterator last,
-                         const u32regex& e, 
-                         const std::basic_string<charT>& fmt,
-                         match_flag_type flags = match_default)
-{
-   return re_detail::extract_output_base
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-   <OutputIterator>
-#endif
-    (
-      re_detail::do_regex_replace(
-         re_detail::make_utf32_out(out, static_cast<mpl::int_<sizeof(*first)> const*>(0)),
-         re_detail::make_utf32_seq(first, last, static_cast<mpl::int_<sizeof(*first)> const*>(0)),
-         e,
-         re_detail::make_utf32_seq(fmt.begin(), fmt.end(), static_cast<mpl::int_<sizeof(charT)> const*>(0)),
-         flags)
-      );
-}
-
-template <class OutputIterator, class Iterator>
-inline OutputIterator u32regex_replace(OutputIterator out,
-                         Iterator first,
-                         Iterator last,
-                         const u32regex& e, 
-                         const U_NAMESPACE_QUALIFIER UnicodeString& fmt,
-                         match_flag_type flags = match_default)
-{
-   return re_detail::extract_output_base
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-   <OutputIterator>
-#endif
-   (
-      re_detail::do_regex_replace(
-         re_detail::make_utf32_out(out, static_cast<mpl::int_<sizeof(*first)> const*>(0)),
-         re_detail::make_utf32_seq(first, last, static_cast<mpl::int_<sizeof(*first)> const*>(0)),
-         e,
-         re_detail::make_utf32_seq(fmt.getBuffer(), fmt.getBuffer() + fmt.length(), static_cast<mpl::int_<2> const*>(0)),
-         flags)
-      );
-}
-
-template <class charT>
-std::basic_string<charT> u32regex_replace(const std::basic_string<charT>& s,
-                         const u32regex& e, 
-                         const charT* fmt,
-                         match_flag_type flags = match_default)
-{
-   std::basic_string<charT> result;
-   re_detail::string_out_iterator<std::basic_string<charT> > i(result);
-   u32regex_replace(i, s.begin(), s.end(), e, fmt, flags);
-   return result;
-}
-
-template <class charT>
-std::basic_string<charT> u32regex_replace(const std::basic_string<charT>& s,
-                         const u32regex& e, 
-                         const std::basic_string<charT>& fmt,
-                         match_flag_type flags = match_default)
-{
-   std::basic_string<charT> result;
-   re_detail::string_out_iterator<std::basic_string<charT> > i(result);
-   u32regex_replace(i, s.begin(), s.end(), e, fmt.c_str(), flags);
-   return result;
-}
-
-namespace re_detail{
-
-class unicode_string_out_iterator
-{
-   U_NAMESPACE_QUALIFIER UnicodeString* out;
-public:
-   unicode_string_out_iterator(U_NAMESPACE_QUALIFIER UnicodeString& s) : out(&s) {}
-   unicode_string_out_iterator& operator++() { return *this; }
-   unicode_string_out_iterator& operator++(int) { return *this; }
-   unicode_string_out_iterator& operator*() { return *this; }
-   unicode_string_out_iterator& operator=(UChar v) 
-   { 
-      *out += v; 
-      return *this; 
-   }
-   typedef std::ptrdiff_t difference_type;
-   typedef UChar value_type;
-   typedef value_type* pointer;
-   typedef value_type& reference;
-   typedef std::output_iterator_tag iterator_category;
-};
-
-}
-
-inline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QUALIFIER UnicodeString& s,
-                         const u32regex& e, 
-                         const UChar* fmt,
-                         match_flag_type flags = match_default)
-{
-   U_NAMESPACE_QUALIFIER UnicodeString result;
-   re_detail::unicode_string_out_iterator i(result);
-   u32regex_replace(i, s.getBuffer(), s.getBuffer()+s.length(), e, fmt, flags);
-   return result;
-}
-
-inline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QUALIFIER UnicodeString& s,
-                         const u32regex& e, 
-                         const U_NAMESPACE_QUALIFIER UnicodeString& fmt,
-                         match_flag_type flags = match_default)
-{
-   U_NAMESPACE_QUALIFIER UnicodeString result;
-   re_detail::unicode_string_out_iterator i(result);
-   re_detail::do_regex_replace(
-         re_detail::make_utf32_out(i, static_cast<mpl::int_<2> const*>(0)),
-         re_detail::make_utf32_seq(s.getBuffer(), s.getBuffer()+s.length(), static_cast<mpl::int_<2> const*>(0)),
-         e,
-         re_detail::make_utf32_seq(fmt.getBuffer(), fmt.getBuffer() + fmt.length(), static_cast<mpl::int_<2> const*>(0)),
-         flags);
-   return result;
-}
-
-} // namespace boost.
-
-#ifdef BOOST_MSVC
-#pragma warning (pop)
-#endif
-
-#include <boost/regex/v4/u32regex_iterator.hpp>
-#include <boost/regex/v4/u32regex_token_iterator.hpp>
-
-#endif
diff --git a/SRC/Boost/boost/regex/pattern_except.hpp b/SRC/Boost/boost/regex/pattern_except.hpp
deleted file mode 100755
index 0de0abf..0000000
--- a/SRC/Boost/boost/regex/pattern_except.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         pattern_except.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares pattern-matching exception classes.
-  */
-
-#ifndef BOOST_RE_PAT_EXCEPT_HPP
-#define BOOST_RE_PAT_EXCEPT_HPP
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#include <boost/regex/config.hpp>
-#endif
-
-#include <stdexcept>
-#include <cstddef>
-#include <boost/regex/v4/error_type.hpp>
-
-namespace boost{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable : 4275)
-#endif
-class BOOST_REGEX_DECL regex_error : public std::runtime_error
-{
-public:
-   explicit regex_error(const std::string& s, regex_constants::error_type err = regex_constants::error_unknown, std::ptrdiff_t pos = 0);
-   explicit regex_error(regex_constants::error_type err);
-   ~regex_error() throw();
-   regex_constants::error_type code()const
-   { return m_error_code; }
-   std::ptrdiff_t position()const
-   { return m_position; }
-   void raise()const;
-private:
-   regex_constants::error_type m_error_code;
-   std::ptrdiff_t m_position;
-};
-
-typedef regex_error bad_pattern;
-typedef regex_error bad_expression;
-
-namespace re_detail{
-
-BOOST_REGEX_DECL void BOOST_REGEX_CALL raise_runtime_error(const std::runtime_error& ex);
-
-template <class traits>
-void raise_error(const traits& t, regex_constants::error_type code)
-{
-   (void)t;  // warning suppression
-   std::runtime_error e(t.error_string(code));
-   ::boost::re_detail::raise_runtime_error(e);
-}
-
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace boost
-
-#endif
-
-
-
diff --git a/SRC/Boost/boost/regex/pending/object_cache.hpp b/SRC/Boost/boost/regex/pending/object_cache.hpp
deleted file mode 100755
index 6186d72..0000000
--- a/SRC/Boost/boost/regex/pending/object_cache.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         object_cache.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Implements a generic object cache.
-  */
-
-#ifndef BOOST_REGEX_OBJECT_CACHE_HPP
-#define BOOST_REGEX_OBJECT_CACHE_HPP
-
-#include <map>
-#include <list>
-#include <stdexcept>
-#include <string>
-#include <boost/config.hpp>
-#include <boost/shared_ptr.hpp>
-#ifdef BOOST_HAS_THREADS
-#include <boost/regex/pending/static_mutex.hpp>
-#endif
-
-namespace boost{
-
-template <class Key, class Object>
-class object_cache
-{
-public:
-   typedef std::pair< ::boost::shared_ptr<Object const>, Key const*> value_type;
-   typedef std::list<value_type> list_type;
-   typedef typename list_type::iterator list_iterator;
-   typedef std::map<Key, list_iterator> map_type;
-   typedef typename map_type::iterator map_iterator;
-   typedef typename list_type::size_type size_type;
-   static boost::shared_ptr<Object const> get(const Key& k, size_type l_max_cache_size);
-
-private:
-   static boost::shared_ptr<Object const> do_get(const Key& k, size_type l_max_cache_size);
-
-   struct data
-   {
-      list_type   cont;
-      map_type    index;
-   };
-
-   // Needed by compilers not implementing the resolution to DR45. For reference,
-   // see http://www.open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#45.
-   friend struct data;
-};
-
-template <class Key, class Object>
-boost::shared_ptr<Object const> object_cache<Key, Object>::get(const Key& k, size_type l_max_cache_size)
-{
-#ifdef BOOST_HAS_THREADS
-   static boost::static_mutex mut = BOOST_STATIC_MUTEX_INIT;
-
-   boost::static_mutex::scoped_lock l(mut);
-   if(l)
-   {
-      return do_get(k, l_max_cache_size);
-   }
-   //
-   // what do we do if the lock fails?
-   // for now just throw, but we should never really get here...
-   //
-   ::boost::throw_exception(std::runtime_error("Error in thread safety code: could not acquire a lock"));
-#if defined(BOOST_NO_UNREACHABLE_RETURN_DETECTION) || defined(BOOST_NO_EXCEPTIONS)
-   return boost::shared_ptr<Object>();
-#endif
-#else
-   return do_get(k, l_max_cache_size);
-#endif
-}
-
-template <class Key, class Object>
-boost::shared_ptr<Object const> object_cache<Key, Object>::do_get(const Key& k, size_type l_max_cache_size)
-{
-   typedef typename object_cache<Key, Object>::data object_data;
-   typedef typename map_type::size_type map_size_type;
-   static object_data s_data;
-
-   //
-   // see if the object is already in the cache:
-   //
-   map_iterator mpos = s_data.index.find(k);
-   if(mpos != s_data.index.end())
-   {
-      //
-      // Eureka! 
-      // We have a cached item, bump it up the list and return it:
-      //
-      if(--(s_data.cont.end()) != mpos->second)
-      {
-         // splice out the item we want to move:
-         list_type temp;
-         temp.splice(temp.end(), s_data.cont, mpos->second);
-         // and now place it at the end of the list:
-         s_data.cont.splice(s_data.cont.end(), temp, temp.begin());
-         BOOST_ASSERT(*(s_data.cont.back().second) == k);
-         // update index with new position:
-         mpos->second = --(s_data.cont.end());
-         BOOST_ASSERT(&(mpos->first) == mpos->second->second);
-         BOOST_ASSERT(&(mpos->first) == s_data.cont.back().second);
-      }
-      return s_data.cont.back().first;
-   }
-   //
-   // if we get here then the item is not in the cache,
-   // so create it:
-   //
-   boost::shared_ptr<Object const> result(new Object(k));
-   //
-   // Add it to the list, and index it:
-   //
-   s_data.cont.push_back(value_type(result, static_cast<Key const*>(0)));
-   s_data.index.insert(std::make_pair(k, --(s_data.cont.end())));
-   s_data.cont.back().second = &(s_data.index.find(k)->first);
-   map_size_type s = s_data.index.size();
-   BOOST_ASSERT(s_data.index[k]->first.get() == result.get());
-   BOOST_ASSERT(&(s_data.index.find(k)->first) == s_data.cont.back().second);
-   BOOST_ASSERT(s_data.index.find(k)->first == k);
-   if(s > l_max_cache_size)
-   {
-      //
-      // We have too many items in the list, so we need to start
-      // popping them off the back of the list, but only if they're
-      // being held uniquely by us:
-      //
-      list_iterator pos = s_data.cont.begin();
-      list_iterator last = s_data.cont.end();
-      while((pos != last) && (s > l_max_cache_size))
-      {
-         if(pos->first.unique())
-         {
-            list_iterator condemmed(pos);
-            ++pos;
-            // now remove the items from our containers, 
-            // then order has to be as follows:
-            BOOST_ASSERT(s_data.index.find(*(condemmed->second)) != s_data.index.end());
-            s_data.index.erase(*(condemmed->second));
-            s_data.cont.erase(condemmed); 
-            --s;
-         }
-         else
-            --pos;
-      }
-      BOOST_ASSERT(s_data.index[k]->first.get() == result.get());
-      BOOST_ASSERT(&(s_data.index.find(k)->first) == s_data.cont.back().second);
-      BOOST_ASSERT(s_data.index.find(k)->first == k);
-   }
-   return result;
-}
-
-}
-
-#endif
diff --git a/SRC/Boost/boost/regex/pending/static_mutex.hpp b/SRC/Boost/boost/regex/pending/static_mutex.hpp
deleted file mode 100755
index 7c8140c..0000000
--- a/SRC/Boost/boost/regex/pending/static_mutex.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         static_mutex.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares static_mutex lock type, there are three different
-  *                implementations: POSIX pthreads, WIN32 threads, and portable,
-  *                these are described in more detail below.
-  */
-
-#ifndef BOOST_REGEX_STATIC_MUTEX_HPP
-#define BOOST_REGEX_STATIC_MUTEX_HPP
-
-#include <boost/config.hpp>
-#include <boost/regex/config.hpp> // dll import/export options.
-
-#ifdef BOOST_HAS_PTHREADS
-#include <pthread.h>
-#endif
-
-#if defined(BOOST_HAS_PTHREADS) && defined(PTHREAD_MUTEX_INITIALIZER)
-//
-// pthreads version:
-// simple wrap around a pthread_mutex_t initialized with
-// PTHREAD_MUTEX_INITIALIZER.
-//
-namespace boost{
-
-class BOOST_REGEX_DECL scoped_static_mutex_lock;
-
-class static_mutex
-{
-public:
-   typedef scoped_static_mutex_lock scoped_lock;
-   pthread_mutex_t m_mutex;
-};
-
-#define BOOST_STATIC_MUTEX_INIT { PTHREAD_MUTEX_INITIALIZER, }
-
-class BOOST_REGEX_DECL scoped_static_mutex_lock
-{
-public:
-   scoped_static_mutex_lock(static_mutex& mut, bool lk = true);
-   ~scoped_static_mutex_lock();
-   inline bool locked()const
-   {
-      return m_have_lock;
-   }
-   inline operator void const*()const
-   {
-      return locked() ? this : 0;
-   }
-   void lock();
-   void unlock();
-private:
-   static_mutex& m_mutex;
-   bool m_have_lock;
-};
-
-
-} // namespace boost
-#elif defined(BOOST_HAS_WINTHREADS)
-//
-// Win32 version:
-// Use a 32-bit int as a lock, along with a test-and-set
-// implementation using InterlockedCompareExchange.
-//
-
-#include <boost/cstdint.hpp>
-
-namespace boost{
-
-class BOOST_REGEX_DECL scoped_static_mutex_lock;
-
-class static_mutex
-{
-public:
-   typedef scoped_static_mutex_lock scoped_lock;
-   boost::int32_t m_mutex;
-};
-
-#define BOOST_STATIC_MUTEX_INIT { 0, }
-
-class BOOST_REGEX_DECL scoped_static_mutex_lock
-{
-public:
-   scoped_static_mutex_lock(static_mutex& mut, bool lk = true);
-   ~scoped_static_mutex_lock();
-   operator void const*()const
-   {
-      return locked() ? this : 0;
-   }
-   bool locked()const
-   {
-      return m_have_lock;
-   }
-   void lock();
-   void unlock();
-private:
-   static_mutex& m_mutex;
-   bool m_have_lock;
-   scoped_static_mutex_lock(const scoped_static_mutex_lock&);
-   scoped_static_mutex_lock& operator=(const scoped_static_mutex_lock&);
-};
-
-} // namespace
-
-#else
-//
-// Portable version of a static mutex based on Boost.Thread library:
-// This has to use a single mutex shared by all instances of static_mutex
-// because boost::call_once doesn't alow us to pass instance information
-// down to the initialisation proceedure.  In fact the initialisation routine
-// may need to be called more than once - but only once per instance.
-//
-// Since this preprocessor path is almost never taken, we hide these header
-// dependencies so that build tools don't find them.
-//
-#define B1 <boost/thread/once.hpp>
-#define B2 <boost/thread/recursive_mutex.hpp>
-#include B1
-#include B2
-#undef B1
-#undef B2
-
-namespace boost{
-
-class BOOST_REGEX_DECL scoped_static_mutex_lock;
-extern "C" BOOST_REGEX_DECL void boost_regex_free_static_mutex();
-
-class BOOST_REGEX_DECL static_mutex
-{
-public:
-   typedef scoped_static_mutex_lock scoped_lock;
-   static void init();
-   static boost::recursive_mutex* m_pmutex;
-   static boost::once_flag m_once;
-};
-
-#define BOOST_STATIC_MUTEX_INIT {  }
-
-class BOOST_REGEX_DECL scoped_static_mutex_lock
-{
-public:
-   scoped_static_mutex_lock(static_mutex& mut, bool lk = true);
-   ~scoped_static_mutex_lock();
-   operator void const*()const;
-   bool locked()const;
-   void lock();
-   void unlock();
-private:
-   boost::recursive_mutex::scoped_lock* m_plock;
-   bool m_have_lock;
-};
-
-inline scoped_static_mutex_lock::operator void const*()const
-{
-   return locked() ? this : 0;
-}
-
-inline bool scoped_static_mutex_lock::locked()const
-{
-   return m_have_lock;
-}
-
-} // namespace
-
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/regex/pending/unicode_iterator.hpp b/SRC/Boost/boost/regex/pending/unicode_iterator.hpp
deleted file mode 100755
index 1841a68..0000000
--- a/SRC/Boost/boost/regex/pending/unicode_iterator.hpp
+++ /dev/null
@@ -1,756 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         unicode_iterator.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Iterator adapters for converting between different Unicode encodings.
-  */
-
-/****************************************************************************
-
-Contents:
-~~~~~~~~~
-
-1) Read Only, Input Adapters:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-template <class BaseIterator, class U8Type = ::boost::uint8_t>
-class u32_to_u8_iterator;
-
-Adapts sequence of UTF-32 code points to "look like" a sequence of UTF-8.
-
-template <class BaseIterator, class U32Type = ::boost::uint32_t>
-class u8_to_u32_iterator;
-
-Adapts sequence of UTF-8 code points to "look like" a sequence of UTF-32.
-
-template <class BaseIterator, class U16Type = ::boost::uint16_t>
-class u32_to_u16_iterator;
-
-Adapts sequence of UTF-32 code points to "look like" a sequence of UTF-16.
-
-template <class BaseIterator, class U32Type = ::boost::uint32_t>
-class u16_to_u32_iterator;
-
-Adapts sequence of UTF-16 code points to "look like" a sequence of UTF-32.
-
-2) Single pass output iterator adapters:
-
-template <class BaseIterator>
-class utf8_output_iterator;
-
-Accepts UTF-32 code points and forwards them on as UTF-8 code points.
-
-template <class BaseIterator>
-class utf16_output_iterator;
-
-Accepts UTF-32 code points and forwards them on as UTF-16 code points.
-
-****************************************************************************/
-
-#ifndef BOOST_REGEX_UNICODE_ITERATOR_HPP
-#define BOOST_REGEX_UNICODE_ITERATOR_HPP
-#include <boost/cstdint.hpp>
-#include <boost/assert.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/throw_exception.hpp>
-#include <stdexcept>
-#ifndef BOOST_NO_STD_LOCALE
-#include <sstream>
-#include <ios>
-#endif
-#include <limits.h> // CHAR_BIT
-
-namespace boost{
-
-namespace detail{
-
-static const ::boost::uint16_t high_surrogate_base = 0xD7C0u;
-static const ::boost::uint16_t low_surrogate_base = 0xDC00u;
-static const ::boost::uint32_t ten_bit_mask = 0x3FFu;
-
-inline bool is_high_surrogate(::boost::uint16_t v)
-{
-   return (v & 0xFFFFFC00u) == 0xd800u;
-}
-inline bool is_low_surrogate(::boost::uint16_t v)
-{
-   return (v & 0xFFFFFC00u) == 0xdc00u;
-}
-template <class T>
-inline bool is_surrogate(T v)
-{
-   return (v & 0xFFFFF800u) == 0xd800;
-}
-
-inline unsigned utf8_byte_count(boost::uint8_t c)
-{
-   // if the most significant bit with a zero in it is in position
-   // 8-N then there are N bytes in this UTF-8 sequence:
-   boost::uint8_t mask = 0x80u;
-   unsigned result = 0;
-   while(c & mask)
-   {
-      ++result;
-      mask >>= 1;
-   }
-   return (result == 0) ? 1 : ((result > 4) ? 4 : result);
-}
-
-inline unsigned utf8_trailing_byte_count(boost::uint8_t c)
-{
-   return utf8_byte_count(c) - 1;
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4100)
-#endif
-inline void invalid_utf32_code_point(::boost::uint32_t val)
-{
-#ifndef BOOST_NO_STD_LOCALE
-   std::stringstream ss;
-   ss << "Invalid UTF-32 code point U+" << std::showbase << std::hex << val << " encountered while trying to encode UTF-16 sequence";
-   std::out_of_range e(ss.str());
-#else
-   std::out_of_range e("Invalid UTF-32 code point encountered while trying to encode UTF-16 sequence");
-#endif
-   boost::throw_exception(e);
-}
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-
-} // namespace detail
-
-template <class BaseIterator, class U16Type = ::boost::uint16_t>
-class u32_to_u16_iterator
-   : public boost::iterator_facade<u32_to_u16_iterator<BaseIterator, U16Type>, U16Type, std::bidirectional_iterator_tag, const U16Type>
-{
-   typedef boost::iterator_facade<u32_to_u16_iterator<BaseIterator, U16Type>, U16Type, std::bidirectional_iterator_tag, const U16Type> base_type;
-
-#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-   typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;
-
-   BOOST_STATIC_ASSERT(sizeof(base_value_type)*CHAR_BIT == 32);
-   BOOST_STATIC_ASSERT(sizeof(U16Type)*CHAR_BIT == 16);
-#endif
-
-public:
-   typename base_type::reference
-      dereference()const
-   {
-      if(m_current == 2)
-         extract_current();
-      return m_values[m_current];
-   }
-   bool equal(const u32_to_u16_iterator& that)const
-   {
-      if(m_position == that.m_position)
-      {
-         // Both m_currents must be equal, or both even
-         // this is the same as saying their sum must be even:
-         return (m_current + that.m_current) & 1u ? false : true;
-      }
-      return false;
-   }
-   void increment()
-   {
-      // if we have a pending read then read now, so that we know whether
-      // to skip a position, or move to a low-surrogate:
-      if(m_current == 2)
-      {
-         // pending read:
-         extract_current();
-      }
-      // move to the next surrogate position:
-      ++m_current;
-      // if we've reached the end skip a position:
-      if(m_values[m_current] == 0)
-      {
-         m_current = 2;
-         ++m_position;
-      }
-   }
-   void decrement()
-   {
-      if(m_current != 1)
-      {
-         // decrementing an iterator always leads to a valid position:
-         --m_position;
-         extract_current();
-         m_current = m_values[1] ? 1 : 0;
-      }
-      else
-      {
-         m_current = 0;
-      }
-   }
-   BaseIterator base()const
-   {
-      return m_position;
-   }
-   // construct:
-   u32_to_u16_iterator() : m_position(), m_current(0)
-   {
-      m_values[0] = 0;
-      m_values[1] = 0;
-      m_values[2] = 0;
-   }
-   u32_to_u16_iterator(BaseIterator b) : m_position(b), m_current(2)
-   {
-      m_values[0] = 0;
-      m_values[1] = 0;
-      m_values[2] = 0;
-   }
-private:
-
-   void extract_current()const
-   {
-      // begin by checking for a code point out of range:
-      ::boost::uint32_t v = *m_position;
-      if(v >= 0x10000u)
-      {
-         if(v > 0x10FFFFu)
-            detail::invalid_utf32_code_point(*m_position);
-         // split into two surrogates:
-         m_values[0] = static_cast<U16Type>(v >> 10) + detail::high_surrogate_base;
-         m_values[1] = static_cast<U16Type>(v & detail::ten_bit_mask) + detail::low_surrogate_base;
-         m_current = 0;
-         BOOST_ASSERT(detail::is_high_surrogate(m_values[0]));
-         BOOST_ASSERT(detail::is_low_surrogate(m_values[1]));
-      }
-      else
-      {
-         // 16-bit code point:
-         m_values[0] = static_cast<U16Type>(*m_position);
-         m_values[1] = 0;
-         m_current = 0;
-         // value must not be a surrogate:
-         if(detail::is_surrogate(m_values[0]))
-            detail::invalid_utf32_code_point(*m_position);
-      }
-   }
-   BaseIterator m_position;
-   mutable U16Type m_values[3];
-   mutable unsigned m_current;
-};
-
-template <class BaseIterator, class U32Type = ::boost::uint32_t>
-class u16_to_u32_iterator
-   : public boost::iterator_facade<u16_to_u32_iterator<BaseIterator, U32Type>, U32Type, std::bidirectional_iterator_tag, const U32Type>
-{
-   typedef boost::iterator_facade<u16_to_u32_iterator<BaseIterator, U32Type>, U32Type, std::bidirectional_iterator_tag, const U32Type> base_type;
-   // special values for pending iterator reads:
-   BOOST_STATIC_CONSTANT(U32Type, pending_read = 0xffffffffu);
-
-#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-   typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;
-
-   BOOST_STATIC_ASSERT(sizeof(base_value_type)*CHAR_BIT == 16);
-   BOOST_STATIC_ASSERT(sizeof(U32Type)*CHAR_BIT == 32);
-#endif
-
-public:
-   typename base_type::reference
-      dereference()const
-   {
-      if(m_value == pending_read)
-         extract_current();
-      return m_value;
-   }
-   bool equal(const u16_to_u32_iterator& that)const
-   {
-      return m_position == that.m_position;
-   }
-   void increment()
-   {
-      // skip high surrogate first if there is one:
-      if(detail::is_high_surrogate(*m_position)) ++m_position;
-      ++m_position;
-      m_value = pending_read;
-   }
-   void decrement()
-   {
-      --m_position;
-      // if we have a low surrogate then go back one more:
-      if(detail::is_low_surrogate(*m_position)) 
-         --m_position;
-      m_value = pending_read;
-   }
-   BaseIterator base()const
-   {
-      return m_position;
-   }
-   // construct:
-   u16_to_u32_iterator() : m_position()
-   {
-      m_value = pending_read;
-   }
-   u16_to_u32_iterator(BaseIterator b) : m_position(b)
-   {
-      m_value = pending_read;
-   }
-   //
-   // Range checked version:
-   //
-   u16_to_u32_iterator(BaseIterator b, BaseIterator start, BaseIterator end) : m_position(b)
-   {
-      m_value = pending_read;
-      //
-      // The range must not start with a low surrogate, or end in a high surrogate,
-      // otherwise we run the risk of running outside the underlying input range.
-      // Likewise b must not be located at a low surrogate.
-      //
-      boost::uint16_t val;
-      if(start != end)
-      {
-         if((b != start) && (b != end))
-         {
-            val = *b;
-            if(detail::is_surrogate(val) && ((val & 0xFC00u) == 0xDC00u))
-               invalid_code_point(val);
-         }
-         val = *start;
-         if(detail::is_surrogate(val) && ((val & 0xFC00u) == 0xDC00u))
-            invalid_code_point(val);
-         val = *--end;
-         if(detail::is_high_surrogate(val))
-            invalid_code_point(val);
-      }
-   }
-private:
-   static void invalid_code_point(::boost::uint16_t val)
-   {
-#ifndef BOOST_NO_STD_LOCALE
-      std::stringstream ss;
-      ss << "Misplaced UTF-16 surrogate U+" << std::showbase << std::hex << val << " encountered while trying to encode UTF-32 sequence";
-      std::out_of_range e(ss.str());
-#else
-      std::out_of_range e("Misplaced UTF-16 surrogate encountered while trying to encode UTF-32 sequence");
-#endif
-      boost::throw_exception(e);
-   }
-   void extract_current()const
-   {
-      m_value = static_cast<U32Type>(static_cast< ::boost::uint16_t>(*m_position));
-      // if the last value is a high surrogate then adjust m_position and m_value as needed:
-      if(detail::is_high_surrogate(*m_position))
-      {
-         // precondition; next value must have be a low-surrogate:
-         BaseIterator next(m_position);
-         ::boost::uint16_t t = *++next;
-         if((t & 0xFC00u) != 0xDC00u)
-            invalid_code_point(t);
-         m_value = (m_value - detail::high_surrogate_base) << 10;
-         m_value |= (static_cast<U32Type>(static_cast< ::boost::uint16_t>(t)) & detail::ten_bit_mask);
-      }
-      // postcondition; result must not be a surrogate:
-      if(detail::is_surrogate(m_value))
-         invalid_code_point(static_cast< ::boost::uint16_t>(m_value));
-   }
-   BaseIterator m_position;
-   mutable U32Type m_value;
-};
-
-template <class BaseIterator, class U8Type = ::boost::uint8_t>
-class u32_to_u8_iterator
-   : public boost::iterator_facade<u32_to_u8_iterator<BaseIterator, U8Type>, U8Type, std::bidirectional_iterator_tag, const U8Type>
-{
-   typedef boost::iterator_facade<u32_to_u8_iterator<BaseIterator, U8Type>, U8Type, std::bidirectional_iterator_tag, const U8Type> base_type;
-   
-#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-   typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;
-
-   BOOST_STATIC_ASSERT(sizeof(base_value_type)*CHAR_BIT == 32);
-   BOOST_STATIC_ASSERT(sizeof(U8Type)*CHAR_BIT == 8);
-#endif
-
-public:
-   typename base_type::reference
-      dereference()const
-   {
-      if(m_current == 4)
-         extract_current();
-      return m_values[m_current];
-   }
-   bool equal(const u32_to_u8_iterator& that)const
-   {
-      if(m_position == that.m_position)
-      {
-         // either the m_current's must be equal, or one must be 0 and 
-         // the other 4: which means neither must have bits 1 or 2 set:
-         return (m_current == that.m_current)
-            || (((m_current | that.m_current) & 3) == 0);
-      }
-      return false;
-   }
-   void increment()
-   {
-      // if we have a pending read then read now, so that we know whether
-      // to skip a position, or move to a low-surrogate:
-      if(m_current == 4)
-      {
-         // pending read:
-         extract_current();
-      }
-      // move to the next surrogate position:
-      ++m_current;
-      // if we've reached the end skip a position:
-      if(m_values[m_current] == 0)
-      {
-         m_current = 4;
-         ++m_position;
-      }
-   }
-   void decrement()
-   {
-      if((m_current & 3) == 0)
-      {
-         --m_position;
-         extract_current();
-         m_current = 3;
-         while(m_current && (m_values[m_current] == 0))
-            --m_current;
-      }
-      else
-         --m_current;
-   }
-   BaseIterator base()const
-   {
-      return m_position;
-   }
-   // construct:
-   u32_to_u8_iterator() : m_position(), m_current(0)
-   {
-      m_values[0] = 0;
-      m_values[1] = 0;
-      m_values[2] = 0;
-      m_values[3] = 0;
-      m_values[4] = 0;
-   }
-   u32_to_u8_iterator(BaseIterator b) : m_position(b), m_current(4)
-   {
-      m_values[0] = 0;
-      m_values[1] = 0;
-      m_values[2] = 0;
-      m_values[3] = 0;
-      m_values[4] = 0;
-   }
-private:
-
-   void extract_current()const
-   {
-      boost::uint32_t c = *m_position;
-      if(c > 0x10FFFFu)
-         detail::invalid_utf32_code_point(c);
-      if(c < 0x80u)
-      {
-         m_values[0] = static_cast<unsigned char>(c);
-         m_values[1] = static_cast<unsigned char>(0u);
-         m_values[2] = static_cast<unsigned char>(0u);
-         m_values[3] = static_cast<unsigned char>(0u);
-      }
-      else if(c < 0x800u)
-      {
-         m_values[0] = static_cast<unsigned char>(0xC0u + (c >> 6));
-         m_values[1] = static_cast<unsigned char>(0x80u + (c & 0x3Fu));
-         m_values[2] = static_cast<unsigned char>(0u);
-         m_values[3] = static_cast<unsigned char>(0u);
-      }
-      else if(c < 0x10000u)
-      {
-         m_values[0] = static_cast<unsigned char>(0xE0u + (c >> 12));
-         m_values[1] = static_cast<unsigned char>(0x80u + ((c >> 6) & 0x3Fu));
-         m_values[2] = static_cast<unsigned char>(0x80u + (c & 0x3Fu));
-         m_values[3] = static_cast<unsigned char>(0u);
-      }
-      else
-      {
-         m_values[0] = static_cast<unsigned char>(0xF0u + (c >> 18));
-         m_values[1] = static_cast<unsigned char>(0x80u + ((c >> 12) & 0x3Fu));
-         m_values[2] = static_cast<unsigned char>(0x80u + ((c >> 6) & 0x3Fu));
-         m_values[3] = static_cast<unsigned char>(0x80u + (c & 0x3Fu));
-      }
-      m_current= 0;
-   }
-   BaseIterator m_position;
-   mutable U8Type m_values[5];
-   mutable unsigned m_current;
-};
-
-template <class BaseIterator, class U32Type = ::boost::uint32_t>
-class u8_to_u32_iterator
-   : public boost::iterator_facade<u8_to_u32_iterator<BaseIterator, U32Type>, U32Type, std::bidirectional_iterator_tag, const U32Type>
-{
-   typedef boost::iterator_facade<u8_to_u32_iterator<BaseIterator, U32Type>, U32Type, std::bidirectional_iterator_tag, const U32Type> base_type;
-   // special values for pending iterator reads:
-   BOOST_STATIC_CONSTANT(U32Type, pending_read = 0xffffffffu);
-
-#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-   typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;
-
-   BOOST_STATIC_ASSERT(sizeof(base_value_type)*CHAR_BIT == 8);
-   BOOST_STATIC_ASSERT(sizeof(U32Type)*CHAR_BIT == 32);
-#endif
-
-public:
-   typename base_type::reference
-      dereference()const
-   {
-      if(m_value == pending_read)
-         extract_current();
-      return m_value;
-   }
-   bool equal(const u8_to_u32_iterator& that)const
-   {
-      return m_position == that.m_position;
-   }
-   void increment()
-   {
-      // skip high surrogate first if there is one:
-      unsigned c = detail::utf8_byte_count(*m_position);
-      std::advance(m_position, c);
-      m_value = pending_read;
-   }
-   void decrement()
-   {
-      // Keep backtracking until we don't have a trailing character:
-      unsigned count = 0;
-      while((*--m_position & 0xC0u) == 0x80u) ++count;
-      // now check that the sequence was valid:
-      if(count != detail::utf8_trailing_byte_count(*m_position))
-         invalid_sequence();
-      m_value = pending_read;
-   }
-   BaseIterator base()const
-   {
-      return m_position;
-   }
-   // construct:
-   u8_to_u32_iterator() : m_position()
-   {
-      m_value = pending_read;
-   }
-   u8_to_u32_iterator(BaseIterator b) : m_position(b)
-   {
-      m_value = pending_read;
-   }
-   //
-   // Checked constructor:
-   //
-   u8_to_u32_iterator(BaseIterator b, BaseIterator start, BaseIterator end) : m_position(b)
-   {
-      m_value = pending_read;
-      //
-      // We must not start with a continuation character, or end with a 
-      // truncated UTF-8 sequence otherwise we run the risk of going past
-      // the start/end of the underlying sequence:
-      //
-      if(start != end)
-      {
-         unsigned char v = *start;
-         if((v & 0xC0u) == 0x80u)
-            invalid_sequence();
-         if((b != start) && (b != end) && ((*b & 0xC0u) == 0x80u))
-            invalid_sequence();
-         BaseIterator pos = end;
-         do
-         {
-            v = *--pos;
-         }
-         while((start != pos) && ((v & 0xC0u) == 0x80u));
-         std::ptrdiff_t extra = detail::utf8_byte_count(v);
-         if(std::distance(pos, end) < extra)
-            invalid_sequence();
-      }
-   }
-private:
-   static void invalid_sequence()
-   {
-      std::out_of_range e("Invalid UTF-8 sequence encountered while trying to encode UTF-32 character");
-      boost::throw_exception(e);
-   }
-   void extract_current()const
-   {
-      m_value = static_cast<U32Type>(static_cast< ::boost::uint8_t>(*m_position));
-      // we must not have a continuation character:
-      if((m_value & 0xC0u) == 0x80u)
-         invalid_sequence();
-      // see how many extra byts we have:
-      unsigned extra = detail::utf8_trailing_byte_count(*m_position);
-      // extract the extra bits, 6 from each extra byte:
-      BaseIterator next(m_position);
-      for(unsigned c = 0; c < extra; ++c)
-      {
-         ++next;
-         m_value <<= 6;
-         m_value += static_cast<boost::uint8_t>(*next) & 0x3Fu;
-      }
-      // we now need to remove a few of the leftmost bits, but how many depends
-      // upon how many extra bytes we've extracted:
-      static const boost::uint32_t masks[4] = 
-      {
-         0x7Fu,
-         0x7FFu,
-         0xFFFFu,
-         0x1FFFFFu,
-      };
-      m_value &= masks[extra];
-      // check the result:
-      if(m_value > static_cast<U32Type>(0x10FFFFu))
-         invalid_sequence();
-   }
-   BaseIterator m_position;
-   mutable U32Type m_value;
-};
-
-template <class BaseIterator>
-class utf16_output_iterator
-{
-public:
-   typedef void                                   difference_type;
-   typedef void                                   value_type;
-   typedef boost::uint32_t*                       pointer;
-   typedef boost::uint32_t&                       reference;
-   typedef std::output_iterator_tag               iterator_category;
-
-   utf16_output_iterator(const BaseIterator& b)
-      : m_position(b){}
-   utf16_output_iterator(const utf16_output_iterator& that)
-      : m_position(that.m_position){}
-   utf16_output_iterator& operator=(const utf16_output_iterator& that)
-   {
-      m_position = that.m_position;
-      return *this;
-   }
-   const utf16_output_iterator& operator*()const
-   {
-      return *this;
-   }
-   void operator=(boost::uint32_t val)const
-   {
-      push(val);
-   }
-   utf16_output_iterator& operator++()
-   {
-      return *this;
-   }
-   utf16_output_iterator& operator++(int)
-   {
-      return *this;
-   }
-   BaseIterator base()const
-   {
-      return m_position;
-   }
-private:
-   void push(boost::uint32_t v)const
-   {
-      if(v >= 0x10000u)
-      {
-         // begin by checking for a code point out of range:
-         if(v > 0x10FFFFu)
-            detail::invalid_utf32_code_point(v);
-         // split into two surrogates:
-         *m_position++ = static_cast<boost::uint16_t>(v >> 10) + detail::high_surrogate_base;
-         *m_position++ = static_cast<boost::uint16_t>(v & detail::ten_bit_mask) + detail::low_surrogate_base;
-      }
-      else
-      {
-         // 16-bit code point:
-         // value must not be a surrogate:
-         if(detail::is_surrogate(v))
-            detail::invalid_utf32_code_point(v);
-         *m_position++ = static_cast<boost::uint16_t>(v);
-      }
-   }
-   mutable BaseIterator m_position;
-};
-
-template <class BaseIterator>
-class utf8_output_iterator
-{
-public:
-   typedef void                                   difference_type;
-   typedef void                                   value_type;
-   typedef boost::uint32_t*                       pointer;
-   typedef boost::uint32_t&                       reference;
-   typedef std::output_iterator_tag               iterator_category;
-
-   utf8_output_iterator(const BaseIterator& b)
-      : m_position(b){}
-   utf8_output_iterator(const utf8_output_iterator& that)
-      : m_position(that.m_position){}
-   utf8_output_iterator& operator=(const utf8_output_iterator& that)
-   {
-      m_position = that.m_position;
-      return *this;
-   }
-   const utf8_output_iterator& operator*()const
-   {
-      return *this;
-   }
-   void operator=(boost::uint32_t val)const
-   {
-      push(val);
-   }
-   utf8_output_iterator& operator++()
-   {
-      return *this;
-   }
-   utf8_output_iterator& operator++(int)
-   {
-      return *this;
-   }
-   BaseIterator base()const
-   {
-      return m_position;
-   }
-private:
-   void push(boost::uint32_t c)const
-   {
-      if(c > 0x10FFFFu)
-         detail::invalid_utf32_code_point(c);
-      if(c < 0x80u)
-      {
-         *m_position++ = static_cast<unsigned char>(c);
-      }
-      else if(c < 0x800u)
-      {
-         *m_position++ = static_cast<unsigned char>(0xC0u + (c >> 6));
-         *m_position++ = static_cast<unsigned char>(0x80u + (c & 0x3Fu));
-      }
-      else if(c < 0x10000u)
-      {
-         *m_position++ = static_cast<unsigned char>(0xE0u + (c >> 12));
-         *m_position++ = static_cast<unsigned char>(0x80u + ((c >> 6) & 0x3Fu));
-         *m_position++ = static_cast<unsigned char>(0x80u + (c & 0x3Fu));
-      }
-      else
-      {
-         *m_position++ = static_cast<unsigned char>(0xF0u + (c >> 18));
-         *m_position++ = static_cast<unsigned char>(0x80u + ((c >> 12) & 0x3Fu));
-         *m_position++ = static_cast<unsigned char>(0x80u + ((c >> 6) & 0x3Fu));
-         *m_position++ = static_cast<unsigned char>(0x80u + (c & 0x3Fu));
-      }
-   }
-   mutable BaseIterator m_position;
-};
-
-} // namespace boost
-
-#endif // BOOST_REGEX_UNICODE_ITERATOR_HPP
-
diff --git a/SRC/Boost/boost/regex/regex_traits.hpp b/SRC/Boost/boost/regex/regex_traits.hpp
deleted file mode 100755
index c033018..0000000
--- a/SRC/Boost/boost/regex/regex_traits.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_traits.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares regular expression traits classes.
-  */
-
-#ifndef BOOST_REGEX_TRAITS_HPP
-#define BOOST_REGEX_TRAITS_HPP
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#  include <boost/regex/config.hpp>
-#endif
-
-#  ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED
-#     include <boost/regex/v4/regex_traits.hpp>
-#  endif
-
-#endif // include
-
-
-
-
-
diff --git a/SRC/Boost/boost/regex/user.hpp b/SRC/Boost/boost/regex/user.hpp
deleted file mode 100755
index 87b2551..0000000
--- a/SRC/Boost/boost/regex/user.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         user.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: User settable options.
-  */
-
-// define if you want the regex library to use the C locale
-// even on Win32:
-// #define BOOST_REGEX_USE_C_LOCALE
-
-// define this is you want the regex library to use the C++
-// locale:
-// #define BOOST_REGEX_USE_CPP_LOCALE
-
-// define this if the runtime library is a dll, and you
-// want BOOST_REGEX_DYN_LINK to set up dll exports/imports
-// with __declspec(dllexport)/__declspec(dllimport.)
-// #define BOOST_REGEX_HAS_DLL_RUNTIME
-
-// define this if you want to dynamically link to regex,
-// if the runtime library is also a dll (Probably Win32 specific,
-// and has no effect unless BOOST_REGEX_HAS_DLL_RUNTIME is set):
-// #define BOOST_REGEX_DYN_LINK
-
-// define this if you don't want the lib to automatically
-// select its link libraries:
-// #define BOOST_REGEX_NO_LIB
-
-// define this if templates with switch statements cause problems:
-// #define BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE
- 
-// define this to disable Win32 support when available:
-// #define BOOST_REGEX_NO_W32
-
-// define this if bool is not a real type:
-// #define BOOST_REGEX_NO_BOOL
-
-// define this if no template instances are to be placed in
-// the library rather than users object files:
-// #define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
-
-// define this if the forward declarations in regex_fwd.hpp
-// cause more problems than they are worth:
-// #define BOOST_REGEX_NO_FWD
-
-// define this if your compiler supports MS Windows structured
-// exception handling.
-// #define BOOST_REGEX_HAS_MS_STACK_GUARD
-
-// define this if you want to use the recursive algorithm
-// even if BOOST_REGEX_HAS_MS_STACK_GUARD is not defined.
-// #define BOOST_REGEX_RECURSIVE
-
-// define this if you want to use the non-recursive
-// algorithm, even if the recursive version would be the default.
-// #define BOOST_REGEX_NON_RECURSIVE
-
-// define this if you want to set the size of the memory blocks
-// used by the non-recursive algorithm.
-// #define BOOST_REGEX_BLOCKSIZE 4096
-
-// define this if you want to set the maximum number of memory blocks
-// used by the non-recursive algorithm.
-// #define BOOST_REGEX_MAX_BLOCKS 1024
-
-// define this if you want to set the maximum number of memory blocks
-// cached by the non-recursive algorithm: Normally this is 16, but can be 
-// higher if you have multiple threads all using boost.regex, or lower 
-// if you don't want boost.regex to cache memory.
-// #define BOOST_REGEX_MAX_CACHE_BLOCKS 16
-
-// define this if you want to be able to access extended capture
-// information in your sub_match's (caution this will slow things
-// down quite a bit).
-// #define BOOST_REGEX_MATCH_EXTRA
-
-// define this if you want to enable support for Unicode via ICU.
-// #define BOOST_HAS_ICU
diff --git a/SRC/Boost/boost/regex/v4/basic_regex.hpp b/SRC/Boost/boost/regex/v4/basic_regex.hpp
deleted file mode 100755
index 9767551..0000000
--- a/SRC/Boost/boost/regex/v4/basic_regex.hpp
+++ /dev/null
@@ -1,779 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2004 John Maddock
- * Copyright 2011 Garmin Ltd. or its subsidiaries
- *
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org/ for most recent version.
-  *   FILE         basic_regex.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares template class basic_regex.
-  */
-
-#ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP
-#define BOOST_REGEX_V4_BASIC_REGEX_HPP
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/functional/hash.hpp>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-namespace boost{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable : 4251 4231 4660 4800)
-#endif
-
-namespace re_detail{
-
-//
-// forward declaration, we will need this one later:
-//
-template <class charT, class traits>
-class basic_regex_parser;
-
-template <class I>
-void bubble_down_one(I first, I last)
-{
-   if(first != last)
-   {
-      I next = last - 1;
-      while((next != first) && (*next < *(next-1)))
-      {
-         (next-1)->swap(*next);
-         --next;
-      }
-   }
-}
-
-template <class Iterator>
-inline int hash_value_from_capture_name(Iterator i, Iterator j)
-{
-   std::size_t r = boost::hash_range(i, j);
-   r %= ((std::numeric_limits<int>::max)() - 10001);
-   r += 10000;
-   return static_cast<int>(r);
-}
-
-class named_subexpressions
-{
-public:
-   struct name
-   {
-      template <class charT>
-      name(const charT* i, const charT* j, int idx)
-         : index(idx) 
-      { 
-         hash = hash_value_from_capture_name(i, j); 
-      }
-      name(int h, int idx)
-         : index(idx), hash(h)
-      { 
-      }
-      int index;
-      int hash;
-      bool operator < (const name& other)const
-      {
-         return hash < other.hash;
-      }
-      bool operator == (const name& other)const
-      {
-         return hash == other.hash; 
-      }
-      void swap(name& other)
-      {
-         std::swap(index, other.index);
-         std::swap(hash, other.hash);
-      }
-   };
-
-   typedef std::vector<name>::const_iterator const_iterator;
-   typedef std::pair<const_iterator, const_iterator> range_type;
-
-   named_subexpressions(){}
-
-   template <class charT>
-   void set_name(const charT* i, const charT* j, int index)
-   {
-      m_sub_names.push_back(name(i, j, index));
-      bubble_down_one(m_sub_names.begin(), m_sub_names.end());
-   }
-   template <class charT>
-   int get_id(const charT* i, const charT* j)const
-   {
-      name t(i, j, 0);
-      typename std::vector<name>::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t);
-      if((pos != m_sub_names.end()) && (*pos == t))
-      {
-         return pos->index;
-      }
-      return -1;
-   }
-   template <class charT>
-   range_type equal_range(const charT* i, const charT* j)const
-   {
-      name t(i, j, 0);
-      return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t);
-   }
-   int get_id(int h)const
-   {
-      name t(h, 0);
-      std::vector<name>::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t);
-      if((pos != m_sub_names.end()) && (*pos == t))
-      {
-         return pos->index;
-      }
-      return -1;
-   }
-   range_type equal_range(int h)const
-   {
-      name t(h, 0);
-      return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t);
-   }
-private:
-   std::vector<name> m_sub_names;
-};
-
-//
-// class regex_data:
-// represents the data we wish to expose to the matching algorithms.
-//
-template <class charT, class traits>
-struct regex_data : public named_subexpressions
-{
-   typedef regex_constants::syntax_option_type   flag_type;
-   typedef std::size_t                           size_type;  
-
-   regex_data(const ::boost::shared_ptr<
-      ::boost::regex_traits_wrapper<traits> >& t) 
-      : m_ptraits(t), m_expression(0), m_expression_len(0) {}
-   regex_data() 
-      : m_ptraits(new ::boost::regex_traits_wrapper<traits>()), m_expression(0), m_expression_len(0) {}
-
-   ::boost::shared_ptr<
-      ::boost::regex_traits_wrapper<traits>
-      >                        m_ptraits;                 // traits class instance
-   flag_type                   m_flags;                   // flags with which we were compiled
-   int                         m_status;                  // error code (0 implies OK).
-   const charT*                m_expression;              // the original expression
-   std::ptrdiff_t              m_expression_len;          // the length of the original expression
-   size_type                   m_mark_count;              // the number of marked sub-expressions
-   re_detail::re_syntax_base*  m_first_state;             // the first state of the machine
-   unsigned                    m_restart_type;            // search optimisation type
-   unsigned char               m_startmap[1 << CHAR_BIT]; // which characters can start a match
-   unsigned int                m_can_be_null;             // whether we can match a null string
-   re_detail::raw_storage      m_data;                    // the buffer in which our states are constructed
-   typename traits::char_class_type    m_word_mask;       // mask used to determine if a character is a word character
-   std::vector<
-      std::pair<
-      std::size_t, std::size_t> > m_subs;                 // Position of sub-expressions within the *string*.
-   bool                        m_has_recursions;          // whether we have recursive expressions;
-};
-//
-// class basic_regex_implementation
-// pimpl implementation class for basic_regex.
-//
-template <class charT, class traits>
-class basic_regex_implementation
-   : public regex_data<charT, traits>
-{
-public:
-   typedef regex_constants::syntax_option_type   flag_type;
-   typedef std::ptrdiff_t                        difference_type;
-   typedef std::size_t                           size_type; 
-   typedef typename traits::locale_type          locale_type;
-   typedef const charT*                          const_iterator;
-
-   basic_regex_implementation(){}
-   basic_regex_implementation(const ::boost::shared_ptr<
-      ::boost::regex_traits_wrapper<traits> >& t)
-      : regex_data<charT, traits>(t) {}
-   void assign(const charT* arg_first,
-                          const charT* arg_last,
-                          flag_type f)
-   {
-      regex_data<charT, traits>* pdat = this;
-      basic_regex_parser<charT, traits> parser(pdat);
-      parser.parse(arg_first, arg_last, f);
-   }
-
-   locale_type BOOST_REGEX_CALL imbue(locale_type l)
-   { 
-      return this->m_ptraits->imbue(l); 
-   }
-   locale_type BOOST_REGEX_CALL getloc()const
-   { 
-      return this->m_ptraits->getloc(); 
-   }
-   std::basic_string<charT> BOOST_REGEX_CALL str()const
-   {
-      std::basic_string<charT> result;
-      if(this->m_status == 0)
-         result = std::basic_string<charT>(this->m_expression, this->m_expression_len);
-      return result;
-   }
-   const_iterator BOOST_REGEX_CALL expression()const
-   {
-      return this->m_expression;
-   }
-   std::pair<const_iterator, const_iterator> BOOST_REGEX_CALL subexpression(std::size_t n)const
-   {
-      if(n == 0)
-         boost::throw_exception(std::out_of_range("0 is not a valid subexpression index."));
-      const std::pair<std::size_t, std::size_t>& pi = this->m_subs.at(n - 1);
-      std::pair<const_iterator, const_iterator> p(expression() + pi.first, expression() + pi.second);
-      return p;
-   }
-   //
-   // begin, end:
-   const_iterator BOOST_REGEX_CALL begin()const
-   { 
-      return (!this->m_status ? 0 : this->m_expression); 
-   }
-   const_iterator BOOST_REGEX_CALL end()const
-   { 
-      return (!this->m_status ? 0 : this->m_expression + this->m_expression_len); 
-   }
-   flag_type BOOST_REGEX_CALL flags()const
-   {
-      return this->m_flags;
-   }
-   size_type BOOST_REGEX_CALL size()const
-   {
-      return this->m_expression_len;
-   }
-   int BOOST_REGEX_CALL status()const
-   {
-      return this->m_status;
-   }
-   size_type BOOST_REGEX_CALL mark_count()const
-   {
-      return this->m_mark_count;
-   }
-   const re_detail::re_syntax_base* get_first_state()const
-   {
-      return this->m_first_state;
-   }
-   unsigned get_restart_type()const
-   {
-      return this->m_restart_type;
-   }
-   const unsigned char* get_map()const
-   {
-      return this->m_startmap;
-   }
-   const ::boost::regex_traits_wrapper<traits>& get_traits()const
-   {
-      return *(this->m_ptraits);
-   }
-   bool can_be_null()const
-   {
-      return this->m_can_be_null;
-   }
-   const regex_data<charT, traits>& get_data()const
-   {
-      basic_regex_implementation<charT, traits> const* p = this;
-      return *static_cast<const regex_data<charT, traits>*>(p);
-   }
-};
-
-} // namespace re_detail
-//
-// class basic_regex:
-// represents the compiled
-// regular expression:
-//
-
-#ifdef BOOST_REGEX_NO_FWD
-template <class charT, class traits = regex_traits<charT> >
-#else
-template <class charT, class traits >
-#endif
-class basic_regex : public regbase
-{
-public:
-   // typedefs:
-   typedef std::size_t                           traits_size_type;
-   typedef typename traits::string_type          traits_string_type;
-   typedef charT                                 char_type;
-   typedef traits                                traits_type;
-
-   typedef charT                                 value_type;
-   typedef charT&                                reference;
-   typedef const charT&                          const_reference;
-   typedef const charT*                          const_iterator;
-   typedef const_iterator                        iterator;
-   typedef std::ptrdiff_t                        difference_type;
-   typedef std::size_t                           size_type;   
-   typedef regex_constants::syntax_option_type   flag_type;
-   // locale_type
-   // placeholder for actual locale type used by the
-   // traits class to localise *this.
-   typedef typename traits::locale_type          locale_type;
-   
-public:
-   explicit basic_regex(){}
-   explicit basic_regex(const charT* p, flag_type f = regex_constants::normal)
-   {
-      assign(p, f);
-   }
-   basic_regex(const charT* p1, const charT* p2, flag_type f = regex_constants::normal)
-   {
-      assign(p1, p2, f);
-   }
-   basic_regex(const charT* p, size_type len, flag_type f)
-   {
-      assign(p, len, f);
-   }
-   basic_regex(const basic_regex& that)
-      : m_pimpl(that.m_pimpl) {}
-   ~basic_regex(){}
-   basic_regex& BOOST_REGEX_CALL operator=(const basic_regex& that)
-   {
-      return assign(that);
-   }
-   basic_regex& BOOST_REGEX_CALL operator=(const charT* ptr)
-   {
-      return assign(ptr);
-   }
-
-   //
-   // assign:
-   basic_regex& assign(const basic_regex& that)
-   { 
-      m_pimpl = that.m_pimpl;
-      return *this; 
-   }
-   basic_regex& assign(const charT* p, flag_type f = regex_constants::normal)
-   {
-      return assign(p, p + traits::length(p), f);
-   }
-   basic_regex& assign(const charT* p, size_type len, flag_type f)
-   {
-      return assign(p, p + len, f);
-   }
-private:
-   basic_regex& do_assign(const charT* p1,
-                          const charT* p2,
-                          flag_type f);
-public:
-   basic_regex& assign(const charT* p1,
-                          const charT* p2,
-                          flag_type f = regex_constants::normal)
-   {
-      return do_assign(p1, p2, f);
-   }
-#if !defined(BOOST_NO_MEMBER_TEMPLATES)
-
-   template <class ST, class SA>
-   unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string<charT, ST, SA>& p, flag_type f = regex_constants::normal)
-   { 
-      return set_expression(p.data(), p.data() + p.size(), f); 
-   }
-
-   template <class ST, class SA>
-   explicit basic_regex(const std::basic_string<charT, ST, SA>& p, flag_type f = regex_constants::normal)
-   { 
-      assign(p, f); 
-   }
-
-   template <class InputIterator>
-   basic_regex(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal)
-   {
-      typedef typename traits::string_type seq_type;
-      seq_type a(arg_first, arg_last);
-      if(a.size())
-         assign(static_cast<const charT*>(&*a.begin()), static_cast<const charT*>(&*a.begin() + a.size()), f);
-      else
-         assign(static_cast<const charT*>(0), static_cast<const charT*>(0), f);
-   }
-
-   template <class ST, class SA>
-   basic_regex& BOOST_REGEX_CALL operator=(const std::basic_string<charT, ST, SA>& p)
-   {
-      return assign(p.data(), p.data() + p.size(), regex_constants::normal);
-   }
-
-   template <class string_traits, class A>
-   basic_regex& BOOST_REGEX_CALL assign(
-       const std::basic_string<charT, string_traits, A>& s,
-       flag_type f = regex_constants::normal)
-   {
-      return assign(s.data(), s.data() + s.size(), f);
-   }
-
-   template <class InputIterator>
-   basic_regex& BOOST_REGEX_CALL assign(InputIterator arg_first,
-                          InputIterator arg_last,
-                          flag_type f = regex_constants::normal)
-   {
-      typedef typename traits::string_type seq_type;
-      seq_type a(arg_first, arg_last);
-      if(a.size())
-      {
-         const charT* p1 = &*a.begin();
-         const charT* p2 = &*a.begin() + a.size();
-         return assign(p1, p2, f);
-      }
-      return assign(static_cast<const charT*>(0), static_cast<const charT*>(0), f);
-   }
-#else
-   unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string<charT>& p, flag_type f = regex_constants::normal)
-   { 
-      return set_expression(p.data(), p.data() + p.size(), f); 
-   }
-
-   basic_regex(const std::basic_string<charT>& p, flag_type f = regex_constants::normal)
-   { 
-      assign(p, f); 
-   }
-
-   basic_regex& BOOST_REGEX_CALL operator=(const std::basic_string<charT>& p)
-   {
-      return assign(p.data(), p.data() + p.size(), regex_constants::normal);
-   }
-
-   basic_regex& BOOST_REGEX_CALL assign(
-       const std::basic_string<charT>& s,
-       flag_type f = regex_constants::normal)
-   {
-      return assign(s.data(), s.data() + s.size(), f);
-   }
-
-#endif
-
-   //
-   // locale:
-   locale_type BOOST_REGEX_CALL imbue(locale_type l);
-   locale_type BOOST_REGEX_CALL getloc()const
-   { 
-      return m_pimpl.get() ? m_pimpl->getloc() : locale_type(); 
-   }
-   //
-   // getflags:
-   // retained for backwards compatibility only, "flags"
-   // is now the preferred name:
-   flag_type BOOST_REGEX_CALL getflags()const
-   { 
-      return flags();
-   }
-   flag_type BOOST_REGEX_CALL flags()const
-   { 
-      return m_pimpl.get() ? m_pimpl->flags() : 0;
-   }
-   //
-   // str:
-   std::basic_string<charT> BOOST_REGEX_CALL str()const
-   {
-      return m_pimpl.get() ? m_pimpl->str() : std::basic_string<charT>();
-   }
-   //
-   // begin, end, subexpression:
-   std::pair<const_iterator, const_iterator> BOOST_REGEX_CALL subexpression(std::size_t n)const
-   {
-      if(!m_pimpl.get())
-         boost::throw_exception(std::logic_error("Can't access subexpressions in an invalid regex."));
-      return m_pimpl->subexpression(n);
-   }
-   const_iterator BOOST_REGEX_CALL begin()const
-   { 
-      return (m_pimpl.get() ? m_pimpl->begin() : 0); 
-   }
-   const_iterator BOOST_REGEX_CALL end()const
-   { 
-      return (m_pimpl.get() ? m_pimpl->end() : 0); 
-   }
-   //
-   // swap:
-   void BOOST_REGEX_CALL swap(basic_regex& that)throw()
-   {
-      m_pimpl.swap(that.m_pimpl);
-   }
-   //
-   // size:
-   size_type BOOST_REGEX_CALL size()const
-   { 
-      return (m_pimpl.get() ? m_pimpl->size() : 0); 
-   }
-   //
-   // max_size:
-   size_type BOOST_REGEX_CALL max_size()const
-   { 
-      return UINT_MAX; 
-   }
-   //
-   // empty:
-   bool BOOST_REGEX_CALL empty()const
-   { 
-      return (m_pimpl.get() ? 0 != m_pimpl->status() : true); 
-   }
-
-   size_type BOOST_REGEX_CALL mark_count()const 
-   { 
-      return (m_pimpl.get() ? m_pimpl->mark_count() : 0); 
-   }
-
-   int status()const
-   {
-      return (m_pimpl.get() ? m_pimpl->status() : regex_constants::error_empty);
-   }
-
-   int BOOST_REGEX_CALL compare(const basic_regex& that) const
-   {
-      if(m_pimpl.get() == that.m_pimpl.get())
-         return 0;
-      if(!m_pimpl.get())
-         return -1;
-      if(!that.m_pimpl.get())
-         return 1;
-      if(status() != that.status())
-         return status() - that.status();
-      if(flags() != that.flags())
-         return flags() - that.flags();
-      return str().compare(that.str());
-   }
-   bool BOOST_REGEX_CALL operator==(const basic_regex& e)const
-   { 
-      return compare(e) == 0; 
-   }
-   bool BOOST_REGEX_CALL operator != (const basic_regex& e)const
-   { 
-      return compare(e) != 0; 
-   }
-   bool BOOST_REGEX_CALL operator<(const basic_regex& e)const
-   { 
-      return compare(e) < 0; 
-   }
-   bool BOOST_REGEX_CALL operator>(const basic_regex& e)const
-   { 
-      return compare(e) > 0; 
-   }
-   bool BOOST_REGEX_CALL operator<=(const basic_regex& e)const
-   { 
-      return compare(e) <= 0; 
-   }
-   bool BOOST_REGEX_CALL operator>=(const basic_regex& e)const
-   { 
-      return compare(e) >= 0; 
-   }
-
-   //
-   // The following are deprecated as public interfaces
-   // but are available for compatibility with earlier versions.
-   const charT* BOOST_REGEX_CALL expression()const 
-   { 
-      return (m_pimpl.get() && !m_pimpl->status() ? m_pimpl->expression() : 0); 
-   }
-   unsigned int BOOST_REGEX_CALL set_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal)
-   {
-      assign(p1, p2, f | regex_constants::no_except);
-      return status();
-   }
-   unsigned int BOOST_REGEX_CALL set_expression(const charT* p, flag_type f = regex_constants::normal) 
-   { 
-      assign(p, f | regex_constants::no_except); 
-      return status();
-   }
-   unsigned int BOOST_REGEX_CALL error_code()const
-   {
-      return status();
-   }
-   //
-   // private access methods:
-   //
-   const re_detail::re_syntax_base* get_first_state()const
-   {
-      BOOST_ASSERT(0 != m_pimpl.get());
-      return m_pimpl->get_first_state();
-   }
-   unsigned get_restart_type()const
-   {
-      BOOST_ASSERT(0 != m_pimpl.get());
-      return m_pimpl->get_restart_type();
-   }
-   const unsigned char* get_map()const
-   {
-      BOOST_ASSERT(0 != m_pimpl.get());
-      return m_pimpl->get_map();
-   }
-   const ::boost::regex_traits_wrapper<traits>& get_traits()const
-   {
-      BOOST_ASSERT(0 != m_pimpl.get());
-      return m_pimpl->get_traits();
-   }
-   bool can_be_null()const
-   {
-      BOOST_ASSERT(0 != m_pimpl.get());
-      return m_pimpl->can_be_null();
-   }
-   const re_detail::regex_data<charT, traits>& get_data()const
-   {
-      BOOST_ASSERT(0 != m_pimpl.get());
-      return m_pimpl->get_data();
-   }
-   boost::shared_ptr<re_detail::named_subexpressions > get_named_subs()const
-   {
-      return m_pimpl;
-   }
-
-private:
-   shared_ptr<re_detail::basic_regex_implementation<charT, traits> > m_pimpl;
-};
-
-//
-// out of line members;
-// these are the only members that mutate the basic_regex object,
-// and are designed to provide the strong exception guarentee
-// (in the event of a throw, the state of the object remains unchanged).
-//
-template <class charT, class traits>
-basic_regex<charT, traits>& basic_regex<charT, traits>::do_assign(const charT* p1,
-                        const charT* p2,
-                        flag_type f)
-{
-   shared_ptr<re_detail::basic_regex_implementation<charT, traits> > temp;
-   if(!m_pimpl.get())
-   {
-      temp = shared_ptr<re_detail::basic_regex_implementation<charT, traits> >(new re_detail::basic_regex_implementation<charT, traits>());
-   }
-   else
-   {
-      temp = shared_ptr<re_detail::basic_regex_implementation<charT, traits> >(new re_detail::basic_regex_implementation<charT, traits>(m_pimpl->m_ptraits));
-   }
-   temp->assign(p1, p2, f);
-   temp.swap(m_pimpl);
-   return *this;
-}
-
-template <class charT, class traits>
-typename basic_regex<charT, traits>::locale_type BOOST_REGEX_CALL basic_regex<charT, traits>::imbue(locale_type l)
-{ 
-   shared_ptr<re_detail::basic_regex_implementation<charT, traits> > temp(new re_detail::basic_regex_implementation<charT, traits>());
-   locale_type result = temp->imbue(l);
-   temp.swap(m_pimpl);
-   return result;
-}
-
-//
-// non-members:
-//
-template <class charT, class traits>
-void swap(basic_regex<charT, traits>& e1, basic_regex<charT, traits>& e2)
-{
-   e1.swap(e2);
-}
-
-#ifndef BOOST_NO_STD_LOCALE
-template <class charT, class traits, class traits2>
-std::basic_ostream<charT, traits>& 
-   operator << (std::basic_ostream<charT, traits>& os, 
-                const basic_regex<charT, traits2>& e)
-{
-   return (os << e.str());
-}
-#else
-template <class traits>
-std::ostream& operator << (std::ostream& os, const basic_regex<char, traits>& e)
-{
-   return (os << e.str());
-}
-#endif
-
-//
-// class reg_expression:
-// this is provided for backwards compatibility only,
-// it is deprecated, no not use!
-//
-#ifdef BOOST_REGEX_NO_FWD
-template <class charT, class traits = regex_traits<charT> >
-#else
-template <class charT, class traits >
-#endif
-class reg_expression : public basic_regex<charT, traits>
-{
-public:
-   typedef typename basic_regex<charT, traits>::flag_type flag_type;
-   typedef typename basic_regex<charT, traits>::size_type size_type;
-   explicit reg_expression(){}
-   explicit reg_expression(const charT* p, flag_type f = regex_constants::normal)
-      : basic_regex<charT, traits>(p, f){}
-   reg_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal)
-      : basic_regex<charT, traits>(p1, p2, f){}
-   reg_expression(const charT* p, size_type len, flag_type f)
-      : basic_regex<charT, traits>(p, len, f){}
-   reg_expression(const reg_expression& that)
-      : basic_regex<charT, traits>(that) {}
-   ~reg_expression(){}
-   reg_expression& BOOST_REGEX_CALL operator=(const reg_expression& that)
-   {
-      return this->assign(that);
-   }
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATES)
-   template <class ST, class SA>
-   explicit reg_expression(const std::basic_string<charT, ST, SA>& p, flag_type f = regex_constants::normal)
-   : basic_regex<charT, traits>(p, f)
-   { 
-   }
-
-   template <class InputIterator>
-   reg_expression(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal)
-   : basic_regex<charT, traits>(arg_first, arg_last, f)
-   {
-   }
-
-   template <class ST, class SA>
-   reg_expression& BOOST_REGEX_CALL operator=(const std::basic_string<charT, ST, SA>& p)
-   {
-      this->assign(p);
-      return *this;
-   }
-#else
-   explicit reg_expression(const std::basic_string<charT>& p, flag_type f = regex_constants::normal)
-   : basic_regex<charT, traits>(p, f)
-   { 
-   }
-
-   reg_expression& BOOST_REGEX_CALL operator=(const std::basic_string<charT>& p)
-   {
-      this->assign(p);
-      return *this;
-   }
-#endif
-
-};
-
-#ifdef BOOST_MSVC
-#pragma warning (pop)
-#endif
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
diff --git a/SRC/Boost/boost/regex/v4/basic_regex_creator.hpp b/SRC/Boost/boost/regex/v4/basic_regex_creator.hpp
deleted file mode 100755
index b5df032..0000000
--- a/SRC/Boost/boost/regex/v4/basic_regex_creator.hpp
+++ /dev/null
@@ -1,1573 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         basic_regex_creator.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares template class basic_regex_creator which fills in
-  *                the data members of a regex_data object.
-  */
-
-#ifndef BOOST_REGEX_V4_BASIC_REGEX_CREATOR_HPP
-#define BOOST_REGEX_V4_BASIC_REGEX_CREATOR_HPP
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable: 4800)
-#endif
-
-namespace boost{
-
-namespace re_detail{
-
-template <class charT>
-struct digraph : public std::pair<charT, charT>
-{
-   digraph() : std::pair<charT, charT>(0, 0){}
-   digraph(charT c1) : std::pair<charT, charT>(c1, 0){}
-   digraph(charT c1, charT c2) : std::pair<charT, charT>(c1, c2)
-   {}
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-   digraph(const digraph<charT>& d) : std::pair<charT, charT>(d.first, d.second){}
-#endif
-   template <class Seq>
-   digraph(const Seq& s) : std::pair<charT, charT>()
-   {
-      BOOST_ASSERT(s.size() <= 2);
-      BOOST_ASSERT(s.size());
-      this->first = s[0];
-      this->second = (s.size() > 1) ? s[1] : 0;
-   }
-};
-
-template <class charT, class traits>
-class basic_char_set
-{
-public:
-   typedef digraph<charT>                   digraph_type;
-   typedef typename traits::string_type     string_type;
-   typedef typename traits::char_class_type mask_type;
-
-   basic_char_set()
-   {
-      m_negate = false;
-      m_has_digraphs = false;
-      m_classes = 0;
-      m_negated_classes = 0;
-      m_empty = true;
-   }
-
-   void add_single(const digraph_type& s)
-   {
-      m_singles.insert(m_singles.end(), s);
-      if(s.second)
-         m_has_digraphs = true;
-      m_empty = false;
-   }
-   void add_range(const digraph_type& first, const digraph_type& end)
-   {
-      m_ranges.insert(m_ranges.end(), first);
-      m_ranges.insert(m_ranges.end(), end);
-      if(first.second)
-      {
-         m_has_digraphs = true;
-         add_single(first);
-      }
-      if(end.second)
-      {
-         m_has_digraphs = true;
-         add_single(end);
-      }
-      m_empty = false;
-   }
-   void add_class(mask_type m)
-   {
-      m_classes |= m;
-      m_empty = false;
-   }
-   void add_negated_class(mask_type m)
-   {
-      m_negated_classes |= m;
-      m_empty = false;
-   }
-   void add_equivalent(const digraph_type& s)
-   {
-      m_equivalents.insert(m_equivalents.end(), s);
-      if(s.second)
-      {
-         m_has_digraphs = true;
-         add_single(s);
-      }
-      m_empty = false;
-   }
-   void negate()
-   { 
-      m_negate = true;
-      //m_empty = false;
-   }
-
-   //
-   // accessor functions:
-   //
-   bool has_digraphs()const
-   {
-      return m_has_digraphs;
-   }
-   bool is_negated()const
-   {
-      return m_negate;
-   }
-   typedef typename std::vector<digraph_type>::const_iterator  list_iterator;
-   list_iterator singles_begin()const
-   {
-      return m_singles.begin();
-   }
-   list_iterator singles_end()const
-   {
-      return m_singles.end();
-   }
-   list_iterator ranges_begin()const
-   {
-      return m_ranges.begin();
-   }
-   list_iterator ranges_end()const
-   {
-      return m_ranges.end();
-   }
-   list_iterator equivalents_begin()const
-   {
-      return m_equivalents.begin();
-   }
-   list_iterator equivalents_end()const
-   {
-      return m_equivalents.end();
-   }
-   mask_type classes()const
-   {
-      return m_classes;
-   }
-   mask_type negated_classes()const
-   {
-      return m_negated_classes;
-   }
-   bool empty()const
-   {
-      return m_empty;
-   }
-private:
-   std::vector<digraph_type> m_singles;         // a list of single characters to match
-   std::vector<digraph_type> m_ranges;          // a list of end points of our ranges
-   bool                      m_negate;          // true if the set is to be negated
-   bool                      m_has_digraphs;    // true if we have digraphs present
-   mask_type                 m_classes;         // character classes to match
-   mask_type                 m_negated_classes; // negated character classes to match
-   bool                      m_empty;           // whether we've added anything yet
-   std::vector<digraph_type> m_equivalents;     // a list of equivalence classes
-};
-   
-template <class charT, class traits>
-class basic_regex_creator
-{
-public:
-   basic_regex_creator(regex_data<charT, traits>* data);
-   std::ptrdiff_t getoffset(void* addr)
-   {
-      return getoffset(addr, m_pdata->m_data.data());
-   }
-   std::ptrdiff_t getoffset(const void* addr, const void* base)
-   {
-      return static_cast<const char*>(addr) - static_cast<const char*>(base);
-   }
-   re_syntax_base* getaddress(std::ptrdiff_t off)
-   {
-      return getaddress(off, m_pdata->m_data.data());
-   }
-   re_syntax_base* getaddress(std::ptrdiff_t off, void* base)
-   {
-      return static_cast<re_syntax_base*>(static_cast<void*>(static_cast<char*>(base) + off));
-   }
-   void init(unsigned l_flags)
-   {
-      m_pdata->m_flags = l_flags;
-      m_icase = l_flags & regex_constants::icase;
-   }
-   regbase::flag_type flags()
-   {
-      return m_pdata->m_flags;
-   }
-   void flags(regbase::flag_type f)
-   {
-      m_pdata->m_flags = f;
-      if(m_icase != static_cast<bool>(f & regbase::icase))
-      {
-         m_icase = static_cast<bool>(f & regbase::icase);
-      }
-   }
-   re_syntax_base* append_state(syntax_element_type t, std::size_t s = sizeof(re_syntax_base));
-   re_syntax_base* insert_state(std::ptrdiff_t pos, syntax_element_type t, std::size_t s = sizeof(re_syntax_base));
-   re_literal* append_literal(charT c);
-   re_syntax_base* append_set(const basic_char_set<charT, traits>& char_set);
-   re_syntax_base* append_set(const basic_char_set<charT, traits>& char_set, mpl::false_*);
-   re_syntax_base* append_set(const basic_char_set<charT, traits>& char_set, mpl::true_*);
-   void finalize(const charT* p1, const charT* p2);
-protected:
-   regex_data<charT, traits>*    m_pdata;              // pointer to the basic_regex_data struct we are filling in
-   const ::boost::regex_traits_wrapper<traits>&  
-                                 m_traits;             // convenience reference to traits class
-   re_syntax_base*               m_last_state;         // the last state we added
-   bool                          m_icase;              // true for case insensitive matches
-   unsigned                      m_repeater_id;        // the state_id of the next repeater
-   bool                          m_has_backrefs;       // true if there are actually any backrefs
-   unsigned                      m_backrefs;           // bitmask of permitted backrefs
-   boost::uintmax_t              m_bad_repeats;        // bitmask of repeats we can't deduce a startmap for;
-   bool                          m_has_recursions;     // set when we have recursive expresisons to fixup
-   std::vector<bool>             m_recursion_checks;   // notes which recursions we've followed while analysing this expression
-   typename traits::char_class_type m_word_mask;       // mask used to determine if a character is a word character
-   typename traits::char_class_type m_mask_space;      // mask used to determine if a character is a word character
-   typename traits::char_class_type m_lower_mask;       // mask used to determine if a character is a lowercase character
-   typename traits::char_class_type m_upper_mask;      // mask used to determine if a character is an uppercase character
-   typename traits::char_class_type m_alpha_mask;      // mask used to determine if a character is an alphabetic character
-private:
-   basic_regex_creator& operator=(const basic_regex_creator&);
-   basic_regex_creator(const basic_regex_creator&);
-
-   void fixup_pointers(re_syntax_base* state);
-   void fixup_recursions(re_syntax_base* state);
-   void create_startmaps(re_syntax_base* state);
-   int calculate_backstep(re_syntax_base* state);
-   void create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask);
-   unsigned get_restart_type(re_syntax_base* state);
-   void set_all_masks(unsigned char* bits, unsigned char);
-   bool is_bad_repeat(re_syntax_base* pt);
-   void set_bad_repeat(re_syntax_base* pt);
-   syntax_element_type get_repeat_type(re_syntax_base* state);
-   void probe_leading_repeat(re_syntax_base* state);
-};
-
-template <class charT, class traits>
-basic_regex_creator<charT, traits>::basic_regex_creator(regex_data<charT, traits>* data)
-   : m_pdata(data), m_traits(*(data->m_ptraits)), m_last_state(0), m_repeater_id(0), m_has_backrefs(false), m_backrefs(0), m_has_recursions(false)
-{
-   m_pdata->m_data.clear();
-   m_pdata->m_status = ::boost::regex_constants::error_ok;
-   static const charT w = 'w';
-   static const charT s = 's';
-   static const charT l[5] = { 'l', 'o', 'w', 'e', 'r', };
-   static const charT u[5] = { 'u', 'p', 'p', 'e', 'r', };
-   static const charT a[5] = { 'a', 'l', 'p', 'h', 'a', };
-   m_word_mask = m_traits.lookup_classname(&w, &w +1);
-   m_mask_space = m_traits.lookup_classname(&s, &s +1);
-   m_lower_mask = m_traits.lookup_classname(l, l + 5);
-   m_upper_mask = m_traits.lookup_classname(u, u + 5);
-   m_alpha_mask = m_traits.lookup_classname(a, a + 5);
-   m_pdata->m_word_mask = m_word_mask;
-   BOOST_ASSERT(m_word_mask != 0); 
-   BOOST_ASSERT(m_mask_space != 0); 
-   BOOST_ASSERT(m_lower_mask != 0); 
-   BOOST_ASSERT(m_upper_mask != 0); 
-   BOOST_ASSERT(m_alpha_mask != 0); 
-}
-
-template <class charT, class traits>
-re_syntax_base* basic_regex_creator<charT, traits>::append_state(syntax_element_type t, std::size_t s)
-{
-   // if the state is a backref then make a note of it:
-   if(t == syntax_element_backref)
-      this->m_has_backrefs = true;
-   // append a new state, start by aligning our last one:
-   m_pdata->m_data.align();
-   // set the offset to the next state in our last one:
-   if(m_last_state)
-      m_last_state->next.i = m_pdata->m_data.size() - getoffset(m_last_state);
-   // now actually extent our data:
-   m_last_state = static_cast<re_syntax_base*>(m_pdata->m_data.extend(s));
-   // fill in boilerplate options in the new state:
-   m_last_state->next.i = 0;
-   m_last_state->type = t;
-   return m_last_state;
-}
-
-template <class charT, class traits>
-re_syntax_base* basic_regex_creator<charT, traits>::insert_state(std::ptrdiff_t pos, syntax_element_type t, std::size_t s)
-{
-   // append a new state, start by aligning our last one:
-   m_pdata->m_data.align();
-   // set the offset to the next state in our last one:
-   if(m_last_state)
-      m_last_state->next.i = m_pdata->m_data.size() - getoffset(m_last_state);
-   // remember the last state position:
-   std::ptrdiff_t off = getoffset(m_last_state) + s;
-   // now actually insert our data:
-   re_syntax_base* new_state = static_cast<re_syntax_base*>(m_pdata->m_data.insert(pos, s));
-   // fill in boilerplate options in the new state:
-   new_state->next.i = s;
-   new_state->type = t;
-   m_last_state = getaddress(off);
-   return new_state;
-}
-
-template <class charT, class traits>
-re_literal* basic_regex_creator<charT, traits>::append_literal(charT c)
-{
-   re_literal* result;
-   // start by seeing if we have an existing re_literal we can extend:
-   if((0 == m_last_state) || (m_last_state->type != syntax_element_literal))
-   {
-      // no existing re_literal, create a new one:
-      result = static_cast<re_literal*>(append_state(syntax_element_literal, sizeof(re_literal) + sizeof(charT)));
-      result->length = 1;
-      *static_cast<charT*>(static_cast<void*>(result+1)) = m_traits.translate(c, m_icase);
-   }
-   else
-   {
-      // we have an existing re_literal, extend it:
-      std::ptrdiff_t off = getoffset(m_last_state);
-      m_pdata->m_data.extend(sizeof(charT));
-      m_last_state = result = static_cast<re_literal*>(getaddress(off));
-      charT* characters = static_cast<charT*>(static_cast<void*>(result+1));
-      characters[result->length] = m_traits.translate(c, m_icase);
-      ++(result->length);
-   }
-   return result;
-}
-
-template <class charT, class traits>
-inline re_syntax_base* basic_regex_creator<charT, traits>::append_set(
-   const basic_char_set<charT, traits>& char_set)
-{
-   typedef mpl::bool_< (sizeof(charT) == 1) > truth_type;
-   return char_set.has_digraphs() 
-      ? append_set(char_set, static_cast<mpl::false_*>(0))
-      : append_set(char_set, static_cast<truth_type*>(0));
-}
-
-template <class charT, class traits>
-re_syntax_base* basic_regex_creator<charT, traits>::append_set(
-   const basic_char_set<charT, traits>& char_set, mpl::false_*)
-{
-   typedef typename traits::string_type string_type;
-   typedef typename basic_char_set<charT, traits>::list_iterator item_iterator;
-   typedef typename traits::char_class_type mask_type;
-   
-   re_set_long<mask_type>* result = static_cast<re_set_long<mask_type>*>(append_state(syntax_element_long_set, sizeof(re_set_long<mask_type>)));
-   //
-   // fill in the basics:
-   //
-   result->csingles = static_cast<unsigned int>(::boost::re_detail::distance(char_set.singles_begin(), char_set.singles_end()));
-   result->cranges = static_cast<unsigned int>(::boost::re_detail::distance(char_set.ranges_begin(), char_set.ranges_end())) / 2;
-   result->cequivalents = static_cast<unsigned int>(::boost::re_detail::distance(char_set.equivalents_begin(), char_set.equivalents_end()));
-   result->cclasses = char_set.classes();
-   result->cnclasses = char_set.negated_classes();
-   if(flags() & regbase::icase)
-   {
-      // adjust classes as needed:
-      if(((result->cclasses & m_lower_mask) == m_lower_mask) || ((result->cclasses & m_upper_mask) == m_upper_mask))
-         result->cclasses |= m_alpha_mask;
-      if(((result->cnclasses & m_lower_mask) == m_lower_mask) || ((result->cnclasses & m_upper_mask) == m_upper_mask))
-         result->cnclasses |= m_alpha_mask;
-   }
-
-   result->isnot = char_set.is_negated();
-   result->singleton = !char_set.has_digraphs();
-   //
-   // remember where the state is for later:
-   //
-   std::ptrdiff_t offset = getoffset(result);
-   //
-   // now extend with all the singles:
-   //
-   item_iterator first, last;
-   first = char_set.singles_begin();
-   last = char_set.singles_end();
-   while(first != last)
-   {
-      charT* p = static_cast<charT*>(this->m_pdata->m_data.extend(sizeof(charT) * (first->second ? 3 : 2)));
-      p[0] = m_traits.translate(first->first, m_icase);
-      if(first->second)
-      {
-         p[1] = m_traits.translate(first->second, m_icase);
-         p[2] = 0;
-      }
-      else
-         p[1] = 0;
-      ++first;
-   }
-   //
-   // now extend with all the ranges:
-   //
-   first = char_set.ranges_begin();
-   last = char_set.ranges_end();
-   while(first != last)
-   {
-      // first grab the endpoints of the range:
-      digraph<charT> c1 = *first;
-      c1.first = this->m_traits.translate(c1.first, this->m_icase);
-      c1.second = this->m_traits.translate(c1.second, this->m_icase);
-      ++first;
-      digraph<charT> c2 = *first;
-      c2.first = this->m_traits.translate(c2.first, this->m_icase);
-      c2.second = this->m_traits.translate(c2.second, this->m_icase);
-      ++first;
-      string_type s1, s2;
-      // different actions now depending upon whether collation is turned on:
-      if(flags() & regex_constants::collate)
-      {
-         // we need to transform our range into sort keys:
-#if BOOST_WORKAROUND(__GNUC__, < 3)
-         string_type in(3, charT(0));
-         in[0] = c1.first;
-         in[1] = c1.second;
-         s1 = this->m_traits.transform(in.c_str(), (in[1] ? in.c_str()+2 : in.c_str()+1));
-         in[0] = c2.first;
-         in[1] = c2.second;
-         s2 = this->m_traits.transform(in.c_str(), (in[1] ? in.c_str()+2 : in.c_str()+1));
-#else
-         charT a1[3] = { c1.first, c1.second, charT(0), };
-         charT a2[3] = { c2.first, c2.second, charT(0), };
-         s1 = this->m_traits.transform(a1, (a1[1] ? a1+2 : a1+1));
-         s2 = this->m_traits.transform(a2, (a2[1] ? a2+2 : a2+1));
-#endif
-         if(s1.size() == 0)
-            s1 = string_type(1, charT(0));
-         if(s2.size() == 0)
-            s2 = string_type(1, charT(0));
-      }
-      else
-      {
-         if(c1.second)
-         {
-            s1.insert(s1.end(), c1.first);
-            s1.insert(s1.end(), c1.second);
-         }
-         else
-            s1 = string_type(1, c1.first);
-         if(c2.second)
-         {
-            s2.insert(s2.end(), c2.first);
-            s2.insert(s2.end(), c2.second);
-         }
-         else
-            s2.insert(s2.end(), c2.first);
-      }
-      if(s1 > s2)
-      {
-         // Oops error:
-         return 0;
-      }
-      charT* p = static_cast<charT*>(this->m_pdata->m_data.extend(sizeof(charT) * (s1.size() + s2.size() + 2) ) );
-      re_detail::copy(s1.begin(), s1.end(), p);
-      p[s1.size()] = charT(0);
-      p += s1.size() + 1;
-      re_detail::copy(s2.begin(), s2.end(), p);
-      p[s2.size()] = charT(0);
-   }
-   //
-   // now process the equivalence classes:
-   //
-   first = char_set.equivalents_begin();
-   last = char_set.equivalents_end();
-   while(first != last)
-   {
-      string_type s;
-      if(first->second)
-      {
-#if BOOST_WORKAROUND(__GNUC__, < 3)
-         string_type in(3, charT(0));
-         in[0] = first->first;
-         in[1] = first->second;
-         s = m_traits.transform_primary(in.c_str(), in.c_str()+2);
-#else
-         charT cs[3] = { first->first, first->second, charT(0), };
-         s = m_traits.transform_primary(cs, cs+2);
-#endif
-      }
-      else
-         s = m_traits.transform_primary(&first->first, &first->first+1);
-      if(s.empty())
-         return 0;  // invalid or unsupported equivalence class
-      charT* p = static_cast<charT*>(this->m_pdata->m_data.extend(sizeof(charT) * (s.size()+1) ) );
-      re_detail::copy(s.begin(), s.end(), p);
-      p[s.size()] = charT(0);
-      ++first;
-   }
-   //
-   // finally reset the address of our last state:
-   //
-   m_last_state = result = static_cast<re_set_long<mask_type>*>(getaddress(offset));
-   return result;
-}
-
-namespace{
-
-template<class T>
-inline bool char_less(T t1, T t2)
-{
-   return t1 < t2;
-}
-template<>
-inline bool char_less<char>(char t1, char t2)
-{
-   return static_cast<unsigned char>(t1) < static_cast<unsigned char>(t2);
-}
-template<>
-inline bool char_less<signed char>(signed char t1, signed char t2)
-{
-   return static_cast<unsigned char>(t1) < static_cast<unsigned char>(t2);
-}
-}
-
-template <class charT, class traits>
-re_syntax_base* basic_regex_creator<charT, traits>::append_set(
-   const basic_char_set<charT, traits>& char_set, mpl::true_*)
-{
-   typedef typename traits::string_type string_type;
-   typedef typename basic_char_set<charT, traits>::list_iterator item_iterator;
-   
-   re_set* result = static_cast<re_set*>(append_state(syntax_element_set, sizeof(re_set)));
-   bool negate = char_set.is_negated();
-   std::memset(result->_map, 0, sizeof(result->_map));
-   //
-   // handle singles first:
-   //
-   item_iterator first, last;
-   first = char_set.singles_begin();
-   last = char_set.singles_end();
-   while(first != last)
-   {
-      for(unsigned int i = 0; i < (1 << CHAR_BIT); ++i)
-      {
-         if(this->m_traits.translate(static_cast<charT>(i), this->m_icase)
-            == this->m_traits.translate(first->first, this->m_icase))
-            result->_map[i] = true;
-      }
-      ++first;
-   }
-   //
-   // OK now handle ranges:
-   //
-   first = char_set.ranges_begin();
-   last = char_set.ranges_end();
-   while(first != last)
-   {
-      // first grab the endpoints of the range:
-      charT c1 = this->m_traits.translate(first->first, this->m_icase);
-      ++first;
-      charT c2 = this->m_traits.translate(first->first, this->m_icase);
-      ++first;
-      // different actions now depending upon whether collation is turned on:
-      if(flags() & regex_constants::collate)
-      {
-         // we need to transform our range into sort keys:
-         charT c3[2] = { c1, charT(0), };
-         string_type s1 = this->m_traits.transform(c3, c3+1);
-         c3[0] = c2;
-         string_type s2 = this->m_traits.transform(c3, c3+1);
-         if(s1 > s2)
-         {
-            // Oops error:
-            return 0;
-         }
-         BOOST_ASSERT(c3[1] == charT(0));
-         for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)
-         {
-            c3[0] = static_cast<charT>(i);
-            string_type s3 = this->m_traits.transform(c3, c3 +1);
-            if((s1 <= s3) && (s3 <= s2))
-               result->_map[i] = true;
-         }
-      }
-      else
-      {
-         if(char_less<charT>(c2, c1))
-         {
-            // Oops error:
-            return 0;
-         }
-         // everything in range matches:
-         std::memset(result->_map + static_cast<unsigned char>(c1), true, 1 + static_cast<unsigned char>(c2) - static_cast<unsigned char>(c1));
-      }
-   }
-   //
-   // and now the classes:
-   //
-   typedef typename traits::char_class_type mask_type;
-   mask_type m = char_set.classes();
-   if(flags() & regbase::icase)
-   {
-      // adjust m as needed:
-      if(((m & m_lower_mask) == m_lower_mask) || ((m & m_upper_mask) == m_upper_mask))
-         m |= m_alpha_mask;
-   }
-   if(m != 0)
-   {
-      for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)
-      {
-         if(this->m_traits.isctype(static_cast<charT>(i), m))
-            result->_map[i] = true;
-      }
-   }
-   //
-   // and now the negated classes:
-   //
-   m = char_set.negated_classes();
-   if(flags() & regbase::icase)
-   {
-      // adjust m as needed:
-      if(((m & m_lower_mask) == m_lower_mask) || ((m & m_upper_mask) == m_upper_mask))
-         m |= m_alpha_mask;
-   }
-   if(m != 0)
-   {
-      for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)
-      {
-         if(0 == this->m_traits.isctype(static_cast<charT>(i), m))
-            result->_map[i] = true;
-      }
-   }
-   //
-   // now process the equivalence classes:
-   //
-   first = char_set.equivalents_begin();
-   last = char_set.equivalents_end();
-   while(first != last)
-   {
-      string_type s;
-      BOOST_ASSERT(static_cast<charT>(0) == first->second);
-      s = m_traits.transform_primary(&first->first, &first->first+1);
-      if(s.empty())
-         return 0;  // invalid or unsupported equivalence class
-      for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)
-      {
-         charT c[2] = { (static_cast<charT>(i)), charT(0), };
-         string_type s2 = this->m_traits.transform_primary(c, c+1);
-         if(s == s2)
-            result->_map[i] = true;
-      }
-      ++first;
-   }
-   if(negate)
-   {
-      for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)
-      {
-         result->_map[i] = !(result->_map[i]);
-      }
-   }
-   return result;
-}
-
-template <class charT, class traits>
-void basic_regex_creator<charT, traits>::finalize(const charT* p1, const charT* p2)
-{
-   if(this->m_pdata->m_status)
-      return;
-   // we've added all the states we need, now finish things off.
-   // start by adding a terminating state:
-   append_state(syntax_element_match);
-   // extend storage to store original expression:
-   std::ptrdiff_t len = p2 - p1;
-   m_pdata->m_expression_len = len;
-   charT* ps = static_cast<charT*>(m_pdata->m_data.extend(sizeof(charT) * (1 + (p2 - p1))));
-   m_pdata->m_expression = ps;
-   re_detail::copy(p1, p2, ps);
-   ps[p2 - p1] = 0;
-   // fill in our other data...
-   // successful parsing implies a zero status:
-   m_pdata->m_status = 0;
-   // get the first state of the machine:
-   m_pdata->m_first_state = static_cast<re_syntax_base*>(m_pdata->m_data.data());
-   // fixup pointers in the machine:
-   fixup_pointers(m_pdata->m_first_state);
-   if(m_has_recursions)
-   {
-      m_pdata->m_has_recursions = true;
-      fixup_recursions(m_pdata->m_first_state);
-      if(this->m_pdata->m_status)
-         return;
-   }
-   else
-      m_pdata->m_has_recursions = false;
-   // create nested startmaps:
-   create_startmaps(m_pdata->m_first_state);
-   // create main startmap:
-   std::memset(m_pdata->m_startmap, 0, sizeof(m_pdata->m_startmap));
-   m_pdata->m_can_be_null = 0;
-
-   m_bad_repeats = 0;
-   if(m_has_recursions)
-      m_recursion_checks.assign(1 + m_pdata->m_mark_count, false);
-   create_startmap(m_pdata->m_first_state, m_pdata->m_startmap, &(m_pdata->m_can_be_null), mask_all);
-   // get the restart type:
-   m_pdata->m_restart_type = get_restart_type(m_pdata->m_first_state);
-   // optimise a leading repeat if there is one:
-   probe_leading_repeat(m_pdata->m_first_state);
-}
-
-template <class charT, class traits>
-void basic_regex_creator<charT, traits>::fixup_pointers(re_syntax_base* state)
-{
-   while(state)
-   {
-      switch(state->type)
-      {
-      case syntax_element_recurse:
-         m_has_recursions = true;
-         if(state->next.i)
-            state->next.p = getaddress(state->next.i, state);
-         else
-            state->next.p = 0;
-         break;
-      case syntax_element_rep:
-      case syntax_element_dot_rep:
-      case syntax_element_char_rep:
-      case syntax_element_short_set_rep:
-      case syntax_element_long_set_rep:
-         // set the state_id of this repeat:
-         static_cast<re_repeat*>(state)->state_id = m_repeater_id++;
-         // fall through:
-      case syntax_element_alt:
-         std::memset(static_cast<re_alt*>(state)->_map, 0, sizeof(static_cast<re_alt*>(state)->_map));
-         static_cast<re_alt*>(state)->can_be_null = 0;
-         // fall through:
-      case syntax_element_jump:
-         static_cast<re_jump*>(state)->alt.p = getaddress(static_cast<re_jump*>(state)->alt.i, state);
-         // fall through again:
-      default:
-         if(state->next.i)
-            state->next.p = getaddress(state->next.i, state);
-         else
-            state->next.p = 0;
-      }
-      state = state->next.p;
-   }
-}
-
-template <class charT, class traits>
-void basic_regex_creator<charT, traits>::fixup_recursions(re_syntax_base* state)
-{
-   re_syntax_base* base = state;
-   while(state)
-   {
-      switch(state->type)
-      {
-      case syntax_element_assert_backref:
-         {
-            // just check that the index is valid:
-            int idx = static_cast<const re_brace*>(state)->index;
-            if(idx < 0)
-            {
-               idx = -idx-1;
-               if(idx >= 10000)
-               {
-                  idx = m_pdata->get_id(idx);
-                  if(idx <= 0)
-                  {
-                     // check of sub-expression that doesn't exist:
-                     if(0 == this->m_pdata->m_status) // update the error code if not already set
-                        this->m_pdata->m_status = boost::regex_constants::error_bad_pattern;
-                     //
-                     // clear the expression, we should be empty:
-                     //
-                     this->m_pdata->m_expression = 0;
-                     this->m_pdata->m_expression_len = 0;
-                     //
-                     // and throw if required:
-                     //
-                     if(0 == (this->flags() & regex_constants::no_except))
-                     {
-                        std::string message = "Encountered a forward reference to a marked sub-expression that does not exist.";
-                        boost::regex_error e(message, boost::regex_constants::error_bad_pattern, 0);
-                        e.raise();
-                     }
-                  }
-               }
-            }
-         }
-         break;
-      case syntax_element_recurse:
-         {
-            bool ok = false;
-            re_syntax_base* p = base;
-            std::ptrdiff_t idx = static_cast<re_jump*>(state)->alt.i;
-            if(idx > 10000)
-            {
-               //
-               // There may be more than one capture group with this hash, just do what Perl
-               // does and recurse to the leftmost:
-               //
-               idx = m_pdata->get_id(static_cast<int>(idx));
-            }
-            while(p)
-            {
-               if((p->type == syntax_element_startmark) && (static_cast<re_brace*>(p)->index == idx))
-               {
-                  //
-                  // We've found the target of the recursion, set the jump target:
-                  //
-                  static_cast<re_jump*>(state)->alt.p = p;
-                  ok = true;
-                  // 
-                  // Now scan the target for nested repeats:
-                  //
-                  p = p->next.p;
-                  int next_rep_id = 0;
-                  while(p)
-                  {
-                     switch(p->type)
-                     {
-                     case syntax_element_rep:
-                     case syntax_element_dot_rep:
-                     case syntax_element_char_rep:
-                     case syntax_element_short_set_rep:
-                     case syntax_element_long_set_rep:
-                        next_rep_id = static_cast<re_repeat*>(p)->state_id;
-                        break;
-                     case syntax_element_endmark:
-                        if(static_cast<const re_brace*>(p)->index == idx)
-                           next_rep_id = -1;
-                        break;
-                     default: 
-                        break;
-                     }
-                     if(next_rep_id)
-                        break;
-                     p = p->next.p;
-                  }
-                  if(next_rep_id > 0)
-                  {
-                     static_cast<re_recurse*>(state)->state_id = next_rep_id - 1;
-                  }
-
-                  break;
-               }
-               p = p->next.p;
-            }
-            if(!ok)
-            {
-               // recursion to sub-expression that doesn't exist:
-               if(0 == this->m_pdata->m_status) // update the error code if not already set
-                  this->m_pdata->m_status = boost::regex_constants::error_bad_pattern;
-               //
-               // clear the expression, we should be empty:
-               //
-               this->m_pdata->m_expression = 0;
-               this->m_pdata->m_expression_len = 0;
-               //
-               // and throw if required:
-               //
-               if(0 == (this->flags() & regex_constants::no_except))
-               {
-                  std::string message = "Encountered a forward reference to a recursive sub-expression that does not exist.";
-                  boost::regex_error e(message, boost::regex_constants::error_bad_pattern, 0);
-                  e.raise();
-               }
-            }
-         }
-      default:
-         break;
-      }
-      state = state->next.p;
-   }
-}
-
-template <class charT, class traits>
-void basic_regex_creator<charT, traits>::create_startmaps(re_syntax_base* state)
-{
-   // non-recursive implementation:
-   // create the last map in the machine first, so that earlier maps
-   // can make use of the result...
-   //
-   // This was originally a recursive implementation, but that caused stack
-   // overflows with complex expressions on small stacks (think COM+).
-
-   // start by saving the case setting:
-   bool l_icase = m_icase;
-   std::vector<std::pair<bool, re_syntax_base*> > v;
-
-   while(state)
-   {
-      switch(state->type)
-      {
-      case syntax_element_toggle_case:
-         // we need to track case changes here:
-         m_icase = static_cast<re_case*>(state)->icase;
-         state = state->next.p;
-         continue;
-      case syntax_element_alt:
-      case syntax_element_rep:
-      case syntax_element_dot_rep:
-      case syntax_element_char_rep:
-      case syntax_element_short_set_rep:
-      case syntax_element_long_set_rep:
-         // just push the state onto our stack for now:
-         v.push_back(std::pair<bool, re_syntax_base*>(m_icase, state));
-         state = state->next.p;
-         break;
-      case syntax_element_backstep:
-         // we need to calculate how big the backstep is:
-         static_cast<re_brace*>(state)->index
-            = this->calculate_backstep(state->next.p);
-         if(static_cast<re_brace*>(state)->index < 0)
-         {
-            // Oops error:
-            if(0 == this->m_pdata->m_status) // update the error code if not already set
-               this->m_pdata->m_status = boost::regex_constants::error_bad_pattern;
-            //
-            // clear the expression, we should be empty:
-            //
-            this->m_pdata->m_expression = 0;
-            this->m_pdata->m_expression_len = 0;
-            //
-            // and throw if required:
-            //
-            if(0 == (this->flags() & regex_constants::no_except))
-            {
-               std::string message = "Invalid lookbehind assertion encountered in the regular expression.";
-               boost::regex_error e(message, boost::regex_constants::error_bad_pattern, 0);
-               e.raise();
-            }
-         }
-         // fall through:
-      default:
-         state = state->next.p;
-      }
-   }
-
-   // now work through our list, building all the maps as we go:
-   while(v.size())
-   {
-      // Initialize m_recursion_checks if we need it:
-      if(m_has_recursions)
-         m_recursion_checks.assign(1 + m_pdata->m_mark_count, false);
-
-      const std::pair<bool, re_syntax_base*>& p = v.back();
-      m_icase = p.first;
-      state = p.second;
-      v.pop_back();
-
-      // Build maps:
-      m_bad_repeats = 0;
-      create_startmap(state->next.p, static_cast<re_alt*>(state)->_map, &static_cast<re_alt*>(state)->can_be_null, mask_take);
-      m_bad_repeats = 0;
-
-      if(m_has_recursions)
-         m_recursion_checks.assign(1 + m_pdata->m_mark_count, false);
-      create_startmap(static_cast<re_alt*>(state)->alt.p, static_cast<re_alt*>(state)->_map, &static_cast<re_alt*>(state)->can_be_null, mask_skip);
-      // adjust the type of the state to allow for faster matching:
-      state->type = this->get_repeat_type(state);
-   }
-   // restore case sensitivity:
-   m_icase = l_icase;
-}
-
-template <class charT, class traits>
-int basic_regex_creator<charT, traits>::calculate_backstep(re_syntax_base* state)
-{
-   typedef typename traits::char_class_type mask_type;
-   int result = 0;
-   while(state)
-   {
-      switch(state->type)
-      {
-      case syntax_element_startmark:
-         if((static_cast<re_brace*>(state)->index == -1)
-            || (static_cast<re_brace*>(state)->index == -2))
-         {
-            state = static_cast<re_jump*>(state->next.p)->alt.p->next.p;
-            continue;
-         }
-         else if(static_cast<re_brace*>(state)->index == -3)
-         {
-            state = state->next.p->next.p;
-            continue;
-         }
-         break;
-      case syntax_element_endmark:
-         if((static_cast<re_brace*>(state)->index == -1)
-            || (static_cast<re_brace*>(state)->index == -2))
-            return result;
-         break;
-      case syntax_element_literal:
-         result += static_cast<re_literal*>(state)->length;
-         break;
-      case syntax_element_wild:
-      case syntax_element_set:
-         result += 1;
-         break;
-      case syntax_element_dot_rep:
-      case syntax_element_char_rep:
-      case syntax_element_short_set_rep:
-      case syntax_element_backref:
-      case syntax_element_rep:
-      case syntax_element_combining:
-      case syntax_element_long_set_rep:
-      case syntax_element_backstep:
-         {
-            re_repeat* rep = static_cast<re_repeat *>(state);
-            // adjust the type of the state to allow for faster matching:
-            state->type = this->get_repeat_type(state);
-            if((state->type == syntax_element_dot_rep) 
-               || (state->type == syntax_element_char_rep)
-               || (state->type == syntax_element_short_set_rep))
-            {
-               if(rep->max != rep->min)
-                  return -1;
-               result += static_cast<int>(rep->min);
-               state = rep->alt.p;
-               continue;
-            }
-            else if((state->type == syntax_element_long_set_rep)) 
-            {
-               BOOST_ASSERT(rep->next.p->type == syntax_element_long_set);
-               if(static_cast<re_set_long<mask_type>*>(rep->next.p)->singleton == 0)
-                  return -1;
-               if(rep->max != rep->min)
-                  return -1;
-               result += static_cast<int>(rep->min);
-               state = rep->alt.p;
-               continue;
-            }
-         }
-         return -1;
-      case syntax_element_long_set:
-         if(static_cast<re_set_long<mask_type>*>(state)->singleton == 0)
-            return -1;
-         result += 1;
-         break;
-      case syntax_element_jump:
-         state = static_cast<re_jump*>(state)->alt.p;
-         continue;
-      case syntax_element_alt:
-         {
-            int r1 = calculate_backstep(state->next.p);
-            int r2 = calculate_backstep(static_cast<re_alt*>(state)->alt.p);
-            if((r1 < 0) || (r1 != r2))
-               return -1;
-            return result + r1;
-         }
-      default:
-         break;
-      }
-      state = state->next.p;
-   }
-   return -1;
-}
-
-template <class charT, class traits>
-void basic_regex_creator<charT, traits>::create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask)
-{
-   int not_last_jump = 1;
-   re_syntax_base* recursion_start = 0;
-   int recursion_sub = 0;
-   re_syntax_base* recursion_restart = 0;
-
-   // track case sensitivity:
-   bool l_icase = m_icase;
-
-   while(state)
-   {
-      switch(state->type)
-      {
-      case syntax_element_toggle_case:
-         l_icase = static_cast<re_case*>(state)->icase;
-         state = state->next.p;
-         break;
-      case syntax_element_literal:
-      {
-         // don't set anything in *pnull, set each element in l_map
-         // that could match the first character in the literal:
-         if(l_map)
-         {
-            l_map[0] |= mask_init;
-            charT first_char = *static_cast<charT*>(static_cast<void*>(static_cast<re_literal*>(state) + 1));
-            for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i)
-            {
-               if(m_traits.translate(static_cast<charT>(i), l_icase) == first_char)
-                  l_map[i] |= mask;
-            }
-         }
-         return;
-      }
-      case syntax_element_end_line:
-      {
-         // next character must be a line separator (if there is one):
-         if(l_map)
-         {
-            l_map[0] |= mask_init;
-            l_map['\n'] |= mask;
-            l_map['\r'] |= mask;
-            l_map['\f'] |= mask;
-            l_map[0x85] |= mask;
-         }
-         // now figure out if we can match a NULL string at this point:
-         if(pnull)
-            create_startmap(state->next.p, 0, pnull, mask);
-         return;
-      }
-      case syntax_element_recurse:
-         {
-            if(state->type == syntax_element_startmark)
-               recursion_sub = static_cast<re_brace*>(state)->index;
-            else
-               recursion_sub = 0;
-            if(m_recursion_checks[recursion_sub])
-            {
-               // Infinite recursion!!
-               if(0 == this->m_pdata->m_status) // update the error code if not already set
-                  this->m_pdata->m_status = boost::regex_constants::error_bad_pattern;
-               //
-               // clear the expression, we should be empty:
-               //
-               this->m_pdata->m_expression = 0;
-               this->m_pdata->m_expression_len = 0;
-               //
-               // and throw if required:
-               //
-               if(0 == (this->flags() & regex_constants::no_except))
-               {
-                  std::string message = "Encountered an infinite recursion.";
-                  boost::regex_error e(message, boost::regex_constants::error_bad_pattern, 0);
-                  e.raise();
-               }
-            }
-            else if(recursion_start == 0)
-            {
-               recursion_start = state;
-               recursion_restart = state->next.p;
-               state = static_cast<re_jump*>(state)->alt.p;
-               m_recursion_checks[recursion_sub] = true;
-               break;
-            }
-            m_recursion_checks[recursion_sub] = true;
-            // fall through, can't handle nested recursion here...
-         }
-      case syntax_element_backref:
-         // can be null, and any character can match:
-         if(pnull)
-            *pnull |= mask;
-         // fall through:
-      case syntax_element_wild:
-      {
-         // can't be null, any character can match:
-         set_all_masks(l_map, mask);
-         return;
-      }
-      case syntax_element_match:
-      {
-         // must be null, any character can match:
-         set_all_masks(l_map, mask);
-         if(pnull)
-            *pnull |= mask;
-         return;
-      }
-      case syntax_element_word_start:
-      {
-         // recurse, then AND with all the word characters:
-         create_startmap(state->next.p, l_map, pnull, mask);
-         if(l_map)
-         {
-            l_map[0] |= mask_init;
-            for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i)
-            {
-               if(!m_traits.isctype(static_cast<charT>(i), m_word_mask))
-                  l_map[i] &= static_cast<unsigned char>(~mask);
-            }
-         }
-         return;
-      }
-      case syntax_element_word_end:
-      {
-         // recurse, then AND with all the word characters:
-         create_startmap(state->next.p, l_map, pnull, mask);
-         if(l_map)
-         {
-            l_map[0] |= mask_init;
-            for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i)
-            {
-               if(m_traits.isctype(static_cast<charT>(i), m_word_mask))
-                  l_map[i] &= static_cast<unsigned char>(~mask);
-            }
-         }
-         return;
-      }
-      case syntax_element_buffer_end:
-      {
-         // we *must be null* :
-         if(pnull)
-            *pnull |= mask;
-         return;
-      }
-      case syntax_element_long_set:
-         if(l_map)
-         {
-            typedef typename traits::char_class_type mask_type;
-            if(static_cast<re_set_long<mask_type>*>(state)->singleton)
-            {
-               l_map[0] |= mask_init;
-               for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i)
-               {
-                  charT c = static_cast<charT>(i);
-                  if(&c != re_is_set_member(&c, &c + 1, static_cast<re_set_long<mask_type>*>(state), *m_pdata, l_icase))
-                     l_map[i] |= mask;
-               }
-            }
-            else
-               set_all_masks(l_map, mask);
-         }
-         return;
-      case syntax_element_set:
-         if(l_map)
-         {
-            l_map[0] |= mask_init;
-            for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i)
-            {
-               if(static_cast<re_set*>(state)->_map[
-                  static_cast<unsigned char>(m_traits.translate(static_cast<charT>(i), l_icase))])
-                  l_map[i] |= mask;
-            }
-         }
-         return;
-      case syntax_element_jump:
-         // take the jump:
-         state = static_cast<re_alt*>(state)->alt.p;
-         not_last_jump = -1;
-         break;
-      case syntax_element_alt:
-      case syntax_element_rep:
-      case syntax_element_dot_rep:
-      case syntax_element_char_rep:
-      case syntax_element_short_set_rep:
-      case syntax_element_long_set_rep:
-         {
-            re_alt* rep = static_cast<re_alt*>(state);
-            if(rep->_map[0] & mask_init)
-            {
-               if(l_map)
-               {
-                  // copy previous results:
-                  l_map[0] |= mask_init;
-                  for(unsigned int i = 0; i <= UCHAR_MAX; ++i)
-                  {
-                     if(rep->_map[i] & mask_any)
-                        l_map[i] |= mask;
-                  }
-               }
-               if(pnull)
-               {
-                  if(rep->can_be_null & mask_any)
-                     *pnull |= mask;
-               }
-            }
-            else
-            {
-               // we haven't created a startmap for this alternative yet
-               // so take the union of the two options:
-               if(is_bad_repeat(state))
-               {
-                  set_all_masks(l_map, mask);
-                  if(pnull)
-                     *pnull |= mask;
-                  return;
-               }
-               set_bad_repeat(state);
-               create_startmap(state->next.p, l_map, pnull, mask);
-               if((state->type == syntax_element_alt)
-                  || (static_cast<re_repeat*>(state)->min == 0)
-                  || (not_last_jump == 0))
-                  create_startmap(rep->alt.p, l_map, pnull, mask);
-            }
-         }
-         return;
-      case syntax_element_soft_buffer_end:
-         // match newline or null:
-         if(l_map)
-         {
-            l_map[0] |= mask_init;
-            l_map['\n'] |= mask;
-            l_map['\r'] |= mask;
-         }
-         if(pnull)
-            *pnull |= mask;
-         return;
-      case syntax_element_endmark:
-         // need to handle independent subs as a special case:
-         if(static_cast<re_brace*>(state)->index < 0)
-         {
-            // can be null, any character can match:
-            set_all_masks(l_map, mask);
-            if(pnull)
-               *pnull |= mask;
-            return;
-         }
-         else if(recursion_start && (recursion_sub != 0) && (recursion_sub == static_cast<re_brace*>(state)->index))
-         {
-            // recursion termination:
-            recursion_start = 0;
-            state = recursion_restart;
-            break;
-         }
-
-         //
-         // Normally we just go to the next state... but if this sub-expression is
-         // the target of a recursion, then we might be ending a recursion, in which
-         // case we should check whatever follows that recursion, as well as whatever
-         // follows this state:
-         //
-         if(m_pdata->m_has_recursions && static_cast<re_brace*>(state)->index)
-         {
-            bool ok = false;
-            re_syntax_base* p = m_pdata->m_first_state;
-            while(p)
-            {
-               if((p->type == syntax_element_recurse))
-               {
-                  re_brace* p2 = static_cast<re_brace*>(static_cast<re_jump*>(p)->alt.p);
-                  if((p2->type == syntax_element_startmark) && (p2->index == static_cast<re_brace*>(state)->index))
-                  {
-                     ok = true;
-                     break;
-                  }
-               }
-               p = p->next.p;
-            }
-            if(ok)
-            {
-               create_startmap(p->next.p, l_map, pnull, mask);
-            }
-         }
-         state = state->next.p;
-         break;
-
-      case syntax_element_startmark:
-         // need to handle independent subs as a special case:
-         if(static_cast<re_brace*>(state)->index == -3)
-         {
-            state = state->next.p->next.p;
-            break;
-         }
-         // otherwise fall through:
-      default:
-         state = state->next.p;
-      }
-      ++not_last_jump;
-   }
-}
-
-template <class charT, class traits>
-unsigned basic_regex_creator<charT, traits>::get_restart_type(re_syntax_base* state)
-{
-   //
-   // find out how the machine starts, so we can optimise the search:
-   //
-   while(state)
-   {
-      switch(state->type)
-      {
-      case syntax_element_startmark:
-      case syntax_element_endmark:
-         state = state->next.p;
-         continue;
-      case syntax_element_start_line:
-         return regbase::restart_line;
-      case syntax_element_word_start:
-         return regbase::restart_word;
-      case syntax_element_buffer_start:
-         return regbase::restart_buf;
-      case syntax_element_restart_continue:
-         return regbase::restart_continue;
-      default:
-         state = 0;
-         continue;
-      }
-   }
-   return regbase::restart_any;
-}
-
-template <class charT, class traits>
-void basic_regex_creator<charT, traits>::set_all_masks(unsigned char* bits, unsigned char mask)
-{
-   //
-   // set mask in all of bits elements, 
-   // if bits[0] has mask_init not set then we can 
-   // optimise this to a call to memset:
-   //
-   if(bits)
-   {
-      if(bits[0] == 0)
-         (std::memset)(bits, mask, 1u << CHAR_BIT);
-      else
-      {
-         for(unsigned i = 0; i < (1u << CHAR_BIT); ++i)
-            bits[i] |= mask;
-      }
-      bits[0] |= mask_init;
-   }
-}
-
-template <class charT, class traits>
-bool basic_regex_creator<charT, traits>::is_bad_repeat(re_syntax_base* pt)
-{
-   switch(pt->type)
-   {
-   case syntax_element_rep:
-   case syntax_element_dot_rep:
-   case syntax_element_char_rep:
-   case syntax_element_short_set_rep:
-   case syntax_element_long_set_rep:
-      {
-         unsigned state_id = static_cast<re_repeat*>(pt)->state_id;
-         if(state_id > sizeof(m_bad_repeats) * CHAR_BIT)
-            return true;  // run out of bits, assume we can't traverse this one.
-         static const boost::uintmax_t one = 1uL;
-         return m_bad_repeats & (one << state_id);
-      }
-   default:
-      return false;
-   }
-}
-
-template <class charT, class traits>
-void basic_regex_creator<charT, traits>::set_bad_repeat(re_syntax_base* pt)
-{
-   switch(pt->type)
-   {
-   case syntax_element_rep:
-   case syntax_element_dot_rep:
-   case syntax_element_char_rep:
-   case syntax_element_short_set_rep:
-   case syntax_element_long_set_rep:
-      {
-         unsigned state_id = static_cast<re_repeat*>(pt)->state_id;
-         static const boost::uintmax_t one = 1uL;
-         if(state_id <= sizeof(m_bad_repeats) * CHAR_BIT)
-            m_bad_repeats |= (one << state_id);
-      }
-   default:
-      break;
-   }
-}
-
-template <class charT, class traits>
-syntax_element_type basic_regex_creator<charT, traits>::get_repeat_type(re_syntax_base* state)
-{
-   typedef typename traits::char_class_type mask_type;
-   if(state->type == syntax_element_rep)
-   {
-      // check to see if we are repeating a single state:
-      if(state->next.p->next.p->next.p == static_cast<re_alt*>(state)->alt.p)
-      {
-         switch(state->next.p->type)
-         {
-         case re_detail::syntax_element_wild:
-            return re_detail::syntax_element_dot_rep;
-         case re_detail::syntax_element_literal:
-            return re_detail::syntax_element_char_rep;
-         case re_detail::syntax_element_set:
-            return re_detail::syntax_element_short_set_rep;
-         case re_detail::syntax_element_long_set:
-            if(static_cast<re_detail::re_set_long<mask_type>*>(state->next.p)->singleton)
-               return re_detail::syntax_element_long_set_rep;
-            break;
-         default:
-            break;
-         }
-      }
-   }
-   return state->type;
-}
-
-template <class charT, class traits>
-void basic_regex_creator<charT, traits>::probe_leading_repeat(re_syntax_base* state)
-{
-   // enumerate our states, and see if we have a leading repeat 
-   // for which failed search restarts can be optimised;
-   do
-   {
-      switch(state->type)
-      {
-      case syntax_element_startmark:
-         if(static_cast<re_brace*>(state)->index >= 0)
-         {
-            state = state->next.p;
-            continue;
-         }
-         if((static_cast<re_brace*>(state)->index == -1)
-            || (static_cast<re_brace*>(state)->index == -2))
-         {
-            // skip past the zero width assertion:
-            state = static_cast<const re_jump*>(state->next.p)->alt.p->next.p;
-            continue;
-         }
-         if(static_cast<re_brace*>(state)->index == -3)
-         {
-            // Have to skip the leading jump state:
-            state = state->next.p->next.p;
-            continue;
-         }
-         return;
-      case syntax_element_endmark:
-      case syntax_element_start_line:
-      case syntax_element_end_line:
-      case syntax_element_word_boundary:
-      case syntax_element_within_word:
-      case syntax_element_word_start:
-      case syntax_element_word_end:
-      case syntax_element_buffer_start:
-      case syntax_element_buffer_end:
-      case syntax_element_restart_continue:
-         state = state->next.p;
-         break;
-      case syntax_element_dot_rep:
-      case syntax_element_char_rep:
-      case syntax_element_short_set_rep:
-      case syntax_element_long_set_rep:
-         if(this->m_has_backrefs == 0)
-            static_cast<re_repeat*>(state)->leading = true;
-         // fall through:
-      default:
-         return;
-      }
-   }while(state);
-}
-
-
-} // namespace re_detail
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
diff --git a/SRC/Boost/boost/regex/v4/basic_regex_parser.hpp b/SRC/Boost/boost/regex/v4/basic_regex_parser.hpp
deleted file mode 100755
index 3191a90..0000000
--- a/SRC/Boost/boost/regex/v4/basic_regex_parser.hpp
+++ /dev/null
@@ -1,2821 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         basic_regex_parser.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares template class basic_regex_parser.
-  */
-
-#ifndef BOOST_REGEX_V4_BASIC_REGEX_PARSER_HPP
-#define BOOST_REGEX_V4_BASIC_REGEX_PARSER_HPP
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-namespace boost{
-namespace re_detail{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4244 4800)
-#endif
-
-template <class charT, class traits>
-class basic_regex_parser : public basic_regex_creator<charT, traits>
-{
-public:
-   basic_regex_parser(regex_data<charT, traits>* data);
-   void parse(const charT* p1, const charT* p2, unsigned flags);
-   void fail(regex_constants::error_type error_code, std::ptrdiff_t position);
-   void fail(regex_constants::error_type error_code, std::ptrdiff_t position, std::string message, std::ptrdiff_t start_pos);
-   void fail(regex_constants::error_type error_code, std::ptrdiff_t position, const std::string& message)
-   {
-      fail(error_code, position, message, position);
-   }
-
-   bool parse_all();
-   bool parse_basic();
-   bool parse_extended();
-   bool parse_literal();
-   bool parse_open_paren();
-   bool parse_basic_escape();
-   bool parse_extended_escape();
-   bool parse_match_any();
-   bool parse_repeat(std::size_t low = 0, std::size_t high = (std::numeric_limits<std::size_t>::max)());
-   bool parse_repeat_range(bool isbasic);
-   bool parse_alt();
-   bool parse_set();
-   bool parse_backref();
-   void parse_set_literal(basic_char_set<charT, traits>& char_set);
-   bool parse_inner_set(basic_char_set<charT, traits>& char_set);
-   bool parse_QE();
-   bool parse_perl_extension();
-   bool add_emacs_code(bool negate);
-   bool unwind_alts(std::ptrdiff_t last_paren_start);
-   digraph<charT> get_next_set_literal(basic_char_set<charT, traits>& char_set);
-   charT unescape_character();
-   regex_constants::syntax_option_type parse_options();
-
-private:
-   typedef bool (basic_regex_parser::*parser_proc_type)();
-   typedef typename traits::string_type string_type;
-   typedef typename traits::char_class_type char_class_type;
-   parser_proc_type           m_parser_proc;    // the main parser to use
-   const charT*               m_base;           // the start of the string being parsed
-   const charT*               m_end;            // the end of the string being parsed
-   const charT*               m_position;       // our current parser position
-   unsigned                   m_mark_count;     // how many sub-expressions we have
-   int                        m_mark_reset;     // used to indicate that we're inside a (?|...) block.
-   unsigned                   m_max_mark;       // largest mark count seen inside a (?|...) block.
-   std::ptrdiff_t             m_paren_start;    // where the last seen ')' began (where repeats are inserted).
-   std::ptrdiff_t             m_alt_insert_point; // where to insert the next alternative
-   bool                       m_has_case_change; // true if somewhere in the current block the case has changed
-#if defined(BOOST_MSVC) && defined(_M_IX86)
-   // This is an ugly warning suppression workaround (for warnings *inside* std::vector
-   // that can not otherwise be suppressed)...
-   BOOST_STATIC_ASSERT(sizeof(long) >= sizeof(void*));
-   std::vector<long>           m_alt_jumps;      // list of alternative in the current scope.
-#else
-   std::vector<std::ptrdiff_t> m_alt_jumps;      // list of alternative in the current scope.
-#endif
-
-   basic_regex_parser& operator=(const basic_regex_parser&);
-   basic_regex_parser(const basic_regex_parser&);
-};
-
-template <class charT, class traits>
-basic_regex_parser<charT, traits>::basic_regex_parser(regex_data<charT, traits>* data)
-   : basic_regex_creator<charT, traits>(data), m_mark_count(0), m_mark_reset(-1), m_max_mark(0), m_paren_start(0), m_alt_insert_point(0), m_has_case_change(false)
-{
-}
-
-template <class charT, class traits>
-void basic_regex_parser<charT, traits>::parse(const charT* p1, const charT* p2, unsigned l_flags)
-{
-   // pass l_flags on to base class:
-   this->init(l_flags);
-   // set up pointers:
-   m_position = m_base = p1;
-   m_end = p2;
-   // empty strings are errors:
-   if((p1 == p2) && 
-      (
-         ((l_flags & regbase::main_option_type) != regbase::perl_syntax_group)
-         || (l_flags & regbase::no_empty_expressions)
-      )
-     )
-   {
-      fail(regex_constants::error_empty, 0);
-      return;
-   }
-   // select which parser to use:
-   switch(l_flags & regbase::main_option_type)
-   {
-   case regbase::perl_syntax_group:
-      {
-         m_parser_proc = &basic_regex_parser<charT, traits>::parse_extended;
-         //
-         // Add a leading paren with index zero to give recursions a target:
-         //
-         re_brace* br = static_cast<re_brace*>(this->append_state(syntax_element_startmark, sizeof(re_brace)));
-         br->index = 0;
-         br->icase = this->flags() & regbase::icase;
-         break;
-      }
-   case regbase::basic_syntax_group:
-      m_parser_proc = &basic_regex_parser<charT, traits>::parse_basic;
-      break;
-   case regbase::literal:
-      m_parser_proc = &basic_regex_parser<charT, traits>::parse_literal;
-      break;
-   default:
-      // Ooops, someone has managed to set more than one of the main option flags, 
-      // so this must be an error:
-      fail(regex_constants::error_unknown, 0, "An invalid combination of regular expression syntax flags was used.");
-      return;
-   }
-
-   // parse all our characters:
-   bool result = parse_all();
-   //
-   // Unwind our alternatives:
-   //
-   unwind_alts(-1);
-   // reset l_flags as a global scope (?imsx) may have altered them:
-   this->flags(l_flags);
-   // if we haven't gobbled up all the characters then we must
-   // have had an unexpected ')' :
-   if(!result)
-   {
-      fail(regex_constants::error_paren, ::boost::re_detail::distance(m_base, m_position), "Found a closing ) with no corresponding openening parenthesis.");
-      return;
-   }
-   // if an error has been set then give up now:
-   if(this->m_pdata->m_status)
-      return;
-   // fill in our sub-expression count:
-   this->m_pdata->m_mark_count = 1 + m_mark_count;
-   this->finalize(p1, p2);
-}
-
-template <class charT, class traits>
-void basic_regex_parser<charT, traits>::fail(regex_constants::error_type error_code, std::ptrdiff_t position)
-{
-   // get the error message:
-   std::string message = this->m_pdata->m_ptraits->error_string(error_code);
-   fail(error_code, position, message);
-}
-
-template <class charT, class traits>
-void basic_regex_parser<charT, traits>::fail(regex_constants::error_type error_code, std::ptrdiff_t position, std::string message, std::ptrdiff_t start_pos)
-{
-   if(0 == this->m_pdata->m_status) // update the error code if not already set
-      this->m_pdata->m_status = error_code;
-   m_position = m_end; // don't bother parsing anything else
-
-   //
-   // Augment error message with the regular expression text:
-   //
-   if(start_pos == position)
-      start_pos = (std::max)(static_cast<std::ptrdiff_t>(0), position - static_cast<std::ptrdiff_t>(10));
-   std::ptrdiff_t end_pos = (std::min)(position + static_cast<std::ptrdiff_t>(10), static_cast<std::ptrdiff_t>(m_end - m_base));
-   if(error_code != regex_constants::error_empty)
-   {
-      if((start_pos != 0) || (end_pos != (m_end - m_base)))
-         message += "  The error occured while parsing the regular expression fragment: '";
-      else
-         message += "  The error occured while parsing the regular expression: '";
-      if(start_pos != end_pos)
-      {
-         message += std::string(m_base + start_pos, m_base + position);
-         message += ">>>HERE>>>";
-         message += std::string(m_base + position, m_base + end_pos);
-      }
-      message += "'.";
-   }
-
-#ifndef BOOST_NO_EXCEPTIONS
-   if(0 == (this->flags() & regex_constants::no_except))
-   {
-      boost::regex_error e(message, error_code, position);
-      e.raise();
-   }
-#else
-   (void)position; // suppress warnings.
-#endif
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_all()
-{
-   bool result = true;
-   while(result && (m_position != m_end))
-   {
-      result = (this->*m_parser_proc)();
-   }
-   return result;
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4702)
-#endif
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_basic()
-{
-   switch(this->m_traits.syntax_type(*m_position))
-   {
-   case regex_constants::syntax_escape:
-      return parse_basic_escape();
-   case regex_constants::syntax_dot:
-      return parse_match_any();
-   case regex_constants::syntax_caret:
-      ++m_position;
-      this->append_state(syntax_element_start_line);
-      break;
-   case regex_constants::syntax_dollar:
-      ++m_position;
-      this->append_state(syntax_element_end_line);
-      break;
-   case regex_constants::syntax_star:
-      if(!(this->m_last_state) || (this->m_last_state->type == syntax_element_start_line))
-         return parse_literal();
-      else
-      {
-         ++m_position;
-         return parse_repeat();
-      }
-   case regex_constants::syntax_plus:
-      if(!(this->m_last_state) || (this->m_last_state->type == syntax_element_start_line) || !(this->flags() & regbase::emacs_ex))
-         return parse_literal();
-      else
-      {
-         ++m_position;
-         return parse_repeat(1);
-      }
-   case regex_constants::syntax_question:
-      if(!(this->m_last_state) || (this->m_last_state->type == syntax_element_start_line) || !(this->flags() & regbase::emacs_ex))
-         return parse_literal();
-      else
-      {
-         ++m_position;
-         return parse_repeat(0, 1);
-      }
-   case regex_constants::syntax_open_set:
-      return parse_set();
-   case regex_constants::syntax_newline:
-      if(this->flags() & regbase::newline_alt)
-         return parse_alt();
-      else
-         return parse_literal();
-   default:
-      return parse_literal();
-   }
-   return true;
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_extended()
-{
-   bool result = true;
-   switch(this->m_traits.syntax_type(*m_position))
-   {
-   case regex_constants::syntax_open_mark:
-      return parse_open_paren();
-   case regex_constants::syntax_close_mark:
-      return false;
-   case regex_constants::syntax_escape:
-      return parse_extended_escape();
-   case regex_constants::syntax_dot:
-      return parse_match_any();
-   case regex_constants::syntax_caret:
-      ++m_position;
-      this->append_state(
-         (this->flags() & regex_constants::no_mod_m ? syntax_element_buffer_start : syntax_element_start_line));
-      break;
-   case regex_constants::syntax_dollar:
-      ++m_position;
-      this->append_state(
-         (this->flags() & regex_constants::no_mod_m ? syntax_element_buffer_end : syntax_element_end_line));
-      break;
-   case regex_constants::syntax_star:
-      if(m_position == this->m_base)
-      {
-         fail(regex_constants::error_badrepeat, 0, "The repeat operator \"*\" cannot start a regular expression.");
-         return false;
-      }
-      ++m_position;
-      return parse_repeat();
-   case regex_constants::syntax_question:
-      if(m_position == this->m_base)
-      {
-         fail(regex_constants::error_badrepeat, 0, "The repeat operator \"?\" cannot start a regular expression.");
-         return false;
-      }
-      ++m_position;
-      return parse_repeat(0,1);
-   case regex_constants::syntax_plus:
-      if(m_position == this->m_base)
-      {
-         fail(regex_constants::error_badrepeat, 0, "The repeat operator \"+\" cannot start a regular expression.");
-         return false;
-      }
-      ++m_position;
-      return parse_repeat(1);
-   case regex_constants::syntax_open_brace:
-      ++m_position;
-      return parse_repeat_range(false);
-   case regex_constants::syntax_close_brace:
-      fail(regex_constants::error_brace, this->m_position - this->m_base, "Found a closing repetition operator } with no corresponding {.");
-      return false;
-   case regex_constants::syntax_or:
-      return parse_alt();
-   case regex_constants::syntax_open_set:
-      return parse_set();
-   case regex_constants::syntax_newline:
-      if(this->flags() & regbase::newline_alt)
-         return parse_alt();
-      else
-         return parse_literal();
-   case regex_constants::syntax_hash:
-      //
-      // If we have a mod_x flag set, then skip until
-      // we get to a newline character:
-      //
-      if((this->flags() 
-         & (regbase::no_perl_ex|regbase::mod_x))
-         == regbase::mod_x)
-      {
-         while((m_position != m_end) && !is_separator(*m_position++)){}
-         return true;
-      }
-      // Otherwise fall through:
-   default:
-      result = parse_literal();
-      break;
-   }
-   return result;
-}
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_literal()
-{
-   // append this as a literal provided it's not a space character
-   // or the perl option regbase::mod_x is not set:
-   if(
-      ((this->flags() 
-         & (regbase::main_option_type|regbase::mod_x|regbase::no_perl_ex)) 
-            != regbase::mod_x)
-      || !this->m_traits.isctype(*m_position, this->m_mask_space))
-         this->append_literal(*m_position);
-   ++m_position;
-   return true;
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_open_paren()
-{
-   //
-   // skip the '(' and error check:
-   //
-   if(++m_position == m_end)
-   {
-      fail(regex_constants::error_paren, m_position - m_base);
-      return false;
-   }
-   //
-   // begin by checking for a perl-style (?...) extension:
-   //
-   if(
-         ((this->flags() & (regbase::main_option_type | regbase::no_perl_ex)) == 0)
-         || ((this->flags() & (regbase::main_option_type | regbase::emacs_ex)) == (regbase::basic_syntax_group|regbase::emacs_ex))
-     )
-   {
-      if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_question)
-         return parse_perl_extension();
-   }
-   //
-   // update our mark count, and append the required state:
-   //
-   unsigned markid = 0;
-   if(0 == (this->flags() & regbase::nosubs))
-   {
-      markid = ++m_mark_count;
-#ifndef BOOST_NO_STD_DISTANCE
-      if(this->flags() & regbase::save_subexpression_location)
-         this->m_pdata->m_subs.push_back(std::pair<std::size_t, std::size_t>(std::distance(m_base, m_position) - 1, 0));
-#else
-      if(this->flags() & regbase::save_subexpression_location)
-         this->m_pdata->m_subs.push_back(std::pair<std::size_t, std::size_t>((m_position - m_base) - 1, 0));
-#endif
-   }
-   re_brace* pb = static_cast<re_brace*>(this->append_state(syntax_element_startmark, sizeof(re_brace)));
-   pb->index = markid;
-   pb->icase = this->flags() & regbase::icase;
-   std::ptrdiff_t last_paren_start = this->getoffset(pb);
-   // back up insertion point for alternations, and set new point:
-   std::ptrdiff_t last_alt_point = m_alt_insert_point;
-   this->m_pdata->m_data.align();
-   m_alt_insert_point = this->m_pdata->m_data.size();
-   //
-   // back up the current flags in case we have a nested (?imsx) group:
-   //
-   regex_constants::syntax_option_type opts = this->flags();
-   bool old_case_change = m_has_case_change;
-   m_has_case_change = false; // no changes to this scope as yet...
-   //
-   // Back up branch reset data in case we have a nested (?|...)
-   //
-   int mark_reset = m_mark_reset;
-   m_mark_reset = -1;
-   //
-   // now recursively add more states, this will terminate when we get to a
-   // matching ')' :
-   //
-   parse_all();
-   //
-   // Unwind pushed alternatives:
-   //
-   if(0 == unwind_alts(last_paren_start))
-      return false;
-   //
-   // restore flags:
-   //
-   if(m_has_case_change)
-   {
-      // the case has changed in one or more of the alternatives
-      // within the scoped (...) block: we have to add a state
-      // to reset the case sensitivity:
-      static_cast<re_case*>(
-         this->append_state(syntax_element_toggle_case, sizeof(re_case))
-         )->icase = opts & regbase::icase;
-   }
-   this->flags(opts);
-   m_has_case_change = old_case_change;
-   //
-   // restore branch reset:
-   //
-   m_mark_reset = mark_reset;
-   //
-   // we either have a ')' or we have run out of characters prematurely:
-   //
-   if(m_position == m_end)
-   {
-      this->fail(regex_constants::error_paren, ::boost::re_detail::distance(m_base, m_end));
-      return false;
-   }
-   BOOST_ASSERT(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_mark);
-#ifndef BOOST_NO_STD_DISTANCE
-   if(markid && (this->flags() & regbase::save_subexpression_location))
-      this->m_pdata->m_subs.at(markid - 1).second = std::distance(m_base, m_position);
-#else
-   if(markid && (this->flags() & regbase::save_subexpression_location))
-      this->m_pdata->m_subs.at(markid - 1).second = (m_position - m_base);
-#endif
-   ++m_position;
-   //
-   // append closing parenthesis state:
-   //
-   pb = static_cast<re_brace*>(this->append_state(syntax_element_endmark, sizeof(re_brace)));
-   pb->index = markid;
-   pb->icase = this->flags() & regbase::icase;
-   this->m_paren_start = last_paren_start;
-   //
-   // restore the alternate insertion point:
-   //
-   this->m_alt_insert_point = last_alt_point;
-   //
-   // allow backrefs to this mark:
-   //
-   if((markid > 0) && (markid < sizeof(unsigned) * CHAR_BIT))
-      this->m_backrefs |= 1u << (markid - 1);
-
-   return true;
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_basic_escape()
-{
-   ++m_position;
-   bool result = true;
-   switch(this->m_traits.escape_syntax_type(*m_position))
-   {
-   case regex_constants::syntax_open_mark:
-      return parse_open_paren();
-   case regex_constants::syntax_close_mark:
-      return false;
-   case regex_constants::syntax_plus:
-      if(this->flags() & regex_constants::bk_plus_qm)
-      {
-         ++m_position;
-         return parse_repeat(1);
-      }
-      else
-         return parse_literal();
-   case regex_constants::syntax_question:
-      if(this->flags() & regex_constants::bk_plus_qm)
-      {
-         ++m_position;
-         return parse_repeat(0, 1);
-      }
-      else
-         return parse_literal();
-   case regex_constants::syntax_open_brace:
-      if(this->flags() & regbase::no_intervals)
-         return parse_literal();
-      ++m_position;
-      return parse_repeat_range(true);
-   case regex_constants::syntax_close_brace:
-      if(this->flags() & regbase::no_intervals)
-         return parse_literal();
-      fail(regex_constants::error_brace, this->m_position - this->m_base, "Found a closing repetition operator } with no corresponding {.");
-      return false;
-   case regex_constants::syntax_or:
-      if(this->flags() & regbase::bk_vbar)
-         return parse_alt();
-      else
-         result = parse_literal();
-      break;
-   case regex_constants::syntax_digit:
-      return parse_backref();
-   case regex_constants::escape_type_start_buffer:
-      if(this->flags() & regbase::emacs_ex)
-      {
-         ++m_position;
-         this->append_state(syntax_element_buffer_start);
-      }
-      else
-         result = parse_literal();
-      break;
-   case regex_constants::escape_type_end_buffer:
-      if(this->flags() & regbase::emacs_ex)
-      {
-         ++m_position;
-         this->append_state(syntax_element_buffer_end);
-      }
-      else
-         result = parse_literal();
-      break;
-   case regex_constants::escape_type_word_assert:
-      if(this->flags() & regbase::emacs_ex)
-      {
-         ++m_position;
-         this->append_state(syntax_element_word_boundary);
-      }
-      else
-         result = parse_literal();
-      break;
-   case regex_constants::escape_type_not_word_assert:
-      if(this->flags() & regbase::emacs_ex)
-      {
-         ++m_position;
-         this->append_state(syntax_element_within_word);
-      }
-      else
-         result = parse_literal();
-      break;
-   case regex_constants::escape_type_left_word:
-      if(this->flags() & regbase::emacs_ex)
-      {
-         ++m_position;
-         this->append_state(syntax_element_word_start);
-      }
-      else
-         result = parse_literal();
-      break;
-   case regex_constants::escape_type_right_word:
-      if(this->flags() & regbase::emacs_ex)
-      {
-         ++m_position;
-         this->append_state(syntax_element_word_end);
-      }
-      else
-         result = parse_literal();
-      break;
-   default:
-      if(this->flags() & regbase::emacs_ex)
-      {
-         bool negate = true;
-         switch(*m_position)
-         {
-         case 'w':
-            negate = false;
-            // fall through:
-         case 'W':
-            {
-            basic_char_set<charT, traits> char_set;
-            if(negate)
-               char_set.negate();
-            char_set.add_class(this->m_word_mask);
-            if(0 == this->append_set(char_set))
-            {
-               fail(regex_constants::error_ctype, m_position - m_base);
-               return false;
-            }
-            ++m_position;
-            return true;
-            }
-         case 's':
-            negate = false;
-            // fall through:
-         case 'S':
-            return add_emacs_code(negate);
-         case 'c':
-         case 'C':
-            // not supported yet:
-            fail(regex_constants::error_escape, m_position - m_base, "The \\c and \\C escape sequences are not supported by POSIX basic regular expressions: try the Perl syntax instead.");
-            return false;
-         default:
-            break;
-         }
-      }
-      result = parse_literal();
-      break;
-   }
-   return result;
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_extended_escape()
-{
-   ++m_position;
-   bool negate = false; // in case this is a character class escape: \w \d etc
-   switch(this->m_traits.escape_syntax_type(*m_position))
-   {
-   case regex_constants::escape_type_not_class:
-      negate = true;
-      // fall through:
-   case regex_constants::escape_type_class:
-      {
-escape_type_class_jump:
-         typedef typename traits::char_class_type mask_type;
-         mask_type m = this->m_traits.lookup_classname(m_position, m_position+1);
-         if(m != 0)
-         {
-            basic_char_set<charT, traits> char_set;
-            if(negate)
-               char_set.negate();
-            char_set.add_class(m);
-            if(0 == this->append_set(char_set))
-            {
-               fail(regex_constants::error_ctype, m_position - m_base);
-               return false;
-            }
-            ++m_position;
-            return true;
-         }
-         //
-         // not a class, just a regular unknown escape:
-         //
-         this->append_literal(unescape_character());
-         break;
-      }
-   case regex_constants::syntax_digit:
-      return parse_backref();
-   case regex_constants::escape_type_left_word:
-      ++m_position;
-      this->append_state(syntax_element_word_start);
-      break;
-   case regex_constants::escape_type_right_word:
-      ++m_position;
-      this->append_state(syntax_element_word_end);
-      break;
-   case regex_constants::escape_type_start_buffer:
-      ++m_position;
-      this->append_state(syntax_element_buffer_start);
-      break;
-   case regex_constants::escape_type_end_buffer:
-      ++m_position;
-      this->append_state(syntax_element_buffer_end);
-      break;
-   case regex_constants::escape_type_word_assert:
-      ++m_position;
-      this->append_state(syntax_element_word_boundary);
-      break;
-   case regex_constants::escape_type_not_word_assert:
-      ++m_position;
-      this->append_state(syntax_element_within_word);
-      break;
-   case regex_constants::escape_type_Z:
-      ++m_position;
-      this->append_state(syntax_element_soft_buffer_end);
-      break;
-   case regex_constants::escape_type_Q:
-      return parse_QE();
-   case regex_constants::escape_type_C:
-      return parse_match_any();
-   case regex_constants::escape_type_X:
-      ++m_position;
-      this->append_state(syntax_element_combining);
-      break;
-   case regex_constants::escape_type_G:
-      ++m_position;
-      this->append_state(syntax_element_restart_continue);
-      break;
-   case regex_constants::escape_type_not_property:
-      negate = true;
-      // fall through:
-   case regex_constants::escape_type_property:
-      {
-         ++m_position;
-         char_class_type m;
-         if(m_position == m_end)
-         {
-            fail(regex_constants::error_escape, m_position - m_base, "Incomplete property escape found.");
-            return false;
-         }
-         // maybe have \p{ddd}
-         if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_open_brace)
-         {
-            const charT* base = m_position;
-            // skip forward until we find enclosing brace:
-            while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_brace))
-               ++m_position;
-            if(m_position == m_end)
-            {
-               fail(regex_constants::error_escape, m_position - m_base, "Closing } missing from property escape sequence.");
-               return false;
-            }
-            m = this->m_traits.lookup_classname(++base, m_position++);
-         }
-         else
-         {
-            m = this->m_traits.lookup_classname(m_position, m_position+1);
-            ++m_position;
-         }
-         if(m != 0)
-         {
-            basic_char_set<charT, traits> char_set;
-            if(negate)
-               char_set.negate();
-            char_set.add_class(m);
-            if(0 == this->append_set(char_set))
-            {
-               fail(regex_constants::error_ctype, m_position - m_base);
-               return false;
-            }
-            return true;
-         }
-         fail(regex_constants::error_ctype, m_position - m_base, "Escape sequence was neither a valid property nor a valid character class name.");
-         return false;
-      }
-   case regex_constants::escape_type_reset_start_mark:
-      if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex)))
-      {
-         re_brace* pb = static_cast<re_brace*>(this->append_state(syntax_element_startmark, sizeof(re_brace)));
-         pb->index = -5;
-         pb->icase = this->flags() & regbase::icase;
-         this->m_pdata->m_data.align();
-         ++m_position;
-         return true;
-      }
-      goto escape_type_class_jump;
-   case regex_constants::escape_type_line_ending:
-      if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex)))
-      {
-         const charT* e = get_escape_R_string<charT>();
-         const charT* old_position = m_position;
-         const charT* old_end = m_end;
-         const charT* old_base = m_base;
-         m_position = e;
-         m_base = e;
-         m_end = e + traits::length(e);
-         bool r = parse_all();
-         m_position = ++old_position;
-         m_end = old_end;
-         m_base = old_base;
-         return r;
-      }
-      goto escape_type_class_jump;
-   case regex_constants::escape_type_extended_backref:
-      if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex)))
-      {
-         bool have_brace = false;
-         bool negative = false;
-         static const char* incomplete_message = "Incomplete \\g escape found.";
-         if(++m_position == m_end)
-         {
-            fail(regex_constants::error_escape, m_position - m_base, incomplete_message);
-            return false;
-         }
-         // maybe have \g{ddd}
-         regex_constants::syntax_type syn = this->m_traits.syntax_type(*m_position);
-         regex_constants::syntax_type syn_end = 0;
-         if((syn == regex_constants::syntax_open_brace) 
-            || (syn == regex_constants::escape_type_left_word)
-            || (syn == regex_constants::escape_type_end_buffer))
-         {
-            if(++m_position == m_end)
-            {
-               fail(regex_constants::error_escape, m_position - m_base, incomplete_message);
-               return false;
-            }
-            have_brace = true;
-            switch(syn)
-            {
-            case regex_constants::syntax_open_brace:
-               syn_end = regex_constants::syntax_close_brace;
-               break;
-            case regex_constants::escape_type_left_word:
-               syn_end = regex_constants::escape_type_right_word;
-               break;
-            default:
-               syn_end = regex_constants::escape_type_end_buffer;
-               break;
-            }
-         }
-         negative = (*m_position == static_cast<charT>('-'));
-         if((negative) && (++m_position == m_end))
-         {
-            fail(regex_constants::error_escape, m_position - m_base, incomplete_message);
-            return false;
-         }
-         const charT* pc = m_position;
-         int i = this->m_traits.toi(pc, m_end, 10);
-         if((i < 0) && syn_end)
-         {
-            // Check for a named capture, get the leftmost one if there is more than one:
-            const charT* base = m_position;
-            while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != syn_end))
-            {
-               ++m_position;
-            }
-            i = hash_value_from_capture_name(base, m_position);
-            pc = m_position;
-         }
-         if(negative)
-            i = 1 + m_mark_count - i;
-         if(((i > 0) && (this->m_backrefs & (1u << (i-1)))) || ((i > 10000) && (this->m_pdata->get_id(i) > 0) && (this->m_backrefs & (1u << (this->m_pdata->get_id(i)-1)))))
-         {
-            m_position = pc;
-            re_brace* pb = static_cast<re_brace*>(this->append_state(syntax_element_backref, sizeof(re_brace)));
-            pb->index = i;
-            pb->icase = this->flags() & regbase::icase;
-         }
-         else
-         {
-            fail(regex_constants::error_backref, m_position - m_base);
-            return false;
-         }
-         m_position = pc;
-         if(have_brace)
-         {
-            if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != syn_end))
-            {
-               fail(regex_constants::error_escape, m_position - m_base, incomplete_message);
-               return false;
-            }
-            ++m_position;
-         }
-         return true;
-      }
-      goto escape_type_class_jump;
-   case regex_constants::escape_type_control_v:
-      if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex)))
-         goto escape_type_class_jump;
-      // fallthrough:
-   default:
-      this->append_literal(unescape_character());
-      break;
-   }
-   return true;
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_match_any()
-{
-   //
-   // we have a '.' that can match any character:
-   //
-   ++m_position;
-   static_cast<re_dot*>(
-      this->append_state(syntax_element_wild, sizeof(re_dot))
-      )->mask = static_cast<unsigned char>(this->flags() & regbase::no_mod_s 
-      ? re_detail::force_not_newline 
-         : this->flags() & regbase::mod_s ?
-            re_detail::force_newline : re_detail::dont_care);
-   return true;
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_repeat(std::size_t low, std::size_t high)
-{
-   bool greedy = true;
-   bool pocessive = false;
-   std::size_t insert_point;
-   // 
-   // when we get to here we may have a non-greedy ? mark still to come:
-   //
-   if((m_position != m_end) 
-      && (
-            (0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex)))
-            || ((regbase::basic_syntax_group|regbase::emacs_ex) == (this->flags() & (regbase::main_option_type | regbase::emacs_ex)))
-         )
-      )
-   {
-      // OK we have a perl or emacs regex, check for a '?':
-      if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_question)
-      {
-         greedy = false;
-         ++m_position;
-      }
-      // for perl regexes only check for pocessive ++ repeats.
-      if((m_position != m_end)
-         && (0 == (this->flags() & regbase::main_option_type)) 
-         && (this->m_traits.syntax_type(*m_position) == regex_constants::syntax_plus))
-      {
-         pocessive = true;
-         ++m_position;
-      }
-   }
-   if(0 == this->m_last_state)
-   {
-      fail(regex_constants::error_badrepeat, ::boost::re_detail::distance(m_base, m_position), "Nothing to repeat.");
-      return false;
-   }
-   if(this->m_last_state->type == syntax_element_endmark)
-   {
-      // insert a repeat before the '(' matching the last ')':
-      insert_point = this->m_paren_start;
-   }
-   else if((this->m_last_state->type == syntax_element_literal) && (static_cast<re_literal*>(this->m_last_state)->length > 1))
-   {
-      // the last state was a literal with more than one character, split it in two:
-      re_literal* lit = static_cast<re_literal*>(this->m_last_state);
-      charT c = (static_cast<charT*>(static_cast<void*>(lit+1)))[lit->length - 1];
-      --(lit->length);
-      // now append new state:
-      lit = static_cast<re_literal*>(this->append_state(syntax_element_literal, sizeof(re_literal) + sizeof(charT)));
-      lit->length = 1;
-      (static_cast<charT*>(static_cast<void*>(lit+1)))[0] = c;
-      insert_point = this->getoffset(this->m_last_state);
-   }
-   else
-   {
-      // repeat the last state whatever it was, need to add some error checking here:
-      switch(this->m_last_state->type)
-      {
-      case syntax_element_start_line:
-      case syntax_element_end_line:
-      case syntax_element_word_boundary:
-      case syntax_element_within_word:
-      case syntax_element_word_start:
-      case syntax_element_word_end:
-      case syntax_element_buffer_start:
-      case syntax_element_buffer_end:
-      case syntax_element_alt:
-      case syntax_element_soft_buffer_end:
-      case syntax_element_restart_continue:
-      case syntax_element_jump:
-      case syntax_element_startmark:
-      case syntax_element_backstep:
-         // can't legally repeat any of the above:
-         fail(regex_constants::error_badrepeat, m_position - m_base);
-         return false;
-      default:
-         // do nothing...
-         break;
-      }
-      insert_point = this->getoffset(this->m_last_state);
-   }
-   //
-   // OK we now know what to repeat, so insert the repeat around it:
-   //
-   re_repeat* rep = static_cast<re_repeat*>(this->insert_state(insert_point, syntax_element_rep, re_repeater_size));
-   rep->min = low;
-   rep->max = high;
-   rep->greedy = greedy;
-   rep->leading = false;
-   // store our repeater position for later:
-   std::ptrdiff_t rep_off = this->getoffset(rep);
-   // and append a back jump to the repeat:
-   re_jump* jmp = static_cast<re_jump*>(this->append_state(syntax_element_jump, sizeof(re_jump)));
-   jmp->alt.i = rep_off - this->getoffset(jmp);
-   this->m_pdata->m_data.align();
-   // now fill in the alt jump for the repeat:
-   rep = static_cast<re_repeat*>(this->getaddress(rep_off));
-   rep->alt.i = this->m_pdata->m_data.size() - rep_off;
-   //
-   // If the repeat is pocessive then bracket the repeat with a (?>...)
-   // independent sub-expression construct:
-   //
-   if(pocessive)
-   {
-      if(m_position != m_end)
-      {
-         //
-         // Check for illegal following quantifier, we have to do this here, because
-         // the extra states we insert below circumvents our usual error checking :-(
-         //
-         switch(this->m_traits.syntax_type(*m_position))
-         {
-         case regex_constants::syntax_star:
-         case regex_constants::syntax_plus:
-         case regex_constants::syntax_question:
-         case regex_constants::syntax_open_brace:
-            fail(regex_constants::error_badrepeat, m_position - m_base);
-            return false;
-         }
-      }
-      re_brace* pb = static_cast<re_brace*>(this->insert_state(insert_point, syntax_element_startmark, sizeof(re_brace)));
-      pb->index = -3;
-      pb->icase = this->flags() & regbase::icase;
-      jmp = static_cast<re_jump*>(this->insert_state(insert_point + sizeof(re_brace), syntax_element_jump, sizeof(re_jump)));
-      this->m_pdata->m_data.align();
-      jmp->alt.i = this->m_pdata->m_data.size() - this->getoffset(jmp);
-      pb = static_cast<re_brace*>(this->append_state(syntax_element_endmark, sizeof(re_brace)));
-      pb->index = -3;
-      pb->icase = this->flags() & regbase::icase;
-   }
-   return true;
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_repeat_range(bool isbasic)
-{
-   static const char* incomplete_message = "Missing } in quantified repetition.";
-   //
-   // parse a repeat-range:
-   //
-   std::size_t min, max;
-   int v;
-   // skip whitespace:
-   while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space))
-      ++m_position;
-   // fail if at end:
-   if(this->m_position == this->m_end)
-   {
-      fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);
-      return false;
-   }
-   // get min:
-   v = this->m_traits.toi(m_position, m_end, 10);
-   // skip whitespace:
-   while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space))
-      ++m_position;
-   if(v < 0)
-   {
-      fail(regex_constants::error_badbrace, this->m_position - this->m_base);
-      return false;
-   }
-   else if(this->m_position == this->m_end)
-   {
-      fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);
-      return false;
-   }
-   min = v;
-   // see if we have a comma:
-   if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_comma)
-   {
-      // move on and error check:
-      ++m_position;
-      // skip whitespace:
-      while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space))
-         ++m_position;
-      if(this->m_position == this->m_end)
-      {
-         fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);
-         return false;
-      }
-      // get the value if any:
-      v = this->m_traits.toi(m_position, m_end, 10);
-      max = (v >= 0) ? v : (std::numeric_limits<std::size_t>::max)();
-   }
-   else
-   {
-      // no comma, max = min:
-      max = min;
-   }
-   // skip whitespace:
-   while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space))
-      ++m_position;
-   // OK now check trailing }:
-   if(this->m_position == this->m_end)
-   {
-      fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);
-      return false;
-   }
-   if(isbasic)
-   {
-      if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_escape)
-      {
-         ++m_position;
-         if(this->m_position == this->m_end)
-         {
-            fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);
-            return false;
-         }
-      }
-      else
-      {
-         fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);
-         return false;
-      }
-   }
-   if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_brace)
-      ++m_position;
-   else
-   {
-      fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message);
-      return false;
-   }
-   //
-   // finally go and add the repeat, unless error:
-   //
-   if(min > max)
-   {
-      // Backtrack to error location:
-      m_position -= 2;
-      while(this->m_traits.isctype(*m_position, this->m_word_mask)) --m_position;
-         ++m_position;
-      fail(regex_constants::error_badbrace, m_position - m_base);
-      return false;
-   }
-   return parse_repeat(min, max);
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_alt()
-{
-   //
-   // error check: if there have been no previous states,
-   // or if the last state was a '(' then error:
-   //
-   if(
-      ((this->m_last_state == 0) || (this->m_last_state->type == syntax_element_startmark))
-      &&
-      !(
-         ((this->flags() & regbase::main_option_type) == regbase::perl_syntax_group)
-           &&
-         ((this->flags() & regbase::no_empty_expressions) == 0)
-        )
-      )
-   {
-      fail(regex_constants::error_empty, this->m_position - this->m_base, "A regular expression can start with the alternation operator |.");
-      return false;
-   }
-   //
-   // Reset mark count if required:
-   //
-   if(m_max_mark < m_mark_count)
-      m_max_mark = m_mark_count;
-   if(m_mark_reset >= 0)
-      m_mark_count = m_mark_reset;
-
-   ++m_position;
-   //
-   // we need to append a trailing jump: 
-   //
-   re_syntax_base* pj = this->append_state(re_detail::syntax_element_jump, sizeof(re_jump));
-   std::ptrdiff_t jump_offset = this->getoffset(pj);
-   //
-   // now insert the alternative:
-   //
-   re_alt* palt = static_cast<re_alt*>(this->insert_state(this->m_alt_insert_point, syntax_element_alt, re_alt_size));
-   jump_offset += re_alt_size;
-   this->m_pdata->m_data.align();
-   palt->alt.i = this->m_pdata->m_data.size() - this->getoffset(palt);
-   //
-   // update m_alt_insert_point so that the next alternate gets
-   // inserted at the start of the second of the two we've just created:
-   //
-   this->m_alt_insert_point = this->m_pdata->m_data.size();
-   //
-   // the start of this alternative must have a case changes state
-   // if the current block has messed around with case changes:
-   //
-   if(m_has_case_change)
-   {
-      static_cast<re_case*>(
-         this->append_state(syntax_element_toggle_case, sizeof(re_case))
-         )->icase = this->m_icase;
-   }
-   //
-   // push the alternative onto our stack, a recursive
-   // implementation here is easier to understand (and faster
-   // as it happens), but causes all kinds of stack overflow problems
-   // on programs with small stacks (COM+).
-   //
-   m_alt_jumps.push_back(jump_offset);
-   return true;
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_set()
-{
-   static const char* incomplete_message = "Character set declaration starting with [ terminated prematurely - either no ] was found or the set had no content.";
-   ++m_position;
-   if(m_position == m_end)
-   {
-      fail(regex_constants::error_brack, m_position - m_base, incomplete_message);
-      return false;
-   }
-   basic_char_set<charT, traits> char_set;
-
-   const charT* base = m_position;  // where the '[' was
-   const charT* item_base = m_position;  // where the '[' or '^' was
-
-   while(m_position != m_end)
-   {
-      switch(this->m_traits.syntax_type(*m_position))
-      {
-      case regex_constants::syntax_caret:
-         if(m_position == base)
-         {
-            char_set.negate();
-            ++m_position;
-            item_base = m_position;
-         }
-         else
-            parse_set_literal(char_set);
-         break;
-      case regex_constants::syntax_close_set:
-         if(m_position == item_base)
-         {
-            parse_set_literal(char_set);
-            break;
-         }
-         else
-         {
-            ++m_position;
-            if(0 == this->append_set(char_set))
-            {
-               fail(regex_constants::error_ctype, m_position - m_base);
-               return false;
-            }
-         }
-         return true;
-      case regex_constants::syntax_open_set:
-         if(parse_inner_set(char_set))
-            break;
-         return true;
-      case regex_constants::syntax_escape:
-         {
-            // 
-            // look ahead and see if this is a character class shortcut
-            // \d \w \s etc...
-            //
-            ++m_position;
-            if(this->m_traits.escape_syntax_type(*m_position)
-               == regex_constants::escape_type_class)
-            {
-               char_class_type m = this->m_traits.lookup_classname(m_position, m_position+1);
-               if(m != 0)
-               {
-                  char_set.add_class(m);
-                  ++m_position;
-                  break;
-               }
-            }
-            else if(this->m_traits.escape_syntax_type(*m_position)
-               == regex_constants::escape_type_not_class)
-            {
-               // negated character class:
-               char_class_type m = this->m_traits.lookup_classname(m_position, m_position+1);
-               if(m != 0)
-               {
-                  char_set.add_negated_class(m);
-                  ++m_position;
-                  break;
-               }
-            }
-            // not a character class, just a regular escape:
-            --m_position;
-            parse_set_literal(char_set);
-            break;
-         }
-      default:
-         parse_set_literal(char_set);
-         break;
-      }
-   }
-   return m_position != m_end;
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_inner_set(basic_char_set<charT, traits>& char_set)
-{
-   static const char* incomplete_message = "Character class declaration starting with [ terminated prematurely - either no ] was found or the set had no content.";
-   //
-   // we have either a character class [:name:]
-   // a collating element [.name.]
-   // or an equivalence class [=name=]
-   //
-   if(m_end == ++m_position)
-   {
-      fail(regex_constants::error_brack, m_position - m_base, incomplete_message);
-      return false;
-   }
-   switch(this->m_traits.syntax_type(*m_position))
-   {
-   case regex_constants::syntax_dot:
-      //
-      // a collating element is treated as a literal:
-      //
-      --m_position;
-      parse_set_literal(char_set);
-      return true;
-   case regex_constants::syntax_colon:
-      {
-      // check that character classes are actually enabled:
-      if((this->flags() & (regbase::main_option_type | regbase::no_char_classes)) 
-         == (regbase::basic_syntax_group  | regbase::no_char_classes))
-      {
-         --m_position;
-         parse_set_literal(char_set);
-         return true;
-      }
-      // skip the ':'
-      if(m_end == ++m_position)
-      {
-         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);
-         return false;
-      }
-      const charT* name_first = m_position;
-      // skip at least one character, then find the matching ':]'
-      if(m_end == ++m_position)
-      {
-         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);
-         return false;
-      }
-      while((m_position != m_end) 
-         && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_colon)) 
-         ++m_position;
-      const charT* name_last = m_position;
-      if(m_end == m_position)
-      {
-         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);
-         return false;
-      }
-      if((m_end == ++m_position) 
-         || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set))
-      {
-         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);
-         return false;
-      }
-      //
-      // check for negated class:
-      //
-      bool negated = false;
-      if(this->m_traits.syntax_type(*name_first) == regex_constants::syntax_caret)
-      {
-         ++name_first;
-         negated = true;
-      }
-      typedef typename traits::char_class_type mask_type;
-      mask_type m = this->m_traits.lookup_classname(name_first, name_last);
-      if(m == 0)
-      {
-         if(char_set.empty() && (name_last - name_first == 1))
-         {
-            // maybe a special case:
-            ++m_position;
-            if( (m_position != m_end) 
-               && (this->m_traits.syntax_type(*m_position) 
-                  == regex_constants::syntax_close_set))
-            {
-               if(this->m_traits.escape_syntax_type(*name_first) 
-                  == regex_constants::escape_type_left_word)
-               {
-                  ++m_position;
-                  this->append_state(syntax_element_word_start);
-                  return false;
-               }
-               if(this->m_traits.escape_syntax_type(*name_first) 
-                  == regex_constants::escape_type_right_word)
-               {
-                  ++m_position;
-                  this->append_state(syntax_element_word_end);
-                  return false;
-               }
-            }
-         }
-         fail(regex_constants::error_ctype, name_first - m_base);
-         return false;
-      }
-      if(negated == false)
-         char_set.add_class(m);
-      else
-         char_set.add_negated_class(m);
-      ++m_position;
-      break;
-   }
-   case regex_constants::syntax_equal:
-      {
-      // skip the '='
-      if(m_end == ++m_position)
-      {
-         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);
-         return false;
-      }
-      const charT* name_first = m_position;
-      // skip at least one character, then find the matching '=]'
-      if(m_end == ++m_position)
-      {
-         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);
-         return false;
-      }
-      while((m_position != m_end) 
-         && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_equal)) 
-         ++m_position;
-      const charT* name_last = m_position;
-      if(m_end == m_position)
-      {
-         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);
-         return false;
-      }
-      if((m_end == ++m_position) 
-         || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set))
-      {
-         fail(regex_constants::error_brack, m_position - m_base, incomplete_message);
-         return false;
-      }
-      string_type m = this->m_traits.lookup_collatename(name_first, name_last);
-      if((0 == m.size()) || (m.size() > 2))
-      {
-         fail(regex_constants::error_collate, name_first - m_base);
-         return false;
-      }
-      digraph<charT> d;
-      d.first = m[0];
-      if(m.size() > 1)
-         d.second = m[1];
-      else
-         d.second = 0;
-      char_set.add_equivalent(d);
-      ++m_position;
-      break;
-   }
-   default:
-      --m_position;
-      parse_set_literal(char_set);
-      break;
-   }
-   return true;
-}
-
-template <class charT, class traits>
-void basic_regex_parser<charT, traits>::parse_set_literal(basic_char_set<charT, traits>& char_set)
-{
-   digraph<charT> start_range(get_next_set_literal(char_set));
-   if(m_end == m_position)
-   {
-      fail(regex_constants::error_brack, m_position - m_base);
-      return;
-   }
-   if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_dash)
-   {
-      // we have a range:
-      if(m_end == ++m_position)
-      {
-         fail(regex_constants::error_brack, m_position - m_base);
-         return;
-      }
-      if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set)
-      {
-         digraph<charT> end_range = get_next_set_literal(char_set);
-         char_set.add_range(start_range, end_range);
-         if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_dash)
-         {
-            if(m_end == ++m_position)
-            {
-               fail(regex_constants::error_brack, m_position - m_base);
-               return;
-            }
-            if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_set)
-            {
-               // trailing - :
-               --m_position;
-               return;
-            }
-            fail(regex_constants::error_range, m_position - m_base);
-            return;
-         }
-         return;
-      }
-      --m_position;
-   }
-   char_set.add_single(start_range);
-}
-
-template <class charT, class traits>
-digraph<charT> basic_regex_parser<charT, traits>::get_next_set_literal(basic_char_set<charT, traits>& char_set)
-{
-   digraph<charT> result;
-   switch(this->m_traits.syntax_type(*m_position))
-   {
-   case regex_constants::syntax_dash:
-      if(!char_set.empty())
-      {
-         // see if we are at the end of the set:
-         if((++m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set))
-         {
-            fail(regex_constants::error_range, m_position - m_base);
-            return result;
-         }
-         --m_position;
-      }
-      result.first = *m_position++;
-      return result;
-   case regex_constants::syntax_escape:
-      // check to see if escapes are supported first:
-      if(this->flags() & regex_constants::no_escape_in_lists)
-      {
-         result = *m_position++;
-         break;
-      }
-      ++m_position;
-      result = unescape_character();
-      break;
-   case regex_constants::syntax_open_set:
-   {
-      if(m_end == ++m_position)
-      {
-         fail(regex_constants::error_collate, m_position - m_base);
-         return result;
-      }
-      if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_dot)
-      {
-         --m_position;
-         result.first = *m_position;
-         ++m_position;
-         return result;
-      }
-      if(m_end == ++m_position)
-      {
-         fail(regex_constants::error_collate, m_position - m_base);
-         return result;
-      }
-      const charT* name_first = m_position;
-      // skip at least one character, then find the matching ':]'
-      if(m_end == ++m_position)
-      {
-         fail(regex_constants::error_collate, name_first - m_base);
-         return result;
-      }
-      while((m_position != m_end) 
-         && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_dot)) 
-         ++m_position;
-      const charT* name_last = m_position;
-      if(m_end == m_position)
-      {
-         fail(regex_constants::error_collate, name_first - m_base);
-         return result;
-      }
-      if((m_end == ++m_position) 
-         || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set))
-      {
-         fail(regex_constants::error_collate, name_first - m_base);
-         return result;
-      }
-      ++m_position;
-      string_type s = this->m_traits.lookup_collatename(name_first, name_last);
-      if(s.empty() || (s.size() > 2))
-      {
-         fail(regex_constants::error_collate, name_first - m_base);
-         return result;
-      }
-      result.first = s[0];
-      if(s.size() > 1)
-         result.second = s[1];
-      else
-         result.second = 0;
-      return result;
-   }
-   default:
-      result = *m_position++;
-   }
-   return result;
-}
-
-//
-// does a value fit in the specified charT type?
-//
-template <class charT>
-bool valid_value(charT, int v, const mpl::true_&)
-{
-   return (v >> (sizeof(charT) * CHAR_BIT)) == 0;
-}
-template <class charT>
-bool valid_value(charT, int, const mpl::false_&)
-{
-   return true; // v will alsways fit in a charT
-}
-template <class charT>
-bool valid_value(charT c, int v)
-{
-   return valid_value(c, v, mpl::bool_<(sizeof(charT) < sizeof(int))>());
-}
-
-template <class charT, class traits>
-charT basic_regex_parser<charT, traits>::unescape_character()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-   charT result(0);
-   if(m_position == m_end)
-   {
-      fail(regex_constants::error_escape, m_position - m_base, "Escape sequence terminated prematurely.");
-      return false;
-   }
-   switch(this->m_traits.escape_syntax_type(*m_position))
-   {
-   case regex_constants::escape_type_control_a:
-      result = charT('\a');
-      break;
-   case regex_constants::escape_type_e:
-      result = charT(27);
-      break;
-   case regex_constants::escape_type_control_f:
-      result = charT('\f');
-      break;
-   case regex_constants::escape_type_control_n:
-      result = charT('\n');
-      break;
-   case regex_constants::escape_type_control_r:
-      result = charT('\r');
-      break;
-   case regex_constants::escape_type_control_t:
-      result = charT('\t');
-      break;
-   case regex_constants::escape_type_control_v:
-      result = charT('\v');
-      break;
-   case regex_constants::escape_type_word_assert:
-      result = charT('\b');
-      break;
-   case regex_constants::escape_type_ascii_control:
-      ++m_position;
-      if(m_position == m_end)
-      {
-         // Rewind to start of escape:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-         fail(regex_constants::error_escape, m_position - m_base, "ASCII escape sequence terminated prematurely.");
-         return result;
-      }
-      result = static_cast<charT>(*m_position % 32);
-      break;
-   case regex_constants::escape_type_hex:
-      ++m_position;
-      if(m_position == m_end)
-      {
-         // Rewind to start of escape:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-         fail(regex_constants::error_escape, m_position - m_base, "Hexadecimal escape sequence terminated prematurely.");
-         return result;
-      }
-      // maybe have \x{ddd}
-      if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_open_brace)
-      {
-         ++m_position;
-         if(m_position == m_end)
-         {
-            // Rewind to start of escape:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-            fail(regex_constants::error_escape, m_position - m_base, "Missing } in hexadecimal escape sequence.");
-            return result;
-         }
-         int i = this->m_traits.toi(m_position, m_end, 16);
-         if((m_position == m_end)
-            || (i < 0)
-            || ((std::numeric_limits<charT>::is_specialized) && (i > (int)(std::numeric_limits<charT>::max)()))
-            || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_brace))
-         {
-            // Rewind to start of escape:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-            fail(regex_constants::error_badbrace, m_position - m_base, "Hexadecimal escape sequence was invalid.");
-            return result;
-         }
-         ++m_position;
-         result = charT(i);
-      }
-      else
-      {
-         std::ptrdiff_t len = (std::min)(static_cast<std::ptrdiff_t>(2), static_cast<std::ptrdiff_t>(m_end - m_position));
-         int i = this->m_traits.toi(m_position, m_position + len, 16);
-         if((i < 0)
-            || !valid_value(charT(0), i))
-         {
-            // Rewind to start of escape:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-            fail(regex_constants::error_escape, m_position - m_base, "Escape sequence did not encode a valid character.");
-            return result;
-         }
-         result = charT(i);
-      }
-      return result;
-   case regex_constants::syntax_digit:
-      {
-      // an octal escape sequence, the first character must be a zero
-      // followed by up to 3 octal digits:
-      std::ptrdiff_t len = (std::min)(::boost::re_detail::distance(m_position, m_end), static_cast<std::ptrdiff_t>(4));
-      const charT* bp = m_position;
-      int val = this->m_traits.toi(bp, bp + 1, 8);
-      if(val != 0)
-      {
-         // Rewind to start of escape:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-         // Oops not an octal escape after all:
-         fail(regex_constants::error_escape, m_position - m_base, "Invalid octal escape sequence.");
-         return result;
-      }
-      val = this->m_traits.toi(m_position, m_position + len, 8);
-      if(val < 0) 
-      {
-         // Rewind to start of escape:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-         fail(regex_constants::error_escape, m_position - m_base, "Octal escape sequence is invalid.");
-         return result;
-      }
-      return static_cast<charT>(val);
-      }
-   case regex_constants::escape_type_named_char:
-      {
-         ++m_position;
-         if(m_position == m_end)
-         {
-            // Rewind to start of escape:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-            fail(regex_constants::error_escape, m_position - m_base);
-            return false;
-         }
-         // maybe have \N{name}
-         if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_open_brace)
-         {
-            const charT* base = m_position;
-            // skip forward until we find enclosing brace:
-            while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_brace))
-               ++m_position;
-            if(m_position == m_end)
-            {
-               // Rewind to start of escape:
-               --m_position;
-               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-               fail(regex_constants::error_escape, m_position - m_base);
-               return false;
-            }
-            string_type s = this->m_traits.lookup_collatename(++base, m_position++);
-            if(s.empty())
-            {
-               // Rewind to start of escape:
-               --m_position;
-               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-               fail(regex_constants::error_collate, m_position - m_base);
-               return false;
-            }
-            if(s.size() == 1)
-            {
-               return s[0];
-            }
-         }
-         // fall through is a failure:
-         // Rewind to start of escape:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-         fail(regex_constants::error_escape, m_position - m_base);
-         return false;
-      }
-   default:
-      result = *m_position;
-      break;
-   }
-   ++m_position;
-   return result;
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_backref()
-{
-   BOOST_ASSERT(m_position != m_end);
-   const charT* pc = m_position;
-   int i = this->m_traits.toi(pc, pc + 1, 10);
-   if((i == 0) || (((this->flags() & regbase::main_option_type) == regbase::perl_syntax_group) && (this->flags() & regbase::no_bk_refs)))
-   {
-      // not a backref at all but an octal escape sequence:
-      charT c = unescape_character();
-      this->append_literal(c);
-   }
-   else if((i > 0) && (this->m_backrefs & (1u << (i-1))))
-   {
-      m_position = pc;
-      re_brace* pb = static_cast<re_brace*>(this->append_state(syntax_element_backref, sizeof(re_brace)));
-      pb->index = i;
-      pb->icase = this->flags() & regbase::icase;
-   }
-   else
-   {
-      // Rewind to start of escape:
-      --m_position;
-      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-      fail(regex_constants::error_backref, m_position - m_base);
-      return false;
-   }
-   return true;
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_QE()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-   //
-   // parse a \Q...\E sequence:
-   //
-   ++m_position; // skip the Q
-   const charT* start = m_position;
-   const charT* end;
-   do
-   {
-      while((m_position != m_end) 
-         && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape))
-         ++m_position;
-      if(m_position == m_end)
-      {
-         //  a \Q...\E sequence may terminate with the end of the expression:
-         end = m_position;
-         break;  
-      }
-      if(++m_position == m_end) // skip the escape
-      {
-         fail(regex_constants::error_escape, m_position - m_base, "Unterminated \\Q...\\E sequence.");
-         return false;
-      }
-      // check to see if it's a \E:
-      if(this->m_traits.escape_syntax_type(*m_position) == regex_constants::escape_type_E)
-      {
-         ++m_position;
-         end = m_position - 2;
-         break;
-      }
-      // otherwise go round again:
-   }while(true);
-   //
-   // now add all the character between the two escapes as literals:
-   //
-   while(start != end)
-   {
-      this->append_literal(*start);
-      ++start;
-   }
-   return true;
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::parse_perl_extension()
-{
-   if(++m_position == m_end)
-   {
-      // Rewind to start of (? sequence:
-      --m_position;
-      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-      fail(regex_constants::error_perl_extension, m_position - m_base);
-      return false;
-   }
-   //
-   // treat comments as a special case, as these
-   // are the only ones that don't start with a leading
-   // startmark state:
-   //
-   if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_hash)
-   {
-      while((m_position != m_end) 
-         && (this->m_traits.syntax_type(*m_position++) != regex_constants::syntax_close_mark))
-      {}      
-      return true;
-   }
-   //
-   // backup some state, and prepare the way:
-   //
-   int markid = 0;
-   std::ptrdiff_t jump_offset = 0;
-   re_brace* pb = static_cast<re_brace*>(this->append_state(syntax_element_startmark, sizeof(re_brace)));
-   pb->icase = this->flags() & regbase::icase;
-   std::ptrdiff_t last_paren_start = this->getoffset(pb);
-   // back up insertion point for alternations, and set new point:
-   std::ptrdiff_t last_alt_point = m_alt_insert_point;
-   this->m_pdata->m_data.align();
-   m_alt_insert_point = this->m_pdata->m_data.size();
-   std::ptrdiff_t expected_alt_point = m_alt_insert_point;
-   bool restore_flags = true;
-   regex_constants::syntax_option_type old_flags = this->flags();
-   bool old_case_change = m_has_case_change;
-   m_has_case_change = false;
-   charT name_delim;
-   int mark_reset = m_mark_reset;
-   int max_mark = m_max_mark;
-   m_mark_reset = -1;
-   m_max_mark = m_mark_count;
-   int v;
-   //
-   // select the actual extension used:
-   //
-   switch(this->m_traits.syntax_type(*m_position))
-   {
-   case regex_constants::syntax_or:
-      m_mark_reset = m_mark_count;
-      // fall through:
-   case regex_constants::syntax_colon:
-      //
-      // a non-capturing mark:
-      //
-      pb->index = markid = 0;
-      ++m_position;
-      break;
-   case regex_constants::syntax_digit:
-      {
-      //
-      // a recursive subexpression:
-      //
-      v = this->m_traits.toi(m_position, m_end, 10);
-      if((v < 0) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))
-      {
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_perl_extension, m_position - m_base, "The recursive sub-expression refers to an invalid marking group, or is unterminated.");
-         return false;
-      }
-insert_recursion:
-      pb->index = markid = 0;
-      re_recurse* pr = static_cast<re_recurse*>(this->append_state(syntax_element_recurse, sizeof(re_recurse)));
-      pr->alt.i = v;
-      pr->state_id = 0;
-      static_cast<re_case*>(
-            this->append_state(syntax_element_toggle_case, sizeof(re_case))
-            )->icase = this->flags() & regbase::icase;
-      break;
-      }
-   case regex_constants::syntax_plus:
-      //
-      // A forward-relative recursive subexpression:
-      //
-      ++m_position;
-      v = this->m_traits.toi(m_position, m_end, 10);
-      if((v <= 0) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))
-      {
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_perl_extension, m_position - m_base, "An invalid or unterminated recursive sub-expression.");
-         return false;
-      }
-      v += m_mark_count;
-      goto insert_recursion;
-   case regex_constants::syntax_dash:
-      //
-      // Possibly a backward-relative recursive subexpression:
-      //
-      ++m_position;
-      v = this->m_traits.toi(m_position, m_end, 10);
-      if(v <= 0)
-      {
-         --m_position;
-         // Oops not a relative recursion at all, but a (?-imsx) group:
-         goto option_group_jump;
-      }
-      v = m_mark_count + 1 - v;
-      if(v <= 0)
-      {
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_perl_extension, m_position - m_base, "An invalid or unterminated recursive sub-expression.");
-         return false;
-      }
-      goto insert_recursion;
-   case regex_constants::syntax_equal:
-      pb->index = markid = -1;
-      ++m_position;
-      jump_offset = this->getoffset(this->append_state(syntax_element_jump, sizeof(re_jump)));
-      this->m_pdata->m_data.align();
-      m_alt_insert_point = this->m_pdata->m_data.size();
-      break;
-   case regex_constants::syntax_not:
-      pb->index = markid = -2;
-      ++m_position;
-      jump_offset = this->getoffset(this->append_state(syntax_element_jump, sizeof(re_jump)));
-      this->m_pdata->m_data.align();
-      m_alt_insert_point = this->m_pdata->m_data.size();
-      break;
-   case regex_constants::escape_type_left_word:
-      {
-         // a lookbehind assertion:
-         if(++m_position == m_end)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         regex_constants::syntax_type t = this->m_traits.syntax_type(*m_position);
-         if(t == regex_constants::syntax_not)
-            pb->index = markid = -2;
-         else if(t == regex_constants::syntax_equal)
-            pb->index = markid = -1;
-         else
-         {
-            // Probably a named capture which also starts (?< :
-            name_delim = '>';
-            --m_position;
-            goto named_capture_jump;
-         }
-         ++m_position;
-         jump_offset = this->getoffset(this->append_state(syntax_element_jump, sizeof(re_jump)));
-         this->append_state(syntax_element_backstep, sizeof(re_brace));
-         this->m_pdata->m_data.align();
-         m_alt_insert_point = this->m_pdata->m_data.size();
-         break;
-      }
-   case regex_constants::escape_type_right_word:
-      //
-      // an independent sub-expression:
-      //
-      pb->index = markid = -3;
-      ++m_position;
-      jump_offset = this->getoffset(this->append_state(syntax_element_jump, sizeof(re_jump)));
-      this->m_pdata->m_data.align();
-      m_alt_insert_point = this->m_pdata->m_data.size();
-      break;
-   case regex_constants::syntax_open_mark:
-      {
-      // a conditional expression:
-      pb->index = markid = -4;
-      if(++m_position == m_end)
-      {
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_perl_extension, m_position - m_base);
-         return false;
-      }
-      v = this->m_traits.toi(m_position, m_end, 10);
-      if(*m_position == charT('R'))
-      {
-         if(++m_position == m_end)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         if(*m_position == charT('&'))
-         {
-            const charT* base = ++m_position;
-            while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))
-               ++m_position;
-            if(m_position == m_end)
-            {
-               // Rewind to start of (? sequence:
-               --m_position;
-               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-               fail(regex_constants::error_perl_extension, m_position - m_base);
-               return false;
-            }
-            v = -static_cast<int>(hash_value_from_capture_name(base, m_position));
-         }
-         else
-         {
-            v = -this->m_traits.toi(m_position, m_end, 10);
-         }
-         re_brace* br = static_cast<re_brace*>(this->append_state(syntax_element_assert_backref, sizeof(re_brace)));
-         br->index = v < 0 ? (v - 1) : 0;
-         if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         if(++m_position == m_end)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-      }
-      else if((*m_position == charT('\'')) || (*m_position == charT('<')))
-      {
-         const charT* base = ++m_position;
-         while((m_position != m_end) && (*m_position != charT('>')) && (*m_position != charT('\'')))
-            ++m_position;
-         if(m_position == m_end)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         v = static_cast<int>(hash_value_from_capture_name(base, m_position));
-         re_brace* br = static_cast<re_brace*>(this->append_state(syntax_element_assert_backref, sizeof(re_brace)));
-         br->index = v;
-         if(((*m_position != charT('>')) && (*m_position != charT('\''))) || (++m_position == m_end))
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base, "Unterminated named capture.");
-            return false;
-         }
-         if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         if(++m_position == m_end)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-      }
-      else if(*m_position == charT('D'))
-      {
-         const char* def = "DEFINE";
-         while(*def && (m_position != m_end) && (*m_position == charT(*def)))
-            ++m_position, ++def;
-         if((m_position == m_end) || *def)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         re_brace* br = static_cast<re_brace*>(this->append_state(syntax_element_assert_backref, sizeof(re_brace)));
-         br->index = 9999; // special magic value!
-         if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         if(++m_position == m_end)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-      }
-      else if(v > 0)
-      {
-         re_brace* br = static_cast<re_brace*>(this->append_state(syntax_element_assert_backref, sizeof(re_brace)));
-         br->index = v;
-         if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         if(++m_position == m_end)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-      }
-      else
-      {
-         // verify that we have a lookahead or lookbehind assert:
-         if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_question)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         if(++m_position == m_end)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         if(this->m_traits.syntax_type(*m_position) == regex_constants::escape_type_left_word)
-         {
-            if(++m_position == m_end)
-            {
-               // Rewind to start of (? sequence:
-               --m_position;
-               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-               fail(regex_constants::error_perl_extension, m_position - m_base);
-               return false;
-            }
-            if((this->m_traits.syntax_type(*m_position) != regex_constants::syntax_equal)
-               && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_not))
-            {
-               // Rewind to start of (? sequence:
-               --m_position;
-               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-               fail(regex_constants::error_perl_extension, m_position - m_base);
-               return false;
-            }
-            m_position -= 3;
-         }
-         else
-         {
-            if((this->m_traits.syntax_type(*m_position) != regex_constants::syntax_equal)
-               && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_not))
-            {
-               // Rewind to start of (? sequence:
-               --m_position;
-               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-               fail(regex_constants::error_perl_extension, m_position - m_base);
-               return false;
-            }
-            m_position -= 2;
-         }
-      }
-      break;
-      }
-   case regex_constants::syntax_close_mark:
-      // Rewind to start of (? sequence:
-      --m_position;
-      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-      fail(regex_constants::error_perl_extension, m_position - m_base);
-      return false;
-   case regex_constants::escape_type_end_buffer:
-      {
-      name_delim = *m_position;
-named_capture_jump:
-      markid = 0;
-      if(0 == (this->flags() & regbase::nosubs))
-      {
-         markid = ++m_mark_count;
-   #ifndef BOOST_NO_STD_DISTANCE
-         if(this->flags() & regbase::save_subexpression_location)
-            this->m_pdata->m_subs.push_back(std::pair<std::size_t, std::size_t>(std::distance(m_base, m_position) - 2, 0));
-   #else
-         if(this->flags() & regbase::save_subexpression_location)
-            this->m_pdata->m_subs.push_back(std::pair<std::size_t, std::size_t>((m_position - m_base) - 2, 0));
-   #endif
-      }
-      pb->index = markid;
-      const charT* base = ++m_position;
-      if(m_position == m_end)
-      {
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_perl_extension, m_position - m_base);
-         return false;
-      }
-      while((m_position != m_end) && (*m_position != name_delim))
-         ++m_position;
-      if(m_position == m_end)
-      {
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_perl_extension, m_position - m_base);
-         return false;
-      }
-      this->m_pdata->set_name(base, m_position, markid);
-      ++m_position;
-      break;
-      }
-   default:
-      if(*m_position == charT('R'))
-      {
-         ++m_position;
-         v = 0;
-         if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         goto insert_recursion;
-      }
-      if(*m_position == charT('&'))
-      {
-         ++m_position;
-         const charT* base = m_position;
-         while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))
-            ++m_position;
-         if(m_position == m_end)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         v = static_cast<int>(hash_value_from_capture_name(base, m_position));
-         goto insert_recursion;
-      }
-      if(*m_position == charT('P'))
-      {
-         ++m_position;
-         if(m_position == m_end)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_perl_extension, m_position - m_base);
-            return false;
-         }
-         if(*m_position == charT('>'))
-         {
-            ++m_position;
-            const charT* base = m_position;
-            while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark))
-               ++m_position;
-            if(m_position == m_end)
-            {
-               // Rewind to start of (? sequence:
-               --m_position;
-               while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-               fail(regex_constants::error_perl_extension, m_position - m_base);
-               return false;
-            }
-            v = static_cast<int>(hash_value_from_capture_name(base, m_position));
-            goto insert_recursion;
-         }
-      }
-      //
-      // lets assume that we have a (?imsx) group and try and parse it:
-      //
-option_group_jump:
-      regex_constants::syntax_option_type opts = parse_options();
-      if(m_position == m_end)
-      {
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_perl_extension, m_position - m_base);
-         return false;
-      }
-      // make a note of whether we have a case change:
-      m_has_case_change = ((opts & regbase::icase) != (this->flags() & regbase::icase));
-      pb->index = markid = 0;
-      if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_mark)
-      {
-         // update flags and carry on as normal:
-         this->flags(opts);
-         restore_flags = false;
-         old_case_change |= m_has_case_change; // defer end of scope by one ')'
-      }
-      else if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_colon)
-      {
-         // update flags and carry on until the matching ')' is found:
-         this->flags(opts);
-         ++m_position;
-      }
-      else
-      {
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_perl_extension, m_position - m_base);
-         return false;
-      }
-
-      // finally append a case change state if we need it:
-      if(m_has_case_change)
-      {
-         static_cast<re_case*>(
-            this->append_state(syntax_element_toggle_case, sizeof(re_case))
-            )->icase = opts & regbase::icase;
-      }
-
-   }
-   //
-   // now recursively add more states, this will terminate when we get to a
-   // matching ')' :
-   //
-   parse_all();
-   //
-   // Unwind alternatives:
-   //
-   if(0 == unwind_alts(last_paren_start))
-   {
-      // Rewind to start of (? sequence:
-      --m_position;
-      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-      fail(regex_constants::error_perl_extension, m_position - m_base, "Invalid alternation operators within (?...) block.");
-      return false;
-   }
-   //
-   // we either have a ')' or we have run out of characters prematurely:
-   //
-   if(m_position == m_end)
-   {
-      // Rewind to start of (? sequence:
-      --m_position;
-      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-      this->fail(regex_constants::error_paren, ::boost::re_detail::distance(m_base, m_end));
-      return false;
-   }
-   BOOST_ASSERT(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_mark);
-   ++m_position;
-   //
-   // restore the flags:
-   //
-   if(restore_flags)
-   {
-      // append a case change state if we need it:
-      if(m_has_case_change)
-      {
-         static_cast<re_case*>(
-            this->append_state(syntax_element_toggle_case, sizeof(re_case))
-            )->icase = old_flags & regbase::icase;
-      }
-      this->flags(old_flags);
-   }
-   //
-   // set up the jump pointer if we have one:
-   //
-   if(jump_offset)
-   {
-      this->m_pdata->m_data.align();
-      re_jump* jmp = static_cast<re_jump*>(this->getaddress(jump_offset));
-      jmp->alt.i = this->m_pdata->m_data.size() - this->getoffset(jmp);
-      if(this->m_last_state == jmp)
-      {
-         // Oops... we didn't have anything inside the assertion:
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_perl_extension, m_position - m_base, "Invalid or empty zero width assertion.");
-         return false;
-      }
-   }
-   //
-   // verify that if this is conditional expression, that we do have
-   // an alternative, if not add one:
-   //
-   if(markid == -4)
-   {
-      re_syntax_base* b = this->getaddress(expected_alt_point);
-      // Make sure we have exactly one alternative following this state:
-      if(b->type != syntax_element_alt)
-      {
-         re_alt* alt = static_cast<re_alt*>(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt)));
-         alt->alt.i = this->m_pdata->m_data.size() - this->getoffset(alt);
-      }
-      else if(this->getaddress(static_cast<re_alt*>(b)->alt.i, b)->type == syntax_element_alt)
-      {
-         // Can't have seen more than one alternative:
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_bad_pattern, m_position - m_base, "More than one alternation operator | was encountered inside a conditional expression.");
-         return false;
-      }
-      else
-      {
-         // We must *not* have seen an alternative inside a (DEFINE) block:
-         b = this->getaddress(b->next.i, b);
-         if((b->type == syntax_element_assert_backref) && (static_cast<re_brace*>(b)->index == 9999))
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_bad_pattern, m_position - m_base, "Alternation operators are not allowed inside a DEFINE block.");
-            return false;
-         }
-      }
-      // check for invalid repetition of next state:
-      b = this->getaddress(expected_alt_point);
-      b = this->getaddress(static_cast<re_alt*>(b)->next.i, b);
-      if((b->type != syntax_element_assert_backref)
-         && (b->type != syntax_element_startmark))
-      {
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_badrepeat, m_position - m_base, "A repetition operator cannot be applied to a zero-width assertion.");
-         return false;
-      }
-   }
-   //
-   // append closing parenthesis state:
-   //
-   pb = static_cast<re_brace*>(this->append_state(syntax_element_endmark, sizeof(re_brace)));
-   pb->index = markid;
-   pb->icase = this->flags() & regbase::icase;
-   this->m_paren_start = last_paren_start;
-   //
-   // restore the alternate insertion point:
-   //
-   this->m_alt_insert_point = last_alt_point;
-   //
-   // and the case change data:
-   //
-   m_has_case_change = old_case_change;
-   //
-   // And the mark_reset data:
-   //
-   if(m_max_mark > m_mark_count)
-   {
-      m_mark_count = m_max_mark;
-   }
-   m_mark_reset = mark_reset;
-   m_max_mark = max_mark;
-
-
-   if(markid > 0)
-   {
-#ifndef BOOST_NO_STD_DISTANCE
-      if(this->flags() & regbase::save_subexpression_location)
-         this->m_pdata->m_subs.at(markid - 1).second = std::distance(m_base, m_position) - 1;
-#else
-      if(this->flags() & regbase::save_subexpression_location)
-         this->m_pdata->m_subs.at(markid - 1).second = (m_position - m_base) - 1;
-#endif
-      //
-      // allow backrefs to this mark:
-      //
-      if((markid > 0) && (markid < (int)(sizeof(unsigned) * CHAR_BIT)))
-         this->m_backrefs |= 1u << (markid - 1);
-   }
-   return true;
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::add_emacs_code(bool negate)
-{
-   //
-   // parses an emacs style \sx or \Sx construct.
-   //
-   if(++m_position == m_end)
-   {
-      // Rewind to start of sequence:
-      --m_position;
-      while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position;
-      fail(regex_constants::error_escape, m_position - m_base);
-      return false;
-   }
-   basic_char_set<charT, traits> char_set;
-   if(negate)
-      char_set.negate();
-
-   static const charT s_punct[5] = { 'p', 'u', 'n', 'c', 't', };
-
-   switch(*m_position)
-   {
-   case 's':
-   case ' ':
-      char_set.add_class(this->m_mask_space);
-      break;
-   case 'w':
-      char_set.add_class(this->m_word_mask);
-      break;
-   case '_':
-      char_set.add_single(digraph<charT>(charT('$'))); 
-      char_set.add_single(digraph<charT>(charT('&'))); 
-      char_set.add_single(digraph<charT>(charT('*'))); 
-      char_set.add_single(digraph<charT>(charT('+'))); 
-      char_set.add_single(digraph<charT>(charT('-'))); 
-      char_set.add_single(digraph<charT>(charT('_'))); 
-      char_set.add_single(digraph<charT>(charT('<'))); 
-      char_set.add_single(digraph<charT>(charT('>'))); 
-      break;
-   case '.':
-      char_set.add_class(this->m_traits.lookup_classname(s_punct, s_punct+5));
-      break;
-   case '(':
-      char_set.add_single(digraph<charT>(charT('('))); 
-      char_set.add_single(digraph<charT>(charT('['))); 
-      char_set.add_single(digraph<charT>(charT('{'))); 
-      break;
-   case ')':
-      char_set.add_single(digraph<charT>(charT(')'))); 
-      char_set.add_single(digraph<charT>(charT(']'))); 
-      char_set.add_single(digraph<charT>(charT('}'))); 
-      break;
-   case '"':
-      char_set.add_single(digraph<charT>(charT('"'))); 
-      char_set.add_single(digraph<charT>(charT('\''))); 
-      char_set.add_single(digraph<charT>(charT('`'))); 
-      break;
-   case '\'':
-      char_set.add_single(digraph<charT>(charT('\''))); 
-      char_set.add_single(digraph<charT>(charT(','))); 
-      char_set.add_single(digraph<charT>(charT('#'))); 
-      break;
-   case '<':
-      char_set.add_single(digraph<charT>(charT(';'))); 
-      break;
-   case '>':
-      char_set.add_single(digraph<charT>(charT('\n'))); 
-      char_set.add_single(digraph<charT>(charT('\f'))); 
-      break;
-   default:
-      fail(regex_constants::error_ctype, m_position - m_base);
-      return false;
-   }
-   if(0 == this->append_set(char_set))
-   {
-      fail(regex_constants::error_ctype, m_position - m_base);
-      return false;
-   }
-   ++m_position;
-   return true;
-}
-
-template <class charT, class traits>
-regex_constants::syntax_option_type basic_regex_parser<charT, traits>::parse_options()
-{
-   // we have a (?imsx-imsx) group, convert it into a set of flags:
-   regex_constants::syntax_option_type f = this->flags();
-   bool breakout = false;
-   do
-   {
-      switch(*m_position)
-      {
-      case 's':
-         f |= regex_constants::mod_s;
-         f &= ~regex_constants::no_mod_s;
-         break;
-      case 'm':
-         f &= ~regex_constants::no_mod_m;
-         break;
-      case 'i':
-         f |= regex_constants::icase;
-         break;
-      case 'x':
-         f |= regex_constants::mod_x;
-         break;
-      default:
-         breakout = true;
-         continue;
-      }
-      if(++m_position == m_end)
-      {
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_paren, m_position - m_base);
-         return false;
-      }
-   }
-   while(!breakout);
-   
-   breakout = false;
-
-   if(*m_position == static_cast<charT>('-'))
-   {
-      if(++m_position == m_end)
-      {
-         // Rewind to start of (? sequence:
-         --m_position;
-         while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-         fail(regex_constants::error_paren, m_position - m_base);
-         return false;
-      }
-      do
-      {
-         switch(*m_position)
-         {
-         case 's':
-            f &= ~regex_constants::mod_s;
-            f |= regex_constants::no_mod_s;
-            break;
-         case 'm':
-            f |= regex_constants::no_mod_m;
-            break;
-         case 'i':
-            f &= ~regex_constants::icase;
-            break;
-         case 'x':
-            f &= ~regex_constants::mod_x;
-            break;
-         default:
-            breakout = true;
-            continue;
-         }
-         if(++m_position == m_end)
-         {
-            // Rewind to start of (? sequence:
-            --m_position;
-            while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position;
-            fail(regex_constants::error_paren, m_position - m_base);
-            return false;
-         }
-      }
-      while(!breakout);
-   }
-   return f;
-}
-
-template <class charT, class traits>
-bool basic_regex_parser<charT, traits>::unwind_alts(std::ptrdiff_t last_paren_start)
-{
-   //
-   // If we didn't actually add any states after the last 
-   // alternative then that's an error:
-   //
-   if((this->m_alt_insert_point == static_cast<std::ptrdiff_t>(this->m_pdata->m_data.size()))
-      && m_alt_jumps.size() && (m_alt_jumps.back() > last_paren_start)
-      &&
-      !(
-         ((this->flags() & regbase::main_option_type) == regbase::perl_syntax_group)
-           &&
-         ((this->flags() & regbase::no_empty_expressions) == 0)
-        )
-      )
-   {
-      fail(regex_constants::error_empty, this->m_position - this->m_base, "Can't terminate a sub-expression with an alternation operator |.");
-      return false;
-   }
-   // 
-   // Fix up our alternatives:
-   //
-   while(m_alt_jumps.size() && (m_alt_jumps.back() > last_paren_start))
-   {
-      //
-      // fix up the jump to point to the end of the states
-      // that we've just added:
-      //
-      std::ptrdiff_t jump_offset = m_alt_jumps.back();
-      m_alt_jumps.pop_back();
-      this->m_pdata->m_data.align();
-      re_jump* jmp = static_cast<re_jump*>(this->getaddress(jump_offset));
-      BOOST_ASSERT(jmp->type == syntax_element_jump);
-      jmp->alt.i = this->m_pdata->m_data.size() - jump_offset;
-   }
-   return true;
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace re_detail
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/regex/v4/c_regex_traits.hpp b/SRC/Boost/boost/regex/v4/c_regex_traits.hpp
deleted file mode 100755
index 7100ea2..0000000
--- a/SRC/Boost/boost/regex/v4/c_regex_traits.hpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         c_regex_traits.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares regular expression traits class that wraps the global C locale.
-  */
-
-#ifndef BOOST_C_REGEX_TRAITS_HPP_INCLUDED
-#define BOOST_C_REGEX_TRAITS_HPP_INCLUDED
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#include <boost/regex/config.hpp>
-#endif
-#ifndef BOOST_REGEX_WORKAROUND_HPP
-#include <boost/regex/v4/regex_workaround.hpp>
-#endif
-
-#include <cctype>
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{
-   using ::strlen; using ::tolower;
-}
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-namespace boost{
-
-template <class charT>
-struct c_regex_traits;
-
-template<>
-struct BOOST_REGEX_DECL c_regex_traits<char>
-{
-   c_regex_traits(){}
-   typedef char char_type;
-   typedef std::size_t size_type;
-   typedef std::string string_type;
-   struct locale_type{};
-   typedef boost::uint32_t char_class_type;
-
-   static size_type length(const char_type* p) 
-   { 
-      return (std::strlen)(p); 
-   }
-
-   char translate(char c) const 
-   { 
-      return c; 
-   }
-   char translate_nocase(char c) const 
-   { 
-      return static_cast<char>((std::tolower)(static_cast<unsigned char>(c))); 
-   }
-
-   static string_type BOOST_REGEX_CALL transform(const char* p1, const char* p2);
-   static string_type BOOST_REGEX_CALL transform_primary(const char* p1, const char* p2);
-
-   static char_class_type BOOST_REGEX_CALL lookup_classname(const char* p1, const char* p2);
-   static string_type BOOST_REGEX_CALL lookup_collatename(const char* p1, const char* p2);
-
-   static bool BOOST_REGEX_CALL isctype(char, char_class_type);
-   static int BOOST_REGEX_CALL value(char, int);
-
-   locale_type imbue(locale_type l)
-   { return l; }
-   locale_type getloc()const
-   { return locale_type(); }
-
-private:
-   // this type is not copyable:
-   c_regex_traits(const c_regex_traits&);
-   c_regex_traits& operator=(const c_regex_traits&);
-};
-
-#ifndef BOOST_NO_WREGEX
-template<>
-struct BOOST_REGEX_DECL c_regex_traits<wchar_t>
-{
-   c_regex_traits(){}
-   typedef wchar_t char_type;
-   typedef std::size_t size_type;
-   typedef std::wstring string_type;
-   struct locale_type{};
-   typedef boost::uint32_t char_class_type;
-
-   static size_type length(const char_type* p) 
-   { 
-      return (std::wcslen)(p); 
-   }
-
-   wchar_t translate(wchar_t c) const 
-   { 
-      return c; 
-   }
-   wchar_t translate_nocase(wchar_t c) const 
-   { 
-      return (std::towlower)(c); 
-   }
-
-   static string_type BOOST_REGEX_CALL transform(const wchar_t* p1, const wchar_t* p2);
-   static string_type BOOST_REGEX_CALL transform_primary(const wchar_t* p1, const wchar_t* p2);
-
-   static char_class_type BOOST_REGEX_CALL lookup_classname(const wchar_t* p1, const wchar_t* p2);
-   static string_type BOOST_REGEX_CALL lookup_collatename(const wchar_t* p1, const wchar_t* p2);
-
-   static bool BOOST_REGEX_CALL isctype(wchar_t, char_class_type);
-   static int BOOST_REGEX_CALL value(wchar_t, int);
-
-   locale_type imbue(locale_type l)
-   { return l; }
-   locale_type getloc()const
-   { return locale_type(); }
-
-private:
-   // this type is not copyable:
-   c_regex_traits(const c_regex_traits&);
-   c_regex_traits& operator=(const c_regex_traits&);
-};
-
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-//
-// Provide an unsigned short version as well, so the user can link to this
-// no matter whether they build with /Zc:wchar_t or not (MSVC specific).
-//
-template<>
-struct BOOST_REGEX_DECL c_regex_traits<unsigned short>
-{
-   c_regex_traits(){}
-   typedef unsigned short char_type;
-   typedef std::size_t size_type;
-   typedef std::basic_string<unsigned short> string_type;
-   struct locale_type{};
-   typedef boost::uint32_t char_class_type;
-
-   static size_type length(const char_type* p) 
-   { 
-      return (std::wcslen)((const wchar_t*)p); 
-   }
-
-   unsigned short translate(unsigned short c) const 
-   { 
-      return c; 
-   }
-   unsigned short translate_nocase(unsigned short c) const 
-   { 
-      return (std::towlower)((wchar_t)c); 
-   }
-
-   static string_type BOOST_REGEX_CALL transform(const unsigned short* p1, const unsigned short* p2);
-   static string_type BOOST_REGEX_CALL transform_primary(const unsigned short* p1, const unsigned short* p2);
-
-   static char_class_type BOOST_REGEX_CALL lookup_classname(const unsigned short* p1, const unsigned short* p2);
-   static string_type BOOST_REGEX_CALL lookup_collatename(const unsigned short* p1, const unsigned short* p2);
-
-   static bool BOOST_REGEX_CALL isctype(unsigned short, char_class_type);
-   static int BOOST_REGEX_CALL value(unsigned short, int);
-
-   locale_type imbue(locale_type l)
-   { return l; }
-   locale_type getloc()const
-   { return locale_type(); }
-
-private:
-   // this type is not copyable:
-   c_regex_traits(const c_regex_traits&);
-   c_regex_traits& operator=(const c_regex_traits&);
-};
-
-#endif
-
-#endif // BOOST_NO_WREGEX
-
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
-
-
diff --git a/SRC/Boost/boost/regex/v4/char_regex_traits.hpp b/SRC/Boost/boost/regex/v4/char_regex_traits.hpp
deleted file mode 100755
index 3c1936e..0000000
--- a/SRC/Boost/boost/regex/v4/char_regex_traits.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- *
- * Copyright (c) 2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the
- * Boost Software License, Version 1.0. (See accompanying file
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         char_regex_traits.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares deprecated traits classes char_regex_traits<>.
-  */
-
-
-#ifndef BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP
-#define BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-namespace boost{
-
-namespace deprecated{
-//
-// class char_regex_traits_i
-// provides case insensitive traits classes (deprecated):
-template <class charT>
-class char_regex_traits_i : public regex_traits<charT> {};
-
-template<>
-class char_regex_traits_i<char> : public regex_traits<char>
-{
-public:
-   typedef char char_type;
-   typedef unsigned char uchar_type;
-   typedef unsigned int size_type;
-   typedef regex_traits<char> base_type;
-
-};
-
-#ifndef BOOST_NO_WREGEX
-template<>
-class char_regex_traits_i<wchar_t> : public regex_traits<wchar_t>
-{
-public:
-   typedef wchar_t char_type;
-   typedef unsigned short uchar_type;
-   typedef unsigned int size_type;
-   typedef regex_traits<wchar_t> base_type;
-
-};
-#endif
-} // namespace deprecated
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // include
-
diff --git a/SRC/Boost/boost/regex/v4/cpp_regex_traits.hpp b/SRC/Boost/boost/regex/v4/cpp_regex_traits.hpp
deleted file mode 100755
index da9e008..0000000
--- a/SRC/Boost/boost/regex/v4/cpp_regex_traits.hpp
+++ /dev/null
@@ -1,1096 +0,0 @@
-/*
- *
- * Copyright (c) 2004 John Maddock
- * Copyright 2011 Garmin Ltd. or its subsidiaries
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         cpp_regex_traits.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares regular expression traits class cpp_regex_traits.
-  */
-
-#ifndef BOOST_CPP_REGEX_TRAITS_HPP_INCLUDED
-#define BOOST_CPP_REGEX_TRAITS_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-#ifndef BOOST_NO_STD_LOCALE
-
-#ifndef BOOST_RE_PAT_EXCEPT_HPP
-#include <boost/regex/pattern_except.hpp>
-#endif
-#ifndef BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED
-#include <boost/regex/v4/regex_traits_defaults.hpp>
-#endif
-#ifdef BOOST_HAS_THREADS
-#include <boost/regex/pending/static_mutex.hpp>
-#endif
-#ifndef BOOST_REGEX_PRIMARY_TRANSFORM
-#include <boost/regex/v4/primary_transform.hpp>
-#endif
-#ifndef BOOST_REGEX_OBJECT_CACHE_HPP
-#include <boost/regex/pending/object_cache.hpp>
-#endif
-
-#include <istream>
-#include <ios>
-#include <climits>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4786 4251)
-#endif
-
-namespace boost{ 
-
-//
-// forward declaration is needed by some compilers:
-//
-template <class charT>
-class cpp_regex_traits;
-   
-namespace re_detail{
-
-//
-// class parser_buf:
-// acts as a stream buffer which wraps around a pair of pointers:
-//
-template <class charT,
-          class traits = ::std::char_traits<charT> >
-class parser_buf : public ::std::basic_streambuf<charT, traits>
-{
-   typedef ::std::basic_streambuf<charT, traits> base_type;
-   typedef typename base_type::int_type int_type;
-   typedef typename base_type::char_type char_type;
-   typedef typename base_type::pos_type pos_type;
-   typedef ::std::streamsize streamsize;
-   typedef typename base_type::off_type off_type;
-public:
-   parser_buf() : base_type() { setbuf(0, 0); }
-   const charT* getnext() { return this->gptr(); }
-protected:
-   std::basic_streambuf<charT, traits>* setbuf(char_type* s, streamsize n);
-   typename parser_buf<charT, traits>::pos_type seekpos(pos_type sp, ::std::ios_base::openmode which);
-   typename parser_buf<charT, traits>::pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which);
-private:
-   parser_buf& operator=(const parser_buf&);
-   parser_buf(const parser_buf&);
-};
-
-template<class charT, class traits>
-std::basic_streambuf<charT, traits>*
-parser_buf<charT, traits>::setbuf(char_type* s, streamsize n)
-{
-   this->setg(s, s, s + n);
-   return this;
-}
-
-template<class charT, class traits>
-typename parser_buf<charT, traits>::pos_type
-parser_buf<charT, traits>::seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which)
-{
-   if(which & ::std::ios_base::out)
-      return pos_type(off_type(-1));
-   std::ptrdiff_t size = this->egptr() - this->eback();
-   std::ptrdiff_t pos = this->gptr() - this->eback();
-   charT* g = this->eback();
-   switch(way)
-   {
-   case ::std::ios_base::beg:
-      if((off < 0) || (off > size))
-         return pos_type(off_type(-1));
-      else
-         this->setg(g, g + off, g + size);
-      break;
-   case ::std::ios_base::end:
-      if((off < 0) || (off > size))
-         return pos_type(off_type(-1));
-      else
-         this->setg(g, g + size - off, g + size);
-      break;
-   case ::std::ios_base::cur:
-   {
-      std::ptrdiff_t newpos = static_cast<std::ptrdiff_t>(pos + off);
-      if((newpos < 0) || (newpos > size))
-         return pos_type(off_type(-1));
-      else
-         this->setg(g, g + newpos, g + size);
-      break;
-   }
-   default: ;
-   }
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4244)
-#endif
-   return static_cast<pos_type>(this->gptr() - this->eback());
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template<class charT, class traits>
-typename parser_buf<charT, traits>::pos_type
-parser_buf<charT, traits>::seekpos(pos_type sp, ::std::ios_base::openmode which)
-{
-   if(which & ::std::ios_base::out)
-      return pos_type(off_type(-1));
-   off_type size = static_cast<off_type>(this->egptr() - this->eback());
-   charT* g = this->eback();
-   if(off_type(sp) <= size)
-   {
-      this->setg(g, g + off_type(sp), g + size);
-   }
-   return pos_type(off_type(-1));
-}
-
-//
-// class cpp_regex_traits_base:
-// acts as a container for locale and the facets we are using.
-//
-template <class charT>
-struct cpp_regex_traits_base
-{
-   cpp_regex_traits_base(const std::locale& l)
-   { imbue(l); }
-   std::locale imbue(const std::locale& l);
-
-   std::locale m_locale;
-   std::ctype<charT> const* m_pctype;
-#ifndef BOOST_NO_STD_MESSAGES
-   std::messages<charT> const* m_pmessages;
-#endif
-   std::collate<charT> const* m_pcollate;
-
-   bool operator<(const cpp_regex_traits_base& b)const
-   {
-      if(m_pctype == b.m_pctype)
-      {
-#ifndef BOOST_NO_STD_MESSAGES
-         if(m_pmessages == b.m_pmessages)
-         {
-            return m_pcollate < b.m_pcollate;
-         }
-         return m_pmessages < b.m_pmessages;
-#else
-         return m_pcollate < b.m_pcollate;
-#endif
-      }
-      return m_pctype < b.m_pctype;
-   }
-   bool operator==(const cpp_regex_traits_base& b)const
-   {
-      return (m_pctype == b.m_pctype) 
-#ifndef BOOST_NO_STD_MESSAGES
-         && (m_pmessages == b.m_pmessages) 
-#endif
-         && (m_pcollate == b.m_pcollate);
-   }
-};
-
-template <class charT>
-std::locale cpp_regex_traits_base<charT>::imbue(const std::locale& l)
-{
-   std::locale result(m_locale);
-   m_locale = l;
-   m_pctype = &BOOST_USE_FACET(std::ctype<charT>, l);
-#ifndef BOOST_NO_STD_MESSAGES
-   m_pmessages = BOOST_HAS_FACET(std::messages<charT>, l) ? &BOOST_USE_FACET(std::messages<charT>, l) : 0;
-#endif
-   m_pcollate = &BOOST_USE_FACET(std::collate<charT>, l);
-   return result;
-}
-
-//
-// class cpp_regex_traits_char_layer:
-// implements methods that require specialisation for narrow characters:
-//
-template <class charT>
-class cpp_regex_traits_char_layer : public cpp_regex_traits_base<charT>
-{
-   typedef std::basic_string<charT> string_type;
-   typedef std::map<charT, regex_constants::syntax_type> map_type;
-   typedef typename map_type::const_iterator map_iterator_type;
-public:
-   cpp_regex_traits_char_layer(const std::locale& l)
-      : cpp_regex_traits_base<charT>(l)
-   {
-      init();
-   }
-   cpp_regex_traits_char_layer(const cpp_regex_traits_base<charT>& b)
-      : cpp_regex_traits_base<charT>(b)
-   {
-      init();
-   }
-   void init();
-
-   regex_constants::syntax_type syntax_type(charT c)const
-   {
-      map_iterator_type i = m_char_map.find(c);
-      return ((i == m_char_map.end()) ? 0 : i->second);
-   }
-   regex_constants::escape_syntax_type escape_syntax_type(charT c) const
-   {
-      map_iterator_type i = m_char_map.find(c);
-      if(i == m_char_map.end())
-      {
-         if(this->m_pctype->is(std::ctype_base::lower, c)) return regex_constants::escape_type_class;
-         if(this->m_pctype->is(std::ctype_base::upper, c)) return regex_constants::escape_type_not_class;
-         return 0;
-      }
-      return i->second;
-   }
-
-private:
-   string_type get_default_message(regex_constants::syntax_type);
-   // TODO: use a hash table when available!
-   map_type m_char_map;
-};
-
-template <class charT>
-void cpp_regex_traits_char_layer<charT>::init()
-{
-   // we need to start by initialising our syntax map so we know which
-   // character is used for which purpose:
-#ifndef BOOST_NO_STD_MESSAGES
-#ifndef __IBMCPP__
-   typename std::messages<charT>::catalog cat = static_cast<std::messages<char>::catalog>(-1);
-#else
-   typename std::messages<charT>::catalog cat = reinterpret_cast<std::messages<char>::catalog>(-1);
-#endif
-   std::string cat_name(cpp_regex_traits<charT>::get_catalog_name());
-   if(cat_name.size() && (this->m_pmessages != 0))
-   {
-      cat = this->m_pmessages->open(
-         cat_name, 
-         this->m_locale);
-      if((int)cat < 0)
-      {
-         std::string m("Unable to open message catalog: ");
-         std::runtime_error err(m + cat_name);
-         boost::re_detail::raise_runtime_error(err);
-      }
-   }
-   //
-   // if we have a valid catalog then load our messages:
-   //
-   if((int)cat >= 0)
-   {
-#ifndef BOOST_NO_EXCEPTIONS
-      try{
-#endif
-         for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)
-         {
-            string_type mss = this->m_pmessages->get(cat, 0, i, get_default_message(i));
-            for(typename string_type::size_type j = 0; j < mss.size(); ++j)
-            {
-               m_char_map[mss[j]] = i;
-            }
-         }
-         this->m_pmessages->close(cat);
-#ifndef BOOST_NO_EXCEPTIONS
-      }
-      catch(...)
-      {
-         if(this->m_pmessages)
-            this->m_pmessages->close(cat);
-         throw;
-      }
-#endif
-   }
-   else
-   {
-#endif
-      for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)
-      {
-         const char* ptr = get_default_syntax(i);
-         while(ptr && *ptr)
-         {
-            m_char_map[this->m_pctype->widen(*ptr)] = i;
-            ++ptr;
-         }
-      }
-#ifndef BOOST_NO_STD_MESSAGES
-   }
-#endif
-}
-
-template <class charT>
-typename cpp_regex_traits_char_layer<charT>::string_type 
-   cpp_regex_traits_char_layer<charT>::get_default_message(regex_constants::syntax_type i)
-{
-   const char* ptr = get_default_syntax(i);
-   string_type result;
-   while(ptr && *ptr)
-   {
-      result.append(1, this->m_pctype->widen(*ptr));
-      ++ptr;
-   }
-   return result;
-}
-
-//
-// specialised version for narrow characters:
-//
-template <>
-class BOOST_REGEX_DECL cpp_regex_traits_char_layer<char> : public cpp_regex_traits_base<char>
-{
-   typedef std::string string_type;
-public:
-   cpp_regex_traits_char_layer(const std::locale& l)
-   : cpp_regex_traits_base<char>(l)
-   {
-      init();
-   }
-   cpp_regex_traits_char_layer(const cpp_regex_traits_base<char>& l)
-   : cpp_regex_traits_base<char>(l)
-   {
-      init();
-   }
-
-   regex_constants::syntax_type syntax_type(char c)const
-   {
-      return m_char_map[static_cast<unsigned char>(c)];
-   }
-   regex_constants::escape_syntax_type escape_syntax_type(char c) const
-   {
-      return m_char_map[static_cast<unsigned char>(c)];
-   }
-
-private:
-   regex_constants::syntax_type m_char_map[1u << CHAR_BIT];
-   void init();
-};
-
-#ifdef BOOST_REGEX_BUGGY_CTYPE_FACET
-enum
-{
-   char_class_space=1<<0, 
-   char_class_print=1<<1, 
-   char_class_cntrl=1<<2, 
-   char_class_upper=1<<3, 
-   char_class_lower=1<<4,
-   char_class_alpha=1<<5, 
-   char_class_digit=1<<6, 
-   char_class_punct=1<<7, 
-   char_class_xdigit=1<<8,
-   char_class_alnum=char_class_alpha|char_class_digit, 
-   char_class_graph=char_class_alnum|char_class_punct,
-   char_class_blank=1<<9,
-   char_class_word=1<<10,
-   char_class_unicode=1<<11,
-   char_class_horizontal_space=1<<12,
-   char_class_vertical_space=1<<13
-};
-
-#endif
-
-//
-// class cpp_regex_traits_implementation:
-// provides pimpl implementation for cpp_regex_traits.
-//
-template <class charT>
-class cpp_regex_traits_implementation : public cpp_regex_traits_char_layer<charT>
-{
-public:
-   typedef typename cpp_regex_traits<charT>::char_class_type char_class_type;
-   typedef typename std::ctype<charT>::mask                  native_mask_type;
-#ifndef BOOST_REGEX_BUGGY_CTYPE_FACET
-   BOOST_STATIC_CONSTANT(char_class_type, mask_blank = 1u << 24);
-   BOOST_STATIC_CONSTANT(char_class_type, mask_word = 1u << 25);
-   BOOST_STATIC_CONSTANT(char_class_type, mask_unicode = 1u << 26);
-   BOOST_STATIC_CONSTANT(char_class_type, mask_horizontal = 1u << 27);
-   BOOST_STATIC_CONSTANT(char_class_type, mask_vertical = 1u << 28);
-#endif
-
-   typedef std::basic_string<charT> string_type;
-   typedef charT char_type;
-   //cpp_regex_traits_implementation();
-   cpp_regex_traits_implementation(const std::locale& l)
-      : cpp_regex_traits_char_layer<charT>(l)
-   {
-      init();
-   }
-   cpp_regex_traits_implementation(const cpp_regex_traits_base<charT>& l)
-      : cpp_regex_traits_char_layer<charT>(l)
-   {
-      init();
-   }
-   std::string error_string(regex_constants::error_type n) const
-   {
-      if(!m_error_strings.empty())
-      {
-         std::map<int, std::string>::const_iterator p = m_error_strings.find(n);
-         return (p == m_error_strings.end()) ? std::string(get_default_error_string(n)) : p->second;
-      }
-      return get_default_error_string(n);
-   }
-   char_class_type lookup_classname(const charT* p1, const charT* p2) const
-   {
-      char_class_type result = lookup_classname_imp(p1, p2);
-      if(result == 0)
-      {
-         string_type temp(p1, p2);
-         this->m_pctype->tolower(&*temp.begin(), &*temp.begin() + temp.size());
-         result = lookup_classname_imp(&*temp.begin(), &*temp.begin() + temp.size());
-      }
-      return result;
-   }
-   string_type lookup_collatename(const charT* p1, const charT* p2) const;
-   string_type transform_primary(const charT* p1, const charT* p2) const;
-   string_type transform(const charT* p1, const charT* p2) const;
-private:
-   std::map<int, std::string>     m_error_strings;   // error messages indexed by numberic ID
-   std::map<string_type, char_class_type>  m_custom_class_names; // character class names
-   std::map<string_type, string_type>      m_custom_collate_names; // collating element names
-   unsigned                       m_collate_type;    // the form of the collation string
-   charT                          m_collate_delim;   // the collation group delimiter
-   //
-   // helpers:
-   //
-   char_class_type lookup_classname_imp(const charT* p1, const charT* p2) const;
-   void init();
-#ifdef BOOST_REGEX_BUGGY_CTYPE_FACET
-public:
-   bool isctype(charT c, char_class_type m)const;
-#endif
-};
-
-#ifndef BOOST_REGEX_BUGGY_CTYPE_FACET
-#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-
-template <class charT>
-typename cpp_regex_traits_implementation<charT>::char_class_type const cpp_regex_traits_implementation<charT>::mask_blank;
-template <class charT>
-typename cpp_regex_traits_implementation<charT>::char_class_type const cpp_regex_traits_implementation<charT>::mask_word;
-template <class charT>
-typename cpp_regex_traits_implementation<charT>::char_class_type const cpp_regex_traits_implementation<charT>::mask_unicode;
-template <class charT>
-typename cpp_regex_traits_implementation<charT>::char_class_type const cpp_regex_traits_implementation<charT>::mask_vertical;
-template <class charT>
-typename cpp_regex_traits_implementation<charT>::char_class_type const cpp_regex_traits_implementation<charT>::mask_horizontal;
-
-#endif
-#endif
-
-template <class charT>
-typename cpp_regex_traits_implementation<charT>::string_type 
-   cpp_regex_traits_implementation<charT>::transform_primary(const charT* p1, const charT* p2) const
-{
-   //
-   // PRECONDITIONS:
-   //
-   // A bug in gcc 3.2 (and maybe other versions as well) treats
-   // p1 as a null terminated string, for efficiency reasons 
-   // we work around this elsewhere, but just assert here that
-   // we adhere to gcc's (buggy) preconditions...
-   //
-   BOOST_ASSERT(*p2 == 0);
-
-   string_type result;
-   //
-   // swallowing all exceptions here is a bad idea
-   // however at least one std lib will always throw
-   // std::bad_alloc for certain arguments...
-   //
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-      //
-      // What we do here depends upon the format of the sort key returned by
-      // sort key returned by this->transform:
-      //
-      switch(m_collate_type)
-      {
-      case sort_C:
-      case sort_unknown:
-         // the best we can do is translate to lower case, then get a regular sort key:
-         {
-            result.assign(p1, p2);
-            this->m_pctype->tolower(&*result.begin(), &*result.begin() + result.size());
-            result = this->m_pcollate->transform(&*result.begin(), &*result.begin() + result.size());
-            break;
-         }
-      case sort_fixed:
-         {
-            // get a regular sort key, and then truncate it:
-            result.assign(this->m_pcollate->transform(p1, p2));
-            result.erase(this->m_collate_delim);
-            break;
-         }
-      case sort_delim:
-            // get a regular sort key, and then truncate everything after the delim:
-            result.assign(this->m_pcollate->transform(p1, p2));
-            std::size_t i;
-            for(i = 0; i < result.size(); ++i)
-            {
-               if(result[i] == m_collate_delim)
-                  break;
-            }
-            result.erase(i);
-            break;
-      }
-#ifndef BOOST_NO_EXCEPTIONS
-   }catch(...){}
-#endif
-   while(result.size() && (charT(0) == *result.rbegin()))
-      result.erase(result.size() - 1);
-   if(result.empty())
-   {
-      // character is ignorable at the primary level:
-      result = string_type(1, charT(0));
-   }
-   return result;
-}
-
-template <class charT>
-typename cpp_regex_traits_implementation<charT>::string_type 
-   cpp_regex_traits_implementation<charT>::transform(const charT* p1, const charT* p2) const
-{
-   //
-   // PRECONDITIONS:
-   //
-   // A bug in gcc 3.2 (and maybe other versions as well) treats
-   // p1 as a null terminated string, for efficiency reasons 
-   // we work around this elsewhere, but just assert here that
-   // we adhere to gcc's (buggy) preconditions...
-   //
-   BOOST_ASSERT(*p2 == 0);
-   //
-   // swallowing all exceptions here is a bad idea
-   // however at least one std lib will always throw
-   // std::bad_alloc for certain arguments...
-   //
-   string_type result;
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-      result = this->m_pcollate->transform(p1, p2);
-      //
-      // Borland's STLPort version returns a NULL-terminated
-      // string that has garbage at the end - each call to
-      // std::collate<wchar_t>::transform returns a different string!
-      // So as a workaround, we'll truncate the string at the first NULL
-      // which _seems_ to work....
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x580)
-      result.erase(result.find(charT(0)));
-#else
-      //
-      // some implementations (Dinkumware) append unnecessary trailing \0's:
-      while(result.size() && (charT(0) == *result.rbegin()))
-         result.erase(result.size() - 1);
-#endif
-      BOOST_ASSERT(std::find(result.begin(), result.end(), charT(0)) == result.end());
-#ifndef BOOST_NO_EXCEPTIONS
-   }
-   catch(...)
-   {
-   }
-#endif
-   return result;
-}
-
-
-template <class charT>
-typename cpp_regex_traits_implementation<charT>::string_type 
-   cpp_regex_traits_implementation<charT>::lookup_collatename(const charT* p1, const charT* p2) const
-{
-   typedef typename std::map<string_type, string_type>::const_iterator iter_type;
-   if(m_custom_collate_names.size())
-   {
-      iter_type pos = m_custom_collate_names.find(string_type(p1, p2));
-      if(pos != m_custom_collate_names.end())
-         return pos->second;
-   }
-#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\
-               && !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\
-               && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551)
-   std::string name(p1, p2);
-#else
-   std::string name;
-   const charT* p0 = p1;
-   while(p0 != p2)
-      name.append(1, char(*p0++));
-#endif
-   name = lookup_default_collate_name(name);
-#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\
-               && !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\
-               && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551)
-   if(name.size())
-      return string_type(name.begin(), name.end());
-#else
-   if(name.size())
-   {
-      string_type result;
-      typedef std::string::const_iterator iter;
-      iter b = name.begin();
-      iter e = name.end();
-      while(b != e)
-         result.append(1, charT(*b++));
-      return result;
-   }
-#endif
-   if(p2 - p1 == 1)
-      return string_type(1, *p1);
-   return string_type();
-}
-
-template <class charT>
-void cpp_regex_traits_implementation<charT>::init()
-{
-#ifndef BOOST_NO_STD_MESSAGES
-#ifndef __IBMCPP__
-   typename std::messages<charT>::catalog cat = static_cast<std::messages<char>::catalog>(-1);
-#else
-   typename std::messages<charT>::catalog cat = reinterpret_cast<std::messages<char>::catalog>(-1);
-#endif
-   std::string cat_name(cpp_regex_traits<charT>::get_catalog_name());
-   if(cat_name.size() && (this->m_pmessages != 0))
-   {
-      cat = this->m_pmessages->open(
-         cat_name, 
-         this->m_locale);
-      if((int)cat < 0)
-      {
-         std::string m("Unable to open message catalog: ");
-         std::runtime_error err(m + cat_name);
-         boost::re_detail::raise_runtime_error(err);
-      }
-   }
-   //
-   // if we have a valid catalog then load our messages:
-   //
-   if((int)cat >= 0)
-   {
-      //
-      // Error messages:
-      //
-      for(boost::regex_constants::error_type i = static_cast<boost::regex_constants::error_type>(0); 
-         i <= boost::regex_constants::error_unknown; 
-         i = static_cast<boost::regex_constants::error_type>(i + 1))
-      {
-         const char* p = get_default_error_string(i);
-         string_type default_message;
-         while(*p)
-         {
-            default_message.append(1, this->m_pctype->widen(*p));
-            ++p;
-         }
-         string_type s = this->m_pmessages->get(cat, 0, i+200, default_message);
-         std::string result;
-         for(std::string::size_type j = 0; j < s.size(); ++j)
-         {
-            result.append(1, this->m_pctype->narrow(s[j], 0));
-         }
-         m_error_strings[i] = result;
-      }
-      //
-      // Custom class names:
-      //
-#ifndef BOOST_REGEX_BUGGY_CTYPE_FACET
-      static const char_class_type masks[16] = 
-      {
-         std::ctype<charT>::alnum,
-         std::ctype<charT>::alpha,
-         std::ctype<charT>::cntrl,
-         std::ctype<charT>::digit,
-         std::ctype<charT>::graph,
-         cpp_regex_traits_implementation<charT>::mask_horizontal,
-         std::ctype<charT>::lower,
-         std::ctype<charT>::print,
-         std::ctype<charT>::punct,
-         std::ctype<charT>::space,
-         std::ctype<charT>::upper,
-         cpp_regex_traits_implementation<charT>::mask_vertical,
-         std::ctype<charT>::xdigit,
-         cpp_regex_traits_implementation<charT>::mask_blank,
-         cpp_regex_traits_implementation<charT>::mask_word,
-         cpp_regex_traits_implementation<charT>::mask_unicode,
-      };
-#else
-      static const char_class_type masks[16] = 
-      {
-         ::boost::re_detail::char_class_alnum,
-         ::boost::re_detail::char_class_alpha,
-         ::boost::re_detail::char_class_cntrl,
-         ::boost::re_detail::char_class_digit,
-         ::boost::re_detail::char_class_graph,
-         ::boost::re_detail::char_class_horizontal_space,
-         ::boost::re_detail::char_class_lower,
-         ::boost::re_detail::char_class_print,
-         ::boost::re_detail::char_class_punct,
-         ::boost::re_detail::char_class_space,
-         ::boost::re_detail::char_class_upper,
-         ::boost::re_detail::char_class_vertical_space,
-         ::boost::re_detail::char_class_xdigit,
-         ::boost::re_detail::char_class_blank,
-         ::boost::re_detail::char_class_word,
-         ::boost::re_detail::char_class_unicode,
-      };
-#endif
-      static const string_type null_string;
-      for(unsigned int j = 0; j <= 13; ++j)
-      {
-         string_type s(this->m_pmessages->get(cat, 0, j+300, null_string));
-         if(s.size())
-            this->m_custom_class_names[s] = masks[j];
-      }
-   }
-#endif
-   //
-   // get the collation format used by m_pcollate:
-   //
-   m_collate_type = re_detail::find_sort_syntax(this, &m_collate_delim);
-}
-
-template <class charT>
-typename cpp_regex_traits_implementation<charT>::char_class_type 
-   cpp_regex_traits_implementation<charT>::lookup_classname_imp(const charT* p1, const charT* p2) const
-{
-#ifndef BOOST_REGEX_BUGGY_CTYPE_FACET
-   static const char_class_type masks[22] = 
-   {
-      0,
-      std::ctype<char>::alnum, 
-      std::ctype<char>::alpha,
-      cpp_regex_traits_implementation<charT>::mask_blank,
-      std::ctype<char>::cntrl,
-      std::ctype<char>::digit,
-      std::ctype<char>::digit,
-      std::ctype<char>::graph,
-      cpp_regex_traits_implementation<charT>::mask_horizontal,
-      std::ctype<char>::lower,
-      std::ctype<char>::lower,
-      std::ctype<char>::print,
-      std::ctype<char>::punct,
-      std::ctype<char>::space,
-      std::ctype<char>::space,
-      std::ctype<char>::upper,
-      cpp_regex_traits_implementation<charT>::mask_unicode,
-      std::ctype<char>::upper,
-      cpp_regex_traits_implementation<charT>::mask_vertical,
-      std::ctype<char>::alnum | cpp_regex_traits_implementation<charT>::mask_word, 
-      std::ctype<char>::alnum | cpp_regex_traits_implementation<charT>::mask_word, 
-      std::ctype<char>::xdigit,
-   };
-#else
-   static const char_class_type masks[22] = 
-   {
-      0,
-      ::boost::re_detail::char_class_alnum, 
-      ::boost::re_detail::char_class_alpha,
-      ::boost::re_detail::char_class_blank,
-      ::boost::re_detail::char_class_cntrl,
-      ::boost::re_detail::char_class_digit,
-      ::boost::re_detail::char_class_digit,
-      ::boost::re_detail::char_class_graph,
-      ::boost::re_detail::char_class_horizontal_space,
-      ::boost::re_detail::char_class_lower,
-      ::boost::re_detail::char_class_lower,
-      ::boost::re_detail::char_class_print,
-      ::boost::re_detail::char_class_punct,
-      ::boost::re_detail::char_class_space,
-      ::boost::re_detail::char_class_space,
-      ::boost::re_detail::char_class_upper,
-      ::boost::re_detail::char_class_unicode,
-      ::boost::re_detail::char_class_upper,
-      ::boost::re_detail::char_class_vertical_space,
-      ::boost::re_detail::char_class_alnum | ::boost::re_detail::char_class_word, 
-      ::boost::re_detail::char_class_alnum | ::boost::re_detail::char_class_word, 
-      ::boost::re_detail::char_class_xdigit,
-   };
-#endif
-   if(m_custom_class_names.size())
-   {
-      typedef typename std::map<std::basic_string<charT>, char_class_type>::const_iterator map_iter;
-      map_iter pos = m_custom_class_names.find(string_type(p1, p2));
-      if(pos != m_custom_class_names.end())
-         return pos->second;
-   }
-   std::size_t state_id = 1 + re_detail::get_default_class_id(p1, p2);
-   BOOST_ASSERT(state_id < sizeof(masks) / sizeof(masks[0]));
-   return masks[state_id];
-}
-
-#ifdef BOOST_REGEX_BUGGY_CTYPE_FACET
-template <class charT>
-bool cpp_regex_traits_implementation<charT>::isctype(const charT c, char_class_type mask) const
-{
-   return
-      ((mask & ::boost::re_detail::char_class_space) && (this->m_pctype->is(std::ctype<charT>::space, c)))
-      || ((mask & ::boost::re_detail::char_class_print) && (this->m_pctype->is(std::ctype<charT>::print, c)))
-      || ((mask & ::boost::re_detail::char_class_cntrl) && (this->m_pctype->is(std::ctype<charT>::cntrl, c)))
-      || ((mask & ::boost::re_detail::char_class_upper) && (this->m_pctype->is(std::ctype<charT>::upper, c)))
-      || ((mask & ::boost::re_detail::char_class_lower) && (this->m_pctype->is(std::ctype<charT>::lower, c)))
-      || ((mask & ::boost::re_detail::char_class_alpha) && (this->m_pctype->is(std::ctype<charT>::alpha, c)))
-      || ((mask & ::boost::re_detail::char_class_digit) && (this->m_pctype->is(std::ctype<charT>::digit, c)))
-      || ((mask & ::boost::re_detail::char_class_punct) && (this->m_pctype->is(std::ctype<charT>::punct, c)))
-      || ((mask & ::boost::re_detail::char_class_xdigit) && (this->m_pctype->is(std::ctype<charT>::xdigit, c)))
-      || ((mask & ::boost::re_detail::char_class_blank) && (this->m_pctype->is(std::ctype<charT>::space, c)) && !::boost::re_detail::is_separator(c))
-      || ((mask & ::boost::re_detail::char_class_word) && (c == '_'))
-      || ((mask & ::boost::re_detail::char_class_unicode) && ::boost::re_detail::is_extended(c))
-      || ((mask & ::boost::re_detail::char_class_vertical_space) && (is_separator(c) || (c == '\v')))
-      || ((mask & ::boost::re_detail::char_class_horizontal_space) && this->m_pctype->is(std::ctype<charT>::space, c) && !(is_separator(c) || (c == '\v')));
-}
-#endif
-
-
-template <class charT>
-inline boost::shared_ptr<const cpp_regex_traits_implementation<charT> > create_cpp_regex_traits(const std::locale& l BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(charT))
-{
-   cpp_regex_traits_base<charT> key(l);
-   return ::boost::object_cache<cpp_regex_traits_base<charT>, cpp_regex_traits_implementation<charT> >::get(key, 5);
-}
-
-} // re_detail
-
-template <class charT>
-class cpp_regex_traits
-{
-private:
-   typedef std::ctype<charT>            ctype_type;
-public:
-   typedef charT                        char_type;
-   typedef std::size_t                  size_type;
-   typedef std::basic_string<char_type> string_type;
-   typedef std::locale                  locale_type;
-   typedef boost::uint_least32_t        char_class_type;
-
-   struct boost_extensions_tag{};
-
-   cpp_regex_traits()
-      : m_pimpl(re_detail::create_cpp_regex_traits<charT>(std::locale()))
-   { }
-   static size_type length(const char_type* p)
-   {
-      return std::char_traits<charT>::length(p);
-   }
-   regex_constants::syntax_type syntax_type(charT c)const
-   {
-      return m_pimpl->syntax_type(c);
-   }
-   regex_constants::escape_syntax_type escape_syntax_type(charT c) const
-   {
-      return m_pimpl->escape_syntax_type(c);
-   }
-   charT translate(charT c) const
-   {
-      return c;
-   }
-   charT translate_nocase(charT c) const
-   {
-      return m_pimpl->m_pctype->tolower(c);
-   }
-   charT translate(charT c, bool icase) const
-   {
-      return icase ? m_pimpl->m_pctype->tolower(c) : c;
-   }
-   charT tolower(charT c) const
-   {
-      return m_pimpl->m_pctype->tolower(c);
-   }
-   charT toupper(charT c) const
-   {
-      return m_pimpl->m_pctype->toupper(c);
-   }
-   string_type transform(const charT* p1, const charT* p2) const
-   {
-      return m_pimpl->transform(p1, p2);
-   }
-   string_type transform_primary(const charT* p1, const charT* p2) const
-   {
-      return m_pimpl->transform_primary(p1, p2);
-   }
-   char_class_type lookup_classname(const charT* p1, const charT* p2) const
-   {
-      return m_pimpl->lookup_classname(p1, p2);
-   }
-   string_type lookup_collatename(const charT* p1, const charT* p2) const
-   {
-      return m_pimpl->lookup_collatename(p1, p2);
-   }
-   bool isctype(charT c, char_class_type f) const
-   {
-#ifndef BOOST_REGEX_BUGGY_CTYPE_FACET
-      typedef typename std::ctype<charT>::mask ctype_mask;
-
-      static const ctype_mask mask_base = 
-         static_cast<ctype_mask>(
-            std::ctype<charT>::alnum 
-            | std::ctype<charT>::alpha
-            | std::ctype<charT>::cntrl
-            | std::ctype<charT>::digit
-            | std::ctype<charT>::graph
-            | std::ctype<charT>::lower
-            | std::ctype<charT>::print
-            | std::ctype<charT>::punct
-            | std::ctype<charT>::space
-            | std::ctype<charT>::upper
-            | std::ctype<charT>::xdigit);
-
-      if((f & mask_base) 
-         && (m_pimpl->m_pctype->is(
-            static_cast<ctype_mask>(f & mask_base), c)))
-         return true;
-      else if((f & re_detail::cpp_regex_traits_implementation<charT>::mask_unicode) && re_detail::is_extended(c))
-         return true;
-      else if((f & re_detail::cpp_regex_traits_implementation<charT>::mask_word) && (c == '_'))
-         return true;
-      else if((f & re_detail::cpp_regex_traits_implementation<charT>::mask_blank) 
-         && m_pimpl->m_pctype->is(std::ctype<charT>::space, c)
-         && !re_detail::is_separator(c))
-         return true;
-      else if((f & re_detail::cpp_regex_traits_implementation<charT>::mask_vertical) 
-         && (::boost::re_detail::is_separator(c) || (c == '\v')))
-         return true;
-      else if((f & re_detail::cpp_regex_traits_implementation<charT>::mask_horizontal) 
-         && this->isctype(c, std::ctype<charT>::space) && !this->isctype(c, re_detail::cpp_regex_traits_implementation<charT>::mask_vertical))
-         return true;
-      return false;
-#else
-      return m_pimpl->isctype(c, f);
-#endif
-   }
-   int toi(const charT*& p1, const charT* p2, int radix)const;
-   int value(charT c, int radix)const
-   {
-      const charT* pc = &c;
-      return toi(pc, pc + 1, radix);
-   }
-   locale_type imbue(locale_type l)
-   {
-      std::locale result(getloc());
-      m_pimpl = re_detail::create_cpp_regex_traits<charT>(l);
-      return result;
-   }
-   locale_type getloc()const
-   {
-      return m_pimpl->m_locale;
-   }
-   std::string error_string(regex_constants::error_type n) const
-   {
-      return m_pimpl->error_string(n);
-   }
-
-   //
-   // extension:
-   // set the name of the message catalog in use (defaults to "boost_regex").
-   //
-   static std::string catalog_name(const std::string& name);
-   static std::string get_catalog_name();
-
-private:
-   boost::shared_ptr<const re_detail::cpp_regex_traits_implementation<charT> > m_pimpl;
-   //
-   // catalog name handler:
-   //
-   static std::string& get_catalog_name_inst();
-
-#ifdef BOOST_HAS_THREADS
-   static static_mutex& get_mutex_inst();
-#endif
-};
-
-
-template <class charT>
-int cpp_regex_traits<charT>::toi(const charT*& first, const charT* last, int radix)const
-{
-   re_detail::parser_buf<charT>   sbuf;            // buffer for parsing numbers.
-   std::basic_istream<charT>      is(&sbuf);       // stream for parsing numbers.
-
-   // we do NOT want to parse any thousands separators inside the stream:
-   last = std::find(first, last, BOOST_USE_FACET(std::numpunct<charT>, is.getloc()).thousands_sep());
-
-   sbuf.pubsetbuf(const_cast<charT*>(static_cast<const charT*>(first)), static_cast<std::streamsize>(last-first));
-   is.clear();
-   if(std::abs(radix) == 16) is >> std::hex;
-   else if(std::abs(radix) == 8) is >> std::oct;
-   else is >> std::dec;
-   int val;
-   if(is >> val)
-   {
-      first = first + ((last - first) - sbuf.in_avail());
-      return val;
-   }
-   else
-      return -1;
-}
-
-template <class charT>
-std::string cpp_regex_traits<charT>::catalog_name(const std::string& name)
-{
-#ifdef BOOST_HAS_THREADS
-   static_mutex::scoped_lock lk(get_mutex_inst());
-#endif
-   std::string result(get_catalog_name_inst());
-   get_catalog_name_inst() = name;
-   return result;
-}
-
-template <class charT>
-std::string& cpp_regex_traits<charT>::get_catalog_name_inst()
-{
-   static std::string s_name;
-   return s_name;
-}
-
-template <class charT>
-std::string cpp_regex_traits<charT>::get_catalog_name()
-{
-#ifdef BOOST_HAS_THREADS
-   static_mutex::scoped_lock lk(get_mutex_inst());
-#endif
-   std::string result(get_catalog_name_inst());
-   return result;
-}
-
-#ifdef BOOST_HAS_THREADS
-template <class charT>
-static_mutex& cpp_regex_traits<charT>::get_mutex_inst()
-{
-   static static_mutex s_mutex = BOOST_STATIC_MUTEX_INIT;
-   return s_mutex;
-}
-#endif
-
-
-} // boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
-#endif
-
-
diff --git a/SRC/Boost/boost/regex/v4/cregex.hpp b/SRC/Boost/boost/regex/v4/cregex.hpp
deleted file mode 100755
index 8a95845..0000000
--- a/SRC/Boost/boost/regex/v4/cregex.hpp
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the
- * Boost Software License, Version 1.0. (See accompanying file
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         cregex.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares POSIX API functions
-  *                + boost::RegEx high level wrapper.
-  */
-
-#ifndef BOOST_RE_CREGEX_HPP_INCLUDED
-#define BOOST_RE_CREGEX_HPP_INCLUDED
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#include <boost/regex/config.hpp>
-#endif
-#include <boost/regex/v4/match_flags.hpp>
-#include <boost/regex/v4/error_type.hpp>
-
-#ifdef __cplusplus
-#include <cstddef>
-#else
-#include <stddef.h>
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-/* include these defs only for POSIX compatablity */
-#ifdef __cplusplus
-namespace boost{
-extern "C" {
-#endif
-
-#if defined(__cplusplus) && !defined(BOOST_NO_STDC_NAMESPACE)
-typedef std::ptrdiff_t regoff_t;
-typedef std::size_t regsize_t;
-#else
-typedef ptrdiff_t regoff_t;
-typedef size_t regsize_t;
-#endif
-
-typedef struct
-{
-   unsigned int re_magic;
-#ifdef __cplusplus
-   std::size_t  re_nsub;      /* number of parenthesized subexpressions */
-#else
-   size_t re_nsub; 
-#endif
-   const char*  re_endp;       /* end pointer for REG_PEND */
-   void* guts;                /* none of your business :-) */
-   match_flag_type eflags;        /* none of your business :-) */
-} regex_tA;
-
-#ifndef BOOST_NO_WREGEX
-typedef struct
-{
-   unsigned int re_magic;
-#ifdef __cplusplus
-   std::size_t  re_nsub;         /* number of parenthesized subexpressions */
-#else
-   size_t re_nsub;
-#endif
-   const wchar_t* re_endp;       /* end pointer for REG_PEND */
-   void* guts;                   /* none of your business :-) */
-   match_flag_type eflags;           /* none of your business :-) */
-} regex_tW;
-#endif
-
-typedef struct
-{
-   regoff_t rm_so;      /* start of match */
-   regoff_t rm_eo;      /* end of match */
-} regmatch_t;
-
-/* regcomp() flags */
-typedef enum{
-   REG_BASIC = 0000,
-   REG_EXTENDED = 0001,
-   REG_ICASE = 0002,
-   REG_NOSUB = 0004,
-   REG_NEWLINE = 0010,
-   REG_NOSPEC = 0020,
-   REG_PEND = 0040,
-   REG_DUMP = 0200,
-   REG_NOCOLLATE = 0400,
-   REG_ESCAPE_IN_LISTS = 01000,
-   REG_NEWLINE_ALT = 02000,
-   REG_PERLEX = 04000,
-
-   REG_PERL = REG_EXTENDED | REG_NOCOLLATE | REG_ESCAPE_IN_LISTS | REG_PERLEX,
-   REG_AWK = REG_EXTENDED | REG_ESCAPE_IN_LISTS,
-   REG_GREP = REG_BASIC | REG_NEWLINE_ALT,
-   REG_EGREP = REG_EXTENDED | REG_NEWLINE_ALT,
-
-   REG_ASSERT = 15,
-   REG_INVARG = 16,
-   REG_ATOI = 255,   /* convert name to number (!) */
-   REG_ITOA = 0400   /* convert number to name (!) */
-} reg_comp_flags;
-
-/* regexec() flags */
-typedef enum{
-   REG_NOTBOL =    00001,
-   REG_NOTEOL =    00002,
-   REG_STARTEND =  00004
-} reg_exec_flags;
-
-/*
- * POSIX error codes:
- */
-typedef unsigned reg_error_t;
-typedef reg_error_t reg_errcode_t;  /* backwards compatibility */
-
-static const reg_error_t REG_NOERROR = 0;   /* Success.  */
-static const reg_error_t REG_NOMATCH = 1;   /* Didn't find a match (for regexec).  */
-
-  /* POSIX regcomp return error codes.  (In the order listed in the
-     standard.)  */
-static const reg_error_t REG_BADPAT = 2;    /* Invalid pattern.  */
-static const reg_error_t REG_ECOLLATE = 3;  /* Undefined collating element.  */
-static const reg_error_t REG_ECTYPE = 4;    /* Invalid character class name.  */
-static const reg_error_t REG_EESCAPE = 5;   /* Trailing backslash.  */
-static const reg_error_t REG_ESUBREG = 6;   /* Invalid back reference.  */
-static const reg_error_t REG_EBRACK = 7;    /* Unmatched left bracket.  */
-static const reg_error_t REG_EPAREN = 8;    /* Parenthesis imbalance.  */
-static const reg_error_t REG_EBRACE = 9;    /* Unmatched \{.  */
-static const reg_error_t REG_BADBR = 10;    /* Invalid contents of \{\}.  */
-static const reg_error_t REG_ERANGE = 11;   /* Invalid range end.  */
-static const reg_error_t REG_ESPACE = 12;   /* Ran out of memory.  */
-static const reg_error_t REG_BADRPT = 13;   /* No preceding re for repetition op.  */
-static const reg_error_t REG_EEND = 14;     /* unexpected end of expression */
-static const reg_error_t REG_ESIZE = 15;    /* expression too big */
-static const reg_error_t REG_ERPAREN = 8;   /* = REG_EPAREN : unmatched right parenthesis */
-static const reg_error_t REG_EMPTY = 17;    /* empty expression */
-static const reg_error_t REG_E_MEMORY = 15; /* = REG_ESIZE : out of memory */
-static const reg_error_t REG_ECOMPLEXITY = 18; /* complexity too high */
-static const reg_error_t REG_ESTACK = 19;   /* out of stack space */
-static const reg_error_t REG_E_PERL = 20;   /* Perl (?...) error */
-static const reg_error_t REG_E_UNKNOWN = 21; /* unknown error */
-static const reg_error_t REG_ENOSYS = 21;   /* = REG_E_UNKNOWN : Reserved. */
-
-BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA*, const char*, int);
-BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int, const regex_tA*, char*, regsize_t);
-BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA*, const char*, regsize_t, regmatch_t*, int);
-BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA*);
-
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW*, const wchar_t*, int);
-BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int, const regex_tW*, wchar_t*, regsize_t);
-BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW*, const wchar_t*, regsize_t, regmatch_t*, int);
-BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW*);
-#endif
-
-#ifdef UNICODE
-#define regcomp regcompW
-#define regerror regerrorW
-#define regexec regexecW
-#define regfree regfreeW
-#define regex_t regex_tW
-#else
-#define regcomp regcompA
-#define regerror regerrorA
-#define regexec regexecA
-#define regfree regfreeA
-#define regex_t regex_tA
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef __cplusplus
-} /* extern "C" */
-} /* namespace */
-#endif
-
-#if defined(__cplusplus)
-/*
- * C++ high level wrapper goes here:
- */
-#include <string>
-#include <vector>
-namespace boost{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-class RegEx;
-
-namespace re_detail{
-
-class RegExData;
-struct pred1;
-struct pred2;
-struct pred3;
-struct pred4;
-
-}  /* namespace re_detail */
-
-#if (defined(BOOST_MSVC) || defined(__BORLANDC__)) && !defined(BOOST_DISABLE_WIN32)
-typedef bool (__cdecl *GrepCallback)(const RegEx& expression);
-typedef bool (__cdecl *GrepFileCallback)(const char* file, const RegEx& expression);
-typedef bool (__cdecl *FindFilesCallback)(const char* file);
-#else
-typedef bool (*GrepCallback)(const RegEx& expression);
-typedef bool (*GrepFileCallback)(const char* file, const RegEx& expression);
-typedef bool (*FindFilesCallback)(const char* file);
-#endif
-
-class BOOST_REGEX_DECL RegEx
-{
-private:
-   re_detail::RegExData* pdata;
-public:
-   RegEx();
-   RegEx(const RegEx& o);
-   ~RegEx();
-   explicit RegEx(const char* c, bool icase = false);
-   explicit RegEx(const std::string& s, bool icase = false);
-   RegEx& operator=(const RegEx& o);
-   RegEx& operator=(const char* p);
-   RegEx& operator=(const std::string& s){ return this->operator=(s.c_str()); }
-   unsigned int SetExpression(const char* p, bool icase = false);
-   unsigned int SetExpression(const std::string& s, bool icase = false){ return SetExpression(s.c_str(), icase); }
-   std::string Expression()const;
-   unsigned int error_code()const;
-   /*
-    * now matching operators:
-    */
-   bool Match(const char* p, match_flag_type flags = match_default);
-   bool Match(const std::string& s, match_flag_type flags = match_default) { return Match(s.c_str(), flags); }
-   bool Search(const char* p, match_flag_type flags = match_default);
-   bool Search(const std::string& s, match_flag_type flags = match_default) { return Search(s.c_str(), flags); }
-   unsigned int Grep(GrepCallback cb, const char* p, match_flag_type flags = match_default);
-   unsigned int Grep(GrepCallback cb, const std::string& s, match_flag_type flags = match_default) { return Grep(cb, s.c_str(), flags); }
-   unsigned int Grep(std::vector<std::string>& v, const char* p, match_flag_type flags = match_default);
-   unsigned int Grep(std::vector<std::string>& v, const std::string& s, match_flag_type flags = match_default) { return Grep(v, s.c_str(), flags); }
-   unsigned int Grep(std::vector<std::size_t>& v, const char* p, match_flag_type flags = match_default);
-   unsigned int Grep(std::vector<std::size_t>& v, const std::string& s, match_flag_type flags = match_default) { return Grep(v, s.c_str(), flags); }
-#ifndef BOOST_REGEX_NO_FILEITER
-   unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, match_flag_type flags = match_default);
-   unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, bool recurse = false, match_flag_type flags = match_default) { return GrepFiles(cb, files.c_str(), recurse, flags); }
-   unsigned int FindFiles(FindFilesCallback cb, const char* files, bool recurse = false, match_flag_type flags = match_default);
-   unsigned int FindFiles(FindFilesCallback cb, const std::string& files, bool recurse = false, match_flag_type flags = match_default) { return FindFiles(cb, files.c_str(), recurse, flags); }
-#endif
-
-   std::string Merge(const std::string& in, const std::string& fmt,
-                       bool copy = true, match_flag_type flags = match_default);
-   std::string Merge(const char* in, const char* fmt,
-                       bool copy = true, match_flag_type flags = match_default);
-
-   std::size_t Split(std::vector<std::string>& v, std::string& s, match_flag_type flags = match_default, unsigned max_count = ~0);
-   /*
-    * now operators for returning what matched in more detail:
-    */
-   std::size_t Position(int i = 0)const;
-   std::size_t Length(int i = 0)const;
-   bool Matched(int i = 0)const;
-   std::size_t Marks()const;
-   std::string What(int i = 0)const;
-   std::string operator[](int i)const { return What(i); }
-
-   static const std::size_t npos;
-
-   friend struct re_detail::pred1;
-   friend struct re_detail::pred2;
-   friend struct re_detail::pred3;
-   friend struct re_detail::pred4;
-};
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} /* namespace boost */
-
-#endif /* __cplusplus */
-
-#endif /* include guard */
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/regex/v4/error_type.hpp b/SRC/Boost/boost/regex/v4/error_type.hpp
deleted file mode 100755
index 397681c..0000000
--- a/SRC/Boost/boost/regex/v4/error_type.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- *
- * Copyright (c) 2003-2005
- * John Maddock
- *
- * Use, modification and distribution are subject to the
- * Boost Software License, Version 1.0. (See accompanying file
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         error_type.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares regular expression error type enumerator.
-  */
-
-#ifndef BOOST_REGEX_ERROR_TYPE_HPP
-#define BOOST_REGEX_ERROR_TYPE_HPP
-
-#ifdef __cplusplus
-namespace boost{
-#endif
-
-#ifdef __cplusplus
-namespace regex_constants{
-
-enum error_type{
-
-   error_ok = 0,         /* not used */
-   error_no_match = 1,   /* not used */
-   error_bad_pattern = 2,
-   error_collate = 3,
-   error_ctype = 4,
-   error_escape = 5,
-   error_backref = 6,
-   error_brack = 7,
-   error_paren = 8,
-   error_brace = 9,
-   error_badbrace = 10,
-   error_range = 11,
-   error_space = 12,
-   error_badrepeat = 13,
-   error_end = 14,    /* not used */
-   error_size = 15,
-   error_right_paren = 16,  /* not used */
-   error_empty = 17,
-   error_complexity = 18,
-   error_stack = 19,
-   error_perl_extension = 20,
-   error_unknown = 21
-};
-
-}
-}
-#endif /* __cplusplus */
-
-#endif
diff --git a/SRC/Boost/boost/regex/v4/fileiter.hpp b/SRC/Boost/boost/regex/v4/fileiter.hpp
deleted file mode 100755
index 822c34b..0000000
--- a/SRC/Boost/boost/regex/v4/fileiter.hpp
+++ /dev/null
@@ -1,455 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         fileiter.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares various platform independent file and
-  *                directory iterators, plus binary file input in
-  *                the form of class map_file.
-  */
-
-#ifndef BOOST_RE_FILEITER_HPP_INCLUDED
-#define BOOST_RE_FILEITER_HPP_INCLUDED
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#include <boost/regex/config.hpp>
-#endif
-#include <boost/assert.hpp>
-
-#ifndef BOOST_REGEX_NO_FILEITER
-
-#if (defined(__CYGWIN__) || defined(__CYGWIN32__)) && !defined(BOOST_REGEX_NO_W32)
-#error "Sorry, can't mix <windows.h> with STL code and gcc compiler: if you ran configure, try again with configure --disable-ms-windows"
-#define BOOST_REGEX_FI_WIN32_MAP
-#define BOOST_REGEX_FI_POSIX_DIR
-#elif (defined(__WIN32__) || defined(_WIN32) || defined(WIN32)) && !defined(BOOST_REGEX_NO_W32)
-#define BOOST_REGEX_FI_WIN32_MAP
-#define BOOST_REGEX_FI_WIN32_DIR
-#else
-#define BOOST_REGEX_FI_POSIX_MAP
-#define BOOST_REGEX_FI_POSIX_DIR
-#endif
-
-#if defined(BOOST_REGEX_FI_WIN32_MAP)||defined(BOOST_REGEX_FI_WIN32_DIR)
-#include <windows.h>
-#endif
-
-#if defined(BOOST_REGEX_FI_WIN32_DIR)
-
-#include <cstddef>
-
-namespace boost{
-   namespace re_detail{
-
-#ifndef BOOST_NO_ANSI_APIS
-typedef WIN32_FIND_DATAA _fi_find_data;
-#else
-typedef WIN32_FIND_DATAW _fi_find_data;
-#endif
-typedef HANDLE _fi_find_handle;
-
-   } // namespace re_detail
-
-} // namespace boost
-
-#define _fi_invalid_handle INVALID_HANDLE_VALUE
-#define _fi_dir FILE_ATTRIBUTE_DIRECTORY
-
-#elif defined(BOOST_REGEX_FI_POSIX_DIR)
-
-#include <cstddef>
-#include <cstdio>
-#include <cctype>
-#include <iterator>
-#include <list>
-#include <cassert>
-#include <dirent.h>
-
-#if defined(__SUNPRO_CC)
-using std::list;
-#endif
-
-#ifndef MAX_PATH
-#define MAX_PATH 256
-#endif
-
-namespace boost{
-   namespace re_detail{
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-
-struct _fi_find_data
-{
-   unsigned dwFileAttributes;
-   char cFileName[MAX_PATH];
-};
-
-struct _fi_priv_data;
-
-typedef _fi_priv_data* _fi_find_handle;
-#define _fi_invalid_handle 0
-#define _fi_dir 1
-
-_fi_find_handle _fi_FindFirstFile(const char* lpFileName, _fi_find_data* lpFindFileData);
-bool _fi_FindNextFile(_fi_find_handle hFindFile,   _fi_find_data* lpFindFileData);
-bool _fi_FindClose(_fi_find_handle hFindFile);
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-
-   } // namespace re_detail
-} // namespace boost
-
-#ifdef FindFirstFile
- #undef FindFirstFile
-#endif
-#ifdef FindNextFile
- #undef FindNextFile
-#endif
-#ifdef FindClose
- #undef FindClose
-#endif
-
-#define FindFirstFileA _fi_FindFirstFile
-#define FindNextFileA _fi_FindNextFile
-#define FindClose _fi_FindClose
-
-#endif
-
-namespace boost{
-   namespace re_detail{
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-
-#ifdef BOOST_REGEX_FI_WIN32_MAP // win32 mapfile
-
-class BOOST_REGEX_DECL mapfile
-{
-   HANDLE hfile;
-   HANDLE hmap;
-   const char* _first;
-   const char* _last;
-public:
-
-   typedef const char* iterator;
-
-   mapfile(){ hfile = hmap = 0; _first = _last = 0; }
-   mapfile(const char* file){ hfile = hmap = 0; _first = _last = 0; open(file); }
-   ~mapfile(){ close(); }
-   void open(const char* file);
-   void close();
-   const char* begin(){ return _first; }
-   const char* end(){ return _last; }
-   size_t size(){ return _last - _first; }
-   bool valid(){ return (hfile != 0) && (hfile != INVALID_HANDLE_VALUE); }
-};
-
-
-#else
-
-class BOOST_REGEX_DECL mapfile_iterator;
-
-class BOOST_REGEX_DECL mapfile
-{
-   typedef char* pointer;
-   std::FILE* hfile;
-   long int _size;
-   pointer* _first;
-   pointer* _last;
-   mutable std::list<pointer*> condemed;
-   enum sizes
-   {
-      buf_size = 4096
-   };
-   void lock(pointer* node)const;
-   void unlock(pointer* node)const;
-public:
-
-   typedef mapfile_iterator iterator;
-
-   mapfile(){ hfile = 0; _size = 0; _first = _last = 0; }
-   mapfile(const char* file){ hfile = 0; _size = 0; _first = _last = 0; open(file); }
-   ~mapfile(){ close(); }
-   void open(const char* file);
-   void close();
-   iterator begin()const;
-   iterator end()const;
-   unsigned long size()const{ return _size; }
-   bool valid()const{ return hfile != 0; }
-   friend class mapfile_iterator;
-};
-
-class BOOST_REGEX_DECL mapfile_iterator
-#if !defined(BOOST_NO_STD_ITERATOR) || defined(BOOST_MSVC_STD_ITERATOR)
-: public std::iterator<std::random_access_iterator_tag, char>
-#endif
-{
-   typedef mapfile::pointer internal_pointer;
-   internal_pointer* node;
-   const mapfile* file;
-   unsigned long offset;
-   long position()const
-   {
-      return file ? ((node - file->_first) * mapfile::buf_size + offset) : 0;
-   }
-   void position(long pos)
-   {
-      if(file)
-      {
-         node = file->_first + (pos / mapfile::buf_size);
-         offset = pos % mapfile::buf_size;
-      }
-   }
-public:
-   typedef std::ptrdiff_t                  difference_type;
-   typedef char                            value_type;
-   typedef const char*                     pointer;
-   typedef const char&                     reference;
-   typedef std::random_access_iterator_tag iterator_category;
-
-   mapfile_iterator() { node = 0; file = 0; offset = 0; }
-   mapfile_iterator(const mapfile* f, long arg_position)
-   {
-      file = f;
-      node = f->_first + arg_position / mapfile::buf_size;
-      offset = arg_position % mapfile::buf_size;
-      if(file)
-         file->lock(node);
-   }
-   mapfile_iterator(const mapfile_iterator& i)
-   {
-      file = i.file;
-      node = i.node;
-      offset = i.offset;
-      if(file)
-         file->lock(node);
-   }
-   ~mapfile_iterator()
-   {
-      if(file && node)
-         file->unlock(node);
-   }
-   mapfile_iterator& operator = (const mapfile_iterator& i);
-   char operator* ()const
-   {
-      BOOST_ASSERT(node >= file->_first);
-      BOOST_ASSERT(node < file->_last);
-      return file ? *(*node + sizeof(int) + offset) : char(0);
-   }
-   char operator[] (long off)const
-   {
-      mapfile_iterator tmp(*this);
-      tmp += off;
-      return *tmp;
-   }
-   mapfile_iterator& operator++ ();
-   mapfile_iterator operator++ (int);
-   mapfile_iterator& operator-- ();
-   mapfile_iterator operator-- (int);
-
-   mapfile_iterator& operator += (long off)
-   {
-      position(position() + off);
-      return *this;
-   }
-   mapfile_iterator& operator -= (long off)
-   {
-      position(position() - off);
-      return *this;
-   }
-
-   friend inline bool operator==(const mapfile_iterator& i, const mapfile_iterator& j)
-   {
-      return (i.file == j.file) && (i.node == j.node) && (i.offset == j.offset);
-   }
-
-   friend inline bool operator!=(const mapfile_iterator& i, const mapfile_iterator& j)
-   {
-      return !(i == j);
-   }
-
-   friend inline bool operator<(const mapfile_iterator& i, const mapfile_iterator& j)
-   {
-      return i.position() < j.position();
-   }
-   friend inline bool operator>(const mapfile_iterator& i, const mapfile_iterator& j)
-   {
-      return i.position() > j.position();
-   }
-   friend inline bool operator<=(const mapfile_iterator& i, const mapfile_iterator& j)
-   {
-      return i.position() <= j.position();
-   }
-   friend inline bool operator>=(const mapfile_iterator& i, const mapfile_iterator& j)
-   {
-      return i.position() >= j.position();
-   }
-
-   friend mapfile_iterator operator + (const mapfile_iterator& i, long off);
-   friend mapfile_iterator operator + (long off, const mapfile_iterator& i)
-   {
-      mapfile_iterator tmp(i);
-      return tmp += off;
-   }
-   friend mapfile_iterator operator - (const mapfile_iterator& i, long off);
-   friend inline long operator - (const mapfile_iterator& i, const mapfile_iterator& j)
-   {
-      return i.position() - j.position();
-   }
-};
-
-#endif
-
-// _fi_sep determines the directory separator, either '\\' or '/'
-BOOST_REGEX_DECL extern const char* _fi_sep;
-
-struct file_iterator_ref
-{
-   _fi_find_handle hf;
-   _fi_find_data _data;
-   long count;
-};
-
-
-class BOOST_REGEX_DECL file_iterator 
-{
-   char* _root;
-   char* _path;
-   char* ptr;
-   file_iterator_ref* ref;
-
-public:
-   typedef std::ptrdiff_t            difference_type;
-   typedef const char*               value_type;
-   typedef const char**              pointer;
-   typedef const char*&              reference;
-   typedef std::input_iterator_tag   iterator_category;
-
-   file_iterator();
-   file_iterator(const char* wild);
-   ~file_iterator();
-   file_iterator(const file_iterator&);
-   file_iterator& operator=(const file_iterator&);
-   const char* root()const { return _root; }
-   const char* path()const { return _path; }
-   const char* name()const { return ptr; }
-   _fi_find_data* data() { return &(ref->_data); }
-   void next();
-   file_iterator& operator++() { next(); return *this; }
-   file_iterator operator++(int);
-   const char* operator*() { return path(); }
-
-   friend inline bool operator == (const file_iterator& f1, const file_iterator& f2)
-   {
-      return ((f1.ref->hf == _fi_invalid_handle) && (f2.ref->hf == _fi_invalid_handle));
-   }
-
-   friend inline bool operator != (const file_iterator& f1, const file_iterator& f2)
-   {
-      return !(f1 == f2);
-   }
-
-};
-
-// dwa 9/13/00 - suppress unused parameter warning
-inline bool operator < (const file_iterator&, const file_iterator&)
-{
-   return false;
-}
-
-
-class BOOST_REGEX_DECL directory_iterator
-{
-   char* _root;
-   char* _path;
-   char* ptr;
-   file_iterator_ref* ref;
-
-public:
-   typedef std::ptrdiff_t            difference_type;
-   typedef const char*               value_type;
-   typedef const char**              pointer;
-   typedef const char*&              reference;
-   typedef std::input_iterator_tag   iterator_category;
-
-   directory_iterator();
-   directory_iterator(const char* wild);
-   ~directory_iterator();
-   directory_iterator(const directory_iterator& other);
-   directory_iterator& operator=(const directory_iterator& other);
-
-   const char* root()const { return _root; }
-   const char* path()const { return _path; }
-   const char* name()const { return ptr; }
-   _fi_find_data* data() { return &(ref->_data); }
-   void next();
-   directory_iterator& operator++() { next(); return *this; }
-   directory_iterator operator++(int);
-   const char* operator*() { return path(); }
-
-   static const char* separator() { return _fi_sep; }
-
-   friend inline bool operator == (const directory_iterator& f1, const directory_iterator& f2)
-   {
-      return ((f1.ref->hf == _fi_invalid_handle) && (f2.ref->hf == _fi_invalid_handle));
-   }
-
-
-   friend inline bool operator != (const directory_iterator& f1, const directory_iterator& f2)
-   {
-      return !(f1 == f2);
-   }
-
-   };
-
-inline bool operator < (const directory_iterator&, const directory_iterator&)
-{
-   return false;
-}
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-
-
-} // namespace re_detail
-using boost::re_detail::directory_iterator;
-using boost::re_detail::file_iterator;
-using boost::re_detail::mapfile;
-} // namespace boost
-
-#endif     // BOOST_REGEX_NO_FILEITER
-#endif     // BOOST_RE_FILEITER_HPP
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/regex/v4/instances.hpp b/SRC/Boost/boost/regex/v4/instances.hpp
deleted file mode 100755
index f452372..0000000
--- a/SRC/Boost/boost/regex/v4/instances.hpp
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the
- * Boost Software License, Version 1.0. (See accompanying file
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         instances.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Defines those template instances that are placed in the
-  *                library rather than in the users object files.
-  */
-
-//
-// note no include guard, we may include this multiple times:
-//
-#ifndef BOOST_REGEX_NO_EXTERNAL_TEMPLATES
-
-namespace boost{
-
-//
-// this header can be included multiple times, each time with
-// a different character type, BOOST_REGEX_CHAR_T must be defined
-// first:
-//
-#ifndef BOOST_REGEX_CHAR_T
-#  error "BOOST_REGEX_CHAR_T not defined"
-#endif
-
-#ifndef BOOST_REGEX_TRAITS_T
-#  define BOOST_REGEX_TRAITS_T , boost::regex_traits<BOOST_REGEX_CHAR_T >
-#endif
-
-//
-// what follows is compiler specific:
-//
-
-#if  defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-
-#  ifndef BOOST_REGEX_INSTANTIATE
-#     pragma option push -Jgx
-#  endif
-
-template class BOOST_REGEX_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >;
-template class BOOST_REGEX_DECL match_results< const BOOST_REGEX_CHAR_T* >;
-#ifndef BOOST_NO_STD_ALLOCATOR
-template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >;
-#endif
-
-#  ifndef BOOST_REGEX_INSTANTIATE
-#     pragma option pop
-#  endif
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-
-#elif defined(BOOST_MSVC) || defined(__ICL)
-
-#  ifndef BOOST_REGEX_INSTANTIATE
-#     ifdef __GNUC__
-#        define template __extension__ extern template
-#     else
-#        if BOOST_MSVC > 1310
-#           define BOOST_REGEX_TEMPLATE_DECL
-#        endif
-#        define template extern template
-#     endif
-#  endif
-
-#ifndef BOOST_REGEX_TEMPLATE_DECL
-#  define BOOST_REGEX_TEMPLATE_DECL BOOST_REGEX_DECL
-#endif
-
-#  ifdef BOOST_MSVC
-#     pragma warning(push)
-#     pragma warning(disable : 4251 4231 4660)
-#  endif
-
-template class BOOST_REGEX_TEMPLATE_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >;
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-template class BOOST_REGEX_TEMPLATE_DECL match_results< const BOOST_REGEX_CHAR_T* >;
-#endif
-#ifndef BOOST_NO_STD_ALLOCATOR
-template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >;
-#endif
-#if !(defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB <= 1))\
-   && !(defined(BOOST_INTEL_CXX_VERSION) && (BOOST_INTEL_CXX_VERSION <= 800))\
-   && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))\
-   && !defined(BOOST_REGEX_ICU_INSTANCES)
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-template class BOOST_REGEX_TEMPLATE_DECL match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >;
-#endif
-#ifndef BOOST_NO_STD_ALLOCATOR
-template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator, match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >::allocator_type, boost::regex_traits<BOOST_REGEX_CHAR_T > >;
-#endif
-#endif
-
-
-#  ifdef BOOST_MSVC
-#     pragma warning(pop)
-#  endif
-
-#  ifdef template
-#     undef template
-#  endif
-
-#undef BOOST_REGEX_TEMPLATE_DECL
-
-#elif (defined(__GNUC__) && (__GNUC__ >= 3)) || !defined(BOOST_NO_EXTERN_TEMPLATE)
-
-#  ifndef BOOST_REGEX_INSTANTIATE
-#     ifdef __GNUC__
-#        define template __extension__ extern template
-#     else
-#        define template extern template
-#     endif
-#  endif
-
-#if !defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_REGEX_ICU_INSTANCES)
-namespace re_detail{
-template BOOST_REGEX_DECL
-std::locale cpp_regex_traits_base<BOOST_REGEX_CHAR_T>::imbue(const std::locale& l);
-
-template BOOST_REGEX_DECL
-cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::string_type 
-   cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::transform_primary(const BOOST_REGEX_CHAR_T* p1, const BOOST_REGEX_CHAR_T* p2) const;
-template BOOST_REGEX_DECL
-cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::string_type 
-   cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::transform(const BOOST_REGEX_CHAR_T* p1, const BOOST_REGEX_CHAR_T* p2) const;
-template BOOST_REGEX_DECL
-cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::string_type 
-   cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::lookup_collatename(const BOOST_REGEX_CHAR_T* p1, const BOOST_REGEX_CHAR_T* p2) const;
-template BOOST_REGEX_DECL
-void cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::init();
-template BOOST_REGEX_DECL
-cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::char_class_type 
-   cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::lookup_classname_imp(const BOOST_REGEX_CHAR_T* p1, const BOOST_REGEX_CHAR_T* p2) const;
-#ifdef BOOST_REGEX_BUGGY_CTYPE_FACET
-template BOOST_REGEX_DECL
-bool cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::isctype(const BOOST_REGEX_CHAR_T c, char_class_type mask) const;
-#endif
-} // namespace
-template BOOST_REGEX_DECL
-int cpp_regex_traits<BOOST_REGEX_CHAR_T>::toi(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last, int radix)const;
-template BOOST_REGEX_DECL
-std::string cpp_regex_traits<BOOST_REGEX_CHAR_T>::catalog_name(const std::string& name);
-template BOOST_REGEX_DECL
-std::string& cpp_regex_traits<BOOST_REGEX_CHAR_T>::get_catalog_name_inst();
-template BOOST_REGEX_DECL
-std::string cpp_regex_traits<BOOST_REGEX_CHAR_T>::get_catalog_name();
-#ifdef BOOST_HAS_THREADS
-template BOOST_REGEX_DECL
-static_mutex& cpp_regex_traits<BOOST_REGEX_CHAR_T>::get_mutex_inst();
-#endif
-#endif
-
-template BOOST_REGEX_DECL basic_regex<BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >& 
-   basic_regex<BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >::do_assign(
-      const BOOST_REGEX_CHAR_T* p1, 
-      const BOOST_REGEX_CHAR_T* p2, 
-      flag_type f);
-template BOOST_REGEX_DECL basic_regex<BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >::locale_type BOOST_REGEX_CALL 
-   basic_regex<BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >::imbue(locale_type l);
-
-template BOOST_REGEX_DECL void BOOST_REGEX_CALL 
-   match_results<const BOOST_REGEX_CHAR_T*>::maybe_assign(
-      const match_results<const BOOST_REGEX_CHAR_T*>& m);
-
-namespace re_detail{
-template BOOST_REGEX_DECL void perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >::construct_init(
-      const basic_regex<BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >& e, match_flag_type f);
-template BOOST_REGEX_DECL bool perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >::match();
-template BOOST_REGEX_DECL bool perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >::find();
-} // namespace
-
-#if (defined(__GLIBCPP__) || defined(__GLIBCXX__)) \
-   && !defined(BOOST_REGEX_ICU_INSTANCES)\
-   && !defined(__SGI_STL_PORT)\
-   && !defined(_STLPORT_VERSION)
-// std:basic_string<>::const_iterator instances as well:
-template BOOST_REGEX_DECL void BOOST_REGEX_CALL 
-   match_results<std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator>::maybe_assign(
-      const match_results<std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator>& m);
-
-namespace re_detail{
-template BOOST_REGEX_DECL void perl_matcher<std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator, match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >::allocator_type, boost::regex_traits<BOOST_REGEX_CHAR_T > >::construct_init(
-      const basic_regex<BOOST_REGEX_CHAR_T>& e, match_flag_type f);
-template BOOST_REGEX_DECL bool perl_matcher<std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator, match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >::allocator_type, boost::regex_traits<BOOST_REGEX_CHAR_T > >::match();
-template BOOST_REGEX_DECL bool perl_matcher<std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator, match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >::allocator_type, boost::regex_traits<BOOST_REGEX_CHAR_T > >::find();
-} // namespace
-#endif
-
-#  ifdef template
-#     undef template
-#  endif
-
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_REGEX_NO_EXTERNAL_TEMPLATES
-
-
-
-
-
diff --git a/SRC/Boost/boost/regex/v4/iterator_category.hpp b/SRC/Boost/boost/regex/v4/iterator_category.hpp
deleted file mode 100755
index f428330..0000000
--- a/SRC/Boost/boost/regex/v4/iterator_category.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- *
- * Copyright (c) 2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_match.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Iterator traits for selecting an iterator type as
-  *                an integral constant expression.
-  */
-
-
-#ifndef BOOST_REGEX_ITERATOR_CATEGORY_HPP
-#define BOOST_REGEX_ITERATOR_CATEGORY_HPP
-
-#include <iterator>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-
-namespace boost{
-namespace detail{
-
-template <class I>
-struct is_random_imp
-{
-#ifndef BOOST_NO_STD_ITERATOR_TRAITS
-private:
-   typedef typename std::iterator_traits<I>::iterator_category cat;
-public:
-   BOOST_STATIC_CONSTANT(bool, value = (::boost::is_convertible<cat*, std::random_access_iterator_tag*>::value));
-#else
-   BOOST_STATIC_CONSTANT(bool, value = false);
-#endif
-};
-
-template <class I>
-struct is_random_pointer_imp
-{
-   BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template <bool is_pointer_type>
-struct is_random_imp_selector
-{
-   template <class I>
-   struct rebind
-   {
-      typedef is_random_imp<I> type;
-   };
-};
-
-template <>
-struct is_random_imp_selector<true>
-{
-   template <class I>
-   struct rebind
-   {
-      typedef is_random_pointer_imp<I> type;
-   };
-};
-
-}
-
-template <class I>
-struct is_random_access_iterator
-{
-private:
-   typedef detail::is_random_imp_selector< ::boost::is_pointer<I>::value> selector;
-   typedef typename selector::template rebind<I> bound_type;
-   typedef typename bound_type::type answer;
-public:
-   BOOST_STATIC_CONSTANT(bool, value = answer::value);
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-template <class I>
-const bool is_random_access_iterator<I>::value;
-#endif
-
-}
-
-#endif
-
diff --git a/SRC/Boost/boost/regex/v4/iterator_traits.hpp b/SRC/Boost/boost/regex/v4/iterator_traits.hpp
deleted file mode 100755
index 1bbb423..0000000
--- a/SRC/Boost/boost/regex/v4/iterator_traits.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         iterator_traits.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares iterator traits workarounds.
-  */
-
-#ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP
-#define BOOST_REGEX_V4_ITERATOR_TRAITS_HPP
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-namespace boost{
-namespace re_detail{
-
-#if defined(BOOST_NO_STD_ITERATOR_TRAITS) || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <class T>
-struct regex_iterator_traits 
-{
-  typedef typename T::iterator_category iterator_category;
-  typedef typename T::value_type        value_type;
-#if !defined(BOOST_NO_STD_ITERATOR)
-  typedef typename T::difference_type   difference_type;
-  typedef typename T::pointer           pointer;
-  typedef typename T::reference         reference;
-#else
-  typedef std::ptrdiff_t                difference_type;
-  typedef value_type*                   pointer;
-  typedef value_type&                   reference;
-#endif
-};
-
-template <class T>
-struct pointer_iterator_traits
-{
-   typedef std::ptrdiff_t difference_type;
-   typedef T value_type;
-   typedef T* pointer;
-   typedef T& reference;
-   typedef std::random_access_iterator_tag iterator_category;
-};
-template <class T>
-struct const_pointer_iterator_traits
-{
-   typedef std::ptrdiff_t difference_type;
-   typedef T value_type;
-   typedef const T* pointer;
-   typedef const T& reference;
-   typedef std::random_access_iterator_tag iterator_category;
-};
-
-template<>
-struct regex_iterator_traits<char*> : pointer_iterator_traits<char>{};
-template<>
-struct regex_iterator_traits<const char*> : const_pointer_iterator_traits<char>{};
-template<>
-struct regex_iterator_traits<wchar_t*> : pointer_iterator_traits<wchar_t>{};
-template<>
-struct regex_iterator_traits<const wchar_t*> : const_pointer_iterator_traits<wchar_t>{};
-//
-// the follwoing are needed for ICU support:
-//
-template<>
-struct regex_iterator_traits<unsigned char*> : pointer_iterator_traits<char>{};
-template<>
-struct regex_iterator_traits<const unsigned char*> : const_pointer_iterator_traits<char>{};
-template<>
-struct regex_iterator_traits<int*> : pointer_iterator_traits<int>{};
-template<>
-struct regex_iterator_traits<const int*> : const_pointer_iterator_traits<int>{};
-
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-template<>
-struct regex_iterator_traits<unsigned short*> : pointer_iterator_traits<unsigned short>{};
-template<>
-struct regex_iterator_traits<const unsigned short*> : const_pointer_iterator_traits<unsigned short>{};
-#endif
-
-#if defined(__SGI_STL_PORT) && defined(__STL_DEBUG)
-template<>
-struct regex_iterator_traits<std::string::iterator> : pointer_iterator_traits<char>{};
-template<>
-struct regex_iterator_traits<std::string::const_iterator> : const_pointer_iterator_traits<char>{};
-#ifndef BOOST_NO_STD_WSTRING
-template<>
-struct regex_iterator_traits<std::wstring::iterator> : pointer_iterator_traits<wchar_t>{};
-template<>
-struct regex_iterator_traits<std::wstring::const_iterator> : const_pointer_iterator_traits<wchar_t>{};
-#endif // BOOST_NO_WSTRING
-#endif // stport
-
-#else
-
-template <class T>
-struct regex_iterator_traits : public std::iterator_traits<T> {};
-
-#endif
-
-} // namespace re_detail
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
diff --git a/SRC/Boost/boost/regex/v4/match_flags.hpp b/SRC/Boost/boost/regex/v4/match_flags.hpp
deleted file mode 100755
index 2c360a9..0000000
--- a/SRC/Boost/boost/regex/v4/match_flags.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         match_flags.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares match_flags type.
-  */
-
-#ifndef BOOST_REGEX_V4_MATCH_FLAGS
-#define BOOST_REGEX_V4_MATCH_FLAGS
-
-#ifdef __cplusplus
-#  include <boost/cstdint.hpp>
-#endif
-
-#ifdef __cplusplus
-namespace boost{
-   namespace regex_constants{
-#endif
-
-typedef enum _match_flags
-{
-   match_default = 0,
-   match_not_bol = 1,                                /* first is not start of line */
-   match_not_eol = match_not_bol << 1,               /* last is not end of line */
-   match_not_bob = match_not_eol << 1,               /* first is not start of buffer */
-   match_not_eob = match_not_bob << 1,               /* last is not end of buffer */
-   match_not_bow = match_not_eob << 1,               /* first is not start of word */
-   match_not_eow = match_not_bow << 1,               /* last is not end of word */
-   match_not_dot_newline = match_not_eow << 1,       /* \n is not matched by '.' */
-   match_not_dot_null = match_not_dot_newline << 1,  /* '\0' is not matched by '.' */
-   match_prev_avail = match_not_dot_null << 1,       /* *--first is a valid expression */
-   match_init = match_prev_avail << 1,               /* internal use */
-   match_any = match_init << 1,                      /* don't care what we match */
-   match_not_null = match_any << 1,                  /* string can't be null */
-   match_continuous = match_not_null << 1,           /* each grep match must continue from */
-                                                     /* uninterupted from the previous one */
-   match_partial = match_continuous << 1,            /* find partial matches */
-   
-   match_stop = match_partial << 1,                  /* stop after first match (grep) V3 only */
-   match_not_initial_null = match_stop,              /* don't match initial null, V4 only */
-   match_all = match_stop << 1,                      /* must find the whole of input even if match_any is set */
-   match_perl = match_all << 1,                      /* Use perl matching rules */
-   match_posix = match_perl << 1,                    /* Use POSIX matching rules */
-   match_nosubs = match_posix << 1,                  /* don't trap marked subs */
-   match_extra = match_nosubs << 1,                  /* include full capture information for repeated captures */
-   match_single_line = match_extra << 1,             /* treat text as single line and ignor any \n's when matching ^ and $. */
-   match_unused1 = match_single_line << 1,           /* unused */
-   match_unused2 = match_unused1 << 1,               /* unused */
-   match_unused3 = match_unused2 << 1,               /* unused */
-   match_max = match_unused3,
-
-   format_perl = 0,                                  /* perl style replacement */
-   format_default = 0,                               /* ditto. */
-   format_sed = match_max << 1,                      /* sed style replacement. */
-   format_all = format_sed << 1,                     /* enable all extentions to sytax. */
-   format_no_copy = format_all << 1,                 /* don't copy non-matching segments. */
-   format_first_only = format_no_copy << 1,          /* Only replace first occurance. */
-   format_is_if = format_first_only << 1,            /* internal use only. */
-   format_literal = format_is_if << 1                /* treat string as a literal */
-
-} match_flags;
-
-#if (defined(_MSC_VER) && (_MSC_VER < 1300)) || defined(__BORLANDC__)
-typedef unsigned long match_flag_type;
-#else
-typedef match_flags match_flag_type;
-
-
-#ifdef __cplusplus
-inline match_flags operator&(match_flags m1, match_flags m2)
-{ return static_cast<match_flags>(static_cast<boost::int32_t>(m1) & static_cast<boost::int32_t>(m2)); }
-inline match_flags operator|(match_flags m1, match_flags m2)
-{ return static_cast<match_flags>(static_cast<boost::int32_t>(m1) | static_cast<boost::int32_t>(m2)); }
-inline match_flags operator^(match_flags m1, match_flags m2)
-{ return static_cast<match_flags>(static_cast<boost::int32_t>(m1) ^ static_cast<boost::int32_t>(m2)); }
-inline match_flags operator~(match_flags m1)
-{ return static_cast<match_flags>(~static_cast<boost::int32_t>(m1)); }
-inline match_flags& operator&=(match_flags& m1, match_flags m2)
-{ m1 = m1&m2; return m1; }
-inline match_flags& operator|=(match_flags& m1, match_flags m2)
-{ m1 = m1|m2; return m1; }
-inline match_flags& operator^=(match_flags& m1, match_flags m2)
-{ m1 = m1^m2; return m1; }
-#endif
-#endif
-
-#ifdef __cplusplus
-} /* namespace regex_constants */
-/*
- * import names into boost for backwards compatiblity:
- */
-using regex_constants::match_flag_type;
-using regex_constants::match_default;
-using regex_constants::match_not_bol;
-using regex_constants::match_not_eol;
-using regex_constants::match_not_bob;
-using regex_constants::match_not_eob;
-using regex_constants::match_not_bow;
-using regex_constants::match_not_eow;
-using regex_constants::match_not_dot_newline;
-using regex_constants::match_not_dot_null;
-using regex_constants::match_prev_avail;
-/* using regex_constants::match_init; */
-using regex_constants::match_any;
-using regex_constants::match_not_null;
-using regex_constants::match_continuous;
-using regex_constants::match_partial;
-/*using regex_constants::match_stop; */
-using regex_constants::match_all;
-using regex_constants::match_perl;
-using regex_constants::match_posix;
-using regex_constants::match_nosubs;
-using regex_constants::match_extra;
-using regex_constants::match_single_line;
-/*using regex_constants::match_max; */
-using regex_constants::format_all;
-using regex_constants::format_sed;
-using regex_constants::format_perl;
-using regex_constants::format_default;
-using regex_constants::format_no_copy;
-using regex_constants::format_first_only;
-/*using regex_constants::format_is_if;*/
-
-} /* namespace boost */
-#endif /* __cplusplus */
-#endif /* include guard */
-
diff --git a/SRC/Boost/boost/regex/v4/match_results.hpp b/SRC/Boost/boost/regex/v4/match_results.hpp
deleted file mode 100755
index 9b6baa4..0000000
--- a/SRC/Boost/boost/regex/v4/match_results.hpp
+++ /dev/null
@@ -1,699 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2009
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         match_results.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares template class match_results.
-  */
-
-#ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP
-#define BOOST_REGEX_V4_MATCH_RESULTS_HPP
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-namespace boost{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable : 4251 4231 4660)
-#endif
-
-namespace re_detail{
-
-class named_subexpressions;
-
-}
-
-template <class BidiIterator, class Allocator>
-class match_results
-{ 
-private:
-#ifndef BOOST_NO_STD_ALLOCATOR
-   typedef          std::vector<sub_match<BidiIterator>, Allocator> vector_type;
-#else
-   typedef          std::vector<sub_match<BidiIterator> >           vector_type;
-#endif
-public: 
-   typedef          sub_match<BidiIterator>                         value_type;
-#if  !defined(BOOST_NO_STD_ALLOCATOR) && !(defined(BOOST_MSVC) && defined(_STLPORT_VERSION))
-   typedef typename Allocator::const_reference                              const_reference;
-#else
-   typedef          const value_type&                                       const_reference;
-#endif
-   typedef          const_reference                                         reference;
-   typedef typename vector_type::const_iterator                             const_iterator;
-   typedef          const_iterator                                          iterator;
-   typedef typename re_detail::regex_iterator_traits<
-                                    BidiIterator>::difference_type          difference_type;
-   typedef typename Allocator::size_type                                    size_type;
-   typedef          Allocator                                               allocator_type;
-   typedef typename re_detail::regex_iterator_traits<
-                                    BidiIterator>::value_type               char_type;
-   typedef          std::basic_string<char_type>                            string_type;
-   typedef          re_detail::named_subexpressions                         named_sub_type;
-
-   // construct/copy/destroy:
-   explicit match_results(const Allocator& a = Allocator())
-#ifndef BOOST_NO_STD_ALLOCATOR
-      : m_subs(a), m_base(), m_last_closed_paren(0), m_is_singular(true) {}
-#else
-      : m_subs(), m_base(), m_last_closed_paren(0), m_is_singular(true) { (void)a; }
-#endif
-   match_results(const match_results& m)
-      : m_subs(m.m_subs), m_named_subs(m.m_named_subs), m_last_closed_paren(m.m_last_closed_paren), m_is_singular(m.m_is_singular) 
-   {
-      if(!m_is_singular)
-      {
-         m_base = m.m_base;
-         m_null = m.m_null;
-      }
-   }
-   match_results& operator=(const match_results& m)
-   {
-      m_subs = m.m_subs;
-      m_named_subs = m.m_named_subs;
-      m_last_closed_paren = m.m_last_closed_paren;
-      m_is_singular = m.m_is_singular;
-      if(!m_is_singular)
-      {
-         m_base = m.m_base;
-         m_null = m.m_null;
-      }
-      return *this;
-   }
-   ~match_results(){}
-
-   // size:
-   size_type size() const
-   { return empty() ? 0 : m_subs.size() - 2; }
-   size_type max_size() const
-   { return m_subs.max_size(); }
-   bool empty() const
-   { return m_subs.size() < 2; }
-   // element access:
-   difference_type length(int sub = 0) const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      sub += 2;
-      if((sub < (int)m_subs.size()) && (sub > 0))
-         return m_subs[sub].length();
-      return 0;
-   }
-   difference_type length(const char_type* sub) const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      const char_type* sub_end = sub;
-      while(*sub_end) ++sub_end;
-      return length(named_subexpression_index(sub, sub_end));
-   }
-   template <class charT>
-   difference_type length(const charT* sub) const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      const charT* sub_end = sub;
-      while(*sub_end) ++sub_end;
-      return length(named_subexpression_index(sub, sub_end));
-   }
-   template <class charT, class Traits, class A>
-   difference_type length(const std::basic_string<charT, Traits, A>& sub) const
-   {
-      return length(sub.c_str());
-   }
-   difference_type position(size_type sub = 0) const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      sub += 2;
-      if(sub < m_subs.size())
-      {
-         const sub_match<BidiIterator>& s = m_subs[sub];
-         if(s.matched || (sub == 2))
-         {
-            return ::boost::re_detail::distance((BidiIterator)(m_base), (BidiIterator)(s.first));
-         }
-      }
-      return ~static_cast<difference_type>(0);
-   }
-   difference_type position(const char_type* sub) const
-   {
-      const char_type* sub_end = sub;
-      while(*sub_end) ++sub_end;
-      return position(named_subexpression_index(sub, sub_end));
-   }
-   template <class charT>
-   difference_type position(const charT* sub) const
-   {
-      const charT* sub_end = sub;
-      while(*sub_end) ++sub_end;
-      return position(named_subexpression_index(sub, sub_end));
-   }
-   template <class charT, class Traits, class A>
-   difference_type position(const std::basic_string<charT, Traits, A>& sub) const
-   {
-      return position(sub.c_str());
-   }
-   string_type str(int sub = 0) const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      sub += 2;
-      string_type result;
-      if(sub < (int)m_subs.size() && (sub > 0))
-      {
-         const sub_match<BidiIterator>& s = m_subs[sub];
-         if(s.matched)
-         {
-            result = s.str();
-         }
-      }
-      return result;
-   }
-   string_type str(const char_type* sub) const
-   {
-      return (*this)[sub].str();
-   }
-   template <class Traits, class A>
-   string_type str(const std::basic_string<char_type, Traits, A>& sub) const
-   {
-      return (*this)[sub].str();
-   }
-   template <class charT>
-   string_type str(const charT* sub) const
-   {
-      return (*this)[sub].str();
-   }
-   template <class charT, class Traits, class A>
-   string_type str(const std::basic_string<charT, Traits, A>& sub) const
-   {
-      return (*this)[sub].str();
-   }
-   const_reference operator[](int sub) const
-   {
-      if(m_is_singular && m_subs.empty())
-         raise_logic_error();
-      sub += 2;
-      if(sub < (int)m_subs.size() && (sub >= 0))
-      {
-         return m_subs[sub];
-      }
-      return m_null;
-   }
-   //
-   // Named sub-expressions:
-   //
-   const_reference named_subexpression(const char_type* i, const char_type* j) const
-   {
-      //
-      // Scan for the leftmost *matched* subexpression with the specified named:
-      //
-      if(m_is_singular)
-         raise_logic_error();
-      re_detail::named_subexpressions::range_type r = m_named_subs->equal_range(i, j);
-      while((r.first != r.second) && ((*this)[r.first->index].matched == false))
-         ++r.first;
-      return r.first != r.second ? (*this)[r.first->index] : m_null;
-   }
-   template <class charT>
-   const_reference named_subexpression(const charT* i, const charT* j) const
-   {
-      BOOST_STATIC_ASSERT(sizeof(charT) <= sizeof(char_type));
-      if(i == j)
-         return m_null;
-      std::vector<char_type> s;
-      while(i != j)
-         s.insert(s.end(), *i++);
-      return named_subexpression(&*s.begin(), &*s.begin() + s.size());
-   }
-   int named_subexpression_index(const char_type* i, const char_type* j) const
-   {
-      //
-      // Scan for the leftmost *matched* subexpression with the specified named.
-      // If none found then return the leftmost expression with that name,
-      // otherwise an invalid index:
-      //
-      if(m_is_singular)
-         raise_logic_error();
-      re_detail::named_subexpressions::range_type s, r;
-      s = r = m_named_subs->equal_range(i, j);
-      while((r.first != r.second) && ((*this)[r.first->index].matched == false))
-         ++r.first;
-      if(r.first == r.second)
-         r = s;
-      return r.first != r.second ? r.first->index : -20;
-   }
-   template <class charT>
-   int named_subexpression_index(const charT* i, const charT* j) const
-   {
-      BOOST_STATIC_ASSERT(sizeof(charT) <= sizeof(char_type));
-      if(i == j)
-         return -20;
-      std::vector<char_type> s;
-      while(i != j)
-         s.insert(s.end(), *i++);
-      return named_subexpression_index(&*s.begin(), &*s.begin() + s.size());
-   }
-   template <class Traits, class A>
-   const_reference operator[](const std::basic_string<char_type, Traits, A>& s) const
-   {
-      return named_subexpression(s.c_str(), s.c_str() + s.size());
-   }
-   const_reference operator[](const char_type* p) const
-   {
-      const char_type* e = p;
-      while(*e) ++e;
-      return named_subexpression(p, e);
-   }
-
-   template <class charT>
-   const_reference operator[](const charT* p) const
-   {
-      BOOST_STATIC_ASSERT(sizeof(charT) <= sizeof(char_type));
-      if(*p == 0)
-         return m_null;
-      std::vector<char_type> s;
-      while(*p)
-         s.insert(s.end(), *p++);
-      return named_subexpression(&*s.begin(), &*s.begin() + s.size());
-   }
-   template <class charT, class Traits, class A>
-   const_reference operator[](const std::basic_string<charT, Traits, A>& ns) const
-   {
-      BOOST_STATIC_ASSERT(sizeof(charT) <= sizeof(char_type));
-      if(ns.empty())
-         return m_null;
-      std::vector<char_type> s;
-      for(unsigned i = 0; i < ns.size(); ++i)
-         s.insert(s.end(), ns[i]);
-      return named_subexpression(&*s.begin(), &*s.begin() + s.size());
-   }
-
-   const_reference prefix() const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      return (*this)[-1];
-   }
-
-   const_reference suffix() const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      return (*this)[-2];
-   }
-   const_iterator begin() const
-   {
-      return (m_subs.size() > 2) ? (m_subs.begin() + 2) : m_subs.end();
-   }
-   const_iterator end() const
-   {
-      return m_subs.end();
-   }
-   // format:
-   template <class OutputIterator, class Functor>
-   OutputIterator format(OutputIterator out,
-                         Functor fmt,
-                         match_flag_type flags = format_default) const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      typedef typename re_detail::compute_functor_type<Functor, match_results<BidiIterator, Allocator>, OutputIterator>::type F;
-      F func(fmt);
-      return func(*this, out, flags);
-   }
-   template <class Functor>
-   string_type format(Functor fmt, match_flag_type flags = format_default) const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      std::basic_string<char_type> result;
-      re_detail::string_out_iterator<std::basic_string<char_type> > i(result);
-
-      typedef typename re_detail::compute_functor_type<Functor, match_results<BidiIterator, Allocator>, re_detail::string_out_iterator<std::basic_string<char_type> > >::type F;
-      F func(fmt);
-
-      func(*this, i, flags);
-      return result;
-   }
-   // format with locale:
-   template <class OutputIterator, class Functor, class RegexT>
-   OutputIterator format(OutputIterator out,
-                         Functor fmt,
-                         match_flag_type flags,
-                         const RegexT& re) const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      typedef ::boost::regex_traits_wrapper<typename RegexT::traits_type> traits_type;
-      typedef typename re_detail::compute_functor_type<Functor, match_results<BidiIterator, Allocator>, OutputIterator, traits_type>::type F;
-      F func(fmt);
-      return func(*this, out, flags, re.get_traits());
-   }
-   template <class RegexT, class Functor>
-   string_type format(Functor fmt,
-                      match_flag_type flags,
-                      const RegexT& re) const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      typedef ::boost::regex_traits_wrapper<typename RegexT::traits_type> traits_type;
-      std::basic_string<char_type> result;
-      re_detail::string_out_iterator<std::basic_string<char_type> > i(result);
-
-      typedef typename re_detail::compute_functor_type<Functor, match_results<BidiIterator, Allocator>, re_detail::string_out_iterator<std::basic_string<char_type> >, traits_type >::type F;
-      F func(fmt);
-
-      func(*this, i, flags, re.get_traits());
-      return result;
-   }
-
-   const_reference get_last_closed_paren()const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      return m_last_closed_paren == 0 ? m_null : (*this)[m_last_closed_paren];
-   }
-
-   allocator_type get_allocator() const
-   {
-#ifndef BOOST_NO_STD_ALLOCATOR
-      return m_subs.get_allocator();
-#else
-     return allocator_type();
-#endif
-   }
-   void swap(match_results& that)
-   {
-      std::swap(m_subs, that.m_subs);
-      std::swap(m_named_subs, that.m_named_subs);
-      std::swap(m_last_closed_paren, that.m_last_closed_paren);
-      if(m_is_singular)
-      {
-         if(!that.m_is_singular)
-         {
-            m_base = that.m_base;
-            m_null = that.m_null;
-         }
-      }
-      else if(that.m_is_singular)
-      {
-         that.m_base = m_base;
-         that.m_null = m_null;
-      }
-      else
-      {
-         std::swap(m_base, that.m_base);
-         std::swap(m_null, that.m_null);
-      }
-      std::swap(m_is_singular, that.m_is_singular);
-   }
-   bool operator==(const match_results& that)const
-   {
-      if(m_is_singular)
-      {
-         return that.m_is_singular;
-      }
-      else if(that.m_is_singular)
-      {
-         return false;
-      }
-      return (m_subs == that.m_subs) && (m_base == that.m_base) && (m_last_closed_paren == that.m_last_closed_paren);
-   }
-   bool operator!=(const match_results& that)const
-   { return !(*this == that); }
-
-#ifdef BOOST_REGEX_MATCH_EXTRA
-   typedef typename sub_match<BidiIterator>::capture_sequence_type capture_sequence_type;
-
-   const capture_sequence_type& captures(int i)const
-   {
-      if(m_is_singular)
-         raise_logic_error();
-      return (*this)[i].captures();
-   }
-#endif
-
-   //
-   // private access functions:
-   void BOOST_REGEX_CALL set_second(BidiIterator i)
-   {
-      BOOST_ASSERT(m_subs.size() > 2);
-      m_subs[2].second = i;
-      m_subs[2].matched = true;
-      m_subs[0].first = i;
-      m_subs[0].matched = (m_subs[0].first != m_subs[0].second);
-      m_null.first = i;
-      m_null.second = i;
-      m_null.matched = false;
-      m_is_singular = false;
-   }
-
-   void BOOST_REGEX_CALL set_second(BidiIterator i, size_type pos, bool m = true, bool escape_k = false)
-   {
-      if(pos)
-         m_last_closed_paren = static_cast<int>(pos);
-      pos += 2;
-      BOOST_ASSERT(m_subs.size() > pos);
-      m_subs[pos].second = i;
-      m_subs[pos].matched = m;
-      if((pos == 2) && !escape_k)
-      {
-         m_subs[0].first = i;
-         m_subs[0].matched = (m_subs[0].first != m_subs[0].second);
-         m_null.first = i;
-         m_null.second = i;
-         m_null.matched = false;
-         m_is_singular = false;
-      }
-   }
-   void BOOST_REGEX_CALL set_size(size_type n, BidiIterator i, BidiIterator j)
-   {
-      value_type v(j);
-      size_type len = m_subs.size();
-      if(len > n + 2)
-      {
-         m_subs.erase(m_subs.begin()+n+2, m_subs.end());
-         std::fill(m_subs.begin(), m_subs.end(), v);
-      }
-      else
-      {
-         std::fill(m_subs.begin(), m_subs.end(), v);
-         if(n+2 != len)
-            m_subs.insert(m_subs.end(), n+2-len, v);
-      }
-      m_subs[1].first = i;
-      m_last_closed_paren = 0;
-   }
-   void BOOST_REGEX_CALL set_base(BidiIterator pos)
-   {
-      m_base = pos;
-   }
-   BidiIterator base()const
-   {
-      return m_base;
-   }
-   void BOOST_REGEX_CALL set_first(BidiIterator i)
-   {
-      BOOST_ASSERT(m_subs.size() > 2);
-      // set up prefix:
-      m_subs[1].second = i;
-      m_subs[1].matched = (m_subs[1].first != i);
-      // set up $0:
-      m_subs[2].first = i;
-      // zero out everything else:
-      for(size_type n = 3; n < m_subs.size(); ++n)
-      {
-         m_subs[n].first = m_subs[n].second = m_subs[0].second;
-         m_subs[n].matched = false;
-      }
-   }
-   void BOOST_REGEX_CALL set_first(BidiIterator i, size_type pos, bool escape_k = false)
-   {
-      BOOST_ASSERT(pos+2 < m_subs.size());
-      if(pos || escape_k)
-      {
-         m_subs[pos+2].first = i;
-         if(escape_k)
-         {
-            m_subs[1].second = i;
-            m_subs[1].matched = (m_subs[1].first != m_subs[1].second);
-         }
-      }
-      else
-         set_first(i);
-   }
-   void BOOST_REGEX_CALL maybe_assign(const match_results<BidiIterator, Allocator>& m);
-
-   void BOOST_REGEX_CALL set_named_subs(boost::shared_ptr<named_sub_type> subs)
-   {
-      m_named_subs = subs;
-   }
-
-private:
-   //
-   // Error handler called when an uninitialized match_results is accessed:
-   //
-   static void raise_logic_error()
-   {
-      std::logic_error e("Attempt to access an uninitialzed boost::match_results<> class.");
-      boost::throw_exception(e);
-   }
-
-
-   vector_type            m_subs;                      // subexpressions
-   BidiIterator   m_base;                              // where the search started from
-   sub_match<BidiIterator> m_null;                     // a null match
-   boost::shared_ptr<named_sub_type> m_named_subs;     // Shared copy of named subs in the regex object
-   int m_last_closed_paren;                            // Last ) to be seen - used for formatting
-   bool m_is_singular;                                 // True if our stored iterators are singular
-};
-
-template <class BidiIterator, class Allocator>
-void BOOST_REGEX_CALL match_results<BidiIterator, Allocator>::maybe_assign(const match_results<BidiIterator, Allocator>& m)
-{
-   if(m_is_singular)
-   {
-      *this = m;
-      return;
-   }
-   const_iterator p1, p2;
-   p1 = begin();
-   p2 = m.begin();
-   //
-   // Distances are measured from the start of *this* match, unless this isn't
-   // a valid match in which case we use the start of the whole sequence.  Note that
-   // no subsequent match-candidate can ever be to the left of the first match found.
-   // This ensures that when we are using bidirectional iterators, that distances 
-   // measured are as short as possible, and therefore as efficient as possible
-   // to compute.  Finally note that we don't use the "matched" data member to test
-   // whether a sub-expression is a valid match, because partial matches set this
-   // to false for sub-expression 0.
-   //
-   BidiIterator l_end = this->suffix().second;
-   BidiIterator l_base = (p1->first == l_end) ? this->prefix().first : (*this)[0].first;
-   difference_type len1 = 0;
-   difference_type len2 = 0;
-   difference_type base1 = 0;
-   difference_type base2 = 0;
-   std::size_t i;
-   for(i = 0; i < size(); ++i, ++p1, ++p2)
-   {
-      //
-      // Leftmost takes priority over longest; handle special cases
-      // where distances need not be computed first (an optimisation
-      // for bidirectional iterators: ensure that we don't accidently
-      // compute the length of the whole sequence, as this can be really
-      // expensive).
-      //
-      if(p1->first == l_end)
-      {
-         if(p2->first != l_end)
-         {
-            // p2 must be better than p1, and no need to calculate
-            // actual distances:
-            base1 = 1;
-            base2 = 0;
-            break;
-         }
-         else
-         {
-            // *p1 and *p2 are either unmatched or match end-of sequence,
-            // either way no need to calculate distances:
-            if((p1->matched == false) && (p2->matched == true))
-               break;
-            if((p1->matched == true) && (p2->matched == false))
-               return;
-            continue;
-         }
-      }
-      else if(p2->first == l_end)
-      {
-         // p1 better than p2, and no need to calculate distances:
-         return;
-      }
-      base1 = ::boost::re_detail::distance(l_base, p1->first);
-      base2 = ::boost::re_detail::distance(l_base, p2->first);
-      BOOST_ASSERT(base1 >= 0);
-      BOOST_ASSERT(base2 >= 0);
-      if(base1 < base2) return;
-      if(base2 < base1) break;
-
-      len1 = ::boost::re_detail::distance((BidiIterator)p1->first, (BidiIterator)p1->second);
-      len2 = ::boost::re_detail::distance((BidiIterator)p2->first, (BidiIterator)p2->second);
-      BOOST_ASSERT(len1 >= 0);
-      BOOST_ASSERT(len2 >= 0);
-      if((len1 != len2) || ((p1->matched == false) && (p2->matched == true)))
-         break;
-      if((p1->matched == true) && (p2->matched == false))
-         return;
-   }
-   if(i == size())
-      return;
-   if(base2 < base1)
-      *this = m;
-   else if((len2 > len1) || ((p1->matched == false) && (p2->matched == true)) )
-      *this = m;
-}
-
-template <class BidiIterator, class Allocator>
-void swap(match_results<BidiIterator, Allocator>& a, match_results<BidiIterator, Allocator>& b)
-{
-   a.swap(b);
-}
-
-#ifndef BOOST_NO_STD_LOCALE
-template <class charT, class traits, class BidiIterator, class Allocator>
-std::basic_ostream<charT, traits>&
-   operator << (std::basic_ostream<charT, traits>& os,
-                const match_results<BidiIterator, Allocator>& s)
-{
-   return (os << s.str());
-}
-#else
-template <class BidiIterator, class Allocator>
-std::ostream& operator << (std::ostream& os,
-                           const match_results<BidiIterator, Allocator>& s)
-{
-   return (os << s.str());
-}
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
-
diff --git a/SRC/Boost/boost/regex/v4/mem_block_cache.hpp b/SRC/Boost/boost/regex/v4/mem_block_cache.hpp
deleted file mode 100755
index dcd80cd..0000000
--- a/SRC/Boost/boost/regex/v4/mem_block_cache.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
- /*
- * Copyright (c) 2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         mem_block_cache.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: memory block cache used by the non-recursive matcher.
-  */
-
-#ifndef BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP
-#define BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP
-
-#include <new>
-#ifdef BOOST_HAS_THREADS
-#include <boost/regex/pending/static_mutex.hpp>
-#endif
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-
-namespace boost{
-namespace re_detail{
-
-struct mem_block_node
-{
-   mem_block_node* next;
-};
-
-struct mem_block_cache
-{
-   // this member has to be statically initialsed:
-   mem_block_node* next;
-   unsigned cached_blocks;
-#ifdef BOOST_HAS_THREADS
-   boost::static_mutex mut;
-#endif
-
-   ~mem_block_cache()
-   {
-      while(next)
-      {
-         mem_block_node* old = next;
-         next = next->next;
-         ::operator delete(old);
-      }
-   }
-   void* get()
-   {
-#ifdef BOOST_HAS_THREADS
-      boost::static_mutex::scoped_lock g(mut);
-#endif
-     if(next)
-      {
-         mem_block_node* result = next;
-         next = next->next;
-         --cached_blocks;
-         return result;
-      }
-      return ::operator new(BOOST_REGEX_BLOCKSIZE);
-   }
-   void put(void* p)
-   {
-#ifdef BOOST_HAS_THREADS
-      boost::static_mutex::scoped_lock g(mut);
-#endif
-      if(cached_blocks >= BOOST_REGEX_MAX_CACHE_BLOCKS)
-      {
-         ::operator delete(p);
-      }
-      else
-      {
-         mem_block_node* old = static_cast<mem_block_node*>(p);
-         old->next = next;
-         next = old;
-         ++cached_blocks;
-      }
-   }
-};
-
-extern mem_block_cache block_cache;
-
-}
-} // namespace boost
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-
-#endif
-
diff --git a/SRC/Boost/boost/regex/v4/perl_matcher.hpp b/SRC/Boost/boost/regex/v4/perl_matcher.hpp
deleted file mode 100755
index 3817afe..0000000
--- a/SRC/Boost/boost/regex/v4/perl_matcher.hpp
+++ /dev/null
@@ -1,584 +0,0 @@
-/*
- *
- * Copyright (c) 2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
-#ifndef BOOST_REGEX_MATCHER_HPP
-#define BOOST_REGEX_MATCHER_HPP
-
-#include <boost/regex/v4/iterator_category.hpp>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable: 4800)
-#endif
-
-namespace boost{
-namespace re_detail{
-
-//
-// error checking API:
-//
-BOOST_REGEX_DECL void BOOST_REGEX_CALL verify_options(boost::regex_constants::syntax_option_type ef, match_flag_type mf);
-//
-// function can_start:
-//
-template <class charT>
-inline bool can_start(charT c, const unsigned char* map, unsigned char mask)
-{
-   return ((c < static_cast<charT>(0)) ? true : ((c >= static_cast<charT>(1 << CHAR_BIT)) ? true : map[c] & mask));
-}
-inline bool can_start(char c, const unsigned char* map, unsigned char mask)
-{
-   return map[(unsigned char)c] & mask;
-}
-inline bool can_start(signed char c, const unsigned char* map, unsigned char mask)
-{
-   return map[(unsigned char)c] & mask;
-}
-inline bool can_start(unsigned char c, const unsigned char* map, unsigned char mask)
-{
-   return map[c] & mask;
-}
-inline bool can_start(unsigned short c, const unsigned char* map, unsigned char mask)
-{
-   return ((c >= (1 << CHAR_BIT)) ? true : map[c] & mask);
-}
-#if !defined(__hpux) && !defined(__WINSCW__)// WCHAR_MIN not usable in pp-directives.
-#if defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-inline bool can_start(wchar_t c, const unsigned char* map, unsigned char mask)
-{
-   return ((c >= static_cast<wchar_t>(1u << CHAR_BIT)) ? true : map[c] & mask);
-}
-#endif
-#endif
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-inline bool can_start(unsigned int c, const unsigned char* map, unsigned char mask)
-{
-   return (((c >= static_cast<unsigned int>(1u << CHAR_BIT)) ? true : map[c] & mask));
-}
-#endif
-
-
-//
-// Unfortunately Rogue Waves standard library appears to have a bug
-// in std::basic_string::compare that results in eroneous answers
-// in some cases (tested with Borland C++ 5.1, Rogue Wave lib version
-// 0x020101) the test case was:
-// {39135,0} < {0xff,0}
-// which succeeds when it should not.
-//
-#ifndef _RWSTD_VER
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1310)
-template <class C, class T, class A>
-inline int string_compare(const std::basic_string<C,T,A>& s, const C* p)
-{ 
-   if(0 == *p)
-   {
-      if(s.empty() || ((s.size() == 1) && (s[0] == 0)))
-         return 0;
-   }
-   return s.compare(p); 
-}
-#endif
-#else
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1310)
-template <class C, class T, class A>
-inline int string_compare(const std::basic_string<C,T,A>& s, const C* p)
-{ 
-   if(0 == *p)
-   {
-      if(s.empty() || ((s.size() == 1) && (s[0] == 0)))
-         return 0;
-   }
-   return s.compare(p); 
-}
-#endif
-inline int string_compare(const std::string& s, const char* p)
-{ return std::strcmp(s.c_str(), p); }
-# ifndef BOOST_NO_WREGEX
-inline int string_compare(const std::wstring& s, const wchar_t* p)
-{ return std::wcscmp(s.c_str(), p); }
-#endif
-#endif
-template <class Seq, class C>
-inline int string_compare(const Seq& s, const C* p)
-{
-   std::size_t i = 0;
-   while((i < s.size()) && (p[i] == s[i]))
-   {
-      ++i;
-   }
-   return (i == s.size()) ? -p[i] : s[i] - p[i];
-}
-# define STR_COMP(s,p) string_compare(s,p)
-
-template<class charT>
-inline const charT* re_skip_past_null(const charT* p)
-{
-  while (*p != static_cast<charT>(0)) ++p;
-  return ++p;
-}
-
-template <class iterator, class charT, class traits_type, class char_classT>
-iterator BOOST_REGEX_CALL re_is_set_member(iterator next, 
-                          iterator last, 
-                          const re_set_long<char_classT>* set_, 
-                          const regex_data<charT, traits_type>& e, bool icase)
-{   
-   const charT* p = reinterpret_cast<const charT*>(set_+1);
-   iterator ptr;
-   unsigned int i;
-   //bool icase = e.m_flags & regex_constants::icase;
-
-   if(next == last) return next;
-
-   typedef typename traits_type::string_type traits_string_type;
-   const ::boost::regex_traits_wrapper<traits_type>& traits_inst = *(e.m_ptraits);
-   
-   // dwa 9/13/00 suppress incorrect MSVC warning - it claims this is never
-   // referenced
-   (void)traits_inst;
-
-   // try and match a single character, could be a multi-character
-   // collating element...
-   for(i = 0; i < set_->csingles; ++i)
-   {
-      ptr = next;
-      if(*p == static_cast<charT>(0))
-      {
-         // treat null string as special case:
-         if(traits_inst.translate(*ptr, icase) != *p)
-         {
-            while(*p == static_cast<charT>(0))++p;
-            continue;
-         }
-         return set_->isnot ? next : (ptr == next) ? ++next : ptr;
-      }
-      else
-      {
-         while(*p && (ptr != last))
-         {
-            if(traits_inst.translate(*ptr, icase) != *p)
-               break;
-            ++p;
-            ++ptr;
-         }
-
-         if(*p == static_cast<charT>(0)) // if null we've matched
-            return set_->isnot ? next : (ptr == next) ? ++next : ptr;
-
-         p = re_skip_past_null(p);     // skip null
-      }
-   }
-
-   charT col = traits_inst.translate(*next, icase);
-
-
-   if(set_->cranges || set_->cequivalents)
-   {
-      traits_string_type s1;
-      //
-      // try and match a range, NB only a single character can match
-      if(set_->cranges)
-      {
-         if((e.m_flags & regex_constants::collate) == 0)
-            s1.assign(1, col);
-         else
-         {
-            charT a[2] = { col, charT(0), };
-            s1 = traits_inst.transform(a, a + 1);
-         }
-         for(i = 0; i < set_->cranges; ++i)
-         {
-            if(STR_COMP(s1, p) >= 0)
-            {
-               do{ ++p; }while(*p);
-               ++p;
-               if(STR_COMP(s1, p) <= 0)
-                  return set_->isnot ? next : ++next;
-            }
-            else
-            {
-               // skip first string
-               do{ ++p; }while(*p);
-               ++p;
-            }
-            // skip second string
-            do{ ++p; }while(*p);
-            ++p;
-         }
-      }
-      //
-      // try and match an equivalence class, NB only a single character can match
-      if(set_->cequivalents)
-      {
-         charT a[2] = { col, charT(0), };
-         s1 = traits_inst.transform_primary(a, a +1);
-         for(i = 0; i < set_->cequivalents; ++i)
-         {
-            if(STR_COMP(s1, p) == 0)
-               return set_->isnot ? next : ++next;
-            // skip string
-            do{ ++p; }while(*p);
-            ++p;
-         }
-      }
-   }
-   if(traits_inst.isctype(col, set_->cclasses) == true)
-      return set_->isnot ? next : ++next;
-   if((set_->cnclasses != 0) && (traits_inst.isctype(col, set_->cnclasses) == false))
-      return set_->isnot ? next : ++next;
-   return set_->isnot ? ++next : next;
-}
-
-template <class BidiIterator>
-class repeater_count
-{
-   repeater_count** stack;
-   repeater_count* next;
-   int state_id;
-   std::size_t count;        // the number of iterations so far
-   BidiIterator start_pos;   // where the last repeat started
-public:
-   repeater_count(repeater_count** s)
-   {
-      stack = s;
-      next = 0;
-      state_id = -1;
-      count = 0;
-   }
-   repeater_count(int i, repeater_count** s, BidiIterator start)
-      : start_pos(start)
-   {
-      state_id = i;
-      stack = s;
-      next = *stack;
-      *stack = this;
-      if(state_id > next->state_id)
-         count = 0;
-      else
-      {
-         repeater_count* p = next;
-         while(p && (p->state_id != state_id))
-            p = p->next;
-         if(p)
-         {
-            count = p->count;
-            start_pos = p->start_pos;
-         }
-         else
-            count = 0;
-      }
-   }
-   ~repeater_count()
-   {
-      if(next)
-         *stack = next;
-   }
-   std::size_t get_count() { return count; }
-   int get_id() { return state_id; }
-   std::size_t operator++() { return ++count; }
-   bool check_null_repeat(const BidiIterator& pos, std::size_t max)
-   {
-      // this is called when we are about to start a new repeat,
-      // if the last one was NULL move our count to max,
-      // otherwise save the current position.
-      bool result = (count == 0) ? false : (pos == start_pos);
-      if(result)
-         count = max;
-      else
-         start_pos = pos;
-      return result;
-   }
-};
-
-struct saved_state;
-
-enum saved_state_type
-{
-   saved_type_end = 0,
-   saved_type_paren = 1,
-   saved_type_recurse = 2,
-   saved_type_assertion = 3,
-   saved_state_alt = 4,
-   saved_state_repeater_count = 5,
-   saved_state_extra_block = 6,
-   saved_state_greedy_single_repeat = 7,
-   saved_state_rep_slow_dot = 8,
-   saved_state_rep_fast_dot = 9,
-   saved_state_rep_char = 10,
-   saved_state_rep_short_set = 11,
-   saved_state_rep_long_set = 12,
-   saved_state_non_greedy_long_repeat = 13, 
-   saved_state_count = 14
-};
-
-template <class Results>
-struct recursion_info
-{
-   typedef typename Results::value_type value_type;
-   typedef typename value_type::iterator iterator;
-   int idx;
-   const re_syntax_base* preturn_address;
-   Results results;
-   repeater_count<iterator>* repeater_stack;
-};
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable : 4251 4231 4660)
-#endif
-
-template <class BidiIterator, class Allocator, class traits>
-class perl_matcher
-{
-public:
-   typedef typename traits::char_type char_type;
-   typedef perl_matcher<BidiIterator, Allocator, traits> self_type;
-   typedef bool (self_type::*matcher_proc_type)(void);
-   typedef std::size_t traits_size_type;
-   typedef typename is_byte<char_type>::width_type width_type;
-   typedef typename regex_iterator_traits<BidiIterator>::difference_type difference_type;
-   typedef match_results<BidiIterator, Allocator> results_type;
-
-   perl_matcher(BidiIterator first, BidiIterator end, 
-      match_results<BidiIterator, Allocator>& what, 
-      const basic_regex<char_type, traits>& e,
-      match_flag_type f,
-      BidiIterator l_base)
-      :  m_result(what), base(first), last(end), 
-         position(first), backstop(l_base), re(e), traits_inst(e.get_traits()), 
-         m_independent(false), next_count(&rep_obj), rep_obj(&next_count)
-   {
-      construct_init(e, f);
-   }
-
-   bool match();
-   bool find();
-
-   void setf(match_flag_type f)
-   { m_match_flags |= f; }
-   void unsetf(match_flag_type f)
-   { m_match_flags &= ~f; }
-
-private:
-   void construct_init(const basic_regex<char_type, traits>& e, match_flag_type f);
-
-   bool find_imp();
-   bool match_imp();
-#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
-   typedef bool (perl_matcher::*protected_proc_type)();
-   bool protected_call(protected_proc_type);
-#endif
-   void estimate_max_state_count(std::random_access_iterator_tag*);
-   void estimate_max_state_count(void*);
-   bool match_prefix();
-   bool match_all_states();
-
-   // match procs, stored in s_match_vtable:
-   bool match_startmark();
-   bool match_endmark();
-   bool match_literal();
-   bool match_start_line();
-   bool match_end_line();
-   bool match_wild();
-   bool match_match();
-   bool match_word_boundary();
-   bool match_within_word();
-   bool match_word_start();
-   bool match_word_end();
-   bool match_buffer_start();
-   bool match_buffer_end();
-   bool match_backref();
-   bool match_long_set();
-   bool match_set();
-   bool match_jump();
-   bool match_alt();
-   bool match_rep();
-   bool match_combining();
-   bool match_soft_buffer_end();
-   bool match_restart_continue();
-   bool match_long_set_repeat();
-   bool match_set_repeat();
-   bool match_char_repeat();
-   bool match_dot_repeat_fast();
-   bool match_dot_repeat_slow();
-   bool match_dot_repeat_dispatch()
-   {
-      return ::boost::is_random_access_iterator<BidiIterator>::value ? match_dot_repeat_fast() : match_dot_repeat_slow();
-   }
-   bool match_backstep();
-   bool match_assert_backref();
-   bool match_toggle_case();
-#ifdef BOOST_REGEX_RECURSIVE
-   bool backtrack_till_match(std::size_t count);
-#endif
-   bool match_recursion();
-
-   // find procs stored in s_find_vtable:
-   bool find_restart_any();
-   bool find_restart_word();
-   bool find_restart_line();
-   bool find_restart_buf();
-   bool find_restart_lit();
-
-private:
-   // final result structure to be filled in:
-   match_results<BidiIterator, Allocator>& m_result;
-   // temporary result for POSIX matches:
-   scoped_ptr<match_results<BidiIterator, Allocator> > m_temp_match;
-   // pointer to actual result structure to fill in:
-   match_results<BidiIterator, Allocator>* m_presult;
-   // start of sequence being searched:
-   BidiIterator base;
-   // end of sequence being searched:
-   BidiIterator last; 
-   // current character being examined:
-   BidiIterator position;
-   // where to restart next search after failed match attempt:
-   BidiIterator restart;
-   // where the current search started from, acts as base for $` during grep:
-   BidiIterator search_base;
-   // how far we can go back when matching lookbehind:
-   BidiIterator backstop;
-   // the expression being examined:
-   const basic_regex<char_type, traits>& re;
-   // the expression's traits class:
-   const ::boost::regex_traits_wrapper<traits>& traits_inst;
-   // the next state in the machine being matched:
-   const re_syntax_base* pstate;
-   // matching flags in use:
-   match_flag_type m_match_flags;
-   // how many states we have examined so far:
-   std::ptrdiff_t state_count;
-   // max number of states to examine before giving up:
-   std::ptrdiff_t max_state_count;
-   // whether we should ignore case or not:
-   bool icase;
-   // set to true when (position == last), indicates that we may have a partial match:
-   bool m_has_partial_match;
-   // set to true whenever we get a match:
-   bool m_has_found_match;
-   // set to true whenever we're inside an independent sub-expression:
-   bool m_independent;
-   // the current repeat being examined:
-   repeater_count<BidiIterator>* next_count;
-   // the first repeat being examined (top of linked list):
-   repeater_count<BidiIterator> rep_obj;
-   // the mask to pass when matching word boundaries:
-   typename traits::char_class_type m_word_mask;
-   // the bitmask to use when determining whether a match_any matches a newline or not:
-   unsigned char match_any_mask;
-   // recursion information:
-   std::vector<recursion_info<results_type> > recursion_stack;
-
-#ifdef BOOST_REGEX_NON_RECURSIVE
-   //
-   // additional members for non-recursive version:
-   //
-   typedef bool (self_type::*unwind_proc_type)(bool);
-
-   void extend_stack();
-   bool unwind(bool);
-   bool unwind_end(bool);
-   bool unwind_paren(bool);
-   bool unwind_recursion_stopper(bool);
-   bool unwind_assertion(bool);
-   bool unwind_alt(bool);
-   bool unwind_repeater_counter(bool);
-   bool unwind_extra_block(bool);
-   bool unwind_greedy_single_repeat(bool);
-   bool unwind_slow_dot_repeat(bool);
-   bool unwind_fast_dot_repeat(bool);
-   bool unwind_char_repeat(bool);
-   bool unwind_short_set_repeat(bool);
-   bool unwind_long_set_repeat(bool);
-   bool unwind_non_greedy_repeat(bool);
-   bool unwind_recursion(bool);
-   bool unwind_recursion_pop(bool);
-   void destroy_single_repeat();
-   void push_matched_paren(int index, const sub_match<BidiIterator>& sub);
-   void push_recursion_stopper();
-   void push_assertion(const re_syntax_base* ps, bool positive);
-   void push_alt(const re_syntax_base* ps);
-   void push_repeater_count(int i, repeater_count<BidiIterator>** s);
-   void push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int state_id);
-   void push_non_greedy_repeat(const re_syntax_base* ps);
-   void push_recursion(int idx, const re_syntax_base* p, results_type* presults);
-   void push_recursion_pop();
-
-   // pointer to base of stack:
-   saved_state* m_stack_base;
-   // pointer to current stack position:
-   saved_state* m_backup_state;
-   // determines what value to return when unwinding from recursion,
-   // allows for mixed recursive/non-recursive algorithm:
-   bool m_recursive_result;
-   // how many memory blocks have we used up?:
-   unsigned used_block_count;
-#endif
-
-   // these operations aren't allowed, so are declared private,
-   // bodies are provided to keep explicit-instantiation requests happy:
-   perl_matcher& operator=(const perl_matcher&)
-   {
-      return *this;
-   }
-   perl_matcher(const perl_matcher& that)
-      : m_result(that.m_result), re(that.re), traits_inst(that.traits_inst), rep_obj(0) {}
-};
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace re_detail
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-//
-// include the implementation of perl_matcher:
-//
-#ifdef BOOST_REGEX_RECURSIVE
-#include <boost/regex/v4/perl_matcher_recursive.hpp>
-#else
-#include <boost/regex/v4/perl_matcher_non_recursive.hpp>
-#endif
-// this one has to be last:
-#include <boost/regex/v4/perl_matcher_common.hpp>
-
-#endif
-
diff --git a/SRC/Boost/boost/regex/v4/perl_matcher_common.hpp b/SRC/Boost/boost/regex/v4/perl_matcher_common.hpp
deleted file mode 100755
index 5e0457a..0000000
--- a/SRC/Boost/boost/regex/v4/perl_matcher_common.hpp
+++ /dev/null
@@ -1,990 +0,0 @@
-/*
- *
- * Copyright (c) 2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         perl_matcher_common.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Definitions of perl_matcher member functions that are 
-  *                common to both the recursive and non-recursive versions.
-  */
-
-#ifndef BOOST_REGEX_V4_PERL_MATCHER_COMMON_HPP
-#define BOOST_REGEX_V4_PERL_MATCHER_COMMON_HPP
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef __BORLANDC__
-#  pragma option push -w-8008 -w-8066
-#endif
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable: 4800)
-#endif
-
-namespace boost{
-namespace re_detail{
-
-template <class BidiIterator, class Allocator, class traits>
-void perl_matcher<BidiIterator, Allocator, traits>::construct_init(const basic_regex<char_type, traits>& e, match_flag_type f)
-{ 
-   typedef typename regex_iterator_traits<BidiIterator>::iterator_category category;
-   typedef typename basic_regex<char_type, traits>::flag_type expression_flag_type;
-   
-   if(e.empty())
-   {
-      // precondition failure: e is not a valid regex.
-      std::invalid_argument ex("Invalid regular expression object");
-      boost::throw_exception(ex);
-   }
-   pstate = 0;
-   m_match_flags = f;
-   estimate_max_state_count(static_cast<category*>(0));
-   expression_flag_type re_f = re.flags();
-   icase = re_f & regex_constants::icase;
-   if(!(m_match_flags & (match_perl|match_posix)))
-   {
-      if((re_f & (regbase::main_option_type|regbase::no_perl_ex)) == 0)
-         m_match_flags |= match_perl;
-      else if((re_f & (regbase::main_option_type|regbase::emacs_ex)) == (regbase::basic_syntax_group|regbase::emacs_ex))
-         m_match_flags |= match_perl;
-      else
-         m_match_flags |= match_posix;
-   }
-   if(m_match_flags & match_posix)
-   {
-      m_temp_match.reset(new match_results<BidiIterator, Allocator>());
-      m_presult = m_temp_match.get();
-   }
-   else
-      m_presult = &m_result;
-#ifdef BOOST_REGEX_NON_RECURSIVE
-   m_stack_base = 0;
-   m_backup_state = 0;
-#endif
-   // find the value to use for matching word boundaries:
-   m_word_mask = re.get_data().m_word_mask; 
-   // find bitmask to use for matching '.':
-   match_any_mask = static_cast<unsigned char>((f & match_not_dot_newline) ? re_detail::test_not_newline : re_detail::test_newline);
-}
-
-template <class BidiIterator, class Allocator, class traits>
-void perl_matcher<BidiIterator, Allocator, traits>::estimate_max_state_count(std::random_access_iterator_tag*)
-{
-   //
-   // How many states should we allow our machine to visit before giving up?
-   // This is a heuristic: it takes the greater of O(N^2) and O(NS^2)
-   // where N is the length of the string, and S is the number of states
-   // in the machine.  It's tempting to up this to O(N^2S) or even O(N^2S^2)
-   // but these take unreasonably amounts of time to bale out in pathological
-   // cases.
-   //
-   // Calculate NS^2 first:
-   //
-   static const std::ptrdiff_t k = 100000;
-   std::ptrdiff_t dist = boost::re_detail::distance(base, last);
-   if(dist == 0)
-      dist = 1;
-   std::ptrdiff_t states = re.size();
-   if(states == 0)
-      states = 1;
-   states *= states;
-   if((std::numeric_limits<std::ptrdiff_t>::max)() / dist < states)
-   {
-      max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits<std::ptrdiff_t>::max)() - 2);
-      return;
-   }
-   states *= dist;
-   if((std::numeric_limits<std::ptrdiff_t>::max)() - k < states)
-   {
-      max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits<std::ptrdiff_t>::max)() - 2);
-      return;
-   }
-   states += k;
-
-   max_state_count = states;
-
-   //
-   // Now calculate N^2:
-   //
-   states = dist;
-   if((std::numeric_limits<std::ptrdiff_t>::max)() / dist < states)
-   {
-      max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits<std::ptrdiff_t>::max)() - 2);
-      return;
-   }
-   states *= dist;
-   if((std::numeric_limits<std::ptrdiff_t>::max)() - k < states)
-   {
-      max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits<std::ptrdiff_t>::max)() - 2);
-      return;
-   }
-   states += k;
-   //
-   // N^2 can be a very large number indeed, to prevent things getting out
-   // of control, cap the max states:
-   //
-   if(states > BOOST_REGEX_MAX_STATE_COUNT)
-      states = BOOST_REGEX_MAX_STATE_COUNT;
-   //
-   // If (the possibly capped) N^2 is larger than our first estimate,
-   // use this instead:
-   //
-   if(states > max_state_count)
-      max_state_count = states;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline void perl_matcher<BidiIterator, Allocator, traits>::estimate_max_state_count(void*)
-{
-   // we don't know how long the sequence is:
-   max_state_count = BOOST_REGEX_MAX_STATE_COUNT;
-}
-
-#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
-template <class BidiIterator, class Allocator, class traits>
-inline bool perl_matcher<BidiIterator, Allocator, traits>::protected_call(
-   protected_proc_type proc)
-{
-   ::boost::re_detail::concrete_protected_call
-      <perl_matcher<BidiIterator, Allocator, traits> >
-      obj(this, proc);
-   return obj.execute();
-
-}
-#endif
-
-template <class BidiIterator, class Allocator, class traits>
-inline bool perl_matcher<BidiIterator, Allocator, traits>::match()
-{
-#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
-   return protected_call(&perl_matcher<BidiIterator, Allocator, traits>::match_imp);
-#else
-   return match_imp();
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_imp()
-{
-   // initialise our stack if we are non-recursive:
-#ifdef BOOST_REGEX_NON_RECURSIVE
-   save_state_init init(&m_stack_base, &m_backup_state);
-   used_block_count = BOOST_REGEX_MAX_BLOCKS;
-#if !defined(BOOST_NO_EXCEPTIONS)
-   try{
-#endif
-#endif
-
-   // reset our state machine:
-   position = base;
-   search_base = base;
-   state_count = 0;
-   m_match_flags |= regex_constants::match_all;
-   m_presult->set_size((m_match_flags & match_nosubs) ? 1 : re.mark_count(), search_base, last);
-   m_presult->set_base(base);
-   m_presult->set_named_subs(this->re.get_named_subs());
-   if(m_match_flags & match_posix)
-      m_result = *m_presult;
-   verify_options(re.flags(), m_match_flags);
-   if(0 == match_prefix())
-      return false;
-   return (m_result[0].second == last) && (m_result[0].first == base);
-
-#if defined(BOOST_REGEX_NON_RECURSIVE) && !defined(BOOST_NO_EXCEPTIONS)
-   }
-   catch(...)
-   {
-      // unwind all pushed states, apart from anything else this
-      // ensures that all the states are correctly destructed
-      // not just the memory freed.
-      while(unwind(true)){}
-      throw;
-   }
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline bool perl_matcher<BidiIterator, Allocator, traits>::find()
-{
-#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
-   return protected_call(&perl_matcher<BidiIterator, Allocator, traits>::find_imp);
-#else
-   return find_imp();
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::find_imp()
-{
-   static matcher_proc_type const s_find_vtable[7] = 
-   {
-      &perl_matcher<BidiIterator, Allocator, traits>::find_restart_any,
-      &perl_matcher<BidiIterator, Allocator, traits>::find_restart_word,
-      &perl_matcher<BidiIterator, Allocator, traits>::find_restart_line,
-      &perl_matcher<BidiIterator, Allocator, traits>::find_restart_buf,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_prefix,
-      &perl_matcher<BidiIterator, Allocator, traits>::find_restart_lit,
-      &perl_matcher<BidiIterator, Allocator, traits>::find_restart_lit,
-   };
-
-   // initialise our stack if we are non-recursive:
-#ifdef BOOST_REGEX_NON_RECURSIVE
-   save_state_init init(&m_stack_base, &m_backup_state);
-   used_block_count = BOOST_REGEX_MAX_BLOCKS;
-#if !defined(BOOST_NO_EXCEPTIONS)
-   try{
-#endif
-#endif
-
-   state_count = 0;
-   if((m_match_flags & regex_constants::match_init) == 0)
-   {
-      // reset our state machine:
-      search_base = position = base;
-      pstate = re.get_first_state();
-      m_presult->set_size((m_match_flags & match_nosubs) ? 1 : re.mark_count(), base, last);
-      m_presult->set_base(base);
-      m_presult->set_named_subs(this->re.get_named_subs());
-      m_match_flags |= regex_constants::match_init;
-   }
-   else
-   {
-      // start again:
-      search_base = position = m_result[0].second;
-      // If last match was null and match_not_null was not set then increment
-      // our start position, otherwise we go into an infinite loop:
-      if(((m_match_flags & match_not_null) == 0) && (m_result.length() == 0))
-      {
-         if(position == last)
-            return false;
-         else 
-            ++position;
-      }
-      // reset $` start:
-      m_presult->set_size((m_match_flags & match_nosubs) ? 1 : re.mark_count(), search_base, last);
-      //if((base != search_base) && (base == backstop))
-      //   m_match_flags |= match_prev_avail;
-   }
-   if(m_match_flags & match_posix)
-   {
-      m_result.set_size(re.mark_count(), base, last);
-      m_result.set_base(base);
-   }
-
-   verify_options(re.flags(), m_match_flags);
-   // find out what kind of expression we have:
-   unsigned type = (m_match_flags & match_continuous) ? 
-      static_cast<unsigned int>(regbase::restart_continue) 
-         : static_cast<unsigned int>(re.get_restart_type());
-
-   // call the appropriate search routine:
-   matcher_proc_type proc = s_find_vtable[type];
-   return (this->*proc)();
-
-#if defined(BOOST_REGEX_NON_RECURSIVE) && !defined(BOOST_NO_EXCEPTIONS)
-   }
-   catch(...)
-   {
-      // unwind all pushed states, apart from anything else this
-      // ensures that all the states are correctly destructed
-      // not just the memory freed.
-      while(unwind(true)){}
-      throw;
-   }
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_prefix()
-{
-   m_has_partial_match = false;
-   m_has_found_match = false;
-   pstate = re.get_first_state();
-   m_presult->set_first(position);
-   restart = position;
-   match_all_states();
-   if(!m_has_found_match && m_has_partial_match && (m_match_flags & match_partial))
-   {
-      m_has_found_match = true;
-      m_presult->set_second(last, 0, false);
-      position = last;
-   }
-#ifdef BOOST_REGEX_MATCH_EXTRA
-   if(m_has_found_match && (match_extra & m_match_flags))
-   {
-      //
-      // we have a match, reverse the capture information:
-      //
-      for(unsigned i = 0; i < m_presult->size(); ++i)
-      {
-         typename sub_match<BidiIterator>::capture_sequence_type & seq = ((*m_presult)[i]).get_captures();
-         std::reverse(seq.begin(), seq.end());
-      }
-   }
-#endif
-   if(!m_has_found_match)
-      position = restart; // reset search postion
-   return m_has_found_match;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_literal()
-{
-   unsigned int len = static_cast<const re_literal*>(pstate)->length;
-   const char_type* what = reinterpret_cast<const char_type*>(static_cast<const re_literal*>(pstate) + 1);
-   //
-   // compare string with what we stored in
-   // our records:
-   for(unsigned int i = 0; i < len; ++i, ++position)
-   {
-      if((position == last) || (traits_inst.translate(*position, icase) != what[i]))
-         return false;
-   }
-   pstate = pstate->next.p;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_start_line()
-{
-   if(position == backstop)
-   {
-      if((m_match_flags & match_prev_avail) == 0)
-      {
-         if((m_match_flags & match_not_bol) == 0)
-         {
-            pstate = pstate->next.p;
-            return true;
-         }
-         return false;
-      }
-   }
-   else if(m_match_flags & match_single_line)
-      return false;
-
-   // check the previous value character:
-   BidiIterator t(position);
-   --t;
-   if(position != last)
-   {
-      if(is_separator(*t) && !((*t == static_cast<char_type>('\r')) && (*position == static_cast<char_type>('\n'))) )
-      {
-         pstate = pstate->next.p;
-         return true;
-      }
-   }
-   else if(is_separator(*t))
-   {
-      pstate = pstate->next.p;
-      return true;
-   }
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_end_line()
-{
-   if(position != last)
-   {
-      if(m_match_flags & match_single_line)
-         return false;
-      // we're not yet at the end so *first is always valid:
-      if(is_separator(*position))
-      {
-         if((position != backstop) || (m_match_flags & match_prev_avail))
-         {
-            // check that we're not in the middle of \r\n sequence
-            BidiIterator t(position);
-            --t;
-            if((*t == static_cast<char_type>('\r')) && (*position == static_cast<char_type>('\n')))
-            {
-               return false;
-            }
-         }
-         pstate = pstate->next.p;
-         return true;
-      }
-   }
-   else if((m_match_flags & match_not_eol) == 0)
-   {
-      pstate = pstate->next.p;
-      return true;
-   }
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_wild()
-{
-   if(position == last) 
-      return false;
-   if(is_separator(*position) && ((match_any_mask & static_cast<const re_dot*>(pstate)->mask) == 0))
-      return false;
-   if((*position == char_type(0)) && (m_match_flags & match_not_dot_null))
-      return false;
-   pstate = pstate->next.p;
-   ++position;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_word_boundary()
-{
-   bool b; // indcates whether next character is a word character
-   if(position != last)
-   {
-      // prev and this character must be opposites:
-   #if defined(BOOST_REGEX_USE_C_LOCALE) && defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ < 95)
-      b = traits::isctype(*position, m_word_mask);
-   #else
-      b = traits_inst.isctype(*position, m_word_mask);
-   #endif
-   }
-   else
-   {
-      b = (m_match_flags & match_not_eow) ? true : false;
-   }
-   if((position == backstop) && ((m_match_flags & match_prev_avail) == 0))
-   {
-      if(m_match_flags & match_not_bow)
-         b ^= true;
-      else
-         b ^= false;
-   }
-   else
-   {
-      --position;
-      b ^= traits_inst.isctype(*position, m_word_mask);
-      ++position;
-   }
-   if(b)
-   {
-      pstate = pstate->next.p;
-      return true;
-   }
-   return false; // no match if we get to here...
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_within_word()
-{
-   if(position == last)
-      return false;
-   // both prev and this character must be m_word_mask:
-   bool prev = traits_inst.isctype(*position, m_word_mask);
-   {
-      bool b;
-      if((position == backstop) && ((m_match_flags & match_prev_avail) == 0)) 
-         return false;
-      else
-      {
-         --position;
-         b = traits_inst.isctype(*position, m_word_mask);
-         ++position;
-      }
-      if(b == prev)
-      {
-         pstate = pstate->next.p;
-         return true;
-      }
-   }
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_word_start()
-{
-   if(position == last)
-      return false; // can't be starting a word if we're already at the end of input
-   if(!traits_inst.isctype(*position, m_word_mask))
-      return false; // next character isn't a word character
-   if((position == backstop) && ((m_match_flags & match_prev_avail) == 0))
-   {
-      if(m_match_flags & match_not_bow)
-         return false; // no previous input
-   }
-   else
-   {
-      // otherwise inside buffer:
-      BidiIterator t(position);
-      --t;
-      if(traits_inst.isctype(*t, m_word_mask))
-         return false; // previous character not non-word
-   }
-   // OK we have a match:
-   pstate = pstate->next.p;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_word_end()
-{
-   if((position == backstop) && ((m_match_flags & match_prev_avail) == 0))
-      return false;  // start of buffer can't be end of word
-   BidiIterator t(position);
-   --t;
-   if(traits_inst.isctype(*t, m_word_mask) == false)
-      return false;  // previous character wasn't a word character
-
-   if(position == last)
-   {
-      if(m_match_flags & match_not_eow)
-         return false; // end of buffer but not end of word
-   }
-   else
-   {
-      // otherwise inside buffer:
-      if(traits_inst.isctype(*position, m_word_mask))
-         return false; // next character is a word character
-   }
-   pstate = pstate->next.p;
-   return true;      // if we fall through to here then we've succeeded
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_buffer_start()
-{
-   if((position != backstop) || (m_match_flags & match_not_bob))
-      return false;
-   // OK match:
-   pstate = pstate->next.p;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_buffer_end()
-{
-   if((position != last) || (m_match_flags & match_not_eob))
-      return false;
-   // OK match:
-   pstate = pstate->next.p;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_backref()
-{
-   //
-   // Compare with what we previously matched.
-   // Note that this succeeds if the backref did not partisipate
-   // in the match, this is in line with ECMAScript, but not Perl
-   // or PCRE.
-   //
-   int index = static_cast<const re_brace*>(pstate)->index;
-   if(index >= 10000)
-   {
-      named_subexpressions::range_type r = re.get_data().equal_range(index);
-      BOOST_ASSERT(r.first != r.second);
-      do
-      {
-         index = r.first->index;
-         ++r.first;
-      }while((r.first != r.second) && ((*m_presult)[index].matched != true));
-   }
-
-   if((m_match_flags & match_perl) && !(*m_presult)[index].matched)
-      return false;
-
-   BidiIterator i = (*m_presult)[index].first;
-   BidiIterator j = (*m_presult)[index].second;
-   while(i != j)
-   {
-      if((position == last) || (traits_inst.translate(*position, icase) != traits_inst.translate(*i, icase)))
-         return false;
-      ++i;
-      ++position;
-   }
-   pstate = pstate->next.p;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_long_set()
-{
-   typedef typename traits::char_class_type char_class_type;
-   // let the traits class do the work:
-   if(position == last)
-      return false;
-   BidiIterator t = re_is_set_member(position, last, static_cast<const re_set_long<char_class_type>*>(pstate), re.get_data(), icase);
-   if(t != position)
-   {
-      pstate = pstate->next.p;
-      position = t;
-      return true;
-   }
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_set()
-{
-   if(position == last)
-      return false;
-   if(static_cast<const re_set*>(pstate)->_map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])
-   {
-      pstate = pstate->next.p;
-      ++position;
-      return true;
-   }
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_jump()
-{
-   pstate = static_cast<const re_jump*>(pstate)->alt.p;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_combining()
-{
-   if(position == last)
-      return false;
-   if(is_combining(traits_inst.translate(*position, icase)))
-      return false;
-   ++position;
-   while((position != last) && is_combining(traits_inst.translate(*position, icase)))
-      ++position;
-   pstate = pstate->next.p;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_soft_buffer_end()
-{
-   if(m_match_flags & match_not_eob)
-      return false;
-   BidiIterator p(position);
-   while((p != last) && is_separator(traits_inst.translate(*p, icase)))++p;
-   if(p != last)
-      return false;
-   pstate = pstate->next.p;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_restart_continue()
-{
-   if(position == search_base)
-   {
-      pstate = pstate->next.p;
-      return true;
-   }
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_backstep()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-   if( ::boost::is_random_access_iterator<BidiIterator>::value)
-   {
-      std::ptrdiff_t maxlen = ::boost::re_detail::distance(backstop, position);
-      if(maxlen < static_cast<const re_brace*>(pstate)->index)
-         return false;
-      std::advance(position, -static_cast<const re_brace*>(pstate)->index);
-   }
-   else
-   {
-      int c = static_cast<const re_brace*>(pstate)->index;
-      while(c--)
-      {
-         if(position == backstop)
-            return false;
-         --position;
-      }
-   }
-   pstate = pstate->next.p;
-   return true;
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline bool perl_matcher<BidiIterator, Allocator, traits>::match_assert_backref()
-{
-   // return true if marked sub-expression N has been matched:
-   int index = static_cast<const re_brace*>(pstate)->index;
-   bool result = false;
-   if(index == 9999)
-   {
-      // Magic value for a (DEFINE) block:
-      return false;
-   }
-   else if(index > 0)
-   {
-      // Have we matched subexpression "index"?
-      // Check if index is a hash value:
-      if(index >= 10000)
-      {
-         named_subexpressions::range_type r = re.get_data().equal_range(index);
-         while(r.first != r.second)
-         {
-            if((*m_presult)[r.first->index].matched)
-            {
-               result = true;
-               break;
-            }
-            ++r.first;
-         }
-      }
-      else
-      {
-         result = (*m_presult)[index].matched;
-      }
-      pstate = pstate->next.p;
-   }
-   else
-   {
-      // Have we recursed into subexpression "index"?
-      // If index == 0 then check for any recursion at all, otherwise for recursion to -index-1.
-      int idx = -index-1;
-      if(idx >= 10000)
-      {
-         named_subexpressions::range_type r = re.get_data().equal_range(idx);
-         int stack_index = recursion_stack.empty() ? -1 : recursion_stack.back().idx;
-         while(r.first != r.second)
-         {
-            result |= (stack_index == r.first->index);
-            if(result)break;
-            ++r.first;
-         }
-      }
-      else
-      {
-         result = !recursion_stack.empty() && ((recursion_stack.back().idx == idx) || (index == 0));
-      }
-      pstate = pstate->next.p;
-   }
-   return result;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_toggle_case()
-{
-   // change our case sensitivity:
-   this->icase = static_cast<const re_case*>(pstate)->icase;
-   pstate = pstate->next.p;
-   return true;
-}
-
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::find_restart_any()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-   const unsigned char* _map = re.get_map();
-   while(true)
-   {
-      // skip everything we can't match:
-      while((position != last) && !can_start(*position, _map, (unsigned char)mask_any) )
-         ++position;
-      if(position == last)
-      {
-         // run out of characters, try a null match if possible:
-         if(re.can_be_null())
-            return match_prefix();
-         break;
-      }
-      // now try and obtain a match:
-      if(match_prefix())
-         return true;
-      if(position == last)
-         return false;
-      ++position;
-   }
-   return false;
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::find_restart_word()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-   // do search optimised for word starts:
-   const unsigned char* _map = re.get_map();
-   if((m_match_flags & match_prev_avail) || (position != base))
-      --position;
-   else if(match_prefix())
-      return true;
-   do
-   {
-      while((position != last) && traits_inst.isctype(*position, m_word_mask))
-         ++position;
-      while((position != last) && !traits_inst.isctype(*position, m_word_mask))
-         ++position;
-      if(position == last)
-         break;
-
-      if(can_start(*position, _map, (unsigned char)mask_any) )
-      {
-         if(match_prefix())
-            return true;
-      }
-      if(position == last)
-         break;
-   } while(true);
-   return false;
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::find_restart_line()
-{
-   // do search optimised for line starts:
-   const unsigned char* _map = re.get_map();
-   if(match_prefix())
-      return true;
-   while(position != last)
-   {
-      while((position != last) && !is_separator(*position))
-         ++position;
-      if(position == last)
-         return false;
-      ++position;
-      if(position == last)
-      {
-         if(re.can_be_null() && match_prefix())
-            return true;
-         return false;
-      }
-
-      if( can_start(*position, _map, (unsigned char)mask_any) )
-      {
-         if(match_prefix())
-            return true;
-      }
-      if(position == last)
-         return false;
-      //++position;
-   }
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::find_restart_buf()
-{
-   if((position == base) && ((m_match_flags & match_not_bob) == 0))
-      return match_prefix();
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::find_restart_lit()
-{
-#if 0
-   if(position == last)
-      return false; // can't possibly match if we're at the end already
-
-   unsigned type = (m_match_flags & match_continuous) ? 
-      static_cast<unsigned int>(regbase::restart_continue) 
-         : static_cast<unsigned int>(re.get_restart_type());
-
-   const kmp_info<char_type>* info = access::get_kmp(re);
-   int len = info->len;
-   const char_type* x = info->pstr;
-   int j = 0; 
-   while (position != last) 
-   {
-      while((j > -1) && (x[j] != traits_inst.translate(*position, icase))) 
-         j = info->kmp_next[j];
-      ++position;
-      ++j;
-      if(j >= len) 
-      {
-         if(type == regbase::restart_fixed_lit)
-         {
-            std::advance(position, -j);
-            restart = position;
-            std::advance(restart, len);
-            m_result.set_first(position);
-            m_result.set_second(restart);
-            position = restart;
-            return true;
-         }
-         else
-         {
-            restart = position;
-            std::advance(position, -j);
-            if(match_prefix())
-               return true;
-            else
-            {
-               for(int k = 0; (restart != position) && (k < j); ++k, --restart)
-                     {} // dwa 10/20/2000 - warning suppression for MWCW
-               if(restart != last)
-                  ++restart;
-               position = restart;
-               j = 0;  //we could do better than this...
-            }
-         }
-      }
-   }
-   if((m_match_flags & match_partial) && (position == last) && j)
-   {
-      // we need to check for a partial match:
-      restart = position;
-      std::advance(position, -j);
-      return match_prefix();
-   }
-#endif
-   return false;
-}
-
-} // namespace re_detail
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-#ifdef __BORLANDC__
-#  pragma option pop
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
diff --git a/SRC/Boost/boost/regex/v4/perl_matcher_non_recursive.hpp b/SRC/Boost/boost/regex/v4/perl_matcher_non_recursive.hpp
deleted file mode 100755
index 81aada7..0000000
--- a/SRC/Boost/boost/regex/v4/perl_matcher_non_recursive.hpp
+++ /dev/null
@@ -1,1639 +0,0 @@
-/*
- *
- * Copyright (c) 2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         perl_matcher_common.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Definitions of perl_matcher member functions that are 
-  *                specific to the non-recursive implementation.
-  */
-
-#ifndef BOOST_REGEX_V4_PERL_MATCHER_NON_RECURSIVE_HPP
-#define BOOST_REGEX_V4_PERL_MATCHER_NON_RECURSIVE_HPP
-
-#include <new>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable: 4800)
-#endif
-
-namespace boost{
-namespace re_detail{
-
-template <class T>
-inline void inplace_destroy(T* p)
-{
-   (void)p;  // warning suppression
-   p->~T();
-}
-
-struct saved_state
-{
-   union{
-      unsigned int state_id;
-      // this padding ensures correct alignment on 64-bit platforms:
-      std::size_t padding1;
-      std::ptrdiff_t padding2;
-      void* padding3;
-   };
-   saved_state(unsigned i) : state_id(i) {}
-};
-
-template <class BidiIterator>
-struct saved_matched_paren : public saved_state
-{
-   int index;
-   sub_match<BidiIterator> sub;
-   saved_matched_paren(int i, const sub_match<BidiIterator>& s) : saved_state(1), index(i), sub(s){};
-};
-
-template <class BidiIterator>
-struct saved_position : public saved_state
-{
-   const re_syntax_base* pstate;
-   BidiIterator position;
-   saved_position(const re_syntax_base* ps, BidiIterator pos, int i) : saved_state(i), pstate(ps), position(pos){};
-};
-
-template <class BidiIterator>
-struct saved_assertion : public saved_position<BidiIterator>
-{
-   bool positive;
-   saved_assertion(bool p, const re_syntax_base* ps, BidiIterator pos) 
-      : saved_position<BidiIterator>(ps, pos, saved_type_assertion), positive(p){};
-};
-
-template <class BidiIterator>
-struct saved_repeater : public saved_state
-{
-   repeater_count<BidiIterator> count;
-   saved_repeater(int i, repeater_count<BidiIterator>** s, BidiIterator start) 
-      : saved_state(saved_state_repeater_count), count(i,s,start){}
-};
-
-struct saved_extra_block : public saved_state
-{
-   saved_state *base, *end;
-   saved_extra_block(saved_state* b, saved_state* e) 
-      : saved_state(saved_state_extra_block), base(b), end(e) {}
-};
-
-struct save_state_init
-{
-   saved_state** stack;
-   save_state_init(saved_state** base, saved_state** end)
-      : stack(base)
-   {
-      *base = static_cast<saved_state*>(get_mem_block());
-      *end = reinterpret_cast<saved_state*>(reinterpret_cast<char*>(*base)+BOOST_REGEX_BLOCKSIZE);
-      --(*end);
-      (void) new (*end)saved_state(0);
-      BOOST_ASSERT(*end > *base);
-   }
-   ~save_state_init()
-   {
-      put_mem_block(*stack);
-      *stack = 0;
-   }
-};
-
-template <class BidiIterator>
-struct saved_single_repeat : public saved_state
-{
-   std::size_t count;
-   const re_repeat* rep;
-   BidiIterator last_position;
-   saved_single_repeat(std::size_t c, const re_repeat* r, BidiIterator lp, int arg_id) 
-      : saved_state(arg_id), count(c), rep(r), last_position(lp){}
-};
-
-template <class Results>
-struct saved_recursion : public saved_state
-{
-   saved_recursion(int idx, const re_syntax_base* p, Results* pr) 
-      : saved_state(14), recursion_id(idx), preturn_address(p), results(*pr)
-   {}
-   int recursion_id;
-   const re_syntax_base* preturn_address;
-   Results results;
-};
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_all_states()
-{
-   static matcher_proc_type const s_match_vtable[30] = 
-   {
-      (&perl_matcher<BidiIterator, Allocator, traits>::match_startmark),
-      &perl_matcher<BidiIterator, Allocator, traits>::match_endmark,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_literal,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_start_line,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_end_line,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_wild,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_match,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_word_boundary,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_within_word,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_word_start,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_word_end,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_buffer_start,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_buffer_end,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_backref,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_long_set,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_set,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_jump,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_alt,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_rep,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_combining,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_soft_buffer_end,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_restart_continue,
-      // Although this next line *should* be evaluated at compile time, in practice
-      // some compilers (VC++) emit run-time initialisation which breaks thread
-      // safety, so use a dispatch function instead:
-      //(::boost::is_random_access_iterator<BidiIterator>::value ? &perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_fast : &perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_slow),
-      &perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_dispatch,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_char_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_set_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_long_set_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_backstep,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_assert_backref,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_toggle_case,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_recursion,
-   };
-
-   push_recursion_stopper();
-   do{
-      while(pstate)
-      {
-         matcher_proc_type proc = s_match_vtable[pstate->type];
-         ++state_count;
-         if(!(this->*proc)())
-         {
-            if(state_count > max_state_count)
-               raise_error(traits_inst, regex_constants::error_complexity);
-            if((m_match_flags & match_partial) && (position == last) && (position != search_base))
-               m_has_partial_match = true;
-            bool successful_unwind = unwind(false);
-            if((m_match_flags & match_partial) && (position == last) && (position != search_base))
-               m_has_partial_match = true;
-            if(false == successful_unwind)
-               return m_recursive_result;
-         }
-      }
-   }while(unwind(true));
-   return m_recursive_result;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-void perl_matcher<BidiIterator, Allocator, traits>::extend_stack()
-{
-   if(used_block_count)
-   {
-      --used_block_count;
-      saved_state* stack_base;
-      saved_state* backup_state;
-      stack_base = static_cast<saved_state*>(get_mem_block());
-      backup_state = reinterpret_cast<saved_state*>(reinterpret_cast<char*>(stack_base)+BOOST_REGEX_BLOCKSIZE);
-      saved_extra_block* block = static_cast<saved_extra_block*>(backup_state);
-      --block;
-      (void) new (block) saved_extra_block(m_stack_base, m_backup_state);
-      m_stack_base = stack_base;
-      m_backup_state = block;
-   }
-   else
-      raise_error(traits_inst, regex_constants::error_stack);
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline void perl_matcher<BidiIterator, Allocator, traits>::push_matched_paren(int index, const sub_match<BidiIterator>& sub)
-{
-   //BOOST_ASSERT(index);
-   saved_matched_paren<BidiIterator>* pmp = static_cast<saved_matched_paren<BidiIterator>*>(m_backup_state);
-   --pmp;
-   if(pmp < m_stack_base)
-   {
-      extend_stack();
-      pmp = static_cast<saved_matched_paren<BidiIterator>*>(m_backup_state);
-      --pmp;
-   }
-   (void) new (pmp)saved_matched_paren<BidiIterator>(index, sub);
-   m_backup_state = pmp;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline void perl_matcher<BidiIterator, Allocator, traits>::push_recursion_stopper()
-{
-   saved_state* pmp = m_backup_state;
-   --pmp;
-   if(pmp < m_stack_base)
-   {
-      extend_stack();
-      pmp = m_backup_state;
-      --pmp;
-   }
-   (void) new (pmp)saved_state(saved_type_recurse);
-   m_backup_state = pmp;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline void perl_matcher<BidiIterator, Allocator, traits>::push_assertion(const re_syntax_base* ps, bool positive)
-{
-   saved_assertion<BidiIterator>* pmp = static_cast<saved_assertion<BidiIterator>*>(m_backup_state);
-   --pmp;
-   if(pmp < m_stack_base)
-   {
-      extend_stack();
-      pmp = static_cast<saved_assertion<BidiIterator>*>(m_backup_state);
-      --pmp;
-   }
-   (void) new (pmp)saved_assertion<BidiIterator>(positive, ps, position);
-   m_backup_state = pmp;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline void perl_matcher<BidiIterator, Allocator, traits>::push_alt(const re_syntax_base* ps)
-{
-   saved_position<BidiIterator>* pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);
-   --pmp;
-   if(pmp < m_stack_base)
-   {
-      extend_stack();
-      pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);
-      --pmp;
-   }
-   (void) new (pmp)saved_position<BidiIterator>(ps, position, saved_state_alt);
-   m_backup_state = pmp;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline void perl_matcher<BidiIterator, Allocator, traits>::push_non_greedy_repeat(const re_syntax_base* ps)
-{
-   saved_position<BidiIterator>* pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);
-   --pmp;
-   if(pmp < m_stack_base)
-   {
-      extend_stack();
-      pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);
-      --pmp;
-   }
-   (void) new (pmp)saved_position<BidiIterator>(ps, position, saved_state_non_greedy_long_repeat);
-   m_backup_state = pmp;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline void perl_matcher<BidiIterator, Allocator, traits>::push_repeater_count(int i, repeater_count<BidiIterator>** s)
-{
-   saved_repeater<BidiIterator>* pmp = static_cast<saved_repeater<BidiIterator>*>(m_backup_state);
-   --pmp;
-   if(pmp < m_stack_base)
-   {
-      extend_stack();
-      pmp = static_cast<saved_repeater<BidiIterator>*>(m_backup_state);
-      --pmp;
-   }
-   (void) new (pmp)saved_repeater<BidiIterator>(i, s, position);
-   m_backup_state = pmp;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline void perl_matcher<BidiIterator, Allocator, traits>::push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int state_id)
-{
-   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);
-   --pmp;
-   if(pmp < m_stack_base)
-   {
-      extend_stack();
-      pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);
-      --pmp;
-   }
-   (void) new (pmp)saved_single_repeat<BidiIterator>(c, r, last_position, state_id);
-   m_backup_state = pmp;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline void perl_matcher<BidiIterator, Allocator, traits>::push_recursion(int idx, const re_syntax_base* p, results_type* presults)
-{
-   saved_recursion<results_type>* pmp = static_cast<saved_recursion<results_type>*>(m_backup_state);
-   --pmp;
-   if(pmp < m_stack_base)
-   {
-      extend_stack();
-      pmp = static_cast<saved_recursion<results_type>*>(m_backup_state);
-      --pmp;
-   }
-   (void) new (pmp)saved_recursion<results_type>(idx, p, presults);
-   m_backup_state = pmp;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_startmark()
-{
-   int index = static_cast<const re_brace*>(pstate)->index;
-   icase = static_cast<const re_brace*>(pstate)->icase;
-   switch(index)
-   {
-   case 0:
-      pstate = pstate->next.p;
-      break;
-   case -1:
-   case -2:
-      {
-         // forward lookahead assert:
-         const re_syntax_base* next_pstate = static_cast<const re_jump*>(pstate->next.p)->alt.p->next.p;
-         pstate = pstate->next.p->next.p;
-         push_assertion(next_pstate, index == -1);
-         break;
-      }
-   case -3:
-      {
-         // independent sub-expression, currently this is always recursive:
-         bool old_independent = m_independent;
-         m_independent = true;
-         const re_syntax_base* next_pstate = static_cast<const re_jump*>(pstate->next.p)->alt.p->next.p;
-         pstate = pstate->next.p->next.p;
-         bool r = match_all_states();
-         pstate = next_pstate;
-         m_independent = old_independent;
-#ifdef BOOST_REGEX_MATCH_EXTRA
-         if(r && (m_match_flags & match_extra))
-         {
-            //
-            // our captures have been stored in *m_presult
-            // we need to unpack them, and insert them
-            // back in the right order when we unwind the stack:
-            //
-            match_results<BidiIterator, Allocator> temp_match(*m_presult);
-            unsigned i;
-            for(i = 0; i < temp_match.size(); ++i)
-               (*m_presult)[i].get_captures().clear();
-            // match everything else:
-            r = match_all_states();
-            // now place the stored captures back:
-            for(i = 0; i < temp_match.size(); ++i)
-            {
-               typedef typename sub_match<BidiIterator>::capture_sequence_type seq;
-               seq& s1 = (*m_presult)[i].get_captures();
-               const seq& s2 = temp_match[i].captures();
-               s1.insert(
-                  s1.end(), 
-                  s2.begin(), 
-                  s2.end());
-            }
-         }
-#endif
-         return r;
-      }
-   case -4:
-      {
-      // conditional expression:
-      const re_alt* alt = static_cast<const re_alt*>(pstate->next.p);
-      BOOST_ASSERT(alt->type == syntax_element_alt);
-      pstate = alt->next.p;
-      if(pstate->type == syntax_element_assert_backref)
-      {
-         if(!match_assert_backref())
-            pstate = alt->alt.p;
-         break;
-      }
-      else
-      {
-         // zero width assertion, have to match this recursively:
-         BOOST_ASSERT(pstate->type == syntax_element_startmark);
-         bool negated = static_cast<const re_brace*>(pstate)->index == -2;
-         BidiIterator saved_position = position;
-         const re_syntax_base* next_pstate = static_cast<const re_jump*>(pstate->next.p)->alt.p->next.p;
-         pstate = pstate->next.p->next.p;
-         bool r = match_all_states();
-         position = saved_position;
-         if(negated)
-            r = !r;
-         if(r)
-            pstate = next_pstate;
-         else
-            pstate = alt->alt.p;
-         break;
-      }
-      }
-   case -5:
-      {
-         push_matched_paren(0, (*m_presult)[0]);
-         m_presult->set_first(position, 0, true);
-         pstate = pstate->next.p;
-         break;
-      }
-   default:
-   {
-      BOOST_ASSERT(index > 0);
-      if((m_match_flags & match_nosubs) == 0)
-      {
-         push_matched_paren(index, (*m_presult)[index]);
-         m_presult->set_first(position, index);
-      }
-      pstate = pstate->next.p;
-      break;
-   }
-   }
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_alt()
-{
-   bool take_first, take_second;
-   const re_alt* jmp = static_cast<const re_alt*>(pstate);
-
-   // find out which of these two alternatives we need to take:
-   if(position == last)
-   {
-      take_first = jmp->can_be_null & mask_take;
-      take_second = jmp->can_be_null & mask_skip;
-   }
-   else
-   {
-      take_first = can_start(*position, jmp->_map, (unsigned char)mask_take);
-      take_second = can_start(*position, jmp->_map, (unsigned char)mask_skip);
-  }
-
-   if(take_first)
-   {
-      // we can take the first alternative,
-      // see if we need to push next alternative:
-      if(take_second)
-      {
-         push_alt(jmp->alt.p);
-      }
-      pstate = pstate->next.p;
-      return true;
-   }
-   if(take_second)
-   {
-      pstate = jmp->alt.p;
-      return true;
-   }
-   return false;  // neither option is possible
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_rep()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127 4244)
-#endif
-#ifdef __BORLANDC__
-#pragma option push -w-8008 -w-8066 -w-8004
-#endif
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-
-   // find out which of these two alternatives we need to take:
-   bool take_first, take_second;
-   if(position == last)
-   {
-      take_first = rep->can_be_null & mask_take;
-      take_second = rep->can_be_null & mask_skip;
-   }
-   else
-   {
-      take_first = can_start(*position, rep->_map, (unsigned char)mask_take);
-      take_second = can_start(*position, rep->_map, (unsigned char)mask_skip);
-   }
-
-   if((m_backup_state->state_id != saved_state_repeater_count) 
-      || (static_cast<saved_repeater<BidiIterator>*>(m_backup_state)->count.get_id() != rep->state_id)
-      || (next_count->get_id() != rep->state_id))
-   {
-      // we're moving to a different repeat from the last
-      // one, so set up a counter object:
-      push_repeater_count(rep->state_id, &next_count);
-   }
-   //
-   // If we've had at least one repeat already, and the last one 
-   // matched the NULL string then set the repeat count to
-   // maximum:
-   //
-   next_count->check_null_repeat(position, rep->max);
-
-   if(next_count->get_count() < rep->min)
-   {
-      // we must take the repeat:
-      if(take_first)
-      {
-         // increase the counter:
-         ++(*next_count);
-         pstate = rep->next.p;
-         return true;
-      }
-      return false;
-   }
-
-   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   
-   if(greedy)
-   {
-      // try and take the repeat if we can:
-      if((next_count->get_count() < rep->max) && take_first)
-      {
-         if(take_second)
-         {
-            // store position in case we fail:
-            push_alt(rep->alt.p);
-         }
-         // increase the counter:
-         ++(*next_count);
-         pstate = rep->next.p;
-         return true;
-      }
-      else if(take_second)
-      {
-         pstate = rep->alt.p;
-         return true;
-      }
-      return false; // can't take anything, fail...
-   }
-   else // non-greedy
-   {
-      // try and skip the repeat if we can:
-      if(take_second)
-      {
-         if((next_count->get_count() < rep->max) && take_first)
-         {
-            // store position in case we fail:
-            push_non_greedy_repeat(rep->next.p);
-         }
-         pstate = rep->alt.p;
-         return true;
-      }
-      if((next_count->get_count() < rep->max) && take_first)
-      {
-         // increase the counter:
-         ++(*next_count);
-         pstate = rep->next.p;
-         return true;
-      }
-   }
-   return false;
-#ifdef __BORLANDC__
-#pragma option pop
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_slow()
-{
-   unsigned count = 0;
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-   re_syntax_base* psingle = rep->next.p;
-   // match compulsary repeats first:
-   while(count < rep->min)
-   {
-      pstate = psingle;
-      if(!match_wild())
-         return false;
-      ++count;
-   }
-   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   
-   if(greedy)
-   {
-      // repeat for as long as we can:
-      while(count < rep->max)
-      {
-         pstate = psingle;
-         if(!match_wild())
-            break;
-         ++count;
-      }
-      // remember where we got to if this is a leading repeat:
-      if((rep->leading) && (count < rep->max))
-         restart = position;
-      // push backtrack info if available:
-      if(count - rep->min)
-         push_single_repeat(count, rep, position, saved_state_greedy_single_repeat);
-      // jump to next state:
-      pstate = rep->alt.p;
-      return true;
-   }
-   else
-   {
-      // non-greedy, push state and return true if we can skip:
-      if(count < rep->max)
-         push_single_repeat(count, rep, position, saved_state_rep_slow_dot);
-      pstate = rep->alt.p;
-      return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip);
-   }
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_fast()
-{
-   if(m_match_flags & match_not_dot_null)
-      return match_dot_repeat_slow();
-   if((static_cast<const re_dot*>(pstate->next.p)->mask & match_any_mask) == 0)
-      return match_dot_repeat_slow();
-
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   
-   unsigned count = static_cast<unsigned>((std::min)(static_cast<unsigned>(::boost::re_detail::distance(position, last)), static_cast<unsigned>(greedy ? rep->max : rep->min)));
-   if(rep->min > count)
-   {
-      position = last;
-      return false;  // not enough text left to match
-   }
-   std::advance(position, count);
-
-   if(greedy)
-   {
-      if((rep->leading) && (count < rep->max))
-         restart = position;
-      // push backtrack info if available:
-      if(count - rep->min)
-         push_single_repeat(count, rep, position, saved_state_greedy_single_repeat);
-      // jump to next state:
-      pstate = rep->alt.p;
-      return true;
-   }
-   else
-   {
-      // non-greedy, push state and return true if we can skip:
-      if(count < rep->max)
-         push_single_repeat(count, rep, position, saved_state_rep_fast_dot);
-      pstate = rep->alt.p;
-      return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip);
-   }
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_char_repeat()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-#ifdef __BORLANDC__
-#pragma option push -w-8008 -w-8066 -w-8004
-#endif
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-   BOOST_ASSERT(1 == static_cast<const re_literal*>(rep->next.p)->length);
-   const char_type what = *reinterpret_cast<const char_type*>(static_cast<const re_literal*>(rep->next.p) + 1);
-   std::size_t count = 0;
-   //
-   // start by working out how much we can skip:
-   //
-   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   
-   std::size_t desired = greedy ? rep->max : rep->min;
-   if(::boost::is_random_access_iterator<BidiIterator>::value)
-   {
-      BidiIterator end = position;
-      std::advance(end, (std::min)((std::size_t)::boost::re_detail::distance(position, last), desired));
-      BidiIterator origin(position);
-      while((position != end) && (traits_inst.translate(*position, icase) == what))
-      {
-         ++position;
-      }
-      count = (unsigned)::boost::re_detail::distance(origin, position);
-   }
-   else
-   {
-      while((count < desired) && (position != last) && (traits_inst.translate(*position, icase) == what))
-      {
-         ++position;
-         ++count;
-      }
-   }
-
-   if(count < rep->min)
-      return false;
-
-   if(greedy)
-   {
-      if((rep->leading) && (count < rep->max))
-         restart = position;
-      // push backtrack info if available:
-      if(count - rep->min)
-         push_single_repeat(count, rep, position, saved_state_greedy_single_repeat);
-      // jump to next state:
-      pstate = rep->alt.p;
-      return true;
-   }
-   else
-   {
-      // non-greedy, push state and return true if we can skip:
-      if(count < rep->max)
-         push_single_repeat(count, rep, position, saved_state_rep_char);
-      pstate = rep->alt.p;
-      return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip);
-   }
-#ifdef __BORLANDC__
-#pragma option pop
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_set_repeat()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-#ifdef __BORLANDC__
-#pragma option push -w-8008 -w-8066 -w-8004
-#endif
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-   const unsigned char* map = static_cast<const re_set*>(rep->next.p)->_map;
-   std::size_t count = 0;
-   //
-   // start by working out how much we can skip:
-   //
-   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   
-   std::size_t desired = greedy ? rep->max : rep->min;
-   if(::boost::is_random_access_iterator<BidiIterator>::value)
-   {
-      BidiIterator end = position;
-      std::advance(end, (std::min)((std::size_t)::boost::re_detail::distance(position, last), desired));
-      BidiIterator origin(position);
-      while((position != end) && map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])
-      {
-         ++position;
-      }
-      count = (unsigned)::boost::re_detail::distance(origin, position);
-   }
-   else
-   {
-      while((count < desired) && (position != last) && map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])
-      {
-         ++position;
-         ++count;
-      }
-   }
-
-   if(count < rep->min)
-      return false;
-
-   if(greedy)
-   {
-      if((rep->leading) && (count < rep->max))
-         restart = position;
-      // push backtrack info if available:
-      if(count - rep->min)
-         push_single_repeat(count, rep, position, saved_state_greedy_single_repeat);
-      // jump to next state:
-      pstate = rep->alt.p;
-      return true;
-   }
-   else
-   {
-      // non-greedy, push state and return true if we can skip:
-      if(count < rep->max)
-         push_single_repeat(count, rep, position, saved_state_rep_short_set);
-      pstate = rep->alt.p;
-      return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip);
-   }
-#ifdef __BORLANDC__
-#pragma option pop
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_long_set_repeat()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-#ifdef __BORLANDC__
-#pragma option push -w-8008 -w-8066 -w-8004
-#endif
-   typedef typename traits::char_class_type mask_type;
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-   const re_set_long<mask_type>* set = static_cast<const re_set_long<mask_type>*>(pstate->next.p);
-   std::size_t count = 0;
-   //
-   // start by working out how much we can skip:
-   //
-   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   
-   std::size_t desired = greedy ? rep->max : rep->min;
-   if(::boost::is_random_access_iterator<BidiIterator>::value)
-   {
-      BidiIterator end = position;
-      std::advance(end, (std::min)((std::size_t)::boost::re_detail::distance(position, last), desired));
-      BidiIterator origin(position);
-      while((position != end) && (position != re_is_set_member(position, last, set, re.get_data(), icase)))
-      {
-         ++position;
-      }
-      count = (unsigned)::boost::re_detail::distance(origin, position);
-   }
-   else
-   {
-      while((count < desired) && (position != last) && (position != re_is_set_member(position, last, set, re.get_data(), icase)))
-      {
-         ++position;
-         ++count;
-      }
-   }
-
-   if(count < rep->min)
-      return false;
-
-   if(greedy)
-   {
-      if((rep->leading) && (count < rep->max))
-         restart = position;
-      // push backtrack info if available:
-      if(count - rep->min)
-         push_single_repeat(count, rep, position, saved_state_greedy_single_repeat);
-      // jump to next state:
-      pstate = rep->alt.p;
-      return true;
-   }
-   else
-   {
-      // non-greedy, push state and return true if we can skip:
-      if(count < rep->max)
-         push_single_repeat(count, rep, position, saved_state_rep_long_set);
-      pstate = rep->alt.p;
-      return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip);
-   }
-#ifdef __BORLANDC__
-#pragma option pop
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_recursion()
-{
-   BOOST_ASSERT(pstate->type == syntax_element_recurse);
-   //
-   // Backup call stack:
-   //
-   push_recursion_pop();
-   //
-   // Set new call stack:
-   //
-   if(recursion_stack.capacity() == 0)
-   {
-      recursion_stack.reserve(50);
-   }
-   recursion_stack.push_back(recursion_info<results_type>());
-   recursion_stack.back().preturn_address = pstate->next.p;
-   recursion_stack.back().results = *m_presult;
-   if(static_cast<const re_recurse*>(pstate)->state_id > 0)
-   {
-      push_repeater_count(static_cast<const re_recurse*>(pstate)->state_id, &next_count);
-   }
-   pstate = static_cast<const re_jump*>(pstate)->alt.p;
-   recursion_stack.back().idx = static_cast<const re_brace*>(pstate)->index;
-
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_endmark()
-{
-   int index = static_cast<const re_brace*>(pstate)->index;
-   icase = static_cast<const re_brace*>(pstate)->icase;
-   if(index > 0)
-   {
-      if((m_match_flags & match_nosubs) == 0)
-      {
-         m_presult->set_second(position, index);
-      }
-      if(!recursion_stack.empty())
-      {
-         if(index == recursion_stack.back().idx)
-         {
-            pstate = recursion_stack.back().preturn_address;
-            *m_presult = recursion_stack.back().results;
-            push_recursion(recursion_stack.back().idx, recursion_stack.back().preturn_address, &recursion_stack.back().results);
-            recursion_stack.pop_back();
-         }
-      }
-   }
-   else if((index < 0) && (index != -4))
-   {
-      // matched forward lookahead:
-      pstate = 0;
-      return true;
-   }
-   pstate = pstate->next.p;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_match()
-{
-   if(!recursion_stack.empty())
-   {
-      BOOST_ASSERT(0 == recursion_stack.back().idx);
-      pstate = recursion_stack.back().preturn_address;
-      *m_presult = recursion_stack.back().results;
-      push_recursion(recursion_stack.back().idx, recursion_stack.back().preturn_address, &recursion_stack.back().results);
-      recursion_stack.pop_back();
-      return true;
-   }
-   if((m_match_flags & match_not_null) && (position == (*m_presult)[0].first))
-      return false;
-   if((m_match_flags & match_all) && (position != last))
-      return false;
-   if((m_match_flags & regex_constants::match_not_initial_null) && (position == search_base))
-      return false;
-   m_presult->set_second(position);
-   pstate = 0;
-   m_has_found_match = true;
-   if((m_match_flags & match_posix) == match_posix)
-   {
-      m_result.maybe_assign(*m_presult);
-      if((m_match_flags & match_any) == 0)
-         return false;
-   }
-#ifdef BOOST_REGEX_MATCH_EXTRA
-   if(match_extra & m_match_flags)
-   {
-      for(unsigned i = 0; i < m_presult->size(); ++i)
-         if((*m_presult)[i].matched)
-            ((*m_presult)[i]).get_captures().push_back((*m_presult)[i]);
-   }
-#endif
-   return true;
-}
-
-/****************************************************************************
-
-Unwind and associated proceedures follow, these perform what normal stack
-unwinding does in the recursive implementation.
-
-****************************************************************************/
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind(bool have_match)
-{
-   static unwind_proc_type const s_unwind_table[18] = 
-   {
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_end,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_paren,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion_stopper,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_assertion,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_alt,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_repeater_counter,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_extra_block,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_greedy_single_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_slow_dot_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_fast_dot_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_char_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_short_set_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_long_set_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_non_greedy_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion,
-      &perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion_pop,
-   };
-
-   m_recursive_result = have_match;
-   unwind_proc_type unwinder;
-   bool cont;
-   //
-   // keep unwinding our stack until we have something to do:
-   //
-   do
-   {
-      unwinder = s_unwind_table[m_backup_state->state_id];
-      cont = (this->*unwinder)(m_recursive_result);
-   }while(cont);
-   //
-   // return true if we have more states to try:
-   //
-   return pstate ? true : false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_end(bool)
-{
-   pstate = 0;   // nothing left to search
-   return false; // end of stack nothing more to search
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_paren(bool have_match)
-{
-   saved_matched_paren<BidiIterator>* pmp = static_cast<saved_matched_paren<BidiIterator>*>(m_backup_state);
-   // restore previous values if no match was found:
-   if(have_match == false)
-   {
-      m_presult->set_first(pmp->sub.first, pmp->index, pmp->index == 0);
-      m_presult->set_second(pmp->sub.second, pmp->index, pmp->sub.matched, pmp->index == 0);
-   }
-#ifdef BOOST_REGEX_MATCH_EXTRA
-   //
-   // we have a match, push the capture information onto the stack:
-   //
-   else if(pmp->sub.matched && (match_extra & m_match_flags))
-      ((*m_presult)[pmp->index]).get_captures().push_back(pmp->sub);
-#endif
-   // unwind stack:
-   m_backup_state = pmp+1;
-   boost::re_detail::inplace_destroy(pmp);
-   return true; // keep looking
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion_stopper(bool)
-{
-   boost::re_detail::inplace_destroy(m_backup_state++);
-   pstate = 0;   // nothing left to search
-   return false; // end of stack nothing more to search
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_assertion(bool r)
-{
-   saved_assertion<BidiIterator>* pmp = static_cast<saved_assertion<BidiIterator>*>(m_backup_state);
-   pstate = pmp->pstate;
-   position = pmp->position;
-   bool result = (r == pmp->positive);
-   m_recursive_result = pmp->positive ? r : !r;
-   boost::re_detail::inplace_destroy(pmp++);
-   m_backup_state = pmp;
-   return !result; // return false if the assertion was matched to stop search.
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_alt(bool r)
-{
-   saved_position<BidiIterator>* pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);
-   if(!r)
-   {
-      pstate = pmp->pstate;
-      position = pmp->position;
-   }
-   boost::re_detail::inplace_destroy(pmp++);
-   m_backup_state = pmp;
-   return r; 
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_repeater_counter(bool)
-{
-   saved_repeater<BidiIterator>* pmp = static_cast<saved_repeater<BidiIterator>*>(m_backup_state);
-   boost::re_detail::inplace_destroy(pmp++);
-   m_backup_state = pmp;
-   return true; // keep looking
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_extra_block(bool)
-{
-   saved_extra_block* pmp = static_cast<saved_extra_block*>(m_backup_state);
-   void* condemmed = m_stack_base;
-   m_stack_base = pmp->base;
-   m_backup_state = pmp->end;
-   boost::re_detail::inplace_destroy(pmp);
-   put_mem_block(condemmed);
-   return true; // keep looking
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline void perl_matcher<BidiIterator, Allocator, traits>::destroy_single_repeat()
-{
-   saved_single_repeat<BidiIterator>* p = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);
-   boost::re_detail::inplace_destroy(p++);
-   m_backup_state = p;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_greedy_single_repeat(bool r)
-{
-   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);
-
-   // if we have a match, just discard this state:
-   if(r) 
-   {
-      destroy_single_repeat();
-      return true;
-   }
-
-   const re_repeat* rep = pmp->rep;
-   std::size_t count = pmp->count;
-   BOOST_ASSERT(rep->next.p != 0);
-   BOOST_ASSERT(rep->alt.p != 0);
-
-   count -= rep->min;
-   
-   if((m_match_flags & match_partial) && (position == last))
-      m_has_partial_match = true;
-
-   BOOST_ASSERT(count);
-   position = pmp->last_position;
-
-   // backtrack till we can skip out:
-   do
-   {
-      --position;
-      --count;
-      ++state_count;
-   }while(count && !can_start(*position, rep->_map, mask_skip));
-
-   // if we've hit base, destroy this state:
-   if(count == 0)
-   {
-         destroy_single_repeat();
-         if(!can_start(*position, rep->_map, mask_skip))
-            return true;
-   }
-   else
-   {
-      pmp->count = count + rep->min;
-      pmp->last_position = position;
-   }
-   pstate = rep->alt.p;
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_slow_dot_repeat(bool r)
-{
-   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);
-
-   // if we have a match, just discard this state:
-   if(r) 
-   {
-      destroy_single_repeat();
-      return true;
-   }
-
-   const re_repeat* rep = pmp->rep;
-   std::size_t count = pmp->count;
-   BOOST_ASSERT(rep->type == syntax_element_dot_rep);
-   BOOST_ASSERT(rep->next.p != 0);
-   BOOST_ASSERT(rep->alt.p != 0);
-   BOOST_ASSERT(rep->next.p->type == syntax_element_wild);
-
-   BOOST_ASSERT(count < rep->max);
-   pstate = rep->next.p;
-   position = pmp->last_position;
-
-   if(position != last)
-   {
-      // wind forward until we can skip out of the repeat:
-      do
-      {
-         if(!match_wild())
-         {
-            // failed repeat match, discard this state and look for another:
-            destroy_single_repeat();
-            return true;
-         }
-         ++count;
-         ++state_count;
-         pstate = rep->next.p;
-      }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));
-   }   
-   if(position == last)
-   {
-      // can't repeat any more, remove the pushed state: 
-      destroy_single_repeat();
-      if((m_match_flags & match_partial) && (position == last) && (position != search_base))
-         m_has_partial_match = true;
-      if(0 == (rep->can_be_null & mask_skip))
-         return true;
-   }
-   else if(count == rep->max)
-   {
-      // can't repeat any more, remove the pushed state: 
-      destroy_single_repeat();
-      if(!can_start(*position, rep->_map, mask_skip))
-         return true;
-   }
-   else
-   {
-      pmp->count = count;
-      pmp->last_position = position;
-   }
-   pstate = rep->alt.p;
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_fast_dot_repeat(bool r)
-{
-   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);
-
-   // if we have a match, just discard this state:
-   if(r) 
-   {
-      destroy_single_repeat();
-      return true;
-   }
-
-   const re_repeat* rep = pmp->rep;
-   std::size_t count = pmp->count;
-
-   BOOST_ASSERT(count < rep->max);
-   position = pmp->last_position;
-   if(position != last)
-   {
-
-      // wind forward until we can skip out of the repeat:
-      do
-      {
-         ++position;
-         ++count;
-         ++state_count;
-      }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));
-   }
-
-   if(position == last)
-   {
-      // can't repeat any more, remove the pushed state: 
-      destroy_single_repeat();
-      if((m_match_flags & match_partial) && (position == last) && (position != search_base))
-         m_has_partial_match = true;
-      if(0 == (rep->can_be_null & mask_skip))
-         return true;
-   }
-   else if(count == rep->max)
-   {
-      // can't repeat any more, remove the pushed state: 
-      destroy_single_repeat();
-      if(!can_start(*position, rep->_map, mask_skip))
-         return true;
-   }
-   else
-   {
-      pmp->count = count;
-      pmp->last_position = position;
-   }
-   pstate = rep->alt.p;
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_char_repeat(bool r)
-{
-   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);
-
-   // if we have a match, just discard this state:
-   if(r) 
-   {
-      destroy_single_repeat();
-      return true;
-   }
-
-   const re_repeat* rep = pmp->rep;
-   std::size_t count = pmp->count;
-   pstate = rep->next.p;
-   const char_type what = *reinterpret_cast<const char_type*>(static_cast<const re_literal*>(pstate) + 1);
-   position = pmp->last_position;
-
-   BOOST_ASSERT(rep->type == syntax_element_char_rep);
-   BOOST_ASSERT(rep->next.p != 0);
-   BOOST_ASSERT(rep->alt.p != 0);
-   BOOST_ASSERT(rep->next.p->type == syntax_element_literal);
-   BOOST_ASSERT(count < rep->max);
-
-   if(position != last)
-   {
-      // wind forward until we can skip out of the repeat:
-      do
-      {
-         if(traits_inst.translate(*position, icase) != what)
-         {
-            // failed repeat match, discard this state and look for another:
-            destroy_single_repeat();
-            return true;
-         }
-         ++count;
-         ++ position;
-         ++state_count;
-         pstate = rep->next.p;
-      }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));
-   }   
-   // remember where we got to if this is a leading repeat:
-   if((rep->leading) && (count < rep->max))
-      restart = position;
-   if(position == last)
-   {
-      // can't repeat any more, remove the pushed state: 
-      destroy_single_repeat();
-      if((m_match_flags & match_partial) && (position == last) && (position != search_base))
-         m_has_partial_match = true;
-      if(0 == (rep->can_be_null & mask_skip))
-         return true;
-   }
-   else if(count == rep->max)
-   {
-      // can't repeat any more, remove the pushed state: 
-      destroy_single_repeat();
-      if(!can_start(*position, rep->_map, mask_skip))
-         return true;
-   }
-   else
-   {
-      pmp->count = count;
-      pmp->last_position = position;
-   }
-   pstate = rep->alt.p;
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_short_set_repeat(bool r)
-{
-   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);
-
-   // if we have a match, just discard this state:
-   if(r) 
-   {
-      destroy_single_repeat();
-      return true;
-   }
-
-   const re_repeat* rep = pmp->rep;
-   std::size_t count = pmp->count;
-   pstate = rep->next.p;
-   const unsigned char* map = static_cast<const re_set*>(rep->next.p)->_map;
-   position = pmp->last_position;
-
-   BOOST_ASSERT(rep->type == syntax_element_short_set_rep);
-   BOOST_ASSERT(rep->next.p != 0);
-   BOOST_ASSERT(rep->alt.p != 0);
-   BOOST_ASSERT(rep->next.p->type == syntax_element_set);
-   BOOST_ASSERT(count < rep->max);
-   
-   if(position != last)
-   {
-      // wind forward until we can skip out of the repeat:
-      do
-      {
-         if(!map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])
-         {
-            // failed repeat match, discard this state and look for another:
-            destroy_single_repeat();
-            return true;
-         }
-         ++count;
-         ++ position;
-         ++state_count;
-         pstate = rep->next.p;
-      }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));
-   }   
-   // remember where we got to if this is a leading repeat:
-   if((rep->leading) && (count < rep->max))
-      restart = position;
-   if(position == last)
-   {
-      // can't repeat any more, remove the pushed state: 
-      destroy_single_repeat();
-      if((m_match_flags & match_partial) && (position == last) && (position != search_base))
-         m_has_partial_match = true;
-      if(0 == (rep->can_be_null & mask_skip))
-         return true;
-   }
-   else if(count == rep->max)
-   {
-      // can't repeat any more, remove the pushed state: 
-      destroy_single_repeat();
-      if(!can_start(*position, rep->_map, mask_skip))
-         return true;
-   }
-   else
-   {
-      pmp->count = count;
-      pmp->last_position = position;
-   }
-   pstate = rep->alt.p;
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_long_set_repeat(bool r)
-{
-   typedef typename traits::char_class_type mask_type;
-   saved_single_repeat<BidiIterator>* pmp = static_cast<saved_single_repeat<BidiIterator>*>(m_backup_state);
-
-   // if we have a match, just discard this state:
-   if(r)
-   {
-      destroy_single_repeat();
-      return true;
-   }
-
-   const re_repeat* rep = pmp->rep;
-   std::size_t count = pmp->count;
-   pstate = rep->next.p;
-   const re_set_long<mask_type>* set = static_cast<const re_set_long<mask_type>*>(pstate);
-   position = pmp->last_position;
-
-   BOOST_ASSERT(rep->type == syntax_element_long_set_rep);
-   BOOST_ASSERT(rep->next.p != 0);
-   BOOST_ASSERT(rep->alt.p != 0);
-   BOOST_ASSERT(rep->next.p->type == syntax_element_long_set);
-   BOOST_ASSERT(count < rep->max);
-
-   if(position != last)
-   {
-      // wind forward until we can skip out of the repeat:
-      do
-      {
-         if(position == re_is_set_member(position, last, set, re.get_data(), icase))
-         {
-            // failed repeat match, discard this state and look for another:
-            destroy_single_repeat();
-            return true;
-         }
-         ++position;
-         ++count;
-         ++state_count;
-         pstate = rep->next.p;
-      }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip));
-   }   
-   // remember where we got to if this is a leading repeat:
-   if((rep->leading) && (count < rep->max))
-      restart = position;
-   if(position == last)
-   {
-      // can't repeat any more, remove the pushed state:
-      destroy_single_repeat();
-      if((m_match_flags & match_partial) && (position == last) && (position != search_base))
-         m_has_partial_match = true;
-      if(0 == (rep->can_be_null & mask_skip))
-         return true;
-   }
-   else if(count == rep->max)
-   {
-      // can't repeat any more, remove the pushed state: 
-      destroy_single_repeat();
-      if(!can_start(*position, rep->_map, mask_skip))
-         return true;
-   }
-   else
-   {
-      pmp->count = count;
-      pmp->last_position = position;
-   }
-   pstate = rep->alt.p;
-   return false;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_non_greedy_repeat(bool r)
-{
-   saved_position<BidiIterator>* pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);
-   if(!r)
-   {
-      position = pmp->position;
-      pstate = pmp->pstate;
-      ++(*next_count);
-   }
-   boost::re_detail::inplace_destroy(pmp++);
-   m_backup_state = pmp;
-   return r;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion(bool r)
-{
-   saved_recursion<results_type>* pmp = static_cast<saved_recursion<results_type>*>(m_backup_state);
-   if(!r)
-   {
-      recursion_stack.push_back(recursion_info<results_type>());
-      recursion_stack.back().idx = pmp->recursion_id;
-      recursion_stack.back().preturn_address = pmp->preturn_address;
-      recursion_stack.back().results = pmp->results;
-   }
-   boost::re_detail::inplace_destroy(pmp++);
-   m_backup_state = pmp;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_recursion_pop(bool r)
-{
-   saved_state* pmp = static_cast<saved_state*>(m_backup_state);
-   if(!r)
-   {
-      recursion_stack.pop_back();
-   }
-   boost::re_detail::inplace_destroy(pmp++);
-   m_backup_state = pmp;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-void perl_matcher<BidiIterator, Allocator, traits>::push_recursion_pop()
-{
-   saved_state* pmp = static_cast<saved_state*>(m_backup_state);
-   --pmp;
-   if(pmp < m_stack_base)
-   {
-      extend_stack();
-      pmp = static_cast<saved_state*>(m_backup_state);
-      --pmp;
-   }
-   (void) new (pmp)saved_state(15);
-   m_backup_state = pmp;
-}
-/*
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_parenthesis_pop(bool r)
-{
-   saved_state* pmp = static_cast<saved_state*>(m_backup_state);
-   if(!r)
-   {
-      --parenthesis_stack_position;
-   }
-   boost::re_detail::inplace_destroy(pmp++);
-   m_backup_state = pmp;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-void perl_matcher<BidiIterator, Allocator, traits>::push_parenthesis_pop()
-{
-   saved_state* pmp = static_cast<saved_state*>(m_backup_state);
-   --pmp;
-   if(pmp < m_stack_base)
-   {
-      extend_stack();
-      pmp = static_cast<saved_state*>(m_backup_state);
-      --pmp;
-   }
-   (void) new (pmp)saved_state(16);
-   m_backup_state = pmp;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::unwind_parenthesis_push(bool r)
-{
-   saved_position<BidiIterator>* pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);
-   if(!r)
-   {
-      parenthesis_stack[parenthesis_stack_position++] = pmp->position;
-   }
-   boost::re_detail::inplace_destroy(pmp++);
-   m_backup_state = pmp;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-inline void perl_matcher<BidiIterator, Allocator, traits>::push_parenthesis_push(BidiIterator p)
-{
-   saved_position<BidiIterator>* pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);
-   --pmp;
-   if(pmp < m_stack_base)
-   {
-      extend_stack();
-      pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);
-      --pmp;
-   }
-   (void) new (pmp)saved_position<BidiIterator>(0, p, 17);
-   m_backup_state = pmp;
-}
-*/
-} // namespace re_detail
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
-
diff --git a/SRC/Boost/boost/regex/v4/perl_matcher_recursive.hpp b/SRC/Boost/boost/regex/v4/perl_matcher_recursive.hpp
deleted file mode 100755
index 968b4be..0000000
--- a/SRC/Boost/boost/regex/v4/perl_matcher_recursive.hpp
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- *
- * Copyright (c) 2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         perl_matcher_common.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Definitions of perl_matcher member functions that are 
-  *                specific to the recursive implementation.
-  */
-
-#ifndef BOOST_REGEX_V4_PERL_MATCHER_RECURSIVE_HPP
-#define BOOST_REGEX_V4_PERL_MATCHER_RECURSIVE_HPP
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4800)
-#endif
-
-namespace boost{
-namespace re_detail{
-
-template <class BidiIterator>
-class backup_subex
-{
-   int index;
-   sub_match<BidiIterator> sub;
-public:
-   template <class A>
-   backup_subex(const match_results<BidiIterator, A>& w, int i)
-      : index(i), sub(w[i], false) {}
-   template <class A>
-   void restore(match_results<BidiIterator, A>& w)
-   {
-      w.set_first(sub.first, index, index == 0);
-      w.set_second(sub.second, index, sub.matched, index == 0);
-   }
-   const sub_match<BidiIterator>& get() { return sub; }
-};
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_all_states()
-{
-   static matcher_proc_type const s_match_vtable[30] = 
-   {
-      (&perl_matcher<BidiIterator, Allocator, traits>::match_startmark),
-      &perl_matcher<BidiIterator, Allocator, traits>::match_endmark,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_literal,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_start_line,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_end_line,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_wild,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_match,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_word_boundary,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_within_word,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_word_start,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_word_end,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_buffer_start,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_buffer_end,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_backref,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_long_set,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_set,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_jump,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_alt,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_rep,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_combining,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_soft_buffer_end,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_restart_continue,
-      // Although this next line *should* be evaluated at compile time, in practice
-      // some compilers (VC++) emit run-time initialisation which breaks thread
-      // safety, so use a dispatch function instead:
-      //(::boost::is_random_access_iterator<BidiIterator>::value ? &perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_fast : &perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_slow),
-      &perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_dispatch,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_char_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_set_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_long_set_repeat,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_backstep,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_assert_backref,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_toggle_case,
-      &perl_matcher<BidiIterator, Allocator, traits>::match_recursion,
-   };
-
-   if(state_count > max_state_count)
-      raise_error(traits_inst, regex_constants::error_complexity);
-   while(pstate)
-   {
-      matcher_proc_type proc = s_match_vtable[pstate->type];
-      ++state_count;
-      if(!(this->*proc)())
-      {
-         if((m_match_flags & match_partial) && (position == last) && (position != search_base))
-            m_has_partial_match = true;
-         return 0;
-      }
-   }
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_startmark()
-{
-   int index = static_cast<const re_brace*>(pstate)->index;
-   icase = static_cast<const re_brace*>(pstate)->icase;
-   bool r = true;
-   switch(index)
-   {
-   case 0:
-      pstate = pstate->next.p;
-      break;
-   case -1:
-   case -2:
-      {
-         // forward lookahead assert:
-         BidiIterator old_position(position);
-         const re_syntax_base* next_pstate = static_cast<const re_jump*>(pstate->next.p)->alt.p->next.p;
-         pstate = pstate->next.p->next.p;
-         r = match_all_states();
-         pstate = next_pstate;
-         position = old_position;
-         if((r && (index != -1)) || (!r && (index != -2)))
-            r = false;
-         else
-            r = true;
-         break;
-      }
-   case -3:
-      {
-         // independent sub-expression:
-         bool old_independent = m_independent;
-         m_independent = true;
-         const re_syntax_base* next_pstate = static_cast<const re_jump*>(pstate->next.p)->alt.p->next.p;
-         pstate = pstate->next.p->next.p;
-         r = match_all_states();
-         pstate = next_pstate;
-         m_independent = old_independent;
-#ifdef BOOST_REGEX_MATCH_EXTRA
-         if(r && (m_match_flags & match_extra))
-         {
-            //
-            // our captures have been stored in *m_presult
-            // we need to unpack them, and insert them
-            // back in the right order when we unwind the stack:
-            //
-            unsigned i;
-            match_results<BidiIterator, Allocator> tm(*m_presult);
-            for(i = 0; i < tm.size(); ++i)
-               (*m_presult)[i].get_captures().clear();
-            // match everything else:
-            r = match_all_states();
-            // now place the stored captures back:
-            for(i = 0; i < tm.size(); ++i)
-            {
-               typedef typename sub_match<BidiIterator>::capture_sequence_type seq;
-               seq& s1 = (*m_presult)[i].get_captures();
-               const seq& s2 = tm[i].captures();
-               s1.insert(
-                  s1.end(), 
-                  s2.begin(), 
-                  s2.end());
-            }
-         }
-#endif
-         break;
-      }
-   case -4:
-      {
-      // conditional expression:
-      const re_alt* alt = static_cast<const re_alt*>(pstate->next.p);
-      BOOST_ASSERT(alt->type == syntax_element_alt);
-      pstate = alt->next.p;
-      if(pstate->type == syntax_element_assert_backref)
-      {
-         if(!match_assert_backref())
-            pstate = alt->alt.p;
-         break;
-      }
-      else
-      {
-         // zero width assertion, have to match this recursively:
-         BOOST_ASSERT(pstate->type == syntax_element_startmark);
-         bool negated = static_cast<const re_brace*>(pstate)->index == -2;
-         BidiIterator saved_position = position;
-         const re_syntax_base* next_pstate = static_cast<const re_jump*>(pstate->next.p)->alt.p->next.p;
-         pstate = pstate->next.p->next.p;
-         bool res = match_all_states();
-         position = saved_position;
-         if(negated)
-            res = !res;
-         if(res)
-            pstate = next_pstate;
-         else
-            pstate = alt->alt.p;
-         break;
-      }
-      }
-   case -5:
-      {
-         // Reset start of $0, since we have a \K escape
-         backup_subex<BidiIterator> sub(*m_presult, 0);
-         m_presult->set_first(position, 0, true);
-         pstate = pstate->next.p;
-         r = match_all_states();
-         if(r == false)
-            sub.restore(*m_presult);
-         break;
-      }
-   default:
-   {
-      BOOST_ASSERT(index > 0);
-      if((m_match_flags & match_nosubs) == 0)
-      {
-         backup_subex<BidiIterator> sub(*m_presult, index);
-         m_presult->set_first(position, index);
-         pstate = pstate->next.p;
-         r = match_all_states();
-         if(r == false)
-            sub.restore(*m_presult);
-#ifdef BOOST_REGEX_MATCH_EXTRA
-         //
-         // we have a match, push the capture information onto the stack:
-         //
-         else if(sub.get().matched && (match_extra & m_match_flags))
-            ((*m_presult)[index]).get_captures().push_back(sub.get());
-#endif
-      }
-      else
-      {
-         pstate = pstate->next.p;
-      }
-      break;
-   }
-   }
-   return r;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_alt()
-{
-   bool take_first, take_second;
-   const re_alt* jmp = static_cast<const re_alt*>(pstate);
-
-   // find out which of these two alternatives we need to take:
-   if(position == last)
-   {
-      take_first = jmp->can_be_null & mask_take;
-      take_second = jmp->can_be_null & mask_skip;
-   }
-   else
-   {
-      take_first = can_start(*position, jmp->_map, (unsigned char)mask_take);
-      take_second = can_start(*position, jmp->_map, (unsigned char)mask_skip);
-  }
-
-   if(take_first)
-   {
-      // we can take the first alternative,
-      // see if we need to push next alternative:
-      if(take_second)
-      {
-         BidiIterator oldposition(position);
-         const re_syntax_base* old_pstate = jmp->alt.p;
-         pstate = pstate->next.p;
-         if(!match_all_states())
-         {
-            pstate = old_pstate;
-            position = oldposition;
-         }
-         return true;
-      }
-      pstate = pstate->next.p;
-      return true;
-   }
-   if(take_second)
-   {
-      pstate = jmp->alt.p;
-      return true;
-   }
-   return false;  // neither option is possible
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_rep()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127 4244)
-#endif
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-   //
-   // Always copy the repeat count, so that the state is restored
-   // when we exit this scope:
-   //
-   repeater_count<BidiIterator> r(rep->state_id, &next_count, position);
-   //
-   // If we've had at least one repeat already, and the last one 
-   // matched the NULL string then set the repeat count to
-   // maximum:
-   //
-   next_count->check_null_repeat(position, rep->max);
-
-   // find out which of these two alternatives we need to take:
-   bool take_first, take_second;
-   if(position == last)
-   {
-      take_first = rep->can_be_null & mask_take;
-      take_second = rep->can_be_null & mask_skip;
-   }
-   else
-   {
-      take_first = can_start(*position, rep->_map, (unsigned char)mask_take);
-      take_second = can_start(*position, rep->_map, (unsigned char)mask_skip);
-   }
-
-   if(next_count->get_count() < rep->min)
-   {
-      // we must take the repeat:
-      if(take_first)
-      {
-         // increase the counter:
-         ++(*next_count);
-         pstate = rep->next.p;
-         return match_all_states();
-      }
-      return false;
-   }
-   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   
-   if(greedy)
-   {
-      // try and take the repeat if we can:
-      if((next_count->get_count() < rep->max) && take_first)
-      {
-         // store position in case we fail:
-         BidiIterator pos = position;
-         // increase the counter:
-         ++(*next_count);
-         pstate = rep->next.p;
-         if(match_all_states())
-            return true;
-         // failed repeat, reset posistion and fall through for alternative:
-         position = pos;
-      }
-      if(take_second)
-      {
-         pstate = rep->alt.p;
-         return true;
-      }
-      return false; // can't take anything, fail...
-   }
-   else // non-greedy
-   {
-      // try and skip the repeat if we can:
-      if(take_second)
-      {
-         // store position in case we fail:
-         BidiIterator pos = position;
-         pstate = rep->alt.p;
-         if(match_all_states())
-            return true;
-         // failed alternative, reset posistion and fall through for repeat:
-         position = pos;
-      }
-      if((next_count->get_count() < rep->max) && take_first)
-      {
-         // increase the counter:
-         ++(*next_count);
-         pstate = rep->next.p;
-         return match_all_states();
-      }
-   }
-   return false;
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_slow()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-   unsigned count = 0;
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-   re_syntax_base* psingle = rep->next.p;
-   // match compulsary repeats first:
-   while(count < rep->min)
-   {
-      pstate = psingle;
-      if(!match_wild())
-         return false;
-      ++count;
-   }
-   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   
-   if(greedy)
-   {
-      // normal repeat:
-      while(count < rep->max)
-      {
-         pstate = psingle;
-         if(!match_wild())
-            break;
-         ++count;
-      }
-      if((rep->leading) && (count < rep->max))
-         restart = position;
-      pstate = rep;
-      return backtrack_till_match(count - rep->min);
-   }
-   else
-   {
-      // non-greedy, keep trying till we get a match:
-      BidiIterator save_pos;
-      do
-      {
-         if((rep->leading) && (rep->max == UINT_MAX))
-            restart = position;
-         pstate = rep->alt.p;
-         save_pos = position;
-         ++state_count;
-         if(match_all_states())
-            return true;
-         if(count >= rep->max)
-            return false;
-         ++count;
-         pstate = psingle;
-         position = save_pos;
-         if(!match_wild())
-            return false;
-      }while(true);
-   }
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_fast()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-   if(m_match_flags & match_not_dot_null)
-      return match_dot_repeat_slow();
-   if((static_cast<const re_dot*>(pstate->next.p)->mask & match_any_mask) == 0)
-      return match_dot_repeat_slow();
-   //
-   // start by working out how much we can skip:
-   //
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4267)
-#endif
-   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   
-   std::size_t count = (std::min)(static_cast<std::size_t>(::boost::re_detail::distance(position, last)), static_cast<std::size_t>(greedy ? rep->max : rep->min));
-   if(rep->min > count)
-   {
-      position = last;
-      return false;  // not enough text left to match
-   }
-   std::advance(position, count);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-   if((rep->leading) && (count < rep->max) && greedy)
-      restart = position;
-   if(greedy)
-      return backtrack_till_match(count - rep->min);
-
-   // non-greedy, keep trying till we get a match:
-   BidiIterator save_pos;
-   do
-   {
-      while((position != last) && (count < rep->max) && !can_start(*position, rep->_map, mask_skip))
-      {
-         ++position;
-         ++count;
-      }
-      if((rep->leading) && (rep->max == UINT_MAX))
-         restart = position;
-      pstate = rep->alt.p;
-      save_pos = position;
-      ++state_count;
-      if(match_all_states())
-         return true;
-      if(count >= rep->max)
-         return false;
-      if(save_pos == last)
-         return false;
-      position = ++save_pos;
-      ++count;
-   }while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_char_repeat()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#pragma warning(disable:4267)
-#endif
-#ifdef __BORLANDC__
-#pragma option push -w-8008 -w-8066 -w-8004
-#endif
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-   BOOST_ASSERT(1 == static_cast<const re_literal*>(rep->next.p)->length);
-   const char_type what = *reinterpret_cast<const char_type*>(static_cast<const re_literal*>(rep->next.p) + 1);
-   //
-   // start by working out how much we can skip:
-   //
-   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   
-   std::size_t count, desired;
-   if(::boost::is_random_access_iterator<BidiIterator>::value)
-   {
-      desired = 
-         (std::min)(
-            (std::size_t)(greedy ? rep->max : rep->min),
-            (std::size_t)::boost::re_detail::distance(position, last));
-      count = desired;
-      ++desired;
-      if(icase)
-      {
-         while(--desired && (traits_inst.translate_nocase(*position) == what))
-         {
-            ++position;
-         }
-      }
-      else
-      {
-         while(--desired && (traits_inst.translate(*position) == what))
-         {
-            ++position;
-         }
-      }
-      count = count - desired;
-   }
-   else
-   {
-      count = 0;
-      desired = greedy ? rep->max : rep->min;
-      while((count < desired) && (position != last) && (traits_inst.translate(*position, icase) == what))
-      {
-         ++position;
-         ++count;
-      }
-   }
-   if((rep->leading) && (count < rep->max) && greedy)
-      restart = position;
-   if(count < rep->min)
-      return false;
-
-   if(greedy)
-      return backtrack_till_match(count - rep->min);
-
-   // non-greedy, keep trying till we get a match:
-   BidiIterator save_pos;
-   do
-   {
-      while((position != last) && (count < rep->max) && !can_start(*position, rep->_map, mask_skip))
-      {
-         if((traits_inst.translate(*position, icase) == what))
-         {
-            ++position;
-            ++count;
-         }
-         else
-            return false;  // counldn't repeat even though it was the only option
-      }
-      if((rep->leading) && (rep->max == UINT_MAX))
-         restart = position;
-      pstate = rep->alt.p;
-      save_pos = position;
-      ++state_count;
-      if(match_all_states())
-         return true;
-      if(count >= rep->max)
-         return false;
-      position = save_pos;
-      if(position == last)
-         return false;
-      if(traits_inst.translate(*position, icase) == what)
-      {
-         ++position;
-         ++count;
-      }
-      else
-      {
-         return false;
-      }
-   }while(true);
-#ifdef __BORLANDC__
-#pragma option pop
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_set_repeat()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-#ifdef __BORLANDC__
-#pragma option push -w-8008 -w-8066 -w-8004
-#endif
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-   const unsigned char* map = static_cast<const re_set*>(rep->next.p)->_map;
-   unsigned count = 0;
-   //
-   // start by working out how much we can skip:
-   //
-   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   
-   std::size_t desired = greedy ? rep->max : rep->min;
-   if(::boost::is_random_access_iterator<BidiIterator>::value)
-   {
-      BidiIterator end = position;
-      std::advance(end, (std::min)((std::size_t)::boost::re_detail::distance(position, last), desired));
-      BidiIterator origin(position);
-      while((position != end) && map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])
-      {
-         ++position;
-      }
-      count = (unsigned)::boost::re_detail::distance(origin, position);
-   }
-   else
-   {
-      while((count < desired) && (position != last) && map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])
-      {
-         ++position;
-         ++count;
-      }
-   }
-   if((rep->leading) && (count < rep->max) && greedy)
-      restart = position;
-   if(count < rep->min)
-      return false;
-
-   if(greedy)
-      return backtrack_till_match(count - rep->min);
-
-   // non-greedy, keep trying till we get a match:
-   BidiIterator save_pos;
-   do
-   {
-      while((position != last) && (count < rep->max) && !can_start(*position, rep->_map, mask_skip))
-      {
-         if(map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])
-         {
-            ++position;
-            ++count;
-         }
-         else
-            return false;  // counldn't repeat even though it was the only option
-      }
-      if((rep->leading) && (rep->max == UINT_MAX))
-         restart = position;
-      pstate = rep->alt.p;
-      save_pos = position;
-      ++state_count;
-      if(match_all_states())
-         return true;
-      if(count >= rep->max)
-         return false;
-      position = save_pos;
-      if(position == last)
-         return false;
-      if(map[static_cast<unsigned char>(traits_inst.translate(*position, icase))])
-      {
-         ++position;
-         ++count;
-      }
-      else
-      {
-         return false;
-      }
-   }while(true);
-#ifdef __BORLANDC__
-#pragma option pop
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_long_set_repeat()
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-#ifdef __BORLANDC__
-#pragma option push -w-8008 -w-8066 -w-8004
-#endif
-   typedef typename traits::char_class_type char_class_type;
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-   const re_set_long<char_class_type>* set = static_cast<const re_set_long<char_class_type>*>(pstate->next.p);
-   unsigned count = 0;
-   //
-   // start by working out how much we can skip:
-   //
-   bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent);   
-   std::size_t desired = greedy ? rep->max : rep->min;
-   if(::boost::is_random_access_iterator<BidiIterator>::value)
-   {
-      BidiIterator end = position;
-      std::advance(end, (std::min)((std::size_t)::boost::re_detail::distance(position, last), desired));
-      BidiIterator origin(position);
-      while((position != end) && (position != re_is_set_member(position, last, set, re.get_data(), icase)))
-      {
-         ++position;
-      }
-      count = (unsigned)::boost::re_detail::distance(origin, position);
-   }
-   else
-   {
-      while((count < desired) && (position != last) && (position != re_is_set_member(position, last, set, re.get_data(), icase)))
-      {
-         ++position;
-         ++count;
-      }
-   }
-   if((rep->leading) && (count < rep->max) && greedy)
-      restart = position;
-   if(count < rep->min)
-      return false;
-
-   if(greedy)
-      return backtrack_till_match(count - rep->min);
-
-   // non-greedy, keep trying till we get a match:
-   BidiIterator save_pos;
-   do
-   {
-      while((position != last) && (count < rep->max) && !can_start(*position, rep->_map, mask_skip))
-      {
-         if(position != re_is_set_member(position, last, set, re.get_data(), icase))
-         {
-            ++position;
-            ++count;
-         }
-         else
-            return false;  // counldn't repeat even though it was the only option
-      }
-      if((rep->leading) && (rep->max == UINT_MAX))
-         restart = position;
-      pstate = rep->alt.p;
-      save_pos = position;
-      ++state_count;
-      if(match_all_states())
-         return true;
-      if(count >= rep->max)
-         return false;
-      position = save_pos;
-      if(position == last)
-         return false;
-      if(position != re_is_set_member(position, last, set, re.get_data(), icase))
-      {
-         ++position;
-         ++count;
-      }
-      else
-      {
-         return false;
-      }
-   }while(true);
-#ifdef __BORLANDC__
-#pragma option pop
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::backtrack_till_match(std::size_t count)
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127)
-#endif
-   if((m_match_flags & match_partial) && (position == last))
-      m_has_partial_match = true;
-
-   const re_repeat* rep = static_cast<const re_repeat*>(pstate);
-   BidiIterator backtrack = position;
-   if(position == last)
-   {
-      if(rep->can_be_null & mask_skip) 
-      {
-         pstate = rep->alt.p;
-         if(match_all_states())
-            return true;
-      }
-      if(count)
-      {
-         position = --backtrack;
-         --count;
-      }
-      else
-         return false;
-   }
-   do
-   {
-      while(count && !can_start(*position, rep->_map, mask_skip))
-      {
-         --position;
-         --count;
-         ++state_count;
-      }
-      pstate = rep->alt.p;
-      backtrack = position;
-      if(match_all_states())
-         return true;
-      if(count == 0)
-         return false;
-      position = --backtrack;
-      ++state_count;
-      --count;
-   }while(true);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_recursion()
-{
-   BOOST_ASSERT(pstate->type == syntax_element_recurse);
-   //
-   // Set new call stack:
-   //
-   if(recursion_stack.capacity() == 0)
-   {
-      recursion_stack.reserve(50);
-   }
-   recursion_stack.push_back(recursion_info<results_type>());
-   recursion_stack.back().preturn_address = pstate->next.p;
-   recursion_stack.back().results = *m_presult;
-   recursion_stack.back().repeater_stack = next_count;
-   pstate = static_cast<const re_jump*>(pstate)->alt.p;
-   recursion_stack.back().idx = static_cast<const re_brace*>(pstate)->index;
-
-   repeater_count<BidiIterator>* saved = next_count;
-   repeater_count<BidiIterator> r(&next_count); // resets all repeat counts since we're recursing and starting fresh on those
-   next_count = &r;
-   bool result = match_all_states();
-   next_count = saved;
-
-   if(!result)
-   {
-      next_count = recursion_stack.back().repeater_stack;
-      *m_presult = recursion_stack.back().results;
-      recursion_stack.pop_back();
-      return false;
-   }
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_endmark()
-{
-   int index = static_cast<const re_brace*>(pstate)->index;
-   icase = static_cast<const re_brace*>(pstate)->icase;
-   if(index > 0)
-   {
-      if((m_match_flags & match_nosubs) == 0)
-      {
-         m_presult->set_second(position, index);
-      }
-      if(!recursion_stack.empty())
-      {
-         if(index == recursion_stack.back().idx)
-         {
-            recursion_info<results_type> saved = recursion_stack.back();
-            recursion_stack.pop_back();
-            pstate = saved.preturn_address;
-            repeater_count<BidiIterator>* saved_count = next_count;
-            next_count = saved.repeater_stack;
-            *m_presult = saved.results;
-            if(!match_all_states())
-            {
-               recursion_stack.push_back(saved);
-               next_count = saved_count;
-               return false;
-            }
-         }
-      }
-   }
-   else if((index < 0) && (index != -4))
-   {
-      // matched forward lookahead:
-      pstate = 0;
-      return true;
-   }
-   pstate = pstate ? pstate->next.p : 0;
-   return true;
-}
-
-template <class BidiIterator, class Allocator, class traits>
-bool perl_matcher<BidiIterator, Allocator, traits>::match_match()
-{
-   if(!recursion_stack.empty())
-   {
-      BOOST_ASSERT(0 == recursion_stack.back().idx);
-      const re_syntax_base* saved_state = pstate = recursion_stack.back().preturn_address;
-      *m_presult = recursion_stack.back().results;
-      recursion_stack.pop_back();
-      if(!match_all_states())
-      {
-         recursion_stack.push_back(recursion_info<results_type>());
-         recursion_stack.back().preturn_address = saved_state;
-         recursion_stack.back().results = *m_presult;
-         return false;
-      }
-      return true;
-   }
-   if((m_match_flags & match_not_null) && (position == (*m_presult)[0].first))
-      return false;
-   if((m_match_flags & match_all) && (position != last))
-      return false;
-   if((m_match_flags & regex_constants::match_not_initial_null) && (position == search_base))
-      return false;
-   m_presult->set_second(position);
-   pstate = 0;
-   m_has_found_match = true;
-   if((m_match_flags & match_posix) == match_posix)
-   {
-      m_result.maybe_assign(*m_presult);
-      if((m_match_flags & match_any) == 0)
-         return false;
-   }
-#ifdef BOOST_REGEX_MATCH_EXTRA
-   if(match_extra & m_match_flags)
-   {
-      for(unsigned i = 0; i < m_presult->size(); ++i)
-         if((*m_presult)[i].matched)
-            ((*m_presult)[i]).get_captures().push_back((*m_presult)[i]);
-   }
-#endif
-   return true;
-}
-
-
-
-} // namespace re_detail
-} // namespace boost
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
diff --git a/SRC/Boost/boost/regex/v4/primary_transform.hpp b/SRC/Boost/boost/regex/v4/primary_transform.hpp
deleted file mode 100755
index 6852748..0000000
--- a/SRC/Boost/boost/regex/v4/primary_transform.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE:        primary_transform.hpp
-  *   VERSION:     see <boost/version.hpp>
-  *   DESCRIPTION: Heuristically determines the sort string format in use
-  *                by the current locale.
-  */
-
-#ifndef BOOST_REGEX_PRIMARY_TRANSFORM
-#define BOOST_REGEX_PRIMARY_TRANSFORM
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-namespace boost{
-   namespace re_detail{
-
-
-enum{
-   sort_C,
-   sort_fixed,
-   sort_delim,
-   sort_unknown
-};
-
-template <class S, class charT>
-unsigned count_chars(const S& s, charT c)
-{
-   //
-   // Count how many occurances of character c occur
-   // in string s: if c is a delimeter between collation
-   // fields, then this should be the same value for all
-   // sort keys:
-   //
-   unsigned int count = 0;
-   for(unsigned pos = 0; pos < s.size(); ++pos)
-   {
-      if(s[pos] == c) ++count;
-   }
-   return count;
-}
-
-
-template <class traits, class charT>
-unsigned find_sort_syntax(const traits* pt, charT* delim)
-{
-   //
-   // compare 'a' with 'A' to see how similar they are,
-   // should really use a-accute but we can't portably do that,
-   //
-   typedef typename traits::string_type string_type;
-   typedef typename traits::char_type char_type;
-
-   // Suppress incorrect warning for MSVC
-   (void)pt;
-
-   char_type a[2] = {'a', '\0', };
-   string_type sa(pt->transform(a, a+1));
-   if(sa == a)
-   {
-      *delim = 0;
-      return sort_C;
-   }
-   char_type A[2] = { 'A', '\0', };
-   string_type sA(pt->transform(A, A+1));
-   char_type c[2] = { ';', '\0', };
-   string_type sc(pt->transform(c, c+1));
-
-   int pos = 0;
-   while((pos <= static_cast<int>(sa.size())) && (pos <= static_cast<int>(sA.size())) && (sa[pos] == sA[pos])) ++pos;
-   --pos;
-   if(pos < 0)
-   {
-      *delim = 0;
-      return sort_unknown;
-   }
-   //
-   // at this point sa[pos] is either the end of a fixed width field
-   // or the character that acts as a delimiter:
-   //
-   charT maybe_delim = sa[pos];
-   if((pos != 0) && (count_chars(sa, maybe_delim) == count_chars(sA, maybe_delim)) && (count_chars(sa, maybe_delim) == count_chars(sc, maybe_delim)))
-   {
-      *delim = maybe_delim;
-      return sort_delim;
-   }
-   //
-   // OK doen't look like a delimiter, try for fixed width field:
-   //
-   if((sa.size() == sA.size()) && (sa.size() == sc.size()))
-   {
-      // note assumes that the fixed width field is less than
-      // (numeric_limits<charT>::max)(), should be true for all types
-      // I can't imagine 127 character fields...
-      *delim = static_cast<charT>(++pos);
-      return sort_fixed;
-   }
-   //
-   // don't know what it is:
-   //
-   *delim = 0;
-   return sort_unknown;
-}
-
-
-   } // namespace re_detail
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/regex/v4/protected_call.hpp b/SRC/Boost/boost/regex/v4/protected_call.hpp
deleted file mode 100755
index efb6585..0000000
--- a/SRC/Boost/boost/regex/v4/protected_call.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         basic_regex_creator.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares template class basic_regex_creator which fills in
-  *                the data members of a regex_data object.
-  */
-
-#ifndef BOOST_REGEX_V4_PROTECTED_CALL_HPP
-#define BOOST_REGEX_V4_PROTECTED_CALL_HPP
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-namespace boost{
-namespace re_detail{
-
-class BOOST_REGEX_DECL abstract_protected_call
-{
-public:
-   bool BOOST_REGEX_CALL execute()const;
-   // this stops gcc-4 from complaining:
-   virtual ~abstract_protected_call(){}
-private:
-   virtual bool call()const = 0;
-};
-
-template <class T>
-class concrete_protected_call
-   : public abstract_protected_call
-{
-public:
-   typedef bool (T::*proc_type)();
-   concrete_protected_call(T* o, proc_type p)
-      : obj(o), proc(p) {}
-private:
-   virtual bool call()const;
-   T* obj;
-   proc_type proc;
-};
-
-template <class T>
-bool concrete_protected_call<T>::call()const
-{
-   return (obj->*proc)();
-}
-
-}
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/regex/v4/regbase.hpp b/SRC/Boost/boost/regex/v4/regbase.hpp
deleted file mode 100755
index 12f168d..0000000
--- a/SRC/Boost/boost/regex/v4/regbase.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regbase.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares class regbase.
-  */
-
-#ifndef BOOST_REGEX_V4_REGBASE_HPP
-#define BOOST_REGEX_V4_REGBASE_HPP
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-namespace boost{
-//
-// class regbase
-// handles error codes and flags
-//
-class BOOST_REGEX_DECL regbase
-{
-public:
-   enum flag_type_
-   {
-      //
-      // Divide the flags up into logical groups:
-      // bits 0-7 indicate main synatx type.
-      // bits 8-15 indicate syntax subtype.
-      // bits 16-31 indicate options that are common to all
-      // regex syntaxes.
-      // In all cases the default is 0.
-      //
-      // Main synatx group:
-      //
-      perl_syntax_group = 0,                      // default
-      basic_syntax_group = 1,                     // POSIX basic
-      literal = 2,                                // all characters are literals
-      main_option_type = literal | basic_syntax_group | perl_syntax_group, // everything!
-      //
-      // options specific to perl group:
-      //
-      no_bk_refs = 1 << 8,                        // \d not allowed
-      no_perl_ex = 1 << 9,                        // disable perl extensions
-      no_mod_m = 1 << 10,                         // disable Perl m modifier
-      mod_x = 1 << 11,                            // Perl x modifier
-      mod_s = 1 << 12,                            // force s modifier on (overrides match_not_dot_newline)
-      no_mod_s = 1 << 13,                         // force s modifier off (overrides match_not_dot_newline)
-
-      //
-      // options specific to basic group:
-      //
-      no_char_classes = 1 << 8,                   // [[:CLASS:]] not allowed
-      no_intervals = 1 << 9,                      // {x,y} not allowed
-      bk_plus_qm = 1 << 10,                       // uses \+ and \?
-      bk_vbar = 1 << 11,                          // use \| for alternatives
-      emacs_ex = 1 << 12,                         // enables emacs extensions
-
-      //
-      // options common to all groups:
-      //
-      no_escape_in_lists = 1 << 16,                     // '\' not special inside [...]
-      newline_alt = 1 << 17,                            // \n is the same as |
-      no_except = 1 << 18,                              // no exception on error
-      failbit = 1 << 19,                                // error flag
-      icase = 1 << 20,                                  // characters are matched regardless of case
-      nocollate = 0,                                    // don't use locale specific collation (deprecated)
-      collate = 1 << 21,                                // use locale specific collation
-      nosubs = 1 << 22,                                 // don't mark sub-expressions
-      save_subexpression_location = 1 << 23,            // save subexpression locations
-      no_empty_expressions = 1 << 24,                   // no empty expressions allowed
-      optimize = 0,                                     // not really supported
-      
-
-
-      basic = basic_syntax_group | collate | no_escape_in_lists,
-      extended = no_bk_refs | collate | no_perl_ex | no_escape_in_lists,
-      normal = 0,
-      emacs = basic_syntax_group | collate | emacs_ex | bk_vbar,
-      awk = no_bk_refs | collate | no_perl_ex,
-      grep = basic | newline_alt,
-      egrep = extended | newline_alt,
-      sed = basic,
-      perl = normal,
-      ECMAScript = normal,
-      JavaScript = normal,
-      JScript = normal
-   };
-   typedef unsigned int flag_type;
-
-   enum restart_info
-   {
-      restart_any = 0,
-      restart_word = 1,
-      restart_line = 2,
-      restart_buf = 3,
-      restart_continue = 4,
-      restart_lit = 5,
-      restart_fixed_lit = 6, 
-      restart_count = 7
-   };
-};
-
-//
-// provide std lib proposal compatible constants:
-//
-namespace regex_constants{
-
-   enum flag_type_
-   {
-
-      no_except = ::boost::regbase::no_except,
-      failbit = ::boost::regbase::failbit,
-      literal = ::boost::regbase::literal,
-      icase = ::boost::regbase::icase,
-      nocollate = ::boost::regbase::nocollate,
-      collate = ::boost::regbase::collate,
-      nosubs = ::boost::regbase::nosubs,
-      optimize = ::boost::regbase::optimize,
-      bk_plus_qm = ::boost::regbase::bk_plus_qm,
-      bk_vbar = ::boost::regbase::bk_vbar,
-      no_intervals = ::boost::regbase::no_intervals,
-      no_char_classes = ::boost::regbase::no_char_classes,
-      no_escape_in_lists = ::boost::regbase::no_escape_in_lists,
-      no_mod_m = ::boost::regbase::no_mod_m,
-      mod_x = ::boost::regbase::mod_x,
-      mod_s = ::boost::regbase::mod_s,
-      no_mod_s = ::boost::regbase::no_mod_s,
-      save_subexpression_location = ::boost::regbase::save_subexpression_location,
-      no_empty_expressions = ::boost::regbase::no_empty_expressions,
-
-      basic = ::boost::regbase::basic,
-      extended = ::boost::regbase::extended,
-      normal = ::boost::regbase::normal,
-      emacs = ::boost::regbase::emacs,
-      awk = ::boost::regbase::awk,
-      grep = ::boost::regbase::grep,
-      egrep = ::boost::regbase::egrep,
-      sed = basic,
-      perl = normal,
-      ECMAScript = normal,
-      JavaScript = normal,
-      JScript = normal
-   };
-   typedef ::boost::regbase::flag_type syntax_option_type;
-
-} // namespace regex_constants
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
diff --git a/SRC/Boost/boost/regex/v4/regex.hpp b/SRC/Boost/boost/regex/v4/regex.hpp
deleted file mode 100755
index 64f64fa..0000000
--- a/SRC/Boost/boost/regex/v4/regex.hpp
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares boost::basic_regex<> and associated
-  *                functions and classes. This header is the main
-  *                entry point for the template regex code.
-  */
-
-#ifndef BOOST_RE_REGEX_HPP_INCLUDED
-#define BOOST_RE_REGEX_HPP_INCLUDED
-
-#ifdef __cplusplus
-
-// what follows is all C++ don't include in C builds!!
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#include <boost/regex/config.hpp>
-#endif
-#ifndef BOOST_REGEX_WORKAROUND_HPP
-#include <boost/regex/v4/regex_workaround.hpp>
-#endif
-
-#ifndef BOOST_REGEX_FWD_HPP
-#include <boost/regex_fwd.hpp>
-#endif
-#ifndef BOOST_REGEX_TRAITS_HPP
-#include <boost/regex/regex_traits.hpp>
-#endif
-#ifndef BOOST_REGEX_RAW_BUFFER_HPP
-#include <boost/regex/v4/error_type.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_MATCH_FLAGS
-#include <boost/regex/v4/match_flags.hpp>
-#endif
-#ifndef BOOST_REGEX_RAW_BUFFER_HPP
-#include <boost/regex/v4/regex_raw_buffer.hpp>
-#endif
-#ifndef BOOST_RE_PAT_EXCEPT_HPP
-#include <boost/regex/pattern_except.hpp>
-#endif
-
-#ifndef BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP
-#include <boost/regex/v4/char_regex_traits.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_STATES_HPP
-#include <boost/regex/v4/states.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_REGBASE_HPP
-#include <boost/regex/v4/regbase.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP
-#include <boost/regex/v4/iterator_traits.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP
-#include <boost/regex/v4/basic_regex.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_BASIC_REGEX_CREATOR_HPP
-#include <boost/regex/v4/basic_regex_creator.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_BASIC_REGEX_PARSER_HPP
-#include <boost/regex/v4/basic_regex_parser.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_SUB_MATCH_HPP
-#include <boost/regex/v4/sub_match.hpp>
-#endif
-#ifndef BOOST_REGEX_FORMAT_HPP
-#include <boost/regex/v4/regex_format.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP
-#include <boost/regex/v4/match_results.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_PROTECTED_CALL_HPP
-#include <boost/regex/v4/protected_call.hpp>
-#endif
-#ifndef BOOST_REGEX_MATCHER_HPP
-#include <boost/regex/v4/perl_matcher.hpp>
-#endif
-//
-// template instances:
-//
-#define BOOST_REGEX_CHAR_T char
-#ifdef BOOST_REGEX_NARROW_INSTANTIATE
-#  define BOOST_REGEX_INSTANTIATE
-#endif
-#include <boost/regex/v4/instances.hpp>
-#undef BOOST_REGEX_CHAR_T
-#ifdef BOOST_REGEX_INSTANTIATE
-#  undef BOOST_REGEX_INSTANTIATE
-#endif
-
-#ifndef BOOST_NO_WREGEX
-#define BOOST_REGEX_CHAR_T wchar_t
-#ifdef BOOST_REGEX_WIDE_INSTANTIATE
-#  define BOOST_REGEX_INSTANTIATE
-#endif
-#include <boost/regex/v4/instances.hpp>
-#undef BOOST_REGEX_CHAR_T
-#ifdef BOOST_REGEX_INSTANTIATE
-#  undef BOOST_REGEX_INSTANTIATE
-#endif
-#endif
-
-#if !defined(BOOST_NO_WREGEX) && defined(BOOST_REGEX_HAS_OTHER_WCHAR_T)
-#define BOOST_REGEX_CHAR_T unsigned short
-#ifdef BOOST_REGEX_US_INSTANTIATE
-#  define BOOST_REGEX_INSTANTIATE
-#endif
-#include <boost/regex/v4/instances.hpp>
-#undef BOOST_REGEX_CHAR_T
-#ifdef BOOST_REGEX_INSTANTIATE
-#  undef BOOST_REGEX_INSTANTIATE
-#endif
-#endif
-
-
-namespace boost{
-#ifdef BOOST_REGEX_NO_FWD
-typedef basic_regex<char, regex_traits<char> > regex;
-#ifndef BOOST_NO_WREGEX
-typedef basic_regex<wchar_t, regex_traits<wchar_t> > wregex;
-#endif
-#endif
-
-typedef match_results<const char*> cmatch;
-typedef match_results<std::string::const_iterator> smatch;
-#ifndef BOOST_NO_WREGEX
-typedef match_results<const wchar_t*> wcmatch;
-typedef match_results<std::wstring::const_iterator> wsmatch;
-#endif
-
-} // namespace boost
-#ifndef BOOST_REGEX_MATCH_HPP
-#include <boost/regex/v4/regex_match.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_REGEX_SEARCH_HPP
-#include <boost/regex/v4/regex_search.hpp>
-#endif
-#ifndef BOOST_REGEX_ITERATOR_HPP
-#include <boost/regex/v4/regex_iterator.hpp>
-#endif
-#ifndef BOOST_REGEX_TOKEN_ITERATOR_HPP
-#include <boost/regex/v4/regex_token_iterator.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_REGEX_GREP_HPP
-#include <boost/regex/v4/regex_grep.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_REGEX_REPLACE_HPP
-#include <boost/regex/v4/regex_replace.hpp>
-#endif
-#ifndef BOOST_REGEX_V4_REGEX_MERGE_HPP
-#include <boost/regex/v4/regex_merge.hpp>
-#endif
-#ifndef BOOST_REGEX_SPLIT_HPP
-#include <boost/regex/v4/regex_split.hpp>
-#endif
-
-#endif  // __cplusplus
-
-#endif  // include
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/regex/v4/regex_format.hpp b/SRC/Boost/boost/regex/v4/regex_format.hpp
deleted file mode 100755
index bbb948d..0000000
--- a/SRC/Boost/boost/regex/v4/regex_format.hpp
+++ /dev/null
@@ -1,1149 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2009 John Maddock
- * Copyright 2008 Eric Niebler. 
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_format.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Provides formatting output routines for search and replace
-  *                operations.  Note this is an internal header file included
-  *                by regex.hpp, do not include on its own.
-  */
-
-#ifndef BOOST_REGEX_FORMAT_HPP
-#define BOOST_REGEX_FORMAT_HPP
-
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#ifndef BOOST_NO_SFINAE
-#include <boost/mpl/has_xxx.hpp>
-#endif
-#include <boost/ref.hpp>
-
-namespace boost{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-//
-// Forward declaration:
-//
-   template <class BidiIterator, class Allocator = BOOST_DEDUCED_TYPENAME std::vector<sub_match<BidiIterator> >::allocator_type >
-class match_results;
-
-namespace re_detail{
-
-//
-// struct trivial_format_traits:
-// defines minimum localisation support for formatting
-// in the case that the actual regex traits is unavailable.
-//
-template <class charT>
-struct trivial_format_traits
-{
-   typedef charT char_type;
-
-   static std::ptrdiff_t length(const charT* p)
-   {
-      return global_length(p);
-   }
-   static charT tolower(charT c)
-   {
-      return ::boost::re_detail::global_lower(c);
-   }
-   static charT toupper(charT c)
-   {
-      return ::boost::re_detail::global_upper(c);
-   }
-   static int value(const charT c, int radix)
-   {
-      int result = global_value(c);
-      return result >= radix ? -1 : result;
-   }
-   int toi(const charT*& p1, const charT* p2, int radix)const
-   {
-      return global_toi(p1, p2, radix, *this);
-   }
-};
-
-template <class OutputIterator, class Results, class traits, class ForwardIter>
-class basic_regex_formatter
-{
-public:
-   typedef typename traits::char_type char_type;
-   basic_regex_formatter(OutputIterator o, const Results& r, const traits& t)
-      : m_traits(t), m_results(r), m_out(o), m_state(output_copy), m_restore_state(output_copy), m_have_conditional(false) {}
-   OutputIterator format(ForwardIter p1, ForwardIter p2, match_flag_type f);
-   OutputIterator format(ForwardIter p1, match_flag_type f)
-   {
-      return format(p1, p1 + m_traits.length(p1), f);
-   }
-private:
-   typedef typename Results::value_type sub_match_type;
-   enum output_state
-   {
-      output_copy,
-      output_next_lower,
-      output_next_upper,
-      output_lower,
-      output_upper,
-      output_none
-   };
-
-   void put(char_type c);
-   void put(const sub_match_type& sub);
-   void format_all();
-   void format_perl();
-   void format_escape();
-   void format_conditional();
-   void format_until_scope_end();
-   bool handle_perl_verb(bool have_brace);
-
-   inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j, const mpl::false_&)
-   {
-      std::vector<char_type> v(i, j);
-      return (i != j) ? this->m_results.named_subexpression(&v[0], &v[0] + v.size())
-         : this->m_results.named_subexpression(static_cast<const char_type*>(0), static_cast<const char_type*>(0));
-   }
-   inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j, const mpl::true_&)
-   {
-      return this->m_results.named_subexpression(i, j);
-   }
-   inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j)
-   {
-      typedef typename boost::is_convertible<ForwardIter, const char_type*>::type tag_type;
-      return get_named_sub(i, j, tag_type());
-   }
-   inline int get_named_sub_index(ForwardIter i, ForwardIter j, const mpl::false_&)
-   {
-      std::vector<char_type> v(i, j);
-      return (i != j) ? this->m_results.named_subexpression_index(&v[0], &v[0] + v.size())
-         : this->m_results.named_subexpression_index(static_cast<const char_type*>(0), static_cast<const char_type*>(0));
-   }
-   inline int get_named_sub_index(ForwardIter i, ForwardIter j, const mpl::true_&)
-   {
-      return this->m_results.named_subexpression_index(i, j);
-   }
-   inline int get_named_sub_index(ForwardIter i, ForwardIter j)
-   {
-      typedef typename boost::is_convertible<ForwardIter, const char_type*>::type tag_type;
-      return get_named_sub_index(i, j, tag_type());
-   }
-#ifdef BOOST_MSVC
-   // msvc-8.0 issues a spurious warning on the call to std::advance here:
-#pragma warning(push)
-#pragma warning(disable:4244)
-#endif
-   inline int toi(ForwardIter& i, ForwardIter j, int base, const boost::mpl::false_&)
-   {
-      if(i != j)
-      {
-         std::vector<char_type> v(i, j);
-         const char_type* start = &v[0];
-         const char_type* pos = start;
-         int r = m_traits.toi(pos, &v[0] + v.size(), base);
-         std::advance(i, pos - start);
-         return r;
-      }
-      return -1;
-   }
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-   inline int toi(ForwardIter& i, ForwardIter j, int base, const boost::mpl::true_&)
-   {
-      return m_traits.toi(i, j, base);
-   }
-   inline int toi(ForwardIter& i, ForwardIter j, int base)
-   {
-      typedef typename boost::is_convertible<ForwardIter, const char_type*&>::type tag_type;
-      return toi(i, j, base, tag_type());
-   }
-
-   const traits&    m_traits;       // the traits class for localised formatting operations
-   const Results&   m_results;     // the match_results being used.
-   OutputIterator   m_out;         // where to send output.
-   ForwardIter      m_position;  // format string, current position
-   ForwardIter      m_end;       // format string end
-   match_flag_type  m_flags;      // format flags to use
-   output_state     m_state;      // what to do with the next character
-   output_state     m_restore_state;  // what state to restore to.
-   bool             m_have_conditional; // we are parsing a conditional
-private:
-   basic_regex_formatter(const basic_regex_formatter&);
-   basic_regex_formatter& operator=(const basic_regex_formatter&);
-};
-
-template <class OutputIterator, class Results, class traits, class ForwardIter>
-OutputIterator basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format(ForwardIter p1, ForwardIter p2, match_flag_type f)
-{
-   m_position = p1;
-   m_end = p2;
-   m_flags = f;
-   format_all();
-   return m_out;
-}
-
-template <class OutputIterator, class Results, class traits, class ForwardIter>
-void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_all()
-{
-   // over and over:
-   while(m_position != m_end)
-   {
-      switch(*m_position)
-      {
-      case '&':
-         if(m_flags & ::boost::regex_constants::format_sed)
-         {
-            ++m_position;
-            put(m_results[0]);
-            break;
-         }
-         put(*m_position++);
-         break;
-      case '\\':
-         format_escape();
-         break;
-      case '(':
-         if(m_flags & boost::regex_constants::format_all)
-         {
-            ++m_position;
-            bool have_conditional = m_have_conditional;
-            m_have_conditional = false;
-            format_until_scope_end();
-            m_have_conditional = have_conditional;
-            if(m_position == m_end)
-               return;
-            BOOST_ASSERT(*m_position == static_cast<char_type>(')'));
-            ++m_position;  // skip the closing ')'
-            break;
-         }
-         put(*m_position);
-         ++m_position;
-         break;
-      case ')':
-         if(m_flags & boost::regex_constants::format_all)
-         {
-            return;
-         }
-         put(*m_position);
-         ++m_position;
-         break;
-      case ':':
-         if((m_flags & boost::regex_constants::format_all) && m_have_conditional)
-         {
-            return;
-         }
-         put(*m_position);
-         ++m_position;
-         break;
-      case '?':
-         if(m_flags & boost::regex_constants::format_all)
-         {
-            ++m_position;
-            format_conditional();
-            break;
-         }
-         put(*m_position);
-         ++m_position;
-         break;
-      case '$':
-         if((m_flags & format_sed) == 0)
-         {
-            format_perl();
-            break;
-         }
-         // fall through, not a special character:
-      default:
-         put(*m_position);
-         ++m_position;
-         break;
-      }
-   }
-}
-
-template <class OutputIterator, class Results, class traits, class ForwardIter>
-void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_perl()
-{
-   //
-   // On entry *m_position points to a '$' character
-   // output the information that goes with it:
-   //
-   BOOST_ASSERT(*m_position == '$');
-   //
-   // see if this is a trailing '$':
-   //
-   if(++m_position == m_end)
-   {
-      --m_position;
-      put(*m_position);
-      ++m_position;
-      return;
-   }
-   //
-   // OK find out what kind it is:
-   //
-   bool have_brace = false;
-   ForwardIter save_position = m_position;
-   switch(*m_position)
-   {
-   case '&':
-      ++m_position;
-      put(this->m_results[0]);
-      break;
-   case '`':
-      ++m_position;
-      put(this->m_results.prefix());
-      break;
-   case '\'':
-      ++m_position;
-      put(this->m_results.suffix());
-      break;
-   case '$':
-      put(*m_position++);
-      break;
-   case '+':
-      if((++m_position != m_end) && (*m_position == '{'))
-      {
-         ForwardIter base = ++m_position;
-         while((m_position != m_end) && (*m_position != '}')) ++m_position;
-         if(m_position != m_end)
-         {
-            // Named sub-expression:
-            put(get_named_sub(base, m_position));
-            ++m_position;
-            break;
-         }
-         else
-         {
-            m_position = --base;
-         }
-      }
-      put((this->m_results)[this->m_results.size() > 1 ? static_cast<int>(this->m_results.size() - 1) : 1]);
-      break;
-   case '{':
-      have_brace = true;
-      ++m_position;
-      // fall through....
-   default:
-      // see if we have a number:
-      {
-         std::ptrdiff_t len = ::boost::re_detail::distance(m_position, m_end);
-         //len = (std::min)(static_cast<std::ptrdiff_t>(2), len);
-         int v = this->toi(m_position, m_position + len, 10);
-         if((v < 0) || (have_brace && ((m_position == m_end) || (*m_position != '}'))))
-         {
-            // Look for a Perl-5.10 verb:
-            if(!handle_perl_verb(have_brace))
-            {
-               // leave the $ as is, and carry on:
-               m_position = --save_position;
-               put(*m_position);
-               ++m_position;
-            }
-            break;
-         }
-         // otherwise output sub v:
-         put(this->m_results[v]);
-         if(have_brace)
-            ++m_position;
-      }
-   }
-}
-
-template <class OutputIterator, class Results, class traits, class ForwardIter>
-bool basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::handle_perl_verb(bool have_brace)
-{
-   // 
-   // We may have a capitalised string containing a Perl action:
-   //
-   static const char_type MATCH[] = { 'M', 'A', 'T', 'C', 'H' };
-   static const char_type PREMATCH[] = { 'P', 'R', 'E', 'M', 'A', 'T', 'C', 'H' };
-   static const char_type POSTMATCH[] = { 'P', 'O', 'S', 'T', 'M', 'A', 'T', 'C', 'H' };
-   static const char_type LAST_PAREN_MATCH[] = { 'L', 'A', 'S', 'T', '_', 'P', 'A', 'R', 'E', 'N', '_', 'M', 'A', 'T', 'C', 'H' };
-   static const char_type LAST_SUBMATCH_RESULT[] = { 'L', 'A', 'S', 'T', '_', 'S', 'U', 'B', 'M', 'A', 'T', 'C', 'H', '_', 'R', 'E', 'S', 'U', 'L', 'T' };
-   static const char_type LAST_SUBMATCH_RESULT_ALT[] = { '^', 'N' };
-
-   if(m_position == m_end)
-      return false;
-   if(have_brace && (*m_position == '^'))
-      ++m_position;
-
-   std::ptrdiff_t max_len = m_end - m_position;
-
-   if((max_len >= 5) && std::equal(m_position, m_position + 5, MATCH))
-   {
-      m_position += 5;
-      if(have_brace)
-      {
-         if((m_position != m_end) && (*m_position == '}'))
-            ++m_position;
-         else
-         {
-            m_position -= 5;
-            return false;
-         }
-      }
-      put(this->m_results[0]);
-      return true;
-   }
-   if((max_len >= 8) && std::equal(m_position, m_position + 8, PREMATCH))
-   {
-      m_position += 8;
-      if(have_brace)
-      {
-         if((m_position != m_end) && (*m_position == '}'))
-            ++m_position;
-         else
-         {
-            m_position -= 8;
-            return false;
-         }
-      }
-      put(this->m_results.prefix());
-      return true;
-   }
-   if((max_len >= 9) && std::equal(m_position, m_position + 9, POSTMATCH))
-   {
-      m_position += 9;
-      if(have_brace)
-      {
-         if((m_position != m_end) && (*m_position == '}'))
-            ++m_position;
-         else
-         {
-            m_position -= 9;
-            return false;
-         }
-      }
-      put(this->m_results.suffix());
-      return true;
-   }
-   if((max_len >= 16) && std::equal(m_position, m_position + 16, LAST_PAREN_MATCH))
-   {
-      m_position += 16;
-      if(have_brace)
-      {
-         if((m_position != m_end) && (*m_position == '}'))
-            ++m_position;
-         else
-         {
-            m_position -= 16;
-            return false;
-         }
-      }
-      put((this->m_results)[this->m_results.size() > 1 ? static_cast<int>(this->m_results.size() - 1) : 1]);
-      return true;
-   }
-   if((max_len >= 20) && std::equal(m_position, m_position + 20, LAST_SUBMATCH_RESULT))
-   {
-      m_position += 20;
-      if(have_brace)
-      {
-         if((m_position != m_end) && (*m_position == '}'))
-            ++m_position;
-         else
-         {
-            m_position -= 20;
-            return false;
-         }
-      }
-      put(this->m_results.get_last_closed_paren());
-      return true;
-   }
-   if((max_len >= 2) && std::equal(m_position, m_position + 2, LAST_SUBMATCH_RESULT_ALT))
-   {
-      m_position += 2;
-      if(have_brace)
-      {
-         if((m_position != m_end) && (*m_position == '}'))
-            ++m_position;
-         else
-         {
-            m_position -= 2;
-            return false;
-         }
-      }
-      put(this->m_results.get_last_closed_paren());
-      return true;
-   }
-   return false;
-}
-
-template <class OutputIterator, class Results, class traits, class ForwardIter>
-void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_escape()
-{
-   // skip the escape and check for trailing escape:
-   if(++m_position == m_end)
-   {
-      put(static_cast<char_type>('\\'));
-      return;
-   }
-   // now switch on the escape type:
-   switch(*m_position)
-   {
-   case 'a':
-      put(static_cast<char_type>('\a'));
-      ++m_position;
-      break;
-   case 'f':
-      put(static_cast<char_type>('\f'));
-      ++m_position;
-      break;
-   case 'n':
-      put(static_cast<char_type>('\n'));
-      ++m_position;
-      break;
-   case 'r':
-      put(static_cast<char_type>('\r'));
-      ++m_position;
-      break;
-   case 't':
-      put(static_cast<char_type>('\t'));
-      ++m_position;
-      break;
-   case 'v':
-      put(static_cast<char_type>('\v'));
-      ++m_position;
-      break;
-   case 'x':
-      if(++m_position == m_end)
-      {
-         put(static_cast<char_type>('x'));
-         return;
-      }
-      // maybe have \x{ddd}
-      if(*m_position == static_cast<char_type>('{'))
-      {
-         ++m_position;
-         int val = this->toi(m_position, m_end, 16);
-         if(val < 0)
-         {
-            // invalid value treat everything as literals:
-            put(static_cast<char_type>('x'));
-            put(static_cast<char_type>('{'));
-            return;
-         }
-         if((m_position == m_end) || (*m_position != static_cast<char_type>('}')))
-         {
-            --m_position;
-            while(*m_position != static_cast<char_type>('\\'))
-               --m_position;
-            ++m_position;
-            put(*m_position++);
-            return;
-         }
-         ++m_position;
-         put(static_cast<char_type>(val));
-         return;
-      }
-      else
-      {
-         std::ptrdiff_t len = ::boost::re_detail::distance(m_position, m_end);
-         len = (std::min)(static_cast<std::ptrdiff_t>(2), len);
-         int val = this->toi(m_position, m_position + len, 16);
-         if(val < 0)
-         {
-            --m_position;
-            put(*m_position++);
-            return;
-         }
-         put(static_cast<char_type>(val));
-      }
-      break;
-   case 'c':
-      if(++m_position == m_end)
-      {
-         --m_position;
-         put(*m_position++);
-         return;
-      }
-      put(static_cast<char_type>(*m_position++ % 32));
-      break;
-   case 'e':
-      put(static_cast<char_type>(27));
-      ++m_position;
-      break;
-   default:
-      // see if we have a perl specific escape:
-      if((m_flags & boost::regex_constants::format_sed) == 0)
-      {
-         bool breakout = false;
-         switch(*m_position)
-         {
-         case 'l':
-            ++m_position;
-            m_restore_state = m_state;
-            m_state = output_next_lower;
-            breakout = true;
-            break;
-         case 'L':
-            ++m_position;
-            m_state = output_lower;
-            breakout = true;
-            break;
-         case 'u':
-            ++m_position;
-            m_restore_state = m_state;
-            m_state = output_next_upper;
-            breakout = true;
-            break;
-         case 'U':
-            ++m_position;
-            m_state = output_upper;
-            breakout = true;
-            break;
-         case 'E':
-            ++m_position;
-            m_state = output_copy;
-            breakout = true;
-            break;
-         }
-         if(breakout)
-            break;
-      }
-      // see if we have a \n sed style backreference:
-      std::ptrdiff_t len = ::boost::re_detail::distance(m_position, m_end);
-      len = (std::min)(static_cast<std::ptrdiff_t>(1), len);
-      int v = this->toi(m_position, m_position+len, 10);
-      if((v > 0) || ((v == 0) && (m_flags & ::boost::regex_constants::format_sed)))
-      {
-         put(m_results[v]);
-         break;
-      }
-      else if(v == 0)
-      {
-         // octal ecape sequence:
-         --m_position;
-         len = ::boost::re_detail::distance(m_position, m_end);
-         len = (std::min)(static_cast<std::ptrdiff_t>(4), len);
-         v = this->toi(m_position, m_position + len, 8);
-         BOOST_ASSERT(v >= 0);
-         put(static_cast<char_type>(v));
-         break;
-      }
-      // Otherwise output the character "as is":
-      put(*m_position++);
-      break;
-   }
-}
-
-template <class OutputIterator, class Results, class traits, class ForwardIter>
-void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_conditional()
-{
-   if(m_position == m_end)
-   {
-      // oops trailing '?':
-      put(static_cast<char_type>('?'));
-      return;
-   }
-   int v;
-   if(*m_position == '{')
-   {
-      ForwardIter base = m_position;
-      ++m_position;
-      v = this->toi(m_position, m_end, 10);
-      if(v < 0)
-      {
-         // Try a named subexpression:
-         while((m_position != m_end) && (*m_position != '}'))
-            ++m_position;
-         v = this->get_named_sub_index(base + 1, m_position);
-      }
-      if((v < 0) || (*m_position != '}'))
-      {
-         m_position = base;
-         // oops trailing '?':
-         put(static_cast<char_type>('?'));
-         return;
-      }
-      // Skip trailing '}':
-      ++m_position;
-   }
-   else
-   {
-      std::ptrdiff_t len = ::boost::re_detail::distance(m_position, m_end);
-      len = (std::min)(static_cast<std::ptrdiff_t>(2), len);
-      v = this->toi(m_position, m_position + len, 10);
-   }
-   if(v < 0)
-   {
-      // oops not a number:
-      put(static_cast<char_type>('?'));
-      return;
-   }
-
-   // output varies depending upon whether sub-expression v matched or not:
-   if(m_results[v].matched)
-   {
-      m_have_conditional = true;
-      format_all();
-      m_have_conditional = false;
-      if((m_position != m_end) && (*m_position == static_cast<char_type>(':')))
-      {
-         // skip the ':':
-         ++m_position;
-         // save output state, then turn it off:
-         output_state saved_state = m_state;
-         m_state = output_none;
-         // format the rest of this scope:
-         format_until_scope_end();
-         // restore output state:
-         m_state = saved_state;
-      }
-   }
-   else
-   {
-      // save output state, then turn it off:
-      output_state saved_state = m_state;
-      m_state = output_none;
-      // format until ':' or ')':
-      m_have_conditional = true;
-      format_all();
-      m_have_conditional = false;
-      // restore state:
-      m_state = saved_state;
-      if((m_position != m_end) && (*m_position == static_cast<char_type>(':')))
-      {
-         // skip the ':':
-         ++m_position;
-         // format the rest of this scope:
-         format_until_scope_end();
-      }
-   }
-}
-
-template <class OutputIterator, class Results, class traits, class ForwardIter>
-void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_until_scope_end()
-{
-   do
-   {
-      format_all();
-      if((m_position == m_end) || (*m_position == static_cast<char_type>(')')))
-         return;
-      put(*m_position++);
-   }while(m_position != m_end);
-}
-
-template <class OutputIterator, class Results, class traits, class ForwardIter>
-void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::put(char_type c)
-{
-   // write a single character to output
-   // according to which case translation mode we are in:
-   switch(this->m_state)
-   {
-   case output_none:
-      return;
-   case output_next_lower:
-      c = m_traits.tolower(c);
-      this->m_state = m_restore_state;
-      break;
-   case output_next_upper:
-      c = m_traits.toupper(c);
-      this->m_state = m_restore_state;
-      break;
-   case output_lower:
-      c = m_traits.tolower(c);
-      break;
-   case output_upper:
-      c = m_traits.toupper(c);
-      break;
-   default:
-      break;
-   }
-   *m_out = c;
-   ++m_out;
-}
-
-template <class OutputIterator, class Results, class traits, class ForwardIter>
-void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::put(const sub_match_type& sub)
-{
-   typedef typename sub_match_type::iterator iterator_type;
-   iterator_type i = sub.first;
-   while(i != sub.second)
-   {
-      put(*i);
-      ++i;
-   }
-}
-
-template <class S>
-class string_out_iterator
-#ifndef BOOST_NO_STD_ITERATOR
-   : public std::iterator<std::output_iterator_tag, typename S::value_type>
-#endif
-{
-   S* out;
-public:
-   string_out_iterator(S& s) : out(&s) {}
-   string_out_iterator& operator++() { return *this; }
-   string_out_iterator& operator++(int) { return *this; }
-   string_out_iterator& operator*() { return *this; }
-   string_out_iterator& operator=(typename S::value_type v) 
-   { 
-      out->append(1, v); 
-      return *this; 
-   }
-
-#ifdef BOOST_NO_STD_ITERATOR
-   typedef std::ptrdiff_t difference_type;
-   typedef typename S::value_type value_type;
-   typedef value_type* pointer;
-   typedef value_type& reference;
-   typedef std::output_iterator_tag iterator_category;
-#endif
-};
-
-template <class OutputIterator, class Iterator, class Alloc, class ForwardIter, class traits>
-OutputIterator regex_format_imp(OutputIterator out,
-                          const match_results<Iterator, Alloc>& m,
-                          ForwardIter p1, ForwardIter p2,
-                          match_flag_type flags,
-                          const traits& t
-                         )
-{
-   if(flags & regex_constants::format_literal)
-   {
-      return re_detail::copy(p1, p2, out);
-   }
-
-   re_detail::basic_regex_formatter<
-      OutputIterator, 
-      match_results<Iterator, Alloc>, 
-      traits, ForwardIter> f(out, m, t);
-   return f.format(p1, p2, flags);
-}
-
-#ifndef BOOST_NO_SFINAE
-
-BOOST_MPL_HAS_XXX_TRAIT_DEF(const_iterator)
-
-struct any_type 
-{
-   template <class T>
-   any_type(const T&); 
-   template <class T, class U>
-   any_type(const T&, const U&); 
-   template <class T, class U, class V>
-   any_type(const T&, const U&, const V&); 
-};
-typedef char no_type;
-typedef char (&unary_type)[2];
-typedef char (&binary_type)[3];
-typedef char (&ternary_type)[4];
-
-no_type check_is_formatter(unary_type, binary_type, ternary_type);
-template<typename T>
-unary_type check_is_formatter(T const &, binary_type, ternary_type);
-template<typename T>
-binary_type check_is_formatter(unary_type, T const &, ternary_type);
-template<typename T, typename U>
-binary_type check_is_formatter(T const &, U const &, ternary_type);
-template<typename T>
-ternary_type check_is_formatter(unary_type, binary_type, T const &);
-template<typename T, typename U>
-ternary_type check_is_formatter(T const &, binary_type, U const &);
-template<typename T, typename U>
-ternary_type check_is_formatter(unary_type, T const &, U const &);
-template<typename T, typename U, typename V>
-ternary_type check_is_formatter(T const &, U const &, V const &);
-
-struct unary_binary_ternary
-{
-    typedef unary_type (*unary_fun)(any_type);
-    typedef binary_type (*binary_fun)(any_type, any_type);
-    typedef ternary_type (*ternary_fun)(any_type, any_type, any_type);
-    operator unary_fun();
-    operator binary_fun();
-    operator ternary_fun();
-};
-
-template<typename Formatter, bool IsFunction = boost::is_function<Formatter>::value>
-struct formatter_wrapper
-  : Formatter
-  , unary_binary_ternary
-{
-   formatter_wrapper(){}
-};
-
-template<typename Formatter>
-struct formatter_wrapper<Formatter, true>
-  : unary_binary_ternary
-{
-    operator Formatter *();
-};
-
-template<typename Formatter>
-struct formatter_wrapper<Formatter *, false>
-  : unary_binary_ternary
-{
-    operator Formatter *();
-};
-
-template <class F, class M, class O>
-struct format_traits_imp
-{
-private:
-   //
-   // F must be a pointer, a function, or a class with a function call operator:
-   //
-   BOOST_STATIC_ASSERT((::boost::is_pointer<F>::value || ::boost::is_function<F>::value || ::boost::is_class<F>::value));
-   static formatter_wrapper<typename unwrap_reference<F>::type> f;
-   static M m;
-   static O out;
-   static boost::regex_constants::match_flag_type flags;
-public:
-   BOOST_STATIC_CONSTANT(int, value = sizeof(check_is_formatter(f(m), f(m, out), f(m, out, flags))));
-};
-
-template <class F, class M, class O>
-struct format_traits
-{
-public:
-   // 
-   // Type is mpl::int_<N> where N is one of:
-   //
-   // 0 : F is a pointer to a presumably null-terminated string.
-   // 1 : F is a character-container such as a std::string.
-   // 2 : F is a Unary Functor.
-   // 3 : F is a Binary Functor.
-   // 4 : F is a Ternary Functor.
-   //
-   typedef typename boost::mpl::if_<
-      boost::mpl::and_<boost::is_pointer<F>, boost::mpl::not_<boost::is_function<typename boost::remove_pointer<F>::type> > >,
-      boost::mpl::int_<0>,
-      typename boost::mpl::if_<
-         has_const_iterator<F>,
-         boost::mpl::int_<1>,
-         boost::mpl::int_<format_traits_imp<F, M, O>::value>
-      >::type
-   >::type type;
-   //
-   // This static assertion will fail if the functor passed does not accept
-   // the same type of arguments passed.
-   //
-   BOOST_STATIC_ASSERT( boost::is_class<F>::value && !has_const_iterator<F>::value ? (type::value > 1) : true);
-};
-
-#else // BOOST_NO_SFINAE
-
-template <class F, class M, class O>
-struct format_traits
-{
-public:
-   // 
-   // Type is mpl::int_<N> where N is one of:
-   //
-   // 0 : F is a pointer to a presumably null-terminated string.
-   // 1 : F is a character-container such as a std::string.
-   //
-   // Other options such as F being a Functor are not supported without
-   // SFINAE support.
-   //
-   typedef typename boost::mpl::if_<
-      boost::is_pointer<F>,
-      boost::mpl::int_<0>,
-      boost::mpl::int_<1>
-   >::type type;
-};
-
-#endif // BOOST_NO_SFINAE
-
-template <class Base, class Match>
-struct format_functor3
-{
-   format_functor3(Base b) : func(b) {}
-   template <class OutputIter>
-   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f)
-   {
-      return boost::unwrap_ref(func)(m, i, f);
-   }
-   template <class OutputIter, class Traits>
-   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits&)
-   {
-      return (*this)(m, i, f);
-   }
-private:
-   Base func;
-   format_functor3(const format_functor3&);
-   format_functor3& operator=(const format_functor3&);
-};
-
-template <class Base, class Match>
-struct format_functor2
-{
-   format_functor2(Base b) : func(b) {}
-   template <class OutputIter>
-   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type /*f*/)
-   {
-      return boost::unwrap_ref(func)(m, i);
-   }
-   template <class OutputIter, class Traits>
-   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits&)
-   {
-      return (*this)(m, i, f);
-   }
-private:
-   Base func;
-   format_functor2(const format_functor2&);
-   format_functor2& operator=(const format_functor2&);
-};
-
-template <class Base, class Match>
-struct format_functor1
-{
-   format_functor1(Base b) : func(b) {}
-
-   template <class S, class OutputIter>
-   OutputIter do_format_string(const S& s, OutputIter i)
-   {
-      return re_detail::copy(s.begin(), s.end(), i);
-   }
-   template <class S, class OutputIter>
-   inline OutputIter do_format_string(const S* s, OutputIter i)
-   {
-      while(s && *s)
-      {
-         *i = *s;
-         ++i;
-         ++s;
-      }
-      return i;
-   }
-   template <class OutputIter>
-   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type /*f*/)
-   {
-      return do_format_string(boost::unwrap_ref(func)(m), i);
-   }
-   template <class OutputIter, class Traits>
-   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits&)
-   {
-      return (*this)(m, i, f);
-   }
-private:
-   Base func;
-   format_functor1(const format_functor1&);
-   format_functor1& operator=(const format_functor1&);
-};
-
-template <class charT, class Match, class Traits>
-struct format_functor_c_string
-{
-   format_functor_c_string(const charT* ps) : func(ps) {}
-
-   template <class OutputIter>
-   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits& t = Traits())
-   {
-      typedef typename Match::char_type char_type;
-      const charT* end = func;
-      while(*end) ++end;
-      return regex_format_imp(i, m, func, end, f, t);
-   }
-private:
-   const charT* func;
-   format_functor_c_string(const format_functor_c_string&);
-   format_functor_c_string& operator=(const format_functor_c_string&);
-};
-
-template <class Container, class Match, class Traits>
-struct format_functor_container
-{
-   format_functor_container(const Container& c) : func(c) {}
-
-   template <class OutputIter>
-   OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits& t = Traits())
-   {
-      typedef typename Match::char_type char_type;
-      return re_detail::regex_format_imp(i, m, func.begin(), func.end(), f, t);
-   }
-private:
-   const Container& func;
-   format_functor_container(const format_functor_container&);
-   format_functor_container& operator=(const format_functor_container&);
-};
-
-template <class Func, class Match, class OutputIterator, class Traits = re_detail::trivial_format_traits<typename Match::char_type> >
-struct compute_functor_type
-{
-   typedef typename format_traits<Func, Match, OutputIterator>::type tag;
-   typedef typename boost::remove_cv< typename boost::remove_pointer<Func>::type>::type maybe_char_type;
-
-   typedef typename mpl::if_<
-      ::boost::is_same<tag, mpl::int_<0> >, format_functor_c_string<maybe_char_type, Match, Traits>,
-      typename mpl::if_<
-         ::boost::is_same<tag, mpl::int_<1> >, format_functor_container<Func, Match, Traits>,
-         typename mpl::if_<
-            ::boost::is_same<tag, mpl::int_<2> >, format_functor1<Func, Match>,
-            typename mpl::if_<
-               ::boost::is_same<tag, mpl::int_<3> >, format_functor2<Func, Match>, 
-               format_functor3<Func, Match>
-            >::type
-         >::type
-      >::type
-   >::type type;
-};
-
-} // namespace re_detail
-
-template <class OutputIterator, class Iterator, class Allocator, class Functor>
-inline OutputIterator regex_format(OutputIterator out,
-                          const match_results<Iterator, Allocator>& m,
-                          Functor fmt,
-                          match_flag_type flags = format_all
-                         )
-{
-   return m.format(out, fmt, flags);
-}
-
-template <class Iterator, class Allocator, class Functor>
-inline std::basic_string<typename match_results<Iterator, Allocator>::char_type> regex_format(const match_results<Iterator, Allocator>& m, 
-                                      Functor fmt, 
-                                      match_flag_type flags = format_all)
-{
-   return m.format(fmt, flags);
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace boost
-
-#endif  // BOOST_REGEX_FORMAT_HPP
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/regex/v4/regex_fwd.hpp b/SRC/Boost/boost/regex/v4/regex_fwd.hpp
deleted file mode 100755
index 540ecab..0000000
--- a/SRC/Boost/boost/regex/v4/regex_fwd.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_fwd.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Forward declares boost::basic_regex<> and
-  *                associated typedefs.
-  */
-
-#ifndef BOOST_REGEX_FWD_HPP_INCLUDED
-#define BOOST_REGEX_FWD_HPP_INCLUDED
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#include <boost/regex/config.hpp>
-#endif
-
-//
-// define BOOST_REGEX_NO_FWD if this
-// header doesn't work!
-//
-#ifdef BOOST_REGEX_NO_FWD
-#  ifndef BOOST_RE_REGEX_HPP
-#     include <boost/regex.hpp>
-#  endif
-#else
-
-namespace boost{
-
-template <class charT>
-class cpp_regex_traits;
-template <class charT>
-struct c_regex_traits;
-template <class charT>
-class w32_regex_traits;
-
-#ifdef BOOST_REGEX_USE_WIN32_LOCALE
-template <class charT, class implementationT = w32_regex_traits<charT> >
-struct regex_traits;
-#elif defined(BOOST_REGEX_USE_CPP_LOCALE)
-template <class charT, class implementationT = cpp_regex_traits<charT> >
-struct regex_traits;
-#else
-template <class charT, class implementationT = c_regex_traits<charT> >
-struct regex_traits;
-#endif
-
-template <class charT, class traits = regex_traits<charT> >
-class basic_regex;
-
-typedef basic_regex<char, regex_traits<char> > regex;
-#ifndef BOOST_NO_WREGEX
-typedef basic_regex<wchar_t, regex_traits<wchar_t> > wregex;
-#endif
-
-} // namespace boost
-
-#endif  // BOOST_REGEX_NO_FWD
-
-#endif
-
-
-
-
diff --git a/SRC/Boost/boost/regex/v4/regex_grep.hpp b/SRC/Boost/boost/regex/v4/regex_grep.hpp
deleted file mode 100755
index 87a618e..0000000
--- a/SRC/Boost/boost/regex/v4/regex_grep.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_grep.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Provides regex_grep implementation.
-  */
-
-#ifndef BOOST_REGEX_V4_REGEX_GREP_HPP
-#define BOOST_REGEX_V4_REGEX_GREP_HPP
-
-
-namespace boost{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-//
-// regex_grep:
-// find all non-overlapping matches within the sequence first last:
-//
-template <class Predicate, class BidiIterator, class charT, class traits>
-inline unsigned int regex_grep(Predicate foo, 
-                               BidiIterator first, 
-                               BidiIterator last, 
-                               const basic_regex<charT, traits>& e, 
-                               match_flag_type flags = match_default)
-{
-   if(e.flags() & regex_constants::failbit)
-      return false;
-
-   typedef typename match_results<BidiIterator>::allocator_type match_allocator_type;
-
-   match_results<BidiIterator> m;
-   re_detail::perl_matcher<BidiIterator, match_allocator_type, traits> matcher(first, last, m, e, flags, first);
-   unsigned int count = 0;
-   while(matcher.find())
-   {
-      ++count;
-      if(0 == foo(m))
-         return count; // caller doesn't want to go on
-      if(m[0].second == last)
-         return count; // we've reached the end, don't try and find an extra null match.
-      if(m.length() == 0)
-      {
-         if(m[0].second == last)
-            return count;
-         // we found a NULL-match, now try to find
-         // a non-NULL one at the same position:
-         match_results<BidiIterator, match_allocator_type> m2(m);
-         matcher.setf(match_not_null | match_continuous);
-         if(matcher.find())
-         {
-            ++count;
-            if(0 == foo(m))
-               return count;
-         }
-         else
-         {
-            // reset match back to where it was:
-            m = m2;
-         }
-         matcher.unsetf((match_not_null | match_continuous) & ~flags);
-      }
-   }
-   return count;
-}
-
-//
-// regex_grep convenience interfaces:
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-//
-// this isn't really a partial specialisation, but template function
-// overloading - if the compiler doesn't support partial specialisation
-// then it really won't support this either:
-template <class Predicate, class charT, class traits>
-inline unsigned int regex_grep(Predicate foo, const charT* str, 
-                        const basic_regex<charT, traits>& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_grep(foo, str, str + traits::length(str), e, flags);
-}
-
-template <class Predicate, class ST, class SA, class charT, class traits>
-inline unsigned int regex_grep(Predicate foo, const std::basic_string<charT, ST, SA>& s, 
-                 const basic_regex<charT, traits>& e, 
-                 match_flag_type flags = match_default)
-{
-   return regex_grep(foo, s.begin(), s.end(), e, flags);
-}
-#else  // partial specialisation
-inline unsigned int regex_grep(bool (*foo)(const cmatch&), const char* str, 
-                        const regex& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_grep(foo, str, str + regex::traits_type::length(str), e, flags);
-}
-#ifndef BOOST_NO_WREGEX
-inline unsigned int regex_grep(bool (*foo)(const wcmatch&), const wchar_t* str, 
-                        const wregex& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_grep(foo, str, str + wregex::traits_type::length(str), e, flags);
-}
-#endif
-inline unsigned int regex_grep(bool (*foo)(const match_results<std::string::const_iterator>&), const std::string& s,
-                        const regex& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_grep(foo, s.begin(), s.end(), e, flags);
-}
-#if !defined(BOOST_NO_WREGEX)
-inline unsigned int regex_grep(bool (*foo)(const match_results<std::basic_string<wchar_t>::const_iterator>&), 
-                     const std::basic_string<wchar_t>& s, 
-                        const wregex& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_grep(foo, s.begin(), s.end(), e, flags);
-}
-#endif
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace boost
-
-#endif  // BOOST_REGEX_V4_REGEX_GREP_HPP
-
diff --git a/SRC/Boost/boost/regex/v4/regex_iterator.hpp b/SRC/Boost/boost/regex/v4/regex_iterator.hpp
deleted file mode 100755
index d4955af..0000000
--- a/SRC/Boost/boost/regex/v4/regex_iterator.hpp
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- *
- * Copyright (c) 2003
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_iterator.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Provides regex_iterator implementation.
-  */
-
-#ifndef BOOST_REGEX_V4_REGEX_ITERATOR_HPP
-#define BOOST_REGEX_V4_REGEX_ITERATOR_HPP
-
-#include <boost/shared_ptr.hpp>
-
-namespace boost{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-template <class BidirectionalIterator, 
-          class charT,
-          class traits>
-class regex_iterator_implementation 
-{
-   typedef basic_regex<charT, traits> regex_type;
-
-   match_results<BidirectionalIterator> what;  // current match
-   BidirectionalIterator                base;  // start of sequence
-   BidirectionalIterator                end;   // end of sequence
-   const regex_type                     re;   // the expression
-   match_flag_type                      flags; // flags for matching
-
-public:
-   regex_iterator_implementation(const regex_type* p, BidirectionalIterator last, match_flag_type f)
-      : base(), end(last), re(*p), flags(f){}
-   bool init(BidirectionalIterator first)
-   {
-      base = first;
-      return regex_search(first, end, what, re, flags);
-   }
-   bool compare(const regex_iterator_implementation& that)
-   {
-      if(this == &that) return true;
-      return (&re.get_data() == &that.re.get_data()) && (end == that.end) && (flags == that.flags) && (what[0].first == that.what[0].first) && (what[0].second == that.what[0].second);
-   }
-   const match_results<BidirectionalIterator>& get()
-   { return what; }
-   bool next()
-   {
-      //if(what.prefix().first != what[0].second)
-      //   flags |= match_prev_avail;
-      BidirectionalIterator next_start = what[0].second;
-      match_flag_type f(flags);
-      if(!what.length())
-         f |= regex_constants::match_not_initial_null;
-      //if(base != next_start)
-      //   f |= regex_constants::match_not_bob;
-      bool result = regex_search(next_start, end, what, re, f, base);
-      if(result)
-         what.set_base(base);
-      return result;
-   }
-private:
-   regex_iterator_implementation& operator=(const regex_iterator_implementation&);
-};
-
-template <class BidirectionalIterator, 
-          class charT = BOOST_DEDUCED_TYPENAME re_detail::regex_iterator_traits<BidirectionalIterator>::value_type,
-          class traits = regex_traits<charT> >
-class regex_iterator 
-#ifndef BOOST_NO_STD_ITERATOR
-   : public std::iterator<
-         std::forward_iterator_tag, 
-         match_results<BidirectionalIterator>,
-         typename re_detail::regex_iterator_traits<BidirectionalIterator>::difference_type,
-         const match_results<BidirectionalIterator>*,
-         const match_results<BidirectionalIterator>& >         
-#endif
-{
-private:
-   typedef regex_iterator_implementation<BidirectionalIterator, charT, traits> impl;
-   typedef shared_ptr<impl> pimpl;
-public:
-   typedef          basic_regex<charT, traits>                   regex_type;
-   typedef          match_results<BidirectionalIterator>                    value_type;
-   typedef typename re_detail::regex_iterator_traits<BidirectionalIterator>::difference_type 
-                                                                            difference_type;
-   typedef          const value_type*                                       pointer;
-   typedef          const value_type&                                       reference; 
-   typedef          std::forward_iterator_tag                               iterator_category;
-   
-   regex_iterator(){}
-   regex_iterator(BidirectionalIterator a, BidirectionalIterator b, 
-                  const regex_type& re, 
-                  match_flag_type m = match_default)
-                  : pdata(new impl(&re, b, m))
-   {
-      if(!pdata->init(a))
-      {
-         pdata.reset();
-      }
-   }
-   regex_iterator(const regex_iterator& that)
-      : pdata(that.pdata) {}
-   regex_iterator& operator=(const regex_iterator& that)
-   {
-      pdata = that.pdata;
-      return *this;
-   }
-   bool operator==(const regex_iterator& that)const
-   { 
-      if((pdata.get() == 0) || (that.pdata.get() == 0))
-         return pdata.get() == that.pdata.get();
-      return pdata->compare(*(that.pdata.get())); 
-   }
-   bool operator!=(const regex_iterator& that)const
-   { return !(*this == that); }
-   const value_type& operator*()const
-   { return pdata->get(); }
-   const value_type* operator->()const
-   { return &(pdata->get()); }
-   regex_iterator& operator++()
-   {
-      cow();
-      if(0 == pdata->next())
-      {
-         pdata.reset();
-      }
-      return *this;
-   }
-   regex_iterator operator++(int)
-   {
-      regex_iterator result(*this);
-      ++(*this);
-      return result;
-   }
-private:
-
-   pimpl pdata;
-
-   void cow()
-   {
-      // copy-on-write
-      if(pdata.get() && !pdata.unique())
-      {
-         pdata.reset(new impl(*(pdata.get())));
-      }
-   }
-};
-
-typedef regex_iterator<const char*> cregex_iterator;
-typedef regex_iterator<std::string::const_iterator> sregex_iterator;
-#ifndef BOOST_NO_WREGEX
-typedef regex_iterator<const wchar_t*> wcregex_iterator;
-typedef regex_iterator<std::wstring::const_iterator> wsregex_iterator;
-#endif
-
-// make_regex_iterator:
-template <class charT, class traits>
-inline regex_iterator<const charT*, charT, traits> make_regex_iterator(const charT* p, const basic_regex<charT, traits>& e, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return regex_iterator<const charT*, charT, traits>(p, p+traits::length(p), e, m);
-}
-template <class charT, class traits, class ST, class SA>
-inline regex_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits> make_regex_iterator(const std::basic_string<charT, ST, SA>& p, const basic_regex<charT, traits>& e, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return regex_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits>(p.begin(), p.end(), e, m);
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace boost
-
-#endif // BOOST_REGEX_V4_REGEX_ITERATOR_HPP
-
diff --git a/SRC/Boost/boost/regex/v4/regex_match.hpp b/SRC/Boost/boost/regex/v4/regex_match.hpp
deleted file mode 100755
index c8cefd2..0000000
--- a/SRC/Boost/boost/regex/v4/regex_match.hpp
+++ /dev/null
@@ -1,382 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_match.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Regular expression matching algorithms.
-  *                Note this is an internal header file included
-  *                by regex.hpp, do not include on its own.
-  */
-
-
-#ifndef BOOST_REGEX_MATCH_HPP
-#define BOOST_REGEX_MATCH_HPP
-
-namespace boost{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-//
-// proc regex_match
-// returns true if the specified regular expression matches
-// the whole of the input.  Fills in what matched in m.
-//
-template <class BidiIterator, class Allocator, class charT, class traits>
-bool regex_match(BidiIterator first, BidiIterator last, 
-                 match_results<BidiIterator, Allocator>& m, 
-                 const basic_regex<charT, traits>& e, 
-                 match_flag_type flags = match_default)
-{
-   re_detail::perl_matcher<BidiIterator, Allocator, traits> matcher(first, last, m, e, flags, first);
-   return matcher.match();
-}
-template <class iterator, class charT, class traits>
-bool regex_match(iterator first, iterator last, 
-                 const basic_regex<charT, traits>& e, 
-                 match_flag_type flags = match_default)
-{
-   match_results<iterator> m;
-   return regex_match(first, last, m, e, flags | regex_constants::match_any);
-}
-//
-// query_match convenience interfaces:
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-//
-// this isn't really a partial specialisation, but template function
-// overloading - if the compiler doesn't support partial specialisation
-// then it really won't support this either:
-template <class charT, class Allocator, class traits>
-inline bool regex_match(const charT* str, 
-                        match_results<const charT*, Allocator>& m, 
-                        const basic_regex<charT, traits>& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(str, str + traits::length(str), m, e, flags);
-}
-
-template <class ST, class SA, class Allocator, class charT, class traits>
-inline bool regex_match(const std::basic_string<charT, ST, SA>& s, 
-                 match_results<typename std::basic_string<charT, ST, SA>::const_iterator, Allocator>& m, 
-                 const basic_regex<charT, traits>& e, 
-                 match_flag_type flags = match_default)
-{
-   return regex_match(s.begin(), s.end(), m, e, flags);
-}
-template <class charT, class traits>
-inline bool regex_match(const charT* str, 
-                        const basic_regex<charT, traits>& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<const charT*> m;
-   return regex_match(str, str + traits::length(str), m, e, flags | regex_constants::match_any);
-}
-
-template <class ST, class SA, class charT, class traits>
-inline bool regex_match(const std::basic_string<charT, ST, SA>& s, 
-                 const basic_regex<charT, traits>& e, 
-                 match_flag_type flags = match_default)
-{
-   typedef typename std::basic_string<charT, ST, SA>::const_iterator iterator;
-   match_results<iterator> m;
-   return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
-}
-#else  // partial ordering
-inline bool regex_match(const char* str, 
-                        cmatch& m, 
-                        const regex& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(str, str + regex::traits_type::length(str), m, e, flags);
-}
-inline bool regex_match(const char* str, 
-                        const regex& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<const char*> m;
-   return regex_match(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any);
-}
-#ifndef BOOST_NO_STD_LOCALE
-inline bool regex_match(const char* str, 
-                        cmatch& m, 
-                        const basic_regex<char, cpp_regex_traits<char> >& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(str, str + regex::traits_type::length(str), m, e, flags);
-}
-inline bool regex_match(const char* str, 
-                        const basic_regex<char, cpp_regex_traits<char> >& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<const char*> m;
-   return regex_match(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any);
-}
-#endif
-inline bool regex_match(const char* str, 
-                        cmatch& m, 
-                        const basic_regex<char, c_regex_traits<char> >& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(str, str + regex::traits_type::length(str), m, e, flags);
-}
-inline bool regex_match(const char* str, 
-                        const basic_regex<char, c_regex_traits<char> >& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<const char*> m;
-   return regex_match(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any);
-}
-#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
-inline bool regex_match(const char* str, 
-                        cmatch& m, 
-                        const basic_regex<char, w32_regex_traits<char> >& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(str, str + regex::traits_type::length(str), m, e, flags);
-}
-inline bool regex_match(const char* str, 
-                        const basic_regex<char, w32_regex_traits<char> >& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<const char*> m;
-   return regex_match(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any);
-}
-#endif
-#ifndef BOOST_NO_WREGEX
-inline bool regex_match(const wchar_t* str, 
-                        wcmatch& m, 
-                        const wregex& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(str, str + wregex::traits_type::length(str), m, e, flags);
-}
-inline bool regex_match(const wchar_t* str, 
-                        const wregex& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<const wchar_t*> m;
-   return regex_match(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any);
-}
-#ifndef BOOST_NO_STD_LOCALE
-inline bool regex_match(const wchar_t* str, 
-                        wcmatch& m, 
-                        const basic_regex<wchar_t, cpp_regex_traits<wchar_t> >& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(str, str + wregex::traits_type::length(str), m, e, flags);
-}
-inline bool regex_match(const wchar_t* str, 
-                        const basic_regex<wchar_t, cpp_regex_traits<wchar_t> >& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<const wchar_t*> m;
-   return regex_match(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any);
-}
-#endif
-inline bool regex_match(const wchar_t* str, 
-                        wcmatch& m, 
-                        const basic_regex<wchar_t, c_regex_traits<wchar_t> >& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(str, str + wregex::traits_type::length(str), m, e, flags);
-}
-inline bool regex_match(const wchar_t* str, 
-                        const basic_regex<wchar_t, c_regex_traits<wchar_t> >& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<const wchar_t*> m;
-   return regex_match(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any);
-}
-#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
-inline bool regex_match(const wchar_t* str, 
-                        wcmatch& m, 
-                        const basic_regex<wchar_t, w32_regex_traits<wchar_t> >& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(str, str + wregex::traits_type::length(str), m, e, flags);
-}
-inline bool regex_match(const wchar_t* str, 
-                        const basic_regex<wchar_t, w32_regex_traits<wchar_t> >& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<const wchar_t*> m;
-   return regex_match(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any);
-}
-#endif
-#endif
-inline bool regex_match(const std::string& s, 
-                        smatch& m,
-                        const regex& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(s.begin(), s.end(), m, e, flags);
-}
-inline bool regex_match(const std::string& s, 
-                        const regex& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<std::string::const_iterator> m;
-   return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
-}
-#ifndef BOOST_NO_STD_LOCALE
-inline bool regex_match(const std::string& s, 
-                        smatch& m,
-                        const basic_regex<char, cpp_regex_traits<char> >& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(s.begin(), s.end(), m, e, flags);
-}
-inline bool regex_match(const std::string& s, 
-                        const basic_regex<char, cpp_regex_traits<char> >& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<std::string::const_iterator> m;
-   return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
-}
-#endif
-inline bool regex_match(const std::string& s, 
-                        smatch& m,
-                        const basic_regex<char, c_regex_traits<char> >& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(s.begin(), s.end(), m, e, flags);
-}
-inline bool regex_match(const std::string& s, 
-                        const basic_regex<char, c_regex_traits<char> >& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<std::string::const_iterator> m;
-   return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
-}
-#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
-inline bool regex_match(const std::string& s, 
-                        smatch& m,
-                        const basic_regex<char, w32_regex_traits<char> >& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(s.begin(), s.end(), m, e, flags);
-}
-inline bool regex_match(const std::string& s, 
-                        const basic_regex<char, w32_regex_traits<char> >& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<std::string::const_iterator> m;
-   return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
-}
-#endif
-#if !defined(BOOST_NO_WREGEX)
-inline bool regex_match(const std::basic_string<wchar_t>& s, 
-                        match_results<std::basic_string<wchar_t>::const_iterator>& m,
-                        const wregex& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(s.begin(), s.end(), m, e, flags);
-}
-inline bool regex_match(const std::basic_string<wchar_t>& s, 
-                        const wregex& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<std::basic_string<wchar_t>::const_iterator> m;
-   return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
-}
-#ifndef BOOST_NO_STD_LOCALE
-inline bool regex_match(const std::basic_string<wchar_t>& s, 
-                        match_results<std::basic_string<wchar_t>::const_iterator>& m,
-                        const basic_regex<wchar_t, cpp_regex_traits<wchar_t> >& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(s.begin(), s.end(), m, e, flags);
-}
-inline bool regex_match(const std::basic_string<wchar_t>& s, 
-                        const basic_regex<wchar_t, cpp_regex_traits<wchar_t> >& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<std::basic_string<wchar_t>::const_iterator> m;
-   return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
-}
-#endif
-inline bool regex_match(const std::basic_string<wchar_t>& s, 
-                        match_results<std::basic_string<wchar_t>::const_iterator>& m,
-                        const basic_regex<wchar_t, c_regex_traits<wchar_t> >& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(s.begin(), s.end(), m, e, flags);
-}
-inline bool regex_match(const std::basic_string<wchar_t>& s, 
-                        const basic_regex<wchar_t, c_regex_traits<wchar_t> >& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<std::basic_string<wchar_t>::const_iterator> m;
-   return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
-}
-#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
-inline bool regex_match(const std::basic_string<wchar_t>& s, 
-                        match_results<std::basic_string<wchar_t>::const_iterator>& m,
-                        const basic_regex<wchar_t, w32_regex_traits<wchar_t> >& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_match(s.begin(), s.end(), m, e, flags);
-}
-inline bool regex_match(const std::basic_string<wchar_t>& s, 
-                        const basic_regex<wchar_t, w32_regex_traits<wchar_t> >& e, 
-                        match_flag_type flags = match_default)
-{
-   match_results<std::basic_string<wchar_t>::const_iterator> m;
-   return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
-}
-#endif
-#endif
-
-#endif
-
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace boost
-
-#endif   // BOOST_REGEX_MATCH_HPP
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/regex/v4/regex_merge.hpp b/SRC/Boost/boost/regex/v4/regex_merge.hpp
deleted file mode 100755
index 2e99b5e..0000000
--- a/SRC/Boost/boost/regex/v4/regex_merge.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_format.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Provides formatting output routines for search and replace
-  *                operations.  Note this is an internal header file included
-  *                by regex.hpp, do not include on its own.
-  */
-
-#ifndef BOOST_REGEX_V4_REGEX_MERGE_HPP
-#define BOOST_REGEX_V4_REGEX_MERGE_HPP
-
-
-namespace boost{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-template <class OutputIterator, class Iterator, class traits, class charT>
-inline OutputIterator regex_merge(OutputIterator out,
-                         Iterator first,
-                         Iterator last,
-                         const basic_regex<charT, traits>& e, 
-                         const charT* fmt, 
-                         match_flag_type flags = match_default)
-{
-   return regex_replace(out, first, last, e, fmt, flags);
-}
-
-template <class OutputIterator, class Iterator, class traits, class charT>
-inline OutputIterator regex_merge(OutputIterator out,
-                         Iterator first,
-                         Iterator last,
-                         const basic_regex<charT, traits>& e, 
-                         const std::basic_string<charT>& fmt,
-                         match_flag_type flags = match_default)
-{
-   return regex_merge(out, first, last, e, fmt.c_str(), flags);
-}
-
-template <class traits, class charT>
-inline std::basic_string<charT> regex_merge(const std::basic_string<charT>& s,
-                         const basic_regex<charT, traits>& e, 
-                         const charT* fmt,
-                         match_flag_type flags = match_default)
-{
-   return regex_replace(s, e, fmt, flags);
-}
-
-template <class traits, class charT>
-inline std::basic_string<charT> regex_merge(const std::basic_string<charT>& s,
-                         const basic_regex<charT, traits>& e, 
-                         const std::basic_string<charT>& fmt,
-                         match_flag_type flags = match_default)
-{
-   return regex_replace(s, e, fmt, flags);
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace boost
-
-#endif  // BOOST_REGEX_V4_REGEX_MERGE_HPP
-
-
diff --git a/SRC/Boost/boost/regex/v4/regex_raw_buffer.hpp b/SRC/Boost/boost/regex/v4/regex_raw_buffer.hpp
deleted file mode 100755
index 6918097..0000000
--- a/SRC/Boost/boost/regex/v4/regex_raw_buffer.hpp
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_raw_buffer.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Raw character buffer for regex code.
-  *                Note this is an internal header file included
-  *                by regex.hpp, do not include on its own.
-  */
-
-#ifndef BOOST_REGEX_RAW_BUFFER_HPP
-#define BOOST_REGEX_RAW_BUFFER_HPP
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#include <boost/regex/config.hpp>
-#endif
-
-#include <algorithm>
-#include <cstddef>
-
-namespace boost{
-   namespace re_detail{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-struct empty_padding{};
-
-union padding
-{
-   void* p;
-   unsigned int i;
-};
-
-template <int N>
-struct padding3
-{
-   enum{
-      padding_size = 8,
-      padding_mask = 7
-   };
-};
-
-template<>
-struct padding3<2>
-{
-   enum{
-      padding_size = 2,
-      padding_mask = 1
-   };
-};
-
-template<>
-struct padding3<4>
-{
-   enum{
-      padding_size = 4,
-      padding_mask = 3
-   };
-};
-
-template<>
-struct padding3<8>
-{
-   enum{
-      padding_size = 8,
-      padding_mask = 7
-   };
-};
-
-template<>
-struct padding3<16>
-{
-   enum{
-      padding_size = 16,
-      padding_mask = 15
-   };
-};
-
-enum{
-   padding_size = padding3<sizeof(padding)>::padding_size,
-   padding_mask = padding3<sizeof(padding)>::padding_mask
-};
-
-//
-// class raw_storage
-// basically this is a simplified vector<unsigned char>
-// this is used by basic_regex for expression storage
-//
-
-class BOOST_REGEX_DECL raw_storage
-{
-public:
-   typedef std::size_t           size_type;
-   typedef unsigned char*        pointer;
-private:
-   pointer last, start, end;
-public:
-
-   raw_storage();
-   raw_storage(size_type n);
-
-   ~raw_storage()
-   {
-      ::operator delete(start);
-   }
-
-   void BOOST_REGEX_CALL resize(size_type n);
-   
-   void* BOOST_REGEX_CALL extend(size_type n)
-   {
-      if(size_type(last - end) < n)
-         resize(n + (end - start));
-      register pointer result = end;
-      end += n;
-      return result;
-   }
-
-   void* BOOST_REGEX_CALL insert(size_type pos, size_type n);
-
-   size_type BOOST_REGEX_CALL size()
-   {
-      return end - start;
-   }
-
-   size_type BOOST_REGEX_CALL capacity()
-   {
-      return last - start;
-   }
-
-   void* BOOST_REGEX_CALL data()const
-   {
-      return start;
-   }
-
-   size_type BOOST_REGEX_CALL index(void* ptr)
-   {
-      return static_cast<pointer>(ptr) - static_cast<pointer>(data());
-   }
-
-   void BOOST_REGEX_CALL clear()
-   {
-      end = start;
-   }
-
-   void BOOST_REGEX_CALL align()
-   {
-      // move end up to a boundary:
-      end = start + (((end - start) + padding_mask) & ~padding_mask);
-   }
-   void swap(raw_storage& that)
-   {
-      std::swap(start, that.start);
-      std::swap(end, that.end);
-      std::swap(last, that.last);
-  }
-};
-
-inline raw_storage::raw_storage()
-{
-   last = start = end = 0;
-}
-
-inline raw_storage::raw_storage(size_type n)
-{
-   start = end = static_cast<pointer>(::operator new(n));
-   BOOST_REGEX_NOEH_ASSERT(start)
-   last = start + n;
-}
-
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace re_detail
-} // namespace boost
-
-#endif
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/regex/v4/regex_replace.hpp b/SRC/Boost/boost/regex/v4/regex_replace.hpp
deleted file mode 100755
index 5684df5..0000000
--- a/SRC/Boost/boost/regex/v4/regex_replace.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2009
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_format.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Provides formatting output routines for search and replace
-  *                operations.  Note this is an internal header file included
-  *                by regex.hpp, do not include on its own.
-  */
-
-#ifndef BOOST_REGEX_V4_REGEX_REPLACE_HPP
-#define BOOST_REGEX_V4_REGEX_REPLACE_HPP
-
-
-namespace boost{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-template <class OutputIterator, class BidirectionalIterator, class traits, class charT, class Formatter>
-OutputIterator regex_replace(OutputIterator out,
-                         BidirectionalIterator first,
-                         BidirectionalIterator last,
-                         const basic_regex<charT, traits>& e, 
-                         Formatter fmt, 
-                         match_flag_type flags = match_default)
-{
-   regex_iterator<BidirectionalIterator, charT, traits> i(first, last, e, flags);
-   regex_iterator<BidirectionalIterator, charT, traits> j;
-   if(i == j)
-   {
-      if(!(flags & regex_constants::format_no_copy))
-         out = re_detail::copy(first, last, out);
-   }
-   else
-   {
-      BidirectionalIterator last_m(first);
-      while(i != j)
-      {
-         if(!(flags & regex_constants::format_no_copy))
-            out = re_detail::copy(i->prefix().first, i->prefix().second, out); 
-         out = i->format(out, fmt, flags, e);
-         last_m = (*i)[0].second;
-         if(flags & regex_constants::format_first_only)
-            break;
-         ++i;
-      }
-      if(!(flags & regex_constants::format_no_copy))
-         out = re_detail::copy(last_m, last, out);
-   }
-   return out;
-}
-
-template <class traits, class charT, class Formatter>
-std::basic_string<charT> regex_replace(const std::basic_string<charT>& s,
-                         const basic_regex<charT, traits>& e, 
-                         Formatter fmt,
-                         match_flag_type flags = match_default)
-{
-   std::basic_string<charT> result;
-   re_detail::string_out_iterator<std::basic_string<charT> > i(result);
-   regex_replace(i, s.begin(), s.end(), e, fmt, flags);
-   return result;
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace boost
-
-#endif  // BOOST_REGEX_V4_REGEX_REPLACE_HPP
-
-
diff --git a/SRC/Boost/boost/regex/v4/regex_search.hpp b/SRC/Boost/boost/regex/v4/regex_search.hpp
deleted file mode 100755
index bbb6f17..0000000
--- a/SRC/Boost/boost/regex/v4/regex_search.hpp
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_search.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Provides regex_search implementation.
-  */
-
-#ifndef BOOST_REGEX_V4_REGEX_SEARCH_HPP
-#define BOOST_REGEX_V4_REGEX_SEARCH_HPP
-
-
-namespace boost{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-template <class BidiIterator, class Allocator, class charT, class traits>
-bool regex_search(BidiIterator first, BidiIterator last, 
-                  match_results<BidiIterator, Allocator>& m, 
-                  const basic_regex<charT, traits>& e, 
-                  match_flag_type flags = match_default)
-{
-   return regex_search(first, last, m, e, flags, first);
-}
-
-template <class BidiIterator, class Allocator, class charT, class traits>
-bool regex_search(BidiIterator first, BidiIterator last, 
-                  match_results<BidiIterator, Allocator>& m, 
-                  const basic_regex<charT, traits>& e, 
-                  match_flag_type flags,
-                  BidiIterator base)
-{
-   if(e.flags() & regex_constants::failbit)
-      return false;
-
-   re_detail::perl_matcher<BidiIterator, Allocator, traits> matcher(first, last, m, e, flags, base);
-   return matcher.find();
-}
-
-//
-// regex_search convenience interfaces:
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-//
-// this isn't really a partial specialisation, but template function
-// overloading - if the compiler doesn't support partial specialisation
-// then it really won't support this either:
-template <class charT, class Allocator, class traits>
-inline bool regex_search(const charT* str, 
-                        match_results<const charT*, Allocator>& m, 
-                        const basic_regex<charT, traits>& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_search(str, str + traits::length(str), m, e, flags);
-}
-
-template <class ST, class SA, class Allocator, class charT, class traits>
-inline bool regex_search(const std::basic_string<charT, ST, SA>& s, 
-                 match_results<typename std::basic_string<charT, ST, SA>::const_iterator, Allocator>& m, 
-                 const basic_regex<charT, traits>& e, 
-                 match_flag_type flags = match_default)
-{
-   return regex_search(s.begin(), s.end(), m, e, flags);
-}
-#else  // partial overloads:
-inline bool regex_search(const char* str, 
-                        cmatch& m, 
-                        const regex& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_search(str, str + regex::traits_type::length(str), m, e, flags);
-}
-inline bool regex_search(const char* first, const char* last, 
-                  const regex& e, 
-                  match_flag_type flags = match_default)
-{
-   cmatch m;
-   return regex_search(first, last, m, e, flags | regex_constants::match_any);
-}
-
-#ifndef BOOST_NO_WREGEX
-inline bool regex_search(const wchar_t* str, 
-                        wcmatch& m, 
-                        const wregex& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_search(str, str + wregex::traits_type::length(str), m, e, flags);
-}
-inline bool regex_search(const wchar_t* first, const wchar_t* last, 
-                  const wregex& e, 
-                  match_flag_type flags = match_default)
-{
-   wcmatch m;
-   return regex_search(first, last, m, e, flags | regex_constants::match_any);
-}
-#endif
-inline bool regex_search(const std::string& s, 
-                        smatch& m,
-                        const regex& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_search(s.begin(), s.end(), m, e, flags);
-}
-#if !defined(BOOST_NO_WREGEX)
-inline bool regex_search(const std::basic_string<wchar_t>& s, 
-                        wsmatch& m,
-                        const wregex& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_search(s.begin(), s.end(), m, e, flags);
-}
-#endif
-
-#endif
-
-template <class BidiIterator, class charT, class traits>
-bool regex_search(BidiIterator first, BidiIterator last, 
-                  const basic_regex<charT, traits>& e, 
-                  match_flag_type flags = match_default)
-{
-   if(e.flags() & regex_constants::failbit)
-      return false;
-
-   match_results<BidiIterator> m;
-   typedef typename match_results<BidiIterator>::allocator_type match_alloc_type;
-   re_detail::perl_matcher<BidiIterator, match_alloc_type, traits> matcher(first, last, m, e, flags | regex_constants::match_any, first);
-   return matcher.find();
-}
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-template <class charT, class traits>
-inline bool regex_search(const charT* str, 
-                        const basic_regex<charT, traits>& e, 
-                        match_flag_type flags = match_default)
-{
-   return regex_search(str, str + traits::length(str), e, flags);
-}
-
-template <class ST, class SA, class charT, class traits>
-inline bool regex_search(const std::basic_string<charT, ST, SA>& s, 
-                 const basic_regex<charT, traits>& e, 
-                 match_flag_type flags = match_default)
-{
-   return regex_search(s.begin(), s.end(), e, flags);
-}
-#else  // non-template function overloads
-inline bool regex_search(const char* str, 
-                        const regex& e, 
-                        match_flag_type flags = match_default)
-{
-   cmatch m;
-   return regex_search(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any);
-}
-#ifndef BOOST_NO_WREGEX
-inline bool regex_search(const wchar_t* str, 
-                        const wregex& e, 
-                        match_flag_type flags = match_default)
-{
-   wcmatch m;
-   return regex_search(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any);
-}
-#endif
-inline bool regex_search(const std::string& s, 
-                        const regex& e, 
-                        match_flag_type flags = match_default)
-{
-   smatch m;
-   return regex_search(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
-}
-#if !defined(BOOST_NO_WREGEX)
-inline bool regex_search(const std::basic_string<wchar_t>& s, 
-                        const wregex& e, 
-                        match_flag_type flags = match_default)
-{
-   wsmatch m;
-   return regex_search(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
-}
-
-#endif // BOOST_NO_WREGEX
-
-#endif // partial overload
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace boost
-
-#endif  // BOOST_REGEX_V4_REGEX_SEARCH_HPP
-
-
diff --git a/SRC/Boost/boost/regex/v4/regex_split.hpp b/SRC/Boost/boost/regex/v4/regex_split.hpp
deleted file mode 100755
index 9595c69..0000000
--- a/SRC/Boost/boost/regex/v4/regex_split.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_split.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Implements regex_split and associated functions.
-  *                Note this is an internal header file included
-  *                by regex.hpp, do not include on its own.
-  */
-
-#ifndef BOOST_REGEX_SPLIT_HPP
-#define BOOST_REGEX_SPLIT_HPP
-
-namespace boost{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable: 4800)
-#endif
-
-namespace re_detail{
-
-template <class charT>
-const basic_regex<charT>& get_default_expression(charT)
-{
-   static const charT expression_text[4] = { '\\', 's', '+', '\00', };
-   static const basic_regex<charT> e(expression_text);
-   return e;
-}
-
-template <class OutputIterator, class charT, class Traits1, class Alloc1>
-class split_pred
-{
-   typedef std::basic_string<charT, Traits1, Alloc1> string_type;
-   typedef typename string_type::const_iterator iterator_type;
-   iterator_type* p_last;
-   OutputIterator* p_out;
-   std::size_t* p_max;
-   std::size_t initial_max;
-public:
-   split_pred(iterator_type* a, OutputIterator* b, std::size_t* c)
-      : p_last(a), p_out(b), p_max(c), initial_max(*c) {}
-
-   bool operator()(const match_results<iterator_type>& what);
-};
-
-template <class OutputIterator, class charT, class Traits1, class Alloc1>
-bool split_pred<OutputIterator, charT, Traits1, Alloc1>::operator()
-   (const match_results<iterator_type>& what)
-{
-   *p_last = what[0].second;
-   if(what.size() > 1)
-   {
-      // output sub-expressions only:
-      for(unsigned i = 1; i < what.size(); ++i)
-      {
-         *(*p_out) = what.str(i);
-         ++(*p_out);
-         if(0 == --*p_max) return false;
-      }
-      return *p_max != 0;
-   }
-   else
-   {
-      // output $` only if it's not-null or not at the start of the input:
-      const sub_match<iterator_type>& sub = what[-1];
-      if((sub.first != sub.second) || (*p_max != initial_max))
-      {
-         *(*p_out) = sub.str();
-         ++(*p_out);
-         return --*p_max;
-      }
-   }
-   //
-   // initial null, do nothing:
-   return true;
-}
-
-} // namespace re_detail
-
-template <class OutputIterator, class charT, class Traits1, class Alloc1, class Traits2>
-std::size_t regex_split(OutputIterator out,
-                   std::basic_string<charT, Traits1, Alloc1>& s, 
-                   const basic_regex<charT, Traits2>& e,
-                   match_flag_type flags,
-                   std::size_t max_split)
-{
-   typedef typename std::basic_string<charT, Traits1, Alloc1>::const_iterator  ci_t;
-   typedef typename match_results<ci_t>::allocator_type                        match_allocator;
-   ci_t last = s.begin();
-   std::size_t init_size = max_split;
-   re_detail::split_pred<OutputIterator, charT, Traits1, Alloc1> pred(&last, &out, &max_split);
-   ci_t i, j;
-   i = s.begin();
-   j = s.end();
-   regex_grep(pred, i, j, e, flags);
-   //
-   // if there is still input left, do a final push as long as max_split
-   // is not exhausted, and we're not splitting sub-expressions rather 
-   // than whitespace:
-   if(max_split && (last != s.end()) && (e.mark_count() == 1))
-   {
-      *out = std::basic_string<charT, Traits1, Alloc1>((ci_t)last, (ci_t)s.end());
-      ++out;
-      last = s.end();
-      --max_split;
-   }
-   //
-   // delete from the string everything that has been processed so far:
-   s.erase(0, last - s.begin());
-   //
-   // return the number of new records pushed:
-   return init_size - max_split;
-}
-
-template <class OutputIterator, class charT, class Traits1, class Alloc1, class Traits2>
-inline std::size_t regex_split(OutputIterator out,
-                   std::basic_string<charT, Traits1, Alloc1>& s, 
-                   const basic_regex<charT, Traits2>& e,
-                   match_flag_type flags = match_default)
-{
-   return regex_split(out, s, e, flags, UINT_MAX);
-}
-
-template <class OutputIterator, class charT, class Traits1, class Alloc1>
-inline std::size_t regex_split(OutputIterator out,
-                   std::basic_string<charT, Traits1, Alloc1>& s)
-{
-   return regex_split(out, s, re_detail::get_default_expression(charT(0)), match_default, UINT_MAX);
-}
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace boost
-
-#endif
-
-
diff --git a/SRC/Boost/boost/regex/v4/regex_token_iterator.hpp b/SRC/Boost/boost/regex/v4/regex_token_iterator.hpp
deleted file mode 100755
index 004c47c..0000000
--- a/SRC/Boost/boost/regex/v4/regex_token_iterator.hpp
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- *
- * Copyright (c) 2003
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_token_iterator.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Provides regex_token_iterator implementation.
-  */
-
-#ifndef BOOST_REGEX_V4_REGEX_TOKEN_ITERATOR_HPP
-#define BOOST_REGEX_V4_REGEX_TOKEN_ITERATOR_HPP
-
-#include <boost/shared_ptr.hpp>
-#include <boost/detail/workaround.hpp>
-#if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\
-      || BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
-      || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
-//
-// Borland C++ Builder 6, and Visual C++ 6,
-// can't cope with the array template constructor
-// so we have a template member that will accept any type as 
-// argument, and then assert that is really is an array:
-//
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_array.hpp>
-#endif
-
-namespace boost{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-#if BOOST_WORKAROUND(BOOST_MSVC, > 1300)
-#  pragma warning(push)
-#  pragma warning(disable:4700)
-#endif
-
-template <class BidirectionalIterator,
-          class charT,
-          class traits>
-class regex_token_iterator_implementation 
-{
-   typedef basic_regex<charT, traits> regex_type;
-   typedef sub_match<BidirectionalIterator>      value_type;
-
-   match_results<BidirectionalIterator> what;   // current match
-   BidirectionalIterator                base;    // start of search area
-   BidirectionalIterator                end;    // end of search area
-   const regex_type                     re;    // the expression
-   match_flag_type                      flags;  // match flags
-   value_type                           result; // the current string result
-   int                                  N;      // the current sub-expression being enumerated
-   std::vector<int>                     subs;   // the sub-expressions to enumerate
-
-public:
-   regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, int sub, match_flag_type f)
-      : end(last), re(*p), flags(f){ subs.push_back(sub); }
-   regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector<int>& v, match_flag_type f)
-      : end(last), re(*p), flags(f), subs(v){}
-#if !BOOST_WORKAROUND(__HP_aCC, < 60700)
-#if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\
-      || BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
-      || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \
-      || BOOST_WORKAROUND(__HP_aCC, < 60700)
-   template <class T>
-   regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const T& submatches, match_flag_type f)
-      : end(last), re(*p), flags(f)
-   {
-      // assert that T really is an array:
-      BOOST_STATIC_ASSERT(::boost::is_array<T>::value);
-      const std::size_t array_size = sizeof(T) / sizeof(submatches[0]);
-      for(std::size_t i = 0; i < array_size; ++i)
-      {
-         subs.push_back(submatches[i]);
-      }
-   }
-#else
-   template <std::size_t CN>
-   regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const int (&submatches)[CN], match_flag_type f)
-      : end(last), re(*p), flags(f)
-   {
-      for(std::size_t i = 0; i < CN; ++i)
-      {
-         subs.push_back(submatches[i]);
-      }
-   }
-#endif
-#endif
-   bool init(BidirectionalIterator first)
-   {
-      N = 0;
-      base = first;
-      if(regex_search(first, end, what, re, flags, base) == true)
-      {
-         N = 0;
-         result = ((subs[N] == -1) ? what.prefix() : what[(int)subs[N]]);
-         return true;
-      }
-      else if((subs[N] == -1) && (first != end))
-      {
-         result.first = first;
-         result.second = end;
-         result.matched = (first != end);
-         N = -1;
-         return true;
-      }
-      return false;
-   }
-   bool compare(const regex_token_iterator_implementation& that)
-   {
-      if(this == &that) return true;
-      return (&re.get_data() == &that.re.get_data()) 
-         && (end == that.end) 
-         && (flags == that.flags) 
-         && (N == that.N) 
-         && (what[0].first == that.what[0].first) 
-         && (what[0].second == that.what[0].second);
-   }
-   const value_type& get()
-   { return result; }
-   bool next()
-   {
-      if(N == -1)
-         return false;
-      if(N+1 < (int)subs.size())
-      {
-         ++N;
-         result =((subs[N] == -1) ? what.prefix() : what[subs[N]]);
-         return true;
-      }
-      //if(what.prefix().first != what[0].second)
-      //   flags |= /*match_prev_avail |*/ regex_constants::match_not_bob;
-      BidirectionalIterator last_end(what[0].second);
-      if(regex_search(last_end, end, what, re, ((what[0].first == what[0].second) ? flags | regex_constants::match_not_initial_null : flags), base))
-      {
-         N =0;
-         result =((subs[N] == -1) ? what.prefix() : what[subs[N]]);
-         return true;
-      }
-      else if((last_end != end) && (subs[0] == -1))
-      {
-         N =-1;
-         result.first = last_end;
-         result.second = end;
-         result.matched = (last_end != end);
-         return true;
-      }
-      return false;
-   }
-private:
-   regex_token_iterator_implementation& operator=(const regex_token_iterator_implementation&);
-};
-
-template <class BidirectionalIterator, 
-          class charT = BOOST_DEDUCED_TYPENAME re_detail::regex_iterator_traits<BidirectionalIterator>::value_type,
-          class traits = regex_traits<charT> >
-class regex_token_iterator 
-#ifndef BOOST_NO_STD_ITERATOR
-   : public std::iterator<
-         std::forward_iterator_tag, 
-         sub_match<BidirectionalIterator>,
-         typename re_detail::regex_iterator_traits<BidirectionalIterator>::difference_type,
-         const sub_match<BidirectionalIterator>*,
-         const sub_match<BidirectionalIterator>& >         
-#endif
-{
-private:
-   typedef regex_token_iterator_implementation<BidirectionalIterator, charT, traits> impl;
-   typedef shared_ptr<impl> pimpl;
-public:
-   typedef          basic_regex<charT, traits>                   regex_type;
-   typedef          sub_match<BidirectionalIterator>                        value_type;
-   typedef typename re_detail::regex_iterator_traits<BidirectionalIterator>::difference_type 
-                                                                            difference_type;
-   typedef          const value_type*                                       pointer;
-   typedef          const value_type&                                       reference; 
-   typedef          std::forward_iterator_tag                               iterator_category;
-   
-   regex_token_iterator(){}
-   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                        int submatch = 0, match_flag_type m = match_default)
-                        : pdata(new impl(&re, b, submatch, m))
-   {
-      if(!pdata->init(a))
-         pdata.reset();
-   }
-   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                        const std::vector<int>& submatches, match_flag_type m = match_default)
-                        : pdata(new impl(&re, b, submatches, m))
-   {
-      if(!pdata->init(a))
-         pdata.reset();
-   }
-#if !BOOST_WORKAROUND(__HP_aCC, < 60700)
-#if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\
-      || BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
-      || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \
-      || BOOST_WORKAROUND(__HP_aCC, < 60700)
-   template <class T>
-   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re,
-                        const T& submatches, match_flag_type m = match_default)
-                        : pdata(new impl(&re, b, submatches, m))
-   {
-      if(!pdata->init(a))
-         pdata.reset();
-   }
-#else
-   template <std::size_t N>
-   regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re,
-                        const int (&submatches)[N], match_flag_type m = match_default)
-                        : pdata(new impl(&re, b, submatches, m))
-   {
-      if(!pdata->init(a))
-         pdata.reset();
-   }
-#endif
-#endif
-   regex_token_iterator(const regex_token_iterator& that)
-      : pdata(that.pdata) {}
-   regex_token_iterator& operator=(const regex_token_iterator& that)
-   {
-      pdata = that.pdata;
-      return *this;
-   }
-   bool operator==(const regex_token_iterator& that)const
-   { 
-      if((pdata.get() == 0) || (that.pdata.get() == 0))
-         return pdata.get() == that.pdata.get();
-      return pdata->compare(*(that.pdata.get())); 
-   }
-   bool operator!=(const regex_token_iterator& that)const
-   { return !(*this == that); }
-   const value_type& operator*()const
-   { return pdata->get(); }
-   const value_type* operator->()const
-   { return &(pdata->get()); }
-   regex_token_iterator& operator++()
-   {
-      cow();
-      if(0 == pdata->next())
-      {
-         pdata.reset();
-      }
-      return *this;
-   }
-   regex_token_iterator operator++(int)
-   {
-      regex_token_iterator result(*this);
-      ++(*this);
-      return result;
-   }
-private:
-
-   pimpl pdata;
-
-   void cow()
-   {
-      // copy-on-write
-      if(pdata.get() && !pdata.unique())
-      {
-         pdata.reset(new impl(*(pdata.get())));
-      }
-   }
-};
-
-typedef regex_token_iterator<const char*> cregex_token_iterator;
-typedef regex_token_iterator<std::string::const_iterator> sregex_token_iterator;
-#ifndef BOOST_NO_WREGEX
-typedef regex_token_iterator<const wchar_t*> wcregex_token_iterator;
-typedef regex_token_iterator<std::wstring::const_iterator> wsregex_token_iterator;
-#endif
-
-template <class charT, class traits>
-inline regex_token_iterator<const charT*, charT, traits> make_regex_token_iterator(const charT* p, const basic_regex<charT, traits>& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return regex_token_iterator<const charT*, charT, traits>(p, p+traits::length(p), e, submatch, m);
-}
-template <class charT, class traits, class ST, class SA>
-inline regex_token_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string<charT, ST, SA>& p, const basic_regex<charT, traits>& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return regex_token_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m);
-}
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-template <class charT, class traits, std::size_t N>
-inline regex_token_iterator<const charT*, charT, traits> make_regex_token_iterator(const charT* p, const basic_regex<charT, traits>& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return regex_token_iterator<const charT*, charT, traits>(p, p+traits::length(p), e, submatch, m);
-}
-template <class charT, class traits, class ST, class SA, std::size_t N>
-inline regex_token_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string<charT, ST, SA>& p, const basic_regex<charT, traits>& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return regex_token_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m);
-}
-#endif
-template <class charT, class traits>
-inline regex_token_iterator<const charT*, charT, traits> make_regex_token_iterator(const charT* p, const basic_regex<charT, traits>& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return regex_token_iterator<const charT*, charT, traits>(p, p+traits::length(p), e, submatch, m);
-}
-template <class charT, class traits, class ST, class SA>
-inline regex_token_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string<charT, ST, SA>& p, const basic_regex<charT, traits>& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return regex_token_iterator<typename std::basic_string<charT, ST, SA>::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m);
-}
-
-#if BOOST_WORKAROUND(BOOST_MSVC, > 1300)
-#  pragma warning(pop)
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace boost
-
-#endif // BOOST_REGEX_V4_REGEX_TOKEN_ITERATOR_HPP
-
-
-
-
diff --git a/SRC/Boost/boost/regex/v4/regex_traits.hpp b/SRC/Boost/boost/regex/v4/regex_traits.hpp
deleted file mode 100755
index fe89259..0000000
--- a/SRC/Boost/boost/regex/v4/regex_traits.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- *
- * Copyright (c) 2003
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_traits.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares regular expression traits classes.
-  */
-
-#ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED
-#define BOOST_REGEX_TRAITS_HPP_INCLUDED
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#include <boost/regex/config.hpp>
-#endif
-#ifndef BOOST_REGEX_WORKAROUND_HPP
-#include <boost/regex/v4/regex_workaround.hpp>
-#endif
-#ifndef BOOST_REGEX_SYNTAX_TYPE_HPP
-#include <boost/regex/v4/syntax_type.hpp>
-#endif
-#ifndef BOOST_REGEX_ERROR_TYPE_HPP
-#include <boost/regex/v4/error_type.hpp>
-#endif
-#ifndef BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED
-#include <boost/regex/v4/regex_traits_defaults.hpp>
-#endif
-#ifndef BOOST_NO_STD_LOCALE
-#  ifndef BOOST_CPP_REGEX_TRAITS_HPP_INCLUDED
-#     include <boost/regex/v4/cpp_regex_traits.hpp>
-#  endif
-#endif
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560)
-#  ifndef BOOST_C_REGEX_TRAITS_HPP_INCLUDED
-#     include <boost/regex/v4/c_regex_traits.hpp>
-#  endif
-#endif
-#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
-#  ifndef BOOST_W32_REGEX_TRAITS_HPP_INCLUDED
-#     include <boost/regex/v4/w32_regex_traits.hpp>
-#  endif
-#endif
-#ifndef BOOST_REGEX_FWD_HPP_INCLUDED
-#include <boost/regex_fwd.hpp>
-#endif
-
-#include "boost/mpl/has_xxx.hpp"
-#include <boost/static_assert.hpp>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-namespace boost{
-
-template <class charT, class implementationT >
-struct regex_traits : public implementationT
-{
-   regex_traits() : implementationT() {}
-};
-
-//
-// class regex_traits_wrapper.
-// this is what our implementation will actually store;
-// it provides default implementations of the "optional"
-// interfaces that we support, in addition to the
-// required "standard" ones:
-//
-namespace re_detail{
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__HP_aCC, < 60000)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(boost_extensions_tag)
-#else
-template<class T>
-struct has_boost_extensions_tag
-{
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-#endif
-
-template <class BaseT>
-struct default_wrapper : public BaseT
-{
-   typedef typename BaseT::char_type char_type;
-   std::string error_string(::boost::regex_constants::error_type e)const
-   {
-      return ::boost::re_detail::get_default_error_string(e);
-   }
-   ::boost::regex_constants::syntax_type syntax_type(char_type c)const
-   {
-      return ((c & 0x7f) == c) ? get_default_syntax_type(static_cast<char>(c)) : ::boost::regex_constants::syntax_char;
-   }
-   ::boost::regex_constants::escape_syntax_type escape_syntax_type(char_type c)const
-   {
-      return ((c & 0x7f) == c) ? get_default_escape_syntax_type(static_cast<char>(c)) : ::boost::regex_constants::escape_type_identity;
-   }
-   int toi(const char_type*& p1, const char_type* p2, int radix)const
-   {
-      return ::boost::re_detail::global_toi(p1, p2, radix, *this);
-   }
-   char_type translate(char_type c, bool icase)const
-   {
-      return (icase ? this->translate_nocase(c) : this->translate(c));
-   }
-   char_type translate(char_type c)const
-   {
-      return BaseT::translate(c);
-   }
-   char_type tolower(char_type c)const
-   {
-      return ::boost::re_detail::global_lower(c);
-   }
-   char_type toupper(char_type c)const
-   {
-      return ::boost::re_detail::global_upper(c);
-   }
-};
-
-template <class BaseT, bool has_extensions>
-struct compute_wrapper_base
-{
-   typedef BaseT type;
-};
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__HP_aCC, < 60000)
-template <class BaseT>
-struct compute_wrapper_base<BaseT, false>
-{
-   typedef default_wrapper<BaseT> type;
-};
-#else
-template <>
-struct compute_wrapper_base<c_regex_traits<char>, false>
-{
-   typedef default_wrapper<c_regex_traits<char> > type;
-};
-#ifndef BOOST_NO_WREGEX
-template <>
-struct compute_wrapper_base<c_regex_traits<wchar_t>, false>
-{
-   typedef default_wrapper<c_regex_traits<wchar_t> > type;
-};
-#endif
-#endif
-
-} // namespace re_detail
-
-template <class BaseT>
-struct regex_traits_wrapper 
-   : public ::boost::re_detail::compute_wrapper_base<
-               BaseT, 
-               ::boost::re_detail::has_boost_extensions_tag<BaseT>::value
-            >::type
-{
-   regex_traits_wrapper(){}
-private:
-   regex_traits_wrapper(const regex_traits_wrapper&);
-   regex_traits_wrapper& operator=(const regex_traits_wrapper&);
-};
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // include
-
diff --git a/SRC/Boost/boost/regex/v4/regex_traits_defaults.hpp b/SRC/Boost/boost/regex/v4/regex_traits_defaults.hpp
deleted file mode 100755
index e1e9804..0000000
--- a/SRC/Boost/boost/regex/v4/regex_traits_defaults.hpp
+++ /dev/null
@@ -1,371 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_traits_defaults.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares API's for access to regex_traits default properties.
-  */
-
-#ifndef BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED
-#define BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifndef BOOST_REGEX_SYNTAX_TYPE_HPP
-#include <boost/regex/v4/syntax_type.hpp>
-#endif
-#ifndef BOOST_REGEX_ERROR_TYPE_HPP
-#include <boost/regex/v4/error_type.hpp>
-#endif
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{
-   using ::strlen;
-}
-#endif
-
-namespace boost{ namespace re_detail{
-
-
-//
-// helpers to suppress warnings:
-//
-template <class charT>
-inline bool is_extended(charT c)
-{ return c > 256; }
-inline bool is_extended(char)
-{ return false; }
-
-
-BOOST_REGEX_DECL const char* BOOST_REGEX_CALL get_default_syntax(regex_constants::syntax_type n);
-BOOST_REGEX_DECL const char* BOOST_REGEX_CALL get_default_error_string(regex_constants::error_type n);
-BOOST_REGEX_DECL regex_constants::syntax_type BOOST_REGEX_CALL get_default_syntax_type(char c);
-BOOST_REGEX_DECL regex_constants::escape_syntax_type BOOST_REGEX_CALL get_default_escape_syntax_type(char c);
-
-// is charT c a combining character?
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL is_combining_implementation(uint_least16_t s);
-
-template <class charT>
-inline bool is_combining(charT c)
-{
-   return (c <= static_cast<charT>(0)) ? false : ((c >= static_cast<charT>((std::numeric_limits<uint_least16_t>::max)())) ? false : is_combining_implementation(static_cast<unsigned short>(c)));
-}
-template <>
-inline bool is_combining<char>(char)
-{
-   return false;
-}
-template <>
-inline bool is_combining<signed char>(signed char)
-{
-   return false;
-}
-template <>
-inline bool is_combining<unsigned char>(unsigned char)
-{
-   return false;
-}
-#if !defined(__hpux) && !defined(__WINSCW__) // can't use WCHAR_MAX/MIN in pp-directives
-#ifdef _MSC_VER 
-template<>
-inline bool is_combining<wchar_t>(wchar_t c)
-{
-   return is_combining_implementation(static_cast<unsigned short>(c));
-}
-#elif !defined(__DECCXX) && !defined(__osf__) && !defined(__OSF__) && defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-#if defined(WCHAR_MAX) && (WCHAR_MAX <= USHRT_MAX)
-template<>
-inline bool is_combining<wchar_t>(wchar_t c)
-{
-   return is_combining_implementation(static_cast<unsigned short>(c));
-}
-#else
-template<>
-inline bool is_combining<wchar_t>(wchar_t c)
-{
-   return (c >= (std::numeric_limits<uint_least16_t>::max)()) ? false : is_combining_implementation(static_cast<unsigned short>(c));
-}
-#endif
-#endif
-#endif
-
-//
-// is a charT c a line separator?
-//
-template <class charT>
-inline bool is_separator(charT c)
-{
-   return BOOST_REGEX_MAKE_BOOL(
-      (c == static_cast<charT>('\n')) 
-      || (c == static_cast<charT>('\r')) 
-      || (c == static_cast<charT>('\f')) 
-      || (static_cast<boost::uint16_t>(c) == 0x2028u) 
-      || (static_cast<boost::uint16_t>(c) == 0x2029u) 
-      || (static_cast<boost::uint16_t>(c) == 0x85u));
-}
-template <>
-inline bool is_separator<char>(char c)
-{
-   return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r') || (c == '\f'));
-}
-
-//
-// get a default collating element:
-//
-BOOST_REGEX_DECL std::string BOOST_REGEX_CALL lookup_default_collate_name(const std::string& name);
-
-//
-// get the state_id of a character clasification, the individual
-// traits classes then transform that state_id into a bitmask:
-//
-template <class charT>
-struct character_pointer_range
-{
-   const charT* p1;
-   const charT* p2;
-
-   bool operator < (const character_pointer_range& r)const
-   {
-      return std::lexicographical_compare(p1, p2, r.p1, r.p2);
-   }
-   bool operator == (const character_pointer_range& r)const
-   {
-      // Not only do we check that the ranges are of equal size before
-      // calling std::equal, but there is no other algorithm available:
-      // not even a non-standard MS one.  So forward to unchecked_equal
-      // in the MS case.
-      return ((p2 - p1) == (r.p2 - r.p1)) && re_detail::equal(p1, p2, r.p1);
-   }
-};
-template <class charT>
-int get_default_class_id(const charT* p1, const charT* p2)
-{
-   static const charT data[73] = {
-      'a', 'l', 'n', 'u', 'm',
-      'a', 'l', 'p', 'h', 'a',
-      'b', 'l', 'a', 'n', 'k',
-      'c', 'n', 't', 'r', 'l',
-      'd', 'i', 'g', 'i', 't',
-      'g', 'r', 'a', 'p', 'h',
-      'l', 'o', 'w', 'e', 'r',
-      'p', 'r', 'i', 'n', 't',
-      'p', 'u', 'n', 'c', 't',
-      's', 'p', 'a', 'c', 'e',
-      'u', 'n', 'i', 'c', 'o', 'd', 'e',
-      'u', 'p', 'p', 'e', 'r',
-      'v',
-      'w', 'o', 'r', 'd',
-      'x', 'd', 'i', 'g', 'i', 't',
-   };
-
-   static const character_pointer_range<charT> ranges[21] = 
-   {
-      {data+0, data+5,}, // alnum
-      {data+5, data+10,}, // alpha
-      {data+10, data+15,}, // blank
-      {data+15, data+20,}, // cntrl
-      {data+20, data+21,}, // d
-      {data+20, data+25,}, // digit
-      {data+25, data+30,}, // graph
-      {data+29, data+30,}, // h
-      {data+30, data+31,}, // l
-      {data+30, data+35,}, // lower
-      {data+35, data+40,}, // print
-      {data+40, data+45,}, // punct
-      {data+45, data+46,}, // s
-      {data+45, data+50,}, // space
-      {data+57, data+58,}, // u
-      {data+50, data+57,}, // unicode
-      {data+57, data+62,}, // upper
-      {data+62, data+63,}, // v
-      {data+63, data+64,}, // w
-      {data+63, data+67,}, // word
-      {data+67, data+73,}, // xdigit
-   };
-   static const character_pointer_range<charT>* ranges_begin = ranges;
-   static const character_pointer_range<charT>* ranges_end = ranges + (sizeof(ranges)/sizeof(ranges[0]));
-   
-   character_pointer_range<charT> t = { p1, p2, };
-   const character_pointer_range<charT>* p = std::lower_bound(ranges_begin, ranges_end, t);
-   if((p != ranges_end) && (t == *p))
-      return static_cast<int>(p - ranges);
-   return -1;
-}
-
-//
-// helper functions:
-//
-template <class charT>
-std::ptrdiff_t global_length(const charT* p)
-{
-   std::ptrdiff_t n = 0;
-   while(*p)
-   {
-      ++p;
-      ++n;
-   }
-   return n;
-}
-template<>
-inline std::ptrdiff_t global_length<char>(const char* p)
-{
-   return (std::strlen)(p);
-}
-#ifndef BOOST_NO_WREGEX
-template<>
-inline std::ptrdiff_t global_length<wchar_t>(const wchar_t* p)
-{
-   return (std::wcslen)(p);
-}
-#endif
-template <class charT>
-inline charT BOOST_REGEX_CALL global_lower(charT c)
-{
-   return c;
-}
-template <class charT>
-inline charT BOOST_REGEX_CALL global_upper(charT c)
-{
-   return c;
-}
-
-BOOST_REGEX_DECL char BOOST_REGEX_CALL do_global_lower(char c);
-BOOST_REGEX_DECL char BOOST_REGEX_CALL do_global_upper(char c);
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL do_global_lower(wchar_t c);
-BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL do_global_upper(wchar_t c);
-#endif
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL do_global_lower(unsigned short c);
-BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL do_global_upper(unsigned short c);
-#endif
-//
-// This sucks: declare template specialisations of global_lower/global_upper
-// that just forward to the non-template implementation functions.  We do
-// this because there is one compiler (Compaq Tru64 C++) that doesn't seem
-// to differentiate between templates and non-template overloads....
-// what's more, the primary template, plus all overloads have to be
-// defined in the same translation unit (if one is inline they all must be)
-// otherwise the "local template instantiation" compiler option can pick
-// the wrong instantiation when linking:
-//
-template<> inline char BOOST_REGEX_CALL global_lower<char>(char c){ return do_global_lower(c); }
-template<> inline char BOOST_REGEX_CALL global_upper<char>(char c){ return do_global_upper(c); }
-#ifndef BOOST_NO_WREGEX
-template<> inline wchar_t BOOST_REGEX_CALL global_lower<wchar_t>(wchar_t c){ return do_global_lower(c); }
-template<> inline wchar_t BOOST_REGEX_CALL global_upper<wchar_t>(wchar_t c){ return do_global_upper(c); }
-#endif
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-template<> inline unsigned short BOOST_REGEX_CALL global_lower<unsigned short>(unsigned short c){ return do_global_lower(c); }
-template<> inline unsigned short BOOST_REGEX_CALL global_upper<unsigned short>(unsigned short c){ return do_global_upper(c); }
-#endif
-
-template <class charT>
-int global_value(charT c)
-{
-   static const charT zero = '0';
-   static const charT nine = '9';
-   static const charT a = 'a';
-   static const charT f = 'f';
-   static const charT A = 'A';
-   static const charT F = 'F';
-
-   if(c > f) return -1;
-   if(c >= a) return 10 + (c - a);
-   if(c > F) return -1;
-   if(c >= A) return 10 + (c - A);
-   if(c > nine) return -1;
-   if(c >= zero) return c - zero;
-   return -1;
-}
-template <class charT, class traits>
-int global_toi(const charT*& p1, const charT* p2, int radix, const traits& t)
-{
-   (void)t; // warning suppression
-   int next_value = t.value(*p1, radix);
-   if((p1 == p2) || (next_value < 0) || (next_value >= radix))
-      return -1;
-   int result = 0;
-   while(p1 != p2)
-   {
-      next_value = t.value(*p1, radix);
-      if((next_value < 0) || (next_value >= radix))
-         break;
-      result *= radix;
-      result += next_value;
-      ++p1;
-   }
-   return result;
-}
-
-template <class charT>
-inline const charT* get_escape_R_string()
-{
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable:4309 4245)
-#endif
-   static const charT e1[] = { '(', '?', '>', '\x0D', '\x0A', '?', 
-      '|', '[', '\x0A', '\x0B', '\x0C', '\x85', '\\', 'x', '{', '2', '0', '2', '8', '}', 
-                '\\', 'x', '{', '2', '0', '2', '9', '}', ']', ')', '\0' };
-   static const charT e2[] = { '(', '?', '>', '\x0D', '\x0A', '?', 
-      '|', '[', '\x0A', '\x0B', '\x0C', '\x85', ']', ')', '\0' };
-
-   charT c = static_cast<charT>(0x2029u);
-   bool b = (static_cast<unsigned>(c) == 0x2029u);
-   
-   return (b ? e1 : e2);
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-}
-
-template <>
-inline const char* get_escape_R_string<char>()
-{
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable:4309)
-#endif
-   static const char e2[] = { '(', '?', '>', '\x0D', '\x0A', '?', 
-      '|', '[', '\x0A', '\x0B', '\x0C', '\x85', ']', ')', '\0' };
-   return e2;
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-}
-
-} // re_detail
-} // boost
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/regex/v4/regex_workaround.hpp b/SRC/Boost/boost/regex/v4/regex_workaround.hpp
deleted file mode 100755
index 8253177..0000000
--- a/SRC/Boost/boost/regex/v4/regex_workaround.hpp
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2005
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_workarounds.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares Misc workarounds.
-  */
-
-#ifndef BOOST_REGEX_WORKAROUND_HPP
-#define BOOST_REGEX_WORKAROUND_HPP
-
-
-#include <new>
-#include <cstring>
-#include <cstdlib>
-#include <cstddef>
-#include <cassert>
-#include <cstdio>
-#include <climits>
-#include <string>
-#include <stdexcept>
-#include <iterator>
-#include <algorithm>
-#include <iosfwd>
-#include <vector>
-#include <map>
-#include <boost/limits.hpp>
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/scoped_ptr.hpp>
-#include <boost/scoped_array.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/mpl/bool_fwd.hpp>
-#ifndef BOOST_NO_STD_LOCALE
-#   include <locale>
-#endif
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-   using ::sprintf; using ::strcpy; using ::strcat; using ::strlen;
-}
-#endif
-
-namespace boost{ namespace re_detail{
-#ifdef BOOST_NO_STD_DISTANCE
-template <class T>
-std::ptrdiff_t distance(const T& x, const T& y)
-{ return y - x; }
-#else
-using std::distance;
-#endif
-}}
-
-
-#ifdef BOOST_REGEX_NO_BOOL
-#  define BOOST_REGEX_MAKE_BOOL(x) static_cast<bool>((x) ? true : false)
-#else
-#  define BOOST_REGEX_MAKE_BOOL(x) static_cast<bool>(x)
-#endif
-
-/*****************************************************************************
- *
- *  Fix broken broken namespace support:
- *
- ****************************************************************************/
-
-#if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus)
-
-namespace std{
-   using ::ptrdiff_t;
-   using ::size_t;
-   using ::abs;
-   using ::memset;
-   using ::memcpy;
-}
-
-#endif
-
-/*****************************************************************************
- *
- *  helper functions pointer_construct/pointer_destroy:
- *
- ****************************************************************************/
-
-#ifdef __cplusplus
-namespace boost{ namespace re_detail{
-
-#ifdef BOOST_MSVC
-#pragma warning (push)
-#pragma warning (disable : 4100)
-#endif
-
-template <class T>
-inline void pointer_destroy(T* p)
-{ p->~T(); (void)p; }
-
-#ifdef BOOST_MSVC
-#pragma warning (pop)
-#endif
-
-template <class T>
-inline void pointer_construct(T* p, const T& t)
-{ new (p) T(t); }
-
-}} // namespaces
-#endif
-
-/*****************************************************************************
- *
- *  helper function copy:
- *
- ****************************************************************************/
-
-#ifdef __cplusplus
-namespace boost{ namespace re_detail{
-#if BOOST_WORKAROUND(BOOST_MSVC,>=1400) && BOOST_WORKAROUND(BOOST_MSVC, <1600) && defined(_CPPLIB_VER) && defined(BOOST_DINKUMWARE_STDLIB) && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))
-   //
-   // MSVC 8 will either emit warnings or else refuse to compile
-   // code that makes perfectly legitimate use of std::copy, when
-   // the OutputIterator type is a user-defined class (apparently all user 
-   // defined iterators are "unsafe").  This code works around that:
-   //
-   template<class InputIterator, class OutputIterator>
-   inline OutputIterator copy(
-      InputIterator first, 
-      InputIterator last, 
-      OutputIterator dest
-   )
-   {
-      return stdext::unchecked_copy(first, last, dest);
-   }
-   template<class InputIterator1, class InputIterator2>
-   inline bool equal(
-      InputIterator1 first, 
-      InputIterator1 last, 
-      InputIterator2 with
-   )
-   {
-      return stdext::unchecked_equal(first, last, with);
-   }
-#elif BOOST_WORKAROUND(BOOST_MSVC, > 1500)
-   //
-   // MSVC 10 will either emit warnings or else refuse to compile
-   // code that makes perfectly legitimate use of std::copy, when
-   // the OutputIterator type is a user-defined class (apparently all user 
-   // defined iterators are "unsafe").  What's more Microsoft have removed their
-   // non-standard "unchecked" versions, even though their still in the MS
-   // documentation!! Work around this as best we can: 
-   //
-   template<class InputIterator, class OutputIterator>
-   inline OutputIterator copy(
-      InputIterator first, 
-      InputIterator last, 
-      OutputIterator dest
-   )
-   {
-      while(first != last)
-         *dest++ = *first++;
-      return dest;
-   }
-   template<class InputIterator1, class InputIterator2>
-   inline bool equal(
-      InputIterator1 first, 
-      InputIterator1 last, 
-      InputIterator2 with
-   )
-   {
-      while(first != last)
-         if(*first++ != *with++) return false;
-      return true;
-   }
-#else 
-   using std::copy; 
-   using std::equal; 
-#endif 
-#if BOOST_WORKAROUND(BOOST_MSVC,>=1400) && defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__ 
-
-   // use safe versions of strcpy etc:
-   using ::strcpy_s;
-   using ::strcat_s;
-#else
-   inline std::size_t strcpy_s(
-      char *strDestination,
-      std::size_t sizeInBytes,
-      const char *strSource 
-   )
-   {
-      if(std::strlen(strSource)+1 > sizeInBytes)
-         return 1;
-      std::strcpy(strDestination, strSource);
-      return 0;
-   }
-   inline std::size_t strcat_s(
-      char *strDestination,
-      std::size_t sizeInBytes,
-      const char *strSource 
-   )
-   {
-      if(std::strlen(strSource) + std::strlen(strDestination) + 1 > sizeInBytes)
-         return 1;
-      std::strcat(strDestination, strSource);
-      return 0;
-   }
-
-#endif
-
-   inline void overflow_error_if_not_zero(std::size_t i)
-   {
-      if(i)
-      {
-         std::overflow_error e("String buffer too small");
-         boost::throw_exception(e);
-      }
-   }
-
-}} // namespaces
-
-#endif // __cplusplus
-
-#endif // include guard
-
diff --git a/SRC/Boost/boost/regex/v4/states.hpp b/SRC/Boost/boost/regex/v4/states.hpp
deleted file mode 100755
index 2ec1028..0000000
--- a/SRC/Boost/boost/regex/v4/states.hpp
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         states.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares internal state machine structures.
-  */
-
-#ifndef BOOST_REGEX_V4_STATES_HPP
-#define BOOST_REGEX_V4_STATES_HPP
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-namespace boost{
-namespace re_detail{
-
-/*** mask_type *******************************************************
-Whenever we have a choice of two alternatives, we use an array of bytes
-to indicate which of the two alternatives it is possible to take for any
-given input character.  If mask_take is set, then we can take the next 
-state, and if mask_skip is set then we can take the alternative.
-***********************************************************************/
-enum mask_type
-{
-   mask_take = 1,
-   mask_skip = 2,
-   mask_init = 4,
-   mask_any = mask_skip | mask_take,
-   mask_all = mask_any
-};
-
-/*** helpers **********************************************************
-These helpers let us use function overload resolution to detect whether
-we have narrow or wide character strings:
-***********************************************************************/
-struct _narrow_type{};
-struct _wide_type{};
-template <class charT> struct is_byte;
-template<>             struct is_byte<char>         { typedef _narrow_type width_type; };
-template<>             struct is_byte<unsigned char>{ typedef _narrow_type width_type; };
-template<>             struct is_byte<signed char>  { typedef _narrow_type width_type; };
-template <class charT> struct is_byte               { typedef _wide_type width_type; };
-
-/*** enum syntax_element_type ******************************************
-Every record in the state machine falls into one of the following types:
-***********************************************************************/
-enum syntax_element_type
-{
-   // start of a marked sub-expression, or perl-style (?...) extension
-   syntax_element_startmark = 0,
-   // end of a marked sub-expression, or perl-style (?...) extension
-   syntax_element_endmark = syntax_element_startmark + 1,
-   // any sequence of literal characters
-   syntax_element_literal = syntax_element_endmark + 1,
-   // start of line assertion: ^
-   syntax_element_start_line = syntax_element_literal + 1,
-   // end of line assertion $
-   syntax_element_end_line = syntax_element_start_line + 1,
-   // match any character: .
-   syntax_element_wild = syntax_element_end_line + 1,
-   // end of expression: we have a match when we get here
-   syntax_element_match = syntax_element_wild + 1,
-   // perl style word boundary: \b
-   syntax_element_word_boundary = syntax_element_match + 1,
-   // perl style within word boundary: \B
-   syntax_element_within_word = syntax_element_word_boundary + 1,
-   // start of word assertion: \<
-   syntax_element_word_start = syntax_element_within_word + 1,
-   // end of word assertion: \>
-   syntax_element_word_end = syntax_element_word_start + 1,
-   // start of buffer assertion: \`
-   syntax_element_buffer_start = syntax_element_word_end + 1,
-   // end of buffer assertion: \'
-   syntax_element_buffer_end = syntax_element_buffer_start + 1,
-   // backreference to previously matched sub-expression
-   syntax_element_backref = syntax_element_buffer_end + 1,
-   // either a wide character set [..] or one with multicharacter collating elements:
-   syntax_element_long_set = syntax_element_backref + 1,
-   // narrow character set: [...]
-   syntax_element_set = syntax_element_long_set + 1,
-   // jump to a new state in the machine:
-   syntax_element_jump = syntax_element_set + 1,
-   // choose between two production states:
-   syntax_element_alt = syntax_element_jump + 1,
-   // a repeat
-   syntax_element_rep = syntax_element_alt + 1,
-   // match a combining character sequence
-   syntax_element_combining = syntax_element_rep + 1,
-   // perl style soft buffer end: \z
-   syntax_element_soft_buffer_end = syntax_element_combining + 1,
-   // perl style continuation: \G
-   syntax_element_restart_continue = syntax_element_soft_buffer_end + 1,
-   // single character repeats:
-   syntax_element_dot_rep = syntax_element_restart_continue + 1,
-   syntax_element_char_rep = syntax_element_dot_rep + 1,
-   syntax_element_short_set_rep = syntax_element_char_rep + 1,
-   syntax_element_long_set_rep = syntax_element_short_set_rep + 1,
-   // a backstep for lookbehind repeats:
-   syntax_element_backstep = syntax_element_long_set_rep + 1,
-   // an assertion that a mark was matched:
-   syntax_element_assert_backref = syntax_element_backstep + 1,
-   syntax_element_toggle_case = syntax_element_assert_backref + 1,
-   // a recursive expression:
-   syntax_element_recurse = syntax_element_toggle_case + 1
-};
-
-#ifdef BOOST_REGEX_DEBUG
-// dwa 09/26/00 - This is needed to suppress warnings about an ambiguous conversion
-std::ostream& operator<<(std::ostream&, syntax_element_type);
-#endif
-
-struct re_syntax_base;
-
-/*** union offset_type ************************************************
-Points to another state in the machine.  During machine construction
-we use integral offsets, but these are converted to pointers before
-execution of the machine.
-***********************************************************************/
-union offset_type
-{
-   re_syntax_base*   p;
-   std::ptrdiff_t    i;
-};
-
-/*** struct re_syntax_base ********************************************
-Base class for all states in the machine.
-***********************************************************************/
-struct re_syntax_base
-{
-   syntax_element_type   type;         // what kind of state this is
-   offset_type           next;         // next state in the machine
-};
-
-/*** struct re_brace **************************************************
-A marked parenthesis.
-***********************************************************************/
-struct re_brace : public re_syntax_base
-{
-   // The index to match, can be zero (don't mark the sub-expression)
-   // or negative (for perl style (?...) extentions):
-   int index;
-   bool icase;
-};
-
-/*** struct re_dot **************************************************
-Match anything.
-***********************************************************************/
-enum
-{
-   dont_care = 1,
-   force_not_newline = 0,
-   force_newline = 2,
-
-   test_not_newline = 2,
-   test_newline = 3
-};
-struct re_dot : public re_syntax_base
-{
-   unsigned char mask;
-};
-
-/*** struct re_literal ************************************************
-A string of literals, following this structure will be an 
-array of characters: charT[length]
-***********************************************************************/
-struct re_literal : public re_syntax_base
-{
-   unsigned int length;
-};
-
-/*** struct re_case ************************************************
-Indicates whether we are moving to a case insensive block or not
-***********************************************************************/
-struct re_case : public re_syntax_base
-{
-   bool icase;
-};
-
-/*** struct re_set_long ***********************************************
-A wide character set of characters, following this structure will be
-an array of type charT:
-First csingles null-terminated strings
-Then 2 * cranges NULL terminated strings
-Then cequivalents NULL terminated strings
-***********************************************************************/
-template <class mask_type>
-struct re_set_long : public re_syntax_base
-{
-   unsigned int            csingles, cranges, cequivalents;
-   mask_type               cclasses;
-   mask_type               cnclasses;
-   bool                    isnot;
-   bool                    singleton;
-};
-
-/*** struct re_set ****************************************************
-A set of narrow-characters, matches any of _map which is none-zero
-***********************************************************************/
-struct re_set : public re_syntax_base
-{
-   unsigned char _map[1 << CHAR_BIT];
-};
-
-/*** struct re_jump ***************************************************
-Jump to a new location in the machine (not next).
-***********************************************************************/
-struct re_jump : public re_syntax_base
-{
-   offset_type     alt;                 // location to jump to
-};
-
-/*** struct re_alt ***************************************************
-Jump to a new location in the machine (possibly next).
-***********************************************************************/
-struct re_alt : public re_jump
-{
-   unsigned char   _map[1 << CHAR_BIT]; // which characters can take the jump
-   unsigned int    can_be_null;         // true if we match a NULL string
-};
-
-/*** struct re_repeat *************************************************
-Repeat a section of the machine
-***********************************************************************/
-struct re_repeat : public re_alt
-{
-   std::size_t   min, max;  // min and max allowable repeats
-   int           state_id;        // Unique identifier for this repeat
-   bool          leading;   // True if this repeat is at the start of the machine (lets us optimize some searches)
-   bool          greedy;    // True if this is a greedy repeat
-};
-
-/*** struct re_recurse ************************************************
-Recurse to a particular subexpression.
-**********************************************************************/
-struct re_recurse : public re_jump
-{
-   int state_id;             // identifier of first nested repeat within the recursion.
-};
-
-/*** enum re_jump_size_type *******************************************
-Provides compiled size of re_jump structure (allowing for trailing alignment).
-We provide this so we know how manybytes to insert when constructing the machine
-(The value of padding_mask is defined in regex_raw_buffer.hpp).
-***********************************************************************/
-enum re_jump_size_type
-{
-   re_jump_size = (sizeof(re_jump) + padding_mask) & ~(padding_mask),
-   re_repeater_size = (sizeof(re_repeat) + padding_mask) & ~(padding_mask),
-   re_alt_size = (sizeof(re_alt) + padding_mask) & ~(padding_mask)
-};
-
-/*** proc re_is_set_member *********************************************
-Forward declaration: we'll need this one later...
-***********************************************************************/
-
-template<class charT, class traits>
-struct regex_data;
-
-template <class iterator, class charT, class traits_type, class char_classT>
-iterator BOOST_REGEX_CALL re_is_set_member(iterator next, 
-                          iterator last, 
-                          const re_set_long<char_classT>* set_, 
-                          const regex_data<charT, traits_type>& e, bool icase);
-
-} // namespace re_detail
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
-
diff --git a/SRC/Boost/boost/regex/v4/sub_match.hpp b/SRC/Boost/boost/regex/v4/sub_match.hpp
deleted file mode 100755
index 4331671..0000000
--- a/SRC/Boost/boost/regex/v4/sub_match.hpp
+++ /dev/null
@@ -1,512 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         sub_match.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares template class sub_match.
-  */
-
-#ifndef BOOST_REGEX_V4_SUB_MATCH_HPP
-#define BOOST_REGEX_V4_SUB_MATCH_HPP
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-namespace boost{
-
-template <class BidiIterator>
-struct sub_match : public std::pair<BidiIterator, BidiIterator>
-{
-   typedef typename re_detail::regex_iterator_traits<BidiIterator>::value_type       value_type;
-#if defined(BOOST_NO_STD_ITERATOR_TRAITS) || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-   typedef          std::ptrdiff_t                                                   difference_type;
-#else
-   typedef typename re_detail::regex_iterator_traits<BidiIterator>::difference_type  difference_type;
-#endif
-   typedef          BidiIterator                                                     iterator_type;
-   typedef          BidiIterator                                                     iterator;
-   typedef          BidiIterator                                                     const_iterator;
-
-   bool matched;
-
-   sub_match() : std::pair<BidiIterator, BidiIterator>(), matched(false) {}
-   sub_match(BidiIterator i) : std::pair<BidiIterator, BidiIterator>(i, i), matched(false) {}
-#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\
-               && !BOOST_WORKAROUND(BOOST_MSVC, < 1310)\
-               && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551)\
-               && !BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
-   template <class T, class A>
-   operator std::basic_string<value_type, T, A> ()const
-   {
-      return matched ? std::basic_string<value_type, T, A>(this->first, this->second) : std::basic_string<value_type, T, A>();
-   }
-#else
-   operator std::basic_string<value_type> ()const
-   {
-      return str();
-   }
-#endif
-   difference_type BOOST_REGEX_CALL length()const
-   {
-      difference_type n = matched ? ::boost::re_detail::distance((BidiIterator)this->first, (BidiIterator)this->second) : 0;
-      return n;
-   }
-   std::basic_string<value_type> str()const
-   {
-      std::basic_string<value_type> result;
-      if(matched)
-      {
-         std::size_t len = ::boost::re_detail::distance((BidiIterator)this->first, (BidiIterator)this->second);
-         result.reserve(len);
-         BidiIterator i = this->first;
-         while(i != this->second)
-         {
-            result.append(1, *i);
-            ++i;
-         }
-      }
-      return result;
-   }
-   int compare(const sub_match& s)const
-   {
-      if(matched != s.matched)
-         return static_cast<int>(matched) - static_cast<int>(s.matched);
-      return str().compare(s.str());
-   }
-   int compare(const std::basic_string<value_type>& s)const
-   {
-      return str().compare(s);
-   }
-   int compare(const value_type* p)const
-   {
-      return str().compare(p);
-   }
-
-   bool operator==(const sub_match& that)const
-   { return compare(that) == 0; }
-   bool BOOST_REGEX_CALL operator !=(const sub_match& that)const
-   { return compare(that) != 0; }
-   bool operator<(const sub_match& that)const
-   { return compare(that) < 0; }
-   bool operator>(const sub_match& that)const
-   { return compare(that) > 0; }
-   bool operator<=(const sub_match& that)const
-   { return compare(that) <= 0; }
-   bool operator>=(const sub_match& that)const
-   { return compare(that) >= 0; }
-
-#ifdef BOOST_REGEX_MATCH_EXTRA
-   typedef std::vector<sub_match<BidiIterator> > capture_sequence_type;
-
-   const capture_sequence_type& captures()const
-   {
-      if(!m_captures) 
-         m_captures.reset(new capture_sequence_type());
-      return *m_captures;
-   }
-   //
-   // Private implementation API: DO NOT USE!
-   //
-   capture_sequence_type& get_captures()const
-   {
-      if(!m_captures) 
-         m_captures.reset(new capture_sequence_type());
-      return *m_captures;
-   }
-
-private:
-   mutable boost::scoped_ptr<capture_sequence_type> m_captures;
-public:
-
-#endif
-   sub_match(const sub_match& that, bool 
-#ifdef BOOST_REGEX_MATCH_EXTRA
-      deep_copy
-#endif
-      = true
-      ) 
-      : std::pair<BidiIterator, BidiIterator>(that), 
-        matched(that.matched) 
-   {
-#ifdef BOOST_REGEX_MATCH_EXTRA
-      if(that.m_captures)
-         if(deep_copy)
-            m_captures.reset(new capture_sequence_type(*(that.m_captures)));
-#endif
-   }
-   sub_match& operator=(const sub_match& that)
-   {
-      this->first = that.first;
-      this->second = that.second;
-      matched = that.matched;
-#ifdef BOOST_REGEX_MATCH_EXTRA
-      if(that.m_captures)
-         get_captures() = *(that.m_captures);
-#endif
-      return *this;
-   }
-
-
-#ifdef BOOST_OLD_REGEX_H
-   //
-   // the following are deprecated, do not use!!
-   //
-   operator int()const;
-   operator unsigned int()const;
-   operator short()const
-   {
-      return (short)(int)(*this);
-   }
-   operator unsigned short()const
-   {
-      return (unsigned short)(unsigned int)(*this);
-   }
-#endif
-};
-
-typedef sub_match<const char*> csub_match;
-typedef sub_match<std::string::const_iterator> ssub_match;
-#ifndef BOOST_NO_WREGEX
-typedef sub_match<const wchar_t*> wcsub_match;
-typedef sub_match<std::wstring::const_iterator> wssub_match;
-#endif
-
-// comparison to std::basic_string<> part 1:
-template <class RandomAccessIterator, class traits, class Allocator>
-inline bool operator == (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return s.compare(m.str()) == 0; }
-template <class RandomAccessIterator, class traits, class Allocator>
-inline bool operator != (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return s.compare(m.str()) != 0; }
-template <class RandomAccessIterator, class traits, class Allocator>
-inline bool operator < (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
-                 const sub_match<RandomAccessIterator>& m)
-{ return s.compare(m.str()) < 0; }
-template <class RandomAccessIterator, class traits, class Allocator>
-inline bool operator <= (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return s.compare(m.str()) <= 0; }
-template <class RandomAccessIterator, class traits, class Allocator>
-inline bool operator >= (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return s.compare(m.str()) >= 0; }
-template <class RandomAccessIterator, class traits, class Allocator>
-inline bool operator > (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
-                 const sub_match<RandomAccessIterator>& m)
-{ return s.compare(m.str()) > 0; }
-// comparison to std::basic_string<> part 2:
-template <class RandomAccessIterator, class traits, class Allocator>
-inline bool operator == (const sub_match<RandomAccessIterator>& m,
-                  const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
-{ return m.str().compare(s) == 0; }
-template <class RandomAccessIterator, class traits, class Allocator>
-inline bool operator != (const sub_match<RandomAccessIterator>& m,
-                  const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
-{ return m.str().compare(s) != 0; }
-template <class RandomAccessIterator, class traits, class Allocator>
-inline bool operator < (const sub_match<RandomAccessIterator>& m,
-                  const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
-{ return m.str().compare(s) < 0; }
-template <class RandomAccessIterator, class traits, class Allocator>
-inline bool operator > (const sub_match<RandomAccessIterator>& m,
-                  const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
-{ return m.str().compare(s) > 0; }
-template <class RandomAccessIterator, class traits, class Allocator>
-inline bool operator <= (const sub_match<RandomAccessIterator>& m,
-                  const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
-{ return m.str().compare(s) <= 0; }
-template <class RandomAccessIterator, class traits, class Allocator>
-inline bool operator >= (const sub_match<RandomAccessIterator>& m,
-                  const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
-{ return m.str().compare(s) >= 0; }
-// comparison to const charT* part 1:
-template <class RandomAccessIterator>
-inline bool operator == (const sub_match<RandomAccessIterator>& m,
-                  typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
-{ return m.str().compare(s) == 0; }
-template <class RandomAccessIterator>
-inline bool operator != (const sub_match<RandomAccessIterator>& m,
-                  typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
-{ return m.str().compare(s) != 0; }
-template <class RandomAccessIterator>
-inline bool operator > (const sub_match<RandomAccessIterator>& m,
-                  typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
-{ return m.str().compare(s) > 0; }
-template <class RandomAccessIterator>
-inline bool operator < (const sub_match<RandomAccessIterator>& m,
-                  typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
-{ return m.str().compare(s) < 0; }
-template <class RandomAccessIterator>
-inline bool operator >= (const sub_match<RandomAccessIterator>& m,
-                  typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
-{ return m.str().compare(s) >= 0; }
-template <class RandomAccessIterator>
-inline bool operator <= (const sub_match<RandomAccessIterator>& m,
-                  typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
-{ return m.str().compare(s) <= 0; }
-// comparison to const charT* part 2:
-template <class RandomAccessIterator>
-inline bool operator == (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return m.str().compare(s) == 0; }
-template <class RandomAccessIterator>
-inline bool operator != (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return m.str().compare(s) != 0; }
-template <class RandomAccessIterator>
-inline bool operator < (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return m.str().compare(s) > 0; }
-template <class RandomAccessIterator>
-inline bool operator > (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return m.str().compare(s) < 0; }
-template <class RandomAccessIterator>
-inline bool operator <= (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return m.str().compare(s) >= 0; }
-template <class RandomAccessIterator>
-inline bool operator >= (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return m.str().compare(s) <= 0; }
-
-// comparison to const charT& part 1:
-template <class RandomAccessIterator>
-inline bool operator == (const sub_match<RandomAccessIterator>& m,
-                  typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
-{ return m.str().compare(0, m.length(), &s, 1) == 0; }
-template <class RandomAccessIterator>
-inline bool operator != (const sub_match<RandomAccessIterator>& m,
-                  typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
-{ return m.str().compare(0, m.length(), &s, 1) != 0; }
-template <class RandomAccessIterator>
-inline bool operator > (const sub_match<RandomAccessIterator>& m,
-                  typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
-{ return m.str().compare(0, m.length(), &s, 1) > 0; }
-template <class RandomAccessIterator>
-inline bool operator < (const sub_match<RandomAccessIterator>& m,
-                  typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
-{ return m.str().compare(0, m.length(), &s, 1) < 0; }
-template <class RandomAccessIterator>
-inline bool operator >= (const sub_match<RandomAccessIterator>& m,
-                  typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
-{ return m.str().compare(0, m.length(), &s, 1) >= 0; }
-template <class RandomAccessIterator>
-inline bool operator <= (const sub_match<RandomAccessIterator>& m,
-                  typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
-{ return m.str().compare(0, m.length(), &s, 1) <= 0; }
-// comparison to const charT* part 2:
-template <class RandomAccessIterator>
-inline bool operator == (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return m.str().compare(0, m.length(), &s, 1) == 0; }
-template <class RandomAccessIterator>
-inline bool operator != (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return m.str().compare(0, m.length(), &s, 1) != 0; }
-template <class RandomAccessIterator>
-inline bool operator < (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return m.str().compare(0, m.length(), &s, 1) > 0; }
-template <class RandomAccessIterator>
-inline bool operator > (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return m.str().compare(0, m.length(), &s, 1) < 0; }
-template <class RandomAccessIterator>
-inline bool operator <= (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return m.str().compare(0, m.length(), &s, 1) >= 0; }
-template <class RandomAccessIterator>
-inline bool operator >= (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
-                  const sub_match<RandomAccessIterator>& m)
-{ return m.str().compare(0, m.length(), &s, 1) <= 0; }
-
-// addition operators:
-template <class RandomAccessIterator, class traits, class Allocator>
-inline std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator> 
-operator + (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
-                  const sub_match<RandomAccessIterator>& m)
-{
-   std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator> result;
-   result.reserve(s.size() + m.length() + 1);
-   return result.append(s).append(m.first, m.second);
-}
-template <class RandomAccessIterator, class traits, class Allocator>
-inline std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator> 
-operator + (const sub_match<RandomAccessIterator>& m,
-            const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
-{
-   std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator> result;
-   result.reserve(s.size() + m.length() + 1);
-   return result.append(m.first, m.second).append(s);
-}
-#if !(defined(__GNUC__) && defined(BOOST_NO_STD_LOCALE))
-template <class RandomAccessIterator>
-inline std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type> 
-operator + (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
-                  const sub_match<RandomAccessIterator>& m)
-{
-   std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type> result;
-   result.reserve(std::char_traits<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type>::length(s) + m.length() + 1);
-   return result.append(s).append(m.first, m.second);
-}
-template <class RandomAccessIterator>
-inline std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type> 
-operator + (const sub_match<RandomAccessIterator>& m,
-            typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const * s)
-{
-   std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type> result;
-   result.reserve(std::char_traits<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type>::length(s) + m.length() + 1);
-   return result.append(m.first, m.second).append(s);
-}
-#else
-// worwaround versions:
-template <class RandomAccessIterator>
-inline std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type> 
-operator + (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
-                  const sub_match<RandomAccessIterator>& m)
-{
-   return s + m.str();
-}
-template <class RandomAccessIterator>
-inline std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type> 
-operator + (const sub_match<RandomAccessIterator>& m,
-            typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const * s)
-{
-   return m.str() + s;
-}
-#endif
-template <class RandomAccessIterator>
-inline std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type> 
-operator + (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
-                  const sub_match<RandomAccessIterator>& m)
-{
-   std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type> result;
-   result.reserve(m.length() + 2);
-   return result.append(1, s).append(m.first, m.second);
-}
-template <class RandomAccessIterator>
-inline std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type> 
-operator + (const sub_match<RandomAccessIterator>& m,
-            typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
-{
-   std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type> result;
-   result.reserve(m.length() + 2);
-   return result.append(m.first, m.second).append(1, s);
-}
-template <class RandomAccessIterator>
-inline std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type> 
-operator + (const sub_match<RandomAccessIterator>& m1,
-            const sub_match<RandomAccessIterator>& m2)
-{
-   std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type> result;
-   result.reserve(m1.length() + m2.length() + 1);
-   return result.append(m1.first, m1.second).append(m2.first, m2.second);
-}
-#ifndef BOOST_NO_STD_LOCALE
-template <class charT, class traits, class RandomAccessIterator>
-std::basic_ostream<charT, traits>&
-   operator << (std::basic_ostream<charT, traits>& os,
-                const sub_match<RandomAccessIterator>& s)
-{
-   return (os << s.str());
-}
-#else
-template <class RandomAccessIterator>
-std::ostream& operator << (std::ostream& os,
-                           const sub_match<RandomAccessIterator>& s)
-{
-   return (os << s.str());
-}
-#endif
-
-#ifdef BOOST_OLD_REGEX_H
-namespace re_detail{
-template <class BidiIterator, class charT>
-int do_toi(BidiIterator i, BidiIterator j, char c, int radix)
-{
-   std::string s(i, j);
-   char* p;
-   int result = std::strtol(s.c_str(), &p, radix);
-   if(*p)raise_regex_exception("Bad sub-expression");
-   return result;
-}
-
-//
-// helper:
-template <class I, class charT>
-int do_toi(I& i, I j, charT c)
-{
-   int result = 0;
-   while((i != j) && (isdigit(*i)))
-   {
-      result = result*10 + (*i - '0');
-      ++i;
-   }
-   return result;
-}
-}
-
-
-template <class BidiIterator>
-sub_match<BidiIterator>::operator int()const
-{
-   BidiIterator i = first;
-   BidiIterator j = second;
-   if(i == j)raise_regex_exception("Bad sub-expression");
-   int neg = 1;
-   if((i != j) && (*i == '-'))
-   {
-      neg = -1;
-      ++i;
-   }
-   neg *= re_detail::do_toi(i, j, *i);
-   if(i != j)raise_regex_exception("Bad sub-expression");
-   return neg;
-}
-template <class BidiIterator>
-sub_match<BidiIterator>::operator unsigned int()const
-{
-   BidiIterator i = first;
-   BidiIterator j = second;
-   if(i == j)
-      raise_regex_exception("Bad sub-expression");
-   return re_detail::do_toi(i, j, *first);
-}
-#endif
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
diff --git a/SRC/Boost/boost/regex/v4/syntax_type.hpp b/SRC/Boost/boost/regex/v4/syntax_type.hpp
deleted file mode 100755
index e44c246..0000000
--- a/SRC/Boost/boost/regex/v4/syntax_type.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- *
- * Copyright (c) 2003
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         syntax_type.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares regular expression synatx type enumerator.
-  */
-
-#ifndef BOOST_REGEX_SYNTAX_TYPE_HPP
-#define BOOST_REGEX_SYNTAX_TYPE_HPP
-
-namespace boost{
-namespace regex_constants{
-
-typedef unsigned char syntax_type;
-
-//
-// values chosen are binary compatible with previous version:
-//
-static const syntax_type syntax_char = 0;
-static const syntax_type syntax_open_mark = 1;
-static const syntax_type syntax_close_mark = 2;
-static const syntax_type syntax_dollar = 3;
-static const syntax_type syntax_caret = 4;
-static const syntax_type syntax_dot = 5;
-static const syntax_type syntax_star = 6;
-static const syntax_type syntax_plus = 7;
-static const syntax_type syntax_question = 8;
-static const syntax_type syntax_open_set = 9;
-static const syntax_type syntax_close_set = 10;
-static const syntax_type syntax_or = 11;
-static const syntax_type syntax_escape = 12;
-static const syntax_type syntax_dash = 14;
-static const syntax_type syntax_open_brace = 15;
-static const syntax_type syntax_close_brace = 16;
-static const syntax_type syntax_digit = 17;
-static const syntax_type syntax_comma = 27;
-static const syntax_type syntax_equal = 37;
-static const syntax_type syntax_colon = 36;
-static const syntax_type syntax_not = 53;
-
-// extensions:
-
-static const syntax_type syntax_hash = 13;
-static const syntax_type syntax_newline = 26;
-
-// escapes:
-
-typedef syntax_type escape_syntax_type;
-
-static const escape_syntax_type escape_type_word_assert = 18;
-static const escape_syntax_type escape_type_not_word_assert = 19;
-static const escape_syntax_type escape_type_control_f = 29;
-static const escape_syntax_type escape_type_control_n = 30;
-static const escape_syntax_type escape_type_control_r = 31;
-static const escape_syntax_type escape_type_control_t = 32;
-static const escape_syntax_type escape_type_control_v = 33;
-static const escape_syntax_type escape_type_ascii_control = 35;
-static const escape_syntax_type escape_type_hex = 34;
-static const escape_syntax_type escape_type_unicode = 0; // not used
-static const escape_syntax_type escape_type_identity = 0; // not used
-static const escape_syntax_type escape_type_backref = syntax_digit;
-static const escape_syntax_type escape_type_decimal = syntax_digit; // not used
-static const escape_syntax_type escape_type_class = 22; 
-static const escape_syntax_type escape_type_not_class = 23; 
-
-// extensions:
-
-static const escape_syntax_type escape_type_left_word = 20;
-static const escape_syntax_type escape_type_right_word = 21;
-static const escape_syntax_type escape_type_start_buffer = 24;                 // for \`
-static const escape_syntax_type escape_type_end_buffer = 25;                   // for \'
-static const escape_syntax_type escape_type_control_a = 28;                    // for \a
-static const escape_syntax_type escape_type_e = 38;                            // for \e
-static const escape_syntax_type escape_type_E = 47;                            // for \Q\E
-static const escape_syntax_type escape_type_Q = 48;                            // for \Q\E
-static const escape_syntax_type escape_type_X = 49;                            // for \X
-static const escape_syntax_type escape_type_C = 50;                            // for \C
-static const escape_syntax_type escape_type_Z = 51;                            // for \Z
-static const escape_syntax_type escape_type_G = 52;                            // for \G
-
-static const escape_syntax_type escape_type_property = 54;                     // for \p
-static const escape_syntax_type escape_type_not_property = 55;                 // for \P
-static const escape_syntax_type escape_type_named_char = 56;                   // for \N
-static const escape_syntax_type escape_type_extended_backref = 57;             // for \g
-static const escape_syntax_type escape_type_reset_start_mark = 58;             // for \K
-static const escape_syntax_type escape_type_line_ending = 59;                  // for \R
-
-static const escape_syntax_type syntax_max = 60;
-
-}
-}
-
-
-#endif
diff --git a/SRC/Boost/boost/regex/v4/u32regex_iterator.hpp b/SRC/Boost/boost/regex/v4/u32regex_iterator.hpp
deleted file mode 100755
index 4e17f0f..0000000
--- a/SRC/Boost/boost/regex/v4/u32regex_iterator.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- *
- * Copyright (c) 2003
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         u32regex_iterator.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Provides u32regex_iterator implementation.
-  */
-
-#ifndef BOOST_REGEX_V4_U32REGEX_ITERATOR_HPP
-#define BOOST_REGEX_V4_U32REGEX_ITERATOR_HPP
-
-namespace boost{
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-
-template <class BidirectionalIterator>
-class u32regex_iterator_implementation 
-{
-   typedef u32regex regex_type;
-
-   match_results<BidirectionalIterator> what;  // current match
-   BidirectionalIterator                base;  // start of sequence
-   BidirectionalIterator                end;   // end of sequence
-   const regex_type                     re;   // the expression
-   match_flag_type                      flags; // flags for matching
-
-public:
-   u32regex_iterator_implementation(const regex_type* p, BidirectionalIterator last, match_flag_type f)
-      : base(), end(last), re(*p), flags(f){}
-   bool init(BidirectionalIterator first)
-   {
-      base = first;
-      return u32regex_search(first, end, what, re, flags, base);
-   }
-   bool compare(const u32regex_iterator_implementation& that)
-   {
-      if(this == &that) return true;
-      return (&re.get_data() == &that.re.get_data()) && (end == that.end) && (flags == that.flags) && (what[0].first == that.what[0].first) && (what[0].second == that.what[0].second);
-   }
-   const match_results<BidirectionalIterator>& get()
-   { return what; }
-   bool next()
-   {
-      //if(what.prefix().first != what[0].second)
-      //   flags |= match_prev_avail;
-      BidirectionalIterator next_start = what[0].second;
-      match_flag_type f(flags);
-      if(!what.length())
-         f |= regex_constants::match_not_initial_null;
-      //if(base != next_start)
-      //   f |= regex_constants::match_not_bob;
-      bool result = u32regex_search(next_start, end, what, re, f, base);
-      if(result)
-         what.set_base(base);
-      return result;
-   }
-private:
-   u32regex_iterator_implementation& operator=(const u32regex_iterator_implementation&);
-};
-
-template <class BidirectionalIterator>
-class u32regex_iterator 
-#ifndef BOOST_NO_STD_ITERATOR
-   : public std::iterator<
-         std::forward_iterator_tag, 
-         match_results<BidirectionalIterator>,
-         typename re_detail::regex_iterator_traits<BidirectionalIterator>::difference_type,
-         const match_results<BidirectionalIterator>*,
-         const match_results<BidirectionalIterator>& >         
-#endif
-{
-private:
-   typedef u32regex_iterator_implementation<BidirectionalIterator> impl;
-   typedef shared_ptr<impl> pimpl;
-public:
-   typedef          u32regex                                                regex_type;
-   typedef          match_results<BidirectionalIterator>                    value_type;
-   typedef typename re_detail::regex_iterator_traits<BidirectionalIterator>::difference_type 
-                                                                            difference_type;
-   typedef          const value_type*                                       pointer;
-   typedef          const value_type&                                       reference; 
-   typedef          std::forward_iterator_tag                               iterator_category;
-   
-   u32regex_iterator(){}
-   u32regex_iterator(BidirectionalIterator a, BidirectionalIterator b, 
-                  const regex_type& re, 
-                  match_flag_type m = match_default)
-                  : pdata(new impl(&re, b, m))
-   {
-      if(!pdata->init(a))
-      {
-         pdata.reset();
-      }
-   }
-   u32regex_iterator(const u32regex_iterator& that)
-      : pdata(that.pdata) {}
-   u32regex_iterator& operator=(const u32regex_iterator& that)
-   {
-      pdata = that.pdata;
-      return *this;
-   }
-   bool operator==(const u32regex_iterator& that)const
-   { 
-      if((pdata.get() == 0) || (that.pdata.get() == 0))
-         return pdata.get() == that.pdata.get();
-      return pdata->compare(*(that.pdata.get())); 
-   }
-   bool operator!=(const u32regex_iterator& that)const
-   { return !(*this == that); }
-   const value_type& operator*()const
-   { return pdata->get(); }
-   const value_type* operator->()const
-   { return &(pdata->get()); }
-   u32regex_iterator& operator++()
-   {
-      cow();
-      if(0 == pdata->next())
-      {
-         pdata.reset();
-      }
-      return *this;
-   }
-   u32regex_iterator operator++(int)
-   {
-      u32regex_iterator result(*this);
-      ++(*this);
-      return result;
-   }
-private:
-
-   pimpl pdata;
-
-   void cow()
-   {
-      // copy-on-write
-      if(pdata.get() && !pdata.unique())
-      {
-         pdata.reset(new impl(*(pdata.get())));
-      }
-   }
-};
-
-typedef u32regex_iterator<const char*> utf8regex_iterator;
-typedef u32regex_iterator<const UChar*> utf16regex_iterator;
-typedef u32regex_iterator<const UChar32*> utf32regex_iterator;
-
-inline u32regex_iterator<const char*> make_u32regex_iterator(const char* p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_iterator<const char*>(p, p+std::strlen(p), e, m);
-}
-#ifndef BOOST_NO_WREGEX
-inline u32regex_iterator<const wchar_t*> make_u32regex_iterator(const wchar_t* p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_iterator<const wchar_t*>(p, p+std::wcslen(p), e, m);
-}
-#endif
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2)
-inline u32regex_iterator<const UChar*> make_u32regex_iterator(const UChar* p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_iterator<const UChar*>(p, p+u_strlen(p), e, m);
-}
-#endif
-template <class charT, class Traits, class Alloc>
-inline u32regex_iterator<typename std::basic_string<charT, Traits, Alloc>::const_iterator> make_u32regex_iterator(const std::basic_string<charT, Traits, Alloc>& p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   typedef typename std::basic_string<charT, Traits, Alloc>::const_iterator iter_type;
-   return u32regex_iterator<iter_type>(p.begin(), p.end(), e, m);
-}
-inline u32regex_iterator<const UChar*> make_u32regex_iterator(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_iterator<const UChar*>(s.getBuffer(), s.getBuffer() + s.length(), e, m);
-}
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-
-} // namespace boost
-
-#endif // BOOST_REGEX_V4_REGEX_ITERATOR_HPP
-
diff --git a/SRC/Boost/boost/regex/v4/u32regex_token_iterator.hpp b/SRC/Boost/boost/regex/v4/u32regex_token_iterator.hpp
deleted file mode 100755
index 9dd0c42..0000000
--- a/SRC/Boost/boost/regex/v4/u32regex_token_iterator.hpp
+++ /dev/null
@@ -1,377 +0,0 @@
-/*
- *
- * Copyright (c) 2003
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         u32regex_token_iterator.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Provides u32regex_token_iterator implementation.
-  */
-
-#ifndef BOOST_REGEX_V4_U32REGEX_TOKEN_ITERATOR_HPP
-#define BOOST_REGEX_V4_U32REGEX_TOKEN_ITERATOR_HPP
-
-#if (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\
-      || BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
-      || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
-//
-// Borland C++ Builder 6, and Visual C++ 6,
-// can't cope with the array template constructor
-// so we have a template member that will accept any type as 
-// argument, and then assert that is really is an array:
-//
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_array.hpp>
-#endif
-
-namespace boost{
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#if BOOST_WORKAROUND(BOOST_MSVC, > 1300)
-#  pragma warning(push)
-#  pragma warning(disable:4700)
-#endif
-
-template <class BidirectionalIterator>
-class u32regex_token_iterator_implementation 
-{
-   typedef u32regex                              regex_type;
-   typedef sub_match<BidirectionalIterator>      value_type;
-
-   match_results<BidirectionalIterator> what;   // current match
-   BidirectionalIterator                end;    // end of search area
-   BidirectionalIterator                base;   // start of search area
-   const regex_type                     re;     // the expression
-   match_flag_type                      flags;  // match flags
-   value_type                           result; // the current string result
-   int                                  N;      // the current sub-expression being enumerated
-   std::vector<int>                     subs;   // the sub-expressions to enumerate
-
-public:
-   u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, int sub, match_flag_type f)
-      : end(last), re(*p), flags(f){ subs.push_back(sub); }
-   u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector<int>& v, match_flag_type f)
-      : end(last), re(*p), flags(f), subs(v){}
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-      // can't reliably get this to work....
-#elif (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\
-      || BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
-      || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \
-      || BOOST_WORKAROUND(__HP_aCC, < 60700)
-   template <class T>
-   u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const T& submatches, match_flag_type f)
-      : end(last), re(*p), flags(f)
-   {
-      // assert that T really is an array:
-      BOOST_STATIC_ASSERT(::boost::is_array<T>::value);
-      const std::size_t array_size = sizeof(T) / sizeof(submatches[0]);
-      for(std::size_t i = 0; i < array_size; ++i)
-      {
-         subs.push_back(submatches[i]);
-      }
-   }
-#else
-   template <std::size_t CN>
-   u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const int (&submatches)[CN], match_flag_type f)
-      : end(last), re(*p), flags(f)
-   {
-      for(std::size_t i = 0; i < CN; ++i)
-      {
-         subs.push_back(submatches[i]);
-      }
-   }
-#endif
-
-   bool init(BidirectionalIterator first)
-   {
-      base = first;
-      N = 0;
-      if(u32regex_search(first, end, what, re, flags, base) == true)
-      {
-         N = 0;
-         result = ((subs[N] == -1) ? what.prefix() : what[(int)subs[N]]);
-         return true;
-      }
-      else if((subs[N] == -1) && (first != end))
-      {
-         result.first = first;
-         result.second = end;
-         result.matched = (first != end);
-         N = -1;
-         return true;
-      }
-      return false;
-   }
-   bool compare(const u32regex_token_iterator_implementation& that)
-   {
-      if(this == &that) return true;
-      return (&re.get_data() == &that.re.get_data()) 
-         && (end == that.end) 
-         && (flags == that.flags) 
-         && (N == that.N) 
-         && (what[0].first == that.what[0].first) 
-         && (what[0].second == that.what[0].second);
-   }
-   const value_type& get()
-   { return result; }
-   bool next()
-   {
-      if(N == -1)
-         return false;
-      if(N+1 < (int)subs.size())
-      {
-         ++N;
-         result =((subs[N] == -1) ? what.prefix() : what[subs[N]]);
-         return true;
-      }
-      //if(what.prefix().first != what[0].second)
-      //   flags |= match_prev_avail | regex_constants::match_not_bob;
-      BidirectionalIterator last_end(what[0].second);
-      if(u32regex_search(last_end, end, what, re, ((what[0].first == what[0].second) ? flags | regex_constants::match_not_initial_null : flags), base))
-      {
-         N =0;
-         result =((subs[N] == -1) ? what.prefix() : what[subs[N]]);
-         return true;
-      }
-      else if((last_end != end) && (subs[0] == -1))
-      {
-         N =-1;
-         result.first = last_end;
-         result.second = end;
-         result.matched = (last_end != end);
-         return true;
-      }
-      return false;
-   }
-private:
-   u32regex_token_iterator_implementation& operator=(const u32regex_token_iterator_implementation&);
-};
-
-template <class BidirectionalIterator>
-class u32regex_token_iterator 
-#ifndef BOOST_NO_STD_ITERATOR
-   : public std::iterator<
-         std::forward_iterator_tag, 
-         sub_match<BidirectionalIterator>,
-         typename re_detail::regex_iterator_traits<BidirectionalIterator>::difference_type,
-         const sub_match<BidirectionalIterator>*,
-         const sub_match<BidirectionalIterator>& >         
-#endif
-{
-private:
-   typedef u32regex_token_iterator_implementation<BidirectionalIterator> impl;
-   typedef shared_ptr<impl> pimpl;
-public:
-   typedef          u32regex                                                regex_type;
-   typedef          sub_match<BidirectionalIterator>                        value_type;
-   typedef typename re_detail::regex_iterator_traits<BidirectionalIterator>::difference_type 
-                                                                            difference_type;
-   typedef          const value_type*                                       pointer;
-   typedef          const value_type&                                       reference; 
-   typedef          std::forward_iterator_tag                               iterator_category;
-   
-   u32regex_token_iterator(){}
-   u32regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                        int submatch = 0, match_flag_type m = match_default)
-                        : pdata(new impl(&re, b, submatch, m))
-   {
-      if(!pdata->init(a))
-         pdata.reset();
-   }
-   u32regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, 
-                        const std::vector<int>& submatches, match_flag_type m = match_default)
-                        : pdata(new impl(&re, b, submatches, m))
-   {
-      if(!pdata->init(a))
-         pdata.reset();
-   }
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-      // can't reliably get this to work....
-#elif (BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)))\
-      || BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
-      || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) \
-      || BOOST_WORKAROUND(__HP_aCC, < 60700)
-   template <class T>
-   u32regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re,
-                        const T& submatches, match_flag_type m = match_default)
-                        : pdata(new impl(&re, b, submatches, m))
-   {
-      if(!pdata->init(a))
-         pdata.reset();
-   }
-#else
-   template <std::size_t N>
-   u32regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re,
-                        const int (&submatches)[N], match_flag_type m = match_default)
-                        : pdata(new impl(&re, b, submatches, m))
-   {
-      if(!pdata->init(a))
-         pdata.reset();
-   }
-#endif
-   u32regex_token_iterator(const u32regex_token_iterator& that)
-      : pdata(that.pdata) {}
-   u32regex_token_iterator& operator=(const u32regex_token_iterator& that)
-   {
-      pdata = that.pdata;
-      return *this;
-   }
-   bool operator==(const u32regex_token_iterator& that)const
-   { 
-      if((pdata.get() == 0) || (that.pdata.get() == 0))
-         return pdata.get() == that.pdata.get();
-      return pdata->compare(*(that.pdata.get())); 
-   }
-   bool operator!=(const u32regex_token_iterator& that)const
-   { return !(*this == that); }
-   const value_type& operator*()const
-   { return pdata->get(); }
-   const value_type* operator->()const
-   { return &(pdata->get()); }
-   u32regex_token_iterator& operator++()
-   {
-      cow();
-      if(0 == pdata->next())
-      {
-         pdata.reset();
-      }
-      return *this;
-   }
-   u32regex_token_iterator operator++(int)
-   {
-      u32regex_token_iterator result(*this);
-      ++(*this);
-      return result;
-   }
-private:
-
-   pimpl pdata;
-
-   void cow()
-   {
-      // copy-on-write
-      if(pdata.get() && !pdata.unique())
-      {
-         pdata.reset(new impl(*(pdata.get())));
-      }
-   }
-};
-
-typedef u32regex_token_iterator<const char*> utf8regex_token_iterator;
-typedef u32regex_token_iterator<const UChar*> utf16regex_token_iterator;
-typedef u32regex_token_iterator<const UChar32*> utf32regex_token_iterator;
-
-// construction from an integral sub_match state_id:
-inline u32regex_token_iterator<const char*> make_u32regex_token_iterator(const char* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_token_iterator<const char*>(p, p+std::strlen(p), e, submatch, m);
-}
-#ifndef BOOST_NO_WREGEX
-inline u32regex_token_iterator<const wchar_t*> make_u32regex_token_iterator(const wchar_t* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_token_iterator<const wchar_t*>(p, p+std::wcslen(p), e, submatch, m);
-}
-#endif
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2)
-inline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const UChar* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_token_iterator<const UChar*>(p, p+u_strlen(p), e, submatch, m);
-}
-#endif
-template <class charT, class Traits, class Alloc>
-inline u32regex_token_iterator<typename std::basic_string<charT, Traits, Alloc>::const_iterator> make_u32regex_token_iterator(const std::basic_string<charT, Traits, Alloc>& p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   typedef typename std::basic_string<charT, Traits, Alloc>::const_iterator iter_type;
-   return u32regex_token_iterator<iter_type>(p.begin(), p.end(), e, submatch, m);
-}
-inline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_token_iterator<const UChar*>(s.getBuffer(), s.getBuffer() + s.length(), e, submatch, m);
-}
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-// construction from a reference to an array:
-template <std::size_t N>
-inline u32regex_token_iterator<const char*> make_u32regex_token_iterator(const char* p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_token_iterator<const char*>(p, p+std::strlen(p), e, submatch, m);
-}
-#ifndef BOOST_NO_WREGEX
-template <std::size_t N>
-inline u32regex_token_iterator<const wchar_t*> make_u32regex_token_iterator(const wchar_t* p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_token_iterator<const wchar_t*>(p, p+std::wcslen(p), e, submatch, m);
-}
-#endif
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2)
-template <std::size_t N>
-inline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const UChar* p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_token_iterator<const UChar*>(p, p+u_strlen(p), e, submatch, m);
-}
-#endif
-template <class charT, class Traits, class Alloc, std::size_t N>
-inline u32regex_token_iterator<typename std::basic_string<charT, Traits, Alloc>::const_iterator> make_u32regex_token_iterator(const std::basic_string<charT, Traits, Alloc>& p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   typedef typename std::basic_string<charT, Traits, Alloc>::const_iterator iter_type;
-   return u32regex_token_iterator<iter_type>(p.begin(), p.end(), e, submatch, m);
-}
-template <std::size_t N>
-inline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_token_iterator<const UChar*>(s.getBuffer(), s.getBuffer() + s.length(), e, submatch, m);
-}
-#endif // BOOST_MSVC < 1300
-
-// construction from a vector of sub_match state_id's:
-inline u32regex_token_iterator<const char*> make_u32regex_token_iterator(const char* p, const u32regex& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_token_iterator<const char*>(p, p+std::strlen(p), e, submatch, m);
-}
-#ifndef BOOST_NO_WREGEX
-inline u32regex_token_iterator<const wchar_t*> make_u32regex_token_iterator(const wchar_t* p, const u32regex& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_token_iterator<const wchar_t*>(p, p+std::wcslen(p), e, submatch, m);
-}
-#endif
-#if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2)
-inline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const UChar* p, const u32regex& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_token_iterator<const UChar*>(p, p+u_strlen(p), e, submatch, m);
-}
-#endif
-template <class charT, class Traits, class Alloc>
-inline u32regex_token_iterator<typename std::basic_string<charT, Traits, Alloc>::const_iterator> make_u32regex_token_iterator(const std::basic_string<charT, Traits, Alloc>& p, const u32regex& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   typedef typename std::basic_string<charT, Traits, Alloc>::const_iterator iter_type;
-   return u32regex_token_iterator<iter_type>(p.begin(), p.end(), e, submatch, m);
-}
-inline u32regex_token_iterator<const UChar*> make_u32regex_token_iterator(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, const std::vector<int>& submatch, regex_constants::match_flag_type m = regex_constants::match_default)
-{
-   return u32regex_token_iterator<const UChar*>(s.getBuffer(), s.getBuffer() + s.length(), e, submatch, m);
-}
-
-#if BOOST_WORKAROUND(BOOST_MSVC, > 1300)
-#  pragma warning(pop)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-
-} // namespace boost
-
-#endif // BOOST_REGEX_V4_REGEX_TOKEN_ITERATOR_HPP
-
-
-
-
diff --git a/SRC/Boost/boost/regex/v4/w32_regex_traits.hpp b/SRC/Boost/boost/regex/v4/w32_regex_traits.hpp
deleted file mode 100755
index d000d78..0000000
--- a/SRC/Boost/boost/regex/v4/w32_regex_traits.hpp
+++ /dev/null
@@ -1,741 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         w32_regex_traits.hpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares regular expression traits class w32_regex_traits.
-  */
-
-#ifndef BOOST_W32_REGEX_TRAITS_HPP_INCLUDED
-#define BOOST_W32_REGEX_TRAITS_HPP_INCLUDED
-
-#ifndef BOOST_RE_PAT_EXCEPT_HPP
-#include <boost/regex/pattern_except.hpp>
-#endif
-#ifndef BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED
-#include <boost/regex/v4/regex_traits_defaults.hpp>
-#endif
-#ifdef BOOST_HAS_THREADS
-#include <boost/regex/pending/static_mutex.hpp>
-#endif
-#ifndef BOOST_REGEX_PRIMARY_TRANSFORM
-#include <boost/regex/v4/primary_transform.hpp>
-#endif
-#ifndef BOOST_REGEX_OBJECT_CACHE_HPP
-#include <boost/regex/pending/object_cache.hpp>
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4786)
-#pragma warning(disable:4800)
-#endif
-
-namespace boost{ 
-
-//
-// forward declaration is needed by some compilers:
-//
-template <class charT>
-class w32_regex_traits;
-   
-namespace re_detail{
-
-//
-// start by typedeffing the types we'll need:
-//
-typedef ::boost::uint32_t lcid_type;   // placeholder for LCID.
-typedef ::boost::shared_ptr<void> cat_type; // placeholder for dll HANDLE.
-
-//
-// then add wrappers around the actual Win32 API's (ie implementation hiding):
-//
-BOOST_REGEX_DECL lcid_type BOOST_REGEX_CALL w32_get_default_locale();
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(char, lcid_type);
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(wchar_t, lcid_type);
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type state_id);
-#endif
-#endif
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(char, lcid_type);
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(wchar_t, lcid_type);
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(unsigned short ca, lcid_type state_id);
-#endif
-#endif
-BOOST_REGEX_DECL cat_type BOOST_REGEX_CALL w32_cat_open(const std::string& name);
-BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::string& def);
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::wstring& def);
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL std::basic_string<unsigned short> BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type, int i, const std::basic_string<unsigned short>& def);
-#endif
-#endif
-BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type state_id, const char* p1, const char* p2);
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_transform(lcid_type state_id, const wchar_t* p1, const wchar_t* p2);
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL std::basic_string<unsigned short> BOOST_REGEX_CALL w32_transform(lcid_type state_id, const unsigned short* p1, const unsigned short* p2);
-#endif
-#endif
-BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type);
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_tolower(wchar_t c, lcid_type);
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, lcid_type state_id);
-#endif
-#endif
-BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type);
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_toupper(wchar_t c, lcid_type);
-#endif
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type, boost::uint32_t mask, char c);
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type, boost::uint32_t mask, wchar_t c);
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type state_id, boost::uint32_t m, unsigned short c);
-#endif
-#endif
-//
-// class w32_regex_traits_base:
-// acts as a container for locale and the facets we are using.
-//
-template <class charT>
-struct w32_regex_traits_base
-{
-   w32_regex_traits_base(lcid_type l)
-   { imbue(l); }
-   lcid_type imbue(lcid_type l);
-
-   lcid_type m_locale;
-};
-
-template <class charT>
-inline lcid_type w32_regex_traits_base<charT>::imbue(lcid_type l)
-{
-   lcid_type result(m_locale);
-   m_locale = l;
-   return result;
-}
-
-//
-// class w32_regex_traits_char_layer:
-// implements methods that require specialisation for narrow characters:
-//
-template <class charT>
-class w32_regex_traits_char_layer : public w32_regex_traits_base<charT>
-{
-   typedef std::basic_string<charT> string_type;
-   typedef std::map<charT, regex_constants::syntax_type> map_type;
-   typedef typename map_type::const_iterator map_iterator_type;
-public:
-   w32_regex_traits_char_layer(const lcid_type l);
-
-   regex_constants::syntax_type syntax_type(charT c)const
-   {
-      map_iterator_type i = m_char_map.find(c);
-      return ((i == m_char_map.end()) ? 0 : i->second);
-   }
-   regex_constants::escape_syntax_type escape_syntax_type(charT c) const
-   {
-      map_iterator_type i = m_char_map.find(c);
-      if(i == m_char_map.end())
-      {
-         if(::boost::re_detail::w32_is_lower(c, this->m_locale)) return regex_constants::escape_type_class;
-         if(::boost::re_detail::w32_is_upper(c, this->m_locale)) return regex_constants::escape_type_not_class;
-         return 0;
-      }
-      return i->second;
-   }
-   charT tolower(charT c)const
-   {
-      return ::boost::re_detail::w32_tolower(c, this->m_locale);
-   }
-   bool isctype(boost::uint32_t mask, charT c)const
-   {
-      return ::boost::re_detail::w32_is(this->m_locale, mask, c);
-   }
-
-private:
-   string_type get_default_message(regex_constants::syntax_type);
-   // TODO: use a hash table when available!
-   map_type m_char_map;
-};
-
-template <class charT>
-w32_regex_traits_char_layer<charT>::w32_regex_traits_char_layer(::boost::re_detail::lcid_type l) 
-   : w32_regex_traits_base<charT>(l)
-{
-   // we need to start by initialising our syntax map so we know which
-   // character is used for which purpose:
-   cat_type cat;
-   std::string cat_name(w32_regex_traits<charT>::get_catalog_name());
-   if(cat_name.size())
-   {
-      cat = ::boost::re_detail::w32_cat_open(cat_name);
-      if(!cat)
-      {
-         std::string m("Unable to open message catalog: ");
-         std::runtime_error err(m + cat_name);
-         boost::re_detail::raise_runtime_error(err);
-      }
-   }
-   //
-   // if we have a valid catalog then load our messages:
-   //
-   if(cat)
-   {
-      for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)
-      {
-         string_type mss = ::boost::re_detail::w32_cat_get(cat, this->m_locale, i, get_default_message(i));
-         for(typename string_type::size_type j = 0; j < mss.size(); ++j)
-         {
-            this->m_char_map[mss[j]] = i;
-         }
-      }
-   }
-   else
-   {
-      for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)
-      {
-         const char* ptr = get_default_syntax(i);
-         while(ptr && *ptr)
-         {
-            this->m_char_map[static_cast<charT>(*ptr)] = i;
-            ++ptr;
-         }
-      }
-   }
-}
-
-template <class charT>
-typename w32_regex_traits_char_layer<charT>::string_type 
-   w32_regex_traits_char_layer<charT>::get_default_message(regex_constants::syntax_type i)
-{
-   const char* ptr = get_default_syntax(i);
-   string_type result;
-   while(ptr && *ptr)
-   {
-      result.append(1, static_cast<charT>(*ptr));
-      ++ptr;
-   }
-   return result;
-}
-
-//
-// specialised version for narrow characters:
-//
-template <>
-class BOOST_REGEX_DECL w32_regex_traits_char_layer<char> : public w32_regex_traits_base<char>
-{
-   typedef std::string string_type;
-public:
-   w32_regex_traits_char_layer(::boost::re_detail::lcid_type l)
-   : w32_regex_traits_base<char>(l)
-   {
-      init();
-   }
-
-   regex_constants::syntax_type syntax_type(char c)const
-   {
-      return m_char_map[static_cast<unsigned char>(c)];
-   }
-   regex_constants::escape_syntax_type escape_syntax_type(char c) const
-   {
-      return m_char_map[static_cast<unsigned char>(c)];
-   }
-   char tolower(char c)const
-   {
-      return m_lower_map[static_cast<unsigned char>(c)];
-   }
-   bool isctype(boost::uint32_t mask, char c)const
-   {
-      return m_type_map[static_cast<unsigned char>(c)] & mask;
-   }
-
-private:
-   regex_constants::syntax_type m_char_map[1u << CHAR_BIT];
-   char m_lower_map[1u << CHAR_BIT];
-   boost::uint16_t m_type_map[1u << CHAR_BIT];
-   void init();
-};
-
-//
-// class w32_regex_traits_implementation:
-// provides pimpl implementation for w32_regex_traits.
-//
-template <class charT>
-class w32_regex_traits_implementation : public w32_regex_traits_char_layer<charT>
-{
-public:
-   typedef typename w32_regex_traits<charT>::char_class_type char_class_type;
-   BOOST_STATIC_CONSTANT(char_class_type, mask_word = 0x0400); // must be C1_DEFINED << 1
-   BOOST_STATIC_CONSTANT(char_class_type, mask_unicode = 0x0800); // must be C1_DEFINED << 2
-   BOOST_STATIC_CONSTANT(char_class_type, mask_horizontal = 0x1000); // must be C1_DEFINED << 3
-   BOOST_STATIC_CONSTANT(char_class_type, mask_vertical = 0x2000); // must be C1_DEFINED << 4
-   BOOST_STATIC_CONSTANT(char_class_type, mask_base = 0x3ff);  // all the masks used by the CT_CTYPE1 group
-
-   typedef std::basic_string<charT> string_type;
-   typedef charT char_type;
-   w32_regex_traits_implementation(::boost::re_detail::lcid_type l);
-   std::string error_string(regex_constants::error_type n) const
-   {
-      if(!m_error_strings.empty())
-      {
-         std::map<int, std::string>::const_iterator p = m_error_strings.find(n);
-         return (p == m_error_strings.end()) ? std::string(get_default_error_string(n)) : p->second;
-      }
-      return get_default_error_string(n);
-   }
-   char_class_type lookup_classname(const charT* p1, const charT* p2) const
-   {
-      char_class_type result = lookup_classname_imp(p1, p2);
-      if(result == 0)
-      {
-         typedef typename string_type::size_type size_type;
-         string_type temp(p1, p2);
-         for(size_type i = 0; i < temp.size(); ++i)
-            temp[i] = this->tolower(temp[i]);
-         result = lookup_classname_imp(&*temp.begin(), &*temp.begin() + temp.size());
-      }
-      return result;
-   }
-   string_type lookup_collatename(const charT* p1, const charT* p2) const;
-   string_type transform_primary(const charT* p1, const charT* p2) const;
-   string_type transform(const charT* p1, const charT* p2) const
-   {
-      return ::boost::re_detail::w32_transform(this->m_locale, p1, p2);
-   }
-private:
-   std::map<int, std::string>     m_error_strings;   // error messages indexed by numberic ID
-   std::map<string_type, char_class_type>  m_custom_class_names; // character class names
-   std::map<string_type, string_type>      m_custom_collate_names; // collating element names
-   unsigned                       m_collate_type;    // the form of the collation string
-   charT                          m_collate_delim;   // the collation group delimiter
-   //
-   // helpers:
-   //
-   char_class_type lookup_classname_imp(const charT* p1, const charT* p2) const;
-};
-
-template <class charT>
-typename w32_regex_traits_implementation<charT>::string_type 
-   w32_regex_traits_implementation<charT>::transform_primary(const charT* p1, const charT* p2) const
-{
-   string_type result;
-   //
-   // What we do here depends upon the format of the sort key returned by
-   // sort key returned by this->transform:
-   //
-   switch(m_collate_type)
-   {
-   case sort_C:
-   case sort_unknown:
-      // the best we can do is translate to lower case, then get a regular sort key:
-      {
-         result.assign(p1, p2);
-         typedef typename string_type::size_type size_type;
-         for(size_type i = 0; i < result.size(); ++i)
-            result[i] = this->tolower(result[i]);
-         result = this->transform(&*result.begin(), &*result.begin() + result.size());
-         break;
-      }
-   case sort_fixed:
-      {
-         // get a regular sort key, and then truncate it:
-         result.assign(this->transform(p1, p2));
-         result.erase(this->m_collate_delim);
-         break;
-      }
-   case sort_delim:
-         // get a regular sort key, and then truncate everything after the delim:
-         result.assign(this->transform(p1, p2));
-         std::size_t i;
-         for(i = 0; i < result.size(); ++i)
-         {
-            if(result[i] == m_collate_delim)
-               break;
-         }
-         result.erase(i);
-         break;
-   }
-   if(result.empty())
-      result = string_type(1, charT(0));
-   return result;
-}
-
-template <class charT>
-typename w32_regex_traits_implementation<charT>::string_type 
-   w32_regex_traits_implementation<charT>::lookup_collatename(const charT* p1, const charT* p2) const
-{
-   typedef typename std::map<string_type, string_type>::const_iterator iter_type;
-   if(m_custom_collate_names.size())
-   {
-      iter_type pos = m_custom_collate_names.find(string_type(p1, p2));
-      if(pos != m_custom_collate_names.end())
-         return pos->second;
-   }
-#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\
-               && !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\
-               && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551)
-   std::string name(p1, p2);
-#else
-   std::string name;
-   const charT* p0 = p1;
-   while(p0 != p2)
-      name.append(1, char(*p0++));
-#endif
-   name = lookup_default_collate_name(name);
-#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\
-               && !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\
-               && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551)
-   if(name.size())
-      return string_type(name.begin(), name.end());
-#else
-   if(name.size())
-   {
-      string_type result;
-      typedef std::string::const_iterator iter;
-      iter b = name.begin();
-      iter e = name.end();
-      while(b != e)
-         result.append(1, charT(*b++));
-      return result;
-   }
-#endif
-   if(p2 - p1 == 1)
-      return string_type(1, *p1);
-   return string_type();
-}
-
-template <class charT>
-w32_regex_traits_implementation<charT>::w32_regex_traits_implementation(::boost::re_detail::lcid_type l)
-: w32_regex_traits_char_layer<charT>(l)
-{
-   cat_type cat;
-   std::string cat_name(w32_regex_traits<charT>::get_catalog_name());
-   if(cat_name.size())
-   {
-      cat = ::boost::re_detail::w32_cat_open(cat_name);
-      if(!cat)
-      {
-         std::string m("Unable to open message catalog: ");
-         std::runtime_error err(m + cat_name);
-         boost::re_detail::raise_runtime_error(err);
-      }
-   }
-   //
-   // if we have a valid catalog then load our messages:
-   //
-   if(cat)
-   {
-      //
-      // Error messages:
-      //
-      for(boost::regex_constants::error_type i = static_cast<boost::regex_constants::error_type>(0); 
-         i <= boost::regex_constants::error_unknown; 
-         i = static_cast<boost::regex_constants::error_type>(i + 1))
-      {
-         const char* p = get_default_error_string(i);
-         string_type default_message;
-         while(*p)
-         {
-            default_message.append(1, static_cast<charT>(*p));
-            ++p;
-         }
-         string_type s = ::boost::re_detail::w32_cat_get(cat, this->m_locale, i+200, default_message);
-         std::string result;
-         for(std::string::size_type j = 0; j < s.size(); ++j)
-         {
-            result.append(1, static_cast<char>(s[j]));
-         }
-         m_error_strings[i] = result;
-      }
-      //
-      // Custom class names:
-      //
-      static const char_class_type masks[14] = 
-      {
-         0x0104u, // C1_ALPHA | C1_DIGIT
-         0x0100u, // C1_ALPHA
-         0x0020u, // C1_CNTRL
-         0x0004u, // C1_DIGIT
-         (~(0x0020u|0x0008u) & 0x01ffu) | 0x0400u, // not C1_CNTRL or C1_SPACE
-         0x0002u, // C1_LOWER
-         (~0x0020u & 0x01ffu) | 0x0400, // not C1_CNTRL
-         0x0010u, // C1_PUNCT
-         0x0008u, // C1_SPACE
-         0x0001u, // C1_UPPER
-         0x0080u, // C1_XDIGIT
-         0x0040u, // C1_BLANK
-         w32_regex_traits_implementation<charT>::mask_word,
-         w32_regex_traits_implementation<charT>::mask_unicode,
-      };
-      static const string_type null_string;
-      for(unsigned int j = 0; j <= 13; ++j)
-      {
-         string_type s(::boost::re_detail::w32_cat_get(cat, this->m_locale, j+300, null_string));
-         if(s.size())
-            this->m_custom_class_names[s] = masks[j];
-      }
-   }
-   //
-   // get the collation format used by m_pcollate:
-   //
-   m_collate_type = re_detail::find_sort_syntax(this, &m_collate_delim);
-}
-
-template <class charT>
-typename w32_regex_traits_implementation<charT>::char_class_type 
-   w32_regex_traits_implementation<charT>::lookup_classname_imp(const charT* p1, const charT* p2) const
-{
-   static const char_class_type masks[22] = 
-   {
-      0,
-      0x0104u, // C1_ALPHA | C1_DIGIT
-      0x0100u, // C1_ALPHA
-      0x0040u, // C1_BLANK
-      0x0020u, // C1_CNTRL
-      0x0004u, // C1_DIGIT
-      0x0004u, // C1_DIGIT
-      (~(0x0020u|0x0008u|0x0040) & 0x01ffu) | 0x0400u, // not C1_CNTRL or C1_SPACE or C1_BLANK
-      w32_regex_traits_implementation<charT>::mask_horizontal, 
-      0x0002u, // C1_LOWER
-      0x0002u, // C1_LOWER
-      (~0x0020u & 0x01ffu) | 0x0400, // not C1_CNTRL
-      0x0010u, // C1_PUNCT
-      0x0008u, // C1_SPACE
-      0x0008u, // C1_SPACE
-      0x0001u, // C1_UPPER
-      w32_regex_traits_implementation<charT>::mask_unicode,
-      0x0001u, // C1_UPPER
-      w32_regex_traits_implementation<charT>::mask_vertical, 
-      0x0104u | w32_regex_traits_implementation<charT>::mask_word, 
-      0x0104u | w32_regex_traits_implementation<charT>::mask_word, 
-      0x0080u, // C1_XDIGIT
-   };
-   if(m_custom_class_names.size())
-   {
-      typedef typename std::map<std::basic_string<charT>, char_class_type>::const_iterator map_iter;
-      map_iter pos = m_custom_class_names.find(string_type(p1, p2));
-      if(pos != m_custom_class_names.end())
-         return pos->second;
-   }
-   std::size_t state_id = 1 + re_detail::get_default_class_id(p1, p2);
-   if(state_id < sizeof(masks) / sizeof(masks[0]))
-      return masks[state_id];
-   return masks[0];
-}
-
-
-template <class charT>
-boost::shared_ptr<const w32_regex_traits_implementation<charT> > create_w32_regex_traits(::boost::re_detail::lcid_type l BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(charT))
-{
-   // TODO: create a cache for previously constructed objects.
-   return boost::object_cache< ::boost::re_detail::lcid_type, w32_regex_traits_implementation<charT> >::get(l, 5);
-}
-
-} // re_detail
-
-template <class charT>
-class w32_regex_traits
-{
-public:
-   typedef charT                         char_type;
-   typedef std::size_t                   size_type;
-   typedef std::basic_string<char_type>  string_type;
-   typedef ::boost::re_detail::lcid_type locale_type;
-   typedef boost::uint_least32_t         char_class_type;
-
-   struct boost_extensions_tag{};
-
-   w32_regex_traits()
-      : m_pimpl(re_detail::create_w32_regex_traits<charT>(::boost::re_detail::w32_get_default_locale()))
-   { }
-   static size_type length(const char_type* p)
-   {
-      return std::char_traits<charT>::length(p);
-   }
-   regex_constants::syntax_type syntax_type(charT c)const
-   {
-      return m_pimpl->syntax_type(c);
-   }
-   regex_constants::escape_syntax_type escape_syntax_type(charT c) const
-   {
-      return m_pimpl->escape_syntax_type(c);
-   }
-   charT translate(charT c) const
-   {
-      return c;
-   }
-   charT translate_nocase(charT c) const
-   {
-      return this->m_pimpl->tolower(c);
-   }
-   charT translate(charT c, bool icase) const
-   {
-      return icase ? this->m_pimpl->tolower(c) : c;
-   }
-   charT tolower(charT c) const
-   {
-      return this->m_pimpl->tolower(c);
-   }
-   charT toupper(charT c) const
-   {
-      return ::boost::re_detail::w32_toupper(c, this->m_pimpl->m_locale);
-   }
-   string_type transform(const charT* p1, const charT* p2) const
-   {
-      return ::boost::re_detail::w32_transform(this->m_pimpl->m_locale, p1, p2);
-   }
-   string_type transform_primary(const charT* p1, const charT* p2) const
-   {
-      return m_pimpl->transform_primary(p1, p2);
-   }
-   char_class_type lookup_classname(const charT* p1, const charT* p2) const
-   {
-      return m_pimpl->lookup_classname(p1, p2);
-   }
-   string_type lookup_collatename(const charT* p1, const charT* p2) const
-   {
-      return m_pimpl->lookup_collatename(p1, p2);
-   }
-   bool isctype(charT c, char_class_type f) const
-   {
-      if((f & re_detail::w32_regex_traits_implementation<charT>::mask_base) 
-         && (this->m_pimpl->isctype(f & re_detail::w32_regex_traits_implementation<charT>::mask_base, c)))
-         return true;
-      else if((f & re_detail::w32_regex_traits_implementation<charT>::mask_unicode) && re_detail::is_extended(c))
-         return true;
-      else if((f & re_detail::w32_regex_traits_implementation<charT>::mask_word) && (c == '_'))
-         return true;
-      else if((f & re_detail::w32_regex_traits_implementation<charT>::mask_vertical)
-         && (::boost::re_detail::is_separator(c) || (c == '\v')))
-         return true;
-      else if((f & re_detail::w32_regex_traits_implementation<charT>::mask_horizontal) 
-         && this->isctype(c, 0x0008u) && !this->isctype(c, re_detail::w32_regex_traits_implementation<charT>::mask_vertical))
-         return true;
-      return false;
-   }
-   int toi(const charT*& p1, const charT* p2, int radix)const
-   {
-      return ::boost::re_detail::global_toi(p1, p2, radix, *this);
-   }
-   int value(charT c, int radix)const
-   {
-      int result = ::boost::re_detail::global_value(c);
-      return result < radix ? result : -1;
-   }
-   locale_type imbue(locale_type l)
-   {
-      ::boost::re_detail::lcid_type result(getloc());
-      m_pimpl = re_detail::create_w32_regex_traits<charT>(l);
-      return result;
-   }
-   locale_type getloc()const
-   {
-      return m_pimpl->m_locale;
-   }
-   std::string error_string(regex_constants::error_type n) const
-   {
-      return m_pimpl->error_string(n);
-   }
-
-   //
-   // extension:
-   // set the name of the message catalog in use (defaults to "boost_regex").
-   //
-   static std::string catalog_name(const std::string& name);
-   static std::string get_catalog_name();
-
-private:
-   boost::shared_ptr<const re_detail::w32_regex_traits_implementation<charT> > m_pimpl;
-   //
-   // catalog name handler:
-   //
-   static std::string& get_catalog_name_inst();
-
-#ifdef BOOST_HAS_THREADS
-   static static_mutex& get_mutex_inst();
-#endif
-};
-
-template <class charT>
-std::string w32_regex_traits<charT>::catalog_name(const std::string& name)
-{
-#ifdef BOOST_HAS_THREADS
-   static_mutex::scoped_lock lk(get_mutex_inst());
-#endif
-   std::string result(get_catalog_name_inst());
-   get_catalog_name_inst() = name;
-   return result;
-}
-
-template <class charT>
-std::string& w32_regex_traits<charT>::get_catalog_name_inst()
-{
-   static std::string s_name;
-   return s_name;
-}
-
-template <class charT>
-std::string w32_regex_traits<charT>::get_catalog_name()
-{
-#ifdef BOOST_HAS_THREADS
-   static_mutex::scoped_lock lk(get_mutex_inst());
-#endif
-   std::string result(get_catalog_name_inst());
-   return result;
-}
-
-#ifdef BOOST_HAS_THREADS
-template <class charT>
-static_mutex& w32_regex_traits<charT>::get_mutex_inst()
-{
-   static static_mutex s_mutex = BOOST_STATIC_MUTEX_INIT;
-   return s_mutex;
-}
-#endif
-
-
-} // boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4103)
-#endif
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/regex_fwd.hpp b/SRC/Boost/boost/regex_fwd.hpp
deleted file mode 100755
index f852bb8..0000000
--- a/SRC/Boost/boost/regex_fwd.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org/libs/regex for documentation.
-  *   FILE         regex_fwd.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Forward declares boost::basic_regex<> and
-  *                associated typedefs.
-  */
-
-#ifndef BOOST_REGEX_FWD_HPP
-#define BOOST_REGEX_FWD_HPP
-
-#ifndef BOOST_REGEX_CONFIG_HPP
-#include <boost/regex/config.hpp>
-#endif
-
-#include <boost/regex/v4/regex_fwd.hpp>
-
-#endif
-
-
-
-
diff --git a/SRC/Boost/boost/scoped_array.hpp b/SRC/Boost/boost/scoped_array.hpp
deleted file mode 100755
index 88d026c..0000000
--- a/SRC/Boost/boost/scoped_array.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef BOOST_SCOPED_ARRAY_HPP_INCLUDED
-#define BOOST_SCOPED_ARRAY_HPP_INCLUDED
-
-//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-//  Copyright (c) 2001, 2002 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org/libs/smart_ptr/scoped_array.htm
-//
-
-#include <boost/smart_ptr/scoped_array.hpp>
-
-#endif  // #ifndef BOOST_SCOPED_ARRAY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/scoped_ptr.hpp b/SRC/Boost/boost/scoped_ptr.hpp
deleted file mode 100755
index 41d25f0..0000000
--- a/SRC/Boost/boost/scoped_ptr.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef BOOST_SCOPED_PTR_HPP_INCLUDED
-#define BOOST_SCOPED_PTR_HPP_INCLUDED
-
-//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-//  Copyright (c) 2001, 2002 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org/libs/smart_ptr/scoped_ptr.htm
-//
-
-#include <boost/smart_ptr/scoped_ptr.hpp>
-
-#endif // #ifndef BOOST_SCOPED_PTR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/serialization/access.hpp b/SRC/Boost/boost/serialization/access.hpp
deleted file mode 100755
index 68a031b..0000000
--- a/SRC/Boost/boost/serialization/access.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-#ifndef BOOST_SERIALIZATION_ACCESS_HPP
-#define BOOST_SERIALIZATION_ACCESS_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// access.hpp: interface for serialization system.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-
-#include <boost/serialization/pfto.hpp>
-
-namespace boost {
-
-namespace archive {
-namespace detail {
-    template<class Archive, class T>
-    class iserializer;
-    template<class Archive, class T>
-    class oserializer;
-} // namespace detail
-} // namespace archive
-
-namespace serialization {
-
-// forward declarations
-template<class Archive, class T>
-inline void serialize_adl(Archive &, T &, const unsigned int);
-namespace detail {
-    template<class Archive, class T>
-    struct member_saver;
-    template<class Archive, class T>
-    struct member_loader;
-} // namespace detail
-
-// use an "accessor class so that we can use: 
-// "friend class boost::serialization::access;" 
-// in any serialized class to permit clean, safe access to private class members
-// by the serialization system
-
-class access {
-public:
-    // grant access to "real" serialization defaults
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    template<class Archive, class T>
-    friend struct detail::member_saver;
-    template<class Archive, class T>
-    friend struct detail::member_loader;
-    template<class Archive, class T>
-    friend class archive::detail::iserializer;
-    template<class Archive, class T>
-    friend class archive::detail::oserializer;
-    template<class Archive, class T>
-    friend inline void serialize(
-        Archive & ar, 
-        T & t, 
-        const BOOST_PFTO unsigned int file_version
-    );
-    template<class Archive, class T>
-    friend inline void save_construct_data(
-        Archive & ar, 
-        const T * t, 
-        const BOOST_PFTO unsigned int file_version
-    );
-    template<class Archive, class T>
-    friend inline void load_construct_data(
-        Archive & ar, 
-        T * t, 
-        const BOOST_PFTO unsigned int file_version
-    );
-#endif
-
-    // pass calls to users's class implementation
-    template<class Archive, class T>
-    static void member_save(
-        Archive & ar, 
-        //const T & t,
-        T & t,
-        const unsigned int file_version
-    ){
-        t.save(ar, file_version);
-    }
-    template<class Archive, class T>
-    static void member_load(
-        Archive & ar, 
-        T & t,
-        const unsigned int file_version
-    ){
-        t.load(ar, file_version);
-    }
-    template<class Archive, class T>
-    static void serialize(
-        Archive & ar, 
-        T & t, 
-        const unsigned int file_version
-    ){
-        // note: if you get a compile time error here with a
-        // message something like:
-        // cannot convert parameter 1 from <file type 1> to <file type 2 &>
-        // a likely possible cause is that the class T contains a 
-        // serialize function - but that serialize function isn't 
-        // a template and corresponds to a file type different than
-        // the class Archive.  To resolve this, don't include an
-        // archive type other than that for which the serialization
-        // function is defined!!!
-        t.serialize(ar, file_version);
-    }
-    template<class T>
-    static void destroy( const T * t) // const appropriate here?
-    {
-        // the const business is an MSVC 6.0 hack that should be
-        // benign on everything else
-        delete const_cast<T *>(t);
-    }
-    template<class T>
-    static void construct(T * t){
-        // default is inplace invocation of default constructor
-        // Note the :: before the placement new. Required if the
-        // class doesn't have a class-specific placement new defined.
-        ::new(t)T;
-    }
-    template<class T, class U>
-    static T & cast_reference(U & u){
-        return static_cast<T &>(u);
-    }
-    template<class T, class U>
-    static T * cast_pointer(U * u){
-        return static_cast<T *>(u);
-    }
-};
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_ACCESS_HPP
diff --git a/SRC/Boost/boost/serialization/array.hpp b/SRC/Boost/boost/serialization/array.hpp
deleted file mode 100755
index 379def4..0000000
--- a/SRC/Boost/boost/serialization/array.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-#ifndef BOOST_SERIALIZATION_ARRAY_HPP
-#define BOOST_SERIALIZATION_ARRAY_HPP
-
-// (C) Copyright 2005 Matthias Troyer and Dave Abrahams
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <iostream>
-#include <cstddef> // std::size_t
-#include <cstddef>
-#include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/wrapper.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/array.hpp>
-
-namespace boost { namespace serialization {
-
-// traits to specify whether to use  an optimized array serialization
-
-#ifdef __BORLANDC__
-// workaround for Borland compiler
-template <class Archive>
-struct use_array_optimization {
-  template <class T> struct apply : boost::mpl::false_ {};
-};
-
-#else
-template <class Archive>
-struct use_array_optimization : boost::mpl::always<boost::mpl::false_> {};
-#endif
-
-template<class T>
-class array :
-    public wrapper_traits<const array< T > >
-{
-public:    
-    typedef T value_type;
-    
-    array(value_type* t, std::size_t s) :
-        m_t(t),
-        m_element_count(s)
-    {}
-    array(const array & rhs) :
-        m_t(rhs.m_t),
-        m_element_count(rhs.m_element_count)
-    {}
-    array & operator=(const array & rhs){
-        m_t = rhs.m_t;
-        m_element_count = rhs.m_element_count;
-    }
-
-    // default implementation
-    template<class Archive>
-    void serialize_optimized(Archive &ar, const unsigned int, mpl::false_ ) const
-    {
-      // default implemention does the loop
-      std::size_t c = count();
-      value_type * t = address();
-      while(0 < c--)
-            ar & boost::serialization::make_nvp("item", *t++);
-    }
-
-    // optimized implementation
-    template<class Archive>
-    void serialize_optimized(Archive &ar, const unsigned int version, mpl::true_ )
-    {
-      boost::serialization::split_member(ar, *this, version);
-    }
-
-    // default implementation
-    template<class Archive>
-    void save(Archive &ar, const unsigned int version) const
-    {
-      ar.save_array(*this,version);
-    }
-
-    // default implementation
-    template<class Archive>
-    void load(Archive &ar, const unsigned int version)
-    {
-      ar.load_array(*this,version);
-    }
-    
-    // default implementation
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-      typedef BOOST_DEDUCED_TYPENAME 
-          boost::serialization::use_array_optimization<Archive>::template apply<
-                    BOOST_DEDUCED_TYPENAME remove_const< T >::type 
-                >::type use_optimized;
-      serialize_optimized(ar,version,use_optimized());
-    }
-    
-    value_type* address() const
-    {
-      return m_t;
-    }
-
-    std::size_t count() const
-    {
-      return m_element_count;
-    }
-    
-private:
-    value_type* m_t;
-    std::size_t m_element_count;
-};
-
-template<class T>
-inline
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-const
-#endif
-array< T > make_array( T* t, std::size_t s){
-    return array< T >(t, s);
-}
-
-template <class Archive, class T, std::size_t N>
-void serialize(Archive& ar, boost::array<T,N>& a, const unsigned int /* version */)
-{
-  ar & boost::serialization::make_nvp("elems",a.elems);
-}
-
-} } // end namespace boost::serialization
-
-#ifdef __BORLANDC__
-// ignore optimizations for Borland
-#define BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(Archive)      
-#else
-#define BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(Archive)           \
-namespace boost { namespace serialization {                           \
-template <> struct use_array_optimization<Archive> {                  \
-  template <class ValueType>                                          \
-  struct apply : boost::mpl::apply1<Archive::use_array_optimization   \
-      , BOOST_DEDUCED_TYPENAME boost::remove_const<ValueType>::type   \
-    >::type {};                                                       \
-}; }}
-#endif // __BORLANDC__
-
-#endif //BOOST_SERIALIZATION_ARRAY_HPP
diff --git a/SRC/Boost/boost/serialization/base_object.hpp b/SRC/Boost/boost/serialization/base_object.hpp
deleted file mode 100755
index 7f2117d..0000000
--- a/SRC/Boost/boost/serialization/base_object.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-#ifndef BOOST_SERIALIZATION_BASE_OBJECT_HPP
-#define BOOST_SERIALIZATION_BASE_OBJECT_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// base_object.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// if no archive headers have been included this is a no op
-// this is to permit BOOST_EXPORT etc to be included in a 
-// file declaration header
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_polymorphic.hpp>
-
-#include <boost/static_assert.hpp>
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/force_include.hpp>
-#include <boost/serialization/void_cast_fwd.hpp>
-
-namespace boost {
-namespace serialization {
-
-namespace detail
-{
-    // get the base type for a given derived type
-    // preserving the const-ness
-    template<class B, class D>
-    struct base_cast
-    {
-        typedef BOOST_DEDUCED_TYPENAME
-        mpl::if_<
-            is_const<D>,
-            const B,
-            B
-        >::type type;
-        BOOST_STATIC_ASSERT(is_const<type>::value == is_const<D>::value);
-    };
-
-    // only register void casts if the types are polymorphic
-    template<class Base, class Derived>
-    struct base_register
-    {
-        struct polymorphic {
-            static void const * invoke(){
-                Base const * const b = 0;
-                Derived const * const d = 0;
-                return & void_cast_register(d, b);
-            }
-        };
-        struct non_polymorphic {
-            static void const * invoke(){
-                return 0;
-            }
-        };
-        static void const * invoke(){
-            typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
-                is_polymorphic<Base>,
-                mpl::identity<polymorphic>,
-                mpl::identity<non_polymorphic>
-            >::type type;
-            return type::invoke();
-        }
-    };
-
-} // namespace detail
-#if defined(__BORLANDC__) && __BORLANDC__ < 0x610
-template<class Base, class Derived>
-const Base & 
-base_object(const Derived & d)
-{
-    BOOST_STATIC_ASSERT(! is_pointer<Derived>::value);
-    detail::base_register<Base, Derived>::invoke();
-    return access::cast_reference<const Base, Derived>(d);
-}
-#else
-template<class Base, class Derived>
-BOOST_DEDUCED_TYPENAME detail::base_cast<Base, Derived>::type & 
-base_object(Derived &d)
-{
-    BOOST_STATIC_ASSERT(( is_base_and_derived<Base,Derived>::value));
-    BOOST_STATIC_ASSERT(! is_pointer<Derived>::value);
-    typedef BOOST_DEDUCED_TYPENAME detail::base_cast<Base, Derived>::type type;
-    detail::base_register<type, Derived>::invoke();
-    return access::cast_reference<type, Derived>(d);
-}
-#endif
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_BASE_OBJECT_HPP
diff --git a/SRC/Boost/boost/serialization/binary_object.hpp b/SRC/Boost/boost/serialization/binary_object.hpp
deleted file mode 100755
index 413400c..0000000
--- a/SRC/Boost/boost/serialization/binary_object.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef BOOST_SERIALIZATION_BINARY_OBJECT_HPP
-#define BOOST_SERIALIZATION_BINARY_OBJECT_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// nvp.hpp: interface for serialization system.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/assert.hpp>
-
-#include <cstddef> // std::size_t
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/preprocessor/stringize.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/wrapper.hpp>
-
-namespace boost {
-namespace serialization {
-
-struct binary_object :
-    public wrapper_traits<nvp<const binary_object> >
-{
-    void const * m_t;
-    std::size_t m_size;
-    template<class Archive>
-    void save(Archive & ar, const unsigned int /* file_version */) const {
-        ar.save_binary(m_t, m_size);
-    }
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */) const {
-        ar.load_binary(const_cast<void *>(m_t), m_size);
-    }
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-    binary_object & operator=(const binary_object & rhs) {
-        m_t = rhs.m_t;
-        m_size = rhs.m_size;
-        return *this;
-    }
-    binary_object(/* const */ void * const t, std::size_t size) :
-        m_t(t),
-        m_size(size)
-    {}
-    binary_object(const binary_object & rhs) :
-        m_t(rhs.m_t),
-        m_size(rhs.m_size)
-    {}
-};
-
-// just a little helper to support the convention that all serialization
-// wrappers follow the naming convention make_xxxxx
-inline 
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-const
-#endif
-binary_object 
-make_binary_object(/* const */ void * t, std::size_t size){
-    return binary_object(t, size);
-}
-
-} // namespace serialization
-} // boost
-
-#endif // BOOST_SERIALIZATION_BINARY_OBJECT_HPP
diff --git a/SRC/Boost/boost/serialization/bitset.hpp b/SRC/Boost/boost/serialization/bitset.hpp
deleted file mode 100755
index 51a894b..0000000
--- a/SRC/Boost/boost/serialization/bitset.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/*!
- * \file      bitset.hpp
- * \brief     Provides Boost.Serialization support for std::bitset
- * \author    Brian Ravnsgaard Riis
- * \author    Kenneth Riddile
- * \date      16.09.2004, updated 04.03.2009
- * \copyright 2004 Brian Ravnsgaard Riis
- * \license   Boost Software License 1.0
- */
-#ifndef BOOST_SERIALIZATION_BITSET_HPP
-#define BOOST_SERIALIZATION_BITSET_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <bitset>
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/string.hpp>
-#include <boost/serialization/nvp.hpp>
-
-namespace boost{
-namespace serialization{
-
-template <class Archive, std::size_t size>
-inline void save(
-    Archive & ar,
-    std::bitset<size> const & t,
-    const unsigned int /* version */
-){
-    const std::string bits = t.template to_string<
-        std::string::value_type,
-        std::string::traits_type,
-        std::string::allocator_type
-    >();
-    ar << BOOST_SERIALIZATION_NVP( bits );
-}
-
-template <class Archive, std::size_t size>
-inline void load(
-    Archive & ar,
-    std::bitset<size> & t,
-    const unsigned int /* version */
-){
-    std::string bits;
-    ar >> BOOST_SERIALIZATION_NVP( bits );
-    t = std::bitset<size>(bits);
-}
-
-template <class Archive, std::size_t size>
-inline void serialize(
-    Archive & ar,
-    std::bitset<size> & t,
-    const unsigned int version
-){
-    boost::serialization::split_free( ar, t, version );
-}
-
-// don't track bitsets since that would trigger tracking
-// all over the program - which probably would be a surprise.
-// also, tracking would be hard to implement since, we're
-// serialization a representation of the data rather than
-// the data itself.
-template <std::size_t size>
-struct tracking_level<std::bitset<size> >
-    : mpl::int_<track_never> {} ;
-
-} //serialization
-} //boost
-
-#endif // BOOST_SERIALIZATION_BITSET_HPP
diff --git a/SRC/Boost/boost/serialization/collection_size_type.hpp b/SRC/Boost/boost/serialization/collection_size_type.hpp
deleted file mode 100755
index 8b9aff5..0000000
--- a/SRC/Boost/boost/serialization/collection_size_type.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef BOOST_SERIALIZATION_COLLECTION_SIZE_TYPE_HPP
-#define BOOST_SERIALIZATION_COLLECTION_SIZE_TYPE_HPP
-
-// (C) Copyright 2005 Matthias Troyer
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <cstddef> // size_t
-#include <boost/serialization/strong_typedef.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/is_bitwise_serializable.hpp>
-
-namespace boost { 
-namespace serialization {
-
-//BOOST_STRONG_TYPEDEF(std::size_t, collection_size_type)
-
-class collection_size_type {
-private:
-    typedef std::size_t base_type;
-    base_type t;
-public:
-    collection_size_type(): t(0) {};
-    explicit collection_size_type(const std::size_t & t_) : 
-        t(t_)
-    {}
-    collection_size_type(const collection_size_type & t_) : 
-        t(t_.t)
-    {}
-    collection_size_type & operator=(const collection_size_type & rhs){
-        t = rhs.t; 
-        return *this;
-    }
-    collection_size_type & operator=(const unsigned int & rhs){
-        t = rhs; 
-        return *this;
-    }
-    // used for text output
-    operator base_type () const {
-        return t;
-    }                
-    // used for text input
-    operator base_type & () {
-        return t;
-    }                
-    bool operator==(const collection_size_type & rhs) const {
-        return t == rhs.t;
-    } 
-    bool operator<(const collection_size_type & rhs) const {
-        return t < rhs.t;
-    }   
-};
-
-
-} } // end namespace boost::serialization
-
-BOOST_CLASS_IMPLEMENTATION(collection_size_type, primitive_type)
-BOOST_IS_BITWISE_SERIALIZABLE(collection_size_type)
-
-#endif //BOOST_SERIALIZATION_COLLECTION_SIZE_TYPE_HPP
diff --git a/SRC/Boost/boost/serialization/collection_traits.hpp b/SRC/Boost/boost/serialization/collection_traits.hpp
deleted file mode 100755
index 5a56ddd..0000000
--- a/SRC/Boost/boost/serialization/collection_traits.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef BOOST_SERIALIZATION_COLLECTION_TRAITS_HPP
-#define BOOST_SERIALIZATION_COLLECTION_TRAITS_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// collection_traits.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// This header assigns a level implemenation trait to a collection type
-// for all primitives.  It is needed so that archives which are meant to be
-// portable don't write class information in the archive.  Since, not all
-// compiles recognize the same set of primitive types, the possibility
-// exists for archives to be non-portable if class information for primitive
-// types is included.  This is addressed by the following macros.
-#include <boost/config.hpp>
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/integral_c_tag.hpp>
-
-#include <boost/cstdint.hpp>
-#include <boost/integer_traits.hpp>
-#include <climits> // ULONG_MAX
-#include <boost/serialization/level.hpp>
-
-#define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(T, C)          \
-template<>                                                          \
-struct implementation_level< C < T > > {                            \
-    typedef mpl::integral_c_tag tag;                                \
-    typedef mpl::int_<object_serializable> type;                    \
-    BOOST_STATIC_CONSTANT(int, value = object_serializable);        \
-};                                                                  \
-/**/
-
-#if defined(BOOST_NO_CWCHAR) || defined(BOOST_NO_INTRINSIC_WCHAR_T)
-    #define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_WCHAR(C)
-#else
-    #define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_WCHAR(C)   \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(wchar_t, C)        \
-    /**/
-#endif
-
-#if defined(BOOST_HAS_LONG_LONG)
-    #define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_INT64(C)    \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::long_long_type, C)  \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::ulong_long_type, C) \
-    /**/
-#else
-    #define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_INT64(C)
-#endif
-
-#define BOOST_SERIALIZATION_COLLECTION_TRAITS(C)                     \
-    namespace boost { namespace serialization {                      \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(bool, C)            \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(char, C)            \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(signed char, C)     \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(unsigned char, C)   \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(signed int, C)      \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(unsigned int, C)    \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(signed long, C)     \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(unsigned long, C)   \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(float, C)           \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(double, C)          \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(unsigned short, C)  \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(signed short, C)    \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_INT64(C)            \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_WCHAR(C)            \
-    } }                                                              \
-    /**/
-
-#endif // BOOST_SERIALIZATION_COLLECTION_TRAITS
diff --git a/SRC/Boost/boost/serialization/collections_load_imp.hpp b/SRC/Boost/boost/serialization/collections_load_imp.hpp
deleted file mode 100755
index 1a2eebc..0000000
--- a/SRC/Boost/boost/serialization/collections_load_imp.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_COLLECTIONS_LOAD_IMP_HPP
-#define BOOST_SERIALIZATION_COLLECTIONS_LOAD_IMP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#if defined(_MSC_VER) && (_MSC_VER <= 1020)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// collections_load_imp.hpp: serialization for loading stl collections
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// helper function templates for serialization of collections
-
-#include <boost/assert.hpp>
-#include <cstddef> // size_t
-#include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-#include <boost/detail/workaround.hpp>
-
-#include <boost/archive/detail/basic_iarchive.hpp>
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/detail/stack_constructor.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-namespace boost{
-namespace serialization {
-namespace stl {
-
-//////////////////////////////////////////////////////////////////////
-// implementation of serialization for STL containers
-//
-
-// sequential container input
-template<class Archive, class Container>
-struct archive_input_seq
-{
-    inline BOOST_DEDUCED_TYPENAME Container::iterator
-    operator()(
-        Archive &ar, 
-        Container &s, 
-        const unsigned int v,
-        BOOST_DEDUCED_TYPENAME Container::iterator hint
-    ){
-        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
-        detail::stack_construct<Archive, type> t(ar, v);
-        // borland fails silently w/o full namespace
-        ar >> boost::serialization::make_nvp("item", t.reference());
-        s.push_back(t.reference());
-        ar.reset_object_address(& s.back() , & t.reference());
-        return hint;
-    }
-};
-
-// map input
-template<class Archive, class Container>
-struct archive_input_map
-{
-    inline BOOST_DEDUCED_TYPENAME Container::iterator
-    operator()(
-        Archive &ar, 
-        Container &s, 
-        const unsigned int v,
-        BOOST_DEDUCED_TYPENAME Container::iterator hint
-    ){
-        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
-        detail::stack_construct<Archive, type> t(ar, v);
-        // borland fails silently w/o full namespace
-        ar >> boost::serialization::make_nvp("item", t.reference());
-        BOOST_DEDUCED_TYPENAME Container::iterator result = 
-            s.insert(hint, t.reference());
-        // note: the following presumes that the map::value_type was NOT tracked
-        // in the archive.  This is the usual case, but here there is no way
-        // to determine that.  
-        ar.reset_object_address(
-            & (result->second),
-            & t.reference().second
-        );
-        return result;
-    }
-};
-
-// set input
-template<class Archive, class Container>
-struct archive_input_set
-{
-    inline BOOST_DEDUCED_TYPENAME Container::iterator
-    operator()(
-        Archive &ar, 
-        Container &s, 
-        const unsigned int v,
-        BOOST_DEDUCED_TYPENAME Container::iterator hint
-    ){
-        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
-        detail::stack_construct<Archive, type> t(ar, v);
-        // borland fails silently w/o full namespace
-        ar >> boost::serialization::make_nvp("item", t.reference());
-        BOOST_DEDUCED_TYPENAME Container::iterator result = 
-            s.insert(hint, t.reference());
-        ar.reset_object_address(& (* result), & t.reference());
-        return result;
-    }
-};
-
-template<class Container>
-class reserve_imp
-{
-public:
-    void operator()(Container &s, std::size_t count) const {
-        s.reserve(count);
-    }
-};
-
-template<class Container>
-class no_reserve_imp
-{
-public:
-    void operator()(Container & /* s */, std::size_t /* count */) const{}
-};
-
-template<class Archive, class Container, class InputFunction, class R>
-inline void load_collection(Archive & ar, Container &s)
-{
-    s.clear();
-    collection_size_type count;
-    const boost::archive::library_version_type library_version(
-        ar.get_library_version()
-    );
-    // retrieve number of elements
-    item_version_type item_version(0);
-    ar >> BOOST_SERIALIZATION_NVP(count);
-    if(boost::archive::library_version_type(3) < library_version){
-        ar >> BOOST_SERIALIZATION_NVP(item_version);
-    }
-
-    R rx;
-    rx(s, count);
-    InputFunction ifunc;
-    BOOST_DEDUCED_TYPENAME Container::iterator hint;
-    hint = s.begin();
-    while(count-- > 0){
-        hint = ifunc(ar, s, item_version, hint);
-    }
-}
-
-} // namespace stl 
-} // namespace serialization
-} // namespace boost
-
-#endif //BOOST_SERIALIZATION_COLLECTIONS_LOAD_IMP_HPP
diff --git a/SRC/Boost/boost/serialization/collections_save_imp.hpp b/SRC/Boost/boost/serialization/collections_save_imp.hpp
deleted file mode 100755
index bae018e..0000000
--- a/SRC/Boost/boost/serialization/collections_save_imp.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef BOOST_SERIALIZATION_COLLECTIONS_SAVE_IMP_HPP
-#define BOOST_SERIALIZATION_COLLECTIONS_SAVE_IMP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// collections_save_imp.hpp: serialization for stl collections
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// helper function templates for serialization of collections
-
-#include <boost/config.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/serialization.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-namespace boost{
-namespace serialization {
-namespace stl {
-
-//////////////////////////////////////////////////////////////////////
-// implementation of serialization for STL containers
-//
-
-template<class Archive, class Container>
-inline void save_collection(Archive & ar, const Container &s)
-{
-    // record number of elements
-    collection_size_type count(s.size());
-    const item_version_type item_version(
-        version<BOOST_DEDUCED_TYPENAME Container::value_type>::value
-    );
-    ar << BOOST_SERIALIZATION_NVP(count);
-    #if 0
-        boost::archive::library_version_type library_version(
-            ar.get_library_version()
-        );
-        if(boost::archive::library_version_type(3) < library_version){
-            ar << BOOST_SERIALIZATION_NVP(item_version);
-        }
-    #else
-        ar << BOOST_SERIALIZATION_NVP(item_version);
-    #endif
-
-    BOOST_DEDUCED_TYPENAME Container::const_iterator it = s.begin();
-    while(count-- > 0){
-        // note borland emits a no-op without the explicit namespace
-        boost::serialization::save_construct_data_adl(
-            ar, 
-            &(*it), 
-            item_version
-        );
-        ar << boost::serialization::make_nvp("item", *it++);
-    }
-}
-
-} // namespace stl 
-} // namespace serialization
-} // namespace boost
-
-#endif //BOOST_SERIALIZATION_COLLECTIONS_SAVE_IMP_HPP
diff --git a/SRC/Boost/boost/serialization/complex.hpp b/SRC/Boost/boost/serialization/complex.hpp
deleted file mode 100755
index 8e5b13e..0000000
--- a/SRC/Boost/boost/serialization/complex.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_COMPLEX_HPP
-#define BOOST_SERIALIZATION_COMPLEX_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// serialization/utility.hpp:
-// serialization for stl utility templates
-
-// (C) Copyright 2007 Matthias Troyer . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <complex>
-#include <boost/config.hpp>
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/is_bitwise_serializable.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive, class T>
-inline void serialize(
-    Archive & ar,
-    std::complex< T > & t,
-    const unsigned int file_version 
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-template<class Archive, class T>
-inline void save(
-    Archive & ar,
-    std::complex< T > const & t,
-    const unsigned int /* file_version */
-){
-    const T re = t.real();
-    const T im = t.imag();
-    ar << boost::serialization::make_nvp("real", re);
-    ar << boost::serialization::make_nvp("imag", im);
-}
-
-template<class Archive, class T>
-inline void load(
-    Archive & ar,
-    std::complex< T >& t,
-    const unsigned int /* file_version */ 
-){
-    T re;
-    T im;
-    ar >> boost::serialization::make_nvp("real", re);
-    ar >> boost::serialization::make_nvp("imag", im);
-    t = std::complex< T >(re,im);
-}
-
-// specialization of serialization traits for complex
-template <class T>
-struct is_bitwise_serializable<std::complex< T > >
-    : public is_bitwise_serializable< T > {};
-
-template <class T>
-struct implementation_level<std::complex< T > >
-    : mpl::int_<object_serializable> {} ;
-
-// treat complex just like builtin arithmetic types for tracking
-template <class T>
-struct tracking_level<std::complex< T > >
-    : mpl::int_<track_never> {} ;
-
-} // serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_COMPLEX_HPP
diff --git a/SRC/Boost/boost/serialization/deque.hpp b/SRC/Boost/boost/serialization/deque.hpp
deleted file mode 100755
index 927cc37..0000000
--- a/SRC/Boost/boost/serialization/deque.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_DEQUE_HPP
-#define BOOST_SERIALIZATION_DEQUE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// deque.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <deque>
-
-#include <boost/config.hpp>
-
-#include <boost/serialization/collections_save_imp.hpp>
-#include <boost/serialization/collections_load_imp.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive, class U, class Allocator>
-inline void save(
-    Archive & ar,
-    const std::deque<U, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    boost::serialization::stl::save_collection<
-        Archive, std::deque<U, Allocator> 
-    >(ar, t);
-}
-
-template<class Archive, class U, class Allocator>
-inline void load(
-    Archive & ar,
-    std::deque<U, Allocator> &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::load_collection<
-        Archive,
-        std::deque<U, Allocator>,
-        boost::serialization::stl::archive_input_seq<
-        Archive, std::deque<U, Allocator> 
-        >,
-        boost::serialization::stl::no_reserve_imp<std::deque<U, Allocator> >
-    >(ar, t);
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<class Archive, class U, class Allocator>
-inline void serialize(
-    Archive & ar,
-    std::deque<U, Allocator> &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#include <boost/serialization/collection_traits.hpp>
-
-BOOST_SERIALIZATION_COLLECTION_TRAITS(std::deque)
-
-#endif // BOOST_SERIALIZATION_DEQUE_HPP
diff --git a/SRC/Boost/boost/serialization/detail/shared_count_132.hpp b/SRC/Boost/boost/serialization/detail/shared_count_132.hpp
deleted file mode 100755
index 7c390d9..0000000
--- a/SRC/Boost/boost/serialization/detail/shared_count_132.hpp
+++ /dev/null
@@ -1,569 +0,0 @@
-#ifndef BOOST_DETAIL_SHARED_COUNT_132_HPP_INCLUDED
-#define BOOST_DETAIL_SHARED_COUNT_132_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/shared_count.hpp
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR) && defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-# error BOOST_SP_USE_STD_ALLOCATOR and BOOST_SP_USE_QUICK_ALLOCATOR are incompatible.
-#endif
-
-#include <boost/checked_delete.hpp>
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/detail/lightweight_mutex.hpp>
-
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-#include <boost/detail/quick_allocator.hpp>
-#endif
-
-#include <memory>           // std::auto_ptr, std::allocator
-#include <functional>       // std::less
-#include <exception>        // std::exception
-#include <new>              // std::bad_alloc
-#include <typeinfo>         // std::type_info in get_deleter
-#include <cstddef>          // std::size_t
-
-#include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#ifdef __BORLANDC__
-# pragma warn -8026     // Functions with excep. spec. are not expanded inline
-# pragma warn -8027     // Functions containing try are not expanded inline
-#endif
-
-namespace boost_132 {
-
-// Debug hooks
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-void sp_scalar_constructor_hook(void * px, std::size_t size, void * pn);
-void sp_array_constructor_hook(void * px);
-void sp_scalar_destructor_hook(void * px, std::size_t size, void * pn);
-void sp_array_destructor_hook(void * px);
-
-#endif
-
-
-// The standard library that comes with Borland C++ 5.5.1
-// defines std::exception and its members as having C calling
-// convention (-pc). When the definition of bad_weak_ptr
-// is compiled with -ps, the compiler issues an error.
-// Hence, the temporary #pragma option -pc below. The version
-// check is deliberately conservative.
-
-#if defined(__BORLANDC__) && __BORLANDC__ == 0x551
-# pragma option push -pc
-#endif
-
-class bad_weak_ptr: public std::exception
-{
-public:
-
-    virtual char const * what() const throw()
-    {
-        return "boost::bad_weak_ptr";
-    }
-};
-
-#if defined(__BORLANDC__) && __BORLANDC__ == 0x551
-# pragma option pop
-#endif
-
-namespace detail{
-
-class sp_counted_base
-{
-//private:
-
-    typedef boost::detail::lightweight_mutex mutex_type;
-
-public:
-
-    sp_counted_base(): use_count_(1), weak_count_(1)
-    {
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destruct() is called when weak_count_ drops to zero.
-
-    virtual void destruct() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter(std::type_info const & ti) = 0;
-
-    void add_ref_copy()
-    {
-#if defined(BOOST_HAS_THREADS)
-        mutex_type::scoped_lock lock(mtx_);
-#endif
-        ++use_count_;
-    }
-
-    void add_ref_lock()
-    {
-#if defined(BOOST_HAS_THREADS)
-        mutex_type::scoped_lock lock(mtx_);
-#endif
-        if(use_count_ == 0) boost::serialization::throw_exception(bad_weak_ptr());
-        ++use_count_;
-    }
-
-    void release() // nothrow
-    {
-        {
-#if defined(BOOST_HAS_THREADS)
-            mutex_type::scoped_lock lock(mtx_);
-#endif
-            long new_use_count = --use_count_;
-
-            if(new_use_count != 0) return;
-        }
-
-        dispose();
-        weak_release();
-    }
-
-    void weak_add_ref() // nothrow
-    {
-#if defined(BOOST_HAS_THREADS)
-        mutex_type::scoped_lock lock(mtx_);
-#endif
-        ++weak_count_;
-    }
-
-    void weak_release() // nothrow
-    {
-        long new_weak_count;
-
-        {
-#if defined(BOOST_HAS_THREADS)
-            mutex_type::scoped_lock lock(mtx_);
-#endif
-            new_weak_count = --weak_count_;
-        }
-
-        if(new_weak_count == 0)
-        {
-            destruct();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-#if defined(BOOST_HAS_THREADS)
-        mutex_type::scoped_lock lock(mtx_);
-#endif
-        return use_count_;
-    }
-
-//private:
-public:
-    sp_counted_base(sp_counted_base const &);
-    sp_counted_base & operator= (sp_counted_base const &);
-
-    long use_count_;        // #shared
-    long weak_count_;       // #weak + (#shared != 0)
-
-#if defined(BOOST_HAS_THREADS) || defined(BOOST_LWM_WIN32)
-    mutable mutex_type mtx_;
-#endif
-};
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-template<class T> void cbi_call_constructor_hook(sp_counted_base * pn, T * px, checked_deleter< T > const &, int)
-{
-    boost::sp_scalar_constructor_hook(px, sizeof(T), pn);
-}
-
-template<class T> void cbi_call_constructor_hook(sp_counted_base *, T * px, checked_array_deleter< T > const &, int)
-{
-    boost::sp_array_constructor_hook(px);
-}
-
-template<class P, class D> void cbi_call_constructor_hook(sp_counted_base *, P const &, D const &, long)
-{
-}
-
-template<class T> void cbi_call_destructor_hook(sp_counted_base * pn, T * px, checked_deleter< T > const &, int)
-{
-    boost::sp_scalar_destructor_hook(px, sizeof(T), pn);
-}
-
-template<class T> void cbi_call_destructor_hook(sp_counted_base *, T * px, checked_array_deleter< T > const &, int)
-{
-    boost::sp_array_destructor_hook(px);
-}
-
-template<class P, class D> void cbi_call_destructor_hook(sp_counted_base *, P const &, D const &, long)
-{
-}
-
-#endif
-
-//
-// Borland's Codeguard trips up over the -Vx- option here:
-//
-#ifdef __CODEGUARD__
-# pragma option push -Vx-
-#endif
-
-template<class P, class D> class sp_counted_base_impl: public sp_counted_base
-{
-//private:
-public:
-    P ptr; // copy constructor must not throw
-    D del; // copy constructor must not throw
-
-    sp_counted_base_impl(sp_counted_base_impl const &);
-    sp_counted_base_impl & operator= (sp_counted_base_impl const &);
-
-    typedef sp_counted_base_impl<P, D> this_type;
-
-public:
-
-    // pre: initial_use_count <= initial_weak_count, d(p) must not throw
-
-    sp_counted_base_impl(P p, D d): ptr(p), del(d)
-    {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        detail::cbi_call_constructor_hook(this, p, d, 0);
-#endif
-    }
-
-    virtual void dispose() // nothrow
-    {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        detail::cbi_call_destructor_hook(this, ptr, del, 0);
-#endif
-        del(ptr);
-    }
-
-    virtual void * get_deleter(std::type_info const & ti)
-    {
-        return ti == typeid(D)? &del: 0;
-    }
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
-
-    void * operator new(std::size_t)
-    {
-        return std::allocator<this_type>().allocate(1, static_cast<this_type *>(0));
-    }
-
-    void operator delete(void * p)
-    {
-        std::allocator<this_type>().deallocate(static_cast<this_type *>(p), 1);
-    }
-
-#endif
-
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-
-    void * operator new(std::size_t)
-    {
-        return boost::detail::quick_allocator<this_type>::alloc();
-    }
-
-    void operator delete(void * p)
-    {
-        boost::detail::quick_allocator<this_type>::dealloc(p);
-    }
-
-#endif
-};
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-int const shared_count_id = 0x2C35F101;
-int const   weak_count_id = 0x298C38A4;
-
-#endif
-
-class weak_count;
-
-class shared_count
-{
-//private:
-public:
-    sp_counted_base * pi_;
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-    int id_;
-#endif
-
-    friend class weak_count;
-
-public:
-
-    shared_count(): pi_(0) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-    }
-
-    template<class P, class D> shared_count(P p, D d): pi_(0)
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-#ifndef BOOST_NO_EXCEPTIONS
-
-        try
-        {
-            pi_ = new sp_counted_base_impl<P, D>(p, d);
-        }
-        catch(...)
-        {
-            d(p); // delete p
-            throw;
-        }
-
-#else
-
-        pi_ = new sp_counted_base_impl<P, D>(p, d);
-
-        if(pi_ == 0)
-        {
-            d(p); // delete p
-            boost::serialization::throw_exception(std::bad_alloc());
-        }
-
-#endif
-    }
-
-#ifndef BOOST_NO_AUTO_PTR
-
-    // auto_ptr<Y> is special cased to provide the strong guarantee
-
-    template<class Y>
-    explicit shared_count(std::auto_ptr<Y> & r): pi_(
-        new sp_counted_base_impl<
-            Y *, 
-            boost::checked_deleter<Y>
-        >(r.get(), boost::checked_deleter<Y>()))
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-        r.release();
-    }
-
-#endif 
-
-    ~shared_count() // nothrow
-    {
-        if(pi_ != 0) pi_->release();
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        id_ = 0;
-#endif
-    }
-
-    shared_count(shared_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-        if(pi_ != 0) pi_->add_ref_copy();
-    }
-
-    explicit shared_count(weak_count const & r); // throws bad_weak_ptr when r.use_count() == 0
-
-    shared_count & operator= (shared_count const & r) // nothrow
-    {
-        sp_counted_base * tmp = r.pi_;
-
-        if(tmp != pi_)
-        {
-            if(tmp != 0) tmp->add_ref_copy();
-            if(pi_ != 0) pi_->release();
-            pi_ = tmp;
-        }
-
-        return *this;
-    }
-
-    void swap(shared_count & r) // nothrow
-    {
-        sp_counted_base * tmp = r.pi_;
-        r.pi_ = pi_;
-        pi_ = tmp;
-    }
-
-    long use_count() const // nothrow
-    {
-        return pi_ != 0? pi_->use_count(): 0;
-    }
-
-    bool unique() const // nothrow
-    {
-        return use_count() == 1;
-    }
-
-    friend inline bool operator==(shared_count const & a, shared_count const & b)
-    {
-        return a.pi_ == b.pi_;
-    }
-
-    friend inline bool operator<(shared_count const & a, shared_count const & b)
-    {
-        return std::less<sp_counted_base *>()(a.pi_, b.pi_);
-    }
-
-    void * get_deleter(std::type_info const & ti) const
-    {
-        return pi_? pi_->get_deleter(ti): 0;
-    }
-};
-
-#ifdef __CODEGUARD__
-# pragma option pop
-#endif
-
-
-class weak_count
-{
-private:
-
-    sp_counted_base * pi_;
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-    int id_;
-#endif
-
-    friend class shared_count;
-
-public:
-
-    weak_count(): pi_(0) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(weak_count_id)
-#endif
-    {
-    }
-
-    weak_count(shared_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-        if(pi_ != 0) pi_->weak_add_ref();
-    }
-
-    weak_count(weak_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-        if(pi_ != 0) pi_->weak_add_ref();
-    }
-
-    ~weak_count() // nothrow
-    {
-        if(pi_ != 0) pi_->weak_release();
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        id_ = 0;
-#endif
-    }
-
-    weak_count & operator= (shared_count const & r) // nothrow
-    {
-        sp_counted_base * tmp = r.pi_;
-        if(tmp != 0) tmp->weak_add_ref();
-        if(pi_ != 0) pi_->weak_release();
-        pi_ = tmp;
-
-        return *this;
-    }
-
-    weak_count & operator= (weak_count const & r) // nothrow
-    {
-        sp_counted_base * tmp = r.pi_;
-        if(tmp != 0) tmp->weak_add_ref();
-        if(pi_ != 0) pi_->weak_release();
-        pi_ = tmp;
-
-        return *this;
-    }
-
-    void swap(weak_count & r) // nothrow
-    {
-        sp_counted_base * tmp = r.pi_;
-        r.pi_ = pi_;
-        pi_ = tmp;
-    }
-
-    long use_count() const // nothrow
-    {
-        return pi_ != 0? pi_->use_count(): 0;
-    }
-
-    friend inline bool operator==(weak_count const & a, weak_count const & b)
-    {
-        return a.pi_ == b.pi_;
-    }
-
-    friend inline bool operator<(weak_count const & a, weak_count const & b)
-    {
-        return std::less<sp_counted_base *>()(a.pi_, b.pi_);
-    }
-};
-
-inline shared_count::shared_count(weak_count const & r): pi_(r.pi_)
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-{
-    if(pi_ != 0)
-    {
-        pi_->add_ref_lock();
-    }
-    else
-    {
-        boost::serialization::throw_exception(bad_weak_ptr());
-    }
-}
-
-} // namespace detail
-
-} // namespace boost
-
-BOOST_SERIALIZATION_ASSUME_ABSTRACT(boost_132::detail::sp_counted_base)
-
-#ifdef __BORLANDC__
-# pragma warn .8027     // Functions containing try are not expanded inline
-# pragma warn .8026     // Functions with excep. spec. are not expanded inline
-#endif
-
-#endif  // #ifndef BOOST_DETAIL_SHARED_COUNT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/serialization/detail/shared_ptr_132.hpp b/SRC/Boost/boost/serialization/detail/shared_ptr_132.hpp
deleted file mode 100755
index a0eccb7..0000000
--- a/SRC/Boost/boost/serialization/detail/shared_ptr_132.hpp
+++ /dev/null
@@ -1,478 +0,0 @@
-#ifndef BOOST_SHARED_PTR_132_HPP_INCLUDED
-#define BOOST_SHARED_PTR_132_HPP_INCLUDED
-
-//
-//  shared_ptr.hpp
-//
-//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.
-//
-
-#include <boost/config.hpp>   // for broken compiler workarounds
-
-#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-#include <boost/serialization/detail/shared_ptr_nmt_132.hpp>
-#else
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/detail/shared_count_132.hpp>
-
-#include <memory>               // for std::auto_ptr
-#include <algorithm>            // for std::swap
-#include <functional>           // for std::less
-#include <typeinfo>             // for std::bad_cast
-#include <iosfwd>               // for std::basic_ostream
-
-#ifdef BOOST_MSVC  // moved here to work around VC++ compiler crash
-# pragma warning(push)
-# pragma warning(disable:4284) // odd return type for operator->
-#endif
-
-namespace boost_132 {
-
-template<class T> class weak_ptr;
-template<class T> class enable_shared_from_this;
-
-namespace detail
-{
-
-struct static_cast_tag {};
-struct const_cast_tag {};
-struct dynamic_cast_tag {};
-struct polymorphic_cast_tag {};
-
-template<class T> struct shared_ptr_traits
-{
-    typedef T & reference;
-};
-
-template<> struct shared_ptr_traits<void>
-{
-    typedef void reference;
-};
-
-#if !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
-
-template<> struct shared_ptr_traits<void const>
-{
-    typedef void reference;
-};
-
-template<> struct shared_ptr_traits<void volatile>
-{
-    typedef void reference;
-};
-
-template<> struct shared_ptr_traits<void const volatile>
-{
-    typedef void reference;
-};
-
-#endif
-
-// enable_shared_from_this support
-
-template<class T, class Y> void sp_enable_shared_from_this( shared_count const & pn, enable_shared_from_this< T > const * pe, Y const * px )
-{
-    if(pe != 0) pe->_internal_weak_this._internal_assign(const_cast<Y*>(px), pn);
-}
-
-inline void sp_enable_shared_from_this( shared_count const & /*pn*/, ... )
-{
-}
-
-} // namespace detail
-
-
-//
-//  shared_ptr
-//
-//  An enhanced relative of scoped_ptr with reference counted copy semantics.
-//  The object pointed to is deleted when the last shared_ptr pointing to it
-//  is destroyed or reset.
-//
-
-template<class T> class shared_ptr
-{
-private:
-    // Borland 5.5.1 specific workaround
-    typedef shared_ptr< T > this_type;
-
-public:
-
-    typedef T element_type;
-    typedef T value_type;
-    typedef T * pointer;
-    typedef BOOST_DEDUCED_TYPENAME detail::shared_ptr_traits< T >::reference reference;
-
-    shared_ptr(): px(0), pn() // never throws in 1.30+
-    {
-    }
-
-#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x564) )
-    template<class Y>
-    explicit shared_ptr(Y * p): px(p), pn(p, boost::checked_deleter<Y>()) // Y must be complete
-#else
-    template<class Y>
-    explicit shared_ptr(Y * p): px(p), pn(p, boost::checked_deleter<Y>()) // Y must be complete
-#endif
-    {
-        detail::sp_enable_shared_from_this( pn, p, p );
-    }
-
-    //
-    // Requirements: D's copy constructor must not throw
-    //
-    // shared_ptr will release p by calling d(p)
-    //
-
-    template<class Y, class D> shared_ptr(Y * p, D d): px(p), pn(p, d)
-    {
-        detail::sp_enable_shared_from_this( pn, p, p );
-    }
-
-//  generated copy constructor, assignment, destructor are fine...
-
-//  except that Borland C++ has a bug, and g++ with -Wsynth warns
-#if defined(__BORLANDC__) || defined(__GNUC__)
-
-    shared_ptr & operator=(shared_ptr const & r) // never throws
-    {
-        px = r.px;
-        pn = r.pn; // shared_count::op= doesn't throw
-        return *this;
-    }
-
-#endif
-
-    template<class Y>
-    explicit shared_ptr(weak_ptr<Y> const & r): pn(r.pn) // may throw
-    {
-        // it is now safe to copy r.px, as pn(r.pn) did not throw
-        px = r.px;
-    }
-
-    template<class Y>
-    shared_ptr(shared_ptr<Y> const & r): px(r.px), pn(r.pn) // never throws
-    {
-    }
-
-    template<class Y>
-    shared_ptr(shared_ptr<Y> const & r, detail::static_cast_tag): px(static_cast<element_type *>(r.px)), pn(r.pn)
-    {
-    }
-
-    template<class Y>
-    shared_ptr(shared_ptr<Y> const & r, detail::const_cast_tag): px(const_cast<element_type *>(r.px)), pn(r.pn)
-    {
-    }
-
-    template<class Y>
-    shared_ptr(shared_ptr<Y> const & r, detail::dynamic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn)
-    {
-        if(px == 0) // need to allocate new counter -- the cast failed
-        {
-            pn = detail::shared_count();
-        }
-    }
-
-    template<class Y>
-    shared_ptr(shared_ptr<Y> const & r, detail::polymorphic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn)
-    {
-        if(px == 0)
-        {
-            boost::serialization::throw_exception(std::bad_cast());
-        }
-    }
-
-#ifndef BOOST_NO_AUTO_PTR
-
-    template<class Y>
-    explicit shared_ptr(std::auto_ptr<Y> & r): px(r.get()), pn()
-    {
-        Y * tmp = r.get();
-        pn = detail::shared_count(r);
-        detail::sp_enable_shared_from_this( pn, tmp, tmp );
-    }
-
-#endif
-
-#if !defined(BOOST_MSVC) || (BOOST_MSVC > 1200)
-
-    template<class Y>
-    shared_ptr & operator=(shared_ptr<Y> const & r) // never throws
-    {
-        px = r.px;
-        pn = r.pn; // shared_count::op= doesn't throw
-        return *this;
-    }
-
-#endif
-
-#ifndef BOOST_NO_AUTO_PTR
-
-    template<class Y>
-    shared_ptr & operator=(std::auto_ptr<Y> & r)
-    {
-        this_type(r).swap(*this);
-        return *this;
-    }
-
-#endif
-
-    void reset() // never throws in 1.30+
-    {
-        this_type().swap(*this);
-    }
-
-    template<class Y> void reset(Y * p) // Y must be complete
-    {
-        BOOST_ASSERT(p == 0 || p != px); // catch self-reset errors
-        this_type(p).swap(*this);
-    }
-
-    template<class Y, class D> void reset(Y * p, D d)
-    {
-        this_type(p, d).swap(*this);
-    }
-
-    reference operator* () const // never throws
-    {
-        BOOST_ASSERT(px != 0);
-        return *px;
-    }
-
-    T * operator-> () const // never throws
-    {
-        BOOST_ASSERT(px != 0);
-        return px;
-    }
-    
-    T * get() const // never throws
-    {
-        return px;
-    }
-
-    // implicit conversion to "bool"
-
-#if defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x530)
-
-    operator bool () const
-    {
-        return px != 0;
-    }
-
-#elif defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
-    typedef T * (this_type::*unspecified_bool_type)() const;
-    
-    operator unspecified_bool_type() const // never throws
-    {
-        return px == 0? 0: &this_type::get;
-    }
-
-#else 
-
-    typedef T * this_type::*unspecified_bool_type;
-
-    operator unspecified_bool_type() const // never throws
-    {
-        return px == 0? 0: &this_type::px;
-    }
-
-#endif
-
-    // operator! is redundant, but some compilers need it
-
-    bool operator! () const // never throws
-    {
-        return px == 0;
-    }
-
-    bool unique() const // never throws
-    {
-        return pn.unique();
-    }
-
-    long use_count() const // never throws
-    {
-        return pn.use_count();
-    }
-
-    void swap(shared_ptr< T > & other) // never throws
-    {
-        std::swap(px, other.px);
-        pn.swap(other.pn);
-    }
-
-    template<class Y> bool _internal_less(shared_ptr<Y> const & rhs) const
-    {
-        return pn < rhs.pn;
-    }
-
-    void * _internal_get_deleter(std::type_info const & ti) const
-    {
-        return pn.get_deleter(ti);
-    }
-
-// Tasteless as this may seem, making all members public allows member templates
-// to work in the absence of member template friends. (Matthew Langston)
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-
-private:
-
-    template<class Y> friend class shared_ptr;
-    template<class Y> friend class weak_ptr;
-
-
-#endif
-public: // for serialization
-    T * px;                     // contained pointer
-    detail::shared_count pn;    // reference counter
-
-};  // shared_ptr
-
-template<class T, class U> inline bool operator==(shared_ptr< T > const & a, shared_ptr<U> const & b)
-{
-    return a.get() == b.get();
-}
-
-template<class T, class U> inline bool operator!=(shared_ptr< T > const & a, shared_ptr<U> const & b)
-{
-    return a.get() != b.get();
-}
-
-#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
-
-// Resolve the ambiguity between our op!= and the one in rel_ops
-
-template<class T> inline bool operator!=(shared_ptr< T > const & a, shared_ptr< T > const & b)
-{
-    return a.get() != b.get();
-}
-
-#endif
-
-template<class T, class U> inline bool operator<(shared_ptr< T > const & a, shared_ptr<U> const & b)
-{
-    return a._internal_less(b);
-}
-
-template<class T> inline void swap(shared_ptr< T > & a, shared_ptr< T > & b)
-{
-    a.swap(b);
-}
-
-template<class T, class U> shared_ptr< T > static_pointer_cast(shared_ptr<U> const & r)
-{
-    return shared_ptr< T >(r, detail::static_cast_tag());
-}
-
-template<class T, class U> shared_ptr< T > const_pointer_cast(shared_ptr<U> const & r)
-{
-    return shared_ptr< T >(r, detail::const_cast_tag());
-}
-
-template<class T, class U> shared_ptr< T > dynamic_pointer_cast(shared_ptr<U> const & r)
-{
-    return shared_ptr< T >(r, detail::dynamic_cast_tag());
-}
-
-// shared_*_cast names are deprecated. Use *_pointer_cast instead.
-
-template<class T, class U> shared_ptr< T > shared_static_cast(shared_ptr<U> const & r)
-{
-    return shared_ptr< T >(r, detail::static_cast_tag());
-}
-
-template<class T, class U> shared_ptr< T > shared_dynamic_cast(shared_ptr<U> const & r)
-{
-    return shared_ptr< T >(r, detail::dynamic_cast_tag());
-}
-
-template<class T, class U> shared_ptr< T > shared_polymorphic_cast(shared_ptr<U> const & r)
-{
-    return shared_ptr< T >(r, detail::polymorphic_cast_tag());
-}
-
-template<class T, class U> shared_ptr< T > shared_polymorphic_downcast(shared_ptr<U> const & r)
-{
-    BOOST_ASSERT(dynamic_cast<T *>(r.get()) == r.get());
-    return shared_static_cast< T >(r);
-}
-
-// get_pointer() enables boost::mem_fn to recognize shared_ptr
-
-template<class T> inline T * get_pointer(shared_ptr< T > const & p)
-{
-    return p.get();
-}
-
-// operator<<
-
-#if defined(__GNUC__) &&  (__GNUC__ < 3)
-
-template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p)
-{
-    os << p.get();
-    return os;
-}
-
-#else
-
-# if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, <= 1200 && __SGI_STL_PORT)
-// MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL
-using std::basic_ostream;
-template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, shared_ptr<Y> const & p)
-# else
-template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p)
-# endif 
-{
-    os << p.get();
-    return os;
-}
-
-#endif
-
-// get_deleter (experimental)
-
-#if (defined(__GNUC__) &&  (__GNUC__ < 3)) || (defined(__EDG_VERSION__) && (__EDG_VERSION__ <= 238))
-
-// g++ 2.9x doesn't allow static_cast<X const *>(void *)
-// apparently EDG 2.38 also doesn't accept it
-
-template<class D, class T> D * get_deleter(shared_ptr< T > const & p)
-{
-    void const * q = p._internal_get_deleter(typeid(D));
-    return const_cast<D *>(static_cast<D const *>(q));
-}
-
-#else
-
-template<class D, class T> D * get_deleter(shared_ptr< T > const & p)
-{
-    return static_cast<D *>(p._internal_get_deleter(typeid(D)));
-}
-
-#endif
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif    
-
-#endif  // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
-#endif  // #ifndef BOOST_SHARED_PTR_132_HPP_INCLUDED
diff --git a/SRC/Boost/boost/serialization/detail/shared_ptr_nmt_132.hpp b/SRC/Boost/boost/serialization/detail/shared_ptr_nmt_132.hpp
deleted file mode 100755
index 930521c..0000000
--- a/SRC/Boost/boost/serialization/detail/shared_ptr_nmt_132.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-#ifndef BOOST_DETAIL_SHARED_PTR_NMT_132_HPP_INCLUDED
-#define BOOST_DETAIL_SHARED_PTR_NMT_132_HPP_INCLUDED
-
-//
-//  detail/shared_ptr_nmt.hpp - shared_ptr.hpp without member templates
-//
-//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-//  Copyright (c) 2001, 2002 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.
-//
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/detail/atomic_count.hpp>
-
-#ifndef BOOST_NO_AUTO_PTR
-# include <memory>          // for std::auto_ptr
-#endif
-
-#include <algorithm>        // for std::swap
-#include <functional>       // for std::less
-#include <new>              // for std::bad_alloc
-
-namespace boost
-{
-
-template<class T> class shared_ptr
-{
-private:
-
-    typedef detail::atomic_count count_type;
-
-public:
-
-    typedef T element_type;
-    typedef T value_type;
-
-    explicit shared_ptr(T * p = 0): px(p)
-    {
-#ifndef BOOST_NO_EXCEPTIONS
-
-        try  // prevent leak if new throws
-        {
-            pn = new count_type(1);
-        }
-        catch(...)
-        {
-            boost::checked_delete(p);
-            throw;
-        }
-
-#else
-
-        pn = new count_type(1);
-
-        if(pn == 0)
-        {
-            boost::checked_delete(p);
-            boost::serialization::throw_exception(std::bad_alloc());
-        }
-
-#endif
-    }
-
-    ~shared_ptr()
-    {
-        if(--*pn == 0)
-        {
-            boost::checked_delete(px);
-            delete pn;
-        }
-    }
-
-    shared_ptr(shared_ptr const & r): px(r.px)  // never throws
-    {
-        pn = r.pn;
-        ++*pn;
-    }
-
-    shared_ptr & operator=(shared_ptr const & r)
-    {
-        shared_ptr(r).swap(*this);
-        return *this;
-    }
-
-#ifndef BOOST_NO_AUTO_PTR
-
-    explicit shared_ptr(std::auto_ptr< T > & r)
-    { 
-        pn = new count_type(1); // may throw
-        px = r.release(); // fix: moved here to stop leak if new throws
-    } 
-
-    shared_ptr & operator=(std::auto_ptr< T > & r)
-    {
-        shared_ptr(r).swap(*this);
-        return *this;
-    }
-
-#endif
-
-    void reset(T * p = 0)
-    {
-        BOOST_ASSERT(p == 0 || p != px);
-        shared_ptr(p).swap(*this);
-    }
-
-    T & operator*() const  // never throws
-    {
-        BOOST_ASSERT(px != 0);
-        return *px;
-    }
-
-    T * operator->() const  // never throws
-    {
-        BOOST_ASSERT(px != 0);
-        return px;
-    }
-
-    T * get() const  // never throws
-    {
-        return px;
-    }
-
-    long use_count() const  // never throws
-    {
-        return *pn;
-    }
-
-    bool unique() const  // never throws
-    {
-        return *pn == 1;
-    }
-    
-    void swap(shared_ptr< T > & other)  // never throws
-    {
-        std::swap(px, other.px);
-        std::swap(pn, other.pn);
-    }
-
-private:
-
-    T * px;            // contained pointer
-    count_type * pn;   // ptr to reference counter
-};
-
-template<class T, class U> inline bool operator==(shared_ptr< T > const & a, shared_ptr<U> const & b)
-{
-    return a.get() == b.get();
-}
-
-template<class T, class U> inline bool operator!=(shared_ptr< T > const & a, shared_ptr<U> const & b)
-{
-    return a.get() != b.get();
-}
-
-template<class T> inline bool operator<(shared_ptr< T > const & a, shared_ptr< T > const & b)
-{
-    return std::less<T*>()(a.get(), b.get());
-}
-
-template<class T> void swap(shared_ptr< T > & a, shared_ptr< T > & b)
-{
-    a.swap(b);
-}
-
-// get_pointer() enables boost::mem_fn to recognize shared_ptr
-
-template<class T> inline T * get_pointer(shared_ptr< T > const & p)
-{
-    return p.get();
-}
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_DETAIL_SHARED_PTR_NMT_132_HPP_INCLUDED
diff --git a/SRC/Boost/boost/serialization/ephemeral.hpp b/SRC/Boost/boost/serialization/ephemeral.hpp
deleted file mode 100755
index 48c93f0..0000000
--- a/SRC/Boost/boost/serialization/ephemeral.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-#ifndef BOOST_SERIALIZATION_EPHEMERAL_HPP
-#define BOOST_SERIALIZATION_EPHEMERAL_HPP
-
-// MS compatible compilers support 
-#pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// ephemeral_object.hpp: interface for serialization system.
-
-// (C) Copyright 2007 Matthias Troyer. 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <utility>
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-// supress noise
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
-# pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/integral_c_tag.hpp>
-
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/traits.hpp>
-#include <boost/serialization/wrapper.hpp>
-
-namespace boost {
-namespace serialization {
-
-template<class T>
-struct ephemeral_object : 
-    public wrapper_traits<ephemeral_object<T> >
-{
-    explicit ephemeral_object(T& t) :
-        val(t)
-    {}
-
-    T & value() const {
-        return val;
-    }
-
-    const T & const_value() const {
-        return val;
-    }
-
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int) const
-    {
-       ar & val;
-    }
-
-private:
-    T & val;
-};
-
-template<class T>
-inline
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-const
-#endif
-ephemeral_object<T> ephemeral(const char * name, T & t){
-    return ephemeral_object<T>(name, t);
-}
-
-} // seralization
-} // boost
-
-#endif // BOOST_SERIALIZATION_EPHEMERAL_HPP
diff --git a/SRC/Boost/boost/serialization/export.hpp b/SRC/Boost/boost/serialization/export.hpp
deleted file mode 100755
index 458ec9e..0000000
--- a/SRC/Boost/boost/serialization/export.hpp
+++ /dev/null
@@ -1,234 +0,0 @@
-#ifndef BOOST_SERIALIZATION_EXPORT_HPP
-#define BOOST_SERIALIZATION_EXPORT_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// export.hpp: set traits of classes to be serialized
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// (C) Copyright 2006 David Abrahams - http://www.boost.org.
-// implementation of class export functionality.  This is an alternative to
-// "forward declaration" method to provoke instantiation of derived classes
-// that are to be serialized through pointers.
-
-#include <utility>
-#include <cstddef> // NULL
-
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/preprocessor/stringize.hpp>
-#include <boost/type_traits/is_polymorphic.hpp>
-
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/bool.hpp>
-
-#include <boost/serialization/extended_type_info.hpp> // for guid_defined only
-#include <boost/serialization/static_warning.hpp>
-#include <boost/serialization/assume_abstract.hpp>
-#include <boost/serialization/force_include.hpp>
-#include <boost/serialization/singleton.hpp>
-
-#include <boost/archive/detail/register_archive.hpp>
-
-#include <iostream>
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-class basic_pointer_iserializer;
-class basic_pointer_oserializer;
-
-template<class Archive, class T>
-class pointer_iserializer;
-template<class Archive, class T>
-class pointer_oserializer;
-
-template <class Archive, class Serializable>
-struct export_impl
-{
-    static const basic_pointer_iserializer &
-    enable_load(mpl::true_){
-        return boost::serialization::singleton<
-            pointer_iserializer<Archive, Serializable> 
-        >::get_const_instance();
-    }
-
-    static const basic_pointer_oserializer &
-    enable_save(mpl::true_){
-        return boost::serialization::singleton<
-            pointer_oserializer<Archive, Serializable> 
-        >::get_const_instance();
-    }
-    inline static void enable_load(mpl::false_) {}
-    inline static void enable_save(mpl::false_) {}
-};
-
-// On many platforms, naming a specialization of this template is
-// enough to cause its argument to be instantiated.
-template <void(*)()>
-struct instantiate_function {};
-
-template <class Archive, class Serializable>
-struct ptr_serialization_support
-{
-# if defined(BOOST_MSVC) || defined(__SUNPRO_CC)
-    virtual BOOST_DLLEXPORT void instantiate() BOOST_USED;
-# elif defined(__BORLANDC__)   
-    static BOOST_DLLEXPORT void instantiate() BOOST_USED;
-    enum { x = sizeof(instantiate(),3) };
-# else
-    static BOOST_DLLEXPORT void instantiate() BOOST_USED;
-    typedef instantiate_function<
-        &ptr_serialization_support::instantiate
-    > x;
-# endif
-};
-
-template <class Archive, class Serializable>
-BOOST_DLLEXPORT void 
-ptr_serialization_support<Archive,Serializable>::instantiate()
-{
-    export_impl<Archive,Serializable>::enable_save(
-        #if ! defined(__BORLANDC__)
-        BOOST_DEDUCED_TYPENAME 
-        #endif
-        Archive::is_saving()
-    );
-
-    export_impl<Archive,Serializable>::enable_load(
-        #if ! defined(__BORLANDC__)
-        BOOST_DEDUCED_TYPENAME 
-        #endif
-        Archive::is_loading()
-    );
-}
-
-// Note INTENTIONAL usage of anonymous namespace in header.
-// This was made this way so that export.hpp could be included
-// in other headers.  This is still under study.
-
-namespace extra_detail {
-
-template<class T>
-struct guid_initializer
-{  
-    void export_guid(mpl::false_) const {
-        // generates the statically-initialized objects whose constructors
-        // register the information allowing serialization of T objects
-        // through pointers to their base classes.
-        instantiate_ptr_serialization((T*)0, 0, adl_tag());
-    }
-    void export_guid(mpl::true_) const {
-    }
-    guid_initializer const & export_guid() const {
-        BOOST_STATIC_WARNING(boost::is_polymorphic< T >::value);
-        // note: exporting an abstract base class will have no effect
-        // and cannot be used to instantitiate serialization code
-        // (one might be using this in a DLL to instantiate code)
-        //BOOST_STATIC_WARNING(! boost::serialization::is_abstract< T >::value);
-        export_guid(boost::serialization::is_abstract< T >());
-        return *this;
-    }
-};
-
-template<typename T>
-struct init_guid;
-
-} // anonymous
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#define BOOST_CLASS_EXPORT_IMPLEMENT(T)                      \
-    namespace boost {                                        \
-    namespace archive {                                      \
-    namespace detail {                                       \
-    namespace extra_detail {                                 \
-    template<>                                               \
-    struct init_guid< T > {                                  \
-        static guid_initializer< T > const & g;              \
-    };                                                       \
-    guid_initializer< T > const & init_guid< T >::g =        \
-        ::boost::serialization::singleton<                   \
-            guid_initializer< T >                            \
-        >::get_mutable_instance().export_guid();             \
-    }}}}                                                     \
-/**/
-
-#define BOOST_CLASS_EXPORT_KEY2(T, K)          \
-namespace boost {                              \
-namespace serialization {                      \
-template<>                                     \
-struct guid_defined< T > : boost::mpl::true_ {}; \
-template<>                                     \
-inline const char * guid< T >(){                 \
-    return K;                                  \
-}                                              \
-} /* serialization */                          \
-} /* boost */                                  \
-/**/
-
-#define BOOST_CLASS_EXPORT_KEY(T)                                      \
-    BOOST_CLASS_EXPORT_KEY2(T, BOOST_PP_STRINGIZE(T))                                                                  \
-/**/
-
-#define BOOST_CLASS_EXPORT_GUID(T, K)                                  \
-BOOST_CLASS_EXPORT_KEY2(T, K)                                          \
-BOOST_CLASS_EXPORT_IMPLEMENT(T)                                        \
-/**/
-
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
-
-// CodeWarrior fails to construct static members of class templates
-// when they are instantiated from within templates, so on that
-// compiler we ask users to specifically register base/derived class
-// relationships for exported classes.  On all other compilers, use of
-// this macro is entirely optional.
-# define BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(Base,Derived)             \
-namespace {                                                                    \
-  static int BOOST_PP_CAT(boost_serialization_mwerks_init_, __LINE__) =        \
-  (::boost::archive::detail::instantiate_ptr_serialization((Derived*)0,0), 3); \
-  static int BOOST_PP_CAT(boost_serialization_mwerks_init2_, __LINE__) = (     \
-      ::boost::serialization::void_cast_register((Derived*)0,(Base*)0)         \
-    , 3);                                                                      \
-}
-
-#else
-
-# define BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(Base,Derived)
-
-#endif 
-
-// check for unnecessary export.  T isn't polymorphic so there is no
-// need to export it.
-#define BOOST_CLASS_EXPORT_CHECK(T)                              \
-    BOOST_STATIC_WARNING(                                        \
-        boost::is_polymorphic<U>::value                          \
-    );                                                           \
-    /**/
-
-// the default exportable class identifier is the class name
-// the default list of archives types for which code id generated
-// are the originally included with this serialization system
-#define BOOST_CLASS_EXPORT(T)                   \
-    BOOST_CLASS_EXPORT_GUID(                    \
-        T,                                      \
-        BOOST_PP_STRINGIZE(T)                   \
-    )                                           \
-    /**/
-
-#endif // BOOST_SERIALIZATION_EXPORT_HPP
-
diff --git a/SRC/Boost/boost/serialization/extended_type_info.hpp b/SRC/Boost/boost/serialization/extended_type_info.hpp
deleted file mode 100755
index 710b18a..0000000
--- a/SRC/Boost/boost/serialization/extended_type_info.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-#ifndef BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_HPP
-#define BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// extended_type_info.hpp: interface for portable version of type_info
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// for now, extended type info is part of the serialization libraries
-// this could change in the future.
-#include <cstdarg>
-#include <boost/assert.hpp>
-#include <cstddef> // NULL
-#include <boost/config.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/mpl/bool.hpp>
-
-#include <boost/serialization/config.hpp>
-#include <boost/config/abi_prefix.hpp> // must be the last header
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4251 4231 4660 4275)
-#endif
-
-#define BOOST_SERIALIZATION_MAX_KEY_SIZE 128
-
-namespace boost { 
-namespace serialization {
-
-namespace void_cast_detail{
-    class void_caster;
-}
-
-class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) extended_type_info :
-    private boost::noncopyable
-{
-private:
-    friend class boost::serialization::void_cast_detail::void_caster;
-
-    // used to uniquely identify the type of class derived from this one
-    // so that different derivations of this class can be simultaneously
-    // included in implementation of sets and maps.
-    const unsigned int m_type_info_key;
-    virtual bool is_less_than(const extended_type_info & /*rhs*/) const = 0;
-    virtual bool is_equal(const extended_type_info & /*rhs*/) const = 0;
-    const char * m_key;
-
-protected:
-    void key_unregister() const;
-    void key_register() const;
-    // this class can't be used as is. It's just the 
-    // common functionality for all type_info replacement
-    // systems.  Hence, make these protected
-    extended_type_info(
-        const unsigned int type_info_key,
-        const char * key
-    );
-    // account for bogus gcc warning
-    #if defined(__GNUC__)
-    virtual
-    #endif
-    ~extended_type_info();
-public:
-    const char * get_key() const {
-        return m_key;
-    }
-    virtual const char * get_debug_info() const = 0;
-    bool operator<(const extended_type_info &rhs) const;
-    bool operator==(const extended_type_info &rhs) const;
-    bool operator!=(const extended_type_info &rhs) const {
-        return !(operator==(rhs));
-    }
-    // note explicit "export" of static function to work around
-    // gcc 4.5 mingw error
-    static const extended_type_info *
-    find(const char *key);
-    // for plugins
-    virtual void * construct(unsigned int /*count*/ = 0, ...) const = 0;
-    virtual void destroy(void const * const /*p*/) const = 0;
-};
-
-template<class T>
-struct guid_defined : boost::mpl::false_ {};
-template<class T>
-inline const char * guid(){
-    return NULL;
-}
-
-} // namespace serialization 
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_HPP
diff --git a/SRC/Boost/boost/serialization/extended_type_info_no_rtti.hpp b/SRC/Boost/boost/serialization/extended_type_info_no_rtti.hpp
deleted file mode 100755
index 5cf6247..0000000
--- a/SRC/Boost/boost/serialization/extended_type_info_no_rtti.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-#ifndef BOOST_EXTENDED_TYPE_INFO_NO_RTTI_HPP
-#define BOOST_EXTENDED_TYPE_INFO_NO_RTTI_HPP
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// extended_type_info_no_rtti.hpp: implementation for version that depends
-// on runtime typing (rtti - typeid) but uses a user specified string
-// as the portable class identifier.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/assert.hpp>
-
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_polymorphic.hpp>
-#include <boost/type_traits/remove_const.hpp>
-
-#include <boost/serialization/static_warning.hpp>
-#include <boost/serialization/singleton.hpp>
-#include <boost/serialization/extended_type_info.hpp>
-#include <boost/serialization/factory.hpp>
-#include <boost/serialization/throw_exception.hpp>
-
-#include <boost/serialization/config.hpp>
-// hijack serialization access
-#include <boost/serialization/access.hpp>
-
-#include <boost/config/abi_prefix.hpp> // must be the last header
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4251 4231 4660 4275 4511 4512)
-#endif
-
-namespace boost {
-namespace serialization {
-///////////////////////////////////////////////////////////////////////
-// define a special type_info that doesn't depend on rtti which is not
-// available in all situations.
-
-namespace no_rtti_system {
-
-// common base class to share type_info_key.  This is used to 
-// identify the method used to keep track of the extended type
-class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) extended_type_info_no_rtti_0 : 
-    public extended_type_info
-{
-protected:
-    extended_type_info_no_rtti_0(const char * key);
-    ~extended_type_info_no_rtti_0();
-public:
-    virtual bool
-    is_less_than(const boost::serialization::extended_type_info &rhs) const ;
-    virtual bool
-    is_equal(const boost::serialization::extended_type_info &rhs) const ;
-};
-
-} // no_rtti_system
-
-template<class T>
-class extended_type_info_no_rtti : 
-    public no_rtti_system::extended_type_info_no_rtti_0,
-    public singleton<extended_type_info_no_rtti< T > >
-{
-    template<bool tf>
-    struct action {
-        struct defined {
-            static const char * invoke(){
-                return guid< T >();
-            }
-        };
-        struct undefined {
-            // if your program traps here - you failed to 
-            // export a guid for this type.  the no_rtti
-            // system requires export for types serialized
-            // as pointers.
-            BOOST_STATIC_ASSERT(0 == sizeof(T));
-            static const char * invoke();
-        };
-        static const char * invoke(){
-            typedef 
-                BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
-                    tf,
-                    defined,
-                    undefined
-                >::type type;
-            return type::invoke();
-        }
-    };
-public:
-    extended_type_info_no_rtti() :
-        no_rtti_system::extended_type_info_no_rtti_0(get_key())
-    {
-        key_register();
-    }
-    ~extended_type_info_no_rtti(){
-        key_unregister();
-    }
-    const extended_type_info *
-    get_derived_extended_type_info(const T & t) const {
-        // find the type that corresponds to the most derived type.
-        // this implementation doesn't depend on typeid() but assumes
-        // that the specified type has a function of the following signature.
-        // A common implemention of such a function is to define as a virtual
-        // function. So if the is not a polymporphic type it's likely an error
-        BOOST_STATIC_WARNING(boost::is_polymorphic< T >::value);
-        const char * derived_key = t.get_key();
-        BOOST_ASSERT(NULL != derived_key);
-        return boost::serialization::extended_type_info::find(derived_key);
-    }
-    const char * get_key() const{
-        return action<guid_defined< T >::value >::invoke();
-    }
-    virtual const char * get_debug_info() const{
-        return action<guid_defined< T >::value >::invoke();
-    }
-    virtual void * construct(unsigned int count, ...) const{
-        // count up the arguments
-        std::va_list ap;
-        va_start(ap, count);
-        switch(count){
-        case 0:
-            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 0>(ap);
-        case 1:
-            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 1>(ap);
-        case 2:
-            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 2>(ap);
-        case 3:
-            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 3>(ap);
-        case 4:
-            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 4>(ap);
-        default:
-            BOOST_ASSERT(false); // too many arguments
-            // throw exception here?
-            return NULL;
-        }
-    }
-    virtual void destroy(void const * const p) const{
-        boost::serialization::access::destroy(
-            static_cast<T const * const>(p)
-        );
-        //delete static_cast<T const * const>(p) ;
-    }
-};
-
-} // namespace serialization
-} // namespace boost
-
-///////////////////////////////////////////////////////////////////////////////
-// If no other implementation has been designated as default, 
-// use this one.  To use this implementation as the default, specify it
-// before any of the other headers.
-
-#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO
-    #define BOOST_SERIALIZATION_DEFAULT_TYPE_INFO
-    namespace boost {
-    namespace serialization {
-    template<class T>
-    struct extended_type_info_impl {
-        typedef BOOST_DEDUCED_TYPENAME 
-            boost::serialization::extended_type_info_no_rtti< T > type;
-    };
-    } // namespace serialization
-    } // namespace boost
-#endif
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-#include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_EXTENDED_TYPE_INFO_NO_RTTI_HPP
diff --git a/SRC/Boost/boost/serialization/extended_type_info_typeid.hpp b/SRC/Boost/boost/serialization/extended_type_info_typeid.hpp
deleted file mode 100755
index 0bbea02..0000000
--- a/SRC/Boost/boost/serialization/extended_type_info_typeid.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-#ifndef BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_TYPEID_HPP
-#define BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_TYPEID_HPP
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// extended_type_info_typeid.hpp: implementation for version that depends
-// on runtime typing (rtti - typeid) but uses a user specified string
-// as the portable class identifier.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <typeinfo>
-#include <cstdarg>
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-
-#include <boost/static_assert.hpp>
-#include <boost/serialization/static_warning.hpp>
-#include <boost/type_traits/is_polymorphic.hpp>
-#include <boost/type_traits/remove_const.hpp>
-
-#include <boost/serialization/config.hpp>
-#include <boost/serialization/singleton.hpp>
-#include <boost/serialization/extended_type_info.hpp>
-#include <boost/serialization/factory.hpp>
-
-// hijack serialization access
-#include <boost/serialization/access.hpp>
-
-#include <boost/mpl/if.hpp>
-
-#include <boost/config/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4251 4231 4660 4275 4511 4512)
-#endif
-
-namespace boost {
-namespace serialization {
-namespace typeid_system {
-
-class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) extended_type_info_typeid_0 : 
-    public extended_type_info
-{
-    virtual const char * get_debug_info() const {
-        if(static_cast<const std::type_info *>(0) == m_ti)
-            return static_cast<const char *>(0);
-        return m_ti->name();
-    }
-protected:
-    const std::type_info * m_ti;
-    extended_type_info_typeid_0(const char * key);
-    ~extended_type_info_typeid_0();
-    void type_register(const std::type_info & ti);
-    void type_unregister();
-    const extended_type_info *
-    get_extended_type_info(const std::type_info & ti) const;
-public:
-    virtual bool
-    is_less_than(const extended_type_info &rhs) const;
-    virtual bool
-    is_equal(const extended_type_info &rhs) const;
-    const std::type_info & get_typeid() const {
-        return *m_ti;
-    }
-};
-
-} // typeid_system
-
-template<class T>
-class extended_type_info_typeid : 
-    public typeid_system::extended_type_info_typeid_0,
-    public singleton<extended_type_info_typeid< T > >
-{
-public:
-    extended_type_info_typeid() :
-        typeid_system::extended_type_info_typeid_0(get_key())
-    {
-        type_register(typeid(T));
-        key_register();
-    }
-    ~extended_type_info_typeid(){
-        key_unregister();
-        type_unregister();
-    }
-    // get the eti record for the true type of this record
-    // relying upon standard type info implemenation (rtti)
-    const extended_type_info *
-    get_derived_extended_type_info(const T & t) const {
-        // note: this implementation - based on usage of typeid (rtti)
-        // only does something if the class has at least one virtual function.
-        BOOST_STATIC_WARNING(boost::is_polymorphic< T >::value);
-        return 
-            typeid_system::extended_type_info_typeid_0::get_extended_type_info(
-                typeid(t)
-            );
-    }
-    const char * get_key() const {
-        return boost::serialization::guid< T >();
-    }
-    virtual void * construct(unsigned int count, ...) const{
-        // count up the arguments
-        std::va_list ap;
-        va_start(ap, count);
-        switch(count){
-        case 0:
-            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 0>(ap);
-        case 1:
-            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 1>(ap);
-        case 2:
-            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 2>(ap);
-        case 3:
-            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 3>(ap);
-        case 4:
-            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 4>(ap);
-        default:
-            BOOST_ASSERT(false); // too many arguments
-            // throw exception here?
-            return NULL;
-        }
-    }
-    virtual void destroy(void const * const p) const {
-        boost::serialization::access::destroy(
-            static_cast<T const * const>(p)
-        );
-        //delete static_cast<T const * const>(p);
-    }
-};
-
-} // namespace serialization
-} // namespace boost
-
-///////////////////////////////////////////////////////////////////////////////
-// If no other implementation has been designated as default, 
-// use this one.  To use this implementation as the default, specify it
-// before any of the other headers.
-#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO
-    #define BOOST_SERIALIZATION_DEFAULT_TYPE_INFO
-    namespace boost {
-    namespace serialization {
-    template<class T>
-    struct extended_type_info_impl {
-        typedef BOOST_DEDUCED_TYPENAME 
-            boost::serialization::extended_type_info_typeid< T > type;
-    };
-    } // namespace serialization
-    } // namespace boost
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-#include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_TYPEID_HPP
diff --git a/SRC/Boost/boost/serialization/hash_collections_load_imp.hpp b/SRC/Boost/boost/serialization/hash_collections_load_imp.hpp
deleted file mode 100755
index 104faab..0000000
--- a/SRC/Boost/boost/serialization/hash_collections_load_imp.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef BOOST_SERIALIZATION_HASH_COLLECTIONS_LOAD_IMP_HPP
-#define BOOST_SERIALIZATION_HASH_COLLECTIONS_LOAD_IMP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-# pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// hash_collections_load_imp.hpp: serialization for loading stl collections
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// helper function templates for serialization of hashed collections
-#include <boost/config.hpp>
-#include <boost/archive/detail/basic_iarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-namespace boost{
-namespace serialization {
-namespace stl {
-
-//////////////////////////////////////////////////////////////////////
-// implementation of serialization for STL containers
-//
-template<class Archive, class Container, class InputFunction>
-inline void load_hash_collection(Archive & ar, Container &s)
-{
-    s.clear();
-    collection_size_type count;
-    collection_size_type bucket_count;
-    boost::serialization::item_version_type item_version(0);
-    boost::archive::library_version_type library_version(
-        ar.get_library_version()
-    );
-    // retrieve number of elements
-    if(boost::archive::library_version_type(6) != library_version){
-        ar >> BOOST_SERIALIZATION_NVP(count);
-        ar >> BOOST_SERIALIZATION_NVP(bucket_count);
-    }
-    else{
-        // note: fixup for error in version 6.  collection size was
-        // changed to size_t BUT for hashed collections it was implemented
-        // as an unsigned int.  This should be a problem only on win64 machines
-        // but I'll leave it for everyone just in case.
-        unsigned int c;
-        unsigned int bc;
-        ar >> BOOST_SERIALIZATION_NVP(c);
-        count = c;
-        ar >> BOOST_SERIALIZATION_NVP(bc);
-        bucket_count = bc;
-    }
-    if(boost::archive::library_version_type(3) < library_version){
-        ar >> BOOST_SERIALIZATION_NVP(item_version);
-    }
-    #if ! defined(__MWERKS__)
-    s.resize(bucket_count);
-    #endif
-    InputFunction ifunc;
-    while(count-- > 0){
-        ifunc(ar, s, item_version);
-    }
-}
-
-} // namespace stl 
-} // namespace serialization
-} // namespace boost
-
-#endif //BOOST_SERIALIZATION_HASH_COLLECTIONS_LOAD_IMP_HPP
diff --git a/SRC/Boost/boost/serialization/hash_collections_save_imp.hpp b/SRC/Boost/boost/serialization/hash_collections_save_imp.hpp
deleted file mode 100755
index 7966d79..0000000
--- a/SRC/Boost/boost/serialization/hash_collections_save_imp.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef BOOST_SERIALIZATION_HASH_COLLECTIONS_SAVE_IMP_HPP
-#define BOOST_SERIALIZATION_HASH_COLLECTIONS_SAVE_IMP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// hash_collections_save_imp.hpp: serialization for stl collections
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// helper function templates for serialization of collections
-
-#include <boost/config.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/serialization.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/item_version_type.hpp>
-
-namespace boost{
-namespace serialization {
-namespace stl {
-
-//////////////////////////////////////////////////////////////////////
-// implementation of serialization for STL containers
-//
-
-template<class Archive, class Container>
-inline void save_hash_collection(Archive & ar, const Container &s)
-{
-    collection_size_type count(s.size());
-    const collection_size_type bucket_count(s.bucket_count());
-    const item_version_type item_version(
-        version<BOOST_DEDUCED_TYPENAME Container::value_type>::value
-    );
-
-    #if 0
-    /* should only be necessary to create archives of previous versions
-     * which is not currently supported.  So for now comment this out
-     */
-    boost::archive::library_version_type library_version(
-        ar.get_library_version()
-    );
-    // retrieve number of elements
-    if(boost::archive::library_version_type(6) != library_version){
-        ar << BOOST_SERIALIZATION_NVP(count);
-        ar << BOOST_SERIALIZATION_NVP(bucket_count);
-    }
-    else{
-        // note: fixup for error in version 6.  collection size was
-        // changed to size_t BUT for hashed collections it was implemented
-        // as an unsigned int.  This should be a problem only on win64 machines
-        // but I'll leave it for everyone just in case.
-        const unsigned int c = count;
-        const unsigned int bc = bucket_count;
-        ar << BOOST_SERIALIZATION_NVP(c);
-        ar << BOOST_SERIALIZATION_NVP(bc);
-    }
-    if(boost::archive::library_version_type(3) < library_version){
-        // record number of elements
-        // make sure the target type is registered so we can retrieve
-        // the version when we load
-        ar << BOOST_SERIALIZATION_NVP(item_version);
-    }
-    #else
-        ar << BOOST_SERIALIZATION_NVP(count);
-        ar << BOOST_SERIALIZATION_NVP(bucket_count);
-        ar << BOOST_SERIALIZATION_NVP(item_version);
-    #endif
-
-    BOOST_DEDUCED_TYPENAME Container::const_iterator it = s.begin();
-    while(count-- > 0){
-        // note borland emits a no-op without the explicit namespace
-        boost::serialization::save_construct_data_adl(
-            ar, 
-            &(*it), 
-            boost::serialization::version<
-                BOOST_DEDUCED_TYPENAME Container::value_type
-            >::value
-        );
-        ar << boost::serialization::make_nvp("item", *it++);
-    }
-}
-
-} // namespace stl 
-} // namespace serialization
-} // namespace boost
-
-#endif //BOOST_SERIALIZATION_HASH_COLLECTIONS_SAVE_IMP_HPP
diff --git a/SRC/Boost/boost/serialization/hash_map.hpp b/SRC/Boost/boost/serialization/hash_map.hpp
deleted file mode 100755
index aa1f362..0000000
--- a/SRC/Boost/boost/serialization/hash_map.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_HASH_MAP_HPP
-#define BOOST_SERIALIZATION_HASH_MAP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// serialization/hash_map.hpp:
-// serialization for stl hash_map templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_HAS_HASH
-#include BOOST_HASH_MAP_HEADER
-
-#include <boost/serialization/utility.hpp>
-#include <boost/serialization/hash_collections_save_imp.hpp>
-#include <boost/serialization/hash_collections_load_imp.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-namespace stl {
-
-// map input
-template<class Archive, class Container>
-struct archive_input_hash_map
-{
-    inline void operator()(
-        Archive &ar, 
-        Container &s, 
-        const unsigned int v
-    ){
-        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
-        detail::stack_construct<Archive, type> t(ar, v);
-        // borland fails silently w/o full namespace
-        ar >> boost::serialization::make_nvp("item", t.reference());
-        std::pair<BOOST_DEDUCED_TYPENAME Container::const_iterator, bool> result = 
-            s.insert(t.reference());
-        // note: the following presumes that the map::value_type was NOT tracked
-        // in the archive.  This is the usual case, but here there is no way
-        // to determine that.  
-        if(result.second){
-            ar.reset_object_address(
-                & (result.first->second),
-                & t.reference().second
-            );
-        }
-    }
-};
-
-// multimap input
-template<class Archive, class Container>
-struct archive_input_hash_multimap
-{
-    inline void operator()(
-        Archive &ar, 
-        Container &s, 
-        const unsigned int v
-    ){
-        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
-        detail::stack_construct<Archive, type> t(ar, v);
-        // borland fails silently w/o full namespace
-        ar >> boost::serialization::make_nvp("item", t.reference());
-        BOOST_DEDUCED_TYPENAME Container::const_iterator result 
-            = s.insert(t.reference());
-        // note: the following presumes that the map::value_type was NOT tracked
-        // in the archive.  This is the usual case, but here there is no way
-        // to determine that.  
-        ar.reset_object_address(
-            & result->second,
-            & t.reference()
-        );
-    }
-};
-
-} // stl
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void save(
-    Archive & ar,
-    const BOOST_STD_EXTENSION_NAMESPACE::hash_map<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int file_version
-){
-    boost::serialization::stl::save_hash_collection<
-        Archive, 
-        BOOST_STD_EXTENSION_NAMESPACE::hash_map<
-            Key, HashFcn, EqualKey, Allocator
-        >
-    >(ar, t);
-}
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void load(
-    Archive & ar,
-    BOOST_STD_EXTENSION_NAMESPACE::hash_map<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int file_version
-){
-    boost::serialization::stl::load_hash_collection<
-        Archive,
-        BOOST_STD_EXTENSION_NAMESPACE::hash_map<
-            Key, HashFcn, EqualKey, Allocator
-        >,
-        boost::serialization::stl::archive_input_hash_map<
-            Archive, 
-            BOOST_STD_EXTENSION_NAMESPACE::hash_map<
-                Key, HashFcn, EqualKey, Allocator
-            >
-        >
-    >(ar, t);
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void serialize(
-    Archive & ar,
-    BOOST_STD_EXTENSION_NAMESPACE::hash_map<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-// hash_multimap
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void save(
-    Archive & ar,
-    const BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int file_version
-){
-    boost::serialization::stl::save_hash_collection<
-        Archive, 
-        BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<
-            Key, HashFcn, EqualKey, Allocator
-        >
-    >(ar, t);
-}
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void load(
-    Archive & ar,
-    BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int file_version
-){
-    boost::serialization::stl::load_hash_collection<
-        Archive,
-        BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<
-            Key, HashFcn, EqualKey, Allocator
-        >,
-        boost::serialization::stl::archive_input_hash_multimap<
-            Archive, 
-            BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<
-                Key, HashFcn, EqualKey, Allocator
-            >
-        >
-    >(ar, t);
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void serialize(
-    Archive & ar,
-    BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_HAS_HASH
-#endif // BOOST_SERIALIZATION_HASH_MAP_HPP
diff --git a/SRC/Boost/boost/serialization/hash_set.hpp b/SRC/Boost/boost/serialization/hash_set.hpp
deleted file mode 100755
index 44fd15c..0000000
--- a/SRC/Boost/boost/serialization/hash_set.hpp
+++ /dev/null
@@ -1,221 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_HASH_SET_HPP
-#define BOOST_SERIALIZATION_HASH_SET_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// hash_set.hpp: serialization for stl hash_set templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_HAS_HASH
-#include BOOST_HASH_SET_HEADER
-
-#include <boost/serialization/hash_collections_save_imp.hpp>
-#include <boost/serialization/hash_collections_load_imp.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-namespace stl {
-
-// hash_set input
-template<class Archive, class Container>
-struct archive_input_hash_set
-{
-    inline void operator()(
-        Archive &ar, 
-        Container &s, 
-        const unsigned int v
-    ){
-        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
-        detail::stack_construct<Archive, type> t(ar, v);
-        // borland fails silently w/o full namespace
-        ar >> boost::serialization::make_nvp("item", t.reference());
-        std::pair<BOOST_DEDUCED_TYPENAME Container::const_iterator, bool> result = 
-            s.insert(t.reference());
-        if(result.second)
-            ar.reset_object_address(& (* result.first), & t.reference());
-    }
-};
-
-// hash_multiset input
-template<class Archive, class Container>
-struct archive_input_hash_multiset
-{
-    inline void operator()(
-        Archive &ar, 
-        Container &s, 
-        const unsigned int v
-    ){
-        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
-        detail::stack_construct<Archive, type> t(ar, v);
-        // borland fails silently w/o full namespace
-        ar >> boost::serialization::make_nvp("item", t.reference());
-        BOOST_DEDUCED_TYPENAME Container::const_iterator result 
-            = s.insert(t.reference());
-        ar.reset_object_address(& (* result), & t.reference());
-    }
-};
-
-} // stl
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void save(
-    Archive & ar,
-    const BOOST_STD_EXTENSION_NAMESPACE::hash_set<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int file_version
-){
-    boost::serialization::stl::save_hash_collection<
-        Archive, 
-        BOOST_STD_EXTENSION_NAMESPACE::hash_set<
-            Key, HashFcn, EqualKey, Allocator
-        > 
-    >(ar, t);
-}
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void load(
-    Archive & ar,
-    BOOST_STD_EXTENSION_NAMESPACE::hash_set<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int file_version
-){
-    boost::serialization::stl::load_hash_collection<
-        Archive,
-        BOOST_STD_EXTENSION_NAMESPACE::hash_set<
-            Key, HashFcn, EqualKey, Allocator
-        >,
-        boost::serialization::stl::archive_input_hash_set<
-            Archive, 
-            BOOST_STD_EXTENSION_NAMESPACE::hash_set<
-                Key, HashFcn, EqualKey, Allocator
-            >
-        >
-    >(ar, t);
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void serialize(
-    Archive & ar,
-    BOOST_STD_EXTENSION_NAMESPACE::hash_set<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-// hash_multiset
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void save(
-    Archive & ar,
-    const BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int file_version
-){
-    boost::serialization::stl::save_hash_collection<
-        Archive, 
-        BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<
-            Key, HashFcn, EqualKey, Allocator
-        > 
-    >(ar, t);
-}
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void load(
-    Archive & ar,
-    BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int file_version
-){
-    boost::serialization::stl::load_hash_collection<
-        Archive,
-        BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<
-            Key, HashFcn, EqualKey, Allocator
-        >,
-        boost::serialization::stl::archive_input_hash_multiset<
-            Archive,
-            BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<
-                Key, HashFcn, EqualKey, Allocator
-            > 
-        >
-    >(ar, t);
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void serialize(
-    Archive & ar,
-    BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<
-        Key, HashFcn, EqualKey, Allocator
-    > & t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#include <boost/serialization/collection_traits.hpp>
-
-BOOST_SERIALIZATION_COLLECTION_TRAITS(BOOST_STD_EXTENSION_NAMESPACE::hash_set)
-BOOST_SERIALIZATION_COLLECTION_TRAITS(BOOST_STD_EXTENSION_NAMESPACE::hash_multiset)
-
-#endif // BOOST_HAS_HASH
-#endif // BOOST_SERIALIZATION_HASH_SET_HPP
diff --git a/SRC/Boost/boost/serialization/item_version_type.hpp b/SRC/Boost/boost/serialization/item_version_type.hpp
deleted file mode 100755
index fa132c2..0000000
--- a/SRC/Boost/boost/serialization/item_version_type.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef BOOST_SERIALIZATION_ITEM_VERSION_TYPE_HPP
-#define BOOST_SERIALIZATION_ITEM_VERSION_TYPE_HPP
-
-// (C) Copyright 2010 Robert Ramey
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/cstdint.hpp> // uint_least8_t
-#include <boost/integer_traits.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/is_bitwise_serializable.hpp>
-
-// fixes broken example build on x86_64-linux-gnu-gcc-4.6.0
-#include <boost/assert.hpp>
-
-namespace boost { 
-namespace serialization {
-
-#if defined(_MSC_VER)
-#pragma warning( push )
-#pragma warning( disable : 4244 4267 )
-#endif
-
-class item_version_type {
-private:
-    typedef unsigned int base_type;
-    base_type t;
-public:
-    // should be private - but MPI fails if it's not!!!
-    item_version_type(): t(0) {};
-    explicit item_version_type(const unsigned int t_) : t(t_){
-        BOOST_ASSERT(t_ <= boost::integer_traits<base_type>::const_max);
-    }
-    item_version_type(const item_version_type & t_) : 
-        t(t_.t)
-    {}
-    item_version_type & operator=(item_version_type rhs){
-        t = rhs.t; 
-        return *this;
-    }
-    // used for text output
-    operator base_type () const {
-        return t;
-    }                
-    // used for text input
-    operator base_type & () {
-        return t;
-    }
-    bool operator==(const item_version_type & rhs) const {
-        return t == rhs.t;
-    } 
-    bool operator<(const item_version_type & rhs) const {
-        return t < rhs.t;
-    }
-};
-
-#if defined(_MSC_VER)
-#pragma warning( pop )
-#endif
-
-} } // end namespace boost::serialization
-
-BOOST_IS_BITWISE_SERIALIZABLE(item_version_type)
-
-BOOST_CLASS_IMPLEMENTATION(item_version_type, primitive_type)
-
-#endif //BOOST_SERIALIZATION_ITEM_VERSION_TYPE_HPP
diff --git a/SRC/Boost/boost/serialization/level.hpp b/SRC/Boost/boost/serialization/level.hpp
deleted file mode 100755
index fc61a84..0000000
--- a/SRC/Boost/boost/serialization/level.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-#ifndef BOOST_SERIALIZATION_LEVEL_HPP
-#define BOOST_SERIALIZATION_LEVEL_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// level.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/type_traits/is_fundamental.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/integral_c_tag.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-#include <boost/serialization/level_enum.hpp>
-
-namespace boost {
-namespace serialization {
-
-struct basic_traits;
-
-// default serialization implementation level
-template<class T>
-struct implementation_level_impl {
-    template<class U>
-    struct traits_class_level {
-        typedef BOOST_DEDUCED_TYPENAME U::level type;
-    };
-
-    typedef mpl::integral_c_tag tag;
-    // note: at least one compiler complained w/o the full qualification
-    // on basic traits below
-    typedef
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            is_base_and_derived<boost::serialization::basic_traits, T>,
-            traits_class_level< T >,
-        //else
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            is_fundamental< T >,
-            mpl::int_<primitive_type>,
-        //else
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            is_class< T >,
-            mpl::int_<object_class_info>,
-        //else
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            is_array< T >,
-            #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
-                mpl::int_<not_serializable>,
-            #else
-                mpl::int_<object_serializable>,
-            #endif
-        //else
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            is_enum< T >,
-            //#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
-            //    mpl::int_<not_serializable>,
-            //#else
-                mpl::int_<primitive_type>,
-            //#endif
-        //else
-            mpl::int_<not_serializable>
-        >
-        >
-        >
-        >
-        >::type type;
-        // vc 7.1 doesn't like enums here
-    BOOST_STATIC_CONSTANT(int, value = type::value);
-};
-
-template<class T>
-struct implementation_level : 
-    public implementation_level_impl<const T>
-{
-};
-
-template<class T, BOOST_MPL_AUX_NTTP_DECL(int, L) >
-inline bool operator>=(implementation_level< T > t, enum level_type l)
-{
-    return t.value >= (int)l;
-}
-
-} // namespace serialization
-} // namespace boost
-
-// specify the level of serialization implementation for the class
-// require that class info saved when versioning is used
-#define BOOST_CLASS_IMPLEMENTATION(T, E)                 \
-    namespace boost {                                    \
-    namespace serialization {                            \
-    template <>                                          \
-    struct implementation_level_impl< const T >                     \
-    {                                                    \
-        typedef mpl::integral_c_tag tag;                 \
-        typedef mpl::int_< E > type;                     \
-        BOOST_STATIC_CONSTANT(                           \
-            int,                                         \
-            value = implementation_level_impl::type::value    \
-        );                                               \
-    };                                                   \
-    }                                                    \
-    }
-    /**/
-
-#endif // BOOST_SERIALIZATION_LEVEL_HPP
diff --git a/SRC/Boost/boost/serialization/list.hpp b/SRC/Boost/boost/serialization/list.hpp
deleted file mode 100755
index 9d88147..0000000
--- a/SRC/Boost/boost/serialization/list.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef BOOST_SERIALIZATION_LIST_HPP
-#define BOOST_SERIALIZATION_LIST_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// list.hpp: serialization for stl list templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <list>
-
-#include <boost/config.hpp>
-
-#include <boost/serialization/collections_save_imp.hpp>
-#include <boost/serialization/collections_load_imp.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive, class U, class Allocator>
-inline void save(
-    Archive & ar,
-    const std::list<U, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    boost::serialization::stl::save_collection<
-        Archive, 
-        std::list<U, Allocator> 
-    >(ar, t);
-}
-
-template<class Archive, class U, class Allocator>
-inline void load(
-    Archive & ar,
-    std::list<U, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    boost::serialization::stl::load_collection<
-        Archive,
-        std::list<U, Allocator>,
-        boost::serialization::stl::archive_input_seq<
-            Archive, 
-            std::list<U, Allocator> 
-        >,
-        boost::serialization::stl::no_reserve_imp<std::list<U, Allocator> >
-    >(ar, t);
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<class Archive, class U, class Allocator>
-inline void serialize(
-    Archive & ar,
-    std::list<U, Allocator> & t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // serialization
-} // namespace boost
-
-#include <boost/serialization/collection_traits.hpp>
-
-BOOST_SERIALIZATION_COLLECTION_TRAITS(std::list)
-
-#endif // BOOST_SERIALIZATION_LIST_HPP
diff --git a/SRC/Boost/boost/serialization/map.hpp b/SRC/Boost/boost/serialization/map.hpp
deleted file mode 100755
index b1d3da1..0000000
--- a/SRC/Boost/boost/serialization/map.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_MAP_HPP
-#define BOOST_SERIALIZATION_MAP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// serialization/map.hpp:
-// serialization for stl map templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <map>
-
-#include <boost/config.hpp>
-
-#include <boost/serialization/utility.hpp>
-#include <boost/serialization/collections_save_imp.hpp>
-#include <boost/serialization/collections_load_imp.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive, class Type, class Key, class Compare, class Allocator >
-inline void save(
-    Archive & ar,
-    const std::map<Key, Type, Compare, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    boost::serialization::stl::save_collection<
-        Archive, 
-        std::map<Key, Type, Compare, Allocator> 
-    >(ar, t);
-}
-
-template<class Archive, class Type, class Key, class Compare, class Allocator >
-inline void load(
-    Archive & ar,
-    std::map<Key, Type, Compare, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    boost::serialization::stl::load_collection<
-        Archive,
-        std::map<Key, Type, Compare, Allocator>,
-        boost::serialization::stl::archive_input_map<
-            Archive, std::map<Key, Type, Compare, Allocator> >,
-            boost::serialization::stl::no_reserve_imp<std::map<
-                Key, Type, Compare, Allocator
-            >
-        >
-    >(ar, t);
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<class Archive, class Type, class Key, class Compare, class Allocator >
-inline void serialize(
-    Archive & ar,
-    std::map<Key, Type, Compare, Allocator> &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-// multimap
-template<class Archive, class Type, class Key, class Compare, class Allocator >
-inline void save(
-    Archive & ar,
-    const std::multimap<Key, Type, Compare, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    boost::serialization::stl::save_collection<
-        Archive, 
-        std::multimap<Key, Type, Compare, Allocator> 
-    >(ar, t);
-}
-
-template<class Archive, class Type, class Key, class Compare, class Allocator >
-inline void load(
-    Archive & ar,
-    std::multimap<Key, Type, Compare, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    boost::serialization::stl::load_collection<
-        Archive,
-        std::multimap<Key, Type, Compare, Allocator>,
-        boost::serialization::stl::archive_input_map<
-            Archive, std::multimap<Key, Type, Compare, Allocator> 
-        >,
-        boost::serialization::stl::no_reserve_imp<
-            std::multimap<Key, Type, Compare, Allocator> 
-        >
-    >(ar, t);
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<class Archive, class Type, class Key, class Compare, class Allocator >
-inline void serialize(
-    Archive & ar,
-    std::multimap<Key, Type, Compare, Allocator> &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_MAP_HPP
diff --git a/SRC/Boost/boost/serialization/nvp.hpp b/SRC/Boost/boost/serialization/nvp.hpp
deleted file mode 100755
index 9f6ae3b..0000000
--- a/SRC/Boost/boost/serialization/nvp.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-#ifndef BOOST_SERIALIZATION_NVP_HPP
-#define BOOST_SERIALIZATION_NVP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// nvp.hpp: interface for serialization system.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <utility>
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-// supress noise
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
-# pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/integral_c_tag.hpp>
-
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/traits.hpp>
-#include <boost/serialization/wrapper.hpp>
-
-namespace boost {
-namespace serialization {
-
-template<class T>
-struct nvp : 
-    public std::pair<const char *, T *>,
-    public wrapper_traits<const nvp< T > >
-{
-    explicit nvp(const char * name_, T & t) :
-        // note: redundant cast works around borland issue
-        // note: added _ to suppress useless gcc warning
-        std::pair<const char *, T *>(name_, (T*)(& t))
-    {}
-    nvp(const nvp & rhs) : 
-        // note: redundant cast works around borland issue
-        std::pair<const char *, T *>(rhs.first, (T*)rhs.second)
-    {}
-
-    const char * name() const {
-        return this->first;
-    }
-    T & value() const {
-        return *(this->second);
-    }
-
-    const T & const_value() const {
-        return *(this->second);
-    }
-
-    // True64 compiler complains with a warning about the use of
-    // the name "Archive" hiding some higher level usage.  I'm sure this
-    // is an error but I want to accomodated as it generates a long warning
-    // listing and might be related to a lot of test failures.
-    // default treatment for name-value pairs. The name is
-    // just discarded and only the value is serialized. 
-    template<class Archivex>
-    void save(
-        Archivex & ar, 
-        const unsigned int /* file_version */
-    ) const {
-        // CodeWarrior 8.x can't seem to resolve the << op for a rhs of "const T *"
-        ar.operator<<(const_value());
-    }
-    template<class Archivex>
-    void load(
-        Archivex & ar, 
-        const unsigned int /* file_version */
-    ){
-        // CodeWarrior 8.x can't seem to resolve the >> op for a rhs of "const T *"
-        ar.operator>>(value());
-    }
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-template<class T>
-inline
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-const
-#endif
-nvp< T > make_nvp(const char * name, T & t){
-    return nvp< T >(name, t);
-}
-
-// to maintain efficiency and portability, we want to assign
-// specific serialization traits to all instances of this wrappers.
-// we can't strait forward method below as it depends upon
-// Partial Template Specialization and doing so would mean that wrappers
-// wouldn't be treated the same on different platforms.  This would
-// break archive portability. Leave this here as reminder not to use it !!!
-#if 0 // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template <class T>
-struct implementation_level<nvp< T > >
-{
-    typedef mpl::integral_c_tag tag;
-    typedef mpl::int_<object_serializable> type;
-    BOOST_STATIC_CONSTANT(int, value = implementation_level::type::value);
-};
-
-// nvp objects are generally created on the stack and are never tracked
-template<class T>
-struct tracking_level<nvp< T > >
-{
-    typedef mpl::integral_c_tag tag;
-    typedef mpl::int_<track_never> type;
-    BOOST_STATIC_CONSTANT(int, value = tracking_level::type::value);
-};
-
-#endif
-
-} // seralization
-} // boost
-
-#include <boost/preprocessor/stringize.hpp>
-
-#define BOOST_SERIALIZATION_NVP(name)                              \
-    boost::serialization::make_nvp(BOOST_PP_STRINGIZE(name), name)
-/**/
-
-#define BOOST_SERIALIZATION_BASE_OBJECT_NVP(name)                  \
-    boost::serialization::make_nvp(                                \
-        BOOST_PP_STRINGIZE(name),                                  \
-        boost::serialization::base_object<name >(*this)            \
-    )
-/**/
-
-#endif // BOOST_SERIALIZATION_NVP_HPP
diff --git a/SRC/Boost/boost/serialization/optional.hpp b/SRC/Boost/boost/serialization/optional.hpp
deleted file mode 100755
index add1ab5..0000000
--- a/SRC/Boost/boost/serialization/optional.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-
-// (C) Copyright 2002-4 Pavel Vozenilek . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Provides non-intrusive serialization for boost::optional.
-
-#ifndef BOOST_SERIALIZATION_OPTIONAL_HPP_
-#define BOOST_SERIALIZATION_OPTIONAL_HPP_
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#include <boost/archive/detail/basic_iarchive.hpp>
-
-#include <boost/optional.hpp>
-#include <boost/serialization/item_version_type.hpp>
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/detail/stack_constructor.hpp>
-
-// function specializations must be defined in the appropriate
-// namespace - boost::serialization
-namespace boost { 
-namespace serialization {
-
-template<class Archive, class T>
-void save(
-    Archive & ar, 
-    const boost::optional< T > & t, 
-    const unsigned int /*version*/
-){
-    const bool tflag = t.is_initialized();
-    ar << boost::serialization::make_nvp("initialized", tflag);
-    if (tflag){
-        const boost::serialization::item_version_type item_version(version< T >::value);
-        #if 0
-        const boost::archive::library_version_type library_version(
-            ar.get_library_version()
-        };
-        if(boost::archive::library_version_type(3) < library_version){
-            ar << BOOST_SERIALIZATION_NVP(item_version);
-        }
-        #else
-            ar << BOOST_SERIALIZATION_NVP(item_version);
-        #endif
-        ar << boost::serialization::make_nvp("value", *t);
-    }
-}
-
-template<class Archive, class T>
-void load(
-    Archive & ar, 
-    boost::optional< T > & t, 
-    const unsigned int /*version*/
-){
-    bool tflag;
-    ar >> boost::serialization::make_nvp("initialized", tflag);
-    if (tflag){
-        boost::serialization::item_version_type item_version(0);
-        boost::archive::library_version_type library_version(
-            ar.get_library_version()
-        );
-        if(boost::archive::library_version_type(3) < library_version){
-            // item_version is handled as an attribute so it doesnt need an NVP
-           ar >> BOOST_SERIALIZATION_NVP(item_version);
-        }
-        detail::stack_construct<Archive, T> aux(ar, item_version);
-        ar >> boost::serialization::make_nvp("value", aux.reference());
-        t.reset(aux.reference());
-    }
-    else {
-        t.reset();
-    }
-}
-
-template<class Archive, class T>
-void serialize(
-    Archive & ar, 
-    boost::optional< T > & t, 
-    const unsigned int version
-){
-    boost::serialization::split_free(ar, t, version);
-}
-
-// the following would be slightly more efficient.  But it
-// would mean that archives created with programs that support
-// TPS wouldn't be readable by programs that don't support TPS.
-// Hence we decline to support this otherwise convenient optimization.
-//#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#if 0
-
-template <class T>
-struct implementation_level<optional< T > >
-{
-    typedef mpl::integral_c_tag tag;
-    typedef mpl::int_<boost::serialization::object_serializable> type;
-    BOOST_STATIC_CONSTANT(
-        int , 
-        value = boost::serialization::implementation_level::type::value
-    );
-};
-
-template<class T>
-struct tracking_level<optional< T > >
-{
-    typedef mpl::integral_c_tag tag;
-    typedef mpl::int_<boost::serialization::track_never> type;
-    BOOST_STATIC_CONSTANT(
-        int , 
-        value = boost::serialization::tracking_level::type::value
-    );
-};
-
-#endif
-
-} // serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_OPTIONAL_HPP_
diff --git a/SRC/Boost/boost/serialization/scoped_ptr.hpp b/SRC/Boost/boost/serialization/scoped_ptr.hpp
deleted file mode 100755
index cdebee4..0000000
--- a/SRC/Boost/boost/serialization/scoped_ptr.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SCOPED_PTR_HPP_VP_2003_10_30
-#define BOOST_SERIALIZATION_SCOPED_PTR_HPP_VP_2003_10_30
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//  Copyright (c) 2003 Vladimir Prus.
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Provides non-intrusive serialization for boost::scoped_ptr
-// Does not allow to serialize scoped_ptr's to builtin types.
-
-#include <boost/config.hpp>
-
-#include <boost/scoped_ptr.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-    
-    template<class Archive, class T>
-    void save(
-        Archive & ar, 
-        const boost::scoped_ptr< T > & t, 
-        const unsigned int /* version */
-    ){
-        T* r = t.get();
-        ar << boost::serialization::make_nvp("scoped_ptr", r);
-    }
-
-    template<class Archive, class T>
-    void load(
-        Archive & ar, 
-        boost::scoped_ptr< T > & t, 
-        const unsigned int /* version */
-    ){
-        T* r;
-        ar >> boost::serialization::make_nvp("scoped_ptr", r);
-        t.reset(r); 
-    }
-
-    template<class Archive, class T>
-    void serialize(
-        Archive& ar, 
-        boost::scoped_ptr< T >& t, 
-        const unsigned int version
-    ){
-        boost::serialization::split_free(ar, t, version);
-    }
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_SCOPED_PTR_HPP_VP_2003_10_30
diff --git a/SRC/Boost/boost/serialization/serialization.hpp b/SRC/Boost/boost/serialization/serialization.hpp
deleted file mode 100755
index 7cf57e4..0000000
--- a/SRC/Boost/boost/serialization/serialization.hpp
+++ /dev/null
@@ -1,167 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SERIALIZATION_HPP
-#define BOOST_SERIALIZATION_SERIALIZATION_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1310)
-#  pragma warning (disable : 4675) // suppress ADL warning
-#endif
-
-#include <boost/config.hpp>
-#include <boost/serialization/strong_typedef.hpp>
-#include <boost/serialization/pfto.hpp>
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// serialization.hpp: interface for serialization system.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-//////////////////////////////////////////////////////////////////////
-// public interface to serialization. 
-
-/////////////////////////////////////////////////////////////////////////////
-// layer 0 - intrusive verison
-// declared and implemented for each user defined class to be serialized
-//
-//  template<Archive>
-//  serialize(Archive &ar, const unsigned int file_version){
-//      ar & base_object<base>(*this) & member1 & member2 ... ;
-//  }
-
-/////////////////////////////////////////////////////////////////////////////
-// layer 1 - layer that routes member access through the access class.
-// this is what permits us to grant access to private class member functions
-// by specifying friend class boost::serialization::access
-
-#include <boost/serialization/access.hpp>
-
-/////////////////////////////////////////////////////////////////////////////
-// layer 2 - default implementation of non-intrusive serialization.
-//
-// note the usage of function overloading to compensate that C++ does not
-// currently support Partial Template Specialization for function templates 
-// We have declared the version number as "const unsigned long".  
-// Overriding templates for specific data types should declare the version
-// number as "const unsigned int". Template matching will first be applied
-// to functions with the same version types - that is the overloads.  
-// If there is no declared function prototype that matches, the second argument
-// will be converted to "const unsigned long" and a match will be made with 
-// one of the default template functions below.
-
-namespace boost {
-namespace serialization {
-
-BOOST_STRONG_TYPEDEF(unsigned int, version_type)
-
-// default implementation - call the member function "serialize"
-template<class Archive, class T>
-inline void serialize(
-    Archive & ar, T & t, const BOOST_PFTO unsigned int file_version
-){
-    access::serialize(ar, t, static_cast<unsigned int>(file_version));
-}
-
-// save data required for construction
-template<class Archive, class T>
-inline void save_construct_data(
-    Archive & /*ar*/, 
-    const T * /*t*/, 
-    const BOOST_PFTO unsigned int /*file_version */
-){
-    // default is to save no data because default constructor
-    // requires no arguments.
-}
-
-// load data required for construction and invoke constructor in place
-template<class Archive, class T>
-inline void load_construct_data(
-    Archive & /*ar*/, 
-    T * t, 
-    const BOOST_PFTO unsigned int /*file_version*/
-){
-    // default just uses the default constructor.  going
-    // through access permits usage of otherwise private default
-    // constructor
-    access::construct(t);
-}
-
-/////////////////////////////////////////////////////////////////////////////
-// layer 3 - move call into serialization namespace so that ADL will function
-// in the manner we desire.
-//
-// on compilers which don't implement ADL. only the current namespace
-// i.e. boost::serialization will be searched.
-// 
-// on compilers which DO implement ADL
-// serialize overrides can be in any of the following
-// 
-// 1) same namepace as Archive
-// 2) same namespace as T
-// 3) boost::serialization
-//
-// Due to Martin Ecker
-
-template<class Archive, class T>
-inline void serialize_adl(
-    Archive & ar, 
-    T & t, 
-    const unsigned int file_version
-){
-    // note usage of function overloading to delay final resolution
-    // until the point of instantiation.  This works around the two-phase
-    // lookup "feature" which inhibits redefintion of a default function
-    // template implementation. Due to Robert Ramey
-    //
-    // Note that this trick generates problems for compiles which don't support
-    // PFTO, suppress it here.  As far as we know, there are no compilers
-    // which fail to support PFTO while supporting two-phase lookup.
-    #if ! defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-        const version_type v(file_version);
-        serialize(ar, t, v);
-    #else
-        serialize(ar, t, file_version);
-    #endif
-}
-
-template<class Archive, class T>
-inline void save_construct_data_adl(
-    Archive & ar, 
-    const T * t, 
-    const unsigned int file_version
-){
-    // see above
-    #if ! defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-        const version_type v(file_version);
-        save_construct_data(ar, t, v);
-    #else
-        save_construct_data(ar, t, file_version);
-    #endif
-}
-
-template<class Archive, class T>
-inline void load_construct_data_adl(
-    Archive & ar, 
-    T * t, 
-    const unsigned int file_version
-){
-    // see above comment
-    #if ! defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-        const version_type v(file_version);
-        load_construct_data(ar, t, v);
-    #else
-        load_construct_data(ar, t, file_version);
-    #endif
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif //BOOST_SERIALIZATION_SERIALIZATION_HPP
diff --git a/SRC/Boost/boost/serialization/set.hpp b/SRC/Boost/boost/serialization/set.hpp
deleted file mode 100755
index f3801e1..0000000
--- a/SRC/Boost/boost/serialization/set.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_SET_HPP
-#define BOOST_SERIALIZATION_SET_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// set.hpp: serialization for stl set templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <set>
-
-#include <boost/config.hpp>
-
-#include <boost/serialization/collections_save_imp.hpp>
-#include <boost/serialization/collections_load_imp.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive, class Key, class Compare, class Allocator >
-inline void save(
-    Archive & ar,
-    const std::set<Key, Compare, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    boost::serialization::stl::save_collection<
-        Archive, std::set<Key, Compare, Allocator> 
-    >(ar, t);
-}
-
-template<class Archive, class Key, class Compare, class Allocator >
-inline void load(
-    Archive & ar,
-    std::set<Key, Compare, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    boost::serialization::stl::load_collection<
-        Archive,
-        std::set<Key, Compare, Allocator>,
-        boost::serialization::stl::archive_input_set<
-            Archive, std::set<Key, Compare, Allocator> 
-        >,
-        boost::serialization::stl::no_reserve_imp<std::set<
-            Key, Compare, Allocator> 
-        >
-    >(ar, t);
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<class Archive, class Key, class Compare, class Allocator >
-inline void serialize(
-    Archive & ar,
-    std::set<Key, Compare, Allocator> & t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-// multiset
-template<class Archive, class Key, class Compare, class Allocator >
-inline void save(
-    Archive & ar,
-    const std::multiset<Key, Compare, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    boost::serialization::stl::save_collection<
-        Archive, 
-        std::multiset<Key, Compare, Allocator> 
-    >(ar, t);
-}
-
-template<class Archive, class Key, class Compare, class Allocator >
-inline void load(
-    Archive & ar,
-    std::multiset<Key, Compare, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    boost::serialization::stl::load_collection<
-        Archive,
-        std::multiset<Key, Compare, Allocator>,
-        boost::serialization::stl::archive_input_set<
-            Archive, std::multiset<Key, Compare, Allocator> 
-        >,
-        boost::serialization::stl::no_reserve_imp<
-            std::multiset<Key, Compare, Allocator> 
-        >
-    >(ar, t);
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<class Archive, class Key, class Compare, class Allocator >
-inline void serialize(
-    Archive & ar,
-    std::multiset<Key, Compare, Allocator> & t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#include <boost/serialization/collection_traits.hpp>
-
-BOOST_SERIALIZATION_COLLECTION_TRAITS(std::set)
-BOOST_SERIALIZATION_COLLECTION_TRAITS(std::multiset)
-
-#endif // BOOST_SERIALIZATION_SET_HPP
diff --git a/SRC/Boost/boost/serialization/shared_ptr.hpp b/SRC/Boost/boost/serialization/shared_ptr.hpp
deleted file mode 100755
index 5485666..0000000
--- a/SRC/Boost/boost/serialization/shared_ptr.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SHARED_PTR_HPP
-#define BOOST_SERIALIZATION_SHARED_PTR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// shared_ptr.hpp: serialization for boost shared pointer
-
-// (C) Copyright 2004 Robert Ramey and Martin Ecker
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // NULL
-
-#include <boost/config.hpp>
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/integral_c_tag.hpp>
-
-#include <boost/detail/workaround.hpp>
-#include <boost/shared_ptr.hpp>
-
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/tracking.hpp>
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// shared_ptr serialization traits
-// version 1 to distinguish from boost 1.32 version. Note: we can only do this
-// for a template when the compiler supports partial template specialization
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    namespace boost {
-    namespace serialization{
-        template<class T>
-        struct version< ::boost::shared_ptr< T > > {
-            typedef mpl::integral_c_tag tag;
-            #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206))
-            typedef BOOST_DEDUCED_TYPENAME mpl::int_<1> type;
-            #else
-            typedef mpl::int_<1> type;
-            #endif
-            #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570))
-            BOOST_STATIC_CONSTANT(int, value = 1);
-            #else
-            BOOST_STATIC_CONSTANT(int, value = type::value);
-            #endif
-        };
-        // don't track shared pointers
-        template<class T>
-        struct tracking_level< ::boost::shared_ptr< T > > { 
-            typedef mpl::integral_c_tag tag;
-            #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206))
-            typedef BOOST_DEDUCED_TYPENAME mpl::int_< ::boost::serialization::track_never> type;
-            #else
-            typedef mpl::int_< ::boost::serialization::track_never> type;
-            #endif
-            #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570))
-            BOOST_STATIC_CONSTANT(int, value = ::boost::serialization::track_never);
-            #else
-            BOOST_STATIC_CONSTANT(int, value = type::value);
-            #endif
-        };
-    }}
-    #define BOOST_SERIALIZATION_SHARED_PTR(T)
-#else
-    // define macro to let users of these compilers do this
-    #define BOOST_SERIALIZATION_SHARED_PTR(T)                         \
-    BOOST_CLASS_VERSION(                                              \
-        ::boost::shared_ptr< T >,                                     \
-        1                                                             \
-    )                                                                 \
-    BOOST_CLASS_TRACKING(                                             \
-        ::boost::shared_ptr< T >,                                     \
-        ::boost::serialization::track_never                           \
-    )                                                                 \
-    /**/
-#endif
-
-namespace boost {
-namespace serialization{
-
-struct null_deleter {
-    void operator()(void const *) const {}
-};
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// serialization for shared_ptr
-
-template<class Archive, class T>
-inline void save(
-    Archive & ar,
-    const boost::shared_ptr< T > &t,
-    const unsigned int /* file_version */
-){
-    // The most common cause of trapping here would be serializing
-    // something like shared_ptr<int>.  This occurs because int
-    // is never tracked by default.  Wrap int in a trackable type
-    BOOST_STATIC_ASSERT((tracking_level< T >::value != track_never));
-    const T * t_ptr = t.get();
-    ar << boost::serialization::make_nvp("px", t_ptr);
-}
-
-#ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
-template<class Archive, class T>
-inline void load(
-    Archive & ar,
-    boost::shared_ptr< T > &t,
-    const unsigned int file_version
-){
-    // The most common cause of trapping here would be serializing
-    // something like shared_ptr<int>.  This occurs because int
-    // is never tracked by default.  Wrap int in a trackable type
-    BOOST_STATIC_ASSERT((tracking_level< T >::value != track_never));
-    T* r;
-    if(file_version < 1){
-        //ar.register_type(static_cast<
-        //    boost_132::detail::sp_counted_base_impl<T *, boost::checked_deleter< T > > *
-        //>(NULL));
-        ar.register_type(static_cast<
-            boost_132::detail::sp_counted_base_impl<T *, null_deleter > *
-        >(NULL));
-        boost_132::shared_ptr< T > sp;
-        ar >> boost::serialization::make_nvp("px", sp.px);
-        ar >> boost::serialization::make_nvp("pn", sp.pn);
-        // got to keep the sps around so the sp.pns don't disappear
-        ar.append(sp);
-        r = sp.get();
-    }
-    else{
-        ar >> boost::serialization::make_nvp("px", r);
-    }
-    ar.reset(t,r);
-}
-
-#else
-template<class Archive, class T>
-inline void load(
-    Archive & ar,
-    boost::shared_ptr< T > &t,
-    const unsigned int /*file_version*/
-){
-    // The most common cause of trapping here would be serializing
-    // something like shared_ptr<int>.  This occurs because int
-    // is never tracked by default.  Wrap int in a trackable type
-    BOOST_STATIC_ASSERT((tracking_level< T >::value != track_never));
-    T* r;
-    ar >> boost::serialization::make_nvp("px", r);
-    ar.reset(t,r);
-}
-#endif
-
-template<class Archive, class T>
-inline void serialize(
-    Archive & ar,
-    boost::shared_ptr< T > &t,
-    const unsigned int file_version
-){
-    // correct shared_ptr serialization depends upon object tracking
-    // being used.
-    BOOST_STATIC_ASSERT(
-        boost::serialization::tracking_level< T >::value
-        != boost::serialization::track_never
-    );
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_SHARED_PTR_HPP
diff --git a/SRC/Boost/boost/serialization/shared_ptr_132.hpp b/SRC/Boost/boost/serialization/shared_ptr_132.hpp
deleted file mode 100755
index 827e127..0000000
--- a/SRC/Boost/boost/serialization/shared_ptr_132.hpp
+++ /dev/null
@@ -1,222 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
-#define BOOST_SERIALIZATION_SHARED_PTR_132_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// shared_ptr.hpp: serialization for boost shared pointer
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// note: totally unadvised hack to gain access to private variables
-// in shared_ptr and shared_count. Unfortunately its the only way to
-// do this without changing shared_ptr and shared_count
-// the best we can do is to detect a conflict here
-#include <boost/config.hpp>
-
-#include <list>
-#include <cstddef> // NULL
-
-#include <boost/serialization/assume_abstract.hpp>
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/void_cast.hpp>
-
-// mark base class as an (uncreatable) base class
-#include <boost/serialization/detail/shared_ptr_132.hpp>
-
-/////////////////////////////////////////////////////////////
-// Maintain a couple of lists of loaded shared pointers of the old previous
-// version (1.32)
-
-namespace boost_132 { 
-namespace serialization {
-namespace detail {
-
-struct null_deleter {
-    void operator()(void const *) const {}
-};
-
-} // namespace detail
-} // namespace serialization
-} // namespace boost_132
-
-/////////////////////////////////////////////////////////////
-// sp_counted_base_impl serialization
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive, class P, class D>
-inline void serialize(
-    Archive & /* ar */,
-    boost_132::detail::sp_counted_base_impl<P, D> & /* t */,
-    const unsigned int /*file_version*/
-){
-    // register the relationship between each derived class
-    // its polymorphic base
-    boost::serialization::void_cast_register<
-        boost_132::detail::sp_counted_base_impl<P, D>,
-        boost_132::detail::sp_counted_base 
-    >(
-        static_cast<boost_132::detail::sp_counted_base_impl<P, D> *>(NULL),
-        static_cast<boost_132::detail::sp_counted_base *>(NULL)
-    );
-}
-
-template<class Archive, class P, class D>
-inline void save_construct_data(
-    Archive & ar,
-    const 
-    boost_132::detail::sp_counted_base_impl<P, D> *t, 
-    const BOOST_PFTO unsigned int /* file_version */
-){
-    // variables used for construction
-    ar << boost::serialization::make_nvp("ptr", t->ptr);
-}
-
-template<class Archive, class P, class D>
-inline void load_construct_data(
-    Archive & ar,
-    boost_132::detail::sp_counted_base_impl<P, D> * t, 
-    const unsigned int /* file_version */
-){
-    P ptr_;
-    ar >> boost::serialization::make_nvp("ptr", ptr_);
-    // ::new(t)boost_132::detail::sp_counted_base_impl<P, D>(ptr_,  D()); 
-    // placement
-    // note: the original ::new... above is replaced by the one here.  This one
-    // creates all new objects with a null_deleter so that after the archive
-    // is finished loading and the shared_ptrs are destroyed - the underlying
-    // raw pointers are NOT deleted.  This is necessary as they are used by the 
-    // new system as well.
-    ::new(t)boost_132::detail::sp_counted_base_impl<
-        P, 
-        boost_132::serialization::detail::null_deleter
-    >(
-        ptr_,  boost_132::serialization::detail::null_deleter()
-    ); // placement new
-    // compensate for that fact that a new shared count always is 
-    // initialized with one. the add_ref_copy below will increment it
-    // every time its serialized so without this adjustment
-    // the use and weak counts will be off by one.
-    t->use_count_ = 0;
-}
-
-} // serialization
-} // namespace boost
-
-/////////////////////////////////////////////////////////////
-// shared_count serialization
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive>
-inline void save(
-    Archive & ar,
-    const boost_132::detail::shared_count &t,
-    const unsigned int /* file_version */
-){
-    ar << boost::serialization::make_nvp("pi", t.pi_);
-}
-
-template<class Archive>
-inline void load(
-    Archive & ar,
-    boost_132::detail::shared_count &t,
-    const unsigned int /* file_version */
-){
-    ar >> boost::serialization::make_nvp("pi", t.pi_);
-    if(NULL != t.pi_)
-        t.pi_->add_ref_copy();
-}
-
-} // serialization
-} // namespace boost
-
-BOOST_SERIALIZATION_SPLIT_FREE(boost_132::detail::shared_count)
-
-/////////////////////////////////////////////////////////////
-// implement serialization for shared_ptr< T >
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive, class T>
-inline void save(
-    Archive & ar,
-    const boost_132::shared_ptr< T > &t,
-    const unsigned int /* file_version */
-){
-    // only the raw pointer has to be saved
-    // the ref count is maintained automatically as shared pointers are loaded
-    ar.register_type(static_cast<
-        boost_132::detail::sp_counted_base_impl<T *, boost::checked_deleter< T > > *
-    >(NULL));
-    ar << boost::serialization::make_nvp("px", t.px);
-    ar << boost::serialization::make_nvp("pn", t.pn);
-}
-
-template<class Archive, class T>
-inline void load(
-    Archive & ar,
-    boost_132::shared_ptr< T > &t,
-    const unsigned int /* file_version */
-){
-    // only the raw pointer has to be saved
-    // the ref count is maintained automatically as shared pointers are loaded
-    ar.register_type(static_cast<
-        boost_132::detail::sp_counted_base_impl<T *, boost::checked_deleter< T > > *
-    >(NULL));
-    ar >> boost::serialization::make_nvp("px", t.px);
-    ar >> boost::serialization::make_nvp("pn", t.pn);
-}
-
-template<class Archive, class T>
-inline void serialize(
-    Archive & ar,
-    boost_132::shared_ptr< T > &t,
-    const unsigned int file_version
-){
-    // correct shared_ptr serialization depends upon object tracking
-    // being used.
-    BOOST_STATIC_ASSERT(
-        boost::serialization::tracking_level< T >::value
-        != boost::serialization::track_never
-    );
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // serialization
-} // namespace boost
-
-// note: change below uses null_deleter 
-// This macro is used to export GUIDS for shared pointers to allow
-// the serialization system to export them properly. David Tonge
-#define BOOST_SHARED_POINTER_EXPORT_GUID(T, K)                     \
-    typedef boost_132::detail::sp_counted_base_impl<               \
-        T *,                                                       \
-        boost::checked_deleter< T >                                \
-    > __shared_ptr_ ## T;                                          \
-    BOOST_CLASS_EXPORT_GUID(__shared_ptr_ ## T, "__shared_ptr_" K) \
-    BOOST_CLASS_EXPORT_GUID(T, K)                                  \
-    /**/
-
-#define BOOST_SHARED_POINTER_EXPORT(T)                             \
-    BOOST_SHARED_POINTER_EXPORT_GUID(                              \
-        T,                                                         \
-        BOOST_PP_STRINGIZE(T)                                      \
-    )                                                              \
-    /**/
-
-#endif // BOOST_SERIALIZATION_SHARED_PTR_132_HPP
diff --git a/SRC/Boost/boost/serialization/singleton.hpp b/SRC/Boost/boost/serialization/singleton.hpp
deleted file mode 100755
index 308a19c..0000000
--- a/SRC/Boost/boost/serialization/singleton.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SINGLETON_HPP
-#define BOOST_SERIALIZATION_SINGLETON_HPP
-
-/////////1/////////2///////// 3/////////4/////////5/////////6/////////7/////////8
-//  singleton.hpp
-//
-// Copyright David Abrahams 2006. Original version
-//
-// Copyright Robert Ramey 2007.  Changes made to permit
-// application throughout the serialization library.
-//
-// Distributed under the Boost
-// Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// The intention here is to define a template which will convert
-// any class into a singleton with the following features:
-//
-// a) initialized before first use.
-// b) thread-safe for const access to the class
-// c) non-locking
-//
-// In order to do this,
-// a) Initialize dynamically when used.
-// b) Require that all singletons be initialized before main
-// is called or any entry point into the shared library is invoked.
-// This guarentees no race condition for initialization.
-// In debug mode, we assert that no non-const functions are called
-// after main is invoked.
-//
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif 
-
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/serialization/force_include.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace serialization { 
-
-//////////////////////////////////////////////////////////////////////
-// Provides a dynamically-initialized (singleton) instance of T in a
-// way that avoids LNK1179 on vc6.  See http://tinyurl.com/ljdp8 or
-// http://lists.boost.org/Archives/boost/2006/05/105286.php for
-// details.
-//
-
-// singletons created by this code are guarenteed to be unique
-// within the executable or shared library which creates them.
-// This is sufficient and in fact ideal for the serialization library.
-// The singleton is created when the module is loaded and destroyed
-// when the module is unloaded.
-
-// This base class has two functions.
-
-// First it provides a module handle for each singleton indicating
-// the executable or shared library in which it was created. This
-// turns out to be necessary and sufficient to implement the tables
-// used by serialization library.
-
-// Second, it provides a mechanism to detect when a non-const function
-// is called after initialization.
-
-// make a singleton to lock/unlock all singletons for alteration.
-// The intent is that all singletons created/used by this code
-// are to be initialized before main is called. A test program
-// can lock all the singletons when main is entereed.  This any
-// attempt to retieve a mutable instances while locked will
-// generate a assertion if compiled for debug.
-
-class singleton_module : 
-    public boost::noncopyable
-{
-private:
-    static bool & get_lock(){
-        static bool lock = false;
-        return lock;
-    }
-public:
-//    static const void * get_module_handle(){
-//        return static_cast<const void *>(get_module_handle);
-//    }
-    static void lock(){
-        get_lock() = true;
-    }
-    static void unlock(){
-        get_lock() = false;
-    }
-    static bool is_locked() {
-        return get_lock();
-    }
-};
-
-namespace detail {
-
-template<class T>
-class singleton_wrapper : public T
-{
-public:
-    static bool m_is_destroyed;
-    ~singleton_wrapper(){
-        m_is_destroyed = true;
-    }
-};
-
-template<class T>
-bool detail::singleton_wrapper< T >::m_is_destroyed = false;
-
-} // detail
-
-template <class T>
-class singleton : public singleton_module
-{
-private:
-    BOOST_DLLEXPORT static T & instance;
-    // include this to provoke instantiation at pre-execution time
-    static void use(T const &) {}
-    BOOST_DLLEXPORT static T & get_instance() {
-        static detail::singleton_wrapper< T > t;
-        // refer to instance, causing it to be instantiated (and
-        // initialized at startup on working compilers)
-        BOOST_ASSERT(! detail::singleton_wrapper< T >::m_is_destroyed);
-        use(instance);
-        return static_cast<T &>(t);
-    }
-public:
-    BOOST_DLLEXPORT static T & get_mutable_instance(){
-        BOOST_ASSERT(! is_locked());
-        return get_instance();
-    }
-    BOOST_DLLEXPORT static const T & get_const_instance(){
-        return get_instance();
-    }
-    BOOST_DLLEXPORT static bool is_destroyed(){
-        return detail::singleton_wrapper< T >::m_is_destroyed;
-    }
-};
-
-template<class T>
-BOOST_DLLEXPORT T & singleton< T >::instance = singleton< T >::get_instance();
-
-} // namespace serialization
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_SERIALIZATION_SINGLETON_HPP
diff --git a/SRC/Boost/boost/serialization/slist.hpp b/SRC/Boost/boost/serialization/slist.hpp
deleted file mode 100755
index 775c5a8..0000000
--- a/SRC/Boost/boost/serialization/slist.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SLIST_HPP
-#define BOOST_SERIALIZATION_SLIST_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// slist.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // size_t
-#include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#ifdef BOOST_HAS_SLIST
-#include BOOST_SLIST_HEADER
-
-#include <boost/serialization/collections_save_imp.hpp>
-#include <boost/serialization/collections_load_imp.hpp>
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/nvp.hpp>
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive, class U, class Allocator>
-inline void save(
-    Archive & ar,
-    const BOOST_STD_EXTENSION_NAMESPACE::slist<U, Allocator> &t,
-    const unsigned int file_version
-){
-    boost::serialization::stl::save_collection<
-        Archive,
-        BOOST_STD_EXTENSION_NAMESPACE::slist<U, Allocator> 
-    >(ar, t);
-}
-
-template<class Archive, class U, class Allocator>
-inline void load(
-    Archive & ar,
-    BOOST_STD_EXTENSION_NAMESPACE::slist<U, Allocator> &t,
-    const unsigned int file_version
-){
-    // retrieve number of elements
-    t.clear();
-    // retrieve number of elements
-    collection_size_type count;
-    ar >> BOOST_SERIALIZATION_NVP(count);
-    if(collection_size_type(0) == count)
-        return;
-    item_version_type item_version(0);
-    const boost::archive::library_version_type library_version(
-        ar.get_library_version()
-    );
-    if(boost::archive::library_version_type(3) < library_version){
-        ar >> BOOST_SERIALIZATION_NVP(item_version);
-    }
-    boost::serialization::detail::stack_construct<Archive, U> u(ar, item_version);
-    ar >> boost::serialization::make_nvp("item", u.reference());
-    t.push_front(u.reference());
-    BOOST_DEDUCED_TYPENAME BOOST_STD_EXTENSION_NAMESPACE::slist<U, Allocator>::iterator last;
-    last = t.begin();
-    while(--count > 0){
-        boost::serialization::detail::stack_construct<Archive, U> 
-            u(ar, file_version);
-        ar >> boost::serialization::make_nvp("item", u.reference());
-        last = t.insert_after(last, u.reference());
-        ar.reset_object_address(& (*last), & u.reference());
-    }
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<class Archive, class U, class Allocator>
-inline void serialize(
-    Archive & ar,
-    BOOST_STD_EXTENSION_NAMESPACE::slist<U, Allocator> &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // serialization
-} // namespace boost
-
-#include <boost/serialization/collection_traits.hpp>
-
-BOOST_SERIALIZATION_COLLECTION_TRAITS(BOOST_STD_EXTENSION_NAMESPACE::slist)
-
-#endif  // BOOST_HAS_SLIST
-#endif  // BOOST_SERIALIZATION_SLIST_HPP
diff --git a/SRC/Boost/boost/serialization/split_free.hpp b/SRC/Boost/boost/serialization/split_free.hpp
deleted file mode 100755
index 2bfeab6..0000000
--- a/SRC/Boost/boost/serialization/split_free.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SPLIT_FREE_HPP
-#define BOOST_SERIALIZATION_SPLIT_FREE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// split_free.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/serialization/serialization.hpp>
-
-namespace boost {
-namespace archive {
-    namespace detail {
-        template<class Archive> class interface_oarchive;
-        template<class Archive> class interface_iarchive;
-    } // namespace detail
-} // namespace archive
-
-namespace serialization {
-
-//namespace detail {
-template<class Archive, class T>
-struct free_saver {
-    static void invoke(
-        Archive & ar, 
-        const  T & t, 
-        const unsigned int file_version
-    ){
-        // use function overload (version_type) to workaround
-        // two-phase lookup issue
-        const version_type v(file_version);
-        save(ar, t, v);
-    }
-};
-template<class Archive, class T>
-struct free_loader {
-    static void invoke(
-        Archive & ar, 
-        T & t, 
-        const unsigned int file_version
-    ){
-        // use function overload (version_type) to workaround
-        // two-phase lookup issue
-        const version_type v(file_version);
-        load(ar, t, v);
-    }
-};
-//} // namespace detail
-
-template<class Archive, class T>
-inline void split_free(
-    Archive & ar, 
-    T & t, 
-    const unsigned int file_version
-){
-    typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
-        BOOST_DEDUCED_TYPENAME Archive::is_saving,
-        mpl::identity</* detail:: */ free_saver<Archive, T> >, 
-        mpl::identity</* detail:: */ free_loader<Archive, T> >
-    >::type typex;
-    typex::invoke(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#define BOOST_SERIALIZATION_SPLIT_FREE(T)       \
-namespace boost { namespace serialization {     \
-template<class Archive>                         \
-inline void serialize(                          \
-        Archive & ar,                               \
-        T & t,                                      \
-        const unsigned int file_version             \
-){                                              \
-        split_free(ar, t, file_version);            \
-}                                               \
-}}
-/**/
-
-#endif // BOOST_SERIALIZATION_SPLIT_FREE_HPP
diff --git a/SRC/Boost/boost/serialization/split_member.hpp b/SRC/Boost/boost/serialization/split_member.hpp
deleted file mode 100755
index cebdad2..0000000
--- a/SRC/Boost/boost/serialization/split_member.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SPLIT_MEMBER_HPP
-#define BOOST_SERIALIZATION_SPLIT_MEMBER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// split_member.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/serialization/access.hpp>
-
-namespace boost {
-namespace archive {
-    namespace detail {
-        template<class Archive> class interface_oarchive;
-        template<class Archive> class interface_iarchive;
-    } // namespace detail
-} // namespace archive
-
-namespace serialization {
-namespace detail {
-
-    template<class Archive, class T>
-    struct member_saver {
-        static void invoke(
-            Archive & ar, 
-            const T & t,
-            const unsigned int file_version
-        ){
-            access::member_save(ar, t, file_version);
-        }
-    };
-
-    template<class Archive, class T>
-    struct member_loader {
-        static void invoke(
-            Archive & ar, 
-            T & t,
-            const unsigned int file_version
-        ){
-            access::member_load(ar, t, file_version);
-        }
-    };
-
-} // detail
-
-template<class Archive, class T>
-inline void split_member(
-    Archive & ar, T & t, const unsigned int file_version
-){
-    typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
-        BOOST_DEDUCED_TYPENAME Archive::is_saving,
-        mpl::identity<detail::member_saver<Archive, T> >, 
-        mpl::identity<detail::member_loader<Archive, T> >
-    >::type typex;
-    typex::invoke(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-// split member function serialize funcition into save/load
-#define BOOST_SERIALIZATION_SPLIT_MEMBER()                       \
-template<class Archive>                                          \
-void serialize(                                                  \
-    Archive &ar,                                                 \
-    const unsigned int file_version                              \
-){                                                               \
-    boost::serialization::split_member(ar, *this, file_version); \
-}                                                                \
-/**/
-
-#endif // BOOST_SERIALIZATION_SPLIT_MEMBER_HPP
diff --git a/SRC/Boost/boost/serialization/string.hpp b/SRC/Boost/boost/serialization/string.hpp
deleted file mode 100755
index 1d4c6f0..0000000
--- a/SRC/Boost/boost/serialization/string.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_STRING_HPP
-#define BOOST_SERIALIZATION_STRING_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// serialization/string.hpp:
-// serialization for stl string templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <string>
-
-#include <boost/config.hpp>
-#include <boost/serialization/level.hpp>
-
-BOOST_CLASS_IMPLEMENTATION(std::string, boost::serialization::primitive_type)
-#ifndef BOOST_NO_STD_WSTRING
-BOOST_CLASS_IMPLEMENTATION(std::wstring, boost::serialization::primitive_type)
-#endif
-
-// left over from a previous incarnation - strings are now always primitive types
-#if 0 
-#include <string>
-#include <boost/serialization/collections_save_imp.hpp>
-#include <boost/serialization/collections_load_imp.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-// basic_string - general case
-template<class Archive, class U, class Allocator>
-inline void save(
-    Archive & ar,
-    const std::basic_string<U, Allocator> &t,
-    const unsigned int file_version
-){
-    boost::serialization::stl::save_collection<
-        Archive, std::basic_string<U, Allocator> 
-    >(ar, t);
-}
-
-template<class Archive, class U, class Allocator>
-inline void load(
-    Archive & ar,
-    std::basic_string<U, Allocator> &t,
-    const unsigned int file_version
-){
-    boost::serialization::stl::load_collection<
-        Archive,
-        std::basic_string<U, Allocator>,
-        boost::serialization::stl::archive_input_seq<
-            Archive, 
-            std::basic_string<U, Allocator> 
-        >,
-        boost::serialization::stl::reserve_imp<
-            std::basic_string<U, Allocator> 
-        >
-    >(ar, t);
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<class Archive, class U, class Allocator>
-inline void serialize(
-    Archive & ar,
-    std::basic_string<U, Allocator> & t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // serialization
-} // namespace boost
-
-#include <boost/serialization/collection_traits.hpp>
-
-BOOST_SERIALIZATION_COLLECTION_TRAITS(std::vector)
-
-#endif
-
-#endif // BOOST_SERIALIZATION_STRING_HPP
diff --git a/SRC/Boost/boost/serialization/tracking.hpp b/SRC/Boost/boost/serialization/tracking.hpp
deleted file mode 100755
index c96eae8..0000000
--- a/SRC/Boost/boost/serialization/tracking.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TRACKING_HPP
-#define BOOST_SERIALIZATION_TRACKING_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// tracking.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/greater.hpp>
-#include <boost/mpl/integral_c_tag.hpp>
-
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/tracking_enum.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-
-namespace boost {
-namespace serialization {
-
-struct basic_traits;
-
-// default tracking level
-template<class T>
-struct tracking_level_impl {
-    template<class U>
-    struct traits_class_tracking {
-        typedef BOOST_DEDUCED_TYPENAME U::tracking type;
-    };
-    typedef mpl::integral_c_tag tag;
-    // note: at least one compiler complained w/o the full qualification
-    // on basic traits below
-    typedef
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            is_base_and_derived<boost::serialization::basic_traits, T>,
-            traits_class_tracking< T >,
-        //else
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            is_pointer< T >,
-            // pointers are not tracked by default
-            mpl::int_<track_never>,
-        //else
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            // for primitives
-            BOOST_DEDUCED_TYPENAME mpl::equal_to<
-                implementation_level< T >,
-                mpl::int_<primitive_type> 
-            >,
-            // is never
-            mpl::int_<track_never>,
-            // otherwise its selective
-            mpl::int_<track_selectively>
-    >  > >::type type;
-    BOOST_STATIC_CONSTANT(int, value = type::value);
-};
-
-template<class T>
-struct tracking_level : 
-    public tracking_level_impl<const T>
-{
-};
-
-template<class T, enum tracking_type L>
-inline bool operator>=(tracking_level< T > t, enum tracking_type l)
-{
-    return t.value >= (int)l;
-}
-
-} // namespace serialization
-} // namespace boost
-
-
-// The STATIC_ASSERT is prevents one from setting tracking for a primitive type.  
-// This almost HAS to be an error.  Doing this will effect serialization of all 
-// char's in your program which is almost certainly what you don't want to do.  
-// If you want to track all instances of a given primitive type, You'll have to 
-// wrap it in your own type so its not a primitive anymore.  Then it will compile
-// without problem.
-#define BOOST_CLASS_TRACKING(T, E)           \
-namespace boost {                            \
-namespace serialization {                    \
-template<>                                   \
-struct tracking_level< T >                   \
-{                                            \
-    typedef mpl::integral_c_tag tag;         \
-    typedef mpl::int_< E> type;              \
-    BOOST_STATIC_CONSTANT(                   \
-        int,                                 \
-        value = tracking_level::type::value  \
-    );                                       \
-    /* tracking for a class  */              \
-    BOOST_STATIC_ASSERT((                    \
-        mpl::greater<                        \
-            /* that is a prmitive */         \
-            implementation_level< T >,       \
-            mpl::int_<primitive_type>        \
-        >::value                             \
-    ));                                      \
-};                                           \
-}}
-
-#endif // BOOST_SERIALIZATION_TRACKING_HPP
diff --git a/SRC/Boost/boost/serialization/traits.hpp b/SRC/Boost/boost/serialization/traits.hpp
deleted file mode 100755
index 97bcbd9..0000000
--- a/SRC/Boost/boost/serialization/traits.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TRAITS_HPP
-#define BOOST_SERIALIZATION_TRAITS_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// traits.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// This header is used to apply serialization traits to templates.  The
-// standard system can't be used for platforms which don't support
-// Partial Templlate Specialization.  
-
-// The motivation for this is the Name-Value Pair (NVP) template.
-// it has to work the same on all platforms in order for archives
-// to be portable accross platforms.
-
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/serialization/level_enum.hpp>
-#include <boost/serialization/tracking_enum.hpp>
-
-namespace boost {
-namespace serialization {
-
-// common base class used to detect appended traits class
-struct basic_traits {};
-
-template <class T>
-struct extended_type_info_impl;
-
-template<
-    class T, 
-    int Level, 
-    int Tracking,
-    unsigned int Version = 0,
-    class ETII = extended_type_info_impl< T >,
-    class Wrapper = mpl::false_
->
-struct traits : public basic_traits {
-    BOOST_STATIC_ASSERT(Version == 0 || Level >= object_class_info);
-    BOOST_STATIC_ASSERT(Tracking == track_never || Level >= object_serializable);
-    typedef BOOST_DEDUCED_TYPENAME mpl::int_<Level> level;
-    typedef BOOST_DEDUCED_TYPENAME mpl::int_<Tracking> tracking;
-    typedef BOOST_DEDUCED_TYPENAME mpl::int_<Version> version;
-    typedef ETII type_info_implementation;
-    typedef Wrapper is_wrapper;
-};
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_TRAITS_HPP
diff --git a/SRC/Boost/boost/serialization/type_info_implementation.hpp b/SRC/Boost/boost/serialization/type_info_implementation.hpp
deleted file mode 100755
index 7363149..0000000
--- a/SRC/Boost/boost/serialization/type_info_implementation.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TYPE_INFO_IMPLEMENTATION_HPP
-#define BOOST_SERIALIZATION_TYPE_INFO_IMPLEMENTATION_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// type_info_implementation.hpp: interface for portable version of type_info
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/static_assert.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/serialization/traits.hpp>
-
-namespace boost {
-namespace serialization {
-
-// note that T and const T are folded into const T so that
-// there is only one table entry per type
-template<class T>
-struct type_info_implementation {
-    template<class U>
-    struct traits_class_typeinfo_implementation {
-      typedef BOOST_DEDUCED_TYPENAME U::type_info_implementation::type type;
-    };
-    // note: at least one compiler complained w/o the full qualification
-    // on basic traits below
-    typedef 
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            is_base_and_derived<boost::serialization::basic_traits, T>,
-            traits_class_typeinfo_implementation< T >,
-        //else
-            mpl::identity<
-                BOOST_DEDUCED_TYPENAME extended_type_info_impl< T >::type
-            >
-        >::type type;
-};
-
-} // namespace serialization
-} // namespace boost
-
-// define a macro to assign a particular derivation of extended_type_info
-// to a specified a class. 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
-#define BOOST_CLASS_TYPE_INFO(T, ETI)              \
-namespace boost {                                  \
-namespace serialization {                          \
-template<>                                         \
-struct type_info_implementation< T > {             \
-    typedef const ETI type;                        \
-};                                                 \
-}                                                  \
-}                                                  \
-/**/
-#else
-#define BOOST_CLASS_TYPE_INFO(T, ETI)              \
-namespace boost {                                  \
-namespace serialization {                          \
-template<>                                         \
-struct type_info_implementation< T > {             \
-    typedef ETI type;                              \
-};                                                 \
-template<>                                         \
-struct type_info_implementation< const T > {       \
-    typedef ETI type;                              \
-};                                                 \
-}                                                  \
-}                                                  \
-/**/
-#endif
-
-#endif /// BOOST_SERIALIZATION_TYPE_INFO_IMPLEMENTATION_HPP
diff --git a/SRC/Boost/boost/serialization/utility.hpp b/SRC/Boost/boost/serialization/utility.hpp
deleted file mode 100755
index 923bc06..0000000
--- a/SRC/Boost/boost/serialization/utility.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_UTILITY_HPP
-#define BOOST_SERIALIZATION_UTILITY_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// serialization/utility.hpp:
-// serialization for stl utility templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <utility>
-#include <boost/config.hpp>
-
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/is_bitwise_serializable.hpp>
-#include <boost/mpl/and.hpp>
-
-namespace boost { 
-namespace serialization {
-
-// pair
-template<class Archive, class F, class S>
-inline void serialize(
-    Archive & ar,
-    std::pair<F, S> & p,
-    const unsigned int /* file_version */
-){
-    // note: we remove any const-ness on the first argument.  The reason is that 
-    // for stl maps, the type saved is pair<const key, T).  We remove
-    // the const-ness in order to be able to load it.
-    typedef BOOST_DEDUCED_TYPENAME boost::remove_const<F>::type typef;
-    ar & boost::serialization::make_nvp("first", const_cast<typef &>(p.first));
-    ar & boost::serialization::make_nvp("second", p.second);
-}
-
-/// specialization of is_bitwise_serializable for pairs
-template <class T, class U>
-struct is_bitwise_serializable<std::pair<T,U> >
- : public mpl::and_<is_bitwise_serializable< T >,is_bitwise_serializable<U> >
-{
-};
-
-} // serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_UTILITY_HPP
diff --git a/SRC/Boost/boost/serialization/valarray.hpp b/SRC/Boost/boost/serialization/valarray.hpp
deleted file mode 100755
index 7e01eaf..0000000
--- a/SRC/Boost/boost/serialization/valarray.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef BOOST_SERIALIZATION_VALARAY_HPP
-#define BOOST_SERIALIZATION_VALARAY_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// valarray.hpp: serialization for stl vector templates
-
-// (C) Copyright 2005 Matthias Troyer . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <valarray>
-#include <boost/config.hpp>
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/array.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/detail/get_data.hpp>
-
-// function specializations must be defined in the appropriate
-// namespace - boost::serialization
-#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-#define STD _STLP_STD
-#else
-#define STD std
-#endif
-
-namespace boost { namespace serialization {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// valarray< T >
-
-template<class Archive, class U>
-void save( Archive & ar, const STD::valarray<U> &t, const unsigned int /*file_version*/ )
-{
-  const collection_size_type count(t.size());
-  ar << BOOST_SERIALIZATION_NVP(count);
-  if (t.size())
-    ar << make_array(detail::get_data(t), t.size());
-}
-
-
-template<class Archive, class U>
-void load( Archive & ar, STD::valarray<U> &t,  const unsigned int /*file_version*/ )
-{
-  collection_size_type count;
-  ar >> BOOST_SERIALIZATION_NVP(count);
-  t.resize(count);
-  if (t.size())
-    ar >> make_array(detail::get_data(t), t.size());
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<class Archive, class U>
-inline void serialize( Archive & ar, STD::valarray<U> & t, const unsigned int file_version)
-{
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} } // end namespace boost::serialization
-
-#include <boost/serialization/collection_traits.hpp>
-
-BOOST_SERIALIZATION_COLLECTION_TRAITS(STD::valarray)
-#undef STD
-
-#endif // BOOST_SERIALIZATION_VALARAY_HPP
diff --git a/SRC/Boost/boost/serialization/variant.hpp b/SRC/Boost/boost/serialization/variant.hpp
deleted file mode 100755
index 8c246a7..0000000
--- a/SRC/Boost/boost/serialization/variant.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-#ifndef BOOST_SERIALIZATION_VARIANT_HPP
-#define BOOST_SERIALIZATION_VARIANT_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#if defined(_MSC_VER) && (_MSC_VER <= 1020)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// variant.hpp - non-intrusive serialization of variant types
-//
-// copyright (c) 2005   
-// troy d. straszheim <troy at resophonic.com>
-// http://www.resophonic.com
-//
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org for updates, documentation, and revision history.
-//
-// thanks to Robert Ramey, Peter Dimov, and Richard Crossley.
-//
-
-#include <boost/mpl/front.hpp>
-#include <boost/mpl/pop_front.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/empty.hpp>
-
-#include <boost/serialization/throw_exception.hpp>
-
-#include <boost/variant.hpp>
-
-#include <boost/archive/archive_exception.hpp>
-
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/serialization.hpp>
-#include <boost/serialization/nvp.hpp>
-
-namespace boost {
-namespace serialization {
-
-template<class Archive>
-struct variant_save_visitor : 
-    boost::static_visitor<> 
-{
-    variant_save_visitor(Archive& ar) :
-        m_ar(ar)
-    {}
-    template<class T>
-    void operator()(T const & value) const
-    {
-        m_ar << BOOST_SERIALIZATION_NVP(value);
-    }
-private:
-    Archive & m_ar;
-};
-
-template<class Archive, BOOST_VARIANT_ENUM_PARAMS(/* typename */ class T)>
-void save(
-    Archive & ar,
-    boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)> const & v,
-    unsigned int /*version*/
-){
-    int which = v.which();
-    ar << BOOST_SERIALIZATION_NVP(which);
-    typedef BOOST_DEDUCED_TYPENAME  boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>::types types;
-    variant_save_visitor<Archive> visitor(ar);
-    v.apply_visitor(visitor);
-}
-
-template<class S>
-struct variant_impl {
-
-    struct load_null {
-        template<class Archive, class V>
-        static void invoke(
-            Archive & /*ar*/,
-            int /*which*/,
-            V & /*v*/,
-            const unsigned int /*version*/
-        ){}
-    };
-
-    struct load_impl {
-        template<class Archive, class V>
-        static void invoke(
-            Archive & ar,
-            int which,
-            V & v,
-            const unsigned int version
-        ){
-            if(which == 0){
-                // note: A non-intrusive implementation (such as this one)
-                // necessary has to copy the value.  This wouldn't be necessary
-                // with an implementation that de-serialized to the address of the
-                // aligned storage included in the variant.
-                typedef BOOST_DEDUCED_TYPENAME mpl::front<S>::type head_type;
-                head_type value;
-                ar >> BOOST_SERIALIZATION_NVP(value);
-                v = value;
-                ar.reset_object_address(& boost::get<head_type>(v), & value);
-                return;
-            }
-            typedef BOOST_DEDUCED_TYPENAME mpl::pop_front<S>::type type;
-            variant_impl<type>::load(ar, which - 1, v, version);
-        }
-    };
-
-    template<class Archive, class V>
-    static void load(
-        Archive & ar,
-        int which,
-        V & v,
-        const unsigned int version
-    ){
-        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<mpl::empty<S>,
-            mpl::identity<load_null>,
-            mpl::identity<load_impl>
-        >::type typex;
-        typex::invoke(ar, which, v, version);
-    }
-
-};
-
-template<class Archive, BOOST_VARIANT_ENUM_PARAMS(/* typename */ class T)>
-void load(
-    Archive & ar, 
-    boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>& v,
-    const unsigned int version
-){
-    int which;
-    typedef BOOST_DEDUCED_TYPENAME boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>::types types;
-    ar >> BOOST_SERIALIZATION_NVP(which);
-    if(which >=  mpl::size<types>::value)
-        // this might happen if a type was removed from the list of variant types
-        boost::serialization::throw_exception(
-            boost::archive::archive_exception(
-                boost::archive::archive_exception::unsupported_version
-            )
-        );
-    variant_impl<types>::load(ar, which, v, version);
-}
-
-template<class Archive,BOOST_VARIANT_ENUM_PARAMS(/* typename */ class T)>
-inline void serialize(
-    Archive & ar,
-    boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)> & v,
-    const unsigned int file_version
-){
-    split_free(ar,v,file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif //BOOST_SERIALIZATION_VARIANT_HPP
diff --git a/SRC/Boost/boost/serialization/vector.hpp b/SRC/Boost/boost/serialization/vector.hpp
deleted file mode 100755
index 751d2f6..0000000
--- a/SRC/Boost/boost/serialization/vector.hpp
+++ /dev/null
@@ -1,211 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_VECTOR_HPP
-#define BOOST_SERIALIZATION_VECTOR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// vector.hpp: serialization for stl vector templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// fast array serialization (C) Copyright 2005 Matthias Troyer 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <vector>
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/type_traits/is_arithmetic.hpp> 
-
-#include <boost/serialization/collections_save_imp.hpp>
-#include <boost/serialization/collections_load_imp.hpp>
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/array.hpp>
-#include <boost/serialization/detail/get_data.hpp>
-#include <boost/mpl/bool.hpp>
-
-// default is being compatible with version 1.34.1 files, not 1.35 files
-#ifndef BOOST_SERIALIZATION_VECTOR_VERSIONED
-#define BOOST_SERIALIZATION_VECTOR_VERSIONED(V) (V==4 || V==5)
-#endif
-
-namespace boost { 
-namespace serialization {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// vector< T >
-
-// the default versions
-
-template<class Archive, class U, class Allocator>
-inline void save(
-    Archive & ar,
-    const std::vector<U, Allocator> &t,
-    const unsigned int /* file_version */,
-    mpl::false_
-){
-    boost::serialization::stl::save_collection<Archive, STD::vector<U, Allocator> >(
-        ar, t
-    );
-}
-
-template<class Archive, class U, class Allocator>
-inline void load(
-    Archive & ar,
-    std::vector<U, Allocator> &t,
-    const unsigned int /* file_version */,
-    mpl::false_
-){
-    boost::serialization::stl::load_collection<
-        Archive,
-        std::vector<U, Allocator>,
-        boost::serialization::stl::archive_input_seq<
-            Archive, STD::vector<U, Allocator> 
-        >,
-        boost::serialization::stl::reserve_imp<STD::vector<U, Allocator> >
-    >(ar, t);
-}
-
-// the optimized versions
-
-template<class Archive, class U, class Allocator>
-inline void save(
-    Archive & ar,
-    const std::vector<U, Allocator> &t,
-    const unsigned int /* file_version */,
-    mpl::true_
-){
-    const collection_size_type count(t.size());
-    ar << BOOST_SERIALIZATION_NVP(count);
-    if (!t.empty())
-        ar << make_array(detail::get_data(t),t.size());
-}
-
-template<class Archive, class U, class Allocator>
-inline void load(
-    Archive & ar,
-    std::vector<U, Allocator> &t,
-    const unsigned int /* file_version */,
-    mpl::true_
-){
-    collection_size_type count(t.size());
-    ar >> BOOST_SERIALIZATION_NVP(count);
-    t.resize(count);
-    unsigned int item_version=0;
-    if(BOOST_SERIALIZATION_VECTOR_VERSIONED(ar.get_library_version())) {
-        ar >> BOOST_SERIALIZATION_NVP(item_version);
-    }
-    if (!t.empty())
-        ar >> make_array(detail::get_data(t),t.size());
-  }
-
-// dispatch to either default or optimized versions
-
-template<class Archive, class U, class Allocator>
-inline void save(
-    Archive & ar,
-    const std::vector<U, Allocator> &t,
-    const unsigned int file_version
-){
-    typedef BOOST_DEDUCED_TYPENAME 
-    boost::serialization::use_array_optimization<Archive>::template apply<
-        BOOST_DEDUCED_TYPENAME remove_const<U>::type 
-    >::type use_optimized;
-    save(ar,t,file_version, use_optimized());
-}
-
-template<class Archive, class U, class Allocator>
-inline void load(
-    Archive & ar,
-    std::vector<U, Allocator> &t,
-    const unsigned int file_version
-){
-#ifdef BOOST_SERIALIZATION_VECTOR_135_HPP
-    if (ar.get_library_version()==boost::archive::library_version_type(5))
-    {
-      load(ar,t,file_version, boost::is_arithmetic<U>());
-      return;
-    }
-#endif
-    typedef BOOST_DEDUCED_TYPENAME 
-    boost::serialization::use_array_optimization<Archive>::template apply<
-        BOOST_DEDUCED_TYPENAME remove_const<U>::type 
-    >::type use_optimized;
-    load(ar,t,file_version, use_optimized());
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<class Archive, class U, class Allocator>
-inline void serialize(
-    Archive & ar,
-    std::vector<U, Allocator> & t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-#if ! BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// vector<bool>
-template<class Archive, class Allocator>
-inline void save(
-    Archive & ar,
-    const std::vector<bool, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    // record number of elements
-    collection_size_type count (t.size());
-    ar << BOOST_SERIALIZATION_NVP(count);
-    std::vector<bool>::const_iterator it = t.begin();
-    while(count-- > 0){
-        bool tb = *it++;
-        ar << boost::serialization::make_nvp("item", tb);
-    }
-}
-
-template<class Archive, class Allocator>
-inline void load(
-    Archive & ar,
-    std::vector<bool, Allocator> &t,
-    const unsigned int /* file_version */
-){
-    // retrieve number of elements
-    collection_size_type count;
-    ar >> BOOST_SERIALIZATION_NVP(count);
-    t.clear();
-    while(count-- > 0){
-        bool i;
-        ar >> boost::serialization::make_nvp("item", i);
-        t.push_back(i);
-    }
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<class Archive, class Allocator>
-inline void serialize(
-    Archive & ar,
-    std::vector<bool, Allocator> & t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-#endif // BOOST_WORKAROUND
-
-} // serialization
-} // namespace boost
-
-#include <boost/serialization/collection_traits.hpp>
-
-BOOST_SERIALIZATION_COLLECTION_TRAITS(std::vector)
-
-#endif // BOOST_SERIALIZATION_VECTOR_HPP
diff --git a/SRC/Boost/boost/serialization/vector_135.hpp b/SRC/Boost/boost/serialization/vector_135.hpp
deleted file mode 100755
index a90c0b4..0000000
--- a/SRC/Boost/boost/serialization/vector_135.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// vector_135.hpp: serialization for stl vector templates for compatibility
-//                 with release 1.35, which had a bug
-
-// (C) Copyright 2008 Matthias Troyer
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-
-#ifndef  BOOST_SERIALIZATION_VECTOR_135_HPP
-#define BOOST_SERIALIZATION_VECTOR_135_HPP
-
-#ifdef BOOST_SERIALIZATION_VECTOR_VERSIONED
-#if BOOST_SERIALIZATION_VECTOR_VERSION != 4
-#error Boost.Serialization cannot be compatible with both 1.35 and 1.36-1.40 files
-#endif
-#else
-#define BOOST_SERIALIZATION_VECTOR_VERSIONED(V) (V==4)
-#endif
-
-#include <boost/serialization/vector.hpp>
-
-#endif // BOOST_SERIALIZATION_VECTOR_135_HPP
diff --git a/SRC/Boost/boost/serialization/version.hpp b/SRC/Boost/boost/serialization/version.hpp
deleted file mode 100755
index 56ba3c4..0000000
--- a/SRC/Boost/boost/serialization/version.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-#ifndef BOOST_SERIALIZATION_VERSION_HPP
-#define BOOST_SERIALIZATION_VERSION_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// version.hpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/integral_c_tag.hpp>
-
-#include <boost/type_traits/is_base_and_derived.hpp>
-
-namespace boost { 
-namespace serialization {
-
-struct basic_traits;
-
-// default version number is 0. Override with higher version
-// when class definition changes.
-template<class T>
-struct version
-{
-    template<class U>
-    struct traits_class_version {
-        typedef BOOST_DEDUCED_TYPENAME U::version type;
-    };
-
-    typedef mpl::integral_c_tag tag;
-    // note: at least one compiler complained w/o the full qualification
-    // on basic traits below
-    typedef
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<
-            is_base_and_derived<boost::serialization::basic_traits,T>,
-            traits_class_version< T >,
-            mpl::int_<0>
-        >::type type;
-    BOOST_STATIC_CONSTANT(int, value = version::type::value);
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-template<class T>
-const int version<T>::value;
-#endif
-
-} // namespace serialization
-} // namespace boost
-
-/* note: at first it seemed that this would be a good place to trap
- * as an error an attempt to set a version # for a class which doesn't
- * save its class information (including version #) in the archive.
- * However, this imposes a requirement that the version be set after
- * the implemention level which would be pretty confusing.  If this
- * is to be done, do this check in the input or output operators when
- * ALL the serialization traits are available.  Included the implementation
- * here with this comment as a reminder not to do this!
- */
-//#include <boost/serialization/level.hpp>
-//#include <boost/mpl/equal_to.hpp>
-
-#include <boost/mpl/less.hpp>
-#include <boost/mpl/comparison.hpp>
-
-// specify the current version number for the class
-// version numbers limited to 8 bits !!!
-#define BOOST_CLASS_VERSION(T, N)                                      \
-namespace boost {                                                      \
-namespace serialization {                                              \
-template<>                                                             \
-struct version<T >                                                     \
-{                                                                      \
-    typedef mpl::int_<N> type;                                         \
-    typedef mpl::integral_c_tag tag;                                   \
-    BOOST_STATIC_CONSTANT(int, value = version::type::value);          \
-    BOOST_MPL_ASSERT((                                                 \
-        boost::mpl::less<                                              \
-            boost::mpl::int_<N>,                                       \
-            boost::mpl::int_<256>                                      \
-        >                                                              \
-    ));                                                                \
-    /*                                                                 \
-    BOOST_MPL_ASSERT((                                                 \
-        mpl::equal_to<                                                 \
-            :implementation_level<T >,                                 \
-            mpl::int_<object_class_info>                               \
-        >::value                                                       \
-    ));                                                                \
-    */                                                                 \
-};                                                                     \
-}                                                                      \
-}
-
-#endif // BOOST_SERIALIZATION_VERSION_HPP
diff --git a/SRC/Boost/boost/serialization/void_cast.hpp b/SRC/Boost/boost/serialization/void_cast.hpp
deleted file mode 100755
index 006e5b4..0000000
--- a/SRC/Boost/boost/serialization/void_cast.hpp
+++ /dev/null
@@ -1,298 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_VOID_CAST_HPP
-#define BOOST_SERIALIZATION_VOID_CAST_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// void_cast.hpp:   interface for run-time casting of void pointers.
-
-// (C) Copyright 2002-2009 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// gennadiy.rozental at tfn.com
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // for ptrdiff_t
-#include <boost/config.hpp>
-#include <boost/noncopyable.hpp>
-
-#include <boost/serialization/smart_cast.hpp>
-#include <boost/serialization/singleton.hpp>
-#include <boost/serialization/force_include.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/extended_type_info.hpp>
-#include <boost/type_traits/is_virtual_base_of.hpp>
-#include <boost/serialization/void_cast_fwd.hpp>
-
-#include <boost/serialization/config.hpp>
-#include <boost/config/abi_prefix.hpp> // must be the last header
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4251 4231 4660 4275)
-#endif
-
-namespace boost { 
-namespace serialization { 
-
-class extended_type_info;
-
-// Given a void *, assume that it really points to an instance of one type
-// and alter it so that it would point to an instance of a related type.
-// Return the altered pointer. If there exists no sequence of casts that
-// can transform from_type to to_type, return a NULL.  
-
-BOOST_SERIALIZATION_DECL(void const *)
-void_upcast(
-    extended_type_info const & derived,  
-    extended_type_info const & base, 
-    void const * const t
-);
-
-inline void *
-void_upcast(
-    extended_type_info const & derived,
-    extended_type_info const & base,
-    void * const t 
-){
-    return const_cast<void*>(void_upcast(
-        derived, 
-        base, 
-        const_cast<void const *>(t)
-    ));
-}
-
-BOOST_SERIALIZATION_DECL(void const *)
-void_downcast(
-    extended_type_info const & derived,  
-    extended_type_info const & base, 
-    void const * const t
-);
-
-inline void *
-void_downcast(
-    extended_type_info const & derived,
-    extended_type_info const & base,
-    void * const t 
-){
-    return const_cast<void*>(void_downcast(
-        derived, 
-        base, 
-        const_cast<void const *>(t)
-    ));
-}
-
-namespace void_cast_detail {
-
-class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) void_caster :
-    private boost::noncopyable
-{
-    friend 
-    BOOST_SERIALIZATION_DECL(void const *)
-    boost::serialization::void_upcast(
-        extended_type_info const & derived,
-        extended_type_info const & base,
-        void const * const
-    );
-    friend 
-    BOOST_SERIALIZATION_DECL(void const *)  
-    boost::serialization::void_downcast(
-        extended_type_info const & derived,
-        extended_type_info const & base,
-        void const * const
-    );
-protected:
-    void recursive_register(bool includes_virtual_base = false) const;
-    void recursive_unregister() const;
-    virtual bool has_virtual_base() const = 0;
-public:
-    // Data members
-    const extended_type_info * m_derived;
-    const extended_type_info * m_base;
-    /*const*/ std::ptrdiff_t m_difference;
-    void_caster const * const m_parent;
-
-    // note that void_casters are keyed on value of
-    // member extended type info records - NOT their
-    // addresses.  This is necessary in order for the
-    // void cast operations to work across dll and exe
-    // module boundries.
-    bool operator<(const void_caster & rhs) const;
-
-    const void_caster & operator*(){
-        return *this;
-    }
-    // each derived class must re-implement these;
-    virtual void const * upcast(void const * const t) const = 0;
-    virtual void const * downcast(void const * const t) const = 0;
-    // Constructor
-    void_caster(
-        extended_type_info const * derived,
-        extended_type_info const * base,
-        std::ptrdiff_t difference = 0,
-        void_caster const * const parent = 0
-    ) :
-        m_derived(derived),
-        m_base(base),
-        m_difference(difference),
-        m_parent(parent)
-    {}
-    virtual ~void_caster(){}
-};
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4251 4231 4660 4275 4511 4512)
-#endif
-
-template <class Derived, class Base>
-class void_caster_primitive : 
-    public void_caster
-{
-    virtual void const * downcast(void const * const t) const {
-        const Derived * d = 
-            boost::serialization::smart_cast<const Derived *, const Base *>(
-                static_cast<const Base *>(t)
-            );
-        return d;
-    }
-    virtual void const * upcast(void const * const t) const {
-        const Base * b = 
-            boost::serialization::smart_cast<const Base *, const Derived *>(
-                static_cast<const Derived *>(t)
-            );
-        return b;
-    }
-    virtual bool has_virtual_base() const {
-        return false;
-    }
-public:
-    void_caster_primitive();
-    virtual ~void_caster_primitive();
-};
-
-template <class Derived, class Base>
-void_caster_primitive<Derived, Base>::void_caster_primitive() :
-    void_caster( 
-        & type_info_implementation<Derived>::type::get_const_instance(), 
-        & type_info_implementation<Base>::type::get_const_instance(),
-        // note:I wanted to display from 0 here, but at least one compiler
-        // treated 0 by not shifting it at all.
-        reinterpret_cast<std::ptrdiff_t>(
-            static_cast<Derived *>(
-                reinterpret_cast<Base *>(1)
-            )
-        ) - 1
-    )
-{
-    recursive_register();
-}
-
-template <class Derived, class Base>
-void_caster_primitive<Derived, Base>::~void_caster_primitive(){
-    recursive_unregister();
-}
-
-template <class Derived, class Base>
-class void_caster_virtual_base : 
-    public void_caster
-{
-    virtual bool has_virtual_base() const {
-        return true;
-    }
-public:
-    virtual void const * downcast(void const * const t) const {
-        const Derived * d = 
-            dynamic_cast<const Derived *>(
-                static_cast<const Base *>(t)
-            );
-        return d;
-    }
-    virtual void const * upcast(void const * const t) const {
-        const Base * b = 
-            dynamic_cast<const Base *>(
-                static_cast<const Derived *>(t)
-            );
-        return b;
-    }
-    void_caster_virtual_base();
-    virtual ~void_caster_virtual_base();
-};
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-template <class Derived, class Base>
-void_caster_virtual_base<Derived,Base>::void_caster_virtual_base() :
-    void_caster( 
-        & (type_info_implementation<Derived>::type::get_const_instance()), 
-        & (type_info_implementation<Base>::type::get_const_instance())
-    )
-{
-    recursive_register(true);
-}
-
-template <class Derived, class Base>
-void_caster_virtual_base<Derived,Base>::~void_caster_virtual_base(){
-    recursive_unregister();
-}
-
-template <class Derived, class Base>
-struct void_caster_base :
-    public void_caster
-{
-    typedef
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<boost::is_virtual_base_of<Base,Derived>,
-            mpl::identity<
-                void_cast_detail::void_caster_virtual_base<Derived, Base>
-            >
-        ,// else
-            mpl::identity<
-                void_cast_detail::void_caster_primitive<Derived, Base>
-            >
-        >::type type;
-};
-
-} // void_cast_detail 
-
-template<class Derived, class Base>
-BOOST_DLLEXPORT 
-inline const void_cast_detail::void_caster & void_cast_register(
-    Derived const * /* dnull = NULL */, 
-    Base const * /* bnull = NULL */
-){
-    typedef
-        BOOST_DEDUCED_TYPENAME mpl::eval_if<boost::is_virtual_base_of<Base,Derived>,
-            mpl::identity<
-                void_cast_detail::void_caster_virtual_base<Derived, Base>
-            >
-        ,// else
-            mpl::identity<
-                void_cast_detail::void_caster_primitive<Derived, Base>
-            >
-        >::type typex;
-    return singleton<typex>::get_const_instance();
-}
-
-template<class Derived, class Base>
-class void_caster :
-    public void_cast_detail::void_caster_base<Derived, Base>::type
-{
-};
-
-} // namespace serialization
-} // namespace boost
-
-#ifdef BOOST_MSVC  
-#  pragma warning(pop)  
-#endif
-
-#include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_SERIALIZATION_VOID_CAST_HPP
diff --git a/SRC/Boost/boost/serialization/void_cast_fwd.hpp b/SRC/Boost/boost/serialization/void_cast_fwd.hpp
deleted file mode 100755
index 0b9df04..0000000
--- a/SRC/Boost/boost/serialization/void_cast_fwd.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_VOID_CAST_FWD_HPP
-#define BOOST_SERIALIZATION_VOID_CAST_FWD_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// void_cast_fwd.hpp:   interface for run-time casting of void pointers.
-
-// (C) Copyright 2005 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// gennadiy.rozental at tfn.com
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // NULL
-#include <boost/serialization/force_include.hpp>
-
-namespace boost {
-namespace serialization {
-namespace void_cast_detail{
-class void_caster;
-} // namespace void_cast_detail
-template<class Derived, class Base>
-BOOST_DLLEXPORT 
-inline const void_cast_detail::void_caster & void_cast_register(
-    const Derived * dnull = NULL, 
-    const Base * bnull = NULL
-) BOOST_USED;
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_VOID_CAST_HPP
diff --git a/SRC/Boost/boost/serialization/weak_ptr.hpp b/SRC/Boost/boost/serialization/weak_ptr.hpp
deleted file mode 100755
index 9676782..0000000
--- a/SRC/Boost/boost/serialization/weak_ptr.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef BOOST_SERIALIZATION_WEAK_PTR_HPP
-#define BOOST_SERIALIZATION_WEAK_PTR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// shared_ptr.hpp: serialization for boost shared pointer
-
-// (C) Copyright 2004 Robert Ramey and Martin Ecker
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/weak_ptr.hpp>
-#include <boost/serialization/shared_ptr.hpp>
-
-namespace boost {
-namespace serialization{
-
-template<class Archive, class T>
-inline void save(
-    Archive & ar,
-    const boost::weak_ptr< T > &t,
-    const unsigned int /* file_version */
-){
-    const boost::shared_ptr< T > sp = t.lock();
-    ar << boost::serialization::make_nvp("weak_ptr", sp);
-}
-
-template<class Archive, class T>
-inline void load(
-    Archive & ar,
-    boost::weak_ptr< T > &t,
-    const unsigned int /* file_version */
-){
-    boost::shared_ptr< T > sp;
-    ar >> boost::serialization::make_nvp("weak_ptr", sp);
-    t = sp;
-}
-
-template<class Archive, class T>
-inline void serialize(
-    Archive & ar,
-    boost::weak_ptr< T > &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_WEAK_PTR_HPP
diff --git a/SRC/Boost/boost/serialization/wrapper.hpp b/SRC/Boost/boost/serialization/wrapper.hpp
deleted file mode 100755
index 1f0b9e4..0000000
--- a/SRC/Boost/boost/serialization/wrapper.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef BOOST_SERIALIZATION_WRAPPER_HPP
-#define BOOST_SERIALIZATION_WRAPPER_HPP
-
-// (C) Copyright 2005-2006 Matthias Troyer
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/serialization/traits.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace serialization {
-
-/// the base class for serialization wrappers
-///
-/// wrappers need to be treated differently at various places in the serialization library,
-/// e.g. saving of non-const wrappers has to be possible. Since partial specialization
-// is not supported by all compilers, we derive all wrappers from wrapper_traits. 
-
-template<
-    class T, 
-    int Level = object_serializable, 
-    int Tracking = track_never,
-    unsigned int Version = 0,
-    class ETII = extended_type_info_impl< T >
->
-struct wrapper_traits : 
-    public traits<T,Level,Tracking,Version,ETII,mpl::true_> 
-{};
-
-template<class T>
-struct is_wrapper_impl :
-    boost::mpl::eval_if<
-      boost::is_base_and_derived<basic_traits,T>,
-      boost::mpl::true_,
-      boost::mpl::false_
-    >::type
-{};
-
-template<class T>
-struct is_wrapper {
-    typedef BOOST_DEDUCED_TYPENAME is_wrapper_impl<const T>::type type;
-};
-
-} // serialization
-} // boost
-
-// A macro to define that a class is a wrapper
-#define BOOST_CLASS_IS_WRAPPER(T)                       \
-namespace boost {                                       \
-namespace serialization {                               \
-template<>                                              \
-struct is_wrapper_impl<const T> : boost::mpl::true_ {}; \
-}                                                       \
-}                                                       \
-/**/
-
-#endif //BOOST_SERIALIZATION_WRAPPER_HPP
diff --git a/SRC/Boost/boost/shared_array.hpp b/SRC/Boost/boost/shared_array.hpp
deleted file mode 100755
index 3b4e919..0000000
--- a/SRC/Boost/boost/shared_array.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef BOOST_SHARED_ARRAY_HPP_INCLUDED
-#define BOOST_SHARED_ARRAY_HPP_INCLUDED
-
-//
-//  shared_array.hpp
-//
-//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-//  Copyright (c) 2001, 2002 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/smart_ptr/shared_array.htm for documentation.
-//
-
-#include <boost/smart_ptr/shared_array.hpp>
-
-#endif  // #ifndef BOOST_SHARED_ARRAY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/shared_ptr.hpp b/SRC/Boost/boost/shared_ptr.hpp
deleted file mode 100755
index 832ddac..0000000
--- a/SRC/Boost/boost/shared_ptr.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef BOOST_SHARED_PTR_HPP_INCLUDED
-#define BOOST_SHARED_PTR_HPP_INCLUDED
-
-//
-//  shared_ptr.hpp
-//
-//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-//  Copyright (c) 2001-2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.
-//
-
-#include <boost/smart_ptr/shared_ptr.hpp>
-
-#endif  // #ifndef BOOST_SHARED_PTR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr.hpp b/SRC/Boost/boost/smart_ptr.hpp
deleted file mode 100755
index 22a7788..0000000
--- a/SRC/Boost/boost/smart_ptr.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef BOOST_SMART_PTR_HPP_INCLUDED
-#define BOOST_SMART_PTR_HPP_INCLUDED
-
-//
-//  smart_ptr.hpp
-//
-//  For convenience, this header includes the rest of the smart
-//  pointer library headers.
-//
-//  Copyright (c) 2003 Peter Dimov  Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org/libs/smart_ptr/smart_ptr.htm
-//
-
-#include <boost/config.hpp>
-
-#include <boost/scoped_ptr.hpp>
-#include <boost/scoped_array.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/shared_array.hpp>
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATES) || defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-# include <boost/weak_ptr.hpp>
-# include <boost/intrusive_ptr.hpp>
-# include <boost/enable_shared_from_this.hpp>
-# include <boost/make_shared.hpp>
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/bad_weak_ptr.hpp b/SRC/Boost/boost/smart_ptr/bad_weak_ptr.hpp
deleted file mode 100755
index 72fff35..0000000
--- a/SRC/Boost/boost/smart_ptr/bad_weak_ptr.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
-#define BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/smart_ptr/bad_weak_ptr.hpp
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <exception>
-
-#ifdef __BORLANDC__
-# pragma warn -8026     // Functions with excep. spec. are not expanded inline
-#endif
-
-namespace boost
-{
-
-// The standard library that comes with Borland C++ 5.5.1, 5.6.4
-// defines std::exception and its members as having C calling
-// convention (-pc). When the definition of bad_weak_ptr
-// is compiled with -ps, the compiler issues an error.
-// Hence, the temporary #pragma option -pc below.
-
-#if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
-# pragma option push -pc
-#endif
-
-class bad_weak_ptr: public std::exception
-{
-public:
-
-    virtual char const * what() const throw()
-    {
-        return "tr1::bad_weak_ptr";
-    }
-};
-
-#if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
-# pragma option pop
-#endif
-
-} // namespace boost
-
-#ifdef __BORLANDC__
-# pragma warn .8026     // Functions with excep. spec. are not expanded inline
-#endif
-
-#endif  // #ifndef BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/atomic_count.hpp b/SRC/Boost/boost/smart_ptr/detail/atomic_count.hpp
deleted file mode 100755
index f856137..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/atomic_count.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/atomic_count.hpp - thread/SMP safe reference counter
-//
-//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  typedef <implementation-defined> boost::detail::atomic_count;
-//
-//  atomic_count a(n);
-//
-//    (n is convertible to long)
-//
-//    Effects: Constructs an atomic_count with an initial value of n
-//
-//  a;
-//
-//    Returns: (long) the current value of a
-//
-//  ++a;
-//
-//    Effects: Atomically increments the value of a
-//    Returns: (long) the new value of a
-//
-//  --a;
-//
-//    Effects: Atomically decrements the value of a
-//    Returns: (long) the new value of a
-//
-//    Important note: when --a returns zero, it must act as a
-//      read memory barrier (RMB); i.e. the calling thread must
-//      have a synchronized view of the memory
-//
-//    On Intel IA-32 (x86) memory is always synchronized, so this
-//      is not a problem.
-//
-//    On many architectures the atomic instructions already act as
-//      a memory barrier.
-//
-//    This property is necessary for proper reference counting, since
-//      a thread can update the contents of a shared object, then
-//      release its reference, and another thread may immediately
-//      release the last reference causing object destruction.
-//
-//    The destructor needs to have a synchronized view of the
-//      object to perform proper cleanup.
-//
-//    Original example by Alexander Terekhov:
-//
-//    Given:
-//
-//    - a mutable shared object OBJ;
-//    - two threads THREAD1 and THREAD2 each holding 
-//      a private smart_ptr object pointing to that OBJ.
-//
-//    t1: THREAD1 updates OBJ (thread-safe via some synchronization)
-//      and a few cycles later (after "unlock") destroys smart_ptr;
-//
-//    t2: THREAD2 destroys smart_ptr WITHOUT doing any synchronization 
-//      with respect to shared mutable object OBJ; OBJ destructors
-//      are called driven by smart_ptr interface...
-//
-
-#include <boost/config.hpp>
-#include <boost/smart_ptr/detail/sp_has_sync.hpp>
-
-#ifndef BOOST_HAS_THREADS
-
-namespace boost
-{
-
-namespace detail
-{
-
-typedef long atomic_count;
-
-}
-
-}
-
-#elif defined(BOOST_AC_USE_PTHREADS)
-#  include <boost/smart_ptr/detail/atomic_count_pthreads.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )
-#  include <boost/smart_ptr/detail/atomic_count_gcc_x86.hpp>
-
-#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-#  include <boost/smart_ptr/detail/atomic_count_win32.hpp>
-
-#elif defined( BOOST_SP_HAS_SYNC )
-#  include <boost/smart_ptr/detail/atomic_count_sync.hpp>
-
-#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
-#  include <boost/smart_ptr/detail/atomic_count_gcc.hpp>
-
-#elif defined(BOOST_HAS_PTHREADS)
-
-#  define BOOST_AC_USE_PTHREADS
-#  include <boost/smart_ptr/detail/atomic_count_pthreads.hpp>
-
-#else
-
-// Use #define BOOST_DISABLE_THREADS to avoid the error
-#error Unrecognized threading platform
-
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/atomic_count_gcc.hpp b/SRC/Boost/boost/smart_ptr/detail/atomic_count_gcc.hpp
deleted file mode 100755
index 0c10d88..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/atomic_count_gcc.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
-
-//
-//  boost/detail/atomic_count_gcc.hpp
-//
-//  atomic_count for GNU libstdc++ v3
-//
-//  http://gcc.gnu.org/onlinedocs/porting/Thread-safety.html
-//
-//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-//  Copyright (c) 2002 Lars Gullik Bj�nnes <larsbj at lyx.org>
-//  Copyright 2003-2005 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#if __GNUC__ * 100 + __GNUC_MINOR__ >= 402
-# include <ext/atomicity.h> 
-#else 
-# include <bits/atomicity.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if defined(__GLIBCXX__) // g++ 3.4+
-
-using __gnu_cxx::__atomic_add;
-using __gnu_cxx::__exchange_and_add;
-
-#endif
-
-class atomic_count
-{
-public:
-
-    explicit atomic_count( long v ) : value_( v ) {}
-
-    long operator++()
-    {
-        return __exchange_and_add( &value_, +1 ) + 1;
-    }
-
-    long operator--()
-    {
-        return __exchange_and_add( &value_, -1 ) - 1;
-    }
-
-    operator long() const
-    {
-        return __exchange_and_add( &value_, 0 );
-    }
-
-private:
-
-    atomic_count(atomic_count const &);
-    atomic_count & operator=(atomic_count const &);
-
-    mutable _Atomic_word value_;
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp b/SRC/Boost/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp
deleted file mode 100755
index 388498b..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
-
-//
-//  boost/detail/atomic_count_gcc_x86.hpp
-//
-//  atomic_count for g++ on 486+/AMD64
-//
-//  Copyright 2007 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-
-namespace boost
-{
-
-namespace detail
-{
-
-class atomic_count
-{
-public:
-
-    explicit atomic_count( long v ) : value_( static_cast< int >( v ) ) {}
-
-    long operator++()
-    {
-        return atomic_exchange_and_add( &value_, +1 ) + 1;
-    }
-
-    long operator--()
-    {
-        return atomic_exchange_and_add( &value_, -1 ) - 1;
-    }
-
-    operator long() const
-    {
-        return atomic_exchange_and_add( &value_, 0 );
-    }
-
-private:
-
-    atomic_count(atomic_count const &);
-    atomic_count & operator=(atomic_count const &);
-
-    mutable int value_;
-
-private:
-
-    static int atomic_exchange_and_add( int * pw, int dv )
-    {
-        // int r = *pw;
-        // *pw += dv;
-        // return r;
-
-        int r;
-
-        __asm__ __volatile__
-        (
-            "lock\n\t"
-            "xadd %1, %0":
-            "+m"( *pw ), "=r"( r ): // outputs (%0, %1)
-            "1"( dv ): // inputs (%2 == %1)
-            "memory", "cc" // clobbers
-        );
-
-        return r;
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/atomic_count_pthreads.hpp b/SRC/Boost/boost/smart_ptr/detail/atomic_count_pthreads.hpp
deleted file mode 100755
index 5e89faa..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/atomic_count_pthreads.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
-
-//
-//  boost/detail/atomic_count_pthreads.hpp
-//
-//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <pthread.h>
-
-//
-//  The generic pthread_mutex-based implementation sometimes leads to
-//    inefficiencies. Example: a class with two atomic_count members
-//    can get away with a single mutex.
-//
-//  Users can detect this situation by checking BOOST_AC_USE_PTHREADS.
-//
-
-namespace boost
-{
-
-namespace detail
-{
-
-class atomic_count
-{
-private:
-
-    class scoped_lock
-    {
-    public:
-
-        scoped_lock(pthread_mutex_t & m): m_(m)
-        {
-            pthread_mutex_lock(&m_);
-        }
-
-        ~scoped_lock()
-        {
-            pthread_mutex_unlock(&m_);
-        }
-
-    private:
-
-        pthread_mutex_t & m_;
-    };
-
-public:
-
-    explicit atomic_count(long v): value_(v)
-    {
-        pthread_mutex_init(&mutex_, 0);
-    }
-
-    ~atomic_count()
-    {
-        pthread_mutex_destroy(&mutex_);
-    }
-
-    long operator++()
-    {
-        scoped_lock lock(mutex_);
-        return ++value_;
-    }
-
-    long operator--()
-    {
-        scoped_lock lock(mutex_);
-        return --value_;
-    }
-
-    operator long() const
-    {
-        scoped_lock lock(mutex_);
-        return value_;
-    }
-
-private:
-
-    atomic_count(atomic_count const &);
-    atomic_count & operator=(atomic_count const &);
-
-    mutable pthread_mutex_t mutex_;
-    long value_;
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/atomic_count_sync.hpp b/SRC/Boost/boost/smart_ptr/detail/atomic_count_sync.hpp
deleted file mode 100755
index 521dbe8..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/atomic_count_sync.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
-
-//
-//  boost/detail/atomic_count_sync.hpp
-//
-//  atomic_count for g++ 4.1+
-//
-//  http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Atomic-Builtins.html
-//
-//  Copyright 2007 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#if defined( __ia64__ ) && defined( __INTEL_COMPILER )
-# include <ia64intrin.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-class atomic_count
-{
-public:
-
-    explicit atomic_count( long v ) : value_( v ) {}
-
-    long operator++()
-    {
-        return __sync_add_and_fetch( &value_, 1 );
-    }
-
-    long operator--()
-    {
-        return __sync_add_and_fetch( &value_, -1 );
-    }
-
-    operator long() const
-    {
-        return __sync_fetch_and_add( &value_, 0 );
-    }
-
-private:
-
-    atomic_count(atomic_count const &);
-    atomic_count & operator=(atomic_count const &);
-
-    mutable long value_;
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/atomic_count_win32.hpp b/SRC/Boost/boost/smart_ptr/detail/atomic_count_win32.hpp
deleted file mode 100755
index 70edce9..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/atomic_count_win32.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/atomic_count_win32.hpp
-//
-//  Copyright (c) 2001-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/interlocked.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class atomic_count
-{
-public:
-
-    explicit atomic_count( long v ): value_( v )
-    {
-    }
-
-    long operator++()
-    {
-        return BOOST_INTERLOCKED_INCREMENT( &value_ );
-    }
-
-    long operator--()
-    {
-        return BOOST_INTERLOCKED_DECREMENT( &value_ );
-    }
-
-    operator long() const
-    {
-        return static_cast<long const volatile &>( value_ );
-    }
-
-private:
-
-    atomic_count( atomic_count const & );
-    atomic_count & operator=( atomic_count const & );
-
-    long value_;
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/lightweight_mutex.hpp b/SRC/Boost/boost/smart_ptr/detail/lightweight_mutex.hpp
deleted file mode 100755
index f6c159e..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/lightweight_mutex.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/lightweight_mutex.hpp - lightweight mutex
-//
-//  Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  typedef <unspecified> boost::detail::lightweight_mutex;
-//
-//  boost::detail::lightweight_mutex is a header-only implementation of
-//  a subset of the Mutex concept requirements:
-//
-//  http://www.boost.org/doc/html/threads/concepts.html#threads.concepts.Mutex
-//
-//  It maps to a CRITICAL_SECTION on Windows or a pthread_mutex on POSIX.
-//
-
-#include <boost/config.hpp>
-
-#if !defined(BOOST_HAS_THREADS)
-#  include <boost/smart_ptr/detail/lwm_nop.hpp>
-#elif defined(BOOST_HAS_PTHREADS)
-#  include <boost/smart_ptr/detail/lwm_pthreads.hpp>
-#elif defined(BOOST_HAS_WINTHREADS) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-#  include <boost/smart_ptr/detail/lwm_win32_cs.hpp>
-#else
-// Use #define BOOST_DISABLE_THREADS to avoid the error
-#  error Unrecognized threading platform
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/lwm_nop.hpp b/SRC/Boost/boost/smart_ptr/detail/lwm_nop.hpp
deleted file mode 100755
index cc1e97f..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/lwm_nop.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/lwm_nop.hpp
-//
-//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-namespace boost
-{
-
-namespace detail
-{
-
-class lightweight_mutex
-{
-public:
-
-    typedef lightweight_mutex scoped_lock;
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/lwm_pthreads.hpp b/SRC/Boost/boost/smart_ptr/detail/lwm_pthreads.hpp
deleted file mode 100755
index 6a2b70b..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/lwm_pthreads.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/lwm_pthreads.hpp
-//
-//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/assert.hpp>
-#include <pthread.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class lightweight_mutex
-{
-private:
-
-    pthread_mutex_t m_;
-
-    lightweight_mutex(lightweight_mutex const &);
-    lightweight_mutex & operator=(lightweight_mutex const &);
-
-public:
-
-    lightweight_mutex()
-    {
-
-// HPUX 10.20 / DCE has a nonstandard pthread_mutex_init
-
-#if defined(__hpux) && defined(_DECTHREADS_)
-        BOOST_VERIFY( pthread_mutex_init( &m_, pthread_mutexattr_default ) == 0 );
-#else
-        BOOST_VERIFY( pthread_mutex_init( &m_, 0 ) == 0 );
-#endif
-    }
-
-    ~lightweight_mutex()
-    {
-        BOOST_VERIFY( pthread_mutex_destroy( &m_ ) == 0 );
-    }
-
-    class scoped_lock;
-    friend class scoped_lock;
-
-    class scoped_lock
-    {
-    private:
-
-        pthread_mutex_t & m_;
-
-        scoped_lock(scoped_lock const &);
-        scoped_lock & operator=(scoped_lock const &);
-
-    public:
-
-        scoped_lock(lightweight_mutex & m): m_(m.m_)
-        {
-            BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
-        }
-
-        ~scoped_lock()
-        {
-            BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
-        }
-    };
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/lwm_win32_cs.hpp b/SRC/Boost/boost/smart_ptr/detail/lwm_win32_cs.hpp
deleted file mode 100755
index f2cbb9a..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/lwm_win32_cs.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/lwm_win32_cs.hpp
-//
-//  Copyright (c) 2002, 2003 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifdef BOOST_USE_WINDOWS_H
-#  include <windows.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-#ifndef BOOST_USE_WINDOWS_H
-
-struct critical_section
-{
-    struct critical_section_debug * DebugInfo;
-    long LockCount;
-    long RecursionCount;
-    void * OwningThread;
-    void * LockSemaphore;
-#if defined(_WIN64)
-    unsigned __int64 SpinCount;
-#else
-    unsigned long SpinCount;
-#endif
-};
-
-extern "C" __declspec(dllimport) void __stdcall InitializeCriticalSection(critical_section *);
-extern "C" __declspec(dllimport) void __stdcall EnterCriticalSection(critical_section *);
-extern "C" __declspec(dllimport) void __stdcall LeaveCriticalSection(critical_section *);
-extern "C" __declspec(dllimport) void __stdcall DeleteCriticalSection(critical_section *);
-
-#else
-
-typedef ::CRITICAL_SECTION critical_section;
-
-#endif // #ifndef BOOST_USE_WINDOWS_H
-
-class lightweight_mutex
-{
-private:
-
-    critical_section cs_;
-
-    lightweight_mutex(lightweight_mutex const &);
-    lightweight_mutex & operator=(lightweight_mutex const &);
-
-public:
-
-    lightweight_mutex()
-    {
-        InitializeCriticalSection(&cs_);
-    }
-
-    ~lightweight_mutex()
-    {
-        DeleteCriticalSection(&cs_);
-    }
-
-    class scoped_lock;
-    friend class scoped_lock;
-
-    class scoped_lock
-    {
-    private:
-
-        lightweight_mutex & m_;
-
-        scoped_lock(scoped_lock const &);
-        scoped_lock & operator=(scoped_lock const &);
-
-    public:
-
-        explicit scoped_lock(lightweight_mutex & m): m_(m)
-        {
-            EnterCriticalSection(&m_.cs_);
-        }
-
-        ~scoped_lock()
-        {
-            LeaveCriticalSection(&m_.cs_);
-        }
-    };
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/operator_bool.hpp b/SRC/Boost/boost/smart_ptr/detail/operator_bool.hpp
deleted file mode 100755
index a4bc752..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/operator_bool.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//  This header intentionally has no include guards.
-//
-//  Copyright (c) 2001-2009 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-
-#if ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, < 0x570) ) || defined(__CINT__)
-
-    operator bool () const
-    {
-        return px != 0;
-    }
-
-#elif defined( _MANAGED )
-
-    static void unspecified_bool( this_type*** )
-    {
-    }
-
-    typedef void (*unspecified_bool_type)( this_type*** );
-
-    operator unspecified_bool_type() const // never throws
-    {
-        return px == 0? 0: unspecified_bool;
-    }
-
-#elif \
-    ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \
-    ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) ) || \
-    ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )
-
-    typedef T * (this_type::*unspecified_bool_type)() const;
-
-    operator unspecified_bool_type() const // never throws
-    {
-        return px == 0? 0: &this_type::get;
-    }
-
-#else
-
-    typedef T * this_type::*unspecified_bool_type;
-
-    operator unspecified_bool_type() const // never throws
-    {
-        return px == 0? 0: &this_type::px;
-    }
-
-#endif
-
-    // operator! is redundant, but some compilers need it
-    bool operator! () const // never throws
-    {
-        return px == 0;
-    }
diff --git a/SRC/Boost/boost/smart_ptr/detail/quick_allocator.hpp b/SRC/Boost/boost/smart_ptr/detail/quick_allocator.hpp
deleted file mode 100755
index 12dfb83..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/quick_allocator.hpp
+++ /dev/null
@@ -1,199 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/quick_allocator.hpp
-//
-//  Copyright (c) 2003 David Abrahams
-//  Copyright (c) 2003 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/config.hpp>
-
-#include <boost/smart_ptr/detail/lightweight_mutex.hpp>
-#include <boost/type_traits/type_with_alignment.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-
-#include <new>              // ::operator new, ::operator delete
-#include <cstddef>          // std::size_t
-
-namespace boost
-{
-
-namespace detail
-{
-
-template<unsigned size, unsigned align_> union freeblock
-{
-    typedef typename boost::type_with_alignment<align_>::type aligner_type;
-    aligner_type aligner;
-    char bytes[size];
-    freeblock * next;
-};
-
-template<unsigned size, unsigned align_> struct allocator_impl
-{
-    typedef freeblock<size, align_> block;
-
-    // It may seem odd to use such small pages.
-    //
-    // However, on a typical Windows implementation that uses
-    // the OS allocator, "normal size" pages interact with the
-    // "ordinary" operator new, slowing it down dramatically.
-    //
-    // 512 byte pages are handled by the small object allocator,
-    // and don't interfere with ::new.
-    //
-    // The other alternative is to use much bigger pages (1M.)
-    //
-    // It is surprisingly easy to hit pathological behavior by
-    // varying the page size. g++ 2.96 on Red Hat Linux 7.2,
-    // for example, passionately dislikes 496. 512 seems OK.
-
-#if defined(BOOST_QA_PAGE_SIZE)
-
-    enum { items_per_page = BOOST_QA_PAGE_SIZE / size };
-
-#else
-
-    enum { items_per_page = 512 / size }; // 1048560 / size
-
-#endif
-
-#ifdef BOOST_HAS_THREADS
-
-    static lightweight_mutex & mutex()
-    {
-        static freeblock< sizeof( lightweight_mutex ), boost::alignment_of< lightweight_mutex >::value > fbm;
-        static lightweight_mutex * pm = new( &fbm ) lightweight_mutex;
-        return *pm;
-    }
-
-    static lightweight_mutex * mutex_init;
-
-#endif
-
-    static block * free;
-    static block * page;
-    static unsigned last;
-
-    static inline void * alloc()
-    {
-#ifdef BOOST_HAS_THREADS
-        lightweight_mutex::scoped_lock lock( mutex() );
-#endif
-        if(block * x = free)
-        {
-            free = x->next;
-            return x;
-        }
-        else
-        {
-            if(last == items_per_page)
-            {
-                // "Listen to me carefully: there is no memory leak"
-                // -- Scott Meyers, Eff C++ 2nd Ed Item 10
-                page = ::new block[items_per_page];
-                last = 0;
-            }
-
-            return &page[last++];
-        }
-    }
-
-    static inline void * alloc(std::size_t n)
-    {
-        if(n != size) // class-specific new called for a derived object
-        {
-            return ::operator new(n);
-        }
-        else
-        {
-#ifdef BOOST_HAS_THREADS
-            lightweight_mutex::scoped_lock lock( mutex() );
-#endif
-            if(block * x = free)
-            {
-                free = x->next;
-                return x;
-            }
-            else
-            {
-                if(last == items_per_page)
-                {
-                    page = ::new block[items_per_page];
-                    last = 0;
-                }
-
-                return &page[last++];
-            }
-        }
-    }
-
-    static inline void dealloc(void * pv)
-    {
-        if(pv != 0) // 18.4.1.1/13
-        {
-#ifdef BOOST_HAS_THREADS
-            lightweight_mutex::scoped_lock lock( mutex() );
-#endif
-            block * pb = static_cast<block *>(pv);
-            pb->next = free;
-            free = pb;
-        }
-    }
-
-    static inline void dealloc(void * pv, std::size_t n)
-    {
-        if(n != size) // class-specific delete called for a derived object
-        {
-            ::operator delete(pv);
-        }
-        else if(pv != 0) // 18.4.1.1/13
-        {
-#ifdef BOOST_HAS_THREADS
-            lightweight_mutex::scoped_lock lock( mutex() );
-#endif
-            block * pb = static_cast<block *>(pv);
-            pb->next = free;
-            free = pb;
-        }
-    }
-};
-
-#ifdef BOOST_HAS_THREADS
-
-template<unsigned size, unsigned align_>
-  lightweight_mutex * allocator_impl<size, align_>::mutex_init = &allocator_impl<size, align_>::mutex();
-
-#endif
-
-template<unsigned size, unsigned align_>
-  freeblock<size, align_> * allocator_impl<size, align_>::free = 0;
-
-template<unsigned size, unsigned align_>
-  freeblock<size, align_> * allocator_impl<size, align_>::page = 0;
-
-template<unsigned size, unsigned align_>
-  unsigned allocator_impl<size, align_>::last = allocator_impl<size, align_>::items_per_page;
-
-template<class T>
-struct quick_allocator: public allocator_impl< sizeof(T), boost::alignment_of<T>::value >
-{
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/shared_array_nmt.hpp b/SRC/Boost/boost/smart_ptr/detail/shared_array_nmt.hpp
deleted file mode 100755
index d811a05..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/shared_array_nmt.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED
-
-//
-//  detail/shared_array_nmt.hpp - shared_array.hpp without member templates
-//
-//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-//  Copyright (c) 2001, 2002 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/smart_ptr/shared_array.htm for documentation.
-//
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/smart_ptr/detail/atomic_count.hpp>
-
-#include <cstddef>          // for std::ptrdiff_t
-#include <algorithm>        // for std::swap
-#include <functional>       // for std::less
-#include <new>              // for std::bad_alloc
-
-namespace boost
-{
-
-template<class T> class shared_array
-{
-private:
-
-    typedef detail::atomic_count count_type;
-
-public:
-
-    typedef T element_type;
-      
-    explicit shared_array(T * p = 0): px(p)
-    {
-#ifndef BOOST_NO_EXCEPTIONS
-
-        try  // prevent leak if new throws
-        {
-            pn = new count_type(1);
-        }
-        catch(...)
-        {
-            boost::checked_array_delete(p);
-            throw;
-        }
-
-#else
-
-        pn = new count_type(1);
-
-        if(pn == 0)
-        {
-            boost::checked_array_delete(p);
-            boost::throw_exception(std::bad_alloc());
-        }
-
-#endif
-    }
-
-    ~shared_array()
-    {
-        if(--*pn == 0)
-        {
-            boost::checked_array_delete(px);
-            delete pn;
-        }
-    }
-
-    shared_array(shared_array const & r) : px(r.px)  // never throws
-    {
-        pn = r.pn;
-        ++*pn;
-    }
-
-    shared_array & operator=(shared_array const & r)
-    {
-        shared_array(r).swap(*this);
-        return *this;
-    }
-
-    void reset(T * p = 0)
-    {
-        BOOST_ASSERT(p == 0 || p != px);
-        shared_array(p).swap(*this);
-    }
-
-    T * get() const  // never throws
-    {
-        return px;
-    }
-
-    T & operator[](std::ptrdiff_t i) const  // never throws
-    {
-        BOOST_ASSERT(px != 0);
-        BOOST_ASSERT(i >= 0);
-        return px[i];
-    }
-
-    long use_count() const  // never throws
-    {
-        return *pn;
-    }
-
-    bool unique() const  // never throws
-    {
-        return *pn == 1;
-    }
-
-    void swap(shared_array<T> & other)  // never throws
-    {
-        std::swap(px, other.px);
-        std::swap(pn, other.pn);
-    }
-
-private:
-
-    T * px;            // contained pointer
-    count_type * pn;   // ptr to reference counter
-      
-};  // shared_array
-
-template<class T, class U> inline bool operator==(shared_array<T> const & a, shared_array<U> const & b)
-{
-    return a.get() == b.get();
-}
-
-template<class T, class U> inline bool operator!=(shared_array<T> const & a, shared_array<U> const & b)
-{
-    return a.get() != b.get();
-}
-
-template<class T> inline bool operator<(shared_array<T> const & a, shared_array<T> const & b)
-{
-    return std::less<T*>()(a.get(), b.get());
-}
-
-template<class T> void swap(shared_array<T> & a, shared_array<T> & b)
-{
-    a.swap(b);
-}
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/shared_count.hpp b/SRC/Boost/boost/smart_ptr/detail/shared_count.hpp
deleted file mode 100755
index 604f8de..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/shared_count.hpp
+++ /dev/null
@@ -1,532 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/shared_count.hpp
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifdef __BORLANDC__
-# pragma warn -8027     // Functions containing try are not expanded inline
-#endif
-
-#include <boost/config.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/smart_ptr/bad_weak_ptr.hpp>
-#include <boost/smart_ptr/detail/sp_counted_base.hpp>
-#include <boost/smart_ptr/detail/sp_counted_impl.hpp>
-#include <boost/detail/workaround.hpp>
-// In order to avoid circular dependencies with Boost.TR1
-// we make sure that our include of <memory> doesn't try to
-// pull in the TR1 headers: that's why we use this header 
-// rather than including <memory> directly:
-#include <boost/config/no_tr1/memory.hpp>  // std::auto_ptr
-#include <functional>       // std::less
-#include <new>              // std::bad_alloc
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-int const shared_count_id = 0x2C35F101;
-int const   weak_count_id = 0x298C38A4;
-
-#endif
-
-struct sp_nothrow_tag {};
-
-template< class D > struct sp_inplace_tag
-{
-};
-
-class weak_count;
-
-class shared_count
-{
-private:
-
-    sp_counted_base * pi_;
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-    int id_;
-#endif
-
-    friend class weak_count;
-
-public:
-
-    shared_count(): pi_(0) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-    }
-
-    template<class Y> explicit shared_count( Y * p ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-#ifndef BOOST_NO_EXCEPTIONS
-
-        try
-        {
-            pi_ = new sp_counted_impl_p<Y>( p );
-        }
-        catch(...)
-        {
-            boost::checked_delete( p );
-            throw;
-        }
-
-#else
-
-        pi_ = new sp_counted_impl_p<Y>( p );
-
-        if( pi_ == 0 )
-        {
-            boost::checked_delete( p );
-            boost::throw_exception( std::bad_alloc() );
-        }
-
-#endif
-    }
-
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1200 )
-    template<class Y, class D> shared_count( Y * p, D d ): pi_(0)
-#else
-    template<class P, class D> shared_count( P p, D d ): pi_(0)
-#endif
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1200 )
-        typedef Y* P;
-#endif
-#ifndef BOOST_NO_EXCEPTIONS
-
-        try
-        {
-            pi_ = new sp_counted_impl_pd<P, D>(p, d);
-        }
-        catch(...)
-        {
-            d(p); // delete p
-            throw;
-        }
-
-#else
-
-        pi_ = new sp_counted_impl_pd<P, D>(p, d);
-
-        if(pi_ == 0)
-        {
-            d(p); // delete p
-            boost::throw_exception(std::bad_alloc());
-        }
-
-#endif
-    }
-
-#if !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
-
-    template< class P, class D > shared_count( P p, sp_inplace_tag<D> ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-#ifndef BOOST_NO_EXCEPTIONS
-
-        try
-        {
-            pi_ = new sp_counted_impl_pd< P, D >( p );
-        }
-        catch( ... )
-        {
-            D()( p ); // delete p
-            throw;
-        }
-
-#else
-
-        pi_ = new sp_counted_impl_pd< P, D >( p );
-
-        if( pi_ == 0 )
-        {
-            D()( p ); // delete p
-            boost::throw_exception( std::bad_alloc() );
-        }
-
-#endif // #ifndef BOOST_NO_EXCEPTIONS
-    }
-
-#endif // !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
-
-    template<class P, class D, class A> shared_count( P p, D d, A a ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-        typedef sp_counted_impl_pda<P, D, A> impl_type;
-        typedef typename A::template rebind< impl_type >::other A2;
-
-        A2 a2( a );
-
-#ifndef BOOST_NO_EXCEPTIONS
-
-        try
-        {
-            pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
-            new( static_cast< void* >( pi_ ) ) impl_type( p, d, a );
-        }
-        catch(...)
-        {
-            d( p );
-
-            if( pi_ != 0 )
-            {
-                a2.deallocate( static_cast< impl_type* >( pi_ ), 1 );
-            }
-
-            throw;
-        }
-
-#else
-
-        pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
-
-        if( pi_ != 0 )
-        {
-            new( static_cast< void* >( pi_ ) ) impl_type( p, d, a );
-        }
-        else
-        {
-            d( p );
-            boost::throw_exception( std::bad_alloc() );
-        }
-
-#endif
-    }
-
-#if !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
-
-    template< class P, class D, class A > shared_count( P p, sp_inplace_tag< D >, A a ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-        typedef sp_counted_impl_pda< P, D, A > impl_type;
-        typedef typename A::template rebind< impl_type >::other A2;
-
-        A2 a2( a );
-
-#ifndef BOOST_NO_EXCEPTIONS
-
-        try
-        {
-            pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
-            new( static_cast< void* >( pi_ ) ) impl_type( p, a );
-        }
-        catch(...)
-        {
-            D()( p );
-
-            if( pi_ != 0 )
-            {
-                a2.deallocate( static_cast< impl_type* >( pi_ ), 1 );
-            }
-
-            throw;
-        }
-
-#else
-
-        pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
-
-        if( pi_ != 0 )
-        {
-            new( static_cast< void* >( pi_ ) ) impl_type( p, a );
-        }
-        else
-        {
-            D()( p );
-            boost::throw_exception( std::bad_alloc() );
-        }
-
-#endif // #ifndef BOOST_NO_EXCEPTIONS
-    }
-
-#endif // !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
-
-#ifndef BOOST_NO_AUTO_PTR
-
-    // auto_ptr<Y> is special cased to provide the strong guarantee
-
-    template<class Y>
-    explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-#ifdef BOOST_NO_EXCEPTIONS
-
-        if( pi_ == 0 )
-        {
-            boost::throw_exception(std::bad_alloc());
-        }
-
-#endif
-
-        r.release();
-    }
-
-#endif 
-
-    ~shared_count() // nothrow
-    {
-        if( pi_ != 0 ) pi_->release();
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        id_ = 0;
-#endif
-    }
-
-    shared_count(shared_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-        if( pi_ != 0 ) pi_->add_ref_copy();
-    }
-
-#if defined( BOOST_HAS_RVALUE_REFS )
-
-    shared_count(shared_count && r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-        r.pi_ = 0;
-    }
-
-#endif
-
-    explicit shared_count(weak_count const & r); // throws bad_weak_ptr when r.use_count() == 0
-    shared_count( weak_count const & r, sp_nothrow_tag ); // constructs an empty *this when r.use_count() == 0
-
-    shared_count & operator= (shared_count const & r) // nothrow
-    {
-        sp_counted_base * tmp = r.pi_;
-
-        if( tmp != pi_ )
-        {
-            if( tmp != 0 ) tmp->add_ref_copy();
-            if( pi_ != 0 ) pi_->release();
-            pi_ = tmp;
-        }
-
-        return *this;
-    }
-
-    void swap(shared_count & r) // nothrow
-    {
-        sp_counted_base * tmp = r.pi_;
-        r.pi_ = pi_;
-        pi_ = tmp;
-    }
-
-    long use_count() const // nothrow
-    {
-        return pi_ != 0? pi_->use_count(): 0;
-    }
-
-    bool unique() const // nothrow
-    {
-        return use_count() == 1;
-    }
-
-    bool empty() const // nothrow
-    {
-        return pi_ == 0;
-    }
-
-    friend inline bool operator==(shared_count const & a, shared_count const & b)
-    {
-        return a.pi_ == b.pi_;
-    }
-
-    friend inline bool operator<(shared_count const & a, shared_count const & b)
-    {
-        return std::less<sp_counted_base *>()( a.pi_, b.pi_ );
-    }
-
-    void * get_deleter( sp_typeinfo const & ti ) const
-    {
-        return pi_? pi_->get_deleter( ti ): 0;
-    }
-};
-
-
-class weak_count
-{
-private:
-
-    sp_counted_base * pi_;
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-    int id_;
-#endif
-
-    friend class shared_count;
-
-public:
-
-    weak_count(): pi_(0) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(weak_count_id)
-#endif
-    {
-    }
-
-    weak_count(shared_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(weak_count_id)
-#endif
-    {
-        if(pi_ != 0) pi_->weak_add_ref();
-    }
-
-    weak_count(weak_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(weak_count_id)
-#endif
-    {
-        if(pi_ != 0) pi_->weak_add_ref();
-    }
-
-// Move support
-
-#if defined( BOOST_HAS_RVALUE_REFS )
-
-    weak_count(weak_count && r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(weak_count_id)
-#endif
-    {
-        r.pi_ = 0;
-    }
-
-#endif
-
-    ~weak_count() // nothrow
-    {
-        if(pi_ != 0) pi_->weak_release();
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        id_ = 0;
-#endif
-    }
-
-    weak_count & operator= (shared_count const & r) // nothrow
-    {
-        sp_counted_base * tmp = r.pi_;
-
-        if( tmp != pi_ )
-        {
-            if(tmp != 0) tmp->weak_add_ref();
-            if(pi_ != 0) pi_->weak_release();
-            pi_ = tmp;
-        }
-
-        return *this;
-    }
-
-    weak_count & operator= (weak_count const & r) // nothrow
-    {
-        sp_counted_base * tmp = r.pi_;
-
-        if( tmp != pi_ )
-        {
-            if(tmp != 0) tmp->weak_add_ref();
-            if(pi_ != 0) pi_->weak_release();
-            pi_ = tmp;
-        }
-
-        return *this;
-    }
-
-    void swap(weak_count & r) // nothrow
-    {
-        sp_counted_base * tmp = r.pi_;
-        r.pi_ = pi_;
-        pi_ = tmp;
-    }
-
-    long use_count() const // nothrow
-    {
-        return pi_ != 0? pi_->use_count(): 0;
-    }
-
-    bool empty() const // nothrow
-    {
-        return pi_ == 0;
-    }
-
-    friend inline bool operator==(weak_count const & a, weak_count const & b)
-    {
-        return a.pi_ == b.pi_;
-    }
-
-    friend inline bool operator<(weak_count const & a, weak_count const & b)
-    {
-        return std::less<sp_counted_base *>()(a.pi_, b.pi_);
-    }
-};
-
-inline shared_count::shared_count( weak_count const & r ): pi_( r.pi_ )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-{
-    if( pi_ == 0 || !pi_->add_ref_lock() )
-    {
-        boost::throw_exception( boost::bad_weak_ptr() );
-    }
-}
-
-inline shared_count::shared_count( weak_count const & r, sp_nothrow_tag ): pi_( r.pi_ )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-{
-    if( pi_ != 0 && !pi_->add_ref_lock() )
-    {
-        pi_ = 0;
-    }
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#ifdef __BORLANDC__
-# pragma warn .8027     // Functions containing try are not expanded inline
-#endif
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/shared_ptr_nmt.hpp b/SRC/Boost/boost/smart_ptr/detail/shared_ptr_nmt.hpp
deleted file mode 100755
index 2921f41..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/shared_ptr_nmt.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED
-
-//
-//  detail/shared_ptr_nmt.hpp - shared_ptr.hpp without member templates
-//
-//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-//  Copyright (c) 2001, 2002 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.
-//
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/smart_ptr/detail/atomic_count.hpp>
-
-#ifndef BOOST_NO_AUTO_PTR
-# include <memory>          // for std::auto_ptr
-#endif
-
-#include <algorithm>        // for std::swap
-#include <functional>       // for std::less
-#include <new>              // for std::bad_alloc
-
-namespace boost
-{
-
-template<class T> class shared_ptr
-{
-private:
-
-    typedef detail::atomic_count count_type;
-
-public:
-
-    typedef T element_type;
-    typedef T value_type;
-
-    explicit shared_ptr(T * p = 0): px(p)
-    {
-#ifndef BOOST_NO_EXCEPTIONS
-
-        try  // prevent leak if new throws
-        {
-            pn = new count_type(1);
-        }
-        catch(...)
-        {
-            boost::checked_delete(p);
-            throw;
-        }
-
-#else
-
-        pn = new count_type(1);
-
-        if(pn == 0)
-        {
-            boost::checked_delete(p);
-            boost::throw_exception(std::bad_alloc());
-        }
-
-#endif
-    }
-
-    ~shared_ptr()
-    {
-        if(--*pn == 0)
-        {
-            boost::checked_delete(px);
-            delete pn;
-        }
-    }
-
-    shared_ptr(shared_ptr const & r): px(r.px)  // never throws
-    {
-        pn = r.pn;
-        ++*pn;
-    }
-
-    shared_ptr & operator=(shared_ptr const & r)
-    {
-        shared_ptr(r).swap(*this);
-        return *this;
-    }
-
-#ifndef BOOST_NO_AUTO_PTR
-
-    explicit shared_ptr(std::auto_ptr<T> & r)
-    { 
-        pn = new count_type(1); // may throw
-        px = r.release(); // fix: moved here to stop leak if new throws
-    } 
-
-    shared_ptr & operator=(std::auto_ptr<T> & r)
-    {
-        shared_ptr(r).swap(*this);
-        return *this;
-    }
-
-#endif
-
-    void reset(T * p = 0)
-    {
-        BOOST_ASSERT(p == 0 || p != px);
-        shared_ptr(p).swap(*this);
-    }
-
-    T & operator*() const  // never throws
-    {
-        BOOST_ASSERT(px != 0);
-        return *px;
-    }
-
-    T * operator->() const  // never throws
-    {
-        BOOST_ASSERT(px != 0);
-        return px;
-    }
-
-    T * get() const  // never throws
-    {
-        return px;
-    }
-
-    long use_count() const  // never throws
-    {
-        return *pn;
-    }
-
-    bool unique() const  // never throws
-    {
-        return *pn == 1;
-    }
-    
-    void swap(shared_ptr<T> & other)  // never throws
-    {
-        std::swap(px, other.px);
-        std::swap(pn, other.pn);
-    }
-
-private:
-
-    T * px;            // contained pointer
-    count_type * pn;   // ptr to reference counter
-};
-
-template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b)
-{
-    return a.get() == b.get();
-}
-
-template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b)
-{
-    return a.get() != b.get();
-}
-
-template<class T> inline bool operator<(shared_ptr<T> const & a, shared_ptr<T> const & b)
-{
-    return std::less<T*>()(a.get(), b.get());
-}
-
-template<class T> void swap(shared_ptr<T> & a, shared_ptr<T> & b)
-{
-    a.swap(b);
-}
-
-// get_pointer() enables boost::mem_fn to recognize shared_ptr
-
-template<class T> inline T * get_pointer(shared_ptr<T> const & p)
-{
-    return p.get();
-}
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_convertible.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_convertible.hpp
deleted file mode 100755
index 6270b79..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_convertible.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//  detail/sp_convertible.hpp
-//
-//  Copyright 2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-
-#include <boost/config.hpp>
-
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( BOOST_NO_SFINAE )
-# define BOOST_SP_NO_SP_CONVERTIBLE
-#endif
-
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ < 303 )
-# define BOOST_SP_NO_SP_CONVERTIBLE
-#endif
-
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( __BORLANDC__ ) && ( __BORLANDC__ < 0x630 )
-# define BOOST_SP_NO_SP_CONVERTIBLE
-#endif
-
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-namespace boost
-{
-
-namespace detail
-{
-
-template< class Y, class T > struct sp_convertible
-{
-    typedef char (&yes) [1];
-    typedef char (&no)  [2];
-
-    static yes f( T* );
-    static no  f( ... );
-
-    enum _vt { value = sizeof( (f)( static_cast<Y*>(0) ) ) == sizeof(yes) };
-};
-
-struct sp_empty
-{
-};
-
-template< bool > struct sp_enable_if_convertible_impl;
-
-template<> struct sp_enable_if_convertible_impl<true>
-{
-    typedef sp_empty type;
-};
-
-template<> struct sp_enable_if_convertible_impl<false>
-{
-};
-
-template< class Y, class T > struct sp_enable_if_convertible: public sp_enable_if_convertible_impl< sp_convertible< Y, T >::value >
-{
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base.hpp
deleted file mode 100755
index 7302560..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/sp_counted_base.hpp
-//
-//  Copyright 2005, 2006 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/config.hpp>
-#include <boost/smart_ptr/detail/sp_has_sync.hpp>
-
-#if defined( BOOST_SP_DISABLE_THREADS )
-# include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>
-
-#elif defined( BOOST_SP_USE_SPINLOCK )
-# include <boost/smart_ptr/detail/sp_counted_base_spin.hpp>
-
-#elif defined( BOOST_SP_USE_PTHREADS )
-# include <boost/smart_ptr/detail/sp_counted_base_pt.hpp>
-
-#elif defined( BOOST_DISABLE_THREADS ) && !defined( BOOST_SP_ENABLE_THREADS ) && !defined( BOOST_DISABLE_WIN32 )
-# include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp>
-
-#elif defined( __GNUC__ ) && defined( __ia64__ ) && !defined( __INTEL_COMPILER )
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp>
-
-#elif defined(__HP_aCC) && defined(__ia64)
-# include <boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp>
-
-#elif defined( __MWERKS__ ) && defined( __POWERPC__ )
-# include <boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc ) )
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __mips__ ) || defined( _mips ) )
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp>
-
-#elif defined( BOOST_SP_HAS_SYNC )
-# include <boost/smart_ptr/detail/sp_counted_base_sync.hpp>
-
-#elif defined(__GNUC__) && ( defined( __sparcv9 ) || ( defined( __sparcv8 ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 402 ) ) )
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp>
-
-#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined(__CYGWIN__)
-# include <boost/smart_ptr/detail/sp_counted_base_w32.hpp>
-
-#elif !defined( BOOST_HAS_THREADS )
-# include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>
-
-#else
-# include <boost/smart_ptr/detail/sp_counted_base_spin.hpp>
-
-#endif
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
deleted file mode 100755
index 1fe2326..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
-
-//
-//  detail/sp_counted_base_acc_ia64.hpp - aC++ on HP-UX IA64
-//
-//  Copyright 2007 Baruch Zilber
-//  Copyright 2007 Boris Gubenko
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-//  Lock-free algorithm by Alexander Terekhov
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <machine/sys/inline.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int * pw )
-{
-    // ++*pw;
-
-    _Asm_fetchadd(_FASZ_W, _SEM_REL, pw, +1, _LDHINT_NONE);
-} 
-
-inline int atomic_decrement( int * pw )
-{
-    // return --*pw;
-
-    int r = static_cast<int>(_Asm_fetchadd(_FASZ_W, _SEM_REL, pw, -1, _LDHINT_NONE));
-    if (1 == r)
-    {
-        _Asm_mf();
-    }
-    
-    return r - 1;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
-    // if( *pw != 0 ) ++*pw;
-    // return *pw;
-
-    int v = *pw;
-    
-    for (;;)
-    {
-        if (0 == v)
-        {
-            return 0;
-        }
-        
-        _Asm_mov_to_ar(_AREG_CCV,
-                       v,
-                       (_UP_CALL_FENCE | _UP_SYS_FENCE | _DOWN_CALL_FENCE | _DOWN_SYS_FENCE));
-        int r = static_cast<int>(_Asm_cmpxchg(_SZ_W, _SEM_ACQ, pw, v + 1, _LDHINT_NONE));
-        if (r == v)
-        {
-            return r + 1;
-        }
-        
-        v = r;
-    }
-}
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    int use_count_;        // #shared
-    int weak_count_;       // #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
-    void add_ref_copy()
-    {
-        atomic_increment( &use_count_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        return atomic_conditional_increment( &use_count_ ) != 0;
-    }
-
-    void release() // nothrow
-    {
-        if( atomic_decrement( &use_count_ ) == 0 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        atomic_increment( &weak_count_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        if( atomic_decrement( &weak_count_ ) == 0 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        return static_cast<int const volatile &>( use_count_ ); // TODO use ld.acq here
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
deleted file mode 100755
index 01c0c45..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/sp_counted_base_cw_ppc.hpp - CodeWarrior on PowerPC
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-//  Lock-free algorithm by Alexander Terekhov
-//
-//  Thanks to Ben Hitchings for the #weak + (#shared != 0)
-//  formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( register long * pw )
-{
-    register int a;
-
-    asm
-    {
-loop:
-
-    lwarx   a, 0, pw
-    addi    a, a, 1
-    stwcx.  a, 0, pw
-    bne-    loop
-    }
-}
-
-inline long atomic_decrement( register long * pw )
-{
-    register int a;
-
-    asm
-    {
-    sync
-
-loop:
-
-    lwarx   a, 0, pw
-    addi    a, a, -1
-    stwcx.  a, 0, pw
-    bne-    loop
-
-    isync
-    }
-
-    return a;
-}
-
-inline long atomic_conditional_increment( register long * pw )
-{
-    register int a;
-
-    asm
-    {
-loop:
-
-    lwarx   a, 0, pw
-    cmpwi   a, 0
-    beq     store
-
-    addi    a, a, 1
-
-store:
-
-    stwcx.  a, 0, pw
-    bne-    loop
-    }
-
-    return a;
-}
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    long use_count_;        // #shared
-    long weak_count_;       // #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
-    void add_ref_copy()
-    {
-        atomic_increment( &use_count_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        return atomic_conditional_increment( &use_count_ ) != 0;
-    }
-
-    void release() // nothrow
-    {
-        if( atomic_decrement( &use_count_ ) == 0 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        atomic_increment( &weak_count_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        if( atomic_decrement( &weak_count_ ) == 0 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        return static_cast<long const volatile &>( use_count_ );
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
deleted file mode 100755
index c7f37d8..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
-
-//
-//  detail/sp_counted_base_gcc_ia64.hpp - g++ on IA64
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2006 Peter Dimov
-//  Copyright 2005 Ben Hutchings
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-//  Lock-free algorithm by Alexander Terekhov
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int * pw )
-{
-    // ++*pw;
-
-    int tmp;
-
-    // No barrier is required here but fetchadd always has an acquire or
-    // release barrier associated with it.  We choose release as it should be
-    // cheaper.
-    __asm__ ("fetchadd4.rel %0=%1,1" :
-         "=r"(tmp), "=m"(*pw) :
-         "m"( *pw ));
-}
-
-inline int atomic_decrement( int * pw )
-{
-    // return --*pw;
-
-    int rv;
-
-    __asm__ ("     fetchadd4.rel %0=%1,-1 ;; \n"
-             "     cmp.eq        p7,p0=1,%0 ;; \n"
-             "(p7) ld4.acq       %0=%1    " :
-             "=&r"(rv), "=m"(*pw) :
-             "m"( *pw ) :
-             "p7");
-
-    return rv;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
-    // if( *pw != 0 ) ++*pw;
-    // return *pw;
-
-    int rv, tmp, tmp2;
-
-    __asm__ ("0:   ld4          %0=%3           ;; \n"
-         "     cmp.eq       p7,p0=0,%0        ;; \n"
-         "(p7) br.cond.spnt 1f                \n"
-         "     mov          ar.ccv=%0         \n"
-         "     add          %1=1,%0           ;; \n"
-         "     cmpxchg4.acq %2=%3,%1,ar.ccv ;; \n"
-         "     cmp.ne       p7,p0=%0,%2       ;; \n"
-         "(p7) br.cond.spnt 0b                \n"
-         "     mov          %0=%1             ;; \n"
-         "1:" : 
-         "=&r"(rv), "=&r"(tmp), "=&r"(tmp2), "=m"(*pw) :
-         "m"( *pw ) :
-         "ar.ccv", "p7");
-
-    return rv;
-}
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    int use_count_;        // #shared
-    int weak_count_;       // #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
-    void add_ref_copy()
-    {
-        atomic_increment( &use_count_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        return atomic_conditional_increment( &use_count_ ) != 0;
-    }
-
-    void release() // nothrow
-    {
-        if( atomic_decrement( &use_count_ ) == 0 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        atomic_increment( &weak_count_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        if( atomic_decrement( &weak_count_ ) == 0 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        return static_cast<int const volatile &>( use_count_ ); // TODO use ld.acq here
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
deleted file mode 100755
index 1338482..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/sp_counted_base_gcc_mips.hpp - g++ on MIPS
-//
-//  Copyright (c) 2009, Spirent Communications, Inc.
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-//  Lock-free algorithm by Alexander Terekhov
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int * pw )
-{
-    // ++*pw;
-
-    int tmp;
-
-    __asm__ __volatile__
-    (
-        "0:\n\t"
-        ".set push\n\t"
-        ".set mips2\n\t"
-        "ll %0, %1\n\t"
-        "addiu %0, 1\n\t"
-        "sc %0, %1\n\t"
-        ".set pop\n\t"
-        "beqz %0, 0b":
-        "=&r"( tmp ), "=m"( *pw ):
-        "m"( *pw )
-    );
-}
-
-inline int atomic_decrement( int * pw )
-{
-    // return --*pw;
-
-    int rv, tmp;
-
-    __asm__ __volatile__
-    (
-        "0:\n\t"
-        ".set push\n\t"
-        ".set mips2\n\t"
-        "ll %1, %2\n\t"
-        "addiu %0, %1, -1\n\t"
-        "sc %0, %2\n\t"
-        ".set pop\n\t"
-        "beqz %0, 0b\n\t"
-        "addiu %0, %1, -1":
-        "=&r"( rv ), "=&r"( tmp ), "=m"( *pw ):
-        "m"( *pw ):
-        "memory"
-    );
-
-    return rv;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
-    // if( *pw != 0 ) ++*pw;
-    // return *pw;
-
-    int rv, tmp;
-
-    __asm__ __volatile__
-    (
-        "0:\n\t"
-        ".set push\n\t"
-        ".set mips2\n\t"
-        "ll %0, %2\n\t"
-        "beqz %0, 1f\n\t"
-        "addiu %1, %0, 1\n\t"
-        "sc %1, %2\n\t"
-        ".set pop\n\t"
-        "beqz %1, 0b\n\t"
-        "addiu %0, %0, 1\n\t"
-        "1:":
-        "=&r"( rv ), "=&r"( tmp ), "=m"( *pw ):
-        "m"( *pw ):
-        "memory"
-    );
-
-    return rv;
-}
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    int use_count_;        // #shared
-    int weak_count_;       // #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
-    void add_ref_copy()
-    {
-        atomic_increment( &use_count_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        return atomic_conditional_increment( &use_count_ ) != 0;
-    }
-
-    void release() // nothrow
-    {
-        if( atomic_decrement( &use_count_ ) == 0 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        atomic_increment( &weak_count_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        if( atomic_decrement( &weak_count_ ) == 0 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        return static_cast<int const volatile &>( use_count_ );
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
deleted file mode 100755
index 1fa8bf6..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/sp_counted_base_gcc_ppc.hpp - g++ on PowerPC
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-//  Lock-free algorithm by Alexander Terekhov
-//
-//  Thanks to Ben Hitchings for the #weak + (#shared != 0)
-//  formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int * pw )
-{
-    // ++*pw;
-
-    int tmp;
-
-    __asm__
-    (
-        "0:\n\t"
-        "lwarx %1, 0, %2\n\t"
-        "addi %1, %1, 1\n\t"
-        "stwcx. %1, 0, %2\n\t"
-        "bne- 0b":
-
-        "=m"( *pw ), "=&b"( tmp ):
-        "r"( pw ), "m"( *pw ):
-        "cc"
-    );
-}
-
-inline int atomic_decrement( int * pw )
-{
-    // return --*pw;
-
-    int rv;
-
-    __asm__ __volatile__
-    (
-        "sync\n\t"
-        "0:\n\t"
-        "lwarx %1, 0, %2\n\t"
-        "addi %1, %1, -1\n\t"
-        "stwcx. %1, 0, %2\n\t"
-        "bne- 0b\n\t"
-        "isync":
-
-        "=m"( *pw ), "=&b"( rv ):
-        "r"( pw ), "m"( *pw ):
-        "memory", "cc"
-    );
-
-    return rv;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
-    // if( *pw != 0 ) ++*pw;
-    // return *pw;
-
-    int rv;
-
-    __asm__
-    (
-        "0:\n\t"
-        "lwarx %1, 0, %2\n\t"
-        "cmpwi %1, 0\n\t"
-        "beq 1f\n\t"
-        "addi %1, %1, 1\n\t"
-        "1:\n\t"
-        "stwcx. %1, 0, %2\n\t"
-        "bne- 0b":
-
-        "=m"( *pw ), "=&b"( rv ):
-        "r"( pw ), "m"( *pw ):
-        "cc"
-    );
-
-    return rv;
-}
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    int use_count_;        // #shared
-    int weak_count_;       // #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
-    void add_ref_copy()
-    {
-        atomic_increment( &use_count_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        return atomic_conditional_increment( &use_count_ ) != 0;
-    }
-
-    void release() // nothrow
-    {
-        if( atomic_decrement( &use_count_ ) == 0 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        atomic_increment( &weak_count_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        if( atomic_decrement( &weak_count_ ) == 0 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        return static_cast<int const volatile &>( use_count_ );
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
deleted file mode 100755
index d9fbafa..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//  detail/sp_counted_base_gcc_sparc.hpp - g++ on Sparc V8+
-//
-//  Copyright (c) 2006 Piotr Wyderski
-//  Copyright (c) 2006 Tomas Puverle
-//  Copyright (c) 2006 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-//  Thanks to Michael van der Westhuizen
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <inttypes.h> // int32_t
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline int32_t compare_and_swap( int32_t * dest_, int32_t compare_, int32_t swap_ )
-{
-    __asm__ __volatile__( "cas [%1], %2, %0"
-                        : "+r" (swap_)
-                        : "r" (dest_), "r" (compare_)
-                        : "memory" );
-
-    return swap_;
-}
-
-inline int32_t atomic_fetch_and_add( int32_t * pw, int32_t dv )
-{
-    // long r = *pw;
-    // *pw += dv;
-    // return r;
-
-    for( ;; )
-    {
-        int32_t r = *pw;
-
-        if( __builtin_expect((compare_and_swap(pw, r, r + dv) == r), 1) )
-        {
-            return r;
-        }
-    }
-}
-
-inline void atomic_increment( int32_t * pw )
-{
-    atomic_fetch_and_add( pw, 1 );
-}
-
-inline int32_t atomic_decrement( int32_t * pw )
-{
-    return atomic_fetch_and_add( pw, -1 );
-}
-
-inline int32_t atomic_conditional_increment( int32_t * pw )
-{
-    // long r = *pw;
-    // if( r != 0 ) ++*pw;
-    // return r;
-
-    for( ;; )
-    {
-        int32_t r = *pw;
-
-        if( r == 0 )
-        {
-            return r;
-        }
-
-        if( __builtin_expect( ( compare_and_swap( pw, r, r + 1 ) == r ), 1 ) )
-        {
-            return r;
-        }
-    }    
-}
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    int32_t use_count_;        // #shared
-    int32_t weak_count_;       // #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
-    void add_ref_copy()
-    {
-        atomic_increment( &use_count_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        return atomic_conditional_increment( &use_count_ ) != 0;
-    }
-
-    void release() // nothrow
-    {
-        if( atomic_decrement( &use_count_ ) == 1 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        atomic_increment( &weak_count_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        if( atomic_decrement( &weak_count_ ) == 1 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        return const_cast< int32_t const volatile & >( use_count_ );
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
deleted file mode 100755
index d357d31..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/sp_counted_base_gcc_x86.hpp - g++ on 486+ or AMD64
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-//  Lock-free algorithm by Alexander Terekhov
-//
-//  Thanks to Ben Hitchings for the #weak + (#shared != 0)
-//  formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline int atomic_exchange_and_add( int * pw, int dv )
-{
-    // int r = *pw;
-    // *pw += dv;
-    // return r;
-
-    int r;
-
-    __asm__ __volatile__
-    (
-        "lock\n\t"
-        "xadd %1, %0":
-        "=m"( *pw ), "=r"( r ): // outputs (%0, %1)
-        "m"( *pw ), "1"( dv ): // inputs (%2, %3 == %1)
-        "memory", "cc" // clobbers
-    );
-
-    return r;
-}
-
-inline void atomic_increment( int * pw )
-{
-    //atomic_exchange_and_add( pw, 1 );
-
-    __asm__
-    (
-        "lock\n\t"
-        "incl %0":
-        "=m"( *pw ): // output (%0)
-        "m"( *pw ): // input (%1)
-        "cc" // clobbers
-    );
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
-    // int rv = *pw;
-    // if( rv != 0 ) ++*pw;
-    // return rv;
-
-    int rv, tmp;
-
-    __asm__
-    (
-        "movl %0, %%eax\n\t"
-        "0:\n\t"
-        "test %%eax, %%eax\n\t"
-        "je 1f\n\t"
-        "movl %%eax, %2\n\t"
-        "incl %2\n\t"
-        "lock\n\t"
-        "cmpxchgl %2, %0\n\t"
-        "jne 0b\n\t"
-        "1:":
-        "=m"( *pw ), "=&a"( rv ), "=&r"( tmp ): // outputs (%0, %1, %2)
-        "m"( *pw ): // input (%3)
-        "cc" // clobbers
-    );
-
-    return rv;
-}
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    int use_count_;        // #shared
-    int weak_count_;       // #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
-    void add_ref_copy()
-    {
-        atomic_increment( &use_count_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        return atomic_conditional_increment( &use_count_ ) != 0;
-    }
-
-    void release() // nothrow
-    {
-        if( atomic_exchange_and_add( &use_count_, -1 ) == 1 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        atomic_increment( &weak_count_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        return static_cast<int const volatile &>( use_count_ );
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_nt.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_nt.hpp
deleted file mode 100755
index 612e1d8..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_nt.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/sp_counted_base_nt.hpp
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    long use_count_;        // #shared
-    long weak_count_;       // #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
-    void add_ref_copy()
-    {
-        ++use_count_;
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        if( use_count_ == 0 ) return false;
-        ++use_count_;
-        return true;
-    }
-
-    void release() // nothrow
-    {
-        if( --use_count_ == 0 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        ++weak_count_;
-    }
-
-    void weak_release() // nothrow
-    {
-        if( --weak_count_ == 0 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        return use_count_;
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_pt.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_pt.hpp
deleted file mode 100755
index 3469764..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_pt.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/sp_counted_base_pt.hpp
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <pthread.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    long use_count_;        // #shared
-    long weak_count_;       // #weak + (#shared != 0)
-
-    mutable pthread_mutex_t m_;
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {
-// HPUX 10.20 / DCE has a nonstandard pthread_mutex_init
-
-#if defined(__hpux) && defined(_DECTHREADS_)
-        pthread_mutex_init( &m_, pthread_mutexattr_default );
-#else
-        pthread_mutex_init( &m_, 0 );
-#endif
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-        pthread_mutex_destroy( &m_ );
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
-    void add_ref_copy()
-    {
-        pthread_mutex_lock( &m_ );
-        ++use_count_;
-        pthread_mutex_unlock( &m_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        pthread_mutex_lock( &m_ );
-        bool r = use_count_ == 0? false: ( ++use_count_, true );
-        pthread_mutex_unlock( &m_ );
-        return r;
-    }
-
-    void release() // nothrow
-    {
-        pthread_mutex_lock( &m_ );
-        long new_use_count = --use_count_;
-        pthread_mutex_unlock( &m_ );
-
-        if( new_use_count == 0 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        pthread_mutex_lock( &m_ );
-        ++weak_count_;
-        pthread_mutex_unlock( &m_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        pthread_mutex_lock( &m_ );
-        long new_weak_count = --weak_count_;
-        pthread_mutex_unlock( &m_ );
-
-        if( new_weak_count == 0 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        pthread_mutex_lock( &m_ );
-        long r = use_count_;
-        pthread_mutex_unlock( &m_ );
-
-        return r;
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_spin.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_spin.hpp
deleted file mode 100755
index 09feb63..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_spin.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/sp_counted_base_spin.hpp - spinlock pool atomic emulation
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <boost/smart_ptr/detail/spinlock_pool.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline int atomic_exchange_and_add( int * pw, int dv )
-{
-    spinlock_pool<1>::scoped_lock lock( pw );
-
-    int r = *pw;
-    *pw += dv;
-    return r;
-}
-
-inline void atomic_increment( int * pw )
-{
-    spinlock_pool<1>::scoped_lock lock( pw );
-    ++*pw;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
-    spinlock_pool<1>::scoped_lock lock( pw );
-
-    int rv = *pw;
-    if( rv != 0 ) ++*pw;
-    return rv;
-}
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    int use_count_;        // #shared
-    int weak_count_;       // #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
-    void add_ref_copy()
-    {
-        atomic_increment( &use_count_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        return atomic_conditional_increment( &use_count_ ) != 0;
-    }
-
-    void release() // nothrow
-    {
-        if( atomic_exchange_and_add( &use_count_, -1 ) == 1 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        atomic_increment( &weak_count_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        spinlock_pool<1>::scoped_lock lock( &use_count_ );
-        return use_count_;
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_sync.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_sync.hpp
deleted file mode 100755
index 5a074c0..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_sync.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//  detail/sp_counted_base_sync.hpp - g++ 4.1+ __sync intrinsics
-//
-//  Copyright (c) 2007 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <limits.h>
-
-#if defined( __ia64__ ) && defined( __INTEL_COMPILER )
-# include <ia64intrin.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if INT_MAX >= 2147483647
-
-typedef int sp_int32_t;
-
-#else
-
-typedef long sp_int32_t;
-
-#endif
-
-inline void atomic_increment( sp_int32_t * pw )
-{
-    __sync_fetch_and_add( pw, 1 );
-}
-
-inline sp_int32_t atomic_decrement( sp_int32_t * pw )
-{
-    return __sync_fetch_and_add( pw, -1 );
-}
-
-inline sp_int32_t atomic_conditional_increment( sp_int32_t * pw )
-{
-    // long r = *pw;
-    // if( r != 0 ) ++*pw;
-    // return r;
-
-    sp_int32_t r = *pw;
-
-    for( ;; )
-    {
-        if( r == 0 )
-        {
-            return r;
-        }
-
-        sp_int32_t r2 = __sync_val_compare_and_swap( pw, r, r + 1 );
-
-        if( r2 == r )
-        {
-            return r;
-        }
-        else
-        {
-            r = r2;
-        }
-    }    
-}
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    sp_int32_t use_count_;        // #shared
-    sp_int32_t weak_count_;       // #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
-    void add_ref_copy()
-    {
-        atomic_increment( &use_count_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        return atomic_conditional_increment( &use_count_ ) != 0;
-    }
-
-    void release() // nothrow
-    {
-        if( atomic_decrement( &use_count_ ) == 1 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        atomic_increment( &weak_count_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        if( atomic_decrement( &weak_count_ ) == 1 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        return const_cast< sp_int32_t const volatile & >( use_count_ );
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_w32.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_w32.hpp
deleted file mode 100755
index 84ac67b..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_base_w32.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/sp_counted_base_w32.hpp
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-//  Lock-free algorithm by Alexander Terekhov
-//
-//  Thanks to Ben Hitchings for the #weak + (#shared != 0)
-//  formulation
-//
-
-#include <boost/detail/interlocked.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    long use_count_;        // #shared
-    long weak_count_;       // #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-    }
-
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
-
-    void add_ref_copy()
-    {
-        BOOST_INTERLOCKED_INCREMENT( &use_count_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        for( ;; )
-        {
-            long tmp = static_cast< long const volatile& >( use_count_ );
-            if( tmp == 0 ) return false;
-
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1200 )
-
-            // work around a code generation bug
-
-            long tmp2 = tmp + 1;
-            if( BOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp2, tmp ) == tmp2 - 1 ) return true;
-
-#else
-
-            if( BOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp + 1, tmp ) == tmp ) return true;
-
-#endif
-        }
-    }
-
-    void release() // nothrow
-    {
-        if( BOOST_INTERLOCKED_DECREMENT( &use_count_ ) == 0 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        BOOST_INTERLOCKED_INCREMENT( &weak_count_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        if( BOOST_INTERLOCKED_DECREMENT( &weak_count_ ) == 0 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        return static_cast<long const volatile &>( use_count_ );
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_counted_impl.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_counted_impl.hpp
deleted file mode 100755
index 9e3f540..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_counted_impl.hpp
+++ /dev/null
@@ -1,239 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/sp_counted_impl.hpp
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR) && defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-# error BOOST_SP_USE_STD_ALLOCATOR and BOOST_SP_USE_QUICK_ALLOCATOR are incompatible.
-#endif
-
-#include <boost/checked_delete.hpp>
-#include <boost/smart_ptr/detail/sp_counted_base.hpp>
-
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-#include <boost/smart_ptr/detail/quick_allocator.hpp>
-#endif
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
-#include <memory>           // std::allocator
-#endif
-
-#include <cstddef>          // std::size_t
-
-namespace boost
-{
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-void sp_scalar_constructor_hook( void * px, std::size_t size, void * pn );
-void sp_scalar_destructor_hook( void * px, std::size_t size, void * pn );
-
-#endif
-
-namespace detail
-{
-
-template<class X> class sp_counted_impl_p: public sp_counted_base
-{
-private:
-
-    X * px_;
-
-    sp_counted_impl_p( sp_counted_impl_p const & );
-    sp_counted_impl_p & operator= ( sp_counted_impl_p const & );
-
-    typedef sp_counted_impl_p<X> this_type;
-
-public:
-
-    explicit sp_counted_impl_p( X * px ): px_( px )
-    {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        boost::sp_scalar_constructor_hook( px, sizeof(X), this );
-#endif
-    }
-
-    virtual void dispose() // nothrow
-    {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        boost::sp_scalar_destructor_hook( px_, sizeof(X), this );
-#endif
-        boost::checked_delete( px_ );
-    }
-
-    virtual void * get_deleter( detail::sp_typeinfo const & )
-    {
-        return 0;
-    }
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
-
-    void * operator new( std::size_t )
-    {
-        return std::allocator<this_type>().allocate( 1, static_cast<this_type *>(0) );
-    }
-
-    void operator delete( void * p )
-    {
-        std::allocator<this_type>().deallocate( static_cast<this_type *>(p), 1 );
-    }
-
-#endif
-
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-
-    void * operator new( std::size_t )
-    {
-        return quick_allocator<this_type>::alloc();
-    }
-
-    void operator delete( void * p )
-    {
-        quick_allocator<this_type>::dealloc( p );
-    }
-
-#endif
-};
-
-//
-// Borland's Codeguard trips up over the -Vx- option here:
-//
-#ifdef __CODEGUARD__
-# pragma option push -Vx-
-#endif
-
-template<class P, class D> class sp_counted_impl_pd: public sp_counted_base
-{
-private:
-
-    P ptr; // copy constructor must not throw
-    D del; // copy constructor must not throw
-
-    sp_counted_impl_pd( sp_counted_impl_pd const & );
-    sp_counted_impl_pd & operator= ( sp_counted_impl_pd const & );
-
-    typedef sp_counted_impl_pd<P, D> this_type;
-
-public:
-
-    // pre: d(p) must not throw
-
-    sp_counted_impl_pd( P p, D & d ): ptr( p ), del( d )
-    {
-    }
-
-    sp_counted_impl_pd( P p ): ptr( p ), del()
-    {
-    }
-
-    virtual void dispose() // nothrow
-    {
-        del( ptr );
-    }
-
-    virtual void * get_deleter( detail::sp_typeinfo const & ti )
-    {
-        return ti == BOOST_SP_TYPEID(D)? &reinterpret_cast<char&>( del ): 0;
-    }
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
-
-    void * operator new( std::size_t )
-    {
-        return std::allocator<this_type>().allocate( 1, static_cast<this_type *>(0) );
-    }
-
-    void operator delete( void * p )
-    {
-        std::allocator<this_type>().deallocate( static_cast<this_type *>(p), 1 );
-    }
-
-#endif
-
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-
-    void * operator new( std::size_t )
-    {
-        return quick_allocator<this_type>::alloc();
-    }
-
-    void operator delete( void * p )
-    {
-        quick_allocator<this_type>::dealloc( p );
-    }
-
-#endif
-};
-
-template<class P, class D, class A> class sp_counted_impl_pda: public sp_counted_base
-{
-private:
-
-    P p_; // copy constructor must not throw
-    D d_; // copy constructor must not throw
-    A a_; // copy constructor must not throw
-
-    sp_counted_impl_pda( sp_counted_impl_pda const & );
-    sp_counted_impl_pda & operator= ( sp_counted_impl_pda const & );
-
-    typedef sp_counted_impl_pda<P, D, A> this_type;
-
-public:
-
-    // pre: d( p ) must not throw
-
-    sp_counted_impl_pda( P p, D & d, A a ): p_( p ), d_( d ), a_( a )
-    {
-    }
-
-    sp_counted_impl_pda( P p, A a ): p_( p ), d_(), a_( a )
-    {
-    }
-
-    virtual void dispose() // nothrow
-    {
-        d_( p_ );
-    }
-
-    virtual void destroy() // nothrow
-    {
-        typedef typename A::template rebind< this_type >::other A2;
-
-        A2 a2( a_ );
-
-        this->~this_type();
-        a2.deallocate( this, 1 );
-    }
-
-    virtual void * get_deleter( detail::sp_typeinfo const & ti )
-    {
-        return ti == BOOST_SP_TYPEID( D )? &reinterpret_cast<char&>( d_ ): 0;
-    }
-};
-
-#ifdef __CODEGUARD__
-# pragma option pop
-#endif
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/sp_has_sync.hpp b/SRC/Boost/boost/smart_ptr/detail/sp_has_sync.hpp
deleted file mode 100755
index 5015b7f..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/sp_has_sync.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/smart_ptr/detail/sp_has_sync.hpp
-//
-//  Copyright (c) 2008, 2009 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  Defines the BOOST_SP_HAS_SYNC macro if the __sync_* intrinsics
-//  are available.
-//
-
-#if defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) && !defined( BOOST_SP_NO_SYNC )
-
-#define BOOST_SP_HAS_SYNC
-
-#if defined( __arm__ )  || defined( __armel__ )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#if defined( __hppa ) || defined( __hppa__ )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#if defined( __m68k__ )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#if defined( __sh__ )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#if defined( __sparc__ )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#if defined( __INTEL_COMPILER ) && !defined( __ia64__ ) && ( __INTEL_COMPILER < 1100 )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#endif // __GNUC__ * 100 + __GNUC_MINOR__ >= 401
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/spinlock.hpp b/SRC/Boost/boost/smart_ptr/detail/spinlock.hpp
deleted file mode 100755
index 52b6c9d..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/spinlock.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/spinlock.hpp
-//
-//  Copyright (c) 2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  struct spinlock
-//  {
-//      void lock();
-//      bool try_lock();
-//      void unlock();
-//
-//      class scoped_lock;
-//  };
-//
-//  #define BOOST_DETAIL_SPINLOCK_INIT <unspecified>
-//
-
-#include <boost/config.hpp>
-#include <boost/smart_ptr/detail/sp_has_sync.hpp>
-
-#if defined( BOOST_SP_USE_PTHREADS )
-#  include <boost/smart_ptr/detail/spinlock_pt.hpp>
-
-#elif defined(__GNUC__) && defined( __arm__ ) && !defined( __thumb__ )
-#  include <boost/smart_ptr/detail/spinlock_gcc_arm.hpp>
-
-#elif defined( BOOST_SP_HAS_SYNC )
-#  include <boost/smart_ptr/detail/spinlock_sync.hpp>
-
-#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-#  include <boost/smart_ptr/detail/spinlock_w32.hpp>
-
-#elif defined(BOOST_HAS_PTHREADS)
-#  include <boost/smart_ptr/detail/spinlock_pt.hpp>
-
-#elif !defined(BOOST_HAS_THREADS)
-#  include <boost/smart_ptr/detail/spinlock_nt.hpp>
-
-#else
-#  error Unrecognized threading platform
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/spinlock_gcc_arm.hpp b/SRC/Boost/boost/smart_ptr/detail/spinlock_gcc_arm.hpp
deleted file mode 100755
index 7d7c786..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/spinlock_gcc_arm.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
-
-//
-//  Copyright (c) 2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/smart_ptr/detail/yield_k.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
-    int v_;
-
-public:
-
-    bool try_lock()
-    {
-        int r;
-
-        __asm__ __volatile__(
-            "swp %0, %1, [%2]":
-            "=&r"( r ): // outputs
-            "r"( 1 ), "r"( &v_ ): // inputs
-            "memory", "cc" );
-
-        return r == 0;
-    }
-
-    void lock()
-    {
-        for( unsigned k = 0; !try_lock(); ++k )
-        {
-            boost::detail::yield( k );
-        }
-    }
-
-    void unlock()
-    {
-        __asm__ __volatile__( "" ::: "memory" );
-        *const_cast< int volatile* >( &v_ ) = 0;
-    }
-
-public:
-
-    class scoped_lock
-    {
-    private:
-
-        spinlock & sp_;
-
-        scoped_lock( scoped_lock const & );
-        scoped_lock & operator=( scoped_lock const & );
-
-    public:
-
-        explicit scoped_lock( spinlock & sp ): sp_( sp )
-        {
-            sp.lock();
-        }
-
-        ~scoped_lock()
-        {
-            sp_.unlock();
-        }
-    };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT {0}
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/spinlock_nt.hpp b/SRC/Boost/boost/smart_ptr/detail/spinlock_nt.hpp
deleted file mode 100755
index 920d67e..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/spinlock_nt.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  Copyright (c) 2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/assert.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
-    bool locked_;
-
-public:
-
-    inline bool try_lock()
-    {
-        if( locked_ )
-        {
-            return false;
-        }
-        else
-        {
-            locked_ = true;
-            return true;
-        }
-    }
-
-    inline void lock()
-    {
-        BOOST_ASSERT( !locked_ );
-        locked_ = true;
-    }
-
-    inline void unlock()
-    {
-        BOOST_ASSERT( locked_ );
-        locked_ = false;
-    }
-
-public:
-
-    class scoped_lock
-    {
-    private:
-
-        spinlock & sp_;
-
-        scoped_lock( scoped_lock const & );
-        scoped_lock & operator=( scoped_lock const & );
-
-    public:
-
-        explicit scoped_lock( spinlock & sp ): sp_( sp )
-        {
-            sp.lock();
-        }
-
-        ~scoped_lock()
-        {
-            sp_.unlock();
-        }
-    };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT { false }
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/spinlock_pool.hpp b/SRC/Boost/boost/smart_ptr/detail/spinlock_pool.hpp
deleted file mode 100755
index e5def9c..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/spinlock_pool.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/spinlock_pool.hpp
-//
-//  Copyright (c) 2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  spinlock_pool<0> is reserved for atomic<>, when/if it arrives
-//  spinlock_pool<1> is reserved for shared_ptr reference counts
-//  spinlock_pool<2> is reserved for shared_ptr atomic access
-//
-
-#include <boost/config.hpp>
-#include <boost/smart_ptr/detail/spinlock.hpp>
-#include <cstddef>
-
-namespace boost
-{
-
-namespace detail
-{
-
-template< int I > class spinlock_pool
-{
-private:
-
-    static spinlock pool_[ 41 ];
-
-public:
-
-    static spinlock & spinlock_for( void const * pv )
-    {
-#if defined(__VMS) && __INITIAL_POINTER_SIZE == 64  
-        std::size_t i = reinterpret_cast< unsigned long long >( pv ) % 41;
-#else  
-        std::size_t i = reinterpret_cast< std::size_t >( pv ) % 41;
-#endif  
-        return pool_[ i ];
-    }
-
-    class scoped_lock
-    {
-    private:
-
-        spinlock & sp_;
-
-        scoped_lock( scoped_lock const & );
-        scoped_lock & operator=( scoped_lock const & );
-
-    public:
-
-        explicit scoped_lock( void const * pv ): sp_( spinlock_for( pv ) )
-        {
-            sp_.lock();
-        }
-
-        ~scoped_lock()
-        {
-            sp_.unlock();
-        }
-    };
-};
-
-template< int I > spinlock spinlock_pool< I >::pool_[ 41 ] =
-{
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT
-};
-
-} // namespace detail
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/spinlock_pt.hpp b/SRC/Boost/boost/smart_ptr/detail/spinlock_pt.hpp
deleted file mode 100755
index f55e61f..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/spinlock_pt.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  Copyright (c) 2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <pthread.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
-    pthread_mutex_t v_;
-
-public:
-
-    bool try_lock()
-    {
-        return pthread_mutex_trylock( &v_ ) == 0;
-    }
-
-    void lock()
-    {
-        pthread_mutex_lock( &v_ );
-    }
-
-    void unlock()
-    {
-        pthread_mutex_unlock( &v_ );
-    }
-
-public:
-
-    class scoped_lock
-    {
-    private:
-
-        spinlock & sp_;
-
-        scoped_lock( scoped_lock const & );
-        scoped_lock & operator=( scoped_lock const & );
-
-    public:
-
-        explicit scoped_lock( spinlock & sp ): sp_( sp )
-        {
-            sp.lock();
-        }
-
-        ~scoped_lock()
-        {
-            sp_.unlock();
-        }
-    };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT { PTHREAD_MUTEX_INITIALIZER }
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/spinlock_sync.hpp b/SRC/Boost/boost/smart_ptr/detail/spinlock_sync.hpp
deleted file mode 100755
index f948306..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/spinlock_sync.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  Copyright (c) 2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/smart_ptr/detail/yield_k.hpp>
-
-#if defined( __ia64__ ) && defined( __INTEL_COMPILER )
-# include <ia64intrin.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
-    int v_;
-
-public:
-
-    bool try_lock()
-    {
-        int r = __sync_lock_test_and_set( &v_, 1 );
-        return r == 0;
-    }
-
-    void lock()
-    {
-        for( unsigned k = 0; !try_lock(); ++k )
-        {
-            boost::detail::yield( k );
-        }
-    }
-
-    void unlock()
-    {
-        __sync_lock_release( &v_ );
-    }
-
-public:
-
-    class scoped_lock
-    {
-    private:
-
-        spinlock & sp_;
-
-        scoped_lock( scoped_lock const & );
-        scoped_lock & operator=( scoped_lock const & );
-
-    public:
-
-        explicit scoped_lock( spinlock & sp ): sp_( sp )
-        {
-            sp.lock();
-        }
-
-        ~scoped_lock()
-        {
-            sp_.unlock();
-        }
-    };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT {0}
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/spinlock_w32.hpp b/SRC/Boost/boost/smart_ptr/detail/spinlock_w32.hpp
deleted file mode 100755
index 8caa33c..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/spinlock_w32.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  Copyright (c) 2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/interlocked.hpp>
-#include <boost/smart_ptr/detail/yield_k.hpp>
-
-// BOOST_COMPILER_FENCE
-
-#if defined(__INTEL_COMPILER)
-
-#define BOOST_COMPILER_FENCE __memory_barrier();
-
-#elif defined( _MSC_VER ) && _MSC_VER >= 1310
-
-extern "C" void _ReadWriteBarrier();
-#pragma intrinsic( _ReadWriteBarrier )
-
-#define BOOST_COMPILER_FENCE _ReadWriteBarrier();
-
-#elif defined(__GNUC__)
-
-#define BOOST_COMPILER_FENCE __asm__ __volatile__( "" : : : "memory" );
-
-#else
-
-#define BOOST_COMPILER_FENCE
-
-#endif
-
-//
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
-    long v_;
-
-public:
-
-    bool try_lock()
-    {
-        long r = BOOST_INTERLOCKED_EXCHANGE( &v_, 1 );
-
-        BOOST_COMPILER_FENCE
-
-        return r == 0;
-    }
-
-    void lock()
-    {
-        for( unsigned k = 0; !try_lock(); ++k )
-        {
-            boost::detail::yield( k );
-        }
-    }
-
-    void unlock()
-    {
-        BOOST_COMPILER_FENCE
-        *const_cast< long volatile* >( &v_ ) = 0;
-    }
-
-public:
-
-    class scoped_lock
-    {
-    private:
-
-        spinlock & sp_;
-
-        scoped_lock( scoped_lock const & );
-        scoped_lock & operator=( scoped_lock const & );
-
-    public:
-
-        explicit scoped_lock( spinlock & sp ): sp_( sp )
-        {
-            sp.lock();
-        }
-
-        ~scoped_lock()
-        {
-            sp_.unlock();
-        }
-    };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT {0}
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/detail/yield_k.hpp b/SRC/Boost/boost/smart_ptr/detail/yield_k.hpp
deleted file mode 100755
index 4f174bb..0000000
--- a/SRC/Boost/boost/smart_ptr/detail/yield_k.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  yield_k.hpp
-//
-//  Copyright (c) 2008 Peter Dimov
-//
-//  void yield( unsigned k );
-//
-//  Typical use:
-//
-//  for( unsigned k = 0; !try_lock(); ++k ) yield( k );
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-
-#include <boost/config.hpp>
-
-// BOOST_SMT_PAUSE
-
-#if defined(_MSC_VER) && _MSC_VER >= 1310 && ( defined(_M_IX86) || defined(_M_X64) )
-
-extern "C" void _mm_pause();
-#pragma intrinsic( _mm_pause )
-
-#define BOOST_SMT_PAUSE _mm_pause();
-
-#elif defined(__GNUC__) && ( defined(__i386__) || defined(__x86_64__) )
-
-#define BOOST_SMT_PAUSE __asm__ __volatile__( "rep; nop" : : : "memory" );
-
-#endif
-
-//
-
-#if defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
-
-#if defined( BOOST_USE_WINDOWS_H )
-# include <windows.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if !defined( BOOST_USE_WINDOWS_H )
-  extern "C" void __stdcall Sleep( unsigned long ms );
-#endif
-
-inline void yield( unsigned k )
-{
-    if( k < 4 )
-    {
-    }
-#if defined( BOOST_SMT_PAUSE )
-    else if( k < 16 )
-    {
-        BOOST_SMT_PAUSE
-    }
-#endif
-    else if( k < 32 )
-    {
-        Sleep( 0 );
-    }
-    else
-    {
-        Sleep( 1 );
-    }
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#elif defined( BOOST_HAS_PTHREADS )
-
-#include <sched.h>
-#include <time.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void yield( unsigned k )
-{
-    if( k < 4 )
-    {
-    }
-#if defined( BOOST_SMT_PAUSE )
-    else if( k < 16 )
-    {
-        BOOST_SMT_PAUSE
-    }
-#endif
-    else if( k < 32 || k & 1 )
-    {
-        sched_yield();
-    }
-    else
-    {
-        // g++ -Wextra warns on {} or {0}
-        struct timespec rqtp = { 0, 0 };
-
-        // POSIX says that timespec has tv_sec and tv_nsec
-        // But it doesn't guarantee order or placement
-
-        rqtp.tv_sec = 0;
-        rqtp.tv_nsec = 1000;
-
-        nanosleep( &rqtp, 0 );
-    }
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#else
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void yield( unsigned )
-{
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/enable_shared_from_this.hpp b/SRC/Boost/boost/smart_ptr/enable_shared_from_this.hpp
deleted file mode 100755
index 20a586d..0000000
--- a/SRC/Boost/boost/smart_ptr/enable_shared_from_this.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef BOOST_SMART_PTR_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED
-#define BOOST_SMART_PTR_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED
-
-//
-//  enable_shared_from_this.hpp
-//
-//  Copyright 2002, 2009 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-//  http://www.boost.org/libs/smart_ptr/enable_shared_from_this.html
-//
-
-#include <boost/smart_ptr/weak_ptr.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-
-namespace boost
-{
-
-template<class T> class enable_shared_from_this
-{
-protected:
-
-    enable_shared_from_this()
-    {
-    }
-
-    enable_shared_from_this(enable_shared_from_this const &)
-    {
-    }
-
-    enable_shared_from_this & operator=(enable_shared_from_this const &)
-    {
-        return *this;
-    }
-
-    ~enable_shared_from_this()
-    {
-    }
-
-public:
-
-    shared_ptr<T> shared_from_this()
-    {
-        shared_ptr<T> p( weak_this_ );
-        BOOST_ASSERT( p.get() == this );
-        return p;
-    }
-
-    shared_ptr<T const> shared_from_this() const
-    {
-        shared_ptr<T const> p( weak_this_ );
-        BOOST_ASSERT( p.get() == this );
-        return p;
-    }
-
-public: // actually private, but avoids compiler template friendship issues
-
-    // Note: invoked automatically by shared_ptr; do not call
-    template<class X, class Y> void _internal_accept_owner( shared_ptr<X> const * ppx, Y * py ) const
-    {
-        if( weak_this_.expired() )
-        {
-            weak_this_ = shared_ptr<T>( *ppx, py );
-        }
-    }
-
-private:
-
-    mutable weak_ptr<T> weak_this_;
-};
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/intrusive_ptr.hpp b/SRC/Boost/boost/smart_ptr/intrusive_ptr.hpp
deleted file mode 100755
index 911069a..0000000
--- a/SRC/Boost/boost/smart_ptr/intrusive_ptr.hpp
+++ /dev/null
@@ -1,290 +0,0 @@
-#ifndef BOOST_SMART_PTR_INTRUSIVE_PTR_HPP_INCLUDED
-#define BOOST_SMART_PTR_INTRUSIVE_PTR_HPP_INCLUDED
-
-//
-//  intrusive_ptr.hpp
-//
-//  Copyright (c) 2001, 2002 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/smart_ptr/intrusive_ptr.html for documentation.
-//
-
-#include <boost/config.hpp>
-
-#include <boost/assert.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/smart_ptr/detail/sp_convertible.hpp>
-
-#include <boost/config/no_tr1/functional.hpp>           // for std::less
-
-#if !defined(BOOST_NO_IOSTREAM)
-#if !defined(BOOST_NO_IOSFWD)
-#include <iosfwd>               // for std::basic_ostream
-#else
-#include <ostream>
-#endif
-#endif
-
-
-namespace boost
-{
-
-//
-//  intrusive_ptr
-//
-//  A smart pointer that uses intrusive reference counting.
-//
-//  Relies on unqualified calls to
-//  
-//      void intrusive_ptr_add_ref(T * p);
-//      void intrusive_ptr_release(T * p);
-//
-//          (p != 0)
-//
-//  The object is responsible for destroying itself.
-//
-
-template<class T> class intrusive_ptr
-{
-private:
-
-    typedef intrusive_ptr this_type;
-
-public:
-
-    typedef T element_type;
-
-    intrusive_ptr(): px( 0 )
-    {
-    }
-
-    intrusive_ptr( T * p, bool add_ref = true ): px( p )
-    {
-        if( px != 0 && add_ref ) intrusive_ptr_add_ref( px );
-    }
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATES) || defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
-    template<class U>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-    intrusive_ptr( intrusive_ptr<U> const & rhs, typename boost::detail::sp_enable_if_convertible<U,T>::type = boost::detail::sp_empty() )
-
-#else
-
-    intrusive_ptr( intrusive_ptr<U> const & rhs )
-
-#endif
-    : px( rhs.get() )
-    {
-        if( px != 0 ) intrusive_ptr_add_ref( px );
-    }
-
-#endif
-
-    intrusive_ptr(intrusive_ptr const & rhs): px( rhs.px )
-    {
-        if( px != 0 ) intrusive_ptr_add_ref( px );
-    }
-
-    ~intrusive_ptr()
-    {
-        if( px != 0 ) intrusive_ptr_release( px );
-    }
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATES) || defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
-    template<class U> intrusive_ptr & operator=(intrusive_ptr<U> const & rhs)
-    {
-        this_type(rhs).swap(*this);
-        return *this;
-    }
-
-#endif
-
-// Move support
-
-#if defined( BOOST_HAS_RVALUE_REFS )
-
-    intrusive_ptr(intrusive_ptr && rhs): px( rhs.px )
-    {
-        rhs.px = 0;
-    }
-
-    intrusive_ptr & operator=(intrusive_ptr && rhs)
-    {
-        this_type( static_cast< intrusive_ptr && >( rhs ) ).swap(*this);
-        return *this;
-    }
-
-#endif
-
-    intrusive_ptr & operator=(intrusive_ptr const & rhs)
-    {
-        this_type(rhs).swap(*this);
-        return *this;
-    }
-
-    intrusive_ptr & operator=(T * rhs)
-    {
-        this_type(rhs).swap(*this);
-        return *this;
-    }
-
-    void reset()
-    {
-        this_type().swap( *this );
-    }
-
-    void reset( T * rhs )
-    {
-        this_type( rhs ).swap( *this );
-    }
-
-    T * get() const
-    {
-        return px;
-    }
-
-    T & operator*() const
-    {
-        BOOST_ASSERT( px != 0 );
-        return *px;
-    }
-
-    T * operator->() const
-    {
-        BOOST_ASSERT( px != 0 );
-        return px;
-    }
-
-// implicit conversion to "bool"
-#include <boost/smart_ptr/detail/operator_bool.hpp>
-
-    void swap(intrusive_ptr & rhs)
-    {
-        T * tmp = px;
-        px = rhs.px;
-        rhs.px = tmp;
-    }
-
-private:
-
-    T * px;
-};
-
-template<class T, class U> inline bool operator==(intrusive_ptr<T> const & a, intrusive_ptr<U> const & b)
-{
-    return a.get() == b.get();
-}
-
-template<class T, class U> inline bool operator!=(intrusive_ptr<T> const & a, intrusive_ptr<U> const & b)
-{
-    return a.get() != b.get();
-}
-
-template<class T, class U> inline bool operator==(intrusive_ptr<T> const & a, U * b)
-{
-    return a.get() == b;
-}
-
-template<class T, class U> inline bool operator!=(intrusive_ptr<T> const & a, U * b)
-{
-    return a.get() != b;
-}
-
-template<class T, class U> inline bool operator==(T * a, intrusive_ptr<U> const & b)
-{
-    return a == b.get();
-}
-
-template<class T, class U> inline bool operator!=(T * a, intrusive_ptr<U> const & b)
-{
-    return a != b.get();
-}
-
-#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
-
-// Resolve the ambiguity between our op!= and the one in rel_ops
-
-template<class T> inline bool operator!=(intrusive_ptr<T> const & a, intrusive_ptr<T> const & b)
-{
-    return a.get() != b.get();
-}
-
-#endif
-
-template<class T> inline bool operator<(intrusive_ptr<T> const & a, intrusive_ptr<T> const & b)
-{
-    return std::less<T *>()(a.get(), b.get());
-}
-
-template<class T> void swap(intrusive_ptr<T> & lhs, intrusive_ptr<T> & rhs)
-{
-    lhs.swap(rhs);
-}
-
-// mem_fn support
-
-template<class T> T * get_pointer(intrusive_ptr<T> const & p)
-{
-    return p.get();
-}
-
-template<class T, class U> intrusive_ptr<T> static_pointer_cast(intrusive_ptr<U> const & p)
-{
-    return static_cast<T *>(p.get());
-}
-
-template<class T, class U> intrusive_ptr<T> const_pointer_cast(intrusive_ptr<U> const & p)
-{
-    return const_cast<T *>(p.get());
-}
-
-template<class T, class U> intrusive_ptr<T> dynamic_pointer_cast(intrusive_ptr<U> const & p)
-{
-    return dynamic_cast<T *>(p.get());
-}
-
-// operator<<
-
-#if !defined(BOOST_NO_IOSTREAM)
-
-#if defined(BOOST_NO_TEMPLATED_IOSTREAMS) || ( defined(__GNUC__) &&  (__GNUC__ < 3) )
-
-template<class Y> std::ostream & operator<< (std::ostream & os, intrusive_ptr<Y> const & p)
-{
-    os << p.get();
-    return os;
-}
-
-#else
-
-// in STLport's no-iostreams mode no iostream symbols can be used
-#ifndef _STLP_NO_IOSTREAMS
-
-# if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300 && __SGI_STL_PORT)
-// MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL
-using std::basic_ostream;
-template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, intrusive_ptr<Y> const & p)
-# else
-template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, intrusive_ptr<Y> const & p)
-# endif 
-{
-    os << p.get();
-    return os;
-}
-
-#endif // _STLP_NO_IOSTREAMS
-
-#endif // __GNUC__ < 3
-
-#endif // !defined(BOOST_NO_IOSTREAM)
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_INTRUSIVE_PTR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/make_shared.hpp b/SRC/Boost/boost/smart_ptr/make_shared.hpp
deleted file mode 100755
index 51bae68..0000000
--- a/SRC/Boost/boost/smart_ptr/make_shared.hpp
+++ /dev/null
@@ -1,981 +0,0 @@
-#ifndef BOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED
-#define BOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED
-
-//  make_shared.hpp
-//
-//  Copyright (c) 2007, 2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-//  See http://www.boost.org/libs/smart_ptr/make_shared.html
-//  for documentation.
-
-#include <boost/config.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/type_traits/type_with_alignment.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <cstddef>
-#include <new>
-
-namespace boost
-{
-
-namespace detail
-{
-
-template< std::size_t N, std::size_t A > struct sp_aligned_storage
-{
-    union type
-    {
-        char data_[ N ];
-        typename boost::type_with_alignment< A >::type align_;
-    };
-};
-
-template< class T > class sp_ms_deleter
-{
-private:
-
-    typedef typename sp_aligned_storage< sizeof( T ), ::boost::alignment_of< T >::value >::type storage_type;
-
-    bool initialized_;
-    storage_type storage_;
-
-private:
-
-    void destroy()
-    {
-        if( initialized_ )
-        {
-#if defined( __GNUC__ )
-
-            // fixes incorrect aliasing warning
-            T * p = reinterpret_cast< T* >( storage_.data_ );
-            p->~T();
-
-#else
-
-            reinterpret_cast< T* >( storage_.data_ )->~T();
-
-#endif
-
-            initialized_ = false;
-        }
-    }
-
-public:
-
-    sp_ms_deleter(): initialized_( false )
-    {
-    }
-
-    // optimization: do not copy storage_
-    sp_ms_deleter( sp_ms_deleter const & ): initialized_( false )
-    {
-    }
-
-    ~sp_ms_deleter()
-    {
-        destroy();
-    }
-
-    void operator()( T * )
-    {
-        destroy();
-    }
-
-    void * address()
-    {
-        return storage_.data_;
-    }
-
-    void set_initialized()
-    {
-        initialized_ = true;
-    }
-};
-
-#if defined( BOOST_HAS_RVALUE_REFS )
-
-template< class T > T&& sp_forward( T & t )
-{
-    return static_cast< T&& >( t );
-}
-
-#endif
-
-} // namespace detail
-
-#if !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
-# define BOOST_SP_MSD( T ) boost::detail::sp_inplace_tag< boost::detail::sp_ms_deleter< T > >()
-#else
-# define BOOST_SP_MSD( T ) boost::detail::sp_ms_deleter< T >()
-#endif
-
-// Zero-argument versions
-//
-// Used even when variadic templates are available because of the new T() vs new T issue
-
-template< class T > boost::shared_ptr< T > make_shared()
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T();
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A > boost::shared_ptr< T > allocate_shared( A const & a )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T();
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-#if defined( BOOST_HAS_VARIADIC_TMPL ) && defined( BOOST_HAS_RVALUE_REFS )
-
-// Variadic templates, rvalue reference
-
-template< class T, class Arg1, class... Args > boost::shared_ptr< T > make_shared( Arg1 && arg1, Args && ... args )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( boost::detail::sp_forward<Arg1>( arg1 ), boost::detail::sp_forward<Args>( args )... );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class Arg1, class... Args > boost::shared_ptr< T > allocate_shared( A const & a, Arg1 && arg1, Args && ... args )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( boost::detail::sp_forward<Arg1>( arg1 ), boost::detail::sp_forward<Args>( args )... );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-#elif defined( BOOST_HAS_RVALUE_REFS )
-
-// For example MSVC 10.0
-
-template< class T, class A1 >
-boost::shared_ptr< T > make_shared( A1 && a1 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T(
-        boost::detail::sp_forward<A1>( a1 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 && a1 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( 
-        boost::detail::sp_forward<A1>( a1 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2 >
-boost::shared_ptr< T > make_shared( A1 && a1, A2 && a2 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T(
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 && a1, A2 && a2 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( 
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3 >
-boost::shared_ptr< T > make_shared( A1 && a1, A2 && a2, A3 && a3 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T(
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( 
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3, class A4 >
-boost::shared_ptr< T > make_shared( A1 && a1, A2 && a2, A3 && a3, A4 && a4 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T(
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 ), 
-        boost::detail::sp_forward<A4>( a4 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3, class A4 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3, A4 && a4 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( 
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 ), 
-        boost::detail::sp_forward<A4>( a4 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3, class A4, class A5 >
-boost::shared_ptr< T > make_shared( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T(
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 ), 
-        boost::detail::sp_forward<A4>( a4 ), 
-        boost::detail::sp_forward<A5>( a5 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3, class A4, class A5 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( 
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 ), 
-        boost::detail::sp_forward<A4>( a4 ), 
-        boost::detail::sp_forward<A5>( a5 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3, class A4, class A5, class A6 >
-boost::shared_ptr< T > make_shared( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T(
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 ), 
-        boost::detail::sp_forward<A4>( a4 ), 
-        boost::detail::sp_forward<A5>( a5 ), 
-        boost::detail::sp_forward<A6>( a6 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( 
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 ), 
-        boost::detail::sp_forward<A4>( a4 ), 
-        boost::detail::sp_forward<A5>( a5 ), 
-        boost::detail::sp_forward<A6>( a6 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 >
-boost::shared_ptr< T > make_shared( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T(
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 ), 
-        boost::detail::sp_forward<A4>( a4 ), 
-        boost::detail::sp_forward<A5>( a5 ), 
-        boost::detail::sp_forward<A6>( a6 ), 
-        boost::detail::sp_forward<A7>( a7 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( 
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 ), 
-        boost::detail::sp_forward<A4>( a4 ), 
-        boost::detail::sp_forward<A5>( a5 ), 
-        boost::detail::sp_forward<A6>( a6 ), 
-        boost::detail::sp_forward<A7>( a7 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 >
-boost::shared_ptr< T > make_shared( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T(
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 ), 
-        boost::detail::sp_forward<A4>( a4 ), 
-        boost::detail::sp_forward<A5>( a5 ), 
-        boost::detail::sp_forward<A6>( a6 ), 
-        boost::detail::sp_forward<A7>( a7 ), 
-        boost::detail::sp_forward<A8>( a8 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( 
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 ), 
-        boost::detail::sp_forward<A4>( a4 ), 
-        boost::detail::sp_forward<A5>( a5 ), 
-        boost::detail::sp_forward<A6>( a6 ), 
-        boost::detail::sp_forward<A7>( a7 ), 
-        boost::detail::sp_forward<A8>( a8 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 >
-boost::shared_ptr< T > make_shared( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8, A9 && a9 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T(
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 ), 
-        boost::detail::sp_forward<A4>( a4 ), 
-        boost::detail::sp_forward<A5>( a5 ), 
-        boost::detail::sp_forward<A6>( a6 ), 
-        boost::detail::sp_forward<A7>( a7 ), 
-        boost::detail::sp_forward<A8>( a8 ), 
-        boost::detail::sp_forward<A9>( a9 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8, A9 && a9 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( 
-        boost::detail::sp_forward<A1>( a1 ), 
-        boost::detail::sp_forward<A2>( a2 ), 
-        boost::detail::sp_forward<A3>( a3 ), 
-        boost::detail::sp_forward<A4>( a4 ), 
-        boost::detail::sp_forward<A5>( a5 ), 
-        boost::detail::sp_forward<A6>( a6 ), 
-        boost::detail::sp_forward<A7>( a7 ), 
-        boost::detail::sp_forward<A8>( a8 ), 
-        boost::detail::sp_forward<A9>( a9 )
-        );
-
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-#else
-
-// C++03 version
-
-template< class T, class A1 >
-boost::shared_ptr< T > make_shared( A1 const & a1 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2 >
-boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3 >
-boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3, class A4 >
-boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3, a4 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3, class A4 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3, a4 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3, class A4, class A5 >
-boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3, a4, a5 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3, class A4, class A5 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3, a4, a5 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3, class A4, class A5, class A6 >
-boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3, a4, a5, a6 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3, a4, a5, a6 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 >
-boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3, a4, a5, a6, a7 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3, a4, a5, a6, a7 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 >
-boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3, a4, a5, a6, a7, a8 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3, a4, a5, a6, a7, a8 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 >
-boost::shared_ptr< T > make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3, a4, a5, a6, a7, a8, a9 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 >
-boost::shared_ptr< T > allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = boost::get_deleter< boost::detail::sp_ms_deleter< T > >( pt );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( a1, a2, a3, a4, a5, a6, a7, a8, a9 );
-    pd->set_initialized();
-
-    T * pt2 = static_cast< T* >( pv );
-
-    boost::detail::sp_enable_shared_from_this( &pt, pt2, pt2 );
-    return boost::shared_ptr< T >( pt, pt2 );
-}
-
-#endif
-
-#undef BOOST_SP_MSD
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/scoped_array.hpp b/SRC/Boost/boost/smart_ptr/scoped_array.hpp
deleted file mode 100755
index 79c5a70..0000000
--- a/SRC/Boost/boost/smart_ptr/scoped_array.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-#ifndef BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED
-#define BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED
-
-//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-//  Copyright (c) 2001, 2002 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org/libs/smart_ptr/scoped_array.htm
-//
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/config.hpp>   // in case ptrdiff_t not in std
-
-#include <boost/detail/workaround.hpp>
-
-#include <cstddef>            // for std::ptrdiff_t
-
-namespace boost
-{
-
-// Debug hooks
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-void sp_array_constructor_hook(void * p);
-void sp_array_destructor_hook(void * p);
-
-#endif
-
-//  scoped_array extends scoped_ptr to arrays. Deletion of the array pointed to
-//  is guaranteed, either on destruction of the scoped_array or via an explicit
-//  reset(). Use shared_array or std::vector if your needs are more complex.
-
-template<class T> class scoped_array // noncopyable
-{
-private:
-
-    T * px;
-
-    scoped_array(scoped_array const &);
-    scoped_array & operator=(scoped_array const &);
-
-    typedef scoped_array<T> this_type;
-
-    void operator==( scoped_array const& ) const;
-    void operator!=( scoped_array const& ) const;
-
-public:
-
-    typedef T element_type;
-
-    explicit scoped_array( T * p = 0 ) : px( p ) // never throws
-    {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        boost::sp_array_constructor_hook( px );
-#endif
-    }
-
-    ~scoped_array() // never throws
-    {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        boost::sp_array_destructor_hook( px );
-#endif
-        boost::checked_array_delete( px );
-    }
-
-    void reset(T * p = 0) // never throws
-    {
-        BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors
-        this_type(p).swap(*this);
-    }
-
-    T & operator[](std::ptrdiff_t i) const // never throws
-    {
-        BOOST_ASSERT( px != 0 );
-        BOOST_ASSERT( i >= 0 );
-        return px[i];
-    }
-
-    T * get() const // never throws
-    {
-        return px;
-    }
-
-// implicit conversion to "bool"
-#include <boost/smart_ptr/detail/operator_bool.hpp>
-
-    void swap(scoped_array & b) // never throws
-    {
-        T * tmp = b.px;
-        b.px = px;
-        px = tmp;
-    }
-};
-
-template<class T> inline void swap(scoped_array<T> & a, scoped_array<T> & b) // never throws
-{
-    a.swap(b);
-}
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/scoped_ptr.hpp b/SRC/Boost/boost/smart_ptr/scoped_ptr.hpp
deleted file mode 100755
index ea22505..0000000
--- a/SRC/Boost/boost/smart_ptr/scoped_ptr.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-#ifndef BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED
-#define BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED
-
-//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-//  Copyright (c) 2001, 2002 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org/libs/smart_ptr/scoped_ptr.htm
-//
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifndef BOOST_NO_AUTO_PTR
-# include <memory>          // for std::auto_ptr
-#endif
-
-namespace boost
-{
-
-// Debug hooks
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-void sp_scalar_constructor_hook(void * p);
-void sp_scalar_destructor_hook(void * p);
-
-#endif
-
-//  scoped_ptr mimics a built-in pointer except that it guarantees deletion
-//  of the object pointed to, either on destruction of the scoped_ptr or via
-//  an explicit reset(). scoped_ptr is a simple solution for simple needs;
-//  use shared_ptr or std::auto_ptr if your needs are more complex.
-
-template<class T> class scoped_ptr // noncopyable
-{
-private:
-
-    T * px;
-
-    scoped_ptr(scoped_ptr const &);
-    scoped_ptr & operator=(scoped_ptr const &);
-
-    typedef scoped_ptr<T> this_type;
-
-    void operator==( scoped_ptr const& ) const;
-    void operator!=( scoped_ptr const& ) const;
-
-public:
-
-    typedef T element_type;
-
-    explicit scoped_ptr( T * p = 0 ): px( p ) // never throws
-    {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        boost::sp_scalar_constructor_hook( px );
-#endif
-    }
-
-#ifndef BOOST_NO_AUTO_PTR
-
-    explicit scoped_ptr( std::auto_ptr<T> p ): px( p.release() ) // never throws
-    {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        boost::sp_scalar_constructor_hook( px );
-#endif
-    }
-
-#endif
-
-    ~scoped_ptr() // never throws
-    {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        boost::sp_scalar_destructor_hook( px );
-#endif
-        boost::checked_delete( px );
-    }
-
-    void reset(T * p = 0) // never throws
-    {
-        BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors
-        this_type(p).swap(*this);
-    }
-
-    T & operator*() const // never throws
-    {
-        BOOST_ASSERT( px != 0 );
-        return *px;
-    }
-
-    T * operator->() const // never throws
-    {
-        BOOST_ASSERT( px != 0 );
-        return px;
-    }
-
-    T * get() const // never throws
-    {
-        return px;
-    }
-
-// implicit conversion to "bool"
-#include <boost/smart_ptr/detail/operator_bool.hpp>
-
-    void swap(scoped_ptr & b) // never throws
-    {
-        T * tmp = b.px;
-        b.px = px;
-        px = tmp;
-    }
-};
-
-template<class T> inline void swap(scoped_ptr<T> & a, scoped_ptr<T> & b) // never throws
-{
-    a.swap(b);
-}
-
-// get_pointer(p) is a generic way to say p.get()
-
-template<class T> inline T * get_pointer(scoped_ptr<T> const & p)
-{
-    return p.get();
-}
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/shared_array.hpp b/SRC/Boost/boost/smart_ptr/shared_array.hpp
deleted file mode 100755
index 6eebad7..0000000
--- a/SRC/Boost/boost/smart_ptr/shared_array.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-#ifndef BOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED
-#define BOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED
-
-//
-//  shared_array.hpp
-//
-//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-//  Copyright (c) 2001, 2002 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/smart_ptr/shared_array.htm for documentation.
-//
-
-#include <boost/config.hpp>   // for broken compiler workarounds
-
-#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-#include <boost/smart_ptr/detail/shared_array_nmt.hpp>
-#else
-
-#include <memory>             // TR1 cyclic inclusion fix
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-
-#include <boost/smart_ptr/detail/shared_count.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <cstddef>            // for std::ptrdiff_t
-#include <algorithm>          // for std::swap
-#include <functional>         // for std::less
-
-namespace boost
-{
-
-//
-//  shared_array
-//
-//  shared_array extends shared_ptr to arrays.
-//  The array pointed to is deleted when the last shared_array pointing to it
-//  is destroyed or reset.
-//
-
-template<class T> class shared_array
-{
-private:
-
-    // Borland 5.5.1 specific workarounds
-    typedef checked_array_deleter<T> deleter;
-    typedef shared_array<T> this_type;
-
-public:
-
-    typedef T element_type;
-
-    explicit shared_array(T * p = 0): px(p), pn(p, deleter())
-    {
-    }
-
-    //
-    // Requirements: D's copy constructor must not throw
-    //
-    // shared_array will release p by calling d(p)
-    //
-
-    template<class D> shared_array(T * p, D d): px(p), pn(p, d)
-    {
-    }
-
-//  generated copy constructor, destructor are fine...
-
-#if defined( BOOST_HAS_RVALUE_REFS )
-
-// ... except in C++0x, move disables the implicit copy
-
-    shared_array( shared_array const & r ): px( r.px ), pn( r.pn ) // never throws
-    {
-    }
-
-#endif
-
-    // assignment
-
-    shared_array & operator=( shared_array const & r ) // never throws
-    {
-        this_type( r ).swap( *this );
-        return *this;
-    }
-
-    void reset(T * p = 0)
-    {
-        BOOST_ASSERT(p == 0 || p != px);
-        this_type(p).swap(*this);
-    }
-
-    template <class D> void reset(T * p, D d)
-    {
-        this_type(p, d).swap(*this);
-    }
-
-    T & operator[] (std::ptrdiff_t i) const // never throws
-    {
-        BOOST_ASSERT(px != 0);
-        BOOST_ASSERT(i >= 0);
-        return px[i];
-    }
-    
-    T * get() const // never throws
-    {
-        return px;
-    }
-
-// implicit conversion to "bool"
-#include <boost/smart_ptr/detail/operator_bool.hpp>
-
-    bool unique() const // never throws
-    {
-        return pn.unique();
-    }
-
-    long use_count() const // never throws
-    {
-        return pn.use_count();
-    }
-
-    void swap(shared_array<T> & other) // never throws
-    {
-        std::swap(px, other.px);
-        pn.swap(other.pn);
-    }
-
-private:
-
-    T * px;                     // contained pointer
-    detail::shared_count pn;    // reference counter
-
-};  // shared_array
-
-template<class T> inline bool operator==(shared_array<T> const & a, shared_array<T> const & b) // never throws
-{
-    return a.get() == b.get();
-}
-
-template<class T> inline bool operator!=(shared_array<T> const & a, shared_array<T> const & b) // never throws
-{
-    return a.get() != b.get();
-}
-
-template<class T> inline bool operator<(shared_array<T> const & a, shared_array<T> const & b) // never throws
-{
-    return std::less<T*>()(a.get(), b.get());
-}
-
-template<class T> void swap(shared_array<T> & a, shared_array<T> & b) // never throws
-{
-    a.swap(b);
-}
-
-} // namespace boost
-
-#endif  // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
-#endif  // #ifndef BOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/shared_ptr.hpp b/SRC/Boost/boost/smart_ptr/shared_ptr.hpp
deleted file mode 100755
index 17c9701..0000000
--- a/SRC/Boost/boost/smart_ptr/shared_ptr.hpp
+++ /dev/null
@@ -1,712 +0,0 @@
-#ifndef BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
-#define BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
-
-//
-//  shared_ptr.hpp
-//
-//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-//  Copyright (c) 2001-2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.
-//
-
-#include <boost/config.hpp>   // for broken compiler workarounds
-
-#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-#include <boost/smart_ptr/detail/shared_ptr_nmt.hpp>
-#else
-
-// In order to avoid circular dependencies with Boost.TR1
-// we make sure that our include of <memory> doesn't try to
-// pull in the TR1 headers: that's why we use this header 
-// rather than including <memory> directly:
-#include <boost/config/no_tr1/memory.hpp>  // std::auto_ptr
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/smart_ptr/detail/shared_count.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/smart_ptr/detail/sp_convertible.hpp>
-
-#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
-#include <boost/smart_ptr/detail/spinlock_pool.hpp>
-#include <boost/memory_order.hpp>
-#endif
-
-#include <algorithm>            // for std::swap
-#include <functional>           // for std::less
-#include <typeinfo>             // for std::bad_cast
-#include <cstddef>              // for std::size_t
-
-#if !defined(BOOST_NO_IOSTREAM)
-#if !defined(BOOST_NO_IOSFWD)
-#include <iosfwd>               // for std::basic_ostream
-#else
-#include <ostream>
-#endif
-#endif
-
-namespace boost
-{
-
-template<class T> class shared_ptr;
-template<class T> class weak_ptr;
-template<class T> class enable_shared_from_this;
-template<class T> class enable_shared_from_this2;
-
-namespace detail
-{
-
-struct static_cast_tag {};
-struct const_cast_tag {};
-struct dynamic_cast_tag {};
-struct polymorphic_cast_tag {};
-
-template<class T> struct shared_ptr_traits
-{
-    typedef T & reference;
-};
-
-template<> struct shared_ptr_traits<void>
-{
-    typedef void reference;
-};
-
-#if !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
-
-template<> struct shared_ptr_traits<void const>
-{
-    typedef void reference;
-};
-
-template<> struct shared_ptr_traits<void volatile>
-{
-    typedef void reference;
-};
-
-template<> struct shared_ptr_traits<void const volatile>
-{
-    typedef void reference;
-};
-
-#endif
-
-// enable_shared_from_this support
-
-template< class X, class Y, class T > inline void sp_enable_shared_from_this( boost::shared_ptr<X> const * ppx, Y const * py, boost::enable_shared_from_this< T > const * pe )
-{
-    if( pe != 0 )
-    {
-        pe->_internal_accept_owner( ppx, const_cast< Y* >( py ) );
-    }
-}
-
-template< class X, class Y, class T > inline void sp_enable_shared_from_this( boost::shared_ptr<X> * ppx, Y const * py, boost::enable_shared_from_this2< T > const * pe )
-{
-    if( pe != 0 )
-    {
-        pe->_internal_accept_owner( ppx, const_cast< Y* >( py ) );
-    }
-}
-
-#ifdef _MANAGED
-
-// Avoid C4793, ... causes native code generation
-
-struct sp_any_pointer
-{
-    template<class T> sp_any_pointer( T* ) {}
-};
-
-inline void sp_enable_shared_from_this( sp_any_pointer, sp_any_pointer, sp_any_pointer )
-{
-}
-
-#else // _MANAGED
-
-inline void sp_enable_shared_from_this( ... )
-{
-}
-
-#endif // _MANAGED
-
-#if !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( BOOST_NO_AUTO_PTR )
-
-// rvalue auto_ptr support based on a technique by Dave Abrahams
-
-template< class T, class R > struct sp_enable_if_auto_ptr
-{
-};
-
-template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
-{
-    typedef R type;
-}; 
-
-#endif
-
-} // namespace detail
-
-
-//
-//  shared_ptr
-//
-//  An enhanced relative of scoped_ptr with reference counted copy semantics.
-//  The object pointed to is deleted when the last shared_ptr pointing to it
-//  is destroyed or reset.
-//
-
-template<class T> class shared_ptr
-{
-private:
-
-    // Borland 5.5.1 specific workaround
-    typedef shared_ptr<T> this_type;
-
-public:
-
-    typedef T element_type;
-    typedef T value_type;
-    typedef T * pointer;
-    typedef typename boost::detail::shared_ptr_traits<T>::reference reference;
-
-    shared_ptr(): px(0), pn() // never throws in 1.30+
-    {
-    }
-
-    template<class Y>
-    explicit shared_ptr( Y * p ): px( p ), pn( p ) // Y must be complete
-    {
-        boost::detail::sp_enable_shared_from_this( this, p, p );
-    }
-
-    //
-    // Requirements: D's copy constructor must not throw
-    //
-    // shared_ptr will release p by calling d(p)
-    //
-
-    template<class Y, class D> shared_ptr(Y * p, D d): px(p), pn(p, d)
-    {
-        boost::detail::sp_enable_shared_from_this( this, p, p );
-    }
-
-    // As above, but with allocator. A's copy constructor shall not throw.
-
-    template<class Y, class D, class A> shared_ptr( Y * p, D d, A a ): px( p ), pn( p, d, a )
-    {
-        boost::detail::sp_enable_shared_from_this( this, p, p );
-    }
-
-//  generated copy constructor, destructor are fine...
-
-#if defined( BOOST_HAS_RVALUE_REFS )
-
-// ... except in C++0x, move disables the implicit copy
-
-    shared_ptr( shared_ptr const & r ): px( r.px ), pn( r.pn ) // never throws
-    {
-    }
-
-#endif
-
-    template<class Y>
-    explicit shared_ptr(weak_ptr<Y> const & r): pn(r.pn) // may throw
-    {
-        // it is now safe to copy r.px, as pn(r.pn) did not throw
-        px = r.px;
-    }
-
-    template<class Y>
-    shared_ptr( weak_ptr<Y> const & r, boost::detail::sp_nothrow_tag ): px( 0 ), pn( r.pn, boost::detail::sp_nothrow_tag() ) // never throws
-    {
-        if( !pn.empty() )
-        {
-            px = r.px;
-        }
-    }
-
-    template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-    shared_ptr( shared_ptr<Y> const & r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
-
-#else
-
-    shared_ptr( shared_ptr<Y> const & r )
-
-#endif
-    : px( r.px ), pn( r.pn ) // never throws
-    {
-    }
-
-    // aliasing
-    template< class Y >
-    shared_ptr( shared_ptr<Y> const & r, T * p ): px( p ), pn( r.pn ) // never throws
-    {
-    }
-
-    template<class Y>
-    shared_ptr(shared_ptr<Y> const & r, boost::detail::static_cast_tag): px(static_cast<element_type *>(r.px)), pn(r.pn)
-    {
-    }
-
-    template<class Y>
-    shared_ptr(shared_ptr<Y> const & r, boost::detail::const_cast_tag): px(const_cast<element_type *>(r.px)), pn(r.pn)
-    {
-    }
-
-    template<class Y>
-    shared_ptr(shared_ptr<Y> const & r, boost::detail::dynamic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn)
-    {
-        if(px == 0) // need to allocate new counter -- the cast failed
-        {
-            pn = boost::detail::shared_count();
-        }
-    }
-
-    template<class Y>
-    shared_ptr(shared_ptr<Y> const & r, boost::detail::polymorphic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn)
-    {
-        if(px == 0)
-        {
-            boost::throw_exception(std::bad_cast());
-        }
-    }
-
-#ifndef BOOST_NO_AUTO_PTR
-
-    template<class Y>
-    explicit shared_ptr(std::auto_ptr<Y> & r): px(r.get()), pn()
-    {
-        Y * tmp = r.get();
-        pn = boost::detail::shared_count(r);
-        boost::detail::sp_enable_shared_from_this( this, tmp, tmp );
-    }
-
-#if !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-    template<class Ap>
-    explicit shared_ptr( Ap r, typename boost::detail::sp_enable_if_auto_ptr<Ap, int>::type = 0 ): px( r.get() ), pn()
-    {
-        typename Ap::element_type * tmp = r.get();
-        pn = boost::detail::shared_count( r );
-        boost::detail::sp_enable_shared_from_this( this, tmp, tmp );
-    }
-
-
-#endif // BOOST_NO_SFINAE, BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_NO_AUTO_PTR
-
-    // assignment
-
-    shared_ptr & operator=( shared_ptr const & r ) // never throws
-    {
-        this_type(r).swap(*this);
-        return *this;
-    }
-
-#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1400)
-
-    template<class Y>
-    shared_ptr & operator=(shared_ptr<Y> const & r) // never throws
-    {
-        this_type(r).swap(*this);
-        return *this;
-    }
-
-#endif
-
-#ifndef BOOST_NO_AUTO_PTR
-
-    template<class Y>
-    shared_ptr & operator=( std::auto_ptr<Y> & r )
-    {
-        this_type(r).swap(*this);
-        return *this;
-    }
-
-#if !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-    template<class Ap>
-    typename boost::detail::sp_enable_if_auto_ptr< Ap, shared_ptr & >::type operator=( Ap r )
-    {
-        this_type( r ).swap( *this );
-        return *this;
-    }
-
-
-#endif // BOOST_NO_SFINAE, BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_NO_AUTO_PTR
-
-// Move support
-
-#if defined( BOOST_HAS_RVALUE_REFS )
-
-    shared_ptr( shared_ptr && r ): px( r.px ), pn() // never throws
-    {
-        pn.swap( r.pn );
-        r.px = 0;
-    }
-
-    template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-    shared_ptr( shared_ptr<Y> && r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
-
-#else
-
-    shared_ptr( shared_ptr<Y> && r )
-
-#endif
-    : px( r.px ), pn() // never throws
-    {
-        pn.swap( r.pn );
-        r.px = 0;
-    }
-
-    shared_ptr & operator=( shared_ptr && r ) // never throws
-    {
-        this_type( static_cast< shared_ptr && >( r ) ).swap( *this );
-        return *this;
-    }
-
-    template<class Y>
-    shared_ptr & operator=( shared_ptr<Y> && r ) // never throws
-    {
-        this_type( static_cast< shared_ptr<Y> && >( r ) ).swap( *this );
-        return *this;
-    }
-
-#endif
-
-    void reset() // never throws in 1.30+
-    {
-        this_type().swap(*this);
-    }
-
-    template<class Y> void reset(Y * p) // Y must be complete
-    {
-        BOOST_ASSERT(p == 0 || p != px); // catch self-reset errors
-        this_type(p).swap(*this);
-    }
-
-    template<class Y, class D> void reset( Y * p, D d )
-    {
-        this_type( p, d ).swap( *this );
-    }
-
-    template<class Y, class D, class A> void reset( Y * p, D d, A a )
-    {
-        this_type( p, d, a ).swap( *this );
-    }
-
-    template<class Y> void reset( shared_ptr<Y> const & r, T * p )
-    {
-        this_type( r, p ).swap( *this );
-    }
-
-    reference operator* () const // never throws
-    {
-        BOOST_ASSERT(px != 0);
-        return *px;
-    }
-
-    T * operator-> () const // never throws
-    {
-        BOOST_ASSERT(px != 0);
-        return px;
-    }
-
-    T * get() const // never throws
-    {
-        return px;
-    }
-
-// implicit conversion to "bool"
-#include <boost/smart_ptr/detail/operator_bool.hpp>
-
-    bool unique() const // never throws
-    {
-        return pn.unique();
-    }
-
-    long use_count() const // never throws
-    {
-        return pn.use_count();
-    }
-
-    void swap(shared_ptr<T> & other) // never throws
-    {
-        std::swap(px, other.px);
-        pn.swap(other.pn);
-    }
-
-    template<class Y> bool _internal_less(shared_ptr<Y> const & rhs) const
-    {
-        return pn < rhs.pn;
-    }
-
-    void * _internal_get_deleter( boost::detail::sp_typeinfo const & ti ) const
-    {
-        return pn.get_deleter( ti );
-    }
-
-    bool _internal_equiv( shared_ptr const & r ) const
-    {
-        return px == r.px && pn == r.pn;
-    }
-
-// Tasteless as this may seem, making all members public allows member templates
-// to work in the absence of member template friends. (Matthew Langston)
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-
-private:
-
-    template<class Y> friend class shared_ptr;
-    template<class Y> friend class weak_ptr;
-
-
-#endif
-
-    T * px;                     // contained pointer
-    boost::detail::shared_count pn;    // reference counter
-
-};  // shared_ptr
-
-template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b)
-{
-    return a.get() == b.get();
-}
-
-template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b)
-{
-    return a.get() != b.get();
-}
-
-#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
-
-// Resolve the ambiguity between our op!= and the one in rel_ops
-
-template<class T> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<T> const & b)
-{
-    return a.get() != b.get();
-}
-
-#endif
-
-template<class T, class U> inline bool operator<(shared_ptr<T> const & a, shared_ptr<U> const & b)
-{
-    return a._internal_less(b);
-}
-
-template<class T> inline void swap(shared_ptr<T> & a, shared_ptr<T> & b)
-{
-    a.swap(b);
-}
-
-template<class T, class U> shared_ptr<T> static_pointer_cast(shared_ptr<U> const & r)
-{
-    return shared_ptr<T>(r, boost::detail::static_cast_tag());
-}
-
-template<class T, class U> shared_ptr<T> const_pointer_cast(shared_ptr<U> const & r)
-{
-    return shared_ptr<T>(r, boost::detail::const_cast_tag());
-}
-
-template<class T, class U> shared_ptr<T> dynamic_pointer_cast(shared_ptr<U> const & r)
-{
-    return shared_ptr<T>(r, boost::detail::dynamic_cast_tag());
-}
-
-// shared_*_cast names are deprecated. Use *_pointer_cast instead.
-
-template<class T, class U> shared_ptr<T> shared_static_cast(shared_ptr<U> const & r)
-{
-    return shared_ptr<T>(r, boost::detail::static_cast_tag());
-}
-
-template<class T, class U> shared_ptr<T> shared_dynamic_cast(shared_ptr<U> const & r)
-{
-    return shared_ptr<T>(r, boost::detail::dynamic_cast_tag());
-}
-
-template<class T, class U> shared_ptr<T> shared_polymorphic_cast(shared_ptr<U> const & r)
-{
-    return shared_ptr<T>(r, boost::detail::polymorphic_cast_tag());
-}
-
-template<class T, class U> shared_ptr<T> shared_polymorphic_downcast(shared_ptr<U> const & r)
-{
-    BOOST_ASSERT(dynamic_cast<T *>(r.get()) == r.get());
-    return shared_static_cast<T>(r);
-}
-
-// get_pointer() enables boost::mem_fn to recognize shared_ptr
-
-template<class T> inline T * get_pointer(shared_ptr<T> const & p)
-{
-    return p.get();
-}
-
-// operator<<
-
-#if !defined(BOOST_NO_IOSTREAM)
-
-#if defined(BOOST_NO_TEMPLATED_IOSTREAMS) || ( defined(__GNUC__) &&  (__GNUC__ < 3) )
-
-template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p)
-{
-    os << p.get();
-    return os;
-}
-
-#else
-
-// in STLport's no-iostreams mode no iostream symbols can be used
-#ifndef _STLP_NO_IOSTREAMS
-
-# if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300 && __SGI_STL_PORT)
-// MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL
-using std::basic_ostream;
-template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, shared_ptr<Y> const & p)
-# else
-template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p)
-# endif
-{
-    os << p.get();
-    return os;
-}
-
-#endif // _STLP_NO_IOSTREAMS
-
-#endif // __GNUC__ < 3
-
-#endif // !defined(BOOST_NO_IOSTREAM)
-
-// get_deleter
-
-#if ( defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3) ) || \
-    ( defined(__EDG_VERSION__) && BOOST_WORKAROUND(__EDG_VERSION__, <= 238) ) || \
-    ( defined(__HP_aCC) && BOOST_WORKAROUND(__HP_aCC, <= 33500) )
-
-// g++ 2.9x doesn't allow static_cast<X const *>(void *)
-// apparently EDG 2.38 and HP aCC A.03.35 also don't accept it
-
-template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
-{
-    void const * q = p._internal_get_deleter(BOOST_SP_TYPEID(D));
-    return const_cast<D *>(static_cast<D const *>(q));
-}
-
-#else
-
-template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
-{
-    return static_cast<D *>(p._internal_get_deleter(BOOST_SP_TYPEID(D)));
-}
-
-#endif
-
-// atomic access
-
-#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
-
-template<class T> inline bool atomic_is_lock_free( shared_ptr<T> const * /*p*/ )
-{
-    return false;
-}
-
-template<class T> shared_ptr<T> atomic_load( shared_ptr<T> const * p )
-{
-    boost::detail::spinlock_pool<2>::scoped_lock lock( p );
-    return *p;
-}
-
-template<class T> inline shared_ptr<T> atomic_load_explicit( shared_ptr<T> const * p, memory_order /*mo*/ )
-{
-    return atomic_load( p );
-}
-
-template<class T> void atomic_store( shared_ptr<T> * p, shared_ptr<T> r )
-{
-    boost::detail::spinlock_pool<2>::scoped_lock lock( p );
-    p->swap( r );
-}
-
-template<class T> inline void atomic_store_explicit( shared_ptr<T> * p, shared_ptr<T> r, memory_order /*mo*/ )
-{
-    atomic_store( p, r ); // std::move( r )
-}
-
-template<class T> shared_ptr<T> atomic_exchange( shared_ptr<T> * p, shared_ptr<T> r )
-{
-    boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p );
-
-    sp.lock();
-    p->swap( r );
-    sp.unlock();
-
-    return r; // return std::move( r )
-}
-
-template<class T> shared_ptr<T> atomic_exchange_explicit( shared_ptr<T> * p, shared_ptr<T> r, memory_order /*mo*/ )
-{
-    return atomic_exchange( p, r ); // std::move( r )
-}
-
-template<class T> bool atomic_compare_exchange( shared_ptr<T> * p, shared_ptr<T> * v, shared_ptr<T> w )
-{
-    boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p );
-
-    sp.lock();
-
-    if( p->_internal_equiv( *v ) )
-    {
-        p->swap( w );
-
-        sp.unlock();
-
-        return true;
-    }
-    else
-    {
-        shared_ptr<T> tmp( *p );
-
-        sp.unlock();
-
-        tmp.swap( *v );
-        return false;
-    }
-}
-
-template<class T> inline bool atomic_compare_exchange_explicit( shared_ptr<T> * p, shared_ptr<T> * v, shared_ptr<T> w, memory_order /*success*/, memory_order /*failure*/ )
-{
-    return atomic_compare_exchange( p, v, w ); // std::move( w )
-}
-
-#endif // !defined(BOOST_SP_NO_ATOMIC_ACCESS)
-
-// hash_value
-
-template< class T > struct hash;
-
-template< class T > std::size_t hash_value( boost::shared_ptr<T> const & p )
-{
-    return boost::hash< T* >()( p.get() );
-}
-
-} // namespace boost
-
-#endif  // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
-#endif  // #ifndef BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/smart_ptr/weak_ptr.hpp b/SRC/Boost/boost/smart_ptr/weak_ptr.hpp
deleted file mode 100755
index f685afe..0000000
--- a/SRC/Boost/boost/smart_ptr/weak_ptr.hpp
+++ /dev/null
@@ -1,246 +0,0 @@
-#ifndef BOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED
-#define BOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED
-
-//
-//  weak_ptr.hpp
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/smart_ptr/weak_ptr.htm for documentation.
-//
-
-#include <memory> // boost.TR1 include order fix
-#include <boost/smart_ptr/detail/shared_count.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-
-#ifdef BOOST_MSVC  // moved here to work around VC++ compiler crash
-# pragma warning(push)
-# pragma warning(disable:4284) // odd return type for operator->
-#endif
-
-namespace boost
-{
-
-template<class T> class weak_ptr
-{
-private:
-
-    // Borland 5.5.1 specific workarounds
-    typedef weak_ptr<T> this_type;
-
-public:
-
-    typedef T element_type;
-
-    weak_ptr(): px(0), pn() // never throws in 1.30+
-    {
-    }
-
-//  generated copy constructor, assignment, destructor are fine...
-
-#if defined( BOOST_HAS_RVALUE_REFS )
-
-// ... except in C++0x, move disables the implicit copy
-
-    weak_ptr( weak_ptr const & r ): px( r.px ), pn( r.pn ) // never throws
-    {
-    }
-
-    weak_ptr & operator=( weak_ptr const & r ) // never throws
-    {
-        px = r.px;
-        pn = r.pn;
-        return *this;
-    }
-
-#endif
-
-//
-//  The "obvious" converting constructor implementation:
-//
-//  template<class Y>
-//  weak_ptr(weak_ptr<Y> const & r): px(r.px), pn(r.pn) // never throws
-//  {
-//  }
-//
-//  has a serious problem.
-//
-//  r.px may already have been invalidated. The px(r.px)
-//  conversion may require access to *r.px (virtual inheritance).
-//
-//  It is not possible to avoid spurious access violations since
-//  in multithreaded programs r.px may be invalidated at any point.
-//
-
-    template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-    weak_ptr( weak_ptr<Y> const & r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
-
-#else
-
-    weak_ptr( weak_ptr<Y> const & r )
-
-#endif
-    : px(r.lock().get()), pn(r.pn) // never throws
-    {
-    }
-
-#if defined( BOOST_HAS_RVALUE_REFS )
-
-    template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-    weak_ptr( weak_ptr<Y> && r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
-
-#else
-
-    weak_ptr( weak_ptr<Y> && r )
-
-#endif
-    : px( r.lock().get() ), pn( static_cast< boost::detail::weak_count && >( r.pn ) ) // never throws
-    {
-        r.px = 0;
-    }
-
-    // for better efficiency in the T == Y case
-    weak_ptr( weak_ptr && r ): px( r.px ), pn( static_cast< boost::detail::weak_count && >( r.pn ) ) // never throws
-    {
-        r.px = 0;
-    }
-
-    // for better efficiency in the T == Y case
-    weak_ptr & operator=( weak_ptr && r ) // never throws
-    {
-        this_type( static_cast< weak_ptr && >( r ) ).swap( *this );
-        return *this;
-    }
-
-
-#endif
-
-    template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-    weak_ptr( shared_ptr<Y> const & r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
-
-#else
-
-    weak_ptr( shared_ptr<Y> const & r )
-
-#endif
-    : px( r.px ), pn( r.pn ) // never throws
-    {
-    }
-
-#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1300)
-
-    template<class Y>
-    weak_ptr & operator=(weak_ptr<Y> const & r) // never throws
-    {
-        px = r.lock().get();
-        pn = r.pn;
-        return *this;
-    }
-
-#if defined( BOOST_HAS_RVALUE_REFS )
-
-    template<class Y>
-    weak_ptr & operator=( weak_ptr<Y> && r )
-    {
-        this_type( static_cast< weak_ptr<Y> && >( r ) ).swap( *this );
-        return *this;
-    }
-
-#endif
-
-    template<class Y>
-    weak_ptr & operator=(shared_ptr<Y> const & r) // never throws
-    {
-        px = r.px;
-        pn = r.pn;
-        return *this;
-    }
-
-#endif
-
-    shared_ptr<T> lock() const // never throws
-    {
-        return shared_ptr<element_type>( *this, boost::detail::sp_nothrow_tag() );
-    }
-
-    long use_count() const // never throws
-    {
-        return pn.use_count();
-    }
-
-    bool expired() const // never throws
-    {
-        return pn.use_count() == 0;
-    }
-
-    bool _empty() const // extension, not in std::weak_ptr
-    {
-        return pn.empty();
-    }
-
-    void reset() // never throws in 1.30+
-    {
-        this_type().swap(*this);
-    }
-
-    void swap(this_type & other) // never throws
-    {
-        std::swap(px, other.px);
-        pn.swap(other.pn);
-    }
-
-    void _internal_assign(T * px2, boost::detail::shared_count const & pn2)
-    {
-        px = px2;
-        pn = pn2;
-    }
-
-    template<class Y> bool _internal_less(weak_ptr<Y> const & rhs) const
-    {
-        return pn < rhs.pn;
-    }
-
-// Tasteless as this may seem, making all members public allows member templates
-// to work in the absence of member template friends. (Matthew Langston)
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-
-private:
-
-    template<class Y> friend class weak_ptr;
-    template<class Y> friend class shared_ptr;
-
-#endif
-
-    T * px;                       // contained pointer
-    boost::detail::weak_count pn; // reference counter
-
-};  // weak_ptr
-
-template<class T, class U> inline bool operator<(weak_ptr<T> const & a, weak_ptr<U> const & b)
-{
-    return a._internal_less(b);
-}
-
-template<class T> void swap(weak_ptr<T> & a, weak_ptr<T> & b)
-{
-    a.swap(b);
-}
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif    
-
-#endif  // #ifndef BOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/spirit/home/classic/core/assert.hpp b/SRC/Boost/boost/spirit/home/classic/core/assert.hpp
deleted file mode 100755
index 39e9eec..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/assert.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    Copyright (c) 2002-2003 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_ASSERT_HPP)
-#define BOOST_SPIRIT_ASSERT_HPP
-
-#include <boost/config.hpp>
-#include <boost/throw_exception.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  BOOST_SPIRIT_ASSERT is used throughout the framework.  It can be
-//  overridden by the user. If BOOST_SPIRIT_ASSERT_EXCEPTION is defined,
-//  then that will be thrown, otherwise, BOOST_SPIRIT_ASSERT simply turns
-//  into a plain BOOST_ASSERT()
-//
-///////////////////////////////////////////////////////////////////////////////
-#if !defined(BOOST_SPIRIT_ASSERT)
-#if defined(NDEBUG)
-    #define BOOST_SPIRIT_ASSERT(x)
-#elif defined (BOOST_SPIRIT_ASSERT_EXCEPTION)
-    #define BOOST_SPIRIT_ASSERT_AUX(f, l, x) BOOST_SPIRIT_ASSERT_AUX2(f, l, x)
-    #define BOOST_SPIRIT_ASSERT_AUX2(f, l, x)                                   \
-    do{ if (!(x)) boost::throw_exception(                                       \
-        BOOST_SPIRIT_ASSERT_EXCEPTION(f "(" #l "): " #x)); } while(0)
-    #define BOOST_SPIRIT_ASSERT(x) BOOST_SPIRIT_ASSERT_AUX(__FILE__, __LINE__, x)
-#else
-    #include <boost/assert.hpp>
-    #define BOOST_SPIRIT_ASSERT(x) BOOST_ASSERT(x)
-#endif
-#endif // !defined(BOOST_SPIRIT_ASSERT)
-
-#endif // BOOST_SPIRIT_ASSERT_HPP
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/actions.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/actions.hpp
deleted file mode 100755
index 180cfbd..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/actions.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_ACTIONS_HPP
-#define BOOST_SPIRIT_ACTIONS_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#endif
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  action class
-    //
-    //      The action class binds a parser with a user defined semantic
-    //      action. Instances of action are never created manually. Instead,
-    //      action objects are typically created indirectly through
-    //      expression templates of the form:
-    //
-    //          p[f]
-    //
-    //      where p is a parser and f is a function or functor. The semantic
-    //      action may be a function or a functor. When the parser is
-    //      successful, the actor calls the scanner's action_policy policy
-    //      (see scanner.hpp):
-    //
-    //          scan.do_action(actor, attribute, first, last);
-    //
-    //      passing in these information:
-    //
-    //          actor:        The action's function or functor
-    //          attribute:    The match (returned by the parser) object's
-    //                        attribute (see match.hpp)
-    //          first:        Iterator pointing to the start of the matching
-    //                        portion of the input
-    //          last:         Iterator pointing to one past the end of the
-    //                        matching portion of the input
-    //
-    //      It is the responsibility of the scanner's action_policy policy to
-    //      dispatch the function or functor as it sees fit. The expected
-    //      function or functor signature depends on the parser being
-    //      wrapped. In general, if the attribute type of the parser being
-    //      wrapped is a nil_t, the function or functor expect the signature:
-    //
-    //          void func(Iterator first, Iterator last); // functions
-    //
-    //          struct ftor // functors
-    //          {
-    //              void func(Iterator first, Iterator last) const;
-    //          };
-    //
-    //      where Iterator is the type of the iterator that is being used and
-    //      first and last are the iterators pointing to the matching portion
-    //      of the input.
-    //
-    //      If the attribute type of the parser being wrapped is not a nil_t,
-    //      the function or functor usually expect the signature:
-    //
-    //          void func(T val); // functions
-    //
-    //          struct ftor // functors
-    //          {
-    //              void func(T val) const;
-    //          };
-    //
-    //      where T is the attribute type and val is the attribute value
-    //      returned by the parser being wrapped.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename ParserT, typename ActionT>
-    class action : public unary<ParserT, parser<action<ParserT, ActionT> > >
-    {
-    public:
-
-        typedef action<ParserT, ActionT>        self_t;
-        typedef action_parser_category          parser_category_t;
-        typedef unary<ParserT, parser<self_t> > base_t;
-        typedef ActionT                         predicate_t;
-
-        template <typename ScannerT>
-        struct result
-        {
-            typedef typename parser_result<ParserT, ScannerT>::type type;
-        };
-
-        action(ParserT const& p, ActionT const& a)
-        : base_t(p)
-        , actor(a) {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename ScannerT::iterator_t iterator_t;
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-
-            scan.at_end(); // allow skipper to take effect
-            iterator_t save = scan.first;
-            result_t hit = this->subject().parse(scan);
-            if (hit)
-            {
-                typename result_t::return_t val = hit.value();
-                scan.do_action(actor, val, save, scan.first);
-            }
-            return hit;
-        }
-
-        ActionT const& predicate() const { return actor; }
-
-    private:
-
-        ActionT actor;
-    };
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/alternative.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/alternative.hpp
deleted file mode 100755
index a584937..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/alternative.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_ALTERNATIVE_HPP)
-#define BOOST_SPIRIT_ALTERNATIVE_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-#include <boost/spirit/home/classic/meta/as_parser.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  alternative class
-    //
-    //      Handles expressions of the form:
-    //
-    //          a | b
-    //
-    //      where a and b are parsers. The expression returns a composite
-    //      parser that matches a or b. One (not both) of the operands may
-    //      be a literal char, wchar_t or a primitive string char const*,
-    //      wchar_t const*.
-    //
-    //      The expression is short circuit evaluated. b is never touched
-    //      when a is returns a successful match.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct alternative_parser_gen;
-    
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#endif
-
-    template <typename A, typename B>
-    struct alternative
-    :   public binary<A, B, parser<alternative<A, B> > >
-    {
-        typedef alternative<A, B>               self_t;
-        typedef binary_parser_category          parser_category_t;
-        typedef alternative_parser_gen          parser_generator_t;
-        typedef binary<A, B, parser<self_t> >   base_t;
-    
-        alternative(A const& a, B const& b)
-        : base_t(a, b) {}
-    
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            typedef typename ScannerT::iterator_t iterator_t;
-            { // scope for save
-                iterator_t save = scan.first;
-                if (result_t hit = this->left().parse(scan))
-                    return hit;
-                scan.first = save;
-            }
-            return this->right().parse(scan);
-        }
-    };
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
-    
-    struct alternative_parser_gen
-    {
-        template <typename A, typename B>
-        struct result 
-        {
-            typedef 
-                alternative<
-                    typename as_parser<A>::type
-                  , typename as_parser<B>::type
-                > 
-            type;
-        };
-    
-        template <typename A, typename B>
-        static alternative<
-            typename as_parser<A>::type
-          , typename as_parser<B>::type
-        >
-        generate(A const& a, B const& b)
-        {
-            return alternative<BOOST_DEDUCED_TYPENAME as_parser<A>::type,
-                BOOST_DEDUCED_TYPENAME as_parser<B>::type>
-                    (as_parser<A>::convert(a), as_parser<B>::convert(b));
-        }
-    };
-    
-    template <typename A, typename B>
-    alternative<A, B>
-    operator|(parser<A> const& a, parser<B> const& b);
-    
-    template <typename A>
-    alternative<A, chlit<char> >
-    operator|(parser<A> const& a, char b);
-    
-    template <typename B>
-    alternative<chlit<char>, B>
-    operator|(char a, parser<B> const& b);
-    
-    template <typename A>
-    alternative<A, strlit<char const*> >
-    operator|(parser<A> const& a, char const* b);
-    
-    template <typename B>
-    alternative<strlit<char const*>, B>
-    operator|(char const* a, parser<B> const& b);
-    
-    template <typename A>
-    alternative<A, chlit<wchar_t> >
-    operator|(parser<A> const& a, wchar_t b);
-    
-    template <typename B>
-    alternative<chlit<wchar_t>, B>
-    operator|(wchar_t a, parser<B> const& b);
-    
-    template <typename A>
-    alternative<A, strlit<wchar_t const*> >
-    operator|(parser<A> const& a, wchar_t const* b);
-    
-    template <typename B>
-    alternative<strlit<wchar_t const*>, B>
-    operator|(wchar_t const* a, parser<B> const& b);
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/core/composite/impl/alternative.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/composite.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/composite.hpp
deleted file mode 100755
index e65a1f9..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/composite.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_COMPOSITE_HPP)
-#define BOOST_SPIRIT_COMPOSITE_HPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <boost/compressed_pair.hpp>
-#include <boost/spirit/home/classic/namespace.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#endif
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  unary class.
-    //
-    //      Composite class composed of a single subject. This template class
-    //      is parameterized by the subject type S and a base class to
-    //      inherit from, BaseT. The unary class is meant to be a base class
-    //      to inherit from. The inheritance structure, given the BaseT
-    //      template parameter places the unary class in the middle of a
-    //      linear, single parent hierarchy. For instance, given a class S
-    //      and a base class B, a class D can derive from unary:
-    //
-    //          struct D : public unary<S, B> {...};
-    //
-    //      The inheritance structure is thus:
-    //
-    //            B
-    //            |
-    //          unary (has S)
-    //            |
-    //            D
-    //
-    //      The subject can be accessed from the derived class D as:
-    //      this->subject();
-    //
-    //      Typically, the subject S is specified as typename S::embed_t.
-    //      embed_t specifies how the subject is embedded in the composite
-    //      (See parser.hpp for details).
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename S, typename BaseT>
-    class unary : public BaseT
-    {
-    public:
-
-        typedef BaseT                                           base_t;
-        typedef typename boost::call_traits<S>::param_type      param_t;
-        typedef typename boost::call_traits<S>::const_reference return_t;
-        typedef S                                               subject_t;
-        typedef typename S::embed_t                             subject_embed_t;
-
-        unary(param_t subj_)
-        : base_t(), subj(subj_) {}
-
-        unary(BaseT const& base, param_t subj_)
-        : base_t(base), subj(subj_) {}
-
-        return_t
-        subject() const
-        { return subj; }
-
-    private:
-
-        subject_embed_t subj;
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  binary class.
-    //
-    //      Composite class composed of a pair (left and right). This
-    //      template class is parameterized by the left and right subject
-    //      types A and B and a base class to inherit from, BaseT. The binary
-    //      class is meant to be a base class to inherit from. The
-    //      inheritance structure, given the BaseT template parameter places
-    //      the binary class in the middle of a linear, single parent
-    //      hierarchy. For instance, given classes X and Y and a base class
-    //      B, a class D can derive from binary:
-    //
-    //          struct D : public binary<X, Y, B> {...};
-    //
-    //      The inheritance structure is thus:
-    //
-    //            B
-    //            |
-    //          binary (has X and Y)
-    //            |
-    //            D
-    //
-    //      The left and right subjects can be accessed from the derived
-    //      class D as: this->left(); and this->right();
-    //
-    //      Typically, the pairs X and Y are specified as typename X::embed_t
-    //      and typename Y::embed_t. embed_t specifies how the subject is
-    //      embedded in the composite (See parser.hpp for details).
-    //
-    ///////////////////////////////////////////////////////////////////////////////
-    template <typename A, typename B, typename BaseT>
-    class binary : public BaseT
-    {
-    public:
-
-        typedef BaseT                                           base_t;
-        typedef typename boost::call_traits<A>::param_type      left_param_t;
-        typedef typename boost::call_traits<A>::const_reference left_return_t;
-        typedef typename boost::call_traits<B>::param_type      right_param_t;
-        typedef typename boost::call_traits<B>::const_reference right_return_t;
-        typedef A                                               left_t;
-        typedef typename A::embed_t                             left_embed_t;
-        typedef B                                               right_t;
-        typedef typename B::embed_t                             right_embed_t;
-
-        binary(left_param_t a, right_param_t b)
-        : base_t(), subj(a, b) {}
-
-        left_return_t
-        left() const
-        { return subj.first(); }
-
-        right_return_t
-        right() const
-        { return subj.second(); }
-
-    private:
-
-        boost::compressed_pair<left_embed_t, right_embed_t> subj;
-    };
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/difference.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/difference.hpp
deleted file mode 100755
index 2edab7c..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/difference.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_DIFFERENCE_HPP)
-#define BOOST_SPIRIT_DIFFERENCE_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-#include <boost/spirit/home/classic/meta/as_parser.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  difference: a - b; Matches a but not b
-    //
-    //      Handles expressions of the form:
-    //
-    //          a - b
-    //
-    //      where a and b are parsers. The expression returns a composite
-    //      parser that matches a but not b. One (not both) of the operands
-    //      may be a literal char, wchar_t or a primitive string char const*,
-    //      wchar_t const*.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct difference_parser_gen;
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#endif
-
-    template <typename A, typename B>
-    struct difference
-    :   public binary<A, B, parser<difference<A, B> > >
-    {
-        typedef difference<A, B>                self_t;
-        typedef binary_parser_category          parser_category_t;
-        typedef difference_parser_gen           parser_generator_t;
-        typedef binary<A, B, parser<self_t> >   base_t;
-    
-        difference(A const& a, B const& b)
-        : base_t(a, b) {}
-    
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            typedef typename ScannerT::iterator_t iterator_t;
-            iterator_t save = scan.first;
-            if (result_t hl = this->left().parse(scan))
-            {
-                std::swap(save, scan.first);
-                result_t hr = this->right().parse(scan);
-                if (!hr || (hr.length() < hl.length()))
-                {
-                    scan.first = save;
-                    return hl;
-                }
-            }
-    
-            return scan.no_match();
-        }
-    };
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
-    
-    struct difference_parser_gen
-    {
-        template <typename A, typename B>
-        struct result 
-        {
-            typedef 
-                difference<
-                    typename as_parser<A>::type
-                  , typename as_parser<B>::type
-                > 
-            type;
-        };
-    
-        template <typename A, typename B>
-        static difference<
-            typename as_parser<A>::type
-          , typename as_parser<B>::type
-        >
-        generate(A const& a, B const& b)
-        {
-            return difference<BOOST_DEDUCED_TYPENAME as_parser<A>::type,
-                BOOST_DEDUCED_TYPENAME as_parser<B>::type>
-                    (as_parser<A>::convert(a), as_parser<B>::convert(b));
-        }
-    };
-    
-    template <typename A, typename B>
-    difference<A, B>
-    operator-(parser<A> const& a, parser<B> const& b);
-    
-    template <typename A>
-    difference<A, chlit<char> >
-    operator-(parser<A> const& a, char b);
-    
-    template <typename B>
-    difference<chlit<char>, B>
-    operator-(char a, parser<B> const& b);
-    
-    template <typename A>
-    difference<A, strlit<char const*> >
-    operator-(parser<A> const& a, char const* b);
-    
-    template <typename B>
-    difference<strlit<char const*>, B>
-    operator-(char const* a, parser<B> const& b);
-    
-    template <typename A>
-    difference<A, chlit<wchar_t> >
-    operator-(parser<A> const& a, wchar_t b);
-    
-    template <typename B>
-    difference<chlit<wchar_t>, B>
-    operator-(wchar_t a, parser<B> const& b);
-    
-    template <typename A>
-    difference<A, strlit<wchar_t const*> >
-    operator-(parser<A> const& a, wchar_t const* b);
-    
-    template <typename B>
-    difference<strlit<wchar_t const*>, B>
-    operator-(wchar_t const* a, parser<B> const& b);
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/core/composite/impl/difference.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/directives.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/directives.hpp
deleted file mode 100755
index 9cbf995..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/directives.hpp
+++ /dev/null
@@ -1,607 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_DIRECTIVES_HPP)
-#define BOOST_SPIRIT_DIRECTIVES_HPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <algorithm>
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/scanner/skipper.hpp> 
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-#include <boost/spirit/home/classic/core/composite/impl/directives.ipp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  contiguous class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct lexeme_parser_gen;
-
-    template <typename ParserT>
-    struct contiguous
-    :   public unary<ParserT, parser<contiguous<ParserT> > >
-    {
-        typedef contiguous<ParserT>             self_t;
-        typedef unary_parser_category           parser_category_t;
-        typedef lexeme_parser_gen               parser_generator_t;
-        typedef unary<ParserT, parser<self_t> > base_t;
-
-        template <typename ScannerT>
-        struct result
-        {
-            typedef typename parser_result<ParserT, ScannerT>::type type;
-        };
-
-        contiguous(ParserT const& p)
-        : base_t(p) {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            return impl::contiguous_parser_parse<result_t>
-                (this->subject(), scan, scan);
-        }
-    };
-
-    struct lexeme_parser_gen
-    {
-        template <typename ParserT>
-        struct result {
-
-            typedef contiguous<ParserT> type;
-        };
-
-        template <typename ParserT>
-        static contiguous<ParserT>
-        generate(parser<ParserT> const& subject)
-        {
-            return contiguous<ParserT>(subject.derived());
-        }
-
-        template <typename ParserT>
-        contiguous<ParserT>
-        operator[](parser<ParserT> const& subject) const
-        {
-            return contiguous<ParserT>(subject.derived());
-        }
-    };
-
-    //////////////////////////////////
-    const lexeme_parser_gen lexeme_d = lexeme_parser_gen();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  lexeme_scanner
-    //
-    //      Given a Scanner, return the correct scanner type that
-    //      the lexeme_d uses. Scanner is assumed to be a phrase
-    //      level scanner (see skipper.hpp)
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename ScannerT>
-    struct lexeme_scanner
-    {
-        typedef scanner_policies<
-            no_skipper_iteration_policy<
-                typename ScannerT::iteration_policy_t>,
-            typename ScannerT::match_policy_t,
-            typename ScannerT::action_policy_t
-        > policies_t;
-
-        typedef typename
-            rebind_scanner_policies<ScannerT, policies_t>::type type;
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  inhibit_case_iteration_policy class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename BaseT>
-    struct inhibit_case_iteration_policy : public BaseT
-    {
-        typedef BaseT base_t;
-
-        inhibit_case_iteration_policy()
-        : BaseT() {}
-
-        template <typename PolicyT>
-        inhibit_case_iteration_policy(PolicyT const& other)
-        : BaseT(other) {}
-
-        template <typename CharT>
-        CharT filter(CharT ch) const
-        { return impl::tolower_(ch); }
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  inhibit_case class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct inhibit_case_parser_gen;
-
-    template <typename ParserT>
-    struct inhibit_case
-    :   public unary<ParserT, parser<inhibit_case<ParserT> > >
-    {
-        typedef inhibit_case<ParserT>           self_t;
-        typedef unary_parser_category           parser_category_t;
-        typedef inhibit_case_parser_gen         parser_generator_t;
-        typedef unary<ParserT, parser<self_t> > base_t;
-
-        template <typename ScannerT>
-        struct result
-        {
-            typedef typename parser_result<ParserT, ScannerT>::type type;
-        };
-
-        inhibit_case(ParserT const& p)
-        : base_t(p) {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            return impl::inhibit_case_parser_parse<result_t>
-                (this->subject(), scan, scan);
-        }
-    };
-
-    template <int N>
-    struct inhibit_case_parser_gen_base
-    {
-        //  This hack is needed to make borland happy.
-        //  If these member operators were defined in the
-        //  inhibit_case_parser_gen class, or if this class
-        //  is non-templated, borland ICEs.
-
-        static inhibit_case<strlit<char const*> >
-        generate(char const* str)
-        { return inhibit_case<strlit<char const*> >(str); }
-
-        static inhibit_case<strlit<wchar_t const*> >
-        generate(wchar_t const* str)
-        { return inhibit_case<strlit<wchar_t const*> >(str); }
-
-        static inhibit_case<chlit<char> >
-        generate(char ch)
-        { return inhibit_case<chlit<char> >(ch); }
-
-        static inhibit_case<chlit<wchar_t> >
-        generate(wchar_t ch)
-        { return inhibit_case<chlit<wchar_t> >(ch); }
-
-        template <typename ParserT>
-        static inhibit_case<ParserT>
-        generate(parser<ParserT> const& subject)
-        { return inhibit_case<ParserT>(subject.derived()); }
-
-        inhibit_case<strlit<char const*> >
-        operator[](char const* str) const
-        { return inhibit_case<strlit<char const*> >(str); }
-
-        inhibit_case<strlit<wchar_t const*> >
-        operator[](wchar_t const* str) const
-        { return inhibit_case<strlit<wchar_t const*> >(str); }
-
-        inhibit_case<chlit<char> >
-        operator[](char ch) const
-        { return inhibit_case<chlit<char> >(ch); }
-
-        inhibit_case<chlit<wchar_t> >
-        operator[](wchar_t ch) const
-        { return inhibit_case<chlit<wchar_t> >(ch); }
-
-        template <typename ParserT>
-        inhibit_case<ParserT>
-        operator[](parser<ParserT> const& subject) const
-        { return inhibit_case<ParserT>(subject.derived()); }
-    };
-
-    //////////////////////////////////
-    struct inhibit_case_parser_gen : public inhibit_case_parser_gen_base<0>
-    {
-        inhibit_case_parser_gen() {}
-    };
-
-    //////////////////////////////////
-    //  Depracated
-    const inhibit_case_parser_gen nocase_d = inhibit_case_parser_gen();
-
-    //  Preferred syntax
-    const inhibit_case_parser_gen as_lower_d = inhibit_case_parser_gen();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  as_lower_scanner
-    //
-    //      Given a Scanner, return the correct scanner type that
-    //      the as_lower_d uses. Scanner is assumed to be a scanner
-    //      with an inhibit_case_iteration_policy.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename ScannerT>
-    struct as_lower_scanner
-    {
-        typedef scanner_policies<
-            inhibit_case_iteration_policy<
-                typename ScannerT::iteration_policy_t>,
-            typename ScannerT::match_policy_t,
-            typename ScannerT::action_policy_t
-        > policies_t;
-
-        typedef typename
-            rebind_scanner_policies<ScannerT, policies_t>::type type;
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  longest_alternative class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct longest_parser_gen;
-
-    template <typename A, typename B>
-    struct longest_alternative
-    :   public binary<A, B, parser<longest_alternative<A, B> > >
-    {
-        typedef longest_alternative<A, B>       self_t;
-        typedef binary_parser_category          parser_category_t;
-        typedef longest_parser_gen              parser_generator_t;
-        typedef binary<A, B, parser<self_t> >   base_t;
-
-        longest_alternative(A const& a, B const& b)
-        : base_t(a, b) {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            typename ScannerT::iterator_t save = scan.first;
-            result_t l = this->left().parse(scan);
-            std::swap(scan.first, save);
-            result_t r = this->right().parse(scan);
-
-            if (l || r)
-            {
-                if (l.length() > r.length())
-                {
-                    scan.first = save;
-                    return l;
-                }
-                return r;
-            }
-
-            return scan.no_match();
-        }
-    };
-
-    struct longest_parser_gen
-    {
-        template <typename A, typename B>
-        struct result {
-
-            typedef typename
-                impl::to_longest_alternative<alternative<A, B> >::result_t
-            type;
-        };
-
-        template <typename A, typename B>
-        static typename
-        impl::to_longest_alternative<alternative<A, B> >::result_t
-        generate(alternative<A, B> const& alt)
-        {
-            return impl::to_longest_alternative<alternative<A, B> >::
-                convert(alt);
-        }
-
-        //'generate' for binary composite
-        template <typename A, typename B>
-        static
-        longest_alternative<A, B>
-        generate(A const &left, B const &right)
-        {
-            return longest_alternative<A, B>(left, right);
-        }
-
-        template <typename A, typename B>
-        typename impl::to_longest_alternative<alternative<A, B> >::result_t
-        operator[](alternative<A, B> const& alt) const
-        {
-            return impl::to_longest_alternative<alternative<A, B> >::
-                convert(alt);
-        }
-    };
-
-    const longest_parser_gen longest_d = longest_parser_gen();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  shortest_alternative class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct shortest_parser_gen;
-
-    template <typename A, typename B>
-    struct shortest_alternative
-    :   public binary<A, B, parser<shortest_alternative<A, B> > >
-    {
-        typedef shortest_alternative<A, B>      self_t;
-        typedef binary_parser_category          parser_category_t;
-        typedef shortest_parser_gen             parser_generator_t;
-        typedef binary<A, B, parser<self_t> >   base_t;
-
-        shortest_alternative(A const& a, B const& b)
-        : base_t(a, b) {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            typename ScannerT::iterator_t save = scan.first;
-            result_t l = this->left().parse(scan);
-            std::swap(scan.first, save);
-            result_t r = this->right().parse(scan);
-
-            if (l || r)
-            {
-                if ((l.length() < r.length() && l) || !r)
-                {
-                    scan.first = save;
-                    return l;
-                }
-                return r;
-            }
-
-            return scan.no_match();
-        }
-    };
-
-    struct shortest_parser_gen
-    {
-        template <typename A, typename B>
-        struct result {
-
-            typedef typename
-                impl::to_shortest_alternative<alternative<A, B> >::result_t
-            type;
-        };
-
-        template <typename A, typename B>
-        static typename
-        impl::to_shortest_alternative<alternative<A, B> >::result_t
-        generate(alternative<A, B> const& alt)
-        {
-            return impl::to_shortest_alternative<alternative<A, B> >::
-                convert(alt);
-        }
-
-        //'generate' for binary composite
-        template <typename A, typename B>
-        static
-        shortest_alternative<A, B>
-        generate(A const &left, B const &right)
-        {
-            return shortest_alternative<A, B>(left, right);
-        }
-
-        template <typename A, typename B>
-        typename impl::to_shortest_alternative<alternative<A, B> >::result_t
-        operator[](alternative<A, B> const& alt) const
-        {
-            return impl::to_shortest_alternative<alternative<A, B> >::
-                convert(alt);
-        }
-    };
-
-    const shortest_parser_gen shortest_d = shortest_parser_gen();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  min_bounded class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename BoundsT>
-    struct min_bounded_gen;
-
-    template <typename ParserT, typename BoundsT>
-    struct min_bounded
-    :   public unary<ParserT, parser<min_bounded<ParserT, BoundsT> > >
-    {
-        typedef min_bounded<ParserT, BoundsT>   self_t;
-        typedef unary_parser_category           parser_category_t;
-        typedef min_bounded_gen<BoundsT>        parser_generator_t;
-        typedef unary<ParserT, parser<self_t> > base_t;
-
-        template <typename ScannerT>
-        struct result
-        {
-            typedef typename parser_result<ParserT, ScannerT>::type type;
-        };
-
-        min_bounded(ParserT const& p, BoundsT const& min__)
-        : base_t(p)
-        , min_(min__) {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            result_t hit = this->subject().parse(scan);
-            if (hit.has_valid_attribute() && hit.value() < min_)
-                return scan.no_match();
-            return hit;
-        }
-
-        BoundsT min_;
-    };
-
-    template <typename BoundsT>
-    struct min_bounded_gen
-    {
-        min_bounded_gen(BoundsT const& min__)
-        : min_(min__) {}
-
-        template <typename DerivedT>
-        min_bounded<DerivedT, BoundsT>
-        operator[](parser<DerivedT> const& p) const
-        { return min_bounded<DerivedT, BoundsT>(p.derived(), min_); }
-
-        BoundsT min_;
-    };
-
-    template <typename BoundsT>
-    inline min_bounded_gen<BoundsT>
-    min_limit_d(BoundsT const& min_)
-    { return min_bounded_gen<BoundsT>(min_); }
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  max_bounded class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename BoundsT>
-    struct max_bounded_gen;
-
-    template <typename ParserT, typename BoundsT>
-    struct max_bounded
-    :   public unary<ParserT, parser<max_bounded<ParserT, BoundsT> > >
-    {
-        typedef max_bounded<ParserT, BoundsT>   self_t;
-        typedef unary_parser_category           parser_category_t;
-        typedef max_bounded_gen<BoundsT>        parser_generator_t;
-        typedef unary<ParserT, parser<self_t> > base_t;
-
-        template <typename ScannerT>
-        struct result
-        {
-            typedef typename parser_result<ParserT, ScannerT>::type type;
-        };
-
-        max_bounded(ParserT const& p, BoundsT const& max__)
-        : base_t(p)
-        , max_(max__) {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            result_t hit = this->subject().parse(scan);
-            if (hit.has_valid_attribute() && hit.value() > max_)
-                return scan.no_match();
-            return hit;
-        }
-
-        BoundsT max_;
-    };
-
-    template <typename BoundsT>
-    struct max_bounded_gen
-    {
-        max_bounded_gen(BoundsT const& max__)
-        : max_(max__) {}
-
-        template <typename DerivedT>
-        max_bounded<DerivedT, BoundsT>
-        operator[](parser<DerivedT> const& p) const
-        { return max_bounded<DerivedT, BoundsT>(p.derived(), max_); }
-
-        BoundsT max_;
-    };
-
-    //////////////////////////////////
-    template <typename BoundsT>
-    inline max_bounded_gen<BoundsT>
-    max_limit_d(BoundsT const& max_)
-    { return max_bounded_gen<BoundsT>(max_); }
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  bounded class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename BoundsT>
-    struct bounded_gen;
-
-    template <typename ParserT, typename BoundsT>
-    struct bounded
-    :   public unary<ParserT, parser<bounded<ParserT, BoundsT> > >
-    {
-        typedef bounded<ParserT, BoundsT>       self_t;
-        typedef unary_parser_category           parser_category_t;
-        typedef bounded_gen<BoundsT>            parser_generator_t;
-        typedef unary<ParserT, parser<self_t> > base_t;
-
-        template <typename ScannerT>
-        struct result
-        {
-            typedef typename parser_result<ParserT, ScannerT>::type type;
-        };
-
-        bounded(ParserT const& p, BoundsT const& min__, BoundsT const& max__)
-        : base_t(p)
-        , min_(min__)
-        , max_(max__) {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            result_t hit = this->subject().parse(scan);
-            if (hit.has_valid_attribute() &&
-                (hit.value() < min_ || hit.value() > max_))
-                    return scan.no_match();
-            return hit;
-        }
-
-        BoundsT min_, max_;
-    };
-
-    template <typename BoundsT>
-    struct bounded_gen
-    {
-        bounded_gen(BoundsT const& min__, BoundsT const& max__)
-        : min_(min__)
-        , max_(max__) {}
-
-        template <typename DerivedT>
-        bounded<DerivedT, BoundsT>
-        operator[](parser<DerivedT> const& p) const
-        { return bounded<DerivedT, BoundsT>(p.derived(), min_, max_); }
-
-        BoundsT min_, max_;
-    };
-
-    template <typename BoundsT>
-    inline bounded_gen<BoundsT>
-    limit_d(BoundsT const& min_, BoundsT const& max_)
-    { return bounded_gen<BoundsT>(min_, max_); }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/exclusive_or.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/exclusive_or.hpp
deleted file mode 100755
index fab569e..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/exclusive_or.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_EXCLUSIVE_OR_HPP)
-#define BOOST_SPIRIT_EXCLUSIVE_OR_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-#include <boost/spirit/home/classic/meta/as_parser.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  exclusive_or class
-    //
-    //      Handles expressions of the form:
-    //
-    //          a ^ b
-    //
-    //      where a and b are parsers. The expression returns a composite
-    //      parser that matches a or b but not both. One (not both) of the
-    //      operands may be a literal char, wchar_t or a primitive string
-    //      char const*, wchar_t const*.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct exclusive_or_parser_gen;
-
-    template <typename A, typename B>
-    struct exclusive_or
-    :   public binary<A, B, parser<exclusive_or<A, B> > >
-    {
-        typedef exclusive_or<A, B>              self_t;
-        typedef binary_parser_category          parser_category_t;
-        typedef exclusive_or_parser_gen         parser_generator_t;
-        typedef binary<A, B, parser<self_t> >   base_t;
-
-        exclusive_or(A const& a, B const& b)
-        : base_t(a, b) {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            typedef typename ScannerT::iterator_t iterator_t;
-
-            iterator_t save = scan.first;
-            result_t l = this->left().parse(scan);
-            std::swap(save, scan.first);
-            result_t r = this->right().parse(scan);
-
-            if (l ? !bool(r) : bool(r))
-            {
-                if (l)
-                    scan.first = save;
-                return l ? l : r;
-            }
-
-            return scan.no_match();
-        }
-    };
-
-    struct exclusive_or_parser_gen
-    {
-        template <typename A, typename B>
-        struct result
-        {
-            typedef
-                exclusive_or<
-                    typename as_parser<A>::type
-                  , typename as_parser<B>::type
-                >
-            type;
-        };
-
-        template <typename A, typename B>
-        static exclusive_or<
-            typename as_parser<A>::type
-          , typename as_parser<B>::type
-        >
-        generate(A const& a, B const& b)
-        {
-            return exclusive_or<BOOST_DEDUCED_TYPENAME as_parser<A>::type,
-                BOOST_DEDUCED_TYPENAME as_parser<B>::type>
-                    (as_parser<A>::convert(a), as_parser<B>::convert(b));
-        }
-    };
-
-    template <typename A, typename B>
-    exclusive_or<A, B>
-    operator^(parser<A> const& a, parser<B> const& b);
-
-    template <typename A>
-    exclusive_or<A, chlit<char> >
-    operator^(parser<A> const& a, char b);
-
-    template <typename B>
-    exclusive_or<chlit<char>, B>
-    operator^(char a, parser<B> const& b);
-
-    template <typename A>
-    exclusive_or<A, strlit<char const*> >
-    operator^(parser<A> const& a, char const* b);
-
-    template <typename B>
-    exclusive_or<strlit<char const*>, B>
-    operator^(char const* a, parser<B> const& b);
-
-    template <typename A>
-    exclusive_or<A, chlit<wchar_t> >
-    operator^(parser<A> const& a, wchar_t b);
-
-    template <typename B>
-    exclusive_or<chlit<wchar_t>, B>
-    operator^(wchar_t a, parser<B> const& b);
-
-    template <typename A>
-    exclusive_or<A, strlit<wchar_t const*> >
-    operator^(parser<A> const& a, wchar_t const* b);
-
-    template <typename B>
-    exclusive_or<strlit<wchar_t const*>, B>
-    operator^(wchar_t const* a, parser<B> const& b);
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/core/composite/impl/exclusive_or.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/alternative.ipp b/SRC/Boost/boost/spirit/home/classic/core/composite/impl/alternative.ipp
deleted file mode 100755
index 77c9fec..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/alternative.ipp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_ALTERNATIVE_IPP)
-#define BOOST_SPIRIT_ALTERNATIVE_IPP
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  alternative class implementation
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename A, typename B>
-    inline alternative<A, B>
-    operator|(parser<A> const& a, parser<B> const& b)
-    {
-        return alternative<A, B>(a.derived(), b.derived());
-    }
-    
-    template <typename A>
-    inline alternative<A, chlit<char> >
-    operator|(parser<A> const& a, char b)
-    {
-        return alternative<A, chlit<char> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline alternative<chlit<char>, B>
-    operator|(char a, parser<B> const& b)
-    {
-        return alternative<chlit<char>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline alternative<A, strlit<char const*> >
-    operator|(parser<A> const& a, char const* b)
-    {
-        return alternative<A, strlit<char const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline alternative<strlit<char const*>, B>
-    operator|(char const* a, parser<B> const& b)
-    {
-        return alternative<strlit<char const*>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline alternative<A, chlit<wchar_t> >
-    operator|(parser<A> const& a, wchar_t b)
-    {
-        return alternative<A, chlit<wchar_t> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline alternative<chlit<wchar_t>, B>
-    operator|(wchar_t a, parser<B> const& b)
-    {
-        return alternative<chlit<wchar_t>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline alternative<A, strlit<wchar_t const*> >
-    operator|(parser<A> const& a, wchar_t const* b)
-    {
-        return alternative<A, strlit<wchar_t const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline alternative<strlit<wchar_t const*>, B>
-    operator|(wchar_t const* a, parser<B> const& b)
-    {
-        return alternative<strlit<wchar_t const*>, B>(a, b.derived());
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/difference.ipp b/SRC/Boost/boost/spirit/home/classic/core/composite/impl/difference.ipp
deleted file mode 100755
index 9168e34..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/difference.ipp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_DIFFERENCE_IPP)
-#define BOOST_SPIRIT_DIFFERENCE_IPP
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  difference class implementation
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename A, typename B>
-    inline difference<A, B>
-    operator-(parser<A> const& a, parser<B> const& b)
-    {
-        return difference<A, B>(a.derived(), b.derived());
-    }
-    
-    template <typename A>
-    inline difference<A, chlit<char> >
-    operator-(parser<A> const& a, char b)
-    {
-        return difference<A, chlit<char> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline difference<chlit<char>, B>
-    operator-(char a, parser<B> const& b)
-    {
-        return difference<chlit<char>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline difference<A, strlit<char const*> >
-    operator-(parser<A> const& a, char const* b)
-    {
-        return difference<A, strlit<char const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline difference<strlit<char const*>, B>
-    operator-(char const* a, parser<B> const& b)
-    {
-        return difference<strlit<char const*>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline difference<A, chlit<wchar_t> >
-    operator-(parser<A> const& a, wchar_t b)
-    {
-        return difference<A, chlit<wchar_t> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline difference<chlit<wchar_t>, B>
-    operator-(wchar_t a, parser<B> const& b)
-    {
-        return difference<chlit<wchar_t>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline difference<A, strlit<wchar_t const*> >
-    operator-(parser<A> const& a, wchar_t const* b)
-    {
-        return difference<A, strlit<wchar_t const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline difference<strlit<wchar_t const*>, B>
-    operator-(wchar_t const* a, parser<B> const& b)
-    {
-        return difference<strlit<wchar_t const*>, B>(a, b.derived());
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/directives.ipp b/SRC/Boost/boost/spirit/home/classic/core/composite/impl/directives.ipp
deleted file mode 100755
index 913eb4f..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/directives.ipp
+++ /dev/null
@@ -1,374 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2001 Bruce Florman
-    Copyright (c) 2002 Raghavendra Satish
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_DIRECTIVES_IPP)
-#define BOOST_SPIRIT_DIRECTIVES_IPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <boost/spirit/home/classic/core/scanner/skipper.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    template <typename BaseT>
-    struct no_skipper_iteration_policy;
-
-    template <typename BaseT>
-    struct inhibit_case_iteration_policy;
-
-    template <typename A, typename B>
-    struct alternative;
-
-    template <typename A, typename B>
-    struct longest_alternative;
-
-    template <typename A, typename B>
-    struct shortest_alternative;
-
-    namespace impl
-    {
-        template <typename RT, typename ST, typename ScannerT, typename BaseT>
-        inline RT
-        contiguous_parser_parse(
-            ST const& s,
-            ScannerT const& scan,
-            skipper_iteration_policy<BaseT> const&)
-        {
-            typedef scanner_policies<
-                no_skipper_iteration_policy<
-                    BOOST_DEDUCED_TYPENAME ScannerT::iteration_policy_t>,
-                BOOST_DEDUCED_TYPENAME ScannerT::match_policy_t,
-                BOOST_DEDUCED_TYPENAME ScannerT::action_policy_t
-            > policies_t;
-
-            scan.skip(scan);
-            RT hit = s.parse(scan.change_policies(policies_t(scan)));
-            // We will not do a post skip!!!
-            return hit;
-        }
-
-        template <typename RT, typename ST, typename ScannerT, typename BaseT>
-        inline RT
-        contiguous_parser_parse(
-            ST const& s,
-            ScannerT const& scan,
-            no_skipper_iteration_policy<BaseT> const&)
-        {
-            return s.parse(scan);
-        }
-
-        template <typename RT, typename ST, typename ScannerT>
-        inline RT
-        contiguous_parser_parse(
-            ST const& s,
-            ScannerT const& scan,
-            iteration_policy const&)
-        {
-            return s.parse(scan);
-        }
-
-        template <
-            typename RT,
-            typename ParserT,
-            typename ScannerT,
-            typename BaseT>
-        inline RT
-        implicit_lexeme_parse(
-            ParserT const& p,
-            ScannerT const& scan,
-            skipper_iteration_policy<BaseT> const&)
-        {
-            typedef scanner_policies<
-                no_skipper_iteration_policy<
-                    BOOST_DEDUCED_TYPENAME ScannerT::iteration_policy_t>,
-                BOOST_DEDUCED_TYPENAME ScannerT::match_policy_t,
-                BOOST_DEDUCED_TYPENAME ScannerT::action_policy_t
-            > policies_t;
-
-            scan.skip(scan);
-            RT hit = p.parse_main(scan.change_policies(policies_t(scan)));
-            // We will not do a post skip!!!
-            return hit;
-        }
-
-        template <
-            typename RT,
-            typename ParserT,
-            typename ScannerT,
-            typename BaseT>
-        inline RT
-        implicit_lexeme_parse(
-            ParserT const& p,
-            ScannerT const& scan,
-            no_skipper_iteration_policy<BaseT> const&)
-        {
-            return p.parse_main(scan);
-        }
-
-        template <typename RT, typename ParserT, typename ScannerT>
-        inline RT
-        implicit_lexeme_parse(
-            ParserT const& p,
-            ScannerT const& scan,
-            iteration_policy const&)
-        {
-            return p.parse_main(scan);
-        }
-
-        template <typename RT, typename ST, typename ScannerT>
-        inline RT
-        inhibit_case_parser_parse(
-            ST const& s,
-            ScannerT const& scan,
-            iteration_policy const&)
-        {
-            typedef scanner_policies<
-                inhibit_case_iteration_policy<
-                    BOOST_DEDUCED_TYPENAME ScannerT::iteration_policy_t>,
-                BOOST_DEDUCED_TYPENAME ScannerT::match_policy_t,
-                BOOST_DEDUCED_TYPENAME ScannerT::action_policy_t
-            > policies_t;
-
-            return s.parse(scan.change_policies(policies_t(scan)));
-        }
-
-        template <typename RT, typename ST, typename ScannerT, typename BaseT>
-        inline RT
-        inhibit_case_parser_parse(
-            ST const& s,
-            ScannerT const& scan,
-            inhibit_case_iteration_policy<BaseT> const&)
-        {
-            return s.parse(scan);
-        }
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  from spirit 1.1 (copyright (c) 2001 Bruce Florman)
-        //  various workarounds to support longest and shortest directives
-        //
-        ///////////////////////////////////////////////////////////////////////
-        template <typename T>
-        struct is_alternative
-        {
-        //  Determine at compile time (without partial specialization)
-        //  whether a given type is an instance of the alternative<A,B>
-
-            static T t();
-            template <typename A, typename B>
-            static char test_(alternative<A, B> const&);    // no implementation
-            static int  test_(...);                         // no implementation
-            enum { r = sizeof(char) == sizeof(test_(t())) };
-            typedef mpl::bool_<r> value;
-        };
-
-        template <typename T> struct select_to_longest;
-
-        template <typename T>
-        struct to_longest_alternative
-        {
-            typedef typename select_to_longest<T>::result_t result_t;
-            typedef typename select_to_longest<T>::plain_t  plain_t;
-            typedef typename select_to_longest<T>::choose_t choose_t;
-            static result_t convert(T const& a);
-        };
-
-        template <typename T>
-        struct to_longest_generic
-        {
-            typedef T const&        result_t;
-            typedef T               plain_t;
-            typedef mpl::false_    choose_t;
-        };
-
-        template <typename T>
-        inline T const&
-        to_longest_convert(T const& a, mpl::false_)
-        { return a; }
-
-        template <typename T>
-        struct to_longest_recursive
-        {
-            typedef typename to_longest_alternative<
-                typename T::left_t>::plain_t    a_t;
-            typedef typename to_longest_alternative<
-                typename T::right_t>::plain_t   b_t;
-
-            typedef longest_alternative<a_t, b_t>   result_t;
-
-            typedef result_t    plain_t;
-            typedef mpl::true_ choose_t;
-        };
-
-        template <typename A, typename B>
-        inline typename to_longest_alternative<alternative<A, B> >::result_t
-        to_longest_convert(alternative<A, B> const& alt, mpl::true_)
-        {
-            typedef typename to_longest_alternative<
-                alternative<A, B> >::result_t result_t;
-            return result_t(
-                to_longest_alternative<A>::convert(alt.left()),
-                to_longest_alternative<B>::convert(alt.right()));
-        }
-
-        template <typename T>
-        inline typename to_longest_alternative<T>::result_t
-        to_longest_alternative<T>::convert(T const& a)
-        {
-            return to_longest_convert(
-                a, to_longest_alternative<T>::choose_t());
-        }
-
-        template <typename T>
-        struct select_to_longest
-        {
-            typedef typename mpl::if_<
-                is_alternative<T>           //  IF
-                , to_longest_recursive<T>   //  THEN
-                , to_longest_generic<T>     //  ELSE
-            >::type type;
-
-            typedef typename select_to_longest::type::result_t result_t;
-            typedef typename select_to_longest::type::plain_t  plain_t;
-            typedef typename select_to_longest::type::choose_t choose_t;
-        };
-
-        template <typename T> struct select_to_shortest;
-
-        template <typename T>
-        struct to_shortest_alternative
-        {
-            typedef typename select_to_shortest<T>::result_t    result_t;
-            typedef typename select_to_shortest<T>::plain_t     plain_t;
-            typedef typename select_to_shortest<T>::choose_t    choose_t;
-            static result_t convert(T const& a);
-        };
-
-        template <typename T>
-        struct to_shortest_generic
-        {
-            typedef T const&        result_t;
-            typedef T               plain_t;
-            typedef mpl::false_    choose_t;
-        };
-
-        template <typename T>
-        inline T const&
-        to_shortest_convert(T const& a, mpl::false_) { return a; }
-
-        template <typename T>
-        struct to_shortest_recursive
-        {
-            typedef typename to_shortest_alternative<
-                typename T::left_t>::plain_t    a_t;
-            typedef typename to_shortest_alternative<
-                typename T::right_t>::plain_t   b_t;
-
-            typedef shortest_alternative<a_t, b_t>  result_t;
-
-            typedef result_t        plain_t;
-            typedef mpl::true_     choose_t;
-        };
-
-        template <typename A, typename B>
-        inline typename to_shortest_alternative<alternative<A, B> >::result_t
-        to_shortest_convert(alternative<A, B> const& alt, mpl::true_)
-        {
-            typedef typename to_shortest_alternative<
-                alternative<A, B> >::result_t result_t;
-            return result_t(
-                to_shortest_alternative<A>::convert(alt.left()),
-                to_shortest_alternative<B>::convert(alt.right()));
-        }
-
-        template <typename T>
-        inline typename to_shortest_alternative<T>::result_t
-        to_shortest_alternative<T>::convert(T const& a)
-        {
-            return to_shortest_convert(
-                a, to_shortest_alternative<T>::choose_t());
-        }
-
-        template <typename T>
-        struct select_to_shortest
-        {
-            typedef typename mpl::if_<
-                is_alternative<T>           //  IF
-                , to_shortest_recursive<T>  //  THEN
-                , to_shortest_generic<T>    //  ELSE
-            >::type type;
-
-            typedef typename select_to_shortest::type::result_t result_t;
-            typedef typename select_to_shortest::type::plain_t  plain_t;
-            typedef typename select_to_shortest::type::choose_t choose_t;
-        };
-#else
-        template <typename T>
-        struct to_longest_alternative
-        {
-            typedef T result_t;
-            static result_t const&
-            convert(T const& a)  //  Special (end) case
-            { return a; }
-        };
-
-        template <typename A, typename B>
-        struct to_longest_alternative<alternative<A, B> >
-        {
-            typedef typename to_longest_alternative<A>::result_t    a_t;
-            typedef typename to_longest_alternative<B>::result_t    b_t;
-            typedef longest_alternative<a_t, b_t>                   result_t;
-
-            static result_t
-            convert(alternative<A, B> const& alt) // Recursive case
-            {
-                return result_t(
-                    to_longest_alternative<A>::convert(alt.left()),
-                    to_longest_alternative<B>::convert(alt.right()));
-            }
-        };
-
-        template <typename T>
-        struct to_shortest_alternative
-        {
-            typedef T result_t;
-            static result_t const&
-            convert(T const& a) //  Special (end) case
-            { return a; }
-        };
-
-        template <typename A, typename B>
-        struct to_shortest_alternative<alternative<A, B> >
-        {
-            typedef typename to_shortest_alternative<A>::result_t   a_t;
-            typedef typename to_shortest_alternative<B>::result_t   b_t;
-            typedef shortest_alternative<a_t, b_t>                  result_t;
-
-            static result_t
-            convert(alternative<A, B> const& alt) //  Recursive case
-            {
-                return result_t(
-                    to_shortest_alternative<A>::convert(alt.left()),
-                    to_shortest_alternative<B>::convert(alt.right()));
-            }
-        };
-#endif
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/exclusive_or.ipp b/SRC/Boost/boost/spirit/home/classic/core/composite/impl/exclusive_or.ipp
deleted file mode 100755
index 5a133a3..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/exclusive_or.ipp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_EXCLUSIVE_OR_IPP)
-#define BOOST_SPIRIT_EXCLUSIVE_OR_IPP
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  exclusive_or class implementation
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename A, typename B>
-    inline exclusive_or<A, B>
-    operator^(parser<A> const& a, parser<B> const& b)
-    {
-        return exclusive_or<A, B>(a.derived(), b.derived());
-    }
-    
-    template <typename A>
-    inline exclusive_or<A, chlit<char> >
-    operator^(parser<A> const& a, char b)
-    {
-        return exclusive_or<A, chlit<char> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline exclusive_or<chlit<char>, B>
-    operator^(char a, parser<B> const& b)
-    {
-        return exclusive_or<chlit<char>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline exclusive_or<A, strlit<char const*> >
-    operator^(parser<A> const& a, char const* b)
-    {
-        return exclusive_or<A, strlit<char const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline exclusive_or<strlit<char const*>, B>
-    operator^(char const* a, parser<B> const& b)
-    {
-        return exclusive_or<strlit<char const*>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline exclusive_or<A, chlit<wchar_t> >
-    operator^(parser<A> const& a, wchar_t b)
-    {
-        return exclusive_or<A, chlit<wchar_t> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline exclusive_or<chlit<wchar_t>, B>
-    operator^(wchar_t a, parser<B> const& b)
-    {
-        return exclusive_or<chlit<wchar_t>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline exclusive_or<A, strlit<wchar_t const*> >
-    operator^(parser<A> const& a, wchar_t const* b)
-    {
-        return exclusive_or<A, strlit<wchar_t const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline exclusive_or<strlit<wchar_t const*>, B>
-    operator^(wchar_t const* a, parser<B> const& b)
-    {
-        return exclusive_or<strlit<wchar_t const*>, B>(a, b.derived());
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/intersection.ipp b/SRC/Boost/boost/spirit/home/classic/core/composite/impl/intersection.ipp
deleted file mode 100755
index a730168..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/intersection.ipp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_INTERSECTION_IPP)
-#define BOOST_SPIRIT_INTERSECTION_IPP
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  intersection class implementation
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename A, typename B>
-    inline intersection<A, B>
-    operator&(parser<A> const& a, parser<B> const& b)
-    {
-        return intersection<A, B>(a.derived(), b.derived());
-    }
-    
-    template <typename A>
-    inline intersection<A, chlit<char> >
-    operator&(parser<A> const& a, char b)
-    {
-        return intersection<A, chlit<char> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline intersection<chlit<char>, B>
-    operator&(char a, parser<B> const& b)
-    {
-        return intersection<chlit<char>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline intersection<A, strlit<char const*> >
-    operator&(parser<A> const& a, char const* b)
-    {
-        return intersection<A, strlit<char const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline intersection<strlit<char const*>, B>
-    operator&(char const* a, parser<B> const& b)
-    {
-        return intersection<strlit<char const*>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline intersection<A, chlit<wchar_t> >
-    operator&(parser<A> const& a, wchar_t b)
-    {
-        return intersection<A, chlit<wchar_t> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline intersection<chlit<wchar_t>, B>
-    operator&(wchar_t a, parser<B> const& b)
-    {
-        return intersection<chlit<wchar_t>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline intersection<A, strlit<wchar_t const*> >
-    operator&(parser<A> const& a, wchar_t const* b)
-    {
-        return intersection<A, strlit<wchar_t const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline intersection<strlit<wchar_t const*>, B>
-    operator&(wchar_t const* a, parser<B> const& b)
-    {
-        return intersection<strlit<wchar_t const*>, B>(a, b.derived());
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/kleene_star.ipp b/SRC/Boost/boost/spirit/home/classic/core/composite/impl/kleene_star.ipp
deleted file mode 100755
index 361f60e..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/kleene_star.ipp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_KLEENE_STAR_IPP)
-#define BOOST_SPIRIT_KLEENE_STAR_IPP
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  kleene_star class implementation
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename S>
-    inline kleene_star<S>
-    operator*(parser<S> const& a)
-    {
-        return kleene_star<S>(a.derived());
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/list.ipp b/SRC/Boost/boost/spirit/home/classic/core/composite/impl/list.ipp
deleted file mode 100755
index c739b2a..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/list.ipp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_LIST_IPP)
-#define BOOST_SPIRIT_LIST_IPP
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  operator% is defined as:
-    //  a % b ---> a >> *(b >> a)
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename A, typename B>
-    inline sequence<A, kleene_star<sequence<B, A> > >
-    operator%(parser<A> const& a, parser<B> const& b)
-    {
-        return a.derived() >> *(b.derived() >> a.derived());
-    }
-    
-    template <typename A>
-    inline sequence<A, kleene_star<sequence<chlit<char>, A> > >
-    operator%(parser<A> const& a, char b)
-    {
-        return a.derived() >> *(b >> a.derived());
-    }
-    
-    template <typename B>
-    inline sequence<chlit<char>, kleene_star<sequence<B, chlit<char> > > >
-    operator%(char a, parser<B> const& b)
-    {
-        return a >> *(b.derived() >> a);
-    }
-    
-    template <typename A>
-    inline sequence<A, kleene_star<sequence<strlit<char const*>, A> > >
-    operator%(parser<A> const& a, char const* b)
-    {
-        return a.derived() >> *(b >> a.derived());
-    }
-    
-    template <typename B>
-    inline sequence<strlit<char const*>,
-        kleene_star<sequence<B, strlit<char const*> > > >
-    operator%(char const* a, parser<B> const& b)
-    {
-        return a >> *(b.derived() >> a);
-    }
-    
-    template <typename A>
-    inline sequence<A, kleene_star<sequence<chlit<wchar_t>, A> > >
-    operator%(parser<A> const& a, wchar_t b)
-    {
-        return a.derived() >> *(b >> a.derived());
-    }
-    
-    template <typename B>
-    inline sequence<chlit<wchar_t>, kleene_star<sequence<B, chlit<wchar_t> > > >
-    operator%(wchar_t a, parser<B> const& b)
-    {
-        return a >> *(b.derived() >> a);
-    }
-    
-    template <typename A>
-    inline sequence<A, kleene_star<sequence<strlit<wchar_t const*>, A> > >
-    operator%(parser<A> const& a, wchar_t const* b)
-    {
-        return a.derived() >> *(b >> a.derived());
-    }
-    
-    template <typename B>
-    inline sequence<strlit<wchar_t const*>,
-        kleene_star<sequence<B, strlit<wchar_t const*> > > >
-    operator%(wchar_t const* a, parser<B> const& b)
-    {
-        return a >> *(b.derived() >> a);
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/optional.ipp b/SRC/Boost/boost/spirit/home/classic/core/composite/impl/optional.ipp
deleted file mode 100755
index 5a6a1ac..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/optional.ipp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_OPTIONAL_IPP)
-#define BOOST_SPIRIT_OPTIONAL_IPP
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  optional class implementation
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename S>
-    optional<S>
-    operator!(parser<S> const& a)
-    {
-        return optional<S>(a.derived());
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/positive.ipp b/SRC/Boost/boost/spirit/home/classic/core/composite/impl/positive.ipp
deleted file mode 100755
index f167430..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/positive.ipp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_POSITIVE_IPP)
-#define BOOST_SPIRIT_POSITIVE_IPP
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  positive class implementation
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename S>
-    inline positive<S>
-    operator+(parser<S> const& a)
-    {
-        return positive<S>(a.derived());
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/sequence.ipp b/SRC/Boost/boost/spirit/home/classic/core/composite/impl/sequence.ipp
deleted file mode 100755
index 00a004c..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/sequence.ipp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_SEQUENCE_IPP)
-#define BOOST_SPIRIT_SEQUENCE_IPP
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  sequence class implementation
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename A, typename B>
-    inline sequence<A, B>
-    operator>>(parser<A> const& a, parser<B> const& b)
-    {
-        return sequence<A, B>(a.derived(), b.derived());
-    }
-    
-    template <typename A>
-    inline sequence<A, chlit<char> >
-    operator>>(parser<A> const& a, char b)
-    {
-        return sequence<A, chlit<char> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline sequence<chlit<char>, B>
-    operator>>(char a, parser<B> const& b)
-    {
-        return sequence<chlit<char>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline sequence<A, strlit<char const*> >
-    operator>>(parser<A> const& a, char const* b)
-    {
-        return sequence<A, strlit<char const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline sequence<strlit<char const*>, B>
-    operator>>(char const* a, parser<B> const& b)
-    {
-        return sequence<strlit<char const*>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline sequence<A, chlit<wchar_t> >
-    operator>>(parser<A> const& a, wchar_t b)
-    {
-        return sequence<A, chlit<wchar_t> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline sequence<chlit<wchar_t>, B>
-    operator>>(wchar_t a, parser<B> const& b)
-    {
-        return sequence<chlit<wchar_t>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline sequence<A, strlit<wchar_t const*> >
-    operator>>(parser<A> const& a, wchar_t const* b)
-    {
-        return sequence<A, strlit<wchar_t const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline sequence<strlit<wchar_t const*>, B>
-    operator>>(wchar_t const* a, parser<B> const& b)
-    {
-        return sequence<strlit<wchar_t const*>, B>(a, b.derived());
-    }
-    
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/sequential_and.ipp b/SRC/Boost/boost/spirit/home/classic/core/composite/impl/sequential_and.ipp
deleted file mode 100755
index 07041ed..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/sequential_and.ipp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_SEQUENTIAL_AND_IPP)
-#define BOOST_SPIRIT_SEQUENTIAL_AND_IPP
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  sequential-and operators implementation
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename A, typename B>
-    inline sequence<A, B>
-    operator&&(parser<A> const& a, parser<B> const& b)
-    {
-        return sequence<A, B>(a.derived(), b.derived());
-    }
-    
-    template <typename A>
-    inline sequence<A, chlit<char> >
-    operator&&(parser<A> const& a, char b)
-    {
-        return sequence<A, chlit<char> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline sequence<chlit<char>, B>
-    operator&&(char a, parser<B> const& b)
-    {
-        return sequence<chlit<char>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline sequence<A, strlit<char const*> >
-    operator&&(parser<A> const& a, char const* b)
-    {
-        return sequence<A, strlit<char const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline sequence<strlit<char const*>, B>
-    operator&&(char const* a, parser<B> const& b)
-    {
-        return sequence<strlit<char const*>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline sequence<A, chlit<wchar_t> >
-    operator&&(parser<A> const& a, wchar_t b)
-    {
-        return sequence<A, chlit<wchar_t> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline sequence<chlit<wchar_t>, B>
-    operator&&(wchar_t a, parser<B> const& b)
-    {
-        return sequence<chlit<wchar_t>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline sequence<A, strlit<wchar_t const*> >
-    operator&&(parser<A> const& a, wchar_t const* b)
-    {
-        return sequence<A, strlit<wchar_t const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline sequence<strlit<wchar_t const*>, B>
-    operator&&(wchar_t const* a, parser<B> const& b)
-    {
-        return sequence<strlit<wchar_t const*>, B>(a, b.derived());
-    }
-    
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/sequential_or.ipp b/SRC/Boost/boost/spirit/home/classic/core/composite/impl/sequential_or.ipp
deleted file mode 100755
index 85a8a2a..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/impl/sequential_or.ipp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_SEQUENTIAL_OR_IPP)
-#define BOOST_SPIRIT_SEQUENTIAL_OR_IPP
-
-namespace boost { namespace spirit {
-
- BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-   ///////////////////////////////////////////////////////////////////////////
-    //
-    //  sequential-or class implementation
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename A, typename B>
-    inline sequential_or<A, B>
-    operator||(parser<A> const& a, parser<B> const& b)
-    {
-        return sequential_or<A, B>(a.derived(), b.derived());
-    }
-    
-    template <typename A>
-    inline sequential_or<A, chlit<char> >
-    operator||(parser<A> const& a, char b)
-    {
-        return sequential_or<A, chlit<char> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline sequential_or<chlit<char>, B>
-    operator||(char a, parser<B> const& b)
-    {
-        return sequential_or<chlit<char>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline sequential_or<A, strlit<char const*> >
-    operator||(parser<A> const& a, char const* b)
-    {
-        return sequential_or<A, strlit<char const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline sequential_or<strlit<char const*>, B>
-    operator||(char const* a, parser<B> const& b)
-    {
-        return sequential_or<strlit<char const*>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline sequential_or<A, chlit<wchar_t> >
-    operator||(parser<A> const& a, wchar_t b)
-    {
-        return sequential_or<A, chlit<wchar_t> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline sequential_or<chlit<wchar_t>, B>
-    operator||(wchar_t a, parser<B> const& b)
-    {
-        return sequential_or<chlit<wchar_t>, B>(a, b.derived());
-    }
-    
-    template <typename A>
-    inline sequential_or<A, strlit<wchar_t const*> >
-    operator||(parser<A> const& a, wchar_t const* b)
-    {
-        return sequential_or<A, strlit<wchar_t const*> >(a.derived(), b);
-    }
-    
-    template <typename B>
-    inline sequential_or<strlit<wchar_t const*>, B>
-    operator||(wchar_t const* a, parser<B> const& b)
-    {
-        return sequential_or<strlit<wchar_t const*>, B>(a, b.derived());
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/intersection.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/intersection.hpp
deleted file mode 100755
index ee8d876..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/intersection.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_INTERSECTION_HPP)
-#define BOOST_SPIRIT_INTERSECTION_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-#include <boost/spirit/home/classic/meta/as_parser.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  intersection class
-    //
-    //      Handles expressions of the form:
-    //
-    //          a & b
-    //
-    //      where a and b are parsers. The expression returns a composite
-    //      parser that matches a and b. One (not both) of the operands may
-    //      be a literal char, wchar_t or a primitive string char const*,
-    //      wchar_t const*.
-    //
-    //      The expression is short circuit evaluated. b is never touched
-    //      when a is returns a no-match.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct intersection_parser_gen;
-    
-    template <typename A, typename B>
-    struct intersection
-    :   public binary<A, B, parser<intersection<A, B> > >
-    {
-        typedef intersection<A, B>              self_t;
-        typedef binary_parser_category          parser_category_t;
-        typedef intersection_parser_gen         parser_generator_t;
-        typedef binary<A, B, parser<self_t> >   base_t;
-    
-        intersection(A const& a, B const& b)
-        : base_t(a, b) {}
-    
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            typedef typename ScannerT::iterator_t iterator_t;
-            iterator_t save = scan.first;
-            if (result_t hl = this->left().parse(scan))
-            {
-                ScannerT bscan(scan.first, scan.first, scan);
-                scan.first = save;
-                result_t hr = this->right().parse(bscan);
-                if (hl.length() == hr.length())
-                    return hl;
-            }
-    
-            return scan.no_match();
-        }
-    };
-    
-    struct intersection_parser_gen
-    {
-        template <typename A, typename B>
-        struct result 
-        {
-            typedef 
-                intersection<
-                    typename as_parser<A>::type
-                  , typename as_parser<B>::type
-                >
-            type;
-        };
-    
-        template <typename A, typename B>
-        static intersection<
-            typename as_parser<A>::type
-          , typename as_parser<B>::type
-        >
-        generate(A const& a, B const& b)
-        {
-            return intersection<BOOST_DEDUCED_TYPENAME as_parser<A>::type,
-                BOOST_DEDUCED_TYPENAME as_parser<B>::type>
-                    (as_parser<A>::convert(a), as_parser<B>::convert(b));
-        }
-    };
-    
-    template <typename A, typename B>
-    intersection<A, B>
-    operator&(parser<A> const& a, parser<B> const& b);
-    
-    template <typename A>
-    intersection<A, chlit<char> >
-    operator&(parser<A> const& a, char b);
-    
-    template <typename B>
-    intersection<chlit<char>, B>
-    operator&(char a, parser<B> const& b);
-    
-    template <typename A>
-    intersection<A, strlit<char const*> >
-    operator&(parser<A> const& a, char const* b);
-    
-    template <typename B>
-    intersection<strlit<char const*>, B>
-    operator&(char const* a, parser<B> const& b);
-    
-    template <typename A>
-    intersection<A, chlit<wchar_t> >
-    operator&(parser<A> const& a, wchar_t b);
-    
-    template <typename B>
-    intersection<chlit<wchar_t>, B>
-    operator&(wchar_t a, parser<B> const& b);
-    
-    template <typename A>
-    intersection<A, strlit<wchar_t const*> >
-    operator&(parser<A> const& a, wchar_t const* b);
-    
-    template <typename B>
-    intersection<strlit<wchar_t const*>, B>
-    operator&(wchar_t const* a, parser<B> const& b);
-    
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/core/composite/impl/intersection.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/kleene_star.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/kleene_star.hpp
deleted file mode 100755
index 26c33f7..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/kleene_star.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_KLEENE_STAR_HPP)
-#define BOOST_SPIRIT_KLEENE_STAR_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-#include <boost/spirit/home/classic/meta/as_parser.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  kleene_star class
-    //
-    //      Handles expressions of the form:
-    //
-    //          *a
-    //
-    //      where a is a parser. The expression returns a composite
-    //      parser that matches its subject zero (0) or more times.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct kleene_star_parser_gen;
-    
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#endif
-
-    template <typename S>
-    struct kleene_star
-    :   public unary<S, parser<kleene_star<S> > >
-    {
-        typedef kleene_star<S>              self_t;
-        typedef unary_parser_category       parser_category_t;
-        typedef kleene_star_parser_gen      parser_generator_t;
-        typedef unary<S, parser<self_t> >   base_t;
-    
-        kleene_star(S const& a)
-        : base_t(a) {}
-    
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            typedef typename ScannerT::iterator_t iterator_t;
-            result_t hit = scan.empty_match();
-    
-            for (;;)
-            {
-                iterator_t save = scan.first;
-                if (result_t next = this->subject().parse(scan))
-                {
-                    scan.concat_match(hit, next);
-                }
-                else
-                {
-                    scan.first = save;
-                    return hit;
-                }
-            }
-        }
-    };
-    
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
-
-    struct kleene_star_parser_gen
-    {
-        template <typename S>
-        struct result 
-        {
-            typedef kleene_star<S> type;
-        };
-    
-        template <typename S>
-        static kleene_star<S>
-        generate(parser<S> const& a)
-        {
-            return kleene_star<S>(a.derived());
-        }
-    };
-    
-    //////////////////////////////////
-    template <typename S>
-    kleene_star<S>
-    operator*(parser<S> const& a);
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/core/composite/impl/kleene_star.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/list.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/list.hpp
deleted file mode 100755
index 635f2b1..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/list.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_LIST_HPP)
-#define BOOST_SPIRIT_LIST_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-#include <boost/spirit/home/classic/meta/as_parser.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  operator% is defined as:
-    //  a % b ---> a >> *(b >> a)
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename A, typename B>
-    sequence<A, kleene_star<sequence<B, A> > >
-    operator%(parser<A> const& a, parser<B> const& b);
-    
-    template <typename A>
-    sequence<A, kleene_star<sequence<chlit<char>, A> > >
-    operator%(parser<A> const& a, char b);
-    
-    template <typename B>
-    sequence<chlit<char>, kleene_star<sequence<B, chlit<char> > > >
-    operator%(char a, parser<B> const& b);
-    
-    template <typename A>
-    sequence<A, kleene_star<sequence<strlit<char const*>, A> > >
-    operator%(parser<A> const& a, char const* b);
-    
-    template <typename B>
-    sequence<strlit<char const*>,
-        kleene_star<sequence<B, strlit<char const*> > > >
-    operator%(char const* a, parser<B> const& b);
-    
-    template <typename A>
-    sequence<A, kleene_star<sequence<chlit<wchar_t>, A> > >
-    operator%(parser<A> const& a, wchar_t b);
-    
-    template <typename B>
-    sequence<chlit<wchar_t>, kleene_star<sequence<B, chlit<wchar_t> > > >
-    operator%(wchar_t a, parser<B> const& b);
-    
-    template <typename A>
-    sequence<A, kleene_star<sequence<strlit<wchar_t const*>, A> > >
-    operator%(parser<A> const& a, wchar_t const* b);
-    
-    template <typename B>
-    sequence<strlit<wchar_t const*>,
-        kleene_star<sequence<B, strlit<wchar_t const*> > > >
-    operator%(wchar_t const* a, parser<B> const& b);
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/core/composite/impl/list.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/operators.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/operators.hpp
deleted file mode 100755
index a52052d..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/operators.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_OPERATORS_HPP)
-#define BOOST_SPIRIT_OPERATORS_HPP
-
-#include <boost/spirit/home/classic/core/composite/sequence.hpp>
-#include <boost/spirit/home/classic/core/composite/sequential_and.hpp>
-#include <boost/spirit/home/classic/core/composite/sequential_or.hpp>
-#include <boost/spirit/home/classic/core/composite/alternative.hpp>
-#include <boost/spirit/home/classic/core/composite/difference.hpp>
-#include <boost/spirit/home/classic/core/composite/intersection.hpp>
-#include <boost/spirit/home/classic/core/composite/exclusive_or.hpp>
-#include <boost/spirit/home/classic/core/composite/kleene_star.hpp>
-#include <boost/spirit/home/classic/core/composite/positive.hpp>
-#include <boost/spirit/home/classic/core/composite/optional.hpp>
-#include <boost/spirit/home/classic/core/composite/list.hpp>
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/optional.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/optional.hpp
deleted file mode 100755
index af0dc64..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/optional.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_OPTIONAL_HPP)
-#define BOOST_SPIRIT_OPTIONAL_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-#include <boost/spirit/home/classic/meta/as_parser.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  optional class
-    //
-    //      Handles expressions of the form:
-    //
-    //          !a
-    //
-    //      where a is a parser. The expression returns a composite
-    //      parser that matches its subject zero (0) or one (1) time.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct optional_parser_gen;
-    
-    template <typename S>
-    struct optional
-    :   public unary<S, parser<optional<S> > >
-    {
-        typedef optional<S>                 self_t;
-        typedef unary_parser_category       parser_category_t;
-        typedef optional_parser_gen         parser_generator_t;
-        typedef unary<S, parser<self_t> >   base_t;
-    
-        optional(S const& a)
-        : base_t(a) {}
-    
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            typedef typename ScannerT::iterator_t iterator_t;
-            iterator_t save = scan.first;
-            if (result_t r = this->subject().parse(scan))
-            {
-                return r;
-            }
-            else
-            {
-                scan.first = save;
-                return scan.empty_match();
-            }
-        }
-    };
-    
-    struct optional_parser_gen
-    {
-        template <typename S>
-        struct result 
-        {
-            typedef optional<S> type;
-        };
-    
-        template <typename S>
-        static optional<S>
-        generate(parser<S> const& a)
-        {
-            return optional<S>(a.derived());
-        }
-    };
-    
-    template <typename S>
-    optional<S>
-    operator!(parser<S> const& a);
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/core/composite/impl/optional.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/positive.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/positive.hpp
deleted file mode 100755
index fcbedb8..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/positive.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_POSITIVE_HPP)
-#define BOOST_SPIRIT_POSITIVE_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-#include <boost/spirit/home/classic/meta/as_parser.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  positive class
-    //
-    //      Handles expressions of the form:
-    //
-    //          +a
-    //
-    //      where a is a parser. The expression returns a composite
-    //      parser that matches its subject one (1) or more times.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct positive_parser_gen;
-    
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#endif
-
-    template <typename S>
-    struct positive
-    :   public unary<S, parser<positive<S> > >
-    {
-        typedef positive<S>                 self_t;
-        typedef unary_parser_category       parser_category_t;
-        typedef positive_parser_gen         parser_generator_t;
-        typedef unary<S, parser<self_t> >   base_t;
-    
-        positive(S const& a)
-        : base_t(a) {}
-    
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            typedef typename ScannerT::iterator_t iterator_t;
-            result_t hit = this->subject().parse(scan);
-    
-            if (hit)
-            {
-                for (;;)
-                {
-                    iterator_t save = scan.first;
-                    if (result_t next = this->subject().parse(scan))
-                    {
-                        scan.concat_match(hit, next);
-                    }
-                    else
-                    {
-                        scan.first = save;
-                        break;
-                    }
-                }
-            }
-            return hit;
-        }
-    };
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
-    
-    struct positive_parser_gen
-    {
-        template <typename S>
-        struct result 
-        {
-            typedef positive<S> type;
-        };
-    
-        template <typename S>
-        static positive<S>
-        generate(parser<S> const& a)
-        {
-            return positive<S>(a.derived());
-        }
-    };
-    
-    template <typename S>
-    inline positive<S>
-    operator+(parser<S> const& a);
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/core/composite/impl/positive.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/sequence.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/sequence.hpp
deleted file mode 100755
index 897eec5..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/sequence.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_SEQUENCE_HPP)
-#define BOOST_SPIRIT_SEQUENCE_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-#include <boost/spirit/home/classic/meta/as_parser.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  sequence class
-    //
-    //      Handles expressions of the form:
-    //
-    //          a >> b
-    //
-    //      where a and b are parsers. The expression returns a composite
-    //      parser that matches a and b in sequence. One (not both) of the
-    //      operands may be a literal char, wchar_t or a primitive string
-    //      char const*, wchar_t const*.
-    //
-    //////////////////////////////////////////////////////////////////////////
-    struct sequence_parser_gen;
-    
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#endif
-
-    template <typename A, typename B>
-    struct sequence : public binary<A, B, parser<sequence<A, B> > >
-    {
-        typedef sequence<A, B>                  self_t;
-        typedef binary_parser_category          parser_category_t;
-        typedef sequence_parser_gen             parser_generator_t;
-        typedef binary<A, B, parser<self_t> >   base_t;
-    
-        sequence(A const& a, B const& b)
-        : base_t(a, b) {}
-    
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            if (result_t ma = this->left().parse(scan))
-                if (result_t mb = this->right().parse(scan))
-                {
-                    scan.concat_match(ma, mb);
-                    return ma;
-                }
-            return scan.no_match();
-        }
-    };
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
-    
-    struct sequence_parser_gen
-    {
-        template <typename A, typename B>
-        struct result 
-        {
-            typedef
-                sequence<
-                    typename as_parser<A>::type
-                  , typename as_parser<B>::type
-                >
-            type;
-        };
-    
-        template <typename A, typename B>
-        static sequence<
-            typename as_parser<A>::type
-          , typename as_parser<B>::type
-        >
-        generate(A const& a, B const& b)
-        {
-            return sequence<BOOST_DEDUCED_TYPENAME as_parser<A>::type,
-                BOOST_DEDUCED_TYPENAME as_parser<B>::type>
-                    (as_parser<A>::convert(a), as_parser<B>::convert(b));
-        }
-    };
-    
-    template <typename A, typename B>
-    sequence<A, B>
-    operator>>(parser<A> const& a, parser<B> const& b);
-    
-    template <typename A>
-    sequence<A, chlit<char> >
-    operator>>(parser<A> const& a, char b);
-    
-    template <typename B>
-    sequence<chlit<char>, B>
-    operator>>(char a, parser<B> const& b);
-    
-    template <typename A>
-    sequence<A, strlit<char const*> >
-    operator>>(parser<A> const& a, char const* b);
-    
-    template <typename B>
-    sequence<strlit<char const*>, B>
-    operator>>(char const* a, parser<B> const& b);
-    
-    template <typename A>
-    sequence<A, chlit<wchar_t> >
-    operator>>(parser<A> const& a, wchar_t b);
-    
-    template <typename B>
-    sequence<chlit<wchar_t>, B>
-    operator>>(wchar_t a, parser<B> const& b);
-    
-    template <typename A>
-    sequence<A, strlit<wchar_t const*> >
-    operator>>(parser<A> const& a, wchar_t const* b);
-    
-    template <typename B>
-    sequence<strlit<wchar_t const*>, B>
-    operator>>(wchar_t const* a, parser<B> const& b);
-    
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/core/composite/impl/sequence.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/sequential_and.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/sequential_and.hpp
deleted file mode 100755
index a58bbd3..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/sequential_and.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_SEQUENTIAL_AND_HPP)
-#define BOOST_SPIRIT_SEQUENTIAL_AND_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-#include <boost/spirit/home/classic/meta/as_parser.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  sequential-and operators
-    //
-    //      Handles expressions of the form:
-    //
-    //          a && b
-    //
-    //      Same as a >> b.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename A, typename B>
-    sequence<A, B>
-    operator&&(parser<A> const& a, parser<B> const& b);
-    
-    template <typename A>
-    sequence<A, chlit<char> >
-    operator&&(parser<A> const& a, char b);
-    
-    template <typename B>
-    sequence<chlit<char>, B>
-    operator&&(char a, parser<B> const& b);
-    
-    template <typename A>
-    sequence<A, strlit<char const*> >
-    operator&&(parser<A> const& a, char const* b);
-    
-    template <typename B>
-    sequence<strlit<char const*>, B>
-    operator&&(char const* a, parser<B> const& b);
-    
-    template <typename A>
-    sequence<A, chlit<wchar_t> >
-    operator&&(parser<A> const& a, wchar_t b);
-    
-    template <typename B>
-    sequence<chlit<wchar_t>, B>
-    operator&&(wchar_t a, parser<B> const& b);
-    
-    template <typename A>
-    sequence<A, strlit<wchar_t const*> >
-    operator&&(parser<A> const& a, wchar_t const* b);
-    
-    template <typename B>
-    sequence<strlit<wchar_t const*>, B>
-    operator&&(wchar_t const* a, parser<B> const& b);
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/core/composite/impl/sequential_and.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/core/composite/sequential_or.hpp b/SRC/Boost/boost/spirit/home/classic/core/composite/sequential_or.hpp
deleted file mode 100755
index ee9cba5..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/composite/sequential_or.hpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    Copyright (c) 2002 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_SEQUENTIAL_OR_HPP)
-#define BOOST_SPIRIT_SEQUENTIAL_OR_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/core/composite/composite.hpp>
-#include <boost/spirit/home/classic/meta/as_parser.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  sequential-or class
-    //
-    //      Handles expressions of the form:
-    //
-    //          a || b
-    //
-    //      Equivalent to
-    //
-    //          a | b | a >> b;
-    //
-    //      where a and b are parsers. The expression returns a composite
-    //      parser that matches matches a or b in sequence. One (not both) of
-    //      the operands may be a literal char, wchar_t or a primitive string
-    //      char const*, wchar_t const*.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct sequential_or_parser_gen;
-    
-    template <typename A, typename B>
-    struct sequential_or : public binary<A, B, parser<sequential_or<A, B> > >
-    {
-        typedef sequential_or<A, B>             self_t;
-        typedef binary_parser_category          parser_category_t;
-        typedef sequential_or_parser_gen        parser_generator_t;
-        typedef binary<A, B, parser<self_t> >   base_t;
-    
-        sequential_or(A const& a, B const& b)
-        : base_t(a, b) {}
-    
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            typedef typename ScannerT::iterator_t iterator_t;
-            { // scope for save
-                iterator_t save = scan.first;
-                if (result_t ma = this->left().parse(scan))
-                {
-                    save = scan.first;
-                    if (result_t mb = this->right().parse(scan))
-                    {
-                        // matched a b
-                        scan.concat_match(ma, mb);
-                        return ma;
-                    }
-                    else
-                    {
-                        // matched a
-                        scan.first = save;
-                        return ma;
-                    }
-                }
-                scan.first = save;
-            }
-    
-            // matched b
-            return this->right().parse(scan);
-        }
-    };
-    
-    struct sequential_or_parser_gen
-    {
-        template <typename A, typename B>
-        struct result 
-        {
-            typedef 
-                sequential_or<
-                    typename as_parser<A>::type
-                  , typename as_parser<B>::type
-                > 
-            type;
-        };
-    
-        template <typename A, typename B>
-        static sequential_or<
-            typename as_parser<A>::type
-          , typename as_parser<B>::type
-        >
-        generate(A const& a, B const& b)
-        {
-            return sequential_or<BOOST_DEDUCED_TYPENAME as_parser<A>::type,
-                BOOST_DEDUCED_TYPENAME as_parser<B>::type>
-                    (as_parser<A>::convert(a), as_parser<B>::convert(b));
-        }
-    };
-    
-    template <typename A, typename B>
-    sequential_or<A, B>
-    operator||(parser<A> const& a, parser<B> const& b);
-    
-    template <typename A>
-    sequential_or<A, chlit<char> >
-    operator||(parser<A> const& a, char b);
-    
-    template <typename B>
-    sequential_or<chlit<char>, B>
-    operator||(char a, parser<B> const& b);
-    
-    template <typename A>
-    sequential_or<A, strlit<char const*> >
-    operator||(parser<A> const& a, char const* b);
-    
-    template <typename B>
-    sequential_or<strlit<char const*>, B>
-    operator||(char const* a, parser<B> const& b);
-
-    template <typename A>
-    sequential_or<A, chlit<wchar_t> >
-    operator||(parser<A> const& a, wchar_t b);
-    
-    template <typename B>
-    sequential_or<chlit<wchar_t>, B>
-    operator||(wchar_t a, parser<B> const& b);
-    
-    template <typename A>
-    sequential_or<A, strlit<wchar_t const*> >
-    operator||(parser<A> const& a, wchar_t const* b);
-    
-    template <typename B>
-    sequential_or<strlit<wchar_t const*>, B>
-    operator||(wchar_t const* a, parser<B> const& b);
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/core/composite/impl/sequential_or.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/core/config.hpp b/SRC/Boost/boost/spirit/home/classic/core/config.hpp
deleted file mode 100755
index 316bff5..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/config.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_CONFIG_HPP)
-#define BOOST_SPIRIT_CONFIG_HPP
-
-#include <boost/config.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Compiler check:
-//
-//  Historically, Spirit supported a lot of compilers, including (to some
-//  extent) poorly conforming compilers such as VC6. Spirit v1.6.x will be
-//  the last release that will support older poorly conforming compilers.
-//  Starting from Spirit v1.8.0, ill conforming compilers will not be
-//  supported. If you are still using one of these older compilers, you can
-//  still use Spirit v1.6.x.
-//
-//  The reason why Spirit v1.6.x worked on old non-conforming compilers is
-//  that the authors laboriously took the trouble of searching for
-//  workarounds to make these compilers happy. The process takes a lot of
-//  time and energy, especially when one encounters the dreaded ICE or
-//  "Internal Compiler Error". Sometimes searching for a single workaround
-//  takes days or even weeks. Sometimes, there are no known workarounds. This
-//  stifles progress a lot. And, as the library gets more progressive and
-//  takes on more advanced C++ techniques, the difficulty is escalated to
-//  even new heights.
-//
-//  Spirit v1.6.x will still be supported. Maintenance and bug fixes will
-//  still be applied. There will still be active development for the back-
-//  porting of new features introduced in Spirit v1.8.0 (and Spirit 1.9.0)
-//  to lesser able compilers; hopefully, fueled by contributions from the
-//  community. For instance, there is already a working AST tree back-port
-//  for VC6 and VC7 by Peder Holt.
-//
-//  If you got here somehow, your compiler is known to be poorly conforming
-//  WRT ANSI/ISO C++ standard. Library implementers get a bad reputation when
-//  someone attempts to compile the code on a non-conforming compiler. She'll
-//  be confronted with tons of compiler errors when she tries to compile the
-//  library. Such errors will somehow make less informed users conclude that
-//  the code is poorly written. It's better for the user to see a message
-//  "sorry, this code has not been ported to your compiler yet", than to see
-//  pages and pages of compiler error messages.
-//
-/////////////////////////////////////////////////////////////////////////////////
-#if     (defined(BOOST_MSVC) && (BOOST_MSVC < 1310))                            \
-    ||  (defined(__BORLANDC__) && (__BORLANDC__ <= 0x570))                      \
-    ||  (defined(__GNUC__) && (__GNUC__ < 3))                                   \
-    ||  (defined(__GNUC__) && (__GNUC__ == 3) && (__GNUC_MINOR__ < 1))
-# error "Compiler not supported. See note in <boost/spirit/core/config.hpp>"
-#else
-// Pass... Compiler supported.
-#endif
-
-#endif
-
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/impl/match.ipp b/SRC/Boost/boost/spirit/home/classic/core/impl/match.ipp
deleted file mode 100755
index 38c81fe..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/impl/match.ipp
+++ /dev/null
@@ -1,113 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_MATCH_IPP)
-#define BOOST_SPIRIT_MATCH_IPP
-#include <algorithm>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    template <typename T>
-    inline match<T>::match()
-    : len(-1), val() {}
-
-    template <typename T>
-    inline match<T>::match(std::size_t length_)
-    : len(length_), val() {}
-
-    template <typename T>
-    inline match<T>::match(std::size_t length_, ctor_param_t val_)
-    : len(length_), val(val_) {}
-
-    template <typename T>
-    inline bool
-    match<T>::operator!() const
-    {
-        return len < 0;
-    }
-
-    template <typename T>
-    inline std::ptrdiff_t
-    match<T>::length() const
-    {
-        return len;
-    }
-
-    template <typename T>
-    inline bool
-    match<T>::has_valid_attribute() const
-    {
-        return val.is_initialized();
-    }
-
-    template <typename T>
-    inline typename match<T>::return_t
-    match<T>::value() const
-    {
-        BOOST_SPIRIT_ASSERT(val.is_initialized());
-        return *val;
-    }
-
-    template <typename T>
-    inline void
-    match<T>::swap(match& other)
-    {
-        std::swap(len, other.len);
-        std::swap(val, other.val);
-    }
-
-    inline match<nil_t>::match()
-    : len(-1) {}
-
-    inline match<nil_t>::match(std::size_t length_)
-    : len(length_) {}
-
-    inline match<nil_t>::match(std::size_t length_, nil_t)
-    : len(length_) {}
-
-    inline bool
-    match<nil_t>::operator!() const
-    {
-        return len < 0;
-    }
-
-    inline bool
-    match<nil_t>::has_valid_attribute() const
-    {
-        return false;
-    }
-
-    inline std::ptrdiff_t
-    match<nil_t>::length() const
-    {
-        return len;
-    }
-
-    inline nil_t
-    match<nil_t>::value() const
-    {
-        return nil_t();
-    }
-
-    inline void
-    match<nil_t>::value(nil_t) {}
-
-    inline void
-    match<nil_t>::swap(match<nil_t>& other)
-    {
-        std::swap(len, other.len);
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/impl/match_attr_traits.ipp b/SRC/Boost/boost/spirit/home/classic/core/impl/match_attr_traits.ipp
deleted file mode 100755
index 789ee2c..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/impl/match_attr_traits.ipp
+++ /dev/null
@@ -1,102 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_MATCH_ATTR_TRAITS_IPP)
-#define BOOST_SPIRIT_MATCH_ATTR_TRAITS_IPP
-
-#include <boost/optional.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace spirit { 
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-namespace impl
-{
-    template <typename T>
-    struct match_attr_traits
-    {
-        typedef typename
-            boost::optional<T>::reference_const_type
-        const_reference;
-
-        //  case where src *IS* convertible to T (dest)
-        template <typename T2>
-        static void
-        convert(boost::optional<T>& dest, T2 const& src, mpl::true_)
-        { 
-            dest.reset(src); 
-        }
-
-        //  case where src *IS NOT* convertible to T (dest)
-        template <typename T2>
-        static void
-        convert(boost::optional<T>& dest, T2 const& /*src*/, mpl::false_)
-        { 
-            dest.reset(); 
-        }
-
-        static void
-        convert(boost::optional<T>& dest, nil_t/*src*/)
-        { 
-            dest.reset(); 
-        }
-        
-        template <typename T2>
-        static void
-        convert(boost::optional<T>& dest, T2 const& src)
-        { 
-            convert(dest, src, is_convertible<T2, T>());
-        }
-
-        template <typename OtherMatchT>
-        static void
-        copy(boost::optional<T>& dest, OtherMatchT const& src)
-        {
-            if (src.has_valid_attribute())
-                convert(dest, src.value());
-        }
-
-        template <typename OtherMatchT>
-        static void
-        assign(boost::optional<T>& dest, OtherMatchT const& src)
-        {
-            if (src.has_valid_attribute())
-                convert(dest, src.value());
-            else
-                dest.reset();
-        }
-
-        // T is not reference
-        template <typename ValueT>
-        static void
-        set_value(boost::optional<T>& dest, ValueT const& val, mpl::false_)
-        {
-            dest.reset(val);
-        }
-
-        // T is a reference
-        template <typename ValueT>
-        static void
-        set_value(boost::optional<T>& dest, ValueT const& val, mpl::true_)
-        {
-            dest.get() = val;
-        }
-    };
-
-}
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit::impl
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/impl/parser.ipp b/SRC/Boost/boost/spirit/home/classic/core/impl/parser.ipp
deleted file mode 100755
index 8b56189..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/impl/parser.ipp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_PARSER_IPP)
-#define BOOST_SPIRIT_PARSER_IPP
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  Generic parse function implementation
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename IteratorT, typename DerivedT>
-    inline parse_info<IteratorT>
-    parse(
-        IteratorT const& first_
-      , IteratorT const& last
-      , parser<DerivedT> const& p)
-    {
-        IteratorT first = first_;
-        scanner<IteratorT, scanner_policies<> > scan(first, last);
-        match<nil_t> hit = p.derived().parse(scan);
-        return parse_info<IteratorT>(
-            first, hit, hit && (first == last), hit.length());
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  Parse function for null terminated strings implementation
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename CharT, typename DerivedT>
-    inline parse_info<CharT const*>
-    parse(CharT const* str, parser<DerivedT> const& p)
-    {
-        CharT const* last = str;
-        while (*last)
-            last++;
-        return parse(str, last, p);
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/match.hpp b/SRC/Boost/boost/spirit/home/classic/core/match.hpp
deleted file mode 100755
index 3010338..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/match.hpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_MATCH_HPP)
-#define BOOST_SPIRIT_MATCH_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/config.hpp>
-#include <boost/spirit/home/classic/core/nil.hpp>
-#include <boost/call_traits.hpp>
-#include <boost/optional.hpp>
-#include <boost/spirit/home/classic/core/assert.hpp>
-#include <boost/spirit/home/classic/core/safe_bool.hpp>
-#include <boost/spirit/home/classic/core/impl/match_attr_traits.ipp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/is_reference.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  match class
-    //
-    //      The match holds the result of a parser. A match object evaluates
-    //      to true when a successful match is found, otherwise false. The
-    //      length of the match is the number of characters (or tokens) that
-    //      is successfully matched. This can be queried through its length()
-    //      member function. A negative value means that the match is
-    //      unsucessful.
-    //
-    //      Each parser may have an associated attribute. This attribute is
-    //      also returned back to the client on a successful parse through
-    //      the match object. The match's value() member function returns the
-    //      match's attribute.
-    //
-    //      A match attribute is valid:
-    //
-    //          * on a successful match
-    //          * when its value is set through the value(val) member function
-    //          * if it is assigned or copied from a compatible match object
-    //            (e.g. match<double> from match<int>) with a valid attribute.
-    //
-    //      The match attribute is undefined:
-    //
-    //          * on an unsuccessful match
-    //          * when an attempt to copy or assign from another match object
-    //            with an incompatible attribute type (e.g. match<std::string>
-    //            from match<int>).
-    //
-    //      The member function has_valid_attribute() can be queried to know if
-    //      it is safe to get the match's attribute. The attribute may be set
-    //      through the member function value(v) where v is the new attribute
-    //      value.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename T = nil_t>
-    class match : public safe_bool<match<T> >
-    {
-
-    public:
-
-        typedef typename boost::optional<T> optional_type;
-        typedef typename optional_type::argument_type ctor_param_t;
-        typedef typename optional_type::reference_const_type return_t;
-        typedef T attr_t;
-
-                                match();
-        explicit                match(std::size_t length);
-                                match(std::size_t length, ctor_param_t val);
-
-        bool                    operator!() const;
-        std::ptrdiff_t          length() const;
-        bool                    has_valid_attribute() const;
-        return_t                value() const;
-        void                    swap(match& other);
-
-        template <typename T2>
-        match(match<T2> const& other)
-        : len(other.length()), val()
-        {
-            impl::match_attr_traits<T>::copy(val, other);
-        }
-
-        template <typename T2>
-        match&
-        operator=(match<T2> const& other)
-        {
-            impl::match_attr_traits<T>::assign(val, other);
-            len = other.length();
-            return *this;
-        }
-
-        template <typename MatchT>
-        void
-        concat(MatchT const& other)
-        {
-            BOOST_SPIRIT_ASSERT(*this && other);
-            len += other.length();
-        }
-
-        template <typename ValueT>
-        void
-        value(ValueT const& val_)
-        {
-            impl::match_attr_traits<T>::set_value(val, val_, is_reference<T>());
-        }
-
-        bool operator_bool() const
-        {
-            return len >= 0;
-        }
-
-    private:
-
-        std::ptrdiff_t len;
-        optional_type val;
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  match class specialization for nil_t values
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <>
-    class match<nil_t> : public safe_bool<match<nil_t> >
-    {
-    public:
-
-        typedef nil_t attr_t;
-        typedef nil_t return_t;
-
-                                match();
-        explicit                match(std::size_t length);
-                                match(std::size_t length, nil_t);
-
-        bool                    operator!() const;
-        bool                    has_valid_attribute() const;
-        std::ptrdiff_t          length() const;
-        nil_t                   value() const;
-        void                    value(nil_t);
-        void                    swap(match& other);
-
-        template <typename T>
-        match(match<T> const& other)
-        : len(other.length()) {}
-
-        template <typename T>
-        match<>&
-        operator=(match<T> const& other)
-        {
-            len = other.length();
-            return *this;
-        }
-
-        template <typename T>
-        void
-        concat(match<T> const& other)
-        {
-            BOOST_SPIRIT_ASSERT(*this && other);
-            len += other.length();
-        }
-
-        bool operator_bool() const
-        {
-            return len >= 0;
-        }
-
-    private:
-
-        std::ptrdiff_t len;
-    };
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-#include <boost/spirit/home/classic/core/impl/match.ipp>
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/nil.hpp b/SRC/Boost/boost/spirit/home/classic/core/nil.hpp
deleted file mode 100755
index 0cd1cd6..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/nil.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_NIL_HPP)
-#define BOOST_SPIRIT_NIL_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    struct nil_t {};
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}}
-
-#endif
-
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/non_terminal/impl/rule.ipp b/SRC/Boost/boost/spirit/home/classic/core/non_terminal/impl/rule.ipp
deleted file mode 100755
index 4e95cba..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/non_terminal/impl/rule.ipp
+++ /dev/null
@@ -1,420 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_RULE_IPP)
-#define BOOST_SPIRIT_RULE_IPP
-
-#if BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT > 1
-#include <boost/preprocessor/repeat.hpp>
-#include <boost/preprocessor/repeat_from_to.hpp>
-#include <boost/preprocessor/enum_params.hpp>
-#include <boost/preprocessor/enum_params_with_defaults.hpp>
-#include <boost/preprocessor/facilities/intercept.hpp>
-#include <boost/preprocessor/inc.hpp>
-#include <boost/preprocessor/cat.hpp>
-#endif
-
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/scanner/scanner.hpp>
-#include <boost/spirit/home/classic/core/non_terminal/parser_context.hpp>
-#include <boost/spirit/home/classic/core/non_terminal/parser_id.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-#if BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT > 1
-
-        template <
-            BOOST_PP_ENUM_BINARY_PARAMS(
-                BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT,
-                typename ScannerT, = mpl::void_ BOOST_PP_INTERCEPT
-            )
-        >
-        struct scanner_list;
-
-#endif // BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT > 1
-
-    ///////////////////////////////////////////////////////////////////////////
-    namespace impl
-    {
-        template <typename BaseT, typename DefaultT
-            , typename T0, typename T1, typename T2>
-        struct get_param
-        {
-            typedef typename mpl::if_<
-                is_base_and_derived<BaseT, T0>
-              , T0
-              , typename mpl::if_<
-                    is_base_and_derived<BaseT, T1>
-                  , T1
-                  , typename mpl::if_<
-                        is_base_and_derived<BaseT, T2>
-                      , T2
-                      , DefaultT
-                    >::type
-                >::type
-            >::type type;
-        };
-
-        template <typename T0, typename T1, typename T2>
-        struct get_context
-        {
-            typedef typename get_param<
-                parser_context_base, parser_context<>, T0, T1, T2>::type
-            type;
-        };
-
-        template <typename T0, typename T1, typename T2>
-        struct get_tag
-        {
-            typedef typename get_param<
-                parser_tag_base, parser_address_tag, T0, T1, T2>::type
-            type;
-        };
-
-        template <typename T0, typename T1, typename T2>
-        struct get_scanner
-        {
-            typedef typename get_param<
-                scanner_base, scanner<>, T0, T1, T2>::type
-            type;
-        };
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  rule_base class
-        //
-        //      The rule_base class implements the basic plumbing for rules
-        //      minus the storage mechanism. It is up to the derived class
-        //      to actually store the definition somewhere. The rule_base
-        //      class assumes that the derived class provides a get() function
-        //      that will return a pointer to a parser. The get() function
-        //      may return NULL. See rule below for details.
-        //
-        //      <<< For framework use only. Not for public consumption. >>>
-        //
-        ///////////////////////////////////////////////////////////////////////
-        template <
-            typename DerivedT       // derived class
-          , typename EmbedT         // how derived class is embedded
-          , typename T0 = nil_t     // see rule class
-          , typename T1 = nil_t     // see rule class
-          , typename T2 = nil_t     // see rule class
-        >
-        class rule_base; // forward declaration
-
-        class rule_base_access
-        {
-#if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS) \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-        public: // YUCK!
-#else
-            template <
-                typename DerivedT
-              , typename EmbedT
-              , typename T0
-              , typename T1
-              , typename T2
-            >
-           friend class rule_base;
-#endif
-            template <typename RuleT>
-            static typename RuleT::abstract_parser_t*
-            get(RuleT const& r)
-            {
-                return r.get();
-            }
-        };
-
-        template <
-            typename DerivedT       // derived class
-          , typename EmbedT         // how derived class is embedded
-          , typename T0             // see rule class
-          , typename T1             // see rule class
-          , typename T2             // see rule class
-        >
-        class rule_base
-            : public parser<DerivedT>
-            , public impl::get_context<T0, T1, T2>::type::base_t
-            , public context_aux<
-                typename impl::get_context<T0, T1, T2>::type, DerivedT>
-            , public impl::get_tag<T0, T1, T2>::type
-        {
-        public:
-
-            typedef typename impl::get_scanner<T0, T1, T2>::type scanner_t;
-            typedef typename impl::get_context<T0, T1, T2>::type context_t;
-            typedef typename impl::get_tag<T0, T1, T2>::type tag_t;
-
-            typedef EmbedT embed_t;
-            typedef typename context_t::context_linker_t linked_context_t;
-            typedef typename linked_context_t::attr_t attr_t;
-
-            template <typename ScannerT>
-            struct result
-            {
-                typedef typename match_result<ScannerT, attr_t>::type type;
-            };
-
-            template <typename ScannerT>
-            typename parser_result<DerivedT, ScannerT>::type
-            parse(ScannerT const& scan) const
-            {
-                typedef parser_scanner_linker<ScannerT> linked_scanner_t;
-                typedef typename parser_result<DerivedT, ScannerT>::type result_t;
-                BOOST_SPIRIT_CONTEXT_PARSE(
-                    scan, *this, linked_scanner_t, linked_context_t, result_t);
-            }
-
-            template <typename ScannerT>
-            typename parser_result<DerivedT, ScannerT>::type
-            parse_main(ScannerT const& scan) const
-            {
-                typename parser_result<DerivedT, ScannerT>::type hit;
-
-                //  MWCW 8.3 needs this cast to be done through a pointer,
-                //  not a reference. Otherwise, it will silently construct
-                //  a temporary, causing an infinite runtime recursion.
-                DerivedT const* derived_this = static_cast<DerivedT const*>(this);
-
-                if (rule_base_access::get(*derived_this))
-                {
-                    typename ScannerT::iterator_t s(scan.first);
-                    hit = rule_base_access::get(*derived_this)
-                            ->do_parse_virtual(scan);
-                    scan.group_match(hit, this->id(), s, scan.first);
-                }
-                else
-                {
-                    hit = scan.no_match();
-                }
-                return hit;
-            }
-        };
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  abstract_parser class
-        //
-        ///////////////////////////////////////////////////////////////////////
-        template <typename ScannerT, typename AttrT>
-        struct abstract_parser
-        {
-            abstract_parser() {}
-            virtual ~abstract_parser() {}
-
-            virtual typename match_result<ScannerT, AttrT>::type
-            do_parse_virtual(ScannerT const& scan) const = 0;
-
-            virtual abstract_parser*
-            clone() const = 0;
-        };
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  concrete_parser class
-        //
-        ///////////////////////////////////////////////////////////////////////
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(push)
-#pragma warning(disable:4512) //assignment operator could not be generated
-#endif
-        
-        template <typename ParserT, typename ScannerT, typename AttrT>
-        struct concrete_parser : abstract_parser<ScannerT, AttrT>
-        {
-            concrete_parser(ParserT const& p_) : p(p_) {}
-            virtual ~concrete_parser() {}
-
-            virtual typename match_result<ScannerT, AttrT>::type
-            do_parse_virtual(ScannerT const& scan) const
-            {
-                return p.parse(scan);
-            }
-
-            virtual abstract_parser<ScannerT, AttrT>*
-            clone() const
-            {
-                return new concrete_parser(p);
-            }
-
-            typename ParserT::embed_t p;
-        };
-        
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-#pragma warning(pop)
-#endif
-
-#if BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT > 1
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  This generates partial specializations for the class
-        //
-        //          abstract_parser
-        //
-        //  with an increasing number of different ScannerT template parameters
-        //  and corresponding do_parse_virtual function declarations for each
-        //  of the different required scanner types:
-        //
-        //      template <typename ScannerT0, ..., typename AttrT>
-        //      struct abstract_parser<scanner_list<ScannerT0, ...>, AttrT>
-        //      {
-        //          abstract_parser() {}
-        //          virtual ~abstract_parser() {}
-        //
-        //          virtual typename match_result<ScannerT0, AttrT>::type
-        //          do_parse_virtual(ScannerT0 const &scan) const = 0;
-        //
-        //          virtual abstract_parser*
-        //          clone() const = 0;
-        //
-        //          ...
-        //      };
-        //
-        ///////////////////////////////////////////////////////////////////////
-        #define BOOST_SPIRIT_RULE_ENUM_DOPARSE_A(z, N, _)                       \
-                virtual typename match_result<                                  \
-                    BOOST_PP_CAT(ScannerT, N), AttrT                            \
-                >::type                                                         \
-                do_parse_virtual(                                               \
-                    BOOST_PP_CAT(ScannerT, N) const& scan) const = 0;           \
-
-        #define BOOST_SPIRIT_ENUM_ABSTRACT_PARSERS(z, N, _)                     \
-            template <                                                          \
-                BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(N), typename ScannerT),  \
-                typename AttrT                                                  \
-            >                                                                   \
-            struct abstract_parser<                                             \
-                scanner_list<                                                   \
-                    BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(N), ScannerT)        \
-                >,                                                              \
-                AttrT                                                           \
-            >                                                                   \
-            {                                                                   \
-                abstract_parser() {}                                            \
-                virtual ~abstract_parser() {}                                   \
-                                                                                \
-                BOOST_PP_REPEAT_ ## z(                                          \
-                    BOOST_PP_INC(N), BOOST_SPIRIT_RULE_ENUM_DOPARSE_A, _)       \
-                                                                                \
-                virtual abstract_parser*                                        \
-                clone() const = 0;                                              \
-            };                                                                  \
-
-        BOOST_PP_REPEAT_FROM_TO(1, BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT,
-            BOOST_SPIRIT_ENUM_ABSTRACT_PARSERS, _)
-
-        #undef BOOST_SPIRIT_RULE_ENUM_DOPARSE_A
-        #undef BOOST_SPIRIT_ENUM_ABSTRACT_PARSERS
-        ///////////////////////////////////////////////////////////////////////
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  This generates partial specializations for the class
-        //
-        //          concrete_parser
-        //
-        //  with an increasing number of different ScannerT template parameters
-        //  and corresponding do_parse_virtual function declarations for each
-        //  of the different required scanner types:
-        //
-        //      template <
-        //          typename ParserT, typename ScannerT0, ..., typename AttrT
-        //      >
-        //      struct concrete_parser<
-        //          ParserT, scanner_list<ScannerT0, ...>, AttrT
-        //      >
-        //      :   public abstract_parser<scanner_list<ScannerT0, ...>, AttrT>
-        //      {
-        //          concrete_parser(ParserT const& p_) : p(p_) {}
-        //          virtual ~concrete_parser() {}
-        //
-        //          virtual typename match_result<ScannerT0, AttrT>::type
-        //          do_parse_virtual(ScannerT0 const &scan) const
-        //          { return p.parse(scan); }
-        //
-        //          virtual abstract_parser<scanner_list<ScannerT0, ...>, AttrT>*
-        //          clone() const
-        //          {
-        //              return new concrete_parser(p);
-        //          }
-        //
-        //          ...
-        //
-        //          typename ParserT::embed_t p;
-        //      };
-        //
-        ///////////////////////////////////////////////////////////////////////
-        #define BOOST_SPIRIT_RULE_ENUM_DOPARSE_C(z, N, _)                       \
-                virtual typename match_result<                                  \
-                    BOOST_PP_CAT(ScannerT, N), AttrT                            \
-                >::type                                                         \
-                do_parse_virtual(                                               \
-                    BOOST_PP_CAT(ScannerT, N) const& scan) const                \
-                { return p.parse(scan); }                                       \
-
-        #define BOOST_SPIRIT_ENUM_CONCRETE_PARSERS(z, N, _)                     \
-            template <                                                          \
-                typename ParserT,                                               \
-                BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(N), typename ScannerT),  \
-                typename AttrT                                                  \
-            >                                                                   \
-            struct concrete_parser<                                             \
-                ParserT,                                                        \
-                scanner_list<                                                   \
-                    BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(N), ScannerT)        \
-                >,                                                              \
-                AttrT                                                           \
-            >                                                                   \
-            :   abstract_parser<                                                \
-                    scanner_list<                                               \
-                        BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(N), ScannerT)    \
-                    >,                                                          \
-                    AttrT                                                       \
-                >                                                               \
-            {                                                                   \
-                concrete_parser(ParserT const& p_) : p(p_) {}                   \
-                virtual ~concrete_parser() {}                                   \
-                                                                                \
-                BOOST_PP_REPEAT_ ## z(                                          \
-                    BOOST_PP_INC(N), BOOST_SPIRIT_RULE_ENUM_DOPARSE_C, _)       \
-                                                                                \
-                virtual abstract_parser<                                        \
-                    scanner_list<                                               \
-                        BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(N), ScannerT)    \
-                    >,                                                          \
-                    AttrT                                                       \
-                >*                                                              \
-                clone() const                                                   \
-                {                                                               \
-                    return new concrete_parser(p);                              \
-                }                                                               \
-                                                                                \
-                typename ParserT::embed_t p;                                    \
-            };                                                                  \
-
-        BOOST_PP_REPEAT_FROM_TO(1, BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT,
-            BOOST_SPIRIT_ENUM_CONCRETE_PARSERS, _)
-
-        #undef BOOST_SPIRIT_ENUM_CONCRETE_PARSERS
-        #undef BOOST_SPIRIT_RULE_ENUM_DOPARSE_C
-        ///////////////////////////////////////////////////////////////////////
-
-#endif // BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT > 1
-
-    } // namespace impl
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/non_terminal/parser_context.hpp b/SRC/Boost/boost/spirit/home/classic/core/non_terminal/parser_context.hpp
deleted file mode 100755
index a65d5d1..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/non_terminal/parser_context.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2002-2003 Joel de Guzman
-    Copyright (c) 2002-2003 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_PARSER_CONTEXT_HPP)
-#define BOOST_SPIRIT_PARSER_CONTEXT_HPP
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost
-{
-    namespace spirit
-    {
-    BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  default_parser_context_base class { default context base }
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct default_parser_context_base
-    {
-        template <typename DerivedT>
-        struct aux {};
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  parser_context_base class { base class of all context classes }
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct parser_context_base {};
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  parser_context class { default context }
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct nil_t;
-    template<typename ContextT> struct parser_context_linker;
-
-    template<typename AttrT = nil_t>
-    struct parser_context : parser_context_base
-    {
-        typedef AttrT attr_t;
-        typedef default_parser_context_base base_t;
-        typedef parser_context_linker<parser_context<AttrT> > context_linker_t;
-
-        template <typename ParserT>
-        parser_context(ParserT const&) {}
-
-        template <typename ParserT, typename ScannerT>
-        void
-        pre_parse(ParserT const&, ScannerT const&) {}
-
-        template <typename ResultT, typename ParserT, typename ScannerT>
-        ResultT&
-        post_parse(ResultT& hit, ParserT const&, ScannerT const&)
-        { return hit; }
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  context_aux class
-    //
-    //      context_aux<ContextT, DerivedT> is a class derived from the
-    //      ContextT's nested base_t::base<DerivedT> template class. (see
-    //      default_parser_context_base::aux for an example).
-    //
-    //      Basically, this class provides ContextT dependent optional
-    //      functionality to the derived class DerivedT through the CRTP
-    //      idiom (Curiously recurring template pattern).
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename ContextT, typename DerivedT>
-    struct context_aux : public ContextT::base_t::template aux<DerivedT> {};
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  parser_scanner_linker and parser_scanner_linker classes
-    //  { helper templates for the rule extensibility }
-    //
-    //      This classes can be 'overloaded' (defined elsewhere), to plug
-    //      in additional functionality into the non-terminal parsing process.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    #if !defined(BOOST_SPIRIT_PARSER_SCANNER_LINKER_DEFINED)
-    #define BOOST_SPIRIT_PARSER_SCANNER_LINKER_DEFINED
-
-    template<typename ScannerT>
-    struct parser_scanner_linker : public ScannerT
-    {
-        parser_scanner_linker(ScannerT const scan_) : ScannerT(scan_) {}
-    };
-
-    #endif // !defined(BOOST_SPIRIT_PARSER_SCANNER_LINKER_DEFINED)
-
-    //////////////////////////////////
-    #if !defined(BOOST_SPIRIT_PARSER_CONTEXT_LINKER_DEFINED)
-    #define BOOST_SPIRIT_PARSER_CONTEXT_LINKER_DEFINED
-
-    template<typename ContextT>
-    struct parser_context_linker : public ContextT
-    {
-        template <typename ParserT>
-        parser_context_linker(ParserT const& p)
-        : ContextT(p) {}
-
-        template <typename ParserT, typename ScannerT>
-        void pre_parse(ParserT const& p, ScannerT const& scan)
-        { ContextT::pre_parse(p, scan); }
-
-        template <typename ResultT, typename ParserT, typename ScannerT>
-        ResultT&
-        post_parse(ResultT& hit, ParserT const& p, ScannerT const& scan)
-        { return ContextT::post_parse(hit, p, scan); }
-    };
-
-    #endif // !defined(BOOST_SPIRIT_PARSER_CONTEXT_LINKER_DEFINED)
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  BOOST_SPIRIT_CONTEXT_PARSE helper macro
-    //
-    //      The original implementation uses a template class. However, we
-    //      need to lessen the template instantiation depth to help inferior
-    //      compilers that sometimes choke on deep template instantiations.
-    //      The objective is to avoid code redundancy. A macro, in this case
-    //      is an obvious solution. Sigh!
-    //
-    //      WARNING: INTERNAL USE ONLY. NOT FOR PUBLIC CONSUMPTION.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    #define BOOST_SPIRIT_CONTEXT_PARSE(scan, this_, scanner_t, context_t, result_t) \
-            scanner_t scan_wrap(scan);                                              \
-            context_t context_wrap(this_);                                          \
-            context_wrap.pre_parse(this_, scan_wrap);                               \
-            result_t hit = parse_main(scan);                                        \
-            return context_wrap.post_parse(hit, this_, scan_wrap);
-
-    BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-    } // namespace spirit
-} // namespace boost
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/non_terminal/parser_id.hpp b/SRC/Boost/boost/spirit/home/classic/core/non_terminal/parser_id.hpp
deleted file mode 100755
index f0abda8..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/non_terminal/parser_id.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    Copyright (c) 2001 Daniel Nuffer
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_PARSER_ID_HPP)
-#define BOOST_SPIRIT_PARSER_ID_HPP
-
-#if defined(BOOST_SPIRIT_DEBUG)
-#   include <ostream>
-#endif
-#include <boost/spirit/home/classic/namespace.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  parser_id class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    class parser_id
-    {
-    public:
-                    parser_id()                     : p(0) {}
-        explicit    parser_id(void const* prule)    : p(prule) {}
-                    parser_id(std::size_t l_)       : l(l_) {}
-
-        bool operator==(parser_id const& x) const   { return p == x.p; }
-        bool operator!=(parser_id const& x) const   { return !(*this == x); }
-        bool operator<(parser_id const& x) const    { return p < x.p; }
-        std::size_t to_long() const                 { return l; }
-
-    private:
-
-        union
-        {
-            void const* p;
-            std::size_t l;
-        };
-    };
-
-    #if defined(BOOST_SPIRIT_DEBUG)
-    inline std::ostream&
-    operator<<(std::ostream& out, parser_id const& rid)
-    {
-        out << (unsigned int)rid.to_long();
-        return out;
-    }
-    #endif
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  parser_tag_base class: base class of all parser tags
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct parser_tag_base {};
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  parser_address_tag class: tags a parser with its address
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct parser_address_tag : parser_tag_base
-    {
-        parser_id id() const
-        { return parser_id(reinterpret_cast<std::size_t>(this)); }
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  parser_tag class: tags a parser with an integer ID
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <int N>
-    struct parser_tag : parser_tag_base
-    {
-        static parser_id id()
-        { return parser_id(std::size_t(N)); }
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  dynamic_parser_tag class: tags a parser with a dynamically changeable
-    //  integer ID
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    class dynamic_parser_tag : public parser_tag_base
-    {
-    public:
-    
-        dynamic_parser_tag() 
-        : tag(std::size_t(0)) {}
-        
-        parser_id 
-        id() const
-        { 
-            return 
-                tag.to_long() 
-                ? tag 
-                : parser_id(reinterpret_cast<std::size_t>(this)); 
-        }
-
-        void set_id(parser_id id_) { tag = id_; } 
-        
-    private:
-    
-        parser_id tag;
-    };
-
-///////////////////////////////////////////////////////////////////////////////
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/non_terminal/rule.hpp b/SRC/Boost/boost/spirit/home/classic/core/non_terminal/rule.hpp
deleted file mode 100755
index 15e4ad0..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/non_terminal/rule.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_RULE_HPP)
-#define BOOST_SPIRIT_RULE_HPP
-
-#include <boost/static_assert.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Spirit predefined maximum number of simultaneously usable different
-//  scanner types.
-//
-//  This limit defines the maximum number of of possible different scanner
-//  types for which a specific rule<> may be used. If this isn't defined, a
-//  rule<> may be used with one scanner type only (multiple scanner support
-//  is disabled).
-//
-///////////////////////////////////////////////////////////////////////////////
-#if !defined(BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT)
-#  define BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT 1
-#endif
-
-//  Ensure a meaningful maximum number of simultaneously usable scanner types
-BOOST_STATIC_ASSERT(BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT > 0);
-
-#include <boost/scoped_ptr.hpp>
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/non_terminal/impl/rule.ipp>
-
-#if BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT > 1
-#  include <boost/preprocessor/enum_params.hpp>
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-#if BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT > 1
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  scanner_list (a fake scanner)
-    //
-    //      Typically, rules are tied to a specific scanner type and
-    //      a particular rule cannot be used with anything else. Sometimes
-    //      there's a need for rules that can accept more than one scanner
-    //      type. The scanner_list<S0, ...SN> can be used as a template
-    //      parameter to the rule class to specify up to the number of
-    //      scanner types defined by the BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT
-    //      constant. Example:
-    //
-    //          rule<scanner_list<ScannerT0, ScannerT1> > r;
-    //
-    //      *** This feature is available only to compilers that support
-    //      partial template specialization. ***
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <
-        BOOST_PP_ENUM_PARAMS(
-            BOOST_SPIRIT_RULE_SCANNERTYPE_LIMIT,
-            typename ScannerT
-        )
-    >
-    struct scanner_list : scanner_base {};
-
-#endif
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  rule class
-    //
-    //      The rule is a polymorphic parser that acts as a named place-
-    //      holder capturing the behavior of an EBNF expression assigned to
-    //      it.
-    //
-    //      The rule is a template class parameterized by:
-    //
-    //          1) scanner (scanner_t, see scanner.hpp),
-    //          2) the rule's context (context_t, see parser_context.hpp)
-    //          3) an arbitrary tag (tag_t, see parser_id.hpp) that allows
-    //             a rule to be tagged for identification.
-    //
-    //      These template parameters may be specified in any order. The
-    //      scanner will default to scanner<> when it is not specified.
-    //      The context will default to parser_context when not specified.
-    //      The tag will default to parser_address_tag when not specified.
-    //
-    //      The definition of the rule (its right hand side, RHS) held by
-    //      the rule through a scoped_ptr. When a rule is seen in the RHS
-    //      of an assignment or copy construction EBNF expression, the rule
-    //      is held by the LHS rule by reference.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <
-        typename T0 = nil_t
-      , typename T1 = nil_t
-      , typename T2 = nil_t
-    >
-    class rule
-        : public impl::rule_base<
-            rule<T0, T1, T2>
-          , rule<T0, T1, T2> const&
-          , T0, T1, T2>
-    {
-    public:
-
-        typedef rule<T0, T1, T2> self_t;
-        typedef impl::rule_base<
-            self_t
-          , self_t const&
-          , T0, T1, T2>
-        base_t;
-
-        typedef typename base_t::scanner_t scanner_t;
-        typedef typename base_t::attr_t attr_t;
-        typedef impl::abstract_parser<scanner_t, attr_t> abstract_parser_t;
-
-        rule() : ptr() {}
-        ~rule() {}
-
-        rule(rule const& r)
-        : ptr(new impl::concrete_parser<rule, scanner_t, attr_t>(r)) {}
-
-        template <typename ParserT>
-        rule(ParserT const& p)
-        : ptr(new impl::concrete_parser<ParserT, scanner_t, attr_t>(p)) {}
-
-        template <typename ParserT>
-        rule& operator=(ParserT const& p)
-        {
-            ptr.reset(new impl::concrete_parser<ParserT, scanner_t, attr_t>(p));
-            return *this;
-        }
-
-        rule& operator=(rule const& r)
-        {
-            ptr.reset(new impl::concrete_parser<rule, scanner_t, attr_t>(r));
-            return *this;
-        }
-
-        rule<T0, T1, T2>
-        copy() const
-        {
-            return rule<T0, T1, T2>(ptr.get() ? ptr->clone() : 0);
-        }
-
-    private:
-        friend class impl::rule_base_access;
-
-        abstract_parser_t*
-        get() const
-        {
-            return ptr.get();
-        }
-
-        rule(abstract_parser_t* ptr_)
-        : ptr(ptr_) {}
-
-        rule(abstract_parser_t const* ptr_)
-        : ptr(ptr_) {}
-
-        scoped_ptr<abstract_parser_t> ptr;
-    };
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/parser.hpp b/SRC/Boost/boost/spirit/home/classic/core/parser.hpp
deleted file mode 100755
index b490d4a..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/parser.hpp
+++ /dev/null
@@ -1,223 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_PARSER_HPP)
-#define BOOST_SPIRIT_PARSER_HPP
-
-#include <boost/config.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/scanner/scanner.hpp>
-#include <boost/spirit/home/classic/core/nil.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    template <typename ParserT, typename ActionT>
-    class action; //  forward declaration
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  Parser categories
-    //
-    //      Helper template classes to distinguish different types of
-    //      parsers. The following categories are the most generic. More
-    //      specific types may inherit from these. Each parser has a typedef
-    //      parser_category_t that defines its category. By default, if one
-    //      is not specified, it will inherit from the base parser class
-    //      which typedefs its parser_category_t as plain_parser_category.
-    //
-    //          - plain parser has nothing special
-    //          - binary parser has subject a and b (e.g. alternative)
-    //          - unary parser has single subject  (e.g. kleene star)
-    //          - action parser has an attached action parser
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct plain_parser_category {};
-    struct binary_parser_category       : plain_parser_category {};
-    struct unary_parser_category        : plain_parser_category {};
-    struct action_parser_category       : unary_parser_category {};
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  parser_result metafunction
-    //
-    //      Given a scanner type ScannerT and a parser type ParserT, the
-    //      parser_result metafunction provides the actual result of the
-    //      parser.
-    //
-    //  Usage:
-    //
-    //      typename parser_result<ParserT, ScannerT>::type
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename ParserT, typename ScannerT>
-    struct parser_result
-    {
-        typedef typename boost::remove_reference<ParserT>::type parser_type;
-        typedef typename parser_type::template result<ScannerT>::type type;
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  parser class
-    //
-    //      This class is a protocol base class for all parsers. This is
-    //      essentially an interface contract. The parser class does not
-    //      really know how to parse anything but instead relies on the
-    //      template parameter DerivedT (which obviously is assumed to be a
-    //      subclass) to do the actual parsing.
-    //
-    //      Concrete sub-classes inheriting from parser must have a
-    //      corresponding member function parse(...) compatible with the
-    //      conceptual Interface:
-    //
-    //          template <typename ScannerT>
-    //          RT parse(ScannerT const& scan) const;
-    //
-    //      where RT is the desired return type of the parser and ScannerT
-    //      scan is the scanner (see scanner.hpp).
-    //
-    //      Concrete sub-classes inheriting from parser in most cases need to
-    //      have a nested meta-function result that returns the result type
-    //      of the parser's parse member function, given a scanner type. The
-    //      meta-function has the form:
-    //
-    //          template <typename ScannerT>
-    //          struct result
-    //          {
-    //              typedef RT type;
-    //          };
-    //
-    //      where RT is the desired return type of the parser. This is
-    //      usually, but not always, dependent on the template parameter
-    //      ScannerT. If a parser does not supply a result metafunction, a
-    //      default is provided by the base parser class.
-    //
-    //      The parser's derived() member function returns a reference to the
-    //      parser as its derived object.
-    //
-    //      An operator[] is provided. The operator returns a semantic action
-    //      handler (see actions.hpp).
-    //
-    //      Each parser has a typedef embed_t. This typedef specifies how a
-    //      parser is embedded in a composite (see composite.hpp). By
-    //      default, if one is not specified, the parser will be embedded by
-    //      value. That is, a copy of the parser is placed as a member
-    //      variable of the composite. Most parsers are embedded by value. In
-    //      certain situations however, this is not desirable or possible.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename DerivedT>
-    struct parser
-    {
-        typedef DerivedT                embed_t;
-        typedef DerivedT                derived_t;
-        typedef plain_parser_category   parser_category_t;
-
-        template <typename ScannerT>
-        struct result
-        {
-            typedef typename match_result<ScannerT, nil_t>::type type;
-        };
-
-        DerivedT& derived()
-        {
-            return *static_cast<DerivedT*>(this);
-        }
-
-        DerivedT const& derived() const
-        {
-            return *static_cast<DerivedT const*>(this);
-        }
-
-        template <typename ActionT>
-        action<DerivedT, ActionT>
-        operator[](ActionT const& actor) const
-        {
-            return action<DerivedT, ActionT>(derived(), actor);
-        }
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  parse_info
-    //
-    //      Results returned by the free parse functions:
-    //
-    //      stop:   points to the final parse position (i.e parsing
-    //              processed the input up to this point).
-    //
-    //      hit:    true if parsing is successful. This may be full:
-    //              the parser consumed all the input, or partial:
-    //              the parser consumed only a portion of the input.
-    //
-    //      full:   true when we have a full hit (i.e the parser
-    //              consumed all the input.
-    //
-    //      length: The number of characters consumed by the parser.
-    //              This is valid only if we have a successful hit
-    //              (either partial or full).
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename IteratorT = char const*>
-    struct parse_info
-    {
-        IteratorT   stop;
-        bool        hit;
-        bool        full;
-        std::size_t length;
-
-        parse_info(
-            IteratorT const& stop_ = IteratorT(),
-            bool hit_ = false,
-            bool full_ = false,
-            std::size_t length_ = 0)
-        : stop(stop_)
-        , hit(hit_)
-        , full(full_)
-        , length(length_) {}
-
-        template <typename ParseInfoT>
-        parse_info(ParseInfoT const& pi)
-        : stop(pi.stop)
-        , hit(pi.hit)
-        , full(pi.full)
-        , length(pi.length) {}
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  Generic parse function
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename IteratorT, typename DerivedT>
-    parse_info<IteratorT>
-    parse(
-        IteratorT const&        first,
-        IteratorT const&        last,
-        parser<DerivedT> const& p);
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  Parse function for null terminated strings
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename CharT, typename DerivedT>
-    parse_info<CharT const*>
-    parse(
-        CharT const*            str,
-        parser<DerivedT> const& p);
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/core/impl/parser.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/core/primitives/impl/numerics.ipp b/SRC/Boost/boost/spirit/home/classic/core/primitives/impl/numerics.ipp
deleted file mode 100755
index 5f2b412..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/primitives/impl/numerics.ipp
+++ /dev/null
@@ -1,478 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001-2003 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_NUMERICS_IPP
-#define BOOST_SPIRIT_NUMERICS_IPP
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <limits>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    struct sign_parser; // forward declaration only
-
-    namespace impl
-    {
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  Extract the prefix sign (- or +)
-        //
-        ///////////////////////////////////////////////////////////////////////
-        template <typename ScannerT>
-        bool
-        extract_sign(ScannerT const& scan, std::size_t& count)
-        {
-            //  Extract the sign
-            count = 0;
-            bool neg = *scan == '-';
-            if (neg || (*scan == '+'))
-            {
-                ++scan;
-                ++count;
-                return neg;
-            }
-
-            return false;
-        }
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  Traits class for radix specific number conversion
-        //
-        //      Convert a digit from character representation, ch, to binary
-        //      representation, returned in val.
-        //      Returns whether the conversion was successful.
-        //
-        //        template<typename CharT> static bool digit(CharT ch, T& val);
-        //
-        ///////////////////////////////////////////////////////////////////////
-        template<const int Radix>
-        struct radix_traits;
-
-        ////////////////////////////////// Binary
-        template<>
-        struct radix_traits<2>
-        {
-            template<typename CharT, typename T>
-            static bool digit(CharT ch, T& val)
-            {
-                val = ch - '0';
-                return ('0' == ch || '1' == ch);
-            }
-        };
-
-        ////////////////////////////////// Octal
-        template<>
-        struct radix_traits<8>
-        {
-            template<typename CharT, typename T>
-            static bool digit(CharT ch, T& val)
-            {
-                val = ch - '0';
-                return ('0' <= ch && ch <= '7');
-            }
-        };
-
-        ////////////////////////////////// Decimal
-        template<>
-        struct radix_traits<10>
-        {
-            template<typename CharT, typename T>
-            static bool digit(CharT ch, T& val)
-            {
-                val = ch - '0';
-                return impl::isdigit_(ch);
-            }
-        };
-
-        ////////////////////////////////// Hexadecimal
-        template<>
-        struct radix_traits<16>
-        {
-            template<typename CharT, typename T>
-            static bool digit(CharT ch, T& val)
-            {
-                if (radix_traits<10>::digit(ch, val))
-                    return true;
-
-                CharT lc = impl::tolower_(ch);
-                if ('a' <= lc && lc <= 'f')
-                {
-                    val = lc - 'a' + 10;
-                    return true;
-                }
-                return false;
-            }
-        };
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //      Helper templates for encapsulation of radix specific
-        //      conversion of an input string to an integral value.
-        //
-        //      main entry point:
-        //
-        //          extract_int<Radix, MinDigits, MaxDigits, Accumulate>
-        //              ::f(first, last, n, count);
-        //
-        //          The template parameter Radix represents the radix of the
-        //          number contained in the parsed string. The template
-        //          parameter MinDigits specifies the minimum digits to
-        //          accept. The template parameter MaxDigits specifies the
-        //          maximum digits to parse. A -1 value for MaxDigits will
-        //          make it parse an arbitrarilly large number as long as the
-        //          numeric type can hold it. Accumulate is either
-        //          positive_accumulate<Radix> (default) for parsing positive
-        //          numbers or negative_accumulate<Radix> otherwise.
-        //          Checking is only performed when std::numeric_limits<T>::
-        //          is_specialized is true. Otherwise, there's no way to
-        //          do the check.
-        //
-        //          scan.first and scan.last are iterators as usual (i.e.
-        //          first is mutable and is moved forward when a match is
-        //          found), n is a variable that holds the number (passed by
-        //          reference). The number of parsed characters is added to
-        //          count (also passed by reference)
-        //
-        //      NOTE:
-        //              Returns a non-match, if the number to parse
-        //              overflows (or underflows) the used type.
-        //
-        //      BEWARE:
-        //              the parameters 'n' and 'count' should be properly
-        //              initialized before calling this function.
-        //
-        ///////////////////////////////////////////////////////////////////////
-#if defined(BOOST_MSVC)
-#pragma warning(push) 
-#pragma warning(disable:4127) //conditional expression is constant
-#endif
-        
-        template <typename T, int Radix>
-        struct positive_accumulate
-        {
-            //  Use this accumulator if number is positive
-            static bool add(T& n, T digit)
-            {
-                if (std::numeric_limits<T>::is_specialized)
-                {
-                    static T const max = (std::numeric_limits<T>::max)();
-                    static T const max_div_radix = max/Radix;
-
-                    if (n > max_div_radix)
-                        return false;
-                    n *= Radix;
-
-                    if (n > max - digit)
-                        return false;
-                    n += digit;
-
-                    return true;
-                }
-                else
-                {
-                    n *= Radix;
-                    n += digit;
-                    return true;
-                }
-            }
-        };
-
-        template <typename T, int Radix>
-        struct negative_accumulate
-        {
-            //  Use this accumulator if number is negative
-            static bool add(T& n, T digit)
-            {
-                if (std::numeric_limits<T>::is_specialized)
-                {
-                    typedef std::numeric_limits<T> num_limits;
-                    static T const min =
-                        (!num_limits::is_integer && num_limits::is_signed && num_limits::has_denorm) ?
-                        -(num_limits::max)() : (num_limits::min)();
-                    static T const min_div_radix = min/Radix;
-
-                    if (n < min_div_radix)
-                        return false;
-                    n *= Radix;
-
-                    if (n < min + digit)
-                        return false;
-                    n -= digit;
-
-                    return true;
-                }
-                else
-                {
-                    n *= Radix;
-                    n -= digit;
-                    return true;
-                }
-            }
-        };
-
-        template <int MaxDigits>
-        inline bool allow_more_digits(std::size_t i)
-        {
-            return i < MaxDigits;
-        }
-
-        template <>
-        inline bool allow_more_digits<-1>(std::size_t)
-        {
-            return true;
-        }
-
-        //////////////////////////////////
-        template <
-            int Radix, unsigned MinDigits, int MaxDigits,
-            typename Accumulate
-        >
-        struct extract_int
-        {
-            template <typename ScannerT, typename T>
-            static bool
-            f(ScannerT& scan, T& n, std::size_t& count)
-            {
-                std::size_t i = 0;
-                T digit;
-                while( allow_more_digits<MaxDigits>(i) && !scan.at_end() &&
-                    radix_traits<Radix>::digit(*scan, digit) )
-                {
-                    if (!Accumulate::add(n, digit))
-                        return false; // Overflow
-                    ++i, ++scan, ++count;
-                }
-                return i >= MinDigits;
-            }
-        };
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  uint_parser_impl class
-        //
-        ///////////////////////////////////////////////////////////////////////
-        template <
-            typename T = unsigned,
-            int Radix = 10,
-            unsigned MinDigits = 1,
-            int MaxDigits = -1
-        >
-        struct uint_parser_impl
-            : parser<uint_parser_impl<T, Radix, MinDigits, MaxDigits> >
-        {
-            typedef uint_parser_impl<T, Radix, MinDigits, MaxDigits> self_t;
-
-            template <typename ScannerT>
-            struct result
-            {
-                typedef typename match_result<ScannerT, T>::type type;
-            };
-
-            template <typename ScannerT>
-            typename parser_result<self_t, ScannerT>::type
-            parse(ScannerT const& scan) const
-            {
-                if (!scan.at_end())
-                {
-                    T n = 0;
-                    std::size_t count = 0;
-                    typename ScannerT::iterator_t save = scan.first;
-                    if (extract_int<Radix, MinDigits, MaxDigits,
-                        positive_accumulate<T, Radix> >::f(scan, n, count))
-                    {
-                        return scan.create_match(count, n, save, scan.first);
-                    }
-                    // return no-match if number overflows
-                }
-                return scan.no_match();
-            }
-        };
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  int_parser_impl class
-        //
-        ///////////////////////////////////////////////////////////////////////
-        template <
-            typename T = unsigned,
-            int Radix = 10,
-            unsigned MinDigits = 1,
-            int MaxDigits = -1
-        >
-        struct int_parser_impl
-            : parser<int_parser_impl<T, Radix, MinDigits, MaxDigits> >
-        {
-            typedef int_parser_impl<T, Radix, MinDigits, MaxDigits> self_t;
-
-            template <typename ScannerT>
-            struct result
-            {
-                typedef typename match_result<ScannerT, T>::type type;
-            };
-
-            template <typename ScannerT>
-            typename parser_result<self_t, ScannerT>::type
-            parse(ScannerT const& scan) const
-            {
-                typedef extract_int<Radix, MinDigits, MaxDigits,
-                    negative_accumulate<T, Radix> > extract_int_neg_t;
-                typedef extract_int<Radix, MinDigits, MaxDigits,
-                    positive_accumulate<T, Radix> > extract_int_pos_t;
-
-                if (!scan.at_end())
-                {
-                    T n = 0;
-                    std::size_t count = 0;
-                    typename ScannerT::iterator_t save = scan.first;
-
-                    bool hit = impl::extract_sign(scan, count);
-
-                    if (hit)
-                        hit = extract_int_neg_t::f(scan, n, count);
-                    else
-                        hit = extract_int_pos_t::f(scan, n, count);
-
-                    if (hit)
-                        return scan.create_match(count, n, save, scan.first);
-                    else
-                        scan.first = save;
-                    // return no-match if number overflows or underflows
-                }
-                return scan.no_match();
-            }
-        };
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  real_parser_impl class
-        //
-        ///////////////////////////////////////////////////////////////////////
-        template <typename RT, typename T, typename RealPoliciesT>
-        struct real_parser_impl
-        {
-            typedef real_parser_impl<RT, T, RealPoliciesT> self_t;
-
-            template <typename ScannerT>
-            RT parse_main(ScannerT const& scan) const
-            {
-                if (scan.at_end())
-                    return scan.no_match();
-                typename ScannerT::iterator_t save = scan.first;
-
-                typedef typename parser_result<sign_parser, ScannerT>::type
-                    sign_match_t;
-                typedef typename parser_result<chlit<>, ScannerT>::type
-                    exp_match_t;
-
-                sign_match_t    sign_match = RealPoliciesT::parse_sign(scan);
-                std::size_t     count = sign_match ? sign_match.length() : 0;
-                bool            neg = sign_match.has_valid_attribute() ?
-                                    sign_match.value() : false;
-
-                RT              n_match = RealPoliciesT::parse_n(scan);
-                T               n = n_match.has_valid_attribute() ?
-                                    n_match.value() : T(0);
-                bool            got_a_number = n_match;
-                exp_match_t     e_hit;
-
-                if (!got_a_number && !RealPoliciesT::allow_leading_dot)
-                     return scan.no_match();
-                else
-                    count += n_match.length();
-
-                if (neg)
-                    n = -n;
-
-                if (RealPoliciesT::parse_dot(scan))
-                {
-                    //  We got the decimal point. Now we will try to parse
-                    //  the fraction if it is there. If not, it defaults
-                    //  to zero (0) only if we already got a number.
-
-                    if (RT hit = RealPoliciesT::parse_frac_n(scan))
-                    {
-#if !defined(BOOST_NO_STDC_NAMESPACE)
-                        using namespace std;  // allow for ADL to find pow()
-#endif
-                        hit.value(hit.value()
-                            * pow(T(10), T(-hit.length())));
-                        if (neg)
-                            n -= hit.value();
-                        else
-                            n += hit.value();
-                        count += hit.length() + 1;
-
-                    }
-
-                    else if (!got_a_number ||
-                        !RealPoliciesT::allow_trailing_dot)
-                        return scan.no_match();
-
-                    e_hit = RealPoliciesT::parse_exp(scan);
-                }
-                else
-                {
-                    //  We have reached a point where we
-                    //  still haven't seen a number at all.
-                    //  We return early with a no-match.
-                    if (!got_a_number)
-                        return scan.no_match();
-
-                    //  If we must expect a dot and we didn't see
-                    //  an exponent, return early with a no-match.
-                    e_hit = RealPoliciesT::parse_exp(scan);
-                    if (RealPoliciesT::expect_dot && !e_hit)
-                        return scan.no_match();
-                }
-
-                if (e_hit)
-                {
-                    //  We got the exponent prefix. Now we will try to parse the
-                    //  actual exponent. It is an error if it is not there.
-                    if (RT e_n_hit = RealPoliciesT::parse_exp_n(scan))
-                    {
-#if !defined(BOOST_NO_STDC_NAMESPACE)
-                        using namespace std;    // allow for ADL to find pow()
-#endif
-                        n *= pow(T(10), T(e_n_hit.value()));
-                        count += e_n_hit.length() + e_hit.length();
-                    }
-                    else
-                    {
-                        //  Oops, no exponent, return a no-match
-                        return scan.no_match();
-                    }
-                }
-
-                return scan.create_match(count, n, save, scan.first);
-            }
-
-            template <typename ScannerT>
-            static RT parse(ScannerT const& scan)
-            {
-                static self_t this_;
-                return impl::implicit_lexeme_parse<RT>(this_, scan, scan);
-            }
-        };
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-    }   //  namespace impl
-
-///////////////////////////////////////////////////////////////////////////////
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/primitives/impl/primitives.ipp b/SRC/Boost/boost/spirit/home/classic/core/primitives/impl/primitives.ipp
deleted file mode 100755
index 6635aa3..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/primitives/impl/primitives.ipp
+++ /dev/null
@@ -1,476 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2003 Martin Wille
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_PRIMITIVES_IPP)
-#define BOOST_SPIRIT_PRIMITIVES_IPP
-
-// This should eventually go to a config file.
-#if defined(__GNUC__) && (__GNUC__ < 3) && !defined(_STLPORT_VERSION)
-#  ifndef BOOST_SPIRIT_NO_CHAR_TRAITS
-#    define BOOST_SPIRIT_NO_CHAR_TRAITS
-#  endif
-#endif
-
-#include <cctype>
-#if !defined(BOOST_NO_CWCTYPE)
-#include <cwctype>
-#endif
-
-#ifndef BOOST_SPIRIT_NO_CHAR_TRAITS
-#  include <string> // char_traits
-#endif
-
-#if defined(BOOST_MSVC)
-#  pragma warning (push)
-#  pragma warning(disable:4800)
-#endif
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    template <typename DrivedT> struct char_parser;
-
-    namespace impl
-    {
-        template <typename IteratorT>
-        inline IteratorT
-        get_last(IteratorT first)
-        {
-            while (*first)
-                first++;
-            return first;
-        }
-
-        template<
-            typename RT,
-            typename IteratorT,
-            typename ScannerT>
-        inline RT
-        string_parser_parse(
-            IteratorT str_first,
-            IteratorT str_last,
-            ScannerT& scan)
-        {
-            typedef typename ScannerT::iterator_t iterator_t;
-            iterator_t saved = scan.first;
-            std::size_t slen = str_last - str_first;
-
-            while (str_first != str_last)
-            {
-                if (scan.at_end() || (*str_first != *scan))
-                    return scan.no_match();
-                ++str_first;
-                ++scan;
-            }
-
-            return scan.create_match(slen, nil_t(), saved, scan.first);
-        }
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // Conversion from char_type to int_type
-    //
-    ///////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_SPIRIT_NO_CHAR_TRAITS
-#  define BOOST_SPIRIT_CHAR_TRAITS_NAMESPACE std
-#else
-
-        template <typename CharT>
-        struct char_traits
-        {
-            typedef CharT int_type;
-            typedef CharT char_type;
-        };
-
-        template<>
-        struct char_traits<char>
-        {
-            typedef int int_type;
-            typedef char char_type;
-
-            static char_type
-            to_char_type(int_type c)
-            {
-                return static_cast<char_type>(c);
-            }
-
-            static int
-            to_int_type(char c)
-            {
-                return static_cast<unsigned char>(c);
-            }
-        };
-
-        template<>
-        struct char_traits<unsigned char>
-        {
-            typedef int int_type;
-            typedef unsigned char char_type;
-
-            static char_type
-            to_char_type(int_type c)
-            {
-                return static_cast<char_type>(c);
-            }
-
-            static int
-            to_int_type(unsigned char c)
-            {
-                return c;
-            }
-        };
-
-#  define BOOST_SPIRIT_CHAR_TRAITS_NAMESPACE impl
-#  ifndef BOOST_NO_CWCTYPE
-
-        template<>
-        struct char_traits<wchar_t>
-        {
-            typedef wint_t int_type;
-            typedef wchar_t char_type;
-
-            static char_type
-            to_char_type(int_type c)
-            {
-                return static_cast<char_type>(c);
-            }
-
-            static wint_t
-            to_int_type(wchar_t c)
-            {
-                return c;
-            }
-        };
-
-#  endif
-#endif // BOOST_SPIRIT_NO_CHAR_TRAITS
-
-        //  Use char_traits for char and wchar_t only, as these are the only
-        //  specializations provided in the standard. Other types are on their
-        //  own.
-        //
-        //  For UDT, one may override:
-        //
-        //      isalnum
-        //      isalpha
-        //      iscntrl
-        //      isdigit
-        //      isgraph
-        //      islower
-        //      isprint
-        //      ispunct
-        //      isspace
-        //      isupper
-        //      isxdigit
-        //      isblank
-        //      isupper
-        //      tolower
-        //      toupper
-        //
-        //  in a namespace suitable for Argument Dependent lookup or in
-        //  namespace std (disallowed by the standard).
-
-        template <typename CharT>
-        struct char_type_char_traits_helper
-        {
-            typedef CharT char_type;
-            typedef typename BOOST_SPIRIT_CHAR_TRAITS_NAMESPACE
-                ::char_traits<CharT>::int_type int_type;
-
-            static int_type to_int_type(CharT c)
-            {
-                return BOOST_SPIRIT_CHAR_TRAITS_NAMESPACE
-                    ::char_traits<CharT>::to_int_type(c);
-            }
-
-            static char_type to_char_type(int_type i)
-            {
-                return BOOST_SPIRIT_CHAR_TRAITS_NAMESPACE
-                    ::char_traits<CharT>::to_char_type(i);
-            }
-        };
-
-        template <typename CharT>
-        struct char_traits_helper
-        {
-            typedef CharT char_type;
-            typedef CharT int_type;
-
-            static CharT & to_int_type(CharT & c)
-            {
-                return c;
-            }
-
-            static CharT & to_char_type(CharT & c)
-            {
-                return c;
-            }
-        };
-
-        template <>
-        struct char_traits_helper<char>
-            : char_type_char_traits_helper<char>
-        {
-        };
-
-#if !defined(BOOST_NO_CWCTYPE)
-
-        template <>
-        struct char_traits_helper<wchar_t>
-            : char_type_char_traits_helper<wchar_t>
-        {
-        };
-
-#endif
-
-        template <typename CharT>
-        inline typename char_traits_helper<CharT>::int_type
-        to_int_type(CharT c)
-        {
-            return char_traits_helper<CharT>::to_int_type(c);
-        }
-
-        template <typename CharT>
-        inline CharT
-        to_char_type(typename char_traits_helper<CharT>::int_type c)
-        {
-            return char_traits_helper<CharT>::to_char_type(c);
-        }
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  Convenience functions
-        //
-        ///////////////////////////////////////////////////////////////////////
-
-        template <typename CharT>
-        inline bool
-        isalnum_(CharT c)
-        {
-            using namespace std;
-            return isalnum(to_int_type(c)) ? true : false;
-        }
-
-        template <typename CharT>
-        inline bool
-        isalpha_(CharT c)
-        {
-            using namespace std;
-            return isalpha(to_int_type(c)) ? true : false;
-        }
-
-        template <typename CharT>
-        inline bool
-        iscntrl_(CharT c)
-        {
-            using namespace std;
-            return iscntrl(to_int_type(c)) ? true : false;
-        }
-
-        template <typename CharT>
-        inline bool
-        isdigit_(CharT c)
-        {
-            using namespace std;
-            return isdigit(to_int_type(c)) ? true : false;
-        }
-
-        template <typename CharT>
-        inline bool
-        isgraph_(CharT c)
-        {
-            using namespace std;
-            return isgraph(to_int_type(c)) ? true : false;
-        }
-
-        template <typename CharT>
-        inline bool
-        islower_(CharT c)
-        {
-            using namespace std;
-            return islower(to_int_type(c)) ? true : false;
-        }
-
-        template <typename CharT>
-        inline bool
-        isprint_(CharT c)
-        {
-            using namespace std;
-            return isprint(to_int_type(c)) ? true : false;
-        }
-
-        template <typename CharT>
-        inline bool
-        ispunct_(CharT c)
-        {
-            using namespace std;
-            return ispunct(to_int_type(c)) ? true : false;
-        }
-
-        template <typename CharT>
-        inline bool
-        isspace_(CharT c)
-        {
-            using namespace std;
-            return isspace(to_int_type(c)) ? true : false;
-        }
-
-        template <typename CharT>
-        inline bool
-        isupper_(CharT c)
-        {
-            using namespace std;
-            return isupper(to_int_type(c)) ? true : false;
-        }
-
-        template <typename CharT>
-        inline bool
-        isxdigit_(CharT c)
-        {
-            using namespace std;
-            return isxdigit(to_int_type(c)) ? true : false;
-        }
-
-        template <typename CharT>
-        inline bool
-        isblank_(CharT c)
-        {
-            return (c == ' ' || c == '\t');
-        }
-
-        template <typename CharT>
-        inline CharT
-        tolower_(CharT c)
-        {
-            using namespace std;
-            return to_char_type<CharT>(tolower(to_int_type(c)));
-        }
-
-        template <typename CharT>
-        inline CharT
-        toupper_(CharT c)
-        {
-            using namespace std;
-            return to_char_type<CharT>(toupper(to_int_type(c)));
-        }
-
-#if !defined(BOOST_NO_CWCTYPE)
-
-        inline bool
-        isalnum_(wchar_t c)
-        {
-            using namespace std;
-            return iswalnum(to_int_type(c)) ? true : false;
-        }
-
-        inline bool
-        isalpha_(wchar_t c)
-        {
-            using namespace std;
-            return iswalpha(to_int_type(c)) ? true : false;
-        }
-
-        inline bool
-        iscntrl_(wchar_t c)
-        {
-            using namespace std;
-            return iswcntrl(to_int_type(c)) ? true : false;
-        }
-
-        inline bool
-        isdigit_(wchar_t c)
-        {
-            using namespace std;
-            return iswdigit(to_int_type(c)) ? true : false;
-        }
-
-        inline bool
-        isgraph_(wchar_t c)
-        {
-            using namespace std;
-            return iswgraph(to_int_type(c)) ? true : false;
-        }
-
-        inline bool
-        islower_(wchar_t c)
-        {
-            using namespace std;
-            return iswlower(to_int_type(c)) ? true : false;
-        }
-
-        inline bool
-        isprint_(wchar_t c)
-        {
-            using namespace std;
-            return iswprint(to_int_type(c)) ? true : false;
-        }
-
-        inline bool
-        ispunct_(wchar_t c)
-        {
-            using namespace std;
-            return iswpunct(to_int_type(c)) ? true : false;
-        }
-
-        inline bool
-        isspace_(wchar_t c)
-        {
-            using namespace std;
-            return iswspace(to_int_type(c)) ? true : false;
-        }
-
-        inline bool
-        isupper_(wchar_t c)
-        {
-            using namespace std;
-            return iswupper(to_int_type(c)) ? true : false;
-        }
-
-        inline bool
-        isxdigit_(wchar_t c)
-        {
-            using namespace std;
-            return iswxdigit(to_int_type(c)) ? true : false;
-        }
-
-        inline bool
-        isblank_(wchar_t c)
-        {
-            return (c == L' ' || c == L'\t');
-        }
-
-        inline wchar_t
-        tolower_(wchar_t c)
-        {
-            using namespace std;
-            return to_char_type<wchar_t>(towlower(to_int_type(c)));
-        }
-
-        inline wchar_t
-        toupper_(wchar_t c)
-        {
-            using namespace std;
-            return to_char_type<wchar_t>(towupper(to_int_type(c)));
-        }
-
-#endif // !defined(BOOST_NO_CWCTYPE)
-
-}
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit::impl
-
-#ifdef BOOST_MSVC
-#pragma warning (pop)
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/primitives/numerics.hpp b/SRC/Boost/boost/spirit/home/classic/core/primitives/numerics.hpp
deleted file mode 100755
index 833c82d..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/primitives/numerics.hpp
+++ /dev/null
@@ -1,289 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2001-2003 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_NUMERICS_HPP
-#define BOOST_SPIRIT_NUMERICS_HPP
-
-#include <boost/config.hpp>
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/composite/directives.hpp>
-
-#include <boost/spirit/home/classic/core/primitives/numerics_fwd.hpp>
-#include <boost/spirit/home/classic/core/primitives/impl/numerics.ipp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  uint_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <
-        typename T, 
-        int Radix, 
-        unsigned MinDigits,
-        int MaxDigits
-    >
-    struct uint_parser : parser<uint_parser<T, Radix, MinDigits, MaxDigits> >
-    {
-        typedef uint_parser<T, Radix, MinDigits, MaxDigits> self_t;
-    
-        template <typename ScannerT>
-        struct result
-        {
-            typedef typename match_result<ScannerT, T>::type type;
-        };
-        
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef impl::uint_parser_impl<T, Radix, MinDigits, MaxDigits> impl_t;
-            typedef typename parser_result<impl_t, ScannerT>::type result_t;
-            return impl::contiguous_parser_parse<result_t>(impl_t(), scan, scan);
-        }
-    };
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  int_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <
-        typename T,
-        int Radix,
-        unsigned MinDigits,
-        int MaxDigits
-    >
-    struct int_parser : parser<int_parser<T, Radix, MinDigits, MaxDigits> >
-    {
-        typedef int_parser<T, Radix, MinDigits, MaxDigits> self_t;
-    
-        template <typename ScannerT>
-        struct result
-        {
-            typedef typename match_result<ScannerT, T>::type type;
-        };
-        
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef impl::int_parser_impl<T, Radix, MinDigits, MaxDigits> impl_t;
-            typedef typename parser_result<impl_t, ScannerT>::type result_t;
-            return impl::contiguous_parser_parse<result_t>(impl_t(), scan, scan);
-        }
-    };
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  uint_parser/int_parser instantiations
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    int_parser<int> const
-        int_p   = int_parser<int>();
-    
-    uint_parser<unsigned> const
-        uint_p  = uint_parser<unsigned>();
-    
-    uint_parser<unsigned, 2> const
-        bin_p   = uint_parser<unsigned, 2>();
-    
-    uint_parser<unsigned, 8> const
-        oct_p   = uint_parser<unsigned, 8>();
-    
-    uint_parser<unsigned, 16> const
-        hex_p   = uint_parser<unsigned, 16>();
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  sign_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    namespace impl
-    {
-        //  Utility to extract the prefix sign ('-' | '+')
-        template <typename ScannerT>
-        bool extract_sign(ScannerT const& scan, std::size_t& count);
-    }
-    
-    struct sign_parser : public parser<sign_parser>
-    {
-        typedef sign_parser self_t;
-
-        template <typename ScannerT>
-        struct result 
-        {
-            typedef typename match_result<ScannerT, bool>::type type;
-        };
-
-        sign_parser() {}
-    
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            if (!scan.at_end())
-            {
-                std::size_t length;
-                typename ScannerT::iterator_t save(scan.first);
-                bool neg = impl::extract_sign(scan, length);
-                if (length)
-                    return scan.create_match(1, neg, save, scan.first);
-            }
-            return scan.no_match();
-        }
-    };
-    
-    sign_parser const sign_p = sign_parser();
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  default real number policies
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename T>
-    struct ureal_parser_policies
-    {
-        // trailing dot policy suggested suggested by Gustavo Guerra
-        BOOST_STATIC_CONSTANT(bool, allow_leading_dot = true);
-        BOOST_STATIC_CONSTANT(bool, allow_trailing_dot = true);
-        BOOST_STATIC_CONSTANT(bool, expect_dot = false);
-    
-        typedef uint_parser<T, 10, 1, -1>   uint_parser_t;
-        typedef int_parser<T, 10, 1, -1>    int_parser_t;
-    
-        template <typename ScannerT>
-        static typename match_result<ScannerT, nil_t>::type
-        parse_sign(ScannerT& scan)
-        { 
-            return scan.no_match(); 
-        }
-    
-        template <typename ScannerT>
-        static typename parser_result<uint_parser_t, ScannerT>::type
-        parse_n(ScannerT& scan)
-        { 
-            return uint_parser_t().parse(scan); 
-        }
-    
-        template <typename ScannerT>
-        static typename parser_result<chlit<>, ScannerT>::type
-        parse_dot(ScannerT& scan)
-        { 
-            return ch_p('.').parse(scan); 
-        }
-    
-        template <typename ScannerT>
-        static typename parser_result<uint_parser_t, ScannerT>::type
-        parse_frac_n(ScannerT& scan)
-        { 
-            return uint_parser_t().parse(scan); 
-        }
-    
-        template <typename ScannerT>
-        static typename parser_result<chlit<>, ScannerT>::type
-        parse_exp(ScannerT& scan)
-        { 
-            return as_lower_d['e'].parse(scan); 
-        }
-    
-        template <typename ScannerT>
-        static typename parser_result<int_parser_t, ScannerT>::type
-        parse_exp_n(ScannerT& scan)
-        { 
-            return int_parser_t().parse(scan); 
-        }
-    };
-    
-    template <typename T>
-    struct real_parser_policies : public ureal_parser_policies<T>
-    {
-        template <typename ScannerT>
-        static typename parser_result<sign_parser, ScannerT>::type
-        parse_sign(ScannerT& scan)
-        { 
-            return sign_p.parse(scan); 
-        }
-    };
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  real_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <
-        typename T,
-        typename RealPoliciesT
-    >
-    struct real_parser
-    :   public parser<real_parser<T, RealPoliciesT> >
-    {
-        typedef real_parser<T, RealPoliciesT> self_t;
-    
-        template <typename ScannerT>
-        struct result
-        {
-            typedef typename match_result<ScannerT, T>::type type;
-        };
-    
-        real_parser() {}
-    
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            return impl::real_parser_impl<result_t, T, RealPoliciesT>::parse(scan);
-        }
-    };
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  real_parser instantiations
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    real_parser<double, ureal_parser_policies<double> > const
-        ureal_p     = real_parser<double, ureal_parser_policies<double> >();
-    
-    real_parser<double, real_parser_policies<double> > const
-        real_p      = real_parser<double, real_parser_policies<double> >();
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  strict reals (do not allow plain integers (no decimal point))
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename T>
-    struct strict_ureal_parser_policies : public ureal_parser_policies<T>
-    {
-        BOOST_STATIC_CONSTANT(bool, expect_dot = true);
-    };
-    
-    template <typename T>
-    struct strict_real_parser_policies : public real_parser_policies<T>
-    {
-        BOOST_STATIC_CONSTANT(bool, expect_dot = true);
-    };
-    
-    real_parser<double, strict_ureal_parser_policies<double> > const
-        strict_ureal_p
-            = real_parser<double, strict_ureal_parser_policies<double> >();
-    
-    real_parser<double, strict_real_parser_policies<double> > const
-        strict_real_p
-            = real_parser<double, strict_real_parser_policies<double> >();
-    
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/primitives/numerics_fwd.hpp b/SRC/Boost/boost/spirit/home/classic/core/primitives/numerics_fwd.hpp
deleted file mode 100755
index cfd7183..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/primitives/numerics_fwd.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/*=============================================================================
-    Copyright (C) 2006 Tobias Schwinger
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_NUMERICS_FWD_HPP)
-#   define BOOST_SPIRIT_NUMERICS_FWD_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  uint_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <
-        typename T = unsigned,
-        int Radix = 10,
-        unsigned MinDigits = 1,
-        int MaxDigits = -1
-    >
-    struct uint_parser;
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  int_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <
-        typename T = unsigned,
-        int Radix = 10,
-        unsigned MinDigits = 1,
-        int MaxDigits = -1
-    >
-    struct int_parser;
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  sign_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct sign_parser;
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  default real number policies
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename T>
-    struct ureal_parser_policies;
-
-    template <typename T>
-    struct real_parser_policies;
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  real_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <
-        typename T = double,
-        typename RealPoliciesT = ureal_parser_policies<T>
-    >
-    struct real_parser;
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  strict reals (do not allow plain integers (no decimal point))
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename T>
-    struct strict_ureal_parser_policies;
-
-    template <typename T>
-    struct strict_real_parser_policies;
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/primitives/primitives.hpp b/SRC/Boost/boost/spirit/home/classic/core/primitives/primitives.hpp
deleted file mode 100755
index 615de26..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/primitives/primitives.hpp
+++ /dev/null
@@ -1,654 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    Copyright (c) 2003 Martin Wille
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_PRIMITIVES_HPP)
-#define BOOST_SPIRIT_PRIMITIVES_HPP
-
-#include <boost/ref.hpp>
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/assert.hpp>
-#include <boost/spirit/home/classic/core/parser.hpp>
-#include <boost/spirit/home/classic/core/composite/impl/directives.ipp>
-#include <boost/spirit/home/classic/core/primitives/impl/primitives.ipp>
-
-#ifdef BOOST_MSVC
-#pragma warning (push)
-#pragma warning(disable : 4512)
-#endif
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  char_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename DerivedT>
-    struct char_parser : public parser<DerivedT>
-    {
-        typedef DerivedT self_t;
-        template <typename ScannerT>
-        struct result
-        {
-            typedef typename match_result<
-                ScannerT,
-                typename ScannerT::value_t
-            >::type type;
-        };
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            typedef typename ScannerT::value_t value_t;
-            typedef typename ScannerT::iterator_t iterator_t;
-
-            if (!scan.at_end())
-            {
-                value_t ch = *scan;
-                if (this->derived().test(ch))
-                {
-                    iterator_t save(scan.first);
-                    ++scan.first;
-                    return scan.create_match(1, ch, save, scan.first);
-                }
-            }
-            return scan.no_match();
-        }
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  negation of char_parsers
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename PositiveT>
-    struct negated_char_parser
-    : public char_parser<negated_char_parser<PositiveT> >
-    {
-        typedef negated_char_parser<PositiveT> self_t;
-        typedef PositiveT positive_t;
-
-        negated_char_parser(positive_t const& p)
-        : positive(p.derived()) {}
-
-        template <typename T>
-        bool test(T ch) const
-        {
-            return !positive.test(ch);
-        }
-
-        positive_t const positive;
-    };
-
-    template <typename ParserT>
-    inline negated_char_parser<ParserT>
-    operator~(char_parser<ParserT> const& p)
-    {
-        return negated_char_parser<ParserT>(p.derived());
-    }
-
-    template <typename ParserT>
-    inline ParserT
-    operator~(negated_char_parser<ParserT> const& n)
-    {
-        return n.positive;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  chlit class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename CharT = char>
-    struct chlit : public char_parser<chlit<CharT> >
-    {
-        chlit(CharT ch_)
-        : ch(ch_) {}
-
-        template <typename T>
-        bool test(T ch_) const
-        {
-            return ch_ == ch;
-        }
-
-        CharT   ch;
-    };
-
-    template <typename CharT>
-    inline chlit<CharT>
-    ch_p(CharT ch)
-    {
-        return chlit<CharT>(ch);
-    }
-
-    // This should take care of ch_p("a") "bugs"
-    template <typename CharT, std::size_t N>
-    inline chlit<CharT>
-    ch_p(CharT const (& str)[N])
-    {
-        //  ch_p's argument should be a single character or a null-terminated
-        //  string with a single character
-        BOOST_STATIC_ASSERT(N < 3);
-        return chlit<CharT>(str[0]);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  range class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename CharT = char>
-    struct range : public char_parser<range<CharT> >
-    {
-        range(CharT first_, CharT last_)
-        : first(first_), last(last_)
-        {
-            BOOST_SPIRIT_ASSERT(!(last < first));
-        }
-
-        template <typename T>
-        bool test(T ch) const
-        {
-            return !(CharT(ch) < first) && !(last < CharT(ch));
-        }
-
-        CharT   first;
-        CharT   last;
-    };
-
-    template <typename CharT>
-    inline range<CharT>
-    range_p(CharT first, CharT last)
-    {
-        return range<CharT>(first, last);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  chseq class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename IteratorT = char const*>
-    class chseq : public parser<chseq<IteratorT> >
-    {
-    public:
-
-        typedef chseq<IteratorT> self_t;
-
-        chseq(IteratorT first_, IteratorT last_)
-        : first(first_), last(last_) {}
-
-        chseq(IteratorT first_)
-        : first(first_), last(impl::get_last(first_)) {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename boost::unwrap_reference<IteratorT>::type striter_t;
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            return impl::string_parser_parse<result_t>(
-                striter_t(first),
-                striter_t(last),
-                scan);
-        }
-
-    private:
-
-        IteratorT first;
-        IteratorT last;
-    };
-
-    template <typename CharT>
-    inline chseq<CharT const*>
-    chseq_p(CharT const* str)
-    {
-        return chseq<CharT const*>(str);
-    }
-
-    template <typename IteratorT>
-    inline chseq<IteratorT>
-    chseq_p(IteratorT first, IteratorT last)
-    {
-        return chseq<IteratorT>(first, last);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  strlit class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename IteratorT = char const*>
-    class strlit : public parser<strlit<IteratorT> >
-    {
-    public:
-
-        typedef strlit<IteratorT> self_t;
-
-        strlit(IteratorT first, IteratorT last)
-        : seq(first, last) {}
-
-        strlit(IteratorT first)
-        : seq(first) {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typedef typename parser_result<self_t, ScannerT>::type result_t;
-            return impl::contiguous_parser_parse<result_t>
-                (seq, scan, scan);
-        }
-
-    private:
-
-        chseq<IteratorT> seq;
-    };
-
-    template <typename CharT>
-    inline strlit<CharT const*>
-    str_p(CharT const* str)
-    {
-        return strlit<CharT const*>(str);
-    }
-
-    template <typename CharT>
-    inline strlit<CharT *>
-    str_p(CharT * str)
-    {
-        return strlit<CharT *>(str);
-    }
-
-    template <typename IteratorT>
-    inline strlit<IteratorT>
-    str_p(IteratorT first, IteratorT last)
-    {
-        return strlit<IteratorT>(first, last);
-    }
-
-    // This should take care of str_p('a') "bugs"
-    template <typename CharT>
-    inline chlit<CharT>
-    str_p(CharT ch)
-    {
-        return chlit<CharT>(ch);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  nothing_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct nothing_parser : public parser<nothing_parser>
-    {
-        typedef nothing_parser self_t;
-
-        nothing_parser() {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            return scan.no_match();
-        }
-    };
-
-    nothing_parser const nothing_p = nothing_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  anychar_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct anychar_parser : public char_parser<anychar_parser>
-    {
-        typedef anychar_parser self_t;
-
-        anychar_parser() {}
-
-        template <typename CharT>
-        bool test(CharT) const
-        {
-            return true;
-        }
-    };
-
-    anychar_parser const anychar_p = anychar_parser();
-
-    inline nothing_parser
-    operator~(anychar_parser)
-    {
-        return nothing_p;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  alnum_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct alnum_parser : public char_parser<alnum_parser>
-    {
-        typedef alnum_parser self_t;
-
-        alnum_parser() {}
-
-        template <typename CharT>
-        bool test(CharT ch) const
-        {
-            return impl::isalnum_(ch);
-        }
-    };
-
-    alnum_parser const alnum_p = alnum_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  alpha_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct alpha_parser : public char_parser<alpha_parser>
-    {
-        typedef alpha_parser self_t;
-
-        alpha_parser() {}
-
-        template <typename CharT>
-        bool test(CharT ch) const
-        {
-            return impl::isalpha_(ch);
-        }
-    };
-
-    alpha_parser const alpha_p = alpha_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  cntrl_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct cntrl_parser : public char_parser<cntrl_parser>
-    {
-        typedef cntrl_parser self_t;
-
-        cntrl_parser() {}
-
-        template <typename CharT>
-        bool test(CharT ch) const
-        {
-            return impl::iscntrl_(ch);
-        }
-    };
-
-    cntrl_parser const cntrl_p = cntrl_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  digit_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct digit_parser : public char_parser<digit_parser>
-    {
-        typedef digit_parser self_t;
-
-        digit_parser() {}
-
-        template <typename CharT>
-        bool test(CharT ch) const
-        {
-            return impl::isdigit_(ch);
-        }
-    };
-
-    digit_parser const digit_p = digit_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  graph_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct graph_parser : public char_parser<graph_parser>
-    {
-        typedef graph_parser self_t;
-
-        graph_parser() {}
-
-        template <typename CharT>
-        bool test(CharT ch) const
-        {
-            return impl::isgraph_(ch);
-        }
-    };
-
-    graph_parser const graph_p = graph_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  lower_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct lower_parser : public char_parser<lower_parser>
-    {
-        typedef lower_parser self_t;
-
-        lower_parser() {}
-
-        template <typename CharT>
-        bool test(CharT ch) const
-        {
-            return impl::islower_(ch);
-        }
-    };
-
-    lower_parser const lower_p = lower_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  print_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct print_parser : public char_parser<print_parser>
-    {
-        typedef print_parser self_t;
-
-        print_parser() {}
-
-        template <typename CharT>
-        bool test(CharT ch) const
-        {
-            return impl::isprint_(ch);
-        }
-    };
-
-    print_parser const print_p = print_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  punct_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct punct_parser : public char_parser<punct_parser>
-    {
-        typedef punct_parser self_t;
-
-        punct_parser() {}
-
-        template <typename CharT>
-        bool test(CharT ch) const
-        {
-            return impl::ispunct_(ch);
-        }
-    };
-
-    punct_parser const punct_p = punct_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  blank_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct blank_parser : public char_parser<blank_parser>
-    {
-        typedef blank_parser self_t;
-
-        blank_parser() {}
-
-        template <typename CharT>
-        bool test(CharT ch) const
-        {
-            return impl::isblank_(ch);
-        }
-    };
-
-    blank_parser const blank_p = blank_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  space_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct space_parser : public char_parser<space_parser>
-    {
-        typedef space_parser self_t;
-
-        space_parser() {}
-
-        template <typename CharT>
-        bool test(CharT ch) const
-        {
-            return impl::isspace_(ch);
-        }
-    };
-
-    space_parser const space_p = space_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  upper_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct upper_parser : public char_parser<upper_parser>
-    {
-        typedef upper_parser self_t;
-
-        upper_parser() {}
-
-        template <typename CharT>
-        bool test(CharT ch) const
-        {
-            return impl::isupper_(ch);
-        }
-    };
-
-    upper_parser const upper_p = upper_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  xdigit_parser class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct xdigit_parser : public char_parser<xdigit_parser>
-    {
-        typedef xdigit_parser self_t;
-
-        xdigit_parser() {}
-
-        template <typename CharT>
-        bool test(CharT ch) const
-        {
-            return impl::isxdigit_(ch);
-        }
-    };
-
-    xdigit_parser const xdigit_p = xdigit_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  eol_parser class (contributed by Martin Wille)
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct eol_parser : public parser<eol_parser>
-    {
-        typedef eol_parser self_t;
-
-        eol_parser() {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            typename ScannerT::iterator_t save = scan.first;
-            std::size_t len = 0;
-
-            if (!scan.at_end() && *scan == '\r')    // CR
-            {
-                ++scan.first;
-                ++len;
-            }
-
-            // Don't call skipper here
-            if (scan.first != scan.last && *scan == '\n')    // LF
-            {
-                ++scan.first;
-                ++len;
-            }
-
-            if (len)
-                return scan.create_match(len, nil_t(), save, scan.first);
-            return scan.no_match();
-        }
-    };
-
-    eol_parser const eol_p = eol_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  end_parser class (suggested by Markus Schoepflin)
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct end_parser : public parser<end_parser>
-    {
-        typedef end_parser self_t;
-
-        end_parser() {}
-
-        template <typename ScannerT>
-        typename parser_result<self_t, ScannerT>::type
-        parse(ScannerT const& scan) const
-        {
-            if (scan.at_end())
-                return scan.empty_match();
-            return scan.no_match();
-        }
-    };
-
-    end_parser const end_p = end_parser();
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  the pizza_p parser :-)
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    inline strlit<char const*> const
-    pizza_p(char const* your_favorite_pizza)
-    {
-        return your_favorite_pizza;
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#ifdef BOOST_MSVC
-#pragma warning (pop)
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/safe_bool.hpp b/SRC/Boost/boost/spirit/home/classic/core/safe_bool.hpp
deleted file mode 100755
index 01457a4..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/safe_bool.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_SAFE_BOOL_HPP)
-#define BOOST_SPIRIT_SAFE_BOOL_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/spirit/home/classic/namespace.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    namespace impl
-    {
-        template <typename T>
-        struct no_base {};
-
-        template <typename T>
-        struct safe_bool_impl
-        {
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
-            void stub(T*) {};
-            typedef void (safe_bool_impl::*type)(T*);
-#else
-            typedef T* TP; // workaround to make parsing easier
-            TP stub;
-            typedef TP safe_bool_impl::*type;
-#endif
-        };
-    }
-
-    template <typename DerivedT, typename BaseT = impl::no_base<DerivedT> >
-    struct safe_bool : BaseT
-    {
-    private:
-        typedef impl::safe_bool_impl<DerivedT> impl_t;
-        typedef typename impl_t::type bool_type;
-
-    public:
-        operator bool_type() const
-        {
-            return static_cast<const DerivedT*>(this)->operator_bool() ?
-                &impl_t::stub : 0;
-        }
-
-        operator bool_type()
-        {
-            return static_cast<DerivedT*>(this)->operator_bool() ?
-                &impl_t::stub : 0;
-        }
-    };
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}}
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/scanner/impl/skipper.ipp b/SRC/Boost/boost/spirit/home/classic/core/scanner/impl/skipper.ipp
deleted file mode 100755
index 06ce21d..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/scanner/impl/skipper.ipp
+++ /dev/null
@@ -1,181 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-============================================================================*/
-#if !defined(BOOST_SPIRIT_SKIPPER_IPP)
-#define BOOST_SPIRIT_SKIPPER_IPP
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    struct space_parser;
-    template <typename BaseT>
-    struct no_skipper_iteration_policy;
-
-    namespace impl
-    {
-        template <typename ST, typename ScannerT, typename BaseT>
-        inline void
-        skipper_skip(
-            ST const& s,
-            ScannerT const& scan,
-            skipper_iteration_policy<BaseT> const&)
-        {
-            typedef scanner_policies<
-                no_skipper_iteration_policy<
-                    BOOST_DEDUCED_TYPENAME ScannerT::iteration_policy_t>,
-                BOOST_DEDUCED_TYPENAME ScannerT::match_policy_t,
-                BOOST_DEDUCED_TYPENAME ScannerT::action_policy_t
-            > policies_t;
-
-            scanner<BOOST_DEDUCED_TYPENAME ScannerT::iterator_t, policies_t>
-                scan2(scan.first, scan.last, policies_t(scan));
-            typedef typename ScannerT::iterator_t iterator_t;
-
-            for (;;)
-            {
-                iterator_t save = scan.first;
-                if (!s.parse(scan2))
-                {
-                    scan.first = save;
-                    break;
-                }
-            }
-        }
-
-        template <typename ST, typename ScannerT, typename BaseT>
-        inline void
-        skipper_skip(
-            ST const& s,
-            ScannerT const& scan,
-            no_skipper_iteration_policy<BaseT> const&)
-        {
-            for (;;)
-            {
-                typedef typename ScannerT::iterator_t iterator_t;
-                iterator_t save = scan.first;
-                if (!s.parse(scan))
-                {
-                    scan.first = save;
-                    break;
-                }
-            }
-        }
-
-        template <typename ST, typename ScannerT>
-        inline void
-        skipper_skip(
-            ST const& s,
-            ScannerT const& scan,
-            iteration_policy const&)
-        {
-            for (;;)
-            {
-                typedef typename ScannerT::iterator_t iterator_t;
-                iterator_t save = scan.first;
-                if (!s.parse(scan))
-                {
-                    scan.first = save;
-                    break;
-                }
-            }
-        }
-
-        template <typename SkipT>
-        struct phrase_parser
-        {
-            template <typename IteratorT, typename ParserT>
-            static parse_info<IteratorT>
-            parse(
-                IteratorT const&    first_,
-                IteratorT const&    last,
-                ParserT const&      p,
-                SkipT const&        skip)
-            {
-                typedef skip_parser_iteration_policy<SkipT> iter_policy_t;
-                typedef scanner_policies<iter_policy_t> scanner_policies_t;
-                typedef scanner<IteratorT, scanner_policies_t> scanner_t;
-
-                iter_policy_t iter_policy(skip);
-                scanner_policies_t policies(iter_policy);
-                IteratorT first = first_;
-                scanner_t scan(first, last, policies);
-                match<nil_t> hit = p.parse(scan);
-                return parse_info<IteratorT>(
-                    first, hit, hit && (first == last),
-                    hit.length());
-            }
-        };
-
-        template <>
-        struct phrase_parser<space_parser>
-        {
-            template <typename IteratorT, typename ParserT>
-            static parse_info<IteratorT>
-            parse(
-                IteratorT const&    first_,
-                IteratorT const&    last,
-                ParserT const&      p,
-                space_parser const&)
-            {
-                typedef skipper_iteration_policy<> iter_policy_t;
-                typedef scanner_policies<iter_policy_t> scanner_policies_t;
-                typedef scanner<IteratorT, scanner_policies_t> scanner_t;
-
-                IteratorT first = first_;
-                scanner_t scan(first, last);
-                match<nil_t> hit = p.parse(scan);
-                return parse_info<IteratorT>(
-                    first, hit, hit && (first == last),
-                    hit.length());
-            }
-        };
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  Free parse functions using the skippers
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename IteratorT, typename ParserT, typename SkipT>
-    inline parse_info<IteratorT>
-    parse(
-        IteratorT const&        first,
-        IteratorT const&        last,
-        parser<ParserT> const&  p,
-        parser<SkipT> const&    skip)
-    {
-        return impl::phrase_parser<SkipT>::
-            parse(first, last, p.derived(), skip.derived());
-    }
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  Parse function for null terminated strings using the skippers
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename CharT, typename ParserT, typename SkipT>
-    inline parse_info<CharT const*>
-    parse(
-        CharT const*            str,
-        parser<ParserT> const&  p,
-        parser<SkipT> const&    skip)
-    {
-        CharT const* last = str;
-        while (*last)
-            last++;
-        return parse(str, last, p, skip);
-    }
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/scanner/scanner.hpp b/SRC/Boost/boost/spirit/home/classic/core/scanner/scanner.hpp
deleted file mode 100755
index 3d90f76..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/scanner/scanner.hpp
+++ /dev/null
@@ -1,329 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2002 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_SCANNER_HPP)
-#define BOOST_SPIRIT_SCANNER_HPP
-
-#include <iterator>
-#include <boost/config.hpp>
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/match.hpp>
-#include <boost/spirit/home/classic/core/non_terminal/parser_id.hpp>
-#include <boost/detail/iterator.hpp> // for boost::detail::iterator_traits
-
-#include <boost/spirit/home/classic/core/scanner/scanner_fwd.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  iteration_policy class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct iteration_policy
-    {
-        template <typename ScannerT>
-        void
-        advance(ScannerT const& scan) const
-        {
-            ++scan.first;
-        }
-
-        template <typename ScannerT>
-        bool at_end(ScannerT const& scan) const
-        {
-            return scan.first == scan.last;
-        }
-
-        template <typename T>
-        T filter(T ch) const
-        {
-            return ch;
-        }
-
-        template <typename ScannerT>
-        typename ScannerT::ref_t
-        get(ScannerT const& scan) const
-        {
-            return *scan.first;
-        }
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  match_policy class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct match_policy
-    {
-        template <typename T>
-        struct result { typedef match<T> type; };
-
-        const match<nil_t>
-        no_match() const
-        {
-            return match<nil_t>();
-        }
-
-        const match<nil_t>
-        empty_match() const
-        {
-            return match<nil_t>(0, nil_t());
-        }
-
-        template <typename AttrT, typename IteratorT>
-        match<AttrT>
-        create_match(
-            std::size_t         length,
-            AttrT const&        val,
-            IteratorT const&    /*first*/,
-            IteratorT const&    /*last*/) const
-        {
-            return match<AttrT>(length, val);
-        }
-
-        template <typename MatchT, typename IteratorT>
-        void group_match(
-            MatchT&             /*m*/,
-            parser_id const&    /*id*/,
-            IteratorT const&    /*first*/,
-            IteratorT const&    /*last*/) const {}
-
-        template <typename Match1T, typename Match2T>
-        void concat_match(Match1T& l, Match2T const& r) const
-        {
-            l.concat(r);
-        }
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  match_result class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename MatchPolicyT, typename T>
-    struct match_result
-    {
-        typedef typename MatchPolicyT::template result<T>::type type;
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  action_policy class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename AttrT>
-    struct attributed_action_policy
-    {
-        template <typename ActorT, typename IteratorT>
-        static void
-        call(
-            ActorT const& actor,
-            AttrT& val,
-            IteratorT const&,
-            IteratorT const&)
-        {
-            actor(val);
-        }
-    };
-
-    //////////////////////////////////
-    template <>
-    struct attributed_action_policy<nil_t>
-    {
-        template <typename ActorT, typename IteratorT>
-        static void
-        call(
-            ActorT const& actor,
-            nil_t,
-            IteratorT const& first,
-            IteratorT const& last)
-        {
-            actor(first, last);
-        }
-    };
-
-    //////////////////////////////////
-    struct action_policy
-    {
-        template <typename ActorT, typename AttrT, typename IteratorT>
-        void
-        do_action(
-            ActorT const&       actor,
-            AttrT&              val,
-            IteratorT const&    first,
-            IteratorT const&    last) const
-        {
-            attributed_action_policy<AttrT>::call(actor, val, first, last);
-        }
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  scanner_policies class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <
-        typename IterationPolicyT,
-        typename MatchPolicyT,
-        typename ActionPolicyT>
-    struct scanner_policies :
-        public IterationPolicyT,
-        public MatchPolicyT,
-        public ActionPolicyT
-    {
-        typedef IterationPolicyT    iteration_policy_t;
-        typedef MatchPolicyT        match_policy_t;
-        typedef ActionPolicyT       action_policy_t;
-
-        scanner_policies(
-            IterationPolicyT const& i_policy = IterationPolicyT(),
-            MatchPolicyT const&     m_policy = MatchPolicyT(),
-            ActionPolicyT const&    a_policy = ActionPolicyT())
-        : IterationPolicyT(i_policy)
-        , MatchPolicyT(m_policy)
-        , ActionPolicyT(a_policy) {}
-
-        template <typename ScannerPoliciesT>
-        scanner_policies(ScannerPoliciesT const& policies)
-        : IterationPolicyT(policies)
-        , MatchPolicyT(policies)
-        , ActionPolicyT(policies) {}
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  scanner_policies_base class: the base class of all scanners
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct scanner_base {};
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  scanner class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <
-        typename IteratorT,
-        typename PoliciesT>
-    class scanner : public PoliciesT, public scanner_base
-    {
-    public:
-
-        typedef IteratorT iterator_t;
-        typedef PoliciesT policies_t;
-
-        typedef typename boost::detail::
-            iterator_traits<IteratorT>::value_type value_t;
-        typedef typename boost::detail::
-            iterator_traits<IteratorT>::reference ref_t;
-        typedef typename boost::
-            call_traits<IteratorT>::param_type iter_param_t;
-
-        scanner(
-            IteratorT&          first_,
-            iter_param_t        last_,
-            PoliciesT const&    policies = PoliciesT())
-        : PoliciesT(policies), first(first_), last(last_)
-        {
-            at_end();
-        }
-
-        scanner(scanner const& other)
-        : PoliciesT(other), first(other.first), last(other.last) {}
-
-        scanner(scanner const& other, IteratorT& first_)
-        : PoliciesT(other), first(first_), last(other.last) {}
-
-        template <typename PoliciesT1>
-        scanner(scanner<IteratorT, PoliciesT1> const& other)
-        : PoliciesT(other), first(other.first), last(other.last) {}
-
-        bool
-        at_end() const
-        {
-            typedef typename PoliciesT::iteration_policy_t iteration_policy_type;
-            return iteration_policy_type::at_end(*this);
-        }
-
-        value_t
-        operator*() const
-        {
-            typedef typename PoliciesT::iteration_policy_t iteration_policy_type;
-            return iteration_policy_type::filter(iteration_policy_type::get(*this));
-        }
-
-        scanner const&
-        operator++() const
-        {
-            typedef typename PoliciesT::iteration_policy_t iteration_policy_type;
-            iteration_policy_type::advance(*this);
-            return *this;
-        }
-
-        template <typename PoliciesT2>
-        struct rebind_policies
-        {
-            typedef scanner<IteratorT, PoliciesT2> type;
-        };
-
-        template <typename PoliciesT2>
-        scanner<IteratorT, PoliciesT2>
-        change_policies(PoliciesT2 const& policies) const
-        {
-            return scanner<IteratorT, PoliciesT2>(first, last, policies);
-        }
-
-        template <typename IteratorT2>
-        struct rebind_iterator
-        {
-            typedef scanner<IteratorT2, PoliciesT> type;
-        };
-
-        template <typename IteratorT2>
-        scanner<IteratorT2, PoliciesT>
-        change_iterator(IteratorT2 const& first_, IteratorT2 const &last_) const
-        {
-            return scanner<IteratorT2, PoliciesT>(first_, last_, *this);
-        }
-
-        IteratorT& first;
-        IteratorT const last;
-
-    private:
-
-        scanner&
-        operator=(scanner const& other);
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  rebind_scanner_policies class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename ScannerT, typename PoliciesT>
-    struct rebind_scanner_policies
-    {
-        typedef typename ScannerT::template
-            rebind_policies<PoliciesT>::type type;
-    };
-
-    //////////////////////////////////
-    template <typename ScannerT, typename IteratorT>
-    struct rebind_scanner_iterator
-    {
-        typedef typename ScannerT::template
-            rebind_iterator<IteratorT>::type type;
-    };
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}}
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/core/scanner/scanner_fwd.hpp b/SRC/Boost/boost/spirit/home/classic/core/scanner/scanner_fwd.hpp
deleted file mode 100755
index 24676bd..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/scanner/scanner_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2006 Tobias Schwinger
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_SCANNER_FWD_HPP)
-#define BOOST_SPIRIT_SCANNER_FWD_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  policy classes
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    struct iteration_policy;
-    struct action_policy;
-    struct match_policy;
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  scanner_policies class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <
-        typename IterationPolicyT   = iteration_policy,
-        typename MatchPolicyT       = match_policy,
-        typename ActionPolicyT      = action_policy>
-    struct scanner_policies;
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  scanner class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <
-        typename IteratorT  = char const*,
-        typename PoliciesT  = scanner_policies<> >
-    class scanner;
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/scanner/skipper.hpp b/SRC/Boost/boost/spirit/home/classic/core/scanner/skipper.hpp
deleted file mode 100755
index 42ab04d..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/scanner/skipper.hpp
+++ /dev/null
@@ -1,197 +0,0 @@
-/*=============================================================================
-    Copyright (c) 1998-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_SKIPPER_HPP)
-#define BOOST_SPIRIT_SKIPPER_HPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <cctype>
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/scanner/scanner.hpp>
-#include <boost/spirit/home/classic/core/primitives/impl/primitives.ipp>
-
-#include <boost/spirit/home/classic/core/scanner/skipper_fwd.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  skipper_iteration_policy class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename BaseT>
-    struct skipper_iteration_policy : public BaseT
-    {
-        typedef BaseT base_t;
-    
-        skipper_iteration_policy()
-        : BaseT() {}
-    
-        template <typename PolicyT>
-        skipper_iteration_policy(PolicyT const& other)
-        : BaseT(other) {}
-    
-        template <typename ScannerT>
-        void
-        advance(ScannerT const& scan) const
-        {
-            BaseT::advance(scan);
-            scan.skip(scan);
-        }
-    
-        template <typename ScannerT>
-        bool
-        at_end(ScannerT const& scan) const
-        {
-            scan.skip(scan);
-            return BaseT::at_end(scan);
-        }
-    
-        template <typename ScannerT>
-        void
-        skip(ScannerT const& scan) const
-        {
-            while (!BaseT::at_end(scan) && impl::isspace_(BaseT::get(scan)))
-                BaseT::advance(scan);
-        }
-    };
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  no_skipper_iteration_policy class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename BaseT>
-    struct no_skipper_iteration_policy : public BaseT
-    {
-        typedef BaseT base_t;
-
-        no_skipper_iteration_policy()
-        : BaseT() {}
-
-        template <typename PolicyT>
-        no_skipper_iteration_policy(PolicyT const& other)
-        : BaseT(other) {}
-
-        template <typename ScannerT>
-        void
-        skip(ScannerT const& /*scan*/) const {}
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  skip_parser_iteration_policy class
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    namespace impl
-    {
-        template <typename ST, typename ScannerT, typename BaseT>
-        void
-        skipper_skip(
-            ST const& s,
-            ScannerT const& scan,
-            skipper_iteration_policy<BaseT> const&);
-
-        template <typename ST, typename ScannerT, typename BaseT>
-        void
-        skipper_skip(
-            ST const& s,
-            ScannerT const& scan,
-            no_skipper_iteration_policy<BaseT> const&);
-
-        template <typename ST, typename ScannerT>
-        void
-        skipper_skip(
-            ST const& s,
-            ScannerT const& scan,
-            iteration_policy const&);
-    }
-
-    template <typename ParserT, typename BaseT>
-    class skip_parser_iteration_policy : public skipper_iteration_policy<BaseT>
-    {
-    public:
-    
-        typedef skipper_iteration_policy<BaseT> base_t;
-    
-        skip_parser_iteration_policy(
-            ParserT const& skip_parser,
-            base_t const& base = base_t())
-        : base_t(base), subject(skip_parser) {}
-    
-        template <typename PolicyT>
-        skip_parser_iteration_policy(PolicyT const& other)
-        : base_t(other), subject(other.skipper()) {}
-    
-        template <typename ScannerT>
-        void
-        skip(ScannerT const& scan) const
-        {
-            impl::skipper_skip(subject, scan, scan);
-        }
-    
-        ParserT const&
-        skipper() const
-        { 
-            return subject; 
-        }
-    
-    private:
-    
-        ParserT const& subject;
-    };
-    
-    ///////////////////////////////////////////////////////////////////////////////
-    //
-    //  Free parse functions using the skippers
-    //
-    ///////////////////////////////////////////////////////////////////////////////
-    template <typename IteratorT, typename ParserT, typename SkipT>
-    parse_info<IteratorT>
-    parse(
-        IteratorT const&        first,
-        IteratorT const&        last,
-        parser<ParserT> const&  p,
-        parser<SkipT> const&    skip);
-    
-    ///////////////////////////////////////////////////////////////////////////////
-    //
-    //  Parse function for null terminated strings using the skippers
-    //
-    ///////////////////////////////////////////////////////////////////////////////
-    template <typename CharT, typename ParserT, typename SkipT>
-    parse_info<CharT const*>
-    parse(
-        CharT const*            str,
-        parser<ParserT> const&  p,
-        parser<SkipT> const&    skip);
-    
-    ///////////////////////////////////////////////////////////////////////////////
-    //
-    //  phrase_scanner_t and wide_phrase_scanner_t
-    //
-    //      The most common scanners. Use these typedefs when you need
-    //      a scanner that skips white spaces.
-    //
-    ///////////////////////////////////////////////////////////////////////////////
-    typedef skipper_iteration_policy<>                  iter_policy_t;
-    typedef scanner_policies<iter_policy_t>             scanner_policies_t;
-    typedef scanner<char const*, scanner_policies_t>    phrase_scanner_t;
-    typedef scanner<wchar_t const*, scanner_policies_t> wide_phrase_scanner_t;
-    
-    ///////////////////////////////////////////////////////////////////////////////
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#include <boost/spirit/home/classic/core/scanner/impl/skipper.ipp>
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/core/scanner/skipper_fwd.hpp b/SRC/Boost/boost/spirit/home/classic/core/scanner/skipper_fwd.hpp
deleted file mode 100755
index f5d2f1c..0000000
--- a/SRC/Boost/boost/spirit/home/classic/core/scanner/skipper_fwd.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2006 Tobias Schwinger
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_SKIPPER_FWD_HPP)
-#define BOOST_SPIRIT_SKIPPER_FWD_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/scanner/scanner_fwd.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    template <typename BaseT = iteration_policy>
-    struct skipper_iteration_policy;
-
-    template <typename BaseT = iteration_policy>
-    struct no_skipper_iteration_policy; 
-
-    template <typename ParserT, typename BaseT = iteration_policy>
-    class skip_parser_iteration_policy;
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/debug.hpp b/SRC/Boost/boost/spirit/home/classic/debug.hpp
deleted file mode 100755
index 227c6be..0000000
--- a/SRC/Boost/boost/spirit/home/classic/debug.hpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    Copyright (c) 2002-2003 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_DEBUG_MAIN_HPP)
-#define BOOST_SPIRIT_DEBUG_MAIN_HPP
-
-///////////////////////////////////////////////////////////////////////////
-#if defined(BOOST_SPIRIT_DEBUG)
-
-#include <boost/spirit/home/classic/version.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Spirit.Debug includes and defines
-//
-///////////////////////////////////////////////////////////////////////////////
-
-    #include <iostream>
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  The BOOST_SPIRIT_DEBUG_OUT defines the stream object, which should be used
-    //  for debug diagnostics. This defaults to std::cout.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    #if !defined(BOOST_SPIRIT_DEBUG_OUT)
-    #define BOOST_SPIRIT_DEBUG_OUT std::cout
-    #endif
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  The BOOST_SPIRIT_DEBUG_PRINT_SOME constant defines the number of characters
-    //  from the stream to be printed for diagnosis. This defaults to the first
-    //  20 characters.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    #if !defined(BOOST_SPIRIT_DEBUG_PRINT_SOME)
-    #define BOOST_SPIRIT_DEBUG_PRINT_SOME 20
-    #endif
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  Additional BOOST_SPIRIT_DEBUG_FLAGS control the level of diagnostics printed
-    //  Basic constants are defined in debug/minimal.hpp.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    #define BOOST_SPIRIT_DEBUG_FLAGS_NODES        0x0001  // node diagnostics
-    #define BOOST_SPIRIT_DEBUG_FLAGS_ESCAPE_CHAR  0x0002  // escape_char_parse diagnostics
-    #define BOOST_SPIRIT_DEBUG_FLAGS_TREES        0x0004  // parse tree/ast diagnostics
-    #define BOOST_SPIRIT_DEBUG_FLAGS_CLOSURES     0x0008  // closure diagnostics
-    #define BOOST_SPIRIT_DEBUG_FLAGS_SLEX         0x8000  // slex diagnostics
-
-    #define BOOST_SPIRIT_DEBUG_FLAGS_MAX          0xFFFF  // print maximal diagnostics
-
-    #if !defined(BOOST_SPIRIT_DEBUG_FLAGS)
-    #define BOOST_SPIRIT_DEBUG_FLAGS BOOST_SPIRIT_DEBUG_FLAGS_MAX
-    #endif
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  By default all nodes are traced (even those, not registered with
-    //  BOOST_SPIRIT_DEBUG_RULE et.al. - see below). The following constant may be
-    //  used to redefine this default.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    #if !defined(BOOST_SPIRIT_DEBUG_TRACENODE)
-    #define BOOST_SPIRIT_DEBUG_TRACENODE          (true)
-    #endif // !defined(BOOST_SPIRIT_DEBUG_TRACENODE)
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  Helper macros for giving rules and subrules a name accessible through
-    //  parser_name() functions (see parser_names.hpp).
-    //
-    //  Additionally, the macros BOOST_SPIRIT_DEBUG_RULE, SPIRIT_DEBUG_NODE and
-    //  BOOST_SPIRIT_DEBUG_GRAMMAR enable/disable the tracing of the 
-    //  correspondingnode accordingly to the PP constant 
-    //  BOOST_SPIRIT_DEBUG_TRACENODE.
-    //
-    //  The macros BOOST_SPIRIT_DEBUG_TRACE_RULE, BOOST_SPIRIT_DEBUG_TRACE_NODE 
-    //  and BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR allow to specify a flag to define, 
-    //  whether the corresponding node is to be traced or not.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    #if !defined(BOOST_SPIRIT_DEBUG_RULE)
-    #define BOOST_SPIRIT_DEBUG_RULE(r)    \
-        ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
-            register_node(&r, #r, BOOST_SPIRIT_DEBUG_TRACENODE)
-    #endif // !defined(BOOST_SPIRIT_DEBUG_RULE)
-
-    #if !defined(BOOST_SPIRIT_DEBUG_NODE)
-    #define BOOST_SPIRIT_DEBUG_NODE(r)    \
-        ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
-            register_node(&r, #r, BOOST_SPIRIT_DEBUG_TRACENODE)
-    #endif // !defined(BOOST_SPIRIT_DEBUG_NODE)
-
-    #if !defined(BOOST_SPIRIT_DEBUG_GRAMMAR)
-    #define BOOST_SPIRIT_DEBUG_GRAMMAR(r)    \
-        ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
-            register_node(&r, #r, BOOST_SPIRIT_DEBUG_TRACENODE)
-    #endif // !defined(BOOST_SPIRIT_DEBUG_GRAMMAR)
-
-    #if !defined(BOOST_SPIRIT_DEBUG_TRACE_RULE)
-    #define BOOST_SPIRIT_DEBUG_TRACE_RULE(r, t)    \
-        ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
-            register_node(&r, #r, (t))
-    #endif // !defined(BOOST_SPIRIT_TRACE_RULE)
-
-    #if !defined(BOOST_SPIRIT_DEBUG_TRACE_NODE)
-    #define BOOST_SPIRIT_DEBUG_TRACE_NODE(r, t)    \
-        ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
-            register_node(&r, #r, (t))
-    #endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_NODE)
-
-    #if !defined(BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR)
-    #define BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR(r, t)    \
-        ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
-            register_node(&r, #r, (t))
-    #endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR)
-
-    #if !defined(BOOST_SPIRIT_DEBUG_TRACE_RULE_NAME)
-    #define BOOST_SPIRIT_DEBUG_TRACE_RULE_NAME(r, n, t)    \
-        ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
-            register_node(&r, (n), (t))
-    #endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_RULE_NAME)
-
-    #if !defined(BOOST_SPIRIT_DEBUG_TRACE_NODE_NAME)
-    #define BOOST_SPIRIT_DEBUG_TRACE_NODE_NAME(r, n, t)    \
-        ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
-            register_node(&r, (n), (t))
-    #endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_NODE_NAME)
-
-    #if !defined(BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR_NAME)
-    #define BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR_NAME(r, n, t)    \
-        ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
-            register_node(&r, (n), (t))
-    #endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR_NAME)
-
-    //////////////////////////////////
-    #include <boost/spirit/home/classic/debug/debug_node.hpp>
-
-#else
-    //////////////////////////////////
-    #include <boost/spirit/home/classic/debug/minimal.hpp>
-
-#endif // BOOST_SPIRIT_DEBUG
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/debug/debug_node.hpp b/SRC/Boost/boost/spirit/home/classic/debug/debug_node.hpp
deleted file mode 100755
index 0d76841..0000000
--- a/SRC/Boost/boost/spirit/home/classic/debug/debug_node.hpp
+++ /dev/null
@@ -1,319 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    Copyright (c) 2002-2003 Hartmut Kaiser
-    Copyright (c) 2003 Gustavo Guerra
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_DEBUG_NODE_HPP)
-#define BOOST_SPIRIT_DEBUG_NODE_HPP
-
-#if !defined(BOOST_SPIRIT_DEBUG_MAIN_HPP)
-#error "You must include boost/spirit/debug.hpp, not boost/spirit/debug/debug_node.hpp"
-#endif
-
-#if defined(BOOST_SPIRIT_DEBUG)
-
-#include <string>
-
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp> // for iscntrl_
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Debug helper classes for rules, which ensure maximum non-intrusiveness of
-//  the Spirit debug support
-//
-///////////////////////////////////////////////////////////////////////////////
-
-namespace impl {
-
-    struct token_printer_aux_for_chars
-    {
-        template<typename CharT>
-        static void print(std::ostream& o, CharT c)
-        {
-            if (c == static_cast<CharT>('\a'))
-                o << "\\a";
-
-            else if (c == static_cast<CharT>('\b'))
-                o << "\\b";
-
-            else if (c == static_cast<CharT>('\f'))
-                o << "\\f";
-
-            else if (c == static_cast<CharT>('\n'))
-                o << "\\n";
-
-            else if (c == static_cast<CharT>('\r'))
-                o << "\\r";
-
-            else if (c == static_cast<CharT>('\t'))
-                o << "\\t";
-
-            else if (c == static_cast<CharT>('\v'))
-                o << "\\v";
-
-            else if (iscntrl_(c))
-                o << "\\" << static_cast<int>(c);
-
-            else
-                o << static_cast<char>(c);
-        }
-    };
-
-    // for token types where the comparison with char constants wouldn't work
-    struct token_printer_aux_for_other_types
-    {
-        template<typename CharT>
-        static void print(std::ostream& o, CharT c)
-        {
-            o << c;
-        }
-    };
-
-    template <typename CharT>
-    struct token_printer_aux
-    :   mpl::if_<
-            mpl::and_<
-                is_convertible<CharT, char>,
-                is_convertible<char, CharT> >,
-            token_printer_aux_for_chars,
-            token_printer_aux_for_other_types
-        >::type
-    {
-    };
-
-    template<typename CharT>
-    inline void token_printer(std::ostream& o, CharT c)
-    {
-    #if !defined(BOOST_SPIRIT_DEBUG_TOKEN_PRINTER)
-
-        token_printer_aux<CharT>::print(o, c);
-
-    #else
-
-        BOOST_SPIRIT_DEBUG_TOKEN_PRINTER(o, c);
-
-    #endif
-    }
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Dump infos about the parsing state of a rule
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#if BOOST_SPIRIT_DEBUG_FLAGS & BOOST_SPIRIT_DEBUG_FLAGS_NODES
-    template <typename IteratorT>
-    inline void
-    print_node_info(bool hit, int level, bool close, std::string const& name,
-        IteratorT first, IteratorT last)
-    {
-        if (!name.empty())
-        {
-            for (int i = 0; i < level; ++i)
-                BOOST_SPIRIT_DEBUG_OUT << "  ";
-            if (close)
-            {
-                if (hit)
-                    BOOST_SPIRIT_DEBUG_OUT << "/";
-                else
-                    BOOST_SPIRIT_DEBUG_OUT << "#";
-            }
-            BOOST_SPIRIT_DEBUG_OUT << name << ":\t\"";
-            IteratorT iter = first;
-            IteratorT ilast = last;
-            for (int j = 0; j < BOOST_SPIRIT_DEBUG_PRINT_SOME; ++j)
-            {
-                if (iter == ilast)
-                    break;
-
-                token_printer(BOOST_SPIRIT_DEBUG_OUT, *iter);
-                ++iter;
-            }
-            BOOST_SPIRIT_DEBUG_OUT << "\"\n";
-        }
-    }
-#endif  // BOOST_SPIRIT_DEBUG_FLAGS & BOOST_SPIRIT_DEBUG_FLAGS_NODES
-
-#if BOOST_SPIRIT_DEBUG_FLAGS & BOOST_SPIRIT_DEBUG_FLAGS_CLOSURES
-    template <typename ResultT>
-    inline ResultT &
-    print_closure_info(ResultT &hit, int level, std::string const& name)
-    {
-        if (!name.empty())
-        {
-            for (int i = 0; i < level-1; ++i)
-                BOOST_SPIRIT_DEBUG_OUT << "  ";
-
-        // for now, print out the return value only
-            BOOST_SPIRIT_DEBUG_OUT << "^" << name << ":\t";
-            if (hit.has_valid_attribute())
-                BOOST_SPIRIT_DEBUG_OUT << hit.value();
-            else
-                BOOST_SPIRIT_DEBUG_OUT << "undefined attribute";
-            BOOST_SPIRIT_DEBUG_OUT << "\n";
-        }
-        return hit;
-    }
-#endif // BOOST_SPIRIT_DEBUG_FLAGS & BOOST_SPIRIT_DEBUG_FLAGS_CLOSURES
-
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Implementation note: The parser_context_linker, parser_scanner_linker and
-//  closure_context_linker classes are wrapped by a PP constant to allow
-//  redefinition of this classes outside of Spirit
-//
-///////////////////////////////////////////////////////////////////////////////
-#if !defined(BOOST_SPIRIT_PARSER_CONTEXT_LINKER_DEFINED)
-#define BOOST_SPIRIT_PARSER_CONTEXT_LINKER_DEFINED
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  parser_context_linker is a debug wrapper for the ContextT template
-    //  parameter of the rule<>, subrule<> and the grammar<> classes
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template<typename ContextT>
-    struct parser_context_linker : public ContextT
-    {
-        typedef ContextT base_t;
-
-        template <typename ParserT>
-        parser_context_linker(ParserT const& p)
-        : ContextT(p) {}
-
-        template <typename ParserT, typename ScannerT>
-        void pre_parse(ParserT const& p, ScannerT &scan)
-        {
-            this->base_t::pre_parse(p, scan);
-
-#if BOOST_SPIRIT_DEBUG_FLAGS & BOOST_SPIRIT_DEBUG_FLAGS_NODES
-            if (trace_parser(p.derived())) {
-                impl::print_node_info(
-                    false,
-                    scan.get_level(),
-                    false,
-                    parser_name(p.derived()),
-                    scan.first,
-                    scan.last);
-            }
-            scan.get_level()++;
-#endif  // BOOST_SPIRIT_DEBUG_FLAGS & BOOST_SPIRIT_DEBUG_FLAGS_NODES
-        }
-
-        template <typename ResultT, typename ParserT, typename ScannerT>
-        ResultT& post_parse(ResultT& hit, ParserT const& p, ScannerT &scan)
-        {
-#if BOOST_SPIRIT_DEBUG_FLAGS & BOOST_SPIRIT_DEBUG_FLAGS_NODES
-            --scan.get_level();
-            if (trace_parser(p.derived())) {
-                impl::print_node_info(
-                    hit,
-                    scan.get_level(),
-                    true,
-                    parser_name(p.derived()),
-                    scan.first,
-                    scan.last);
-            }
-#endif  // BOOST_SPIRIT_DEBUG_FLAGS & BOOST_SPIRIT_DEBUG_FLAGS_NODES
-
-            return this->base_t::post_parse(hit, p, scan);
-        }
-    };
-
-#endif // !defined(BOOST_SPIRIT_PARSER_CONTEXT_LINKER_DEFINED)
-
-#if !defined(BOOST_SPIRIT_PARSER_SCANNER_LINKER_DEFINED)
-#define BOOST_SPIRIT_PARSER_SCANNER_LINKER_DEFINED
-
-///////////////////////////////////////////////////////////////////////////////
-//  This class is to avoid linker problems and to ensure a real singleton
-//  'level' variable
-    struct debug_support
-    {
-        int& get_level()
-        {
-            static int level = 0;
-            return level;
-        }
-    };
-
-    template<typename ScannerT>
-    struct parser_scanner_linker : public ScannerT
-    {
-        parser_scanner_linker(ScannerT const &scan_) : ScannerT(scan_)
-        {}
-
-        int &get_level()
-        { return debug.get_level(); }
-
-        private: debug_support debug;
-    };
-
-#endif // !defined(BOOST_SPIRIT_PARSER_SCANNER_LINKER_DEFINED)
-
-#if !defined(BOOST_SPIRIT_CLOSURE_CONTEXT_LINKER_DEFINED)
-#define BOOST_SPIRIT_CLOSURE_CONTEXT_LINKER_DEFINED
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  closure_context_linker is a debug wrapper for the closure template
-    //  parameter of the rule<>, subrule<> and grammar classes
-    //
-    ///////////////////////////////////////////////////////////////////////////
-
-    template<typename ContextT>
-    struct closure_context_linker : public parser_context_linker<ContextT>
-    {
-        typedef parser_context_linker<ContextT> base_t;
-
-        template <typename ParserT>
-        closure_context_linker(ParserT const& p)
-        : parser_context_linker<ContextT>(p) {}
-
-        template <typename ParserT, typename ScannerT>
-        void pre_parse(ParserT const& p, ScannerT &scan)
-        { this->base_t::pre_parse(p, scan); }
-
-        template <typename ResultT, typename ParserT, typename ScannerT>
-        ResultT&
-        post_parse(ResultT& hit, ParserT const& p, ScannerT &scan)
-        {
-#if BOOST_SPIRIT_DEBUG_FLAGS & BOOST_SPIRIT_DEBUG_FLAGS_CLOSURES
-            if (hit && trace_parser(p.derived())) {
-            // for now, print out the return value only
-                return impl::print_closure_info(
-                    this->base_t::post_parse(hit, p, scan),
-                    scan.get_level(),
-                    parser_name(p.derived())
-                );
-            }
-#endif // BOOST_SPIRIT_DEBUG_FLAGS & BOOST_SPIRIT_DEBUG_FLAGS_CLOSURES
-
-            return this->base_t::post_parse(hit, p, scan);
-        }
-    };
-
-#endif // !defined(BOOST_SPIRIT_CLOSURE_CONTEXT_LINKER_DEFINED)
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif // defined(BOOST_SPIRIT_DEBUG)
-
-#endif // !defined(BOOST_SPIRIT_DEBUG_NODE_HPP)
-
diff --git a/SRC/Boost/boost/spirit/home/classic/debug/minimal.hpp b/SRC/Boost/boost/spirit/home/classic/debug/minimal.hpp
deleted file mode 100755
index 1d7c58f..0000000
--- a/SRC/Boost/boost/spirit/home/classic/debug/minimal.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    Copyright (c) 2002-2003 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_MINIMAL_DEBUG_HPP)
-#define BOOST_SPIRIT_MINIMAL_DEBUG_HPP
-
-#if !defined(BOOST_SPIRIT_DEBUG_MAIN_HPP)
-#error "You must include boost/spirit/debug.hpp, not boost/spirit/debug/minimal.hpp"
-#endif
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Minimum debugging tools support
-//
-///////////////////////////////////////////////////////////////////////////////
-#if !defined(BOOST_SPIRIT_DEBUG_OUT)
-#define BOOST_SPIRIT_DEBUG_OUT std::cout
-#endif
-
-///////////////////////////////////////////////////////////////////////////
-//
-//  BOOST_SPIRIT_DEBUG_FLAGS controls the level of diagnostics printed
-//
-///////////////////////////////////////////////////////////////////////////
-#if !defined(BOOST_SPIRIT_DEBUG_FLAGS_NONE)
-#define BOOST_SPIRIT_DEBUG_FLAGS_NONE         0x0000  // no diagnostics at all
-#endif
-
-#if !defined(BOOST_SPIRIT_DEBUG_FLAGS_MAX)
-#define BOOST_SPIRIT_DEBUG_FLAGS_MAX          0xFFFF  // print maximal diagnostics
-#endif
-
-#if !defined(BOOST_SPIRIT_DEBUG_FLAGS)
-#define BOOST_SPIRIT_DEBUG_FLAGS BOOST_SPIRIT_DEBUG_FLAGS_MAX
-#endif
-
-#if !defined(BOOST_SPIRIT_DEBUG_PRINT_SOME)
-#define BOOST_SPIRIT_DEBUG_PRINT_SOME 20
-#endif
-
-#if !defined(BOOST_SPIRIT_DEBUG_RULE)
-#define BOOST_SPIRIT_DEBUG_RULE(r)
-#endif // !defined(BOOST_SPIRIT_DEBUG_RULE)
-
-#if !defined(BOOST_SPIRIT_DEBUG_NODE)
-#define BOOST_SPIRIT_DEBUG_NODE(r)
-#endif // !defined(BOOST_SPIRIT_DEBUG_NODE)
-
-#if !defined(BOOST_SPIRIT_DEBUG_GRAMMAR)
-#define BOOST_SPIRIT_DEBUG_GRAMMAR(r)
-#endif // !defined(BOOST_SPIRIT_DEBUG_GRAMMAR)
-
-#if !defined(BOOST_SPIRIT_DEBUG_TRACE_RULE)
-#define BOOST_SPIRIT_DEBUG_TRACE_RULE(r, t)
-#endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_RULE)
-
-#if !defined(BOOST_SPIRIT_DEBUG_TRACE_NODE)
-#define BOOST_SPIRIT_DEBUG_TRACE_NODE(r, t)
-#endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_NODE)
-
-#if !defined(BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR)
-#define BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR(r, t)
-#endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR)
-
-#if !defined(BOOST_SPIRIT_DEBUG_TRACE_RULE_NAME)
-#define BOOST_SPIRIT_DEBUG_TRACE_RULE_NAME(r, n, t)
-#endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_RULE_NAME)
-
-#if !defined(BOOST_SPIRIT_DEBUG_TRACE_NODE_NAME)
-#define BOOST_SPIRIT_DEBUG_TRACE_NODE_NAME(r, n, t)
-#endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_NODE_NAME)
-
-#if !defined(BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR_NAME)
-#define BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR_NAME(r, n, t)
-#endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR_NAME)
-
-#endif  // !defined(BOOST_SPIRIT_MINIMAL_DEBUG_HPP)
diff --git a/SRC/Boost/boost/spirit/home/classic/meta/as_parser.hpp b/SRC/Boost/boost/spirit/home/classic/meta/as_parser.hpp
deleted file mode 100755
index 45ff3a7..0000000
--- a/SRC/Boost/boost/spirit/home/classic/meta/as_parser.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2002-2003 Joel de Guzman
-    Copyright (c) 2002-2003 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_AS_PARSER_HPP)
-#define BOOST_SPIRIT_AS_PARSER_HPP
-
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  Helper templates to derive the parser type from an auxilliary type
-    //  and to generate an object of the required parser type given an
-    //  auxilliary object. Supported types to convert are parsers,
-    //  single characters and character strings.
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    namespace impl
-    {
-        template<typename T>
-        struct default_as_parser
-        {
-            typedef T type;
-            static type const& convert(type const& p)
-            {
-                return p;
-            }
-        };
-
-        struct char_as_parser
-        {
-            typedef chlit<char> type;
-            static type convert(char ch)
-            {
-                return type(ch);
-            }
-        };
-
-        struct wchar_as_parser
-        {
-            typedef chlit<wchar_t> type;
-            static type convert(wchar_t ch)
-            {
-                return type(ch);
-            }
-        };
-
-        struct string_as_parser
-        {
-            typedef strlit<char const*> type;
-            static type convert(char const* str)
-            {
-                return type(str);
-            }
-        };
-
-        struct wstring_as_parser
-        {
-            typedef strlit<wchar_t const*> type;
-            static type convert(wchar_t const* str)
-            {
-                return type(str);
-            }
-        };
-    }
-
-    template<typename T>
-    struct as_parser : impl::default_as_parser<T> {};
-
-    template<>
-    struct as_parser<char> : impl::char_as_parser {};
-
-    template<>
-    struct as_parser<wchar_t> : impl::wchar_as_parser {};
-
-    template<>
-    struct as_parser<char*> : impl::string_as_parser {};
-
-    template<>
-    struct as_parser<char const*> : impl::string_as_parser {};
-
-    template<>
-    struct as_parser<wchar_t*> : impl::wstring_as_parser {};
-
-    template<>
-    struct as_parser<wchar_t const*> : impl::wstring_as_parser {};
-
-    template<int N>
-    struct as_parser<char[N]> : impl::string_as_parser {};
-
-    template<int N>
-    struct as_parser<wchar_t[N]> : impl::wstring_as_parser {};
-
-    template<int N>
-    struct as_parser<char const[N]> : impl::string_as_parser {};
-
-    template<int N>
-    struct as_parser<wchar_t const[N]> : impl::wstring_as_parser {};
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/namespace.hpp b/SRC/Boost/boost/spirit/home/classic/namespace.hpp
deleted file mode 100755
index 52fc86e..0000000
--- a/SRC/Boost/boost/spirit/home/classic/namespace.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/*=============================================================================
-  Copyright (c) 2001-2008 Joel de Guzman
-  Copyright (c) 2001-2008 Hartmut Kaiser
-  http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(SPIRIT_CLASSIC_NAMESPACE_HPP)
-#define SPIRIT_CLASSIC_NAMESPACE_HPP
-
-#if defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
-
-// Use the old namespace for Spirit.Classic, everything is located in the 
-// namespace boost::spirit.
-// This is in place for backwards compatibility with Spirit V1.8.x. Don't use
-// it when combining Spirit.Classic with other parts of the library
-
-#define BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN /*namespace classic {*/
-#define BOOST_SPIRIT_CLASSIC_NS              boost::spirit/*::classic*/
-#define BOOST_SPIRIT_CLASSIC_NAMESPACE_END   /*}*/
-        
-#else
-
-// This is the normal (and suggested) mode of operation when using 
-// Spirit.Classic. Everything will be located in the namespace 
-// boost::spirit::classic, avoiding name clashes with other parts of Spirit.
-
-#define BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN namespace classic {
-#define BOOST_SPIRIT_CLASSIC_NS              boost::spirit::classic
-#define BOOST_SPIRIT_CLASSIC_NAMESPACE_END   }
-
-#endif
-
-#endif 
diff --git a/SRC/Boost/boost/spirit/home/classic/utility/chset.hpp b/SRC/Boost/boost/spirit/home/classic/utility/chset.hpp
deleted file mode 100755
index 23e7143..0000000
--- a/SRC/Boost/boost/spirit/home/classic/utility/chset.hpp
+++ /dev/null
@@ -1,187 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    Copyright (c) 2001-2003 Daniel Nuffer
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_CHSET_HPP
-#define BOOST_SPIRIT_CHSET_HPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <boost/shared_ptr.hpp>
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/core/primitives/primitives.hpp>
-#include <boost/spirit/home/classic/utility/impl/chset/basic_chset.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-namespace utility { namespace impl {
-
-    // This is here because some compilers choke on out-of-line member
-    // template functions.  And we don't want to put the whole algorithm
-    // in the chset constructor in the class definition.
-    template <typename CharT, typename CharT2>
-    void construct_chset(boost::shared_ptr<basic_chset<CharT> >& ptr,
-            CharT2 const* definition);
-
-}} // namespace utility::impl
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  chset class
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT = char>
-class chset: public char_parser<chset<CharT> > {
-
-public:
-                    chset();
-                    chset(chset const& arg_);
-    explicit        chset(CharT arg_);
-    explicit        chset(anychar_parser arg_);
-    explicit        chset(nothing_parser arg_);
-    explicit        chset(chlit<CharT> const& arg_);
-    explicit        chset(range<CharT> const& arg_);
-    explicit        chset(negated_char_parser<chlit<CharT> > const& arg_);
-    explicit        chset(negated_char_parser<range<CharT> > const& arg_);
-
-                    template <typename CharT2>
-    explicit        chset(CharT2 const* definition)
-                    : ptr(new basic_chset<CharT>())
-                    {
-                        utility::impl::construct_chset(ptr, definition);
-                    }
-                    ~chset();
-
-    chset&          operator=(chset const& rhs);
-    chset&          operator=(CharT rhs);
-    chset&          operator=(anychar_parser rhs);
-    chset&          operator=(nothing_parser rhs);
-    chset&          operator=(chlit<CharT> const& rhs);
-    chset&          operator=(range<CharT> const& rhs);
-    chset&          operator=(negated_char_parser<chlit<CharT> > const& rhs);
-    chset&          operator=(negated_char_parser<range<CharT> > const& rhs);
-
-    void            set(range<CharT> const& arg_);
-    void            set(negated_char_parser<chlit<CharT> > const& arg_);
-    void            set(negated_char_parser<range<CharT> > const& arg_);
-
-    void            clear(range<CharT> const& arg_);
-    void            clear(negated_char_parser<range<CharT> > const& arg_);
-    bool            test(CharT ch) const;
-    chset&          inverse();
-    void            swap(chset& x);
-
-    chset&          operator|=(chset const& x);
-    chset&          operator&=(chset const& x);
-    chset&          operator-=(chset const& x);
-    chset&          operator^=(chset const& x);
-
-private:
-
-    boost::shared_ptr<basic_chset<CharT> > ptr;
-};
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Generator functions
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-chset_p(chlit<CharT> const& arg_)
-{ return chset<CharT>(arg_); }
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-chset_p(range<CharT> const& arg_)
-{ return chset<CharT>(arg_); }
-
-template <typename CharT>
-inline chset<CharT>
-chset_p(negated_char_parser<chlit<CharT> > const& arg_)
-{ return chset<CharT>(arg_); }
-
-template <typename CharT>
-inline chset<CharT>
-chset_p(negated_char_parser<range<CharT> > const& arg_)
-{ return chset<CharT>(arg_); }
-
-//////////////////////////////////
-inline chset<char>
-chset_p(char const* init)
-{ return chset<char>(init); }
-
-//////////////////////////////////
-inline chset<wchar_t>
-chset_p(wchar_t const* init)
-{ return chset<wchar_t>(init); }
-
-//////////////////////////////////
-inline chset<char>
-chset_p(char ch)
-{ return chset<char>(ch); }
-
-//////////////////////////////////
-inline chset<wchar_t>
-chset_p(wchar_t ch)
-{ return chset<wchar_t>(ch); }
-
-//////////////////////////////////
-inline chset<int>
-chset_p(int ch)
-{ return chset<int>(ch); }
-
-//////////////////////////////////
-inline chset<unsigned int>
-chset_p(unsigned int ch)
-{ return chset<unsigned int>(ch); }
-
-//////////////////////////////////
-inline chset<short>
-chset_p(short ch)
-{ return chset<short>(ch); }
-
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-//////////////////////////////////
-inline chset<unsigned short>
-chset_p(unsigned short ch)
-{ return chset<unsigned short>(ch); }
-#endif
-//////////////////////////////////
-inline chset<long>
-chset_p(long ch)
-{ return chset<long>(ch); }
-
-//////////////////////////////////
-inline chset<unsigned long>
-chset_p(unsigned long ch)
-{ return chset<unsigned long>(ch); }
-
-#ifdef BOOST_HAS_LONG_LONG
-//////////////////////////////////
-inline chset< ::boost::long_long_type>
-chset_p( ::boost::long_long_type ch)
-{ return chset< ::boost::long_long_type>(ch); }
-
-//////////////////////////////////
-inline chset< ::boost::ulong_long_type>
-chset_p( ::boost::ulong_long_type ch)
-{ return chset< ::boost::ulong_long_type>(ch); }
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/utility/impl/chset.ipp>
-#include <boost/spirit/home/classic/utility/chset_operators.hpp>
diff --git a/SRC/Boost/boost/spirit/home/classic/utility/chset_operators.hpp b/SRC/Boost/boost/spirit/home/classic/utility/chset_operators.hpp
deleted file mode 100755
index 8056d80..0000000
--- a/SRC/Boost/boost/spirit/home/classic/utility/chset_operators.hpp
+++ /dev/null
@@ -1,402 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    Copyright (c) 2001-2003 Daniel Nuffer
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_CHSET_OPERATORS_HPP
-#define BOOST_SPIRIT_CHSET_OPERATORS_HPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <boost/spirit/home/classic/namespace.hpp>
-#include <boost/spirit/home/classic/utility/chset.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  chset free operators
-//
-//      Where a and b are both chsets, implements:
-//
-//          a | b, a & b, a - b, a ^ b
-//
-//      Where a is a chset, implements:
-//
-//          ~a
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator~(chset<CharT> const& a);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(chset<CharT> const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(chset<CharT> const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(chset<CharT> const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(chset<CharT> const& a, chset<CharT> const& b);
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  range <--> chset free operators
-//
-//      Where a is a chset and b is a range, and vice-versa, implements:
-//
-//          a | b, a & b, a - b, a ^ b
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(chset<CharT> const& a, range<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(chset<CharT> const& a, range<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(chset<CharT> const& a, range<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(chset<CharT> const& a, range<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(range<CharT> const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(range<CharT> const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(range<CharT> const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(range<CharT> const& a, chset<CharT> const& b);
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  chlit <--> chset free operators
-//
-//      Where a is a chset and b is a chlit, and vice-versa, implements:
-//
-//          a | b, a & b, a - b, a ^ b
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(chset<CharT> const& a, chlit<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(chset<CharT> const& a, chlit<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(chset<CharT> const& a, chlit<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(chset<CharT> const& a, chlit<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(chlit<CharT> const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(chlit<CharT> const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(chlit<CharT> const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(chlit<CharT> const& a, chset<CharT> const& b);
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  negated_char_parser<range> <--> chset free operators
-//
-//      Where a is a chset and b is a range, and vice-versa, implements:
-//
-//          a | b, a & b, a - b, a ^ b
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(chset<CharT> const& a, negated_char_parser<range<CharT> > const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(chset<CharT> const& a, negated_char_parser<range<CharT> > const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(chset<CharT> const& a, negated_char_parser<range<CharT> > const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(chset<CharT> const& a, negated_char_parser<range<CharT> > const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(negated_char_parser<range<CharT> > const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(negated_char_parser<range<CharT> > const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(negated_char_parser<range<CharT> > const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(negated_char_parser<range<CharT> > const& a, chset<CharT> const& b);
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  negated_char_parser<chlit> <--> chset free operators
-//
-//      Where a is a chset and b is a chlit, and vice-versa, implements:
-//
-//          a | b, a & b, a - b, a ^ b
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(chset<CharT> const& a, negated_char_parser<chlit<CharT> > const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(chset<CharT> const& a, negated_char_parser<chlit<CharT> > const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(chset<CharT> const& a, negated_char_parser<chlit<CharT> > const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(chset<CharT> const& a, negated_char_parser<chlit<CharT> > const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(negated_char_parser<chlit<CharT> > const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(negated_char_parser<chlit<CharT> > const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(negated_char_parser<chlit<CharT> > const& a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(negated_char_parser<chlit<CharT> > const& a, chset<CharT> const& b);
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  literal primitives <--> chset free operators
-//
-//      Where a is a chset and b is a literal primitive,
-//      and vice-versa, implements:
-//
-//          a | b, a & b, a - b, a ^ b
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(chset<CharT> const& a, CharT b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(chset<CharT> const& a, CharT b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(chset<CharT> const& a, CharT b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(chset<CharT> const& a, CharT b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(CharT a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(CharT a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(CharT a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(CharT a, chset<CharT> const& b);
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  anychar_parser <--> chset free operators
-//
-//      Where a is chset and b is a anychar_parser, and vice-versa, implements:
-//
-//          a | b, a & b, a - b, a ^ b
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(chset<CharT> const& a, anychar_parser b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(chset<CharT> const& a, anychar_parser b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(chset<CharT> const& a, anychar_parser b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(chset<CharT> const& a, anychar_parser b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(anychar_parser a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(anychar_parser a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(anychar_parser a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(anychar_parser a, chset<CharT> const& b);
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  nothing_parser <--> chset free operators
-//
-//      Where a is chset and b is nothing_parser, and vice-versa, implements:
-//
-//          a | b, a & b, a - b, a ^ b
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(chset<CharT> const& a, nothing_parser b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(chset<CharT> const& a, nothing_parser b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(chset<CharT> const& a, nothing_parser b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(chset<CharT> const& a, nothing_parser b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator|(nothing_parser a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator&(nothing_parser a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator-(nothing_parser a, chset<CharT> const& b);
-
-//////////////////////////////////
-template <typename CharT>
-chset<CharT>
-operator^(nothing_parser a, chset<CharT> const& b);
-
-///////////////////////////////////////////////////////////////////////////////
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/utility/impl/chset_operators.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/utility/impl/chset.ipp b/SRC/Boost/boost/spirit/home/classic/utility/impl/chset.ipp
deleted file mode 100755
index 3459fdf..0000000
--- a/SRC/Boost/boost/spirit/home/classic/utility/impl/chset.ipp
+++ /dev/null
@@ -1,366 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    Copyright (c) 2001-2003 Daniel Nuffer
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_CHSET_IPP
-#define BOOST_SPIRIT_CHSET_IPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <boost/limits.hpp>
-#include <boost/spirit/home/classic/utility/chset.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  chset class
-//
-///////////////////////////////////////////////////////////////////////////////
-namespace utility { namespace impl {
-    template <typename CharT>
-    inline void
-    detach(boost::shared_ptr<basic_chset<CharT> >& ptr)
-    {
-        if (!ptr.unique())
-            ptr = boost::shared_ptr<basic_chset<CharT> >
-                (new basic_chset<CharT>(*ptr));
-    }
-
-    template <typename CharT>
-    inline void
-    detach_clear(boost::shared_ptr<basic_chset<CharT> >& ptr)
-    {
-        if (ptr.unique())
-            ptr->clear();
-        else
-            ptr.reset(new basic_chset<CharT>());
-    }
-
-    template <typename CharT, typename CharT2>
-    void construct_chset(boost::shared_ptr<basic_chset<CharT> >& ptr,
-            CharT2 const* definition)
-    {
-        CharT2 ch = *definition++;
-        while (ch)
-        {
-            CharT2 next = *definition++;
-            if (next == '-')
-            {
-                next = *definition++;
-                if (next == 0)
-                {
-                    ptr->set(ch);
-                    ptr->set('-');
-                    break;
-                }
-                ptr->set(ch, next);
-            }
-            else
-            {
-                ptr->set(ch);
-            }
-            ch = next;
-        }
-    }
-
-    //////////////////////////////////
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-    template <typename CharT, typename FakeT>
-    void chset_negated_set(boost::shared_ptr<basic_chset<CharT> > &ptr, chlit<CharT> const &ch,
-            FakeT)
-    {
-        if(ch.ch != (std::numeric_limits<CharT>::min)()) {
-            ptr->set((std::numeric_limits<CharT>::min)(), ch.ch - 1);
-        }
-        if(ch.ch != (std::numeric_limits<CharT>::max)()) {
-            ptr->set(ch.ch + 1, (std::numeric_limits<CharT>::max)());
-        }
-    }
-    
-    template <typename CharT, typename FakeT>
-    void chset_negated_set(boost::shared_ptr<basic_chset<CharT> > &ptr,
-            spirit::range<CharT> const &rng, FakeT)
-    {
-        if(rng.first != (std::numeric_limits<CharT>::min)()) {
-            ptr->set((std::numeric_limits<CharT>::min)(), rng.first - 1);
-        }
-        if(rng.last != (std::numeric_limits<CharT>::max)()) {
-            ptr->set(rng.last + 1, (std::numeric_limits<CharT>::max)());
-        }
-    }
-
-#endif // BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-//////////////////////////////////
-
-}} // namespace utility::impl
-
-template <typename CharT>
-inline chset<CharT>::chset()
-: ptr(new basic_chset<CharT>()) {}
-
-template <typename CharT>
-inline chset<CharT>::chset(chset const& arg_)
-: ptr(new basic_chset<CharT>(*arg_.ptr)) {}
-
-template <typename CharT>
-inline chset<CharT>::chset(CharT arg_)
-: ptr(new basic_chset<CharT>())
-{ ptr->set(arg_); }
-
-template <typename CharT>
-inline chset<CharT>::chset(anychar_parser /*arg*/)
-: ptr(new basic_chset<CharT>())
-{
-    ptr->set(
-        (std::numeric_limits<CharT>::min)(),
-        (std::numeric_limits<CharT>::max)()
-    );
-}
-
-template <typename CharT>
-inline chset<CharT>::chset(nothing_parser arg_)
-: ptr(new basic_chset<CharT>()) {}
-
-template <typename CharT>
-inline chset<CharT>::chset(chlit<CharT> const& arg_)
-: ptr(new basic_chset<CharT>())
-{ ptr->set(arg_.ch); }
-
-template <typename CharT>
-inline chset<CharT>::chset(range<CharT> const& arg_)
-: ptr(new basic_chset<CharT>())
-{ ptr->set(arg_.first, arg_.last); }
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-template <typename CharT>
-inline chset<CharT>::chset(negated_char_parser<chlit<CharT> > const& arg_)
-: ptr(new basic_chset<CharT>())
-{
-    set(arg_);
-}
-
-template <typename CharT>
-inline chset<CharT>::chset(negated_char_parser<range<CharT> > const& arg_)
-: ptr(new basic_chset<CharT>())
-{
-    set(arg_);
-}
-
-#endif // !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-template <typename CharT>
-inline chset<CharT>::~chset() {}
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::operator=(chset const& rhs)
-{
-    ptr = rhs.ptr;
-    return *this;
-}
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::operator=(CharT rhs)
-{
-    utility::impl::detach_clear(ptr);
-    ptr->set(rhs);
-    return *this;
-}
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::operator=(anychar_parser rhs)
-{
-    utility::impl::detach_clear(ptr);
-    ptr->set(
-        (std::numeric_limits<CharT>::min)(),
-        (std::numeric_limits<CharT>::max)()
-    );
-    return *this;
-}
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::operator=(nothing_parser rhs)
-{
-    utility::impl::detach_clear(ptr);
-    return *this;
-}
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::operator=(chlit<CharT> const& rhs)
-{
-    utility::impl::detach_clear(ptr);
-    ptr->set(rhs.ch);
-    return *this;
-}
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::operator=(range<CharT> const& rhs)
-{
-    utility::impl::detach_clear(ptr);
-    ptr->set(rhs.first, rhs.last);
-    return *this;
-}
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::operator=(negated_char_parser<chlit<CharT> > const& rhs)
-{
-    utility::impl::detach_clear(ptr);
-    set(rhs);
-    return *this;
-}
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::operator=(negated_char_parser<range<CharT> > const& rhs)
-{
-    utility::impl::detach_clear(ptr);
-    set(rhs);
-    return *this;
-}
-
-#endif // !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-template <typename CharT>
-inline void
-chset<CharT>::set(range<CharT> const& arg_)
-{
-    utility::impl::detach(ptr);
-    ptr->set(arg_.first, arg_.last);
-}
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-template <typename CharT>
-inline void
-chset<CharT>::set(negated_char_parser<chlit<CharT> > const& arg_)
-{
-    utility::impl::detach(ptr);
-    
-    if(arg_.positive.ch != (std::numeric_limits<CharT>::min)()) {
-        ptr->set((std::numeric_limits<CharT>::min)(), arg_.positive.ch - 1);
-    }
-    if(arg_.positive.ch != (std::numeric_limits<CharT>::max)()) {
-        ptr->set(arg_.positive.ch + 1, (std::numeric_limits<CharT>::max)());
-    }
-}
-
-template <typename CharT>
-inline void
-chset<CharT>::set(negated_char_parser<range<CharT> > const& arg_)
-{
-    utility::impl::detach(ptr);
-    
-    if(arg_.positive.first != (std::numeric_limits<CharT>::min)()) {
-        ptr->set((std::numeric_limits<CharT>::min)(), arg_.positive.first - 1);
-    }
-    if(arg_.positive.last != (std::numeric_limits<CharT>::max)()) {
-        ptr->set(arg_.positive.last + 1, (std::numeric_limits<CharT>::max)());
-    }
-}
-
-#endif // !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-template <typename CharT>
-inline void
-chset<CharT>::clear(range<CharT> const& arg_)
-{
-    utility::impl::detach(ptr);
-    ptr->clear(arg_.first, arg_.last);
-}
-
-template <typename CharT>
-inline void
-chset<CharT>::clear(negated_char_parser<range<CharT> > const& arg_)
-{
-    utility::impl::detach(ptr);
-
-    if(arg_.positive.first != (std::numeric_limits<CharT>::min)()) {
-        ptr->clear((std::numeric_limits<CharT>::min)(), arg_.positive.first - 1);
-    }
-    if(arg_.positive.last != (std::numeric_limits<CharT>::max)()) {
-        ptr->clear(arg_.positive.last + 1, (std::numeric_limits<CharT>::max)());
-    }
-}
-
-template <typename CharT>
-inline bool
-chset<CharT>::test(CharT ch) const
-{ return ptr->test(ch); }
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::inverse()
-{
-    utility::impl::detach(ptr);
-    ptr->inverse();
-    return *this;
-}
-
-template <typename CharT>
-inline void
-chset<CharT>::swap(chset& x)
-{ ptr.swap(x.ptr); }
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::operator|=(chset const& x)
-{
-    utility::impl::detach(ptr);
-    *ptr |= *x.ptr;
-    return *this;
-}
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::operator&=(chset const& x)
-{
-    utility::impl::detach(ptr);
-    *ptr &= *x.ptr;
-    return *this;
-}
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::operator-=(chset const& x)
-{
-    utility::impl::detach(ptr);
-    *ptr -= *x.ptr;
-    return *this;
-}
-
-template <typename CharT>
-inline chset<CharT>&
-chset<CharT>::operator^=(chset const& x)
-{
-    utility::impl::detach(ptr);
-    *ptr ^= *x.ptr;
-    return *this;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/utility/impl/chset/basic_chset.hpp b/SRC/Boost/boost/spirit/home/classic/utility/impl/chset/basic_chset.hpp
deleted file mode 100755
index 0646e5a..0000000
--- a/SRC/Boost/boost/spirit/home/classic/utility/impl/chset/basic_chset.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    Copyright (c) 2001-2003 Daniel Nuffer
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_BASIC_CHSET_HPP
-#define BOOST_SPIRIT_BASIC_CHSET_HPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <bitset>
-#include <climits>
-#include <boost/spirit/home/classic/utility/impl/chset/range_run.hpp>
-#include <boost/spirit/home/classic/namespace.hpp>
-
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  basic_chset: basic character set implementation using range_run
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename CharT>
-    class basic_chset
-    {
-    public:
-                            basic_chset();
-                            basic_chset(basic_chset const& arg_);
-
-        bool                test(CharT v) const;
-        void                set(CharT from, CharT to);
-        void                set(CharT c);
-        void                clear(CharT from, CharT to);
-        void                clear(CharT c);
-        void                clear();
-
-        void                inverse();
-        void                swap(basic_chset& x);
-
-        basic_chset&        operator|=(basic_chset const& x);
-        basic_chset&        operator&=(basic_chset const& x);
-        basic_chset&        operator-=(basic_chset const& x);
-        basic_chset&        operator^=(basic_chset const& x);
-
-        private: utility::impl::range_run<CharT> rr;
-    };
-
-    #if (CHAR_BIT == 8)
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  basic_chset: specializations for 8 bit chars using std::bitset
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename CharT>
-    class basic_chset_8bit {
-
-    public:
-                            basic_chset_8bit();
-                            basic_chset_8bit(basic_chset_8bit const& arg_);
-
-        bool                test(CharT v) const;
-        void                set(CharT from, CharT to);
-        void                set(CharT c);
-        void                clear(CharT from, CharT to);
-        void                clear(CharT c);
-        void                clear();
-
-        void                inverse();
-        void                swap(basic_chset_8bit& x);
-
-        basic_chset_8bit&   operator|=(basic_chset_8bit const& x);
-        basic_chset_8bit&   operator&=(basic_chset_8bit const& x);
-        basic_chset_8bit&   operator-=(basic_chset_8bit const& x);
-        basic_chset_8bit&   operator^=(basic_chset_8bit const& x);
-
-        private: std::bitset<256> bset;
-    };
-
-    /////////////////////////////////
-    template <>
-    class basic_chset<char>
-    : public basic_chset_8bit<char> {};
-
-    /////////////////////////////////
-    template <>
-    class basic_chset<signed char>
-    : public basic_chset_8bit<signed char> {};
-
-    /////////////////////////////////
-    template <>
-    class basic_chset<unsigned char>
-    : public basic_chset_8bit<unsigned char> {};
-
-#endif
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS
-
-#endif
-
-#include <boost/spirit/home/classic/utility/impl/chset/basic_chset.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/utility/impl/chset/basic_chset.ipp b/SRC/Boost/boost/spirit/home/classic/utility/impl/chset/basic_chset.ipp
deleted file mode 100755
index 8d73e22..0000000
--- a/SRC/Boost/boost/spirit/home/classic/utility/impl/chset/basic_chset.ipp
+++ /dev/null
@@ -1,246 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    Copyright (c) 2001-2003 Daniel Nuffer
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_BASIC_CHSET_IPP
-#define BOOST_SPIRIT_BASIC_CHSET_IPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <bitset>
-#include <boost/spirit/home/classic/utility/impl/chset/basic_chset.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  basic_chset: character set implementation
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-inline basic_chset<CharT>::basic_chset() {}
-
-//////////////////////////////////
-template <typename CharT>
-inline basic_chset<CharT>::basic_chset(basic_chset const& arg_)
-: rr(arg_.rr) {}
-
-//////////////////////////////////
-template <typename CharT>
-inline bool
-basic_chset<CharT>::test(CharT v) const
-{ return rr.test(v); }
-
-//////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset<CharT>::set(CharT from, CharT to)
-{ rr.set(utility::impl::range<CharT>(from, to)); }
-
-//////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset<CharT>::set(CharT c)
-{ rr.set(utility::impl::range<CharT>(c, c)); }
-
-//////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset<CharT>::clear(CharT from, CharT to)
-{ rr.clear(utility::impl::range<CharT>(from, to)); }
-
-//////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset<CharT>::clear()
-{ rr.clear(); }
-
-/////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset<CharT>::inverse()
-{
-    basic_chset inv;
-    inv.set(
-        (std::numeric_limits<CharT>::min)(),
-        (std::numeric_limits<CharT>::max)()
-    );
-    inv -= *this;
-    swap(inv);
-}
-
-/////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset<CharT>::swap(basic_chset& x)
-{ rr.swap(x.rr); }
-
-/////////////////////////////////
-template <typename CharT>
-inline basic_chset<CharT>&
-basic_chset<CharT>::operator|=(basic_chset<CharT> const& x)
-{
-    typedef typename utility::impl::range_run<CharT>::const_iterator const_iterator;
-    for (const_iterator iter = x.rr.begin(); iter != x.rr.end(); ++iter)
-        rr.set(*iter);
-    return *this;
-}
-
-/////////////////////////////////
-template <typename CharT>
-inline basic_chset<CharT>&
-basic_chset<CharT>::operator&=(basic_chset<CharT> const& x)
-{
-    basic_chset inv;
-    inv.set(
-        (std::numeric_limits<CharT>::min)(),
-        (std::numeric_limits<CharT>::max)()
-    );
-    inv -= x;
-    *this -= inv;
-    return *this;
-}
-
-/////////////////////////////////
-template <typename CharT>
-inline basic_chset<CharT>&
-basic_chset<CharT>::operator-=(basic_chset<CharT> const& x)
-{
-    typedef typename utility::impl::range_run<CharT>::const_iterator const_iterator;
-    for (const_iterator iter = x.rr.begin(); iter != x.rr.end(); ++iter)
-        rr.clear(*iter);
-    return *this;
-}
-
-/////////////////////////////////
-template <typename CharT>
-inline basic_chset<CharT>&
-basic_chset<CharT>::operator^=(basic_chset<CharT> const& x)
-{
-    basic_chset bma = x;
-    bma -= *this;
-    *this -= x;
-    *this |= bma;
-    return *this;
-}
-
-#if (CHAR_BIT == 8)
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  basic_chset: specializations for 8 bit chars using std::bitset
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-inline basic_chset_8bit<CharT>::basic_chset_8bit() {}
-
-/////////////////////////////////
-template <typename CharT>
-inline basic_chset_8bit<CharT>::basic_chset_8bit(basic_chset_8bit const& arg_)
-: bset(arg_.bset) {}
-
-/////////////////////////////////
-template <typename CharT>
-inline bool
-basic_chset_8bit<CharT>::test(CharT v) const
-{ return bset.test((unsigned char)v); }
-
-/////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset_8bit<CharT>::set(CharT from, CharT to)
-{
-    for (int i = from; i <= to; ++i)
-        bset.set((unsigned char)i);
-}
-
-/////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset_8bit<CharT>::set(CharT c)
-{ bset.set((unsigned char)c); }
-
-/////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset_8bit<CharT>::clear(CharT from, CharT to)
-{
-    for (int i = from; i <= to; ++i)
-        bset.reset((unsigned char)i);
-}
-
-/////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset_8bit<CharT>::clear(CharT c)
-{ bset.reset((unsigned char)c); }
-
-/////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset_8bit<CharT>::clear()
-{ bset.reset(); }
-
-/////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset_8bit<CharT>::inverse()
-{ bset.flip(); }
-
-/////////////////////////////////
-template <typename CharT>
-inline void
-basic_chset_8bit<CharT>::swap(basic_chset_8bit& x)
-{ std::swap(bset, x.bset); }
-
-/////////////////////////////////
-template <typename CharT>
-inline basic_chset_8bit<CharT>&
-basic_chset_8bit<CharT>::operator|=(basic_chset_8bit const& x)
-{
-    bset |= x.bset;
-    return *this;
-}
-
-/////////////////////////////////
-template <typename CharT>
-inline basic_chset_8bit<CharT>&
-basic_chset_8bit<CharT>::operator&=(basic_chset_8bit const& x)
-{
-    bset &= x.bset;
-    return *this;
-}
-
-/////////////////////////////////
-template <typename CharT>
-inline basic_chset_8bit<CharT>&
-basic_chset_8bit<CharT>::operator-=(basic_chset_8bit const& x)
-{
-    bset &= ~x.bset;
-    return *this;
-}
-
-/////////////////////////////////
-template <typename CharT>
-inline basic_chset_8bit<CharT>&
-basic_chset_8bit<CharT>::operator^=(basic_chset_8bit const& x)
-{
-    bset ^= x.bset;
-    return *this;
-}
-
-#endif
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/utility/impl/chset/range_run.hpp b/SRC/Boost/boost/spirit/home/classic/utility/impl/chset/range_run.hpp
deleted file mode 100755
index f09ebcc..0000000
--- a/SRC/Boost/boost/spirit/home/classic/utility/impl/chset/range_run.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_RANGE_RUN_HPP
-#define BOOST_SPIRIT_RANGE_RUN_HPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <vector>
-
-#include <boost/spirit/home/classic/namespace.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { 
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-namespace utility { namespace impl {
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  range class
-    //
-    //      Implements a closed range of values. This class is used in
-    //      the implementation of the range_run class.
-    //
-    //      { Low level implementation detail }
-    //      { Not to be confused with BOOST_SPIRIT_CLASSIC_NS::range }
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename CharT>
-    struct range {
-
-                        range(CharT first, CharT last);
-
-        bool            is_valid() const;
-        bool            includes(CharT v) const;
-        bool            includes(range const& r) const;
-        bool            overlaps(range const& r) const;
-        void            merge(range const& r);
-
-        CharT first;
-        CharT last;
-    };
-
-    //////////////////////////////////
-    template <typename CharT>
-    struct range_char_compare {
-
-        bool operator()(range<CharT> const& x, const CharT y) const
-        { return x.first < y; }
-        
-        bool operator()(const CharT x, range<CharT> const& y) const
-        { return x < y.first; }
-        
-        // This additional operator is required for the checked STL shipped
-        // with VC8 testing the ordering of the iterators passed to the
-        // std::lower_bound algo this range_char_compare<> predicate is passed
-        // to.
-        bool operator()(range<CharT> const& x, range<CharT> const& y) const
-        { return x.first < y.first; }
-    };
-
-    //////////////////////////////////
-    template <typename CharT>
-    struct range_compare {
-
-        bool operator()(range<CharT> const& x, range<CharT> const& y) const
-        { return x.first < y.first; }
-    };
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  range_run
-    //
-    //      An implementation of a sparse bit (boolean) set. The set uses
-    //      a sorted vector of disjoint ranges. This class implements the
-    //      bare minimum essentials from which the full range of set
-    //      operators can be implemented. The set is constructed from
-    //      ranges. Internally, adjacent or overlapping ranges are
-    //      coalesced.
-    //
-    //      range_runs are very space-economical in situations where there
-    //      are lots of ranges and a few individual disjoint values.
-    //      Searching is O(log n) where n is the number of ranges.
-    //
-    //      { Low level implementation detail }
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    template <typename CharT>
-    class range_run {
-
-    public:
-
-        typedef range<CharT> range_t;
-        typedef std::vector<range_t> run_t;
-        typedef typename run_t::iterator iterator;
-        typedef typename run_t::const_iterator const_iterator;
-
-        void            swap(range_run& rr);
-        bool            test(CharT v) const;
-        void            set(range_t const& r);
-        void            clear(range_t const& r);
-        void            clear();
-
-        const_iterator  begin() const;
-        const_iterator  end() const;
-
-    private:
-
-        void            merge(iterator iter, range_t const& r);
-
-        run_t run;
-    };
-
-}}
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace BOOST_SPIRIT_CLASSIC_NS::utility::impl
-
-#endif
-
-#include <boost/spirit/home/classic/utility/impl/chset/range_run.ipp>
diff --git a/SRC/Boost/boost/spirit/home/classic/utility/impl/chset/range_run.ipp b/SRC/Boost/boost/spirit/home/classic/utility/impl/chset/range_run.ipp
deleted file mode 100755
index c91d982..0000000
--- a/SRC/Boost/boost/spirit/home/classic/utility/impl/chset/range_run.ipp
+++ /dev/null
@@ -1,218 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_RANGE_RUN_IPP
-#define BOOST_SPIRIT_RANGE_RUN_IPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <algorithm> // for std::lower_bound
-#include <boost/spirit/home/classic/core/assert.hpp> // for BOOST_SPIRIT_ASSERT
-#include <boost/spirit/home/classic/utility/impl/chset/range_run.hpp>
-#include <boost/spirit/home/classic/debug.hpp>
-#include <boost/limits.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-    namespace utility { namespace impl {
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  range class implementation
-        //
-        ///////////////////////////////////////////////////////////////////////
-        template <typename CharT>
-        inline range<CharT>::range(CharT first_, CharT last_)
-        : first(first_), last(last_) {}
-
-        //////////////////////////////////
-        template <typename CharT>
-        inline bool
-        range<CharT>::is_valid() const
-        { return first <= last; }
-
-        //////////////////////////////////
-        template <typename CharT>
-        inline bool
-        range<CharT>::includes(range const& r) const
-        { return (first <= r.first) && (last >= r.last); }
-
-        //////////////////////////////////
-        template <typename CharT>
-        inline bool
-        range<CharT>::includes(CharT v) const
-        { return (first <= v) && (last >= v); }
-
-        //////////////////////////////////
-        template <typename CharT>
-        inline bool
-        range<CharT>::overlaps(range const& r) const
-        {
-            CharT decr_first =
-                first == (std::numeric_limits<CharT>::min)() ? first : first-1;
-            CharT incr_last =
-                last == (std::numeric_limits<CharT>::max)() ? last : last+1;
-
-            return (decr_first <= r.last) && (incr_last >= r.first);
-        }
-
-        //////////////////////////////////
-        template <typename CharT>
-        inline void
-        range<CharT>::merge(range const& r)
-        {
-            first = (std::min)(first, r.first);
-            last = (std::max)(last, r.last);
-        }
-
-        ///////////////////////////////////////////////////////////////////////
-        //
-        //  range_run class implementation
-        //
-        ///////////////////////////////////////////////////////////////////////
-        template <typename CharT>
-        inline bool
-        range_run<CharT>::test(CharT v) const
-        {
-            if (!run.empty())
-            {
-                const_iterator iter =
-                    std::lower_bound(
-                        run.begin(), run.end(), v,
-                        range_char_compare<CharT>()
-                    );
-
-                if (iter != run.end() && iter->includes(v))
-                    return true;
-                if (iter != run.begin())
-                    return (--iter)->includes(v);
-            }
-            return false;
-        }
-
-        //////////////////////////////////
-        template <typename CharT>
-        inline void
-        range_run<CharT>::swap(range_run& rr)
-        { run.swap(rr.run); }
-
-        //////////////////////////////////
-        template <typename CharT>
-        void
-        range_run<CharT>::merge(iterator iter, range<CharT> const& r)
-        {
-            iter->merge(r);
-            iterator i = iter + 1;
-
-            while (i != run.end() && iter->overlaps(*i))
-                iter->merge(*i++);
-
-            run.erase(iter+1, i);
-        }
-
-        //////////////////////////////////
-        template <typename CharT>
-        void
-        range_run<CharT>::set(range<CharT> const& r)
-        {
-            BOOST_SPIRIT_ASSERT(r.is_valid());
-            if (!run.empty())
-            {
-                iterator iter =
-                    std::lower_bound(
-                        run.begin(), run.end(), r,
-                        range_compare<CharT>()
-                    );
-
-                if ((iter != run.end() && iter->includes(r)) ||
-                    ((iter != run.begin()) && (iter - 1)->includes(r)))
-                    return;
-
-                if (iter != run.begin() && (iter - 1)->overlaps(r))
-                    merge(--iter, r);
-
-                else if (iter != run.end() && iter->overlaps(r))
-                    merge(iter, r);
-
-                else
-                    run.insert(iter, r);
-            }
-            else
-            {
-                run.push_back(r);
-            }
-        }
-
-        //////////////////////////////////
-        template <typename CharT>
-        void
-        range_run<CharT>::clear(range<CharT> const& r)
-        {
-            BOOST_SPIRIT_ASSERT(r.is_valid());
-            if (!run.empty())
-            {
-                iterator iter =
-                    std::lower_bound(
-                        run.begin(), run.end(), r,
-                        range_compare<CharT>()
-                    );
-
-                iterator left_iter;
-
-                if ((iter != run.begin()) &&
-                        (left_iter = (iter - 1))->includes(r.first))
-                {
-                    if (left_iter->last > r.last)
-                    {
-                        CharT save_last = left_iter->last;
-                        left_iter->last = r.first-1;
-                        run.insert(iter, range<CharT>(r.last+1, save_last));
-                        return;
-                    }
-                    else
-                    {
-                        left_iter->last = r.first-1;
-                    }
-                }
-                
-                iterator i = iter;
-                while (i != run.end() && r.includes(*i))
-                    i++;
-                if (i != run.end() && i->includes(r.last))
-                    i->first = r.last+1;
-                run.erase(iter, i);
-            }
-        }
-
-        //////////////////////////////////
-        template <typename CharT>
-        inline void
-        range_run<CharT>::clear()
-        { run.clear(); }
-
-        //////////////////////////////////
-        template <typename CharT>
-        inline typename range_run<CharT>::const_iterator
-        range_run<CharT>::begin() const
-        { return run.begin(); }
-
-        //////////////////////////////////
-        template <typename CharT>
-        inline typename range_run<CharT>::const_iterator
-        range_run<CharT>::end() const
-        { return run.end(); }
-
-    }} // namespace utility::impl
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
diff --git a/SRC/Boost/boost/spirit/home/classic/utility/impl/chset_operators.ipp b/SRC/Boost/boost/spirit/home/classic/utility/impl/chset_operators.ipp
deleted file mode 100755
index 6f67912..0000000
--- a/SRC/Boost/boost/spirit/home/classic/utility/impl/chset_operators.ipp
+++ /dev/null
@@ -1,666 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Joel de Guzman
-    http://spirit.sourceforge.net/
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_CHSET_OPERATORS_IPP
-#define BOOST_SPIRIT_CHSET_OPERATORS_IPP
-
-///////////////////////////////////////////////////////////////////////////////
-#include <boost/limits.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit {
-
-BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  chset free operators implementation
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(chset<CharT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) |= b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(chset<CharT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) -= b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator~(chset<CharT> const& a)
-{
-    return chset<CharT>(a).inverse();
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(chset<CharT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) &= b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(chset<CharT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) ^= b;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  range <--> chset free operators implementation
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(chset<CharT> const& a, range<CharT> const& b)
-{
-    chset<CharT> a_(a);
-    a_.set(b);
-    return a_;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(chset<CharT> const& a, range<CharT> const& b)
-{
-    chset<CharT> a_(a);
-    if(b.first != (std::numeric_limits<CharT>::min)()) {
-        a_.clear(range<CharT>((std::numeric_limits<CharT>::min)(), b.first - 1));
-    }
-    if(b.last != (std::numeric_limits<CharT>::max)()) {
-        a_.clear(range<CharT>(b.last + 1, (std::numeric_limits<CharT>::max)()));
-    }
-    return a_;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(chset<CharT> const& a, range<CharT> const& b)
-{
-    chset<CharT> a_(a);
-    a_.clear(b);
-    return a_;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(chset<CharT> const& a, range<CharT> const& b)
-{
-    return a ^ chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(range<CharT> const& a, chset<CharT> const& b)
-{
-    chset<CharT> b_(b);
-    b_.set(a);
-    return b_;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(range<CharT> const& a, chset<CharT> const& b)
-{
-    chset<CharT> b_(b);
-    if(a.first != (std::numeric_limits<CharT>::min)()) {
-        b_.clear(range<CharT>((std::numeric_limits<CharT>::min)(), a.first - 1));
-    }
-    if(a.last != (std::numeric_limits<CharT>::max)()) {
-        b_.clear(range<CharT>(a.last + 1, (std::numeric_limits<CharT>::max)()));
-    }
-    return b_;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(range<CharT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) - b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(range<CharT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) ^ b;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  literal primitives <--> chset free operators implementation
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(chset<CharT> const& a, CharT b)
-{
-    return a | chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(chset<CharT> const& a, CharT b)
-{
-    return a & chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(chset<CharT> const& a, CharT b)
-{
-    return a - chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(chset<CharT> const& a, CharT b)
-{
-    return a ^ chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(CharT a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) | b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(CharT a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) & b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(CharT a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) - b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(CharT a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) ^ b;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  chlit <--> chset free operators implementation
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(chset<CharT> const& a, chlit<CharT> const& b)
-{
-    return a | chset<CharT>(b.ch);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(chset<CharT> const& a, chlit<CharT> const& b)
-{
-    return a & chset<CharT>(b.ch);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(chset<CharT> const& a, chlit<CharT> const& b)
-{
-    return a - chset<CharT>(b.ch);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(chset<CharT> const& a, chlit<CharT> const& b)
-{
-    return a ^ chset<CharT>(b.ch);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(chlit<CharT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a.ch) | b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(chlit<CharT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a.ch) & b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(chlit<CharT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a.ch) - b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(chlit<CharT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a.ch) ^ b;
-}
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  negated_char_parser <--> chset free operators implementation
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT, typename ParserT>
-inline chset<CharT>
-operator|(chset<CharT> const& a, negated_char_parser<ParserT> const& b)
-{
-    return a | chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT, typename ParserT>
-inline chset<CharT>
-operator&(chset<CharT> const& a, negated_char_parser<ParserT> const& b)
-{
-    return a & chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT, typename ParserT>
-inline chset<CharT>
-operator-(chset<CharT> const& a, negated_char_parser<ParserT> const& b)
-{
-    return a - chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT, typename ParserT>
-inline chset<CharT>
-operator^(chset<CharT> const& a, negated_char_parser<ParserT> const& b)
-{
-    return a ^ chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT, typename ParserT>
-inline chset<CharT>
-operator|(negated_char_parser<ParserT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) | b;
-}
-
-//////////////////////////////////
-template <typename CharT, typename ParserT>
-inline chset<CharT>
-operator&(negated_char_parser<ParserT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) & b;
-}
-
-//////////////////////////////////
-template <typename CharT, typename ParserT>
-inline chset<CharT>
-operator-(negated_char_parser<ParserT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) - b;
-}
-
-//////////////////////////////////
-template <typename CharT, typename ParserT>
-inline chset<CharT>
-operator^(negated_char_parser<ParserT> const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) ^ b;
-}
-
-#else // BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  negated_char_parser<range> <--> chset free operators implementation
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(chset<CharT> const& a, negated_char_parser<range<CharT> > const& b)
-{
-    return a | chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(chset<CharT> const& a, negated_char_parser<range<CharT> > const& b)
-{
-    return a & chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(chset<CharT> const& a, negated_char_parser<range<CharT> > const& b)
-{
-    return a - chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(chset<CharT> const& a, negated_char_parser<range<CharT> > const& b)
-{
-    return a ^ chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(negated_char_parser<range<CharT> > const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) | b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(negated_char_parser<range<CharT> > const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) & b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(negated_char_parser<range<CharT> > const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) - b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(negated_char_parser<range<CharT> > const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) ^ b;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  negated_char_parser<chlit> <--> chset free operators implementation
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(chset<CharT> const& a, negated_char_parser<chlit<CharT> > const& b)
-{
-    return a | chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(chset<CharT> const& a, negated_char_parser<chlit<CharT> > const& b)
-{
-    return a & chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(chset<CharT> const& a, negated_char_parser<chlit<CharT> > const& b)
-{
-    return a - chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(chset<CharT> const& a, negated_char_parser<chlit<CharT> > const& b)
-{
-    return a ^ chset<CharT>(b);
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(negated_char_parser<chlit<CharT> > const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) | b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(negated_char_parser<chlit<CharT> > const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) & b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(negated_char_parser<chlit<CharT> > const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) - b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(negated_char_parser<chlit<CharT> > const& a, chset<CharT> const& b)
-{
-    return chset<CharT>(a) ^ b;
-}
-
-#endif // BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  anychar_parser <--> chset free operators
-//
-//      Where a is chset and b is a anychar_parser, and vice-versa, implements:
-//
-//          a | b, a & b, a - b, a ^ b
-//
-///////////////////////////////////////////////////////////////////////////////
-namespace impl {
-
-    template <typename CharT>
-    inline BOOST_SPIRIT_CLASSIC_NS::range<CharT> const&
-    full()
-    {
-        static BOOST_SPIRIT_CLASSIC_NS::range<CharT> full_(
-            (std::numeric_limits<CharT>::min)(),
-            (std::numeric_limits<CharT>::max)());
-        return full_;
-    }
-
-    template <typename CharT>
-    inline BOOST_SPIRIT_CLASSIC_NS::range<CharT> const&
-    empty()
-    {
-        static BOOST_SPIRIT_CLASSIC_NS::range<CharT> empty_;
-        return empty_;
-    }
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(chset<CharT> const&, anychar_parser)
-{
-    return chset<CharT>(impl::full<CharT>());
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(chset<CharT> const& a, anychar_parser)
-{
-    return a;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(chset<CharT> const&, anychar_parser)
-{
-    return chset<CharT>();
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(chset<CharT> const& a, anychar_parser)
-{
-    return ~a;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(anychar_parser, chset<CharT> const& /*b*/)
-{
-    return chset<CharT>(impl::full<CharT>());
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(anychar_parser, chset<CharT> const& b)
-{
-    return b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(anychar_parser, chset<CharT> const& b)
-{
-    return ~b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(anychar_parser, chset<CharT> const& b)
-{
-    return ~b;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  nothing_parser <--> chset free operators implementation
-//
-///////////////////////////////////////////////////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(chset<CharT> const& a, nothing_parser)
-{
-    return a;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(chset<CharT> const& /*a*/, nothing_parser)
-{
-    return impl::empty<CharT>();
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(chset<CharT> const& a, nothing_parser)
-{
-    return a;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(chset<CharT> const& a, nothing_parser)
-{
-    return a;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator|(nothing_parser, chset<CharT> const& b)
-{
-    return b;
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator&(nothing_parser, chset<CharT> const& /*b*/)
-{
-    return impl::empty<CharT>();
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator-(nothing_parser, chset<CharT> const& /*b*/)
-{
-    return impl::empty<CharT>();
-}
-
-//////////////////////////////////
-template <typename CharT>
-inline chset<CharT>
-operator^(nothing_parser, chset<CharT> const& b)
-{
-    return b;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-BOOST_SPIRIT_CLASSIC_NAMESPACE_END
-
-}} // namespace boost::spirit
-
-#endif
-
diff --git a/SRC/Boost/boost/spirit/home/classic/version.hpp b/SRC/Boost/boost/spirit/home/classic/version.hpp
deleted file mode 100755
index dedd95d..0000000
--- a/SRC/Boost/boost/spirit/home/classic/version.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2001-2003 Hartmut Kaiser
-    http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#if !defined(SPIRIT_CLASSIC_VERSION_HPP)
-#define SPIRIT_CLASSIC_VERSION_HPP
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  This checks, whether the used Boost library is at least V1.32.0
-//
-///////////////////////////////////////////////////////////////////////////////
-#include <boost/version.hpp>
-
-#if BOOST_VERSION < 103200
-#error "Spirit v1.8.x needs at least Boost V1.32.0 to compile successfully."
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  This is the version of the current Spirit distribution
-//
-///////////////////////////////////////////////////////////////////////////////
-#define SPIRIT_VERSION 0x1806
-#define SPIRIT_PIZZA_VERSION SPIRIT_MEGA_VEGGI  // :-)
-
-#endif // defined(SPIRIT_VERSION_HPP)
diff --git a/SRC/Boost/boost/spirit/include/classic_actions.hpp b/SRC/Boost/boost/spirit/include/classic_actions.hpp
deleted file mode 100755
index dc6b0e6..0000000
--- a/SRC/Boost/boost/spirit/include/classic_actions.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-/*=============================================================================
-  Copyright (c) 2001-2008 Joel de Guzman
-  Copyright (c) 2001-2008 Hartmut Kaiser
-  http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_INCLUDE_CLASSIC_CLASSIC_ACTIONS
-#define BOOST_SPIRIT_INCLUDE_CLASSIC_CLASSIC_ACTIONS
-#include <boost/spirit/home/classic/core/composite/actions.hpp>
-#endif
diff --git a/SRC/Boost/boost/spirit/include/classic_chset.hpp b/SRC/Boost/boost/spirit/include/classic_chset.hpp
deleted file mode 100755
index 17e15d3..0000000
--- a/SRC/Boost/boost/spirit/include/classic_chset.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-/*=============================================================================
-  Copyright (c) 2001-2008 Joel de Guzman
-  Copyright (c) 2001-2008 Hartmut Kaiser
-  http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_INCLUDE_CLASSIC_CHSET
-#define BOOST_SPIRIT_INCLUDE_CLASSIC_CHSET
-#include <boost/spirit/home/classic/utility/chset.hpp>
-#endif
diff --git a/SRC/Boost/boost/spirit/include/classic_numerics.hpp b/SRC/Boost/boost/spirit/include/classic_numerics.hpp
deleted file mode 100755
index 068c212..0000000
--- a/SRC/Boost/boost/spirit/include/classic_numerics.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-/*=============================================================================
-  Copyright (c) 2001-2008 Joel de Guzman
-  Copyright (c) 2001-2008 Hartmut Kaiser
-  http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_INCLUDE_CLASSIC_NUMERICS
-#define BOOST_SPIRIT_INCLUDE_CLASSIC_NUMERICS
-#include <boost/spirit/home/classic/core/primitives/numerics.hpp>
-#endif
diff --git a/SRC/Boost/boost/spirit/include/classic_operators.hpp b/SRC/Boost/boost/spirit/include/classic_operators.hpp
deleted file mode 100755
index 4f6cf4a..0000000
--- a/SRC/Boost/boost/spirit/include/classic_operators.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-/*=============================================================================
-  Copyright (c) 2001-2008 Joel de Guzman
-  Copyright (c) 2001-2008 Hartmut Kaiser
-  http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_INCLUDE_CLASSIC_OPERATORS
-#define BOOST_SPIRIT_INCLUDE_CLASSIC_OPERATORS
-#include <boost/spirit/home/classic/core/composite/operators.hpp>
-#endif
diff --git a/SRC/Boost/boost/spirit/include/classic_rule.hpp b/SRC/Boost/boost/spirit/include/classic_rule.hpp
deleted file mode 100755
index 69d9764..0000000
--- a/SRC/Boost/boost/spirit/include/classic_rule.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-/*=============================================================================
-  Copyright (c) 2001-2008 Joel de Guzman
-  Copyright (c) 2001-2008 Hartmut Kaiser
-  http://spirit.sourceforge.net/
-
-  Distributed under the Boost Software License, Version 1.0. (See accompanying
-  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_INCLUDE_CLASSIC_RULE
-#define BOOST_SPIRIT_INCLUDE_CLASSIC_RULE
-#include <boost/spirit/home/classic/core/non_terminal/rule.hpp>
-#endif
diff --git a/SRC/Boost/boost/static_assert.hpp b/SRC/Boost/boost/static_assert.hpp
deleted file mode 100755
index fda7037..0000000
--- a/SRC/Boost/boost/static_assert.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-//  (C) Copyright John Maddock 2000.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/static_assert for documentation.
-
-/*
- Revision history:
-   02 August 2000
-      Initial version.
-*/
-
-#ifndef BOOST_STATIC_ASSERT_HPP
-#define BOOST_STATIC_ASSERT_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifndef BOOST_NO_STATIC_ASSERT
-#  define BOOST_STATIC_ASSERT_MSG( B, Msg ) static_assert(B, Msg)
-#else
-#  define BOOST_STATIC_ASSERT_MSG( B, Msg ) BOOST_STATIC_ASSERT( B )
-#endif
-
-#ifdef __BORLANDC__
-//
-// workaround for buggy integral-constant expression support:
-#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS
-#endif
-
-#if defined(__GNUC__) && (__GNUC__ == 3) && ((__GNUC_MINOR__ == 3) || (__GNUC_MINOR__ == 4))
-// gcc 3.3 and 3.4 don't produce good error messages with the default version:
-#  define BOOST_SA_GCC_WORKAROUND
-#endif
-
-//
-// If the compiler issues warnings about old C style casts,
-// then enable this:
-//
-#if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)))
-#  define BOOST_STATIC_ASSERT_BOOL_CAST( x ) ((x) == 0 ? false : true)
-#else
-#  define BOOST_STATIC_ASSERT_BOOL_CAST(x) (bool)(x)
-#endif
-
-#ifndef BOOST_NO_STATIC_ASSERT
-#  define BOOST_STATIC_ASSERT( B ) static_assert(B, #B)
-#else
-
-namespace boost{
-
-// HP aCC cannot deal with missing names for template value parameters
-template <bool x> struct STATIC_ASSERTION_FAILURE;
-
-template <> struct STATIC_ASSERTION_FAILURE<true> { enum { value = 1 }; };
-
-// HP aCC cannot deal with missing names for template value parameters
-template<int x> struct static_assert_test{};
-
-}
-
-//
-// Implicit instantiation requires that all member declarations be
-// instantiated, but that the definitions are *not* instantiated.
-//
-// It's not particularly clear how this applies to enum's or typedefs;
-// both are described as declarations [7.1.3] and [7.2] in the standard,
-// however some compilers use "delayed evaluation" of one or more of
-// these when implicitly instantiating templates.  We use typedef declarations
-// by default, but try defining BOOST_USE_ENUM_STATIC_ASSERT if the enum
-// version gets better results from your compiler...
-//
-// Implementation:
-// Both of these versions rely on sizeof(incomplete_type) generating an error
-// message containing the name of the incomplete type.  We use
-// "STATIC_ASSERTION_FAILURE" as the type name here to generate
-// an eye catching error message.  The result of the sizeof expression is either
-// used as an enum initialiser, or as a template argument depending which version
-// is in use...
-// Note that the argument to the assert is explicitly cast to bool using old-
-// style casts: too many compilers currently have problems with static_cast
-// when used inside integral constant expressions.
-//
-#if !defined(BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS)
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-// __LINE__ macro broken when -ZI is used see Q199057
-// fortunately MSVC ignores duplicate typedef's.
-#define BOOST_STATIC_ASSERT( B ) \
-   typedef ::boost::static_assert_test<\
-      sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >)\
-      > boost_static_assert_typedef_
-#elif defined(BOOST_MSVC)
-#define BOOST_STATIC_ASSERT( B ) \
-   typedef ::boost::static_assert_test<\
-      sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST ( B ) >)>\
-         BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__)
-#elif defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND)
-// agurt 15/sep/02: a special care is needed to force Intel C++ issue an error 
-// instead of warning in case of failure
-# define BOOST_STATIC_ASSERT( B ) \
-    typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \
-        [ ::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >::value ]
-#elif defined(__sgi)
-// special version for SGI MIPSpro compiler
-#define BOOST_STATIC_ASSERT( B ) \
-   BOOST_STATIC_CONSTANT(bool, \
-     BOOST_JOIN(boost_static_assert_test_, __LINE__) = ( B )); \
-   typedef ::boost::static_assert_test<\
-     sizeof(::boost::STATIC_ASSERTION_FAILURE< \
-       BOOST_JOIN(boost_static_assert_test_, __LINE__) >)>\
-         BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
-#elif BOOST_WORKAROUND(__MWERKS__, <= 0x3003)
-// special version for CodeWarrior <= 8.x
-#define BOOST_STATIC_ASSERT( B ) \
-   BOOST_STATIC_CONSTANT(int, \
-     BOOST_JOIN(boost_static_assert_test_, __LINE__) = \
-       sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >) )
-#else
-// generic version
-#define BOOST_STATIC_ASSERT( B ) \
-   typedef ::boost::static_assert_test<\
-      sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >)>\
-         BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
-#endif
-
-#else
-// alternative enum based implementation:
-#define BOOST_STATIC_ASSERT( B ) \
-   enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \
-      = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >) }
-#endif
-#endif // defined(BOOST_NO_STATIC_ASSERT)
-
-#endif // BOOST_STATIC_ASSERT_HPP
-
-
diff --git a/SRC/Boost/boost/swap.hpp b/SRC/Boost/boost/swap.hpp
deleted file mode 100755
index f16f7b2..0000000
--- a/SRC/Boost/boost/swap.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (C) 2007 Joseph Gauterin
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_SWAP_HPP
-#define BOOST_SWAP_HPP
-
-#include "boost/utility/swap.hpp"
-
-#endif
diff --git a/SRC/Boost/boost/system/api_config.hpp b/SRC/Boost/boost/system/api_config.hpp
deleted file mode 100755
index 2f07eec..0000000
--- a/SRC/Boost/boost/system/api_config.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//  boost/system/api_config.hpp  -------------------------------------------------------//
-
-//  Copyright Beman Dawes 2003, 2006, 2010
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  See http://www.boost.org/libs/system for documentation.
-
-//--------------------------------------------------------------------------------------//
-
-//  Boost.System calls operating system API functions to implement system error category
-//  functions. Usually there is no question as to which API is to be used.
-//
-//  In the case of MinGW or Cygwin/MinGW, however, both POSIX and Windows API's are
-//  available. Chaos ensues if other code thinks one is in use when Boost.System was
-//  actually built with the other. This header centralizes the API choice and prevents
-//  user definition of API macros, thus elminating the possibility of mismatches and the
-//  need to test configurations with little or no practical value.
-//
-
-//--------------------------------------------------------------------------------------//
-
-#ifndef BOOST_SYSTEM_API_CONFIG_HPP                  
-#define BOOST_SYSTEM_API_CONFIG_HPP
-
-# if defined(BOOST_POSIX_API) || defined(BOOST_WINDOWS_API)
-#   error user defined BOOST_POSIX_API or BOOST_WINDOWS_API not supported
-# endif
-
-//  BOOST_POSIX_API or BOOST_WINDOWS_API specify which API to use
-//    Cygwin/MinGW does not predefine _WIN32.
-//    Standalone MinGW and all other known Windows compilers do predefine _WIN32
-//    Compilers that predefine _WIN32 or __MINGW32__ do so for Windows 64-bit builds too.
-
-# if defined(_WIN32) || defined(__CYGWIN__) // Windows default, including MinGW and Cygwin
-#   define BOOST_WINDOWS_API
-# else
-#   define BOOST_POSIX_API 
-# endif
-                                     
-#endif  // BOOST_SYSTEM_API_CONFIG_HPP 
diff --git a/SRC/Boost/boost/system/config.hpp b/SRC/Boost/boost/system/config.hpp
deleted file mode 100755
index 224a9c7..0000000
--- a/SRC/Boost/boost/system/config.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-//  boost/system/config.hpp  -----------------------------------------------------------//
-
-//  Copyright Beman Dawes 2003, 2006
-
-//  Distributed under the Boost Software License, Version 1.0. (See accompanying
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/system for documentation.
-
-#ifndef BOOST_SYSTEM_CONFIG_HPP                  
-#define BOOST_SYSTEM_CONFIG_HPP
-
-#include <boost/config.hpp>
-#include <boost/system/api_config.hpp>  // for BOOST_POSIX_API or BOOST_WINDOWS_API
-
-// This header implements separate compilation features as described in
-// http://www.boost.org/more/separate_compilation.html
-
-//  enable dynamic or static linking as requested --------------------------------------//
-
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SYSTEM_DYN_LINK)
-# if defined(BOOST_SYSTEM_SOURCE)
-#   define BOOST_SYSTEM_DECL BOOST_SYMBOL_EXPORT
-# else 
-#   define BOOST_SYSTEM_DECL BOOST_SYMBOL_IMPORT
-# endif
-#else
-# define BOOST_SYSTEM_DECL
-#endif
-
-//  enable automatic library variant selection  ----------------------------------------// 
-
-#if !defined(BOOST_SYSTEM_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SYSTEM_NO_LIB)
-//
-// Set the name of our library, this will get undef'ed by auto_link.hpp
-// once it's done with it:
-//
-#define BOOST_LIB_NAME boost_system
-//
-// If we're importing code from a dll, then tell auto_link.hpp about it:
-//
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SYSTEM_DYN_LINK)
-#  define BOOST_DYN_LINK
-#endif
-//
-// And include the header that does the work:
-//
-#include <boost/config/auto_link.hpp>
-#endif  // auto-linking disabled
-
-#endif // BOOST_SYSTEM_CONFIG_HPP
-
diff --git a/SRC/Boost/boost/system/error_code.hpp b/SRC/Boost/boost/system/error_code.hpp
deleted file mode 100755
index 6919518..0000000
--- a/SRC/Boost/boost/system/error_code.hpp
+++ /dev/null
@@ -1,513 +0,0 @@
-//  boost/system/error_code.hpp  ---------------------------------------------//
-
-//  Copyright Beman Dawes 2006, 2007
-//  Copyright Christoper Kohlhoff 2007
-
-//  Distributed under the Boost Software License, Version 1.0. (See accompanying
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/system
-
-#ifndef BOOST_ERROR_CODE_HPP
-#define BOOST_ERROR_CODE_HPP
-
-#include <boost/system/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/assert.hpp>
-#include <boost/operators.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <ostream>
-#include <string>
-#include <stdexcept>
-#include <functional>
-
-// TODO: undef these macros if not already defined
-#include <boost/cerrno.hpp> 
-
-#if !defined(BOOST_POSIX_API) && !defined(BOOST_WINDOWS_API)
-#  error BOOST_POSIX_API or BOOST_WINDOWS_API must be defined
-#endif
-
-#include <boost/config/abi_prefix.hpp> // must be the last #include
-
-namespace boost
-{
-  namespace system
-  {
-
-    class error_code;
-    class error_condition;
-
-    //  "Concept" helpers  ---------------------------------------------------//
-
-    template< class T >
-    struct is_error_code_enum { static const bool value = false; };
-
-    template< class T >
-    struct is_error_condition_enum { static const bool value = false; };
-
-    //  generic error_conditions  --------------------------------------------//
-
-    namespace errc
-    {
-      enum errc_t
-      {
-        success = 0,
-        address_family_not_supported = EAFNOSUPPORT,
-        address_in_use = EADDRINUSE,
-        address_not_available = EADDRNOTAVAIL,
-        already_connected = EISCONN,
-        argument_list_too_long = E2BIG,
-        argument_out_of_domain = EDOM,
-        bad_address = EFAULT,
-        bad_file_descriptor = EBADF,
-        bad_message = EBADMSG,
-        broken_pipe = EPIPE,
-        connection_aborted = ECONNABORTED,
-        connection_already_in_progress = EALREADY,
-        connection_refused = ECONNREFUSED,
-        connection_reset = ECONNRESET,
-        cross_device_link = EXDEV,
-        destination_address_required = EDESTADDRREQ,
-        device_or_resource_busy = EBUSY,
-        directory_not_empty = ENOTEMPTY,
-        executable_format_error = ENOEXEC,
-        file_exists = EEXIST,
-        file_too_large = EFBIG,
-        filename_too_long = ENAMETOOLONG,
-        function_not_supported = ENOSYS,
-        host_unreachable = EHOSTUNREACH,
-        identifier_removed = EIDRM,
-        illegal_byte_sequence = EILSEQ,
-        inappropriate_io_control_operation = ENOTTY,
-        interrupted = EINTR,
-        invalid_argument = EINVAL,
-        invalid_seek = ESPIPE,
-        io_error = EIO,
-        is_a_directory = EISDIR,
-        message_size = EMSGSIZE,
-        network_down = ENETDOWN,
-        network_reset = ENETRESET,
-        network_unreachable = ENETUNREACH,
-        no_buffer_space = ENOBUFS,
-        no_child_process = ECHILD,
-        no_link = ENOLINK,
-        no_lock_available = ENOLCK,
-        no_message_available = ENODATA,
-        no_message = ENOMSG,
-        no_protocol_option = ENOPROTOOPT,
-        no_space_on_device = ENOSPC,
-        no_stream_resources = ENOSR,
-        no_such_device_or_address = ENXIO,
-        no_such_device = ENODEV,
-        no_such_file_or_directory = ENOENT,
-        no_such_process = ESRCH,
-        not_a_directory = ENOTDIR,
-        not_a_socket = ENOTSOCK,
-        not_a_stream = ENOSTR,
-        not_connected = ENOTCONN,
-        not_enough_memory = ENOMEM,
-        not_supported = ENOTSUP,
-        operation_canceled = ECANCELED,
-        operation_in_progress = EINPROGRESS,
-        operation_not_permitted = EPERM,
-        operation_not_supported = EOPNOTSUPP,
-        operation_would_block = EWOULDBLOCK,
-        owner_dead = EOWNERDEAD,
-        permission_denied = EACCES,
-        protocol_error = EPROTO,
-        protocol_not_supported = EPROTONOSUPPORT,
-        read_only_file_system = EROFS,
-        resource_deadlock_would_occur = EDEADLK,
-        resource_unavailable_try_again = EAGAIN,
-        result_out_of_range = ERANGE,
-        state_not_recoverable = ENOTRECOVERABLE,
-        stream_timeout = ETIME,
-        text_file_busy = ETXTBSY,
-        timed_out = ETIMEDOUT,
-        too_many_files_open_in_system = ENFILE,
-        too_many_files_open = EMFILE,
-        too_many_links = EMLINK,
-        too_many_symbolic_link_levels = ELOOP,
-        value_too_large = EOVERFLOW,
-        wrong_protocol_type = EPROTOTYPE
-      };
-
-    } // namespace errc
-
-# ifndef BOOST_SYSTEM_NO_DEPRECATED
-    namespace posix = errc;
-    namespace posix_error = errc;
-# endif
-
-    template<> struct is_error_condition_enum<errc::errc_t>
-      { static const bool value = true; };
-
-
-    //  ----------------------------------------------------------------------//
-
-    //  Operating system specific interfaces  --------------------------------//
-
-
-    //  The interface is divided into general and system-specific portions to
-    //  meet these requirements:
-    //
-    //  * Code calling an operating system API can create an error_code with
-    //    a single category (system_category), even for POSIX-like operating
-    //    systems that return some POSIX errno values and some native errno
-    //    values. This code should not have to pay the cost of distinguishing
-    //    between categories, since it is not yet known if that is needed.
-    //
-    //  * Users wishing to write system-specific code should be given enums for
-    //    at least the common error cases.
-    //
-    //  * System specific code should fail at compile time if moved to another
-    //    operating system.
-
-    //  The system specific portions of the interface are located in headers
-    //  with names reflecting the operating system. For example,
-    //
-    //       <boost/system/cygwin_error.hpp>
-    //       <boost/system/linux_error.hpp>
-    //       <boost/system/windows_error.hpp>
-    //
-    //  These headers are effectively empty for compiles on operating systems
-    //  where they are not applicable.
-
-    //  ----------------------------------------------------------------------//
-
-    //  class error_category  ------------------------------------------------//
-
-    class error_category : public noncopyable
-    {
-    public:
-      virtual ~error_category(){}
-
-      virtual const char *     name() const = 0;
-      virtual std::string      message( int ev ) const = 0;
-      virtual error_condition  default_error_condition( int ev ) const;
-      virtual bool             equivalent( int code, 
-                                           const error_condition & condition ) const;
-      virtual bool             equivalent( const error_code & code,
-                                           int condition ) const;
-
-      bool operator==(const error_category & rhs) const { return this == &rhs; }
-      bool operator!=(const error_category & rhs) const { return this != &rhs; }
-      bool operator<( const error_category & rhs ) const
-      {
-        return std::less<const error_category*>()( this, &rhs );
-      }
-    };
-
-    //  predefined error categories  -----------------------------------------//
-
-    BOOST_SYSTEM_DECL const error_category &  system_category();
-    BOOST_SYSTEM_DECL const error_category &  generic_category();
-
-    //  deprecated synonyms --------------------------------------------------//
-
-# ifndef BOOST_SYSTEM_NO_DEPRECATED
-    inline const error_category &  get_system_category() { return system_category(); }
-    inline const error_category &  get_generic_category() { return generic_category(); }
-    inline const error_category &  get_posix_category() { return generic_category(); }
-    static const error_category &  posix_category = generic_category();
-    static const error_category &  errno_ecat     = generic_category();
-    static const error_category &  native_ecat    = system_category();
-# endif
-
-    //  class error_condition  -----------------------------------------------//
-
-    //  error_conditions are portable, error_codes are system or library specific
-
-    class error_condition
-    {
-    public:
-
-      // constructors:
-      error_condition() : m_val(0), m_cat(&generic_category()) {}
-      error_condition( int val, const error_category & cat ) : m_val(val), m_cat(&cat) {}
-
-      template <class ErrorConditionEnum>
-        error_condition(ErrorConditionEnum e,
-          typename boost::enable_if<is_error_condition_enum<ErrorConditionEnum> >::type* = 0)
-      {
-        *this = make_error_condition(e);
-      }
-
-      // modifiers:
-
-      void assign( int val, const error_category & cat )
-      { 
-        m_val = val;
-        m_cat = &cat;
-      }
-                                             
-      template<typename ErrorConditionEnum>
-        typename boost::enable_if<is_error_condition_enum<ErrorConditionEnum>, error_condition>::type &
-          operator=( ErrorConditionEnum val )
-      { 
-        *this = make_error_condition(val);
-        return *this;
-      }
-
-      void clear()
-      {
-        m_val = 0;
-        m_cat = &generic_category();
-      }
-
-      // observers:
-      int                     value() const    { return m_val; }
-      const error_category &  category() const { return *m_cat; }
-      std::string             message() const  { return m_cat->message(value()); }
-
-      typedef void (*unspecified_bool_type)();
-      static void unspecified_bool_true() {}
-
-      operator unspecified_bool_type() const  // true if error
-      { 
-        return m_val == 0 ? 0 : unspecified_bool_true;
-      }
-
-      bool operator!() const  // true if no error
-      {
-        return m_val == 0;
-      }
-
-      // relationals:
-      //  the more symmetrical non-member syntax allows enum
-      //  conversions work for both rhs and lhs.
-      inline friend bool operator==( const error_condition & lhs,
-                                     const error_condition & rhs )
-      {
-        return lhs.m_cat == rhs.m_cat && lhs.m_val == rhs.m_val;
-      }                  
-
-      inline friend bool operator<( const error_condition & lhs,
-                                    const error_condition & rhs )
-        //  the more symmetrical non-member syntax allows enum
-        //  conversions work for both rhs and lhs.
-      {
-        return lhs.m_cat < rhs.m_cat
-          || (lhs.m_cat == rhs.m_cat && lhs.m_val < rhs.m_val);
-      }
-
-    private:
-      int                     m_val;
-      const error_category *  m_cat;
-
-    };
-
-    //  class error_code  ----------------------------------------------------//
-
-    //  We want error_code to be a value type that can be copied without slicing
-    //  and without requiring heap allocation, but we also want it to have
-    //  polymorphic behavior based on the error category. This is achieved by
-    //  abstract base class error_category supplying the polymorphic behavior,
-    //  and error_code containing a pointer to an object of a type derived
-    //  from error_category.
-    class error_code
-    {
-    public:
-
-      // constructors:
-      error_code() : m_val(0), m_cat(&system_category()) {}
-      error_code( int val, const error_category & cat ) : m_val(val), m_cat(&cat) {}
-
-      template <class ErrorCodeEnum>
-        error_code(ErrorCodeEnum e,
-          typename boost::enable_if<is_error_code_enum<ErrorCodeEnum> >::type* = 0)
-      {
-        *this = make_error_code(e);
-      }
-
-      // modifiers:
-      void assign( int val, const error_category & cat )
-      { 
-        m_val = val;
-        m_cat = &cat;
-      }
-                                             
-      template<typename ErrorCodeEnum>
-        typename boost::enable_if<is_error_code_enum<ErrorCodeEnum>, error_code>::type &
-          operator=( ErrorCodeEnum val )
-      { 
-        *this = make_error_code(val);
-        return *this;
-      }
-
-      void clear()
-      {
-        m_val = 0;
-        m_cat = &system_category();
-      }
-
-      // observers:
-      int                     value() const    { return m_val; }
-      const error_category &  category() const { return *m_cat; }
-      error_condition         default_error_condition() const  { return m_cat->default_error_condition(value()); }
-      std::string             message() const  { return m_cat->message(value()); }
-
-      typedef void (*unspecified_bool_type)();
-      static void unspecified_bool_true() {}
-
-      operator unspecified_bool_type() const  // true if error
-      { 
-        return m_val == 0 ? 0 : unspecified_bool_true;
-      }
-
-      bool operator!() const  // true if no error
-      {
-        return m_val == 0;
-      }
-
-      // relationals:
-      inline friend bool operator==( const error_code & lhs,
-                                     const error_code & rhs )
-        //  the more symmetrical non-member syntax allows enum
-        //  conversions work for both rhs and lhs.
-      {
-        return lhs.m_cat == rhs.m_cat && lhs.m_val == rhs.m_val;
-      }
-
-      inline friend bool operator<( const error_code & lhs,
-                                    const error_code & rhs )
-        //  the more symmetrical non-member syntax allows enum
-        //  conversions work for both rhs and lhs.
-      {
-        return lhs.m_cat < rhs.m_cat
-          || (lhs.m_cat == rhs.m_cat && lhs.m_val < rhs.m_val);
-      }
-                  
-      private:
-      int                     m_val;
-      const error_category *  m_cat;
-
-    };
-
-    //  predefined error_code object used as "throw on error" tag
-# ifndef BOOST_SYSTEM_NO_DEPRECATED
-    BOOST_SYSTEM_DECL extern error_code throws;
-# endif
-
-    //  Moving from a "throws" object to a "throws" function without breaking
-    //  existing code is a bit of a problem. The workaround is to place the
-    //  "throws" function in namespace boost rather than namespace boost::system.
-
-  }  // namespace system
-
-  namespace detail { inline system::error_code * throws() { return 0; } }
-    //  Misuse of the error_code object is turned into a noisy failure by
-    //  poisoning the reference. This particular implementation doesn't
-    //  produce warnings or errors from popular compilers, is very efficient
-    //  (as determined by inspecting generated code), and does not suffer
-    //  from order of initialization problems. In practice, it also seems
-    //  cause user function error handling implementation errors to be detected
-    //  very early in the development cycle.
-
-  inline system::error_code & throws()
-    { return *detail::throws(); }
-
-  namespace system
-  {
-    //  non-member functions  ------------------------------------------------//
-
-    inline bool operator!=( const error_code & lhs,
-                            const error_code & rhs )
-    {
-      return !(lhs == rhs);
-    }
-
-    inline bool operator!=( const error_condition & lhs,
-                            const error_condition & rhs )
-    {
-      return !(lhs == rhs);
-    }
-
-    inline bool operator==( const error_code & code,
-                            const error_condition & condition )
-    {
-      return code.category().equivalent( code.value(), condition )
-        || condition.category().equivalent( code, condition.value() );
-    }
-                
-    inline bool operator!=( const error_code & lhs,
-                            const error_condition & rhs )
-    {
-      return !(lhs == rhs);
-    }
-                
-    inline bool operator==( const error_condition & condition,
-                            const error_code & code )
-    {
-      return condition.category().equivalent( code, condition.value() )
-        || code.category().equivalent( code.value(), condition );
-    }
-                
-    inline bool operator!=( const error_condition & lhs,
-                            const error_code & rhs )
-    {
-      return !(lhs == rhs);
-    }
-                  
-    // TODO: both of these may move elsewhere, but the LWG hasn't spoken yet.
-
-    template <class charT, class traits>
-    inline std::basic_ostream<charT,traits>&
-      operator<< (std::basic_ostream<charT,traits>& os, error_code ec)
-    {
-      os << ec.category().name() << ':' << ec.value();
-      return os;
-    }
-
-    inline std::size_t hash_value( const error_code & ec )
-    {
-      return static_cast<std::size_t>(ec.value())
-        + reinterpret_cast<std::size_t>(&ec.category());
-    }
-
-    //  make_* functions for errc::errc_t  -----------------------------//
-
-    namespace errc
-    {
-      //  explicit conversion:
-      inline error_code make_error_code( errc_t e )
-        { return error_code( e, generic_category() ); }
-
-      //  implicit conversion:
-      inline error_condition make_error_condition( errc_t e )
-        { return error_condition( e, generic_category() ); }
-    }
-
-    //  error_category default implementation  -------------------------------//
-
-    inline error_condition error_category::default_error_condition( int ev ) const
-    { 
-      return error_condition( ev, *this );
-    }
-
-    inline bool error_category::equivalent( int code,
-      const error_condition & condition ) const
-    {
-      return default_error_condition( code ) == condition;
-    }
-
-    inline bool error_category::equivalent( const error_code & code,
-      int condition ) const
-    {
-      return *this == code.category() && code.value() == condition;
-    }
-
-  } // namespace system
-} // namespace boost
-
-#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-
-# ifdef BOOST_ERROR_CODE_HEADER_ONLY
-#   include <boost/../libs/system/src/error_code.cpp>
-# endif
-
-#endif // BOOST_ERROR_CODE_HPP
-
-
diff --git a/SRC/Boost/boost/system/system_error.hpp b/SRC/Boost/boost/system/system_error.hpp
deleted file mode 100755
index b9ed3e9..0000000
--- a/SRC/Boost/boost/system/system_error.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//  Boost system_error.hpp  --------------------------------------------------//
-
-//  Copyright Beman Dawes 2006
-
-//  Distributed under the Boost Software License, Version 1.0. (See accompanying
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_SYSTEM_ERROR_HPP
-#define BOOST_SYSTEM_ERROR_HPP
-
-#include <string>
-#include <stdexcept>
-#include <cassert>
-#include <boost/system/error_code.hpp>
-
-namespace boost
-{
-  namespace system
-  {
-    //  class system_error  ------------------------------------------------------------//
-
-    class BOOST_SYMBOL_VISIBLE system_error : public std::runtime_error
-    // BOOST_SYMBOL_VISIBLE is needed by GCC to ensure system_error thrown from a shared
-    // library can be caught. See svn.boost.org/trac/boost/ticket/3697 
-    {
-    public:
-      system_error( error_code ec )
-          : std::runtime_error(""), m_error_code(ec) {}
-
-      system_error( error_code ec, const std::string & what_arg )
-          : std::runtime_error(what_arg), m_error_code(ec) {}
-
-      system_error( error_code ec, const char* what_arg )
-          : std::runtime_error(what_arg), m_error_code(ec) {}
-
-      system_error( int ev, const error_category & ecat )
-          : std::runtime_error(""), m_error_code(ev,ecat) {}
-
-      system_error( int ev, const error_category & ecat,
-        const std::string & what_arg )
-          : std::runtime_error(what_arg), m_error_code(ev,ecat) {}
-
-      system_error( int ev, const error_category & ecat,
-        const char * what_arg )
-          : std::runtime_error(what_arg), m_error_code(ev,ecat) {}
-
-      virtual ~system_error() throw() {}
-
-      const error_code &  code() const throw() { return m_error_code; }
-      const char *        what() const throw();
-
-    private:
-      error_code           m_error_code;
-      mutable std::string  m_what;
-    };
-
-    //  implementation  ------------------------------------------------------//
-
-    inline const char * system_error::what() const throw()
-    // see http://www.boost.org/more/error_handling.html for lazy build rationale
-    {
-      if ( m_what.empty() )
-      {
-        try
-        {
-          m_what = this->std::runtime_error::what();
-          if ( !m_what.empty() ) m_what += ": ";
-          m_what += m_error_code.message();
-        }
-        catch (...) { return std::runtime_error::what(); }
-      }
-      return m_what.c_str();
-    }
-
-  } // namespace system
-} // namespace boost
-
-#endif // BOOST_SYSTEM_ERROR_HPP
-
-
diff --git a/SRC/Boost/boost/test/debug.hpp b/SRC/Boost/boost/test/debug.hpp
deleted file mode 100755
index 18fcee6..0000000
--- a/SRC/Boost/boost/test/debug.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2006-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : defines portable debug interfaces
-// ***************************************************************************
-
-#ifndef BOOST_TEST_DEBUG_API_HPP_112006GER
-#define BOOST_TEST_DEBUG_API_HPP_112006GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-#include <boost/test/utils/callback.hpp>
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-
-// STL
-#include <string>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace debug {
-
-// ************************************************************************** //
-// **************  check if program is running under debugger  ************** //
-// ************************************************************************** //
-
-bool BOOST_TEST_DECL under_debugger();
-
-// ************************************************************************** //
-// **************       cause program to break execution       ************** //
-// **************           in debugger at call point          ************** //
-// ************************************************************************** //
-
-void BOOST_TEST_DECL debugger_break();
-
-// ************************************************************************** //
-// **************              gui debugger setup              ************** //
-// ************************************************************************** //
-
-struct dbg_startup_info {
-    long                    pid;
-    bool                    break_or_continue;
-    unit_test::const_string binary_path;
-    unit_test::const_string display;
-    unit_test::const_string init_done_lock;
-};
-
-typedef unit_test::callback1<dbg_startup_info const&> dbg_starter;
-
-// ************************************************************************** //
-// **************                debugger setup                ************** //
-// ************************************************************************** //
-
-#if BOOST_WORKAROUND( BOOST_MSVC, <1300)
-
-std::string BOOST_TEST_DECL set_debugger( unit_test::const_string dbg_id );
-
-#else 
-
-std::string BOOST_TEST_DECL set_debugger( unit_test::const_string dbg_id, dbg_starter s = dbg_starter() );
-
-#endif
-
-
-// ************************************************************************** //
-// **************    attach debugger to the current process    ************** //
-// ************************************************************************** //
-
-bool BOOST_TEST_DECL attach_debugger( bool break_or_continue = true );
-
-// ************************************************************************** //
-// **************   switch on/off detect memory leaks feature  ************** //
-// ************************************************************************** //
-
-void BOOST_TEST_DECL detect_memory_leaks( bool on_off );
-
-// ************************************************************************** //
-// **************      cause program to break execution in     ************** //
-// **************     debugger at specific allocation point    ************** //
-// ************************************************************************** //
-
-void BOOST_TEST_DECL break_memory_alloc( long mem_alloc_order_num );
-
-} // namespace debug
-
-} // namespace boost
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif
diff --git a/SRC/Boost/boost/test/debug_config.hpp b/SRC/Boost/boost/test/debug_config.hpp
deleted file mode 100755
index 25e9ec1..0000000
--- a/SRC/Boost/boost/test/debug_config.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2006-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : user's config for Boost.Test debugging support
-// ***************************************************************************
-
-#ifndef BOOST_TEST_DEBUG_CONFIG_HPP_112006GER
-#define BOOST_TEST_DEBUG_CONFIG_HPP_112006GER
-
-// ';' separated list of supported debuggers
-// #define BOOST_TEST_DBG_LIST gdb;dbx
-
-// maximum size of /proc/pid/stat file
-// #define BOOST_TEST_STAT_LINE_MAX
-
-#endif
diff --git a/SRC/Boost/boost/test/detail/config.hpp b/SRC/Boost/boost/test/detail/config.hpp
deleted file mode 100755
index 2346ca1..0000000
--- a/SRC/Boost/boost/test/detail/config.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 63441 $
-//
-//  Description : as a central place for global configuration switches
-// ***************************************************************************
-
-#ifndef BOOST_TEST_CONFIG_HPP_071894GER
-#define BOOST_TEST_CONFIG_HPP_071894GER
-
-// Boost
-#include <boost/config.hpp> // compilers workarounds
-#include <boost/detail/workaround.hpp>
-
-//____________________________________________________________________________//
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)) || \
-    BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))     || \
-    (defined __sgi && BOOST_WORKAROUND(_COMPILER_VERSION, BOOST_TESTED_AT(730)))
-#  define BOOST_TEST_SHIFTED_LINE
-#endif
-
-//____________________________________________________________________________//
-
-#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32))
-#  define BOOST_TEST_CALL_DECL __cdecl
-#else
-#  define BOOST_TEST_CALL_DECL /**/
-#endif
-
-//____________________________________________________________________________//
-
-#if !defined(BOOST_NO_STD_LOCALE) &&            \
-    !BOOST_WORKAROUND(BOOST_MSVC, < 1310)  &&   \
-    !defined(__MWERKS__) 
-#  define BOOST_TEST_USE_STD_LOCALE 1
-#endif
-
-//____________________________________________________________________________//
-
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x570)            || \
-    BOOST_WORKAROUND( __COMO__, <= 0x433 )              || \
-    BOOST_WORKAROUND( __INTEL_COMPILER, <= 800 )        || \
-    defined(__sgi) && _COMPILER_VERSION <= 730          || \
-    BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))  || \
-    defined(__DECCXX)                                   || \
-    defined(__DMC__)
-#  define BOOST_TEST_NO_PROTECTED_USING
-#endif
-
-//____________________________________________________________________________//
-
-#if defined(__GNUC__) || BOOST_WORKAROUND(BOOST_MSVC, == 1400)
-#define BOOST_TEST_PROTECTED_VIRTUAL virtual
-#else
-#define BOOST_TEST_PROTECTED_VIRTUAL
-#endif
-
-//____________________________________________________________________________//
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(BOOST_MSVC, <1310) && \
-    !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530))
-#  define BOOST_TEST_SUPPORT_INTERACTION_TESTING 1
-#endif
-
-//____________________________________________________________________________//
-
-#if defined(BOOST_ALL_DYN_LINK) && !defined(BOOST_TEST_DYN_LINK)
-#  define BOOST_TEST_DYN_LINK
-#endif
-
-#if defined(BOOST_TEST_INCLUDED)
-#  undef BOOST_TEST_DYN_LINK
-#endif
-
-#if defined(BOOST_TEST_DYN_LINK)
-#  define BOOST_TEST_ALTERNATIVE_INIT_API
-
-#  ifdef BOOST_TEST_SOURCE
-#    define BOOST_TEST_DECL BOOST_SYMBOL_EXPORT
-#  else
-#    define BOOST_TEST_DECL BOOST_SYMBOL_IMPORT
-#  endif  // BOOST_TEST_SOURCE
-#else
-#  define BOOST_TEST_DECL
-#endif
-
-#if !defined(BOOST_TEST_MAIN) && defined(BOOST_AUTO_TEST_MAIN)
-#define BOOST_TEST_MAIN BOOST_AUTO_TEST_MAIN
-#endif
-
-#if !defined(BOOST_TEST_MAIN) && defined(BOOST_TEST_MODULE)
-#define BOOST_TEST_MAIN BOOST_TEST_MODULE
-#endif
-
-#endif // BOOST_TEST_CONFIG_HPP_071894GER
diff --git a/SRC/Boost/boost/test/detail/enable_warnings.hpp b/SRC/Boost/boost/test/detail/enable_warnings.hpp
deleted file mode 100755
index 2a09a5a..0000000
--- a/SRC/Boost/boost/test/detail/enable_warnings.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2004-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : enable previosly suppressed warnings
-// ***************************************************************************
-
-#ifdef BOOST_MSVC
-# pragma warning(default: 4511) // copy constructor can't not be generated
-# pragma warning(default: 4512) // assignment operator can't not be generated
-# pragma warning(default: 4100) // unreferenced formal parameter 
-# pragma warning(default: 4996) // <symbol> was declared deprecated 
-# pragma warning(default: 4355) // 'this' : used in base member initializer list
-# pragma warning(default: 4706) // assignment within conditional expression
-# pragma warning(default: 4251) // class 'A<T>' needs to have dll-interface to be used by clients of class 'B'
-# pragma warning(default: 4127) // conditional expression is constant
-# pragma warning(default: 4290) // C++ exception specification ignored except to ...
-# pragma warning(default: 4180) // qualifier applied to function type has no meaning; ignored
-# pragma warning(default: 4275) // non dll-interface class ... used as base for dll-interface class ...
-# pragma warning(default: 4267) // 'var' : conversion from 'size_t' to 'type', possible loss of data
-# pragma warning(default: 4511) // 'class' : copy constructor could not be generated
-# pragma warning(pop)
-#endif
diff --git a/SRC/Boost/boost/test/detail/fwd_decl.hpp b/SRC/Boost/boost/test/detail/fwd_decl.hpp
deleted file mode 100755
index 8715e93..0000000
--- a/SRC/Boost/boost/test/detail/fwd_decl.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : contains forward eclarations for Boost.Test data types
-// ***************************************************************************
-
-#ifndef BOOST_TEST_FWD_DECL_HPP_011605GER
-#define BOOST_TEST_FWD_DECL_HPP_011605GER
-
-namespace boost {
-
-class  execution_monitor;
-class  execution_exception;
-
-namespace unit_test {
-
-class  test_unit;
-class  test_case;
-class  test_suite;
-class  master_test_suite_t;
-
-class  test_tree_visitor;
-class  test_observer;
-
-// singletons
-class  unit_test_monitor_t;
-class  unit_test_log_t;
-
-class  unit_test_log_formatter;
-struct log_entry_data;
-struct log_checkpoint_data;
-
-class lazy_ostream;
-
-} // namespace unit_test
-
-} // namespace boost
-
-#endif // BOOST_TEST_FWD_DECL_HPP_011605GER
-
diff --git a/SRC/Boost/boost/test/detail/global_typedef.hpp b/SRC/Boost/boost/test/detail/global_typedef.hpp
deleted file mode 100755
index 019c833..0000000
--- a/SRC/Boost/boost/test/detail/global_typedef.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : some trivial global typedefs
-// ***************************************************************************
-
-#ifndef BOOST_TEST_GLOBAL_TYPEDEF_HPP_021005GER
-#define BOOST_TEST_GLOBAL_TYPEDEF_HPP_021005GER
-
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-#define BOOST_TEST_L( s )         boost::unit_test::const_string( s, sizeof( s ) - 1 )
-#define BOOST_TEST_STRINGIZE( s ) BOOST_TEST_L( BOOST_STRINGIZE( s ) )
-#define BOOST_TEST_EMPTY_STRING   BOOST_TEST_L( "" )
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-typedef unsigned long   counter_t;
-
-//____________________________________________________________________________//
-
-enum report_level  { INV_REPORT_LEVEL, CONFIRMATION_REPORT, SHORT_REPORT, DETAILED_REPORT, NO_REPORT };
-
-//____________________________________________________________________________//
-
-enum output_format { INV_OF, CLF /* compiler log format */, XML /* XML */ };
-
-//____________________________________________________________________________//
-
-enum test_unit_type { tut_case = 0x01, tut_suite = 0x10, tut_any = 0x11 };
-
-//____________________________________________________________________________//
-
-typedef unsigned long   test_unit_id;
-
-const test_unit_id INV_TEST_UNIT_ID  = 0xFFFFFFFF;
-const test_unit_id MAX_TEST_CASE_ID  = 0xFFFFFFFE;
-const test_unit_id MIN_TEST_CASE_ID  = 0x00010000;
-const test_unit_id MAX_TEST_SUITE_ID = 0x0000FF00;
-const test_unit_id MIN_TEST_SUITE_ID = 0x00000001;
-
-//____________________________________________________________________________//
-
-namespace ut_detail {
-
-inline test_unit_type
-test_id_2_unit_type( test_unit_id id )
-{
-    return (id & 0xFFFF0000) != 0 ? tut_case : tut_suite;
-}
-
-//____________________________________________________________________________//
-
-// helper templates to prevent ODR violations 
-template<class T> 
-struct static_constant { 
-    static T value; 
-}; 
-
-template<class T> 
-T static_constant<T>::value; 
-
-//____________________________________________________________________________// 
-
-} // namespace ut_detail
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_GLOBAL_TYPEDEF_HPP_021005GER
diff --git a/SRC/Boost/boost/test/detail/log_level.hpp b/SRC/Boost/boost/test/detail/log_level.hpp
deleted file mode 100755
index 5bc06d2..0000000
--- a/SRC/Boost/boost/test/detail/log_level.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : shared definition for unit test log levels
-// ***************************************************************************
-
-#ifndef BOOST_TEST_LOG_LEVEL_HPP_011605GER
-#define BOOST_TEST_LOG_LEVEL_HPP_011605GER
-
-namespace boost {
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                   log levels                 ************** //
-// ************************************************************************** //
-
-//  each log level includes all subsequent higher loging levels
-enum            log_level {
-    invalid_log_level        = -1,
-    log_successful_tests     = 0,
-    log_test_units           = 1,
-    log_messages             = 2,
-    log_warnings             = 3,
-    log_all_errors           = 4, // reported by unit test macros
-    log_cpp_exception_errors = 5, // uncaught C++ exceptions
-    log_system_errors        = 6, // including timeouts, signals, traps
-    log_fatal_errors         = 7, // including unit test macros or
-                                  // fatal system errors
-    log_nothing              = 8
-};
-
-} // namespace unit_test
-} // namespace boost
-
-#endif // BOOST_TEST_LOG_LEVEL_HPP_011605GER
diff --git a/SRC/Boost/boost/test/detail/suppress_warnings.hpp b/SRC/Boost/boost/test/detail/suppress_warnings.hpp
deleted file mode 100755
index 6cbc951..0000000
--- a/SRC/Boost/boost/test/detail/suppress_warnings.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2004-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : suppress some warnings 
-// ***************************************************************************
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4511) // copy constructor can't not be generated
-# pragma warning(disable: 4512) // assignment operator can't not be generated
-# pragma warning(disable: 4100) // unreferenced formal parameter 
-# pragma warning(disable: 4996) // <symbol> was declared deprecated 
-# pragma warning(disable: 4355) // 'this' : used in base member initializer list
-# pragma warning(disable: 4706) // assignment within conditional expression
-# pragma warning(disable: 4251) // class 'A<T>' needs to have dll-interface to be used by clients of class 'B'
-# pragma warning(disable: 4127) // conditional expression is constant
-# pragma warning(disable: 4290) // C++ exception specification ignored except to ...
-# pragma warning(disable: 4180) // qualifier applied to function type has no meaning; ignored
-# pragma warning(disable: 4275) // non dll-interface class ... used as base for dll-interface class ...
-# pragma warning(disable: 4267) // 'var' : conversion from 'size_t' to 'type', possible loss of data
-# pragma warning(disable: 4511) // 'class' : copy constructor could not be generated
-#endif
-
diff --git a/SRC/Boost/boost/test/detail/unit_test_parameters.hpp b/SRC/Boost/boost/test/detail/unit_test_parameters.hpp
deleted file mode 100755
index 3411c60..0000000
--- a/SRC/Boost/boost/test/detail/unit_test_parameters.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : storage for unit test framework parameters information
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_PARAMETERS_HPP_071894GER
-#define BOOST_TEST_UNIT_TEST_PARAMETERS_HPP_071894GER
-
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/detail/log_level.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-// STL
-#include <iosfwd>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                 runtime_config               ************** //
-// ************************************************************************** //
-
-namespace runtime_config {
-
-BOOST_TEST_DECL void                     init( int& argc, char** argv );
-
-BOOST_TEST_DECL unit_test::log_level     log_level();
-BOOST_TEST_DECL bool                     no_result_code();
-BOOST_TEST_DECL unit_test::report_level  report_level();
-BOOST_TEST_DECL const_string             test_to_run();
-BOOST_TEST_DECL const_string             break_exec_path();
-BOOST_TEST_DECL bool                     save_pattern();
-BOOST_TEST_DECL bool                     show_build_info();
-BOOST_TEST_DECL bool                     show_progress();
-BOOST_TEST_DECL bool                     catch_sys_errors();
-BOOST_TEST_DECL bool                     auto_start_dbg();
-BOOST_TEST_DECL bool                     use_alt_stack();
-BOOST_TEST_DECL bool                     detect_fp_exceptions();
-BOOST_TEST_DECL output_format            report_format();
-BOOST_TEST_DECL output_format            log_format();
-BOOST_TEST_DECL std::ostream*            report_sink();
-BOOST_TEST_DECL std::ostream*            log_sink();
-BOOST_TEST_DECL long                     detect_memory_leaks();
-BOOST_TEST_DECL int                      random_seed();
-
-} // namespace runtime_config
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UNIT_TEST_PARAMETERS_HPP_071894GER
diff --git a/SRC/Boost/boost/test/detail/workaround.hpp b/SRC/Boost/boost/test/detail/workaround.hpp
deleted file mode 100755
index 342e8e9..0000000
--- a/SRC/Boost/boost/test/detail/workaround.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : contains mics. workarounds 
-// ***************************************************************************
-
-#ifndef BOOST_TEST_WORKAROUND_HPP_021005GER
-#define BOOST_TEST_WORKAROUND_HPP_021005GER
-
-// Boost
-#include <boost/config.hpp> // compilers workarounds and std::ptrdiff_t
-
-// STL
-#include <iterator>     // for std::distance
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace ut_detail {
-
-#ifdef BOOST_NO_STD_DISTANCE
-template <class T>
-std::ptrdiff_t distance( T const& x_, T const& y_ )
-{ 
-    std::ptrdiff_t res = 0;
-
-    std::distance( x_, y_, res );
-
-    return res;
-}
-
-//____________________________________________________________________________//
-
-#else
-using std::distance;
-#endif
-
-template <class T> inline void ignore_unused_variable_warning(const T&) {}
-
-} // namespace ut_detail
-
-} // namespace unit_test
-
-namespace unit_test_framework = unit_test;
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_WORKAROUND_HPP_021005GER
diff --git a/SRC/Boost/boost/test/execution_monitor.hpp b/SRC/Boost/boost/test/execution_monitor.hpp
deleted file mode 100755
index c3b7a29..0000000
--- a/SRC/Boost/boost/test/execution_monitor.hpp
+++ /dev/null
@@ -1,263 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  (C) Copyright Beman Dawes 2001.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : defines abstract monitor interfaces and implements execution exception
-//  The original Boost Test Library included an implementation detail function
-//  named catch_exceptions() which caught otherwise uncaught C++ exceptions.
-//  It was derived from an existing test framework by Beman Dawes.  The
-//  intent was to expand later to catch other detectable but platform dependent
-//  error events like Unix signals or Windows structured C exceptions.
-//
-//  Requests from early adopters of the Boost Test Library included
-//  configurable levels of error message detail, elimination of templates,
-//  separation of error reporting, and making the catch_exceptions() facilities
-//  available as a public interface.  Support for unit testing also stretched
-//  the function based design.  Implementation within the header became less
-//  attractive due to the need to include many huge system dependent headers,
-//  although still preferable in certain cases.
-//
-//  All those issues have been addressed by introducing the class-based
-//  design presented here.
-// ***************************************************************************
-
-#ifndef BOOST_TEST_EXECUTION_MONITOR_HPP_071894GER
-#define BOOST_TEST_EXECUTION_MONITOR_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/detail/fwd_decl.hpp>
-#include <boost/test/utils/callback.hpp>
-#include <boost/test/utils/class_properties.hpp>
-
-// Boost
-#include <boost/scoped_ptr.hpp>
-#include <boost/scoped_array.hpp>
-#include <boost/type.hpp>
-#include <boost/cstdlib.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace detail {
-
-// ************************************************************************** //
-// **************       detail::translate_exception_base       ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL translate_exception_base {
-public:
-    // Constructor
-    explicit    translate_exception_base( boost::scoped_ptr<translate_exception_base>& next )
-    {
-        next.swap( m_next );
-    }
-
-    // Destructor
-    virtual     ~translate_exception_base() {}
-
-    virtual int operator()( unit_test::callback0<int> const& F ) = 0;
-
-protected:
-    // Data members
-    boost::scoped_ptr<translate_exception_base> m_next;
-};
-
-} // namespace detail
-
-// ************************************************************************** //
-// **************              execution_exception             ************** //
-// ************************************************************************** //
-    
-//  design rationale: fear of being out (or nearly out) of memory.
-    
-class BOOST_TEST_DECL execution_exception {
-    typedef boost::unit_test::const_string const_string;
-public:
-    enum error_code {
-        //  These values are sometimes used as program return codes.
-        //  The particular values have been chosen to avoid conflicts with
-        //  commonly used program return codes: values < 100 are often user
-        //  assigned, values > 255 are sometimes used to report system errors.
-        //  Gaps in values allow for orderly expansion.
-        
-        no_error               = 0,   // for completeness only; never returned
-        user_error             = 200, // user reported non-fatal error
-        cpp_exception_error    = 205, // see note (1) below
-        system_error           = 210, // see note (2) below
-        timeout_error          = 215, // only detectable on certain platforms
-        user_fatal_error       = 220, // user reported fatal error
-        system_fatal_error     = 225  // see note (2) below
-        
-        //  Note 1: Only uncaught C++ exceptions are treated as errors.
-        //  If the application catches a C++ exception, it will never reach
-        //  the execution_monitor.
-        
-        //  Note 2: These errors include Unix signals and Windows structured
-        //  exceptions.  They are often initiated by hardware traps.
-        //
-        //  The implementation decides what is a fatal_system_exception and what is
-        //  just a system_exception.  Fatal errors are so likely to have corrupted
-        //  machine state (like a stack overflow or addressing exception) that it
-        //  is unreasonable to continue execution.
-    };
-    
-    struct BOOST_TEST_DECL location {
-        explicit    location( char const* file_name = 0, size_t line_num = 0, char const* func = 0 );
-
-        const_string    m_file_name;
-        size_t          m_line_num;
-        const_string    m_function;
-    };
-
-    // Constructor
-    execution_exception( error_code ec_, const_string what_msg_, location const& location_ ); // max length 256 inc '\0'
-
-    // Access methods
-    error_code      code() const    { return m_error_code; }
-    const_string    what() const    { return m_what; }
-    location const& where() const   { return m_location; }
-
-private:
-    // Data members
-    error_code      m_error_code;
-    const_string    m_what;
-    location        m_location;
-}; // execution_exception
-
-// ************************************************************************** //
-// **************               execution_monitor              ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL execution_monitor {
-public:
-    // Constructor
-    execution_monitor()
-    : p_catch_system_errors( true )
-    , p_auto_start_dbg( false )
-    , p_timeout( 0 )
-    , p_use_alt_stack( true )
-    , p_detect_fp_exceptions( false )
-    {}
-
-    // Public properties
-    
-    //  The p_catch_system_errors parameter specifies whether the monitor should 
-    //  try to catch system errors/exceptions that would cause program to crash 
-    //  in regular case
-    unit_test::readwrite_property<bool> p_catch_system_errors; 
-    //  The p_auto_start_dbg parameter specifies whether the monitor should 
-    //  try to attach debugger in case of caught system error
-    unit_test::readwrite_property<bool> p_auto_start_dbg;
-    //  The p_timeout parameter specifies the seconds that elapse before
-    //  a timer_error occurs.  May be ignored on some platforms.
-    unit_test::readwrite_property<int>  p_timeout;
-    //  The p_use_alt_stack parameter specifies whether the monitor should
-    //  use alternative stack for the signal catching
-    unit_test::readwrite_property<bool> p_use_alt_stack;
-    //  The p_detect_fp_exceptions parameter specifies whether the monitor should
-    //  try to detect hardware floating point exceptions
-    unit_test::readwrite_property<bool> p_detect_fp_exceptions;
-
-    int         execute( unit_test::callback0<int> const& F ); 
-    //  Returns:  Value returned by function call F().
-    //
-    //  Effects:  Calls executes supplied function F inside a try/catch block which also may
-    //  include other unspecified platform dependent error detection code.
-    //
-    //  Throws: execution_exception on an uncaught C++ exception,
-    //  a hardware or software signal, trap, or other exception.
-    //
-    //  Note: execute() doesn't consider it an error for F to return a non-zero value.
-    
-    // register custom (user supplied) exception translator
-    template<typename Exception, typename ExceptionTranslator>
-    void        register_exception_translator( ExceptionTranslator const& tr, boost::type<Exception>* = 0 );
-
-private:
-    // implementation helpers
-    int         catch_signals( unit_test::callback0<int> const& F );
-
-    // Data members
-    boost::scoped_ptr<detail::translate_exception_base> m_custom_translators;
-    boost::scoped_array<char>                           m_alt_stack;
-}; // execution_monitor
-
-namespace detail {
-
-// ************************************************************************** //
-// **************         detail::translate_exception          ************** //
-// ************************************************************************** //
-
-template<typename Exception, typename ExceptionTranslator>
-class translate_exception : public translate_exception_base
-{
-    typedef boost::scoped_ptr<translate_exception_base> base_ptr;
-public:
-    explicit    translate_exception( ExceptionTranslator const& tr, base_ptr& next )
-    : translate_exception_base( next ), m_translator( tr ) {}
-
-    int operator()( unit_test::callback0<int> const& F )
-    {
-        try {
-            return m_next ? (*m_next)( F ) : F();
-        } catch( Exception const& e ) {
-            m_translator( e );
-            return boost::exit_exception_failure;
-        }
-    }
-
-private:
-    // Data members
-    ExceptionTranslator m_translator;
-};
-
-} // namespace detail
-
-template<typename Exception, typename ExceptionTranslator>
-void
-execution_monitor::register_exception_translator( ExceptionTranslator const& tr, boost::type<Exception>* )
-{
-    m_custom_translators.reset( 
-        new detail::translate_exception<Exception,ExceptionTranslator>( tr,m_custom_translators ) );
-}
-
-// ************************************************************************** //
-// **************               execution_aborted              ************** //
-// ************************************************************************** //
-
-struct execution_aborted {};
-
-// ************************************************************************** //
-// **************                  system_error                ************** //
-// ************************************************************************** //
-
-class system_error {
-public:
-    // Constructor
-    explicit    system_error( char const* exp );
-
-    unit_test::readonly_property<long>          p_errno; 
-    unit_test::readonly_property<char const*>   p_failed_exp; 
-};
-
-#define BOOST_TEST_SYS_ASSERT( exp ) if( (exp) ) ; else throw ::boost::system_error( BOOST_STRINGIZE( exp ) )
-
-}  // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif
diff --git a/SRC/Boost/boost/test/floating_point_comparison.hpp b/SRC/Boost/boost/test/floating_point_comparison.hpp
deleted file mode 100755
index 65ae903..0000000
--- a/SRC/Boost/boost/test/floating_point_comparison.hpp
+++ /dev/null
@@ -1,286 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : defines algoirthms for comparing 2 floating point values
-// ***************************************************************************
-
-#ifndef BOOST_TEST_FLOATING_POINT_COMPARISON_HPP_071894GER
-#define BOOST_TEST_FLOATING_POINT_COMPARISON_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/utils/class_properties.hpp>
-#include <boost/test/predicate_result.hpp>
-
-// Boost
-#include <boost/limits.hpp>  // for std::numeric_limits
-#include <boost/numeric/conversion/conversion_traits.hpp> // for numeric::conversion_traits
-#include <boost/static_assert.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace test_tools {
-
-using unit_test::readonly_property;
-
-// ************************************************************************** //
-// **************        floating_point_comparison_type        ************** //
-// ************************************************************************** //
-
-enum floating_point_comparison_type {
-    FPC_STRONG, // "Very close"   - equation 1' in docs, the default
-    FPC_WEAK    // "Close enough" - equation 2' in docs.
-
-};
-
-// ************************************************************************** //
-// **************                    details                   ************** //
-// ************************************************************************** //
-
-namespace tt_detail {
-
-// FPT is Floating-Point Type: float, double, long double or User-Defined.
-template<typename FPT>
-inline FPT
-fpt_abs( FPT fpv ) 
-{
-    return fpv < static_cast<FPT>(0) ? -fpv : fpv;
-}
-
-//____________________________________________________________________________//
-
-template<typename FPT>
-struct fpt_limits {
-    static FPT    min_value()
-    {
-        return std::numeric_limits<FPT>::is_specialized
-                    ? (std::numeric_limits<FPT>::min)()
-                    : 0;
-    }
-    static FPT    max_value()
-    {
-        return std::numeric_limits<FPT>::is_specialized
-                    ? (std::numeric_limits<FPT>::max)()
-                    : static_cast<FPT>(1000000); // for the our purpuses it doesn't really matter what value is returned here
-    }
-};
-
-//____________________________________________________________________________//
-
-// both f1 and f2 are unsigned here
-template<typename FPT>
-inline FPT
-safe_fpt_division( FPT f1, FPT f2 )
-{
-    // Avoid overflow.
-    if( (f2 < static_cast<FPT>(1))  && (f1 > f2*fpt_limits<FPT>::max_value()) )
-        return fpt_limits<FPT>::max_value();
-
-    // Avoid underflow.
-    if( (f1 == static_cast<FPT>(0)) ||
-        ((f2 > static_cast<FPT>(1)) && (f1 < f2*fpt_limits<FPT>::min_value())) )
-        return static_cast<FPT>(0);
-
-    return f1/f2;
-}
-
-//____________________________________________________________________________//
-
-} // namespace tt_detail
-
-// ************************************************************************** //
-// **************         tolerance presentation types         ************** //
-// ************************************************************************** //
-
-template<typename FPT>
-struct percent_tolerance_t {
-    explicit    percent_tolerance_t( FPT v ) : m_value( v ) {}
-
-    FPT m_value;
-};
-
-//____________________________________________________________________________//
-
-template<typename Out,typename FPT>
-Out& operator<<( Out& out, percent_tolerance_t<FPT> t )
-{
-    return out << t.m_value;
-}
-
-//____________________________________________________________________________//
-
-template<typename FPT>
-inline percent_tolerance_t<FPT>
-percent_tolerance( FPT v )
-{
-    return percent_tolerance_t<FPT>( v );
-}
-
-//____________________________________________________________________________//
-
-template<typename FPT>
-struct fraction_tolerance_t {
-    explicit fraction_tolerance_t( FPT v ) : m_value( v ) {}
-
-    FPT m_value;
-};
-
-//____________________________________________________________________________//
-
-template<typename Out,typename FPT>
-Out& operator<<( Out& out, fraction_tolerance_t<FPT> t )
-{
-    return out << t.m_value;
-}
-
-//____________________________________________________________________________//
-
-template<typename FPT>
-inline fraction_tolerance_t<FPT>
-fraction_tolerance( FPT v )
-{
-    return fraction_tolerance_t<FPT>( v );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************             close_at_tolerance               ************** //
-// ************************************************************************** //
-
-template<typename FPT>
-class close_at_tolerance {
-public:
-    // Public typedefs
-    typedef bool result_type;
-
-    // Constructor
-    template<typename ToleranceBaseType>
-    explicit    close_at_tolerance( percent_tolerance_t<ToleranceBaseType>  tolerance, 
-                                    floating_point_comparison_type          fpc_type = FPC_STRONG ) 
-    : p_fraction_tolerance( tt_detail::fpt_abs( static_cast<FPT>(0.01)*tolerance.m_value ) )
-    , p_strong_or_weak( fpc_type ==  FPC_STRONG )
-    , m_report_modifier( 100. )
-    {}
-    template<typename ToleranceBaseType>
-    explicit    close_at_tolerance( fraction_tolerance_t<ToleranceBaseType> tolerance, 
-                                    floating_point_comparison_type          fpc_type = FPC_STRONG ) 
-    : p_fraction_tolerance( tt_detail::fpt_abs( tolerance.m_value ) )
-    , p_strong_or_weak( fpc_type ==  FPC_STRONG )
-    , m_report_modifier( 1. )
-    {}
-
-    predicate_result        operator()( FPT left, FPT right ) const
-    {
-        FPT diff = tt_detail::fpt_abs( left - right );
-        FPT d1   = tt_detail::safe_fpt_division( diff, tt_detail::fpt_abs( right ) );
-        FPT d2   = tt_detail::safe_fpt_division( diff, tt_detail::fpt_abs( left ) );
-        
-        predicate_result res( p_strong_or_weak 
-            ? (d1 <= p_fraction_tolerance.get() && d2 <= p_fraction_tolerance.get()) 
-            : (d1 <= p_fraction_tolerance.get() || d2 <= p_fraction_tolerance.get()) );
-
-        if( !res )
-            res.message() << (( d1 <= p_fraction_tolerance.get() ? d2 : d1 ) * m_report_modifier);
-
-        return res;
-    }
-
-    // Public properties
-    readonly_property<FPT>  p_fraction_tolerance;
-    readonly_property<bool> p_strong_or_weak;
-private:
-    // Data members
-    FPT                     m_report_modifier;
-};
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************               check_is_close                 ************** //
-// ************************************************************************** //
-
-struct BOOST_TEST_DECL check_is_close_t {
-    // Public typedefs
-    typedef bool result_type;
-
-    template<typename FPT1, typename FPT2, typename ToleranceBaseType>
-    predicate_result
-    operator()( FPT1 left, FPT2 right, percent_tolerance_t<ToleranceBaseType> tolerance, 
-                floating_point_comparison_type fpc_type = FPC_STRONG ) const
-    {
-        // deduce "better" type from types of arguments being compared
-        // if one type is floating and the second integral we use floating type and 
-        // value of integral type is promoted to the floating. The same for float and double
-        // But we don't want to compare two values of integral types using this tool.
-        typedef typename numeric::conversion_traits<FPT1,FPT2>::supertype FPT;
-        BOOST_STATIC_ASSERT( !is_integral<FPT>::value );
-
-        close_at_tolerance<FPT> pred( tolerance, fpc_type );
-
-        return pred( left, right );
-    }
-    template<typename FPT1, typename FPT2, typename ToleranceBaseType>
-    predicate_result
-    operator()( FPT1 left, FPT2 right, fraction_tolerance_t<ToleranceBaseType> tolerance, 
-                floating_point_comparison_type fpc_type = FPC_STRONG ) const
-    {
-        // same as in a comment above
-        typedef typename numeric::conversion_traits<FPT1,FPT2>::supertype FPT;
-        BOOST_STATIC_ASSERT( !is_integral<FPT>::value );
-
-        close_at_tolerance<FPT> pred( tolerance, fpc_type );
-
-        return pred( left, right );
-    }
-};
-
-namespace {
-check_is_close_t const& check_is_close = unit_test::ut_detail::static_constant<check_is_close_t>::value;
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************               check_is_small                 ************** //
-// ************************************************************************** //
-
-struct BOOST_TEST_DECL check_is_small_t {
-    // Public typedefs
-    typedef bool result_type;
-
-    template<typename FPT>
-    bool
-    operator()( FPT fpv, FPT tolerance ) const
-    {
-        return tt_detail::fpt_abs( fpv ) < tt_detail::fpt_abs( tolerance );
-    }
-};
-
-namespace {
-check_is_small_t const& check_is_small = unit_test::ut_detail::static_constant<check_is_small_t>::value;
-}
-
-//____________________________________________________________________________//
-
-} // namespace test_tools
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_FLOATING_POINT_COMAPARISON_HPP_071894GER
diff --git a/SRC/Boost/boost/test/framework.hpp b/SRC/Boost/boost/test/framework.hpp
deleted file mode 100755
index 57f2c33..0000000
--- a/SRC/Boost/boost/test/framework.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : defines framework interface
-// ***************************************************************************
-
-#ifndef BOOST_TEST_FRAMEWORK_HPP_020805GER
-#define BOOST_TEST_FRAMEWORK_HPP_020805GER
-
-// Boost.Test
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/detail/fwd_decl.hpp>
-#include <boost/test/utils/trivial_singleton.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-// STL
-#include <stdexcept>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************              init_unit_test_func             ************** //
-// ************************************************************************** //
-
-#ifdef BOOST_TEST_ALTERNATIVE_INIT_API
-typedef bool        (*init_unit_test_func)();
-#else
-typedef test_suite* (*init_unit_test_func)( int, char* [] );
-#endif
-
-// ************************************************************************** //
-// **************                   framework                  ************** //
-// ************************************************************************** //
-
-namespace framework {
-
-// initialization
-BOOST_TEST_DECL void    init( init_unit_test_func init_func, int argc, char* argv[] );
-BOOST_TEST_DECL bool    is_initialized();
-
-// mutation access methods
-BOOST_TEST_DECL void    register_test_unit( test_case* tc );
-BOOST_TEST_DECL void    register_test_unit( test_suite* ts );
-BOOST_TEST_DECL void    deregister_test_unit( test_unit* tu );
-BOOST_TEST_DECL void    clear();
-
-BOOST_TEST_DECL void    register_observer( test_observer& );
-BOOST_TEST_DECL void    deregister_observer( test_observer& );
-BOOST_TEST_DECL void    reset_observers();
-
-BOOST_TEST_DECL master_test_suite_t& master_test_suite();
-
-// constant access methods
-BOOST_TEST_DECL test_case const&    current_test_case();
-
-BOOST_TEST_DECL test_unit&  get( test_unit_id, test_unit_type );
-template<typename UnitType>
-UnitType&               get( test_unit_id id )
-{
-    return static_cast<UnitType&>( get( id, static_cast<test_unit_type>(UnitType::type) ) );
-}
-
-// test initiation
-BOOST_TEST_DECL void    run( test_unit_id = INV_TEST_UNIT_ID, bool continue_test = true );
-BOOST_TEST_DECL void    run( test_unit const*, bool continue_test = true );
-
-// public test events dispatchers
-BOOST_TEST_DECL void    assertion_result( bool passed );
-BOOST_TEST_DECL void    exception_caught( execution_exception const& );
-BOOST_TEST_DECL void    test_unit_aborted( test_unit const& );
-
-// ************************************************************************** //
-// **************                framework errors              ************** //
-// ************************************************************************** //
-
-struct internal_error : std::runtime_error {
-    internal_error( const_string m ) : std::runtime_error( std::string( m.begin(), m.size() ) ) {}
-};
-
-struct setup_error : std::runtime_error {
-    setup_error( const_string m ) : std::runtime_error( std::string( m.begin(), m.size() ) ) {}
-};
-
-#define BOOST_TEST_SETUP_ASSERT( cond, msg ) if( cond ) {} else throw unit_test::framework::setup_error( msg )
-
-struct nothing_to_test {}; // not really an error
-
-} // namespace framework
-
-} // unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_FRAMEWORK_HPP_020805GER
-
diff --git a/SRC/Boost/boost/test/impl/compiler_log_formatter.ipp b/SRC/Boost/boost/test/impl/compiler_log_formatter.ipp
deleted file mode 100755
index a4180f1..0000000
--- a/SRC/Boost/boost/test/impl/compiler_log_formatter.ipp
+++ /dev/null
@@ -1,222 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : implements compiler like Log formatter
-// ***************************************************************************
-
-#ifndef BOOST_TEST_COMPILER_LOG_FORMATTER_IPP_020105GER
-#define BOOST_TEST_COMPILER_LOG_FORMATTER_IPP_020105GER
-
-// Boost.Test
-#include <boost/test/output/compiler_log_formatter.hpp>
-#include <boost/test/unit_test_suite_impl.hpp>
-#include <boost/test/framework.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp>
-#include <boost/test/utils/lazy_ostream.hpp>
-
-// Boost
-#include <boost/version.hpp>
-
-// STL
-#include <iostream>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace output {
-
-// ************************************************************************** //
-// **************            compiler_log_formatter            ************** //
-// ************************************************************************** //
-
-namespace {
-
-const_string
-test_phase_identifier()
-{
-    return framework::is_initialized() 
-            ? const_string( framework::current_test_case().p_name.get() )
-            : BOOST_TEST_L( "Test setup" );
-}
-
-} // local namespace
-
-//____________________________________________________________________________//
-
-void
-compiler_log_formatter::log_start( std::ostream& output, counter_t test_cases_amount )
-{
-    if( test_cases_amount > 0 )
-        output  << "Running " << test_cases_amount << " test "
-                << (test_cases_amount > 1 ? "cases" : "case") << "...\n";
-}
-
-//____________________________________________________________________________//
-
-void
-compiler_log_formatter::log_finish( std::ostream& ostr )
-{
-    ostr.flush();
-}
-
-//____________________________________________________________________________//
-
-void
-compiler_log_formatter::log_build_info( std::ostream& output )
-{
-    output  << "Platform: " << BOOST_PLATFORM            << '\n'
-            << "Compiler: " << BOOST_COMPILER            << '\n'
-            << "STL     : " << BOOST_STDLIB              << '\n'
-            << "Boost   : " << BOOST_VERSION/100000      << "."
-                            << BOOST_VERSION/100 % 1000  << "."
-                            << BOOST_VERSION % 100       << std::endl;
-}
-
-//____________________________________________________________________________//
-
-void
-compiler_log_formatter::test_unit_start( std::ostream& output, test_unit const& tu )
-{
-    output << "Entering test " << tu.p_type_name << " \"" << tu.p_name << "\"" << std::endl;
-}
-
-//____________________________________________________________________________//
-
-void
-compiler_log_formatter::test_unit_finish( std::ostream& output, test_unit const& tu, unsigned long elapsed )
-{
-    output << "Leaving test " << tu.p_type_name << " \"" << tu.p_name << "\"";
-
-    if( elapsed > 0 ) {
-        output << "; testing time: ";
-        if( elapsed % 1000 == 0 )
-            output << elapsed/1000 << "ms";
-        else
-            output << elapsed << "mks";
-    }
-
-    output << std::endl;
-}
-
-//____________________________________________________________________________//
-
-void
-compiler_log_formatter::test_unit_skipped( std::ostream& output, test_unit const& tu )
-{
-    output  << "Test " << tu.p_type_name << " \"" << tu.p_name << "\"" << "is skipped" << std::endl;
-}
-    
-//____________________________________________________________________________//
-
-void
-compiler_log_formatter::log_exception( std::ostream& output, log_checkpoint_data const& checkpoint_data, execution_exception const& ex )
-{
-    execution_exception::location const& loc = ex.where();
-    print_prefix( output, loc.m_file_name, loc.m_line_num );
-
-    output << "fatal error in \"" << (loc.m_function.is_empty() ? test_phase_identifier() : loc.m_function ) << "\": ";
-
-    output << ex.what();
-
-    if( !checkpoint_data.m_file_name.is_empty() ) {
-        output << '\n';
-        print_prefix( output, checkpoint_data.m_file_name, checkpoint_data.m_line_num );
-        output << "last checkpoint";
-        if( !checkpoint_data.m_message.empty() )
-            output << ": " << checkpoint_data.m_message;
-    }
-    
-    output << std::endl;
-}
-
-//____________________________________________________________________________//
-
-void
-compiler_log_formatter::log_entry_start( std::ostream& output, log_entry_data const& entry_data, log_entry_types let )
-{
-    switch( let ) {
-        case BOOST_UTL_ET_INFO:
-            print_prefix( output, entry_data.m_file_name, entry_data.m_line_num );
-            output << "info: ";
-            break;
-        case BOOST_UTL_ET_MESSAGE:
-            break;
-        case BOOST_UTL_ET_WARNING:
-            print_prefix( output, entry_data.m_file_name, entry_data.m_line_num );
-            output << "warning in \"" << test_phase_identifier() << "\": ";
-            break;
-        case BOOST_UTL_ET_ERROR:
-            print_prefix( output, entry_data.m_file_name, entry_data.m_line_num );
-            output << "error in \"" << test_phase_identifier() << "\": ";
-            break;
-        case BOOST_UTL_ET_FATAL_ERROR:
-            print_prefix( output, entry_data.m_file_name, entry_data.m_line_num );
-            output << "fatal error in \"" << test_phase_identifier() << "\": ";
-            break;
-    }
-}
-
-//____________________________________________________________________________//
-
-void
-compiler_log_formatter::log_entry_value( std::ostream& output, const_string value )
-{
-    output << value;
-}
-
-//____________________________________________________________________________//
-
-void
-compiler_log_formatter::log_entry_value( std::ostream& output, lazy_ostream const& value )
-{
-    output << value;
-}
-
-//____________________________________________________________________________//
-
-void
-compiler_log_formatter::log_entry_finish( std::ostream& output )
-{
-    output << std::endl;
-}
-
-//____________________________________________________________________________//
-
-void
-compiler_log_formatter::print_prefix( std::ostream& output, const_string file, std::size_t line )
-{
-#ifdef __APPLE_CC__
-    // Xcode-compatible logging format, idea by Richard Dingwall at 
-    // <http://richarddingwall.name/2008/06/01/using-the-boost-unit-test-framework-with-xcode-3/>. 
-    output << file << ':' << line << ": ";
-#else
-    output << file << '(' << line << "): ";
-#endif
-}
-
-//____________________________________________________________________________//
-
-} // namespace output
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_COMPILER_LOG_FORMATTER_IPP_020105GER
diff --git a/SRC/Boost/boost/test/impl/cpp_main.ipp b/SRC/Boost/boost/test/impl/cpp_main.ipp
deleted file mode 100755
index fed14a9..0000000
--- a/SRC/Boost/boost/test/impl/cpp_main.ipp
+++ /dev/null
@@ -1,139 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  (C) Copyright Beman Dawes 1995-2001.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : main function implementation for Program Executon Monitor
-// ***************************************************************************
-
-#ifndef BOOST_TEST_CPP_MAIN_IPP_012205GER
-#define BOOST_TEST_CPP_MAIN_IPP_012205GER
-
-// Boost.Test
-#include <boost/test/execution_monitor.hpp>
-#include <boost/test/detail/config.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp>
-
-// Boost
-#include <boost/cstdlib.hpp>    // for exit codes
-#include <boost/config.hpp>     // for workarounds
-
-// STL
-#include <iostream>
-#include <cstdlib>      // std::getenv
-#include <cstring>      // std::strerror
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std { using ::getenv; using ::strerror; }
-#endif
-
-namespace {
-
-struct cpp_main_caller {
-    cpp_main_caller( int (*cpp_main_func)( int argc, char* argv[] ), int argc, char** argv ) 
-    : m_cpp_main_func( cpp_main_func )
-    , m_argc( argc )
-    , m_argv( argv ) {}
-    
-    int operator()() { return (*m_cpp_main_func)( m_argc, m_argv ); }
-  
-private:
-    // Data members    
-    int (*m_cpp_main_func)( int argc, char* argv[] );
-    int      m_argc;
-    char**   m_argv;
-};
-
-} // local namespace
-
-// ************************************************************************** //
-// **************             prg_exec_monitor_main            ************** //
-// ************************************************************************** //
-
-namespace boost {
-
-int BOOST_TEST_DECL
-prg_exec_monitor_main( int (*cpp_main)( int argc, char* argv[] ), int argc, char* argv[] )
-{
-    int result = 0;
-
-    try {
-        boost::unit_test::const_string p( std::getenv( "BOOST_TEST_CATCH_SYSTEM_ERRORS" ) );
-        ::boost::execution_monitor ex_mon;
-
-        ex_mon.p_catch_system_errors.value = p != "no";
-        
-        result = ex_mon.execute( 
-            ::boost::unit_test::callback0<int>( cpp_main_caller( cpp_main, argc, argv ) ) );
-        
-        if( result == 0 )
-            result = ::boost::exit_success;
-        else if( result != ::boost::exit_success ) {
-            std::cout << "\n**** error return code: " << result << std::endl;
-            result = ::boost::exit_failure;
-        }
-    }
-    catch( ::boost::execution_exception const& exex ) {
-        std::cout << "\n**** exception(" << exex.code() << "): " << exex.what() << std::endl;
-        result = ::boost::exit_exception_failure;
-    }
-    catch( ::boost::system_error const& ex ) {
-        std::cout << "\n**** failed to initialize execution monitor."
-                  << "\n**** expression at fault: " << ex.p_failed_exp 
-                  << "\n**** error(" << ex.p_errno << "): " << std::strerror( ex.p_errno ) << std::endl;
-        result = ::boost::exit_exception_failure;
-    }
-
-    if( result != ::boost::exit_success ) {
-        std::cerr << "******** errors detected; see standard output for details ********" << std::endl;
-    }
-    else {
-        //  Some prefer a confirming message when all is well, while others don't
-        //  like the clutter.  Use an environment variable to avoid command
-        //  line argument modifications; for use in production programs
-        //  that's a no-no in some organizations.
-        ::boost::unit_test::const_string p( std::getenv( "BOOST_PRG_MON_CONFIRM" ) );
-        if( p != "no" ) { 
-            std::cerr << std::flush << "no errors detected" << std::endl; 
-        }
-    }
-
-    return result;
-}
-
-} // namespace boost
-
-#if !defined(BOOST_TEST_DYN_LINK) && !defined(BOOST_TEST_NO_MAIN)
-
-// ************************************************************************** //
-// **************        main function for tests using lib     ************** //
-// ************************************************************************** //
-
-int cpp_main( int argc, char* argv[] );  // prototype for user's cpp_main()
-
-int BOOST_TEST_CALL_DECL
-main( int argc, char* argv[] )
-{
-    return ::boost::prg_exec_monitor_main( &cpp_main, argc, argv );
-}
-
-//____________________________________________________________________________//
-
-#endif // !BOOST_TEST_DYN_LINK && !BOOST_TEST_NO_MAIN
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_CPP_MAIN_IPP_012205GER
diff --git a/SRC/Boost/boost/test/impl/debug.ipp b/SRC/Boost/boost/test/impl/debug.ipp
deleted file mode 100755
index 39cb45a..0000000
--- a/SRC/Boost/boost/test/impl/debug.ipp
+++ /dev/null
@@ -1,970 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2006-2008.
-//  Use, modification, and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : debug interfaces implementation
-// ***************************************************************************
-
-#ifndef BOOST_TEST_DEBUG_API_IPP_112006GER
-#define BOOST_TEST_DEBUG_API_IPP_112006GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-#include <boost/test/detail/workaround.hpp>
-#include <boost/test/detail/global_typedef.hpp>
-
-#include <boost/test/debug.hpp>
-#include <boost/test/debug_config.hpp>
-
-// Implementation on Windows
-#if defined(_WIN32) && !defined(UNDER_CE) && !defined(BOOST_DISABLE_WIN32) // ******* WIN32
-
-#  define BOOST_WIN32_BASED_DEBUG
-
-// SYSTEM API
-#  include <windows.h>
-#  include <winreg.h>
-#  include <cstdio>
-#  include <cstring>
-
-#  if !defined(NDEBUG) && defined(_MSC_VER)
-#    define BOOST_MS_CRT_BASED_DEBUG
-#    include <crtdbg.h>
-#  endif
-
-
-#  if BOOST_WORKAROUND( BOOST_MSVC, <1300)
-#    define snprintf _snprintf
-#  endif
-
-#  ifdef BOOST_NO_STDC_NAMESPACE
-namespace std { using ::memset; using ::sprintf; }
-#  endif
-
-#elif defined(unix) || defined(__unix) // ********************* UNIX
-
-#  define BOOST_UNIX_BASED_DEBUG
-
-// Boost.Test
-#include <boost/test/utils/class_properties.hpp>
-#include <boost/test/utils/algorithm.hpp>
-
-// STL
-#include <cstring>  // std::memcpy
-#include <map>
-#include <cstdio>
-#include <stdarg.h> // !! ?? cstdarg
-
-// SYSTEM API
-#  include <unistd.h>
-#  include <signal.h>
-#  include <fcntl.h>
-
-#  include <sys/types.h>
-#  include <sys/stat.h>
-#  include <sys/wait.h>
-#  include <sys/time.h>
-#  include <stdio.h>
-#  include <stdlib.h>
-
-#  if defined(sun) || defined(__sun)
-
-#    define BOOST_SUN_BASED_DEBUG
-
-#    ifndef BOOST_TEST_DBG_LIST
-#      define BOOST_TEST_DBG_LIST dbx;gdb
-#    endif
-
-#    define BOOST_TEST_CNL_DBG  dbx
-#    define BOOST_TEST_GUI_DBG  dbx-ddd
-
-#    include <procfs.h>
-
-#  elif defined(linux) || defined(__linux)
-
-#    define BOOST_LINUX_BASED_DEBUG
-
-#    include <sys/ptrace.h>
-
-#    ifndef BOOST_TEST_STAT_LINE_MAX
-#      define BOOST_TEST_STAT_LINE_MAX 500
-#    endif
-
-#    ifndef BOOST_TEST_DBG_LIST
-#      define BOOST_TEST_DBG_LIST gdb
-#    endif
-
-#    define BOOST_TEST_CNL_DBG  gdb
-#    define BOOST_TEST_GUI_DBG  gdb-xterm
-
-#  endif
-
-#endif
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace debug {
-
-using unit_test::const_string;
-
-// ************************************************************************** //
-// **************                debug::info_t                 ************** //
-// ************************************************************************** //
-
-namespace {
-
-#if defined(BOOST_WIN32_BASED_DEBUG) // *********************** WIN32
-
-template<typename T>
-inline void
-dyn_symbol( T& res, char const* module_name, char const* symbol_name )
-{
-    HMODULE m = ::GetModuleHandleA( module_name );
-
-    if( !m )
-        m = ::LoadLibraryA( module_name );
-
-    res = reinterpret_cast<T>( ::GetProcAddress( m, symbol_name ) );
-}
-
-//____________________________________________________________________________//
-
-static struct info_t {
-    typedef BOOL (WINAPI* IsDebuggerPresentT)();
-    typedef LONG (WINAPI* RegQueryValueExT)( HKEY, char const* /*LPTSTR*/, LPDWORD, LPDWORD, LPBYTE, LPDWORD );
-    typedef LONG (WINAPI* RegOpenKeyT)( HKEY, char const* /*LPCTSTR*/, PHKEY );
-    typedef LONG (WINAPI* RegCloseKeyT)( HKEY );
-
-    info_t();
-
-    IsDebuggerPresentT  m_is_debugger_present;
-    RegOpenKeyT         m_reg_open_key;
-    RegQueryValueExT    m_reg_query_value;
-    RegCloseKeyT        m_reg_close_key;
-
-} s_info;
-
-//____________________________________________________________________________//
-
-info_t::info_t()
-{
-    dyn_symbol( m_is_debugger_present, "kernel32", "IsDebuggerPresent" );
-    dyn_symbol( m_reg_open_key, "advapi32", "RegOpenKeyA" );
-    dyn_symbol( m_reg_query_value, "advapi32", "RegQueryValueExA" );
-    dyn_symbol( m_reg_close_key, "advapi32", "RegCloseKey" );
-}
-
-//____________________________________________________________________________//
-
-#elif defined(BOOST_UNIX_BASED_DEBUG)
-
-// ************************************************************************** //
-// **************                   fd_holder                  ************** //
-// ************************************************************************** //
-
-struct fd_holder {
-    explicit fd_holder( int fd ) : m_fd( fd ) {}
-    ~fd_holder()
-    {
-        if( m_fd != -1 )
-            ::close( m_fd );
-    }
-
-    operator int() { return m_fd; }
-
-private:
-    // Data members
-    int m_fd;
-};
-
-
-// ************************************************************************** //
-// **************                 process_info                 ************** //
-// ************************************************************************** //
-
-struct process_info {
-    // Constructor
-    explicit        process_info( int pid );
-
-    // access methods
-    int             parent_pid() const  { return m_parent_pid; }
-    const_string    binary_name() const { return m_binary_name; }
-    const_string    binary_path() const { return m_binary_path; }
-
-private:
-    // Data members
-    int             m_parent_pid;
-    const_string    m_binary_name;
-    const_string    m_binary_path;
-
-#if defined(BOOST_SUN_BASED_DEBUG)
-    struct psinfo   m_psi;
-#elif defined(BOOST_LINUX_BASED_DEBUG)
-    char            m_stat_line[BOOST_TEST_STAT_LINE_MAX+1];
-#endif
-    char            m_binary_path_buff[500+1]; // !! ??
-};
-
-//____________________________________________________________________________//
-
-process_info::process_info( int pid )
-: m_parent_pid( 0 )
-{
-#if defined(BOOST_SUN_BASED_DEBUG)
-    char fname_buff[30];
-
-    ::snprintf( fname_buff, sizeof(fname_buff), "/proc/%d/psinfo", pid );
-
-    fd_holder psinfo_fd( ::open( fname_buff, O_RDONLY ) );
-
-    if( psinfo_fd == -1 )
-        return;
-
-    if( ::read( psinfo_fd, &m_psi, sizeof(m_psi) ) == -1 )
-        return;
-
-    m_parent_pid = m_psi.pr_ppid;
-
-    m_binary_name.assign( m_psi.pr_fname );
-
-    //-------------------------- //
-    
-    ::snprintf( fname_buff, sizeof(fname_buff), "/proc/%d/as", pid );
-
-    fd_holder as_fd( ::open( fname_buff, O_RDONLY ) );
-    uintptr_t   binary_name_pos;
-  
-    // !! ?? could we avoid reading whole m_binary_path_buff?
-    if( as_fd == -1 ||
-        ::lseek( as_fd, m_psi.pr_argv, SEEK_SET ) == -1 ||
-        ::read ( as_fd, &binary_name_pos, sizeof(binary_name_pos) ) == -1 ||
-        ::lseek( as_fd, binary_name_pos, SEEK_SET ) == -1 ||
-        ::read ( as_fd, m_binary_path_buff, sizeof(m_binary_path_buff) ) == -1 )
-        return;
-        
-    m_binary_path.assign( m_binary_path_buff );
-        
-#elif defined(BOOST_LINUX_BASED_DEBUG)
-    char fname_buff[30];
-
-    ::snprintf( fname_buff, sizeof(fname_buff), "/proc/%d/stat", pid );
-
-    fd_holder psinfo_fd( ::open( fname_buff, O_RDONLY ) );
-
-    if( psinfo_fd == -1 )
-        return;
-
-    ssize_t num_read = ::read( psinfo_fd, m_stat_line, sizeof(m_stat_line)-1 );
-    if( num_read == -1 )
-        return;
-
-    m_stat_line[num_read] = 0;
-
-    char const* name_beg = m_stat_line;
-    while( *name_beg && *name_beg != '(' )
-        ++name_beg;
-
-    char const* name_end = name_beg+1;
-    while( *name_end && *name_end != ')' )
-        ++name_end;
-
-    std::sscanf( name_end+1, "%*s%d", &m_parent_pid );
-
-    m_binary_name.assign( name_beg+1, name_end );
-
-    ::snprintf( fname_buff, sizeof(fname_buff), "/proc/%d/exe", pid );
-    num_read = ::readlink( fname_buff, m_binary_path_buff, sizeof(m_binary_path_buff)-1 );
-
-    if( num_read == -1 )
-        return;
-
-    m_binary_path_buff[num_read] = 0;
-    m_binary_path.assign( m_binary_path_buff, num_read );
-#endif
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************             prepare_window_title             ************** //
-// ************************************************************************** //
-
-static char*
-prepare_window_title( dbg_startup_info const& dsi )
-{
-    typedef unit_test::const_string str_t;
-
-    static char title_str[50];
-
-    str_t path_sep( "\\/" );
-
-    str_t::iterator  it = unit_test::find_last_of( dsi.binary_path.begin(), dsi.binary_path.end(),
-                                                   path_sep.begin(), path_sep.end() );
-
-    if( it == dsi.binary_path.end() )
-        it = dsi.binary_path.begin();
-    else
-        ++it;
-
-    ::snprintf( title_str, sizeof(title_str), "%*s %ld", (int)(dsi.binary_path.end()-it), it, dsi.pid );
-
-    return title_str;
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                  save_execlp                 ************** //
-// ************************************************************************** //
-
-typedef unit_test::basic_cstring<char> mbuffer;
-
-inline char*
-copy_arg( mbuffer& dest, const_string arg )
-{
-    if( dest.size() < arg.size()+1 )
-        return 0;
-
-    char* res = dest.begin();
-
-    std::memcpy( res, arg.begin(), arg.size()+1 );
-
-    dest.trim_left( arg.size()+1 );
-
-    return res;
-}
-
-//____________________________________________________________________________//
-
-bool
-safe_execlp( char const* file, ... )
-{
-    static char* argv_buff[200];
-
-    va_list     args;
-    char const* arg;
-
-    // first calculate actual number of arguments
-    int         num_args = 2; // file name and 0 at least
-
-    va_start( args, file );
-    while( !!(arg = va_arg( args, char const* )) )
-        num_args++;
-    va_end( args );
-
-    // reserve space for the argument pointers array
-    char**      argv_it  = argv_buff;
-    mbuffer     work_buff( reinterpret_cast<char*>(argv_buff), sizeof(argv_buff) );
-    work_buff.trim_left( num_args * sizeof(char*) );
-
-    // copy all the argument values into local storage
-    if( !(*argv_it++ = copy_arg( work_buff, file )) )
-        return false;
-
-    printf( "!! %s\n", file );
-
-    va_start( args, file );
-    while( !!(arg = va_arg( args, char const* )) ) {
-        printf( "!! %s\n", arg );
-        if( !(*argv_it++ = copy_arg( work_buff, arg )) )
-            return false;
-    }
-    va_end( args );
-
-    *argv_it = 0;
-
-    return ::execvp( file, argv_buff ) != -1;
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************            start_debugger_in_emacs           ************** //
-// ************************************************************************** //
-
-static void
-start_debugger_in_emacs( dbg_startup_info const& dsi, char const* emacs_name, char const* dbg_command )
-{
-    char const* title = prepare_window_title( dsi );
-
-    if( !title )
-        return;
-
-    dsi.display.is_empty()
-        ? safe_execlp( emacs_name, "-title", title, "--eval", dbg_command, 0 )
-        : safe_execlp( emacs_name, "-title", title, "-display", dsi.display.begin(), "--eval", dbg_command, 0 );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                 gdb starters                 ************** //
-// ************************************************************************** //
-
-static char const*
-prepare_gdb_cmnd_file( dbg_startup_info const& dsi )
-{
-    // prepare pid value
-    char pid_buff[16];
-    ::snprintf( pid_buff, sizeof(pid_buff), "%ld", dsi.pid );
-    unit_test::const_string pid_str( pid_buff );
-
-    static char cmd_file_name[] = "/tmp/btl_gdb_cmd_XXXXXX"; // !! ??
-
-    // prepare commands
-    fd_holder cmd_fd( ::mkstemp( cmd_file_name ) );
-
-    if( cmd_fd == -1 )
-        return 0;
-
-#define WRITE_STR( str )  if( ::write( cmd_fd, str.begin(), str.size() ) == -1 ) return 0;
-#define WRITE_CSTR( str ) if( ::write( cmd_fd, str, sizeof( str )-1 ) == -1 ) return 0;
-
-    WRITE_CSTR( "file " );
-    WRITE_STR( dsi.binary_path );
-    WRITE_CSTR( "\nattach " );
-    WRITE_STR( pid_str );
-    WRITE_CSTR( "\nshell unlink " );
-    WRITE_STR( dsi.init_done_lock );
-    WRITE_CSTR( "\ncont" );
-    if( dsi.break_or_continue )
-        WRITE_CSTR( "\nup 4" );
-            
-    WRITE_CSTR( "\necho \\n" ); // !! ??
-    WRITE_CSTR( "\nlist -" );
-    WRITE_CSTR( "\nlist" );
-    WRITE_CSTR( "\nshell unlink " );
-    WRITE_CSTR( cmd_file_name );
-
-    return cmd_file_name;
-}
-
-//____________________________________________________________________________//
-
-static void
-start_gdb_in_console( dbg_startup_info const& dsi )
-{
-    char const* cmnd_file_name = prepare_gdb_cmnd_file( dsi );
-
-    if( !cmnd_file_name )
-        return;
-
-    safe_execlp( "gdb", "-q", "-x", cmnd_file_name, 0 );
-}
-
-//____________________________________________________________________________//
-
-static void
-start_gdb_in_xterm( dbg_startup_info const& dsi )
-{
-    char const* title           = prepare_window_title( dsi );
-    char const* cmnd_file_name  = prepare_gdb_cmnd_file( dsi );
-
-    if( !title || !cmnd_file_name )
-        return;
-
-    safe_execlp( "xterm", "-T", title, "-display", dsi.display.begin(),
-                    "-bg", "black", "-fg", "white", "-geometry", "88x30+10+10", "-fn", "9x15", "-e",
-                 "gdb", "-q", "-x", cmnd_file_name, 0 );
-}
-
-//____________________________________________________________________________//
-
-static void
-start_gdb_in_emacs( dbg_startup_info const& dsi )
-{
-    char const* cmnd_file_name  = prepare_gdb_cmnd_file( dsi );
-    if( !cmnd_file_name )
-        return;
-
-    char dbg_cmd_buff[500]; // !! ??
-    ::snprintf( dbg_cmd_buff, sizeof(dbg_cmd_buff), "(progn (gdb \"gdb -q -x %s\"))", cmnd_file_name );
-
-    start_debugger_in_emacs( dsi, "emacs", dbg_cmd_buff );
-}
-
-//____________________________________________________________________________//
-
-static void
-start_gdb_in_xemacs( dbg_startup_info const& )
-{
-    // !! ??
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                 dbx starters                 ************** //
-// ************************************************************************** //
-
-static char const*
-prepare_dbx_cmd_line( dbg_startup_info const& dsi, bool list_source = true )
-{
-    static char cmd_line_buff[500]; // !! ??
-
-    ::snprintf( cmd_line_buff, sizeof(cmd_line_buff), "unlink %s;cont;%s%s", 
-                   dsi.init_done_lock.begin(), 
-                   dsi.break_or_continue ? "up 2;": "", 
-                   list_source ? "echo \" \";list -w3;" : "" );
-
-    return cmd_line_buff;
-}
-
-//____________________________________________________________________________//
-
-static void
-start_dbx_in_console( dbg_startup_info const& dsi )
-{
-    char pid_buff[16];
-    ::snprintf( pid_buff, sizeof(pid_buff), "%ld", dsi.pid );
-
-    safe_execlp( "dbx", "-q", "-c", prepare_dbx_cmd_line( dsi ), dsi.binary_path.begin(), pid_buff, 0 );
-}
-
-//____________________________________________________________________________//
-
-static void
-start_dbx_in_xterm( dbg_startup_info const& dsi )
-{
-    char const* title = prepare_window_title( dsi );
-    if( !title )
-        return;
-
-    char pid_buff[16]; // !! ??
-    ::snprintf( pid_buff, sizeof(pid_buff), "%ld", dsi.pid );
-    
-    safe_execlp( "xterm", "-T", title, "-display", dsi.display.begin(), 
-                    "-bg", "black", "-fg", "white", "-geometry", "88x30+10+10", "-fn", "9x15", "-e",
-                 "dbx", "-q", "-c", prepare_dbx_cmd_line( dsi ), dsi.binary_path.begin(), pid_buff, 0 );
-}
-
-//____________________________________________________________________________//
-
-static void
-start_dbx_in_emacs( dbg_startup_info const& /*dsi*/ )
-{
-//    char dbg_cmd_buff[500]; // !! ??
-//
-//    ::snprintf( dbg_cmd_buff, sizeof(dbg_cmd_buff), "(progn (dbx \"dbx -q -c cont %s %ld\"))", dsi.binary_path.begin(), dsi.pid );
-
-//    start_debugger_in_emacs( dsi, "emacs", dbg_cmd_buff );
-}
-
-//____________________________________________________________________________//
-
-static void
-start_dbx_in_xemacs( dbg_startup_info const& )
-{
-    // !! ??
-}
-
-//____________________________________________________________________________//
-
-static void
-start_dbx_in_ddd( dbg_startup_info const& dsi )
-{
-    char const* title = prepare_window_title( dsi );
-    if( !title )
-        return;
-
-    char pid_buff[16]; // !! ??
-    ::snprintf( pid_buff, sizeof(pid_buff), "%ld", dsi.pid );
-    
-    safe_execlp( "ddd", "-display", dsi.display.begin(),
-                 "--dbx", "-q", "-c", prepare_dbx_cmd_line( dsi, false ), dsi.binary_path.begin(), pid_buff, 0 );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                debug::info_t                 ************** //
-// ************************************************************************** //
-
-static struct info_t {
-    // Constructor
-    info_t();
-
-    // Public properties
-    unit_test::readwrite_property<std::string>  p_dbg;
-    
-    // Data members
-    std::map<std::string,dbg_starter>           m_dbg_starter_reg;
-} s_info;
-
-//____________________________________________________________________________//
-
-info_t::info_t()
-{
-    p_dbg.value = ::getenv( "DISPLAY" )
-        ? std::string( BOOST_STRINGIZE( BOOST_TEST_GUI_DBG ) )
-        : std::string( BOOST_STRINGIZE( BOOST_TEST_CNL_DBG ) );
-        
-    m_dbg_starter_reg[std::string("gdb")]           = &start_gdb_in_console;
-    m_dbg_starter_reg[std::string("gdb-emacs")]     = &start_gdb_in_emacs;
-    m_dbg_starter_reg[std::string("gdb-xterm")]     = &start_gdb_in_xterm;
-    m_dbg_starter_reg[std::string("gdb-xemacs")]    = &start_gdb_in_xemacs;
-
-    m_dbg_starter_reg[std::string("dbx")]           = &start_dbx_in_console;
-    m_dbg_starter_reg[std::string("dbx-emacs")]     = &start_dbx_in_emacs;
-    m_dbg_starter_reg[std::string("dbx-xterm")]     = &start_dbx_in_xterm;
-    m_dbg_starter_reg[std::string("dbx-xemacs")]    = &start_dbx_in_xemacs;
-    m_dbg_starter_reg[std::string("dbx-ddd")]       = &start_dbx_in_ddd;
-}
-
-//____________________________________________________________________________//
-
-#endif
-
-} // local namespace
-
-// ************************************************************************** //
-// **************  check if program is running under debugger  ************** //
-// ************************************************************************** //
-
-bool
-under_debugger()
-{
-#if defined(BOOST_WIN32_BASED_DEBUG) // *********************** WIN32
-
-    return !!s_info.m_is_debugger_present && s_info.m_is_debugger_present();
-
-#elif defined(BOOST_UNIX_BASED_DEBUG) // ********************** UNIX
-
-    // !! ?? could/should we cache the result somehow?
-    const_string    dbg_list = BOOST_TEST_STRINGIZE( BOOST_TEST_DBG_LIST );
-
-    pid_t pid = ::getpid();
-
-    while( pid != 0 ) {
-        process_info pi( pid );
-
-        // !! ?? should we use tokenizer here instead?
-        if( dbg_list.find( pi.binary_name() ) != const_string::npos )
-            return true;
-
-        pid = (pi.parent_pid() == pid ? 0 : pi.parent_pid());
-    }
-
-    return false;
-
-#else // ****************************************************** default
-
-    return false;
-
-#endif
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************       cause program to break execution       ************** //
-// **************           in debugger at call point          ************** //
-// ************************************************************************** //
-
-void
-debugger_break()
-{
-    // !! ?? auto-start debugger?
-
-#if defined(BOOST_WIN32_BASED_DEBUG) // *********************** WIN32
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1300)                       ||  \
-    BOOST_WORKAROUND(__GNUC__, >= 3) && !defined(__MINGW32__)   ||  \
-    defined(__INTEL_COMPILER)
-#   define BOOST_DEBUG_BREAK    __debugbreak
-#else
-#   define BOOST_DEBUG_BREAK    DebugBreak
-#endif
-
-#ifndef __MINGW32__
-    if( !under_debugger() ) {
-        __try {
-            __try {
-                BOOST_DEBUG_BREAK();
-            }
-            __except( UnhandledExceptionFilter(GetExceptionInformation()) )
-            {
-                // User opted to ignore the breakpoint
-                return;
-            }
-        }
-        __except (EXCEPTION_EXECUTE_HANDLER)
-        {
-            // If we got here, the user has pushed Debug. Debugger is already attached to our process and we
-            // continue to let the another BOOST_DEBUG_BREAK to be called.
-        }
-    }
-#endif
-
-    BOOST_DEBUG_BREAK();
-
-#elif defined(BOOST_UNIX_BASED_DEBUG) // ********************** UNIX
-
-    ::kill( ::getpid(), SIGTRAP );
-
-#else // ****************************************************** default
-
-#endif
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************            console debugger setup            ************** //
-// ************************************************************************** //
-
-#if defined(BOOST_UNIX_BASED_DEBUG) // ************************ UNIX
-
-std::string
-set_debugger( unit_test::const_string dbg_id, dbg_starter s )
-{
-    std::string old = s_info.p_dbg;
-
-    assign_op( s_info.p_dbg.value, dbg_id, 0 );
-
-    if( !!s )
-        s_info.m_dbg_starter_reg[s_info.p_dbg] = s;
-
-    return old;
-}
-
-#else  // ***************************************************** default
-
-std::string
-set_debugger( unit_test::const_string, dbg_starter )
-{
-    return std::string();
-}
-
-#endif
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************    attach debugger to the current process    ************** //
-// ************************************************************************** //
-
-bool
-attach_debugger( bool break_or_continue )
-{
-    if( under_debugger() )
-        return false;
-
-#if defined(BOOST_WIN32_BASED_DEBUG) // *********************** WIN32
-
-    const int MAX_CMD_LINE = 200;
-
-    // *************************************************** //
-    // Debugger "ready" event
-
-    SECURITY_ATTRIBUTES attr;
-    attr.nLength                = sizeof(attr);
-    attr.lpSecurityDescriptor   = NULL;
-    attr.bInheritHandle         = true;
-
-    // manual resettable, initially non signaled, unnamed event,
-    // that will signal me that debugger initialization is done
-    HANDLE dbg_init_done_ev = ::CreateEvent(
-        &attr,          // pointer to security attributes
-        true,           // flag for manual-reset event
-        false,          // flag for initial state
-        NULL            // pointer to event-object name
-    );
-
-    if( !dbg_init_done_ev )
-        return false;
-
-    // *************************************************** //
-    // Debugger command line format
-
-    HKEY reg_key;
-
-    if( !s_info.m_reg_open_key || (*s_info.m_reg_open_key)(
-            HKEY_LOCAL_MACHINE,                                         // handle of open key
-            "Software\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug", // name of subkey to open
-            &reg_key ) != ERROR_SUCCESS )                               // address of handle of open key
-        return false;
-
-    char  format[MAX_CMD_LINE];
-    DWORD format_size = MAX_CMD_LINE;
-    DWORD type = REG_SZ;
-
-    if( !s_info.m_reg_query_value || (*s_info.m_reg_query_value)(
-            reg_key,                            // handle of open key
-            "Debugger",                         // name of subkey to query
-            0,                                  // reserved
-            &type,                              // value type
-            (LPBYTE)format,                     // buffer for returned string
-            &format_size ) != ERROR_SUCCESS )   // in: buffer size; out: actual size of returned string
-        return false;
-
-    if( !s_info.m_reg_close_key || (*s_info.m_reg_close_key)( reg_key ) != ERROR_SUCCESS )
-        return false;
-
-    // *************************************************** //
-    // Debugger command line
-
-    char cmd_line[MAX_CMD_LINE];
-    std::sprintf( cmd_line, format, ::GetCurrentProcessId(), dbg_init_done_ev );
-
-    // *************************************************** //
-    // Debugger window parameters
-
-    STARTUPINFOA    startup_info;
-    std::memset( &startup_info, 0, sizeof(startup_info) );
-
-    startup_info.cb             = sizeof(startup_info);
-    startup_info.dwFlags        = STARTF_USESHOWWINDOW;
-    startup_info.wShowWindow    = SW_SHOWNORMAL;
-
-    // debugger process s_info
-    PROCESS_INFORMATION debugger_info;
-
-    bool created = !!::CreateProcessA(
-        NULL,           // pointer to name of executable module; NULL - use the one in command line
-        cmd_line,       // pointer to command line string
-        NULL,           // pointer to process security attributes; NULL - debugger's handle can't be inherited
-        NULL,           // pointer to thread security attributes; NULL - debugger's handle can't be inherited
-        true,           // debugger inherit opened handles
-        0,              // priority flags; 0 - normal priority
-        NULL,           // pointer to new environment block; NULL - use this process environment
-        NULL,           // pointer to current directory name; NULL - use this process correct directory
-        &startup_info,  // pointer to STARTUPINFO that specifies main window appearance
-        &debugger_info  // pointer to PROCESS_INFORMATION that will contain the new process identification
-    );
-
-    if( created )
-        ::WaitForSingleObject( dbg_init_done_ev, INFINITE );
-
-    ::CloseHandle( dbg_init_done_ev );
-
-    if( !created )
-        return false;
-
-    if( break_or_continue )
-        debugger_break();
-
-    return true;
-
-#elif defined(BOOST_UNIX_BASED_DEBUG) // ********************** UNIX
-
-    char init_done_lock_fn[] = "/tmp/btl_dbg_init_done_XXXXXX";
-    fd_holder init_done_lock_fd( ::mkstemp( init_done_lock_fn ) );
-
-    if( init_done_lock_fd == -1 )
-        return false;
-    
-    pid_t child_pid = fork();
-
-    if( child_pid == -1 )
-        return false;
-
-    if( child_pid != 0 ) { // parent process - here we will start the debugger
-        dbg_startup_info dsi;
-    
-        process_info pi( child_pid );
-        if( pi.binary_path().is_empty() )
-            ::exit( -1 );
-
-        dsi.pid                 = child_pid;
-        dsi.break_or_continue   = break_or_continue;
-        dsi.binary_path         = pi.binary_path();
-        dsi.display             = ::getenv( "DISPLAY" );
-        dsi.init_done_lock      = init_done_lock_fn;
-        
-        dbg_starter starter = s_info.m_dbg_starter_reg[s_info.p_dbg];
-        if( !!starter )
-            starter( dsi );
-
-        ::perror( "Boost.Test execution monitor failed to start a debugger:" );
-
-        ::exit( -1 );
-    }
-
-    // child process - here we will continue our test module execution ; // !! ?? should it be vice versa
-
-    while( ::access( init_done_lock_fn, F_OK ) == 0 ) {
-        struct timeval to = { 0, 100 };
-
-        ::select( 0, 0, 0, 0, &to );
-    }
-
-//    char dummy;
-//    while( ::read( init_done_lock_fd, &dummy, sizeof(char) ) == 0 );
-
-    if( break_or_continue )
-        debugger_break();
-
-    return true;
-
-#else // ****************************************************** default
-
-    return false;
-
-#endif
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************   switch on/off detect memory leaks feature  ************** //
-// ************************************************************************** //
-
-void
-detect_memory_leaks( bool on_off )
-{
-    unit_test::ut_detail::ignore_unused_variable_warning( on_off );
-
-#ifdef BOOST_MS_CRT_BASED_DEBUG
-    int flags = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );
-
-    if( !on_off )
-        flags &= ~_CRTDBG_LEAK_CHECK_DF;
-    else  {
-        flags |= _CRTDBG_LEAK_CHECK_DF;
-        _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
-        _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDOUT);
-    }
-
-    _CrtSetDbgFlag ( flags );
-#endif // BOOST_MS_CRT_BASED_DEBUG
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************      cause program to break execution in     ************** //
-// **************     debugger at specific allocation point    ************** //
-// ************************************************************************** //
-
-void
-break_memory_alloc( long mem_alloc_order_num )
-{
-    unit_test::ut_detail::ignore_unused_variable_warning( mem_alloc_order_num );
-
-#ifdef BOOST_MS_CRT_BASED_DEBUG
-    _CrtSetBreakAlloc( mem_alloc_order_num );
-#endif // BOOST_MS_CRT_BASED_DEBUG
-}
-
-} // namespace debug
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_DEBUG_API_IPP_112006GER
-
diff --git a/SRC/Boost/boost/test/impl/exception_safety.ipp b/SRC/Boost/boost/test/impl/exception_safety.ipp
deleted file mode 100755
index 24f80bb..0000000
--- a/SRC/Boost/boost/test/impl/exception_safety.ipp
+++ /dev/null
@@ -1,537 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : Facilities to perform exception safety tests
-// ***************************************************************************
-
-#ifndef BOOST_TEST_EXECUTION_SAFETY_IPP_112005GER
-#define BOOST_TEST_EXECUTION_SAFETY_IPP_112005GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-
-#if BOOST_TEST_SUPPORT_INTERACTION_TESTING
-
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/detail/unit_test_parameters.hpp>
-
-#include <boost/test/utils/callback.hpp>
-#include <boost/test/utils/wrap_stringstream.hpp>
-#include <boost/test/utils/iterator/token_iterator.hpp>
-
-#include <boost/test/interaction_based.hpp>
-#include <boost/test/test_tools.hpp>
-#include <boost/test/unit_test_log.hpp>
-#include <boost/test/framework.hpp>
-#include <boost/test/test_observer.hpp>
-#include <boost/test/debug.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-// Boost
-#include <boost/lexical_cast.hpp>
-
-// STL
-#include <vector>
-#include <cstdlib>
-#include <map>
-#include <iomanip>
-#include <cctype>
-#include <boost/limits.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-using namespace ::boost::unit_test;
- 
-namespace itest {
-
-// ************************************************************************** //
-// **************             execution_path_point             ************** //
-// ************************************************************************** //
-
-enum exec_path_point_type { EPP_SCOPE, EPP_EXCEPT, EPP_DECISION, EPP_ALLOC };
-
-struct execution_path_point {
-    execution_path_point( exec_path_point_type t, const_string file, std::size_t line_num )
-    : m_type( t )
-    , m_file_name( file )
-    , m_line_num( line_num )
-    {}
-
-    exec_path_point_type    m_type;
-    const_string             m_file_name;
-    std::size_t             m_line_num;
-
-    // Execution path point specific
-    struct decision_data {
-        bool            value;
-        unsigned        forced_exception_point;
-    };
-    struct scope_data {
-        unsigned        size;
-        char const*     name;
-    };
-    struct except_data {
-        char const*     description;
-    };
-    struct alloc_data {
-        void*           ptr;
-        std::size_t     size;
-    };
-
-    union {
-        struct decision_data    m_decision;
-        struct scope_data       m_scope;
-        struct except_data      m_except;
-        struct alloc_data       m_alloc;
-    };
-};
-
-// ************************************************************************** //
-// **************     exception safety test implementation     ************** //
-// ************************************************************************** //
-
-struct exception_safety_tester : itest::manager, test_observer {
-    // helpers types
-    struct unique_exception {};
-
-    // Constructor
-    explicit            exception_safety_tester( const_string test_name );
-    ~exception_safety_tester();
-
-    // check last run and prepare for next
-    bool                next_execution_path();
-
-    // memory tracking
-
-    // manager interface implementation
-    virtual void        exception_point( const_string file, std::size_t line_num, const_string description );
-    virtual bool        decision_point( const_string file, std::size_t line_num );
-    virtual unsigned    enter_scope( const_string file, std::size_t line_num, const_string scope_name );
-    virtual void        leave_scope( unsigned enter_scope_point );
-    virtual void        allocated( const_string file, std::size_t line_num, void* p, std::size_t s );
-    virtual void        freed( void* p );
-
-    // test observer interface
-    virtual void        assertion_result( bool passed );
-    virtual int         priority() { return (std::numeric_limits<int>::max)(); } // we want this observer to run the last
-
-private:
-    void                failure_point();
-    void                report_error();
-
-    typedef std::vector<execution_path_point>   exec_path;
-    typedef std::map<void*,unsigned>            registry;
-
-    // Data members
-    bool        m_internal_activity;
-    
-    unsigned    m_exception_point_counter;
-    unsigned    m_forced_exception_point;
-
-    unsigned    m_exec_path_point;
-    exec_path   m_execution_path;
-
-    unsigned    m_exec_path_counter;
-    unsigned    m_break_exec_path;
-    
-    bool        m_invairant_failed;
-    registry    m_memory_in_use;
-};
-
-//____________________________________________________________________________//
-
-struct activity_guard {
-    bool& m_v;
-
-    activity_guard( bool& v ) : m_v( v )    { m_v = true; }
-    ~activity_guard()                       { m_v = false; }
-};
-
-//____________________________________________________________________________//
-
-exception_safety_tester::exception_safety_tester( const_string test_name )
-: m_internal_activity( true )
-, m_exception_point_counter( 0 )
-, m_forced_exception_point( 1 )
-, m_exec_path_point( 0 )
-, m_exec_path_counter( 1 )
-, m_break_exec_path( static_cast<unsigned>(-1) )
-, m_invairant_failed( false )
-{
-    framework::register_observer( *this );
-
-    if( !runtime_config::break_exec_path().is_empty() ) {
-        using namespace unit_test;
-        
-        string_token_iterator tit( runtime_config::break_exec_path(), 
-                                   (dropped_delimeters = ":",kept_delimeters = " ") );
-        
-        const_string test_to_break = *tit;
-        
-        if( test_to_break == test_name ) {
-            ++tit;
-            
-            m_break_exec_path = lexical_cast<unsigned>( *tit );
-        }
-    }
-    
-    m_internal_activity = false;
-}
-
-//____________________________________________________________________________//
-
-exception_safety_tester::~exception_safety_tester()
-{
-    m_internal_activity = true;
-    
-    framework::deregister_observer( *this );
-}
-
-//____________________________________________________________________________//
-
-bool
-exception_safety_tester::next_execution_path()
-{
-    activity_guard ag( m_internal_activity );
-
-    // check memory usage
-    if( m_execution_path.size() > 0 ) {
-        bool errors_detected = m_invairant_failed || (m_memory_in_use.size() != 0);
-        framework::assertion_result( !errors_detected );
-
-        if( errors_detected )
-            report_error();
-
-        m_memory_in_use.clear();
-    }
-
-    m_exec_path_point           = 0;
-    m_exception_point_counter   = 0;
-    m_invairant_failed          = false;
-    ++m_exec_path_counter;
-
-    while( m_execution_path.size() > 0 ) {
-        switch( m_execution_path.back().m_type ) {
-        case EPP_SCOPE:
-        case EPP_ALLOC:
-            m_execution_path.pop_back();
-            break;
-
-        case EPP_DECISION:
-            if( !m_execution_path.back().m_decision.value ) {
-                m_execution_path.pop_back();
-                break;
-            }
-
-            m_execution_path.back().m_decision.value = false;
-            m_forced_exception_point = m_execution_path.back().m_decision.forced_exception_point;
-            return true;
-
-        case EPP_EXCEPT:
-            m_execution_path.pop_back();
-            ++m_forced_exception_point;
-            return true;
-        }
-    }
-
-    BOOST_TEST_MESSAGE( "Total tested " << --m_exec_path_counter << " execution path" );
-
-    return false;
-}
-
-//____________________________________________________________________________//
-
-void
-exception_safety_tester::exception_point( const_string file, std::size_t line_num, const_string description )
-{
-    activity_guard ag( m_internal_activity );
-
-    if( ++m_exception_point_counter == m_forced_exception_point ) {
-        m_execution_path.push_back(
-            execution_path_point( EPP_EXCEPT, file, line_num ) );
-
-        m_execution_path.back().m_except.description = description.begin();
-
-        ++m_exec_path_point;
-
-        failure_point();
-    }
-}
-
-//____________________________________________________________________________//
-
-bool
-exception_safety_tester::decision_point( const_string file, std::size_t line_num )
-{
-    activity_guard ag( m_internal_activity );
-
-    if( m_exec_path_point < m_execution_path.size() ) {
-        BOOST_REQUIRE_MESSAGE( m_execution_path[m_exec_path_point].m_type == EPP_DECISION &&
-                               m_execution_path[m_exec_path_point].m_file_name == file &&
-                               m_execution_path[m_exec_path_point].m_line_num == line_num,
-                               "Function under test exibit non-deterministic behavior" );
-    }
-    else {
-        m_execution_path.push_back(
-            execution_path_point( EPP_DECISION, file, line_num ) );
-
-        m_execution_path.back().m_decision.value = true;
-        m_execution_path.back().m_decision.forced_exception_point = m_forced_exception_point;
-    }
-
-    return m_execution_path[m_exec_path_point++].m_decision.value;
-}
-
-//____________________________________________________________________________//
-
-unsigned
-exception_safety_tester::enter_scope( const_string file, std::size_t line_num, const_string scope_name )
-{
-    activity_guard ag( m_internal_activity );
-
-    if( m_exec_path_point < m_execution_path.size() ) {
-        BOOST_REQUIRE_MESSAGE( m_execution_path[m_exec_path_point].m_type == EPP_SCOPE &&
-                               m_execution_path[m_exec_path_point].m_file_name == file &&
-                               m_execution_path[m_exec_path_point].m_line_num == line_num,
-                               "Function under test exibit non-deterministic behavior" );
-    }
-    else {
-        m_execution_path.push_back(
-            execution_path_point( EPP_SCOPE, file, line_num ) );
-    }
-
-    m_execution_path[m_exec_path_point].m_scope.size = 0;
-    m_execution_path[m_exec_path_point].m_scope.name = scope_name.begin();
-
-    return m_exec_path_point++;
-}
-
-//____________________________________________________________________________//
-
-void
-exception_safety_tester::leave_scope( unsigned enter_scope_point )
-{
-    activity_guard ag( m_internal_activity );
-
-    BOOST_REQUIRE_MESSAGE( m_execution_path[enter_scope_point].m_type == EPP_SCOPE,
-                           "Function under test exibit non-deterministic behavior" );
-
-    m_execution_path[enter_scope_point].m_scope.size = m_exec_path_point - enter_scope_point;
-}
-
-//____________________________________________________________________________//
-
-void
-exception_safety_tester::allocated( const_string file, std::size_t line_num, void* p, std::size_t s )
-{
-    if( m_internal_activity )
-        return;
-
-    activity_guard ag( m_internal_activity );
-
-    if( m_exec_path_point < m_execution_path.size() )
-        BOOST_REQUIRE_MESSAGE( m_execution_path[m_exec_path_point].m_type == EPP_ALLOC,
-                               "Function under test exibit non-deterministic behavior" );
-    else
-        m_execution_path.push_back(
-            execution_path_point( EPP_ALLOC, file, line_num ) );
-
-    m_execution_path[m_exec_path_point].m_alloc.ptr  = p;
-    m_execution_path[m_exec_path_point].m_alloc.size = s;
-
-    m_memory_in_use.insert( std::make_pair( p, m_exec_path_point++ ) );
-}
-
-//____________________________________________________________________________//
-
-void
-exception_safety_tester::freed( void* p )
-{
-    if( m_internal_activity )
-        return;
-
-    activity_guard ag( m_internal_activity );
-
-    registry::iterator it = m_memory_in_use.find( p );
-    if( it != m_memory_in_use.end() ) {
-        m_execution_path[it->second].m_alloc.ptr = 0;
-        m_memory_in_use.erase( it );
-    }
-}
-
-//____________________________________________________________________________//
-
-void
-exception_safety_tester::assertion_result( bool passed )
-{
-    if( !m_internal_activity && !passed ) {
-        m_invairant_failed = true;
-
-        failure_point();
-    }
-}
-
-//____________________________________________________________________________//
-
-void
-exception_safety_tester::failure_point()
-{
-    if( m_exec_path_counter == m_break_exec_path )
-        debug::debugger_break();
-    
-    throw unique_exception();
-}
-
-//____________________________________________________________________________//
-    
-namespace {
-
-inline void
-format_location( wrap_stringstream& formatter, execution_path_point const& /*p*/, unsigned indent )
-{
-    if( indent )
-        formatter << std::left << std::setw( indent ) << "";
-
-// !! ?? optional   if( p.m_file_name )
-//        formatter << p.m_file_name << '(' << p.m_line_num << "): ";
-}
-
-//____________________________________________________________________________//
-
-template<typename ExecPathIt>
-inline void
-format_execution_path( wrap_stringstream& formatter, ExecPathIt it, ExecPathIt end, unsigned indent = 0 )
-{
-    while( it != end ) {
-        switch( it->m_type ) {
-        case EPP_SCOPE:
-            format_location( formatter, *it, indent );
-            formatter << "> \"" << it->m_scope.name << "\"\n";
-            format_execution_path( formatter, it+1, it + it->m_scope.size, indent + 2 );
-            format_location( formatter, *it, indent );
-            formatter << "< \"" << it->m_scope.name << "\"\n";
-            it += it->m_scope.size;
-            break;
-
-        case EPP_DECISION:
-            format_location( formatter, *it, indent );
-            formatter << "Decision made as " << std::boolalpha << it->m_decision.value << '\n';
-            ++it;
-            break;
-
-        case EPP_EXCEPT:
-            format_location( formatter, *it, indent );
-            formatter << "Forced failure";
-            if( it->m_except.description )
-                formatter << ": " << it->m_except.description;
-            formatter << "\n";
-            ++it;
-            break;
-
-        case EPP_ALLOC:
-            if( it->m_alloc.ptr ) {
-                format_location( formatter, *it, indent );
-                formatter << "Allocated memory block 0x" << std::uppercase << it->m_alloc.ptr 
-                          << ", " << it->m_alloc.size << " bytes long: <";
-
-                unsigned i;
-                for( i = 0; i < std::min<std::size_t>( it->m_alloc.size, 8 ); i++ ) {
-                    unsigned char c = static_cast<unsigned char*>(it->m_alloc.ptr)[i];
-                    if( (std::isprint)( c ) )
-                        formatter << c;
-                    else
-                        formatter << '.';
-                }
-
-                formatter << "> ";
-
-                for( i = 0; i < std::min<std::size_t>( it->m_alloc.size, 8 ); i++ ) {
-                    unsigned c = static_cast<unsigned char*>(it->m_alloc.ptr)[i];
-                    formatter << std::hex << std::uppercase << c << ' ';
-                }
-
-                formatter << "\n";
-            }
-            ++it;
-            break;
-        }
-    }
-}
-
-//____________________________________________________________________________//
-
-} // local namespace
-
-void
-exception_safety_tester::report_error()
-{
-    activity_guard ag( m_internal_activity );
-
-    unit_test_log << unit_test::log::begin( m_execution_path.back().m_file_name,
-                                            m_execution_path.back().m_line_num )
-                  << log_all_errors;
-
-    wrap_stringstream formatter;
-
-    if( m_invairant_failed )
-        formatter << "Failed invariant";
-
-    if( m_memory_in_use.size() != 0 ) {
-        if( m_invairant_failed )
-            formatter << " and ";
-
-        formatter << static_cast<unsigned int>(m_memory_in_use.size()) << " memory leak";
-        if( m_memory_in_use.size() > 1 )
-            formatter << 's';
-    }
-    formatter << " detected in the execution path " << m_exec_path_counter << ":\n";
-
-    format_execution_path( formatter, m_execution_path.begin(), m_execution_path.end() );
-
-    unit_test_log << const_string( formatter.str() ) << unit_test::log::end();
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************             exception safety test            ************** //
-// ************************************************************************** //
-
-void BOOST_TEST_DECL
-exception_safety( callback0<> const& F, const_string test_name )
-{
-    exception_safety_tester est( test_name );
-
-    do {
-        try {
-            F();
-        }
-        catch( exception_safety_tester::unique_exception const& ) {}
-
-    } while( est.next_execution_path() );
-}
-
-//____________________________________________________________________________//
-
-}  // namespace itest
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // non-ancient compiler
-
-#endif // BOOST_TEST_EXECUTION_SAFETY_IPP_112005GER
diff --git a/SRC/Boost/boost/test/impl/execution_monitor.ipp b/SRC/Boost/boost/test/impl/execution_monitor.ipp
deleted file mode 100755
index f4d05c1..0000000
--- a/SRC/Boost/boost/test/impl/execution_monitor.ipp
+++ /dev/null
@@ -1,1367 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  (C) Copyright Beman Dawes and Ullrich Koethe 1995-2001.
-//  Use, modification, and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : provides execution monitor implementation for all supported
-//  configurations, including Microsoft structured exception based, unix signals
-//  based and special workarounds for borland
-//
-//  Note that when testing requirements or user wishes preclude use of this
-//  file as a separate compilation unit, it may be included as a header file.
-//
-//  Header dependencies are deliberately restricted to reduce coupling to other
-//  boost libraries.
-// ***************************************************************************
-
-#ifndef BOOST_TEST_EXECUTION_MONITOR_IPP_012205GER
-#define BOOST_TEST_EXECUTION_MONITOR_IPP_012205GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-#include <boost/test/detail/workaround.hpp>
-#include <boost/test/execution_monitor.hpp>
-#include <boost/test/debug.hpp>
-
-// Boost
-#include <boost/cstdlib.hpp>    // for exit codes
-#include <boost/config.hpp>     // for workarounds
-#include <boost/exception/get_error_info.hpp> // for get_error_info
-#include <boost/exception/current_exception_cast.hpp> // for current_exception_cast
-
-// STL
-#include <string>               // for std::string
-#include <new>                  // for std::bad_alloc
-#include <typeinfo>             // for std::bad_cast, std::bad_typeid
-#include <exception>            // for std::exception, std::bad_exception
-#include <stdexcept>            // for std exception hierarchy
-#include <cstring>              // for C string API
-#include <cassert>              // for assert
-#include <cstddef>              // for NULL
-#include <cstdio>               // for vsnprintf
-#include <cstdarg>              // for varargs
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std { using ::strerror; using ::strlen; using ::strncat; }
-#endif
-
-// to use vsnprintf
-#if defined(__SUNPRO_CC) || defined(__SunOS)
-#  include <stdio.h>
-#  include <stdarg.h>
-using std::va_list;
-#endif
-
-// to use vsnprintf 
-#if defined(__QNXNTO__) 
-#  include <stdio.h> 
-#endif
-
-#if defined(_WIN32) && !defined(BOOST_DISABLE_WIN32) &&                  \
-    (!defined(__COMO__) && !defined(__MWERKS__) && !defined(__GNUC__) || \
-     BOOST_WORKAROUND(__MWERKS__, >= 0x3000))
-
-#  define BOOST_SEH_BASED_SIGNAL_HANDLING
-
-#  include <windows.h>
-
-#  if defined(__MWERKS__) || (defined(_MSC_VER) && !defined(UNDER_CE))
-#    include <eh.h>
-#  endif
-
-#  if defined(__BORLANDC__) && __BORLANDC__ >= 0x560 || defined(__MWERKS__)
-#    include <stdint.h>
-#  endif
-
-#  if defined(__BORLANDC__) && __BORLANDC__ < 0x560
-    typedef unsigned uintptr_t;
-#  endif
-
-#  if BOOST_WORKAROUND(_MSC_VER,  < 1300 ) || defined(UNDER_CE)
-typedef void* uintptr_t;
-#  endif
-
-// for the FP control routines
-#include <float.h>
-
-#ifndef EM_INVALID
-#define EM_INVALID _EM_INVALID
-#endif
-
-#ifndef EM_DENORMAL
-#define EM_DENORMAL _EM_DENORMAL
-#endif
-
-#ifndef EM_ZERODIVIDE
-#define EM_ZERODIVIDE _EM_ZERODIVIDE
-#endif
-
-#ifndef EM_OVERFLOW
-#define EM_OVERFLOW _EM_OVERFLOW
-#endif
-
-#ifndef EM_UNDERFLOW
-#define EM_UNDERFLOW _EM_UNDERFLOW
-#endif
-
-#ifndef MCW_EM
-#define MCW_EM _MCW_EM
-#endif
-
-#  if !defined(NDEBUG) && defined(_MSC_VER) && !defined(UNDER_CE)
-#    include <crtdbg.h>
-#    define BOOST_TEST_CRT_HOOK_TYPE    _CRT_REPORT_HOOK
-#    define BOOST_TEST_CRT_ASSERT       _CRT_ASSERT
-#    define BOOST_TEST_CRT_ERROR        _CRT_ERROR
-#    define BOOST_TEST_CRT_SET_HOOK(H)  _CrtSetReportHook(H)
-#  else
-#    define BOOST_TEST_CRT_HOOK_TYPE    void*
-#    define BOOST_TEST_CRT_ASSERT       2
-#    define BOOST_TEST_CRT_ERROR        1
-#    define BOOST_TEST_CRT_SET_HOOK(H)  (void*)(H)
-#  endif
-
-#  if !BOOST_WORKAROUND(_MSC_VER,  >= 1400 ) || defined(UNDER_CE)
-
-typedef void* _invalid_parameter_handler;
-
-inline _invalid_parameter_handler
-_set_invalid_parameter_handler( _invalid_parameter_handler arg )
-{
-    return arg;
-}
-
-#  endif
-
-#  if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0564)) || defined(UNDER_CE)
-
-namespace { void _set_se_translator( void* ) {} }
-
-#  endif
-
-#elif defined(BOOST_HAS_SIGACTION)
-
-#  define BOOST_SIGACTION_BASED_SIGNAL_HANDLING
-
-#  include <unistd.h>
-#  include <signal.h>
-#  include <setjmp.h>
-
-#  if defined(__FreeBSD__)  
-
-#    ifndef SIGPOLL
-#      define SIGPOLL SIGIO
-#    endif
-
-#    if (__FreeBSD_version < 70100)
-
-#      define ILL_ILLADR 0 // ILL_RESAD_FAULT
-#      define ILL_PRVOPC ILL_PRIVIN_FAULT
-#      define ILL_ILLOPN 2 // ILL_RESOP_FAULT
-#      define ILL_COPROC ILL_FPOP_FAULT
-
-#      define BOOST_TEST_LIMITED_SIGNAL_DETAILS
-#      define BOOST_TEST_IGNORE_SIGCHLD
-
-#    endif 
-#  endif 
-
-#  if !defined(__CYGWIN__) && !defined(__QNXNTO__)
-#   define BOOST_TEST_USE_ALT_STACK
-#  endif
-
-#  if defined(SIGPOLL) && !defined(__CYGWIN__)                              && \
-      !(defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))  && \
-      !defined(__NetBSD__)                                                  && \
-      !defined(__QNXNTO__)
-#    define BOOST_TEST_CATCH_SIGPOLL
-#  endif
-
-#  ifdef BOOST_TEST_USE_ALT_STACK
-#    define BOOST_TEST_ALT_STACK_SIZE SIGSTKSZ
-#  endif
-
-#else
-
-#  define BOOST_NO_SIGNAL_HANDLING
-
-#endif
-
-#ifndef UNDER_CE
-#include <errno.h>
-#endif
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-// ************************************************************************** //
-// **************                  report_error                ************** //
-// ************************************************************************** //
-
-namespace detail {
-
-#ifdef __BORLANDC__
-#  define BOOST_TEST_VSNPRINTF( a1, a2, a3, a4 ) std::vsnprintf( (a1), (a2), (a3), (a4) )
-#elif BOOST_WORKAROUND(_MSC_VER, <= 1310) || \
-      BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3000)) || \
-      defined(UNDER_CE)
-#  define BOOST_TEST_VSNPRINTF( a1, a2, a3, a4 ) _vsnprintf( (a1), (a2), (a3), (a4) )
-#else
-#  define BOOST_TEST_VSNPRINTF( a1, a2, a3, a4 ) vsnprintf( (a1), (a2), (a3), (a4) )
-#endif
-
-template <typename ErrorInfo>
-typename ErrorInfo::value_type
-extract( boost::exception const* ex )
-{
-    if( !ex )
-        return 0;
-
-    typename ErrorInfo::value_type const * val = boost::get_error_info<ErrorInfo>( *ex );
-
-    return val ? *val : 0;
-}
-
-//____________________________________________________________________________//
-
-static void
-report_error( execution_exception::error_code ec, boost::exception const* be, char const* format, va_list* args )
-{
-    static const int REPORT_ERROR_BUFFER_SIZE = 512;
-    static char buf[REPORT_ERROR_BUFFER_SIZE];
-
-    BOOST_TEST_VSNPRINTF( buf, sizeof(buf)-1, format, *args ); 
-    buf[sizeof(buf)-1] = 0;
-
-    va_end( *args );
-
-    throw execution_exception( ec, buf, execution_exception::location( extract<throw_file>( be ), 
-                                                                       extract<throw_line>( be ),
-                                                                       extract<throw_function>( be ) ) );
-}
-
-//____________________________________________________________________________//
-
-static void
-report_error( execution_exception::error_code ec, char const* format, ... )
-{
-    va_list args;
-    va_start( args, format );
-
-    report_error( ec, 0, format, &args );
-}
-
-//____________________________________________________________________________//
-
-static void
-report_error( execution_exception::error_code ec, boost::exception const* be, char const* format, ... )
-{
-    va_list args;
-    va_start( args, format );
-
-    report_error( ec, be, format, &args );
-}
-
-//____________________________________________________________________________//
-
-template<typename Tr,typename Functor>
-inline int
-do_invoke( Tr const& tr, Functor const& F )
-{
-    return tr ? (*tr)( F ) : F();
-}
-
-//____________________________________________________________________________//
-
-} // namespace detail
-
-#if defined(BOOST_SIGACTION_BASED_SIGNAL_HANDLING)
-
-// ************************************************************************** //
-// **************       Sigaction based signal handling        ************** //
-// ************************************************************************** //
-
-namespace detail {
-
-// ************************************************************************** //
-// **************    boost::detail::system_signal_exception    ************** //
-// ************************************************************************** //
-
-class system_signal_exception {
-public:
-    // Constructor
-    system_signal_exception()
-    : m_sig_info( 0 )
-    , m_context( 0 )
-    {}
-
-    // Access methods
-    void        operator()( siginfo_t* i, void* c )
-    {
-        m_sig_info  = i;
-        m_context   = c;
-    }
-    void        report() const;
-
-private:
-    // Data members
-    siginfo_t*  m_sig_info; // system signal detailed info
-    void*       m_context;  // signal context
-};
-
-//____________________________________________________________________________//
-
-void
-system_signal_exception::report() const
-{
-    if( !m_sig_info )
-        return; // no error actually occur?
-
-    switch( m_sig_info->si_code ) {
-    case SI_USER:
-        report_error( execution_exception::system_error,
-                      "signal: generated by kill() (or family); uid=%d; pid=%d",
-                      (int)m_sig_info->si_uid, (int)m_sig_info->si_pid );
-        break;
-    case SI_QUEUE:
-        report_error( execution_exception::system_error,
-                      "signal: sent by sigqueue()" );
-        break;
-    case SI_TIMER:
-        report_error( execution_exception::system_error,
-                      "signal: the expiration of a timer set by timer_settimer()" );
-        break;
-    case SI_ASYNCIO:
-        report_error( execution_exception::system_error,
-                      "signal: generated by the completion of an asynchronous I/O request" );
-        break;
-    case SI_MESGQ:
-        report_error( execution_exception::system_error,
-                      "signal: generated by the the arrival of a message on an empty message queue" );
-        break;
-    default:
-        break;
-    }
-
-    switch( m_sig_info->si_signo ) {
-    case SIGILL:
-        switch( m_sig_info->si_code ) {
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
-        case ILL_ILLOPC:
-            report_error( execution_exception::system_fatal_error,
-                          "signal: illegal opcode; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case ILL_ILLTRP:
-            report_error( execution_exception::system_fatal_error,
-                          "signal: illegal trap; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case ILL_PRVREG:
-            report_error( execution_exception::system_fatal_error,
-                          "signal: privileged register; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case ILL_BADSTK:
-            report_error( execution_exception::system_fatal_error,
-                          "signal: internal stack error; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-#endif
-        case ILL_ILLOPN:
-            report_error( execution_exception::system_fatal_error,
-                          "signal: illegal operand; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case ILL_ILLADR:
-            report_error( execution_exception::system_fatal_error,
-                          "signal: illegal addressing mode; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case ILL_PRVOPC:
-            report_error( execution_exception::system_fatal_error,
-                          "signal: privileged opcode; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case ILL_COPROC:
-            report_error( execution_exception::system_fatal_error,
-                          "signal: co-processor error; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        default: 
-            report_error( execution_exception::system_fatal_error, 
-                          "signal: SIGILL, si_code: %d (illegal instruction; address of failing instruction: 0x%08lx)", 
-                          m_sig_info->si_addr, m_sig_info->si_code ); 
-            break;
-        }
-        break;
-
-    case SIGFPE:
-        switch( m_sig_info->si_code ) {
-        case FPE_INTDIV:
-            report_error( execution_exception::system_error,
-                          "signal: integer divide by zero; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case FPE_INTOVF:
-            report_error( execution_exception::system_error,
-                          "signal: integer overflow; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case FPE_FLTDIV:
-            report_error( execution_exception::system_error,
-                          "signal: floating point divide by zero; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case FPE_FLTOVF:
-            report_error( execution_exception::system_error,
-                          "signal: floating point overflow; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case FPE_FLTUND:
-            report_error( execution_exception::system_error,
-                          "signal: floating point underflow; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case FPE_FLTRES:
-            report_error( execution_exception::system_error,
-                          "signal: floating point inexact result; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case FPE_FLTINV:
-            report_error( execution_exception::system_error,
-                          "signal: invalid floating point operation; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        case FPE_FLTSUB:
-            report_error( execution_exception::system_error,
-                          "signal: subscript out of range; address of failing instruction: 0x%08lx",
-                          m_sig_info->si_addr );
-            break;
-        default:
-            report_error( execution_exception::system_error,
-                          "signal: SIGFPE, si_code: %d (errnoneous arithmetic operations; address of failing instruction: 0x%08lx)",
-                          m_sig_info->si_addr, m_sig_info->si_code );
-            break;
-        }
-        break;
-
-    case SIGSEGV:
-        switch( m_sig_info->si_code ) {
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
-        case SEGV_MAPERR:
-            report_error( execution_exception::system_fatal_error,
-                          "memory access violation at address: 0x%08lx: no mapping at fault address",
-                          m_sig_info->si_addr );
-            break;
-        case SEGV_ACCERR:
-            report_error( execution_exception::system_fatal_error,
-                          "memory access violation at address: 0x%08lx: invalid permissions",
-                          m_sig_info->si_addr );
-            break;
-#endif
-        default:
-            report_error( execution_exception::system_fatal_error,
-                          "signal: SIGSEGV, si_code: %d (memory access violation at address: 0x%08lx)",
-                          m_sig_info->si_addr, m_sig_info->si_code );
-            break;
-        }
-        break;
-
-    case SIGBUS:
-        switch( m_sig_info->si_code ) {
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
-        case BUS_ADRALN:
-            report_error( execution_exception::system_fatal_error,
-                          "memory access violation at address: 0x%08lx: invalid address alignment",
-                          m_sig_info->si_addr );
-            break;
-        case BUS_ADRERR:
-            report_error( execution_exception::system_fatal_error,
-                          "memory access violation at address: 0x%08lx: non-existent physical address",
-                          m_sig_info->si_addr );
-            break;
-        case BUS_OBJERR:
-            report_error( execution_exception::system_fatal_error,
-                          "memory access violation at address: 0x%08lx: object specific hardware error",
-                          m_sig_info->si_addr );
-            break;
-#endif
-        default:
-            report_error( execution_exception::system_fatal_error,
-                          "signal: SIGSEGV, si_code: %d (memory access violation at address: 0x%08lx)",
-                          m_sig_info->si_addr, m_sig_info->si_code );
-            break;
-        }
-        break;
-
-    case SIGCHLD:
-        switch( m_sig_info->si_code ) {
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
-        case CLD_EXITED:
-            report_error( execution_exception::system_error,
-                          "child has exited; pid: %d; uid: %d; exit value: %d",
-                          (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
-            break;
-        case CLD_KILLED:
-            report_error( execution_exception::system_error,
-                          "child was killed; pid: %d; uid: %d; exit value: %d",
-                          (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
-            break;
-        case CLD_DUMPED:
-            report_error( execution_exception::system_error,
-                          "child terminated abnormally; pid: %d; uid: %d; exit value: %d",
-                          (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
-            break;
-        case CLD_TRAPPED:
-            report_error( execution_exception::system_error,
-                          "traced child has trapped; pid: %d; uid: %d; exit value: %d",
-                          (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
-            break;
-        case CLD_STOPPED:
-            report_error( execution_exception::system_error,
-                          "child has stopped; pid: %d; uid: %d; exit value: %d",
-                          (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
-            break;
-        case CLD_CONTINUED:
-            report_error( execution_exception::system_error,
-                          "stopped child had continued; pid: %d; uid: %d; exit value: %d",
-                          (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status );
-            break;
-#endif
-        default:
-            report_error( execution_exception::system_error,
-                          "signal: SIGCHLD, si_code: %d (child process has terminated; pid: %d; uid: %d; exit value: %d)",
-                          (int)m_sig_info->si_pid, (int)m_sig_info->si_uid, (int)m_sig_info->si_status, m_sig_info->si_code );
-            break;
-        }
-        break;
-
-#if defined(BOOST_TEST_CATCH_SIGPOLL)
-
-    case SIGPOLL:
-        switch( m_sig_info->si_code ) {
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
-        case POLL_IN:
-            report_error( execution_exception::system_error,
-                          "data input available; band event %d",
-                          (int)m_sig_info->si_band );
-            break;
-        case POLL_OUT:
-            report_error( execution_exception::system_error,
-                          "output buffers available; band event %d",
-                          (int)m_sig_info->si_band );
-            break;
-        case POLL_MSG:
-            report_error( execution_exception::system_error,
-                          "input message available; band event %d",
-                          (int)m_sig_info->si_band );
-            break;
-        case POLL_ERR:
-            report_error( execution_exception::system_error,
-                          "i/o error; band event %d",
-                          (int)m_sig_info->si_band );
-            break;
-        case POLL_PRI:
-            report_error( execution_exception::system_error,
-                          "high priority input available; band event %d",
-                          (int)m_sig_info->si_band );
-            break;
-#if defined(POLL_ERR) && defined(POLL_HUP) && (POLL_ERR - POLL_HUP)
-        case POLL_HUP:
-            report_error( execution_exception::system_error,
-                          "device disconnected; band event %d",
-                          (int)m_sig_info->si_band );
-            break;
-#endif
-#endif
-        default: 
-            report_error( execution_exception::system_error, 
-                          "signal: SIGPOLL, si_code: %d (asynchronous I/O event occured; band event %d)", 
-                          (int)m_sig_info->si_band, m_sig_info->si_code ); 
-            break; 
-        }
-        break;
-
-#endif
-
-    case SIGABRT:
-        report_error( execution_exception::system_error,
-                      "signal: SIGABRT (application abort requested)" );
-        break;
-
-    case SIGALRM:
-        report_error( execution_exception::timeout_error,
-                      "signal: SIGALRM (timeout while executing function)" );
-        break;
-
-    default:
-        report_error( execution_exception::system_error, "unrecognized signal" );
-    }
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************         boost::detail::signal_action         ************** //
-// ************************************************************************** //
-
-// Forward declaration
-extern "C" {
-static void execution_monitor_jumping_signal_handler( int sig, siginfo_t* info, void* context );
-static void execution_monitor_attaching_signal_handler( int sig, siginfo_t* info, void* context );
-}
-
-class signal_action {
-    typedef struct sigaction* sigaction_ptr;
-public:
-    //Constructor
-    signal_action();
-    signal_action( int sig, bool install, bool attach_dbg, char* alt_stack );
-    ~signal_action();
-
-private:
-    // Data members
-    int                 m_sig;
-    bool                m_installed;
-    struct sigaction    m_new_action;
-    struct sigaction    m_old_action;
-};
-
-//____________________________________________________________________________//
-
-signal_action::signal_action()
-: m_installed( false )
-{}
-
-//____________________________________________________________________________//
-
-signal_action::signal_action( int sig, bool install, bool attach_dbg, char* alt_stack )
-: m_sig( sig )
-, m_installed( install )
-{
-    if( !install )
-        return;
-
-    std::memset( &m_new_action, 0, sizeof(struct sigaction) );
-
-    BOOST_TEST_SYS_ASSERT( ::sigaction( m_sig , sigaction_ptr(), &m_new_action ) != -1 );
-
-    if( m_new_action.sa_sigaction || m_new_action.sa_handler ) {
-        m_installed = false;
-        return;
-    }
-
-    m_new_action.sa_flags     |= SA_SIGINFO;
-    m_new_action.sa_sigaction  = attach_dbg ? &execution_monitor_attaching_signal_handler
-                                            : &execution_monitor_jumping_signal_handler;
-    BOOST_TEST_SYS_ASSERT( sigemptyset( &m_new_action.sa_mask ) != -1 );
-
-#ifdef BOOST_TEST_USE_ALT_STACK
-    if( alt_stack )
-        m_new_action.sa_flags |= SA_ONSTACK;
-#endif
-
-    BOOST_TEST_SYS_ASSERT( ::sigaction( m_sig, &m_new_action, &m_old_action ) != -1 );
-}
-
-//____________________________________________________________________________//
-
-signal_action::~signal_action()
-{
-    if( m_installed )
-        ::sigaction( m_sig, &m_old_action , sigaction_ptr() );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************        boost::detail::signal_handler         ************** //
-// ************************************************************************** //
-
-class signal_handler {
-public:
-    // Constructor
-    explicit signal_handler( bool catch_system_errors, int timeout, bool attach_dbg, char* alt_stack );
-
-    // Destructor
-    ~signal_handler();
-
-    // access methods
-    static sigjmp_buf&      jump_buffer()
-    {
-        assert( !!s_active_handler );
-
-        return s_active_handler->m_sigjmp_buf;
-    }
-
-    static system_signal_exception&  sys_sig()
-    {
-        assert( !!s_active_handler );
-
-        return s_active_handler->m_sys_sig;
-    }
-
-private:
-    // Data members
-    signal_handler*         m_prev_handler;
-    int                     m_timeout;
-
-    signal_action           m_ILL_action;
-    signal_action           m_FPE_action;
-    signal_action           m_SEGV_action;
-    signal_action           m_BUS_action;
-    signal_action           m_CHLD_action;
-    signal_action           m_POLL_action;
-    signal_action           m_ABRT_action;
-    signal_action           m_ALRM_action;
-
-    sigjmp_buf              m_sigjmp_buf;
-    system_signal_exception m_sys_sig;
-
-    static signal_handler*  s_active_handler;
-};
-
-// !! need to be placed in thread specific storage
-typedef signal_handler* signal_handler_ptr;
-signal_handler* signal_handler::s_active_handler = signal_handler_ptr();
-
-//____________________________________________________________________________//
-
-signal_handler::signal_handler( bool catch_system_errors, int timeout, bool attach_dbg, char* alt_stack )
-: m_prev_handler( s_active_handler )
-, m_timeout( timeout )
-, m_ILL_action ( SIGILL , catch_system_errors, attach_dbg, alt_stack )
-, m_FPE_action ( SIGFPE , catch_system_errors, attach_dbg, alt_stack )
-, m_SEGV_action( SIGSEGV, catch_system_errors, attach_dbg, alt_stack )
-, m_BUS_action ( SIGBUS , catch_system_errors, attach_dbg, alt_stack )
-#ifndef BOOST_TEST_IGNORE_SIGCHLD
-, m_CHLD_action( SIGCHLD, catch_system_errors, attach_dbg, alt_stack )
-#endif
-#ifdef BOOST_TEST_CATCH_SIGPOLL
-, m_POLL_action( SIGPOLL, catch_system_errors, attach_dbg, alt_stack )
-#endif
-, m_ABRT_action( SIGABRT, catch_system_errors, attach_dbg, alt_stack )
-, m_ALRM_action( SIGALRM, timeout > 0        , attach_dbg, alt_stack )
-{
-    s_active_handler = this;
-
-    if( m_timeout > 0 ) {
-        ::alarm( 0 );
-        ::alarm( timeout );
-    }
-
-#ifdef BOOST_TEST_USE_ALT_STACK
-    if( alt_stack ) {
-        stack_t sigstk;
-        std::memset( &sigstk, 0, sizeof(stack_t) );
-
-        BOOST_TEST_SYS_ASSERT( ::sigaltstack( 0, &sigstk ) != -1 );
-
-        if( sigstk.ss_flags & SS_DISABLE ) {
-            sigstk.ss_sp    = alt_stack;
-            sigstk.ss_size  = BOOST_TEST_ALT_STACK_SIZE;
-            sigstk.ss_flags = 0;
-            BOOST_TEST_SYS_ASSERT( ::sigaltstack( &sigstk, 0 ) != -1 );
-        }
-    }
-#endif
-}
-
-//____________________________________________________________________________//
-
-signal_handler::~signal_handler()
-{
-    assert( s_active_handler == this );
-
-    if( m_timeout > 0 )
-        ::alarm( 0 );
-
-#ifdef BOOST_TEST_USE_ALT_STACK
-#ifdef __GNUC__
-    // We shouldn't need to explicitly initialize all the members here,
-    // but gcc warns if we don't, so add initializers for each of the
-    // members specified in the POSIX std:
-    stack_t sigstk = { 0, 0, 0 };
-#else
-    stack_t sigstk = { };
-#endif
-
-    sigstk.ss_size  = MINSIGSTKSZ;
-    sigstk.ss_flags = SS_DISABLE;
-    BOOST_TEST_SYS_ASSERT( ::sigaltstack( &sigstk, 0 ) != -1 );
-#endif
-
-    s_active_handler = m_prev_handler;
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************       execution_monitor_signal_handler       ************** //
-// ************************************************************************** //
-
-extern "C" {
-
-static bool ignore_sigchild( siginfo_t* info )
-{
-    return info->si_signo == SIGCHLD
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
-            && info->si_code == CLD_EXITED 
-#endif
-#ifdef BOOST_TEST_IGNORE_NON_ZERO_CHILD_CODE
-            ;
-#else
-            && (int)info->si_status == 0;
-#endif
-}
-
-//____________________________________________________________________________//
-
-static void execution_monitor_jumping_signal_handler( int sig, siginfo_t* info, void* context )
-{
-    if( ignore_sigchild( info ) )
-        return;
-
-    signal_handler::sys_sig()( info, context );
-
-    siglongjmp( signal_handler::jump_buffer(), sig );
-}
-
-//____________________________________________________________________________//
-
-static void execution_monitor_attaching_signal_handler( int sig, siginfo_t* info, void* context )
-{
-    if( ignore_sigchild( info ) )
-        return;
-
-    if( !debug::attach_debugger( false ) )
-        execution_monitor_jumping_signal_handler( sig, info, context );
-
-    // debugger attached; it will handle the signal
-    BOOST_TEST_SYS_ASSERT( ::signal( sig, SIG_DFL ) != SIG_ERR );
-}
-
-//____________________________________________________________________________//
-
-}
-
-} // namespace detail
-
-// ************************************************************************** //
-// **************        execution_monitor::catch_signals      ************** //
-// ************************************************************************** //
-
-int
-execution_monitor::catch_signals( unit_test::callback0<int> const& F )
-{
-    using namespace detail;
-
-#if defined(__CYGWIN__)
-    p_catch_system_errors.value = false;
-#endif
-
-#ifdef BOOST_TEST_USE_ALT_STACK
-    if( !!p_use_alt_stack && !m_alt_stack )
-        m_alt_stack.reset( new char[BOOST_TEST_ALT_STACK_SIZE] );
-#else
-    p_use_alt_stack.value = false;
-#endif
-
-    signal_handler local_signal_handler( p_catch_system_errors, p_timeout, p_auto_start_dbg, 
-                                         !p_use_alt_stack ? 0 : m_alt_stack.get() );
-
-    if( !sigsetjmp( signal_handler::jump_buffer(), 1 ) )
-        return detail::do_invoke( m_custom_translators , F );
-    else
-        throw local_signal_handler.sys_sig();
-}
-
-//____________________________________________________________________________//
-
-#elif defined(BOOST_SEH_BASED_SIGNAL_HANDLING)
-
-// ************************************************************************** //
-// **************   Microsoft structured exception handling    ************** //
-// ************************************************************************** //
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0564))
-namespace { void _set_se_translator( void* ) {} }
-#endif
-
-namespace detail {
-
-// ************************************************************************** //
-// **************    boost::detail::system_signal_exception    ************** //
-// ************************************************************************** //
-
-class system_signal_exception {
-public:
-    // Constructor
-    explicit            system_signal_exception( execution_monitor* em )
-    : m_em( em )
-    , m_se_id( 0 )
-    , m_fault_address( 0 )
-    , m_dir( false )
-    {}
-
-    void                report() const;
-    int                 operator()( unsigned int id, _EXCEPTION_POINTERS* exps );
-
-private:
-    // Data members
-    execution_monitor*  m_em;
-
-    unsigned int        m_se_id;
-    void*               m_fault_address;
-    bool                m_dir;
-};
-
-static void
-seh_catch_preventer( unsigned int /* id */, _EXCEPTION_POINTERS* /* exps */ )
-{
-    throw;
-}
-
-//____________________________________________________________________________//
-
-int
-system_signal_exception::operator()( unsigned int id, _EXCEPTION_POINTERS* exps )
-{
-    const unsigned int MSFT_CPP_EXCEPT = 0xE06d7363; // EMSC
-
-    if( !m_em->p_catch_system_errors || (id == MSFT_CPP_EXCEPT) )
-        return EXCEPTION_CONTINUE_SEARCH;
-
-    if( !!m_em->p_auto_start_dbg && debug::attach_debugger( false ) ) {
-        m_em->p_catch_system_errors.value = false;
-        _set_se_translator( &seh_catch_preventer );
-
-        return EXCEPTION_CONTINUE_EXECUTION;
-    }
-
-    m_se_id = id;
-    if( m_se_id == EXCEPTION_ACCESS_VIOLATION && exps->ExceptionRecord->NumberParameters == 2 ) {
-        m_fault_address = (void*)exps->ExceptionRecord->ExceptionInformation[1];
-        m_dir           = exps->ExceptionRecord->ExceptionInformation[0] == 0;
-    }
-
-    return EXCEPTION_EXECUTE_HANDLER;
-}
-
-//____________________________________________________________________________//
-
-void
-system_signal_exception::report() const
-{
-    switch( m_se_id ) {
-    // cases classified as system_fatal_error
-    case EXCEPTION_ACCESS_VIOLATION: {
-        if( !m_fault_address )
-            detail::report_error( execution_exception::system_fatal_error, "memory access violation" );
-        else
-            detail::report_error(
-                execution_exception::system_fatal_error,
-                    "memory access violation occurred at address 0x%08lx, while attempting to %s",
-                    m_fault_address,
-                    m_dir ? " read inaccessible data"
-                          : " write to an inaccessible (or protected) address"
-                    );
-        break;
-    }
-
-    case EXCEPTION_ILLEGAL_INSTRUCTION:
-        detail::report_error( execution_exception::system_fatal_error, "illegal instruction" );
-        break;
-
-    case EXCEPTION_PRIV_INSTRUCTION:
-        detail::report_error( execution_exception::system_fatal_error, "tried to execute an instruction whose operation is not allowed in the current machine mode" );
-        break;
-
-    case EXCEPTION_IN_PAGE_ERROR:
-        detail::report_error( execution_exception::system_fatal_error, "access to a memory page that is not present" );
-        break;
-
-    case EXCEPTION_STACK_OVERFLOW:
-        detail::report_error( execution_exception::system_fatal_error, "stack overflow" );
-        break;
-
-    case EXCEPTION_NONCONTINUABLE_EXCEPTION:
-        detail::report_error( execution_exception::system_fatal_error, "tried to continue execution after a non continuable exception occurred" );
-        break;
-
-    // cases classified as (non-fatal) system_trap
-    case EXCEPTION_DATATYPE_MISALIGNMENT:
-        detail::report_error( execution_exception::system_error, "data misalignment" );
-        break;
-
-    case EXCEPTION_INT_DIVIDE_BY_ZERO:
-        detail::report_error( execution_exception::system_error, "integer divide by zero" );
-        break;
-
-    case EXCEPTION_INT_OVERFLOW:
-        detail::report_error( execution_exception::system_error, "integer overflow" );
-        break;
-
-    case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
-        detail::report_error( execution_exception::system_error, "array bounds exceeded" );
-        break;
-
-    case EXCEPTION_FLT_DIVIDE_BY_ZERO:
-        detail::report_error( execution_exception::system_error, "floating point divide by zero" );
-        break;
-
-    case EXCEPTION_FLT_STACK_CHECK:
-        detail::report_error( execution_exception::system_error,
-                              "stack overflowed or underflowed as the result of a floating-point operation" );
-        break;
-
-    case EXCEPTION_FLT_DENORMAL_OPERAND:
-        detail::report_error( execution_exception::system_error,
-                              "operand of floating point operation is denormal" );
-        break;
-
-# if 0 // !! ?? 
-    case EXCEPTION_FLT_INEXACT_RESULT:
-        detail::report_error( execution_exception::system_error,
-                              "result of a floating-point operation cannot be represented exactly" );
-        break;
-#endif
-
-    case EXCEPTION_FLT_OVERFLOW:
-        detail::report_error( execution_exception::system_error,
-                              "exponent of a floating-point operation is greater than the magnitude allowed by the corresponding type" );
-        break;
-
-    case EXCEPTION_FLT_UNDERFLOW:
-        detail::report_error( execution_exception::system_error,
-                              "exponent of a floating-point operation is less than the magnitude allowed by the corresponding type" );
-        break;
-
-    case EXCEPTION_FLT_INVALID_OPERATION:
-        detail::report_error( execution_exception::system_error, "floating point error" );
-        break;
-
-    case EXCEPTION_BREAKPOINT:
-        detail::report_error( execution_exception::system_error, "breakpoint encountered" );
-        break;
-
-    default:
-        detail::report_error( execution_exception::system_error, "unrecognized exception. Id: 0x%08lx", m_se_id );
-        break;
-    }
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************          assert_reporting_function           ************** //
-// ************************************************************************** //
-
-int BOOST_TEST_CALL_DECL
-assert_reporting_function( int reportType, char* userMessage, int* )
-{
-    switch( reportType ) {
-    case BOOST_TEST_CRT_ASSERT:
-        detail::report_error( execution_exception::user_error, userMessage );
-
-        return 1; // return value and retVal are not important since we never reach this line
-    case BOOST_TEST_CRT_ERROR:
-        detail::report_error( execution_exception::system_error, userMessage );
-
-        return 1; // return value and retVal are not important since we never reach this line
-    default:
-        return 0; // use usual reporting method
-    }
-} // assert_reporting_function
-
-//____________________________________________________________________________//
-
-void BOOST_TEST_CALL_DECL
-invalid_param_handler( wchar_t const* /* expr */, 
-                       wchar_t const* /* func */, 
-                       wchar_t const* /* file */, 
-                       unsigned int   /* line */,
-                       uintptr_t      /* reserved */)
-{
-    detail::report_error( execution_exception::user_error, 
-                          "Invalid parameter detected by C runtime library" );
-}
-
-//____________________________________________________________________________//
-
-void BOOST_TEST_CALL_DECL
-switch_fp_exceptions( bool on_off )
-{
-    if( !on_off )
-        _clearfp();
-
-    int cw = ::_controlfp( 0, 0 );
-
-    int exceptions_mask = EM_INVALID|EM_DENORMAL|EM_ZERODIVIDE|EM_OVERFLOW|EM_UNDERFLOW;
-
-    if( on_off )
-        cw &= ~exceptions_mask; // Set the exception masks on, turn exceptions off
-    else
-        cw |= exceptions_mask;  // Set the exception masks off, turn exceptions on
-
-    if( on_off )
-        _clearfp();
-        
-    // Set the control word
-    ::_controlfp( cw, MCW_EM );
-}
-
-//____________________________________________________________________________//
-
-} // namespace detail
-
-// ************************************************************************** //
-// **************        execution_monitor::catch_signals      ************** //
-// ************************************************************************** //
-
-int
-execution_monitor::catch_signals( unit_test::callback0<int> const& F )
-{
-    _invalid_parameter_handler old_iph = _invalid_parameter_handler();
-    BOOST_TEST_CRT_HOOK_TYPE old_crt_hook = 0;
-
-    if( !p_catch_system_errors )
-        _set_se_translator( &detail::seh_catch_preventer );
-    else {
-        if( !!p_detect_fp_exceptions )
-            detail::switch_fp_exceptions( true );
-
-       old_crt_hook = BOOST_TEST_CRT_SET_HOOK( &detail::assert_reporting_function );
-
-       old_iph = _set_invalid_parameter_handler( 
-           reinterpret_cast<_invalid_parameter_handler>( &detail::invalid_param_handler ) );
-    }
-
-    detail::system_signal_exception SSE( this );
-    
-    int ret_val = 0;
-
-    __try {
-        __try {
-            ret_val = detail::do_invoke( m_custom_translators, F );
-        }
-        __except( SSE( GetExceptionCode(), GetExceptionInformation() ) ) {
-            throw SSE;
-        }
-    }
-    __finally {
-        if( !!p_catch_system_errors ) {
-            if( !!p_detect_fp_exceptions )
-                detail::switch_fp_exceptions( false );
-
-            BOOST_TEST_CRT_SET_HOOK( old_crt_hook );
-
-           _set_invalid_parameter_handler( old_iph );
-        }
-    }
-
-    return ret_val;
-}
-
-//____________________________________________________________________________//
-
-#else  // default signal handler
-
-namespace detail {
-
-class system_signal_exception {
-public:
-    void   report() const {}
-};
-
-} // namespace detail
-
-int
-execution_monitor::catch_signals( unit_test::callback0<int> const& F )
-{
-    return detail::do_invoke( m_custom_translators , F );
-}
-
-//____________________________________________________________________________//
-
-#endif  // choose signal handler
-
-// ************************************************************************** //
-// **************          execution_monitor::execute          ************** //
-// ************************************************************************** //
-
-int
-execution_monitor::execute( unit_test::callback0<int> const& F )
-{
-    if( debug::under_debugger() )
-        p_catch_system_errors.value = false;
-
-    try {
-        return catch_signals( F );
-    }
-
-    //  Catch-clause reference arguments are a bit different from function
-    //  arguments (ISO 15.3 paragraphs 18 & 19).  Apparently const isn't
-    //  required.  Programmers ask for const anyhow, so we supply it.  That's
-    //  easier than answering questions about non-const usage.
-
-    catch( char const* ex )
-      { detail::report_error( execution_exception::cpp_exception_error,
-                              "C string: %s", ex ); }
-    catch( std::string const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              "std::string: %s", ex.c_str() ); }
-
-    //  std:: exceptions
-
-    catch( std::bad_alloc const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::bad_alloc: %s", ex.what() ); }
-
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x0551)
-    catch( std::bad_cast const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::bad_cast" ); }
-    catch( std::bad_typeid const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::bad_typeid" ); }
-#else
-    catch( std::bad_cast const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::bad_cast: %s", ex.what() ); }
-    catch( std::bad_typeid const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::bad_typeid: %s", ex.what() ); }
-#endif
-
-    catch( std::bad_exception const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::bad_exception: %s", ex.what() ); }
-    catch( std::domain_error const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::domain_error: %s", ex.what() ); }
-    catch( std::invalid_argument const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::invalid_argument: %s", ex.what() ); }
-    catch( std::length_error const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::length_error: %s", ex.what() ); }
-    catch( std::out_of_range const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::out_of_range: %s", ex.what() ); }
-    catch( std::range_error const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::range_error: %s", ex.what() ); }
-    catch( std::overflow_error const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::overflow_error: %s", ex.what() ); }
-    catch( std::underflow_error const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::underflow_error: %s", ex.what() ); }
-    catch( std::logic_error const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::logic_error: %s", ex.what() ); }
-    catch( std::runtime_error const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::runtime_error: %s", ex.what() ); }
-    catch( std::exception const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              current_exception_cast<boost::exception const>(),
-                              "std::exception: %s", ex.what() ); }
-
-    catch( boost::exception const& ex )
-    { detail::report_error( execution_exception::cpp_exception_error, 
-                            &ex,
-                            "unknown boost::exception" ); }
-
-    // system errors
-    catch( system_error const& ex )
-      { detail::report_error( execution_exception::cpp_exception_error, 
-                              "system_error produced by: %s: %s", ex.p_failed_exp.get(), std::strerror( ex.p_errno ) ); }
-    catch( detail::system_signal_exception const& ex )
-      { ex.report(); }
-
-    // not an error
-    catch( execution_aborted const& )
-      { return 0; }
-
-    // just forward
-    catch( execution_exception const& )
-      { throw; }
-
-    // unknown error
-    catch( ... )
-      { detail::report_error( execution_exception::cpp_exception_error, "unknown type" ); }
-
-    return 0;  // never reached; supplied to quiet compiler warnings
-} // execute
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                  system_error                ************** //
-// ************************************************************************** //
-
-system_error::system_error( char const* exp )
-#ifdef UNDER_CE
-: p_errno( GetLastError() )
-#else
-: p_errno( errno )
-#endif
-, p_failed_exp( exp )
-{}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************              execution_exception             ************** //
-// ************************************************************************** //
-
-execution_exception::execution_exception( error_code ec_, const_string what_msg_, location const& location_ )
-: m_error_code( ec_ )
-, m_what( what_msg_.empty() ? BOOST_TEST_L( "uncaught exception, system error or abort requested" ) : what_msg_ )
-, m_location( location_ )
-{}
-
-//____________________________________________________________________________//
-
-execution_exception::location::location( char const* file_name, size_t line_num, char const* func )
-: m_file_name( file_name ? file_name : "unknown location" )
-, m_line_num( line_num )
-, m_function( func )
-{}
-
-//____________________________________________________________________________//
-
-} // namespace boost
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_EXECUTION_MONITOR_IPP_012205GER
-
diff --git a/SRC/Boost/boost/test/impl/framework.ipp b/SRC/Boost/boost/test/impl/framework.ipp
deleted file mode 100755
index 6b77aa8..0000000
--- a/SRC/Boost/boost/test/impl/framework.ipp
+++ /dev/null
@@ -1,503 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57991 $
-//
-//  Description : implements framework API - main driver for the test
-// ***************************************************************************
-
-#ifndef BOOST_TEST_FRAMEWORK_IPP_021005GER
-#define BOOST_TEST_FRAMEWORK_IPP_021005GER
-
-// Boost.Test
-#include <boost/test/framework.hpp>
-#include <boost/test/execution_monitor.hpp>
-#include <boost/test/debug.hpp>
-#include <boost/test/unit_test_suite_impl.hpp>
-#include <boost/test/unit_test_log.hpp>
-#include <boost/test/unit_test_monitor.hpp>
-#include <boost/test/test_observer.hpp>
-#include <boost/test/results_collector.hpp>
-#include <boost/test/progress_monitor.hpp>
-#include <boost/test/results_reporter.hpp>
-#include <boost/test/test_tools.hpp>
-
-#include <boost/test/detail/unit_test_parameters.hpp>
-#include <boost/test/detail/global_typedef.hpp>
-
-#include <boost/test/utils/foreach.hpp>
-
-// Boost
-#include <boost/timer.hpp>
-
-// STL
-#include <map>
-#include <set>
-#include <cstdlib>
-#include <ctime>
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std { using ::time; using ::srand; }
-#endif
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************            test_start calls wrapper          ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-struct test_start_caller {
-    test_start_caller( test_observer* to, counter_t tc_amount )
-    : m_to( to )
-    , m_tc_amount( tc_amount )
-    {}
-
-    int operator()()
-    {
-        m_to->test_start( m_tc_amount );
-        return 0;
-    }
-
-private:
-    // Data members
-    test_observer*  m_to;
-    counter_t       m_tc_amount;
-};
-
-//____________________________________________________________________________//
-
-struct test_init_caller {
-    explicit    test_init_caller( init_unit_test_func init_func ) 
-    : m_init_func( init_func )
-    {}
-    int         operator()()
-    {
-#ifdef BOOST_TEST_ALTERNATIVE_INIT_API
-        if( !(*m_init_func)() )
-            throw std::runtime_error( "test module initialization failed" );
-#else
-        test_suite*  manual_test_units = (*m_init_func)( framework::master_test_suite().argc, framework::master_test_suite().argv );
-
-        if( manual_test_units )
-            framework::master_test_suite().add( manual_test_units );
-#endif
-        return 0;
-    }
-
-    // Data members
-    init_unit_test_func m_init_func;
-};
-
-}
-
-// ************************************************************************** //
-// **************                   framework                  ************** //
-// ************************************************************************** //
-
-class framework_impl : public test_tree_visitor {
-public:
-    framework_impl()
-    : m_master_test_suite( 0 )
-    , m_curr_test_case( INV_TEST_UNIT_ID )
-    , m_next_test_case_id( MIN_TEST_CASE_ID )
-    , m_next_test_suite_id( MIN_TEST_SUITE_ID )
-    , m_is_initialized( false )
-    , m_test_in_progress( false )
-    {}
-
-    ~framework_impl() { clear(); }
-
-    void            clear()
-    {
-        while( !m_test_units.empty() ) {
-            test_unit_store::value_type const& tu     = *m_test_units.begin();
-            test_unit*                         tu_ptr = tu.second;
-
-            // the delete will erase this element from map
-            if( ut_detail::test_id_2_unit_type( tu.second->p_id ) == tut_suite )
-                delete  (test_suite const*)tu_ptr;
-            else
-                delete  (test_case const*)tu_ptr;
-        }
-    }
-
-    void            set_tu_id( test_unit& tu, test_unit_id id ) { tu.p_id.value = id; }
-
-    // test_tree_visitor interface implementation
-    void            visit( test_case const& tc )
-    {
-        if( !tc.check_dependencies() ) {
-            BOOST_TEST_FOREACH( test_observer*, to, m_observers )
-                to->test_unit_skipped( tc );
-
-            return;
-        }
-
-        BOOST_TEST_FOREACH( test_observer*, to, m_observers )
-            to->test_unit_start( tc );
-
-        boost::timer tc_timer;
-        test_unit_id bkup = m_curr_test_case;
-        m_curr_test_case = tc.p_id;
-        unit_test_monitor_t::error_level run_result = unit_test_monitor.execute_and_translate( tc );
-
-        unsigned long elapsed = static_cast<unsigned long>( tc_timer.elapsed() * 1e6 );
-
-        if( unit_test_monitor.is_critical_error( run_result ) ) {
-            BOOST_TEST_FOREACH( test_observer*, to, m_observers )
-                to->test_aborted();
-        }
-
-        BOOST_TEST_FOREACH( test_observer*, to, m_observers )
-            to->test_unit_finish( tc, elapsed );
-
-        m_curr_test_case = bkup;
-
-        if( unit_test_monitor.is_critical_error( run_result ) )
-            throw test_being_aborted();
-    }
-
-    bool            test_suite_start( test_suite const& ts )
-    {
-        if( !ts.check_dependencies() ) {
-            BOOST_TEST_FOREACH( test_observer*, to, m_observers )
-                to->test_unit_skipped( ts );
-
-            return false;
-        }
-
-        BOOST_TEST_FOREACH( test_observer*, to, m_observers )
-            to->test_unit_start( ts );
-
-        return true;
-    }
-
-    void            test_suite_finish( test_suite const& ts )
-    {
-        BOOST_TEST_FOREACH( test_observer*, to, m_observers )
-            to->test_unit_finish( ts, 0 );
-    }
-
-    //////////////////////////////////////////////////////////////////
-    struct priority_order {
-        bool operator()( test_observer* lhs, test_observer* rhs ) const
-        {
-            return (lhs->priority() < rhs->priority()) || ((lhs->priority() == rhs->priority()) && (lhs < rhs));
-        }
-    };
-
-    typedef std::map<test_unit_id,test_unit*>       test_unit_store;
-    typedef std::set<test_observer*,priority_order> observer_store;
-
-    master_test_suite_t* m_master_test_suite;
-    test_unit_id    m_curr_test_case;
-    test_unit_store m_test_units;
-
-    test_unit_id    m_next_test_case_id;
-    test_unit_id    m_next_test_suite_id;
-
-    bool            m_is_initialized;
-    bool            m_test_in_progress;
-
-    observer_store  m_observers;
-};
-
-//____________________________________________________________________________//
-
-namespace {
-
-#if defined(__CYGWIN__)
-framework_impl& s_frk_impl() { static framework_impl* the_inst = 0; if(!the_inst) the_inst = new framework_impl; return *the_inst; }
-#else
-framework_impl& s_frk_impl() { static framework_impl the_inst; return the_inst; }
-#endif
-
-} // local namespace
-
-//____________________________________________________________________________//
-
-namespace framework {
-
-void
-init( init_unit_test_func init_func, int argc, char* argv[] )
-{
-    runtime_config::init( argc, argv );
-
-    // set the log level and format
-    unit_test_log.set_threshold_level( runtime_config::log_level() );
-    unit_test_log.set_format( runtime_config::log_format() );
-
-    // set the report level and format
-    results_reporter::set_level( runtime_config::report_level() );
-    results_reporter::set_format( runtime_config::report_format() );
-
-    register_observer( results_collector );
-    register_observer( unit_test_log );
-
-    if( runtime_config::show_progress() )
-        register_observer( progress_monitor );
-
-    if( runtime_config::detect_memory_leaks() > 0 ) {
-        debug::detect_memory_leaks( true );
-        debug::break_memory_alloc( runtime_config::detect_memory_leaks() );
-    }
-
-    // init master unit test suite
-    master_test_suite().argc = argc;
-    master_test_suite().argv = argv;
-
-    try {
-        boost::execution_monitor em;
-
-        ut_detail::test_init_caller tic( init_func );
-
-        em.execute( tic );
-    }
-    catch( execution_exception const& ex )  {
-        throw setup_error( ex.what() );
-    }
-
-    s_frk_impl().m_is_initialized = true;
-}
-
-//____________________________________________________________________________//
-
-bool
-is_initialized()
-{
-    return  s_frk_impl().m_is_initialized;
-}
-
-//____________________________________________________________________________//
-
-void
-register_test_unit( test_case* tc )
-{
-    BOOST_TEST_SETUP_ASSERT( tc->p_id == INV_TEST_UNIT_ID, BOOST_TEST_L( "test case already registered" ) );
-
-    test_unit_id new_id = s_frk_impl().m_next_test_case_id;
-
-    BOOST_TEST_SETUP_ASSERT( new_id != MAX_TEST_CASE_ID, BOOST_TEST_L( "too many test cases" ) );
-
-    typedef framework_impl::test_unit_store::value_type map_value_type;
-
-    s_frk_impl().m_test_units.insert( map_value_type( new_id, tc ) );
-    s_frk_impl().m_next_test_case_id++;
-
-    s_frk_impl().set_tu_id( *tc, new_id );
-}
-
-//____________________________________________________________________________//
-
-void
-register_test_unit( test_suite* ts )
-{
-    BOOST_TEST_SETUP_ASSERT( ts->p_id == INV_TEST_UNIT_ID, BOOST_TEST_L( "test suite already registered" ) );
-
-    test_unit_id new_id = s_frk_impl().m_next_test_suite_id;
-
-    BOOST_TEST_SETUP_ASSERT( new_id != MAX_TEST_SUITE_ID, BOOST_TEST_L( "too many test suites" ) );
-
-    typedef framework_impl::test_unit_store::value_type map_value_type;
-    s_frk_impl().m_test_units.insert( map_value_type( new_id, ts ) );
-    s_frk_impl().m_next_test_suite_id++;
-
-    s_frk_impl().set_tu_id( *ts, new_id );
-}
-
-//____________________________________________________________________________//
-
-void
-deregister_test_unit( test_unit* tu )
-{
-    s_frk_impl().m_test_units.erase( tu->p_id );
-}
-
-//____________________________________________________________________________//
-
-void
-clear()
-{
-    s_frk_impl().clear();
-}
-
-//____________________________________________________________________________//
-
-void
-register_observer( test_observer& to )
-{
-    s_frk_impl().m_observers.insert( &to );
-}
-
-//____________________________________________________________________________//
-
-void
-deregister_observer( test_observer& to )
-{
-    s_frk_impl().m_observers.erase( &to );
-}
-
-//____________________________________________________________________________//
-
-void
-reset_observers()
-{
-    s_frk_impl().m_observers.clear();
-}
-
-//____________________________________________________________________________//
-
-master_test_suite_t&
-master_test_suite()
-{
-    if( !s_frk_impl().m_master_test_suite )
-        s_frk_impl().m_master_test_suite = new master_test_suite_t;
-
-    return *s_frk_impl().m_master_test_suite;
-}
-
-//____________________________________________________________________________//
-
-test_case const&
-current_test_case()
-{
-    return get<test_case>( s_frk_impl().m_curr_test_case );
-}
-
-//____________________________________________________________________________//
-
-test_unit&
-get( test_unit_id id, test_unit_type t )
-{
-    test_unit* res = s_frk_impl().m_test_units[id];
-
-    if( (res->p_type & t) == 0 )
-        throw internal_error( "Invalid test unit type" );
-
-    return *res;
-}
-
-//____________________________________________________________________________//
-
-void
-run( test_unit_id id, bool continue_test )
-{
-    if( id == INV_TEST_UNIT_ID )
-        id = master_test_suite().p_id;
-
-    test_case_counter tcc;
-    traverse_test_tree( id, tcc );
-
-    BOOST_TEST_SETUP_ASSERT( tcc.p_count != 0 , runtime_config::test_to_run().is_empty() 
-        ? BOOST_TEST_L( "test tree is empty" ) 
-        : BOOST_TEST_L( "no test cases matching filter" ) );
-
-    bool    call_start_finish   = !continue_test || !s_frk_impl().m_test_in_progress;
-    bool    was_in_progress     = s_frk_impl().m_test_in_progress;
-
-    s_frk_impl().m_test_in_progress = true;
-
-    if( call_start_finish ) {
-        BOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers ) {
-            boost::execution_monitor em;
-
-            try {
-                em.execute( ut_detail::test_start_caller( to, tcc.p_count ) );
-            }
-            catch( execution_exception const& ex )  {
-                throw setup_error( ex.what() );
-            }
-        }
-    }
-
-    switch( runtime_config::random_seed() ) {
-    case 0:
-        break;
-    case 1: {
-        unsigned int seed = static_cast<unsigned int>( std::time( 0 ) );
-        BOOST_TEST_MESSAGE( "Test cases order is shuffled using seed: " << seed );
-        std::srand( seed );
-        break;
-    }
-    default:
-        BOOST_TEST_MESSAGE( "Test cases order is shuffled using seed: " << runtime_config::random_seed() );
-        std::srand( runtime_config::random_seed() );
-    }
-
-    try {
-        traverse_test_tree( id, s_frk_impl() );
-    }
-    catch( test_being_aborted const& ) {
-        // abort already reported
-    }
-
-    if( call_start_finish ) {
-        BOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers )
-            to->test_finish();
-    }
-
-    s_frk_impl().m_test_in_progress = was_in_progress;
-}
-
-//____________________________________________________________________________//
-
-void
-run( test_unit const* tu, bool continue_test )
-{
-    run( tu->p_id, continue_test );
-}
-
-//____________________________________________________________________________//
-
-void
-assertion_result( bool passed )
-{
-    BOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers )
-        to->assertion_result( passed );
-}
-
-//____________________________________________________________________________//
-
-void
-exception_caught( execution_exception const& ex )
-{
-    BOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers )
-        to->exception_caught( ex );
-}
-
-//____________________________________________________________________________//
-
-void
-test_unit_aborted( test_unit const& tu )
-{
-    BOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers )
-        to->test_unit_aborted( tu );
-}
-
-//____________________________________________________________________________//
-
-} // namespace framework
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_FRAMEWORK_IPP_021005GER
diff --git a/SRC/Boost/boost/test/impl/interaction_based.ipp b/SRC/Boost/boost/test/impl/interaction_based.ipp
deleted file mode 100755
index 7c9c824..0000000
--- a/SRC/Boost/boost/test/impl/interaction_based.ipp
+++ /dev/null
@@ -1,90 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : Facilities to perform interaction-based testing
-// ***************************************************************************
-
-#ifndef BOOST_TEST_INTERACTION_BASED_IPP_112105GER
-#define BOOST_TEST_INTERACTION_BASED_IPP_112105GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-
-#if BOOST_TEST_SUPPORT_INTERACTION_TESTING
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-#include <boost/test/utils/callback.hpp>
-#include <boost/test/interaction_based.hpp>
-#include <boost/test/mock_object.hpp>
-#include <boost/test/framework.hpp>     // for setup_error
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-// STL
-#include <stdexcept>
-#include <string>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace itest { // interaction-based testing
-
-// ************************************************************************** //
-// **************                    manager                   ************** //
-// ************************************************************************** //
-
-manager::manager()
-{
-    instance_ptr( true, this );
-}
-
-//____________________________________________________________________________//
-
-manager::~manager()
-{
-    instance_ptr( true );
-}
-
-//____________________________________________________________________________//
-    
-manager*
-manager::instance_ptr( bool reset, manager* new_ptr )
-{
-    static manager dummy( 0 );
-    
-    static manager* ptr = &dummy;
-    
-    if( reset ) {
-        if( new_ptr ) {
-            BOOST_TEST_SETUP_ASSERT( ptr == &dummy, BOOST_TEST_L( "Can't run two interation based test the same time" ) );
-                
-            ptr = new_ptr;
-        }
-        else
-            ptr = &dummy;
-    }
-    
-    return ptr;
-}
-    
-}  // namespace itest
-
-}  // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // not ancient compiler
-
-#endif // BOOST_TEST_INTERACTION_BASED_IPP_112105GER
diff --git a/SRC/Boost/boost/test/impl/logged_expectations.ipp b/SRC/Boost/boost/test/impl/logged_expectations.ipp
deleted file mode 100755
index 0325e96..0000000
--- a/SRC/Boost/boost/test/impl/logged_expectations.ipp
+++ /dev/null
@@ -1,246 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the
-//  Boost Software License, ELOG_VER 1.0. (See accompanying file
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : Facilities to perform interaction based testng of logged expectations
-// ***************************************************************************
-
-#ifndef BOOST_TEST_LOGGED_EXPECTATIONS_IPP_120905GER
-#define BOOST_TEST_LOGGED_EXPECTATIONS_IPP_120905GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-
-#if BOOST_TEST_SUPPORT_INTERACTION_TESTING
-
-#include <boost/test/detail/global_typedef.hpp>
-
-#include <boost/test/utils/callback.hpp>
-#include <boost/test/utils/iterator/token_iterator.hpp>
-
-#include <boost/test/interaction_based.hpp>
-#include <boost/test/test_tools.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-// Boost
-#include <boost/lexical_cast.hpp>
-
-// STL
-#include <fstream>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-using namespace ::boost::unit_test;
-
-namespace itest {
-
-// ************************************************************************** //
-// **************    logged expectation test implementation    ************** //
-// ************************************************************************** //
-
-struct expectations_logger : itest::manager {
-    // Constructor
-    expectations_logger( const_string log_file_name, bool test_or_log );
-
-    virtual bool        decision_point( const_string, std::size_t );
-    virtual unsigned    enter_scope( const_string, std::size_t, const_string scope_name );
-    virtual void        allocated( const_string, std::size_t, void*, std::size_t s );
-    virtual void        data_flow( const_string d );
-    virtual std::string return_value( const_string default_value );
-    
-private:
-    // Data members
-    bool            m_test_or_log;
-    std::fstream    m_log_file;
-};
-
-literal_string ELOG_VER     = "1.0";
-literal_string CLMN_SEP     = "|";
-static const char LINE_SEP  = '\n';
-
-literal_string FILE_SIG     = "ELOG";
-literal_string SCOPE_SIG    = "SCOPE";
-literal_string ALLOC_SIG    = "ALLOC";
-literal_string DP_SIG       = "SWITCH";
-literal_string DATA_SIG     = "DATA";
-literal_string RETURN_SIG   = "RETURN";
-
-//____________________________________________________________________________//
-
-expectations_logger::expectations_logger( const_string log_file_name, bool test_or_log )
-: m_test_or_log( test_or_log )
-{
-    BOOST_REQUIRE_MESSAGE( !log_file_name.is_empty(), "Empty expectations log file name" );
-
-    m_log_file.open( log_file_name.begin(), test_or_log ? std::ios::in : std::ios::out );
-
-    BOOST_REQUIRE_MESSAGE( m_log_file.is_open(),
-                           "Can't open expectations log file " << log_file_name
-                                << " for " << ( m_test_or_log ? "reading" : "writing") );
-
-    if( m_test_or_log ) {
-        std::string line;
-        
-        std::getline( m_log_file, line, LINE_SEP );
-        
-        const_string cline( line );
-        string_token_iterator tit( cline, (dropped_delimeters = CLMN_SEP, kept_delimeters = dt_none));
-
-        BOOST_CHECK_EQUAL( *tit, FILE_SIG ); 
-        ++tit;
-        BOOST_CHECK_EQUAL( *tit, ELOG_VER );
-    }
-    else {
-        m_log_file << FILE_SIG << CLMN_SEP << ELOG_VER << LINE_SEP;
-    }
-}
-
-//____________________________________________________________________________//
-
-bool
-expectations_logger::decision_point( const_string, std::size_t )
-{
-    if( m_test_or_log ) {
-        std::string line;
-        
-        std::getline( m_log_file, line, LINE_SEP );
-        
-        const_string cline( line );
-        string_token_iterator tit( cline, (dropped_delimeters = CLMN_SEP, kept_delimeters = dt_none));
-        
-        BOOST_CHECK_EQUAL( *tit, DP_SIG ); ++tit;
-        return lexical_cast<bool>( *tit );
-    }
-    else {
-        m_log_file << DP_SIG << CLMN_SEP << std::boolalpha << true << LINE_SEP;
-        
-        return true;
-    }
-}
-
-//____________________________________________________________________________//
-    
-unsigned
-expectations_logger::enter_scope( const_string, std::size_t, const_string scope_name )
-{
-    if( m_test_or_log ) {
-        std::string line;
-        
-        std::getline( m_log_file, line, LINE_SEP );
-        
-        const_string cline( line );
-        string_token_iterator tit( cline, (dropped_delimeters = CLMN_SEP, kept_delimeters = dt_none));
-        
-        BOOST_CHECK_EQUAL( *tit, SCOPE_SIG ); ++tit;
-        BOOST_CHECK_EQUAL( *tit, scope_name );
-    }
-    else {
-        m_log_file << SCOPE_SIG << CLMN_SEP << scope_name << LINE_SEP;
-    }
-    
-    return 0;
-}
-    
-//____________________________________________________________________________//
-
-void
-expectations_logger::allocated( const_string, std::size_t, void*, std::size_t s )
-{
-    if( m_test_or_log ) {
-        std::string line;
-        
-        std::getline( m_log_file, line, LINE_SEP );
-        
-        const_string cline( line );
-        string_token_iterator tit( cline, (dropped_delimeters = CLMN_SEP, kept_delimeters = dt_none));
-        
-        BOOST_CHECK_EQUAL( *tit, ALLOC_SIG ); ++tit;
-        BOOST_CHECK_EQUAL( lexical_cast<std::size_t>( *tit ), s );
-    }
-    else {
-        m_log_file << ALLOC_SIG << CLMN_SEP << s << LINE_SEP;
-    }
-}
-
-//____________________________________________________________________________//
-
-void
-expectations_logger::data_flow( const_string d )
-{
-    if( m_test_or_log ) {
-        std::string line;
-        
-        std::getline( m_log_file, line, LINE_SEP );
-        
-        const_string cline( line );
-        string_token_iterator tit( cline, (dropped_delimeters = CLMN_SEP, kept_delimeters = dt_none));
-        
-        BOOST_CHECK_EQUAL( *tit, DATA_SIG ); ++tit;
-        BOOST_CHECK_EQUAL( *tit, d );
-    }
-    else {
-        m_log_file << DATA_SIG << CLMN_SEP << d << LINE_SEP;
-    }
-}
-
-//____________________________________________________________________________//
-
-std::string
-expectations_logger::return_value( const_string default_value )
-{
-    if( m_test_or_log ) {
-        std::string line;
-        
-        std::getline( m_log_file, line, LINE_SEP );
-        
-        const_string cline( line );
-        string_token_iterator tit( cline, (dropped_delimeters = CLMN_SEP, kept_delimeters = dt_none));
-        
-        BOOST_CHECK_EQUAL( *tit, RETURN_SIG ); ++tit;
-        
-        return std::string( tit->begin(), tit->size() );
-    }
-    else {
-        m_log_file << RETURN_SIG << CLMN_SEP << default_value << LINE_SEP;
-                                 
-        return std::string();
-    }
-}
-
-//____________________________________________________________________________//
-    
-// ************************************************************************** //
-// **************           logged expectations test           ************** //
-// ************************************************************************** //
-
-void BOOST_TEST_DECL
-logged_expectations( callback0<> const& F, const_string log_file_name, bool test_or_log )
-{
-    expectations_logger el( log_file_name, test_or_log );
-
-    F();
-}
-
-//____________________________________________________________________________//
-
-}  // namespace itest
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // not ancient compiler
-
-#endif // BOOST_TEST_LOGGED_EXPECTATIONS_IPP_120905GER
diff --git a/SRC/Boost/boost/test/impl/plain_report_formatter.ipp b/SRC/Boost/boost/test/impl/plain_report_formatter.ipp
deleted file mode 100755
index 4bb03aa..0000000
--- a/SRC/Boost/boost/test/impl/plain_report_formatter.ipp
+++ /dev/null
@@ -1,198 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : plain report formatter definition
-// ***************************************************************************
-
-#ifndef BOOST_TEST_PLAIN_REPORT_FORMATTER_IPP_020105GER
-#define BOOST_TEST_PLAIN_REPORT_FORMATTER_IPP_020105GER
-
-// Boost.Test
-#include <boost/test/output/plain_report_formatter.hpp>
-#include <boost/test/utils/custom_manip.hpp>
-#include <boost/test/results_collector.hpp>
-#include <boost/test/unit_test_suite_impl.hpp>
-
-#include <boost/test/utils/basic_cstring/io.hpp>
-
-// STL
-#include <iomanip>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <iostream>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-# ifdef BOOST_NO_STDC_NAMESPACE
-namespace std { using ::log10; }
-# endif
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace output {
-
-namespace {
-
-typedef custom_manip<struct quote_t> quote;
-
-template<typename T>
-inline std::ostream&
-operator<<( custom_printer<quote> const& p, T const& value )
-{
-    *p << '"' << value << '"';
-
-    return *p;
-}
-
-//____________________________________________________________________________//
-
-void
-print_stat_value( std::ostream& ostr, counter_t v, counter_t indent, counter_t total,
-                  const_string name, const_string res )
-{
-    if( v > 0 ) {
-        ostr << std::setw( indent ) << ""
-             << v << ' ' << name << ( v != 1 ? "s" : "" );
-        if( total > 0 )
-            ostr << " out of " << total;
-
-        ostr << ' ' << res << '\n';
-    }
-}
-
-//____________________________________________________________________________//
-
-} // local namespace
-
-// ************************************************************************** //
-// **************             plain_report_formatter           ************** //
-// ************************************************************************** //
-
-void
-plain_report_formatter::results_report_start( std::ostream& ostr )
-{
-    m_indent = 0;
-    ostr << '\n';
-}
-
-//____________________________________________________________________________//
-
-void
-plain_report_formatter::results_report_finish( std::ostream& ostr )
-{
-    ostr.flush();
-}
-
-//____________________________________________________________________________//
-
-void
-plain_report_formatter::test_unit_report_start( test_unit const& tu, std::ostream& ostr )
-{
-    test_results const& tr = results_collector.results( tu.p_id );
-
-    const_string descr;
-
-    if( tr.passed() )
-        descr = "passed";
-    else if( tr.p_skipped )
-        descr = "skipped";
-    else if( tr.p_aborted )
-        descr = "aborted";
-    else
-        descr = "failed";
-
-    ostr << std::setw( m_indent ) << ""
-         << "Test " << (tu.p_type == tut_case ? "case " : "suite " ) << quote() << tu.p_name << ' ' << descr;
-
-    if( tr.p_skipped ) {
-        ostr << " due to " << (tu.check_dependencies() ? "test aborting\n" : "failed dependancy\n" );
-        m_indent += 2;
-        return;
-    }
-    
-    counter_t total_assertions  = tr.p_assertions_passed + tr.p_assertions_failed;
-    counter_t total_tc          = tr.p_test_cases_passed + tr.p_test_cases_failed + tr.p_test_cases_skipped;
-
-    if( total_assertions > 0 || total_tc > 0 )
-        ostr << " with:";
-
-    ostr << '\n';
-    m_indent += 2;
-
-    print_stat_value( ostr, tr.p_assertions_passed, m_indent, total_assertions, "assertion", "passed" );
-    print_stat_value( ostr, tr.p_assertions_failed, m_indent, total_assertions, "assertion", "failed" );
-    print_stat_value( ostr, tr.p_expected_failures, m_indent, 0               , "failure"  , "expected" );
-    print_stat_value( ostr, tr.p_test_cases_passed, m_indent, total_tc        , "test case", "passed" );
-    print_stat_value( ostr, tr.p_test_cases_failed, m_indent, total_tc        , "test case", "failed" );
-    print_stat_value( ostr, tr.p_test_cases_skipped, m_indent, total_tc       , "test case", "skipped" );
-    print_stat_value( ostr, tr.p_test_cases_aborted, m_indent, total_tc       , "test case", "aborted" );
-    
-    ostr << '\n';
-}
-
-//____________________________________________________________________________//
-
-void
-plain_report_formatter::test_unit_report_finish( test_unit const&, std::ostream& )
-{
-    m_indent -= 2;
-}
-
-//____________________________________________________________________________//
-
-void
-plain_report_formatter::do_confirmation_report( test_unit const& tu, std::ostream& ostr )
-{
-    test_results const& tr = results_collector.results( tu.p_id );
-    
-    if( tr.passed() ) {
-        ostr << "*** No errors detected\n";
-        return;
-    }
-        
-    if( tr.p_skipped ) {
-        ostr << "*** Test " << tu.p_type_name << " skipped due to " 
-             << (tu.check_dependencies() ? "test aborting\n" : "failed dependancy\n" );
-        return;
-    }
-
-    if( tr.p_assertions_failed == 0 ) {
-        ostr << "*** errors detected in test " << tu.p_type_name << " " << quote() << tu.p_name
-             << "; see standard output for details\n";
-        return;
-    }
-
-    counter_t num_failures = tr.p_assertions_failed;
-    
-    ostr << "*** " << num_failures << " failure" << ( num_failures != 1 ? "s" : "" ) << " detected";
-    
-    if( tr.p_expected_failures > 0 )
-        ostr << " (" << tr.p_expected_failures << " failure" << ( tr.p_expected_failures != 1 ? "s" : "" ) << " expected)";
-    
-    ostr << " in test " << tu.p_type_name << " " << quote() << tu.p_name << "\n";
-}
-
-//____________________________________________________________________________//
-
-} // namespace output
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_PLAIN_REPORT_FORMATTER_IPP_020105GER
diff --git a/SRC/Boost/boost/test/impl/progress_monitor.ipp b/SRC/Boost/boost/test/impl/progress_monitor.ipp
deleted file mode 100755
index b3a01e0..0000000
--- a/SRC/Boost/boost/test/impl/progress_monitor.ipp
+++ /dev/null
@@ -1,110 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : implements simple text based progress monitor
-// ***************************************************************************
-
-#ifndef BOOST_TEST_PROGRESS_MONITOR_IPP_020105GER
-#define BOOST_TEST_PROGRESS_MONITOR_IPP_020105GER
-
-// Boost.Test
-#include <boost/test/progress_monitor.hpp>
-#include <boost/test/unit_test_suite_impl.hpp>
-
-#include <boost/test/detail/unit_test_parameters.hpp>
-
-// Boost
-#include <boost/progress.hpp>
-#include <boost/scoped_ptr.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                progress_monitor              ************** //
-// ************************************************************************** //
-
-namespace {
-
-struct progress_monitor_impl {
-    // Constructor
-    progress_monitor_impl()
-        : m_stream( runtime_config::log_sink() )
-    {}
-
-    std::ostream*                m_stream;
-    scoped_ptr<progress_display> m_progress_display;
-};
-
-progress_monitor_impl& s_pm_impl() { static progress_monitor_impl the_inst; return the_inst; }
-
-} // local namespace
-
-//____________________________________________________________________________//
-
-void
-progress_monitor_t::test_start( counter_t test_cases_amount )
-{
-    s_pm_impl().m_progress_display.reset( new progress_display( test_cases_amount, *s_pm_impl().m_stream ) );
-}
-
-//____________________________________________________________________________//
-
-void
-progress_monitor_t::test_aborted()
-{
-    (*s_pm_impl().m_progress_display) += s_pm_impl().m_progress_display->count();
-}
-
-//____________________________________________________________________________//
-
-void
-progress_monitor_t::test_unit_finish( test_unit const& tu, unsigned long )
-{
-    if( tu.p_type == tut_case )
-        ++(*s_pm_impl().m_progress_display);
-}
-
-//____________________________________________________________________________//
-
-void
-progress_monitor_t::test_unit_skipped( test_unit const& tu )
-{
-    test_case_counter tcc;
-    traverse_test_tree( tu, tcc );
-    
-    (*s_pm_impl().m_progress_display) += tcc.p_count;
-}
-
-//____________________________________________________________________________//
-
-void
-progress_monitor_t::set_stream( std::ostream& ostr )
-{
-    s_pm_impl().m_stream = &ostr;
-}
-
-//____________________________________________________________________________//
-    
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_PROGRESS_MONITOR_IPP_020105GER
diff --git a/SRC/Boost/boost/test/impl/results_collector.ipp b/SRC/Boost/boost/test/impl/results_collector.ipp
deleted file mode 100755
index d5fd708..0000000
--- a/SRC/Boost/boost/test/impl/results_collector.ipp
+++ /dev/null
@@ -1,294 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : implements Unit Test results collecting facility.
-// ***************************************************************************
-
-#ifndef BOOST_TEST_RESULTS_COLLECTOR_IPP_021105GER
-#define BOOST_TEST_RESULTS_COLLECTOR_IPP_021105GER
-
-// Boost.Test
-#include <boost/test/unit_test_suite_impl.hpp>
-#include <boost/test/unit_test_log.hpp>
-#include <boost/test/results_collector.hpp>
-#include <boost/test/framework.hpp>
-
-// Boost
-#include <boost/cstdlib.hpp>
-
-// STL
-#include <map>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                 test_results                 ************** //
-// ************************************************************************** //
-
-test_results::test_results()
-{
-    clear();
-}
-
-//____________________________________________________________________________//
-
-bool
-test_results::passed() const
-{
-    return  !p_skipped                                  &&
-            p_test_cases_failed == 0                    &&
-            p_assertions_failed <= p_expected_failures  &&
-            !p_aborted;
-}
-
-//____________________________________________________________________________//
-
-int
-test_results::result_code() const
-{
-    return passed() ? exit_success
-           : ( (p_assertions_failed > p_expected_failures || p_skipped )
-                    ? exit_test_failure
-                    : exit_exception_failure );
-}
-
-//____________________________________________________________________________//
-
-void
-test_results::operator+=( test_results const& tr )
-{
-    p_assertions_passed.value   += tr.p_assertions_passed;
-    p_assertions_failed.value   += tr.p_assertions_failed;
-    p_test_cases_passed.value   += tr.p_test_cases_passed;
-    p_test_cases_failed.value   += tr.p_test_cases_failed;
-    p_test_cases_skipped.value  += tr.p_test_cases_skipped;
-    p_test_cases_aborted.value  += tr.p_test_cases_aborted;
-}
-
-//____________________________________________________________________________//
-
-void
-test_results::clear()
-{
-    p_assertions_passed.value    = 0;
-    p_assertions_failed.value    = 0;
-    p_expected_failures.value    = 0;
-    p_test_cases_passed.value    = 0;
-    p_test_cases_failed.value    = 0;
-    p_test_cases_skipped.value   = 0;
-    p_test_cases_aborted.value   = 0;
-    p_aborted.value              = false;
-    p_skipped.value              = true;
-}
-
-//____________________________________________________________________________//
-    
-// ************************************************************************** //
-// **************               results_collector              ************** //
-// ************************************************************************** //
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, <1300)
-
-namespace {
-
-struct results_collector_impl {
-    std::map<test_unit_id,test_results> m_results_store;
-};
-
-results_collector_impl& s_rc_impl() { static results_collector_impl the_inst; return the_inst; }
-
-} // local namespace
-
-#else
-
-struct results_collector_impl {
-    std::map<test_unit_id,test_results> m_results_store;
-};
-
-static results_collector_impl& s_rc_impl() { static results_collector_impl the_inst; return the_inst; }
-
-#endif
-
-//____________________________________________________________________________//
-
-void
-results_collector_t::test_start( counter_t )
-{
-    s_rc_impl().m_results_store.clear();
-}
-
-//____________________________________________________________________________//
-
-void
-results_collector_t::test_finish()
-{
-    // do nothing
-}
-
-//____________________________________________________________________________//
-
-void
-results_collector_t::test_aborted()
-{
-    // do nothing
-}
-
-//____________________________________________________________________________//
-
-void
-results_collector_t::test_unit_start( test_unit const& tu )
-{
-    // init test_results entry
-    test_results& tr = s_rc_impl().m_results_store[tu.p_id];
-
-    tr.clear();
-    
-    tr.p_expected_failures.value    = tu.p_expected_failures;
-    tr.p_skipped.value              = false;
-}
-
-//____________________________________________________________________________//
-
-class results_collect_helper : public test_tree_visitor {
-public:
-    explicit results_collect_helper( test_results& tr, test_unit const& ts ) : m_tr( tr ), m_ts( ts ) {}
-
-    void    visit( test_case const& tc )
-    {
-        test_results const& tr = results_collector.results( tc.p_id );
-        m_tr += tr;
-
-        if( tr.passed() )
-            m_tr.p_test_cases_passed.value++;
-        else if( tr.p_skipped )
-            m_tr.p_test_cases_skipped.value++;
-        else {
-            if( tr.p_aborted )
-                m_tr.p_test_cases_aborted.value++;
-            m_tr.p_test_cases_failed.value++;
-        }
-    }
-    bool    test_suite_start( test_suite const& ts )
-    {
-        if( m_ts.p_id == ts.p_id )
-            return true;
-        else {
-            m_tr += results_collector.results( ts.p_id );
-            return false;
-        }
-    }
-
-private:
-    // Data members
-    test_results&       m_tr;
-    test_unit const&    m_ts;
-};
-
-//____________________________________________________________________________//
-
-void
-results_collector_t::test_unit_finish( test_unit const& tu, unsigned long )
-{
-    if( tu.p_type == tut_suite ) {
-        results_collect_helper ch( s_rc_impl().m_results_store[tu.p_id], tu );
-
-        traverse_test_tree( tu, ch );
-    }
-    else {
-        test_results const& tr = s_rc_impl().m_results_store[tu.p_id];
-        
-        bool num_failures_match = tr.p_aborted || tr.p_assertions_failed >= tr.p_expected_failures;
-        if( !num_failures_match )
-            BOOST_TEST_MESSAGE( "Test case " << tu.p_name << " has fewer failures than expected" );
-
-        bool check_any_assertions = tr.p_aborted || (tr.p_assertions_failed != 0) || (tr.p_assertions_passed != 0);
-        if( !check_any_assertions )
-            BOOST_TEST_MESSAGE( "Test case " << tu.p_name << " did not check any assertions" );
-    }
-}
-
-//____________________________________________________________________________//
-
-void
-results_collector_t::test_unit_skipped( test_unit const& tu )
-{
-    if( tu.p_type == tut_suite ) {
-        test_case_counter tcc;
-        traverse_test_tree( tu, tcc );
-
-        test_results& tr = s_rc_impl().m_results_store[tu.p_id];
-
-        tr.clear();
-    
-        tr.p_skipped.value              = true;
-        tr.p_test_cases_skipped.value   = tcc.p_count;
-    }
-}
-
-//____________________________________________________________________________//
-
-void
-results_collector_t::assertion_result( bool passed )
-{
-    test_results& tr = s_rc_impl().m_results_store[framework::current_test_case().p_id];
-
-    if( passed )
-        tr.p_assertions_passed.value++;
-    else
-        tr.p_assertions_failed.value++;
-
-    if( tr.p_assertions_failed == 1 )
-        first_failed_assertion();
-}
-
-//____________________________________________________________________________//
-
-void
-results_collector_t::exception_caught( execution_exception const& )
-{
-    test_results& tr = s_rc_impl().m_results_store[framework::current_test_case().p_id];
-
-    tr.p_assertions_failed.value++;
-}
-
-//____________________________________________________________________________//
-
-void
-results_collector_t::test_unit_aborted( test_unit const& tu )
-{
-    s_rc_impl().m_results_store[tu.p_id].p_aborted.value = true;
-}
-
-//____________________________________________________________________________//
-
-test_results const&
-results_collector_t::results( test_unit_id id ) const
-{
-    return s_rc_impl().m_results_store[id];
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_RESULTS_COLLECTOR_IPP_021105GER
diff --git a/SRC/Boost/boost/test/impl/results_reporter.ipp b/SRC/Boost/boost/test/impl/results_reporter.ipp
deleted file mode 100755
index 0db9611..0000000
--- a/SRC/Boost/boost/test/impl/results_reporter.ipp
+++ /dev/null
@@ -1,202 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : result reporting facilties
-// ***************************************************************************
-
-#ifndef BOOST_TEST_RESULTS_REPORTER_IPP_020105GER
-#define BOOST_TEST_RESULTS_REPORTER_IPP_020105GER
-
-// Boost.Test
-#include <boost/test/results_reporter.hpp>
-#include <boost/test/unit_test_suite_impl.hpp>
-#include <boost/test/results_collector.hpp>
-#include <boost/test/framework.hpp>
-#include <boost/test/output/plain_report_formatter.hpp>
-#include <boost/test/output/xml_report_formatter.hpp>
-
-#include <boost/test/detail/unit_test_parameters.hpp>
-
-// Boost
-#include <boost/scoped_ptr.hpp>
-#include <boost/io/ios_state.hpp>
-typedef ::boost::io::ios_base_all_saver io_saver_type;
-
-// STL
-#include <iostream>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace results_reporter {
-
-// ************************************************************************** //
-// **************        result reporter implementation        ************** //
-// ************************************************************************** //
-
-namespace {
-
-struct results_reporter_impl : test_tree_visitor {
-    // Constructor
-    results_reporter_impl()
-    : m_output( runtime_config::report_sink() )
-    , m_stream_state_saver( new io_saver_type( *m_output ) )
-    , m_report_level( CONFIRMATION_REPORT )
-    , m_formatter( new output::plain_report_formatter )
-    {}
-
-    // test tree visitor interface implementation
-    void    visit( test_case const& tc )
-    {
-        m_formatter->test_unit_report_start( tc, *m_output );
-        m_formatter->test_unit_report_finish( tc, *m_output );
-    }
-    bool    test_suite_start( test_suite const& ts )
-    {
-        m_formatter->test_unit_report_start( ts, *m_output );
-
-        if( m_report_level == DETAILED_REPORT && !results_collector.results( ts.p_id ).p_skipped )
-            return true;
-
-        m_formatter->test_unit_report_finish( ts, *m_output );
-        return false;
-    }
-    void    test_suite_finish( test_suite const& ts )
-    {
-        m_formatter->test_unit_report_finish( ts, *m_output );
-    }
-
-    typedef scoped_ptr<io_saver_type> saver_ptr;
-
-    // Data members
-    std::ostream*       m_output;
-    saver_ptr           m_stream_state_saver;
-    report_level        m_report_level;
-    scoped_ptr<format>  m_formatter;
-};
-
-results_reporter_impl& s_rr_impl() { static results_reporter_impl the_inst; return the_inst; }
-
-} // local namespace
-
-// ************************************************************************** //
-// **************              report configuration            ************** //
-// ************************************************************************** //
-
-void
-set_level( report_level l )
-{
-    if( l != INV_REPORT_LEVEL )
-        s_rr_impl().m_report_level = l;
-}
-
-//____________________________________________________________________________//
-
-void
-set_stream( std::ostream& ostr )
-{
-    s_rr_impl().m_output = &ostr;
-    s_rr_impl().m_stream_state_saver.reset( new io_saver_type( ostr ) );
-}
-
-//____________________________________________________________________________//
-
-std::ostream&
-get_stream()
-{
-    return *s_rr_impl().m_output;
-}
-
-//____________________________________________________________________________//
-
-void
-set_format( output_format rf )
-{
-    switch( rf ) {
-    case CLF:
-        set_format( new output::plain_report_formatter );
-        break;
-    case XML:
-        set_format( new output::xml_report_formatter );
-        break;
-    default:
-        break;
-    }
-}
-
-//____________________________________________________________________________//
-
-void
-set_format( results_reporter::format* f )
-{
-    if( f )
-        s_rr_impl().m_formatter.reset( f );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************               report initiation              ************** //
-// ************************************************************************** //
-
-void
-make_report( report_level l, test_unit_id id )
-{
-    if( l == INV_REPORT_LEVEL )
-        l = s_rr_impl().m_report_level;
-
-    if( l == NO_REPORT )
-        return;
-
-    if( id == INV_TEST_UNIT_ID )
-        id = framework::master_test_suite().p_id;
-
-    s_rr_impl().m_stream_state_saver->restore();
-
-    report_level bkup = s_rr_impl().m_report_level;
-    s_rr_impl().m_report_level = l;
-
-    s_rr_impl().m_formatter->results_report_start( *s_rr_impl().m_output );
-
-    switch( l ) {
-    case CONFIRMATION_REPORT:
-        s_rr_impl().m_formatter->do_confirmation_report( framework::get<test_unit>( id ), *s_rr_impl().m_output );
-        break;
-    case SHORT_REPORT:
-    case DETAILED_REPORT:
-        traverse_test_tree( id, s_rr_impl() );
-        break;
-    default:
-        break;
-    }
-
-    s_rr_impl().m_formatter->results_report_finish( *s_rr_impl().m_output );
-    s_rr_impl().m_report_level = bkup;
-}
-
-//____________________________________________________________________________//
-
-} // namespace results_reporter
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_RESULTS_REPORTER_IPP_020105GER
diff --git a/SRC/Boost/boost/test/impl/test_main.ipp b/SRC/Boost/boost/test/impl/test_main.ipp
deleted file mode 100755
index c3dae99..0000000
--- a/SRC/Boost/boost/test/impl/test_main.ipp
+++ /dev/null
@@ -1,68 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  (C) Copyright Beman Dawes 1995-2001.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $$Revision: 49312 $
-//
-//  Description : implements main function for Test Execution Monitor.
-// ***************************************************************************
-
-#ifndef BOOST_TEST_TEST_MAIN_IPP_012205GER
-#define BOOST_TEST_TEST_MAIN_IPP_012205GER
-
-// Boost.Test
-#include <boost/test/framework.hpp>
-#include <boost/test/test_tools.hpp>
-#include <boost/test/unit_test_suite.hpp>
-
-// Boost
-#include <boost/cstdlib.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-extern int test_main( int argc, char* argv[] );    // prototype for user's test_main()
-
-struct test_main_caller {
-    test_main_caller( int argc, char** argv ) : m_argc( argc ), m_argv( argv ) {}
-    
-    void operator()() {
-        int test_main_result = test_main( m_argc, m_argv );
-
-        // translate a test_main non-success return into a test error
-        BOOST_CHECK( test_main_result == 0 || test_main_result == boost::exit_success );
-    }
-  
-private:
-    // Data members    
-    int      m_argc;
-    char**   m_argv;
-};
-
-// ************************************************************************** //
-// **************                   test main                  ************** //
-// ************************************************************************** //
-
-::boost::unit_test::test_suite*
-init_unit_test_suite( int argc, char* argv[] ) {
-    using namespace ::boost::unit_test;
-    
-    framework::master_test_suite().p_name.value = "Test Program";
-    
-    framework::master_test_suite().add( BOOST_TEST_CASE( test_main_caller( argc, argv ) ) );
-    
-    return 0;
-}
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_TEST_MAIN_IPP_012205GER
diff --git a/SRC/Boost/boost/test/impl/test_tools.ipp b/SRC/Boost/boost/test/impl/test_tools.ipp
deleted file mode 100755
index 288443c..0000000
--- a/SRC/Boost/boost/test/impl/test_tools.ipp
+++ /dev/null
@@ -1,628 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : supplies offline implementation for the Test Tools
-// ***************************************************************************
-
-#ifndef BOOST_TEST_TEST_TOOLS_IPP_012205GER
-#define BOOST_TEST_TEST_TOOLS_IPP_012205GER
-
-// Boost.Test
-#include <boost/test/test_tools.hpp>
-#include <boost/test/unit_test_log.hpp>
-#include <boost/test/output_test_stream.hpp>
-#include <boost/test/framework.hpp>
-#include <boost/test/execution_monitor.hpp> // execution_aborted
-#include <boost/test/unit_test_suite_impl.hpp>
-
-// Boost
-#include <boost/config.hpp>
-
-// STL
-#include <fstream>
-#include <string>
-#include <cstring>
-#include <cctype>
-#include <cwchar>
-#include <stdexcept>
-#include <ios>
-
-// !! should we use #include <cstdarg>
-#include <stdarg.h>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-# ifdef BOOST_NO_STDC_NAMESPACE
-namespace std { using ::strcmp; using ::strlen; using ::isprint; }
-#if !defined( BOOST_NO_CWCHAR )
-namespace std { using ::wcscmp; }
-#endif
-# endif
-
-namespace boost {
-
-namespace test_tools {
-
-// ************************************************************************** //
-// **************                print_log_value               ************** //
-// ************************************************************************** //
-
-void
-print_log_value<char>::operator()( std::ostream& ostr, char t )
-{
-    if( (std::isprint)( static_cast<unsigned char>(t) ) )
-        ostr << '\'' << t << '\'';
-    else
-        ostr << std::hex
-#if BOOST_TEST_USE_STD_LOCALE
-        << std::showbase
-#else
-        << "0x"
-#endif
-        << static_cast<int>(t);
-}
-
-//____________________________________________________________________________//
-
-void
-print_log_value<unsigned char>::operator()( std::ostream& ostr, unsigned char t )
-{
-    ostr << std::hex
-        // showbase is only available for new style streams:
-#if BOOST_TEST_USE_STD_LOCALE
-        << std::showbase
-#else
-        << "0x"
-#endif
-        << static_cast<int>(t);
-}
-
-//____________________________________________________________________________//
-
-void
-print_log_value<char const*>::operator()( std::ostream& ostr, char const* t )
-{
-    ostr << ( t ? t : "null string" );
-}
-
-//____________________________________________________________________________//
-
-void
-print_log_value<wchar_t const*>::operator()( std::ostream& ostr, wchar_t const* t )
-{
-    ostr << ( t ? t : L"null string" );
-}
-
-//____________________________________________________________________________//
-
-namespace tt_detail {
-
-// ************************************************************************** //
-// **************            TOOL BOX Implementation           ************** //
-// ************************************************************************** //
-
-using ::boost::unit_test::lazy_ostream;
-
-bool
-check_impl( predicate_result const& pr, lazy_ostream const& check_descr,
-            const_string file_name, std::size_t line_num,
-            tool_level tl, check_type ct,
-            std::size_t num_of_args, ... )
-{
-    using namespace unit_test;
-
-    if( !framework::is_initialized() )
-        throw std::runtime_error( "can't use testing tools before framework is initialized" );
-
-    if( !!pr )
-        tl = PASS;
-
-    log_level    ll;
-    char const*  prefix;
-    char const*  suffix;
-       
-    switch( tl ) {
-    case PASS:
-        ll      = log_successful_tests;
-        prefix  = "check ";
-        suffix  = " passed";
-        break;
-    case WARN:
-        ll      = log_warnings;
-        prefix  = "condition ";
-        suffix  = " is not satisfied";
-        break;
-    case CHECK:
-        ll      = log_all_errors;
-        prefix  = "check ";
-        suffix  = " failed";
-        break;
-    case REQUIRE:
-        ll      = log_fatal_errors;
-        prefix  = "critical check ";
-        suffix  = " failed";
-        break;
-    default:
-        return true;
-    }
-
-    switch( ct ) {
-    case CHECK_PRED:
-        unit_test_log << unit_test::log::begin( file_name, line_num ) 
-                      << ll << prefix << check_descr << suffix;
-        
-        if( !pr.has_empty_message() )
-            unit_test_log << ". " << pr.message();
-        
-        unit_test_log << unit_test::log::end();
-        break;
-
-    case CHECK_MSG:
-        unit_test_log << unit_test::log::begin( file_name, line_num ) << ll;
-        
-        if( tl == PASS )
-            unit_test_log << prefix << "'" << check_descr << "'" << suffix;
-        else
-            unit_test_log << check_descr;
-        
-        if( !pr.has_empty_message() )
-            unit_test_log << ". " << pr.message();
-
-        unit_test_log << unit_test::log::end();
-        break;
-
-    case CHECK_EQUAL: 
-    case CHECK_NE: 
-    case CHECK_LT: 
-    case CHECK_LE: 
-    case CHECK_GT: 
-    case CHECK_GE: {
-        static char const* check_str [] = { " == ", " != ", " < " , " <= ", " > " , " >= " };
-        static char const* rever_str [] = { " != ", " == ", " >= ", " > " , " <= ", " < "  };
-
-        va_list args;
-
-        va_start( args, num_of_args );
-        char const*         arg1_descr  = va_arg( args, char const* );
-        lazy_ostream const* arg1_val    = va_arg( args, lazy_ostream const* );
-        char const*         arg2_descr  = va_arg( args, char const* );
-        lazy_ostream const* arg2_val    = va_arg( args, lazy_ostream const* );
-
-        unit_test_log << unit_test::log::begin( file_name, line_num ) 
-                      << ll << prefix << arg1_descr << check_str[ct-CHECK_EQUAL] << arg2_descr << suffix;
-
-        if( tl != PASS )
-            unit_test_log << " [" << *arg1_val << rever_str[ct-CHECK_EQUAL] << *arg2_val << "]" ;
-
-        va_end( args );
-        
-        if( !pr.has_empty_message() )
-            unit_test_log << ". " << pr.message();
-
-        unit_test_log << unit_test::log::end();
-        break;
-    }
-
-    case CHECK_CLOSE:
-    case CHECK_CLOSE_FRACTION: {
-        va_list args;
-
-        va_start( args, num_of_args );
-        char const*         arg1_descr  = va_arg( args, char const* );
-        lazy_ostream const* arg1_val    = va_arg( args, lazy_ostream const* );
-        char const*         arg2_descr  = va_arg( args, char const* );
-        lazy_ostream const* arg2_val    = va_arg( args, lazy_ostream const* );
-        /* toler_descr = */               va_arg( args, char const* );
-        lazy_ostream const* toler_val   = va_arg( args, lazy_ostream const* );
-
-        unit_test_log << unit_test::log::begin( file_name, line_num ) << ll;
-
-        unit_test_log << "difference{" << pr.message() << (ct == CHECK_CLOSE ? "%" : "")
-                      << "} between " << arg1_descr << "{" << *arg1_val
-                      << "} and "               << arg2_descr << "{" << *arg2_val
-                      << ( tl == PASS ? "} doesn't exceed " : "} exceeds " )
-                      << *toler_val;
-        if( ct == CHECK_CLOSE )
-            unit_test_log << "%";
-
-        va_end( args );
-        
-        unit_test_log << unit_test::log::end();
-        break;
-    }
-    case CHECK_SMALL: {
-        va_list args;
-
-        va_start( args, num_of_args );
-        char const*         arg1_descr  = va_arg( args, char const* );
-        lazy_ostream const* arg1_val    = va_arg( args, lazy_ostream const* );
-        /* toler_descr = */               va_arg( args, char const* );
-        lazy_ostream const* toler_val   = va_arg( args, lazy_ostream const* );
-
-        unit_test_log << unit_test::log::begin( file_name, line_num ) << ll;
-
-        unit_test_log << "absolute value of " << arg1_descr << "{" << *arg1_val << "}" 
-                      << ( tl == PASS ? " doesn't exceed " : " exceeds " )
-                      << *toler_val;
-
-        va_end( args );
-        
-        if( !pr.has_empty_message() )
-            unit_test_log << ". " << pr.message();
-
-        unit_test_log << unit_test::log::end();
-        break;
-    }
-
-    case CHECK_PRED_WITH_ARGS: {
-        unit_test_log << unit_test::log::begin( file_name, line_num ) 
-                      << ll << prefix << check_descr;
-
-        // print predicate call description
-        {
-            va_list args;
-            va_start( args, num_of_args );
-
-            unit_test_log << "( ";
-            for( std::size_t i = 0; i < num_of_args; ++i ) {
-                unit_test_log << va_arg( args, char const* );
-                va_arg( args, lazy_ostream const* ); // skip argument value;
-                
-                if( i != num_of_args-1 )
-                    unit_test_log << ", ";
-            }
-            unit_test_log << " )" << suffix;
-            va_end( args );
-        }
-                        
-        if( tl != PASS ) {
-            va_list args;
-            va_start( args, num_of_args );
-
-            unit_test_log << " for ( ";
-            for( std::size_t i = 0; i < num_of_args; ++i ) {
-                va_arg( args, char const* ); // skip argument description;            
-                unit_test_log << *va_arg( args, lazy_ostream const* );
-                
-                if( i != num_of_args-1 )
-                    unit_test_log << ", ";
-            }
-            unit_test_log << " )";
-            va_end( args );
-        }
-       
-        if( !pr.has_empty_message() )
-            unit_test_log << ". " << pr.message();
-
-        unit_test_log << unit_test::log::end();
-        break;
-    }
-
-    case CHECK_EQUAL_COLL: {
-        va_list args;
-
-        va_start( args, num_of_args );
-        char const* left_begin_descr    = va_arg( args, char const* );
-        char const* left_end_descr      = va_arg( args, char const* );
-        char const* right_begin_descr   = va_arg( args, char const* );
-        char const* right_end_descr     = va_arg( args, char const* );
-
-        unit_test_log << unit_test::log::begin( file_name, line_num ) 
-                      << ll << prefix 
-                      << "{ " << left_begin_descr  << ", " << left_end_descr  << " } == { " 
-                              << right_begin_descr << ", " << right_end_descr << " }"
-                      << suffix;
-
-        va_end( args );
-        
-        if( !pr.has_empty_message() )
-            unit_test_log << ". " << pr.message();
-
-        unit_test_log << unit_test::log::end();
-        break;
-    }
-
-    case CHECK_BITWISE_EQUAL: {
-        va_list args;
-
-        va_start( args, num_of_args );
-        char const* left_descr    = va_arg( args, char const* );
-        char const* right_descr   = va_arg( args, char const* );
-
-        unit_test_log << unit_test::log::begin( file_name, line_num )
-                      << ll << prefix << left_descr  << " =.= " << right_descr << suffix;
-
-        va_end( args );
-        
-        if( !pr.has_empty_message() )
-            unit_test_log << ". " << pr.message();
-
-        unit_test_log << unit_test::log::end();
-        break;
-    }
-    }
-
-    switch( tl ) {
-    case PASS:
-        framework::assertion_result( true );
-        return true;
-
-    case WARN:
-        return false;
-
-    case CHECK:
-        framework::assertion_result( false );
-        return false;
-        
-    case REQUIRE:
-        framework::assertion_result( false );
-
-        framework::test_unit_aborted( framework::current_test_case() );
-
-        throw execution_aborted();
-    }
-
-    return true;
-}
-
-//____________________________________________________________________________//
-
-predicate_result
-equal_impl( char const* left, char const* right )
-{
-    return (left && right) ? std::strcmp( left, right ) == 0 : (left == right);
-}
-
-//____________________________________________________________________________//
-
-#if !defined( BOOST_NO_CWCHAR )
-
-predicate_result
-equal_impl( wchar_t const* left, wchar_t const* right )
-{
-    return (left && right) ? std::wcscmp( left, right ) == 0 : (left == right);
-}
-
-#endif // !defined( BOOST_NO_CWCHAR )
-
-//____________________________________________________________________________//
-
-bool
-is_defined_impl( const_string symbol_name, const_string symbol_value )
-{
-    symbol_value.trim_left( 2 );
-    return symbol_name != symbol_value;
-}
-
-//____________________________________________________________________________//
-
-} // namespace tt_detail
-
-// ************************************************************************** //
-// **************               output_test_stream             ************** //
-// ************************************************************************** //
-
-struct output_test_stream::Impl
-{
-    std::fstream    m_pattern;
-    bool            m_match_or_save;
-    bool            m_text_or_binary;
-    std::string     m_synced_string;
-
-    char            get_char()
-    {
-        char res;
-        do {
-            m_pattern.get( res );
-        } while( m_text_or_binary && res == '\r' && !m_pattern.fail() && !m_pattern.eof() );
-
-        return res;
-    }
-
-    void            check_and_fill( predicate_result& res )
-    {
-        if( !res.p_predicate_value )
-            res.message() << "Output content: \"" << m_synced_string << '\"';
-    }
-};
-
-//____________________________________________________________________________//
-
-output_test_stream::output_test_stream( const_string pattern_file_name, bool match_or_save, bool text_or_binary )
-: m_pimpl( new Impl )
-{
-    if( !pattern_file_name.is_empty() ) {
-        std::ios::openmode m = match_or_save ? std::ios::in : std::ios::out;
-        if( !text_or_binary )
-            m |= std::ios::binary;
-
-        m_pimpl->m_pattern.open( pattern_file_name.begin(), m );
-
-        BOOST_WARN_MESSAGE( m_pimpl->m_pattern.is_open(),
-                             "Can't open pattern file " << pattern_file_name
-                                << " for " << (match_or_save ? "reading" : "writing") );
-    }
-
-    m_pimpl->m_match_or_save    = match_or_save;
-    m_pimpl->m_text_or_binary   = text_or_binary;
-}
-
-//____________________________________________________________________________//
-
-output_test_stream::~output_test_stream()
-{
-    delete m_pimpl;
-}
-
-//____________________________________________________________________________//
-
-predicate_result
-output_test_stream::is_empty( bool flush_stream )
-{
-    sync();
-
-    result_type res( m_pimpl->m_synced_string.empty() );
-
-    m_pimpl->check_and_fill( res );
-
-    if( flush_stream )
-        flush();
-
-    return res;
-}
-
-//____________________________________________________________________________//
-
-predicate_result
-output_test_stream::check_length( std::size_t length_, bool flush_stream )
-{
-    sync();
-
-    result_type res( m_pimpl->m_synced_string.length() == length_ );
-
-    m_pimpl->check_and_fill( res );
-
-    if( flush_stream )
-        flush();
-
-    return res;
-}
-
-//____________________________________________________________________________//
-
-predicate_result
-output_test_stream::is_equal( const_string arg, bool flush_stream )
-{
-    sync();
-
-    result_type res( const_string( m_pimpl->m_synced_string ) == arg );
-
-    m_pimpl->check_and_fill( res );
-
-    if( flush_stream )
-        flush();
-
-    return res;
-}
-
-//____________________________________________________________________________//
-
-predicate_result
-output_test_stream::match_pattern( bool flush_stream )
-{
-    sync();
-
-    result_type result( true );
-
-    if( !m_pimpl->m_pattern.is_open() ) {
-        result = false;
-        result.message() << "Pattern file can't be opened!";
-    }
-    else {
-        if( m_pimpl->m_match_or_save ) {
-            for ( std::string::size_type i = 0; i < m_pimpl->m_synced_string.length(); ++i ) {
-                char c = m_pimpl->get_char();
-
-                result = !m_pimpl->m_pattern.fail() &&
-                         !m_pimpl->m_pattern.eof()  &&
-                         (m_pimpl->m_synced_string[i] == c);
-
-                if( !result ) {
-                    std::string::size_type suffix_size  = (std::min)( m_pimpl->m_synced_string.length() - i,
-                                                                    static_cast<std::string::size_type>(5) );
-
-                    // try to log area around the mismatch
-                    result.message() << "Mismatch at position " << i << '\n'
-                        << "..." << m_pimpl->m_synced_string.substr( i, suffix_size ) << "..." << '\n'
-                        << "..." << c;
-
-                    std::string::size_type counter = suffix_size;
-                    while( --counter ) {
-                        char c = m_pimpl->get_char();
-
-                        if( m_pimpl->m_pattern.fail() || m_pimpl->m_pattern.eof() )
-                            break;
-
-                        result.message() << c;
-                    }
-
-                    result.message() << "...";
-
-                    // skip rest of the bytes. May help for further matching
-                    m_pimpl->m_pattern.ignore( 
-                        static_cast<std::streamsize>( m_pimpl->m_synced_string.length() - i - suffix_size) );
-                    break;
-                }
-            }
-        }
-        else {
-            m_pimpl->m_pattern.write( m_pimpl->m_synced_string.c_str(),
-                                      static_cast<std::streamsize>( m_pimpl->m_synced_string.length() ) );
-            m_pimpl->m_pattern.flush();
-        }
-    }
-
-    if( flush_stream )
-        flush();
-
-    return result;
-}
-
-//____________________________________________________________________________//
-
-void
-output_test_stream::flush()
-{
-    m_pimpl->m_synced_string.erase();
-
-#ifndef BOOST_NO_STRINGSTREAM
-    str( std::string() );
-#else
-    seekp( 0, std::ios::beg );
-#endif
-}
-
-//____________________________________________________________________________//
-
-std::size_t
-output_test_stream::length()
-{
-    sync();
-
-    return m_pimpl->m_synced_string.length();
-}
-
-//____________________________________________________________________________//
-
-void
-output_test_stream::sync()
-{
-#ifdef BOOST_NO_STRINGSTREAM
-    m_pimpl->m_synced_string.assign( str(), pcount() );
-    freeze( false );
-#else
-    m_pimpl->m_synced_string = str();
-#endif
-}
-
-//____________________________________________________________________________//
-
-} // namespace test_tools
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_TEST_TOOLS_IPP_012205GER
diff --git a/SRC/Boost/boost/test/impl/unit_test_log.ipp b/SRC/Boost/boost/test/impl/unit_test_log.ipp
deleted file mode 100755
index c656e71..0000000
--- a/SRC/Boost/boost/test/impl/unit_test_log.ipp
+++ /dev/null
@@ -1,444 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : implemets Unit Test Log
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_LOG_IPP_012205GER
-#define BOOST_TEST_UNIT_TEST_LOG_IPP_012205GER
-
-// Boost.Test
-#include <boost/test/unit_test_log.hpp>
-#include <boost/test/unit_test_log_formatter.hpp>
-#include <boost/test/unit_test_suite_impl.hpp>
-#include <boost/test/execution_monitor.hpp>
-
-#include <boost/test/detail/unit_test_parameters.hpp>
-
-#include <boost/test/utils/basic_cstring/compare.hpp>
-
-#include <boost/test/output/compiler_log_formatter.hpp>
-#include <boost/test/output/xml_log_formatter.hpp>
-
-// Boost
-#include <boost/scoped_ptr.hpp>
-#include <boost/io/ios_state.hpp>
-typedef ::boost::io::ios_base_all_saver io_saver_type;
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************             entry_value_collector            ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-entry_value_collector const&
-entry_value_collector::operator<<( lazy_ostream const& v ) const
-{
-    unit_test_log << v;
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-entry_value_collector const& 
-entry_value_collector::operator<<( const_string v ) const
-{
-    unit_test_log << v;
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-entry_value_collector::~entry_value_collector()
-{
-    if( m_last )
-        unit_test_log << log::end();
-}
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-// ************************************************************************** //
-// **************                 unit_test_log                ************** //
-// ************************************************************************** //
-
-namespace {
-
-struct unit_test_log_impl {
-    // Constructor
-    unit_test_log_impl()
-    : m_stream( runtime_config::log_sink() )
-    , m_stream_state_saver( new io_saver_type( *m_stream ) )
-    , m_threshold_level( log_all_errors )
-    , m_log_formatter( new output::compiler_log_formatter )
-    {
-    }
-
-    // log data
-    typedef scoped_ptr<unit_test_log_formatter> formatter_ptr;
-    typedef scoped_ptr<io_saver_type>           saver_ptr;
-
-    std::ostream*       m_stream;
-    saver_ptr           m_stream_state_saver;
-    log_level           m_threshold_level;
-    formatter_ptr       m_log_formatter;
-
-    // entry data
-    bool                m_entry_in_progress;
-    bool                m_entry_started;
-    log_entry_data      m_entry_data;
-
-    // check point data
-    log_checkpoint_data m_checkpoint_data;
-
-    // helper functions
-    std::ostream&       stream()            { return *m_stream; }
-    void                set_checkpoint( const_string file, std::size_t line_num, const_string msg )
-    {
-        assign_op( m_checkpoint_data.m_message, msg, 0 );
-        m_checkpoint_data.m_file_name    = file;
-        m_checkpoint_data.m_line_num    = line_num;
-    }
-};
-
-unit_test_log_impl& s_log_impl() { static unit_test_log_impl the_inst; return the_inst; }
-
-} // local namespace
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::test_start( counter_t test_cases_amount )
-{
-    if( s_log_impl().m_threshold_level == log_nothing )
-        return;
-
-    s_log_impl().m_log_formatter->log_start( s_log_impl().stream(), test_cases_amount );
-
-    if( runtime_config::show_build_info() )
-        s_log_impl().m_log_formatter->log_build_info( s_log_impl().stream() );
-
-    s_log_impl().m_entry_in_progress = false;
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::test_finish()
-{
-    if( s_log_impl().m_threshold_level == log_nothing )
-        return;
-
-    s_log_impl().m_log_formatter->log_finish( s_log_impl().stream() );
-
-    s_log_impl().stream().flush();
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::test_aborted()
-{
-    BOOST_TEST_LOG_ENTRY( log_messages ) << "Test is aborted";
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::test_unit_start( test_unit const& tu )
-{
-    if( s_log_impl().m_threshold_level > log_test_units )
-        return;
-
-    if( s_log_impl().m_entry_in_progress )
-        *this << log::end();
-
-    s_log_impl().m_log_formatter->test_unit_start( s_log_impl().stream(), tu );
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::test_unit_finish( test_unit const& tu, unsigned long elapsed )
-{
-    if( s_log_impl().m_threshold_level > log_test_units )
-        return;
-
-    s_log_impl().m_checkpoint_data.clear();
-
-    if( s_log_impl().m_entry_in_progress )
-        *this << log::end();
-
-    s_log_impl().m_log_formatter->test_unit_finish( s_log_impl().stream(), tu, elapsed );
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::test_unit_skipped( test_unit const& tu )
-{
-    if( s_log_impl().m_threshold_level > log_test_units )
-        return;
-
-    if( s_log_impl().m_entry_in_progress )
-        *this << log::end();
-
-    s_log_impl().m_log_formatter->test_unit_skipped( s_log_impl().stream(), tu );
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::test_unit_aborted( test_unit const& )
-{
-    // do nothing
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::assertion_result( bool )
-{
-    // do nothing
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::exception_caught( execution_exception const& ex )
-{
-    log_level l =
-        ex.code() <= execution_exception::cpp_exception_error   ? log_cpp_exception_errors :
-        (ex.code() <= execution_exception::timeout_error        ? log_system_errors
-                                                                : log_fatal_errors );
-
-    if( l >= s_log_impl().m_threshold_level ) {
-        if( s_log_impl().m_entry_in_progress )
-            *this << log::end();
-
-        s_log_impl().m_log_formatter->log_exception( s_log_impl().stream(), s_log_impl().m_checkpoint_data, ex );
-    }
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::set_checkpoint( const_string file, std::size_t line_num, const_string msg )
-{
-    s_log_impl().set_checkpoint( file, line_num, msg );
-}
-
-//____________________________________________________________________________//
-
-char
-set_unix_slash( char in )
-{
-    return in == '\\' ? '/' : in;
-}
-    
-unit_test_log_t&
-unit_test_log_t::operator<<( log::begin const& b )
-{
-    if( s_log_impl().m_entry_in_progress )
-        *this << log::end();
-
-    s_log_impl().m_stream_state_saver->restore();
-
-    s_log_impl().m_entry_data.clear();
-
-    assign_op( s_log_impl().m_entry_data.m_file_name, b.m_file_name, 0 );
-
-    // normalize file name
-    std::transform( s_log_impl().m_entry_data.m_file_name.begin(), s_log_impl().m_entry_data.m_file_name.end(),
-                    s_log_impl().m_entry_data.m_file_name.begin(),
-                    &set_unix_slash );
-
-    s_log_impl().m_entry_data.m_line_num = b.m_line_num;
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-unit_test_log_t&
-unit_test_log_t::operator<<( log::end const& )
-{
-    if( s_log_impl().m_entry_in_progress )
-        s_log_impl().m_log_formatter->log_entry_finish( s_log_impl().stream() );
-
-    s_log_impl().m_entry_in_progress = false;
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-unit_test_log_t&
-unit_test_log_t::operator<<( log_level l )
-{
-    s_log_impl().m_entry_data.m_level = l;
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-ut_detail::entry_value_collector
-unit_test_log_t::operator()( log_level l )
-{
-    *this << l;
-
-    return ut_detail::entry_value_collector();
-}
-
-//____________________________________________________________________________//
-
-bool
-unit_test_log_t::log_entry_start()
-{
-    if( s_log_impl().m_entry_in_progress ) 
-        return true;
-
-    switch( s_log_impl().m_entry_data.m_level ) {
-    case log_successful_tests:
-        s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
-                                                       unit_test_log_formatter::BOOST_UTL_ET_INFO );
-        break;
-    case log_messages:
-        s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
-                                                       unit_test_log_formatter::BOOST_UTL_ET_MESSAGE );
-        break;
-    case log_warnings:
-        s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
-                                                       unit_test_log_formatter::BOOST_UTL_ET_WARNING );
-        break;
-    case log_all_errors:
-    case log_cpp_exception_errors:
-    case log_system_errors:
-        s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
-                                                       unit_test_log_formatter::BOOST_UTL_ET_ERROR );
-        break;
-    case log_fatal_errors:
-        s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
-                                                       unit_test_log_formatter::BOOST_UTL_ET_FATAL_ERROR );
-        break;
-    case log_nothing:
-    case log_test_units:
-    case invalid_log_level:
-        return false;
-    }
-
-    s_log_impl().m_entry_in_progress = true;
-
-    return true;
-}
-
-//____________________________________________________________________________//
-
-unit_test_log_t&
-unit_test_log_t::operator<<( const_string value )
-{
-    if( s_log_impl().m_entry_data.m_level >= s_log_impl().m_threshold_level && !value.empty() && log_entry_start() )
-        s_log_impl().m_log_formatter->log_entry_value( s_log_impl().stream(), value );
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-unit_test_log_t&
-unit_test_log_t::operator<<( lazy_ostream const& value )
-{
-    if( s_log_impl().m_entry_data.m_level >= s_log_impl().m_threshold_level && !value.empty() && log_entry_start() )
-        s_log_impl().m_log_formatter->log_entry_value( s_log_impl().stream(), value );
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::set_stream( std::ostream& str )
-{
-    if( s_log_impl().m_entry_in_progress )
-        return;
-
-    s_log_impl().m_stream = &str;
-    s_log_impl().m_stream_state_saver.reset( new io_saver_type( str ) );
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::set_threshold_level( log_level lev )
-{
-    if( s_log_impl().m_entry_in_progress || lev == invalid_log_level )
-        return;
-
-    s_log_impl().m_threshold_level = lev;
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::set_format( output_format log_format )
-{
-    if( s_log_impl().m_entry_in_progress )
-        return;
-
-    if( log_format == CLF )
-        set_formatter( new output::compiler_log_formatter );
-    else
-        set_formatter( new output::xml_log_formatter );
-}
-
-//____________________________________________________________________________//
-
-void
-unit_test_log_t::set_formatter( unit_test_log_formatter* the_formatter )
-{
-    s_log_impl().m_log_formatter.reset( the_formatter );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************            unit_test_log_formatter           ************** //
-// ************************************************************************** //
-
-void
-unit_test_log_formatter::log_entry_value( std::ostream& ostr, lazy_ostream const& value )
-{
-    log_entry_value( ostr, (wrap_stringstream().ref() << value).str() );
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UNIT_TEST_LOG_IPP_012205GER
diff --git a/SRC/Boost/boost/test/impl/unit_test_main.ipp b/SRC/Boost/boost/test/impl/unit_test_main.ipp
deleted file mode 100755
index 2e04d71..0000000
--- a/SRC/Boost/boost/test/impl/unit_test_main.ipp
+++ /dev/null
@@ -1,246 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : main function implementation for Unit Test Framework
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_MAIN_IPP_012205GER
-#define BOOST_TEST_UNIT_TEST_MAIN_IPP_012205GER
-
-// Boost.Test
-#include <boost/test/framework.hpp>
-#include <boost/test/results_collector.hpp>
-#include <boost/test/unit_test_suite_impl.hpp>
-#include <boost/test/results_reporter.hpp>
-
-#include <boost/test/detail/unit_test_parameters.hpp>
-
-#if !defined(__BORLANDC__) && !BOOST_WORKAROUND( BOOST_MSVC, < 1300 ) && !BOOST_WORKAROUND( __SUNPRO_CC, < 0x5100 )
-#define BOOST_TEST_SUPPORT_RUN_BY_NAME
-#include <boost/test/utils/iterator/token_iterator.hpp>
-#endif
-
-// Boost
-#include <boost/cstdlib.hpp>
-#include <boost/bind.hpp>
-
-// STL
-#include <stdexcept>
-#include <iostream>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                 test_case_filter             ************** //
-// ************************************************************************** //
-
-class test_case_filter : public test_tree_visitor {
-public:
-    struct single_filter {
-        single_filter( const_string in )
-        {
-            if( in == "*" )
-                m_kind  = SFK_ALL;
-            else if( first_char( in ) == '*' && last_char( in ) == '*' ) {
-                m_kind  = SFK_SUBSTR;
-                m_value = in.substr( 1, in.size()-1 );
-            }
-            else if( first_char( in ) == '*' ) {
-                m_kind  = SFK_TRAILING;
-                m_value = in.substr( 1 );
-            }
-            else if( last_char( in ) == '*' ) {
-                m_kind  = SFK_LEADING;
-                m_value = in.substr( 0, in.size()-1 );
-            }
-            else {
-                m_kind  = SFK_MATCH;
-                m_value = in;
-            }
-        };
-
-        bool            pass( test_unit const& tu ) const
-        {
-            const_string name( tu.p_name );
-    
-            switch( m_kind ) {
-            default:
-            case SFK_ALL:
-                return true;
-
-            case SFK_LEADING:
-                return name.substr( 0, m_value.size() ) == m_value;
-
-            case SFK_TRAILING:
-                return name.size() >= m_value.size() && name.substr( name.size() - m_value.size() ) == m_value;
-
-            case SFK_SUBSTR:
-                return name.find( m_value ) != const_string::npos;
-
-            case SFK_MATCH:
-                return m_value == tu.p_name.get();
-            }
-        }
-        enum kind { SFK_ALL, SFK_LEADING, SFK_TRAILING, SFK_SUBSTR, SFK_MATCH };
-
-        kind            m_kind;
-        const_string    m_value;
-    };
-    // Constructor
-#ifndef BOOST_TEST_SUPPORT_RUN_BY_NAME
-    explicit        test_case_filter( const_string ) : m_depth( 0 ) {}
-#else
-    explicit        test_case_filter( const_string tc_to_run ) 
-    : m_depth( 0 )
-    {
-        string_token_iterator tit( tc_to_run, (dropped_delimeters = "/", kept_delimeters = dt_none) );
-
-        while( tit != string_token_iterator() ) {
-            m_filters.push_back( 
-                std::vector<single_filter>( string_token_iterator( *tit, (dropped_delimeters = ",", kept_delimeters = dt_none)  ), 
-                                            string_token_iterator() ) );
-
-            ++tit;           
-        }
-    }
-#endif
-    
-    void            filter_unit( test_unit const& tu )
-    {
-        if( (++m_depth - 1) > m_filters.size() ) {
-            tu.p_enabled.value = true;
-            return;
-        }
-
-        if( m_depth == 1 )
-            return;
-
-        std::vector<single_filter> const& filters = m_filters[m_depth-2];
-
-        tu.p_enabled.value =
-            std::find_if( filters.begin(), filters.end(), bind( &single_filter::pass, _1, boost::ref(tu) ) ) != filters.end();
-    }
-
-    // test tree visitor interface
-    virtual void    visit( test_case const& tc )
-    {
-        if( m_depth < m_filters.size() ) {
-            tc.p_enabled.value = false;
-            return;
-        }
-
-        filter_unit( tc );
-
-        --m_depth;
-    }
-
-    virtual bool    test_suite_start( test_suite const& ts )
-    { 
-        filter_unit( ts );
-
-        if( !ts.p_enabled )
-            --m_depth;
-
-        return ts.p_enabled;
-    }
-
-    virtual void    test_suite_finish( test_suite const& )  { --m_depth; }
-
-private:
-    // Data members
-    std::vector<std::vector<single_filter> >    m_filters;
-    unsigned                                    m_depth;
-};
-
-// ************************************************************************** //
-// **************                  unit_test_main              ************** //
-// ************************************************************************** //
-
-int BOOST_TEST_DECL
-unit_test_main( init_unit_test_func init_func, int argc, char* argv[] )
-{
-    try {
-        framework::init( init_func, argc, argv );
-
-        if( !runtime_config::test_to_run().is_empty() ) {
-            test_case_filter filter( runtime_config::test_to_run() );
-
-            traverse_test_tree( framework::master_test_suite().p_id, filter );
-        }
-
-        framework::run();
-
-        results_reporter::make_report();
-
-        return runtime_config::no_result_code() 
-                    ? boost::exit_success
-                    : results_collector.results( framework::master_test_suite().p_id ).result_code();
-    }
-    catch( framework::nothing_to_test const& ) {
-        return boost::exit_success;
-    }
-    catch( framework::internal_error const& ex ) {
-        results_reporter::get_stream() << "Boost.Test framework internal error: " << ex.what() << std::endl;
-        
-        return boost::exit_exception_failure;
-    }
-    catch( framework::setup_error const& ex ) {
-        results_reporter::get_stream() << "Test setup error: " << ex.what() << std::endl;
-        
-        return boost::exit_exception_failure;
-    }
-    catch( ... ) {
-        results_reporter::get_stream() << "Boost.Test framework internal error: unknown reason" << std::endl;
-        
-        return boost::exit_exception_failure;
-    }
-}
-
-} // namespace unit_test
-
-} // namespace boost
-
-#if !defined(BOOST_TEST_DYN_LINK) && !defined(BOOST_TEST_NO_MAIN)
-
-// ************************************************************************** //
-// **************        main function for tests using lib     ************** //
-// ************************************************************************** //
-
-int BOOST_TEST_CALL_DECL
-main( int argc, char* argv[] )
-{
-    // prototype for user's unit test init function
-#ifdef BOOST_TEST_ALTERNATIVE_INIT_API
-    extern bool init_unit_test();
-
-    boost::unit_test::init_unit_test_func init_func = &init_unit_test;
-#else
-    extern ::boost::unit_test::test_suite* init_unit_test_suite( int argc, char* argv[] );
-
-    boost::unit_test::init_unit_test_func init_func = &init_unit_test_suite;
-#endif
-
-    return ::boost::unit_test::unit_test_main( init_func, argc, argv );
-}
-
-#endif // !BOOST_TEST_DYN_LINK && !BOOST_TEST_NO_MAIN
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UNIT_TEST_MAIN_IPP_012205GER
diff --git a/SRC/Boost/boost/test/impl/unit_test_monitor.ipp b/SRC/Boost/boost/test/impl/unit_test_monitor.ipp
deleted file mode 100755
index 4f051ce..0000000
--- a/SRC/Boost/boost/test/impl/unit_test_monitor.ipp
+++ /dev/null
@@ -1,101 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : implements specific subclass of Executon Monitor used by Unit
-//  Test Framework to monitor test cases run.
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_MONITOR_IPP_012205GER
-#define BOOST_TEST_UNIT_TEST_MONITOR_IPP_012205GER
-
-// Boost.Test
-#include <boost/test/unit_test_monitor.hpp>
-#include <boost/test/unit_test_suite_impl.hpp>
-#include <boost/test/test_tools.hpp>
-#include <boost/test/framework.hpp>
-
-#include <boost/test/detail/unit_test_parameters.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace {
-
-template<typename F>
-struct zero_return_wrapper_t {
-    explicit zero_return_wrapper_t( F const& f ) : m_f( f ) {}
-    
-    int operator()() { m_f(); return 0; }
-    
-    F const& m_f;
-};
-
-template<typename F>
-zero_return_wrapper_t<F>
-zero_return_wrapper( F const& f )
-{
-    return zero_return_wrapper_t<F>( f );
-}
-
-}
-
-// ************************************************************************** //
-// **************               unit_test_monitor              ************** //
-// ************************************************************************** //
-
-unit_test_monitor_t::error_level
-unit_test_monitor_t::execute_and_translate( test_case const& tc )
-{
-    try {
-        p_catch_system_errors.value     = runtime_config::catch_sys_errors();
-        p_timeout.value                 = tc.p_timeout.get();
-        p_auto_start_dbg.value          = runtime_config::auto_start_dbg();
-        p_use_alt_stack.value           = runtime_config::use_alt_stack();
-        p_detect_fp_exceptions.value    = runtime_config::detect_fp_exceptions();
-
-        execute( callback0<int>( zero_return_wrapper( tc.test_func() ) ) );
-    }
-    catch( execution_exception const& ex ) {
-        framework::exception_caught( ex );
-        framework::test_unit_aborted( framework::current_test_case() );
-
-        // translate execution_exception::error_code to error_level
-        switch( ex.code() ) {
-        case execution_exception::no_error:             return test_ok;
-        case execution_exception::user_error:           return unexpected_exception;
-        case execution_exception::cpp_exception_error:  return unexpected_exception;
-        case execution_exception::system_error:         return os_exception;
-        case execution_exception::timeout_error:        return os_timeout;
-        case execution_exception::user_fatal_error:
-        case execution_exception::system_fatal_error:   return fatal_error;
-        default:                                        return unexpected_exception;
-        }
-    }
-
-    return test_ok;
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UNIT_TEST_MONITOR_IPP_012205GER
diff --git a/SRC/Boost/boost/test/impl/unit_test_parameters.ipp b/SRC/Boost/boost/test/impl/unit_test_parameters.ipp
deleted file mode 100755
index 72f35b9..0000000
--- a/SRC/Boost/boost/test/impl/unit_test_parameters.ipp
+++ /dev/null
@@ -1,527 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 63640 $
-//
-//  Description : simple implementation for Unit Test Framework parameter
-//  handling routines. May be rewritten in future to use some kind of
-//  command-line arguments parsing facility and environment variable handling
-//  facility
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_PARAMETERS_IPP_012205GER
-#define BOOST_TEST_UNIT_TEST_PARAMETERS_IPP_012205GER
-
-// Boost.Test
-#include <boost/test/detail/unit_test_parameters.hpp>
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-#include <boost/test/utils/basic_cstring/compare.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp>
-#include <boost/test/utils/fixed_mapping.hpp>
-#include <boost/test/debug.hpp>
-#include <boost/test/framework.hpp>
-
-// Boost.Runtime.Param
-#include <boost/test/utils/runtime/cla/dual_name_parameter.hpp>
-#include <boost/test/utils/runtime/cla/parser.hpp>
-
-namespace rt  = boost::runtime;
-namespace cla = rt::cla;
-
-
-#ifndef UNDER_CE
-#include <boost/test/utils/runtime/env/variable.hpp>
-
-namespace env = rt::env;
-#endif
-
-
-// Boost
-#include <boost/config.hpp>
-#include <boost/test/detail/suppress_warnings.hpp>
-#include <boost/lexical_cast.hpp>
-#include <boost/test/detail/enable_warnings.hpp>
-
-// STL
-#include <map>
-#include <cstdlib>
-#include <iostream>
-#include <fstream>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-# ifdef BOOST_NO_STDC_NAMESPACE
-namespace std { using ::getenv; using ::strncmp; using ::strcmp; }
-# endif
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************    input operations for unit_test's enums    ************** //
-// ************************************************************************** //
-
-std::istream&
-operator>>( std::istream& in, unit_test::log_level& ll )
-{
-    static fixed_mapping<const_string,unit_test::log_level,case_ins_less<char const> > log_level_name(
-        "all"           , log_successful_tests,
-        "success"       , log_successful_tests,
-        "test_suite"    , log_test_units,
-        "unit_scope"    , log_test_units,
-        "message"       , log_messages,
-        "warning"       , log_warnings,
-        "error"         , log_all_errors,
-        "cpp_exception" , log_cpp_exception_errors,
-        "system_error"  , log_system_errors,
-        "fatal_error"   , log_fatal_errors,
-        "nothing"       , log_nothing,
-
-        invalid_log_level
-        );
-
-    std::string val;
-    in >> val;
-
-    ll = log_level_name[val];
-    BOOST_TEST_SETUP_ASSERT( ll != unit_test::invalid_log_level, "invalid log level " + val );
-
-    return in;
-}
-
-//____________________________________________________________________________//
-
-std::istream&
-operator>>( std::istream& in, unit_test::report_level& rl )
-{
-    fixed_mapping<const_string,unit_test::report_level,case_ins_less<char const> > report_level_name (
-        "confirm",  CONFIRMATION_REPORT,
-        "short",    SHORT_REPORT,
-        "detailed", DETAILED_REPORT,
-        "no",       NO_REPORT,
-
-        INV_REPORT_LEVEL
-        );
-
-    std::string val;
-    in >> val;
-
-    rl = report_level_name[val];
-    BOOST_TEST_SETUP_ASSERT( rl != INV_REPORT_LEVEL, "invalid report level " + val );
-
-    return in;
-}
-
-//____________________________________________________________________________//
-
-std::istream&
-operator>>( std::istream& in, unit_test::output_format& of )
-{
-    fixed_mapping<const_string,unit_test::output_format,case_ins_less<char const> > output_format_name (
-        "HRF", unit_test::CLF,
-        "CLF", unit_test::CLF,
-        "XML", unit_test::XML,
-
-        unit_test::INV_OF
-        );
-
-    std::string val;
-    in >> val;
-
-    of = output_format_name[val];
-    BOOST_TEST_SETUP_ASSERT( of != unit_test::INV_OF, "invalid output format " + val );
-
-    return in;
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                 runtime_config               ************** //
-// ************************************************************************** //
-
-namespace runtime_config {
-
-namespace {
-
-// framework parameters and corresponding command-line arguments
-std::string AUTO_START_DBG    = "auto_start_dbg";
-std::string BREAK_EXEC_PATH   = "break_exec_path";
-std::string BUILD_INFO        = "build_info";
-std::string CATCH_SYS_ERRORS  = "catch_system_errors";
-std::string DETECT_FP_EXCEPT  = "detect_fp_exceptions";
-std::string DETECT_MEM_LEAKS  = "detect_memory_leaks";
-std::string LOG_FORMAT        = "log_format";
-std::string LOG_LEVEL         = "log_level";
-std::string LOG_SINK          = "log_sink";
-std::string OUTPUT_FORMAT     = "output_format";
-std::string RANDOM_SEED       = "random";
-std::string REPORT_FORMAT     = "report_format";
-std::string REPORT_LEVEL      = "report_level";
-std::string REPORT_SINK       = "report_sink";
-std::string RESULT_CODE       = "result_code";
-std::string TESTS_TO_RUN      = "run_test";
-std::string SAVE_TEST_PATTERN = "save_pattern";
-std::string SHOW_PROGRESS     = "show_progress";
-std::string USE_ALT_STACK     = "use_alt_stack";
-
-fixed_mapping<const_string,const_string> parameter_2_env_var(
-    AUTO_START_DBG    , "BOOST_TEST_AUTO_START_DBG",
-    BREAK_EXEC_PATH   , "BOOST_TEST_BREAK_EXEC_PATH",
-    BUILD_INFO        , "BOOST_TEST_BUILD_INFO",
-    CATCH_SYS_ERRORS  , "BOOST_TEST_CATCH_SYSTEM_ERRORS",
-    DETECT_FP_EXCEPT  , "BOOST_TEST_DETECT_FP_EXCEPTIONS",
-    DETECT_MEM_LEAKS  , "BOOST_TEST_DETECT_MEMORY_LEAK",
-    LOG_FORMAT        , "BOOST_TEST_LOG_FORMAT",
-    LOG_LEVEL         , "BOOST_TEST_LOG_LEVEL",
-    LOG_SINK          , "BOOST_TEST_LOG_SINK",
-    OUTPUT_FORMAT     , "BOOST_TEST_OUTPUT_FORMAT",
-    RANDOM_SEED       , "BOOST_TEST_RANDOM",
-    REPORT_FORMAT     , "BOOST_TEST_REPORT_FORMAT",
-    REPORT_LEVEL      , "BOOST_TEST_REPORT_LEVEL",
-    REPORT_SINK       , "BOOST_TEST_REPORT_SINK",
-    RESULT_CODE       , "BOOST_TEST_RESULT_CODE",
-    TESTS_TO_RUN      , "BOOST_TESTS_TO_RUN",
-    SAVE_TEST_PATTERN , "BOOST_TEST_SAVE_PATTERN",
-    SHOW_PROGRESS     , "BOOST_TEST_SHOW_PROGRESS",
-    USE_ALT_STACK     , "BOOST_TEST_USE_ALT_STACK",
-
-    ""
-);
-
-//____________________________________________________________________________//
-
-// storage for the CLAs
-cla::parser     s_cla_parser;
-std::string     s_empty;
-
-output_format   s_report_format;
-output_format   s_log_format;
-
-//____________________________________________________________________________//
-
-template<typename T>
-T
-retrieve_parameter( const_string parameter_name, cla::parser const& s_cla_parser, T const& default_value = T(), T const& optional_value = T() )
-{
-    rt::const_argument_ptr arg = s_cla_parser[parameter_name];
-    if( arg ) {
-        if( rtti::type_id<T>() == rtti::type_id<bool>() ||
-            !static_cast<cla::parameter const&>( arg->p_formal_parameter.get() ).p_optional_value )
-            return s_cla_parser.get<T>( parameter_name );
-
-        optional<T> val = s_cla_parser.get<optional<T> >( parameter_name );
-        if( val )
-            return *val;
-        else
-            return optional_value;
-    }
-
-    boost::optional<T> v;
-
-#ifndef UNDER_CE
-    env::get( parameter_2_env_var[parameter_name], v );
-#endif
-
-    if( v )
-        return *v;
-    else
-        return default_value;
-}
-
-//____________________________________________________________________________//
-
-} // local namespace 
-
-void
-init( int& argc, char** argv )
-{
-    using namespace cla;
-
-    try {
-        s_cla_parser - cla::ignore_mismatch
-          << cla::dual_name_parameter<bool>( AUTO_START_DBG + "|d" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Automatically starts debugger if system level error (signal) occurs")
-          << cla::named_parameter<std::string>( BREAK_EXEC_PATH )
-            - (cla::prefix = "--",cla::separator = "=",cla::guess_name,cla::optional,
-               cla::description = "For the exception safety testing allows to break at specific execution path")
-          << cla::dual_name_parameter<bool>( BUILD_INFO + "|i" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Shows library build information" )
-          << cla::dual_name_parameter<bool>( CATCH_SYS_ERRORS + "|s" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Allows to switch between catching and ignoring system errors (signals)")
-          << cla::named_parameter<bool>( DETECT_FP_EXCEPT )
-            - (cla::prefix = "--",cla::separator = "=",cla::guess_name,cla::optional,
-               cla::description = "Allows to switch between catching and ignoring floating point exceptions")
-          << cla::named_parameter<long>( DETECT_MEM_LEAKS )
-            - (cla::prefix = "--",cla::separator = "=",cla::guess_name,cla::optional,
-               cla::description = "Allows to switch between catching and ignoring memory leaks")
-          << cla::dual_name_parameter<unit_test::output_format>( LOG_FORMAT + "|f" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Specifies log format")
-          << cla::dual_name_parameter<unit_test::log_level>( LOG_LEVEL + "|l" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Specifies log level")
-          << cla::dual_name_parameter<std::string>( LOG_SINK + "|k" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Specifies log sink:stdout(default),stderr or file name")
-          << cla::dual_name_parameter<unit_test::output_format>( OUTPUT_FORMAT + "|o" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Specifies output format (both log and report)")
-          << cla::dual_name_parameter<int>( RANDOM_SEED + "|a" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,cla::optional_value,
-               cla::description = "Allows to switch between sequential and random order of test units execution.\n"
-                                  "Optionally allows to specify concrete seed for random number generator")
-          << cla::dual_name_parameter<unit_test::output_format>( REPORT_FORMAT + "|m" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Specifies report format")
-          << cla::dual_name_parameter<unit_test::report_level>(REPORT_LEVEL + "|r")
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Specifies report level")
-          << cla::dual_name_parameter<std::string>( REPORT_SINK + "|e" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Specifies report sink:stderr(default),stdout or file name")
-          << cla::dual_name_parameter<bool>( RESULT_CODE + "|c" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Allows to disable test modules's result code generation")
-          << cla::dual_name_parameter<std::string>( TESTS_TO_RUN + "|t" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Allows to filter which test units to run")
-          << cla::named_parameter<bool>( SAVE_TEST_PATTERN )
-            - (cla::prefix = "--",cla::separator = "=",cla::guess_name,cla::optional,
-               cla::description = "Allows to switch between saving and matching against test pattern file")
-          << cla::dual_name_parameter<bool>( SHOW_PROGRESS + "|p" )
-            - (cla::prefix = "--|-",cla::separator = "=| ",cla::guess_name,cla::optional,
-               cla::description = "Turns on progress display")
-          << cla::named_parameter<bool>( USE_ALT_STACK )
-            - (cla::prefix = "--",cla::separator = "=",cla::guess_name,cla::optional,
-               cla::description = "Turns on/off usage of an alternative stack for signal handling")
-
-          << cla::dual_name_parameter<bool>( "help|?" )
-            - (cla::prefix = "--|-",cla::separator = "=",cla::guess_name,cla::optional,
-               cla::description = "this help message")
-            ;
-
-        s_cla_parser.parse( argc, argv );
-
-        if( s_cla_parser["help"] ) {
-            s_cla_parser.help( std::cout );
-            throw framework::nothing_to_test();
-        }
-
-        s_report_format     = retrieve_parameter( REPORT_FORMAT, s_cla_parser, unit_test::CLF );
-        s_log_format        = retrieve_parameter( LOG_FORMAT, s_cla_parser, unit_test::CLF );
-
-        unit_test::output_format of = retrieve_parameter( OUTPUT_FORMAT, s_cla_parser, unit_test::INV_OF );
-
-        if( of != unit_test::INV_OF )
-            s_report_format = s_log_format = of;
-    }
-    catch( rt::logic_error const& ex ) {
-        std::ostringstream err;
-        
-        err << "Fail to process runtime parameters: " << ex.msg() << std::endl;
-        s_cla_parser.usage( err );
-
-        throw framework::setup_error( err.str() );
-    }
-}
-
-//____________________________________________________________________________//
-
-unit_test::log_level
-log_level()
-{
-    return retrieve_parameter( LOG_LEVEL, s_cla_parser, unit_test::log_all_errors );
-}
-
-//____________________________________________________________________________//
-
-bool
-no_result_code()
-{
-    return !retrieve_parameter( RESULT_CODE, s_cla_parser, true );
-}
-
-//____________________________________________________________________________//
-
-unit_test::report_level
-report_level()
-{
-    return retrieve_parameter( REPORT_LEVEL, s_cla_parser, unit_test::CONFIRMATION_REPORT );
-}
-
-//____________________________________________________________________________//
-
-const_string
-test_to_run()
-{
-    static std::string s_test_to_run = retrieve_parameter( TESTS_TO_RUN, s_cla_parser, s_empty );
-
-    return s_test_to_run;
-}
-
-//____________________________________________________________________________//
-
-const_string
-break_exec_path()
-{
-    static std::string s_break_exec_path = retrieve_parameter( BREAK_EXEC_PATH, s_cla_parser, s_empty );
-
-    return s_break_exec_path;
-}
-
-//____________________________________________________________________________//
-
-bool
-save_pattern()
-{
-    return retrieve_parameter( SAVE_TEST_PATTERN, s_cla_parser, false );
-}
-
-//____________________________________________________________________________//
-
-bool
-show_progress()
-{
-    return retrieve_parameter( SHOW_PROGRESS, s_cla_parser, false );
-}
-
-//____________________________________________________________________________//
-
-bool
-show_build_info()
-{
-    return retrieve_parameter( BUILD_INFO, s_cla_parser, false );
-}
-
-//____________________________________________________________________________//
-
-bool
-catch_sys_errors()
-{
-    return retrieve_parameter( CATCH_SYS_ERRORS, s_cla_parser, 
-#ifdef BOOST_TEST_DEFAULTS_TO_CORE_DUMP
-        false
-#else
-        true 
-#endif
-        );
-}
-
-//____________________________________________________________________________//
-
-bool
-auto_start_dbg()
-{
-    // !! set debugger as an option
-    return retrieve_parameter( AUTO_START_DBG, s_cla_parser, false );
-;
-}
-
-//____________________________________________________________________________//
-
-bool
-use_alt_stack()
-{
-    return retrieve_parameter( USE_ALT_STACK, s_cla_parser, true );
-}
-
-//____________________________________________________________________________//
-
-bool
-detect_fp_exceptions()
-{
-    return retrieve_parameter( DETECT_FP_EXCEPT, s_cla_parser, false );
-}
-
-//____________________________________________________________________________//
-
-output_format
-report_format()
-{
-    return s_report_format;
-}
-
-//____________________________________________________________________________//
-
-output_format
-log_format()
-{
-    return s_log_format;
-}
-
-//____________________________________________________________________________//
-
-std::ostream*
-report_sink()
-{
-    std::string sink_name = retrieve_parameter( REPORT_SINK, s_cla_parser, s_empty );
-
-    if( sink_name.empty() || sink_name == "stderr" )
-        return &std::cerr;    
-    
-    if( sink_name == "stdout" )
-        return &std::cout;
-
-    static std::ofstream log_file( sink_name.c_str() );
-    return &log_file;
-}
-
-//____________________________________________________________________________//
-
-std::ostream*
-log_sink()
-{
-    std::string sink_name = retrieve_parameter( LOG_SINK, s_cla_parser, s_empty );
-
-    if( sink_name.empty() || sink_name == "stdout" )
-        return &std::cout;    
-
-    if( sink_name == "stderr" )
-        return &std::cerr;    
-
-    static std::ofstream report_file( sink_name.c_str() );
-    return &report_file;
-}
-
-//____________________________________________________________________________//
-
-long
-detect_memory_leaks()
-{
-    return retrieve_parameter( DETECT_MEM_LEAKS, s_cla_parser, static_cast<long>(1) );
-}
-
-//____________________________________________________________________________//
-
-int
-random_seed()
-{
-    return retrieve_parameter( RANDOM_SEED, s_cla_parser, 0, 1 );
-}
-
-//____________________________________________________________________________//
-
-} // namespace runtime_config
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UNIT_TEST_PARAMETERS_IPP_012205GER
diff --git a/SRC/Boost/boost/test/impl/unit_test_suite.ipp b/SRC/Boost/boost/test/impl/unit_test_suite.ipp
deleted file mode 100755
index 8d3ed5b..0000000
--- a/SRC/Boost/boost/test/impl/unit_test_suite.ipp
+++ /dev/null
@@ -1,346 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : privides core implementation for Unit Test Framework.
-//                Extensions can be provided in separate files
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_SUITE_IPP_012205GER
-#define BOOST_TEST_UNIT_TEST_SUITE_IPP_012205GER
-
-// Boost.Test
-#include <boost/detail/workaround.hpp>
-#include <boost/test/unit_test_suite_impl.hpp>
-#include <boost/test/framework.hpp>
-#include <boost/test/utils/foreach.hpp>
-#include <boost/test/results_collector.hpp>
-#include <boost/test/detail/unit_test_parameters.hpp>
-
-// Boost
-#include <boost/timer.hpp>
-
-// STL
-#include <algorithm>
-#include <vector>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600) && \
-    BOOST_WORKAROUND(_STLPORT_VERSION, <= 0x450) \
-    /**/
-    using std::rand; // rand is in std and random_shuffle is in _STL
-#endif
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                   test_unit                  ************** //
-// ************************************************************************** //
-
-test_unit::test_unit( const_string name, test_unit_type t )
-: p_type( t )
-, p_type_name( t == tut_case ? "case" : "suite" )
-, p_id( INV_TEST_UNIT_ID )
-, p_name( std::string( name.begin(), name.size() ) )
-, p_enabled( true )
-{
-}
-
-//____________________________________________________________________________//
-
-test_unit::~test_unit()
-{
-    framework::deregister_test_unit( this );
-}
-
-//____________________________________________________________________________//
-
-void
-test_unit::depends_on( test_unit* tu )
-{
-    m_dependencies.push_back( tu->p_id );
-}
-
-//____________________________________________________________________________//
-
-bool
-test_unit::check_dependencies() const
-{
-    BOOST_TEST_FOREACH( test_unit_id, tu_id, m_dependencies ) {
-        if( !unit_test::results_collector.results( tu_id ).passed() )
-            return false;
-    }
-
-    return true;
-}
-
-//____________________________________________________________________________//
-
-void
-test_unit::increase_exp_fail( unsigned num )
-{
-    p_expected_failures.value += num;
-
-    if( p_parent_id != 0 )
-        framework::get<test_suite>( p_parent_id ).increase_exp_fail( num );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                   test_case                  ************** //
-// ************************************************************************** //
-
-test_case::test_case( const_string name, callback0<> const& test_func )
-: test_unit( name, static_cast<test_unit_type>(type) )
-, m_test_func( test_func )
-{
-     // !! weirdest MSVC BUG; try to remove this statement; looks like it eats first token of next statement   
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)   
-     0;   
-#endif 
-    framework::register_test_unit( this );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                  test_suite                  ************** //
-// ************************************************************************** //
-
-//____________________________________________________________________________//
-
-test_suite::test_suite( const_string name )
-: test_unit( name, static_cast<test_unit_type>(type) )
-{
-    framework::register_test_unit( this );
-}
-
-//____________________________________________________________________________//
-
-void
-test_suite::add( test_unit* tu, counter_t expected_failures, unsigned timeout )
-{
-    if( timeout != 0 )
-        tu->p_timeout.value = timeout;
-
-    m_members.push_back( tu->p_id );
-    tu->p_parent_id.value = p_id;
-
-    if( tu->p_expected_failures )
-        increase_exp_fail( tu->p_expected_failures );
-
-    if( expected_failures )
-        tu->increase_exp_fail( expected_failures );
-}
-
-//____________________________________________________________________________//
-
-void
-test_suite::add( test_unit_generator const& gen, unsigned timeout )
-{
-    test_unit* tu;
-    while((tu = gen.next(), tu))
-        add( tu, 0, timeout );
-}
-
-//____________________________________________________________________________//
-
-void
-test_suite::remove( test_unit_id id )
-{
-    std::vector<test_unit_id>::iterator it = std::find( m_members.begin(), m_members.end(), id );
-
-    if( it != m_members.end() )
-        m_members.erase( it );
-}
-
-//____________________________________________________________________________//
-
-test_unit_id
-test_suite::get( const_string tu_name ) const
-{
-    BOOST_TEST_FOREACH( test_unit_id, id, m_members ) {
-        if( tu_name == framework::get( id, ut_detail::test_id_2_unit_type( id ) ).p_name.get() )
-            return id;
-    }
-
-    return INV_TEST_UNIT_ID;
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************               traverse_test_tree             ************** //
-// ************************************************************************** //
-
-void
-traverse_test_tree( test_case const& tc, test_tree_visitor& V )
-{
-    if( tc.p_enabled )
-    V.visit( tc );
-}
-
-//____________________________________________________________________________//
-
-void
-traverse_test_tree( test_suite const& suite, test_tree_visitor& V )
-{
-    if( !suite.p_enabled || !V.test_suite_start( suite ) )
-        return;
-
-    try {
-        if( runtime_config::random_seed() == 0 ) {
-            BOOST_TEST_FOREACH( test_unit_id, id, suite.m_members )
-                traverse_test_tree( id, V );
-        }
-        else {
-            std::vector<test_unit_id> members( suite.m_members );
-            std::random_shuffle( members.begin(), members.end() );
-            BOOST_TEST_FOREACH( test_unit_id, id, members )
-                traverse_test_tree( id, V );
-        }
-        
-    } catch( test_being_aborted const& ) {
-        V.test_suite_finish( suite );
-        framework::test_unit_aborted( suite );
-
-        throw;
-    }
-
-    V.test_suite_finish( suite );
-}
-
-//____________________________________________________________________________//
-
-void
-traverse_test_tree( test_unit_id id, test_tree_visitor& V )
-{
-    if( ut_detail::test_id_2_unit_type( id ) == tut_case )
-        traverse_test_tree( framework::get<test_case>( id ), V );
-    else
-        traverse_test_tree( framework::get<test_suite>( id ), V );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                test_case_counter             ************** //
-// ************************************************************************** //
-
-void
-test_case_counter::visit( test_case const& tc )
-{
-    if( tc.p_enabled )
-        ++p_count.value;
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************               object generators              ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-std::string
-normalize_test_case_name( const_string name )
-{
-    return ( name[0] == '&'
-                ? std::string( name.begin()+1, name.size()-1 )
-                : std::string( name.begin(), name.size() ) );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************           auto_test_unit_registrar           ************** //
-// ************************************************************************** //
-
-auto_test_unit_registrar::auto_test_unit_registrar( test_case* tc, counter_t exp_fail )
-{
-    curr_ts_store().back()->add( tc, exp_fail );
-}
-
-//____________________________________________________________________________//
-
-auto_test_unit_registrar::auto_test_unit_registrar( const_string ts_name )
-{
-    test_unit_id id = curr_ts_store().back()->get( ts_name );
-
-    test_suite* ts;
-
-    if( id != INV_TEST_UNIT_ID ) {
-        ts = &framework::get<test_suite>( id ); // !! test for invalid tu type
-        BOOST_ASSERT( ts->p_parent_id == curr_ts_store().back()->p_id );
-    }
-    else {
-        ts = new test_suite( ts_name );
-        curr_ts_store().back()->add( ts );
-    }
-
-    curr_ts_store().push_back( ts );
-}
-
-//____________________________________________________________________________//
-
-auto_test_unit_registrar::auto_test_unit_registrar( test_unit_generator const& tc_gen )
-{
-    curr_ts_store().back()->add( tc_gen );
-}
-
-//____________________________________________________________________________//
-
-auto_test_unit_registrar::auto_test_unit_registrar( int )
-{
-    if( curr_ts_store().size() == 0 )
-        return; // report error?
-
-    curr_ts_store().pop_back();
-}
-
-//____________________________________________________________________________//
-
-std::list<test_suite*>&
-auto_test_unit_registrar::curr_ts_store()
-{
-    static std::list<test_suite*> inst( 1, &framework::master_test_suite() );
-    return inst;
-}
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-// ************************************************************************** //
-// **************                global_fixture                ************** //
-// ************************************************************************** //
-
-global_fixture::global_fixture()
-{
-    framework::register_observer( *this );
-} 
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UNIT_TEST_SUITE_IPP_012205GER
diff --git a/SRC/Boost/boost/test/impl/xml_log_formatter.ipp b/SRC/Boost/boost/test/impl/xml_log_formatter.ipp
deleted file mode 100755
index f84e23e..0000000
--- a/SRC/Boost/boost/test/impl/xml_log_formatter.ipp
+++ /dev/null
@@ -1,180 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : implements XML Log formatter
-// ***************************************************************************
-
-#ifndef BOOST_TEST_XML_LOG_FORMATTER_IPP_020105GER
-#define BOOST_TEST_XML_LOG_FORMATTER_IPP_020105GER
-
-// Boost.Test
-#include <boost/test/output/xml_log_formatter.hpp>
-#include <boost/test/unit_test_suite_impl.hpp>
-#include <boost/test/framework.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp>
-
-#include <boost/test/utils/xml_printer.hpp>
-
-// Boost
-#include <boost/version.hpp>
-
-// STL
-#include <iostream>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace output {
-
-static const_string tu_type_name( test_unit const& tu )
-{
-    return tu.p_type == tut_case ? "TestCase" : "TestSuite";
-}
-
-// ************************************************************************** //
-// **************               xml_log_formatter              ************** //
-// ************************************************************************** //
-
-void
-xml_log_formatter::log_start( std::ostream& ostr, counter_t )
-{
-    ostr  << "<TestLog>";
-}
-
-//____________________________________________________________________________//
-
-void
-xml_log_formatter::log_finish( std::ostream& ostr )
-{
-    ostr  << "</TestLog>";
-}
-
-//____________________________________________________________________________//
-
-void
-xml_log_formatter::log_build_info( std::ostream& ostr )
-{
-    ostr  << "<BuildInfo"
-            << " platform"  << attr_value() << BOOST_PLATFORM
-            << " compiler"  << attr_value() << BOOST_COMPILER
-            << " stl"       << attr_value() << BOOST_STDLIB
-            << " boost=\""  << BOOST_VERSION/100000     << "."
-                            << BOOST_VERSION/100 % 1000 << "."
-                            << BOOST_VERSION % 100      << '\"'
-            << "/>";
-}
-
-//____________________________________________________________________________//
-
-void
-xml_log_formatter::test_unit_start( std::ostream& ostr, test_unit const& tu )
-{
-    ostr << "<" << tu_type_name( tu ) << " name" << attr_value() << tu.p_name.get() << ">";
-}
-
-//____________________________________________________________________________//
-
-void
-xml_log_formatter::test_unit_finish( std::ostream& ostr, test_unit const& tu, unsigned long elapsed )
-{
-    if( tu.p_type == tut_case )
-        ostr << "<TestingTime>" << elapsed << "</TestingTime>";
-        
-    ostr << "</" << tu_type_name( tu ) << ">";
-}
-
-//____________________________________________________________________________//
-
-void
-xml_log_formatter::test_unit_skipped( std::ostream& ostr, test_unit const& tu )
-{
-    ostr << "<" << tu_type_name( tu )
-         << " name"    << attr_value() << tu.p_name.get()
-         << " skipped" << attr_value() << "yes"
-         << "/>";
-}
-    
-//____________________________________________________________________________//
-
-void
-xml_log_formatter::log_exception( std::ostream& ostr, log_checkpoint_data const& checkpoint_data, execution_exception const& ex )
-{
-    execution_exception::location const& loc = ex.where();
-
-    ostr << "<Exception file" << attr_value() << loc.m_file_name
-         << " line"           << attr_value() << loc.m_line_num;
-
-    if( !loc.m_function.is_empty() )
-        ostr << " function"   << attr_value() << loc.m_function;
-
-    ostr << ">" << cdata() << ex.what();
-
-    if( !checkpoint_data.m_file_name.is_empty() ) {
-        ostr << "<LastCheckpoint file" << attr_value() << checkpoint_data.m_file_name
-             << " line"                << attr_value() << checkpoint_data.m_line_num
-             << ">"
-             << cdata() << checkpoint_data.m_message
-             << "</LastCheckpoint>";
-    }
-
-    ostr << "</Exception>";
-}
-
-//____________________________________________________________________________//
-
-void
-xml_log_formatter::log_entry_start( std::ostream& ostr, log_entry_data const& entry_data, log_entry_types let )
-{
-    static literal_string xml_tags[] = { "Info", "Message", "Warning", "Error", "FatalError" };
-
-    m_curr_tag = xml_tags[let];
-    ostr << '<' << m_curr_tag
-         << BOOST_TEST_L( " file" ) << attr_value() << entry_data.m_file_name
-         << BOOST_TEST_L( " line" ) << attr_value() << entry_data.m_line_num
-         << BOOST_TEST_L( "><![CDATA[" );
-}
-
-//____________________________________________________________________________//
-
-void
-xml_log_formatter::log_entry_value( std::ostream& ostr, const_string value )
-{
-    ostr << value;
-}
-
-//____________________________________________________________________________//
-
-void
-xml_log_formatter::log_entry_finish( std::ostream& ostr )
-{
-    ostr << BOOST_TEST_L( "]]></" ) << m_curr_tag << BOOST_TEST_L( ">" );
-
-    m_curr_tag.clear();
-}
-
-//____________________________________________________________________________//
-
-} // namespace output
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_XML_LOG_FORMATTER_IPP_020105GER
diff --git a/SRC/Boost/boost/test/impl/xml_report_formatter.ipp b/SRC/Boost/boost/test/impl/xml_report_formatter.ipp
deleted file mode 100755
index 1146eee..0000000
--- a/SRC/Boost/boost/test/impl/xml_report_formatter.ipp
+++ /dev/null
@@ -1,115 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : XML report formatter
-// ***************************************************************************
-
-#ifndef BOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
-#define BOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
-
-// Boost.Test
-#include <boost/test/results_collector.hpp>
-#include <boost/test/unit_test_suite_impl.hpp>
-#include <boost/test/output/xml_report_formatter.hpp>
-
-#include <boost/test/utils/xml_printer.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace output {
-
-void
-xml_report_formatter::results_report_start( std::ostream& ostr )
-{
-    ostr << "<TestResult>";
-}
-
-//____________________________________________________________________________//
-
-void
-xml_report_formatter::results_report_finish( std::ostream& ostr )
-{
-    ostr << "</TestResult>";
-}
-
-
-//____________________________________________________________________________//
-
-void
-xml_report_formatter::test_unit_report_start( test_unit const& tu, std::ostream& ostr )
-{
-    test_results const& tr = results_collector.results( tu.p_id );
-
-    const_string descr;
-
-    if( tr.passed() )
-        descr = "passed";
-    else if( tr.p_skipped )
-        descr = "skipped";
-    else if( tr.p_aborted )
-        descr = "aborted";
-    else
-        descr = "failed";
-
-    ostr << '<' << ( tu.p_type == tut_case ? "TestCase" : "TestSuite" ) 
-         << " name"     << attr_value() << tu.p_name.get()
-         << " result"   << attr_value() << descr
-         << " assertions_passed"        << attr_value() << tr.p_assertions_passed
-         << " assertions_failed"        << attr_value() << tr.p_assertions_failed
-         << " expected_failures"        << attr_value() << tr.p_expected_failures;
-
-    if( tu.p_type == tut_suite )
-        ostr << " test_cases_passed"    << attr_value() << tr.p_test_cases_passed
-             << " test_cases_failed"    << attr_value() << tr.p_test_cases_failed
-             << " test_cases_skipped"   << attr_value() << tr.p_test_cases_skipped
-             << " test_cases_aborted"   << attr_value() << tr.p_test_cases_aborted;
-             
-    
-    ostr << '>';
-}
-
-//____________________________________________________________________________//
-
-void
-xml_report_formatter::test_unit_report_finish( test_unit const& tu, std::ostream& ostr )
-{
-    ostr << "</" << ( tu.p_type == tut_case ? "TestCase" : "TestSuite" ) << '>';
-}
-
-//____________________________________________________________________________//
-
-void
-xml_report_formatter::do_confirmation_report( test_unit const& tu, std::ostream& ostr )
-{
-    test_unit_report_start( tu, ostr );
-    test_unit_report_finish( tu, ostr );    
-}
-
-//____________________________________________________________________________//
-
-} // namespace output
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
diff --git a/SRC/Boost/boost/test/included/prg_exec_monitor.hpp b/SRC/Boost/boost/test/included/prg_exec_monitor.hpp
deleted file mode 100755
index 624fd80..0000000
--- a/SRC/Boost/boost/test/included/prg_exec_monitor.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : included (vs. linked ) version of Program Execution Monitor
-// ***************************************************************************
-
-#ifndef BOOST_INCLUDED_PRG_EXEC_MONITOR_HPP_071894GER
-#define BOOST_INCLUDED_PRG_EXEC_MONITOR_HPP_071894GER
-
-#include <boost/test/impl/execution_monitor.ipp>
-#include <boost/test/impl/debug.ipp>
-#include <boost/test/impl/cpp_main.ipp>
-
-#define BOOST_TEST_INCLUDED
-#include <boost/test/prg_exec_monitor.hpp>
-
-#endif // BOOST_INCLUDED_PRG_EXEC_MONITOR_HPP_071894GER
diff --git a/SRC/Boost/boost/test/interaction_based.hpp b/SRC/Boost/boost/test/interaction_based.hpp
deleted file mode 100755
index faaf75d..0000000
--- a/SRC/Boost/boost/test/interaction_based.hpp
+++ /dev/null
@@ -1,262 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : Facilities to perform interaction-based testing
-// ***************************************************************************
-
-#ifndef BOOST_TEST_INTERACTION_BASED_HPP_112105GER
-#define BOOST_TEST_INTERACTION_BASED_HPP_112105GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-#include <boost/test/detail/global_typedef.hpp>
-
-#include <boost/test/utils/wrap_stringstream.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-// Boost
-#include <boost/lexical_cast.hpp>
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************               BOOST_ITEST_EPOINT             ************** //
-// ************************************************************************** //
-
-#define BOOST_ITEST_EPOINT( description ) \
-    ::boost::itest::manager::instance().exception_point( BOOST_TEST_L(__FILE__), __LINE__, description )
-/**/
-
-// ************************************************************************** //
-// **************               BOOST_ITEST_DPOINT             ************** //
-// ************************************************************************** //
-
-#define BOOST_ITEST_DPOINT() \
-    ::boost::itest::manager::instance().decision_point( BOOST_TEST_L(__FILE__), __LINE__ )
-/**/
-
-// ************************************************************************** //
-// **************                BOOST_ITEST_SCOPE             ************** //
-// ************************************************************************** //
-
-#define BOOST_ITEST_SCOPE( scope_name ) \
-    ::boost::itest::scope_guard itest_scope_guard ## __LINE__( BOOST_TEST_L(__FILE__), __LINE__, BOOST_STRINGIZE(scope_name) )
-/**/
-
-// ************************************************************************** //
-// **************                 BOOST_ITEST_NEW              ************** //
-// ************************************************************************** //
-
-#define BOOST_ITEST_NEW( type_name ) \
-    new ( ::boost::itest::location( BOOST_TEST_L(__FILE__), __LINE__ ) ) type_name
-/**/
-
-// ************************************************************************** //
-// **************              BOOST_ITEST_DATA_FLOW           ************** //
-// ************************************************************************** //
-
-#define BOOST_ITEST_DATA_FLOW( v ) \
-    ::boost::itest::manager::instance().generic_data_flow( v )
-/**/
-
-// ************************************************************************** //
-// **************               BOOST_ITEST_RETURN             ************** //
-// ************************************************************************** //
-
-#define BOOST_ITEST_RETURN( type, default_value ) \
-    ::boost::itest::manager::instance().generic_return<type>( default_value )
-/**/
-
-// ************************************************************************** //
-// **************              BOOST_ITEST_MOCK_FUNC           ************** //
-// ************************************************************************** //
-
-#define BOOST_ITEST_MOCK_FUNC( function_name )          \
-    BOOST_ITEST_SCOPE( function_name );                 \
-    BOOST_ITEST_EPOINT( 0 );                            \
-    return ::boost::itest::mock_object<>::prototype();  \
-/**/
-
-namespace boost {
-
-namespace itest { // interaction-based testing
-
-using unit_test::const_string;
-
-// ************************************************************************** //
-// **************                    manager                   ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL manager {
-public:
-    // instance access
-    static manager&     instance() { return *instance_ptr(); }
-
-    // Mock objects interface hooks
-    virtual void        exception_point( const_string /*file*/, 
-                                         std::size_t /*line_num*/, 
-                                         const_string /*descr*/ ){}
-    virtual bool        decision_point( const_string /*file*/, 
-                                        std::size_t /*line_num*/ )          { return true; }
-    virtual unsigned    enter_scope( const_string /*file*/, 
-                                     std::size_t /*line_num*/,
-                                     const_string /*scope_name*/){ return 0; }
-    virtual void        leave_scope( unsigned )                             {}
-    virtual void        allocated( const_string /*file*/, 
-                                   std::size_t /*line_num*/, 
-                                   void* /*p*/, std::size_t /*s*/ )         {}
-    virtual void        freed( void* /*p*/ )                                {}
-    virtual void        data_flow( const_string /*d*/ )                     {}
-    virtual std::string return_value( const_string /*default_value */ )     { return ""; }
-
-    template<typename T>
-    void                generic_data_flow( T const& t )
-    {
-        wrap_stringstream ws;
-
-        data_flow( (ws << t).str() );
-    }
-    template<typename T, typename DefaultValueType>
-    T                   generic_return( DefaultValueType const& dv )
-    {
-        wrap_stringstream ws;
-
-        std::string const& res = return_value( (ws << dv).str() );
-
-        if( res.empty() )
-            return dv;
-
-        return lexical_cast<T>( res );
-    }
-
-protected:
-    manager();
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) 
-public:
-#endif
-    BOOST_TEST_PROTECTED_VIRTUAL ~manager();
-
-private:
-    struct dummy_constr{};
-    explicit manager( dummy_constr* ) {}
-
-    static manager*     instance_ptr( bool reset = false, manager* ptr = 0 );
-}; // manager
-
-// ************************************************************************** //
-// **************                  scope_guard                 ************** //
-// ************************************************************************** //
-
-class scope_guard {
-public:
-    // Constructor
-    scope_guard( const_string file, std::size_t line_num, const_string scope_name )
-    {
-        m_scope_index = manager::instance().enter_scope( file, line_num, scope_name );
-    }
-    ~scope_guard()
-    {
-        manager::instance().leave_scope( m_scope_index );
-    }
-
-    unsigned m_scope_index;
-};
-
-// ************************************************************************** //
-// **************                    location                  ************** //
-// ************************************************************************** //
-
-struct location {
-    location( const_string file, std::size_t line ) 
-    : m_file_name( file )
-    , m_line_num( line )
-    {}
-
-    const_string    m_file_name;
-    std::size_t     m_line_num;
-};
-
-}  // namespace itest
-
-} // namespace boost
-
-// ************************************************************************** //
-// **************              operator new overload           ************** //
-// ************************************************************************** //
-
-#if !defined(BOOST_ITEST_NO_NEW_OVERLOADS)
-
-// STL
-#include <cstdlib>
-
-# ifdef BOOST_NO_STDC_NAMESPACE
-namespace std { using ::malloc; using ::free; }
-# endif
-# ifdef _CRTDBG_MAP_ALLOC
-namespace std { using ::_malloc_dbg; using ::_free_dbg; }
-# endif
-
-inline void*
-operator new( std::size_t s, ::boost::itest::location const& l )
-{
-    void* res = std::malloc(s ? s : 1);
-
-    if( res )
-        ::boost::itest::manager::instance().allocated( l.m_file_name, l.m_line_num, res, s );
-    else
-        throw std::bad_alloc();
-        
-    return res;
-}
-
-//____________________________________________________________________________//
-
-inline void*
-operator new[]( std::size_t s, ::boost::itest::location const& l )
-{
-    void* res = std::malloc(s ? s : 1);
-
-    if( res )
-        ::boost::itest::manager::instance().allocated( l.m_file_name, l.m_line_num, res, s );
-    else
-        throw std::bad_alloc();
-        
-    return res;
-}
-
-//____________________________________________________________________________//
-
-inline void
-operator delete( void* p, ::boost::itest::location const& )
-{
-    ::boost::itest::manager::instance().freed( p );
-
-    std::free( p );
-}
-
-//____________________________________________________________________________//
-
-inline void
-operator delete[]( void* p, ::boost::itest::location const& )
-{
-    ::boost::itest::manager::instance().freed( p );
-
-    std::free( p );
-}
-
-//____________________________________________________________________________//
-
-#endif
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_INTERACTION_BASED_HPP_112105GER
diff --git a/SRC/Boost/boost/test/minimal.hpp b/SRC/Boost/boost/test/minimal.hpp
deleted file mode 100755
index 1d2b2ad..0000000
--- a/SRC/Boost/boost/test/minimal.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2002-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : simple minimal testing definitions and implementation
-// ***************************************************************************
-
-#ifndef BOOST_TEST_MINIMAL_HPP_071894GER
-#define BOOST_TEST_MINIMAL_HPP_071894GER
-
-#define BOOST_CHECK(exp)       \
-  ( (exp)                      \
-      ? static_cast<void>(0)   \
-      : boost::minimal_test::report_error(#exp,__FILE__,__LINE__, BOOST_CURRENT_FUNCTION) )
-
-#define BOOST_REQUIRE(exp)     \
-  ( (exp)                      \
-      ? static_cast<void>(0)   \
-      : boost::minimal_test::report_critical_error(#exp,__FILE__,__LINE__,BOOST_CURRENT_FUNCTION))
-
-#define BOOST_ERROR( msg_ )    \
-        boost::minimal_test::report_error( (msg_),__FILE__,__LINE__, BOOST_CURRENT_FUNCTION, true )
-#define BOOST_FAIL( msg_ )     \
-        boost::minimal_test::report_critical_error( (msg_),__FILE__,__LINE__, BOOST_CURRENT_FUNCTION, true )
-
-//____________________________________________________________________________//
-
-// Boost.Test
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/impl/execution_monitor.ipp>
-#include <boost/test/impl/debug.ipp>
-#include <boost/test/utils/class_properties.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp>
-
-// Boost
-#include <boost/cstdlib.hpp>            // for exit codes
-#include <boost/current_function.hpp>   // for BOOST_CURRENT_FUNCTION
-
-// STL
-#include <iostream>                     // std::cerr, std::endl
-#include <string>                       // std::string
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-int test_main( int argc, char* argv[] );  // prototype for users test_main()
-
-namespace boost {
-namespace minimal_test {
-
-typedef boost::unit_test::const_string const_string;
-
-inline unit_test::counter_t& errors_counter() { static unit_test::counter_t ec = 0; return ec; }
-
-inline void
-report_error( const char* msg, const char* file, int line, const_string func_name, bool is_msg = false )
-{
-    ++errors_counter();
-    std::cerr << file << "(" << line << "): ";
-
-    if( is_msg )
-        std::cerr << msg;
-    else
-        std::cerr << "test " << msg << " failed";
-
-    if( func_name != "(unknown)" )
-        std::cerr << " in function: '" << func_name << "'";
-
-    std::cerr << std::endl;
-}
-
-inline void
-report_critical_error( const char* msg, const char* file, int line, const_string func_name, bool is_msg = false )
-{
-    report_error( msg, file, line, func_name, is_msg );
-
-    throw boost::execution_aborted();
-}
-
-class caller {
-public:
-    // constructor
-    caller( int argc, char** argv )
-    : m_argc( argc ), m_argv( argv ) {}
-
-    // execution monitor hook implementation
-    int operator()() { return test_main( m_argc, m_argv ); }
-
-private:
-    // Data members
-    int         m_argc;
-    char**      m_argv;
-}; // monitor
-
-} // namespace minimal_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-int BOOST_TEST_CALL_DECL main( int argc, char* argv[] )
-{
-    using namespace boost::minimal_test;
-
-    try {
-        ::boost::execution_monitor ex_mon;
-        int run_result = ex_mon.execute( caller( argc, argv ) );
-
-        BOOST_CHECK( run_result == 0 || run_result == boost::exit_success );
-    }
-    catch( boost::execution_exception const& exex ) {
-        if( exex.code() != boost::execution_exception::no_error )
-            BOOST_ERROR( (std::string( "exception \"" ).
-                            append( exex.what().begin(), exex.what().end() ).
-                            append( "\" caught" ) ).c_str() );
-        std::cerr << "\n**** Testing aborted.";
-    }
-
-    if( boost::minimal_test::errors_counter() != 0 ) {
-        std::cerr << "\n**** " << errors_counter()
-                  << " error" << (errors_counter() > 1 ? "s" : "" ) << " detected\n";
-
-        return boost::exit_test_failure;
-    }
-
-    std::cout << "\n**** no errors detected\n";
-    
-    return boost::exit_success;
-}
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_MINIMAL_HPP_071894GER
diff --git a/SRC/Boost/boost/test/mock_object.hpp b/SRC/Boost/boost/test/mock_object.hpp
deleted file mode 100755
index ff284e0..0000000
--- a/SRC/Boost/boost/test/mock_object.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : Facilities to perform exception safety_tests
-// ***************************************************************************
-
-#ifndef BOOST_TEST_MOCK_OBJECT_HPP_112205GER
-#define BOOST_TEST_MOCK_OBJECT_HPP_112205GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-#include <boost/test/interaction_based.hpp>
-
-// Boost
-#include <boost/preprocessor/punctuation/comma.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace itest {
-
-// ************************************************************************** //
-// **************                mock_object_base              ************** //
-// ************************************************************************** //
-
-class mock_object_base {
-public:
-    mock_object_base() {}
-
-    template<typename T1>
-    mock_object_base( T1 const& ) {}
-
-    template<typename T1, typename T2>
-    mock_object_base( T1 const&, T2 const& ) {}
-
-    template<typename T1, typename T2, typename T3>
-    mock_object_base( T1 const&, T2 const&, T3 const& ) {}
-
-    template<typename T1, typename T2, typename T3, typename T4>
-    mock_object_base( T1 const&, T2 const&, T3 const&, T4 const& ) {}
-
-    template<typename T1, typename T2, typename T3, typename T4, typename T5>
-    mock_object_base( T1 const&, T2 const&, T3 const&, T4 const&, T5 const& ) {}
-};
-
-// ************************************************************************** //
-// **************      mock_object implementation helpers      ************** //
-// ************************************************************************** //
-
-#define MO_OP_IMPL( op, descr, ret )                        \
-    BOOST_ITEST_SCOPE( mock_object::operator op );          \
-    BOOST_ITEST_EPOINT( descr );                            \
-    return ret                                              \
-/**/
-
-#define MO_UNARY_OP( op, descr )                            \
-self_type const& operator op() const                        \
-{                                                           \
-    MO_OP_IMPL( op, descr, prototype() );                   \
-}                                                           \
-/**/
-
-#define MO_UNARY_BOOL_OP( op, descr )                       \
-bool operator op() const                                    \
-{                                                           \
-    MO_OP_IMPL( op, descr, (!!BOOST_ITEST_DPOINT()) );      \
-}                                                           \
-/**/
-
-#define MO_BINARY_OP( op, descr )                           \
-template<int i1, typename Base1,int i2, typename Base2>     \
-inline mock_object<i1,Base1> const&                         \
-operator op( mock_object<i1,Base1> const& mo,               \
-             mock_object<i2,Base2> const& )                 \
-{                                                           \
-    MO_OP_IMPL( op, descr, mo );                            \
-}                                                           \
-                                                            \
-template<int i, typename Base, typename T>                  \
-inline mock_object<i,Base> const&                           \
-operator op( mock_object<i,Base> const& mo, T const& )      \
-{                                                           \
-    MO_OP_IMPL( op, descr, mo );                            \
-}                                                           \
-                                                            \
-template<int i, typename Base, typename T>                  \
-inline mock_object<i,Base> const&                           \
-operator op( T const&, mock_object<i,Base> const& mo )      \
-{                                                           \
-    MO_OP_IMPL( op, descr, mo );                            \
-}                                                           \
-/**/
-
-#define MO_BINARY_BOOL_OP( op, descr )                      \
-template<int i1, typename Base1,int i2, typename Base2>     \
-inline bool                                                 \
-operator op( mock_object<i1,Base1> const&,                  \
-             mock_object<i2,Base2> const& )                 \
-{                                                           \
-    MO_OP_IMPL( op, descr, BOOST_ITEST_DPOINT() );          \
-}                                                           \
-                                                            \
-template<int i, typename Base, typename T>                  \
-inline bool                                                 \
-operator op( mock_object<i,Base> const&, T const& )         \
-{                                                           \
-    MO_OP_IMPL( op, descr, BOOST_ITEST_DPOINT() );          \
-}                                                           \
-                                                            \
-template<int i, typename Base, typename T>                  \
-inline bool                                                 \
-operator op( T const&, mock_object<i,Base> const& )         \
-{                                                           \
-    MO_OP_IMPL( op, descr, BOOST_ITEST_DPOINT() );          \
-}                                                           \
-/**/
-
-// ************************************************************************** //
-// **************                  mock_object                 ************** //
-// ************************************************************************** //
-
-template<int i = 0, typename Base=mock_object_base>
-class mock_object;
-
-template<int i, typename Base>
-class mock_object : public Base {
-    // Private typeefs
-    typedef mock_object<i,Base> self_type;
-    struct dummy { void nonnull() {}; };
-    typedef void (dummy::*safe_bool)();
-
-    // prototype constructor
-    mock_object( dummy* ) {}
-
-public:
-    static mock_object& prototype()
-    {
-        static mock_object p( reinterpret_cast<dummy*>(0) ); 
-        return p;
-    }
-
-    // Constructors
-    mock_object()
-    {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object default constructor" );
-    }
-
-    template<typename T1>
-    mock_object( T1 const& arg1 )
-    : mock_object_base( arg1 )
-    {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object constructor" );
-    }
-
-    template<typename T1, typename T2>
-    mock_object( T1 const& arg1, T2 const& arg2 )
-    : mock_object_base( arg1, arg2 )
-    {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object constructor" );
-    }
-
-    template<typename T1, typename T2, typename T3>
-    mock_object( T1 const& arg1, T2 const& arg2, T3 const& arg3 )
-    : mock_object_base( arg1, arg2, arg3 )
-    {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object constructor" );
-    }
-
-    template<typename T1, typename T2, typename T3, typename T4>
-    mock_object( T1 const& arg1, T2 const& arg2, T3 const& arg3, T4 const& arg4 )
-    : mock_object_base( arg1, arg2, arg3, arg4 )
-    {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object constructor" );
-    }
-
-    template<typename T1, typename T2, typename T3, typename T4, typename T5>
-    mock_object( T1 const& arg1, T2 const& arg2, T3 const& arg3, T4 const& arg4, T5 const& arg5 )
-    : mock_object_base( arg1, arg2, arg3, arg4, arg5 )
-    {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object constructor" );
-    }
-
-    mock_object( mock_object const& )
-    {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object copy constructor" );
-    }
-
-    // assignment
-    self_type const&    operator =( mock_object const& ) const
-    {
-        MO_OP_IMPL( =, "Copy assignment", prototype() );
-    }
-
-    template <typename T>
-    self_type const&    operator =( T const& ) const
-    {
-        MO_OP_IMPL( =, "Copy assignment", prototype() );
-    }
-
-    // Unary operators
-    MO_UNARY_BOOL_OP( !, "Logical NOT operator" )
-    MO_UNARY_OP( &, "Address-of operator" )
-    MO_UNARY_OP( ~, "One's complement operator" )
-    MO_UNARY_OP( *, "Pointer dereference" )
-    MO_UNARY_OP( +, "Unary plus" )
-
-    // Increment and Decrement
-    MO_UNARY_OP( ++, "Prefix increment" )
-    MO_UNARY_OP( --, "Prefix decrement" )
-    self_type const&    operator ++(int) const
-    {
-        MO_OP_IMPL( ++, "Postfix increment", prototype() );
-    }
-    self_type const&    operator --(int) const
-    {
-        MO_OP_IMPL( --, "Postfix decrement", prototype() );
-    }
-
-    // Bool context convertion
-    operator safe_bool() const
-    {
-        MO_OP_IMPL( safe_bool, "Bool context conversion",
-                    (BOOST_ITEST_DPOINT() ? 0 : &dummy::nonnull) );
-    }
-
-    // Function-call operators
-    self_type const&    operator ()() const
-    {
-        MO_OP_IMPL( (), "0-arity function-call", prototype() );
-    }
-    template<typename T1>
-    self_type const&    operator ()( T1 const& arg1 ) const
-    {
-        MO_OP_IMPL( (), "1-arity function-call", prototype() );
-    }
-    template<typename T1, typename T2>
-    self_type const&    operator ()( T1 const&, T2 const& ) const
-    {
-        MO_OP_IMPL( (), "2-arity function-call", prototype() );
-    }
-    template<typename T1, typename T2, typename T3>
-    self_type const&    operator ()( T1 const&, T2 const&, T3 const& ) const
-    {
-        MO_OP_IMPL( (), "3-arity function-call", prototype() );
-    }
-    template<typename T1, typename T2, typename T3, typename T4>
-    self_type const&    operator ()( T1 const&, T2 const&, T3 const&, T4 const& ) const
-    {
-        MO_OP_IMPL( (), "4-arity function-call", prototype() );
-    }
-    template<typename T1, typename T2, typename T3, typename T4, typename T5>
-    self_type const&    operator ()( T1 const&, T2 const&, T3 const&, T4 const&, T5 const& ) const
-    {
-        MO_OP_IMPL( (), "5-arity function-call", prototype() );
-    }
-
-    // Substripting
-    template<typename T>
-    self_type const&    operator []( T const& ) const
-    {
-        MO_OP_IMPL( [], "Substripting", prototype() );
-    }
-
-    // Class member access
-    self_type const*    operator->() const
-    {
-        MO_OP_IMPL( ->, "Class member access", this );
-    }
-};
-
-// !! MO_BINARY_OP( BOOST_PP_COMMA(), "Comma operator" )
-
-MO_BINARY_BOOL_OP( !=, "Inequality" )
-MO_BINARY_OP( %, "Modulus" )
-MO_BINARY_OP( %=, "Modulus/assignment" )
-MO_BINARY_OP( &, "Bitwise AND" )
-MO_BINARY_BOOL_OP( &&, "Logical AND" )
-MO_BINARY_OP( &=, "Bitwise AND/assignment" )
-MO_BINARY_OP( *, "Multiplication" )
-MO_BINARY_OP( *=, "Multiplication/assignment" )
-MO_BINARY_OP( +, "Addition" )
-MO_BINARY_OP( +=, "Addition/assignment" )
-//MO_BINARY_OP( -, "Subtraction" )
-MO_BINARY_OP( -=, "Subtraction/assignment" )
-MO_BINARY_OP( ->*, "Pointer-to-member selection" )
-MO_BINARY_OP( /, "Division" )
-MO_BINARY_OP( /=, "Division/assignment" )
-MO_BINARY_BOOL_OP( <, "Less than" )
-MO_BINARY_OP( <<=, "Left shift/assignment" )
-MO_BINARY_BOOL_OP( <=, "Less than or equal to" )
-MO_BINARY_BOOL_OP( ==, "Equality" )
-MO_BINARY_BOOL_OP( >, "Greater than" )
-MO_BINARY_BOOL_OP( >=, "Greater than or equal to" )
-MO_BINARY_OP( >>=, "Right shift/assignment" )
-MO_BINARY_OP( ^, "Exclusive OR" )
-MO_BINARY_OP( ^=, "Exclusive OR/assignment" )
-MO_BINARY_OP( |, "Bitwise inclusive OR" )
-MO_BINARY_OP( |=, "Bitwise inclusive OR/assignment" )
-MO_BINARY_BOOL_OP( ||, "Logical OR" )
-
-MO_BINARY_OP( <<, "Left shift" )
-MO_BINARY_OP( >>, "Right shift" )
-
-} // namespace itest
-
-} // namespace boost
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_MOCK_OBJECT_HPP_112205GER
diff --git a/SRC/Boost/boost/test/output/compiler_log_formatter.hpp b/SRC/Boost/boost/test/output/compiler_log_formatter.hpp
deleted file mode 100755
index 63ed4ec..0000000
--- a/SRC/Boost/boost/test/output/compiler_log_formatter.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : contains compiler like Log formatter definition
-// ***************************************************************************
-
-#ifndef BOOST_TEST_COMPILER_LOG_FORMATTER_HPP_020105GER
-#define BOOST_TEST_COMPILER_LOG_FORMATTER_HPP_020105GER
-
-// Boost.Test
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/unit_test_log_formatter.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace output {
-
-// ************************************************************************** //
-// **************             compiler_log_formatter           ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL compiler_log_formatter : public unit_test_log_formatter {
-public:
-    // Formatter interface
-    void    log_start( std::ostream&, counter_t test_cases_amount );
-    void    log_finish( std::ostream& );
-    void    log_build_info( std::ostream& );
-
-    void    test_unit_start( std::ostream&, test_unit const& tu );
-    void    test_unit_finish( std::ostream&, test_unit const& tu, unsigned long elapsed );
-    void    test_unit_skipped( std::ostream&, test_unit const& tu );
-
-    void    log_exception( std::ostream&, log_checkpoint_data const&, execution_exception const& ex );
-
-    void    log_entry_start( std::ostream&, log_entry_data const&, log_entry_types let );
-    void    log_entry_value( std::ostream&, const_string value );
-    void    log_entry_value( std::ostream&, lazy_ostream const& value );
-    void    log_entry_finish( std::ostream& );
-
-protected:
-    virtual void    print_prefix( std::ostream&, const_string file, std::size_t line );
-};
-
-} // namespace output
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_COMPILER_LOG_FORMATTER_HPP_020105GER
diff --git a/SRC/Boost/boost/test/output/plain_report_formatter.hpp b/SRC/Boost/boost/test/output/plain_report_formatter.hpp
deleted file mode 100755
index 9ef5e0d..0000000
--- a/SRC/Boost/boost/test/output/plain_report_formatter.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : plain report formatter implementation
-// ***************************************************************************
-
-#ifndef BOOST_TEST_PLAIN_REPORT_FORMATTER_HPP_020105GER
-#define BOOST_TEST_PLAIN_REPORT_FORMATTER_HPP_020105GER
-
-// Boost.Test
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/results_reporter.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace output {
-
-// ************************************************************************** //
-// **************             plain_report_formatter           ************** //
-// ************************************************************************** //
-
-class plain_report_formatter : public results_reporter::format {
-public:
-    // Formatter interface
-    void    results_report_start( std::ostream& ostr );
-    void    results_report_finish( std::ostream& ostr );
-
-    void    test_unit_report_start( test_unit const&, std::ostream& ostr );
-    void    test_unit_report_finish( test_unit const&, std::ostream& ostr );
-
-    void    do_confirmation_report( test_unit const&, std::ostream& ostr );
-
-private:
-    // Data members
-    counter_t m_indent;
-};
-
-} // namespace output
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_PLAIN_REPORT_FORMATTER_HPP_020105GER
diff --git a/SRC/Boost/boost/test/output/xml_log_formatter.hpp b/SRC/Boost/boost/test/output/xml_log_formatter.hpp
deleted file mode 100755
index eaf56c8..0000000
--- a/SRC/Boost/boost/test/output/xml_log_formatter.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : contains XML Log formatter definition
-// ***************************************************************************
-
-#ifndef BOOST_TEST_XML_LOG_FORMATTER_020105GER
-#define BOOST_TEST_XML_LOG_FORMATTER_020105GER
-
-// Boost.Test
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/unit_test_log_formatter.hpp>
-
-// STL
-#include <cstddef> // std::size_t
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace output {
-
-// ************************************************************************** //
-// **************               xml_log_formatter              ************** //
-// ************************************************************************** //
-
-class xml_log_formatter : public unit_test_log_formatter {
-public:
-    // Formatter interface
-    void    log_start( std::ostream&, counter_t test_cases_amount );
-    void    log_finish( std::ostream& );
-    void    log_build_info( std::ostream& );
-
-    void    test_unit_start( std::ostream&, test_unit const& tu );
-    void    test_unit_finish( std::ostream&, test_unit const& tu, unsigned long elapsed );
-    void    test_unit_skipped( std::ostream&, test_unit const& tu );
-
-    void    log_exception( std::ostream&, log_checkpoint_data const&, execution_exception const& ex );
-
-    void    log_entry_start( std::ostream&, log_entry_data const&, log_entry_types let );
-    using   unit_test_log_formatter::log_entry_value; // bring base class functions into overload set
-    void    log_entry_value( std::ostream&, const_string value );
-    void    log_entry_finish( std::ostream& );
-
-private:
-    // Data members
-    const_string    m_curr_tag;
-};
-
-} // namespace output
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_XML_LOG_FORMATTER_020105GER
diff --git a/SRC/Boost/boost/test/output/xml_report_formatter.hpp b/SRC/Boost/boost/test/output/xml_report_formatter.hpp
deleted file mode 100755
index 6704fa6..0000000
--- a/SRC/Boost/boost/test/output/xml_report_formatter.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : XML report formatter implementation
-// ***************************************************************************
-
-#ifndef BOOST_TEST_XML_REPORT_FORMATTER_HPP_020105GER
-#define BOOST_TEST_XML_REPORT_FORMATTER_HPP_020105GER
-
-// Boost.Test
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/results_reporter.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace output {
-
-// ************************************************************************** //
-// **************              xml_report_formatter            ************** //
-// ************************************************************************** //
-
-class xml_report_formatter : public results_reporter::format {
-public:
-    // Formatter interface
-    void    results_report_start( std::ostream& ostr );
-    void    results_report_finish( std::ostream& ostr );
-
-    void    test_unit_report_start( test_unit const&, std::ostream& ostr );
-    void    test_unit_report_finish( test_unit const&, std::ostream& ostr );
-
-    void    do_confirmation_report( test_unit const&, std::ostream& ostr );
-};
-
-} // namespace output
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_XML_REPORT_FORMATTER_HPP_020105GER
diff --git a/SRC/Boost/boost/test/output_test_stream.hpp b/SRC/Boost/boost/test/output_test_stream.hpp
deleted file mode 100755
index 3de6ec1..0000000
--- a/SRC/Boost/boost/test/output_test_stream.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : output_test_stream class definition
-// ***************************************************************************
-
-#ifndef BOOST_TEST_OUTPUT_TEST_STREAM_HPP_012705GER
-#define BOOST_TEST_OUTPUT_TEST_STREAM_HPP_012705GER
-
-// Boost.Test
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/utils/wrap_stringstream.hpp>
-#include <boost/test/predicate_result.hpp>
-
-// STL
-#include <cstddef>          // for std::size_t
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************               output_test_stream             ************** //
-// ************************************************************************** //
-
-// class to be used to simplify testing of ostream-based output operations
-
-namespace boost {
-
-namespace test_tools {
-
-class BOOST_TEST_DECL output_test_stream : public wrap_stringstream::wrapped_stream {
-    typedef unit_test::const_string const_string;
-    typedef predicate_result        result_type;
-public:
-    // Constructor
-    explicit        output_test_stream( const_string    pattern_file_name = const_string(),
-                                        bool            match_or_save     = true,
-                                        bool            text_or_binary    = true );
-
-    // Destructor
-    ~output_test_stream();
-
-    // checking function
-    result_type     is_empty( bool flush_stream = true );
-    result_type     check_length( std::size_t length, bool flush_stream = true );
-    result_type     is_equal( const_string arg_, bool flush_stream = true );
-    result_type     match_pattern( bool flush_stream = true );
-
-    // explicit flush
-    void            flush();
-
-private:
-    // helper functions
-    std::size_t     length();
-    void            sync();
-
-    struct Impl;
-    Impl*           m_pimpl;
-};
-
-} // namespace test_tools
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_OUTPUT_TEST_STREAM_HPP_012705GER
diff --git a/SRC/Boost/boost/test/predicate_result.hpp b/SRC/Boost/boost/test/predicate_result.hpp
deleted file mode 100755
index 3a0122d..0000000
--- a/SRC/Boost/boost/test/predicate_result.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : enhanced result for test predicate that include message explaining failure
-// ***************************************************************************
-
-#ifndef BOOST_TEST_PREDICATE_RESULT_HPP_012705GER
-#define BOOST_TEST_PREDICATE_RESULT_HPP_012705GER
-
-// Boost.Test
-#include <boost/test/utils/class_properties.hpp>
-#include <boost/test/utils/wrap_stringstream.hpp>
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-
-// Boost
-#include <boost/shared_ptr.hpp>
-#include <boost/detail/workaround.hpp>
-
-// STL
-#include <cstddef>          // for std::size_t
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace test_tools {
-
-// ************************************************************************** //
-// **************                predicate_result              ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL predicate_result {
-    typedef unit_test::const_string      const_string;
-    struct dummy { void nonnull() {}; };
-    typedef void (dummy::*safe_bool)();
-
-public:
-    // Constructor
-    predicate_result( bool pv_ ) 
-    : p_predicate_value( pv_ )
-    {}
-
-    template<typename BoolConvertable>
-    predicate_result( BoolConvertable const& pv_ ) : p_predicate_value( !!pv_ ) {}
-
-    // Access methods
-    bool                operator!() const           { return !p_predicate_value; }
-    void                operator=( bool pv_ )       { p_predicate_value.value = pv_; }
-    operator            safe_bool() const           { return !!p_predicate_value ? &dummy::nonnull : 0; }
-
-    // Public properties
-    BOOST_READONLY_PROPERTY( bool, (predicate_result) ) p_predicate_value;
-
-    // Access methods
-    bool                has_empty_message() const   { return !m_message; }
-    wrap_stringstream&  message()
-    {
-        if( !m_message )
-            m_message.reset( new wrap_stringstream );
-
-        return *m_message;
-    }
-    const_string        message() const                   { return !m_message ? const_string() : const_string( m_message->str() ); }
-
-private:
-    // Data members
-    shared_ptr<wrap_stringstream> m_message;
-};
-
-} // namespace test_tools
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_PREDICATE_RESULT_HPP_012705GER
diff --git a/SRC/Boost/boost/test/prg_exec_monitor.hpp b/SRC/Boost/boost/test/prg_exec_monitor.hpp
deleted file mode 100755
index be8d694..0000000
--- a/SRC/Boost/boost/test/prg_exec_monitor.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : Entry point for the end user into the Program Execution Monitor.
-// ***************************************************************************
-
-#ifndef BOOST_PRG_EXEC_MONITOR_HPP_071894GER
-#define BOOST_PRG_EXEC_MONITOR_HPP_071894GER
-
-#include <boost/test/detail/config.hpp>
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                 Auto Linking                 ************** //
-// ************************************************************************** //
-
-// Automatically link to the correct build variant where possible. 
-#if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_TEST_NO_LIB) && \
-    !defined(BOOST_TEST_SOURCE) && !defined(BOOST_TEST_INCLUDED)
-#  define BOOST_LIB_NAME boost_prg_exec_monitor
-
-// If we're importing code from a dll, then tell auto_link.hpp about it:
-#  if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_TEST_DYN_LINK)
-#    define BOOST_DYN_LINK
-#  endif
-
-#  include <boost/config/auto_link.hpp>
-
-#endif  // auto-linking disabled
-
-// ************************************************************************** //
-// **************               prg_exec_monitor_main          ************** //
-// ************************************************************************** //
-
-namespace boost { 
-
-int BOOST_TEST_DECL prg_exec_monitor_main( int (*cpp_main)( int argc, char* argv[] ), int argc, char* argv[] );
-
-}
-
-#if defined(BOOST_TEST_DYN_LINK) && !defined(BOOST_TEST_NO_MAIN)
-
-// ************************************************************************** //
-// **************        main function for tests using dll     ************** //
-// ************************************************************************** //
-
-int cpp_main( int argc, char* argv[] );  // prototype for user's cpp_main()
-
-int BOOST_TEST_CALL_DECL
-main( int argc, char* argv[] )
-{
-    return ::boost::prg_exec_monitor_main( &cpp_main, argc, argv );
-}
-
-//____________________________________________________________________________//
-
-#endif // BOOST_TEST_DYN_LINK && !BOOST_TEST_NO_MAIN
-
-#endif // BOOST_PRG_EXEC_MONITOR_HPP_071894GER
diff --git a/SRC/Boost/boost/test/progress_monitor.hpp b/SRC/Boost/boost/test/progress_monitor.hpp
deleted file mode 100755
index c146f06..0000000
--- a/SRC/Boost/boost/test/progress_monitor.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : defines simple text based progress monitor
-// ***************************************************************************
-
-#ifndef BOOST_TEST_PROGRESS_MONITOR_HPP_020105GER
-#define BOOST_TEST_PROGRESS_MONITOR_HPP_020105GER
-
-// Boost.Test
-#include <boost/test/test_observer.hpp>
-#include <boost/test/utils/trivial_singleton.hpp>
-
-// STL
-#include <iosfwd>   // for std::ostream&
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                progress_monitor              ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL progress_monitor_t : public test_observer, public singleton<progress_monitor_t> {
-public:
-    // test observer interface
-    void    test_start( counter_t test_cases_amount );
-    void    test_finish() {}
-    void    test_aborted();
-
-    void    test_unit_start( test_unit const& ) {}
-    void    test_unit_finish( test_unit const&, unsigned long );
-    void    test_unit_skipped( test_unit const& );
-    void    test_unit_aborted( test_unit const& ) {}
-
-    void    assertion_result( bool ) {}
-    void    exception_caught( execution_exception const& ) {}
-
-    // configuration
-    void    set_stream( std::ostream& );
-
-private:
-    BOOST_TEST_SINGLETON_CONS( progress_monitor_t );
-}; // progress_monitor_t
-
-BOOST_TEST_SINGLETON_INST( progress_monitor )
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_PROGRESS_MONITOR_HPP_020105GER
-
diff --git a/SRC/Boost/boost/test/results_collector.hpp b/SRC/Boost/boost/test/results_collector.hpp
deleted file mode 100755
index cfa7408..0000000
--- a/SRC/Boost/boost/test/results_collector.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : defines class unit_test_result that is responsible for 
-//  gathering test results and presenting this information to end-user
-// ***************************************************************************
-
-#ifndef BOOST_TEST_RESULTS_COLLECTOR_HPP_071894GER
-#define BOOST_TEST_RESULTS_COLLECTOR_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/test_observer.hpp>
-
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/detail/fwd_decl.hpp>
-
-#include <boost/test/utils/trivial_singleton.hpp>
-#include <boost/test/utils/class_properties.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************      first failed assertion debugger hook    ************** //
-// ************************************************************************** //
-
-namespace {
-inline void first_failed_assertion() {}
-}
-
-// ************************************************************************** //
-// **************                 test_results                 ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL test_results {
-public:
-    test_results();
-
-    typedef BOOST_READONLY_PROPERTY( counter_t, (results_collector_t)(test_results)(results_collect_helper) ) counter_prop;
-    typedef BOOST_READONLY_PROPERTY( bool,      (results_collector_t)(test_results)(results_collect_helper) ) bool_prop;
-
-    counter_prop    p_assertions_passed;
-    counter_prop    p_assertions_failed;
-    counter_prop    p_expected_failures;
-    counter_prop    p_test_cases_passed;
-    counter_prop    p_test_cases_failed;
-    counter_prop    p_test_cases_skipped;
-    counter_prop    p_test_cases_aborted;
-    bool_prop       p_aborted;
-    bool_prop       p_skipped;
-
-    // "conclusion" methods
-    bool            passed() const;
-    int             result_code() const;
-
-    // collection helper
-    void            operator+=( test_results const& );
-
-    void            clear();
-};
-
-// ************************************************************************** //
-// **************               results_collector              ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL results_collector_t : public test_observer, public singleton<results_collector_t> {
-public:
-    // test_observer interface implementation
-    void                test_start( counter_t test_cases_amount );
-    void                test_finish();
-    void                test_aborted();
-
-    void                test_unit_start( test_unit const& );
-    void                test_unit_finish( test_unit const&, unsigned long elapsed );
-    void                test_unit_skipped( test_unit const& );
-    void                test_unit_aborted( test_unit const& );
-
-    void                assertion_result( bool passed );
-    void                exception_caught( execution_exception const& );
-
-    // results access
-    test_results const& results( test_unit_id ) const;
-
-private:
-    BOOST_TEST_SINGLETON_CONS( results_collector_t );
-};
-
-BOOST_TEST_SINGLETON_INST( results_collector )
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_RESULTS_COLLECTOR_HPP_071894GER
-
diff --git a/SRC/Boost/boost/test/results_reporter.hpp b/SRC/Boost/boost/test/results_reporter.hpp
deleted file mode 100755
index e78b0f8..0000000
--- a/SRC/Boost/boost/test/results_reporter.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : defines class unit_test_result that is responsible for 
-//  gathering test results and presenting this information to end-user
-// ***************************************************************************
-
-#ifndef BOOST_TEST_RESULTS_REPORTER_HPP_021205GER
-#define BOOST_TEST_RESULTS_REPORTER_HPP_021205GER
-
-// Boost.Test
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/detail/fwd_decl.hpp>
-
-// STL
-#include <iosfwd>   // for std::ostream&
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace results_reporter {
-
-// ************************************************************************** //
-// **************              formatter interface             ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL format {
-public:
-    // Destructor
-    virtual ~format() {}
-
-    virtual void    results_report_start( std::ostream& ostr ) = 0;
-    virtual void    results_report_finish( std::ostream& ostr ) = 0;
-
-    virtual void    test_unit_report_start( test_unit const&, std::ostream& ostr ) = 0;
-    virtual void    test_unit_report_finish( test_unit const&, std::ostream& ostr ) = 0;
-
-    virtual void    do_confirmation_report( test_unit const&, std::ostream& ostr ) = 0;
-};
-
-// ************************************************************************** //
-// **************              report configuration            ************** //
-// ************************************************************************** //
-
-BOOST_TEST_DECL void    set_level( report_level );
-BOOST_TEST_DECL void    set_stream( std::ostream& );
-BOOST_TEST_DECL void    set_format( output_format );
-BOOST_TEST_DECL void    set_format( results_reporter::format* );
-
-BOOST_TEST_DECL std::ostream& get_stream();
-
-// ************************************************************************** //
-// **************               report initiation              ************** //
-// ************************************************************************** //
-
-BOOST_TEST_DECL void    make_report( report_level l = INV_REPORT_LEVEL, test_unit_id = INV_TEST_UNIT_ID );
-inline void             confirmation_report( test_unit_id id = INV_TEST_UNIT_ID )   
-{ make_report( CONFIRMATION_REPORT, id ); }
-inline void             short_report( test_unit_id id = INV_TEST_UNIT_ID )
-{ make_report( SHORT_REPORT, id ); }
-inline void             detailed_report( test_unit_id id = INV_TEST_UNIT_ID )
-{ make_report( DETAILED_REPORT, id ); }
-
-} // namespace results_reporter
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_RESULTS_REPORTER_HPP_021205GER
-
diff --git a/SRC/Boost/boost/test/test_observer.hpp b/SRC/Boost/boost/test/test_observer.hpp
deleted file mode 100755
index 4aa472e..0000000
--- a/SRC/Boost/boost/test/test_observer.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : defines abstract interface for test observer
-// ***************************************************************************
-
-#ifndef BOOST_TEST_TEST_OBSERVER_HPP_021005GER
-#define BOOST_TEST_TEST_OBSERVER_HPP_021005GER
-
-// Boost.Test
-#include <boost/test/detail/fwd_decl.hpp>
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/detail/config.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                 test_observer                ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL test_observer {
-public:
-    // test observer interface
-    virtual void    test_start( counter_t /* test_cases_amount */ ) {}
-    virtual void    test_finish() {}
-    virtual void    test_aborted() {}
-
-    virtual void    test_unit_start( test_unit const& ) {}
-    virtual void    test_unit_finish( test_unit const&, unsigned long /* elapsed */ ) {}
-    virtual void    test_unit_skipped( test_unit const& ) {}
-    virtual void    test_unit_aborted( test_unit const& ) {}
-
-    virtual void    assertion_result( bool /* passed */ ) {}
-    virtual void    exception_caught( execution_exception const& ) {}
-
-    virtual int     priority() { return 0; }
-
-protected:
-    BOOST_TEST_PROTECTED_VIRTUAL ~test_observer() {}
-};
-
-} // unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_TEST_OBSERVER_HPP_021005GER
-
diff --git a/SRC/Boost/boost/test/test_tools.hpp b/SRC/Boost/boost/test/test_tools.hpp
deleted file mode 100755
index 2e228ed..0000000
--- a/SRC/Boost/boost/test/test_tools.hpp
+++ /dev/null
@@ -1,719 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : contains definition for all test tools in test toolbox
-// ***************************************************************************
-
-#ifndef BOOST_TEST_TEST_TOOLS_HPP_012705GER
-#define BOOST_TEST_TEST_TOOLS_HPP_012705GER
-
-// Boost.Test
-#include <boost/test/predicate_result.hpp>
-#include <boost/test/unit_test_log.hpp>
-#include <boost/test/floating_point_comparison.hpp>
-
-#include <boost/test/detail/config.hpp>
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/detail/workaround.hpp>
-
-#include <boost/test/utils/wrap_stringstream.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp>
-#include <boost/test/utils/lazy_ostream.hpp>
-
-// Boost
-#include <boost/preprocessor/seq/for_each.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/seq/enum.hpp> 
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/punctuation/comma_if.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-
-#include <boost/limits.hpp>
-
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/is_abstract.hpp>
-
-#include <boost/mpl/or.hpp>
-
-// STL
-#include <cstddef>          // for std::size_t
-#include <iosfwd>
-#include <ios>              // for std::boolalpha
-#include <climits>          // for CHAR_BIT
-
-#ifdef BOOST_MSVC
-# pragma warning(disable: 4127) // conditional expression is constant
-#endif
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                    TOOL BOX                  ************** //
-// ************************************************************************** //
-
-// In macros below following argument abbreviations are used:
-// P - predicate
-// M - message
-// S - statement
-// E - exception
-// L - left argument
-// R - right argument
-// TL - tool level
-// CT - check type
-// ARGS - arguments list
-
-#define BOOST_TEST_TOOL_IMPL( func, P, check_descr, TL, CT )            \
-    ::boost::test_tools::tt_detail::func(                               \
-        P,                                                              \
-        ::boost::unit_test::lazy_ostream::instance() << check_descr,    \
-        BOOST_TEST_L(__FILE__),                                         \
-        static_cast<std::size_t>(__LINE__),                             \
-        ::boost::test_tools::tt_detail::TL,                             \
-        ::boost::test_tools::tt_detail::CT                              \
-/**/
-
-//____________________________________________________________________________//
-
-#define BOOST_CHECK_IMPL( P, check_descr, TL, CT )                  \
-do {                                                                \
-    BOOST_TEST_PASSPOINT();                                         \
-    BOOST_TEST_TOOL_IMPL( check_impl, P, check_descr, TL, CT ), 0 );\
-} while( ::boost::test_tools::dummy_cond )                          \
-/**/
-
-//____________________________________________________________________________//
-
-#define BOOST_TEST_PASS_ARG_INFO( r, data, arg ) , arg, BOOST_STRINGIZE( arg )
-
-#define BOOST_CHECK_WITH_ARGS_IMPL( P, check_descr, TL, CT, ARGS )  \
-do {                                                                \
-    BOOST_TEST_PASSPOINT();                                         \
-    BOOST_TEST_TOOL_IMPL( check_frwd, P, check_descr, TL, CT )      \
-    BOOST_PP_SEQ_FOR_EACH( BOOST_TEST_PASS_ARG_INFO, '_', ARGS ) ); \
-} while( ::boost::test_tools::dummy_cond )                          \
-/**/
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN( P )                     BOOST_CHECK_IMPL( (P), BOOST_TEST_STRINGIZE( P ), WARN, CHECK_PRED )
-#define BOOST_CHECK( P )                    BOOST_CHECK_IMPL( (P), BOOST_TEST_STRINGIZE( P ), CHECK, CHECK_PRED )
-#define BOOST_REQUIRE( P )                  BOOST_CHECK_IMPL( (P), BOOST_TEST_STRINGIZE( P ), REQUIRE, CHECK_PRED )
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_MESSAGE( P, M )          BOOST_CHECK_IMPL( (P), M, WARN, CHECK_MSG )
-#define BOOST_CHECK_MESSAGE( P, M )         BOOST_CHECK_IMPL( (P), M, CHECK, CHECK_MSG )
-#define BOOST_REQUIRE_MESSAGE( P, M )       BOOST_CHECK_IMPL( (P), M, REQUIRE, CHECK_MSG )
-
-//____________________________________________________________________________//
-
-#define BOOST_ERROR( M )                    BOOST_CHECK_MESSAGE( false, M )
-#define BOOST_FAIL( M )                     BOOST_REQUIRE_MESSAGE( false, M )
-
-//____________________________________________________________________________//
-
-#define BOOST_CHECK_THROW_IMPL( S, E, P, prefix, TL )                                                   \
-    try {                                                                                               \
-        BOOST_TEST_PASSPOINT();                                                                         \
-        S;                                                                                              \
-        BOOST_CHECK_IMPL( false, "exception " BOOST_STRINGIZE( E ) " is expected", TL, CHECK_MSG ); }   \
-    catch( E const& ex ) {                                                                              \
-        ::boost::unit_test::ut_detail::ignore_unused_variable_warning( ex );                            \
-        BOOST_CHECK_IMPL( P, prefix BOOST_STRINGIZE( E ) " is caught", TL, CHECK_MSG );                 \
-    }                                                                                                   \
-/**/
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_THROW( S, E )            BOOST_CHECK_THROW_IMPL( S, E, true, "exception ", WARN )
-#define BOOST_CHECK_THROW( S, E )           BOOST_CHECK_THROW_IMPL( S, E, true, "exception ", CHECK )
-#define BOOST_REQUIRE_THROW( S, E )         BOOST_CHECK_THROW_IMPL( S, E, true, "exception ", REQUIRE )
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_EXCEPTION( S, E, P )     BOOST_CHECK_THROW_IMPL( S, E, P( ex ), "incorrect exception ", WARN )
-#define BOOST_CHECK_EXCEPTION( S, E, P )    BOOST_CHECK_THROW_IMPL( S, E, P( ex ), "incorrect exception ", CHECK )
-#define BOOST_REQUIRE_EXCEPTION( S, E, P )  BOOST_CHECK_THROW_IMPL( S, E, P( ex ), "incorrect exception ", REQUIRE )
-
-//____________________________________________________________________________//
-
-#define BOOST_CHECK_NO_THROW_IMPL( S, TL )                                                          \
-    try {                                                                                           \
-        S;                                                                                          \
-        BOOST_CHECK_IMPL( true, "no exceptions thrown by " BOOST_STRINGIZE( S ), TL, CHECK_MSG ); } \
-    catch( ... ) {                                                                                  \
-        BOOST_CHECK_IMPL( false, "exception thrown by " BOOST_STRINGIZE( S ), TL, CHECK_MSG );      \
-    }                                                                                               \
-/**/
-
-#define BOOST_WARN_NO_THROW( S )            BOOST_CHECK_NO_THROW_IMPL( S, WARN )
-#define BOOST_CHECK_NO_THROW( S )           BOOST_CHECK_NO_THROW_IMPL( S, CHECK )
-#define BOOST_REQUIRE_NO_THROW( S )         BOOST_CHECK_NO_THROW_IMPL( S, REQUIRE )
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_EQUAL( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::equal_impl_frwd(), "", WARN, CHECK_EQUAL, (L)(R) )
-#define BOOST_CHECK_EQUAL( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::equal_impl_frwd(), "", CHECK, CHECK_EQUAL, (L)(R) )
-#define BOOST_REQUIRE_EQUAL( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::equal_impl_frwd(), "", REQUIRE, CHECK_EQUAL, (L)(R) )
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_NE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::ne_impl(), "", WARN, CHECK_NE, (L)(R) )
-#define BOOST_CHECK_NE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::ne_impl(), "", CHECK, CHECK_NE, (L)(R) )
-#define BOOST_REQUIRE_NE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::ne_impl(), "", REQUIRE, CHECK_NE, (L)(R) )
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_LT( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::lt_impl(), "", WARN, CHECK_LT, (L)(R) )
-#define BOOST_CHECK_LT( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::lt_impl(), "", CHECK, CHECK_LT, (L)(R) )
-#define BOOST_REQUIRE_LT( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::lt_impl(), "", REQUIRE, CHECK_LT, (L)(R) )
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_LE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::le_impl(), "", WARN, CHECK_LE, (L)(R) )
-#define BOOST_CHECK_LE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::le_impl(), "", CHECK, CHECK_LE, (L)(R) )
-#define BOOST_REQUIRE_LE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::le_impl(), "", REQUIRE, CHECK_LE, (L)(R) )
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_GT( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::gt_impl(), "", WARN, CHECK_GT, (L)(R) )
-#define BOOST_CHECK_GT( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::gt_impl(), "", CHECK, CHECK_GT, (L)(R) )
-#define BOOST_REQUIRE_GT( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::gt_impl(), "", REQUIRE, CHECK_GT, (L)(R) )
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_GE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::ge_impl(), "", WARN, CHECK_GE, (L)(R) )
-#define BOOST_CHECK_GE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::ge_impl(), "", CHECK, CHECK_GE, (L)(R) )
-#define BOOST_REQUIRE_GE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::tt_detail::ge_impl(), "", REQUIRE, CHECK_GE, (L)(R) )
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_CLOSE( L, R, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::check_is_close, "", WARN, CHECK_CLOSE, \
-        (L)(R)(::boost::test_tools::percent_tolerance(T)) )
-#define BOOST_CHECK_CLOSE( L, R, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::check_is_close, "", CHECK, CHECK_CLOSE, \
-        (L)(R)(::boost::test_tools::percent_tolerance(T)) )
-#define BOOST_REQUIRE_CLOSE( L, R, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::check_is_close, "", REQUIRE, CHECK_CLOSE, \
-        (L)(R)(::boost::test_tools::percent_tolerance(T)) )
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_CLOSE_FRACTION( L, R, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::check_is_close, "", WARN, CHECK_CLOSE_FRACTION, \
-    (L)(R)(::boost::test_tools::fraction_tolerance(T)) )
-#define BOOST_CHECK_CLOSE_FRACTION( L, R, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::check_is_close, "", CHECK, CHECK_CLOSE_FRACTION, \
-    (L)(R)(::boost::test_tools::fraction_tolerance(T)) )
-#define BOOST_REQUIRE_CLOSE_FRACTION( L, R, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::check_is_close, "", REQUIRE, CHECK_CLOSE_FRACTION, \
-    (L)(R)(::boost::test_tools::fraction_tolerance(T)) )
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_SMALL( FPV, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::check_is_small, "", WARN, CHECK_SMALL, (FPV)(T) )
-#define BOOST_CHECK_SMALL( FPV, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::check_is_small, "", CHECK, CHECK_SMALL, (FPV)(T) )
-#define BOOST_REQUIRE_SMALL( FPV, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::boost::test_tools::check_is_small, "", REQUIRE, CHECK_SMALL, (FPV)(T) )
-
-//____________________________________________________________________________//
-
-#define BOOST_WARN_PREDICATE( P, ARGS ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( P, BOOST_TEST_STRINGIZE( P ), WARN, CHECK_PRED_WITH_ARGS, ARGS )
-#define BOOST_CHECK_PREDICATE( P, ARGS ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( P, BOOST_TEST_STRINGIZE( P ), CHECK, CHECK_PRED_WITH_ARGS, ARGS )
-#define BOOST_REQUIRE_PREDICATE( P, ARGS ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( P, BOOST_TEST_STRINGIZE( P ), REQUIRE, CHECK_PRED_WITH_ARGS, ARGS )
-
-//____________________________________________________________________________//
-
-#define BOOST_EQUAL_COLLECTIONS_IMPL( L_begin, L_end, R_begin, R_end, TL )      \
-    BOOST_TEST_TOOL_IMPL( check_impl, ::boost::test_tools::tt_detail::equal_coll_impl( \
-        (L_begin), (L_end), (R_begin), (R_end) ), "", TL, CHECK_EQUAL_COLL ),   \
-    4,                                                                          \
-    BOOST_STRINGIZE( L_begin ), BOOST_STRINGIZE( L_end ),                       \
-    BOOST_STRINGIZE( R_begin ), BOOST_STRINGIZE( R_end ) )                      \
-/**/
-
-#define BOOST_WARN_EQUAL_COLLECTIONS( L_begin, L_end, R_begin, R_end )          \
-    BOOST_EQUAL_COLLECTIONS_IMPL( L_begin, L_end, R_begin, R_end, WARN )
-#define BOOST_CHECK_EQUAL_COLLECTIONS( L_begin, L_end, R_begin, R_end )         \
-    BOOST_EQUAL_COLLECTIONS_IMPL( L_begin, L_end, R_begin, R_end, CHECK )
-#define BOOST_REQUIRE_EQUAL_COLLECTIONS( L_begin, L_end, R_begin, R_end )       \
-    BOOST_EQUAL_COLLECTIONS_IMPL( L_begin, L_end, R_begin, R_end, REQUIRE )
-
-//____________________________________________________________________________//
-
-#define BOOST_BITWISE_EQUAL_IMPL( L, R, TL )                                    \
-    BOOST_TEST_TOOL_IMPL( check_impl,                                           \
-      ::boost::test_tools::tt_detail::bitwise_equal_impl( (L), (R) ),           \
-      "", TL, CHECK_BITWISE_EQUAL ),                                            \
-    2, BOOST_STRINGIZE( L ), BOOST_STRINGIZE( R ) )                             \
-/**/
-
-#define BOOST_WARN_BITWISE_EQUAL( L, R )    BOOST_BITWISE_EQUAL_IMPL( L, R, WARN )
-#define BOOST_CHECK_BITWISE_EQUAL( L, R )   BOOST_BITWISE_EQUAL_IMPL( L, R, CHECK )
-#define BOOST_REQUIRE_BITWISE_EQUAL( L, R ) BOOST_BITWISE_EQUAL_IMPL( L, R, REQUIRE )
-
-//____________________________________________________________________________//
-
-#define BOOST_IS_DEFINED( symb )            ::boost::test_tools::tt_detail::is_defined_impl( #symb, BOOST_STRINGIZE(= symb) )
-
-//____________________________________________________________________________//
-
-// ***************************** //
-// deprecated interface
-
-#define BOOST_BITWISE_EQUAL( L, R )         BOOST_CHECK_BITWISE_EQUAL( L, R )
-#define BOOST_MESSAGE( M )                  BOOST_TEST_MESSAGE( M )
-#define BOOST_CHECKPOINT( M )               BOOST_TEST_CHECKPOINT( M )
-
-namespace boost {
-
-namespace test_tools {
-
-typedef unit_test::const_string      const_string;
-
-namespace { bool dummy_cond = false; }
-
-// ************************************************************************** //
-// **************                print_log_value               ************** //
-// ************************************************************************** //
-
-template<typename T>
-struct print_log_value {
-    void    operator()( std::ostream& ostr, T const& t )
-    {
-        // avoid warning: 'boost::test_tools::<unnamed>::dummy_cond' defined but not used 
-        if (::boost::test_tools::dummy_cond) {}
-
-        typedef typename mpl::or_<is_array<T>,is_function<T>,is_abstract<T> >::type cant_use_nl;
-
-        set_precision( ostr, cant_use_nl() );
-
-        ostr << t; // by default print the value
-    }
-
-    void set_precision( std::ostream& ostr, mpl::false_ )
-    {
-        if( std::numeric_limits<T>::is_specialized && std::numeric_limits<T>::radix == 2 )
-            ostr.precision( 2 + std::numeric_limits<T>::digits * 301/1000 ); 
-    }
-
-    void set_precision( std::ostream&, mpl::true_ ) {}
-};
-
-//____________________________________________________________________________//
-
-#define BOOST_TEST_DONT_PRINT_LOG_VALUE( the_type )         \
-namespace boost { namespace test_tools {                    \
-template<>                                                  \
-struct print_log_value<the_type > {                         \
-    void operator()( std::ostream&, the_type const& ) {}    \
-};                                                          \
-}}                                                          \
-/**/
-
-//____________________________________________________________________________//
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-template<typename T, std::size_t N >
-struct print_log_value< T[N] > {
-    void    operator()( std::ostream& ostr, T const* t )
-    {
-        ostr << t;
-    }
-};
-#endif
-
-//____________________________________________________________________________//
-
-template<>
-struct BOOST_TEST_DECL print_log_value<bool> {
-    void    operator()( std::ostream& ostr, bool t )
-    {
-         ostr << std::boolalpha << t;
-    }
-};
-
-//____________________________________________________________________________//
-
-template<>
-struct BOOST_TEST_DECL print_log_value<char> {
-    void    operator()( std::ostream& ostr, char t );
-};
-
-//____________________________________________________________________________//
-
-template<>
-struct BOOST_TEST_DECL print_log_value<unsigned char> {
-    void    operator()( std::ostream& ostr, unsigned char t );
-};
-
-//____________________________________________________________________________//
-
-template<>
-struct BOOST_TEST_DECL print_log_value<char const*> {
-    void    operator()( std::ostream& ostr, char const* t );
-};
-
-//____________________________________________________________________________//
-
-template<>
-struct BOOST_TEST_DECL print_log_value<wchar_t const*> {
-    void    operator()( std::ostream& ostr, wchar_t const* t );
-};
-
-//____________________________________________________________________________//
-
-namespace tt_detail {
-
-// ************************************************************************** //
-// **************              tools classification            ************** //
-// ************************************************************************** //
-
-enum check_type {
-    CHECK_PRED, 
-    CHECK_MSG,
-    CHECK_EQUAL,
-    CHECK_NE,
-    CHECK_LT,
-    CHECK_LE,
-    CHECK_GT,
-    CHECK_GE,
-    CHECK_CLOSE,
-    CHECK_CLOSE_FRACTION,
-    CHECK_SMALL,
-    CHECK_BITWISE_EQUAL,
-    CHECK_PRED_WITH_ARGS,
-    CHECK_EQUAL_COLL
-};
-
-enum tool_level {
-    WARN, CHECK, REQUIRE, PASS
-};
-
-// ************************************************************************** //
-// **************                 print_helper                 ************** //
-// ************************************************************************** //
-// Adds level of indirection to the output operation, allowing us to customize 
-// it for types that do not support operator << directly or for any other reason
-
-template<typename T>
-struct print_helper_t {
-    explicit    print_helper_t( T const& t ) : m_t( t ) {}
-
-    T const&    m_t;
-};
-
-//____________________________________________________________________________//
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) 
-// Borland suffers premature pointer decay passing arrays by reference
-template<typename T, std::size_t N >
-struct print_helper_t< T[N] > {
-    explicit    print_helper_t( T const * t ) : m_t( t ) {}
-
-    T const *   m_t;
-};
-#endif
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline print_helper_t<T> print_helper( T const& t )
-{
-    return print_helper_t<T>( t );
-}
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline std::ostream& 
-operator<<( std::ostream& ostr, print_helper_t<T> const& ph )
-{
-    print_log_value<T>()( ostr, ph.m_t );
-
-    return ostr;
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************            TOOL BOX Implementation           ************** //
-// ************************************************************************** //
-
-BOOST_TEST_DECL 
-bool check_impl( predicate_result const& pr, ::boost::unit_test::lazy_ostream const& check_descr,
-                 const_string file_name, std::size_t line_num,
-                 tool_level tl, check_type ct,
-                 std::size_t num_args, ... );
-
-//____________________________________________________________________________//
-
-#define TEMPL_PARAMS( z, m, dummy ) , typename BOOST_JOIN( Arg, m )
-#define FUNC_PARAMS( z, m, dummy )                                                  \
- , BOOST_JOIN( Arg, m ) const& BOOST_JOIN( arg, m )                                 \
- , char const* BOOST_JOIN( BOOST_JOIN( arg, m ), _descr )                           \
-/**/
-
-#define PRED_PARAMS( z, m, dummy ) BOOST_PP_COMMA_IF( m ) BOOST_JOIN( arg, m ) 
-
-#define ARG_INFO( z, m, dummy )                                                     \
- , BOOST_JOIN( BOOST_JOIN( arg, m ), _descr )                                       \
- , &static_cast<const unit_test::lazy_ostream&>(unit_test::lazy_ostream::instance() \
-        << ::boost::test_tools::tt_detail::print_helper( BOOST_JOIN( arg, m ) ))    \
-/**/
-
-#define IMPL_FRWD( z, n, dummy )                                                    \
-template<typename Pred                                                              \
-         BOOST_PP_REPEAT_ ## z( BOOST_PP_ADD( n, 1 ), TEMPL_PARAMS, _ )>            \
-inline bool                                                                         \
-check_frwd( Pred P, unit_test::lazy_ostream const& check_descr,                     \
-            const_string file_name, std::size_t line_num,                           \
-            tool_level tl, check_type ct                                            \
-            BOOST_PP_REPEAT_ ## z( BOOST_PP_ADD( n, 1 ), FUNC_PARAMS, _ )           \
-)                                                                                   \
-{                                                                                   \
-    return                                                                          \
-    check_impl( P( BOOST_PP_REPEAT_ ## z( BOOST_PP_ADD( n, 1 ), PRED_PARAMS, _ ) ), \
-                check_descr, file_name, line_num, tl, ct,                           \
-                BOOST_PP_ADD( n, 1 )                                                \
-                BOOST_PP_REPEAT_ ## z( BOOST_PP_ADD( n, 1 ), ARG_INFO, _ )          \
-    );                                                                              \
-}                                                                                   \
-/**/
-
-#ifndef BOOST_TEST_MAX_PREDICATE_ARITY
-#define BOOST_TEST_MAX_PREDICATE_ARITY 5
-#endif
-
-BOOST_PP_REPEAT( BOOST_TEST_MAX_PREDICATE_ARITY, IMPL_FRWD, _ )
-
-#undef TEMPL_PARAMS
-#undef FUNC_PARAMS
-#undef PRED_INFO
-#undef ARG_INFO
-#undef IMPL_FRWD
-
-//____________________________________________________________________________//
-
-template <class Left, class Right>
-predicate_result equal_impl( Left const& left, Right const& right )
-{
-    return left == right;
-}
-
-//____________________________________________________________________________//
-
-predicate_result        BOOST_TEST_DECL equal_impl( char const* left, char const* right );
-inline predicate_result equal_impl( char* left, char const* right ) { return equal_impl( static_cast<char const*>(left), static_cast<char const*>(right) ); }
-inline predicate_result equal_impl( char const* left, char* right ) { return equal_impl( static_cast<char const*>(left), static_cast<char const*>(right) ); }
-inline predicate_result equal_impl( char* left, char* right )       { return equal_impl( static_cast<char const*>(left), static_cast<char const*>(right) ); }
-
-#if !defined( BOOST_NO_CWCHAR )
-predicate_result        BOOST_TEST_DECL equal_impl( wchar_t const* left, wchar_t const* right );
-inline predicate_result equal_impl( wchar_t* left, wchar_t const* right ) { return equal_impl( static_cast<wchar_t const*>(left), static_cast<wchar_t const*>(right) ); }
-inline predicate_result equal_impl( wchar_t const* left, wchar_t* right ) { return equal_impl( static_cast<wchar_t const*>(left), static_cast<wchar_t const*>(right) ); }
-inline predicate_result equal_impl( wchar_t* left, wchar_t* right )       { return equal_impl( static_cast<wchar_t const*>(left), static_cast<wchar_t const*>(right) ); }
-#endif
-
-//____________________________________________________________________________//
-
-struct equal_impl_frwd {
-    template <typename Left, typename Right>
-    inline predicate_result
-    call_impl( Left const& left, Right const& right, mpl::false_ ) const
-    {
-        return equal_impl( left, right );
-    }
-
-    template <typename Left, typename Right>
-    inline predicate_result
-    call_impl( Left const& left, Right const& right, mpl::true_ ) const
-    {
-        return (*this)( right, &left[0] );
-    }
-
-    template <typename Left, typename Right>
-    inline predicate_result
-    operator()( Left const& left, Right const& right ) const
-    {
-        typedef typename is_array<Left>::type left_is_array;
-        return call_impl( left, right, left_is_array() );
-    }
-};
-
-//____________________________________________________________________________//
-
-struct ne_impl {
-    template <class Left, class Right>
-    predicate_result operator()( Left const& left, Right const& right )
-    {
-        return !equal_impl_frwd()( left, right );
-    }
-};
-
-//____________________________________________________________________________//
-
-struct lt_impl {
-    template <class Left, class Right>
-    predicate_result operator()( Left const& left, Right const& right )
-    {
-        return left < right;
-    }
-};
-
-//____________________________________________________________________________//
-
-struct le_impl {
-    template <class Left, class Right>
-    predicate_result operator()( Left const& left, Right const& right )
-    {
-        return left <= right;
-    }
-};
-
-//____________________________________________________________________________//
-
-struct gt_impl {
-    template <class Left, class Right>
-    predicate_result operator()( Left const& left, Right const& right )
-    {
-        return left > right;
-    }
-};
-
-//____________________________________________________________________________//
-
-struct ge_impl {
-    template <class Left, class Right>
-    predicate_result operator()( Left const& left, Right const& right )
-    {
-        return left >= right;
-    }
-};
-
-//____________________________________________________________________________//
-
-template <typename Left, typename Right>
-inline predicate_result
-equal_coll_impl( Left left_begin, Left left_end, Right right_begin, Right right_end )
-{
-    predicate_result    res( true );
-    std::size_t         pos = 0;
-
-    for( ; left_begin != left_end && right_begin != right_end; ++left_begin, ++right_begin, ++pos ) {
-        if( *left_begin != *right_begin ) {
-            res = false;
-            res.message() << "\nMismatch in a position " << pos << ": "  << *left_begin << " != " << *right_begin;
-        }
-    }
-
-    if( left_begin != left_end ) {
-        std::size_t r_size = pos;
-        while( left_begin != left_end ) {
-            ++pos;
-            ++left_begin;
-        }
-
-        res = false;
-        res.message() << "\nCollections size mismatch: " << pos << " != " << r_size;
-    }
-
-    if( right_begin != right_end ) {
-        std::size_t l_size = pos;
-        while( right_begin != right_end ) {
-            ++pos;
-            ++right_begin;
-        }
-
-        res = false;
-        res.message() << "\nCollections size mismatch: " << l_size << " != " << pos;
-    }
-
-    return res;
-}
-
-//____________________________________________________________________________//
-
-template <class Left, class Right>
-inline predicate_result
-bitwise_equal_impl( Left const& left, Right const& right )
-{
-    predicate_result    res( true );
-
-    std::size_t left_bit_size  = sizeof(Left)*CHAR_BIT;
-    std::size_t right_bit_size = sizeof(Right)*CHAR_BIT;
-
-    static Left const leftOne( 1 );
-    static Right const rightOne( 1 );
-
-    std::size_t total_bits = left_bit_size < right_bit_size ? left_bit_size : right_bit_size;
-
-    for( std::size_t counter = 0; counter < total_bits; ++counter ) {
-        if( ( left & ( leftOne << counter ) ) != ( right & ( rightOne << counter ) ) ) {
-            res = false;
-            res.message() << "\nMismatch in a position " << counter;
-        }
-    }
-
-    if( left_bit_size != right_bit_size ) {
-        res = false;
-        res.message() << "\nOperands bit sizes mismatch: " << left_bit_size << " != " << right_bit_size;
-    }
-
-    return res;
-}
-
-//____________________________________________________________________________//
-
-bool BOOST_TEST_DECL is_defined_impl( const_string symbol_name, const_string symbol_value );
-
-//____________________________________________________________________________//
-
-} // namespace tt_detail
-
-} // namespace test_tools
-
-namespace test_toolbox = test_tools;
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_TEST_TOOLS_HPP_012705GER
diff --git a/SRC/Boost/boost/test/unit_test.hpp b/SRC/Boost/boost/test/unit_test.hpp
deleted file mode 100755
index b95030a..0000000
--- a/SRC/Boost/boost/test/unit_test.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : Entry point for the end user into the Unit Test Framework.
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_HPP_071894GER
-#define BOOST_TEST_UNIT_TEST_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/test_tools.hpp>
-#include <boost/test/unit_test_suite.hpp>
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                 Auto Linking                 ************** //
-// ************************************************************************** //
-
-#if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_TEST_NO_LIB) && \
-    !defined(BOOST_TEST_SOURCE) && !defined(BOOST_TEST_INCLUDED)
-#  define BOOST_LIB_NAME boost_unit_test_framework
-
-#  if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_TEST_DYN_LINK)
-#    define BOOST_DYN_LINK
-#  endif
-
-#  include <boost/config/auto_link.hpp>
-
-#endif  // auto-linking disabled
-
-// ************************************************************************** //
-// **************                  unit_test_main              ************** //
-// ************************************************************************** //
-
-namespace boost { namespace unit_test {
-
-int BOOST_TEST_DECL unit_test_main( init_unit_test_func init_func, int argc, char* argv[] );
-
-}}
-
-#if defined(BOOST_TEST_DYN_LINK) && defined(BOOST_TEST_MAIN) && !defined(BOOST_TEST_NO_MAIN)
-
-// ************************************************************************** //
-// **************        main function for tests using dll     ************** //
-// ************************************************************************** //
-
-int BOOST_TEST_CALL_DECL
-main( int argc, char* argv[] )
-{
-    return ::boost::unit_test::unit_test_main( &init_unit_test, argc, argv );
-}
-
-//____________________________________________________________________________//
-
-#endif // BOOST_TEST_DYN_LINK && BOOST_TEST_MAIN && !BOOST_TEST_NO_MAIN
-
-#endif // BOOST_TEST_UNIT_TEST_HPP_071894GER
diff --git a/SRC/Boost/boost/test/unit_test_log.hpp b/SRC/Boost/boost/test/unit_test_log.hpp
deleted file mode 100755
index 13ae254..0000000
--- a/SRC/Boost/boost/test/unit_test_log.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : defines singleton class unit_test_log and all manipulators.
-//  unit_test_log has output stream like interface. It's implementation is
-//  completely hidden with pimple idiom
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_LOG_HPP_071894GER
-#define BOOST_TEST_UNIT_TEST_LOG_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/test_observer.hpp>
-
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/detail/log_level.hpp>
-#include <boost/test/detail/fwd_decl.hpp>
-
-#include <boost/test/utils/wrap_stringstream.hpp>
-#include <boost/test/utils/trivial_singleton.hpp>
-#include <boost/test/utils/lazy_ostream.hpp>
-
-// Boost
-#include <boost/utility.hpp>
-
-// STL
-#include <iosfwd>   // for std::ostream&
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                log manipulators              ************** //
-// ************************************************************************** //
-
-namespace log {
-
-struct BOOST_TEST_DECL begin {
-    begin( const_string fn, std::size_t ln )
-    : m_file_name( fn )
-    , m_line_num( ln )
-    {}
-
-    const_string m_file_name;
-    std::size_t m_line_num;
-};
-
-struct end {};
-
-} // namespace log
-
-// ************************************************************************** //
-// **************             entry_value_collector            ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-class BOOST_TEST_DECL entry_value_collector {
-public:
-    // Constructors
-    entry_value_collector() : m_last( true ) {}
-    entry_value_collector( entry_value_collector const& rhs ) : m_last( true ) { rhs.m_last = false; }
-    ~entry_value_collector();
-
-    // collection interface
-    entry_value_collector const& operator<<( lazy_ostream const& ) const;
-    entry_value_collector const& operator<<( const_string ) const;
-
-private:
-    // Data members
-    mutable bool    m_last;
-};
-
-} // namespace ut_detail
-
-// ************************************************************************** //
-// **************                 unit_test_log                ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL unit_test_log_t : public test_observer, public singleton<unit_test_log_t> {
-public:
-    // test_observer interface implementation
-    void                test_start( counter_t test_cases_amount );
-    void                test_finish();
-    void                test_aborted();
-
-    void                test_unit_start( test_unit const& );
-    void                test_unit_finish( test_unit const&, unsigned long elapsed );
-    void                test_unit_skipped( test_unit const& );
-    void                test_unit_aborted( test_unit const& );
-
-    void                assertion_result( bool passed );
-    void                exception_caught( execution_exception const& );
-
-    virtual int         priority() { return 1; }
-
-    // log configuration methods
-    void                set_stream( std::ostream& );
-    void                set_threshold_level( log_level );
-    void                set_format( output_format );
-    void                set_formatter( unit_test_log_formatter* );
-
-    // test progress logging
-    void                set_checkpoint( const_string file, std::size_t line_num, const_string msg = const_string() );
-
-    // entry logging
-    unit_test_log_t&    operator<<( log::begin const& );        // begin entry 
-    unit_test_log_t&    operator<<( log::end const& );          // end entry
-    unit_test_log_t&    operator<<( log_level );                // set entry level
-    unit_test_log_t&    operator<<( const_string );             // log entry value
-    unit_test_log_t&    operator<<( lazy_ostream const& );      // log entry value
-
-    ut_detail::entry_value_collector operator()( log_level );   // initiate entry collection
-
-private:
-    bool            log_entry_start();
-
-    BOOST_TEST_SINGLETON_CONS( unit_test_log_t );
-}; // unit_test_log_t
-
-BOOST_TEST_SINGLETON_INST( unit_test_log )
-
-// helper macros
-#define BOOST_TEST_LOG_ENTRY( ll )                                                  \
-    (::boost::unit_test::unit_test_log                                              \
-        << ::boost::unit_test::log::begin( BOOST_TEST_L(__FILE__), __LINE__ ))(ll)  \
-/**/
-
-} // namespace unit_test
-
-} // namespace boost
-
-// ************************************************************************** //
-// **************       Unit test log interface helpers        ************** //
-// ************************************************************************** //
-
-#define BOOST_TEST_MESSAGE( M )                                 \
-    BOOST_TEST_LOG_ENTRY( ::boost::unit_test::log_messages )    \
-    << (::boost::unit_test::lazy_ostream::instance() << M)      \
-/**/
-
-//____________________________________________________________________________//
-
-#define BOOST_TEST_PASSPOINT()                                  \
-    ::boost::unit_test::unit_test_log.set_checkpoint(           \
-        BOOST_TEST_L(__FILE__),                                 \
-        static_cast<std::size_t>(__LINE__) )                    \
-/**/
-
-//____________________________________________________________________________//
-
-#define BOOST_TEST_CHECKPOINT( M )                              \
-    ::boost::unit_test::unit_test_log.set_checkpoint(           \
-        BOOST_TEST_L(__FILE__),                                 \
-        static_cast<std::size_t>(__LINE__),                     \
-        (::boost::wrap_stringstream().ref() << M).str() )       \
-/**/
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UNIT_TEST_LOG_HPP_071894GER
-
diff --git a/SRC/Boost/boost/test/unit_test_log_formatter.hpp b/SRC/Boost/boost/test/unit_test_log_formatter.hpp
deleted file mode 100755
index 573724a..0000000
--- a/SRC/Boost/boost/test/unit_test_log_formatter.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2003-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : 
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER
-#define BOOST_TEST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/detail/log_level.hpp>
-#include <boost/test/detail/fwd_decl.hpp>
-
-#include <boost/test/execution_monitor.hpp>
-
-// STL
-#include <iosfwd>
-#include <string> // for std::string
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                log_entry_data                ************** //
-// ************************************************************************** //
-
-struct BOOST_TEST_DECL log_entry_data {
-    log_entry_data()
-    {
-        m_file_name.reserve( 200 );
-    }
-
-    std::string     m_file_name;
-    std::size_t     m_line_num;
-    log_level       m_level;
-
-    void clear()
-    {
-        m_file_name.erase();
-        m_line_num      = 0;
-        m_level     = log_nothing;
-    }
-};
-
-// ************************************************************************** //
-// **************                checkpoint_data               ************** //
-// ************************************************************************** //
-
-struct BOOST_TEST_DECL log_checkpoint_data
-{
-    const_string    m_file_name;
-    std::size_t     m_line_num;
-    std::string     m_message;
-
-    void clear()
-    {
-        m_file_name.clear();
-        m_line_num    = 0;
-        m_message = std::string();
-    }
-};
-
-// ************************************************************************** //
-// **************            unit_test_log_formatter           ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL unit_test_log_formatter {
-public:
-    enum log_entry_types { BOOST_UTL_ET_INFO, 
-                           BOOST_UTL_ET_MESSAGE,
-                           BOOST_UTL_ET_WARNING,
-                           BOOST_UTL_ET_ERROR,
-                           BOOST_UTL_ET_FATAL_ERROR };
-
-    // Destructor
-    virtual             ~unit_test_log_formatter() {}
-
-    // Formatter interface
-    virtual void        log_start( std::ostream&, counter_t test_cases_amount ) = 0;
-    virtual void        log_finish( std::ostream& ) = 0;
-    virtual void        log_build_info( std::ostream& ) = 0;
-
-    virtual void        test_unit_start( std::ostream&, test_unit const& tu ) = 0;
-    virtual void        test_unit_finish( std::ostream&, test_unit const& tu, unsigned long elapsed ) = 0;
-    virtual void        test_unit_skipped( std::ostream&, test_unit const& ) = 0;
-
-    virtual void        log_exception( std::ostream& os, log_checkpoint_data const& cd, execution_exception const& ex )
-    {
-        // for backward compatibility
-        log_exception( os, cd, ex.what() );
-    }
-    virtual void        log_exception( std::ostream&, log_checkpoint_data const&, const_string /* explanation */ ) {}
-
-    virtual void        log_entry_start( std::ostream&, log_entry_data const&, log_entry_types let ) = 0;
-    virtual void        log_entry_value( std::ostream&, const_string value ) = 0;
-    virtual void        log_entry_value( std::ostream&, lazy_ostream const& value ); // there is a default impl
-    virtual void        log_entry_finish( std::ostream& ) = 0;
-};
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER
-
diff --git a/SRC/Boost/boost/test/unit_test_monitor.hpp b/SRC/Boost/boost/test/unit_test_monitor.hpp
deleted file mode 100755
index d40953c..0000000
--- a/SRC/Boost/boost/test/unit_test_monitor.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : defines specific version of execution monitor used to managed 
-//  run unit of test cases. Translates execution exception into error level
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_MONITOR_HPP_020905GER
-#define BOOST_TEST_UNIT_TEST_MONITOR_HPP_020905GER
-
-// Boost.Test
-#include <boost/test/execution_monitor.hpp>
-#include <boost/test/detail/fwd_decl.hpp>
-#include <boost/test/utils/trivial_singleton.hpp>
-#include <boost/test/utils/callback.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************               unit_test_monitor              ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL unit_test_monitor_t : public singleton<unit_test_monitor_t>, public execution_monitor {
-public:
-    enum error_level { 
-        test_fail               =  1,
-        test_ok                 =  0,
-        constructor_error       = -1, 
-        unexpected_exception    = -2, 
-        os_exception            = -3, 
-        os_timeout              = -4, 
-        fatal_error             = -5,  // includes both system and user
-        destructor_error        = -6
-    };
-
-    static bool is_critical_error( error_level e ) { return e <= fatal_error; }
-
-    // monitor method
-    error_level execute_and_translate( test_case const& );
-
-private:
-    BOOST_TEST_SINGLETON_CONS( unit_test_monitor_t );
-};
-
-BOOST_TEST_SINGLETON_INST( unit_test_monitor )
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UNIT_TEST_MONITOR_HPP_020905GER
diff --git a/SRC/Boost/boost/test/unit_test_suite.hpp b/SRC/Boost/boost/test/unit_test_suite.hpp
deleted file mode 100755
index 16cf3d2..0000000
--- a/SRC/Boost/boost/test/unit_test_suite.hpp
+++ /dev/null
@@ -1,245 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : defines Unit Test Framework public API
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_SUITE_HPP_071894GER
-#define BOOST_TEST_UNIT_TEST_SUITE_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/unit_test_suite_impl.hpp>
-#include <boost/test/framework.hpp>
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************    Non-auto (explicit) test case interface   ************** //
-// ************************************************************************** //
-
-#define BOOST_TEST_CASE( test_function ) \
-boost::unit_test::make_test_case( boost::unit_test::callback0<>(test_function), BOOST_TEST_STRINGIZE( test_function ) )
-#define BOOST_CLASS_TEST_CASE( test_function, tc_instance ) \
-boost::unit_test::make_test_case((test_function), BOOST_TEST_STRINGIZE( test_function ), tc_instance )
-
-// ************************************************************************** //
-// **************               BOOST_TEST_SUITE               ************** //
-// ************************************************************************** //
-
-#define BOOST_TEST_SUITE( testsuite_name ) \
-( new boost::unit_test::test_suite( testsuite_name ) )
-
-// ************************************************************************** //
-// **************             BOOST_AUTO_TEST_SUITE            ************** //
-// ************************************************************************** //
-
-#define BOOST_AUTO_TEST_SUITE( suite_name )                             \
-namespace suite_name {                                                  \
-BOOST_AUTO_TU_REGISTRAR( suite_name )( BOOST_STRINGIZE( suite_name ) ); \
-/**/
-
-// ************************************************************************** //
-// **************            BOOST_FIXTURE_TEST_SUITE          ************** //
-// ************************************************************************** //
-
-#define BOOST_FIXTURE_TEST_SUITE( suite_name, F )                       \
-BOOST_AUTO_TEST_SUITE( suite_name )                                     \
-typedef F BOOST_AUTO_TEST_CASE_FIXTURE;                                 \
-/**/
-
-// ************************************************************************** //
-// **************           BOOST_AUTO_TEST_SUITE_END          ************** //
-// ************************************************************************** //
-
-#define BOOST_AUTO_TEST_SUITE_END()                                     \
-BOOST_AUTO_TU_REGISTRAR( BOOST_JOIN( end_suite, __LINE__ ) )( 1 );      \
-}                                                                       \
-/**/
-
-// ************************************************************************** //
-// **************    BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES    ************** //
-// ************************************************************************** //
-
-#define BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES( test_name, n )          \
-struct BOOST_AUTO_TC_UNIQUE_ID( test_name );                            \
-                                                                        \
-static struct BOOST_JOIN( test_name, _exp_fail_num_spec )               \
-: boost::unit_test::ut_detail::                                         \
-  auto_tc_exp_fail<BOOST_AUTO_TC_UNIQUE_ID( test_name ) >               \
-{                                                                       \
-    BOOST_JOIN( test_name, _exp_fail_num_spec )()                       \
-    : boost::unit_test::ut_detail::                                     \
-      auto_tc_exp_fail<BOOST_AUTO_TC_UNIQUE_ID( test_name ) >( n )      \
-    {}                                                                  \
-} BOOST_JOIN( test_name, _exp_fail_num_spec_inst );                     \
-                                                                        \
-/**/
-
-// ************************************************************************** //
-// **************            BOOST_FIXTURE_TEST_CASE           ************** //
-// ************************************************************************** //
-
-#define BOOST_FIXTURE_TEST_CASE( test_name, F )                         \
-struct test_name : public F { void test_method(); };                    \
-                                                                        \
-static void BOOST_AUTO_TC_INVOKER( test_name )()                        \
-{                                                                       \
-    test_name t;                                                        \
-    t.test_method();                                                    \
-}                                                                       \
-                                                                        \
-struct BOOST_AUTO_TC_UNIQUE_ID( test_name ) {};                         \
-                                                                        \
-BOOST_AUTO_TU_REGISTRAR( test_name )(                                   \
-    boost::unit_test::make_test_case(                                   \
-        &BOOST_AUTO_TC_INVOKER( test_name ), #test_name ),              \
-    boost::unit_test::ut_detail::auto_tc_exp_fail<                      \
-        BOOST_AUTO_TC_UNIQUE_ID( test_name )>::instance()->value() );   \
-                                                                        \
-void test_name::test_method()                                           \
-/**/
-
-// ************************************************************************** //
-// **************             BOOST_AUTO_TEST_CASE             ************** //
-// ************************************************************************** //
-
-#define BOOST_AUTO_TEST_CASE( test_name )                               \
-BOOST_FIXTURE_TEST_CASE( test_name, BOOST_AUTO_TEST_CASE_FIXTURE )
-/**/
-
-// ************************************************************************** //
-// **************       BOOST_FIXTURE_TEST_CASE_TEMPLATE       ************** //
-// ************************************************************************** //
-
-#define BOOST_FIXTURE_TEST_CASE_TEMPLATE( test_name, type_name, TL, F ) \
-template<typename type_name>                                            \
-struct test_name : public F                                             \
-{ void test_method(); };                                                \
-                                                                        \
-struct BOOST_AUTO_TC_INVOKER( test_name ) {                             \
-    template<typename TestType>                                         \
-    static void run( boost::type<TestType>* = 0 )                       \
-    {                                                                   \
-        test_name<TestType> t;                                          \
-        t.test_method();                                                \
-    }                                                                   \
-};                                                                      \
-                                                                        \
-BOOST_AUTO_TU_REGISTRAR( test_name )(                                   \
-    boost::unit_test::ut_detail::template_test_case_gen<                \
-        BOOST_AUTO_TC_INVOKER( test_name ),TL >(                        \
-          BOOST_STRINGIZE( test_name ) ) );                             \
-                                                                        \
-template<typename type_name>                                            \
-void test_name<type_name>::test_method()                                \
-/**/
-
-// ************************************************************************** //
-// **************        BOOST_AUTO_TEST_CASE_TEMPLATE         ************** //
-// ************************************************************************** //
-
-#define BOOST_AUTO_TEST_CASE_TEMPLATE( test_name, type_name, TL )       \
-BOOST_FIXTURE_TEST_CASE_TEMPLATE( test_name, type_name, TL, BOOST_AUTO_TEST_CASE_FIXTURE )
-
-// ************************************************************************** //
-// **************           BOOST_TEST_CASE_TEMPLATE           ************** //
-// ************************************************************************** //
-
-#define BOOST_TEST_CASE_TEMPLATE( name, typelist )                          \
-    boost::unit_test::ut_detail::template_test_case_gen<name,typelist >(    \
-        BOOST_TEST_STRINGIZE( name ) )                                      \
-/**/
-
-// ************************************************************************** //
-// **************      BOOST_TEST_CASE_TEMPLATE_FUNCTION       ************** //
-// ************************************************************************** //
-
-#define BOOST_TEST_CASE_TEMPLATE_FUNCTION( name, type_name )    \
-template<typename type_name>                                    \
-void BOOST_JOIN( name, _impl )( boost::type<type_name>* );      \
-                                                                \
-struct name {                                                   \
-    template<typename TestType>                                 \
-    static void run( boost::type<TestType>* frwrd = 0 )         \
-    {                                                           \
-       BOOST_JOIN( name, _impl )( frwrd );                      \
-    }                                                           \
-};                                                              \
-                                                                \
-template<typename type_name>                                    \
-void BOOST_JOIN( name, _impl )( boost::type<type_name>* )       \
-/**/
-
-// ************************************************************************** //
-// **************              BOOST_GLOBAL_FIXURE             ************** //
-// ************************************************************************** //
-
-#define BOOST_GLOBAL_FIXTURE( F ) \
-static boost::unit_test::ut_detail::global_fixture_impl<F> BOOST_JOIN( gf_, F ) ; \
-/**/
-
-// ************************************************************************** //
-// **************         BOOST_AUTO_TEST_CASE_FIXTURE         ************** //
-// ************************************************************************** //
-
-namespace boost { namespace unit_test { namespace ut_detail {
-
-struct nil_t {};
-
-} // namespace ut_detail
-} // unit_test
-} // namespace boost
-
-// Intentionally is in global namespace, so that FIXURE_TEST_SUITE can reset it in user code.
-typedef ::boost::unit_test::ut_detail::nil_t BOOST_AUTO_TEST_CASE_FIXTURE;
-
-// ************************************************************************** //
-// **************   Auto registration facility helper macros   ************** //
-// ************************************************************************** //
-
-#define BOOST_AUTO_TU_REGISTRAR( test_name )    \
-static boost::unit_test::ut_detail::auto_test_unit_registrar BOOST_JOIN( BOOST_JOIN( test_name, _registrar ), __LINE__ )
-#define BOOST_AUTO_TC_INVOKER( test_name )      BOOST_JOIN( test_name, _invoker )
-#define BOOST_AUTO_TC_UNIQUE_ID( test_name )    BOOST_JOIN( test_name, _id )
-
-// ************************************************************************** //
-// **************                BOOST_TEST_MAIN               ************** //
-// ************************************************************************** //
-
-#if defined(BOOST_TEST_MAIN)
-
-#ifdef BOOST_TEST_ALTERNATIVE_INIT_API
-bool init_unit_test()                   {
-#else
-::boost::unit_test::test_suite*
-init_unit_test_suite( int, char* [] )   {
-#endif
-
-#ifdef BOOST_TEST_MODULE
-    using namespace ::boost::unit_test;
-    assign_op( framework::master_test_suite().p_name.value, BOOST_TEST_STRINGIZE( BOOST_TEST_MODULE ).trim( "\"" ), 0 );
-    
-#endif
-
-#ifdef BOOST_TEST_ALTERNATIVE_INIT_API
-    return true;
-}
-#else
-    return 0;
-}
-#endif
-
-#endif
-
-//____________________________________________________________________________//
-
-#endif // BOOST_TEST_UNIT_TEST_SUITE_HPP_071894GER
-
diff --git a/SRC/Boost/boost/test/unit_test_suite_impl.hpp b/SRC/Boost/boost/test/unit_test_suite_impl.hpp
deleted file mode 100755
index 6aca375..0000000
--- a/SRC/Boost/boost/test/unit_test_suite_impl.hpp
+++ /dev/null
@@ -1,434 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : defines test_unit, test_case, test_case_results, test_suite and test_tree_visitor
-// ***************************************************************************
-
-#ifndef BOOST_TEST_UNIT_TEST_SUITE_IMPL_HPP_071894GER
-#define BOOST_TEST_UNIT_TEST_SUITE_IMPL_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-#include <boost/test/detail/global_typedef.hpp>
-#include <boost/test/utils/class_properties.hpp>
-#include <boost/test/utils/callback.hpp>
-#include <boost/test/detail/fwd_decl.hpp>
-#include <boost/test/detail/workaround.hpp>
-#include <boost/test/test_observer.hpp>
-
-// Boost
-#include <boost/shared_ptr.hpp>
-#include <boost/mpl/for_each.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type.hpp>
-#include <boost/type_traits/is_const.hpp>
-
-// STL
-#include <typeinfo> // for typeid
-#include <string>   // for std::string
-#include <list>     // for std::list
-#include <vector>   // for std::vector
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                   test_unit                  ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL test_unit {
-public:
-    enum { type = tut_any };
-
-    // Constructor
-    test_unit( const_string tu_name, test_unit_type t );
-
-    // dependencies management
-    void    depends_on( test_unit* tu );
-    bool    check_dependencies() const;
-
-    // Public r/o properties
-    typedef BOOST_READONLY_PROPERTY(test_unit_id,(framework_impl))  id_t;
-    typedef BOOST_READONLY_PROPERTY(test_unit_id,(test_suite))      parent_id_t;
-    readonly_property<test_unit_type>   p_type;                 // type for this test unit
-    readonly_property<const_string>     p_type_name;            // "case"/"suite"
-    id_t                                p_id;                   // unique id for this test unit
-    parent_id_t                         p_parent_id;            // parent test suite id
-
-    // Public r/w properties
-    readwrite_property<std::string>     p_name;                 // name for this test unit
-    readwrite_property<unsigned>        p_timeout;              // timeout for the test unit execution 
-    readwrite_property<counter_t>       p_expected_failures;    // number of expected failures in this test unit
-    mutable readwrite_property<bool>    p_enabled;              // enabled status for this unit
-
-    void                                increase_exp_fail( unsigned num );
-
-protected:
-    ~test_unit();
-
-private:
-    // Data members
-    std::list<test_unit_id>             m_dependencies;
-};
-
-// ************************************************************************** //
-// **************              test_case_generator             ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL test_unit_generator {
-public:
-    virtual test_unit*  next() const = 0;
-
-protected:
-    BOOST_TEST_PROTECTED_VIRTUAL ~test_unit_generator() {}
-};
-
-// ************************************************************************** //
-// **************                   test_case                  ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL test_case : public test_unit {
-public:
-    enum { type = tut_case };
-
-    // Constructor
-    test_case( const_string tc_name, callback0<> const& test_func );
-
-    // Access methods
-    callback0<> const&  test_func() const { return m_test_func; }
-
-private:
-    friend class framework_impl;
-    ~test_case() {}
-
-    // BOOST_MSVC <= 1200 have problems with callback as property
-    // Data members
-    callback0<> m_test_func;
-};
-
-// ************************************************************************** //
-// **************                  test_suite                  ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL test_suite : public test_unit {
-public:
-    enum { type = tut_suite };
-
-    // Constructor
-    explicit        test_suite( const_string ts_name );
-
-    // test unit list management
-    void            add( test_unit* tu, counter_t expected_failures = 0, unsigned timeout = 0 );
-    void            add( test_unit_generator const& gen, unsigned timeout = 0 );
-    void            remove( test_unit_id id );
-
-    // access methods
-    test_unit_id    get( const_string tu_name ) const;
-    std::size_t     size() const { return m_members.size(); }
-
-protected:
-    friend BOOST_TEST_DECL 
-    void        traverse_test_tree( test_suite const&, test_tree_visitor& );
-    friend class framework_impl;
-    virtual     ~test_suite() {}
-
-    // Data members
-    std::vector<test_unit_id> m_members;
-};
-
-// ************************************************************************** //
-// **************               master_test_suite              ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL master_test_suite_t : public test_suite {
-public:
-    master_test_suite_t() : test_suite( "Master Test Suite" )
-    , argc( 0 )
-    , argv( 0 )
-    {}
-    
-    // Data members    
-    int      argc;
-    char**   argv;
-};
-
-
-// ************************************************************************** //
-// **************               test_tree_visitor              ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL test_tree_visitor {
-public:
-    // test tree visitor interface
-    virtual void    visit( test_case const& )               {}
-    virtual bool    test_suite_start( test_suite const& )   { return true; }
-    virtual void    test_suite_finish( test_suite const& )  {}
-
-protected:
-    BOOST_TEST_PROTECTED_VIRTUAL ~test_tree_visitor() {}
-};
-
-// ************************************************************************** //
-// **************               traverse_test_tree             ************** //
-// ************************************************************************** //
-
-BOOST_TEST_DECL void    traverse_test_tree( test_case const&, test_tree_visitor& );
-BOOST_TEST_DECL void    traverse_test_tree( test_suite const&, test_tree_visitor& );
-BOOST_TEST_DECL void    traverse_test_tree( test_unit_id     , test_tree_visitor& );
-
-//____________________________________________________________________________//
-
-inline void
-traverse_test_tree( test_unit const& tu, test_tree_visitor& V )
-{
-    if( tu.p_type == tut_case )
-        traverse_test_tree( static_cast<test_case const&>( tu ), V );
-    else
-        traverse_test_tree( static_cast<test_suite const&>( tu ), V );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                test_case_counter             ************** //
-// ************************************************************************** //
-
-class test_case_counter : public test_tree_visitor {
-public:
-    // Constructor
-    test_case_counter() : p_count( 0 ) {}
-
-    BOOST_READONLY_PROPERTY( counter_t, (test_case_counter)) p_count;
-private:
-    // test tree visitor interface
-    virtual void    visit( test_case const& );
-    virtual bool    test_suite_start( test_suite const& ts )    { return ts.p_enabled; }
-};
-
-// ************************************************************************** //
-// **************               test_being_aborted             ************** //
-// ************************************************************************** //
-
-struct BOOST_TEST_DECL test_being_aborted {};
-
-// ************************************************************************** //
-// **************               object generators              ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-BOOST_TEST_DECL std::string normalize_test_case_name( const_string tu_name );
-
-template<typename InstanceType,typename UserTestCase>
-struct user_tc_method_invoker {
-    typedef void (UserTestCase::*TestMethod )();
-
-    user_tc_method_invoker( shared_ptr<InstanceType> inst, TestMethod test_method )
-    : m_inst( inst ), m_test_method( test_method ) {}
-
-    void operator()() { ((*m_inst).*m_test_method)(); }
-
-    shared_ptr<InstanceType> m_inst;
-    TestMethod               m_test_method;
-};
-
-} // namespace ut_detail
-
-//____________________________________________________________________________//
-
-inline test_case*
-make_test_case( callback0<> const& test_func, const_string tc_name )
-{
-    return new test_case( ut_detail::normalize_test_case_name( tc_name ), test_func );
-}
-
-//____________________________________________________________________________//
-
-template<typename UserTestCase, typename InstanceType>
-inline test_case*
-make_test_case( void (UserTestCase::*           test_method )(),
-                const_string                    tc_name,
-                boost::shared_ptr<InstanceType> user_test_case )
-{
-    return new test_case( ut_detail::normalize_test_case_name( tc_name ), 
-                          ut_detail::user_tc_method_invoker<InstanceType,UserTestCase>( user_test_case, test_method ) );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************           auto_test_unit_registrar           ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-struct BOOST_TEST_DECL auto_test_unit_registrar
-{
-    // Constructors
-                auto_test_unit_registrar( test_case* tc, counter_t exp_fail );
-    explicit    auto_test_unit_registrar( const_string ts_name );
-    explicit    auto_test_unit_registrar( test_unit_generator const& tc_gen );
-    explicit    auto_test_unit_registrar( int );
-
-private:
-    static std::list<test_suite*>& curr_ts_store();
-};
-
-//____________________________________________________________________________//
-
-template<typename T>
-struct auto_tc_exp_fail {
-    auto_tc_exp_fail() : m_value( 0 ) {}
-
-    explicit    auto_tc_exp_fail( unsigned v )
-    : m_value( v )
-    {
-        instance() = this;
-    }
-
-    static auto_tc_exp_fail*& instance() 
-    {
-        static auto_tc_exp_fail     inst; 
-        static auto_tc_exp_fail*    inst_ptr = &inst; 
-
-        return inst_ptr;
-    }
-
-    unsigned    value() const { return m_value; }
-
-private:
-    // Data members
-    unsigned    m_value;
-};
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-// ************************************************************************** //
-// **************                global_fixture                ************** //
-// ************************************************************************** //
-
-class BOOST_TEST_DECL global_fixture : public test_observer { 
-public: 
-    // Constructor
-    global_fixture();
-}; 
-
-//____________________________________________________________________________//
-
-namespace ut_detail {
-
-template<typename F> 
-struct global_fixture_impl : public global_fixture {
-    // Constructor
-    global_fixture_impl(): m_fixure( 0 )    {}
-
-    // test observer interface
-    virtual void    test_start( counter_t ) { m_fixure = new F; }
-    virtual void    test_finish()           { delete m_fixure; m_fixure = 0; } 
-    virtual void    test_aborted()          { delete m_fixure; m_fixure = 0; } 
-
-private:
-    // Data members
-    F*  m_fixure;
-}; 
-
-// ************************************************************************** //
-// **************          test_case_template_invoker          ************** //
-// ************************************************************************** //
-
-template<typename TestCaseTemplate,typename TestType>
-class test_case_template_invoker {
-public:
-    void    operator()()    { TestCaseTemplate::run( (boost::type<TestType>*)0 ); }
-};
-
-// ************************************************************************** //
-// **************           generate_test_case_4_type          ************** //
-// ************************************************************************** //
-
-template<typename Generator,typename TestCaseTemplate>
-struct generate_test_case_4_type {
-    explicit    generate_test_case_4_type( const_string tc_name, Generator& G )
-    : m_test_case_name( tc_name )
-    , m_holder( G )
-    {}
-
-    template<typename TestType>
-    void        operator()( mpl::identity<TestType> )
-    {
-        std::string full_name;
-        assign_op( full_name, m_test_case_name, 0 );
-        full_name += '<';
-        full_name += typeid(TestType).name();
-        if( boost::is_const<TestType>::value )
-            full_name += " const";
-        full_name += '>';
-
-        m_holder.m_test_cases.push_back( 
-            new test_case( full_name, test_case_template_invoker<TestCaseTemplate,TestType>() ) );
-    }
-
-private:
-    // Data members
-    const_string    m_test_case_name;
-    Generator&      m_holder;
-};
-
-// ************************************************************************** //
-// **************              test_case_template              ************** //
-// ************************************************************************** //
-
-template<typename TestCaseTemplate,typename TestTypesList>
-class template_test_case_gen : public test_unit_generator {
-public:
-    // Constructor
-    template_test_case_gen( const_string tc_name )
-    {
-        typedef generate_test_case_4_type<template_test_case_gen<TestCaseTemplate,TestTypesList>,
-                                          TestCaseTemplate
-        > single_test_gen;
-        mpl::for_each<TestTypesList,mpl::make_identity<mpl::_> >( single_test_gen( tc_name, *this ) );
-    }
-
-    virtual test_unit* next() const
-    {
-        if( m_test_cases.empty() )
-            return 0;
-    
-        test_unit* res = m_test_cases.front();
-        m_test_cases.pop_front();
-
-        return res;
-    }
-
-    // Data members
-    mutable std::list<test_unit*> m_test_cases;
-};
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-} // unit_test
-
-} // namespace boost
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_UNIT_TEST_SUITE_IMPL_HPP_071894GER
-
diff --git a/SRC/Boost/boost/test/utils/algorithm.hpp b/SRC/Boost/boost/test/utils/algorithm.hpp
deleted file mode 100755
index b089afb..0000000
--- a/SRC/Boost/boost/test/utils/algorithm.hpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2004-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : addition to STL algorithms
-// ***************************************************************************
-
-#ifndef BOOST_ALGORITHM_HPP_062304GER
-#define BOOST_ALGORITHM_HPP_062304GER
-
-#include <utility>
-#include <algorithm> // std::find
-#include <functional> // std::bind1st
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-/// @brief this algorithm search through two collections for first mismatch position that get returned as a pair
-/// of iterators, first pointing to the mismatch position in first collection, second iterator in second one
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-template <class InputIter1, class InputIter2>
-inline std::pair<InputIter1, InputIter2>
-mismatch( InputIter1 first1, InputIter1 last1,
-          InputIter2 first2, InputIter2 last2 )
-{
-    while( first1 != last1 && first2 != last2 && *first1 == *first2 ) {
-        ++first1;
-        ++first2;
-    }
-
-    return std::pair<InputIter1, InputIter2>(first1, first2);
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through two collections for first mismatch position that get returned as a pair
-/// of iterators, first pointing to the mismatch position in first collection, second iterator in second one. This algorithms
-/// uses supplied predicate for collection elements comparison
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-/// @param pred - predicate to be used for search
-template <class InputIter1, class InputIter2, class Predicate>
-inline std::pair<InputIter1, InputIter2>
-mismatch( InputIter1 first1, InputIter1 last1,
-          InputIter2 first2, InputIter2 last2,
-          Predicate pred )
-{
-    while( first1 != last1 && first2 != last2 && pred( *first1, *first2 ) ) {
-        ++first1;
-        ++first2;
-    }
-
-    return std::pair<InputIter1, InputIter2>(first1, first2);
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through first collection for first element that does not belong a second one
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-template<class ForwardIterator1, class ForwardIterator2>
-inline ForwardIterator1
-find_first_not_of( ForwardIterator1 first1, ForwardIterator1 last1, 
-                   ForwardIterator2 first2, ForwardIterator2 last2 )
-{
-    while( first1 != last1 ) {
-        if( std::find( first2, last2, *first1 ) == last2 )
-            break;
-        ++first1;
-    }
-
-    return first1;
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through first collection for first element that does not satisfy binary 
-/// predicate in conjunction will any element in second collection
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-/// @param pred - predicate to be used for search
-template<class ForwardIterator1, class ForwardIterator2, class Predicate>
-inline ForwardIterator1
-find_first_not_of( ForwardIterator1 first1, ForwardIterator1 last1, 
-                   ForwardIterator2 first2, ForwardIterator2 last2, 
-                   Predicate pred )
-{
-    while( first1 != last1 ) {
-        if( std::find_if( first2, last2, std::bind1st( pred, *first1 ) ) == last2 )
-            break;
-        ++first1;
-    }
-
-    return first1;
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through first collection for last element that belongs to a second one
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-template<class BidirectionalIterator1, class ForwardIterator2>
-inline BidirectionalIterator1
-find_last_of( BidirectionalIterator1 first1, BidirectionalIterator1 last1, 
-              ForwardIterator2 first2, ForwardIterator2 last2 )
-{
-    if( first1 == last1 || first2 == last2 )
-        return last1;
-
-    BidirectionalIterator1 it1 = last1;
-    while( --it1 != first1 && std::find( first2, last2, *it1 ) == last2 ) {}
-
-    return it1 == first1 && std::find( first2, last2, *it1 ) == last2 ? last1 : it1;
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through first collection for last element that satisfy binary 
-/// predicate in conjunction will at least one element in second collection
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-/// @param pred - predicate to be used for search
-template<class BidirectionalIterator1, class ForwardIterator2, class Predicate>
-inline BidirectionalIterator1
-find_last_of( BidirectionalIterator1 first1, BidirectionalIterator1 last1, 
-              ForwardIterator2 first2, ForwardIterator2 last2, 
-              Predicate pred )
-{
-    if( first1 == last1 || first2 == last2 )
-        return last1;
-
-    BidirectionalIterator1 it1 = last1;
-    while( --it1 != first1 && std::find_if( first2, last2, std::bind1st( pred, *it1 ) ) == last2 ) {}
-
-    return it1 == first1 && std::find_if( first2, last2, std::bind1st( pred, *it1 ) ) == last2 ? last1 : it1;
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through first collection for last element that does not belong to a second one
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-template<class BidirectionalIterator1, class ForwardIterator2>
-inline BidirectionalIterator1
-find_last_not_of( BidirectionalIterator1 first1, BidirectionalIterator1 last1, 
-                  ForwardIterator2 first2, ForwardIterator2 last2 )
-{
-    if( first1 == last1 || first2 == last2 )
-        return last1;
-
-    BidirectionalIterator1 it1 = last1;
-    while( --it1 != first1 && std::find( first2, last2, *it1 ) != last2 ) {}
-
-    return it1 == first1 && std::find( first2, last2, *it1 ) != last2 ? last1 : it1;
-}
-
-//____________________________________________________________________________//
-
-/// @brief this algorithm search through first collection for last element that does not satisfy binary 
-/// predicate in conjunction will any element in second collection
-
-/// @param first1 - first collection begin iterator
-/// @param last1 - first collection end iterator
-/// @param first2 - second collection begin iterator
-/// @param last2 - second collection end iterator
-/// @param pred - predicate to be used for search
-template<class BidirectionalIterator1, class ForwardIterator2, class Predicate>
-inline BidirectionalIterator1
-find_last_not_of( BidirectionalIterator1 first1, BidirectionalIterator1 last1, 
-                  ForwardIterator2 first2, ForwardIterator2 last2, 
-                  Predicate pred )
-{
-    if( first1 == last1 || first2 == last2 )
-        return last1;
-
-    BidirectionalIterator1 it1 = last1;
-    while( --it1 != first1 && std::find_if( first2, last2, std::bind1st( pred, *it1 ) ) != last2 ) {}
-
-    return it1 == first1 && std::find_if( first2, last2, std::bind1st( pred, *it1 ) ) == last2 ? last1 : it1;
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_ALGORITHM_HPP_062304GER
-
-
diff --git a/SRC/Boost/boost/test/utils/assign_op.hpp b/SRC/Boost/boost/test/utils/assign_op.hpp
deleted file mode 100755
index 3105356..0000000
--- a/SRC/Boost/boost/test/utils/assign_op.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : overloadable assignment
-// ***************************************************************************
-
-#ifndef BOOST_TEST_ASSIGN_OP_033005GER
-#define BOOST_TEST_ASSIGN_OP_033005GER
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************             generic assign operator          ************** //
-// ************************************************************************** //
-
-// generic
-template<typename T,typename S>
-inline void
-assign_op( T& t, S const& s, long )
-{
-    t = s;
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-#endif // BOOST_TEST_ASSIGN_OP_033005GER
-
diff --git a/SRC/Boost/boost/test/utils/basic_cstring/basic_cstring.hpp b/SRC/Boost/boost/test/utils/basic_cstring/basic_cstring.hpp
deleted file mode 100755
index d55f95b..0000000
--- a/SRC/Boost/boost/test/utils/basic_cstring/basic_cstring.hpp
+++ /dev/null
@@ -1,731 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2004-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : class basic_cstring wraps C string and provide std_string like 
-//                interface
-// ***************************************************************************
-
-#ifndef BOOST_TEST_BASIC_CSTRING_HPP_071894GER
-#define BOOST_TEST_BASIC_CSTRING_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/basic_cstring_fwd.hpp>
-#include <boost/test/utils/basic_cstring/bcs_char_traits.hpp>
-
-// STL
-#include <string>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                basic_cstring                 ************** //
-// ************************************************************************** //
-
-template<typename CharT>
-class basic_cstring {
-    typedef basic_cstring<CharT>                        self_type;
-public:
-    // Subtypes
-    typedef ut_detail::bcs_char_traits<CharT>           traits_type;
-    typedef typename ut_detail::bcs_char_traits<CharT>::std_string  std_string;
-
-    typedef CharT                                       value_type;
-    typedef value_type*                                 pointer;
-    typedef value_type const*                           const_pointer;
-    typedef value_type&                                 reference;
-    typedef const value_type&                           const_reference;
-    typedef std::size_t                                 size_type;
-    typedef std::ptrdiff_t                              difference_type;
-
-    typedef value_type const*                           const_iterator;
-    typedef value_type*                                 iterator;
-
-    // !! should also present reverse_iterator, const_reverse_iterator
-
-#if !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
-    enum npos_type { npos = static_cast<size_type>(-1) };
-#else
-    // IBM/VisualAge version 6 is not able to handle enums larger than 4 bytes.
-    // But size_type is 8 bytes in 64bit mode.
-    static const size_type npos = -1 ;
-#endif
-
-    static pointer  null_str();
-
-    // Constructors; default copy constructor is generated by compiler
-    basic_cstring();
-    basic_cstring( std_string const& s );
-    basic_cstring( pointer s );
-    basic_cstring( pointer s, size_type arg_size );
-    basic_cstring( pointer first, pointer last );
-
-    // data access methods
-    value_type      operator[]( size_type index ) const;
-    value_type      at( size_type index ) const;
-
-    // size operators
-    size_type       size() const;
-    bool            is_empty() const;
-    void            clear();
-    void            resize( size_type new_len );
-
-    // !! only for STL container conformance use is_empty instead
-    bool            empty() const; 
-
-    // Trimming
-    self_type&      trim_right( size_type trim_size );
-    self_type&      trim_left( size_type trim_size );
-    self_type&      trim_right( iterator it );
-    self_type&      trim_left( iterator it );
-#ifndef __IBMCPP__
-    self_type&      trim_left( self_type exclusions = self_type() ) ;
-    self_type&      trim_right( self_type exclusions = self_type() ) ;
-    self_type&      trim( self_type exclusions = self_type() ) ;
-#else
-    // VisualAge version 6 has in this case a problem with the default arguments.
-    self_type&      trim_left( self_type exclusions ) ;
-    self_type&      trim_right( self_type exclusions ) ;
-    self_type&      trim( self_type exclusions ) ;
-    self_type&      trim_left() { trim_left( self_type() ) ; }
-    self_type&      trim_right() { trim_right( self_type() ) ; }
-    self_type&      trim() { trim( self_type() ) ; }
-#endif
-
-    // Assignment operators
-    basic_cstring&  operator=( self_type const& s );
-    basic_cstring&  operator=( std_string const& s );
-    basic_cstring&  operator=( pointer s );
-
-    template<typename CharT2>
-    basic_cstring&  assign( basic_cstring<CharT2> const& s ) { *this = basic_cstring<CharT>( s.begin(), s.end() ); return *this; }
-    basic_cstring&  assign( self_type const& s, size_type pos, size_type len );
-    basic_cstring&  assign( std_string const& s );
-    basic_cstring&  assign( std_string const& s, size_type pos, size_type len );
-    basic_cstring&  assign( pointer s );
-    basic_cstring&  assign( pointer s, size_type len );
-    basic_cstring&  assign( pointer f, pointer l );
-
-    // swapping
-    void            swap( self_type& s );
-
-    // Iterators
-    iterator        begin();
-    const_iterator  begin() const;
-    iterator        end();
-    const_iterator  end() const;
-
-    // !! should have rbegin, rend
-
-    // substring search operation
-    size_type       find( basic_cstring ) const;
-    size_type       rfind( basic_cstring ) const;
-    self_type       substr( size_type beg_index, size_type end_index = npos ) const;
-
-private:
-    static self_type default_trim_ex();
-
-    // Data members
-    iterator        m_begin;
-    iterator        m_end;
-};
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::pointer
-basic_cstring<CharT>::null_str()
-{
-    static CharT null = 0;
-    return &null;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline
-basic_cstring<CharT>::basic_cstring()
-: m_begin( null_str() )
-, m_end( m_begin )
-{
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline
-basic_cstring<CharT>::basic_cstring( std_string const& s )
-: m_begin( s.c_str() )
-, m_end( m_begin + s.size() )
-{
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline
-basic_cstring<CharT>::basic_cstring( pointer s )
-: m_begin( s ? s : null_str() )
-, m_end  ( m_begin + (s ? traits_type::length( s ) : 0 ) )
-{
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline
-basic_cstring<CharT>::basic_cstring( pointer s, size_type arg_size )
-: m_begin( s ), m_end( m_begin + arg_size )
-{
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline
-basic_cstring<CharT>::basic_cstring( pointer first, pointer last )
-: m_begin( first )
-, m_end( last )
-{
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::value_type
-basic_cstring<CharT>::operator[]( size_type index ) const
-{
-    return m_begin[index];
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::value_type
-basic_cstring<CharT>::at( size_type index ) const
-{
-    if( m_begin + index >= m_end )
-        return static_cast<value_type>(0);
-
-    return m_begin[index];
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::size_type
-basic_cstring<CharT>::size() const
-{
-    return m_end - m_begin;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-basic_cstring<CharT>::is_empty() const
-{
-    return m_end == m_begin;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-basic_cstring<CharT>::empty() const
-{
-    return is_empty();
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline void
-basic_cstring<CharT>::clear()
-{
-    m_begin = m_end;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline void
-basic_cstring<CharT>::resize( size_type new_len )
-{
-    if( m_begin + new_len < m_end )
-        m_end = m_begin + new_len;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim_left( size_type trim_size )
-{
-    m_begin += trim_size;
-    if( m_end <= m_begin )
-        clear();
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim_left( iterator it )
-{
-    m_begin = it;
-    if( m_end <= m_begin )
-        clear();
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim_left( basic_cstring exclusions )
-{
-    if( exclusions.is_empty() )
-        exclusions = default_trim_ex();
-
-    iterator it;
-    for( it = begin(); it != end(); ++it ) {
-        if( traits_type::find( exclusions.begin(), exclusions.size(), *it ) == reinterpret_cast<pointer>(0) )
-            break;
-    }
-    
-    return trim_left( it );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim_right( size_type trim_size )
-{
-    m_end  -= trim_size;
-    if( m_end <= m_begin )
-        clear();
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim_right( iterator it )
-{
-    m_end = it;
-    if( m_end <= m_begin )
-        clear();
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim_right( basic_cstring exclusions )
-{
-    if( exclusions.is_empty() )
-        exclusions = default_trim_ex();
-
-    iterator it;
-
-    for( it = end()-1; it != begin()-1; --it ) {
-        if( self_type::traits_type::find( exclusions.begin(),  exclusions.size(), *it ) == reinterpret_cast<pointer>(0) )
-            break;
-    }
-    
-    return trim_right( it+1 );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::trim( basic_cstring exclusions )
-{
-    trim_left( exclusions );
-    trim_right( exclusions );
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::operator=( basic_cstring<CharT> const& s )
-{
-    m_begin = s.m_begin;
-    m_end   = s.m_end;
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::operator=( std_string const& s )
-{
-    return *this = self_type( s );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::operator=( pointer s )
-{
-    return *this = self_type( s );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::assign( basic_cstring<CharT> const& s, size_type pos, size_type len )
-{
-    return *this = self_type( s.m_begin + pos, len );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::assign( std_string const& s )
-{
-    return *this = self_type( s );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::assign( std_string const& s, size_type pos, size_type len )
-{
-    return *this = self_type( s.c_str() + pos, len );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::assign( pointer s )
-{
-    return *this = self_type( s );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::assign( pointer s, size_type len )
-{
-    return *this = self_type( s, len );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>&
-basic_cstring<CharT>::assign( pointer f, pointer l )
-{
-    return *this = self_type( f, l );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline void
-basic_cstring<CharT>::swap( basic_cstring<CharT>& s )
-{
-    // do not want to include alogrithm
-    pointer tmp1    = m_begin;
-    pointer tmp2    = m_end;
-
-    m_begin         = s.m_begin;
-    m_end           = s.m_end;
-
-    s.m_begin       = tmp1;
-    s.m_end         = tmp2;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::iterator
-basic_cstring<CharT>::begin()
-{
-    return m_begin;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::const_iterator
-basic_cstring<CharT>::begin() const
-{
-    return m_begin;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::iterator
-basic_cstring<CharT>::end()
-{
-    return m_end;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::const_iterator
-basic_cstring<CharT>::end() const
-{
-    return m_end;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::size_type
-basic_cstring<CharT>::find( basic_cstring<CharT> str ) const
-{
-    if( str.is_empty() || str.size() > size() )
-        return static_cast<size_type>(npos);
-
-    const_iterator it   = begin();
-    const_iterator last = end() - str.size() + 1;
-
-    while( it != last ) {
-        if( traits_type::compare( it, str.begin(), str.size() ) == 0 )
-            break;
-
-        ++it;
-    }
-
-    return it == last ? static_cast<size_type>(npos) : it - begin();
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::size_type
-basic_cstring<CharT>::rfind( basic_cstring<CharT> str ) const
-{
-    if( str.is_empty() || str.size() > size() )
-        return static_cast<size_type>(npos);
-
-    const_iterator it   = end() - str.size();
-    const_iterator last = begin()-1;
-
-    while( it != last ) {
-        if( traits_type::compare( it, str.begin(), str.size() ) == 0 )
-            break;
-
-        --it;
-    }
-
-    return it == last ? static_cast<size_type>(npos) : static_cast<size_type>(it - begin());
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>
-basic_cstring<CharT>::substr( size_type beg_index, size_type end_index ) const
-{
-    return beg_index > size()
-            ?       self_type()
-            : end_index > size()
-                ?   self_type( m_begin + beg_index, m_end )
-                :   self_type( m_begin + beg_index, m_begin + end_index );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline basic_cstring<CharT>
-basic_cstring<CharT>::default_trim_ex()
-{
-    static CharT ws[3] = { CharT(' '), CharT('\t'), CharT('\n') }; // !! wide case
-
-    return self_type( ws, 3 );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************             comparison operators             ************** //
-// ************************************************************************** //
-
-template<typename CharT1,typename CharT2>
-inline bool
-operator==( basic_cstring<CharT1> const& s1, basic_cstring<CharT2> const& s2 )
-{
-    typedef typename basic_cstring<CharT1>::traits_type traits_type;
-    return s1.size() == s2.size() && 
-               traits_type::compare( s1.begin(), s2.begin(), s1.size() ) == 0;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT1,typename CharT2>
-inline bool
-operator==( basic_cstring<CharT1> const& s1, CharT2* s2 )
-{
-#if !defined(__DMC__)
-    return s1 == basic_cstring<CharT2>( s2 );
-#else
-    return s1 == basic_cstring<CharT2 const>( s2 );
-#endif
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator==( basic_cstring<CharT> const& s1, typename basic_cstring<CharT>::std_string const& s2 )
-{
-    return s1 == basic_cstring<CharT>( s2 );
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT1,typename CharT2>
-inline bool
-operator==( CharT1* s2, basic_cstring<CharT2> const& s1 )
-{
-    return s1 == s2;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator==( typename basic_cstring<CharT>::std_string const& s2, basic_cstring<CharT> const& s1 )
-{
-    return s1 == s2;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator!=( basic_cstring<CharT> const& s1, CharT* s2 )
-{
-    return !(s1 == s2);
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator!=( CharT* s2, basic_cstring<CharT> const& s1 )
-{
-    return !(s1 == s2);
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator!=( basic_cstring<CharT> const& s1, basic_cstring<CharT> const& s2 )
-{
-    return !(s1 == s2);
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator!=( basic_cstring<CharT> const& s1, typename basic_cstring<CharT>::std_string const& s2 )
-{
-    return !(s1 == s2);
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT>
-inline bool
-operator!=( typename basic_cstring<CharT>::std_string const& s2, basic_cstring<CharT> const& s1 )
-{
-    return !(s1 == s2);
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                  first_char                  ************** //
-// ************************************************************************** //
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::value_type
-first_char( basic_cstring<CharT> source )
-{
-    typedef typename basic_cstring<CharT>::value_type string_value_type;
-
-    return source.is_empty() ? static_cast<string_value_type>(0) : *source.begin();
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                  last_char                   ************** //
-// ************************************************************************** //
-
-template<typename CharT>
-inline typename basic_cstring<CharT>::value_type
-last_char( basic_cstring<CharT> source )
-{
-    typedef typename basic_cstring<CharT>::value_type string_value_type;
-
-    return source.is_empty() ? static_cast<string_value_type>(0) : *(source.end()-1);
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                  assign_op                   ************** //
-// ************************************************************************** //
-
-template<typename CharT1, typename CharT2>
-inline void
-assign_op( std::basic_string<CharT1>& target, basic_cstring<CharT2> src, int )
-{
-    target.assign( src.begin(), src.size() );
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_BASIC_CSTRING_HPP_071894GER
diff --git a/SRC/Boost/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp b/SRC/Boost/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp
deleted file mode 100755
index 6d9b554..0000000
--- a/SRC/Boost/boost/test/utils/basic_cstring/basic_cstring_fwd.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2004-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : basic_cstring class wrap C string and provide std_string like 
-//                interface
-// ***************************************************************************
-
-#ifndef BOOST_TEST_BASIC_CSTRING_FWD_HPP_071894GER
-#define BOOST_TEST_BASIC_CSTRING_FWD_HPP_071894GER
-
-#include <boost/detail/workaround.hpp>
-
-namespace boost {
-
-namespace unit_test {
-
-template<typename CharT> class      basic_cstring;
-typedef basic_cstring<char const>   const_string;
-#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590041))
-typedef const_string                literal_string;
-#else
-typedef const_string const          literal_string;
-#endif
-
-typedef char const* const           c_literal_string;
-
-} // namespace unit_test
-
-} // namespace boost
-
-#endif // BOOST_TEST_BASIC_CSTRING_FWD_HPP_071894GER
-
diff --git a/SRC/Boost/boost/test/utils/basic_cstring/bcs_char_traits.hpp b/SRC/Boost/boost/test/utils/basic_cstring/bcs_char_traits.hpp
deleted file mode 100755
index e1c756e..0000000
--- a/SRC/Boost/boost/test/utils/basic_cstring/bcs_char_traits.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2004-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : generic char traits class; wraps std::char_traits
-// ***************************************************************************
-
-#ifndef BOOST_TEST_BCS_CHAR_TRAITS_HPP_071894GER
-#define BOOST_TEST_BCS_CHAR_TRAITS_HPP_071894GER
-
-// Boost
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/test/detail/config.hpp>
-#include <boost/type_traits/add_const.hpp>
-
-// STL
-#include <string>                       // std::char_traits
-#include <cstddef>                      // std::size_t
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace ut_detail {
-
-template<typename CharT> struct bcs_base_char           { typedef CharT type; };
-
-template<> struct bcs_base_char<char const>             { typedef char type; };
-template<> struct bcs_base_char<unsigned char>          { typedef char type; };
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-template<> struct bcs_base_char<unsigned char const>    { typedef char type; };
-#endif
-
-template<> struct bcs_base_char<wchar_t const>          { typedef wchar_t type; };
-
-// ************************************************************************** //
-// **************               bcs_char_traits                ************** //
-// ************************************************************************** //
-
-template<typename CharT>
-struct bcs_char_traits_impl
-{
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    typedef CharT const const_char;
-#else
-    typedef typename boost::add_const<CharT>::type const_char;
-#endif
-    static bool eq( CharT c1, CharT c2 )
-    {
-        return c1 == c2;
-    }
-    static bool lt( CharT c1, CharT c2 )
-    {
-        return c1 < c2;
-    }
-
-    static int compare( const_char* cstr1, const_char* cstr2, std::size_t n )
-    {
-        while( n > 0 ) {
-            if( !eq( *cstr1, *cstr2 ) )
-                return lt( *cstr1, *cstr2 ) ? -1 : 1;
-            ++cstr1;
-            ++cstr2;
-            --n;
-        }
-
-        return 0;
-    }
-
-    static std::size_t length( const_char* cstr )
-    {
-        const_char null_char = CharT();
-
-        const_char* ptr = cstr;
-        while( !eq( *ptr, null_char ) )
-            ++ptr;
-
-        return ptr - cstr;
-    }
-
-    static const_char* find( const_char* s, std::size_t n, CharT c )
-    {
-        while( n > 0 ) {
-            if( eq( *s, c ) )
-                return s;
-
-            ++s;
-            --n;
-        }
-        return 0;
-    }
-};
-
-#ifdef BOOST_CLASSIC_IOSTREAMS
-template<typename CharT>
-struct char_traits_with_find : std::string_char_traits<CharT> {
-    static CharT const* find( CharT const* s, std::size_t n, CharT c )
-    {
-        while( n > 0 ) {
-            if( eq( *s, c ) )
-                return s;
-
-            ++s;
-            --n;
-        }
-        return 0;
-    }
-};
-
-template<> struct bcs_char_traits_impl<char> : char_traits_with_find<char> {};
-template<> struct bcs_char_traits_impl<wchar_t> : char_traits_with_find<wchar_t> {};
-#else
-template<> struct bcs_char_traits_impl<char> : std::char_traits<char> {};
-template<> struct bcs_char_traits_impl<wchar_t> : std::char_traits<wchar_t> {};
-#endif
-
-template<typename CharT>
-class bcs_char_traits : public bcs_char_traits_impl<CharT> {
-    typedef typename ut_detail::bcs_base_char<CharT>::type                              the_base_char;
-public:
-#ifdef BOOST_CLASSIC_IOSTREAMS
-    typedef std::basic_string<the_base_char, std::string_char_traits<the_base_char> >   std_string;
-#else
-    typedef std::basic_string<the_base_char, std::char_traits<the_base_char> >          std_string;
-#endif
-};
-
-} // namespace ut_detail
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_BCS_CHAR_TRAITS_HPP_071894GER
diff --git a/SRC/Boost/boost/test/utils/basic_cstring/compare.hpp b/SRC/Boost/boost/test/utils/basic_cstring/compare.hpp
deleted file mode 100755
index c1266f0..0000000
--- a/SRC/Boost/boost/test/utils/basic_cstring/compare.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2004-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : class basic_cstring comparisons implementation
-// ***************************************************************************
-
-#ifndef  BOOST_TEST_BASIC_CSTRING_COMPARE_HPP_071894GER
-#define  BOOST_TEST_BASIC_CSTRING_COMPARE_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-
-// STL
-#include <functional>
-#include <cctype>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-# if defined(BOOST_NO_STDC_NAMESPACE) && !BOOST_WORKAROUND(__BORLANDC__, <= 0x570)
-namespace std { using ::toupper; }
-# endif
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                case_ins_compare              ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-template<class CharT>
-struct case_ins
-{
-    static bool         eq( CharT c1, CharT c2 ) { return (std::toupper)( c1 ) == (std::toupper)( c2 ); }
-    static bool         lt( CharT c1, CharT c2 ) { return (std::toupper)( c1 ) <  (std::toupper)( c2 ); }
-
-    static int          compare( CharT const* s1, CharT const* s2, std::size_t n )
-    {
-        for( std::size_t i = 0; i < n; ++i ) {
-            if( !eq( s1[i], s2[i] ) )
-                return lt( s1[i], s2[i] ) ? -1 : 1;
-        }
-        return 0;
-    }
-};
-
-} // namespace ut_detail
-
-// ************************************************************************** //
-// **************                  case_ins_eq                 ************** //
-// ************************************************************************** //
-
-template<class CharT>
-inline bool
-case_ins_eq( basic_cstring<CharT> x, basic_cstring<CharT> y )
-{
-    return x.size() == y.size() && ut_detail::case_ins<CharT>::compare( x.begin(), y.begin(), x.size() ) == 0;
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                 case_ins_less                ************** //
-// ************************************************************************** //
-
-template<class CharT>
-class case_ins_less : public std::binary_function<basic_cstring<CharT>,basic_cstring<CharT>,bool>
-{
-public:
-    bool operator()( basic_cstring<CharT> x, basic_cstring<CharT> y ) const
-    {
-        return x.size() != y.size() 
-                ? x.size() < y.size() 
-                : ut_detail::case_ins<CharT>::compare( x.begin(), y.begin(), x.size() ) < 0;
-    }
-};
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                  operator <                  ************** //
-// ************************************************************************** //
-
-template<class CharT>
-inline bool
-operator <( boost::unit_test::basic_cstring<CharT> const& x,
-            boost::unit_test::basic_cstring<CharT> const& y )
-{
-    typedef typename boost::unit_test::basic_cstring<CharT>::traits_type traits_type;
-    return x.size() != y.size() 
-            ? x.size() < y.size() 
-            : traits_type::compare( x.begin(), y.begin(), x.size() ) < 0;
-}
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_BASIC_CSTRING_COMPARE_HPP_071894GER
diff --git a/SRC/Boost/boost/test/utils/basic_cstring/io.hpp b/SRC/Boost/boost/test/utils/basic_cstring/io.hpp
deleted file mode 100755
index 8d32298..0000000
--- a/SRC/Boost/boost/test/utils/basic_cstring/io.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2004-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : basic_cstring i/o implementation
-// ***************************************************************************
-
-#ifndef  BOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER
-#define  BOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-
-// STL
-#include <iosfwd>
-#include <string>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-#ifdef BOOST_CLASSIC_IOSTREAMS
-
-template<typename CharT>
-inline std::ostream&
-operator<<( std::ostream& os, basic_cstring<CharT> const& str )
-{
-    typedef typename ut_detail::bcs_base_char<CharT>::type char_type;
-    char_type const* const beg = reinterpret_cast<char_type const* const>( str.begin() );
-    char_type const* const end = reinterpret_cast<char_type const* const>( str.end() );
-    os << std::basic_string<char_type>( beg, end - beg );
-
-    return os;
-}
-
-#else
-
-template<typename CharT1, typename Tr,typename CharT2>
-inline std::basic_ostream<CharT1,Tr>&
-operator<<( std::basic_ostream<CharT1,Tr>& os, basic_cstring<CharT2> const& str )
-{
-    CharT1 const* const beg = reinterpret_cast<CharT1 const*>( str.begin() ); // !!
-    CharT1 const* const end = reinterpret_cast<CharT1 const*>( str.end() );
-    os << std::basic_string<CharT1,Tr>( beg, end - beg );
-
-    return os;
-}
-
-#endif
-
-//____________________________________________________________________________//
-
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER
diff --git a/SRC/Boost/boost/test/utils/callback.hpp b/SRC/Boost/boost/test/utils/callback.hpp
deleted file mode 100755
index ad9825a..0000000
--- a/SRC/Boost/boost/test/utils/callback.hpp
+++ /dev/null
@@ -1,310 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : 
-// ***************************************************************************
-
-#ifndef BOOST_TEST_CALLBACK_020505GER
-#define BOOST_TEST_CALLBACK_020505GER
-
-// Boost
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/shared_ptr.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(BOOST_INTEL, <= 700)
-#  define BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
-#endif
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace ut_detail {
-
-struct unused {};
-
-template<typename R>
-struct invoker {
-    template<typename Functor>
-    R       invoke( Functor& f )                        { return f(); }
-    template<typename Functor, typename T1>
-    R       invoke( Functor& f, T1 t1 )                 { return f( t1 ); }
-    template<typename Functor, typename T1, typename T2>
-    R       invoke( Functor& f, T1 t1, T2 t2 )          { return f( t1, t2 ); }
-    template<typename Functor, typename T1, typename T2, typename T3>
-    R       invoke( Functor& f, T1 t1, T2 t2, T3 t3 )   { return f( t1, t2, t3 ); }
-};
-
-//____________________________________________________________________________//
-
-template<>
-struct invoker<unused> {
-    template<typename Functor>
-    unused  invoke( Functor& f )                        { f(); return unused(); }
-    template<typename Functor, typename T1>
-    unused  invoke( Functor& f, T1 t1 )                 { f( t1 ); return unused(); }
-    template<typename Functor, typename T1, typename T2>
-    unused  invoke( Functor& f, T1 t1, T2 t2 )          { f( t1, t2 ); return unused(); }
-    template<typename Functor, typename T1, typename T2, typename T3>
-    unused  invoke( Functor& f, T1 t1, T2 t2, T3 t3 )   { f( t1, t2, t3 ); return unused(); }
-};
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-// ************************************************************************** //
-// **************             unit_test::callback0             ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-template<typename R>
-struct callback0_impl {
-    virtual ~callback0_impl() {}
-
-    virtual R invoke() = 0;
-};
-
-//____________________________________________________________________________//
-
-template<typename R, typename Functor>
-struct callback0_impl_t : callback0_impl<R> {
-    // Constructor
-    explicit callback0_impl_t( Functor f ) : m_f( f ) {}
-
-    virtual R invoke() { return invoker<R>().invoke( m_f ); }
-
-private:
-    // Data members
-    Functor m_f;
-};
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-template<typename R = ut_detail::unused>
-class callback0 {
-public:
-    // Constructors
-    callback0() {}
-#ifdef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
-    callback0( callback0 const& rhs ) : m_impl( rhs.m_impl ) {}
-#endif
-
-    template<typename Functor>
-    callback0( Functor f )
-    : m_impl( new ut_detail::callback0_impl_t<R,Functor>( f ) ) {}
-    
-    void        operator=( callback0 const& rhs ) { m_impl = rhs.m_impl; }
-
-    template<typename Functor>
-    void        operator=( Functor f ) { m_impl.reset( new ut_detail::callback0_impl_t<R,Functor>( f ) );  }
-
-    R           operator()() const { return m_impl->invoke(); }
-
-    bool        operator!() const { return !m_impl; }
-
-private:
-    // Data members
-    boost::shared_ptr<ut_detail::callback0_impl<R> > m_impl;
-};
-
-// ************************************************************************** //
-// **************             unit_test::callback1             ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-template<typename R, typename T1>
-struct callback1_impl {
-    virtual ~callback1_impl() {}
-
-    virtual R invoke( T1 t1 ) = 0;
-};
-
-//____________________________________________________________________________//
-
-template<typename R, typename T1,typename Functor>
-struct callback1_impl_t : callback1_impl<R,T1> {
-    // Constructor
-    explicit callback1_impl_t( Functor f ) : m_f( f ) {}
-
-    virtual R invoke( T1 t1 ) { return invoker<R>().invoke( m_f, t1 ); }
-
-private:
-    // Data members
-    Functor m_f;
-};
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-template<typename T1,typename R = ut_detail::unused>
-class callback1 {
-public:
-    // Constructors
-    callback1() {}
-#ifdef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
-    callback1( callback1 const& rhs ) : m_impl( rhs.m_impl ) {}
-#endif
-
-    template<typename Functor>
-    callback1( Functor f )
-    : m_impl( new ut_detail::callback1_impl_t<R,T1,Functor>( f ) ) {}
-
-    void        operator=( callback1 const& rhs ) { m_impl = rhs.m_impl; }
-
-    template<typename Functor>
-    void        operator=( Functor f ) { m_impl.reset( new ut_detail::callback1_impl_t<R,T1,Functor>( f ) );  }
-
-    R           operator()( T1 t1 ) const { return m_impl->invoke( t1 ); }
-
-    bool        operator!() const { return !m_impl; }
-
-private:
-    // Data members
-    boost::shared_ptr<ut_detail::callback1_impl<R,T1> > m_impl;
-};
-
-// ************************************************************************** //
-// **************             unit_test::callback2             ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-template<typename R, typename T1,typename T2>
-struct callback2_impl {
-    virtual ~callback2_impl() {}
-
-    virtual R invoke( T1 t1, T2 t2 ) = 0;
-};
-
-//____________________________________________________________________________//
-
-template<typename R, typename T1, typename T2, typename Functor>
-struct callback2_impl_t : callback2_impl<R,T1,T2> {
-    // Constructor
-    explicit callback2_impl_t( Functor f ) : m_f( f ) {}
-
-    virtual R invoke( T1 t1, T2 t2 ) { return invoker<R>().template invoke<Functor,T1,T2>( m_f, t1, t2 ); }
-
-private:
-    // Data members
-    Functor m_f;
-};
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-template<typename T1,typename T2, typename R = ut_detail::unused>
-class callback2 {
-public:
-    // Constructors
-    callback2() {}
-#ifdef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
-    callback2( callback2 const& rhs ) : m_impl( rhs.m_impl ) {}
-#endif
-
-    template<typename Functor>
-                callback2( Functor f ) : m_impl( new ut_detail::callback2_impl_t<R,T1,T2,Functor>( f ) ) {}
-
-    void        operator=( callback2 const& rhs ) { m_impl = rhs.m_impl; }
-
-    template<typename Functor>
-    void        operator=( Functor f ) { m_impl.reset( new ut_detail::callback2_impl_t<R,T1,T2,Functor>( f ) );  }
-
-    R           operator()( T1 t1, T2 t2 ) const { return m_impl->invoke( t1, t2 ); }
-
-    bool        operator!() const { return !m_impl; }
-
-private:
-    // Data members
-    boost::shared_ptr<ut_detail::callback2_impl<R,T1,T2> > m_impl;
-};
-
-// ************************************************************************** //
-// **************             unit_test::callback3             ************** //
-// ************************************************************************** //
-
-namespace ut_detail {
-
-template<typename R, typename T1, typename T2, typename T3>
-struct callback3_impl {
-    virtual ~callback3_impl() {}
-
-    virtual R invoke( T1 t1, T2 t2, T3 t3 ) = 0;
-};
-
-//____________________________________________________________________________//
-
-template<typename R, typename T1, typename T2, typename T3, typename Functor>
-struct callback3_impl_t : callback3_impl<R,T1,T2,T3> {
-    // Constructor
-    explicit callback3_impl_t( Functor f ) : m_f( f ) {}
-
-    virtual R invoke( T1 t1, T2 t2, T3 t3 ) { return invoker<R>().invoke( m_f, t1, t2, t3 ); }
-
-private:
-    // Data members
-    Functor m_f;
-};
-
-//____________________________________________________________________________//
-
-} // namespace ut_detail
-
-template<typename T1,typename T2, typename T3, typename R = ut_detail::unused>
-class callback3 {
-public:
-    // Constructors
-    callback3() {}
-#ifdef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
-    callback3( callback3 const& rhs ) : m_impl( rhs.m_impl ) {}
-#endif
-
-    template<typename Functor>
-    callback3( Functor f )
-    : m_impl( new ut_detail::callback3_impl_t<R,T1,T2,T3,Functor>( f ) ) {}
-
-    void        operator=( callback3 const& rhs ) { m_impl = rhs.m_impl; }
-
-    template<typename Functor>
-    void        operator=( Functor f ) { m_impl.reset( new ut_detail::callback3_impl_t<R,T1,T2,T3,Functor>( f ) );  }
-
-    R           operator()( T1 t1, T2 t2, T3 t3 ) const { return m_impl->invoke( t1, t2, t3 ); }
-
-    bool        operator!() const { return !m_impl; }
-
-private:
-    // Data members
-    boost::shared_ptr<ut_detail::callback3_impl<R,T1,T2,T3> > m_impl;
-};
-
-} // namespace unit_test
-
-} // namespace boost
-
-#undef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_CALLBACK_020505GER
diff --git a/SRC/Boost/boost/test/utils/class_properties.hpp b/SRC/Boost/boost/test/utils/class_properties.hpp
deleted file mode 100755
index 9f4d18c..0000000
--- a/SRC/Boost/boost/test/utils/class_properties.hpp
+++ /dev/null
@@ -1,221 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : simple facility that mimmic notion of read-only read-write 
-//  properties in C++ classes. Original idea by Henrik Ravn.
-// ***************************************************************************
-
-#ifndef BOOST_TEST_CLASS_PROPERTIES_HPP_071894GER
-#define BOOST_TEST_CLASS_PROPERTIES_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-
-// Boost
-#if !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
-#include <boost/preprocessor/seq/for_each.hpp>
-#endif
-#include <boost/call_traits.hpp>
-#include <boost/type_traits/add_pointer.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/utility/addressof.hpp>
-
-// STL
-#include <iosfwd>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                 class_property               ************** //
-// ************************************************************************** //
-
-template<class PropertyType>
-class class_property {
-protected:
-    typedef typename call_traits<PropertyType>::const_reference     read_access_t;
-    typedef typename call_traits<PropertyType>::param_type          write_param_t;
-    typedef typename add_pointer<typename add_const<PropertyType>::type>::type address_res_t;
-public:
-    // Constructor
-                    class_property() : value( PropertyType() ) {}
-    explicit        class_property( write_param_t init_value )
-    : value( init_value ) {}
-
-    // Access methods
-    operator        read_access_t() const   { return value; }
-    read_access_t   get() const             { return value; }
-    bool            operator!() const       { return !value; }
-    address_res_t   operator&() const       { return &value; }
-
-    // Data members
-#ifndef BOOST_TEST_NO_PROTECTED_USING
-protected:
-#endif
-    PropertyType        value;
-};
-
-//____________________________________________________________________________//
-
-#ifdef BOOST_CLASSIC_IOSTREAMS
-
-template<class PropertyType>
-inline std::ostream&
-operator<<( std::ostream& os, class_property<PropertyType> const& p )
-
-#else
-
-template<typename CharT1, typename Tr,class PropertyType>
-inline std::basic_ostream<CharT1,Tr>&
-operator<<( std::basic_ostream<CharT1,Tr>& os, class_property<PropertyType> const& p )
-
-#endif
-{
-    return os << p.get();
-}
-
-//____________________________________________________________________________//
-
-#define DEFINE_PROPERTY_FREE_BINARY_OPERATOR( op )                              \
-template<class PropertyType>                                                    \
-inline bool                                                                     \
-operator op( PropertyType const& lhs, class_property<PropertyType> const& rhs ) \
-{                                                                               \
-    return lhs op rhs.get();                                                    \
-}                                                                               \
-template<class PropertyType>                                                    \
-inline bool                                                                     \
-operator op( class_property<PropertyType> const& lhs, PropertyType const& rhs ) \
-{                                                                               \
-    return lhs.get() op rhs;                                                    \
-}                                                                               \
-template<class PropertyType>                                                    \
-inline bool                                                                     \
-operator op( class_property<PropertyType> const& lhs,                           \
-             class_property<PropertyType> const& rhs )                          \
-{                                                                               \
-    return lhs.get() op rhs.get();                                              \
-}                                                                               \
-/**/
-
-DEFINE_PROPERTY_FREE_BINARY_OPERATOR( == )
-DEFINE_PROPERTY_FREE_BINARY_OPERATOR( != )
-
-#undef DEFINE_PROPERTY_FREE_BINARY_OPERATOR
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-#define DEFINE_PROPERTY_LOGICAL_OPERATOR( op )                                  \
-template<class PropertyType>                                                    \
-inline bool                                                                     \
-operator op( bool b, class_property<PropertyType> const& p )                    \
-{                                                                               \
-    return b op p.get();                                                        \
-}                                                                               \
-template<class PropertyType>                                                    \
-inline bool                                                                     \
-operator op( class_property<PropertyType> const& p, bool b )                    \
-{                                                                               \
-    return b op p.get();                                                        \
-}                                                                               \
-/**/
-
-DEFINE_PROPERTY_LOGICAL_OPERATOR( && )
-DEFINE_PROPERTY_LOGICAL_OPERATOR( || )
-
-#endif
-
-// ************************************************************************** //
-// **************               readonly_property              ************** //
-// ************************************************************************** //
-
-template<class PropertyType>
-class readonly_property : public class_property<PropertyType> {
-    typedef class_property<PropertyType>         base_prop;
-    typedef typename base_prop::address_res_t    arrow_res_t;
-protected:
-    typedef typename base_prop::write_param_t    write_param_t;
-public:
-    // Constructor
-                    readonly_property() {}
-    explicit        readonly_property( write_param_t init_value ) : base_prop( init_value ) {}
-
-    // access methods
-    arrow_res_t     operator->() const      { return boost::addressof( base_prop::value ); }
-};
-
-//____________________________________________________________________________//
-
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
-
-#define BOOST_READONLY_PROPERTY( property_type, friends ) boost::unit_test::readwrite_property<property_type >
-
-#else
-
-#define BOOST_READONLY_PROPERTY_DECLARE_FRIEND(r, data, elem) friend class elem;
-
-#define BOOST_READONLY_PROPERTY( property_type, friends )                           \
-class BOOST_JOIN( readonly_property, __LINE__ )                                     \
-: public boost::unit_test::readonly_property<property_type > {                      \
-    typedef boost::unit_test::readonly_property<property_type > base_prop;          \
-    BOOST_PP_SEQ_FOR_EACH( BOOST_READONLY_PROPERTY_DECLARE_FRIEND, ' ', friends )   \
-    typedef base_prop::write_param_t  write_param_t;                                \
-public:                                                                             \
-                BOOST_JOIN( readonly_property, __LINE__ )() {}                      \
-    explicit    BOOST_JOIN( readonly_property, __LINE__ )( write_param_t init_v  )  \
-    : base_prop( init_v ) {}                                                        \
-}                                                                                   \
-/**/
-
-#endif
-
-// ************************************************************************** //
-// **************              readwrite_property              ************** //
-// ************************************************************************** //
-
-template<class PropertyType>
-class readwrite_property : public class_property<PropertyType> {
-    typedef class_property<PropertyType>                base_prop;
-    typedef typename add_pointer<PropertyType>::type    arrow_res_t;
-    typedef typename base_prop::address_res_t           const_arrow_res_t;
-    typedef typename base_prop::write_param_t           write_param_t;
-public:
-                    readwrite_property() : base_prop() {}
-    explicit        readwrite_property( write_param_t init_value ) : base_prop( init_value ) {}
-
-    // access methods
-    void            set( write_param_t v )  { base_prop::value = v; }
-    arrow_res_t     operator->()            { return boost::addressof( base_prop::value ); }
-    const_arrow_res_t operator->() const    { return boost::addressof( base_prop::value ); }
-
-#ifndef BOOST_TEST_NO_PROTECTED_USING
-    using           base_prop::value;
-#endif
-};
-
-//____________________________________________________________________________//
-
-} // unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#undef BOOST_TEST_NO_PROTECTED_USING
-
-#endif // BOOST_TEST_CLASS_PROPERTIES_HPP_071894GER
diff --git a/SRC/Boost/boost/test/utils/custom_manip.hpp b/SRC/Boost/boost/test/utils/custom_manip.hpp
deleted file mode 100755
index 4211f9d..0000000
--- a/SRC/Boost/boost/test/utils/custom_manip.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : simple helpers for creating cusom output manipulators
-// ***************************************************************************
-
-#ifndef BOOST_TEST_CUSTOM_MANIP_HPP_071894GER
-#define BOOST_TEST_CUSTOM_MANIP_HPP_071894GER
-
-// STL
-#include <iosfwd>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************          custom manipulators helpers         ************** //
-// ************************************************************************** //
-
-template<typename Manip>
-struct custom_printer {
-    explicit custom_printer( std::ostream& ostr ) : m_ostr( &ostr ) {}
-
-    std::ostream& operator*() const { return *m_ostr; }
-
-private:
-    std::ostream* const m_ostr;
-};
-
-//____________________________________________________________________________//
-
-template<typename Uniq> struct custom_manip {};
-
-//____________________________________________________________________________//
-
-template<typename Uniq>
-inline custom_printer<custom_manip<Uniq> >
-operator<<( std::ostream& ostr, custom_manip<Uniq> const& ) { return custom_printer<custom_manip<Uniq> >( ostr ); }
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_CUSTOM_MANIP_HPP_071894GER
diff --git a/SRC/Boost/boost/test/utils/fixed_mapping.hpp b/SRC/Boost/boost/test/utils/fixed_mapping.hpp
deleted file mode 100755
index f78b123..0000000
--- a/SRC/Boost/boost/test/utils/fixed_mapping.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2001-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : fixed sized mapping with specified invalid value
-// ***************************************************************************
-
-#ifndef BOOST_TEST_FIXED_MAPPING_HPP_071894GER
-#define BOOST_TEST_FIXED_MAPPING_HPP_071894GER
-
-// Boost
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/call_traits.hpp>
-#include <boost/detail/binary_search.hpp>
-
-// STL
-#include <vector>
-#include <functional>
-#include <algorithm>
-#include <utility>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// configurable maximum fixed sized mapping size supported by this header.
-// You can redefine it before inclusion of this file.
-#ifndef MAX_MAP_SIZE
-#define MAX_MAP_SIZE 20
-#endif
-
-#define CONSTR_DECL_MID( z, i, dummy1 ) key_param_type key##i, value_param_type v##i,
-#define CONSTR_BODY_MID( z, i, dummy1 ) add_pair( key##i, v##i );
-
-#define CONSTR_DECL( z, n, dummy1 )                                 \
-    fixed_mapping( BOOST_PP_REPEAT_ ## z( n, CONSTR_DECL_MID, "" )  \
-                         value_param_type invalid_value )           \
-    : m_invalid_value( invalid_value )                              \
-    {                                                               \
-        BOOST_PP_REPEAT_ ## z( n, CONSTR_BODY_MID, "" )             \
-        init();                                                     \
-    }                                                               \
-/**/
-
-#define CONTRUCTORS( n ) BOOST_PP_REPEAT( n, CONSTR_DECL, "" )
-
-template<typename Key, typename Value, typename Compare = std::less<Key> >
-class fixed_mapping
-{
-    typedef std::pair<Key,Value>                            elem_type;
-    typedef std::vector<elem_type>                          map_type;
-    typedef typename std::vector<elem_type>::const_iterator iterator;
-
-    typedef typename call_traits<Key>::param_type           key_param_type;
-    typedef typename call_traits<Value>::param_type         value_param_type;
-    typedef typename call_traits<Value>::const_reference    value_ref_type;
-
-#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
-    struct p1; friend struct p1;
-    struct p2; friend struct p2;
-#endif
-
-    // bind( Compare(), bind(select1st<elem_type>(), _1),  bind(identity<Key>(), _2) )
-    struct p1 : public std::binary_function<elem_type,Key,bool>
-    {
-        bool operator()( elem_type const& x, Key const& y ) const { return Compare()( x.first, y ); }
-    };
-
-    // bind( Compare(), bind(select1st<elem_type>(), _1), bind(select1st<elem_type>(), _2) )
-    struct p2 : public std::binary_function<elem_type,elem_type,bool>
-    {
-        bool operator()( elem_type const& x, elem_type const& y ) const { return Compare()( x.first, y.first ); }
-    };
-
-public:
-    // Constructors
-    CONTRUCTORS( BOOST_PP_ADD( MAX_MAP_SIZE, 1 ) )
-
-    // key -> value access
-    value_ref_type  operator[]( key_param_type key ) const
-    {
-        iterator it = boost::detail::lower_bound( m_map.begin(), m_map.end(), key, p1() );
-
-        return (it == m_map.end() || Compare()( key, it->first ) ) ? m_invalid_value : it->second;
-    }
-
-private:
-    // Implementation
-    void            init()                                                  { std::sort( m_map.begin(), m_map.end(), p2() ); }
-    void            add_pair( key_param_type key, value_param_type value )  { m_map.push_back( elem_type( key, value ) ); }
-
-    // Data members
-    Value           m_invalid_value;
-    map_type        m_map;
-};
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#undef MAX_MAP_SIZE
-#undef CONSTR_DECL_MID
-#undef CONSTR_BODY_MID
-#undef CONSTR_DECL
-#undef CONTRUCTORS
-
-#endif // BOOST_TEST_FIXED_MAPPING_HPP_071894GER
-
diff --git a/SRC/Boost/boost/test/utils/foreach.hpp b/SRC/Boost/boost/test/utils/foreach.hpp
deleted file mode 100755
index 6658b01..0000000
--- a/SRC/Boost/boost/test/utils/foreach.hpp
+++ /dev/null
@@ -1,281 +0,0 @@
-//  (C) Copyright Eric Niebler 2004-2005
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : this is an abridged version of an excelent BOOST_FOREACH facility
-//  presented by Eric Niebler. I am so fond of it so I can't wait till it 
-//  going to be accepted into Boost. Also I need version with less number of dependencies 
-//  and more portable. This version doesn't support rvalues and will reeveluate it's 
-//  parameters, but should be good enough for my purposes.
-// ***************************************************************************
-
-#ifndef BOOST_TEST_FOREACH_HPP_021005GER
-#define BOOST_TEST_FOREACH_HPP_021005GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-
-// Boost
-#include <boost/type.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/test/detail/workaround.hpp>
-
-#include <boost/type_traits/is_const.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-namespace for_each {
-
-// ************************************************************************** //
-// **************                  static_any                  ************** //
-// ************************************************************************** //
-
-struct static_any_base
-{
-    operator bool() const { return false; }
-};
-
-//____________________________________________________________________________//
-
-template<typename Iter>
-struct static_any : static_any_base
-{
-    static_any( Iter const& t ) : m_it( t ) {}
-
-    mutable Iter m_it;
-};
-
-//____________________________________________________________________________//
-
-typedef static_any_base const& static_any_t;
-
-//____________________________________________________________________________//
-
-template<typename Iter>
-inline Iter&
-static_any_cast( static_any_t a, Iter* = 0 )
-{
-    return static_cast<Iter&>( static_cast<static_any<Iter> const&>( a ).m_it );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                   is_const                   ************** //
-// ************************************************************************** //
-
-template<typename C>
-inline is_const<C>
-is_const_coll( C& )
-{
-    return is_const<C>();
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                     begin                    ************** //
-// ************************************************************************** //
-
-template<typename C>
-inline static_any<BOOST_DEDUCED_TYPENAME C::iterator>
-begin( C& t, mpl::false_ )
-{
-    return static_any<BOOST_DEDUCED_TYPENAME C::iterator>( t.begin() );
-}
-
-//____________________________________________________________________________//
-
-template<typename C>
-inline static_any<BOOST_DEDUCED_TYPENAME C::const_iterator>
-begin( C const& t, mpl::true_ )
-{
-    return static_any<BOOST_DEDUCED_TYPENAME C::const_iterator>( t.begin() );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                      end                     ************** //
-// ************************************************************************** //
-
-template<typename C>
-inline static_any<BOOST_DEDUCED_TYPENAME C::iterator>
-end( C& t, mpl::false_ )
-{
-    return static_any<BOOST_DEDUCED_TYPENAME C::iterator>( t.end() );
-}
-
-//____________________________________________________________________________//
-
-template<typename C>
-inline static_any<BOOST_DEDUCED_TYPENAME C::const_iterator>
-end( C const& t, mpl::true_ )
-{
-    return static_any<BOOST_DEDUCED_TYPENAME C::const_iterator>( t.end() );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                      done                    ************** //
-// ************************************************************************** //
-
-template<typename C>
-inline bool
-done( static_any_t cur, static_any_t end, C&, mpl::false_ )
-{
-    return  static_any_cast<BOOST_DEDUCED_TYPENAME C::iterator>( cur ) ==
-            static_any_cast<BOOST_DEDUCED_TYPENAME C::iterator>( end );
-}
-
-//____________________________________________________________________________//
-
-template<typename C>
-inline bool
-done( static_any_t cur, static_any_t end, C const&, mpl::true_ )
-{
-    return  static_any_cast<BOOST_DEDUCED_TYPENAME C::const_iterator>( cur ) ==
-            static_any_cast<BOOST_DEDUCED_TYPENAME C::const_iterator>( end );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                      next                    ************** //
-// ************************************************************************** //
-
-template<typename C>
-inline void
-next( static_any_t cur, C&, mpl::false_ )
-{
-    ++static_any_cast<BOOST_DEDUCED_TYPENAME C::iterator>( cur );
-}
-
-//____________________________________________________________________________//
-
-template<typename C>
-inline void
-next( static_any_t cur, C const&, mpl::true_ )
-{
-    ++static_any_cast<BOOST_DEDUCED_TYPENAME C::const_iterator>( cur );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                      deref                   ************** //
-// ************************************************************************** //
-
-template<class RefType,typename C>
-inline RefType
-deref( static_any_t cur, C&, ::boost::type<RefType>, mpl::false_ )
-{
-    return *static_any_cast<BOOST_DEDUCED_TYPENAME C::iterator>( cur );
-}
-
-//____________________________________________________________________________//
-
-template<class RefType,typename C>
-inline RefType
-deref( static_any_t cur, C const&, ::boost::type<RefType>, mpl::true_ )
-{
-    return *static_any_cast<BOOST_DEDUCED_TYPENAME C::const_iterator>( cur );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************              BOOST_TEST_FOREACH              ************** //
-// ************************************************************************** //
-
-#define BOOST_TEST_FE_ANY                   ::boost::unit_test::for_each::static_any_t
-#define BOOST_TEST_FE_IS_CONST( COL )       ::boost::unit_test::for_each::is_const_coll( COL )
-
-#define BOOST_TEST_FE_BEG( COL )            \
-    ::boost::unit_test::for_each::begin(    \
-        COL,                                \
-        BOOST_TEST_FE_IS_CONST( COL ) )     \
-/**/
-
-#define BOOST_TEST_FE_END( COL )            \
-    ::boost::unit_test::for_each::end(      \
-        COL,                                \
-        BOOST_TEST_FE_IS_CONST( COL ) )     \
-/**/
-
-#define BOOST_TEST_FE_DONE( COL )           \
-    ::boost::unit_test::for_each::done(     \
-        BOOST_TEST_FE_CUR_VAR,              \
-        BOOST_TEST_FE_END_VAR,              \
-        COL,                                \
-        BOOST_TEST_FE_IS_CONST( COL ) )     \
-/**/
-
-#define BOOST_TEST_FE_NEXT( COL )           \
-    ::boost::unit_test::for_each::next(     \
-        BOOST_TEST_FE_CUR_VAR,              \
-        COL,                                \
-        BOOST_TEST_FE_IS_CONST( COL ) )     \
-/**/
-
-#define BOOST_FOREACH_NOOP(COL)             \
-    ((void)&(COL))
-
-#define BOOST_TEST_FE_DEREF( COL, RefType ) \
-    ::boost::unit_test::for_each::deref(    \
-        BOOST_TEST_FE_CUR_VAR,              \
-        COL,                                \
-        ::boost::type<RefType >(),          \
-        BOOST_TEST_FE_IS_CONST( COL ) )     \
-/**/
-
-#if BOOST_WORKAROUND( BOOST_MSVC, == 1310 )
-#define BOOST_TEST_LINE_NUM
-#else
-#define BOOST_TEST_LINE_NUM     __LINE__
-#endif
-
-#define BOOST_TEST_FE_CUR_VAR   BOOST_JOIN( _fe_cur_, BOOST_TEST_LINE_NUM )
-#define BOOST_TEST_FE_END_VAR   BOOST_JOIN( _fe_end_, BOOST_TEST_LINE_NUM )
-#define BOOST_TEST_FE_CON_VAR   BOOST_JOIN( _fe_con_, BOOST_TEST_LINE_NUM )
-
-#define BOOST_TEST_FOREACH( RefType, var, COL )                                             \
-if( BOOST_TEST_FE_ANY BOOST_TEST_FE_CUR_VAR = BOOST_TEST_FE_BEG( COL ) ) {} else            \
-if( BOOST_TEST_FE_ANY BOOST_TEST_FE_END_VAR = BOOST_TEST_FE_END( COL ) ) {} else            \
-for( bool BOOST_TEST_FE_CON_VAR = true;                                                     \
-          BOOST_TEST_FE_CON_VAR && !BOOST_TEST_FE_DONE( COL );                              \
-          BOOST_TEST_FE_CON_VAR ? BOOST_TEST_FE_NEXT( COL ) : BOOST_FOREACH_NOOP( COL ))    \
-                                                                                            \
-    if( (BOOST_TEST_FE_CON_VAR = false, false) ) {} else                                    \
-    for( RefType var = BOOST_TEST_FE_DEREF( COL, RefType );                                 \
-         !BOOST_TEST_FE_CON_VAR; BOOST_TEST_FE_CON_VAR = true )                             \
-/**/
-
-//____________________________________________________________________________//
-
-} // namespace for_each
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_FOREACH_HPP_021005GER
diff --git a/SRC/Boost/boost/test/utils/iterator/input_iterator_facade.hpp b/SRC/Boost/boost/test/utils/iterator/input_iterator_facade.hpp
deleted file mode 100755
index 2df74bf..0000000
--- a/SRC/Boost/boost/test/utils/iterator/input_iterator_facade.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2004-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : Input iterator facade 
-// ***************************************************************************
-
-#ifndef BOOST_INPUT_ITERATOR_FACADE_HPP_071894GER
-#define BOOST_INPUT_ITERATOR_FACADE_HPP_071894GER
-
-// Boost
-#include <boost/iterator/iterator_facade.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************          input_iterator_core_access          ************** //
-// ************************************************************************** //
-
-class input_iterator_core_access
-{
-#if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-public:
-#else
-    template <class I, class V, class R, class TC> friend class input_iterator_facade;
-#endif
-
-    template <class Facade>
-    static bool get( Facade& f )
-    {
-        return f.get();
-    }
-
-private:
-    // objects of this class are useless
-    input_iterator_core_access(); //undefined
-};
-
-// ************************************************************************** //
-// **************            input_iterator_facade             ************** //
-// ************************************************************************** //
-
-template<typename Derived,
-         typename ValueType,
-         typename Reference = ValueType const&,
-         typename Traversal = single_pass_traversal_tag>
-class input_iterator_facade : public iterator_facade<Derived,ValueType,Traversal,Reference>
-{
-public:
-    // Constructor
-    input_iterator_facade() : m_valid( false ), m_value() {}
-
-protected: // provide access to the Derived
-    void                init()
-    {
-        m_valid = true;
-        increment();
-    }
-
-    // Data members
-    mutable bool        m_valid;
-    ValueType           m_value;
-
-private:
-    friend class boost::iterator_core_access;
-
-    // iterator facade interface implementation
-    void                increment()
-    {
-        // we make post-end incrementation indefinetly safe 
-        if( m_valid )
-            m_valid = input_iterator_core_access::get( *static_cast<Derived*>(this) );
-    }
-    Reference           dereference() const
-    {
-        return m_value;
-    }
-
-    // iterator facade interface implementation
-    bool                equal( input_iterator_facade const& rhs ) const
-    {
-        // two invalid iterator equals, inequal otherwise
-        return !m_valid && !rhs.m_valid;
-    }
-};
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_INPUT_ITERATOR_FACADE_HPP_071894GER
-
diff --git a/SRC/Boost/boost/test/utils/iterator/token_iterator.hpp b/SRC/Boost/boost/test/utils/iterator/token_iterator.hpp
deleted file mode 100755
index 92b3dd2..0000000
--- a/SRC/Boost/boost/test/utils/iterator/token_iterator.hpp
+++ /dev/null
@@ -1,418 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2004-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : token iterator for string and range tokenization
-// ***************************************************************************
-
-#ifndef BOOST_TOKEN_ITERATOR_HPP_071894GER
-#define BOOST_TOKEN_ITERATOR_HPP_071894GER
-
-// Boost
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-#include <boost/test/utils/iterator/input_iterator_facade.hpp>
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-#include <boost/test/utils/named_params.hpp>
-#include <boost/test/utils/foreach.hpp>
-
-// STL
-#include <iosfwd>
-#include <cctype>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{ using ::ispunct; using ::isspace; }
-#endif
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************               ti_delimeter_type              ************** //
-// ************************************************************************** //
-
-enum ti_delimeter_type { 
-    dt_char,        // character is delimeter if it among explicit list of some characters
-    dt_ispunct,     // character is delimeter if it satisfies ispunct functor
-    dt_isspace,     // character is delimeter if it satisfies isspace functor
-    dt_none         // no character is delimeter
-};
-
-namespace ut_detail {
-
-// ************************************************************************** //
-// **************             default_char_compare             ************** //
-// ************************************************************************** //
-
-template<typename CharT>
-class default_char_compare {
-public:
-    bool operator()( CharT c1, CharT c2 )
-    {
-#ifdef BOOST_CLASSIC_IOSTREAMS
-        return std::string_char_traits<CharT>::eq( c1, c2 );
-#else
-        return std::char_traits<CharT>::eq( c1, c2 );
-#endif
-    }
-};
-
-// ************************************************************************** //
-// **************                 delim_policy                 ************** //
-// ************************************************************************** //
-
-template<typename CharT,typename CharCompare>
-class delim_policy {
-    typedef basic_cstring<CharT const> cstring;
-public:
-    // Constructor
-    explicit    delim_policy( ti_delimeter_type t = dt_char, cstring d = cstring() )
-    : m_type( t )
-    {
-        set_delimeters( d );
-    }
-
-    void        set_delimeters( ti_delimeter_type t ) { m_type = t; }
-    template<typename Src>
-    void        set_delimeters( Src d )
-    {
-        nfp::optionally_assign( m_delimeters, d );
-        
-        if( !m_delimeters.is_empty() )
-            m_type = dt_char;
-    }
-
-    bool        operator()( CharT c )
-    {
-        switch( m_type ) {
-        case dt_char: {
-            BOOST_TEST_FOREACH( CharT, delim, m_delimeters )
-                if( CharCompare()( delim, c ) )
-                    return true;
-
-            return false;
-        }
-        case dt_ispunct:
-            return (std::ispunct)( c ) != 0;
-        case dt_isspace:
-            return (std::isspace)( c ) != 0;
-        case dt_none:
-            return false;
-        }
-
-        return false;
-    }
-
-private:
-    // Data members
-    cstring             m_delimeters;
-    ti_delimeter_type   m_type;
-};
-
-// ************************************************************************** //
-// **************                 token_assigner               ************** //
-// ************************************************************************** //
-
-template<typename TraversalTag>
-struct token_assigner {
-#if BOOST_WORKAROUND( BOOST_DINKUMWARE_STDLIB, < 306 )
-    template<typename Iterator, typename C, typename T>
-    static void assign( Iterator b, Iterator e, std::basic_string<C,T>& t )
-    { for( ; b != e; ++b ) t += *b; }
-    
-    template<typename Iterator, typename C>
-    static void assign( Iterator b, Iterator e, basic_cstring<C>& t )  { t.assign( b, e ); }
-#else
-    template<typename Iterator, typename Token>
-    static void assign( Iterator b, Iterator e, Token& t )  { t.assign( b, e ); }
-#endif
-    template<typename Iterator, typename Token>
-    static void append_move( Iterator& b, Token& )          { ++b; }
-};
-
-//____________________________________________________________________________//
-
-template<>
-struct token_assigner<single_pass_traversal_tag> {
-    template<typename Iterator, typename Token>
-    static void assign( Iterator b, Iterator e, Token& t )  {}
-
-    template<typename Iterator, typename Token>
-    static void append_move( Iterator& b, Token& t )        { t += *b; ++b; }
-};
-
-} // namespace ut_detail
-
-// ************************************************************************** //
-// **************                  modifiers                   ************** //
-// ************************************************************************** //
-
-namespace {
-nfp::keyword<struct dropped_delimeters_t >           dropped_delimeters;
-nfp::keyword<struct kept_delimeters_t >              kept_delimeters;
-nfp::typed_keyword<bool,struct keep_empty_tokens_t > keep_empty_tokens;
-nfp::typed_keyword<std::size_t,struct max_tokens_t > max_tokens;
-}
-
-// ************************************************************************** //
-// **************             token_iterator_base              ************** //
-// ************************************************************************** //
-
-template<typename Derived,
-         typename CharT,
-         typename CharCompare   = ut_detail::default_char_compare<CharT>,
-         typename ValueType     = basic_cstring<CharT const>,
-         typename Reference     = basic_cstring<CharT const>,
-         typename Traversal     = forward_traversal_tag>
-class token_iterator_base
-: public input_iterator_facade<Derived,ValueType,Reference,Traversal> {
-    typedef basic_cstring<CharT const>                                      cstring;
-    typedef ut_detail::delim_policy<CharT,CharCompare>                      delim_policy;
-    typedef input_iterator_facade<Derived,ValueType,Reference,Traversal>    base;
-
-protected:
-    // Constructor
-    explicit    token_iterator_base()
-    : m_is_dropped( dt_isspace )
-    , m_is_kept( dt_ispunct )
-    , m_keep_empty_tokens( false )
-    , m_tokens_left( static_cast<std::size_t>(-1) )
-    , m_token_produced( false )
-    {
-    }
-
-    template<typename Modifier>
-    void
-    apply_modifier( Modifier const& m )
-    {
-        if( m.has( dropped_delimeters ) )
-            m_is_dropped.set_delimeters( m[dropped_delimeters] );
-
-        if( m.has( kept_delimeters ) )
-            m_is_kept.set_delimeters( m[kept_delimeters] );
-
-        if( m.has( keep_empty_tokens ) )
-            m_keep_empty_tokens = true;
-
-        nfp::optionally_assign( m_tokens_left, m, max_tokens );
-    }
-
-    template<typename Iter> 
-    bool                    get( Iter& begin, Iter end )
-    {
-        typedef ut_detail::token_assigner<BOOST_DEDUCED_TYPENAME iterator_traversal<Iter>::type> Assigner;
-        Iter check_point;
-
-        this->m_value.clear();
-
-        if( !m_keep_empty_tokens ) {
-            while( begin != end && m_is_dropped( *begin ) )
-                ++begin;
-
-            if( begin == end )
-                return false;
-
-            check_point = begin;
-
-            if( m_tokens_left == 1 )
-                while( begin != end )
-                    Assigner::append_move( begin, this->m_value );
-            else if( m_is_kept( *begin ) )
-                Assigner::append_move( begin, this->m_value );
-            else
-                while( begin != end && !m_is_dropped( *begin ) && !m_is_kept( *begin ) )
-                    Assigner::append_move( begin, this->m_value );
-
-            --m_tokens_left;
-        } 
-        else { // m_keep_empty_tokens is true
-            check_point = begin;
-
-            if( begin == end ) {
-                if( m_token_produced ) 
-                    return false;
-
-                m_token_produced = true;
-            }
-            if( m_is_kept( *begin ) ) {
-                if( m_token_produced ) 
-                    Assigner::append_move( begin, this->m_value );
-
-                m_token_produced = !m_token_produced;
-            } 
-            else if( !m_token_produced && m_is_dropped( *begin ) )
-                m_token_produced = true;
-            else {
-                if( m_is_dropped( *begin ) )
-                    check_point = ++begin;
-
-                while( begin != end && !m_is_dropped( *begin ) && !m_is_kept( *begin ) )
-                    Assigner::append_move( begin, this->m_value );
-
-                m_token_produced = true;
-            }
-        }
-
-        Assigner::assign( check_point, begin, this->m_value );
-
-        return true;
-    }
-
-private:
-    // Data members
-    delim_policy            m_is_dropped;
-    delim_policy            m_is_kept;
-    bool                    m_keep_empty_tokens;
-    std::size_t             m_tokens_left;
-    bool                    m_token_produced;
-};
-
-// ************************************************************************** //
-// **************          basic_string_token_iterator         ************** //
-// ************************************************************************** //
-
-template<typename CharT,
-         typename CharCompare = ut_detail::default_char_compare<CharT> >
-class basic_string_token_iterator
-: public token_iterator_base<basic_string_token_iterator<CharT,CharCompare>,CharT,CharCompare> {
-    typedef basic_cstring<CharT const> cstring;
-    typedef token_iterator_base<basic_string_token_iterator<CharT,CharCompare>,CharT,CharCompare> base;
-public:
-    explicit    basic_string_token_iterator() {}
-    explicit    basic_string_token_iterator( cstring src )
-    : m_src( src )
-    {
-        this->init();
-    }
-
-    template<typename Src, typename Modifier>
-    basic_string_token_iterator( Src src, Modifier const& m )
-    : m_src( src )
-    {
-        this->apply_modifier( m );
-
-        this->init();
-    }
-
-private:
-    friend class input_iterator_core_access;
-
-    // input iterator implementation
-    bool        get()
-    {
-        typename cstring::iterator begin = m_src.begin();
-        bool res = base::get( begin, m_src.end() );
-
-        m_src.assign( begin, m_src.end() );
-
-        return res;
-    }
-
-    // Data members
-    cstring     m_src;
-};
-
-typedef basic_string_token_iterator<char>       string_token_iterator;
-typedef basic_string_token_iterator<wchar_t>    wstring_token_iterator;
-
-// ************************************************************************** //
-// **************              range_token_iterator            ************** //
-// ************************************************************************** //
-
-template<typename Iter,
-         typename CharCompare = ut_detail::default_char_compare<BOOST_DEDUCED_TYPENAME iterator_value<Iter>::type>,
-         typename ValueType   = std::basic_string<BOOST_DEDUCED_TYPENAME iterator_value<Iter>::type>,
-         typename Reference   = ValueType const&>
-class range_token_iterator
-: public token_iterator_base<range_token_iterator<Iter,CharCompare,ValueType,Reference>,
-                             typename iterator_value<Iter>::type,CharCompare,ValueType,Reference> {
-    typedef basic_cstring<typename ValueType::value_type> cstring;
-    typedef token_iterator_base<range_token_iterator<Iter,CharCompare,ValueType,Reference>,
-                                typename iterator_value<Iter>::type,CharCompare,ValueType,Reference> base;
-public:
-    explicit    range_token_iterator() {}
-    explicit    range_token_iterator( Iter begin, Iter end = Iter() )
-    : m_begin( begin ), m_end( end )
-    {
-        this->init();
-    }
-    range_token_iterator( range_token_iterator const& rhs )
-    : base( rhs )
-    {
-        if( this->m_valid ) {
-            m_begin = rhs.m_begin;
-            m_end   = rhs.m_end;
-        }
-    }
-
-    template<typename Modifier>
-    range_token_iterator( Iter begin, Iter end, Modifier const& m )
-    : m_begin( begin ), m_end( end )
-    {
-        this->apply_modifier( m );
-
-        this->init();
-    }
-
-private:
-    friend class input_iterator_core_access;
-
-    // input iterator implementation
-    bool        get()
-    {
-        return base::get( m_begin, m_end );
-    }
-
-    // Data members
-    Iter m_begin;
-    Iter m_end;
-};
-
-// ************************************************************************** //
-// **************            make_range_token_iterator         ************** //
-// ************************************************************************** //
-
-template<typename Iter>
-inline range_token_iterator<Iter>
-make_range_token_iterator( Iter begin, Iter end = Iter() )
-{
-    return range_token_iterator<Iter>( begin, end );
-}
-
-//____________________________________________________________________________//
-
-template<typename Iter,typename Modifier>
-inline range_token_iterator<Iter>
-make_range_token_iterator( Iter begin, Iter end, Modifier const& m )
-{
-    return range_token_iterator<Iter>( begin, end, m );
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TOKEN_ITERATOR_HPP_071894GER
-
diff --git a/SRC/Boost/boost/test/utils/lazy_ostream.hpp b/SRC/Boost/boost/test/utils/lazy_ostream.hpp
deleted file mode 100755
index b265c55..0000000
--- a/SRC/Boost/boost/test/utils/lazy_ostream.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : contains definition for all test tools in test toolbox
-// ***************************************************************************
-
-#ifndef BOOST_TEST_LAZY_OSTREAM_HPP_070708GER
-#define BOOST_TEST_LAZY_OSTREAM_HPP_070708GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-
-// STL
-#include <iosfwd>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                  lazy_ostream                ************** //
-// ************************************************************************** //
-
-namespace boost {
-
-namespace unit_test {
-
-class lazy_ostream {
-public:
-    static lazy_ostream&    instance()                                              { static lazy_ostream inst; return inst; }
-
-    friend std::ostream&    operator<<( std::ostream& ostr, lazy_ostream const& o ) { return o( ostr ); }
-
-    // access method
-    bool                    empty() const                                           { return m_empty; }
-
-    // actual printing interface; to be accessed only by this class and children
-    virtual std::ostream&   operator()( std::ostream& ostr ) const                  { return ostr; }
-protected:
-    explicit                lazy_ostream( bool empty = true ) : m_empty( empty )    {}
-
-    // protected destructor to make sure right one is called
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
-public:
-#endif
-    BOOST_TEST_PROTECTED_VIRTUAL ~lazy_ostream()                                    {}
-
-private:
-    // Data members
-    bool                    m_empty;
-};
-
-//____________________________________________________________________________//
-
-template<typename T>
-class lazy_ostream_impl : public lazy_ostream {
-public:
-    lazy_ostream_impl( lazy_ostream const& prev, T value )
-    : lazy_ostream( false )
-    , m_prev( prev )
-    , m_value( value )
-    {}
-private:
-    virtual std::ostream&   operator()( std::ostream& ostr ) const
-    {
-        return m_prev(ostr) << m_value;
-    }
-
-    // Data members
-    lazy_ostream const&     m_prev;
-    T                       m_value;
-};
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline lazy_ostream_impl<T const&>
-operator<<( lazy_ostream const& prev, T const& v )
-{
-    return lazy_ostream_impl<T const&>( prev, v );
-}
-
-//____________________________________________________________________________//
-
-#if BOOST_TEST_USE_STD_LOCALE
-
-template<typename R,typename S>
-inline lazy_ostream_impl<R& (BOOST_TEST_CALL_DECL *)(S&)>
-operator<<( lazy_ostream const& prev, R& (BOOST_TEST_CALL_DECL *man)(S&) )
-{
-    return lazy_ostream_impl<R& (BOOST_TEST_CALL_DECL *)(S&)>( prev, man );
-}
-
-//____________________________________________________________________________//
-
-#endif
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_LAZY_OSTREAM_HPP_070708GER
diff --git a/SRC/Boost/boost/test/utils/named_params.hpp b/SRC/Boost/boost/test/utils/named_params.hpp
deleted file mode 100755
index bba384a..0000000
--- a/SRC/Boost/boost/test/utils/named_params.hpp
+++ /dev/null
@@ -1,329 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : facilities for named function parameters support
-// ***************************************************************************
-
-#ifndef BOOST_TEST_NAMED_PARAM_022505GER
-#define BOOST_TEST_NAMED_PARAM_022505GER
-
-// Boost
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-// Boost.Test
-#include <boost/test/utils/rtti.hpp>
-#include <boost/test/utils/assign_op.hpp>
-
-#include <boost/type_traits/remove_reference.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace nfp { // named function parameters
-
-// ************************************************************************** //
-// **************              forward declarations            ************** //
-// ************************************************************************** //
-
-template<typename T, typename unique_id,typename RefType>   struct named_parameter;
-template<typename unique_id,bool required>                  struct keyword;
-
-namespace nfp_detail {
-
-template<typename NP1,typename NP2>        struct named_parameter_combine;
-
-// ************************************************************************** //
-// **************          access_to_invalid_parameter         ************** //
-// ************************************************************************** //
-
-struct access_to_invalid_parameter {};
-
-//____________________________________________________________________________//
-
-inline void 
-report_access_to_invalid_parameter()
-{
-    throw access_to_invalid_parameter();
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                       nil                    ************** //
-// ************************************************************************** //
-
-struct nil {
-    template<typename T>
-#if defined(__GNUC__) || defined(__HP_aCC) || defined(__EDG__) || defined(__SUNPRO_CC)
-    operator T() const
-#else
-    operator T const&() const
-#endif
-    { report_access_to_invalid_parameter(); static T* v = 0; return *v; }
-
-    template<typename T>
-    T any_cast() const
-    { report_access_to_invalid_parameter(); static typename remove_reference<T>::type* v = 0; return *v; }
-
-    template<typename Arg1>
-    nil operator()( Arg1 const& )
-    { report_access_to_invalid_parameter(); return nil(); }
-
-    template<typename Arg1,typename Arg2>
-    nil operator()( Arg1 const&, Arg2 const& )
-    { report_access_to_invalid_parameter(); return nil(); }
-
-    template<typename Arg1,typename Arg2,typename Arg3>
-    nil operator()( Arg1 const&, Arg2 const&, Arg3 const& )
-    { report_access_to_invalid_parameter(); return nil(); }
-
-    // Visitation support
-    template<typename Visitor>
-    void            apply_to( Visitor& V ) const {}
-
-    static nil&     inst() { static nil s_inst; return s_inst; }
-private:
-    nil() {}
-};
-    
-// ************************************************************************** //
-// **************              named_parameter_base            ************** //
-// ************************************************************************** //
-
-template<typename Derived>
-struct named_parameter_base {
-    template<typename NP>
-    named_parameter_combine<NP,Derived>
-    operator,( NP const& np ) const { return named_parameter_combine<NP,Derived>( np, *static_cast<Derived const*>(this) ); }
-};
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************             named_parameter_combine          ************** //
-// ************************************************************************** //
-
-template<typename NP, typename Rest = nil>
-struct named_parameter_combine 
-: Rest
-, named_parameter_base<named_parameter_combine<NP,Rest> > {
-    typedef typename NP::ref_type  res_type;
-    typedef named_parameter_combine<NP,Rest> self_type;
-
-    // Constructor
-    named_parameter_combine( NP const& np, Rest const& r )
-    : Rest( r )
-    , m_param( np )
-    {}
-
-    // Access methods
-    res_type    operator[]( keyword<typename NP::id,true> kw ) const    { return m_param[kw]; }
-    res_type    operator[]( keyword<typename NP::id,false> kw ) const   { return m_param[kw]; }
-    using       Rest::operator[];
-
-    bool        has( keyword<typename NP::id,false> kw ) const          { return m_param.has( kw ); }
-    using       Rest::has;
-
-    void        erase( keyword<typename NP::id,false> kw ) const        { m_param.erase( kw ); }
-    using       Rest::erase;
-
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206)) || \
-    BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0610))
-    template<typename NP>
-    named_parameter_combine<NP,self_type> operator,( NP const& np ) const
-    { return named_parameter_combine<NP,self_type>( np, *this ); }
-#else
-    using       named_parameter_base<named_parameter_combine<NP,Rest> >::operator,;
-#endif
-
-    // Visitation support
-    template<typename Visitor>
-    void            apply_to( Visitor& V ) const
-    {
-        m_param.apply_to( V );
-
-        Rest::apply_to( V );
-    }
-private:
-    // Data members
-    NP          m_param;
-};
-
-} // namespace nfp_detail
-
-// ************************************************************************** //
-// **************                 named_parameter              ************** //
-// ************************************************************************** //
-
-template<typename T, typename unique_id,typename ReferenceType=T&>
-struct named_parameter
-: nfp_detail::named_parameter_base<named_parameter<T, unique_id,ReferenceType> >
-{
-    typedef nfp_detail::nil nil_t;
-    typedef T               data_type;
-    typedef ReferenceType   ref_type;
-    typedef unique_id       id;
-
-    // Constructor
-    explicit        named_parameter( ref_type v ) 
-    : m_value( v )
-    , m_erased( false )
-    {}
-    named_parameter( named_parameter const& np )
-    : m_value( np.m_value )
-    , m_erased( np.m_erased )
-    {}
-
-    // Access methods
-    ref_type        operator[]( keyword<unique_id,true> ) const     { return m_erased ? nil_t::inst().template any_cast<ref_type>() :  m_value; }
-    ref_type        operator[]( keyword<unique_id,false> ) const    { return m_erased ? nil_t::inst().template any_cast<ref_type>() :  m_value; }
-    template<typename UnknownId>
-    nil_t           operator[]( keyword<UnknownId,false> ) const    { return nil_t::inst(); }
-
-    bool            has( keyword<unique_id,false> ) const           { return !m_erased; }
-    template<typename UnknownId>
-    bool            has( keyword<UnknownId,false> ) const           { return false; }
-
-    void            erase( keyword<unique_id,false> ) const         { m_erased = true; }
-    template<typename UnknownId>
-    void            erase( keyword<UnknownId,false> ) const         {}
-
-    // Visitation support
-    template<typename Visitor>
-    void            apply_to( Visitor& V ) const
-    {
-        V.set_parameter( rtti::type_id<unique_id>(), m_value );
-    }
-
-private:
-    // Data members
-    ref_type        m_value;
-    mutable bool    m_erased;
-};
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                    no_params                 ************** //
-// ************************************************************************** //
-
-namespace nfp_detail {
-typedef named_parameter<char, struct no_params_type_t,char> no_params_type;
-} // namespace nfp_detail
-
-namespace {
-nfp_detail::no_params_type no_params( '\0' );
-} // local namespace
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                     keyword                  ************** //
-// ************************************************************************** //
-
-template<typename unique_id, bool required = false>
-struct keyword {
-    typedef unique_id id;
-
-    template<typename T>
-    named_parameter<T const,unique_id>
-    operator=( T const& t ) const       { return named_parameter<T const,unique_id>( t ); }
-
-    template<typename T>
-    named_parameter<T,unique_id>
-    operator=( T& t ) const   { return named_parameter<T,unique_id>( t ); }
-
-    named_parameter<char const*,unique_id,char const*>
-    operator=( char const* t ) const   { return named_parameter<char const*,unique_id,char const*>( t ); }
-};
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                  typed_keyword               ************** //
-// ************************************************************************** //
-
-template<typename T, typename unique_id, bool required = false>
-struct typed_keyword : keyword<unique_id,required> {
-    named_parameter<T const,unique_id>
-    operator=( T const& t ) const       { return named_parameter<T const,unique_id>( t ); }
-
-    named_parameter<T,unique_id>
-    operator=( T& t ) const             { return named_parameter<T,unique_id>( t ); }
-};
-
-//____________________________________________________________________________//
-
-template<typename unique_id>
-struct typed_keyword<bool,unique_id,false>
-: keyword<unique_id,false>
-, named_parameter<bool,unique_id,bool> {
-    typedef unique_id id;
-
-    typed_keyword() : named_parameter<bool,unique_id,bool>( true ) {}
-
-    named_parameter<bool,unique_id,bool>
-    operator!() const           { return named_parameter<bool,unique_id,bool>( false ); }
-};
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
-// **************                optionally_assign             ************** //
-// ************************************************************************** //
-
-template<typename T>
-inline void
-optionally_assign( T&, nfp_detail::nil )
-{
-    nfp_detail::report_access_to_invalid_parameter();
-}
-
-//____________________________________________________________________________//
-
-template<typename T, typename Source>
-inline void
-#if BOOST_WORKAROUND( __MWERKS__, BOOST_TESTED_AT( 0x3003 ) ) \
-    || BOOST_WORKAROUND( __DECCXX_VER, BOOST_TESTED_AT(60590042) )
-optionally_assign( T& target, Source src )
-#else
-optionally_assign( T& target, Source const& src )
-#endif
-{
-    using namespace unit_test;
-
-    assign_op( target, src, static_cast<int>(0) );
-}
-
-//____________________________________________________________________________//
-
-template<typename T, typename Params, typename Keyword>
-inline void
-optionally_assign( T& target, Params const& p, Keyword k )
-{
-    if( p.has(k) )
-        optionally_assign( target, p[k] );
-}
-
-//____________________________________________________________________________//
-
-} // namespace nfp
-
-} // namespace boost
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_NAMED_PARAM_022505GER
-
diff --git a/SRC/Boost/boost/test/utils/rtti.hpp b/SRC/Boost/boost/test/utils/rtti.hpp
deleted file mode 100755
index 0733de0..0000000
--- a/SRC/Boost/boost/test/utils/rtti.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : simple facilities for accessing type information at runtime
-// ***************************************************************************
-
-#ifndef BOOST_TEST_RTTI_HPP_062604GER
-#define BOOST_TEST_RTTI_HPP_062604GER
-
-#include <cstddef>
-
-namespace boost {
-
-namespace rtti {
-
-// ************************************************************************** //
-// **************                   rtti::type_id              ************** //
-// ************************************************************************** //
-
-typedef std::ptrdiff_t id_t;
-
-namespace rtti_detail {
-
-template<typename T>
-struct rttid_holder {
-    static id_t id() { return reinterpret_cast<id_t>( &inst() ); }
-
-private:
-    struct rttid {};
-
-    static rttid const& inst() { static rttid s_inst;  return s_inst; }
-};
-
-} // namespace rtti_detail
-
-//____________________________________________________________________________//
-
-template<typename T>   
-inline id_t
-type_id()
-{
-    return rtti_detail::rttid_holder<T>::id();
-}
-
-//____________________________________________________________________________//
-
-#define BOOST_RTTI_SWITCH( type_id_ ) if( ::boost::rtti::id_t switch_by_id = type_id_ )
-#define BOOST_RTTI_CASE( type )       if( switch_by_id == ::boost::rtti::type_id<type>() )
-
-//____________________________________________________________________________//
-
-} // namespace rtti
-
-} // namespace boost
-
-#endif // BOOST_RT_RTTI_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/argument.hpp b/SRC/Boost/boost/test/utils/runtime/argument.hpp
deleted file mode 100755
index 561e6a1..0000000
--- a/SRC/Boost/boost/test/utils/runtime/argument.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : model of actual argument (both typed and abstract interface)
-// ***************************************************************************
-
-#ifndef BOOST_RT_ARGUMENT_HPP_062604GER
-#define BOOST_RT_ARGUMENT_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-
-// Boost.Test
-#include <boost/test/utils/class_properties.hpp>
-#include <boost/test/utils/rtti.hpp>
-
-// STL
-#include <cassert>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-// ************************************************************************** //
-// **************              runtime::argument               ************** //
-// ************************************************************************** //
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable:4244)
-#endif
-
-class argument {
-public:
-    // Constructor
-    argument( parameter const& p, rtti::id_t value_type )
-    : p_formal_parameter( p )
-    , p_value_type( value_type )
-    {}
-
-    // Destructor
-    virtual     ~argument()  {}
-
-    // Public properties
-    unit_test::readonly_property<parameter const&> p_formal_parameter;
-    unit_test::readonly_property<rtti::id_t>       p_value_type;
-};
-
-// ************************************************************************** //
-// **************             runtime::typed_argument          ************** //
-// ************************************************************************** //
-
-template<typename T>
-class typed_argument : public argument {
-public:
-    // Constructor
-    explicit typed_argument( parameter const& p )
-    : argument( p, rtti::type_id<T>() )
-    {}
-    typed_argument( parameter const& p, T const& t )
-    : argument( p, rtti::type_id<T>() )
-    , p_value( t )
-    {}
-
-    unit_test::readwrite_property<T>    p_value;
-};
-
-// ************************************************************************** //
-// **************               runtime::arg_value             ************** //
-// ************************************************************************** //
-
-template<typename T>
-inline T const&
-arg_value( argument const& arg_ )
-{
-    assert( arg_.p_value_type == rtti::type_id<T>() ); // detect logic error
-
-    return static_cast<typed_argument<T> const&>( arg_ ).p_value.value;
-}
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline T&
-arg_value( argument& arg_ )
-{
-    assert( arg_.p_value_type == rtti::type_id<T>() ); // detect logic error
-
-    return static_cast<typed_argument<T>&>( arg_ ).p_value.value;
-}
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-//____________________________________________________________________________//
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_ARGUMENT_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/argument_factory.hpp b/SRC/Boost/boost/test/utils/runtime/cla/argument_factory.hpp
deleted file mode 100755
index d02ae59..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/argument_factory.hpp
+++ /dev/null
@@ -1,218 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : generic typed_argument_factory implementation
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_ARGUMENT_FACTORY_HPP_062604GER
-#define BOOST_RT_CLA_ARGUMENT_FACTORY_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-#include <boost/test/utils/runtime/argument.hpp>
-#include <boost/test/utils/runtime/trace.hpp>
-#include <boost/test/utils/runtime/interpret_argument_value.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-#include <boost/test/utils/runtime/cla/value_generator.hpp>
-#include <boost/test/utils/runtime/cla/value_handler.hpp>
-#include <boost/test/utils/runtime/cla/validation.hpp>
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-#include <boost/test/utils/runtime/cla/detail/argument_value_usage.hpp>
-
-#include <boost/test/utils/runtime/cla/iface/argument_factory.hpp>
-
-// Boost.Test
-#include <boost/test/utils/callback.hpp>
-
-// Boost
-#include <boost/optional.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************           default_value_interpreter          ************** //
-// ************************************************************************** //
-
-namespace rt_cla_detail {
-
-struct default_value_interpreter {
-    template<typename T>
-    void operator()( argv_traverser& tr, boost::optional<T>& value )
-    {
-        if( interpret_argument_value( tr.token(), value, 0 ) )
-            tr.next_token();
-    }
-};
-
-} // namespace rt_cla_detail
-
-// ************************************************************************** //
-// **************             typed_argument_factory           ************** //
-// ************************************************************************** //
-
-template<typename T>
-struct typed_argument_factory : public argument_factory {
-    // Constructor
-    typed_argument_factory()
-    : m_value_interpreter( rt_cla_detail::default_value_interpreter() )
-    {}
-    BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~typed_argument_factory() {}
-
-    // properties modification
-    template<typename Modifier>
-    void                accept_modifier( Modifier const& m )
-    {
-        optionally_assign( m_value_handler, m, handler );
-        optionally_assign( m_value_interpreter, m, interpreter );
-
-        if( m.has( default_value ) ) {
-            BOOST_RT_PARAM_VALIDATE_LOGIC( !m_value_generator, 
-                BOOST_RT_PARAM_LITERAL( "multiple value generators for parameter" ) );
-
-            T const& dv_ref = m[default_value];
-            m_value_generator = rt_cla_detail::const_generator<T>( dv_ref );
-        }
-
-        if( m.has( default_refer_to ) ) {
-            BOOST_RT_PARAM_VALIDATE_LOGIC( !m_value_generator, 
-                BOOST_RT_PARAM_LITERAL( "multiple value generators for parameter" ) );
-
-            cstring ref_id = m[default_refer_to];
-            m_value_generator = rt_cla_detail::ref_generator<T>( ref_id );
-        }
-
-        if( m.has( assign_to ) ) {
-            BOOST_RT_PARAM_VALIDATE_LOGIC( !m_value_handler, 
-                BOOST_RT_PARAM_LITERAL( "multiple value handlers for parameter" ) );
-
-            m_value_handler = rt_cla_detail::assigner<T>( m[assign_to] );
-        }
-    }
-
-    // Argument factory implementation
-    virtual argument_ptr produce_using( parameter& p, argv_traverser& tr );
-    virtual argument_ptr produce_using( parameter& p, parser const& );
-    virtual void         argument_usage_info( format_stream& fs );
-
-// !! private?
-    // Data members
-    unit_test::callback2<parameter const&,T&>                   m_value_handler;
-    unit_test::callback2<parser const&,boost::optional<T>&>     m_value_generator;
-    unit_test::callback2<argv_traverser&,boost::optional<T>&>   m_value_interpreter;
-};
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline argument_ptr
-typed_argument_factory<T>::produce_using( parameter& p, argv_traverser& tr )
-{
-    boost::optional<T> value;
-
-    try {
-        m_value_interpreter( tr, value );
-    }
-    catch( ... ) { // !! should we do that?
-        BOOST_RT_PARAM_TRACE( "Fail to parse argument value" );
-
-        if( !p.p_optional_value )
-            throw;
-    }
-
-    argument_ptr actual_arg = p.actual_argument();
-
-    BOOST_RT_CLA_VALIDATE_INPUT( !!value || p.p_optional_value, tr, 
-        BOOST_RT_PARAM_LITERAL( "Argument value missing for parameter " ) << p.id_2_report() );
-
-    BOOST_RT_CLA_VALIDATE_INPUT( !actual_arg || p.p_multiplicable, tr, 
-        BOOST_RT_PARAM_LITERAL( "Unexpected repetition of the parameter " ) << p.id_2_report() );
-
-    if( !!value && !!m_value_handler )
-        m_value_handler( p, *value );
-
-    if( !p.p_multiplicable )
-        actual_arg.reset( p.p_optional_value && (rtti::type_id<T>() != rtti::type_id<bool>())
-            ? static_cast<argument*>(new typed_argument<boost::optional<T> >( p, value ))
-            : static_cast<argument*>(new typed_argument<T>( p, *value )) );
-    else {
-        typedef std::list<boost::optional<T> > optional_list;
-
-        if( !actual_arg )
-            actual_arg.reset( p.p_optional_value 
-                ? static_cast<argument*>(new typed_argument<optional_list>( p ))
-                : static_cast<argument*>(new typed_argument<std::list<T> >( p )) );
-
-        if( p.p_optional_value ) {
-            optional_list& values = arg_value<optional_list>( *actual_arg );
-
-            values.push_back( value );
-        }
-        else {
-            std::list<T>& values = arg_value<std::list<T> >( *actual_arg );
-            
-            values.push_back( *value );
-        }
-    }
-
-    return actual_arg;
-}
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline argument_ptr 
-typed_argument_factory<T>::produce_using( parameter& p, parser const& pa )
-{
-    argument_ptr actual_arg;
-
-    if( !m_value_generator )
-        return actual_arg;
-
-    boost::optional<T> value;
-    m_value_generator( pa, value );
-
-    if( !value )
-        return actual_arg;
-
-    if( !!m_value_handler )
-        m_value_handler( p, *value );
-
-    actual_arg.reset( new typed_argument<T>( p, *value ) );
-
-    return actual_arg;
-}
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline void
-typed_argument_factory<T>::argument_usage_info( format_stream& fs )
-{
-    rt_cla_detail::argument_value_usage( fs, 0, reinterpret_cast<T*>(0) );
-}
-
-//____________________________________________________________________________//
-
-} // namespace boost
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace cla
-
-#endif // BOOST_RT_CLA_ARGUMENT_FACTORY_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/argv_traverser.hpp b/SRC/Boost/boost/test/utils/runtime/cla/argv_traverser.hpp
deleted file mode 100755
index ecf87ff..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/argv_traverser.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : defines facility to hide input traversing details
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_ARGV_TRAVERSER_HPP_062604GER
-#define BOOST_RT_CLA_ARGV_TRAVERSER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-// Boost.Test
-#include <boost/test/utils/class_properties.hpp>
-
-// Boost
-#include <boost/noncopyable.hpp>
-#include <boost/shared_array.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************          runtime::cla::argv_traverser        ************** //
-// ************************************************************************** //
-
-class argv_traverser : noncopyable {
-    class parser;
-public:
-    // Constructor
-    argv_traverser();
-
-    // public_properties
-    unit_test::readwrite_property<bool>         p_ignore_mismatch;
-    unit_test::readwrite_property<char_type>    p_separator;
-
-    // argc+argv <-> internal buffer exchange
-    void            init( int argc, char_type** argv );
-    void            remainder( int& argc, char_type** argv );
-
-    // token based parsing
-    cstring         token() const;
-    void            next_token();
-
-    // whole input parsing
-    cstring         input() const;
-    void            trim( std::size_t size );
-    bool            match_front( cstring );
-    bool            match_front( char_type c );
-    bool            eoi() const;
-
-    // transaction logic support
-    void            commit();
-    void            rollback();
-
-    // current position access; used to save some reference points in input
-    std::size_t     input_pos() const;
-
-    // returns true if mismatch detected during input parsing handled successfully
-    bool            handle_mismatch();
-
-private:
-    // Data members
-    dstring                 m_buffer;
-    cstring                 m_work_buffer;
-
-    cstring                 m_token;
-    cstring::iterator       m_commited_end;
-
-    shared_array<char_type> m_remainder;
-    std::size_t             m_remainder_size;
-};
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-#  define BOOST_RT_PARAM_INLINE inline
-#  include <boost/test/utils/runtime/cla/argv_traverser.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_ARGV_TRAVERSER_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/argv_traverser.ipp b/SRC/Boost/boost/test/utils/runtime/cla/argv_traverser.ipp
deleted file mode 100755
index b22673a..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/argv_traverser.ipp
+++ /dev/null
@@ -1,209 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : implements facility to hide input traversing details
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_ARGV_TRAVERSER_IPP_070604GER
-#define BOOST_RT_CLA_ARGV_TRAVERSER_IPP_070604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/trace.hpp>
-
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-
-// STL
-#include <memory>
-#include <cstring>
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std { using ::memcpy; }
-#endif
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************          runtime::cla::argv_traverser        ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE
-argv_traverser::argv_traverser()
-: p_ignore_mismatch( false ), p_separator( BOOST_RT_PARAM_LITERAL( ' ' ) )
-{
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-argv_traverser::init( int argc, char_type** argv )
-{
-    for( int index = 1; index < argc; ++index ) {
-        m_buffer += argv[index];
-        if( index != argc-1 )
-            m_buffer += BOOST_RT_PARAM_LITERAL( ' ' );
-    }
-
-    m_remainder.reset( new char_type[m_buffer.size()+1] );
-    m_remainder_size    = 0;
-    m_work_buffer       = m_buffer;
-    m_commited_end      = m_work_buffer.begin();
-
-    BOOST_RT_PARAM_TRACE( "Input buffer: " << m_buffer );
-
-    next_token();
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-argv_traverser::remainder( int& argc, char_type** argv )
-{
-    argc = 1;
-    std::size_t pos = 0;
-    while(pos < m_remainder_size ) {
-        argv[argc++] = m_remainder.get() + pos;
-
-        pos = std::find( m_remainder.get() + pos, m_remainder.get() + m_remainder_size, 
-                         BOOST_RT_PARAM_LITERAL( ' ' ) ) - m_remainder.get();
-        m_remainder[pos++] = BOOST_RT_PARAM_LITERAL( '\0' );
-    }
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE cstring
-argv_traverser::token() const
-{
-    return m_token;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-argv_traverser::next_token()
-{
-    if( m_work_buffer.is_empty() )
-        return;
-
-    m_work_buffer.trim_left( m_token.size() ); // skip remainder of current token
-
-    if( m_work_buffer.size() != m_buffer.size() ) // !! is there a better way to identify first token
-        m_work_buffer.trim_left( 1 ); // skip separator if not first token;
-
-    m_token.assign( m_work_buffer.begin(),
-                    std::find( m_work_buffer.begin(), m_work_buffer.end(), p_separator ) );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE cstring
-argv_traverser::input() const
-{
-    return m_work_buffer;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-argv_traverser::trim( std::size_t size )
-{
-    m_work_buffer.trim_left( size );
-
-    if( size <= m_token.size() )
-        m_token.trim_left( size );
-    else {
-        m_token.assign( m_work_buffer.begin(),
-                        std::find( m_work_buffer.begin(), m_work_buffer.end(), p_separator ) );
-    }
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-argv_traverser::match_front( cstring str )
-{
-    return m_work_buffer.size() < str.size() ? false : m_work_buffer.substr( 0, str.size() ) == str;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-argv_traverser::match_front( char_type c )
-{
-    return first_char( m_work_buffer ) == c;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-argv_traverser::eoi() const
-{
-    return m_work_buffer.is_empty();
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-argv_traverser::commit()
-{
-    m_commited_end = m_work_buffer.begin();
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-argv_traverser::rollback()
-{
-    m_work_buffer.assign( m_commited_end, m_work_buffer.end() );
-    m_token.assign( m_work_buffer.begin(),
-                    std::find( m_work_buffer.begin(), m_work_buffer.end(), p_separator ) );
-
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE std::size_t
-argv_traverser::input_pos() const
-{
-    return m_work_buffer.begin() - m_commited_end;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-argv_traverser::handle_mismatch()
-{
-    if( !p_ignore_mismatch )
-        return false;
-
-    std::memcpy( m_remainder.get() + m_remainder_size, token().begin(), token().size() );
-    m_remainder_size += token().size();
-    m_remainder[m_remainder_size++] = p_separator;
-
-    next_token();
-    commit();
-
-    return true;
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_ARGV_TRAVERSER_IPP_070604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/basic_parameter.hpp b/SRC/Boost/boost/test/utils/runtime/cla/basic_parameter.hpp
deleted file mode 100755
index 3023ab8..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/basic_parameter.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : generic custom parameter generator
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_BASIC_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_BASIC_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/typed_parameter.hpp>
-
-// Boost.Test
-#include <boost/test/utils/rtti.hpp>
-
-// Boost
-#include <boost/utility/base_from_member.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************         runtime::cla::basic_parameter        ************** //
-// ************************************************************************** //
-
-template<typename T, typename IdPolicy>
-class basic_parameter : private base_from_member<IdPolicy>, public typed_parameter<T> {
-public:
-    // Constructors
-    explicit    basic_parameter( cstring n ) 
-    : base_from_member<IdPolicy>()
-    , typed_parameter<T>( base_from_member<IdPolicy>::member )
-    {
-        this->accept_modifier( name = n );
-    }
-
-    // parameter properties modification
-    template<typename Modifier>
-    void        accept_modifier( Modifier const& m )
-    {
-        typed_parameter<T>::accept_modifier( m );
-
-        base_from_member<IdPolicy>::member.accept_modifier( m );
-    }
-};
-
-//____________________________________________________________________________//
-
-#define BOOST_RT_CLA_NAMED_PARAM_GENERATORS( param_type )                                       \
-template<typename T>                                                                            \
-inline shared_ptr<param_type ## _t<T> >                                                         \
-param_type( cstring name = cstring() )                                                          \
-{                                                                                               \
-    return shared_ptr<param_type ## _t<T> >( new param_type ## _t<T>( name ) );                 \
-}                                                                                               \
-                                                                                                \
-inline shared_ptr<param_type ## _t<cstring> >                                                   \
-param_type( cstring name = cstring() )                                                          \
-{                                                                                               \
-    return shared_ptr<param_type ## _t<cstring> >( new param_type ## _t<cstring>( name ) );     \
-}                                                                                               \
-/**/
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_BASIC_PARAMETER_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/char_parameter.hpp b/SRC/Boost/boost/test/utils/runtime/cla/char_parameter.hpp
deleted file mode 100755
index a49833c..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/char_parameter.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : defines model of parameter with single char name
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_CHAR_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_CHAR_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-
-#include <boost/test/utils/runtime/cla/basic_parameter.hpp>
-#include <boost/test/utils/runtime/cla/id_policy.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************               char_name_policy               ************** //
-// ************************************************************************** //
-
-class char_name_policy : public basic_naming_policy {
-public:
-    // Constructor
-    char_name_policy();
-    BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~char_name_policy() {}
-
-    // policy interface
-    virtual bool    conflict_with( identification_policy const& ) const;
-
-    // Accept modifier
-    template<typename Modifier>
-    void            accept_modifier( Modifier const& m )
-    {
-        basic_naming_policy::accept_modifier( m );
-
-        BOOST_RT_PARAM_VALIDATE_LOGIC( p_name->size() <= 1, "Invalid parameter name "  << p_name );
-    }
-};
-
-// ************************************************************************** //
-// **************          runtime::cla::char_parameter        ************** //
-// ************************************************************************** //
-
-template<typename T>
-class char_parameter_t : public basic_parameter<T,char_name_policy> {
-    typedef basic_parameter<T,char_name_policy> base;
-public:
-    // Constructors
-    explicit    char_parameter_t( char_type name ) : base( cstring( &name, 1 ) ) {}
-};
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline shared_ptr<char_parameter_t<T> >
-char_parameter( char_type name )
-{
-    return shared_ptr<char_parameter_t<T> >( new char_parameter_t<T>( name ) );
-}
-
-//____________________________________________________________________________//
-
-inline shared_ptr<char_parameter_t<cstring> >
-char_parameter( char_type name )
-{
-    return shared_ptr<char_parameter_t<cstring> >( new char_parameter_t<cstring>( name ) );
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-#  define BOOST_RT_PARAM_INLINE inline
-#  include <boost/test/utils/runtime/cla/char_parameter.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_CHAR_PARAMETER_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/char_parameter.ipp b/SRC/Boost/boost/test/utils/runtime/cla/char_parameter.ipp
deleted file mode 100755
index 8e87f45..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/char_parameter.ipp
+++ /dev/null
@@ -1,57 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : implements model of parameter with single char name
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_CHAR_PARAMETER_IPP_062904GER
-#define BOOST_RT_CLA_CHAR_PARAMETER_IPP_062904GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/char_parameter.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************               char_name_policy               ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE 
-char_name_policy::char_name_policy()
-: basic_naming_policy( rtti::type_id<char_name_policy>() )
-{
-    assign_op( p_prefix.value, BOOST_RT_PARAM_CSTRING_LITERAL( "-" ), 0 );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-char_name_policy::conflict_with( identification_policy const& id ) const
-{
-    return id.p_type_id == p_type_id && 
-           p_name == static_cast<char_name_policy const&>( id ).p_name;
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_CHAR_PARAMETER_IPP_062904GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp b/SRC/Boost/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp
deleted file mode 100755
index f994b94..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Permission to copy, use, modify, sell and distribute this software
-//  is granted provided this copyright notice appears in all copies.
-//  This software is provided "as is" without express or implied warranty,
-//  and with no claim as to its suitability for any purpose.
-  
-//  See http://www.boost.org for updates, documentation, and revision history.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : argument usage printing helpers
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_ARGUMENT_VALUE_USAGE_HPP_062604GER
-#define BOOST_RT_CLA_ARGUMENT_VALUE_USAGE_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/io.hpp>
-#include <boost/test/utils/basic_cstring/compare.hpp>
-
-#include <boost/lexical_cast.hpp>
-
-// STL
-// !! can we eliminate these includes?
-#include <list>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-namespace rt_cla_detail {
-
-// ************************************************************************** //
-// **************             argument_value_usage             ************** //
-// ************************************************************************** //
-
-// generic case
-template<typename T>
-inline void
-argument_value_usage( format_stream& fs, long, T* = 0 )
-{
-    fs << BOOST_RT_PARAM_CSTRING_LITERAL( "<value>" );
-}
-
-//____________________________________________________________________________//
-
-// specialization for list of values
-template<typename T>
-inline void
-argument_value_usage( format_stream& fs, int, std::list<T>* = 0 )
-{
-    fs << BOOST_RT_PARAM_CSTRING_LITERAL( "(<value1>, ..., <valueN>)" );
-}
-
-//____________________________________________________________________________//
-
-// specialization for type bool
-inline void
-argument_value_usage( format_stream& fs,  int, bool* = 0 )
-{
-    fs << BOOST_RT_PARAM_CSTRING_LITERAL( "yes|y|no|n" );
-}
-
-//____________________________________________________________________________//
-
-} // namespace rt_cla_detail
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_ARGUMENT_VALUE_USAGE_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/dual_name_parameter.hpp b/SRC/Boost/boost/test/utils/runtime/cla/dual_name_parameter.hpp
deleted file mode 100755
index c7dd339..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/dual_name_parameter.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : defines model of generic parameter with dual naming
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_DUAL_NAME_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_DUAL_NAME_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/named_parameter.hpp>
-#include <boost/test/utils/runtime/cla/char_parameter.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************               dual_name_policy               ************** //
-// ************************************************************************** //
-
-class dual_name_policy : public dual_id_policy<dual_name_policy,string_name_policy,char_name_policy> {
-public:
-    dual_name_policy();
-
-    // Accept modifier
-    template<typename Modifier>
-    void    accept_modifier( Modifier const& m )
-    {
-        if( m.has( prefix ) ) {
-            set_prefix( m[prefix] );
-            m.erase( prefix );
-        }
-
-        if( m.has( name ) ) {
-            set_name( m[name] );
-            m.erase( name );
-        }
-
-        if( m.has( separator ) ) {
-            set_separator( m[separator] );
-            m.erase( separator );
-        }
-
-        dual_id_policy<dual_name_policy,string_name_policy,char_name_policy>::accept_modifier( m );
-    }
-private:
-    void    set_prefix( cstring );
-    void    set_name( cstring );
-    void    set_separator( cstring );
-};
-
-// ************************************************************************** //
-// **************       runtime::cla::dual_name_parameter      ************** //
-// ************************************************************************** //
-
-template<typename T>
-class dual_name_parameter_t : public basic_parameter<T,dual_name_policy> {
-    typedef basic_parameter<T,dual_name_policy> base;
-public:
-    // Constructors
-    explicit    dual_name_parameter_t( cstring name ) : base( name ) {}
-};
-
-//____________________________________________________________________________//
-
-BOOST_RT_CLA_NAMED_PARAM_GENERATORS( dual_name_parameter )
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-#  define BOOST_RT_PARAM_INLINE inline
-#  include <boost/test/utils/runtime/cla/dual_name_parameter.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_DUAL_NAME_PARAMETER_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/dual_name_parameter.ipp b/SRC/Boost/boost/test/utils/runtime/cla/dual_name_parameter.ipp
deleted file mode 100755
index 7bdfeb1..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/dual_name_parameter.ipp
+++ /dev/null
@@ -1,90 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : implements model of generic parameter with dual naming
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER
-#define BOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-
-#include <boost/test/utils/runtime/cla/dual_name_parameter.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************               dual_name_policy               ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE 
-dual_name_policy::dual_name_policy()
-{
-    m_primary.accept_modifier( prefix = BOOST_RT_PARAM_CSTRING_LITERAL( "--" ) );
-    m_secondary.accept_modifier( prefix = BOOST_RT_PARAM_CSTRING_LITERAL( "-" ) );
-}
-
-//____________________________________________________________________________//
-
-namespace {
-
-template<typename K>
-inline void
-split( string_name_policy& snp, char_name_policy& cnp, cstring src, K const& k )
-{
-    cstring::iterator sep = std::find( src.begin(), src.end(), BOOST_RT_PARAM_LITERAL( '|' ) );
-    
-    if( sep != src.begin() )
-        snp.accept_modifier( k = cstring( src.begin(), sep ) );
-
-    if( sep != src.end() )
-        cnp.accept_modifier( k = cstring( sep+1, src.end() ) );
-}
-
-} // local namespace
-
-BOOST_RT_PARAM_INLINE void
-dual_name_policy::set_prefix( cstring src )
-{
-    split( m_primary, m_secondary, src, prefix );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-dual_name_policy::set_name( cstring src )
-{
-    split( m_primary, m_secondary, src, name );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-dual_name_policy::set_separator( cstring src )
-{
-    split( m_primary, m_secondary, src, separator );
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/fwd.hpp b/SRC/Boost/boost/test/utils/runtime/cla/fwd.hpp
deleted file mode 100755
index 0dd063e..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/fwd.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : cla subsystem forward declarations
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_FWD_HPP_062604GER
-#define BOOST_RT_CLA_FWD_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-// Boost
-#include <boost/shared_ptr.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-class parser;
-class parameter;
-typedef shared_ptr<parameter> parameter_ptr;
-class naming_policy;
-typedef shared_ptr<naming_policy> naming_policy_ptr;
-class argv_traverser;
-
-namespace rt_cla_detail {
-
-template<typename T> class const_generator;
-template<typename T> class ref_generator;
-
-template<typename T> class assigner;
-
-class named_parameter_base;
-class positional_parameter_base;
-
-} // namespace rt_cla_detail
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_FWD_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/id_policy.hpp b/SRC/Boost/boost/test/utils/runtime/cla/id_policy.hpp
deleted file mode 100755
index f554785..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/id_policy.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : some generic identification policies definition
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_ID_POLICY_HPP_062604GER
-#define BOOST_RT_CLA_ID_POLICY_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-#include <boost/test/utils/runtime/cla/modifier.hpp>
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-
-#include <boost/test/utils/runtime/cla/iface/id_policy.hpp>
-
-// Boost.Test
-#include <boost/test/utils/class_properties.hpp>
-#include <boost/test/utils/rtti.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************               naming_policy_base             ************** //
-// ************************************************************************** //
-// model: <prefix> <name> <separtor>
-
-class basic_naming_policy : public identification_policy {
-public:
-    // Public properties
-    unit_test::readwrite_property<dstring>    p_prefix;
-    unit_test::readwrite_property<dstring>    p_name;
-    unit_test::readwrite_property<dstring>    p_separator;
-
-    // Policy interface
-    virtual bool    responds_to( cstring name ) const       { return p_name == name; }
-    virtual cstring id_2_report() const                     { return p_name.get(); }
-    virtual void    usage_info( format_stream& fs ) const;
-    virtual bool    matching( parameter const& p, argv_traverser& tr, bool primary ) const;
-
-    // Accept modifier
-    template<typename Modifier>
-    void            accept_modifier( Modifier const& m )
-    {
-        nfp::optionally_assign( p_prefix.value,    m, prefix );
-        nfp::optionally_assign( p_name.value,      m, name );
-        nfp::optionally_assign( p_separator.value, m, separator );
-    }
-
-protected:
-    explicit basic_naming_policy( rtti::id_t dyn_type )
-    : identification_policy( dyn_type )
-    {}
-    BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~basic_naming_policy() {}
-
-    // Naming policy interface
-    virtual bool    match_prefix( argv_traverser& tr ) const;
-    virtual bool    match_name( argv_traverser& tr ) const;
-    virtual bool    match_separator( argv_traverser& tr, bool optional_value ) const;
-};
-
-// ************************************************************************** //
-// **************                 dual_id_policy               ************** //
-// ************************************************************************** //
-
-template<typename MostDerived,typename PrimaryId,typename SecondId>
-class dual_id_policy : public identification_policy {
-public:
-    // Constructor
-    dual_id_policy()
-    : identification_policy( rtti::type_id<MostDerived>() )
-    , m_primary()
-    , m_secondary()
-    {}
-
-    // Policy interface
-    virtual bool    responds_to( cstring name ) const
-    {
-        return m_primary.responds_to( name ) || m_secondary.responds_to( name );
-    }
-    virtual bool    conflict_with( identification_policy const& id_p ) const
-    {
-        return id_p.conflict_with( m_primary ) || id_p.conflict_with( m_secondary );
-    }
-    virtual cstring id_2_report() const
-    {
-        return m_primary.id_2_report();
-    }
-    virtual void    usage_info( format_stream& fs ) const
-    {
-        fs << BOOST_RT_PARAM_LITERAL( '{' );
-        m_primary.usage_info( fs );
-        fs << BOOST_RT_PARAM_LITERAL( '|' );
-        m_secondary.usage_info( fs );
-        fs << BOOST_RT_PARAM_LITERAL( '}' );
-    }
-    virtual bool    matching( parameter const& p, argv_traverser& tr, bool primary ) const
-    {
-        return m_primary.matching( p, tr, primary ) || m_secondary.matching( p, tr, primary );
-    }
-
-    // Accept modifier
-    template<typename Modifier>
-    void    accept_modifier( Modifier const& m )
-    {
-        m_primary.accept_modifier( m );
-        m_secondary.accept_modifier( m );
-    }
-
-protected:
-    BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~dual_id_policy() {}
-
-    // Data members
-    PrimaryId       m_primary;
-    SecondId        m_secondary;
-};
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-#  define BOOST_RT_PARAM_INLINE inline
-#  include <boost/test/utils/runtime/cla/id_policy.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_ID_POLICY_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/id_policy.ipp b/SRC/Boost/boost/test/utils/runtime/cla/id_policy.ipp
deleted file mode 100755
index 74ac896..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/id_policy.ipp
+++ /dev/null
@@ -1,118 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : some generic identification policies implementation
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_ID_POLICY_IPP_062904GER
-#define BOOST_RT_CLA_ID_POLICY_IPP_062904GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/id_policy.hpp>
-#include <boost/test/utils/runtime/cla/parameter.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************              basic_naming_policy             ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE void
-basic_naming_policy::usage_info( format_stream& fs ) const
-{
-    fs << p_prefix << p_name << p_separator;
-
-    if( p_separator->empty() )
-        fs << BOOST_RT_PARAM_LITERAL( ' ' );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-basic_naming_policy::match_prefix( argv_traverser& tr ) const
-{
-    if( !tr.match_front( p_prefix.get() ) )
-        return false;
-
-    tr.trim( p_prefix->size() );
-    return true;
-}
-
-//____________________________________________________________________________//
-    
-BOOST_RT_PARAM_INLINE bool
-basic_naming_policy::match_name( argv_traverser& tr ) const
-{
-    if( !tr.match_front( p_name.get() ) )
-        return false;
-
-    tr.trim( p_name->size() );
-    return true;
-}
-
-//____________________________________________________________________________//
-    
-BOOST_RT_PARAM_INLINE bool
-basic_naming_policy::match_separator( argv_traverser& tr, bool optional_value ) const
-{
-    if( p_separator->empty() ) {
-        if( !tr.token().is_empty() )
-            return false;
-
-        tr.trim( 1 );
-    }
-    else {
-        if( !tr.match_front( p_separator.get() ) ) {
-            // if parameter has optional value separator is optional as well
-            if( optional_value && ( tr.eoi() || tr.match_front( ' ' ) ) ) {
-                return true;
-            }
-            return false;
-        }
-
-        tr.trim( p_separator->size() );
-    }
-
-    return true;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-basic_naming_policy::matching( parameter const& p, argv_traverser& tr, bool ) const
-{
-    if( !match_prefix( tr ) )
-        return false;
-        
-    if( !match_name( tr ) )
-        return false;
-
-    if( !match_separator( tr, p.p_optional_value ) )
-        return false;
-
-    return true;
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_ID_POLICY_IPP_062904GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/iface/argument_factory.hpp b/SRC/Boost/boost/test/utils/runtime/cla/iface/argument_factory.hpp
deleted file mode 100755
index 9ca7f0d..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/iface/argument_factory.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : defines interface for argument_factory
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
-#define BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/fwd.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************                argument_factory              ************** //
-// ************************************************************************** //
-// another name can be argument production policy
-
-class argument_factory {
-public:
-    // Argument factory interface
-    virtual argument_ptr produce_using( parameter& p, argv_traverser& tr ) = 0;  /// produce argument based on input
-    virtual argument_ptr produce_using( parameter& p, parser const& )      = 0;  /// produce argument based on internal generator and/or values of other parameters
-    virtual void         argument_usage_info( format_stream& fs )          = 0;  /// argument value format information
-protected:
-    BOOST_TEST_PROTECTED_VIRTUAL ~argument_factory() {}
-};
-
-} // namespace boost
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace cla
-
-#endif // BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/iface/id_policy.hpp b/SRC/Boost/boost/test/utils/runtime/cla/iface/id_policy.hpp
deleted file mode 100755
index ec52a8b..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/iface/id_policy.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : defines interface for identification_policy
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_IFACE_ID_POLICY_HPP_062604GER
-#define BOOST_RT_CLA_IFACE_ID_POLICY_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-
-// Boost.Test
-#include <boost/test/utils/class_properties.hpp>
-#include <boost/test/utils/rtti.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************             identification_policy            ************** //
-// ************************************************************************** //
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable:4244)
-#endif
-
-class identification_policy {
-public:
-    // Public properties
-    unit_test::readwrite_property<rtti::id_t>    p_type_id;
-
-    // Policy interface
-    virtual bool    responds_to( cstring name ) const = 0;
-    virtual cstring id_2_report() const = 0;
-    virtual void    usage_info( format_stream& fs ) const = 0;
-    virtual bool    matching( parameter const& p, argv_traverser& tr, bool primary ) const = 0;
-
-    virtual bool    conflict_with( identification_policy const& ) const = 0;
-
-protected:
-    // Constructor
-    explicit        identification_policy( rtti::id_t dyn_type )
-    : p_type_id( dyn_type )
-    {}
-    BOOST_TEST_PROTECTED_VIRTUAL ~identification_policy() {}
-};
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_IFACE_ID_POLICY_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/modifier.hpp b/SRC/Boost/boost/test/utils/runtime/cla/modifier.hpp
deleted file mode 100755
index 53220cf..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/modifier.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : parameter modifiers
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_MODIFIER_HPP_062604GER
-#define BOOST_RT_CLA_MODIFIER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-// Boost.Test
-#include <boost/test/utils/named_params.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************         environment variable modifiers       ************** //
-// ************************************************************************** //
-
-namespace {
-
-nfp::typed_keyword<bool,struct optional_t>              optional_m;
-nfp::named_parameter<bool,optional_t,bool>              optional( true );
-nfp::typed_keyword<bool,struct required_t>              required_m;
-nfp::named_parameter<bool,required_t,bool>              required( true );
-nfp::typed_keyword<bool,struct multiplicable_t>         multiplicable_m;
-nfp::named_parameter<bool,multiplicable_t,bool>         multiplicable( true );
-nfp::typed_keyword<bool,struct guess_name_t>            guess_name_m;
-nfp::named_parameter<bool,guess_name_t,bool>            guess_name( true );
-nfp::typed_keyword<bool,struct ignore_mismatch_t>       ignore_mismatch_m;
-nfp::named_parameter<bool,ignore_mismatch_t,bool>       ignore_mismatch( true );
-nfp::typed_keyword<bool,struct optional_value_t>        optional_value_m;
-nfp::named_parameter<bool,optional_value_t,bool>        optional_value( true );
-
-nfp::typed_keyword<char_type,struct input_separator_t>  input_separator;
-nfp::typed_keyword<cstring,struct prefix_t>             prefix;
-nfp::typed_keyword<cstring,struct name_t>               name;
-nfp::typed_keyword<cstring,struct separator_t>          separator;
-nfp::typed_keyword<cstring,struct description_t>        description;
-nfp::typed_keyword<cstring,struct refer_to_t>           default_refer_to;
-
-nfp::keyword<struct default_value_t>                    default_value;
-nfp::keyword<struct handler_t>                          handler;
-nfp::keyword<struct interpreter_t>                      interpreter;
-nfp::keyword<struct assign_to_t>                        assign_to;
-
-} // local namespace
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_MODIFIER_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/named_parameter.hpp b/SRC/Boost/boost/test/utils/runtime/cla/named_parameter.hpp
deleted file mode 100755
index 5868cdb..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/named_parameter.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : defines model of named parameter
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_NAMED_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_NAMED_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/basic_parameter.hpp>
-#include <boost/test/utils/runtime/cla/id_policy.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************              string_name_policy              ************** //
-// ************************************************************************** //
-
-class string_name_policy : public basic_naming_policy {
-public:
-    // Constructor
-    string_name_policy();
-    BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~string_name_policy() {}
-
-    // policy interface
-    virtual bool    responds_to( cstring name ) const;
-    virtual bool    conflict_with( identification_policy const& ) const;
-
-    // Accept modifier
-    template<typename Modifier>
-    void            accept_modifier( Modifier const& m )
-    {
-        basic_naming_policy::accept_modifier( m );
-
-        if( m.has( guess_name_m ) )
-            m_guess_name = true;
-    }
-
-private:
-    // Naming policy interface
-    virtual bool    match_name( argv_traverser& tr ) const;
-
-    // Data members
-    bool            m_guess_name;
-};
-
-// ************************************************************************** //
-// **************         runtime::cla::named_parameter        ************** //
-// ************************************************************************** //
-
-template<typename T>
-class named_parameter_t : public basic_parameter<T,string_name_policy> {
-    typedef basic_parameter<T,string_name_policy> base;
-public:
-    // Constructors
-    explicit    named_parameter_t( cstring name ) : base( name ) {}
-};
-
-//____________________________________________________________________________//
-
-BOOST_RT_CLA_NAMED_PARAM_GENERATORS( named_parameter )
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-#  define BOOST_RT_PARAM_INLINE inline
-#  include <boost/test/utils/runtime/cla/named_parameter.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_NAMED_PARAMETER_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/named_parameter.ipp b/SRC/Boost/boost/test/utils/runtime/cla/named_parameter.ipp
deleted file mode 100755
index 4c2ec4e..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/named_parameter.ipp
+++ /dev/null
@@ -1,129 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : implements model of named parameter
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_NAMED_PARAMETER_IPP_062904GER
-#define BOOST_RT_CLA_NAMED_PARAMETER_IPP_062904GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/named_parameter.hpp>
-#include <boost/test/utils/runtime/cla/char_parameter.hpp>
-
-// Boost.Test
-#include <boost/test/utils/algorithm.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************              string_name_policy              ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE 
-string_name_policy::string_name_policy()
-: basic_naming_policy( rtti::type_id<string_name_policy>() )
-, m_guess_name( false )
-{
-    assign_op( p_prefix.value, BOOST_RT_PARAM_CSTRING_LITERAL( "-" ), 0 );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-string_name_policy::responds_to( cstring name ) const
-{
-    std::pair<cstring::iterator,dstring::const_iterator> mm_pos;
-
-    mm_pos = unit_test::mismatch( name.begin(), name.end(), p_name->begin(), p_name->end() );
-
-    return mm_pos.first == name.end() && (m_guess_name || (mm_pos.second == p_name->end()) );
-}
-
-//____________________________________________________________________________//
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable:4244)
-#endif
-
-BOOST_RT_PARAM_INLINE bool
-string_name_policy::conflict_with( identification_policy const& id ) const
-{
-    if( id.p_type_id == p_type_id ) {
-        string_name_policy const& snp = static_cast<string_name_policy const&>( id );
-
-        if( p_name->empty() || snp.p_name->empty() )
-            return false;
-
-        if( p_prefix != snp.p_prefix )
-            return false;
-
-        std::pair<dstring::const_iterator,dstring::const_iterator> mm_pos =
-            unit_test::mismatch( p_name->begin(), p_name->end(), snp.p_name->begin(), snp.p_name->end() );
-
-        return mm_pos.first != p_name->begin()                              &&  // there is common substring
-                ((m_guess_name    && (mm_pos.second == snp.p_name->end()) ) ||  // that match other guy and I am guessing
-                (snp.m_guess_name && (mm_pos.first  == p_name->end()) ));       // or me and the other guy is
-    }
-    
-    if( id.p_type_id == rtti::type_id<char_name_policy>() ) {
-        char_name_policy const& cnp = static_cast<char_name_policy const&>( id );
-
-        return m_guess_name                 && 
-               (p_prefix == cnp.p_prefix)   && 
-               unit_test::first_char( cstring( p_name ) ) == unit_test::first_char( cstring( cnp.p_name ) );
-    }
-    
-    return false;    
-}
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE bool
-string_name_policy::match_name( argv_traverser& tr ) const
-{
-    if( !m_guess_name )
-        return basic_naming_policy::match_name( tr );
-
-    cstring in = tr.input();
-
-    std::pair<cstring::iterator,dstring::const_iterator> mm_pos;
-    
-    mm_pos = unit_test::mismatch( in.begin(), in.end(), p_name->begin(), p_name->end() );
-
-    if( mm_pos.first == in.begin() )
-        return false;
-
-    tr.trim( mm_pos.first - in.begin() );
-
-    return true;
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_NAMED_PARAMETER_IPP_062904GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/parameter.hpp b/SRC/Boost/boost/test/utils/runtime/cla/parameter.hpp
deleted file mode 100755
index df2ed51..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/parameter.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : defines model of formal parameter
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/parameter.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-#include <boost/test/utils/runtime/cla/modifier.hpp>
-#include <boost/test/utils/runtime/cla/iface/argument_factory.hpp>
-#include <boost/test/utils/runtime/cla/iface/id_policy.hpp>
-
-// Boost.Test
-#include <boost/test/utils/rtti.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************            runtime::cla::parameter           ************** //
-// ************************************************************************** //
-
-class parameter : public BOOST_RT_PARAM_NAMESPACE::parameter {
-public:
-    parameter( identification_policy& ID, argument_factory& F, bool optional_value = false )
-    : p_optional( false )
-    , p_multiplicable( false )
-    , p_optional_value( optional_value )
-    , m_id_policy( ID )
-    , m_arg_factory( F )
-    {}
-
-    // Destructor
-    virtual         ~parameter()                                {}
-
-    unit_test::readwrite_property<bool>      p_optional;
-    unit_test::readwrite_property<bool>      p_multiplicable;
-    unit_test::readwrite_property<bool>      p_optional_value;
-    unit_test::readwrite_property<dstring>   p_description;
-
-    // parameter properties modification
-    template<typename Modifier>
-    void            accept_modifier( Modifier const& m )
-    {
-        if( m.has( optional_m ) )
-            p_optional.value = true;
-
-        if( m.has( required_m ) )
-            p_optional.value = false;
-
-        if( m.has( multiplicable_m ) )
-            p_multiplicable.value = true;
-
-        if( m.has( optional_value_m ) )
-            p_optional_value.value = true;
-
-        nfp::optionally_assign( p_description.value, m, description );
-    }
-
-    // access methods
-    bool            has_argument() const                        { return m_actual_argument; }
-    argument const& actual_argument() const                     { return *m_actual_argument; }
-    argument_ptr    actual_argument()                           { return m_actual_argument; }
-
-
-    // identification interface
-    bool            responds_to( cstring name ) const           { return m_id_policy.responds_to( name ); }
-    bool            conflict_with( parameter const& p ) const
-    {
-        return (id_2_report() == p.id_2_report() && !id_2_report().is_empty())  ||
-               m_id_policy.conflict_with( p.m_id_policy )                       || 
-               ((m_id_policy.p_type_id != p.m_id_policy.p_type_id) && p.m_id_policy.conflict_with( m_id_policy ));
-    }
-    cstring         id_2_report() const                         { return m_id_policy.id_2_report(); }
-    void            usage_info( format_stream& fs ) const
-    { 
-        m_id_policy.usage_info( fs );
-        if( p_optional_value )
-            fs << BOOST_RT_PARAM_LITERAL( '[' );
-
-        m_arg_factory.argument_usage_info( fs );
-
-        if( p_optional_value )
-            fs << BOOST_RT_PARAM_LITERAL( ']' );
-    }
-
-    // argument match/produce based on input
-    bool            matching( argv_traverser& tr, bool primary ) const
-    {
-        return m_id_policy.matching( *this, tr, primary );
-    }
-
-    // argument production based on different source
-    void            produce_argument( argv_traverser& tr )
-    {
-        m_id_policy.matching( *this, tr, true ); // !! can we save this position somehow
-        m_actual_argument = m_arg_factory.produce_using( *this, tr );
-    }
-    void            produce_argument( parser const& p )
-    {
-        m_actual_argument = m_arg_factory.produce_using( *this, p );
-    }
-
-private:
-    //Data members
-    identification_policy&  m_id_policy;
-    argument_factory&       m_arg_factory;
-    argument_ptr            m_actual_argument;
-};
-
-//____________________________________________________________________________//
-
-template<typename Parameter,typename Modifier>
-inline shared_ptr<Parameter>
-operator-( shared_ptr<Parameter> p, Modifier const& m )
-{
-    p->accept_modifier( m );
-
-    return p;
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_PARAMETER_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/parser.hpp b/SRC/Boost/boost/test/utils/runtime/cla/parser.hpp
deleted file mode 100755
index 47e90ed..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/parser.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : defines parser - public interface for CLA parsing and accessing
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_PARSER_HPP_062604GER
-#define BOOST_RT_CLA_PARSER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/argument.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-#include <boost/test/utils/runtime/cla/modifier.hpp>
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-
-// Boost
-#include <boost/optional.hpp>
-
-// STL
-#include <list>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************             runtime::cla::parser             ************** //
-// ************************************************************************** //
-
-namespace cla_detail {
-
-template<typename Modifier>
-class global_mod_parser {
-public:
-    global_mod_parser( parser& p, Modifier const& m )
-    : m_parser( p )
-    , m_modifiers( m )
-    {}
-
-    template<typename Param>
-    global_mod_parser const&
-    operator<<( shared_ptr<Param> param ) const
-    {
-        param->accept_modifier( m_modifiers );
-
-        m_parser << param;
-
-        return *this;
-    }
-
-private:
-    // Data members;
-    parser&             m_parser;
-    Modifier const&     m_modifiers;
-};
-
-}
-
-// ************************************************************************** //
-// **************             runtime::cla::parser             ************** //
-// ************************************************************************** //
-
-class parser {
-public:
-    typedef std::list<parameter_ptr>::const_iterator param_iterator;
-
-    // Constructor
-    explicit            parser( cstring program_name = cstring() );
-
-    // parameter list construction interface
-    parser&             operator<<( parameter_ptr param );
-
-    // parser and global parameters modifiers
-    template<typename Modifier>
-    cla_detail::global_mod_parser<Modifier>
-    operator-( Modifier const& m )
-    {
-        nfp::optionally_assign( m_traverser.p_separator.value, m, input_separator );
-        nfp::optionally_assign( m_traverser.p_ignore_mismatch.value, m, ignore_mismatch_m );
-
-        return cla_detail::global_mod_parser<Modifier>( *this, m );
-    }
-
-    // input processing method
-    void                parse( int& argc, char_type** argv );
-
-    // parameters access
-    param_iterator      first_param() const;
-    param_iterator      last_param() const;
-
-    // arguments access
-    const_argument_ptr  operator[]( cstring string_id ) const;
-    cstring             get( cstring string_id ) const;    
-
-    template<typename T>
-    T const&            get( cstring string_id ) const
-    {
-        return arg_value<T>( valid_argument( string_id ) );
-    }
-
-    template<typename T>
-    void                get( cstring string_id, boost::optional<T>& res ) const
-    {
-        const_argument_ptr actual_arg = (*this)[string_id];
-
-        if( actual_arg )
-            res = arg_value<T>( *actual_arg );
-        else
-            res.reset();
-    }
-
-    // help/usage
-    void                usage( out_stream& ostr );
-    void                help(  out_stream& ostr );
-
-private:
-    argument const&     valid_argument( cstring string_id ) const;
-
-    // Data members
-    argv_traverser              m_traverser;
-    std::list<parameter_ptr>    m_parameters;
-    dstring                     m_program_name;
-};
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-#  define BOOST_RT_PARAM_INLINE inline
-#  include <boost/test/utils/runtime/cla/parser.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_PARSER_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/parser.ipp b/SRC/Boost/boost/test/utils/runtime/cla/parser.ipp
deleted file mode 100755
index f8877a9..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/parser.ipp
+++ /dev/null
@@ -1,258 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : implements parser - public interface for CLA parsing and accessing
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_PARSER_IPP_062904GER
-#define BOOST_RT_CLA_PARSER_IPP_062904GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/trace.hpp>
-#include <boost/test/utils/runtime/argument.hpp>
-
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-#include <boost/test/utils/runtime/cla/parameter.hpp>
-#include <boost/test/utils/runtime/cla/modifier.hpp>
-#include <boost/test/utils/runtime/cla/validation.hpp>
-#include <boost/test/utils/runtime/cla/parser.hpp>
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/io.hpp>
-#include <boost/test/utils/foreach.hpp>
-
-// Boost
-#include <boost/lexical_cast.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************             runtime::cla::parser             ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE
-parser::parser( cstring program_name )
-{
-    assign_op( m_program_name, program_name, 0 );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE parser::param_iterator
-parser::first_param() const
-{
-    return m_parameters.begin();
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE parser::param_iterator
-parser::last_param() const
-{
-    return m_parameters.end();
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE argument const&
-parser::valid_argument( cstring string_id ) const
-{
-    const_argument_ptr arg = (*this)[string_id];
-
-    BOOST_RT_PARAM_VALIDATE_LOGIC( !!arg, "Actual argument for parameter " << string_id << " is not present" );
-
-    return *arg;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE parser&
-parser::operator<<( parameter_ptr new_param )
-{
-    BOOST_TEST_FOREACH( parameter_ptr, old_param, m_parameters ) {
-        BOOST_RT_PARAM_VALIDATE_LOGIC( !old_param->conflict_with( *new_param ),
-            BOOST_RT_PARAM_LITERAL( "Definition of parameter " )                << new_param->id_2_report() << 
-            BOOST_RT_PARAM_LITERAL( " conflicts with defintion of parameter " ) << old_param->id_2_report() );
-    }
-
-    m_parameters.push_back( new_param );
-
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-parser::parse( int& argc, char_type** argv )
-{
-    if( m_program_name.empty() ) {
-        m_program_name.assign( argv[0] );
-        dstring::size_type pos = m_program_name.find_last_of( BOOST_RT_PARAM_LITERAL( "/\\" ) );
-
-        if( pos != static_cast<dstring::size_type>(cstring::npos) )
-            m_program_name.erase( 0, pos+1 );
-    }
-
-    m_traverser.init( argc, argv );
-
-    try {
-        while( !m_traverser.eoi() ) {
-            parameter_ptr found_param;
-
-            BOOST_RT_PARAM_TRACE( "Total " << m_parameters.size() << " parameters registered" );
-
-            BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
-                BOOST_RT_PARAM_TRACE( "Try parameter " << curr_param->id_2_report() );
-
-                if( curr_param->matching( m_traverser, !found_param ) ) {
-                    BOOST_RT_PARAM_TRACE( "Match found" );
-                    BOOST_RT_CLA_VALIDATE_INPUT( !found_param, (m_traverser.rollback(),m_traverser), "Ambiguous input" );
-
-                    found_param = curr_param;
-                }
-
-                m_traverser.rollback();
-            }
-
-            if( !found_param ) {
-                BOOST_RT_PARAM_TRACE( "No match found" );
-                BOOST_RT_CLA_VALIDATE_INPUT( m_traverser.handle_mismatch(), m_traverser,
-                                             BOOST_RT_PARAM_LITERAL( "Unexpected input" ) );
-
-                continue;
-            }
-
-            BOOST_RT_PARAM_TRACE( "Parse argument value" );
-            found_param->produce_argument( m_traverser );
-
-            m_traverser.commit();
-        }
-
-        BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
-            if( !curr_param->p_optional && !curr_param->actual_argument() ) {
-                curr_param->produce_argument( *this );
-
-                BOOST_RT_PARAM_VALIDATE_LOGIC( curr_param->actual_argument(),
-                    BOOST_RT_PARAM_LITERAL( "Required argument for parameter " ) << curr_param->id_2_report()
-                        << BOOST_RT_PARAM_LITERAL( " is missing" ) );
-            }
-        }
-    }
-    catch( bad_lexical_cast const& ) {
-        BOOST_RT_PARAM_REPORT_LOGIC_ERROR( 
-            BOOST_RT_PARAM_LITERAL( "String to value convertion error during input parsing" ) );
-    }
-
-    m_traverser.remainder( argc, argv );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE const_argument_ptr
-parser::operator[]( cstring string_id ) const
-{
-    parameter_ptr found_param;
-
-    BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
-        if( curr_param->responds_to( string_id ) ) {
-            BOOST_RT_PARAM_VALIDATE_LOGIC( !found_param,
-                                           BOOST_RT_PARAM_LITERAL( "Ambiguous parameter string id: " ) << string_id );
-
-            found_param = curr_param;
-        }
-    }
-
-    return found_param ? found_param->actual_argument() : argument_ptr();
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE cstring
-parser::get( cstring string_id ) const
-{
-    return get<cstring>( string_id );
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-parser::usage( out_stream& ostr )
-{
-    if( m_program_name.empty() )
-        assign_op( m_program_name, BOOST_RT_PARAM_CSTRING_LITERAL( "<program>" ), 0 );
-
-    format_stream fs;
-
-    fs << m_program_name;
-
-    BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
-        fs << BOOST_RT_PARAM_LITERAL( ' ' );
-
-        if( curr_param->p_optional )
-            fs << BOOST_RT_PARAM_LITERAL( '[' );
-
-        curr_param->usage_info( fs );
-
-        if( curr_param->p_optional )
-            fs << BOOST_RT_PARAM_LITERAL( ']' );
-
-        if( curr_param->p_multiplicable ) {
-            fs << BOOST_RT_PARAM_CSTRING_LITERAL( " ... " );
-            
-            if( curr_param->p_optional )
-                fs << BOOST_RT_PARAM_LITERAL( '[' );
-
-            curr_param->usage_info( fs );
-
-            if( curr_param->p_optional )
-                fs << BOOST_RT_PARAM_LITERAL( ']' );
-        }
-    }
-
-    ostr << BOOST_RT_PARAM_CSTRING_LITERAL( "Usage:\n" ) << fs.str() << std::endl;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-parser::help( out_stream& ostr )
-{
-    usage( ostr );
-
-    bool need_where = true;
-
-    BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
-        if( curr_param->p_description->empty() )
-            continue;
-
-        if( need_where ) {
-            ostr << BOOST_RT_PARAM_CSTRING_LITERAL( "where:\n" );
-            need_where = false;
-        }
-
-        ostr << curr_param->id_2_report() << BOOST_RT_PARAM_CSTRING_LITERAL( " - " ) << curr_param->p_description << std::endl;
-    }
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_PARSER_IPP_062904GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/typed_parameter.hpp b/SRC/Boost/boost/test/utils/runtime/cla/typed_parameter.hpp
deleted file mode 100755
index 9a0bda2..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/typed_parameter.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : generic typed parameter model
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_TYPED_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_TYPED_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-
-#include <boost/test/utils/runtime/cla/parameter.hpp>
-#include <boost/test/utils/runtime/cla/argument_factory.hpp>
-
-// Boost.Test
-#include <boost/test/utils/rtti.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************         runtime::cla::typed_parameter        ************** //
-// ************************************************************************** //
-
-template<typename T>
-class typed_parameter : public cla::parameter {
-public:
-    explicit typed_parameter( identification_policy& ID ) 
-    : cla::parameter( ID, m_arg_factory, rtti::type_id<T>() == rtti::type_id<bool>() ) 
-    {}
-
-    // parameter properties modification
-    template<typename Modifier>
-    void    accept_modifier( Modifier const& m )
-    {
-        cla::parameter::accept_modifier( m );
-
-        m_arg_factory.accept_modifier( m );
-
-        BOOST_RT_PARAM_VALIDATE_LOGIC( !p_optional || !m_arg_factory.m_value_generator,
-            BOOST_RT_PARAM_LITERAL( "can't define a value generator for optional parameter " ) << id_2_report() );
-    }
-
-private:
-    // Data members
-    typed_argument_factory<T>   m_arg_factory;
-};
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_TYPED_PARAMETER_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/validation.hpp b/SRC/Boost/boost/test/utils/runtime/cla/validation.hpp
deleted file mode 100755
index 09c7054..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/validation.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : input validation helpers definition
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_VALIDATION_HPP_062604GER
-#define BOOST_RT_CLA_VALIDATION_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************       runtime::cla::report_input_error       ************** //
-// ************************************************************************** //
-
-void report_input_error( argv_traverser const& tr, format_stream& msg );
-
-//____________________________________________________________________________//
-
-#define BOOST_RT_CLA_VALIDATE_INPUT( b, tr, msg ) \
-    if( b ) ; else ::boost::BOOST_RT_PARAM_NAMESPACE::cla::report_input_error( tr, format_stream().ref() << msg )
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-#  define BOOST_RT_PARAM_INLINE inline
-#  include <boost/test/utils/runtime/cla/validation.ipp>
-
-#endif
-
-#endif // BOOST_RT_CLA_VALIDATION_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/validation.ipp b/SRC/Boost/boost/test/utils/runtime/cla/validation.ipp
deleted file mode 100755
index 81203ff..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/validation.ipp
+++ /dev/null
@@ -1,65 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : input validation helpers implementation
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_VALIDATION_IPP_070604GER
-#define BOOST_RT_CLA_VALIDATION_IPP_070604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/argv_traverser.hpp>
-#include <boost/test/utils/runtime/cla/validation.hpp>
-#include <boost/test/utils/runtime/validation.hpp> // BOOST_RT_PARAM_NAMESPACE::logic_error
-
-// Boost
-#include <boost/test/utils/basic_cstring/io.hpp>
-
-// STL
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-// ************************************************************************** //
-// **************           runtime::cla::validation           ************** //
-// ************************************************************************** //
-
-BOOST_RT_PARAM_INLINE void
-report_input_error( argv_traverser const& tr, format_stream& msg )
-{
-    if( tr.eoi() )
-        msg << BOOST_RT_PARAM_LITERAL( " at the end of input" );
-    else {
-        msg << BOOST_RT_PARAM_LITERAL( " in the following position: " );
-
-        if( tr.input().size() > 5 )
-            msg << tr.input().substr( 0, 5 ) << BOOST_RT_PARAM_LITERAL( "..." );
-        else
-            msg << tr.input();
-    }
-
-    throw BOOST_RT_PARAM_NAMESPACE::logic_error( msg.str() );
-}
-
-//____________________________________________________________________________//
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_VALIDATION_IPP_070604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/value_generator.hpp b/SRC/Boost/boost/test/utils/runtime/cla/value_generator.hpp
deleted file mode 100755
index d6f142a..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/value_generator.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : specific value generators
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_VALUE_GENERATOR_HPP_062604GER
-#define BOOST_RT_CLA_VALUE_GENERATOR_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-#include <boost/test/utils/runtime/cla/parser.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-namespace rt_cla_detail {
-
-// ************************************************************************** //
-// **************        runtime::cla::const_generator         ************** //
-// ************************************************************************** //
-
-template<typename T>
-class const_generator {
-public:
-    // Constructor
-    explicit    const_generator( T const& t ) : m_const_value( t ) {}
-
-    // generator interface
-    void        operator()( parser const&, boost::optional<T>& t ) const   { t = m_const_value; }
-
-private:
-    // Data members
-    T           m_const_value;
-};
-
-// ************************************************************************** //
-// **************         runtime::cla::ref_generator          ************** //
-// ************************************************************************** //
-
-template<typename T>
-class ref_generator {
-public:
-    // Constructor
-    explicit    ref_generator( cstring ref_id ) : m_ref_id( ref_id ) {}
-
-    // generator interface
-    void        operator()( parser const& p, boost::optional<T>& t ) const
-    {
-        p.get( m_ref_id, t );
-    }
-
-private:
-    // Data members
-    cstring     m_ref_id;
-};
-
-//____________________________________________________________________________//
-
-} // namespace rt_cla_detail
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_VALUE_GENERATOR_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/cla/value_handler.hpp b/SRC/Boost/boost/test/utils/runtime/cla/value_handler.hpp
deleted file mode 100755
index b61cf2b..0000000
--- a/SRC/Boost/boost/test/utils/runtime/cla/value_handler.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : specific value handlers
-// ***************************************************************************
-
-#ifndef BOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
-#define BOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#include <boost/test/utils/runtime/cla/fwd.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace cla {
-
-namespace rt_cla_detail {
-
-// ************************************************************************** //
-// **************            runtime::cla::assigner            ************** //
-// ************************************************************************** //
-
-template<typename T>
-class assigner {
-public:
-    // Constructor
-    explicit    assigner( T& loc ) : m_target( loc )    {}
-
-    // value handler implementation
-    void        operator()( parameter const&, T& t )  { m_target = t; }
-
-private:
-    // Data members
-    T&          m_target;
-};
-
-} // namespace rt_cla_detail
-
-} // namespace cla
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/config.hpp b/SRC/Boost/boost/test/utils/runtime/config.hpp
deleted file mode 100755
index 89ed111..0000000
--- a/SRC/Boost/boost/test/utils/runtime/config.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : Runtime.Param library configuration
-// ***************************************************************************
-
-#ifndef BOOST_RT_CONFIG_HPP_062604GER
-#define BOOST_RT_CONFIG_HPP_062604GER
-
-// Boost
-#include <boost/config.hpp>
-#ifdef BOOST_MSVC
-# pragma warning(disable: 4511) // copy constructor could not be generated
-# pragma warning(disable: 4512) // assignment operator could not be generated
-# pragma warning(disable: 4181) // qualifier applied to reference type; ignored
-# pragma warning(disable: 4675) // resolved overload was found by argument-dependent lookup
-#endif
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-#include <boost/test/utils/wrap_stringstream.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp> // operator<<(boost::runtime::cstring)
-
-// STL
-#include <string>
-#include <cstdlib>
-
-//____________________________________________________________________________//
-
-#ifndef BOOST_RT_PARAM_CUSTOM_STRING
-#  ifndef BOOST_RT_PARAM_WIDE_STRING
-#    define BOOST_RT_PARAM_NAMESPACE                            runtime
-#  else
-#    define BOOST_RT_PARAM_NAMESPACE                            wide_runtime
-#  endif
-#endif
-
-#ifdef __SUNPRO_CC
-extern int putenv(char*);
-#endif
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-#ifndef BOOST_RT_PARAM_CUSTOM_STRING
-#  ifndef BOOST_RT_PARAM_WIDE_STRING
-
-typedef char                                                    char_type;
-typedef std::string                                             dstring;
-typedef unit_test::const_string                                 cstring;
-typedef unit_test::literal_string                               literal_cstring;
-typedef wrap_stringstream                                       format_stream;
-
-#ifdef BOOST_CLASSIC_IOSTREAMS
-typedef std::ostream                                            out_stream;
-#else
-typedef std::basic_ostream<char_type>                           out_stream;
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4996) // putenv
-#endif
-
-#ifndef UNDER_CE
-#if defined(__COMO__) && 0
-inline void
-putenv_impl( cstring name, cstring value )
-{
-    using namespace std;
-    // !! this may actually fail. What should we do?
-    setenv( name.begin(), value.begin(), 1 );
-}
-#else
-inline void
-putenv_impl( cstring name, cstring value )
-{
-    format_stream fs;
-
-    fs << name << '=' << value;
-
-    // !! this may actually fail. What should we do?
-    // const_cast is used to satisfy putenv interface
-    using namespace std;
-    putenv( const_cast<char*>( fs.str().c_str() ) );
-}
-#endif
-#endif
-
-#ifdef BOOST_MSVC 
-#pragma warning(pop) 
-#endif 
-
-#define BOOST_RT_PARAM_LITERAL( l ) l
-#define BOOST_RT_PARAM_CSTRING_LITERAL( l ) cstring( l, sizeof( l ) - 1 )
-#define BOOST_RT_PARAM_GETENV getenv
-#define BOOST_RT_PARAM_PUTENV ::boost::BOOST_RT_PARAM_NAMESPACE::putenv_impl
-#define BOOST_RT_PARAM_EXCEPTION_INHERIT_STD
-
-//____________________________________________________________________________//
-
-#  else
-
-typedef wchar_t                                                 char_type;
-typedef std::basic_string<char_type>                            dstring;
-typedef unit_test::basic_cstring<wchar_t const>                 cstring;
-typedef const unit_test::basic_cstring<wchar_t const>           literal_cstring;
-typedef wrap_wstringstream                                      format_stream;
-typedef std::wostream                                           out_stream;
-
-#ifndef UNDER_CE
-inline void
-putenv_impl( cstring name, cstring value )
-{
-    format_stream fs;
-
-    fs << name << '=' << value;
-
-    // !! this may actually fail. What should we do?
-    // const_cast is used to satisfy putenv interface
-    using namespace std;
-    wputenv( const_cast<wchar_t*>( fs.str().c_str() ) );
-}
-#endif
-
-#define BOOST_RT_PARAM_LITERAL( l ) L ## l
-#define BOOST_RT_PARAM_CSTRING_LITERAL( l ) cstring( L ## l, sizeof( L ## l )/sizeof(wchar_t) - 1 )
-#define BOOST_RT_PARAM_GETENV wgetenv
-#define BOOST_RT_PARAM_PUTENV putenv_impl
-
-#  endif
-#endif
-
-#ifdef __GNUC__
-#define BOOST_RT_PARAM_UNNEEDED_VIRTUAL virtual
-#else
-#define BOOST_RT_PARAM_UNNEEDED_VIRTUAL
-#endif
-
-//____________________________________________________________________________//
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_CONFIG_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/env/environment.hpp b/SRC/Boost/boost/test/utils/runtime/env/environment.hpp
deleted file mode 100755
index c63c282..0000000
--- a/SRC/Boost/boost/test/utils/runtime/env/environment.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : defines and implements inline model of program environment 
-// ***************************************************************************
-
-#ifndef BOOST_RT_ENV_ENVIRONMENT_HPP_062604GER
-#define BOOST_RT_ENV_ENVIRONMENT_HPP_062604GER
-
-#ifdef UNDER_CE
-#error Windows CE does not support environment variables.
-#endif
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/argument.hpp>
-#include <boost/test/utils/runtime/interpret_argument_value.hpp>
-
-#include <boost/test/utils/runtime/env/fwd.hpp>
-#include <boost/test/utils/runtime/env/modifier.hpp>
-#include <boost/test/utils/runtime/env/variable.hpp>
-
-// Boost.Test
-#include <boost/test/utils/callback.hpp>
-
-// Boost
-#include <boost/optional.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-// ************************************************************************** //
-// **************      runtime::environment implementation     ************** //
-// ************************************************************************** //
-
-namespace environment {
-
-namespace rt_env_detail {
-
-template<typename T, typename Modifiers>
-variable_data&
-init_new_var( cstring var_name, Modifiers m = nfp::no_params )
-{
-    rt_env_detail::variable_data& new_vd = new_var_record( var_name );
-
-    cstring str_value = sys_read_var( new_vd.m_var_name );
-
-    if( !str_value.is_empty() ) {
-        try {
-            boost::optional<T> value;
-
-            if( m.has( interpreter ) )
-                m[interpreter]( str_value, value );
-            else
-                interpret_argument_value( str_value, value, 0 );
-
-            if( !!value ) {
-                new_vd.m_value.reset( new typed_argument<T>( new_vd ) );
-
-                arg_value<T>( *new_vd.m_value ) = *value;
-            }
-        }
-        catch( ... ) { // !! could we do that
-            // !! should we report an error?
-        }
-    }
-
-    if( !new_vd.m_value && m.has( default_value ) ) {
-        new_vd.m_value.reset( new typed_argument<T>( new_vd ) );
-
-        nfp::optionally_assign( arg_value<T>( *new_vd.m_value ), m[default_value] );
-    }
-
-    nfp::optionally_assign( new_vd.m_global_id, m, global_id );
-
-    return new_vd;
-}
-
-//____________________________________________________________________________//
-
-} // namespace rt_env_detail
-
-} // namespace environment
-
-// ************************************************************************** //
-// **************             runtime::environment             ************** //
-// ************************************************************************** //
-
-namespace environment {
-
-    // variable access
-    variable_base
-    var( cstring var_name );
-
-    //________________________________________________________________________//
-
-    template<typename T>
-    inline variable<T>
-    var( cstring var_name )
-    {
-        rt_env_detail::variable_data* vd = rt_env_detail::find_var_record( var_name );
-
-        return environment::variable<T>( !vd ? rt_env_detail::init_new_var<T>( var_name, nfp::no_params ) : *vd );
-    }
-
-    //________________________________________________________________________//
-
-    template<typename T, typename Modifiers>
-    inline variable<T>
-    var( cstring var_name, Modifiers const& m )
-    {
-        rt_env_detail::variable_data* vd = rt_env_detail::find_var_record( var_name );
-
-        return environment::variable<T>( !vd ? rt_env_detail::init_new_var<T>( var_name, m ) : *vd );
-    }
-
-    //________________________________________________________________________//
-
-    // direct variable value access
-    inline cstring
-    get( cstring var_name )
-    {
-        return environment::var<cstring>( var_name ).value();
-    }
-
-    //________________________________________________________________________//
-
-    template<typename T>
-    inline T const&
-    get( cstring var_name )
-    {
-        return environment::var<T>( var_name ).value();
-    }
-
-    //________________________________________________________________________//
-
-    template<typename T>
-    inline void
-    get( cstring var_name, boost::optional<T>& res )
-    {
-        variable<T> const& v = environment::var<T>( var_name );
-        v.value( res );
-    }
-
-    //________________________________________________________________________//
-
-} // namespace environment
-
-namespace env = environment;
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#ifndef BOOST_RT_PARAM_OFFLINE
-
-#define BOOST_RT_PARAM_INLINE inline
-#include <boost/test/utils/runtime/env/environment.ipp>
-
-#endif
-
-#endif // BOOST_RT_ENV_ENVIRONMENT_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/env/environment.ipp b/SRC/Boost/boost/test/utils/runtime/env/environment.ipp
deleted file mode 100755
index c0ea674..0000000
--- a/SRC/Boost/boost/test/utils/runtime/env/environment.ipp
+++ /dev/null
@@ -1,125 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : implements model of program environment 
-// ***************************************************************************
-
-#ifndef BOOST_RT_ENV_ENVIRONMENT_IPP_062904GER
-#define BOOST_RT_ENV_ENVIRONMENT_IPP_062904GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/validation.hpp>
-
-#include <boost/test/utils/runtime/env/variable.hpp>
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/compare.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp>
-
-// STL
-#include <map>
-#include <list>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace environment {
-
-// ************************************************************************** //
-// **************             runtime::environment             ************** //
-// ************************************************************************** //
-
-namespace rt_env_detail {
-
-typedef std::map<cstring,rt_env_detail::variable_data> registry;
-typedef std::list<dstring> keys;
-
-BOOST_RT_PARAM_INLINE registry& s_registry()    { static registry instance; return instance; }
-BOOST_RT_PARAM_INLINE keys&     s_keys()        { static keys instance; return instance; }
-
-BOOST_RT_PARAM_INLINE variable_data&
-new_var_record( cstring var_name )
-{
-    // save the name in list of keys
-    s_keys().push_back( dstring() );
-    dstring& key = s_keys().back();
-    assign_op( key, var_name, 0 );
-
-    // create and return new record
-    variable_data& new_var_data = s_registry()[key];
-    
-    new_var_data.m_var_name = key;
-    
-    return new_var_data;
-}
-
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE variable_data*
-find_var_record( cstring var_name )
-{
-    registry::iterator it = s_registry().find( var_name );
-
-    return it == s_registry().end() ? 0 : &(it->second);
-}
-
-//____________________________________________________________________________//
-
-#ifdef BOOST_MSVC 
-#pragma warning(push) 
-#pragma warning(disable:4996) // getenv
-#endif
-
-BOOST_RT_PARAM_INLINE cstring
-sys_read_var( cstring var_name )
-{
-    using namespace std;
-    return BOOST_RT_PARAM_GETENV( var_name.begin() );
-}
-
-#ifdef BOOST_MSVC 
-#pragma warning(pop) 
-#endif
-//____________________________________________________________________________//
-
-BOOST_RT_PARAM_INLINE void
-sys_write_var( cstring var_name, format_stream& var_value )
-{
-    BOOST_RT_PARAM_PUTENV( var_name, cstring( var_value.str() ) );
-}
-
-//____________________________________________________________________________//
-
-} // namespace rt_env_detail
-
-BOOST_RT_PARAM_INLINE variable_base
-var( cstring var_name )
-{
-    rt_env_detail::variable_data* vd = rt_env_detail::find_var_record( var_name );
-
-    BOOST_RT_PARAM_VALIDATE_LOGIC( !!vd,
-                                   BOOST_RT_PARAM_LITERAL( "First access to the environment variable " ) 
-                                        << var_name << BOOST_RT_PARAM_LITERAL( " should be typed" ) );
-
-    return variable_base( *vd );
-}
-
-//____________________________________________________________________________//
-
-} // namespace environment
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_ENV_ENVIRONMENT_IPP_062904GER
diff --git a/SRC/Boost/boost/test/utils/runtime/env/fwd.hpp b/SRC/Boost/boost/test/utils/runtime/env/fwd.hpp
deleted file mode 100755
index 27fc22b..0000000
--- a/SRC/Boost/boost/test/utils/runtime/env/fwd.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : environment subsystem forward declarations
-// ***************************************************************************
-
-#ifndef BOOST_RT_ENV_FWD_HPP_062604GER
-#define BOOST_RT_ENV_FWD_HPP_062604GER
-
-#ifdef UNDER_CE
-#error Windows CE does not support environment variables.
-#endif
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace environment {
-
-class variable_base;
-variable_base var( cstring var_name );
-
-namespace rt_env_detail {
-
-struct variable_data;
-
-variable_data&  new_var_record( cstring var_name );
-variable_data*  find_var_record( cstring var_name );
-
-cstring         sys_read_var( cstring var_name );
-void            sys_write_var( cstring var_name, format_stream& var_value );
-
-}
-
-template <typename T> class variable;
-
-} // namespace environment
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_ENV_FWD_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/env/modifier.hpp b/SRC/Boost/boost/test/utils/runtime/env/modifier.hpp
deleted file mode 100755
index 509e0b3..0000000
--- a/SRC/Boost/boost/test/utils/runtime/env/modifier.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Use, modification, and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : defines variable modifiers
-// ***************************************************************************
-
-#ifndef BOOST_RT_ENV_MODIFIER_HPP_062604GER
-#define BOOST_RT_ENV_MODIFIER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-// Boost.Test
-#include <boost/test/utils/named_params.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace environment {
-
-// ************************************************************************** //
-// **************         environment variable modifiers       ************** //
-// ************************************************************************** //
-
-namespace {
-
-nfp::typed_keyword<cstring,struct global_id_t>   global_id;
-nfp::keyword<struct default_value_t>             default_value;
-nfp::keyword<struct interpreter_t>               interpreter;
-
-} // local namespace
-} // namespace environment
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_ENV_MODIFIER_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/env/variable.hpp b/SRC/Boost/boost/test/utils/runtime/env/variable.hpp
deleted file mode 100755
index 98fdd37..0000000
--- a/SRC/Boost/boost/test/utils/runtime/env/variable.hpp
+++ /dev/null
@@ -1,223 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 54633 $
-//
-//  Description : defines model of program environment variable
-// ***************************************************************************
-
-#ifndef BOOST_RT_ENV_VARIABLE_HPP_062604GER
-#define BOOST_RT_ENV_VARIABLE_HPP_062604GER
-
-#ifdef UNDER_CE
-#error Windows CE does not support environment variables.
-#endif
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/fwd.hpp>
-#include <boost/test/utils/runtime/parameter.hpp>
-#include <boost/test/utils/runtime/argument.hpp>
-
-#include <boost/test/utils/runtime/env/fwd.hpp>
-
-// Boost
-#include <boost/optional.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace environment {
-
-// ************************************************************************** //
-// **************      runtime::environment::variable_data     ************** //
-// ************************************************************************** //
-
-namespace rt_env_detail {
-
-struct variable_data : public runtime::parameter {
-    cstring         m_var_name;
-    dstring         m_global_id;
-    argument_ptr    m_value;
-};
-
-} // namespace rt_env_detail
-
-// ************************************************************************** //
-// **************     runtime::environment::variable_base      ************** //
-// ************************************************************************** //
-
-class variable_base {
-public:
-    explicit    variable_base( rt_env_detail::variable_data& data ) : m_data( &data ) {}
-
-    // arguments access
-    template<typename T>
-    T const&    value() const
-    {
-        return arg_value<T>( *m_data->m_value );
-    }
-
-    template<typename T>
-    void        value( boost::optional<T>& res ) const
-    {
-        if( has_value() )
-            res = arg_value<T>( *m_data->m_value );
-        else
-            res.reset();
-    }
-
-    bool        has_value() const   { return m_data->m_value; }
-    cstring     name() const        { return m_data->m_var_name; }
-
-protected:
-    // Data members
-    rt_env_detail::variable_data*  m_data;
-} ;
-
-// ************************************************************************** //
-// **************        runtime::environment::variable        ************** //
-// ************************************************************************** //
-
-template<typename T = cstring>
-class variable : public variable_base {
-public:
-    // Constructors
-    explicit    variable( cstring var_name );
-
-    template<typename Modifiers>
-    explicit    variable( cstring var_name, Modifiers const& m );
-
-    explicit    variable( rt_env_detail::variable_data& data ) 
-    : variable_base( data )                                 {}
-
-    // other variable assignment
-    void        operator=( variable const& v )              { m_data = v.m_data; }
-
-    // access methods
-    T const&    value() const                               { return variable_base::value<T>(); }
-
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206)) || \
-    BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0593))
-    template<typename T>
-    void        value( boost::optional<T>& res ) const      { variable_base::value( res ); }
-#else
-    using       variable_base::value;
-#endif
-
-    // Value assignment
-    template<typename V>
-    void        operator=( V const& v )
-    {
-        if( !has_value() )
-            m_data->m_value.reset( new typed_argument<T>( *m_data ) );
-
-        arg_value<T>( *m_data->m_value ) = v;
-
-        rt_env_detail::sys_write_var( m_data->m_var_name, format_stream().ref() << value() );
-    }
-}; // class variable
-
-//____________________________________________________________________________//
-
-template<typename CharT, typename Tr,typename T>
-inline std::basic_ostream<CharT,Tr>&
-operator<<( std::basic_ostream<CharT,Tr>& os, variable<T> const& v )
-{
-    os << v.name() << '=';
-
-    if( v.has_value() )
-        os << v.value();
-
-    return os;
-}
-
-//____________________________________________________________________________//
-
-template<typename T, typename V>
-inline bool
-operator==( variable<T> ev, V const& v )
-{
-    return ev.has_value() && ev.value() == v;
-}
-
-//____________________________________________________________________________//
-
-template<typename T, typename V>
-inline bool
-operator==( V const& v, variable<T> ev )
-{
-    return ev.has_value() && ev.value() == v;
-}
-
-//____________________________________________________________________________//
-
-template<typename T, typename V>
-inline bool
-operator!=( variable<T> ev, V const& v )
-{
-    return !ev.has_value() || ev.value() != v;
-}
-
-//____________________________________________________________________________//
-
-template<typename T, typename V>
-inline bool
-operator!=( V const& v, variable<T> ev )
-{
-    return !ev.has_value() || ev.value() != v;
-}
-
-//____________________________________________________________________________//
-
-} // namespace environment
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-// ************************************************************************** //
-// ************************************************************************** //
-// Implementation
-
-#include <boost/test/utils/runtime/env/environment.hpp>
-
-// ************************************************************************** //
-// **************        runtime::environment::variable        ************** //
-// ************************************************************************** //
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-namespace environment {
-
-template<typename T>
-variable<T>::variable( cstring var_name )
-: variable_base( environment::var<T>( var_name ) )
-{}
-
-//____________________________________________________________________________//
-
-template<typename T>
-template<typename Modifiers>
-variable<T>::variable( cstring var_name, Modifiers const& m )
-: variable_base( environment::var<T>( var_name, m ) )
-{}
-
-//____________________________________________________________________________//
-
-} // namespace environment
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_ENV_VARIABLE_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/fwd.hpp b/SRC/Boost/boost/test/utils/runtime/fwd.hpp
deleted file mode 100755
index ead2c02..0000000
--- a/SRC/Boost/boost/test/utils/runtime/fwd.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : global framework level forward declaration
-// ***************************************************************************
-
-#ifndef BOOST_RT_FWD_HPP_062604GER
-#define BOOST_RT_FWD_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-// Boost
-#include <boost/shared_ptr.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-class parameter;
-
-class argument;
-typedef shared_ptr<argument> argument_ptr;
-typedef shared_ptr<argument const> const_argument_ptr;
-
-template<typename T> class value_interpreter;
-template<typename T> class typed_argument;
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_FWD_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/interpret_argument_value.hpp b/SRC/Boost/boost/test/utils/runtime/interpret_argument_value.hpp
deleted file mode 100755
index af97e0f..0000000
--- a/SRC/Boost/boost/test/utils/runtime/interpret_argument_value.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : default algorithms for string to specific type convertions
-// ***************************************************************************
-
-#ifndef BOOST_RT_INTERPRET_ARGUMENT_VALUE_HPP_062604GER
-#define BOOST_RT_INTERPRET_ARGUMENT_VALUE_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-#include <boost/test/utils/runtime/trace.hpp>
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/io.hpp>
-#include <boost/test/utils/basic_cstring/compare.hpp>
-
-// Boost
-#include <boost/optional.hpp>
-#include <boost/lexical_cast.hpp>
-
-// STL
-// !! could we eliminate these includes?
-#include <list>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-// ************************************************************************** //
-// **************       runtime::interpret_argument_value      ************** //
-// ************************************************************************** //
-// returns true if source is used false otherwise
-
-// generic case
-template<typename T>
-struct interpret_argument_value_impl {
-    static bool _( cstring source, boost::optional<T>& res )
-    {
-        BOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<" << typeid(T).name() << ">" );
-
-        res = lexical_cast<T>( source );
-
-        BOOST_RT_PARAM_TRACE( "String " << source << " is interpreted as " << *res );
-        return true;
-    }
-};
-
-
-//____________________________________________________________________________//
-
-// dstring case
-template<>
-struct interpret_argument_value_impl<dstring> {
-    static bool _( cstring source, boost::optional<dstring>& res )
-    {
-        BOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<dstring>" );
-
-        res = dstring();
-        assign_op( *res, source, 0 );
-
-        return true;
-    }
-};
-
-//____________________________________________________________________________//
-
-// cstring case
-template<>
-struct interpret_argument_value_impl<cstring> {
-    static bool _( cstring source, boost::optional<cstring>& res )
-    {
-        BOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<cstring>" );
-
-        res = source;
-
-        return true;
-    }
-};
-
-//____________________________________________________________________________//
-
-// specialization for type bool
-template<>
-struct interpret_argument_value_impl<bool> {
-    static bool _( cstring source, boost::optional<bool>& res )
-    {
-        BOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<bool>" );
-
-        static literal_cstring YES( BOOST_RT_PARAM_CSTRING_LITERAL( "YES" ) );
-        static literal_cstring Y( BOOST_RT_PARAM_CSTRING_LITERAL( "Y" ) );
-        static literal_cstring NO( BOOST_RT_PARAM_CSTRING_LITERAL( "NO" ) );
-        static literal_cstring N( BOOST_RT_PARAM_CSTRING_LITERAL( "N" ) );
-        static literal_cstring one( BOOST_RT_PARAM_CSTRING_LITERAL( "1" ) );
-        static literal_cstring zero( BOOST_RT_PARAM_CSTRING_LITERAL( "0" ) );
-
-        source.trim();
-
-        if( case_ins_eq( source, YES ) || case_ins_eq( source, Y ) || case_ins_eq( source, one ) ) {
-            res = true;
-            return true;
-        }
-        else if( case_ins_eq( source, NO ) || case_ins_eq( source, N ) || case_ins_eq( source, zero ) ) {
-            res = false;
-            return true;
-        }
-        else {
-            res = true;
-            return false;
-        }
-    }
-};
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline bool
-interpret_argument_value( cstring source, boost::optional<T>& res, long )
-{
-    return interpret_argument_value_impl<T>::_( source, res );
-}
-
-//____________________________________________________________________________//
-
-// specialization for list of values
-template<typename T>
-inline bool
-interpret_argument_value( cstring source, boost::optional<std::list<T> >& res, int )
-{
-    BOOST_RT_PARAM_TRACE( "In interpret_argument_value<std::list<T>>" );
-
-    res = std::list<T>();
-
-    while( !source.is_empty() ) {
-        // !! should we use token_iterator
-        cstring::iterator single_value_end = std::find( source.begin(), source.end(), BOOST_RT_PARAM_LITERAL( ',' ) );
-
-        boost::optional<T> value;
-        interpret_argument_value( cstring( source.begin(), single_value_end ), value, 0 );
-
-        res->push_back( *value );
-
-        source.trim_left( single_value_end + 1 );
-    }
-
-    return true;
-}
-
-//____________________________________________________________________________//
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_INTERPRET_ARGUMENT_VALUE_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/parameter.hpp b/SRC/Boost/boost/test/utils/runtime/parameter.hpp
deleted file mode 100755
index ad2636c..0000000
--- a/SRC/Boost/boost/test/utils/runtime/parameter.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : abstract interface for the formal parameter
-// ***************************************************************************
-
-#ifndef BOOST_RT_PARAMETER_HPP_062604GER
-#define BOOST_RT_PARAMETER_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-// ************************************************************************** //
-// **************              runtime::parameter              ************** //
-// ************************************************************************** //
-
-class parameter {
-public:
-    virtual ~parameter() {}
-};
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_PARAMETER_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/trace.hpp b/SRC/Boost/boost/test/utils/runtime/trace.hpp
deleted file mode 100755
index e058c7c..0000000
--- a/SRC/Boost/boost/test/utils/runtime/trace.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : optional internal tracing
-// ***************************************************************************
-
-#ifndef BOOST_RT_TRACE_HPP_062604GER
-#define BOOST_RT_TRACE_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-#ifdef BOOST_RT_PARAM_DEBUG
-
-#include <iostream>
-
-#  define BOOST_RT_PARAM_TRACE( str ) std::cerr << str << std::endl
-#else
-#  define BOOST_RT_PARAM_TRACE( str )
-#endif
-
-#endif // BOOST_RT_TRACE_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/runtime/validation.hpp b/SRC/Boost/boost/test/utils/runtime/validation.hpp
deleted file mode 100755
index 100cbc6..0000000
--- a/SRC/Boost/boost/test/utils/runtime/validation.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : defines exceptions and validation tools
-// ***************************************************************************
-
-#ifndef BOOST_RT_VALIDATION_HPP_062604GER
-#define BOOST_RT_VALIDATION_HPP_062604GER
-
-// Boost.Runtime.Parameter
-#include <boost/test/utils/runtime/config.hpp>
-
-// Boost.Test
-#include <boost/test/utils/class_properties.hpp>
-
-// Boost
-#include <boost/shared_ptr.hpp>
-
-// STL
-#ifdef BOOST_RT_PARAM_EXCEPTION_INHERIT_STD
-#include <stdexcept>
-#endif
-
-namespace boost {
-
-namespace BOOST_RT_PARAM_NAMESPACE {
-
-// ************************************************************************** //
-// **************             runtime::logic_error             ************** //
-// ************************************************************************** //
-
-class logic_error 
-#ifdef BOOST_RT_PARAM_EXCEPTION_INHERIT_STD
-: public std::exception
-#endif
-{
-    typedef shared_ptr<dstring> dstring_ptr;
-public:
-    // Constructor // !! could we eliminate shared_ptr
-    explicit    logic_error( cstring msg ) : m_msg( new dstring( msg.begin(), msg.size() ) ) {}
-    ~logic_error() throw()                          {}
-
-    dstring const&   msg() const                    { return *m_msg; }
-    virtual char_type const* what() const throw()   { return m_msg->c_str(); }
-
-private:
-    dstring_ptr m_msg;
-};
-
-// ************************************************************************** //
-// **************          runtime::report_logic_error         ************** //
-// ************************************************************************** //
-
-inline void
-report_logic_error( format_stream& msg )
-{
-    throw BOOST_RT_PARAM_NAMESPACE::logic_error( msg.str() );
-}
-
-//____________________________________________________________________________//
-
-#define BOOST_RT_PARAM_REPORT_LOGIC_ERROR( msg ) \
-    boost::BOOST_RT_PARAM_NAMESPACE::report_logic_error( format_stream().ref() << msg )
-
-#define BOOST_RT_PARAM_VALIDATE_LOGIC( b, msg ) \
-    if( b ) {} else BOOST_RT_PARAM_REPORT_LOGIC_ERROR( msg )
-
-//____________________________________________________________________________//
-
-} // namespace BOOST_RT_PARAM_NAMESPACE
-
-} // namespace boost
-
-#endif // BOOST_RT_VALIDATION_HPP_062604GER
diff --git a/SRC/Boost/boost/test/utils/trivial_singleton.hpp b/SRC/Boost/boost/test/utils/trivial_singleton.hpp
deleted file mode 100755
index 0cb81c6..0000000
--- a/SRC/Boost/boost/test/utils/trivial_singleton.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : simple helpers for creating cusom output manipulators
-// ***************************************************************************
-
-#ifndef BOOST_TEST_TRIVIAL_SIGNLETON_HPP_020505GER
-#define BOOST_TEST_TRIVIAL_SIGNLETON_HPP_020505GER
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/noncopyable.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************                   singleton                  ************** //
-// ************************************************************************** //
-
-template<typename Derived>
-class singleton : private boost::noncopyable {
-public:
-    static Derived& instance() { static Derived the_inst; return the_inst; }    
-protected:
-    singleton()  {}
-    ~singleton() {}
-};
-
-} // namespace unit_test
-
-#define BOOST_TEST_SINGLETON_CONS( type )       \
-friend class boost::unit_test::singleton<type>; \
-type() {}                                       \
-/**/
-
-#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
-
-#define BOOST_TEST_SINGLETON_INST( inst ) \
-template class unit_test::singleton< BOOST_JOIN( inst, _t ) > ; \
-namespace { BOOST_JOIN( inst, _t)& inst = BOOST_JOIN( inst, _t)::instance(); }
-
-#elif defined(__APPLE_CC__) && defined(__GNUC__) && __GNUC__ < 4
-#define BOOST_TEST_SINGLETON_INST( inst ) \
-static BOOST_JOIN( inst, _t)& inst = BOOST_JOIN (inst, _t)::instance();
-
-#else
-
-#define BOOST_TEST_SINGLETON_INST( inst ) \
-namespace { BOOST_JOIN( inst, _t)& inst = BOOST_JOIN( inst, _t)::instance(); }
-
-#endif
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_TRIVIAL_SIGNLETON_HPP_020505GER
diff --git a/SRC/Boost/boost/test/utils/wrap_stringstream.hpp b/SRC/Boost/boost/test/utils/wrap_stringstream.hpp
deleted file mode 100755
index d08a4a9..0000000
--- a/SRC/Boost/boost/test/utils/wrap_stringstream.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2002-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49312 $
-//
-//  Description : wraps strstream and stringstream (depends with one is present)
-//                to provide the unified interface
-// ***************************************************************************
-
-#ifndef BOOST_WRAP_STRINGSTREAM_HPP_071894GER
-#define BOOST_WRAP_STRINGSTREAM_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/detail/config.hpp>
-
-// STL
-#ifdef BOOST_NO_STRINGSTREAM
-#include <strstream>        // for std::ostrstream
-#else
-#include <sstream>          // for std::ostringstream
-#endif // BOOST_NO_STRINGSTREAM
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-// ************************************************************************** //
-// **************            basic_wrap_stringstream           ************** //
-// ************************************************************************** //
-
-template<typename CharT>
-class basic_wrap_stringstream {
-public:
-#if defined(BOOST_CLASSIC_IOSTREAMS)
-    typedef std::ostringstream               wrapped_stream;
-#elif defined(BOOST_NO_STRINGSTREAM)
-    typedef std::basic_ostrstream<CharT>     wrapped_stream;
-#else
-    typedef std::basic_ostringstream<CharT>  wrapped_stream;
-#endif // BOOST_NO_STRINGSTREAM
-    // Access methods
-    basic_wrap_stringstream&        ref();
-    wrapped_stream&                 stream();
-    std::basic_string<CharT> const& str();
-
-private:
-    // Data members
-    wrapped_stream                  m_stream;
-    std::basic_string<CharT>        m_str;
-};
-
-//____________________________________________________________________________//
-
-template <typename CharT, typename T>
-inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, T const& t )
-{
-    targ.stream() << t;
-    return targ;
-}
-
-//____________________________________________________________________________//
-
-template <typename CharT>
-inline typename basic_wrap_stringstream<CharT>::wrapped_stream&
-basic_wrap_stringstream<CharT>::stream()
-{
-    return m_stream;
-}
-
-//____________________________________________________________________________//
-
-template <typename CharT>
-inline basic_wrap_stringstream<CharT>&
-basic_wrap_stringstream<CharT>::ref()
-{ 
-    return *this;
-}
-
-//____________________________________________________________________________//
-
-template <typename CharT>
-inline std::basic_string<CharT> const&
-basic_wrap_stringstream<CharT>::str()
-{
-
-#ifdef BOOST_NO_STRINGSTREAM
-    m_str.assign( m_stream.str(), m_stream.pcount() );
-    m_stream.freeze( false );
-#else
-    m_str = m_stream.str();
-#endif
-
-    return m_str;
-}
-
-//____________________________________________________________________________//
-
-template <typename CharT>
-inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, basic_wrap_stringstream<CharT>& src )
-{
-    targ << src.str();
-    return targ;
-}
-
-//____________________________________________________________________________//
-
-#if BOOST_TEST_USE_STD_LOCALE 
-
-template <typename CharT>
-inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, std::ios_base& (BOOST_TEST_CALL_DECL *man)(std::ios_base&) )
-{
-    targ.stream() << man;
-    return targ;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT,typename Elem,typename Tr>
-inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, std::basic_ostream<Elem,Tr>& (BOOST_TEST_CALL_DECL *man)(std::basic_ostream<Elem, Tr>&) )
-{
-    targ.stream() << man;
-    return targ;
-}
-
-//____________________________________________________________________________//
-
-template<typename CharT,typename Elem,typename Tr>
-inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, std::basic_ios<Elem, Tr>& (BOOST_TEST_CALL_DECL *man)(std::basic_ios<Elem, Tr>&) )
-{
-    targ.stream() << man;
-    return targ;
-}
-
-//____________________________________________________________________________//
-
-#endif
-
-// ************************************************************************** //
-// **************               wrap_stringstream              ************** //
-// ************************************************************************** //
-
-typedef basic_wrap_stringstream<char>       wrap_stringstream;
-typedef basic_wrap_stringstream<wchar_t>    wrap_wstringstream;
-
-}  // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif  // BOOST_WRAP_STRINGSTREAM_HPP_071894GER
diff --git a/SRC/Boost/boost/test/utils/xml_printer.hpp b/SRC/Boost/boost/test/utils/xml_printer.hpp
deleted file mode 100755
index 27c596d..0000000
--- a/SRC/Boost/boost/test/utils/xml_printer.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2004-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 57992 $
-//
-//  Description : common code used by any agent serving as XML printer
-// ***************************************************************************
-
-#ifndef BOOST_TEST_XML_PRINTER_HPP_071894GER
-#define BOOST_TEST_XML_PRINTER_HPP_071894GER
-
-// Boost.Test
-#include <boost/test/utils/basic_cstring/basic_cstring.hpp>
-#include <boost/test/utils/fixed_mapping.hpp>
-#include <boost/test/utils/custom_manip.hpp>
-#include <boost/test/utils/foreach.hpp>
-#include <boost/test/utils/basic_cstring/io.hpp>
-
-// Boost
-#include <boost/config.hpp>
-
-// STL
-#include <iostream>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-
-namespace unit_test {
-
-// ************************************************************************** //
-// **************               xml print helpers              ************** //
-// ************************************************************************** //
-
-inline void
-print_escaped( std::ostream& where_to, const_string value )
-{
-    static fixed_mapping<char,char const*> char_type(
-        '<' , "lt",
-        '>' , "gt",
-        '&' , "amp",
-        '\'', "apos" ,
-        '"' , "quot",
-
-        0
-    );
-
-    BOOST_TEST_FOREACH( char, c, value ) {
-        char const* ref = char_type[c];
-
-        if( ref )
-            where_to << '&' << ref << ';';
-        else
-            where_to << c;
-    }
-}
-
-//____________________________________________________________________________//
-
-inline void
-print_escaped( std::ostream& where_to, std::string const& value )
-{
-    print_escaped( where_to, const_string( value ) );
-}
-
-//____________________________________________________________________________//
-
-template<typename T>
-inline void
-print_escaped( std::ostream& where_to, T const& value )
-{
-    where_to << value;
-}
-
-//____________________________________________________________________________//
-
-typedef custom_manip<struct attr_value_t> attr_value;
-
-template<typename T>
-inline std::ostream&
-operator<<( custom_printer<attr_value> const& p, T const& value )
-{
-    *p << "=\"";
-    print_escaped( *p, value );
-    *p << '"';
-
-    return *p;
-}
-
-//____________________________________________________________________________//
-
-typedef custom_manip<struct cdata_t> cdata;
-
-inline std::ostream&
-operator<<( custom_printer<cdata> const& p, const_string value )
-{
-    return *p << BOOST_TEST_L( "<![CDATA[" ) << value << BOOST_TEST_L( "]]>" );
-}
-
-//____________________________________________________________________________//
-
-} // namespace unit_test
-
-} // namespace boost
-
-//____________________________________________________________________________//
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_XML_PRINTER_HPP_071894GER
diff --git a/SRC/Boost/boost/throw_exception.hpp b/SRC/Boost/boost/throw_exception.hpp
deleted file mode 100755
index 4073b7b..0000000
--- a/SRC/Boost/boost/throw_exception.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED
-#define BOOST_THROW_EXCEPTION_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/throw_exception.hpp
-//
-//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-//  Copyright (c) 2008-2009 Emil Dotchevski and Reverge Studios, Inc.
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org/libs/utility/throw_exception.html
-//
-
-#include <boost/exception/detail/attribute_noreturn.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/config.hpp>
-#include <exception>
-
-#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x593) )
-# define BOOST_EXCEPTION_DISABLE
-#endif
-
-#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1310 )
-# define BOOST_EXCEPTION_DISABLE
-#endif
-
-#if !defined( BOOST_EXCEPTION_DISABLE )
-# include <boost/exception/exception.hpp>
-# include <boost/current_function.hpp>
-# define BOOST_THROW_EXCEPTION(x) ::boost::exception_detail::throw_exception_(x,BOOST_CURRENT_FUNCTION,__FILE__,__LINE__)
-#else
-# define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x)
-#endif
-
-namespace boost
-{
-#ifdef BOOST_NO_EXCEPTIONS
-
-void throw_exception( std::exception const & e ); // user defined
-
-#else
-
-inline void throw_exception_assert_compatibility( std::exception const & ) { }
-
-template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e )
-{
-    //All boost exceptions are required to derive from std::exception,
-    //to ensure compatibility with BOOST_NO_EXCEPTIONS.
-    throw_exception_assert_compatibility(e);
-
-#ifndef BOOST_EXCEPTION_DISABLE
-    throw enable_current_exception(enable_error_info(e));
-#else
-    throw e;
-#endif
-}
-
-#endif
-
-#if !defined( BOOST_EXCEPTION_DISABLE )
-    namespace
-    exception_detail
-    {
-        template <class E>
-        BOOST_ATTRIBUTE_NORETURN
-        void
-        throw_exception_( E const & x, char const * current_function, char const * file, int line )
-        {
-            boost::throw_exception(
-                set_info(
-                    set_info(
-                        set_info(
-                            boost::enable_error_info(x),
-                            throw_function(current_function)),
-                        throw_file(file)),
-                    throw_line(line)));
-        }
-    }
-#endif
-} // namespace boost
-
-#endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED
diff --git a/SRC/Boost/boost/timer.hpp b/SRC/Boost/boost/timer.hpp
deleted file mode 100755
index 491ece3..0000000
--- a/SRC/Boost/boost/timer.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//  boost timer.hpp header file  ---------------------------------------------//
-
-//  Copyright Beman Dawes 1994-99.  Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/timer for documentation.
-
-//  Revision History
-//  01 Apr 01  Modified to use new <boost/limits.hpp> header. (JMaddock)
-//  12 Jan 01  Change to inline implementation to allow use without library
-//             builds. See docs for more rationale. (Beman Dawes) 
-//  25 Sep 99  elapsed_max() and elapsed_min() added (John Maddock)
-//  16 Jul 99  Second beta
-//   6 Jul 99  Initial boost version
-
-#ifndef BOOST_TIMER_HPP
-#define BOOST_TIMER_HPP
-
-#include <boost/config.hpp>
-#include <ctime>
-#include <boost/limits.hpp>
-
-# ifdef BOOST_NO_STDC_NAMESPACE
-    namespace std { using ::clock_t; using ::clock; }
-# endif
-
-
-namespace boost {
-
-//  timer  -------------------------------------------------------------------//
-
-//  A timer object measures elapsed time.
-
-//  It is recommended that implementations measure wall clock rather than CPU
-//  time since the intended use is performance measurement on systems where
-//  total elapsed time is more important than just process or CPU time.
-
-//  Warnings: The maximum measurable elapsed time may well be only 596.5+ hours
-//  due to implementation limitations.  The accuracy of timings depends on the
-//  accuracy of timing information provided by the underlying platform, and
-//  this varies a great deal from platform to platform.
-
-class timer
-{
- public:
-         timer() { _start_time = std::clock(); } // postcondition: elapsed()==0
-//         timer( const timer& src );      // post: elapsed()==src.elapsed()
-//        ~timer(){}
-//  timer& operator=( const timer& src );  // post: elapsed()==src.elapsed()
-  void   restart() { _start_time = std::clock(); } // post: elapsed()==0
-  double elapsed() const                  // return elapsed time in seconds
-    { return  double(std::clock() - _start_time) / CLOCKS_PER_SEC; }
-
-  double elapsed_max() const   // return estimated maximum value for elapsed()
-  // Portability warning: elapsed_max() may return too high a value on systems
-  // where std::clock_t overflows or resets at surprising values.
-  {
-    return (double((std::numeric_limits<std::clock_t>::max)())
-       - double(_start_time)) / double(CLOCKS_PER_SEC); 
-  }
-
-  double elapsed_min() const            // return minimum value for elapsed()
-   { return double(1)/double(CLOCKS_PER_SEC); }
-
- private:
-  std::clock_t _start_time;
-}; // timer
-
-} // namespace boost
-
-#endif  // BOOST_TIMER_HPP
diff --git a/SRC/Boost/boost/tr1/detail/config.hpp b/SRC/Boost/boost/tr1/detail/config.hpp
deleted file mode 100755
index 9bf597a..0000000
--- a/SRC/Boost/boost/tr1/detail/config.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-//  (C) Copyright John Maddock 2005-7.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TR1_DETAIL_CONFIG_HPP_INCLUDED
-#  define BOOST_TR1_DETAIL_CONFIG_HPP_INCLUDED
-
-#include <cstddef>
-
-#if (defined(__GNUC__) && !(defined(linux) || defined(__linux) || defined(__linux__))) \
-   || (!defined(_AIX) && defined(__IBMCPP__)  && (__IBMCPP__ >= 800)) 
-   // Disable use of #include_next on Linux as typically we are installed in a 
-   // directory that is searched *after* the std lib include path.
-#if !defined(BOOST_HAS_INCLUDE_NEXT)
-#  define BOOST_HAS_INCLUDE_NEXT
-#endif
-// Need to find out if we're using GLIBC:
-#ifdef BOOST_TR1_UTILITY_INCLUDED
-// Oops we're in a recursive include path!!
-// Need to include utility, or some std lib header,
-// but *not* via <utility> or <boost/config/no_tr1/utility.hpp>
-#  ifndef BOOST_TR1_NO_RECURSION
-#     define BOOST_TR1_NO_RECURSION
-#     define BOOST_TR1_NO_CONFIG_RECURSION
-#  endif
-#  if defined(BOOST_HAS_INCLUDE_NEXT) && !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT)
-#     include_next <utility>
-#  else
-#     include BOOST_TR1_STD_HEADER(utility)
-#  endif
-#  ifdef BOOST_TR1_NO_CONFIG_RECURSION
-#     undef BOOST_TR1_NO_CONFIG_RECURSION
-#     undef BOOST_TR1_NO_RECURSION
-#  endif
-#else
-#include <boost/config/no_tr1/utility.hpp>
-#endif
-#endif
-
-#if defined(__GLIBCXX__) && !defined(BOOST_TR1_PATH)
-#  define BOOST_TR1_PATH(name) tr1/name
-#endif
-#if !defined(BOOST_TR1_PATH)
-#  define BOOST_TR1_PATH(name) name
-#endif
-
-#define BOOST_TR1_HEADER(name) <BOOST_TR1_PATH(name)>
-
-// Can't use BOOST_WORKAROUND here, it leads to recursive includes:
-#if (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600)) || (defined(_MSC_VER) && (_MSC_VER < 1310))
-#  define BOOST_TR1_USE_OLD_TUPLE
-#endif
-
-#ifdef __IBMCPP_TR1__
-   // turn on support for everything:
-#  define BOOST_HAS_TR1
-#endif
-
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
-#  define BOOST_HAS_TR1_COMPLEX_OVERLOADS
-#  define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-#endif
-
-#ifdef BOOST_HAS_TR1
-   // turn on support for everything:
-#  define BOOST_HAS_TR1_ARRAY
-#  define BOOST_HAS_TR1_COMPLEX_OVERLOADS
-#  define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-#  define BOOST_HAS_TR1_REFERENCE_WRAPPER
-#  define BOOST_HAS_TR1_RESULT_OF
-#  define BOOST_HAS_TR1_MEM_FN
-#  define BOOST_HAS_TR1_BIND
-#  define BOOST_HAS_TR1_FUNCTION
-#  define BOOST_HAS_TR1_HASH
-#  define BOOST_HAS_TR1_SHARED_PTR
-#  define BOOST_HAS_TR1_RANDOM
-#  define BOOST_HAS_TR1_REGEX
-#  define BOOST_HAS_TR1_TUPLE
-#  define BOOST_HAS_TR1_TYPE_TRAITS
-#  define BOOST_HAS_TR1_UTILITY
-#  define BOOST_HAS_TR1_UNORDERED_MAP
-#  define BOOST_HAS_TR1_UNORDERED_SET
-#  define BOOST_HAS_TR1_CMATH
-
-#endif
-
-#if defined(__MWERKS__) && (__MWERKS__ >= 0x3205)
-//
-// Very preliminary MWCW support, may not be right:
-//
-#  define BOOST_HAS_TR1_SHARED_PTR
-#  define BOOST_HAS_TR1_REFERENCE_WRAPPER
-#  define BOOST_HAS_TR1_FUNCTION
-#  define BOOST_HAS_TR1_TUPLE
-#  define BOOST_HAS_TR1_RESULT_OF
-#endif
-
-#ifdef BOOST_HAS_GCC_TR1
-   // turn on support for everything in gcc 4.0.x:
-#  define BOOST_HAS_TR1_ARRAY
-#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 403
-//#  define BOOST_HAS_TR1_COMPLEX_OVERLOADS
-#  define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-#endif
-#  define BOOST_HAS_TR1_REFERENCE_WRAPPER
-#  define BOOST_HAS_TR1_RESULT_OF
-#  define BOOST_HAS_TR1_MEM_FN
-#  define BOOST_HAS_TR1_BIND
-#  define BOOST_HAS_TR1_FUNCTION
-#  define BOOST_HAS_TR1_HASH
-#  define BOOST_HAS_TR1_SHARED_PTR
-#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 403
-#  define BOOST_HAS_TR1_RANDOM
-//#  define BOOST_HAS_TR1_REGEX
-#ifdef _GLIBCXX_USE_C99_MATH_TR1
-#  define BOOST_HAS_TR1_CMATH
-#endif
-#endif
-#  define BOOST_HAS_TR1_TUPLE
-#  define BOOST_HAS_TR1_TYPE_TRAITS
-#  define BOOST_HAS_TR1_UTILITY
-#  define BOOST_HAS_TR1_UNORDERED_MAP
-#  define BOOST_HAS_TR1_UNORDERED_SET
-
-#endif
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1500) \
-   && defined(_MSC_FULL_VER) && \
-   !defined(__SGI_STL_PORT) && \
-   !defined(_STLPORT_VERSION) && \
-   !defined(_RWSTD_VER_STR) && \
-   !defined(_RWSTD_VER)
-//
-// MSVC-9.0 defines a not-quite TR1 conforming hash
-// function object in <functional>, so we must define
-// this here, in addition the feature pack for VC9
-// provides a more or less full TR1 implementation:
-//
-#  if defined(_HAS_TR1) && (_HAS_TR1 + 0)
-#    define BOOST_HAS_TR1_ARRAY
-#    define BOOST_HAS_TR1_REFERENCE_WRAPPER
-#    define BOOST_HAS_TR1_RESULT_OF
-#    define BOOST_HAS_TR1_MEM_FN
-#    define BOOST_HAS_TR1_BIND
-#    define BOOST_HAS_TR1_FUNCTION
-#    define BOOST_HAS_TR1_HASH
-#    define BOOST_HAS_TR1_SHARED_PTR
-#    define BOOST_HAS_TR1_RANDOM
-#    define BOOST_HAS_TR1_REGEX
-#    define BOOST_HAS_TR1_TUPLE
-#    define BOOST_HAS_TR1_TYPE_TRAITS
-#    define BOOST_HAS_TR1_UTILITY
-#    define BOOST_HAS_TR1_UNORDERED_MAP
-#    define BOOST_HAS_TR1_UNORDERED_SET
-#  else
-#    define BOOST_HAS_TR1_HASH
-#  endif
-#  if _MSC_VER >= 1600
-#     define BOOST_HAS_CPP_0X
-#  endif
-#endif
-
-#include <boost/config.hpp>
-
-#endif
-
-
-
diff --git a/SRC/Boost/boost/tuple/detail/tuple_basic.hpp b/SRC/Boost/boost/tuple/detail/tuple_basic.hpp
deleted file mode 100755
index 9fdb2ce..0000000
--- a/SRC/Boost/boost/tuple/detail/tuple_basic.hpp
+++ /dev/null
@@ -1,980 +0,0 @@
-//  tuple_basic.hpp -----------------------------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-// Outside help:
-// This and that, Gary Powell.
-// Fixed return types for get_head/get_tail
-// ( and other bugs ) per suggestion of Jens Maurer
-// simplified element type accessors + bug fix  (Jeremy Siek)
-// Several changes/additions according to suggestions by Douglas Gregor,
-// William Kempf, Vesa Karvonen, John Max Skaller, Ed Brey, Beman Dawes,
-// David Abrahams.
-
-// Revision history:
-// 2002 05 01 Hugo Duncan: Fix for Borland after Jaakko's previous changes
-// 2002 04 18 Jaakko: tuple element types can be void or plain function
-//                    types, as long as no object is created.
-//                    Tuple objects can no hold even noncopyable types
-//                    such as arrays.
-// 2001 10 22 John Maddock
-//      Fixes for Borland C++
-// 2001 08 30 David Abrahams
-//      Added default constructor for cons<>.
-// -----------------------------------------------------------------
-
-#ifndef BOOST_TUPLE_BASIC_HPP
-#define BOOST_TUPLE_BASIC_HPP
-
-
-#include <utility> // needed for the assignment from pair to tuple
-
-#include "boost/type_traits/cv_traits.hpp"
-#include "boost/type_traits/function_traits.hpp"
-#include "boost/utility/swap.hpp"
-
-#include "boost/detail/workaround.hpp" // needed for BOOST_WORKAROUND
-
-namespace boost {
-namespace tuples {
-
-// -- null_type --------------------------------------------------------
-struct null_type {};
-
-// a helper function to provide a const null_type type temporary
-namespace detail {
-  inline const null_type cnull() { return null_type(); }
-
-
-// -- if construct ------------------------------------------------
-// Proposed by Krzysztof Czarnecki and Ulrich Eisenecker
-
-template <bool If, class Then, class Else> struct IF { typedef Then RET; };
-
-template <class Then, class Else> struct IF<false, Then, Else> {
-  typedef Else RET;
-};
-
-} // end detail
-
-// - cons forward declaration -----------------------------------------------
-template <class HT, class TT> struct cons;
-
-
-// - tuple forward declaration -----------------------------------------------
-template <
-  class T0 = null_type, class T1 = null_type, class T2 = null_type,
-  class T3 = null_type, class T4 = null_type, class T5 = null_type,
-  class T6 = null_type, class T7 = null_type, class T8 = null_type,
-  class T9 = null_type>
-class tuple;
-
-// tuple_length forward declaration
-template<class T> struct length;
-
-
-
-namespace detail {
-
-// -- generate error template, referencing to non-existing members of this
-// template is used to produce compilation errors intentionally
-template<class T>
-class generate_error;
-
-template<int N>
-struct drop_front {
-    template<class Tuple>
-    struct apply {
-        typedef BOOST_DEDUCED_TYPENAME drop_front<N-1>::BOOST_NESTED_TEMPLATE
-            apply<Tuple> next;
-        typedef BOOST_DEDUCED_TYPENAME next::type::tail_type type;
-        static const type& call(const Tuple& tup) {
-            return next::call(tup).tail;
-        }
-    };
-};
-
-template<>
-struct drop_front<0> {
-    template<class Tuple>
-    struct apply {
-        typedef Tuple type;
-        static const type& call(const Tuple& tup) {
-            return tup;
-        }
-    };
-};
-
-} // end of namespace detail
-
-
-// -cons type accessors ----------------------------------------
-// typename tuples::element<N,T>::type gets the type of the
-// Nth element ot T, first element is at index 0
-// -------------------------------------------------------
-
-#ifndef BOOST_NO_CV_SPECIALIZATIONS
-
-template<int N, class T>
-struct element
-{
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
-      apply<T>::type::head_type type;
-};
-
-template<int N, class T>
-struct element<N, const T>
-{
-private:
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
-      apply<T>::type::head_type unqualified_type;
-public:
-#if BOOST_WORKAROUND(__BORLANDC__,<0x600)
-  typedef const unqualified_type type;
-#else
-  typedef BOOST_DEDUCED_TYPENAME boost::add_const<unqualified_type>::type type;
-#endif
-};
-#else // def BOOST_NO_CV_SPECIALIZATIONS
-
-namespace detail {
-
-template<int N, class T, bool IsConst>
-struct element_impl
-{
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
-      apply<T>::type::head_type type;
-};
-
-template<int N, class T>
-struct element_impl<N, T, true /* IsConst */>
-{
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
-      apply<T>::type::head_type unqualified_type;
-  typedef const unqualified_type type;
-};
-
-} // end of namespace detail
-
-
-template<int N, class T>
-struct element:
-  public detail::element_impl<N, T, ::boost::is_const<T>::value>
-{
-};
-
-#endif
-
-
-// -get function templates -----------------------------------------------
-// Usage: get<N>(aTuple)
-
-// -- some traits classes for get functions
-
-// access traits lifted from detail namespace to be part of the interface,
-// (Joel de Guzman's suggestion). Rationale: get functions are part of the
-// interface, so should the way to express their return types be.
-
-template <class T> struct access_traits {
-  typedef const T& const_type;
-  typedef T& non_const_type;
-
-  typedef const typename boost::remove_cv<T>::type& parameter_type;
-
-// used as the tuple constructors parameter types
-// Rationale: non-reference tuple element types can be cv-qualified.
-// It should be possible to initialize such types with temporaries,
-// and when binding temporaries to references, the reference must
-// be non-volatile and const. 8.5.3. (5)
-};
-
-template <class T> struct access_traits<T&> {
-
-  typedef T& const_type;
-  typedef T& non_const_type;
-
-  typedef T& parameter_type;
-};
-
-// get function for non-const cons-lists, returns a reference to the element
-
-template<int N, class HT, class TT>
-inline typename access_traits<
-                  typename element<N, cons<HT, TT> >::type
-                >::non_const_type
-get(cons<HT, TT>& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
-      apply<cons<HT, TT> > impl;
-  typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
-  return const_cast<cons_element&>(impl::call(c)).head;
-}
-
-// get function for const cons-lists, returns a const reference to
-// the element. If the element is a reference, returns the reference
-// as such (that is, can return a non-const reference)
-template<int N, class HT, class TT>
-inline typename access_traits<
-                  typename element<N, cons<HT, TT> >::type
-                >::const_type
-get(const cons<HT, TT>& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
-      apply<cons<HT, TT> > impl;
-  typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
-  return impl::call(c).head;
-}
-
-// -- the cons template  --------------------------------------------------
-namespace detail {
-
-//  These helper templates wrap void types and plain function types.
-//  The reationale is to allow one to write tuple types with those types
-//  as elements, even though it is not possible to instantiate such object.
-//  E.g: typedef tuple<void> some_type; // ok
-//  but: some_type x; // fails
-
-template <class T> class non_storeable_type {
-  non_storeable_type();
-};
-
-template <class T> struct wrap_non_storeable_type {
-  typedef typename IF<
-    ::boost::is_function<T>::value, non_storeable_type<T>, T
-  >::RET type;
-};
-template <> struct wrap_non_storeable_type<void> {
-  typedef non_storeable_type<void> type;
-};
-
-} // detail
-
-template <class HT, class TT>
-struct cons {
-
-  typedef HT head_type;
-  typedef TT tail_type;
-
-  typedef typename
-    detail::wrap_non_storeable_type<head_type>::type stored_head_type;
-
-  stored_head_type head;
-  tail_type tail;
-
-  typename access_traits<stored_head_type>::non_const_type
-  get_head() { return head; }
-
-  typename access_traits<tail_type>::non_const_type
-  get_tail() { return tail; }
-
-  typename access_traits<stored_head_type>::const_type
-  get_head() const { return head; }
-
-  typename access_traits<tail_type>::const_type
-  get_tail() const { return tail; }
-
-  cons() : head(), tail() {}
-  //  cons() : head(detail::default_arg<HT>::f()), tail() {}
-
-  // the argument for head is not strictly needed, but it prevents
-  // array type elements. This is good, since array type elements
-  // cannot be supported properly in any case (no assignment,
-  // copy works only if the tails are exactly the same type, ...)
-
-  cons(typename access_traits<stored_head_type>::parameter_type h,
-       const tail_type& t)
-    : head (h), tail(t) {}
-
-  template <class T1, class T2, class T3, class T4, class T5,
-            class T6, class T7, class T8, class T9, class T10>
-  cons( T1& t1, T2& t2, T3& t3, T4& t4, T5& t5,
-        T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 )
-    : head (t1),
-      tail (t2, t3, t4, t5, t6, t7, t8, t9, t10, detail::cnull())
-      {}
-
-  template <class T2, class T3, class T4, class T5,
-            class T6, class T7, class T8, class T9, class T10>
-  cons( const null_type& /*t1*/, T2& t2, T3& t3, T4& t4, T5& t5,
-        T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 )
-    : head (),
-      tail (t2, t3, t4, t5, t6, t7, t8, t9, t10, detail::cnull())
-      {}
-
-
-  template <class HT2, class TT2>
-  cons( const cons<HT2, TT2>& u ) : head(u.head), tail(u.tail) {}
-
-  template <class HT2, class TT2>
-  cons& operator=( const cons<HT2, TT2>& u ) {
-    head=u.head; tail=u.tail; return *this;
-  }
-
-  // must define assignment operator explicitly, implicit version is
-  // illformed if HT is a reference (12.8. (12))
-  cons& operator=(const cons& u) {
-    head = u.head; tail = u.tail;  return *this;
-  }
-
-  template <class T1, class T2>
-  cons& operator=( const std::pair<T1, T2>& u ) {
-    BOOST_STATIC_ASSERT(length<cons>::value == 2); // check length = 2
-    head = u.first; tail.head = u.second; return *this;
-  }
-
-  // get member functions (non-const and const)
-  template <int N>
-  typename access_traits<
-             typename element<N, cons<HT, TT> >::type
-           >::non_const_type
-  get() {
-    return boost::tuples::get<N>(*this); // delegate to non-member get
-  }
-
-  template <int N>
-  typename access_traits<
-             typename element<N, cons<HT, TT> >::type
-           >::const_type
-  get() const {
-    return boost::tuples::get<N>(*this); // delegate to non-member get
-  }
-};
-
-template <class HT>
-struct cons<HT, null_type> {
-
-  typedef HT head_type;
-  typedef null_type tail_type;
-  typedef cons<HT, null_type> self_type;
-
-  typedef typename
-    detail::wrap_non_storeable_type<head_type>::type stored_head_type;
-  stored_head_type head;
-
-  typename access_traits<stored_head_type>::non_const_type
-  get_head() { return head; }
-
-  null_type get_tail() { return null_type(); }
-
-  typename access_traits<stored_head_type>::const_type
-  get_head() const { return head; }
-
-  const null_type get_tail() const { return null_type(); }
-
-  //  cons() : head(detail::default_arg<HT>::f()) {}
-  cons() : head() {}
-
-  cons(typename access_traits<stored_head_type>::parameter_type h,
-       const null_type& = null_type())
-    : head (h) {}
-
-  template<class T1>
-  cons(T1& t1, const null_type&, const null_type&, const null_type&,
-       const null_type&, const null_type&, const null_type&,
-       const null_type&, const null_type&, const null_type&)
-  : head (t1) {}
-
-  cons(const null_type&,
-       const null_type&, const null_type&, const null_type&,
-       const null_type&, const null_type&, const null_type&,
-       const null_type&, const null_type&, const null_type&)
-  : head () {}
-
-  template <class HT2>
-  cons( const cons<HT2, null_type>& u ) : head(u.head) {}
-
-  template <class HT2>
-  cons& operator=(const cons<HT2, null_type>& u )
-  { head = u.head; return *this; }
-
-  // must define assignment operator explicitely, implicit version
-  // is illformed if HT is a reference
-  cons& operator=(const cons& u) { head = u.head; return *this; }
-
-  template <int N>
-  typename access_traits<
-             typename element<N, self_type>::type
-            >::non_const_type
-  get(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
-    return boost::tuples::get<N>(*this);
-  }
-
-  template <int N>
-  typename access_traits<
-             typename element<N, self_type>::type
-           >::const_type
-  get(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) const {
-    return boost::tuples::get<N>(*this);
-  }
-
-};
-
-// templates for finding out the length of the tuple -------------------
-
-template<class T>
-struct length  {
-  BOOST_STATIC_CONSTANT(int, value = 1 + length<typename T::tail_type>::value);
-};
-
-template<>
-struct length<tuple<> > {
-  BOOST_STATIC_CONSTANT(int, value = 0);
-};
-
-template<>
-struct length<tuple<> const> {
-  BOOST_STATIC_CONSTANT(int, value = 0);
-};
-
-template<>
-struct length<null_type> {
-  BOOST_STATIC_CONSTANT(int, value = 0);
-};
-
-template<>
-struct length<null_type const> {
-  BOOST_STATIC_CONSTANT(int, value = 0);
-};
-
-namespace detail {
-
-// Tuple to cons mapper --------------------------------------------------
-template <class T0, class T1, class T2, class T3, class T4,
-          class T5, class T6, class T7, class T8, class T9>
-struct map_tuple_to_cons
-{
-  typedef cons<T0,
-               typename map_tuple_to_cons<T1, T2, T3, T4, T5,
-                                          T6, T7, T8, T9, null_type>::type
-              > type;
-};
-
-// The empty tuple is a null_type
-template <>
-struct map_tuple_to_cons<null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type>
-{
-  typedef null_type type;
-};
-
-} // end detail
-
-// -------------------------------------------------------------------
-// -- tuple ------------------------------------------------------
-template <class T0, class T1, class T2, class T3, class T4,
-          class T5, class T6, class T7, class T8, class T9>
-
-class tuple :
-  public detail::map_tuple_to_cons<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type
-{
-public:
-  typedef typename
-    detail::map_tuple_to_cons<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type inherited;
-  typedef typename inherited::head_type head_type;
-  typedef typename inherited::tail_type tail_type;
-
-
-// access_traits<T>::parameter_type takes non-reference types as const T&
-  tuple() {}
-
-  tuple(typename access_traits<T0>::parameter_type t0)
-    : inherited(t0, detail::cnull(), detail::cnull(), detail::cnull(),
-                detail::cnull(), detail::cnull(), detail::cnull(),
-                detail::cnull(), detail::cnull(), detail::cnull()) {}
-
-  tuple(typename access_traits<T0>::parameter_type t0,
-        typename access_traits<T1>::parameter_type t1)
-    : inherited(t0, t1, detail::cnull(), detail::cnull(),
-                detail::cnull(), detail::cnull(), detail::cnull(),
-                detail::cnull(), detail::cnull(), detail::cnull()) {}
-
-  tuple(typename access_traits<T0>::parameter_type t0,
-        typename access_traits<T1>::parameter_type t1,
-        typename access_traits<T2>::parameter_type t2)
-    : inherited(t0, t1, t2, detail::cnull(), detail::cnull(),
-                detail::cnull(), detail::cnull(), detail::cnull(),
-                detail::cnull(), detail::cnull()) {}
-
-  tuple(typename access_traits<T0>::parameter_type t0,
-        typename access_traits<T1>::parameter_type t1,
-        typename access_traits<T2>::parameter_type t2,
-        typename access_traits<T3>::parameter_type t3)
-    : inherited(t0, t1, t2, t3, detail::cnull(), detail::cnull(),
-                detail::cnull(), detail::cnull(), detail::cnull(),
-                detail::cnull()) {}
-
-  tuple(typename access_traits<T0>::parameter_type t0,
-        typename access_traits<T1>::parameter_type t1,
-        typename access_traits<T2>::parameter_type t2,
-        typename access_traits<T3>::parameter_type t3,
-        typename access_traits<T4>::parameter_type t4)
-    : inherited(t0, t1, t2, t3, t4, detail::cnull(), detail::cnull(),
-                detail::cnull(), detail::cnull(), detail::cnull()) {}
-
-  tuple(typename access_traits<T0>::parameter_type t0,
-        typename access_traits<T1>::parameter_type t1,
-        typename access_traits<T2>::parameter_type t2,
-        typename access_traits<T3>::parameter_type t3,
-        typename access_traits<T4>::parameter_type t4,
-        typename access_traits<T5>::parameter_type t5)
-    : inherited(t0, t1, t2, t3, t4, t5, detail::cnull(), detail::cnull(),
-                detail::cnull(), detail::cnull()) {}
-
-  tuple(typename access_traits<T0>::parameter_type t0,
-        typename access_traits<T1>::parameter_type t1,
-        typename access_traits<T2>::parameter_type t2,
-        typename access_traits<T3>::parameter_type t3,
-        typename access_traits<T4>::parameter_type t4,
-        typename access_traits<T5>::parameter_type t5,
-        typename access_traits<T6>::parameter_type t6)
-    : inherited(t0, t1, t2, t3, t4, t5, t6, detail::cnull(),
-                detail::cnull(), detail::cnull()) {}
-
-  tuple(typename access_traits<T0>::parameter_type t0,
-        typename access_traits<T1>::parameter_type t1,
-        typename access_traits<T2>::parameter_type t2,
-        typename access_traits<T3>::parameter_type t3,
-        typename access_traits<T4>::parameter_type t4,
-        typename access_traits<T5>::parameter_type t5,
-        typename access_traits<T6>::parameter_type t6,
-        typename access_traits<T7>::parameter_type t7)
-    : inherited(t0, t1, t2, t3, t4, t5, t6, t7, detail::cnull(),
-                detail::cnull()) {}
-
-  tuple(typename access_traits<T0>::parameter_type t0,
-        typename access_traits<T1>::parameter_type t1,
-        typename access_traits<T2>::parameter_type t2,
-        typename access_traits<T3>::parameter_type t3,
-        typename access_traits<T4>::parameter_type t4,
-        typename access_traits<T5>::parameter_type t5,
-        typename access_traits<T6>::parameter_type t6,
-        typename access_traits<T7>::parameter_type t7,
-        typename access_traits<T8>::parameter_type t8)
-    : inherited(t0, t1, t2, t3, t4, t5, t6, t7, t8, detail::cnull()) {}
-
-  tuple(typename access_traits<T0>::parameter_type t0,
-        typename access_traits<T1>::parameter_type t1,
-        typename access_traits<T2>::parameter_type t2,
-        typename access_traits<T3>::parameter_type t3,
-        typename access_traits<T4>::parameter_type t4,
-        typename access_traits<T5>::parameter_type t5,
-        typename access_traits<T6>::parameter_type t6,
-        typename access_traits<T7>::parameter_type t7,
-        typename access_traits<T8>::parameter_type t8,
-        typename access_traits<T9>::parameter_type t9)
-    : inherited(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {}
-
-
-  template<class U1, class U2>
-  tuple(const cons<U1, U2>& p) : inherited(p) {}
-
-  template <class U1, class U2>
-  tuple& operator=(const cons<U1, U2>& k) {
-    inherited::operator=(k);
-    return *this;
-  }
-
-  template <class U1, class U2>
-  tuple& operator=(const std::pair<U1, U2>& k) {
-    BOOST_STATIC_ASSERT(length<tuple>::value == 2);// check_length = 2
-    this->head = k.first;
-    this->tail.head = k.second;
-    return *this;
-  }
-
-};
-
-// The empty tuple
-template <>
-class tuple<null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type>  :
-  public null_type
-{
-public:
-  typedef null_type inherited;
-};
-
-
-// Swallows any assignment   (by Doug Gregor)
-namespace detail {
-
-struct swallow_assign;
-typedef void (detail::swallow_assign::*ignore_t)();
-struct swallow_assign {
-  swallow_assign(ignore_t(*)(ignore_t)) {}
-  template<typename T>
-  swallow_assign const& operator=(const T&) const {
-    return *this;
-  }
-};
-
-
-} // namespace detail
-
-// "ignore" allows tuple positions to be ignored when using "tie".
-inline detail::ignore_t ignore(detail::ignore_t) { return 0; }
-
-// ---------------------------------------------------------------------------
-// The call_traits for make_tuple
-// Honours the reference_wrapper class.
-
-// Must be instantiated with plain or const plain types (not with references)
-
-// from template<class T> foo(const T& t) : make_tuple_traits<const T>::type
-// from template<class T> foo(T& t) : make_tuple_traits<T>::type
-
-// Conversions:
-// T -> T,
-// references -> compile_time_error
-// reference_wrapper<T> -> T&
-// const reference_wrapper<T> -> T&
-// array -> const ref array
-
-
-template<class T>
-struct make_tuple_traits {
-  typedef T type;
-
-  // commented away, see below  (JJ)
-  //  typedef typename IF<
-  //  boost::is_function<T>::value,
-  //  T&,
-  //  T>::RET type;
-
-};
-
-// The is_function test was there originally for plain function types,
-// which can't be stored as such (we must either store them as references or
-// pointers). Such a type could be formed if make_tuple was called with a
-// reference to a function.
-// But this would mean that a const qualified function type was formed in
-// the make_tuple function and hence make_tuple can't take a function
-// reference as a parameter, and thus T can't be a function type.
-// So is_function test was removed.
-// (14.8.3. says that type deduction fails if a cv-qualified function type
-// is created. (It only applies for the case of explicitly specifying template
-// args, though?)) (JJ)
-
-template<class T>
-struct make_tuple_traits<T&> {
-  typedef typename
-     detail::generate_error<T&>::
-       do_not_use_with_reference_type error;
-};
-
-// Arrays can't be stored as plain types; convert them to references.
-// All arrays are converted to const. This is because make_tuple takes its
-// parameters as const T& and thus the knowledge of the potential
-// non-constness of actual argument is lost.
-template<class T, int n>  struct make_tuple_traits <T[n]> {
-  typedef const T (&type)[n];
-};
-
-template<class T, int n>
-struct make_tuple_traits<const T[n]> {
-  typedef const T (&type)[n];
-};
-
-template<class T, int n>  struct make_tuple_traits<volatile T[n]> {
-  typedef const volatile T (&type)[n];
-};
-
-template<class T, int n>
-struct make_tuple_traits<const volatile T[n]> {
-  typedef const volatile T (&type)[n];
-};
-
-template<class T>
-struct make_tuple_traits<reference_wrapper<T> >{
-  typedef T& type;
-};
-
-template<class T>
-struct make_tuple_traits<const reference_wrapper<T> >{
-  typedef T& type;
-};
-
-template<>
-struct make_tuple_traits<detail::ignore_t(detail::ignore_t)> {
-  typedef detail::swallow_assign type;
-};
-
-
-
-namespace detail {
-
-// a helper traits to make the make_tuple functions shorter (Vesa Karvonen's
-// suggestion)
-template <
-  class T0 = null_type, class T1 = null_type, class T2 = null_type,
-  class T3 = null_type, class T4 = null_type, class T5 = null_type,
-  class T6 = null_type, class T7 = null_type, class T8 = null_type,
-  class T9 = null_type
->
-struct make_tuple_mapper {
-  typedef
-    tuple<typename make_tuple_traits<T0>::type,
-          typename make_tuple_traits<T1>::type,
-          typename make_tuple_traits<T2>::type,
-          typename make_tuple_traits<T3>::type,
-          typename make_tuple_traits<T4>::type,
-          typename make_tuple_traits<T5>::type,
-          typename make_tuple_traits<T6>::type,
-          typename make_tuple_traits<T7>::type,
-          typename make_tuple_traits<T8>::type,
-          typename make_tuple_traits<T9>::type> type;
-};
-
-} // end detail
-
-// -make_tuple function templates -----------------------------------
-inline tuple<> make_tuple() {
-  return tuple<>();
-}
-
-template<class T0>
-inline typename detail::make_tuple_mapper<T0>::type
-make_tuple(const T0& t0) {
-  typedef typename detail::make_tuple_mapper<T0>::type t;
-  return t(t0);
-}
-
-template<class T0, class T1>
-inline typename detail::make_tuple_mapper<T0, T1>::type
-make_tuple(const T0& t0, const T1& t1) {
-  typedef typename detail::make_tuple_mapper<T0, T1>::type t;
-  return t(t0, t1);
-}
-
-template<class T0, class T1, class T2>
-inline typename detail::make_tuple_mapper<T0, T1, T2>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2) {
-  typedef typename detail::make_tuple_mapper<T0, T1, T2>::type t;
-  return t(t0, t1, t2);
-}
-
-template<class T0, class T1, class T2, class T3>
-inline typename detail::make_tuple_mapper<T0, T1, T2, T3>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3) {
-  typedef typename detail::make_tuple_mapper<T0, T1, T2, T3>::type t;
-  return t(t0, t1, t2, t3);
-}
-
-template<class T0, class T1, class T2, class T3, class T4>
-inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
-                  const T4& t4) {
-  typedef typename detail::make_tuple_mapper<T0, T1, T2, T3, T4>::type t;
-  return t(t0, t1, t2, t3, t4);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5>
-inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
-                  const T4& t4, const T5& t5) {
-  typedef typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5>::type t;
-  return t(t0, t1, t2, t3, t4, t5);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6>
-inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5, T6>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
-                  const T4& t4, const T5& t5, const T6& t6) {
-  typedef typename detail::make_tuple_mapper
-           <T0, T1, T2, T3, T4, T5, T6>::type t;
-  return t(t0, t1, t2, t3, t4, t5, t6);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
-         class T7>
-inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5, T6, T7>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
-                  const T4& t4, const T5& t5, const T6& t6, const T7& t7) {
-  typedef typename detail::make_tuple_mapper
-           <T0, T1, T2, T3, T4, T5, T6, T7>::type t;
-  return t(t0, t1, t2, t3, t4, t5, t6, t7);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
-         class T7, class T8>
-inline typename detail::make_tuple_mapper
-  <T0, T1, T2, T3, T4, T5, T6, T7, T8>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
-                  const T4& t4, const T5& t5, const T6& t6, const T7& t7,
-                  const T8& t8) {
-  typedef typename detail::make_tuple_mapper
-           <T0, T1, T2, T3, T4, T5, T6, T7, T8>::type t;
-  return t(t0, t1, t2, t3, t4, t5, t6, t7, t8);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
-         class T7, class T8, class T9>
-inline typename detail::make_tuple_mapper
-  <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
-                  const T4& t4, const T5& t5, const T6& t6, const T7& t7,
-                  const T8& t8, const T9& t9) {
-  typedef typename detail::make_tuple_mapper
-           <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type t;
-  return t(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9);
-}
-
-namespace detail {
-
-template<class T>
-struct tie_traits {
-  typedef T& type;
-};
-
-template<>
-struct tie_traits<ignore_t(ignore_t)> {
-  typedef swallow_assign type;
-};
-
-template<>
-struct tie_traits<void> {
-  typedef null_type type;
-};
-
-template <
-  class T0 = void, class T1 = void, class T2 = void,
-  class T3 = void, class T4 = void, class T5 = void,
-  class T6 = void, class T7 = void, class T8 = void,
-  class T9 = void
->
-struct tie_mapper {
-  typedef
-    tuple<typename tie_traits<T0>::type,
-          typename tie_traits<T1>::type,
-          typename tie_traits<T2>::type,
-          typename tie_traits<T3>::type,
-          typename tie_traits<T4>::type,
-          typename tie_traits<T5>::type,
-          typename tie_traits<T6>::type,
-          typename tie_traits<T7>::type,
-          typename tie_traits<T8>::type,
-          typename tie_traits<T9>::type> type;
-};
-
-}
-
-// Tie function templates -------------------------------------------------
-template<class T0>
-inline typename detail::tie_mapper<T0>::type
-tie(T0& t0) {
-  typedef typename detail::tie_mapper<T0>::type t;
-  return t(t0);
-}
-
-template<class T0, class T1>
-inline typename detail::tie_mapper<T0, T1>::type
-tie(T0& t0, T1& t1) {
-  typedef typename detail::tie_mapper<T0, T1>::type t;
-  return t(t0, t1);
-}
-
-template<class T0, class T1, class T2>
-inline typename detail::tie_mapper<T0, T1, T2>::type
-tie(T0& t0, T1& t1, T2& t2) {
-  typedef typename detail::tie_mapper<T0, T1, T2>::type t;
-  return t(t0, t1, t2);
-}
-
-template<class T0, class T1, class T2, class T3>
-inline typename detail::tie_mapper<T0, T1, T2, T3>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3) {
-  typedef typename detail::tie_mapper<T0, T1, T2, T3>::type t;
-  return t(t0, t1, t2, t3);
-}
-
-template<class T0, class T1, class T2, class T3, class T4>
-inline typename detail::tie_mapper<T0, T1, T2, T3, T4>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3,
-                  T4& t4) {
-  typedef typename detail::tie_mapper<T0, T1, T2, T3, T4>::type t;
-  return t(t0, t1, t2, t3, t4);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5>
-inline typename detail::tie_mapper<T0, T1, T2, T3, T4, T5>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3,
-                  T4& t4, T5& t5) {
-  typedef typename detail::tie_mapper<T0, T1, T2, T3, T4, T5>::type t;
-  return t(t0, t1, t2, t3, t4, t5);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6>
-inline typename detail::tie_mapper<T0, T1, T2, T3, T4, T5, T6>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3,
-                  T4& t4, T5& t5, T6& t6) {
-  typedef typename detail::tie_mapper
-           <T0, T1, T2, T3, T4, T5, T6>::type t;
-  return t(t0, t1, t2, t3, t4, t5, t6);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
-         class T7>
-inline typename detail::tie_mapper<T0, T1, T2, T3, T4, T5, T6, T7>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3,
-                  T4& t4, T5& t5, T6& t6, T7& t7) {
-  typedef typename detail::tie_mapper
-           <T0, T1, T2, T3, T4, T5, T6, T7>::type t;
-  return t(t0, t1, t2, t3, t4, t5, t6, t7);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
-         class T7, class T8>
-inline typename detail::tie_mapper
-  <T0, T1, T2, T3, T4, T5, T6, T7, T8>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3,
-                  T4& t4, T5& t5, T6& t6, T7& t7,
-                  T8& t8) {
-  typedef typename detail::tie_mapper
-           <T0, T1, T2, T3, T4, T5, T6, T7, T8>::type t;
-  return t(t0, t1, t2, t3, t4, t5, t6, t7, t8);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
-         class T7, class T8, class T9>
-inline typename detail::tie_mapper
-  <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3,
-                  T4& t4, T5& t5, T6& t6, T7& t7,
-                  T8& t8, T9& t9) {
-  typedef typename detail::tie_mapper
-           <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type t;
-  return t(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9);
-}
-
-template <class T0, class T1, class T2, class T3, class T4,
-          class T5, class T6, class T7, class T8, class T9>
-void swap(tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& lhs,
-          tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& rhs);
-inline void swap(null_type&, null_type&) {}
-template<class HH>
-inline void swap(cons<HH, null_type>& lhs, cons<HH, null_type>& rhs) {
-  ::boost::swap(lhs.head, rhs.head);
-}
-template<class HH, class TT>
-inline void swap(cons<HH, TT>& lhs, cons<HH, TT>& rhs) {
-  ::boost::swap(lhs.head, rhs.head);
-  ::boost::tuples::swap(lhs.tail, rhs.tail);
-}
-template <class T0, class T1, class T2, class T3, class T4,
-          class T5, class T6, class T7, class T8, class T9>
-inline void swap(tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& lhs,
-          tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& rhs) {
-  typedef tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> tuple_type;
-  typedef typename tuple_type::inherited base;
-  ::boost::tuples::swap(static_cast<base&>(lhs), static_cast<base&>(rhs));
-}
-
-} // end of namespace tuples
-} // end of namespace boost
-
-
-#endif // BOOST_TUPLE_BASIC_HPP
-
-
diff --git a/SRC/Boost/boost/tuple/detail/tuple_basic_no_partial_spec.hpp b/SRC/Boost/boost/tuple/detail/tuple_basic_no_partial_spec.hpp
deleted file mode 100755
index 80ab52b..0000000
--- a/SRC/Boost/boost/tuple/detail/tuple_basic_no_partial_spec.hpp
+++ /dev/null
@@ -1,865 +0,0 @@
-// - tuple_basic_no_partial_spec.hpp -----------------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-// Copyright (C) 2001 Douglas Gregor (gregod at rpi.edu)
-// Copyright (C) 2001 Gary Powell (gary.powell at sierra.com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org or http://lambda.cs.utu.fi
-
-// Revision History
-//  14 02 01    Remove extra ';'. Also, fixed 10-parameter to make_tuple. (DG)
-//  10 02 01    Fixed "null_type" constructors.
-//              Implemented comparison operators globally.
-//              Hide element_type_ref and element_type_const_ref.
-//              (DG).
-//  09 02 01    Extended to tuples of length 10. Changed comparison for
-//              operator<()
-//              to the same used by std::pair<>, added cnull_type() (GP)
-//  03 02 01    Initial Version from original tuple.hpp code by JJ. (DG)
-
-// -----------------------------------------------------------------
-
-#ifndef BOOST_TUPLE_BASIC_NO_PARTIAL_SPEC_HPP
-#define BOOST_TUPLE_BASIC_NO_PARTIAL_SPEC_HPP
-
-#include "boost/type_traits.hpp"
-#include "boost/utility/swap.hpp"
-#include <utility>
-
-#if defined BOOST_MSVC
-#pragma warning(disable:4518) // storage-class or type specifier(s) unexpected here; ignored
-#pragma warning(disable:4181) // qualifier applied to reference type ignored
-#pragma warning(disable:4227) // qualifier applied to reference type ignored
-#endif
-
-namespace boost {
-namespace tuples {
-
-    // null_type denotes the end of a list built with "cons"
-    struct null_type
-    {
-      null_type() {}
-      null_type(const null_type&, const null_type&) {}
-    };
-
-    // a helper function to provide a const null_type type temporary
-    inline const null_type cnull_type() { return null_type(); }
-
-// forward declaration of tuple
-    template<
-      typename T1 = null_type,
-      typename T2 = null_type,
-      typename T3 = null_type,
-      typename T4 = null_type,
-      typename T5 = null_type,
-      typename T6 = null_type,
-      typename T7 = null_type,
-      typename T8 = null_type,
-      typename T9 = null_type,
-      typename T10 = null_type
-    >
-    class tuple;
-
-// forward declaration of cons
-    template<typename Head, typename Tail = null_type>
-    struct cons;
-
-    namespace detail {
-
-      // Takes a pointer and routes all assignments to whatever it points to
-      template<typename T>
-      struct assign_to_pointee
-      {
-      public:
-        explicit assign_to_pointee(T* p) : ptr(p) {}
-
-        template<typename Other>
-        assign_to_pointee& operator=(const Other& other)
-        {
-          *ptr = other;
-          return *this;
-        }
-
-      private:
-        T* ptr;
-      };
-
-      // Swallows any assignment
-      struct swallow_assign
-      {
-        template<typename T>
-        swallow_assign const& operator=(const T&) const
-        {
-          return *this;
-        }
-      };
-
-    template <typename T> struct add_const_reference : add_reference<typename add_const<T>::type> {};
-
-    template <class MyTail>
-    struct init_tail
-    {
-        // Each of vc6 and vc7 seem to require a different formulation
-        // of this return type
-        template <class H, class T>
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-        static typename add_reference<typename add_const<T>::type>::type
-#else
-        static typename add_const_reference<T>::type
-#endif
-        execute( cons<H,T> const& u, long )
-        {
-            return u.get_tail();
-        }
-    };
-
-    template <>
-    struct init_tail<null_type>
-    {
-        template <class H>
-        static null_type execute( cons<H,null_type> const& u, long )
-        {
-            return null_type();
-        }
-
-        template <class U>
-        static null_type execute(U const&, ...)
-        {
-            return null_type();
-        }
-     private:
-        template <class H, class T>
-        void execute( cons<H,T> const&, int);
-    };
-
-    template <class Other>
-    Other const&
-    init_head( Other const& u, ... )
-    {
-        return u;
-    }
-
-    template <class H, class T>
-    typename add_reference<typename add_const<H>::type>::type
-    init_head( cons<H,T> const& u, int )
-    {
-        return u.get_head();
-    }
-
-    inline char**** init_head(null_type const&, int);
-
-  } // end of namespace detail
-
-    // cons builds a heterogenous list of types
-   template<typename Head, typename Tail>
-   struct cons
-   {
-     typedef cons self_type;
-     typedef Head head_type;
-     typedef Tail tail_type;
-
-    private:
-       typedef typename boost::add_reference<head_type>::type head_ref;
-       typedef typename boost::add_reference<tail_type>::type tail_ref;
-       typedef typename detail::add_const_reference<head_type>::type head_cref;
-       typedef typename detail::add_const_reference<tail_type>::type tail_cref;
-    public:
-     head_type head;
-     tail_type tail;
-
-     head_ref get_head() { return head; }
-     tail_ref get_tail() { return tail; }
-
-     head_cref get_head() const { return head; }
-     tail_cref get_tail() const { return tail; }
-
-     cons() : head(), tail() {}
-
-#if defined BOOST_MSVC
-      template<typename Tail>
-      cons(head_cref h /* = head_type() */, // causes MSVC 6.5 to barf.
-                    const Tail& t) : head(h), tail(t.head, t.tail)
-      {
-      }
-
-      cons(head_cref h /* = head_type() */, // causes MSVC 6.5 to barf.
-                    const null_type& t) : head(h), tail(t)
-      {
-      }
-
-#else
-      template<typename T>
-      explicit cons(head_cref h, const T& t) :
-        head(h), tail(t.head, t.tail)
-      {
-      }
-
-      explicit cons(head_cref h = head_type(),
-                    tail_cref t = tail_type()) :
-        head(h), tail(t)
-      {
-      }
-#endif
-
-      template <class U>
-      cons( const U& u )
-        : head(detail::init_head(u, 0))
-        , tail(detail::init_tail<Tail>::execute(u, 0L))
-       {
-       }
-
-      template<typename Other>
-      cons& operator=(const Other& other)
-      {
-        head = other.head;
-        tail = other.tail;
-        return *this;
-      }
-    };
-
-    namespace detail {
-
-      // Determines if the parameter is null_type
-      template<typename T> struct is_null_type { enum { RET = 0 }; };
-      template<> struct is_null_type<null_type> { enum { RET = 1 }; };
-
-      /* Build a cons structure from the given Head and Tail. If both are null_type,
-      return null_type. */
-      template<typename Head, typename Tail>
-      struct build_cons
-      {
-      private:
-        enum { tail_is_null_type = is_null_type<Tail>::RET };
-      public:
-        typedef cons<Head, Tail> RET;
-      };
-
-      template<>
-      struct build_cons<null_type, null_type>
-      {
-        typedef null_type RET;
-      };
-
-      // Map the N elements of a tuple into a cons list
-      template<
-        typename T1,
-        typename T2 = null_type,
-        typename T3 = null_type,
-        typename T4 = null_type,
-        typename T5 = null_type,
-        typename T6 = null_type,
-        typename T7 = null_type,
-        typename T8 = null_type,
-        typename T9 = null_type,
-        typename T10 = null_type
-      >
-      struct map_tuple_to_cons
-      {
-        typedef typename detail::build_cons<T10, null_type  >::RET cons10;
-        typedef typename detail::build_cons<T9, cons10>::RET cons9;
-        typedef typename detail::build_cons<T8, cons9>::RET cons8;
-        typedef typename detail::build_cons<T7, cons8>::RET cons7;
-        typedef typename detail::build_cons<T6, cons7>::RET cons6;
-        typedef typename detail::build_cons<T5, cons6>::RET cons5;
-        typedef typename detail::build_cons<T4, cons5>::RET cons4;
-        typedef typename detail::build_cons<T3, cons4>::RET cons3;
-        typedef typename detail::build_cons<T2, cons3>::RET cons2;
-        typedef typename detail::build_cons<T1, cons2>::RET cons1;
-      };
-
-      // Workaround the lack of partial specialization in some compilers
-      template<int N>
-      struct _element_type
-      {
-        template<typename Tuple>
-        struct inner
-        {
-        private:
-          typedef typename Tuple::tail_type tail_type;
-          typedef _element_type<N-1> next_elt_type;
-
-        public:
-          typedef typename _element_type<N-1>::template inner<tail_type>::RET RET;
-        };
-      };
-
-      template<>
-      struct _element_type<0>
-      {
-        template<typename Tuple>
-        struct inner
-        {
-          typedef typename Tuple::head_type RET;
-        };
-      };
-
-    } // namespace detail
-
-
-    // Return the Nth type of the given Tuple
-    template<int N, typename Tuple>
-    struct element
-    {
-    private:
-      typedef detail::_element_type<N> nth_type;
-
-    public:
-      typedef typename nth_type::template inner<Tuple>::RET RET;
-      typedef RET type;
-    };
-
-    namespace detail {
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC == 1300)
-      // special workaround for vc7:
-
-      template <bool x>
-      struct reference_adder
-      {
-         template <class T>
-         struct rebind
-         {
-            typedef T& type;
-         };
-      };
-
-      template <>
-      struct reference_adder<true>
-      {
-         template <class T>
-         struct rebind
-         {
-            typedef T type;
-         };
-      };
-
-
-      // Return a reference to the Nth type of the given Tuple
-      template<int N, typename Tuple>
-      struct element_ref
-      {
-      private:
-         typedef typename element<N, Tuple>::RET elt_type;
-         enum { is_ref = is_reference<elt_type>::value };
-
-      public:
-         typedef reference_adder<is_ref>::rebind<elt_type>::type RET;
-         typedef RET type;
-      };
-
-      // Return a const reference to the Nth type of the given Tuple
-      template<int N, typename Tuple>
-      struct element_const_ref
-      {
-      private:
-         typedef typename element<N, Tuple>::RET elt_type;
-         enum { is_ref = is_reference<elt_type>::value };
-
-      public:
-         typedef reference_adder<is_ref>::rebind<const elt_type>::type RET;
-         typedef RET type;
-      };
-
-#else // vc7
-
-      // Return a reference to the Nth type of the given Tuple
-      template<int N, typename Tuple>
-      struct element_ref
-      {
-      private:
-        typedef typename element<N, Tuple>::RET elt_type;
-
-      public:
-        typedef typename add_reference<elt_type>::type RET;
-        typedef RET type;
-      };
-
-      // Return a const reference to the Nth type of the given Tuple
-      template<int N, typename Tuple>
-      struct element_const_ref
-      {
-      private:
-        typedef typename element<N, Tuple>::RET elt_type;
-
-      public:
-        typedef typename add_reference<const elt_type>::type RET;
-        typedef RET type;
-      };
-#endif // vc7
-
-    } // namespace detail
-
-    // Get length of this tuple
-    template<typename Tuple>
-    struct length
-    {
-      BOOST_STATIC_CONSTANT(int, value = 1 + length<typename Tuple::tail_type>::value);
-    };
-
-    template<> struct length<tuple<> > {
-      BOOST_STATIC_CONSTANT(int, value = 0);
-    };
-
-    template<>
-    struct length<null_type>
-    {
-      BOOST_STATIC_CONSTANT(int, value = 0);
-    };
-
-    namespace detail {
-
-    // Reference the Nth element in a tuple and retrieve it with "get"
-    template<int N>
-    struct get_class
-    {
-      template<typename Head, typename Tail>
-      static inline
-      typename detail::element_ref<N, cons<Head, Tail> >::RET
-      get(cons<Head, Tail>& t)
-      {
-        return get_class<N-1>::get(t.tail);
-      }
-
-      template<typename Head, typename Tail>
-      static inline
-      typename detail::element_const_ref<N, cons<Head, Tail> >::RET
-      get(const cons<Head, Tail>& t)
-      {
-        return get_class<N-1>::get(t.tail);
-      }
-    };
-
-    template<>
-    struct get_class<0>
-    {
-      template<typename Head, typename Tail>
-      static inline
-      typename add_reference<Head>::type
-      get(cons<Head, Tail>& t)
-      {
-        return t.head;
-      }
-
-      template<typename Head, typename Tail>
-      static inline
-      typename add_reference<const Head>::type
-      get(const cons<Head, Tail>& t)
-      {
-        return t.head;
-      }
-    };
-
-    } // namespace detail
-
-    // tuple class
-    template<
-      typename T1,
-      typename T2,
-      typename T3,
-      typename T4,
-      typename T5,
-      typename T6,
-      typename T7,
-      typename T8,
-      typename T9,
-      typename T10
-    >
-    class tuple :
-      public detail::map_tuple_to_cons<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>::cons1
-    {
-    private:
-      typedef detail::map_tuple_to_cons<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> mapped_tuple;
-      typedef typename mapped_tuple::cons10 cons10;
-      typedef typename mapped_tuple::cons9 cons9;
-      typedef typename mapped_tuple::cons8 cons8;
-      typedef typename mapped_tuple::cons7 cons7;
-      typedef typename mapped_tuple::cons6 cons6;
-      typedef typename mapped_tuple::cons5 cons5;
-      typedef typename mapped_tuple::cons4 cons4;
-      typedef typename mapped_tuple::cons3 cons3;
-      typedef typename mapped_tuple::cons2 cons2;
-      typedef typename mapped_tuple::cons1 cons1;
-
-      typedef typename detail::add_const_reference<T1>::type t1_cref;
-      typedef typename detail::add_const_reference<T2>::type t2_cref;
-      typedef typename detail::add_const_reference<T3>::type t3_cref;
-      typedef typename detail::add_const_reference<T4>::type t4_cref;
-      typedef typename detail::add_const_reference<T5>::type t5_cref;
-      typedef typename detail::add_const_reference<T6>::type t6_cref;
-      typedef typename detail::add_const_reference<T7>::type t7_cref;
-      typedef typename detail::add_const_reference<T8>::type t8_cref;
-      typedef typename detail::add_const_reference<T9>::type t9_cref;
-      typedef typename detail::add_const_reference<T10>::type t10_cref;
-    public:
-      typedef cons1 inherited;
-      typedef tuple self_type;
-
-      tuple() : cons1(T1(), cons2(T2(), cons3(T3(), cons4(T4(), cons5(T5(), cons6(T6(),cons7(T7(),cons8(T8(),cons9(T9(),cons10(T10()))))))))))
-        {}
-
-      tuple(
-          t1_cref t1,
-          t2_cref t2,
-          t3_cref t3 = T3(),
-          t4_cref t4 = T4(),
-          t5_cref t5 = T5(),
-          t6_cref t6 = T6(),
-          t7_cref t7 = T7(),
-          t8_cref t8 = T8(),
-          t9_cref t9 = T9(),
-          t10_cref t10 = T10()
-      ) :
-        cons1(t1, cons2(t2, cons3(t3, cons4(t4, cons5(t5, cons6(t6,cons7(t7,cons8(t8,cons9(t9,cons10(t10))))))))))
-      {
-      }
-
-      explicit tuple(t1_cref t1)
-        : cons1(t1, cons2(T2(), cons3(T3(), cons4(T4(), cons5(T5(), cons6(T6(),cons7(T7(),cons8(T8(),cons9(T9(),cons10(T10()))))))))))
-      {}
-
-      template<typename Head, typename Tail>
-      tuple(const cons<Head, Tail>& other) :
-        cons1(other.head, other.tail)
-      {
-      }
-
-      template<typename First, typename Second>
-      self_type& operator=(const std::pair<First, Second>& other)
-      {
-        this->head = other.first;
-        this->tail.head = other.second;
-        return *this;
-      }
-
-      template<typename Head, typename Tail>
-      self_type& operator=(const cons<Head, Tail>& other)
-      {
-        this->head = other.head;
-        this->tail = other.tail;
-
-        return *this;
-      }
-    };
-
-    namespace detail {
-
-      template<int N> struct workaround_holder {};
-
-    } // namespace detail
-
-    template<int N, typename Head, typename Tail>
-    typename detail::element_ref<N, cons<Head, Tail> >::RET
-    get(cons<Head, Tail>& t, detail::workaround_holder<N>* = 0)
-    {
-      return detail::get_class<N>::get(t);
-    }
-
-    template<int N, typename Head, typename Tail>
-    typename detail::element_const_ref<N, cons<Head, Tail> >::RET
-    get(const cons<Head, Tail>& t, detail::workaround_holder<N>* = 0)
-    {
-      return detail::get_class<N>::get(t);
-    }
-
-    // Make a tuple
-    template<typename T1>
-    inline
-    tuple<T1>
-    make_tuple(const T1& t1)
-    {
-      return tuple<T1>(t1);
-    }
-
-    // Make a tuple
-    template<typename T1, typename T2>
-    inline
-    tuple<T1, T2>
-    make_tuple(const T1& t1, const T2& t2)
-    {
-      return tuple<T1, T2>(t1, t2);
-    }
-
-    // Make a tuple
-    template<typename T1, typename T2, typename T3>
-    inline
-    tuple<T1, T2, T3>
-    make_tuple(const T1& t1, const T2& t2, const T3& t3)
-    {
-      return tuple<T1, T2, T3>(t1, t2, t3);
-    }
-
-    // Make a tuple
-    template<typename T1, typename T2, typename T3, typename T4>
-    inline
-    tuple<T1, T2, T3, T4>
-    make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4)
-    {
-      return tuple<T1, T2, T3, T4>(t1, t2, t3, t4);
-    }
-
-    // Make a tuple
-    template<typename T1, typename T2, typename T3, typename T4, typename T5>
-    inline
-    tuple<T1, T2, T3, T4, T5>
-    make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5)
-    {
-      return tuple<T1, T2, T3, T4, T5>(t1, t2, t3, t4, t5);
-    }
-
-    // Make a tuple
-    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
-    inline
-    tuple<T1, T2, T3, T4, T5, T6>
-    make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6)
-    {
-      return tuple<T1, T2, T3, T4, T5, T6>(t1, t2, t3, t4, t5, t6);
-    }
-
-    // Make a tuple
-    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
-    inline
-    tuple<T1, T2, T3, T4, T5, T6, T7>
-    make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7)
-    {
-      return tuple<T1, T2, T3, T4, T5, T6, T7>(t1, t2, t3, t4, t5, t6, t7);
-    }
-
-    // Make a tuple
-    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
-    inline
-    tuple<T1, T2, T3, T4, T5, T6, T7, T8>
-    make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8)
-    {
-      return tuple<T1, T2, T3, T4, T5, T6, T7, T8>(t1, t2, t3, t4, t5, t6, t7, t8);
-    }
-
-    // Make a tuple
-    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
-    inline
-    tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9>
-    make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9)
-    {
-      return tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9>(t1, t2, t3, t4, t5, t6, t7, t8, t9);
-    }
-
-    // Make a tuple
-    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
-    inline
-    tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
-    make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10)
-    {
-      return tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10);
-    }
-
-    // Tie variables into a tuple
-    template<typename T1>
-    inline
-    tuple<detail::assign_to_pointee<T1> >
-    tie(T1& t1)
-    {
-      return make_tuple(detail::assign_to_pointee<T1>(&t1));
-    }
-
-    // Tie variables into a tuple
-    template<typename T1, typename T2>
-    inline
-    tuple<detail::assign_to_pointee<T1>,
-      detail::assign_to_pointee<T2> >
-    tie(T1& t1, T2& t2)
-    {
-      return make_tuple(detail::assign_to_pointee<T1>(&t1),
-                        detail::assign_to_pointee<T2>(&t2));
-    }
-
-    // Tie variables into a tuple
-    template<typename T1, typename T2, typename T3>
-    inline
-    tuple<detail::assign_to_pointee<T1>,
-      detail::assign_to_pointee<T2>,
-      detail::assign_to_pointee<T3> >
-    tie(T1& t1, T2& t2, T3& t3)
-    {
-      return make_tuple(detail::assign_to_pointee<T1>(&t1),
-                        detail::assign_to_pointee<T2>(&t2),
-                        detail::assign_to_pointee<T3>(&t3));
-    }
-
-    // Tie variables into a tuple
-    template<typename T1, typename T2, typename T3, typename T4>
-    inline
-    tuple<detail::assign_to_pointee<T1>,
-      detail::assign_to_pointee<T2>,
-      detail::assign_to_pointee<T3>,
-      detail::assign_to_pointee<T4> >
-    tie(T1& t1, T2& t2, T3& t3, T4& t4)
-    {
-      return make_tuple(detail::assign_to_pointee<T1>(&t1),
-                        detail::assign_to_pointee<T2>(&t2),
-                        detail::assign_to_pointee<T3>(&t3),
-                        detail::assign_to_pointee<T4>(&t4));
-    }
-
-    // Tie variables into a tuple
-    template<typename T1, typename T2, typename T3, typename T4, typename T5>
-    inline
-    tuple<detail::assign_to_pointee<T1>,
-      detail::assign_to_pointee<T2>,
-      detail::assign_to_pointee<T3>,
-      detail::assign_to_pointee<T4>,
-      detail::assign_to_pointee<T5> >
-    tie(T1& t1, T2& t2, T3& t3, T4& t4, T5 &t5)
-    {
-      return make_tuple(detail::assign_to_pointee<T1>(&t1),
-                        detail::assign_to_pointee<T2>(&t2),
-                        detail::assign_to_pointee<T3>(&t3),
-                        detail::assign_to_pointee<T4>(&t4),
-                        detail::assign_to_pointee<T5>(&t5));
-    }
-
-    // Tie variables into a tuple
-    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
-    inline
-    tuple<detail::assign_to_pointee<T1>,
-      detail::assign_to_pointee<T2>,
-      detail::assign_to_pointee<T3>,
-      detail::assign_to_pointee<T4>,
-      detail::assign_to_pointee<T5>,
-      detail::assign_to_pointee<T6> >
-    tie(T1& t1, T2& t2, T3& t3, T4& t4, T5 &t5, T6 &t6)
-    {
-      return make_tuple(detail::assign_to_pointee<T1>(&t1),
-                        detail::assign_to_pointee<T2>(&t2),
-                        detail::assign_to_pointee<T3>(&t3),
-                        detail::assign_to_pointee<T4>(&t4),
-                        detail::assign_to_pointee<T5>(&t5),
-                        detail::assign_to_pointee<T6>(&t6));
-    }
-
-    // Tie variables into a tuple
-    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
-    inline
-    tuple<detail::assign_to_pointee<T1>,
-      detail::assign_to_pointee<T2>,
-      detail::assign_to_pointee<T3>,
-      detail::assign_to_pointee<T4>,
-      detail::assign_to_pointee<T5>,
-      detail::assign_to_pointee<T6>,
-      detail::assign_to_pointee<T7> >
-    tie(T1& t1, T2& t2, T3& t3, T4& t4, T5 &t5, T6 &t6, T7 &t7)
-    {
-      return make_tuple(detail::assign_to_pointee<T1>(&t1),
-                        detail::assign_to_pointee<T2>(&t2),
-                        detail::assign_to_pointee<T3>(&t3),
-                        detail::assign_to_pointee<T4>(&t4),
-                        detail::assign_to_pointee<T5>(&t5),
-                        detail::assign_to_pointee<T6>(&t6),
-                        detail::assign_to_pointee<T7>(&t7));
-    }
-
-    // Tie variables into a tuple
-    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
-    inline
-    tuple<detail::assign_to_pointee<T1>,
-      detail::assign_to_pointee<T2>,
-      detail::assign_to_pointee<T3>,
-      detail::assign_to_pointee<T4>,
-      detail::assign_to_pointee<T5>,
-      detail::assign_to_pointee<T6>,
-      detail::assign_to_pointee<T7>,
-      detail::assign_to_pointee<T8> >
-    tie(T1& t1, T2& t2, T3& t3, T4& t4, T5 &t5, T6 &t6, T7 &t7, T8 &t8)
-    {
-      return make_tuple(detail::assign_to_pointee<T1>(&t1),
-                        detail::assign_to_pointee<T2>(&t2),
-                        detail::assign_to_pointee<T3>(&t3),
-                        detail::assign_to_pointee<T4>(&t4),
-                        detail::assign_to_pointee<T5>(&t5),
-                        detail::assign_to_pointee<T6>(&t6),
-                        detail::assign_to_pointee<T7>(&t7),
-                        detail::assign_to_pointee<T8>(&t8));
-    }
-
-    // Tie variables into a tuple
-    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
-    inline
-    tuple<detail::assign_to_pointee<T1>,
-      detail::assign_to_pointee<T2>,
-      detail::assign_to_pointee<T3>,
-      detail::assign_to_pointee<T4>,
-      detail::assign_to_pointee<T5>,
-      detail::assign_to_pointee<T6>,
-      detail::assign_to_pointee<T7>,
-      detail::assign_to_pointee<T8>,
-      detail::assign_to_pointee<T9> >
-    tie(T1& t1, T2& t2, T3& t3, T4& t4, T5 &t5, T6 &t6, T7 &t7, T8 &t8, T9 &t9)
-    {
-      return make_tuple(detail::assign_to_pointee<T1>(&t1),
-                        detail::assign_to_pointee<T2>(&t2),
-                        detail::assign_to_pointee<T3>(&t3),
-                        detail::assign_to_pointee<T4>(&t4),
-                        detail::assign_to_pointee<T5>(&t5),
-                        detail::assign_to_pointee<T6>(&t6),
-                        detail::assign_to_pointee<T7>(&t7),
-                        detail::assign_to_pointee<T8>(&t8),
-                        detail::assign_to_pointee<T9>(&t9));
-    }
-    // Tie variables into a tuple
-    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
-    inline
-    tuple<detail::assign_to_pointee<T1>,
-      detail::assign_to_pointee<T2>,
-      detail::assign_to_pointee<T3>,
-      detail::assign_to_pointee<T4>,
-      detail::assign_to_pointee<T5>,
-      detail::assign_to_pointee<T6>,
-      detail::assign_to_pointee<T7>,
-      detail::assign_to_pointee<T8>,
-      detail::assign_to_pointee<T9>,
-      detail::assign_to_pointee<T10> >
-    tie(T1& t1, T2& t2, T3& t3, T4& t4, T5 &t5, T6 &t6, T7 &t7, T8 &t8, T9 &t9, T10 &t10)
-    {
-      return make_tuple(detail::assign_to_pointee<T1>(&t1),
-                        detail::assign_to_pointee<T2>(&t2),
-                        detail::assign_to_pointee<T3>(&t3),
-                        detail::assign_to_pointee<T4>(&t4),
-                        detail::assign_to_pointee<T5>(&t5),
-                        detail::assign_to_pointee<T6>(&t6),
-                        detail::assign_to_pointee<T7>(&t7),
-                        detail::assign_to_pointee<T8>(&t8),
-                        detail::assign_to_pointee<T9>(&t9),
-                        detail::assign_to_pointee<T10>(&t10));
-    }
-    // "ignore" allows tuple positions to be ignored when using "tie".
-
-detail::swallow_assign const ignore = detail::swallow_assign();
-
-template <class T0, class T1, class T2, class T3, class T4,
-          class T5, class T6, class T7, class T8, class T9>
-void swap(tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& lhs,
-          tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& rhs);
-inline void swap(null_type&, null_type&) {}
-template<class HH>
-inline void swap(cons<HH, null_type>& lhs, cons<HH, null_type>& rhs) {
-  ::boost::swap(lhs.head, rhs.head);
-}
-template<class HH, class TT>
-inline void swap(cons<HH, TT>& lhs, cons<HH, TT>& rhs) {
-  ::boost::swap(lhs.head, rhs.head);
-  ::boost::tuples::swap(lhs.tail, rhs.tail);
-}
-template <class T0, class T1, class T2, class T3, class T4,
-          class T5, class T6, class T7, class T8, class T9>
-inline void swap(tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& lhs,
-          tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& rhs) {
-  typedef tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> tuple_type;
-  typedef typename tuple_type::inherited base;
-  ::boost::tuples::swap(static_cast<base&>(lhs), static_cast<base&>(rhs));
-}
-
-} // namespace tuples
-} // namespace boost
-#endif // BOOST_TUPLE_BASIC_NO_PARTIAL_SPEC_HPP
diff --git a/SRC/Boost/boost/tuple/tuple.hpp b/SRC/Boost/boost/tuple/tuple.hpp
deleted file mode 100755
index e4f6f9c..0000000
--- a/SRC/Boost/boost/tuple/tuple.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-//  tuple.hpp - Boost Tuple Library --------------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-// ----------------------------------------------------------------- 
-
-#ifndef BOOST_TUPLE_HPP
-#define BOOST_TUPLE_HPP
-
-#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730
-// Work around a compiler bug.
-// boost::python::tuple has to be seen by the compiler before the
-// boost::tuple class template.
-namespace boost { namespace python { class tuple; }}
-#endif
-
-#include "boost/config.hpp"
-#include "boost/static_assert.hpp"
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-// The MSVC version
-#include "boost/tuple/detail/tuple_basic_no_partial_spec.hpp"
-
-#else
-// other compilers
-#include "boost/ref.hpp"
-#include "boost/tuple/detail/tuple_basic.hpp"
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace boost {    
-
-using tuples::tuple;
-using tuples::make_tuple;
-using tuples::tie;
-#if !defined(BOOST_NO_USING_TEMPLATE)
-using tuples::get;
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-//
-// The "using tuples::get" statement causes the
-// Borland compiler to ICE, use forwarding
-// functions instead:
-//
-template<int N, class HT, class TT>
-inline typename tuples::access_traits<
-                  typename tuples::element<N, tuples::cons<HT, TT> >::type
-                >::non_const_type
-get(tuples::cons<HT, TT>& c) {
-  return tuples::get<N,HT,TT>(c);
-} 
-// get function for const cons-lists, returns a const reference to
-// the element. If the element is a reference, returns the reference
-// as such (that is, can return a non-const reference)
-template<int N, class HT, class TT>
-inline typename tuples::access_traits<
-                  typename tuples::element<N, tuples::cons<HT, TT> >::type
-                >::const_type
-get(const tuples::cons<HT, TT>& c) {
-  return tuples::get<N,HT,TT>(c);
-}
-#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-//
-// MSVC, using declarations don't mix with templates well,
-// so use forwarding functions instead:
-//
-template<int N, typename Head, typename Tail>
-typename tuples::detail::element_ref<N, tuples::cons<Head, Tail> >::RET
-get(tuples::cons<Head, Tail>& t, tuples::detail::workaround_holder<N>* = 0)
-{
-   return tuples::detail::get_class<N>::get(t);
-}
-
-template<int N, typename Head, typename Tail>
-typename tuples::detail::element_const_ref<N, tuples::cons<Head, Tail> >::RET
-get(const tuples::cons<Head, Tail>& t, tuples::detail::workaround_holder<N>* = 0)
-{
-   return tuples::detail::get_class<N>::get(t);
-}
-#endif // BOOST_NO_USING_TEMPLATE
-   
-} // end namespace boost
-
-
-#endif // BOOST_TUPLE_HPP
diff --git a/SRC/Boost/boost/type.hpp b/SRC/Boost/boost/type.hpp
deleted file mode 100755
index 4a1f750..0000000
--- a/SRC/Boost/boost/type.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// (C) Copyright David Abrahams 2001.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_DWA20010120_HPP
-# define BOOST_TYPE_DWA20010120_HPP
-
-namespace boost {
-
-  // Just a simple "type envelope". Useful in various contexts, mostly to work
-  // around some MSVC deficiencies.
-  template <class T>
-  struct type {};
-
-}
-
-#endif // BOOST_TYPE_DWA20010120_HPP
diff --git a/SRC/Boost/boost/type_traits.hpp b/SRC/Boost/boost/type_traits.hpp
deleted file mode 100755
index f2a82a6..0000000
--- a/SRC/Boost/boost/type_traits.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-//  (C) Copyright John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-//  See boost/type_traits/*.hpp for full copyright notices.
-
-#ifndef BOOST_TYPE_TRAITS_HPP
-#define BOOST_TYPE_TRAITS_HPP
-
-#include "boost/type_traits/add_const.hpp"
-#include "boost/type_traits/add_cv.hpp"
-#include "boost/type_traits/add_lvalue_reference.hpp"
-#include "boost/type_traits/add_pointer.hpp"
-#include "boost/type_traits/add_reference.hpp"
-#include "boost/type_traits/add_rvalue_reference.hpp"
-#include "boost/type_traits/add_volatile.hpp"
-#include "boost/type_traits/aligned_storage.hpp"
-#include "boost/type_traits/alignment_of.hpp"
-#include "boost/type_traits/common_type.hpp"
-#include "boost/type_traits/conditional.hpp"
-#include "boost/type_traits/decay.hpp"
-#include "boost/type_traits/extent.hpp"
-#include "boost/type_traits/floating_point_promotion.hpp"
-#include "boost/type_traits/function_traits.hpp"
-#if !defined(__BORLANDC__) && !defined(__CUDACC__)
-#include "boost/type_traits/has_new_operator.hpp"
-#endif
-#include "boost/type_traits/has_nothrow_assign.hpp"
-#include "boost/type_traits/has_nothrow_constructor.hpp"
-#include "boost/type_traits/has_nothrow_copy.hpp"
-#include "boost/type_traits/has_nothrow_destructor.hpp"
-#include <boost/type_traits/has_operator.hpp>
-#include "boost/type_traits/has_trivial_assign.hpp"
-#include "boost/type_traits/has_trivial_constructor.hpp"
-#include "boost/type_traits/has_trivial_copy.hpp"
-#include "boost/type_traits/has_trivial_destructor.hpp"
-#include "boost/type_traits/has_virtual_destructor.hpp"
-#include "boost/type_traits/is_abstract.hpp"
-#include "boost/type_traits/is_arithmetic.hpp"
-#include "boost/type_traits/is_array.hpp"
-#include "boost/type_traits/is_base_and_derived.hpp"
-#include "boost/type_traits/is_base_of.hpp"
-#include "boost/type_traits/is_class.hpp"
-#include <boost/type_traits/is_complex.hpp>
-#include "boost/type_traits/is_compound.hpp"
-#include "boost/type_traits/is_const.hpp"
-#include "boost/type_traits/is_convertible.hpp"
-#include "boost/type_traits/is_empty.hpp"
-#include "boost/type_traits/is_enum.hpp"
-#include "boost/type_traits/is_float.hpp"
-#include "boost/type_traits/is_floating_point.hpp"
-#include "boost/type_traits/is_function.hpp"
-#include "boost/type_traits/is_fundamental.hpp"
-#include "boost/type_traits/is_integral.hpp"
-#include "boost/type_traits/is_lvalue_reference.hpp"
-#include "boost/type_traits/is_member_function_pointer.hpp"
-#include "boost/type_traits/is_member_object_pointer.hpp"
-#include "boost/type_traits/is_member_pointer.hpp"
-#include "boost/type_traits/is_object.hpp"
-#include "boost/type_traits/is_pod.hpp"
-#include "boost/type_traits/is_polymorphic.hpp"
-#include "boost/type_traits/is_pointer.hpp"
-#include "boost/type_traits/is_reference.hpp"
-#include "boost/type_traits/is_rvalue_reference.hpp"
-#include "boost/type_traits/is_signed.hpp"
-#include "boost/type_traits/is_same.hpp"
-#include "boost/type_traits/is_scalar.hpp"
-#include "boost/type_traits/is_stateless.hpp"
-#include "boost/type_traits/is_union.hpp"
-#include "boost/type_traits/is_unsigned.hpp"
-#include "boost/type_traits/is_void.hpp"
-#include "boost/type_traits/is_virtual_base_of.hpp"
-#include "boost/type_traits/is_volatile.hpp"
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/make_signed.hpp>
-#include "boost/type_traits/rank.hpp"
-#include "boost/type_traits/remove_bounds.hpp"
-#include "boost/type_traits/remove_extent.hpp"
-#include "boost/type_traits/remove_all_extents.hpp"
-#include "boost/type_traits/remove_const.hpp"
-#include "boost/type_traits/remove_cv.hpp"
-#include "boost/type_traits/remove_pointer.hpp"
-#include "boost/type_traits/remove_reference.hpp"
-#include "boost/type_traits/remove_volatile.hpp"
-#include "boost/type_traits/type_with_alignment.hpp"
-#if !(defined(__sgi) && defined(__EDG_VERSION__) && (__EDG_VERSION__ == 238))
-#include "boost/type_traits/integral_promotion.hpp"
-#include "boost/type_traits/promote.hpp"
-#endif
-
-#include "boost/type_traits/ice.hpp"
-
-#endif // BOOST_TYPE_TRAITS_HPP
diff --git a/SRC/Boost/boost/type_traits/add_const.hpp b/SRC/Boost/boost/type_traits/add_const.hpp
deleted file mode 100755
index 344a6d2..0000000
--- a/SRC/Boost/boost/type_traits/add_const.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ADD_CONST_HPP_INCLUDED
-#define BOOST_TT_ADD_CONST_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-// * convert a type T to const type - add_const<T>
-// this is not required since the result is always
-// the same as "T const", but it does suppress warnings
-// from some compilers:
-
-#if defined(BOOST_MSVC)
-// This bogus warning will appear when add_const is applied to a
-// const volatile reference because we can't detect const volatile
-// references with MSVC6.
-#   pragma warning(push)
-#   pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored
-#endif 
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_const,T,T const)
-
-#if defined(BOOST_MSVC)
-#   pragma warning(pop)
-#endif 
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_const,T&,T&)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_CONST_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/add_cv.hpp b/SRC/Boost/boost/type_traits/add_cv.hpp
deleted file mode 100755
index d43b726..0000000
--- a/SRC/Boost/boost/type_traits/add_cv.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_ADD_CV_HPP_INCLUDED
-#define BOOST_TT_ADD_CV_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-// * convert a type T to a const volatile type - add_cv<T>
-// this is not required since the result is always
-// the same as "T const volatile", but it does suppress warnings
-// from some compilers:
-
-#if defined(BOOST_MSVC)
-// This bogus warning will appear when add_volatile is applied to a
-// const volatile reference because we can't detect const volatile
-// references with MSVC6.
-#   pragma warning(push)
-#   pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored
-#endif 
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_cv,T,T const volatile)
-
-#if defined(BOOST_MSVC)
-#   pragma warning(pop)
-#endif 
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_cv,T&,T&)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_CV_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/add_lvalue_reference.hpp b/SRC/Boost/boost/type_traits/add_lvalue_reference.hpp
deleted file mode 100755
index 47cecb7..0000000
--- a/SRC/Boost/boost/type_traits/add_lvalue_reference.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//  Copyright 2010 John Maddock
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
-#define BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
-
-#include <boost/type_traits/add_reference.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost{
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_lvalue_reference,T,typename boost::add_reference<T>::type)
-
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_lvalue_reference,T&&,T&)
-#endif
-
-}
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif  // BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
diff --git a/SRC/Boost/boost/type_traits/add_pointer.hpp b/SRC/Boost/boost/type_traits/add_pointer.hpp
deleted file mode 100755
index 0099660..0000000
--- a/SRC/Boost/boost/type_traits/add_pointer.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ADD_POINTER_HPP_INCLUDED
-#define BOOST_TT_ADD_POINTER_HPP_INCLUDED
-
-#include <boost/type_traits/remove_reference.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x5A0)
-//
-// For some reason this implementation stops Borlands compiler
-// from dropping cv-qualifiers, it still fails with references
-// to arrays for some reason though (shrug...) (JM 20021104)
-//
-template <typename T>
-struct add_pointer_impl
-{
-    typedef T* type;
-};
-template <typename T>
-struct add_pointer_impl<T&>
-{
-    typedef T* type;
-};
-template <typename T>
-struct add_pointer_impl<T&const>
-{
-    typedef T* type;
-};
-template <typename T>
-struct add_pointer_impl<T&volatile>
-{
-    typedef T* type;
-};
-template <typename T>
-struct add_pointer_impl<T&const volatile>
-{
-    typedef T* type;
-};
-
-#else
-
-template <typename T>
-struct add_pointer_impl
-{
-    typedef typename remove_reference<T>::type no_ref_type;
-    typedef no_ref_type* type;
-};
-
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_pointer,T,typename boost::detail::add_pointer_impl<T>::type)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_POINTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/add_reference.hpp b/SRC/Boost/boost/type_traits/add_reference.hpp
deleted file mode 100755
index 1df2f24..0000000
--- a/SRC/Boost/boost/type_traits/add_reference.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
-
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
-template <bool x>
-struct reference_adder
-{
-    template <typename T> struct result_
-    {
-        typedef T& type;
-    };
-};
-
-template <>
-struct reference_adder<true>
-{
-    template <typename T> struct result_
-    {
-        typedef T type;
-    };
-};
-
-template <typename T>
-struct add_reference_impl
-{
-    typedef typename reference_adder<
-          ::boost::is_reference<T>::value
-        >::template result_<T> result;
-
-    typedef typename result::type type;
-};
-
-#else
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-
-template <typename T>
-struct add_reference_rvalue_layer
-{
-    typedef T& type;
-};
-
-#ifndef BOOST_NO_RVALUE_REFERENCES
-template <typename T>
-struct add_reference_rvalue_layer<T&&>
-{
-    typedef T&& type;
-};
-#endif
-
-template <typename T>
-struct add_reference_impl
-{
-    typedef typename add_reference_rvalue_layer<T>::type type;
-};
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)
-#endif
-
-#endif
-
-// these full specialisations are always required:
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void,void)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const,void const)
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void volatile,void volatile)
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const volatile,void const volatile)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_reference,T,typename boost::detail::add_reference_impl<T>::type)
-
-// agurt, 07/mar/03: workaround Borland's ill-formed sensitivity to an additional
-// level of indirection, here
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/add_rvalue_reference.hpp b/SRC/Boost/boost/type_traits/add_rvalue_reference.hpp
deleted file mode 100755
index bf857e7..0000000
--- a/SRC/Boost/boost/type_traits/add_rvalue_reference.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-//  add_rvalue_reference.hpp  ---------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
-#define BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
-
-#include <boost/config.hpp>
-
-//----------------------------------------------------------------------------//
-
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/is_reference.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-//----------------------------------------------------------------------------//
-//                                                                            //
-//                           C++03 implementation of                          //
-//             20.7.6.2 Reference modifications [meta.trans.ref]              //
-//                          Written by Vicente J. Botet Escriba               //
-//                                                                            //
-// If T names an object or function type then the member typedef type
-// shall name T&&; otherwise, type shall name T. [ Note: This rule reflects
-// the semantics of reference collapsing. For example, when a type T names
-// a type T1&, the type add_rvalue_reference<T>::type is not an rvalue
-// reference. -end note ]
-//----------------------------------------------------------------------------//
-
-namespace boost {
-
-namespace type_traits_detail {
-
-    template <typename T, bool b>
-    struct add_rvalue_reference_helper
-    { typedef T   type; };
-
-#if !defined(BOOST_NO_RVALUE_REFERENCES) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    template <typename T>
-    struct add_rvalue_reference_helper<T, true>
-    {
-        typedef T&&   type;
-    };
-#endif
-
-    template <typename T>
-    struct add_rvalue_reference_imp
-    { 
-       typedef typename boost::type_traits_detail::add_rvalue_reference_helper
-                  <T, (!is_void<T>::value && !is_reference<T>::value) >::type type; 
-    };
-
-}
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_rvalue_reference,T,typename boost::type_traits_detail::add_rvalue_reference_imp<T>::type)
-
-}  // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif  // BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
-
diff --git a/SRC/Boost/boost/type_traits/add_volatile.hpp b/SRC/Boost/boost/type_traits/add_volatile.hpp
deleted file mode 100755
index 0c563a3..0000000
--- a/SRC/Boost/boost/type_traits/add_volatile.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ADD_VOLATILE_HPP_INCLUDED
-#define BOOST_TT_ADD_VOLATILE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-// * convert a type T to volatile type - add_volatile<T>
-// this is not required since the result is always
-// the same as "T volatile", but it does suppress warnings
-// from some compilers:
-
-#if defined(BOOST_MSVC)
-// This bogus warning will appear when add_volatile is applied to a
-// const volatile reference because we can't detect const volatile
-// references with MSVC6.
-#   pragma warning(push)
-#   pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored
-#endif 
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_volatile,T,T volatile)
-
-#if defined(BOOST_MSVC)
-#   pragma warning(pop)
-#endif 
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_volatile,T&,T&)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_VOLATILE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/aligned_storage.hpp b/SRC/Boost/boost/type_traits/aligned_storage.hpp
deleted file mode 100755
index 46ee5ef..0000000
--- a/SRC/Boost/boost/type_traits/aligned_storage.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-
-//  Copyright (C) John Maddock 2005.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
-#  define BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
-#  include <boost/aligned_storage.hpp>
-#endif // BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/alignment_of.hpp b/SRC/Boost/boost/type_traits/alignment_of.hpp
deleted file mode 100755
index f95e0dd..0000000
--- a/SRC/Boost/boost/type_traits/alignment_of.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-
-//  (C) Copyright John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
-#define BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <cstddef>
-
-#include <boost/type_traits/intrinsics.hpp>
-// should be the last #include
-#include <boost/type_traits/detail/size_t_trait_def.hpp>
-
-#ifdef BOOST_MSVC
-#   pragma warning(push)
-#   pragma warning(disable: 4121 4512) // alignment is sensitive to packing
-#endif
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-#pragma option push -Vx- -Ve-
-#endif
-
-namespace boost {
-
-template <typename T> struct alignment_of;
-
-// get the alignment of some arbitrary type:
-namespace detail {
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4324) // structure was padded due to __declspec(align())
-#endif
-template <typename T>
-struct alignment_of_hack
-{
-    char c;
-    T t;
-    alignment_of_hack();
-};
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-template <unsigned A, unsigned S>
-struct alignment_logic
-{
-    BOOST_STATIC_CONSTANT(std::size_t, value = A < S ? A : S);
-};
-
-
-template< typename T >
-struct alignment_of_impl
-{
-#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400)
-    //
-    // With MSVC both the native __alignof operator
-    // and our own logic gets things wrong from time to time :-(
-    // Using a combination of the two seems to make the most of a bad job:
-    //
-    BOOST_STATIC_CONSTANT(std::size_t, value =
-        (::boost::detail::alignment_logic<
-            sizeof(::boost::detail::alignment_of_hack<T>) - sizeof(T),
-            __alignof(T)
-        >::value));
-#elif !defined(BOOST_ALIGNMENT_OF)
-    BOOST_STATIC_CONSTANT(std::size_t, value =
-        (::boost::detail::alignment_logic<
-            sizeof(::boost::detail::alignment_of_hack<T>) - sizeof(T),
-            sizeof(T)
-        >::value));
-#else
-   //
-   // We put this here, rather than in the definition of
-   // alignment_of below, because MSVC's __alignof doesn't
-   // always work in that context for some unexplained reason.
-   // (See type_with_alignment tests for test cases).
-   //
-   BOOST_STATIC_CONSTANT(std::size_t, value = BOOST_ALIGNMENT_OF(T));
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(alignment_of,T,::boost::detail::alignment_of_impl<T>::value)
-
-// references have to be treated specially, assume
-// that a reference is just a special pointer:
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template <typename T>
-struct alignment_of<T&>
-    : public alignment_of<T*>
-{
-};
-#endif
-#ifdef __BORLANDC__
-// long double gives an incorrect value of 10 (!)
-// unless we do this...
-struct long_double_wrapper{ long double ld; };
-template<> struct alignment_of<long double>
-   : public alignment_of<long_double_wrapper>{};
-#endif
-
-// void has to be treated specially:
-BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void,0)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void const,0)
-BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void volatile,0)
-BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void const volatile,0)
-#endif
-
-} // namespace boost
-
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-#pragma option pop
-#endif
-#ifdef BOOST_MSVC
-#   pragma warning(pop)
-#endif
-
-#include <boost/type_traits/detail/size_t_trait_undef.hpp>
-
-#endif // BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/alignment_traits.hpp b/SRC/Boost/boost/type_traits/alignment_traits.hpp
deleted file mode 100755
index aa61348..0000000
--- a/SRC/Boost/boost/type_traits/alignment_traits.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-
-//  (C) Copyright John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ALIGNMENT_TRAITS_HPP_INCLUDED
-#define BOOST_TT_ALIGNMENT_TRAITS_HPP_INCLUDED
-
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/type_traits/type_with_alignment.hpp>
-
-#endif // BOOST_TT_ALIGNMENT_TRAITS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/arithmetic_traits.hpp b/SRC/Boost/boost/type_traits/arithmetic_traits.hpp
deleted file mode 100755
index ec7fdfb..0000000
--- a/SRC/Boost/boost/type_traits/arithmetic_traits.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-//
-//  defines traits classes for arithmetic types:
-//  is_void, is_integral, is_float, is_arithmetic, is_fundamental.
-
-#ifndef BOOST_TT_ARITHMETIC_TRAITS_HPP_INCLUDED
-#define BOOST_TT_ARITHMETIC_TRAITS_HPP_INCLUDED
-
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/is_float.hpp>
-#include <boost/type_traits/is_fundamental.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_void.hpp>
-
-#endif // BOOST_TT_ARITHMETIC_TRAITS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/array_traits.hpp b/SRC/Boost/boost/type_traits/array_traits.hpp
deleted file mode 100755
index 01d4d27..0000000
--- a/SRC/Boost/boost/type_traits/array_traits.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_ARRAY_TRAITS_HPP_INCLUDED
-#define BOOST_TT_ARRAY_TRAITS_HPP_INCLUDED
-
-#include <boost/type_traits/is_array.hpp>
-
-#endif // BOOST_TT_ARRAY_TRAITS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/broken_compiler_spec.hpp b/SRC/Boost/boost/type_traits/broken_compiler_spec.hpp
deleted file mode 100755
index 7a38ffd..0000000
--- a/SRC/Boost/boost/type_traits/broken_compiler_spec.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-
-//  Copyright 2001-2003 Aleksey Gurtovoy.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
-#define BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/config.hpp>
-
-// these are needed regardless of BOOST_TT_NO_BROKEN_COMPILER_SPEC 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-namespace boost { namespace detail {
-template< typename T > struct remove_const_impl     { typedef T type; };
-template< typename T > struct remove_volatile_impl  { typedef T type; };
-template< typename T > struct remove_pointer_impl   { typedef T type; };
-template< typename T > struct remove_reference_impl { typedef T type; };
-typedef int invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces;
-}}
-#endif
-
-// agurt, 27/jun/03: disable the workaround if user defined 
-// BOOST_TT_NO_BROKEN_COMPILER_SPEC
-#if    !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    || defined(BOOST_TT_NO_BROKEN_COMPILER_SPEC)
-
-#   define BOOST_TT_BROKEN_COMPILER_SPEC(T) /**/
-
-#else
-
-// same as BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1 macro, except that it
-// never gets #undef-ined
-#   define BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(trait,spec,result) \
-template<> struct trait##_impl<spec> \
-{ \
-    typedef result type; \
-}; \
-/**/
-
-#   define BOOST_TT_AUX_REMOVE_CONST_VOLATILE_RANK1_SPEC(T)                         \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_const,T const,T)                    \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_const,T const volatile,T volatile)  \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_volatile,T volatile,T)              \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_volatile,T const volatile,T const)  \
-    /**/
-
-#   define BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T)                               \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*,T)                       \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*const,T)                  \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*volatile,T)               \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*const volatile,T)         \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_reference,T&,T)                     \
-    /**/
-
-#   define BOOST_TT_AUX_REMOVE_PTR_REF_RANK_2_SPEC(T)                               \
-    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T)                                      \
-    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T const)                                \
-    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T volatile)                             \
-    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T const volatile)                       \
-    /**/
-
-#   define BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T)                                   \
-    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_2_SPEC(T)                                      \
-    BOOST_TT_AUX_REMOVE_CONST_VOLATILE_RANK1_SPEC(T)                                \
-    /**/
-
-#   define BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T)                                   \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T*)                                         \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T const*)                                   \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T volatile*)                                \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T const volatile*)                          \
-    /**/
-
-#   define BOOST_TT_BROKEN_COMPILER_SPEC(T)                                         \
-    namespace boost { namespace detail {                                            \
-    typedef invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces             \
-      please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces;           \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T)                                          \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T)                                          \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T*)                                         \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T const*)                                   \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T volatile*)                                \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T const volatile*)                          \
-    }}                                                                              \
-    /**/
-
-#   include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-BOOST_TT_BROKEN_COMPILER_SPEC(bool)
-BOOST_TT_BROKEN_COMPILER_SPEC(char)
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-BOOST_TT_BROKEN_COMPILER_SPEC(wchar_t)
-#endif
-BOOST_TT_BROKEN_COMPILER_SPEC(signed char)
-BOOST_TT_BROKEN_COMPILER_SPEC(unsigned char)
-BOOST_TT_BROKEN_COMPILER_SPEC(signed short)
-BOOST_TT_BROKEN_COMPILER_SPEC(unsigned short)
-BOOST_TT_BROKEN_COMPILER_SPEC(signed int)
-BOOST_TT_BROKEN_COMPILER_SPEC(unsigned int)
-BOOST_TT_BROKEN_COMPILER_SPEC(signed long)
-BOOST_TT_BROKEN_COMPILER_SPEC(unsigned long)
-BOOST_TT_BROKEN_COMPILER_SPEC(float)
-BOOST_TT_BROKEN_COMPILER_SPEC(double)
-//BOOST_TT_BROKEN_COMPILER_SPEC(long double)
-
-// for backward compatibility
-#define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(T) \
-    BOOST_TT_BROKEN_COMPILER_SPEC(T) \
-/**/
-
-#endif // BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/common_type.hpp b/SRC/Boost/boost/type_traits/common_type.hpp
deleted file mode 100755
index 799989b..0000000
--- a/SRC/Boost/boost/type_traits/common_type.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-//  common_type.hpp  ---------------------------------------------------------//
-
-//  Copyright 2008 Howard Hinnant
-//  Copyright 2008 Beman Dawes
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_TYPE_TRAITS_COMMON_TYPE_HPP
-#define BOOST_TYPE_TRAITS_COMMON_TYPE_HPP
-
-#include <boost/config.hpp>
-
-#if defined(__SUNPRO_CC) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
-#  define BOOST_COMMON_TYPE_DONT_USE_TYPEOF
-#endif
-#if defined(__IBMCPP__) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
-#  define BOOST_COMMON_TYPE_DONT_USE_TYPEOF
-#endif
-
-//----------------------------------------------------------------------------//
-#if defined(BOOST_NO_VARIADIC_TEMPLATES) && !defined(BOOST_COMMON_TYPE_ARITY)
-#define BOOST_COMMON_TYPE_ARITY 3
-#endif
-
-//----------------------------------------------------------------------------//
-#if defined(BOOST_NO_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF) && !defined(BOOST_TYPEOF_SILENT)
-#define BOOST_TYPEOF_SILENT
-#include <boost/typeof/typeof.hpp>   // boost wonders never cease!
-#endif
-
-//----------------------------------------------------------------------------//
-#ifndef BOOST_NO_STATIC_ASSERT
-#define BOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES) static_assert(CND,MSG)
-#elif defined(BOOST_COMMON_TYPE_USES_MPL_ASSERT)
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/bool.hpp>
-#define BOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES)                                 \
-    BOOST_MPL_ASSERT_MSG(boost::mpl::bool_< (CND) >::type::value, MSG, TYPES)
-#else
-#include <boost/static_assert.hpp>
-#define BOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES) BOOST_STATIC_ASSERT(CND)
-#endif
-
-#if !defined(BOOST_NO_STATIC_ASSERT) || !defined(BOOST_COMMON_TYPE_USES_MPL_ASSERT)
-#define BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE "must be complete type"
-#endif
-
-#if defined(BOOST_NO_DECLTYPE) && defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
-#include <boost/type_traits/detail/common_type_imp.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#endif
-#include <boost/mpl/if.hpp>
-#include <boost/utility/declval.hpp>
-#include <boost/type_traits/add_rvalue_reference.hpp>
-
-//----------------------------------------------------------------------------//
-//                                                                            //
-//                           C++03 implementation of                          //
-//             20.6.7 Other transformations [meta.trans.other]                //
-//                          Written by Howard Hinnant                         //
-//      Adapted for Boost by Beman Dawes, Vicente Botet and  Jeffrey Hellrung //
-//                                                                            //
-//----------------------------------------------------------------------------//
-
-namespace boost {
-
-// prototype
-#if !defined(BOOST_NO_VARIADIC_TEMPLATES)
-    template<typename... T>
-    struct common_type;
-#else // or no specialization
-    template <class T, class U = void, class V = void>
-    struct common_type
-    {
-    public:
-        typedef typename common_type<typename common_type<T, U>::type, V>::type type;
-    };
-#endif
-
-
-// 1 arg
-    template<typename T>
-#if !defined(BOOST_NO_VARIADIC_TEMPLATES)
-    struct common_type<T>
-#else
-    struct common_type<T, void, void>
-
-#endif
-    {
-        BOOST_COMMON_TYPE_STATIC_ASSERT(sizeof(T) > 0, BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE, (T));
-    public:
-        typedef T type;
-    };
-
-// 2 args
-namespace type_traits_detail {
-
-    template <class T, class U>
-    struct common_type_2
-    {
-    private:
-        BOOST_COMMON_TYPE_STATIC_ASSERT(sizeof(T) > 0, BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE, (T));
-        BOOST_COMMON_TYPE_STATIC_ASSERT(sizeof(U) > 0, BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE, (U));
-        static bool declval_bool();  // workaround gcc bug; not required by std
-        static typename add_rvalue_reference<T>::type declval_T();  // workaround gcc bug; not required by std
-        static typename add_rvalue_reference<U>::type declval_U();  // workaround gcc bug; not required by std
-        static typename add_rvalue_reference<bool>::type declval_b();  
-
-#if !defined(BOOST_NO_DECLTYPE)
-    public:
-        typedef decltype(declval<bool>() ? declval<T>() : declval<U>()) type;
-#elif defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
-    public:
-    typedef typename detail_type_traits_common_type::common_type_impl<
-          typename remove_cv<T>::type,
-          typename remove_cv<U>::type
-      >::type type;
-#else
-    public:
-        typedef BOOST_TYPEOF_TPL(declval_b() ? declval_T() : declval_U()) type;
-#endif
-
-#if defined(__GNUC__) && __GNUC__ == 3 && (__GNUC_MINOR__ == 2 || __GNUC_MINOR__ == 3)
-    public:
-        void public_dummy_function_just_to_silence_warning();
-#endif
-    };
-
-    template <class T>
-    struct common_type_2<T, T>
-    {
-        typedef T type;
-    };
-    }
-
-#if !defined(BOOST_NO_VARIADIC_TEMPLATES)
-    template <class T, class U>
-    struct common_type<T, U>
-#else
-    template <class T, class U>
-    struct common_type<T, U, void>
-#endif
-    : public type_traits_detail::common_type_2<T,U>
-    { };
-
-
-// 3 or more args
-#if !defined(BOOST_NO_VARIADIC_TEMPLATES)
-    template<typename T, typename U, typename... V>
-    struct common_type<T, U, V...> {
-    public:
-        typedef typename common_type<typename common_type<T, U>::type, V...>::type type;
-    };
-#endif
-}  // namespace boost
-
-#endif  // BOOST_TYPE_TRAITS_COMMON_TYPE_HPP
diff --git a/SRC/Boost/boost/type_traits/composite_traits.hpp b/SRC/Boost/boost/type_traits/composite_traits.hpp
deleted file mode 100755
index 8c256ee..0000000
--- a/SRC/Boost/boost/type_traits/composite_traits.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-//
-//  defines traits classes for composite types:
-//  is_array, is_pointer, is_reference, is_member_pointer, is_enum, is_union.
-//
-
-#ifndef BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED
-#define BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED
-
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_member_pointer.hpp>
-#include <boost/type_traits/is_member_function_pointer.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_union.hpp>
-
-#endif // BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED
-
-
-
-
-
diff --git a/SRC/Boost/boost/type_traits/conditional.hpp b/SRC/Boost/boost/type_traits/conditional.hpp
deleted file mode 100755
index fa62b18..0000000
--- a/SRC/Boost/boost/type_traits/conditional.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-//  (C) Copyright John Maddock 2010.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_CONDITIONAL_HPP_INCLUDED
-#define BOOST_TT_CONDITIONAL_HPP_INCLUDED
-
-#include <boost/mpl/if.hpp>
-
-namespace boost {
-
-template <bool b, class T, class U>
-struct conditional : public mpl::if_c<b, T, U>
-{
-};
-
-} // namespace boost
-
-
-#endif // BOOST_TT_CONDITIONAL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/config.hpp b/SRC/Boost/boost/type_traits/config.hpp
deleted file mode 100755
index 9f0cac4..0000000
--- a/SRC/Boost/boost/type_traits/config.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_CONFIG_HPP_INCLUDED
-#define BOOST_TT_CONFIG_HPP_INCLUDED
-
-#ifndef BOOST_CONFIG_HPP
-#include <boost/config.hpp>
-#endif
-
-#include <boost/detail/workaround.hpp>
-
-//
-// whenever we have a conversion function with elipses
-// it needs to be declared __cdecl to suppress compiler
-// warnings from MS and Borland compilers (this *must*
-// appear before we include is_same.hpp below):
-#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32))
-#   define BOOST_TT_DECL __cdecl
-#else
-#   define BOOST_TT_DECL /**/
-#endif
-
-# if (BOOST_WORKAROUND(__MWERKS__, < 0x3000)                         \
-    || BOOST_WORKAROUND(BOOST_MSVC, <= 1301)                        \
-    || !defined(__EDG_VERSION__) && BOOST_WORKAROUND(__GNUC__, < 3) \
-    || BOOST_WORKAROUND(__IBMCPP__, < 600 )                         \
-    || BOOST_WORKAROUND(__BORLANDC__, < 0x5A0)                      \
-    || defined(__ghs)                                               \
-    || BOOST_WORKAROUND(__HP_aCC, < 60700)           \
-    || BOOST_WORKAROUND(MPW_CPLUS, BOOST_TESTED_AT(0x890))          \
-    || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580)))       \
-    && defined(BOOST_NO_IS_ABSTRACT)
-
-#   define BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION 1
-
-#endif
-
-#ifndef BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION
-# define BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION 1
-#endif
-
-//
-// Define BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING 
-// when we can't test for function types with elipsis:
-//
-#if BOOST_WORKAROUND(__GNUC__, < 3)
-#  define BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-#endif
-
-//
-// define BOOST_TT_TEST_MS_FUNC_SIGS
-// when we want to test __stdcall etc function types with is_function etc
-// (Note, does not work with Borland, even though it does support __stdcall etc):
-//
-#if defined(_MSC_EXTENSIONS) && !defined(__BORLANDC__)
-#  define BOOST_TT_TEST_MS_FUNC_SIGS
-#endif
-
-//
-// define BOOST_TT_NO_CV_FUNC_TEST
-// if tests for cv-qualified member functions don't 
-// work in is_member_function_pointer
-//
-#if BOOST_WORKAROUND(__MWERKS__, < 0x3000) || BOOST_WORKAROUND(__IBMCPP__, <= 600)
-#  define BOOST_TT_NO_CV_FUNC_TEST
-#endif
-
-#endif // BOOST_TT_CONFIG_HPP_INCLUDED
-
-
diff --git a/SRC/Boost/boost/type_traits/conversion_traits.hpp b/SRC/Boost/boost/type_traits/conversion_traits.hpp
deleted file mode 100755
index 77910ab..0000000
--- a/SRC/Boost/boost/type_traits/conversion_traits.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-
-// Copyright 2000 John Maddock (john at johnmaddock.co.uk)
-// Copyright 2000 Jeremy Siek (jsiek at lsc.nd.edu)
-// Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED
-#define BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED
-
-#include <boost/type_traits/is_convertible.hpp>
-
-#endif // BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/cv_traits.hpp b/SRC/Boost/boost/type_traits/cv_traits.hpp
deleted file mode 100755
index 63c7844..0000000
--- a/SRC/Boost/boost/type_traits/cv_traits.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-//
-//  defines traits classes for cv-qualified types:
-//  is_const, is_volatile, remove_const, remove_volatile, remove_cv.
-
-#ifndef BOOST_TT_CV_TRAITS_HPP_INCLUDED
-#define BOOST_TT_CV_TRAITS_HPP_INCLUDED
-
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_volatile.hpp>
-#include <boost/type_traits/add_cv.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_volatile.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-#endif // BOOST_TT_CV_TRAITS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/decay.hpp b/SRC/Boost/boost/type_traits/decay.hpp
deleted file mode 100755
index 58dbb46..0000000
--- a/SRC/Boost/boost/type_traits/decay.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  (C) Copyright John Maddock & Thorsten Ottosen 2005.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_DECAY_HPP_INCLUDED
-#define BOOST_TT_DECAY_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/remove_bounds.hpp>
-#include <boost/type_traits/add_pointer.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-
-namespace boost 
-{
-
-    template< class T >
-    struct decay
-    {
-    private:
-        typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type Ty;
-    public:
-        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if< 
-            is_array<Ty>,
-            mpl::identity<BOOST_DEDUCED_TYPENAME remove_bounds<Ty>::type*>,
-            BOOST_DEDUCED_TYPENAME mpl::eval_if< 
-                is_function<Ty>,
-                add_pointer<Ty>,
-                mpl::identity<Ty>
-            >
-        >::type type;
-    };
-    
-} // namespace boost
-
-
-#endif // BOOST_TT_DECAY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/detail/bool_trait_def.hpp b/SRC/Boost/boost/type_traits/detail/bool_trait_def.hpp
deleted file mode 100755
index 557f194..0000000
--- a/SRC/Boost/boost/type_traits/detail/bool_trait_def.hpp
+++ /dev/null
@@ -1,196 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// $Source$
-// $Date: 2011-10-09 18:28:33 -0400 (Sun, 09 Oct 2011) $
-// $Revision: 74865 $
-
-#include <boost/type_traits/detail/template_arity_spec.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/config.hpp>
-
-//
-// Unfortunately some libraries have started using this header without
-// cleaning up afterwards: so we'd better undef the macros just in case 
-// they've been defined already....
-//
-#ifdef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
-#undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
-#undef BOOST_TT_AUX_BOOL_C_BASE
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
-#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
-#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
-#endif
-
-#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x570)
-#   define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    typedef ::boost::integral_constant<bool,C> type; \
-    enum { value = type::value }; \
-    /**/
-#   define BOOST_TT_AUX_BOOL_C_BASE(C)
-
-#elif defined(BOOST_MSVC) && BOOST_MSVC < 1300
-
-#   define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    typedef ::boost::integral_constant<bool,C> base_; \
-    using base_::value; \
-    /**/
-
-#endif
-
-#ifndef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
-#   define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) /**/
-#endif
-
-#ifndef BOOST_TT_AUX_BOOL_C_BASE
-#   define BOOST_TT_AUX_BOOL_C_BASE(C) : public ::boost::integral_constant<bool,C>
-#endif 
-
-
-#define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) \
-template< typename T > struct trait \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
-}; \
-\
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
-/**/
-
-
-#define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) \
-template< typename T1, typename T2 > struct trait \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) \
-}; \
-\
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait) \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_DEF3(trait,T1,T2,T3,C) \
-template< typename T1, typename T2, typename T3 > struct trait \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,trait,(T1,T2,T3)) \
-}; \
-\
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(3,trait) \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) \
-template<> struct trait< sp > \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) \
-template<> struct trait< sp1,sp2 > \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) \
-template<> struct trait##_impl< sp > \
-{ \
-public:\
-    BOOST_STATIC_CONSTANT(bool, value = (C)); \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) \
-template<> struct trait##_impl< sp1,sp2 > \
-{ \
-public:\
-    BOOST_STATIC_CONSTANT(bool, value = (C)); \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) \
-template< param > struct trait< sp > \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) \
-template< param1, param2 > struct trait< sp > \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) \
-template< param > struct trait< sp1,sp2 > \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) \
-template< param1, param2 > struct trait< sp1,sp2 > \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) \
-template< param > struct trait##_impl< sp1,sp2 > \
-{ \
-public:\
-    BOOST_STATIC_CONSTANT(bool, value = (C)); \
-}; \
-/**/
-
-#ifndef BOOST_NO_CV_SPECIALIZATIONS
-#   define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value) \
-    /**/
-#else
-#   define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) \
-    /**/
-#endif
diff --git a/SRC/Boost/boost/type_traits/detail/bool_trait_undef.hpp b/SRC/Boost/boost/type_traits/detail/bool_trait_undef.hpp
deleted file mode 100755
index 9555187..0000000
--- a/SRC/Boost/boost/type_traits/detail/bool_trait_undef.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// $Source$
-// $Date: 2011-10-09 18:28:33 -0400 (Sun, 09 Oct 2011) $
-// $Revision: 74865 $
-
-#undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
-#undef BOOST_TT_AUX_BOOL_C_BASE
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF3
-#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
-#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
diff --git a/SRC/Boost/boost/type_traits/detail/common_type_imp.hpp b/SRC/Boost/boost/type_traits/detail/common_type_imp.hpp
deleted file mode 100755
index 1c41716..0000000
--- a/SRC/Boost/boost/type_traits/detail/common_type_imp.hpp
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * boost/type_traits/detail/common_type_imp.hpp
- *
- * Copyright 2010, Jeffrey Hellrung.
- * Distributed under the Boost Software License, Version 1.0.  (See accompanying
- * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- * struct boost::common_type<T,U>
- *
- * common_type<T,U>::type is the type of the expression
- *     b() ? x() : y()
- * where b() returns a bool, x() has return type T, and y() has return type U.
- * See
- *     http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2661.htm#common_type
- *
- * Note that this evaluates to void if one or both of T and U is void.
- ******************************************************************************/
-
-#ifndef BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMP_HPP
-#define BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMP_HPP
-
-#include <cstddef>
-
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/mpl/copy.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/inserter.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/push_back.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/vector/vector0.hpp>
-#include <boost/mpl/vector/vector10.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/make_signed.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/declval.hpp>
-
-namespace boost
-{
-
-namespace detail_type_traits_common_type
-{
-
-/*******************************************************************************
- * struct propagate_cv< From, To >
- *
- * This metafunction propagates cv-qualifiers on type From to type To.
- ******************************************************************************/
-
-template< class From, class To >
-struct propagate_cv
-{ typedef To type; };
-template< class From, class To >
-struct propagate_cv< const From, To >
-{ typedef To const type; };
-template< class From, class To >
-struct propagate_cv< volatile From, To >
-{ typedef To volatile type; };
-template< class From, class To >
-struct propagate_cv< const volatile From, To >
-{ typedef To const volatile type; };
-
-/*******************************************************************************
- * struct is_integral_or_enum<T>
- *
- * This metafunction determines if T is an integral type which can be made
- * signed or unsigned.
- ******************************************************************************/
-
-template< class T >
-struct is_integral_or_enum
-    : public mpl::or_< is_integral<T>, is_enum<T> >
-{ };
-template<>
-struct is_integral_or_enum< bool >
-    : public false_type
-{ };
-
-/*******************************************************************************
- * struct make_unsigned_soft<T>
- * struct make_signed_soft<T>
- *
- * These metafunction are identical to make_unsigned and make_signed,
- * respetively, except for special-casing bool.
- ******************************************************************************/
-
-template< class T >
-struct make_unsigned_soft
-    : public make_unsigned<T>
-{ };
-template<>
-struct make_unsigned_soft< bool >
-{ typedef bool type; };
-
-template< class T >
-struct make_signed_soft
-    : public make_signed<T>
-{ };
-template<>
-struct make_signed_soft< bool >
-{ typedef bool type; };
-
-/*******************************************************************************
- * struct sizeof_t<N>
- * typedef ... yes_type
- * typedef ... no_type
- *
- * These types are integral players in the use of the "sizeof trick", i.e., we
- * can distinguish overload selection by inspecting the size of the return type
- * of the overload.
- ******************************************************************************/
-
-template< std::size_t N > struct sizeof_t { char _dummy[N]; };
-typedef sizeof_t<1> yes_type;
-typedef sizeof_t<2> no_type;
-BOOST_MPL_ASSERT_RELATION( sizeof( yes_type ), ==, 1 );
-BOOST_MPL_ASSERT_RELATION( sizeof( no_type ), ==, 2 );
-
-/*******************************************************************************
- * rvalue_test(T&) -> no_type
- * rvalue_test(...) -> yes_type
- *
- * These overloads are used to determine the rvalue-ness of an expression.
- ******************************************************************************/
-
-template< class T > no_type rvalue_test(T&);
-yes_type rvalue_test(...);
-
-/*******************************************************************************
- * struct conversion_test_overloads< Sequence >
- *
- * This struct has multiple overloads of the static member function apply, each
- * one taking a single parameter of a type within the Boost.MPL sequence
- * Sequence.  Each such apply overload has a return type with sizeof equal to
- * one plus the index of the parameter type within Sequence.  Thus, we can
- * deduce the type T of an expression as long as we can generate a finite set of
- * candidate types containing T via these apply overloads and the "sizeof
- * trick".
- ******************************************************************************/
-
-template< class First, class Last, std::size_t Index >
-struct conversion_test_overloads_iterate
-    : public conversion_test_overloads_iterate<
-          typename mpl::next< First >::type, Last, Index + 1
-      >
-{
-    using conversion_test_overloads_iterate<
-        typename mpl::next< First >::type, Last, Index + 1
-    >::apply;
-    static sizeof_t< Index + 1 >
-    apply(typename mpl::deref< First >::type);
-};
-
-template< class Last, std::size_t Index >
-struct conversion_test_overloads_iterate< Last, Last, Index >
-{ static sizeof_t< Index + 1 > apply(...); };
-
-template< class Sequence >
-struct conversion_test_overloads
-    : public conversion_test_overloads_iterate<
-          typename mpl::begin< Sequence >::type,
-          typename mpl::end< Sequence >::type,
-          0
-      >
-{ };
-
-/*******************************************************************************
- * struct select< Sequence, Index >
- *
- * select is synonymous with mpl::at_c unless Index equals the size of the
- * Boost.MPL Sequence, in which case this evaluates to void.
- ******************************************************************************/
-
-template<
-    class Sequence, int Index,
-    int N = mpl::size< Sequence >::value
->
-struct select
-    : public mpl::at_c< Sequence, Index >
-{ };
-template< class Sequence, int N >
-struct select< Sequence, N, N >
-{ typedef void type; };
-
-/*******************************************************************************
- * class deduce_common_type< T, U, NominalCandidates >
- * struct nominal_candidates<T,U>
- * struct common_type_dispatch_on_rvalueness<T,U>
- * struct common_type_impl<T,U>
- *
- * These classes and structs implement the logic behind common_type, which goes
- * roughly as follows.  Let C be the type of the conditional expression
- *     declval< bool >() ? declval<T>() : declval<U>()
- * if C is an rvalue, then:
- *     let T' and U' be T and U stripped of reference- and cv-qualifiers
- *     if T' and U' are pointer types, say, T' = V* and U' = W*, then:
- *         define the set of NominalCandidates to be
- *             { V*, W*, V'*, W'* }
- *           where V' is V with whatever cv-qualifiers are on W, and W' is W
- *           with whatever cv-qualifiers are on V
- *     else if T' and U' are both integral or enum types, then:
- *         define the set of NominalCandidates to be
- *             {
- *                 unsigned_soft(T'),
- *                 unsigned_soft(U'),
- *                 signed_soft(T'),
- *                 signed_soft(U'),
- *                 T',
- *                 U',
- *                 unsigned int,
- *                 int
- *             }
- *           where unsigned_soft(X) is make_unsigned_soft<X>::type and
- *           signed_soft(X) is make_signed_soft<X>::type (these are all
- *           generally necessary to cover the various integral promotion cases)
- *     else
- *         define the set of NominalCandidates to be
- *             { T', U' }
- * else
- *     let V and W be T and U stripped of reference-qualifiers
- *     define the set of NominalCandidates to be
- *         { V&, W&, V'&, W'& }
- *     where V' is V with whatever cv-qualifiers are on W, and W' is W with
- *       whatever cv-qualifiers are on V
- * define the set of Candidates to be equal to the set of NominalCandidates with
- * duplicates removed, and use this set of Candidates to determine C using the
- * conversion_test_overloads struct
- ******************************************************************************/
-
-template< class T, class U, class NominalCandidates >
-class deduce_common_type
-{
-    typedef typename mpl::copy<
-        NominalCandidates,
-        mpl::inserter<
-            mpl::vector0<>,
-            mpl::if_<
-                mpl::contains< mpl::_1, mpl::_2 >,
-                mpl::_1,
-                mpl::push_back< mpl::_1, mpl::_2 >
-            >
-        >
-    >::type candidate_types;
-    static const int best_candidate_index =
-        sizeof( conversion_test_overloads< candidate_types >::apply(
-            declval< bool >() ? declval<T>() : declval<U>()
-        ) ) - 1;
-public:
-    typedef typename select< candidate_types, best_candidate_index >::type type;
-};
-
-template<
-    class T, class U,
-    class V = typename remove_cv< typename remove_reference<T>::type >::type,
-    class W = typename remove_cv< typename remove_reference<U>::type >::type,
-    bool = is_integral_or_enum<V>::value && is_integral_or_enum<W>::value
->
-struct nominal_candidates
-{ typedef mpl::vector2<V,W> type; };
-
-template< class T, class U, class V, class W >
-struct nominal_candidates< T, U, V, W, true >
-{
-    typedef boost::mpl::vector8<
-        typename make_unsigned_soft<V>::type,
-        typename make_unsigned_soft<W>::type,
-        typename make_signed_soft<V>::type,
-        typename make_signed_soft<W>::type,
-        V, W, unsigned int, int
-    > type;
-};
-
-template< class T, class U, class V, class W >
-struct nominal_candidates< T, U, V*, W*, false >
-{
-    typedef mpl::vector4<
-        V*, W*,
-        typename propagate_cv<W,V>::type *,
-        typename propagate_cv<V,W>::type *
-    > type;
-};
-
-template<class T, class U, bool b>
-struct common_type_dispatch_on_rvalueness
-    : public deduce_common_type< T, U, typename nominal_candidates<T,U>::type >
-{ };
-
-template< class T, class U >
-struct common_type_dispatch_on_rvalueness< T, U, false >
-{
-private:
-    typedef typename remove_reference<T>::type unrefed_T_type;
-    typedef typename remove_reference<U>::type unrefed_U_type;
-public:
-    typedef typename deduce_common_type<
-        T, U,
-        mpl::vector4<
-            unrefed_T_type &,
-            unrefed_U_type &,
-            typename propagate_cv< unrefed_U_type, unrefed_T_type >::type &,
-            typename propagate_cv< unrefed_T_type, unrefed_U_type >::type &
-        >
-    >::type type;
-};
-
-template< class T, class U >
-struct common_type_impl
-    : public common_type_dispatch_on_rvalueness<T,U, sizeof( ::boost::detail_type_traits_common_type::rvalue_test(
-        declval< bool >() ? declval<T>() : declval<U>() ) ) == sizeof( yes_type ) >
-{ };
-
-template< class T > struct common_type_impl< T, void > { typedef void type; };
-template< class T > struct common_type_impl< void, T > { typedef void type; };
-template<> struct common_type_impl< void, void > { typedef void type; };
-
-} // namespace detail_type_traits_common_type
-
-
-} // namespace boost
-
-#endif // BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_HPP
-
diff --git a/SRC/Boost/boost/type_traits/detail/cv_traits_impl.hpp b/SRC/Boost/boost/type_traits/detail/cv_traits_impl.hpp
deleted file mode 100755
index 10e6301..0000000
--- a/SRC/Boost/boost/type_traits/detail/cv_traits_impl.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
-#define BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-// implementation helper:
-
-
-#if !(BOOST_WORKAROUND(__GNUC__,== 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 2))
-namespace boost {
-namespace detail {
-#else
-#include <boost/type_traits/detail/yes_no_type.hpp>
-namespace boost {
-namespace type_traits {
-namespace gcc8503 {
-#endif
-
-template <typename T> struct cv_traits_imp {};
-
-template <typename T>
-struct cv_traits_imp<T*>
-{
-    BOOST_STATIC_CONSTANT(bool, is_const = false);
-    BOOST_STATIC_CONSTANT(bool, is_volatile = false);
-    typedef T unqualified_type;
-};
-
-template <typename T>
-struct cv_traits_imp<const T*>
-{
-    BOOST_STATIC_CONSTANT(bool, is_const = true);
-    BOOST_STATIC_CONSTANT(bool, is_volatile = false);
-    typedef T unqualified_type;
-};
-
-template <typename T>
-struct cv_traits_imp<volatile T*>
-{
-    BOOST_STATIC_CONSTANT(bool, is_const = false);
-    BOOST_STATIC_CONSTANT(bool, is_volatile = true);
-    typedef T unqualified_type;
-};
-
-template <typename T>
-struct cv_traits_imp<const volatile T*>
-{
-    BOOST_STATIC_CONSTANT(bool, is_const = true);
-    BOOST_STATIC_CONSTANT(bool, is_volatile = true);
-    typedef T unqualified_type;
-};
-
-#if BOOST_WORKAROUND(__GNUC__,== 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 2)
-// We have to exclude function pointers 
-// (see http://gcc.gnu.org/bugzilla/show_bug.cgi?8503)
-yes_type mini_funcptr_tester(...);
-no_type  mini_funcptr_tester(const volatile void*);
-
-} // namespace gcc8503
-} // namespace type_traits
-
-namespace detail {
-
-// Use the implementation above for non function pointers
-template <typename T, unsigned Select 
-  = (unsigned)sizeof(::boost::type_traits::gcc8503::mini_funcptr_tester((T)0)) >
-struct cv_traits_imp : public ::boost::type_traits::gcc8503::cv_traits_imp<T> { };
-
-// Functions are never cv-qualified
-template <typename T> struct cv_traits_imp<T*,1>
-{
-    BOOST_STATIC_CONSTANT(bool, is_const = false);
-    BOOST_STATIC_CONSTANT(bool, is_volatile = false);
-    typedef T unqualified_type;
-};
-
-#endif
-
-} // namespace detail
-} // namespace boost 
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/detail/false_result.hpp b/SRC/Boost/boost/type_traits/detail/false_result.hpp
deleted file mode 100755
index 4a226f2..0000000
--- a/SRC/Boost/boost/type_traits/detail/false_result.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  Copyright David Abrahams 2002. 
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
-#define BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace type_traits {
-
-// Utility class which always "returns" false
-struct false_result
-{
-    template <typename T> struct result_
-    {
-        BOOST_STATIC_CONSTANT(bool, value = false);
-    };
-};
-
-}} // namespace boost::type_traits
-
-#endif // BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/detail/has_binary_operator.hpp b/SRC/Boost/boost/type_traits/detail/has_binary_operator.hpp
deleted file mode 100755
index 537947e..0000000
--- a/SRC/Boost/boost/type_traits/detail/has_binary_operator.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron, Robert Stewart, Steven Watanabe & Roman Perepelitsa.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#include <boost/config.hpp>
-#include <boost/type_traits/ice.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_fundamental.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-// cannot include this header without getting warnings of the kind:
-// gcc:
-//    warning: value computed is not used
-//    warning: comparison between signed and unsigned integer expressions
-// msvc:
-//    warning C4018: '<' : signed/unsigned mismatch
-//    warning C4244: '+=' : conversion from 'double' to 'char', possible loss of data
-//    warning C4547: '*' : operator before comma has no effect; expected operator with side-effect
-//    warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
-//    warning C4804: '<' : unsafe use of type 'bool' in operation
-//    warning C4805: '==' : unsafe mix of type 'bool' and type 'char' in operation
-// cannot find another implementation -> declared as system header to suppress these warnings.
-#if defined(__GNUC__) && ((__GNUC__==3 && __GNUC_MINOR__>=1) || (__GNUC__>3))
-#   pragma GCC system_header
-#elif defined(BOOST_MSVC)
-#   pragma warning ( push )
-#   pragma warning ( disable : 4018 4244 4547 4800 4804 4805 4913 )
-#endif
-
-namespace boost {
-namespace detail {
-
-// This namespace ensures that argument-dependent name lookup does not mess things up.
-namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
-
-// 1. a function to have an instance of type T without requiring T to be default
-// constructible
-template <typename T> T &make();
-
-
-// 2. we provide our operator definition for types that do not have one already
-
-// a type returned from operator BOOST_TT_TRAIT_OP when no such operator is
-// found in the type's own namespace (our own operator is used) so that we have
-// a means to know that our operator was used
-struct no_operator { };
-
-// this class allows implicit conversions and makes the following operator
-// definition less-preferred than any other such operators that might be found
-// via argument-dependent name lookup
-struct any { template <class T> any(T const&); };
-
-// when operator BOOST_TT_TRAIT_OP is not available, this one is used
-no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
-
-
-// 3. checks if the operator returns void or not
-// conditions: Lhs!=void and Rhs!=void
-
-// we first redefine "operator," so that we have no compilation error if
-// operator BOOST_TT_TRAIT_OP returns void and we can use the return type of
-// (lhs BOOST_TT_TRAIT_OP rhs, returns_void_t()) to deduce if
-// operator BOOST_TT_TRAIT_OP returns void or not:
-// - operator BOOST_TT_TRAIT_OP returns void   -> (lhs BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns returns_void_t
-// - operator BOOST_TT_TRAIT_OP returns !=void -> (lhs BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns int
-struct returns_void_t { };
-template <typename T> int operator,(const T&, returns_void_t);
-template <typename T> int operator,(const volatile T&, returns_void_t);
-
-// this intermediate trait has member value of type bool:
-// - value==true -> operator BOOST_TT_TRAIT_OP returns void
-// - value==false -> operator BOOST_TT_TRAIT_OP does not return void
-template < typename Lhs, typename Rhs >
-struct operator_returns_void {
-   // overloads of function returns_void make the difference
-   // yes_type and no_type have different size by construction
-   static ::boost::type_traits::yes_type returns_void(returns_void_t);
-   static ::boost::type_traits::no_type returns_void(int);
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
-};
-
-
-// 4. checks if the return type is Ret or Ret==dont_care
-// conditions: Lhs!=void and Rhs!=void
-
-struct dont_care { };
-
-template < typename Lhs, typename Rhs, typename Ret, bool Returns_void >
-struct operator_returns_Ret;
-
-template < typename Lhs, typename Rhs >
-struct operator_returns_Ret < Lhs, Rhs, dont_care, true > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Lhs, typename Rhs >
-struct operator_returns_Ret < Lhs, Rhs, dont_care, false > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Lhs, typename Rhs >
-struct operator_returns_Ret < Lhs, Rhs, void, true > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Lhs, typename Rhs >
-struct operator_returns_Ret < Lhs, Rhs, void, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Lhs, typename Rhs, typename Ret >
-struct operator_returns_Ret < Lhs, Rhs, Ret, true > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// otherwise checks if it is convertible to Ret using the sizeof trick
-// based on overload resolution
-// condition: Ret!=void and Ret!=dont_care and the operator does not return void
-template < typename Lhs, typename Rhs, typename Ret >
-struct operator_returns_Ret < Lhs, Rhs, Ret, false > {
-   static ::boost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret
-   static ::boost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise
-
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>()))==sizeof(::boost::type_traits::yes_type)));
-};
-
-
-// 5. checks for operator existence
-// condition: Lhs!=void and Rhs!=void
-
-// checks if our definition of operator BOOST_TT_TRAIT_OP is used or an other
-// existing one;
-// this is done with redefinition of "operator," that returns no_operator or has_operator
-struct has_operator { };
-no_operator operator,(no_operator, has_operator);
-
-template < typename Lhs, typename Rhs >
-struct operator_exists {
-   static ::boost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
-   static ::boost::type_traits::no_type check(no_operator); // this version is used otherwise
-
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
-};
-
-
-// 6. main trait: to avoid any compilation error, this class behaves
-// differently when operator BOOST_TT_TRAIT_OP(Lhs, Rhs) is forbidden by the
-// standard.
-// Forbidden_if is a bool that is:
-// - true when the operator BOOST_TT_TRAIT_OP(Lhs, Rhs) is forbidden by the standard
-//   (would yield compilation error if used)
-// - false otherwise
-template < typename Lhs, typename Rhs, typename Ret, bool Forbidden_if >
-struct trait_impl1;
-
-template < typename Lhs, typename Rhs, typename Ret >
-struct trait_impl1 < Lhs, Rhs, Ret, true > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Lhs, typename Rhs, typename Ret >
-struct trait_impl1 < Lhs, Rhs, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool,
-      value = (
-         ::boost::type_traits::ice_and<
-            operator_exists < Lhs, Rhs >::value,
-            operator_returns_Ret < Lhs, Rhs, Ret, operator_returns_void < Lhs, Rhs >::value >::value
-         >::value
-      )
-   );
-};
-
-// some specializations needs to be declared for the special void case
-template < typename Rhs, typename Ret >
-struct trait_impl1 < void, Rhs, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Lhs, typename Ret >
-struct trait_impl1 < Lhs, void, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Ret >
-struct trait_impl1 < void, void, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// defines some typedef for convenience
-template < typename Lhs, typename Rhs, typename Ret >
-struct trait_impl {
-   typedef typename ::boost::remove_reference<Lhs>::type Lhs_noref;
-   typedef typename ::boost::remove_reference<Rhs>::type Rhs_noref;
-   typedef typename ::boost::remove_cv<Lhs_noref>::type Lhs_nocv;
-   typedef typename ::boost::remove_cv<Rhs_noref>::type Rhs_nocv;
-   typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer<Lhs_noref>::type >::type >::type Lhs_noptr;
-   typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer<Rhs_noref>::type >::type >::type Rhs_noptr;
-   BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
-};
-
-} // namespace impl
-} // namespace detail
-
-// this is the accessible definition of the trait to end user
-BOOST_TT_AUX_BOOL_TRAIT_DEF3(BOOST_TT_TRAIT_NAME, Lhs, Rhs=Lhs, Ret=::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care, (::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::trait_impl < Lhs, Rhs, Ret >::value))
-
-} // namespace boost
-
-#if defined(BOOST_MSVC)
-#   pragma warning ( pop )
-#endif
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
diff --git a/SRC/Boost/boost/type_traits/detail/has_postfix_operator.hpp b/SRC/Boost/boost/type_traits/detail/has_postfix_operator.hpp
deleted file mode 100755
index e8ba7b6..0000000
--- a/SRC/Boost/boost/type_traits/detail/has_postfix_operator.hpp
+++ /dev/null
@@ -1,202 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron, Robert Stewart, Steven Watanabe & Roman Perepelitsa.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#include <boost/config.hpp>
-#include <boost/type_traits/ice.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_fundamental.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-// avoid warnings
-#if defined(__GNUC__) && ((__GNUC__==3 && __GNUC_MINOR__>=1) || (__GNUC__>3))
-#   pragma GCC system_header
-#elif defined(BOOST_MSVC)
-#   pragma warning ( push )
-#   pragma warning ( disable : 4244 4913 )
-#endif
-
-namespace boost {
-namespace detail {
-
-// This namespace ensures that argument-dependent name lookup does not mess things up.
-namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
-
-// 1. a function to have an instance of type T without requiring T to be default
-// constructible
-template <typename T> T &make();
-
-
-// 2. we provide our operator definition for types that do not have one already
-
-// a type returned from operator BOOST_TT_TRAIT_OP when no such operator is
-// found in the type's own namespace (our own operator is used) so that we have
-// a means to know that our operator was used
-struct no_operator { };
-
-// this class allows implicit conversions and makes the following operator
-// definition less-preferred than any other such operators that might be found
-// via argument-dependent name lookup
-struct any { template <class T> any(T const&); };
-
-// when operator BOOST_TT_TRAIT_OP is not available, this one is used
-no_operator operator BOOST_TT_TRAIT_OP (const any&, int);
-
-
-// 3. checks if the operator returns void or not
-// conditions: Lhs!=void
-
-// we first redefine "operator," so that we have no compilation error if
-// operator BOOST_TT_TRAIT_OP returns void and we can use the return type of
-// (lhs BOOST_TT_TRAIT_OP, returns_void_t()) to deduce if
-// operator BOOST_TT_TRAIT_OP returns void or not:
-// - operator BOOST_TT_TRAIT_OP returns void   -> (lhs BOOST_TT_TRAIT_OP, returns_void_t()) returns returns_void_t
-// - operator BOOST_TT_TRAIT_OP returns !=void -> (lhs BOOST_TT_TRAIT_OP, returns_void_t()) returns int
-struct returns_void_t { };
-template <typename T> int operator,(const T&, returns_void_t);
-template <typename T> int operator,(const volatile T&, returns_void_t);
-
-// this intermediate trait has member value of type bool:
-// - value==true -> operator BOOST_TT_TRAIT_OP returns void
-// - value==false -> operator BOOST_TT_TRAIT_OP does not return void
-template < typename Lhs >
-struct operator_returns_void {
-   // overloads of function returns_void make the difference
-   // yes_type and no_type have different size by construction
-   static ::boost::type_traits::yes_type returns_void(returns_void_t);
-   static ::boost::type_traits::no_type returns_void(int);
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>() BOOST_TT_TRAIT_OP,returns_void_t())))));
-};
-
-
-// 4. checks if the return type is Ret or Ret==dont_care
-// conditions: Lhs!=void
-
-struct dont_care { };
-
-template < typename Lhs, typename Ret, bool Returns_void >
-struct operator_returns_Ret;
-
-template < typename Lhs >
-struct operator_returns_Ret < Lhs, dont_care, true > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Lhs >
-struct operator_returns_Ret < Lhs, dont_care, false > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Lhs >
-struct operator_returns_Ret < Lhs, void, true > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Lhs >
-struct operator_returns_Ret < Lhs, void, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Lhs, typename Ret >
-struct operator_returns_Ret < Lhs, Ret, true > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// otherwise checks if it is convertible to Ret using the sizeof trick
-// based on overload resolution
-// condition: Ret!=void and Ret!=dont_care and the operator does not return void
-template < typename Lhs, typename Ret >
-struct operator_returns_Ret < Lhs, Ret, false > {
-   static ::boost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret
-   static ::boost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise
-
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(make<Lhs>() BOOST_TT_TRAIT_OP))==sizeof(::boost::type_traits::yes_type)));
-};
-
-
-// 5. checks for operator existence
-// condition: Lhs!=void
-
-// checks if our definition of operator BOOST_TT_TRAIT_OP is used or an other
-// existing one;
-// this is done with redefinition of "operator," that returns no_operator or has_operator
-struct has_operator { };
-no_operator operator,(no_operator, has_operator);
-
-template < typename Lhs >
-struct operator_exists {
-   static ::boost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
-   static ::boost::type_traits::no_type check(no_operator); // this version is used otherwise
-
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<Lhs>() BOOST_TT_TRAIT_OP),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
-};
-
-
-// 6. main trait: to avoid any compilation error, this class behaves
-// differently when operator BOOST_TT_TRAIT_OP(Lhs) is forbidden by the
-// standard.
-// Forbidden_if is a bool that is:
-// - true when the operator BOOST_TT_TRAIT_OP(Lhs) is forbidden by the standard
-//   (would yield compilation error if used)
-// - false otherwise
-template < typename Lhs, typename Ret, bool Forbidden_if >
-struct trait_impl1;
-
-template < typename Lhs, typename Ret >
-struct trait_impl1 < Lhs, Ret, true > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Lhs, typename Ret >
-struct trait_impl1 < Lhs, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool,
-      value = (
-         ::boost::type_traits::ice_and<
-            operator_exists < Lhs >::value,
-            operator_returns_Ret < Lhs, Ret, operator_returns_void < Lhs >::value >::value
-         >::value
-      )
-   );
-};
-
-// specialization needs to be declared for the special void case
-template < typename Ret >
-struct trait_impl1 < void, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// defines some typedef for convenience
-template < typename Lhs, typename Ret >
-struct trait_impl {
-   typedef typename ::boost::remove_reference<Lhs>::type Lhs_noref;
-   typedef typename ::boost::remove_cv<Lhs_noref>::type Lhs_nocv;
-   typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer<Lhs_noref>::type >::type >::type Lhs_noptr;
-   BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
-};
-
-} // namespace impl
-} // namespace detail
-
-// this is the accessible definition of the trait to end user
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(BOOST_TT_TRAIT_NAME, Lhs, Ret=::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care, (::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::trait_impl< Lhs, Ret >::value))
-
-} // namespace boost
-
-#if defined(BOOST_MSVC)
-#   pragma warning ( pop )
-#endif
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
diff --git a/SRC/Boost/boost/type_traits/detail/has_prefix_operator.hpp b/SRC/Boost/boost/type_traits/detail/has_prefix_operator.hpp
deleted file mode 100755
index 307b864..0000000
--- a/SRC/Boost/boost/type_traits/detail/has_prefix_operator.hpp
+++ /dev/null
@@ -1,210 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron, Robert Stewart, Steven Watanabe & Roman Perepelitsa.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#include <boost/config.hpp>
-#include <boost/type_traits/ice.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_fundamental.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-// cannot include this header without getting warnings of the kind:
-// gcc:
-//    warning: value computed is not used
-//    warning: comparison between signed and unsigned integer expressions
-// msvc:
-//    warning C4146: unary minus operator applied to unsigned type, result still unsigned
-//    warning C4804: '-' : unsafe use of type 'bool' in operation
-// cannot find another implementation -> declared as system header to suppress these warnings.
-#if defined(__GNUC__) && ((__GNUC__==3 && __GNUC_MINOR__>=1) || (__GNUC__>3))
-#   pragma GCC system_header
-#elif defined(BOOST_MSVC)
-#   pragma warning ( push )
-#   pragma warning ( disable : 4146 4804 4913 4244 )
-#endif
-
-namespace boost {
-namespace detail {
-
-// This namespace ensures that argument-dependent name lookup does not mess things up.
-namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
-
-// 1. a function to have an instance of type T without requiring T to be default
-// constructible
-template <typename T> T &make();
-
-
-// 2. we provide our operator definition for types that do not have one already
-
-// a type returned from operator BOOST_TT_TRAIT_OP when no such operator is
-// found in the type's own namespace (our own operator is used) so that we have
-// a means to know that our operator was used
-struct no_operator { };
-
-// this class allows implicit conversions and makes the following operator
-// definition less-preferred than any other such operators that might be found
-// via argument-dependent name lookup
-struct any { template <class T> any(T const&); };
-
-// when operator BOOST_TT_TRAIT_OP is not available, this one is used
-no_operator operator BOOST_TT_TRAIT_OP (const any&);
-
-
-// 3. checks if the operator returns void or not
-// conditions: Rhs!=void
-
-// we first redefine "operator," so that we have no compilation error if
-// operator BOOST_TT_TRAIT_OP returns void and we can use the return type of
-// (BOOST_TT_TRAIT_OP rhs, returns_void_t()) to deduce if
-// operator BOOST_TT_TRAIT_OP returns void or not:
-// - operator BOOST_TT_TRAIT_OP returns void   -> (BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns returns_void_t
-// - operator BOOST_TT_TRAIT_OP returns !=void -> (BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns int
-struct returns_void_t { };
-template <typename T> int operator,(const T&, returns_void_t);
-template <typename T> int operator,(const volatile T&, returns_void_t);
-
-// this intermediate trait has member value of type bool:
-// - value==true -> operator BOOST_TT_TRAIT_OP returns void
-// - value==false -> operator BOOST_TT_TRAIT_OP does not return void
-template < typename Rhs >
-struct operator_returns_void {
-   // overloads of function returns_void make the difference
-   // yes_type and no_type have different size by construction
-   static ::boost::type_traits::yes_type returns_void(returns_void_t);
-   static ::boost::type_traits::no_type returns_void(int);
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((BOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
-};
-
-
-// 4. checks if the return type is Ret or Ret==dont_care
-// conditions: Rhs!=void
-
-struct dont_care { };
-
-template < typename Rhs, typename Ret, bool Returns_void >
-struct operator_returns_Ret;
-
-template < typename Rhs >
-struct operator_returns_Ret < Rhs, dont_care, true > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Rhs >
-struct operator_returns_Ret < Rhs, dont_care, false > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Rhs >
-struct operator_returns_Ret < Rhs, void, true > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Rhs >
-struct operator_returns_Ret < Rhs, void, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Rhs, typename Ret >
-struct operator_returns_Ret < Rhs, Ret, true > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// otherwise checks if it is convertible to Ret using the sizeof trick
-// based on overload resolution
-// condition: Ret!=void and Ret!=dont_care and the operator does not return void
-template < typename Rhs, typename Ret >
-struct operator_returns_Ret < Rhs, Ret, false > {
-   static ::boost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret
-   static ::boost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise
-
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(BOOST_TT_TRAIT_OP make<Rhs>()))==sizeof(::boost::type_traits::yes_type)));
-};
-
-
-// 5. checks for operator existence
-// condition: Rhs!=void
-
-// checks if our definition of operator BOOST_TT_TRAIT_OP is used or an other
-// existing one;
-// this is done with redefinition of "operator," that returns no_operator or has_operator
-struct has_operator { };
-no_operator operator,(no_operator, has_operator);
-
-template < typename Rhs >
-struct operator_exists {
-   static ::boost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
-   static ::boost::type_traits::no_type check(no_operator); // this version is used otherwise
-
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
-};
-
-
-// 6. main trait: to avoid any compilation error, this class behaves
-// differently when operator BOOST_TT_TRAIT_OP(Rhs) is forbidden by the
-// standard.
-// Forbidden_if is a bool that is:
-// - true when the operator BOOST_TT_TRAIT_OP(Rhs) is forbidden by the standard
-//   (would yield compilation error if used)
-// - false otherwise
-template < typename Rhs, typename Ret, bool Forbidden_if >
-struct trait_impl1;
-
-template < typename Rhs, typename Ret >
-struct trait_impl1 < Rhs, Ret, true > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Rhs, typename Ret >
-struct trait_impl1 < Rhs, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool,
-      value = (
-         ::boost::type_traits::ice_and<
-            operator_exists < Rhs >::value,
-            operator_returns_Ret < Rhs, Ret, operator_returns_void < Rhs >::value >::value
-         >::value
-      )
-   );
-};
-
-// specialization needs to be declared for the special void case
-template < typename Ret >
-struct trait_impl1 < void, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// defines some typedef for convenience
-template < typename Rhs, typename Ret >
-struct trait_impl {
-   typedef typename ::boost::remove_reference<Rhs>::type Rhs_noref;
-   typedef typename ::boost::remove_cv<Rhs_noref>::type Rhs_nocv;
-   typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer<Rhs_noref>::type >::type >::type Rhs_noptr;
-   BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
-};
-
-} // namespace impl
-} // namespace detail
-
-// this is the accessible definition of the trait to end user
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(BOOST_TT_TRAIT_NAME, Rhs, Ret=::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care, (::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::trait_impl < Rhs, Ret >::value))
-
-} // namespace boost
-
-#if defined(BOOST_MSVC)
-#   pragma warning ( pop )
-#endif
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
diff --git a/SRC/Boost/boost/type_traits/detail/ice_and.hpp b/SRC/Boost/boost/type_traits/detail/ice_and.hpp
deleted file mode 100755
index dfbd435..0000000
--- a/SRC/Boost/boost/type_traits/detail/ice_and.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  (C) Copyright John Maddock and Steve Cleary 2000.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
-#define BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace type_traits {
-
-template <bool b1, bool b2, bool b3 = true, bool b4 = true, bool b5 = true, bool b6 = true, bool b7 = true>
-struct ice_and;
-
-template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>
-struct ice_and
-{
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template <>
-struct ice_and<true, true, true, true, true, true, true>
-{
-    BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/detail/ice_eq.hpp b/SRC/Boost/boost/type_traits/detail/ice_eq.hpp
deleted file mode 100755
index ae4fee4..0000000
--- a/SRC/Boost/boost/type_traits/detail/ice_eq.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//  (C) Copyright John Maddock and Steve Cleary 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
-#define BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace type_traits {
-
-template <int b1, int b2>
-struct ice_eq
-{
-    BOOST_STATIC_CONSTANT(bool, value = (b1 == b2));
-};
-
-template <int b1, int b2>
-struct ice_ne
-{
-    BOOST_STATIC_CONSTANT(bool, value = (b1 != b2));
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-template <int b1, int b2> bool const ice_eq<b1,b2>::value;
-template <int b1, int b2> bool const ice_ne<b1,b2>::value;
-#endif
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/detail/ice_not.hpp b/SRC/Boost/boost/type_traits/detail/ice_not.hpp
deleted file mode 100755
index 92f52cb..0000000
--- a/SRC/Boost/boost/type_traits/detail/ice_not.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright John Maddock and Steve Cleary 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
-#define BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace type_traits {
-
-template <bool b>
-struct ice_not
-{
-    BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template <>
-struct ice_not<true>
-{
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/detail/ice_or.hpp b/SRC/Boost/boost/type_traits/detail/ice_or.hpp
deleted file mode 100755
index afff06a..0000000
--- a/SRC/Boost/boost/type_traits/detail/ice_or.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  (C) Copyright John Maddock and Steve Cleary 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
-#define BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace type_traits {
-
-template <bool b1, bool b2, bool b3 = false, bool b4 = false, bool b5 = false, bool b6 = false, bool b7 = false>
-struct ice_or;
-
-template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>
-struct ice_or
-{
-    BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template <>
-struct ice_or<false, false, false, false, false, false, false>
-{
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/detail/is_function_ptr_helper.hpp b/SRC/Boost/boost/type_traits/detail/is_function_ptr_helper.hpp
deleted file mode 100755
index 1b4cfa2..0000000
--- a/SRC/Boost/boost/type_traits/detail/is_function_ptr_helper.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-
-//  Copyright 2000 John Maddock (john at johnmaddock.co.uk)
-//  Copyright 2002 Aleksey Gurtovoy (agurtovoy at meta-comm.com)
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
-#define BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/enum_params.hpp>
-#   include <boost/preprocessor/comma_if.hpp>
-#endif
-
-namespace boost {
-namespace type_traits {
-
-template <class R>
-struct is_function_ptr_helper
-{
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
-// preprocessor-generated part, don't edit by hand!
-
-template <class R >
-struct is_function_ptr_helper<R (*)()> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R >
-struct is_function_ptr_helper<R (*)( ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0>
-struct is_function_ptr_helper<R (*)( T0)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0>
-struct is_function_ptr_helper<R (*)( T0 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1>
-struct is_function_ptr_helper<R (*)( T0 , T1)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1>
-struct is_function_ptr_helper<R (*)( T0 , T1 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#else
-
-#undef BOOST_STATIC_CONSTANT
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3, (0, 25, "boost/type_traits/detail/is_function_ptr_helper.hpp"))
-#include BOOST_PP_ITERATE()
-
-#endif // BOOST_TT_PREPROCESSING_MODE
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)
-
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_function_ptr_helper<R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))> { BOOST_STATIC_CONSTANT(bool, value = true); };
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_function_ptr_helper<R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-@#endif
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/type_traits/detail/is_function_ptr_tester.hpp b/SRC/Boost/boost/type_traits/detail/is_function_ptr_tester.hpp
deleted file mode 100755
index 6f7a5f1..0000000
--- a/SRC/Boost/boost/type_traits/detail/is_function_ptr_tester.hpp
+++ /dev/null
@@ -1,654 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, 
-//  Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED
-#define BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED
-
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/config.hpp>
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/enum_params.hpp>
-#   include <boost/preprocessor/comma_if.hpp>
-#endif
-
-namespace boost {
-namespace type_traits {
-
-// Note it is acceptible to use ellipsis here, since the argument will
-// always be a pointer type of some sort (JM 2005/06/04):
-no_type BOOST_TT_DECL is_function_ptr_tester(...);
-
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
-// pre-processed code, don't edit, try GNU cpp with 
-// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
-
-template <class R >
-yes_type is_function_ptr_tester(R (*)());
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R >
-yes_type is_function_ptr_tester(R (*)( ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R >
-yes_type is_function_ptr_tester(R (__stdcall*)());
-template <class R >
-yes_type is_function_ptr_tester(R (__stdcall*)( ...));
-#ifndef _MANAGED
-template <class R >
-yes_type is_function_ptr_tester(R (__fastcall*)());
-template <class R >
-yes_type is_function_ptr_tester(R (__fastcall*)( ...));
-#endif
-template <class R >
-yes_type is_function_ptr_tester(R (__cdecl*)());
-template <class R >
-yes_type is_function_ptr_tester(R (__cdecl*)( ...));
-#endif
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (*)( T0));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (*)( T0 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0));
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 ...));
-#ifndef _MANAGED
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0));
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 ...));
-#endif
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0));
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 ...));
-#endif
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1));
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1));
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 ...));
-#endif
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1));
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2));
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2));
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2));
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3));
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3));
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3));
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));
-#endif
-#else
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3, (0, 25, "boost/type_traits/detail/is_function_ptr_tester.hpp"))
-#include BOOST_PP_ITERATE()
-
-#endif // BOOST_TT_PREPROCESSING_MODE
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)
-#undef __stdcall
-#undef __fastcall
-#undef __cdecl
-
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-@#endif
-@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-@#ifndef _MANAGED
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__fastcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__fastcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-@#endif
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__cdecl*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__cdecl*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-@#endif
-
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp b/SRC/Boost/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp
deleted file mode 100755
index 7d656aa..0000000
--- a/SRC/Boost/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp
+++ /dev/null
@@ -1,817 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, 
-//  Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
-#define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/enum_params.hpp>
-#   include <boost/preprocessor/comma_if.hpp>
-#endif
-
-namespace boost {
-namespace type_traits {
-
-template <typename T>
-struct is_mem_fun_pointer_impl
-{
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
-// pre-processed code, don't edit, try GNU cpp with 
-// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
-
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)() > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)() const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)() volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)() const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-
-#else
-
-#undef BOOST_STATIC_CONSTANT
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3, (0, 25, "boost/type_traits/detail/is_mem_fun_pointer_impl.hpp"))
-#include BOOST_PP_ITERATE()
-
-#endif // BOOST_TT_PREPROCESSING_MODE
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-@#endif
-
-@#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-@#endif
-@#endif
-
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
-
diff --git a/SRC/Boost/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp b/SRC/Boost/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp
deleted file mode 100755
index 4704bd6..0000000
--- a/SRC/Boost/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp
+++ /dev/null
@@ -1,2759 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, 
-//  Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED
-#define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED
-
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/config.hpp>
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/enum_params.hpp>
-#   include <boost/preprocessor/comma_if.hpp>
-#endif
-
-namespace boost {
-namespace type_traits {
-
-no_type BOOST_TT_DECL is_mem_fun_pointer_tester(...);
-
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
-// pre-processed code, don't edit, try GNU cpp with 
-// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)());
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)() const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)() volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)() const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...));
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...) const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...) volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)());
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)() const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)() volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)() const volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( ...));
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( ...) const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( ...) volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)());
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)() const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)() volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)() const volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( ...));
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( ...) const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( ...) volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( ...) const volatile);
-#endif
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)());
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)() const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)() volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)() const volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( ...));
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( ...) const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( ...) volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( ...) const volatile);
-#endif
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0) const volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 ...));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 ...) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 ...) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0) const volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 ...));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 ...) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 ...) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0) const volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 ...));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 ...) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 ...) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1) const volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 ...));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 ...) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 ...) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1) const volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 ...));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 ...) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 ...) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1) const volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 ...));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 ...) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 ...) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);
-#endif
-
-#else
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3, (0, 25, "boost/type_traits/detail/is_mem_fun_pointer_tester.hpp"))
-#include BOOST_PP_ITERATE()
-
-#endif // BOOST_TT_PREPROCESSING_MODE
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)
-#undef __stdcall
-#undef __fastcall
-#undef __cdecl
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
-
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);
-@#endif
-@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS // Other calling conventions used by MS compatible compilers:
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);
-
-@#ifndef _MANAGED
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);
-@#endif
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);
-@#endif
-
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/type_traits/detail/size_t_trait_def.hpp b/SRC/Boost/boost/type_traits/detail/size_t_trait_def.hpp
deleted file mode 100755
index 0794dd0..0000000
--- a/SRC/Boost/boost/type_traits/detail/size_t_trait_def.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// $Source$
-// $Date: 2011-04-25 08:26:48 -0400 (Mon, 25 Apr 2011) $
-// $Revision: 71481 $
-
-#include <boost/type_traits/detail/template_arity_spec.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/size_t.hpp>
-
-#include <cstddef>
-
-#if !defined(BOOST_MSVC) || BOOST_MSVC >= 1300
-#   define BOOST_TT_AUX_SIZE_T_BASE(C) public ::boost::integral_constant<std::size_t,C>
-#   define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) /**/
-#else
-#   define BOOST_TT_AUX_SIZE_T_BASE(C) public ::boost::mpl::size_t<C>
-#   define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
-    typedef ::boost::mpl::size_t<C> base_; \
-    using base_::value; \
-    /**/
-#endif
-
-
-#define BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(trait,T,C) \
-template< typename T > struct trait \
-    : BOOST_TT_AUX_SIZE_T_BASE(C) \
-{ \
-public:\
-    BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
-}; \
-\
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
-/**/
-
-#define BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(trait,spec,C) \
-template<> struct trait<spec> \
-    : BOOST_TT_AUX_SIZE_T_BASE(C) \
-{ \
-public:\
-    BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,C) \
-template< param > struct trait<spec> \
-    : BOOST_TT_AUX_SIZE_T_BASE(C) \
-{ \
-}; \
-/**/
diff --git a/SRC/Boost/boost/type_traits/detail/size_t_trait_undef.hpp b/SRC/Boost/boost/type_traits/detail/size_t_trait_undef.hpp
deleted file mode 100755
index a288132..0000000
--- a/SRC/Boost/boost/type_traits/detail/size_t_trait_undef.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// $Source$
-// $Date: 2004-09-02 11:41:37 -0400 (Thu, 02 Sep 2004) $
-// $Revision: 24874 $
-
-#undef BOOST_TT_AUX_SIZE_T_TRAIT_DEF1
-#undef BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1
-#undef BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1
diff --git a/SRC/Boost/boost/type_traits/detail/template_arity_spec.hpp b/SRC/Boost/boost/type_traits/detail/template_arity_spec.hpp
deleted file mode 100755
index 9cfbe30..0000000
--- a/SRC/Boost/boost/type_traits/detail/template_arity_spec.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/aux_/template_arity_fwd.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-#include <boost/mpl/aux_/config/overload_resolution.hpp>
-
-#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
-    && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION)
-#   define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) \
-namespace mpl { namespace aux { \
-template< BOOST_MPL_PP_PARAMS(i, typename T) > \
-struct template_arity< \
-          name< BOOST_MPL_PP_PARAMS(i, T) > \
-        > \
-    : int_<i> \
-{ \
-}; \
-}} \
-/**/
-#else
-#   define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/
-#endif
diff --git a/SRC/Boost/boost/type_traits/detail/type_trait_def.hpp b/SRC/Boost/boost/type_traits/detail/type_trait_def.hpp
deleted file mode 100755
index 27e8552..0000000
--- a/SRC/Boost/boost/type_traits/detail/type_trait_def.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// $Source$
-// $Date: 2011-04-25 08:26:48 -0400 (Mon, 25 Apr 2011) $
-// $Revision: 71481 $
-
-#include <boost/type_traits/detail/template_arity_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) \
-template< typename T > struct trait \
-{ \
-public:\
-    typedef result type; \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
-}; \
-\
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
-/**/
-
-#define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) \
-template<> struct trait<spec> \
-{ \
-public:\
-    typedef result type; \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) \
-template<> struct trait##_impl<spec> \
-{ \
-public:\
-    typedef result type; \
-}; \
-/**/
-
-#define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) \
-template< param > struct trait<spec> \
-{ \
-public:\
-    typedef result type; \
-}; \
-/**/
-
-#define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) \
-template< param1, param2 > struct trait<spec> \
-{ \
-public:\
-    typedef result; \
-}; \
-/**/
-
-#define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) \
-template< param > struct trait##_impl<spec> \
-{ \
-public:\
-    typedef result type; \
-}; \
-/**/
diff --git a/SRC/Boost/boost/type_traits/detail/type_trait_undef.hpp b/SRC/Boost/boost/type_traits/detail/type_trait_undef.hpp
deleted file mode 100755
index 5cb48a5..0000000
--- a/SRC/Boost/boost/type_traits/detail/type_trait_undef.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 2002-2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// $Source$
-// $Date: 2004-09-02 11:41:37 -0400 (Thu, 02 Sep 2004) $
-// $Revision: 24874 $
-
-#undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
-#undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
-#undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
-#undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
-#undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
-#undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
diff --git a/SRC/Boost/boost/type_traits/detail/wrap.hpp b/SRC/Boost/boost/type_traits/detail/wrap.hpp
deleted file mode 100755
index 1dc10e5..0000000
--- a/SRC/Boost/boost/type_traits/detail/wrap.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright David Abrahams 2002. 
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
-#define BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
-
-namespace boost {
-namespace type_traits {
-
-template <class T> struct wrap {};
-
-}} // namespace boost::type_traits
-
-#endif // BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/detail/yes_no_type.hpp b/SRC/Boost/boost/type_traits/detail/yes_no_type.hpp
deleted file mode 100755
index f62087f..0000000
--- a/SRC/Boost/boost/type_traits/detail/yes_no_type.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-
-//  (C) Copyright John Maddock and Steve Cleary 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-//
-//  macros and helpers for working with integral-constant-expressions.
-
-#ifndef BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
-#define BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
-
-namespace boost {
-namespace type_traits {
-
-typedef char yes_type;
-struct no_type
-{
-   char padding[8];
-};
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/extent.hpp b/SRC/Boost/boost/type_traits/extent.hpp
deleted file mode 100755
index 70cc6bb..0000000
--- a/SRC/Boost/boost/type_traits/extent.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-
-//  (C) Copyright John Maddock 2005.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_EXTENT_HPP_INCLUDED
-#define BOOST_TT_EXTENT_HPP_INCLUDED
-
-// should be the last #include
-#include <boost/type_traits/detail/size_t_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-#if defined( __CODEGEARC__ )
-    // wrap the impl as main trait provides additional MPL lambda support
-    template < typename T, std::size_t N >
-    struct extent_imp {
-        static const std::size_t value = __array_extent(T, N);
-    };
-
-#else
-
-template <class T, std::size_t N>
-struct extent_imp
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = 0);
-};
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-template <class T, std::size_t R, std::size_t N>
-struct extent_imp<T[R], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-
-template <class T, std::size_t R, std::size_t N>
-struct extent_imp<T const[R], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-
-template <class T, std::size_t R, std::size_t N>
-struct extent_imp<T volatile[R], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-
-template <class T, std::size_t R, std::size_t N>
-struct extent_imp<T const volatile[R], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-
-template <class T, std::size_t R>
-struct extent_imp<T[R],0>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = R);
-};
-
-template <class T, std::size_t R>
-struct extent_imp<T const[R], 0>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = R);
-};
-
-template <class T, std::size_t R>
-struct extent_imp<T volatile[R], 0>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = R);
-};
-
-template <class T, std::size_t R>
-struct extent_imp<T const volatile[R], 0>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = R);
-};
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) && !defined(__MWERKS__)
-template <class T, std::size_t N>
-struct extent_imp<T[], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-template <class T, std::size_t N>
-struct extent_imp<T const[], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-template <class T, std::size_t N>
-struct extent_imp<T volatile[], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-template <class T, std::size_t N>
-struct extent_imp<T const volatile[], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-template <class T>
-struct extent_imp<T[], 0>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = 0);
-};
-template <class T>
-struct extent_imp<T const[], 0>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = 0);
-};
-template <class T>
-struct extent_imp<T volatile[], 0>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = 0);
-};
-template <class T>
-struct extent_imp<T const volatile[], 0>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = 0);
-};
-#endif
-#endif
-
-#endif  // non-CodeGear implementation
-}   // ::boost::detail
-
-template <class T, std::size_t N = 0>
-struct extent
-   : public ::boost::integral_constant<std::size_t, ::boost::detail::extent_imp<T,N>::value>
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) 
-   typedef ::boost::integral_constant<std::size_t, ::boost::detail::extent_imp<T,N>::value> base_; 
-   using base_::value;
-#endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,extent,(T))
-};
-
-} // namespace boost
-
-#include <boost/type_traits/detail/size_t_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/floating_point_promotion.hpp b/SRC/Boost/boost/type_traits/floating_point_promotion.hpp
deleted file mode 100755
index 53212e3..0000000
--- a/SRC/Boost/boost/type_traits/floating_point_promotion.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2005 Alexander Nasonov.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED
-#define FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_CV_SPECIALIZATIONS
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/multiplies.hpp>
-#include <boost/mpl/plus.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/type_traits/is_same.hpp>
-#endif
-
-// Should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace type_traits { namespace detail {
-
-#ifndef BOOST_NO_CV_SPECIALIZATIONS
-
-template<class T>
-struct floating_point_promotion
-{
-    typedef T type;
-};
-
-template<>
-struct floating_point_promotion<float>
-{
-    typedef double type;
-};
-
-template<>
-struct floating_point_promotion<float const>
-{
-    typedef double const type;
-};
-
-template<>
-struct floating_point_promotion<float volatile>
-{
-    typedef double volatile type;
-};
-
-template<>
-struct floating_point_promotion<float const volatile>
-{
-    typedef double const volatile type;
-};
-
-#else
-
-template<class T>
-struct floating_point_promotion
-  : mpl::at<
-        mpl::vector< T, double, double const, double volatile,
-                     double const volatile >
-      , mpl::plus<
-            is_same<T, float>
-          , mpl::multiplies< is_same<T, float const>         , mpl::int_<2> >
-          , mpl::multiplies< is_same<T, float volatile>      , mpl::int_<3> >
-          , mpl::multiplies< is_same<T, float const volatile>, mpl::int_<4> >
-          >
-      >
-{
-};
-
-#endif
-
-} }
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(
-      floating_point_promotion
-    , T
-    , BOOST_DEDUCED_TYPENAME
-        boost::type_traits::detail::floating_point_promotion<T>::type
-    )
-}
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // #ifndef FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/function_traits.hpp b/SRC/Boost/boost/type_traits/function_traits.hpp
deleted file mode 100755
index 1b5ab68..0000000
--- a/SRC/Boost/boost/type_traits/function_traits.hpp
+++ /dev/null
@@ -1,236 +0,0 @@
-
-//  Copyright 2000 John Maddock (john at johnmaddock.co.uk)
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
-#define BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/add_pointer.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-namespace detail {
-
-template<typename Function> struct function_traits_helper;
-
-template<typename R>
-struct function_traits_helper<R (*)(void)>
-{
-  BOOST_STATIC_CONSTANT(unsigned, arity = 0);
-  typedef R result_type;
-};
-
-template<typename R, typename T1>
-struct function_traits_helper<R (*)(T1)>
-{
-  BOOST_STATIC_CONSTANT(unsigned, arity = 1);
-  typedef R result_type;
-  typedef T1 arg1_type;
-  typedef T1 argument_type;
-};
-
-template<typename R, typename T1, typename T2>
-struct function_traits_helper<R (*)(T1, T2)>
-{
-  BOOST_STATIC_CONSTANT(unsigned, arity = 2);
-  typedef R result_type;
-  typedef T1 arg1_type;
-  typedef T2 arg2_type;
-  typedef T1 first_argument_type;
-  typedef T2 second_argument_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3>
-struct function_traits_helper<R (*)(T1, T2, T3)>
-{
-  BOOST_STATIC_CONSTANT(unsigned, arity = 3);
-  typedef R result_type;
-  typedef T1 arg1_type;
-  typedef T2 arg2_type;
-  typedef T3 arg3_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4>
-struct function_traits_helper<R (*)(T1, T2, T3, T4)>
-{
-  BOOST_STATIC_CONSTANT(unsigned, arity = 4);
-  typedef R result_type;
-  typedef T1 arg1_type;
-  typedef T2 arg2_type;
-  typedef T3 arg3_type;
-  typedef T4 arg4_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
-         typename T5>
-struct function_traits_helper<R (*)(T1, T2, T3, T4, T5)>
-{
-  BOOST_STATIC_CONSTANT(unsigned, arity = 5);
-  typedef R result_type;
-  typedef T1 arg1_type;
-  typedef T2 arg2_type;
-  typedef T3 arg3_type;
-  typedef T4 arg4_type;
-  typedef T5 arg5_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
-         typename T5, typename T6>
-struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6)>
-{
-  BOOST_STATIC_CONSTANT(unsigned, arity = 6);
-  typedef R result_type;
-  typedef T1 arg1_type;
-  typedef T2 arg2_type;
-  typedef T3 arg3_type;
-  typedef T4 arg4_type;
-  typedef T5 arg5_type;
-  typedef T6 arg6_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
-         typename T5, typename T6, typename T7>
-struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7)>
-{
-  BOOST_STATIC_CONSTANT(unsigned, arity = 7);
-  typedef R result_type;
-  typedef T1 arg1_type;
-  typedef T2 arg2_type;
-  typedef T3 arg3_type;
-  typedef T4 arg4_type;
-  typedef T5 arg5_type;
-  typedef T6 arg6_type;
-  typedef T7 arg7_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
-         typename T5, typename T6, typename T7, typename T8>
-struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8)>
-{
-  BOOST_STATIC_CONSTANT(unsigned, arity = 8);
-  typedef R result_type;
-  typedef T1 arg1_type;
-  typedef T2 arg2_type;
-  typedef T3 arg3_type;
-  typedef T4 arg4_type;
-  typedef T5 arg5_type;
-  typedef T6 arg6_type;
-  typedef T7 arg7_type;
-  typedef T8 arg8_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
-         typename T5, typename T6, typename T7, typename T8, typename T9>
-struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>
-{
-  BOOST_STATIC_CONSTANT(unsigned, arity = 9);
-  typedef R result_type;
-  typedef T1 arg1_type;
-  typedef T2 arg2_type;
-  typedef T3 arg3_type;
-  typedef T4 arg4_type;
-  typedef T5 arg5_type;
-  typedef T6 arg6_type;
-  typedef T7 arg7_type;
-  typedef T8 arg8_type;
-  typedef T9 arg9_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
-         typename T5, typename T6, typename T7, typename T8, typename T9,
-         typename T10>
-struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
-{
-  BOOST_STATIC_CONSTANT(unsigned, arity = 10);
-  typedef R result_type;
-  typedef T1 arg1_type;
-  typedef T2 arg2_type;
-  typedef T3 arg3_type;
-  typedef T4 arg4_type;
-  typedef T5 arg5_type;
-  typedef T6 arg6_type;
-  typedef T7 arg7_type;
-  typedef T8 arg8_type;
-  typedef T9 arg9_type;
-  typedef T10 arg10_type;
-};
-
-} // end namespace detail
-
-template<typename Function>
-struct function_traits : 
-  public boost::detail::function_traits_helper<typename boost::add_pointer<Function>::type>
-{
-};
-
-#else
-
-namespace detail {
-
-template<unsigned N> 
-struct type_of_size
-{
-  char elements[N];
-};
-
-template<typename R>
-type_of_size<1> function_arity_helper(R (*f)());
-
-template<typename R, typename T1>
-type_of_size<2> function_arity_helper(R (*f)(T1));
-
-template<typename R, typename T1, typename T2>
-type_of_size<3> function_arity_helper(R (*f)(T1, T2));
-
-template<typename R, typename T1, typename T2, typename T3>
-type_of_size<4> function_arity_helper(R (*f)(T1, T2, T3));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4>
-type_of_size<5> function_arity_helper(R (*f)(T1, T2, T3, T4));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
-         typename T5>
-type_of_size<6> function_arity_helper(R (*f)(T1, T2, T3, T4, T5));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
-         typename T5, typename T6>
-type_of_size<7> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
-         typename T5, typename T6, typename T7>
-type_of_size<8> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
-         typename T5, typename T6, typename T7, typename T8>
-type_of_size<9> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
-         typename T5, typename T6, typename T7, typename T8, typename T9>
-type_of_size<10> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8, 
-                                              T9));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
-         typename T5, typename T6, typename T7, typename T8, typename T9,
-         typename T10>
-type_of_size<11> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8, 
-                                              T9, T10));
-} // end namespace detail
-
-// Won't work with references
-template<typename Function>
-struct function_traits
-{
-  BOOST_STATIC_CONSTANT(unsigned, arity = (sizeof(boost::detail::function_arity_helper((Function*)0))-1));
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-}
-
-#endif // BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/has_bit_and.hpp b/SRC/Boost/boost/type_traits/has_bit_and.hpp
deleted file mode 100755
index 63facad..0000000
--- a/SRC/Boost/boost/type_traits/has_bit_and.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_BIT_AND_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_AND_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_bit_and
-#define BOOST_TT_TRAIT_OP &
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-         >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Rhs==fundamental and Lhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_pointer< Lhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_bit_and_assign.hpp b/SRC/Boost/boost/type_traits/has_bit_and_assign.hpp
deleted file mode 100755
index 1eee675..0000000
--- a/SRC/Boost/boost/type_traits/has_bit_and_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_BIT_AND_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_AND_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_bit_and_assign
-#define BOOST_TT_TRAIT_OP &=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-         >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Rhs==fundamental and Lhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_pointer< Lhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_const< Lhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_bit_or.hpp b/SRC/Boost/boost/type_traits/has_bit_or.hpp
deleted file mode 100755
index ac85549..0000000
--- a/SRC/Boost/boost/type_traits/has_bit_or.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_BIT_OR_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_OR_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_bit_or
-#define BOOST_TT_TRAIT_OP |
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-         >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Rhs==fundamental and Lhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_pointer< Lhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_bit_or_assign.hpp b/SRC/Boost/boost/type_traits/has_bit_or_assign.hpp
deleted file mode 100755
index 9c1327f..0000000
--- a/SRC/Boost/boost/type_traits/has_bit_or_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_BIT_OR_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_OR_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_bit_or_assign
-#define BOOST_TT_TRAIT_OP |=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-         >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Rhs==fundamental and Lhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_pointer< Lhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_const< Lhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_bit_xor.hpp b/SRC/Boost/boost/type_traits/has_bit_xor.hpp
deleted file mode 100755
index bbe1331..0000000
--- a/SRC/Boost/boost/type_traits/has_bit_xor.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_BIT_XOR_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_XOR_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_bit_xor
-#define BOOST_TT_TRAIT_OP ^
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-         >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Rhs==fundamental and Lhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_pointer< Lhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_bit_xor_assign.hpp b/SRC/Boost/boost/type_traits/has_bit_xor_assign.hpp
deleted file mode 100755
index e5fd210..0000000
--- a/SRC/Boost/boost/type_traits/has_bit_xor_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_BIT_XOR_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_XOR_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_bit_xor_assign
-#define BOOST_TT_TRAIT_OP ^=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-         >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Rhs==fundamental and Lhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_pointer< Lhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_const< Lhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_complement.hpp b/SRC/Boost/boost/type_traits/has_complement.hpp
deleted file mode 100755
index 0211ef0..0000000
--- a/SRC/Boost/boost/type_traits/has_complement.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_COMPLEMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_COMPLEMENT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_complement
-#define BOOST_TT_TRAIT_OP ~
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* pointer */\
-      ::boost::is_pointer< Rhs_noref >::value,\
-      /* fundamental non integral */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_noref >::value,\
-         ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_dereference.hpp b/SRC/Boost/boost/type_traits/has_dereference.hpp
deleted file mode 100755
index 67b8b64..0000000
--- a/SRC/Boost/boost/type_traits/has_dereference.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_DEREFERENCE_HPP_INCLUDED
-#define BOOST_TT_HAS_DEREFERENCE_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_dereference
-#define BOOST_TT_TRAIT_OP *
-#define BOOST_TT_FORBIDDEN_IF\
-   /* void* or fundamental */\
-   ::boost::type_traits::ice_or<\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_void< Rhs_noptr >::value\
-      >::value,\
-      ::boost::is_fundamental< Rhs_nocv >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_divides.hpp b/SRC/Boost/boost/type_traits/has_divides.hpp
deleted file mode 100755
index 24f5431..0000000
--- a/SRC/Boost/boost/type_traits/has_divides.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_DIVIDES_HPP_INCLUDED
-#define BOOST_TT_HAS_DIVIDES_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_divides
-#define BOOST_TT_TRAIT_OP /
-#define BOOST_TT_FORBIDDEN_IF\
-   /* pointer with pointer or fundamental */\
-   ::boost::type_traits::ice_or<\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Rhs_nocv >::value,\
-            ::boost::is_pointer< Rhs_noref >::value\
-         >::value\
-      >::value,\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Lhs_nocv >::value,\
-            ::boost::is_pointer< Lhs_noref >::value\
-         >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_divides_assign.hpp b/SRC/Boost/boost/type_traits/has_divides_assign.hpp
deleted file mode 100755
index 0648be1..0000000
--- a/SRC/Boost/boost/type_traits/has_divides_assign.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_DIVIDES_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_DIVIDES_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_divides_assign
-#define BOOST_TT_TRAIT_OP /=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Lhs==const and Rhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_const< Lhs_noref >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      >::value,\
-      /* Lhs==pointer and (Rhs==fundamental or Rhs==pointer) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Rhs_nocv >::value,\
-            ::boost::is_pointer< Rhs_noref >::value\
-         >::value\
-      >::value,\
-      /* Rhs==pointer and (Lhs==fundamental or Lhs==pointer) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Lhs_nocv >::value,\
-            ::boost::is_pointer< Lhs_noref >::value\
-         >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_equal_to.hpp b/SRC/Boost/boost/type_traits/has_equal_to.hpp
deleted file mode 100755
index 0ad420c..0000000
--- a/SRC/Boost/boost/type_traits/has_equal_to.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_EQUAL_TO_HPP_INCLUDED
-#define BOOST_TT_HAS_EQUAL_TO_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_equal_to
-#define BOOST_TT_TRAIT_OP ==
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==pointer and Rhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      >::value,\
-      /* Rhs==pointer and Lhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_not<\
-            ::boost::type_traits::ice_or<\
-               ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value,\
-               ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value,\
-               ::boost::is_same< Lhs_noptr, Rhs_noptr >::value,\
-               ::boost::is_void< Lhs_noptr >::value,\
-               ::boost::is_void< Rhs_noptr >::value\
-            >::value\
-         >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_greater.hpp b/SRC/Boost/boost/type_traits/has_greater.hpp
deleted file mode 100755
index 5b99de3..0000000
--- a/SRC/Boost/boost/type_traits/has_greater.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_GREATER_HPP_INCLUDED
-#define BOOST_TT_HAS_GREATER_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_greater
-#define BOOST_TT_TRAIT_OP >
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==pointer and Rhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      >::value,\
-      /* Rhs==pointer and Lhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_not<\
-            ::boost::type_traits::ice_or<\
-               ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value,\
-               ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value,\
-               ::boost::is_same< Lhs_noptr, Rhs_noptr >::value,\
-               ::boost::is_void< Lhs_noptr >::value,\
-               ::boost::is_void< Rhs_noptr >::value\
-            >::value\
-         >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_greater_equal.hpp b/SRC/Boost/boost/type_traits/has_greater_equal.hpp
deleted file mode 100755
index 6373cbb..0000000
--- a/SRC/Boost/boost/type_traits/has_greater_equal.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_GREATER_EQUAL_HPP_INCLUDED
-#define BOOST_TT_HAS_GREATER_EQUAL_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_greater_equal
-#define BOOST_TT_TRAIT_OP >=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==pointer and Rhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      >::value,\
-      /* Rhs==pointer and Lhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_not<\
-            ::boost::type_traits::ice_or<\
-               ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value,\
-               ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value,\
-               ::boost::is_same< Lhs_noptr, Rhs_noptr >::value,\
-               ::boost::is_void< Lhs_noptr >::value,\
-               ::boost::is_void< Rhs_noptr >::value\
-            >::value\
-         >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_left_shift.hpp b/SRC/Boost/boost/type_traits/has_left_shift.hpp
deleted file mode 100755
index 10aa7dd..0000000
--- a/SRC/Boost/boost/type_traits/has_left_shift.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LEFT_SHIFT_HPP_INCLUDED
-#define BOOST_TT_HAS_LEFT_SHIFT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_left_shift
-#define BOOST_TT_TRAIT_OP <<
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-         >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Rhs==fundamental and Lhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_pointer< Lhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_left_shift_assign.hpp b/SRC/Boost/boost/type_traits/has_left_shift_assign.hpp
deleted file mode 100755
index 93ddbae..0000000
--- a/SRC/Boost/boost/type_traits/has_left_shift_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LEFT_SHIFT_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_LEFT_SHIFT_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_left_shift_assign
-#define BOOST_TT_TRAIT_OP <<=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-         >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Rhs==fundamental and Lhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_pointer< Lhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_const< Lhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_less.hpp b/SRC/Boost/boost/type_traits/has_less.hpp
deleted file mode 100755
index 40ab028..0000000
--- a/SRC/Boost/boost/type_traits/has_less.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LESS_HPP_INCLUDED
-#define BOOST_TT_HAS_LESS_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_less
-#define BOOST_TT_TRAIT_OP <
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==pointer and Rhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      >::value,\
-      /* Rhs==pointer and Lhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_not<\
-            ::boost::type_traits::ice_or<\
-               ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value,\
-               ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value,\
-               ::boost::is_same< Lhs_noptr, Rhs_noptr >::value,\
-               ::boost::is_void< Lhs_noptr >::value,\
-               ::boost::is_void< Rhs_noptr >::value\
-            >::value\
-         >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_less_equal.hpp b/SRC/Boost/boost/type_traits/has_less_equal.hpp
deleted file mode 100755
index 0f445d6..0000000
--- a/SRC/Boost/boost/type_traits/has_less_equal.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LESS_EQUAL_HPP_INCLUDED
-#define BOOST_TT_HAS_LESS_EQUAL_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_less_equal
-#define BOOST_TT_TRAIT_OP <=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==pointer and Rhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      >::value,\
-      /* Rhs==pointer and Lhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_not<\
-            ::boost::type_traits::ice_or<\
-               ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value,\
-               ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value,\
-               ::boost::is_same< Lhs_noptr, Rhs_noptr >::value,\
-               ::boost::is_void< Lhs_noptr >::value,\
-               ::boost::is_void< Rhs_noptr >::value\
-            >::value\
-         >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_logical_and.hpp b/SRC/Boost/boost/type_traits/has_logical_and.hpp
deleted file mode 100755
index b30fc88..0000000
--- a/SRC/Boost/boost/type_traits/has_logical_and.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LOGICAL_AND_HPP_INCLUDED
-#define BOOST_TT_HAS_LOGICAL_AND_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_logical_and
-#define BOOST_TT_TRAIT_OP &&
-#define BOOST_TT_FORBIDDEN_IF\
-   /* pointer with fundamental non convertible to bool */\
-   ::boost::type_traits::ice_or<\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::type_traits::ice_and<\
-            ::boost::is_fundamental< Rhs_nocv >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_convertible< Rhs_nocv, bool >::value >::value\
-         >::value\
-      >::value,\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_and<\
-            ::boost::is_fundamental< Lhs_nocv >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_convertible< Lhs_nocv, bool >::value >::value\
-         >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_logical_not.hpp b/SRC/Boost/boost/type_traits/has_logical_not.hpp
deleted file mode 100755
index bc16a09..0000000
--- a/SRC/Boost/boost/type_traits/has_logical_not.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED
-#define BOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_logical_not
-#define BOOST_TT_TRAIT_OP !
-#define BOOST_TT_FORBIDDEN_IF\
-   false
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_logical_or.hpp b/SRC/Boost/boost/type_traits/has_logical_or.hpp
deleted file mode 100755
index 7b35584..0000000
--- a/SRC/Boost/boost/type_traits/has_logical_or.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LOGICAL_OR_HPP_INCLUDED
-#define BOOST_TT_HAS_LOGICAL_OR_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_logical_or
-#define BOOST_TT_TRAIT_OP ||
-#define BOOST_TT_FORBIDDEN_IF\
-   /* pointer with fundamental non convertible to bool */\
-   ::boost::type_traits::ice_or<\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::type_traits::ice_and<\
-            ::boost::is_fundamental< Rhs_nocv >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_convertible< Rhs_nocv, bool >::value >::value\
-         >::value\
-      >::value,\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_and<\
-            ::boost::is_fundamental< Lhs_nocv >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_convertible< Lhs_nocv, bool >::value >::value\
-         >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_minus.hpp b/SRC/Boost/boost/type_traits/has_minus.hpp
deleted file mode 100755
index 2975fd3..0000000
--- a/SRC/Boost/boost/type_traits/has_minus.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_MINUS_HPP_INCLUDED
-#define BOOST_TT_HAS_MINUS_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_minus
-#define BOOST_TT_TRAIT_OP -
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-      >::value,\
-      /* Lhs==void* and (Rhs==fundamental or Rhs==pointer) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_void< Lhs_noptr >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Rhs_nocv >::value,\
-            ::boost::is_pointer< Rhs_noref >::value\
-         >::value\
-      >::value,\
-      /* Rhs==void* and (Lhs==fundamental or Lhs==pointer) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_void< Rhs_noptr >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Lhs_nocv >::value,\
-            ::boost::is_pointer< Lhs_noref >::value\
-         >::value\
-      >::value,\
-      /* Lhs=fundamental and Rhs=pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* two different pointers */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_not< ::boost::is_same< Lhs_nocv, Rhs_nocv >::value >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_minus_assign.hpp b/SRC/Boost/boost/type_traits/has_minus_assign.hpp
deleted file mode 100755
index 9644278..0000000
--- a/SRC/Boost/boost/type_traits/has_minus_assign.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_MINUS_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_MINUS_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_minus_assign
-#define BOOST_TT_TRAIT_OP -=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-      >::value,\
-      /* Lhs==void* and Rhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_void< Lhs_noptr >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      >::value,\
-      /* Rhs==void* and Lhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_void< Rhs_noptr >::value,\
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      >::value,\
-      /* Lhs=fundamental and Rhs=pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* (Lhs==fundamental or Lhs==pointer) and (Rhs==fundamental or Rhs==pointer) and (Lhs==const) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Lhs_nocv >::value,\
-            ::boost::is_pointer< Lhs_noref >::value\
-         >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Rhs_nocv >::value,\
-            ::boost::is_pointer< Rhs_noref >::value\
-         >::value,\
-         ::boost::is_const< Lhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_modulus.hpp b/SRC/Boost/boost/type_traits/has_modulus.hpp
deleted file mode 100755
index e8dd60d..0000000
--- a/SRC/Boost/boost/type_traits/has_modulus.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_MODULUS_HPP_INCLUDED
-#define BOOST_TT_HAS_MODULUS_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_modulus
-#define BOOST_TT_TRAIT_OP %
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-         >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Rhs==fundamental and Lhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_pointer< Lhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_modulus_assign.hpp b/SRC/Boost/boost/type_traits/has_modulus_assign.hpp
deleted file mode 100755
index cda18d0..0000000
--- a/SRC/Boost/boost/type_traits/has_modulus_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_MODULUS_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_MODULUS_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_modulus_assign
-#define BOOST_TT_TRAIT_OP %=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-         >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Rhs==fundamental and Lhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_pointer< Lhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_const< Lhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_multiplies.hpp b/SRC/Boost/boost/type_traits/has_multiplies.hpp
deleted file mode 100755
index e85498a..0000000
--- a/SRC/Boost/boost/type_traits/has_multiplies.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_MULTIPLIES_HPP_INCLUDED
-#define BOOST_TT_HAS_MULTIPLIES_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_multiplies
-#define BOOST_TT_TRAIT_OP *
-#define BOOST_TT_FORBIDDEN_IF\
-   /* pointer with pointer or fundamental */\
-   ::boost::type_traits::ice_or<\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Rhs_nocv >::value,\
-            ::boost::is_pointer< Rhs_noref >::value\
-         >::value\
-      >::value,\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Lhs_nocv >::value,\
-            ::boost::is_pointer< Lhs_noref >::value\
-         >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_multiplies_assign.hpp b/SRC/Boost/boost/type_traits/has_multiplies_assign.hpp
deleted file mode 100755
index fe667d7..0000000
--- a/SRC/Boost/boost/type_traits/has_multiplies_assign.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_MULTIPLIES_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_MULTIPLIES_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_multiplies_assign
-#define BOOST_TT_TRAIT_OP *=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Lhs==const and Rhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_const< Lhs_noref >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      >::value,\
-      /* Lhs==pointer and (Rhs==fundamental or Rhs==pointer) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Rhs_nocv >::value,\
-            ::boost::is_pointer< Rhs_noref >::value\
-         >::value\
-      >::value,\
-      /* Rhs==pointer and (Lhs==fundamental or Lhs==pointer) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Lhs_nocv >::value,\
-            ::boost::is_pointer< Lhs_noref >::value\
-         >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_negate.hpp b/SRC/Boost/boost/type_traits/has_negate.hpp
deleted file mode 100755
index 8d3874f..0000000
--- a/SRC/Boost/boost/type_traits/has_negate.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NEGATE_HPP_INCLUDED
-#define BOOST_TT_HAS_NEGATE_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_negate
-#define BOOST_TT_TRAIT_OP -
-#define BOOST_TT_FORBIDDEN_IF\
-   /* pointer */\
-   ::boost::is_pointer< Rhs_noref >::value
-
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_new_operator.hpp b/SRC/Boost/boost/type_traits/has_new_operator.hpp
deleted file mode 100755
index a59f15c..0000000
--- a/SRC/Boost/boost/type_traits/has_new_operator.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-
-//  (C) Copyright Runar Undheim, Robert Ramey & John Maddock 2008.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
-#define BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
-
-#include <new> // std::nothrow_t
-#include <cstddef> // std::size_t
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-namespace detail {
-    template <class U, U x> 
-    struct test;
-
-    template <typename T>
-    struct has_new_operator_impl {
-        template<class U>
-        static type_traits::yes_type check_sig1(
-            U*, 
-            test<
-            void *(*)(std::size_t),
-                &U::operator new
-            >* = NULL
-        );
-        template<class U>
-        static type_traits::no_type check_sig1(...);
-
-        template<class U>
-        static type_traits::yes_type check_sig2(
-            U*, 
-            test<
-            void *(*)(std::size_t, const std::nothrow_t&),
-                &U::operator new
-            >* = NULL
-        );
-        template<class U>
-        static type_traits::no_type check_sig2(...);
-
-        template<class U>
-        static type_traits::yes_type check_sig3(
-            U*, 
-            test<
-            void *(*)(std::size_t, void*),
-                &U::operator new
-            >* = NULL
-        );
-        template<class U>
-        static type_traits::no_type check_sig3(...);
-
-
-        template<class U>
-        static type_traits::yes_type check_sig4(
-            U*, 
-            test<
-            void *(*)(std::size_t),
-                &U::operator new[]
-            >* = NULL
-        );
-        template<class U>
-        static type_traits::no_type check_sig4(...);
-
-        template<class U>
-        static type_traits::yes_type check_sig5(
-            U*, 
-            test<
-            void *(*)(std::size_t, const std::nothrow_t&),
-                &U::operator new[]
-            >* = NULL
-        );
-        template<class U>
-        static type_traits::no_type check_sig5(...);
-
-        template<class U>
-        static type_traits::yes_type check_sig6(
-            U*, 
-            test<
-            void *(*)(std::size_t, void*),
-                &U::operator new[]
-            >* = NULL
-        );
-        template<class U>
-        static type_traits::no_type check_sig6(...);
-
-        // GCC2 won't even parse this template if we embed the computation
-        // of s1 in the computation of value.
-        #ifdef __GNUC__
-            BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(has_new_operator_impl<T>::template check_sig1<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(has_new_operator_impl<T>::template check_sig2<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s3 = sizeof(has_new_operator_impl<T>::template check_sig3<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s4 = sizeof(has_new_operator_impl<T>::template check_sig4<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s5 = sizeof(has_new_operator_impl<T>::template check_sig5<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s6 = sizeof(has_new_operator_impl<T>::template check_sig6<T>(0)));
-        #else
-            #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-                #pragma warning(push)
-                #pragma warning(disable:6334)
-            #endif
-
-            BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(check_sig1<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(check_sig2<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s3 = sizeof(check_sig3<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s4 = sizeof(check_sig4<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s5 = sizeof(check_sig5<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s6 = sizeof(check_sig6<T>(0)));
-
-            #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-                #pragma warning(pop)
-            #endif
-        #endif
-        BOOST_STATIC_CONSTANT(bool, value = 
-           (::boost::type_traits::ice_or<
-            (s1 == sizeof(type_traits::yes_type)),
-            (s2 == sizeof(type_traits::yes_type)),
-            (s3 == sizeof(type_traits::yes_type)),
-            (s4 == sizeof(type_traits::yes_type)),
-            (s5 == sizeof(type_traits::yes_type)),
-            (s6 == sizeof(type_traits::yes_type))
-           >::value)
-        );
-    };
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_new_operator,T,::boost::detail::has_new_operator_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/has_not_equal_to.hpp b/SRC/Boost/boost/type_traits/has_not_equal_to.hpp
deleted file mode 100755
index fef86c5..0000000
--- a/SRC/Boost/boost/type_traits/has_not_equal_to.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NOT_EQUAL_TO_HPP_INCLUDED
-#define BOOST_TT_HAS_NOT_EQUAL_TO_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_not_equal_to
-#define BOOST_TT_TRAIT_OP !=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==pointer and Rhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      >::value,\
-      /* Rhs==pointer and Lhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::type_traits::ice_not<\
-            ::boost::type_traits::ice_or<\
-               ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value,\
-               ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value,\
-               ::boost::is_same< Lhs_noptr, Rhs_noptr >::value,\
-               ::boost::is_void< Lhs_noptr >::value,\
-               ::boost::is_void< Rhs_noptr >::value\
-            >::value\
-         >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_nothrow_assign.hpp b/SRC/Boost/boost/type_traits/has_nothrow_assign.hpp
deleted file mode 100755
index 75b0102..0000000
--- a/SRC/Boost/boost/type_traits/has_nothrow_assign.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
-
-#include <boost/type_traits/has_trivial_assign.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-template <class T>
-struct has_nothrow_assign_imp{
-#ifndef BOOST_HAS_NOTHROW_ASSIGN
-   BOOST_STATIC_CONSTANT(bool, value = ::boost::has_trivial_assign<T>::value);
-#else
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_NOTHROW_ASSIGN(T));
-#endif
-};
-
-}
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_assign,T,::boost::detail::has_nothrow_assign_imp<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/has_nothrow_constructor.hpp b/SRC/Boost/boost/type_traits/has_nothrow_constructor.hpp
deleted file mode 100755
index e71b1bd..0000000
--- a/SRC/Boost/boost/type_traits/has_nothrow_constructor.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/has_trivial_constructor.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-template <class T>
-struct has_nothrow_constructor_imp{
-#ifdef BOOST_HAS_NOTHROW_CONSTRUCTOR
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_NOTHROW_CONSTRUCTOR(T));
-#else
-   BOOST_STATIC_CONSTANT(bool, value = ::boost::has_trivial_constructor<T>::value);
-#endif
-};
-
-}
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_constructor,T,::boost::detail::has_nothrow_constructor_imp<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_default_constructor,T,::boost::detail::has_nothrow_constructor_imp<T>::value)
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void volatile,false)
-#endif
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/has_nothrow_copy.hpp b/SRC/Boost/boost/type_traits/has_nothrow_copy.hpp
deleted file mode 100755
index 10b9dfa..0000000
--- a/SRC/Boost/boost/type_traits/has_nothrow_copy.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
-
-#include <boost/type_traits/has_trivial_copy.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-template <class T>
-struct has_nothrow_copy_imp{
-#ifdef BOOST_HAS_NOTHROW_COPY
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_NOTHROW_COPY(T));
-#else
-   BOOST_STATIC_CONSTANT(bool, value = ::boost::has_trivial_copy<T>::value);
-#endif
-};
-
-}
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_copy,T,::boost::detail::has_nothrow_copy_imp<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_copy_constructor,T,::boost::detail::has_nothrow_copy_imp<T>::value)
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void volatile,false)
-#endif
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/has_nothrow_destructor.hpp b/SRC/Boost/boost/type_traits/has_nothrow_destructor.hpp
deleted file mode 100755
index 4d3934a..0000000
--- a/SRC/Boost/boost/type_traits/has_nothrow_destructor.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/has_trivial_destructor.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_destructor,T,::boost::has_trivial_destructor<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/has_operator.hpp b/SRC/Boost/boost/type_traits/has_operator.hpp
deleted file mode 100755
index f3f7a1f..0000000
--- a/SRC/Boost/boost/type_traits/has_operator.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_OPERATOR_HPP_INCLUDED
-#define BOOST_TT_HAS_OPERATOR_HPP_INCLUDED
-
-#include <boost/type_traits/has_bit_and.hpp>
-#include <boost/type_traits/has_bit_and_assign.hpp>
-#include <boost/type_traits/has_bit_or.hpp>
-#include <boost/type_traits/has_bit_or_assign.hpp>
-#include <boost/type_traits/has_bit_xor.hpp>
-#include <boost/type_traits/has_bit_xor_assign.hpp>
-#include <boost/type_traits/has_complement.hpp>
-#include <boost/type_traits/has_dereference.hpp>
-#include <boost/type_traits/has_divides.hpp>
-#include <boost/type_traits/has_divides_assign.hpp>
-#include <boost/type_traits/has_equal_to.hpp>
-#include <boost/type_traits/has_greater.hpp>
-#include <boost/type_traits/has_greater_equal.hpp>
-#include <boost/type_traits/has_left_shift.hpp>
-#include <boost/type_traits/has_left_shift_assign.hpp>
-#include <boost/type_traits/has_less.hpp>
-#include <boost/type_traits/has_less_equal.hpp>
-#include <boost/type_traits/has_logical_and.hpp>
-#include <boost/type_traits/has_logical_not.hpp>
-#include <boost/type_traits/has_logical_or.hpp>
-#include <boost/type_traits/has_minus.hpp>
-#include <boost/type_traits/has_minus_assign.hpp>
-#include <boost/type_traits/has_modulus.hpp>
-#include <boost/type_traits/has_modulus_assign.hpp>
-#include <boost/type_traits/has_multiplies.hpp>
-#include <boost/type_traits/has_multiplies_assign.hpp>
-#include <boost/type_traits/has_negate.hpp>
-#include <boost/type_traits/has_not_equal_to.hpp>
-#include <boost/type_traits/has_plus.hpp>
-#include <boost/type_traits/has_plus_assign.hpp>
-#include <boost/type_traits/has_post_decrement.hpp>
-#include <boost/type_traits/has_post_increment.hpp>
-#include <boost/type_traits/has_pre_decrement.hpp>
-#include <boost/type_traits/has_pre_increment.hpp>
-#include <boost/type_traits/has_right_shift.hpp>
-#include <boost/type_traits/has_right_shift_assign.hpp>
-#include <boost/type_traits/has_unary_minus.hpp>
-#include <boost/type_traits/has_unary_plus.hpp>
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_plus.hpp b/SRC/Boost/boost/type_traits/has_plus.hpp
deleted file mode 100755
index ca85dd0..0000000
--- a/SRC/Boost/boost/type_traits/has_plus.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_PLUS_HPP_INCLUDED
-#define BOOST_TT_HAS_PLUS_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_plus
-#define BOOST_TT_TRAIT_OP +
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Lhs==void* and Rhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_void< Lhs_noptr >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      >::value,\
-      /* Rhs==void* and Lhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_void< Rhs_noptr >::value,\
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-      >::value,\
-      /* Rhs==pointer and Lhs==fundamental and Lhs!=integral */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_plus_assign.hpp b/SRC/Boost/boost/type_traits/has_plus_assign.hpp
deleted file mode 100755
index 7a1400c..0000000
--- a/SRC/Boost/boost/type_traits/has_plus_assign.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_PLUS_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_PLUS_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_plus_assign
-#define BOOST_TT_TRAIT_OP +=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Lhs==void* and Rhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_void< Lhs_noptr >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      >::value,\
-      /* Rhs==void* and Lhs==fundamental */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_void< Rhs_noptr >::value,\
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-      >::value,\
-      /* Rhs==pointer and Lhs==fundamental and Lhs!=bool */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::type_traits::ice_not< ::boost::is_same< Lhs_nocv, bool >::value >::value\
-      >::value,\
-      /* (Lhs==fundamental or Lhs==pointer) and (Rhs==fundamental or Rhs==pointer) and (Lhs==const) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Lhs_nocv >::value,\
-            ::boost::is_pointer< Lhs_noref >::value\
-         >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Rhs_nocv >::value,\
-            ::boost::is_pointer< Rhs_noref >::value\
-         >::value,\
-         ::boost::is_const< Lhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_post_decrement.hpp b/SRC/Boost/boost/type_traits/has_post_decrement.hpp
deleted file mode 100755
index f1f91ab..0000000
--- a/SRC/Boost/boost/type_traits/has_post_decrement.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_POST_DECREMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_POST_DECREMENT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_post_decrement
-#define BOOST_TT_TRAIT_OP --
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* bool */\
-      ::boost::is_same< bool, Lhs_nocv >::value,\
-      /* void* */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_void< Lhs_noptr >::value\
-      >::value,\
-      /* (fundamental or pointer) and const */\
-      ::boost::type_traits::ice_and<\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Lhs_nocv >::value,\
-            ::boost::is_pointer< Lhs_noref >::value\
-         >::value,\
-         ::boost::is_const< Lhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_postfix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_post_increment.hpp b/SRC/Boost/boost/type_traits/has_post_increment.hpp
deleted file mode 100755
index 55b7985..0000000
--- a/SRC/Boost/boost/type_traits/has_post_increment.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_POST_INCREMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_POST_INCREMENT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_post_increment
-#define BOOST_TT_TRAIT_OP ++
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* bool */\
-      ::boost::is_same< bool, Lhs_nocv >::value,\
-      /* void* */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_void< Lhs_noptr >::value\
-      >::value,\
-      /* (fundamental or pointer) and const */\
-      ::boost::type_traits::ice_and<\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Lhs_nocv >::value,\
-            ::boost::is_pointer< Lhs_noref >::value\
-         >::value,\
-         ::boost::is_const< Lhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_postfix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_pre_decrement.hpp b/SRC/Boost/boost/type_traits/has_pre_decrement.hpp
deleted file mode 100755
index 9bb5753..0000000
--- a/SRC/Boost/boost/type_traits/has_pre_decrement.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_PRE_DECREMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_PRE_DECREMENT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_pre_decrement
-#define BOOST_TT_TRAIT_OP --
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* bool */\
-      ::boost::is_same< bool, Rhs_nocv >::value,\
-      /* void* */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_void< Rhs_noptr >::value\
-      >::value,\
-      /* (fundamental or pointer) and const */\
-      ::boost::type_traits::ice_and<\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Rhs_nocv >::value,\
-            ::boost::is_pointer< Rhs_noref >::value\
-         >::value,\
-         ::boost::is_const< Rhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_pre_increment.hpp b/SRC/Boost/boost/type_traits/has_pre_increment.hpp
deleted file mode 100755
index f670f53..0000000
--- a/SRC/Boost/boost/type_traits/has_pre_increment.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_PRE_INCREMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_PRE_INCREMENT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_pre_increment
-#define BOOST_TT_TRAIT_OP ++
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* bool */\
-      ::boost::is_same< bool, Rhs_nocv >::value,\
-      /* void* */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Rhs_noref >::value,\
-         ::boost::is_void< Rhs_noptr >::value\
-      >::value,\
-      /* (fundamental or pointer) and const */\
-      ::boost::type_traits::ice_and<\
-         ::boost::type_traits::ice_or<\
-            ::boost::is_fundamental< Rhs_nocv >::value,\
-            ::boost::is_pointer< Rhs_noref >::value\
-         >::value,\
-         ::boost::is_const< Rhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_right_shift.hpp b/SRC/Boost/boost/type_traits/has_right_shift.hpp
deleted file mode 100755
index fafef7e..0000000
--- a/SRC/Boost/boost/type_traits/has_right_shift.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_RIGHT_SHIFT_HPP_INCLUDED
-#define BOOST_TT_HAS_RIGHT_SHIFT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_right_shift
-#define BOOST_TT_TRAIT_OP >>
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-         >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Rhs==fundamental and Lhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_pointer< Lhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_right_shift_assign.hpp b/SRC/Boost/boost/type_traits/has_right_shift_assign.hpp
deleted file mode 100755
index 88692e4..0000000
--- a/SRC/Boost/boost/type_traits/has_right_shift_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_RIGHT_SHIFT_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_RIGHT_SHIFT_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_right_shift_assign
-#define BOOST_TT_TRAIT_OP >>=
-#define BOOST_TT_FORBIDDEN_IF\
-   ::boost::type_traits::ice_or<\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::type_traits::ice_or<\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
-            ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
-         >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Rhs==fundamental and Lhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_pointer< Lhs_noref >::value\
-      >::value,\
-      /* Lhs==pointer and Rhs==pointer */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_pointer< Lhs_noref >::value,\
-         ::boost::is_pointer< Rhs_noref >::value\
-      >::value,\
-      /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
-      ::boost::type_traits::ice_and<\
-         ::boost::is_fundamental< Lhs_nocv >::value,\
-         ::boost::is_fundamental< Rhs_nocv >::value,\
-         ::boost::is_const< Lhs_noref >::value\
-      >::value\
-   >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_trivial_assign.hpp b/SRC/Boost/boost/type_traits/has_trivial_assign.hpp
deleted file mode 100755
index e47b804..0000000
--- a/SRC/Boost/boost/type_traits/has_trivial_assign.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct has_trivial_assign_impl
-{
-#ifdef BOOST_HAS_TRIVIAL_ASSIGN
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_TRIVIAL_ASSIGN(T));
-#else
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_and<
-        ::boost::is_pod<T>::value,
-        ::boost::type_traits::ice_not< ::boost::is_const<T>::value >::value,
-      ::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value
-      >::value));
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_assign,T,::boost::detail::has_trivial_assign_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/has_trivial_constructor.hpp b/SRC/Boost/boost/type_traits/has_trivial_constructor.hpp
deleted file mode 100755
index df6f9a0..0000000
--- a/SRC/Boost/boost/type_traits/has_trivial_constructor.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct has_trivial_ctor_impl
-{
-#ifdef BOOST_HAS_TRIVIAL_CONSTRUCTOR
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_or<
-         ::boost::is_pod<T>::value,
-         BOOST_HAS_TRIVIAL_CONSTRUCTOR(T)
-      >::value));
-#else
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_or<
-         ::boost::is_pod<T>::value,
-         false
-      >::value));
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_constructor,T,::boost::detail::has_trivial_ctor_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_default_constructor,T,::boost::detail::has_trivial_ctor_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/has_trivial_copy.hpp b/SRC/Boost/boost/type_traits/has_trivial_copy.hpp
deleted file mode 100755
index fbf8b16..0000000
--- a/SRC/Boost/boost/type_traits/has_trivial_copy.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct has_trivial_copy_impl
-{
-#ifdef BOOST_HAS_TRIVIAL_COPY
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_TRIVIAL_COPY(T));
-#else
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_and<
-         ::boost::is_pod<T>::value,
-         ::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value
-      >::value));
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_copy,T,::boost::detail::has_trivial_copy_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_copy_constructor,T,::boost::detail::has_trivial_copy_impl<T>::value)
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void volatile,false)
-#endif
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/has_trivial_destructor.hpp b/SRC/Boost/boost/type_traits/has_trivial_destructor.hpp
deleted file mode 100755
index f91eade..0000000
--- a/SRC/Boost/boost/type_traits/has_trivial_destructor.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct has_trivial_dtor_impl
-{
-#ifdef BOOST_HAS_TRIVIAL_DESTRUCTOR
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_TRIVIAL_DESTRUCTOR(T));
-#else
-   BOOST_STATIC_CONSTANT(bool, value = ::boost::is_pod<T>::value);
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_destructor,T,::boost::detail::has_trivial_dtor_impl<T>::value)
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/has_unary_minus.hpp b/SRC/Boost/boost/type_traits/has_unary_minus.hpp
deleted file mode 100755
index 69b0878..0000000
--- a/SRC/Boost/boost/type_traits/has_unary_minus.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_UNARY_MINUS_HPP_INCLUDED
-#define BOOST_TT_HAS_UNARY_MINUS_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_unary_minus
-#define BOOST_TT_TRAIT_OP -
-#define BOOST_TT_FORBIDDEN_IF\
-   /* pointer */\
-   ::boost::is_pointer< Rhs_noref >::value
-
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_unary_plus.hpp b/SRC/Boost/boost/type_traits/has_unary_plus.hpp
deleted file mode 100755
index 9ae2faf..0000000
--- a/SRC/Boost/boost/type_traits/has_unary_plus.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_UNARY_PLUS_HPP_INCLUDED
-#define BOOST_TT_HAS_UNARY_PLUS_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_unary_plus
-#define BOOST_TT_TRAIT_OP +
-#define BOOST_TT_FORBIDDEN_IF\
-   false
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/has_virtual_destructor.hpp b/SRC/Boost/boost/type_traits/has_virtual_destructor.hpp
deleted file mode 100755
index 989760f..0000000
--- a/SRC/Boost/boost/type_traits/has_virtual_destructor.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-//  (C) Copyright John Maddock 2005.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#ifdef BOOST_HAS_VIRTUAL_DESTRUCTOR
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_virtual_destructor,T,BOOST_HAS_VIRTUAL_DESTRUCTOR(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_virtual_destructor,T,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/ice.hpp b/SRC/Boost/boost/type_traits/ice.hpp
deleted file mode 100755
index 03909df..0000000
--- a/SRC/Boost/boost/type_traits/ice.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-
-//  (C) Copyright John Maddock and Steve Cleary 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-//
-//  macros and helpers for working with integral-constant-expressions.
-
-#ifndef BOOST_TT_ICE_HPP_INCLUDED
-#define BOOST_TT_ICE_HPP_INCLUDED
-
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-#include <boost/type_traits/detail/ice_eq.hpp>
-
-#endif // BOOST_TT_ICE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/integral_constant.hpp b/SRC/Boost/boost/type_traits/integral_constant.hpp
deleted file mode 100755
index ca2ae37..0000000
--- a/SRC/Boost/boost/type_traits/integral_constant.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP
-#define BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/integral_c.hpp>
-
-namespace boost{
-
-#if defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) || defined(__BORLANDC__)
-template <class T, int val>
-#else
-template <class T, T val>
-#endif
-struct integral_constant : public mpl::integral_c<T, val>
-{
-   typedef integral_constant<T,val> type;
-};
-
-template<> struct integral_constant<bool,true> : public mpl::true_ 
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-# pragma warning(push)
-# pragma warning(disable:4097)
-   typedef mpl::true_ base_;
-   using base_::value;
-# pragma warning(pop)
-#endif
-   typedef integral_constant<bool,true> type;
-};
-template<> struct integral_constant<bool,false> : public mpl::false_ 
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-# pragma warning(push)
-# pragma warning(disable:4097)
-   typedef mpl::false_ base_;
-   using base_::value;
-# pragma warning(pop)
-#endif
-   typedef integral_constant<bool,false> type;
-};
-
-typedef integral_constant<bool,true> true_type;
-typedef integral_constant<bool,false> false_type;
-
-}
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/integral_promotion.hpp b/SRC/Boost/boost/type_traits/integral_promotion.hpp
deleted file mode 100755
index d00c7f6..0000000
--- a/SRC/Boost/boost/type_traits/integral_promotion.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-// Copyright 2005 Alexander Nasonov.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef FILE_boost_type_traits_integral_promotion_hpp_INCLUDED
-#define FILE_boost_type_traits_integral_promotion_hpp_INCLUDED
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-// Should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace type_traits { namespace detail {
-
-// 4.5/2
-template <class T> struct need_promotion : public boost::is_enum<T> {};
-
-// 4.5/1
-template<> struct need_promotion<char              > : public true_type {};
-template<> struct need_promotion<signed char       > : public true_type {};
-template<> struct need_promotion<unsigned char     > : public true_type {};
-template<> struct need_promotion<signed short int  > : public true_type {};
-template<> struct need_promotion<unsigned short int> : public true_type {};
-
-
-// Specializations for non-standard types.
-// Type is promoted if it's smaller then int.
-
-#define BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(T) \
-    template<> struct need_promotion<T>          \
-        : public integral_constant<bool, (sizeof(T) < sizeof(int))> {};
-
-// Same set of integral types as in boost/type_traits/is_integral.hpp.
-// Please, keep in sync.
-#if (defined(BOOST_MSVC) && (BOOST_MSVC < 1300)) \
-    || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
-    || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))
-// TODO: common macro for this #if. Or better yet, PP SEQ of non-standard types.
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int8          )
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int8 )
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int16         )
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int16)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int32         )
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int32)
-#ifdef __BORLANDC__
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(         __int64)
-#endif
-#endif
-
-#if defined(BOOST_HAS_LONG_LONG)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(boost::ulong_long_type)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(boost::long_long_type )
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(         __int64)
-#endif
-
-#undef BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE
-
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-// 4.5/2
-template<> struct need_promotion<wchar_t> : public true_type {};
-#endif
-
-// 4.5/3 (integral bit-field) is not supported.
-
-// 4.5/4
-template<> struct need_promotion<bool> : public true_type {};
-
-
-// Get promoted type by index and cv qualifiers.
-
-template<int Index, int IsConst, int IsVolatile> struct promote_from_index;
-
-#define BOOST_TT_AUX_PROMOTE_FROM_INDEX(N,T)                                   \
-    template<> struct promote_from_index<N,0,0> { typedef T type; };           \
-    template<> struct promote_from_index<N,0,1> { typedef T volatile type; };  \
-    template<> struct promote_from_index<N,1,0> { typedef T const type; };     \
-    template<> struct promote_from_index<N,1,1> { typedef T const volatile type; };
-
-
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(1, int          )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(2, unsigned int )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(3, long         )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(4, unsigned long)
-
-
-// WARNING: integral promotions to non-standard types
-// long long and __int64 are not defined by the standard.
-// Additional specialisations and overloads shouldn't
-// introduce ambiguity, though.
-
-#if defined(BOOST_HAS_LONG_LONG)
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(5, boost::long_long_type )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(6, boost::ulong_long_type)
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(7, __int64         )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(8, unsigned __int64)
-#endif
-
-#undef BOOST_TT_AUX_PROMOTE_FROM_INDEX
-
-
-// Define BOOST_TT_AUX_PROMOTED_INDEX_TESTER:
-#if !defined(BOOST_MSVC)
-
-template<int N>
-struct sized_type_for_promotion
-{
-    typedef char (&type)[N];
-};
-
-#define BOOST_TT_AUX_PROMOTED_INDEX_TESTER(I,T) \
-    sized_type_for_promotion<I>::type promoted_index_tester(T);
-
-#else
-
-#define BOOST_TT_AUX_PROMOTED_INDEX_TESTER(I,T) \
-    char (&promoted_index_tester(T))[I];
-
-#endif
-
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(1, int          )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(2, unsigned int )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(3, long         )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(4, unsigned long)
-
-#if defined(BOOST_HAS_LONG_LONG)
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(5, boost::long_long_type )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(6, boost::ulong_long_type)
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(7, __int64         )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(8, unsigned __int64)
-#endif
-
-#undef BOOST_TT_AUX_PROMOTED_INDEX_TESTER
-
-
-// Get an index of promoted type for type T.
-// Precondition: need_promotion<T>
-template<class T>
-struct promoted_index
-{
-    static T testee; // undefined
-    BOOST_STATIC_CONSTANT(int, value = sizeof(promoted_index_tester(+testee)) );
-    // Unary plus promotes testee                    LOOK HERE ---> ^
-};
-
-template<class T>
-struct integral_promotion_impl
-{
-    typedef BOOST_DEDUCED_TYPENAME promote_from_index<
-        (boost::type_traits::detail::promoted_index<T>::value)
-      , (boost::is_const<T>::value)
-      , (boost::is_volatile<T>::value)
-      >::type type;
-};
-
-template<class T>
-struct integral_promotion
-  : public boost::mpl::eval_if<
-        need_promotion<BOOST_DEDUCED_TYPENAME remove_cv<T>::type>
-      , integral_promotion_impl<T>
-      , boost::mpl::identity<T>
-      >
-{
-};
-
-} }
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(
-      integral_promotion
-    , T
-    , BOOST_DEDUCED_TYPENAME
-        boost::type_traits::detail::integral_promotion<T>::type
-    )
-}
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // #ifndef FILE_boost_type_traits_integral_promotion_hpp_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/intrinsics.hpp b/SRC/Boost/boost/type_traits/intrinsics.hpp
deleted file mode 100755
index 5ac594b..0000000
--- a/SRC/Boost/boost/type_traits/intrinsics.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_INTRINSICS_HPP_INCLUDED
-#define BOOST_TT_INTRINSICS_HPP_INCLUDED
-
-#ifndef BOOST_TT_CONFIG_HPP_INCLUDED
-#include <boost/type_traits/config.hpp>
-#endif
-
-//
-// Helper macros for builtin compiler support.
-// If your compiler has builtin support for any of the following
-// traits concepts, then redefine the appropriate macros to pick
-// up on the compiler support:
-//
-// (these should largely ignore cv-qualifiers)
-// BOOST_IS_UNION(T) should evaluate to true if T is a union type
-// BOOST_IS_POD(T) should evaluate to true if T is a POD type
-// BOOST_IS_EMPTY(T) should evaluate to true if T is an empty class type (and not a union)
-// BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect
-// BOOST_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy
-// BOOST_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy
-// BOOST_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect
-// BOOST_HAS_NOTHROW_CONSTRUCTOR(T) should evaluate to true if "T x;" can not throw
-// BOOST_HAS_NOTHROW_COPY(T) should evaluate to true if T(t) can not throw
-// BOOST_HAS_NOTHROW_ASSIGN(T) should evaluate to true if t = u can not throw
-// BOOST_HAS_VIRTUAL_DESTRUCTOR(T) should evaluate to true T has a virtual destructor
-//
-// The following can also be defined: when detected our implementation is greatly simplified.
-//
-// BOOST_IS_ABSTRACT(T) true if T is an abstract type
-// BOOST_IS_BASE_OF(T,U) true if T is a base class of U
-// BOOST_IS_CLASS(T) true if T is a class type (and not a union)
-// BOOST_IS_CONVERTIBLE(T,U) true if T is convertible to U
-// BOOST_IS_ENUM(T) true is T is an enum
-// BOOST_IS_POLYMORPHIC(T) true if T is a polymorphic type
-// BOOST_ALIGNMENT_OF(T) should evaluate to the alignment requirements of type T.
-
-#ifdef BOOST_HAS_SGI_TYPE_TRAITS
-    // Hook into SGI's __type_traits class, this will pick up user supplied
-    // specializations as well as SGI - compiler supplied specializations.
-#   include <boost/type_traits/is_same.hpp>
-#   ifdef __NetBSD__
-      // There are two different versions of type_traits.h on NetBSD on Spark
-      // use an implicit include via algorithm instead, to make sure we get
-      // the same version as the std lib:
-#     include <algorithm>
-#   else
-#    include <type_traits.h>
-#   endif
-#   define BOOST_IS_POD(T) ::boost::is_same< typename ::__type_traits<T>::is_POD_type, ::__true_type>::value
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ::boost::is_same< typename ::__type_traits<T>::has_trivial_default_constructor, ::__true_type>::value
-#   define BOOST_HAS_TRIVIAL_COPY(T) ::boost::is_same< typename ::__type_traits<T>::has_trivial_copy_constructor, ::__true_type>::value
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) ::boost::is_same< typename ::__type_traits<T>::has_trivial_assignment_operator, ::__true_type>::value
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) ::boost::is_same< typename ::__type_traits<T>::has_trivial_destructor, ::__true_type>::value
-
-#   ifdef __sgi
-#      define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#   endif
-#endif
-
-#if defined(__MSL_CPP__) && (__MSL_CPP__ >= 0x8000)
-    // Metrowerks compiler is acquiring intrinsic type traits support
-    // post version 8.  We hook into the published interface to pick up
-    // user defined specializations as well as compiler intrinsics as 
-    // and when they become available:
-#   include <msl_utility>
-#   define BOOST_IS_UNION(T) BOOST_STD_EXTENSION_NAMESPACE::is_union<T>::value
-#   define BOOST_IS_POD(T) BOOST_STD_EXTENSION_NAMESPACE::is_POD<T>::value
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_default_ctor<T>::value
-#   define BOOST_HAS_TRIVIAL_COPY(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_copy_ctor<T>::value
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_assignment<T>::value
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_dtor<T>::value
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#if defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215)
-#   include <boost/type_traits/is_same.hpp>
-
-#   define BOOST_IS_UNION(T) __is_union(T)
-#   define BOOST_IS_POD(T) (__is_pod(T) && __has_trivial_constructor(T))
-#   define BOOST_IS_EMPTY(T) __is_empty(T)
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
-#   define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T)|| ( ::boost::is_pod<T>::value && !::boost::is_volatile<T>::value))
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) || ( ::boost::is_pod<T>::value && ! ::boost::is_const<T>::value && !::boost::is_volatile<T>::value))
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) || ::boost::is_pod<T>::value)
-#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) || ::boost::has_trivial_constructor<T>::value)
-#   define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) || ::boost::has_trivial_copy<T>::value)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) || ::boost::has_trivial_assign<T>::value)
-#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-
-#   define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-#   define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
-#   define BOOST_IS_CLASS(T) __is_class(T)
-#   define BOOST_IS_CONVERTIBLE(T,U) ((__is_convertible_to(T,U) || is_same<T,U>::value) && !__is_abstract(U))
-#   define BOOST_IS_ENUM(T) __is_enum(T)
-//  This one doesn't quite always do the right thing:
-//  #   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-//  This one fails if the default alignment has been changed with /Zp:
-//  #   define BOOST_ALIGNMENT_OF(T) __alignof(T)
-
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#if defined(__DMC__) && (__DMC__ >= 0x848)
-// For Digital Mars C++, www.digitalmars.com
-#   define BOOST_IS_UNION(T) (__typeinfo(T) & 0x400)
-#   define BOOST_IS_POD(T) (__typeinfo(T) & 0x800)
-#   define BOOST_IS_EMPTY(T) (__typeinfo(T) & 0x1000)
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__typeinfo(T) & 0x10)
-#   define BOOST_HAS_TRIVIAL_COPY(T) (__typeinfo(T) & 0x20)
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) (__typeinfo(T) & 0x40)
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__typeinfo(T) & 0x8)
-#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__typeinfo(T) & 0x80)
-#   define BOOST_HAS_NOTHROW_COPY(T) (__typeinfo(T) & 0x100)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) (__typeinfo(T) & 0x200)
-#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) (__typeinfo(T) & 0x4)
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#if defined(BOOST_CLANG) && defined(__has_feature)
-#   include <boost/type_traits/is_same.hpp>
-#   include <boost/type_traits/is_reference.hpp>
-#   include <boost/type_traits/is_volatile.hpp>
-
-#   if __has_feature(is_union)
-#     define BOOST_IS_UNION(T) __is_union(T)
-#   endif
-#   if __has_feature(is_pod) && defined(_LIBCPP_VERSION)
-#     define BOOST_IS_POD(T) __is_pod(T)
-#   endif
-#   if __has_feature(is_empty) && defined(_LIBCPP_VERSION)
-#     define BOOST_IS_EMPTY(T) __is_empty(T)
-#   endif
-#   if __has_feature(has_trivial_constructor)
-#     define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
-#   endif
-#   if __has_feature(has_trivial_copy)
-#     define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference<T>::value && !is_volatile<T>::value)
-#   endif
-#   if __has_feature(has_trivial_assign)
-#     define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value)
-#   endif
-#   if __has_feature(has_trivial_destructor)
-#     define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
-#   endif
-#   if __has_feature(has_nothrow_constructor)
-#     define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)
-#   endif
-#   if __has_feature(has_nothrow_copy)
-#     define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value)
-#   endif
-#   if __has_feature(has_nothrow_assign)
-#     define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
-#   endif
-#   if __has_feature(has_virtual_destructor)
-#     define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-#   endif
-#   if __has_feature(is_abstract)
-#     define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-#   endif
-#   if __has_feature(is_base_of)
-#     define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
-#   endif
-#   if __has_feature(is_class)
-#     define BOOST_IS_CLASS(T) __is_class(T)
-#   endif
-#   if __has_feature(is_convertible_to)
-#     include <boost/type_traits/is_abstract.hpp>
-#     define BOOST_IS_CONVERTIBLE(T,U) (__is_convertible_to(T,U) && !::boost::is_abstract<U>::value)
-#   endif
-#   if __has_feature(is_enum)
-#     define BOOST_IS_ENUM(T) __is_enum(T)
-#   endif
-#   if __has_feature(is_polymorphic)
-#     define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-#   endif
-#   define BOOST_ALIGNMENT_OF(T) __alignof(T)
-
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__)))
-#   include <boost/type_traits/is_same.hpp>
-#   include <boost/type_traits/is_reference.hpp>
-#   include <boost/type_traits/is_volatile.hpp>
-
-#ifdef BOOST_INTEL
-#  define BOOST_INTEL_TT_OPTS || is_pod<T>::value
-#else
-#  define BOOST_INTEL_TT_OPTS
-#endif
-
-#   define BOOST_IS_UNION(T) __is_union(T)
-#   define BOOST_IS_POD(T) __is_pod(T)
-#   define BOOST_IS_EMPTY(T) __is_empty(T)
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ((__has_trivial_constructor(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile<T>::value)
-#   define BOOST_HAS_TRIVIAL_COPY(T) ((__has_trivial_copy(T) BOOST_INTEL_TT_OPTS) && !is_reference<T>::value && ! ::boost::is_volatile<T>::value)
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile<T>::value && ! ::boost::is_const<T>::value)
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_INTEL_TT_OPTS)
-#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) BOOST_INTEL_TT_OPTS)
-#   define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) BOOST_INTEL_TT_OPTS) && !is_volatile<T>::value && !is_reference<T>::value)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_INTEL_TT_OPTS) && !is_volatile<T>::value && !is_const<T>::value)
-#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-
-#   define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-#   define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
-#   define BOOST_IS_CLASS(T) __is_class(T)
-#   define BOOST_IS_ENUM(T) __is_enum(T)
-#   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-#   if (!defined(unix) && !defined(__unix__)) || defined(__LP64__)
-      // GCC sometimes lies about alignment requirements
-      // of type double on 32-bit unix platforms, use the
-      // old implementation instead in that case:
-#     define BOOST_ALIGNMENT_OF(T) __alignof__(T)
-#   endif
-
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#if defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600)
-#   include <boost/type_traits/is_same.hpp>
-#   include <boost/type_traits/is_reference.hpp>
-#   include <boost/type_traits/is_volatile.hpp>
-
-#   define BOOST_IS_UNION(T) __is_union(T)
-#   define BOOST_IS_POD(T) __is_pod(T)
-#   define BOOST_IS_EMPTY(T) __is_empty(T)
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
-#   define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference<T>::value && !is_volatile<T>::value)
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value)
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
-#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)
-#   define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
-#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-
-#   define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-#   define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
-#   define BOOST_IS_CLASS(T) __is_class(T)
-#   define BOOST_IS_ENUM(T) __is_enum(T)
-#   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-#   define BOOST_ALIGNMENT_OF(T) __alignof__(T)
-
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-# if defined(__CODEGEARC__)
-#   include <boost/type_traits/is_same.hpp>
-#   include <boost/type_traits/is_reference.hpp>
-#   include <boost/type_traits/is_volatile.hpp>
-#   include <boost/type_traits/is_void.hpp>
-
-#   define BOOST_IS_UNION(T) __is_union(T)
-#   define BOOST_IS_POD(T) __is_pod(T)
-#   define BOOST_IS_EMPTY(T) __is_empty(T)
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__has_trivial_default_constructor(T))
-#   define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy_constructor(T) && !is_volatile<T>::value && !is_reference<T>::value)
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value)
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T))
-#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_default_constructor(T))
-#   define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy_constructor(T) && !is_volatile<T>::value && !is_reference<T>::value)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
-#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-
-#   define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-#   define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_void<T>::value && !is_void<U>::value)
-#   define BOOST_IS_CLASS(T) __is_class(T)
-#   define BOOST_IS_CONVERTIBLE(T,U) (__is_convertible(T,U) || is_void<U>::value)
-#   define BOOST_IS_ENUM(T) __is_enum(T)
-#   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-#   define BOOST_ALIGNMENT_OF(T) alignof(T)
-
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#endif // BOOST_TT_INTRINSICS_HPP_INCLUDED
-
-
-
-
-
-
diff --git a/SRC/Boost/boost/type_traits/is_abstract.hpp b/SRC/Boost/boost/type_traits/is_abstract.hpp
deleted file mode 100755
index b6c420c..0000000
--- a/SRC/Boost/boost/type_traits/is_abstract.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-#ifndef BOOST_TT_IS_ABSTRACT_CLASS_HPP
-#define BOOST_TT_IS_ABSTRACT_CLASS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// is_abstract_class.hpp:
-//
-//  (C) Copyright 2002 Rani Sharoni (rani_sharoni at hotmail.com) and Robert Ramey
-//  Use, modification and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//  
-//  See http://www.boost.org for updates, documentation, and revision history.
-//
-
-// Compile type discovery whether given type is abstract class or not.
-//
-//   Requires DR 337 to be supported by compiler
-//   (http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_active.html#337).
-//
-//
-// Believed (Jan 2004) to work on:
-//  - GCC 3.4
-//  - VC++ 7.1
-//  - compilers with new EDG frontend (Intel C++ 7, Comeau 4.3.2)
-//
-// Doesn't work on:
-//  - VC++6, VC++7.0 and less
-//  - GCC 3.3.X and less
-//  - Borland C++ 6 and less
-//      
-//
-// History:
-//  - Originally written by Rani Sharoni, see
-//    http://groups.google.com/groups?selm=df893da6.0207110613.75b2fe90%40posting.google.com
-//    At this time supported by EDG (Intel C++ 7, Comeau 4.3.2) and VC7.1.
-//  - Adapted and added into Boost.Serialization library by Robert Ramey 
-//    (starting with submission #10).
-//  - Jan 2004: GCC 3.4 fixed to suport DR337 (Giovanni Bajo).
-//  - Jan 2004: modified to be part of Boost.TypeTraits (Pavel Vozenilek).
-//  - Nov 2004: Christoph Ludwig found that the implementation did not work with
-//              template types and gcc-3.4 or VC7.1, fix due to Christoph Ludwig
-//              and John Maddock.
-//  - Dec 2004: Added new config macro BOOST_NO_IS_ABSTRACT which causes the template
-//              to degrade gracefully, rather than trash the compiler (John Maddock).
-//
-
-#include <boost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_ABSTRACT
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#ifdef BOOST_NO_IS_ABSTRACT
-#include <boost/type_traits/is_polymorphic.hpp>
-#endif
-#endif
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-
-namespace boost {
-namespace detail{
-
-#ifdef BOOST_IS_ABSTRACT
-template <class T>
-struct is_abstract_imp
-{
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_ABSTRACT(T));
-};
-#elif !defined(BOOST_NO_IS_ABSTRACT)
-template<class T>
-struct is_abstract_imp2
-{
-   // Deduction fails if T is void, function type, 
-   // reference type (14.8.2/2)or an abstract class type 
-   // according to review status issue #337
-   //
-   template<class U>
-   static type_traits::no_type check_sig(U (*)[1]);
-   template<class U>
-   static type_traits::yes_type check_sig(...);
-   //
-   // T must be a complete type, further if T is a template then
-   // it must be instantiated in order for us to get the right answer:
-   //
-   BOOST_STATIC_ASSERT(sizeof(T) != 0);
-
-   // GCC2 won't even parse this template if we embed the computation
-   // of s1 in the computation of value.
-#ifdef __GNUC__
-   BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(is_abstract_imp2<T>::template check_sig<T>(0)));
-#else
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(push)
-#pragma warning(disable:6334)
-#endif
-   BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(check_sig<T>(0)));
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(pop)
-#endif
-#endif
-    
-   BOOST_STATIC_CONSTANT(bool, value = 
-      (s1 == sizeof(type_traits::yes_type)));
-};
-
-template <bool v>
-struct is_abstract_select
-{
-   template <class T>
-   struct rebind
-   {
-      typedef is_abstract_imp2<T> type;
-   };
-};
-template <>
-struct is_abstract_select<false>
-{
-   template <class T>
-   struct rebind
-   {
-      typedef false_type type;
-   };
-};
-
-template <class T>
-struct is_abstract_imp
-{
-   typedef is_abstract_select< ::boost::is_class<T>::value> selector;
-   typedef typename selector::template rebind<T> binder;
-   typedef typename binder::type type;
-
-   BOOST_STATIC_CONSTANT(bool, value = type::value);
-};
-
-#endif
-}
-
-#ifndef BOOST_NO_IS_ABSTRACT
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_abstract,T,::boost::detail::is_abstract_imp<T>::value)
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_abstract,T,::boost::detail::is_polymorphic_imp<T>::value)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif //BOOST_TT_IS_ABSTRACT_CLASS_HPP
diff --git a/SRC/Boost/boost/type_traits/is_arithmetic.hpp b/SRC/Boost/boost/type_traits/is_arithmetic.hpp
deleted file mode 100755
index 7b4e751..0000000
--- a/SRC/Boost/boost/type_traits/is_arithmetic.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
-#define BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
-
-#if !defined( __CODEGEARC__ )
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_float.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/config.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if !defined(__CODEGEARC__)
-namespace detail {
-
-template< typename T >
-struct is_arithmetic_impl
-{ 
-    BOOST_STATIC_CONSTANT(bool, value = 
-        (::boost::type_traits::ice_or< 
-            ::boost::is_integral<T>::value,
-            ::boost::is_float<T>::value
-        >::value)); 
-};
-
-} // namespace detail
-#endif
-
-//* is a type T an arithmetic type described in the standard (3.9.1p8)
-#if defined(__CODEGEARC__)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_arithmetic,T,__is_arithmetic(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_arithmetic,T,::boost::detail::is_arithmetic_impl<T>::value)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_array.hpp b/SRC/Boost/boost/type_traits/is_array.hpp
deleted file mode 100755
index 655545e..0000000
--- a/SRC/Boost/boost/type_traits/is_array.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-// Some fixes for is_array are based on a newgroup posting by Jonathan Lundquist.
-
-
-#ifndef BOOST_TT_IS_ARRAY_HPP_INCLUDED
-#define BOOST_TT_IS_ARRAY_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   include <boost/type_traits/detail/yes_no_type.hpp>
-#   include <boost/type_traits/detail/wrap.hpp>
-#endif
-
-#include <cstddef>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,__is_array(T))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,false)
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T[N],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T const[N],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T volatile[N],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T const volatile[N],true)
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T[],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T const[],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T volatile[],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T const volatile[],true)
-#endif
-#endif
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace detail {
-
-using ::boost::type_traits::yes_type;
-using ::boost::type_traits::no_type;
-using ::boost::type_traits::wrap;
-
-template< typename T > T(* is_array_tester1(wrap<T>) )(wrap<T>);
-char BOOST_TT_DECL is_array_tester1(...);
-
-template< typename T> no_type is_array_tester2(T(*)(wrap<T>));
-yes_type BOOST_TT_DECL is_array_tester2(...);
-
-template< typename T >
-struct is_array_impl
-{ 
-    BOOST_STATIC_CONSTANT(bool, value = 
-        sizeof(::boost::detail::is_array_tester2(
-            ::boost::detail::is_array_tester1(
-                ::boost::type_traits::wrap<T>()
-                )
-        )) == 1
-    );
-};
-
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,::boost::detail::is_array_impl<T>::value)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_ARRAY_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_base_and_derived.hpp b/SRC/Boost/boost/type_traits/is_base_and_derived.hpp
deleted file mode 100755
index 4243c9d..0000000
--- a/SRC/Boost/boost/type_traits/is_base_and_derived.hpp
+++ /dev/null
@@ -1,254 +0,0 @@
-
-//  (C) Copyright Rani Sharoni 2003.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
- 
-#ifndef BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
-#define BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_BASE_OF
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#endif
-#include <boost/type_traits/remove_cv.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-#ifndef BOOST_IS_BASE_OF
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581)) \
- && !BOOST_WORKAROUND(__SUNPRO_CC , <= 0x540) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) \
- && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-
-                             // The EDG version number is a lower estimate.
-                             // It is not currently known which EDG version
-                             // exactly fixes the problem.
-
-/*************************************************************************
-
-This version detects ambiguous base classes and private base classes
-correctly, and was devised by Rani Sharoni.
-
-Explanation by Terje Slettebo and Rani Sharoni.
-
-Let's take the multiple base class below as an example, and the following
-will also show why there's not a problem with private or ambiguous base
-class:
-
-struct B {};
-struct B1 : B {};
-struct B2 : B {};
-struct D : private B1, private B2 {};
-
-is_base_and_derived<B, D>::value;
-
-First, some terminology:
-
-SC  - Standard conversion
-UDC - User-defined conversion
-
-A user-defined conversion sequence consists of an SC, followed by an UDC,
-followed by another SC. Either SC may be the identity conversion.
-
-When passing the default-constructed Host object to the overloaded check_sig()
-functions (initialization 8.5/14/4/3), we have several viable implicit
-conversion sequences:
-
-For "static no_type check_sig(B const volatile *, int)" we have the conversion
-sequences:
-
-C -> C const (SC - Qualification Adjustment) -> B const volatile* (UDC)
-C -> D const volatile* (UDC) -> B1 const volatile* / B2 const volatile* ->
-     B const volatile* (SC - Conversion)
-
-For "static yes_type check_sig(D const volatile *, T)" we have the conversion
-sequence:
-
-C -> D const volatile* (UDC)
-
-According to 13.3.3.1/4, in context of user-defined conversion only the
-standard conversion sequence is considered when selecting the best viable
-function, so it only considers up to the user-defined conversion. For the
-first function this means choosing between C -> C const and C -> C, and it
-chooses the latter, because it's a proper subset (13.3.3.2/3/2) of the
-former. Therefore, we have:
-
-C -> D const volatile* (UDC) -> B1 const volatile* / B2 const volatile* ->
-     B const volatile* (SC - Conversion)
-C -> D const volatile* (UDC)
-
-Here, the principle of the "shortest subsequence" applies again, and it
-chooses C -> D const volatile*. This shows that it doesn't even need to
-consider the multiple paths to B, or accessibility, as that possibility is
-eliminated before it could possibly cause ambiguity or access violation.
-
-If D is not derived from B, it has to choose between C -> C const -> B const
-volatile* for the first function, and C -> D const volatile* for the second
-function, which are just as good (both requires a UDC, 13.3.3.2), had it not
-been for the fact that "static no_type check_sig(B const volatile *, int)" is
-not templated, which makes C -> C const -> B const volatile* the best choice
-(13.3.3/1/4), resulting in "no".
-
-Also, if Host::operator B const volatile* hadn't been const, the two
-conversion sequences for "static no_type check_sig(B const volatile *, int)", in
-the case where D is derived from B, would have been ambiguous.
-
-See also
-http://groups.google.com/groups?selm=df893da6.0301280859.522081f7%40posting.
-google.com and links therein.
-
-*************************************************************************/
-
-template <typename B, typename D>
-struct bd_helper
-{
-   //
-   // This VC7.1 specific workaround stops the compiler from generating
-   // an internal compiler error when compiling with /vmg (thanks to
-   // Aleksey Gurtovoy for figuring out the workaround).
-   //
-#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-    template <typename T>
-    static type_traits::yes_type check_sig(D const volatile *, T);
-    static type_traits::no_type  check_sig(B const volatile *, int);
-#else
-    static type_traits::yes_type check_sig(D const volatile *, long);
-    static type_traits::no_type  check_sig(B const volatile * const&, int);
-#endif
-};
-
-template<typename B, typename D>
-struct is_base_and_derived_impl2
-{
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(push)
-#pragma warning(disable:6334)
-#endif
-    //
-    // May silently do the wrong thing with incomplete types
-    // unless we trap them here:
-    //
-    BOOST_STATIC_ASSERT(sizeof(B) != 0);
-    BOOST_STATIC_ASSERT(sizeof(D) != 0);
-
-    struct Host
-    {
-#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-        operator B const volatile *() const;
-#else
-        operator B const volatile * const&() const;
-#endif
-        operator D const volatile *();
-    };
-
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof(bd_helper<B,D>::check_sig(Host(), 0)) == sizeof(type_traits::yes_type));
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(pop)
-#endif
-};
-
-#else
-
-//
-// broken version:
-//
-template<typename B, typename D>
-struct is_base_and_derived_impl2
-{
-    BOOST_STATIC_CONSTANT(bool, value =
-        (::boost::is_convertible<D*,B*>::value));
-};
-
-#define BOOST_BROKEN_IS_BASE_AND_DERIVED
-
-#endif
-
-template <typename B, typename D>
-struct is_base_and_derived_impl3
-{
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template <bool ic1, bool ic2, bool iss>
-struct is_base_and_derived_select
-{
-   template <class T, class U>
-   struct rebind
-   {
-      typedef is_base_and_derived_impl3<T,U> type;
-   };
-};
-
-template <>
-struct is_base_and_derived_select<true,true,false>
-{
-   template <class T, class U>
-   struct rebind
-   {
-      typedef is_base_and_derived_impl2<T,U> type;
-   };
-};
-
-template <typename B, typename D>
-struct is_base_and_derived_impl
-{
-    typedef typename remove_cv<B>::type ncvB;
-    typedef typename remove_cv<D>::type ncvD;
-
-    typedef is_base_and_derived_select<
-       ::boost::is_class<B>::value,
-       ::boost::is_class<D>::value,
-       ::boost::is_same<ncvB,ncvD>::value> selector;
-    typedef typename selector::template rebind<ncvB,ncvD> binder;
-    typedef typename binder::type bound_type;
-
-    BOOST_STATIC_CONSTANT(bool, value = bound_type::value);
-};
-#else
-template <typename B, typename D>
-struct is_base_and_derived_impl
-{
-    typedef typename remove_cv<B>::type ncvB;
-    typedef typename remove_cv<D>::type ncvD;
-
-    BOOST_STATIC_CONSTANT(bool, value = (BOOST_IS_BASE_OF(B,D) && ! ::boost::is_same<ncvB,ncvD>::value));
-};
-#endif
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(
-      is_base_and_derived
-    , Base
-    , Derived
-    , (::boost::detail::is_base_and_derived_impl<Base,Derived>::value)
-    )
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base&,Derived,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base,Derived&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base&,Derived&,false)
-#endif
-
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename Base,is_base_and_derived,Base,Base,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_base_of.hpp b/SRC/Boost/boost/type_traits/is_base_of.hpp
deleted file mode 100755
index dbf1931..0000000
--- a/SRC/Boost/boost/type_traits/is_base_of.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-//  (C) Copyright Rani Sharoni 2003-2005.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
- 
-#ifndef BOOST_TT_IS_BASE_OF_HPP_INCLUDED
-#define BOOST_TT_IS_BASE_OF_HPP_INCLUDED
-
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-   namespace detail{
-      template <class B, class D>
-      struct is_base_of_imp
-      {
-          typedef typename remove_cv<B>::type ncvB;
-          typedef typename remove_cv<D>::type ncvD;
-          BOOST_STATIC_CONSTANT(bool, value = (::boost::type_traits::ice_or<      
-            (::boost::detail::is_base_and_derived_impl<ncvB,ncvD>::value),
-            (::boost::type_traits::ice_and< ::boost::is_same<ncvB,ncvD>::value, ::boost::is_class<ncvB>::value>::value)>::value));
-      };
-   }
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(
-      is_base_of
-    , Base
-    , Derived
-    , (::boost::detail::is_base_of_imp<Base, Derived>::value))
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base,Derived&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived&,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_base_of_tr1.hpp b/SRC/Boost/boost/type_traits/is_base_of_tr1.hpp
deleted file mode 100755
index aaddbdd..0000000
--- a/SRC/Boost/boost/type_traits/is_base_of_tr1.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-
-//  (C) Copyright Rani Sharoni 2003-2005.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
- 
-#ifndef BOOST_TT_IS_BASE_OF_TR1_HPP_INCLUDED
-#define BOOST_TT_IS_BASE_OF_TR1_HPP_INCLUDED
-
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost { namespace tr1{
-
-   namespace detail{
-      template <class B, class D>
-      struct is_base_of_imp
-      {
-          typedef typename remove_cv<B>::type ncvB;
-          typedef typename remove_cv<D>::type ncvD;
-          BOOST_STATIC_CONSTANT(bool, value = (::boost::type_traits::ice_or<      
-            (::boost::detail::is_base_and_derived_impl<ncvB,ncvD>::value),
-            (::boost::is_same<ncvB,ncvD>::value)>::value));
-      };
-   }
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(
-      is_base_of
-    , Base
-    , Derived
-    , (::boost::tr1::detail::is_base_of_imp<Base, Derived>::value))
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base,Derived&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived&,false)
-#endif
-
-} } // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_BASE_OF_TR1_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_class.hpp b/SRC/Boost/boost/type_traits/is_class.hpp
deleted file mode 100755
index 42adbac..0000000
--- a/SRC/Boost/boost/type_traits/is_class.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000-2003.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_CLASS_HPP_INCLUDED
-#define BOOST_TT_IS_CLASS_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_CLASS
-#   include <boost/type_traits/is_union.hpp>
-#   include <boost/type_traits/detail/ice_and.hpp>
-#   include <boost/type_traits/detail/ice_not.hpp>
-
-#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
-#   include <boost/type_traits/detail/yes_no_type.hpp>
-#else
-#   include <boost/type_traits/is_scalar.hpp>
-#   include <boost/type_traits/is_array.hpp>
-#   include <boost/type_traits/is_reference.hpp>
-#   include <boost/type_traits/is_void.hpp>
-#   include <boost/type_traits/is_function.hpp>
-#endif
-
-#endif // BOOST_IS_CLASS
-
-#ifdef __EDG_VERSION__
-#   include <boost/type_traits/remove_cv.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-#ifndef BOOST_IS_CLASS
-#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
-
-// This is actually the conforming implementation which works with
-// abstract classes.  However, enough compilers have trouble with
-// it that most will use the one in
-// boost/type_traits/object_traits.hpp. This implementation
-// actually works with VC7.0, but other interactions seem to fail
-// when we use it.
-
-// is_class<> metafunction due to Paul Mensonides
-// (leavings at attbi.com). For more details:
-// http://groups.google.com/groups?hl=en&selm=000001c1cc83%24e154d5e0%247772e50c%40c161550a&rnum=1
-#if defined(__GNUC__)  && !defined(__EDG_VERSION__)
-
-template <class U> ::boost::type_traits::yes_type is_class_tester(void(U::*)(void));
-template <class U> ::boost::type_traits::no_type is_class_tester(...);
-
-template <typename T>
-struct is_class_impl
-{
-
-    BOOST_STATIC_CONSTANT(bool, value =
-        (::boost::type_traits::ice_and<
-            sizeof(is_class_tester<T>(0)) == sizeof(::boost::type_traits::yes_type),
-            ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value
-        >::value)
-        );
-};
-
-#else
-
-template <typename T>
-struct is_class_impl
-{
-    template <class U> static ::boost::type_traits::yes_type is_class_tester(void(U::*)(void));
-    template <class U> static ::boost::type_traits::no_type is_class_tester(...);
-
-    BOOST_STATIC_CONSTANT(bool, value =
-        (::boost::type_traits::ice_and<
-            sizeof(is_class_tester<T>(0)) == sizeof(::boost::type_traits::yes_type),
-            ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value
-        >::value)
-        );
-};
-
-#endif
-
-#else
-
-template <typename T>
-struct is_class_impl
-{
-#   ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    BOOST_STATIC_CONSTANT(bool, value =
-    (::boost::type_traits::ice_and<
-        ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value,
-        ::boost::type_traits::ice_not< ::boost::is_scalar<T>::value >::value,
-        ::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value,
-        ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,
-        ::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value,
-        ::boost::type_traits::ice_not< ::boost::is_function<T>::value >::value
-        >::value));
-#   else
-    BOOST_STATIC_CONSTANT(bool, value =
-    (::boost::type_traits::ice_and<
-        ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value,
-        ::boost::type_traits::ice_not< ::boost::is_scalar<T>::value >::value,
-        ::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value,
-        ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,
-        ::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value
-        >::value));
-#   endif
-};
-
-# endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
-# else // BOOST_IS_CLASS
-template <typename T>
-struct is_class_impl
-{
-    BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_CLASS(T));
-};
-# endif // BOOST_IS_CLASS
-
-} // namespace detail
-
-# ifdef __EDG_VERSION__
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
-   is_class,T, boost::detail::is_class_impl<typename boost::remove_cv<T>::type>::value)
-# else 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_class,T,::boost::detail::is_class_impl<T>::value)
-# endif
-    
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_CLASS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_complex.hpp b/SRC/Boost/boost/type_traits/is_complex.hpp
deleted file mode 100755
index 9e91825..0000000
--- a/SRC/Boost/boost/type_traits/is_complex.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  (C) Copyright John Maddock 2007. 
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_COMPLEX_HPP
-#define BOOST_TT_IS_COMPLEX_HPP
-
-#include <boost/type_traits/is_convertible.hpp>
-#include <complex>
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-
-namespace boost {
-namespace detail{
-
-struct is_convertible_from_tester
-{
-   template <class T>
-   is_convertible_from_tester(const std::complex<T>&);
-};
-
-}
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_complex,T,(::boost::is_convertible<T, boost::detail::is_convertible_from_tester>::value))
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif //BOOST_TT_IS_COMPLEX_HPP
diff --git a/SRC/Boost/boost/type_traits/is_compound.hpp b/SRC/Boost/boost/type_traits/is_compound.hpp
deleted file mode 100755
index 3aea53d..0000000
--- a/SRC/Boost/boost/type_traits/is_compound.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_COMPOUND_HPP_INCLUDED
-#define BOOST_TT_IS_COMPOUND_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/type_traits/is_fundamental.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
-namespace detail {
-
-template <typename T>
-struct is_compound_impl
-{
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_not<
-         ::boost::is_fundamental<T>::value
-       >::value));
-};
-
-} // namespace detail
-#endif // !defined( __CODEGEARC__ )
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_compound,T,__is_compound(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_compound,T,::boost::detail::is_compound_impl<T>::value)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_COMPOUND_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_const.hpp b/SRC/Boost/boost/type_traits/is_const.hpp
deleted file mode 100755
index 9766b0a..0000000
--- a/SRC/Boost/boost/type_traits/is_const.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, 
-//      Howard Hinnant and John Maddock 2000. 
-//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001
-
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-//    Fixed is_pointer, is_reference, is_const, is_volatile, is_same, 
-//    is_member_pointer based on the Simulated Partial Specialization work 
-//    of Mat Marcus and Jesse Jones. See  http://opensource.adobe.com or 
-//    http://groups.yahoo.com/group/boost/message/5441 
-//    Some workarounds in here use ideas suggested from "Generic<Programming>: 
-//    Mappings between Types and Values" 
-//    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
-
-
-#ifndef BOOST_TT_IS_CONST_HPP_INCLUDED
-#define BOOST_TT_IS_CONST_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   include <boost/type_traits/detail/cv_traits_impl.hpp>
-#   ifdef __GNUC__
-#       include <boost/type_traits/is_reference.hpp>
-#   endif
-#   if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
-#       include <boost/type_traits/remove_bounds.hpp>
-#   endif
-#else
-#   include <boost/type_traits/is_reference.hpp>
-#   include <boost/type_traits/is_array.hpp>
-#   include <boost/type_traits/detail/yes_no_type.hpp>
-#   include <boost/type_traits/detail/false_result.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,__is_const(T))
-
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-namespace detail{
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-template <class T>
-struct is_const_rvalue_filter
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
-   BOOST_STATIC_CONSTANT(bool, value = ::boost::detail::cv_traits_imp<typename boost::remove_bounds<T>::type*>::is_const);
-#else
-   BOOST_STATIC_CONSTANT(bool, value = ::boost::detail::cv_traits_imp<T*>::is_const);
-#endif
-};
-#ifndef BOOST_NO_RVALUE_REFERENCES
-template <class T>
-struct is_const_rvalue_filter<T&&>
-{
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-#endif
-}
-
-//* is a type T  declared const - is_const<T>
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::boost::detail::is_const_rvalue_filter<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T&,false)
-
-#if  defined(BOOST_ILLEGAL_CV_REFERENCES)
-// these are illegal specialisations; cv-qualifies applied to
-// references have no effect according to [8.3.2p1],
-// C++ Builder requires them though as it treats cv-qualified
-// references as distinct types...
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& const,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& const volatile,false)
-#endif
-
-#if defined(__GNUC__) && (__GNUC__ < 3)
-// special case for gcc where illegally cv-qualified reference types can be
-// generated in some corner cases:
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T const,!(::boost::is_reference<T>::value))
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T volatile const,!(::boost::is_reference<T>::value))
-#endif
-
-#else
-
-namespace detail {
-
-using ::boost::type_traits::yes_type;
-using ::boost::type_traits::no_type;
-
-yes_type is_const_tester(const volatile void*);
-no_type is_const_tester(volatile void *);
-
-template <bool is_ref, bool array>
-struct is_const_helper
-    : public ::boost::type_traits::false_result
-{
-};
-
-template <>
-struct is_const_helper<false,false>
-{
-    template <typename T> struct result_
-    {
-        static T* t;
-        BOOST_STATIC_CONSTANT(bool, value = (
-            sizeof(boost::detail::yes_type) == sizeof(boost::detail::is_const_tester(t))
-            ));
-    };
-};
-
-template <>
-struct is_const_helper<false,true>
-{
-    template <typename T> struct result_
-    {
-        static T t;
-        BOOST_STATIC_CONSTANT(bool, value = (
-            sizeof(boost::detail::yes_type) == sizeof(boost::detail::is_const_tester(&t))
-            ));
-    };
-};
-
-template <typename T>
-struct is_const_impl
-    : public is_const_helper<
-          is_reference<T>::value
-        , is_array<T>::value
-        >::template result_<T>
-{
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void const,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void const volatile,true)
-#endif
-
-} // namespace detail
-
-//* is a type T  declared const - is_const<T>
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::boost::detail::is_const_impl<T>::value)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_CONST_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/is_convertible.hpp b/SRC/Boost/boost/type_traits/is_convertible.hpp
deleted file mode 100755
index 0a9e955..0000000
--- a/SRC/Boost/boost/type_traits/is_convertible.hpp
+++ /dev/null
@@ -1,431 +0,0 @@
-
-// Copyright 2000 John Maddock (john at johnmaddock.co.uk)
-// Copyright 2000 Jeremy Siek (jsiek at lsc.nd.edu)
-// Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
-#define BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_CONVERTIBLE
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/ice.hpp>
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/is_void.hpp>
-#ifndef BOOST_NO_IS_ABSTRACT
-#include <boost/type_traits/is_abstract.hpp>
-#endif
-#include <boost/type_traits/add_rvalue_reference.hpp>
-
-#if defined(__MWERKS__)
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#endif
-
-#endif // BOOST_IS_CONVERTIBLE
-
-// should be always the last #include directive
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_IS_CONVERTIBLE
-
-// is one type convertable to another?
-//
-// there are multiple versions of the is_convertible
-// template, almost every compiler seems to require its
-// own version.
-//
-// Thanks to Andrei Alexandrescu for the original version of the
-// conversion detection technique!
-//
-
-namespace detail {
-
-// MS specific version:
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
-
-// This workaround is necessary to handle when From is void
-// which is normally taken care of by the partial specialization
-// of the is_convertible typename.
-using ::boost::type_traits::yes_type;
-using ::boost::type_traits::no_type;
-
-template< typename From >
-struct does_conversion_exist
-{
-    template< typename To > struct result_
-    {
-        static no_type BOOST_TT_DECL _m_check(...);
-        static yes_type BOOST_TT_DECL _m_check(To);
-        static typename add_rvalue_reference<From>::type  _m_from;
-        enum { value = sizeof( _m_check(_m_from) ) == sizeof(yes_type) };
-    };
-};
-
-template<>
-struct does_conversion_exist<void>
-{
-    template< typename To > struct result_
-    {
-        enum { value = ::boost::is_void<To>::value };
-    };
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl
-    : public does_conversion_exist<From>::template result_<To>
-{
-};
-
-#elif defined(__BORLANDC__) && (__BORLANDC__ < 0x560)
-//
-// special version for Borland compilers
-// this version breaks when used for some
-// UDT conversions:
-//
-template <typename From, typename To>
-struct is_convertible_impl
-{
-#pragma option push -w-8074
-    // This workaround for Borland breaks the EDG C++ frontend,
-    // so we only use it for Borland.
-    template <typename T> struct checker
-    {
-        static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...);
-        static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(T);
-    };
-
-    static typename add_rvalue_reference<From>::type  _m_from;
-    static bool const value = sizeof( checker<To>::_m_check(_m_from) )
-        == sizeof(::boost::type_traits::yes_type);
-#pragma option pop
-};
-
-#elif defined(__GNUC__) || defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-// special version for gcc compiler + recent Borland versions
-// note that this does not pass UDT's through (...)
-
-struct any_conversion
-{
-    template <typename T> any_conversion(const volatile T&);
-    template <typename T> any_conversion(T&);
-};
-
-template <typename T> struct checker
-{
-    static boost::type_traits::no_type _m_check(any_conversion ...);
-    static boost::type_traits::yes_type _m_check(T, int);
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl
-{
-    static typename add_rvalue_reference<From>::type  _m_from;
-    static bool const value = sizeof( boost::detail::checker<To>::_m_check(_m_from, 0) )
-        == sizeof(::boost::type_traits::yes_type);
-};
-
-#elif (defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 245) && !defined(__ICL)) \
-      || defined(__IBMCPP__) || defined(__HP_aCC)
-//
-// This is *almost* an ideal world implementation as it doesn't rely
-// on undefined behaviour by passing UDT's through (...).
-// Unfortunately it doesn't quite pass all the tests for most compilers (sigh...)
-// Enable this for your compiler if is_convertible_test.cpp will compile it...
-//
-// Note we do not enable this for VC7.1, because even though it passes all the
-// type_traits tests it is known to cause problems when instantiation occurs
-// deep within the instantiation tree :-(
-//
-struct any_conversion
-{
-    template <typename T> any_conversion(const volatile T&);
-    // we need this constructor to catch references to functions
-    // (which can not be cv-qualified):
-    template <typename T> any_conversion(T&);
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl
-{
-    static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...);
-    static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int);
-    static typename add_rvalue_reference<From>::type  _m_from;
-
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type)
-        );
-};
-
-#elif defined(__DMC__)
-
-struct any_conversion
-{
-    template <typename T> any_conversion(const volatile T&);
-    // we need this constructor to catch references to functions
-    // (which can not be cv-qualified):
-    template <typename T> any_conversion(T&);
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl
-{
-    // Using '...' doesn't always work on Digital Mars. This version seems to.
-    template <class T>
-    static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion,  float, T);
-    static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int, int);
-    static typename add_rvalue_reference<From>::type  _m_from;
-
-    // Static constants sometime cause the conversion of _m_from to To to be
-    // called. This doesn't happen with an enum.
-    enum { value =
-        sizeof( _m_check(_m_from, 0, 0) ) == sizeof(::boost::type_traits::yes_type)
-        };
-};
-
-#elif defined(__MWERKS__)
-// 
-// CW works with the technique implemented above for EDG, except when From
-// is a function type (or a reference to such a type), in which case
-// any_conversion won't be accepted as a valid conversion. We detect this
-// exceptional situation and channel it through an alternative algorithm.
-//
-
-template <typename From, typename To,bool FromIsFunctionRef>
-struct is_convertible_basic_impl_aux;
-
-struct any_conversion
-{
-    template <typename T> any_conversion(const volatile T&);
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl_aux<From,To,false /*FromIsFunctionRef*/>
-{
-    static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...);
-    static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int);
-    static typename add_rvalue_reference<From>::type  _m_from;
-
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type)
-        );
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl_aux<From,To,true /*FromIsFunctionRef*/>
-{
-    static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...);
-    static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To);
-    static typename add_rvalue_reference<From>::type  _m_from;
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type)
-        );
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl:
-  is_convertible_basic_impl_aux<
-    From,To,
-    ::boost::is_function<typename ::boost::remove_reference<From>::type>::value
-  >
-{};
-
-#else
-
-//
-// This version seems to work pretty well for a wide spectrum of compilers,
-// however it does rely on undefined behaviour by passing UDT's through (...).
-//
-template <typename From, typename To>
-struct is_convertible_basic_impl
-{
-    static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...);
-    static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To);
-    static typename add_rvalue_reference<From>::type  _m_from;
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4244)
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(disable:6334)
-#endif
-#endif
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type)
-        );
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-};
-
-#endif // is_convertible_impl
-
-#if defined(__DMC__)
-// As before, a static constant sometimes causes errors on Digital Mars.
-template <typename From, typename To>
-struct is_convertible_impl
-{
-    typedef typename add_reference<From>::type ref_type;
-    enum { value =
-        (::boost::type_traits::ice_and<
-            ::boost::type_traits::ice_or<
-               ::boost::detail::is_convertible_basic_impl<ref_type,To>::value,
-               ::boost::is_void<To>::value
-            >::value,
-            ::boost::type_traits::ice_not<
-               ::boost::is_array<To>::value
-            >::value
-        >::value) };
-};
-#elif !defined(__BORLANDC__) || __BORLANDC__ > 0x551
-template <typename From, typename To>
-struct is_convertible_impl
-{
-    typedef typename add_reference<From>::type ref_type;
-    BOOST_STATIC_CONSTANT(bool, value =
-        (::boost::type_traits::ice_and<
-            ::boost::type_traits::ice_or<
-               ::boost::detail::is_convertible_basic_impl<ref_type,To>::value,
-               ::boost::is_void<To>::value
-            >::value,
-            ::boost::type_traits::ice_not<
-               ::boost::is_array<To>::value
-            >::value
-        >::value)
-        );
-};
-#endif
-
-template <bool trivial1, bool trivial2, bool abstract_target>
-struct is_convertible_impl_select
-{
-   template <class From, class To>
-   struct rebind
-   {
-      typedef is_convertible_impl<From, To> type;
-   };
-};
-
-template <>
-struct is_convertible_impl_select<true, true, false>
-{
-   template <class From, class To>
-   struct rebind
-   {
-      typedef true_type type;
-   };
-};
-
-template <>
-struct is_convertible_impl_select<false, false, true>
-{
-   template <class From, class To>
-   struct rebind
-   {
-      typedef false_type type;
-   };
-};
-
-template <>
-struct is_convertible_impl_select<true, false, true>
-{
-   template <class From, class To>
-   struct rebind
-   {
-      typedef false_type type;
-   };
-};
-
-template <typename From, typename To>
-struct is_convertible_impl_dispatch_base
-{
-#if !BOOST_WORKAROUND(__HP_aCC, < 60700)
-   typedef is_convertible_impl_select< 
-      ::boost::is_arithmetic<From>::value, 
-      ::boost::is_arithmetic<To>::value,
-#ifndef BOOST_NO_IS_ABSTRACT
-      ::boost::is_abstract<To>::value
-#else
-      false
-#endif
-   > selector;
-#else
-   typedef is_convertible_impl_select<false, false, false> selector;
-#endif
-   typedef typename selector::template rebind<From, To> isc_binder;
-   typedef typename isc_binder::type type;
-};
-
-template <typename From, typename To>
-struct is_convertible_impl_dispatch 
-   : public is_convertible_impl_dispatch_base<From, To>::type
-{};
-
-//
-// Now add the full and partial specialisations
-// for void types, these are common to all the
-// implementation above:
-//
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-#   define TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1,spec2,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 const,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 volatile,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 const volatile,value) \
-    /**/
-
-#   define TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2(trait,spec1,spec2,value) \
-    TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1,spec2,value) \
-    TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1 const,spec2,value) \
-    TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1 volatile,spec2,value) \
-    TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1 const volatile,spec2,value) \
-    /**/
-
-    TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2(is_convertible,void,void,true)
-
-#   undef TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2
-#   undef TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1
-
-#else
-    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(is_convertible,void,void,true)
-#endif // BOOST_NO_CV_VOID_SPECIALIZATIONS
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void,To,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void const,To,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void volatile,To,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void const volatile,To,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void const volatile,false)
-#endif
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,(::boost::detail::is_convertible_impl_dispatch<From,To>::value))
-
-#else
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,BOOST_IS_CONVERTIBLE(From,To))
-
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_empty.hpp b/SRC/Boost/boost/type_traits/is_empty.hpp
deleted file mode 100755
index e446f3d..0000000
--- a/SRC/Boost/boost/type_traits/is_empty.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_EMPTY_HPP_INCLUDED
-#define BOOST_TT_IS_EMPTY_HPP_INCLUDED
-
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   include <boost/type_traits/remove_cv.hpp>
-#   include <boost/type_traits/is_class.hpp>
-#   include <boost/type_traits/add_reference.hpp>
-#else
-#   include <boost/type_traits/is_reference.hpp>
-#   include <boost/type_traits/is_pointer.hpp>
-#   include <boost/type_traits/is_member_pointer.hpp>
-#   include <boost/type_traits/is_array.hpp>
-#   include <boost/type_traits/is_void.hpp>
-#   include <boost/type_traits/detail/ice_and.hpp>
-#   include <boost/type_traits/detail/ice_not.hpp>
-#endif
-
-// should be always the last #include directive
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-#ifndef BOOST_INTERNAL_IS_EMPTY
-#define BOOST_INTERNAL_IS_EMPTY(T) false
-#else
-#define BOOST_INTERNAL_IS_EMPTY(T) BOOST_IS_EMPTY(T)
-#endif
-
-namespace boost {
-
-namespace detail {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4624) // destructor could not be generated
-#endif
-
-template <typename T>
-struct empty_helper_t1 : public T
-{
-    empty_helper_t1();  // hh compiler bug workaround
-    int i[256];
-private:
-   // suppress compiler warnings:
-   empty_helper_t1(const empty_helper_t1&);
-   empty_helper_t1& operator=(const empty_helper_t1&);
-};
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-struct empty_helper_t2 { int i[256]; };
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-
-template <typename T, bool is_a_class = false>
-struct empty_helper
-{
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template <typename T>
-struct empty_helper<T, true>
-{
-    BOOST_STATIC_CONSTANT(
-        bool, value = (sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2))
-        );
-};
-
-template <typename T>
-struct is_empty_impl
-{
-    typedef typename remove_cv<T>::type cvt;
-    BOOST_STATIC_CONSTANT(
-        bool, value = (
-            ::boost::type_traits::ice_or<
-              ::boost::detail::empty_helper<cvt,::boost::is_class<T>::value>::value
-              , BOOST_INTERNAL_IS_EMPTY(cvt)
-            >::value
-            ));
-};
-
-#else // __BORLANDC__
-
-template <typename T, bool is_a_class, bool convertible_to_int>
-struct empty_helper
-{
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template <typename T>
-struct empty_helper<T, true, false>
-{
-    BOOST_STATIC_CONSTANT(bool, value = (
-        sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2)
-        ));
-};
-
-template <typename T>
-struct is_empty_impl
-{
-   typedef typename remove_cv<T>::type cvt;
-   typedef typename add_reference<T>::type r_type;
-
-   BOOST_STATIC_CONSTANT(
-       bool, value = (
-           ::boost::type_traits::ice_or<
-              ::boost::detail::empty_helper<
-                  cvt
-                , ::boost::is_class<T>::value
-                , ::boost::is_convertible< r_type,int>::value
-              >::value
-              , BOOST_INTERNAL_IS_EMPTY(cvt)
-           >::value));
-};
-
-#endif // __BORLANDC__
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#ifdef BOOST_MSVC6_MEMBER_TEMPLATES
-
-template <typename T>
-struct empty_helper_t1 : public T
-{
-   empty_helper_t1();
-   int i[256];
-};
-
-struct empty_helper_t2 { int i[256]; };
-
-template <typename T>
-struct empty_helper_base
-{
-   enum { value = (sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2)) };
-};
-
-template <typename T>
-struct empty_helper_nonbase
-{
-   enum { value = false };
-};
-
-template <bool base>
-struct empty_helper_chooser
-{
-   template <typename T> struct result_
-   {
-      typedef empty_helper_nonbase<T> type;
-   };
-};
-
-template <>
-struct empty_helper_chooser<true>
-{
-   template <typename T> struct result_
-   {
-      typedef empty_helper_base<T> type;
-   };
-};
-
-template <typename T>
-struct is_empty_impl
-{
-   typedef ::boost::detail::empty_helper_chooser<
-      ::boost::type_traits::ice_and<
-         ::boost::type_traits::ice_not< ::boost::is_reference<T>::value >::value,
-         ::boost::type_traits::ice_not< ::boost::is_convertible<T,double>::value >::value,
-         ::boost::type_traits::ice_not< ::boost::is_pointer<T>::value >::value,
-         ::boost::type_traits::ice_not< ::boost::is_member_pointer<T>::value >::value,
-         ::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value,
-         ::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value,
-         ::boost::type_traits::ice_not<
-            ::boost::is_convertible<T,void const volatile*>::value
-            >::value
-      >::value > chooser;
-
-   typedef typename chooser::template result_<T> result;
-   typedef typename result::type eh_type;
-
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_or<eh_type::value, BOOST_INTERNAL_IS_EMPTY(T)>::value));
-};
-
-#else
-
-template <typename T> struct is_empty_impl
-{
-    BOOST_STATIC_CONSTANT(bool, value = BOOST_INTERNAL_IS_EMPTY(T));
-};
-
-#endif  // BOOST_MSVC6_MEMBER_TEMPLATES
-
-#endif  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-// these help when the compiler has no partial specialization support:
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_empty,T,::boost::detail::is_empty_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#undef BOOST_INTERNAL_IS_EMPTY
-
-#endif // BOOST_TT_IS_EMPTY_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/is_enum.hpp b/SRC/Boost/boost/type_traits/is_enum.hpp
deleted file mode 100755
index e33e82d..0000000
--- a/SRC/Boost/boost/type_traits/is_enum.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_ENUM_HPP_INCLUDED
-#define BOOST_TT_IS_ENUM_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_ENUM
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_array.hpp>
-#ifdef __GNUC__
-#include <boost/type_traits/is_function.hpp>
-#endif
-#include <boost/type_traits/config.hpp>
-#if defined(BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION) 
-#  include <boost/type_traits/is_class.hpp>
-#  include <boost/type_traits/is_union.hpp>
-#endif
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_IS_ENUM
-#if !(defined(__BORLANDC__) && (__BORLANDC__ <= 0x551))
-
-namespace detail {
-
-#if defined(BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION) 
-
-template <typename T>
-struct is_class_or_union
-{
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_or<
-           ::boost::is_class<T>::value
-         , ::boost::is_union<T>::value
-      >::value));
-};
-
-#else
-
-template <typename T>
-struct is_class_or_union
-{
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))// we simply can't detect it this way.
-    BOOST_STATIC_CONSTANT(bool, value = false);
-# else
-    template <class U> static ::boost::type_traits::yes_type is_class_or_union_tester(void(U::*)(void));
-
-#  if BOOST_WORKAROUND(BOOST_MSVC, == 1300)                 \
-    || BOOST_WORKAROUND(__MWERKS__, <= 0x3000) // no SFINAE
-    static ::boost::type_traits::no_type is_class_or_union_tester(...);
-    BOOST_STATIC_CONSTANT(
-        bool, value = sizeof(is_class_or_union_tester(0)) == sizeof(::boost::type_traits::yes_type));
-#  else
-    template <class U>
-    static ::boost::type_traits::no_type is_class_or_union_tester(...);
-    BOOST_STATIC_CONSTANT(
-        bool, value = sizeof(is_class_or_union_tester<T>(0)) == sizeof(::boost::type_traits::yes_type));
-#  endif
-# endif
-};
-#endif
-
-struct int_convertible
-{
-    int_convertible(int);
-};
-
-// Don't evaluate convertibility to int_convertible unless the type
-// is non-arithmetic. This suppresses warnings with GCC.
-template <bool is_typename_arithmetic_or_reference = true>
-struct is_enum_helper
-{
-    template <typename T> struct type
-    {
-        BOOST_STATIC_CONSTANT(bool, value = false);
-    };
-};
-
-template <>
-struct is_enum_helper<false>
-{
-    template <typename T> struct type
-       : public ::boost::is_convertible<typename boost::add_reference<T>::type,::boost::detail::int_convertible>
-    {
-    };
-};
-
-template <typename T> struct is_enum_impl
-{
-   //typedef ::boost::add_reference<T> ar_t;
-   //typedef typename ar_t::type r_type;
-
-#if defined(__GNUC__)
-
-#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
-    
-   // We MUST check for is_class_or_union on conforming compilers in
-   // order to correctly deduce that noncopyable types are not enums
-   // (dwa 2002/04/15)...
-   BOOST_STATIC_CONSTANT(bool, selector =
-      (::boost::type_traits::ice_or<
-           ::boost::is_arithmetic<T>::value
-         , ::boost::is_reference<T>::value
-         , ::boost::is_function<T>::value
-         , is_class_or_union<T>::value
-         , is_array<T>::value
-      >::value));
-#else
-   // ...however, not checking is_class_or_union on non-conforming
-   // compilers prevents a dependency recursion.
-   BOOST_STATIC_CONSTANT(bool, selector =
-      (::boost::type_traits::ice_or<
-           ::boost::is_arithmetic<T>::value
-         , ::boost::is_reference<T>::value
-         , ::boost::is_function<T>::value
-         , is_array<T>::value
-      >::value));
-#endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
-
-#else // !defined(__GNUC__):
-    
-   BOOST_STATIC_CONSTANT(bool, selector =
-      (::boost::type_traits::ice_or<
-           ::boost::is_arithmetic<T>::value
-         , ::boost::is_reference<T>::value
-         , is_class_or_union<T>::value
-         , is_array<T>::value
-      >::value));
-    
-#endif
-
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-    typedef ::boost::detail::is_enum_helper<
-          ::boost::detail::is_enum_impl<T>::selector
-        > se_t;
-#else
-    typedef ::boost::detail::is_enum_helper<selector> se_t;
-#endif
-
-    typedef typename se_t::template type<T> helper;
-    BOOST_STATIC_CONSTANT(bool, value = helper::value);
-};
-
-// these help on compilers with no partial specialization support:
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,::boost::detail::is_enum_impl<T>::value)
-
-#else // __BORLANDC__
-//
-// buggy is_convertible prevents working
-// implementation of is_enum:
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,false)
-
-#endif
-
-#else // BOOST_IS_ENUM
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,BOOST_IS_ENUM(T))
-
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_ENUM_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_float.hpp b/SRC/Boost/boost/type_traits/is_float.hpp
deleted file mode 100755
index fff1212..0000000
--- a/SRC/Boost/boost/type_traits/is_float.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-//* is a type T a floating-point type described in the standard (3.9.1p8)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_float,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,float,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,double,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,long double,true)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_floating_point.hpp b/SRC/Boost/boost/type_traits/is_floating_point.hpp
deleted file mode 100755
index 5fba963..0000000
--- a/SRC/Boost/boost/type_traits/is_floating_point.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000-2005.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-//* is a type T a floating-point type described in the standard (3.9.1p8)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_floating_point,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,float,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,double,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,long double,true)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_function.hpp b/SRC/Boost/boost/type_traits/is_function.hpp
deleted file mode 100755
index 90b33ec..0000000
--- a/SRC/Boost/boost/type_traits/is_function.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-
-//  Copyright 2000 John Maddock (john at johnmaddock.co.uk)
-//  Copyright 2002 Aleksey Gurtovoy (agurtovoy at meta-comm.com)
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_FUNCTION_HPP_INCLUDED
-#define BOOST_TT_IS_FUNCTION_HPP_INCLUDED
-
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/detail/false_result.hpp>
-#include <boost/config.hpp>
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
-#   include <boost/type_traits/detail/is_function_ptr_helper.hpp>
-#else
-#   include <boost/type_traits/detail/is_function_ptr_tester.hpp>
-#   include <boost/type_traits/detail/yes_no_type.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-// is a type a function?
-// Please note that this implementation is unnecessarily complex:
-// we could just use !is_convertible<T*, const volatile void*>::value,
-// except that some compilers erroneously allow conversions from
-// function pointers to void*.
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
-
-namespace detail {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
-template<bool is_ref = true>
-struct is_function_chooser
-    : public ::boost::type_traits::false_result
-{
-};
-
-template <>
-struct is_function_chooser<false>
-{
-    template< typename T > struct result_
-        : public ::boost::type_traits::is_function_ptr_helper<T*>
-    {
-    };
-};
-
-template <typename T>
-struct is_function_impl
-    : public is_function_chooser< ::boost::is_reference<T>::value >
-        ::BOOST_NESTED_TEMPLATE result_<T>
-{
-};
-
-#else
-
-template <typename T>
-struct is_function_impl
-{
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(push)
-#pragma warning(disable:6334)
-#endif
-    static T* t;
-    BOOST_STATIC_CONSTANT(
-        bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t))
-        == sizeof(::boost::type_traits::yes_type)
-        );
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(pop)
-#endif
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-template <typename T>
-struct is_function_impl<T&> : public false_type
-{};
-#endif
-
-#endif
-
-} // namespace detail
-
-#endif // !defined( __CODEGEARC__ )
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,__is_function(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,::boost::detail::is_function_impl<T>::value)
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_function,T&&,false)
-#endif
-#endif
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_fundamental.hpp b/SRC/Boost/boost/type_traits/is_fundamental.hpp
deleted file mode 100755
index 95db282..0000000
--- a/SRC/Boost/boost/type_traits/is_fundamental.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
-#define BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
-
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T> 
-struct is_fundamental_impl
-    : public ::boost::type_traits::ice_or< 
-          ::boost::is_arithmetic<T>::value
-        , ::boost::is_void<T>::value
-        >
-{ 
-};
-
-} // namespace detail
-
-//* is a type T a fundamental type described in the standard (3.9.1)
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_fundamental,T,__is_fundamental(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_fundamental,T,::boost::detail::is_fundamental_impl<T>::value)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_integral.hpp b/SRC/Boost/boost/type_traits/is_integral.hpp
deleted file mode 100755
index 17960b0..0000000
--- a/SRC/Boost/boost/type_traits/is_integral.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_INTEGRAL_HPP_INCLUDED
-#define BOOST_TT_IS_INTEGRAL_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-//* is a type T an [cv-qualified-] integral type described in the standard (3.9.1p3)
-// as an extention we include long long, as this is likely to be added to the
-// standard at a later date
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_integral,T,__is_integral(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_integral,T,false)
-
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned char,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned short,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned int,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned long,true)
-
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed char,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed short,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed int,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed long,true)
-
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,bool,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,char,true)
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-// If the following line fails to compile and you're using the Intel
-// compiler, see http://lists.boost.org/MailArchives/boost-users/msg06567.php,
-// and define BOOST_NO_INTRINSIC_WCHAR_T on the command line.
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,wchar_t,true)
-#endif
-
-// Same set of integral types as in boost/type_traits/integral_promotion.hpp.
-// Please, keep in sync. -- Alexander Nasonov
-#if (defined(BOOST_MSVC) && (BOOST_MSVC < 1300)) \
-    || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
-    || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int8,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int8,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int16,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int16,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int32,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int32,true)
-#ifdef __BORLANDC__
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
-#endif
-#endif
-
-# if defined(BOOST_HAS_LONG_LONG)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral, ::boost::ulong_long_type,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral, ::boost::long_long_type,true)
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
-#endif
-
-#endif  // non-CodeGear implementation
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_INTEGRAL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_lvalue_reference.hpp b/SRC/Boost/boost/type_traits/is_lvalue_reference.hpp
deleted file mode 100755
index efa2dec..0000000
--- a/SRC/Boost/boost/type_traits/is_lvalue_reference.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, 
-//      Howard Hinnant and John Maddock 2000. 
-//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001
-
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-//    Fixed is_pointer, is_lvalue_reference, is_const, is_volatile, is_same, 
-//    is_member_pointer based on the Simulated Partial Specialization work 
-//    of Mat Marcus and Jesse Jones. See  http://opensource.adobe.com or 
-//    http://groups.yahoo.com/group/boost/message/5441 
-//    Some workarounds in here use ideas suggested from "Generic<Programming>: 
-//    Mappings between Types and Values" 
-//    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
-
-
-#ifndef BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   include <boost/type_traits/detail/yes_no_type.hpp>
-#   include <boost/type_traits/detail/wrap.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,__is_reference(T))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T&,true)
-
-#if  defined(BOOST_ILLEGAL_CV_REFERENCES)
-// these are illegal specialisations; cv-qualifies applied to
-// references have no effect according to [8.3.2p1],
-// C++ Builder requires them though as it treats cv-qualified
-// references as distinct types...
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& const,true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& const volatile,true)
-#endif
-
-#if defined(__GNUC__) && (__GNUC__ < 3)
-// these allow us to work around illegally cv-qualified reference
-// types.
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T const ,::boost::is_lvalue_reference<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T volatile ,::boost::is_lvalue_reference<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T const volatile ,::boost::is_lvalue_reference<T>::value)
-// However, the above specializations confuse gcc 2.96 unless we also
-// supply these specializations for array types
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,T[N],false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,const T[N],false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,volatile T[N],false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,const volatile T[N],false)
-#endif
-
-#else
-
-#ifdef BOOST_MSVC
-#   pragma warning(push)
-#   pragma warning(disable: 4181 4097)
-#endif
-
-namespace detail {
-
-using ::boost::type_traits::yes_type;
-using ::boost::type_traits::no_type;
-using ::boost::type_traits::wrap;
-
-template <class T> T&(* is_lvalue_reference_helper1(wrap<T>) )(wrap<T>);
-char is_lvalue_reference_helper1(...);
-
-template <class T> no_type is_lvalue_reference_helper2(T&(*)(wrap<T>));
-yes_type is_lvalue_reference_helper2(...);
-
-template <typename T>
-struct is_lvalue_reference_impl
-{
-    BOOST_STATIC_CONSTANT(
-        bool, value = sizeof(
-            ::boost::detail::is_lvalue_reference_helper2(
-                ::boost::detail::is_lvalue_reference_helper1(::boost::type_traits::wrap<T>()))) == 1
-        );
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,::boost::detail::is_lvalue_reference_impl<T>::value)
-
-#ifdef BOOST_MSVC
-#   pragma warning(pop)
-#endif
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/is_member_function_pointer.hpp b/SRC/Boost/boost/type_traits/is_member_function_pointer.hpp
deleted file mode 100755
index 5bd88b5..0000000
--- a/SRC/Boost/boost/type_traits/is_member_function_pointer.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
-#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-   && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
-   //
-   // Note: we use the "workaround" version for MSVC because it works for 
-   // __stdcall etc function types, where as the partial specialisation
-   // version does not do so.
-   //
-#   include <boost/type_traits/detail/is_mem_fun_pointer_impl.hpp>
-#   include <boost/type_traits/remove_cv.hpp>
-#else
-#   include <boost/type_traits/is_reference.hpp>
-#   include <boost/type_traits/is_array.hpp>
-#   include <boost/type_traits/detail/yes_no_type.hpp>
-#   include <boost/type_traits/detail/false_result.hpp>
-#   include <boost/type_traits/detail/ice_or.hpp>
-#   include <boost/type_traits/detail/is_mem_fun_pointer_tester.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_function_pointer,T,__is_member_function_pointer( T ))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
-      is_member_function_pointer
-    , T
-    , ::boost::type_traits::is_mem_fun_pointer_impl<typename remove_cv<T>::type>::value
-    )
-
-#else
-
-namespace detail {
-
-#ifndef __BORLANDC__
-
-template <bool>
-struct is_mem_fun_pointer_select
-    : public ::boost::type_traits::false_result
-{
-};
-
-template <>
-struct is_mem_fun_pointer_select<false>
-{
-    template <typename T> struct result_
-    {
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(push)
-#pragma warning(disable:6334)
-#endif
-        static T* make_t;
-        typedef result_<T> self_type;
-
-        BOOST_STATIC_CONSTANT(
-            bool, value = (
-                1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t))
-            ));
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(pop)
-#endif
-    };
-};
-
-template <typename T>
-struct is_member_function_pointer_impl
-    : public is_mem_fun_pointer_select<
-          ::boost::type_traits::ice_or<
-              ::boost::is_reference<T>::value
-            , ::boost::is_array<T>::value
-            >::value
-        >::template result_<T>
-{
-};
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template <typename T>
-struct is_member_function_pointer_impl<T&> : public false_type{};
-#endif
-
-#else // Borland C++
-
-template <typename T>
-struct is_member_function_pointer_impl
-{
-   static T* m_t;
-   BOOST_STATIC_CONSTANT(
-              bool, value =
-               (1 == sizeof(type_traits::is_mem_fun_pointer_tester(m_t))) );
-};
-
-template <typename T>
-struct is_member_function_pointer_impl<T&>
-{
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-#endif
-
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_function_pointer,T,::boost::detail::is_member_function_pointer_impl<T>::value)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_member_object_pointer.hpp b/SRC/Boost/boost/type_traits/is_member_object_pointer.hpp
deleted file mode 100755
index ba07ee3..0000000
--- a/SRC/Boost/boost/type_traits/is_member_object_pointer.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-//  (C) Copyright John Maddock 2005.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED
-#define BOOST_TT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/is_member_pointer.hpp>
-#include <boost/type_traits/is_member_function_pointer.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-template <typename T>
-struct is_member_object_pointer_impl
-{
-   BOOST_STATIC_CONSTANT(
-      bool, value = (::boost::type_traits::ice_and<
-         ::boost::is_member_pointer<T>::value,
-         ::boost::type_traits::ice_not<
-            ::boost::is_member_function_pointer<T>::value
-         >::value
-      >::value ));
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_object_pointer,T,::boost::detail::is_member_object_pointer_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_member_pointer.hpp b/SRC/Boost/boost/type_traits/is_member_pointer.hpp
deleted file mode 100755
index 5f9d159..0000000
--- a/SRC/Boost/boost/type_traits/is_member_pointer.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, 
-//      Howard Hinnant and John Maddock 2000. 
-//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001
-
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-//    Fixed is_pointer, is_reference, is_const, is_volatile, is_same, 
-//    is_member_pointer based on the Simulated Partial Specialization work 
-//    of Mat Marcus and Jesse Jones. See  http://opensource.adobe.com or 
-//    http://groups.yahoo.com/group/boost/message/5441 
-//    Some workarounds in here use ideas suggested from "Generic<Programming>: 
-//    Mappings between Types and Values" 
-//    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
-
-
-#ifndef BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
-#define BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-#   include <boost/type_traits/is_member_function_pointer.hpp>
-#else
-#   include <boost/type_traits/is_reference.hpp>
-#   include <boost/type_traits/is_array.hpp>
-#   include <boost/type_traits/detail/is_mem_fun_pointer_tester.hpp>
-#   include <boost/type_traits/detail/yes_no_type.hpp>
-#   include <boost/type_traits/detail/false_result.hpp>
-#   include <boost/type_traits/detail/ice_or.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,__is_member_pointer(T))
-#elif BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)
-
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::boost::is_member_function_pointer<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)
-
-#if !BOOST_WORKAROUND(__MWERKS__,<=0x3003) && !BOOST_WORKAROUND(__IBMCPP__, <=600)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const,true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const volatile,true)
-#endif
-
-#else // no partial template specialization
-
-namespace detail {
-
-template <typename R, typename T>
-::boost::type_traits::yes_type BOOST_TT_DECL is_member_pointer_tester(R T::*const volatile*);
-::boost::type_traits::no_type BOOST_TT_DECL is_member_pointer_tester(...);
-
-template <bool>
-struct is_member_pointer_select
-    : public ::boost::type_traits::false_result
-{
-};
-
-template <>
-struct is_member_pointer_select<false>
-{
-    template <typename T> struct result_
-    {
-        static T* make_t();
-        BOOST_STATIC_CONSTANT(
-            bool, value =
-            (::boost::type_traits::ice_or<
-                (1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(make_t()))),
-                (1 == sizeof(is_member_pointer_tester(make_t())))
-            >::value) );
-    };
-};
-
-template <typename T>
-struct is_member_pointer_impl
-    : public is_member_pointer_select<
-          ::boost::type_traits::ice_or<
-              ::boost::is_reference<T>::value
-            , ::boost::is_array<T>::value
-            >::value
-        >::template result_<T>
-{
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::boost::detail::is_member_pointer_impl<T>::value)
-
-#endif // __BORLANDC__
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_object.hpp b/SRC/Boost/boost/type_traits/is_object.hpp
deleted file mode 100755
index 35eb8cd..0000000
--- a/SRC/Boost/boost/type_traits/is_object.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_OBJECT_HPP_INCLUDED
-#define BOOST_TT_IS_OBJECT_HPP_INCLUDED
-
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct is_object_impl
-{
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_and<
-         ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,
-         ::boost::type_traits::ice_not< ::boost::is_void<T>::value>::value,
-         ::boost::type_traits::ice_not< ::boost::is_function<T>::value>::value
-      >::value));
-#else
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_and<
-         ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,
-         ::boost::type_traits::ice_not< ::boost::is_void<T>::value>::value
-      >::value));
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_object,T,::boost::detail::is_object_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_OBJECT_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_pod.hpp b/SRC/Boost/boost/type_traits/is_pod.hpp
deleted file mode 100755
index d0dba86..0000000
--- a/SRC/Boost/boost/type_traits/is_pod.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_POD_HPP_INCLUDED
-#define BOOST_TT_IS_POD_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/is_scalar.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-
-#include <cstddef>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-#ifndef BOOST_IS_POD
-#define BOOST_INTERNAL_IS_POD(T) false
-#else
-#define BOOST_INTERNAL_IS_POD(T) BOOST_IS_POD(T)
-#endif
-
-namespace boost {
-
-// forward declaration, needed by 'is_pod_array_helper' template below
-template< typename T > struct is_POD;
-
-namespace detail {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template <typename T> struct is_pod_impl
-{ 
-    BOOST_STATIC_CONSTANT(
-        bool, value =
-        (::boost::type_traits::ice_or<
-            ::boost::is_scalar<T>::value,
-            ::boost::is_void<T>::value,
-            BOOST_INTERNAL_IS_POD(T)
-         >::value));
-};
-
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-template <typename T, std::size_t sz>
-struct is_pod_impl<T[sz]>
-    : public is_pod_impl<T>
-{
-};
-#endif
-
-#else
-
-template <bool is_array = false>
-struct is_pod_helper
-{
-    template <typename T> struct result_
-    {
-        BOOST_STATIC_CONSTANT(
-            bool, value =
-            (::boost::type_traits::ice_or<
-                ::boost::is_scalar<T>::value,
-                ::boost::is_void<T>::value,
-                BOOST_INTERNAL_IS_POD(T)
-            >::value));
-    };
-};
-
-template <bool b>
-struct bool_to_yes_no_type
-{
-    typedef ::boost::type_traits::no_type type;
-};
-
-template <>
-struct bool_to_yes_no_type<true>
-{
-    typedef ::boost::type_traits::yes_type type;
-};
-
-template <typename ArrayType>
-struct is_pod_array_helper
-{
-    enum { is_pod = ::boost::is_POD<ArrayType>::value }; // MSVC workaround
-    typedef typename bool_to_yes_no_type<is_pod>::type type;
-    type instance() const;
-};
-
-template <typename T>
-is_pod_array_helper<T> is_POD_array(T*);
-
-template <>
-struct is_pod_helper<true>
-{
-    template <typename T> struct result_
-    {
-        static T& help();
-        BOOST_STATIC_CONSTANT(bool, value =
-            sizeof(is_POD_array(help()).instance()) == sizeof(::boost::type_traits::yes_type)
-            );
-    };
-};
-
-
-template <typename T> struct is_pod_impl
-{ 
-   BOOST_STATIC_CONSTANT(
-       bool, value = (
-           ::boost::detail::is_pod_helper<
-              ::boost::is_array<T>::value
-           >::template result_<T>::value
-           )
-       );
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-// the following help compilers without partial specialization support:
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void,true)
-
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void const,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void const volatile,true)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_POD,T,::boost::detail::is_pod_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pod,T,::boost::detail::is_pod_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#undef BOOST_INTERNAL_IS_POD
-
-#endif // BOOST_TT_IS_POD_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_pointer.hpp b/SRC/Boost/boost/type_traits/is_pointer.hpp
deleted file mode 100755
index fc5ab45..0000000
--- a/SRC/Boost/boost/type_traits/is_pointer.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, 
-//      Howard Hinnant and John Maddock 2000. 
-//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001
-
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-//    Fixed is_pointer, is_reference, is_const, is_volatile, is_same, 
-//    is_member_pointer based on the Simulated Partial Specialization work 
-//    of Mat Marcus and Jesse Jones. See  http://opensource.adobe.com or 
-//    http://groups.yahoo.com/group/boost/message/5441 
-//    Some workarounds in here use ideas suggested from "Generic<Programming>: 
-//    Mappings between Types and Values" 
-//    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
-
-
-#ifndef BOOST_TT_IS_POINTER_HPP_INCLUDED
-#define BOOST_TT_IS_POINTER_HPP_INCLUDED
-
-#include <boost/type_traits/is_member_pointer.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-#include <boost/type_traits/config.hpp>
-#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/remove_cv.hpp>
-#endif
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   include <boost/type_traits/is_reference.hpp>
-#   include <boost/type_traits/is_array.hpp>
-#   include <boost/type_traits/detail/is_function_ptr_tester.hpp>
-#   include <boost/type_traits/detail/false_result.hpp>
-#   include <boost/type_traits/detail/ice_or.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,__is_pointer(T))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-namespace detail {
-
-template< typename T > struct is_pointer_helper
-{
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-#   define TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC(helper,sp,result) \
-template< typename T > struct helper<sp> \
-{ \
-    BOOST_STATIC_CONSTANT(bool, value = result); \
-}; \
-/**/
-
-TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC(is_pointer_helper,T*,true)
-
-#   undef TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC
-
-template< typename T >
-struct is_pointer_impl
-{
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-    BOOST_STATIC_CONSTANT(bool, value =
-        (::boost::type_traits::ice_and<
-              ::boost::detail::is_pointer_helper<T>::value
-            , ::boost::type_traits::ice_not<
-                ::boost::is_member_pointer<T>::value
-                >::value
-            >::value)
-        );
-#else
-    BOOST_STATIC_CONSTANT(bool, value =
-        (::boost::type_traits::ice_and<
-        ::boost::detail::is_pointer_helper<typename remove_cv<T>::type>::value
-            , ::boost::type_traits::ice_not<
-                ::boost::is_member_pointer<T>::value
-                >::value
-            >::value)
-        );
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::boost::detail::is_pointer_impl<T>::value)
-
-#if defined(__BORLANDC__) && !defined(__COMO__) && (__BORLANDC__ < 0x600)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& const,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& const volatile,false)
-#endif
-
-#else // no partial template specialization
-
-namespace detail {
-
-struct pointer_helper
-{
-    pointer_helper(const volatile void*);
-};
-
-yes_type BOOST_TT_DECL is_pointer_tester(pointer_helper);
-no_type BOOST_TT_DECL is_pointer_tester(...);
-
-template <bool>
-struct is_pointer_select
-    : public ::boost::type_traits::false_result
-{
-};
-
-template <>
-struct is_pointer_select<false>
-{
-    template <typename T> struct result_
-    {
-        static T& make_t();
-        BOOST_STATIC_CONSTANT(bool, value =
-                (::boost::type_traits::ice_or<
-                    (1 == sizeof(is_pointer_tester(make_t()))),
-                    (1 == sizeof(type_traits::is_function_ptr_tester(make_t())))
-                >::value));
-    };
-};
-
-template <typename T>
-struct is_pointer_impl
-    : public is_pointer_select<
-          ::boost::type_traits::ice_or<
-              ::boost::is_reference<T>::value
-            , ::boost::is_array<T>::value
-            >::value
-        >::template result_<T>
-{
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::boost::detail::is_pointer_impl<T>::value)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_POINTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_polymorphic.hpp b/SRC/Boost/boost/type_traits/is_polymorphic.hpp
deleted file mode 100755
index 78515e7..0000000
--- a/SRC/Boost/boost/type_traits/is_polymorphic.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_POLYMORPHIC_HPP
-#define BOOST_TT_IS_POLYMORPHIC_HPP
-
-#include <boost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_POLYMORPHIC
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#endif
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost{
-
-#ifndef BOOST_IS_POLYMORPHIC
-
-namespace detail{
-
-template <class T>
-struct is_polymorphic_imp1
-{
-# if BOOST_WORKAROUND(__MWERKS__, <= 0x2407) // CWPro7 should return false always.
-    typedef char d1, (&d2)[2];
-# else 
-   typedef typename remove_cv<T>::type ncvT;
-   struct d1 : public ncvT
-   {
-      d1();
-#  if !defined(__GNUC__) // this raises warnings with some classes, and buys nothing with GCC
-      ~d1()throw();
-#  endif 
-      char padding[256];
-   private:
-      // keep some picky compilers happy:
-      d1(const d1&);
-      d1& operator=(const d1&);
-   };
-   struct d2 : public ncvT
-   {
-      d2();
-      virtual ~d2()throw();
-#  if !defined(BOOST_MSVC) && !defined(__ICL)
-      // for some reason this messes up VC++ when T has virtual bases,
-      // probably likewise for compilers that use the same ABI:
-      struct unique{};
-      virtual void unique_name_to_boost5487629(unique*);
-#  endif
-      char padding[256];
-   private:
-      // keep some picky compilers happy:
-      d2(const d2&);
-      d2& operator=(const d2&);
-   };
-# endif 
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(d2) == sizeof(d1)));
-};
-
-template <class T>
-struct is_polymorphic_imp2
-{
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template <bool is_class>
-struct is_polymorphic_selector
-{
-   template <class T>
-   struct rebind
-   {
-      typedef is_polymorphic_imp2<T> type;
-   };
-};
-
-template <>
-struct is_polymorphic_selector<true>
-{
-   template <class T>
-   struct rebind
-   {
-      typedef is_polymorphic_imp1<T> type;
-   };
-};
-
-template <class T>
-struct is_polymorphic_imp
-{
-   typedef is_polymorphic_selector< ::boost::is_class<T>::value> selector;
-   typedef typename selector::template rebind<T> binder;
-   typedef typename binder::type imp_type;
-   BOOST_STATIC_CONSTANT(bool, value = imp_type::value);
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,::boost::detail::is_polymorphic_imp<T>::value)
-
-#else // BOOST_IS_POLYMORPHIC
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,BOOST_IS_POLYMORPHIC(T))
-
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/is_reference.hpp b/SRC/Boost/boost/type_traits/is_reference.hpp
deleted file mode 100755
index 9bb0e61..0000000
--- a/SRC/Boost/boost/type_traits/is_reference.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, 
-//      Howard Hinnant and John Maddock 2000, 2010. 
-//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001
-
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/is_lvalue_reference.hpp>
-#include <boost/type_traits/is_rvalue_reference.hpp>
-#include <boost/type_traits/ice.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct is_reference_impl
-{
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_or<
-         ::boost::is_lvalue_reference<T>::value, ::boost::is_rvalue_reference<T>::value
-       >::value));
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_reference,T,::boost::detail::is_reference_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/is_rvalue_reference.hpp b/SRC/Boost/boost/type_traits/is_rvalue_reference.hpp
deleted file mode 100755
index c2c5205..0000000
--- a/SRC/Boost/boost/type_traits/is_rvalue_reference.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-//  (C) John Maddock 2010. 
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_rvalue_reference,T,false)
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_rvalue_reference,T&&,true)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/is_same.hpp b/SRC/Boost/boost/type_traits/is_same.hpp
deleted file mode 100755
index ef2c75a..0000000
--- a/SRC/Boost/boost/type_traits/is_same.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, 
-//      Howard Hinnant and John Maddock 2000. 
-//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001
-
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-//    Fixed is_pointer, is_reference, is_const, is_volatile, is_same, 
-//    is_member_pointer based on the Simulated Partial Specialization work 
-//    of Mat Marcus and Jesse Jones. See  http://opensource.adobe.com or 
-//    http://groups.yahoo.com/group/boost/message/5441 
-//    Some workarounds in here use ideas suggested from "Generic<Programming>: 
-//    Mappings between Types and Values" 
-//    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
-
-
-#ifndef BOOST_TT_IS_SAME_HPP_INCLUDED
-#define BOOST_TT_IS_SAME_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#endif
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T,T,true)
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-// without this, Borland's compiler gives the wrong answer for
-// references to arrays:
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T&,T&,true)
-#endif
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace detail {
-
-#ifdef BOOST_MSVC
-// the following VC6 specific implementation is *NOT* legal
-// C++, but has the advantage that it works for incomplete
-// types.
-
-template< typename T1 >
-struct is_same_part_1
-{
-    template<typename T2>  struct part_2     { enum { value = false }; };
-    template<>             struct part_2<T1> { enum { value = true }; };
-};
-
-template< typename T1, typename T2 >
-struct is_same_impl
-{
-    enum { value = boost::detail::is_same_part_1<T1>::template part_2<T2>::value };
-};
-
-#else // generic "no-partial-specialization" version
-
-template <typename T>
-::boost::type_traits::yes_type
-BOOST_TT_DECL is_same_tester(T*, T*);
-
-::boost::type_traits::no_type
-BOOST_TT_DECL is_same_tester(...);
-
-template <typename T, typename U>
-struct is_same_impl
-{
-   static T t;
-   static U u;
-
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_and<
-         (sizeof(type_traits::yes_type) == sizeof(boost::detail::is_same_tester(&t,&u))),
-         (::boost::is_reference<T>::value == ::boost::is_reference<U>::value),
-         (sizeof(T) == sizeof(U))
-        >::value));
-};
-
-#endif // BOOST_MSVC
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,(::boost::detail::is_same_impl<T,U>::value))
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif  // BOOST_TT_IS_SAME_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/is_scalar.hpp b/SRC/Boost/boost/type_traits/is_scalar.hpp
deleted file mode 100755
index 618f981..0000000
--- a/SRC/Boost/boost/type_traits/is_scalar.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_SCALAR_HPP_INCLUDED
-#define BOOST_TT_IS_SCALAR_HPP_INCLUDED
-
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_member_pointer.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct is_scalar_impl
-{ 
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::boost::type_traits::ice_or<
-         ::boost::is_arithmetic<T>::value,
-         ::boost::is_enum<T>::value,
-         ::boost::is_pointer<T>::value,
-         ::boost::is_member_pointer<T>::value
-      >::value));
-};
-
-// these specializations are only really needed for compilers 
-// without partial specialization support:
-template <> struct is_scalar_impl<void>{ BOOST_STATIC_CONSTANT(bool, value = false ); };
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct is_scalar_impl<void const>{ BOOST_STATIC_CONSTANT(bool, value = false ); };
-template <> struct is_scalar_impl<void volatile>{ BOOST_STATIC_CONSTANT(bool, value = false ); };
-template <> struct is_scalar_impl<void const volatile>{ BOOST_STATIC_CONSTANT(bool, value = false ); };
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_scalar,T,::boost::detail::is_scalar_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_SCALAR_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_signed.hpp b/SRC/Boost/boost/type_traits/is_signed.hpp
deleted file mode 100755
index 77562a1..0000000
--- a/SRC/Boost/boost/type_traits/is_signed.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-
-//  (C) Copyright John Maddock 2005.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_SIGNED_HPP_INCLUDED
-#define BOOST_TT_IS_SIGNED_HPP_INCLUDED
-
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
-
-namespace detail{
-
-#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) && !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-
-template <class T>
-struct is_signed_values
-{
-   //
-   // Note that we cannot use BOOST_STATIC_CONSTANT here, using enum's
-   // rather than "real" static constants simply doesn't work or give
-   // the correct answer.
-   //
-   typedef typename remove_cv<T>::type no_cv_t;
-   static const no_cv_t minus_one = (static_cast<no_cv_t>(-1));
-   static const no_cv_t zero = (static_cast<no_cv_t>(0));
-};
-
-template <class T>
-struct is_signed_helper
-{
-   typedef typename remove_cv<T>::type no_cv_t;
-   BOOST_STATIC_CONSTANT(bool, value = (!(::boost::detail::is_signed_values<T>::minus_one  > boost::detail::is_signed_values<T>::zero)));
-};
-
-template <bool integral_type>
-struct is_signed_select_helper
-{
-   template <class T>
-   struct rebind
-   {
-      typedef is_signed_helper<T> type;
-   };
-};
-
-template <>
-struct is_signed_select_helper<false>
-{
-   template <class T>
-   struct rebind
-   {
-      typedef false_type type;
-   };
-};
-
-template <class T>
-struct is_signed_imp
-{
-   typedef is_signed_select_helper< 
-      ::boost::type_traits::ice_or<
-         ::boost::is_integral<T>::value,
-         ::boost::is_enum<T>::value>::value 
-   > selector;
-   typedef typename selector::template rebind<T> binder;
-   typedef typename binder::type type;
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-   BOOST_STATIC_CONSTANT(bool, value = is_signed_imp<T>::type::value);
-#else
-   BOOST_STATIC_CONSTANT(bool, value = type::value);
-#endif
-};
-
-#else
-
-template <class T> struct is_signed_imp : public false_type{};
-template <> struct is_signed_imp<signed char> : public true_type{};
-template <> struct is_signed_imp<const signed char> : public true_type{};
-template <> struct is_signed_imp<volatile signed char> : public true_type{};
-template <> struct is_signed_imp<const volatile signed char> : public true_type{};
-template <> struct is_signed_imp<short> : public true_type{};
-template <> struct is_signed_imp<const short> : public true_type{};
-template <> struct is_signed_imp<volatile short> : public true_type{};
-template <> struct is_signed_imp<const volatile short> : public true_type{};
-template <> struct is_signed_imp<int> : public true_type{};
-template <> struct is_signed_imp<const int> : public true_type{};
-template <> struct is_signed_imp<volatile int> : public true_type{};
-template <> struct is_signed_imp<const volatile int> : public true_type{};
-template <> struct is_signed_imp<long> : public true_type{};
-template <> struct is_signed_imp<const long> : public true_type{};
-template <> struct is_signed_imp<volatile long> : public true_type{};
-template <> struct is_signed_imp<const volatile long> : public true_type{};
-#ifdef BOOST_HAS_LONG_LONG
-template <> struct is_signed_imp<long long> : public true_type{};
-template <> struct is_signed_imp<const long long> : public true_type{};
-template <> struct is_signed_imp<volatile long long> : public true_type{};
-template <> struct is_signed_imp<const volatile long long> : public true_type{};
-#endif
-#if defined(CHAR_MIN) && (CHAR_MIN != 0)
-template <> struct is_signed_imp<char> : public true_type{};
-template <> struct is_signed_imp<const char> : public true_type{};
-template <> struct is_signed_imp<volatile char> : public true_type{};
-template <> struct is_signed_imp<const volatile char> : public true_type{};
-#endif
-#if defined(WCHAR_MIN) && (WCHAR_MIN != 0)
-template <> struct is_signed_imp<wchar_t> : public true_type{};
-template <> struct is_signed_imp<const wchar_t> : public true_type{};
-template <> struct is_signed_imp<volatile wchar_t> : public true_type{};
-template <> struct is_signed_imp<const volatile wchar_t> : public true_type{};
-#endif
-
-#endif
-
-}
-
-#endif // !defined( __CODEGEARC__ )
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_signed,T,__is_signed(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_signed,T,::boost::detail::is_signed_imp<T>::value)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_stateless.hpp b/SRC/Boost/boost/type_traits/is_stateless.hpp
deleted file mode 100755
index daeee23..0000000
--- a/SRC/Boost/boost/type_traits/is_stateless.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_STATELESS_HPP_INCLUDED
-#define BOOST_TT_IS_STATELESS_HPP_INCLUDED
-
-#include <boost/type_traits/has_trivial_constructor.hpp>
-#include <boost/type_traits/has_trivial_copy.hpp>
-#include <boost/type_traits/has_trivial_destructor.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_empty.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct is_stateless_impl
-{
-  BOOST_STATIC_CONSTANT(bool, value = 
-    (::boost::type_traits::ice_and<
-       ::boost::has_trivial_constructor<T>::value,
-       ::boost::has_trivial_copy<T>::value,
-       ::boost::has_trivial_destructor<T>::value,
-       ::boost::is_class<T>::value,
-       ::boost::is_empty<T>::value
-     >::value));
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_stateless,T,::boost::detail::is_stateless_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_STATELESS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_union.hpp b/SRC/Boost/boost/type_traits/is_union.hpp
deleted file mode 100755
index 2ed4274..0000000
--- a/SRC/Boost/boost/type_traits/is_union.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_UNION_HPP_INCLUDED
-#define BOOST_TT_IS_UNION_HPP_INCLUDED
-
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-#ifndef __GNUC__
-template <typename T> struct is_union_impl
-{
-   typedef typename remove_cv<T>::type cvt;
-#ifdef BOOST_IS_UNION
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_UNION(cvt));
-#else
-   BOOST_STATIC_CONSTANT(bool, value = false);
-#endif
-};
-#else
-//
-// using remove_cv here generates a whole load of needless
-// warnings with gcc, since it doesn't do any good with gcc
-// in any case (at least at present), just remove it:
-//
-template <typename T> struct is_union_impl
-{
-#ifdef BOOST_IS_UNION
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_UNION(T));
-#else
-   BOOST_STATIC_CONSTANT(bool, value = false);
-#endif
-};
-#endif
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_union,T,::boost::detail::is_union_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_UNION_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_unsigned.hpp b/SRC/Boost/boost/type_traits/is_unsigned.hpp
deleted file mode 100755
index 509d898..0000000
--- a/SRC/Boost/boost/type_traits/is_unsigned.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-
-//  (C) Copyright John Maddock 2005.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_UNSIGNED_HPP_INCLUDED
-#define BOOST_TT_IS_UNSIGNED_HPP_INCLUDED
-
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
-
-namespace detail{
-
-#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) && !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-
-template <class T>
-struct is_unsigned_values
-{
-   //
-   // Note that we cannot use BOOST_STATIC_CONSTANT here, using enum's
-   // rather than "real" static constants simply doesn't work or give
-   // the correct answer.
-   //
-   typedef typename remove_cv<T>::type no_cv_t;
-   static const no_cv_t minus_one = (static_cast<no_cv_t>(-1));
-   static const no_cv_t zero = (static_cast<no_cv_t>(0));
-};
-
-template <class T>
-struct is_ununsigned_helper
-{
-   BOOST_STATIC_CONSTANT(bool, value = (::boost::detail::is_unsigned_values<T>::minus_one > ::boost::detail::is_unsigned_values<T>::zero));
-};
-
-template <bool integral_type>
-struct is_ununsigned_select_helper
-{
-   template <class T>
-   struct rebind
-   {
-      typedef is_ununsigned_helper<T> type;
-   };
-};
-
-template <>
-struct is_ununsigned_select_helper<false>
-{
-   template <class T>
-   struct rebind
-   {
-      typedef false_type type;
-   };
-};
-
-template <class T>
-struct is_unsigned_imp
-{
-   typedef is_ununsigned_select_helper< 
-      ::boost::type_traits::ice_or<
-         ::boost::is_integral<T>::value,
-         ::boost::is_enum<T>::value>::value 
-   > selector;
-   typedef typename selector::template rebind<T> binder;
-   typedef typename binder::type type;
-   BOOST_STATIC_CONSTANT(bool, value = type::value);
-};
-
-#else
-
-template <class T> struct is_unsigned_imp : public false_type{};
-template <> struct is_unsigned_imp<unsigned char> : public true_type{};
-template <> struct is_unsigned_imp<const unsigned char> : public true_type{};
-template <> struct is_unsigned_imp<volatile unsigned char> : public true_type{};
-template <> struct is_unsigned_imp<const volatile unsigned char> : public true_type{};
-template <> struct is_unsigned_imp<unsigned short> : public true_type{};
-template <> struct is_unsigned_imp<const unsigned short> : public true_type{};
-template <> struct is_unsigned_imp<volatile unsigned short> : public true_type{};
-template <> struct is_unsigned_imp<const volatile unsigned short> : public true_type{};
-template <> struct is_unsigned_imp<unsigned int> : public true_type{};
-template <> struct is_unsigned_imp<const unsigned int> : public true_type{};
-template <> struct is_unsigned_imp<volatile unsigned int> : public true_type{};
-template <> struct is_unsigned_imp<const volatile unsigned int> : public true_type{};
-template <> struct is_unsigned_imp<unsigned long> : public true_type{};
-template <> struct is_unsigned_imp<const unsigned long> : public true_type{};
-template <> struct is_unsigned_imp<volatile unsigned long> : public true_type{};
-template <> struct is_unsigned_imp<const volatile unsigned long> : public true_type{};
-#ifdef BOOST_HAS_LONG_LONG
-template <> struct is_unsigned_imp<unsigned long long> : public true_type{};
-template <> struct is_unsigned_imp<const unsigned long long> : public true_type{};
-template <> struct is_unsigned_imp<volatile unsigned long long> : public true_type{};
-template <> struct is_unsigned_imp<const volatile unsigned long long> : public true_type{};
-#endif
-#if defined(CHAR_MIN) && (CHAR_MIN == 0)
-template <> struct is_unsigned_imp<char> : public true_type{};
-template <> struct is_unsigned_imp<const char> : public true_type{};
-template <> struct is_unsigned_imp<volatile char> : public true_type{};
-template <> struct is_unsigned_imp<const volatile char> : public true_type{};
-#endif
-#if defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-template <> struct is_unsigned_imp<wchar_t> : public true_type{};
-template <> struct is_unsigned_imp<const wchar_t> : public true_type{};
-template <> struct is_unsigned_imp<volatile wchar_t> : public true_type{};
-template <> struct is_unsigned_imp<const volatile wchar_t> : public true_type{};
-#endif
-
-#endif
-
-}
-
-#endif // !defined( __CODEGEARC__ )
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_unsigned,T,__is_unsigned(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_unsigned,T,::boost::detail::is_unsigned_imp<T>::value)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_virtual_base_of.hpp b/SRC/Boost/boost/type_traits/is_virtual_base_of.hpp
deleted file mode 100755
index 18dda53..0000000
--- a/SRC/Boost/boost/type_traits/is_virtual_base_of.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-//  (C) Copyright Daniel Frey and Robert Ramey 2009.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
- 
-#ifndef BOOST_TT_IS_VIRTUAL_BASE_OF_HPP_INCLUDED
-#define BOOST_TT_IS_VIRTUAL_BASE_OF_HPP_INCLUDED
-
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-namespace detail {
-
-
-#ifdef BOOST_MSVC
-#pragma warning( push )
-#pragma warning( disable : 4584 4250)
-#elif defined __GNUC__
-#pragma GCC system_header
-#endif
-
-template<typename Base, typename Derived, typename tag>
-struct is_virtual_base_of_impl
-{
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<typename Base, typename Derived>
-struct is_virtual_base_of_impl<Base, Derived, mpl::true_>
-{
-#ifdef __BORLANDC__
-    struct boost_type_traits_internal_struct_X : public virtual Derived, public virtual Base 
-    {
-       boost_type_traits_internal_struct_X();
-       boost_type_traits_internal_struct_X(const boost_type_traits_internal_struct_X&);
-       boost_type_traits_internal_struct_X& operator=(const boost_type_traits_internal_struct_X&);
-       ~boost_type_traits_internal_struct_X()throw();
-    };
-    struct boost_type_traits_internal_struct_Y : public virtual Derived 
-    {
-       boost_type_traits_internal_struct_Y();
-       boost_type_traits_internal_struct_Y(const boost_type_traits_internal_struct_Y&);
-       boost_type_traits_internal_struct_Y& operator=(const boost_type_traits_internal_struct_Y&);
-       ~boost_type_traits_internal_struct_Y()throw();
-    };
-#else
-    struct boost_type_traits_internal_struct_X : public Derived, virtual Base 
-    {
-       boost_type_traits_internal_struct_X();
-       boost_type_traits_internal_struct_X(const boost_type_traits_internal_struct_X&);
-       boost_type_traits_internal_struct_X& operator=(const boost_type_traits_internal_struct_X&);
-       ~boost_type_traits_internal_struct_X()throw();
-    };
-    struct boost_type_traits_internal_struct_Y : public Derived 
-    {
-       boost_type_traits_internal_struct_Y();
-       boost_type_traits_internal_struct_Y(const boost_type_traits_internal_struct_Y&);
-       boost_type_traits_internal_struct_Y& operator=(const boost_type_traits_internal_struct_Y&);
-       ~boost_type_traits_internal_struct_Y()throw();
-    };
-#endif
-    BOOST_STATIC_CONSTANT(bool, value = (sizeof(boost_type_traits_internal_struct_X)==sizeof(boost_type_traits_internal_struct_Y)));
-};
-
-template<typename Base, typename Derived>
-struct is_virtual_base_of_impl2
-{
-   typedef typename mpl::and_<is_base_of<Base, Derived>, mpl::not_<is_same<Base, Derived> > >::type tag_type;
-   typedef is_virtual_base_of_impl<Base, Derived, tag_type> imp;
-   BOOST_STATIC_CONSTANT(bool, value = imp::value);
-};
-
-#ifdef BOOST_MSVC
-#pragma warning( pop )
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(
-      is_virtual_base_of
-       , Base
-       , Derived
-       , (::boost::detail::is_virtual_base_of_impl2<Base,Derived>::value) 
-)
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base&,Derived,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base,Derived&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base&,Derived&,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif
diff --git a/SRC/Boost/boost/type_traits/is_void.hpp b/SRC/Boost/boost/type_traits/is_void.hpp
deleted file mode 100755
index 007ad5d..0000000
--- a/SRC/Boost/boost/type_traits/is_void.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_VOID_HPP_INCLUDED
-#define BOOST_TT_IS_VOID_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-//* is a type T void - is_void<T>
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_void,T,__is_void(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_void,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void,true)
-
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void const,true)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void const volatile,true)
-#endif
-
-#endif  // non-CodeGear implementation
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_VOID_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/is_volatile.hpp b/SRC/Boost/boost/type_traits/is_volatile.hpp
deleted file mode 100755
index 7a52196..0000000
--- a/SRC/Boost/boost/type_traits/is_volatile.hpp
+++ /dev/null
@@ -1,152 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, 
-//      Howard Hinnant and John Maddock 2000. 
-//  (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001
-
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-//    Fixed is_pointer, is_reference, is_const, is_volatile, is_same, 
-//    is_member_pointer based on the Simulated Partial Specialization work 
-//    of Mat Marcus and Jesse Jones. See  http://opensource.adobe.com or 
-//    http://groups.yahoo.com/group/boost/message/5441 
-//    Some workarounds in here use ideas suggested from "Generic<Programming>: 
-//    Mappings between Types and Values" 
-//    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
-
-
-#ifndef BOOST_TT_IS_VOLATILE_HPP_INCLUDED
-#define BOOST_TT_IS_VOLATILE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   include <boost/type_traits/detail/cv_traits_impl.hpp>
-#   if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
-#       include <boost/type_traits/remove_bounds.hpp>
-#   endif
-#else
-#   include <boost/type_traits/is_reference.hpp>
-#   include <boost/type_traits/is_array.hpp>
-#   include <boost/type_traits/detail/yes_no_type.hpp>
-#   include <boost/type_traits/detail/false_result.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-template <class T>
-struct is_volatile_rval_filter
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
-   BOOST_STATIC_CONSTANT(bool, value = ::boost::detail::cv_traits_imp<typename boost::remove_bounds<T>::type*>::is_volatile);
-#else
-   BOOST_STATIC_CONSTANT(bool, value = ::boost::detail::cv_traits_imp<T*>::is_volatile);
-#endif
-};
-#ifndef BOOST_NO_RVALUE_REFERENCES
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-template <class T>
-struct is_volatile_rval_filter<T&&>
-{
-   BOOST_STATIC_CONSTANT(bool, value = false);
-};
-#endif
-}
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,__is_volatile(T))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-//* is a type T declared volatile - is_volatile<T>
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::boost::detail::is_volatile_rval_filter<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T&,false)
-
-#if  defined(BOOST_ILLEGAL_CV_REFERENCES)
-// these are illegal specialisations; cv-qualifies applied to
-// references have no effect according to [8.3.2p1],
-// C++ Builder requires them though as it treats cv-qualified
-// references as distinct types...
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& const,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& const volatile,false)
-#endif
-
-#else
-
-namespace detail {
-
-using ::boost::type_traits::yes_type;
-using ::boost::type_traits::no_type;
-
-yes_type is_volatile_tester(void const volatile*);
-no_type is_volatile_tester(void const*);
-
-template <bool is_ref, bool array>
-struct is_volatile_helper
-    : public ::boost::type_traits::false_result
-{
-};
-
-template <>
-struct is_volatile_helper<false,false>
-{
-    template <typename T> struct result_
-    {
-        static T* t;
-        BOOST_STATIC_CONSTANT(bool, value = (
-            sizeof(boost::detail::yes_type) == sizeof(boost::detail::is_volatile_tester(t))
-            ));
-    };
-};
-
-template <>
-struct is_volatile_helper<false,true>
-{
-    template <typename T> struct result_
-    {
-        static T t;
-        BOOST_STATIC_CONSTANT(bool, value = (
-            sizeof(boost::detail::yes_type) == sizeof(boost::detail::is_volatile_tester(&t))
-            ));
-    };
-};
-
-template <typename T>
-struct is_volatile_impl
-    : public is_volatile_helper<
-          is_reference<T>::value
-        , is_array<T>::value
-        >::template result_<T>
-{
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void const volatile,true)
-#endif
-
-} // namespace detail
-
-//* is a type T declared volatile - is_volatile<T>
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::boost::detail::is_volatile_impl<T>::value)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_VOLATILE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/make_signed.hpp b/SRC/Boost/boost/type_traits/make_signed.hpp
deleted file mode 100755
index 2c94a6b..0000000
--- a/SRC/Boost/boost/type_traits/make_signed.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-
-//  (C) Copyright John Maddock 2007.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_MAKE_SIGNED_HPP_INCLUDED
-#define BOOST_TT_MAKE_SIGNED_HPP_INCLUDED
-
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_signed.hpp>
-#include <boost/type_traits/is_unsigned.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_volatile.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-#include <boost/static_assert.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <class T>
-struct make_signed_imp
-{
-   BOOST_STATIC_ASSERT(
-      (::boost::type_traits::ice_or< ::boost::is_integral<T>::value, ::boost::is_enum<T>::value>::value));
-#if !BOOST_WORKAROUND(BOOST_MSVC, <=1300)
-   BOOST_STATIC_ASSERT(
-      (::boost::type_traits::ice_not< ::boost::is_same<
-         typename remove_cv<T>::type, bool>::value>::value));
-#endif
-
-   typedef typename remove_cv<T>::type t_no_cv;
-   typedef typename mpl::if_c<
-      (::boost::type_traits::ice_and< 
-         ::boost::is_signed<T>::value,
-         ::boost::is_integral<T>::value,
-         ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,
-         ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,
-         ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value >::value),
-      T,
-      typename mpl::if_c<
-         (::boost::type_traits::ice_and< 
-            ::boost::is_integral<T>::value,
-            ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,
-            ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,
-            ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value>
-         ::value),
-         typename mpl::if_<
-            is_same<t_no_cv, unsigned char>,
-            signed char,
-            typename mpl::if_<
-               is_same<t_no_cv, unsigned short>,
-               signed short,
-               typename mpl::if_<
-                  is_same<t_no_cv, unsigned int>,
-                  int,
-                  typename mpl::if_<
-                     is_same<t_no_cv, unsigned long>,
-                     long,
-#if defined(BOOST_HAS_LONG_LONG)
-                     boost::long_long_type
-#elif defined(BOOST_HAS_MS_INT64)
-                     __int64
-#else
-                     long
-#endif
-                  >::type
-               >::type
-            >::type
-         >::type,
-         // Not a regular integer type:
-         typename mpl::if_c<
-            sizeof(t_no_cv) == sizeof(unsigned char),
-            signed char,
-            typename mpl::if_c<
-               sizeof(t_no_cv) == sizeof(unsigned short),
-               signed short,
-               typename mpl::if_c<
-                  sizeof(t_no_cv) == sizeof(unsigned int),
-                  int,
-                  typename mpl::if_c<
-                     sizeof(t_no_cv) == sizeof(unsigned long),
-                     long,
-#if defined(BOOST_HAS_LONG_LONG)
-                     boost::long_long_type
-#elif defined(BOOST_HAS_MS_INT64)
-                     __int64
-#else
-                     long
-#endif
-                  >::type
-               >::type
-            >::type
-         >::type
-      >::type
-   >::type base_integer_type;
-   
-   // Add back any const qualifier:
-   typedef typename mpl::if_<
-      is_const<T>,
-      typename add_const<base_integer_type>::type,
-      base_integer_type
-   >::type const_base_integer_type;
-   
-   // Add back any volatile qualifier:
-   typedef typename mpl::if_<
-      is_volatile<T>,
-      typename add_volatile<const_base_integer_type>::type,
-      const_base_integer_type
-   >::type type;
-};
-
-
-} // namespace detail
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(make_signed,T,typename boost::detail::make_signed_imp<T>::type)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/make_unsigned.hpp b/SRC/Boost/boost/type_traits/make_unsigned.hpp
deleted file mode 100755
index cd7582b..0000000
--- a/SRC/Boost/boost/type_traits/make_unsigned.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-
-//  (C) Copyright John Maddock 2007.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_MAKE_UNSIGNED_HPP_INCLUDED
-#define BOOST_TT_MAKE_UNSIGNED_HPP_INCLUDED
-
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_signed.hpp>
-#include <boost/type_traits/is_unsigned.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_volatile.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-#include <boost/static_assert.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <class T>
-struct make_unsigned_imp
-{
-   BOOST_STATIC_ASSERT(
-      (::boost::type_traits::ice_or< ::boost::is_integral<T>::value, ::boost::is_enum<T>::value>::value));
-#if !BOOST_WORKAROUND(BOOST_MSVC, <=1300)
-   BOOST_STATIC_ASSERT(
-      (::boost::type_traits::ice_not< ::boost::is_same<
-         typename remove_cv<T>::type, bool>::value>::value));
-#endif
-
-   typedef typename remove_cv<T>::type t_no_cv;
-   typedef typename mpl::if_c<
-      (::boost::type_traits::ice_and< 
-         ::boost::is_unsigned<T>::value,
-         ::boost::is_integral<T>::value,
-         ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,
-         ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,
-         ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value >::value),
-      T,
-      typename mpl::if_c<
-         (::boost::type_traits::ice_and< 
-            ::boost::is_integral<T>::value,
-            ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,
-            ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,
-            ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value>
-         ::value),
-         typename mpl::if_<
-            is_same<t_no_cv, signed char>,
-            unsigned char,
-            typename mpl::if_<
-               is_same<t_no_cv, short>,
-               unsigned short,
-               typename mpl::if_<
-                  is_same<t_no_cv, int>,
-                  unsigned int,
-                  typename mpl::if_<
-                     is_same<t_no_cv, long>,
-                     unsigned long,
-#if defined(BOOST_HAS_LONG_LONG)
-                     boost::ulong_long_type
-#elif defined(BOOST_HAS_MS_INT64)
-                     unsigned __int64
-#else
-                     unsigned long
-#endif
-                  >::type
-               >::type
-            >::type
-         >::type,
-         // Not a regular integer type:
-         typename mpl::if_c<
-            sizeof(t_no_cv) == sizeof(unsigned char),
-            unsigned char,
-            typename mpl::if_c<
-               sizeof(t_no_cv) == sizeof(unsigned short),
-               unsigned short,
-               typename mpl::if_c<
-                  sizeof(t_no_cv) == sizeof(unsigned int),
-                  unsigned int,
-                  typename mpl::if_c<
-                     sizeof(t_no_cv) == sizeof(unsigned long),
-                     unsigned long,
-#if defined(BOOST_HAS_LONG_LONG)
-                     boost::ulong_long_type
-#elif defined(BOOST_HAS_MS_INT64)
-                     unsigned __int64
-#else
-                     unsigned long
-#endif
-                  >::type
-               >::type
-            >::type
-         >::type
-      >::type
-   >::type base_integer_type;
-   
-   // Add back any const qualifier:
-   typedef typename mpl::if_<
-      is_const<T>,
-      typename add_const<base_integer_type>::type,
-      base_integer_type
-   >::type const_base_integer_type;
-   
-   // Add back any volatile qualifier:
-   typedef typename mpl::if_<
-      is_volatile<T>,
-      typename add_volatile<const_base_integer_type>::type,
-      const_base_integer_type
-   >::type type;
-};
-
-
-} // namespace detail
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(make_unsigned,T,typename boost::detail::make_unsigned_imp<T>::type)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/msvc/remove_all_extents.hpp b/SRC/Boost/boost/type_traits/msvc/remove_all_extents.hpp
deleted file mode 100755
index f92d3aa..0000000
--- a/SRC/Boost/boost/type_traits/msvc/remove_all_extents.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_ALL_EXTENT_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_ALL_EXTENT_HOLT_2004_0827
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost {
-    template<typename T>
-    struct remove_all_extents;
-
-    namespace detail {
-        template<bool IsArray>
-        struct remove_all_extents_impl_typeof {
-            template<typename T,typename ID>
-            struct inner {
-                typedef T type;
-            };
-        };
-        template<>
-        struct remove_all_extents_impl_typeof<true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(U[]);
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type reduced_type;
-                typedef typename remove_all_extents<reduced_type>::type type;
-            };
-        };
-    } //namespace detail
-
-    template<typename T>
-    struct remove_all_extents {
-        typedef typename boost::detail::remove_all_extents_impl_typeof<
-            boost::is_array<T>::value                
-        >::template inner<T,remove_all_extents<T> >::type type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_all_extents,T)
-    };
-} //namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
-
diff --git a/SRC/Boost/boost/type_traits/msvc/remove_bounds.hpp b/SRC/Boost/boost/type_traits/msvc/remove_bounds.hpp
deleted file mode 100755
index 57b8267..0000000
--- a/SRC/Boost/boost/type_traits/msvc/remove_bounds.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost {
-    namespace detail {
-        template<bool IsArray>
-        struct remove_bounds_impl_typeof {
-            template<typename T,typename ID>
-            struct inner {
-                typedef T type;
-            };
-        };
-        template<>
-        struct remove_bounds_impl_typeof<true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(U[]);
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-        };
-    } //namespace detail
-
-    template<typename T>
-    struct remove_bounds {
-        typedef typename boost::detail::remove_bounds_impl_typeof<
-            boost::is_array<T>::value                
-        >::template inner<T,remove_bounds<T> >::type type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_bounds,T)
-    };
-} //namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
-
diff --git a/SRC/Boost/boost/type_traits/msvc/remove_const.hpp b/SRC/Boost/boost/type_traits/msvc/remove_const.hpp
deleted file mode 100755
index 68d238a..0000000
--- a/SRC/Boost/boost/type_traits/msvc/remove_const.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost {
-    namespace detail {
-        template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>
-        struct remove_const_impl_typeof {
-            template<typename T,typename ID>
-            struct inner {
-                typedef T type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type;
-            };
-        };
-        template<> //Const
-        struct remove_const_impl_typeof<false,false,true,false> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(U const&(*)());
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T& type;
-            };
-        };
-        template<> //CV
-        struct remove_const_impl_typeof<false,false,true,true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U volatile,ID> test(U const volatile&(*)());
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T& type;
-            };
-        };
-        template<> //Const Pointer
-        struct remove_const_impl_typeof<true,false,true,false> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(void(*)(U const[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type[];
-            };
-        };
-        template<> //CV Pointer
-        struct remove_const_impl_typeof<true,false,true,true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U volatile,ID> test(void(*)(U const volatile[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type[];
-            };
-        };        
-        template<> //Const Array
-        struct remove_const_impl_typeof<false,true,true,false> {
-            template<typename T,typename ID>
-            struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
-                template<typename U>
-                static msvc_register_type<U[value],ID> test(void(*)(U const[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type;
-            };
-        };
-
-        template<> //CV Array
-        struct remove_const_impl_typeof<false,true,true,true> {
-            template<typename T,typename ID>
-            struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
-                template<typename U>
-                static msvc_register_type<U volatile[value],ID> test(void(*)(U const volatile[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type;
-            };
-        };
-
-    } //namespace detail
-
-    template<typename T>
-    struct remove_const {
-        typedef boost::detail::remove_const_impl_typeof<
-            boost::is_pointer<T>::value,
-            boost::is_array<T>::value,
-            boost::is_const<T>::value,
-            boost::is_volatile<T>::value
-        > remove_const_type;
-        typedef typename 
-            remove_const_type::template inner<
-                typename remove_const_type::template transform_type<T>::type,
-                remove_const<T>
-            >::type
-        type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_const,T)
-    };
-}//namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
diff --git a/SRC/Boost/boost/type_traits/msvc/remove_cv.hpp b/SRC/Boost/boost/type_traits/msvc/remove_cv.hpp
deleted file mode 100755
index 817d49f..0000000
--- a/SRC/Boost/boost/type_traits/msvc/remove_cv.hpp
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost {
-    namespace detail {
-        template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>
-        struct remove_cv_impl_typeof {
-            template<typename T,typename ID>
-            struct inner {
-                typedef T type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type;
-            };
-        };
-        template<> //Volatile
-        struct remove_cv_impl_typeof<false,false,false,true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(U volatile&(*)());
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T& type;
-            };
-        };
-        template<> //Const
-        struct remove_cv_impl_typeof<false,false,true,false> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(U const&(*)());
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T& type;
-            };
-        };
-        template<> //CV
-        struct remove_cv_impl_typeof<false,false,true,true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(U const volatile&(*)());
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T& type;
-            };
-        };
-        template<> //Volatile Pointer
-        struct remove_cv_impl_typeof<true,false,false,true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(void(*)(U volatile[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type[];
-            };
-        };
-        template<> //Const Pointer
-        struct remove_cv_impl_typeof<true,false,true,false> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(void(*)(U const[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type[];
-            };
-        };
-        template<> //CV Pointer
-        struct remove_cv_impl_typeof<true,false,true,true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(void(*)(U const volatile[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type[];
-            };
-        };        
-        template<> //Volatile Array
-        struct remove_cv_impl_typeof<false,true,false,true> {
-            template<typename T,typename ID>
-            struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
-                template<typename U>
-                static msvc_register_type<U[value],ID> test(void(*)(U volatile[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type;
-            };
-        };
-        template<> //Const Array
-        struct remove_cv_impl_typeof<false,true,true,false> {
-            template<typename T,typename ID>
-            struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
-                template<typename U>
-                static msvc_register_type<U[value],ID> test(void(*)(U const[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type;
-            };
-        };
-
-        template<> //CV Array
-        struct remove_cv_impl_typeof<false,true,true,true> {
-            template<typename T,typename ID>
-            struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
-                template<typename U>
-                static msvc_register_type<U[value],ID> test(void(*)(U const volatile[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type;
-            };
-        };
-
-    } //namespace detail
-
-    template<typename T>
-    struct remove_cv {
-        typedef boost::detail::remove_cv_impl_typeof<
-            boost::is_pointer<T>::value,
-            boost::is_array<T>::value,
-            boost::is_const<T>::value,
-            boost::is_volatile<T>::value
-        > remove_cv_type;
-        typedef typename 
-            remove_cv_type::template inner<
-                typename remove_cv_type::template transform_type<T>::type,
-                remove_cv<T>
-            >::type
-        type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_cv,T)
-    };
-}//namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
diff --git a/SRC/Boost/boost/type_traits/msvc/remove_extent.hpp b/SRC/Boost/boost/type_traits/msvc/remove_extent.hpp
deleted file mode 100755
index 27cfe15..0000000
--- a/SRC/Boost/boost/type_traits/msvc/remove_extent.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost {
-    namespace detail {
-        template<bool IsArray>
-        struct remove_extent_impl_typeof {
-            template<typename T,typename ID>
-            struct inner {
-                typedef T type;
-            };
-        };
-        template<>
-        struct remove_extent_impl_typeof<true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(U[]);
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-        };
-    } //namespace detail
-
-    template<typename T>
-    struct remove_extent {
-        typedef typename boost::detail::remove_extent_impl_typeof<
-            boost::is_array<T>::value                
-        >::template inner<T,remove_extent<T> >::type type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_extent,T)
-    };
-} //namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
-
diff --git a/SRC/Boost/boost/type_traits/msvc/remove_pointer.hpp b/SRC/Boost/boost/type_traits/msvc/remove_pointer.hpp
deleted file mode 100755
index ef93ab5..0000000
--- a/SRC/Boost/boost/type_traits/msvc/remove_pointer.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-
-namespace boost {
-    namespace detail {
-        template<int IsPointer>
-        struct remove_pointer_impl_typeof {
-            template<typename T,typename ID>
-            struct inner {
-                typedef T type;
-            };
-        };
-        template<>
-        struct remove_pointer_impl_typeof<true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(U*);
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-        };
-    } //namespace detail
-
-    template<typename T>
-    struct remove_pointer {
-        typedef typename boost::detail::remove_pointer_impl_typeof<
-            boost::is_pointer<T>::value
-        >::template inner<T,remove_pointer<T> >::type type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_pointer,T)
-    };
-} //namespace boost
-
-#endif //BOOST_TYPE_TRAITS_REMOVE_POINTER_HOLT_2004_0827
diff --git a/SRC/Boost/boost/type_traits/msvc/remove_reference.hpp b/SRC/Boost/boost/type_traits/msvc/remove_reference.hpp
deleted file mode 100755
index f4055ec..0000000
--- a/SRC/Boost/boost/type_traits/msvc/remove_reference.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_reference.hpp>
-
-namespace boost {
-    namespace detail {
-        template<bool IsReference>
-        struct remove_reference_impl_typeof {
-            template<typename T,typename ID>
-            struct inner {
-                typedef T type;
-            };
-        };
-        template<>
-        struct remove_reference_impl_typeof<true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(U&(*)());
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-        };
-    } //namespace detail
-    
-    template<typename T>
-    struct remove_reference {
-        typedef typename boost::detail::remove_reference_impl_typeof<
-            boost::is_reference<T>::value
-        >::template inner<T,remove_reference<T> >::type type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_reference,T)
-    };
-} //namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
diff --git a/SRC/Boost/boost/type_traits/msvc/remove_volatile.hpp b/SRC/Boost/boost/type_traits/msvc/remove_volatile.hpp
deleted file mode 100755
index c386232..0000000
--- a/SRC/Boost/boost/type_traits/msvc/remove_volatile.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost {
-    namespace detail {
-        template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>
-        struct remove_volatile_impl_typeof {
-            template<typename T,typename ID>
-            struct inner {
-                typedef T type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type;
-            };
-        };
-        template<> //Volatile
-        struct remove_volatile_impl_typeof<false,false,false,true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(U volatile&(*)());
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };            
-            template<typename T>
-            struct transform_type {
-                typedef T& type;
-            };
-        };
-        template<> //CV
-        struct remove_volatile_impl_typeof<false,false,true,true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U const,ID> test(U const volatile&(*)());
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T& type;
-            };
-        };
-        template<> //Volatile Pointer
-        struct remove_volatile_impl_typeof<true,false,false,true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U,ID> test(void(*)(U volatile[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type[];
-            };
-        };
-        template<> //CV Pointer
-        struct remove_volatile_impl_typeof<true,false,true,true> {
-            template<typename T,typename ID>
-            struct inner {
-                template<typename U>
-                static msvc_register_type<U const,ID> test(void(*)(U const volatile[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type[];
-            };
-        };        
-        template<> //Volatile Array
-        struct remove_volatile_impl_typeof<false,true,false,true> {
-            template<typename T,typename ID>
-            struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
-                template<typename U>
-                static msvc_register_type<U[value],ID> test(void(*)(U volatile[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;                
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type;
-            };
-        };
-
-        template<> //CV Array
-        struct remove_volatile_impl_typeof<false,true,true,true> {
-            template<typename T,typename ID>
-            struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
-                template<typename U>
-                static msvc_register_type<U const[value],ID> test(void(*)(U const volatile[]));
-                static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
-                typedef typename msvc_extract_type<ID>::id2type::type type;
-            };
-            template<typename T>
-            struct transform_type {
-                typedef T type;
-            };
-        };
-
-    } //namespace detail
-
-    template<typename T>
-    struct remove_volatile {
-        typedef boost::detail::remove_volatile_impl_typeof<
-            boost::is_pointer<T>::value,
-            boost::is_array<T>::value,
-            boost::is_const<T>::value,
-            boost::is_volatile<T>::value
-        > remove_volatile_type;
-        typedef typename 
-            remove_volatile_type::template inner<
-                typename remove_volatile_type::template transform_type<T>::type,
-                remove_volatile<T>
-            >::type
-        type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_volatile,T)
-    };
-}//namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
diff --git a/SRC/Boost/boost/type_traits/msvc/typeof.hpp b/SRC/Boost/boost/type_traits/msvc/typeof.hpp
deleted file mode 100755
index ed8b420..0000000
--- a/SRC/Boost/boost/type_traits/msvc/typeof.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPETRAITS_MSVC_TYPEOF_HPP
-#define BOOST_TYPETRAITS_MSVC_TYPEOF_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost { namespace detail {
-# if BOOST_WORKAROUND(BOOST_MSVC,==1300)
-        template<typename ID>
-        struct msvc_extract_type
-        {
-            template<bool>
-            struct id2type_impl;
-
-            typedef id2type_impl<true> id2type;
-        };
-
-        template<typename T, typename ID>
-        struct msvc_register_type : public msvc_extract_type<ID>
-        {
-            template<>
-            struct id2type_impl<true>  //VC7.0 specific bugfeature
-            {
-                typedef T type;
-            };
-        };
-# else 
-        template<typename ID>
-        struct msvc_extract_type
-        {
-            struct id2type;
-        };
-
-        template<typename T, typename ID>
-        struct msvc_register_type : public msvc_extract_type<ID>
-        {
-            typedef msvc_extract_type<ID> base_type;
-            struct base_type::id2type // This uses nice VC6.5 and VC7.1 bugfeature
-            {
-                typedef T type;
-            };
-        };
-# endif
-}}
-
-#endif //BOOST_TYPETRAITS_MSVC_TYPEOF_IMPL_HPP
diff --git a/SRC/Boost/boost/type_traits/object_traits.hpp b/SRC/Boost/boost/type_traits/object_traits.hpp
deleted file mode 100755
index 803b86e..0000000
--- a/SRC/Boost/boost/type_traits/object_traits.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-//
-//  defines object traits classes:
-//  is_object, is_scalar, is_class, is_compound, is_pod, 
-//  has_trivial_constructor, has_trivial_copy, has_trivial_assign, 
-//  has_trivial_destructor, is_empty.
-//
-
-#ifndef BOOST_TT_OBJECT_TRAITS_HPP_INLCUDED
-#define BOOST_TT_OBJECT_TRAITS_HPP_INLCUDED
-
-#include <boost/type_traits/has_trivial_assign.hpp>
-#include <boost/type_traits/has_trivial_constructor.hpp>
-#include <boost/type_traits/has_trivial_copy.hpp>
-#include <boost/type_traits/has_trivial_destructor.hpp>
-#include <boost/type_traits/has_nothrow_constructor.hpp>
-#include <boost/type_traits/has_nothrow_copy.hpp>
-#include <boost/type_traits/has_nothrow_assign.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_compound.hpp>
-#include <boost/type_traits/is_empty.hpp>
-#include <boost/type_traits/is_object.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/is_scalar.hpp>
-#include <boost/type_traits/is_stateless.hpp>
-
-#endif // BOOST_TT_OBJECT_TRAITS_HPP_INLCUDED
diff --git a/SRC/Boost/boost/type_traits/promote.hpp b/SRC/Boost/boost/type_traits/promote.hpp
deleted file mode 100755
index 263269b..0000000
--- a/SRC/Boost/boost/type_traits/promote.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2005 Alexander Nasonov.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef FILE_boost_type_traits_promote_hpp_INCLUDED
-#define FILE_boost_type_traits_promote_hpp_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/type_traits/integral_promotion.hpp>
-#include <boost/type_traits/floating_point_promotion.hpp>
-
-// Should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template<class T>
-struct promote_impl
-  : public integral_promotion<
-        BOOST_DEDUCED_TYPENAME floating_point_promotion<T>::type
-      >
-{
-};
-
-}
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(
-      promote
-    , T
-    , BOOST_DEDUCED_TYPENAME boost::detail::promote_impl<T>::type
-    )
-}
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // #ifndef FILE_boost_type_traits_promote_hpp_INCLUDED
-
diff --git a/SRC/Boost/boost/type_traits/rank.hpp b/SRC/Boost/boost/type_traits/rank.hpp
deleted file mode 100755
index efa4fd6..0000000
--- a/SRC/Boost/boost/type_traits/rank.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-
-//  (C) Copyright John Maddock 2005.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_RANK_HPP_INCLUDED
-#define BOOST_TT_RANK_HPP_INCLUDED
-
-// should be the last #include
-#include <boost/type_traits/detail/size_t_trait_def.hpp>
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
-
-namespace detail{
-
-template <class T, std::size_t N>
-struct rank_imp
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = N);
-};
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-template <class T, std::size_t R, std::size_t N>
-struct rank_imp<T[R], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-
-template <class T, std::size_t R, std::size_t N>
-struct rank_imp<T const[R], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-
-template <class T, std::size_t R, std::size_t N>
-struct rank_imp<T volatile[R], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-
-template <class T, std::size_t R, std::size_t N>
-struct rank_imp<T const volatile[R], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-template <class T, std::size_t N>
-struct rank_imp<T[], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-template <class T, std::size_t N>
-struct rank_imp<T const[], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-template <class T, std::size_t N>
-struct rank_imp<T volatile[], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-template <class T, std::size_t N>
-struct rank_imp<T const volatile[], N>
-{
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-#endif
-#endif
-}
-
-#endif // !defined( __CODEGEARC__ )
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(rank,T,__array_rank(T))
-#else
-BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(rank,T,(::boost::detail::rank_imp<T,0>::value))
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/size_t_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/reference_traits.hpp b/SRC/Boost/boost/type_traits/reference_traits.hpp
deleted file mode 100755
index b71c190..0000000
--- a/SRC/Boost/boost/type_traits/reference_traits.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-//  (C) Copyright David Abrahams Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000-2002.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_REFERENCE_TRAITS_HPP_INCLUDED
-#define BOOST_TT_REFERENCE_TRAITS_HPP_INCLUDED
-
-#include <boost/type_traits/is_reference.hpp>
-
-#endif // BOOST_TT_REFERENCE_TRAITS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/remove_all_extents.hpp b/SRC/Boost/boost/type_traits/remove_all_extents.hpp
deleted file mode 100755
index 613d8f6..0000000
--- a/SRC/Boost/boost/type_traits/remove_all_extents.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED
-#define BOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <cstddef>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_all_extents.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-namespace boost {
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_all_extents,T,T)
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T[N],typename boost::remove_all_extents<T>::type type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const[N],typename boost::remove_all_extents<T const>::type type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T volatile[N],typename boost::remove_all_extents<T volatile>::type type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const volatile[N],typename boost::remove_all_extents<T const volatile>::type type)
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T[],typename boost::remove_all_extents<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const[],typename boost::remove_all_extents<T const>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T volatile[],typename boost::remove_all_extents<T volatile>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const volatile[],typename boost::remove_all_extents<T const volatile>::type)
-#endif
-#endif
-
-} // namespace boost
-
-#endif
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/remove_bounds.hpp b/SRC/Boost/boost/type_traits/remove_bounds.hpp
deleted file mode 100755
index 034bde4..0000000
--- a/SRC/Boost/boost/type_traits/remove_bounds.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
-#define BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <cstddef>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_bounds.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-namespace boost {
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_bounds,T,T)
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T[N],T type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const[N],T const type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T volatile[N],T volatile type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const volatile[N],T const volatile type)
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T[],T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const[],T const)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T volatile[],T volatile)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const volatile[],T const volatile)
-#endif
-#endif
-
-} // namespace boost
-
-#endif
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/remove_const.hpp b/SRC/Boost/boost/type_traits/remove_const.hpp
deleted file mode 100755
index ad125f7..0000000
--- a/SRC/Boost/boost/type_traits/remove_const.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_REMOVE_CONST_HPP_INCLUDED
-#define BOOST_TT_REMOVE_CONST_HPP_INCLUDED
-
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/type_traits/detail/cv_traits_impl.hpp>
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <cstddef>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_const.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace detail {
-
-template <typename T, bool is_vol>
-struct remove_const_helper
-{
-    typedef T type;
-};
-
-template <typename T>
-struct remove_const_helper<T, true>
-{
-    typedef T volatile type;
-};
-
-
-template <typename T>
-struct remove_const_impl
-{
-    typedef typename remove_const_helper<
-          typename cv_traits_imp<T*>::unqualified_type
-        , ::boost::is_volatile<T>::value
-        >::type type;
-};
-
-#ifndef BOOST_NO_RVALUE_REFERENCES
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-template <typename T>
-struct remove_const_impl<T&&>
-{
-    typedef T&& type;
-};
-#endif
-
-} // namespace detail
-
-// * convert a type T to non-const type - remove_const<T>
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename boost::detail::remove_const_impl<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_const,T&,T&)
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const[N],T type[N])
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const volatile[N],T volatile type[N])
-#endif
-
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename boost::detail::remove_const_impl<T>::type)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_CONST_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/remove_cv.hpp b/SRC/Boost/boost/type_traits/remove_cv.hpp
deleted file mode 100755
index cccc884..0000000
--- a/SRC/Boost/boost/type_traits/remove_cv.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_REMOVE_CV_HPP_INCLUDED
-#define BOOST_TT_REMOVE_CV_HPP_INCLUDED
-
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/type_traits/detail/cv_traits_impl.hpp>
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <cstddef>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_cv.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace detail{
-
-template <class T>
-struct rvalue_ref_filter_rem_cv
-{
-   typedef typename boost::detail::cv_traits_imp<T*>::unqualified_type type;
-};
-
-#ifndef BOOST_NO_RVALUE_REFERENCES
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-template <class T>
-struct rvalue_ref_filter_rem_cv<T&&>
-{
-   typedef T&& type;
-};
-#endif
-
-}
-
-
-//  convert a type T to a non-cv-qualified type - remove_cv<T>
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename boost::detail::rvalue_ref_filter_rem_cv<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_cv,T&,T&)
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const[N],T type[N])
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T volatile[N],T type[N])
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const volatile[N],T type[N])
-#endif
-
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-namespace detail {
-template <typename T>
-struct remove_cv_impl
-{
-    typedef typename remove_volatile_impl< 
-          typename remove_const_impl<T>::type
-        >::type type;
-};
-}
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename boost::detail::remove_cv_impl<T>::type)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_CV_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/remove_extent.hpp b/SRC/Boost/boost/type_traits/remove_extent.hpp
deleted file mode 100755
index 48e443d..0000000
--- a/SRC/Boost/boost/type_traits/remove_extent.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000-2005.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_REMOVE_EXTENT_HPP_INCLUDED
-#define BOOST_TT_REMOVE_EXTENT_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <cstddef>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_extent.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-namespace boost {
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_extent,T,T)
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T[N],T type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const[N],T const type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T volatile[N],T volatile type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const volatile[N],T const volatile type)
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T[],T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const[],T const)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T volatile[],T volatile)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const volatile[],T const volatile)
-#endif
-#endif
-
-} // namespace boost
-
-#endif
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/remove_pointer.hpp b/SRC/Boost/boost/type_traits/remove_pointer.hpp
deleted file mode 100755
index 871b5f3..0000000
--- a/SRC/Boost/boost/type_traits/remove_pointer.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
-#define BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_pointer.hpp>
-#elif defined(BOOST_MSVC)
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-#ifdef BOOST_MSVC
-
-namespace detail{
-
-   //
-   // We need all this crazy indirection because a type such as:
-   //
-   // T (*const)(U)
-   //
-   // Does not bind to a <T*> or <T*const> partial specialization with VC10 and earlier
-   //
-   template <class T> 
-   struct remove_pointer_imp
-   {
-      typedef T type;
-   };
-
-   template <class T> 
-   struct remove_pointer_imp<T*>
-   {
-      typedef T type;
-   };
-
-   template <class T, bool b> 
-   struct remove_pointer_imp3
-   {
-      typedef typename remove_pointer_imp<typename boost::remove_cv<T>::type>::type type;
-   };
-
-   template <class T> 
-   struct remove_pointer_imp3<T, false>
-   {
-      typedef T type;
-   };
-
-   template <class T> 
-   struct remove_pointer_imp2
-   {
-      typedef typename remove_pointer_imp3<T, ::boost::is_pointer<T>::value>::type type;
-   };
-}
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,typename boost::detail::remove_pointer_imp2<T>::type)
-
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T*,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* volatile,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const volatile,T)
-
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,typename boost::detail::remove_pointer_impl<T>::type)
-
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/remove_reference.hpp b/SRC/Boost/boost/type_traits/remove_reference.hpp
deleted file mode 100755
index d482f03..0000000
--- a/SRC/Boost/boost/type_traits/remove_reference.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
-
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_reference.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace detail{
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-template <class T>
-struct remove_rvalue_ref
-{
-   typedef T type;
-};
-#ifndef BOOST_NO_RVALUE_REFERENCES
-template <class T>
-struct remove_rvalue_ref<T&&>
-{
-   typedef T type;
-};
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,typename boost::detail::remove_rvalue_ref<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T&,T)
-
-#if defined(BOOST_ILLEGAL_CV_REFERENCES)
-// these are illegal specialisations; cv-qualifies applied to
-// references have no effect according to [8.3.2p1],
-// C++ Builder requires them though as it treats cv-qualified
-// references as distinct types...
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& volatile,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const volatile,T)
-#endif
-
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,typename boost::detail::remove_reference_impl<T>::type)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/remove_volatile.hpp b/SRC/Boost/boost/type_traits/remove_volatile.hpp
deleted file mode 100755
index 85b2e5c..0000000
--- a/SRC/Boost/boost/type_traits/remove_volatile.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-
-//  (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-//  Hinnant & John Maddock 2000.  
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
-#define BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
-
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/type_traits/detail/cv_traits_impl.hpp>
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <cstddef>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_volatile.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace detail {
-
-template <typename T, bool is_const>
-struct remove_volatile_helper
-{
-    typedef T type;
-};
-
-template <typename T>
-struct remove_volatile_helper<T,true>
-{
-    typedef T const type;
-};
-
-template <typename T>
-struct remove_volatile_impl
-{
-    typedef typename remove_volatile_helper<
-          typename cv_traits_imp<T*>::unqualified_type
-        , ::boost::is_const<T>::value
-        >::type type;
-};
-
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-#ifndef BOOST_NO_RVALUE_REFERENCES
-template <typename T>
-struct remove_volatile_impl<T&&>
-{
-    typedef T&& type;
-};
-#endif
-} // namespace detail
-
-// * convert a type T to a non-volatile type - remove_volatile<T>
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename boost::detail::remove_volatile_impl<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_volatile,T&,T&)
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T volatile[N],T type[N])
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T const volatile[N],T const type[N])
-#endif
-
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename boost::detail::remove_volatile_impl<T>::type)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/same_traits.hpp b/SRC/Boost/boost/type_traits/same_traits.hpp
deleted file mode 100755
index aebf727..0000000
--- a/SRC/Boost/boost/type_traits/same_traits.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-//  (C) Copyright Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-//
-//  defines is_same:
-
-#ifndef BOOST_TT_SAME_TRAITS_HPP_INCLUDED
-#define BOOST_TT_SAME_TRAITS_HPP_INCLUDED
-
-#include <boost/type_traits/is_same.hpp>
-
-#endif  // BOOST_TT_SAME_TRAITS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/transform_traits.hpp b/SRC/Boost/boost/type_traits/transform_traits.hpp
deleted file mode 100755
index f555678..0000000
--- a/SRC/Boost/boost/type_traits/transform_traits.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-//
-//  defines traits classes for transforming one type to another:
-//  remove_reference, add_reference, remove_bounds, remove_pointer.
-//
-
-#ifndef BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
-#define BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
-
-#include <boost/type_traits/add_pointer.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/remove_bounds.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-#endif // BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/transform_traits_spec.hpp b/SRC/Boost/boost/type_traits/transform_traits_spec.hpp
deleted file mode 100755
index 558b730..0000000
--- a/SRC/Boost/boost/type_traits/transform_traits_spec.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-
-//  Copyright 2001 Aleksey Gurtovoy.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP_INCLUDED
-#define BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP_INCLUDED
-
-#include <boost/type_traits/broken_compiler_spec.hpp>
-
-#endif // BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP_INCLUDED
diff --git a/SRC/Boost/boost/type_traits/type_with_alignment.hpp b/SRC/Boost/boost/type_traits/type_with_alignment.hpp
deleted file mode 100755
index b181282..0000000
--- a/SRC/Boost/boost/type_traits/type_with_alignment.hpp
+++ /dev/null
@@ -1,393 +0,0 @@
-//  (C) Copyright John Maddock 2000.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt).
-//
-//  See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
-#define BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
-
-#include <boost/mpl/if.hpp>
-#include <boost/preprocessor/list/for_each_i.hpp>
-#include <boost/preprocessor/tuple/to_list.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/list/transform.hpp>
-#include <boost/preprocessor/list/append.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-#include <cstddef>
-
-#ifdef BOOST_MSVC
-#   pragma warning(push)
-#   pragma warning(disable: 4121) // alignment is sensitive to packing
-#endif
-
-namespace boost {
-
-#ifndef __BORLANDC__
-
-namespace detail {
-
-class alignment_dummy;
-typedef void (*function_ptr)();
-typedef int (alignment_dummy::*member_ptr);
-typedef int (alignment_dummy::*member_function_ptr)();
-
-#ifdef BOOST_HAS_LONG_LONG
-#define BOOST_TT_ALIGNMENT_BASE_TYPES BOOST_PP_TUPLE_TO_LIST( \
-        12, ( \
-        char, short, int, long,  ::boost::long_long_type, float, double, long double \
-        , void*, function_ptr, member_ptr, member_function_ptr))
-#else
-#define BOOST_TT_ALIGNMENT_BASE_TYPES BOOST_PP_TUPLE_TO_LIST( \
-        11, ( \
-        char, short, int, long, float, double, long double \
-        , void*, function_ptr, member_ptr, member_function_ptr))
-#endif
-
-#define BOOST_TT_HAS_ONE_T(D,Data,T) boost::detail::has_one_T< T >
-
-#define BOOST_TT_ALIGNMENT_STRUCT_TYPES                         \
-        BOOST_PP_LIST_TRANSFORM(BOOST_TT_HAS_ONE_T,             \
-                                X,                              \
-                                BOOST_TT_ALIGNMENT_BASE_TYPES)
-
-#define BOOST_TT_ALIGNMENT_TYPES                                \
-        BOOST_PP_LIST_APPEND(BOOST_TT_ALIGNMENT_BASE_TYPES,     \
-                             BOOST_TT_ALIGNMENT_STRUCT_TYPES)
-
-//
-// lower_alignment_helper --
-//
-// This template gets instantiated a lot, so use partial
-// specialization when available to reduce the compiler burden.
-//
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template <bool found = true>
-struct lower_alignment_helper_impl
-{
-    template <std::size_t, class>
-    struct apply
-    {
-        typedef char type;
-        enum { value = true };
-    };
-};
-
-template <>
-struct lower_alignment_helper_impl<false>
-{
-    template <std::size_t target, class TestType>
-    struct apply
-      : public mpl::if_c<(alignment_of<TestType>::value == target), TestType, char>
-    {
-        enum { value = (alignment_of<TestType>::value == target) };
-    };
-};
-
-template <bool found, std::size_t target, class TestType>
-struct lower_alignment_helper
-  : public lower_alignment_helper_impl<found>::template apply<target,TestType>
-{
-};
-#else
-template <bool found, std::size_t target, class TestType>
-struct lower_alignment_helper
-{
-    typedef char type;
-    enum { value = true };
-};
-
-template <std::size_t target, class TestType>
-struct lower_alignment_helper<false,target,TestType>
-{
-    enum { value = (alignment_of<TestType>::value == target) };
-    typedef typename mpl::if_c<value, TestType, char>::type type;
-};
-#endif
-
-#define BOOST_TT_CHOOSE_MIN_ALIGNMENT(R,P,I,T)                                  \
-        typename lower_alignment_helper<                                        \
-          BOOST_PP_CAT(found,I),target,T                                        \
-        >::type BOOST_PP_CAT(t,I);                                              \
-        enum {                                                                  \
-            BOOST_PP_CAT(found,BOOST_PP_INC(I))                                 \
-              = lower_alignment_helper<BOOST_PP_CAT(found,I),target,T >::value  \
-        };
-
-#define BOOST_TT_CHOOSE_T(R,P,I,T) T BOOST_PP_CAT(t,I);
-
-template <typename T>
-struct has_one_T
-{
-  T data;
-};
-
-template <std::size_t target>
-union lower_alignment
-{
-    enum { found0 = false };
-
-    BOOST_PP_LIST_FOR_EACH_I(
-          BOOST_TT_CHOOSE_MIN_ALIGNMENT
-        , ignored
-        , BOOST_TT_ALIGNMENT_TYPES
-        )
-};
-
-union max_align
-{
-    BOOST_PP_LIST_FOR_EACH_I(
-          BOOST_TT_CHOOSE_T
-        , ignored
-        , BOOST_TT_ALIGNMENT_TYPES
-        )
-};
-
-#undef BOOST_TT_ALIGNMENT_BASE_TYPES
-#undef BOOST_TT_HAS_ONE_T
-#undef BOOST_TT_ALIGNMENT_STRUCT_TYPES
-#undef BOOST_TT_ALIGNMENT_TYPES
-#undef BOOST_TT_CHOOSE_MIN_ALIGNMENT
-#undef BOOST_TT_CHOOSE_T
-
-template<std::size_t TAlign, std::size_t Align>
-struct is_aligned
-{
-    BOOST_STATIC_CONSTANT(bool,
-        value = (TAlign >= Align) & (TAlign % Align == 0)
-        );
-};
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::max_align,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<1> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<2> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<4> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<8> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<10> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<16> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<32> ,true)
-#endif
-
-} // namespace detail
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template<std::size_t Align>
-struct is_pod< ::boost::detail::lower_alignment<Align> >
-{
-        BOOST_STATIC_CONSTANT(std::size_t, value = true);
-};
-#endif
-
-// This alignment method originally due to Brian Parker, implemented by David
-// Abrahams, and then ported here by Doug Gregor.
-namespace detail{
-
-template <std::size_t Align>
-class type_with_alignment_imp
-{
-    typedef ::boost::detail::lower_alignment<Align> t1;
-    typedef typename mpl::if_c<
-          ::boost::detail::is_aligned< ::boost::alignment_of<t1>::value,Align >::value
-        , t1
-        , ::boost::detail::max_align
-        >::type align_t;
-
-    BOOST_STATIC_CONSTANT(std::size_t, found = alignment_of<align_t>::value);
-
-    BOOST_STATIC_ASSERT(found >= Align);
-    BOOST_STATIC_ASSERT(found % Align == 0);
-
- public:
-    typedef align_t type;
-};
-
-}
-
-template <std::size_t Align>
-class type_with_alignment 
-  : public ::boost::detail::type_with_alignment_imp<Align>
-{
-};
-
-#if defined(__GNUC__)
-namespace align {
-struct __attribute__((__aligned__(2))) a2 {};
-struct __attribute__((__aligned__(4))) a4 {};
-struct __attribute__((__aligned__(8))) a8 {};
-struct __attribute__((__aligned__(16))) a16 {};
-struct __attribute__((__aligned__(32))) a32 {};
-}
-
-template<> class type_with_alignment<1>  { public: typedef char type; };
-template<> class type_with_alignment<2>  { public: typedef align::a2 type; };
-template<> class type_with_alignment<4>  { public: typedef align::a4 type; };
-template<> class type_with_alignment<8>  { public: typedef align::a8 type; };
-template<> class type_with_alignment<16> { public: typedef align::a16 type; };
-template<> class type_with_alignment<32> { public: typedef align::a32 type; };
-
-namespace detail {
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a2,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a4,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a32,true)
-}
-#endif
-#if (defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && _MSC_VER >= 1300
-//
-// MSVC supports types which have alignments greater than the normal
-// maximum: these are used for example in the types __m64 and __m128
-// to provide types with alignment requirements which match the SSE
-// registers.  Therefore we extend type_with_alignment<> to support
-// such types, however, we have to be careful to use a builtin type
-// whenever possible otherwise we break previously working code:
-// see http://article.gmane.org/gmane.comp.lib.boost.devel/173011
-// for an example and test case.  Thus types like a8 below will
-// be used *only* if the existing implementation can't provide a type
-// with suitable alignment.  This does mean however, that type_with_alignment<>
-// may return a type which cannot be passed through a function call
-// by value (and neither can any type containing such a type like
-// Boost.Optional).  However, this only happens when we have no choice 
-// in the matter because no other "ordinary" type is available.
-//
-namespace align {
-struct __declspec(align(8)) a8 { 
-   char m[8]; 
-   typedef a8 type;
-};
-struct __declspec(align(16)) a16 { 
-   char m[16]; 
-   typedef a16 type;
-};
-struct __declspec(align(32)) a32 { 
-   char m[32]; 
-   typedef a32 type;
-};
-struct __declspec(align(64)) a64 
-{ 
-   char m[64]; 
-   typedef a64 type;
-};
-struct __declspec(align(128)) a128 { 
-   char m[128]; 
-   typedef a128 type;
-};
-}
-
-template<> class type_with_alignment<8>  
-{ 
-   typedef mpl::if_c<
-      ::boost::alignment_of<boost::detail::max_align>::value < 8,
-      align::a8,
-      boost::detail::type_with_alignment_imp<8> >::type t1; 
-public: 
-   typedef t1::type type;
-};
-template<> class type_with_alignment<16> 
-{ 
-   typedef mpl::if_c<
-      ::boost::alignment_of<boost::detail::max_align>::value < 16,
-      align::a16,
-      boost::detail::type_with_alignment_imp<16> >::type t1; 
-public: 
-   typedef t1::type type;
-};
-template<> class type_with_alignment<32> 
-{ 
-   typedef mpl::if_c<
-      ::boost::alignment_of<boost::detail::max_align>::value < 32,
-      align::a32,
-      boost::detail::type_with_alignment_imp<32> >::type t1; 
-public: 
-   typedef t1::type type;
-};
-template<> class type_with_alignment<64> {
-   typedef mpl::if_c<
-      ::boost::alignment_of<boost::detail::max_align>::value < 64,
-      align::a64,
-      boost::detail::type_with_alignment_imp<64> >::type t1; 
-public: 
-   typedef t1::type type;
-};
-template<> class type_with_alignment<128> {
-   typedef mpl::if_c<
-      ::boost::alignment_of<boost::detail::max_align>::value < 128,
-      align::a128,
-      boost::detail::type_with_alignment_imp<128> >::type t1; 
-public: 
-   typedef t1::type type;
-};
-
-namespace detail {
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a32,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a64,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a128,true)
-}
-#endif
-
-#else
-
-//
-// Borland specific version, we have this for two reasons:
-// 1) The version above doesn't always compile (with the new test cases for example)
-// 2) Because of Borlands #pragma option we can create types with alignments that are
-//    greater that the largest aligned builtin type.
-
-namespace align{
-#pragma option push -a16
-struct a2{ short s; };
-struct a4{ int s; };
-struct a8{ double s; };
-struct a16{ long double s; };
-#pragma option pop
-}
-
-namespace detail {
-
-typedef ::boost::align::a16 max_align;
-
-//#if ! BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a2,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a4,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)
-//#endif
-}
-
-template <std::size_t N> struct type_with_alignment
-{
-   // We should never get to here, but if we do use the maximally
-   // aligned type:
-   // BOOST_STATIC_ASSERT(0);
-   typedef align::a16 type;
-};
-template <> struct type_with_alignment<1>{ typedef char type; };
-template <> struct type_with_alignment<2>{ typedef align::a2 type; };
-template <> struct type_with_alignment<4>{ typedef align::a4 type; };
-template <> struct type_with_alignment<8>{ typedef align::a8 type; };
-template <> struct type_with_alignment<16>{ typedef align::a16 type; };
-
-#endif
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#   pragma warning(pop)
-#endif
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
-
-
diff --git a/SRC/Boost/boost/typeof/dmc/typeof_impl.hpp b/SRC/Boost/boost/typeof/dmc/typeof_impl.hpp
deleted file mode 100755
index 1896db8..0000000
--- a/SRC/Boost/boost/typeof/dmc/typeof_impl.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright (C) 2007 Peder Holt
-
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
-# define BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
-
-# include <boost/config.hpp>
-# include <boost/detail/workaround.hpp>
-# include <boost/mpl/int.hpp>
-
-namespace boost
-{
-    namespace type_of
-    {
-
-        template<int N> struct encode_counter : encode_counter<N - 1> {};
-        template<> struct encode_counter<0> {};
-
-        char (*encode_index(...))[1];
-
-# define BOOST_TYPEOF_INDEX(T) (sizeof(*boost::type_of::encode_index((boost::type_of::encode_counter<1000>*)0)))
-# define BOOST_TYPEOF_NEXT_INDEX(next) friend char (*encode_index(encode_counter<next>*))[next];
-
-
-        //Typeof code
-
-        template<typename ID>
-        struct msvc_extract_type
-        {
-            struct id2type;
-        };
-
-        template<typename T, typename ID>
-        struct msvc_register_type : msvc_extract_type<ID>
-        {
-            typedef msvc_extract_type<ID> base_type;
-            struct base_type::id2type // This uses nice VC6.5 and VC7.1 bugfeature, also works for Digital Mars
-            {
-                typedef T type;
-            };
-        };
-
-
-        template<int ID>
-        struct msvc_typeid_wrapper {
-            typedef typename msvc_extract_type<mpl::int_<ID> >::id2type id2type;
-            typedef typename id2type::type type;
-        };
-
-        //Tie it all together
-        template<typename T>
-        struct encode_type
-        {
-            //Get the next available compile time constants index
-            BOOST_STATIC_CONSTANT(unsigned,value=BOOST_TYPEOF_INDEX(T));
-            //Instantiate the template
-            typedef typename msvc_register_type<T,mpl::int_<value> >::id2type type;
-            //Set the next compile time constants index
-            BOOST_STATIC_CONSTANT(unsigned,next=value+1);
-            //Increment the compile time constant (only needed when extensions are not active
-            BOOST_TYPEOF_NEXT_INDEX(next);
-        };
-
-        template<class T>
-        struct sizer
-        {
-            typedef char(*type)[encode_type<T>::value];
-        };
-
-        template<typename T>
-            typename sizer<T>::type encode_start(T const&);
-
-        template<typename Organizer, typename T>
-        msvc_register_type<T,Organizer> typeof_register_type(const T&,Organizer* =0);
-
-# define BOOST_TYPEOF(expr) \
-    boost::type_of::msvc_typeid_wrapper<sizeof(*boost::type_of::encode_start(expr))>::type
-
-# define BOOST_TYPEOF_TPL(expr) typename BOOST_TYPEOF(expr)
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
-    struct name {\
-        BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(boost::type_of::typeof_register_type<name>(expr)));\
-        typedef typename boost::type_of::msvc_extract_type<name>::id2type id2type;\
-        typedef typename id2type::type type;\
-    };
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
-    struct name {\
-        BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(boost::type_of::typeof_register_type<name>(expr)));\
-        typedef boost::type_of::msvc_extract_type<name>::id2type id2type;\
-        typedef id2type::type type;\
-    };
-
-    }
-}
-
-#endif//BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/encode_decode.hpp b/SRC/Boost/boost/typeof/encode_decode.hpp
deleted file mode 100755
index e28b15f..0000000
--- a/SRC/Boost/boost/typeof/encode_decode.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// boostinspect:nounnamed
-
-#ifndef BOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
-#define BOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
-
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/next.hpp>
-
-#ifndef BOOST_TYPEOF_SUPPRESS_UNNAMED_NAMESPACE
-
-#   define BOOST_TYPEOF_BEGIN_ENCODE_NS namespace { namespace boost_typeof {
-#   define BOOST_TYPEOF_END_ENCODE_NS }}
-#   define BOOST_TYPEOF_ENCODE_NS_QUALIFIER boost_typeof
-
-#else
-
-#   define BOOST_TYPEOF_BEGIN_ENCODE_NS namespace boost { namespace type_of {
-#   define BOOST_TYPEOF_END_ENCODE_NS }}
-#   define BOOST_TYPEOF_ENCODE_NS_QUALIFIER boost::type_of
-
-#   define BOOST_TYPEOF_TEXT "unnamed namespace is off"
-#   include <boost/typeof/message.hpp>
-
-#endif
-
-BOOST_TYPEOF_BEGIN_ENCODE_NS
-
-template<class V, class Type_Not_Registered_With_Typeof_System>
-struct encode_type_impl;
-
-template<class T, class Iter>
-struct decode_type_impl
-{
-    typedef int type;  // MSVC ETI workaround
-};
-
-template<class T>
-struct decode_nested_template_helper_impl;
-
-BOOST_TYPEOF_END_ENCODE_NS
-
-namespace boost { namespace type_of {
-
-    template<class V, class T>
-    struct encode_type : BOOST_TYPEOF_ENCODE_NS_QUALIFIER::encode_type_impl<V, T>
-    {};
-
-    template<class Iter>
-    struct decode_type : BOOST_TYPEOF_ENCODE_NS_QUALIFIER::decode_type_impl<
-        typename Iter::type,
-        typename Iter::next
-    >
-    {};
-}}
-
-#endif//BOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/encode_decode_params.hpp b/SRC/Boost/boost/typeof/encode_decode_params.hpp
deleted file mode 100755
index 53c7598..0000000
--- a/SRC/Boost/boost/typeof/encode_decode_params.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED
-#define BOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-
-// Assumes iter0 contains initial iterator
-
-#define BOOST_TYPEOF_DECODE_PARAM(z, n, text)   \
-    typedef boost::type_of::decode_type<iter##n> decode##n;     \
-    typedef typename decode##n::type p##n;      \
-    typedef typename decode##n::iter BOOST_PP_CAT(iter, BOOST_PP_INC(n));
-
-#define BOOST_TYPEOF_DECODE_PARAMS(n)\
-    BOOST_PP_REPEAT(n, BOOST_TYPEOF_DECODE_PARAM, ~)
-
-// The P0, P1, ... PN are encoded and added to V 
-
-#define BOOST_TYPEOF_ENCODE_PARAMS_BEGIN(z, n, text)\
-    typename boost::type_of::encode_type<
-
-#define BOOST_TYPEOF_ENCODE_PARAMS_END(z, n, text)\
-    , BOOST_PP_CAT(P, n)>::type
-
-#define BOOST_TYPEOF_ENCODE_PARAMS(n, ID)                   \
-    BOOST_PP_REPEAT(n, BOOST_TYPEOF_ENCODE_PARAMS_BEGIN, ~) \
-    typename boost::type_of::push_back<V, boost::mpl::size_t<ID> >::type      \
-    BOOST_PP_REPEAT(n, BOOST_TYPEOF_ENCODE_PARAMS_END, ~)
-
-#endif//BOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/int_encoding.hpp b/SRC/Boost/boost/typeof/int_encoding.hpp
deleted file mode 100755
index 1860035..0000000
--- a/SRC/Boost/boost/typeof/int_encoding.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
-#define BOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/size_t.hpp>
-#include <boost/config.hpp>
-
-namespace boost { namespace type_of {
-
-    template<class T> struct get_unsigned
-    {
-        typedef T type;
-    };
-    template<> struct get_unsigned<signed char>
-    {
-        typedef unsigned char type;
-    };
-    template<> struct get_unsigned<char>
-    {
-        typedef unsigned char type;
-    };
-    template<> struct get_unsigned<short>
-    {
-        typedef unsigned short type;
-    };
-    template<> struct get_unsigned<int>
-    {
-        typedef unsigned int type;
-    };
-    template<> struct get_unsigned<long>
-    {
-        typedef unsigned long type;
-    };
-
-    //////////////////////////
-
-    template<std::size_t n, bool Overflow>
-    struct pack
-    {
-        BOOST_STATIC_CONSTANT(std::size_t , value=((n + 1) * 2 + (Overflow ? 1 : 0)));
-    };
-
-    template<std::size_t m>
-    struct unpack
-    {
-        BOOST_STATIC_CONSTANT(std::size_t, value = (m / 2) - 1);
-        BOOST_STATIC_CONSTANT(std::size_t, overflow = (m % 2 == 1));
-    };
-
-    ////////////////////////////////
-
-    template<class V, std::size_t n, bool overflow = (n >= 0x3fffffff)>
-    struct encode_size_t : push_back<
-        V,
-        boost::mpl::size_t<pack<n, false>::value>
-    >
-    {};
-
-    template<class V, std::size_t n>
-    struct encode_size_t<V, n, true> : push_back<typename push_back<
-        V,
-        boost::mpl::size_t<pack<n % 0x3ffffffe, true>::value> >::type,
-        boost::mpl::size_t<n / 0x3ffffffe>
-    >
-    {};
-
-    template<class V, class T, T n>
-    struct encode_integral : encode_size_t< V, (typename get_unsigned<T>::type)n,(((typename get_unsigned<T>::type)n)>=0x3fffffff) >
-    {};
-
-    template<class V, bool b>
-    struct encode_integral<V, bool, b> : encode_size_t< V, b?1:0, false>
-    {};
-    ///////////////////////////
-
-    template<std::size_t n, class Iter, bool overflow>
-    struct decode_size_t;
-
-    template<std::size_t n, class Iter>
-    struct decode_size_t<n, Iter, false>
-    {
-        BOOST_STATIC_CONSTANT(std::size_t,value = n);
-        typedef Iter iter;
-    };
-
-    template<std::size_t n, class Iter>
-    struct decode_size_t<n, Iter, true>
-    {
-        BOOST_STATIC_CONSTANT(std::size_t,m = Iter::type::value);
-
-        BOOST_STATIC_CONSTANT(std::size_t,value = (std::size_t)m * 0x3ffffffe + n);
-        typedef typename Iter::next iter;
-    };
-
-    template<class T, class Iter>
-    struct decode_integral
-    {
-        typedef decode_integral<T,Iter> self_t;
-        BOOST_STATIC_CONSTANT(std::size_t,m = Iter::type::value);
-
-        BOOST_STATIC_CONSTANT(std::size_t,n = unpack<m>::value);
-
-        BOOST_STATIC_CONSTANT(std::size_t,overflow = unpack<m>::overflow);
-
-        typedef typename Iter::next nextpos;
-
-        static const T value = (T)(std::size_t)decode_size_t<n, nextpos, overflow>::value;
-
-        typedef typename decode_size_t<self_t::n, nextpos, self_t::overflow>::iter iter;
-    };
-
-}}//namespace
-
-#endif//BOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/integral_template_param.hpp b/SRC/Boost/boost/typeof/integral_template_param.hpp
deleted file mode 100755
index 447e101..0000000
--- a/SRC/Boost/boost/typeof/integral_template_param.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_INTEGRAL_TEMPLATE_PARAM_HPP_INCLUDED
-#define BOOST_TYPEOF_INTEGRAL_TEMPLATE_PARAM_HPP_INCLUDED
-
-#define BOOST_TYPEOF_unsigned (unsigned)
-#define BOOST_TYPEOF_signed (signed)
-
-#define char_BOOST_TYPEOF (char)
-#define short_BOOST_TYPEOF (short)
-#define int_BOOST_TYPEOF (int)
-#define long_BOOST_TYPEOF (long)
-
-#define BOOST_TYPEOF_char_BOOST_TYPEOF (char)
-#define BOOST_TYPEOF_short_BOOST_TYPEOF (short)
-#define BOOST_TYPEOF_int_BOOST_TYPEOF (int)
-#define BOOST_TYPEOF_long_BOOST_TYPEOF (long)
-#define BOOST_TYPEOF_bool_BOOST_TYPEOF (bool)
-#define BOOST_TYPEOF_unsigned_BOOST_TYPEOF (unsigned)
-#define BOOST_TYPEOF_size_t_BOOST_TYPEOF (size_t)
-
-#define BOOST_TYPEOF_MAKE_OBJ_char          BOOST_TYPEOF_INTEGRAL_PARAM(char)
-#define BOOST_TYPEOF_MAKE_OBJ_short         BOOST_TYPEOF_INTEGRAL_PARAM(short)
-#define BOOST_TYPEOF_MAKE_OBJ_int           BOOST_TYPEOF_INTEGRAL_PARAM(int)
-#define BOOST_TYPEOF_MAKE_OBJ_long          BOOST_TYPEOF_INTEGRAL_PARAM(long)
-#define BOOST_TYPEOF_MAKE_OBJ_bool          BOOST_TYPEOF_INTEGRAL_PARAM(bool)
-#define BOOST_TYPEOF_MAKE_OBJ_unsigned      BOOST_TYPEOF_INTEGRAL_PARAM(unsigned)
-#define BOOST_TYPEOF_MAKE_OBJ_size_t        BOOST_TYPEOF_INTEGRAL_PARAM(size_t)
-#define BOOST_TYPEOF_MAKE_OBJ_unsignedchar  BOOST_TYPEOF_INTEGRAL_PARAM(unsigned char)
-#define BOOST_TYPEOF_MAKE_OBJ_unsignedshort BOOST_TYPEOF_INTEGRAL_PARAM(unsigned short)
-#define BOOST_TYPEOF_MAKE_OBJ_unsignedint   BOOST_TYPEOF_INTEGRAL_PARAM(unsigned int)
-#define BOOST_TYPEOF_MAKE_OBJ_unsignedlong  BOOST_TYPEOF_INTEGRAL_PARAM(unsigned long)
-#define BOOST_TYPEOF_MAKE_OBJ_signedchar    BOOST_TYPEOF_INTEGRAL_PARAM(signed char)
-#define BOOST_TYPEOF_MAKE_OBJ_signedshort   BOOST_TYPEOF_INTEGRAL_PARAM(signed short)
-#define BOOST_TYPEOF_MAKE_OBJ_signedint     BOOST_TYPEOF_INTEGRAL_PARAM(signed int)
-#define BOOST_TYPEOF_MAKE_OBJ_signedlong    BOOST_TYPEOF_INTEGRAL_PARAM(signed long)
-#define BOOST_TYPEOF_MAKE_OBJ_integral(x)   BOOST_TYPEOF_INTEGRAL_PARAM(x)
-
-#define BOOST_TYPEOF_INTEGRAL(X) integral(X) BOOST_TYPEOF_EAT
-#define BOOST_TYPEOF_EAT_BOOST_TYPEOF
-#define BOOST_TYPEOF_integral(X) (integral(X))
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM(Type)\
-    (INTEGRAL_PARAM)\
-    (Type)
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param)\
-    BOOST_PP_SEQ_ELEM(1, Param)
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_EXPANDTYPE(Param)\
-    BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param)
-
-// INTEGRAL_PARAM "virtual functions" implementation
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_ENCODE(This, n)\
-    typedef typename boost::type_of::encode_integral<\
-        BOOST_PP_CAT(V, n),\
-        BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(This),\
-        BOOST_PP_CAT(P, n)\
-    >::type BOOST_PP_CAT(V, BOOST_PP_INC(n)); 
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_DECODE(This, n)\
-    typedef boost::type_of::decode_integral<BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(This), BOOST_PP_CAT(iter, n)> BOOST_PP_CAT(d, n);\
-    static const BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(This) BOOST_PP_CAT(P, n) = BOOST_PP_CAT(d, n)::value;\
-    typedef typename BOOST_PP_CAT(d, n)::iter BOOST_PP_CAT(iter, BOOST_PP_INC(n));
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_PLACEHOLDER(Param)\
-    (BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param))0
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_DECLARATION_TYPE(Param)\
-    BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param)
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_PLACEHOLDER_TYPES(Param, n)\
-    BOOST_PP_CAT(T,n)
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_ISTEMPLATE 0
-
-#endif//BOOST_TYPEOF_INTEGRAL_TEMPLATE_PARAM_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/message.hpp b/SRC/Boost/boost/typeof/message.hpp
deleted file mode 100755
index ae0cf51..0000000
--- a/SRC/Boost/boost/typeof/message.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#if defined(_MSC_VER) && defined BOOST_TYPEOF_MESSAGES
-#    pragma message(BOOST_TYPEOF_TEXT)
-#endif
-#undef BOOST_TYPEOF_TEXT
diff --git a/SRC/Boost/boost/typeof/modifiers.hpp b/SRC/Boost/boost/typeof/modifiers.hpp
deleted file mode 100755
index 3daa8f4..0000000
--- a/SRC/Boost/boost/typeof/modifiers.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
-#define BOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
-
-#include <boost/typeof/encode_decode.hpp>
-#include <boost/preprocessor/facilities/identity.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-// modifiers
-
-#define BOOST_TYPEOF_modifier_support(ID, Fun)\
-    template<class V, class T> struct encode_type_impl<V, Fun(T)>\
-    {\
-        typedef\
-            typename boost::type_of::encode_type<\
-            typename boost::type_of::push_back<\
-            V\
-            , boost::mpl::size_t<ID> >::type\
-            , T>::type\
-            type;\
-    };\
-    template<class Iter> struct decode_type_impl<boost::mpl::size_t<ID>, Iter>\
-    {\
-        typedef boost::type_of::decode_type<Iter> d1;\
-        typedef Fun(typename d1::type) type;\
-        typedef typename d1::iter iter;\
-    }
-
-
-#define BOOST_TYPEOF_const_fun(T) const T
-#define BOOST_TYPEOF_volatile_fun(T) volatile T
-#define BOOST_TYPEOF_volatile_const_fun(T) volatile const T
-#define BOOST_TYPEOF_pointer_fun(T) T*
-#define BOOST_TYPEOF_reference_fun(T) T&
-
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-//Borland incorrectly handles T const, T const volatile and T volatile.
-//It drops the decoration no matter what, so we need to try to handle T* const etc. without loosing the top modifier.
-#define BOOST_TYPEOF_const_pointer_fun(T) T const *
-#define BOOST_TYPEOF_const_reference_fun(T) T const &
-#define BOOST_TYPEOF_volatile_pointer_fun(T) T volatile*
-#define BOOST_TYPEOF_volatile_reference_fun(T) T volatile&
-#define BOOST_TYPEOF_volatile_const_pointer_fun(T) T volatile const *
-#define BOOST_TYPEOF_volatile_const_reference_fun(T) T volatile const &
-#endif
-
-BOOST_TYPEOF_BEGIN_ENCODE_NS
-
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_const_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_pointer_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_reference_fun);
-
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_pointer_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_reference_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_pointer_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_reference_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_const_pointer_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_const_reference_fun);
-#endif
-
-BOOST_TYPEOF_END_ENCODE_NS
-
-#undef BOOST_TYPEOF_modifier_support
-#undef BOOST_TYPEOF_const_fun
-#undef BOOST_TYPEOF_volatile_fun
-#undef BOOST_TYPEOF_volatile_const_fun
-#undef BOOST_TYPEOF_pointer_fun
-#undef BOOST_TYPEOF_reference_fun
-
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-#undef BOOST_TYPEOF_const_pointer_fun
-#undef BOOST_TYPEOF_const_reference_fun
-#undef BOOST_TYPEOF_volatile_pointer_fun
-#undef BOOST_TYPEOF_volatile_reference_fun
-#undef BOOST_TYPEOF_volatile_const_pointer_fun
-#undef BOOST_TYPEOF_volatile_const_reference_fun
-#endif
-
-// arrays
-
-#define BOOST_TYPEOF_array_support(ID, Qualifier)\
-    template<class V, class T, int N>\
-    struct encode_type_impl<V, Qualifier() T[N]>\
-    {\
-        typedef\
-            typename boost::type_of::encode_type<\
-            typename boost::type_of::push_back<\
-            typename boost::type_of::push_back<\
-            V\
-            , boost::mpl::size_t<ID> >::type\
-            , boost::mpl::size_t<N> >::type\
-            , T>::type\
-        type;\
-    };\
-    template<class Iter>\
-    struct decode_type_impl<boost::mpl::size_t<ID>, Iter>\
-    {\
-        enum{n = Iter::type::value};\
-        typedef boost::type_of::decode_type<typename Iter::next> d;\
-        typedef typename d::type Qualifier() type[n];\
-        typedef typename d::iter iter;\
-    }
-
-BOOST_TYPEOF_BEGIN_ENCODE_NS
-
-BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_EMPTY);
-BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_IDENTITY(const));
-BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_IDENTITY(volatile));
-BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_IDENTITY(volatile const));
-BOOST_TYPEOF_END_ENCODE_NS
-
-#undef BOOST_TYPEOF_array_support
-
-#endif//BOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/msvc/typeof_impl.hpp b/SRC/Boost/boost/typeof/msvc/typeof_impl.hpp
deleted file mode 100755
index c8e44da..0000000
--- a/SRC/Boost/boost/typeof/msvc/typeof_impl.hpp
+++ /dev/null
@@ -1,283 +0,0 @@
-
-// Copyright (C) 2005 Igor Chesnokov, mailto:ichesnokov at gmail.com (VC 6.5,VC 7.1 + counter code)
-// Copyright (C) 2005-2007 Peder Holt (VC 7.0 + framework)
-// Copyright (C) 2006 Steven Watanabe (VC 8.0)
-
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
-# define BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
-
-# include <boost/config.hpp>
-# include <boost/detail/workaround.hpp>
-# include <boost/mpl/int.hpp>
-# include <boost/type_traits/is_function.hpp>
-# include <boost/utility/enable_if.hpp>
-
-# if BOOST_WORKAROUND(BOOST_MSVC,>=1310)
-#  include <typeinfo>
-# endif
-
-namespace boost
-{
-    namespace type_of
-    {
-
-        //Compile time constant code
-# if BOOST_WORKAROUND(BOOST_MSVC,>=1300) && defined(_MSC_EXTENSIONS)
-        template<int N> struct the_counter;
-
-        template<typename T,int N = 5/*for similarity*/>
-        struct encode_counter
-        {
-            __if_exists(the_counter<N + 256>)
-            {
-                BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 257>::count));
-            }
-            __if_not_exists(the_counter<N + 256>)
-            {
-                __if_exists(the_counter<N + 64>)
-                {
-                    BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 65>::count));
-                }
-                __if_not_exists(the_counter<N + 64>)
-                {
-                    __if_exists(the_counter<N + 16>)
-                    {
-                        BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 17>::count));
-                    }
-                    __if_not_exists(the_counter<N + 16>)
-                    {
-                        __if_exists(the_counter<N + 4>)
-                        {
-                            BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 5>::count));
-                        }
-                        __if_not_exists(the_counter<N + 4>)
-                        {
-                            __if_exists(the_counter<N>)
-                            {
-                                BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 1>::count));
-                            }
-                            __if_not_exists(the_counter<N>)
-                            {
-                                BOOST_STATIC_CONSTANT(unsigned,count=N);
-                                typedef the_counter<N> type;
-                            }
-                        }
-                    }
-                }
-            }
-        };
-
-# define BOOST_TYPEOF_INDEX(T) (encode_counter<T>::count)
-# define BOOST_TYPEOF_NEXT_INDEX(next)
-# else
-        template<int N> struct encode_counter : encode_counter<N - 1> {};
-        template<> struct encode_counter<0> {};
-
-        //Need to default to a larger value than 4, as due to MSVC's ETI errors. (sizeof(int)==4)
-        char (*encode_index(...))[5];
-
-# define BOOST_TYPEOF_INDEX(T) (sizeof(*boost::type_of::encode_index((boost::type_of::encode_counter<1005>*)0)))
-# define BOOST_TYPEOF_NEXT_INDEX(next) friend char (*encode_index(encode_counter<next>*))[next];
-# endif
-
-        //Typeof code
-
-# if BOOST_WORKAROUND(BOOST_MSVC,==1300)
-        template<typename ID>
-        struct msvc_extract_type
-        {
-            template<bool>
-            struct id2type_impl;
-
-            typedef id2type_impl<true> id2type;
-        };
-
-        template<typename T, typename ID>
-        struct msvc_register_type : msvc_extract_type<ID>
-        {
-            template<>
-            struct id2type_impl<true>  //VC7.0 specific bugfeature
-            {
-                typedef T type;
-            };
-        };
-#elif BOOST_WORKAROUND(BOOST_MSVC,>=1400)
-        struct msvc_extract_type_default_param {};
-
-        template<typename ID, typename T = msvc_extract_type_default_param>
-        struct msvc_extract_type;
-
-        template<typename ID>
-        struct msvc_extract_type<ID, msvc_extract_type_default_param> {
-            template<bool>
-            struct id2type_impl;
-
-            typedef id2type_impl<true> id2type;
-        };
-
-        template<typename ID, typename T>
-        struct msvc_extract_type : msvc_extract_type<ID,msvc_extract_type_default_param>
-        {
-            template<>
-            struct id2type_impl<true>  //VC8.0 specific bugfeature
-            {
-                typedef T type;
-            };
-            template<bool>
-            struct id2type_impl;
-
-            typedef id2type_impl<true> id2type;
-        };
-
-        template<typename T, typename ID>
-        struct msvc_register_type : msvc_extract_type<ID, T>
-        {
-        };
-# else
-        template<typename ID>
-        struct msvc_extract_type
-        {
-            struct id2type;
-        };
-
-        template<typename T, typename ID>
-        struct msvc_register_type : msvc_extract_type<ID>
-        {
-            typedef msvc_extract_type<ID> base_type;
-            struct base_type::id2type // This uses nice VC6.5 and VC7.1 bugfeature
-            {
-                typedef T type;
-            };
-        };
-# endif
-// EAN: preprocess this block out on advice of Peder Holt
-// to eliminate errors in type_traits/common_type.hpp
-# if 0 //BOOST_WORKAROUND(BOOST_MSVC,==1310)
-        template<const std::type_info& ref_type_info>
-        struct msvc_typeid_wrapper {
-            typedef typename msvc_extract_type<msvc_typeid_wrapper>::id2type id2type;
-            typedef typename id2type::type wrapped_type;
-            typedef typename wrapped_type::type type;
-        };
-        //This class is used for registering the type T. encode_type<T> is mapped against typeid(encode_type<T>).
-        //msvc_typeid_wrapper<typeid(encode_type<T>)> will now have a type typedef that equals encode_type<T>.
-        template<typename T>
-        struct encode_type
-        {
-            typedef encode_type<T> input_type;
-            //Invoke registration of encode_type<T>. typeid(encode_type<T>) is now mapped to encode_type<T>. Do not use registered_type for anything.
-            //The reason for registering encode_type<T> rather than T, is that VC handles typeid(function reference) poorly. By adding another
-            //level of indirection, we solve this problem.
-            typedef typename msvc_register_type<input_type,msvc_typeid_wrapper<typeid(input_type)> >::id2type registered_type;
-            typedef T type;
-        };
-
-        template<typename T> typename disable_if<
-            typename is_function<T>::type,
-            typename encode_type<T>::input_type>::type encode_start(T const&);
-
-        template<typename T> typename enable_if<
-            typename is_function<T>::type,
-            typename encode_type<T>::input_type>::type encode_start(T&);
-
-        template<typename Organizer, typename T>
-        msvc_register_type<T,Organizer> typeof_register_type(const T&);
-
-
-# define BOOST_TYPEOF(expr) \
-    boost::type_of::msvc_typeid_wrapper<typeid(boost::type_of::encode_start(expr))>::type
-
-# define BOOST_TYPEOF_TPL(expr) typename BOOST_TYPEOF(expr)
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
-struct name {\
-    enum {_typeof_register_value=sizeof(typeid(boost::type_of::typeof_register_type<name>(expr)))};\
-    typedef typename boost::type_of::msvc_extract_type<name>::id2type id2type;\
-    typedef typename id2type::type type;\
-};
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
-struct name {\
-    enum {_typeof_register_value=sizeof(typeid(boost::type_of::typeof_register_type<name>(expr)))};\
-    typedef boost::type_of::msvc_extract_type<name>::id2type id2type;\
-    typedef id2type::type type;\
-};
-
-# else
-        template<int ID>
-        struct msvc_typeid_wrapper {
-            typedef typename msvc_extract_type<mpl::int_<ID> >::id2type id2type;
-            typedef typename id2type::type type;
-        };
-        //Workaround for ETI-bug for VC6 and VC7
-        template<>
-        struct msvc_typeid_wrapper<1> {
-            typedef msvc_typeid_wrapper<1> type;
-        };
-        //Workaround for ETI-bug for VC7.1
-        template<>
-        struct msvc_typeid_wrapper<4> {
-            typedef msvc_typeid_wrapper<4> type;
-        };
-
-        //Tie it all together
-        template<typename T>
-        struct encode_type
-        {
-            //Get the next available compile time constants index
-            BOOST_STATIC_CONSTANT(unsigned,value=BOOST_TYPEOF_INDEX(T));
-            //Instantiate the template
-            typedef typename msvc_register_type<T,mpl::int_<value> >::id2type type;
-            //Set the next compile time constants index
-            BOOST_STATIC_CONSTANT(unsigned,next=value+1);
-            //Increment the compile time constant (only needed when extensions are not active
-            BOOST_TYPEOF_NEXT_INDEX(next);
-        };
-
-        template<class T>
-        struct sizer
-        {
-            typedef char(*type)[encode_type<T>::value];
-        };
-# if BOOST_WORKAROUND(BOOST_MSVC,>=1310)
-        template<typename T> typename disable_if<
-            typename is_function<T>::type,
-            typename sizer<T>::type>::type encode_start(T const&);
-
-        template<typename T> typename enable_if<
-            typename is_function<T>::type,
-            typename sizer<T>::type>::type encode_start(T&);
-# else
-        template<typename T>
-            typename sizer<T>::type encode_start(T const&);
-# endif
-        template<typename Organizer, typename T>
-        msvc_register_type<T,Organizer> typeof_register_type(const T&,Organizer* =0);
-
-# define BOOST_TYPEOF(expr) \
-    boost::type_of::msvc_typeid_wrapper<sizeof(*boost::type_of::encode_start(expr))>::type
-
-# define BOOST_TYPEOF_TPL(expr) typename BOOST_TYPEOF(expr)
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
-    struct name {\
-        BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(boost::type_of::typeof_register_type<name>(expr)));\
-        typedef typename boost::type_of::msvc_extract_type<name>::id2type id2type;\
-        typedef typename id2type::type type;\
-    };
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
-    struct name {\
-        BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(boost::type_of::typeof_register_type<name>(expr)));\
-        typedef boost::type_of::msvc_extract_type<name>::id2type id2type;\
-        typedef id2type::type type;\
-    };
-
-#endif
-    }
-}
-
-#endif//BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/native.hpp b/SRC/Boost/boost/typeof/native.hpp
deleted file mode 100755
index 7c68f99..0000000
--- a/SRC/Boost/boost/typeof/native.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright (C) 2006 Arkadiy Vertleyb
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_NATIVE_HPP_INCLUDED
-#define BOOST_TYPEOF_NATIVE_HPP_INCLUDED
-
-#ifndef MSVC_TYPEOF_HACK
-
-#ifdef BOOST_NO_SFINAE
-
-namespace boost { namespace type_of {
-
-    template<class T> 
-        T& ensure_obj(const T&);
-
-}}
-
-#else
-
-#include <boost/type_traits/is_function.hpp> 
-#include <boost/utility/enable_if.hpp>
-
-namespace boost { namespace type_of {
-# ifdef BOOST_NO_SFINAE
-    template<class T> 
-    T& ensure_obj(const T&);
-# else
-    template<typename T>
-        typename enable_if<is_function<T>, T&>::type
-        ensure_obj(T&);
-
-    template<typename T>
-        typename disable_if<is_function<T>, T&>::type
-        ensure_obj(const T&);
-# endif
-}}
-
-#endif//BOOST_NO_SFINAE
-
-#define BOOST_TYPEOF(expr) BOOST_TYPEOF_KEYWORD(boost::type_of::ensure_obj(expr))
-#define BOOST_TYPEOF_TPL BOOST_TYPEOF
-
-#define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
-    struct name {\
-        typedef BOOST_TYPEOF_TPL(expr) type;\
-    };
-
-#define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
-    struct name {\
-        typedef BOOST_TYPEOF(expr) type;\
-    };
-
-#endif//MSVC_TYPEOF_HACK
-
-#define BOOST_TYPEOF_REGISTER_TYPE(x)
-#define BOOST_TYPEOF_REGISTER_TEMPLATE(x, params)
-
-#endif//BOOST_TYPEOF_NATIVE_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/typeof/pointers_data_members.hpp b/SRC/Boost/boost/typeof/pointers_data_members.hpp
deleted file mode 100755
index 492de1e..0000000
--- a/SRC/Boost/boost/typeof/pointers_data_members.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED
-#define BOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED
-
-#include <boost/typeof/encode_decode_params.hpp>
-#include <boost/typeof/encode_decode.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_BEGIN_ENCODE_NS
-
-enum {PTR_DATA_MEM_ID = BOOST_TYPEOF_UNIQUE_ID()};
-
-template<class V, class P0, class P1>
-struct encode_type_impl<V, P0 P1::*>
-{
-    typedef BOOST_TYPEOF_ENCODE_PARAMS(2, PTR_DATA_MEM_ID) type;
-};
-
-template<class Iter>
-struct decode_type_impl<boost::mpl::size_t<PTR_DATA_MEM_ID>, Iter>
-{
-    typedef Iter iter0;
-    BOOST_TYPEOF_DECODE_PARAMS(2)
-
-    template<class T> struct workaround{
-        typedef p0 T::* type;
-    };
-    typedef typename decode_type_impl<boost::mpl::size_t<PTR_DATA_MEM_ID>, Iter>::template workaround<p1>::type type;
-    typedef iter2 iter;
-};
-
-BOOST_TYPEOF_END_ENCODE_NS
-
-#endif//BOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/register_functions.hpp b/SRC/Boost/boost/typeof/register_functions.hpp
deleted file mode 100755
index 5ef8ade..0000000
--- a/SRC/Boost/boost/typeof/register_functions.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_REGISTER_FUNCTIONS_HPP_INCLUDED
-#define BOOST_TYPEOF_REGISTER_FUNCTIONS_HPP_INCLUDED
-
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/inc.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/if.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-#ifndef BOOST_TYPEOF_LIMIT_FUNCTION_ARITY
-#define BOOST_TYPEOF_LIMIT_FUNCTION_ARITY 10
-#endif
-
-enum 
-{
-    FUN_ID                          = BOOST_TYPEOF_UNIQUE_ID(),
-    FUN_PTR_ID                      = FUN_ID +  1 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    FUN_REF_ID                      = FUN_ID +  2 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    MEM_FUN_ID                      = FUN_ID +  3 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    CONST_MEM_FUN_ID                = FUN_ID +  4 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    VOLATILE_MEM_FUN_ID             = FUN_ID +  5 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    VOLATILE_CONST_MEM_FUN_ID       = FUN_ID +  6 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    FUN_VAR_ID                      = FUN_ID +  7 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    FUN_VAR_PTR_ID                  = FUN_ID +  8 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    FUN_VAR_REF_ID                  = FUN_ID +  9 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    MEM_FUN_VAR_ID                  = FUN_ID + 10 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    CONST_MEM_FUN_VAR_ID            = FUN_ID + 11 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    VOLATILE_MEM_FUN_VAR_ID         = FUN_ID + 12 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    VOLATILE_CONST_MEM_FUN_VAR_ID   = FUN_ID + 13 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY)
-};
-
-BOOST_TYPEOF_BEGIN_ENCODE_NS
-
-# define BOOST_PP_ITERATION_LIMITS (0, BOOST_TYPEOF_LIMIT_FUNCTION_ARITY)
-# define BOOST_PP_FILENAME_1 <boost/typeof/register_functions_iterate.hpp>
-# include BOOST_PP_ITERATE()
-
-BOOST_TYPEOF_END_ENCODE_NS
-
-#endif//BOOST_TYPEOF_REGISTER_FUNCTIONS_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/register_functions_iterate.hpp b/SRC/Boost/boost/typeof/register_functions_iterate.hpp
deleted file mode 100755
index 9a3c5a3..0000000
--- a/SRC/Boost/boost/typeof/register_functions_iterate.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/typeof/encode_decode_params.hpp>
-
-#define n BOOST_PP_ITERATION()
-
-// function pointers
-
-template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-struct encode_type_impl<V, R(*)(BOOST_PP_ENUM_PARAMS(n, P))>
-{
-    typedef R BOOST_PP_CAT(P, n);
-    typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_PTR_ID + n) type;
-};
-
-template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-struct encode_type_impl<V, R(*)(BOOST_PP_ENUM_PARAMS(n, P) ...)>
-{
-    typedef R BOOST_PP_CAT(P, n);
-    typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_VAR_PTR_ID + n) type;
-};
-
-template<class Iter>
-struct decode_type_impl<boost::mpl::size_t<FUN_PTR_ID + n>, Iter>
-{
-    typedef Iter iter0;
-    BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
-    typedef BOOST_PP_CAT(p, n)(*type)(BOOST_PP_ENUM_PARAMS(n, p));
-    typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
-};
-
-template<class Iter>
-struct decode_type_impl<boost::mpl::size_t<FUN_VAR_PTR_ID + n>, Iter>
-{
-    typedef Iter iter0;
-    BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
-    typedef BOOST_PP_CAT(p, n)(*type)(BOOST_PP_ENUM_PARAMS(n, p) ...);
-    typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
-};
-
-#ifndef BOOST_TYPEOF_NO_FUNCTION_TYPES
-
-    // function references
-
-    template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-    struct encode_type_impl<V, R(&)(BOOST_PP_ENUM_PARAMS(n, P))>
-    {
-        typedef R BOOST_PP_CAT(P, n);
-        typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_REF_ID + n) type;
-    };
-
-    template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-    struct encode_type_impl<V, R(&)(BOOST_PP_ENUM_PARAMS(n, P) ...)>
-    {
-        typedef R BOOST_PP_CAT(P, n);
-        typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_VAR_REF_ID + n) type;
-    };
-
-    template<class Iter>
-    struct decode_type_impl<boost::mpl::size_t<FUN_REF_ID + n>, Iter>
-    {
-        typedef Iter iter0;
-        BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
-        typedef BOOST_PP_CAT(p, n)(&type)(BOOST_PP_ENUM_PARAMS(n, p));
-        typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
-    };
-
-    template<class Iter>
-    struct decode_type_impl<boost::mpl::size_t<FUN_VAR_REF_ID + n>, Iter>
-    {
-        typedef Iter iter0;
-        BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
-        typedef BOOST_PP_CAT(p, n)(&type)(BOOST_PP_ENUM_PARAMS(n, p) ...);
-        typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
-    };
-
-    // functions
-
-    template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-    struct encode_type_impl<V, R(BOOST_PP_ENUM_PARAMS(n, P))>
-    {
-        typedef R BOOST_PP_CAT(P, n);
-        typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_ID + n) type;
-    };
-
-    template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-    struct encode_type_impl<V, R(BOOST_PP_ENUM_PARAMS(n, P) ...)>
-    {
-        typedef R BOOST_PP_CAT(P, n);
-        typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_VAR_ID + n) type;
-    };
-
-    template<class Iter>
-    struct decode_type_impl<boost::mpl::size_t<FUN_ID + n>, Iter>
-    {
-        typedef Iter iter0;
-        BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
-        typedef BOOST_PP_CAT(p, n)(type)(BOOST_PP_ENUM_PARAMS(n, p));
-        typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
-    };
-
-    template<class Iter>
-    struct decode_type_impl<boost::mpl::size_t<FUN_VAR_ID + n>, Iter>
-    {
-        typedef Iter iter0;
-        BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
-        typedef BOOST_PP_CAT(p, n)(type)(BOOST_PP_ENUM_PARAMS(n, p) ...);
-        typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
-    };
-
-#endif//BOOST_TYPEOF_NO_FUNCTION_TYPES
-
-#ifndef BOOST_TYPEOF_NO_MEMBER_FUNCTION_TYPES
-// member functions
-
-#define BOOST_TYPEOF_qualifier
-#define BOOST_TYPEOF_id MEM_FUN_ID
-#include <boost/typeof/register_mem_functions.hpp>
-
-#define BOOST_TYPEOF_qualifier const
-#define BOOST_TYPEOF_id CONST_MEM_FUN_ID
-#include <boost/typeof/register_mem_functions.hpp>
-
-#define BOOST_TYPEOF_qualifier volatile
-#define BOOST_TYPEOF_id VOLATILE_MEM_FUN_ID
-#include <boost/typeof/register_mem_functions.hpp>
-
-#define BOOST_TYPEOF_qualifier volatile const
-#define BOOST_TYPEOF_id VOLATILE_CONST_MEM_FUN_ID
-#include <boost/typeof/register_mem_functions.hpp>
-
-#undef n
-#endif
diff --git a/SRC/Boost/boost/typeof/register_fundamental.hpp b/SRC/Boost/boost/typeof/register_fundamental.hpp
deleted file mode 100755
index 0f11499..0000000
--- a/SRC/Boost/boost/typeof/register_fundamental.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
-#define BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
-
-#include <boost/typeof/typeof.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TYPE(unsigned char)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned short)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned int)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned long)
-
-BOOST_TYPEOF_REGISTER_TYPE(signed char)
-BOOST_TYPEOF_REGISTER_TYPE(signed short)
-BOOST_TYPEOF_REGISTER_TYPE(signed int)
-BOOST_TYPEOF_REGISTER_TYPE(signed long)
-
-BOOST_TYPEOF_REGISTER_TYPE(bool)
-BOOST_TYPEOF_REGISTER_TYPE(char)
-
-BOOST_TYPEOF_REGISTER_TYPE(float)
-BOOST_TYPEOF_REGISTER_TYPE(double)
-BOOST_TYPEOF_REGISTER_TYPE(long double)
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-// If the following line fails to compile and you're using the Intel
-// compiler, see http://lists.boost.org/MailArchives/boost-users/msg06567.php,
-// and define BOOST_NO_INTRINSIC_WCHAR_T on the command line.
-BOOST_TYPEOF_REGISTER_TYPE(wchar_t)
-#endif
-
-#if (defined(BOOST_MSVC) && (BOOST_MSVC == 1200)) \
-    || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
-    || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER == 1200))
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int8)
-BOOST_TYPEOF_REGISTER_TYPE(__int8)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int16)
-BOOST_TYPEOF_REGISTER_TYPE(__int16)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int32)
-BOOST_TYPEOF_REGISTER_TYPE(__int32)
-#ifdef __BORLANDC__
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
-BOOST_TYPEOF_REGISTER_TYPE(__int64)
-#endif
-#endif
-
-# if defined(BOOST_HAS_LONG_LONG)
-BOOST_TYPEOF_REGISTER_TYPE(::boost::ulong_long_type)
-BOOST_TYPEOF_REGISTER_TYPE(::boost::long_long_type)
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
-BOOST_TYPEOF_REGISTER_TYPE(__int64)
-#endif
-
-BOOST_TYPEOF_REGISTER_TYPE(void)
-
-#endif//BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/register_mem_functions.hpp b/SRC/Boost/boost/typeof/register_mem_functions.hpp
deleted file mode 100755
index f4e96d2..0000000
--- a/SRC/Boost/boost/typeof/register_mem_functions.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/typeof/encode_decode_params.hpp>
-
-// member functions
-
-template<class V, class T, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)> 
-struct encode_type_impl<V, R(T::*)(BOOST_PP_ENUM_PARAMS(n, P)) BOOST_TYPEOF_qualifier>
-{
-    typedef R BOOST_PP_CAT(P, n);
-    typedef T BOOST_PP_CAT(P, BOOST_PP_INC(n));
-    typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_ADD(n, 2), BOOST_TYPEOF_id + n) type;
-};
-
-template<class Iter>
-struct decode_type_impl<boost::mpl::size_t<BOOST_TYPEOF_id + n>, Iter>
-{
-    typedef Iter iter0;
-    BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_ADD(n, 2))
-    template<class T> struct workaround{
-        typedef BOOST_PP_CAT(p, n)(T::*type)(BOOST_PP_ENUM_PARAMS(n, p)) BOOST_TYPEOF_qualifier;
-    };
-    typedef typename workaround<BOOST_PP_CAT(p, BOOST_PP_INC(n))>::type type;
-    typedef BOOST_PP_CAT(iter, BOOST_PP_ADD(n, 2)) iter;
-};
-
-// undef parameters
-
-#undef BOOST_TYPEOF_id
-#undef BOOST_TYPEOF_qualifier
diff --git a/SRC/Boost/boost/typeof/template_encoding.hpp b/SRC/Boost/boost/typeof/template_encoding.hpp
deleted file mode 100755
index c4bc2ba..0000000
--- a/SRC/Boost/boost/typeof/template_encoding.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_TEMPLATE_ENCODING_HPP_INCLUDED
-#define BOOST_TYPEOF_TEMPLATE_ENCODING_HPP_INCLUDED
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/repetition/enum_trailing.hpp>
-#include <boost/preprocessor/control/iif.hpp>
-#include <boost/preprocessor/detail/is_unary.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/tuple/eat.hpp>
-#include <boost/preprocessor/seq/transform.hpp>
-#include <boost/preprocessor/seq/for_each_i.hpp>
-#include <boost/preprocessor/seq/cat.hpp>
-
-#include <boost/typeof/encode_decode.hpp>
-#include <boost/typeof/int_encoding.hpp>
-
-#include <boost/typeof/type_template_param.hpp>
-#include <boost/typeof/integral_template_param.hpp>
-#include <boost/typeof/template_template_param.hpp>
-
-#ifdef __BORLANDC__
-#define BOOST_TYPEOF_QUALIFY(P) self_t::P
-#else
-#define BOOST_TYPEOF_QUALIFY(P) P
-#endif
-// The template parameter description, entered by the user,
-// is converted into a polymorphic "object"
-// that is used to generate the code responsible for
-// encoding/decoding the parameter, etc.
-
-// make sure to cat the sequence first, and only then add the prefix.
-#define BOOST_TYPEOF_MAKE_OBJ(elem) BOOST_PP_CAT(\
-    BOOST_TYPEOF_MAKE_OBJ,\
-    BOOST_PP_SEQ_CAT((_) BOOST_TYPEOF_TO_SEQ(elem))\
-    )
-
-#define BOOST_TYPEOF_TO_SEQ(tokens) BOOST_TYPEOF_ ## tokens ## _BOOST_TYPEOF
-
-// BOOST_TYPEOF_REGISTER_TEMPLATE
-
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_EXPLICIT_ID(Name, Params, Id)\
-    BOOST_TYPEOF_REGISTER_TEMPLATE_IMPL(\
-        Name,\
-        BOOST_TYPEOF_MAKE_OBJS(BOOST_TYPEOF_TOSEQ(Params)),\
-        BOOST_PP_SEQ_SIZE(BOOST_TYPEOF_TOSEQ(Params)),\
-        Id)
-
-#define BOOST_TYPEOF_REGISTER_TEMPLATE(Name, Params)\
-    BOOST_TYPEOF_REGISTER_TEMPLATE_EXPLICIT_ID(Name, Params, BOOST_TYPEOF_UNIQUE_ID())
-
-#define BOOST_TYPEOF_OBJECT_MAKER(s, data, elem)\
-    BOOST_TYPEOF_MAKE_OBJ(elem)
-
-#define BOOST_TYPEOF_MAKE_OBJS(Params)\
-    BOOST_PP_SEQ_TRANSFORM(BOOST_TYPEOF_OBJECT_MAKER, ~, Params)
-
-// As suggested by Paul Mensonides:
-
-#define BOOST_TYPEOF_TOSEQ(x)\
-    BOOST_PP_IIF(\
-        BOOST_PP_IS_UNARY(x),\
-        x BOOST_PP_TUPLE_EAT(3), BOOST_PP_REPEAT\
-    )(x, BOOST_TYPEOF_TOSEQ_2, ~)
-
-#define BOOST_TYPEOF_TOSEQ_2(z, n, _) (class)
-
-// BOOST_TYPEOF_VIRTUAL
-
-#define BOOST_TYPEOF_CAT_4(a, b, c, d) BOOST_TYPEOF_CAT_4_I(a, b, c, d)
-#define BOOST_TYPEOF_CAT_4_I(a, b, c, d) a ## b ## c ## d
-
-#define BOOST_TYPEOF_VIRTUAL(Fun, Obj)\
-    BOOST_TYPEOF_CAT_4(BOOST_TYPEOF_, BOOST_PP_SEQ_HEAD(Obj), _, Fun)
-
-// BOOST_TYPEOF_SEQ_ENUM[_TRAILING][_1]
-// Two versions provided due to reentrancy issue
-
-#define BOOST_TYPEOF_SEQ_EXPAND_ELEMENT(z,n,seq)\
-   BOOST_PP_SEQ_ELEM(0,seq) (z,n,BOOST_PP_SEQ_ELEM(n,BOOST_PP_SEQ_ELEM(1,seq)))
-
-#define BOOST_TYPEOF_SEQ_ENUM(seq,macro)\
-    BOOST_PP_ENUM(BOOST_PP_SEQ_SIZE(seq),BOOST_TYPEOF_SEQ_EXPAND_ELEMENT,(macro)(seq))
-
-#define BOOST_TYPEOF_SEQ_ENUM_TRAILING(seq,macro)\
-    BOOST_PP_ENUM_TRAILING(BOOST_PP_SEQ_SIZE(seq),BOOST_TYPEOF_SEQ_EXPAND_ELEMENT,(macro)(seq))
-
-#define BOOST_TYPEOF_SEQ_EXPAND_ELEMENT_1(z,n,seq)\
-    BOOST_PP_SEQ_ELEM(0,seq) (z,n,BOOST_PP_SEQ_ELEM(n,BOOST_PP_SEQ_ELEM(1,seq)))
-
-#define BOOST_TYPEOF_SEQ_ENUM_1(seq,macro)\
-    BOOST_PP_ENUM(BOOST_PP_SEQ_SIZE(seq),BOOST_TYPEOF_SEQ_EXPAND_ELEMENT_1,(macro)(seq))
-
-#define BOOST_TYPEOF_SEQ_ENUM_TRAILING_1(seq,macro)\
-    BOOST_PP_ENUM_TRAILING(BOOST_PP_SEQ_SIZE(seq),BOOST_TYPEOF_SEQ_EXPAND_ELEMENT_1,(macro)(seq))
-
-//
-
-#define BOOST_TYPEOF_PLACEHOLDER(z, n, elem)\
-    BOOST_TYPEOF_VIRTUAL(PLACEHOLDER, elem)(elem)
-
-#define BOOST_TYPEOF_PLACEHOLDER_TYPES(z, n, elem)\
-    BOOST_TYPEOF_VIRTUAL(PLACEHOLDER_TYPES, elem)(elem, n)
-
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_ENCODE_PARAM(r, data, n, elem)\
-    BOOST_TYPEOF_VIRTUAL(ENCODE, elem)(elem, n)
-
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_DECODE_PARAM(r, data, n, elem)\
-    BOOST_TYPEOF_VIRTUAL(DECODE, elem)(elem, n)
-
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_PARAM_PAIR(z, n, elem) \
-    BOOST_TYPEOF_VIRTUAL(EXPANDTYPE, elem)(elem) BOOST_PP_CAT(P, n)
-
-#define BOOST_TYPEOF_REGISTER_DEFAULT_TEMPLATE_TYPE(Name,Params,ID)\
-    Name< BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params), P) >
-
-//Since we are creating an internal decode struct, we need to use different template names, T instead of P.
-#define BOOST_TYPEOF_REGISTER_DECODER_TYPE_PARAM_PAIR(z,n,elem) \
-    BOOST_TYPEOF_VIRTUAL(EXPANDTYPE, elem)(elem) BOOST_PP_CAT(T, n)
-
-//Default template param decoding
-
-#define BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TYPE(Name,Params)\
-    typedef Name<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),BOOST_TYPEOF_QUALIFY(P))> type;
-
-//Branch the decoding
-#define BOOST_TYPEOF_TYPEDEF_DECODED_TYPE(Name,Params)\
-    BOOST_PP_IF(BOOST_TYPEOF_HAS_TEMPLATES(Params),\
-        BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TEMPLATE_TYPE,\
-        BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TYPE)(Name,Params)
-
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_IMPL(Name, Params, Size, ID)\
-    BOOST_TYPEOF_BEGIN_ENCODE_NS\
-    BOOST_TYPEOF_REGISTER_TEMPLATE_TEMPLATE_IMPL(Name, Params, ID)\
-    template<class V\
-        BOOST_TYPEOF_SEQ_ENUM_TRAILING(Params, BOOST_TYPEOF_REGISTER_TEMPLATE_PARAM_PAIR)\
-    >\
-    struct encode_type_impl<V, Name<BOOST_PP_ENUM_PARAMS(Size, P)> >\
-    {\
-        typedef typename boost::type_of::push_back<V, boost::mpl::size_t<ID> >::type V0;\
-        BOOST_PP_SEQ_FOR_EACH_I(BOOST_TYPEOF_REGISTER_TEMPLATE_ENCODE_PARAM, ~, Params)\
-        typedef BOOST_PP_CAT(V, Size) type;\
-    };\
-    template<class Iter>\
-    struct decode_type_impl<boost::mpl::size_t<ID>, Iter>\
-    {\
-        typedef decode_type_impl<boost::mpl::size_t<ID>, Iter> self_t;\
-        typedef boost::mpl::size_t<ID> self_id;\
-        typedef Iter iter0;\
-        BOOST_PP_SEQ_FOR_EACH_I(BOOST_TYPEOF_REGISTER_TEMPLATE_DECODE_PARAM, ~, Params)\
-        BOOST_TYPEOF_TYPEDEF_DECODED_TYPE(Name, Params)\
-        typedef BOOST_PP_CAT(iter, Size) iter;\
-    };\
-    BOOST_TYPEOF_END_ENCODE_NS
-
-#endif//BOOST_TYPEOF_TEMPLATE_ENCODING_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/template_template_param.hpp b/SRC/Boost/boost/typeof/template_template_param.hpp
deleted file mode 100755
index 87b86bf..0000000
--- a/SRC/Boost/boost/typeof/template_template_param.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-// Copyright (C) 2005 Peder Holt
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_TEMPLATE_TEMPLATE_PARAM_HPP_INCLUDED
-#define BOOST_TYPEOF_TEMPLATE_TEMPLATE_PARAM_HPP_INCLUDED
-
-#include <boost/preprocessor/logical/or.hpp>
-#include <boost/preprocessor/seq/fold_left.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-
-#define BOOST_TYPEOF_MAKE_OBJ_template(x)   BOOST_TYPEOF_TEMPLATE_PARAM(x)
-#define BOOST_TYPEOF_TEMPLATE(X) template(X) BOOST_TYPEOF_EAT
-#define BOOST_TYPEOF_template(X) (template(X))
-
-#define BOOST_TYPEOF_TEMPLATE_PARAM(Params)\
-    (TEMPLATE_PARAM)\
-    (Params)
-
-#define BOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(This)\
-    BOOST_TYPEOF_TOSEQ(BOOST_PP_SEQ_ELEM(1, This))
-
-//Encode / decode this
-#define BOOST_TYPEOF_TEMPLATE_PARAM_ENCODE(This, n)\
-   typedef typename boost::type_of::encode_template<BOOST_PP_CAT(V, n),\
-       BOOST_PP_CAT(P, n)<BOOST_TYPEOF_SEQ_ENUM(BOOST_TYPEOF_MAKE_OBJS(BOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(This)),BOOST_TYPEOF_PLACEHOLDER) >\
-   >::type BOOST_PP_CAT(V, BOOST_PP_INC(n));
-
-#define BOOST_TYPEOF_TEMPLATE_PARAM_DECODE(This, n)\
-   typedef boost::type_of::decode_template< BOOST_PP_CAT(iter, n) > BOOST_PP_CAT(d, n);\
-   typedef typename BOOST_PP_CAT(d, n)::type BOOST_PP_CAT(P, n);\
-   typedef typename BOOST_PP_CAT(d, n)::iter BOOST_PP_CAT(iter,BOOST_PP_INC(n));
-
-// template<class, unsigned int, ...> class
-#define BOOST_TYPEOF_TEMPLATE_PARAM_EXPANDTYPE(This) \
-    template <BOOST_PP_SEQ_ENUM(BOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(This)) > class
-
-#define BOOST_TYPEOF_TEMPLATE_PARAM_PLACEHOLDER(Param)\
-    Nested_Template_Template_Arguments_Not_Supported
-
-//'template<class,int> class' is reduced to 'class'
-#define BOOST_TYPEOF_TEMPLATE_PARAM_DECLARATION_TYPE(Param) class
-
-// T3<int, (unsigned int)0, ...>
-#define BOOST_TYPEOF_TEMPLATE_PARAM_PLACEHOLDER_TYPES(Param, n)\
-    BOOST_PP_CAT(T,n)<BOOST_TYPEOF_SEQ_ENUM_1(BOOST_TYPEOF_MAKE_OBJS(BOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(Param)),BOOST_TYPEOF_PLACEHOLDER) >
-
-#define BOOST_TYPEOF_TEMPLATE_PARAM_ISTEMPLATE 1
-
-////////////////////////////
-// move to encode_decode?
-
-BOOST_TYPEOF_BEGIN_ENCODE_NS
-
-template<class V, class Type_Not_Registered_With_Typeof_System> struct encode_template_impl;
-template<class T, class Iter> struct decode_template_impl;
-
-BOOST_TYPEOF_END_ENCODE_NS
-
-namespace boost { namespace type_of {
-
-    template<class V, class T> struct encode_template
-        : BOOST_TYPEOF_ENCODE_NS_QUALIFIER::encode_template_impl<V, T>
-    {};
-
-    template<class Iter> struct decode_template
-        : BOOST_TYPEOF_ENCODE_NS_QUALIFIER::decode_template_impl<typename Iter::type, typename Iter::next>
-    {};
-}}
-
-////////////////////////////
-// move to template_encoding.hpp?
-
-//Template template registration
-#define BOOST_TYPEOF_REGISTER_TYPE_FOR_TEMPLATE_TEMPLATE(Name,Params,ID)\
-    template<class V\
-        BOOST_TYPEOF_SEQ_ENUM_TRAILING(Params,BOOST_TYPEOF_REGISTER_TEMPLATE_PARAM_PAIR)\
-    >\
-    struct encode_template_impl<V,Name<\
-        BOOST_PP_ENUM_PARAMS(\
-        BOOST_PP_SEQ_SIZE(Params),\
-        P)> >\
-        : boost::type_of::push_back<V, boost::mpl::size_t<ID> >\
-    {\
-    };\
-    template<class Iter> struct decode_template_impl<boost::mpl::size_t<ID>, Iter>\
-    {\
-        BOOST_PP_REPEAT(BOOST_PP_SEQ_SIZE(Params),BOOST_TYPEOF_TYPEDEF_INT_PN,_)\
-        typedef Name<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_PLACEHOLDER) > type;\
-        typedef Iter iter;\
-    };
-
-#define BOOST_TYPEOF_TYPEDEF_INT_PN(z,n,Params) typedef int BOOST_PP_CAT(P,n);
-
-#ifdef __BORLANDC__
-#define BOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME BOOST_PP_CAT(\
-        BOOST_PP_CAT(\
-            BOOST_PP_CAT(\
-                decode_nested_template_helper,\
-                BOOST_TYPEOF_REGISTRATION_GROUP\
-            ),0x10000\
-        ),__LINE__\
-    )
-#define BOOST_TYPEOF_REGISTER_DECODE_NESTED_TEMPLATE_HELPER_IMPL(Name,Params,ID)\
-    struct BOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME {\
-        template<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_REGISTER_DECLARE_DECODER_TYPE_PARAM_PAIR) >\
-        struct decode_params;\
-        template<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_REGISTER_DECODER_TYPE_PARAM_PAIR) >\
-        struct decode_params<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_PLACEHOLDER_TYPES) >\
-        {\
-            typedef Name<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),T)> type;\
-        };\
-    };
-//Template template param decoding
-#define BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TEMPLATE_TYPE(Name,Params)\
-    typedef typename BOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME::decode_params<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),P)>::type type;
-
-#else
-#define BOOST_TYPEOF_REGISTER_DECODE_NESTED_TEMPLATE_HELPER_IMPL(Name,Params,ID)
-
-//Template template param decoding
-#define BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TEMPLATE_TYPE(Name,Params)\
-    template<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_REGISTER_DECLARE_DECODER_TYPE_PARAM_PAIR) >\
-    struct decode_params;\
-    template<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_REGISTER_DECODER_TYPE_PARAM_PAIR) >\
-    struct decode_params<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_PLACEHOLDER_TYPES) >\
-    {\
-        typedef Name<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),T)> type;\
-    };\
-    typedef typename decode_params<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),P)>::type type;
-#endif
-#define BOOST_TYPEOF_REGISTER_DECLARE_DECODER_TYPE_PARAM_PAIR(z,n,elem) \
-    BOOST_TYPEOF_VIRTUAL(DECLARATION_TYPE, elem)(elem) BOOST_PP_CAT(T, n)
-
-// BOOST_TYPEOF_HAS_TEMPLATES
-#define BOOST_TYPEOF_HAS_TEMPLATES(Params)\
-    BOOST_PP_SEQ_FOLD_LEFT(BOOST_TYPEOF_HAS_TEMPLATES_OP, 0, Params)
-
-#define BOOST_TYPEOF_HAS_TEMPLATES_OP(s, state, elem)\
-    BOOST_PP_OR(state, BOOST_TYPEOF_VIRTUAL(ISTEMPLATE, elem))
-
-//Define template template arguments
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_TEMPLATE_IMPL(Name,Params,ID)\
-    BOOST_PP_IF(BOOST_TYPEOF_HAS_TEMPLATES(Params),\
-        BOOST_TYPEOF_REGISTER_DECODE_NESTED_TEMPLATE_HELPER_IMPL,\
-        BOOST_TYPEOF_REGISTER_TYPE_FOR_TEMPLATE_TEMPLATE)(Name,Params,ID)
-
-#endif //BOOST_TYPEOF_TEMPLATE_TEMPLATE_PARAM_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/type_encoding.hpp b/SRC/Boost/boost/typeof/type_encoding.hpp
deleted file mode 100755
index 34e5c63..0000000
--- a/SRC/Boost/boost/typeof/type_encoding.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED
-#define BOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED
-
-#define BOOST_TYPEOF_REGISTER_TYPE_IMPL(T, Id)                          \
-                                                                        \
-    template<class V> struct encode_type_impl<V, T >                    \
-        : boost::type_of::push_back<V, boost::mpl::size_t<Id> >         \
-    {};                                                                 \
-    template<class Iter> struct decode_type_impl<boost::mpl::size_t<Id>, Iter> \
-    {                                                                   \
-        typedef T type;                                                 \
-        typedef Iter iter;                                              \
-    };
-
-#define BOOST_TYPEOF_REGISTER_TYPE_EXPLICIT_ID(Type, Id)                \
-    BOOST_TYPEOF_BEGIN_ENCODE_NS                                        \
-    BOOST_TYPEOF_REGISTER_TYPE_IMPL(Type, Id)                           \
-    BOOST_TYPEOF_END_ENCODE_NS
-
-#define BOOST_TYPEOF_REGISTER_TYPE(Type)                                \
-    BOOST_TYPEOF_REGISTER_TYPE_EXPLICIT_ID(Type, BOOST_TYPEOF_UNIQUE_ID())
-
-#endif//BOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/type_template_param.hpp b/SRC/Boost/boost/typeof/type_template_param.hpp
deleted file mode 100755
index ddba700..0000000
--- a/SRC/Boost/boost/typeof/type_template_param.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_TYPE_TEMPLATE_PARAM_HPP_INCLUDED
-#define BOOST_TYPEOF_TYPE_TEMPLATE_PARAM_HPP_INCLUDED
-
-#define BOOST_TYPEOF_class_BOOST_TYPEOF (class)
-#define BOOST_TYPEOF_typename_BOOST_TYPEOF (typename)
-
-#define BOOST_TYPEOF_MAKE_OBJ_class BOOST_TYPEOF_TYPE_PARAM
-#define BOOST_TYPEOF_MAKE_OBJ_typename BOOST_TYPEOF_TYPE_PARAM
-
-#define BOOST_TYPEOF_TYPE_PARAM\
-    (TYPE_PARAM)
-
-#define BOOST_TYPEOF_TYPE_PARAM_EXPANDTYPE(Param) class
-
-// TYPE_PARAM "virtual functions" implementation
-
-#define BOOST_TYPEOF_TYPE_PARAM_ENCODE(This, n)\
-    typedef typename boost::type_of::encode_type<\
-        BOOST_PP_CAT(V, n),\
-        BOOST_PP_CAT(P, n)\
-    >::type BOOST_PP_CAT(V, BOOST_PP_INC(n)); 
-
-#define BOOST_TYPEOF_TYPE_PARAM_DECODE(This, n)\
-    typedef boost::type_of::decode_type< BOOST_PP_CAT(iter, n) > BOOST_PP_CAT(d, n);\
-    typedef typename BOOST_PP_CAT(d, n)::type BOOST_PP_CAT(P, n);\
-    typedef typename BOOST_PP_CAT(d, n)::iter BOOST_PP_CAT(iter, BOOST_PP_INC(n));
-
-#define BOOST_TYPEOF_TYPE_PARAM_PLACEHOLDER(Param) int
-#define BOOST_TYPEOF_TYPE_PARAM_DECLARATION_TYPE(Param) class
-#define BOOST_TYPEOF_TYPE_PARAM_PLACEHOLDER_TYPES(Param, n) BOOST_PP_CAT(T,n)
-#define BOOST_TYPEOF_TYPE_PARAM_ISTEMPLATE 0
-
-#endif//BOOST_TYPEOF_TYPE_TEMPLATE_PARAM_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/typeof.hpp b/SRC/Boost/boost/typeof/typeof.hpp
deleted file mode 100755
index cc07bbc..0000000
--- a/SRC/Boost/boost/typeof/typeof.hpp
+++ /dev/null
@@ -1,218 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_TYPEOF_HPP_INCLUDED
-#define BOOST_TYPEOF_TYPEOF_HPP_INCLUDED
-
-#if defined(BOOST_TYPEOF_COMPLIANT)
-#   define BOOST_TYPEOF_EMULATION
-#endif
-
-#if defined(BOOST_TYPEOF_EMULATION) && defined(BOOST_TYPEOF_NATIVE)
-#   error both typeof emulation and native mode requested
-#endif
-
-#if defined(__COMO__)
-#   ifdef __GNUG__
-#       ifndef BOOST_TYPEOF_EMULATION
-#           ifndef BOOST_TYPEOF_NATIVE
-#               define BOOST_TYPEOF_NATIVE
-#           endif
-#           define BOOST_TYPEOF_KEYWORD typeof
-#       endif
-#   else
-#       ifndef BOOST_TYPEOF_NATIVE
-#           ifndef BOOST_TYPEOF_EMULATION
-#               define BOOST_TYPEOF_EMULATION
-#           endif
-#       else
-#           error native typeof is not supported
-#       endif
-#   endif
-
-#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
-#   ifdef __GNUC__
-#       ifndef BOOST_TYPEOF_EMULATION
-#           ifndef BOOST_TYPEOF_NATIVE
-#               define BOOST_TYPEOF_NATIVE
-#           endif
-#           define BOOST_TYPEOF_KEYWORD __typeof__
-#       endif
-#   else
-#       ifndef BOOST_TYPEOF_NATIVE
-#           ifndef BOOST_TYPEOF_EMULATION
-#               define BOOST_TYPEOF_EMULATION
-#           endif
-#       else
-#           error native typeof is not supported
-#       endif
-#   endif
-
-#elif defined(__GNUC__)
-#   ifndef BOOST_TYPEOF_EMULATION
-#       ifndef BOOST_TYPEOF_NATIVE
-#           define BOOST_TYPEOF_NATIVE
-#       endif
-#       define BOOST_TYPEOF_KEYWORD __typeof__
-#   endif
-
-#elif defined(__MWERKS__)
-#   if(__MWERKS__ <= 0x3003)  // 8.x
-#       ifndef BOOST_TYPEOF_EMULATION
-#           ifndef BOOST_TYPEOF_NATIVE
-#               define BOOST_TYPEOF_NATIVE
-#           endif
-#           define BOOST_TYPEOF_KEYWORD __typeof__
-#       else
-#           define BOOST_TYPEOF_EMULATION_UNSUPPORTED
-#       endif
-#   else // 9.x
-#       ifndef BOOST_TYPEOF_EMULATION
-#           ifndef BOOST_TYPEOF_NATIVE
-#               define BOOST_TYPEOF_NATIVE
-#           endif
-#           define BOOST_TYPEOF_KEYWORD __typeof__
-#       endif
-#   endif
-#elif defined __CODEGEARC__
-#   ifndef BOOST_TYPEOF_EMULATION
-#       ifndef BOOST_TYPEOF_NATIVE
-#           define BOOST_TYPEOF_EMULATION_UNSUPPORTED
-#       endif
-#   else
-#       define BOOST_TYPEOF_EMULATION_UNSUPPORTED
-#   endif
-#elif defined __BORLANDC__
-#   ifndef BOOST_TYPEOF_EMULATION
-#       ifndef BOOST_TYPEOF_NATIVE
-#           define BOOST_TYPEOF_EMULATION_UNSUPPORTED
-#       endif
-#   else
-#       define BOOST_TYPEOF_EMULATION_UNSUPPORTED
-#   endif
-#elif defined __DMC__
-#   ifndef BOOST_TYPEOF_EMULATION
-#       ifndef BOOST_TYPEOF_NATIVE
-#           define BOOST_TYPEOF_NATIVE
-#       endif
-#       include <boost/typeof/dmc/typeof_impl.hpp>
-#       define MSVC_TYPEOF_HACK
-#   endif
-#elif defined(_MSC_VER)
-#   if (_MSC_VER <= 1300)  // 6.5, 7.0
-#       ifndef BOOST_TYPEOF_EMULATION
-#           ifndef BOOST_TYPEOF_NATIVE
-#               define BOOST_TYPEOF_NATIVE
-#           endif
-#           include <boost/typeof/msvc/typeof_impl.hpp>
-#           define MSVC_TYPEOF_HACK
-#       else
-#           error typeof emulation is not supported
-#       endif
-#   elif (_MSC_VER >= 1310)  // 7.1 ->
-#       ifndef BOOST_TYPEOF_EMULATION
-#           ifndef BOOST_TYPEOF_NATIVE
-#               ifndef _MSC_EXTENSIONS
-#                   define BOOST_TYPEOF_EMULATION
-#               else
-#                   define BOOST_TYPEOF_NATIVE
-#               endif
-#           endif
-#       endif
-#       ifdef BOOST_TYPEOF_NATIVE
-#           include <boost/typeof/msvc/typeof_impl.hpp>
-#           define MSVC_TYPEOF_HACK
-#       endif
-#   endif
-#elif defined(__HP_aCC)
-#   ifndef BOOST_TYPEOF_NATIVE
-#       ifndef BOOST_TYPEOF_EMULATION
-#           define BOOST_TYPEOF_EMULATION
-#       endif
-#   else
-#       error native typeof is not supported
-#   endif
-
-#elif defined(__DECCXX)
-#   ifndef BOOST_TYPEOF_NATIVE
-#       ifndef BOOST_TYPEOF_EMULATION
-#           define BOOST_TYPEOF_EMULATION
-#       endif
-#   else
-#       error native typeof is not supported
-#   endif
-
-#elif defined(__BORLANDC__)
-#   if (__BORLANDC__ < 0x590)
-#       define BOOST_TYPEOF_NO_FUNCTION_TYPES
-#       define BOOST_TYPEOF_NO_MEMBER_FUNCTION_TYPES
-#   endif
-#   ifndef BOOST_TYPEOF_NATIVE
-#       ifndef BOOST_TYPEOF_EMULATION
-#           define BOOST_TYPEOF_EMULATION
-#       endif
-#   else
-#       error native typeof is not supported
-#   endif
-#elif defined(__SUNPRO_CC)
-#   if (__SUNPRO_CC < 0x590 )
-#     ifdef BOOST_TYPEOF_NATIVE
-#         error native typeof is not supported
-#     endif
-#     ifndef BOOST_TYPEOF_EMULATION
-#         define BOOST_TYPEOF_EMULATION
-#     endif
-#   else
-#     ifndef BOOST_TYPEOF_EMULATION
-#         ifndef BOOST_TYPEOF_NATIVE
-#             define BOOST_TYPEOF_NATIVE
-#         endif
-#         define BOOST_TYPEOF_KEYWORD __typeof__
-#     endif
-#   endif
-#else //unknown compiler
-#   ifndef BOOST_TYPEOF_NATIVE
-#       ifndef BOOST_TYPEOF_EMULATION
-#           define BOOST_TYPEOF_EMULATION
-#       endif
-#   else
-#       ifndef BOOST_TYPEOF_KEYWORD
-#           define BOOST_TYPEOF_KEYWORD typeof
-#       endif
-#   endif
-
-#endif
-
-#define BOOST_TYPEOF_UNIQUE_ID()\
-     BOOST_TYPEOF_REGISTRATION_GROUP * 0x10000 + __LINE__
-
-#define BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()\
-     <boost/typeof/incr_registration_group.hpp>
-
-#ifdef BOOST_TYPEOF_EMULATION_UNSUPPORTED
-#   include <boost/typeof/unsupported.hpp>
-#elif defined BOOST_TYPEOF_EMULATION
-#   define BOOST_TYPEOF_TEXT "using typeof emulation"
-#   include <boost/typeof/message.hpp>
-#   include <boost/typeof/typeof_impl.hpp>
-#   include <boost/typeof/type_encoding.hpp>
-#   include <boost/typeof/template_encoding.hpp>
-#   include <boost/typeof/modifiers.hpp>
-#   include <boost/typeof/pointers_data_members.hpp>
-#   include <boost/typeof/register_functions.hpp>
-#   include <boost/typeof/register_fundamental.hpp>
-
-#elif defined(BOOST_TYPEOF_NATIVE)
-#   define BOOST_TYPEOF_TEXT "using native typeof"
-#   include <boost/typeof/message.hpp>
-#   include <boost/typeof/native.hpp>
-#else
-#   error typeof configuration error
-#endif
-
-// auto
-#define BOOST_AUTO(Var, Expr) BOOST_TYPEOF(Expr) Var = Expr
-#define BOOST_AUTO_TPL(Var, Expr) BOOST_TYPEOF_TPL(Expr) Var = Expr
-
-#endif//BOOST_TYPEOF_TYPEOF_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/typeof_impl.hpp b/SRC/Boost/boost/typeof/typeof_impl.hpp
deleted file mode 100755
index 732b067..0000000
--- a/SRC/Boost/boost/typeof/typeof_impl.hpp
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright (C) 2004, 2005 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_TYPEOF_IMPL_HPP_INCLUDED
-#define BOOST_TYPEOF_TYPEOF_IMPL_HPP_INCLUDED
-
-#include <boost/mpl/size_t.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/typeof/encode_decode.hpp>
-#include <boost/typeof/vector.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#define BOOST_TYPEOF_VECTOR(n) BOOST_PP_CAT(boost::type_of::vector, n)
-
-#define BOOST_TYPEOF_sizer_item(z, n, _)\
-    char item ## n[V::item ## n ::value];
-
-namespace boost { namespace type_of {
-    template<class V>
-    struct sizer
-    {
-        // char item0[V::item0::value];
-        // char item1[V::item1::value];
-        // ...
-
-        BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE, BOOST_TYPEOF_sizer_item, ~)
-    };
-}}
-
-#undef BOOST_TYPEOF_sizer_item
-
-//
-namespace boost { namespace type_of {
-# ifdef BOOST_NO_SFINAE
-    template<class V, class T>
-    sizer<typename encode_type<V, T>::type> encode(const T&);
-# else
-    template<class V, class T>
-    typename enable_if<
-        typename is_function<T>::type,
-        sizer<typename encode_type<V, T>::type> >::type encode(T&);
-
-    template<class V, class T>
-    typename disable_if<
-        typename is_function<T>::type,
-        sizer<typename encode_type<V, T>::type> >::type encode(const T&);
-# endif
-}}
-//
-namespace boost { namespace type_of {
-
-    template<class V>
-    struct decode_begin
-    {
-        typedef typename decode_type<typename V::begin>::type type;
-    };
-}}
-
-#define BOOST_TYPEOF_TYPEITEM(z, n, expr)\
-    boost::mpl::size_t<sizeof(boost::type_of::encode<BOOST_TYPEOF_VECTOR(0)<> >(expr).item ## n)>
-
-#define BOOST_TYPEOF_ENCODED_VECTOR(Expr)                                   \
-    BOOST_TYPEOF_VECTOR(BOOST_TYPEOF_LIMIT_SIZE)<                           \
-        BOOST_PP_ENUM(BOOST_TYPEOF_LIMIT_SIZE, BOOST_TYPEOF_TYPEITEM, Expr) \
-    >
-
-#define BOOST_TYPEOF(Expr)\
-    boost::type_of::decode_begin<BOOST_TYPEOF_ENCODED_VECTOR(Expr) >::type
-
-#define BOOST_TYPEOF_TPL typename BOOST_TYPEOF
-
-//offset_vector is used to delay the insertion of data into the vector in order to allow
-//encoding to be done in many steps
-namespace boost { namespace type_of {
-    template<typename V,typename Offset>
-    struct offset_vector {
-    };
-
-    template<class V,class Offset,class T>
-    struct push_back<boost::type_of::offset_vector<V,Offset>,T> {
-        typedef offset_vector<V,typename Offset::prior> type;
-    };
-
-    template<class V,class T>
-    struct push_back<boost::type_of::offset_vector<V,mpl::size_t<0> >,T> {
-        typedef typename push_back<V,T>::type type;
-    };
-}}
-
-#define BOOST_TYPEOF_NESTED_TYPEITEM(z, n, expr)\
-    BOOST_STATIC_CONSTANT(int,BOOST_PP_CAT(value,n) = sizeof(boost::type_of::encode<_typeof_start_vector>(expr).item ## n));\
-    typedef boost::mpl::size_t<BOOST_PP_CAT(self_t::value,n)> BOOST_PP_CAT(item,n);
-
-#ifdef __DMC__
-#define BOOST_TYPEOF_NESTED_TYPEITEM_2(z,n,expr)\
-    typedef typename _typeof_encode_fraction<iteration>::BOOST_PP_CAT(item,n) BOOST_PP_CAT(item,n);
-
-#define BOOST_TYPEOF_FRACTIONTYPE()\
-    BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE,BOOST_TYPEOF_NESTED_TYPEITEM_2,_)\
-    typedef _typeof_fraction_iter<Pos> fraction_type;
-#else
-#define BOOST_TYPEOF_FRACTIONTYPE()\
-    typedef _typeof_encode_fraction<self_t::iteration> fraction_type;
-#endif
-
-#ifdef __BORLANDC__
-namespace boost { namespace type_of {
-    template<typename Pos,typename Iter>
-    struct generic_typeof_fraction_iter {
-        typedef generic_typeof_fraction_iter<Pos,Iter> self_t;
-        static const int pos=(Pos::value);
-        static const int iteration=(pos/5);
-        static const int where=pos%5;
-        typedef typename Iter::template _apply_next<self_t::iteration>::type fraction_type;
-        typedef generic_typeof_fraction_iter<typename Pos::next,Iter> next;
-        typedef typename v_iter<fraction_type,mpl::int_<self_t::where> >::type type;
-    };
-}}
-#define BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr) \
-        template<int _Typeof_Iteration>\
-        struct _typeof_encode_fraction {\
-            typedef _typeof_encode_fraction<_Typeof_Iteration> self_t;\
-            BOOST_STATIC_CONSTANT(int,_typeof_encode_offset = (_Typeof_Iteration*BOOST_TYPEOF_LIMIT_SIZE));\
-            typedef boost::type_of::offset_vector<BOOST_TYPEOF_VECTOR(0)<>,boost::mpl::size_t<self_t::_typeof_encode_offset> > _typeof_start_vector;\
-            BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE,BOOST_TYPEOF_NESTED_TYPEITEM,expr)\
-            template<int Next>\
-            struct _apply_next {\
-                typedef _typeof_encode_fraction<Next> type;\
-            };\
-        };\
-        template<typename Pos>\
-        struct _typeof_fraction_iter {\
-            typedef boost::type_of::generic_typeof_fraction_iter<Pos,_typeof_encode_fraction<0> > self_t;\
-            typedef typename self_t::next next;\
-            typedef typename self_t::type type;\
-        };
-#else
-#define BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr) \
-        template<int _Typeof_Iteration>\
-        struct _typeof_encode_fraction {\
-            typedef _typeof_encode_fraction<_Typeof_Iteration> self_t;\
-            BOOST_STATIC_CONSTANT(int,_typeof_encode_offset = (_Typeof_Iteration*BOOST_TYPEOF_LIMIT_SIZE));\
-            typedef boost::type_of::offset_vector<BOOST_TYPEOF_VECTOR(0)<>,boost::mpl::size_t<self_t::_typeof_encode_offset> > _typeof_start_vector;\
-            BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE,BOOST_TYPEOF_NESTED_TYPEITEM,expr)\
-        };\
-        template<typename Pos>\
-        struct _typeof_fraction_iter {\
-            typedef _typeof_fraction_iter<Pos> self_t;\
-            BOOST_STATIC_CONSTANT(int,pos=(Pos::value));\
-            BOOST_STATIC_CONSTANT(int,iteration=(pos/BOOST_TYPEOF_LIMIT_SIZE));\
-            BOOST_STATIC_CONSTANT(int,where=pos%BOOST_TYPEOF_LIMIT_SIZE);\
-            BOOST_TYPEOF_FRACTIONTYPE()\
-            typedef typename boost::type_of::v_iter<fraction_type,boost::mpl::int_<self_t::where> >::type type;\
-            typedef _typeof_fraction_iter<typename Pos::next> next;\
-        };
-#endif
-#ifdef __MWERKS__
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
-template<typename T>\
-struct BOOST_PP_CAT(_typeof_template_,name) {\
-    BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
-    typedef typename boost::type_of::decode_type<_typeof_fraction_iter<boost::mpl::size_t<0> > >::type type;\
-};\
-typedef BOOST_PP_CAT(_typeof_template_,name)<int> name;
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) BOOST_TYPEOF_NESTED_TYPEDEF(name,expr)
-
-#else
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
-    struct name {\
-        BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
-        typedef typename boost::type_of::decode_type<_typeof_fraction_iter<boost::mpl::size_t<0> > >::type type;\
-    };
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
-    struct name {\
-        BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
-        typedef boost::type_of::decode_type<_typeof_fraction_iter<boost::mpl::size_t<0> > >::type type;\
-    };
-#endif
-
-#endif//BOOST_TYPEOF_COMPLIANT_TYPEOF_IMPL_HPP_INCLUDED
diff --git a/SRC/Boost/boost/typeof/unsupported.hpp b/SRC/Boost/boost/typeof/unsupported.hpp
deleted file mode 100755
index bccb408..0000000
--- a/SRC/Boost/boost/typeof/unsupported.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (C) 2010 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_UNSUPPORTED_HPP_INCLUDED
-#define BOOST_TYPEOF_UNSUPPORTED_HPP_INCLUDED
-
-namespace boost { namespace type_of {
-    struct typeof_emulation_is_unsupported_on_this_compiler {};
-}}
-
-#define BOOST_TYPEOF(expr) boost::type_of::typeof_emulation_is_unsupported_on_this_compiler
-#define BOOST_TYPEOF_TPL BOOST_TYPEOF
-
-#define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
-struct name {\
-    typedef BOOST_TYPEOF_TPL(expr) type;\
-};
-
-#define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
-struct name {\
-    typedef BOOST_TYPEOF(expr) type;\
-};
-
-
-#define BOOST_TYPEOF_REGISTER_TYPE(x)
-#define BOOST_TYPEOF_REGISTER_TEMPLATE(x, params)
-
-#endif
\ No newline at end of file
diff --git a/SRC/Boost/boost/typeof/vector.hpp b/SRC/Boost/boost/typeof/vector.hpp
deleted file mode 100755
index 0d14bd9..0000000
--- a/SRC/Boost/boost/typeof/vector.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-//
-// Copyright (C) 2006 Tobias Schwinger
-//
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_VECTOR_HPP_INCLUDED
-
-#include <boost/mpl/int.hpp>
-#include <boost/preprocessor/iteration/self.hpp>
-
-#ifndef BOOST_TYPEOF_LIMIT_SIZE
-#   define BOOST_TYPEOF_LIMIT_SIZE 50
-#endif
-
-//
-// To recreate the preprocessed versions of this file preprocess and run
-//
-//   $(BOOST_ROOT)/libs/typeof/tools/preprocess.pl
-//
-
-#if defined(BOOST_TYPEOF_PP_INCLUDE_EXTERNAL)
-
-#   undef BOOST_TYPEOF_PP_INCLUDE_EXTERNAL
-
-#elif !defined(BOOST_TYPEOF_PREPROCESSING_MODE) && !BOOST_PP_IS_SELFISH
-
-#   define BOOST_PP_INDIRECT_SELF <boost/typeof/vector.hpp>
-#   if   BOOST_TYPEOF_LIMIT_SIZE < 50
-#     include BOOST_PP_INCLUDE_SELF()
-#   elif BOOST_TYPEOF_LIMIT_SIZE < 100
-#     include <boost/typeof/vector50.hpp>
-#     define  BOOST_TYPEOF_PP_START_SIZE 51
-#     include BOOST_PP_INCLUDE_SELF()
-#   elif BOOST_TYPEOF_LIMIT_SIZE < 150
-#     include <boost/typeof/vector100.hpp>
-#     define  BOOST_TYPEOF_PP_START_SIZE 101
-#     include BOOST_PP_INCLUDE_SELF()
-#   elif BOOST_TYPEOF_LIMIT_SIZE < 200
-#     include <boost/typeof/vector150.hpp>
-#     define  BOOST_TYPEOF_PP_START_SIZE 151
-#     include BOOST_PP_INCLUDE_SELF()
-#   elif BOOST_TYPEOF_LIMIT_SIZE <= 250
-#     include <boost/typeof/vector200.hpp>
-#     define  BOOST_TYPEOF_PP_START_SIZE 201
-#     include BOOST_PP_INCLUDE_SELF()
-#   else
-#     error "BOOST_TYPEOF_LIMIT_SIZE too high"
-#   endif
-
-#else// defined(BOOST_TYPEOF_PREPROCESSING_MODE) || BOOST_PP_IS_SELFISH
-
-#   ifndef BOOST_TYPEOF_PP_NEXT_SIZE
-#     define BOOST_TYPEOF_PP_NEXT_SIZE BOOST_TYPEOF_LIMIT_SIZE
-#   endif
-#   ifndef BOOST_TYPEOF_PP_START_SIZE
-#     define BOOST_TYPEOF_PP_START_SIZE 0
-#   endif
-
-#   if BOOST_TYPEOF_PP_START_SIZE <= BOOST_TYPEOF_LIMIT_SIZE
-
-#     include <boost/preprocessor/enum_params.hpp>
-#     include <boost/preprocessor/repeat.hpp>
-#     include <boost/preprocessor/repeat_from_to.hpp>
-#     include <boost/preprocessor/cat.hpp>
-#     include <boost/preprocessor/inc.hpp>
-#     include <boost/preprocessor/dec.hpp>
-#     include <boost/preprocessor/comma_if.hpp>
-#     include <boost/preprocessor/iteration/local.hpp>
-#     include <boost/preprocessor/control/expr_iif.hpp>
-#     include <boost/preprocessor/logical/not.hpp>
-
-// iterator
-
-#     define BOOST_TYPEOF_spec_iter(n)\
-        template<class V>\
-        struct v_iter<V, mpl::int_<n> >\
-        {\
-            typedef typename V::item ## n type;\
-            typedef v_iter<V, mpl::int_<n + 1> > next;\
-        };
-
-namespace boost { namespace type_of {
-
-    template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter; // not defined
-#     define  BOOST_PP_LOCAL_MACRO  BOOST_TYPEOF_spec_iter
-#     define  BOOST_PP_LOCAL_LIMITS \
-        (BOOST_PP_DEC(BOOST_TYPEOF_PP_START_SIZE), \
-         BOOST_PP_DEC(BOOST_TYPEOF_LIMIT_SIZE))
-#     include BOOST_PP_LOCAL_ITERATE()
-
-}}
-
-#     undef BOOST_TYPEOF_spec_iter
-
-// vector
-
-#     define BOOST_TYPEOF_typedef_item(z, n, _)\
-        typedef P ## n item ## n;
-
-#     define BOOST_TYPEOF_typedef_fake_item(z, n, _)\
-        typedef mpl::int_<1> item ## n;
-
-#     define BOOST_TYPEOF_define_vector(n)\
-        template<BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IIF(BOOST_PP_NOT(n), class T = void)>\
-        struct vector ## n\
-        {\
-            typedef v_iter<vector ## n<BOOST_PP_ENUM_PARAMS(n,P)>, boost::mpl::int_<0> > begin;\
-            BOOST_PP_REPEAT(n, BOOST_TYPEOF_typedef_item, ~)\
-            BOOST_PP_REPEAT_FROM_TO(n, BOOST_TYPEOF_PP_NEXT_SIZE, BOOST_TYPEOF_typedef_fake_item, ~)\
-        };
-
-namespace boost { namespace type_of {
-
-#     define  BOOST_PP_LOCAL_MACRO  BOOST_TYPEOF_define_vector
-#     define  BOOST_PP_LOCAL_LIMITS \
-        (BOOST_TYPEOF_PP_START_SIZE,BOOST_TYPEOF_LIMIT_SIZE)
-#     include BOOST_PP_LOCAL_ITERATE()
-
-}}
-
-#     undef BOOST_TYPEOF_typedef_item
-#     undef BOOST_TYPEOF_typedef_fake_item
-#     undef BOOST_TYPEOF_define_vector
-
-// push_back
-
-#     define BOOST_TYPEOF_spec_push_back(n)\
-        template<BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_COMMA_IF(n) class T>\
-        struct push_back<BOOST_PP_CAT(boost::type_of::vector, n)<BOOST_PP_ENUM_PARAMS(n, P)>, T>\
-        {\
-            typedef BOOST_PP_CAT(boost::type_of::vector, BOOST_PP_INC(n))<\
-                BOOST_PP_ENUM_PARAMS(n, P) BOOST_PP_COMMA_IF(n) T\
-            > type;\
-        };
-
-namespace boost { namespace type_of {
-
-#   if   BOOST_TYPEOF_LIMIT_SIZE < 50
-    template<class V, class T> struct push_back {
-        typedef V type;
-    };
-#   endif
-    //default behaviour is to let push_back ignore T, and return the input vector.
-    //This is to let BOOST_TYPEOF_NESTED_TYPEDEF work properly with the default vector.
-#     define  BOOST_PP_LOCAL_MACRO  BOOST_TYPEOF_spec_push_back
-#     define  BOOST_PP_LOCAL_LIMITS \
-        (BOOST_PP_DEC(BOOST_TYPEOF_PP_START_SIZE), \
-         BOOST_PP_DEC(BOOST_TYPEOF_LIMIT_SIZE))
-#     include BOOST_PP_LOCAL_ITERATE()
-
-}}
-
-#     undef BOOST_TYPEOF_spec_push_back
-
-#   endif//BOOST_TYPEOF_PP_START_SIZE<=BOOST_TYPEOF_LIMIT_SIZE
-#   undef  BOOST_TYPEOF_PP_START_SIZE
-#   undef  BOOST_TYPEOF_PP_NEXT_SIZE
-
-#endif//BOOST_TYPEOF_PREPROCESSING_MODE || BOOST_PP_IS_SELFISH
-
-#define BOOST_TYPEOF_VECTOR_HPP_INCLUDED
-#endif//BOOST_TYPEOF_VECTOR_HPP_INCLUDED
-
diff --git a/SRC/Boost/boost/typeof/vector100.hpp b/SRC/Boost/boost/typeof/vector100.hpp
deleted file mode 100755
index ef1873e..0000000
--- a/SRC/Boost/boost/typeof/vector100.hpp
+++ /dev/null
@@ -1,321 +0,0 @@
-
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-// Preprocessed code, do not edit manually !
-
-
-namespace boost { namespace type_of {
-    template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
-        template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<3> > { typedef typename V::item3 type; typedef v_iter<V, mpl::int_<3 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<4> > { typedef typename V::item4 type; typedef v_iter<V, mpl::int_<4 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<5> > { typedef typename V::item5 type; typedef v_iter<V, mpl::int_<5 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<6> > { typedef typename V::item6 type; typedef v_iter<V, mpl::int_<6 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<7> > { typedef typename V::item7 type; typedef v_iter<V, mpl::int_<7 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<8> > { typedef typename V::item8 type; typedef v_iter<V, mpl::int_<8 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<9> > { typedef typename V::item9 type; typedef v_iter<V, mpl::int_<9 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<10> > { typedef typename V::item10 type; typedef v_iter<V, mpl::int_<10 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<11> > { typedef typename V::item11 type; typedef v_iter<V, mpl::int_<11 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<12> > { typedef typename V::item12 type; typedef v_iter<V, mpl::int_<12 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<13> > { typedef typename V::item13 type; typedef v_iter<V, mpl::int_<13 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<14> > { typedef typename V::item14 type; typedef v_iter<V, mpl::int_<14 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<15> > { typedef typename V::item15 type; typedef v_iter<V, mpl::int_<15 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<16> > { typedef typename V::item16 type; typedef v_iter<V, mpl::int_<16 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<17> > { typedef typename V::item17 type; typedef v_iter<V, mpl::int_<17 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<18> > { typedef typename V::item18 type; typedef v_iter<V, mpl::int_<18 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<19> > { typedef typename V::item19 type; typedef v_iter<V, mpl::int_<19 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<20> > { typedef typename V::item20 type; typedef v_iter<V, mpl::int_<20 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<21> > { typedef typename V::item21 type; typedef v_iter<V, mpl::int_<21 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<22> > { typedef typename V::item22 type; typedef v_iter<V, mpl::int_<22 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<23> > { typedef typename V::item23 type; typedef v_iter<V, mpl::int_<23 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<24> > { typedef typename V::item24 type; typedef v_iter<V, mpl::int_<24 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<25> > { typedef typename V::item25 type; typedef v_iter<V, mpl::int_<25 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<26> > { typedef typename V::item26 type; typedef v_iter<V, mpl::int_<26 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<27> > { typedef typename V::item27 type; typedef v_iter<V, mpl::int_<27 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<28> > { typedef typename V::item28 type; typedef v_iter<V, mpl::int_<28 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<29> > { typedef typename V::item29 type; typedef v_iter<V, mpl::int_<29 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<30> > { typedef typename V::item30 type; typedef v_iter<V, mpl::int_<30 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<31> > { typedef typename V::item31 type; typedef v_iter<V, mpl::int_<31 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<32> > { typedef typename V::item32 type; typedef v_iter<V, mpl::int_<32 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<33> > { typedef typename V::item33 type; typedef v_iter<V, mpl::int_<33 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<34> > { typedef typename V::item34 type; typedef v_iter<V, mpl::int_<34 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<35> > { typedef typename V::item35 type; typedef v_iter<V, mpl::int_<35 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<36> > { typedef typename V::item36 type; typedef v_iter<V, mpl::int_<36 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<37> > { typedef typename V::item37 type; typedef v_iter<V, mpl::int_<37 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<38> > { typedef typename V::item38 type; typedef v_iter<V, mpl::int_<38 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<39> > { typedef typename V::item39 type; typedef v_iter<V, mpl::int_<39 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<40> > { typedef typename V::item40 type; typedef v_iter<V, mpl::int_<40 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<41> > { typedef typename V::item41 type; typedef v_iter<V, mpl::int_<41 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<42> > { typedef typename V::item42 type; typedef v_iter<V, mpl::int_<42 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<43> > { typedef typename V::item43 type; typedef v_iter<V, mpl::int_<43 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<44> > { typedef typename V::item44 type; typedef v_iter<V, mpl::int_<44 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<45> > { typedef typename V::item45 type; typedef v_iter<V, mpl::int_<45 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<46> > { typedef typename V::item46 type; typedef v_iter<V, mpl::int_<46 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<47> > { typedef typename V::item47 type; typedef v_iter<V, mpl::int_<47 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<48> > { typedef typename V::item48 type; typedef v_iter<V, mpl::int_<48 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<49> > { typedef typename V::item49 type; typedef v_iter<V, mpl::int_<49 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<50> > { typedef typename V::item50 type; typedef v_iter<V, mpl::int_<50 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<51> > { typedef typename V::item51 type; typedef v_iter<V, mpl::int_<51 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<52> > { typedef typename V::item52 type; typedef v_iter<V, mpl::int_<52 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<53> > { typedef typename V::item53 type; typedef v_iter<V, mpl::int_<53 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<54> > { typedef typename V::item54 type; typedef v_iter<V, mpl::int_<54 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<55> > { typedef typename V::item55 type; typedef v_iter<V, mpl::int_<55 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<56> > { typedef typename V::item56 type; typedef v_iter<V, mpl::int_<56 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<57> > { typedef typename V::item57 type; typedef v_iter<V, mpl::int_<57 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<58> > { typedef typename V::item58 type; typedef v_iter<V, mpl::int_<58 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<59> > { typedef typename V::item59 type; typedef v_iter<V, mpl::int_<59 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<60> > { typedef typename V::item60 type; typedef v_iter<V, mpl::int_<60 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<61> > { typedef typename V::item61 type; typedef v_iter<V, mpl::int_<61 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<62> > { typedef typename V::item62 type; typedef v_iter<V, mpl::int_<62 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<63> > { typedef typename V::item63 type; typedef v_iter<V, mpl::int_<63 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<64> > { typedef typename V::item64 type; typedef v_iter<V, mpl::int_<64 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<65> > { typedef typename V::item65 type; typedef v_iter<V, mpl::int_<65 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<66> > { typedef typename V::item66 type; typedef v_iter<V, mpl::int_<66 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<67> > { typedef typename V::item67 type; typedef v_iter<V, mpl::int_<67 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<68> > { typedef typename V::item68 type; typedef v_iter<V, mpl::int_<68 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<69> > { typedef typename V::item69 type; typedef v_iter<V, mpl::int_<69 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<70> > { typedef typename V::item70 type; typedef v_iter<V, mpl::int_<70 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<71> > { typedef typename V::item71 type; typedef v_iter<V, mpl::int_<71 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<72> > { typedef typename V::item72 type; typedef v_iter<V, mpl::int_<72 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<73> > { typedef typename V::item73 type; typedef v_iter<V, mpl::int_<73 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<74> > { typedef typename V::item74 type; typedef v_iter<V, mpl::int_<74 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<75> > { typedef typename V::item75 type; typedef v_iter<V, mpl::int_<75 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<76> > { typedef typename V::item76 type; typedef v_iter<V, mpl::int_<76 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<77> > { typedef typename V::item77 type; typedef v_iter<V, mpl::int_<77 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<78> > { typedef typename V::item78 type; typedef v_iter<V, mpl::int_<78 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<79> > { typedef typename V::item79 type; typedef v_iter<V, mpl::int_<79 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<80> > { typedef typename V::item80 type; typedef v_iter<V, mpl::int_<80 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<81> > { typedef typename V::item81 type; typedef v_iter<V, mpl::int_<81 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<82> > { typedef typename V::item82 type; typedef v_iter<V, mpl::int_<82 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<83> > { typedef typename V::item83 type; typedef v_iter<V, mpl::int_<83 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<84> > { typedef typename V::item84 type; typedef v_iter<V, mpl::int_<84 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<85> > { typedef typename V::item85 type; typedef v_iter<V, mpl::int_<85 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<86> > { typedef typename V::item86 type; typedef v_iter<V, mpl::int_<86 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<87> > { typedef typename V::item87 type; typedef v_iter<V, mpl::int_<87 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<88> > { typedef typename V::item88 type; typedef v_iter<V, mpl::int_<88 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<89> > { typedef typename V::item89 type; typedef v_iter<V, mpl::int_<89 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<90> > { typedef typename V::item90 type; typedef v_iter<V, mpl::int_<90 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<91> > { typedef typename V::item91 type; typedef v_iter<V, mpl::int_<91 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<92> > { typedef typename V::item92 type; typedef v_iter<V, mpl::int_<92 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<93> > { typedef typename V::item93 type; typedef v_iter<V, mpl::int_<93 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<94> > { typedef typename V::item94 type; typedef v_iter<V, mpl::int_<94 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<95> > { typedef typename V::item95 type; typedef v_iter<V, mpl::int_<95 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<96> > { typedef typename V::item96 type; typedef v_iter<V, mpl::int_<96 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<97> > { typedef typename V::item97 type; typedef v_iter<V, mpl::int_<97 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<98> > { typedef typename V::item98 type; typedef v_iter<V, mpl::int_<98 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<99> > { typedef typename V::item99 type; typedef v_iter<V, mpl::int_<99 + 1> > next; };
-}}
-namespace boost { namespace type_of {
-        template< class T = void> struct vector0 { typedef v_iter<vector0<>, boost::mpl::int_<0> > begin; typedef mpl::int_<1> item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
-        template< class P0 > struct vector1 { typedef v_iter<vector1< P0>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; ty [...]
-        template< class P0 , class P1 > struct vector2 { typedef v_iter<vector2< P0 , P1>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item [...]
-        template< class P0 , class P1 , class P2 > struct vector3 { typedef v_iter<vector3< P0 , P1 , P2>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
-        template< class P0 , class P1 , class P2 , class P3 > struct vector4 { typedef v_iter<vector4< P0 , P1 , P2 , P3>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl:: [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 > struct vector5 { typedef v_iter<vector5< P0 , P1 , P2 , P3 , P4>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 > struct vector6 { typedef v_iter<vector6< P0 , P1 , P2 , P3 , P4 , P5>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; t [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > struct vector7 { typedef v_iter<vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> ite [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > struct vector8 { typedef v_iter<vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_< [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > struct vector9 { typedef v_iter<vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl: [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 > struct vector10 { typedef v_iter<vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; type [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 > struct vector11 { typedef v_iter<vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef mpl::int_<1> ite [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 > struct vector12 { typedef v_iter<vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typede [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 > struct vector13 { typedef v_iter<vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 > struct vector14 { typedef v_iter<vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 > struct vector15 { typedef v_iter<vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 > struct vector16 { typedef v_iter<vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 > struct vector17 { typedef v_iter<vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 > struct vector18 { typedef v_iter<vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 > struct vector19 { typedef v_iter<vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 > struct vector20 { typedef v_iter<vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 > struct vector21 { typedef v_iter<vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 > struct vector22 { typedef v_iter<vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 > struct vector23 { typedef v_iter<vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, boost::mpl::int_<0> > begin; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 > struct vector24 { typedef v_iter<vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, boost::mpl::int_<0> [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 > struct vector25 { typedef v_iter<vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24>, b [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 > struct vector26 { typedef v_iter<vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 > struct vector27 { typedef v_iter<vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 > struct vector28 { typedef v_iter<vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 > struct vector29 { typedef v_iter<vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 > struct vector30 { typedef v_iter<vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 > struct vector31 { typedef v_iter<vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 > struct vector32 { typedef v_iter<vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 > struct vector33 { typedef v_iter<vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 ,  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 > struct vector34 { typedef v_iter<vector34< P0 , P1 , P2 , P3 , P4 , P5 , P6  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 > struct vector35 { typedef v_iter<vector35< P0 , P1 , P2 , P3 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 > struct vector36 { typedef v_iter<vector36< P0 , P1 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 > struct vector37 { typedef v_iter<vector3 [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 > struct vector38 { typedef v_ [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 > struct vector39  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 > stru [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
-namespace boost { namespace type_of {
-    template<class V, class T> struct push_back {
-        typedef V type;
-    };
-        template< class T> struct push_back<boost::type_of::vector0<>, T> { typedef boost::type_of::vector1< T > type; };
-        template< class P0 , class T> struct push_back<boost::type_of::vector1< P0>, T> { typedef boost::type_of::vector2< P0 , T > type; };
-        template< class P0 , class P1 , class T> struct push_back<boost::type_of::vector2< P0 , P1>, T> { typedef boost::type_of::vector3< P0 , P1 , T > type; };
-        template< class P0 , class P1 , class P2 , class T> struct push_back<boost::type_of::vector3< P0 , P1 , P2>, T> { typedef boost::type_of::vector4< P0 , P1 , P2 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class T> struct push_back<boost::type_of::vector4< P0 , P1 , P2 , P3>, T> { typedef boost::type_of::vector5< P0 , P1 , P2 , P3 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class T> struct push_back<boost::type_of::vector5< P0 , P1 , P2 , P3 , P4>, T> { typedef boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class T> struct push_back<boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , P5>, T> { typedef boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class T> struct push_back<boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, T> { typedef boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class T> struct push_back<boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, T> { typedef boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class T> struct push_back<boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, T> { typedef boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class T> struct push_back<boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, T> { typedef boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class T> struct push_back<boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, T> { typedef boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class T> struct push_back<boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, T> { typedef boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class T> struct push_back<boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, T> { typedef boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class T> struct push_back<boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, T> { typedef boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class T> struct push_back<boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, T> { typedef boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class T> struct push_back<boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, T> { typedef boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class T> struct push_back<boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, T> { typedef boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , T > t [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class T> struct push_back<boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, T> { typedef boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class T> struct push_back<boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, T> { typedef boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class T> struct push_back<boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, T> { typedef boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class T> struct push_back<boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, T> { typedef boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 ,  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class T> struct push_back<boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, T> { typedef boost::type_of::vector23< P0 , P1 [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class T> struct push_back<boost::type_of::vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, T> { typedef boost::type_of: [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class T> struct push_back<boost::type_of::vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, T> { typed [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class T> struct push_back<boost::type_of::vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class T> struct push_back<boost::type_of::vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class T> struct push_back<boost::type_of::vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class T> struct push_back<boost::type_of::vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class T> struct push_back<boost::type_of::vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class T> struct push_back<boost::type_of::vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class T> struct push_back<boost::type_of::vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class T> struct push_back<boost::type_of::vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class T> struct push_back<boost::type_of::vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class T> struct push_back<boost::type_of::vector34< P0 , P1 , P2 , P3 , P4 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class T> struct push_back<boost::type_of::vector35< P0 , P1 , P2 [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class T> struct push_back<boost::type_of::vector36<  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class T> struct push_back<boost::type_of [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class T> struct push_back<bo [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class T> struct  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
diff --git a/SRC/Boost/boost/typeof/vector150.hpp b/SRC/Boost/boost/typeof/vector150.hpp
deleted file mode 100755
index 45bb30d..0000000
--- a/SRC/Boost/boost/typeof/vector150.hpp
+++ /dev/null
@@ -1,471 +0,0 @@
-
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-// Preprocessed code, do not edit manually !
-
-
-namespace boost { namespace type_of {
-    template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
-        template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<3> > { typedef typename V::item3 type; typedef v_iter<V, mpl::int_<3 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<4> > { typedef typename V::item4 type; typedef v_iter<V, mpl::int_<4 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<5> > { typedef typename V::item5 type; typedef v_iter<V, mpl::int_<5 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<6> > { typedef typename V::item6 type; typedef v_iter<V, mpl::int_<6 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<7> > { typedef typename V::item7 type; typedef v_iter<V, mpl::int_<7 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<8> > { typedef typename V::item8 type; typedef v_iter<V, mpl::int_<8 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<9> > { typedef typename V::item9 type; typedef v_iter<V, mpl::int_<9 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<10> > { typedef typename V::item10 type; typedef v_iter<V, mpl::int_<10 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<11> > { typedef typename V::item11 type; typedef v_iter<V, mpl::int_<11 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<12> > { typedef typename V::item12 type; typedef v_iter<V, mpl::int_<12 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<13> > { typedef typename V::item13 type; typedef v_iter<V, mpl::int_<13 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<14> > { typedef typename V::item14 type; typedef v_iter<V, mpl::int_<14 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<15> > { typedef typename V::item15 type; typedef v_iter<V, mpl::int_<15 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<16> > { typedef typename V::item16 type; typedef v_iter<V, mpl::int_<16 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<17> > { typedef typename V::item17 type; typedef v_iter<V, mpl::int_<17 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<18> > { typedef typename V::item18 type; typedef v_iter<V, mpl::int_<18 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<19> > { typedef typename V::item19 type; typedef v_iter<V, mpl::int_<19 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<20> > { typedef typename V::item20 type; typedef v_iter<V, mpl::int_<20 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<21> > { typedef typename V::item21 type; typedef v_iter<V, mpl::int_<21 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<22> > { typedef typename V::item22 type; typedef v_iter<V, mpl::int_<22 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<23> > { typedef typename V::item23 type; typedef v_iter<V, mpl::int_<23 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<24> > { typedef typename V::item24 type; typedef v_iter<V, mpl::int_<24 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<25> > { typedef typename V::item25 type; typedef v_iter<V, mpl::int_<25 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<26> > { typedef typename V::item26 type; typedef v_iter<V, mpl::int_<26 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<27> > { typedef typename V::item27 type; typedef v_iter<V, mpl::int_<27 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<28> > { typedef typename V::item28 type; typedef v_iter<V, mpl::int_<28 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<29> > { typedef typename V::item29 type; typedef v_iter<V, mpl::int_<29 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<30> > { typedef typename V::item30 type; typedef v_iter<V, mpl::int_<30 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<31> > { typedef typename V::item31 type; typedef v_iter<V, mpl::int_<31 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<32> > { typedef typename V::item32 type; typedef v_iter<V, mpl::int_<32 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<33> > { typedef typename V::item33 type; typedef v_iter<V, mpl::int_<33 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<34> > { typedef typename V::item34 type; typedef v_iter<V, mpl::int_<34 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<35> > { typedef typename V::item35 type; typedef v_iter<V, mpl::int_<35 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<36> > { typedef typename V::item36 type; typedef v_iter<V, mpl::int_<36 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<37> > { typedef typename V::item37 type; typedef v_iter<V, mpl::int_<37 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<38> > { typedef typename V::item38 type; typedef v_iter<V, mpl::int_<38 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<39> > { typedef typename V::item39 type; typedef v_iter<V, mpl::int_<39 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<40> > { typedef typename V::item40 type; typedef v_iter<V, mpl::int_<40 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<41> > { typedef typename V::item41 type; typedef v_iter<V, mpl::int_<41 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<42> > { typedef typename V::item42 type; typedef v_iter<V, mpl::int_<42 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<43> > { typedef typename V::item43 type; typedef v_iter<V, mpl::int_<43 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<44> > { typedef typename V::item44 type; typedef v_iter<V, mpl::int_<44 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<45> > { typedef typename V::item45 type; typedef v_iter<V, mpl::int_<45 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<46> > { typedef typename V::item46 type; typedef v_iter<V, mpl::int_<46 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<47> > { typedef typename V::item47 type; typedef v_iter<V, mpl::int_<47 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<48> > { typedef typename V::item48 type; typedef v_iter<V, mpl::int_<48 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<49> > { typedef typename V::item49 type; typedef v_iter<V, mpl::int_<49 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<50> > { typedef typename V::item50 type; typedef v_iter<V, mpl::int_<50 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<51> > { typedef typename V::item51 type; typedef v_iter<V, mpl::int_<51 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<52> > { typedef typename V::item52 type; typedef v_iter<V, mpl::int_<52 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<53> > { typedef typename V::item53 type; typedef v_iter<V, mpl::int_<53 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<54> > { typedef typename V::item54 type; typedef v_iter<V, mpl::int_<54 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<55> > { typedef typename V::item55 type; typedef v_iter<V, mpl::int_<55 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<56> > { typedef typename V::item56 type; typedef v_iter<V, mpl::int_<56 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<57> > { typedef typename V::item57 type; typedef v_iter<V, mpl::int_<57 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<58> > { typedef typename V::item58 type; typedef v_iter<V, mpl::int_<58 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<59> > { typedef typename V::item59 type; typedef v_iter<V, mpl::int_<59 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<60> > { typedef typename V::item60 type; typedef v_iter<V, mpl::int_<60 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<61> > { typedef typename V::item61 type; typedef v_iter<V, mpl::int_<61 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<62> > { typedef typename V::item62 type; typedef v_iter<V, mpl::int_<62 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<63> > { typedef typename V::item63 type; typedef v_iter<V, mpl::int_<63 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<64> > { typedef typename V::item64 type; typedef v_iter<V, mpl::int_<64 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<65> > { typedef typename V::item65 type; typedef v_iter<V, mpl::int_<65 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<66> > { typedef typename V::item66 type; typedef v_iter<V, mpl::int_<66 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<67> > { typedef typename V::item67 type; typedef v_iter<V, mpl::int_<67 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<68> > { typedef typename V::item68 type; typedef v_iter<V, mpl::int_<68 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<69> > { typedef typename V::item69 type; typedef v_iter<V, mpl::int_<69 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<70> > { typedef typename V::item70 type; typedef v_iter<V, mpl::int_<70 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<71> > { typedef typename V::item71 type; typedef v_iter<V, mpl::int_<71 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<72> > { typedef typename V::item72 type; typedef v_iter<V, mpl::int_<72 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<73> > { typedef typename V::item73 type; typedef v_iter<V, mpl::int_<73 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<74> > { typedef typename V::item74 type; typedef v_iter<V, mpl::int_<74 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<75> > { typedef typename V::item75 type; typedef v_iter<V, mpl::int_<75 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<76> > { typedef typename V::item76 type; typedef v_iter<V, mpl::int_<76 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<77> > { typedef typename V::item77 type; typedef v_iter<V, mpl::int_<77 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<78> > { typedef typename V::item78 type; typedef v_iter<V, mpl::int_<78 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<79> > { typedef typename V::item79 type; typedef v_iter<V, mpl::int_<79 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<80> > { typedef typename V::item80 type; typedef v_iter<V, mpl::int_<80 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<81> > { typedef typename V::item81 type; typedef v_iter<V, mpl::int_<81 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<82> > { typedef typename V::item82 type; typedef v_iter<V, mpl::int_<82 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<83> > { typedef typename V::item83 type; typedef v_iter<V, mpl::int_<83 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<84> > { typedef typename V::item84 type; typedef v_iter<V, mpl::int_<84 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<85> > { typedef typename V::item85 type; typedef v_iter<V, mpl::int_<85 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<86> > { typedef typename V::item86 type; typedef v_iter<V, mpl::int_<86 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<87> > { typedef typename V::item87 type; typedef v_iter<V, mpl::int_<87 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<88> > { typedef typename V::item88 type; typedef v_iter<V, mpl::int_<88 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<89> > { typedef typename V::item89 type; typedef v_iter<V, mpl::int_<89 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<90> > { typedef typename V::item90 type; typedef v_iter<V, mpl::int_<90 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<91> > { typedef typename V::item91 type; typedef v_iter<V, mpl::int_<91 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<92> > { typedef typename V::item92 type; typedef v_iter<V, mpl::int_<92 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<93> > { typedef typename V::item93 type; typedef v_iter<V, mpl::int_<93 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<94> > { typedef typename V::item94 type; typedef v_iter<V, mpl::int_<94 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<95> > { typedef typename V::item95 type; typedef v_iter<V, mpl::int_<95 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<96> > { typedef typename V::item96 type; typedef v_iter<V, mpl::int_<96 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<97> > { typedef typename V::item97 type; typedef v_iter<V, mpl::int_<97 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<98> > { typedef typename V::item98 type; typedef v_iter<V, mpl::int_<98 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<99> > { typedef typename V::item99 type; typedef v_iter<V, mpl::int_<99 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<100> > { typedef typename V::item100 type; typedef v_iter<V, mpl::int_<100 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<101> > { typedef typename V::item101 type; typedef v_iter<V, mpl::int_<101 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<102> > { typedef typename V::item102 type; typedef v_iter<V, mpl::int_<102 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<103> > { typedef typename V::item103 type; typedef v_iter<V, mpl::int_<103 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<104> > { typedef typename V::item104 type; typedef v_iter<V, mpl::int_<104 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<105> > { typedef typename V::item105 type; typedef v_iter<V, mpl::int_<105 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<106> > { typedef typename V::item106 type; typedef v_iter<V, mpl::int_<106 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<107> > { typedef typename V::item107 type; typedef v_iter<V, mpl::int_<107 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<108> > { typedef typename V::item108 type; typedef v_iter<V, mpl::int_<108 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<109> > { typedef typename V::item109 type; typedef v_iter<V, mpl::int_<109 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<110> > { typedef typename V::item110 type; typedef v_iter<V, mpl::int_<110 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<111> > { typedef typename V::item111 type; typedef v_iter<V, mpl::int_<111 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<112> > { typedef typename V::item112 type; typedef v_iter<V, mpl::int_<112 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<113> > { typedef typename V::item113 type; typedef v_iter<V, mpl::int_<113 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<114> > { typedef typename V::item114 type; typedef v_iter<V, mpl::int_<114 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<115> > { typedef typename V::item115 type; typedef v_iter<V, mpl::int_<115 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<116> > { typedef typename V::item116 type; typedef v_iter<V, mpl::int_<116 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<117> > { typedef typename V::item117 type; typedef v_iter<V, mpl::int_<117 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<118> > { typedef typename V::item118 type; typedef v_iter<V, mpl::int_<118 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<119> > { typedef typename V::item119 type; typedef v_iter<V, mpl::int_<119 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<120> > { typedef typename V::item120 type; typedef v_iter<V, mpl::int_<120 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<121> > { typedef typename V::item121 type; typedef v_iter<V, mpl::int_<121 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<122> > { typedef typename V::item122 type; typedef v_iter<V, mpl::int_<122 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<123> > { typedef typename V::item123 type; typedef v_iter<V, mpl::int_<123 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<124> > { typedef typename V::item124 type; typedef v_iter<V, mpl::int_<124 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<125> > { typedef typename V::item125 type; typedef v_iter<V, mpl::int_<125 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<126> > { typedef typename V::item126 type; typedef v_iter<V, mpl::int_<126 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<127> > { typedef typename V::item127 type; typedef v_iter<V, mpl::int_<127 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<128> > { typedef typename V::item128 type; typedef v_iter<V, mpl::int_<128 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<129> > { typedef typename V::item129 type; typedef v_iter<V, mpl::int_<129 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<130> > { typedef typename V::item130 type; typedef v_iter<V, mpl::int_<130 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<131> > { typedef typename V::item131 type; typedef v_iter<V, mpl::int_<131 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<132> > { typedef typename V::item132 type; typedef v_iter<V, mpl::int_<132 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<133> > { typedef typename V::item133 type; typedef v_iter<V, mpl::int_<133 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<134> > { typedef typename V::item134 type; typedef v_iter<V, mpl::int_<134 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<135> > { typedef typename V::item135 type; typedef v_iter<V, mpl::int_<135 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<136> > { typedef typename V::item136 type; typedef v_iter<V, mpl::int_<136 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<137> > { typedef typename V::item137 type; typedef v_iter<V, mpl::int_<137 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<138> > { typedef typename V::item138 type; typedef v_iter<V, mpl::int_<138 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<139> > { typedef typename V::item139 type; typedef v_iter<V, mpl::int_<139 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<140> > { typedef typename V::item140 type; typedef v_iter<V, mpl::int_<140 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<141> > { typedef typename V::item141 type; typedef v_iter<V, mpl::int_<141 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<142> > { typedef typename V::item142 type; typedef v_iter<V, mpl::int_<142 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<143> > { typedef typename V::item143 type; typedef v_iter<V, mpl::int_<143 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<144> > { typedef typename V::item144 type; typedef v_iter<V, mpl::int_<144 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<145> > { typedef typename V::item145 type; typedef v_iter<V, mpl::int_<145 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<146> > { typedef typename V::item146 type; typedef v_iter<V, mpl::int_<146 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<147> > { typedef typename V::item147 type; typedef v_iter<V, mpl::int_<147 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<148> > { typedef typename V::item148 type; typedef v_iter<V, mpl::int_<148 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<149> > { typedef typename V::item149 type; typedef v_iter<V, mpl::int_<149 + 1> > next; };
-}}
-namespace boost { namespace type_of {
-        template< class T = void> struct vector0 { typedef v_iter<vector0<>, boost::mpl::int_<0> > begin; typedef mpl::int_<1> item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
-        template< class P0 > struct vector1 { typedef v_iter<vector1< P0>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; ty [...]
-        template< class P0 , class P1 > struct vector2 { typedef v_iter<vector2< P0 , P1>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item [...]
-        template< class P0 , class P1 , class P2 > struct vector3 { typedef v_iter<vector3< P0 , P1 , P2>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
-        template< class P0 , class P1 , class P2 , class P3 > struct vector4 { typedef v_iter<vector4< P0 , P1 , P2 , P3>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl:: [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 > struct vector5 { typedef v_iter<vector5< P0 , P1 , P2 , P3 , P4>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 > struct vector6 { typedef v_iter<vector6< P0 , P1 , P2 , P3 , P4 , P5>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; t [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > struct vector7 { typedef v_iter<vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> ite [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > struct vector8 { typedef v_iter<vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_< [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > struct vector9 { typedef v_iter<vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl: [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 > struct vector10 { typedef v_iter<vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; type [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 > struct vector11 { typedef v_iter<vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef mpl::int_<1> ite [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 > struct vector12 { typedef v_iter<vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typede [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 > struct vector13 { typedef v_iter<vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 > struct vector14 { typedef v_iter<vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 > struct vector15 { typedef v_iter<vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 > struct vector16 { typedef v_iter<vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 > struct vector17 { typedef v_iter<vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 > struct vector18 { typedef v_iter<vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 > struct vector19 { typedef v_iter<vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 > struct vector20 { typedef v_iter<vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 > struct vector21 { typedef v_iter<vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 > struct vector22 { typedef v_iter<vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 > struct vector23 { typedef v_iter<vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, boost::mpl::int_<0> > begin; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 > struct vector24 { typedef v_iter<vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, boost::mpl::int_<0> [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 > struct vector25 { typedef v_iter<vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24>, b [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 > struct vector26 { typedef v_iter<vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 > struct vector27 { typedef v_iter<vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 > struct vector28 { typedef v_iter<vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 > struct vector29 { typedef v_iter<vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 > struct vector30 { typedef v_iter<vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 > struct vector31 { typedef v_iter<vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 > struct vector32 { typedef v_iter<vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 > struct vector33 { typedef v_iter<vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 ,  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 > struct vector34 { typedef v_iter<vector34< P0 , P1 , P2 , P3 , P4 , P5 , P6  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 > struct vector35 { typedef v_iter<vector35< P0 , P1 , P2 , P3 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 > struct vector36 { typedef v_iter<vector36< P0 , P1 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 > struct vector37 { typedef v_iter<vector3 [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 > struct vector38 { typedef v_ [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 > struct vector39  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 > stru [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
-namespace boost { namespace type_of {
-    template<class V, class T> struct push_back {
-        typedef V type;
-    };
-        template< class T> struct push_back<boost::type_of::vector0<>, T> { typedef boost::type_of::vector1< T > type; };
-        template< class P0 , class T> struct push_back<boost::type_of::vector1< P0>, T> { typedef boost::type_of::vector2< P0 , T > type; };
-        template< class P0 , class P1 , class T> struct push_back<boost::type_of::vector2< P0 , P1>, T> { typedef boost::type_of::vector3< P0 , P1 , T > type; };
-        template< class P0 , class P1 , class P2 , class T> struct push_back<boost::type_of::vector3< P0 , P1 , P2>, T> { typedef boost::type_of::vector4< P0 , P1 , P2 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class T> struct push_back<boost::type_of::vector4< P0 , P1 , P2 , P3>, T> { typedef boost::type_of::vector5< P0 , P1 , P2 , P3 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class T> struct push_back<boost::type_of::vector5< P0 , P1 , P2 , P3 , P4>, T> { typedef boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class T> struct push_back<boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , P5>, T> { typedef boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class T> struct push_back<boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, T> { typedef boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class T> struct push_back<boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, T> { typedef boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class T> struct push_back<boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, T> { typedef boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class T> struct push_back<boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, T> { typedef boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class T> struct push_back<boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, T> { typedef boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class T> struct push_back<boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, T> { typedef boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class T> struct push_back<boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, T> { typedef boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class T> struct push_back<boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, T> { typedef boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class T> struct push_back<boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, T> { typedef boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class T> struct push_back<boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, T> { typedef boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class T> struct push_back<boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, T> { typedef boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , T > t [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class T> struct push_back<boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, T> { typedef boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class T> struct push_back<boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, T> { typedef boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class T> struct push_back<boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, T> { typedef boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class T> struct push_back<boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, T> { typedef boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 ,  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class T> struct push_back<boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, T> { typedef boost::type_of::vector23< P0 , P1 [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class T> struct push_back<boost::type_of::vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, T> { typedef boost::type_of: [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class T> struct push_back<boost::type_of::vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, T> { typed [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class T> struct push_back<boost::type_of::vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class T> struct push_back<boost::type_of::vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class T> struct push_back<boost::type_of::vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class T> struct push_back<boost::type_of::vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class T> struct push_back<boost::type_of::vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class T> struct push_back<boost::type_of::vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class T> struct push_back<boost::type_of::vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class T> struct push_back<boost::type_of::vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class T> struct push_back<boost::type_of::vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class T> struct push_back<boost::type_of::vector34< P0 , P1 , P2 , P3 , P4 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class T> struct push_back<boost::type_of::vector35< P0 , P1 , P2 [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class T> struct push_back<boost::type_of::vector36<  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class T> struct push_back<boost::type_of [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class T> struct push_back<bo [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class T> struct  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
diff --git a/SRC/Boost/boost/typeof/vector200.hpp b/SRC/Boost/boost/typeof/vector200.hpp
deleted file mode 100755
index 560a171..0000000
--- a/SRC/Boost/boost/typeof/vector200.hpp
+++ /dev/null
@@ -1,621 +0,0 @@
-
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-// Preprocessed code, do not edit manually !
-
-
-namespace boost { namespace type_of {
-    template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
-        template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<3> > { typedef typename V::item3 type; typedef v_iter<V, mpl::int_<3 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<4> > { typedef typename V::item4 type; typedef v_iter<V, mpl::int_<4 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<5> > { typedef typename V::item5 type; typedef v_iter<V, mpl::int_<5 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<6> > { typedef typename V::item6 type; typedef v_iter<V, mpl::int_<6 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<7> > { typedef typename V::item7 type; typedef v_iter<V, mpl::int_<7 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<8> > { typedef typename V::item8 type; typedef v_iter<V, mpl::int_<8 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<9> > { typedef typename V::item9 type; typedef v_iter<V, mpl::int_<9 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<10> > { typedef typename V::item10 type; typedef v_iter<V, mpl::int_<10 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<11> > { typedef typename V::item11 type; typedef v_iter<V, mpl::int_<11 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<12> > { typedef typename V::item12 type; typedef v_iter<V, mpl::int_<12 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<13> > { typedef typename V::item13 type; typedef v_iter<V, mpl::int_<13 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<14> > { typedef typename V::item14 type; typedef v_iter<V, mpl::int_<14 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<15> > { typedef typename V::item15 type; typedef v_iter<V, mpl::int_<15 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<16> > { typedef typename V::item16 type; typedef v_iter<V, mpl::int_<16 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<17> > { typedef typename V::item17 type; typedef v_iter<V, mpl::int_<17 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<18> > { typedef typename V::item18 type; typedef v_iter<V, mpl::int_<18 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<19> > { typedef typename V::item19 type; typedef v_iter<V, mpl::int_<19 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<20> > { typedef typename V::item20 type; typedef v_iter<V, mpl::int_<20 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<21> > { typedef typename V::item21 type; typedef v_iter<V, mpl::int_<21 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<22> > { typedef typename V::item22 type; typedef v_iter<V, mpl::int_<22 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<23> > { typedef typename V::item23 type; typedef v_iter<V, mpl::int_<23 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<24> > { typedef typename V::item24 type; typedef v_iter<V, mpl::int_<24 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<25> > { typedef typename V::item25 type; typedef v_iter<V, mpl::int_<25 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<26> > { typedef typename V::item26 type; typedef v_iter<V, mpl::int_<26 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<27> > { typedef typename V::item27 type; typedef v_iter<V, mpl::int_<27 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<28> > { typedef typename V::item28 type; typedef v_iter<V, mpl::int_<28 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<29> > { typedef typename V::item29 type; typedef v_iter<V, mpl::int_<29 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<30> > { typedef typename V::item30 type; typedef v_iter<V, mpl::int_<30 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<31> > { typedef typename V::item31 type; typedef v_iter<V, mpl::int_<31 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<32> > { typedef typename V::item32 type; typedef v_iter<V, mpl::int_<32 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<33> > { typedef typename V::item33 type; typedef v_iter<V, mpl::int_<33 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<34> > { typedef typename V::item34 type; typedef v_iter<V, mpl::int_<34 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<35> > { typedef typename V::item35 type; typedef v_iter<V, mpl::int_<35 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<36> > { typedef typename V::item36 type; typedef v_iter<V, mpl::int_<36 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<37> > { typedef typename V::item37 type; typedef v_iter<V, mpl::int_<37 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<38> > { typedef typename V::item38 type; typedef v_iter<V, mpl::int_<38 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<39> > { typedef typename V::item39 type; typedef v_iter<V, mpl::int_<39 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<40> > { typedef typename V::item40 type; typedef v_iter<V, mpl::int_<40 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<41> > { typedef typename V::item41 type; typedef v_iter<V, mpl::int_<41 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<42> > { typedef typename V::item42 type; typedef v_iter<V, mpl::int_<42 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<43> > { typedef typename V::item43 type; typedef v_iter<V, mpl::int_<43 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<44> > { typedef typename V::item44 type; typedef v_iter<V, mpl::int_<44 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<45> > { typedef typename V::item45 type; typedef v_iter<V, mpl::int_<45 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<46> > { typedef typename V::item46 type; typedef v_iter<V, mpl::int_<46 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<47> > { typedef typename V::item47 type; typedef v_iter<V, mpl::int_<47 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<48> > { typedef typename V::item48 type; typedef v_iter<V, mpl::int_<48 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<49> > { typedef typename V::item49 type; typedef v_iter<V, mpl::int_<49 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<50> > { typedef typename V::item50 type; typedef v_iter<V, mpl::int_<50 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<51> > { typedef typename V::item51 type; typedef v_iter<V, mpl::int_<51 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<52> > { typedef typename V::item52 type; typedef v_iter<V, mpl::int_<52 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<53> > { typedef typename V::item53 type; typedef v_iter<V, mpl::int_<53 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<54> > { typedef typename V::item54 type; typedef v_iter<V, mpl::int_<54 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<55> > { typedef typename V::item55 type; typedef v_iter<V, mpl::int_<55 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<56> > { typedef typename V::item56 type; typedef v_iter<V, mpl::int_<56 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<57> > { typedef typename V::item57 type; typedef v_iter<V, mpl::int_<57 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<58> > { typedef typename V::item58 type; typedef v_iter<V, mpl::int_<58 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<59> > { typedef typename V::item59 type; typedef v_iter<V, mpl::int_<59 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<60> > { typedef typename V::item60 type; typedef v_iter<V, mpl::int_<60 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<61> > { typedef typename V::item61 type; typedef v_iter<V, mpl::int_<61 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<62> > { typedef typename V::item62 type; typedef v_iter<V, mpl::int_<62 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<63> > { typedef typename V::item63 type; typedef v_iter<V, mpl::int_<63 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<64> > { typedef typename V::item64 type; typedef v_iter<V, mpl::int_<64 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<65> > { typedef typename V::item65 type; typedef v_iter<V, mpl::int_<65 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<66> > { typedef typename V::item66 type; typedef v_iter<V, mpl::int_<66 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<67> > { typedef typename V::item67 type; typedef v_iter<V, mpl::int_<67 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<68> > { typedef typename V::item68 type; typedef v_iter<V, mpl::int_<68 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<69> > { typedef typename V::item69 type; typedef v_iter<V, mpl::int_<69 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<70> > { typedef typename V::item70 type; typedef v_iter<V, mpl::int_<70 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<71> > { typedef typename V::item71 type; typedef v_iter<V, mpl::int_<71 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<72> > { typedef typename V::item72 type; typedef v_iter<V, mpl::int_<72 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<73> > { typedef typename V::item73 type; typedef v_iter<V, mpl::int_<73 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<74> > { typedef typename V::item74 type; typedef v_iter<V, mpl::int_<74 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<75> > { typedef typename V::item75 type; typedef v_iter<V, mpl::int_<75 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<76> > { typedef typename V::item76 type; typedef v_iter<V, mpl::int_<76 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<77> > { typedef typename V::item77 type; typedef v_iter<V, mpl::int_<77 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<78> > { typedef typename V::item78 type; typedef v_iter<V, mpl::int_<78 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<79> > { typedef typename V::item79 type; typedef v_iter<V, mpl::int_<79 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<80> > { typedef typename V::item80 type; typedef v_iter<V, mpl::int_<80 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<81> > { typedef typename V::item81 type; typedef v_iter<V, mpl::int_<81 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<82> > { typedef typename V::item82 type; typedef v_iter<V, mpl::int_<82 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<83> > { typedef typename V::item83 type; typedef v_iter<V, mpl::int_<83 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<84> > { typedef typename V::item84 type; typedef v_iter<V, mpl::int_<84 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<85> > { typedef typename V::item85 type; typedef v_iter<V, mpl::int_<85 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<86> > { typedef typename V::item86 type; typedef v_iter<V, mpl::int_<86 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<87> > { typedef typename V::item87 type; typedef v_iter<V, mpl::int_<87 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<88> > { typedef typename V::item88 type; typedef v_iter<V, mpl::int_<88 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<89> > { typedef typename V::item89 type; typedef v_iter<V, mpl::int_<89 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<90> > { typedef typename V::item90 type; typedef v_iter<V, mpl::int_<90 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<91> > { typedef typename V::item91 type; typedef v_iter<V, mpl::int_<91 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<92> > { typedef typename V::item92 type; typedef v_iter<V, mpl::int_<92 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<93> > { typedef typename V::item93 type; typedef v_iter<V, mpl::int_<93 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<94> > { typedef typename V::item94 type; typedef v_iter<V, mpl::int_<94 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<95> > { typedef typename V::item95 type; typedef v_iter<V, mpl::int_<95 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<96> > { typedef typename V::item96 type; typedef v_iter<V, mpl::int_<96 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<97> > { typedef typename V::item97 type; typedef v_iter<V, mpl::int_<97 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<98> > { typedef typename V::item98 type; typedef v_iter<V, mpl::int_<98 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<99> > { typedef typename V::item99 type; typedef v_iter<V, mpl::int_<99 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<100> > { typedef typename V::item100 type; typedef v_iter<V, mpl::int_<100 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<101> > { typedef typename V::item101 type; typedef v_iter<V, mpl::int_<101 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<102> > { typedef typename V::item102 type; typedef v_iter<V, mpl::int_<102 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<103> > { typedef typename V::item103 type; typedef v_iter<V, mpl::int_<103 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<104> > { typedef typename V::item104 type; typedef v_iter<V, mpl::int_<104 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<105> > { typedef typename V::item105 type; typedef v_iter<V, mpl::int_<105 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<106> > { typedef typename V::item106 type; typedef v_iter<V, mpl::int_<106 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<107> > { typedef typename V::item107 type; typedef v_iter<V, mpl::int_<107 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<108> > { typedef typename V::item108 type; typedef v_iter<V, mpl::int_<108 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<109> > { typedef typename V::item109 type; typedef v_iter<V, mpl::int_<109 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<110> > { typedef typename V::item110 type; typedef v_iter<V, mpl::int_<110 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<111> > { typedef typename V::item111 type; typedef v_iter<V, mpl::int_<111 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<112> > { typedef typename V::item112 type; typedef v_iter<V, mpl::int_<112 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<113> > { typedef typename V::item113 type; typedef v_iter<V, mpl::int_<113 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<114> > { typedef typename V::item114 type; typedef v_iter<V, mpl::int_<114 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<115> > { typedef typename V::item115 type; typedef v_iter<V, mpl::int_<115 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<116> > { typedef typename V::item116 type; typedef v_iter<V, mpl::int_<116 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<117> > { typedef typename V::item117 type; typedef v_iter<V, mpl::int_<117 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<118> > { typedef typename V::item118 type; typedef v_iter<V, mpl::int_<118 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<119> > { typedef typename V::item119 type; typedef v_iter<V, mpl::int_<119 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<120> > { typedef typename V::item120 type; typedef v_iter<V, mpl::int_<120 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<121> > { typedef typename V::item121 type; typedef v_iter<V, mpl::int_<121 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<122> > { typedef typename V::item122 type; typedef v_iter<V, mpl::int_<122 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<123> > { typedef typename V::item123 type; typedef v_iter<V, mpl::int_<123 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<124> > { typedef typename V::item124 type; typedef v_iter<V, mpl::int_<124 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<125> > { typedef typename V::item125 type; typedef v_iter<V, mpl::int_<125 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<126> > { typedef typename V::item126 type; typedef v_iter<V, mpl::int_<126 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<127> > { typedef typename V::item127 type; typedef v_iter<V, mpl::int_<127 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<128> > { typedef typename V::item128 type; typedef v_iter<V, mpl::int_<128 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<129> > { typedef typename V::item129 type; typedef v_iter<V, mpl::int_<129 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<130> > { typedef typename V::item130 type; typedef v_iter<V, mpl::int_<130 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<131> > { typedef typename V::item131 type; typedef v_iter<V, mpl::int_<131 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<132> > { typedef typename V::item132 type; typedef v_iter<V, mpl::int_<132 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<133> > { typedef typename V::item133 type; typedef v_iter<V, mpl::int_<133 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<134> > { typedef typename V::item134 type; typedef v_iter<V, mpl::int_<134 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<135> > { typedef typename V::item135 type; typedef v_iter<V, mpl::int_<135 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<136> > { typedef typename V::item136 type; typedef v_iter<V, mpl::int_<136 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<137> > { typedef typename V::item137 type; typedef v_iter<V, mpl::int_<137 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<138> > { typedef typename V::item138 type; typedef v_iter<V, mpl::int_<138 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<139> > { typedef typename V::item139 type; typedef v_iter<V, mpl::int_<139 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<140> > { typedef typename V::item140 type; typedef v_iter<V, mpl::int_<140 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<141> > { typedef typename V::item141 type; typedef v_iter<V, mpl::int_<141 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<142> > { typedef typename V::item142 type; typedef v_iter<V, mpl::int_<142 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<143> > { typedef typename V::item143 type; typedef v_iter<V, mpl::int_<143 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<144> > { typedef typename V::item144 type; typedef v_iter<V, mpl::int_<144 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<145> > { typedef typename V::item145 type; typedef v_iter<V, mpl::int_<145 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<146> > { typedef typename V::item146 type; typedef v_iter<V, mpl::int_<146 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<147> > { typedef typename V::item147 type; typedef v_iter<V, mpl::int_<147 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<148> > { typedef typename V::item148 type; typedef v_iter<V, mpl::int_<148 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<149> > { typedef typename V::item149 type; typedef v_iter<V, mpl::int_<149 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<150> > { typedef typename V::item150 type; typedef v_iter<V, mpl::int_<150 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<151> > { typedef typename V::item151 type; typedef v_iter<V, mpl::int_<151 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<152> > { typedef typename V::item152 type; typedef v_iter<V, mpl::int_<152 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<153> > { typedef typename V::item153 type; typedef v_iter<V, mpl::int_<153 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<154> > { typedef typename V::item154 type; typedef v_iter<V, mpl::int_<154 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<155> > { typedef typename V::item155 type; typedef v_iter<V, mpl::int_<155 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<156> > { typedef typename V::item156 type; typedef v_iter<V, mpl::int_<156 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<157> > { typedef typename V::item157 type; typedef v_iter<V, mpl::int_<157 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<158> > { typedef typename V::item158 type; typedef v_iter<V, mpl::int_<158 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<159> > { typedef typename V::item159 type; typedef v_iter<V, mpl::int_<159 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<160> > { typedef typename V::item160 type; typedef v_iter<V, mpl::int_<160 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<161> > { typedef typename V::item161 type; typedef v_iter<V, mpl::int_<161 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<162> > { typedef typename V::item162 type; typedef v_iter<V, mpl::int_<162 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<163> > { typedef typename V::item163 type; typedef v_iter<V, mpl::int_<163 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<164> > { typedef typename V::item164 type; typedef v_iter<V, mpl::int_<164 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<165> > { typedef typename V::item165 type; typedef v_iter<V, mpl::int_<165 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<166> > { typedef typename V::item166 type; typedef v_iter<V, mpl::int_<166 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<167> > { typedef typename V::item167 type; typedef v_iter<V, mpl::int_<167 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<168> > { typedef typename V::item168 type; typedef v_iter<V, mpl::int_<168 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<169> > { typedef typename V::item169 type; typedef v_iter<V, mpl::int_<169 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<170> > { typedef typename V::item170 type; typedef v_iter<V, mpl::int_<170 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<171> > { typedef typename V::item171 type; typedef v_iter<V, mpl::int_<171 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<172> > { typedef typename V::item172 type; typedef v_iter<V, mpl::int_<172 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<173> > { typedef typename V::item173 type; typedef v_iter<V, mpl::int_<173 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<174> > { typedef typename V::item174 type; typedef v_iter<V, mpl::int_<174 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<175> > { typedef typename V::item175 type; typedef v_iter<V, mpl::int_<175 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<176> > { typedef typename V::item176 type; typedef v_iter<V, mpl::int_<176 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<177> > { typedef typename V::item177 type; typedef v_iter<V, mpl::int_<177 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<178> > { typedef typename V::item178 type; typedef v_iter<V, mpl::int_<178 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<179> > { typedef typename V::item179 type; typedef v_iter<V, mpl::int_<179 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<180> > { typedef typename V::item180 type; typedef v_iter<V, mpl::int_<180 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<181> > { typedef typename V::item181 type; typedef v_iter<V, mpl::int_<181 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<182> > { typedef typename V::item182 type; typedef v_iter<V, mpl::int_<182 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<183> > { typedef typename V::item183 type; typedef v_iter<V, mpl::int_<183 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<184> > { typedef typename V::item184 type; typedef v_iter<V, mpl::int_<184 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<185> > { typedef typename V::item185 type; typedef v_iter<V, mpl::int_<185 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<186> > { typedef typename V::item186 type; typedef v_iter<V, mpl::int_<186 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<187> > { typedef typename V::item187 type; typedef v_iter<V, mpl::int_<187 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<188> > { typedef typename V::item188 type; typedef v_iter<V, mpl::int_<188 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<189> > { typedef typename V::item189 type; typedef v_iter<V, mpl::int_<189 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<190> > { typedef typename V::item190 type; typedef v_iter<V, mpl::int_<190 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<191> > { typedef typename V::item191 type; typedef v_iter<V, mpl::int_<191 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<192> > { typedef typename V::item192 type; typedef v_iter<V, mpl::int_<192 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<193> > { typedef typename V::item193 type; typedef v_iter<V, mpl::int_<193 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<194> > { typedef typename V::item194 type; typedef v_iter<V, mpl::int_<194 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<195> > { typedef typename V::item195 type; typedef v_iter<V, mpl::int_<195 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<196> > { typedef typename V::item196 type; typedef v_iter<V, mpl::int_<196 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<197> > { typedef typename V::item197 type; typedef v_iter<V, mpl::int_<197 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<198> > { typedef typename V::item198 type; typedef v_iter<V, mpl::int_<198 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<199> > { typedef typename V::item199 type; typedef v_iter<V, mpl::int_<199 + 1> > next; };
-}}
-namespace boost { namespace type_of {
-        template< class T = void> struct vector0 { typedef v_iter<vector0<>, boost::mpl::int_<0> > begin; typedef mpl::int_<1> item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
-        template< class P0 > struct vector1 { typedef v_iter<vector1< P0>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; ty [...]
-        template< class P0 , class P1 > struct vector2 { typedef v_iter<vector2< P0 , P1>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item [...]
-        template< class P0 , class P1 , class P2 > struct vector3 { typedef v_iter<vector3< P0 , P1 , P2>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
-        template< class P0 , class P1 , class P2 , class P3 > struct vector4 { typedef v_iter<vector4< P0 , P1 , P2 , P3>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl:: [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 > struct vector5 { typedef v_iter<vector5< P0 , P1 , P2 , P3 , P4>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 > struct vector6 { typedef v_iter<vector6< P0 , P1 , P2 , P3 , P4 , P5>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; t [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > struct vector7 { typedef v_iter<vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> ite [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > struct vector8 { typedef v_iter<vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_< [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > struct vector9 { typedef v_iter<vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl: [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 > struct vector10 { typedef v_iter<vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; type [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 > struct vector11 { typedef v_iter<vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef mpl::int_<1> ite [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 > struct vector12 { typedef v_iter<vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typede [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 > struct vector13 { typedef v_iter<vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 > struct vector14 { typedef v_iter<vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 > struct vector15 { typedef v_iter<vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 > struct vector16 { typedef v_iter<vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 > struct vector17 { typedef v_iter<vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 > struct vector18 { typedef v_iter<vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 > struct vector19 { typedef v_iter<vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 > struct vector20 { typedef v_iter<vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 > struct vector21 { typedef v_iter<vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 > struct vector22 { typedef v_iter<vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 > struct vector23 { typedef v_iter<vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, boost::mpl::int_<0> > begin; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 > struct vector24 { typedef v_iter<vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, boost::mpl::int_<0> [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 > struct vector25 { typedef v_iter<vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24>, b [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 > struct vector26 { typedef v_iter<vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 > struct vector27 { typedef v_iter<vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 > struct vector28 { typedef v_iter<vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 > struct vector29 { typedef v_iter<vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 > struct vector30 { typedef v_iter<vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 > struct vector31 { typedef v_iter<vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 > struct vector32 { typedef v_iter<vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 > struct vector33 { typedef v_iter<vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 ,  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 > struct vector34 { typedef v_iter<vector34< P0 , P1 , P2 , P3 , P4 , P5 , P6  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 > struct vector35 { typedef v_iter<vector35< P0 , P1 , P2 , P3 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 > struct vector36 { typedef v_iter<vector36< P0 , P1 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 > struct vector37 { typedef v_iter<vector3 [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 > struct vector38 { typedef v_ [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 > struct vector39  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 > stru [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
-namespace boost { namespace type_of {
-    template<class V, class T> struct push_back {
-        typedef V type;
-    };
-        template< class T> struct push_back<boost::type_of::vector0<>, T> { typedef boost::type_of::vector1< T > type; };
-        template< class P0 , class T> struct push_back<boost::type_of::vector1< P0>, T> { typedef boost::type_of::vector2< P0 , T > type; };
-        template< class P0 , class P1 , class T> struct push_back<boost::type_of::vector2< P0 , P1>, T> { typedef boost::type_of::vector3< P0 , P1 , T > type; };
-        template< class P0 , class P1 , class P2 , class T> struct push_back<boost::type_of::vector3< P0 , P1 , P2>, T> { typedef boost::type_of::vector4< P0 , P1 , P2 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class T> struct push_back<boost::type_of::vector4< P0 , P1 , P2 , P3>, T> { typedef boost::type_of::vector5< P0 , P1 , P2 , P3 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class T> struct push_back<boost::type_of::vector5< P0 , P1 , P2 , P3 , P4>, T> { typedef boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class T> struct push_back<boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , P5>, T> { typedef boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class T> struct push_back<boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, T> { typedef boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class T> struct push_back<boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, T> { typedef boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class T> struct push_back<boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, T> { typedef boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class T> struct push_back<boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, T> { typedef boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class T> struct push_back<boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, T> { typedef boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class T> struct push_back<boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, T> { typedef boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class T> struct push_back<boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, T> { typedef boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class T> struct push_back<boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, T> { typedef boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class T> struct push_back<boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, T> { typedef boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class T> struct push_back<boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, T> { typedef boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class T> struct push_back<boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, T> { typedef boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , T > t [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class T> struct push_back<boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, T> { typedef boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class T> struct push_back<boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, T> { typedef boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class T> struct push_back<boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, T> { typedef boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class T> struct push_back<boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, T> { typedef boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 ,  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class T> struct push_back<boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, T> { typedef boost::type_of::vector23< P0 , P1 [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class T> struct push_back<boost::type_of::vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, T> { typedef boost::type_of: [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class T> struct push_back<boost::type_of::vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, T> { typed [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class T> struct push_back<boost::type_of::vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class T> struct push_back<boost::type_of::vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class T> struct push_back<boost::type_of::vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class T> struct push_back<boost::type_of::vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class T> struct push_back<boost::type_of::vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class T> struct push_back<boost::type_of::vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class T> struct push_back<boost::type_of::vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class T> struct push_back<boost::type_of::vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class T> struct push_back<boost::type_of::vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class T> struct push_back<boost::type_of::vector34< P0 , P1 , P2 , P3 , P4 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class T> struct push_back<boost::type_of::vector35< P0 , P1 , P2 [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class T> struct push_back<boost::type_of::vector36<  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class T> struct push_back<boost::type_of [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class T> struct push_back<bo [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class T> struct  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
diff --git a/SRC/Boost/boost/typeof/vector50.hpp b/SRC/Boost/boost/typeof/vector50.hpp
deleted file mode 100755
index 7d9ede6..0000000
--- a/SRC/Boost/boost/typeof/vector50.hpp
+++ /dev/null
@@ -1,171 +0,0 @@
-
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-// Preprocessed code, do not edit manually !
-
-
-namespace boost { namespace type_of {
-    template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
-        template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<3> > { typedef typename V::item3 type; typedef v_iter<V, mpl::int_<3 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<4> > { typedef typename V::item4 type; typedef v_iter<V, mpl::int_<4 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<5> > { typedef typename V::item5 type; typedef v_iter<V, mpl::int_<5 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<6> > { typedef typename V::item6 type; typedef v_iter<V, mpl::int_<6 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<7> > { typedef typename V::item7 type; typedef v_iter<V, mpl::int_<7 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<8> > { typedef typename V::item8 type; typedef v_iter<V, mpl::int_<8 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<9> > { typedef typename V::item9 type; typedef v_iter<V, mpl::int_<9 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<10> > { typedef typename V::item10 type; typedef v_iter<V, mpl::int_<10 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<11> > { typedef typename V::item11 type; typedef v_iter<V, mpl::int_<11 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<12> > { typedef typename V::item12 type; typedef v_iter<V, mpl::int_<12 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<13> > { typedef typename V::item13 type; typedef v_iter<V, mpl::int_<13 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<14> > { typedef typename V::item14 type; typedef v_iter<V, mpl::int_<14 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<15> > { typedef typename V::item15 type; typedef v_iter<V, mpl::int_<15 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<16> > { typedef typename V::item16 type; typedef v_iter<V, mpl::int_<16 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<17> > { typedef typename V::item17 type; typedef v_iter<V, mpl::int_<17 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<18> > { typedef typename V::item18 type; typedef v_iter<V, mpl::int_<18 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<19> > { typedef typename V::item19 type; typedef v_iter<V, mpl::int_<19 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<20> > { typedef typename V::item20 type; typedef v_iter<V, mpl::int_<20 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<21> > { typedef typename V::item21 type; typedef v_iter<V, mpl::int_<21 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<22> > { typedef typename V::item22 type; typedef v_iter<V, mpl::int_<22 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<23> > { typedef typename V::item23 type; typedef v_iter<V, mpl::int_<23 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<24> > { typedef typename V::item24 type; typedef v_iter<V, mpl::int_<24 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<25> > { typedef typename V::item25 type; typedef v_iter<V, mpl::int_<25 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<26> > { typedef typename V::item26 type; typedef v_iter<V, mpl::int_<26 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<27> > { typedef typename V::item27 type; typedef v_iter<V, mpl::int_<27 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<28> > { typedef typename V::item28 type; typedef v_iter<V, mpl::int_<28 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<29> > { typedef typename V::item29 type; typedef v_iter<V, mpl::int_<29 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<30> > { typedef typename V::item30 type; typedef v_iter<V, mpl::int_<30 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<31> > { typedef typename V::item31 type; typedef v_iter<V, mpl::int_<31 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<32> > { typedef typename V::item32 type; typedef v_iter<V, mpl::int_<32 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<33> > { typedef typename V::item33 type; typedef v_iter<V, mpl::int_<33 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<34> > { typedef typename V::item34 type; typedef v_iter<V, mpl::int_<34 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<35> > { typedef typename V::item35 type; typedef v_iter<V, mpl::int_<35 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<36> > { typedef typename V::item36 type; typedef v_iter<V, mpl::int_<36 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<37> > { typedef typename V::item37 type; typedef v_iter<V, mpl::int_<37 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<38> > { typedef typename V::item38 type; typedef v_iter<V, mpl::int_<38 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<39> > { typedef typename V::item39 type; typedef v_iter<V, mpl::int_<39 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<40> > { typedef typename V::item40 type; typedef v_iter<V, mpl::int_<40 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<41> > { typedef typename V::item41 type; typedef v_iter<V, mpl::int_<41 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<42> > { typedef typename V::item42 type; typedef v_iter<V, mpl::int_<42 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<43> > { typedef typename V::item43 type; typedef v_iter<V, mpl::int_<43 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<44> > { typedef typename V::item44 type; typedef v_iter<V, mpl::int_<44 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<45> > { typedef typename V::item45 type; typedef v_iter<V, mpl::int_<45 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<46> > { typedef typename V::item46 type; typedef v_iter<V, mpl::int_<46 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<47> > { typedef typename V::item47 type; typedef v_iter<V, mpl::int_<47 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<48> > { typedef typename V::item48 type; typedef v_iter<V, mpl::int_<48 + 1> > next; };
-        template<class V> struct v_iter<V, mpl::int_<49> > { typedef typename V::item49 type; typedef v_iter<V, mpl::int_<49 + 1> > next; };
-}}
-namespace boost { namespace type_of {
-        template< class T = void> struct vector0 { typedef v_iter<vector0<>, boost::mpl::int_<0> > begin; typedef mpl::int_<1> item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
-        template< class P0 > struct vector1 { typedef v_iter<vector1< P0>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; ty [...]
-        template< class P0 , class P1 > struct vector2 { typedef v_iter<vector2< P0 , P1>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item [...]
-        template< class P0 , class P1 , class P2 > struct vector3 { typedef v_iter<vector3< P0 , P1 , P2>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
-        template< class P0 , class P1 , class P2 , class P3 > struct vector4 { typedef v_iter<vector4< P0 , P1 , P2 , P3>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl:: [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 > struct vector5 { typedef v_iter<vector5< P0 , P1 , P2 , P3 , P4>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 > struct vector6 { typedef v_iter<vector6< P0 , P1 , P2 , P3 , P4 , P5>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; t [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > struct vector7 { typedef v_iter<vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> ite [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > struct vector8 { typedef v_iter<vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_< [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > struct vector9 { typedef v_iter<vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl: [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 > struct vector10 { typedef v_iter<vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; type [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 > struct vector11 { typedef v_iter<vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef mpl::int_<1> ite [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 > struct vector12 { typedef v_iter<vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typede [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 > struct vector13 { typedef v_iter<vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 > struct vector14 { typedef v_iter<vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 > struct vector15 { typedef v_iter<vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 > struct vector16 { typedef v_iter<vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 > struct vector17 { typedef v_iter<vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 > struct vector18 { typedef v_iter<vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 > struct vector19 { typedef v_iter<vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 > struct vector20 { typedef v_iter<vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 > struct vector21 { typedef v_iter<vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 > struct vector22 { typedef v_iter<vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 > struct vector23 { typedef v_iter<vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, boost::mpl::int_<0> > begin; typedef  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 > struct vector24 { typedef v_iter<vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, boost::mpl::int_<0> [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 > struct vector25 { typedef v_iter<vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24>, b [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 > struct vector26 { typedef v_iter<vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 > struct vector27 { typedef v_iter<vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 > struct vector28 { typedef v_iter<vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 > struct vector29 { typedef v_iter<vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 > struct vector30 { typedef v_iter<vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 > struct vector31 { typedef v_iter<vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 > struct vector32 { typedef v_iter<vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 > struct vector33 { typedef v_iter<vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 ,  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 > struct vector34 { typedef v_iter<vector34< P0 , P1 , P2 , P3 , P4 , P5 , P6  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 > struct vector35 { typedef v_iter<vector35< P0 , P1 , P2 , P3 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 > struct vector36 { typedef v_iter<vector36< P0 , P1 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 > struct vector37 { typedef v_iter<vector3 [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 > struct vector38 { typedef v_ [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 > struct vector39  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 > stru [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
-namespace boost { namespace type_of {
-    template<class V, class T> struct push_back {
-        typedef V type;
-    };
-        template< class T> struct push_back<boost::type_of::vector0<>, T> { typedef boost::type_of::vector1< T > type; };
-        template< class P0 , class T> struct push_back<boost::type_of::vector1< P0>, T> { typedef boost::type_of::vector2< P0 , T > type; };
-        template< class P0 , class P1 , class T> struct push_back<boost::type_of::vector2< P0 , P1>, T> { typedef boost::type_of::vector3< P0 , P1 , T > type; };
-        template< class P0 , class P1 , class P2 , class T> struct push_back<boost::type_of::vector3< P0 , P1 , P2>, T> { typedef boost::type_of::vector4< P0 , P1 , P2 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class T> struct push_back<boost::type_of::vector4< P0 , P1 , P2 , P3>, T> { typedef boost::type_of::vector5< P0 , P1 , P2 , P3 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class T> struct push_back<boost::type_of::vector5< P0 , P1 , P2 , P3 , P4>, T> { typedef boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class T> struct push_back<boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , P5>, T> { typedef boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class T> struct push_back<boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, T> { typedef boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class T> struct push_back<boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, T> { typedef boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class T> struct push_back<boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, T> { typedef boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class T> struct push_back<boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, T> { typedef boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class T> struct push_back<boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, T> { typedef boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class T> struct push_back<boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, T> { typedef boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class T> struct push_back<boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, T> { typedef boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class T> struct push_back<boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, T> { typedef boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class T> struct push_back<boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, T> { typedef boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class T> struct push_back<boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, T> { typedef boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , T > type; };
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class T> struct push_back<boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, T> { typedef boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , T > t [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class T> struct push_back<boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, T> { typedef boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class T> struct push_back<boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, T> { typedef boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class T> struct push_back<boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, T> { typedef boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class T> struct push_back<boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, T> { typedef boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 ,  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class T> struct push_back<boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, T> { typedef boost::type_of::vector23< P0 , P1 [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class T> struct push_back<boost::type_of::vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, T> { typedef boost::type_of: [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class T> struct push_back<boost::type_of::vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, T> { typed [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class T> struct push_back<boost::type_of::vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class T> struct push_back<boost::type_of::vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class T> struct push_back<boost::type_of::vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class T> struct push_back<boost::type_of::vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class T> struct push_back<boost::type_of::vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class T> struct push_back<boost::type_of::vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class T> struct push_back<boost::type_of::vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class T> struct push_back<boost::type_of::vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class T> struct push_back<boost::type_of::vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class T> struct push_back<boost::type_of::vector34< P0 , P1 , P2 , P3 , P4 , [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class T> struct push_back<boost::type_of::vector35< P0 , P1 , P2 [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class T> struct push_back<boost::type_of::vector36<  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class T> struct push_back<boost::type_of [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class T> struct push_back<bo [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class T> struct  [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-        template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
diff --git a/SRC/Boost/boost/units/detail/utility.hpp b/SRC/Boost/boost/units/detail/utility.hpp
deleted file mode 100755
index 4f1bc32..0000000
--- a/SRC/Boost/boost/units/detail/utility.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
-// unit/quantity manipulation and conversion
-//
-// Copyright (C) 2003-2008 Matthias Christian Schabel
-// Copyright (C) 2008 Steven Watanabe
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UNITS_UTILITY_HPP
-#define BOOST_UNITS_UTILITY_HPP
-
-#include <cstdlib>
-#include <typeinfo>
-#include <string>
-
-#if defined(__GLIBCXX__) || defined(__GLIBCPP__)
-#define BOOST_UNITS_USE_DEMANGLING
-#include <cxxabi.h>
-#endif // __GNUC__
-
-#ifdef BOOST_UNITS_USE_DEMANGLING
-
-#include <boost/algorithm/string/replace.hpp>
-
-namespace boost {
-
-namespace units {
-
-namespace detail {
-
-inline
-std::string
-demangle(const char* name)
-{
-    // need to demangle C++ symbols
-    char*       realname;
-    std::size_t len; 
-    int         stat;
-     
-    realname = abi::__cxa_demangle(name,NULL,&len,&stat);
-    
-    if (realname != NULL)
-    {
-        std::string   out(realname);
-        
-        std::free(realname);
-        
-        boost::replace_all(out,"boost::units::","");
-        
-        return out;
-    }
-    
-    return std::string("demangle :: error - unable to demangle specified symbol");
-}
-
-} // namespace detail
-
-template<class L>
-std::string simplify_typename(const L& /*source*/)
-{
-    const std::string   demangled = detail::demangle(typeid(L).name());
-
-    return demangled;
-}
-
-} // namespace units
-
-} // namespace boost
-
-#else // BOOST_UNITS_USE_DEMANGLING
-
-namespace boost {
-
-namespace units {
-
-namespace detail {
-
-inline
-std::string
-demangle(const char* name)
-{
-    return name;
-}
-
-} // namespace detail
-
-template<class L>
-std::string simplify_typename(const L& /*source*/)
-{
-    return std::string(typeid(L).name());
-}
-
-} // namespace units
-
-} // namespace boost
-
-// To get system-specific predefined macros:
-// gcc -arch ppc -dM -E - < /dev/null | sort 
-
-#endif // BOOST_UNITS_USE_DEMANGLING
-
-#endif // BOOST_UNITS_UTILITY_HPP
diff --git a/SRC/Boost/boost/unordered/detail/allocator_helpers.hpp b/SRC/Boost/boost/unordered/detail/allocator_helpers.hpp
deleted file mode 100755
index c31ec62..0000000
--- a/SRC/Boost/boost/unordered/detail/allocator_helpers.hpp
+++ /dev/null
@@ -1,518 +0,0 @@
-
-// Copyright 2005-2011 Daniel James.
-// Copyright 2009 Pablo Halpern.
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// Allocator traits written by Daniel James based on Pablo Halpern's
-// implementation.
-
-#ifndef BOOST_UNORDERED_DETAIL_ALLOCATOR_UTILITIES_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_ALLOCATOR_UTILITIES_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/detail/select_type.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/enum.hpp>
-#include <boost/limits.hpp>
-#include <boost/type_traits/add_lvalue_reference.hpp>
-#include <boost/pointer_to_other.hpp>
-#include <boost/assert.hpp>
-#include <boost/utility/addressof.hpp>
-
-#if BOOST_UNORDERED_USE_ALLOCATOR_TRAITS
-#  include <memory>
-#endif
-
-#if !defined(BOOST_NO_0X_HDR_TYPE_TRAITS)
-#  include <type_traits>
-#endif
-
-namespace boost { namespace unordered { namespace detail {
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Integral_constrant, true_type, false_type
-    //
-    // Uses the standard versions if available.
-
-#if !defined(BOOST_NO_0X_HDR_TYPE_TRAITS)
-
-    using std::integral_constant;
-    using std::true_type;
-    using std::false_type;
-
-#else
-
-    template <typename T, T Value>
-    struct integral_constant { enum { value = Value }; };
-
-    typedef boost::unordered::detail::integral_constant<bool, true> true_type;
-    typedef boost::unordered::detail::integral_constant<bool, false> false_type;
-
-#endif
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Explicitly call a destructor
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#pragma warning(disable:4100) // unreferenced formal parameter
-#endif
-
-    template <class T>
-    inline void destroy(T* x) {
-        x->~T();
-    }
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Bits and pieces for implementing traits
-    //
-    // Some of these are also used elsewhere
-
-    template <typename T> typename boost::add_lvalue_reference<T>::type make();
-    struct choice9 { typedef char (&type)[9]; };
-    struct choice8 : choice9 { typedef char (&type)[8]; };
-    struct choice7 : choice8 { typedef char (&type)[7]; };
-    struct choice6 : choice7 { typedef char (&type)[6]; };
-    struct choice5 : choice6 { typedef char (&type)[5]; };
-    struct choice4 : choice5 { typedef char (&type)[4]; };
-    struct choice3 : choice4 { typedef char (&type)[3]; };
-    struct choice2 : choice3 { typedef char (&type)[2]; };
-    struct choice1 : choice2 { typedef char (&type)[1]; };
-    choice1 choose();
-
-    typedef choice1::type yes_type;
-    typedef choice2::type no_type;
-
-    struct private_type
-    {
-       private_type const &operator,(int) const;
-    };
-
-    template <typename T>
-    no_type is_private_type(T const&);
-    yes_type is_private_type(private_type const&);
-
-    struct convert_from_anything {
-        template <typename T>
-        convert_from_anything(T const&);
-    };
-
-#if !defined(BOOST_NO_SFINAE_EXPR)
-
-#   define BOOST_UNORDERED_HAVE_CALL_DETECTION 1
-
-    template <typename T, unsigned int> struct expr_test;
-    template <typename T> struct expr_test<T, sizeof(char)> : T {};
-    template <typename U> static char for_expr_test(U const&);
-
-#define BOOST_UNORDERED_CHECK_EXPRESSION(count, result, expression)         \
-        template <typename U>                                               \
-        static typename boost::unordered::detail::expr_test<                \
-            BOOST_PP_CAT(choice, result),                                   \
-            sizeof(boost::unordered::detail::for_expr_test((                \
-                (expression),                                               \
-            0)))>::type test(                                               \
-            BOOST_PP_CAT(choice, count))
-
-#define BOOST_UNORDERED_DEFAULT_EXPRESSION(count, result)                   \
-        template <typename U>                                               \
-        static BOOST_PP_CAT(choice, result)::type test(                     \
-            BOOST_PP_CAT(choice, count))
-
-#define BOOST_UNORDERED_HAS_FUNCTION(name, thing, args, _)                  \
-    struct BOOST_PP_CAT(has_, name)                                         \
-    {                                                                       \
-        BOOST_UNORDERED_CHECK_EXPRESSION(1, 1,                              \
-            boost::unordered::detail::make< thing >().name args);           \
-        BOOST_UNORDERED_DEFAULT_EXPRESSION(2, 2);                           \
-                                                                            \
-        enum { value = sizeof(test<T>(choose())) == sizeof(choice1::type) };\
-    }
-
-#else
-
-#   define BOOST_UNORDERED_HAVE_CALL_DETECTION 0
-
-    template <typename T> struct identity { typedef T type; };
-
-#define BOOST_UNORDERED_CHECK_MEMBER(count, result, name, member)           \
-                                                                            \
-    typedef typename boost::unordered::detail::identity<member>::type       \
-        BOOST_PP_CAT(check, count);                                         \
-                                                                            \
-    template <BOOST_PP_CAT(check, count) e>                                 \
-    struct BOOST_PP_CAT(test, count) {                                      \
-        typedef BOOST_PP_CAT(choice, result) type;                          \
-    };                                                                      \
-                                                                            \
-    template <class U> static typename                                      \
-        BOOST_PP_CAT(test, count)<&U::name>::type                           \
-        test(BOOST_PP_CAT(choice, count))
-
-#define BOOST_UNORDERED_DEFAULT_MEMBER(count, result)                       \
-    template <class U> static BOOST_PP_CAT(choice, result)::type            \
-        test(BOOST_PP_CAT(choice, count))
-
-#define BOOST_UNORDERED_HAS_MEMBER(name)                                    \
-    struct BOOST_PP_CAT(has_, name)                                         \
-    {                                                                       \
-        struct impl {                                                       \
-            struct base_mixin { int name; };                                \
-            struct base : public T, public base_mixin {};                   \
-                                                                            \
-            BOOST_UNORDERED_CHECK_MEMBER(1, 1, name, int base_mixin::*);    \
-            BOOST_UNORDERED_DEFAULT_MEMBER(2, 2);                           \
-                                                                            \
-            enum { value = sizeof(choice2::type) ==                         \
-                sizeof(test<base>(choose()))                                \
-            };                                                              \
-        };                                                                  \
-                                                                            \
-        enum { value = impl::value };                                       \
-    }
-
-#endif
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Allocator traits
-    //
-    // Uses the standard versions if available.
-    // (although untested as I don't have access to a standard version yet)
-
-#if BOOST_UNORDERED_USE_ALLOCATOR_TRAITS
-
-    template <typename Alloc>
-    struct allocator_traits : std::allocator_traits<Alloc> {};
-
-    template <typename Alloc, typename T>
-    struct rebind_wrap
-    {
-        typedef typename std::allocator_traits<Alloc>::rebind_alloc<T> type;
-    };
-
-#else
-
-    // TODO: Does this match std::allocator_traits<Alloc>::rebind_alloc<T>?
-    template <typename Alloc, typename T>
-    struct rebind_wrap
-    {
-        typedef typename Alloc::BOOST_NESTED_TEMPLATE rebind<T>::other
-            type;
-    };
-
-#if defined(BOOST_MSVC) && BOOST_MSVC <= 1400
-
-    #define BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(tname)                       \
-        template <typename Tp, typename Default>                            \
-        struct default_type_ ## tname {                                     \
-                                                                            \
-            template <typename X>                                           \
-            static choice1::type test(choice1, typename X::tname* = 0);     \
-                                                                            \
-            template <typename X>                                           \
-            static choice2::type test(choice2, void* = 0);                  \
-                                                                            \
-            struct DefaultWrap { typedef Default tname; };                  \
-                                                                            \
-            enum { value = (1 == sizeof(test<Tp>(choose()))) };             \
-                                                                            \
-            typedef typename boost::detail::if_true<value>::                \
-                BOOST_NESTED_TEMPLATE then<Tp, DefaultWrap>                 \
-                ::type::tname type;                                         \
-        }
-
-#else
-
-    template <typename T, typename T2>
-    struct sfinae : T2 {};
-
-    #define BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(tname)                       \
-        template <typename Tp, typename Default>                            \
-        struct default_type_ ## tname {                                     \
-                                                                            \
-            template <typename X>                                           \
-            static typename boost::unordered::detail::sfinae<               \
-                    typename X::tname, choice1>::type                       \
-                test(choice1);                                              \
-                                                                            \
-            template <typename X>                                           \
-            static choice2::type test(choice2);                             \
-                                                                            \
-            struct DefaultWrap { typedef Default tname; };                  \
-                                                                            \
-            enum { value = (1 == sizeof(test<Tp>(choose()))) };             \
-                                                                            \
-            typedef typename boost::detail::if_true<value>::                \
-                BOOST_NESTED_TEMPLATE then<Tp, DefaultWrap>                 \
-                ::type::tname type;                                         \
-        }
-
-#endif
-
-    #define BOOST_UNORDERED_DEFAULT_TYPE(T,tname, arg)                      \
-        typename default_type_ ## tname<T, arg>::type
-
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(pointer);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(const_pointer);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(void_pointer);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(const_void_pointer);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(difference_type);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(size_type);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(propagate_on_container_copy_assignment);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(propagate_on_container_move_assignment);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(propagate_on_container_swap);
-
-#if BOOST_UNORDERED_HAVE_CALL_DETECTION
-    template <typename T>
-    BOOST_UNORDERED_HAS_FUNCTION(
-        select_on_container_copy_construction, U const, (), 0
-    );
-
-    template <typename T>
-    BOOST_UNORDERED_HAS_FUNCTION(
-        max_size, U const, (), 0
-    );
-
-    template <typename T, typename ValueType>
-    BOOST_UNORDERED_HAS_FUNCTION(
-        construct, U, (
-            boost::unordered::detail::make<ValueType*>(),
-            boost::unordered::detail::make<ValueType const>()), 2
-    );
-
-    template <typename T, typename ValueType>
-    BOOST_UNORDERED_HAS_FUNCTION(
-        destroy, U, (boost::unordered::detail::make<ValueType*>()), 1
-    );
-#else
-    template <typename T>
-    BOOST_UNORDERED_HAS_MEMBER(select_on_container_copy_construction);
-
-    template <typename T>
-    BOOST_UNORDERED_HAS_MEMBER(max_size);
-
-    template <typename T, typename ValueType>
-    BOOST_UNORDERED_HAS_MEMBER(construct);
-
-    template <typename T, typename ValueType>
-    BOOST_UNORDERED_HAS_MEMBER(destroy);
-#endif
-
-    template <typename Alloc>
-    inline typename boost::enable_if_c<
-            boost::unordered::detail::
-            has_select_on_container_copy_construction<Alloc>::value, Alloc
-        >::type call_select_on_container_copy_construction(const Alloc& rhs)
-    {
-        return rhs.select_on_container_copy_construction();
-    }
-
-    template <typename Alloc>
-    inline typename boost::disable_if_c<
-            boost::unordered::detail::
-            has_select_on_container_copy_construction<Alloc>::value, Alloc
-        >::type call_select_on_container_copy_construction(const Alloc& rhs)
-    {
-        return rhs;
-    }
-
-    template <typename SizeType, typename Alloc>
-    inline typename boost::enable_if_c<
-            boost::unordered::detail::has_max_size<Alloc>::value, SizeType
-        >::type call_max_size(const Alloc& a)
-    {
-        return a.max_size();
-    }
-
-    template <typename SizeType, typename Alloc>
-    inline typename boost::disable_if_c<
-            boost::unordered::detail::has_max_size<Alloc>::value, SizeType
-        >::type call_max_size(const Alloc&)
-    {
-        return (std::numeric_limits<SizeType>::max)();
-    }
-
-    template <typename Alloc>
-    struct allocator_traits
-    {
-        typedef Alloc allocator_type;
-        typedef typename Alloc::value_type value_type;
-
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, pointer, value_type*)
-            pointer;
-
-        template <typename T>
-        struct pointer_to_other : boost::pointer_to_other<pointer, T> {};
-
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, const_pointer,
-            typename pointer_to_other<const value_type>::type)
-            const_pointer;
-
-        //typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, void_pointer,
-        //    typename pointer_to_other<void>::type)
-        //    void_pointer;
-        //
-        //typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, const_void_pointer,
-        //    typename pointer_to_other<const void>::type)
-        //    const_void_pointer;
-
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, difference_type,
-            std::ptrdiff_t) difference_type;
-
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, size_type, std::size_t)
-            size_type;
-
-        // TODO: rebind_alloc and rebind_traits
-
-       static pointer allocate(Alloc& a, size_type n)
-            { return a.allocate(n); }
-
-        // I never use this, so I'll just comment it out for now.
-        //
-        //static pointer allocate(Alloc& a, size_type n,
-        //        const_void_pointer hint)
-        //    { return DEFAULT_FUNC(allocate, pointer)(a, n, hint); }
-    
-        static void deallocate(Alloc& a, pointer p, size_type n)
-            { a.deallocate(p, n); }
-
-    public:
-
-        // Only supporting the basic copy constructor for now.
-
-        template <typename T>
-        static typename boost::enable_if_c<
-                boost::unordered::detail::has_construct<Alloc, T>::value>::type
-            construct(Alloc& a, T* p, T const& x)
-        {
-            a.construct(p, x);
-        }
-
-        template <typename T>
-        static typename boost::disable_if_c<
-                boost::unordered::detail::has_construct<Alloc, T>::value>::type
-            construct(Alloc&, T* p, T const& x)
-        {
-            new ((void*) p) T(x);
-        }
-
-        template <typename T>
-        static typename boost::enable_if_c<
-                boost::unordered::detail::has_destroy<Alloc, T>::value>::type
-            destroy(Alloc& a, T* p)
-        {
-            a.destroy(p);
-        }
-
-        template <typename T>
-        static typename boost::disable_if_c<
-                boost::unordered::detail::has_destroy<Alloc, T>::value>::type
-            destroy(Alloc&, T* p)
-        {
-            boost::unordered::detail::destroy(p);
-        }
-
-        static size_type max_size(const Alloc& a)
-        {
-            return boost::unordered::detail::call_max_size<size_type>(a);
-        }
-
-        // Allocator propagation on construction
-        
-        static Alloc select_on_container_copy_construction(Alloc const& rhs)
-        {
-            return boost::unordered::detail::
-                call_select_on_container_copy_construction(rhs);
-        }
-    
-        // Allocator propagation on assignment and swap.
-        // Return true if lhs is modified.
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(
-            Alloc, propagate_on_container_copy_assignment, false_type)
-            propagate_on_container_copy_assignment;
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(
-            Alloc,propagate_on_container_move_assignment, false_type)
-            propagate_on_container_move_assignment;
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(
-            Alloc,propagate_on_container_swap,false_type)
-            propagate_on_container_swap;
-    };
-
-#undef BOOST_UNORDERED_DEFAULT_TYPE_TMPLT
-#undef BOOST_UNORDERED_DEFAULT_TYPE
-
-#endif
-
-    // array_constructor
-    //
-    // Allocate and construct an array in an exception safe manner, and
-    // clean up if an exception is thrown before the container takes charge
-    // of it.
-
-    template <typename Allocator>
-    struct array_constructor
-    {
-        typedef boost::unordered::detail::allocator_traits<Allocator> traits;
-        typedef typename traits::pointer pointer;
-
-        Allocator& alloc_;
-        pointer ptr_;
-        pointer constructed_;
-        std::size_t length_;
-
-        array_constructor(Allocator& a)
-            : alloc_(a), ptr_(), constructed_(), length_(0)
-        {
-            constructed_ = pointer();
-            ptr_ = pointer();
-        }
-
-        ~array_constructor() {
-            if (ptr_) {
-                for(pointer p = ptr_; p != constructed_; ++p)
-                    traits::destroy(alloc_, boost::addressof(*p));
-
-                traits::deallocate(alloc_, ptr_, length_);
-            }
-        }
-
-        template <typename V>
-        void construct(V const& v, std::size_t l)
-        {
-            BOOST_ASSERT(!ptr_);
-            length_ = l;
-            ptr_ = traits::allocate(alloc_, length_);
-            pointer end = ptr_ + static_cast<std::ptrdiff_t>(length_);
-            for(constructed_ = ptr_; constructed_ != end; ++constructed_)
-                traits::construct(alloc_, boost::addressof(*constructed_), v);
-        }
-
-        pointer get() const
-        {
-            return ptr_;
-        }
-
-        pointer release()
-        {
-            pointer p(ptr_);
-            ptr_ = pointer();
-            return p;
-        }
-    private:
-        array_constructor(array_constructor const&);
-        array_constructor& operator=(array_constructor const&);
-    };
-}}}
-
-#endif
diff --git a/SRC/Boost/boost/unordered/detail/buckets.hpp b/SRC/Boost/boost/unordered/detail/buckets.hpp
deleted file mode 100755
index 4b06538..0000000
--- a/SRC/Boost/boost/unordered/detail/buckets.hpp
+++ /dev/null
@@ -1,667 +0,0 @@
-
-// Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard.
-// Copyright (C) 2005-2011 Daniel James
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UNORDERED_DETAIL_MANAGER_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_MANAGER_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/unordered/detail/util.hpp>
-#include <boost/unordered/detail/allocator_helpers.hpp>
-#include <boost/unordered/detail/emplace_args.hpp>
-#include <boost/type_traits/aligned_storage.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/swap.hpp>
-#include <boost/assert.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#pragma warning(disable:4127) // conditional expression is constant
-#endif
-
-namespace boost { namespace unordered { namespace detail {
-
-    template <typename Types> struct table;
-    template <typename NodePointer> struct bucket;
-    struct ptr_bucket;
-    template <typename A, typename Bucket, typename Node> struct buckets;
-
-    ///////////////////////////////////////////////////////////////////
-    //
-    // Node construction
-
-    template <typename NodeAlloc>
-    struct node_constructor
-    {
-    private:
-
-        typedef NodeAlloc node_allocator;
-        typedef boost::unordered::detail::allocator_traits<NodeAlloc>
-            node_allocator_traits;
-        typedef typename node_allocator_traits::value_type node;
-        typedef typename node_allocator_traits::pointer node_pointer;
-        typedef typename node::value_type value_type;
-
-        node_allocator& alloc_;
-        node_pointer node_;
-        bool node_constructed_;
-        bool value_constructed_;
-
-    public:
-
-        node_constructor(node_allocator& n) :
-            alloc_(n),
-            node_(),
-            node_constructed_(false),
-            value_constructed_(false)
-        {
-        }
-
-        ~node_constructor();
-
-        void construct_node();
-
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
-        void construct_value(BOOST_UNORDERED_EMPLACE_ARGS)
-        {
-            BOOST_ASSERT(node_ && node_constructed_ && !value_constructed_);
-            boost::unordered::detail::construct_impl(
-                node_->value_ptr(), BOOST_UNORDERED_EMPLACE_FORWARD);
-            value_constructed_ = true;
-        }
-
-        template <typename A0>
-        void construct_value2(BOOST_FWD_REF(A0) a0)
-        {
-            BOOST_ASSERT(node_ && node_constructed_ && !value_constructed_);
-            boost::unordered::detail::construct_impl2(
-                node_->value_ptr(), boost::forward<A0>(a0));
-            value_constructed_ = true;
-        }
-
-        value_type const& value() const {
-            BOOST_ASSERT(node_ && node_constructed_ && value_constructed_);
-            return node_->value();
-        }
-
-        // no throw
-        node_pointer release()
-        {
-            node_pointer p = node_;
-            node_ = node_pointer();
-            return p;
-        }
-
-    private:
-        node_constructor(node_constructor const&);
-        node_constructor& operator=(node_constructor const&);
-    };
-    
-    template <typename Alloc>
-    node_constructor<Alloc>::~node_constructor()
-    {
-        if (node_) {
-            if (value_constructed_) {
-                boost::unordered::detail::destroy(node_->value_ptr());
-            }
-
-            if (node_constructed_) {
-                node_allocator_traits::destroy(alloc_,
-                    boost::addressof(*node_));
-            }
-
-            node_allocator_traits::deallocate(alloc_, node_, 1);
-        }
-    }
-
-    template <typename Alloc>
-    void node_constructor<Alloc>::construct_node()
-    {
-        if(!node_) {
-            node_constructed_ = false;
-            value_constructed_ = false;
-
-            node_ = node_allocator_traits::allocate(alloc_, 1);
-
-            node_allocator_traits::construct(alloc_,
-                boost::addressof(*node_), node());
-            node_->init(static_cast<typename node::link_pointer>(node_));
-            node_constructed_ = true;
-        }
-        else {
-            BOOST_ASSERT(node_constructed_);
-
-            if (value_constructed_)
-            {
-                boost::unordered::detail::destroy(node_->value_ptr());
-                value_constructed_ = false;
-            }
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////
-    //
-    // Bucket
-
-    template <typename NodePointer>
-    struct bucket
-    {
-        typedef NodePointer previous_pointer;
-        previous_pointer next_;
-
-        bucket() : next_() {}
-
-        previous_pointer first_from_start()
-        {
-            return next_;
-        }
-
-        enum { extra_node = true };
-    };
-
-    struct ptr_bucket
-    {
-        typedef ptr_bucket* previous_pointer;
-        previous_pointer next_;
-
-        ptr_bucket() : next_(0) {}
-
-        previous_pointer first_from_start()
-        {
-            return this;
-        }
-
-        enum { extra_node = false };
-    };
-
-    ///////////////////////////////////////////////////////////////////
-    //
-    // Buckets
-
-    template <typename A, typename Bucket, typename Node>
-    struct buckets
-    {
-    private:
-        buckets(buckets const&);
-        buckets& operator=(buckets const&);
-    public:
-        typedef boost::unordered::detail::allocator_traits<A> traits;
-        typedef typename traits::value_type value_type;
-
-        typedef Node node;
-        typedef Bucket bucket;
-        typedef typename boost::unordered::detail::rebind_wrap<A, node>::type
-            node_allocator;
-        typedef typename boost::unordered::detail::rebind_wrap<A, bucket>::type
-            bucket_allocator;
-        typedef boost::unordered::detail::allocator_traits<node_allocator>
-            node_allocator_traits;
-        typedef boost::unordered::detail::allocator_traits<bucket_allocator>
-            bucket_allocator_traits;
-        typedef typename node_allocator_traits::pointer
-            node_pointer;
-        typedef typename node_allocator_traits::const_pointer
-            const_node_pointer;
-        typedef typename bucket_allocator_traits::pointer
-            bucket_pointer;
-        typedef typename bucket::previous_pointer
-            previous_pointer;
-        typedef boost::unordered::detail::node_constructor<node_allocator>
-            node_constructor;
-
-        // Members
-
-        bucket_pointer buckets_;
-        std::size_t bucket_count_;
-        std::size_t size_;
-        boost::unordered::detail::compressed<bucket_allocator, node_allocator>
-            allocators_;
-
-        // Data access
-
-        bucket_allocator const& bucket_alloc() const
-        {
-            return allocators_.first();
-        }
-
-        node_allocator const& node_alloc() const
-        {
-            return allocators_.second();
-        }
-
-        bucket_allocator& bucket_alloc()
-        {
-            return allocators_.first();
-        }
-
-        node_allocator& node_alloc()
-        {
-            return allocators_.second();
-        }
-
-        std::size_t max_bucket_count() const
-        {
-            // -1 to account for the start bucket.
-            return boost::unordered::detail::prev_prime(
-                bucket_allocator_traits::max_size(bucket_alloc()) - 1);
-        }
-
-        bucket_pointer get_bucket(std::size_t bucket_index) const
-        {
-            return buckets_ + static_cast<std::ptrdiff_t>(bucket_index);
-        }
-
-        previous_pointer get_previous_start() const
-        {
-            return this->get_bucket(this->bucket_count_)->first_from_start();
-        }
-
-        previous_pointer get_previous_start(std::size_t bucket_index) const
-        {
-            return this->get_bucket(bucket_index)->next_;
-        }
-
-        node_pointer get_start() const
-        {
-            return static_cast<node_pointer>(this->get_previous_start()->next_);
-        }
-
-        node_pointer get_start(std::size_t bucket_index) const
-        {
-            previous_pointer prev = this->get_previous_start(bucket_index);
-            return prev ? static_cast<node_pointer>(prev->next_) :
-                node_pointer();
-        }
-
-        float load_factor() const
-        {
-            BOOST_ASSERT(this->bucket_count_ != 0);
-            return static_cast<float>(this->size_)
-                / static_cast<float>(this->bucket_count_);
-        }
-
-        std::size_t bucket_size(std::size_t index) const
-        {
-            if (!this->size_) return 0;
-            node_pointer ptr = this->get_start(index);
-            if (!ptr) return 0;
-
-            std::size_t count = 0;
-            while(ptr && ptr->hash_ % this->bucket_count_ == index)
-            {
-                ++count;
-                ptr = static_cast<node_pointer>(ptr->next_);
-            }
-
-            return count;
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Constructors
-
-        buckets(node_allocator const& a, std::size_t bucket_count) :
-            buckets_(),
-            bucket_count_(bucket_count),
-            size_(),
-            allocators_(a,a)
-        {
-        }
-
-        buckets(buckets& b, boost::unordered::detail::move_tag m) :
-            buckets_(),
-            bucket_count_(b.bucket_count_),
-            size_(),
-            allocators_(b.allocators_, m)
-        {
-            swap(b);
-        }
-
-        template <typename Types>
-        buckets(boost::unordered::detail::table<Types>& x,
-                boost::unordered::detail::move_tag m) :
-            buckets_(),
-            bucket_count_(x.bucket_count_),
-            size_(),
-            allocators_(x.allocators_, m)
-        {
-            swap(x);
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Create buckets
-        // (never called in constructor to avoid exception issues)
-
-        void create_buckets()
-        {
-            boost::unordered::detail::array_constructor<bucket_allocator>
-                constructor(bucket_alloc());
-    
-            // Creates an extra bucket to act as the start node.
-            constructor.construct(bucket(), this->bucket_count_ + 1);
-    
-            if (bucket::extra_node)
-            {
-                node_constructor a(this->node_alloc());
-                a.construct_node();
-
-                (constructor.get() +
-                    static_cast<std::ptrdiff_t>(this->bucket_count_))->next_ =
-                        a.release();
-            }
-
-            this->buckets_ = constructor.release();
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Swap and Move
-
-        void swap(buckets& other, false_type = false_type())
-        {
-            BOOST_ASSERT(node_alloc() == other.node_alloc());
-            boost::swap(buckets_, other.buckets_);
-            boost::swap(bucket_count_, other.bucket_count_);
-            boost::swap(size_, other.size_);
-        }
-
-        void swap(buckets& other, true_type)
-        {
-            allocators_.swap(other.allocators_);
-            boost::swap(buckets_, other.buckets_);
-            boost::swap(bucket_count_, other.bucket_count_);
-            boost::swap(size_, other.size_);
-        }
-
-        void move_buckets_from(buckets& other)
-        {
-            BOOST_ASSERT(node_alloc() == other.node_alloc());
-            BOOST_ASSERT(!this->buckets_);
-            this->buckets_ = other.buckets_;
-            this->bucket_count_ = other.bucket_count_;
-            this->size_ = other.size_;
-            other.buckets_ = bucket_pointer();
-            other.bucket_count_ = 0;
-            other.size_ = 0;
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Delete/destruct
-
-        inline void delete_node(node_pointer n)
-        {
-            boost::unordered::detail::destroy(n->value_ptr());
-            node_allocator_traits::destroy(node_alloc(), boost::addressof(*n));
-            node_allocator_traits::deallocate(node_alloc(), n, 1);
-            --size_;
-        }
-
-        std::size_t delete_nodes(node_pointer begin, node_pointer end)
-        {
-            std::size_t count = 0;
-
-            while(begin != end) {
-                node_pointer n = begin;
-                begin = static_cast<node_pointer>(begin->next_);
-                delete_node(n);
-                ++count;
-            }
-
-            return count;
-        }
-
-        inline void delete_extra_node(bucket_pointer) {}
-
-        inline void delete_extra_node(node_pointer n) {
-            node_allocator_traits::destroy(node_alloc(), boost::addressof(*n));
-            node_allocator_traits::deallocate(node_alloc(), n, 1);
-        }
-
-        inline ~buckets()
-        {
-            this->delete_buckets();
-        }
-
-        void delete_buckets()
-        {
-            if(this->buckets_) {
-                previous_pointer prev = this->get_previous_start();
-
-                while(prev->next_) {
-                    node_pointer n = static_cast<node_pointer>(prev->next_);
-                    prev->next_ = n->next_;
-                    delete_node(n);
-                }
-
-                delete_extra_node(prev);
-
-                bucket_pointer end = this->get_bucket(this->bucket_count_ + 1);
-                for(bucket_pointer it = this->buckets_; it != end; ++it)
-                {
-                    bucket_allocator_traits::destroy(bucket_alloc(),
-                        boost::addressof(*it));
-                }
-
-                bucket_allocator_traits::deallocate(bucket_alloc(),
-                    this->buckets_, this->bucket_count_ + 1);
-    
-                this->buckets_ = bucket_pointer();
-            }
-
-            BOOST_ASSERT(!this->size_);
-        }
-
-        void clear()
-        {
-            if(!this->size_) return;
-
-            previous_pointer prev = this->get_previous_start();
-
-            while(prev->next_) {
-                node_pointer n = static_cast<node_pointer>(prev->next_);
-                prev->next_ = n->next_;
-                delete_node(n);
-            }
-
-            bucket_pointer end = this->get_bucket(this->bucket_count_);
-            for(bucket_pointer it = this->buckets_; it != end; ++it)
-            {
-                it->next_ = node_pointer();
-            }
-
-            BOOST_ASSERT(!this->size_);
-        }
-
-        // This is called after erasing a node or group of nodes to fix up
-        // the bucket pointers.
-        void fix_buckets(bucket_pointer bucket,
-                previous_pointer prev, node_pointer next)
-        {
-            if (!next)
-            {
-                if (bucket->next_ == prev) bucket->next_ = node_pointer();
-            }
-            else
-            {
-                bucket_pointer next_bucket = this->get_bucket(
-                    next->hash_ % this->bucket_count_);
-
-                if (next_bucket != bucket)
-                {
-                    next_bucket->next_ = prev;
-                    if (bucket->next_ == prev) bucket->next_ = node_pointer();
-                }
-            }
-        }
-
-        // This is called after erasing a range of nodes to fix any bucket
-        // pointers into that range.
-        void fix_buckets_range(std::size_t bucket_index,
-                previous_pointer prev, node_pointer begin, node_pointer end)
-        {
-            node_pointer n = begin;
-    
-            // If we're not at the start of the current bucket, then
-            // go to the start of the next bucket.
-            if (this->get_bucket(bucket_index)->next_ != prev)
-            {
-                for(;;) {
-                    n = static_cast<node_pointer>(n->next_);
-                    if (n == end) return;
-    
-                    std::size_t new_bucket_index =
-                        n->hash_ % this->bucket_count_;
-                    if (bucket_index != new_bucket_index) {
-                        bucket_index = new_bucket_index;
-                        break;
-                    }
-                }
-            }
-    
-            // Iterate through the remaining nodes, clearing out the bucket
-            // pointers.
-            this->get_bucket(bucket_index)->next_ = previous_pointer();
-            for(;;) {
-                n = static_cast<node_pointer>(n->next_);
-                if (n == end) break;
-    
-                std::size_t new_bucket_index =
-                    n->hash_ % this->bucket_count_;
-                if (bucket_index != new_bucket_index) {
-                    bucket_index = new_bucket_index;
-                    this->get_bucket(bucket_index)->next_ = previous_pointer();
-                }
-            };
-    
-            // Finally fix the bucket containing the trailing node.
-            if (n) {
-                this->get_bucket(n->hash_ % this->bucket_count_)->next_
-                    = prev;
-            }
-        }
-    };
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Functions
-
-    // Assigning and swapping the equality and hash function objects
-    // needs strong exception safety. To implement that normally we'd
-    // require one of them to be known to not throw and the other to
-    // guarantee strong exception safety. Unfortunately they both only
-    // have basic exception safety. So to acheive strong exception
-    // safety we have storage space for two copies, and assign the new
-    // copies to the unused space. Then switch to using that to use
-    // them. This is implemented in 'set_hash_functions' which
-    // atomically assigns the new function objects in a strongly
-    // exception safe manner.
-
-    template <class H, class P> class set_hash_functions;
-
-    template <class H, class P>
-    class functions
-    {
-        friend class boost::unordered::detail::set_hash_functions<H, P>;
-        functions& operator=(functions const&);
-
-        typedef compressed<H, P> function_pair;
-
-        typedef typename boost::aligned_storage<
-            sizeof(function_pair),
-            boost::alignment_of<function_pair>::value>::type aligned_function;
-
-        bool current_; // The currently active functions.
-        aligned_function funcs_[2];
-
-        function_pair const& current() const {
-            return *static_cast<function_pair const*>(
-                static_cast<void const*>(&funcs_[current_]));
-        }
-
-        void construct(bool which, H const& hf, P const& eq)
-        {
-            new((void*) &funcs_[which]) function_pair(hf, eq);
-        }
-
-        void construct(bool which, function_pair const& f)
-        {
-            new((void*) &funcs_[which]) function_pair(f);
-        }
-        
-        void destroy(bool which)
-        {
-            boost::unordered::detail::destroy((function_pair*)(&funcs_[which]));
-        }
-        
-    public:
-
-        functions(H const& hf, P const& eq)
-            : current_(false)
-        {
-            construct(current_, hf, eq);
-        }
-
-        functions(functions const& bf)
-            : current_(false)
-        {
-            construct(current_, bf.current());
-        }
-
-        ~functions() {
-            this->destroy(current_);
-        }
-
-        H const& hash_function() const {
-            return current().first();
-        }
-
-        P const& key_eq() const {
-            return current().second();
-        }
-    };
-    
-    template <class H, class P>
-    class set_hash_functions
-    {
-        set_hash_functions(set_hash_functions const&);
-        set_hash_functions& operator=(set_hash_functions const&);
-    
-        functions<H,P>& functions_;
-        bool tmp_functions_;
-
-    public:
-
-        set_hash_functions(functions<H,P>& f, H const& h, P const& p)
-          : functions_(f),
-            tmp_functions_(!f.current_)
-        {
-            f.construct(tmp_functions_, h, p);
-        }
-
-        set_hash_functions(functions<H,P>& f, functions<H,P> const& other)
-          : functions_(f),
-            tmp_functions_(!f.current_)
-        {
-            f.construct(tmp_functions_, other.current());
-        }
-
-        ~set_hash_functions()
-        {
-            functions_.destroy(tmp_functions_);
-        }
-
-        void commit()
-        {
-            functions_.current_ = tmp_functions_;
-            tmp_functions_ = !tmp_functions_;
-        }
-    };
-}}}
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/unordered/detail/emplace_args.hpp b/SRC/Boost/boost/unordered/detail/emplace_args.hpp
deleted file mode 100755
index af4ccbb..0000000
--- a/SRC/Boost/boost/unordered/detail/emplace_args.hpp
+++ /dev/null
@@ -1,423 +0,0 @@
-
-// Copyright (C) 2011 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/unordered for documentation
-
-#ifndef BOOST_UNORDERED_EMPLACE_ARGS_HPP
-#define BOOST_UNORDERED_EMPLACE_ARGS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/move/move.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/inc.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <utility>
-
-#if !defined(BOOST_NO_0X_HDR_TUPLE)
-#include <tuple>
-#endif
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#pragma warning(disable:4512) // assignment operator could not be generated.
-#pragma warning(disable:4345) // behavior change: an object of POD type
-                              // constructed with an initializer of the form ()
-                              // will be default-initialized.
-#endif
-
-#define BOOST_UNORDERED_EMPLACE_LIMIT 10
-
-#if !defined(BOOST_NO_RVALUE_REFERENCES) && \
-        !defined(BOOST_NO_VARIADIC_TEMPLATES)
-#   if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-#   elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
-#   elif defined(_LIBCPP_VERSION)
-#       define BOOST_UNORDERED_STD_FORWARD_MOVE
-#   elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
-#       if defined(__GLIBCXX__) && __GLIBCXX__ >= 20090804
-#           define BOOST_UNORDERED_STD_FORWARD_MOVE
-#       endif
-#    elif defined(__STL_CONFIG_H)
-#    elif defined(__MSL_CPP__)
-#    elif defined(__IBMCPP__)
-#    elif defined(MSIPL_COMPILE_H)
-#    elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
-#   endif
-#endif
-
-namespace boost { namespace unordered { namespace detail {
-
-    ////////////////////////////////////////////////////////////////////////////
-    // emplace_args
-    //
-    // Either forwarding variadic arguments, or storing the arguments in
-    // emplace_args##n
-
-#if defined(BOOST_UNORDERED_STD_FORWARD_MOVE)
-
-#define BOOST_UNORDERED_EMPLACE_TEMPLATE typename... Args
-#define BOOST_UNORDERED_EMPLACE_ARGS Args&&... args
-#define BOOST_UNORDERED_EMPLACE_FORWARD std::forward<Args>(args)...
-
-#else
-
-#define BOOST_UNORDERED_EMPLACE_TEMPLATE typename Args
-#define BOOST_UNORDERED_EMPLACE_ARGS Args const& args
-#define BOOST_UNORDERED_EMPLACE_FORWARD args
-
-#define BOOST_UNORDERED_FWD_PARAM(z, n, a) \
-    BOOST_FWD_REF(BOOST_PP_CAT(A, n)) BOOST_PP_CAT(a, n)
-
-#define BOOST_UNORDERED_CALL_FORWARD(z, i, a) \
-    boost::forward<BOOST_PP_CAT(A,i)>(BOOST_PP_CAT(a,i))
-
-#define BOOST_UNORDERED_EARGS(z, n, _)                                      \
-    template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                     \
-    struct BOOST_PP_CAT(emplace_args, n)                                    \
-    {                                                                       \
-        BOOST_PP_REPEAT_##z(n, BOOST_UNORDERED_EARGS_MEMBER, _)             \
-        BOOST_PP_CAT(emplace_args, n) (                                     \
-            BOOST_PP_ENUM_BINARY_PARAMS_Z(z, n, Arg, a)                     \
-        ) : BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_EARGS_INIT, _)             \
-        {}                                                                  \
-                                                                            \
-    };                                                                      \
-                                                                            \
-    template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                     \
-    inline BOOST_PP_CAT(emplace_args, n) <                                  \
-        BOOST_PP_ENUM_PARAMS_Z(z, n, A)                                     \
-    > create_emplace_args(                                                  \
-        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)                  \
-    )                                                                       \
-    {                                                                       \
-        BOOST_PP_CAT(emplace_args, n) <                                     \
-            BOOST_PP_ENUM_PARAMS_Z(z, n, A)                                 \
-        > e(BOOST_PP_ENUM_PARAMS_Z(z, n, a));                               \
-        return e;                                                           \
-    }
-
-#if defined(BOOST_NO_RVALUE_REFERENCES)
-
-#define BOOST_UNORDERED_EARGS_MEMBER(z, n, _)                               \
-    typedef BOOST_FWD_REF(BOOST_PP_CAT(A, n)) BOOST_PP_CAT(Arg, n);         \
-    BOOST_PP_CAT(Arg, n) BOOST_PP_CAT(a, n);
-
-#define BOOST_UNORDERED_EARGS_INIT(z, n, _)                                 \
-    BOOST_PP_CAT(a, n)(                                                     \
-        boost::forward<BOOST_PP_CAT(A,n)>(BOOST_PP_CAT(a, n)))
-
-#else
-
-#define BOOST_UNORDERED_EARGS_MEMBER(z, n, _)                               \
-    typedef typename boost::add_lvalue_reference<BOOST_PP_CAT(A, n)>::type  \
-        BOOST_PP_CAT(Arg, n);                                               \
-    BOOST_PP_CAT(Arg, n) BOOST_PP_CAT(a, n);
-
-#define BOOST_UNORDERED_EARGS_INIT(z, n, _)                                 \
-    BOOST_PP_CAT(a, n)(BOOST_PP_CAT(a, n))
-
-#endif
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT, BOOST_UNORDERED_EARGS,
-    _)
-
-#undef BOOST_UNORDERED_DEFINE_EMPLACE_ARGS
-#undef BOOST_UNORDERED_EARGS_MEMBER
-#undef BOOST_UNORDERED_EARGS_INIT
-
-#endif
-
-    ////////////////////////////////////////////////////////////////////////////
-    // rvalue parameters when type can't be a BOOST_RV_REF(T) parameter
-    // e.g. for int
-
-#if !defined(BOOST_NO_RVALUE_REFERENCES)
-#   define BOOST_UNORDERED_RV_REF(T) BOOST_RV_REF(T)
-#else
-    struct please_ignore_this_overload {
-        typedef please_ignore_this_overload type;
-    };
-
-    template <typename T>
-    struct rv_ref_impl {
-        typedef BOOST_RV_REF(T) type;
-    };
-
-    template <typename T>
-    struct rv_ref :
-        boost::detail::if_true<
-            boost::is_class<T>::value
-        >::BOOST_NESTED_TEMPLATE then <
-            boost::unordered::detail::rv_ref_impl<T>,
-            please_ignore_this_overload
-        >::type
-    {};
-
-#   define BOOST_UNORDERED_RV_REF(T) \
-        typename boost::unordered::detail::rv_ref<T>::type
-#endif
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Construct from tuple
-    //
-    // Used for piecewise construction.
-
-#define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_)                 \
-    template<typename T>                                                    \
-    void construct_from_tuple(T* ptr, namespace_::tuple<>)                  \
-    {                                                                       \
-        new ((void*) ptr) T();                                              \
-    }                                                                       \
-                                                                            \
-    BOOST_PP_REPEAT_FROM_TO(1, n,                                           \
-        BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL, namespace_)
-
-#define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL(z, n, namespace_)         \
-    template<typename T, BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>          \
-    void construct_from_tuple(T* ptr,                                       \
-            namespace_::tuple<BOOST_PP_ENUM_PARAMS_Z(z, n, A)> const& x)    \
-    {                                                                       \
-        new ((void*) ptr) T(                                                \
-            BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_GET_TUPLE_ARG, namespace_) \
-        );                                                                  \
-    }
-
-#define BOOST_UNORDERED_GET_TUPLE_ARG(z, n, namespace_)                     \
-    namespace_::get<n>(x)
-
-BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(10, boost)
-
-#if !defined(BOOST_NO_0X_HDR_TUPLE)
-BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(10, std)
-#endif
-
-#undef BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE
-#undef BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL
-#undef BOOST_UNORDERED_GET_TUPLE_ARG
-
-    ////////////////////////////////////////////////////////////////////////////
-    // SFINAE traits for construction.
-
-    // Decide which construction method to use for a three argument
-    // call. Note that this is difficult to do using overloads because
-    // the arguments are packed into 'emplace_args3'.
-    //
-    // The decision is made on the first argument.
-
-
-#if defined(BOOST_UNORDERED_DEPRECATED_PAIR_CONSTRUCT)
-    template <typename A, typename B, typename A0>
-    struct emulation1 {
-        static choice1::type test(choice1, std::pair<A, B> const&);
-        static choice2::type test(choice2, A const&);
-        static choice3::type test(choice3, convert_from_anything const&);
-
-        enum { value =
-            sizeof(test(choose(), boost::unordered::detail::make<A0>())) ==
-                sizeof(choice2::type) };
-    };
-#endif
-
-    template <typename A, typename B, typename A0>
-    struct check3_base {
-        static choice1::type test(choice1,
-            boost::unordered::piecewise_construct_t);
-
-#if defined(BOOST_UNORDERED_DEPRECATED_PAIR_CONSTRUCT)
-        static choice2::type test(choice2, A const&);
-#endif
-
-        static choice3::type test(choice3, ...);
-
-        enum { value =
-            sizeof(test(choose(), boost::unordered::detail::make<A0>())) };
-    };
-
-    template <typename A, typename B, typename A0>
-    struct piecewise3 {
-        enum { value = check3_base<A,B,A0>::value == sizeof(choice1::type) };
-    };
-
-#if defined(BOOST_UNORDERED_DEPRECATED_PAIR_CONSTRUCT)
-    template <typename A, typename B, typename A0>
-    struct emulation3 {
-        enum { value = check3_base<A,B,A0>::value == sizeof(choice2::type) };
-    };
-
-#endif
-
-#if defined(BOOST_UNORDERED_STD_FORWARD_MOVE)
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Construct from variadic parameters
-
-    template <typename T, typename... Args>
-    inline void construct_impl(T* address, Args&&... args)
-    {
-        new((void*) address) T(std::forward<Args>(args)...);
-    }
-
-    template <typename A, typename B, typename A0, typename A1, typename A2>
-    inline typename enable_if<piecewise3<A, B, A0>, void>::type
-        construct_impl(std::pair<A, B>* address, A0&&, A1&& a1, A2&& a2)
-    {
-        boost::unordered::detail::construct_from_tuple(
-            boost::addressof(address->first), a1);
-        boost::unordered::detail::construct_from_tuple(
-            boost::addressof(address->second), a2);
-    }
-
-#if defined(BOOST_UNORDERED_DEPRECATED_PAIR_CONSTRUCT)
-
-    template <typename A, typename B, typename A0>
-    inline typename enable_if<emulation1<A, B, A0>, void>::type
-        construct_impl(std::pair<A, B>* address, A0&& a0)
-    {
-        new((void*) boost::addressof(address->first)) A(std::forward<A0>(a0));
-        new((void*) boost::addressof(address->second)) B();
-   }
-
-    template <typename A, typename B, typename A0, typename A1, typename A2>
-    inline typename enable_if<emulation3<A, B, A0>, void>::type
-        construct_impl(std::pair<A, B>* address, A0&& a0, A1&& a1, A2&& a2)
-    {
-        new((void*) boost::addressof(address->first)) A(std::forward<A0>(a0));
-        new((void*) boost::addressof(address->second)) B(
-            std::forward<A1>(a1),
-            std::forward<A2>(a2));
-    }
-
-    template <typename A, typename B,
-            typename A0, typename A1, typename A2, typename A3,
-            typename... Args>
-    inline void construct_impl(std::pair<A, B>* address,
-            A0&& a0, A1&& a1, A2&& a2, A3&& a3, Args&&... args)
-    {
-        new((void*) boost::addressof(address->first)) A(std::forward<A0>(a0));
-
-        new((void*) boost::addressof(address->second)) B(
-            std::forward<A1>(a1),
-            std::forward<A2>(a2),
-            std::forward<A3>(a3),
-            std::forward<Args>(args)...);
-    }
-
-#endif // BOOST_UNORDERED_DEPRECATED_PAIR_CONSTRUCT
-#else // BOOST_UNORDERED_STD_FORWARD_MOVE
-
-////////////////////////////////////////////////////////////////////////////////
-// Construct from emplace_args
-
-#define BOOST_UNORDERED_CONSTRUCT_IMPL(z, num_params, _)                    \
-    template <                                                              \
-        typename T,                                                         \
-        BOOST_PP_ENUM_PARAMS_Z(z, num_params, typename A)                   \
-    >                                                                       \
-    inline void construct_impl(T* address,                                  \
-        boost::unordered::detail::BOOST_PP_CAT(emplace_args,num_params) <   \
-            BOOST_PP_ENUM_PARAMS_Z(z, num_params, A)                        \
-        > const& args)                                                      \
-    {                                                                       \
-        new((void*) address) T(                                             \
-            BOOST_PP_ENUM_##z(num_params, BOOST_UNORDERED_CALL_FORWARD,     \
-                args.a));                                                   \
-    }
-
-    BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
-        BOOST_UNORDERED_CONSTRUCT_IMPL, _)
-
-#undef BOOST_UNORDERED_CONSTRUCT_IMPL
-
-    template <typename A, typename B, typename A0, typename A1, typename A2>
-    inline typename enable_if<piecewise3<A, B, A0>, void>::type
-        construct_impl(std::pair<A, B>* address,
-            boost::unordered::detail::emplace_args3<A0, A1, A2> const& args)
-    {
-        boost::unordered::detail::construct_from_tuple(
-            boost::addressof(address->first), args.a1);
-        boost::unordered::detail::construct_from_tuple(
-            boost::addressof(address->second), args.a2);
-    }
-
-#if defined(BOOST_UNORDERED_DEPRECATED_PAIR_CONSTRUCT)
-
-    template <typename A, typename B, typename A0>
-    inline typename enable_if<emulation1<A, B, A0>, void>::type
-        construct_impl(std::pair<A, B>* address,
-            boost::unordered::detail::emplace_args1<A0> const& args)
-    {
-        new((void*) boost::addressof(address->first)) A(
-            boost::forward<A0>(args.a0));
-        new((void*) boost::addressof(address->second)) B();
-    }
-
-    template <typename A, typename B, typename A0, typename A1, typename A2>
-    inline typename enable_if<emulation3<A, B, A0>, void>::type
-        construct_impl(std::pair<A, B>* address,
-            boost::unordered::detail::emplace_args3<A0, A1, A2> const& args)
-    {
-        new((void*) boost::addressof(address->first)) A(
-            boost::forward<A0>(args.a0));
-        new((void*) boost::addressof(address->second)) B(
-            boost::forward<A1>(args.a1),
-            boost::forward<A2>(args.a2));
-    }
-
-#define BOOST_UNORDERED_CONSTRUCT_PAIR_IMPL(z, num_params, _)               \
-    template <typename A, typename B,                                       \
-        BOOST_PP_ENUM_PARAMS_Z(z, num_params, typename A)                   \
-    >                                                                       \
-    inline void construct_impl(std::pair<A, B>* address,                    \
-        boost::unordered::detail::BOOST_PP_CAT(emplace_args, num_params) <  \
-                BOOST_PP_ENUM_PARAMS_Z(z, num_params, A)                    \
-            > const& args)                                                  \
-    {                                                                       \
-        new((void*) boost::addressof(address->first)) A(                    \
-            boost::forward<A0>(args.a0));                                   \
-        new((void*) boost::addressof(address->second)) B(                   \
-            BOOST_PP_ENUM_##z(BOOST_PP_DEC(num_params),                     \
-                BOOST_UNORDERED_CALL_FORWARD2, args.a));                    \
-    }
-
-#define BOOST_UNORDERED_CALL_FORWARD2(z, i, a) \
-    BOOST_UNORDERED_CALL_FORWARD(z, BOOST_PP_INC(i), a)
-
-    BOOST_UNORDERED_CONSTRUCT_PAIR_IMPL(1, 2, _)
-    BOOST_PP_REPEAT_FROM_TO(4, BOOST_UNORDERED_EMPLACE_LIMIT,
-        BOOST_UNORDERED_CONSTRUCT_PAIR_IMPL, _)
-
-#undef BOOST_UNORDERED_CONSTRUCT_PAIR_IMPL
-#undef BOOST_UNORDERED_CALL_FORWARD2
-
-#endif // BOOST_UNORDERED_DEPRECATED_PAIR_CONSTRUCT
-#endif // BOOST_UNORDERED_STD_FORWARD_MOVE
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Construct without using the emplace args mechanism.
-
-    template <typename T, typename A0>
-    inline void construct_impl2(T* address, BOOST_FWD_REF(A0) a0)
-    {
-        new((void*) address) T(
-            boost::forward<A0>(a0)
-        );
-    }
-
-}}}
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/unordered/detail/equivalent.hpp b/SRC/Boost/boost/unordered/detail/equivalent.hpp
deleted file mode 100755
index 4c9d7e5..0000000
--- a/SRC/Boost/boost/unordered/detail/equivalent.hpp
+++ /dev/null
@@ -1,827 +0,0 @@
-
-// Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard.
-// Copyright (C) 2005-2011 Daniel James
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UNORDERED_DETAIL_EQUIVALENT_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_EQUIVALENT_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/unordered/detail/table.hpp>
-#include <boost/unordered/detail/emplace_args.hpp>
-#include <boost/unordered/detail/extract_key.hpp>
-
-namespace boost { namespace unordered { namespace detail {
-
-    template <typename A, typename T> struct grouped_node;
-    template <typename T> struct grouped_ptr_node;
-    template <typename Types> struct grouped_table_impl;
-
-    template <typename A, typename T>
-    struct grouped_node :
-        boost::unordered::detail::value_base<T>
-    {
-        typedef typename ::boost::unordered::detail::rebind_wrap<
-            A, grouped_node<A, T> >::type::pointer link_pointer;
-
-        link_pointer next_;
-        link_pointer group_prev_;
-        std::size_t hash_;
-
-        grouped_node() :
-            next_(),
-            group_prev_(),
-            hash_(0)
-        {}
-
-        void init(link_pointer self)
-        {
-            group_prev_ = self;
-        }
-    };
-
-    template <typename T>
-    struct grouped_ptr_node :
-        boost::unordered::detail::value_base<T>,
-        boost::unordered::detail::ptr_bucket
-    {
-        typedef boost::unordered::detail::ptr_bucket bucket_base;
-        typedef ptr_bucket* link_pointer;
-
-        link_pointer group_prev_;
-        std::size_t hash_;
-
-        grouped_ptr_node() :
-            bucket_base(),
-            group_prev_(0),
-            hash_(0)
-        {}
-
-        void init(link_pointer self)
-        {
-            group_prev_ = self;
-        }
-    };
-
-    // If the allocator uses raw pointers use grouped_ptr_node
-    // Otherwise use grouped_node.
-
-    template <typename A, typename T, typename NodePtr, typename BucketPtr>
-    struct pick_grouped_node2
-    {
-        typedef boost::unordered::detail::grouped_node<A, T> node;
-
-        typedef typename boost::unordered::detail::allocator_traits<
-            typename boost::unordered::detail::rebind_wrap<A, node>::type
-        >::pointer node_pointer;
-
-        typedef boost::unordered::detail::bucket<node_pointer> bucket;
-        typedef node_pointer link_pointer;
-    };
-
-    template <typename A, typename T>
-    struct pick_grouped_node2<A, T,
-        boost::unordered::detail::grouped_ptr_node<T>*,
-        boost::unordered::detail::ptr_bucket*>
-    {
-        typedef boost::unordered::detail::grouped_ptr_node<T> node;
-        typedef boost::unordered::detail::ptr_bucket bucket;
-        typedef bucket* link_pointer;
-    };
-
-    template <typename A, typename T>
-    struct pick_grouped_node
-    {
-        typedef boost::unordered::detail::allocator_traits<
-            typename boost::unordered::detail::rebind_wrap<A,
-                boost::unordered::detail::grouped_ptr_node<T> >::type
-        > tentative_node_traits;
-
-        typedef boost::unordered::detail::allocator_traits<
-            typename boost::unordered::detail::rebind_wrap<A,
-                boost::unordered::detail::ptr_bucket >::type
-        > tentative_bucket_traits;
-
-        typedef pick_grouped_node2<A, T,
-            typename tentative_node_traits::pointer,
-            typename tentative_bucket_traits::pointer> pick;
-
-        typedef typename pick::node node;
-        typedef typename pick::bucket bucket;
-        typedef typename pick::link_pointer link_pointer;
-    };
-
-    template <typename A, typename H, typename P>
-    struct multiset
-    {
-        typedef boost::unordered::detail::multiset<A, H, P> types;
-
-        typedef A allocator;
-        typedef H hasher;
-        typedef P key_equal;
-
-        typedef boost::unordered::detail::allocator_traits<A> traits;
-        typedef typename traits::value_type value_type;
-        typedef value_type key_type;
-
-        typedef boost::unordered::detail::pick_grouped_node<A, value_type> pick;
-        typedef typename pick::node node;
-        typedef typename pick::bucket bucket;
-        typedef typename pick::link_pointer link_pointer;
-
-        typedef boost::unordered::detail::grouped_table_impl<types> table;
-        typedef boost::unordered::detail::set_extractor<value_type> extractor;
-    };
-
-    template <typename A, typename K, typename H, typename P>
-    struct multimap
-    {
-        typedef boost::unordered::detail::multimap<A, K, H, P> types;
-
-        typedef A allocator;
-        typedef H hasher;
-        typedef P key_equal;
-        typedef K key_type;
-
-        typedef boost::unordered::detail::allocator_traits<A> traits;
-        typedef typename traits::value_type value_type;
-
-        typedef boost::unordered::detail::pick_grouped_node<A, value_type> pick;
-        typedef typename pick::node node;
-        typedef typename pick::bucket bucket;
-        typedef typename pick::link_pointer link_pointer;
-
-        typedef boost::unordered::detail::grouped_table_impl<types> table;
-        typedef boost::unordered::detail::map_extractor<key_type, value_type>
-            extractor;
-    };
-
-    template <typename Types>
-    struct grouped_table_impl : boost::unordered::detail::table<Types>
-    {
-        typedef boost::unordered::detail::table<Types> table;
-        typedef typename table::value_type value_type;
-        typedef typename table::bucket bucket;
-        typedef typename table::buckets buckets;
-        typedef typename table::node_pointer node_pointer;
-        typedef typename table::node_allocator node_allocator;
-        typedef typename table::node_allocator_traits node_allocator_traits;
-        typedef typename table::bucket_pointer bucket_pointer;
-        typedef typename table::link_pointer link_pointer;
-        typedef typename table::previous_pointer previous_pointer;
-        typedef typename table::hasher hasher;
-        typedef typename table::key_equal key_equal;
-        typedef typename table::key_type key_type;
-        typedef typename table::node_constructor node_constructor;
-        typedef typename table::extractor extractor;
-        typedef typename table::iterator iterator;
-
-        // Constructors
-
-        grouped_table_impl(std::size_t n,
-                hasher const& hf,
-                key_equal const& eq,
-                node_allocator const& a)
-          : table(n, hf, eq, a)
-        {}
-
-        grouped_table_impl(grouped_table_impl const& x)
-          : table(x, node_allocator_traits::
-                select_on_container_copy_construction(x.node_alloc())) {}
-
-        grouped_table_impl(grouped_table_impl const& x,
-                node_allocator const& a)
-          : table(x, a)
-        {}
-
-        grouped_table_impl(grouped_table_impl& x,
-                boost::unordered::detail::move_tag m)
-          : table(x, m)
-        {}
-
-        grouped_table_impl(grouped_table_impl& x,
-                node_allocator const& a,
-                boost::unordered::detail::move_tag m)
-          : table(x, a, m)
-        {}
-
-        // Accessors
-
-        template <class Key, class Pred>
-        node_pointer find_node_impl(
-                std::size_t hash,
-                Key const& k,
-                Pred const& eq) const
-        {
-            std::size_t bucket_index = hash % this->bucket_count_;
-            node_pointer n = this->get_start(bucket_index);
-
-            for (;;)
-            {
-                if (!n) return n;
-
-                std::size_t node_hash = n->hash_;
-                if (hash == node_hash)
-                {
-                    if (eq(k, this->get_key(n->value())))
-                        return n;
-                }
-                else
-                {
-                    if (node_hash % this->bucket_count_ != bucket_index)
-                        return node_pointer();
-                }
-
-                n = static_cast<node_pointer>(
-                    static_cast<node_pointer>(n->group_prev_)->next_);
-            }
-        }
-
-        std::size_t count(key_type const& k) const
-        {
-            node_pointer n = this->find_node(k);
-            if (!n) return 0;
-
-            std::size_t count = 0;
-            node_pointer it = n;
-            do {
-                it = static_cast<node_pointer>(it->group_prev_);
-                ++count;
-            } while(it != n);
-
-            return count;
-        }
-
-        std::pair<iterator, iterator>
-            equal_range(key_type const& k) const
-        {
-            node_pointer n = this->find_node(k);
-            return std::make_pair(
-                iterator(n), iterator(n ?
-                    static_cast<node_pointer>(
-                        static_cast<node_pointer>(n->group_prev_)->next_) :
-                    n));
-        }
-
-        // Equality
-
-        bool equals(grouped_table_impl const& other) const
-        {
-            if(this->size_ != other.size_) return false;
-            if(!this->size_) return true;
-    
-            for(node_pointer n1 = this->get_start(); n1;)
-            {
-                node_pointer n2 = other.find_matching_node(n1);
-                if (!n2) return false;
-                node_pointer end1 = static_cast<node_pointer>(
-                    static_cast<node_pointer>(n1->group_prev_)->next_);
-                node_pointer end2 = static_cast<node_pointer>(
-                    static_cast<node_pointer>(n2->group_prev_)->next_);
-                if (!group_equals(n1, end1, n2, end2)) return false;
-                n1 = end1;    
-            }
-    
-            return true;
-        }
-
-#if !defined(BOOST_UNORDERED_DEPRECATED_EQUALITY)
-
-        static bool group_equals(node_pointer n1, node_pointer end1,
-                node_pointer n2, node_pointer end2)
-        {
-            for(;;)
-            {
-                if (n1->value() != n2->value())
-                    break;
-
-                n1 = static_cast<node_pointer>(n1->next_);
-                n2 = static_cast<node_pointer>(n2->next_);
-            
-                if (n1 == end1) return n2 == end2;
-                if (n2 == end2) return false;
-            }
-            
-            for(node_pointer n1a = n1, n2a = n2;;)
-            {
-                n1a = static_cast<node_pointer>(n1a->next_);
-                n2a = static_cast<node_pointer>(n2a->next_);
-
-                if (n1a == end1)
-                {
-                    if (n2a == end2) break;
-                    else return false;
-                }
-
-                if (n2a == end2) return false;
-            }
-
-            node_pointer start = n1;
-            for(;n1 != end2; n1 = static_cast<node_pointer>(n1->next_))
-            {
-                value_type const& v = n1->value();
-                if (find(start, n1, v)) continue;
-                std::size_t matches = count_equal(n2, end2, v);
-                if (!matches || matches != 1 + count_equal(
-                        static_cast<node_pointer>(n1->next_), end1, v))
-                    return false;
-            }
-            
-            return true;
-        }
-
-        static bool find(node_pointer n, node_pointer end, value_type const& v)
-        {
-            for(;n != end; n = static_cast<node_pointer>(n->next_))
-                if (n->value() == v)
-                    return true;
-            return false;
-        }
-
-        static std::size_t count_equal(node_pointer n, node_pointer end,
-            value_type const& v)
-        {
-            std::size_t count = 0;
-            for(;n != end; n = static_cast<node_pointer>(n->next_))
-                if (n->value() == v) ++count;
-            return count;
-        }
-
-#else
-
-        static bool group_equals(node_pointer n1, node_pointer end1,
-                node_pointer n2, node_pointer end2)
-        {
-            for(;;)
-            {
-                if(!extractor::compare_mapped(
-                    n1->value(), n2->value()))
-                    return false;
-
-                n1 = static_cast<node_pointer>(n1->next_);
-                n2 = static_cast<node_pointer>(n2->next_);
-
-                if (n1 == end1) return n2 == end2;
-                if (n2 == end2) return false;
-            }
-        }
-
-#endif
-
-        // Emplace/Insert
-
-        static inline void add_after_node(
-                node_pointer n,
-                node_pointer pos)
-        {
-            n->next_ = static_cast<node_pointer>(pos->group_prev_)->next_;
-            n->group_prev_ = pos->group_prev_;
-            static_cast<node_pointer>(pos->group_prev_)->next_ =
-                static_cast<link_pointer>(n);
-            pos->group_prev_ = static_cast<link_pointer>(n);
-        }
-
-        inline node_pointer add_node(
-                node_constructor& a,
-                std::size_t hash,
-                node_pointer pos)
-        {
-            node_pointer n = a.release();
-            n->hash_ = hash;
-            if(pos) {
-                this->add_after_node(n, pos);
-                if (n->next_) {
-                    std::size_t next_bucket =
-                        static_cast<node_pointer>(n->next_)->hash_ %
-                        this->bucket_count_;
-                    if (next_bucket != hash % this->bucket_count_) {
-                        this->get_bucket(next_bucket)->next_ = n;
-                    }
-                }
-            }
-            else {
-                bucket_pointer b = this->get_bucket(hash % this->bucket_count_);
-
-                if (!b->next_)
-                {
-                    previous_pointer start_node = this->get_previous_start();
-                    
-                    if (start_node->next_) {
-                        this->get_bucket(
-                            static_cast<node_pointer>(start_node->next_)->hash_
-                                % this->bucket_count_)->next_ = n;
-                    }
-    
-                    b->next_ = start_node;
-                    n->next_ = start_node->next_;
-                    start_node->next_ = static_cast<link_pointer>(n);
-                }
-                else
-                {
-                    n->next_ = b->next_->next_;
-                    b->next_->next_ = static_cast<link_pointer>(n);
-                }
-            }
-            ++this->size_;
-            return n;
-        }
-
-        node_pointer emplace_impl(node_constructor& a)
-        {
-            key_type const& k = this->get_key(a.value());
-            std::size_t hash = this->hash_function()(k);
-            node_pointer position = this->find_node(hash, k);
-
-            // reserve has basic exception safety if the hash function
-            // throws, strong otherwise.
-            this->reserve_for_insert(this->size_ + 1);
-            return this->add_node(a, hash, position);
-        }
-
-        void emplace_impl_no_rehash(node_constructor& a)
-        {
-            key_type const& k = this->get_key(a.value());
-            std::size_t hash = this->hash_function()(k);
-            this->add_node(a, hash,
-                this->find_node(hash, k));
-        }
-
-#if defined(BOOST_NO_RVALUE_REFERENCES)
-        node_pointer emplace(boost::unordered::detail::emplace_args1<
-                boost::unordered::detail::please_ignore_this_overload> const&)
-        {
-            BOOST_ASSERT(false);
-            return this->begin();
-        }
-#endif
-
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
-        node_pointer emplace(BOOST_UNORDERED_EMPLACE_ARGS)
-        {
-            node_constructor a(this->node_alloc());
-            a.construct_node();
-            a.construct_value(BOOST_UNORDERED_EMPLACE_FORWARD);
-
-            return emplace_impl(a);
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Insert range methods
-
-        // if hash function throws, or inserting > 1 element, basic exception
-        // safety. Strong otherwise
-        template <class I>
-        typename boost::unordered::detail::enable_if_forward<I, void>::type
-            insert_range(I i, I j)
-        {
-            if(i == j) return;
-
-            std::size_t distance = boost::unordered::detail::distance(i, j);
-            if(distance == 1) {
-                node_constructor a(this->node_alloc());
-                a.construct_node();
-                a.construct_value2(*i);
-                emplace_impl(a);
-            }
-            else {
-                // Only require basic exception safety here
-                this->reserve_for_insert(this->size_ + distance);
-
-                node_constructor a(this->node_alloc());
-                for (; i != j; ++i) {
-                    a.construct_node();
-                    a.construct_value2(*i);
-                    emplace_impl_no_rehash(a);
-                }
-            }
-        }
-
-        template <class I>
-        typename boost::unordered::detail::disable_if_forward<I, void>::type
-            insert_range(I i, I j)
-        {
-            node_constructor a(this->node_alloc());
-            for (; i != j; ++i) {
-                a.construct_node();
-                a.construct_value2(*i);
-                emplace_impl(a);
-            }
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Erase
-        //
-        // no throw
-
-        std::size_t erase_key(key_type const& k)
-        {
-            if(!this->size_) return 0;
-
-            std::size_t hash = this->hash_function()(k);
-            std::size_t bucket_index = hash % this->bucket_count_;
-            bucket_pointer bucket = this->get_bucket(bucket_index);
-
-            previous_pointer prev = bucket->next_;
-            if (!prev) return 0;
-
-            for (;;)
-            {
-                if (!prev->next_) return 0;
-                std::size_t node_hash =
-                    static_cast<node_pointer>(prev->next_)->hash_;
-                if (node_hash % this->bucket_count_ != bucket_index)
-                    return 0;
-                if (node_hash == hash &&
-                    this->key_eq()(k, this->get_key(
-                        static_cast<node_pointer>(prev->next_)->value())))
-                    break;
-                prev = static_cast<previous_pointer>(
-                    static_cast<node_pointer>(prev->next_)->group_prev_);
-            }
-
-            node_pointer pos = static_cast<node_pointer>(prev->next_);
-            link_pointer end1 =
-                static_cast<node_pointer>(pos->group_prev_)->next_;
-            node_pointer end = static_cast<node_pointer>(end1);
-            prev->next_ = end1;
-            this->fix_buckets(bucket, prev, end);
-            return this->delete_nodes(pos, end);
-        }
-
-        node_pointer erase(node_pointer r)
-        {
-            BOOST_ASSERT(r);
-            node_pointer next = static_cast<node_pointer>(r->next_);
-
-            bucket_pointer bucket = this->get_bucket(
-                r->hash_ % this->bucket_count_);
-            previous_pointer prev = unlink_node(*bucket, r);
-
-            this->fix_buckets(bucket, prev, next);
-
-            this->delete_node(r);
-
-            return next;
-        }
-
-        node_pointer erase_range(node_pointer r1, node_pointer r2)
-        {
-            if (r1 == r2) return r2;
-
-            std::size_t bucket_index = r1->hash_ % this->bucket_count_;
-            previous_pointer prev = unlink_nodes(
-                *this->get_bucket(bucket_index), r1, r2);
-            this->fix_buckets_range(bucket_index, prev, r1, r2);
-            this->delete_nodes(r1, r2);
-
-            return r2;
-        }
-
-        static previous_pointer unlink_node(bucket& b, node_pointer n)
-        {
-            node_pointer next = static_cast<node_pointer>(n->next_);
-            previous_pointer prev =
-                static_cast<previous_pointer>(n->group_prev_);
-
-            if(prev->next_ != n) {
-                // The node is at the beginning of a group.
-
-                // Find the previous node pointer:
-                prev = b.next_;
-                while(prev->next_ != n) {
-                    prev = static_cast<previous_pointer>(
-                        static_cast<node_pointer>(prev->next_)->group_prev_);
-                }
-
-                // Remove from group
-                if (next && next->group_prev_ == static_cast<link_pointer>(n))
-                {
-                    next->group_prev_ = n->group_prev_;
-                }
-            }
-            else if (next && next->group_prev_ == static_cast<link_pointer>(n))
-            {
-                // The deleted node is not at the end of the group, so
-                // change the link from the next node.
-                next->group_prev_ = n->group_prev_;
-            }
-            else {
-                // The deleted node is at the end of the group, so the
-                // first node in the group is pointing to it.
-                // Find that to change its pointer.
-                node_pointer x = static_cast<node_pointer>(n->group_prev_);
-                while(x->group_prev_ != static_cast<link_pointer>(n)) {
-                    x = static_cast<node_pointer>(x->group_prev_);
-                }
-                x->group_prev_ = n->group_prev_;
-            }
-
-            prev->next_ = static_cast<link_pointer>(next);
-            return prev;
-        }
-
-        static previous_pointer unlink_nodes(bucket& b,
-                node_pointer begin, node_pointer end)
-        {
-            previous_pointer prev = static_cast<previous_pointer>(
-                begin->group_prev_);
-
-            if(prev->next_ != static_cast<link_pointer>(begin)) {
-                // The node is at the beginning of a group.
-
-                // Find the previous node pointer:
-                prev = b.next_;
-                while(prev->next_ != static_cast<link_pointer>(begin))
-                    prev = static_cast<previous_pointer>(
-                        static_cast<node_pointer>(prev->next_)->group_prev_);
-
-                if (end) split_group(end);
-            }
-            else {
-                node_pointer group1 = split_group(begin);
-
-                if (end) {
-                    node_pointer group2 = split_group(end);
-
-                    if(begin == group2) {
-                        link_pointer end1 = group1->group_prev_;
-                        link_pointer end2 = group2->group_prev_;
-                        group1->group_prev_ = end2;
-                        group2->group_prev_ = end1;
-                    }
-                }
-            }
-
-            prev->next_ = static_cast<link_pointer>(end);
-
-            return prev;
-        }
-
-        // Break a ciruclar list into two, with split as the beginning
-        // of the second group (if split is at the beginning then don't
-        // split).
-        static node_pointer split_group(node_pointer split)
-        {
-            // Find first node in group.
-            node_pointer first = split;
-            while (static_cast<node_pointer>(first->group_prev_)->next_ ==
-                    static_cast<link_pointer>(first))
-                first = static_cast<node_pointer>(first->group_prev_);
-
-            if(first == split) return split;
-
-            link_pointer last = first->group_prev_;
-            first->group_prev_ = split->group_prev_;
-            split->group_prev_ = last;
-
-            return first;
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // copy_buckets_to
-        //
-        // Basic exception safety. If an exception is thrown this will
-        // leave dst partially filled and the buckets unset.
-
-        static void copy_buckets_to(buckets const& src, buckets& dst)
-        {
-            BOOST_ASSERT(!dst.buckets_);
-
-            dst.create_buckets();
-
-            node_constructor a(dst.node_alloc());
-
-            node_pointer n = src.get_start();
-            previous_pointer prev = dst.get_previous_start();
-
-            while(n) {
-                std::size_t hash = n->hash_;
-                node_pointer group_end =
-                    static_cast<node_pointer>(
-                        static_cast<node_pointer>(n->group_prev_)->next_);
-
-                a.construct_node();
-                a.construct_value2(n->value());
-
-                node_pointer first_node = a.release();
-                node_pointer end = first_node;
-                first_node->hash_ = hash;
-                prev->next_ = static_cast<link_pointer>(first_node);
-                ++dst.size_;
-
-                for(n = static_cast<node_pointer>(n->next_); n != group_end;
-                        n = static_cast<node_pointer>(n->next_))
-                {
-                    a.construct_node();
-                    a.construct_value2(n->value());
-                    end = a.release();
-                    end->hash_ = hash;
-                    add_after_node(end, first_node);
-                    ++dst.size_;
-                }
-
-                prev = place_in_bucket(dst, prev, end);
-            }
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // move_buckets_to
-        //
-        // Basic exception safety. The source nodes are left in an unusable
-        // state if an exception throws.
-
-        static void move_buckets_to(buckets& src, buckets& dst)
-        {
-            BOOST_ASSERT(!dst.buckets_);
-
-            dst.create_buckets();
-
-            node_constructor a(dst.node_alloc());
-
-            node_pointer n = src.get_start();
-            previous_pointer prev = dst.get_previous_start();
-
-            while(n) {
-                std::size_t hash = n->hash_;
-                node_pointer group_end =
-                    static_cast<node_pointer>(
-                        static_cast<node_pointer>(n->group_prev_)->next_);
-
-                a.construct_node();
-                a.construct_value2(boost::move(n->value()));
-
-                node_pointer first_node = a.release();
-                node_pointer end = first_node;
-                first_node->hash_ = hash;
-                prev->next_ = static_cast<link_pointer>(first_node);
-                ++dst.size_;
-
-                for(n = static_cast<node_pointer>(n->next_); n != group_end;
-                        n = static_cast<node_pointer>(n->next_))
-                {
-                    a.construct_node();
-                    a.construct_value2(boost::move(n->value()));
-                    end = a.release();
-                    end->hash_ = hash;
-                    add_after_node(end, first_node);
-                    ++dst.size_;
-                }
-
-                prev = place_in_bucket(dst, prev, end);
-            }
-        }
-
-        // strong otherwise exception safety
-        void rehash_impl(std::size_t num_buckets)
-        {
-            BOOST_ASSERT(this->size_);
-
-            buckets dst(this->node_alloc(), num_buckets);
-            dst.create_buckets();
-
-            previous_pointer src_start = this->get_previous_start();
-            previous_pointer dst_start = dst.get_previous_start();
-
-            dst_start->next_ = src_start->next_;
-            src_start->next_ = link_pointer();
-            dst.size_ = this->size_;
-            this->size_ = 0;
-
-            previous_pointer prev = dst_start;
-            while (prev->next_)
-                prev = place_in_bucket(dst, prev,
-                    static_cast<node_pointer>(
-                        static_cast<node_pointer>(prev->next_)->group_prev_));
-
-            // Swap the new nodes back into the container and setup the
-            // variables.
-            dst.swap(*this); // no throw
-        }
-
-        // Iterate through the nodes placing them in the correct buckets.
-        // pre: prev->next_ is not null.
-        static previous_pointer place_in_bucket(buckets& dst,
-                previous_pointer prev, node_pointer end)
-        {
-            bucket_pointer b = dst.get_bucket(end->hash_ % dst.bucket_count_);
-
-            if (!b->next_) {
-                b->next_ = static_cast<node_pointer>(prev);
-                return static_cast<previous_pointer>(end);
-            }
-            else {
-                link_pointer next = end->next_;
-                end->next_ = b->next_->next_;
-                b->next_->next_ = prev->next_;
-                prev->next_ = next;
-                return prev;
-            }
-        }
-    };
-}}}
-
-#endif
diff --git a/SRC/Boost/boost/unordered/detail/extract_key.hpp b/SRC/Boost/boost/unordered/detail/extract_key.hpp
deleted file mode 100755
index 1125236..0000000
--- a/SRC/Boost/boost/unordered/detail/extract_key.hpp
+++ /dev/null
@@ -1,221 +0,0 @@
-
-// Copyright (C) 2005-2011 Daniel James
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UNORDERED_DETAIL_EXTRACT_KEY_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_EXTRACT_KEY_HPP_INCLUDED
-
-#include <boost/unordered/detail/table.hpp>
-
-namespace boost {
-namespace unordered {
-namespace detail {
-
-    // key extractors
-    //
-    // no throw
-    //
-    // 'extract_key' is called with the emplace parameters to return a
-    // key if available or 'no_key' is one isn't and will need to be
-    // constructed. This could be done by overloading the emplace implementation
-    // for the different cases, but that's a bit tricky on compilers without
-    // variadic templates.
-
-    struct no_key {
-        no_key() {}
-        template <class T> no_key(T const&) {}
-    };
-
-    template <typename Key, typename T>
-    struct is_key {
-        template <typename T2>
-        static choice1::type test(T2 const&);
-        static choice2::type test(Key const&);
-        
-        enum { value = sizeof(test(boost::unordered::detail::make<T>())) ==
-            sizeof(choice2::type) };
-        
-        typedef typename boost::detail::if_true<value>::
-            BOOST_NESTED_TEMPLATE then<Key const&, no_key>::type type;
-    };
-
-    template <class ValueType>
-    struct set_extractor
-    {
-        typedef ValueType value_type;
-        typedef ValueType key_type;
-
-        static key_type const& extract(key_type const& v)
-        {
-            return v;
-        }
-
-#if BOOST_UNORDERED_USE_RV_REF
-        static key_type const& extract(BOOST_RV_REF(key_type) v)
-        {
-            return v;
-        }
-#endif
-
-        static no_key extract()
-        {
-            return no_key();
-        }
-        
-#if defined(BOOST_UNORDERED_STD_FORWARD_MOVE)
-        template <class... Args>
-        static no_key extract(Args const&...)
-        {
-            return no_key();
-        }
-
-#else
-        template <class Arg>
-        static no_key extract(Arg const&)
-        {
-            return no_key();
-        }
-
-        template <class Arg1, class Arg2>
-        static no_key extract(Arg1 const&, Arg2 const&)
-        {
-            return no_key();
-        }
-#endif
-
-        static bool compare_mapped(value_type const&, value_type const&)
-        {
-            return true;
-        }
-    };
-
-    template <class Key, class ValueType>
-    struct map_extractor
-    {
-        typedef ValueType value_type;
-        typedef typename boost::remove_const<Key>::type key_type;
-
-        static key_type const& extract(value_type const& v)
-        {
-            return v.first;
-        }
-            
-        static key_type const& extract(key_type const& v)
-        {
-            return v;
-        }
-
-        // TODO: Why does this cause errors?
-        //
-        //static key_type const& extract(BOOST_RV_REF(key_type) v)
-        //{
-        //    return v;
-        //}
-
-        template <class Second>
-        static key_type const& extract(std::pair<key_type, Second> const& v)
-        {
-            return v.first;
-        }
-
-        template <class Second>
-        static key_type const& extract(
-            std::pair<key_type const, Second> const& v)
-        {
-            return v.first;
-        }
-
-#if defined(BOOST_UNORDERED_STD_FORWARD_MOVE)
-        template <class Arg1, class... Args>
-        static key_type const& extract(key_type const& k,
-            Arg1 const&, Args const&...)
-        {
-            return k;
-        }
-
-        template <class... Args>
-        static no_key extract(Args const&...)
-        {
-            return no_key();
-        }
-#else
-
-        template <class Arg1>
-        static key_type const& extract(key_type const& k, Arg1 const&)
-        {
-            return k;
-        }
-
-        static no_key extract()
-        {
-            return no_key();
-        }
-
-        template <class Arg>
-        static no_key extract(Arg const&)
-        {
-            return no_key();
-        }
-
-        template <class Arg, class Arg1>
-        static no_key extract(Arg const&, Arg1 const&)
-        {
-            return no_key();
-        }
-#endif
-
-#if defined(BOOST_UNORDERED_STD_FORWARD_MOVE)
-
-#define BOOST_UNORDERED_KEY_FROM_TUPLE(namespace_)                          \
-        template <typename T2>                                              \
-        static no_key extract(boost::unordered::piecewise_construct_t,      \
-                namespace_::tuple<> const&, T2&&)                           \
-        {                                                                   \
-            return no_key();                                                \
-        }                                                                   \
-                                                                            \
-        template <typename T, typename T2>                                  \
-        static typename is_key<key_type, T>::type                           \
-            extract(boost::unordered::piecewise_construct_t,                \
-                namespace_::tuple<T> const& k, T2&&)                        \
-        {                                                                   \
-            return typename is_key<key_type, T>::type(                      \
-                namespace_::get<0>(k));                                     \
-        }
-
-#else
-
-#define BOOST_UNORDERED_KEY_FROM_TUPLE(namespace_)                          \
-        static no_key extract(boost::unordered::piecewise_construct_t,      \
-                namespace_::tuple<> const&)                                 \
-        {                                                                   \
-            return no_key();                                                \
-        }                                                                   \
-                                                                            \
-        template <typename T>                                               \
-        static typename is_key<key_type, T>::type                           \
-            extract(boost::unordered::piecewise_construct_t,                \
-                namespace_::tuple<T> const& k)                              \
-        {                                                                   \
-            return typename is_key<key_type, T>::type(                      \
-                namespace_::get<0>(k));                                     \
-        }
-
-#endif
-
-BOOST_UNORDERED_KEY_FROM_TUPLE(boost)
-
-#if !defined(BOOST_NO_0X_HDR_TUPLE)
-BOOST_UNORDERED_KEY_FROM_TUPLE(std)
-#endif
-
-
-        static bool compare_mapped(value_type const& x, value_type const& y)
-        {
-            return x.second == y.second;
-        }
-    };
-}}}
-
-#endif
diff --git a/SRC/Boost/boost/unordered/detail/fwd.hpp b/SRC/Boost/boost/unordered/detail/fwd.hpp
deleted file mode 100755
index 83a18fe..0000000
--- a/SRC/Boost/boost/unordered/detail/fwd.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// Copyright (C) 2008-2011 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UNORDERED_FWD_HPP_INCLUDED
-#define BOOST_UNORDERED_FWD_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <memory>
-#include <functional>
-#include <boost/functional/hash_fwd.hpp>
-
-namespace boost
-{
-namespace unordered
-{
-    template <class K,
-        class T,
-        class H = boost::hash<K>,
-        class P = std::equal_to<K>,
-        class A = std::allocator<std::pair<const K, T> > >
-    class unordered_map;
-
-    template <class K,
-        class T,
-        class H = boost::hash<K>,
-        class P = std::equal_to<K>,
-        class A = std::allocator<std::pair<const K, T> > >
-    class unordered_multimap;
-
-    template <class T,
-        class H = boost::hash<T>,
-        class P = std::equal_to<T>,
-        class A = std::allocator<T> >
-    class unordered_set;
-
-    template <class T,
-        class H = boost::hash<T>,
-        class P = std::equal_to<T>,
-        class A = std::allocator<T> >
-    class unordered_multiset;
-
-    struct piecewise_construct_t {};
-    const piecewise_construct_t piecewise_construct = piecewise_construct_t();
-}
-}
-
-#endif
diff --git a/SRC/Boost/boost/unordered/detail/table.hpp b/SRC/Boost/boost/unordered/detail/table.hpp
deleted file mode 100755
index 59d17f2..0000000
--- a/SRC/Boost/boost/unordered/detail/table.hpp
+++ /dev/null
@@ -1,685 +0,0 @@
-
-// Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard.
-// Copyright (C) 2005-2011 Daniel James
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UNORDERED_DETAIL_ALL_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_ALL_HPP_INCLUDED
-
-#include <boost/unordered/detail/buckets.hpp>
-#include <boost/unordered/detail/util.hpp>
-#include <boost/type_traits/aligned_storage.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/iterator.hpp>
-#include <cmath>
-
-namespace boost { namespace unordered { namespace iterator_detail {
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Iterators
-    //
-    // all no throw
-
-    template <typename NodePointer, typename Value> struct iterator;
-    template <typename ConstNodePointer, typename NodePointer,
-        typename Value> struct c_iterator;
-    template <typename NodePointer, typename Value> struct l_iterator;
-    template <typename ConstNodePointer, typename NodePointer,
-        typename Value> struct cl_iterator;
-
-    // Local Iterators
-    //
-    // all no throw
-
-    template <typename NodePointer, typename Value>
-    struct l_iterator
-        : public boost::iterator<
-            std::forward_iterator_tag, Value, std::ptrdiff_t,
-            NodePointer, Value&>
-    {
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-        template <typename ConstNodePointer, typename NodePointer2,
-                typename Value2>
-        friend struct boost::unordered::iterator_detail::cl_iterator;
-    private:
-#endif
-        typedef NodePointer node_pointer;
-        node_pointer ptr_;
-        std::size_t bucket_;
-        std::size_t bucket_count_;
-
-    public:
-
-        l_iterator() : ptr_() {}
-
-        l_iterator(node_pointer x, std::size_t b, std::size_t c)
-            : ptr_(x), bucket_(b), bucket_count_(c) {}
-
-        Value& operator*() const {
-            return ptr_->value();
-        }
-
-        Value* operator->() const {
-            return ptr_->value_ptr();
-        }
-
-        l_iterator& operator++() {
-            ptr_ = static_cast<node_pointer>(ptr_->next_);
-            if (ptr_ && ptr_->hash_ % bucket_count_ != bucket_)
-                ptr_ = node_pointer();
-            return *this;
-        }
-
-        l_iterator operator++(int) {
-            l_iterator tmp(*this);
-            ++(*this);
-            return tmp;
-        }
-
-        bool operator==(l_iterator x) const {
-            return ptr_ == x.ptr_;
-        }
-
-        bool operator!=(l_iterator x) const {
-            return ptr_ != x.ptr_;
-        }
-    };
-
-    template <typename ConstNodePointer, typename NodePointer, typename Value>
-    struct cl_iterator
-        : public boost::iterator<
-            std::forward_iterator_tag, Value, std::ptrdiff_t,
-            ConstNodePointer, Value const&>
-    {
-        friend struct boost::unordered::iterator_detail::l_iterator
-            <NodePointer, Value>;
-    private:
-
-        typedef NodePointer node_pointer;
-        node_pointer ptr_;
-        std::size_t bucket_;
-        std::size_t bucket_count_;
-
-    public:
-
-        cl_iterator() : ptr_() {}
-
-        cl_iterator(node_pointer x, std::size_t b, std::size_t c) :
-            ptr_(x), bucket_(b), bucket_count_(c) {}
-
-        cl_iterator(boost::unordered::iterator_detail::l_iterator<
-                NodePointer, Value> const& x) :
-            ptr_(x.ptr_), bucket_(x.bucket_), bucket_count_(x.bucket_count_)
-        {}
-
-        Value const&
-            operator*() const {
-            return ptr_->value();
-        }
-
-        Value const* operator->() const {
-            return ptr_->value_ptr();
-        }
-
-        cl_iterator& operator++() {
-            ptr_ = static_cast<node_pointer>(ptr_->next_);
-            if (ptr_ && ptr_->hash_ % bucket_count_ != bucket_)
-                ptr_ = node_pointer();
-            return *this;
-        }
-
-        cl_iterator operator++(int) {
-            cl_iterator tmp(*this);
-            ++(*this);
-            return tmp;
-        }
-
-        friend bool operator==(cl_iterator const& x, cl_iterator const& y) {
-            return x.ptr_ == y.ptr_;
-        }
-
-        friend bool operator!=(cl_iterator const& x, cl_iterator const& y) {
-            return x.ptr_ != y.ptr_;
-        }
-    };
-
-    template <typename NodePointer, typename Value>
-    struct iterator
-        : public boost::iterator<
-            std::forward_iterator_tag, Value, std::ptrdiff_t,
-            NodePointer, Value&>
-    {
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-        template <typename ConstNodePointer, typename NodePointer2,
-                typename Value2>
-        friend struct boost::unordered::iterator_detail::c_iterator;
-    private:
-#endif
-        typedef NodePointer node_pointer;
-        node_pointer node_;
-
-    public:
-
-        iterator() : node_() {}
-
-        explicit iterator(node_pointer const& x) : node_(x) {}
-
-        Value& operator*() const {
-            return node_->value();
-        }
-
-        Value* operator->() const {
-            return &node_->value();
-        }
-
-        iterator& operator++() {
-            node_ = node_ = static_cast<node_pointer>(node_->next_);
-            return *this;
-        }
-
-        iterator operator++(int) {
-            iterator tmp(node_);
-            node_ = node_ = static_cast<node_pointer>(node_->next_);
-            return tmp;
-        }
-
-        bool operator==(iterator const& x) const {
-            return node_ == x.node_;
-        }
-
-        bool operator!=(iterator const& x) const {
-            return node_ != x.node_;
-        }
-    };
-
-    template <typename ConstNodePointer, typename NodePointer, typename Value>
-    struct c_iterator
-        : public boost::iterator<
-            std::forward_iterator_tag, Value, std::ptrdiff_t,
-            ConstNodePointer, Value const&>
-    {
-        friend struct boost::unordered::iterator_detail::iterator<
-                NodePointer, Value>;
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-        template <typename K, typename T, typename H, typename P, typename A>
-        friend class boost::unordered::unordered_map;
-        template <typename K, typename T, typename H, typename P, typename A>
-        friend class boost::unordered::unordered_multimap;
-        template <typename T, typename H, typename P, typename A>
-        friend class boost::unordered::unordered_set;
-        template <typename T, typename H, typename P, typename A>
-        friend class boost::unordered::unordered_multiset;
-
-    private:
-#endif
-
-        typedef NodePointer node_pointer;
-        node_pointer node_;
-
-    public:
-
-        c_iterator() : node_() {}
-
-        explicit c_iterator(node_pointer const& x) : node_(x) {}
-
-        c_iterator(boost::unordered::iterator_detail::iterator<
-                NodePointer, Value> const& x) : node_(x.node_) {}
-
-        Value const& operator*() const {
-            return node_->value();
-        }
-
-        Value const* operator->() const {
-            return &node_->value();
-        }
-
-        c_iterator& operator++() {
-            node_ = static_cast<node_pointer>(node_->next_);
-            return *this;
-        }
-
-        c_iterator operator++(int) {
-            c_iterator tmp(node_);
-            node_ = node_ = static_cast<node_pointer>(node_->next_);
-            return tmp;
-        }
-
-        friend bool operator==(c_iterator const& x, c_iterator const& y) {
-            return x.node_ == y.node_;
-        }
-
-        friend bool operator!=(c_iterator const& x, c_iterator const& y) {
-            return x.node_ != y.node_;
-        }
-    };
-}}}
-
-namespace boost { namespace unordered { namespace detail {
-
-    ////////////////////////////////////////////////////////////////////////////
-    // convert double to std::size_t
-
-    inline std::size_t double_to_size(double f)
-    {
-        return f >= static_cast<double>(
-            (std::numeric_limits<std::size_t>::max)()) ?
-            (std::numeric_limits<std::size_t>::max)() :
-            static_cast<std::size_t>(f);
-    }
-
-    // The space used to store values in a node.
-
-    template <typename ValueType>
-    struct value_base
-    {
-        typedef ValueType value_type;
-
-        typename boost::aligned_storage<
-            sizeof(value_type),
-            boost::alignment_of<value_type>::value>::type data_;
-
-        void* address() {
-            return this;
-        }
-
-        value_type& value() {
-            return *(ValueType*) this;
-        }
-
-        value_type* value_ptr() {
-            return (ValueType*) this;
-        }
-
-    private:
-
-        value_base& operator=(value_base const&);
-    };
-
-    template <typename Types>
-    struct table :
-        boost::unordered::detail::buckets<
-            typename Types::allocator,
-            typename Types::bucket,
-            typename Types::node>,
-        boost::unordered::detail::functions<
-            typename Types::hasher,
-            typename Types::key_equal>
-    {
-    private:
-        table(table const&);
-        table& operator=(table const&);
-    public:
-        typedef typename Types::hasher hasher;
-        typedef typename Types::key_equal key_equal;
-        typedef typename Types::key_type key_type;
-        typedef typename Types::extractor extractor;
-        typedef typename Types::value_type value_type;
-        typedef typename Types::table table_impl;
-        typedef typename Types::link_pointer link_pointer;
-
-        typedef boost::unordered::detail::functions<
-            typename Types::hasher,
-            typename Types::key_equal> functions;
-
-        typedef boost::unordered::detail::buckets<
-            typename Types::allocator,
-            typename Types::bucket,
-            typename Types::node> buckets;
-
-        typedef typename buckets::node_allocator node_allocator;
-        typedef typename buckets::node_allocator_traits node_allocator_traits;
-        typedef typename buckets::node_pointer node_pointer;
-        typedef typename buckets::const_node_pointer const_node_pointer;
-
-        typedef boost::unordered::iterator_detail::
-            iterator<node_pointer, value_type> iterator;
-        typedef boost::unordered::iterator_detail::
-            c_iterator<const_node_pointer, node_pointer, value_type> c_iterator;
-        typedef boost::unordered::iterator_detail::
-            l_iterator<node_pointer, value_type> l_iterator;
-        typedef boost::unordered::iterator_detail::
-            cl_iterator<const_node_pointer, node_pointer, value_type>
-            cl_iterator;
-
-        // Members
-
-        float mlf_;
-        std::size_t max_load_; // Only use if this->buckets_.
-
-        ////////////////////////////////////////////////////////////////////////
-        // Load methods
-
-        std::size_t max_size() const
-        {
-            using namespace std;
-    
-            // size < mlf_ * count
-            return boost::unordered::detail::double_to_size(ceil(
-                    static_cast<double>(this->mlf_) *
-                    static_cast<double>(this->max_bucket_count())
-                )) - 1;
-        }
-
-        std::size_t calculate_max_load()
-        {
-            using namespace std;
-    
-            // From 6.3.1/13:
-            // Only resize when size >= mlf_ * count
-            return boost::unordered::detail::double_to_size(ceil(
-                    static_cast<double>(this->mlf_) *
-                    static_cast<double>(this->bucket_count_)
-                ));
-
-        }
-        void max_load_factor(float z)
-        {
-            BOOST_ASSERT(z > 0);
-            mlf_ = (std::max)(z, minimum_max_load_factor);
-            if (this->buckets_)
-                this->max_load_ = this->calculate_max_load();
-        }
-
-        std::size_t min_buckets_for_size(std::size_t size) const
-        {
-            BOOST_ASSERT(this->mlf_ != 0);
-    
-            using namespace std;
-    
-            // From 6.3.1/13:
-            // size < mlf_ * count
-            // => count > size / mlf_
-            //
-            // Or from rehash post-condition:
-            // count > size / mlf_
-
-            return boost::unordered::detail::next_prime(
-                boost::unordered::detail::double_to_size(floor(
-                    static_cast<double>(size) /
-                    static_cast<double>(mlf_))) + 1);
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Constructors
-
-        table(std::size_t num_buckets,
-                hasher const& hf,
-                key_equal const& eq,
-                node_allocator const& a) :
-            buckets(a, boost::unordered::detail::next_prime(num_buckets)),
-            functions(hf, eq),
-            mlf_(1.0f),
-            max_load_(0)
-        {}
-
-        table(table const& x, node_allocator const& a) :
-            buckets(a, x.min_buckets_for_size(x.size_)),
-            functions(x),
-            mlf_(x.mlf_),
-            max_load_(0)
-        {
-            if(x.size_) {
-                table_impl::copy_buckets_to(x, *this);
-                this->max_load_ = calculate_max_load();
-            }
-        }
-
-        // TODO: Why calculate_max_load?
-        table(table& x, boost::unordered::detail::move_tag m) :
-            buckets(x, m),
-            functions(x),
-            mlf_(x.mlf_),
-            max_load_(calculate_max_load())
-        {}
-
-        // TODO: Why not calculate_max_load?
-        // TODO: Why do I use x's bucket count?
-        table(table& x, node_allocator const& a,
-                boost::unordered::detail::move_tag m) :
-            buckets(a, x.bucket_count_),
-            functions(x),
-            mlf_(x.mlf_),
-            max_load_(x.max_load_)
-        {
-            if(a == x.node_alloc()) {
-                this->buckets::swap(x, false_type());
-            }
-            else if(x.size_) {
-                // Use a temporary table because move_buckets_to leaves the
-                // source container in a complete mess.
-
-                buckets tmp(x, m);
-                table_impl::move_buckets_to(tmp, *this);
-                this->max_load_ = calculate_max_load();
-            }
-        }
-
-        // Iterators
-
-        node_pointer begin() const {
-            return !this->buckets_ ?
-                node_pointer() : this->get_start();
-        }
-
-        // Assignment
-
-        void assign(table const& x)
-        {
-            assign(x,
-                boost::unordered::detail::integral_constant<bool,
-                    allocator_traits<node_allocator>::
-                    propagate_on_container_copy_assignment::value>());
-        }
-
-        void assign(table const& x, false_type)
-        {
-            table tmp(x, this->node_alloc());
-            this->swap(tmp, false_type());
-        }
-
-        void assign(table const& x, true_type)
-        {
-            table tmp(x, x.node_alloc());
-            // Need to delete before setting the allocator so that buckets
-            // aren't deleted with the wrong allocator.
-            if(this->buckets_) this->delete_buckets();
-            // TODO: Can allocator assignment throw?
-            this->allocators_.assign(x.allocators_);
-            this->swap(tmp, false_type());
-        }
-
-        void move_assign(table& x)
-        {
-            move_assign(x,
-                boost::unordered::detail::integral_constant<bool,
-                    allocator_traits<node_allocator>::
-                    propagate_on_container_move_assignment::value>());
-        }
-
-        void move_assign(table& x, true_type)
-        {
-            if(this->buckets_) this->delete_buckets();
-            this->allocators_.move_assign(x.allocators_);
-            move_assign_no_alloc(x);
-        }
-
-        void move_assign(table& x, false_type)
-        {
-            if(this->node_alloc() == x.node_alloc()) {
-                if(this->buckets_) this->delete_buckets();
-                move_assign_no_alloc(x);
-            }
-            else {
-                boost::unordered::detail::set_hash_functions<hasher, key_equal>
-                    new_func_this(*this, x);
-
-                if (x.size_) {
-                    buckets b(this->node_alloc(),
-                        x.min_buckets_for_size(x.size_));
-                    buckets tmp(x, move_tag());
-                    table_impl::move_buckets_to(tmp, b);
-                    b.swap(*this);
-                }
-                else {
-                    this->clear();
-                }
-                
-                this->mlf_ = x.mlf_;
-                if (this->buckets_) this->max_load_ = calculate_max_load();
-                new_func_this.commit();
-            }
-        }
-        
-        void move_assign_no_alloc(table& x)
-        {
-            boost::unordered::detail::set_hash_functions<hasher, key_equal>
-                new_func_this(*this, x);
-            // No throw from here.
-            this->move_buckets_from(x);
-            this->mlf_ = x.mlf_;
-            this->max_load_ = x.max_load_;
-            new_func_this.commit();
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Swap & Move
-
-        void swap(table& x)
-        {
-            swap(x,
-                boost::unordered::detail::integral_constant<bool,
-                    allocator_traits<node_allocator>::
-                    propagate_on_container_swap::value>());
-        }
-
-        // Only swaps the allocators if Propagate::value
-        template <typename Propagate>
-        void swap(table& x, Propagate p)
-        {
-            boost::unordered::detail::set_hash_functions<hasher, key_equal>
-                op1(*this, x);
-            boost::unordered::detail::set_hash_functions<hasher, key_equal>
-                op2(x, *this);
-            // I think swap can throw if Propagate::value,
-            // since the allocators' swap can throw. Not sure though.
-            this->buckets::swap(x, p);
-            std::swap(this->mlf_, x.mlf_);
-            std::swap(this->max_load_, x.max_load_);
-            op1.commit();
-            op2.commit();
-        }
-
-        // Swap everything but the allocators, and the functions objects.
-        void swap_contents(table& x)
-        {
-            this->buckets::swap(x, false_type());
-            std::swap(this->mlf_, x.mlf_);
-            std::swap(this->max_load_, x.max_load_);
-        }
-
-        // Accessors
-
-        key_type const& get_key(value_type const& x) const
-        {
-            return extractor::extract(x);
-        }
-
-        // Find Node
-
-        template <typename Key, typename Hash, typename Pred>
-        node_pointer generic_find_node(
-                Key const& k,
-                Hash const& hash_function,
-                Pred const& eq) const
-        {
-            if (!this->size_) return node_pointer();
-            return static_cast<table_impl const*>(this)->
-                find_node_impl(hash_function(k), k, eq);
-        }
-
-        node_pointer find_node(
-                std::size_t hash,
-                key_type const& k) const
-        {
-            if (!this->size_) return node_pointer();
-            return static_cast<table_impl const*>(this)->
-                find_node_impl(hash, k, this->key_eq());
-        }
-
-        node_pointer find_node(key_type const& k) const
-        {
-            if (!this->size_) return node_pointer();
-            return static_cast<table_impl const*>(this)->
-                find_node_impl(this->hash_function()(k), k, this->key_eq());
-        }
-
-        node_pointer find_matching_node(node_pointer n) const
-        {
-            // TODO: Does this apply to C++11?
-            //
-            // For some stupid reason, I decided to support equality comparison
-            // when different hash functions are used. So I can't use the hash
-            // value from the node here.
-    
-            return find_node(get_key(n->value()));
-        }
-
-        // Reserve and rehash
-
-        void reserve_for_insert(std::size_t);
-        void rehash(std::size_t);
-    };
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Reserve & Rehash
-
-    // basic exception safety
-    template <typename Types>
-    inline void table<Types>::reserve_for_insert(std::size_t size)
-    {
-        if (!this->buckets_) {
-            this->bucket_count_ = (std::max)(this->bucket_count_,
-                this->min_buckets_for_size(size));
-            this->create_buckets();
-            this->max_load_ = this->calculate_max_load();
-        }
-        else if(size >= max_load_) {
-            std::size_t num_buckets
-                = this->min_buckets_for_size((std::max)(size,
-                    this->size_ + (this->size_ >> 1)));
-            if (num_buckets != this->bucket_count_) {
-                static_cast<table_impl*>(this)->rehash_impl(num_buckets);
-                this->max_load_ = this->calculate_max_load();
-            }
-        }
-    }
-
-    // if hash function throws, basic exception safety
-    // strong otherwise.
-
-    template <typename Types>
-    void table<Types>::rehash(std::size_t min_buckets)
-    {
-        using namespace std;
-
-        if(!this->size_) {
-            if(this->buckets_) this->delete_buckets();
-            this->bucket_count_ = next_prime(min_buckets);
-        }
-        else {
-            min_buckets = next_prime((std::max)(min_buckets,
-                boost::unordered::detail::double_to_size(floor(
-                    static_cast<double>(this->size_) /
-                    static_cast<double>(mlf_))) + 1));
-
-            if(min_buckets != this->bucket_count_) {
-                static_cast<table_impl*>(this)->rehash_impl(min_buckets);
-                this->max_load_ = this->calculate_max_load();
-            }
-        }
-    }
-}}}
-
-#endif
diff --git a/SRC/Boost/boost/unordered/detail/unique.hpp b/SRC/Boost/boost/unordered/detail/unique.hpp
deleted file mode 100755
index 45a3c24..0000000
--- a/SRC/Boost/boost/unordered/detail/unique.hpp
+++ /dev/null
@@ -1,706 +0,0 @@
-
-// Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard.
-// Copyright (C) 2005-2011 Daniel James
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UNORDERED_DETAIL_UNIQUE_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_UNIQUE_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/unordered/detail/table.hpp>
-#include <boost/unordered/detail/emplace_args.hpp>
-#include <boost/unordered/detail/extract_key.hpp>
-#include <boost/throw_exception.hpp>
-#include <stdexcept>
-
-namespace boost { namespace unordered { namespace detail {
-
-    template <typename A, typename T> struct node;
-    template <typename T> struct ptr_node;
-    template <typename Types> struct table_impl;
-
-    template <typename A, typename T>
-    struct node :
-        boost::unordered::detail::value_base<T>
-    {
-        typedef typename ::boost::unordered::detail::rebind_wrap<
-            A, node<A, T> >::type::pointer link_pointer;
-
-        link_pointer next_;
-        std::size_t hash_;
-
-        node() :
-            next_(),
-            hash_(0)
-        {}
-
-        void init(link_pointer)
-        {
-        }
-    };
-
-    template <typename T>
-    struct ptr_node :
-        boost::unordered::detail::value_base<T>,
-        boost::unordered::detail::ptr_bucket
-    {
-        typedef boost::unordered::detail::ptr_bucket bucket_base;
-        typedef ptr_bucket* link_pointer;
-
-        std::size_t hash_;
-
-        ptr_node() :
-            bucket_base(),
-            hash_(0)
-        {}
-
-        void init(link_pointer)
-        {
-        }
-    };
-
-    // If the allocator uses raw pointers use ptr_node
-    // Otherwise use node.
-
-    template <typename A, typename T, typename NodePtr, typename BucketPtr>
-    struct pick_node2
-    {
-        typedef boost::unordered::detail::node<A, T> node;
-
-        typedef typename boost::unordered::detail::allocator_traits<
-            typename boost::unordered::detail::rebind_wrap<A, node>::type
-        >::pointer node_pointer;
-
-        typedef boost::unordered::detail::bucket<node_pointer> bucket;
-        typedef node_pointer link_pointer;
-    };
-
-    template <typename A, typename T>
-    struct pick_node2<A, T,
-        boost::unordered::detail::ptr_node<T>*,
-        boost::unordered::detail::ptr_bucket*>
-    {
-        typedef boost::unordered::detail::ptr_node<T> node;
-        typedef boost::unordered::detail::ptr_bucket bucket;
-        typedef bucket* link_pointer;
-    };
-
-    template <typename A, typename T>
-    struct pick_node
-    {
-        typedef boost::unordered::detail::allocator_traits<
-            typename boost::unordered::detail::rebind_wrap<A,
-                boost::unordered::detail::ptr_node<T> >::type
-        > tentative_node_traits;
-
-        typedef boost::unordered::detail::allocator_traits<
-            typename boost::unordered::detail::rebind_wrap<A,
-                boost::unordered::detail::ptr_bucket >::type
-        > tentative_bucket_traits;
-
-        typedef pick_node2<A, T,
-            typename tentative_node_traits::pointer,
-            typename tentative_bucket_traits::pointer> pick;
-
-        typedef typename pick::node node;
-        typedef typename pick::bucket bucket;
-        typedef typename pick::link_pointer link_pointer;
-    };
-
-    template <typename A, typename H, typename P>
-    struct set
-    {
-        typedef boost::unordered::detail::set<A, H, P> types;
-
-        typedef A allocator;
-        typedef H hasher;
-        typedef P key_equal;
-
-        typedef boost::unordered::detail::allocator_traits<A> traits;
-        typedef typename traits::value_type value_type;
-        typedef value_type key_type;
-
-        typedef boost::unordered::detail::pick_node<A, value_type> pick;
-        typedef typename pick::node node;
-        typedef typename pick::bucket bucket;
-        typedef typename pick::link_pointer link_pointer;
-
-        typedef boost::unordered::detail::table_impl<types> table;
-        typedef boost::unordered::detail::set_extractor<value_type> extractor;
-    };
-
-    template <typename A, typename K, typename H, typename P>
-    struct map
-    {
-        typedef boost::unordered::detail::map<A, K, H, P> types;
-
-        typedef A allocator;
-        typedef H hasher;
-        typedef P key_equal;
-        typedef K key_type;
-
-        typedef boost::unordered::detail::allocator_traits<A> traits;
-        typedef typename traits::value_type value_type;
-
-        typedef boost::unordered::detail::pick_node<A, value_type> pick;
-        typedef typename pick::node node;
-        typedef typename pick::bucket bucket;
-        typedef typename pick::link_pointer link_pointer;
-
-        typedef boost::unordered::detail::table_impl<types> table;
-        typedef boost::unordered::detail::map_extractor<key_type, value_type>
-            extractor;
-    };
-
-    template <typename Types>
-    struct table_impl : boost::unordered::detail::table<Types>
-    {
-        typedef boost::unordered::detail::table<Types> table;
-        typedef typename table::value_type value_type;
-        typedef typename table::bucket bucket;
-        typedef typename table::buckets buckets;
-        typedef typename table::node_pointer node_pointer;
-        typedef typename table::node_allocator node_allocator;
-        typedef typename table::node_allocator_traits node_allocator_traits;
-        typedef typename table::bucket_pointer bucket_pointer;
-        typedef typename table::link_pointer link_pointer;
-        typedef typename table::previous_pointer previous_pointer;
-        typedef typename table::hasher hasher;
-        typedef typename table::key_equal key_equal;
-        typedef typename table::key_type key_type;
-        typedef typename table::node_constructor node_constructor;
-        typedef typename table::extractor extractor;
-        typedef typename table::iterator iterator;
-
-        typedef std::pair<iterator, bool> emplace_return;
-
-        // Constructors
-
-        table_impl(std::size_t n,
-                hasher const& hf,
-                key_equal const& eq,
-                node_allocator const& a)
-          : table(n, hf, eq, a)
-        {}
-
-        table_impl(table_impl const& x)
-          : table(x, node_allocator_traits::
-                select_on_container_copy_construction(x.node_alloc())) {}
-
-        table_impl(table_impl const& x,
-                node_allocator const& a)
-          : table(x, a)
-        {}
-
-        table_impl(table_impl& x,
-                boost::unordered::detail::move_tag m)
-          : table(x, m)
-        {}
-
-        table_impl(table_impl& x,
-                node_allocator const& a,
-                boost::unordered::detail::move_tag m)
-          : table(x, a, m)
-        {}
-
-        // Accessors
-
-        template <class Key, class Pred>
-        node_pointer find_node_impl(
-                std::size_t hash,
-                Key const& k,
-                Pred const& eq) const
-        {
-            std::size_t bucket_index = hash % this->bucket_count_;
-            node_pointer n = this->get_start(bucket_index);
-
-            for (;;)
-            {
-                if (!n) return n;
-
-                std::size_t node_hash = n->hash_;
-                if (hash == node_hash)
-                {
-                    if (eq(k, this->get_key(n->value())))
-                        return n;
-                }
-                else
-                {
-                    if (node_hash % this->bucket_count_ != bucket_index)
-                        return node_pointer();
-                }
-
-                n = static_cast<node_pointer>(n->next_);
-            }
-        }
-
-        std::size_t count(key_type const& k) const
-        {
-            return this->find_node(k) ? 1 : 0;
-        }
-
-        value_type& at(key_type const& k) const
-        {
-            if (this->size_) {
-                node_pointer it = this->find_node(k);
-                if (it) return it->value();
-            }
-
-            boost::throw_exception(
-                std::out_of_range("Unable to find key in unordered_map."));
-        }
-
-        std::pair<iterator, iterator>
-            equal_range(key_type const& k) const
-        {
-            node_pointer n = this->find_node(k);
-            return std::make_pair(iterator(n),
-                iterator(n ? static_cast<node_pointer>(n->next_) : n));
-        }
-
-        // equals
-
-        bool equals(table_impl const& other) const
-        {
-            if(this->size_ != other.size_) return false;
-            if(!this->size_) return true;
-    
-            for(node_pointer n1 = this->get_start(); n1;
-                n1 = static_cast<node_pointer>(n1->next_))
-            {
-                node_pointer n2 = other.find_matching_node(n1);
-
-#if !defined(BOOST_UNORDERED_DEPRECATED_EQUALITY)
-                if(!n2 || n1->value() != n2->value())
-                    return false;
-#else
-                if(!n2 || !extractor::compare_mapped(
-                        n1->value(), n2->value()))
-                    return false;
-#endif
-            }
-    
-            return true;
-        }
-
-        // Emplace/Insert
-
-        inline node_pointer add_node(
-                node_constructor& a,
-                std::size_t hash)
-        {
-            node_pointer n = a.release();
-            n->hash_ = hash;
-    
-            bucket_pointer b = this->get_bucket(hash % this->bucket_count_);
-
-            if (!b->next_)
-            {
-                previous_pointer start_node = this->get_previous_start();
-                
-                if (start_node->next_) {
-                    this->get_bucket(
-                        static_cast<node_pointer>(start_node->next_)->hash_ %
-                            this->bucket_count_)->next_ = n;
-                }
-
-                b->next_ = start_node;
-                n->next_ = start_node->next_;
-                start_node->next_ = static_cast<link_pointer>(n);
-            }
-            else
-            {
-                n->next_ = b->next_->next_;
-                b->next_->next_ = static_cast<link_pointer>(n);
-            }
-
-            ++this->size_;
-            return n;
-        }
-
-        value_type& operator[](key_type const& k)
-        {
-            typedef typename value_type::second_type mapped_type;
-    
-            std::size_t hash = this->hash_function()(k);
-            node_pointer pos = this->find_node(hash, k);
-    
-            if (pos) return pos->value();
-    
-            // Create the node before rehashing in case it throws an
-            // exception (need strong safety in such a case).
-            node_constructor a(this->node_alloc());
-            a.construct_node();
-#if defined(BOOST_UNORDERED_STD_FORWARD_MOVE)
-            a.construct_value(boost::unordered::piecewise_construct,
-                boost::make_tuple(k), boost::make_tuple());
-#else
-            a.construct_value(
-                boost::unordered::detail::create_emplace_args(
-                    boost::unordered::piecewise_construct,
-                    boost::make_tuple(k),
-                    boost::make_tuple()));
-#endif
-    
-            this->reserve_for_insert(this->size_ + 1);
-            return add_node(a, hash)->value();
-        }
-
-#if defined(BOOST_NO_RVALUE_REFERENCES)
-        emplace_return emplace(boost::unordered::detail::emplace_args1<
-                boost::unordered::detail::please_ignore_this_overload> const&)
-        {
-            BOOST_ASSERT(false);
-            return emplace_return(iterator(this->begin()), false);
-        }
-#endif
-
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
-        emplace_return emplace(BOOST_UNORDERED_EMPLACE_ARGS)
-        {
-#if defined(BOOST_UNORDERED_STD_FORWARD_MOVE)
-            return emplace_impl(
-                extractor::extract(BOOST_UNORDERED_EMPLACE_FORWARD),
-                BOOST_UNORDERED_EMPLACE_FORWARD);
-
-#else
-            return emplace_impl(
-                extractor::extract(args.a0, args.a1),
-                BOOST_UNORDERED_EMPLACE_FORWARD);
-#endif
-        }
-
-#if !defined(BOOST_UNORDERED_STD_FORWARD_MOVE)
-        template <typename A0>
-        emplace_return emplace(
-                boost::unordered::detail::emplace_args1<A0> const& args)
-        {
-            return emplace_impl(extractor::extract(args.a0), args);
-        }
-#endif
-
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
-        emplace_return emplace_impl(key_type const& k,
-            BOOST_UNORDERED_EMPLACE_ARGS)
-        {
-            std::size_t hash = this->hash_function()(k);
-            node_pointer pos = this->find_node(hash, k);
-    
-            if (pos) return emplace_return(iterator(pos), false);
-    
-            // Create the node before rehashing in case it throws an
-            // exception (need strong safety in such a case).
-            node_constructor a(this->node_alloc());
-            a.construct_node();
-            a.construct_value(BOOST_UNORDERED_EMPLACE_FORWARD);
-    
-            // reserve has basic exception safety if the hash function
-            // throws, strong otherwise.
-            this->reserve_for_insert(this->size_ + 1);
-            return emplace_return(iterator(this->add_node(a, hash)), true);
-        }
-
-        emplace_return emplace_impl_with_node(node_constructor& a)
-        {
-            key_type const& k = this->get_key(a.value());
-            std::size_t hash = this->hash_function()(k);
-            node_pointer pos = this->find_node(hash, k);
-
-            if (pos) return emplace_return(iterator(pos), false);
-
-            // reserve has basic exception safety if the hash function
-            // throws, strong otherwise.
-            this->reserve_for_insert(this->size_ + 1);
-            return emplace_return(iterator(this->add_node(a, hash)), true);
-        }
-
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
-        emplace_return emplace_impl(no_key, BOOST_UNORDERED_EMPLACE_ARGS)
-        {
-            // Don't have a key, so construct the node first in order
-            // to be able to lookup the position.
-            node_constructor a(this->node_alloc());
-            a.construct_node();
-            a.construct_value(BOOST_UNORDERED_EMPLACE_FORWARD);
-            return emplace_impl_with_node(a);
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Insert range methods
-        //
-        // if hash function throws, or inserting > 1 element, basic exception
-        // safety strong otherwise
-
-        template <class InputIt>
-        void insert_range(InputIt i, InputIt j)
-        {
-            if(i != j)
-                return insert_range_impl(extractor::extract(*i), i, j);
-        }
-
-        template <class InputIt>
-        void insert_range_impl(key_type const& k, InputIt i, InputIt j)
-        {
-            node_constructor a(this->node_alloc());
-
-            // Special case for empty buckets so that we can use
-            // max_load_ (which isn't valid when buckets_ is null).
-            if (!this->buckets_) {
-                insert_range_empty(a, k, i, j);
-                if (++i == j) return;
-            }
-
-            do {
-                // Note: can't use get_key as '*i' might not be value_type - it
-                // could be a pair with first_types as key_type without const or
-                // a different second_type.
-                //
-                // TODO: Might be worth storing the value_type instead of the
-                // key here. Could be more efficient if '*i' is expensive. Could
-                // be less efficient if copying the full value_type is
-                // expensive.
-                insert_range_impl2(a, extractor::extract(*i), i, j);
-            } while(++i != j);
-        }
-
-        template <class InputIt>
-        void insert_range_empty(node_constructor& a, key_type const& k,
-            InputIt i, InputIt j)
-        {
-            std::size_t hash = this->hash_function()(k);
-            a.construct_node();
-            a.construct_value2(*i);
-            this->reserve_for_insert(this->size_ +
-                boost::unordered::detail::insert_size(i, j));
-            this->add_node(a, hash);
-        }
-
-        template <class InputIt>
-        void insert_range_impl2(node_constructor& a, key_type const& k,
-            InputIt i, InputIt j)
-        {
-            // No side effects in this initial code
-            std::size_t hash = this->hash_function()(k);
-            node_pointer pos = this->find_node(hash, k);
-    
-            if (!pos) {
-                a.construct_node();
-                a.construct_value2(*i);
-    
-                if(this->size_ + 1 >= this->max_load_)
-                    this->reserve_for_insert(this->size_ +
-                        boost::unordered::detail::insert_size(i, j));
-    
-                // Nothing after this point can throw.
-                this->add_node(a, hash);
-            }
-        }
-
-        template <class InputIt>
-        void insert_range_impl(no_key, InputIt i, InputIt j)
-        {
-            node_constructor a(this->node_alloc());
-
-            do {
-                a.construct_node();
-                a.construct_value2(*i);
-                emplace_impl_with_node(a);
-            } while(++i != j);
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Erase
-        //
-        // no throw
-
-        std::size_t erase_key(key_type const& k)
-        {
-            if(!this->size_) return 0;
-
-            std::size_t hash = this->hash_function()(k);
-            std::size_t bucket_index = hash % this->bucket_count_;
-            bucket_pointer bucket = this->get_bucket(bucket_index);
-
-            previous_pointer prev = bucket->next_;
-            if (!prev) return 0;
-
-            for (;;)
-            {
-                if (!prev->next_) return 0;
-                std::size_t node_hash =
-                    static_cast<node_pointer>(prev->next_)->hash_;
-                if (node_hash % this->bucket_count_ != bucket_index)
-                    return 0;
-                if (node_hash == hash &&
-                        this->key_eq()(k, this->get_key(
-                        static_cast<node_pointer>(prev->next_)->value())))
-                    break;
-                prev = static_cast<previous_pointer>(prev->next_);
-            }
-
-            node_pointer pos = static_cast<node_pointer>(prev->next_);
-            node_pointer end = static_cast<node_pointer>(pos->next_);
-            prev->next_ = pos->next_;
-            this->fix_buckets(bucket, prev, end);
-            return this->delete_nodes(pos, end);
-        }
-
-        node_pointer erase(node_pointer r)
-        {
-            BOOST_ASSERT(r);
-            node_pointer next = static_cast<node_pointer>(r->next_);
-
-            bucket_pointer bucket = this->get_bucket(
-                r->hash_ % this->bucket_count_);
-            previous_pointer prev = unlink_node(*bucket, r);
-
-            this->fix_buckets(bucket, prev, next);
-
-            this->delete_node(r);
-
-            return next;
-        }
-
-        node_pointer erase_range(node_pointer r1, node_pointer r2)
-        {
-            if (r1 == r2) return r2;
-
-            std::size_t bucket_index = r1->hash_ % this->bucket_count_;
-            previous_pointer prev = unlink_nodes(
-                *this->get_bucket(bucket_index), r1, r2);
-            this->fix_buckets_range(bucket_index, prev, r1, r2);
-            this->delete_nodes(r1, r2);
-
-            return r2;
-        }
-
-        static previous_pointer unlink_node(bucket& b, node_pointer n)
-        {
-            return unlink_nodes(b, n, static_cast<node_pointer>(n->next_));
-        }
-
-        static previous_pointer unlink_nodes(bucket& b,
-                node_pointer begin, node_pointer end)
-        {
-            previous_pointer prev = b.next_;
-            link_pointer begin_void = static_cast<link_pointer>(begin);
-            while(prev->next_ != begin_void)
-                prev = static_cast<previous_pointer>(prev->next_);
-            prev->next_ = static_cast<link_pointer>(end);
-            return prev;
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // copy_buckets_to
-        //
-        // Basic exception safety. If an exception is thrown this will
-        // leave dst partially filled and the buckets unset.
-
-        static void copy_buckets_to(buckets const& src, buckets& dst)
-        {
-            BOOST_ASSERT(!dst.buckets_);
-
-            dst.create_buckets();
-
-            node_constructor a(dst.node_alloc());
-
-            node_pointer n = src.get_start();
-            previous_pointer prev = dst.get_previous_start();
-
-            while(n) {
-                a.construct_node();
-                a.construct_value2(n->value());
-
-                node_pointer node = a.release();
-                node->hash_ = n->hash_;
-                prev->next_ = static_cast<link_pointer>(node);
-                ++dst.size_;
-                n = static_cast<node_pointer>(n->next_);
-
-                prev = place_in_bucket(dst, prev);
-            }
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // move_buckets_to
-        //
-        // Basic exception safety. The source nodes are left in an unusable
-        // state if an exception throws.
-
-        static void move_buckets_to(buckets& src, buckets& dst)
-        {
-            BOOST_ASSERT(!dst.buckets_);
-
-            dst.create_buckets();
-
-            node_constructor a(dst.node_alloc());
-
-            node_pointer n = src.get_start();
-            previous_pointer prev = dst.get_previous_start();
-
-            while(n) {
-                a.construct_node();
-                a.construct_value2(boost::move(n->value()));
-
-                node_pointer node = a.release();
-                node->hash_ = n->hash_;
-                prev->next_ = static_cast<link_pointer>(node);
-                ++dst.size_;
-                n = static_cast<node_pointer>(n->next_);
-
-                prev = place_in_bucket(dst, prev);
-            }
-        }
-
-        // strong otherwise exception safety
-        void rehash_impl(std::size_t num_buckets)
-        {
-            BOOST_ASSERT(this->size_);
-
-            buckets dst(this->node_alloc(), num_buckets);
-            dst.create_buckets();
-
-            previous_pointer src_start = this->get_previous_start();
-            previous_pointer dst_start = dst.get_previous_start();
-
-            dst_start->next_ = src_start->next_;
-            src_start->next_ = link_pointer();
-            dst.size_ = this->size_;
-            this->size_ = 0;
-
-            previous_pointer prev = dst.get_previous_start();
-            while (prev->next_)
-                prev = place_in_bucket(dst, prev);
-
-            // Swap the new nodes back into the container and setup the
-            // variables.
-            dst.swap(*this); // no throw
-        }
-
-        // Iterate through the nodes placing them in the correct buckets.
-        // pre: prev->next_ is not null.
-        static previous_pointer place_in_bucket(buckets& dst,
-                previous_pointer prev)
-        {
-            node_pointer n = static_cast<node_pointer>(prev->next_);
-            bucket_pointer b = dst.get_bucket(n->hash_ % dst.bucket_count_);
-
-            if (!b->next_) {
-                b->next_ = prev;
-                return static_cast<previous_pointer>(n);
-            }
-            else {
-                prev->next_ = n->next_;
-                n->next_ = b->next_->next_;
-                b->next_->next_ = static_cast<link_pointer>(n);
-                return prev;
-            }
-        }
-    };
-}}}
-
-#endif
diff --git a/SRC/Boost/boost/unordered/detail/util.hpp b/SRC/Boost/boost/unordered/detail/util.hpp
deleted file mode 100755
index d969477..0000000
--- a/SRC/Boost/boost/unordered/detail/util.hpp
+++ /dev/null
@@ -1,260 +0,0 @@
-
-// Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard.
-// Copyright (C) 2005-2011 Daniel James
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UNORDERED_DETAIL_UTIL_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_UTIL_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_empty.hpp>
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/detail/select_type.hpp>
-#include <boost/move/move.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/swap.hpp>
-
-namespace boost { namespace unordered { namespace detail {
-
-    static const float minimum_max_load_factor = 1e-3f;
-    static const std::size_t default_bucket_count = 11;
-    struct move_tag {};
-    struct empty_emplace {};
-
-    ////////////////////////////////////////////////////////////////////////////
-    // iterator SFINAE
-
-    template <typename I>
-    struct is_forward :
-        boost::is_convertible<
-            typename boost::iterator_traversal<I>::type,
-            boost::forward_traversal_tag>
-    {};
-
-    template <typename I, typename ReturnType>
-    struct enable_if_forward :
-        boost::enable_if_c<
-            boost::unordered::detail::is_forward<I>::value,
-            ReturnType>
-    {};
-
-    template <typename I, typename ReturnType>
-    struct disable_if_forward :
-        boost::disable_if_c<
-            boost::unordered::detail::is_forward<I>::value,
-            ReturnType>
-    {};
-
-    ////////////////////////////////////////////////////////////////////////////
-    // primes
-
-#define BOOST_UNORDERED_PRIMES \
-    (5ul)(11ul)(17ul)(29ul)(37ul)(53ul)(67ul)(79ul) \
-    (97ul)(131ul)(193ul)(257ul)(389ul)(521ul)(769ul) \
-    (1031ul)(1543ul)(2053ul)(3079ul)(6151ul)(12289ul)(24593ul) \
-    (49157ul)(98317ul)(196613ul)(393241ul)(786433ul) \
-    (1572869ul)(3145739ul)(6291469ul)(12582917ul)(25165843ul) \
-    (50331653ul)(100663319ul)(201326611ul)(402653189ul)(805306457ul) \
-    (1610612741ul)(3221225473ul)(4294967291ul)
-
-    template<class T> struct prime_list_template
-    {
-        static std::size_t const value[];
-
-#if !defined(SUNPRO_CC)
-        static std::ptrdiff_t const length;
-#else
-        static std::ptrdiff_t const length
-            = BOOST_PP_SEQ_SIZE(BOOST_UNORDERED_PRIMES);
-#endif
-    };
-
-    template<class T>
-    std::size_t const prime_list_template<T>::value[] = {
-        BOOST_PP_SEQ_ENUM(BOOST_UNORDERED_PRIMES)
-    };
-
-#if !defined(SUNPRO_CC)
-    template<class T>
-    std::ptrdiff_t const prime_list_template<T>::length
-        = BOOST_PP_SEQ_SIZE(BOOST_UNORDERED_PRIMES);
-#endif
-
-#undef BOOST_UNORDERED_PRIMES
-
-    typedef prime_list_template<std::size_t> prime_list;
-
-    // no throw
-    inline std::size_t next_prime(std::size_t num) {
-        std::size_t const* const prime_list_begin = prime_list::value;
-        std::size_t const* const prime_list_end = prime_list_begin +
-            prime_list::length;
-        std::size_t const* bound =
-            std::lower_bound(prime_list_begin, prime_list_end, num);
-        if(bound == prime_list_end)
-            bound--;
-        return *bound;
-    }
-
-    // no throw
-    inline std::size_t prev_prime(std::size_t num) {
-        std::size_t const* const prime_list_begin = prime_list::value;
-        std::size_t const* const prime_list_end = prime_list_begin +
-            prime_list::length;
-        std::size_t const* bound =
-            std::upper_bound(prime_list_begin,prime_list_end, num);
-        if(bound != prime_list_begin)
-            bound--;
-        return *bound;
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // insert_size/initial_size
-
-#if !defined(BOOST_NO_STD_DISTANCE)
-
-    using ::std::distance;
-
-#else
-
-    template <class ForwardIterator>
-    inline std::size_t distance(ForwardIterator i, ForwardIterator j) {
-        std::size_t x;
-        std::distance(i, j, x);
-        return x;
-    }
-
-#endif
-
-    template <class I>
-    inline typename
-        boost::unordered::detail::enable_if_forward<I, std::size_t>::type
-        insert_size(I i, I j)
-    {
-        return std::distance(i, j);
-    }
-
-    template <class I>
-    inline typename
-        boost::unordered::detail::disable_if_forward<I, std::size_t>::type
-        insert_size(I, I)
-    {
-        return 1;
-    }
-
-    template <class I>
-    inline std::size_t initial_size(I i, I j,
-        std::size_t num_buckets =
-            boost::unordered::detail::default_bucket_count)
-    {
-        // TODO: Why +1?
-        return (std::max)(
-            boost::unordered::detail::insert_size(i, j) + 1,
-            num_buckets);
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // compressed
-
-    template <typename T, int Index>
-    struct compressed_base : private T
-    {
-        compressed_base(T const& x) : T(x) {}
-        compressed_base(T& x, move_tag) : T(boost::move(x)) {}
-
-        T& get() { return *this; }
-        T const& get() const { return *this; }
-    };
-    
-    template <typename T, int Index>
-    struct uncompressed_base
-    {
-        uncompressed_base(T const& x) : value_(x) {}
-        uncompressed_base(T& x, move_tag) : value_(boost::move(x)) {}
-
-        T& get() { return value_; }
-        T const& get() const { return value_; }
-    private:
-        T value_;
-    };
-    
-    template <typename T, int Index>
-    struct generate_base
-      : boost::detail::if_true<
-            boost::is_empty<T>::value
-        >:: BOOST_NESTED_TEMPLATE then<
-            boost::unordered::detail::compressed_base<T, Index>,
-            boost::unordered::detail::uncompressed_base<T, Index>
-        >
-    {};
-    
-    template <typename T1, typename T2>
-    struct compressed
-      : private boost::unordered::detail::generate_base<T1, 1>::type,
-        private boost::unordered::detail::generate_base<T2, 2>::type
-    {
-        typedef typename generate_base<T1, 1>::type base1;
-        typedef typename generate_base<T2, 2>::type base2;
-
-        typedef T1 first_type;
-        typedef T2 second_type;
-        
-        first_type& first() {
-            return static_cast<base1*>(this)->get();
-        }
-
-        first_type const& first() const {
-            return static_cast<base1 const*>(this)->get();
-        }
-
-        second_type& second() {
-            return static_cast<base2*>(this)->get();
-        }
-
-        second_type const& second() const {
-            return static_cast<base2 const*>(this)->get();
-        }
-
-        template <typename First, typename Second>
-        compressed(First const& x1, Second const& x2)
-            : base1(x1), base2(x2) {}
-
-        compressed(compressed const& x)
-            : base1(x.first()), base2(x.second()) {}
-
-        compressed(compressed& x, move_tag m)
-            : base1(x.first(), m), base2(x.second(), m) {}
-
-        void assign(compressed const& x)
-        {
-            first() = x.first();
-            second() = x.second();
-        }
-
-        void move_assign(compressed& x)
-        {
-            first() = boost::move(x.first());
-            second() = boost::move(x.second());
-        }
-        
-        void swap(compressed& x)
-        {
-            boost::swap(first(), x.first());
-            boost::swap(second(), x.second());
-        }
-
-    private:
-        // Prevent assignment just to make use of assign or
-        // move_assign explicit.
-        compressed& operator=(compressed const&);
-    };
-}}}
-
-#endif
diff --git a/SRC/Boost/boost/unordered/unordered_map.hpp b/SRC/Boost/boost/unordered/unordered_map.hpp
deleted file mode 100755
index e99a072..0000000
--- a/SRC/Boost/boost/unordered/unordered_map.hpp
+++ /dev/null
@@ -1,1462 +0,0 @@
-
-// Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard.
-// Copyright (C) 2005-2011 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/unordered for documentation
-
-#ifndef BOOST_UNORDERED_UNORDERED_MAP_HPP_INCLUDED
-#define BOOST_UNORDERED_UNORDERED_MAP_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/unordered/unordered_map_fwd.hpp>
-#include <boost/unordered/detail/allocator_helpers.hpp>
-#include <boost/unordered/detail/equivalent.hpp>
-#include <boost/unordered/detail/unique.hpp>
-#include <boost/unordered/detail/util.hpp>
-#include <boost/functional/hash.hpp>
-#include <boost/move/move.hpp>
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-#include <initializer_list>
-#endif
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#if BOOST_MSVC >= 1400
-#pragma warning(disable:4396) //the inline specifier cannot be used when a
-                              // friend declaration refers to a specialization
-                              // of a function template
-#endif
-#endif
-
-namespace boost
-{
-namespace unordered
-{
-    template <class K, class T, class H, class P, class A>
-    class unordered_map
-    {
-        BOOST_COPYABLE_AND_MOVABLE(unordered_map)
-
-    public:
-
-        typedef K key_type;
-        typedef std::pair<const K, T> value_type;
-        typedef T mapped_type;
-        typedef H hasher;
-        typedef P key_equal;
-        typedef A allocator_type;
-
-    private:
-
-        typedef typename boost::unordered::detail::rebind_wrap<
-                allocator_type, value_type>::type
-            value_allocator;
-
-        typedef boost::unordered::detail::allocator_traits<value_allocator>
-            allocator_traits;
-
-        typedef boost::unordered::detail::map<value_allocator, K, H, P>
-            types;
-        typedef typename types::table table;
-
-    public:
-
-        typedef typename allocator_traits::pointer pointer;
-        typedef typename allocator_traits::const_pointer const_pointer;
-
-        typedef value_type& reference;
-        typedef value_type const& const_reference;
-
-        typedef std::size_t size_type;
-        typedef std::ptrdiff_t difference_type;
-
-        typedef typename table::cl_iterator const_local_iterator;
-        typedef typename table::l_iterator local_iterator;
-        typedef typename table::c_iterator const_iterator;
-        typedef typename table::iterator iterator;
-
-    private:
-
-        table table_;
-        
-    public:
-
-        // constructors
-
-        explicit unordered_map(
-                size_type = boost::unordered::detail::default_bucket_count,
-                const hasher& = hasher(),
-                const key_equal& = key_equal(),
-                const allocator_type& = allocator_type());
-
-        explicit unordered_map(allocator_type const&);
-
-        template <class InputIt>
-        unordered_map(InputIt, InputIt);
-
-        template <class InputIt>
-        unordered_map(
-                InputIt, InputIt,
-                size_type,
-                const hasher& = hasher(),
-                const key_equal& = key_equal());
-
-        template <class InputIt>
-        unordered_map(
-                InputIt, InputIt,
-                size_type,
-                const hasher&,
-                const key_equal&,
-                const allocator_type&);
-
-        // copy/move constructors
-
-        unordered_map(unordered_map const&);
-
-        unordered_map(unordered_map const&, allocator_type const&);
-
-        unordered_map(BOOST_RV_REF(unordered_map) other)
-            : table_(other.table_, boost::unordered::detail::move_tag())
-        {
-        }
-
-#if !defined(BOOST_NO_RVALUE_REFERENCES)
-        unordered_map(unordered_map&&, allocator_type const&);
-#endif
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-        unordered_map(
-                std::initializer_list<value_type>,
-                size_type = boost::unordered::detail::default_bucket_count,
-                const hasher& = hasher(),
-                const key_equal&l = key_equal(),
-                const allocator_type& = allocator_type());
-#endif
-
-        // Destructor
-
-        ~unordered_map();
-
-        // Assign
-
-        unordered_map& operator=(BOOST_COPY_ASSIGN_REF(unordered_map) x)
-        {
-            table_.assign(x.table_);
-            return *this;
-        }
-
-        unordered_map& operator=(BOOST_RV_REF(unordered_map) x)
-        {
-            table_.move_assign(x.table_);
-            return *this;
-        }
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-        unordered_map& operator=(std::initializer_list<value_type>);
-#endif
-
-        allocator_type get_allocator() const
-        {
-            return table_.node_alloc();
-        }
-
-        // size and capacity
-
-        bool empty() const
-        {
-            return table_.size_ == 0;
-        }
-
-        size_type size() const
-        {
-            return table_.size_;
-        }
-
-        size_type max_size() const;
-
-        // iterators
-
-        iterator begin()
-        {
-            return iterator(table_.begin());
-        }
-
-        const_iterator begin() const
-        {
-            return const_iterator(table_.begin());
-        }
-
-        iterator end()
-        {
-            return iterator();
-        }
-
-        const_iterator end() const
-        {
-            return const_iterator();
-        }
-
-        const_iterator cbegin() const
-        {
-            return const_iterator(table_.begin());
-        }
-
-        const_iterator cend() const
-        {
-            return const_iterator();
-        }
-
-        // emplace
-
-#if defined(BOOST_UNORDERED_STD_FORWARD_MOVE)
-        template <class... Args>
-        std::pair<iterator, bool> emplace(Args&&... args)
-        {
-            return table_.emplace(std::forward<Args>(args)...);
-        }
-
-        template <class... Args>
-        iterator emplace_hint(const_iterator, Args&&... args)
-        {
-            return iterator(table_.emplace(std::forward<Args>(args)...).first);
-        }
-#else
-
-#define BOOST_UNORDERED_EMPLACE(z, n, _)                                    \
-            template <                                                      \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
-            >                                                               \
-            std::pair<iterator, bool> emplace(                              \
-                    BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)      \
-            )                                                               \
-            {                                                               \
-                return table_.emplace(                                      \
-                    boost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
-                            a)                                              \
-                ));                                                         \
-            }                                                               \
-                                                                            \
-            template <                                                      \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
-            >                                                               \
-            iterator emplace_hint(                                          \
-                    const_iterator,                                         \
-                    BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)      \
-            )                                                               \
-            {                                                               \
-                return iterator(table_.emplace(                             \
-                    boost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
-                            a)                                              \
-                )).first);                                                  \
-            }
-
-        BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
-            BOOST_UNORDERED_EMPLACE, _)
-
-#undef BOOST_UNORDERED_EMPLACE
-
-#if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
-
-        std::pair<iterator, bool> emplace(
-                boost::unordered::detail::empty_emplace
-                    = boost::unordered::detail::empty_emplace(),
-                value_type v = value_type())
-        {
-            return this->emplace(boost::move(v));
-        }
-
-        iterator emplace_hint(const_iterator hint,
-                boost::unordered::detail::empty_emplace
-                    = boost::unordered::detail::empty_emplace(),
-                value_type v = value_type()
-            )
-        {
-            return this->emplace_hint(hint, boost::move(v));
-        }
-
-#endif
-
-#endif
-
-        std::pair<iterator, bool> insert(value_type const& x)
-        {
-            return this->emplace(x);
-        }
-
-        std::pair<iterator, bool> insert(BOOST_RV_REF(value_type) x)
-        {
-            return this->emplace(boost::move(x));
-        }
-
-        iterator insert(const_iterator hint, value_type const& x)
-        {
-            return this->emplace_hint(hint, x);
-        }
-
-        iterator insert(const_iterator hint, BOOST_RV_REF(value_type) x)
-        {
-            return this->emplace_hint(hint, boost::move(x));
-        }
-
-        template <class InputIt> void insert(InputIt, InputIt);
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-        void insert(std::initializer_list<value_type>);
-#endif
-
-        iterator erase(const_iterator);
-        size_type erase(const key_type&);
-        iterator erase(const_iterator, const_iterator);
-        void quick_erase(const_iterator it) { erase(it); }
-        void erase_return_void(const_iterator it) { erase(it); }
-
-        void clear();
-        void swap(unordered_map&);
-
-        // observers
-
-        hasher hash_function() const;
-        key_equal key_eq() const;
-
-        mapped_type& operator[](const key_type&);
-        mapped_type& at(const key_type&);
-        mapped_type const& at(const key_type&) const;
-
-        // lookup
-
-        iterator find(const key_type&);
-        const_iterator find(const key_type&) const;
-
-        template <class CompatibleKey, class CompatibleHash,
-            class CompatiblePredicate>
-        iterator find(
-                CompatibleKey const&,
-                CompatibleHash const&,
-                CompatiblePredicate const&);
-
-        template <class CompatibleKey, class CompatibleHash,
-            class CompatiblePredicate>
-        const_iterator find(
-                CompatibleKey const&,
-                CompatibleHash const&,
-                CompatiblePredicate const&) const;
-
-        size_type count(const key_type&) const;
-
-        std::pair<iterator, iterator>
-        equal_range(const key_type&);
-        std::pair<const_iterator, const_iterator>
-        equal_range(const key_type&) const;
-
-        // bucket interface
-
-        size_type bucket_count() const
-        {
-            return table_.bucket_count_;
-        }
-
-        size_type max_bucket_count() const
-        {
-            return table_.max_bucket_count();
-        }
-
-        size_type bucket_size(size_type) const;
-
-        size_type bucket(const key_type& k) const
-        {
-            return table_.hash_function()(k) % table_.bucket_count_;
-        }
-
-        local_iterator begin(size_type n)
-        {
-            return table_.size_ ? local_iterator(
-                table_.get_start(n), n, table_.bucket_count_) :
-                local_iterator();
-        }
-
-        const_local_iterator begin(size_type n) const
-        {
-            return table_.size_ ? const_local_iterator(
-                table_.get_start(n), n, table_.bucket_count_) :
-                const_local_iterator();
-        }
-
-        local_iterator end(size_type)
-        {
-            return local_iterator();
-        }
-
-        const_local_iterator end(size_type) const
-        {
-            return const_local_iterator();
-        }
-
-        const_local_iterator cbegin(size_type n) const
-        {
-            return table_.size_ ? const_local_iterator(
-                table_.get_start(n), n, table_.bucket_count_) :
-                const_local_iterator();
-        }
-
-        const_local_iterator cend(size_type) const
-        {
-            return const_local_iterator();
-        }
-
-        // hash policy
-
-        float max_load_factor() const
-        {
-            return table_.mlf_;
-        }
-
-        float load_factor() const;
-        void max_load_factor(float);
-        void rehash(size_type);
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582)
-        friend bool operator==<K,T,H,P,A>(
-                unordered_map const&, unordered_map const&);
-        friend bool operator!=<K,T,H,P,A>(
-                unordered_map const&, unordered_map const&);
-#endif
-    }; // class template unordered_map
-
-    template <class K, class T, class H, class P, class A>
-    class unordered_multimap
-    {
-        BOOST_COPYABLE_AND_MOVABLE(unordered_multimap)
-
-    public:
-
-        typedef K key_type;
-        typedef std::pair<const K, T> value_type;
-        typedef T mapped_type;
-        typedef H hasher;
-        typedef P key_equal;
-        typedef A allocator_type;
-
-    private:
-
-        typedef typename boost::unordered::detail::rebind_wrap<
-                allocator_type, value_type>::type
-            value_allocator;
-
-        typedef boost::unordered::detail::allocator_traits<value_allocator>
-            allocator_traits;
-
-        typedef boost::unordered::detail::multimap<value_allocator, K, H, P>
-            types;
-        typedef typename types::table table;
-
-    public:
-
-        typedef typename allocator_traits::pointer pointer;
-        typedef typename allocator_traits::const_pointer const_pointer;
-
-        typedef value_type& reference;
-        typedef value_type const& const_reference;
-
-        typedef std::size_t size_type;
-        typedef std::ptrdiff_t difference_type;
-
-        typedef typename table::cl_iterator const_local_iterator;
-        typedef typename table::l_iterator local_iterator;
-        typedef typename table::c_iterator const_iterator;
-        typedef typename table::iterator iterator;
-
-    private:
-
-        table table_;
-        
-    public:
-
-        // constructors
-
-        explicit unordered_multimap(
-                size_type = boost::unordered::detail::default_bucket_count,
-                const hasher& = hasher(),
-                const key_equal& = key_equal(),
-                const allocator_type& = allocator_type());
-
-        explicit unordered_multimap(allocator_type const&);
-
-        template <class InputIt>
-        unordered_multimap(InputIt, InputIt);
-
-        template <class InputIt>
-        unordered_multimap(
-                InputIt, InputIt,
-                size_type,
-                const hasher& = hasher(),
-                const key_equal& = key_equal());
-
-        template <class InputIt>
-        unordered_multimap(
-                InputIt, InputIt,
-                size_type,
-                const hasher&,
-                const key_equal&,
-                const allocator_type&);
-
-        // copy/move constructors
-
-        unordered_multimap(unordered_multimap const&);
-
-        unordered_multimap(unordered_multimap const&, allocator_type const&);
-
-        unordered_multimap(BOOST_RV_REF(unordered_multimap) other)
-            : table_(other.table_, boost::unordered::detail::move_tag())
-        {
-        }
-
-#if !defined(BOOST_NO_RVALUE_REFERENCES)
-        unordered_multimap(unordered_multimap&&, allocator_type const&);
-#endif
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-        unordered_multimap(
-                std::initializer_list<value_type>,
-                size_type = boost::unordered::detail::default_bucket_count,
-                const hasher& = hasher(),
-                const key_equal&l = key_equal(),
-                const allocator_type& = allocator_type());
-#endif
-
-        // Destructor
-
-        ~unordered_multimap();
-
-        // Assign
-
-        unordered_multimap& operator=(
-                BOOST_COPY_ASSIGN_REF(unordered_multimap) x)
-        {
-            table_.assign(x.table_);
-            return *this;
-        }
-
-        unordered_multimap& operator=(BOOST_RV_REF(unordered_multimap) x)
-        {
-            table_.move_assign(x.table_);
-            return *this;
-        }
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-        unordered_multimap& operator=(std::initializer_list<value_type>);
-#endif
-
-        allocator_type get_allocator() const
-        {
-            return table_.node_alloc();
-        }
-
-        // size and capacity
-
-        bool empty() const
-        {
-            return table_.size_ == 0;
-        }
-
-        size_type size() const
-        {
-            return table_.size_;
-        }
-
-        size_type max_size() const;
-
-        // iterators
-
-        iterator begin()
-        {
-            return iterator(table_.begin());
-        }
-
-        const_iterator begin() const
-        {
-            return const_iterator(table_.begin());
-        }
-
-        iterator end()
-        {
-            return iterator();
-        }
-
-        const_iterator end() const
-        {
-            return const_iterator();
-        }
-
-        const_iterator cbegin() const
-        {
-            return const_iterator(table_.begin());
-        }
-
-        const_iterator cend() const
-        {
-            return const_iterator();
-        }
-
-        // emplace
-
-#if defined(BOOST_UNORDERED_STD_FORWARD_MOVE)
-        template <class... Args>
-        iterator emplace(Args&&... args)
-        {
-            return iterator(table_.emplace(std::forward<Args>(args)...));
-        }
-
-        template <class... Args>
-        iterator emplace_hint(const_iterator, Args&&... args)
-        {
-            return iterator(table_.emplace(std::forward<Args>(args)...));
-        }
-#else
-
-#define BOOST_UNORDERED_EMPLACE(z, n, _)                                    \
-            template <                                                      \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
-            >                                                               \
-            iterator emplace(                                               \
-                    BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)      \
-            )                                                               \
-            {                                                               \
-                return iterator(table_.emplace(                             \
-                    boost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
-                            a)                                              \
-                )));                                                        \
-            }                                                               \
-                                                                            \
-            template <                                                      \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
-            >                                                               \
-            iterator emplace_hint(                                          \
-                    const_iterator,                                         \
-                    BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)      \
-            )                                                               \
-            {                                                               \
-                return iterator(table_.emplace(                             \
-                    boost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
-                            a)                                              \
-                )));                                                        \
-            }
-
-        BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
-            BOOST_UNORDERED_EMPLACE, _)
-
-#undef BOOST_UNORDERED_EMPLACE
-
-#if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
-
-        iterator emplace(
-                boost::unordered::detail::empty_emplace
-                    = boost::unordered::detail::empty_emplace(),
-                value_type v = value_type())
-        {
-            return iterator(this->emplace(boost::move(v)));
-        }
-
-        iterator emplace_hint(const_iterator hint,
-                boost::unordered::detail::empty_emplace
-                    = boost::unordered::detail::empty_emplace(),
-                value_type v = value_type()
-            )
-        {
-            return iterator(this->emplace_hint(hint, boost::move(v)));
-        }
-
-#endif
-
-#endif
-
-        iterator insert(value_type const& x)
-        {
-            return this->emplace(x);
-        }
-
-        iterator insert(BOOST_RV_REF(value_type) x)
-        {
-            return this->emplace(boost::move(x));
-        }
-
-        iterator insert(const_iterator hint, value_type const& x)
-        {
-            return this->emplace_hint(hint, x);
-        }
-
-        iterator insert(const_iterator hint, BOOST_RV_REF(value_type) x)
-        {
-            return this->emplace_hint(hint, boost::move(x));
-        }
-
-        template <class InputIt> void insert(InputIt, InputIt);
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-        void insert(std::initializer_list<value_type>);
-#endif
-
-        iterator erase(const_iterator);
-        size_type erase(const key_type&);
-        iterator erase(const_iterator, const_iterator);
-        void quick_erase(const_iterator it) { erase(it); }
-        void erase_return_void(const_iterator it) { erase(it); }
-
-        void clear();
-        void swap(unordered_multimap&);
-
-        // observers
-
-        hasher hash_function() const;
-        key_equal key_eq() const;
-
-        // lookup
-
-        iterator find(const key_type&);
-        const_iterator find(const key_type&) const;
-
-        template <class CompatibleKey, class CompatibleHash,
-            class CompatiblePredicate>
-        iterator find(
-                CompatibleKey const&,
-                CompatibleHash const&,
-                CompatiblePredicate const&);
-
-        template <class CompatibleKey, class CompatibleHash,
-            class CompatiblePredicate>
-        const_iterator find(
-                CompatibleKey const&,
-                CompatibleHash const&,
-                CompatiblePredicate const&) const;
-
-        size_type count(const key_type&) const;
-
-        std::pair<iterator, iterator>
-        equal_range(const key_type&);
-        std::pair<const_iterator, const_iterator>
-        equal_range(const key_type&) const;
-
-        // bucket interface
-
-        size_type bucket_count() const
-        {
-            return table_.bucket_count_;
-        }
-
-        size_type max_bucket_count() const
-        {
-            return table_.max_bucket_count();
-        }
-
-        size_type bucket_size(size_type) const;
-
-        size_type bucket(const key_type& k) const
-        {
-            return table_.hash_function()(k) % table_.bucket_count_;
-        }
-
-        local_iterator begin(size_type n)
-        {
-            return table_.size_ ? local_iterator(
-                table_.get_start(n), n, table_.bucket_count_) :
-                local_iterator();
-        }
-
-        const_local_iterator begin(size_type n) const
-        {
-            return table_.size_ ? const_local_iterator(
-                table_.get_start(n), n, table_.bucket_count_) :
-                const_local_iterator();
-        }
-
-        local_iterator end(size_type)
-        {
-            return local_iterator();
-        }
-
-        const_local_iterator end(size_type) const
-        {
-            return const_local_iterator();
-        }
-
-        const_local_iterator cbegin(size_type n) const
-        {
-            return table_.size_ ? const_local_iterator(
-                table_.get_start(n), n, table_.bucket_count_) :
-                const_local_iterator();
-        }
-
-        const_local_iterator cend(size_type) const
-        {
-            return const_local_iterator();
-        }
-
-        // hash policy
-
-        float max_load_factor() const
-        {
-            return table_.mlf_;
-        }
-
-        float load_factor() const;
-        void max_load_factor(float);
-        void rehash(size_type);
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582)
-        friend bool operator==<K,T,H,P,A>(
-                unordered_multimap const&, unordered_multimap const&);
-        friend bool operator!=<K,T,H,P,A>(
-                unordered_multimap const&, unordered_multimap const&);
-#endif
-    }; // class template unordered_multimap
-
-////////////////////////////////////////////////////////////////////////////////
-
-    template <class K, class T, class H, class P, class A>
-    unordered_map<K,T,H,P,A>::unordered_map(
-            size_type n, const hasher &hf, const key_equal &eql,
-            const allocator_type &a)
-      : table_(n, hf, eql, a)
-    {
-    }
-
-    template <class K, class T, class H, class P, class A>
-    unordered_map<K,T,H,P,A>::unordered_map(allocator_type const& a)
-      : table_(boost::unordered::detail::default_bucket_count,
-            hasher(), key_equal(), a)
-    {
-    }
-
-    template <class K, class T, class H, class P, class A>
-    unordered_map<K,T,H,P,A>::unordered_map(
-            unordered_map const& other, allocator_type const& a)
-      : table_(other.table_, a)
-    {
-    }
-
-    template <class K, class T, class H, class P, class A>
-    template <class InputIt>
-    unordered_map<K,T,H,P,A>::unordered_map(InputIt f, InputIt l)
-      : table_(boost::unordered::detail::initial_size(f, l),
-        hasher(), key_equal(), allocator_type())
-    {
-        table_.insert_range(f, l);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    template <class InputIt>
-    unordered_map<K,T,H,P,A>::unordered_map(
-            InputIt f, InputIt l,
-            size_type n,
-            const hasher &hf,
-            const key_equal &eql)
-      : table_(boost::unordered::detail::initial_size(f, l, n),
-            hf, eql, allocator_type())
-    {
-        table_.insert_range(f, l);
-    }
-    
-    template <class K, class T, class H, class P, class A>
-    template <class InputIt>
-    unordered_map<K,T,H,P,A>::unordered_map(
-            InputIt f, InputIt l,
-            size_type n,
-            const hasher &hf,
-            const key_equal &eql,
-            const allocator_type &a)
-      : table_(boost::unordered::detail::initial_size(f, l, n), hf, eql, a)
-    {
-        table_.insert_range(f, l);
-    }
-    
-    template <class K, class T, class H, class P, class A>
-    unordered_map<K,T,H,P,A>::~unordered_map() {}
-
-    template <class K, class T, class H, class P, class A>
-    unordered_map<K,T,H,P,A>::unordered_map(
-            unordered_map const& other)
-      : table_(other.table_)
-    {
-    }
-
-#if !defined(BOOST_NO_RVALUE_REFERENCES)
-
-    template <class K, class T, class H, class P, class A>
-    unordered_map<K,T,H,P,A>::unordered_map(
-            unordered_map&& other, allocator_type const& a)
-      : table_(other.table_, a, boost::unordered::detail::move_tag())
-    {
-    }
-
-#endif
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-
-    template <class K, class T, class H, class P, class A>
-    unordered_map<K,T,H,P,A>::unordered_map(
-            std::initializer_list<value_type> list, size_type n,
-            const hasher &hf, const key_equal &eql, const allocator_type &a)
-      : table_(
-            boost::unordered::detail::initial_size(
-                list.begin(), list.end(), n),
-            hf, eql, a)
-    {
-        table_.insert_range(list.begin(), list.end());
-    }
-
-    template <class K, class T, class H, class P, class A>
-    unordered_map<K,T,H,P,A>& unordered_map<K,T,H,P,A>::operator=(
-            std::initializer_list<value_type> list)
-    {
-        table_.clear();
-        table_.insert_range(list.begin(), list.end());
-        return *this;
-    }
-
-#endif
-
-    // size and capacity
-
-    template <class K, class T, class H, class P, class A>
-    std::size_t unordered_map<K,T,H,P,A>::max_size() const
-    {
-        return table_.max_size();
-    }
-
-    // modifiers
-
-    template <class K, class T, class H, class P, class A>
-    template <class InputIt>
-    void unordered_map<K,T,H,P,A>::insert(InputIt first, InputIt last)
-    {
-        table_.insert_range(first, last);
-    }
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-    template <class K, class T, class H, class P, class A>
-    void unordered_map<K,T,H,P,A>::insert(
-            std::initializer_list<value_type> list)
-    {
-        table_.insert_range(list.begin(), list.end());
-    }
-#endif
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_map<K,T,H,P,A>::iterator
-        unordered_map<K,T,H,P,A>::erase(const_iterator position)
-    {
-        return iterator(table_.erase(position.node_));
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_map<K,T,H,P,A>::size_type
-        unordered_map<K,T,H,P,A>::erase(const key_type& k)
-    {
-        return table_.erase_key(k);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_map<K,T,H,P,A>::iterator
-        unordered_map<K,T,H,P,A>::erase(
-            const_iterator first, const_iterator last)
-    {
-        return iterator(table_.erase_range(first.node_, last.node_));
-    }
-
-    template <class K, class T, class H, class P, class A>
-    void unordered_map<K,T,H,P,A>::clear()
-    {
-        table_.clear();
-    }
-
-    template <class K, class T, class H, class P, class A>
-    void unordered_map<K,T,H,P,A>::swap(unordered_map& other)
-    {
-        table_.swap(other.table_);
-    }
-
-    // observers
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_map<K,T,H,P,A>::hasher
-        unordered_map<K,T,H,P,A>::hash_function() const
-    {
-        return table_.hash_function();
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_map<K,T,H,P,A>::key_equal
-        unordered_map<K,T,H,P,A>::key_eq() const
-    {
-        return table_.key_eq();
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_map<K,T,H,P,A>::mapped_type&
-        unordered_map<K,T,H,P,A>::operator[](const key_type &k)
-    {
-        return table_[k].second;
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_map<K,T,H,P,A>::mapped_type&
-        unordered_map<K,T,H,P,A>::at(const key_type& k)
-    {
-        return table_.at(k).second;
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_map<K,T,H,P,A>::mapped_type const&
-        unordered_map<K,T,H,P,A>::at(const key_type& k) const
-    {
-        return table_.at(k).second;
-    }
-
-    // lookup
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_map<K,T,H,P,A>::iterator
-        unordered_map<K,T,H,P,A>::find(const key_type& k)
-    {
-        return iterator(table_.find_node(k));
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_map<K,T,H,P,A>::const_iterator
-        unordered_map<K,T,H,P,A>::find(const key_type& k) const
-    {
-        return const_iterator(table_.find_node(k));
-    }
-
-    template <class K, class T, class H, class P, class A>
-    template <class CompatibleKey, class CompatibleHash,
-        class CompatiblePredicate>
-    typename unordered_map<K,T,H,P,A>::iterator
-        unordered_map<K,T,H,P,A>::find(
-            CompatibleKey const& k,
-            CompatibleHash const& hash,
-            CompatiblePredicate const& eq)
-    {
-        return iterator(table_.generic_find_node(k, hash, eq));
-    }
-
-    template <class K, class T, class H, class P, class A>
-    template <class CompatibleKey, class CompatibleHash,
-        class CompatiblePredicate>
-    typename unordered_map<K,T,H,P,A>::const_iterator
-        unordered_map<K,T,H,P,A>::find(
-            CompatibleKey const& k,
-            CompatibleHash const& hash,
-            CompatiblePredicate const& eq) const
-    {
-        return const_iterator(table_.generic_find_node(k, hash, eq));
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_map<K,T,H,P,A>::size_type
-        unordered_map<K,T,H,P,A>::count(const key_type& k) const
-    {
-        return table_.count(k);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    std::pair<
-            typename unordered_map<K,T,H,P,A>::iterator,
-            typename unordered_map<K,T,H,P,A>::iterator>
-        unordered_map<K,T,H,P,A>::equal_range(const key_type& k)
-    {
-        return table_.equal_range(k);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    std::pair<
-            typename unordered_map<K,T,H,P,A>::const_iterator,
-            typename unordered_map<K,T,H,P,A>::const_iterator>
-        unordered_map<K,T,H,P,A>::equal_range(const key_type& k) const
-    {
-        return table_.equal_range(k);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_map<K,T,H,P,A>::size_type
-        unordered_map<K,T,H,P,A>::bucket_size(size_type n) const
-    {
-        return table_.bucket_size(n);
-    }
-
-    // hash policy
-
-    template <class K, class T, class H, class P, class A>
-    float unordered_map<K,T,H,P,A>::load_factor() const
-    {
-        return table_.load_factor();
-    }
-
-    template <class K, class T, class H, class P, class A>
-    void unordered_map<K,T,H,P,A>::max_load_factor(float m)
-    {
-        table_.max_load_factor(m);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    void unordered_map<K,T,H,P,A>::rehash(size_type n)
-    {
-        table_.rehash(n);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    inline bool operator==(
-            unordered_map<K,T,H,P,A> const& m1,
-            unordered_map<K,T,H,P,A> const& m2)
-    {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
-        struct dummy { unordered_map<K,T,H,P,A> x; };
-#endif
-        return m1.table_.equals(m2.table_);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    inline bool operator!=(
-            unordered_map<K,T,H,P,A> const& m1,
-            unordered_map<K,T,H,P,A> const& m2)
-    {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
-        struct dummy { unordered_map<K,T,H,P,A> x; };
-#endif
-        return !m1.table_.equals(m2.table_);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    inline void swap(
-            unordered_map<K,T,H,P,A> &m1,
-            unordered_map<K,T,H,P,A> &m2)
-    {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
-        struct dummy { unordered_map<K,T,H,P,A> x; };
-#endif
-        m1.swap(m2);
-    }
-
-////////////////////////////////////////////////////////////////////////////////
-
-    template <class K, class T, class H, class P, class A>
-    unordered_multimap<K,T,H,P,A>::unordered_multimap(
-            size_type n, const hasher &hf, const key_equal &eql,
-            const allocator_type &a)
-      : table_(n, hf, eql, a)
-    {
-    }
-
-    template <class K, class T, class H, class P, class A>
-    unordered_multimap<K,T,H,P,A>::unordered_multimap(allocator_type const& a)
-      : table_(boost::unordered::detail::default_bucket_count,
-            hasher(), key_equal(), a)
-    {
-    }
-
-    template <class K, class T, class H, class P, class A>
-    unordered_multimap<K,T,H,P,A>::unordered_multimap(
-            unordered_multimap const& other, allocator_type const& a)
-      : table_(other.table_, a)
-    {
-    }
-
-    template <class K, class T, class H, class P, class A>
-    template <class InputIt>
-    unordered_multimap<K,T,H,P,A>::unordered_multimap(InputIt f, InputIt l)
-      : table_(boost::unordered::detail::initial_size(f, l),
-        hasher(), key_equal(), allocator_type())
-    {
-        table_.insert_range(f, l);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    template <class InputIt>
-    unordered_multimap<K,T,H,P,A>::unordered_multimap(
-            InputIt f, InputIt l,
-            size_type n,
-            const hasher &hf,
-            const key_equal &eql)
-      : table_(boost::unordered::detail::initial_size(f, l, n),
-            hf, eql, allocator_type())
-    {
-        table_.insert_range(f, l);
-    }
-    
-    template <class K, class T, class H, class P, class A>
-    template <class InputIt>
-    unordered_multimap<K,T,H,P,A>::unordered_multimap(
-            InputIt f, InputIt l,
-            size_type n,
-            const hasher &hf,
-            const key_equal &eql,
-            const allocator_type &a)
-      : table_(boost::unordered::detail::initial_size(f, l, n), hf, eql, a)
-    {
-        table_.insert_range(f, l);
-    }
-    
-    template <class K, class T, class H, class P, class A>
-    unordered_multimap<K,T,H,P,A>::~unordered_multimap() {}
-
-    template <class K, class T, class H, class P, class A>
-    unordered_multimap<K,T,H,P,A>::unordered_multimap(
-            unordered_multimap const& other)
-      : table_(other.table_)
-    {
-    }
-
-#if !defined(BOOST_NO_RVALUE_REFERENCES)
-
-    template <class K, class T, class H, class P, class A>
-    unordered_multimap<K,T,H,P,A>::unordered_multimap(
-            unordered_multimap&& other, allocator_type const& a)
-      : table_(other.table_, a, boost::unordered::detail::move_tag())
-    {
-    }
-
-#endif
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-
-    template <class K, class T, class H, class P, class A>
-    unordered_multimap<K,T,H,P,A>::unordered_multimap(
-            std::initializer_list<value_type> list, size_type n,
-            const hasher &hf, const key_equal &eql, const allocator_type &a)
-      : table_(
-            boost::unordered::detail::initial_size(
-                list.begin(), list.end(), n),
-            hf, eql, a)
-    {
-        table_.insert_range(list.begin(), list.end());
-    }
-
-    template <class K, class T, class H, class P, class A>
-    unordered_multimap<K,T,H,P,A>& unordered_multimap<K,T,H,P,A>::operator=(
-            std::initializer_list<value_type> list)
-    {
-        table_.clear();
-        table_.insert_range(list.begin(), list.end());
-        return *this;
-    }
-
-#endif
-
-    // size and capacity
-
-    template <class K, class T, class H, class P, class A>
-    std::size_t unordered_multimap<K,T,H,P,A>::max_size() const
-    {
-        return table_.max_size();
-    }
-
-    // modifiers
-
-    template <class K, class T, class H, class P, class A>
-    template <class InputIt>
-    void unordered_multimap<K,T,H,P,A>::insert(InputIt first, InputIt last)
-    {
-        table_.insert_range(first, last);
-    }
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-    template <class K, class T, class H, class P, class A>
-    void unordered_multimap<K,T,H,P,A>::insert(
-            std::initializer_list<value_type> list)
-    {
-        table_.insert_range(list.begin(), list.end());
-    }
-#endif
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_multimap<K,T,H,P,A>::iterator
-        unordered_multimap<K,T,H,P,A>::erase(const_iterator position)
-    {
-        return iterator(table_.erase(position.node_));
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_multimap<K,T,H,P,A>::size_type
-        unordered_multimap<K,T,H,P,A>::erase(const key_type& k)
-    {
-        return table_.erase_key(k);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_multimap<K,T,H,P,A>::iterator
-        unordered_multimap<K,T,H,P,A>::erase(
-            const_iterator first, const_iterator last)
-    {
-        return iterator(table_.erase_range(first.node_, last.node_));
-    }
-
-    template <class K, class T, class H, class P, class A>
-    void unordered_multimap<K,T,H,P,A>::clear()
-    {
-        table_.clear();
-    }
-
-    template <class K, class T, class H, class P, class A>
-    void unordered_multimap<K,T,H,P,A>::swap(unordered_multimap& other)
-    {
-        table_.swap(other.table_);
-    }
-
-    // observers
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_multimap<K,T,H,P,A>::hasher
-        unordered_multimap<K,T,H,P,A>::hash_function() const
-    {
-        return table_.hash_function();
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_multimap<K,T,H,P,A>::key_equal
-        unordered_multimap<K,T,H,P,A>::key_eq() const
-    {
-        return table_.key_eq();
-    }
-
-    // lookup
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_multimap<K,T,H,P,A>::iterator
-        unordered_multimap<K,T,H,P,A>::find(const key_type& k)
-    {
-        return iterator(table_.find_node(k));
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_multimap<K,T,H,P,A>::const_iterator
-        unordered_multimap<K,T,H,P,A>::find(const key_type& k) const
-    {
-        return const_iterator(table_.find_node(k));
-    }
-
-    template <class K, class T, class H, class P, class A>
-    template <class CompatibleKey, class CompatibleHash,
-        class CompatiblePredicate>
-    typename unordered_multimap<K,T,H,P,A>::iterator
-        unordered_multimap<K,T,H,P,A>::find(
-            CompatibleKey const& k,
-            CompatibleHash const& hash,
-            CompatiblePredicate const& eq)
-    {
-        return iterator(table_.generic_find_node(k, hash, eq));
-    }
-
-    template <class K, class T, class H, class P, class A>
-    template <class CompatibleKey, class CompatibleHash,
-        class CompatiblePredicate>
-    typename unordered_multimap<K,T,H,P,A>::const_iterator
-        unordered_multimap<K,T,H,P,A>::find(
-            CompatibleKey const& k,
-            CompatibleHash const& hash,
-            CompatiblePredicate const& eq) const
-    {
-        return const_iterator(table_.generic_find_node(k, hash, eq));
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_multimap<K,T,H,P,A>::size_type
-        unordered_multimap<K,T,H,P,A>::count(const key_type& k) const
-    {
-        return table_.count(k);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    std::pair<
-            typename unordered_multimap<K,T,H,P,A>::iterator,
-            typename unordered_multimap<K,T,H,P,A>::iterator>
-        unordered_multimap<K,T,H,P,A>::equal_range(const key_type& k)
-    {
-        return table_.equal_range(k);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    std::pair<
-            typename unordered_multimap<K,T,H,P,A>::const_iterator,
-            typename unordered_multimap<K,T,H,P,A>::const_iterator>
-        unordered_multimap<K,T,H,P,A>::equal_range(const key_type& k) const
-    {
-        return table_.equal_range(k);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    typename unordered_multimap<K,T,H,P,A>::size_type
-        unordered_multimap<K,T,H,P,A>::bucket_size(size_type n) const
-    {
-        return table_.bucket_size(n);
-    }
-
-    // hash policy
-
-    template <class K, class T, class H, class P, class A>
-    float unordered_multimap<K,T,H,P,A>::load_factor() const
-    {
-        return table_.load_factor();
-    }
-
-    template <class K, class T, class H, class P, class A>
-    void unordered_multimap<K,T,H,P,A>::max_load_factor(float m)
-    {
-        table_.max_load_factor(m);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    void unordered_multimap<K,T,H,P,A>::rehash(size_type n)
-    {
-        table_.rehash(n);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    inline bool operator==(
-            unordered_multimap<K,T,H,P,A> const& m1,
-            unordered_multimap<K,T,H,P,A> const& m2)
-    {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
-        struct dummy { unordered_multimap<K,T,H,P,A> x; };
-#endif
-        return m1.table_.equals(m2.table_);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    inline bool operator!=(
-            unordered_multimap<K,T,H,P,A> const& m1,
-            unordered_multimap<K,T,H,P,A> const& m2)
-    {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
-        struct dummy { unordered_multimap<K,T,H,P,A> x; };
-#endif
-        return !m1.table_.equals(m2.table_);
-    }
-
-    template <class K, class T, class H, class P, class A>
-    inline void swap(
-            unordered_multimap<K,T,H,P,A> &m1,
-            unordered_multimap<K,T,H,P,A> &m2)
-    {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
-        struct dummy { unordered_multimap<K,T,H,P,A> x; };
-#endif
-        m1.swap(m2);
-    }
-
-} // namespace unordered
-} // namespace boost
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_UNORDERED_UNORDERED_MAP_HPP_INCLUDED
diff --git a/SRC/Boost/boost/unordered/unordered_map_fwd.hpp b/SRC/Boost/boost/unordered/unordered_map_fwd.hpp
deleted file mode 100755
index 44d1461..0000000
--- a/SRC/Boost/boost/unordered/unordered_map_fwd.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-// Copyright (C) 2008-2011 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UNORDERED_MAP_FWD_HPP_INCLUDED
-#define BOOST_UNORDERED_MAP_FWD_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/unordered/detail/fwd.hpp>
-
-namespace boost
-{
-    namespace unordered
-    {
-        template <class K, class T, class H, class P, class A>
-        inline bool operator==(unordered_map<K, T, H, P, A> const&,
-            unordered_map<K, T, H, P, A> const&);
-        template <class K, class T, class H, class P, class A>
-        inline bool operator!=(unordered_map<K, T, H, P, A> const&,
-            unordered_map<K, T, H, P, A> const&);
-        template <class K, class T, class H, class P, class A>
-        inline void swap(unordered_map<K, T, H, P, A>&,
-                unordered_map<K, T, H, P, A>&);
-
-        template <class K, class T, class H, class P, class A>
-        inline bool operator==(unordered_multimap<K, T, H, P, A> const&,
-            unordered_multimap<K, T, H, P, A> const&);
-        template <class K, class T, class H, class P, class A>
-        inline bool operator!=(unordered_multimap<K, T, H, P, A> const&,
-            unordered_multimap<K, T, H, P, A> const&);
-        template <class K, class T, class H, class P, class A>
-        inline void swap(unordered_multimap<K, T, H, P, A>&,
-                unordered_multimap<K, T, H, P, A>&);
-    }
-
-    using boost::unordered::unordered_map;
-    using boost::unordered::unordered_multimap;
-    using boost::unordered::swap;
-    using boost::unordered::operator==;
-    using boost::unordered::operator!=;
-}
-
-#endif
diff --git a/SRC/Boost/boost/unordered/unordered_set.hpp b/SRC/Boost/boost/unordered/unordered_set.hpp
deleted file mode 100755
index 51f66a2..0000000
--- a/SRC/Boost/boost/unordered/unordered_set.hpp
+++ /dev/null
@@ -1,1358 +0,0 @@
-
-// Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard.
-// Copyright (C) 2005-2011 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/unordered for documentation
-
-#ifndef BOOST_UNORDERED_UNORDERED_SET_HPP_INCLUDED
-#define BOOST_UNORDERED_UNORDERED_SET_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/unordered/unordered_set_fwd.hpp>
-#include <boost/unordered/detail/allocator_helpers.hpp>
-#include <boost/unordered/detail/equivalent.hpp>
-#include <boost/unordered/detail/unique.hpp>
-#include <boost/unordered/detail/util.hpp>
-#include <boost/functional/hash.hpp>
-#include <boost/move/move.hpp>
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-#include <initializer_list>
-#endif
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#if BOOST_MSVC >= 1400
-#pragma warning(disable:4396) //the inline specifier cannot be used when a
-                              // friend declaration refers to a specialization
-                              // of a function template
-#endif
-#endif
-
-namespace boost
-{
-namespace unordered
-{
-    template <class T, class H, class P, class A>
-    class unordered_set
-    {
-        BOOST_COPYABLE_AND_MOVABLE(unordered_set)
-    public:
-
-        typedef T key_type;
-        typedef T value_type;
-        typedef H hasher;
-        typedef P key_equal;
-        typedef A allocator_type;
-
-    private:
-
-        typedef typename boost::unordered::detail::rebind_wrap<
-                allocator_type, value_type>::type
-            value_allocator;
-
-        typedef boost::unordered::detail::allocator_traits<value_allocator>
-            allocator_traits;
-
-        typedef boost::unordered::detail::set<value_allocator, H, P>
-            types;
-        typedef typename types::table table;
-
-    public:
-
-        typedef typename allocator_traits::pointer pointer;
-        typedef typename allocator_traits::const_pointer const_pointer;
-
-        typedef value_type& reference;
-        typedef value_type const& const_reference;
-
-        typedef std::size_t size_type;
-        typedef std::ptrdiff_t difference_type;
-
-        typedef typename table::cl_iterator const_local_iterator;
-        typedef typename table::cl_iterator local_iterator;
-        typedef typename table::c_iterator const_iterator;
-        typedef typename table::c_iterator iterator;
-
-    private:
-
-        table table_;
-
-    public:
-
-        // constructors
-
-        explicit unordered_set(
-                size_type = boost::unordered::detail::default_bucket_count,
-                const hasher& = hasher(),
-                const key_equal& = key_equal(),
-                const allocator_type& = allocator_type());
-
-        explicit unordered_set(allocator_type const&);
-
-        template <class InputIt>
-        unordered_set(InputIt, InputIt);
-
-        template <class InputIt>
-        unordered_set(
-                InputIt, InputIt,
-                size_type,
-                const hasher& = hasher(),
-                const key_equal& = key_equal());
-
-        template <class InputIt>
-        unordered_set(
-                InputIt, InputIt,
-                size_type,
-                const hasher&,
-                const key_equal&,
-                const allocator_type&);
-
-        // copy/move constructors
-
-        unordered_set(unordered_set const&);
-
-        unordered_set(unordered_set const&, allocator_type const&);
-
-        unordered_set(BOOST_RV_REF(unordered_set) other)
-            : table_(other.table_, boost::unordered::detail::move_tag())
-        {
-        }
-
-#if !defined(BOOST_NO_RVALUE_REFERENCES)
-        unordered_set(unordered_set&&, allocator_type const&);
-#endif
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-        unordered_set(
-                std::initializer_list<value_type>,
-                size_type = boost::unordered::detail::default_bucket_count,
-                const hasher& = hasher(),
-                const key_equal&l = key_equal(),
-                const allocator_type& = allocator_type());
-#endif
-
-        // Destructor
-
-        ~unordered_set();
-
-        // Assign
-
-        unordered_set& operator=(BOOST_COPY_ASSIGN_REF(unordered_set) x)
-        {
-            table_.assign(x.table_);
-            return *this;
-        }
-
-        unordered_set& operator=(BOOST_RV_REF(unordered_set) x)
-        {
-            table_.move_assign(x.table_);
-            return *this;
-        }
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-        unordered_set& operator=(std::initializer_list<value_type>);
-#endif
-
-        allocator_type get_allocator() const
-        {
-            return table_.node_alloc();
-        }
-
-        // size and capacity
-
-        bool empty() const
-        {
-            return table_.size_ == 0;
-        }
-
-        size_type size() const
-        {
-            return table_.size_;
-        }
-
-        size_type max_size() const;
-
-        // iterators
-
-        iterator begin()
-        {
-            return iterator(table_.begin());
-        }
-
-        const_iterator begin() const
-        {
-            return const_iterator(table_.begin());
-        }
-
-        iterator end()
-        {
-            return iterator();
-        }
-
-        const_iterator end() const
-        {
-            return const_iterator();
-        }
-
-        const_iterator cbegin() const
-        {
-            return const_iterator(table_.begin());
-        }
-
-        const_iterator cend() const
-        {
-            return const_iterator();
-        }
-
-        // emplace
-
-#if defined(BOOST_UNORDERED_STD_FORWARD_MOVE)
-        template <class... Args>
-        std::pair<iterator, bool> emplace(Args&&... args)
-        {
-            return table_.emplace(std::forward<Args>(args)...);
-        }
-
-        template <class... Args>
-        iterator emplace_hint(const_iterator, Args&&... args)
-        {
-            return iterator(table_.emplace(std::forward<Args>(args)...).first);
-        }
-#else
-
-#define BOOST_UNORDERED_EMPLACE(z, n, _)                                    \
-            template <                                                      \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
-            >                                                               \
-            std::pair<iterator, bool> emplace(                              \
-                    BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)      \
-            )                                                               \
-            {                                                               \
-                return table_.emplace(                                      \
-                    boost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
-                            a)                                              \
-                ));                                                         \
-            }                                                               \
-                                                                            \
-            template <                                                      \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
-            >                                                               \
-            iterator emplace_hint(                                          \
-                    const_iterator,                                         \
-                    BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)      \
-            )                                                               \
-            {                                                               \
-                return iterator(table_.emplace(                             \
-                    boost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
-                            a)                                              \
-                )).first);                                                  \
-            }
-
-        BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
-            BOOST_UNORDERED_EMPLACE, _)
-
-#undef BOOST_UNORDERED_EMPLACE
-
-#if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
-
-        std::pair<iterator, bool> emplace(
-                boost::unordered::detail::empty_emplace
-                    = boost::unordered::detail::empty_emplace(),
-                value_type v = value_type())
-        {
-            return this->emplace(boost::move(v));
-        }
-
-        iterator emplace_hint(const_iterator hint,
-                boost::unordered::detail::empty_emplace
-                    = boost::unordered::detail::empty_emplace(),
-                value_type v = value_type()
-            )
-        {
-            return iterator(this->emplace_hint(hint, boost::move(v)));
-        }
-
-#endif
-
-#endif
-
-        std::pair<iterator, bool> insert(value_type const& x)
-        {
-            return this->emplace(x);
-        }
-
-        std::pair<iterator, bool> insert(BOOST_UNORDERED_RV_REF(value_type) x)
-        {
-            return this->emplace(boost::move(x));
-        }
-
-        iterator insert(const_iterator hint, value_type const& x)
-        {
-            return this->emplace_hint(hint, x);
-        }
-
-        iterator insert(const_iterator hint,
-                BOOST_UNORDERED_RV_REF(value_type) x)
-        {
-            return this->emplace_hint(hint, boost::move(x));
-        }
-
-        template <class InputIt> void insert(InputIt, InputIt);
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-        void insert(std::initializer_list<value_type>);
-#endif
-
-        iterator erase(const_iterator);
-        size_type erase(const key_type&);
-        iterator erase(const_iterator, const_iterator);
-        void quick_erase(const_iterator it) { erase(it); }
-        void erase_return_void(const_iterator it) { erase(it); }
-
-        void clear();
-        void swap(unordered_set&);
-
-        // observers
-
-        hasher hash_function() const;
-        key_equal key_eq() const;
-
-        // lookup
-
-        const_iterator find(const key_type&) const;
-
-        template <class CompatibleKey, class CompatibleHash,
-            class CompatiblePredicate>
-        const_iterator find(
-                CompatibleKey const&,
-                CompatibleHash const&,
-                CompatiblePredicate const&) const;
-
-        size_type count(const key_type&) const;
-
-        std::pair<const_iterator, const_iterator>
-        equal_range(const key_type&) const;
-
-        // bucket interface
-
-        size_type bucket_count() const
-        {
-            return table_.bucket_count_;
-        }
-
-        size_type max_bucket_count() const
-        {
-            return table_.max_bucket_count();
-        }
-
-        size_type bucket_size(size_type) const;
-
-        size_type bucket(const key_type& k) const
-        {
-            return table_.hash_function()(k) % table_.bucket_count_;
-        }
-
-        local_iterator begin(size_type n)
-        {
-            return table_.size_ ? local_iterator(
-                table_.get_start(n), n, table_.bucket_count_) :
-                local_iterator();
-        }
-
-        const_local_iterator begin(size_type n) const
-        {
-            return table_.size_ ? const_local_iterator(
-                table_.get_start(n), n, table_.bucket_count_) :
-                const_local_iterator();
-        }
-
-        local_iterator end(size_type)
-        {
-            return local_iterator();
-        }
-
-        const_local_iterator end(size_type) const
-        {
-            return const_local_iterator();
-        }
-
-        const_local_iterator cbegin(size_type n) const
-        {
-            return table_.size_ ? const_local_iterator(
-                table_.get_start(n), n, table_.bucket_count_) :
-                const_local_iterator();
-        }
-
-        const_local_iterator cend(size_type) const
-        {
-            return const_local_iterator();
-        }
-
-        // hash policy
-
-        float max_load_factor() const
-        {
-            return table_.mlf_;
-        }
-
-        float load_factor() const;
-        void max_load_factor(float);
-        void rehash(size_type);
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582)
-        friend bool operator==<T,H,P,A>(
-                unordered_set const&, unordered_set const&);
-        friend bool operator!=<T,H,P,A>(
-                unordered_set const&, unordered_set const&);
-#endif
-    }; // class template unordered_set
-
-    template <class T, class H, class P, class A>
-    class unordered_multiset
-    {
-        BOOST_COPYABLE_AND_MOVABLE(unordered_multiset)
-    public:
-
-        typedef T key_type;
-        typedef T value_type;
-        typedef H hasher;
-        typedef P key_equal;
-        typedef A allocator_type;
-
-    private:
-
-        typedef typename boost::unordered::detail::rebind_wrap<
-                allocator_type, value_type>::type
-            value_allocator;
-
-        typedef boost::unordered::detail::allocator_traits<value_allocator>
-            allocator_traits;
-
-        typedef boost::unordered::detail::multiset<value_allocator, H, P>
-            types;
-        typedef typename types::table table;
-
-    public:
-
-        typedef typename allocator_traits::pointer pointer;
-        typedef typename allocator_traits::const_pointer const_pointer;
-
-        typedef value_type& reference;
-        typedef value_type const& const_reference;
-
-        typedef std::size_t size_type;
-        typedef std::ptrdiff_t difference_type;
-
-        typedef typename table::cl_iterator const_local_iterator;
-        typedef typename table::cl_iterator local_iterator;
-        typedef typename table::c_iterator const_iterator;
-        typedef typename table::c_iterator iterator;
-
-    private:
-
-        table table_;
-
-    public:
-
-        // constructors
-
-        explicit unordered_multiset(
-                size_type = boost::unordered::detail::default_bucket_count,
-                const hasher& = hasher(),
-                const key_equal& = key_equal(),
-                const allocator_type& = allocator_type());
-
-        explicit unordered_multiset(allocator_type const&);
-
-        template <class InputIt>
-        unordered_multiset(InputIt, InputIt);
-
-        template <class InputIt>
-        unordered_multiset(
-                InputIt, InputIt,
-                size_type,
-                const hasher& = hasher(),
-                const key_equal& = key_equal());
-
-        template <class InputIt>
-        unordered_multiset(
-                InputIt, InputIt,
-                size_type,
-                const hasher&,
-                const key_equal&,
-                const allocator_type&);
-
-        // copy/move constructors
-
-        unordered_multiset(unordered_multiset const&);
-
-        unordered_multiset(unordered_multiset const&, allocator_type const&);
-
-        unordered_multiset(BOOST_RV_REF(unordered_multiset) other)
-            : table_(other.table_, boost::unordered::detail::move_tag())
-        {
-        }
-
-#if !defined(BOOST_NO_RVALUE_REFERENCES)
-        unordered_multiset(unordered_multiset&&, allocator_type const&);
-#endif
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-        unordered_multiset(
-                std::initializer_list<value_type>,
-                size_type = boost::unordered::detail::default_bucket_count,
-                const hasher& = hasher(),
-                const key_equal&l = key_equal(),
-                const allocator_type& = allocator_type());
-#endif
-
-        // Destructor
-
-        ~unordered_multiset();
-
-        // Assign
-
-        unordered_multiset& operator=(
-                BOOST_COPY_ASSIGN_REF(unordered_multiset) x)
-        {
-            table_.assign(x.table_);
-            return *this;
-        }
-
-        unordered_multiset& operator=(BOOST_RV_REF(unordered_multiset) x)
-        {
-            table_.move_assign(x.table_);
-            return *this;
-        }
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-        unordered_multiset& operator=(std::initializer_list<value_type>);
-#endif
-
-        allocator_type get_allocator() const
-        {
-            return table_.node_alloc();
-        }
-
-        // size and capacity
-
-        bool empty() const
-        {
-            return table_.size_ == 0;
-        }
-
-        size_type size() const
-        {
-            return table_.size_;
-        }
-
-        size_type max_size() const;
-
-        // iterators
-
-        iterator begin()
-        {
-            return iterator(table_.begin());
-        }
-
-        const_iterator begin() const
-        {
-            return const_iterator(table_.begin());
-        }
-
-        iterator end()
-        {
-            return iterator();
-        }
-
-        const_iterator end() const
-        {
-            return const_iterator();
-        }
-
-        const_iterator cbegin() const
-        {
-            return const_iterator(table_.begin());
-        }
-
-        const_iterator cend() const
-        {
-            return const_iterator();
-        }
-
-        // emplace
-
-#if defined(BOOST_UNORDERED_STD_FORWARD_MOVE)
-        template <class... Args>
-        iterator emplace(Args&&... args)
-        {
-            return iterator(table_.emplace(std::forward<Args>(args)...));
-        }
-
-        template <class... Args>
-        iterator emplace_hint(const_iterator, Args&&... args)
-        {
-            return iterator(table_.emplace(std::forward<Args>(args)...));
-        }
-#else
-
-#define BOOST_UNORDERED_EMPLACE(z, n, _)                                    \
-            template <                                                      \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
-            >                                                               \
-            iterator emplace(                                               \
-                    BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)      \
-            )                                                               \
-            {                                                               \
-                return iterator(table_.emplace(                             \
-                    boost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
-                            a)                                              \
-                )));                                                        \
-            }                                                               \
-                                                                            \
-            template <                                                      \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
-            >                                                               \
-            iterator emplace_hint(                                          \
-                    const_iterator,                                         \
-                    BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)      \
-            )                                                               \
-            {                                                               \
-                return iterator(table_.emplace(                             \
-                    boost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
-                            a)                                              \
-                )));                                                        \
-            }
-
-        BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
-            BOOST_UNORDERED_EMPLACE, _)
-
-#undef BOOST_UNORDERED_EMPLACE
-
-#if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
-
-        iterator emplace(
-                boost::unordered::detail::empty_emplace
-                    = boost::unordered::detail::empty_emplace(),
-                value_type v = value_type())
-        {
-            return this->emplace(boost::move(v));
-        }
-
-        iterator emplace_hint(const_iterator hint,
-                boost::unordered::detail::empty_emplace
-                    = boost::unordered::detail::empty_emplace(),
-                value_type v = value_type()
-            )
-        {
-            return this->emplace_hint(hint, boost::move(v));
-        }
-
-#endif
-
-#endif
-
-        iterator insert(value_type const& x)
-        {
-            return this->emplace(x);
-        }
-
-        iterator insert(BOOST_UNORDERED_RV_REF(value_type) x)
-        {
-            return this->emplace(boost::move(x));
-        }
-
-        iterator insert(const_iterator hint, value_type const& x)
-        {
-            return this->emplace_hint(hint, x);
-        }
-
-        iterator insert(const_iterator hint,
-                BOOST_UNORDERED_RV_REF(value_type) x)
-        {
-            return this->emplace_hint(hint, boost::move(x));
-        }
-
-        template <class InputIt> void insert(InputIt, InputIt);
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-        void insert(std::initializer_list<value_type>);
-#endif
-
-        iterator erase(const_iterator);
-        size_type erase(const key_type&);
-        iterator erase(const_iterator, const_iterator);
-        void quick_erase(const_iterator it) { erase(it); }
-        void erase_return_void(const_iterator it) { erase(it); }
-
-        void clear();
-        void swap(unordered_multiset&);
-
-        // observers
-
-        hasher hash_function() const;
-        key_equal key_eq() const;
-
-        // lookup
-
-        const_iterator find(const key_type&) const;
-
-        template <class CompatibleKey, class CompatibleHash,
-            class CompatiblePredicate>
-        const_iterator find(
-                CompatibleKey const&,
-                CompatibleHash const&,
-                CompatiblePredicate const&) const;
-
-        size_type count(const key_type&) const;
-
-        std::pair<const_iterator, const_iterator>
-        equal_range(const key_type&) const;
-
-        // bucket interface
-
-        size_type bucket_count() const
-        {
-            return table_.bucket_count_;
-        }
-
-        size_type max_bucket_count() const
-        {
-            return table_.max_bucket_count();
-        }
-
-        size_type bucket_size(size_type) const;
-
-        size_type bucket(const key_type& k) const
-        {
-            return table_.hash_function()(k) % table_.bucket_count_;
-        }
-
-        local_iterator begin(size_type n)
-        {
-            return table_.size_ ? local_iterator(
-                table_.get_start(n), n, table_.bucket_count_) :
-                local_iterator();
-        }
-
-        const_local_iterator begin(size_type n) const
-        {
-            return table_.size_ ? const_local_iterator(
-                table_.get_start(n), n, table_.bucket_count_) :
-                const_local_iterator();
-        }
-
-        local_iterator end(size_type)
-        {
-            return local_iterator();
-        }
-
-        const_local_iterator end(size_type) const
-        {
-            return const_local_iterator();
-        }
-
-        const_local_iterator cbegin(size_type n) const
-        {
-            return table_.size_ ? const_local_iterator(
-                table_.get_start(n), n, table_.bucket_count_) :
-                const_local_iterator();
-        }
-
-        const_local_iterator cend(size_type) const
-        {
-            return const_local_iterator();
-        }
-
-        // hash policy
-
-        float max_load_factor() const
-        {
-            return table_.mlf_;
-        }
-
-        float load_factor() const;
-        void max_load_factor(float);
-        void rehash(size_type);
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582)
-        friend bool operator==<T,H,P,A>(
-                unordered_multiset const&, unordered_multiset const&);
-        friend bool operator!=<T,H,P,A>(
-                unordered_multiset const&, unordered_multiset const&);
-#endif
-    }; // class template unordered_multiset
-
-////////////////////////////////////////////////////////////////////////////////
-
-    template <class T, class H, class P, class A>
-    unordered_set<T,H,P,A>::unordered_set(
-            size_type n, const hasher &hf, const key_equal &eql,
-            const allocator_type &a)
-      : table_(n, hf, eql, a)
-    {
-    }
-
-    template <class T, class H, class P, class A>
-    unordered_set<T,H,P,A>::unordered_set(allocator_type const& a)
-      : table_(boost::unordered::detail::default_bucket_count,
-            hasher(), key_equal(), a)
-    {
-    }
-
-    template <class T, class H, class P, class A>
-    unordered_set<T,H,P,A>::unordered_set(
-            unordered_set const& other, allocator_type const& a)
-      : table_(other.table_, a)
-    {
-    }
-
-    template <class T, class H, class P, class A>
-    template <class InputIt>
-    unordered_set<T,H,P,A>::unordered_set(InputIt f, InputIt l)
-      : table_(boost::unordered::detail::initial_size(f, l),
-        hasher(), key_equal(), allocator_type())
-    {
-        table_.insert_range(f, l);
-    }
-
-    template <class T, class H, class P, class A>
-    template <class InputIt>
-    unordered_set<T,H,P,A>::unordered_set(
-            InputIt f, InputIt l,
-            size_type n,
-            const hasher &hf,
-            const key_equal &eql)
-      : table_(boost::unordered::detail::initial_size(f, l, n),
-            hf, eql, allocator_type())
-    {
-        table_.insert_range(f, l);
-    }
-    
-    template <class T, class H, class P, class A>
-    template <class InputIt>
-    unordered_set<T,H,P,A>::unordered_set(
-            InputIt f, InputIt l,
-            size_type n,
-            const hasher &hf,
-            const key_equal &eql,
-            const allocator_type &a)
-      : table_(boost::unordered::detail::initial_size(f, l, n), hf, eql, a)
-    {
-        table_.insert_range(f, l);
-    }
-    
-    template <class T, class H, class P, class A>
-    unordered_set<T,H,P,A>::~unordered_set() {}
-
-    template <class T, class H, class P, class A>
-    unordered_set<T,H,P,A>::unordered_set(
-            unordered_set const& other)
-      : table_(other.table_)
-    {
-    }
-
-#if !defined(BOOST_NO_RVALUE_REFERENCES)
-
-    template <class T, class H, class P, class A>
-    unordered_set<T,H,P,A>::unordered_set(
-            unordered_set&& other, allocator_type const& a)
-      : table_(other.table_, a, boost::unordered::detail::move_tag())
-    {
-    }
-
-#endif
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-
-    template <class T, class H, class P, class A>
-    unordered_set<T,H,P,A>::unordered_set(
-            std::initializer_list<value_type> list, size_type n,
-            const hasher &hf, const key_equal &eql, const allocator_type &a)
-      : table_(
-            boost::unordered::detail::initial_size(
-                list.begin(), list.end(), n),
-            hf, eql, a)
-    {
-        table_.insert_range(list.begin(), list.end());
-    }
-
-    template <class T, class H, class P, class A>
-    unordered_set<T,H,P,A>& unordered_set<T,H,P,A>::operator=(
-            std::initializer_list<value_type> list)
-    {
-        table_.clear();
-        table_.insert_range(list.begin(), list.end());
-        return *this;
-    }
-
-#endif
-
-    // size and capacity
-
-    template <class T, class H, class P, class A>
-    std::size_t unordered_set<T,H,P,A>::max_size() const
-    {
-        return table_.max_size();
-    }
-
-    // modifiers
-
-    template <class T, class H, class P, class A>
-    template <class InputIt>
-    void unordered_set<T,H,P,A>::insert(InputIt first, InputIt last)
-    {
-        table_.insert_range(first, last);
-    }
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-    template <class T, class H, class P, class A>
-    void unordered_set<T,H,P,A>::insert(
-            std::initializer_list<value_type> list)
-    {
-        table_.insert_range(list.begin(), list.end());
-    }
-#endif
-
-    template <class T, class H, class P, class A>
-    typename unordered_set<T,H,P,A>::iterator
-        unordered_set<T,H,P,A>::erase(const_iterator position)
-    {
-        return iterator(table_.erase(position.node_));
-    }
-
-    template <class T, class H, class P, class A>
-    typename unordered_set<T,H,P,A>::size_type
-        unordered_set<T,H,P,A>::erase(const key_type& k)
-    {
-        return table_.erase_key(k);
-    }
-
-    template <class T, class H, class P, class A>
-    typename unordered_set<T,H,P,A>::iterator
-        unordered_set<T,H,P,A>::erase(
-            const_iterator first, const_iterator last)
-    {
-        return iterator(table_.erase_range(first.node_, last.node_));
-    }
-
-    template <class T, class H, class P, class A>
-    void unordered_set<T,H,P,A>::clear()
-    {
-        table_.clear();
-    }
-
-    template <class T, class H, class P, class A>
-    void unordered_set<T,H,P,A>::swap(unordered_set& other)
-    {
-        table_.swap(other.table_);
-    }
-
-    // observers
-
-    template <class T, class H, class P, class A>
-    typename unordered_set<T,H,P,A>::hasher
-        unordered_set<T,H,P,A>::hash_function() const
-    {
-        return table_.hash_function();
-    }
-
-    template <class T, class H, class P, class A>
-    typename unordered_set<T,H,P,A>::key_equal
-        unordered_set<T,H,P,A>::key_eq() const
-    {
-        return table_.key_eq();
-    }
-
-    // lookup
-
-    template <class T, class H, class P, class A>
-    typename unordered_set<T,H,P,A>::const_iterator
-        unordered_set<T,H,P,A>::find(const key_type& k) const
-    {
-        return const_iterator(table_.find_node(k));
-    }
-
-    template <class T, class H, class P, class A>
-    template <class CompatibleKey, class CompatibleHash,
-        class CompatiblePredicate>
-    typename unordered_set<T,H,P,A>::const_iterator
-        unordered_set<T,H,P,A>::find(
-            CompatibleKey const& k,
-            CompatibleHash const& hash,
-            CompatiblePredicate const& eq) const
-    {
-        return const_iterator(table_.generic_find_node(k, hash, eq));
-    }
-
-    template <class T, class H, class P, class A>
-    typename unordered_set<T,H,P,A>::size_type
-        unordered_set<T,H,P,A>::count(const key_type& k) const
-    {
-        return table_.count(k);
-    }
-
-    template <class T, class H, class P, class A>
-    std::pair<
-            typename unordered_set<T,H,P,A>::const_iterator,
-            typename unordered_set<T,H,P,A>::const_iterator>
-        unordered_set<T,H,P,A>::equal_range(const key_type& k) const
-    {
-        return table_.equal_range(k);
-    }
-
-    template <class T, class H, class P, class A>
-    typename unordered_set<T,H,P,A>::size_type
-        unordered_set<T,H,P,A>::bucket_size(size_type n) const
-    {
-        return table_.bucket_size(n);
-    }
-
-    // hash policy
-
-    template <class T, class H, class P, class A>
-    float unordered_set<T,H,P,A>::load_factor() const
-    {
-        return table_.load_factor();
-    }
-
-    template <class T, class H, class P, class A>
-    void unordered_set<T,H,P,A>::max_load_factor(float m)
-    {
-        table_.max_load_factor(m);
-    }
-
-    template <class T, class H, class P, class A>
-    void unordered_set<T,H,P,A>::rehash(size_type n)
-    {
-        table_.rehash(n);
-    }
-
-    template <class T, class H, class P, class A>
-    inline bool operator==(
-            unordered_set<T,H,P,A> const& m1,
-            unordered_set<T,H,P,A> const& m2)
-    {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
-        struct dummy { unordered_set<T,H,P,A> x; };
-#endif
-        return m1.table_.equals(m2.table_);
-    }
-
-    template <class T, class H, class P, class A>
-    inline bool operator!=(
-            unordered_set<T,H,P,A> const& m1,
-            unordered_set<T,H,P,A> const& m2)
-    {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
-        struct dummy { unordered_set<T,H,P,A> x; };
-#endif
-        return !m1.table_.equals(m2.table_);
-    }
-
-    template <class T, class H, class P, class A>
-    inline void swap(
-            unordered_set<T,H,P,A> &m1,
-            unordered_set<T,H,P,A> &m2)
-    {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
-        struct dummy { unordered_set<T,H,P,A> x; };
-#endif
-        m1.swap(m2);
-    }
-
-////////////////////////////////////////////////////////////////////////////////
-
-    template <class T, class H, class P, class A>
-    unordered_multiset<T,H,P,A>::unordered_multiset(
-            size_type n, const hasher &hf, const key_equal &eql,
-            const allocator_type &a)
-      : table_(n, hf, eql, a)
-    {
-    }
-
-    template <class T, class H, class P, class A>
-    unordered_multiset<T,H,P,A>::unordered_multiset(allocator_type const& a)
-      : table_(boost::unordered::detail::default_bucket_count,
-            hasher(), key_equal(), a)
-    {
-    }
-
-    template <class T, class H, class P, class A>
-    unordered_multiset<T,H,P,A>::unordered_multiset(
-            unordered_multiset const& other, allocator_type const& a)
-      : table_(other.table_, a)
-    {
-    }
-
-    template <class T, class H, class P, class A>
-    template <class InputIt>
-    unordered_multiset<T,H,P,A>::unordered_multiset(InputIt f, InputIt l)
-      : table_(boost::unordered::detail::initial_size(f, l),
-        hasher(), key_equal(), allocator_type())
-    {
-        table_.insert_range(f, l);
-    }
-
-    template <class T, class H, class P, class A>
-    template <class InputIt>
-    unordered_multiset<T,H,P,A>::unordered_multiset(
-            InputIt f, InputIt l,
-            size_type n,
-            const hasher &hf,
-            const key_equal &eql)
-      : table_(boost::unordered::detail::initial_size(f, l, n),
-            hf, eql, allocator_type())
-    {
-        table_.insert_range(f, l);
-    }
-    
-    template <class T, class H, class P, class A>
-    template <class InputIt>
-    unordered_multiset<T,H,P,A>::unordered_multiset(
-            InputIt f, InputIt l,
-            size_type n,
-            const hasher &hf,
-            const key_equal &eql,
-            const allocator_type &a)
-      : table_(boost::unordered::detail::initial_size(f, l, n), hf, eql, a)
-    {
-        table_.insert_range(f, l);
-    }
-    
-    template <class T, class H, class P, class A>
-    unordered_multiset<T,H,P,A>::~unordered_multiset() {}
-
-    template <class T, class H, class P, class A>
-    unordered_multiset<T,H,P,A>::unordered_multiset(
-            unordered_multiset const& other)
-      : table_(other.table_)
-    {
-    }
-
-#if !defined(BOOST_NO_RVALUE_REFERENCES)
-
-    template <class T, class H, class P, class A>
-    unordered_multiset<T,H,P,A>::unordered_multiset(
-            unordered_multiset&& other, allocator_type const& a)
-      : table_(other.table_, a, boost::unordered::detail::move_tag())
-    {
-    }
-
-#endif
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-
-    template <class T, class H, class P, class A>
-    unordered_multiset<T,H,P,A>::unordered_multiset(
-            std::initializer_list<value_type> list, size_type n,
-            const hasher &hf, const key_equal &eql, const allocator_type &a)
-      : table_(
-            boost::unordered::detail::initial_size(
-                list.begin(), list.end(), n),
-            hf, eql, a)
-    {
-        table_.insert_range(list.begin(), list.end());
-    }
-
-    template <class T, class H, class P, class A>
-    unordered_multiset<T,H,P,A>& unordered_multiset<T,H,P,A>::operator=(
-            std::initializer_list<value_type> list)
-    {
-        table_.clear();
-        table_.insert_range(list.begin(), list.end());
-        return *this;
-    }
-
-#endif
-
-    // size and capacity
-
-    template <class T, class H, class P, class A>
-    std::size_t unordered_multiset<T,H,P,A>::max_size() const
-    {
-        return table_.max_size();
-    }
-
-    // modifiers
-
-    template <class T, class H, class P, class A>
-    template <class InputIt>
-    void unordered_multiset<T,H,P,A>::insert(InputIt first, InputIt last)
-    {
-        table_.insert_range(first, last);
-    }
-
-#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
-    template <class T, class H, class P, class A>
-    void unordered_multiset<T,H,P,A>::insert(
-            std::initializer_list<value_type> list)
-    {
-        table_.insert_range(list.begin(), list.end());
-    }
-#endif
-
-    template <class T, class H, class P, class A>
-    typename unordered_multiset<T,H,P,A>::iterator
-        unordered_multiset<T,H,P,A>::erase(const_iterator position)
-    {
-        return iterator(table_.erase(position.node_));
-    }
-
-    template <class T, class H, class P, class A>
-    typename unordered_multiset<T,H,P,A>::size_type
-        unordered_multiset<T,H,P,A>::erase(const key_type& k)
-    {
-        return table_.erase_key(k);
-    }
-
-    template <class T, class H, class P, class A>
-    typename unordered_multiset<T,H,P,A>::iterator
-        unordered_multiset<T,H,P,A>::erase(
-                const_iterator first, const_iterator last)
-    {
-        return iterator(table_.erase_range(first.node_, last.node_));
-    }
-
-    template <class T, class H, class P, class A>
-    void unordered_multiset<T,H,P,A>::clear()
-    {
-        table_.clear();
-    }
-
-    template <class T, class H, class P, class A>
-    void unordered_multiset<T,H,P,A>::swap(unordered_multiset& other)
-    {
-        table_.swap(other.table_);
-    }
-
-    // observers
-
-    template <class T, class H, class P, class A>
-    typename unordered_multiset<T,H,P,A>::hasher
-        unordered_multiset<T,H,P,A>::hash_function() const
-    {
-        return table_.hash_function();
-    }
-
-    template <class T, class H, class P, class A>
-    typename unordered_multiset<T,H,P,A>::key_equal
-        unordered_multiset<T,H,P,A>::key_eq() const
-    {
-        return table_.key_eq();
-    }
-
-    // lookup
-
-    template <class T, class H, class P, class A>
-    typename unordered_multiset<T,H,P,A>::const_iterator
-        unordered_multiset<T,H,P,A>::find(const key_type& k) const
-    {
-        return const_iterator(table_.find_node(k));
-    }
-
-    template <class T, class H, class P, class A>
-    template <class CompatibleKey, class CompatibleHash,
-        class CompatiblePredicate>
-    typename unordered_multiset<T,H,P,A>::const_iterator
-        unordered_multiset<T,H,P,A>::find(
-            CompatibleKey const& k,
-            CompatibleHash const& hash,
-            CompatiblePredicate const& eq) const
-    {
-        return const_iterator(table_.generic_find_node(k, hash, eq));
-    }
-
-    template <class T, class H, class P, class A>
-    typename unordered_multiset<T,H,P,A>::size_type
-        unordered_multiset<T,H,P,A>::count(const key_type& k) const
-    {
-        return table_.count(k);
-    }
-
-    template <class T, class H, class P, class A>
-    std::pair<
-            typename unordered_multiset<T,H,P,A>::const_iterator,
-            typename unordered_multiset<T,H,P,A>::const_iterator>
-        unordered_multiset<T,H,P,A>::equal_range(const key_type& k) const
-    {
-        return table_.equal_range(k);
-    }
-
-    template <class T, class H, class P, class A>
-    typename unordered_multiset<T,H,P,A>::size_type
-        unordered_multiset<T,H,P,A>::bucket_size(size_type n) const
-    {
-        return table_.bucket_size(n);
-    }
-
-    // hash policy
-
-    template <class T, class H, class P, class A>
-    float unordered_multiset<T,H,P,A>::load_factor() const
-    {
-        return table_.load_factor();
-    }
-
-    template <class T, class H, class P, class A>
-    void unordered_multiset<T,H,P,A>::max_load_factor(float m)
-    {
-        table_.max_load_factor(m);
-    }
-
-    template <class T, class H, class P, class A>
-    void unordered_multiset<T,H,P,A>::rehash(size_type n)
-    {
-        table_.rehash(n);
-    }
-
-    template <class T, class H, class P, class A>
-    inline bool operator==(
-            unordered_multiset<T,H,P,A> const& m1,
-            unordered_multiset<T,H,P,A> const& m2)
-    {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
-        struct dummy { unordered_multiset<T,H,P,A> x; };
-#endif
-        return m1.table_.equals(m2.table_);
-    }
-
-    template <class T, class H, class P, class A>
-    inline bool operator!=(
-            unordered_multiset<T,H,P,A> const& m1,
-            unordered_multiset<T,H,P,A> const& m2)
-    {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
-        struct dummy { unordered_multiset<T,H,P,A> x; };
-#endif
-        return !m1.table_.equals(m2.table_);
-    }
-
-    template <class T, class H, class P, class A>
-    inline void swap(
-            unordered_multiset<T,H,P,A> &m1,
-            unordered_multiset<T,H,P,A> &m2)
-    {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
-        struct dummy { unordered_multiset<T,H,P,A> x; };
-#endif
-        m1.swap(m2);
-    }
-} // namespace unordered
-} // namespace boost
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_UNORDERED_UNORDERED_SET_HPP_INCLUDED
diff --git a/SRC/Boost/boost/unordered/unordered_set_fwd.hpp b/SRC/Boost/boost/unordered/unordered_set_fwd.hpp
deleted file mode 100755
index 6fe2a67..0000000
--- a/SRC/Boost/boost/unordered/unordered_set_fwd.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-// Copyright (C) 2008-2011 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UNORDERED_SET_FWD_HPP_INCLUDED
-#define BOOST_UNORDERED_SET_FWD_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/unordered/detail/fwd.hpp>
-
-namespace boost
-{
-    namespace unordered
-    {
-        template <class T, class H, class P, class A>
-        inline bool operator==(unordered_set<T, H, P, A> const&,
-            unordered_set<T, H, P, A> const&);
-        template <class T, class H, class P, class A>
-        inline bool operator!=(unordered_set<T, H, P, A> const&,
-            unordered_set<T, H, P, A> const&);
-        template <class T, class H, class P, class A>
-        inline void swap(unordered_set<T, H, P, A> &m1,
-                unordered_set<T, H, P, A> &m2);
-
-        template <class T, class H, class P, class A>
-        inline bool operator==(unordered_multiset<T, H, P, A> const&,
-            unordered_multiset<T, H, P, A> const&);
-        template <class T, class H, class P, class A>
-        inline bool operator!=(unordered_multiset<T, H, P, A> const&,
-            unordered_multiset<T, H, P, A> const&);
-        template <class T, class H, class P, class A>
-        inline void swap(unordered_multiset<T, H, P, A> &m1,
-                unordered_multiset<T, H, P, A> &m2);
-    }
-
-    using boost::unordered::unordered_set;
-    using boost::unordered::unordered_multiset;
-    using boost::unordered::swap;
-    using boost::unordered::operator==;
-    using boost::unordered::operator!=;
-}
-
-#endif
diff --git a/SRC/Boost/boost/unordered_map.hpp b/SRC/Boost/boost/unordered_map.hpp
deleted file mode 100755
index 8f5f0e9..0000000
--- a/SRC/Boost/boost/unordered_map.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-
-// Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard.
-// Copyright (C) 2005-2008 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/unordered for documentation
-
-#ifndef BOOST_UNORDERED_MAP_HPP_INCLUDED
-#define BOOST_UNORDERED_MAP_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/unordered/unordered_map.hpp>
-
-#endif // BOOST_UNORDERED_MAP_HPP_INCLUDED
diff --git a/SRC/Boost/boost/unordered_set.hpp b/SRC/Boost/boost/unordered_set.hpp
deleted file mode 100755
index 049f54e..0000000
--- a/SRC/Boost/boost/unordered_set.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-
-// Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard.
-// Copyright (C) 2005-2008 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/unordered for documentation
-
-#ifndef BOOST_UNORDERED_SET_HPP_INCLUDED
-#define BOOST_UNORDERED_SET_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/unordered/unordered_set.hpp>
-
-#endif // BOOST_UNORDERED_SET_HPP_INCLUDED
diff --git a/SRC/Boost/boost/utility.hpp b/SRC/Boost/boost/utility.hpp
deleted file mode 100755
index b71de85..0000000
--- a/SRC/Boost/boost/utility.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//  Boost utility.hpp header file  -------------------------------------------//
-
-//  Copyright 1999-2003 Aleksey Gurtovoy.  Use, modification, and distribution are
-//  subject to the Boost Software License, Version 1.0.  (See accompanying file
-//  LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.)
-
-//  See <http://www.boost.org/libs/utility/> for the library's home page.
-
-#ifndef BOOST_UTILITY_HPP
-#define BOOST_UTILITY_HPP
-
-#include <boost/utility/addressof.hpp>
-#include <boost/utility/base_from_member.hpp>
-#include <boost/utility/binary.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/next_prior.hpp>
-#include <boost/noncopyable.hpp>
-
-#endif  // BOOST_UTILITY_HPP
diff --git a/SRC/Boost/boost/utility/addressof.hpp b/SRC/Boost/boost/utility/addressof.hpp
deleted file mode 100755
index 717a454..0000000
--- a/SRC/Boost/boost/utility/addressof.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright (C) 2002 Brad King (brad.king at kitware.com) 
-//                    Douglas Gregor (gregod at cs.rpi.edu)
-//
-// Copyright (C) 2002, 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_UTILITY_ADDRESSOF_HPP
-# define BOOST_UTILITY_ADDRESSOF_HPP
-
-# include <boost/config.hpp>
-# include <boost/detail/workaround.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-template<class T> struct addr_impl_ref
-{
-    T & v_;
-
-    inline addr_impl_ref( T & v ): v_( v ) {}
-    inline operator T& () const { return v_; }
-
-private:
-    addr_impl_ref & operator=(const addr_impl_ref &);
-};
-
-template<class T> struct addressof_impl
-{
-    static inline T * f( T & v, long )
-    {
-        return reinterpret_cast<T*>(
-            &const_cast<char&>(reinterpret_cast<const volatile char &>(v)));
-    }
-
-    static inline T * f( T * v, int )
-    {
-        return v;
-    }
-};
-
-} // namespace detail
-
-template<class T> T * addressof( T & v )
-{
-#if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) )
-
-    return boost::detail::addressof_impl<T>::f( v, 0 );
-
-#else
-
-    return boost::detail::addressof_impl<T>::f( boost::detail::addr_impl_ref<T>( v ), 0 );
-
-#endif
-}
-
-#if defined( __SUNPRO_CC ) && BOOST_WORKAROUND( __SUNPRO_CC, BOOST_TESTED_AT( 0x590 ) )
-
-namespace detail
-{
-
-template<class T> struct addressof_addp
-{
-    typedef T * type;
-};
-
-} // namespace detail
-
-template< class T, std::size_t N >
-typename detail::addressof_addp< T[N] >::type addressof( T (&t)[N] )
-{
-    return &t;
-}
-
-#endif
-
-// Borland doesn't like casting an array reference to a char reference
-// but these overloads work around the problem.
-#if defined( __BORLANDC__ ) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-template<typename T,std::size_t N>
-T (*addressof(T (&t)[N]))[N]
-{
-   return reinterpret_cast<T(*)[N]>(&t);
-}
-
-template<typename T,std::size_t N>
-const T (*addressof(const T (&t)[N]))[N]
-{
-   return reinterpret_cast<const T(*)[N]>(&t);
-}
-#endif
-
-} // namespace boost
-
-#endif // BOOST_UTILITY_ADDRESSOF_HPP
diff --git a/SRC/Boost/boost/utility/base_from_member.hpp b/SRC/Boost/boost/utility/base_from_member.hpp
deleted file mode 100755
index b4f9e0d..0000000
--- a/SRC/Boost/boost/utility/base_from_member.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-//  boost utility/base_from_member.hpp header file  --------------------------//
-
-//  Copyright 2001, 2003, 2004 Daryle Walker.  Use, modification, and
-//  distribution are subject to the Boost Software License, Version 1.0.  (See
-//  accompanying file LICENSE_1_0.txt or a copy at
-//  <http://www.boost.org/LICENSE_1_0.txt>.)
-
-//  See <http://www.boost.org/libs/utility/> for the library's home page.
-
-#ifndef BOOST_UTILITY_BASE_FROM_MEMBER_HPP
-#define BOOST_UTILITY_BASE_FROM_MEMBER_HPP
-
-#include <boost/preprocessor/arithmetic/inc.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-
-
-//  Base-from-member arity configuration macro  ------------------------------//
-
-// The following macro determines how many arguments will be in the largest
-// constructor template of base_from_member.  Constructor templates will be
-// generated from one argument to this maximum.  Code from other files can read
-// this number if they need to always match the exact maximum base_from_member
-// uses.  The maximum constructor length can be changed by overriding the
-// #defined constant.  Make sure to apply the override, if any, for all source
-// files during project compiling for consistency.
-
-// Contributed by Jonathan Turkanis
-
-#ifndef BOOST_BASE_FROM_MEMBER_MAX_ARITY
-#define BOOST_BASE_FROM_MEMBER_MAX_ARITY  10
-#endif
-
-
-//  An iteration of a constructor template for base_from_member  -------------//
-
-// A macro that should expand to:
-//     template < typename T1, ..., typename Tn >
-//     base_from_member( T1 x1, ..., Tn xn )
-//         : member( x1, ..., xn )
-//         {}
-// This macro should only persist within this file.
-
-#define BOOST_PRIVATE_CTR_DEF( z, n, data )                            \
-    template < BOOST_PP_ENUM_PARAMS(n, typename T) >                   \
-    explicit base_from_member( BOOST_PP_ENUM_BINARY_PARAMS(n, T, x) )  \
-        : member( BOOST_PP_ENUM_PARAMS(n, x) )                         \
-        {}                                                             \
-    /**/
-
-
-namespace boost
-{
-
-//  Base-from-member class template  -----------------------------------------//
-
-// Helper to initialize a base object so a derived class can use this
-// object in the initialization of another base class.  Used by
-// Dietmar Kuehl from ideas by Ron Klatcho to solve the problem of a
-// base class needing to be initialized by a member.
-
-// Contributed by Daryle Walker
-
-template < typename MemberType, int UniqueID = 0 >
-class base_from_member
-{
-protected:
-    MemberType  member;
-
-    base_from_member()
-        : member()
-        {}
-
-    BOOST_PP_REPEAT_FROM_TO( 1, BOOST_PP_INC(BOOST_BASE_FROM_MEMBER_MAX_ARITY),
-     BOOST_PRIVATE_CTR_DEF, _ )
-
-};  // boost::base_from_member
-
-}  // namespace boost
-
-
-// Undo any private macros
-#undef BOOST_PRIVATE_CTR_DEF
-
-
-#endif  // BOOST_UTILITY_BASE_FROM_MEMBER_HPP
diff --git a/SRC/Boost/boost/utility/binary.hpp b/SRC/Boost/boost/utility/binary.hpp
deleted file mode 100755
index b05b6b9..0000000
--- a/SRC/Boost/boost/utility/binary.hpp
+++ /dev/null
@@ -1,708 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2005 Matthew Calabrese
-
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_UTILITY_BINARY_HPP
-#define BOOST_UTILITY_BINARY_HPP
-
-/*=============================================================================
-
-    Binary Literal Utility
-    ______________________
-
-
-    The following code works by converting the input bit pattern into a
-    Boost.Preprocessor sequence, then converting groupings of 3 bits each into
-    the corresponding octal digit, and finally concatenating all of the digits
-    together along with a leading zero. This yields a standard octal literal
-    with the desired value as specified in bits.
-
-==============================================================================*/
-
-#include <boost/preprocessor/control/deduce_d.hpp>
-#include <boost/preprocessor/facilities/identity.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/seq/cat.hpp>
-#include <boost/preprocessor/seq/transform.hpp>
-#include <boost/preprocessor/arithmetic/mod.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/facilities/empty.hpp>
-#include <boost/preprocessor/control/while.hpp>
-
-#define BOOST_BINARY( bit_groupings )                                          \
-  BOOST_BINARY_LITERAL_D( BOOST_PP_DEDUCE_D(), bit_groupings ) 
-
-#define BOOST_BINARY_U( bit_groupings )                                        \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, U ) 
-
-#define BOOST_BINARY_L( bit_groupings )                                        \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, L ) 
-
-#define BOOST_BINARY_UL( bit_groupings )                                       \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, UL ) 
-
-#define BOOST_BINARY_LU( bit_groupings )                                       \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LU ) 
-
-#define BOOST_BINARY_LL( bit_groupings )                                       \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LL ) 
-
-#define BOOST_BINARY_ULL( bit_groupings )                                      \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, ULL ) 
-
-#define BOOST_BINARY_LLU( bit_groupings )                                      \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LLU ) 
-
-#define BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, suffix )                 \
-  BOOST_SUFFIXED_BINARY_LITERAL_D( BOOST_PP_DEDUCE_D(), bit_groupings, suffix ) 
-
-#define BOOST_SUFFIXED_BINARY_LITERAL_D( d, bit_groupings, suffix )            \
-  BOOST_PP_CAT( BOOST_BINARY_LITERAL_D( d, bit_groupings ), suffix ) 
-
-#define BOOST_BINARY_LITERAL_D( d, bit_groupings )                             \
-  BOOST_PP_SEQ_CAT                                                             \
-  ( (0) BOOST_DETAIL_CREATE_BINARY_LITERAL_OCTAL_SEQUENCE( d, bit_groupings )  \
-  ) 
-
-#define BOOST_DETAIL_CREATE_BINARY_LITERAL_OCTAL_SEQUENCE( d, bit_groupings )  \
-  BOOST_PP_SEQ_TRANSFORM                                                       \
-  ( BOOST_DETAIL_TRIPLE_TO_OCTAL_OPERATION                                     \
-  , BOOST_PP_NIL                                                               \
-  , BOOST_PP_IDENTITY( BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_TRIPLE_SEQUENCE )()\
-    ( BOOST_DETAIL_COMPLETE_TRIPLE_SEQUENCE                                    \
-      (                                                                        \
-        d                                                                      \
-      , BOOST_DETAIL_CREATE_BINARY_LITERAL_BIT_SEQUENCE( d, bit_groupings )    \
-      )                                                                        \
-    )                                                                          \
-  ) 
-
-#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_TRIPLE_SEQUENCE( bit_sequence )   \
-  BOOST_PP_CAT                                                                 \
-  ( BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1 bit_sequence      \
-  , END_BIT                                                                    \
-  ) 
-
-#define BOOST_DETAIL_BITS_PER_OCTIT 3
-
-#define BOOST_DETAIL_COMPLETE_TRIPLE_SEQUENCE( d, incomplete_nibble_sequence ) \
-  BOOST_PP_CAT                                                                 \
-  ( BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_                            \
-  , BOOST_PP_MOD_D( d                                                          \
-                  , BOOST_PP_SEQ_SIZE( incomplete_nibble_sequence )            \
-                  , BOOST_DETAIL_BITS_PER_OCTIT                                \
-                  )                                                            \
-  )                                                                            \
-  incomplete_nibble_sequence 
-
-#define BOOST_DETAIL_FIXED_COMPL( bit )                                        \
-  BOOST_PP_CAT( BOOST_DETAIL_FIXED_COMPL_, bit )
-
-#define BOOST_DETAIL_FIXED_COMPL_0 1 
-
-#define BOOST_DETAIL_FIXED_COMPL_1 0 
-
-#define BOOST_DETAIL_CREATE_BINARY_LITERAL_BIT_SEQUENCE( d, bit_groupings )    \
-  BOOST_PP_EMPTY                                                               \
-  BOOST_PP_CAT( BOOST_PP_WHILE_, d )                                           \
-  ( BOOST_DETAIL_BINARY_LITERAL_PREDICATE                                      \
-  , BOOST_DETAIL_BINARY_LITERAL_OPERATION                                      \
-  , bit_groupings ()                                                           \
-  ) 
-
-#define BOOST_DETAIL_BINARY_LITERAL_PREDICATE( d, state )                      \
-  BOOST_DETAIL_FIXED_COMPL( BOOST_DETAIL_IS_NULLARY_ARGS( state ) ) 
-
-#define BOOST_DETAIL_BINARY_LITERAL_OPERATION( d, state )                      \
-  BOOST_DETAIL_SPLIT_AND_SWAP                                                  \
-  ( BOOST_PP_CAT( BOOST_DETAIL_BINARY_LITERAL_ELEMENT_, state ) ) 
-
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_OPERATION( s, dummy_param, tuple )        \
-  BOOST_DETAIL_TERNARY_TRIPLE_TO_OCTAL tuple 
-
-#define BOOST_DETAIL_TERNARY_TRIPLE_TO_OCTAL( bit2, bit1, bit0 )               \
-  BOOST_DETAIL_TRIPLE_TO_OCTAL_ ## bit2 ## bit1 ## bit0 
-
-#define BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_1 (0)(0)
-#define BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_2 (0)
-#define BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_0  
-
-#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1END_BIT  
-
-#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1( bit )        \
-  ( ( bit, BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_2 
-
-#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_2( bit )        \
-  bit, BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_3 
-
-#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_3( bit )        \
-  bit ) ) BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1 
-
-#define BOOST_DETAIL_SPLIT_AND_SWAP( params )                                  \
-  BOOST_PP_IDENTITY( BOOST_DETAIL_SPLIT_AND_SWAP_PARAMS )()( params )
-
-#define BOOST_DETAIL_SPLIT_AND_SWAP_PARAMS( first_param, second_param )        \
-  second_param first_param 
-
-#define BOOST_DETAIL_LEFT_OF_COMMA( params )                                   \
-  BOOST_PP_IDENTITY( BOOST_DETAIL_FIRST_MACRO_PARAM )()( params ) 
-
-#define BOOST_DETAIL_FIRST_MACRO_PARAM( first_param, second_param )            \
-  first_param 
-
-/* Begin derived concepts from Chaos by Paul Mensonides */
-
-#define BOOST_DETAIL_IS_NULLARY_ARGS( param )                                  \
-  BOOST_DETAIL_LEFT_OF_COMMA                                                   \
-  ( BOOST_PP_CAT( BOOST_DETAIL_IS_NULLARY_ARGS_R_                              \
-                , BOOST_DETAIL_IS_NULLARY_ARGS_C param                         \
-                )                                                              \
-  ) 
-
-#define BOOST_DETAIL_IS_NULLARY_ARGS_C()                                       \
-  1 
-
-#define BOOST_DETAIL_IS_NULLARY_ARGS_R_1                                       \
-  1, BOOST_PP_NIL 
-
-#define BOOST_DETAIL_IS_NULLARY_ARGS_R_BOOST_DETAIL_IS_NULLARY_ARGS_C          \
-  0, BOOST_PP_NIL 
-
-/* End derived concepts from Chaos by Paul Mensonides */
-
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_000 0 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_001 1 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_010 2 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_011 3 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_100 4 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_101 5 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_110 6 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_111 7 
-
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0 (0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1 (1), 
-
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00 (0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01 (0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10 (1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11 (1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00 (0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01 (0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10 (1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11 (1)(1), 
-
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000 (0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001 (0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010 (0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011 (0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100 (1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101 (1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110 (1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111 (1)(1)(1), 
-
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000 (0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001 (0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010 (0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011 (0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100 (0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101 (0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110 (0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111 (0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000 (1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001 (1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010 (1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011 (1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100 (1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101 (1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110 (1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111 (1)(1)(1)(1), 
-
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000 (0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001 (0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010 (0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011 (0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100 (0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101 (0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110 (0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111 (0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000 (0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001 (0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010 (0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011 (0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100 (0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101 (0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110 (0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111 (0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000 (1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001 (1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010 (1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011 (1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100 (1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101 (1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110 (1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111 (1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000 (1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001 (1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010 (1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011 (1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100 (1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101 (1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110 (1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111 (1)(1)(1)(1)(1), 
-
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000000 (0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000001 (0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000010 (0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000011 (0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000100 (0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000101 (0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000110 (0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000111 (0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001000 (0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001001 (0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001010 (0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001011 (0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001100 (0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001101 (0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001110 (0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001111 (0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010000 (0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010001 (0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010010 (0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010011 (0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010100 (0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010101 (0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010110 (0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010111 (0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011000 (0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011001 (0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011010 (0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011011 (0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011100 (0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011101 (0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011110 (0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011111 (0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100000 (1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100001 (1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100010 (1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100011 (1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100100 (1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100101 (1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100110 (1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100111 (1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101000 (1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101001 (1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101010 (1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101011 (1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101100 (1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101101 (1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101110 (1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101111 (1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110000 (1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110001 (1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110010 (1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110011 (1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110100 (1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110101 (1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110110 (1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110111 (1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111000 (1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111001 (1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111010 (1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111011 (1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111100 (1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111101 (1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111110 (1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111111 (1)(1)(1)(1)(1)(1), 
-
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000000 (0)(0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000001 (0)(0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000010 (0)(0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000011 (0)(0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000100 (0)(0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000101 (0)(0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000110 (0)(0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000111 (0)(0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001000 (0)(0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001001 (0)(0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001010 (0)(0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001011 (0)(0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001100 (0)(0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001101 (0)(0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001110 (0)(0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001111 (0)(0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010000 (0)(0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010001 (0)(0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010010 (0)(0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010011 (0)(0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010100 (0)(0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010101 (0)(0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010110 (0)(0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010111 (0)(0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011000 (0)(0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011001 (0)(0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011010 (0)(0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011011 (0)(0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011100 (0)(0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011101 (0)(0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011110 (0)(0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011111 (0)(0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100000 (0)(1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100001 (0)(1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100010 (0)(1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100011 (0)(1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100100 (0)(1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100101 (0)(1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100110 (0)(1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100111 (0)(1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101000 (0)(1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101001 (0)(1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101010 (0)(1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101011 (0)(1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101100 (0)(1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101101 (0)(1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101110 (0)(1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101111 (0)(1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110000 (0)(1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110001 (0)(1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110010 (0)(1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110011 (0)(1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110100 (0)(1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110101 (0)(1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110110 (0)(1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110111 (0)(1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111000 (0)(1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111001 (0)(1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111010 (0)(1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111011 (0)(1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111100 (0)(1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111101 (0)(1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111110 (0)(1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111111 (0)(1)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000000 (1)(0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000001 (1)(0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000010 (1)(0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000011 (1)(0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000100 (1)(0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000101 (1)(0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000110 (1)(0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000111 (1)(0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001000 (1)(0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001001 (1)(0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001010 (1)(0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001011 (1)(0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001100 (1)(0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001101 (1)(0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001110 (1)(0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001111 (1)(0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010000 (1)(0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010001 (1)(0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010010 (1)(0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010011 (1)(0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010100 (1)(0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010101 (1)(0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010110 (1)(0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010111 (1)(0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011000 (1)(0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011001 (1)(0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011010 (1)(0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011011 (1)(0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011100 (1)(0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011101 (1)(0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011110 (1)(0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011111 (1)(0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100000 (1)(1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100001 (1)(1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100010 (1)(1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100011 (1)(1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100100 (1)(1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100101 (1)(1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100110 (1)(1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100111 (1)(1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101000 (1)(1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101001 (1)(1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101010 (1)(1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101011 (1)(1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101100 (1)(1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101101 (1)(1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101110 (1)(1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101111 (1)(1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110000 (1)(1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110001 (1)(1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110010 (1)(1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110011 (1)(1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110100 (1)(1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110101 (1)(1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110110 (1)(1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110111 (1)(1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111000 (1)(1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111001 (1)(1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111010 (1)(1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111011 (1)(1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111100 (1)(1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111101 (1)(1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111110 (1)(1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111111 (1)(1)(1)(1)(1)(1)(1), 
-
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000000 (0)(0)(0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000001 (0)(0)(0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000010 (0)(0)(0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000011 (0)(0)(0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000100 (0)(0)(0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000101 (0)(0)(0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000110 (0)(0)(0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000111 (0)(0)(0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001000 (0)(0)(0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001001 (0)(0)(0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001010 (0)(0)(0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001011 (0)(0)(0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001100 (0)(0)(0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001101 (0)(0)(0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001110 (0)(0)(0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001111 (0)(0)(0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010000 (0)(0)(0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010001 (0)(0)(0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010010 (0)(0)(0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010011 (0)(0)(0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010100 (0)(0)(0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010101 (0)(0)(0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010110 (0)(0)(0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010111 (0)(0)(0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011000 (0)(0)(0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011001 (0)(0)(0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011010 (0)(0)(0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011011 (0)(0)(0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011100 (0)(0)(0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011101 (0)(0)(0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011110 (0)(0)(0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011111 (0)(0)(0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100000 (0)(0)(1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100001 (0)(0)(1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100010 (0)(0)(1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100011 (0)(0)(1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100100 (0)(0)(1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100101 (0)(0)(1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100110 (0)(0)(1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100111 (0)(0)(1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101000 (0)(0)(1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101001 (0)(0)(1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101010 (0)(0)(1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101011 (0)(0)(1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101100 (0)(0)(1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101101 (0)(0)(1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101110 (0)(0)(1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101111 (0)(0)(1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110000 (0)(0)(1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110001 (0)(0)(1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110010 (0)(0)(1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110011 (0)(0)(1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110100 (0)(0)(1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110101 (0)(0)(1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110110 (0)(0)(1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110111 (0)(0)(1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111000 (0)(0)(1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111001 (0)(0)(1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111010 (0)(0)(1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111011 (0)(0)(1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111100 (0)(0)(1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111101 (0)(0)(1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111110 (0)(0)(1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111111 (0)(0)(1)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000000 (0)(1)(0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000001 (0)(1)(0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000010 (0)(1)(0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000011 (0)(1)(0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000100 (0)(1)(0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000101 (0)(1)(0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000110 (0)(1)(0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000111 (0)(1)(0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001000 (0)(1)(0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001001 (0)(1)(0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001010 (0)(1)(0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001011 (0)(1)(0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001100 (0)(1)(0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001101 (0)(1)(0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001110 (0)(1)(0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001111 (0)(1)(0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010000 (0)(1)(0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010001 (0)(1)(0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010010 (0)(1)(0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010011 (0)(1)(0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010100 (0)(1)(0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010101 (0)(1)(0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010110 (0)(1)(0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010111 (0)(1)(0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011000 (0)(1)(0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011001 (0)(1)(0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011010 (0)(1)(0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011011 (0)(1)(0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011100 (0)(1)(0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011101 (0)(1)(0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011110 (0)(1)(0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011111 (0)(1)(0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100000 (0)(1)(1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100001 (0)(1)(1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100010 (0)(1)(1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100011 (0)(1)(1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100100 (0)(1)(1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100101 (0)(1)(1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100110 (0)(1)(1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100111 (0)(1)(1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101000 (0)(1)(1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101001 (0)(1)(1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101010 (0)(1)(1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101011 (0)(1)(1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101100 (0)(1)(1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101101 (0)(1)(1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101110 (0)(1)(1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101111 (0)(1)(1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110000 (0)(1)(1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110001 (0)(1)(1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110010 (0)(1)(1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110011 (0)(1)(1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110100 (0)(1)(1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110101 (0)(1)(1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110110 (0)(1)(1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110111 (0)(1)(1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111000 (0)(1)(1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111001 (0)(1)(1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111010 (0)(1)(1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111011 (0)(1)(1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111100 (0)(1)(1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111101 (0)(1)(1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111110 (0)(1)(1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111111 (0)(1)(1)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000000 (1)(0)(0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000001 (1)(0)(0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000010 (1)(0)(0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000011 (1)(0)(0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000100 (1)(0)(0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000101 (1)(0)(0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000110 (1)(0)(0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000111 (1)(0)(0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001000 (1)(0)(0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001001 (1)(0)(0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001010 (1)(0)(0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001011 (1)(0)(0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001100 (1)(0)(0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001101 (1)(0)(0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001110 (1)(0)(0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001111 (1)(0)(0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010000 (1)(0)(0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010001 (1)(0)(0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010010 (1)(0)(0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010011 (1)(0)(0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010100 (1)(0)(0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010101 (1)(0)(0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010110 (1)(0)(0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010111 (1)(0)(0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011000 (1)(0)(0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011001 (1)(0)(0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011010 (1)(0)(0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011011 (1)(0)(0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011100 (1)(0)(0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011101 (1)(0)(0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011110 (1)(0)(0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011111 (1)(0)(0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100000 (1)(0)(1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100001 (1)(0)(1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100010 (1)(0)(1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100011 (1)(0)(1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100100 (1)(0)(1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100101 (1)(0)(1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100110 (1)(0)(1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100111 (1)(0)(1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101000 (1)(0)(1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101001 (1)(0)(1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101010 (1)(0)(1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101011 (1)(0)(1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101100 (1)(0)(1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101101 (1)(0)(1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101110 (1)(0)(1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101111 (1)(0)(1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110000 (1)(0)(1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110001 (1)(0)(1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110010 (1)(0)(1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110011 (1)(0)(1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110100 (1)(0)(1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110101 (1)(0)(1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110110 (1)(0)(1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110111 (1)(0)(1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111000 (1)(0)(1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111001 (1)(0)(1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111010 (1)(0)(1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111011 (1)(0)(1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111100 (1)(0)(1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111101 (1)(0)(1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111110 (1)(0)(1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111111 (1)(0)(1)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000000 (1)(1)(0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000001 (1)(1)(0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000010 (1)(1)(0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000011 (1)(1)(0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000100 (1)(1)(0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000101 (1)(1)(0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000110 (1)(1)(0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000111 (1)(1)(0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001000 (1)(1)(0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001001 (1)(1)(0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001010 (1)(1)(0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001011 (1)(1)(0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001100 (1)(1)(0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001101 (1)(1)(0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001110 (1)(1)(0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001111 (1)(1)(0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010000 (1)(1)(0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010001 (1)(1)(0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010010 (1)(1)(0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010011 (1)(1)(0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010100 (1)(1)(0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010101 (1)(1)(0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010110 (1)(1)(0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010111 (1)(1)(0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011000 (1)(1)(0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011001 (1)(1)(0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011010 (1)(1)(0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011011 (1)(1)(0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011100 (1)(1)(0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011101 (1)(1)(0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011110 (1)(1)(0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011111 (1)(1)(0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100000 (1)(1)(1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100001 (1)(1)(1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100010 (1)(1)(1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100011 (1)(1)(1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100100 (1)(1)(1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100101 (1)(1)(1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100110 (1)(1)(1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100111 (1)(1)(1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101000 (1)(1)(1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101001 (1)(1)(1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101010 (1)(1)(1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101011 (1)(1)(1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101100 (1)(1)(1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101101 (1)(1)(1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101110 (1)(1)(1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101111 (1)(1)(1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110000 (1)(1)(1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110001 (1)(1)(1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110010 (1)(1)(1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110011 (1)(1)(1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110100 (1)(1)(1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110101 (1)(1)(1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110110 (1)(1)(1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110111 (1)(1)(1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111000 (1)(1)(1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111001 (1)(1)(1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111010 (1)(1)(1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111011 (1)(1)(1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111100 (1)(1)(1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111101 (1)(1)(1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111110 (1)(1)(1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111111 (1)(1)(1)(1)(1)(1)(1)(1), 
-
-#endif
diff --git a/SRC/Boost/boost/utility/compare_pointees.hpp b/SRC/Boost/boost/utility/compare_pointees.hpp
deleted file mode 100755
index 136c058..0000000
--- a/SRC/Boost/boost/utility/compare_pointees.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-//  fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP
-#define BOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP
-
-#include<functional>
-
-namespace boost {
-
-// template<class OP> bool equal_pointees(OP const& x, OP const& y);
-// template<class OP> struct equal_pointees_t;
-//
-// Being OP a model of OptionalPointee (either a pointer or an optional):
-//
-// If both x and y have valid pointees, returns the result of (*x == *y)
-// If only one has a valid pointee, returns false.
-// If none have valid pointees, returns true.
-// No-throw
-template<class OptionalPointee>
-inline
-bool equal_pointees ( OptionalPointee const& x, OptionalPointee const& y )
-{
-  return (!x) != (!y) ? false : ( !x ? true : (*x) == (*y) ) ;
-}
-
-template<class OptionalPointee>
-struct equal_pointees_t : std::binary_function<OptionalPointee,OptionalPointee,bool>
-{
-  bool operator() ( OptionalPointee const& x, OptionalPointee const& y ) const
-    { return equal_pointees(x,y) ; }
-} ;
-
-// template<class OP> bool less_pointees(OP const& x, OP const& y);
-// template<class OP> struct less_pointees_t;
-//
-// Being OP a model of OptionalPointee (either a pointer or an optional):
-//
-// If y has not a valid pointee, returns false.
-// ElseIf x has not a valid pointee, returns true.
-// ElseIf both x and y have valid pointees, returns the result of (*x < *y)
-// No-throw
-template<class OptionalPointee>
-inline
-bool less_pointees ( OptionalPointee const& x, OptionalPointee const& y )
-{
-  return !y ? false : ( !x ? true : (*x) < (*y) ) ;
-}
-
-template<class OptionalPointee>
-struct less_pointees_t : std::binary_function<OptionalPointee,OptionalPointee,bool>
-{
-  bool operator() ( OptionalPointee const& x, OptionalPointee const& y ) const
-    { return less_pointees(x,y) ; }
-} ;
-
-} // namespace boost
-
-#endif
-
diff --git a/SRC/Boost/boost/utility/declval.hpp b/SRC/Boost/boost/utility/declval.hpp
deleted file mode 100755
index 9f4ae10..0000000
--- a/SRC/Boost/boost/utility/declval.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  common_type.hpp  ---------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_TYPE_TRAITS_EXT_DECLVAL__HPP
-#define BOOST_TYPE_TRAITS_EXT_DECLVAL__HPP
-
-#include <boost/config.hpp>
-
-//----------------------------------------------------------------------------//
-
-#include <boost/type_traits/add_rvalue_reference.hpp>
-
-//----------------------------------------------------------------------------//
-//                                                                            //
-//                           C++03 implementation of                          //
-//                          Written by Vicente J. Botet Escriba               //
-//~ 20.3.4 Function template declval [declval]
-//~ 1 The library provides the function template declval to simplify the definition of expressions which occur as
-//~ unevaluated operands.
-//~ 2 Remarks: If this function is used, the program is ill-formed.
-//~ 3 Remarks: The template parameter T of declval may be an incomplete type.
-//~ [ Example:
-
-//~ template <class To, class From>
-//~ decltype(static_cast<To>(declval<From>())) convert(From&&);
-
-//~ declares a function template convert which only participats in overloading if the type From can be
-//~ explicitly converted to type To. For another example see class template common_type (20.7.6.6). �end
-//~ example ]
-//                                                                            //
-//----------------------------------------------------------------------------//
-
-namespace boost {
-
-    template <typename T>
-    typename add_rvalue_reference<T>::type declval(); //noexcept; // as unevaluated operand
-
-}  // namespace boost
-
-#endif  // BOOST_TYPE_TRAITS_EXT_DECLVAL__HPP
diff --git a/SRC/Boost/boost/utility/detail/in_place_factory_prefix.hpp b/SRC/Boost/boost/utility/detail/in_place_factory_prefix.hpp
deleted file mode 100755
index ee38c67..0000000
--- a/SRC/Boost/boost/utility/detail/in_place_factory_prefix.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-// Copyright (C) 2007, Tobias Schwinger.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-//  fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
-#define BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
-
-#include <new>
-#include <cstddef>
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/punctuation/paren.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-
-#define BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT(z,n,_) BOOST_PP_CAT(m_a,n) BOOST_PP_LPAREN() BOOST_PP_CAT(a,n) BOOST_PP_RPAREN()
-#define BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL(z,n,_) BOOST_PP_CAT(A,n) const& BOOST_PP_CAT(m_a,n);
-
-#define BOOST_MAX_INPLACE_FACTORY_ARITY 10
-
-#undef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
-
-#endif
-
diff --git a/SRC/Boost/boost/utility/detail/in_place_factory_suffix.hpp b/SRC/Boost/boost/utility/detail/in_place_factory_suffix.hpp
deleted file mode 100755
index 009d64c..0000000
--- a/SRC/Boost/boost/utility/detail/in_place_factory_suffix.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-// Copyright (C) 2007, Tobias Schwinger.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-//  fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
-#define BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
-
-#undef BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT
-#undef BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL
-#undef BOOST_MAX_INPLACE_FACTORY_ARITY
-
-#undef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
-
-#endif
-
diff --git a/SRC/Boost/boost/utility/detail/result_of_iterate.hpp b/SRC/Boost/boost/utility/detail/result_of_iterate.hpp
deleted file mode 100755
index 43fc16f..0000000
--- a/SRC/Boost/boost/utility/detail/result_of_iterate.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-// Boost result_of library
-
-//  Copyright Douglas Gregor 2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org/libs/utility
-#if !defined(BOOST_PP_IS_ITERATING)
-# error Boost result_of - do not include this file!
-#endif
-
-// CWPro8 requires an argument in a function type specialization
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3002)) && BOOST_PP_ITERATION() == 0
-# define BOOST_RESULT_OF_ARGS void
-#else
-# define BOOST_RESULT_OF_ARGS BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)
-#endif
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-template<typename F BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
-         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of<F(BOOST_RESULT_OF_ARGS)>
-    : mpl::if_<
-          mpl::or_< is_pointer<F>, is_member_function_pointer<F> >
-        , boost::detail::tr1_result_of_impl<
-            typename remove_cv<F>::type, 
-            typename remove_cv<F>::type(BOOST_RESULT_OF_ARGS), 
-            (boost::detail::has_result_type<F>::value)>
-        , boost::detail::tr1_result_of_impl<
-            F,
-            F(BOOST_RESULT_OF_ARGS), 
-            (boost::detail::has_result_type<F>::value)> >::type { };
-#endif
-
-#if !defined(BOOST_NO_DECLTYPE) && defined(BOOST_RESULT_OF_USE_DECLTYPE)
-
-// As of N2588, C++0x result_of only supports function call
-// expressions of the form f(x). This precludes support for member
-// function pointers, which are invoked with expressions of the form
-// o->*f(x). This implementation supports both.
-template<typename F BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
-         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct result_of<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T))>
-    : mpl::if_<
-          mpl::or_< is_pointer<F>, is_member_function_pointer<F> >
-        , detail::tr1_result_of_impl<
-            typename remove_cv<F>::type, 
-            typename remove_cv<F>::type(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), false
-          >
-        , detail::cpp0x_result_of_impl<
-              F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T))
-          >
-      >::type
-{};
-
-namespace detail {
-
-# define BOOST_RESULT_OF_STATIC_MEMBERS(z, n, _) \
-     static T ## n t ## n; \
-  /**/
-
-template<typename F BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
-         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>
-class cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T))>
-{
-  static F f;
-  BOOST_PP_REPEAT(BOOST_PP_ITERATION(), BOOST_RESULT_OF_STATIC_MEMBERS, _)
-public:
-  typedef decltype(f(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),t))) type;
-};
-
-} // namespace detail 
-
-#else // defined(BOOST_NO_DECLTYPE)
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-template<typename F BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
-         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct result_of<F(BOOST_RESULT_OF_ARGS)>
-    : tr1_result_of<F(BOOST_RESULT_OF_ARGS)> { };
-#endif
-
-#endif // defined(BOOST_NO_DECLTYPE)
-
-#undef BOOST_RESULT_OF_ARGS
-
-#if BOOST_PP_ITERATION() >= 1 
-
-namespace detail {
-
-template<typename R,  typename FArgs BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
-         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), FArgs, false>
-{
-  typedef R type;
-};
-
-template<typename R,  typename FArgs BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
-         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (&)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), FArgs, false>
-{
-  typedef R type;
-};
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-template<typename R, typename FArgs BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
-         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (T0::*)
-                     (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T)),
-                 FArgs, false>
-{
-  typedef R type;
-};
-
-template<typename R, typename FArgs BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
-         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (T0::*)
-                     (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T))
-                     const,
-                 FArgs, false>
-{
-  typedef R type;
-};
-
-template<typename R, typename FArgs BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
-         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (T0::*)
-                     (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T))
-                     volatile,
-                 FArgs, false>
-{
-  typedef R type;
-};
-
-template<typename R, typename FArgs BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
-         BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (T0::*)
-                     (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T))
-                     const volatile,
-                 FArgs, false>
-{
-  typedef R type;
-};
-#endif
-
-}
-#endif
diff --git a/SRC/Boost/boost/utility/enable_if.hpp b/SRC/Boost/boost/utility/enable_if.hpp
deleted file mode 100755
index d89eb9f..0000000
--- a/SRC/Boost/boost/utility/enable_if.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-// Boost enable_if library
-
-// Copyright 2003 (c) The Trustees of Indiana University.
-
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//    Authors: Jaakko Jarvi (jajarvi at osl.iu.edu)
-//             Jeremiah Willcock (jewillco at osl.iu.edu)
-//             Andrew Lumsdaine (lums at osl.iu.edu)
-
-
-#ifndef BOOST_UTILITY_ENABLE_IF_HPP
-#define BOOST_UTILITY_ENABLE_IF_HPP
-
-#include "boost/config.hpp"
-
-// Even the definition of enable_if causes problems on some compilers,
-// so it's macroed out for all compilers that do not support SFINAE
-
-#ifndef BOOST_NO_SFINAE
-
-namespace boost
-{
- 
-  template <bool B, class T = void>
-  struct enable_if_c {
-    typedef T type;
-  };
-
-  template <class T>
-  struct enable_if_c<false, T> {};
-
-  template <class Cond, class T = void> 
-  struct enable_if : public enable_if_c<Cond::value, T> {};
-
-  template <bool B, class T>
-  struct lazy_enable_if_c {
-    typedef typename T::type type;
-  };
-
-  template <class T>
-  struct lazy_enable_if_c<false, T> {};
-
-  template <class Cond, class T> 
-  struct lazy_enable_if : public lazy_enable_if_c<Cond::value, T> {};
-
-
-  template <bool B, class T = void>
-  struct disable_if_c {
-    typedef T type;
-  };
-
-  template <class T>
-  struct disable_if_c<true, T> {};
-
-  template <class Cond, class T = void> 
-  struct disable_if : public disable_if_c<Cond::value, T> {};
-
-  template <bool B, class T>
-  struct lazy_disable_if_c {
-    typedef typename T::type type;
-  };
-
-  template <class T>
-  struct lazy_disable_if_c<true, T> {};
-
-  template <class Cond, class T> 
-  struct lazy_disable_if : public lazy_disable_if_c<Cond::value, T> {};
-
-} // namespace boost
-
-#else
-
-namespace boost {
-
-  namespace detail { typedef void enable_if_default_T; }
-
-  template <typename T>
-  struct enable_if_does_not_work_on_this_compiler;
-
-  template <bool B, class T = detail::enable_if_default_T>
-  struct enable_if_c : enable_if_does_not_work_on_this_compiler<T>
-  { };
-
-  template <bool B, class T = detail::enable_if_default_T> 
-  struct disable_if_c : enable_if_does_not_work_on_this_compiler<T>
-  { };
-
-  template <bool B, class T = detail::enable_if_default_T> 
-  struct lazy_enable_if_c : enable_if_does_not_work_on_this_compiler<T>
-  { };
-
-  template <bool B, class T = detail::enable_if_default_T> 
-  struct lazy_disable_if_c : enable_if_does_not_work_on_this_compiler<T>
-  { };
-
-  template <class Cond, class T = detail::enable_if_default_T> 
-  struct enable_if : enable_if_does_not_work_on_this_compiler<T>
-  { };
-
-  template <class Cond, class T = detail::enable_if_default_T> 
-  struct disable_if : enable_if_does_not_work_on_this_compiler<T>
-  { };
-
-  template <class Cond, class T = detail::enable_if_default_T> 
-  struct lazy_enable_if : enable_if_does_not_work_on_this_compiler<T>
-  { };
-
-  template <class Cond, class T = detail::enable_if_default_T> 
-  struct lazy_disable_if : enable_if_does_not_work_on_this_compiler<T>
-  { };
-
-} // namespace boost
-
-#endif // BOOST_NO_SFINAE
-
-#endif
diff --git a/SRC/Boost/boost/utility/in_place_factory.hpp b/SRC/Boost/boost/utility/in_place_factory.hpp
deleted file mode 100755
index a620f60..0000000
--- a/SRC/Boost/boost/utility/in_place_factory.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-// Copyright (C) 2007, Tobias Schwinger.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-//  fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_UTILITY_INPLACE_FACTORY_04APR2007_HPP
-#ifndef BOOST_PP_IS_ITERATING
-
-#include <boost/utility/detail/in_place_factory_prefix.hpp>
-
-namespace boost {
-
-class in_place_factory_base {} ;
-
-#define  BOOST_PP_ITERATION_LIMITS (0, BOOST_MAX_INPLACE_FACTORY_ARITY)
-#define  BOOST_PP_FILENAME_1 <boost/utility/in_place_factory.hpp>
-#include BOOST_PP_ITERATE()
-
-} // namespace boost
-
-#include <boost/utility/detail/in_place_factory_suffix.hpp>
-
-#define BOOST_UTILITY_INPLACE_FACTORY_04APR2007_HPP
-#else
-#define N BOOST_PP_ITERATION()
-
-#if N
-template< BOOST_PP_ENUM_PARAMS(N, class A) >
-#endif
-class BOOST_PP_CAT(in_place_factory,N)
-  : 
-  public in_place_factory_base
-{
-public:
-
-  explicit BOOST_PP_CAT(in_place_factory,N)
-      ( BOOST_PP_ENUM_BINARY_PARAMS(N,A,const& a) )
-#if N > 0
-    : BOOST_PP_ENUM(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT, _)
-#endif
-  {}
-
-  template<class T>
-  void* apply(void* address
-      BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) const
-  {
-    return new(address) T( BOOST_PP_ENUM_PARAMS(N, m_a) );
-  }
-
-  template<class T>
-  void* apply(void* address, std::size_t n
-      BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) const
-  {
-    for(char* next = address = this->BOOST_NESTED_TEMPLATE apply<T>(address);
-        !! --n;)
-      this->BOOST_NESTED_TEMPLATE apply<T>(next = next+sizeof(T));
-    return address; 
-  }
-
-  BOOST_PP_REPEAT(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL, _)
-};
-
-#if N > 0
-template< BOOST_PP_ENUM_PARAMS(N, class A) >
-inline BOOST_PP_CAT(in_place_factory,N)< BOOST_PP_ENUM_PARAMS(N, A) >
-in_place( BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) )
-{
-  return BOOST_PP_CAT(in_place_factory,N)< BOOST_PP_ENUM_PARAMS(N, A) >
-      ( BOOST_PP_ENUM_PARAMS(N, a) );
-}
-#else
-inline in_place_factory0 in_place()
-{
-  return in_place_factory0();
-}
-#endif
-
-#undef N
-#endif
-#endif
-
diff --git a/SRC/Boost/boost/utility/result_of.hpp b/SRC/Boost/boost/utility/result_of.hpp
deleted file mode 100755
index e4ca74e..0000000
--- a/SRC/Boost/boost/utility/result_of.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-// Boost result_of library
-
-//  Copyright Douglas Gregor 2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org/libs/utility
-#ifndef BOOST_RESULT_OF_HPP
-#define BOOST_RESULT_OF_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp> 
-#include <boost/preprocessor/punctuation/comma_if.hpp> 
-#include <boost/preprocessor/repetition/enum_params.hpp> 
-#include <boost/preprocessor/repetition/enum_shifted_params.hpp> 
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_member_function_pointer.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-#ifndef BOOST_RESULT_OF_NUM_ARGS
-#  define BOOST_RESULT_OF_NUM_ARGS 10
-#endif
-
-namespace boost {
-
-template<typename F> struct result_of;
-template<typename F> struct tr1_result_of; // a TR1-style implementation of result_of
-
-#if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-namespace detail {
-
-BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type)
-
-template<typename F, typename FArgs, bool HasResultType> struct tr1_result_of_impl;
-template<typename F> struct cpp0x_result_of_impl;
-
-template<typename F>
-struct result_of_void_impl
-{
-  typedef void type;
-};
-
-template<typename R>
-struct result_of_void_impl<R (*)(void)>
-{
-  typedef R type;
-};
-
-template<typename R>
-struct result_of_void_impl<R (&)(void)>
-{
-  typedef R type;
-};
-
-// Determine the return type of a function pointer or pointer to member.
-template<typename F, typename FArgs>
-struct result_of_pointer
-  : tr1_result_of_impl<typename remove_cv<F>::type, FArgs, false> { };
-
-template<typename F, typename FArgs>
-struct tr1_result_of_impl<F, FArgs, true>
-{
-  typedef typename F::result_type type;
-};
-
-template<typename FArgs>
-struct is_function_with_no_args : mpl::false_ {};
-
-template<typename F>
-struct is_function_with_no_args<F(void)> : mpl::true_ {};
-
-template<typename F, typename FArgs>
-struct result_of_nested_result : F::template result<FArgs>
-{};
-
-template<typename F, typename FArgs>
-struct tr1_result_of_impl<F, FArgs, false>
-  : mpl::if_<is_function_with_no_args<FArgs>,
-             result_of_void_impl<F>,
-             result_of_nested_result<F, FArgs> >::type
-{};
-
-} // end namespace detail
-
-#define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_RESULT_OF_NUM_ARGS,<boost/utility/detail/result_of_iterate.hpp>))
-#include BOOST_PP_ITERATE()
-
-#else
-#  define BOOST_NO_RESULT_OF 1
-#endif
-
-}
-
-#endif // BOOST_RESULT_OF_HPP
diff --git a/SRC/Boost/boost/utility/swap.hpp b/SRC/Boost/boost/utility/swap.hpp
deleted file mode 100755
index 85de422..0000000
--- a/SRC/Boost/boost/utility/swap.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright (C) 2007, 2008 Steven Watanabe, Joseph Gauterin, Niels Dekker
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// For more information, see http://www.boost.org
-
-
-#ifndef BOOST_UTILITY_SWAP_HPP
-#define BOOST_UTILITY_SWAP_HPP
-
-// Note: the implementation of this utility contains various workarounds:
-// - swap_impl is put outside the boost namespace, to avoid infinite
-// recursion (causing stack overflow) when swapping objects of a primitive
-// type.
-// - swap_impl has a using-directive, rather than a using-declaration,
-// because some compilers (including MSVC 7.1, Borland 5.9.3, and
-// Intel 8.1) don't do argument-dependent lookup when it has a
-// using-declaration instead.
-// - boost::swap has two template arguments, instead of one, to
-// avoid ambiguity when swapping objects of a Boost type that does
-// not have its own boost::swap overload.
-
-#include <algorithm> //for std::swap
-#include <cstddef> //for std::size_t
-
-namespace boost_swap_impl
-{
-  template<class T>
-  void swap_impl(T& left, T& right)
-  {
-    using namespace std;//use std::swap if argument dependent lookup fails
-    swap(left,right);
-  }
-
-  template<class T, std::size_t N>
-  void swap_impl(T (& left)[N], T (& right)[N])
-  {
-    for (std::size_t i = 0; i < N; ++i)
-    {
-      ::boost_swap_impl::swap_impl(left[i], right[i]);
-    }
-  }
-}
-
-namespace boost
-{
-  template<class T1, class T2>
-  void swap(T1& left, T2& right)
-  {
-    ::boost_swap_impl::swap_impl(left, right);
-  }
-}
-
-#endif
diff --git a/SRC/Boost/boost/utility/value_init.hpp b/SRC/Boost/boost/utility/value_init.hpp
deleted file mode 100755
index 3e8bb0f..0000000
--- a/SRC/Boost/boost/utility/value_init.hpp
+++ /dev/null
@@ -1,258 +0,0 @@
-// (C) Copyright 2002-2008, Fernando Luis Cacciola Carballal.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// 21 Ago 2002 (Created) Fernando Cacciola
-// 24 Dec 2007 (Refactored and worked around various compiler bugs) Fernando Cacciola, Niels Dekker
-// 23 May 2008 (Fixed operator= const issue, added initialized_value) Niels Dekker, Fernando Cacciola
-// 21 Ago 2008 (Added swap) Niels Dekker, Fernando Cacciola
-// 20 Feb 2009 (Fixed logical const-ness issues) Niels Dekker, Fernando Cacciola
-// 03 Apr 2010 (Added initialized<T>, suggested by Jeffrey Hellrung, fixing #3472) Niels Dekker
-// 30 May 2010 (Made memset call conditional, fixing #3869) Niels Dekker
-//
-#ifndef BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP
-#define BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP
-
-// Note: The implementation of boost::value_initialized had to deal with the
-// fact that various compilers haven't fully implemented value-initialization.
-// The constructor of boost::value_initialized<T> works around these compiler
-// issues, by clearing the bytes of T, before constructing the T object it
-// contains. More details on these issues are at libs/utility/value_init.htm
-
-#include <boost/aligned_storage.hpp>
-#include <boost/config.hpp> // For BOOST_NO_COMPLETE_VALUE_INITIALIZATION.
-#include <boost/detail/workaround.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/cv_traits.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/swap.hpp>
-#include <cstring>
-#include <new>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#if _MSC_VER >= 1310
-// It is safe to ignore the following warning from MSVC 7.1 or higher:
-// "warning C4351: new behavior: elements of array will be default initialized"
-#pragma warning(disable: 4351)
-// It is safe to ignore the following MSVC warning, which may pop up when T is 
-// a const type: "warning C4512: assignment operator could not be generated".
-#pragma warning(disable: 4512)
-#endif
-#endif
-
-#ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-  // Implementation detail: The macro BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED 
-  // suggests that a workaround should be applied, because of compiler issues 
-  // regarding value-initialization.
-  #define BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED
-#endif
-
-// Implementation detail: The macro BOOST_DETAIL_VALUE_INIT_WORKAROUND
-// switches the value-initialization workaround either on or off.
-#ifndef BOOST_DETAIL_VALUE_INIT_WORKAROUND
-  #ifdef BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED
-  #define BOOST_DETAIL_VALUE_INIT_WORKAROUND 1
-  #else
-  #define BOOST_DETAIL_VALUE_INIT_WORKAROUND 0
-  #endif
-#endif
-
-namespace boost {
-
-template<class T>
-class initialized
-{
-  private :
-    struct wrapper
-    {
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
-      typename
-#endif 
-      remove_const<T>::type data;
-
-      wrapper()
-      :
-      data()
-      {
-      }
-
-      wrapper(T const & arg)
-      :
-      data(arg)
-      {
-      }
-    };
-
-    mutable
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
-      typename
-#endif 
-      aligned_storage<sizeof(wrapper), alignment_of<wrapper>::value>::type x;
-
-    wrapper * wrapper_address() const
-    {
-      return static_cast<wrapper *>( static_cast<void*>(&x));
-    }
-
-  public :
-
-    initialized()
-    {
-#if BOOST_DETAIL_VALUE_INIT_WORKAROUND
-      std::memset(&x, 0, sizeof(x));
-#endif
-      new (wrapper_address()) wrapper();
-    }
-
-    initialized(initialized const & arg)
-    {
-      new (wrapper_address()) wrapper( static_cast<wrapper const &>(*(arg.wrapper_address())));
-    }
-
-    explicit initialized(T const & arg)
-    {
-      new (wrapper_address()) wrapper(arg);
-    }
-
-    initialized & operator=(initialized const & arg)
-    {
-      // Assignment is only allowed when T is non-const.
-      BOOST_STATIC_ASSERT( ! is_const<T>::value );
-      *wrapper_address() = static_cast<wrapper const &>(*(arg.wrapper_address()));
-      return *this;
-    }
-
-    ~initialized()
-    {
-      wrapper_address()->wrapper::~wrapper();
-    }
-
-    T const & data() const
-    {
-      return wrapper_address()->data;
-    }
-
-    T& data()
-    {
-      return wrapper_address()->data;
-    }
-
-    void swap(initialized & arg)
-    {
-      ::boost::swap( this->data(), arg.data() );
-    }
-
-    operator T const &() const
-    {
-      return wrapper_address()->data;
-    }
-
-    operator T&()
-    {
-      return wrapper_address()->data;
-    }
-
-} ;
-
-template<class T>
-T const& get ( initialized<T> const& x )
-{
-  return x.data() ;
-}
-
-template<class T>
-T& get ( initialized<T>& x )
-{
-  return x.data() ;
-}
-
-template<class T>
-void swap ( initialized<T> & lhs, initialized<T> & rhs )
-{
-  lhs.swap(rhs) ;
-}
-
-template<class T>
-class value_initialized
-{
-  private :
-
-    // initialized<T> does value-initialization by default.
-    initialized<T> m_data;
-
-  public :
-    
-    value_initialized()
-    :
-    m_data()
-    { }
-    
-    T const & data() const
-    {
-      return m_data.data();
-    }
-
-    T& data()
-    {
-      return m_data.data();
-    }
-
-    void swap(value_initialized & arg)
-    {
-      m_data.swap(arg.m_data);
-    }
-
-    operator T const &() const
-    {
-      return m_data;
-    }
-
-    operator T&()
-    {
-      return m_data;
-    }
-} ;
-
-
-template<class T>
-T const& get ( value_initialized<T> const& x )
-{
-  return x.data() ;
-}
-
-template<class T>
-T& get ( value_initialized<T>& x )
-{
-  return x.data() ;
-}
-
-template<class T>
-void swap ( value_initialized<T> & lhs, value_initialized<T> & rhs )
-{
-  lhs.swap(rhs) ;
-}
-
-
-class initialized_value_t
-{
-  public :
-    
-    template <class T> operator T() const
-    {
-      return initialized<T>().data();
-    }
-};
-
-initialized_value_t const initialized_value = {} ;
-
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/uuid/random_generator.hpp b/SRC/Boost/boost/uuid/random_generator.hpp
deleted file mode 100755
index 2de6e2e..0000000
--- a/SRC/Boost/boost/uuid/random_generator.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-// Boost random_generator.hpp header file  ----------------------------------------------//
-
-// Copyright 2010 Andy Tompkins.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UUID_RANDOM_GENERATOR_HPP
-#define BOOST_UUID_RANDOM_GENERATOR_HPP
-
-#include <boost/uuid/uuid.hpp>
-#include <boost/uuid/seed_rng.hpp>
-#include <boost/random/uniform_int.hpp>
-#include <boost/random/variate_generator.hpp>
-#include <boost/random/mersenne_twister.hpp>
-#include <boost/assert.hpp>
-#include <boost/shared_ptr.hpp>
-#include <limits>
-
-namespace boost {
-namespace uuids {
-
-// generate a random-based uuid
-template <typename UniformRandomNumberGenerator>
-class basic_random_generator {
-private:
-    typedef uniform_int<unsigned long> distribution_type;
-    typedef variate_generator<UniformRandomNumberGenerator*, distribution_type> generator_type;
-
-    struct null_deleter
-    {
-        void operator()(void const *) const {}
-    };
-
-public:
-    typedef uuid result_type;
-    
-    // default constructor creates the random number generator
-    basic_random_generator()
-        : pURNG(new UniformRandomNumberGenerator)
-        , generator
-          ( pURNG.get()
-          , distribution_type
-            ( (std::numeric_limits<unsigned long>::min)()
-            , (std::numeric_limits<unsigned long>::max)()
-            )
-          )
-    {
-        // seed the random number generator
-        detail::seed(*pURNG);
-    }
-    
-    // keep a reference to a random number generator
-    // don't seed a given random number generator
-    explicit basic_random_generator(UniformRandomNumberGenerator& gen)
-        : pURNG(&gen, null_deleter())
-        , generator
-          ( pURNG.get()
-          , distribution_type
-            ( (std::numeric_limits<unsigned long>::min)()
-            , (std::numeric_limits<unsigned long>::max)()
-            )
-          )
-    {}
-    
-    // keep a pointer to a random number generator
-    // don't seed a given random number generator
-    explicit basic_random_generator(UniformRandomNumberGenerator* pGen)
-        : pURNG(pGen, null_deleter())
-        , generator
-          ( pURNG.get()
-          , distribution_type
-            ( (std::numeric_limits<unsigned long>::min)()
-            , (std::numeric_limits<unsigned long>::max)()
-            )
-          )
-    {
-        BOOST_ASSERT(pURNG);
-    }
-    
-    uuid operator()()
-    {
-        uuid u;
-        
-        int i=0;
-        unsigned long random_value = generator();
-        for (uuid::iterator it=u.begin(); it!=u.end(); ++it, ++i) {
-            if (i==sizeof(unsigned long)) {
-                random_value = generator();
-                i = 0;
-            }
-
-			// static_cast gets rid of warnings of converting unsigned long to boost::uint8_t
-            *it = static_cast<uuid::value_type>((random_value >> (i*8)) & 0xFF);
-        }
-
-        // set variant
-        // must be 0b10xxxxxx
-        *(u.begin()+8) &= 0xBF;
-        *(u.begin()+8) |= 0x80;
-
-        // set version
-        // must be 0b0100xxxx
-        *(u.begin()+6) &= 0x4F; //0b01001111
-        *(u.begin()+6) |= 0x40; //0b01000000
-
-        return u;
-    }
-
-private:
-    shared_ptr<UniformRandomNumberGenerator> pURNG;
-    generator_type generator;
-};
-
-typedef basic_random_generator<mt19937> random_generator;
-
-}} // namespace boost::uuids
-
-#endif //BOOST_UUID_RANDOM_GENERATOR_HPP
diff --git a/SRC/Boost/boost/uuid/seed_rng.hpp b/SRC/Boost/boost/uuid/seed_rng.hpp
deleted file mode 100755
index 208345a..0000000
--- a/SRC/Boost/boost/uuid/seed_rng.hpp
+++ /dev/null
@@ -1,261 +0,0 @@
-// Boost seed_rng.hpp header file  ----------------------------------------------//
-
-// Copyright 2007 Andy Tompkins.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Revision History
-//  09 Nov 2007 - Initial Revision
-//  25 Feb 2008 - moved to namespace boost::uuids::detail
-//  28 Nov 2009 - disabled deprecated warnings for MSVC
-
-// seed_rng models a UniformRandomNumberGenerator (see Boost.Random).
-// Random number generators are hard to seed well.  This is intended to provide
-// good seed values for random number generators.
-// It creates random numbers from a sha1 hash of data from a variary of sources,
-// all of which are standard function calls.  It produces random numbers slowly.
-// Peter Dimov provided the details of sha1_random_digest_().
-// see http://archives.free.net.ph/message/20070507.175609.4c4f503a.en.html
-
-#ifndef BOOST_UUID_SEED_RNG_HPP
-#define BOOST_UUID_SEED_RNG_HPP
-
-#include <boost/config.hpp>
-#include <cstring> // for memcpy
-#include <limits>
-#include <ctime> // for time_t, time, clock_t, clock
-#include <cstdlib> // for rand
-#include <cstdio> // for FILE, fopen, fread, fclose
-#include <boost/uuid/sha1.hpp>
-//#include <boost/nondet_random.hpp> //forward declare boost::random::random_device
-
-// can't use boost::generator_iterator since boost::random number seed(Iter&, Iter)
-// functions need a last iterator
-//#include <boost/generator_iterator.hpp>
-# include <boost/iterator/iterator_facade.hpp>
-
-#if defined(_MSC_VER)
-#pragma warning(push) // Save warning settings.
-#pragma warning(disable : 4996) // Disable deprecated std::fopen
-#endif
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std {
-    using ::memcpy;
-    using ::time_t;
-    using ::time;
-    using ::clock_t;
-    using ::clock;
-    using ::rand;
-    using ::FILE;
-    using ::fopen;
-    using ::fread;
-    using ::fclose;
-} //namespace std
-#endif
-
-// forward declare random number generators
-namespace boost { namespace random {
-class random_device;
-}} //namespace boost::random
-
-namespace boost {
-namespace uuids {
-namespace detail {
-
-// should this be part of Boost.Random?
-class seed_rng
-{
-public:
-    typedef unsigned int result_type;
-    BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
-    //BOOST_STATIC_CONSTANT(unsigned int, min_value = 0);
-    //BOOST_STATIC_CONSTANT(unsigned int, max_value = UINT_MAX);
-
-public:
-    // note: rd_ intentionally left uninitialized
-    seed_rng()
-        : rd_index_(5)
-        , random_(std::fopen( "/dev/urandom", "rb" ))
-    {}
-    
-    ~seed_rng()
-    {
-        if (random_) {
-            std::fclose(random_);
-        }
-    }
-
-    result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const
-    {
-        return (std::numeric_limits<result_type>::min)();
-    }
-    result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const
-    {
-        return (std::numeric_limits<result_type>::max)();
-    }
-
-    result_type operator()()
-    {
-        if (rd_index_ >= 5) {
-            //get new digest
-            sha1_random_digest_();
-
-            rd_index_ = 0;
-        }
-
-        return rd_[rd_index_++];
-    }
-
-private:
-    static unsigned int * sha1_random_digest_state_()
-    {
-        // intentionally left uninitialized
-        static unsigned int state[ 5 ];
-        return state;
-    }
-
-    void sha1_random_digest_()
-    {
-        boost::uuids::detail::sha1 sha;
-
-        unsigned int * ps = sha1_random_digest_state_();
-
-        unsigned int state[ 5 ];
-        std::memcpy( state, ps, sizeof( state ) ); // harmless data race
-
-        sha.process_bytes( (unsigned char const*)state, sizeof( state ) );
-        sha.process_bytes( (unsigned char const*)&ps, sizeof( ps ) );
-
-        {
-            std::time_t tm = std::time( 0 );
-            sha.process_bytes( (unsigned char const*)&tm, sizeof( tm ) );
-        }
-
-        {
-            std::clock_t ck = std::clock();
-            sha.process_bytes( (unsigned char const*)&ck, sizeof( ck ) );
-        }
-
-        {
-            unsigned int rn[] = { std::rand(), std::rand(), std::rand() };
-            sha.process_bytes( (unsigned char const*)rn, sizeof( rn ) );
-        }
-
-        {
-            // intentionally left uninitialized
-            unsigned char buffer[ 20 ];
-
-            if(random_)
-            {
-                std::fread( buffer, 1, 20, random_ );
-            }
-
-            // using an uninitialized buffer[] if fopen fails
-            // intentional, we rely on its contents being random
-            sha.process_bytes( buffer, sizeof( buffer ) );
-        }
-
-        {
-            // *p is intentionally left uninitialized
-            unsigned int * p = new unsigned int;
-
-            sha.process_bytes( (unsigned char const*)p, sizeof( *p ) );
-            sha.process_bytes( (unsigned char const*)&p, sizeof( p ) );
-
-            delete p;
-        }
-
-        sha.process_bytes( (unsigned char const*)rd_, sizeof( rd_ ) );
-
-        unsigned int digest[ 5 ];
-        sha.get_digest( digest );
-
-        for( int i = 0; i < 5; ++i )
-        {
-            // harmless data race
-            ps[ i ] ^= digest[ i ];
-            rd_[ i ] ^= digest[ i ];
-        }
-    }
-
-private:
-    unsigned int rd_[5];
-    int rd_index_;
-    std::FILE * random_;
-    
-private: // make seed_rng noncopyable
-    seed_rng(seed_rng const&);
-    seed_rng& operator=(seed_rng const&);
-};
-
-// almost a copy of boost::generator_iterator
-// but default constructor sets m_g to NULL
-template <class Generator>
-class generator_iterator
-  : public iterator_facade<
-        generator_iterator<Generator>
-      , typename Generator::result_type
-      , single_pass_traversal_tag
-      , typename Generator::result_type const&
-    >
-{
-    typedef iterator_facade<
-        generator_iterator<Generator>
-      , typename Generator::result_type
-      , single_pass_traversal_tag
-      , typename Generator::result_type const&
-    > super_t;
-    
- public:
-    generator_iterator() : m_g(NULL) {}
-    generator_iterator(Generator* g) : m_g(g), m_value((*m_g)()) {}
-
-    void increment()
-    {
-        m_value = (*m_g)();
-    }
-
-    const typename Generator::result_type&
-    dereference() const
-    {
-        return m_value;
-    }
-
-    bool equal(generator_iterator const& y) const
-    {
-        return this->m_g == y.m_g && this->m_value == y.m_value;
-    }
-
- private:
-    Generator* m_g;
-    typename Generator::result_type m_value;
-};
-
-// seed() seeds a random number generator with good seed values
-
-template <typename UniformRandomNumberGenerator>
-inline void seed(UniformRandomNumberGenerator& rng)
-{
-    seed_rng seed_gen;
-    generator_iterator<seed_rng> begin(&seed_gen);
-    generator_iterator<seed_rng> end;
-    rng.seed(begin, end);
-}
-
-// random_device does not / can not be seeded
-template <>
-inline void seed<boost::random::random_device>(boost::random::random_device&) {}
-
-// random_device does not / can not be seeded
-template <>
-inline void seed<seed_rng>(seed_rng&) {}
-
-}}} //namespace boost::uuids::detail
-
-#if defined(_MSC_VER)
-#pragma warning(pop) // Restore warnings to previous state.
-#endif
-
-#endif
diff --git a/SRC/Boost/boost/uuid/sha1.hpp b/SRC/Boost/boost/uuid/sha1.hpp
deleted file mode 100755
index 1ce5e58..0000000
--- a/SRC/Boost/boost/uuid/sha1.hpp
+++ /dev/null
@@ -1,208 +0,0 @@
-// boost/uuid/sha1.hpp header file  ----------------------------------------------//
-
-// Copyright 2007 Andy Tompkins.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Revision History
-//  29 May 2007 - Initial Revision
-//  25 Feb 2008 - moved to namespace boost::uuids::detail
-
-// This is a byte oriented implementation
-// Note: this implementation does not handle message longer than
-//       2^32 bytes.
-
-#ifndef BOOST_UUID_SHA1_H
-#define BOOST_UUID_SHA1_H
-
-#include <boost/static_assert.hpp>
-#include <cstddef>
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std {
-    using ::size_t;
-} // namespace std
-#endif
-
-namespace boost {
-namespace uuids {
-namespace detail {
-
-BOOST_STATIC_ASSERT(sizeof(unsigned char)*8 == 8);
-BOOST_STATIC_ASSERT(sizeof(unsigned int)*8 == 32);
-
-inline unsigned int left_rotate(unsigned int x, std::size_t n)
-{
-    return (x<<n) ^ (x>> (32-n));
-}
-
-class sha1
-{
-public:
-    typedef unsigned int(&digest_type)[5];
-public:
-    sha1();
-
-    void reset();
-
-    void process_byte(unsigned char byte);
-    void process_block(void const* bytes_begin, void const* bytes_end);
-    void process_bytes(void const* buffer, std::size_t byte_count);
-
-    void get_digest(digest_type digest);
-
-private:
-    void process_block();
-
-private:
-    unsigned int h_[5];
-
-    unsigned char block_[64];
-
-    std::size_t block_byte_index_;
-    std::size_t byte_count_;
-};
-
-inline sha1::sha1()
-{
-    reset();
-}
-
-inline void sha1::reset()
-{
-    h_[0] = 0x67452301;
-    h_[1] = 0xEFCDAB89;
-    h_[2] = 0x98BADCFE;
-    h_[3] = 0x10325476;
-    h_[4] = 0xC3D2E1F0;
-
-    block_byte_index_ = 0;
-    byte_count_ = 0;
-}
-
-inline void sha1::process_byte(unsigned char byte)
-{
-    block_[block_byte_index_++] = byte;
-    ++byte_count_;
-    if (block_byte_index_ == 64) {
-        block_byte_index_ = 0;
-        process_block();
-    }
-}
-
-inline void sha1::process_block(void const* bytes_begin, void const* bytes_end)
-{
-    unsigned char const* begin = static_cast<unsigned char const*>(bytes_begin);
-    unsigned char const* end = static_cast<unsigned char const*>(bytes_end);
-    for(; begin != end; ++begin) {
-        process_byte(*begin);
-    }
-}
-
-inline void sha1::process_bytes(void const* buffer, std::size_t byte_count)
-{
-    unsigned char const* b = static_cast<unsigned char const*>(buffer);
-    process_block(b, b+byte_count);
-}
-
-inline void sha1::process_block()
-{
-    unsigned int w[80];
-    for (std::size_t i=0; i<16; ++i) {
-        w[i]  = (block_[i*4 + 0] << 24);
-        w[i] |= (block_[i*4 + 1] << 16);
-        w[i] |= (block_[i*4 + 2] << 8);
-        w[i] |= (block_[i*4 + 3]);
-    }
-    for (std::size_t i=16; i<80; ++i) {
-        w[i] = left_rotate((w[i-3] ^ w[i-8] ^ w[i-14] ^ w[i-16]), 1);
-    }
-
-    unsigned int a = h_[0];
-    unsigned int b = h_[1];
-    unsigned int c = h_[2];
-    unsigned int d = h_[3];
-    unsigned int e = h_[4];
-
-    for (std::size_t i=0; i<80; ++i) {
-        unsigned int f;
-        unsigned int k;
-
-        if (i<20) {
-            f = (b & c) | (~b & d);
-            k = 0x5A827999;
-        } else if (i<40) {
-            f = b ^ c ^ d;
-            k = 0x6ED9EBA1;
-        } else if (i<60) {
-            f = (b & c) | (b & d) | (c & d);
-            k = 0x8F1BBCDC;
-        } else {
-            f = b ^ c ^ d;
-            k = 0xCA62C1D6;
-        }
-
-        unsigned temp = left_rotate(a, 5) + f + e + k + w[i];
-        e = d;
-        d = c;
-        c = left_rotate(b, 30);
-        b = a;
-        a = temp;
-    }
-
-    h_[0] += a;
-    h_[1] += b;
-    h_[2] += c;
-    h_[3] += d;
-    h_[4] += e;
-}
-
-inline void sha1::get_digest(digest_type digest)
-{
-    std::size_t bit_count = byte_count_*8;
-
-    // append the bit '1' to the message
-    process_byte(0x80);
-
-    // append k bits '0', where k is the minimum number >= 0
-    // such that the resulting message length is congruent to 56 (mod 64)
-    // check if there is enough space for padding and bit_count
-    if (block_byte_index_ > 56) {
-        // finish this block
-        while (block_byte_index_ != 0) {
-            process_byte(0);
-        }
-
-        // one more block
-        while (block_byte_index_ < 56) {
-            process_byte(0);
-        }
-    } else {
-        while (block_byte_index_ < 56) {
-            process_byte(0);
-        }
-    }
-
-    // append length of message (before pre-processing) 
-    // as a 64-bit big-endian integer
-    process_byte(0);
-    process_byte(0);
-    process_byte(0);
-    process_byte(0);
-    process_byte( static_cast<unsigned char>((bit_count>>24) & 0xFF));
-    process_byte( static_cast<unsigned char>((bit_count>>16) & 0xFF));
-    process_byte( static_cast<unsigned char>((bit_count>>8 ) & 0xFF));
-    process_byte( static_cast<unsigned char>((bit_count)     & 0xFF));
-
-    // get final digest
-    digest[0] = h_[0];
-    digest[1] = h_[1];
-    digest[2] = h_[2];
-    digest[3] = h_[3];
-    digest[4] = h_[4];
-}
-
-}}} // namespace boost::uuids::detail
-
-#endif
diff --git a/SRC/Boost/boost/uuid/uuid.hpp b/SRC/Boost/boost/uuid/uuid.hpp
deleted file mode 100755
index 5aa1708..0000000
--- a/SRC/Boost/boost/uuid/uuid.hpp
+++ /dev/null
@@ -1,221 +0,0 @@
-// Boost uuid.hpp header file  ----------------------------------------------//
-
-// Copyright 2006 Andy Tompkins.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Revision History
-//  06 Feb 2006 - Initial Revision
-//  09 Nov 2006 - fixed variant and version bits for v4 guids
-//  13 Nov 2006 - added serialization
-//  17 Nov 2006 - added name-based guid creation
-//  20 Nov 2006 - add fixes for gcc (from Tim Blechmann)
-//  07 Mar 2007 - converted to header only
-//  10 May 2007 - removed need for Boost.Thread
-//              - added better seed - thanks Peter Dimov
-//              - removed null()
-//              - replaced byte_count() and output_bytes() with size() and begin() and end()
-//  11 May 2007 - fixed guid(ByteInputIterator first, ByteInputIterator last)
-//              - optimized operator>>
-//  14 May 2007 - converted from guid to uuid
-//  29 May 2007 - uses new implementation of sha1
-//  01 Jun 2007 - removed using namespace directives
-//  09 Nov 2007 - moved implementation to uuid.ipp file
-//  12 Nov 2007 - moved serialize code to uuid_serialize.hpp file
-//  25 Feb 2008 - moved to namespace boost::uuids
-//  19 Mar 2009 - changed to a POD, reorganized files
-//  28 Nov 2009 - disabled deprecated warnings for MSVC
-//  30 Nov 2009 - used BOOST_STATIC_CONSTANT
-//  02 Dec 2009 - removed BOOST_STATIC_CONSTANT - not all compilers like it
-
-#ifndef BOOST_UUID_HPP
-#define BOOST_UUID_HPP
-
-#include <boost/config.hpp>
-#include <stddef.h>
-#include <boost/cstdint.hpp>
-#include <algorithm>
-#include <boost/config.hpp> // for static assert
-#ifndef BOOST_UUID_NO_TYPE_TRAITS
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#endif
-
-#if defined(_MSC_VER)
-#pragma warning(push) // Save warning settings.
-#pragma warning(disable : 4996) // Disable deprecated std::swap_ranges, std::equal
-#endif
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std {
-    using ::size_t;
-    using ::ptrdiff_t;
-} //namespace std
-#endif //BOOST_NO_STDC_NAMESPACE
-
-namespace boost {
-namespace uuids {
-
-struct uuid
-{
-public:
-    typedef uint8_t value_type;
-    typedef uint8_t& reference;
-    typedef uint8_t const& const_reference;
-    typedef uint8_t* iterator;
-    typedef uint8_t const* const_iterator;
-    typedef std::size_t size_type;
-    typedef std::ptrdiff_t difference_type;
-
-    // This does not work on some compilers
-    // They seem to want the variable definec in 
-    // a cpp file
-    //BOOST_STATIC_CONSTANT(size_type, static_size = 16);
-    static size_type static_size() { return 16; }
-
-public:
-    iterator begin() { return data; } /* throw() */
-    const_iterator begin() const { return data; } /* throw() */
-    iterator end() { return data+size(); } /* throw() */
-    const_iterator end() const { return data+size(); } /* throw() */
-
-    size_type size() const { return static_size(); } /* throw() */
-
-    bool is_nil() const /* throw() */
-    {
-        for(size_t i=0; i<static_size(); i++) {
-            if (data[i] != 0U) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    enum variant_type
-    {
-        variant_ncs, // NCS backward compatibility
-        variant_rfc_4122, // defined in RFC 4122 document
-        variant_microsoft, // Microsoft Corporation backward compatibility
-        variant_future // future definition
-    };
-    variant_type variant() const /* throw() */
-    {
-        // variant is stored in octet 7
-        // which is index 8, since indexes count backwards
-        unsigned char octet7 = data[8]; // octet 7 is array index 8
-        if ( (octet7 & 0x80) == 0x00 ) { // 0b0xxxxxxx
-            return variant_ncs;
-        } else if ( (octet7 & 0xC0) == 0x80 ) { // 0b10xxxxxx
-            return variant_rfc_4122;
-        } else if ( (octet7 & 0xE0) == 0xC0 ) { // 0b110xxxxx
-            return variant_microsoft;
-        } else {
-            //assert( (octet7 & 0xE0) == 0xE0 ) // 0b111xxxx
-            return variant_future;
-        }
-    }
-    
-    enum version_type 
-    {
-        version_unknown = -1,
-        version_time_based = 1,
-        version_dce_security = 2,
-        version_name_based_md5 = 3,
-        version_random_number_based = 4,
-        version_name_based_sha1 = 5
-    };
-    version_type version() const /* throw() */
-    {
-        //version is stored in octet 9
-        // which is index 6, since indexes count backwards
-        unsigned char octet9 = data[6];
-        if ( (octet9 & 0xF0) == 0x10 ) {
-            return version_time_based;
-        } else if ( (octet9 & 0xF0) == 0x20 ) {
-            return version_dce_security;
-        } else if ( (octet9 & 0xF0) == 0x30 ) {
-            return version_name_based_md5;
-        } else if ( (octet9 & 0xF0) == 0x40 ) {
-            return version_random_number_based;
-        } else if ( (octet9 & 0xF0) == 0x50 ) {
-            return version_name_based_sha1;
-        } else {
-            return version_unknown;
-        }
-    }
-
-    // note: linear complexity
-    void swap(uuid& rhs) /* throw() */
-    {
-        std::swap_ranges(begin(), end(), rhs.begin());
-    }
-
-public:
-    // or should it be array<uint8_t, 16>
-    uint8_t data[16];
-};
-
-inline bool operator==(uuid const& lhs, uuid const& rhs) /* throw() */
-{
-    return std::equal(lhs.begin(), lhs.end(), rhs.begin());
-}
-
-inline bool operator!=(uuid const& lhs, uuid const& rhs) /* throw() */
-{
-    return !(lhs == rhs);
-}
-
-inline bool operator<(uuid const& lhs, uuid const& rhs) /* throw() */
-{
-    return std::lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), rhs.end());
-}
-
-inline bool operator>(uuid const& lhs, uuid const& rhs) /* throw() */
-{
-    return rhs < lhs;
-}
-inline bool operator<=(uuid const& lhs, uuid const& rhs) /* throw() */
-{
-    return !(rhs < lhs);
-}
-
-inline bool operator>=(uuid const& lhs, uuid const& rhs) /* throw() */
-{
-    return !(lhs < rhs);
-}
-
-inline void swap(uuid& lhs, uuid& rhs) /* throw() */
-{
-    lhs.swap(rhs);
-}
-
-// This is equivalent to boost::hash_range(u.begin(), u.end());
-inline std::size_t hash_value(uuid const& u) /* throw() */
-{
-    std::size_t seed = 0;
-    for(uuid::const_iterator i=u.begin(); i != u.end(); ++i)
-    {
-        seed ^= static_cast<std::size_t>(*i) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
-    }
-
-    return seed;
-}
-
-}} //namespace boost::uuids
-
-#ifndef BOOST_UUID_NO_TYPE_TRAITS
-// type traits specializations
-namespace boost {
-
-template <>
-struct is_pod<uuids::uuid> : true_type {};
-
-} // namespace boost
-#endif
-
-#if defined(_MSC_VER)
-#pragma warning(pop) // Restore warnings to previous state.
-#endif
-
-#endif // BOOST_UUID_HPP
diff --git a/SRC/Boost/boost/uuid/uuid_io.hpp b/SRC/Boost/boost/uuid/uuid_io.hpp
deleted file mode 100755
index eae7c73..0000000
--- a/SRC/Boost/boost/uuid/uuid_io.hpp
+++ /dev/null
@@ -1,198 +0,0 @@
-// Boost uuid_io.hpp header file  ----------------------------------------------//
-
-// Copyright 2009 Andy Tompkins.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Revision History
-//  20 Mar 2009 - Initial Revision
-//  28 Nov 2009 - disabled deprecated warnings for MSVC
-
-#ifndef BOOST_UUID_IO_HPP
-#define BOOST_UUID_IO_HPP
-
-#include <boost/uuid/uuid.hpp>
-#include <ios>
-#include <ostream>
-#include <istream>
-#include <boost/io/ios_state.hpp>
-#include <locale>
-#include <algorithm>
-
-#if defined(_MSC_VER)
-#pragma warning(push) // Save warning settings.
-#pragma warning(disable : 4996) // Disable deprecated std::ctype<char>::widen, std::copy
-#endif
-
-namespace boost {
-namespace uuids {
-
-template <typename ch, typename char_traits>
-    std::basic_ostream<ch, char_traits>& operator<<(std::basic_ostream<ch, char_traits> &os, uuid const& u)
-{
-    io::ios_flags_saver flags_saver(os);
-    io::basic_ios_fill_saver<ch, char_traits> fill_saver(os);
-
-    const typename std::basic_ostream<ch, char_traits>::sentry ok(os);
-    if (ok) {
-        const std::streamsize width = os.width(0);
-        const std::streamsize uuid_width = 36;
-        const std::ios_base::fmtflags flags = os.flags();
-        const typename std::basic_ios<ch, char_traits>::char_type fill = os.fill();
-        if (flags & (std::ios_base::right | std::ios_base::internal)) {
-            for (std::streamsize i=uuid_width; i<width; i++) {
-                os << fill;
-            }
-        }
-
-        os << std::hex;
-        os.fill(os.widen('0'));
-
-        std::size_t i=0;
-        for (uuid::const_iterator i_data = u.begin(); i_data!=u.end(); ++i_data, ++i) {
-            os.width(2);
-            os << static_cast<unsigned int>(*i_data);
-            if (i == 3 || i == 5 || i == 7 || i == 9) {
-                os << os.widen('-');
-            }
-        }
-        
-        if (flags & std::ios_base::left) {
-            for (std::streamsize i=uuid_width; i<width; i++) {
-                os << fill;
-            }
-        }
-        
-        os.width(0); //used the width so reset it
-    }
-    return os;
-}
-
-template <typename ch, typename char_traits>
-    std::basic_istream<ch, char_traits>& operator>>(std::basic_istream<ch, char_traits> &is, uuid &u)
-{
-    const typename std::basic_istream<ch, char_traits>::sentry ok(is);
-    if (ok) {
-        unsigned char data[16];
-
-        typedef std::ctype<ch> ctype_t;
-        ctype_t const& ctype = std::use_facet<ctype_t>(is.getloc());
-
-        ch xdigits[16];
-        {
-            char szdigits[] = "0123456789ABCDEF";
-            ctype.widen(szdigits, szdigits+16, xdigits);
-        }
-        ch*const xdigits_end = xdigits+16;
-
-        ch c;
-        for (std::size_t i=0; i<u.size() && is; ++i) {
-            is >> c;
-            c = ctype.toupper(c);
-
-            ch* f = std::find(xdigits, xdigits_end, c);
-            if (f == xdigits_end) {
-                is.setstate(std::ios_base::failbit);
-                break;
-            }
-
-            unsigned char byte = static_cast<unsigned char>(std::distance(&xdigits[0], f));
-
-            is >> c;
-            c = ctype.toupper(c);
-            f = std::find(xdigits, xdigits_end, c);
-            if (f == xdigits_end) {
-                is.setstate(std::ios_base::failbit);
-                break;
-            }
-
-            byte <<= 4;
-            byte |= static_cast<unsigned char>(std::distance(&xdigits[0], f));
-
-            data[i] = byte;
-
-            if (is) {
-                if (i == 3 || i == 5 || i == 7 || i == 9) {
-                    is >> c;
-                    if (c != is.widen('-')) is.setstate(std::ios_base::failbit);
-                }
-            }
-        }
-
-        if (is) {
-            std::copy(data, data+16, u.begin());
-        }
-    }
-    return is;
-}
-
-namespace detail {
-inline char to_char(size_t i) {
-    if (i <= 9) {
-        return static_cast<char>('0' + i);
-    } else {
-        return static_cast<char>('a' + (i-10));
-    }
-}
-
-inline wchar_t to_wchar(size_t i) {
-    if (i <= 9) {
-        return static_cast<wchar_t>(L'0' + i);
-    } else {
-        return static_cast<wchar_t>(L'a' + (i-10));
-    }
-}
-
-} // namespace detail
-
-inline std::string to_string(uuid const& u)
-{
-    std::string result;
-    result.reserve(36);
-
-    std::size_t i=0;
-    for (uuid::const_iterator it_data = u.begin(); it_data!=u.end(); ++it_data, ++i) {
-        const size_t hi = ((*it_data) >> 4) & 0x0F;
-        result += detail::to_char(hi);
-
-        const size_t lo = (*it_data) & 0x0F;
-        result += detail::to_char(lo);
-
-        if (i == 3 || i == 5 || i == 7 || i == 9) {
-            result += '-';
-        }
-    }
-    return result;
-}
-
-#ifndef BOOST_NO_STD_WSTRING
-inline std::wstring to_wstring(uuid const& u)
-{
-    std::wstring result;
-    result.reserve(36);
-
-    std::size_t i=0;
-    for (uuid::const_iterator it_data = u.begin(); it_data!=u.end(); ++it_data, ++i) {
-        const size_t hi = ((*it_data) >> 4) & 0x0F;
-        result += detail::to_wchar(hi);
-
-        const size_t lo = (*it_data) & 0x0F;
-        result += detail::to_wchar(lo);
-
-        if (i == 3 || i == 5 || i == 7 || i == 9) {
-            result += L'-';
-        }
-    }
-    return result;
-}
-
-#endif
-
-}} //namespace boost::uuids
-
-#if defined(_MSC_VER)
-#pragma warning(pop) // Restore warnings to previous state.
-#endif
-
-#endif // BOOST_UUID_IO_HPP
diff --git a/SRC/Boost/boost/variant.hpp b/SRC/Boost/boost/variant.hpp
deleted file mode 100755
index f9623dd..0000000
--- a/SRC/Boost/boost/variant.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant.hpp header file
-// See http://www.boost.org/libs/variant for documentation.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman, Itay Maman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_HPP
-#define BOOST_VARIANT_HPP
-
-// variant "main"
-#include "boost/variant/variant.hpp"
-#include "boost/variant/recursive_variant.hpp"
-#include "boost/variant/recursive_wrapper.hpp"
-
-// common applications
-#include "boost/variant/get.hpp"
-#include "boost/variant/apply_visitor.hpp"
-#include "boost/variant/static_visitor.hpp"
-#include "boost/variant/visitor_ptr.hpp"
-
-#endif // BOOST_VARIANT_HPP
diff --git a/SRC/Boost/boost/variant/apply_visitor.hpp b/SRC/Boost/boost/variant/apply_visitor.hpp
deleted file mode 100755
index e1a82cf..0000000
--- a/SRC/Boost/boost/variant/apply_visitor.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/apply_visitor.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_APPLY_VISITOR_HPP
-#define BOOST_VARIANT_APPLY_VISITOR_HPP
-
-#include "boost/variant/detail/apply_visitor_unary.hpp"
-#include "boost/variant/detail/apply_visitor_binary.hpp"
-#include "boost/variant/detail/apply_visitor_delayed.hpp"
-
-#endif // BOOST_VARIANT_APPLY_VISITOR_HPP
diff --git a/SRC/Boost/boost/variant/bad_visit.hpp b/SRC/Boost/boost/variant/bad_visit.hpp
deleted file mode 100755
index 0ef6ee9..0000000
--- a/SRC/Boost/boost/variant/bad_visit.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/bad_visit.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002-2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_BAD_VISIT_HPP
-#define BOOST_VARIANT_BAD_VISIT_HPP
-
-#include <exception>
-
-namespace boost {
-
-//////////////////////////////////////////////////////////////////////////
-// class bad_visit
-//
-// Exception thrown when a visitation attempt via apply_visitor fails due
-// to invalid visited subtype or contents.
-//
-struct bad_visit
-    : std::exception
-{
-public: // std::exception interface
-
-    virtual const char * what() const throw()
-    {
-        return "boost::bad_visit: "
-               "failed visitation using boost::apply_visitor";
-    }
-
-};
-
-} // namespace boost
-
-#endif // BOOST_VARIANT_BAD_VISIT_HPP
diff --git a/SRC/Boost/boost/variant/detail/apply_visitor_binary.hpp b/SRC/Boost/boost/variant/detail/apply_visitor_binary.hpp
deleted file mode 100755
index 2540256..0000000
--- a/SRC/Boost/boost/variant/detail/apply_visitor_binary.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/apply_visitor_binary.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002-2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_APPLY_VISITOR_BINARY_HPP
-#define BOOST_VARIANT_DETAIL_APPLY_VISITOR_BINARY_HPP
-
-#include "boost/config.hpp"
-#include "boost/detail/workaround.hpp"
-#include "boost/variant/detail/generic_result_type.hpp"
-
-#include "boost/variant/detail/apply_visitor_unary.hpp"
-
-#if BOOST_WORKAROUND(__EDG__, BOOST_TESTED_AT(302))
-#include "boost/utility/enable_if.hpp"
-#include "boost/mpl/not.hpp"
-#include "boost/type_traits/is_const.hpp"
-#endif
-
-namespace boost {
-
-//////////////////////////////////////////////////////////////////////////
-// function template apply_visitor(visitor, visitable1, visitable2)
-//
-// Visits visitable1 and visitable2 such that their values (which we
-// shall call x and y, respectively) are used as arguments in the
-// expression visitor(x, y).
-//
-
-namespace detail { namespace variant {
-
-template <typename Visitor, typename Value1>
-class apply_visitor_binary_invoke
-{
-public: // visitor typedefs
-
-    typedef typename Visitor::result_type
-        result_type;
-
-private: // representation
-
-    Visitor& visitor_;
-    Value1& value1_;
-
-public: // structors
-
-    apply_visitor_binary_invoke(Visitor& visitor, Value1& value1)
-        : visitor_(visitor)
-        , value1_(value1)
-    {
-    }
-
-public: // visitor interfaces
-
-    template <typename Value2>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    operator()(Value2& value2)
-    {
-        return visitor_(value1_, value2);
-    }
-
-private:
-    apply_visitor_binary_invoke& operator=(const apply_visitor_binary_invoke&);
-
-};
-
-template <typename Visitor, typename Visitable2>
-class apply_visitor_binary_unwrap
-{
-public: // visitor typedefs
-
-    typedef typename Visitor::result_type
-        result_type;
-
-private: // representation
-
-    Visitor& visitor_;
-    Visitable2& visitable2_;
-
-public: // structors
-
-    apply_visitor_binary_unwrap(Visitor& visitor, Visitable2& visitable2)
-        : visitor_(visitor)
-        , visitable2_(visitable2)
-    {
-    }
-
-public: // visitor interfaces
-
-    template <typename Value1>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    operator()(Value1& value1)
-    {
-        apply_visitor_binary_invoke<
-              Visitor
-            , Value1
-            > invoker(visitor_, value1);
-
-        return boost::apply_visitor(invoker, visitable2_);
-    }
-
-private:
-    apply_visitor_binary_unwrap& operator=(const apply_visitor_binary_unwrap&);
-
-};
-
-}} // namespace detail::variant
-
-//
-// nonconst-visitor version:
-//
-
-#if !BOOST_WORKAROUND(__EDG__, BOOST_TESTED_AT(302))
-
-#   define BOOST_VARIANT_AUX_APPLY_VISITOR_NON_CONST_RESULT_TYPE(V) \
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename V::result_type) \
-    /**/
-
-#else // EDG-based compilers
-
-#   define BOOST_VARIANT_AUX_APPLY_VISITOR_NON_CONST_RESULT_TYPE(V) \
-    typename enable_if< \
-          mpl::not_< is_const< V > > \
-        , BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename V::result_type) \
-        >::type \
-    /**/
-
-#endif // EDG-based compilers workaround
-
-template <typename Visitor, typename Visitable1, typename Visitable2>
-inline
-    BOOST_VARIANT_AUX_APPLY_VISITOR_NON_CONST_RESULT_TYPE(Visitor)
-apply_visitor(
-      Visitor& visitor
-    , Visitable1& visitable1, Visitable2& visitable2
-    )
-{
-    ::boost::detail::variant::apply_visitor_binary_unwrap<
-          Visitor, Visitable2
-        > unwrapper(visitor, visitable2);
-
-    return boost::apply_visitor(unwrapper, visitable1);
-}
-
-#undef BOOST_VARIANT_AUX_APPLY_VISITOR_NON_CONST_RESULT_TYPE
-
-//
-// const-visitor version:
-//
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-template <typename Visitor, typename Visitable1, typename Visitable2>
-inline
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(
-          typename Visitor::result_type
-        )
-apply_visitor(
-      const Visitor& visitor
-    , Visitable1& visitable1, Visitable2& visitable2
-    )
-{
-    ::boost::detail::variant::apply_visitor_binary_unwrap<
-          const Visitor, Visitable2
-        > unwrapper(visitor, visitable2);
-
-    return boost::apply_visitor(unwrapper, visitable1);
-}
-
-#endif // MSVC7 and below exclusion
-
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_APPLY_VISITOR_BINARY_HPP
diff --git a/SRC/Boost/boost/variant/detail/apply_visitor_delayed.hpp b/SRC/Boost/boost/variant/detail/apply_visitor_delayed.hpp
deleted file mode 100755
index 726aea8..0000000
--- a/SRC/Boost/boost/variant/detail/apply_visitor_delayed.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/apply_visitor_delayed.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002-2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_APPLY_VISITOR_DELAYED_HPP
-#define BOOST_VARIANT_DETAIL_APPLY_VISITOR_DELAYED_HPP
-
-#include "boost/variant/detail/generic_result_type.hpp"
-
-#include "boost/variant/detail/apply_visitor_unary.hpp"
-#include "boost/variant/detail/apply_visitor_binary.hpp"
-
-namespace boost {
-
-//////////////////////////////////////////////////////////////////////////
-// function template apply_visitor(visitor)
-//
-// Returns a function object, overloaded for unary and binary usage, that
-// visits its arguments using visitor (or a copy of visitor) via
-//  * apply_visitor( visitor, [argument] )
-// under unary invocation, or
-//  * apply_visitor( visitor, [argument1], [argument2] )
-// under binary invocation.
-//
-// NOTE: Unlike other apply_visitor forms, the visitor object must be
-//   non-const; this prevents user from giving temporary, to disastrous
-//   effect (i.e., returned function object would have dead reference).
-//
-
-template <typename Visitor>
-class apply_visitor_delayed_t
-{
-public: // visitor typedefs
-
-    typedef typename Visitor::result_type
-        result_type;
-
-private: // representation
-
-    Visitor& visitor_;
-
-public: // structors
-
-    explicit apply_visitor_delayed_t(Visitor& visitor)
-      : visitor_(visitor)
-    {
-    }
-
-public: // unary visitor interface
-
-    template <typename Visitable>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    operator()(Visitable& visitable) const
-    {
-        return apply_visitor(visitor_, visitable);
-    }
-
-public: // binary visitor interface
-
-    template <typename Visitable1, typename Visitable2>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    operator()(Visitable1& visitable1, Visitable2& visitable2) const
-    {
-        return apply_visitor(visitor_, visitable1, visitable2);
-    }
-
-private:
-    apply_visitor_delayed_t& operator=(const apply_visitor_delayed_t&);
-
-};
-
-template <typename Visitor>
-inline apply_visitor_delayed_t<Visitor> apply_visitor(Visitor& visitor)
-{
-    return apply_visitor_delayed_t<Visitor>(visitor);
-}
-
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_APPLY_VISITOR_DELAYED_HPP
diff --git a/SRC/Boost/boost/variant/detail/apply_visitor_unary.hpp b/SRC/Boost/boost/variant/detail/apply_visitor_unary.hpp
deleted file mode 100755
index 430c7d5..0000000
--- a/SRC/Boost/boost/variant/detail/apply_visitor_unary.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/apply_visitor_unary.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002-2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_APPLY_VISITOR_UNARY_HPP
-#define BOOST_VARIANT_DETAIL_APPLY_VISITOR_UNARY_HPP
-
-#include "boost/config.hpp"
-#include "boost/detail/workaround.hpp"
-#include "boost/variant/detail/generic_result_type.hpp"
-
-#if BOOST_WORKAROUND(__EDG__, BOOST_TESTED_AT(302))
-#include "boost/utility/enable_if.hpp"
-#include "boost/mpl/not.hpp"
-#include "boost/type_traits/is_const.hpp"
-#endif
-
-namespace boost {
-
-//////////////////////////////////////////////////////////////////////////
-// function template apply_visitor(visitor, visitable)
-//
-// Visits visitable with visitor.
-//
-
-//
-// nonconst-visitor version:
-//
-
-#if !BOOST_WORKAROUND(__EDG__, BOOST_TESTED_AT(302))
-
-#   define BOOST_VARIANT_AUX_APPLY_VISITOR_NON_CONST_RESULT_TYPE(V) \
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename V::result_type) \
-    /**/
-
-#else // EDG-based compilers
-
-#   define BOOST_VARIANT_AUX_APPLY_VISITOR_NON_CONST_RESULT_TYPE(V) \
-    typename enable_if< \
-          mpl::not_< is_const< V > > \
-        , BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename V::result_type) \
-        >::type \
-    /**/
-
-#endif // EDG-based compilers workaround
-
-template <typename Visitor, typename Visitable>
-inline
-    BOOST_VARIANT_AUX_APPLY_VISITOR_NON_CONST_RESULT_TYPE(Visitor)
-apply_visitor(Visitor& visitor, Visitable& visitable)
-{
-    return visitable.apply_visitor(visitor);
-}
-
-#undef BOOST_VARIANT_AUX_APPLY_VISITOR_NON_CONST_RESULT_TYPE
-
-//
-// const-visitor version:
-//
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-template <typename Visitor, typename Visitable>
-inline
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename Visitor::result_type)
-apply_visitor(const Visitor& visitor, Visitable& visitable)
-{
-    return visitable.apply_visitor(visitor);
-}
-
-#endif // MSVC7 and below exclusion
-
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_APPLY_VISITOR_UNARY_HPP
diff --git a/SRC/Boost/boost/variant/detail/backup_holder.hpp b/SRC/Boost/boost/variant/detail/backup_holder.hpp
deleted file mode 100755
index c57899a..0000000
--- a/SRC/Boost/boost/variant/detail/backup_holder.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/backup_holder.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_BACKUP_HOLDER_HPP
-#define BOOST_VARIANT_DETAIL_BACKUP_HOLDER_HPP
-
-#include "boost/assert.hpp"
-
-namespace boost {
-namespace detail { namespace variant {
-
-template <typename T>
-class backup_holder
-{
-private: // representation
-
-    T* backup_;
-
-public: // structors
-
-    ~backup_holder()
-    {
-        delete backup_;
-    }
-
-    explicit backup_holder(T* backup)
-        : backup_(backup)
-    {
-    }
-
-    backup_holder(const backup_holder&);
-
-public: // modifiers
-
-    backup_holder& operator=(const backup_holder& rhs)
-    {
-        *backup_ = rhs.get();
-        return *this;
-    }
-
-    backup_holder& operator=(const T& rhs)
-    {
-        *backup_ = rhs;
-        return *this;
-    }
-
-    void swap(backup_holder& rhs)
-    {
-        T* tmp = rhs.backup_;
-        rhs.backup_ = this->backup_;
-        this->backup_ = tmp;
-    }
-
-public: // queries
-
-    T& get()
-    {
-        return *backup_;
-    }
-
-    const T& get() const
-    {
-        return *backup_;
-    }
-
-};
-
-template <typename T>
-backup_holder<T>::backup_holder(const backup_holder&)
-    : backup_(0)
-{
-    // not intended for copy, but do not want to prohibit syntactically
-    BOOST_ASSERT(false);
-}
-
-template <typename T>
-void swap(backup_holder<T>& lhs, backup_holder<T>& rhs)
-{
-    lhs.swap(rhs);
-}
-
-}} // namespace detail::variant
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_BACKUP_HOLDER_HPP
diff --git a/SRC/Boost/boost/variant/detail/bool_trait_def.hpp b/SRC/Boost/boost/variant/detail/bool_trait_def.hpp
deleted file mode 100755
index 56b3c6b..0000000
--- a/SRC/Boost/boost/variant/detail/bool_trait_def.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost/variant/detail/bool_trait_def.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Needed until move-related traits incorporated into type_traits library.
-// no include guards, the header is intended for multiple inclusion!
-
-// should be the last #include
-#include "boost/type_traits/detail/bool_trait_def.hpp"
-
-#define BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) \
-template< typename T > struct trait \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
-}; \
-/**/
-
-#define BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(arity, name) \
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(arity, name) \
-/**/
diff --git a/SRC/Boost/boost/variant/detail/bool_trait_undef.hpp b/SRC/Boost/boost/variant/detail/bool_trait_undef.hpp
deleted file mode 100755
index 39f5654..0000000
--- a/SRC/Boost/boost/variant/detail/bool_trait_undef.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost/variant/detail/bool_trait_undef.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Needed until move-related traits incorporated into type_traits library.
-// no include guards, the header is intended for multiple inclusion!
-
-// should be the last #include
-#include "boost/type_traits/detail/bool_trait_undef.hpp"
-
-
-#undef BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1
-#undef BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX
diff --git a/SRC/Boost/boost/variant/detail/cast_storage.hpp b/SRC/Boost/boost/variant/detail/cast_storage.hpp
deleted file mode 100755
index de4e9c9..0000000
--- a/SRC/Boost/boost/variant/detail/cast_storage.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/cast_storage.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_CAST_STORAGE_HPP
-#define BOOST_VARIANT_DETAIL_CAST_STORAGE_HPP
-
-#include "boost/config.hpp"
-
-namespace boost {
-namespace detail { namespace variant {
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) function template cast_storage
-//
-// Casts the given storage to the specified type, but with qualification.
-//
-
-template <typename T>
-inline T& cast_storage(
-      void* storage
-      BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(T)
-    )
-{
-    return *static_cast<T*>(storage);
-}
-
-template <typename T>
-inline const T& cast_storage(
-      const void* storage
-      BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(T)
-    )
-{
-    return *static_cast<const T*>(storage);
-}
-
-}} // namespace detail::variant
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_CAST_STORAGE_HPP
diff --git a/SRC/Boost/boost/variant/detail/config.hpp b/SRC/Boost/boost/variant/detail/config.hpp
deleted file mode 100755
index e39a087..0000000
--- a/SRC/Boost/boost/variant/detail/config.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/config.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_CONFIG_HPP
-#define BOOST_VARIANT_DETAIL_CONFIG_HPP
-
-#include "boost/config.hpp"
-#include "boost/detail/workaround.hpp"
-
-///////////////////////////////////////////////////////////////////////////////
-// macro BOOST_VARIANT_AUX_BROKEN_CONSTRUCTOR_TEMPLATE_ORDERING
-//
-#if BOOST_WORKAROUND(__MWERKS__, <= 0x3201) \
- || BOOST_WORKAROUND(BOOST_INTEL, <= 700) \
- || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
- && !defined(BOOST_VARIANT_AUX_BROKEN_CONSTRUCTOR_TEMPLATE_ORDERING)
-#   define BOOST_VARIANT_AUX_BROKEN_CONSTRUCTOR_TEMPLATE_ORDERING
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// macro BOOST_VARIANT_AUX_HAS_CONSTRUCTOR_TEMPLATE_ORDERING_SFINAE_WKND
-//
-#if !defined(BOOST_NO_SFINAE) \
- && !BOOST_WORKAROUND(BOOST_INTEL, <= 700) \
- && !defined(BOOST_VARIANT_AUX_HAS_CONSTRUCTOR_TEMPLATE_ORDERING_SFINAE_WKND)
-#   define BOOST_VARIANT_AUX_HAS_CONSTRUCTOR_TEMPLATE_ORDERING_SFINAE_WKND
-#endif
-
-#endif // BOOST_VARIANT_DETAIL_CONFIG_HPP
diff --git a/SRC/Boost/boost/variant/detail/enable_recursive.hpp b/SRC/Boost/boost/variant/detail/enable_recursive.hpp
deleted file mode 100755
index 3c09361..0000000
--- a/SRC/Boost/boost/variant/detail/enable_recursive.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/enable_recursive.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_ENABLE_RECURSIVE_HPP
-#define BOOST_VARIANT_DETAIL_ENABLE_RECURSIVE_HPP
-
-#include "boost/variant/detail/enable_recursive_fwd.hpp"
-#include "boost/variant/variant_fwd.hpp"
-
-#if !defined(BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT)
-#   include "boost/mpl/apply.hpp"
-#   include "boost/mpl/eval_if.hpp"
-#   include "boost/mpl/lambda.hpp"
-#endif
-
-#include "boost/variant/detail/substitute.hpp"
-#include "boost/mpl/aux_/config/ctps.hpp"
-#include "boost/mpl/bool_fwd.hpp"
-#include "boost/mpl/if.hpp"
-#include "boost/mpl/or.hpp"
-#include "boost/type_traits/is_pointer.hpp"
-#include "boost/type_traits/is_reference.hpp"
-#include "boost/type_traits/is_same.hpp"
-
-#include "boost/variant/recursive_wrapper.hpp"
-
-namespace boost {
-namespace detail { namespace variant {
-
-#if !defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE)
-
-#   define BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL(T,Dest,Source) \
-    substitute< T , Dest , Source > \
-    /**/
-
-#else // defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE)
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class template rebind1
-//
-// Limited workaround in case 'substitute' metafunction unavailable.
-//
-
-template <typename T, typename U1>
-struct rebind1
-{
-private:
-    typedef typename mpl::lambda<
-          mpl::identity<T>
-        >::type le_;
-
-public:
-    typedef typename mpl::eval_if<
-          is_same< le_, mpl::identity<T> >
-        , le_ // identity<T>
-        , mpl::apply1<le_, U1>
-        >::type type;
-};
-
-#   define BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL(T,Dest,Source) \
-    rebind1< T , Dest > \
-    /**/
-
-#endif // !defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE)
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction enable_recursive
-//
-// See boost/variant/detail/enable_recursive_fwd.hpp for more information.
-//
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T, typename RecursiveVariant, typename NoWrapper>
-struct enable_recursive
-    : BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL(
-          T, RecursiveVariant, ::boost::recursive_variant_
-        )
-{
-};
-
-template <typename T, typename RecursiveVariant>
-struct enable_recursive< T,RecursiveVariant,mpl::false_ >
-{
-private: // helpers, for metafunction result (below)
-
-    typedef typename BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL(
-          T, RecursiveVariant, ::boost::recursive_variant_
-        )::type t_;
-
-public: // metafunction result
-
-    // [Wrap with recursive_wrapper only if rebind really changed something:]
-    typedef typename mpl::if_<
-          mpl::or_<
-              is_same< t_,T >
-            , is_reference<t_>
-            , is_pointer<t_>
-            >
-        , t_
-        , boost::recursive_wrapper<t_>
-        >::type type;
-
-};
-
-#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T, typename RecursiveVariant, typename NoWrapper>
-struct enable_recursive
-{
-private: // helpers, for metafunction result (below)
-
-    typedef typename BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL(
-          T, RecursiveVariant, ::boost::recursive_variant_
-        )::type t_;
-
-public: // metafunction result
-
-    // [Wrap with recursive_wrapper only if rebind really changed something:]
-    typedef typename mpl::if_<
-          mpl::or_<
-              NoWrapper
-            , is_same< t_,T >
-            , is_reference<t_>
-            , is_pointer<t_>
-            >
-        , t_
-        , boost::recursive_wrapper<t_>
-        >::type type;
-
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction class quoted_enable_recursive
-//
-// Same behavior as enable_recursive metafunction (see above).
-//
-template <typename RecursiveVariant, typename NoWrapper>
-struct quoted_enable_recursive
-{
-    template <typename T>
-    struct apply
-        : enable_recursive<T, RecursiveVariant, NoWrapper>
-    {
-    };
-};
-
-}} // namespace detail::variant
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_ENABLE_RECURSIVE_HPP
diff --git a/SRC/Boost/boost/variant/detail/enable_recursive_fwd.hpp b/SRC/Boost/boost/variant/detail/enable_recursive_fwd.hpp
deleted file mode 100755
index 06db1f6..0000000
--- a/SRC/Boost/boost/variant/detail/enable_recursive_fwd.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/enable_recursive_fwd.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_ENABLE_RECURSIVE_FWD_HPP
-#define BOOST_VARIANT_DETAIL_ENABLE_RECURSIVE_FWD_HPP
-
-#include "boost/mpl/aux_/config/ctps.hpp"
-
-#include "boost/mpl/bool_fwd.hpp"
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#   include "boost/mpl/bool.hpp"
-#else
-#   include "boost/type_traits/is_base_and_derived.hpp"
-#endif
-
-namespace boost {
-namespace detail { namespace variant {
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) tag recursive_flag
-//
-// Signifies that the variant should perform recursive substituion.
-//
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct recursive_flag
-{
-    typedef T type;
-};
-
-#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-struct recursive_flag_tag
-{
-};
-
-template <typename T>
-struct recursive_flag
-    : recursive_flag_tag
-{
-    typedef T type;
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction is_recursive_flag
-//
-// Signifies that the variant should perform recursive substituion.
-//
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct is_recursive_flag
-    : mpl::false_
-{
-};
-
-template <typename T>
-struct is_recursive_flag< recursive_flag<T> >
-    : mpl::true_
-{
-};
-
-#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct is_recursive_flag
-    : is_base_and_derived< recursive_flag_tag,T >
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction enable_recursive
-//
-// Attempts recursive_variant_ tag substitution, wrapping with
-// boost::recursive_wrapper if substituion occurs w/ non-indirect result
-// (i.e., not a reference or pointer) *and* NoWrapper is false_.
-//
-template <
-      typename T
-    , typename RecursiveVariant
-    , typename NoWrapper = mpl::false_
-    >
-struct enable_recursive;
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction class quoted_enable_recursive
-//
-// Same behavior as enable_recursive metafunction (see above).
-//
-template <
-      typename RecursiveVariant
-    , typename NoWrapper = mpl::false_
-    >
-struct quoted_enable_recursive;
-
-}} // namespace detail::variant
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_ENABLE_RECURSIVE_FWD_HPP
diff --git a/SRC/Boost/boost/variant/detail/forced_return.hpp b/SRC/Boost/boost/variant/detail/forced_return.hpp
deleted file mode 100755
index 1514150..0000000
--- a/SRC/Boost/boost/variant/detail/forced_return.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/forced_return.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_FORCED_RETURN_HPP
-#define BOOST_VARIANT_DETAIL_FORCED_RETURN_HPP
-
-#include "boost/config.hpp"
-#include "boost/variant/detail/generic_result_type.hpp"
-#include "boost/assert.hpp"
-
-#if !defined(BOOST_MSVC) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#   include "boost/type_traits/remove_reference.hpp"
-#endif
-
-namespace boost {
-namespace detail { namespace variant {
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) function template forced_return
-//
-// Logical error to permit invocation at runtime, but (artificially) satisfies
-// compile-time requirement of returning a result value.
-//
-
-#if !defined(BOOST_MSVC)                                \
- && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)  \
- && !defined(BOOST_NO_VOID_RETURNS)
-
-// "standard" implementation:
-
-template <typename T>
-inline T forced_return( BOOST_EXPLICIT_TEMPLATE_TYPE(T) )
-{
-    // logical error: should never be here! (see above)
-    BOOST_ASSERT(false);
-
-    typedef typename boost::remove_reference<T>::type basic_type;
-    basic_type* dummy = 0;
-    return *static_cast< basic_type* >(dummy);
-}
-
-template <>
-inline void forced_return<void>( BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(void) )
-{
-    // logical error: should never be here! (see above)
-    BOOST_ASSERT(false);
-}
-
-#elif !defined(BOOST_MSVC)
-
-// workaround implementation
-//
-// TODO: Determine the most efficient way to handle this -- as below? by
-// throwing? by recursive call to forced_return itself? etc.
-//
-
-template <typename T>
-inline
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(T)
-forced_return( BOOST_EXPLICIT_TEMPLATE_TYPE(T) )
-{
-    // logical error: should never be here! (see above)
-    BOOST_ASSERT(false);
-
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(T) (*dummy)() = 0;
-    return dummy();
-}
-
-#else // defined(BOOST_MSVC)
-
-// msvc-specific implementation
-//
-// Leverages __declspec(noreturn) for optimized implementation.
-//
-
-__declspec(noreturn)
-inline void forced_return_no_return() {};
-
-template <typename T>
-inline
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(T)
-forced_return( BOOST_EXPLICIT_TEMPLATE_TYPE(T) )
-{
-    // logical error: should never be here! (see above)
-    BOOST_ASSERT(false);
-
-    forced_return_no_return();
-}
-
-#endif // BOOST_MSVC optimization
-
-}} // namespace detail::variant
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_FORCED_RETURN_HPP
diff --git a/SRC/Boost/boost/variant/detail/generic_result_type.hpp b/SRC/Boost/boost/variant/detail/generic_result_type.hpp
deleted file mode 100755
index a03e53d..0000000
--- a/SRC/Boost/boost/variant/detail/generic_result_type.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/generic_result_type.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_GENERIC_RESULT_TYPE_HPP
-#define BOOST_VARIANT_DETAIL_GENERIC_RESULT_TYPE_HPP
-
-#include "boost/config.hpp"
-
-//////////////////////////////////////////////////////////////////////////
-// (workaround) macro BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE
-//
-// On compilers with BOOST_NO_VOID_RETURNS, this macro provides a route
-// to a single syntax for dealing with template functions that may (but
-// not necessarily) return nothing (i.e. void).
-//
-// BOOST_VARIANT_AUX_RETURN_VOID provided for compilers w/ (erroneous?)
-// warnings about non-void functions not returning a value.
-//
-
-#if !defined(BOOST_NO_VOID_RETURNS)
-
-#define BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(T) \
-    T   \
-    /**/
-
-#define BOOST_VARIANT_AUX_RETURN_VOID  \
-    /**/
-
-#define BOOST_VARIANT_AUX_RETURN_VOID_TYPE \
-    void    \
-    /**/
-
-#else // defined(BOOST_NO_VOID_RETURNS)
-
-namespace boost {
-namespace detail { namespace variant {
-
-struct fake_return_void
-{
-    fake_return_void()
-    {
-    }
-
-    template <typename T>
-    fake_return_void(const T&)
-    {
-    }
-};
-
-template <typename T>
-struct no_void_returns_helper
-{
-    typedef T type;
-};
-
-template <>
-struct no_void_returns_helper<void>
-{
-    typedef fake_return_void type;
-};
-
-}} // namespace detail::variant
-} // namespace boost
-
-#define BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(T) \
-    BOOST_DEDUCED_TYPENAME                                           \
-        ::boost::detail::variant::no_void_returns_helper< T >::type  \
-    /**/
-
-#define BOOST_VARIANT_AUX_RETURN_VOID  \
-    return ::boost::detail::variant::fake_return_void()     \
-    /**/
-
-#define BOOST_VARIANT_AUX_RETURN_VOID_TYPE  \
-    ::boost::detail::variant::fake_return_void
-
-#endif // BOOST_NO_VOID_RETURNS workaround
-
-#endif // BOOST_VARIANT_DETAIL_GENERIC_RESULT_TYPE_HPP
diff --git a/SRC/Boost/boost/variant/detail/has_nothrow_move.hpp b/SRC/Boost/boost/variant/detail/has_nothrow_move.hpp
deleted file mode 100755
index d15185d..0000000
--- a/SRC/Boost/boost/variant/detail/has_nothrow_move.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-
-// (C) Copyright Eric Friedman 2002-2003.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org for most recent version including documentation.
-
-#ifndef BOOST_VARIANT_DETAIL_HAS_NOTHROW_MOVE_HPP_INCLUDED
-#define BOOST_VARIANT_DETAIL_HAS_NOTHROW_MOVE_HPP_INCLUDED
-
-#include "boost/config.hpp" // for STATIC_CONSTANT
-#include "boost/variant/detail/has_trivial_move.hpp"
-#include "boost/type_traits/has_nothrow_copy.hpp"
-#include "boost/type_traits/has_nothrow_assign.hpp"
-
-#include "boost/mpl/and.hpp"
-#include "boost/mpl/or.hpp"
-
-// should be the last #include
-#include "boost/variant/detail/bool_trait_def.hpp"
-
-namespace boost {
-namespace detail { namespace variant {
-
-// TRAIT: has_nothrow_move
-
-template <typename T>
-struct has_nothrow_move_impl
-{
-    BOOST_STATIC_CONSTANT(
-        bool, value = (
-            ::boost::mpl::or_<
-                has_trivial_move<T>
-              , ::boost::mpl::and_<
-                  has_nothrow_copy<T>
-                , has_nothrow_assign<T>
-                >
-            >::type::value
-            )
-        );
-};
-
-BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(
-      has_nothrow_move
-    , T
-    , (::boost::detail::variant::has_nothrow_move_impl<T>::value)
-    )
-
-
-// TRAIT: has_nothrow_move_constructor
-
-template <typename T>
-struct has_nothrow_move_constructor_impl
-{
-    BOOST_STATIC_CONSTANT(
-        bool, value = (
-            ::boost::mpl::or_<
-              has_nothrow_move<T>
-            , has_trivial_move_constructor<T>
-            , has_nothrow_copy<T>
-            >::type::value
-            )
-        );
-};
-
-BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(
-      has_nothrow_move_constructor
-    , T
-    , (::boost::detail::variant::has_nothrow_move_constructor_impl<T>::value)
-    )
-
-
-// TRAIT: has_nothrow_move_assign
-
-template <typename T>
-struct has_nothrow_move_assign_impl
-{
-    BOOST_STATIC_CONSTANT(
-        bool, value = (
-            ::boost::mpl::or_<
-              has_nothrow_move<T>
-            , has_trivial_move_assign<T>
-            , has_nothrow_assign<T>
-            >::type::value
-            )
-        );
-};
-
-BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(
-      has_nothrow_move_assign
-    , T
-    , (::boost::detail::variant::has_nothrow_move_assign_impl<T>::value)
-    )
-
-}} // namespace detail::variant
-
-BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(1,::boost::detail::variant::has_nothrow_move)
-BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(1,::boost::detail::variant::has_nothrow_move_constructor)
-BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(1,::boost::detail::variant::has_nothrow_move_assign)
-
-} // namespace boost
-
-#include "boost/variant/detail/bool_trait_undef.hpp"
-
-#endif // BOOST_VARIANT_DETAIL_HAS_NOTHROW_MOVE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/variant/detail/has_trivial_move.hpp b/SRC/Boost/boost/variant/detail/has_trivial_move.hpp
deleted file mode 100755
index 39f8917..0000000
--- a/SRC/Boost/boost/variant/detail/has_trivial_move.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-
-// (C) Copyright Eric Friedman 2002-2003.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org for most recent version including documentation.
-
-#ifndef BOOST_VARIANT_DETAIL_HAS_TRIVIAL_MOVE_HPP_INCLUDED
-#define BOOST_VARIANT_DETAIL_HAS_TRIVIAL_MOVE_HPP_INCLUDED
-
-#include "boost/config.hpp" // for STATIC_CONSTANT
-#include "boost/type_traits/has_trivial_copy.hpp"
-#include "boost/type_traits/has_trivial_assign.hpp"
-
-#include "boost/mpl/and.hpp"
-#include "boost/mpl/or.hpp"
-
-// should be the last #include
-#include "boost/variant/detail/bool_trait_def.hpp"
-
-namespace boost {
-namespace detail { namespace variant {
-
-// TRAIT: has_trivial_move
-
-template <typename T>
-struct has_trivial_move_impl
-{
-    BOOST_STATIC_CONSTANT(
-        bool, value = (
-            ::boost::mpl::and_<
-              has_trivial_copy<T>
-            , has_trivial_assign<T>
-            >::type::value
-            )
-        );
-};
-
-BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(
-      has_trivial_move
-    , T
-    , (::boost::detail::variant::has_trivial_move_impl<T>::value)
-    )
-
-
-// TRAIT: has_trivial_move_constructor
-
-template <typename T>
-struct has_trivial_move_constructor_impl
-{
-    BOOST_STATIC_CONSTANT(
-        bool, value = (
-            ::boost::mpl::or_<
-              has_trivial_move<T>
-            , has_trivial_copy<T>
-            >::type::value
-            )
-        );
-};
-
-BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(
-      has_trivial_move_constructor
-    , T
-    , (::boost::detail::variant::has_trivial_move_constructor_impl<T>::value)
-    )
-
-
-// TRAIT: has_trivial_move_assign
-
-template <typename T>
-struct has_trivial_move_assign_impl
-{
-    BOOST_STATIC_CONSTANT(
-        bool, value = (
-            ::boost::mpl::or_<
-              has_trivial_move<T>
-            , has_trivial_assign<T>
-            >::type::value
-            )
-        );
-};
-
-BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(
-      has_trivial_move_assign
-    , T
-    , (::boost::detail::variant::has_trivial_move_assign_impl<T>::value)
-    )
-
-}} // namespace detail::variant
-
-BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(1,::boost::detail::variant::has_trivial_move)
-BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(1,::boost::detail::variant::has_trivial_move_constructor)
-BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(1,::boost::detail::variant::has_trivial_move_assign)
-
-} // namespace boost
-
-#include "boost/variant/detail/bool_trait_undef.hpp"
-
-#endif // BOOST_VARIANT_DETAIL_HAS_TRIVIAL_MOVE_HPP_INCLUDED
diff --git a/SRC/Boost/boost/variant/detail/initializer.hpp b/SRC/Boost/boost/variant/detail/initializer.hpp
deleted file mode 100755
index d763512..0000000
--- a/SRC/Boost/boost/variant/detail/initializer.hpp
+++ /dev/null
@@ -1,265 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/initializer.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002-2003
-// Eric Friedman, Itay Maman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_INITIALIZER_HPP
-#define BOOST_VARIANT_DETAIL_INITIALIZER_HPP
-
-#include <new> // for placement new
-
-#include "boost/config.hpp"
-
-#include "boost/call_traits.hpp"
-#include "boost/detail/reference_content.hpp"
-#include "boost/variant/recursive_wrapper_fwd.hpp"
-
-#if !defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)
-#   include "boost/mpl/aux_/value_wknd.hpp"
-#   include "boost/mpl/int.hpp"
-#   include "boost/mpl/iter_fold.hpp"
-#   include "boost/mpl/next.hpp"
-#   include "boost/mpl/deref.hpp"
-#   include "boost/mpl/pair.hpp"
-#   include "boost/mpl/protect.hpp"
-#else
-#   include "boost/variant/variant_fwd.hpp"
-#   include "boost/preprocessor/cat.hpp"
-#   include "boost/preprocessor/enum.hpp"
-#   include "boost/preprocessor/repeat.hpp"
-#endif
-
-namespace boost {
-namespace detail { namespace variant {
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) support to simulate standard overload resolution rules
-//
-// The below initializers allows variant to follow standard overload
-// resolution rules over the specified set of bounded types.
-//
-// On compilers where using declarations in class templates can correctly
-// avoid name hiding, use an optimal solution based on the variant's typelist.
-//
-// Otherwise, use a preprocessor workaround based on knowledge of the fixed
-// size of the variant's psuedo-variadic template parameter list.
-//
-
-#if !defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)
-
-// (detail) quoted metafunction make_initializer_node
-//
-// Exposes a pair whose first type is a node in the initializer hierarchy.
-//
-struct make_initializer_node
-{
-    template <typename BaseIndexPair, typename Iterator>
-    struct apply
-    {
-    private: // helpers, for metafunction result (below)
-
-        typedef typename BaseIndexPair::first
-            base;
-        typedef typename BaseIndexPair::second
-            index;
-
-        class initializer_node
-            : public base
-        {
-        private: // helpers, for static functions (below)
-
-            typedef typename mpl::deref<Iterator>::type
-                recursive_enabled_T;
-            typedef typename unwrap_recursive<recursive_enabled_T>::type
-                public_T;
-            typedef typename call_traits<public_T>::param_type
-                param_T;
-
-        public: // static functions
-
-            using base::initialize;
-
-            static int initialize(void* dest, param_T operand)
-            {
-                typedef typename boost::detail::make_reference_content<
-                      recursive_enabled_T
-                    >::type internal_T;
-
-                new(dest) internal_T(operand);
-                return BOOST_MPL_AUX_VALUE_WKND(index)::value; // which
-            }
-
-        };
-
-        friend class initializer_node;
-
-    public: // metafunction result
-
-        typedef mpl::pair<
-              initializer_node
-            , typename mpl::next< index >::type
-            > type;
-
-    };
-};
-
-// (detail) class initializer_root
-//
-// Every level of the initializer hierarchy must expose the name
-// "initialize," so initializer_root provides a dummy function:
-//
-class initializer_root
-{
-public: // static functions
-
-    static void initialize();
-
-};
-
-#else // defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)
-
-#   if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) 
-
-    #define BOOST_VARIANT_AUX_PP_INITIALIZER_TEMPLATE_PARAMS \
-          BOOST_VARIANT_ENUM_PARAMS(typename recursive_enabled_T) \
-    /**/
-
-    #define BOOST_VARIANT_AUX_PP_INITIALIZER_DEFINE_PARAM_T(N) \
-        typedef typename unwrap_recursive< \
-              BOOST_PP_CAT(recursive_enabled_T,N) \
-            >::type BOOST_PP_CAT(public_T,N); \
-        typedef typename call_traits< \
-              BOOST_PP_CAT(public_T,N) \
-            >::param_type BOOST_PP_CAT(param_T,N); \
-    /**/
-
-#   else // MSVC7 and below
-
-    #define BOOST_VARIANT_AUX_PP_INITIALIZER_TEMPLATE_PARAMS \
-          BOOST_VARIANT_ENUM_PARAMS(typename recursive_enabled_T) \
-        , BOOST_VARIANT_ENUM_PARAMS(typename param_T) \
-    /**/
-
-    #define BOOST_VARIANT_AUX_PP_INITIALIZER_DEFINE_PARAM_T(N) \
-    /**/
-
-#   endif // MSVC7 and below workaround
-
-template < BOOST_VARIANT_AUX_PP_INITIALIZER_TEMPLATE_PARAMS >
-struct preprocessor_list_initializer
-{
-public: // static functions
-
-    #define BOOST_VARIANT_AUX_PP_INITIALIZE_FUNCTION(z,N,_) \
-        BOOST_VARIANT_AUX_PP_INITIALIZER_DEFINE_PARAM_T(N) \
-        static int initialize( \
-              void* dest \
-            , BOOST_PP_CAT(param_T,N) operand \
-            ) \
-        { \
-            typedef typename boost::detail::make_reference_content< \
-                  BOOST_PP_CAT(recursive_enabled_T,N) \
-                >::type internal_T; \
-            \
-            new(dest) internal_T(operand); \
-            return (N); /*which*/ \
-        } \
-        /**/
-
-    BOOST_PP_REPEAT(
-          BOOST_VARIANT_LIMIT_TYPES
-        , BOOST_VARIANT_AUX_PP_INITIALIZE_FUNCTION
-        , _
-        )
-
-    #undef BOOST_VARIANT_AUX_PP_INITIALIZE_FUNCTION
-
-};
-
-#   if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-
-#if !defined(BOOST_VARIANT_AUX_ECHO)
-#   define BOOST_VARIANT_AUX_ECHO(z,N,token) token
-#endif
-
-template <>
-struct preprocessor_list_initializer<
-      BOOST_PP_ENUM(BOOST_VARIANT_LIMIT_TYPES, BOOST_VARIANT_AUX_ECHO, int)
-    , BOOST_PP_ENUM(BOOST_VARIANT_LIMIT_TYPES, BOOST_VARIANT_AUX_ECHO, const int)
-    >
-{
-};
-
-#   endif // BOOST_MPL_CFG_MSVC_60_ETI_BUG workaround
-
-#endif // BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE workaround
-
-}} // namespace detail::variant
-} // namespace boost
-
-///////////////////////////////////////////////////////////////////////////////
-// macro BOOST_VARIANT_AUX_INITIALIZER_T
-//
-// Given both the variant's typelist and a basename for forming the list of
-// bounded types (i.e., T becomes T1, T2, etc.), exposes the initializer
-// most appropriate to the current compiler.
-//
-
-#if !defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)
-
-#define BOOST_VARIANT_AUX_INITIALIZER_T( mpl_seq, typename_base ) \
-    ::boost::mpl::iter_fold< \
-          mpl_seq \
-        , ::boost::mpl::pair< \
-              ::boost::detail::variant::initializer_root \
-            , ::boost::mpl::int_<0> \
-            > \
-        , ::boost::mpl::protect< \
-              ::boost::detail::variant::make_initializer_node \
-            > \
-        >::type::first \
-    /**/
-
-#else // defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)
-
-#   if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-    #define BOOST_VARIANT_AUX_PP_INITIALIZER_TEMPLATE_ARGS(typename_base) \
-          BOOST_VARIANT_ENUM_PARAMS(typename_base) \
-        /**/
-
-#   else // MSVC7 and below
-
-    #define BOOST_VARIANT_AUX_PP_INITIALIZER_ENUM_PARAM_TYPE(z,N,T) \
-        ::boost::call_traits< \
-              ::boost::unwrap_recursive<BOOST_PP_CAT(T,N)>::type \
-            >::param_type \
-        /**/
-
-    #define BOOST_VARIANT_AUX_PP_INITIALIZER_TEMPLATE_ARGS(typename_base) \
-          BOOST_VARIANT_ENUM_PARAMS(typename_base) \
-        , BOOST_PP_ENUM( \
-              BOOST_VARIANT_LIMIT_TYPES \
-            , BOOST_VARIANT_AUX_PP_INITIALIZER_ENUM_PARAM_TYPE \
-            , typename_base \
-            ) \
-        /**/
-
-#   endif // MSVC7 workaround
-
-#define BOOST_VARIANT_AUX_INITIALIZER_T( mpl_seq, typename_base ) \
-    ::boost::detail::variant::preprocessor_list_initializer< \
-          BOOST_VARIANT_AUX_PP_INITIALIZER_TEMPLATE_ARGS(typename_base) \
-        > \
-    /**/
-
-#endif // BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE workaround
-
-#endif // BOOST_VARIANT_DETAIL_INITIALIZER_HPP
diff --git a/SRC/Boost/boost/variant/detail/make_variant_list.hpp b/SRC/Boost/boost/variant/detail/make_variant_list.hpp
deleted file mode 100755
index 6817b0b..0000000
--- a/SRC/Boost/boost/variant/detail/make_variant_list.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/make_variant_list.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002-2003
-// Eric Friedman, Itay Maman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_MAKE_VARIANT_LIST_HPP
-#define BOOST_VARIANT_DETAIL_MAKE_VARIANT_LIST_HPP
-
-#include "boost/variant/variant_fwd.hpp"
-
-#include "boost/mpl/list.hpp"
-#include "boost/preprocessor/cat.hpp"
-#include "boost/preprocessor/enum.hpp"
-
-namespace boost {
-namespace detail { namespace variant {
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction make_variant_list
-//
-// Provides a MPL-compatible sequence with the specified non-void types
-// as arguments.
-//
-// Rationale: see class template convert_void (variant_fwd.hpp) and using-
-// declaration workaround (below).
-//
-template < BOOST_VARIANT_ENUM_PARAMS(typename T) >
-struct make_variant_list
-{
-public: // metafunction result
-
-    // [Define a macro to convert any void(NN) tags to mpl::void...]
-#   define BOOST_VARIANT_AUX_CONVERT_VOID(z, N,_)  \
-        typename convert_void< BOOST_PP_CAT(T,N) >::type
-
-    // [...so that the specified types can be passed to mpl::list...]
-    typedef typename mpl::list< 
-          BOOST_PP_ENUM(
-              BOOST_VARIANT_LIMIT_TYPES
-            , BOOST_VARIANT_AUX_CONVERT_VOID
-            , _
-            )
-        >::type type;
-
-    // [...and, finally, the conversion macro can be undefined:]
-#   undef BOOST_VARIANT_AUX_CONVERT_VOID
-
-};
-
-}} // namespace detail::variant
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_MAKE_VARIANT_LIST_HPP
diff --git a/SRC/Boost/boost/variant/detail/move.hpp b/SRC/Boost/boost/variant/detail/move.hpp
deleted file mode 100755
index 666f195..0000000
--- a/SRC/Boost/boost/variant/detail/move.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/move.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-//  Copyright (c) 2002-2003 Eric Friedman
-//  Copyright (c) 2002 by Andrei Alexandrescu
-//
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-//  This file derivative of MoJO. Much thanks to Andrei for his initial work.
-//  See <http://www.cuj.com/experts/2102/alexandr.htm> for information on MOJO.
-//  Re-issued here under the Boost Software License, with permission of the original
-//  author (Andrei Alexandrescu).
-
-
-#ifndef BOOST_VARIANT_DETAIL_MOVE_HPP
-#define BOOST_VARIANT_DETAIL_MOVE_HPP
-
-#include <iterator> // for iterator_traits
-#include <new> // for placement new
-
-#include "boost/config.hpp"
-#include "boost/detail/workaround.hpp"
-#include "boost/mpl/if.hpp"
-#include "boost/type_traits/is_base_and_derived.hpp"
-
-namespace boost {
-namespace detail { namespace variant {
-
-//////////////////////////////////////////////////////////////////////////
-// forward declares
-//
-// NOTE: Incomplete until (if?) Boost.Move becomes part of Boost.
-//
-template <typename Deriving> class moveable;
-template <typename T>        class move_source;
-template <typename T>        class move_return;
-
-namespace detail {
-
-// (detail) moveable_tag
-//
-// Concrete type from which moveable<T> derives.
-//
-// TODO: Move into moveable_fwd.hpp and define has_move_constructor.
-//
-template <typename Deriving>
-struct moveable_tag
-{
-};
-
-} // namespace detail
-
-//////////////////////////////////////////////////////////////////////////
-// function template move
-//
-// Takes a T& and returns, if T derives moveable<T>, a move_source<T> for
-// the object; else, returns the T&.
-//
-
-namespace detail {
-
-// (detail) class template move_type
-//
-// Metafunction that, given moveable T, provides move_source<T>, else T&.
-//
-template <typename T>
-struct move_type
-{
-public: // metafunction result
-
-    typedef typename mpl::if_<
-          is_base_and_derived<detail::moveable_tag<T>, T>
-        , move_source<T>
-        , T&
-        >::type type;
-
-};
-
-} // namespace detail
-
-template <typename T>
-inline
-    typename detail::move_type<T>::type
-move(T& source)
-{
-    typedef typename detail::move_type<T>::type
-        move_t;
-
-    return move_t(source);
-}
-
-//////////////////////////////////////////////////////////////////////////
-// class template return_t
-//
-// Metafunction that, given moveable T, provides move_return<T>, else T.
-//
-template <typename T>
-struct return_t
-{
-public: // metafunction result
-
-    typedef typename mpl::if_<
-          is_base_and_derived<moveable<T>, T>
-        , move_return<T>
-        , T
-        >::type type;
-
-};
-
-//////////////////////////////////////////////////////////////////////////
-// function template move_swap
-//
-// Swaps using Koenig lookup but falls back to move-swap for primitive
-// types and on non-conforming compilers.
-//
-
-#if   defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)   \
- ||   BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(2))
-
-// [Indicate that move_swap by overload is disabled...]
-#define BOOST_NO_MOVE_SWAP_BY_OVERLOAD
-
-// [...and provide straight swap-by-move implementation:]
-template <typename T>
-inline void move_swap(T& lhs, T& rhs)
-{
-    T tmp( boost::detail::variant::move(lhs) );
-    lhs = boost::detail::variant::move(rhs);
-    rhs = boost::detail::variant::move(tmp);
-}
-
-#else// !workaround
-
-namespace detail { namespace move_swap {
-
-template <typename T>
-inline void swap(T& lhs, T& rhs)
-{
-    T tmp( boost::detail::variant::move(lhs) );
-    lhs = boost::detail::variant::move(rhs);
-    rhs = boost::detail::variant::move(tmp);
-}
-
-}} // namespace detail::move_swap
-
-template <typename T>
-inline void move_swap(T& lhs, T& rhs)
-{
-    using detail::move_swap::swap;
-
-    swap(lhs, rhs);
-}
-
-#endif // workaround
-
-}} // namespace detail::variant
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_MOVE_HPP
-
-
-
diff --git a/SRC/Boost/boost/variant/detail/over_sequence.hpp b/SRC/Boost/boost/variant/detail/over_sequence.hpp
deleted file mode 100755
index 805c2c2..0000000
--- a/SRC/Boost/boost/variant/detail/over_sequence.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/over_sequence.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Portions Copyright (C) 2002 David Abrahams
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP
-#define BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP
-
-#include "boost/mpl/aux_/config/ctps.hpp"
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#   include "boost/mpl/eval_if.hpp"
-#   include "boost/mpl/bool.hpp"
-#   include "boost/mpl/identity.hpp"
-#   include "boost/type.hpp"
-#endif
-
-
-namespace boost {
-namespace detail { namespace variant {
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class over_sequence
-//
-// Wrapper used to indicate bounded types for variant are from type sequence.
-//
-template <typename Types>
-struct over_sequence
-{
-    typedef Types type;
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction is_over_sequence (modeled on code by David Abrahams)
-//
-// Indicates whether the specified type is of form over_sequence<...> or not.
-//
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct is_over_sequence
-    : mpl::false_
-{
-};
-
-template <typename Types>
-struct is_over_sequence< over_sequence<Types> >
-    : mpl::true_
-{
-};
-
-#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-typedef char (&yes_over_sequence_t)[1];
-typedef char (&no_over_sequence_t)[2];
-
-no_over_sequence_t is_over_sequence_test(...);
-
-template<typename T>
-yes_over_sequence_t is_over_sequence_test(
-      type< ::boost::detail::variant::over_sequence<T> >
-    );
-
-template<typename T>
-struct is_over_sequence_impl
-{
-    BOOST_STATIC_CONSTANT(bool, value = (
-          sizeof(is_over_sequence_test(type<T>()))
-          == sizeof(yes_over_sequence_t)
-        ));
-};
-
-template <typename T>
-struct is_over_sequence
-    : mpl::bool_<
-          ::boost::detail::variant::is_over_sequence_impl<T>::value
-        >
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround
-
-}} // namespace detail::variant
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_OVER_SEQUENCE_HPP
diff --git a/SRC/Boost/boost/variant/detail/substitute.hpp b/SRC/Boost/boost/variant/detail/substitute.hpp
deleted file mode 100755
index 7ac3193..0000000
--- a/SRC/Boost/boost/variant/detail/substitute.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-//-----------------------------------------------------------------------------
-// boost variant/detail/substitute.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_SUBSTITUTE_HPP
-#define BOOST_VARIANT_DETAIL_SUBSTITUTE_HPP
-
-#include "boost/mpl/aux_/config/ctps.hpp"
-
-#include "boost/variant/detail/substitute_fwd.hpp"
-#include "boost/mpl/aux_/lambda_arity_param.hpp"
-#include "boost/mpl/aux_/preprocessor/params.hpp"
-#include "boost/mpl/aux_/preprocessor/repeat.hpp"
-#include "boost/mpl/int_fwd.hpp"
-#include "boost/mpl/limits/arity.hpp"
-#include "boost/preprocessor/cat.hpp"
-#include "boost/preprocessor/empty.hpp"
-#include "boost/preprocessor/arithmetic/inc.hpp"
-#include "boost/preprocessor/iterate.hpp"
-
-namespace boost {
-namespace detail { namespace variant {
-
-#if !defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE)
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction substitute
-//
-// Substitutes one type for another in the given type expression.
-//
-
-//
-// primary template
-//
-template <
-      typename T, typename Dest, typename Source
-      BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
-          typename Arity /* = ... (see substitute_fwd.hpp) */
-        )
-    >
-struct substitute
-{
-    typedef T type;
-};
-
-//
-// tag substitution specializations
-//
-
-#define BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL_SUBSTITUTE_TAG(CV_) \
-    template <typename Dest, typename Source> \
-    struct substitute< \
-          CV_ Source \
-        , Dest \
-        , Source \
-          BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(mpl::int_<-1>) \
-        > \
-    { \
-        typedef CV_ Dest type; \
-    }; \
-    /**/
-
-BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL_SUBSTITUTE_TAG( BOOST_PP_EMPTY() )
-BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL_SUBSTITUTE_TAG(const)
-BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL_SUBSTITUTE_TAG(volatile)
-BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL_SUBSTITUTE_TAG(const volatile)
-
-#undef BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL_SUBSTITUTE_TAG
-
-//
-// pointer specializations
-//
-#define BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL_HANDLE_POINTER(CV_) \
-    template <typename T, typename Dest, typename Source> \
-    struct substitute< \
-          T * CV_ \
-        , Dest \
-        , Source \
-          BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(mpl::int_<-1>) \
-        > \
-    { \
-        typedef typename substitute< \
-              T, Dest, Source \
-            >::type * CV_ type; \
-    }; \
-    /**/
-
-BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL_HANDLE_POINTER( BOOST_PP_EMPTY() )
-BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL_HANDLE_POINTER(const)
-BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL_HANDLE_POINTER(volatile)
-BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL_HANDLE_POINTER(const volatile)
-
-#undef BOOST_VARIANT_AUX_ENABLE_RECURSIVE_IMPL_HANDLE_POINTER
-
-//
-// reference specializations
-//
-template <typename T, typename Dest, typename Source>
-struct substitute<
-      T&
-    , Dest
-    , Source
-      BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(mpl::int_<-1>)
-    >
-{
-    typedef typename substitute<
-          T, Dest, Source
-        >::type & type;
-};
-
-//
-// template expression (i.e., F<...>) specializations
-//
-
-#define BOOST_VARIANT_AUX_SUBSTITUTE_TYPEDEF_IMPL(N) \
-    typedef typename substitute< \
-          BOOST_PP_CAT(U,N), Dest, Source \
-        >::type BOOST_PP_CAT(u,N); \
-    /**/
-
-#define BOOST_VARIANT_AUX_SUBSTITUTE_TYPEDEF(z, N, _) \
-    BOOST_VARIANT_AUX_SUBSTITUTE_TYPEDEF_IMPL( BOOST_PP_INC(N) ) \
-    /**/
-
-#define BOOST_PP_ITERATION_LIMITS (0,BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
-#define BOOST_PP_FILENAME_1 "boost/variant/detail/substitute.hpp"
-#include BOOST_PP_ITERATE()
-
-#undef BOOST_VARIANT_AUX_SUBSTITUTE_TYPEDEF_IMPL
-#undef BOOST_VARIANT_AUX_SUBSTITUTE_TYPEDEF
-
-#endif // !defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE)
-
-}} // namespace detail::variant
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_SUBSTITUTE_HPP
-
-///// iteration, depth == 1
-
-#elif BOOST_PP_ITERATION_DEPTH() == 1
-#define i BOOST_PP_FRAME_ITERATION(1)
-
-#if i > 0
-
-//
-// template specializations
-//
-template <
-      template < BOOST_MPL_PP_PARAMS(i,typename P) > class T
-    , BOOST_MPL_PP_PARAMS(i,typename U)
-    , typename Dest
-    , typename Source
-    >
-struct substitute<
-      T< BOOST_MPL_PP_PARAMS(i,U) >
-    , Dest
-    , Source
-      BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(mpl::int_<( i )>)
-    >
-{
-private:
-    BOOST_MPL_PP_REPEAT(i, BOOST_VARIANT_AUX_SUBSTITUTE_TYPEDEF, _)
-
-public:
-    typedef T< BOOST_MPL_PP_PARAMS(i,u) > type;
-};
-
-//
-// function specializations
-//
-template <
-      typename R
-    , BOOST_MPL_PP_PARAMS(i,typename U)
-    , typename Dest
-    , typename Source
-    >
-struct substitute<
-      R (*)( BOOST_MPL_PP_PARAMS(i,U) )
-    , Dest
-    , Source
-      BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(mpl::int_<-1>)
-    >
-{
-private:
-    typedef typename substitute< R, Dest, Source >::type r;
-    BOOST_MPL_PP_REPEAT(i, BOOST_VARIANT_AUX_SUBSTITUTE_TYPEDEF, _)
-
-public:
-    typedef r (*type)( BOOST_MPL_PP_PARAMS(i,u) );
-};
-
-#elif i == 0
-
-//
-// zero-arg function specialization
-//
-template <
-      typename R, typename Dest, typename Source
-    >
-struct substitute<
-      R (*)( void )
-    , Dest
-    , Source
-      BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(mpl::int_<-1>)
-    >
-{
-private:
-    typedef typename substitute< R, Dest, Source >::type r;
-
-public:
-    typedef r (*type)( void );
-};
-
-#endif // i
-
-#undef i
-#endif // BOOST_PP_IS_ITERATING
diff --git a/SRC/Boost/boost/variant/detail/substitute_fwd.hpp b/SRC/Boost/boost/variant/detail/substitute_fwd.hpp
deleted file mode 100755
index fb89d61..0000000
--- a/SRC/Boost/boost/variant/detail/substitute_fwd.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/substitute_fwd.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_SUBSTITUTE_FWD_HPP
-#define BOOST_VARIANT_DETAIL_SUBSTITUTE_FWD_HPP
-
-#include "boost/mpl/aux_/lambda_arity_param.hpp"
-#include "boost/mpl/aux_/template_arity.hpp"
-#include "boost/mpl/int_fwd.hpp"
-
-
-///////////////////////////////////////////////////////////////////////////////
-// BOOST_VARIANT_DETAIL_NO_SUBSTITUTE
-//
-// Defined if 'substitute' is not implementable on the current compiler.
-//
-
-#include "boost/mpl/aux_/config/ctps.hpp"
-#include "boost/mpl/aux_/config/ttp.hpp"
-
-#if defined(BOOST_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
- || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE)
-#   define BOOST_VARIANT_DETAIL_NO_SUBSTITUTE
-#endif
-
-namespace boost {
-namespace detail { namespace variant {
-
-#if !defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE)
-
-///////////////////////////////////////////////////////////////////////////////
-// metafunction substitute
-//
-// Substitutes one type for another in the given type expression.
-//
-template <
-      typename T, typename Dest, typename Source
-      BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
-          typename Arity = mpl::int_< mpl::aux::template_arity<T>::value >
-        )
-    >
-struct substitute;
-
-#endif // !defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE)
-
-}} // namespace detail::variant
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_SUBSTITUTE_FWD_HPP
diff --git a/SRC/Boost/boost/variant/detail/variant_io.hpp b/SRC/Boost/boost/variant/detail/variant_io.hpp
deleted file mode 100755
index 8c60628..0000000
--- a/SRC/Boost/boost/variant/detail/variant_io.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/variant_io.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002-2003
-// Eric Friedman, Itay Maman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_VARIANT_IO_HPP
-#define BOOST_VARIANT_DETAIL_VARIANT_IO_HPP
-
-#include <iosfwd> // for std::basic_ostream forward declare
-
-#include "boost/variant/variant_fwd.hpp"
-
-#include "boost/detail/templated_streams.hpp"
-#include "boost/variant/static_visitor.hpp"
-
-namespace boost {
-
-///////////////////////////////////////////////////////////////////////////////
-// function template operator<<
-//
-// Outputs the content of the given variant to the given ostream.
-//
-
-// forward declare (allows output of embedded variant< variant< ... >, ... >)
-template <
-      BOOST_TEMPLATED_STREAM_ARGS(E,T)
-    BOOST_TEMPLATED_STREAM_COMMA
-      BOOST_VARIANT_ENUM_PARAMS(typename U)
-    >
-inline BOOST_TEMPLATED_STREAM(ostream, E,T)& operator<<(
-      BOOST_TEMPLATED_STREAM(ostream, E,T)& out
-    , const variant< BOOST_VARIANT_ENUM_PARAMS(U) >& rhs
-    );
-
-namespace detail { namespace variant {
-
-template <typename OStream>
-class printer
-    : public boost::static_visitor<>
-{
-private: // representation
-
-    OStream& out_;
-
-public: // structors
-
-    explicit printer(OStream& out)
-        : out_( out )
-    {
-    }
-
-public: // visitor interface
-
-    template <typename T>
-    void operator()(const T& operand) const
-    {
-        out_ << operand;
-    }
-
-private:
-    printer& operator=(const printer&);
-
-};
-
-}} // namespace detail::variant
-
-template <
-      BOOST_TEMPLATED_STREAM_ARGS(E,T)
-    BOOST_TEMPLATED_STREAM_COMMA
-      BOOST_VARIANT_ENUM_PARAMS(typename U)
-    >
-inline BOOST_TEMPLATED_STREAM(ostream, E,T)& operator<<(
-      BOOST_TEMPLATED_STREAM(ostream, E,T)& out
-    , const variant< BOOST_VARIANT_ENUM_PARAMS(U) >& rhs
-    )
-{
-    detail::variant::printer<
-          BOOST_TEMPLATED_STREAM(ostream, E,T)
-        > visitor(out);
-
-    rhs.apply_visitor(visitor);
-
-    return out;
-}
-
-} // namespace boost
-
-#endif // BOOST_VARIANT_DETAIL_VARIANT_IO_HPP
diff --git a/SRC/Boost/boost/variant/detail/visitation_impl.hpp b/SRC/Boost/boost/variant/detail/visitation_impl.hpp
deleted file mode 100755
index 6c6c63c..0000000
--- a/SRC/Boost/boost/variant/detail/visitation_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/detail/visitation_impl.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_DETAIL_VISITATION_IMPL_HPP
-#define BOOST_VARIANT_DETAIL_VISITATION_IMPL_HPP
-
-#include "boost/config.hpp"
-
-#include "boost/variant/detail/backup_holder.hpp"
-#include "boost/variant/detail/cast_storage.hpp"
-#include "boost/variant/detail/forced_return.hpp"
-#include "boost/variant/detail/generic_result_type.hpp"
-
-#include "boost/assert.hpp"
-#include "boost/mpl/eval_if.hpp"
-#include "boost/mpl/bool.hpp"
-#include "boost/mpl/identity.hpp"
-#include "boost/mpl/int.hpp"
-#include "boost/mpl/next.hpp"
-#include "boost/mpl/deref.hpp"
-#include "boost/mpl/or.hpp"
-#include "boost/preprocessor/cat.hpp"
-#include "boost/preprocessor/inc.hpp"
-#include "boost/preprocessor/repeat.hpp"
-#include "boost/type_traits/is_same.hpp"
-#include "boost/type_traits/has_nothrow_copy.hpp"
-#include "boost/variant/detail/has_nothrow_move.hpp"
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) 
-# pragma warning (push) 
-# pragma warning (disable : 4702) //unreachable code 
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// BOOST_VARIANT_VISITATION_UNROLLING_LIMIT
-//
-// Unrolls variant's visitation mechanism to reduce template instantiation
-// and potentially increase runtime performance. (TODO: Investigate further.)
-//
-#if !defined(BOOST_VARIANT_VISITATION_UNROLLING_LIMIT)
-#   define BOOST_VARIANT_VISITATION_UNROLLING_LIMIT   \
-        BOOST_VARIANT_LIMIT_TYPES
-#endif
-
-namespace boost {
-namespace detail { namespace variant {
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class apply_visitor_unrolled
-//
-// Tag type indicates when visitation_impl is unrolled.
-//
-struct apply_visitor_unrolled {};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class template visitation_impl_step
-//
-// "Never ending" iterator range facilitates visitation_impl unrolling.
-//
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename Iter, typename LastIter>
-struct visitation_impl_step
-{
-    typedef typename mpl::deref<Iter>::type type;
-
-    typedef typename mpl::next<Iter>::type next_iter;
-    typedef visitation_impl_step<
-          next_iter, LastIter
-        > next;
-};
-
-template <typename LastIter>
-struct visitation_impl_step< LastIter,LastIter >
-{
-    typedef apply_visitor_unrolled type;
-    typedef visitation_impl_step next;
-};
-
-#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename Iter, typename LastIter>
-struct visitation_impl_step
-{
-    typedef typename mpl::eval_if<
-          is_same<Iter, LastIter>
-        , mpl::identity<apply_visitor_unrolled>
-        , Iter
-        >::type type;
-
-    typedef typename mpl::eval_if<
-          is_same<type, apply_visitor_unrolled> //is_same<Iter, LastIter>
-        , mpl::identity<LastIter>
-        , mpl::next<Iter>
-        >::type next_iter;
-
-    typedef visitation_impl_step<
-          next_iter, LastIter
-        > next;
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) function template visitation_impl_invoke
-//
-// Invokes the given visitor on the specified type in the given storage.
-//
-
-template <typename Visitor, typename VoidPtrCV, typename T>
-inline
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename Visitor::result_type)
-visitation_impl_invoke_impl(
-      int, Visitor& visitor, VoidPtrCV storage, T*
-    , mpl::true_// never_uses_backup
-    )
-{
-    return visitor.internal_visit(
-          cast_storage<T>(storage), 1L
-        );
-}
-
-template <typename Visitor, typename VoidPtrCV, typename T>
-inline
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename Visitor::result_type)
-visitation_impl_invoke_impl(
-      int internal_which, Visitor& visitor, VoidPtrCV storage, T*
-    , mpl::false_// never_uses_backup
-    )
-{
-    if (internal_which >= 0)
-    {
-        return visitor.internal_visit(
-              cast_storage<T>(storage), 1L
-            );
-    }
-    else
-    {
-        return visitor.internal_visit(
-              cast_storage< backup_holder<T> >(storage), 1L
-            );
-    }
-}
-
-template <typename Visitor, typename VoidPtrCV, typename T, typename NoBackupFlag>
-inline
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename Visitor::result_type)
-visitation_impl_invoke(
-      int internal_which, Visitor& visitor, VoidPtrCV storage, T* t
-    , NoBackupFlag
-    , int
-    )
-{
-    typedef typename mpl::or_<
-          NoBackupFlag
-        , has_nothrow_move_constructor<T>
-        , has_nothrow_copy<T>
-        >::type never_uses_backup;
-
-    return (visitation_impl_invoke_impl)(
-          internal_which, visitor, storage, t
-        , never_uses_backup()
-        );
-}
-
-template <typename Visitor, typename VoidPtrCV, typename NBF>
-inline
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename Visitor::result_type)
-visitation_impl_invoke(int, Visitor&, VoidPtrCV, apply_visitor_unrolled*, NBF, long)
-{
-    // should never be here at runtime:
-    BOOST_ASSERT(false);
-    typedef typename Visitor::result_type result_type;
-    return ::boost::detail::variant::forced_return< result_type >();
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) function template visitation_impl
-//
-// Invokes the given visitor on the type in the given variant storage.
-//
-
-template <
-      typename W, typename S
-    , typename Visitor, typename VPCV
-    , typename NBF
-    >
-inline
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename Visitor::result_type)
-visitation_impl(
-      int, int, Visitor&, VPCV
-    , mpl::true_ // is_apply_visitor_unrolled
-    , NBF, W* = 0, S* = 0
-    )
-{
-    // should never be here at runtime:
-    BOOST_ASSERT(false);
-    typedef typename Visitor::result_type result_type;
-    return ::boost::detail::variant::forced_return< result_type >();
-}
-
-template <
-      typename Which, typename step0
-    , typename Visitor, typename VoidPtrCV
-    , typename NoBackupFlag
-    >
-inline
-    BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(typename Visitor::result_type)
-visitation_impl(
-      const int internal_which, const int logical_which
-    , Visitor& visitor, VoidPtrCV storage
-    , mpl::false_ // is_apply_visitor_unrolled
-    , NoBackupFlag no_backup_flag
-    , Which* = 0, step0* = 0
-    )
-{
-    // Typedef apply_visitor_unrolled steps and associated types...
-#   define BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_TYPEDEF(z, N, _) \
-    typedef typename BOOST_PP_CAT(step,N)::type BOOST_PP_CAT(T,N); \
-    typedef typename BOOST_PP_CAT(step,N)::next \
-        BOOST_PP_CAT(step, BOOST_PP_INC(N)); \
-    /**/
-
-    BOOST_PP_REPEAT(
-          BOOST_VARIANT_VISITATION_UNROLLING_LIMIT
-        , BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_TYPEDEF
-        , _
-        )
-
-#   undef BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_TYPEDEF
-
-    // ...switch on the target which-index value...
-    switch (logical_which)
-    {
-
-    // ...applying the appropriate case:
-#   define BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_CASE(z, N, _) \
-    case (Which::value + (N)): \
-        return (visitation_impl_invoke)( \
-              internal_which, visitor, storage \
-            , static_cast<BOOST_PP_CAT(T,N)*>(0) \
-            , no_backup_flag, 1L \
-            ); \
-    /**/
-
-    BOOST_PP_REPEAT(
-          BOOST_VARIANT_VISITATION_UNROLLING_LIMIT
-        , BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_CASE
-        , _
-        )
-
-#   undef BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_CASE
-
-    default: BOOST_ASSERT(!"Boost.Variant internal error: 'which' out of range.");
-    }
-
-    // If not handled in this iteration, continue unrolling:
-    typedef mpl::int_<
-          Which::value + (BOOST_VARIANT_VISITATION_UNROLLING_LIMIT)
-        > next_which;
-
-    typedef BOOST_PP_CAT(step, BOOST_VARIANT_VISITATION_UNROLLING_LIMIT)
-        next_step;
-
-    typedef typename next_step::type next_type;
-    typedef typename is_same< next_type,apply_visitor_unrolled >::type
-        is_apply_visitor_unrolled;
-
-    return visitation_impl(
-          internal_which, logical_which
-        , visitor, storage
-        , is_apply_visitor_unrolled()
-        , no_backup_flag
-        , static_cast<next_which*>(0), static_cast<next_step*>(0)
-        );
-}
-
-}} // namespace detail::variant
-} // namespace boost
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)  
-# pragma warning(pop)  
-#endif 
-
-#endif // BOOST_VARIANT_DETAIL_VISITATION_IMPL_HPP
diff --git a/SRC/Boost/boost/variant/get.hpp b/SRC/Boost/boost/variant/get.hpp
deleted file mode 100755
index a4b3f1a..0000000
--- a/SRC/Boost/boost/variant/get.hpp
+++ /dev/null
@@ -1,202 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/get.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman, Itay Maman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_GET_HPP
-#define BOOST_VARIANT_GET_HPP
-
-#include <exception>
-
-#include "boost/config.hpp"
-#include "boost/detail/workaround.hpp"
-#include "boost/utility/addressof.hpp"
-#include "boost/variant/variant_fwd.hpp"
-
-#include "boost/type_traits/add_reference.hpp"
-#include "boost/type_traits/add_pointer.hpp"
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-#   include "boost/mpl/bool.hpp"
-#   include "boost/mpl/or.hpp"
-#   include "boost/type_traits/is_same.hpp"
-#endif
-
-namespace boost {
-
-//////////////////////////////////////////////////////////////////////////
-// class bad_get
-//
-// The exception thrown in the event of a failed get of a value.
-//
-class bad_get
-    : public std::exception
-{
-public: // std::exception implementation
-
-    virtual const char * what() const throw()
-    {
-        return "boost::bad_get: "
-               "failed value get using boost::get";
-    }
-
-};
-
-//////////////////////////////////////////////////////////////////////////
-// function template get<T>
-//
-// Retrieves content of given variant object if content is of type T.
-// Otherwise: pointer ver. returns 0; reference ver. throws bad_get.
-//
-
-namespace detail { namespace variant {
-
-// (detail) class template get_visitor
-//
-// Generic static visitor that: if the value is of the specified type,
-// returns a pointer to the value it visits; else a null pointer.
-//
-template <typename T>
-struct get_visitor
-{
-private: // private typedefs
-
-    typedef typename add_pointer<T>::type pointer;
-    typedef typename add_reference<T>::type reference;
-
-public: // visitor typedefs
-
-    typedef pointer result_type;
-
-public: // visitor interfaces
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-    pointer operator()(reference operand) const
-    {
-        return boost::addressof(operand);
-    }
-
-    template <typename U>
-    pointer operator()(const U&) const
-    {
-        return static_cast<pointer>(0);
-    }
-
-#else // MSVC6
-
-private: // helpers, for visitor interfaces (below)
-
-    pointer execute_impl(reference operand, mpl::true_) const
-    {
-        return boost::addressof(operand);
-    }
-
-    template <typename U>
-    pointer execute_impl(const U& operand, mpl::false_) const
-    {
-        return static_cast<pointer>(0);
-    }
-
-public: // visitor interfaces
-
-    template <typename U>
-    pointer operator()(U& operand) const
-    {
-        // MSVC6 finds normal implementation (above) ambiguous,
-        // so we must explicitly disambiguate
-
-        typedef typename mpl::or_<
-              is_same<U, T>
-            , is_same<const U, T>
-            >::type U_is_T;
-
-        return execute_impl(operand, U_is_T());
-    }
-
-#endif // MSVC6 workaround
-
-};
-
-}} // namespace detail::variant
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0551))
-#   define BOOST_VARIANT_AUX_GET_EXPLICIT_TEMPLATE_TYPE(t)  \
-    BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)
-#else
-#   define BOOST_VARIANT_AUX_GET_EXPLICIT_TEMPLATE_TYPE(t)  \
-    , t* = 0
-#endif
-
-template <typename U, BOOST_VARIANT_ENUM_PARAMS(typename T) >
-inline
-    typename add_pointer<U>::type
-get(
-      boost::variant< BOOST_VARIANT_ENUM_PARAMS(T) >* operand
-      BOOST_VARIANT_AUX_GET_EXPLICIT_TEMPLATE_TYPE(U)
-    )
-{
-    typedef typename add_pointer<U>::type U_ptr;
-    if (!operand) return static_cast<U_ptr>(0);
-
-    detail::variant::get_visitor<U> v;
-    return operand->apply_visitor(v);
-}
-
-template <typename U, BOOST_VARIANT_ENUM_PARAMS(typename T) >
-inline
-    typename add_pointer<const U>::type
-get(
-      const boost::variant< BOOST_VARIANT_ENUM_PARAMS(T) >* operand
-      BOOST_VARIANT_AUX_GET_EXPLICIT_TEMPLATE_TYPE(U)
-    )
-{
-    typedef typename add_pointer<const U>::type U_ptr;
-    if (!operand) return static_cast<U_ptr>(0);
-
-    detail::variant::get_visitor<const U> v;
-    return operand->apply_visitor(v);
-}
-
-template <typename U, BOOST_VARIANT_ENUM_PARAMS(typename T) >
-inline
-    typename add_reference<U>::type
-get(
-      boost::variant< BOOST_VARIANT_ENUM_PARAMS(T) >& operand
-      BOOST_VARIANT_AUX_GET_EXPLICIT_TEMPLATE_TYPE(U)
-    )
-{
-    typedef typename add_pointer<U>::type U_ptr;
-    U_ptr result = get<U>(&operand);
-
-    if (!result)
-        throw bad_get();
-    return *result;
-}
-
-template <typename U, BOOST_VARIANT_ENUM_PARAMS(typename T) >
-inline
-    typename add_reference<const U>::type
-get(
-      const boost::variant< BOOST_VARIANT_ENUM_PARAMS(T) >& operand
-      BOOST_VARIANT_AUX_GET_EXPLICIT_TEMPLATE_TYPE(U)
-    )
-{
-    typedef typename add_pointer<const U>::type U_ptr;
-    U_ptr result = get<const U>(&operand);
-
-    if (!result)
-        throw bad_get();
-    return *result;
-}
-
-} // namespace boost
-
-#endif // BOOST_VARIANT_GET_HPP
diff --git a/SRC/Boost/boost/variant/recursive_variant.hpp b/SRC/Boost/boost/variant/recursive_variant.hpp
deleted file mode 100755
index 9c9f0e4..0000000
--- a/SRC/Boost/boost/variant/recursive_variant.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/recursive_variant.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_RECURSIVE_VARIANT_HPP
-#define BOOST_VARIANT_RECURSIVE_VARIANT_HPP
-
-#include "boost/variant/variant_fwd.hpp"
-#include "boost/variant/detail/enable_recursive.hpp"
-#include "boost/variant/detail/substitute_fwd.hpp"
-#include "boost/variant/detail/make_variant_list.hpp"
-#include "boost/variant/detail/over_sequence.hpp"
-
-#include "boost/mpl/aux_/lambda_arity_param.hpp"
-
-#include "boost/mpl/equal.hpp"
-#include "boost/mpl/eval_if.hpp"
-#include "boost/mpl/identity.hpp"
-#include "boost/mpl/if.hpp"
-#include "boost/mpl/protect.hpp"
-#include "boost/mpl/transform.hpp"
-#include "boost/type_traits/is_same.hpp"
-#include "boost/preprocessor/cat.hpp"
-#include "boost/preprocessor/repeat.hpp"
-
-#include "boost/mpl/bool.hpp"
-#include "boost/mpl/is_sequence.hpp"
-#include "boost/variant/variant.hpp"
-
-namespace boost {
-
-namespace detail { namespace variant {
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction specialization substitute
-//
-// Handles embedded variant types when substituting for recursive_variant_.
-//
-
-#if !defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE)
-
-template <
-      BOOST_VARIANT_ENUM_PARAMS(typename T)
-    , typename RecursiveVariant
-      BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(typename Arity)
-    >
-struct substitute<
-      ::boost::variant<
-          recursive_flag< T0 >
-        , BOOST_VARIANT_ENUM_SHIFTED_PARAMS(T)
-        >
-    , RecursiveVariant
-    , ::boost::recursive_variant_
-      BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(Arity)
-    >
-{
-    typedef ::boost::variant<
-          recursive_flag< T0 >
-        , BOOST_VARIANT_ENUM_SHIFTED_PARAMS(T)
-        > type;
-};
-
-template <
-      BOOST_VARIANT_ENUM_PARAMS(typename T)
-    , typename RecursiveVariant
-      BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(typename Arity)
-    >
-struct substitute<
-      ::boost::variant<
-          ::boost::detail::variant::over_sequence< T0 >
-        , BOOST_VARIANT_ENUM_SHIFTED_PARAMS(T)
-        >
-    , RecursiveVariant
-    , ::boost::recursive_variant_
-      BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(Arity)
-    >
-{
-private:
-
-    typedef T0 initial_types;
-
-    typedef typename mpl::transform<
-          initial_types
-        , mpl::protect< quoted_enable_recursive<RecursiveVariant,mpl::true_> >
-        >::type types;
-
-public:
-
-    typedef typename mpl::if_<
-          mpl::equal<initial_types, types, ::boost::is_same<mpl::_1, mpl::_2> >
-        , ::boost::variant<
-              ::boost::detail::variant::over_sequence< T0 >
-            , BOOST_VARIANT_ENUM_SHIFTED_PARAMS(T)
-            >
-        , ::boost::variant< over_sequence<types> >
-        >::type type;
-};
-
-template <
-      BOOST_VARIANT_ENUM_PARAMS(typename T)
-    , typename RecursiveVariant
-      BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(typename Arity)
-    >
-struct substitute<
-      ::boost::variant< BOOST_VARIANT_ENUM_PARAMS(T) >
-    , RecursiveVariant
-    , ::boost::recursive_variant_
-      BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(Arity)
-    >
-{
-private: // helpers, for metafunction result (below)
-
-    #define BOOST_VARIANT_AUX_ENABLE_RECURSIVE_TYPEDEFS(z,N,_)  \
-        typedef typename enable_recursive<   \
-              BOOST_PP_CAT(T,N)              \
-            , RecursiveVariant               \
-            , mpl::true_                     \
-            >::type BOOST_PP_CAT(wknd_T,N);  \
-        /**/
-
-    BOOST_PP_REPEAT(
-          BOOST_VARIANT_LIMIT_TYPES
-        , BOOST_VARIANT_AUX_ENABLE_RECURSIVE_TYPEDEFS
-        , _
-        )
-
-    #undef BOOST_VARIANT_AUX_ENABLE_RECURSIVE_TYPEDEFS
-
-public: // metafunction result
-
-    typedef ::boost::variant< BOOST_VARIANT_ENUM_PARAMS(wknd_T) > type;
-};
-
-#else // defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE)
-
-//
-// no specializations: embedded variants unsupported on these compilers!
-//
-
-#endif // !defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE)
-
-}} // namespace detail::variant
-
-///////////////////////////////////////////////////////////////////////////////
-// metafunction make_recursive_variant
-//
-// See docs and boost/variant/variant_fwd.hpp for more information.
-//
-template < BOOST_VARIANT_ENUM_PARAMS(typename T) >
-struct make_recursive_variant
-{
-public: // metafunction result
-
-    typedef boost::variant<
-          detail::variant::recursive_flag< T0 >
-        , BOOST_VARIANT_ENUM_SHIFTED_PARAMS(T)
-        > type;
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// metafunction make_recursive_variant_over
-//
-// See docs and boost/variant/variant_fwd.hpp for more information.
-//
-template <typename Types>
-struct make_recursive_variant_over
-{
-private: // precondition assertions
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    BOOST_STATIC_ASSERT(( ::boost::mpl::is_sequence<Types>::value ));
-#endif
-
-public: // metafunction result
-
-    typedef typename make_recursive_variant<
-          detail::variant::over_sequence< Types >
-        >::type type;
-
-};
-
-} // namespace boost
-
-#endif // BOOST_VARIANT_RECURSIVE_VARIANT_HPP
diff --git a/SRC/Boost/boost/variant/recursive_wrapper.hpp b/SRC/Boost/boost/variant/recursive_wrapper.hpp
deleted file mode 100755
index 04c61c9..0000000
--- a/SRC/Boost/boost/variant/recursive_wrapper.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/recursive_wrapper.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002-2003
-// Eric Friedman, Itay Maman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_RECURSIVE_WRAPPER_HPP
-#define BOOST_VARIANT_RECURSIVE_WRAPPER_HPP
-
-#include "boost/variant/recursive_wrapper_fwd.hpp"
-#include "boost/checked_delete.hpp"
-
-namespace boost {
-
-//////////////////////////////////////////////////////////////////////////
-// class template recursive_wrapper
-//
-// See docs and recursive_wrapper_fwd.hpp for more information.
-//
-
-template <typename T>
-class recursive_wrapper
-{
-public: // typedefs
-
-    typedef T type;
-
-private: // representation
-
-    T* p_;
-
-public: // structors
-
-    ~recursive_wrapper();
-    recursive_wrapper();
-
-    recursive_wrapper(const recursive_wrapper& operand);
-    recursive_wrapper(const T& operand);
-
-private: // helpers, for modifiers (below)
-
-    void assign(const T& rhs);
-
-public: // modifiers
-
-    recursive_wrapper& operator=(const recursive_wrapper& rhs)
-    {
-        assign( rhs.get() );
-        return *this;
-    }
-
-    recursive_wrapper& operator=(const T& rhs)
-    {
-        assign( rhs );
-        return *this;
-    }
-
-    void swap(recursive_wrapper& operand)
-    {
-        T* temp = operand.p_;
-        operand.p_ = p_;
-        p_ = temp;
-    }
-
-public: // queries
-
-    T& get() { return *get_pointer(); }
-    const T& get() const { return *get_pointer(); }
-
-    T* get_pointer() { return p_; }
-    const T* get_pointer() const { return p_; }
-
-};
-
-template <typename T>
-recursive_wrapper<T>::~recursive_wrapper()
-{
-    boost::checked_delete(p_);
-}
-
-template <typename T>
-recursive_wrapper<T>::recursive_wrapper()
-    : p_(new T)
-{
-}
-
-template <typename T>
-recursive_wrapper<T>::recursive_wrapper(const recursive_wrapper& operand)
-    : p_(new T( operand.get() ))
-{
-}
-
-template <typename T>
-recursive_wrapper<T>::recursive_wrapper(const T& operand)
-    : p_(new T(operand))
-{
-}
-
-template <typename T>
-void recursive_wrapper<T>::assign(const T& rhs)
-{
-    this->get() = rhs;
-}
-
-// function template swap
-//
-// Swaps two recursive_wrapper<T> objects of the same type T.
-//
-template <typename T>
-inline void swap(recursive_wrapper<T>& lhs, recursive_wrapper<T>& rhs)
-{
-    lhs.swap(rhs);
-}
-
-} // namespace boost
-
-#endif // BOOST_VARIANT_RECURSIVE_WRAPPER_HPP
diff --git a/SRC/Boost/boost/variant/recursive_wrapper_fwd.hpp b/SRC/Boost/boost/variant/recursive_wrapper_fwd.hpp
deleted file mode 100755
index 12a8bfe..0000000
--- a/SRC/Boost/boost/variant/recursive_wrapper_fwd.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/recursive_wrapper_fwd.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002
-// Eric Friedman, Itay Maman
-//
-// Portions Copyright (C) 2002 David Abrahams
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_RECURSIVE_WRAPPER_FWD_HPP
-#define BOOST_VARIANT_RECURSIVE_WRAPPER_FWD_HPP
-
-#include "boost/mpl/aux_/config/ctps.hpp"
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#   include "boost/mpl/eval_if.hpp"
-#   include "boost/mpl/bool.hpp"
-#   include "boost/mpl/identity.hpp"
-#   include "boost/type.hpp"
-#endif
-
-#include "boost/mpl/aux_/lambda_support.hpp"
-
-// should be the last #include
-#include "boost/type_traits/detail/bool_trait_def.hpp"
-
-namespace boost {
-
-//////////////////////////////////////////////////////////////////////////
-// class template recursive_wrapper
-//
-// Enables recursive types in templates by breaking cyclic dependencies.
-//
-// For example:
-//
-//   class my;
-//
-//   typedef variant< int, recursive_wrapper<my> > var;
-//
-//   class my {
-//     var var_;
-//     ...
-//   };
-//
-template <typename T> class recursive_wrapper;
-
-///////////////////////////////////////////////////////////////////////////////
-// metafunction is_recursive_wrapper (modeled on code by David Abrahams)
-//
-// True iff specified type matches recursive_wrapper<T>.
-//
-
-namespace detail {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct is_recursive_wrapper_impl
-    : mpl::false_
-{
-};
-
-template <typename T>
-struct is_recursive_wrapper_impl< recursive_wrapper<T> >
-    : mpl::true_
-{
-};
-
-#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-typedef char (&yes_recursive_wrapper_t)[1];
-typedef char (&no_recursive_wrapper_t)[2];
-
-no_recursive_wrapper_t is_recursive_wrapper_test(...);
-
-template<typename T>
-yes_recursive_wrapper_t is_recursive_wrapper_test(
-      type< ::boost::recursive_wrapper<T> >
-    );
-
-template<typename T>
-struct is_recursive_wrapper_impl
-{
-    BOOST_STATIC_CONSTANT(bool, value = (
-          sizeof(is_recursive_wrapper_test(type<T>()))
-          == sizeof(yes_recursive_wrapper_t)
-        ));
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
-      is_recursive_wrapper
-    , T
-    , (::boost::detail::is_recursive_wrapper_impl<T>::value)
-    )
-
-///////////////////////////////////////////////////////////////////////////////
-// metafunction unwrap_recursive
-//
-// If specified type T matches recursive_wrapper<U>, then U; else T.
-//
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct unwrap_recursive
-{
-    typedef T type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,unwrap_recursive,(T))
-};
-
-template <typename T>
-struct unwrap_recursive< recursive_wrapper<T> >
-{
-    typedef T type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,unwrap_recursive,(T))
-};
-
-#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct unwrap_recursive
-    : mpl::eval_if<
-          is_recursive_wrapper<T>
-        , T
-        , mpl::identity< T >
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,unwrap_recursive,(T))
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround
-
-} // namespace boost
-
-#include "boost/type_traits/detail/bool_trait_undef.hpp"
-
-#endif // BOOST_VARIANT_RECURSIVE_WRAPPER_FWD_HPP
diff --git a/SRC/Boost/boost/variant/static_visitor.hpp b/SRC/Boost/boost/variant/static_visitor.hpp
deleted file mode 100755
index 9a89f9c..0000000
--- a/SRC/Boost/boost/variant/static_visitor.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/static_visitor.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002-2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_STATIC_VISITOR_HPP
-#define BOOST_VARIANT_STATIC_VISITOR_HPP
-
-#include "boost/config.hpp"
-#include "boost/detail/workaround.hpp"
-
-#include "boost/mpl/if.hpp"
-#include "boost/type_traits/is_base_and_derived.hpp"
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-#   include "boost/type_traits/is_same.hpp"
-#endif
-
-// should be the last #include
-#include "boost/type_traits/detail/bool_trait_def.hpp"
-
-namespace boost {
-
-//////////////////////////////////////////////////////////////////////////
-// class template static_visitor
-//
-// An empty base class that typedefs the return type of a deriving static
-// visitor. The class is analogous to std::unary_function in this role.
-//
-
-namespace detail {
-
-    struct is_static_visitor_tag { };
-
-    typedef void static_visitor_default_return;
-
-} // namespace detail
-
-template <typename R = ::boost::detail::static_visitor_default_return>
-class static_visitor
-    : public detail::is_static_visitor_tag
-{
-public: // typedefs
-
-    typedef R result_type;
-
-protected: // for use as base class only
-
-    static_visitor() { }
-    ~static_visitor() { }
-
-};
-
-//////////////////////////////////////////////////////////////////////////
-// metafunction is_static_visitor
-//
-// Value metafunction indicates whether the specified type derives from
-// static_visitor<...>.
-//
-// NOTE #1: This metafunction does NOT check whether the specified type
-//  fulfills the requirements of the StaticVisitor concept.
-//
-// NOTE #2: This template never needs to be specialized!
-//
-
-namespace detail {
-
-template <typename T>
-struct is_static_visitor_impl
-{
-    BOOST_STATIC_CONSTANT(bool, value = 
-        (::boost::is_base_and_derived< 
-            detail::is_static_visitor_tag,
-            T
-        >::value));
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
-      is_static_visitor
-    , T
-    , (::boost::detail::is_static_visitor_impl<T>::value)
-    )
-
-} // namespace boost
-
-#include "boost/type_traits/detail/bool_trait_undef.hpp"
-
-#endif // BOOST_VARIANT_STATIC_VISITOR_HPP
diff --git a/SRC/Boost/boost/variant/variant.hpp b/SRC/Boost/boost/variant/variant.hpp
deleted file mode 100755
index d78bda1..0000000
--- a/SRC/Boost/boost/variant/variant.hpp
+++ /dev/null
@@ -1,1895 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/variant.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002-2003
-// Eric Friedman, Itay Maman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_VARIANT_HPP
-#define BOOST_VARIANT_VARIANT_HPP
-
-#include <cstddef> // for std::size_t
-#include <new> // for placement new
-
-#if !defined(BOOST_NO_TYPEID)
-#include <typeinfo> // for typeid, std::type_info
-#endif // BOOST_NO_TYPEID
-
-#include "boost/variant/detail/config.hpp"
-#include "boost/mpl/aux_/config/eti.hpp"
-#include "boost/mpl/aux_/value_wknd.hpp"
-
-#include "boost/variant/variant_fwd.hpp"
-#include "boost/variant/detail/backup_holder.hpp"
-#include "boost/variant/detail/enable_recursive_fwd.hpp"
-#include "boost/variant/detail/forced_return.hpp"
-#include "boost/variant/detail/initializer.hpp"
-#include "boost/variant/detail/make_variant_list.hpp"
-#include "boost/variant/detail/over_sequence.hpp"
-#include "boost/variant/detail/visitation_impl.hpp"
-
-#include "boost/variant/detail/generic_result_type.hpp"
-#include "boost/variant/detail/has_nothrow_move.hpp"
-#include "boost/variant/detail/move.hpp"
-
-#include "boost/detail/reference_content.hpp"
-#include "boost/aligned_storage.hpp"
-#include "boost/blank.hpp"
-#include "boost/math/common_factor_ct.hpp"
-#include "boost/static_assert.hpp"
-#include "boost/preprocessor/cat.hpp"
-#include "boost/preprocessor/repeat.hpp"
-#include "boost/type_traits/alignment_of.hpp"
-#include "boost/type_traits/add_const.hpp"
-#include "boost/type_traits/has_nothrow_constructor.hpp"
-#include "boost/type_traits/has_nothrow_copy.hpp"
-#include "boost/type_traits/is_const.hpp"
-#include "boost/type_traits/is_same.hpp"
-#include "boost/utility/enable_if.hpp"
-#include "boost/variant/recursive_wrapper_fwd.hpp"
-#include "boost/variant/static_visitor.hpp"
-
-#include "boost/mpl/assert.hpp"
-#include "boost/mpl/begin_end.hpp"
-#include "boost/mpl/bool.hpp"
-#include "boost/mpl/deref.hpp"
-#include "boost/mpl/empty.hpp"
-#include "boost/mpl/eval_if.hpp"
-#include "boost/mpl/find_if.hpp"
-#include "boost/mpl/fold.hpp"
-#include "boost/mpl/front.hpp"
-#include "boost/mpl/identity.hpp"
-#include "boost/mpl/if.hpp"
-#include "boost/mpl/int.hpp"
-#include "boost/mpl/is_sequence.hpp"
-#include "boost/mpl/iterator_range.hpp"
-#include "boost/mpl/iter_fold_if.hpp"
-#include "boost/mpl/logical.hpp"
-#include "boost/mpl/max_element.hpp"
-#include "boost/mpl/next.hpp"
-#include "boost/mpl/not.hpp"
-#include "boost/mpl/pair.hpp"
-#include "boost/mpl/protect.hpp"
-#include "boost/mpl/push_front.hpp"
-#include "boost/mpl/same_as.hpp"
-#include "boost/mpl/size_t.hpp"
-#include "boost/mpl/sizeof.hpp"
-#include "boost/mpl/transform.hpp"
-
-///////////////////////////////////////////////////////////////////////////////
-// Implementation Macros:
-//
-// BOOST_VARIANT_VISITATION_UNROLLING_LIMIT
-//   Defined in boost/variant/detail/visitation_impl.hpp.
-//
-// BOOST_VARIANT_MINIMIZE_SIZE
-//   When #defined, implementation employs all known means to minimize the
-//   size of variant obje   cts. However, often unsuccessful due to alignment
-//   issues, and potentially harmful to runtime speed, so not enabled by
-//   default. (TODO: Investigate further.)
-
-#if defined(BOOST_VARIANT_MINIMIZE_SIZE)
-#   include <climits> // for SCHAR_MAX
-#   include "boost/mpl/eval_if.hpp"
-#   include "boost/mpl/equal_to.hpp"
-#   include "boost/mpl/identity.hpp"
-#   include "boost/mpl/int.hpp"
-#   include "boost/mpl/if.hpp"
-#   include "boost/mpl/less.hpp"
-#   include "boost/mpl/long.hpp"
-#   include "boost/mpl/O1_size.hpp"
-#endif
-
-
-namespace boost {
-
-namespace detail { namespace variant {
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction max_value
-//
-// Finds the maximum value of the unary metafunction F over Sequence.
-//
-template <typename Sequence, typename F>
-struct max_value
-{
-private: // helpers, for metafunction result (below)
-
-    typedef typename mpl::transform1<Sequence, F>::type transformed_;
-    typedef typename mpl::max_element<transformed_
-          
-        >::type max_it;
-
-public: // metafunction result
-
-    typedef typename mpl::deref<max_it>::type
-        type;
-
-};
-
-struct add_alignment
-{
-    template <typename State, typename Item>
-    struct apply
-        : mpl::size_t<
-              ::boost::math::static_lcm<
-                  BOOST_MPL_AUX_VALUE_WKND(State)::value
-                , ::boost::alignment_of<Item>::value
-                >::value
-            >
-    {};
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction find_fallback_type
-//
-// Provides a fallback (i.e., nothrow default-constructible) type from the
-// specified sequence, or no_fallback_type if not found.
-//
-// This implementation is designed to prefer boost::blank over other potential
-// fallback types, regardless of its position in the specified sequence.
-//
-
-class no_fallback_type;
-
-struct find_fallback_type_pred
-{
-    template <typename Iterator>
-    struct apply
-    {
-    private:
-        typedef typename mpl::deref<Iterator>::type t_;
-
-    public:
-        typedef mpl::not_< has_nothrow_constructor<t_> > type;
-    };
-};
-
-template <typename Types>
-struct find_fallback_type
-{
-private: // helpers, for metafunction result (below)
-
-    typedef typename mpl::end<Types>::type end_it;
-
-    // [Find the first suitable fallback type...]
-
-    typedef typename mpl::iter_fold_if<
-          Types
-        , mpl::int_<0>, mpl::protect< mpl::next<> >
-        , mpl::protect< find_fallback_type_pred >
-        >::type first_result_;
-
-    typedef typename first_result_::first first_result_index;
-    typedef typename first_result_::second first_result_it;
-
-    // [...now search the rest of the sequence for boost::blank...]
-
-    typedef typename mpl::iter_fold_if<
-          mpl::iterator_range< first_result_it,end_it >
-        , first_result_index, mpl::protect< mpl::next<> >
-        , mpl::protect< mpl::not_same_as<boost::blank> >
-        >::type second_result_;
-
-    typedef typename second_result_::second second_result_it;
-
-public: // metafunction result
-
-    // [...and return the results of the search:]
-    typedef typename mpl::eval_if<
-          is_same< second_result_it,end_it >
-        , mpl::if_<
-              is_same< first_result_it,end_it >
-            , mpl::pair< no_fallback_type,no_fallback_type >
-            , first_result_
-            >
-        , mpl::identity< second_result_ >
-        >::type type;
-
-};
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-
-template<>
-struct find_fallback_type<int>
-{
-    typedef mpl::pair< no_fallback_type,no_fallback_type > type;
-};
-
-#endif // BOOST_MPL_CFG_MSVC_60_ETI_BUG workaround
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction make_storage
-//
-// Provides an aligned storage type capable of holding any of the types
-// specified in the given type-sequence.
-//
-
-template <typename Types, typename NeverUsesBackupFlag>
-struct make_storage
-{
-private: // helpers, for metafunction result (below)
-
-    typedef typename mpl::eval_if<
-          NeverUsesBackupFlag
-        , mpl::identity< Types >
-        , mpl::push_front<
-              Types, backup_holder<void*>
-            >
-        >::type types;
-
-    typedef typename max_value<
-          types, mpl::sizeof_<mpl::_1>
-        >::type max_size;
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0551))
-
-    typedef typename mpl::fold<
-          types
-        , mpl::size_t<1>
-        , add_alignment
-        >::type max_alignment;
-
-#else // borland
-
-    // temporary workaround -- use maximal alignment
-    typedef mpl::size_t< -1 > max_alignment;
-
-#endif // borland workaround
-
-public: // metafunction result
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-    typedef ::boost::aligned_storage<
-          BOOST_MPL_AUX_VALUE_WKND(max_size)::value
-        , BOOST_MPL_AUX_VALUE_WKND(max_alignment)::value
-        > type;
-
-#else // MSVC7 and below
-
-    BOOST_STATIC_CONSTANT(std::size_t, msvc_max_size_c = max_size::value);
-    BOOST_STATIC_CONSTANT(std::size_t, msvc_max_alignment_c = max_alignment::value);
-
-    typedef ::boost::aligned_storage<
-          msvc_max_size_c
-        , msvc_max_alignment_c
-        > type;
-
-#endif // MSVC workaround
-
-};
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-
-template<>
-struct make_storage<int,int>
-{
-    typedef int type;
-};
-
-#endif // BOOST_MPL_CFG_MSVC_60_ETI_BUG workaround
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class destroyer
-//
-// Internal visitor that destroys the value it visits.
-//
-struct destroyer
-    : public static_visitor<>
-{
-public: // visitor interfaces
-
-    template <typename T>
-        BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-    internal_visit(T& operand, int) const
-    {
-        operand.~T();
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0551)) || \
-    BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
-        operand; // suppresses warnings
-#endif
-
-        BOOST_VARIANT_AUX_RETURN_VOID;
-    }
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class template known_get
-//
-// Visitor that returns a reference to content of the specified type.
-//
-// Precondition: visited variant MUST contain logical content of type T.
-//
-template <typename T>
-class known_get
-    : public static_visitor<T&>
-{
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-public: // visitor interface
-
-    T& operator()(T& operand) const
-    {
-        return operand;
-    }
-
-    template <typename U>
-    T& operator()(U&) const
-    {
-        // logical error to be here: see precondition above
-        BOOST_ASSERT(false);
-        return ::boost::detail::variant::forced_return< T& >();
-    }
-
-#else // MSVC6
-
-private: // helpers, for visitor interface (below)
-
-    T& execute(T& operand, mpl::true_) const
-    {
-        return operand;
-    }
-
-    template <typename U>
-    T& execute(U& operand, mpl::false_) const
-    {
-        // logical error to be here: see precondition above
-        BOOST_ASSERT(false);
-        return ::boost::detail::variant::forced_return< T& >();
-    }
-
-public: // visitor interface
-
-    template <typename U>
-    T& operator()(U& operand) const
-    {
-        typedef typename is_same< U,T >::type
-            U_is_T;
-
-        return execute(operand, U_is_T());
-    }
-
-#endif // MSVC6 workaround
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class copy_into
-//
-// Internal visitor that copies the value it visits into the given buffer.
-//
-class copy_into
-    : public static_visitor<>
-{
-private: // representation
-
-    void* storage_;
-
-public: // structors
-
-    explicit copy_into(void* storage)
-        : storage_(storage)
-    {
-    }
-
-public: // internal visitor interface
-
-    template <typename T>
-        BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-    internal_visit(boost::detail::variant::backup_holder<T>& operand, long) const
-    {
-        new(storage_) T( operand.get() );
-        BOOST_VARIANT_AUX_RETURN_VOID;
-    }
-
-    template <typename T>
-        BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-    internal_visit(const boost::detail::variant::backup_holder<T>& operand, long) const
-    {
-        new(storage_) T( operand.get() );
-        BOOST_VARIANT_AUX_RETURN_VOID;
-    }
-
-    template <typename T>
-        BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-    internal_visit(const T& operand, int) const
-    {
-        new(storage_) T(operand);
-        BOOST_VARIANT_AUX_RETURN_VOID;
-    }
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class assign_storage
-//
-// Internal visitor that assigns the given storage (which must be a
-// constructed value of the same type) to the value it visits.
-//
-struct assign_storage
-    : public static_visitor<>
-{
-private: // representation
-
-    const void* rhs_storage_;
-
-public: // structors
-
-    explicit assign_storage(const void* rhs_storage)
-        : rhs_storage_(rhs_storage)
-    {
-    }
-
-public: // internal visitor interfaces
-
-    template <typename T>
-        BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-    internal_visit(backup_holder<T>& lhs_content, long) const
-    {
-        lhs_content.get()
-            = static_cast< const backup_holder<T>* >(rhs_storage_)->get();
-        BOOST_VARIANT_AUX_RETURN_VOID;
-    }
-
-    template <typename T>
-        BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-    internal_visit(const backup_holder<T>& lhs_content, long) const
-    {
-        lhs_content.get()
-            = static_cast< const backup_holder<T>* >(rhs_storage_)->get();
-        BOOST_VARIANT_AUX_RETURN_VOID;
-    }
-
-    template <typename T>
-        BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-    internal_visit(T& lhs_content, int) const
-    {
-        // NOTE TO USER :
-        // Compile error here indicates one of variant's bounded types does
-        // not meet the requirements of the Assignable concept. Thus,
-        // variant is not Assignable.
-        //
-        // Hint: Are any of the bounded types const-qualified or references?
-        //
-        lhs_content = *static_cast< const T* >(rhs_storage_);
-        BOOST_VARIANT_AUX_RETURN_VOID;
-    }
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class direct_assigner
-//
-// Generic static visitor that: if and only if the visited value is of the
-// specified type, assigns the given value to the visited value and returns
-// true; else returns false.
-//
-template <typename T>
-class direct_assigner
-    : public static_visitor<bool>
-{
-private: // representation
-
-    const T& rhs_;
-
-public: // structors
-
-    explicit direct_assigner(const T& rhs)
-        : rhs_(rhs)
-    {
-    }
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-public: // visitor interface
-
-    bool operator()(T& lhs)
-    {
-        lhs = rhs_;
-        return true;
-    }
-
-    template <typename U>
-    bool operator()(U&)
-    {
-        return false;
-    }
-
-#else // MSVC6
-
-private: // helpers, for visitor interface (below)
-
-    bool execute(T& lhs, mpl::true_)
-    {
-        lhs = rhs_;
-        return true;
-    }
-
-    template <typename U>
-    bool execute(U&, mpl::false_)
-    {
-        return false;
-    }
-
-public: // visitor interface
-
-    template <typename U>
-    bool operator()(U& lhs)
-    {
-        typedef typename is_same<U,T>::type U_is_T;
-        return execute(lhs, U_is_T());
-    }
-
-#endif // MSVC6 workaround
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
-private:
-    // silence MSVC warning C4512: assignment operator could not be generated
-    direct_assigner& operator= (direct_assigner const&);
-#endif
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class backup_assigner
-//
-// Internal visitor that "assigns" the given value to the visited value,
-// using backup to recover if the destroy-copy sequence fails.
-//
-// NOTE: This needs to be a friend of variant, as it needs access to
-// indicate_which, indicate_backup_which, etc.
-//
-template <typename Variant>
-class backup_assigner
-    : public static_visitor<>
-{
-private: // representation
-
-    Variant& lhs_;
-    int rhs_which_;
-    const void* rhs_content_;
-    void (*copy_rhs_content_)(void*, const void*);
-
-public: // structors
-
-    template<class RhsT>
-    backup_assigner(Variant& lhs, int rhs_which, const RhsT& rhs_content)
-        : lhs_(lhs)
-        , rhs_which_(rhs_which)
-        , rhs_content_(&rhs_content)
-        , copy_rhs_content_(&construct_impl<RhsT>)
-    {
-    }
-
-private: // helpers, for visitor interface (below)
-
-    template<class RhsT>
-    static void construct_impl(void* addr, const void* obj)
-    {
-        new(addr) RhsT(*static_cast<const RhsT*>(obj));
-    }
-
-    template <typename LhsT>
-    void backup_assign_impl(
-          LhsT& lhs_content
-        , mpl::true_// has_nothrow_move
-        )
-    {
-        // Move lhs content to backup...
-        LhsT backup_lhs_content(
-              ::boost::detail::variant::move(lhs_content)
-            ); // nothrow
-
-        // ...destroy lhs content...
-        lhs_content.~LhsT(); // nothrow
-
-        try
-        {
-            // ...and attempt to copy rhs content into lhs storage:
-            copy_rhs_content_(lhs_.storage_.address(), rhs_content_);
-        }
-        catch (...)
-        {
-            // In case of failure, restore backup content to lhs storage...
-            new(lhs_.storage_.address())
-                LhsT(
-                      ::boost::detail::variant::move(backup_lhs_content)
-                    ); // nothrow
-
-            // ...and rethrow:
-            throw;
-        }
-
-        // In case of success, indicate new content type:
-        lhs_.indicate_which(rhs_which_); // nothrow
-    }
-
-    template <typename LhsT>
-    void backup_assign_impl(
-          LhsT& lhs_content
-        , mpl::false_// has_nothrow_move
-        )
-    {
-        // Backup lhs content...
-        LhsT* backup_lhs_ptr = new LhsT(lhs_content);
-
-        // ...destroy lhs content...
-        lhs_content.~LhsT(); // nothrow
-
-        try
-        {
-            // ...and attempt to copy rhs content into lhs storage:
-            copy_rhs_content_(lhs_.storage_.address(), rhs_content_);
-        }
-        catch (...)
-        {
-            // In case of failure, copy backup pointer to lhs storage...
-            new(lhs_.storage_.address())
-                backup_holder<LhsT>( backup_lhs_ptr ); // nothrow
-
-            // ...indicate now using backup...
-            lhs_.indicate_backup_which( lhs_.which() ); // nothrow
-
-            // ...and rethrow:
-            throw;
-        }
-
-        // In case of success, indicate new content type...
-        lhs_.indicate_which(rhs_which_); // nothrow
-
-        // ...and delete backup:
-        delete backup_lhs_ptr; // nothrow
-    }
-
-public: // visitor interface
-
-    template <typename LhsT>
-        BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-    internal_visit(LhsT& lhs_content, int)
-    {
-        typedef typename has_nothrow_move_constructor<LhsT>::type
-            nothrow_move;
-
-        backup_assign_impl( lhs_content, nothrow_move() );
-
-        BOOST_VARIANT_AUX_RETURN_VOID;
-    }
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
-private:
-    // silence MSVC warning C4512: assignment operator could not be generated
-    backup_assigner& operator= (backup_assigner const&);
-#endif
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class swap_with
-//
-// Visitor that swaps visited value with content of given variant.
-//
-// Precondition: Given variant MUST have same logical type as visited value.
-//
-template <typename Variant>
-struct swap_with
-    : public static_visitor<>
-{
-private: // representation
-
-    Variant& toswap_;
-
-public: // structors
-
-    explicit swap_with(Variant& toswap)
-        : toswap_(toswap)
-    {
-    }
-
-public: // internal visitor interfaces
-
-    template <typename T>
-    void operator()(T& operand) const
-    {
-        // Since the precondition ensures types are same, get T...
-        known_get<T> getter;
-        T& other = toswap_.apply_visitor(getter);
-
-        // ...and swap:
-        ::boost::detail::variant::move_swap( operand, other );
-    }
-
-private:
-    swap_with& operator=(const swap_with&);
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class reflect
-//
-// Generic static visitor that performs a typeid on the value it visits.
-//
-
-#if !defined(BOOST_NO_TYPEID)
-
-class reflect
-    : public static_visitor<const std::type_info&>
-{
-public: // visitor interfaces
-
-    template <typename T>
-    const std::type_info& operator()(const T&) const
-    {
-        return typeid(T);
-    }
-
-};
-
-#endif // BOOST_NO_TYPEID
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class comparer
-//
-// Generic static visitor that compares the content of the given lhs variant
-// with the visited rhs content using Comp.
-//
-// Precondition: lhs.which() == rhs.which()
-//
-template <typename Variant, typename Comp>
-class comparer
-    : public static_visitor<bool>
-{
-private: // representation
-
-    const Variant& lhs_;
-
-public: // structors
-
-    explicit comparer(const Variant& lhs)
-        : lhs_(lhs)
-    {
-    }
-
-public: // visitor interfaces
-
-    template <typename T>
-    bool operator()(const T& rhs_content) const
-    {
-        // Since the precondition ensures lhs and rhs types are same, get T...
-        known_get<const T> getter;
-        const T& lhs_content = lhs_.apply_visitor(getter);
-
-        // ...and compare lhs and rhs contents:
-        return Comp()(lhs_content, rhs_content);
-    }
-
-private:
-    comparer& operator=(const comparer&);
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class equal_comp
-//
-// Generic function object compares lhs with rhs using operator==.
-//
-struct equal_comp
-{
-    template <typename T>
-    bool operator()(const T& lhs, const T& rhs) const
-    {
-        return lhs == rhs;
-    }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class less_comp
-//
-// Generic function object compares lhs with rhs using operator<.
-//
-struct less_comp
-{
-    template <typename T>
-    bool operator()(const T& lhs, const T& rhs) const
-    {
-        return lhs < rhs;
-    }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class template invoke_visitor
-//
-// Internal visitor that invokes the given visitor using:
-//  * for wrappers (e.g., recursive_wrapper), the wrapper's held value.
-//  * for all other values, the value itself.
-//
-template <typename Visitor>
-class invoke_visitor
-{
-private: // representation
-
-    Visitor& visitor_;
-
-public: // visitor typedefs
-
-    typedef typename Visitor::result_type
-        result_type;
-
-public: // structors
-
-    explicit invoke_visitor(Visitor& visitor)
-        : visitor_(visitor)
-    {
-    }
-
-#if !defined(BOOST_NO_VOID_RETURNS)
-
-public: // internal visitor interfaces
-
-    template <typename T>
-    result_type internal_visit(T& operand, int)
-    {
-        return visitor_(operand);
-    }
-
-#   if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0564))
-    template <typename T>
-    result_type internal_visit(const T& operand, int)
-    {
-        return visitor_(operand);
-    }
-#   endif
-
-#else // defined(BOOST_NO_VOID_RETURNS)
-
-private: // helpers, for internal visitor interfaces (below)
-
-    template <typename T>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    visit_impl(T& operand, mpl::false_)
-    {
-        return visitor_(operand);
-    }
-
-    template <typename T>
-        BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-    visit_impl(T& operand, mpl::true_)
-    {
-        visitor_(operand);
-        BOOST_VARIANT_AUX_RETURN_VOID;
-    }
-
-public: // internal visitor interfaces
-
-    template <typename T>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    internal_visit(T& operand, int)
-    {
-        typedef typename is_same<result_type, void>::type
-            has_void_result_type;
-
-        return visit_impl(operand, has_void_result_type());
-    }
-
-#endif // BOOST_NO_VOID_RETURNS) workaround
-
-public: // internal visitor interfaces, cont.
-
-    template <typename T>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    internal_visit(boost::recursive_wrapper<T>& operand, long)
-    {
-        return internal_visit( operand.get(), 1L );
-    }
-
-    template <typename T>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    internal_visit(const boost::recursive_wrapper<T>& operand, long)
-    {
-        return internal_visit( operand.get(), 1L );
-    }
-
-    template <typename T>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    internal_visit(boost::detail::reference_content<T>& operand, long)
-    {
-        return internal_visit( operand.get(), 1L );
-    }
-
-    template <typename T>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    internal_visit(const boost::detail::reference_content<T>& operand, long)
-    {
-        return internal_visit( operand.get(), 1L );
-    }
-
-    template <typename T>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    internal_visit(boost::detail::variant::backup_holder<T>& operand, long)
-    {
-        return internal_visit( operand.get(), 1L );
-    }
-
-    template <typename T>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    internal_visit(const boost::detail::variant::backup_holder<T>& operand, long)
-    {
-        return internal_visit( operand.get(), 1L );
-    }
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
-private:
-    // silence MSVC warning C4512: assignment operator could not be generated
-    invoke_visitor& operator= (invoke_visitor const&);
-#endif
-};
-
-}} // namespace detail::variant
-
-///////////////////////////////////////////////////////////////////////////////
-// class template variant (concept inspired by Andrei Alexandrescu)
-//
-// See docs and boost/variant/variant_fwd.hpp for more information.
-//
-template <
-      typename T0_
-    , BOOST_VARIANT_ENUM_SHIFTED_PARAMS(typename T)
-    >
-class variant
-{
-private: // helpers, for typedefs (below)
-
-    typedef variant wknd_self_t;
-
-    struct is_recursive_
-        : detail::variant::is_recursive_flag<T0_>
-    {
-    };
-
-    typedef typename mpl::eval_if<
-          is_recursive_
-        , T0_
-        , mpl::identity< T0_ >
-        >::type unwrapped_T0_;
-
-    struct is_sequence_based_
-        : detail::variant::is_over_sequence<unwrapped_T0_>
-    {
-    };
-
-#if !defined(BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT)
-
-private: // helpers, for typedefs (below)
-
-    typedef typename mpl::eval_if<
-          is_sequence_based_
-        , unwrapped_T0_ // over_sequence<...>::type
-        , detail::variant::make_variant_list<
-              unwrapped_T0_
-            , BOOST_VARIANT_ENUM_SHIFTED_PARAMS(T)
-            >
-        >::type specified_types;
-
-    BOOST_STATIC_ASSERT((
-          ::boost::mpl::not_< mpl::empty<specified_types> >::value
-        ));
-
-    typedef typename mpl::eval_if<
-          is_recursive_
-        , mpl::transform<
-              specified_types
-            , mpl::protect<
-                  detail::variant::quoted_enable_recursive<wknd_self_t>
-                >
-            >
-        , mpl::identity< specified_types >
-        >::type recursive_enabled_types;
-
-public: // public typedefs
-
-    typedef typename mpl::transform<
-          recursive_enabled_types
-        , unwrap_recursive<mpl::_1>
-        >::type types;
-
-private: // internal typedefs
-
-    typedef typename mpl::transform<
-          recursive_enabled_types
-        , mpl::protect< detail::make_reference_content<> >
-        >::type internal_types;
-
-    typedef typename mpl::front<
-          internal_types
-        >::type internal_T0;
-
-#else // defined(BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT)
-
-private: // helpers, for typedefs (below)
-
-    typedef unwrapped_T0_ T0;
-
-    #define BOOST_VARIANT_AUX_ENABLE_RECURSIVE_TYPEDEFS(z,N,_) \
-        typedef typename mpl::eval_if< \
-              is_recursive_ \
-            , detail::variant::enable_recursive< \
-                  BOOST_PP_CAT(T,N) \
-                , wknd_self_t \
-                > \
-            , mpl::identity< BOOST_PP_CAT(T,N) > \
-            >::type BOOST_PP_CAT(recursive_enabled_T,N); \
-        /**/
-
-    BOOST_PP_REPEAT(
-          BOOST_VARIANT_LIMIT_TYPES
-        , BOOST_VARIANT_AUX_ENABLE_RECURSIVE_TYPEDEFS
-        , _
-        )
-
-    #undef BOOST_VARIANT_AUX_ENABLE_RECURSIVE_TYPEDEFS
-
-    #define BOOST_VARIANT_AUX_UNWRAP_RECURSIVE_TYPEDEFS(z,N,_) \
-        typedef typename unwrap_recursive< \
-              BOOST_PP_CAT(recursive_enabled_T,N) \
-            >::type BOOST_PP_CAT(public_T,N); \
-        /**/
-
-    BOOST_PP_REPEAT(
-          BOOST_VARIANT_LIMIT_TYPES
-        , BOOST_VARIANT_AUX_UNWRAP_RECURSIVE_TYPEDEFS
-        , _
-        )
-
-    #undef BOOST_VARIANT_AUX_UNWRAP_RECURSIVE_TYPEDEFS
-
-public: // public typedefs
-
-    typedef typename detail::variant::make_variant_list<
-          BOOST_VARIANT_ENUM_PARAMS(public_T)
-        >::type types;
-
-private: // helpers, for internal typedefs (below)
-
-    #define BOOST_VARIANT_AUX_MAKE_REFERENCE_CONTENT_TYPEDEFS(z,N,_) \
-        typedef detail::make_reference_content< \
-              BOOST_PP_CAT(recursive_enabled_T,N) \
-            >::type BOOST_PP_CAT(internal_T,N); \
-        /**/
-
-    BOOST_PP_REPEAT(
-          BOOST_VARIANT_LIMIT_TYPES
-        , BOOST_VARIANT_AUX_MAKE_REFERENCE_CONTENT_TYPEDEFS
-        , _
-        )
-
-    #undef BOOST_VARIANT_AUX_MAKE_REFERENCE_CONTENT_TYPEDEFS
-
-private: // internal typedefs
-
-    typedef typename detail::variant::make_variant_list<
-          BOOST_VARIANT_ENUM_PARAMS(internal_T)
-        >::type internal_types;
-
-private: // static precondition assertions
-
-    // NOTE TO USER :
-    // variant< type-sequence > syntax is not supported on this compiler!
-    //
-    BOOST_MPL_ASSERT_NOT(( is_sequence_based_ ));
-
-#endif // BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT workaround
-
-private: // helpers, for representation (below)
-
-    typedef typename detail::variant::find_fallback_type<
-          internal_types
-        >::type fallback_type_result_;
-
-    typedef typename fallback_type_result_::first
-        fallback_type_index_;
-    typedef typename fallback_type_result_::second
-        fallback_type_;
-
-    struct has_fallback_type_
-        : mpl::not_<
-              is_same< fallback_type_, detail::variant::no_fallback_type >
-            >
-    {
-    };
-
-    typedef has_fallback_type_
-        never_uses_backup_flag;
-
-    typedef typename detail::variant::make_storage<
-          internal_types, never_uses_backup_flag
-        >::type storage_t;
-
-private: // helpers, for representation (below)
-
-    // which_ on:
-    // * [0,  size<internal_types>) indicates stack content
-    // * [-size<internal_types>, 0) indicates pointer to heap backup
-    // if which_ >= 0:
-    // * then which() -> which_
-    // * else which() -> -(which_ + 1)
-
-#if !defined(BOOST_VARIANT_MINIMIZE_SIZE)
-
-    typedef int which_t;
-
-#else // defined(BOOST_VARIANT_MINIMIZE_SIZE)
-
-    // [if O1_size available, then attempt which_t size optimization...]
-    // [select signed char if fewer than SCHAR_MAX types, else signed int:]
-    typedef typename mpl::eval_if<
-          mpl::equal_to< mpl::O1_size<internal_types>, mpl::long_<-1> >
-        , mpl::identity< int >
-        , mpl::if_<
-              mpl::less< mpl::O1_size<internal_types>, mpl::int_<SCHAR_MAX> >
-            , signed char
-            , int
-            >
-        >::type which_t;
-
-#endif // BOOST_VARIANT_MINIMIZE_SIZE switch
-
-// representation -- private when possible
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-    private:
-#else
-    public:
-#endif
-
-    which_t which_;
-    storage_t storage_;
-
-    void indicate_which(int which_arg)
-    {
-        which_ = static_cast<which_t>( which_arg );
-    }
-
-    void indicate_backup_which(int which_arg)
-    {
-        which_ = static_cast<which_t>( -(which_arg + 1) );
-    }
-
-private: // helpers, for queries (below)
-
-    bool using_backup() const
-    {
-        return which_ < 0;
-    }
-
-public: // queries
-
-    int which() const
-    {
-        // If using heap backup...
-        if (using_backup())
-            // ...then return adjusted which_:
-            return -(which_ + 1);
-
-        // Otherwise, return which_ directly:
-        return which_;
-    }
-
-private: // helpers, for structors (below)
-
-    struct initializer
-        : BOOST_VARIANT_AUX_INITIALIZER_T(
-              recursive_enabled_types, recursive_enabled_T
-            )
-    {
-    };
-
-    void destroy_content()
-    {
-        detail::variant::destroyer visitor;
-        this->internal_apply_visitor(visitor);
-    }
-
-public: // structors
-
-    ~variant()
-    {
-        destroy_content();
-    }
-
-    variant()
-    {
-        // NOTE TO USER :
-        // Compile error from here indicates that the first bound
-        // type is not default-constructible, and so variant cannot
-        // support its own default-construction.
-        //
-        new( storage_.address() ) internal_T0();
-        indicate_which(0); // zero is the index of the first bounded type
-    }
-
-private: // helpers, for structors, cont. (below)
-
-    class convert_copy_into
-        : public static_visitor<int>
-    {
-    private: // representation
-
-        void* storage_;
-
-    public: // structors
-
-        explicit convert_copy_into(void* storage)
-            : storage_(storage)
-        {
-        }
-
-    public: // internal visitor interfaces (below)
-
-        template <typename T>
-        int internal_visit(T& operand, int) const
-        {
-            // NOTE TO USER :
-            // Compile error here indicates one of the source variant's types 
-            // cannot be unambiguously converted to the destination variant's
-            // types (or that no conversion exists).
-            //
-            return initializer::initialize(storage_, operand);
-        }
-
-#   if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0564))
-        template <typename T>
-        result_type internal_visit(const T& operand, int) const
-        {
-            return initializer::initialize(storage_, operand);
-        }
-#   endif
-
-        template <typename T>
-        int internal_visit(boost::detail::reference_content<T>& operand, long) const
-        {
-            return internal_visit( operand.get(), 1L );
-        }
-
-        template <typename T>
-        int internal_visit(const boost::detail::reference_content<T>& operand, long) const
-        {
-            return internal_visit( operand.get(), 1L );
-        }
-
-        template <typename T>
-        int internal_visit(boost::detail::variant::backup_holder<T>& operand, long) const
-        {
-            return internal_visit( operand.get(), 1L );
-        }
-
-        template <typename T>
-        int internal_visit(const boost::detail::variant::backup_holder<T>& operand, long) const
-        {
-            return internal_visit( operand.get(), 1L );
-        }
-
-        template <typename T>
-        int internal_visit(boost::recursive_wrapper<T>& operand, long) const
-        {
-            return internal_visit( operand.get(), 1L );
-        }
-
-        template <typename T>
-        int internal_visit(const boost::recursive_wrapper<T>& operand, long) const
-        {
-            return internal_visit( operand.get(), 1L );
-        }
-
-    };
-
-    friend class convert_copy_into;
-
-private: // helpers, for structors, below 
-
-    template <typename T>
-    void convert_construct(
-          T& operand
-        , int
-        , mpl::false_ = mpl::false_() // is_foreign_variant
-        )
-    {
-        // NOTE TO USER :
-        // Compile error here indicates that the given type is not 
-        // unambiguously convertible to one of the variant's types
-        // (or that no conversion exists).
-        //
-        indicate_which(
-              initializer::initialize(
-                  storage_.address()
-                , operand
-                )
-            );
-    }
-
-    template <typename Variant>
-    void convert_construct(
-          Variant& operand
-        , long
-        , mpl::true_// is_foreign_variant
-        )
-    {
-        convert_copy_into visitor(storage_.address());
-        indicate_which(
-              operand.internal_apply_visitor(visitor)
-            );
-    }
-
-    template <typename Variant>
-    void convert_construct_variant(Variant& operand)
-    {
-        // [Determine if the given variant is itself a bounded type, or if its
-        //  content needs to be converted (i.e., it is a 'foreign' variant):]
-        //
-
-        typedef typename mpl::find_if<
-              types
-            , is_same<
-                  add_const<mpl::_1>
-                , const Variant
-                >
-            >::type found_it;
-
-        typedef typename mpl::end<types>::type not_found;
-        typedef typename is_same<
-              found_it, not_found
-            >::type is_foreign_variant;
-
-        // Convert construct from operand:
-        convert_construct(
-              operand, 1L
-            , is_foreign_variant()
-            );
-    }
-
-    template <BOOST_VARIANT_ENUM_PARAMS(typename U)>
-    void convert_construct(
-          boost::variant<BOOST_VARIANT_ENUM_PARAMS(U)>& operand
-        , long
-        )
-    {
-        convert_construct_variant(operand);
-    }
-
-    template <BOOST_VARIANT_ENUM_PARAMS(typename U)>
-    void convert_construct(
-          const boost::variant<BOOST_VARIANT_ENUM_PARAMS(U)>& operand
-        , long
-        )
-    {
-        convert_construct_variant(operand);    
-    }
-
-public: // structors, cont.
-
-#if !defined(BOOST_VARIANT_AUX_BROKEN_CONSTRUCTOR_TEMPLATE_ORDERING)
-
-    template <typename T>
-    variant(const T& operand)
-    {
-        convert_construct(operand, 1L);
-    }
-
-    template <typename T>
-    variant(T& operand)
-    {
-        convert_construct(operand, 1L);
-    }
-
-#elif defined(BOOST_VARIANT_AUX_HAS_CONSTRUCTOR_TEMPLATE_ORDERING_SFINAE_WKND)
-
-    // For compilers that cannot distinguish between T& and const T& in
-    // template constructors, but do fully support SFINAE, we can workaround:
-
-    template <typename T>
-    variant(const T& operand)
-    {
-        convert_construct(operand, 1L);
-    }
-
-    template <typename T>
-    variant(
-          T& operand
-        , typename enable_if<
-              mpl::not_< is_const<T> >
-            , void
-            >::type* = 0
-        )
-    {
-        convert_construct(operand, 1L);
-    }
-
-#else // !defined(BOOST_VARIANT_AUX_HAS_CONSTRUCTOR_TEMPLATE_ORDERING_SFINAE_WKND)
-
-    // For compilers that cannot distinguish between T& and const T& in
-    // template constructors, and do NOT support SFINAE, we can't workaround:
-
-    template <typename T>
-    variant(const T& operand)
-    {
-        convert_construct(operand, 1L);
-    }
-
-#endif // BOOST_VARIANT_AUX_BROKEN_CONSTRUCTOR_TEMPLATE_ORDERING workarounds
-
-public: // structors, cont.
-
-    // [MSVC6 requires copy constructor appear after template constructors]
-    variant(const variant& operand)
-    {
-        // Copy the value of operand into *this...
-        detail::variant::copy_into visitor( storage_.address() );
-        operand.internal_apply_visitor(visitor);
-
-        // ...and activate the *this's primary storage on success:
-        indicate_which(operand.which());
-    }
-
-private: // helpers, for modifiers (below)
-
-#   if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-    template <typename Variant>
-    friend class detail::variant::backup_assigner;
-#   endif
-
-    // class assigner
-    //
-    // Internal visitor that "assigns" the visited value to the given variant
-    // by appropriate destruction and copy-construction.
-    //
-
-    class assigner
-        : public static_visitor<>
-    {
-    private: // representation
-
-        variant& lhs_;
-        int rhs_which_;
-
-    public: // structors
-
-        assigner(variant& lhs, int rhs_which)
-            : lhs_(lhs)
-            , rhs_which_(rhs_which)
-        {
-        }
-
-    private: // helpers, for internal visitor interface (below)
-
-        template <typename RhsT, typename B1, typename B2>
-        void assign_impl(
-              const RhsT& rhs_content
-            , mpl::true_// has_nothrow_copy
-            , B1// has_nothrow_move_constructor
-            , B2// has_fallback_type
-            )
-        {
-            // Destroy lhs's content...
-            lhs_.destroy_content(); // nothrow
-
-            // ...copy rhs content into lhs's storage...
-            new(lhs_.storage_.address())
-                RhsT( rhs_content ); // nothrow
-
-            // ...and indicate new content type:
-            lhs_.indicate_which(rhs_which_); // nothrow
-        }
-
-        template <typename RhsT, typename B>
-        void assign_impl(
-              const RhsT& rhs_content
-            , mpl::false_// has_nothrow_copy
-            , mpl::true_// has_nothrow_move_constructor
-            , B// has_fallback_type
-            )
-        {
-            // Attempt to make a temporary copy (so as to move it below)...
-            RhsT temp(rhs_content);
-
-            // ...and upon success destroy lhs's content...
-            lhs_.destroy_content(); // nothrow
-
-            // ...move the temporary copy into lhs's storage...
-            new(lhs_.storage_.address())
-                RhsT( detail::variant::move(temp) ); // nothrow
-
-            // ...and indicate new content type:
-            lhs_.indicate_which(rhs_which_); // nothrow
-        }
-
-        template <typename RhsT>
-        void assign_impl(
-              const RhsT& rhs_content
-            , mpl::false_// has_nothrow_copy
-            , mpl::false_// has_nothrow_move_constructor
-            , mpl::true_// has_fallback_type
-            )
-        {
-            // Destroy lhs's content...
-            lhs_.destroy_content(); // nothrow
-
-            try
-            {
-                // ...and attempt to copy rhs's content into lhs's storage:
-                new(lhs_.storage_.address())
-                    RhsT( rhs_content );
-            }
-            catch (...)
-            {
-                // In case of failure, default-construct fallback type in lhs's storage...
-                new (lhs_.storage_.address())
-                    fallback_type_; // nothrow
-
-                // ...indicate construction of fallback type...
-                lhs_.indicate_which(
-                      BOOST_MPL_AUX_VALUE_WKND(fallback_type_index_)::value
-                    ); // nothrow
-
-                // ...and rethrow:
-                throw;
-            }
-
-            // In the event of success, indicate new content type:
-            lhs_.indicate_which(rhs_which_); // nothrow
-        }
-
-        template <typename RhsT>
-        void assign_impl(
-              const RhsT& rhs_content
-            , mpl::false_// has_nothrow_copy
-            , mpl::false_// has_nothrow_move_constructor
-            , mpl::false_// has_fallback_type
-            )
-        {
-            detail::variant::backup_assigner<wknd_self_t>
-                visitor(lhs_, rhs_which_, rhs_content);
-            lhs_.internal_apply_visitor(visitor);
-        }
-
-    public: // internal visitor interfaces
-
-        template <typename RhsT>
-            BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-        internal_visit(const RhsT& rhs_content, int)
-        {
-            typedef typename has_nothrow_copy<RhsT>::type
-                nothrow_copy;
-            typedef typename mpl::or_< // reduces compile-time
-                  nothrow_copy
-                , detail::variant::has_nothrow_move_constructor<RhsT>
-                >::type nothrow_move_constructor;
-
-            assign_impl(
-                  rhs_content
-                , nothrow_copy()
-                , nothrow_move_constructor()
-                , has_fallback_type_()
-                );
-
-            BOOST_VARIANT_AUX_RETURN_VOID;
-        }
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
-    private:
-        // silence MSVC warning C4512: assignment operator could not be generated
-        assigner& operator= (assigner const&);
-#endif
-    };
-
-    friend class assigner;
-
-    void variant_assign(const variant& rhs)
-    {
-        // If the contained types are EXACTLY the same...
-        if (which_ == rhs.which_)
-        {
-            // ...then assign rhs's storage to lhs's content:
-            detail::variant::assign_storage visitor(rhs.storage_.address());
-            this->internal_apply_visitor(visitor);
-        }
-        else
-        {
-            // Otherwise, perform general (copy-based) variant assignment:
-            assigner visitor(*this, rhs.which());
-            rhs.internal_apply_visitor(visitor); 
-        }
-    }
-
-private: // helpers, for modifiers (below)
-
-    template <typename T>
-    void assign(const T& rhs)
-    {
-        // If direct T-to-T assignment is not possible...
-        detail::variant::direct_assigner<T> direct_assign(rhs);
-        if (this->apply_visitor(direct_assign) == false)
-        {
-            // ...then convert rhs to variant and assign:
-            //
-            // While potentially inefficient, the following construction of a
-            // variant allows T as any type convertible to one of the bounded
-            // types without excessive code redundancy.
-            //
-            variant temp(rhs);
-            variant_assign( detail::variant::move(temp) );
-        }
-    }
-
-public: // modifiers
-
-    template <typename T>
-    variant& operator=(const T& rhs)
-    {
-        assign(rhs);
-        return *this;
-    }
-
-    // [MSVC6 requires copy assign appear after templated operator=]
-    variant& operator=(const variant& rhs)
-    {
-        variant_assign(rhs);
-        return *this;
-    }
-
-    void swap(variant& rhs)
-    {
-        // If the contained types are the same...
-        if (which() == rhs.which())
-        {
-            // ...then swap the values directly:
-            detail::variant::swap_with<variant> visitor(rhs);
-            this->apply_visitor(visitor);
-        }
-        else
-        {
-            // ...otherwise, perform general variant swap:
-            variant tmp( detail::variant::move(rhs) );
-            rhs = detail::variant::move(*this);
-            *this = detail::variant::move(tmp);
-        }
-    }
-
-public: // queries
-
-    //
-    // NOTE: member which() defined above.
-    //
-
-    bool empty() const
-    {
-        return false;
-    }
-
-#if !defined(BOOST_NO_TYPEID)
-    const std::type_info& type() const
-    {
-        detail::variant::reflect visitor;
-        return this->apply_visitor(visitor);
-    }
-#endif
-
-public: // prevent comparison with foreign types
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-#   define BOOST_VARIANT_AUX_FAIL_COMPARISON_RETURN_TYPE \
-    void
-
-#else // MSVC7
-
-    //
-    // MSVC7 gives error about return types for above being different than
-    // the true comparison operator overloads:
-    //
-
-#   define BOOST_VARIANT_AUX_FAIL_COMPARISON_RETURN_TYPE \
-    bool
-
-#endif // MSVC7 workaround
-
-    template <typename U>
-        BOOST_VARIANT_AUX_FAIL_COMPARISON_RETURN_TYPE
-    operator==(const U&) const
-    {
-        BOOST_STATIC_ASSERT( false && sizeof(U) );
-    }
-
-    template <typename U>
-        BOOST_VARIANT_AUX_FAIL_COMPARISON_RETURN_TYPE
-    operator<(const U&) const
-    {
-        BOOST_STATIC_ASSERT( false && sizeof(U) );
-    }
-
-public: // comparison operators
-
-    // [MSVC6 requires these operators appear after template operators]
-
-    bool operator==(const variant& rhs) const
-    {
-        if (this->which() != rhs.which())
-            return false;
-
-        detail::variant::comparer<
-              variant, detail::variant::equal_comp
-            > visitor(*this);
-        return rhs.apply_visitor(visitor);
-    }
-
-    bool operator<(const variant& rhs) const
-    {
-        //
-        // Dirk Schreib suggested this collating order.
-        //
-
-        if (this->which() != rhs.which())
-            return this->which() < rhs.which();
-
-        detail::variant::comparer<
-              variant, detail::variant::less_comp
-            > visitor(*this);
-        return rhs.apply_visitor(visitor);
-    }
-
-// helpers, for visitation support (below) -- private when possible
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-
-    template < BOOST_VARIANT_ENUM_PARAMS(typename U) >
-    friend class variant;
-
-private:
-
-#else// defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-
-public:
-
-#endif// !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-
-    template <typename Visitor, typename VoidPtrCV>
-    static
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(
-              typename Visitor::result_type
-            )
-    internal_apply_visitor_impl(
-          int internal_which
-        , int logical_which
-        , Visitor& visitor
-        , VoidPtrCV storage
-        )
-    {
-        typedef mpl::int_<0> first_which;
-        typedef typename mpl::begin<internal_types>::type first_it;
-        typedef typename mpl::end<internal_types>::type last_it;
-
-        typedef detail::variant::visitation_impl_step<
-              first_it, last_it
-            > first_step;
-
-        return detail::variant::visitation_impl(
-              internal_which, logical_which
-            , visitor, storage, mpl::false_()
-            , never_uses_backup_flag()
-            , static_cast<first_which*>(0), static_cast<first_step*>(0)
-            );
-    }
-
-    template <typename Visitor>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(
-              typename Visitor::result_type
-            )
-    internal_apply_visitor(Visitor& visitor)
-    {
-        return internal_apply_visitor_impl(
-              which_, which(), visitor, storage_.address()
-            );
-    }
-
-    template <typename Visitor>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(
-              typename Visitor::result_type
-            )
-    internal_apply_visitor(Visitor& visitor) const
-    {
-        return internal_apply_visitor_impl(
-              which_, which(), visitor, storage_.address()
-            );
-    }
-
-public: // visitation support
-
-    template <typename Visitor>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(
-              typename Visitor::result_type
-            )
-    apply_visitor(Visitor& visitor)
-    {
-        detail::variant::invoke_visitor<Visitor> invoker(visitor);
-        return this->internal_apply_visitor(invoker);
-    }
-
-    template <typename Visitor>
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(
-              typename Visitor::result_type
-            )
-    apply_visitor(Visitor& visitor) const
-    {
-        detail::variant::invoke_visitor<Visitor> invoker(visitor);
-        return this->internal_apply_visitor(invoker);
-    }
-
-}; // class variant
-
-///////////////////////////////////////////////////////////////////////////////
-// metafunction make_variant_over
-//
-// See docs and boost/variant/variant_fwd.hpp for more information.
-//
-template <typename Types>
-struct make_variant_over
-{
-private: // precondition assertions
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    BOOST_STATIC_ASSERT(( ::boost::mpl::is_sequence<Types>::value ));
-#endif
-
-public: // metafunction result
-
-    typedef variant<
-          detail::variant::over_sequence< Types >
-        > type;
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// function template swap
-//
-// Swaps two variants of the same type (i.e., identical specification).
-//
-template < BOOST_VARIANT_ENUM_PARAMS(typename T) >
-inline void swap(
-      variant< BOOST_VARIANT_ENUM_PARAMS(T) >& lhs
-    , variant< BOOST_VARIANT_ENUM_PARAMS(T) >& rhs
-    )
-{
-    lhs.swap(rhs);
-}
-
-} // namespace boost
-
-// implementation additions
-
-#if !defined(BOOST_NO_IOSTREAM)
-#include "boost/variant/detail/variant_io.hpp"
-#endif // BOOST_NO_IOSTREAM
-
-#endif // BOOST_VARIANT_VARIANT_HPP
diff --git a/SRC/Boost/boost/variant/variant_fwd.hpp b/SRC/Boost/boost/variant/variant_fwd.hpp
deleted file mode 100755
index 02c0133..0000000
--- a/SRC/Boost/boost/variant/variant_fwd.hpp
+++ /dev/null
@@ -1,253 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/variant_fwd.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman, Itay Maman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_VARIANT_FWD_HPP
-#define BOOST_VARIANT_VARIANT_FWD_HPP
-
-#include "boost/variant/detail/config.hpp"
-
-#include "boost/blank_fwd.hpp"
-#include "boost/mpl/arg.hpp"
-#include "boost/mpl/limits/arity.hpp"
-#include "boost/mpl/aux_/na.hpp"
-#include "boost/preprocessor/cat.hpp"
-#include "boost/preprocessor/enum.hpp"
-#include "boost/preprocessor/enum_params.hpp"
-#include "boost/preprocessor/enum_shifted_params.hpp"
-#include "boost/preprocessor/repeat.hpp"
-
-///////////////////////////////////////////////////////////////////////////////
-// macro BOOST_VARIANT_LIMIT_TYPES
-//
-// Implementation-defined preprocessor symbol describing the actual
-// length of variant's pseudo-variadic template parameter list.
-//
-#include "boost/mpl/limits/list.hpp"
-#define BOOST_VARIANT_LIMIT_TYPES \
-    BOOST_MPL_LIMIT_LIST_SIZE
-
-///////////////////////////////////////////////////////////////////////////////
-// macro BOOST_VARIANT_NO_REFERENCE_SUPPORT
-//
-// Defined if variant does not support references as bounded types. 
-//
-#if defined(BOOST_VARIANT_AUX_BROKEN_CONSTRUCTOR_TEMPLATE_ORDERING) \
- && !defined(BOOST_VARIANT_AUX_HAS_CONSTRUCTOR_TEMPLATE_ORDERING_SFINAE_WKND) \
- && !defined(BOOST_VARIANT_NO_REFERENCE_SUPPORT)
-#   define BOOST_VARIANT_NO_REFERENCE_SUPPORT
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// macro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT
-//
-// Defined if variant does not support make_variant_over (see below). 
-//
-#if defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)
-#   define BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// macro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT
-//
-// Defined if make_recursive_variant cannot be supported as documented.
-//
-// Note: Currently, MPL lambda facility is used as workaround if defined, and
-// so only types declared w/ MPL lambda workarounds will work.
-//
-
-#include "boost/variant/detail/substitute_fwd.hpp"
-
-#if defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE) \
- && !defined(BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT)
-#   define BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// macro BOOST_VARIANT_RECURSIVE_VARIANT_MAX_ARITY
-//
-// Exposes maximum allowed arity of class templates with recursive_variant
-// arguments. That is,
-//   make_recursive_variant< ..., T<[1], recursive_variant_, ... [N]> >.
-//
-#include "boost/mpl/limits/arity.hpp"
-#define BOOST_VARIANT_RECURSIVE_VARIANT_MAX_ARITY \
-    BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-
-///////////////////////////////////////////////////////////////////////////////
-// macro BOOST_VARIANT_ENUM_PARAMS
-//
-// Convenience macro for enumeration of BOOST_VARIANT_LIMIT_TYPES params.
-//
-// Rationale: Cleaner, simpler code for clients of variant library.
-//
-#define BOOST_VARIANT_ENUM_PARAMS( param )  \
-    BOOST_PP_ENUM_PARAMS(BOOST_VARIANT_LIMIT_TYPES, param)
-
-///////////////////////////////////////////////////////////////////////////////
-// macro BOOST_VARIANT_ENUM_SHIFTED_PARAMS
-//
-// Convenience macro for enumeration of BOOST_VARIANT_LIMIT_TYPES-1 params.
-//
-#define BOOST_VARIANT_ENUM_SHIFTED_PARAMS( param )  \
-    BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_VARIANT_LIMIT_TYPES, param)
-
-
-namespace boost {
-
-namespace detail { namespace variant {
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class void_ and class template convert_void
-// 
-// Provides the mechanism by which void(NN) types are converted to
-// mpl::void_ (and thus can be passed to mpl::list).
-//
-// Rationale: This is particularly needed for the using-declarations
-// workaround (below), but also to avoid associating mpl namespace with
-// variant in argument dependent lookups (which used to happen because of
-// defaulting of template parameters to mpl::void_).
-//
-
-struct void_;
-
-template <typename T>
-struct convert_void
-{
-    typedef T type;
-};
-
-template <>
-struct convert_void< void_ >
-{
-    typedef mpl::na type;
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (workaround) BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-//
-// Needed to work around compilers that don't support using-declaration
-// overloads. (See the variant::initializer workarounds below.)
-//
-
-#if defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)
-
-// (detail) tags voidNN -- NN defined on [0, BOOST_VARIANT_LIMIT_TYPES)
-//
-// Defines void types that are each unique and specializations of
-// convert_void that yields mpl::na for each voidNN type.
-//
-
-#define BOOST_VARIANT_DETAIL_DEFINE_VOID_N(z,N,_)          \
-    struct BOOST_PP_CAT(void,N);                           \
-                                                           \
-    template <>                                            \
-    struct convert_void< BOOST_PP_CAT(void,N) >            \
-    {                                                      \
-        typedef mpl::na type;                              \
-    };                                                     \
-    /**/
-
-BOOST_PP_REPEAT(
-      BOOST_VARIANT_LIMIT_TYPES
-    , BOOST_VARIANT_DETAIL_DEFINE_VOID_N
-    , _
-    )
-
-#undef BOOST_VARIANT_DETAIL_DEFINE_VOID_N
-
-#endif // BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE workaround
-
-}} // namespace detail::variant
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) macro BOOST_VARIANT_AUX_DECLARE_PARAM
-//
-// Template parameter list for variant and recursive_variant declarations.
-//
-
-#if !defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)
-
-#   define BOOST_VARIANT_AUX_DECLARE_PARAMS_IMPL(z, N, T) \
-    typename BOOST_PP_CAT(T,N) = detail::variant::void_ \
-    /**/
-
-#else // defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)
-
-#   define BOOST_VARIANT_AUX_DECLARE_PARAMS_IMPL(z, N, T) \
-    typename BOOST_PP_CAT(T,N) = BOOST_PP_CAT(detail::variant::void,N) \
-    /**/
-
-#endif // BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE workaround
-
-#define BOOST_VARIANT_AUX_DECLARE_PARAMS \
-    BOOST_PP_ENUM( \
-          BOOST_VARIANT_LIMIT_TYPES \
-        , BOOST_VARIANT_AUX_DECLARE_PARAMS_IMPL \
-        , T \
-        ) \
-    /**/
-
-///////////////////////////////////////////////////////////////////////////////
-// class template variant (concept inspired by Andrei Alexandrescu)
-//
-// Efficient, type-safe bounded discriminated union.
-//
-// Preconditions:
-//  - Each type must be unique.
-//  - No type may be const-qualified.
-//
-// Proper declaration form:
-//   variant<types>    (where types is a type-sequence)
-// or
-//   variant<T0,T1,...,Tn>  (where T0 is NOT a type-sequence)
-//
-template < BOOST_VARIANT_AUX_DECLARE_PARAMS > class variant;
-
-///////////////////////////////////////////////////////////////////////////////
-// metafunction make_recursive_variant
-//
-// Exposes a boost::variant with recursive_variant_ tags (below) substituted
-// with the variant itself (wrapped as needed with boost::recursive_wrapper).
-//
-template < BOOST_VARIANT_AUX_DECLARE_PARAMS > struct make_recursive_variant;
-
-#undef BOOST_VARIANT_AUX_DECLARE_PARAMS_IMPL
-#undef BOOST_VARIANT_AUX_DECLARE_PARAMS
-
-///////////////////////////////////////////////////////////////////////////////
-// type recursive_variant_
-//
-// Tag type indicates where recursive variant substitution should occur.
-//
-#if !defined(BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORT)
-    struct recursive_variant_ {};
-#else
-    typedef mpl::arg<1> recursive_variant_;
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// metafunction make_variant_over
-//
-// Result is a variant w/ types of the specified type sequence.
-//
-template <typename Types> struct make_variant_over;
-
-///////////////////////////////////////////////////////////////////////////////
-// metafunction make_recursive_variant_over
-//
-// Result is a recursive variant w/ types of the specified type sequence.
-//
-template <typename Types> struct make_recursive_variant_over;
-
-} // namespace boost
-
-#endif // BOOST_VARIANT_VARIANT_FWD_HPP
diff --git a/SRC/Boost/boost/variant/visitor_ptr.hpp b/SRC/Boost/boost/variant/visitor_ptr.hpp
deleted file mode 100755
index ec6ca97..0000000
--- a/SRC/Boost/boost/variant/visitor_ptr.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost variant/visitor_ptr.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2002-2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_VARIANT_VISITOR_PTR_HPP
-#define BOOST_VARIANT_VISITOR_PTR_HPP
-
-#include "boost/variant/bad_visit.hpp"
-#include "boost/variant/static_visitor.hpp"
-
-#include "boost/mpl/eval_if.hpp"
-#include "boost/mpl/identity.hpp"
-#include "boost/type_traits/add_reference.hpp"
-#include "boost/type_traits/is_reference.hpp"
-#include "boost/type_traits/is_void.hpp"
-
-namespace boost {
-
-//////////////////////////////////////////////////////////////////////////
-// function template visitor_ptr
-//
-// Adapts a function pointer for use as visitor capable of handling
-// values of a single type. Throws bad_visit if inappropriately applied.
-//
-template <typename T, typename R>
-class visitor_ptr_t
-    : public static_visitor<R>
-{
-private: // representation
-
-    typedef R (*visitor_t)(T);
-
-    visitor_t visitor_;
-
-public: // typedefs
-
-    typedef R result_type;
-
-private: // private typedefs
-
-    typedef typename mpl::eval_if<
-          is_reference<T>
-        , mpl::identity<T>
-        , add_reference<const T>
-        >::type argument_fwd_type;
-
-public: // structors
-
-    explicit visitor_ptr_t(visitor_t visitor)
-      : visitor_(visitor)
-    {
-    }
-
-public: // static visitor interfaces
-
-    template <typename U>
-    result_type operator()(const U&) const
-    {
-        throw bad_visit();
-    }
-
-#if !defined(BOOST_NO_VOID_RETURNS)
-
-public: // static visitor interfaces, cont.
-
-    result_type operator()(argument_fwd_type operand) const
-    {
-        return visitor_(operand);
-    }
-
-#else // defined(BOOST_NO_VOID_RETURNS)
-
-private: // helpers, for static visitor interfaces (below)
-
-    result_type execute_impl(argument_fwd_type operand, mpl::false_) const
-    {
-        return visitor_(operand);
-    }
-
-        BOOST_VARIANT_AUX_RETURN_VOID_TYPE
-    execute_impl(argument_fwd_type operand, mpl::true_) const
-    {
-        visitor_(operand);
-        BOOST_VARIANT_AUX_RETURN_VOID;
-    }
-
-public: // static visitor interfaces, cont.
-
-        BOOST_VARIANT_AUX_GENERIC_RESULT_TYPE(result_type)
-    operator()(argument_fwd_type operand) const
-    {
-        typedef typename is_void<result_type>::type has_void_result;
-        return execute_impl(operand, has_void_result());
-    }
-
-#endif // BOOST_NO_VOID_RETURNS workaround
-
-};
-
-template <typename R, typename T>
-inline visitor_ptr_t<T,R> visitor_ptr(R (*visitor)(T))
-{
-    return visitor_ptr_t<T,R>(visitor);
-}
-
-} // namespace boost
-
-#endif// BOOST_VISITOR_VISITOR_PTR_HPP
diff --git a/SRC/Boost/boost/version.hpp b/SRC/Boost/boost/version.hpp
deleted file mode 100755
index 6936893..0000000
--- a/SRC/Boost/boost/version.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  Boost version.hpp configuration header file  ------------------------------//
-
-//  (C) Copyright John maddock 1999. Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for documentation
-
-#ifndef BOOST_VERSION_HPP
-#define BOOST_VERSION_HPP
-
-//
-//  Caution, this is the only boost header that is guarenteed
-//  to change with every boost release, including this header
-//  will cause a recompile every time a new boost version is
-//  released.
-//
-//  BOOST_VERSION % 100 is the patch level
-//  BOOST_VERSION / 100 % 1000 is the minor version
-//  BOOST_VERSION / 100000 is the major version
-
-#define BOOST_VERSION 104800
-
-//
-//  BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
-//  but as a *string* in the form "x_y[_z]" where x is the major version
-//  number, y is the minor version number, and z is the patch level if not 0.
-//  This is used by <config/auto_link.hpp> to select which library version to link to.
-
-#define BOOST_LIB_VERSION "1_48"
-
-#endif
-
-
-
diff --git a/SRC/Boost/boost/visit_each.hpp b/SRC/Boost/boost/visit_each.hpp
deleted file mode 100755
index b60b5a6..0000000
--- a/SRC/Boost/boost/visit_each.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-2003. Use, modification and
-// distribution is subject to the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org/libs/signals
-
-#ifndef BOOST_VISIT_EACH_HPP
-#define BOOST_VISIT_EACH_HPP
-
-#include <boost/config.hpp>
-
-namespace boost {
-  template<typename Visitor, typename T>
-  inline void visit_each(Visitor& visitor, const T& t, long)
-  {
-    visitor(t);
-  }
-
-  template<typename Visitor, typename T>
-  inline void visit_each(Visitor& visitor, const T& t)
-  {
-    visit_each(visitor, t, 0);
-  }
-}
-
-#endif // BOOST_VISIT_EACH_HPP
diff --git a/SRC/Boost/boost/weak_ptr.hpp b/SRC/Boost/boost/weak_ptr.hpp
deleted file mode 100755
index 9c7dcc8..0000000
--- a/SRC/Boost/boost/weak_ptr.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef BOOST_WEAK_PTR_HPP_INCLUDED
-#define BOOST_WEAK_PTR_HPP_INCLUDED
-
-//
-//  weak_ptr.hpp
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-//  See http://www.boost.org/libs/smart_ptr/weak_ptr.htm for documentation.
-//
-
-#include <boost/smart_ptr/weak_ptr.hpp>
-
-#endif  // #ifndef BOOST_WEAK_PTR_HPP_INCLUDED
diff --git a/SRC/Boost/boostcpp.jam b/SRC/Boost/boostcpp.jam
deleted file mode 100755
index db457cf..0000000
--- a/SRC/Boost/boostcpp.jam
+++ /dev/null
@@ -1,575 +0,0 @@
-# Boost.Build support specific for the Boost C++ Libraries.
-# Copyright Vladimir Prus 2002-2010.
-# Copyright Dave Abrahams 2005-2006.
-# Copyright Rene Rivera 2005-2007.
-# Copyright Douglas Gregor 2005.
-#
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-import option ;
-import regex ;
-import common ;
-
-import modules ;
-import os ;
-import path ;
-import build-system ;
-import configure ;
-import set ;
-import package ;
-import project ;
-import targets ;
-import generate ;
-import package ;
-
-##############################################################################
-# 
-# 0. General setup. Parse options, check them.
-#
-##############################################################################  
-
-BOOST_ROOT = [ modules.binding $(__name__) ] ;
-BOOST_ROOT = $(BOOST_ROOT:D) ;
-
-rule set-version ( version )
-{
-    BOOST_VERSION = $(version) ;
-    
-    local version-tag = [ MATCH "^([^.]+)[.]([^.]+)[.]([^.]+)" : $(BOOST_VERSION) ]
-      ;
-    if $(version-tag[3]) = 0
-    {
-        version-tag = $(version-tag[1-2]) ;
-    }
-    
-    BOOST_VERSION_TAG = $(version-tag:J="_") ;
-}
-
-# Option to choose how many variants to build. The default is "minimal".
-build-type = [ option.get "build-type" ] ;
-build-type ?= minimal ;
-if ! ( $(build-type) in minimal complete )
-{
-    ECHO "The value of the --build-type option should be either 'complete' or 'minimal'" ;
-    EXIT ;
-}
-
-# What kind of layout are we doing?
-layout = [ option.get layout : "" ] ;
-# On Windows, we used versioned layout by default in order to
-# be compatible with autolink. On other systems, we use system
-# layout which is what every other program uses. Note that windows
-# check is static, and won't 
-if ! $(layout)
-{
-    if [ os.name ] = NT
-    {
-        layout = versioned ;
-    }
-    else
-    {
-        layout = system ;
-    }
-}
-layout-$(layout) = true ;
-
-if $(layout) = system && $(build-type) = complete
-{
-    ECHO "error: Cannot use --layout=system with --build-type complete." ;
-    ECHO "error: Please used either --layout=versioned or --layout=tagged " ;
-    ECHO "error: if you wish to build multiple variants." ;
-    if ! [ os.name ] = NT
-    {        
-        ECHO "error: Note that --layout=system is default on Unix starting with Boost 1.40." ;
-    }    
-    EXIT ;
-}
-
-# Possible stage only location.
-stage-locate = [ option.get "stagedir" ] ;
-stage-locate ?= stage ;
-BOOST_STAGE_LOCATE = $(stage-locate) ;
-
-# Custom build ID.
-build-id = [ option.get "buildid" ] ;
-if $(build-id)
-{
-    BUILD_ID = [ regex.replace $(build-id) "[*\\/:.\"\' ]" "_" ] ;
-}
-
-# Python build id (only for Python libraries)
-python-id = [ option.get "python-buildid" ] ;
-if $(python-id)
-{
-    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" "_" ] ;
-}
-
-##############################################################################
-#
-# 1. The 'tag' function that adds decoration suitable to the properties if
-# versioned or tagged layout is requested. This function is called from 
-# Jamroot
-#
-##############################################################################  
-
-rule tag ( name : type ? : property-set )
-{
-    if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB
-    {
-        local result ;
-        if $(layout) = versioned
-        {
-            result = [ common.format-name
-                <base> <toolset> <threading> <runtime> -$(BOOST_VERSION_TAG)
-                -$(BUILD_ID)
-                : $(name) : $(type) : $(property-set) ] ;
-        }        
-        else if $(layout) = tagged
-        {
-            result = [ common.format-name
-                <base> <threading> <runtime>
-                -$(BUILD_ID)
-                : $(name) : $(type) : $(property-set) ] ;            
-        }
-        else if $(layout) = system
-        {
-            result = [ common.format-name
-                <base> 
-                -$(BUILD_ID)
-                : $(name) : $(type) : $(property-set) ] ;
-        }
-        else
-        {
-            ECHO "error: invalid layout '$(layout:E=)'" ;
-            EXIT ;               
-        }
-                
-        # Optionally add version suffix. On NT, library with version suffix
-        # will not be recognized by linkers. On CYGWIN, we get strage
-        # duplicate symbol errors when library is generated with version
-        # suffix. On OSX, version suffix is not needed -- the linker expects
-        # the libFoo.1.2.3.dylib format. AIX linkers do not accept version
-        # suffixes either. Pgi compilers can not accept library with version
-        # suffix.
-        if $(type) = SHARED_LIB &&
-          ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) &&
-            ! ( [ $(property-set).get <toolset> ] in pgi ) )
-        {
-            result = $(result).$(BOOST_VERSION)  ;
-        }
-
-        return $(result) ;
-    }    
-}
-
-##############################################################################
-#
-# 2. Declare targets that build and install all libraries. Specifically:
-#
-#    - 'stage-proper' that puts all libraries in stage/lib
-#    - 'install-proper' that install libraries and headers to system location
-#    - 'stage-unversioned' that creates links to libraries without boost veriosn
-#       in name
-#    - 'install-unversioned' which creates unversioned linked to installed
-#       libraries.
-#
-##############################################################################  
-
-# Worker function suitable to the 'generate' metatarget. Creates a link
-# to 'source', striping any version number from the name.
-rule make-unversioned-links ( project name ? : property-set : sources * )
-{
-    local result ;
-    local filtered ;
-    local pattern ;
-    local nt = [ modules.peek : NT ] ;
-
-    # Collect the libraries that have the version number in 'filtered'.
-    for local s in $(sources)
-    {
-        local m ;
-        if $(nt)
-        {
-            m = [ MATCH "(.*[.]lib)" : [ $(s).name ] ] ;
-        }
-        else
-        {
-            m = [ MATCH "(.*[.]so[.0-9]+)" "(.*[.]dylib)" "(.*[.]a)" :
-              [ $(s).name ] ] ;
-        }
-        if $(m)
-        {
-            filtered += $(s) ;
-        }
-    }
-
-    # Create links without version.
-    for local s in $(filtered)
-    {
-        local name = [ $(s).name ] ;
-        local ea = [ $(s).action ] ;
-        local ep = [ $(ea).properties ] ;
-        local a  = [ new non-scanning-action $(s) : symlink.ln : $(ep) ] ;
-
-        local noversion-file ;
-        if $(nt)
-        {
-            noversion-file = [ MATCH "(.*)-[0-9_]+(.*[.]lib)" : $(name) ] ;
-        }
-        else
-        {
-            noversion-file =
-              [ MATCH "(.*)-[0-9_]+(.*[.]so)[.0-9]*" : $(name) ]
-                [ MATCH "(.*)-[0-9_]+(.*[.]dylib)" : $(name) ]
-                  [ MATCH "(.*)-[0-9_]+(.*[.]a)" : $(name) ]
-                    [ MATCH "(.*)-[0-9_]+(.*[.]dll[.]a)" : $(name) ] ;
-        }
-
-        local new-name =
-          $(noversion-file[1])$(noversion-file[2]) ;
-        result += [ new file-target $(new-name) exact : [ $(s).type ] : $(project)
-          : $(a) ] ;
-
-    }
-    return $(result) ;
-}
-
-rule declare_install_and_stage_proper_targets ( libraries * : headers * )
-{
-    install-requirements = <install-source-root>$(BOOST_ROOT)/boost ;
-
-    if $(layout-versioned)
-    {
-        install-requirements += <install-header-subdir>boost-$(BOOST_VERSION_TAG)/boost ;
-    }
-    else
-    {
-        install-requirements += <install-header-subdir>boost ;
-    }
-    
-    if [ os.name ] = NT
-    {
-        install-requirements += <install-default-prefix>C:/Boost ;
-    }
-    else
-    {
-        install-requirements += <install-default-prefix>/usr/local ;
-    }
-    
-    p = [ project.current ] ;
-    
-    # Complete install.
-    package.install install-proper
-      : $(install-requirements) <install-no-version-symlinks>on
-      :
-      : libs/$(libraries)/build
-      : $(headers)
-      ;
-    
-    $(p).mark-target-as-explicit install-proper ;
-
-    # Install just library.
-    install stage-proper
-      : libs/$(libraries)/build
-      : <location>$(stage-locate)/lib
-        <install-dependencies>on <install-type>LIB
-        <install-no-version-symlinks>on
-      ;
-    $(p).mark-target-as-explicit stage-proper ;
-
-    if $(layout-versioned) && ( [ modules.peek : NT ] || [ modules.peek : UNIX ] )
-    {
-        generate stage-unversioned : stage-proper :
-          <generating-rule>boostcpp.make-unversioned-links ;
-        $(p).mark-target-as-explicit stage-unversioned ;
-
-        generate install-unversioned : install-proper :
-          <generating-rule>boostcpp.make-unversioned-links ;
-        $(p).mark-target-as-explicit  explicit install-unversioned ;
-    }
-    else
-    {
-        # Create do-nothing aliases.
-        alias stage-unversioned ;
-        $(p).mark-target-as-explicit stage-unversioned ;
-        alias install-unversioned ;
-        $(p).mark-target-as-explicit install-unversioned ;
-    }
-}
-
-##############################################################################  
-#
-#  3. Declare top-level targets 'stage' and 'install'. These examine
-#  the --build-type option and, in case it's 'complete', build the
-#  'install-proper' and 'stage-proper' targets with a number of
-#  property sets.
-#
-##############################################################################  
-
-class top-level-target : alias-target-class
-{
-    import modules ;
-    import errors ; 
-    
-    rule __init__ ( name : project : sources * : requirements *
-        : default-build * : usage-requirements * )
-    {
-        alias-target-class.__init__ $(name) : $(project) : $(sources) :
-            $(requirements) : $(default-build) : $(usage-requirements) ;
-        
-        self.build-type = [ modules.peek boostcpp : build-type ] ;
-        # On Linux, we build release variant by default, since few users will
-        # ever want to debug C++ Boost libraries, and there's no ABI
-        # incompatibility between debug and release variants. We build
-        # shared and static libraries since that's what most packages
-        # seem to provide (.so in libfoo and .a in libfoo-dev).
-        self.minimal-properties = [ property-set.create 
-            <variant>release <threading>multi <link>shared <link>static <runtime-link>shared ] ;
-        # On Windows, new IDE projects use:
-        #
-        #   runtime-link=dynamic, threading=multi, variant=(debug|release)
-        #
-        # and in addition, C++ Boost's autolink defaults to static linking.
-        self.minimal-properties-win = [ property-set.create 
-            <variant>debug <variant>release <threading>multi <link>static <runtime-link>shared ] ;
-
-        self.complete-properties = [ property-set.create
-            <variant>debug <variant>release
-            <threading>single <threading>multi
-            <link>shared <link>static
-            <runtime-link>shared <runtime-link>static ] ;
-    }
-    
-    rule generate ( property-set )
-    {
-        local x = [ modules.peek : top-level-targets ] ;
-        x += $(self.name) ;
-        modules.poke : top-level-targets : $(x) ;
-        if $(self.build-type) = minimal
-        {
-            local expanded ;
-            
-            local os = [ $(property-set).get <target-os> ] ;
-            # Because we completely override parent's 'generate'
-            # we need to check for default value of feature ourself.
-            if ! $(os)
-            {
-                os = [ feature.defaults <target-os> ] ;
-                os = $(os:G=) ;
-            }
-            
-            if $(os) = windows
-            {                
-                expanded = [ targets.apply-default-build $(property-set)
-                  : $(self.minimal-properties-win) ] ;
-            }
-            else
-            {
-                expanded = [ targets.apply-default-build $(property-set)
-                  : $(self.minimal-properties) ] ;
-            }            
-            return [ build-multiple $(expanded) ] ;
-        }
-        else if $(self.build-type) = complete
-        {                                    
-            local expanded = [ targets.apply-default-build $(property-set)
-              : $(self.complete-properties) ] ;
-            
-            # Filter inappopriate combinations
-            local filtered ;
-            for local p in $(expanded)
-            {
-                # See comment in handle-static-runtime regarding this logic.
-                if [ $(p).get <link> ] = shared && [ $(p).get <runtime-link> ] = static
-                   && [ $(p).get <toolset> ] != cw
-                {
-                    # Skip this
-                }
-                else
-                {
-                    filtered += $(p) ;
-                }
-            }            
-            return [ build-multiple $(filtered) ] ;            
-        }
-        else
-        {
-            errors.error "Unknown build type" ; 
-        }               
-    }
-    
-    rule build-multiple ( property-sets * )
-    {
-        local usage-requirements = [ property-set.empty ] ;
-        local result ;
-        for local p in $(property-sets)
-        {
-            local r = [ alias-target-class.generate $(p) ] ;
-            if $(r)
-            {
-                usage-requirements = [ $(usage-requirements).add $(r[1]) ] ;
-                result += $(r[2-]) ;
-            }
-        }
-        return $(usage-requirements) [ sequence.unique $(result) ] ;
-    }    
-}
-
-rule declare_top_level_targets ( libraries * : headers * )
-{
-    declare_install_and_stage_proper_targets $(libraries) : $(headers) ;
-    
-    targets.create-metatarget top-level-target : [ project.current ]
-        : install
-        : install-proper install-unversioned 
-        ;
-    targets.create-metatarget top-level-target : [ project.current ]
-        : stage
-        : stage-proper stage-unversioned 
-        ;
-
-    p = [ project.current ] ;
-    $(p).mark-target-as-explicit install stage ;
-    
-    # This target is built by default, and will forward to 'stage'
-    # after producing some explanations.
-    targets.create-metatarget top-level-target : [ project.current ]
-        : forward
-        : explain stage
-        ;
-}
-
-
-stage-abs = [ path.native [ path.root $(stage-locate)/lib [ path.pwd ] ] ] ;
-
-##############################################################################
-#
-# 4. Add hook to report configuration before the build, and confirmation
-# with setup instructions after the build
-#
-##############################################################################  
-
-message explain :
-"\nBuilding the Boost C++ Libraries.\n\n" ;
-p = [ project.current ] ;
-$(p).mark-target-as-explicit explain ;
-
-rule pre-build ( )
-{
-    local tl = [ modules.peek : top-level-targets ] ;
-    if stage in $(tl) || install in $(tl)
-    {
-        # FIXME: remove if when Boost regression tests use trunk
-        # bjam.
-        if PAD in [ RULENAMES ]
-        {            
-            configure.print-component-configuration ;
-        }        
-    }
-}
-IMPORT $(__name__) : pre-build : : $(__name__).pre-build ;
-build-system.set-pre-build-hook $(__name__).pre-build ;
-
-# FIXME: revive stage_abs
-rule post-build ( ok ? ) 
-{
-    if forward in [ modules.peek : top-level-targets ] 
-    {        
-        if $(ok)
-        {
-        ECHO 
-"\n\nThe Boost C++ Libraries were successfully built!
-          
-The following directory should be added to compiler include paths:
-          
-    $(BOOST_ROOT)
-      
-The following directory should be added to linker library paths:
-      
-    $(stage-abs)
-" ;
-        }    
-    }    
-}
-IMPORT $(__name__) : post-build : : $(__name__).post-build ;
-build-system.set-post-build-hook $(__name__).post-build ;
-
-
-##############################################################################
-# 
-# 5. Top-level setup 
-#
-##############################################################################  
-
-
-# Decides which libraries are to be installed by looking at --with-<library>
-# --without-<library> arguments. Returns the list of directories under "libs"
-# which must be built and installed.
-#
-rule libraries-to-install ( existing-libraries * )
-{
-   local argv = [ modules.peek : ARGV ] ;
-   local with-parameter = [ MATCH --with-(.*) : $(argv) ] ;
-   local without-parameter = [ MATCH --without-(.*) : $(argv) ] ;
-   
-   if ! $(with-parameter) && ! $(without-parameter)
-   {
-       # Nothing is specified on command line. See if maybe
-       # project-config.jam has some choices. 
-       local project-config-libs = [ modules.peek project-config : libraries ] ;
-       with-parameter = [ MATCH --with-(.*) : $(project-config-libs) ] ;
-       without-parameter = [ MATCH --without-(.*) : $(project-config-libs) ] ;
-   }
-
-   # Do some checks.
-   if $(with-parameter) && $(without-parameter)
-   {
-       ECHO "error: both --with-<library> and --without-<library> specified" ;
-       EXIT ;
-   }
-
-   local wrong = [ set.difference $(with-parameter) : $(existing-libraries) ] ;
-   if $(wrong)
-   {
-       ECHO "error: wrong library name '$(wrong[1])' in the --with-<library> option." ;
-       EXIT ;
-   }
-   local wrong = [ set.difference $(without-parameter) : $(existing-libraries) ] ;
-   if $(wrong)
-   {
-       ECHO "error: wrong library name '$(wrong[1])' in the --without-<library> option." ;
-       EXIT ;
-   }
-
-   if $(with-parameter)
-   {
-       return [ set.intersection $(existing-libraries) : $(with-parameter) ] ;
-   }
-   else
-   {
-       return [ set.difference $(existing-libraries) : $(without-parameter) ] ;
-   }
-}
-
-rule declare-targets ( all-libraries * : headers * )
-{
-    configure.register-components $(all-libraries) ;
-    
-    # Select the libraries to install.
-    libraries = [ libraries-to-install $(all-libraries) ] ;
-    configure.components-building $(libraries) ;
-
-    if [ option.get "show-libraries" : : true ]
-    {
-        ECHO "The following libraries require building:" ;
-        for local l in $(libraries)
-        {
-            ECHO "    - $(l)" ;
-        }
-        EXIT ;
-    }
-
-    declare_top_level_targets $(libraries) : $(headers) ;
-}
diff --git a/SRC/Boost/bootstrap.bat b/SRC/Boost/bootstrap.bat
deleted file mode 100755
index a327ac0..0000000
--- a/SRC/Boost/bootstrap.bat
+++ /dev/null
@@ -1,81 +0,0 @@
- at ECHO OFF
-
-REM Copyright (C) 2009 Vladimir Prus
-REM
-REM Distributed under the Boost Software License, Version 1.0.
-REM (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-ECHO Building Boost.Build engine
-if exist ".\tools\build\v2\engine\bin.ntx86\b2.exe" del tools\build\v2\engine\bin.ntx86\b2.exe
-if exist ".\tools\build\v2\engine\bin.ntx86\bjam.exe" del tools\build\v2\engine\bin.ntx86\bjam.exe
-if exist ".\tools\build\v2\engine\bin.ntx86_64\b2.exe" del tools\build\v2\engine\bin.ntx86_64\b2.exe
-if exist ".\tools\build\v2\engine\bin.ntx86_64\bjam.exe" del tools\build\v2\engine\bin.ntx86_64\bjam.exe
-pushd tools\build\v2\engine
-
-call .\build.bat %* > ..\..\..\..\bootstrap.log
- at ECHO OFF
-
-popd
-
-if exist ".\tools\build\v2\engine\bin.ntx86\bjam.exe" (
-   copy .\tools\build\v2\engine\bin.ntx86\b2.exe . > nul
-   copy .\tools\build\v2\engine\bin.ntx86\bjam.exe . > nul
-   goto :bjam_built)
-
-if exist ".\tools\build\v2\engine\bin.ntx86_64\bjam.exe" (
-   copy .\tools\build\v2\engine\bin.ntx86_64\b2.exe . > nul
-   copy .\tools\build\v2\engine\bin.ntx86_64\bjam.exe . > nul
-   goto :bjam_built)
-
-goto :bjam_failure
-
-:bjam_built
-
-REM Ideally, we should obtain the toolset that build.bat has
-REM guessed. However, it uses setlocal at the start and does
-REM export BOOST_JAM_TOOLSET, and I don't know how to do that
-REM properly. Default to msvc for now.
-set toolset=msvc
-
-ECHO import option ; > project-config.jam
-ECHO. >> project-config.jam
-ECHO using %toolset% ; >> project-config.jam
-ECHO. >> project-config.jam
-ECHO option.set keep-going : false ; >> project-config.jam
-ECHO. >> project-config.jam
-
-ECHO.
-ECHO Bootstrapping is done. To build, run:
-ECHO.
-ECHO     .\b2
-ECHO.    
-ECHO To adjust configuration, edit 'project-config.jam'.
-ECHO Further information:
-ECHO.
-ECHO     - Command line help:
-ECHO     .\b2 --help
-ECHO.     
-ECHO     - Getting started guide: 
-ECHO     http://boost.org/more/getting_started/windows.html
-ECHO.     
-ECHO     - Boost.Build documentation:
-ECHO     http://www.boost.org/boost-build2/doc/html/index.html
-
-goto :end
-
-:bjam_failure
-
-ECHO.
-ECHO Failed to build Boost.Build engine.
-ECHO Please consult bootstrap.log for furter diagnostics.
-ECHO.
-ECHO You can try to obtain a prebuilt binary from
-ECHO.
-ECHO    http://sf.net/project/showfiles.php?group_id=7586^&package_id=72941
-ECHO.
-ECHO Also, you can file an issue at http://svn.boost.org 
-ECHO Please attach bootstrap.log in that case.
-
-goto :end
-
-:end
diff --git a/SRC/Boost/bootstrap.sh b/SRC/Boost/bootstrap.sh
deleted file mode 100755
index cfff6c5..0000000
--- a/SRC/Boost/bootstrap.sh
+++ /dev/null
@@ -1,382 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2005, 2006 Douglas Gregor.
-# Copyright (C) 2006 The Trustees of Indiana University
-#
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# boostinspect:notab - Tabs are required for the Makefile.
-
-BJAM=""
-TOOLSET=""
-BJAM_CONFIG=""
-BUILD=""
-PREFIX=/usr/local
-EPREFIX=
-LIBDIR=
-INCLUDEDIR=
-LIBS=""
-PYTHON=python
-PYTHON_VERSION=
-PYTHON_ROOT=
-ICU_ROOT=
-
-# Internal flags
-flag_no_python=
-flag_icu=
-flag_show_libraries=
-
-for option
-do
-    case $option in
-
-    -help | --help | -h)
-      want_help=yes ;;
-
-    -prefix=* | --prefix=*)
-      PREFIX=`expr "x$option" : "x-*prefix=\(.*\)"`
-      ;;
-
-    -exec-prefix=* | --exec-prefix=*)
-      EPREFIX=`expr "x$option" : "x-*exec-prefix=\(.*\)"`
-      ;;
-
-    -libdir=* | --libdir=*)
-      LIBDIR=`expr "x$option" : "x-*libdir=\(.*\)"`
-      ;;
-
-    -includedir=* | --includedir=*)
-      INCLUDEDIR=`expr "x$option" : "x-*includedir=\(.*\)"`
-      ;;
-
-    -show-libraries | --show-libraries )
-      flag_show_libraries=yes
-      ;;
-
-    -with-bjam=* | --with-bjam=* )
-      BJAM=`expr "x$option" : "x-*with-bjam=\(.*\)"`
-      ;;
-
-    -with-icu | --with-icu )
-      flag_icu=yes
-      ;;
-
-    -with-icu=* | --with-icu=* )
-      flag_icu=yes
-      ICU_ROOT=`expr "x$option" : "x-*with-icu=\(.*\)"`
-      ;;
-
-    -without-icu | --without-icu )
-      flag_icu=no
-      ;;
-
-    -with-libraries=* | --with-libraries=* )
-      library_list=`expr "x$option" : "x-*with-libraries=\(.*\)"`
-      if test "$library_list" != "all"; then
-          old_IFS=$IFS
-          IFS=,
-          for library in $library_list
-          do
-              LIBS="$LIBS --with-$library"
-
-              if test $library = python; then
-                  requested_python=yes
-              fi
-          done
-          IFS=$old_IFS
-
-          if test "x$requested_python" != xyes; then
-              flag_no_python=yes
-          fi
-      fi
-      ;;
-
-    -without-libraries=* | --without-libraries=* )
-      library_list=`expr "x$option" : "x-*without-libraries=\(.*\)"`
-      old_IFS=$IFS
-      IFS=,
-      for library in $library_list
-      do
-          LIBS="$LIBS --without-$library"
-
-          if test $library = python; then
-              flag_no_python=yes
-          fi
-      done
-      IFS=$old_IFS
-      ;;
-
-    -with-python=* | --with-python=* )
-      PYTHON=`expr "x$option" : "x-*with-python=\(.*\)"`
-      ;;
-
-    -with-python-root=* | --with-python-root=* )
-      PYTHON_ROOT=`expr "x$option" : "x-*with-python-root=\(.*\)"`
-      ;;
-
-    -with-python-version=* | --with-python-version=* )
-      PYTHON_VERSION=`expr "x$option" : "x-*with-python-version=\(.*\)"`
-      ;;
-
-    -with-toolset=* | --with-toolset=* )
-      TOOLSET=`expr "x$option" : "x-*with-toolset=\(.*\)"`
-      ;;
-
-    -*)
-      { echo "error: unrecognized option: $option
-Try \`$0 --help' for more information." >&2
-      { (exit 1); exit 1; }; }
-      ;; 
-
-    esac
-done
-
-if test "x$want_help" = xyes; then
-  cat <<EOF
-\`./bootstrap.sh' prepares Boost for building on a few kinds of systems.
-
-Usage: $0 [OPTION]... 
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help                display this help and exit
-  --with-bjam=BJAM          use existing Boost.Jam executable (bjam)
-                            [automatically built]
-  --with-toolset=TOOLSET    use specific Boost.Build toolset
-                            [automatically detected]
-  --show-libraries          show the set of libraries that require build
-                            and installation steps (i.e., those libraries
-                            that can be used with --with-libraries or
-                            --without-libraries), then exit
-  --with-libraries=list     build only a particular set of libraries,
-                            describing using either a comma-separated list of
-                            library names or "all"
-                            [all]
-  --without-libraries=list  build all libraries except the ones listed []
-  --with-icu                enable Unicode/ICU support in Regex 
-                            [automatically detected]
-  --without-icu             disable Unicode/ICU support in Regex
-  --with-icu=DIR            specify the root of the ICU library installation
-                            and enable Unicode/ICU support in Regex
-                            [automatically detected]
-  --with-python=PYTHON      specify the Python executable [python]
-  --with-python-root=DIR    specify the root of the Python installation
-                            [automatically detected]
-  --with-python-version=X.Y specify the Python version as X.Y
-                            [automatically detected]
-
-Installation directories:
-  --prefix=PREFIX           install Boost into the given PREFIX
-                            [/usr/local]
-  --exec-prefix=EPREFIX     install Boost binaries into the given EPREFIX
-                            [PREFIX]
-
-More precise control over installation directories:
-  --libdir=DIR              install libraries here [EPREFIX/lib]
-  --includedir=DIR          install headers here [PREFIX/include]
-
-EOF
-fi
-test -n "$want_help" && exit 0
-
-# TBD: Determine where the script is located
-my_dir="."
-
-# Determine the toolset, if not already decided
-if test "x$TOOLSET" = x; then
-  guessed_toolset=`$my_dir/tools/build/v2/engine/build.sh --guess-toolset`
-  case $guessed_toolset in
-    acc | darwin | gcc | como | mipspro | pathscale | pgi | qcc | vacpp )
-    TOOLSET=$guessed_toolset
-    ;;
-    
-    intel-* )
-    TOOLSET=intel
-    ;;
-    
-    mingw )
-    TOOLSET=gcc
-    ;;
-    
-    sun* )
-    TOOLSET=sun
-    ;;
-    
-    * )
-    # Not supported by Boost.Build
-    ;;
-  esac
-fi
-
-rm -f config.log
-
-# Build bjam
-if test "x$BJAM" = x; then
-  echo -n "Building Boost.Build engine with toolset $TOOLSET... "
-  pwd=`pwd`
-  (cd "$my_dir/tools/build/v2/engine" && ./build.sh "$TOOLSET") > bootstrap.log 2>&1
-  if [ $? -ne 0 ]; then
-      echo
-      echo "Failed to build Boost.Build build engine" 
-      echo "Consult 'bootstrap.log' for more details"
-      exit 1
-  fi
-  cd "$pwd"
-  arch=`cd $my_dir/tools/build/v2/engine && ./bootstrap/jam0 -d0 -f build.jam --toolset=$TOOLSET --toolset-root= --show-locate-target && cd ..`
-  BJAM="$my_dir/tools/build/v2/engine/$arch/b2"
-  echo "tools/build/v2/engine/$arch/b2"
-  cp "$BJAM" .
-  cp "$my_dir/tools/build/v2/engine/$arch/bjam" .
-
-fi
-
-# TBD: Turn BJAM into an absolute path
-
-# If there is a list of libraries 
-if test "x$flag_show_libraries" = xyes; then
-  cat <<EOF
-
-The following Boost libraries have portions that require a separate build
-and installation step. Any library not listed here can be used by including
-the headers only.
-
-The Boost libraries requiring separate building and installation are:
-EOF
-  $BJAM -d0 --show-libraries | grep '^[[:space:]]*-'
-  exit 0
-fi
-
-# Setup paths
-if test "x$EPREFIX" = x; then
-  EPREFIX="$PREFIX"
-fi
-
-if test "x$LIBDIR" = x; then
-  LIBDIR="$EPREFIX/lib"
-fi
-
-if test "x$INCLUDEDIR" = x; then
-  INCLUDEDIR="$PREFIX/include"
-fi
-
-# Find Python
-if test "x$flag_no_python" = x; then
-  result=`$PYTHON -c "exit" > /dev/null 2>&1`
-  if [ "$?" -ne "0" ]; then
-    flag_no_python=yes
-  fi
-fi
-
-if test "x$flag_no_python" = x; then
-    if test "x$PYTHON_VERSION" = x; then
-        echo -n "Detecting Python version... "
-        PYTHON_VERSION=`$PYTHON -c "import sys; print (\"%d.%d\" % (sys.version_info[0], sys.version_info[1]))"`
-        echo $PYTHON_VERSION
-    fi
-
-    if test "x$PYTHON_ROOT" = x; then
-        echo -n "Detecting Python root... "
-        PYTHON_ROOT=`$PYTHON -c "import sys; print sys.prefix"`
-        echo $PYTHON_ROOT
-    fi    
-fi
-
-# Configure ICU
-echo -n "Unicode/ICU support for Boost.Regex?... "
-if test "x$flag_icu" != xno; then
-  if test "x$ICU_ROOT" = x; then
-    COMMON_ICU_PATHS="/usr /usr/local /sw"
-    for p in $COMMON_ICU_PATHS; do
-      if test -r $p/include/unicode/utypes.h; then
-        ICU_ROOT=$p
-      fi
-    done
-  
-    if test "x$ICU_ROOT" = x; then
-      echo "not found."
-    else      
-      BJAM_CONFIG="$BJAM_CONFIG -sICU_PATH=$ICU_ROOT"
-      echo "$ICU_ROOT"
-    fi
-  else
-    BJAM_CONFIG="$BJAM_CONFIG -sICU_PATH=$ICU_ROOT"
-    echo "$ICU_ROOT"
-  fi
-else
-  echo "disabled."
-fi
-
-# Backup the user's existing project-config.jam
-JAM_CONFIG_OUT="project-config.jam"
-if test -r "project-config.jam"; then
-  counter=1
- 
-  while test -r "project-config.jam.$counter"; do
-    counter=`expr $counter + 1`
-  done
-
-  echo "Backing up existing Boost.Build configuration in project-config.jam.$counter"
-  mv "project-config.jam" "project-config.jam.$counter"
-fi
-
-# Generate user-config.jam
-echo "Generating Boost.Build configuration in project-config.jam..."
-cat > project-config.jam <<EOF
-# Boost.Build Configuration
-# Automatically generated by bootstrap.sh
-
-import option ;
-import feature ;
-
-# Compiler configuration. This definition will be used unless
-# you already have defined some toolsets in your user-config.jam
-# file.
-if ! $TOOLSET in [ feature.values <toolset> ]
-{
-    using $TOOLSET ; 
-}
-
-project : default-build <toolset>$TOOLSET ;
-EOF
-
-#  - Python configuration
-if test "x$flag_no_python" = x; then
-  cat >> project-config.jam <<EOF
-
-# Python configuration
-using python : $PYTHON_VERSION : $PYTHON_ROOT ;
-EOF
-fi
-
-if test "x$ICU_ROOT" != x; then
-  cat >> project-config.jam << EOF
-
-path-constant ICU_PATH : $ICU_ROOT ;
-
-EOF
-fi
-
-cat >> project-config.jam << EOF
-
-# List of --with-<library> and --without-<library>
-# options. If left empty, all libraries will be built.
-# Options specified on the command line completely
-# override this variable.
-libraries = $LIBS ;
-
-# These settings are equivivalent to corresponding command-line
-# options.
-option.set prefix : $PREFIX ;
-option.set exec-prefix : $EPREFIX ;
-option.set libdir : $LIBDIR ;
-option.set includedir : $INCLUDEDIR ;
-
-# Stop on first error
-option.set keep-going : false ;
-EOF
-
-cat << EOF
-
-Bootstrapping is done. 
-EOF
diff --git a/SRC/Boost/edit-header-for-openmeca.sh b/SRC/Boost/edit-header-for-openmeca.sh
deleted file mode 100755
index 585e0c2..0000000
--- a/SRC/Boost/edit-header-for-openmeca.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-cd BUILD/include/boost/
-
-if find . -writable -type f -print0 -name "*pp" | xargs -0 grep  -q "#include <boost/"
-then 
-    echo "need to change boost header";
-    find . -writable -type f -print0 -name "*pp" | xargs -0 sed -i 's/#include <\(boost.*\)>/#include "Boost\/BUILD\/include\/\1"/g'
-else
-   echo "do not need to change boost header";
-fi
diff --git a/SRC/Boost/libs/assign/doc/email_example.html b/SRC/Boost/libs/assign/doc/email_example.html
deleted file mode 100755
index 8ded206..0000000
--- a/SRC/Boost/libs/assign/doc/email_example.html
+++ /dev/null
@@ -1,174 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Boost.Assignment Documentation </title>
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-
-<body>
-<pre>
-<span class=comment>// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-</span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>detail</span><span class=special>/</span><span class=identifier>workaround</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>>
-</span>
-<span class=preprocessor>#if </span><span class=identifier>BOOST_WORKAROUND</span><span class=special>(</span><span class=identifier>__BORLANDC__</span><span class=special>, </span><span class=identifier>BOOST_TESTED_AT</span><span class=special>(</span><span class=number>0</span><span class=identifier>x564</span><span class=special>))</span>
-###<span class=identifier>pragma </span><span class=identifier>warn </span><span class=special>-</span><span class=number>8091 </span><span class=comment>// supress warning in Boost.Test</span>
-###<span class=identifier>pragma </span><span class=identifier>warn </span><span class=special>-</span><span class=number>8057 </span><span class=comment>// unused argument argc/argv in Boost.Test</span>
-<span class=preprocessor>#endif
-</span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>list_inserter</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>test</span><span class=special>/</span><span class=identifier>unit_test</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>test</span><span class=special>/</span><span class=identifier>test_tools</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>function</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>bind</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>vector</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>map</span><span class=special>>
-</span>
-<span class=keyword>namespace </span><span class=identifier>ba </span><span class=special>= </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;
-</span>
-<span class=keyword>class </span><span class=identifier>email</span>
-<span class=special>{</span>
-<span class=keyword>public</span><span class=special>:
-    </span><span class=keyword>enum </span><span class=identifier>address_option
-    </span><span class=special>{
-        </span><span class=identifier>check_addr_book</span><span class=special>,
-        </span><span class=identifier>dont_check_addr_book
-    </span><span class=special>};
-    
-    </span><span class=keyword>typedef </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>pair</span><span class=special><</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>,</span><span class=identifier>address_option</span><span class=special>> </span><span class=identifier>bcc_type</span><span class=special>;
-    </span><span class=keyword>typedef </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>vector</span><span class=special>< </span><span class=identifier>bcc_type </span><span class=special>>               </span><span class=identifier>bcc_map</span><span class=special>;
-    </span><span class=keyword>typedef </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>map</span><span class=special><</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>,</span><span class=identifier>address_option</span><span class=special>>  </span><span class=identifier>address_map</span><span class=special>;
-    
-    </span>
-<span class=keyword>private</span><span class=special>:
-
-    </span><span class=keyword>mutable </span><span class=identifier>address_map      </span><span class=identifier>cc_list</span><span class=special>;
-    </span><span class=keyword>mutable </span><span class=identifier>address_map      </span><span class=identifier>to_list</span><span class=special>;
-    </span><span class=identifier>bcc_map                  </span><span class=identifier>bcc_list</span><span class=special>;
-            
-    </span><span class=keyword>struct </span><span class=identifier>add_to_map
-    </span><span class=special>{
-        </span><span class=identifier>address_map</span><span class=special>& </span><span class=identifier>m</span><span class=special>;
-    
-        </span><span class=identifier>add_to_map</span><span class=special>( </span><span class=identifier>address_map</span><span class=special>& </span><span class=identifier>m </span><span class=special>) </span><span class=special>: </span><span class=identifier>m</span><span class=special>(</span><span class=identifier>m</span><span class=special>)        
-        </span><span class=special>{}
-    
-        </span><span class=keyword>void </span><span class=keyword>operator</span><span class=special>()( </span><span class=keyword>const </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>& </span><span class=identifier>name</span><span class=special>, </span><span class=identifier>address_option </span><span class=identifier>ao </span><span class=special>)
-        </span><span class=special>{
-            </span><span class=identifier>m</span><span class=special>[ </span><span class=identifier>name </span><span class=special>] </span><span class=special>= </span><span class=identifier>ao</span><span class=special>; 
-        </span><span class=special>}
-        
-        </span><span class=keyword>void </span><span class=keyword>operator</span><span class=special>()( </span><span class=keyword>const </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>& </span><span class=identifier>name </span><span class=special>)
-        </span><span class=special>{
-            </span><span class=identifier>m</span><span class=special>[ </span><span class=identifier>name </span><span class=special>] </span><span class=special>= </span><span class=identifier>check_addr_book</span><span class=special>;
-        </span><span class=special>}
-    </span><span class=special>};
-
-    </span><span class=keyword>struct </span><span class=identifier>add_to_vector
-    </span><span class=special>{
-        </span><span class=identifier>bcc_map</span><span class=special>& </span><span class=identifier>m</span><span class=special>;
-        
-        </span><span class=identifier>add_to_vector</span><span class=special>( </span><span class=identifier>bcc_map</span><span class=special>& </span><span class=identifier>m </span><span class=special>) </span><span class=special>: </span><span class=identifier>m</span><span class=special>(</span><span class=identifier>m</span><span class=special>)
-        </span><span class=special>{}
-        
-        </span><span class=keyword>void </span><span class=keyword>operator</span><span class=special>()( </span><span class=keyword>const </span><span class=identifier>bcc_type</span><span class=special>& </span><span class=identifier>r </span><span class=special>)
-        </span><span class=special>{
-            </span><span class=identifier>m</span><span class=special>.</span><span class=identifier>push_back</span><span class=special>( </span><span class=identifier>r </span><span class=special>);
-        </span><span class=special>}
-    </span><span class=special>};
-</span>
-<span class=keyword>public</span><span class=special>:
-    
-    </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>list_inserter</span><span class=special>< </span><span class=identifier>add_to_map </span><span class=special>>
-    </span><span class=identifier>add_cc</span><span class=special>( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string </span><span class=identifier>name</span><span class=special>, </span><span class=identifier>address_option </span><span class=identifier>ao </span><span class=special>)
-    </span><span class=special>{
-        </span><span class=keyword>return </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>make_list_inserter</span><span class=special>( </span><span class=identifier>add_to_map</span><span class=special>( </span><span class=identifier>cc_list </span><span class=special>) </span><span class=special>)( </span><span class=identifier>name</span><span class=special>, </span><span class=identifier>ao </span><span class=special>);
-    </span><span class=special>}
-
-    </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>list_inserter</span><span class=special>< </span><span class=identifier>add_to_map </span><span class=special>>
-    </span><span class=identifier>add_to</span><span class=special>( </span><span class=keyword>const </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>& </span><span class=identifier>name </span><span class=special>)
-    </span><span class=special>{
-        </span><span class=keyword>return </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>make_list_inserter</span><span class=special>( </span><span class=identifier>add_to_map</span><span class=special>( </span><span class=identifier>to_list </span><span class=special>) </span><span class=special>)( </span><span class=identifier>name </span><span class=special>);
-    </span><span class=special>}
-    
-    </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>list_inserter</span><span class=special>< </span><span class=identifier>add_to_vector</span><span class=special>, </span><span class=identifier>bcc_type </span><span class=special>>
-    </span><span class=identifier>add_bcc</span><span class=special>( </span><span class=keyword>const </span><span class=identifier>bcc_type</span><span class=special>& </span><span class=identifier>bcc </span><span class=special>)
-    </span><span class=special>{
-        </span><span class=keyword>return </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>make_list_inserter</span><span class=special>( </span><span class=identifier>add_to_vector</span><span class=special>( </span><span class=identifier>bcc_list </span><span class=special>) </span><span class=special>)( </span><span class=identifier>bcc </span><span class=special>);     
-    </span><span class=special>}
-    
-    </span><span class=identifier>address_option
-    </span><span class=identifier>cc_at</span><span class=special>( </span><span class=keyword>const </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>& </span><span class=identifier>name </span><span class=special>) </span><span class=keyword>const
-    </span><span class=special>{
-        </span><span class=keyword>return </span><span class=identifier>cc_list</span><span class=special>[ </span><span class=identifier>name </span><span class=special>];
-    </span><span class=special>}
-    
-    </span><span class=identifier>address_option 
-    </span><span class=identifier>to_at</span><span class=special>( </span><span class=keyword>const </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>& </span><span class=identifier>name </span><span class=special>) </span><span class=keyword>const
-    </span><span class=special>{
-        </span><span class=keyword>return </span><span class=identifier>to_list</span><span class=special>[ </span><span class=identifier>name </span><span class=special>];
-    </span><span class=special>}
-    
-    </span><span class=identifier>address_option
-    </span><span class=identifier>bcc_at</span><span class=special>( </span><span class=keyword>unsigned </span><span class=identifier>index </span><span class=special>) </span><span class=keyword>const
-    </span><span class=special>{
-        </span><span class=keyword>return </span><span class=identifier>bcc_list</span><span class=special>.</span><span class=identifier>at</span><span class=special>( </span><span class=identifier>index </span><span class=special>).</span><span class=identifier>second</span><span class=special>;
-    </span><span class=special>}</span>
-<span class=special>};
-
-
-</span>
-<span class=keyword>void </span><span class=identifier>check_list_inserter</span><span class=special>()</span>
-<span class=special>{
-    </span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;
-
-    </span><span class=identifier>email </span><span class=identifier>e</span><span class=special>;
-    </span><span class=identifier>e</span><span class=special>.</span><span class=identifier>add_cc</span><span class=special>( </span><span class=string>"franz"</span><span class=special>, </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>dont_check_addr_book </span><span class=special>)
-            </span><span class=special>( </span><span class=string>"hanz"</span><span class=special>, </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>check_addr_book </span><span class=special>)
-            </span><span class=special>( </span><span class=string>"betty"</span><span class=special>, </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>dont_check_addr_book </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>e</span><span class=special>.</span><span class=identifier>cc_at</span><span class=special>( </span><span class=string>"franz" </span><span class=special>), </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>dont_check_addr_book </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>e</span><span class=special>.</span><span class=identifier>cc_at</span><span class=special>( </span><span class=string>"hanz" </span><span class=special>), </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>check_addr_book </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>e</span><span class=special>.</span><span class=identifier>cc_at</span><span class=special>( </span><span class=string>"betty" </span><span class=special>), </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>dont_check_addr_book </span><span class=special>);
-
-    </span><span class=identifier>e</span><span class=special>.</span><span class=identifier>add_to</span><span class=special>( </span><span class=string>"betsy" </span><span class=special>)( </span><span class=string>"peter" </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>e</span><span class=special>.</span><span class=identifier>cc_at</span><span class=special>( </span><span class=string>"betsy" </span><span class=special>), </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>check_addr_book </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>e</span><span class=special>.</span><span class=identifier>cc_at</span><span class=special>( </span><span class=string>"peter" </span><span class=special>), </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>check_addr_book </span><span class=special>);
-    
-    </span><span class=identifier>e</span><span class=special>.</span><span class=identifier>add_bcc</span><span class=special>( </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>bcc_type</span><span class=special>( </span><span class=string>"Mr. Foo"</span><span class=special>, </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>check_addr_book </span><span class=special>) </span><span class= [...]
-             </span><span class=special>( </span><span class=string>"Mr. Bar"</span><span class=special>, </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>dont_check_addr_book </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>e</span><span class=special>.</span><span class=identifier>bcc_at</span><span class=special>( </span><span class=number>0 </span><span class=special>), </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>check_addr_book </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>e</span><span class=special>.</span><span class=identifier>bcc_at</span><span class=special>( </span><span class=number>1 </span><span class=special>), </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>dont_check_addr_book </span><span class=special>);
-    </span>
-<span class=special>}
-
-
-</span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>test</span><span class=special>/</span><span class=identifier>included</span><span class=special>/</span><span class=identifier>unit_test_framework</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>> 
-</span>
-<span class=keyword>using </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>unit_test_framework</span><span class=special>::</span><span class=identifier>test_suite</span><span class=special>;
-</span>
-<span class=identifier>test_suite</span><span class=special>* </span><span class=identifier>init_unit_test_suite</span><span class=special>( </span><span class=keyword>int </span><span class=identifier>argc</span><span class=special>, </span><span class=keyword>char</span><span class=special>* </span><span class=identifier>argv</span><span class=special>[] </span><span class=special>)</span>
-<span class=special>{
-    </span><span class=identifier>test_suite</span><span class=special>* </span><span class=identifier>test </span><span class=special>= </span><span class=identifier>BOOST_TEST_SUITE</span><span class=special>( </span><span class=string>"List Test Suite" </span><span class=special>);
-
-    </span><span class=identifier>test</span><span class=special>-></span><span class=identifier>add</span><span class=special>( </span><span class=identifier>BOOST_TEST_CASE</span><span class=special>( </span><span class=special>&</span><span class=identifier>check_list_inserter </span><span class=special>) </span><span class=special>);
-
-    </span><span class=keyword>return </span><span class=identifier>test</span><span class=special>;</span>
-<span class=special>}
-
-</span>
-
-</pre>
-</body>
-</html>
diff --git a/SRC/Boost/libs/assign/doc/index.html b/SRC/Boost/libs/assign/doc/index.html
deleted file mode 100755
index 6f6f30a..0000000
--- a/SRC/Boost/libs/assign/doc/index.html
+++ /dev/null
@@ -1,1432 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Boost.Assignment Documentation </title>
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-
-<body>
-
-  <table border="0" >
-    <tr>
-      <td ><img src="../../../boost.png" border="0" ></td>
-      <td >
-        <h1 align="center">Assignment Library</h1>
-      </td>
-    </tr>
-  </table>
-
-  <p>
-  Copyright � 2003-2006 Thorsten Ottosen
-  </p>
-  <p>
-  Use, modification and distribution is subject to the Boost Software License, Version 1.0
-  (see <a href="http://www.boost.org/LICENSE_1_0.txt">
-   http://www.boost.org/LICENSE_1_0.txt</a>).
-  </p>
-  <h3>Table of Contents</h3>
-  <ul>
-    <li><a href="#intro">Introduction</a></li>
-    <li>     
-        <a href="#tutorial" >Tutorial</a>
-        <ul>
-            <li>Function <a href="#operator+="><code>operator+=()</code></a>
-            <li>Function <a href="#operator()"><code>operator()()</code></a>
-            <li>Function <a href="#list_of"><code>list_of()</code></a>    
-            <li>Function <a href="#map_list_of"><code>map_list_of()</code></a> 
-            <li>Function <a href="#tuple_list_of"><code>tuple_list_of()</code></a>
-            <li>Functions <a href="#repeat"><code>repeat()</code>, <code>repeat_fun()</code> and <code>range()</code> </a>
-            <li>Functions <a href="#ref_list_of"><code>ref_list_of()</code> and <code>cref_list_of()</code></a>    
-            <li>A <a href="#complicated">"complicated"</a> example    
-            <li>Functions <a href="#ptr_push_back"><code>ptr_push_back(), ptr_push_front()</code>, 
-                                                   <code>ptr_insert()</code> and <code>ptr_map_insert()</code></a>
-            <li>Function <a href="#ptr_list_of"><code>ptr_list_of()</code></a>         
-       </ul> <li>          
-                
-        <a href="#reference">Reference</a>
-      <ul>
-        <li><a href="#headers">Headers</a> </li>
-        <li><a href="#std">Standard containers</a> </li>
-        <li>Functions <a href="#list_of_ref"><code>list_of()</code> and <code>map_list_of()</code></a></li>
-        <li>Functions <a href="#repeat_ref"><code>repeat()</code>, 
-            <code>repeat_fun()</code> and <code>range()</code> </a> </li> 
-        <li>Class <a href="#list_inserter"><code>list_inserter</code></a></li>
-        <li>Function <a href="#make_list_inserter"><code>make_list_inserter()</code></a></li>
-        <li><a href="#limit"> Customizing</a> argument list sizes</li>   
-     </ul>
-    <li> <a href="#exceptions">Exceptions and exception-safety </a></li>
-    <li> <a href="#extensions">Extending the library</a>            
-    <li> <a href="#boost_libs">Supported libraries </a>        
-    <li> <a href="#examples">Examples</a></li> <ul></ul>
-    <li><a href="#portability">Portability</a></li>
-    <li><a href="#history">History and Acknowledgment</a>    
-    <li><a href="#ref">References</a></li>
-  </ul>
-  <hr>
-
- 
-  
-<h2><a name="intro">Introduction</a></h2> <p> <i>There appear to be few 
-practical uses of <code>operator,()</code></i>.  <!-- p.  247 --> <br><b>Bjarne 
-Stroustrup</b>, The Design and Evolution of C++ </p> <p> The purpose of this 
-library is to make it easy to fill containers with data by overloading 
-<code>operator,()</code> and <code>operator()()</code>.  These two operators 
-make it possible to construct lists of values that are then copied into a 
-container: </p> <ul> <li> A comma-separated list: <p> 
-       <!--  vector< int > v; v += 1,2,3,4,5,6,7,8,9; -->
- 
-<pre><span 
-class=identifier>vector</span><span class=special><</span><span 
-class=keyword>int</span><span class=special>></span><span 
-class=identifier> v</span><span class=special>; </span>
-<span class=identifier>v </span><span class=special>+= </span><span 
-class=number>1</span><span
-class=special>,</span><span class=number>2</span><span 
-class=special>,</span><span class=number>3</span><span 
-class=special>,</span><span class=number>4</span><span 
-class=special>,</span><span class=number>5</span><span 
-class=special>,</span><span class=number>6</span><span 
-class=special>,</span><span class=number>7</span><span 
-class=special>,</span><span class=number>8</span><span 
-class=special>,</span><span class=number>9</span><span class=special>;</span></pre></p>
-       <li> A parenthesis-separated list: 
-             <p>       
-             <pre>
-<span class=identifier>map</span><span class=special><</span><span 
-class=identifier>string</span><span class=special>,</span><span class=keyword>int</span><span class=special>> </span><span class=identifier>m</span><span class=special>; </span>
-<span class=identifier>insert</span><span class=special>( </span><span class=identifier>m </span><span class=special>)( </span><span class=string>"Bar"</span><span class=special>, </span><span class=number>1 </span><span class=special>)( </span><span class=string>"Foo"</span><span class=special>, </span><span class=number>2 </span><span class=special>);</span></pre> 
-    </ul> 
-<p>
-    These lists are particularly useful in
-    learning, testing, and prototyping situations, but can also be handy otherwise. 
-      The library comes with predefined operators for the containers of the  
-      standard library, but most functionality will work with any standard 
-compliant container. The library also makes it possible to extend user
-  defined types so for example a member function can be called for a list of 
-values instead of its normal arguments. </p>
-   <hr>
-   
-   <a name="tutorial"></a>
-   <h2>Tutorial</h2>
-   <p>
-   Within two minutes you should be able to use this library. The main 
-components are explained in these sections:
-   <ul>
-        <li>Function <a href="#operator+="><code>operator+=()</code></a>
-        <li>Function <a href="#operator()"><code>operator()()</code></a>
-        <li>Function <a href="#list_of"><code>list_of()</code></a>    
-        <li>Function <a href="#map_list_of"><code>map_list_of()</code></a> 
-        <li>Function <a href="#tuple_list_of"><code>tuple_list_of()</code></a>   
-        <li>Functions <a href="#repeat"><code>repeat()</code>, <code>repeat_fun()</code> and <code>range()</code> </a>
-        <li>Functions <a href="#ref_list_of"><code>ref_list_of()</code> and <code>cref_list_of()</code></a>
-        <li>A <a href="#complicated">"complicated"</a> example    
-        <li>Functions <a href="#ptr_push_back"><code>ptr_push_back(), ptr_push_front()</code>, <code>ptr_insert()</code> and <code>ptr_map_insert()</code></a>
-        <li>Function <a href="#ptr_list_of"><code>ptr_list_of()</code></a>         
-            
-   </ul>
-   The two first functions are used for adding elements after a container object
-   has been created whereas the next two is used when we need to initialize an 
-   object. </p>
-   <h3>Function <code>operator+=()</code><a name="operator+="></h3>
-   <p>
-    To fill a vector (or any standard container) with values using 
-    <code>operator+=()</code> you write   
-    <blockquote><pre>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>std</span><span class=special>/</span><span class=identifier>vector</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>> </span><span class=comment>// for 'operator+=()'
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assert</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>>; 
-</span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>std</span><span class=special>;
-</span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>; </span><span class=comment>// bring 'operator+=()' into scope
-</span><span class=special>
-</span><span class=special>{
-    </span><span class=identifier>vector</span><span class=special><</span><span class=keyword>int</span><span class=special>> </span><span class=identifier>values</span><span class=special>;  
-    </span><span class=identifier>values </span><span class=special>+= </span><span class=number>1</span><span class=special>,</span><span class=number>2</span><span class=special>,</span><span class=number>3</span><span class=special>,</span><span class=number>4</span><span class=special>,</span><span class=number>5</span><span class=special>,</span><span class=number>6</span><span class=special>,</span><span class=number>7</span><span class=special>,</span><span class=number>8</span><s [...]
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>values</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>9 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>values</span><span class=special>[</span><span class=number>0</span><span class=special>] </span><span class=special>== </span><span class=number>1 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>values</span><span class=special>[</span><span class=number>8</span><span class=special>] </span><span class=special>== </span><span class=number>9 </span><span class=special>);
-</span><span class=special>}</span></pre></blockquote>
-
-    Here we only stuffed constants into the container, but the list can
-    consists of arbitrary expressions as long as the result of each  
-expression is convertible to the <code>value_type</code> of the container.
-   </p> 
-   
-   
-   <h3>Function <code>operator()()</code> <a name="operator()"></h3>
-   <p>
-   We do not call <code>operator()()</code> directly, but instead we call a 
-   function that returns a proxy-object that defines <code>operator()()</code>.
-   The function that returns the proxy object is always named after the member
-   function that is used to copy the values in the list into the container.
-   So to fill a map with pairs of values you write 
-   <blockquote><pre>
-<span class=preprocessor>#include </span><span class=special><</span><span 
-class=identifier>boost</span><span class=special>/</span><span 
-class=identifier>assign</span><span class=special>/</span><span 
-class=identifier>list_inserter</span><span class=special>.</span><span 
-class=identifier>hpp</span><span class=special>> </span><span class=comment>// for 'insert()'
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assert</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>> 
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>string</span><span class=special>>
-</span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>std</span><span class=special>;
-</span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>; </span><span class=comment>// bring 'insert()' into scope
-</span><span class=special> 
-</span><span class=special>{
-    </span><span class=identifier>map</span><span class=special><</span><span class=identifier>string</span><span class=special>,</span><span class=keyword>int</span><span class=special>> </span><span class=identifier>months</span><span class=special>;  
-    </span><span class=identifier>insert</span><span class=special>( </span><span class=identifier>months </span><span class=special>)
-        </span><span class=special>( </span><span class=string>"january"</span><span class=special>,   </span><span class=number>31 </span><span class=special>)( </span><span class=string>"february"</span><span class=special>, </span><span class=number>28 </span><span class=special>)
-        </span><span class=special>( </span><span class=string>"march"</span><span class=special>,     </span><span class=number>31 </span><span class=special>)( </span><span class=string>"april"</span><span class=special>,    </span><span class=number>30 </span><span class=special>)
-        </span><span class=special>( </span><span class=string>"may"</span><span class=special>,       </span><span class=number>31 </span><span class=special>)( </span><span class=string>"june"</span><span class=special>,     </span><span class=number>30 </span><span class=special>)
-        </span><span class=special>( </span><span class=string>"july"</span><span class=special>,      </span><span class=number>31 </span><span class=special>)( </span><span class=string>"august"</span><span class=special>,   </span><span class=number>31 </span><span class=special>)
-        </span><span class=special>( </span><span class=string>"september"</span><span class=special>, </span><span class=number>30 </span><span class=special>)( </span><span class=string>"october"</span><span class=special>,  </span><span class=number>31 </span><span class=special>)
-        </span><span class=special>( </span><span class=string>"november"</span><span class=special>,  </span><span class=number>30 </span><span class=special>)( </span><span class=string>"december"</span><span class=special>, </span><span class=number>31 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>months</span><span class=special>.</span><span 
-class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>12 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>months</span><span class=special>[</span><span class=string>"january"</span><span class=special>] </span><span class=special>== </span><span class=number>31 </span><span class=special>);
-</span><span class=special>}</span> </pre></blockquote>
-
-   Note that <code>operator()()</code> is much more handy when
-   we need to construct objects using several arguments
-   (up to five arguments are supported by default, but the limit can be <a href="#limit">customized</a>).
-    This is also true for sequences:
-
-      <blockquote><pre>
-<span class=preprocessor>#include </span><span class=special><</span><span 
-class=identifier>boost</span><span class=special>/</span><span 
-class=identifier>assign</span><span class=special>/</span>list_inserter</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>> </span><span class=comment>// for 'push_front()'
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assert</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>> 
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>string</span><span class=special>>
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>utility</span><span class=special>>
-</span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>std</span><span class=special>;
-</span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>; </span><span class=comment>// bring 'push_front()' into scope
-</span><span class=special> 
-</span><span class=special>{
-    </span><span class=keyword>typedef </span><span class=identifier>pair</span><span class=special>< </span><span class=identifier>string</span><span class=special>,</span><span class=identifier>string </span><span class=special>> </span><span class=identifier>str_pair</span><span class=special>;
-    </span><span class=identifier>deque</span><span class=special><</span><span class=identifier>str_pair</span><span class=special>> </span><span class=identifier>deq</span><span class=special>;
-    </span><span class=identifier>push_front</span><span class=special>( </span><span class=identifier>deq </span><span class=special>)( </span><span class=string>"foo"</span><span class=special>, </span><span class=string>"bar"</span><span class=special>)( </span><span class=string>"boo"</span><span class=special>, </span><span class=string>"far" </span><span class=special>); 
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>deq</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>2 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>deq</span><span class=special>.</span><span class=identifier>front</span><span class=special>().</span><span class=identifier>first </span><span class=special>== </span><span class=string>"boo" </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>deq</span><span class=special>.</span><span class=identifier>back</span><span class=special>().</span><span class=identifier>second </span><span class=special>== </span><span class=string>"bar" </span><span class=special>);
-</span><span class=special>}   </span></pre></blockquote>
-
-   Besides <code>push_front()</code> we could also have used
-   <code>push_back()</code> if the container has a corresponding member
-   function. Empty parentheses can be used to insert default-constructed 
-objects, for example, 
-<code>push_front( deq )()()</code> will insert two default-constructed 
-<code>str_pair</code> objects. </p>   
-   
-   <p>
-   If <code>operator()()</code> is too cumbersome to use with eg. 
-<code>push_front()</code>we can also say </p>
-
-<blockquote>
-    <pre>
-<span class=identifier>deque</span><span class=special><</span><span class=keyword>int</span><span class=special>> </span><span class=identifier>di</span><span class=special>;    </span>
-<span class=identifier>push_front</span><span class=special>( </span><span class=identifier>di </span><span class=special>) </span><span class=special>= </span><span class=number>1</span><span class=special>,</span><span class=number>2</span><span class=special>,</span><span class=number>3</span><span class=special>,</span><span class=number>4</span><span class=special>,</span><span class=number>5</span><span class=special>,</span><span class=number>6</span><span class=special>,</span><s [...]
-<span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>di</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>9 </span><span class=special>);    </span>
-<span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span 
-class=identifier>di</span><span class=special>[</span><span class=number>0</span><span class=special>] </span><span class=special>== </span><span class=number>9 </span><span class=special>);    </span>
-</pre>
-</blockquote>
-<p>
-Just to make it perfectly clear, the code above is not restricted to the 
-standard containers, but will work with all <i>standard compliant</i> containers 
-with the right member function. It is only <code>operator+=()</code> that has been restricted to 
-the standard containers. </p>
-  
-  <h3>Function <code>list_of()</code> <a name="list_of"></h3>
-  But what if we need to <i>initialize</i> a container? This is where 
-  <code>list_of()</code> comes into play. With <code>list_of()</code>
-  we can create anonymous lists that automatically converts to
-  any container:
-  <blockquote><pre>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>list_of</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>> </span><span class=comment>// for 'list_of()'
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assert</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>> 
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>list</span><span class=special>>
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>stack</span><span class=special>>
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>string</span><span class=special>>
-</span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>std</span><span class=special>;
-</span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>; </span><span class=comment>// bring 'list_of()' into scope
-</span><span class=special> 
-</span><span class=special>{
-    </span><span class=keyword>const </span><span class=identifier>list</span><span class=special><</span><span class=keyword>int</span><span class=special>> </span><span class=identifier>primes </span><span class=special>= </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>2</span><span class=special>)(</span><span class=number>3</span><span class=special>)(</span><span class=number>5</span><span class=special>)(</span><span class=number>7</ [...]
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>primes</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>5 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>primes</span><span class=special>.</span><span class=identifier>back</span><span class=special>() </span><span class=special>== </span><span class=number>11 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>primes</span><span class=special>.</span><span class=identifier>front</span><span class=special>() </span><span class=special>== </span><span class=number>2 </span><span class=special>);
-   
-    </span><span class=keyword>const </span><span 
-class=identifier>stack</span><span class=special><</span><span 
-class=identifier>string</span><span class=special>> </span><span 
-class=identifier>names </span><span class=special>= </span><span 
-class=special></span><span class=identifier>list_of</span><span class=special>( </span><span class=string>"Mr. Foo" </span><span class=special>)( </span><span class=string>"Mr. Bar"</span><span class=special>)( </span><span class=string>"Mrs. FooBar" </span><span
-class=special>).</span><span class=identifier>to_adapter();
-    </span><span class=keyword>const </span><span 
-class=identifier>stack</span><span class=special><</span><span 
-class=identifier>string</span><span class=special>> </span><span 
-class=identifier>names2 </span><span class=special>= </span><span 
-class=special>(</span><span class=identifier>list_of</span><span class=special>( </span><span class=string>"Mr. Foo" </span><span class=special>), </span><span class=string>"Mr. Bar"</span><span class=special>, </span><span class=string>"Mrs. FooBar" </span><span
-class=special>).</span><span class=identifier>to_adapter();
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>names</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>3 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>names</span><span class=special>.</span><span class=identifier>top</span><span class=special>()</span><span class=special> == </span><span class=string>"Mrs. FooBar" </span><span class=special>);
-</span><span class=special>}   </span></pre></blockquote>
-  If we need to initialize a container adapter, we need to help the compiler a 
-little by calling <code>to_adapter()</code>. As the second example also shows, 
-we can use a comma-separated
-list with <code>list_of()</code> if we add parenthesis around the 
-  entire right hand side. It is worth noticing that the first argument
-  of <code>list_of()</code> determines the type of the anonymous list.
-  In case of the stack, the anonymous list consists of
-  <code>const char*</code> objects which are then converted to 
-  a stack of <code>string</code> objects. The conversion is always  
-  possible as long as the conversion between the stored types is possible.
- </p>
- <p>
- Please notice that <code>list_of()</code> can even convert to a 
- <code>boost::<a 
-href="../../array/index.html">array</a><T,sz></code> and see also the list 
-of <a href="#boost_libs">supported libraries </a>. </p>
-           <p>
-               Note that the type returned by 
-               <code>list_of()</code> (and its variants) has overloaded comparison operators. This allows you to
-               write test code such as 
-                   <code>
-                       BOOST_CHECK_EQUAL( my_container, list_of(2)(3)(4)(5) );.
-                   </code>
-               </p>
- 
- <h3>Function <code>map_list_of()</code> <a name="map_list_of"></h3>
- This function is defined for pure convenience when working with
- maps. Its usage is simple:
- <blockquote><pre>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>list_of</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>> </span><span class=comment>// for 'map_list_of()'
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assert</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>> 
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>map</span><span class=special>>
-</span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>std</span><span class=special>;
-</span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>; </span><span class=comment>// bring 'map_list_of()' into scope
-</span><span class=special> 
-</span><span class=special>{
-    </span><span class=identifier>map</span><span class=special><</span><span class=keyword>int</span><span class=special>,</span><span class=keyword>int</span><span class=special>> </span><span class=identifier>next </span><span class=special>= </span><span class=identifier>map_list_of</span><span class=special>(</span><span class=number>1</span><span class=special>,</span><span class=number>2</span><span class=special>)(</span><span class=number>2</span><span class=special>,</spa [...]
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>next</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>5 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>next</span><span class=special>[ </span><span class=number>1 </span><span class=special>] </span><span class=special>== </span><span class=number>2 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>next</span><span class=special>[ </span><span class=number>5 </span><span class=special>] </span><span class=special>== </span><span class=number>6 </span><span class=special>);
-    
-    </span><span class=comment>// or we can use 'list_of()' by specifying what type
-    // the list consists of
-    </span><span class=identifier>next </span><span class=special>= </span><span class=identifier>list_of</span><span class=special>< </span><span class=identifier>pair</span><span class=special><</span><span class=keyword>int</span><span class=special>,</span><span class=keyword>int</span><span class=special>> </span><span class=special>>(</span><span class=number>6</span><span class=special>,</span><span class=number>7</span><span class=special>)(</span><span class=number>7 [...]
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>next</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>3 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>next</span><span class=special>[ </span><span class=number>6 </span><span class=special>] </span><span class=special>== </span><span class=number>7 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>next</span><span class=special>[ </span><span class=number>8 </span><span class=special>] </span><span class=special>== </span><span class=number>9 </span><span class=special>);      
-</span><span class=special>}   </span></pre></blockquote>
-
-The function <code>pair_list_of()</code> may also be used.
-
-<h3>Function <code>tuple_list_of()</code> <a name="tuple_list_of"></h3>
-
-If you are working with tuples, it might be convenient to use 
-<code>tuple_list_of()</code>:
-
-
-<blockquote>
-    <pre>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>list_of</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>vector</span><span class=special>>
-</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>std</span><span class=special>;</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;
-</span>
-<span class=special>{
-    </span><span class=keyword>typedef </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>tuple</span><span class=special><</span><span class=keyword>int</span><span class=special>,</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>,</span><span class=keyword>int</span><span class=special>> </span><span class=identifier>tuple</span><span class=special>;
-
-    </span><span class=identifier>vector</span><span class=special><</span><span class=identifier>tuple</span><span class=special>> </span><span class=identifier>v </span><span class=special>= </span><span class=identifier>tuple_list_of</span><span class=special>( </span><span class=number>1</span><span class=special>, </span><span class=string>"foo"</span><span class=special>, </span><span class=number>2 </span><span class=special>)( </span><span class=number>3</span><sp [...]
-    </span><span class=identifier>BOOST_CHECK</span><span class=special>( </span><span class=identifier>v</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>2 </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK</span><span class=special>( </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>get</span><span class=special><</span><span class=number>0</span><span class=special>>( </span><span class=identifier>v</span><span class=special>[</span><span class=number>1</span><span class=special>] </span><span class=special>) </span><span class=special>==  </span><span class=number>3 </span><span class=special> [...]
-<span class=special>}</span>
-    </pre>
-</blockquote>
-
-<h3>Functions <code>repeat()</code>, <code>repeat_fun()</code> and <code>range()</code> <a name="repeat"></h3> 
-<p>
-Sometimes it is too irritating to repeat the same value many times. This is 
-where <code>repeat()</code> can be handy:
-<blockquote>
-    <pre>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>list_of</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>std</span><span class=special>/</span><span class=identifier>vector</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assert</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>>
-</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>std</span><span class=special>;</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;</span>
-<span class=special> </span>
-<span class=special>{
-    </span><span class=identifier>vector</span><span class=special><</span><span class=keyword>int</span><span class=special>> </span><span class=identifier>v</span><span class=special>;
-    </span><span class=identifier>v </span><span class=special>+= </span><span class=number>1</span><span class=special>,</span><span class=number>2</span><span class=special>,</span><span class=number>3</span><span class=special>,</span><span class=identifier>repeat</span><span class=special>(</span><span class=number>10</span><span class=special>,</span><span class=number>4</span><span class=special>),</span><span class=number>5</span><span class=special>,</span><span class=number>6</s [...]
-    </span><span class=comment>// v = [1,2,3,4,4,4,4,4,4,4,4,4,4,5,6,7,8,9]
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>v</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>3 </span><span class=special>+ </span><span class=number>10 </span><span class=special>+ </span><span class=number>5 </span><span class=special>);
-    
-    </span><span class=identifier>v </span><span class=special>= </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>1</span><span class=special>).</span><span class=identifier>repeat</span><span class=special>(</span><span class=number>5</span><span class=special>,</span><span class=number>2</span><span class=special>)(</span><span class=number>3</span><span class=special>);
-    </span><span class=comment>// v = [1,2,2,2,2,2,3]
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>v</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>1 </span><span class=special>+ </span><span class=number>5 </span><span class=special>+ </span><span class=number>1 </span><span class=special>);
-    
-    </span><span class=identifier>push_back</span><span class=special>( </span><span class=identifier>v </span><span class=special>)(</span><span class=number>1</span><span class=special>).</span><span class=identifier>repeat</span><span class=special>(</span><span class=number>1</span><span class=special>,</span><span class=number>2</span><span class=special>)(</span><span class=number>3</span><span class=special>);
-    </span><span class=comment>// v = old v + [1,2,3]
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>v</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>10 </span><span class=special>);</span>
-<span class=special>}</span></pre>
-</blockquote>
-As we can see, then the first argument to <code>repeat()</code> is the number
-of times to repeat the second argument.
-</p>
-<p>
-A more general list can be constructed with <code>repeat_fun()</code>:
-
-<blockquote>
-    <pre>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>std</span><span class=special>/</span><span class=identifier>vector</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assert</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>cstdlib</span><span class=special>> </span><span class=comment>// for 'rand()'              
-</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>std</span><span class=special>;</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;</span>
-<span class=special> </span>
-<span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T </span><span class=special>></span>
-<span class=keyword>struct </span><span class=identifier>next    </span>
-<span class=special>{
-    </span><span class=identifier>T </span><span class=identifier>seed</span><span class=special>;
-    </span><span class=identifier>next</span><span class=special>( </span><span class=identifier>T </span><span class=identifier>seed </span><span class=special>) </span><span class=special>: </span><span class=identifier>seed</span><span class=special>(</span><span class=identifier>seed</span><span class=special>) 
-    </span><span class=special>{ </span><span class=special>}
-    
-    </span><span class=identifier>T </span><span class=keyword>operator</span><span class=special>()() </span><span class=keyword>
-    </span><span class=special>{
-        </span><span class=keyword>return </span><span class=identifier>seed</span><span class=special>++;
-    </span><span class=special>}</span>
-<span class=special>};</span>
-<span class=special>     </span>
-<span class=special>{
-    </span><span class=identifier>vector</span><span class=special><</span><span class=keyword>int</span><span class=special>> </span><span class=identifier>v</span><span class=special>;
-    </span><span class=identifier>v </span><span class=special>+= </span><span class=number>1</span><span class=special>,</span><span class=number>2</span><span class=special>,</span><span class=identifier>repeat_fun</span><span class=special>(</span><span class=number>4</span><span class=special>,&</span><span class=identifier>rand</span><span class=special>),</span><span class=number>4</span><span class=special>;
-    </span><span class=comment>// v = [1,2,?,?,?,?,4] 
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>v</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>7 </span><span class=special>);
-    
-    </span><span class=identifier>push_back</span><span class=special>( </span><span class=identifier>v </span><span class=special>).</span><span class=identifier>repeat_fun</span><span class=special>(</span><span class=number>4</span><span class=special>,</span><span class=identifier>next</span><span class=special><</span><span class=keyword>int</span><span class=special>>(</span><span class=number>0</span><span class=special>))(</span><span class=number>4</span><span class=specia [...]
-    </span><span class=comment>// v = old v + [0,1,2,3,4,5,6,7,8] 
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>v</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>16 </span><span class=special>);</span>
-<span class=special>}</span>        </pre>
-</blockquote>
-The only requirement of the second argument to <code>repeat_fun()</code> is that 
-it is a nullary function. </p>
-
-
-<p>
-If you just need to insert an iterator-range somewhere in the list, the member function <code>range()</code> provides just what you want.
-It is based on <a href="../../range/index.html">Boost.Range</a>, so you can pass all the ranges supported by that library. For example
-<blockquote><pre><span class=preprocessor>#include</span> <span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>list_inserter</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span> <span class=comment>// for 'push_back()'</span>
-<span class=preprocessor>#include</span> <span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>list_of</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>       <span class=comment>// for 'list_of()' and 'ref_list_of()'</span>
-<span class=preprocessor>#include</span> <span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assert</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-
-<span class=keyword>using</span> <span class=keyword>namespace</span> <span class=identifier>std</span><span class=special>;</span>
-<span class=keyword>using</span> <span class=keyword>namespace</span> <span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;</span>
- 
-<span class=special>{</span>
-    <span class=identifier>vector</span><span class=special><</span><span class=keyword>int</span><span class=special>></span> <span class=identifier>v</span><span class=special>,</span> <span class=identifier>v2</span><span class=special>;</span>
-    <span class=identifier>v</span>  <span class=special>=</span> <span class=identifier>list_of</span><span class=special>(</span><span class=number>1</span><span class=special>)(</span><span class=number>2</span><span class=special>)(</span><span class=number>3</span><span class=special>);</span>
-    <span class=identifier>v2</span> <span class=special>=</span> <span class=identifier>list_of</span><span class=special>(</span><span class=number>0</span><span class=special>).</span><span class=identifier>range</span><span class=special>(</span><span class=identifier>v</span><span class=special>).</span><span class=identifier>range</span><span class=special>(</span><span class=identifier>v</span><span class=special>.</span><span class=identifier>begin</span><span class=special>(),</ [...]
-    <span class=comment>// v2 = [0,1,2,3,1,2,3,4]</span>
-    <span class=identifier>BOOST_ASSERT</span><span class=special>(</span> <span class=identifier>v2</span><span class=special>.</span><span class=identifier>size</span><span class=special>()</span> <span class=special>==</span> <span class=number>8u</span> <span class=special>);</span>
-
-    <span class=identifier>push_back</span><span class=special>(</span> <span class=identifier>v</span> <span class=special>).</span><span class=identifier>range</span><span class=special>(</span><span class=identifier>v2</span><span class=special>)(</span><span class=number>5</span><span class=special>);</span>
-    <span class=comment>// v = [1,2,3,0,1,2,3,1,2,3,4,5]</span>
-    <span class=identifier>BOOST_ASSERT</span><span class=special>(</span> <span class=identifier>v</span><span class=special>.</span><span class=identifier>size</span><span class=special>()</span> <span class=special>==</span> <span class=number>12u</span> <span class=special>);</span> 
-
-    <span class=comment>//
-    // create a list of references, some coming from a container, others from the stack 
-    //</span>
-    <span class=keyword>int</span> <span class=identifier>x</span> <span class=special>=</span> <span class=number>0</span><span class=special>;</span>
-    <span class=keyword>int</span> <span class=identifier>y</span> <span class=special>=</span> <span class=number>1</span><span class=special>;</span>
-    <span class=identifier>BOOST_ASSERT</span><span class=special>(</span> <span class=identifier>ref_list_of</span><span class=special><</span><span class=number>10</span><span class=special>>(</span><span class=identifier>x</span><span class=special>).</span><span class=identifier>range</span><span class=special>(</span><span class=identifier>v2</span><span class=special>)(</span><span class=identifier>y</span><span class=special>).</span><span class=identifier>size</span><span c [...]
-<span class=special>}</span></pre>
-</blockquote>
-As you can see, one can also pass two iterators if that is more appropriate.
-The last example also introduces list of references. More about that below.
-</p>
-
-<h3>Functions <code>ref_list_of()</code> and <code>cref_list_of()</code> <a name="ref_list_of"></h3>
-
-When you need to create an anonymous range of values and speed is essential, 
-these two functions provide what you want. <blockquote>
-    <pre>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>list_of</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>algorithm</span><span class=special>>
-</span>
-<span class=comment>//
-// Define Range algorithm
-//</span>
-<span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>Range </span><span class=special>></span>
-<span class=keyword>typename </span><span class=identifier>Range</span><span class=special>::</span><span class=identifier>const_iterator </span><span class=identifier>max_element</span><span class=special>( </span><span class=keyword>const </span><span class=identifier>Range</span><span class=special>& </span><span class=identifier>r </span><span class=special>)</span>
-<span class=special>{
-    </span><span class=keyword>return </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>max_element</span><span class=special>( </span><span class=identifier>r</span><span class=special>.</span><span class=identifier>begin</span><span class=special>(), </span><span class=identifier>r</span><span class=special>.</span><span class=identifier>end</span><span class=special>() </span><span class=special>);</span>
-<span class=special>}
-</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;
-</span>
-<span class=special>{
-    </span><span class=keyword>int </span><span class=identifier>a</span><span class=special>=</span><span class=number>1</span><span class=special>,</span><span class=identifier>b</span><span class=special>=</span><span class=number>5</span><span class=special>,</span><span class=identifier>c</span><span class=special>=</span><span class=number>3</span><span class=special>,</span><span class=identifier>d</span><span class=special>=</span><span class=number>4</span><span class=special>,< [...]
-    </span><span class=keyword>int</span><span class=special>& </span><span class=identifier>max </span><span class=special>= </span><span class=special>*</span><span class=identifier>max_element</span><span class=special>( </span><span class=identifier>ref_list_of</span><span class=special><</span><span class=number>8</span><span class=special>>(</span><span class=identifier>a</span><span class=special>)(</span><span class=identifier>b</span><span class=special>)(</span><span  [...]
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>max</span><span class=special>, </span><span class=identifier>f </span><span class=special>);
-    </span><span class=identifier>max </span><span class=special>= </span><span class=number>8</span><span class=special>;
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>f</span><span class=special>, </span><span class=number>8 </span><span class=special>);
-    </span><span class=keyword>const </span><span class=keyword>int</span><span 
-class=special>& </span><span class=identifier>const_max </span><span class=special>= </span><span class=special>*</span><span class=identifier>max_element</span><span class=special>(</span><span class=identifier>cref_list_of</span><span class=special><</span><span class=number>8</span><span class=special>>(</span><span class=identifier>a</span><span class=special>)(</span><span class=identifier>b</span><span class=special>)(</span><span class=identifier>c</span><span class=spec [...]
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>max</span><span class=special>, </span><span class=identifier>const_max </span><span class=special>);</span>
-<span class=special>}</span>
-    </pre>
-</blockquote>
-
-You can only use lvalues with <code>ref_list_of()</code> while 
-<code>cref_list_of()</code> accepts rvalues too. Do not worry about not 
-specifying exactly the right size; the extra space used is minimal and there 
-is no runtime overhead associated with it.
-
-You may also use these functions instead of <code>list_of()</code> if speed is 
-essential.
-
-<h3>A "complicated" example <a name="complicated"></h3>
-<p> 
-As a last example, let us assume that we need to keep track of the
-result of soccer matches. A team will get one point if it wins 
-and zero otherwise. If there has been played three games in each group, the code might look
-like this:
-
-<blockquote>
-    <pre>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>list_of</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span 
-class=identifier>boost</span><span class=special>/</span><span 
-class=identifier>assign</span><span class=special>/</span><span 
-class=identifier>list_inserter</span><span class=special>.</span><span 
-class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assert</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>string</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>vector</span><span class=special>>
-</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>std</span><span class=special>;</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;
- </span>
-<span class=special>{
-    </span><span class=keyword>typedef </span><span class=identifier>vector</span><span class=special><</span><span class=keyword>int</span><span class=special>>                   </span><span class=identifier>score_type</span><span class=special>;
-    </span><span class=keyword>typedef </span><span class=identifier>map</span><span class=special><</span><span class=identifier>string</span><span class=special>,</span><span class=identifier>score_type</span><span class=special>>        </span><span class=identifier>team_score_map</span><span class=special>;
-    </span><span class=keyword>typedef </span><span class=identifier>pair</span><span class=special><</span><span class=identifier>string</span><span class=special>,</span><span class=identifier>score_type</span><span class=special>>       </span><span class=identifier>score_pair</span><span class=special>;
-
-    </span><span class=identifier>team_score_map </span><span class=identifier>group1</span><span class=special>, </span><span class=identifier>group2</span><span class=special>;
-    
-    </span><span class=comment>//
-    // method 1: using 'insert()'
-    //
-    </span><span class=identifier>insert</span><span class=special>( </span><span class=identifier>group1 </span><span class=special>)( </span><span class=string>"Denmark"</span><span class=special>, </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>1</span><span class=special>)(</span><span class=number>1</span><span class=special>) </span><span class=special>)
-                    </span><span class=special>( </span><span class=string>"Germany"</span><span class=special>, </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>0</span><span class=special>)(</span><span class=number>0</span><span class=special>) </span><span class=special>)
-                    </span><span class=special>( </span><span class=string>"England"</span><span class=special>, </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>0</span><span class=special>)(</span><span class=number>1</span><span class=special>) </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>group1</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>3 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>group1</span><span class=special>[ </span><span class=string>"Denmark" </span><span class=special>][</span><span class=number>1</span><span class=special>] </span><span class=special>== </span><span class=number>1 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>group1</span><span class=special>[ </span><span class=string>"Germany" </span><span class=special>][</span><span class=number>0</span><span class=special>] </span><span class=special>== </span><span class=number>0 </span><span class=special>);
-    
-    </span><span class=comment>//
-    // method 2: using 'list_of()'
-    //
-    </span><span class=identifier>group2 </span><span class=special>= </span><span class=identifier>list_of</span><span class=special>< </span><span class=identifier>score_pair </span><span class=special>>
-                        </span><span class=special>( </span><span class=string>"Norway"</span><span class=special>,  </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>1</span><span class=special>)(</span><span class=number>0</span><span class=special>) </span><span class=special>)
-                        </span><span class=special>( </span><span class=string>"USA"</span><span class=special>,     </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>0</span><span class=special>)(</span><span class=number>0</span><span class=special>) </span><span class=special>)
-                        </span><span class=special>( </span><span class=string>"Andorra"</span><span class=special>, </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>1</span><span class=special>)(</span><span class=number>1</span><span class=special>) </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>group2</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>3 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>group2</span><span class=special>[ </span><span class=string>"Norway" </span><span class=special>][</span><span class=number>0</span><span class=special>] </span><span class=special>== </span><span class=number>1 </span><span class=special>);
-    </span><span class=identifier>BOOST_ASSERT</span><span class=special>( </span><span class=identifier>group2</span><span class=special>[ </span><span class=string>"USA" </span><span class=special>][</span><span class=number>0</span><span class=special>] </span><span class=special>== </span><span class=number>0 </span><span class=special>);</span>
-<span class=special>}</span>
-    </pre>
-</blockquote>
-
-In the first example, notice how the result of <code>list_of()</code>
-can be converted automatically to a <code>vector<int></code> because
-<code>insert()</code> knows it expects a <code>vector<int></code>.
-In the second example we can see that <code>list_of()</code> is somewhat
-less intelligent since here it needs to be told explicitly what arguments to
-expect. (In the future it might be possible to introduce a more intelligent
-conversion layer in <code>list_of()</code>.)
-</p>
-
-<h3>Functions <code>ptr_push_back(), 
-ptr_push_front()</code>, <code>ptr_insert()</code> and <code>ptr_map_insert()</code> <a name="ptr_push_back"></h3>
-
-For use with <a href="../../ptr_container/index.html">Boost.Pointer Container</a>
-a few special exception-safe functions are provided. Using these function you
-do not need to call <code>new</code> manually:
-
-
-<blockquote>
-    <pre>
-<span class=preprocessor>#include</span> <span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>ptr_list_inserter</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span> <span class=comment>// for 'ptr_push_back()', 'ptr_insert()' and 'ptr_push_front()'</span>
-<span class=preprocessor>#include</span> <span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>ptr_map_inserter</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>  <span class=comment>// for 'ptr_map_insert()'</span>
-<span class=preprocessor>#include</span> <span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>ptr_container</span><span class=special>/</span><span class=identifier>ptr_deque</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include</span> <span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>ptr_container</span><span class=special>/</span><span class=identifier>ptr_set</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include</span> <span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>ptr_container</span><span class=special>/</span><span class=identifier>ptr_map</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-
-<span class=comment>//
-// Example class
-//</span>
-<span class=keyword>struct</span> <span class=identifier>Foo</span>
-<span class=special>{</span>
-    <span class=keyword>int</span> <span class=identifier>i</span><span class=special>;</span>
-    
-    <span class=identifier>Foo</span><span class=special>()</span> <span class=special>:</span> <span class=identifier>i</span><span class=special>(</span><span class=number>0</span><span class=special>)</span>
-    <span class=special>{</span> <span class=special>}</span>
-    <span class=identifier>Foo</span><span class=special>(</span> <span class=keyword>int</span> <span class=identifier>i</span> <span class=special>)</span> <span class=special>:</span> <span class=identifier>i</span><span class=special>(</span><span class=identifier>i</span><span class=special>)</span>
-    <span class=special>{</span> <span class=special>}</span>
-    <span class=identifier>Foo</span><span class=special>(</span> <span class=keyword>int</span> <span class=identifier>i</span><span class=special>,</span> <span class=keyword>int</span> <span class=special>)</span> <span class=special>:</span> <span class=identifier>i</span><span class=special>(</span><span class=identifier>i</span><span class=special>)</span>
-    <span class=special>{</span> <span class=special>}</span>
-    <span class=identifier>Foo</span><span class=special>(</span> <span class=keyword>const</span> <span class=keyword>char</span><span class=special>*,</span> <span class=keyword>int</span> <span class=identifier>i</span><span class=special>,</span> <span class=keyword>int</span> <span class=special>)</span> <span class=special>:</span> <span class=identifier>i</span><span class=special>(</span><span class=identifier>i</span><span class=special>)</span>
-    <span class=special>{</span> <span class=special>}</span>
-
-    <span class=keyword>virtual</span> <span class=special>~</span><span class=identifier>Foo</span><span class=special>()</span>
-    <span class=special>{}</span>
-<span class=special>};</span>
-
-<span class=keyword>struct</span> <span class=identifier>Bar</span> <span class=special>:</span> <span class=identifier>Foo</span>
-<span class=special>{</span>
-    <span class=identifier>Bar</span><span class=special>()</span>
-    <span class=special>{</span> <span class=special>}</span>
-    
-    <span class=identifier>Bar</span><span class=special>(</span> <span class=keyword>int</span> <span class=identifier>i</span> <span class=special>)</span> <span class=special>:</span> <span class=identifier>Foo</span><span class=special>(</span> <span class=number>42</span> <span class=special>)</span>
-    <span class=special>{</span> <span class=special>}</span>
-<span class=special>};</span>
-
-<span class=comment>//
-// Required by ptr_set<Foo>
-//</span>
-<span class=keyword>inline</span> <span class=keyword>bool</span> <span class=keyword>operator</span><span class=special><(</span> <span class=identifier>Foo</span> <span class=identifier>l</span><span class=special>,</span> <span class=identifier>Foo</span> <span class=identifier>r</span> <span class=special>)</span>
-<span class=special>{</span>
-    <span class=keyword>return</span> <span class=identifier>l</span><span class=special>.</span><span class=identifier>i</span> <span class=special><</span> <span class=identifier>r</span><span class=special>.</span><span class=identifier>i</span><span class=special>;</span>
-<span class=special>}</span>
-
- 
-<span class=keyword>using</span> <span class=keyword>namespace</span> <span class=identifier>boost</span><span class=special>;</span>
-<span class=keyword>using</span> <span class=keyword>namespace</span> <span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;</span>
-
-<span class=keyword>int</span> <span class=identifier>main</span><span class=special>()</span>
-<span class=special>{</span>
-    <span class=identifier>ptr_deque</span><span class=special><</span><span class=identifier>Foo</span><span class=special>></span> <span class=identifier>deq</span><span class=special>;</span>
-    <span class=identifier>ptr_push_back</span><span class=special>(</span> <span class=identifier>deq</span> <span class=special>)()();</span>
-    <span class=identifier>BOOST_ASSERT</span><span class=special>(</span> <span class=identifier>deq</span><span class=special>.</span><span class=identifier>size</span><span class=special>()</span> <span class=special>==</span> <span class=number>2u</span> <span class=special>);</span>
-    <span class=identifier>ptr_push_back</span><span class=special><</span><span class=identifier>Bar</span><span class=special>>(</span> <span class=identifier>deq</span> <span class=special>)()();</span> <span class=comment>// insert 'Bar' objects</span>
-    <span class=identifier>BOOST_ASSERT</span><span class=special>(</span> <span class=identifier>deq</span><span class=special>.</span><span class=identifier>size</span><span class=special>()</span> <span class=special>==</span> <span class=number>4u</span> <span class=special>);</span>
-    <span class=identifier>ptr_push_front</span><span class=special>(</span> <span class=identifier>deq</span> <span class=special>)(</span> <span class=number>3</span> <span class=special>)(</span> <span class=number>42</span><span class=special>,</span> <span class=number>42</span> <span class=special>)(</span> <span class=string>"foo"</span><span class=special>,</span> <span class=number>42</span><span class=special>,</span> <span class=number>42</span> <span class=special>) [...]
-    <span class=identifier>BOOST_ASSERT</span><span class=special>(</span> <span class=identifier>deq</span><span class=special>.</span><span class=identifier>size</span><span class=special>()</span> <span class=special>==</span> <span class=number>7u</span> <span class=special>);</span>
-
-    <span class=identifier>ptr_set</span><span class=special><</span><span class=identifier>Foo</span><span class=special>></span> <span class=identifier>a_set</span><span class=special>;</span>
-    <span class=identifier>ptr_insert</span><span class=special>(</span> <span class=identifier>a_set</span> <span class=special>)()(</span> <span class=number>1</span> <span class=special>)(</span> <span class=number>2</span><span class=special>,</span> <span class=number>2</span> <span class=special>)(</span> <span class=string>"foo"</span><span class=special>,</span> <span class=number>3</span><span class=special>,</span> <span class=number>3</span> <span class=special>);</span>
-    <span class=identifier>BOOST_ASSERT</span><span class=special>(</span> <span class=identifier>a_set</span><span class=special>.</span><span class=identifier>size</span><span class=special>()</span> <span class=special>==</span> <span class=number>4u</span> <span class=special>);</span>
-    <span class=identifier>ptr_insert</span><span class=special>(</span> <span class=identifier>a_set</span> <span class=special>)()()()();</span>
-    <span class=identifier>BOOST_ASSERT</span><span class=special>(</span> <span class=identifier>a_set</span><span class=special>.</span><span class=identifier>size</span><span class=special>()</span> <span class=special>==</span> <span class=number>4u</span> <span class=special>);</span> <span class=comment>// duplicates not inserted</span>
-    <span class=identifier>ptr_insert</span><span class=special><</span><span class=identifier>Bar</span><span class=special>>(</span> <span class=identifier>a_set</span> <span class=special>)(</span> <span class=number>42</span> <span class=special>);</span> <span class=comment>// insert a 'Bar' object</span> 
-    <span class=identifier>BOOST_ASSERT</span><span class=special>(</span> <span class=identifier>a_set</span><span class=special>.</span><span class=identifier>size</span><span class=special>()</span> <span class=special>==</span> <span class=number>5u</span> <span class=special>);</span>
-
-    <span class=identifier>ptr_map</span><span class=special><</span><span class=keyword>int</span><span class=special>,</span><span class=identifier>Foo</span><span class=special>></span> <span class=identifier>a_map</span><span class=special>;</span>
-    <span class=identifier>ptr_map_insert</span><span class=special>(</span> <span class=identifier>a_map</span> <span class=special>)(</span> <span class=number>1</span> <span class=special>)(</span> <span class=number>2</span><span class=special>,</span> <span class=number>2</span> <span class=special>)(</span> <span class=number>3</span><span class=special>,</span> <span class=number>3</span><span class=special>,</span> <span class=number>3</span> <span class=special>)(</span> <span c [...]
-    <span class=identifier>ptr_map_insert</span><span class=special><</span><span class=identifier>Bar</span><span class=special>>(</span> <span class=identifier>a_map</span> <span class=special>)(</span> <span class=number>42</span><span class=special>,</span> <span class=number>42</span> <span class=special>);</span> <span class=comment>// insert a  'Bar' object</span>
-<span class=special>}</span>
-    </pre>
-</blockquote>
-
-Notice how you may provide a template argument to these functions. This argument determines the type to allocate with <code>new</code>.
-You have to specify this argument when the container is based on an abstract type (because one cannot create objects of such a type).
-
-<p>
-For <code>ptr_map_insert()</code> the first argument <code>arg1</code> in an argument tuple <code>(arg1,arg2,...,argN)</code> is used to
-construct a key; this means that the first argument need only be convertible to the <code>key_type</code> of the container.
-The rest of the arguments are used to construct the mapped object.
-</p>
-                        
-<h3>Function <code>ptr_list_of()</code> <a name="ptr_list_of"></h3>         
-
-Just like you can use <code>list_of()</code> to initialize containers, you can 
-use <code>ptr_list_of()</code> to initialize a <a href="../../ptr_container/index.html">pointer container</a>.
-Here is a small example:
-
-<blockquote>
-    <pre>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>ptr_list_of</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>ptr_container</span><span class=special>/</span><span class=identifier>ptr_deque</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>>
-</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>;</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;
-</span>
-<span class=special>{
-    </span><span class=identifier>ptr_deque</span><span class=special><</span><span class=identifier>Foo</span><span class=special>> </span><span class=identifier>deq</span><span class=special>;
-    </span><span class=identifier>deq </span><span class=special>= </span><span class=identifier>ptr_list_of</span><span class=special><</span><span class=identifier>Foo</span><span class=special>>( </span><span class=number>42 </span><span class=special>)()()( </span><span class=number>3</span><span class=special>, </span><span class=number>3 </span><span class=special>)( </span><span class=string>"foo"</span><span class=special>, </span><span class=number>2</span><span  [...]
-    </span><span class=identifier>BOOST_CHECK</span><span class=special>( </span><span class=identifier>deq</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>5 </span><span class=special>);</span>
-<span class=special>}</span>    
-    </pre>
-</blockquote>
-
-Notice that a trailing <code>.to_container(deq)</code> may be added to help many poor 
-compilers to figure out the conversion (a few get it right). 
-Notice also that pointer maps are 
-not supported.
-
-<p>
-That is all; now you are ready to use this library.
- </p>
-
-  <hr> 
-  <h2><a name="reference">Reference</a></h2>
-    <p>
-  It is worth noticing the way the library is implemented.
-  A free-standing function (eg. <code>push_back()</code>
-  or <code>operator+=()</code>) returns a proxy
-  object which is responsible for the insertion or the assignment. The proxy 
-object does the insertion or assignment by overloading <code>operator,()</code>
-  and <code>operator()()</code> and by calling the "insert" function from within 
-  those operators. The "insert" function is typically stored in the proxy object 
-  by using <code>boost::<a href="../../function/index.html">function</a></code>. </p>
-  
-  <p>
-  Often overloading
-  of <code>operator,()</code> is discouraged because it can lead to surprising
-  results, but the approach taken in this library is safe since the
-  user never deals with objects that have overloaded <code>operator,()</code>
-  directly. However, you should be aware of this:
-  </p>
-  
-  <p><i>
-  The 
-  expressions in a comma-separated list no longer follow the rules of the 
-  built-in comma-operator. This means that the order of evaluation of 
-  expressions in a comma-separated list is undefined like when one specifies 
-  a list of function arguments.
-  </i></p>
-  
-    <p>
-  Most of the code in this document use <code>int</code> in the examples, 
-  but of course it works for arbitrary types as long as they are 
-  Copy Constructible. The inserted data need not be constant data,
-  but can be variables or data returned from functions; the only requirement 
-  is that the type of the data is convertible to the type stored in the 
-  container. 
-  </p>
-  
-  <p>
-  All forwarding is done by passing objects by <code>const</code> reference. 
-Originally arguments were passed by value (and still is in 
-<code>tuple_list_of()</code>). One thing to remember is that references
-  can be passed by using <code>boost::<a href="http://www.boost.org/doc/html/ref.html">ref</a></code>.
-  </p>
-  
-  <p>
-   Everything is put in namespace 
-  <code>boost::assign</code>. </p>
-
-  <p> More details can be found below: </p>
-      <ul>
-          
-        <li><a href="#headers">Headers</a> </li>
-        <li><a href="#std">Standard containers</a> </li>
-        <li>Functions <a href="#list_of_ref"><code>list_of()</code> and <code>map_list_of()</code></a></li>
-        <li>Functions <a href="#repeat_ref"><code>repeat()</code>,<code>repeat_fun()</code> and 
-                                                                      <code>range()</code>
-                                                                      </a></li>
-        <li>Class <a href="#list_inserter"><code>list_inserter</code></a></li>
-        <li>Function <a href="#make_list_inserter"><code>make_list_inserter()</code></a></li>
-        <li><a href="#limit">Customizing</a> argument list sizes </li>
-     </ul>
-  <h3>Headers <a name="headers"></h3>      
-  
-  <p>
-  An overview of the headers in this library 
-is given below. Please notice <code><boost/assign/list_inserter.hpp></code> 
-is included for each header that defines <code>operator+=()</code>.</p>
-
-<table cellpadding=5 border=1 > <tr>
-         <th>  Header                      </th>
-         <th>        Includes              </th> 
-     <tr>
-         <td> <boost/assign.hpp>               </td>
-         <td>     everything except support for pointer containers  </td>
-     <tr>
-         <td> <boost/assign/list_of.hpp>       </td>
-         <td> <a href="#list_of"><code>list_of()</a>, <a 
-href="#map_list_of">map_list_of()</code></a>, 
-         <a href="#tuple_list_of">tuple_list_of()</code></a>,
-         <a href="#ref_list_of">ref_list_of()</code> and 
-<code>cref_list_of()</code></a>
-                  
-         </td> <tr>
-         <td> <boost/assign/std.hpp>       </td>
-         <td> <a href="#operator+="><code>operator+=()</code></a> for all 
-standard
-containers (see below)</td> <tr> <td>  <boost/assign/std/deque.hpp> </td>
-        <td>  <code>operator+=()</code> for 
-              <code>std::deque</code>, <code><deque></code> 
-    <tr> 
-        <td>  <boost/assign/std/list.hpp> </td>
-        <td>  <code>operator+=()</code> for 
-              <code>std::list</code>, <code><list></code>  
-    <tr> 
-        <td>  <boost/assign/std/map.hpp> </td>
-        <td>  <code>operator+=()</code> for 
-              <code>std::map</code> and <code>std::multimap</code> , 
-<code><map></code> <tr> 
-        <td>  <boost/assign/std/queue.hpp> </td>
-        <td>  <code>operator+=()</code> for 
-              <code>std::queue</code> and <code>std::priority_queue</code>, 
-<code><queue></code> <tr> 
-        <td>  <boost/assign/std/set.hpp> </td>
-        <td>  <code>operator+=()</code> for 
-              <code>std::set</code> and <code>std::multiset</code>, 
-<code><set></code> <tr> 
-        <td>  <boost/assign/std/slist.hpp> </td>
-        <td>  <code>operator+=()</code> for 
-              <code>std::slist</code> if the class is available , 
-<code><slist></code> <tr> 
-        <td>  <boost/assign/std/stack.hpp> </td>
-        <td>  <code>operator+=()</code> for 
-              <code>std::stack</code>, <code><stack></code>  
-    <tr> 
-        <td>  <boost/assign/std/vector.hpp> </td>
-        <td>  <code>operator+=()</code> for 
-              <code>std::vector</code>, <code><vector></code>  
-    <tr> 
-        <td>  <boost/assign/assignment_exception.hpp> </td>
-        <td>  Class <a 
-href="#assignment_exception"><code>assignment_exception</code></a> which might 
-be thrown by the proxy returned by <code>list_of()</code>
-    <tr> 
-        <td>  <boost/assign/list_inserter.hpp> </td>
-            <td>Functions <a
-               href="#make_list_inserter"><code>make_list_inserter()</code></a>, <code>push_back()</code>,
-                <code>push_front()</code>,<code>insert()</code>,
-                <code>
-                push()</code> and class <a href="#list_inserter"><code>list_inserter</code></a> 
-                which is the back-bone of this entire library.
-
-            <tr>    
-            <td>  <boost/assign/ptr_list_inserter.hpp> </td>
-            <td>Functions <a href="#ptr_push_back"><code>ptr_push_back()</code></a>,
-                <code>ptr_push_front()</code> and <code>ptr_insert()</code>
-                 
-            <tr>    
-            <td>  <boost/assign/ptr_map_inserter.hpp> </td>
-            <td>Functions <a href="#ptr_push_back"><code>ptr_map_insert()</code></a>
-    
-                            <tr>    
-            <td>  <boost/assign/ptr_list_of.hpp> </td>             
-            <td>Function <a href="#ptr_list_of"><code>ptr_list_of()</code></a>
-
-    </table>
-  
-  <h3>Standard containers <a name="std"> </h3>
-   <p> In the following three dots (...) will mean
-       implementation defined.  
-       <code>operator+=()</code> returns a proxy that forwards calls to either
-       <code>push_back()</code>,<code>insert()</code>, or <code>push()</code>  
-       depending on which operation the container supports. </p> <b>Synopsis</b>
-  <p>
-<blockquote>
-<pre>
-<span class=keyword>namespace </span><span class=identifier>boost</span>
-<span class=special>{</span>
-<span class=keyword>namespace </span><span class=identifier>assign</span>
-<span class=special>{
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>V</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>A</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>V2 </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>>    </span><span class=keyword>operator</span><span class=special>+=( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>deque</span><span class=special><</span><span class=identifier>V</span><span class=special>,</span><span class=identifier>A</span><span class=special>>& </span><span class=identif [...]
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>V</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>A</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>V2 </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>>    </span><span class=keyword>operator</span><span class=special>+=( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>list</span><span class=special><</span><span class=identifier>V</span><span class=special>,</span><span class=identifier>A</span><span class=special>>& </span><span class=identifi [...]
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>K</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>V</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>C</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>A</span><span class=special>, </span><span class=keyword>class </span><span cla [...]
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>>    </span><span class=keyword>operator</span><span class=special>+=( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>map</span><span class=special><</span><span class=identifier>K</span><span class=special>,</span><span class=identifier>V</span><span class=special>,</span><span class=identifier>C</span [...]
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>K</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>V</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>C</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>A</span><span class=special>, </span><span class=keyword>class </span><span cla [...]
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>>    </span><span class=keyword>operator</span><span class=special>+=( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>multimap</span><span class=special><</span><span class=identifier>K</span><span class=special>,</span><span class=identifier>V</span><span class=special>,</span><span class=identifier>C< [...]
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>V</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>C</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>V2 </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>>    </span><span class=keyword>operator</span><span class=special>+=( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>queue</span><span class=special><</span><span class=identifier>V</span><span class=special>,</span><span class=identifier>C</span><span class=special>>& </span><span class=identif [...]
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>V</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>C</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>V2 </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>>    </span><span class=keyword>operator</span><span class=special>+=( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>priority_queue</span><span class=special><</span><span class=identifier>V</span><span class=special>,</span><span class=identifier>C</span><span class=special>>& </span><span clas [...]
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>K</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>C</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>A</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>K2 </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>> </span><span class=keyword>operator</span><span class=special>+=( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>set</span><span class=special><</span><span class=identifier>K</span><span class=special>,</span><span class=identifier>C</span><span class=special>,</span><span class=identifier>A</span><s [...]
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>K</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>C</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>A</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>K2 </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>> </span><span class=keyword>operator</span><span class=special>+=( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>multiset</span><span class=special><</span><span class=identifier>K</span><span class=special>,</span><span class=identifier>C</span><span class=special>,</span><span class=identifier>A</sp [...]
-    
-    </span><span class=preprocessor>#ifdef </span><span class=identifier>BOOST_HAS_SLIST
-              
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>V</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>A</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>V2 </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>>    </span><span class=keyword>operator</span><span class=special>+=( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>slist</span><span class=special><</span><span class=identifier>V</span><span class=special>,</span><span class=identifier>A</span><span class=special>>& </span><span class=identif [...]
-    
-    </span><span class=preprocessor>#endif
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>V</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>C</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>V2 </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>>    </span><span class=keyword>operator</span><span class=special>+=( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>stack</span><span class=special><</span><span class=identifier>V</span><span class=special>,</span><span class=identifier>C</span><span class=special>>& </span><span class=identif [...]
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>V</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>A</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>V2 </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>>    </span><span class=keyword>operator</span><span class=special>+=( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>vector</span><span class=special><</span><span class=identifier>V</span><span class=special>,</span><span class=identifier>A</span><span class=special>>& </span><span class=identi [...]
-
-<span class=special>} </span><span class=comment>// namespace 'assign'</span>
-<span class=special>} </span><span class=comment>// namespace 'boost'</span>  </pre></blockquote>
-    Note that the extra template argument <code>V2</code> etc. is 
-    necessary to allow for types convertible to <code>V</code>.   
-     
-  <h3>Functions <code>list_of()</code> and 
-      <code>map_list_of()</code> <a name="list_of_ref"> </h3>
-    <p>  
-  These two functions are used to construct anonymous    
-  list which can be converted to any standard container
-  and <code>boost::<a href="../../array/index.html">array</a><T,sz>.</code> 
-The object returned by the two
-  functions is guaranteed to have the interface described below. 
-  </p>
-  <b>Synopsis</b>
-  <blockquote>  
-  <pre><span class=keyword>namespace </span><span class=identifier>boost  </span>
-<span class=special>{</span>
-<span class=keyword>namespace </span><span class=identifier>assign</span>
-<span class=special>{
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T </span><span class=special>>
-    </span><span class=keyword>class </span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span>
-    </span><span class=special>{
-    </span><span class=keyword>public</span><span class=special>:
-        </span><span class=identifier>const_iterator  </span><span class=identifier>begin</span><span class=special>() <span class=keyword>const</span>;
-        </span><span class=identifier>const_iterator  </span><span class=identifier>end</span><span class=special>() <span class=keyword>const</span>;
-        
-        </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>U </span><span class=special>>
-        </span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span>& </span><span class=keyword>operator</span><span class=special>,( </span><span class=identifier>U </span><span class=identifier>u </span><span class=special>);
-        
-        </span><span class=comment>// inserts default-constructed object
-        </span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span>& </span><span class=keyword>operator</span><span class=special>()();  
-
-        </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>U </span><span class=special>>
-        </span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span>& </span><span class=keyword>operator</span><span class=special>()( </span><span class=identifier>U </span><span class=identifier>u </span><span class=special>);
-        
-        </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>U</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U2 </span><span class=special>>
-        </span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span>& </span><span class=keyword>operator</span><span class=special>()( </span><span class=identifier>U </span><span class=identifier>u</span><span class=special>, </span><span class=identifier>U2 </span><span class=identifier>u2 </span><span class=special>);
-
-        </span><span class=comment>//
-        // and similarly up to 5 arguments
-        //
-        
-        //
-        // Convert to a 'Container'. 'Container' must have a constructor 
-        // which takes two iterators.  
-        //
-        </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>Container </span><span class=special>>
-        </span><span class=keyword>operator </span><span class=identifier>Container</span><span class=special>() </span><span class=keyword>const</span><span class=special>; 
-
-        </span><span class=comment>//
-        // Convert to a container adapter like 'std::stack<>'.
-        //
-        </span><span class=identifier>Convertible</span><span class=special>-</span><span class=identifier>to</span><span class=special>-</span><span class=identifier>adapter</span> </span><span class=identifier>to_adapter</span><span class=special>() </span><span class=keyword>const</span><span class=special>;
-        
-        </span><span class=comment>//
-        //
-        // Convert to eg. 'boost::array<T,std::size_t>'. If the  
-        // assigned variable is too small, 
-        // a <a href="#assignment_exception">assignment_exception</a> is thrown.
-        // If the assigned variable it is too big, the rest of the 
-        // values are  default-constructed.
-        //
-        </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>template </span><span class=special><</span><span class=keyword>class</span><span class=special>,</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>size_t</span><span class=special>> </span><span class=keyword>class </span><span class=identifier>Array</span><span class=special>, </span><span class=keyword>class </span><span class=identifier> [...]
-        </span><span class=keyword>operator </span><span class=identifier>Array</span><span class=special><</span><span class=identifier>U</span><span class=special>,</span><span class=identifier>sz</span><span class=special>>() </span><span class=keyword>const</span><span class=special>;
-    </span><span class=special>};</span>
-    
-    <span class=comment>//
-    // Comparison operators. 'op' can be <,>,<=,>=,==,!=
-    //</span>
-    <span class=keyword>template</span><span class=special><</span> <span class=keyword>class</span> <span class=identifier>Range</span> <span class=special>></span>
-    <span class=keyword>bool</span> <span class=identifier>op</span><span class=special>(</span> <span class=keyword>const</span> <span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span><span class=special>&,</span> <span class=keyword>const</span> <span class=identifier>Range</span><span class=special>&</span> <span class=special>);</span>
-    <span class=keyword>template</span><span class=special><</span> <span class=keyword>class</span> <span class=identifier>Range</span> <span class=special>></span>
-    <span class=keyword>bool</span> <span class=identifier>op</span><span class=special>(</span> <span class=keyword>const</span> <span class=identifier>Range</span><span class=special>&,</span> <span class=keyword>const</span> <span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span><span class=special>&</span> <span class=special>);</span>
-    
-    <span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T </span><span class=special>>
-    </span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span>   </span><span class=identifier>list_of</span><span class=special>(</span><span class=special>);
-
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T </span><span class=special>>
-    </span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span>   </span><span class=identifier>list_of</span><span class=special>( </span><span class=identifier>T </span><span class=identifier>t </span><span class=special>);
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U2 </span><span class=special>>
-    </span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span>   </span><span class=identifier>list_of</span><span class=special>( </span><span class=identifier>U </span><span class=identifier>u</span><span class=special>, </span><span class=identifier>U2 </span><span class=identifier>u2 </span><span class=special>);
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U2</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U3 </span><span class=special>>
-    </span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span>   </span><span class=identifier>list_of</span><span class=special>( </span><span class=identifier>U </span><span class=identifier>u</span><span class=special>, </span><span class=identifier>U2 </span><span class=identifier>u2</span><span class=special>, </span><span class=identifier>U3 </span><span class=identifier>u3 </span><span class=special>);
-
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U2</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U3</span><span class=special>, </span><span class=keyword>class </span><span c [...]
-    </span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span>   </span><span class=identifier>list_of</span><span class=special>( </span><span class=identifier>U </span><span class=identifier>u</span><span class=special>, </span><span class=identifier>U2 </span><span class=identifier>u2</span><span class=special>, </span><span class=identifier>U3 </span><span class=identifier>u3</span><span class=special>, </span><span class=iden [...]
-  
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U2</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U3</span><span class=special>, </span><span class=keyword>class </span><span c [...]
-    </span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span>   </span><span class=identifier>list_of</span><span class=special>( </span><span class=identifier>U </span><span class=identifier>u</span><span class=special>, </span><span class=identifier>U2 </span><span class=identifier>u2</span><span class=special>, </span><span class=identifier>U3 </span><span class=identifier>u3</span><span class=special>, </span><span class=iden [...]
-
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>Key</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>T </span><span class=special>>
-    </span><span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span>   </span><span class=identifier>map_list_of</span><span class=special>( </span><span class=identifier>Key </span><span class=identifier>k</span><span class=special>, </span><span class=identifier>T </span><span class=identifier>t </span><span class=special>)
-    </span><span class=special>{
-        </span><span class=keyword>return </span><span class=identifier>list_of</span><span class=special>< </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>pair</span><span class=special><</span><span class=identifier>Key</span><span class=special>,</span><span class=identifier>T</span><span class=special>> </span><span class=special>>()( </span><span class=identifier>k</span><span class=special>, </span><span class=identifier>t </s [...]
-    </span><span class=special>}</span>
-<span class=special>} </span><span class=comment>// namespace 'assign'</span>
-<span class=special>} </span><span class=comment>// namespace 'boost'</span>  </pre></blockquote>
-
-
-  <h3>Functions <code>repeat()</code>, 
-     <code>repeat_fun()</code> and <code>range()</code> <a name="repeat_ref"> </h3>
-  <p>
-            These first two function exist both as free-standing functions and as member functions of the object returned by 
-      <code>list_of()</code> and of <code>list_inserter</code>. 
-      The free-standing versions are used to create a
-      hook for <code>operator,()</code> so we can call the functions in the middle of a comma-list. The member functions
-      are used when we need to call the functions in the middle of a parenthesis-list. In both cases we have that
-      <ul>
-          <li> the return type is always implementation defined for both functions, 
-          <li> the argument list of <code>repeat()</code> is <code>(std::size_t,T)</code>, and  
-          <li> the argument list of <code>repeat_fun()</code> is <code>(std::size_t,Nullary_function)</code>    
-      </ul>
-      
-        </p>
-  <p>
-  The function <code>range()</code> only exists as a member function. The following two overloads are provided:
-  <blockquote>
-      <pre><span class=keyword>template</span><span class=special><</span> <span class=keyword>class</span> <span class=identifier>SinglePassIterator</span> <span class=special>></span>
-<span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span> <span class=identifier>range</span><span class=special>(</span> <span class=identifier>SinglePassIterator</span> <span class=identifier>first</span><span class=special>,</span> <span class=identifier>SinglePassIterator</span> <span class=identifier>last</span> <span class=special>);</span>
-
-<span class=keyword>template</span><span class=special><</span> <span class=keyword>class</span> <span class=identifier>SinglePassRange</span> <span class=special>></span>
-<span class=identifier>Implementation</span><span class=special>-</span><span class=identifier>defined</span> <span class=identifier>range</span><span class=special>(</span> <span class=keyword>const</span> <span class=identifier>SinglePassRange</span><span class=special>&</span> <span class=identifier>rng</span> <span class=special>);</span></pre>
-  </blockquote>
-
-  </p>
-      
-  <h3><a name="list_inserter">Class <code>list_inserter</code></a></h3> 
-  
-  This class is responsible for inserting elements into containers and 
-  it is the key to extending the library to support your favourite class.
-
-    <p>
-  <b>Synopsis</b> 
-  </p>
-  <blockquote><pre>
-<span class=keyword>namespace </span><span class=identifier>boost</span>
-<span class=special>{</span>
-<span class=keyword>namespace </span><span class=identifier>assign</span>
-<span class=special>{
-    </span><span class=keyword>template</span><span class=special>< </span><span class=identifier>Function</span><span class=special>, </span><span class=identifier>Argument </span><span class=special>= </span><span class=keyword>void </span><span class=special>> 
-    </span><span class=keyword>class </span><span class=identifier>list_inserter
-    </span><span class=special>{
-        </span><span class=identifier>Function </span><span class=identifier>fun</span><span class=special>;
-        
-    </span><span class=keyword>public</span><span class=special>:
-        </span><span class=keyword>explicit </span><span class=identifier>list_inserter</span><span class=special>( </span><span class=identifier>Function </span><span class=identifier>fun </span><span class=special>);
-        
-        </span><span class=comment>// conversion constructor
-        </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>Function2</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>Arg </span><span class=special>>
-        </span><span class=identifier>list_inserter</span><span class=special>( </span><span class=keyword>const </span><span class=identifier>list_inserter</span><span class=special><</span><span class=identifier>Function2</span><span class=special>,</span><span class=identifier>Arg</span><span class=special>>& </span><span class=special>);
-        
-    </span><span class=keyword>public</span><span class=special>:
-        </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>U </span><span class=special>>
-        </span><span class=identifier>list_inserter</span><span class=special>& </span><span class=keyword>operator</span><span class=special>,( </span><span class=identifier>U </span><span class=identifier>u </span><span class=special>);
-        
-        </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>U </span><span class=special>>
-        </span><span class=identifier>list_inserter</span><span class=special>& </span><span class=keyword>operator</span><span class=special>=( </span><span class=identifier>U </span><span class=identifier>u </span><span class=special>);
-        
-        </span><span class=comment>// calls 'fun()' with default-constructed object
-        </span><span class=identifier>list_inserter</span><span class=special>& </span><span class=keyword>operator</span><span class=special>()();
-        
-        </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>U </span><span class=special>>
-        </span><span class=identifier>list_inserter</span><span class=special>& </span><span class=keyword>operator</span><span class=special>()( </span><span class=identifier>U </span><span class=identifier>u </span><span class=special>);
-        
-        </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>U</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>U2 </span><span class=special>>
-        </span><span class=identifier>list_inserter</span><span class=special>& </span><span class=keyword>operator</span><span class=special>()( </span><span class=identifier>U </span><span class=identifier>u</span><span class=special>, </span><span class=identifier>U2 </span><span class=identifier>u2 </span><span class=special>)
-        </span><span class=special>{
-           </span><span class=comment>//
-           // if 'Argument' is 'void'
-           //     fun( u, u2 );
-           // else
-           //     fun( Argument( u, u2 ) );
-           //
-           </span><span class=keyword>return </span><span class=special>*</span><span class=keyword>this</span><span class=special>;
-        </span><span class=special>}
-
-        </span><span class=comment>//
-        // similarly up to 5 arguments
-        //
-    </span><span class=special>};</span>
-    
-    <span class=keyword>template</span><span class=special>< </span><span 
-class=keyword>class </span><span class=identifier>C </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>> </span><span class=identifier>push_back</span><span class=special>( </span><span class=identifier>C</span><span class=special>& </span><span class=special>);
-      
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>C </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>> </span><span class=identifier>push_front</span><span class=special>( </span><span class=identifier>C</span><span class=special>& </span><span class=special>);
-
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>C </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>> </span><span class=identifier>insert</span><span class=special>( </span><span class=identifier>C</span><span class=special>& </span><span class=special>);
-
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>C </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=special>... </span><span class=special>> </span><span class=identifier>push</span><span class=special>( </span><span class=identifier>C</span><span class=special>& </span><span class=special>);</span>
-      
-<span class=special>} </span><span class=comment>// namespace 'assign'</span>
-<span class=special>} </span><span class=comment>// namespace 'boost'</span></pre></blockquote>
-  <p>
-  Notice how the arguments to <code>operator,()</code> and 
-  <code>operator()()</code> are passed differently to 
-  <code>fun</code> depending of the type of <code>Argument</code>. 
-  So if we only pass one template argument to <code>list_inserter,</code>
-  we can forward "arbitrary" argument lists of functions. If we pass
-  two template arguments to <code>list_inserter</code> we can 
-  construct types with "arbitrary" constructors.
-  </p> 
-   
-  <p> 
-   And because
-  a reference to <code>list_inserter</code> is returned, we can
-  chain argument list together in a very space-efficient manner.
-  </p>
-
-  <h3><a name="make_list_inserter">Function <code>make_list_inserter()</code></a></h3>
-  <p>
-  A simple "constructor" function for <code>list_inserter</code>. A typical 
-  use of this function is to call it with the result of 
-<code>boost::bind()</code>
-  which in general returns some unreadable and weird class template.
-  </p>
-  <b>Synopsis</b>
-  <blockquote><pre>
-<span class=keyword>namespace </span><span class=identifier>boost </span>
-<span class=special>{</span>
-<span class=keyword>namespace </span><span class=identifier>assign</span>
-<span class=special>{  
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>Function </span><span class=special>>
-    </span><span class=identifier>list_inserter</span><span class=special><</span><span class=identifier>Function</span><span class=special>>  </span><span class=identifier>make_list_inserter</span><span class=special>( </span><span class=identifier>Function </span><span class=identifier>fun </span><span class=special>)
-    </span><span class=special>{
-        </span><span class=keyword>return </span><span class=identifier>list_inserter</span><span class=special><</span><span class=identifier>Function</span><span class=special>>( </span><span class=identifier>fun </span><span class=special>);
-    </span><span class=special>} </span>
-<span class=special>}</span>
-<span class=special>}  </span>  </pre></blockquote>
-
-   <a name="limit"></a>   
-   <h3>Customizing argument list sizes</h3>   
-      <p>
-    This library uses the boost Preprocessor Library to implement overloaded 
-    versions of <code>operator()()</code> and <code>list_of()</code>. By default you 
-    can call these functions with five arguments, but you can also customize this 
-    number by defining a macros before including a header from this library:
-       <blockquote>
-       <pre>
-<span class=preprocessor>#define </span><span class=identifier>BOOST_ASSIGN_MAX_PARAMS </span><span class=number>10
-</span><span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-</pre>
-       </blockquote>      
-       </p>
-  <hr>    
-  <h2><a name="exceptions">Exceptions and exception-safety</a></h2>
-  <p>
-  The exception guarantees by the library is the same as guarantee as the 
-  guarantee of the function that is forwarded to. For standard 
-  containers this means that the
-  strong guarantee is given for a single insertions and that the basic guarantee 
-  is given for many insertions (provided that the object being copied 
-  gives the basic guarantee). 
-  </p>
-  <p>
-  The functions may throw standard exceptions
-  like <code>std::bad_alloc</code>. Note however that, unfortunately, the standard does not guarantee allocation-failures
-  in standard containers to be reported by <code>std::bad_alloc</code> or exceptions derived from <code>std::exception</code>.
- </p>
-  
-  <h3><a name="assignment_exception">Class 
-  <code>assignment_exception</code></a></h3>
-  <p>
-   The exception is thrown by the conversion operator in the proxy object
-   returned from <code>list_of()</code>.
-  </p>
-
-  <blockquote><pre>
-<span class=keyword>namespace </span><span class=identifier>boost </span>
-<span class=special>{</span>
-<span class=keyword>namespace </span><span class=identifier>assign</span>
-<span class=special>{
-    </span><span class=keyword>class </span><span class=identifier>assignment_exception </span><span class=special>: </span><span class=keyword>public </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>exception
-    </span><span class=special>{
-    </span><span class=keyword>public</span><span class=special>:
-        </span><span class=keyword>explicit </span><span class=identifier>assignment_exception</span><span class=special>( </span><span class=keyword>const </span><span class=keyword>char</span><span class=special>* </span><span class=identifier>what </span><span class=special>); 
-        </span><span class=keyword>virtual </span><span class=keyword>const </span><span class=keyword>char</span><span class=special>* </span><span class=identifier>what</span><span class=special>() </span><span class=keyword>const </span><span class=keyword>throw</span><span class=special>();
-    </span><span class=special>};</span>
-<span class=special>}   </span>
-<span class=special>}</span>  </pre></blockquote> 
-
-  <hr>
-  <h2><a name="extensions">Extending the library</a></h2> 
-  <p>
-  It is very simple to make the library work with new classes. 
-  This code shows how to use <code>operator+=()</code> with 
-  a container:
-  <blockquote><pre>
-<span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>V</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>A</span><span class=special>, </span><span class=keyword>class </span><span class=identifier>V2 </span><span class=special>>
-</span><span class=keyword>inline </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=identifier>assign_detail</span><span class=special>::</span><span class=identifier>call_push_back</span><span class=special>< </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>vector</span><span class=special><</span><span class=identifier>V</span><span class=special>,</span><span class=identifier>A</span><span cla [...]
-</span><span class=keyword>operator</span><span class=special>+=( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>vector</span><span class=special><</span><span class=identifier>V</span><span class=special>,</span><span class=identifier>A</span><span class=special>>& </span><span class=identifier>c</span><span class=special>, </span><span class=identifier>V2 </span><span class=identifier>v </span><span class=special>)
-</span><span class=special>{
-    </span><span class=keyword>return </span><span class=identifier>make_list_inserter</span><span class=special>( </span><span class=identifier>assign_detail</span><span class=special>::</span><span class=identifier>call_push_back</span><span class=special>< </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>vector</span><span class=special><</span><span class=identifier>V</span><span class=special>,</span><span class=identifier>A</span><sp [...]
-</span><span class=special>}
-</span></pre>
-</blockquote>      
-
-
-where <code>call_push_back</code> is defined as    
-      
-<blockquote>      
-<pre>
-<span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>C </span><span class=special>>
-</span><span class=keyword>class </span><span class=identifier>call_push_back
-</span><span class=special>{
-    </span><span class=identifier>C</span><span class=special>& </span><span class=identifier>c_</span><span class=special>;
-</span><span class=keyword>public</span><span class=special>:
-
-    </span><span class=identifier>call_push_back</span><span class=special>( </span><span class=identifier>C</span><span class=special>& </span><span class=identifier>c </span><span class=special>) </span><span class=special>: </span><span class=identifier>c_</span><span class=special>( </span><span class=identifier>c </span><span class=special>)
-    </span><span class=special>{ </span><span class=special>}
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T </span><span class=special>>
-    </span><span class=keyword>void </span><span class=keyword>operator</span><span class=special>()( </span><span class=identifier>T </span><span class=identifier>r </span><span class=special>) 
-    </span><span class=special>{
-        </span><span class=identifier>c_</span><span class=special>.</span><span class=identifier>push_back</span><span class=special>( </span><span class=identifier>r </span><span class=special>);
-    </span><span class=special>}
-</span><span class=special>};</span></pre>    
-</blockquote>
-      
-      Note that we pass
-  a second template argument to <code>list_inserter</code> so argument 
-  lists will be used to construct a <code>V</code> object. Otherwise we
-  could end up trying to call <code>push_back()</code> with <i>n</i> arguments 
-  instead of one.
-  </p>
-      
-  <p>    
-  An alternative way would be to use <code>boost::function</code> and 
-  <code>boost::bind()</code> in combination. However, in this case one must
-  remember that it is illegal to take the address of a function in
-  the standard library.
-  </p>
-      
-  <p>
-  Calling a function with more that one argument can be
-  very useful too. This small example shows how we take advantage of this 
-  functionality:
-  </p>
-  <blockquote><pre>
-<span class=comment>//  
-// A class representing emails
-//</span>
-<span class=keyword>class </span><span class=identifier>email</span>
-<span class=special>{</span>
-<span class=keyword>public</span><span class=special>:
-    </span><span class=keyword>enum </span><span class=identifier>address_option
-    </span><span class=special>{
-        </span><span class=identifier>check_addr_book</span><span class=special>,
-        </span><span class=identifier>dont_check_addr_book
-    </span><span class=special>};
-    </span>
-<span class=keyword>private</span><span class=special>:
-
-    </span><span class=keyword>typedef </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>map</span><span class=special>< </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>,</span><span class=identifier>address_option </span><span class=special>>  </span><span class=identifier>address_map</span><span class=special>;
-    
-    </span><span class=comment>//
-    // Store list of persons that must be cc'ed
-    //
-    </span><span class=keyword>mutable </span><span class=identifier>address_map </span><span class=identifier>cc_list</span><span class=special>;
-        
-    </span><span class=comment>//
-    // This extra function-object will take care of the 
-    // insertion for us. It stores a reference to a 
-    // map and 'operator()()' does the work. 
-    //
-    </span><span class=keyword>struct </span><span class=identifier>add_to_map
-    </span><span class=special>{
-        </span><span class=identifier>address_map</span><span class=special>& </span><span class=identifier>m</span><span class=special>;
-    
-        </span><span class=identifier>add_to_map</span><span class=special>( </span><span class=identifier>address_map</span><span class=special>& </span><span class=identifier>m </span><span class=special>) </span><span class=special>: </span><span class=identifier>m</span><span class=special>(</span><span class=identifier>m</span><span class=special>)        
-        </span><span class=special>{}
-    
-        </span><span class=keyword>void </span><span class=keyword>operator</span><span class=special>()( </span><span class=keyword>const </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>& </span><span class=identifier>name</span><span class=special>, </span><span class=identifier>address_option </span><span class=identifier>ao </span><span class=special>)
-        </span><span class=special>{
-            </span><span class=identifier>m</span><span class=special>[ </span><span class=identifier>name </span><span class=special>] </span><span class=special>= </span><span class=identifier>ao</span><span class=special>; 
-        </span><span class=special>}
-    </span><span class=special>};
-</span>
-<span class=keyword>public</span><span class=special>:
-    
-    </span><span class=comment>//
-    // This function constructs the appropriate 'list_inserter'.
-    // Again we could have use 'boost::function', but it is
-    // trivial to use a function object.
-    //
-    // Notice that we do not specify an extra template
-    // parameter to 'list_inserter'; this means we forward
-    // all parameters directly to the function without 
-    // calling any constructor.
-    //
-    </span><span class=identifier>list_inserter</span><span class=special>< </span><span class=identifier>add_to_map </span><span class=special>>
-    </span><span class=identifier>add_cc</span><span class=special>( </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string </span><span class=identifier>name</span><span class=special>, </span><span class=identifier>address_option </span><span class=identifier>ao </span><span class=special>)
-    </span><span class=special>{
-        </span><span class=comment>//
-        // Notice how we pass the arguments 'name' and 'ao' to
-        // the 'list_inserter'.
-        //
-        </span><span class=keyword>return </span><span class=identifier>make_list_inserter</span><span class=special>( </span><span class=identifier>add_to_map</span><span class=special>( </span><span class=identifier>cc_list </span><span class=special>) </span><span class=special>)( </span><span class=identifier>name</span><span class=special>, </span><span class=identifier>ao </span><span class=special>);
-    </span><span class=special>}</span>
-<span class=special>};
-</span>
-<span class=comment>//
-// Now we can use the class like this:
-//</span>
-<span class=identifier>email </span><span class=identifier>e</span><span class=special>;</span>
-<span class=identifier>e</span><span class=special>.</span><span class=identifier>add_cc</span><span class=special>( </span><span class=string>"Mr. Foo"</span><span class=special>, </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>dont_check_addr_book </span><span class=special>)
-        </span><span class=special>( </span><span class=string>"Mr. Bar"</span><span class=special>, </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>check_addr_book </span><span class=special>)
-        </span><span class=special>( </span><span class=string>"Mrs. FooBar"</span><span class=special>, </span><span class=identifier>email</span><span class=special>::</span><span class=identifier>check_addr_book </span><span class=special>);  </span>
-</pre></blockquote>
-      
-   
-  The full example can be seen in <a href="email_example.html">email_example.cpp</a> </p>
-  <hr>
-  <h2>Examples <a name="examples"></h2>
-  <p>
-  Additional examples can be found in the test files:
-  <ul>
-      <li> <a href="email_example.html">email_example.cpp</a>          
-      <li> <a href="my_vector_example.html">my_vector_example.cpp</a>               
-      <li> <a href="multi_index_container.html">multi_index_container.cpp</a> 
-      <li> <a href="../test/array.cpp">array.cpp</a>      
-      <li> <a href="../test/list_of.cpp">list_of.cpp</a>      
-      <li> <a href="../test/std.cpp">std.cpp</a>      
-      <li> <a href="../test/list_inserter.cpp">list_inserter.cpp</a>      
-      <li> <a href="../test/list_of_workaround.cpp">list_of_work_around.cpp</a>      
-</ul> </p>
-  
-  
-  <hr>
-  <h2><a name="boost_libs">Supported libraries</a></h2> 
-  Here is a list libraries has been tested with Boost.Assign:
-  
-  <ol>
-      <li> <code>boost::<a href="../../array/index.html">array</a></code>
-      <li> <code>boost::<a href="../../multi_index/index.html">multi_index_container</a></code>
-      <li> <code>Boost.<a href="../../ptr_container/index.html">Pointer Container</code> </ol> <p>
-
-  </p>
-  
-  
-  <hr>
-  <h2><a name="portability">Portability</a></h2>
-  <p>
-    Library has been successfully compiled and tested with
-    MVC++ 7.1, GCC 3.2 (under Cygwin) Comeau 4.3.3
-  </p>
-  <p>
-    There are known limitation on platforms not supporting templated 
-    conversion operators. The solution is to call certain member functions on 
-    the object returned by <code>list_of()</code>: </p>
- <blockquote>
-     <pre>
-<span class=special>{
-    </span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>std</span><span class=special>;
-    </span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>;
-    </span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;
-    
-    </span><span class=keyword></span><span 
-class=identifier>vector</span><span
-class=special><</span><span class=keyword>int</span><span 
-class=special>></span>         <span class=identifier>v </span><span 
-class=special>= </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>1</span><span class=special>)(</span><span class=number>2</span><span class=special>)(</span><span class=number>3</span><span class=special>)(</span><span class=number>4</span><span class=special>).</span><span class=identifier>to_container</span><span class=special>( </span><span class=identifier>v </span><span class=special>);
-    </span><span class=identifier>set</span><span class=special><</span><span class=keyword>int</span><span class=special>>            </span><span class=identifier>s </span><span class=special>= </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>1</span><span class=special>)(</span><span class=number>2</span><span class=special>)(</span><span class=number>3</span><span class=special>)(</span><span class=number>4</span><span class=special>).< [...]
-    </span><span class=identifier>map</span><span class=special><</span><span class=keyword>int</span><span class=special>,</span><span class=keyword>int</span><span class=special>>        </span><span class=identifier>m </span><span class=special>= </span><span class=identifier>map_list_of</span><span class=special>(</span><span class=number>1</span><span class=special>,</span><span class=number>2</span><span class=special>)(</span><span class=number>2</span><span class=special>,< [...]
-    </span><span class=identifier>stack</span><span class=special><</span><span class=keyword>int</span><span class=special>>         </span><span class=identifier>st </span><span class=special>= </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>1</span><span class=special>)(</span><span class=number>2</span><span class=special>)(</span><span class=number>3</span><span class=special>)(</span><span class=number>4</span><span class=special>).< [...]
-    </span><span class=identifier>queue</span><span class=special><</span><span class=keyword>int</span><span class=special>>          </span><span class=identifier>q </span><span class=special>= </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>1</span><span class=special>)(</span><span class=number>2</span><span class=special>)(</span><span class=number>3</span><span class=special>)(</span><span class=number>4</span><span class=special>).< [...]
-    </span><span class=identifier>array</span><span class=special><</span><span class=keyword>int</span><span class=special>,</span><span class=number>4</span><span class=special>>        </span><span class=identifier>a </span><span class=special>= </span><span class=identifier>list_of</span><span class=special>(</span><span class=number>1</span><span class=special>)(</span><span class=number>2</span><span class=special>)(</span><span class=number>3</span><span class=special>)(</sp [...]
-<span class=special>}</span>     </pre>
- </blockquote>
- <p>
- Notice how one must supply the functions with an argument so the right
- return type can be deduced.
- </p>
- <p>Some standard libraries are also broken. One problem is that 
-<code>insert()</code> might not work:
-<blockquote>
-    <pre>
-<span class=identifier>map</span><span class=special><</span><span class=keyword>int</span><span class=special>,</span><span class=keyword>int</span><span class=special>> </span><span class=identifier>next</span><span class=special>; 
-</span><span class=identifier>insert</span><span class=special>( </span><span class=identifier>next </span><span class=special>)(</span><span class=number>1</span><span class=special>,</span><span class=number>2</span><span class=special>)(</span><span class=number>2</span><span class=special>,</span><span class=number>3</span><span class=special>); </span><span class=comment>// compile-time error</span> </pre>
-</blockquote>
-The solution is to use <code>map_list_of()</code> instead:
-<blockquote>
-    <pre>
-<span class=identifier>map</span><span class=special><</span><span class=keyword>int</span><span class=special>,</span><span class=keyword>int</span><span class=special>> </span><span class=identifier>next </span><span class=special>= </span><span class=identifier>map_list_of</span><span class=special>(</span><span class=number>1</span><span class=special>,</span><span class=number>2</span><span class=special>)(</span><span class=number>2</span><span class=special>,</span><span cla [...]
-</p>
- <hr>
-  <h2><a name="history">History and Acknowledgment</a></h2>
-  <p>
-  The idea for an assignment/initialization library is not new. The 
-  functionality of this
-  library resembles Leor Zolman's STL Container Initialization Library a great 
-  deal, but it does not rely on string parsing to achieve its goals. 
-  </p> 
-  <p>
-  The  
-  library is non-intrusive and puts only a minimum of requirements 
-  on its supported classes.
- Overloading operator comma is sometimes viewed as a bad practice <a 
-href="#meyers">[1]</A>. However, it has been done
-  with success in eg. the Generative Matrix Computation Library  and Blitz to initialize matrices 
-      (see <a href="#gmcl">[2]</A>) and <a href="#blitz">[3]</A>). The 
-Initialization Library overloads
-      the comma operator in a safe manner by letting free standing functions
- return an object that is responsible for the initialization. Therefore it takes 
-explicit
-      action from the programmer to begin using the overloaded <code>operator,()</CODE>.
-  </p>
-  <p>
-  There has recently been some discussion about enhancing the language to 
-support better initialization (see <a href="#initializer">[4]</a>).
-  </p>
-  <p>
-  Special thanks goes to 
-  <ul>
-  <li> Leor Zolman for our many discussion that eventually led to this library.
-  <li> Tom Brinkman for being review manager.
-  <li> Joaqu�n Mu�oz for vc6/vc7 portability.
-  <li> Pavel Vozenilek for his countless suggestions, improvements and 
-       portability fixes. 
-  <li> Rene Rivera for Code Warrior portability.     
-       
-       </ul>
-  </p>
-  <hr>
-  <h2><a name="ref">References</a></h2>
-  <p>
-  <ol>
-      <li> <a name="meyers">     Scott. Meyers, "More Effective C++", Item 7, Addison Wesley, 1996       
-      <li> <a name="gmcl">       K. Czarnecki and U.W. Eisenecker, "Generative programming", Addison-Wesley, 2000        
-      <li> <a name="blitz">      <a href="http://www.oonumerics.org/blitz/"> http://www.oonumerics.org/blitz/ </A>     
-      <li> <a name="initializer"> 
-          Gabriel Dos Reis and Bjarne Stroustrup, 
-          <a href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1509.pdf"> "Generalized Initializer
-            Lists"</a>, 2003  </a>
- </OL> 
- </p>
-  <hr>
-  <p>
-    (C) Copyright Thorsten Ottosen 2003-2006
-  </p>
-
-  <br>
-  <br>
-  <br>
-  <br>
-  <br>
-  <br>
-  <br>
-  <br>
-  <br>
-  <br>
-  <br>
-  <br>
-</body>
-</html>
diff --git a/SRC/Boost/libs/assign/doc/multi_index_container.html b/SRC/Boost/libs/assign/doc/multi_index_container.html
deleted file mode 100755
index 83afe5c..0000000
--- a/SRC/Boost/libs/assign/doc/multi_index_container.html
+++ /dev/null
@@ -1,185 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Boost.Assignment Documentation </title>
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-
-<body>
-<pre>
-<span class=comment>// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-</span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>detail</span><span class=special>/</span><span class=identifier>workaround</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>>
-</span>
-<span class=preprocessor>#if </span><span class=identifier>BOOST_WORKAROUND</span><span class=special>(</span><span class=identifier>__BORLANDC__</span><span class=special>, </span><span class=identifier>BOOST_TESTED_AT</span><span class=special>(</span><span class=number>0</span><span class=identifier>x564</span><span class=special>))</span>
-###<span class=identifier>pragma </span><span class=identifier>warn </span><span class=special>-</span><span class=number>8091 </span><span class=comment>// supress warning in Boost.Test</span>
-###<span class=identifier>pragma </span><span class=identifier>warn </span><span class=special>-</span><span class=number>8057 </span><span class=comment>// unused argument argc/argv in Boost.Test</span>
-<span class=preprocessor>#endif
-</span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>list_of</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>list_inserter</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>multi_index_container</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>multi_index</span><span class=special>/</span><span class=identifier>identity</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>multi_index</span><span class=special>/</span><span class=identifier>member</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>multi_index</span><span class=special>/</span><span class=identifier>ordered_index</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>multi_index</span><span class=special>/</span><span class=identifier>sequenced_index</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>test</span><span class=special>/</span><span class=identifier>unit_test</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>test</span><span class=special>/</span><span class=identifier>test_tools</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>cstddef</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>ostream</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>string</span><span class=special>>
-</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>;</span>
-<span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>multi_index</span><span class=special>;</span>
-<span class=keyword>namespace </span><span class=identifier>ba </span><span class=special>=  </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;
-</span>
-<span class=comment>//
-// Define a classical multi_index_container for employees
-//</span>
-<span class=keyword>struct </span><span class=identifier>employee</span>
-<span class=special>{
-  </span><span class=keyword>int         </span><span class=identifier>id</span><span class=special>;
-  </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string </span><span class=identifier>name</span><span class=special>;
-  </span><span class=keyword>int         </span><span class=identifier>age</span><span class=special>;
-
-  </span><span class=identifier>employee</span><span class=special>(</span><span class=keyword>int </span><span class=identifier>id_</span><span class=special>,</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string </span><span class=identifier>name_</span><span class=special>,</span><span class=keyword>int </span><span class=identifier>age_</span><span class=special>):</span><span class=identifier>id</span><span class=special>(</span><span cla [...]
-
-  </span><span class=keyword>bool </span><span class=keyword>operator</span><span class=special>==(</span><span class=keyword>const </span><span class=identifier>employee</span><span class=special>& </span><span class=identifier>x</span><span class=special>)</span><span class=keyword>const
-  </span><span class=special>{
-    </span><span class=keyword>return </span><span class=identifier>id</span><span class=special>==</span><span class=identifier>x</span><span class=special>.</span><span class=identifier>id</span><span class=special>&&</span><span class=identifier>name</span><span class=special>==</span><span class=identifier>x</span><span class=special>.</span><span class=identifier>name</span><span class=special>&&</span><span class=identifier>age</span><span class=special>==</span><sp [...]
-  </span><span class=special>}
-
-  </span><span class=keyword>bool </span><span class=keyword>operator</span><span class=special><(</span><span class=keyword>const </span><span class=identifier>employee</span><span class=special>& </span><span class=identifier>x</span><span class=special>)</span><span class=keyword>const
-  </span><span class=special>{
-    </span><span class=keyword>return </span><span class=identifier>id</span><span class=special><</span><span class=identifier>x</span><span class=special>.</span><span class=identifier>id</span><span class=special>;
-  </span><span class=special>}
-
-  </span><span class=keyword>bool </span><span class=keyword>operator</span><span class=special>!=(</span><span class=keyword>const </span><span class=identifier>employee</span><span class=special>& </span><span class=identifier>x</span><span class=special>)</span><span class=keyword>const</span><span class=special>{</span><span class=keyword>return </span><span class=special>!(*</span><span class=keyword>this</span><span class=special>==</span><span class=identifier>x</span><span cl [...]
-  </span><span class=keyword>bool </span><span class=keyword>operator</span><span class=special>> </span><span class=special>(</span><span class=keyword>const </span><span class=identifier>employee</span><span class=special>& </span><span class=identifier>x</span><span class=special>)</span><span class=keyword>const</span><span class=special>{</span><span class=keyword>return </span><span class=identifier>x</span><span class=special><*</span><span class=keyword>this</span><span [...]
-  </span><span class=keyword>bool </span><span class=keyword>operator</span><span class=special>>=(</span><span class=keyword>const </span><span class=identifier>employee</span><span class=special>& </span><span class=identifier>x</span><span class=special>)</span><span class=keyword>const</span><span class=special>{</span><span class=keyword>return </span><span class=special>!(*</span><span class=keyword>this</span><span class=special><</span><span class=identifier>x</span><sp [...]
-  </span><span class=keyword>bool </span><span class=keyword>operator</span><span class=special><=(</span><span class=keyword>const </span><span class=identifier>employee</span><span class=special>& </span><span class=identifier>x</span><span class=special>)</span><span class=keyword>const</span><span class=special>{</span><span class=keyword>return </span><span class=special>!(</span><span class=identifier>x</span><span class=special><*</span><span class=keyword>this</span><sp [...]
-
-  </span><span class=keyword>struct </span><span class=identifier>comp_id
-  </span><span class=special>{
-    </span><span class=keyword>bool </span><span class=keyword>operator</span><span class=special>()(</span><span class=keyword>int </span><span class=identifier>x</span><span class=special>,</span><span class=keyword>const </span><span class=identifier>employee</span><span class=special>& </span><span class=identifier>e2</span><span class=special>)</span><span class=keyword>const</span><span class=special>{</span><span class=keyword>return </span><span class=identifier>x</span><span [...]
-    </span><span class=keyword>bool </span><span class=keyword>operator</span><span class=special>()(</span><span class=keyword>const </span><span class=identifier>employee</span><span class=special>& </span><span class=identifier>e1</span><span class=special>,</span><span class=keyword>int </span><span class=identifier>x</span><span class=special>)</span><span class=keyword>const</span><span class=special>{</span><span class=keyword>return </span><span class=identifier>e1</span><spa [...]
-  </span><span class=special>};
-
-  </span><span class=keyword>friend </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>ostream</span><span class=special>& </span><span class=keyword>operator</span><span class=special><<(</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>ostream</span><span class=special>& </span><span class=identifier>os</span><span class=special>,</span><span class=keyword>const </span><span class=identifie [...]
-  </span><span class=special>{
-    </span><span class=identifier>os</span><span class=special><<</span><span class=identifier>e</span><span class=special>.</span><span class=identifier>id</span><span class=special><<</span><span class=string>" "</span><span class=special><<</span><span class=identifier>e</span><span class=special>.</span><span class=identifier>name</span><span class=special><<</span><span class=string>" "</span><span class=special><<</span><span class= [...]
-    </span><span class=keyword>return </span><span class=identifier>os</span><span class=special>;
-  </span><span class=special>}</span>
-<span class=special>};
-</span>
-<span class=keyword>struct </span><span class=identifier>name</span><span class=special>{};</span>
-<span class=keyword>struct </span><span class=identifier>by_name</span><span class=special>{};</span>
-<span class=keyword>struct </span><span class=identifier>age</span><span class=special>{};</span>
-<span class=keyword>struct </span><span class=identifier>as_inserted</span><span class=special>{};
-</span>
-<span class=keyword>typedef
-  </span><span class=identifier>multi_index_container</span><span class=special><
-    </span><span class=identifier>employee</span><span class=special>,
-    </span><span class=identifier>indexed_by</span><span class=special><
-      </span><span class=identifier>ordered_unique</span><span class=special><
-        </span><span class=identifier>identity</span><span class=special><</span><span class=identifier>employee</span><span class=special>> </span><span class=special>>,
-      </span><span class=identifier>ordered_non_unique</span><span class=special><
-        </span><span class=identifier>tag</span><span class=special><</span><span class=identifier>name</span><span class=special>,</span><span class=identifier>by_name</span><span class=special>>,
-        </span><span class=identifier>BOOST_MULTI_INDEX_MEMBER</span><span class=special>(</span><span class=identifier>employee</span><span class=special>,</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>,</span><span class=identifier>name</span><span class=special>)>,
-      </span><span class=identifier>ordered_non_unique</span><span class=special><
-        </span><span class=identifier>tag</span><span class=special><</span><span class=identifier>age</span><span class=special>>,
-        </span><span class=identifier>BOOST_MULTI_INDEX_MEMBER</span><span class=special>(</span><span class=identifier>employee</span><span class=special>,</span><span class=keyword>int</span><span class=special>,</span><span class=identifier>age</span><span class=special>)>,
-      </span><span class=identifier>sequenced</span><span class=special><
-        </span><span class=identifier>tag</span><span class=special><</span><span class=identifier>as_inserted</span><span class=special>> </span><span class=special>> </span><span class=special>> </span><span class=special>>
-  </span><span class=identifier>employee_set</span><span class=special>;
-</span>
-<span class=preprocessor>#if </span><span class=identifier>defined</span><span class=special>(</span><span class=identifier>BOOST_NO_MEMBER_TEMPLATES</span><span class=special>)</span>
-<span class=keyword>typedef </span><span class=identifier>nth_index</span><span class=special><
-  </span><span class=identifier>employee_set</span><span class=special>,</span><span class=number>1</span><span class=special>>::</span><span class=identifier>type                       </span><span class=identifier>employee_set_by_name</span><span class=special>;</span>
-<span class=preprocessor>#else</span>
-<span class=keyword>typedef </span><span class=identifier>employee_set</span><span class=special>::</span><span class=identifier>nth_index</span><span class=special><</span><span class=number>1</span><span class=special>>::</span><span class=identifier>type </span><span class=identifier>employee_set_by_name</span><span class=special>;</span>
-<span class=preprocessor>#endif
-</span>
-<span class=keyword>typedef </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>multi_index</span><span class=special>::</span><span class=identifier>index</span><span class=special><
-         </span><span class=identifier>employee_set</span><span class=special>,</span><span class=identifier>age</span><span class=special>>::</span><span class=identifier>type         </span><span class=identifier>employee_set_by_age</span><span class=special>;</span>
-<span class=keyword>typedef </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>multi_index</span><span class=special>::</span><span class=identifier>index</span><span class=special><
-         </span><span class=identifier>employee_set</span><span class=special>,</span><span class=identifier>as_inserted</span><span class=special>>::</span><span class=identifier>type </span><span class=identifier>employee_set_as_inserted</span><span class=special>;
-</span>
-<span class=comment>//
-// Define a multi_index_container with a list-like index and an ordered index
-//</span>
-<span class=keyword>typedef </span><span class=identifier>multi_index_container</span><span class=special><
-  </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>,
-  </span><span class=identifier>indexed_by</span><span class=special><
-    </span><span class=identifier>sequenced</span><span class=special><>,                               </span><span class=comment>// list-like index
-    </span><span class=identifier>ordered_non_unique</span><span class=special><</span><span class=identifier>identity</span><span class=special><</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>> </span><span class=special>> </span><span class=comment>// words by alphabetical order
-  </span><span class=special>></span>
-<span class=special>> </span><span class=identifier>text_container</span><span class=special>;
-
-
-</span>
-<span class=keyword>void </span><span class=identifier>test_multi_index_container</span><span class=special>()</span>
-<span class=special>{
-    </span><span class=identifier>employee_set </span><span class=identifier>eset </span><span class=special>= </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>list_of</span><span class=special>< </span><span class=identifier>employee </span><span class=special>>(</span><span class=number>1</span><span class=special>,</span><span class=string>"Franz"</span><span class=special>,</span><span class=number>30</span><span class=special [...]
-    </span><span class=identifier>BOOST_CHECK</span><span class=special>( </span><span class=identifier>eset</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>3u </span><span class=special>);
-    
-    </span><span class=comment>//
-    // This container is associative, hence we can use 'insert()' 
-    // 
-    
-    </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>insert</span><span class=special>( </span><span class=identifier>eset </span><span class=special>)(</span><span class=number>4</span><span class=special>,</span><span class=string>"Kurt"</span><span class=special>,</span><span class=number>55</span><span class=special>)(</span><span class=number>5</span><span class=special>,</span><span class=string>"Bjarne"</span><span clas [...]
-    </span><span class=identifier>BOOST_CHECK</span><span class=special>( </span><span class=identifier>eset</span><span class=special>.</span><span class=identifier>size</span><span class=special>() </span><span class=special>== </span><span class=number>6u </span><span class=special>);
-    
-    </span><span class=identifier>employee_set_by_name</span><span class=special>& </span><span class=identifier>name_index </span><span class=special>= </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>multi_index</span><span class=special>::</span><span class=identifier>get</span><span class=special><</span><span class=identifier>name</span><span class=special>>(</span><span class=identifier>eset</span><span class=special>);
-    </span><span class=identifier>employee_set_by_name</span><span class=special>::</span><span class=identifier>iterator </span><span class=identifier>i </span><span class=special>= </span><span class=identifier>name_index</span><span class=special>.</span><span class=identifier>find</span><span class=special>(</span><span class=string>"Ilse"</span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK</span><span class=special>( </span><span class=identifier>i</span><span class=special>-></span><span class=identifier>id </span><span class=special>== </span><span class=number>3 </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK</span><span class=special>( </span><span class=identifier>i</span><span class=special>-></span><span class=identifier>age </span><span class=special>== </span><span class=number>50 </span><span class=special>);
-    
-    </span><span class=identifier>text_container </span><span class=identifier>text </span><span class=special>= </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>list_of</span><span class=special>< </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string </span><span class=special>>(</span><span class=string>"Have"</span><span class=special>)(</span><span class=string>"you"</span [...]
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>text</span><span class=special>.</span><span class=identifier>size</span><span class=special>(), </span><span class=number>8u </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=special>*</span><span class=identifier>text</span><span class=special>.</span><span class=identifier>begin</span><span class=special>(), </span><span class=string>"Have" </span><span class=special>);
-    
-    </span><span class=comment>//
-    // This container is a sequence, hence we can use 'push_back()' and 'push_font()'
-    //
-    
-    </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>push_back</span><span class=special>( </span><span class=identifier>text </span><span class=special>)(</span><span class=string>"Well"</span><span class=special>)(</span><span class=string>","</span><span class=special>)(</span><span class=string>"A"</span><span class=special>)(</span><span class=string>"LOT"</span><span class=special>)(</span><span class [...]
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>text</span><span class=special>.</span><span class=identifier>size</span><span class=special>(), </span><span class=number>14u </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=special>*--</span><span class=identifier>text</span><span class=special>.</span><span class=identifier>end</span><span class=special>(), </span><span class=string>"obviously!" </span><span class=special>);
-    
-    </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>push_front</span><span class=special>( </span><span class=identifier>text </span><span class=special>) </span><span class=special>= </span><span class=string>"question:"</span><span class=special>, </span><span class=string>"simple"</span><span class=special>, </span><span class=string>"A"</span><span class=special>;
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>text</span><span class=special>.</span><span class=identifier>size</span><span class=special>(), </span><span class=number>17u </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>text</span><span class=special>.</span><span class=identifier>front</span><span class=special>(), </span><span class=string>"A" </span><span class=special>);</span>
-<span class=special>}
-
-
-</span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>test</span><span class=special>/</span><span class=identifier>included</span><span class=special>/</span><span class=identifier>unit_test_framework</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>> 
-</span>
-<span class=keyword>using </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>unit_test_framework</span><span class=special>::</span><span class=identifier>test_suite</span><span class=special>;
-</span>
-<span class=identifier>test_suite</span><span class=special>* </span><span class=identifier>init_unit_test_suite</span><span class=special>( </span><span class=keyword>int </span><span class=identifier>argc</span><span class=special>, </span><span class=keyword>char</span><span class=special>* </span><span class=identifier>argv</span><span class=special>[] </span><span class=special>)</span>
-<span class=special>{
-    </span><span class=identifier>test_suite</span><span class=special>* </span><span class=identifier>test </span><span class=special>= </span><span class=identifier>BOOST_TEST_SUITE</span><span class=special>( </span><span class=string>"List Test Suite" </span><span class=special>);
-
-    </span><span class=identifier>test</span><span class=special>-></span><span class=identifier>add</span><span class=special>( </span><span class=identifier>BOOST_TEST_CASE</span><span class=special>( </span><span class=special>&</span><span class=identifier>test_multi_index_container </span><span class=special>) </span><span class=special>);
-
-    </span><span class=keyword>return </span><span class=identifier>test</span><span class=special>;</span>
-<span class=special>}
-
-
-</span>
-</pre>
-</body>
-</html>
diff --git a/SRC/Boost/libs/assign/doc/my_vector_example.html b/SRC/Boost/libs/assign/doc/my_vector_example.html
deleted file mode 100755
index db3d649..0000000
--- a/SRC/Boost/libs/assign/doc/my_vector_example.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Boost.Assignment Documentation </title>
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-
-<body>
-<pre>
-<span class=comment>// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-</span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>detail</span><span class=special>/</span><span class=identifier>workaround</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>>
-</span>
-<span class=preprocessor>#if </span><span class=identifier>BOOST_WORKAROUND</span><span class=special>(</span><span class=identifier>__BORLANDC__</span><span class=special>, </span><span class=identifier>BOOST_TESTED_AT</span><span class=special>(</span><span class=number>0</span><span class=identifier>x564</span><span class=special>))</span>
-###<span class=identifier>pragma </span><span class=identifier>warn </span><span class=special>-</span><span class=number>8091 </span><span class=comment>// supress warning in Boost.Test</span>
-###<span class=identifier>pragma </span><span class=identifier>warn </span><span class=special>-</span><span class=number>8057 </span><span class=comment>// unused argument argc/argv in Boost.Test</span>
-<span class=preprocessor>#endif
-</span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>list_inserter</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>test</span><span class=special>/</span><span class=identifier>unit_test</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>test</span><span class=special>/</span><span class=identifier>test_tools</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>function</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>bind</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>vector</span><span class=special>></span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>stdexcept</span><span class=special>>
-</span>
-<span class=keyword>namespace </span><span class=identifier>ba </span><span class=special>= </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;
-
-
-</span>
-<span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>C </span><span class=special>></span>
-<span class=keyword>class </span><span class=identifier>range_inserter</span>
-<span class=special>{
-    </span><span class=keyword>typedef </span><span class=keyword>typename </span><span class=identifier>C</span><span class=special>::</span><span class=identifier>iterator </span><span class=identifier>iterator</span><span class=special>;
-    </span><span class=identifier>iterator </span><span class=identifier>begin</span><span class=special>, </span><span class=identifier>end</span><span class=special>;</span>
-<span class=keyword>public</span><span class=special>:
-    </span><span class=identifier>range_inserter</span><span class=special>( </span><span class=identifier>C</span><span class=special>& </span><span class=identifier>c </span><span class=special>)
-    </span><span class=special>: </span><span class=identifier>begin</span><span class=special>( </span><span class=identifier>c</span><span class=special>.</span><span class=identifier>begin</span><span class=special>() </span><span class=special>), </span><span class=identifier>end</span><span class=special>( </span><span class=identifier>c</span><span class=special>.</span><span class=identifier>end</span><span class=special>() </span><span class=special>)
-    </span><span class=special>{ </span><span class=special>}
-    
-    </span><span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T </span><span class=special>>
-    </span><span class=keyword>void </span><span class=keyword>operator</span><span class=special>()( </span><span class=identifier>T </span><span class=identifier>r </span><span class=special>)
-    </span><span class=special>{
-        </span><span class=keyword>if</span><span class=special>( </span><span class=identifier>begin </span><span class=special>== </span><span class=identifier>end </span><span class=special>)
-            </span><span class=keyword>throw </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>range_error</span><span class=special>( </span><span class=string>"range error: <range_inserter>" </span><span class=special>);
-        </span><span class=special>*</span><span class=identifier>begin </span><span class=special>= </span><span class=identifier>r</span><span class=special>;
-        </span><span class=special>++</span><span class=identifier>begin</span><span class=special>;
-    </span><span class=special>}</span>
-<span class=special>};
-
-
-</span>
-<span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>C </span><span class=special>></span>
-<span class=keyword>inline </span><span class=identifier>range_inserter</span><span class=special><</span><span class=identifier>C</span><span class=special>> </span><span class=identifier>make_range_inserter</span><span class=special>( </span><span class=identifier>C</span><span class=special>& </span><span class=identifier>c </span><span class=special>)</span>
-<span class=special>{
-    </span><span class=keyword>return </span><span class=identifier>range_inserter</span><span class=special><</span><span class=identifier>C</span><span class=special>>( </span><span class=identifier>c </span><span class=special>);</span>
-<span class=special>}
-
-
-</span>
-<span class=keyword>template</span><span class=special>< </span><span class=keyword>class </span><span class=identifier>T </span><span class=special>></span>
-<span class=keyword>class </span><span class=identifier>my_vector</span>
-<span class=special>{
-    </span><span class=keyword>typedef </span><span class=identifier>std</span><span class=special>::</span><span class=identifier>vector</span><span class=special><</span><span class=identifier>T</span><span class=special>>                </span><span class=identifier>vector_t</span><span class=special>;
-    </span><span class=keyword>typedef </span><span class=keyword>typename </span><span class=identifier>vector_t</span><span class=special>::</span><span class=identifier>size_type  </span><span class=identifier>size_type</span><span class=special>;
-    </span><span class=identifier>vector_t </span><span class=identifier>data_</span><span class=special>;
-</span>
-<span class=keyword>public</span><span class=special>:
-    </span><span class=identifier>my_vector</span><span class=special>() </span><span class=special>: </span><span class=identifier>data_</span><span class=special>( </span><span class=number>10</span><span class=special>, </span><span class=number>0 </span><span class=special>)
-    </span><span class=special>{ </span><span class=special>}
-    
-    </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>list_inserter</span><span class=special>< </span><span class=identifier>range_inserter</span><span class=special>< </span><span class=identifier>vector_t </span><span class=special>>, </span><span class=identifier>T </span><span class=special>>
-    </span><span class=keyword>operator</span><span class=special>=( </span><span class=identifier>T </span><span class=identifier>r </span><span class=special>)
-    </span><span class=special>{
-        </span><span class=keyword>return </span><span class=identifier>ba</span><span class=special>::</span><span class=identifier>make_list_inserter</span><span class=special>( </span><span class=identifier>make_range_inserter</span><span class=special>( </span><span class=identifier>data_ </span><span class=special>) </span><span class=special>)( </span><span class=identifier>r </span><span class=special>);
-    </span><span class=special>}
-    
-    </span><span class=identifier>size_type </span><span class=identifier>size</span><span class=special>() </span><span class=keyword>const
-    </span><span class=special>{
-        </span><span class=keyword>return </span><span class=identifier>data_</span><span class=special>.</span><span class=identifier>size</span><span class=special>();
-    </span><span class=special>}
-    
-    </span><span class=keyword>const </span><span class=identifier>T</span><span class=special>& </span><span class=keyword>operator</span><span class=special>[]( </span><span class=identifier>size_type </span><span class=identifier>index </span><span class=special>)
-    </span><span class=special>{
-        </span><span class=keyword>return </span><span class=identifier>data_</span><span class=special>.</span><span class=identifier>at</span><span class=special>( </span><span class=identifier>index </span><span class=special>);
-    </span><span class=special>}</span>
-<span class=special>};
-
-
-</span>
-<span class=keyword>void </span><span class=identifier>check_list_inserter</span><span class=special>()</span>
-<span class=special>{
-    </span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>std</span><span class=special>;
-    </span><span class=keyword>using </span><span class=keyword>namespace </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>assign</span><span class=special>;
-    
-    </span><span class=identifier>my_vector</span><span class=special><</span><span class=keyword>int</span><span class=special>> </span><span class=identifier>vec</span><span class=special>;
-    </span><span class=identifier>vec </span><span class=special>= </span><span class=number>1</span><span class=special>,</span><span class=number>2</span><span class=special>,</span><span class=number>3</span><span class=special>,</span><span class=number>4</span><span class=special>,</span><span class=number>5</span><span class=special>,</span><span class=number>6</span><span class=special>,</span><span class=number>7</span><span class=special>,</span><span class=number>8</span><span  [...]
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>vec</span><span class=special>.</span><span class=identifier>size</span><span class=special>(), </span><span class=number>10u </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>vec</span><span class=special>[</span><span class=number>0</span><span class=special>], </span><span class=number>1 </span><span class=special>);
-    </span><span class=identifier>BOOST_CHECK_EQUAL</span><span class=special>( </span><span class=identifier>vec</span><span class=special>[</span><span class=number>9</span><span class=special>], </span><span class=number>10 </span><span class=special>);</span>
-<span class=special>}
-
-
-</span>
-<span class=preprocessor>#include </span><span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>test</span><span class=special>/</span><span class=identifier>included</span><span class=special>/</span><span class=identifier>unit_test_framework</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>> 
-</span>
-<span class=keyword>using </span><span class=identifier>boost</span><span class=special>::</span><span class=identifier>unit_test_framework</span><span class=special>::</span><span class=identifier>test_suite</span><span class=special>;
-</span>
-<span class=identifier>test_suite</span><span class=special>* </span><span class=identifier>init_unit_test_suite</span><span class=special>( </span><span class=keyword>int </span><span class=identifier>argc</span><span class=special>, </span><span class=keyword>char</span><span class=special>* </span><span class=identifier>argv</span><span class=special>[] </span><span class=special>)</span>
-<span class=special>{
-    </span><span class=identifier>test_suite</span><span class=special>* </span><span class=identifier>test </span><span class=special>= </span><span class=identifier>BOOST_TEST_SUITE</span><span class=special>( </span><span class=string>"List Test Suite" </span><span class=special>);
-
-    </span><span class=identifier>test</span><span class=special>-></span><span class=identifier>add</span><span class=special>( </span><span class=identifier>BOOST_TEST_CASE</span><span class=special>( </span><span class=special>&</span><span class=identifier>check_list_inserter </span><span class=special>) </span><span class=special>);
-
-    </span><span class=keyword>return </span><span class=identifier>test</span><span class=special>;</span>
-<span class=special>}
-</span>
-</pre>
-</body>
-</html>
diff --git a/SRC/Boost/libs/assign/doc/style.css b/SRC/Boost/libs/assign/doc/style.css
deleted file mode 100755
index 59a756d..0000000
--- a/SRC/Boost/libs/assign/doc/style.css
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-#//  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-#//  distribution is subject to the Boost Software License, Version
-#//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-#//  http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-pre{
-  BORDER-RIGHT: gray 1pt solid;
-  PADDING-RIGHT: 2pt;
-  BORDER-TOP: gray 1pt solid;
-  DISPLAY: block;
-  PADDING-LEFT: 2pt;
-  PADDING-BOTTOM: 2pt;
-  BORDER-LEFT: gray 1pt solid;
-  MARGIN-RIGHT: 32pt;
-  PADDING-TOP: 2pt;
-  BORDER-BOTTOM: gray 1pt solid;
-  FONT-FAMILY: "Courier New", Courier, mono;
-  background-color: #EEEEEE;
-}
-
-
-.keyword{color: #0000FF;}
-.identifier{}
-.comment{font-style: italic; color: #008000;}
-.special{color: #800040;}
-.preprocessor{color: #3F007F;}
-.string{font-style: italic; color: #666666;}
-.literal{font-style: italic; color: #666666;}
diff --git a/SRC/Boost/libs/assign/index.html b/SRC/Boost/libs/assign/index.html
deleted file mode 100755
index 17ae31a..0000000
--- a/SRC/Boost/libs/assign/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<meta http-equiv="refresh" content="0; URL=doc/index.html">
-<title>Boost.Assign Documentation</title>
-<link rel="stylesheet" href="doc/style.css" type="text/css">
-</head>
-
-<body>
-Automatic redirection failed, please go to
-<a href="doc/index.html">doc/index.html</a>
-  <p>
-  Copyright � 2003-2007 Thorsten Ottosen. Use, modification and distribution is 
-  subject to the Boost Software License, Version 1.0 (see LICENSE_1_0.txt)
-	  (See accompanying 
-file <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy 
-at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
-  </p>
-</body>
-</html></body>
-
-</html>
diff --git a/SRC/Boost/libs/assign/test/Jamfile.v2 b/SRC/Boost/libs/assign/test/Jamfile.v2
deleted file mode 100755
index ba16a12..0000000
--- a/SRC/Boost/libs/assign/test/Jamfile.v2
+++ /dev/null
@@ -1,34 +0,0 @@
-# Boost.Assign library
-#
-#  Copyright Thorsten Ottosen 2003-2005. Use, modification and
-#  distribution is subject to the Boost Software License, Version
-#  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-#  http://www.boost.org/LICENSE_1_0.txt)
-#
-# For more information, see http://www.boost.org/libs/assign/
-#
-
-rule assign-test ( name )
-{
-    return [
-        run $(name).cpp /boost/test//boost_unit_test_framework/<link>static ]
-        ;
-}
-
-test-suite assign :
-    [ assign-test basic ]
-    [ assign-test std ]
-    [ assign-test list_of ]
-    [ assign-test ptr_list_of ]
-    [ assign-test static_list_of ]
-    [ assign-test tuple_list_of ]
-    [ assign-test list_inserter ]
-    [ assign-test ptr_list_inserter ]
-    [ assign-test ptr_map_inserter ]
-    [ assign-test list_of_workaround ]
-    [ assign-test email_example ]
-    [ assign-test my_vector_example ]
-    [ assign-test multi_index_container ]      
-    ;
-
-
diff --git a/SRC/Boost/libs/assign/test/array.cpp b/SRC/Boost/libs/assign/test/array.cpp
deleted file mode 100755
index eec213b..0000000
--- a/SRC/Boost/libs/assign/test/array.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x564) )
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-#include <boost/assign/list_of.hpp>
-#include <boost/array.hpp>
-#include <boost/test/test_tools.hpp>
-#include <iostream>
-#include <algorithm>
-#include <iterator>
-
-
-
-void check_array()
-{
-    using namespace std;
-    using namespace boost;
-    using namespace boost::assign;
-
-    typedef array<float,6> Array;
-
-
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))   
-    Array a = list_of(1)(2)(3)(4)(5)(6).to_array(a);
-#else
-    Array a = list_of(1)(2)(3)(4)(5)(6);
-#endif
-
-    BOOST_CHECK_EQUAL( a[0], 1 );
-    BOOST_CHECK_EQUAL( a[5], 6 );
-    // last element is implicitly 0
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    Array a2 = list_of(1)(2)(3)(4)(5).to_array(a2);
-#else
-    Array a2 = list_of(1)(2)(3)(4)(5);
-#endif 
-    BOOST_CHECK_EQUAL( a2[5], 0 );
-    // two last elements are implicitly
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))   
-    a2 = list_of(1))(2)(3)(4).to_array(a2);
-#else    
-    a2 = list_of(1)(2)(3)(4);
-#endif    
-    BOOST_CHECK_EQUAL( a2[4], 0 );
-    BOOST_CHECK_EQUAL( a2[5], 0 );
-    // too many arguments
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-
-    BOOST_CHECK_THROW( a2 = list_of(1)(2)(3)(4)(5)(6)(6).to_array(a2),
-                       assignment_exception );
-#else
-    BOOST_CHECK_THROW( a2 = list_of(1)(2)(3)(4)(5)(6)(7), assignment_exception );
-#endif
-    
-        
-}
-
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_array ) );
-
-    return test;
-}
-
diff --git a/SRC/Boost/libs/assign/test/basic.cpp b/SRC/Boost/libs/assign/test/basic.cpp
deleted file mode 100755
index 47b29be..0000000
--- a/SRC/Boost/libs/assign/test/basic.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-#include <boost/assign/std/vector.hpp>
-#include <boost/assign/std/map.hpp>
-#include <string>
-
-
-using namespace std;
-using namespace boost;
-using namespace boost::assign;
-
-void check_basic_usage()
-{
-    vector<int> v;
-    v += 1,2,3,4,5,6,7,8,9;
-    push_back( v )(10)(11);
-    map<string,int> m;
-    insert( m )( "foo", 1 )( "bar", 2 );
-}
-
-
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "Assign Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_basic_usage ) );
-
-    return test;
-}
-
diff --git a/SRC/Boost/libs/assign/test/email_example.cpp b/SRC/Boost/libs/assign/test/email_example.cpp
deleted file mode 100755
index dae67ef..0000000
--- a/SRC/Boost/libs/assign/test/email_example.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-#include <boost/assign/list_inserter.hpp>
-#include <boost/test/test_tools.hpp>
-#include <boost/function.hpp>
-#include <boost/bind.hpp>
-#include <vector>
-#include <map>
-
-namespace ba = boost::assign;
-
-class email
-{
-public:
-    enum address_option
-    {
-        check_addr_book,
-        dont_check_addr_book
-    };
-    
-    typedef std::pair<std::string,address_option> bcc_type;
-    typedef std::vector< bcc_type >               bcc_map;
-    typedef std::map<std::string,address_option>  address_map;
-    
-    
-private:
-
-    mutable address_map      cc_list;
-    mutable address_map      to_list;
-    bcc_map                  bcc_list;
-            
-    struct add_to_map
-    {
-        address_map& m;
-    
-        add_to_map( address_map& m ) : m(m)        
-        {}
-    
-        void operator()( const std::string& name, address_option ao )
-        {
-            m[ name ] = ao; 
-        }
-        
-        void operator()( const std::string& name )
-        {
-            m[ name ] = check_addr_book;
-        }
-    };
-
-    struct add_to_vector
-    {
-        bcc_map& m;
-        
-        add_to_vector( bcc_map& m ) : m(m)
-        {}
-        
-        void operator()( const bcc_type& r )
-        {
-            m.push_back( r );
-        }
-    };
-
-public:
-    
-    ba::list_inserter< add_to_map >
-    add_cc( std::string name, address_option ao )
-    {
-        return ba::make_list_inserter( add_to_map( cc_list ) )( name, ao );
-    }
-
-    ba::list_inserter< add_to_map >
-    add_to( const std::string& name )
-    {
-        return ba::make_list_inserter( add_to_map( to_list ) )( name );
-    }
-    
-    ba::list_inserter< add_to_vector, bcc_type >
-    add_bcc( const bcc_type& bcc )
-    {
-        return ba::make_list_inserter( add_to_vector( bcc_list ) )( bcc );
-    }
-    
-    address_option
-    cc_at( const std::string& name ) const
-    {
-        return cc_list[ name ];
-    }
-    
-    address_option 
-    to_at( const std::string& name ) const
-    {
-        return to_list[ name ];
-    }
-    
-    address_option
-    bcc_at( unsigned index ) const
-    {
-        return bcc_list.at( index ).second;
-    }
-};
-
-
-
-void check_list_inserter()
-{
-    using namespace boost::assign;
-
-    email e;
-    e.add_cc( "franz", email::dont_check_addr_book )
-            ( "hanz", email::check_addr_book )
-            ( "betty", email::dont_check_addr_book );
-    BOOST_CHECK_EQUAL( e.cc_at( "franz" ), email::dont_check_addr_book );
-    BOOST_CHECK_EQUAL( e.cc_at( "hanz" ), email::check_addr_book );
-    BOOST_CHECK_EQUAL( e.cc_at( "betty" ), email::dont_check_addr_book );
-
-    e.add_to( "betsy" )( "peter" );
-    BOOST_CHECK_EQUAL( e.cc_at( "betsy" ), email::check_addr_book );
-    BOOST_CHECK_EQUAL( e.cc_at( "peter" ), email::check_addr_book );
-    
-    e.add_bcc( email::bcc_type( "Mr. Foo", email::check_addr_book ) )
-             ( "Mr. Bar", email::dont_check_addr_book );
-    BOOST_CHECK_EQUAL( e.bcc_at( 0 ), email::check_addr_book );
-    BOOST_CHECK_EQUAL( e.bcc_at( 1 ), email::dont_check_addr_book );
-    
-}
-
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_list_inserter ) );
-
-    return test;
-}
-
diff --git a/SRC/Boost/libs/assign/test/list_inserter.cpp b/SRC/Boost/libs/assign/test/list_inserter.cpp
deleted file mode 100755
index 6cb5161..0000000
--- a/SRC/Boost/libs/assign/test/list_inserter.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-
-#include <boost/assign/list_inserter.hpp>
-#include <boost/assign/list_of.hpp>
-#include <boost/test/test_tools.hpp>
-#include <boost/array.hpp>
-#include <boost/function.hpp>
-#include <boost/bind.hpp>
-#include <boost/functional.hpp>
-#include <iostream>
-#include <vector>
-#include <map>
-#include <string>
-#include <utility>
-#include <stdexcept>
-#include <cstdlib>
-
-
-namespace ba = boost::assign;
-
-void function_ptr( int )
-{
-    // do nothing
-}
-
-struct functor
-{
-    template< class T >
-    void operator()( T ) const
-    { 
-        // do nothing
-    }
-};
-
-
-
-void check_list_inserter()
-{
-    using namespace std;
-    using namespace boost;
-    using namespace boost::assign;
-    vector<int> v;
-    
-    //
-    // @note: cast only necessary on CodeWarrior
-    //
-    make_list_inserter( (void (*)(int))&function_ptr )( 5 ),3;
-    make_list_inserter( functor() )( 4 ),2;
-    
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-// BCB would crash
-    typedef void (vector<int>::* push_back_t)(const int&);
-    push_back_t push_back_func = &vector<int>::push_back;
-    make_list_inserter( bind( push_back_func, &v, _1 ) )( 6 ),4;
-#else
-    make_list_inserter( bind( &vector<int>::push_back, &v, _1 ) )( 6 ),4;
-#endif 
-
-    BOOST_CHECK_EQUAL( v.size(), 2u );
-    BOOST_CHECK_EQUAL( v[0], 6 );
-    BOOST_CHECK_EQUAL( v[1], 4 );
-    
-    push_back( v ) = 1,2,3,4,5;
-    BOOST_CHECK_EQUAL( v.size(), 7u );
-    BOOST_CHECK_EQUAL( v[6], 5 );
-    
-    push_back( v )(6).repeat( 10, 7 )(8);
-    BOOST_CHECK_EQUAL( v.size(), 19u );
-    BOOST_CHECK_EQUAL( v[18], 8 );
-    BOOST_CHECK_EQUAL( v[8], 7 ); 
-    BOOST_CHECK_EQUAL( v[16], 7 ); 
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
-    push_back( v ) = repeat_fun( 10, &rand );
-#else
-    push_back( v ).repeat_fun( 10, &rand );
-#endif
-
-    BOOST_CHECK_EQUAL( v.size(), 29u );
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200) || BOOST_WORKAROUND(__SUNPRO_CC, <= 0x580 )
-    push_back( v )(1).repeat( 10, 2 )(3);
-#else
-    push_back( v ) = 1,repeat( 10, 2 ),3;
-#endif
-    BOOST_CHECK_EQUAL( v.size(), 41u );
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200) || BOOST_WORKAROUND(__SUNPRO_CC, <= 0x580 )
-    push_back( v )(1).repeat_fun( 10, &rand )(2);  
-#else
-    push_back( v ) = 1,repeat_fun( 10, &rand ),2;
-#endif
-
-    BOOST_CHECK_EQUAL( v.size(), 53u );
-    
-    typedef map<string,int> map_t;
-    typedef map_t::value_type V;
-    map_t m;
-
-    make_list_inserter( assign_detail::call_insert< map_t >( m ) )
-                      ( V("bar",3) )( V("foo", 2) );
-    BOOST_CHECK_EQUAL( m.size(), 2u );
-    BOOST_CHECK_EQUAL( m["foo"], 2 );
-
-    
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) || BOOST_WORKAROUND(BOOST_MSVC, <=1300)
-#else
-
-    typedef vector<int>                   score_type;
-    typedef map<string,score_type>        team_score_map;
-    typedef std::pair<string,score_type>  score_pair;
-    team_score_map team_score;
-    insert( team_score )( "Team Foo",    list_of(1)(1)(0) )
-                        ( "Team Bar",    list_of(0)(0)(0) )
-                        ( "Team FooBar", list_of(0)(0)(1) ); 
-    BOOST_CHECK_EQUAL( team_score.size(), 3u );
-    BOOST_CHECK_EQUAL( team_score[ "Team Foo" ][1], 1 );
-    BOOST_CHECK_EQUAL( team_score[ "Team Bar" ][0], 0 );
-   
-    team_score = list_of< score_pair >
-                        ( "Team Foo",    list_of(1)(1)(0) )
-                        ( "Team Bar",    list_of(0)(0)(0) )
-                        ( "Team FooBar", list_of(0)(0)(1) );
-    BOOST_CHECK_EQUAL( team_score.size(), 3u );
-    BOOST_CHECK_EQUAL( team_score[ "Team Foo" ][1], 1 );
-    BOOST_CHECK_EQUAL( team_score[ "Team Bar" ][0], 0 );
-
-#endif
-                        
-}
-
-
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_list_inserter ) );
-
-    return test;
-}
-
diff --git a/SRC/Boost/libs/assign/test/list_of.cpp b/SRC/Boost/libs/assign/test/list_of.cpp
deleted file mode 100755
index 082fb8f..0000000
--- a/SRC/Boost/libs/assign/test/list_of.cpp
+++ /dev/null
@@ -1,300 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-#include <boost/assign/list_of.hpp>
-#include <boost/test/test_tools.hpp>
-#include <boost/array.hpp>
-#include <algorithm>
-#include <vector>
-#include <list>
-#include <deque>
-#include <set>
-#include <map>
-#include <stack>
-#include <string>
-#include <cstdlib>
-#include <complex>
-
-struct nothing
-{
-    template< class T >
-    void operator()( T )
-    { }
-    
-};
-
-template< class Range >
-void for_each( const Range& r )
-{
-    std::for_each( r.begin(), r.end(), nothing() );
-}
-
-namespace ba = boost::assign;
-    
-template< class C >
-void test_sequence_list_of_string()
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, <=1300)
-    const C c = ba::list_of( "foo" )( "bar" ).to_container( c );   
-#else
-    const C c = ba::list_of( "foo" )( "bar" );   
-#endif
-    BOOST_CHECK_EQUAL( c.size(), 2u );
-}
-
-struct parameter_list
-{
-    int val;
-    
-    template< class T >
-    parameter_list( T )
-    : val(0)
-    { }
-    
-    template< class T >
-    parameter_list( const T&, int )
-    : val(1)
-    { }
-};
-
-template< class C >
-void test_sequence_list_of_int()
-{
-    using namespace std;
-#if BOOST_WORKAROUND(BOOST_MSVC, <=1300)
-
-    const C c = ba::list_of<int>(1)(2)(3)(4).to_container( c );
-    const C c2 = ba::list_of(1)(2)(3)(4).to_container( c2 );
-    BOOST_CHECK_EQUAL( c.size(), 4u );
-    BOOST_CHECK_EQUAL( c2.size(), 4u );
-    C c3 = ba::list_of(1).repeat( 1, 2 )(3).to_container( c3 );
-    BOOST_CHECK_EQUAL( c3.size(), 3u );
-        
-    c3 = ba::list_of(1).repeat_fun( 10, &rand )(2)(3).to_container( c3 );
-    BOOST_CHECK_EQUAL( c3.size(), 13u );
-
-#else
-
-    const C c = ba::list_of<int>(1)(2)(3)(4);
-    const C c2 = ba::list_of(1)(2)(3)(4);
-    BOOST_CHECK_EQUAL( c.size(), 4u );
-    BOOST_CHECK_EQUAL( c2.size(), 4u );
-    C c3 = ba::list_of(1).repeat( 1, 2 )(3);
-    BOOST_CHECK_EQUAL( c3.size(), 3u );
-        
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    // BCB fails to use operator=() directly, 
-    // it must be worked around using e.g. auxiliary variable
-    C aux = ba::list_of(1).repeat_fun( 10, &rand )(2)(3);
-    BOOST_CHECK_EQUAL( aux.size(), 13u );
-    c3 = aux;
-    BOOST_CHECK_EQUAL( c3.size(), 13u );
-#else
-    c3 = ba::list_of(1).repeat_fun( 10, &rand )(2)(3);
-    BOOST_CHECK_EQUAL( c3.size(), 13u );
-#endif
-
-#endif
-
-    parameter_list p( ba::list_of(1)(2), 3u );
-    BOOST_CHECK_EQUAL( p.val, 1 );
-
-}
-
-template< class C >
-void test_map_list_of()
-{
-    const C c  = ba::list_of< std::pair<std::string,int> >( "foo", 1 )( "bar", 2 )( "buh", 3 )( "bah", 4 );
-    BOOST_CHECK_EQUAL( c.size(), 4u );
-    const C c2  = ba::map_list_of( "foo", 1 )( "bar", 2 )( "buh", 3 )( "bah", 4 );
-    BOOST_CHECK_EQUAL( c2.size(), 4u );
-}
-
-void test_vector_matrix()
-{
-    using namespace boost;
-    using namespace boost::assign;
-    using namespace std;
-
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)  || BOOST_WORKAROUND(BOOST_MSVC, <=1300)
-#else    
-      
-    const int              sz = 3;
-    typedef array<int,sz>   row3;
-    typedef array<row3,sz>  matrix3x3;
-    
-
-    matrix3x3 m = list_of( list_of(1)(2)(3) )
-                         ( list_of(4)(5)(6) )
-                         ( list_of(7)(8)(9) );
-
-    for( int i = 0; i != sz; ++i )
-        for( int j = 0; j != sz; ++j )
-            BOOST_CHECK_EQUAL( m[i][j], i*sz + j + 1 );
-
-    typedef vector<int>  row;
-    typedef vector<row>  matrix;
-    
-    //
-    // note: some libraries need a little help
-    //       with the conversion, hence the 'row' template parameter. 
-    //
-    matrix m2 = list_of< row >( list_of(1)(2)(3) )
-                              ( list_of(4)(5) )
-                              ( list_of(6) );
-    
-    for( int i = 0; i != sz; ++i )
-        for( int j = 0; j != sz - i; ++j )
-            BOOST_CHECK_EQUAL( m[i][j], i*sz + j + 1 );
-
-#endif  
-  
-}
-
-void test_map_list_of()
-{
-/*
-    maybe in the future...
-   
-    using namespace std;
-    using namespace boost::assign;
-     
-    typedef vector<int>                   score_type;
-    typedef map<string,score_type>        team_score_map;
- 
-    team_score_map team_score = map_list_of
-                        ( "Team Foo",    list_of(1)(1)(0) )
-                        ( "Team Bar",    list_of(0)(0)(0) )
-                        ( "Team FooBar", list_of(0)(0)(1) );
-    BOOST_CHECK_EQUAL( team_score.size(), 3 );
-    BOOST_CHECK_EQUAL( team_score[ "Team Foo" ][1], 1 );
-    BOOST_CHECK_EQUAL( team_score[ "Team Bar" ][0], 0 );
-*/
-
-}
-
-/*
-void test_complex_list_of()
-{
-    typedef std::complex<float> complex_t;
-    std::vector<complex_t> v;
-    v = ba::list_of<complex_t>(1,2)(2,3)(4,5)(0).
-          repeat_from_to( complex_t(0,0), complex_t(10,10), complex_t(1,1) ); 
-}
-*/
-
-struct five
-{
-    five( int, int, int, int, int )
-    {
-    }
-};
-
-void test_list_of()
-{
-    ba::list_of< five >(1,2,3,4,5)(6,7,8,9,10);
-    
-/* Maybe this could be usefull in a later version?
-
-    // an anonymous lists, fulfills Range concept
-    for_each( ba::list_of( T() )( T() )( T() ) );
-    
-    // non-anonymous lists
-    ba::generic_list<T> list_1 = ba::list_of( T() );
-    BOOST_CHECK_EQUAL( list_1.size(), 1 );
-    ba::generic_list<T> list_2 = list_1 + ba::list_of( T() )( T() ) + list_1;
-    BOOST_CHECK_EQUAL( list_2.size(), 4 );
-    list_1 += list_2;
-    BOOST_CHECK_EQUAL( list_1.size(), 5 );
-*/
-}
-
-//
-// @remark: ADL is required here, but it is a bit wierd to
-//          open up namespace std. Perhaps Boost.Test needs a
-//          better configuration option. 
-//
-namespace std
-{
-    template< class T, class Elem, class Traits >
-    inline std::basic_ostream<Elem,Traits>& 
-    operator<<( std::basic_ostream<Elem, Traits>& Os,
-                const std::vector<T>& r )
-    {
-        return Os << ::boost::make_iterator_range( r.begin(),  r.end() );
-    }
-}
-
-template <class Seq>
-inline std::vector<int> as_seq( const Seq& s )
-{
-    std::vector<int> c;
-    return s.to_container( c );
-}
-
-void test_comparison_operations()
-{
-    BOOST_CHECK_EQUAL( ba::list_of(0)(1)(2), as_seq(ba::list_of(0)(1)(2)) );
-    BOOST_CHECK_NE( ba::list_of(0)(1)(2), as_seq(ba::list_of(-1)(1)(2)) );
-    BOOST_CHECK_LT( ba::list_of(0)(1)(2), as_seq(ba::list_of(0)(1)(3)) );
-    BOOST_CHECK_LE( ba::list_of(0)(1)(2), as_seq(ba::list_of(0)(1)(2)) );
-    BOOST_CHECK_GT( ba::list_of(0)(1)(3), as_seq(ba::list_of(0)(1)(2)) );
-    BOOST_CHECK_GE( ba::list_of(0)(1)(2), as_seq(ba::list_of(0)(1)(2)) );
-    BOOST_CHECK_EQUAL( as_seq(ba::list_of(0)(1)(2)), ba::list_of(0)(1)(2) );
-    BOOST_CHECK_NE( as_seq(ba::list_of(0)(1)(2)), ba::list_of(-1)(1)(2) );
-    BOOST_CHECK_LT( as_seq(ba::list_of(0)(1)(2)), ba::list_of(0)(1)(3) );
-    BOOST_CHECK_LE( as_seq(ba::list_of(0)(1)(2)), ba::list_of(0)(1)(2) );
-    BOOST_CHECK_GT( as_seq(ba::list_of(0)(1)(3)), ba::list_of(0)(1)(2) );
-    BOOST_CHECK_GE( as_seq(ba::list_of(0)(1)(2)), ba::list_of(0)(1)(2) );
-}
-
-void check_list_of()
-{
-    test_sequence_list_of_int< std::vector<int> >();
-    test_sequence_list_of_int< std::list<int> >();
-    test_sequence_list_of_int< std::deque<int> >();
-    test_sequence_list_of_int< std::set<int> >();
-    test_sequence_list_of_int< std::multiset<int> >();
-    test_sequence_list_of_int< std::vector<float> >();
-
-    test_sequence_list_of_string< std::vector<std::string> >();
-
-    test_map_list_of< std::map<std::string,int> >();
-    test_map_list_of< std::multimap<std::string,int> >();
-    
-    std::stack<std::string> s = ba::list_of( "Foo" )( "Bar" )( "FooBar" ).to_adapter( s );
-    test_list_of();
-    test_vector_matrix();
-    test_comparison_operations();
-}
-
-
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_list_of ) );
-
-    return test;
-}
-
-
diff --git a/SRC/Boost/libs/assign/test/list_of_workaround.cpp b/SRC/Boost/libs/assign/test/list_of_workaround.cpp
deleted file mode 100755
index 1077ceb..0000000
--- a/SRC/Boost/libs/assign/test/list_of_workaround.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-#include <boost/assign/list_of.hpp>
-#include <boost/test/test_tools.hpp>
-#include <vector>
-#include <set>
-#include <map>
-#include <stack>
-#include <queue>
-#include <boost/array.hpp>
-
-void check_list_of()
-{
-    using namespace std;
-    using namespace boost;
-    using namespace boost::assign;
-    
-    vector<int>         v = list_of(1)(2)(3)(4).to_container( v );
-    set<int>            s = list_of(1)(2)(3)(4).to_container( s );  
-    map<int,int>        m = map_list_of(1,2)(2,3).to_container( m );
-    stack<int>         st = list_of(1)(2)(3)(4).to_adapter( st );
-    queue<int>         q  = list_of(1)(2)(3)(4).to_adapter( q ); 
-    array<int,4>       a  = list_of(1)(2)(3)(4).to_array( a );
-    const vector<int>  v2 = list_of(1).to_container( v2 );
-    const array<int,1> a2 = list_of(1).to_array( a2 );
-}
-
-
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_list_of ) );
-
-    return test;
-}
-
-
diff --git a/SRC/Boost/libs/assign/test/multi_index_container.cpp b/SRC/Boost/libs/assign/test/multi_index_container.cpp
deleted file mode 100755
index 397abf6..0000000
--- a/SRC/Boost/libs/assign/test/multi_index_container.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-#include <boost/assign/list_of.hpp>
-#include <boost/assign/list_inserter.hpp>
-#include <boost/multi_index_container.hpp>
-#include <boost/multi_index/identity.hpp>
-#include <boost/multi_index/member.hpp>
-#include <boost/multi_index/ordered_index.hpp>
-#include <boost/multi_index/sequenced_index.hpp>
-#include <boost/test/test_tools.hpp>
-#include <boost/test/unit_test.hpp>
-#include <cstddef>
-#include <ostream>
-#include <string>
-
-using namespace boost;
-using namespace boost::multi_index;
-namespace ba =  boost::assign;
-
-//
-// Define a classical multi_index_container for employees
-//
-struct employee
-{
-  int         id;
-  std::string name;
-  int         age;
-
-  employee(int id_,std::string name_,int age_):id(id_),name(name_),age(age_){}
-
-  bool operator==(const employee& x)const
-  {
-    return id==x.id&&name==x.name&&age==x.age;
-  }
-
-  bool operator<(const employee& x)const
-  {
-    return id<x.id;
-  }
-
-  bool operator!=(const employee& x)const{return !(*this==x);}
-  bool operator> (const employee& x)const{return x<*this;}
-  bool operator>=(const employee& x)const{return !(*this<x);}
-  bool operator<=(const employee& x)const{return !(x<*this);}
-
-  struct comp_id
-  {
-    bool operator()(int x,const employee& e2)const{return x<e2.id;}
-    bool operator()(const employee& e1,int x)const{return e1.id<x;}
-  };
-
-  friend std::ostream& operator<<(std::ostream& os,const employee& e)
-  {
-    os<<e.id<<" "<<e.name<<" "<<e.age<<std::endl;
-    return os;
-  }
-};
-
-struct name{};
-struct by_name{};
-struct age{};
-struct as_inserted{};
-
-typedef
-  multi_index_container<
-    employee,
-    indexed_by<
-      ordered_unique<
-        identity<employee> >,
-      ordered_non_unique<
-        tag<name,by_name>,
-        BOOST_MULTI_INDEX_MEMBER(employee,std::string,name)>,
-      ordered_non_unique<
-        tag<age>,
-        BOOST_MULTI_INDEX_MEMBER(employee,int,age)>,
-      sequenced<
-        tag<as_inserted> > > >
-  employee_set;
-
-#if defined(BOOST_NO_MEMBER_TEMPLATES)
-typedef nth_index<
-  employee_set,1>::type                       employee_set_by_name;
-#else
-typedef employee_set::nth_index<1>::type employee_set_by_name;
-#endif
-
-typedef boost::multi_index::index<
-         employee_set,age>::type         employee_set_by_age;
-typedef boost::multi_index::index<
-         employee_set,as_inserted>::type employee_set_as_inserted;
-
-//
-// Define a multi_index_container with a list-like index and an ordered index
-//
-typedef multi_index_container<
-  std::string,
-  indexed_by<
-    sequenced<>,                               // list-like index
-    ordered_non_unique<identity<std::string> > // words by alphabetical order
-  >
-> text_container;
-
-
-
-void test_multi_index_container()
-{
-    employee_set eset = ba::list_of< employee >(1,"Franz",30)(2,"Hanz",40)(3,"Ilse",50);
-    BOOST_CHECK( eset.size() == 3u );
-    
-    //
-    // This container is associative, hence we can use 'insert()' 
-    // 
-    
-    ba::insert( eset )(4,"Kurt",55)(5,"Bjarne",77)(7,"Thorsten",24);
-    BOOST_CHECK( eset.size() == 6u );
-    
-    employee_set_by_name& name_index = boost::multi_index::get<name>(eset);
-    employee_set_by_name::iterator i = name_index.find("Ilse");
-    BOOST_CHECK( i->id == 3 );
-    BOOST_CHECK( i->age == 50 );
-    
-    text_container text = ba::list_of< std::string >("Have")("you")("ever")("wondered")("how")("much")("Boost")("rocks?!");
-    BOOST_CHECK_EQUAL( text.size(), 8u );
-    BOOST_CHECK_EQUAL( *text.begin(), "Have" );
-    
-    //
-    // This container is a sequence, hence we can use 'push_back()' and 'push_font()'
-    //
-    
-    ba::push_back( text )("Well")(",")("A")("LOT")(",")("obviously!");
-    BOOST_CHECK_EQUAL( text.size(), 14u );
-    BOOST_CHECK_EQUAL( *--text.end(), "obviously!" );
-    
-    ba::push_front( text ) = "question:", "simple", "A";
-    BOOST_CHECK_EQUAL( text.size(), 17u );
-    BOOST_CHECK_EQUAL( text.front(), "A" );
-}
-
-
-
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &test_multi_index_container ) );
-
-    return test;
-}
-
-
diff --git a/SRC/Boost/libs/assign/test/my_vector_example.cpp b/SRC/Boost/libs/assign/test/my_vector_example.cpp
deleted file mode 100755
index 2e23367..0000000
--- a/SRC/Boost/libs/assign/test/my_vector_example.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-#include <boost/assign/list_inserter.hpp>
-#include <boost/test/test_tools.hpp>
-#include <boost/function.hpp>
-#include <boost/bind.hpp>
-#include <vector>
-#include <stdexcept>
-
-namespace ba = boost::assign;
-
-
-
-template< class C >
-class range_inserter
-{
-    typedef typename C::iterator iterator;
-    iterator begin, end;
-public:
-    range_inserter( C& c )
-    : begin( c.begin() ), end( c.end() )
-    { }
-    
-    template< class T >
-    void operator()( T r )
-    {
-        if( begin == end )
-            throw std::range_error( "range error: <range_inserter>" );
-        *begin = r;
-        ++begin;
-    }
-};
-
-
-
-template< class C >
-inline range_inserter<C> make_range_inserter( C& c )
-{
-    return range_inserter<C>( c );
-}
-
-
-
-template< class T >
-class my_vector
-{
-    typedef std::vector<T>                vector_t;
-    typedef typename vector_t::size_type  size_type;
-    vector_t data_;
-
-public:
-    my_vector() : data_( 10, 0 )
-    { }
-    
-    ba::list_inserter< range_inserter< vector_t >, T >
-    operator=( T r )
-    {
-        return ba::make_list_inserter( make_range_inserter( data_ ) )( r );
-    }
-    
-    size_type size() const
-    {
-        return data_.size();
-    }
-    
-    const T& operator[]( size_type index )
-    {
-        return data_.at( index );
-    }
-};
-
-
-
-void check_list_inserter()
-{
-    using namespace std;
-    using namespace boost::assign;
-    
-    my_vector<int> vec;
-    vec = 1,2,3,4,5,6,7,8,9,10;
-    BOOST_CHECK_EQUAL( vec.size(), 10u );
-    BOOST_CHECK_EQUAL( vec[0], 1 );
-    BOOST_CHECK_EQUAL( vec[9], 10 );
-}
-
-
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_list_inserter ) );
-
-    return test;
-}
-
diff --git a/SRC/Boost/libs/assign/test/ptr_list_inserter.cpp b/SRC/Boost/libs/assign/test/ptr_list_inserter.cpp
deleted file mode 100755
index a89b19d..0000000
--- a/SRC/Boost/libs/assign/test/ptr_list_inserter.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2006. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-
-#include <boost/assign/ptr_list_inserter.hpp>
-#include <boost/test/test_tools.hpp>
-#include <boost/ptr_container/ptr_deque.hpp>
-#include <boost/ptr_container/ptr_set.hpp>
-#include <typeinfo>
-
-struct Foo
-{
-    int i;
-    
-    Foo() : i(0)
-    { }
-    Foo( int i ) : i(i)
-    { }
-    Foo( int i, int ) : i(i)
-    { }
-    Foo( const char*, int i, int ) : i(i)
-    { }
-
-    virtual ~Foo()
-    { }
-};
-
-struct FooBar : Foo
-{
-    FooBar( int i ) : Foo(i)
-    { }
-    
-    FooBar( int i, const char* )
-    { }
-};
-
-inline bool operator<( const Foo& l, const Foo& r )
-{
-    return l.i < r.i;
-}
-
-void check_ptr_list_inserter()
-{
-    using namespace std;
-    using namespace boost;
-    using namespace boost::assign;
-
-    ptr_deque<Foo> deq;
-    ptr_push_back( deq )()();
-    BOOST_CHECK( deq.size() == 2u );
-    
-    ptr_push_front( deq )( 3 )( 42, 42 )( "foo", 42, 42 );
-    BOOST_CHECK( deq.size() == 5u );
-
-    ptr_set<Foo> a_set;
-    ptr_insert( a_set )()( 1 )( 2, 2 )( "foo", 3, 3 );
-    BOOST_CHECK( a_set.size() == 4u );
-    ptr_insert( a_set )()()()();
-    BOOST_CHECK( a_set.size() == 4u ); // duplicates not inserted
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-    ptr_push_back<FooBar>( deq )( 42, "42" );
-    BOOST_CHECK_EQUAL( deq.size(), 6u );
-    BOOST_CHECK( typeid(deq[5u]) == typeid(FooBar) );
-
-    ptr_push_front<FooBar>( deq )( 42, "42" );
-    BOOST_CHECK_EQUAL( deq.size(), 7u );
-    BOOST_CHECK( typeid(deq[0]) == typeid(FooBar) );
-
-    ptr_insert<FooBar>( a_set )( 4 );
-    BOOST_CHECK( a_set.size() == 5u );
-    BOOST_CHECK( typeid(*--a_set.end()) == typeid(FooBar) );
-
-#endif
-
-}
-
-
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_ptr_list_inserter ) );
-
-    return test;
-}
-
diff --git a/SRC/Boost/libs/assign/test/ptr_list_of.cpp b/SRC/Boost/libs/assign/test/ptr_list_of.cpp
deleted file mode 100755
index 21b62eb..0000000
--- a/SRC/Boost/libs/assign/test/ptr_list_of.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-#include <boost/assign/ptr_list_of.hpp>
-#include <boost/test/test_tools.hpp>
-#include <boost/ptr_container/ptr_container.hpp>
-
-struct Foo
-{
-    int i;
-    
-    Foo() : i(0)
-    { }
-    Foo( int i ) : i(i)
-    { }
-    Foo( int i, int ) : i(i)
-    { }
-    Foo( const char*, int i, int ) : i(i)
-    { }
-};
-
-inline bool operator<( Foo l, Foo r )
-{
-    return l.i < r.i;
-}
-
-template< class PtrCont >
-void check_ptr_list_of_impl()
-{
-    using namespace std;
-    using namespace boost;
-    using namespace boost::assign;
-
-    PtrCont deq;
-    deq = ptr_list_of<Foo>( 42 )()()( 3, 3 )( "foo", 2, 1 );
-    BOOST_CHECK( deq.size() == 5 );
-    
-}
-
-void check_ptr_list_of()
-{
-    check_ptr_list_of_impl< boost::ptr_deque<Foo> >();
-    check_ptr_list_of_impl< boost::ptr_list<Foo> >();
-    check_ptr_list_of_impl< boost::ptr_vector<Foo> >();
-}
-
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_ptr_list_of ) );
-
-    return test;
-}
-
-
diff --git a/SRC/Boost/libs/assign/test/ptr_map_inserter.cpp b/SRC/Boost/libs/assign/test/ptr_map_inserter.cpp
deleted file mode 100755
index acb2092..0000000
--- a/SRC/Boost/libs/assign/test/ptr_map_inserter.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-
-#include <boost/assign/ptr_map_inserter.hpp>
-#include <boost/test/test_tools.hpp>
-#include <boost/ptr_container/ptr_map.hpp>
-#include <typeinfo>
-#include <string>
-
-//
-// abstract base class definition
-// 
-struct abstract_base
-{
-    virtual ~abstract_base() {}
-    virtual void foo() = 0;
-    virtual abstract_base* clone() const = 0;
-};
-
-struct implementation : abstract_base
-{
-    implementation()
-    { }
-
-    implementation( const implementation& )
-    { }
-
-    implementation( int )
-    { }
-
-    implementation( int, int )
-    { }
- 
-    implementation( int, std::string, int, std::string )
-    { }
-
-    virtual void foo() {}
-    virtual abstract_base* clone() const
-    {
-        return new implementation( *this );
-    }
-};
-
-
-void check_ptr_map_inserter()
-{
-    
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-    boost::ptr_map<std::string, abstract_base> m;
-    boost::assign::ptr_map_insert<implementation>( m )
-                                       ( "foo", 1, "two", 3, "four" )
-                                       ( "bar", 41, "42", 43, "44" );
-    BOOST_CHECK_EQUAL( m.size(), 2u );
-    BOOST_CHECK( typeid(m.at("foo")) == typeid(implementation) );
-
-#endif
-
-    boost::ptr_map<std::string,implementation> m2;
-    boost::assign::ptr_map_insert( m2 )
-                     ( "foobar", 1, "two", 3, "four" )
-                     ( "key1" )( "key2" )( "key3" )( "key4" )
-                     ( "key5", 42 )( "key6", 42, 42 );
-    
-    BOOST_CHECK_EQUAL( m2.size(), 7u );
-    boost::assign::ptr_map_insert( m2 )( "key1" ); 
-    BOOST_CHECK_EQUAL( m2.size(), 7u ); // duplicates not inserted   
-    
-}
-
-
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_ptr_map_inserter ) );
-
-    return test;
-}
-
diff --git a/SRC/Boost/libs/assign/test/static_list_of.cpp b/SRC/Boost/libs/assign/test/static_list_of.cpp
deleted file mode 100755
index 77dc16b..0000000
--- a/SRC/Boost/libs/assign/test/static_list_of.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-#include <boost/assign/list_of.hpp>
-#include <boost/array.hpp>
-#include <boost/test/test_tools.hpp>
-#include <algorithm>
-#include <iostream>
-
-template< class Range >
-void print( const Range& r )
-{
-    std::cout << "\n printing " << typeid(r).name() << " \n"; 
-    std::cout << "\n";
-    for( typename Range::iterator i = r.begin(), e = r.end();
-         i !=e; ++i )
-         std::cout << " " << *i;
-}
-
-template< class Range >
-void sort( const Range& r )
-{
-    std::cout << "\n sorting " << typeid(r).name() << " \n"; 
-    std::sort( r.begin(), r.end() );
-    print( r );
-}
-
-template< class Range, class Pred >
-void sort( const Range& r, Pred pred )
-{
-    std::cout << "\n sorting " << typeid(r).name() << " \n"; 
-    std::sort( r.begin(), r.end(), pred );
-    print( r );
-}
-
-template< class Range >
-typename Range::const_iterator max_element( const Range& r )
-{
-    return std::max_element( r.begin(), r.end() );
-}
-
-
-
-void check_static_list_of()
-{
-    using namespace boost::assign;
-    
-    BOOST_CHECK( cref_list_of<5>( 1 )( 2 )( 3 )( 4 ).size() == 4 );
-    
-    int a=1,b=5,c=3,d=4,e=2,f=9,g=0,h=7;
-
-    int& max = *max_element( ref_list_of<8>(a)(b)(c)(d)(e)(f)(g)(h) );
-    BOOST_CHECK_EQUAL( max, f );
-    max = 8;
-    BOOST_CHECK_EQUAL( f, 8 );
-    const int& const_max = *max_element( cref_list_of<8>(a)(b)(c)(d)(e)(f)(g)(h) );
-    BOOST_CHECK_EQUAL( max, const_max );
-
-    print( ref_list_of<8>(a)(b)(c)(d)(e)(f)(g)(h) );
-    print( cref_list_of<8>(a)(b)(c)(d)(e)(f)(g)(h) );
-
-    boost::array<int,4> array = cref_list_of<4>(1)(2)(3)(4);
-
-    BOOST_CHECK_EQUAL( array[0], 1 );
-    BOOST_CHECK_EQUAL( array[3], 4 );
-    //
-    //print( cref_list_of<5>( "foo" )( "bar" )( "foobar" ) );
-    //
-}
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_static_list_of ) );
-
-    return test;
-}
-
-
diff --git a/SRC/Boost/libs/assign/test/std.cpp b/SRC/Boost/libs/assign/test/std.cpp
deleted file mode 100755
index e7032c2..0000000
--- a/SRC/Boost/libs/assign/test/std.cpp
+++ /dev/null
@@ -1,219 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-#include <boost/assign/std.hpp>
-#include <boost/test/test_tools.hpp>
-#include <utility>
-#include <string>
-
-using namespace std;
-using namespace boost::assign;  
-    
-template< typename K, typename V >
-inline pair<K,V> P( K k, V v )
-{
-    return make_pair( k, v );
-}
-
-struct three
-{
-    three( int, int, int ) { }
-    three( const string&, const string&, const string& ) { }
-};
-
-struct four
-{
-    four( int, int, int, int ) { }
-    four( const string&, const string&, const string&, const string& ) { }
-};
-
-struct five
-{
-    five( int, int, int, int, int ) { }
-    five( const string&, const string&, const string&,  
-          const string&, const string& ) { }
-};
-
-
-
-template< class C >
-void test_int_sequence()
-{
-    C c;
-    
-    BOOST_CHECK_EQUAL( c.size(), 0u );
-    c +=1,2,3,4,5,6,7,8,9,10;
-    BOOST_CHECK_EQUAL( c.size(), 10u );
-}
-
-
-
-template< class C >
-void test_string_sequence()
-{
-    C c;
-
-    BOOST_CHECK_EQUAL( c.size(), 0u );
-    c += "1","2","3","4","5","6","7","8","9","10";
-    BOOST_CHECK_EQUAL( c.size(), 10u );
-}
-
-
-
-typedef pair<string,int> tuple; 
-
-template< class C >
-void test_tuple_sequence()
-{
-    C c;
-    
-    BOOST_CHECK_EQUAL( c.size(), 0u );
-    c += P("1",1), P("2",2), P("3",3), P("4",4), P("5",5), P("6",6), 
-         P("7",7), P("8",8), P("9",9), P("10",10);
-    BOOST_CHECK_EQUAL( c.size(), 10u );
-}
-
-
-
-template< class M >
-void test_map()
-{
-    M m;
-    m += P( "january",   31 ), P( "february", 28 ),
-         P( "march",     31 ), P( "april",    30 ),
-         P( "may",       31 ), P( "june",     30 ),
-         P( "july",      31 ), P( "august",   31 ),
-         P( "september", 30 ), P( "october",  31 ),
-         P( "november",  30 ), P( "december", 31 );
-    BOOST_CHECK_EQUAL( m.size(), 12u );
-    m.clear();
-    insert( m )
-        ( "january",   31 )( "february", 28 )
-        ( "march",     31 )( "april",    30 )
-        ( "may",       31 )( "june",     30 )
-        ( "july",      31 )( "august",   31 )
-        ( "september", 30 )( "october",  31 )
-        ( "november",  30 )( "december", 31 );
-    BOOST_CHECK_EQUAL( m.size(), 12u );
-}
-
-
-
-void test_tuple()
-{
-    vector<three>    v_three;
-    vector<four>     v_four;
-    vector<five>     v_five;
-
-    push_back( v_three ) (1,2,3) ("1","2","3");
-    push_back( v_four ) (1,2,3,4) ("1","2","3","4");
-    push_back( v_five ) (1,2,3,4,5) ("1","2","3","4","5");
-    BOOST_CHECK_EQUAL( v_three.size(), 2u );
-    BOOST_CHECK_EQUAL( v_four.size(), 2u );
-    BOOST_CHECK_EQUAL( v_five.size(), 2u );
-
-}
-
-
-
-void check_std()
-{
-    test_int_sequence< deque<int> >();
-    test_int_sequence< list<int> >();          
-    test_int_sequence< vector<int> >();       
-    test_int_sequence< set<int> >();          
-    test_int_sequence< multiset<int> >();     
-    test_int_sequence< stack<int> >();        
-    test_int_sequence< queue<int> >();        
-    test_int_sequence< priority_queue<int> >();
-            
-    test_string_sequence< deque<string> >();             
-    test_string_sequence< list<string> >();              
-    test_string_sequence< vector<string> >();            
-    test_string_sequence< set<string> >();               
-    test_string_sequence< multiset<string> >();          
-    test_string_sequence< stack<string> >();             
-    test_string_sequence< queue<string> >();             
-    test_string_sequence< priority_queue<string> >();    
-
-    test_tuple_sequence< deque<tuple> >();             
-    test_tuple_sequence< list<tuple> >();              
-    test_tuple_sequence< vector<tuple> >();            
-    test_tuple_sequence< set<tuple> >();               
-    test_tuple_sequence< multiset<tuple> >();          
-    test_tuple_sequence< stack<tuple> >();             
-    test_tuple_sequence< queue<tuple> >();             
-    test_tuple_sequence< priority_queue<tuple> >();    
-    test_tuple();
-    
-    deque<int>          di; 
-    push_back( di )( 1 );
-    push_front( di )( 2 );
-    BOOST_CHECK_EQUAL( di[0], 2 );
-    BOOST_CHECK_EQUAL( di[1], 1 );
-    
-    list<int>           li; 
-    push_back( li )( 2 );
-    push_front( li )( 1 );
-    BOOST_CHECK_EQUAL( li.front(), 1 );
-    BOOST_CHECK_EQUAL( li.back(), 2 );
-    
-    vector<int>         vi; 
-    push_back( vi ) = 2,3;
-    BOOST_CHECK_EQUAL( vi[0], 2 );
-    BOOST_CHECK_EQUAL( vi[1], 3 );
-    
-    set<int>            si; 
-    insert( si )( 4 );
-    BOOST_CHECK_EQUAL( *si.find( 4 ), 4 );
-    
-    multiset<int>       msi; 
-    insert( msi )( 5 );
-    BOOST_CHECK_EQUAL( *msi.find( 5 ), 5 );
-    
-    stack<int>          sti; 
-    push( sti )( 6 );
-    BOOST_CHECK_EQUAL( sti.top(), 6 );
-    
-    queue<int>          qi; 
-    push( qi )( 7 );
-    BOOST_CHECK_EQUAL( qi.back(), 7 );
-    
-    priority_queue<int> pqi; 
-    push( pqi )( 8 );
-    BOOST_CHECK_EQUAL( pqi.top(), 8 );
-    
-    test_map< map<string,int> >();
-    test_map< multimap<string,int> >();
-
-}
-
-
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_std ) );
-
-    return test;
-}
-
diff --git a/SRC/Boost/libs/assign/test/tuple_list_of.cpp b/SRC/Boost/libs/assign/test/tuple_list_of.cpp
deleted file mode 100755
index 4ea06e6..0000000
--- a/SRC/Boost/libs/assign/test/tuple_list_of.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// Boost.Assign library
-//
-//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// For more information, see http://www.boost.org/libs/assign/
-//
-
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  pragma warn -8091 // supress warning in Boost.Test
-#  pragma warn -8057 // unused argument argc/argv in Boost.Test
-#endif
-
-#include <boost/assign/list_of.hpp>
-#include <boost/test/test_tools.hpp>
-#include <algorithm>
-#include <iostream>
-#include <string>
-#include <vector>
-#include <map>
-
-void check_tuple_list_of()
-{
-    using namespace boost::assign;
-
-    typedef boost::tuple<int,std::string,int> tuple;
-
-    std::vector<tuple> v = tuple_list_of( 1, "foo", 2 )( 3, "bar", 4 );
-    BOOST_CHECK( v.size() == 2 );
-    BOOST_CHECK( boost::get<0>( v[1] ) ==  3 );
-
-    std::map<std::string,int> m = pair_list_of( "foo", 3 )( "bar", 5 );
-    BOOST_CHECK( m.size() == 2 );
-    BOOST_CHECK( m["foo"] == 3 ); 
-}
-
-#include <boost/test/unit_test.hpp>
-using boost::unit_test::test_suite;
-
-test_suite* init_unit_test_suite( int argc, char* argv[] )
-{
-    test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
-
-    test->add( BOOST_TEST_CASE( &check_tuple_list_of ) );
-
-    return test;
-}
-
-
diff --git a/SRC/Boost/libs/bind/bind.html b/SRC/Boost/libs/bind/bind.html
deleted file mode 100755
index 8da49f8..0000000
--- a/SRC/Boost/libs/bind/bind.html
+++ /dev/null
@@ -1,997 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-	<head>
-		<title>Boost: bind.hpp documentation</title>
-		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	</head>
-	<body style="MARGIN-LEFT: 5%; MARGIN-RIGHT: 5%" bgColor="white">
-		<table width="100%" border="0">
-			<tr>
-				<td width="277"><A href="../../index.htm"><IMG height="86" alt="boost.png (6897 bytes)" src="../../boost.png" width="277" border="0"></A>
-				</td>
-				<td align="center">
-					<h1>bind.hpp</h1>
-				</td>
-			</tr>
-			<tr>
-				<td colSpan="2" height="64"> </td>
-			</tr>
-		</table>
-		<h2>Contents</h2>
-		<h3 style="MARGIN-LEFT: 20pt"><A href="#Purpose">Purpose</A></h3>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#with_functions">Using bind with functions and 
-				function pointers</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#with_function_objects">Using bind with function 
-				objects</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#with_member_pointers">Using bind with pointers 
-				to members</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#nested_binds">Using nested binds for function 
-				composition</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#operators">Overloaded operators</A></h4>
-		<h3 style="MARGIN-LEFT: 20pt"><A href="#Examples">Examples</A></h3>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#with_algorithms">Using bind with standard 
-				algorithms</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#with_boost_function">Using bind with 
-				Boost.Function</A></h4>
-		<h3 style="MARGIN-LEFT: 20pt"><A href="#Limitations">Limitations</A></h3>
-		<h3 style="MARGIN-LEFT: 20pt"><A href="#FAQ">Frequently Asked Questions</A></h3>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#Q_doesnt_compile">Why doesn't this compile?</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#Q_does_compile">Why does this compile? It 
-				should not.</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#Q_forms">What is the difference between bind(f, 
-				...) and bind<R>(f, ...)?</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#Q_win32_api">Does <b>bind</b> work with Windows 
-				API functions?</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#Q_com">Does <b>bind</b> work with COM methods?</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#Q_mac">Does <b>bind</b> work with Mac toolbox 
-				functions?</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#Q_extern_C">Does <b>bind</b> work with extern 
-				"C" functions?</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#Q_auto_stdcall">Why doesn't <b>bind</b> automatically 
-				recognize nonstandard functions?</A></h4>
-		<h3 style="MARGIN-LEFT: 20pt"><A href="#Troubleshooting">Troubleshooting</A></h3>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#err_num_args">Incorrect number of arguments</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#err_signature">The function object cannot be 
-				called with the specified arguments</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#err_arg_access">Accessing an argument that does 
-				not exist</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#err_short_form">Inappropriate use of bind(f, 
-				...)</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#err_long_form">Inappropriate use of 
-				bind<R>(f, ...)</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#err_nonstd">Binding a nonstandard function</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#err_overloaded">Binding an overloaded function</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#err_modeling_stl_function_object_concepts">Modeling STL function object concepts</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#err_const_arg"><b>const</b> in signatures</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#err_msvc_using">MSVC specific: using 
-				boost::bind;</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#err_msvc_class_template">MSVC specific: class 
-				templates shadow function templates</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#err_msvc_ellipsis">MSVC specific: ... in 
-				signatures treated as type</A></h4>
-		<h3 style="MARGIN-LEFT: 20pt"><A href="#Interface">Interface</A></h3>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#Synopsis">Synopsis</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#CommonRequirements">Common requirements</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#CommonDefinitions">Common definitions</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#bind">bind</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#AdditionalOverloads">Additional overloads</A></h4>
-		<h3 style="MARGIN-LEFT: 20pt"><A href="#Implementation">Implementation</A></h3>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#Files">Files</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#Dependencies">Dependencies</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#NumberOfArguments">Number of Arguments</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#stdcall">"__stdcall", "__cdecl", "__fastcall", 
-				and "pascal" Support</A></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><A href="#visit_each"><b>visit_each</b> support</A></h4>
-		<h3 style="MARGIN-LEFT: 20pt"><A href="#Acknowledgements">Acknowledgements</A></h3>
-		<h2><a name="Purpose">Purpose</a></h2>
-		<p><b>boost::bind</b> is a generalization of the standard functions <b>std::bind1st</b>
-			and <b>std::bind2nd</b>. It supports arbitrary function objects, functions, 
-			function pointers, and member function pointers, and is able to bind any 
-			argument to a specific value or route input arguments into arbitrary positions. <b>bind</b>
-			does not place any requirements on the function object; in particular, it does 
-			not need the <b>result_type</b>, <b>first_argument_type</b> and <b>second_argument_type</b>
-			standard typedefs.
-		</p>
-		<h3><a name="with_functions">Using bind with functions and function pointers</a></h3>
-		<p>Given these definitions:
-		</p>
-		<pre>int f(int a, int b)
-{
-    return a + b;
-}
-
-int g(int a, int b, int c)
-{
-    return a + b + c;
-}
-</pre>
-		<p><tt>bind(f, 1, 2)</tt> will produce a "nullary" function object that takes no 
-			arguments and returns <tt>f(1, 2)</tt>. Similarly, <tt>bind(g, 1, 2, 3)()</tt> is 
-			equivalent to <tt>g(1, 2, 3)</tt>.
-		</p>
-		<p>It is possible to selectively bind only some of the arguments. <tt>bind(f, _1, 5)(x)</tt>
-			is equivalent to <tt>f(x, 5)</tt>; here <b>_1</b>
-		is a placeholder argument that means "substitute with the first input 
-		argument."
-		<p>For comparison, here is the same operation expressed with the standard library 
-			primitives:
-		</p>
-		<pre>std::bind2nd(std::ptr_fun(f), 5)(x);
-</pre>
-		<p><b>bind</b> covers the functionality of <b>std::bind1st</b> as well:
-		</p>
-		<pre>std::bind1st(std::ptr_fun(f), 5)(x);   // f(5, x)
-bind(f, 5, _1)(x);                     // f(5, x)
-</pre>
-		<p><b>bind</b> can handle functions with more than two arguments, and its argument 
-			substitution mechanism is more general:
-		</p>
-		<pre>bind(f, _2, _1)(x, y);                 // f(y, x)
-
-bind(g, _1, 9, _1)(x);                 // g(x, 9, x)
-
-bind(g, _3, _3, _3)(x, y, z);          // g(z, z, z)
-
-bind(g, _1, _1, _1)(x, y, z);          // g(x, x, x)
-</pre>
-		<p>Note that, in the last example, the function object produced by <tt>bind(g, _1, _1, 
-				_1)</tt> does not contain references to any arguments beyond the first, but 
-			it can still be used with more than one argument. Any extra arguments are 
-			silently ignored, just like the first and the second argument are ignored in 
-			the third example.
-		</p>
-		<p>The arguments that <b>bind</b> takes are copied and held internally by the 
-			returned function object. For example, in the following code:
-		</p>
-		<pre>int i = 5;
-
-bind(f, i, _1);
-</pre>
-		<p>a copy of the value of <b>i</b> is stored into the function object. <A href="ref.html">
-				boost::ref</A> and <A href="ref.html">boost::cref</A> can be used to make 
-			the function object store a reference to an object, rather than a copy:
-		</p>
-		<pre>int i = 5;
-
-bind(f, ref(i), _1);
-
-bind(f, cref(42), _1);
-</pre>
-		<h3><a name="with_function_objects">Using bind with function objects</a></h3>
-		<p><b>bind</b> is not limited to functions; it accepts arbitrary function objects. 
-			In the general case, the return type of the generated function object's <b>operator()</b>
-			has to be specified explicitly (without a <b>typeof</b> operator the return 
-			type cannot be inferred):
-		</p>
-		<pre>struct F
-{
-    int operator()(int a, int b) { return a - b; }
-    bool operator()(long a, long b) { return a == b; }
-};
-
-F f;
-
-int x = 104;
-
-bind<int>(f, _1, _1)(x);		// f(x, x), i.e. zero
-</pre>
-		<p>Some compilers have trouble with the <tt>bind<R>(f, ...)</tt> syntax. For 
-			portability reasons, an alternative way to express the above is supported:</p>
-		<pre>boost::bind(boost::type<int>(), f, _1, _1)(x);
-</pre>
-		<P>Note, however, that the alternative syntax is provided only as a workaround. It 
-			is not part of the interface.</P>
-		<P>When the function object exposes a nested type named <b>result_type</b>, the 
-			explicit return type can be omitted:
-		</P>
-		<pre>int x = 8;
-
-bind(std::less<int>(), _1, 9)(x);	// x < 9
-</pre>
-		<p>[Note: the ability to omit the return type is not available on all compilers.]
-		</p>
-		<P>By default, <STRONG>bind</STRONG> makes a copy of the provided function object. <code>
-				boost::ref</code> and <code>boost::cref</code> can be used to make it store 
-			a reference to the function object, rather than a copy. This can be useful when 
-			the function object is noncopyable, expensive to copy, or contains state; of 
-			course, in this case the programmer is expected to ensure that the function 
-			object is not destroyed while it's still being used.</P>
-		<pre>struct F2
-{
-    int s;
-
-    typedef void result_type;
-    void operator()( int x ) { s += x; }
-};
-
-F2 f2 = { 0 };
-int a[] = { 1, 2, 3 };
-
-std::for_each( a, a+3, bind( ref(f2), _1 ) );
-
-assert( f2.s == 6 );
-</pre>
-		<h3><a name="with_member_pointers">Using bind with pointers to members</a></h3>
-		<p>Pointers to member functions and pointers to data members are not function 
-			objects, because they do not support <tt>operator()</tt>. For convenience, <b>bind</b>
-			accepts member pointers as its first argument, and the behavior is as if <A href="mem_fn.html">
-				boost::mem_fn</A> has been used to convert the member pointer into a 
-			function object. In other words, the expression
-		</p>
-		<pre>bind(&X::f, <i>args</i>)
-</pre>
-		<p>is equivalent to
-		</p>
-		<pre>bind<R>(<A href="mem_fn.html" >mem_fn</A>(&X::f), <i>args</i>)
-</pre>
-		<p>where <b>R</b> is the return type of <b>X::f</b> (for member functions) or the 
-			type of the member (for data members.)
-		</p>
-		<p>[Note: <b>mem_fn</b> creates function objects that are able to accept a pointer, 
-			a reference, or a smart pointer to an object as its first argument; for 
-			additional information, see the <b>mem_fn</b> <A href="mem_fn.html">documentation</A>.]
-		</p>
-		<p>Example:
-		</p>
-		<pre>struct X
-{
-    bool f(int a);
-};
-
-X x;
-
-shared_ptr<X> p(new X);
-
-int i = 5;
-
-bind(&X::f, ref(x), _1)(i);		// x.f(i)
-bind(&X::f, &x, _1)(i);			//(&x)->f(i)
-bind(&X::f, x, _1)(i);			// (<i>internal copy of x</i>).f(i)
-bind(&X::f, p, _1)(i);			// (<i>internal copy of p</i>)->f(i)
-</pre>
-		<p>The last two examples are interesting in that they produce "self-contained" 
-			function objects. <tt>bind(&X::f, x, _1)</tt> stores a copy of <b>x</b>. <tt>bind(&X::f, 
-				p, _1)</tt> stores a copy of <b>p</b>, and since <b>p</b> is a <A href="../smart_ptr/shared_ptr.htm">
-				boost::shared_ptr</A>, the function object retains a reference to its 
-			instance of <b>X</b> and will remain valid even when <b>p</b> goes out of scope 
-			or is <b>reset()</b>.
-		</p>
-		<h3><a name="nested_binds">Using nested binds for function composition</a></h3>
-		<p>Some of the arguments passed to <b>bind</b> may be nested <b>bind</b> expressions 
-			themselves:
-		</p>
-		<pre>bind(f, bind(g, _1))(x);               // f(g(x))
-</pre>
-		<p>The inner <STRONG>bind</STRONG> expressions are evaluated, in unspecified order, 
-			before the outer <STRONG>bind</STRONG> when the function object is called; the 
-			results of the evaluation are then substituted in their place when the outer <STRONG>
-				bind</STRONG> is evaluated. In the example above, when the function object 
-			is called with the argument list <tt>(x)</tt>, <tt>bind(g, _1)(x)</tt> is 
-			evaluated first, yielding <tt>g(x)</tt>, and then <tt>bind(f, g(x))(x)</tt> is 
-			evaluated, yielding the final result <tt>f(g(x))</tt>.
-		</p>
-		<P>This feature of <b>bind</b> can be used to perform function composition. See <A href="bind_as_compose.cpp">
-				bind_as_compose.cpp</A> for an example that demonstrates how to use <b>bind</b>
-			to achieve similar functionality to <A href="../compose/index.htm">Boost.Compose</A>.
-		</P>
-		<p>Note that the first argument - the bound function object - is not evaluated, 
-			even when it's a function object that is produced by <STRONG>bind</STRONG> or a 
-			placeholder argument, so the example below does not work as expected:
-		</p>
-		<pre>typedef void (*pf)(int);
-
-std::vector<pf> v;
-
-std::for_each(v.begin(), v.end(), bind(_1, 5));
-</pre>
-		<p>The desired effect can be achieved via a helper function object <STRONG>apply</STRONG>
-			that applies its first argument, as a function object, to the rest of its 
-			argument list. For convenience, an implementation of <STRONG>apply</STRONG> is 
-			provided in the <STRONG>boost/bind/apply.hpp</STRONG> header file. Here is how 
-			the modified version of the previous example looks like:
-		</p>
-		<pre>typedef void (*pf)(int);
-
-std::vector<pf> v;
-
-std::for_each(v.begin(), v.end(), bind(apply<void>(), _1, 5));
-</pre>
-		<P>Although the first argument is, by default, not evaluated, all other arguments 
-			are. Sometimes it is necessary not to evaluate arguments subsequent to the 
-			first, even when they are nested <STRONG>bind</STRONG> subexpressions. This can 
-			be achieved with the help of another function object, <STRONG>protect</STRONG>, 
-			that masks the type so that <STRONG>bind</STRONG> does not recognize and 
-			evaluate it. When called, <STRONG>protect</STRONG> simply forwards the argument 
-			list to the other function object unmodified.</P>
-		<P>The header <STRONG>boost/bind/protect.hpp</STRONG> contains an implementation of <STRONG>
-				protect</STRONG>. To protect a <STRONG>bind</STRONG> function object from 
-			evaluation, use <tt>protect(bind(f, ...))</tt>.</P>
-		<h3><a name="operators">Overloaded operators</a> (new in Boost 1.33)</h3>
-		<p>For convenience, the function objects produced by <tt>bind</tt> overload the 
-			logical not operator <code>!</code> and the relational and logical operators <code>==</code>,
-			<code>!=</code>, <code><</code>, <code><=</code>, <code>></code>, <code>>=</code>,
-			<code>&&</code>, <code>||</code>.</p>
-		<P><tt>!bind(f, ...)</tt> is equivalent to <tt>bind( <EM>logical_not</EM>(), bind(f, 
-				...) )</tt>, where <tt><EM>logical_not</EM></tt> is a function object that 
-			takes one argument <tt>x</tt> and returns <tt>!x</tt>.</P>
-		<P><tt>bind(f, ...) <EM>op</EM> x</tt>, where <EM>op</EM> is a relational or 
-			logical operator, is equivalent to <tt>bind( <EM>relation</EM>(), bind(f, ...), x )</tt>, 
-			where <em>relation</em> is a function object that takes two arguments <tt>a</tt>
-			and <tt>b</tt> and returns <tt>a <EM>op</EM> b</tt>.</P>
-		<P>What this means in practice is that you can conveniently negate the result of <tt>bind</tt>:</P>
-		<P><tt>std::remove_if( first, last, !bind( &X::visible, _1 ) ); // remove invisible 
-				objects</tt></P>
-		<P>and compare the result of <tt>bind</tt> against a value:</P>
-		<P><tt>std::find_if( first, last, bind( &X::name, _1 ) == "Peter" );</tt></P>
-		<P><tt>std::find_if( first, last, bind( &X::name, _1 ) == "Peter" || bind( 
-				&X::name, _1 ) == "Paul" );</tt></P>
-		<P>against a placeholder:</P>
-		<P><tt>bind( &X::name, _1 ) == _2</tt></P>
-		<P>or against another <tt>bind</tt> expression:</P>
-		<P><tt>std::sort( first, last, bind( &X::name, _1 ) < bind( &X::name, _2 ) 
-				); // sort by name</tt></P>
-		<h2><a name="Examples">Examples</a></h2>
-		<h3><a name="with_algorithms">Using bind with standard algorithms</a></h3>
-		<pre>class image;
-
-class animation
-{
-public:
-
-    void advance(int ms);
-    bool inactive() const;
-    void render(image & target) const;
-};
-
-std::vector<animation> anims;
-
-template<class C, class P> void erase_if(C & c, P pred)
-{
-    c.erase(std::remove_if(c.begin(), c.end(), pred), c.end());
-}
-
-void update(int ms)
-{
-    std::for_each(anims.begin(), anims.end(), boost::bind(&animation::advance, _1, ms));
-    erase_if(anims, boost::mem_fn(&animation::inactive));
-}
-
-void render(image & target)
-{
-    std::for_each(anims.begin(), anims.end(), boost::bind(&animation::render, _1, boost::ref(target)));
-}
-</pre>
-		<h3><a name="with_boost_function">Using bind with Boost.Function</a></h3>
-		<pre>class button
-{
-public:
-
-    <A href="../function/index.html" >boost::function</A><void()> onClick;
-};
-
-class player
-{
-public:
-
-    void play();
-    void stop();
-};
-
-button playButton, stopButton;
-player thePlayer;
-
-void connect()
-{
-    playButton.onClick = boost::bind(&player::play, &thePlayer);
-    stopButton.onClick = boost::bind(&player::stop, &thePlayer);
-}
-</pre>
-		<h2><a name="Limitations">Limitations</a></h2>
-		<p>As a general rule, the function objects generated by <b>bind</b> take their 
-			arguments by reference and cannot, therefore, accept non-const temporaries or 
-			literal constants. This is an inherent limitation of the C++ language in its 
-			current (2003) incarnation, known as <A href="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1385.htm">
-				the forwarding problem</A>. (It will be fixed in the next standard, usually 
-			called C++0x.)</p>
-		<p>The library uses signatures of the form
-		</p>
-		<pre>template<class T> void f(T & t);
-</pre>
-		<p>to accept arguments of arbitrary types and pass them on unmodified. As noted, 
-			this does not work with non-const r-values.
-		</p>
-		<p>On compilers that support partial ordering of function templates, a possible 
-			solution is to add an overload:
-		</p>
-		<pre>template<class T> void f(T & t);
-template<class T> void f(T const & t);
-</pre>
-		<p>Unfortunately, this requires providing 512 overloads for nine arguments, which 
-			is impractical. The library chooses a small subset: for up to two arguments, it 
-			provides the const overloads in full, for arities of three and more it provides 
-			a single additional overload with all of the arguments taken by const 
-			reference. This covers a reasonable portion of the use cases.
-		</p>
-		<h2><a name="FAQ">Frequently Asked Questions</a></h2>
-		<h3><a name="Q_doesnt_compile">Why doesn't this compile?</a></h3>
-		<p>See the <A href="#Troubleshooting">dedicated Troubleshooting section</A>.</p>
-		<h3><a name="Q_does_compile">Why does this compile? It should not.</a></h3>
-		<p>Probably because you used the general <tt>bind<R>(f, ...)</tt> syntax, 
-			thereby instructing <b>bind</b> to not "inspect" <b>f</b> to detect arity and 
-			return type errors.</p>
-		<h3><a name="Q_forms">What is the difference between bind(f, ...) and bind<R>(f, 
-				...)?</a></h3>
-		<p>The first form instructs <b>bind</b> to inspect the type of <b>f</b> in order to 
-			determine its arity (number of arguments) and return type. Arity errors will be 
-			detected at "bind time". This syntax, of course, places some requirements on <b>f</b>. 
-			It must be a function, function pointer, member function pointer, or a function 
-			object that defines a nested type named <b>result_type</b>; in short, it must 
-			be something that <b>bind</b> can recognize.</p>
-		<p>The second form instructs <b>bind</b> to <b>not</b> attempt to recognize the 
-			type of <b>f</b>. It is generally used with function objects that do not, or 
-			cannot, expose <b>result_type</b>, but it can also be used with nonstandard 
-			functions. For example, the current implementation does not automatically 
-			recognize variable-argument functions like <b>printf</b>, so you will have to 
-			use <tt>bind<int>(printf, ...)</tt>. Note that an alternative <tt>bind(type<R>(), 
-				f, ...)</tt> syntax is supported for portability reasons.</p>
-		<p>Another important factor to consider is that compilers without partial template 
-			specialization or function template partial ordering support cannot handle the 
-			first form when <b>f</b> is a function object, and in most cases will not 
-			handle the second form when <b>f</b> is a function (pointer) or a member 
-			function pointer.</p>
-		<h3><a name="Q_win32_api">Does <b>bind</b> work with Windows API functions?</a></h3>
-		<p>Yes, if you <A href="#stdcall">#define BOOST_BIND_ENABLE_STDCALL</A>. An 
-			alternative is to treat the function as a <A href="#with_function_objects">generic 
-				function object</A> and use the <tt>bind<R>(f, ...)</tt> syntax.</p>
-		<h3><a name="Q_com">Does <b>bind</b> work with COM methods?</a></h3>
-		<p>Yes, if you <A href="#stdcall">#define BOOST_MEM_FN_ENABLE_STDCALL</A>.</p>
-		<h3><a name="Q_mac">Does <b>bind</b> work with Mac toolbox functions?</a></h3>
-		<p>Yes, if you <A href="#stdcall">#define BOOST_BIND_ENABLE_PASCAL</A>. An 
-			alternative is to treat the function as a <A href="#with_function_objects">generic 
-				function object</A> and use the <tt>bind<R>(f, ...)</tt> syntax.</p>
-		<h3><a name="Q_extern_C">Does <b>bind</b> work with extern "C" functions?</a></h3>
-		<p>Sometimes. On some platforms, pointers to extern "C" functions are equivalent to 
-			"ordinary" function pointers, so they work fine. Other platforms treat them as 
-			different types. A platform-specific implementation of <b>bind</b> is expected 
-			to handle the problem transparently; this implementation does not. As usual, 
-			the workaround is to treat the function as a <A href="#with_function_objects">generic 
-				function object</A> and use the <tt>bind<R>(f, ...)</tt> syntax.</p>
-		<h3><a name="Q_auto_stdcall">Why doesn't <b>bind</b> automatically recognize 
-				nonstandard functions?</a></h3>
-		<p>Non-portable extensions, in general, should default to off to prevent vendor 
-			lock-in. Had the <A href="#stdcall">appropriate macros</A> been defined 
-			automatically, you could have accidentally taken advantage of them without 
-			realizing that your code is, perhaps, no longer portable. In addition, some 
-			compilers have the option to make <b>__stdcall</b> (<STRONG>__fastcall</STRONG>) 
-			their default calling convention, in which case no separate support would be 
-			necessary.</p>
-		<h2><a name="Troubleshooting">Troubleshooting</a></h2>
-		<h3><a name="err_num_args">Incorrect number of arguments</a></h3>
-		<p>In a <tt>bind(f, a1, a2, ..., aN)</tt> expression, the function object <b>f</b> must 
-			be able to take exactly <b>N</b> arguments. This error is normally detected at 
-			"bind time"; in other words, the compilation error is reported on the line 
-			where bind() is invoked:</p>
-		<pre>int f(int, int);
-
-int main()
-{
-    boost::bind(f, 1);    // error, f takes two arguments
-    boost::bind(f, 1, 2); // OK
-}
-</pre>
-		<p>A common variation of this error is to forget that member functions have an 
-			implicit "this" argument:</p>
-		<pre>struct X
-{
-    int f(int);
-}
-
-int main()
-{
-    boost::bind(&X::f, 1);     // error, X::f takes two arguments
-    boost::bind(&X::f, <b>_1</b>, 1); // OK
-}
-</pre>
-		<h3><a name="err_signature">The function object cannot be called with the specified 
-				arguments</a></h3>
-		<p>As in normal function calls, the function object that is bound must be 
-			compatible with the argument list. The incompatibility will usually be detected 
-			by the compiler at "call time" and the result is typically an error in <b>bind.hpp</b>
-			on a line that looks like:</p>
-		<pre>    return f(a[a1_], a[a2_]);
-</pre>
-		<p>An example of this kind of error:</p>
-		<pre>int f(int);
-
-int main()
-{
-    boost::bind(f, "incompatible");      // OK so far, no call
-    boost::bind(f, "incompatible")();    // error, "incompatible" is not an int
-    boost::bind(f, _1);                  // OK
-    boost::bind(f, _1)("incompatible");  // error, "incompatible" is not an int
-}
-</pre>
-		<h3><a name="err_arg_access">Accessing an argument that does not exist</a></h3>
-		<p>The placeholder <b>_N</b> selects the argument at position <b>N</b> from the 
-			argument list passed at "call time." Naturally, it is an error to attempt to 
-			access beyond the end of this list:</p>
-		<pre>int f(int);
-
-int main()
-{
-    boost::bind(f, _1);                  // OK
-    boost::bind(f, _1)();                // error, there is no argument number 1
-}
-</pre>
-		<p>The error is usually reported in <b>bind.hpp</b>, at a line similar to:</p>
-		<pre>    return f(a[a1_]);
-</pre>
-		<p>When emulating <tt>std::bind1st(f, a)</tt>, a common mistake of this category is 
-			to type <tt>bind(f, a, _2)</tt> instead of the correct <tt>bind(f, a, _1)</tt>.</p>
-		<h3><a name="err_short_form">Inappropriate use of bind(f, ...)</a></h3>
-		<p>The <tt>bind(f, a1, a2, ..., aN)</tt> <A href="#Q_forms">form</A> causes 
-			automatic recognition of the type of <b>f</b>. It will not work with arbitrary 
-			function objects; <b>f</b> must be a function or a member function pointer.</p>
-		<p>It is possible to use this form with function objects that define <b>result_type</b>, 
-			but <b>only on compilers</b> that support partial specialization and partial 
-			ordering. In particular, MSVC up to version 7.0 does not support this syntax 
-			for function objects.</p>
-		<h3><a name="err_long_form">Inappropriate use of bind<R>(f, ...)</a></h3>
-		<p>The <tt>bind<R>(f, a1, a2, ..., aN)</tt> <A href="#Q_forms">form</A> supports 
-			arbitrary function objects.</p>
-		<p>It is possible (but not recommended) to use this form with functions or member 
-			function pointers, but <b>only on compilers</b> that support partial ordering. 
-			In particular, MSVC up to version 7.0 does not fully support this syntax for 
-			functions and member function pointers.</p>
-		<h3><a name="err_nonstd">Binding a nonstandard function</a></h3>
-		<p>By default, the <tt>bind(f, a1, a2, ..., aN)</tt> <A href="#Q_forms">form</A> recognizes 
-			"ordinary" C++ functions and function pointers. <A href="#stdcall">Functions that 
-				use a different calling convention</A>, or variable-argument functions such 
-			as <STRONG>std::printf</STRONG>, do not work. The general <tt>bind<R>(f, a1, 
-				a2, ..., aN)</tt> <A href="#Q_forms">form</A> works with nonstandard 
-			functions.
-		</p>
-		<p>On some platforms, extern "C" functions, like <b>std::strcmp</b>, are not 
-			recognized by the short form of bind.
-		</p>
-		<P>See also <A href="#stdcall">"__stdcall" and "pascal" Support</A>.</P>
-		<h3><a name="err_overloaded">Binding an overloaded function</a></h3>
-		<p>An attempt to bind an overloaded function usually results in an error, as there 
-			is no way to tell which overload was meant to be bound. This is a common 
-			problem with member functions with two overloads, const and non-const, as in 
-			this simplified example:</p>
-		<pre>struct X
-{
-    int& get();
-    int const& get() const;
-};
-
-int main()
-{
-    boost::bind( &X::get, _1 );
-}
-</pre>
-		<P>The ambiguity can be resolved manually by casting the (member) function pointer 
-			to the desired type:</P>
-<pre>int main()
-{
-    boost::bind( static_cast< int const& (X::*) () const >( &X::get ), _1 );
-}
-</pre>
-		<P>Another, arguably more readable, alternative is to introduce a temporary 
-			variable:</P>
-<pre>int main()
-{
-    int const& (X::*get) () const = &X::get;
-    boost::bind( get, _1 );
-}
-</pre>
-		<h3><a name="err_modeling_stl_function_object_concepts">Modeling STL function object concepts</a></h3>
-		<p>The function objects that are produced by <b>boost::bind</b> do not model the
-		STL <a href="http://www.sgi.com/tech/stl/UnaryFunction.html">Unary Function</a> or
-		<a href="http://www.sgi.com/tech/stl/BinaryFunction.html">Binary Function</a> concepts,
-		even when the function objects are unary or binary operations, because the function object
-		types are missing public typedefs <tt>result_type</tt> and <tt>argument_type</tt> or
-		<tt>first_argument_type</tt> and <tt>second_argument_type</tt>. In cases where these
-		typedefs are desirable, however, the utility function <tt>make_adaptable</tt>
-		can be used to adapt unary and binary function objects to these concepts. This allows
-		unary and binary function objects resulting from <b>boost::bind</b> to be combined with
-		STL templates such as <a href="http://msdn.microsoft.com/en-us/library/se0409db%28v=VS.90%29.aspx"><tt>std::unary_negate</tt></a>
-		and <a href="http://msdn.microsoft.com/en-us/library/833073z4%28v=VS.90%29.aspx"><tt>std::binary_negate</tt></a>.</p>
-		
-		<p>The <tt>make_adaptable</tt> function is defined in <<a href="../../boost/bind/make_adaptable.hpp">boost/bind/make_adaptable.hpp</a>>,
-		which must be included explicitly in addition to <boost/bind.hpp>:</p>
-		<pre>
-#include <boost/bind/make_adaptable.hpp>
-
-template <class R, class F> <i>unspecified-type</i> make_adaptable(F f);
-
-template<class R, class A1, class F> <i>unspecified-unary-functional-type</i> make_adaptable(F f);
-
-template<class R, class A1, class A2, class F> <i>unspecified-binary-functional-type</i> make_adaptable(F f);
-
-template<class R, class A1, class A2, class A3, class F> <i>unspecified-ternary-functional-type</i> make_adaptable(F f);
-
-template<class R, class A1, class A2, class A3, class A4, class F> <i>unspecified-4-ary-functional-type</i> make_adaptable(F f);
-		</pre>
-		
-		<p>This example shows how to use <tt>make_adaptable</tt> to make a predicate for "is not a space":</p>
-		<pre>typedef char char_t;
-std::locale loc("");
-const std::ctype<char_t>& ct = std::use_facet<std::ctype<char_t> >(loc);
-
-auto isntspace = std::not1( boost::make_adaptable<bool, char_t>( boost::bind(&std::ctype<char_t>::is, &ct, std::ctype_base::space, _1) ) );
-</pre>
-
-		<p>In this example, <b>boost::bind</b> creates the "is a space" (unary) predicate.
-		It is then passed to <tt>make_adaptable</tt> so that a function object modeling
-		the Unary Function concept can be created, serving as the argument to
-		<a href="http://msdn.microsoft.com/en-us/library/syyszzf8%28v=VS.90%29.aspx"><tt>std::not1</tt></a>.</p>
-		
-		<h3><a name="err_const_arg"><b>const</b> in signatures</a></h3>
-		<p>Some compilers, including MSVC 6.0 and Borland C++ 5.5.1, have problems with the 
-			top-level <b>const</b> in function signatures:
-		</p>
-		<pre>int f(int const);
-
-int main()
-{
-    boost::bind(f, 1);     // error
-}
-</pre>
-		<p>Workaround: remove the <b>const</b> qualifier from the argument.
-		</p>
-		<h3><a name="err_msvc_using">MSVC specific: using boost::bind;</a></h3>
-		<p>On MSVC (up to version 7.0), when <b>boost::bind</b> is brought into scope with 
-			an using declaration:
-		</p>
-		<pre>using boost::bind;
-</pre>
-		<p>the syntax <tt>bind<R>(f, ...)</tt> does not work. Workaround: either use 
-			the qualified name, <b>boost::bind</b>, or use an using directive instead:
-		</p>
-		<pre>using namespace boost;
-</pre>
-		<h3><a name="err_msvc_class_template">MSVC specific: class templates shadow function 
-				templates</a></h3>
-		<p>On MSVC (up to version 7.0), a nested class template named <b>bind</b> will 
-			shadow the function template <b>boost::bind</b>, breaking the <tt>bind<R>(f, 
-				...)</tt> syntax. Unfortunately, some libraries contain nested class 
-			templates named <b>bind</b> (ironically, such code is often an MSVC specific 
-			workaround.)</p>
-		<P>The workaround is to use the alternative <tt>bind(type<R>(), f, ...)</tt> syntax.</P>
-		<h3><a name="err_msvc_ellipsis">MSVC specific: ... in signatures treated as type</a></h3>
-		<p>MSVC (up to version 7.0) treats the ellipsis in a variable argument function 
-			(such as <b>std::printf</b>) as a type. Therefore, it will accept the 
-			(incorrect in the current implementation) form:
-		</p>
-		<pre>    bind(printf, "%s\n", _1);
-</pre>
-		<p>and will reject the correct version:
-		</p>
-		<pre>    bind<int>(printf, "%s\n", _1);
-</pre>
-		<h2><a name="Interface">Interface</a></h2>
-		<h3><a name="Synopsis">Synopsis</a></h3>
-		<pre>namespace boost
-{
-
-// no arguments
-
-template<class R, class F> <i>unspecified-1</i> <A href="#bind_1" >bind</A>(F f);
-
-template<class F> <i>unspecified-1-1</i> <A href="#bind_1_1" >bind</A>(F f);
-
-template<class R> <i>unspecified-2</i> <A href="#bind_2" >bind</A>(R (*f) ());
-
-// one argument
-
-template<class R, class F, class A1> <i>unspecified-3</i> <A href="#bind_3" >bind</A>(F f, A1 a1);
-
-template<class F, class A1> <i>unspecified-3-1</i> <A href="#bind_3_1" >bind</A>(F f, A1 a1);
-
-template<class R, class B1, class A1> <i>unspecified-4</i> <A href="#bind_4" >bind</A>(R (*f) (B1), A1 a1);
-
-template<class R, class T, class A1> <i>unspecified-5</i> <A href="#bind_5" >bind</A>(R (T::*f) (), A1 a1);
-
-template<class R, class T, class A1> <i>unspecified-6</i> <A href="#bind_6" >bind</A>(R (T::*f) () const, A1 a1);
-
-template<class R, class T, class A1> <i>unspecified-6-1</i> <A href="#bind_6_1" >bind</A>(R T::*f, A1 a1);
-
-// two arguments
-
-template<class R, class F, class A1, class A2> <i>unspecified-7</i> <A href="#bind_7" >bind</A>(F f, A1 a1, A2 a2);
-
-template<class F, class A1, class A2> <i>unspecified-7-1</i> <A href="#bind_7_1" >bind</A>(F f, A1 a1, A2 a2);
-
-template<class R, class B1, class B2, class A1, class A2> <i>unspecified-8</i> <A href="#bind_8" >bind</A>(R (*f) (B1, B2), A1 a1, A2 a2);
-
-template<class R, class T, class B1, class A1, class A2> <i>unspecified-9</i> <A href="#bind_9" >bind</A>(R (T::*f) (B1), A1 a1, A2 a2);
-
-template<class R, class T, class B1, class A1, class A2> <i>unspecified-10</i> <A href="#bind_10" >bind</A>(R (T::*f) (B1) const, A1 a1, A2 a2);
-
-// implementation defined number of additional overloads for more arguments
-
-}
-
-namespace
-{
-
-<i>unspecified-placeholder-type-1</i> _1;
-
-<i>unspecified-placeholder-type-2</i> _2;
-
-<i>unspecified-placeholder-type-3</i> _3;
-
-// implementation defined number of additional placeholder definitions
-
-}
-</pre>
-		<h3><a name="CommonRequirements">Common requirements</a></h3>
-		<p>All <tt><i>unspecified-N</i></tt> types returned by <b>bind</b> are <b>CopyConstructible</b>.
-			<tt><i>unspecified-N</i>::result_type</tt> is defined as the return type of <tt><i>unspecified-N</i>::operator()</tt>.</p>
-		<p>All <tt><i>unspecified-placeholder-N</i></tt> types are <b>CopyConstructible</b>. 
-			Their copy constructors do not throw exceptions.</p>
-		<h3><a name="CommonDefinitions">Common definitions</a></h3>
-		<p>The function �(x, v<sub>1</sub>, v<sub>2</sub>, ..., v<sub>m</sub>), where m is 
-			a nonnegative integer, is defined as:</p>
-		<ul>
-			<li>
-				<tt>x.get()</tt>, when <tt>x</tt> is of type <tt><A href="ref.html">boost::reference_wrapper</A><T></tt>
-				for some type <tt>T</tt>;
-			<li>
-				v<sub>k</sub>, when <tt>x</tt>
-			is (a copy of) the placeholder _k for some positive integer k;
-			<li>
-				<tt>x(v<sub>1</sub>, v<sub>2</sub>, ..., v<sub>m</sub>)</tt> when <tt>x</tt> is 
-				(a copy of) a function object returned by <b>bind</b>;
-			<li>
-				<tt>x</tt> otherwise.</li></ul>
-		<h3><a name="bind">bind</a></h3>
-		<h4><a name="bind_1">template<class R, class F> <i>unspecified-1</i> bind(F f)</a></h4>
-		<blockquote>
-			<p><b>Returns:</b> A function object <i>λ</i> such that the expression <tt>λ(v<sub>1</sub>, 
-					v<sub>2</sub>, ..., v<sub>m</sub>)</tt> is equivalent to <tt><b>f</b>()</tt>, 
-				implicitly converted to <b>R</b>.</p>
-			<p><b>Throws:</b> Nothing unless the copy constructor of <b>F</b> throws an 
-				exception.</p>
-		</blockquote>
-		<h4><a name="bind_1_1">template<class F> <i>unspecified-1-1</i> bind(F f)</a></h4>
-		<blockquote>
-			<p><b>Effects:</b> Equivalent to <tt>bind<typename F::result_type, F>(f);</tt></p>
-			<p><b>Notes:</b> Implementations are allowed to infer the return type of <b>f</b> via 
-				other means as an extension, without relying on the <tt>result_type</tt> member.</p>
-		</blockquote>
-		<h4><a name="bind_2">template<class R> <i>unspecified-2</i> bind(R (*f) ())</a></h4>
-		<blockquote>
-			<p><b>Returns:</b> A function object <i>λ</i> such that the expression <tt>λ(v<sub>1</sub>, 
-					v<sub>2</sub>, ..., v<sub>m</sub>)</tt> is equivalent to <tt><b>f</b>()</tt>.</p>
-			<p><b>Throws:</b> Nothing.</p>
-		</blockquote>
-		<h4><a name="bind_3">template<class R, class F, class A1> <i>unspecified-3</i> bind(F 
-				f, A1 a1)</a></h4>
-		<blockquote>
-			<p><b>Returns:</b> A function object <i>λ</i> such that the expression <tt>λ(v<sub>1</sub>, 
-					v<sub>2</sub>, ..., v<sub>m</sub>)</tt> is equivalent to <tt><b>f</b>(�(<b>a1</b>, 
-					v<sub>1</sub>, v<sub>2</sub>, ..., v<sub>m</sub>))</tt>, implicitly 
-				converted to <b>R</b>.</p>
-			<p><b>Throws:</b> Nothing unless the copy constructors of <b>F</b> or <b>A1</b> throw 
-				an exception.</p>
-		</blockquote>
-		<h4><a name="bind_3_1">template<class F, class A1> <i>unspecified-3-1</i> bind(F 
-				f, A1 a1)</a></h4>
-		<blockquote>
-			<p><b>Effects:</b> Equivalent to <tt>bind<typename F::result_type, F, A1>(f, a1);</tt></p>
-			<p><b>Notes:</b> Implementations are allowed to infer the return type of <b>f</b> via 
-				other means as an extension, without relying on the <tt>result_type</tt> member.</p>
-		</blockquote>
-		<h4><a name="bind_4">template<class R, class B1, class A1> <i>unspecified-4</i> bind(R 
-				(*f) (B1), A1 a1)</a></h4>
-		<blockquote>
-			<p><b>Returns:</b> A function object <i>λ</i> such that the expression <tt>λ(v<sub>1</sub>, 
-					v<sub>2</sub>, ..., v<sub>m</sub>)</tt> is equivalent to <tt><b>f</b>(�(<b>a1</b>, 
-					v<sub>1</sub>, v<sub>2</sub>, ..., v<sub>m</sub>))</tt>.</p>
-			<p><b>Throws:</b> Nothing unless the copy constructor of <b>A1</b> throws an 
-				exception.</p>
-		</blockquote>
-		<h4><a name="bind_5">template<class R, class T, class A1> <i>unspecified-5</i> bind(R 
-				(T::*f) (), A1 a1)</a></h4>
-		<blockquote>
-			<p><b>Effects:</b> Equivalent to <tt>bind<R>(<A href="mem_fn.html">boost::mem_fn</A>(f), 
-					a1);</tt></p>
-		</blockquote>
-		<h4><a name="bind_6">template<class R, class T, class A1> <i>unspecified-6</i> bind(R 
-				(T::*f) () const, A1 a1)</a></h4>
-		<blockquote>
-			<p><b>Effects:</b> Equivalent to <tt>bind<R>(<A href="mem_fn.html">boost::mem_fn</A>(f), 
-					a1);</tt></p>
-		</blockquote>
-		<h4><a name="bind_6_1">template<class R, class T, class A1> <i>unspecified-6-1</i>
-				bind(R T::*f, A1 a1)</a></h4>
-		<blockquote>
-			<p><b>Effects:</b> Equivalent to <tt>bind<R>(<A href="mem_fn.html">boost::mem_fn</A>(f), 
-					a1);</tt></p>
-		</blockquote>
-		<h4><a name="bind_7">template<class R, class F, class A1, class A2> <i>unspecified-7</i>
-				bind(F f, A1 a1, A2 a2)</a></h4>
-		<blockquote>
-			<p><b>Returns:</b> A function object <i>λ</i> such that the expression <tt>λ(v<sub>1</sub>, 
-					v<sub>2</sub>, ..., v<sub>m</sub>)</tt> is equivalent to <tt><b>f</b>(�(<b>a1</b>, 
-					v<sub>1</sub>, v<sub>2</sub>, ..., v<sub>m</sub>), �(<b>a2</b>, v<sub>1</sub>, 
-					v<sub>2</sub>, ..., v<sub>m</sub>))</tt>, implicitly converted to <b>R</b>.</p>
-			<p><b>Throws:</b> Nothing unless the copy constructors of <b>F</b>, <b>A1</b> or <b>A2</b>
-				throw an exception.</p>
-		</blockquote>
-		<h4><a name="bind_7_1">template<class F, class A1, class A2> <i>unspecified-7-1</i>
-				bind(F f, A1 a1, A2 a2)</a></h4>
-		<blockquote>
-			<p><b>Effects:</b> Equivalent to <tt>bind<typename F::result_type, F, A1, A2>(f, 
-					a1, a2);</tt></p>
-			<p><b>Notes:</b> Implementations are allowed to infer the return type of <b>f</b> via 
-				other means as an extension, without relying on the <tt>result_type</tt> member.</p>
-		</blockquote>
-		<h4><a name="bind_8">template<class R, class B1, class B2, class A1, class A2> <i>unspecified-8</i>
-				bind(R (*f) (B1, B2), A1 a1, A2 a2)</a></h4>
-		<blockquote>
-			<p><b>Returns:</b> A function object <i>λ</i> such that the expression <tt>λ(v<sub>1</sub>, 
-					v<sub>2</sub>, ..., v<sub>m</sub>)</tt> is equivalent to <tt><b>f</b>(�(<b>a1</b>, 
-					v<sub>1</sub>, v<sub>2</sub>, ..., v<sub>m</sub>), �(<b>a2</b>, v<sub>1</sub>, 
-					v<sub>2</sub>, ..., v<sub>m</sub>))</tt>.</p>
-			<p><b>Throws:</b> Nothing unless the copy constructors of <b>A1</b> or <b>A2</b> throw 
-				an exception.</p>
-		</blockquote>
-		<h4><a name="bind_9">template<class R, class T, class B1, class A1, class A2> <i>unspecified-9</i>
-				bind(R (T::*f) (B1), A1 a1, A2 a2)</a></h4>
-		<blockquote>
-			<p><b>Effects:</b> Equivalent to <tt>bind<R>(<A href="mem_fn.html">boost::mem_fn</A>(f), 
-					a1, a2);</tt></p>
-		</blockquote>
-		<h4><a name="bind_10">template<class R, class T, class B1, class A1, class A2> <i>unspecified-10</i>
-				bind(R (T::*f) (B1) const, A1 a1, A2 a2)</a></h4>
-		<blockquote>
-			<p><b>Effects:</b> Equivalent to <tt>bind<R>(<A href="mem_fn.html">boost::mem_fn</A>(f), 
-					a1, a2);</tt></p>
-		</blockquote>
-		<h3><a name="AdditionalOverloads">Additional overloads</a></h3>
-		<p>Implementations are allowed to provide additional <b>bind</b> overloads in order 
-			to support more arguments or different function pointer variations.</p>
-		<h2><a name="Implementation">Implementation</a></h2>
-		<h3><a name="Files">Files</a></h3>
-		<ul>
-			<li>
-				<A href="../../boost/bind.hpp">boost/bind.hpp</A>
-			(main header)
-			<li>
-				<A href="../../boost/bind/bind_cc.hpp">boost/bind/bind_cc.hpp</A>
-			(used by bind.hpp, do not include directly)
-			<li>
-				<A href="../../boost/bind/bind_mf_cc.hpp">boost/bind/bind_mf_cc.hpp</A>
-			(used by bind.hpp, do not include directly)
-			<li>
-				<A href="../../boost/bind/bind_template.hpp">boost/bind/bind_template.hpp</A>
-			(used by bind.hpp, do not include directly)
-			<LI>
-				<A href="../../boost/bind/arg.hpp">boost/bind/arg.hpp</A>
-			(defines the type of the placeholder arguments)
-			<LI>
-				<A href="../../boost/bind/placeholders.hpp">boost/bind/placeholders.hpp</A>
-			(defines the _1, _2, ... _9 placeholders)
-			<LI>
-				<A href="../../boost/bind/apply.hpp">boost/bind/apply.hpp</A> (<STRONG>apply</STRONG>
-			helper function object)
-			<LI>
-				<A href="../../boost/bind/protect.hpp">boost/bind/protect.hpp</A> (<STRONG>protect</STRONG>
-			helper function)
-			<LI>
-				<A href="../../boost/bind/make_adaptable.hpp">boost/bind/make_adaptable.hpp</A> 
-				(<STRONG>make_adaptable</STRONG>
-			helper function)
-			<li>
-				<A href="test/bind_test.cpp">libs/bind/test/bind_test.cpp</A>
-			(test)
-			<li>
-				<A href="bind_as_compose.cpp">libs/bind/bind_as_compose.cpp</A>
-			(function composition example)
-			<li>
-				<A href="bind_visitor.cpp">libs/bind/bind_visitor.cpp</A>
-			(visitor example)
-			<li>
-				<A href="test/bind_stdcall_test.cpp">libs/bind/test/bind_stdcall_test.cpp</A>
-			(test with __stdcall functions)
-			<li>
-				<A href="test/bind_stdcall_mf_test.cpp">libs/bind/test/bind_stdcall_mf_test.cpp</A>
-			(test with __stdcall member functions)
-			<li>
-				<A href="test/bind_fastcall_test.cpp">libs/bind/test/bind_fastcall_test.cpp</A>
-			(test with __fastcall functions)
-			<li>
-				<A href="test/bind_fastcall_mf_test.cpp">libs/bind/test/bind_fastcall_mf_test.cpp</A>
-				(test with __fastcall member functions)</li></ul>
-		<h3><a name="Dependencies">Dependencies</a></h3>
-		<ul>
-			<li>
-				<A href="../config/config.htm">Boost.Config</A>
-			<li>
-				<A href="ref.html">boost/ref.hpp</A>
-			<li>
-				<A href="mem_fn.html">boost/mem_fn.hpp</A>
-			<li>
-				<A href="../../boost/type.hpp">boost/type.hpp</A></li>
-		</ul>
-		<h3><a name="NumberOfArguments">Number of Arguments</a></h3>
-		<p>This implementation supports function objects with up to nine arguments. This is 
-			an implementation detail, not an inherent limitation of the design.</p>
-		<h3><a name="stdcall">"__stdcall", "__cdecl", "__fastcall", and "pascal" Support</a></h3>
-		<p>Some platforms allow several types of (member) functions that differ by their <b>calling 
-				convention</b> (the rules by which the function is invoked: how are 
-			arguments passed, how is the return value handled, and who cleans up the stack 
-			- if any.)</p>
-		<p>For example, Windows API functions and COM interface member functions use a 
-			calling convention known as <b>__stdcall</b>.Borland VCL components use <STRONG>__fastcall</STRONG>. 
-			Mac toolbox functions use a <b>pascal</b> calling convention.</p>
-		<p>To use <b>bind</b> with <b>__stdcall</b> functions, <b>#define</b> the macro <b>BOOST_BIND_ENABLE_STDCALL</b>
-			before including <b><boost/bind.hpp></b>.</p>
-		<p>To use <b>bind</b> with <b>__stdcall</b> <b>member</b> functions, <b>#define</b> 
-			the macro <b>BOOST_MEM_FN_ENABLE_STDCALL</b> before including <b><boost/bind.hpp></b>.</p>
-		<P>To use <B>bind</B> with <B>__fastcall</B> functions, <B>#define</B> the macro <B>BOOST_BIND_ENABLE_FASTCALL</B>
-			before including <B><boost/bind.hpp></B>.</P>
-		<P>To use <B>bind</B> with <B>__fastcall</B> <B>member</B> functions, <B>#define</B>
-			the macro <B>BOOST_MEM_FN_ENABLE_FASTCALL</B> before including <B><boost/bind.hpp></B>.</P>
-		<P>To use <b>bind</b> with <b>pascal</b> functions, <b>#define</b> the macro <b>BOOST_BIND_ENABLE_PASCAL</b>
-			before including <b><boost/bind.hpp></b>.</P>
-		<P>To use <B>bind</B> with <B>__cdecl</B> <B>member</B> functions, <B>#define</B> the 
-			macro <B>BOOST_MEM_FN_ENABLE_CDECL</B> before including <B><boost/bind.hpp></B>.</P>
-		<P><STRONG>It is best to define these macros in the project options, via -D on the 
-				command line, or as the first line in the translation unit (.cpp file) where 
-				bind is used.</STRONG> Not following this rule can lead to obscure errors 
-			when a header includes bind.hpp before the macro has been defined.</P>
-		<p>[Note: this is a non-portable extension. It is not part of the interface.]</p>
-		<p>[Note: Some compilers provide only minimal support for the <b>__stdcall</b> keyword.]</p>
-		<h3><a name="visit_each"><b>visit_each</b> support</a></h3>
-		<p>Function objects returned by <b>bind</b> support the experimental and 
-			undocumented, as of yet, <b>visit_each</b> enumeration interface.</p>
-		<p>See <A href="bind_visitor.cpp">bind_visitor.cpp</A> for an example.</p>
-		<h2><a name="Acknowledgements">Acknowledgements</a></h2>
-		<p>Earlier efforts that have influenced the library design:</p>
-		<ul>
-			<li>
-				The <a href="http://staff.cs.utu.fi/BL/">Binder Library</a>
-			by Jaakko J�rvi;
-			<li>
-				The <a href="../lambda/index.html">Lambda Library</a>
-			(now part of Boost) by Jaakko J�rvi and Gary Powell (the successor to the 
-			Binder Library);
-			<li>
-				<a href="http://more.sourceforge.net/">Extensions to the STL</a> by Petter 
-				Urkedal.</li></ul>
-		<p>Doug Gregor suggested that a visitor mechanism would allow <b>bind</b> to 
-			interoperate with a signal/slot library.</p>
-		<p>John Maddock fixed a MSVC-specific conflict between <b>bind</b> and the <A href="../type_traits/index.html">
-				type traits library</A>.</p>
-		<p>Numerous improvements were suggested during the formal review period by Ross 
-			Smith, Richard Crossley, Jens Maurer, Ed Brey, and others. Review manager was 
-			Darin Adler.
-		</p>
-		<p>The precise semantics of <b>bind</b> were refined in discussions with Jaakko 
-			J�rvi.
-		</p>
-		<p>Dave Abrahams fixed a MSVC-specific conflict between <b>bind</b> and the <A href="../utility/iterator_adaptors.htm">
-				iterator adaptors library</A>.
-		</p>
-		<p>Dave Abrahams modified <b>bind</b> and <b>mem_fn</b> to support void returns on 
-			deficient compilers.
-		</p>
-		<p>Mac Murrett contributed the "pascal" support enabled by 
-			BOOST_BIND_ENABLE_PASCAL.
-		</p>
-		<p>The alternative <tt>bind(type<R>(), f, ...)</tt> syntax was inspired by a 
-			discussion with Dave Abrahams and Joel de Guzman.</p>
-		<p><br>
-			<br>
-			<br>
-			<small>Copyright � 2001, 2002 by Peter Dimov and Multi Media Ltd. Copyright 
-				2003-2008 Peter Dimov. Distributed under the Boost Software License, Version 
-				1.0. See accompanying file <A href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</A> or 
-				copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>.</small></p>
-	</body>
-</html>
diff --git a/SRC/Boost/libs/bind/bind_as_compose.cpp b/SRC/Boost/libs/bind/bind_as_compose.cpp
deleted file mode 100755
index 36b5206..0000000
--- a/SRC/Boost/libs/bind/bind_as_compose.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_as_compose.cpp - function composition using bind.hpp
-//
-//  Version 1.00.0001 (2001-08-30)
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-#include <iostream>
-#include <string>
-
-std::string f(std::string const & x)
-{
-    return "f(" + x + ")";
-}
-
-std::string g(std::string const & x)
-{
-    return "g(" + x + ")";
-}
-
-std::string h(std::string const & x, std::string const & y)
-{
-    return "h(" + x + ", " + y + ")";
-}
-
-std::string k()
-{
-    return "k()";
-}
-
-template<class F> void test(F f)
-{
-    std::cout << f("x", "y") << '\n';
-}
-
-int main()
-{
-    using namespace boost;
-
-    // compose_f_gx
-
-    test( bind(f, bind(g, _1)) );
-
-    // compose_f_hxy
-
-    test( bind(f, bind(h, _1, _2)) );
-
-    // compose_h_fx_gx
-
-    test( bind(h, bind(f, _1), bind(g, _1)) );
-
-    // compose_h_fx_gy
-
-    test( bind(h, bind(f, _1), bind(g, _2)) );
-
-    // compose_f_k
-
-    test( bind(f, bind(k)) );
-
-    return 0;
-}
diff --git a/SRC/Boost/libs/bind/bind_visitor.cpp b/SRC/Boost/libs/bind/bind_visitor.cpp
deleted file mode 100755
index e586786..0000000
--- a/SRC/Boost/libs/bind/bind_visitor.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_visitor.cpp - tests bind.hpp with a visitor
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-#include <boost/ref.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-#include <typeinfo>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-//
-
-struct visitor
-{
-    template<class T> void operator()( boost::reference_wrapper<T> const & r ) const
-    {
-        std::cout << "Reference to " << typeid(T).name() << " @ " << &r.get() << " (with value " << r.get() << ")\n";
-    }
-
-    template<class T> void operator()( T const & t ) const
-    {
-        std::cout << "Value of type " << typeid(T).name() << " (with value " << t << ")\n";
-    }
-};
-
-int f(int & i, int & j, int)
-{
-    ++i;
-    --j;
-    return i + j;
-}
-
-int x = 2;
-int y = 7;
-
-int main()
-{
-    using namespace boost;
-
-    visitor v;
-    visit_each(v, bind<int>(bind(f, ref(x), _1, 42), ref(y)), 0);
-}
diff --git a/SRC/Boost/libs/bind/doc/Jamfile.v2 b/SRC/Boost/libs/bind/doc/Jamfile.v2
deleted file mode 100755
index da4e8de..0000000
--- a/SRC/Boost/libs/bind/doc/Jamfile.v2
+++ /dev/null
@@ -1,14 +0,0 @@
-#   Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-  
-#   Distributed under the Boost Software License, Version 1.0.
-#   (See accompanying file LICENSE_1_0.txt or copy at
-#   http://www.boost.org/LICENSE_1_0.txt)
-project boost/doc ;
-import boostbook : boostbook ;
-
-boostbook ref-doc : ref.xml 
-	:
-        <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html
-        <xsl:param>boost.root=../../../..
-	;
-
diff --git a/SRC/Boost/libs/bind/doc/ref.xml b/SRC/Boost/libs/bind/doc/ref.xml
deleted file mode 100755
index bbe504e..0000000
--- a/SRC/Boost/libs/bind/doc/ref.xml
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-<library name="Ref" dirname="ref" id="ref" last-revision="$Date: 2009-06-03 10:36:08 -0400 (Wed, 03 Jun 2009) $">
-  <libraryinfo>
-    <author>
-      <firstname>Jaakko</firstname>
-      <surname>Järvi</surname>
-    </author>
-    <author>
-      <firstname>Peter</firstname>
-      <surname>Dimov</surname>
-    </author>
-    <author>
-      <firstname>Douglas</firstname>
-      <surname>Gregor</surname>
-    </author>
-    <author>
-      <firstname>Dave</firstname>
-      <surname>Abrahams</surname>
-    </author>
-
-    <copyright>
-      <year>1999</year>
-      <year>2000</year>
-      <holder>Jaakko Järvi</holder>
-    </copyright>
-
-    <copyright>
-      <year>2001</year>
-      <year>2002</year>
-      <holder>Peter Dimov</holder>
-    </copyright>
-    
-    <copyright>
-      <year>2002</year>
-      <holder>David Abrahams</holder>
-    </copyright>
-
-    <legalnotice>
-      <para>Subject to the Boost Software License, Version 1.0. See 
-      accompanying file <filename>LICENSE_1_0.txt</filename> or copy at
-      <ulink url="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</ulink>.
-      </para>
-    </legalnotice>
-
-    <librarypurpose>A utility library for passing references to generic functions</librarypurpose>
-    <librarycategory name="category:higher-order"/>
-  </libraryinfo>
-
-<title>Boost.Ref</title>
-
-<section id="ref.intro">
-  <title>Introduction</title> 
-
-  <using-namespace name="boost"/>
-
-  <para>The Ref library is a small library that is useful for passing
-  references to function templates (algorithms) that would usually
-  take copies of their arguments. It defines the class template
-  <code><classname>boost::reference_wrapper<T></classname></code>,
-  two functions
-  <code><functionname>boost::ref</functionname></code> and
-  <code><functionname>boost::cref</functionname></code> that return
-  instances of <code>boost::reference_wrapper<T></code>, 
-  a function <code><functionname>boost::unwrap_ref</functionname></code>
-  that unwraps a <code>boost::reference_wrapper<T></code> or
-  returns a reference to any other type of object, and the
-  two traits classes
-  <code><classname>boost::is_reference_wrapper<T></classname></code>
-  and
-  <code><classname>boost::unwrap_reference<T></classname></code>.</para>
-
-  <para>The purpose of
-  <code>boost::reference_wrapper<T></code> is to
-  contain a reference to an object of type T. It is primarily used to
-  "feed" references to function templates (algorithms) that take their
-  parameter by value.</para>
-
-  <para>To support this usage,
-  <code>boost::reference_wrapper<T></code> provides an implicit
-  conversion to <code>T&</code>. This usually allows the function
-  templates to work on references unmodified.</para>
-
-  <para><code>boost::reference_wrapper<T></code> is
-  both CopyConstructible and Assignable (ordinary references are not
-  Assignable).</para>
-
-  <para>The expression <code>boost::ref(x)</code>
-  returns a
-  <code>boost::reference_wrapper<X>(x)</code> where X
-  is the type of x. Similarly,
-  <code>boost::cref(x)</code> returns a
-  <code>boost::reference_wrapper<X const>(x)</code>.</para>
-
-  <para>The expression <code>boost::unwrap_ref(x)</code>
-  returns a
-  <code>boost::unwrap_reference<X>::type&</code> where X
-  is the type of x.</para>
-
-  <para>The expression
-  <code>boost::is_reference_wrapper<T>::value</code>
-  is true if T is a <code>reference_wrapper</code>, and
-  false otherwise.</para>
-
-  <para>The type-expression
-  <code>boost::unwrap_reference<T>::type</code> is T::type if T
-  is a <code>reference_wrapper</code>, T otherwise.</para>
-</section>
-
-<library-reference>
-<header name="boost/ref.hpp">
-  <namespace name="boost">
-    <class name="reference_wrapper">
-      <template>
-        <template-type-parameter name="T"/>
-      </template>
-      <purpose>
-        Contains a reference to an object of type
-        <computeroutput>T</computeroutput>. 
-      </purpose>
-
-      <description>
-        <para><computeroutput><classname>reference_wrapper</classname></computeroutput>
-        is primarily used to "feed" references to function templates
-        (algorithms) that take their parameter by value.  It provides
-        an implicit conversion to
-        <computeroutput>T&</computeroutput>, which usually allows
-        the function templates to work on references
-        unmodified.</para>
-      </description>
-
-      <typedef name="type"><type>T</type></typedef>
-
-      <constructor specifiers="explicit">
-        <parameter name="t">
-          <paramtype>T&</paramtype>
-        </parameter>
-
-        <effects><simpara>Constructs a
-        <computeroutput><classname>reference_wrapper</classname></computeroutput>
-        object that stores a reference to
-        <computeroutput>t</computeroutput>.</simpara></effects>
-
-        <throws><simpara>Does not throw.</simpara></throws>
-      </constructor>    
-
-      <method-group name="access">
-        <method name="conversion-operator" cv="const">
-          <type>T&</type>
-          <returns><simpara>The stored reference.</simpara></returns>
-          <throws><simpara>Does not throw.</simpara></throws>
-        </method>
-
-        <method name="get" cv="const">
-          <type>T&</type>
-          <returns><simpara>The stored reference.</simpara></returns>
-          <throws><simpara>Does not throw.</simpara></throws>
-        </method>
-
-        <method name="get_pointer" cv="const">
-          <type>T*</type>
-          <returns><simpara>A pointer to the object referenced by the stored reference.</simpara></returns>
-          <throws><simpara>Does not throw.</simpara></throws>
-        </method>
-      </method-group>
-
-      <free-function-group name="constructors">
-        <function name="ref">
-          <type>reference_wrapper<T></type>
-          <parameter name="t">
-            <paramtype>T&</paramtype>
-          </parameter>
-
-          <returns><simpara><computeroutput><classname>reference_wrapper</classname><T>(t)</computeroutput></simpara></returns>
-
-          <throws><simpara>Does not throw.</simpara></throws>
-        </function>
-
-        <function name="cref">
-          <type>reference_wrapper<T const></type>
-          <parameter name="t">
-            <paramtype>T const&</paramtype>
-          </parameter>
-
-          <returns><simpara><computeroutput><classname>reference_wrapper</classname><T const>(t)</computeroutput></simpara></returns>
-
-          <throws><simpara>Does not throw.</simpara></throws>
-        </function>
-      </free-function-group>
-
-      <free-function-group name="access">
-        <function name="unwrap_ref">
-          <type>unwrap_reference<T>::type&</type>
-          <parameter name="t">
-            <paramtype>T&</paramtype>
-          </parameter>
-
-          <returns><simpara><computeroutput><classname>unwrap_reference</classname><T>::type&(t)</computeroutput></simpara></returns>
-
-          <throws><simpara>Does not throw.</simpara></throws>
-        </function>
-      </free-function-group>
-    </class>
-
-    <class name="is_reference_wrapper">
-      <template>
-        <template-type-parameter name="T"/>
-      </template>
-
-      <purpose>Determine if a type <computeroutput>T</computeroutput> is an instantiation of <computeroutput><classname>reference_wrapper</classname></computeroutput>.</purpose>
-
-      <description>
-        <para>The <computeroutput>value</computeroutput> static
-        constant will be <computeroutput>true</computeroutput> iff the
-        type <computeroutput>T</computeroutput> is a specialization of
-        <computeroutput><classname>reference_wrapper</classname></computeroutput>.</para>
-      </description>
-
-      <static-constant name="value">
-        <type>bool</type>
-        <default><emphasis>unspecified</emphasis></default>
-      </static-constant>
-    </class>
-
-    <class name="unwrap_reference">
-      <template>
-        <template-type-parameter name="T"/>
-      </template>
-  
-      <purpose>Find the type in a <computeroutput><classname>reference_wrapper</classname></computeroutput>.</purpose>
-
-      <description>
-        <para>The typedef <computeroutput>type</computeroutput> is
-        <computeroutput>T::type</computeroutput> if
-        <computeroutput>T</computeroutput> is a
-        <computeroutput><classname>reference_wrapper</classname></computeroutput>,
-        <computeroutput>T</computeroutput> otherwise.</para>
-      </description>
-
-      <typedef name="type"><type><emphasis>unspecified</emphasis></type></typedef>
-    </class>
-  </namespace>
-</header>
-</library-reference>
-
-<section id="ref.ack">
-  <title>Acknowledgements</title>
-
-  <using-namespace name="boost"/> 
-
-  <para><functionname>ref</functionname> and <functionname>cref</functionname>
-  were originally part of the <libraryname>Tuple</libraryname> library
-  by Jaakko Järvi. They were "promoted to boost:: status" by
-  Peter Dimov because they are generally useful.  Douglas Gregor and
-  Dave Abrahams contributed
-  <classname>is_reference_wrapper</classname> and
-  <classname>unwrap_reference</classname>.  Frank Mori Hess and Ronald
-  Garcia contributed <functionname>boost::unwrap_ref</functionname></para>
-</section>
-
-</library>
diff --git a/SRC/Boost/libs/bind/index.html b/SRC/Boost/libs/bind/index.html
deleted file mode 100755
index ee41f69..0000000
--- a/SRC/Boost/libs/bind/index.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<html>
-<head>
-<meta http-equiv="refresh" content="0; URL=bind.html">
-</head>
-<body>
-Automatic redirection failed, please go to
-<a href="bind.html">bind.html</a> or
-<a href="mem_fn.html">mem_fn.html</a>.
-</body>
-</html>
-<!--
-	� Copyright Beman Dawes, 2001
-	Distributed under the Boost Software License, Version 1.0.
-	See accompanying file LICENSE_1_0.txt or copy at
-	http://www.boost.org/LICENSE_1_0.txt
--->
diff --git a/SRC/Boost/libs/bind/mem_fn.html b/SRC/Boost/libs/bind/mem_fn.html
deleted file mode 100755
index 060970a..0000000
--- a/SRC/Boost/libs/bind/mem_fn.html
+++ /dev/null
@@ -1,406 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-	<head>
-		<title>Boost: mem_fn.hpp documentation</title>
-		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	</head>
-	<body bgcolor="white" style="MARGIN-LEFT: 5%; MARGIN-RIGHT: 5%">
-		<table border="0" width="100%">
-			<tr>
-				<td width="277"><A href="../../index.htm"> <img src="../../boost.png" alt="boost.png (6897 bytes)" width="277" height="86" border="0"></A>
-				</td>
-				<td align="center">
-					<h1>mem_fn.hpp</h1>
-				</td>
-			</tr>
-			<tr>
-				<td colspan="2" height="64"> </td>
-			</tr>
-		</table>
-		<h2>Contents</h2>
-		<h3 style="MARGIN-LEFT: 20pt"><a href="#Purpose">Purpose</a></h3>
-		<h3 style="MARGIN-LEFT: 20pt"><a href="#FAQ">Frequently Asked Questions</a></h3>
-		<h4 style="MARGIN-LEFT: 40pt"><a href="#Q1">Can <b>mem_fn</b> be used instead of the 
-				standard <b>std::mem_fun[_ref]</b> adaptors?</a></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><a href="#Q2">Should I replace every occurence of <b>std::mem_fun[_ref]</b>
-				with <b>mem_fn</b> in my existing code?</a></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><a href="#Q3">Does <b>mem_fn</b> work with COM methods?</a></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><a href="#Q4">Why isn't BOOST_MEM_FN_ENABLE_STDCALL 
-				defined automatically?</a></h4>
-		<h3 style="MARGIN-LEFT: 20pt"><a href="#Interface">Interface</a></h3>
-		<h4 style="MARGIN-LEFT: 40pt"><a href="#Synopsis">Synopsis</a></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><a href="#CommonRequirements">Common requirements</a></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><a href="#get_pointer">get_pointer</a></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><a href="#mem_fn">mem_fn</a></h4>
-		<h3 style="MARGIN-LEFT: 20pt"><a href="#Implementation">Implementation</a></h3>
-		<h4 style="MARGIN-LEFT: 40pt"><a href="#Files">Files</a></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><a href="#Dependencies">Dependencies</a></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><a href="#NumberOfArguments">Number of Arguments</a></h4>
-		<h4 style="MARGIN-LEFT: 40pt"><a href="#stdcall">"__stdcall", "__cdecl" and 
-				"__fastcall" Support</a></h4>
-		<h3 style="MARGIN-LEFT: 20pt"><a href="#Acknowledgements">Acknowledgements</a></h3>
-		<h2><a name="Purpose">Purpose</a></h2>
-		<p>
-			<b>boost::mem_fn</b> is a generalization of the standard functions <b>std::mem_fun</b>
-			and <b>std::mem_fun_ref</b>. It supports member function pointers with more 
-			than one argument, and the returned function object can take a pointer, a 
-			reference, or a smart pointer to an object instance as its first argument. <STRONG>mem_fn</STRONG>
-			also supports pointers to data members by treating them as functions taking no 
-			arguments and returning a (const) reference to the member.
-		</p>
-		<p>
-			The purpose of <b>mem_fn</b> is twofold. First, it allows users to invoke a 
-			member function on a container with the familiar
-		</p>
-		<pre>
-    std::for_each(v.begin(), v.end(), boost::mem_fn(&Shape::draw));
-</pre>
-		<p>
-			syntax, even when the container stores smart pointers.
-		</p>
-		<p>
-			Second, it can be used as a building block by library developers that want to 
-			treat a pointer to member function as a function object. A library might define 
-			an enhanced <b>for_each</b> algorithm with an overload of the form:
-		</p>
-		<pre>
-template<class It, class R, class T> void for_each(It first, It last, R (T::*pmf) ())
-{
-    std::for_each(first, last, boost::mem_fn(pmf));
-}
-</pre>
-		<p>
-			that will allow the convenient syntax:
-		</p>
-		<pre>
-    for_each(v.begin(), v.end(), &Shape::draw);
-</pre>
-		<p>
-			When documenting the feature, the library author will simply state:
-		</p>
-		<h4 style="MARGIN-LEFT: 20pt">template<class It, class R, class T> void 
-			for_each(It first, It last, R (T::*pmf) ());</h4>
-		<p style="MARGIN-LEFT: 20pt">
-			<b>Effects:</b> equivalent to std::for_each(first, last, boost::mem_fn(pmf));
-		</p>
-		<p>
-			where <b>boost::mem_fn</b> can be a link to this page. See <a href="bind.html">the 
-				documentation of <b>bind</b></a> for an example.
-		</p>
-		<p>
-			<b>mem_fn</b> takes one argument, a pointer to a member, and returns a function 
-			object suitable for use with standard or user-defined algorithms:
-		</p>
-		<pre>
-struct X
-{
-    void f();
-};
-
-void g(std::vector<X> & v)
-{
-    std::for_each(v.begin(), v.end(), boost::mem_fn(&X::f));
-};
-
-void h(std::vector<X *> const & v)
-{
-    std::for_each(v.begin(), v.end(), boost::mem_fn(&X::f));
-};
-
-void k(std::vector<boost::shared_ptr<X> > const & v)
-{
-    std::for_each(v.begin(), v.end(), boost::mem_fn(&X::f));
-};
-</pre>
-		<p>
-			The returned function object takes the same arguments as the input member 
-			function plus a "flexible" first argument that represents the object instance.
-		</p>
-		<p>
-			When the function object is invoked with a first argument <b>x</b> that is 
-			neither a pointer nor a reference to the appropriate class (<b>X</b> in the 
-			example above), it uses <tt>get_pointer(x)</tt> to obtain a pointer from <b>x</b>. 
-			Library authors can "register" their smart pointer classes by supplying an 
-			appropriate <b>get_pointer</b> overload, allowing <b>mem_fn</b> to recognize 
-			and support them.
-		</p>
-		<p>
-			[Note: <b>get_pointer</b> is not restricted to return a pointer. Any object 
-			that can be used in a member function call expression <tt>(x->*pmf)(...)</tt>
-			will work.]
-		</p>
-		<p>
-			[Note: the library uses an unqualified call to <b>get_pointer</b>. Therefore, 
-			it will find, through argument-dependent lookup, <b>get_pointer</b> overloads 
-			that are defined in the same namespace as the corresponding smart pointer 
-			class, in addition to any <b>boost::get_pointer</b> overloads.]
-		</p>
-		<p>
-			All function objects returned by <b>mem_fn</b> expose a <b>result_type</b> typedef 
-			that represents the return type of the member function. For data members, <STRONG>result_type</STRONG>
-			is defined as the type of the member.
-		</p>
-		<h2><a name="FAQ">Frequently Asked Questions</a></h2>
-		<h3><a name="Q1">Can <b>mem_fn</b> be used instead of the standard <b>std::mem_fun[_ref]</b>
-				adaptors?</a></h3>
-		<p>
-			Yes. For simple uses, <b>mem_fn</b> provides additional functionality that the 
-			standard adaptors do not. Complicated expressions that use <b>std::bind1st</b>, <b>std::bind2nd</b>
-			or <a href="../compose/index.htm"><b>Boost.Compose</b></a> along with the 
-			standard adaptors can be rewritten using <a href="bind.html"><b>boost::bind</b></a>
-			that automatically takes advantage of <b>mem_fn</b>.
-		</p>
-		<h3><a name="Q2">Should I replace every occurence of <b>std::mem_fun[_ref]</b> with <b>mem_fn</b>
-				in my existing code?</a></h3>
-		<p>
-			No, unless you have good reasons to do so. <b>mem_fn</b> is not 100% compatible 
-			with the standard adaptors, although it comes pretty close. In particular, <b>mem_fn</b>
-			does not return objects of type <b>std::[const_]mem_fun[1][_ref]_t</b>, as the 
-			standard adaptors do, and it is not possible to fully describe the type of the 
-			first argument using the standard <b>argument_type</b> and <b>first_argument_type</b>
-			nested typedefs. Libraries that need adaptable function objects in order to 
-			function might not like <b>mem_fn</b>.
-		</p>
-		<h3><a name="Q3">Does <b>mem_fn</b> work with COM methods?</a></h3>
-		<p>
-			Yes, if you <a href="#stdcall">#define BOOST_MEM_FN_ENABLE_STDCALL</a>.
-		</p>
-		<h3><a name="Q4">Why isn't BOOST_MEM_FN_ENABLE_STDCALL defined automatically?</a></h3>
-		<p>
-			Non-portable extensions, in general, should default to off to prevent vendor 
-			lock-in. Had BOOST_MEM_FN_ENABLE_STDCALL been defined automatically, you could 
-			have accidentally taken advantage of it without realizing that your code is, 
-			perhaps, no longer portable. In addition, it is possible for the default 
-			calling convention to be __stdcall, in which case enabling __stdcall support 
-			will result in duplicate definitions.
-		</p>
-		<h2><a name="Interface">Interface</a></h2>
-		<h3><a name="Synopsis">Synopsis</a></h3>
-		<pre>
-namespace boost
-{
-
-template<class T> T * <a href="#get_pointer_1">get_pointer</a>(T * p);
-
-template<class R, class T> <i>unspecified-1</i> <a href="#mem_fn_1">mem_fn</a>(R (T::*pmf) ());
-
-template<class R, class T> <i>unspecified-2</i> <a href="#mem_fn_2">mem_fn</a>(R (T::*pmf) () const);
-
-template<class R, class T> <i>unspecified-2-1</i> <a href="#mem_fn_2_1">mem_fn</a>(R T::*pm);
-
-template<class R, class T, class A1> <i>unspecified-3</i> <a href="#mem_fn_3">mem_fn</a>(R (T::*pmf) (A1));
-
-template<class R, class T, class A1> <i>unspecified-4</i> <a href="#mem_fn_4">mem_fn</a>(R (T::*pmf) (A1) const);
-
-template<class R, class T, class A1, class A2> <i>unspecified-5</i> <a href="#mem_fn_5">mem_fn</a>(R (T::*pmf) (A1, A2));
-
-template<class R, class T, class A1, class A2> <i>unspecified-6</i> <a href="#mem_fn_6">mem_fn</a>(R (T::*pmf) (A1, A2) const);
-
-// implementation defined number of additional overloads for more arguments
-
-}
-</pre>
-		<h3><a name="CommonRequirements">Common requirements</a></h3>
-		<p>
-			All <tt><i>unspecified-N</i></tt> types mentioned in the Synopsis are <b>CopyConstructible</b>
-			and <b>Assignable</b>. Their copy constructors and assignment operators do not 
-			throw exceptions. <tt><i>unspecified-N</i>::result_type</tt> is defined as the 
-			return type of the member function pointer passed as an argument to <b>mem_fn</b>
-			(<b>R</b> in the Synopsis.) <tt><i>unspecified-2-1</i>::result_type</tt> is 
-			defined as <tt>R</tt>.
-		</p>
-		<h3><a name="get_pointer">get_pointer</a></h3>
-		<h4><a name="get_pointer_1">template<class T> T * get_pointer(T * p)</a></h4>
-		<blockquote>
-			<p>
-				<b>Returns:</b> <tt>p</tt>.
-			</p>
-			<p>
-				<b>Throws:</b> Nothing.
-			</p>
-		</blockquote>
-		<h3><a name="mem_fn">mem_fn</a></h3>
-		<h4><a name="mem_fn_1">template<class R, class T> <i>unspecified-1</i> mem_fn(R 
-				(T::*pmf) ())</a></h4>
-		<blockquote>
-			<p>
-				<b>Returns:</b> a function object <i>f</i> such that the expression <tt><i>f(t)</i></tt>
-				is equivalent to <tt>(t.*pmf)()</tt> when <i>t</i> is an l-value of type <STRONG>T </STRONG>
-				or derived, <tt>(get_pointer(t)->*pmf)()</tt> otherwise.
-			</p>
-			<p>
-				<b>Throws:</b> Nothing.
-			</p>
-		</blockquote>
-		<h4><a name="mem_fn_2">template<class R, class T> <i>unspecified-2</i> mem_fn(R 
-				(T::*pmf) () const)</a></h4>
-		<blockquote>
-			<p>
-				<b>Returns:</b> a function object <i>f</i> such that the expression <tt><i>f(t)</i></tt>
-				is equivalent to <tt>(t.*pmf)()</tt> when <i>t</i> is of type <STRONG>T</STRONG>
-				<EM>[const]<STRONG> </STRONG></EM>or derived, <tt>(get_pointer(t)->*pmf)()</tt>
-				otherwise.
-			</p>
-			<p>
-				<b>Throws:</b> Nothing.
-			</p>
-		</blockquote>
-		<h4><a name="mem_fn_2_1">template<class R, class T> <i>unspecified-2-1</i> mem_fn(R 
-				T::*pm)</a></h4>
-		<blockquote>
-			<p>
-				<b>Returns:</b> a function object <i>f</i> such that the expression <tt><i>f(t)</i></tt>
-				is equivalent to <tt>t.*pm</tt> when <i>t</i> is of type <STRONG>T</STRONG> <EM>[const]<STRONG>
-					</STRONG></EM>or derived, <tt>get_pointer(t)->*pm</tt> otherwise.
-			</p>
-			<p>
-				<b>Throws:</b> Nothing.
-			</p>
-		</blockquote>
-		<h4><a name="mem_fn_3">template<class R, class T, class A1> <i>unspecified-3</i> mem_fn(R 
-				(T::*pmf) (A1))</a></h4>
-		<blockquote>
-			<p>
-				<b>Returns:</b> a function object <i>f</i> such that the expression <tt><i>f(t, a1)</i></tt>
-				is equivalent to <tt>(t.*pmf)(a1)</tt> when <i>t</i> is an l-value of type <STRONG>T
-				</STRONG>or derived, <tt>(get_pointer(t)->*pmf)(a1)</tt> otherwise.
-			</p>
-			<p>
-				<b>Throws:</b> Nothing.
-			</p>
-		</blockquote>
-		<h4><a name="mem_fn_4">template<class R, class T, class A1> <i>unspecified-4</i> mem_fn(R 
-				(T::*pmf) (A1) const)</a></h4>
-		<blockquote>
-			<p>
-				<b>Returns:</b> a function object <i>f</i> such that the expression <tt><i>f(t, a1)</i></tt>
-				is equivalent to <tt>(t.*pmf)(a1)</tt> when <i>t</i> is of type <STRONG>T</STRONG>
-				<EM>[const]<STRONG> </STRONG></EM>or derived, <tt>(get_pointer(t)->*pmf)(a1)</tt>
-				otherwise.
-			</p>
-			<p>
-				<b>Throws:</b> Nothing.
-			</p>
-		</blockquote>
-		<h4><a name="mem_fn_5">template<class R, class T, class A1, class A2> <i>unspecified-5</i>
-				mem_fn(R (T::*pmf) (A1, A2))</a></h4>
-		<blockquote>
-			<p>
-				<b>Returns:</b> a function object <i>f</i> such that the expression <tt><i>f(t, a1, a2)</i></tt>
-				is equivalent to <tt>(t.*pmf)(a1, a2)</tt> when <i>t</i> is an l-value of type <STRONG>
-					T</STRONG> or derived, <tt>(get_pointer(t)->*pmf)(a1, a2)</tt> otherwise.
-			</p>
-			<p>
-				<b>Throws:</b> Nothing.
-			</p>
-		</blockquote>
-		<h4><a name="mem_fn_6">template<class R, class T, class A1, class A2> <i>unspecified-6</i>
-				mem_fn(R (T::*pmf) (A1, A2) const)</a></h4>
-		<blockquote>
-			<p>
-				<b>Returns:</b> a function object <i>f</i> such that the expression <tt><i>f(t, a1, a2)</i></tt>
-				is equivalent to <tt>(t.*pmf)(a1, a2)</tt> when <i>t</i> is of type <STRONG>T</STRONG>
-				<EM>[const]</EM> or derived, <tt>(get_pointer(t)->*pmf)(a1, a2)</tt> otherwise.
-			</p>
-			<p>
-				<b>Throws:</b> Nothing.
-			</p>
-		</blockquote>
-		<h2><a name="Implementation">Implementation</a></h2>
-		<h3><a name="Files">Files</a></h3>
-		<ul>
-			<li>
-				<a href="../../boost/mem_fn.hpp">boost/mem_fn.hpp</a>
-			(main header)
-			<li>
-				<a href="../../boost/bind/mem_fn_cc.hpp">boost/bind/mem_fn_cc.hpp</a>
-			(used by mem_fn.hpp, do not include directly)
-			<li>
-				<a href="../../boost/bind/mem_fn_vw.hpp">boost/bind/mem_fn_vw.hpp</a>
-			(used by mem_fn.hpp, do not include directly)
-			<li>
-				<a href="../../boost/bind/mem_fn_template.hpp">boost/bind/mem_fn_template.hpp</a>
-			(used by mem_fn.hpp, do not include directly)
-			<li>
-				<a href="test/mem_fn_test.cpp">libs/bind/test/mem_fn_test.cpp</a>
-			(test)
-			<li>
-				<a href="test/mem_fn_derived_test.cpp">libs/bind/test/mem_fn_derived_test.cpp</a>
-			(test with derived objects)
-			<li>
-				<a href="test/mem_fn_fastcall_test.cpp">libs/bind/test/mem_fn_fastcall_test.cpp</a>
-			(test for __fastcall)
-			<li>
-				<a href="test/mem_fn_stdcall_test.cpp">libs/bind/test/mem_fn_stdcall_test.cpp</a>
-			(test for __stdcall)
-			<li>
-				<a href="test/mem_fn_void_test.cpp">libs/bind/test/mem_fn_void_test.cpp</a> (test 
-				for void returns)</li>
-		</ul>
-		<h3><a name="Dependencies">Dependencies</a></h3>
-		<ul>
-			<li>
-				<a href="../config/config.htm">Boost.Config</a></li>
-		</ul>
-		<h3><a name="NumberOfArguments">Number of Arguments</a></h3>
-		<p>
-			This implementation supports member functions with up to eight arguments. This 
-			is not an inherent limitation of the design, but an implementation detail.
-		</p>
-		<h3><a name="stdcall">"__stdcall", "__cdecl" and "__fastcall" Support</a></h3>
-		<p>
-			Some platforms allow several types of member functions that differ by their <b>calling 
-				convention</b> (the rules by which the function is invoked: how are 
-			arguments passed, how is the return value handled, and who cleans up the stack 
-			- if any.)
-		</p>
-		<p>
-			For example, Windows API functions and COM interface member functions use a 
-			calling convention known as <b>__stdcall</b>. Borland VCL components use <STRONG>__fastcall</STRONG>. 
-			UDK, the component model of OpenOffice.org, uses <STRONG>__cdecl</STRONG>.
-		</p>
-		<p>
-			To use <b>mem_fn</b> with <b>__stdcall</b> member functions, <b>#define</b> the 
-			macro <b>BOOST_MEM_FN_ENABLE_STDCALL</b> before including, directly or 
-			indirectly, <b><boost/mem_fn.hpp></b>.
-		</p>
-		<P>To use <B>mem_fn</B> with <B>__fastcall</B> member functions, <B>#define</B> the 
-			macro <B>BOOST_MEM_FN_ENABLE_FASTCALL</B> before including <B><boost/mem_fn.hpp></B>.
-		</P>
-		<P>To use <B>mem_fn</B> with <B>__cdecl</B> member functions, <B>#define</B> the 
-			macro <B>BOOST_MEM_FN_ENABLE_CDECL</B> before including <B><boost/mem_fn.hpp></B>.
-		</P>
-		<P><STRONG>It is best to define these macros in the project options, via -D on the 
-				command line, or as the first line in the translation unit (.cpp file) where 
-				mem_fn is used.</STRONG> Not following this rule can lead to obscure errors 
-			when a header includes mem_fn.hpp before the macro has been defined.</P>
-		<P>[Note: this is a non-portable extension. It is not part of the interface.]
-		</P>
-		<p>
-			[Note: Some compilers provide only minimal support for the <b>__stdcall</b> keyword.]
-		</p>
-		<h2><a name="Acknowledgements">Acknowledgements</a></h2>
-		<p>
-			Rene Jager's initial suggestion of using traits classes to make <b>mem_fn</b> adapt 
-			to user-defined smart pointers inspired the <b>get_pointer</b>-based design.
-		</p>
-		<p>
-			Numerous improvements were suggested during the formal review period by Richard 
-			Crossley, Jens Maurer, Ed Brey, and others. Review manager was Darin Adler.
-		</p>
-		<p>
-			Steve Anichini pointed out that COM interfaces use <b>__stdcall</b>.
-		</p>
-		<p>
-			Dave Abrahams modified <b>bind</b> and <b>mem_fn</b> to support void returns on 
-			deficient compilers.
-		</p>
-		<p>Daniel Boelzle pointed out that UDK uses <STRONG>__cdecl</STRONG>.<br>
-			<br>
-			<br>
-			<small>Copyright � 2001, 2002 by Peter Dimov and Multi Media Ltd. Copyright 
-				2003-2005 Peter Dimov. Distributed under the Boost Software License, Version 
-				1.0. See accompanying file <A href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</A> or 
-				copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>.</small></p>
-	</body>
-</html>
diff --git a/SRC/Boost/libs/bind/ref.html b/SRC/Boost/libs/bind/ref.html
deleted file mode 100755
index 2573efe..0000000
--- a/SRC/Boost/libs/bind/ref.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html>
-<head>
-<meta http-equiv="refresh" content="0; URL=../../doc/html/ref.html">
-</head>
-<body>
-Automatic redirection failed, please go to
-<a href="../../doc/html/ref.html">../../doc/html/ref.html</a>
-</body>
-</html>
-<!--
-	� Copyright Beman Dawes, 2001
-	Distributed under the Boost Software License, Version 1.0.
-	See accompanying file LICENSE_1_0.txt or copy at
-	http://www.boost.org/LICENSE_1_0.txt
--->
diff --git a/SRC/Boost/libs/bind/test/Jamfile.v2 b/SRC/Boost/libs/bind/test/Jamfile.v2
deleted file mode 100755
index 95db94c..0000000
--- a/SRC/Boost/libs/bind/test/Jamfile.v2
+++ /dev/null
@@ -1,47 +0,0 @@
-#  Boost.Bind Library test Jamfile
-#
-#  Copyright (c) 2003-2006 Peter Dimov
-#
-#  Distributed under the Boost Software License, Version 1.0. (See
-#  accompanying file LICENSE_1_0.txt or copy at
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-# bring in rules for testing
-import testing ;
-
-test-suite "bind"
-    : [ run bind_test.cpp ]
-      [ run bind_dm_test.cpp ]
-      [ run bind_eq_test.cpp ]
-      [ run bind_const_test.cpp ]
-      [ run bind_cv_test.cpp ]
-      [ run bind_stateful_test.cpp ]
-      [ run bind_dm2_test.cpp ]
-      [ run bind_not_test.cpp ]
-      [ run bind_rel_test.cpp ]
-      [ run bind_function_test.cpp ]
-      [ run bind_lookup_problem_test.cpp ]
-      [ run bind_rv_sp_test.cpp ]
-      [ compile bind_unary_addr.cpp ]
-      [ run bind_dm3_test.cpp ]
-      [ run bind_visit_test.cpp ]
-      [ run bind_placeholder_test.cpp ]
-      [ run bind_rvalue_test.cpp ]
-      [ run bind_and_or_test.cpp ]
-      [ run mem_fn_test.cpp ]
-      [ run mem_fn_void_test.cpp ]
-      [ run mem_fn_derived_test.cpp ]
-      [ run mem_fn_eq_test.cpp ]
-      [ run mem_fn_dm_test.cpp ]
-      [ run mem_fn_rv_test.cpp ]
-      [ run ref_fn_test.cpp ]
-      [ run bind_fnobj2_test.cpp ]
-      [ run bind_fn2_test.cpp ]
-      [ run bind_mf2_test.cpp ]
-      [ run bind_eq2_test.cpp ]
-      [ run mem_fn_ref_test.cpp ]
-      [ run bind_ref_test.cpp ]
-      [ run bind_eq3_test.cpp ]
-      [ run protect_test.cpp ]
-      [ run mem_fn_unary_addr_test.cpp ]
-    ;
diff --git a/SRC/Boost/libs/bind/test/bind_and_or_test.cpp b/SRC/Boost/libs/bind/test/bind_and_or_test.cpp
deleted file mode 100755
index 61a0708..0000000
--- a/SRC/Boost/libs/bind/test/bind_and_or_test.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_and_or_test.cpp - &&, || operators
-//
-//  Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-bool f( bool x )
-{
-    return x;
-}
-
-bool g( bool x )
-{
-    return !x;
-}
-
-bool h()
-{
-    BOOST_ERROR( "Short-circuit evaluation failure" );
-    return false;
-}
-
-template< class F, class A1, class A2, class R > void test( F f, A1 a1, A2 a2, R r )
-{
-    BOOST_TEST( f( a1, a2 ) == r );
-}
-
-int main()
-{
-    // &&
-
-    test( boost::bind( f, true ) && boost::bind( g, true ), false, false, f( true ) && g( true ) );
-    test( boost::bind( f, true ) && boost::bind( g, false ), false, false, f( true ) && g( false ) );
-
-    test( boost::bind( f, false ) && boost::bind( h ), false, false, f( false ) && h() );
-
-    test( boost::bind( f, _1 ) && boost::bind( g, _2 ), true, true, f( true ) && g( true ) );
-    test( boost::bind( f, _1 ) && boost::bind( g, _2 ), true, false, f( true ) && g( false ) );
-
-    test( boost::bind( f, _1 ) && boost::bind( h ), false, false, f( false ) && h() );
-
-    // ||
-
-    test( boost::bind( f, false ) || boost::bind( g, true ), false, false, f( false ) || g( true ) );
-    test( boost::bind( f, false ) || boost::bind( g, false ), false, false, f( false ) || g( false ) );
-
-    test( boost::bind( f, true ) || boost::bind( h ), false, false, f( true ) || h() );
-
-    test( boost::bind( f, _1 ) || boost::bind( g, _2 ), false, true, f( false ) || g( true ) );
-    test( boost::bind( f, _1 ) || boost::bind( g, _2 ), false, false, f( false ) || g( false ) );
-
-    test( boost::bind( f, _1 ) || boost::bind( h ), true, false, f( true ) || h() );
-
-    //
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_cdecl_mf_test.cpp b/SRC/Boost/libs/bind/test/bind_cdecl_mf_test.cpp
deleted file mode 100755
index 9d04703..0000000
--- a/SRC/Boost/libs/bind/test/bind_cdecl_mf_test.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_cdecl_mf_test.cpp - test for bind.hpp + __cdecl (member functions)
-//
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#define BOOST_MEM_FN_ENABLE_CDECL
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    mutable unsigned int hash;
-
-    X(): hash(0) {}
-
-    int __cdecl f0() { f1(17); return 0; }
-    int __cdecl g0() const { g1(17); return 0; }
-
-    int __cdecl f1(int a1) { hash = (hash * 17041 + a1) % 32768; return 0; }
-    int __cdecl g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; return 0; }
-
-    int __cdecl f2(int a1, int a2) { f1(a1); f1(a2); return 0; }
-    int __cdecl g2(int a1, int a2) const { g1(a1); g1(a2); return 0; }
-
-    int __cdecl f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); return 0; }
-    int __cdecl g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); return 0; }
-
-    int __cdecl f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); return 0; }
-    int __cdecl g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); return 0; }
-
-    int __cdecl f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); return 0; }
-    int __cdecl g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); return 0; }
-
-    int __cdecl f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); return 0; }
-    int __cdecl g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); return 0; }
-
-    int __cdecl f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); return 0; }
-    int __cdecl g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); return 0; }
-
-    int __cdecl f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); return 0; }
-    int __cdecl g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); return 0; }
-};
-
-void member_function_test()
-{
-    using namespace boost;
-
-    X x;
-
-    // 0
-
-    bind(&X::f0, &x)();
-    bind(&X::f0, ref(x))();
-
-    bind(&X::g0, &x)();
-    bind(&X::g0, x)();
-    bind(&X::g0, ref(x))();
-
-    // 1
-
-    bind(&X::f1, &x, 1)();
-    bind(&X::f1, ref(x), 1)();
-
-    bind(&X::g1, &x, 1)();
-    bind(&X::g1, x, 1)();
-    bind(&X::g1, ref(x), 1)();
-
-    // 2
-
-    bind(&X::f2, &x, 1, 2)();
-    bind(&X::f2, ref(x), 1, 2)();
-
-    bind(&X::g2, &x, 1, 2)();
-    bind(&X::g2, x, 1, 2)();
-    bind(&X::g2, ref(x), 1, 2)();
-
-    // 3
-
-    bind(&X::f3, &x, 1, 2, 3)();
-    bind(&X::f3, ref(x), 1, 2, 3)();
-
-    bind(&X::g3, &x, 1, 2, 3)();
-    bind(&X::g3, x, 1, 2, 3)();
-    bind(&X::g3, ref(x), 1, 2, 3)();
-
-    // 4
-
-    bind(&X::f4, &x, 1, 2, 3, 4)();
-    bind(&X::f4, ref(x), 1, 2, 3, 4)();
-
-    bind(&X::g4, &x, 1, 2, 3, 4)();
-    bind(&X::g4, x, 1, 2, 3, 4)();
-    bind(&X::g4, ref(x), 1, 2, 3, 4)();
-
-    // 5
-
-    bind(&X::f5, &x, 1, 2, 3, 4, 5)();
-    bind(&X::f5, ref(x), 1, 2, 3, 4, 5)();
-
-    bind(&X::g5, &x, 1, 2, 3, 4, 5)();
-    bind(&X::g5, x, 1, 2, 3, 4, 5)();
-    bind(&X::g5, ref(x), 1, 2, 3, 4, 5)();
-
-    // 6
-
-    bind(&X::f6, &x, 1, 2, 3, 4, 5, 6)();
-    bind(&X::f6, ref(x), 1, 2, 3, 4, 5, 6)();
-
-    bind(&X::g6, &x, 1, 2, 3, 4, 5, 6)();
-    bind(&X::g6, x, 1, 2, 3, 4, 5, 6)();
-    bind(&X::g6, ref(x), 1, 2, 3, 4, 5, 6)();
-
-    // 7
-
-    bind(&X::f7, &x, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&X::f7, ref(x), 1, 2, 3, 4, 5, 6, 7)();
-
-    bind(&X::g7, &x, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&X::g7, x, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&X::g7, ref(x), 1, 2, 3, 4, 5, 6, 7)();
-
-    // 8
-
-    bind(&X::f8, &x, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&X::f8, ref(x), 1, 2, 3, 4, 5, 6, 7, 8)();
-
-    bind(&X::g8, &x, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&X::g8, x, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&X::g8, ref(x), 1, 2, 3, 4, 5, 6, 7, 8)();
-
-    BOOST_TEST( x.hash == 23558 );
-}
-
-int main()
-{
-    member_function_test();
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_const_test.cpp b/SRC/Boost/libs/bind/test/bind_const_test.cpp
deleted file mode 100755
index 05d0918..0000000
--- a/SRC/Boost/libs/bind/test/bind_const_test.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_const_test.cpp - test const bind objects
-//
-//  Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd.
-//  Copyright (c) 2001 David Abrahams
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-#include <boost/ref.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-//
-
-long f_0()
-{
-    return 17041L;
-}
-
-long f_1(long a)
-{
-    return a;
-}
-
-long f_2(long a, long b)
-{
-    return a + 10 * b;
-}
-
-long f_3(long a, long b, long c)
-{
-    return a + 10 * b + 100 * c;
-}
-
-long f_4(long a, long b, long c, long d)
-{
-    return a + 10 * b + 100 * c + 1000 * d;
-}
-
-long f_5(long a, long b, long c, long d, long e)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e;
-}
-
-long f_6(long a, long b, long c, long d, long e, long f)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f;
-}
-
-long f_7(long a, long b, long c, long d, long e, long f, long g)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g;
-}
-
-long f_8(long a, long b, long c, long d, long e, long f, long g, long h)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h;
-}
-
-long f_9(long a, long b, long c, long d, long e, long f, long g, long h, long i)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h + 100000000 * i;
-}
-
-long global_result;
-
-void fv_0()
-{
-    global_result = 17041L;
-}
-
-void fv_1(long a)
-{
-    global_result = a;
-}
-
-void fv_2(long a, long b)
-{
-    global_result = a + 10 * b;
-}
-
-void fv_3(long a, long b, long c)
-{
-    global_result = a + 10 * b + 100 * c;
-}
-
-void fv_4(long a, long b, long c, long d)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d;
-}
-
-void fv_5(long a, long b, long c, long d, long e)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e;
-}
-
-void fv_6(long a, long b, long c, long d, long e, long f)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f;
-}
-
-void fv_7(long a, long b, long c, long d, long e, long f, long g)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g;
-}
-
-void fv_8(long a, long b, long c, long d, long e, long f, long g, long h)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h;
-}
-
-void fv_9(long a, long b, long c, long d, long e, long f, long g, long h, long i)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h + 100000000 * i;
-}
-
-template<class F, class A> long test(F const & f, A const & a)
-{
-    return f(a);
-}
-
-template<class F, class A> long testv(F const & f, A const & a)
-{
-    f(a);
-    return global_result;
-}
-
-void function_test()
-{
-    using namespace boost;
-
-    int const i = 1;
-
-    BOOST_TEST( test( bind(f_0), i ) == 17041L );
-    BOOST_TEST( test( bind(f_1, _1), i ) == 1L );
-    BOOST_TEST( test( bind(f_2, _1, 2), i ) == 21L );
-    BOOST_TEST( test( bind(f_3, _1, 2, 3), i ) == 321L );
-    BOOST_TEST( test( bind(f_4, _1, 2, 3, 4), i ) == 4321L );
-    BOOST_TEST( test( bind(f_5, _1, 2, 3, 4, 5), i ) == 54321L );
-    BOOST_TEST( test( bind(f_6, _1, 2, 3, 4, 5, 6), i ) == 654321L );
-    BOOST_TEST( test( bind(f_7, _1, 2, 3, 4, 5, 6, 7), i ) == 7654321L );
-    BOOST_TEST( test( bind(f_8, _1, 2, 3, 4, 5, 6, 7, 8), i ) == 87654321L );
-    BOOST_TEST( test( bind(f_9, _1, 2, 3, 4, 5, 6, 7, 8, 9), i ) == 987654321L );
-
-    BOOST_TEST( testv( bind(fv_0), i ) == 17041L );
-    BOOST_TEST( testv( bind(fv_1, _1), i ) == 1L );
-    BOOST_TEST( testv( bind(fv_2, _1, 2), i ) == 21L );
-    BOOST_TEST( testv( bind(fv_3, _1, 2, 3), i ) == 321L );
-    BOOST_TEST( testv( bind(fv_4, _1, 2, 3, 4), i ) == 4321L );
-    BOOST_TEST( testv( bind(fv_5, _1, 2, 3, 4, 5), i ) == 54321L );
-    BOOST_TEST( testv( bind(fv_6, _1, 2, 3, 4, 5, 6), i ) == 654321L );
-    BOOST_TEST( testv( bind(fv_7, _1, 2, 3, 4, 5, 6, 7), i ) == 7654321L );
-    BOOST_TEST( testv( bind(fv_8, _1, 2, 3, 4, 5, 6, 7, 8), i ) == 87654321L );
-    BOOST_TEST( testv( bind(fv_9, _1, 2, 3, 4, 5, 6, 7, 8, 9), i ) == 987654321L );
-}
-
-int main()
-{
-    function_test();
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_cv_test.cpp b/SRC/Boost/libs/bind/test/bind_cv_test.cpp
deleted file mode 100755
index 8d1994f..0000000
--- a/SRC/Boost/libs/bind/test/bind_cv_test.cpp
+++ /dev/null
@@ -1,158 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_cv_test.cpp
-//
-//  Copyright (c) 2004 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    int operator()()
-    {
-        return 17041;
-    }
-
-    int operator()() const
-    {
-        return -17041;
-    }
-
-    int operator()(int x1)
-    {
-        return x1;
-    }
-
-    int operator()(int x1) const
-    {
-        return -x1;
-    }
-
-    int operator()(int x1, int x2)
-    {
-        return x1+x2;
-    }
-
-    int operator()(int x1, int x2) const
-    {
-        return -(x1+x2);
-    }
-
-    int operator()(int x1, int x2, int x3)
-    {
-        return x1+x2+x3;
-    }
-
-    int operator()(int x1, int x2, int x3) const
-    {
-        return -(x1+x2+x3);
-    }
-
-    int operator()(int x1, int x2, int x3, int x4)
-    {
-        return x1+x2+x3+x4;
-    }
-
-    int operator()(int x1, int x2, int x3, int x4) const
-    {
-        return -(x1+x2+x3+x4);
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5)
-    {
-        return x1+x2+x3+x4+x5;
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5) const
-    {
-        return -(x1+x2+x3+x4+x5);
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5, int x6)
-    {
-        return x1+x2+x3+x4+x5+x6;
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5, int x6) const
-    {
-        return -(x1+x2+x3+x4+x5+x6);
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5, int x6, int x7)
-    {
-        return x1+x2+x3+x4+x5+x6+x7;
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5, int x6, int x7) const
-    {
-        return -(x1+x2+x3+x4+x5+x6+x7);
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5, int x6, int x7, int x8)
-    {
-        return x1+x2+x3+x4+x5+x6+x7+x8;
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5, int x6, int x7, int x8) const
-    {
-        return -(x1+x2+x3+x4+x5+x6+x7+x8);
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5, int x6, int x7, int x8, int x9)
-    {
-        return x1+x2+x3+x4+x5+x6+x7+x8+x9;
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5, int x6, int x7, int x8, int x9) const
-    {
-        return -(x1+x2+x3+x4+x5+x6+x7+x8+x9);
-    }
-};
-
-template<class F> void test(F f, int r)
-{
-    F const & cf = f;
-    BOOST_TEST( cf() == -r );
-    BOOST_TEST( f() == r );
-}
-
-int main()
-{
-    test( boost::bind<int>( X() ), 17041 );
-    test( boost::bind<int>( X(), 1 ), 1 );
-    test( boost::bind<int>( X(), 1, 2 ), 1+2 );
-    test( boost::bind<int>( X(), 1, 2, 3 ), 1+2+3 );
-    test( boost::bind<int>( X(), 1, 2, 3, 4 ), 1+2+3+4 );
-    test( boost::bind<int>( X(), 1, 2, 3, 4, 5 ), 1+2+3+4+5 );
-    test( boost::bind<int>( X(), 1, 2, 3, 4, 5, 6 ), 1+2+3+4+5+6 );
-    test( boost::bind<int>( X(), 1, 2, 3, 4, 5, 6, 7 ), 1+2+3+4+5+6+7 );
-    test( boost::bind<int>( X(), 1, 2, 3, 4, 5, 6, 7, 8 ), 1+2+3+4+5+6+7+8 );
-    test( boost::bind<int>( X(), 1, 2, 3, 4, 5, 6, 7, 8, 9 ), 1+2+3+4+5+6+7+8+9 );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_dm2_test.cpp b/SRC/Boost/libs/bind/test/bind_dm2_test.cpp
deleted file mode 100755
index 8551840..0000000
--- a/SRC/Boost/libs/bind/test/bind_dm2_test.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_dm2_test.cpp - data members, advanced uses
-//
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-#include <string>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    int m;
-};
-
-struct Y
-{
-    char m[ 64 ];
-};
-
-int main()
-{
-    X x = { 0 };
-    X * px = &x;
-
-    boost::bind< int& >( &X::m, _1 )( px ) = 42;
-
-    BOOST_TEST( x.m == 42 );
-
-    boost::bind< int& >( &X::m, boost::ref(x) )() = 17041;
-
-    BOOST_TEST( x.m == 17041 );
-
-    X const * pcx = &x;
-
-    BOOST_TEST( boost::bind< long >( &X::m, _1 )( pcx ) == 17041L );
-    BOOST_TEST( boost::bind< long >( &X::m, pcx )() == 17041L );
-
-    Y y = { "test" };
-    std::string v( "test" );
-
-    BOOST_TEST( boost::bind< char const* >( &Y::m, &y )() == v );
-    BOOST_TEST( boost::bind< std::string >( &Y::m, &y )() == v );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_dm3_test.cpp b/SRC/Boost/libs/bind/test/bind_dm3_test.cpp
deleted file mode 100755
index 7351d48..0000000
--- a/SRC/Boost/libs/bind/test/bind_dm3_test.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_dm3_test.cpp - data members (regression 1.31 - 1.32)
-//
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-#include <utility>
-
-int main()
-{
-    typedef std::pair<int, int> pair_type;
-
-    pair_type pair( 10, 20 );
-
-    int const & x = boost::bind( &pair_type::first, _1 )( pair );
-
-    BOOST_TEST( &pair.first == &x );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_dm_test.cpp b/SRC/Boost/libs/bind/test/bind_dm_test.cpp
deleted file mode 100755
index bde281c..0000000
--- a/SRC/Boost/libs/bind/test/bind_dm_test.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_dm_test.cpp - data members
-//
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    int m;
-};
-
-X f( int v )
-{
-    X r = { v };
-    return r;
-}
-
-int main()
-{
-    X x = { 17041 };
-    X * px = &x;
-
-    BOOST_TEST( boost::bind( &X::m, _1 )( x ) == 17041 );
-    BOOST_TEST( boost::bind( &X::m, _1 )( px ) == 17041 );
-
-    BOOST_TEST( boost::bind( &X::m, x )() == 17041 );
-    BOOST_TEST( boost::bind( &X::m, px )() == 17041 );
-    BOOST_TEST( boost::bind( &X::m, boost::ref(x) )() == 17041 );
-
-
-    X const cx = x;
-    X const * pcx = &cx;
-
-    BOOST_TEST( boost::bind( &X::m, _1 )( cx ) == 17041 );
-    BOOST_TEST( boost::bind( &X::m, _1 )( pcx ) == 17041 );
-
-    BOOST_TEST( boost::bind( &X::m, cx )() == 17041 );
-    BOOST_TEST( boost::bind( &X::m, pcx )() == 17041 );
-    BOOST_TEST( boost::bind( &X::m, boost::ref(cx) )() == 17041 );
-
-    int const v = 42;
-
-    BOOST_TEST( boost::bind( &X::m, boost::bind( f, _1 ) )( v ) == v );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_eq2_test.cpp b/SRC/Boost/libs/bind/test/bind_eq2_test.cpp
deleted file mode 100755
index e425ee4..0000000
--- a/SRC/Boost/libs/bind/test/bind_eq2_test.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_eq2_test.cpp - boost::bind equality operator
-//
-//  Copyright (c) 2004, 2005, 2009 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-#include <boost/function_equal.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-void f( int )
-{
-}
-
-int g( int i )
-{
-    return i + 5;
-}
-
-template< class F > void test_self_equal( F f )
-{
-#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-    using boost::function_equal;
-#endif
-
-    BOOST_TEST( function_equal( f, f ) );
-}
- 
-int main()
-{
-    test_self_equal( boost::bind( f, _1 ) );
-    test_self_equal( boost::bind( g, _1 ) );
-    test_self_equal( boost::bind( f, boost::bind( g, _1 ) ) );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_eq3_test.cpp b/SRC/Boost/libs/bind/test/bind_eq3_test.cpp
deleted file mode 100755
index d497643..0000000
--- a/SRC/Boost/libs/bind/test/bind_eq3_test.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_eq3_test.cpp - function_equal with bind and weak_ptr
-//
-//  Copyright (c) 2004, 2005, 2009 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-
-#include <boost/bind.hpp>
-#include <boost/function_equal.hpp>
-#include <boost/weak_ptr.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-int f( boost::weak_ptr<void> wp )
-{
-    return wp.use_count();
-}
-
-template< class F > void test_self_equal( F f )
-{
-#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-    using boost::function_equal;
-#endif
-
-    BOOST_TEST( function_equal( f, f ) );
-}
-
-int main()
-{
-    test_self_equal( boost::bind( f, _1 ) );
-    test_self_equal( boost::bind( f, boost::weak_ptr<void>() ) );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_eq_test.cpp b/SRC/Boost/libs/bind/test/bind_eq_test.cpp
deleted file mode 100755
index 3dbe1f3..0000000
--- a/SRC/Boost/libs/bind/test/bind_eq_test.cpp
+++ /dev/null
@@ -1,427 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_eq_test.cpp - boost::bind equality operator
-//
-//  Copyright (c) 2004, 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-#include <boost/ref.hpp>
-
-#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-# include <boost/function_equal.hpp>
-#endif
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    int i_;
-
-    explicit X(int i): i_(i)
-    {
-    }
-
-    bool operator==(X const & rhs) const
-    {
-        return i_ == rhs.i_;
-    }
-};
-
-// f_*
-
-int f_0()
-{
-    return 0;
-}
-
-int f_1(X)
-{
-    return 0;
-}
-
-int f_2(X, X)
-{
-    return 0;
-}
-
-int f_3(X, X, X)
-{
-    return 0;
-}
-
-int f_4(X, X, X, X)
-{
-    return 0;
-}
-
-int f_5(X, X, X, X, X)
-{
-    return 0;
-}
-
-int f_6(X, X, X, X, X, X)
-{
-    return 0;
-}
-
-int f_7(X, X, X, X, X, X, X)
-{
-    return 0;
-}
-
-int f_8(X, X, X, X, X, X, X, X)
-{
-    return 0;
-}
-
-int f_9(X, X, X, X, X, X, X, X, X)
-{
-    return 0;
-}
-
-// fv_*
-
-void fv_0()
-{
-}
-
-void fv_1(X)
-{
-}
-
-void fv_2(X, X)
-{
-}
-
-void fv_3(X, X, X)
-{
-}
-
-void fv_4(X, X, X, X)
-{
-}
-
-void fv_5(X, X, X, X, X)
-{
-}
-
-void fv_6(X, X, X, X, X, X)
-{
-}
-
-void fv_7(X, X, X, X, X, X, X)
-{
-}
-
-void fv_8(X, X, X, X, X, X, X, X)
-{
-}
-
-void fv_9(X, X, X, X, X, X, X, X, X)
-{
-}
-
-template<class F> void test_eq(F f1, F f2)
-{
-#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-
-    using boost::function_equal;
-
-#endif
-
-    BOOST_TEST( function_equal( f1, f2 ) );
-}
-
-template<class F> void test_ne(F f1, F f2)
-{
-#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-
-    using boost::function_equal;
-
-#endif
-
-    BOOST_TEST( !function_equal( f1, f2 ) );
-}
-
-// 0
-
-template<class F> void test_0(F f)
-{
-    test_eq( boost::bind(f), boost::bind(f) );
-}
-
-// 1
-
-template<class F, class V> void test_1_(F f, V v1, V v2)
-{
-    test_eq( boost::bind(f, v1), boost::bind(f, v1) );
-    test_ne( boost::bind(f, v1), boost::bind(f, v2) );
-}
-
-template<class F> void test_1(F f)
-{
-    test_eq( boost::bind(f, _1), boost::bind(f, _1) );
-
-    test_1_( f, X(1), X(2) );
-
-    X a(0), b(0);
-    test_1_( f, boost::ref(a), boost::ref(b) );
-}
-
-// 2
-
-template<class F, class V> void test_2_(F f, V v1, V v2)
-{
-    test_eq( boost::bind(f, v1, v1), boost::bind(f, v1, v1) );
-    test_ne( boost::bind(f, v1, v1), boost::bind(f, v1, v2) );
-    test_ne( boost::bind(f, v1, v1), boost::bind(f, v2, v1) );
-}
-
-template<class F> void test_2(F f)
-{
-    test_eq( boost::bind(f, _1, _2), boost::bind(f, _1, _2) );
-
-    test_2_( f, X(1), X(2) );
-
-    X a(0), b(0);
-    test_2_( f, boost::ref(a), boost::ref(b) );
-}
-
-// 3
-
-template<class F, class V> void test_3_(F f, V v1, V v2)
-{
-    test_eq( boost::bind(f, v1, v1, v1), boost::bind(f, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1), boost::bind(f, v1, v1, v2) );
-    test_ne( boost::bind(f, v1, v1, v1), boost::bind(f, v1, v2, v1) );
-    test_ne( boost::bind(f, v1, v1, v1), boost::bind(f, v2, v1, v1) );
-}
-
-template<class F> void test_3(F f)
-{
-    test_eq( boost::bind(f, _1, _2, _3), boost::bind(f, _1, _2, _3) );
-
-    test_3_( f, X(1), X(2) );
-
-    X a(0), b(0);
-    test_3_( f, boost::ref(a), boost::ref(b) );
-}
-
-// 4
-
-template<class F, class V> void test_4_(F f, V v1, V v2)
-{
-    test_eq( boost::bind(f, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v2) );
-    test_ne( boost::bind(f, v1, v1, v1, v1), boost::bind(f, v1, v1, v2, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1), boost::bind(f, v1, v2, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1), boost::bind(f, v2, v1, v1, v1) );
-}
-
-template<class F> void test_4(F f)
-{
-    test_eq( boost::bind(f, _1, _2, _3, _4), boost::bind(f, _1, _2, _3, _4) );
-
-    test_4_( f, X(1), X(2) );
-
-    X a(0), b(0);
-    test_4_( f, boost::ref(a), boost::ref(b) );
-}
-
-// 5
-
-template<class F, class V> void test_5_(F f, V v1, V v2)
-{
-    test_eq( boost::bind(f, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v2) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v2, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v2, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1), boost::bind(f, v1, v2, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1), boost::bind(f, v2, v1, v1, v1, v1) );
-}
-
-template<class F> void test_5(F f)
-{
-    test_eq( boost::bind(f, _1, _2, _3, _4, _5), boost::bind(f, _1, _2, _3, _4, _5) );
-
-    test_5_( f, X(1), X(2) );
-
-    X a(0), b(0);
-    test_5_( f, boost::ref(a), boost::ref(b) );
-}
-
-// 6
-
-template<class F, class V> void test_6_(F f, V v1, V v2)
-{
-    test_eq( boost::bind(f, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v2) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v2, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v2, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v2, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v2, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1), boost::bind(f, v2, v1, v1, v1, v1, v1) );
-}
-
-template<class F> void test_6(F f)
-{
-    test_eq( boost::bind(f, _1, _2, _3, _4, _5, _6), boost::bind(f, _1, _2, _3, _4, _5, _6) );
-
-    test_6_( f, X(1), X(2) );
-
-    X a(0), b(0);
-    test_6_( f, boost::ref(a), boost::ref(b) );
-}
-
-// 7
-
-template<class F, class V> void test_7_(F f, V v1, V v2)
-{
-    test_eq( boost::bind(f, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v1, v2) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v2, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v2, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v2, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v2, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v2, v1, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v2, v1, v1, v1, v1, v1, v1) );
-}
-
-template<class F> void test_7(F f)
-{
-    test_eq( boost::bind(f, _1, _2, _3, _4, _5, _6, _7), boost::bind(f, _1, _2, _3, _4, _5, _6, _7) );
-
-    test_7_( f, X(1), X(2) );
-
-    X a(0), b(0);
-    test_7_( f, boost::ref(a), boost::ref(b) );
-}
-
-// 8
-
-template<class F, class V> void test_8_(F f, V v1, V v2)
-{
-    test_eq( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v2) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v1, v2, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v2, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v2, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v2, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v2, v1, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v2, v1, v1, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v2, v1, v1, v1, v1, v1, v1, v1) );
-}
-
-template<class F> void test_8(F f)
-{
-    test_eq( boost::bind(f, _1, _2, _3, _4, _5, _6, _7, _8), boost::bind(f, _1, _2, _3, _4, _5, _6, _7, _8) );
-
-    test_8_( f, X(1), X(2) );
-
-    X a(0), b(0);
-    test_8_( f, boost::ref(a), boost::ref(b) );
-}
-
-// 9
-
-template<class F, class V> void test_9_(F f, V v1, V v2)
-{
-    test_eq( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1, v2) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v2, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v1, v2, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v1, v2, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v1, v2, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v1, v2, v1, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v1, v2, v1, v1, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v1, v2, v1, v1, v1, v1, v1, v1, v1) );
-    test_ne( boost::bind(f, v1, v1, v1, v1, v1, v1, v1, v1, v1), boost::bind(f, v2, v1, v1, v1, v1, v1, v1, v1, v1) );
-}
-
-template<class F> void test_9(F f)
-{
-    test_eq( boost::bind(f, _1, _2, _3, _4, _5, _6, _7, _8, _9), boost::bind(f, _1, _2, _3, _4, _5, _6, _7, _8, _9) );
-
-    test_9_( f, X(1), X(2) );
-
-    X a(0), b(0);
-    test_9_( f, boost::ref(a), boost::ref(b) );
-}
-
-int main()
-{
-    // 0
-
-    test_0( f_0 );
-    test_0( fv_0 );
-
-    // 1
-
-    test_1( f_1 );
-    test_1( fv_1 );
-
-    // 2
-
-    test_2( f_2 );
-    test_2( fv_2 );
-
-    // 3
-
-    test_3( f_3 );
-    test_3( fv_3 );
-
-    // 4
-
-    test_4( f_4 );
-    test_4( fv_4 );
-
-    // 5
-
-    test_5( f_5 );
-    test_5( fv_5 );
-
-    // 6
-
-    test_6( f_6 );
-    test_6( fv_6 );
-
-    // 7
-
-    test_7( f_7 );
-    test_7( fv_7 );
-
-    // 8
-
-    test_8( f_8 );
-    test_8( fv_8 );
-
-    // 9
-
-    test_9( f_9 );
-    test_9( fv_9 );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_fastcall_mf_test.cpp b/SRC/Boost/libs/bind/test/bind_fastcall_mf_test.cpp
deleted file mode 100755
index 88b8494..0000000
--- a/SRC/Boost/libs/bind/test/bind_fastcall_mf_test.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_stdcall_mf_test.cpp - test for bind.hpp + __stdcall (member functions)
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#define BOOST_MEM_FN_ENABLE_FASTCALL
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    mutable unsigned int hash;
-
-    X(): hash(0) {}
-
-    void __fastcall f0() { f1(17); }
-    void __fastcall g0() const { g1(17); }
-
-    void __fastcall f1(int a1) { hash = (hash * 17041 + a1) % 32768; }
-    void __fastcall g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; }
-
-    void __fastcall f2(int a1, int a2) { f1(a1); f1(a2); }
-    void __fastcall g2(int a1, int a2) const { g1(a1); g1(a2); }
-
-    void __fastcall f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); }
-    void __fastcall g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); }
-
-    void __fastcall f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); }
-    void __fastcall g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); }
-
-    void __fastcall f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); }
-    void __fastcall g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); }
-
-    void __fastcall f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); }
-    void __fastcall g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); }
-
-    void __fastcall f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); }
-    void __fastcall g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); }
-
-    void __fastcall f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); }
-    void __fastcall g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); }
-};
-
-void member_function_test()
-{
-    using namespace boost;
-
-    X x;
-
-    // 0
-
-    bind(&X::f0, &x)();
-    bind(&X::f0, ref(x))();
-
-    bind(&X::g0, &x)();
-    bind(&X::g0, x)();
-    bind(&X::g0, ref(x))();
-
-    // 1
-
-    bind(&X::f1, &x, 1)();
-    bind(&X::f1, ref(x), 1)();
-
-    bind(&X::g1, &x, 1)();
-    bind(&X::g1, x, 1)();
-    bind(&X::g1, ref(x), 1)();
-
-    // 2
-
-    bind(&X::f2, &x, 1, 2)();
-    bind(&X::f2, ref(x), 1, 2)();
-
-    bind(&X::g2, &x, 1, 2)();
-    bind(&X::g2, x, 1, 2)();
-    bind(&X::g2, ref(x), 1, 2)();
-
-    // 3
-
-    bind(&X::f3, &x, 1, 2, 3)();
-    bind(&X::f3, ref(x), 1, 2, 3)();
-
-    bind(&X::g3, &x, 1, 2, 3)();
-    bind(&X::g3, x, 1, 2, 3)();
-    bind(&X::g3, ref(x), 1, 2, 3)();
-
-    // 4
-
-    bind(&X::f4, &x, 1, 2, 3, 4)();
-    bind(&X::f4, ref(x), 1, 2, 3, 4)();
-
-    bind(&X::g4, &x, 1, 2, 3, 4)();
-    bind(&X::g4, x, 1, 2, 3, 4)();
-    bind(&X::g4, ref(x), 1, 2, 3, 4)();
-
-    // 5
-
-    bind(&X::f5, &x, 1, 2, 3, 4, 5)();
-    bind(&X::f5, ref(x), 1, 2, 3, 4, 5)();
-
-    bind(&X::g5, &x, 1, 2, 3, 4, 5)();
-    bind(&X::g5, x, 1, 2, 3, 4, 5)();
-    bind(&X::g5, ref(x), 1, 2, 3, 4, 5)();
-
-    // 6
-
-    bind(&X::f6, &x, 1, 2, 3, 4, 5, 6)();
-    bind(&X::f6, ref(x), 1, 2, 3, 4, 5, 6)();
-
-    bind(&X::g6, &x, 1, 2, 3, 4, 5, 6)();
-    bind(&X::g6, x, 1, 2, 3, 4, 5, 6)();
-    bind(&X::g6, ref(x), 1, 2, 3, 4, 5, 6)();
-
-    // 7
-
-    bind(&X::f7, &x, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&X::f7, ref(x), 1, 2, 3, 4, 5, 6, 7)();
-
-    bind(&X::g7, &x, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&X::g7, x, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&X::g7, ref(x), 1, 2, 3, 4, 5, 6, 7)();
-
-    // 8
-
-    bind(&X::f8, &x, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&X::f8, ref(x), 1, 2, 3, 4, 5, 6, 7, 8)();
-
-    bind(&X::g8, &x, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&X::g8, x, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&X::g8, ref(x), 1, 2, 3, 4, 5, 6, 7, 8)();
-
-    BOOST_TEST( x.hash == 23558 );
-}
-
-int main()
-{
-    member_function_test();
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_fastcall_test.cpp b/SRC/Boost/libs/bind/test/bind_fastcall_test.cpp
deleted file mode 100755
index a618b87..0000000
--- a/SRC/Boost/libs/bind/test/bind_fastcall_test.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_fastcall_test.cpp - test for bind.hpp + __fastcall (free functions)
-//
-//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#define BOOST_BIND_ENABLE_FASTCALL
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-//
-
-long __fastcall f_0()
-{
-    return 17041L;
-}
-
-long __fastcall f_1(long a)
-{
-    return a;
-}
-
-long __fastcall f_2(long a, long b)
-{
-    return a + 10 * b;
-}
-
-long __fastcall f_3(long a, long b, long c)
-{
-    return a + 10 * b + 100 * c;
-}
-
-long __fastcall f_4(long a, long b, long c, long d)
-{
-    return a + 10 * b + 100 * c + 1000 * d;
-}
-
-long __fastcall f_5(long a, long b, long c, long d, long e)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e;
-}
-
-long __fastcall f_6(long a, long b, long c, long d, long e, long f)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f;
-}
-
-long __fastcall f_7(long a, long b, long c, long d, long e, long f, long g)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g;
-}
-
-long __fastcall f_8(long a, long b, long c, long d, long e, long f, long g, long h)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h;
-}
-
-long __fastcall f_9(long a, long b, long c, long d, long e, long f, long g, long h, long i)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h + 100000000 * i;
-}
-
-void function_test()
-{
-    using namespace boost;
-
-    int const i = 1;
-
-    BOOST_TEST( bind(f_0)(i) == 17041L );
-    BOOST_TEST( bind(f_1, _1)(i) == 1L );
-    BOOST_TEST( bind(f_2, _1, 2)(i) == 21L );
-    BOOST_TEST( bind(f_3, _1, 2, 3)(i) == 321L );
-    BOOST_TEST( bind(f_4, _1, 2, 3, 4)(i) == 4321L );
-    BOOST_TEST( bind(f_5, _1, 2, 3, 4, 5)(i) == 54321L );
-    BOOST_TEST( bind(f_6, _1, 2, 3, 4, 5, 6)(i) == 654321L );
-    BOOST_TEST( bind(f_7, _1, 2, 3, 4, 5, 6, 7)(i) == 7654321L );
-    BOOST_TEST( bind(f_8, _1, 2, 3, 4, 5, 6, 7, 8)(i) == 87654321L );
-    BOOST_TEST( bind(f_9, _1, 2, 3, 4, 5, 6, 7, 8, 9)(i) == 987654321L );
-}
-
-int main()
-{
-    function_test();
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_fn2_test.cpp b/SRC/Boost/libs/bind/test/bind_fn2_test.cpp
deleted file mode 100755
index eaf99b0..0000000
--- a/SRC/Boost/libs/bind/test/bind_fn2_test.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_fn2_test.cpp - test for functions w/ the type<> syntax
-//
-//  Copyright (c) 2005, 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-long global_result;
-
-// long
-
-long f_0()
-{
-    return global_result = 17041L;
-}
-
-long f_1(long a)
-{
-    return global_result = a;
-}
-
-long f_2(long a, long b)
-{
-    return global_result = a + 10 * b;
-}
-
-long f_3(long a, long b, long c)
-{
-    return global_result = a + 10 * b + 100 * c;
-}
-
-long f_4(long a, long b, long c, long d)
-{
-    return global_result = a + 10 * b + 100 * c + 1000 * d;
-}
-
-long f_5(long a, long b, long c, long d, long e)
-{
-    return global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e;
-}
-
-long f_6(long a, long b, long c, long d, long e, long f)
-{
-    return global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f;
-}
-
-long f_7(long a, long b, long c, long d, long e, long f, long g)
-{
-    return global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g;
-}
-
-long f_8(long a, long b, long c, long d, long e, long f, long g, long h)
-{
-    return global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h;
-}
-
-long f_9(long a, long b, long c, long d, long e, long f, long g, long h, long i)
-{
-    return global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h + 100000000 * i;
-}
-
-// void
-
-void fv_0()
-{
-    global_result = 17041L;
-}
-
-void fv_1(long a)
-{
-    global_result = a;
-}
-
-void fv_2(long a, long b)
-{
-    global_result = a + 10 * b;
-}
-
-void fv_3(long a, long b, long c)
-{
-    global_result = a + 10 * b + 100 * c;
-}
-
-void fv_4(long a, long b, long c, long d)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d;
-}
-
-void fv_5(long a, long b, long c, long d, long e)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e;
-}
-
-void fv_6(long a, long b, long c, long d, long e, long f)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f;
-}
-
-void fv_7(long a, long b, long c, long d, long e, long f, long g)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g;
-}
-
-void fv_8(long a, long b, long c, long d, long e, long f, long g, long h)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h;
-}
-
-void fv_9(long a, long b, long c, long d, long e, long f, long g, long h, long i)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h + 100000000 * i;
-}
-
-void function_test()
-{
-    using namespace boost;
-
-    bind( type<void>(), f_0 )(); BOOST_TEST( global_result == 17041L );
-    bind( type<void>(), f_1, 1 )(); BOOST_TEST( global_result == 1L );
-    bind( type<void>(), f_2, 1, 2 )(); BOOST_TEST( global_result == 21L );
-    bind( type<void>(), f_3, 1, 2, 3 )(); BOOST_TEST( global_result == 321L );
-    bind( type<void>(), f_4, 1, 2, 3, 4 )(); BOOST_TEST( global_result == 4321L );
-    bind( type<void>(), f_5, 1, 2, 3, 4, 5 )(); BOOST_TEST( global_result == 54321L );
-    bind( type<void>(), f_6, 1, 2, 3, 4, 5, 6 )(); BOOST_TEST( global_result == 654321L );
-    bind( type<void>(), f_7, 1, 2, 3, 4, 5, 6, 7 )(); BOOST_TEST( global_result == 7654321L );
-    bind( type<void>(), f_8, 1, 2, 3, 4, 5, 6, 7, 8 )(); BOOST_TEST( global_result == 87654321L );
-    bind( type<void>(), f_9, 1, 2, 3, 4, 5, 6, 7, 8, 9 )(); BOOST_TEST( global_result == 987654321L );
-
-    bind( type<void>(), fv_0 )(); BOOST_TEST( global_result == 17041L );
-    bind( type<void>(), fv_1, 1 )(); BOOST_TEST( global_result == 1L );
-    bind( type<void>(), fv_2, 1, 2 )(); BOOST_TEST( global_result == 21L );
-    bind( type<void>(), fv_3, 1, 2, 3 )(); BOOST_TEST( global_result == 321L );
-    bind( type<void>(), fv_4, 1, 2, 3, 4 )(); BOOST_TEST( global_result == 4321L );
-    bind( type<void>(), fv_5, 1, 2, 3, 4, 5 )(); BOOST_TEST( global_result == 54321L );
-    bind( type<void>(), fv_6, 1, 2, 3, 4, 5, 6 )(); BOOST_TEST( global_result == 654321L );
-    bind( type<void>(), fv_7, 1, 2, 3, 4, 5, 6, 7 )(); BOOST_TEST( global_result == 7654321L );
-    bind( type<void>(), fv_8, 1, 2, 3, 4, 5, 6, 7, 8 )(); BOOST_TEST( global_result == 87654321L );
-    bind( type<void>(), fv_9, 1, 2, 3, 4, 5, 6, 7, 8, 9 )(); BOOST_TEST( global_result == 987654321L );
-}
-
-int main()
-{
-    function_test();
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_fnobj2_test.cpp b/SRC/Boost/libs/bind/test/bind_fnobj2_test.cpp
deleted file mode 100755
index 30da599..0000000
--- a/SRC/Boost/libs/bind/test/bind_fnobj2_test.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_fnobj2_test.cpp - test for function objects w/ the type<> syntax
-//
-//  Copyright (c) 2005, 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    mutable unsigned int hash;
-
-    X(): hash(0) {}
-
-    int operator()() const { operator()(17); return 0; }
-    int operator()(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; return 0; }
-    int operator()(int a1, int a2) const { operator()(a1); operator()(a2); return 0; }
-    int operator()(int a1, int a2, int a3) const { operator()(a1, a2); operator()(a3); return 0; }
-    int operator()(int a1, int a2, int a3, int a4) const { operator()(a1, a2, a3); operator()(a4); return 0; }
-    int operator()(int a1, int a2, int a3, int a4, int a5) const { operator()(a1, a2, a3, a4); operator()(a5); return 0; }
-    int operator()(int a1, int a2, int a3, int a4, int a5, int a6) const { operator()(a1, a2, a3, a4, a5); operator()(a6); return 0; }
-    int operator()(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { operator()(a1, a2, a3, a4, a5, a6); operator()(a7); return 0; }
-    int operator()(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { operator()(a1, a2, a3, a4, a5, a6, a7); operator()(a8); return 0; }
-    int operator()(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9) const { operator()(a1, a2, a3, a4, a5, a6, a7, a8); operator()(a9); return 0; }
-};
-
-void function_object_test()
-{
-    using namespace boost;
-
-    X x;
-
-    bind( type<void>(), ref(x) )();
-    bind( type<void>(), ref(x), 1 )();
-    bind( type<void>(), ref(x), 1, 2 )();
-    bind( type<void>(), ref(x), 1, 2, 3 )();
-    bind( type<void>(), ref(x), 1, 2, 3, 4 )();
-    bind( type<void>(), ref(x), 1, 2, 3, 4, 5 )();
-    bind( type<void>(), ref(x), 1, 2, 3, 4, 5, 6 )();
-    bind( type<void>(), ref(x), 1, 2, 3, 4, 5, 6, 7)();
-    bind( type<void>(), ref(x), 1, 2, 3, 4, 5, 6, 7, 8 )();
-    bind( type<void>(), ref(x), 1, 2, 3, 4, 5, 6, 7, 8, 9 )();
-
-    BOOST_TEST( x.hash == 9932 );
-}
-
-int main()
-{
-    function_object_test();
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_function_test.cpp b/SRC/Boost/libs/bind/test/bind_function_test.cpp
deleted file mode 100755
index 0a5cba4..0000000
--- a/SRC/Boost/libs/bind/test/bind_function_test.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_function_test.cpp - function<>
-//
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-#include <boost/function.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/bind.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-int f( int x )
-{
-    return x;
-}
-
-int g( int x )
-{
-    return x + 1;
-}
-
-int main()
-{
-    boost::function0<int> fn;
-
-    BOOST_TEST( !fn.contains( boost::bind( f, 1 ) ) );
-    BOOST_TEST( !fn.contains( boost::bind( f, 2 ) ) );
-    BOOST_TEST( !fn.contains( boost::bind( g, 1 ) ) );
-
-    fn = boost::bind( f, 1 );
-
-    BOOST_TEST( fn() == 1 );
-
-    BOOST_TEST( fn.contains( boost::bind( f, 1 ) ) );
-    BOOST_TEST( !fn.contains( boost::bind( f, 2 ) ) );
-    BOOST_TEST( !fn.contains( boost::bind( g, 1 ) ) );
-
-    fn = boost::bind( f, 2 );
-
-    BOOST_TEST( fn() == 2 );
-
-    BOOST_TEST( !fn.contains( boost::bind( f, 1 ) ) );
-    BOOST_TEST( fn.contains( boost::bind( f, 2 ) ) );
-    BOOST_TEST( !fn.contains( boost::bind( g, 1 ) ) );
-
-    fn = boost::bind( g, 1 );
-
-    BOOST_TEST( fn() == 2 );
-
-    BOOST_TEST( !fn.contains( boost::bind( f, 1 ) ) );
-    BOOST_TEST( !fn.contains( boost::bind( f, 2 ) ) );
-    BOOST_TEST( fn.contains( boost::bind( g, 1 ) ) );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_lookup_problem_test.cpp b/SRC/Boost/libs/bind/test/bind_lookup_problem_test.cpp
deleted file mode 100755
index 2303dba..0000000
--- a/SRC/Boost/libs/bind/test/bind_lookup_problem_test.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// bind_lookup_problem_test.cpp
-//
-// Copyright (C) Markus Schoepflin 2005.
-//
-// Use, modification, and distribution are subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-template<class T> void value();
-
-void f0() { }
-void f1(int) { }
-void f2(int, int) { }
-void f3(int, int, int) { }
-void f4(int, int, int, int) { }
-void f5(int, int, int, int, int) { }
-void f6(int, int, int, int, int, int) { }
-void f7(int, int, int, int, int, int, int) { }
-void f8(int, int, int, int, int, int, int, int) { }
-void f9(int, int, int, int, int, int, int, int, int) { }
-
-int main()
-{
-  boost::bind(f0);
-  boost::bind(f1, 0);
-  boost::bind(f2, 0, 0);
-  boost::bind(f3, 0, 0, 0);
-  boost::bind(f4, 0, 0, 0, 0);
-  boost::bind(f5, 0, 0, 0, 0, 0);
-  boost::bind(f6, 0, 0, 0, 0, 0, 0);
-  boost::bind(f7, 0, 0, 0, 0, 0, 0, 0);
-  boost::bind(f8, 0, 0, 0, 0, 0, 0, 0, 0);
-  boost::bind(f9, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/bind/test/bind_mf2_test.cpp b/SRC/Boost/libs/bind/test/bind_mf2_test.cpp
deleted file mode 100755
index b1c354a..0000000
--- a/SRC/Boost/libs/bind/test/bind_mf2_test.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_mf2_test.cpp - test for member functions w/ the type<> syntax
-//
-//  Copyright (c) 2005, 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    mutable unsigned int hash;
-
-    X(): hash(0) {}
-
-    int f0() { f1(17); return 0; }
-    int g0() const { g1(17); return 0; }
-
-    int f1(int a1) { hash = (hash * 17041 + a1) % 32768; return 0; }
-    int g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; return 0; }
-
-    int f2(int a1, int a2) { f1(a1); f1(a2); return 0; }
-    int g2(int a1, int a2) const { g1(a1); g1(a2); return 0; }
-
-    int f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); return 0; }
-    int g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); return 0; }
-
-    int f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); return 0; }
-    int g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); return 0; }
-
-    int f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); return 0; }
-    int g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); return 0; }
-
-    int f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); return 0; }
-    int g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); return 0; }
-
-    int f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); return 0; }
-    int g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); return 0; }
-
-    int f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); return 0; }
-    int g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); return 0; }
-};
-
-void member_function_test()
-{
-    using namespace boost;
-
-    X x;
-
-    // 0
-
-    bind( type<void>(), &X::f0, &x )();
-    bind( type<void>(), &X::f0, ref(x) )();
-
-    bind( type<void>(), &X::g0, &x )();
-    bind( type<void>(), &X::g0, x )();
-    bind( type<void>(), &X::g0, ref(x) )();
-
-    // 1
-
-    bind( type<void>(), &X::f1, &x, 1 )();
-    bind( type<void>(), &X::f1, ref(x), 1 )();
-
-    bind( type<void>(), &X::g1, &x, 1 )();
-    bind( type<void>(), &X::g1, x, 1 )();
-    bind( type<void>(), &X::g1, ref(x), 1 )();
-
-    // 2
-
-    bind( type<void>(), &X::f2, &x, 1, 2 )();
-    bind( type<void>(), &X::f2, ref(x), 1, 2 )();
-
-    bind( type<void>(), &X::g2, &x, 1, 2 )();
-    bind( type<void>(), &X::g2, x, 1, 2 )();
-    bind( type<void>(), &X::g2, ref(x), 1, 2 )();
-
-    // 3
-
-    bind( type<void>(), &X::f3, &x, 1, 2, 3 )();
-    bind( type<void>(), &X::f3, ref(x), 1, 2, 3 )();
-
-    bind( type<void>(), &X::g3, &x, 1, 2, 3 )();
-    bind( type<void>(), &X::g3, x, 1, 2, 3 )();
-    bind( type<void>(), &X::g3, ref(x), 1, 2, 3 )();
-
-    // 4
-
-    bind( type<void>(), &X::f4, &x, 1, 2, 3, 4 )();
-    bind( type<void>(), &X::f4, ref(x), 1, 2, 3, 4 )();
-
-    bind( type<void>(), &X::g4, &x, 1, 2, 3, 4 )();
-    bind( type<void>(), &X::g4, x, 1, 2, 3, 4 )();
-    bind( type<void>(), &X::g4, ref(x), 1, 2, 3, 4 )();
-
-    // 5
-
-    bind( type<void>(), &X::f5, &x, 1, 2, 3, 4, 5 )();
-    bind( type<void>(), &X::f5, ref(x), 1, 2, 3, 4, 5 )();
-
-    bind( type<void>(), &X::g5, &x, 1, 2, 3, 4, 5 )();
-    bind( type<void>(), &X::g5, x, 1, 2, 3, 4, 5 )();
-    bind( type<void>(), &X::g5, ref(x), 1, 2, 3, 4, 5 )();
-
-    // 6
-
-    bind( type<void>(), &X::f6, &x, 1, 2, 3, 4, 5, 6 )();
-    bind( type<void>(), &X::f6, ref(x), 1, 2, 3, 4, 5, 6 )();
-
-    bind( type<void>(), &X::g6, &x, 1, 2, 3, 4, 5, 6 )();
-    bind( type<void>(), &X::g6, x, 1, 2, 3, 4, 5, 6 )();
-    bind( type<void>(), &X::g6, ref(x), 1, 2, 3, 4, 5, 6 )();
-
-    // 7
-
-    bind( type<void>(), &X::f7, &x, 1, 2, 3, 4, 5, 6, 7)();
-    bind( type<void>(), &X::f7, ref(x), 1, 2, 3, 4, 5, 6, 7)();
-
-    bind( type<void>(), &X::g7, &x, 1, 2, 3, 4, 5, 6, 7)();
-    bind( type<void>(), &X::g7, x, 1, 2, 3, 4, 5, 6, 7)();
-    bind( type<void>(), &X::g7, ref(x), 1, 2, 3, 4, 5, 6, 7)();
-
-    // 8
-
-    bind( type<void>(), &X::f8, &x, 1, 2, 3, 4, 5, 6, 7, 8 )();
-    bind( type<void>(), &X::f8, ref(x), 1, 2, 3, 4, 5, 6, 7, 8 )();
-
-    bind( type<void>(), &X::g8, &x, 1, 2, 3, 4, 5, 6, 7, 8 )();
-    bind( type<void>(), &X::g8, x, 1, 2, 3, 4, 5, 6, 7, 8 )();
-    bind( type<void>(), &X::g8, ref(x), 1, 2, 3, 4, 5, 6, 7, 8 )();
-
-    BOOST_TEST( x.hash == 23558 );
-}
-
-int main()
-{
-    member_function_test();
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_not_test.cpp b/SRC/Boost/libs/bind/test/bind_not_test.cpp
deleted file mode 100755
index 982547f..0000000
--- a/SRC/Boost/libs/bind/test/bind_not_test.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_not_test.cpp - operator!
-//
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-template<class F, class A1, class R> void test( F f, A1 a1, R r )
-{
-    BOOST_TEST( f(a1) == r );
-}
-
-bool f( bool v )
-{
-    return v;
-}
-
-int g( int v )
-{
-    return v;
-}
-
-int main()
-{
-    test( !boost::bind( f, true ), 0, !f( true ) );
-    test( !boost::bind( g, _1 ), 5, !g( 5 ) );
-    test( boost::bind( f, !boost::bind( f, true ) ), 0, f( !f( true ) ) );
-    test( boost::bind( f, !boost::bind( f, _1 ) ), true, f( !f( true ) ) );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_placeholder_test.cpp b/SRC/Boost/libs/bind/test/bind_placeholder_test.cpp
deleted file mode 100755
index 0c0ad19..0000000
--- a/SRC/Boost/libs/bind/test/bind_placeholder_test.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined( BOOST_MSVC )
-
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-
-#endif
-
-//  bind_placeholder_test.cpp - test custom placeholders
-//
-//  Copyright (c) 2006 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-//
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-//
-
-long f( long a, long b, long c, long d, long e, long f, long g, long h, long i )
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h + 100000000 * i;
-}
-
-template< int I > struct custom_placeholder
-{
-};
-
-namespace boost
-{
-
-template< int I > struct is_placeholder< custom_placeholder< I > >
-{
-    enum { value = I };
-};
-
-} // namespace boost
-
-int main()
-{
-    int const x1 = 1;
-    int const x2 = 2;
-    int const x3 = 3;
-    int const x4 = 4;
-    int const x5 = 5;
-    int const x6 = 6;
-    int const x7 = 7;
-    int const x8 = 8;
-    int const x9 = 9;
-
-    custom_placeholder<1> p1;
-    custom_placeholder<2> p2;
-    custom_placeholder<3> p3;
-    custom_placeholder<4> p4;
-    custom_placeholder<5> p5;
-    custom_placeholder<6> p6;
-    custom_placeholder<7> p7;
-    custom_placeholder<8> p8;
-    custom_placeholder<9> p9;
-
-    BOOST_TEST( 
-        boost::bind( f, p1, p2, p3, p4, p5, p6, p7, p8, p9 )
-        ( x1, x2, x3, x4, x5, x6, x7, x8, x9 ) == 987654321L );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_ref_test.cpp b/SRC/Boost/libs/bind/test/bind_ref_test.cpp
deleted file mode 100755
index 85e6458..0000000
--- a/SRC/Boost/libs/bind/test/bind_ref_test.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  bind_ref_test.cpp - reference_wrapper
-//
-//  Copyright (c) 2009 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-
-#include <boost/bind.hpp>
-#include <boost/ref.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    int f( int x )
-    {
-        return x;
-    }
-
-    int g( int x ) const
-    {
-        return -x;
-    }
-};
-
-int main()
-{
-    X x;
-
-    BOOST_TEST( boost::bind( &X::f, _1, 1 )( boost::ref( x ) ) == 1 );
-    BOOST_TEST( boost::bind( &X::g, _1, 2 )( boost::cref( x ) ) == -2 );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_rel_test.cpp b/SRC/Boost/libs/bind/test/bind_rel_test.cpp
deleted file mode 100755
index dd1f177..0000000
--- a/SRC/Boost/libs/bind/test/bind_rel_test.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_rel_test.cpp - ==, !=, <, <=, >, >= operators
-//
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-int f( int x )
-{
-    return x + x;
-}
-
-int g( int x )
-{
-    return 2 * x;
-}
-
-int main()
-{
-    int x = 4;
-    int y = x + x;
-
-    // bind op value
-
-    BOOST_TEST( ( boost::bind( f, _1 ) == y )( x ) );
-    BOOST_TEST( !( ( boost::bind( f, _1 ) != y )( x ) ) );
-
-    BOOST_TEST( !( ( boost::bind( f, _1 ) < y )( x ) ) );
-    BOOST_TEST( ( boost::bind( f, _1 ) < y + 1 )( x ) );
-
-    BOOST_TEST( !( ( boost::bind( f, _1 ) > y )( x ) ) );
-    BOOST_TEST( ( boost::bind( f, _1 ) > y - 1 )( x ) );
-
-    BOOST_TEST( !( ( boost::bind( f, _1 ) <= y - 1 )( x ) ) );
-    BOOST_TEST( ( boost::bind( f, _1 ) <= y )( x ) );
-    BOOST_TEST( ( boost::bind( f, _1 ) <= y + 1 )( x ) );
-
-    BOOST_TEST( !( ( boost::bind( f, _1 ) >= y + 1 )( x ) ) );
-    BOOST_TEST( ( boost::bind( f, _1 ) >= y )( x ) );
-    BOOST_TEST( ( boost::bind( f, _1 ) >= y - 1 )( x ) );
-
-    // bind op ref
-
-    BOOST_TEST( ( boost::bind( f, _1 ) == boost::ref( y ) )( x ) );
-    BOOST_TEST( !( ( boost::bind( f, _1 ) != boost::ref( y ) )( x ) ) );
-    BOOST_TEST( !( ( boost::bind( f, _1 ) < boost::ref( y ) )( x ) ) );
-    BOOST_TEST( !( ( boost::bind( f, _1 ) > boost::ref( y ) )( x ) ) );
-    BOOST_TEST( ( boost::bind( f, _1 ) <= boost::ref( y ) )( x ) );
-    BOOST_TEST( ( boost::bind( f, _1 ) >= boost::ref( y ) )( x ) );
-
-    // bind op placeholder
-
-    BOOST_TEST( ( boost::bind( f, _1 ) == _2 )( x, y ) );
-    BOOST_TEST( !( ( boost::bind( f, _1 ) != _2 )( x, y ) ) );
-    BOOST_TEST( !( ( boost::bind( f, _1 ) < _2 )( x, y ) ) );
-    BOOST_TEST( !( ( boost::bind( f, _1 ) > _2 )( x, y ) ) );
-    BOOST_TEST( ( boost::bind( f, _1 ) <= _2 )( x, y ) );
-    BOOST_TEST( ( boost::bind( f, _1 ) >= _2 )( x, y ) );
-
-    // bind op bind
-
-    // important: bind( f, _1 ) and bind( g, _1 ) have the same type
-    BOOST_TEST( ( boost::bind( f, _1 ) == boost::bind( g, _1 ) )( x ) );
-    BOOST_TEST( !( ( boost::bind( f, _1 ) != boost::bind( g, _1 ) )( x ) ) );
-    BOOST_TEST( !( ( boost::bind( f, _1 ) < boost::bind( g, _1 ) )( x ) ) );
-    BOOST_TEST( ( boost::bind( f, _1 ) <= boost::bind( g, _1 ) )( x ) );
-    BOOST_TEST( !( ( boost::bind( f, _1 ) > boost::bind( g, _1 ) )( x ) ) );
-    BOOST_TEST( ( boost::bind( f, _1 ) >= boost::bind( g, _1 ) )( x ) );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_rv_sp_test.cpp b/SRC/Boost/libs/bind/test/bind_rv_sp_test.cpp
deleted file mode 100755
index 52695bb..0000000
--- a/SRC/Boost/libs/bind/test/bind_rv_sp_test.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_rv_sp_test.cpp - smart pointer returned by value from an inner bind
-//
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/shared_ptr.hpp>
-
-struct X
-{
-    int v_;
-
-    X( int v ): v_( v )
-    {
-    }
-
-    int f()
-    {
-        return v_;
-    }
-};
-
-struct Y
-{
-    boost::shared_ptr<X> f()
-    {
-        return boost::shared_ptr<X>( new X( 42 ) );
-    }
-};
-
-int main()
-{
-    Y y;
-
-    BOOST_TEST( boost::bind( &X::f, boost::bind( &Y::f, &y ) )() == 42 );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_rvalue_test.cpp b/SRC/Boost/libs/bind/test/bind_rvalue_test.cpp
deleted file mode 100755
index 9b6c379..0000000
--- a/SRC/Boost/libs/bind/test/bind_rvalue_test.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined( BOOST_MSVC )
-
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-
-#endif
-
-//  bind_rvalue_test.cpp
-//
-//  Copyright (c) 2006 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-//
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-//
-
-int f( int x )
-{
-    return x;
-}
-
-int main()
-{
-    BOOST_TEST( 
-        boost::bind( f, _1 )
-        ( 1 ) == 1 );
-
-    BOOST_TEST( 
-        boost::bind( f, _2 )
-        ( 1, 2 ) == 2 );
-
-    BOOST_TEST( 
-        boost::bind( f, _3 )
-        ( 1, 2, 3 ) == 3 );
-
-    BOOST_TEST( 
-        boost::bind( f, _4 )
-        ( 1, 2, 3, 4 ) == 4 );
-
-    BOOST_TEST( 
-        boost::bind( f, _5 )
-        ( 1, 2, 3, 4, 5 ) == 5 );
-
-    BOOST_TEST( 
-        boost::bind( f, _6 )
-        ( 1, 2, 3, 4, 5, 6 ) == 6 );
-
-    BOOST_TEST( 
-        boost::bind( f, _7 )
-        ( 1, 2, 3, 4, 5, 6, 7 ) == 7 );
-
-    BOOST_TEST( 
-        boost::bind( f, _8 )
-        ( 1, 2, 3, 4, 5, 6, 7, 8 ) == 8 );
-
-    BOOST_TEST( 
-        boost::bind( f, _9 )
-        ( 1, 2, 3, 4, 5, 6, 7, 8, 9 ) == 9 );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_stateful_test.cpp b/SRC/Boost/libs/bind/test/bind_stateful_test.cpp
deleted file mode 100755
index acdafc6..0000000
--- a/SRC/Boost/libs/bind/test/bind_stateful_test.cpp
+++ /dev/null
@@ -1,222 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_stateful_test.cpp
-//
-//  Copyright (c) 2004 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-class X
-{
-private:
-
-    int state_;
-
-public:
-
-    X(): state_(0)
-    {
-    }
-
-    int state() const
-    {
-        return state_;
-    }
-
-    int operator()()
-    {
-        return state_ += 17041;
-    }
-
-    int operator()(int x1)
-    {
-        return state_ += x1;
-    }
-
-    int operator()(int x1, int x2)
-    {
-        return state_ += x1+x2;
-    }
-
-    int operator()(int x1, int x2, int x3)
-    {
-        return state_ += x1+x2+x3;
-    }
-
-    int operator()(int x1, int x2, int x3, int x4)
-    {
-        return state_ += x1+x2+x3+x4;
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5)
-    {
-        return state_ += x1+x2+x3+x4+x5;
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5, int x6)
-    {
-        return state_ += x1+x2+x3+x4+x5+x6;
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5, int x6, int x7)
-    {
-        return state_ += x1+x2+x3+x4+x5+x6+x7;
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5, int x6, int x7, int x8)
-    {
-        return state_ += x1+x2+x3+x4+x5+x6+x7+x8;
-    }
-
-    int operator()(int x1, int x2, int x3, int x4, int x5, int x6, int x7, int x8, int x9)
-    {
-        return state_ += x1+x2+x3+x4+x5+x6+x7+x8+x9;
-    }
-};
-
-int f0(int & state_)
-{
-    return state_ += 17041;
-}
-
-int f1(int & state_, int x1)
-{
-    return state_ += x1;
-}
-
-int f2(int & state_, int x1, int x2)
-{
-    return state_ += x1+x2;
-}
-
-int f3(int & state_, int x1, int x2, int x3)
-{
-    return state_ += x1+x2+x3;
-}
-
-int f4(int & state_, int x1, int x2, int x3, int x4)
-{
-    return state_ += x1+x2+x3+x4;
-}
-
-int f5(int & state_, int x1, int x2, int x3, int x4, int x5)
-{
-    return state_ += x1+x2+x3+x4+x5;
-}
-
-int f6(int & state_, int x1, int x2, int x3, int x4, int x5, int x6)
-{
-    return state_ += x1+x2+x3+x4+x5+x6;
-}
-
-int f7(int & state_, int x1, int x2, int x3, int x4, int x5, int x6, int x7)
-{
-    return state_ += x1+x2+x3+x4+x5+x6+x7;
-}
-
-int f8(int & state_, int x1, int x2, int x3, int x4, int x5, int x6, int x7, int x8)
-{
-    return state_ += x1+x2+x3+x4+x5+x6+x7+x8;
-}
-
-template<class F> void test(F f, int a, int b)
-{
-    BOOST_TEST( f() == a +   b );
-    BOOST_TEST( f() == a + 2*b );
-    BOOST_TEST( f() == a + 3*b );
-}
-
-void stateful_function_object_test()
-{
-    test( boost::bind<int>( X() ), 0, 17041 );
-    test( boost::bind<int>( X(), 1 ), 0, 1 );
-    test( boost::bind<int>( X(), 1, 2 ), 0, 1+2 );
-    test( boost::bind<int>( X(), 1, 2, 3 ), 0, 1+2+3 );
-    test( boost::bind<int>( X(), 1, 2, 3, 4 ), 0, 1+2+3+4 );
-    test( boost::bind<int>( X(), 1, 2, 3, 4, 5 ), 0, 1+2+3+4+5 );
-    test( boost::bind<int>( X(), 1, 2, 3, 4, 5, 6 ), 0, 1+2+3+4+5+6 );
-    test( boost::bind<int>( X(), 1, 2, 3, 4, 5, 6, 7 ), 0, 1+2+3+4+5+6+7 );
-    test( boost::bind<int>( X(), 1, 2, 3, 4, 5, 6, 7, 8 ), 0, 1+2+3+4+5+6+7+8 );
-    test( boost::bind<int>( X(), 1, 2, 3, 4, 5, 6, 7, 8, 9 ), 0, 1+2+3+4+5+6+7+8+9 );
-
-    X x;
-
-    int n = x.state();
-
-    test( boost::bind<int>( boost::ref(x) ), n, 17041 );
-    n += 3*17041;
-
-    test( boost::bind<int>( boost::ref(x), 1 ), n, 1 );
-    n += 3*1;
-
-    test( boost::bind<int>( boost::ref(x), 1, 2 ), n, 1+2 );
-    n += 3*(1+2);
-
-    test( boost::bind<int>( boost::ref(x), 1, 2, 3 ), n, 1+2+3 );
-    n += 3*(1+2+3);
-
-    test( boost::bind<int>( boost::ref(x), 1, 2, 3, 4 ), n, 1+2+3+4 );
-    n += 3*(1+2+3+4);
-
-    test( boost::bind<int>( boost::ref(x), 1, 2, 3, 4, 5 ), n, 1+2+3+4+5 );
-    n += 3*(1+2+3+4+5);
-
-    test( boost::bind<int>( boost::ref(x), 1, 2, 3, 4, 5, 6 ), n, 1+2+3+4+5+6 );
-    n += 3*(1+2+3+4+5+6);
-
-    test( boost::bind<int>( boost::ref(x), 1, 2, 3, 4, 5, 6, 7 ), n, 1+2+3+4+5+6+7 );
-    n += 3*(1+2+3+4+5+6+7);
-
-    test( boost::bind<int>( boost::ref(x), 1, 2, 3, 4, 5, 6, 7, 8 ), n, 1+2+3+4+5+6+7+8 );
-    n += 3*(1+2+3+4+5+6+7+8);
-
-    test( boost::bind<int>( boost::ref(x), 1, 2, 3, 4, 5, 6, 7, 8, 9 ), n, 1+2+3+4+5+6+7+8+9 );
-    n += 3*(1+2+3+4+5+6+7+8+9);
-
-    BOOST_TEST( x.state() == n );
-}
-
-void stateful_function_test()
-{
-    test( boost::bind( f0, 0 ), 0, 17041 );
-    test( boost::bind( f1, 0, 1 ), 0, 1 );
-    test( boost::bind( f2, 0, 1, 2 ), 0, 1+2 );
-    test( boost::bind( f3, 0, 1, 2, 3 ), 0, 1+2+3 );
-    test( boost::bind( f4, 0, 1, 2, 3, 4 ), 0, 1+2+3+4 );
-    test( boost::bind( f5, 0, 1, 2, 3, 4, 5 ), 0, 1+2+3+4+5 );
-    test( boost::bind( f6, 0, 1, 2, 3, 4, 5, 6 ), 0, 1+2+3+4+5+6 );
-    test( boost::bind( f7, 0, 1, 2, 3, 4, 5, 6, 7 ), 0, 1+2+3+4+5+6+7 );
-    test( boost::bind( f8, 0, 1, 2, 3, 4, 5, 6, 7, 8 ), 0, 1+2+3+4+5+6+7+8 );
-}
-
-int main()
-{
-    stateful_function_object_test();
-    stateful_function_test();
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_stdcall_mf_test.cpp b/SRC/Boost/libs/bind/test/bind_stdcall_mf_test.cpp
deleted file mode 100755
index 703fb0f..0000000
--- a/SRC/Boost/libs/bind/test/bind_stdcall_mf_test.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_stdcall_mf_test.cpp - test for bind.hpp + __stdcall (member functions)
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#define BOOST_MEM_FN_ENABLE_STDCALL
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    mutable unsigned int hash;
-
-    X(): hash(0) {}
-
-    int __stdcall f0() { f1(17); return 0; }
-    int __stdcall g0() const { g1(17); return 0; }
-
-    int __stdcall f1(int a1) { hash = (hash * 17041 + a1) % 32768; return 0; }
-    int __stdcall g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; return 0; }
-
-    int __stdcall f2(int a1, int a2) { f1(a1); f1(a2); return 0; }
-    int __stdcall g2(int a1, int a2) const { g1(a1); g1(a2); return 0; }
-
-    int __stdcall f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); return 0; }
-    int __stdcall g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); return 0; }
-
-    int __stdcall f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); return 0; }
-    int __stdcall g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); return 0; }
-
-    int __stdcall f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); return 0; }
-    int __stdcall g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); return 0; }
-
-    int __stdcall f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); return 0; }
-    int __stdcall g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); return 0; }
-
-    int __stdcall f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); return 0; }
-    int __stdcall g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); return 0; }
-
-    int __stdcall f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); return 0; }
-    int __stdcall g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); return 0; }
-};
-
-void member_function_test()
-{
-    using namespace boost;
-
-    X x;
-
-    // 0
-
-    bind(&X::f0, &x)();
-    bind(&X::f0, ref(x))();
-
-    bind(&X::g0, &x)();
-    bind(&X::g0, x)();
-    bind(&X::g0, ref(x))();
-
-    // 1
-
-    bind(&X::f1, &x, 1)();
-    bind(&X::f1, ref(x), 1)();
-
-    bind(&X::g1, &x, 1)();
-    bind(&X::g1, x, 1)();
-    bind(&X::g1, ref(x), 1)();
-
-    // 2
-
-    bind(&X::f2, &x, 1, 2)();
-    bind(&X::f2, ref(x), 1, 2)();
-
-    bind(&X::g2, &x, 1, 2)();
-    bind(&X::g2, x, 1, 2)();
-    bind(&X::g2, ref(x), 1, 2)();
-
-    // 3
-
-    bind(&X::f3, &x, 1, 2, 3)();
-    bind(&X::f3, ref(x), 1, 2, 3)();
-
-    bind(&X::g3, &x, 1, 2, 3)();
-    bind(&X::g3, x, 1, 2, 3)();
-    bind(&X::g3, ref(x), 1, 2, 3)();
-
-    // 4
-
-    bind(&X::f4, &x, 1, 2, 3, 4)();
-    bind(&X::f4, ref(x), 1, 2, 3, 4)();
-
-    bind(&X::g4, &x, 1, 2, 3, 4)();
-    bind(&X::g4, x, 1, 2, 3, 4)();
-    bind(&X::g4, ref(x), 1, 2, 3, 4)();
-
-    // 5
-
-    bind(&X::f5, &x, 1, 2, 3, 4, 5)();
-    bind(&X::f5, ref(x), 1, 2, 3, 4, 5)();
-
-    bind(&X::g5, &x, 1, 2, 3, 4, 5)();
-    bind(&X::g5, x, 1, 2, 3, 4, 5)();
-    bind(&X::g5, ref(x), 1, 2, 3, 4, 5)();
-
-    // 6
-
-    bind(&X::f6, &x, 1, 2, 3, 4, 5, 6)();
-    bind(&X::f6, ref(x), 1, 2, 3, 4, 5, 6)();
-
-    bind(&X::g6, &x, 1, 2, 3, 4, 5, 6)();
-    bind(&X::g6, x, 1, 2, 3, 4, 5, 6)();
-    bind(&X::g6, ref(x), 1, 2, 3, 4, 5, 6)();
-
-    // 7
-
-    bind(&X::f7, &x, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&X::f7, ref(x), 1, 2, 3, 4, 5, 6, 7)();
-
-    bind(&X::g7, &x, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&X::g7, x, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&X::g7, ref(x), 1, 2, 3, 4, 5, 6, 7)();
-
-    // 8
-
-    bind(&X::f8, &x, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&X::f8, ref(x), 1, 2, 3, 4, 5, 6, 7, 8)();
-
-    bind(&X::g8, &x, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&X::g8, x, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&X::g8, ref(x), 1, 2, 3, 4, 5, 6, 7, 8)();
-
-    BOOST_TEST( x.hash == 23558 );
-}
-
-int main()
-{
-    member_function_test();
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_stdcall_test.cpp b/SRC/Boost/libs/bind/test/bind_stdcall_test.cpp
deleted file mode 100755
index 8bd97d7..0000000
--- a/SRC/Boost/libs/bind/test/bind_stdcall_test.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_stdcall_test.cpp - test for bind.hpp + __stdcall (free functions)
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#define BOOST_BIND_ENABLE_STDCALL
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-//
-
-long __stdcall f_0()
-{
-    return 17041L;
-}
-
-long __stdcall f_1(long a)
-{
-    return a;
-}
-
-long __stdcall f_2(long a, long b)
-{
-    return a + 10 * b;
-}
-
-long __stdcall f_3(long a, long b, long c)
-{
-    return a + 10 * b + 100 * c;
-}
-
-long __stdcall f_4(long a, long b, long c, long d)
-{
-    return a + 10 * b + 100 * c + 1000 * d;
-}
-
-long __stdcall f_5(long a, long b, long c, long d, long e)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e;
-}
-
-long __stdcall f_6(long a, long b, long c, long d, long e, long f)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f;
-}
-
-long __stdcall f_7(long a, long b, long c, long d, long e, long f, long g)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g;
-}
-
-long __stdcall f_8(long a, long b, long c, long d, long e, long f, long g, long h)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h;
-}
-
-long __stdcall f_9(long a, long b, long c, long d, long e, long f, long g, long h, long i)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h + 100000000 * i;
-}
-
-void function_test()
-{
-    using namespace boost;
-
-    int const i = 1;
-
-    BOOST_TEST( bind(f_0)(i) == 17041L );
-    BOOST_TEST( bind(f_1, _1)(i) == 1L );
-    BOOST_TEST( bind(f_2, _1, 2)(i) == 21L );
-    BOOST_TEST( bind(f_3, _1, 2, 3)(i) == 321L );
-    BOOST_TEST( bind(f_4, _1, 2, 3, 4)(i) == 4321L );
-    BOOST_TEST( bind(f_5, _1, 2, 3, 4, 5)(i) == 54321L );
-    BOOST_TEST( bind(f_6, _1, 2, 3, 4, 5, 6)(i) == 654321L );
-    BOOST_TEST( bind(f_7, _1, 2, 3, 4, 5, 6, 7)(i) == 7654321L );
-    BOOST_TEST( bind(f_8, _1, 2, 3, 4, 5, 6, 7, 8)(i) == 87654321L );
-    BOOST_TEST( bind(f_9, _1, 2, 3, 4, 5, 6, 7, 8, 9)(i) == 987654321L );
-}
-
-int main()
-{
-    function_test();
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_test.cpp b/SRC/Boost/libs/bind/test/bind_test.cpp
deleted file mode 100755
index 21dcec0..0000000
--- a/SRC/Boost/libs/bind/test/bind_test.cpp
+++ /dev/null
@@ -1,521 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_test.cpp - monolithic test for bind.hpp
-//
-//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-//  Copyright (c) 2001 David Abrahams
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-#include <boost/ref.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-//
-
-long f_0()
-{
-    return 17041L;
-}
-
-long f_1(long a)
-{
-    return a;
-}
-
-long f_2(long a, long b)
-{
-    return a + 10 * b;
-}
-
-long f_3(long a, long b, long c)
-{
-    return a + 10 * b + 100 * c;
-}
-
-long f_4(long a, long b, long c, long d)
-{
-    return a + 10 * b + 100 * c + 1000 * d;
-}
-
-long f_5(long a, long b, long c, long d, long e)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e;
-}
-
-long f_6(long a, long b, long c, long d, long e, long f)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f;
-}
-
-long f_7(long a, long b, long c, long d, long e, long f, long g)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g;
-}
-
-long f_8(long a, long b, long c, long d, long e, long f, long g, long h)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h;
-}
-
-long f_9(long a, long b, long c, long d, long e, long f, long g, long h, long i)
-{
-    return a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h + 100000000 * i;
-}
-
-long global_result;
-
-void fv_0()
-{
-    global_result = 17041L;
-}
-
-void fv_1(long a)
-{
-    global_result = a;
-}
-
-void fv_2(long a, long b)
-{
-    global_result = a + 10 * b;
-}
-
-void fv_3(long a, long b, long c)
-{
-    global_result = a + 10 * b + 100 * c;
-}
-
-void fv_4(long a, long b, long c, long d)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d;
-}
-
-void fv_5(long a, long b, long c, long d, long e)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e;
-}
-
-void fv_6(long a, long b, long c, long d, long e, long f)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f;
-}
-
-void fv_7(long a, long b, long c, long d, long e, long f, long g)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g;
-}
-
-void fv_8(long a, long b, long c, long d, long e, long f, long g, long h)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h;
-}
-
-void fv_9(long a, long b, long c, long d, long e, long f, long g, long h, long i)
-{
-    global_result = a + 10 * b + 100 * c + 1000 * d + 10000 * e + 100000 * f + 1000000 * g + 10000000 * h + 100000000 * i;
-}
-
-void function_test()
-{
-    using namespace boost;
-
-    int const i = 1;
-
-    BOOST_TEST( bind(f_0)(i) == 17041L );
-    BOOST_TEST( bind(f_1, _1)(i) == 1L );
-    BOOST_TEST( bind(f_2, _1, 2)(i) == 21L );
-    BOOST_TEST( bind(f_3, _1, 2, 3)(i) == 321L );
-    BOOST_TEST( bind(f_4, _1, 2, 3, 4)(i) == 4321L );
-    BOOST_TEST( bind(f_5, _1, 2, 3, 4, 5)(i) == 54321L );
-    BOOST_TEST( bind(f_6, _1, 2, 3, 4, 5, 6)(i) == 654321L );
-    BOOST_TEST( bind(f_7, _1, 2, 3, 4, 5, 6, 7)(i) == 7654321L );
-    BOOST_TEST( bind(f_8, _1, 2, 3, 4, 5, 6, 7, 8)(i) == 87654321L );
-    BOOST_TEST( bind(f_9, _1, 2, 3, 4, 5, 6, 7, 8, 9)(i) == 987654321L );
-
-    BOOST_TEST( (bind(fv_0)(i), (global_result == 17041L)) );
-    BOOST_TEST( (bind(fv_1, _1)(i), (global_result == 1L)) );
-    BOOST_TEST( (bind(fv_2, _1, 2)(i), (global_result == 21L)) );
-    BOOST_TEST( (bind(fv_3, _1, 2, 3)(i), (global_result == 321L)) );
-    BOOST_TEST( (bind(fv_4, _1, 2, 3, 4)(i), (global_result == 4321L)) );
-    BOOST_TEST( (bind(fv_5, _1, 2, 3, 4, 5)(i), (global_result == 54321L)) );
-    BOOST_TEST( (bind(fv_6, _1, 2, 3, 4, 5, 6)(i), (global_result == 654321L)) );
-    BOOST_TEST( (bind(fv_7, _1, 2, 3, 4, 5, 6, 7)(i), (global_result == 7654321L)) );
-    BOOST_TEST( (bind(fv_8, _1, 2, 3, 4, 5, 6, 7, 8)(i), (global_result == 87654321L)) );
-    BOOST_TEST( (bind(fv_9, _1, 2, 3, 4, 5, 6, 7, 8, 9)(i), (global_result == 987654321L)) );
-}
-
-//
-
-struct Y
-{
-    short operator()(short & r) const { return ++r; }
-    int operator()(int a, int b) const { return a + 10 * b; }
-    long operator() (long a, long b, long c) const { return a + 10 * b + 100 * c; }
-    void operator() (long a, long b, long c, long d) const { global_result = a + 10 * b + 100 * c + 1000 * d; }
-};
-
-void function_object_test()
-{
-    using namespace boost;
-
-    short i(6);
-
-    int const k = 3;
-
-    BOOST_TEST( bind<short>(Y(), ref(i))() == 7 );
-    BOOST_TEST( bind<short>(Y(), ref(i))() == 8 );
-    BOOST_TEST( bind<int>(Y(), i, _1)(k) == 38 );
-    BOOST_TEST( bind<long>(Y(), i, _1, 9)(k) == 938 );
-
-#if !defined(__MWERKS__) || (__MWERKS__ > 0x2407)     // Fails for this version of the compiler.
-
-    global_result = 0;
-    bind<void>(Y(), i, _1, 9, 4)(k);
-    BOOST_TEST( global_result == 4938 );
-
-#endif
-}
-
-void function_object_test2()
-{
-    using namespace boost;
-
-    short i(6);
-
-    int const k = 3;
-
-    BOOST_TEST( bind(type<short>(), Y(), ref(i))() == 7 );
-    BOOST_TEST( bind(type<short>(), Y(), ref(i))() == 8 );
-    BOOST_TEST( bind(type<int>(), Y(), i, _1)(k) == 38 );
-    BOOST_TEST( bind(type<long>(), Y(), i, _1, 9)(k) == 938 );
-
-    global_result = 0;
-    bind(type<void>(), Y(), i, _1, 9, 4)(k);
-    BOOST_TEST( global_result == 4938 );
-}
-
-//
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-
-struct Z
-{
-    typedef int result_type;
-    int operator()(int a, int b) const { return a + 10 * b; }
-};
-
-void adaptable_function_object_test()
-{
-    BOOST_TEST( boost::bind(Z(), 7, 4)() == 47 );
-}
-
-#endif
-
-//
-
-struct X
-{
-    mutable unsigned int hash;
-
-    X(): hash(0) {}
-
-    int f0() { f1(17); return 0; }
-    int g0() const { g1(17); return 0; }
-
-    int f1(int a1) { hash = (hash * 17041 + a1) % 32768; return 0; }
-    int g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; return 0; }
-
-    int f2(int a1, int a2) { f1(a1); f1(a2); return 0; }
-    int g2(int a1, int a2) const { g1(a1); g1(a2); return 0; }
-
-    int f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); return 0; }
-    int g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); return 0; }
-
-    int f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); return 0; }
-    int g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); return 0; }
-
-    int f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); return 0; }
-    int g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); return 0; }
-
-    int f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); return 0; }
-    int g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); return 0; }
-
-    int f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); return 0; }
-    int g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); return 0; }
-
-    int f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); return 0; }
-    int g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); return 0; }
-};
-
-struct V
-{
-    mutable unsigned int hash;
-
-    V(): hash(0) {}
-
-    void f0() { f1(17); }
-    void g0() const { g1(17); }
-
-    void f1(int a1) { hash = (hash * 17041 + a1) % 32768; }
-    void g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; }
-
-    void f2(int a1, int a2) { f1(a1); f1(a2); }
-    void g2(int a1, int a2) const { g1(a1); g1(a2); }
-
-    void f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); }
-    void g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); }
-
-    void f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); }
-    void g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); }
-
-    void f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); }
-    void g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); }
-
-    void f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); }
-    void g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); }
-
-    void f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); }
-    void g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); }
-
-    void f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); }
-    void g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); }
-};
-
-void member_function_test()
-{
-    using namespace boost;
-
-    X x;
-
-    // 0
-
-    bind(&X::f0, &x)();
-    bind(&X::f0, ref(x))();
-
-    bind(&X::g0, &x)();
-    bind(&X::g0, x)();
-    bind(&X::g0, ref(x))();
-
-    // 1
-
-    bind(&X::f1, &x, 1)();
-    bind(&X::f1, ref(x), 1)();
-
-    bind(&X::g1, &x, 1)();
-    bind(&X::g1, x, 1)();
-    bind(&X::g1, ref(x), 1)();
-
-    // 2
-
-    bind(&X::f2, &x, 1, 2)();
-    bind(&X::f2, ref(x), 1, 2)();
-
-    bind(&X::g2, &x, 1, 2)();
-    bind(&X::g2, x, 1, 2)();
-    bind(&X::g2, ref(x), 1, 2)();
-
-    // 3
-
-    bind(&X::f3, &x, 1, 2, 3)();
-    bind(&X::f3, ref(x), 1, 2, 3)();
-
-    bind(&X::g3, &x, 1, 2, 3)();
-    bind(&X::g3, x, 1, 2, 3)();
-    bind(&X::g3, ref(x), 1, 2, 3)();
-
-    // 4
-
-    bind(&X::f4, &x, 1, 2, 3, 4)();
-    bind(&X::f4, ref(x), 1, 2, 3, 4)();
-
-    bind(&X::g4, &x, 1, 2, 3, 4)();
-    bind(&X::g4, x, 1, 2, 3, 4)();
-    bind(&X::g4, ref(x), 1, 2, 3, 4)();
-
-    // 5
-
-    bind(&X::f5, &x, 1, 2, 3, 4, 5)();
-    bind(&X::f5, ref(x), 1, 2, 3, 4, 5)();
-
-    bind(&X::g5, &x, 1, 2, 3, 4, 5)();
-    bind(&X::g5, x, 1, 2, 3, 4, 5)();
-    bind(&X::g5, ref(x), 1, 2, 3, 4, 5)();
-
-    // 6
-
-    bind(&X::f6, &x, 1, 2, 3, 4, 5, 6)();
-    bind(&X::f6, ref(x), 1, 2, 3, 4, 5, 6)();
-
-    bind(&X::g6, &x, 1, 2, 3, 4, 5, 6)();
-    bind(&X::g6, x, 1, 2, 3, 4, 5, 6)();
-    bind(&X::g6, ref(x), 1, 2, 3, 4, 5, 6)();
-
-    // 7
-
-    bind(&X::f7, &x, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&X::f7, ref(x), 1, 2, 3, 4, 5, 6, 7)();
-
-    bind(&X::g7, &x, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&X::g7, x, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&X::g7, ref(x), 1, 2, 3, 4, 5, 6, 7)();
-
-    // 8
-
-    bind(&X::f8, &x, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&X::f8, ref(x), 1, 2, 3, 4, 5, 6, 7, 8)();
-
-    bind(&X::g8, &x, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&X::g8, x, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&X::g8, ref(x), 1, 2, 3, 4, 5, 6, 7, 8)();
-
-    BOOST_TEST( x.hash == 23558 );
-}
-
-void member_function_void_test()
-{
-    using namespace boost;
-
-    V v;
-
-    // 0
-
-    bind(&V::f0, &v)();
-    bind(&V::f0, ref(v))();
-
-    bind(&V::g0, &v)();
-    bind(&V::g0, v)();
-    bind(&V::g0, ref(v))();
-
-    // 1
-
-    bind(&V::f1, &v, 1)();
-    bind(&V::f1, ref(v), 1)();
-
-    bind(&V::g1, &v, 1)();
-    bind(&V::g1, v, 1)();
-    bind(&V::g1, ref(v), 1)();
-
-    // 2
-
-    bind(&V::f2, &v, 1, 2)();
-    bind(&V::f2, ref(v), 1, 2)();
-
-    bind(&V::g2, &v, 1, 2)();
-    bind(&V::g2, v, 1, 2)();
-    bind(&V::g2, ref(v), 1, 2)();
-
-    // 3
-
-    bind(&V::f3, &v, 1, 2, 3)();
-    bind(&V::f3, ref(v), 1, 2, 3)();
-
-    bind(&V::g3, &v, 1, 2, 3)();
-    bind(&V::g3, v, 1, 2, 3)();
-    bind(&V::g3, ref(v), 1, 2, 3)();
-
-    // 4
-
-    bind(&V::f4, &v, 1, 2, 3, 4)();
-    bind(&V::f4, ref(v), 1, 2, 3, 4)();
-
-    bind(&V::g4, &v, 1, 2, 3, 4)();
-    bind(&V::g4, v, 1, 2, 3, 4)();
-    bind(&V::g4, ref(v), 1, 2, 3, 4)();
-
-    // 5
-
-    bind(&V::f5, &v, 1, 2, 3, 4, 5)();
-    bind(&V::f5, ref(v), 1, 2, 3, 4, 5)();
-
-    bind(&V::g5, &v, 1, 2, 3, 4, 5)();
-    bind(&V::g5, v, 1, 2, 3, 4, 5)();
-    bind(&V::g5, ref(v), 1, 2, 3, 4, 5)();
-
-    // 6
-
-    bind(&V::f6, &v, 1, 2, 3, 4, 5, 6)();
-    bind(&V::f6, ref(v), 1, 2, 3, 4, 5, 6)();
-
-    bind(&V::g6, &v, 1, 2, 3, 4, 5, 6)();
-    bind(&V::g6, v, 1, 2, 3, 4, 5, 6)();
-    bind(&V::g6, ref(v), 1, 2, 3, 4, 5, 6)();
-
-    // 7
-
-    bind(&V::f7, &v, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&V::f7, ref(v), 1, 2, 3, 4, 5, 6, 7)();
-
-    bind(&V::g7, &v, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&V::g7, v, 1, 2, 3, 4, 5, 6, 7)();
-    bind(&V::g7, ref(v), 1, 2, 3, 4, 5, 6, 7)();
-
-    // 8
-
-    bind(&V::f8, &v, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&V::f8, ref(v), 1, 2, 3, 4, 5, 6, 7, 8)();
-
-    bind(&V::g8, &v, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&V::g8, v, 1, 2, 3, 4, 5, 6, 7, 8)();
-    bind(&V::g8, ref(v), 1, 2, 3, 4, 5, 6, 7, 8)();
-
-    BOOST_TEST( v.hash == 23558 );
-}
-
-void nested_bind_test()
-{
-    using namespace boost;
-
-    int const x = 1;
-    int const y = 2;
-
-    BOOST_TEST( bind(f_1, bind(f_1, _1))(x) == 1L );
-    BOOST_TEST( bind(f_1, bind(f_2, _1, _2))(x, y) == 21L );
-    BOOST_TEST( bind(f_2, bind(f_1, _1), bind(f_1, _1))(x) == 11L );
-    BOOST_TEST( bind(f_2, bind(f_1, _1), bind(f_1, _2))(x, y) == 21L );
-    BOOST_TEST( bind(f_1, bind(f_0))() == 17041L );
-
-    BOOST_TEST( (bind(fv_1, bind(f_1, _1))(x), (global_result == 1L)) );
-    BOOST_TEST( (bind(fv_1, bind(f_2, _1, _2))(x, y), (global_result == 21L)) );
-    BOOST_TEST( (bind(fv_2, bind(f_1, _1), bind(f_1, _1))(x), (global_result == 11L)) );
-    BOOST_TEST( (bind(fv_2, bind(f_1, _1), bind(f_1, _2))(x, y), (global_result == 21L)) );
-    BOOST_TEST( (bind(fv_1, bind(f_0))(), (global_result == 17041L)) );
-}
-
-int main()
-{
-    function_test();
-    function_object_test();
-    function_object_test2();
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-    adaptable_function_object_test();
-#endif
-
-    member_function_test();
-    member_function_void_test();
-    nested_bind_test();
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/bind_unary_addr.cpp b/SRC/Boost/libs/bind/test/bind_unary_addr.cpp
deleted file mode 100755
index ba8b2af..0000000
--- a/SRC/Boost/libs/bind/test/bind_unary_addr.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  bind_unary_addr.cpp
-//
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/bind.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-class X
-{
-private:
-
-    void operator& ();
-    void operator& () const;
-
-public:
-
-    void operator()()
-    {
-    }
-
-    void operator()() const
-    {
-    }
-
-    void operator()(int)
-    {
-    }
-
-    void operator()(int) const
-    {
-    }
-
-    void operator()(int, int)
-    {
-    }
-
-    void operator()(int, int) const
-    {
-    }
-
-    void operator()(int, int, int)
-    {
-    }
-
-    void operator()(int, int, int) const
-    {
-    }
-
-    void operator()(int, int, int, int)
-    {
-    }
-
-    void operator()(int, int, int, int) const
-    {
-    }
-
-    void operator()(int, int, int, int, int)
-    {
-    }
-
-    void operator()(int, int, int, int, int) const
-    {
-    }
-
-    void operator()(int, int, int, int, int, int)
-    {
-    }
-
-    void operator()(int, int, int, int, int, int) const
-    {
-    }
-
-    void operator()(int, int, int, int, int, int, int)
-    {
-    }
-
-    void operator()(int, int, int, int, int, int, int) const
-    {
-    }
-
-    void operator()(int, int, int, int, int, int, int, int)
-    {
-    }
-
-    void operator()(int, int, int, int, int, int, int, int) const
-    {
-    }
-
-    void operator()(int, int, int, int, int, int, int, int, int)
-    {
-    }
-
-    void operator()(int, int, int, int, int, int, int, int, int) const
-    {
-    }
-};
-
-template<class F> void test_const( F const & f )
-{
-    f();
-}
-
-template<class F> void test( F f )
-{
-    f();
-    test_const( f );
-}
-
-int main()
-{
-    test( boost::bind<void>( X() ) );
-    test( boost::bind<void>( X(), 1 ) );
-    test( boost::bind<void>( X(), 1, 2 ) );
-    test( boost::bind<void>( X(), 1, 2, 3 ) );
-    test( boost::bind<void>( X(), 1, 2, 3, 4 ) );
-    test( boost::bind<void>( X(), 1, 2, 3, 4, 5 ) );
-    test( boost::bind<void>( X(), 1, 2, 3, 4, 5, 6 ) );
-    test( boost::bind<void>( X(), 1, 2, 3, 4, 5, 6, 7 ) );
-    test( boost::bind<void>( X(), 1, 2, 3, 4, 5, 6, 7, 8 ) );
-    test( boost::bind<void>( X(), 1, 2, 3, 4, 5, 6, 7, 8, 9 ) );
-
-    return 0;
-}
diff --git a/SRC/Boost/libs/bind/test/bind_visit_test.cpp b/SRC/Boost/libs/bind/test/bind_visit_test.cpp
deleted file mode 100755
index 8291a3a..0000000
--- a/SRC/Boost/libs/bind/test/bind_visit_test.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-# pragma warning(disable: 4786)  // identifier truncated in debug info
-# pragma warning(disable: 4710)  // function not inlined
-# pragma warning(disable: 4711)  // function selected for automatic inline expansion
-# pragma warning(disable: 4514)  // unreferenced inline removed
-# pragma warning(disable: 4100)  // unreferenced formal parameter (it is referenced!)
-#endif
-
-// Copyright (c) 2006 Douglas Gregor <doug.gregor at gmail.com>
-// Copyright (c) 2006 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/bind.hpp>
-#include <boost/visit_each.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-# pragma warning(push, 3)
-#endif
-
-#include <iostream>
-#include <typeinfo>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-# pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-struct visitor
-{
-    int hash;
-
-    visitor(): hash( 0 )
-    {
-    }
-
-    template<typename T> void operator()( T const & t )
-    {
-        std::cout << "visitor::operator()( T ): " << typeid( t ).name() << std::endl;
-    }
-
-    void operator()( int const & t )
-    {
-        std::cout << "visitor::operator()( int ): " << t << std::endl;
-        hash = hash * 10 + t;
-    }
-};
-
-int f( int x, int y, int z )
-{
-    return x + y + z;
-}
-
-int main()
-{
-    visitor vis;
-
-    boost::visit_each( vis, boost::bind( f, 3, _1, 4 ) );
-
-    BOOST_TEST( vis.hash == 34 );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/mem_fn_cdecl_test.cpp b/SRC/Boost/libs/bind/test/mem_fn_cdecl_test.cpp
deleted file mode 100755
index 69f3326..0000000
--- a/SRC/Boost/libs/bind/test/mem_fn_cdecl_test.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  mem_fn_cdecl_test.cpp - a test for mem_fn.hpp + __cdecl
-//
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#define BOOST_MEM_FN_ENABLE_CDECL
-
-#include <boost/mem_fn.hpp>
-#include <boost/shared_ptr.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-
-struct X
-{
-    mutable unsigned int hash;
-
-    X(): hash(0) {}
-
-    int __cdecl f0() { f1(17); return 0; }
-    int __cdecl g0() const { g1(17); return 0; }
-
-    int __cdecl f1(int a1) { hash = (hash * 17041 + a1) % 32768; return 0; }
-    int __cdecl g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; return 0; }
-
-    int __cdecl f2(int a1, int a2) { f1(a1); f1(a2); return 0; }
-    int __cdecl g2(int a1, int a2) const { g1(a1); g1(a2); return 0; }
-
-    int __cdecl f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); return 0; }
-    int __cdecl g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); return 0; }
-
-    int __cdecl f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); return 0; }
-    int __cdecl g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); return 0; }
-
-    int __cdecl f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); return 0; }
-    int __cdecl g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); return 0; }
-
-    int __cdecl f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); return 0; }
-    int __cdecl g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); return 0; }
-
-    int __cdecl f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); return 0; }
-    int __cdecl g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); return 0; }
-
-    int __cdecl f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); return 0; }
-    int __cdecl g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); return 0; }
-};
-
-int detect_errors(bool x)
-{
-    if(x)
-    {
-        std::cerr << "no errors detected.\n";
-        return 0;
-    }
-    else
-    {
-        std::cerr << "test failed.\n";
-        return 1;
-    }
-}
-
-int main()
-{
-    using boost::mem_fn;
-
-    X x;
-
-    X const & rcx = x;
-    X const * pcx = &x;
-
-    boost::shared_ptr<X> sp(new X);
-
-    mem_fn(&X::f0)(x);
-    mem_fn(&X::f0)(&x);
-    mem_fn(&X::f0)(sp);
-
-    mem_fn(&X::g0)(x);
-    mem_fn(&X::g0)(rcx);
-    mem_fn(&X::g0)(&x);
-    mem_fn(&X::g0)(pcx);
-    mem_fn(&X::g0)(sp);
-
-    mem_fn(&X::f1)(x, 1);
-    mem_fn(&X::f1)(&x, 1);
-    mem_fn(&X::f1)(sp, 1);
-
-    mem_fn(&X::g1)(x, 1);
-    mem_fn(&X::g1)(rcx, 1);
-    mem_fn(&X::g1)(&x, 1);
-    mem_fn(&X::g1)(pcx, 1);
-    mem_fn(&X::g1)(sp, 1);
-
-    mem_fn(&X::f2)(x, 1, 2);
-    mem_fn(&X::f2)(&x, 1, 2);
-    mem_fn(&X::f2)(sp, 1, 2);
-
-    mem_fn(&X::g2)(x, 1, 2);
-    mem_fn(&X::g2)(rcx, 1, 2);
-    mem_fn(&X::g2)(&x, 1, 2);
-    mem_fn(&X::g2)(pcx, 1, 2);
-    mem_fn(&X::g2)(sp, 1, 2);
-
-    mem_fn(&X::f3)(x, 1, 2, 3);
-    mem_fn(&X::f3)(&x, 1, 2, 3);
-    mem_fn(&X::f3)(sp, 1, 2, 3);
-
-    mem_fn(&X::g3)(x, 1, 2, 3);
-    mem_fn(&X::g3)(rcx, 1, 2, 3);
-    mem_fn(&X::g3)(&x, 1, 2, 3);
-    mem_fn(&X::g3)(pcx, 1, 2, 3);
-    mem_fn(&X::g3)(sp, 1, 2, 3);
-
-    mem_fn(&X::f4)(x, 1, 2, 3, 4);
-    mem_fn(&X::f4)(&x, 1, 2, 3, 4);
-    mem_fn(&X::f4)(sp, 1, 2, 3, 4);
-
-    mem_fn(&X::g4)(x, 1, 2, 3, 4);
-    mem_fn(&X::g4)(rcx, 1, 2, 3, 4);
-    mem_fn(&X::g4)(&x, 1, 2, 3, 4);
-    mem_fn(&X::g4)(pcx, 1, 2, 3, 4);
-    mem_fn(&X::g4)(sp, 1, 2, 3, 4);
-
-    mem_fn(&X::f5)(x, 1, 2, 3, 4, 5);
-    mem_fn(&X::f5)(&x, 1, 2, 3, 4, 5);
-    mem_fn(&X::f5)(sp, 1, 2, 3, 4, 5);
-
-    mem_fn(&X::g5)(x, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(rcx, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(&x, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(pcx, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(sp, 1, 2, 3, 4, 5);
-
-    mem_fn(&X::f6)(x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::f6)(&x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::f6)(sp, 1, 2, 3, 4, 5, 6);
-
-    mem_fn(&X::g6)(x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(rcx, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(&x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(pcx, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(sp, 1, 2, 3, 4, 5, 6);
-
-    mem_fn(&X::f7)(x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::f7)(&x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::f7)(sp, 1, 2, 3, 4, 5, 6, 7);
-
-    mem_fn(&X::g7)(x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(rcx, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(&x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(pcx, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(sp, 1, 2, 3, 4, 5, 6, 7);
-
-    mem_fn(&X::f8)(x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::f8)(&x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::f8)(sp, 1, 2, 3, 4, 5, 6, 7, 8);
-
-    mem_fn(&X::g8)(x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(rcx, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(&x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(pcx, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(sp, 1, 2, 3, 4, 5, 6, 7, 8);
-
-    return detect_errors(x.hash == 17610 && sp->hash == 2155);
-}
diff --git a/SRC/Boost/libs/bind/test/mem_fn_derived_test.cpp b/SRC/Boost/libs/bind/test/mem_fn_derived_test.cpp
deleted file mode 100755
index 03ae897..0000000
--- a/SRC/Boost/libs/bind/test/mem_fn_derived_test.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  mem_fn_derived_test.cpp - tests mem_fn.hpp with derived objects
-//
-//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/mem_fn.hpp>
-#include <boost/shared_ptr.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-
-struct B
-{
-    mutable unsigned int hash;
-
-    B(): hash(0) {}
-
-    int f0() { f1(17); return 0; }
-    int g0() const { g1(17); return 0; }
-
-    int f1(int a1) { hash = (hash * 17041 + a1) % 32768; return 0; }
-    int g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; return 0; }
-
-    int f2(int a1, int a2) { f1(a1); f1(a2); return 0; }
-    int g2(int a1, int a2) const { g1(a1); g1(a2); return 0; }
-
-    int f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); return 0; }
-    int g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); return 0; }
-
-    int f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); return 0; }
-    int g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); return 0; }
-
-    int f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); return 0; }
-    int g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); return 0; }
-
-    int f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); return 0; }
-    int g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); return 0; }
-
-    int f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); return 0; }
-    int g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); return 0; }
-
-    int f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); return 0; }
-    int g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); return 0; }
-};
-
-struct X: public B
-{
-};
-
-int detect_errors(bool x)
-{
-    if(x)
-    {
-        std::cerr << "no errors detected.\n";
-        return 0;
-    }
-    else
-    {
-        std::cerr << "test failed.\n";
-        return 1;
-    }
-}
-
-int main()
-{
-    using boost::mem_fn;
-
-    X x;
-
-    X const & rcx = x;
-    X const * pcx = &x;
-
-    boost::shared_ptr<X> sp(new X);
-
-    mem_fn(&X::f0)(x);
-    mem_fn(&X::f0)(&x);
-    mem_fn(&X::f0)(sp);
-
-    mem_fn(&X::g0)(x);
-    mem_fn(&X::g0)(rcx);
-    mem_fn(&X::g0)(&x);
-    mem_fn(&X::g0)(pcx);
-    mem_fn(&X::g0)(sp);
-
-    mem_fn(&X::f1)(x, 1);
-    mem_fn(&X::f1)(&x, 1);
-    mem_fn(&X::f1)(sp, 1);
-
-    mem_fn(&X::g1)(x, 1);
-    mem_fn(&X::g1)(rcx, 1);
-    mem_fn(&X::g1)(&x, 1);
-    mem_fn(&X::g1)(pcx, 1);
-    mem_fn(&X::g1)(sp, 1);
-
-    mem_fn(&X::f2)(x, 1, 2);
-    mem_fn(&X::f2)(&x, 1, 2);
-    mem_fn(&X::f2)(sp, 1, 2);
-
-    mem_fn(&X::g2)(x, 1, 2);
-    mem_fn(&X::g2)(rcx, 1, 2);
-    mem_fn(&X::g2)(&x, 1, 2);
-    mem_fn(&X::g2)(pcx, 1, 2);
-    mem_fn(&X::g2)(sp, 1, 2);
-
-    mem_fn(&X::f3)(x, 1, 2, 3);
-    mem_fn(&X::f3)(&x, 1, 2, 3);
-    mem_fn(&X::f3)(sp, 1, 2, 3);
-
-    mem_fn(&X::g3)(x, 1, 2, 3);
-    mem_fn(&X::g3)(rcx, 1, 2, 3);
-    mem_fn(&X::g3)(&x, 1, 2, 3);
-    mem_fn(&X::g3)(pcx, 1, 2, 3);
-    mem_fn(&X::g3)(sp, 1, 2, 3);
-
-    mem_fn(&X::f4)(x, 1, 2, 3, 4);
-    mem_fn(&X::f4)(&x, 1, 2, 3, 4);
-    mem_fn(&X::f4)(sp, 1, 2, 3, 4);
-
-    mem_fn(&X::g4)(x, 1, 2, 3, 4);
-    mem_fn(&X::g4)(rcx, 1, 2, 3, 4);
-    mem_fn(&X::g4)(&x, 1, 2, 3, 4);
-    mem_fn(&X::g4)(pcx, 1, 2, 3, 4);
-    mem_fn(&X::g4)(sp, 1, 2, 3, 4);
-
-    mem_fn(&X::f5)(x, 1, 2, 3, 4, 5);
-    mem_fn(&X::f5)(&x, 1, 2, 3, 4, 5);
-    mem_fn(&X::f5)(sp, 1, 2, 3, 4, 5);
-
-    mem_fn(&X::g5)(x, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(rcx, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(&x, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(pcx, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(sp, 1, 2, 3, 4, 5);
-
-    mem_fn(&X::f6)(x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::f6)(&x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::f6)(sp, 1, 2, 3, 4, 5, 6);
-
-    mem_fn(&X::g6)(x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(rcx, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(&x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(pcx, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(sp, 1, 2, 3, 4, 5, 6);
-
-    mem_fn(&X::f7)(x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::f7)(&x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::f7)(sp, 1, 2, 3, 4, 5, 6, 7);
-
-    mem_fn(&X::g7)(x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(rcx, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(&x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(pcx, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(sp, 1, 2, 3, 4, 5, 6, 7);
-
-    mem_fn(&X::f8)(x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::f8)(&x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::f8)(sp, 1, 2, 3, 4, 5, 6, 7, 8);
-
-    mem_fn(&X::g8)(x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(rcx, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(&x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(pcx, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(sp, 1, 2, 3, 4, 5, 6, 7, 8);
-
-    return detect_errors(mem_fn(&X::hash)(x) == 17610 && mem_fn(&X::hash)(sp) == 2155);
-}
diff --git a/SRC/Boost/libs/bind/test/mem_fn_dm_test.cpp b/SRC/Boost/libs/bind/test/mem_fn_dm_test.cpp
deleted file mode 100755
index ff57be4..0000000
--- a/SRC/Boost/libs/bind/test/mem_fn_dm_test.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  mem_fn_dm_test.cpp - data members
-//
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/mem_fn.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    int m;
-};
-
-int main()
-{
-    X x = { 0 };
-
-    boost::mem_fn( &X::m )( x ) = 401;
-
-    BOOST_TEST( x.m == 401 );
-    BOOST_TEST( boost::mem_fn( &X::m )( x ) == 401 );
-
-    boost::mem_fn( &X::m )( &x ) = 502;
-
-    BOOST_TEST( x.m == 502 );
-    BOOST_TEST( boost::mem_fn( &X::m )( &x ) == 502 );
-
-    X * px = &x;
-
-    boost::mem_fn( &X::m )( px ) = 603;
-
-    BOOST_TEST( x.m == 603 );
-    BOOST_TEST( boost::mem_fn( &X::m )( px ) == 603 );
-
-    X const & cx = x;
-    X const * pcx = &x;
-
-    BOOST_TEST( boost::mem_fn( &X::m )( cx ) == 603 );
-    BOOST_TEST( boost::mem_fn( &X::m )( pcx ) == 603 );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/mem_fn_eq_test.cpp b/SRC/Boost/libs/bind/test/mem_fn_eq_test.cpp
deleted file mode 100755
index 08920c9..0000000
--- a/SRC/Boost/libs/bind/test/mem_fn_eq_test.cpp
+++ /dev/null
@@ -1,300 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  mem_fn_eq_test.cpp - boost::mem_fn equality operator
-//
-//  Copyright (c) 2004 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/mem_fn.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    int dm_1;
-    int dm_2;
-
-    // 0
-
-    int mf0_1() { return 0; }
-    int mf0_2() { return 0; }
-
-    int cmf0_1() const { return 0; }
-    int cmf0_2() const { return 0; }
-
-    void mf0v_1() {}
-    void mf0v_2() {}
-
-    void cmf0v_1() const {}
-    void cmf0v_2() const {}
-
-    // 1
-
-    int mf1_1(int) { return 0; }
-    int mf1_2(int) { return 0; }
-
-    int cmf1_1(int) const { return 0; }
-    int cmf1_2(int) const { return 0; }
-
-    void mf1v_1(int) {}
-    void mf1v_2(int) {}
-
-    void cmf1v_1(int) const {}
-    void cmf1v_2(int) const {}
-
-    // 2
-
-    int mf2_1(int, int) { return 0; }
-    int mf2_2(int, int) { return 0; }
-
-    int cmf2_1(int, int) const { return 0; }
-    int cmf2_2(int, int) const { return 0; }
-
-    void mf2v_1(int, int) {}
-    void mf2v_2(int, int) {}
-
-    void cmf2v_1(int, int) const {}
-    void cmf2v_2(int, int) const {}
-
-    // 3
-
-    int mf3_1(int, int, int) { return 0; }
-    int mf3_2(int, int, int) { return 0; }
-
-    int cmf3_1(int, int, int) const { return 0; }
-    int cmf3_2(int, int, int) const { return 0; }
-
-    void mf3v_1(int, int, int) {}
-    void mf3v_2(int, int, int) {}
-
-    void cmf3v_1(int, int, int) const {}
-    void cmf3v_2(int, int, int) const {}
-
-    // 4
-
-    int mf4_1(int, int, int, int) { return 0; }
-    int mf4_2(int, int, int, int) { return 0; }
-
-    int cmf4_1(int, int, int, int) const { return 0; }
-    int cmf4_2(int, int, int, int) const { return 0; }
-
-    void mf4v_1(int, int, int, int) {}
-    void mf4v_2(int, int, int, int) {}
-
-    void cmf4v_1(int, int, int, int) const {}
-    void cmf4v_2(int, int, int, int) const {}
-
-    // 5
-
-    int mf5_1(int, int, int, int, int) { return 0; }
-    int mf5_2(int, int, int, int, int) { return 0; }
-
-    int cmf5_1(int, int, int, int, int) const { return 0; }
-    int cmf5_2(int, int, int, int, int) const { return 0; }
-
-    void mf5v_1(int, int, int, int, int) {}
-    void mf5v_2(int, int, int, int, int) {}
-
-    void cmf5v_1(int, int, int, int, int) const {}
-    void cmf5v_2(int, int, int, int, int) const {}
-
-    // 6
-
-    int mf6_1(int, int, int, int, int, int) { return 0; }
-    int mf6_2(int, int, int, int, int, int) { return 0; }
-
-    int cmf6_1(int, int, int, int, int, int) const { return 0; }
-    int cmf6_2(int, int, int, int, int, int) const { return 0; }
-
-    void mf6v_1(int, int, int, int, int, int) {}
-    void mf6v_2(int, int, int, int, int, int) {}
-
-    void cmf6v_1(int, int, int, int, int, int) const {}
-    void cmf6v_2(int, int, int, int, int, int) const {}
-
-    // 7
-
-    int mf7_1(int, int, int, int, int, int, int) { return 0; }
-    int mf7_2(int, int, int, int, int, int, int) { return 0; }
-
-    int cmf7_1(int, int, int, int, int, int, int) const { return 0; }
-    int cmf7_2(int, int, int, int, int, int, int) const { return 0; }
-
-    void mf7v_1(int, int, int, int, int, int, int) {}
-    void mf7v_2(int, int, int, int, int, int, int) {}
-
-    void cmf7v_1(int, int, int, int, int, int, int) const {}
-    void cmf7v_2(int, int, int, int, int, int, int) const {}
-
-    // 8
-
-    int mf8_1(int, int, int, int, int, int, int, int) { return 0; }
-    int mf8_2(int, int, int, int, int, int, int, int) { return 0; }
-
-    int cmf8_1(int, int, int, int, int, int, int, int) const { return 0; }
-    int cmf8_2(int, int, int, int, int, int, int, int) const { return 0; }
-
-    void mf8v_1(int, int, int, int, int, int, int, int) {}
-    void mf8v_2(int, int, int, int, int, int, int, int) {}
-
-    void cmf8v_1(int, int, int, int, int, int, int, int) const {}
-    void cmf8v_2(int, int, int, int, int, int, int, int) const {}
-
-};
-
-int main()
-{
-    BOOST_TEST( boost::mem_fn(&X::dm_1) == boost::mem_fn(&X::dm_1) );
-    BOOST_TEST( boost::mem_fn(&X::dm_1) != boost::mem_fn(&X::dm_2) );
-
-    // 0
-
-    BOOST_TEST( boost::mem_fn(&X::mf0_1) == boost::mem_fn(&X::mf0_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf0_1) != boost::mem_fn(&X::mf0_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf0_1) == boost::mem_fn(&X::cmf0_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf0_1) != boost::mem_fn(&X::cmf0_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::mf0v_1) == boost::mem_fn(&X::mf0v_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf0v_1) != boost::mem_fn(&X::mf0v_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf0v_1) == boost::mem_fn(&X::cmf0v_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf0v_1) != boost::mem_fn(&X::cmf0v_2) );
-
-    // 1
-
-    BOOST_TEST( boost::mem_fn(&X::mf1_1) == boost::mem_fn(&X::mf1_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf1_1) != boost::mem_fn(&X::mf1_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf1_1) == boost::mem_fn(&X::cmf1_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf1_1) != boost::mem_fn(&X::cmf1_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::mf1v_1) == boost::mem_fn(&X::mf1v_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf1v_1) != boost::mem_fn(&X::mf1v_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf1v_1) == boost::mem_fn(&X::cmf1v_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf1v_1) != boost::mem_fn(&X::cmf1v_2) );
-
-    // 2
-
-    BOOST_TEST( boost::mem_fn(&X::mf2_1) == boost::mem_fn(&X::mf2_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf2_1) != boost::mem_fn(&X::mf2_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf2_1) == boost::mem_fn(&X::cmf2_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf2_1) != boost::mem_fn(&X::cmf2_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::mf2v_1) == boost::mem_fn(&X::mf2v_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf2v_1) != boost::mem_fn(&X::mf2v_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf2v_1) == boost::mem_fn(&X::cmf2v_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf2v_1) != boost::mem_fn(&X::cmf2v_2) );
-
-    // 3
-
-    BOOST_TEST( boost::mem_fn(&X::mf3_1) == boost::mem_fn(&X::mf3_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf3_1) != boost::mem_fn(&X::mf3_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf3_1) == boost::mem_fn(&X::cmf3_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf3_1) != boost::mem_fn(&X::cmf3_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::mf3v_1) == boost::mem_fn(&X::mf3v_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf3v_1) != boost::mem_fn(&X::mf3v_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf3v_1) == boost::mem_fn(&X::cmf3v_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf3v_1) != boost::mem_fn(&X::cmf3v_2) );
-
-    // 4
-
-    BOOST_TEST( boost::mem_fn(&X::mf4_1) == boost::mem_fn(&X::mf4_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf4_1) != boost::mem_fn(&X::mf4_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf4_1) == boost::mem_fn(&X::cmf4_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf4_1) != boost::mem_fn(&X::cmf4_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::mf4v_1) == boost::mem_fn(&X::mf4v_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf4v_1) != boost::mem_fn(&X::mf4v_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf4v_1) == boost::mem_fn(&X::cmf4v_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf4v_1) != boost::mem_fn(&X::cmf4v_2) );
-
-    // 5
-
-    BOOST_TEST( boost::mem_fn(&X::mf5_1) == boost::mem_fn(&X::mf5_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf5_1) != boost::mem_fn(&X::mf5_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf5_1) == boost::mem_fn(&X::cmf5_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf5_1) != boost::mem_fn(&X::cmf5_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::mf5v_1) == boost::mem_fn(&X::mf5v_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf5v_1) != boost::mem_fn(&X::mf5v_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf5v_1) == boost::mem_fn(&X::cmf5v_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf5v_1) != boost::mem_fn(&X::cmf5v_2) );
-
-    // 6
-
-    BOOST_TEST( boost::mem_fn(&X::mf6_1) == boost::mem_fn(&X::mf6_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf6_1) != boost::mem_fn(&X::mf6_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf6_1) == boost::mem_fn(&X::cmf6_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf6_1) != boost::mem_fn(&X::cmf6_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::mf6v_1) == boost::mem_fn(&X::mf6v_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf6v_1) != boost::mem_fn(&X::mf6v_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf6v_1) == boost::mem_fn(&X::cmf6v_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf6v_1) != boost::mem_fn(&X::cmf6v_2) );
-
-    // 7
-
-    BOOST_TEST( boost::mem_fn(&X::mf7_1) == boost::mem_fn(&X::mf7_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf7_1) != boost::mem_fn(&X::mf7_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf7_1) == boost::mem_fn(&X::cmf7_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf7_1) != boost::mem_fn(&X::cmf7_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::mf7v_1) == boost::mem_fn(&X::mf7v_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf7v_1) != boost::mem_fn(&X::mf7v_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf7v_1) == boost::mem_fn(&X::cmf7v_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf7v_1) != boost::mem_fn(&X::cmf7v_2) );
-
-    // 8
-
-    BOOST_TEST( boost::mem_fn(&X::mf8_1) == boost::mem_fn(&X::mf8_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf8_1) != boost::mem_fn(&X::mf8_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf8_1) == boost::mem_fn(&X::cmf8_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf8_1) != boost::mem_fn(&X::cmf8_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::mf8v_1) == boost::mem_fn(&X::mf8v_1) );
-    BOOST_TEST( boost::mem_fn(&X::mf8v_1) != boost::mem_fn(&X::mf8v_2) );
-
-    BOOST_TEST( boost::mem_fn(&X::cmf8v_1) == boost::mem_fn(&X::cmf8v_1) );
-    BOOST_TEST( boost::mem_fn(&X::cmf8v_1) != boost::mem_fn(&X::cmf8v_2) );
-
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/mem_fn_fastcall_test.cpp b/SRC/Boost/libs/bind/test/mem_fn_fastcall_test.cpp
deleted file mode 100755
index 4cfc215..0000000
--- a/SRC/Boost/libs/bind/test/mem_fn_fastcall_test.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  mem_fn_fastcall_test.cpp - a test for mem_fn.hpp + __fastcall
-//
-//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#define BOOST_MEM_FN_ENABLE_FASTCALL
-
-#include <boost/mem_fn.hpp>
-#include <boost/shared_ptr.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-
-struct X
-{
-    mutable unsigned int hash;
-
-    X(): hash(0) {}
-
-    void __fastcall f0() { f1(17); }
-    void __fastcall g0() const { g1(17); }
-
-    void __fastcall f1(int a1) { hash = (hash * 17041 + a1) % 32768; }
-    void __fastcall g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; }
-
-    void __fastcall f2(int a1, int a2) { f1(a1); f1(a2); }
-    void __fastcall g2(int a1, int a2) const { g1(a1); g1(a2); }
-
-    void __fastcall f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); }
-    void __fastcall g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); }
-
-    void __fastcall f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); }
-    void __fastcall g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); }
-
-    void __fastcall f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); }
-    void __fastcall g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); }
-
-    void __fastcall f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); }
-    void __fastcall g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); }
-
-    void __fastcall f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); }
-    void __fastcall g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); }
-
-    void __fastcall f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); }
-    void __fastcall g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); }
-};
-
-int detect_errors(bool x)
-{
-    if(x)
-    {
-        std::cerr << "no errors detected.\n";
-        return 0;
-    }
-    else
-    {
-        std::cerr << "test failed.\n";
-        return 1;
-    }
-}
-
-int main()
-{
-    using boost::mem_fn;
-
-    X x;
-
-    X const & rcx = x;
-    X const * pcx = &x;
-
-    boost::shared_ptr<X> sp(new X);
-
-    mem_fn(&X::f0)(x);
-    mem_fn(&X::f0)(&x);
-    mem_fn(&X::f0)(sp);
-
-    mem_fn(&X::g0)(x);
-    mem_fn(&X::g0)(rcx);
-    mem_fn(&X::g0)(&x);
-    mem_fn(&X::g0)(pcx);
-    mem_fn(&X::g0)(sp);
-
-    mem_fn(&X::f1)(x, 1);
-    mem_fn(&X::f1)(&x, 1);
-    mem_fn(&X::f1)(sp, 1);
-
-    mem_fn(&X::g1)(x, 1);
-    mem_fn(&X::g1)(rcx, 1);
-    mem_fn(&X::g1)(&x, 1);
-    mem_fn(&X::g1)(pcx, 1);
-    mem_fn(&X::g1)(sp, 1);
-
-    mem_fn(&X::f2)(x, 1, 2);
-    mem_fn(&X::f2)(&x, 1, 2);
-    mem_fn(&X::f2)(sp, 1, 2);
-
-    mem_fn(&X::g2)(x, 1, 2);
-    mem_fn(&X::g2)(rcx, 1, 2);
-    mem_fn(&X::g2)(&x, 1, 2);
-    mem_fn(&X::g2)(pcx, 1, 2);
-    mem_fn(&X::g2)(sp, 1, 2);
-
-    mem_fn(&X::f3)(x, 1, 2, 3);
-    mem_fn(&X::f3)(&x, 1, 2, 3);
-    mem_fn(&X::f3)(sp, 1, 2, 3);
-
-    mem_fn(&X::g3)(x, 1, 2, 3);
-    mem_fn(&X::g3)(rcx, 1, 2, 3);
-    mem_fn(&X::g3)(&x, 1, 2, 3);
-    mem_fn(&X::g3)(pcx, 1, 2, 3);
-    mem_fn(&X::g3)(sp, 1, 2, 3);
-
-    mem_fn(&X::f4)(x, 1, 2, 3, 4);
-    mem_fn(&X::f4)(&x, 1, 2, 3, 4);
-    mem_fn(&X::f4)(sp, 1, 2, 3, 4);
-
-    mem_fn(&X::g4)(x, 1, 2, 3, 4);
-    mem_fn(&X::g4)(rcx, 1, 2, 3, 4);
-    mem_fn(&X::g4)(&x, 1, 2, 3, 4);
-    mem_fn(&X::g4)(pcx, 1, 2, 3, 4);
-    mem_fn(&X::g4)(sp, 1, 2, 3, 4);
-
-    mem_fn(&X::f5)(x, 1, 2, 3, 4, 5);
-    mem_fn(&X::f5)(&x, 1, 2, 3, 4, 5);
-    mem_fn(&X::f5)(sp, 1, 2, 3, 4, 5);
-
-    mem_fn(&X::g5)(x, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(rcx, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(&x, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(pcx, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(sp, 1, 2, 3, 4, 5);
-
-    mem_fn(&X::f6)(x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::f6)(&x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::f6)(sp, 1, 2, 3, 4, 5, 6);
-
-    mem_fn(&X::g6)(x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(rcx, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(&x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(pcx, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(sp, 1, 2, 3, 4, 5, 6);
-
-    mem_fn(&X::f7)(x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::f7)(&x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::f7)(sp, 1, 2, 3, 4, 5, 6, 7);
-
-    mem_fn(&X::g7)(x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(rcx, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(&x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(pcx, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(sp, 1, 2, 3, 4, 5, 6, 7);
-
-    mem_fn(&X::f8)(x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::f8)(&x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::f8)(sp, 1, 2, 3, 4, 5, 6, 7, 8);
-
-    mem_fn(&X::g8)(x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(rcx, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(&x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(pcx, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(sp, 1, 2, 3, 4, 5, 6, 7, 8);
-
-    return detect_errors(x.hash == 17610 && sp->hash == 2155);
-}
diff --git a/SRC/Boost/libs/bind/test/mem_fn_ref_test.cpp b/SRC/Boost/libs/bind/test/mem_fn_ref_test.cpp
deleted file mode 100755
index 379a75a..0000000
--- a/SRC/Boost/libs/bind/test/mem_fn_ref_test.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-//  mem_fn_ref_test.cpp - reference_wrapper
-//
-//  Copyright (c) 2009 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-
-#include <boost/mem_fn.hpp>
-#include <boost/ref.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-struct X
-{
-    int f()
-    {
-        return 1;
-    }
-
-    int g() const
-    {
-        return 2;
-    }
-};
-
-int main()
-{
-    X x;
-
-    BOOST_TEST( boost::mem_fn( &X::f )( boost::ref( x ) ) == 1 );
-    BOOST_TEST( boost::mem_fn( &X::g )( boost::cref( x ) ) == 2 );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/mem_fn_rv_test.cpp b/SRC/Boost/libs/bind/test/mem_fn_rv_test.cpp
deleted file mode 100755
index 150df34..0000000
--- a/SRC/Boost/libs/bind/test/mem_fn_rv_test.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  mem_fn_test.cpp - mem_fn.hpp with rvalues
-//
-//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-//  Copyright (c) 2005 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/mem_fn.hpp>
-#include <boost/shared_ptr.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-unsigned int hash = 0;
-
-struct X
-{
-    int f0() { f1(17); return 0; }
-    int g0() const { g1(17); return 0; }
-
-    int f1(int a1) { hash = (hash * 17041 + a1) % 32768; return 0; }
-    int g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; return 0; }
-
-    int f2(int a1, int a2) { f1(a1); f1(a2); return 0; }
-    int g2(int a1, int a2) const { g1(a1); g1(a2); return 0; }
-
-    int f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); return 0; }
-    int g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); return 0; }
-
-    int f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); return 0; }
-    int g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); return 0; }
-
-    int f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); return 0; }
-    int g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); return 0; }
-
-    int f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); return 0; }
-    int g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); return 0; }
-
-    int f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); return 0; }
-    int g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); return 0; }
-
-    int f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); return 0; }
-    int g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); return 0; }
-};
-
-int detect_errors(bool x)
-{
-    if( x )
-    {
-        std::cerr << "no errors detected.\n";
-        return 0;
-    }
-    else
-    {
-        std::cerr << "test failed.\n";
-        return 1;
-    }
-}
-
-boost::shared_ptr<X> make()
-{
-    return boost::shared_ptr<X>( new X );
-}
-
-int main()
-{
-    using boost::mem_fn;
-
-    mem_fn(&X::f0)( make() );
-    mem_fn(&X::g0)( make() );
-
-    mem_fn(&X::f1)( make(), 1 );
-    mem_fn(&X::g1)( make(), 1 );
-
-    mem_fn(&X::f2)( make(), 1, 2 );
-    mem_fn(&X::g2)( make(), 1, 2 );
-
-    mem_fn(&X::f3)( make(), 1, 2, 3 );
-    mem_fn(&X::g3)( make(), 1, 2, 3 );
-
-    mem_fn(&X::f4)( make(), 1, 2, 3, 4 );
-    mem_fn(&X::g4)( make(), 1, 2, 3, 4 );
-
-    mem_fn(&X::f5)( make(), 1, 2, 3, 4, 5 );
-    mem_fn(&X::g5)( make(), 1, 2, 3, 4, 5 );
-
-    mem_fn(&X::f6)( make(), 1, 2, 3, 4, 5, 6 );
-    mem_fn(&X::g6)( make(), 1, 2, 3, 4, 5, 6 );
-
-    mem_fn(&X::f7)( make(), 1, 2, 3, 4, 5, 6, 7 );
-    mem_fn(&X::g7)( make(), 1, 2, 3, 4, 5, 6, 7 );
-
-    mem_fn(&X::f8)( make(), 1, 2, 3, 4, 5, 6, 7, 8 );
-    mem_fn(&X::g8)( make(), 1, 2, 3, 4, 5, 6, 7, 8 );
-
-    return detect_errors( hash == 2155 );
-}
diff --git a/SRC/Boost/libs/bind/test/mem_fn_stdcall_test.cpp b/SRC/Boost/libs/bind/test/mem_fn_stdcall_test.cpp
deleted file mode 100755
index 814a303..0000000
--- a/SRC/Boost/libs/bind/test/mem_fn_stdcall_test.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  mem_fn_stdcall_test.cpp - a test for mem_fn.hpp + __stdcall
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#define BOOST_MEM_FN_ENABLE_STDCALL
-
-#include <boost/mem_fn.hpp>
-#include <boost/shared_ptr.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-
-struct X
-{
-    mutable unsigned int hash;
-
-    X(): hash(0) {}
-
-    int __stdcall f0() { f1(17); return 0; }
-    int __stdcall g0() const { g1(17); return 0; }
-
-    int __stdcall f1(int a1) { hash = (hash * 17041 + a1) % 32768; return 0; }
-    int __stdcall g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; return 0; }
-
-    int __stdcall f2(int a1, int a2) { f1(a1); f1(a2); return 0; }
-    int __stdcall g2(int a1, int a2) const { g1(a1); g1(a2); return 0; }
-
-    int __stdcall f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); return 0; }
-    int __stdcall g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); return 0; }
-
-    int __stdcall f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); return 0; }
-    int __stdcall g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); return 0; }
-
-    int __stdcall f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); return 0; }
-    int __stdcall g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); return 0; }
-
-    int __stdcall f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); return 0; }
-    int __stdcall g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); return 0; }
-
-    int __stdcall f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); return 0; }
-    int __stdcall g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); return 0; }
-
-    int __stdcall f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); return 0; }
-    int __stdcall g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); return 0; }
-};
-
-int detect_errors(bool x)
-{
-    if(x)
-    {
-        std::cerr << "no errors detected.\n";
-        return 0;
-    }
-    else
-    {
-        std::cerr << "test failed.\n";
-        return 1;
-    }
-}
-
-int main()
-{
-    using boost::mem_fn;
-
-    X x;
-
-    X const & rcx = x;
-    X const * pcx = &x;
-
-    boost::shared_ptr<X> sp(new X);
-
-    mem_fn(&X::f0)(x);
-    mem_fn(&X::f0)(&x);
-    mem_fn(&X::f0)(sp);
-
-    mem_fn(&X::g0)(x);
-    mem_fn(&X::g0)(rcx);
-    mem_fn(&X::g0)(&x);
-    mem_fn(&X::g0)(pcx);
-    mem_fn(&X::g0)(sp);
-
-    mem_fn(&X::f1)(x, 1);
-    mem_fn(&X::f1)(&x, 1);
-    mem_fn(&X::f1)(sp, 1);
-
-    mem_fn(&X::g1)(x, 1);
-    mem_fn(&X::g1)(rcx, 1);
-    mem_fn(&X::g1)(&x, 1);
-    mem_fn(&X::g1)(pcx, 1);
-    mem_fn(&X::g1)(sp, 1);
-
-    mem_fn(&X::f2)(x, 1, 2);
-    mem_fn(&X::f2)(&x, 1, 2);
-    mem_fn(&X::f2)(sp, 1, 2);
-
-    mem_fn(&X::g2)(x, 1, 2);
-    mem_fn(&X::g2)(rcx, 1, 2);
-    mem_fn(&X::g2)(&x, 1, 2);
-    mem_fn(&X::g2)(pcx, 1, 2);
-    mem_fn(&X::g2)(sp, 1, 2);
-
-    mem_fn(&X::f3)(x, 1, 2, 3);
-    mem_fn(&X::f3)(&x, 1, 2, 3);
-    mem_fn(&X::f3)(sp, 1, 2, 3);
-
-    mem_fn(&X::g3)(x, 1, 2, 3);
-    mem_fn(&X::g3)(rcx, 1, 2, 3);
-    mem_fn(&X::g3)(&x, 1, 2, 3);
-    mem_fn(&X::g3)(pcx, 1, 2, 3);
-    mem_fn(&X::g3)(sp, 1, 2, 3);
-
-    mem_fn(&X::f4)(x, 1, 2, 3, 4);
-    mem_fn(&X::f4)(&x, 1, 2, 3, 4);
-    mem_fn(&X::f4)(sp, 1, 2, 3, 4);
-
-    mem_fn(&X::g4)(x, 1, 2, 3, 4);
-    mem_fn(&X::g4)(rcx, 1, 2, 3, 4);
-    mem_fn(&X::g4)(&x, 1, 2, 3, 4);
-    mem_fn(&X::g4)(pcx, 1, 2, 3, 4);
-    mem_fn(&X::g4)(sp, 1, 2, 3, 4);
-
-    mem_fn(&X::f5)(x, 1, 2, 3, 4, 5);
-    mem_fn(&X::f5)(&x, 1, 2, 3, 4, 5);
-    mem_fn(&X::f5)(sp, 1, 2, 3, 4, 5);
-
-    mem_fn(&X::g5)(x, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(rcx, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(&x, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(pcx, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(sp, 1, 2, 3, 4, 5);
-
-    mem_fn(&X::f6)(x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::f6)(&x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::f6)(sp, 1, 2, 3, 4, 5, 6);
-
-    mem_fn(&X::g6)(x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(rcx, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(&x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(pcx, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(sp, 1, 2, 3, 4, 5, 6);
-
-    mem_fn(&X::f7)(x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::f7)(&x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::f7)(sp, 1, 2, 3, 4, 5, 6, 7);
-
-    mem_fn(&X::g7)(x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(rcx, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(&x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(pcx, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(sp, 1, 2, 3, 4, 5, 6, 7);
-
-    mem_fn(&X::f8)(x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::f8)(&x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::f8)(sp, 1, 2, 3, 4, 5, 6, 7, 8);
-
-    mem_fn(&X::g8)(x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(rcx, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(&x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(pcx, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(sp, 1, 2, 3, 4, 5, 6, 7, 8);
-
-    return detect_errors(x.hash == 17610 && sp->hash == 2155);
-}
diff --git a/SRC/Boost/libs/bind/test/mem_fn_test.cpp b/SRC/Boost/libs/bind/test/mem_fn_test.cpp
deleted file mode 100755
index 0fa35a0..0000000
--- a/SRC/Boost/libs/bind/test/mem_fn_test.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  mem_fn_test.cpp - a test for mem_fn.hpp
-//
-//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/mem_fn.hpp>
-#include <boost/shared_ptr.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-
-struct X
-{
-    mutable unsigned int hash;
-
-    X(): hash(0) {}
-
-    int f0() { f1(17); return 0; }
-    int g0() const { g1(17); return 0; }
-
-    int f1(int a1) { hash = (hash * 17041 + a1) % 32768; return 0; }
-    int g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; return 0; }
-
-    int f2(int a1, int a2) { f1(a1); f1(a2); return 0; }
-    int g2(int a1, int a2) const { g1(a1); g1(a2); return 0; }
-
-    int f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); return 0; }
-    int g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); return 0; }
-
-    int f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); return 0; }
-    int g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); return 0; }
-
-    int f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); return 0; }
-    int g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); return 0; }
-
-    int f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); return 0; }
-    int g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); return 0; }
-
-    int f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); return 0; }
-    int g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); return 0; }
-
-    int f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); return 0; }
-    int g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); return 0; }
-};
-
-int detect_errors(bool x)
-{
-    if(x)
-    {
-        std::cerr << "no errors detected.\n";
-        return 0;
-    }
-    else
-    {
-        std::cerr << "test failed.\n";
-        return 1;
-    }
-}
-
-int main()
-{
-    using boost::mem_fn;
-
-    X x;
-
-    X const & rcx = x;
-    X const * pcx = &x;
-
-    boost::shared_ptr<X> sp(new X);
-
-    mem_fn(&X::f0)(x);
-    mem_fn(&X::f0)(&x);
-    mem_fn(&X::f0)(sp);
-
-    mem_fn(&X::g0)(x);
-    mem_fn(&X::g0)(rcx);
-    mem_fn(&X::g0)(&x);
-    mem_fn(&X::g0)(pcx);
-    mem_fn(&X::g0)(sp);
-
-    mem_fn(&X::f1)(x, 1);
-    mem_fn(&X::f1)(&x, 1);
-    mem_fn(&X::f1)(sp, 1);
-
-    mem_fn(&X::g1)(x, 1);
-    mem_fn(&X::g1)(rcx, 1);
-    mem_fn(&X::g1)(&x, 1);
-    mem_fn(&X::g1)(pcx, 1);
-    mem_fn(&X::g1)(sp, 1);
-
-    mem_fn(&X::f2)(x, 1, 2);
-    mem_fn(&X::f2)(&x, 1, 2);
-    mem_fn(&X::f2)(sp, 1, 2);
-
-    mem_fn(&X::g2)(x, 1, 2);
-    mem_fn(&X::g2)(rcx, 1, 2);
-    mem_fn(&X::g2)(&x, 1, 2);
-    mem_fn(&X::g2)(pcx, 1, 2);
-    mem_fn(&X::g2)(sp, 1, 2);
-
-    mem_fn(&X::f3)(x, 1, 2, 3);
-    mem_fn(&X::f3)(&x, 1, 2, 3);
-    mem_fn(&X::f3)(sp, 1, 2, 3);
-
-    mem_fn(&X::g3)(x, 1, 2, 3);
-    mem_fn(&X::g3)(rcx, 1, 2, 3);
-    mem_fn(&X::g3)(&x, 1, 2, 3);
-    mem_fn(&X::g3)(pcx, 1, 2, 3);
-    mem_fn(&X::g3)(sp, 1, 2, 3);
-
-    mem_fn(&X::f4)(x, 1, 2, 3, 4);
-    mem_fn(&X::f4)(&x, 1, 2, 3, 4);
-    mem_fn(&X::f4)(sp, 1, 2, 3, 4);
-
-    mem_fn(&X::g4)(x, 1, 2, 3, 4);
-    mem_fn(&X::g4)(rcx, 1, 2, 3, 4);
-    mem_fn(&X::g4)(&x, 1, 2, 3, 4);
-    mem_fn(&X::g4)(pcx, 1, 2, 3, 4);
-    mem_fn(&X::g4)(sp, 1, 2, 3, 4);
-
-    mem_fn(&X::f5)(x, 1, 2, 3, 4, 5);
-    mem_fn(&X::f5)(&x, 1, 2, 3, 4, 5);
-    mem_fn(&X::f5)(sp, 1, 2, 3, 4, 5);
-
-    mem_fn(&X::g5)(x, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(rcx, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(&x, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(pcx, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(sp, 1, 2, 3, 4, 5);
-
-    mem_fn(&X::f6)(x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::f6)(&x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::f6)(sp, 1, 2, 3, 4, 5, 6);
-
-    mem_fn(&X::g6)(x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(rcx, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(&x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(pcx, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(sp, 1, 2, 3, 4, 5, 6);
-
-    mem_fn(&X::f7)(x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::f7)(&x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::f7)(sp, 1, 2, 3, 4, 5, 6, 7);
-
-    mem_fn(&X::g7)(x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(rcx, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(&x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(pcx, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(sp, 1, 2, 3, 4, 5, 6, 7);
-
-    mem_fn(&X::f8)(x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::f8)(&x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::f8)(sp, 1, 2, 3, 4, 5, 6, 7, 8);
-
-    mem_fn(&X::g8)(x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(rcx, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(&x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(pcx, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(sp, 1, 2, 3, 4, 5, 6, 7, 8);
-
-    return detect_errors(mem_fn(&X::hash)(x) == 17610 && mem_fn(&X::hash)(sp) == 2155);
-}
diff --git a/SRC/Boost/libs/bind/test/mem_fn_unary_addr_test.cpp b/SRC/Boost/libs/bind/test/mem_fn_unary_addr_test.cpp
deleted file mode 100755
index 2d37fa4..0000000
--- a/SRC/Boost/libs/bind/test/mem_fn_unary_addr_test.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  mem_fn_unary_addr_test.cpp - poisoned operator& test
-//
-//  Copyright (c) 2009 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-//
-
-#include <boost/mem_fn.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-unsigned int hash = 0;
-
-struct X
-{
-    int f0() { f1(17); return 0; }
-    int g0() const { g1(17); return 0; }
-
-    int f1(int a1) { hash = (hash * 17041 + a1) % 32768; return 0; }
-    int g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; return 0; }
-
-    int f2(int a1, int a2) { f1(a1); f1(a2); return 0; }
-    int g2(int a1, int a2) const { g1(a1); g1(a2); return 0; }
-
-    int f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); return 0; }
-    int g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); return 0; }
-
-    int f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); return 0; }
-    int g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); return 0; }
-
-    int f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); return 0; }
-    int g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); return 0; }
-
-    int f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); return 0; }
-    int g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); return 0; }
-
-    int f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); return 0; }
-    int g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); return 0; }
-
-    int f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); return 0; }
-    int g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); return 0; }
-};
-
-template<class T> class Y
-{
-private:
-
-    T * pt_;
-
-    void operator& ();
-    void operator& () const;
-
-public:
-
-    explicit Y( T * pt ): pt_( pt )
-    {
-    }
-
-    T * get() const
-    {
-        return pt_;
-    }
-};
-
-#if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x620 ) )
-namespace boost
-{
-#endif
-
-template<class T> T * get_pointer( Y< T > const & y )
-{
-    return y.get();
-}
-
-#if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x620 ) )
-} // namespace boost
-#endif
-
-int detect_errors(bool x)
-{
-    if( x )
-    {
-        std::cerr << "no errors detected.\n";
-        return 0;
-    }
-    else
-    {
-        std::cerr << "test failed.\n";
-        return 1;
-    }
-}
-
-int main()
-{
-    using boost::mem_fn;
-
-    X x;
-
-    Y<X> px( &x );
-    Y<X const> pcx( &x );
-
-    mem_fn(&X::f0)( px );
-    mem_fn(&X::g0)( pcx );
-
-    mem_fn(&X::f1)( px, 1 );
-    mem_fn(&X::g1)( pcx, 1 );
-
-    mem_fn(&X::f2)( px, 1, 2 );
-    mem_fn(&X::g2)( pcx, 1, 2 );
-
-    mem_fn(&X::f3)( px, 1, 2, 3 );
-    mem_fn(&X::g3)( pcx, 1, 2, 3 );
-
-    mem_fn(&X::f4)( px, 1, 2, 3, 4 );
-    mem_fn(&X::g4)( pcx, 1, 2, 3, 4 );
-
-    mem_fn(&X::f5)( px, 1, 2, 3, 4, 5 );
-    mem_fn(&X::g5)( pcx, 1, 2, 3, 4, 5 );
-
-    mem_fn(&X::f6)( px, 1, 2, 3, 4, 5, 6 );
-    mem_fn(&X::g6)( pcx, 1, 2, 3, 4, 5, 6 );
-
-    mem_fn(&X::f7)( px, 1, 2, 3, 4, 5, 6, 7 );
-    mem_fn(&X::g7)( pcx, 1, 2, 3, 4, 5, 6, 7 );
-
-    mem_fn(&X::f8)( px, 1, 2, 3, 4, 5, 6, 7, 8 );
-    mem_fn(&X::g8)( pcx, 1, 2, 3, 4, 5, 6, 7, 8 );
-
-    return detect_errors( hash == 2155 );
-}
diff --git a/SRC/Boost/libs/bind/test/mem_fn_void_test.cpp b/SRC/Boost/libs/bind/test/mem_fn_void_test.cpp
deleted file mode 100755
index 12a4586..0000000
--- a/SRC/Boost/libs/bind/test/mem_fn_void_test.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//
-//  mem_fn_void_test.cpp - a test for mem_fn.hpp + void returns
-//
-//  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/mem_fn.hpp>
-#include <boost/shared_ptr.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(push, 3)
-#endif
-
-#include <iostream>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-#pragma warning(pop)
-#endif
-
-
-struct X
-{
-    mutable unsigned int hash;
-
-    X(): hash(0) {}
-
-    void f0() { f1(17); }
-    void g0() const { g1(17); }
-
-    void f1(int a1) { hash = (hash * 17041 + a1) % 32768; }
-    void g1(int a1) const { hash = (hash * 17041 + a1 * 2) % 32768; }
-
-    void f2(int a1, int a2) { f1(a1); f1(a2); }
-    void g2(int a1, int a2) const { g1(a1); g1(a2); }
-
-    void f3(int a1, int a2, int a3) { f2(a1, a2); f1(a3); }
-    void g3(int a1, int a2, int a3) const { g2(a1, a2); g1(a3); }
-
-    void f4(int a1, int a2, int a3, int a4) { f3(a1, a2, a3); f1(a4); }
-    void g4(int a1, int a2, int a3, int a4) const { g3(a1, a2, a3); g1(a4); }
-
-    void f5(int a1, int a2, int a3, int a4, int a5) { f4(a1, a2, a3, a4); f1(a5); }
-    void g5(int a1, int a2, int a3, int a4, int a5) const { g4(a1, a2, a3, a4); g1(a5); }
-
-    void f6(int a1, int a2, int a3, int a4, int a5, int a6) { f5(a1, a2, a3, a4, a5); f1(a6); }
-    void g6(int a1, int a2, int a3, int a4, int a5, int a6) const { g5(a1, a2, a3, a4, a5); g1(a6); }
-
-    void f7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) { f6(a1, a2, a3, a4, a5, a6); f1(a7); }
-    void g7(int a1, int a2, int a3, int a4, int a5, int a6, int a7) const { g6(a1, a2, a3, a4, a5, a6); g1(a7); }
-
-    void f8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) { f7(a1, a2, a3, a4, a5, a6, a7); f1(a8); }
-    void g8(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const { g7(a1, a2, a3, a4, a5, a6, a7); g1(a8); }
-};
-
-int detect_errors(bool x)
-{
-    if(x)
-    {
-        std::cerr << "no errors detected.\n";
-        return 0;
-    }
-    else
-    {
-        std::cerr << "test failed.\n";
-        return 1;
-    }
-}
-
-int main()
-{
-    using boost::mem_fn;
-
-    X x;
-
-    X const & rcx = x;
-    X const * pcx = &x;
-
-    boost::shared_ptr<X> sp(new X);
-
-    mem_fn(&X::f0)(x);
-    mem_fn(&X::f0)(&x);
-    mem_fn(&X::f0)(sp);
-
-    mem_fn(&X::g0)(x);
-    mem_fn(&X::g0)(rcx);
-    mem_fn(&X::g0)(&x);
-    mem_fn(&X::g0)(pcx);
-    mem_fn(&X::g0)(sp);
-
-    mem_fn(&X::f1)(x, 1);
-    mem_fn(&X::f1)(&x, 1);
-    mem_fn(&X::f1)(sp, 1);
-
-    mem_fn(&X::g1)(x, 1);
-    mem_fn(&X::g1)(rcx, 1);
-    mem_fn(&X::g1)(&x, 1);
-    mem_fn(&X::g1)(pcx, 1);
-    mem_fn(&X::g1)(sp, 1);
-
-    mem_fn(&X::f2)(x, 1, 2);
-    mem_fn(&X::f2)(&x, 1, 2);
-    mem_fn(&X::f2)(sp, 1, 2);
-
-    mem_fn(&X::g2)(x, 1, 2);
-    mem_fn(&X::g2)(rcx, 1, 2);
-    mem_fn(&X::g2)(&x, 1, 2);
-    mem_fn(&X::g2)(pcx, 1, 2);
-    mem_fn(&X::g2)(sp, 1, 2);
-
-    mem_fn(&X::f3)(x, 1, 2, 3);
-    mem_fn(&X::f3)(&x, 1, 2, 3);
-    mem_fn(&X::f3)(sp, 1, 2, 3);
-
-    mem_fn(&X::g3)(x, 1, 2, 3);
-    mem_fn(&X::g3)(rcx, 1, 2, 3);
-    mem_fn(&X::g3)(&x, 1, 2, 3);
-    mem_fn(&X::g3)(pcx, 1, 2, 3);
-    mem_fn(&X::g3)(sp, 1, 2, 3);
-
-    mem_fn(&X::f4)(x, 1, 2, 3, 4);
-    mem_fn(&X::f4)(&x, 1, 2, 3, 4);
-    mem_fn(&X::f4)(sp, 1, 2, 3, 4);
-
-    mem_fn(&X::g4)(x, 1, 2, 3, 4);
-    mem_fn(&X::g4)(rcx, 1, 2, 3, 4);
-    mem_fn(&X::g4)(&x, 1, 2, 3, 4);
-    mem_fn(&X::g4)(pcx, 1, 2, 3, 4);
-    mem_fn(&X::g4)(sp, 1, 2, 3, 4);
-
-    mem_fn(&X::f5)(x, 1, 2, 3, 4, 5);
-    mem_fn(&X::f5)(&x, 1, 2, 3, 4, 5);
-    mem_fn(&X::f5)(sp, 1, 2, 3, 4, 5);
-
-    mem_fn(&X::g5)(x, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(rcx, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(&x, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(pcx, 1, 2, 3, 4, 5);
-    mem_fn(&X::g5)(sp, 1, 2, 3, 4, 5);
-
-    mem_fn(&X::f6)(x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::f6)(&x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::f6)(sp, 1, 2, 3, 4, 5, 6);
-
-    mem_fn(&X::g6)(x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(rcx, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(&x, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(pcx, 1, 2, 3, 4, 5, 6);
-    mem_fn(&X::g6)(sp, 1, 2, 3, 4, 5, 6);
-
-    mem_fn(&X::f7)(x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::f7)(&x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::f7)(sp, 1, 2, 3, 4, 5, 6, 7);
-
-    mem_fn(&X::g7)(x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(rcx, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(&x, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(pcx, 1, 2, 3, 4, 5, 6, 7);
-    mem_fn(&X::g7)(sp, 1, 2, 3, 4, 5, 6, 7);
-
-    mem_fn(&X::f8)(x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::f8)(&x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::f8)(sp, 1, 2, 3, 4, 5, 6, 7, 8);
-
-    mem_fn(&X::g8)(x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(rcx, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(&x, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(pcx, 1, 2, 3, 4, 5, 6, 7, 8);
-    mem_fn(&X::g8)(sp, 1, 2, 3, 4, 5, 6, 7, 8);
-
-    return detect_errors(x.hash == 17610 && sp->hash == 2155);
-}
diff --git a/SRC/Boost/libs/bind/test/protect_test.cpp b/SRC/Boost/libs/bind/test/protect_test.cpp
deleted file mode 100755
index e9c399f..0000000
--- a/SRC/Boost/libs/bind/test/protect_test.cpp
+++ /dev/null
@@ -1,281 +0,0 @@
-//  protect_test.cpp
-//
-//  Copyright (c) 2009 Steven Watanabe
-//
-// Distributed under the Boost Software License, Version 1.0.
-//
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/bind/protect.hpp>
-#include <boost/bind/bind.hpp>
-
-#include <boost/detail/lightweight_test.hpp>
-
-int f(int x)
-{
-    return x;
-}
-
-int& g(int& x)
-{
-    return x;
-}
-
-template<class T>
-const T& constify(const T& arg)
-{
-    return arg;
-}
-
-int main()
-{
-    int i[9] = {0,1,2,3,4,5,6,7,8};
-
-    // non-const
-
-    // test nullary
-    BOOST_TEST(boost::protect(boost::bind(f, 1))() == 1);
-
-    // test lvalues
-
-    BOOST_TEST(&boost::protect(boost::bind(g, _1))(i[0]) == &i[0]);
-
-    BOOST_TEST(&boost::protect(boost::bind(g, _1))(i[0], i[1]) == &i[0]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _2))(i[0], i[1]) == &i[1]);
-
-    BOOST_TEST(&boost::protect(boost::bind(g, _1))(i[0], i[1], i[2]) == &i[0]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _2))(i[0], i[1], i[2]) == &i[1]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _3))(i[0], i[1], i[2]) == &i[2]);
-
-    BOOST_TEST(&boost::protect(boost::bind(g, _1))(i[0], i[1], i[2], i[3]) == &i[0]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _2))(i[0], i[1], i[2], i[3]) == &i[1]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _3))(i[0], i[1], i[2], i[3]) == &i[2]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _4))(i[0], i[1], i[2], i[3]) == &i[3]);
-
-    BOOST_TEST(&boost::protect(boost::bind(g, _1))(i[0], i[1], i[2], i[3], i[4]) == &i[0]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _2))(i[0], i[1], i[2], i[3], i[4]) == &i[1]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _3))(i[0], i[1], i[2], i[3], i[4]) == &i[2]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _4))(i[0], i[1], i[2], i[3], i[4]) == &i[3]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _5))(i[0], i[1], i[2], i[3], i[4]) == &i[4]);
-
-    BOOST_TEST(&boost::protect(boost::bind(g, _1))(i[0], i[1], i[2], i[3], i[4], i[5]) == &i[0]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _2))(i[0], i[1], i[2], i[3], i[4], i[5]) == &i[1]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _3))(i[0], i[1], i[2], i[3], i[4], i[5]) == &i[2]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _4))(i[0], i[1], i[2], i[3], i[4], i[5]) == &i[3]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _5))(i[0], i[1], i[2], i[3], i[4], i[5]) == &i[4]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _6))(i[0], i[1], i[2], i[3], i[4], i[5]) == &i[5]);
-
-    BOOST_TEST(&boost::protect(boost::bind(g, _1))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[0]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _2))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[1]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _3))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[2]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _4))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[3]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _5))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[4]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _6))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[5]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _7))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[6]);
-
-    BOOST_TEST(&boost::protect(boost::bind(g, _1))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[0]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _2))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[1]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _3))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[2]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _4))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[3]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _5))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[4]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _6))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[5]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _7))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[6]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _8))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[7]);
-
-    BOOST_TEST(&boost::protect(boost::bind(g, _1))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[0]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _2))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[1]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _3))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[2]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _4))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[3]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _5))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[4]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _6))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[5]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _7))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[6]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _8))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[7]);
-    BOOST_TEST(&boost::protect(boost::bind(g, _9))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[8]);
-
-    // test rvalues
-
-    BOOST_TEST(boost::protect(boost::bind(f, _1))(0) == 0);
-
-    BOOST_TEST(boost::protect(boost::bind(f, _1))(0, 1) == 0);
-    BOOST_TEST(boost::protect(boost::bind(f, _2))(0, 1) == 1);
-
-    BOOST_TEST(boost::protect(boost::bind(f, _1))(0, 1, 2) == 0);
-    BOOST_TEST(boost::protect(boost::bind(f, _2))(0, 1, 2) == 1);
-    BOOST_TEST(boost::protect(boost::bind(f, _3))(0, 1, 2) == 2);
-
-    BOOST_TEST(boost::protect(boost::bind(f, _1))(0, 1, 2, 3) == 0);
-    BOOST_TEST(boost::protect(boost::bind(f, _2))(0, 1, 2, 3) == 1);
-    BOOST_TEST(boost::protect(boost::bind(f, _3))(0, 1, 2, 3) == 2);
-    BOOST_TEST(boost::protect(boost::bind(f, _4))(0, 1, 2, 3) == 3);
-
-    BOOST_TEST(boost::protect(boost::bind(f, _1))(0, 1, 2, 3, 4) == 0);
-    BOOST_TEST(boost::protect(boost::bind(f, _2))(0, 1, 2, 3, 4) == 1);
-    BOOST_TEST(boost::protect(boost::bind(f, _3))(0, 1, 2, 3, 4) == 2);
-    BOOST_TEST(boost::protect(boost::bind(f, _4))(0, 1, 2, 3, 4) == 3);
-    BOOST_TEST(boost::protect(boost::bind(f, _5))(0, 1, 2, 3, 4) == 4);
-
-    BOOST_TEST(boost::protect(boost::bind(f, _1))(0, 1, 2, 3, 4, 5) == 0);
-    BOOST_TEST(boost::protect(boost::bind(f, _2))(0, 1, 2, 3, 4, 5) == 1);
-    BOOST_TEST(boost::protect(boost::bind(f, _3))(0, 1, 2, 3, 4, 5) == 2);
-    BOOST_TEST(boost::protect(boost::bind(f, _4))(0, 1, 2, 3, 4, 5) == 3);
-    BOOST_TEST(boost::protect(boost::bind(f, _5))(0, 1, 2, 3, 4, 5) == 4);
-    BOOST_TEST(boost::protect(boost::bind(f, _6))(0, 1, 2, 3, 4, 5) == 5);
-
-    BOOST_TEST(boost::protect(boost::bind(f, _1))(0, 1, 2, 3, 4, 5, 6) == 0);
-    BOOST_TEST(boost::protect(boost::bind(f, _2))(0, 1, 2, 3, 4, 5, 6) == 1);
-    BOOST_TEST(boost::protect(boost::bind(f, _3))(0, 1, 2, 3, 4, 5, 6) == 2);
-    BOOST_TEST(boost::protect(boost::bind(f, _4))(0, 1, 2, 3, 4, 5, 6) == 3);
-    BOOST_TEST(boost::protect(boost::bind(f, _5))(0, 1, 2, 3, 4, 5, 6) == 4);
-    BOOST_TEST(boost::protect(boost::bind(f, _6))(0, 1, 2, 3, 4, 5, 6) == 5);
-    BOOST_TEST(boost::protect(boost::bind(f, _7))(0, 1, 2, 3, 4, 5, 6) == 6);
-
-    BOOST_TEST(boost::protect(boost::bind(f, _1))(0, 1, 2, 3, 4, 5, 6, 7) == 0);
-    BOOST_TEST(boost::protect(boost::bind(f, _2))(0, 1, 2, 3, 4, 5, 6, 7) == 1);
-    BOOST_TEST(boost::protect(boost::bind(f, _3))(0, 1, 2, 3, 4, 5, 6, 7) == 2);
-    BOOST_TEST(boost::protect(boost::bind(f, _4))(0, 1, 2, 3, 4, 5, 6, 7) == 3);
-    BOOST_TEST(boost::protect(boost::bind(f, _5))(0, 1, 2, 3, 4, 5, 6, 7) == 4);
-    BOOST_TEST(boost::protect(boost::bind(f, _6))(0, 1, 2, 3, 4, 5, 6, 7) == 5);
-    BOOST_TEST(boost::protect(boost::bind(f, _7))(0, 1, 2, 3, 4, 5, 6, 7) == 6);
-    BOOST_TEST(boost::protect(boost::bind(f, _8))(0, 1, 2, 3, 4, 5, 6, 7) == 7);
-
-    BOOST_TEST(boost::protect(boost::bind(f, _1))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 0);
-    BOOST_TEST(boost::protect(boost::bind(f, _2))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 1);
-    BOOST_TEST(boost::protect(boost::bind(f, _3))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 2);
-    BOOST_TEST(boost::protect(boost::bind(f, _4))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 3);
-    BOOST_TEST(boost::protect(boost::bind(f, _5))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 4);
-    BOOST_TEST(boost::protect(boost::bind(f, _6))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 5);
-    BOOST_TEST(boost::protect(boost::bind(f, _7))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 6);
-    BOOST_TEST(boost::protect(boost::bind(f, _8))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 7);
-    BOOST_TEST(boost::protect(boost::bind(f, _9))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 8);
-
-    // test mixed perfect forwarding
-    BOOST_TEST(boost::protect(boost::bind(f, _1))(i[0], 1) == 0);
-    BOOST_TEST(boost::protect(boost::bind(f, _2))(i[0], 1) == 1);
-    BOOST_TEST(boost::protect(boost::bind(f, _1))(0, i[1]) == 0);
-    BOOST_TEST(boost::protect(boost::bind(f, _2))(0, i[1]) == 1);
-
-    // const
-
-    // test nullary
-    BOOST_TEST(constify(constify(boost::protect(boost::bind(f, 1))))() == 1);
-
-    // test lvalues
-    BOOST_TEST(&constify(constify(boost::protect(boost::bind(g, _1))))(i[0]) == &i[0]);
-
-    BOOST_TEST(&constify(constify(boost::protect(boost::bind(g, _1))))(i[0], i[1]) == &i[0]);
-    BOOST_TEST(&constify(constify(boost::protect(boost::bind(g, _2))))(i[0], i[1]) == &i[1]);
-
-    BOOST_TEST(&constify(constify(boost::protect(boost::bind(g, _1))))(i[0], i[1], i[2]) == &i[0]);
-    BOOST_TEST(&constify(constify(boost::protect(boost::bind(g, _2))))(i[0], i[1], i[2]) == &i[1]);
-    BOOST_TEST(&constify(constify(boost::protect(boost::bind(g, _3))))(i[0], i[1], i[2]) == &i[2]);
-
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _1)))(i[0], i[1], i[2], i[3]) == &i[0]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _2)))(i[0], i[1], i[2], i[3]) == &i[1]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _3)))(i[0], i[1], i[2], i[3]) == &i[2]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _4)))(i[0], i[1], i[2], i[3]) == &i[3]);
-
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _1)))(i[0], i[1], i[2], i[3], i[4]) == &i[0]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _2)))(i[0], i[1], i[2], i[3], i[4]) == &i[1]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _3)))(i[0], i[1], i[2], i[3], i[4]) == &i[2]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _4)))(i[0], i[1], i[2], i[3], i[4]) == &i[3]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _5)))(i[0], i[1], i[2], i[3], i[4]) == &i[4]);
-
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _1)))(i[0], i[1], i[2], i[3], i[4], i[5]) == &i[0]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _2)))(i[0], i[1], i[2], i[3], i[4], i[5]) == &i[1]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _3)))(i[0], i[1], i[2], i[3], i[4], i[5]) == &i[2]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _4)))(i[0], i[1], i[2], i[3], i[4], i[5]) == &i[3]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _5)))(i[0], i[1], i[2], i[3], i[4], i[5]) == &i[4]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _6)))(i[0], i[1], i[2], i[3], i[4], i[5]) == &i[5]);
-
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _1)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[0]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _2)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[1]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _3)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[2]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _4)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[3]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _5)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[4]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _6)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[5]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _7)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6]) == &i[6]);
-
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _1)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[0]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _2)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[1]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _3)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[2]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _4)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[3]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _5)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[4]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _6)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[5]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _7)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[6]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _8)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7]) == &i[7]);
-
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _1)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[0]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _2)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[1]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _3)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[2]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _4)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[3]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _5)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[4]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _6)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[5]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _7)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[6]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _8)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[7]);
-    BOOST_TEST(&constify(boost::protect(boost::bind(g, _9)))(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8]) == &i[8]);
-
-    // test rvalues
-
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _1)))(0) == 0);
-
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _1)))(0, 1) == 0);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _2)))(0, 1) == 1);
-
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _1)))(0, 1, 2) == 0);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _2)))(0, 1, 2) == 1);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _3)))(0, 1, 2) == 2);
-
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _1)))(0, 1, 2, 3) == 0);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _2)))(0, 1, 2, 3) == 1);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _3)))(0, 1, 2, 3) == 2);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _4)))(0, 1, 2, 3) == 3);
-
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _1)))(0, 1, 2, 3, 4) == 0);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _2)))(0, 1, 2, 3, 4) == 1);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _3)))(0, 1, 2, 3, 4) == 2);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _4)))(0, 1, 2, 3, 4) == 3);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _5)))(0, 1, 2, 3, 4) == 4);
-
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _1)))(0, 1, 2, 3, 4, 5) == 0);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _2)))(0, 1, 2, 3, 4, 5) == 1);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _3)))(0, 1, 2, 3, 4, 5) == 2);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _4)))(0, 1, 2, 3, 4, 5) == 3);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _5)))(0, 1, 2, 3, 4, 5) == 4);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _6)))(0, 1, 2, 3, 4, 5) == 5);
-
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _1)))(0, 1, 2, 3, 4, 5, 6) == 0);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _2)))(0, 1, 2, 3, 4, 5, 6) == 1);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _3)))(0, 1, 2, 3, 4, 5, 6) == 2);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _4)))(0, 1, 2, 3, 4, 5, 6) == 3);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _5)))(0, 1, 2, 3, 4, 5, 6) == 4);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _6)))(0, 1, 2, 3, 4, 5, 6) == 5);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _7)))(0, 1, 2, 3, 4, 5, 6) == 6);
-
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _1)))(0, 1, 2, 3, 4, 5, 6, 7) == 0);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _2)))(0, 1, 2, 3, 4, 5, 6, 7) == 1);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _3)))(0, 1, 2, 3, 4, 5, 6, 7) == 2);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _4)))(0, 1, 2, 3, 4, 5, 6, 7) == 3);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _5)))(0, 1, 2, 3, 4, 5, 6, 7) == 4);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _6)))(0, 1, 2, 3, 4, 5, 6, 7) == 5);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _7)))(0, 1, 2, 3, 4, 5, 6, 7) == 6);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _8)))(0, 1, 2, 3, 4, 5, 6, 7) == 7);
-
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _1)))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 0);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _2)))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 1);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _3)))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 2);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _4)))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 3);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _5)))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 4);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _6)))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 5);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _7)))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 6);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _8)))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 7);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _9)))(0, 1, 2, 3, 4, 5, 6, 7, 8) == 8);
-
-    // test mixed perfect forwarding
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _1)))(i[0], 1) == 0);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _2)))(i[0], 1) == 1);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _1)))(0, i[1]) == 0);
-    BOOST_TEST(constify(boost::protect(boost::bind(f, _2)))(0, i[1]) == 1);
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/bind/test/ref_fn_test.cpp b/SRC/Boost/libs/bind/test/ref_fn_test.cpp
deleted file mode 100755
index e90ddb8..0000000
--- a/SRC/Boost/libs/bind/test/ref_fn_test.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#endif
-
-//  ref_fn_test.cpp: ref( f )
-//
-//  Copyright (c) 2008 Peter Dimov
-//
-//  Distributed under the Boost Software License, Version 1.0.
-//  See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt
-
-#include <boost/ref.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-
-void f0()
-{
-}
-
-void f1(int)
-{
-}
-
-void f2(int, int)
-{
-}
-
-void f3(int, int, int)
-{
-}
-
-void f4(int, int, int, int)
-{
-}
-
-void f5(int, int, int, int, int)
-{
-}
-
-void f6(int, int, int, int, int, int)
-{
-}
-
-void f7(int, int, int, int, int, int, int)
-{
-}
-
-void f8(int, int, int, int, int, int, int, int)
-{
-}
-
-void f9(int, int, int, int, int, int, int, int, int)
-{
-}
-
-#define BOOST_TEST_REF( f ) BOOST_TEST( &boost::ref( f ).get() == &f )
-
-int main()
-{
-    int v = 0;
-    BOOST_TEST_REF( v );
-
-    BOOST_TEST_REF( f0 );
-    BOOST_TEST_REF( f1 );
-    BOOST_TEST_REF( f2 );
-    BOOST_TEST_REF( f3 );
-    BOOST_TEST_REF( f4 );
-    BOOST_TEST_REF( f5 );
-    BOOST_TEST_REF( f6 );
-    BOOST_TEST_REF( f7 );
-    BOOST_TEST_REF( f8 );
-    BOOST_TEST_REF( f9 );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/config/config.htm b/SRC/Boost/libs/config/config.htm
deleted file mode 100755
index 96cd021..0000000
--- a/SRC/Boost/libs/config/config.htm
+++ /dev/null
@@ -1,15 +0,0 @@
-<html>
-   <head>
-      <meta http-equiv="refresh" content="0; URL=doc/html/index.html">
-   </head>
-   <body>
-      <P>
-         Automatic redirection failed, please go to <a href="doc/html/index.html">doc/html/index.html</a>.
-      </P>
-      <P>Copyright John Maddock 2001</P>
-      <P>Distributed under the Boost Software License, Version 1.0. (See accompanying file <A href="../../LICENSE_1_0.txt">
-            LICENSE_1_0.txt</A> or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</A>).</P>
-   </body>
-</html>
-
-
diff --git a/SRC/Boost/libs/config/configure b/SRC/Boost/libs/config/configure
deleted file mode 100755
index 82d3db9..0000000
--- a/SRC/Boost/libs/config/configure
+++ /dev/null
@@ -1,3894 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61.
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# 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
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" ""	$as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-  fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-if test "x$CONFIG_SHELL" = x; then
-  if (eval ":") 2>/dev/null; then
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-
-  if test $as_have_required = yes && 	 (eval ":
-(as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0) || { (exit 1); exit 1; }
-
-(
-  as_lineno_1=\$LINENO
-  as_lineno_2=\$LINENO
-  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
-  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
-  :
-else
-  as_candidate_shells=
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  case $as_dir in
-	 /*)
-	   for as_base in sh bash ksh sh5; do
-	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
-	   done;;
-       esac
-done
-IFS=$as_save_IFS
-
-
-      for as_shell in $as_candidate_shells $SHELL; do
-	 # Try only shells that exist, to save several forks.
-	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-		{ ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-_ASEOF
-}; then
-  CONFIG_SHELL=$as_shell
-	       as_have_required=yes
-	       if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-(as_func_return () {
-  (exit $1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
-  break
-fi
-
-fi
-
-      done
-
-      if test "x$CONFIG_SHELL" != x; then
-  for as_var in BASH_ENV ENV
-        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-        done
-        export CONFIG_SHELL
-        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
-    if test $as_have_required = no; then
-  echo This script requires a shell more modern than all the
-      echo shells that I found on your system.  Please install a
-      echo modern shell, or manually run the script under such a
-      echo shell if you do have one.
-      { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
-  echo No shell found that supports shell functions.
-  echo Please tell autoconf at gnu.org about your system,
-  echo including any error possibly output before this
-  echo message
-}
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
-  case `echo 'x\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s='ln -s'
-  # ... but there are two gotchas:
-  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-  # In both cases, we have to default to `cp -p'.
-  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-    as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s=ln
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-        test -d "$1/.";
-      else
-	case $1 in
-        -*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-
-exec 7<&0 </dev/null 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-
-ac_unique_file="./tools/configure.in"
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-CXX
-CXXFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CXX
-EXEEXT
-OBJEXT
-LIBOBJS
-LTLIBOBJS'
-ac_subst_files=''
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CXX
-CXXFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CCC'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-   { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-    eval enable_$ac_feature=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-   { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-    eval enable_$ac_feature=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid package name: $ac_package" >&2
-   { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-    eval with_$ac_package=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid package name: $ac_package" >&2
-   { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-    eval with_$ac_package=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; }
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
-   { (exit 1); exit 1; }; }
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  { echo "$as_me: error: missing argument to $ac_option" >&2
-   { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute directory names.
-for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
-		datadir sysconfdir sharedstatedir localstatedir includedir \
-		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; }
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  { echo "$as_me: error: Working directory cannot be determined" >&2
-   { (exit 1); exit 1; }; }
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  { echo "$as_me: error: pwd does not report name of working directory" >&2
-   { (exit 1); exit 1; }; }
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$0" : 'X\(//\)[^/]' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-   { (exit 1); exit 1; }; }
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
-   { (exit 1); exit 1; }; }
-	pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-			  [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-			  [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR           user executables [EPREFIX/bin]
-  --sbindir=DIR          system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR       program executables [EPREFIX/libexec]
-  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
-  --libdir=DIR           object code libraries [EPREFIX/lib]
-  --includedir=DIR       C header files [PREFIX/include]
-  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
-  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR          info documentation [DATAROOTDIR/info]
-  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR           man documentation [DATAROOTDIR/man]
-  --docdir=DIR           documentation root [DATAROOTDIR/doc/PACKAGE]
-  --htmldir=DIR          html documentation [DOCDIR]
-  --dvidir=DIR           dvi documentation [DOCDIR]
-  --pdfdir=DIR           pdf documentation [DOCDIR]
-  --psdir=DIR            ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
---enable-test             tests current settings rather than defining new ones
---enable-extension=<ext>
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-boost=DIR        path to the boost main tree
-
-Some influential environment variables:
-  CXX         C++ compiler command
-  CXXFLAGS    C++ compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" || continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.61
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-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 $as_me, which was
-generated by GNU Autoconf 2.61.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  echo "PATH: $as_dir"
-done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
-    2)
-      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-	ac_must_keep_next=false # Got value, back to normal.
-      else
-	case $ac_arg in
-	  *=* | --config-cache | -C | -disable-* | --disable-* \
-	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-	  | -with-* | --with-* | -without-* | --without-* | --x)
-	    case "$ac_configure_args0 " in
-	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-	    esac
-	    ;;
-	  -* ) ac_must_keep_next=true ;;
-	esac
-      fi
-      ac_configure_args="$ac_configure_args '$ac_arg'"
-      ;;
-    esac
-  done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      *) $as_unset $ac_var ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-	"s/'\''/'\''\\\\'\'''\''/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
-      echo
-      for ac_var in $ac_subst_files
-      do
-	eval ac_val=\$$ac_var
-	case $ac_val in
-	*\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-	esac
-	echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      echo "$as_me: caught signal $ac_signal"
-    echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -n "$CONFIG_SITE"; then
-  set x "$CONFIG_SITE"
-elif test "x$prefix" != xNONE; then
-  set x "$prefix/share/config.site" "$prefix/etc/config.site"
-else
-  set x "$ac_default_prefix/share/config.site" \
-	"$ac_default_prefix/etc/config.site"
-fi
-shift
-for ac_site_file
-do
-  if test -r "$ac_site_file"; then
-    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
-  fi
-done
-
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
-echo "$as_me:   former value:  $ac_old_val" >&2;}
-	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
-echo "$as_me:   current value: $ac_new_val" >&2;}
-	ac_cache_corrupted=:
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-# Check whether --enable-test was given.
-if test "${enable_test+set}" = set; then
-  enableval=$enable_test;
-fi
-
-
-if test "foo"$enable_test = "foo"; then
-   enable_test="no"
-fi
-
-cat << EOF
-*** $0: boost configuration utility ***
-
-Please stand by while exploring compiler capabilities...
-Be patient - this could take some time...
-
-Note that this test script only gives an approximate
-configuration - you will need to test the results carefully
-using the boost regression test suite before using the results.
-EOF
-
-if test $enable_test = 'yes'; then
-
-cat << EOF
-
-This script reports only the difference between the detected
-configuration, and the existing boost configuration.  Its
-primary aim is to quickly report how well boost is configured
-for one compiler.
-
-***
-
-EOF
-
-else
-
-cat << EOF
-
-***
-
-EOF
-fi
-
-# Check whether --enable-extension was given.
-if test "${enable_extension+set}" = set; then
-  enableval=$enable_extension;
-case "$enableval" in
-   no) { echo "$as_me:$LINENO: result: Info :.cpp used as extension for tests" >&5
-echo "${ECHO_T}Info :.cpp used as extension for tests" >&6; }
-       ac_ext=cpp
-         ;;
-    *) { echo "$as_me:$LINENO: result: Argument : .$enableval used as extension" >&5
-echo "${ECHO_T}Argument : .$enableval used as extension" >&6; }
-   ac_ext=$enableval
-esac
-
-else
-  { echo "$as_me:$LINENO: result: Info : .cpp used as extension for tests" >&5
-echo "${ECHO_T}Info : .cpp used as extension for tests" >&6; }
-   ac_ext=cpp
-
-
-fi
-
-
-
-if test -f /bin/sed ; then
-   SED=/bin/sed
-else
-   if test -f /usr/bin/sed ; then
-      SED=/usr/bin/sed
-   else
-      SED=sed
-   fi
-fi
-
-{ echo "$as_me:$LINENO: checking for boost main tree" >&5
-echo $ECHO_N "checking for boost main tree... $ECHO_C" >&6; }
-boost_base=
-
-# Check whether --with-boost was given.
-if test "${with_boost+set}" = set; then
-  withval=$with_boost;
-  #echo "--with boost is set"
-  if test "x$withval" != "x"; then
-    if test "x$withval" != no; then
-      boost_base=`echo "$withval" | $SED 's,//*,/,g' | $SED 's,/$,,'`
-      #echo boost_base=$boost_base
-      if test -f "$boost_base/boost/config.hpp"; then
-        if test -f "$boost_base/libs/config/configure"; then :; else
-          boost_base=
-          #echo "$boost_base/libs/config/configure" not found
-        fi
-      else
-        #echo "$boost_base/boost/config.hpp" not found
-        boost_base=
-      fi
-    fi
-  fi
-
-
-fi
-
-if test "x$boost_base" = "x"; then
-  #echo '$0 = ' $0
-  boost_base=`expr "x$0" : 'x\(.*\)/[/]*' \| '.'`
-  boost_base="$boost_base/../.."
-  #echo boost_base=$boost_base
-  if test -f "$boost_base/boost/config.hpp"; then
-    if test -f "$boost_base/libs/config/configure"; then :; else
-      boost_base=
-    fi
-  else
-    boost_base=
-  fi
-fi
-if test "x$boost_base" != "x"; then
-  { echo "$as_me:$LINENO: result: $boost_base" >&5
-echo "${ECHO_T}$boost_base" >&6; }
-else
-  { echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6; }
-  { { echo "$as_me:$LINENO: error: The boost main tree was not found.
-  Specify its location by the --with-boost option." >&5
-echo "$as_me: error: The boost main tree was not found.
-  Specify its location by the --with-boost option." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-
-
-# Save that, as it is being redefined several times
-use_ac_ext=$ac_ext
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-    test -n "$CXX" && break
-  done
-fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    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_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CXX" && break
-done
-
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    CXX=$ac_ct_CXX
-  fi
-fi
-
-  fi
-fi
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-
-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
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5
-echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; }
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort.  b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions.  Remove them first so a
-# subsequent execution test works.
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { (ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
-	;;
-    [ab].out )
-	# We found the default executable, but exeext='' is most
-	# certainly right.
-	break;;
-    *.* )
-        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-	then :; else
-	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	fi
-	# We set ac_cv_exeext here because the later test for it is not
-	# safe: cross compilers may not add the suffix if given an `-o'
-	# argument, so we may need to know it at that point already.
-	# Even if this section looks crufty: it has the advantage of
-	# actually working.
-	break;;
-    * )
-	break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
-if test -z "$ac_file"; then
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C++ compiler cannot create executables
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5
-echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { echo "$as_me:$LINENO: error: cannot run C++ compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C++ compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-    fi
-  fi
-fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6; }
-
-{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  break;;
-    * ) break;;
-  esac
-done
-else
-  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
-if test "${ac_cv_objext+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 "echo \"\$as_me:$LINENO: $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
-  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_compiler_gnu=yes
-else
-  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_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat >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 "echo \"\$as_me:$LINENO: $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
-  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_prog_cxx_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	CXXFLAGS=""
-      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 "echo \"\$as_me:$LINENO: $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
-  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
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-	 CXXFLAGS="-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 "echo \"\$as_me:$LINENO: $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
-  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_prog_cxx_g=yes
-else
-  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_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-ac_ext=$use_ac_ext
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-OLD_CXXFLAGS="$CXXFLAGS"
-
-
-if test $enable_test = 'yes'; then
-   CXXFLAGS="-I$boost_base -I$boost_base/libs/config/test $CXXFLAGS"
-else
-   CXXFLAGS="-I$boost_base -I$boost_base/libs/config/test $CXXFLAGS -DBOOST_NO_CONFIG"
-fi
-
-# add the -AA conformance option to CXXFLAGS for HP aCC only
-if test $CXX = 'aCC'; then
-   CXXFLAGS="-AA $CXXFLAGS"
-fi
-
-
-
-
-{ echo "$as_me:$LINENO: checking for pthread_exit in -lpthread" >&5
-echo $ECHO_N "checking for pthread_exit in -lpthread... $ECHO_C" >&6; }
-if test "${ac_cv_lib_pthread_pthread_exit+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpthread  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pthread_exit ();
-int
-main ()
-{
-return pthread_exit ();
-  ;
-  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 "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_pthread_pthread_exit=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_pthread_pthread_exit=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_exit" >&5
-echo "${ECHO_T}$ac_cv_lib_pthread_pthread_exit" >&6; }
-if test $ac_cv_lib_pthread_pthread_exit = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBPTHREAD 1
-_ACEOF
-
-  LIBS="-lpthread $LIBS"
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking for cos in -lm" >&5
-echo $ECHO_N "checking for cos in -lm... $ECHO_C" >&6; }
-if test "${ac_cv_lib_m_cos+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char cos ();
-int
-main ()
-{
-return cos ();
-  ;
-  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 "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_m_cos=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_m_cos=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_m_cos" >&5
-echo "${ECHO_T}$ac_cv_lib_m_cos" >&6; }
-if test $ac_cv_lib_m_cos = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
-  LIBS="-lm $LIBS"
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking for clock in -lrt" >&5
-echo $ECHO_N "checking for clock in -lrt... $ECHO_C" >&6; }
-if test "${ac_cv_lib_rt_clock+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lrt  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char clock ();
-int
-main ()
-{
-return clock ();
-  ;
-  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 "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_rt_clock=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_rt_clock=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_rt_clock" >&5
-echo "${ECHO_T}$ac_cv_lib_rt_clock" >&6; }
-if test $ac_cv_lib_rt_clock = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBRT 1
-_ACEOF
-
-  LIBS="-lrt $LIBS"
-
-fi
-
-
-#
-# enumerate test files and test each one:
-#
-for file in $boost_base/libs/config/test/boost_no*.ipp; do
-
-   basename=`echo $file | $SED 's/.*boost_\(.*\)\.ipp/\1/'`
-   macroname=`cat $file | grep '^//[ 	]*MACRO:' | $SED 's/.*MACRO:[ 	]*\([_A-Z0-9]*\).*/\1/'`
-   title=`cat $file | grep '^//[ 	]*TITLE:' | $SED 's/.*TITLE:[ 	]*\([^ 	].*\)/\1/'`
-   namespace=`echo $macroname | tr [A-Z] [a-z]`
-
-#echo file      = $file
-#echo basename  = $basename
-#echo macroname = $macroname
-#echo title     = $title
-#echo namespace = $namespace
-
-   ac_ext=$use_ac_ext
-   if test $enable_test = 'yes'; then
-      { echo "$as_me:$LINENO: checking $title (pass expected) " >&5
-echo $ECHO_N "checking $title (pass expected) ... $ECHO_C" >&6; }
-   else
-      { echo "$as_me:$LINENO: checking $title " >&5
-echo $ECHO_N "checking $title ... $ECHO_C" >&6; }
-   fi
-   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#if !defined($macroname) || defined(BOOST_NO_CONFIG)
-#include "boost_$basename.ipp"
-#else
-namespace ${namespace} = empty_boost;
-#endif
-
-int main(){ return ${namespace}::test(); }
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { echo "$as_me:$LINENO: result: OK" >&5
-echo "${ECHO_T}OK" >&6; }
-
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ echo "$as_me:$LINENO: result: Failed" >&5
-echo "${ECHO_T}Failed" >&6; }
-   required_defs="$macroname $required_defs"
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-
-   if test $enable_test = 'yes'; then
-
-   ac_ext=$use_ac_ext
-   { echo "$as_me:$LINENO: checking $title (fail expected) " >&5
-echo $ECHO_N "checking $title (fail expected) ... $ECHO_C" >&6; }
-   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef $macroname
-#include "boost_$basename.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main() { return ${namespace}::test(); }
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
-   required_undefs="$macroname $required_undefs"
-
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ echo "$as_me:$LINENO: result: OK" >&5
-echo "${ECHO_T}OK" >&6; }
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-
-   fi
-
-done
-
-#
-# enumerate optional test files and test each one:
-#
-for file in $boost_base/libs/config/test/boost_has*.ipp; do
-
-   basename=`echo $file | $SED 's/.*boost_\(.*\)\.ipp/\1/'`
-   macroname=`cat $file | grep '^//[ 	]*MACRO:' | $SED 's/.*MACRO:[ 	]*\([_A-Z0-9]*\).*/\1/'`
-   title=`cat $file | grep '^//[ 	]*TITLE:' | $SED 's/.*TITLE:[ 	]*\([^ 	].*\)/\1/'`
-   namespace=`echo $macroname | tr [A-Z] [a-z]`
-
-#  echo $file
-#  echo $basename
-#  echo $macroname
-#  echo $title
-
-   ac_ext=$use_ac_ext
-   if test $enable_test = 'yes'; then
-   { echo "$as_me:$LINENO: checking $title (pass expected) " >&5
-echo $ECHO_N "checking $title (pass expected) ... $ECHO_C" >&6; }
-   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef $macroname
-#include "boost_$basename.ipp"
-#else
-namespace ${namespace} = empty_boost;
-#endif
-
-int main(){ return ${namespace}::test(); }
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { echo "$as_me:$LINENO: result: OK" >&5
-echo "${ECHO_T}OK" >&6; }
-
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ echo "$as_me:$LINENO: result: Failed" >&5
-echo "${ECHO_T}Failed" >&6; }
-   required_undefs="$macroname $required_undefs"
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-
-   { echo "$as_me:$LINENO: checking $title (fail expected) " >&5
-echo $ECHO_N "checking $title (fail expected) ... $ECHO_C" >&6; }
-   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef $macroname
-#include "boost_$basename.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main(){ return ${namespace}::test(); }
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-   { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
-   required_defs="$macroname $required_defs"
-
-
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-
-   { echo "$as_me:$LINENO: result: OK" >&5
-echo "${ECHO_T}OK" >&6; }
-
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-
-   else
-
-   ac_ext=$use_ac_ext
-   { echo "$as_me:$LINENO: checking $title" >&5
-echo $ECHO_N "checking $title... $ECHO_C" >&6; }
-   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#include "boost_$basename.ipp"
-
-int main(){ return ${namespace}::test(); }
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-      { echo "$as_me:$LINENO: result: Yes" >&5
-echo "${ECHO_T}Yes" >&6; }
-      required_defs="$macroname $required_defs"
-
-
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-
-      { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-
-   fi
-
-done
-
-
-#echo $required_defs
-#echo $required_undefs
-
-if test $enable_test = 'yes'; then
-
-if test "$required_defs" = ""; then
-echo no boost macros need to be defined
-echo no boost macros need to be defined >&5
-else
-echo the following macros need to be defined
-echo    $required_defs
-echo the following macros need to be defined >&5
-echo    $required_defs >&5
-fi
-if test "$required_undefs" = ""; then
-echo no boost macros need to be undefined
-echo no boost macros need to be undefined >&5
-else
-echo "the following macros need to be undef'ed"
-echo    $required_undefs
-echo "the following macros need to be undef'ed" >&5
-echo    $required_undefs >&5
-fi
-
-else
-
-date_string=`date`
-
-echo boost_base=$boost_base
-
-cat > user.hpp << EOF
-//  (C) Copyright Boost.org 2001.
-//  Do not check in modified versions of this file,
-//  This file may be customised by the end user, but not by boost.
-
-//
-//  Use this file to define a site and compiler specific
-//  configuration policy, this version was auto-generated by
-//  configure on ${date_string}
-//  With the following options:
-//    CXX      = ${CXX}
-//    CXXFLAGS = ${CXXFLAGS}
-//    LDFLAGS  = ${LDFLAGS}
-//    LIBS     = ${LIBS}
-//
-
-// define this to disable all config options,
-// excluding the user config.  Use if your
-// setup is fully ISO complient, and has no
-// useful extentions, or for autoconf generated
-// setups:
-#ifndef BOOST_NO_CONFIG
-#  define BOOST_NO_CONFIG
-#endif
-
-
-// define if you want to disable threading support, even
-// when available:
-// #define BOOST_DISABLE_THREADS
-
-// define if you want the regex library to use the C locale
-// even on Win32:
-// #define BOOST_REGEX_USE_C_LOCALE
-
-// define this is you want the regex library to use the C++
-// locale:
-// #define BOOST_REGEX_USE_CPP_LOCALE
-
-
-//
-// options added by configure:
-//
-EOF
-
-for name in $required_defs; do
-echo '#define '"$name" >> user.hpp
-done
-
-cat_conts=`cat user.hpp`
-
-#
-# post configuration step:
-#
-{ echo "$as_me:$LINENO: checking original configuration " >&5
-echo $ECHO_N "checking original configuration ... $ECHO_C" >&6; }
-rm -f conftest$ac_exeext
-$CXX -I$boost_base $OLD_CXXFLAGS -DBOOST_NO_USER_CONFIG -o conftest$ac_exeext $LDFLAGS $boost_base/libs/config/test/config_info.cpp $LIBS >&5 2>&1
-./conftest >&5 2>&1
-{ echo "$as_me:$LINENO: result: done" >&5
-echo "${ECHO_T}done" >&6; }
-{ echo "$as_me:$LINENO: checking new configuration " >&5
-echo $ECHO_N "checking new configuration ... $ECHO_C" >&6; }
-rm -f conftest$ac_exeext
-$CXX -I$boost_base -I$boost_base/libs/config $OLD_CXXFLAGS -DBOOST_USER_CONFIG='"user.hpp"' -o conftest$ac_exeext $LDFLAGS $boost_base/libs/config/test/config_info.cpp $LIBS >&5 2>&1
-./conftest >&5 2>&1
-{ echo "$as_me:$LINENO: result: done" >&5
-echo "${ECHO_T}done" >&6; }
-
-ac_config_commands="$ac_config_commands default"
-
-
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then branch to the quote section.  Otherwise,
-# look for a macro that doesn't take arguments.
-ac_script='
-t clear
-:clear
-s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\)/-D\1=\2/g
-t quote
-s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)/-D\1=\2/g
-t quote
-b any
-:quote
-s/[	 `~#$^&*(){}\\|;'\''"<>?]/\\&/g
-s/\[/\\&/g
-s/\]/\\&/g
-s/\$/$$/g
-H
-:any
-${
-	g
-	s/^\n//
-	s/\n/ /g
-	p
-}
-'
-DEFS=`sed -n "$ac_script" confdefs.h`
-
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# 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
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" ""	$as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-  fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
-  case `echo 'x\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s='ln -s'
-  # ... but there are two gotchas:
-  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-  # In both cases, we have to default to `cp -p'.
-  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-    as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s=ln
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-        test -d "$1/.";
-      else
-	case $1 in
-        -*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-
-# Save the log message, to keep $[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.61.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-# Files that config.status was made for.
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-  -q, --quiet      do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf at gnu.org>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.61,
-  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2006 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value.  By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    echo "$ac_cs_version"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --he | --h |  --help | --hel | -h )
-    echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) { echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; } ;;
-
-  *) ac_config_targets="$ac_config_targets $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
-  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  CONFIG_SHELL=$SHELL
-  export CONFIG_SHELL
-  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS
-#
-
-cat_conts="$cat_conts"
-
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
-
-  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
-   { (exit 1); exit 1; }; };;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp=
-  trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
-  trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} ||
-{
-   echo "$me: cannot create a temporary directory in ." >&2
-   { (exit 1); exit 1; }
-}
-
-
-for ac_tag in        :C $CONFIG_COMMANDS
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
-   { (exit 1); exit 1; }; };;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
-	 # because $ac_f cannot contain `:'.
-	 test -f "$ac_f" ||
-	   case $ac_f in
-	   [\\/$]*) false;;
-	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-	   esac ||
-	   { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
-   { (exit 1); exit 1; }; };;
-      esac
-      ac_file_inputs="$ac_file_inputs $ac_f"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input="Generated from "`IFS=:
-	  echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    fi
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin";;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$ac_file" : 'X\(//\)[^/]' \| \
-	 X"$ac_file" : 'X\(//\)$' \| \
-	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-  { as_dir="$ac_dir"
-  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=`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 ||
-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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-
-
-
-  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "default":C)
-cat > user.hpp << EEEOF
-${cat_conts}
-EEEOF
-cat << EEEOF
-
-Adjustments to boost configuration have been written to
-user.hpp.  Copy this to boost/config/user.hpp to use "as is",
-or define BOOST_SITE_CONFIG to point to its location.
-
-TREAT THIS FILE WITH CARE.
-Autoconf generated options are not infallible!
-
-EEEOF
- ;;
-
-  esac
-done # for ac_tag
-
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || { (exit 1); exit 1; }
-fi
-
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/doc/Jamfile.v2 b/SRC/Boost/libs/config/doc/Jamfile.v2
deleted file mode 100755
index 554b57f..0000000
--- a/SRC/Boost/libs/config/doc/Jamfile.v2
+++ /dev/null
@@ -1,61 +0,0 @@
-# Boost.Config
-#
-# Copyright (c) 2001 Beman Dawes
-# Copyright (c) 2001 Vesa Karvonen
-# Copyright (c) 2001 John Maddock
-#
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-
-# Quickbook
-# -----------------------------------------------------------------------------
-
-import quickbook ;
-
-path-constant boost-images : ../../../doc/src/images ;
-
-xml config
-    :
-        config.qbk
-    ;
-    
-boostbook standalone
-    :
-        config
-    :
-        <xsl:param>toc.max.depth=2
-        <xsl:param>toc.section.depth=2
-        <xsl:param>chunk.section.depth=1
-        <xsl:param>boost.root=../../../..
-
-        # PDF Options:
-        <format>pdf:<xsl:param>xep.extensions=1
-        # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
-        <format>pdf:<xsl:param>fop.extensions=0
-        <format>pdf:<xsl:param>fop1.extensions=0
-        # No indent on body text:
-        <format>pdf:<xsl:param>body.start.indent=0pt
-        # Margin size:
-        <format>pdf:<xsl:param>page.margin.inner=0.5in
-        # Margin size:
-        <format>pdf:<xsl:param>page.margin.outer=0.5in
-        # Paper type = A4
-        <format>pdf:<xsl:param>paper.type=A4
-        # Yes, we want graphics for admonishments:
-        <xsl:param>admon.graphics=1
-        # Set this one for PDF generation *only*:
-        # default pnd graphics are awful in PDF form,
-        # better use SVG's instead:
-        <format>pdf:<xsl:param>admon.graphics.extension=".svg"
-        <format>pdf:<xsl:param>use.role.for.mediaobject=1 
-        <format>pdf:<xsl:param>preferred.mediaobject.role=print
-        <format>pdf:<xsl:param>admon.graphics.path=$(boost-images)/
-        <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/config/doc/html
-    ;
-
-
-install pdf-install : standalone : <location>. <install-type>PDF ;
-
-
diff --git a/SRC/Boost/libs/config/doc/acknowledgements.qbk b/SRC/Boost/libs/config/doc/acknowledgements.qbk
deleted file mode 100755
index 4ca2a67..0000000
--- a/SRC/Boost/libs/config/doc/acknowledgements.qbk
+++ /dev/null
@@ -1,32 +0,0 @@
-[/
-    Boost.Config
-
-    Copyright (c) 2001 Beman Dawes
-    Copyright (c) 2001 Vesa Karvonen
-    Copyright (c) 2001 John Maddock
-
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-]
-
-[section Acknowledgements]
-
-Beman Dawes provided the original `config.hpp` and part of this document.
-
-Vesa Karvonen provided a description of the principles (see
-[link boost_config.rationale rationale]) and put together an early version of
-the current configuration setup.
-
-John Maddock put together the configuration current code, the test
-programs, the configuration script and the reference section of this
-document.
-
-Matias Capeletto converted the docs to quickbook format.
-
-Numerous boost members, past and present, have contributed fixes to boost's
-configuration.
-
-[endsect]
-
-
diff --git a/SRC/Boost/libs/config/doc/config.qbk b/SRC/Boost/libs/config/doc/config.qbk
deleted file mode 100755
index 10c83c7..0000000
--- a/SRC/Boost/libs/config/doc/config.qbk
+++ /dev/null
@@ -1,60 +0,0 @@
-[article Boost.Config
-    [quickbook 1.4]
-    [authors [Beman Dawes, Vesa Karvonen, John Maddock] ]
-    [copyright 2001-2007 Beman Dawes, Vesa Karvonen, John Maddock]
-    [category broken compiler workarounds]
-    [id config]
-    [dirname config]
-    [purpose
-        Helps boost library developers adapt to compiler idiosyncrasies; not intended for library users.
-    ]
-    [source-mode c++]
-    [license
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or copy at
-[@http://www.boost.org/LICENSE_1_0.txt])
-    ]
-]
-
-
-[/ Cited Boost resources ]
-
-[def __BOOST_REGRESSION_TEST_DRIVER__ [@../../../../tools/regression/doc/index.html boost regression test driver]]
-[def __BOOST_CONFIG_HEADER__ [@../../../../boost/config.hpp <boost/config.hpp>]]
-[def __BOOST_CONFIG_USER_HEADER__ [@../../../../boost/config/user.hpp <boost/config/user.hpp>]]
-[def __BOOST_CONFIG_SUFFIX_HEADER__ [@../../../../boost/config/user.hpp <boost/config/suffix.hpp>]]
-[def __BOOST_CONFIG_DIR__ ['<boost-root>]`/boost/config/`]
-
-
-[/ Other web resources ]
-
-[def __STL_PORT__ [@http://stlport.sourceforge.net STLport]]
-[def __BOOST_TRACKER__ [@https://svn.boost.org/trac/boost/newticket Trac]]
-[def __CORE_LANGUAGE_DR337__ [@http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#337 Core Language DR337]]
-[def __PRINCIPLES_AND_PATTERNS_ARTICLE__ [@http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf following article]]
-
-
-[/ Icons ]
-
-[def __NOTE__ [$images/note.png]]
-[def __ALERT__ [$images/caution.png]]
-[def __DETAIL__ [$images/note.png]]
-[def __TIP__ [$images/tip.png]]
-[def __QUESTION_MARK__ [$images/question.png]]
-[def __SPACE__ [$images/space.png]]
-[def __GO_TO__ [$images/callouts/R.png]]
-
-
-[/ Document files ]
-
-
-[include configuring_boost.qbk]
-[include macro_reference.qbk]
-[include guidelines.qbk]
-[include rationale.qbk]
-[include acknowledgements.qbk]
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/doc/configuring_boost.qbk b/SRC/Boost/libs/config/doc/configuring_boost.qbk
deleted file mode 100755
index 04c9490..0000000
--- a/SRC/Boost/libs/config/doc/configuring_boost.qbk
+++ /dev/null
@@ -1,434 +0,0 @@
-[/
-    Boost.Config
-
-    Copyright (c) 2001 Beman Dawes
-    Copyright (c) 2001 Vesa Karvonen
-    Copyright (c) 2001 John Maddock
-
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-]
-
-
-[section Configuring Boost for Your Platform]
-
-
-[section Using the default boost configuration]
-
-Boost comes already configured for most common compilers and platforms; you
-should be able to use boost "as is". Since the compiler is configured
-separately from the standard library, the default configuration should work
-even if you replace the compiler's standard library with a third-party
-standard library (like __STL_PORT__).
-
-Using boost "as is" without trying to reconfigure is the recommended method
-for using boost. You can, however, run the configure script if you want to,
-and there are regression tests provided that allow you to test the current
-boost configuration with your particular compiler setup.
-
-Boost library users can request support for additional compilers or platforms
-by visiting our __BOOST_TRACKER__ and submitting a support request.
-
-[endsect]
-
-[section The <boost/config.hpp> header]
-
-Boost library implementations access configuration macros via
-
-    #include ``__BOOST_CONFIG_HEADER__``
-
-While Boost library users are not required to include that file directly, or
-use those configuration macros, such use is acceptable. The configuration
-macros are documented as to their purpose, usage, and limitations which makes
-them usable by both Boost library and user code.
-
-Boost [link config_info_macros informational] or [link config_helpers helper]
-macros are designed for use by Boost users as well as for our own internal use.
-Note however, that the [link config_features feature test] and
-[link config_defects defect test] macros were designed for internal use by
-Boost libraries, not user code, so they can change at any time (though no
-gratuitous changes are made to them). Boost library problems resulting from
-changes to the configuration macros are caught by the Boost regression tests,
-so the Boost libraries are updated to account for those changes. By contrast,
-Boost library user code can be adversely affected by changes to the macros
-without warning. The best way to keep abreast of changes to the macros used in
-user code is to monitor the discussions on the Boost developers list.
-
-[endsect]
-
-[#config_config_script]
-
-[section Using the configure script]
-
-[important
-This configure script only sets up the Boost headers for use with a particular
-compiler. It has no effect on Boost.Build, or how the libraries are built.
-]
-
-If you know that boost is incorrectly configured for your particular setup, and
-you are on a UNIX like platform, then you may want to try and improve things by
-running the boost configure script. From a shell command prompt you will need to
-cd into ['<boost-root>]`/libs/config/` and type:
-
-[: `sh ./configure` ]
-
-you will see a list of the items being checked as the script works its way
-through the regression tests. Note that the configure script only really
-auto-detects your compiler if it's called g++, c++ or CC. If you are using
-some other compiler you will need to set one or more of the following
-environment variables:
-
-
-[table
-[[Variable][Description                                       ]]
-[[CXX     ][The name of the compiler, for example `c++`.      ]]
-[[CXXFLAGS][The compiler flags to use, for example `-O2`.     ]]
-[[LDFLAGS ][The linker flags to use, for example `-L/mypath`. ]]
-[[LIBS    ][Any libraries to link in, for example `-lpthread`.]]
-]
-
-For example to run the configure script with HP aCC, you might use something
-like:
-
-    export CXX="aCC"
-    export CXXFLAGS="-Aa -DAportable -D__HPACC_THREAD_SAFE_RB_TREE \
-       -DRWSTD_MULTI_THREAD -DRW_MULTI_THREAD -D_REENTRANT -D_THREAD_SAFE"
-    export LDFLAGS="-DAportable"
-    export LIBS="-lpthread" 
-    sh ./configure
-
-However you run the configure script, when it finishes you will find a
-new header -`user.hpp`- located in the ['<boost-root>]`/libs/config/`
-directory. [*Note that configure does not install this header into your
-boost include path by default]. This header contains all the options
-generated by the configure script, plus a header-section that contains
-the user settable options from the default version of
-__BOOST_CONFIG_USER_HEADER__ (located under __BOOST_CONFIG_DIR__).
-There are two ways you can use this header:
-
-* [*Option 1:] copy the header into __BOOST_CONFIG_DIR__ so that it replaces
-the default user.hpp provided by boost. This option allows only one
-configure-generated setup; boost developers should avoid this option,
-as it incurs the danger of accidentally committing a configure-modified
-__BOOST_CONFIG_USER_HEADER__ to the cvs repository (something you will not
-be thanked for!).
-
-* [*Option 2:]  give the header a more memorable name, and place it somewhere
-convenient; then, define the macro `BOOST_USER_CONFIG` to point to it. For
-example create a new sub-directory __BOOST_CONFIG_DIR__ `user/`, and copy
-the header there; for example as `multithread-gcc-config.hpp`. Then, when
-compiling add the command line option:
-`-DBOOST_USER_CONFIG="<boost/config/user/multithread-gcc-config.hpp>"`, and
-boost will use the new configuration header. This option allows you to
-generate more than one configuration header, and to keep them separate
-from the boost source - so that updates to the source do not interfere
-with your configuration.
-
-[endsect]
-
-[#config_user_settable]
-
-[section User settable options]
-
-There are some configuration-options that represent user choices, rather
-than compiler defects or platform specific options. These are listed in
-`<boost/config/user.hpp>` and at the start of a configure-generated `user.hpp`
-header. You can define these on the command line, or by editing
-`<boost/config/user.hpp>`, they are listed in the following table: 
-
-
-
-[table
-
-[[Macro         ][Description       ]]
-
-[[`BOOST_USER_CONFIG`][
-When defined, it should point to the name of the user configuration file
-to include prior to any boost configuration files. When not defined,
-defaults to [@../../../../boost/config/user.hpp `<boost/config/user.hpp>`].
-]]
-[[`BOOST_COMPILER_CONFIG`][
-When defined, it should point to the name of the compiler configuration
-file to use. Defining this cuts out the compiler selection logic, and
-eliminates the dependency on the header containing that logic. For
-example if you are using gcc, then you could define BOOST_COMPILER_CONFIG
-to [@../../../../boost/config/compiler/gcc.hpp `<boost/config/compiler/gcc.hpp>`].
-]]
-[[`BOOST_STDLIB_CONFIG`][
-When defined, it should point to the name of the standard library
-configuration file to use. Defining this cuts out the standard library
-selection logic, and eliminates the dependency on the header containing
-that logic. For example if you are using STLport, then you could define
-`BOOST_STDLIB_CONFIG` to
-[@../../../../boost/config/stdlib/stlport.hpp `<boost/config/stdlib/stlport.hpp>`].
-]]
-[[`BOOST_PLATFORM_CONFIG`][
-When defined, it should point to the name of the platform configuration
-file to use. Defining this cuts out the platform selection logic, and
-eliminates the dependency on the header containing that logic. For example
-if you are compiling on linux, then you could define `BOOST_PLATFORM_CONFIG`
-to [@../../../../boost/config/platform/linux.hpp `<boost/config/platform/linux.hpp>`].
-]]
-[[`BOOST_NO_COMPILER_CONFIG`][
-When defined, no compiler configuration file is selected or included,
-define when the compiler is fully conformant with the standard, or where
-the user header (see `BOOST_USER_CONFIG`), has had any options necessary
-added to it, for example by an autoconf generated configure script.
-]]
-[[`BOOST_NO_STDLIB_CONFIG` ][
-When defined, no standard library configuration file is selected or included,
-define when the standard library is fully conformant with the standard, or
-where the user header (see `BOOST_USER_CONFIG`), has had any options necessary
-added to it, for example by an autoconf generated configure script.
-]]
-[[`BOOST_NO_PLATFORM_CONFIG` ][
-When defined, no platform configuration file is selected or included,
-define when the platform is fully conformant with the standard (and has
-no useful extra features), or where the user header (see
-`BOOST_USER_CONFIG`), has had any options necessary added to it, for example
-by an autoconf generated configure script.
-]]
-[[`BOOST_NO_CONFIG` ][
-Equivalent to defining all of `BOOST_NO_COMPILER_CONFIG`,
-`BOOST_NO_STDLIB_CONFIG` and `BOOST_NO_PLATFORM_CONFIG`.
-]]
-[[`BOOST_STRICT_CONFIG` ][
-The normal behavior for compiler versions that are newer than the last
-known version, is to assume that they have all the same defects as the
-last known version. By setting this define, then compiler versions that
-are newer than the last known version are assumed to be fully conforming
-with the standard. This is probably most useful for boost developers or
-testers, and for those who want to use boost to test beta compiler versions.
-]]
-[[`BOOST_ASSERT_CONFIG` ][
-When this flag is set, if the config finds anything unknown, then it will
-stop with a #error rather than continue. Boost regression testers should
-set this define, as should anyone who wants to quickly check whether boost
-is supported on their platform.
-]]
-[[`BOOST_DISABLE_THREADS` ][
-When defined, disables threading support, even if the compiler in its
-current translation mode supports multiple threads.
-]]
-[[`BOOST_DISABLE_WIN32` ][
-When defined, disables the use of Win32 specific API's, even when these
-are available. Also has the effect of setting `BOOST_DISABLE_THREADS` unless
-`BOOST_HAS_PTHREADS` is set. This option may be set automatically by the
-config system when it detects that the compiler is in "strict mode".
-]]
-[[`BOOST_DISABLE_ABI_HEADERS`][
-Stops boost headers from including any prefix/suffix headers that normally
-control things like struct packing and alignment.
-]]
-[[`BOOST_ABI_PREFIX`][
-A prefix header to include in place of whatever boost.config would normally
-select, any replacement should set up struct packing and alignment options
-as required.
-]]
-[[`BOOST_ABI_SUFFIX` ][
-A suffix header to include in place of whatever boost.config would normally
-select, any replacement should undo the effects of the prefix header.
-]]
-[[`BOOST_ALL_DYN_LINK`][
-Forces all libraries that have separate source, to be linked as dll's rather
-than static libraries on Microsoft Windows (this macro is used to turn on
-`__declspec(dllimport)` modifiers, so that the compiler knows which symbols
-to look for in a dll rather than in a static library).
-Note that there may be some libraries that can only be statically linked
-(Boost.Test for example) and others which may only be dynamically linked
-(Boost.Threads for example), in these cases this macro has no effect.
-]]
-[[`BOOST_`['WHATEVER]`_DYN_LINK`][
-Forces library "whatever" to be linked as a dll rather than a static library
-on Microsoft Windows: replace the ['WHATEVER] part of the macro name with the
-name of the library that you want to dynamically link to, for example use
-`BOOST_DATE_TIME_DYN_LINK` or `BOOST_REGEX_DYN_LINK` etc (this macro is used
-to turn on `__declspec(dllimport)` modifiers, so that the compiler knows
-which symbols to look for in a dll rather than in a static library).
-Note that there may be some libraries that can only be statically linked
-(Boost.Test for example) and others which may only be dynamically linked
-(Boost.Threads for example), in these cases this macro is unsupported.
-]]
-[[`BOOST_ALL_NO_LIB`][
-Tells the config system not to automatically select which libraries to link
-against.
-Normally if a compiler supports #pragma lib, then the correct library build
-variant will be automatically selected and linked against, simply by the act
-of including one of that library's headers. This macro turns that
-feature off.
-]]
-[[`BOOST_`['WHATEVER]`_NO_LIB`][
-Tells the config system not to automatically select which library to link
-against for library "whatever", replace ['WHATEVER] in the macro name with the
-name of the library; for example `BOOST_DATE_TIME_NO_LIB` or `BOOST_REGEX_NO_LIB`.
-Normally if a compiler supports `#pragma lib`, then the correct library build
-variant will be automatically selected and linked against, simply by the
-act of including one of that library's headers.  This macro turns that
-feature off.
-]]
-[[`BOOST_LIB_DIAGNOSTIC`][
-Causes the auto-linking code to output diagnostic messages indicating the
-name of the library that is selected for linking.
-]]
-[[`BOOST_LIB_TOOLSET`][
-Overrides the name of the toolset part of the name of library being linked
-to; note if defined this must be defined to a quoted string literal, for
-example "abc".
-]]
-]
-
-[endsect]
-
-[section Advanced configuration usage]
-
-By setting various macros on the compiler command line or by editing
-__BOOST_CONFIG_USER_HEADER__, the boost configuration setup can be optimised
-in a variety of ways.
-
-Boost's configuration is structured so that the user-configuration is
-included first (defaulting to __BOOST_CONFIG_USER_HEADER__ if `BOOST_USER_CONFIG`
-is not defined). This sets up any user-defined policies, and gives the
-user-configuration a chance to influence what happens next.
-
-Next the compiler, standard library, and platform configuration files are
-included. These are included via macros (`BOOST_COMPILER_CONFIG` etc,
-[link config_user_settable see user settable macros]), and if the corresponding
-macro is undefined then a separate header that detects which compiler/standard
-library/platform is in use is included in order to set these. The config
-can be told to ignore these headers altogether if the corresponding
-`BOOST_NO_XXX` macro is set (for example `BOOST_NO_COMPILER_CONFIG` to
-disable including any compiler configuration file -
-[link config_user_settable see user settable macros]).
-
-Finally the boost configuration header, includes __BOOST_CONFIG_SUFFIX_HEADER__;
-this header contains any boiler plate configuration code - for example where one
-boost macro being set implies that another must be set also.
-
-The following usage examples represent just a few of the possibilities:
-
-[section Example 1, creating our own frozen configuration]
-
-Lets suppose that we're building boost with Visual C++ 6, and STLport 4.0. Lets
-suppose also that we don't intend to update our compiler or standard library
-any time soon. In order to avoid breaking dependencies when we update boost,
-we may want to "freeze" our configuration headers, so that we only have to
-rebuild our project if the boost code itself has changed, and not because the
-boost config has been updated for more recent versions of Visual C++ or STLport.
-We'll start by realising that the configuration files in use are:
-[@../../../../boost/config/compiler/visualc.hpp `<boost/config/compiler/visualc.hpp>`]
-for the compiler,
-[@../../../../boost/config/stdlib/stlport.hpp `<boost/config/stdlib/stlport.hpp>`]
-for the standard library, and
-[@../../../../boost/config/platform/win32.hpp `<boost/config/platform/win32.hpp>`]
-for the platform. Next we'll create our own private configuration directory:
-`boost/config/mysetup/`, and copy the configuration files into there. Finally,
-open up __BOOST_CONFIG_USER_HEADER__ and edit the following defines:
-
-    #define BOOST_COMPILER_CONFIG "boost/config/mysetup/visualc.hpp"
-    #define BOOST_STDLIB_CONFIG "boost/config/mysetup/stlport.hpp"
-    #define BOOST_USER_CONFIG "boost/config/mysetup/win32.hpp"
-
-Now when you use boost, its configuration header will go straight to our "frozen"
-versions, and ignore the default versions, you will now be insulated from any
-configuration changes when you update boost. This technique is also useful if
-you want to modify some of the boost configuration files; for example if you are
-working with a beta compiler release not yet supported by boost.
-
-[endsect]
-
-[section Example 2: skipping files that you don't need]
-
-Lets suppose that you're using boost with a compiler that is fully conformant with
-the standard; you're not interested in the fact that older versions of your compiler
-may have had bugs, because you know that your current version does not need any
-configuration macros setting. In a case like this, you can define
-`BOOST_NO_COMPILER_CONFIG` either on the command line, or in __BOOST_CONFIG_USER_HEADER__,
-and miss out the compiler configuration header altogether (actually you miss out
-two headers, one which works out what the compiler is, and one that configures
-boost for it). This has two consequences: the first is that less code has to be c
-ompiled, and the second that you have removed a dependency on two boost headers.
-
-[endsect]
-
-[section Example 3: using configure script to freeze the boost configuration]
-
-If you are working on a unix-like platform then you can use the configure script to
-generate a "frozen" configuration based on your current compiler setup -
-[link config_config_script see using the configure script for more details].
-
-[endsect]
-
-[endsect]
-
-[section Testing the boost configuration]
-
-The boost configuration library provides a full set of regression test programs
-under the __BOOST_CONFIG_DIR__ `test/` sub-directory:
-
-
-[table
-[[File][Description]]
-[[`config_info.cpp`][
-Prints out a detailed description of your compiler/standard library/platform
-setup, plus your current boost configuration. The information provided by this
-program useful in setting up the boost configuration files. If you report that
-boost is incorrectly configured for your compiler/library/platform then please
-include the output from this program when reporting the changes required.
-]]
-[[`config_test.cpp`][
-A monolithic test program that includes most of the individual test cases.
-This provides a quick check to see if boost is correctly configured for your
-compiler/library/platform.
-]]
-[[`limits_test.cpp`][
-Tests your standard library's `std::numeric_limits` implementation (or its boost
-provided replacement if `BOOST_NO_LIMITS` is defined). This test file fails with
-most versions of numeric_limits, mainly due to the way that some compilers
-treat NAN's and infinity.
-]]
-[[`no_*pass.cpp`][
-Individual compiler defect test files. Each of these should compile, if one
-does not then the corresponding `BOOST_NO_XXX` macro needs to be defined - see
-each test file for specific details.
-]]
-[[`no_*fail.cpp`][
-Individual compiler defect test files. Each of these should not compile, if
-one does then the corresponding `BOOST_NO_XXX` macro is defined when it need
-not be - see each test file for specific details.
-]]
-[[`has_*pass.cpp`][
-Individual feature test files. If one of these does not compile then the
-corresponding `BOOST_HAS_XXX` macro is defined when it should not be - see
-each test file for specific details.
-]]
-[[`has_*fail.cpp`][
-Individual feature test files. If one of these does compile then the
-corresponding `BOOST_HAS_XXX` macro can be safely defined - see each test
-file for specific details.
-]]
-]
-
-Although you can run the configuration regression tests as individual test
-files, there are rather a lot of them, so there are a couple of shortcuts to
-help you out:
-
-If you have built the __BOOST_REGRESSION_TEST_DRIVER__, then you can use this to
-produce a nice html formatted report of the results using the supplied test file.
-
-Alternatively you can run the configure script like this:
-
-[: `./configure --enable-test`]
-
-in which case the script will test the current configuration rather than
-creating a new one from scratch.
-
-If you are reporting the results of these tests for a new
-platform/library/compiler then please include a log of the full compiler output,
-the output from `config_info.cpp`, and the pass/fail test results.
-
-
-[endsect]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/config/doc/guidelines.qbk b/SRC/Boost/libs/config/doc/guidelines.qbk
deleted file mode 100755
index b31022b..0000000
--- a/SRC/Boost/libs/config/doc/guidelines.qbk
+++ /dev/null
@@ -1,219 +0,0 @@
-[/
-    Boost.Config
-
-    Copyright (c) 2001 Beman Dawes
-    Copyright (c) 2001 Vesa Karvonen
-    Copyright (c) 2001 John Maddock
-
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-]
-
-
-
-[section Guidelines for Boost Authors]
-
-The __BOOST_CONFIG_HEADER__ header is used to pass configuration information
-to other boost files, allowing them to cope with platform dependencies such
-as arithmetic byte ordering, compiler pragmas, or compiler shortcomings.
-Without such configuration information, many current compilers would not work
-with the Boost libraries.
-
-Centralizing configuration information in this header reduces the number of
-files that must be modified when porting libraries to new platforms, or when
-compilers are updated. Ideally, no other files would have to be modified when
-porting to a new platform.
-
-Configuration headers are controversial because some view them as condoning
-broken compilers and encouraging non-standard subsets. Adding settings for
-additional platforms and maintaining existing settings can also be a problem.
-In other words, configuration headers are a necessary evil rather than a
-desirable feature. The boost config.hpp policy is designed to minimize the
-problems and maximize the benefits of a configuration header.
-
-Note that:
-
-* Boost library implementers are not required to "`#include <boost/config.hpp>`",
-and are not required in any way to support compilers that do not comply
-with the C++ Standard (ISO/IEC 14882). 
-* If a library implementer wishes to support some non-conforming compiler,
-or to support some platform specific feature, "`#include <boost/config.hpp>`"
-is the preferred way to obtain configuration information not available from
-the standard headers such as `<climits>`, etc.
-* If configuration information can be deduced from standard headers such as
-`<climits>`, use those standard headers rather than `<boost/config.hpp>`.
-* Boost files that use macros defined in `<boost/config.hpp>` should have
-sensible, standard conforming, default behavior if the macro is not defined.
-This means that the starting point for porting `<boost/config.hpp>` to a new
-platform is simply to define nothing at all specific to that platform. In
-the rare case where there is no sensible default behavior, an #error message
-should describe the problem.
-* If a Boost library implementer wants something added to `config.hpp`, post
-a request on the Boost mailing list. There is no guarantee such a request
-will be honored; the intent is to limit the complexity of config.hpp.
-* The intent is to support only compilers which appear on their way to
-becoming C++ Standard compliant, and only recent releases of those compilers
-at that.
-* The intent is not to disable mainstream features now well-supported by the
-majority of compilers, such as namespaces, exceptions, RTTI, or templates.
-
-
-[section:warnings Disabling Compiler Warnings]
-
-The header `<boost/config/warning_disable.hpp>` can be used to disable
-certain compiler warings that are hard or impossible to otherwise remove.
-
-Note that:
-
-* This header [*['should never be included by another Boost header]], it should
-only ever be used by a library source file or a test case.
-* The header should be included [*['before you include any other header]].
-* This header only disables warnings that are hard or impossible to otherwise
- deal with, and which are typically emitted by one compiler only, or
- in one compilers own standard library headers.
- 
-Currently it disables the following warnings:
-
-[table
-[[Compiler][Warning]]
-[[Visual C++ 8 and later][[@http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx C4996]: Error 'function': was declared deprecated]]
-[[Intel C++][Warning 1786: relates to the use of "deprecated" standard 
-   library functions rather like C4996 in Visual C++.]]
-]
-
-[endsect]
-
-
-[section Adding New Defect Macros]
-
-When you need to add a new defect macro - either to fix a problem with an
-existing library, or when adding a new library - distil the issue down to
-a simple test case; often, at this point other (possibly better) workarounds
-may become apparent. Secondly always post the test case code to the boost
-mailing list and invite comments; remember that C++ is complex and that
-sometimes what may appear a defect, may in fact turn out to be a problem
-with the authors understanding of the standard.
-
-When you name the macro, follow the `BOOST_NO_`['SOMETHING] naming
-convention, so that it's obvious that this is a macro reporting a defect.
-
-Finally, add the test program to the regression tests. You will need to
-place the test case in a `.ipp` file with the following comments near the top:
-
-    //  MACRO:         BOOST_NO_FOO
-    //  TITLE:         foo
-    //  DESCRIPTION:   If the compiler fails to support foo
-
-These comments are processed by the autoconf script, so make sure the format
-follows the one given. The file should be named "`boost_no_foo.ipp`", where foo
-is the defect description - try and keep the file name under the Mac 30 character
-filename limit though. You will also need to provide a function prototype
-"`int test()`" that is declared in a namespace with the same name as the macro,
-but in all lower case, and which returns zero on success:
-
-
-    namespace boost_no_foo {
-    int test()
-    {
-        // test code goes here:
-        //
-        return 0;
-    }
-
-    }
-
-Once the test code is in place in libs/config/test, updating the configuration
-test system proceeds as:
-
-* cd into `libs/config/tools` and run `bjam`. This generates the `.cpp`
-file test cases from the `.ipp` file, updates the 
-libs/config/test/all/Jamfile.v2, `config_test.cpp` and `config_info.cpp`.[br][br]
-
-* cd into `libs/config/test/all` and run `bjam `['MACRONAME` compiler-list`], where
-['MACRONAME] is the name of the new macro, and ['`compiler-list`] is a space separated list of
-compilers to test with.[br][br]
-The xxx_pass_test and the xxx_fail_test [*should both report `**passed**`].[br][br]
-If ['MACRONAME] is not defined when it should be defined, xxx_pass_test will not report `**passed**`.
-If ['MACRONAME] is defined when it should not be defined, xxx_fail_test will not report `**passed**`.[br][br] 
-
-* cd into `libs/config/test` and run `bjam config_info config_test `['`compiler-list`].
-`config_info` should build and run cleanly for all the compilers in ['`compiler-list`]
-while `config_test` should fail for those that have the defect, and pass for those
-that do not.
-
-Then you should:
-
-* Define the defect macro in those config headers that require it.
-* Document the macro in this documentation (please do not forget this step!!)
-* Commit everything.
-* Keep an eye on the regression tests for new failures in Boost.Config caused by
-the addition.
-* Start using the macro.
-
-[endsect]
-
-[section Adding New Feature Test Macros]
-
-When you need to add a macro that describes a feature that the standard does
-not require, follow the convention for adding a new defect macro (above), but
-call the macro `BOOST_HAS_FOO`, and name the test file "`boost_has_foo.ipp`".
-Try not to add feature test macros unnecessarily, if there is a platform
-specific macro that can already be used (for example `_WIN32`, `__BEOS__`, or
-`__linux`) to identify the feature then use that. Try to keep the macro to a
-feature group, or header name, rather than one specific API (for example
-`BOOST_HAS_NL_TYPES_H` rather than `BOOST_HAS_CATOPEN`). If the macro
-describes a POSIX feature group, then add boilerplate code to
-__BOOST_CONFIG_SUFFIX_HEADER__ to auto-detect the feature where possible
-(if you are wondering why we can't use POSIX feature test macro directly,
-remember that many of these features can be added by third party libraries,
-and are not therefore identified inside `<unistd.h>`).
-
-[endsect]
-
-[section Modifying the Boost Configuration Headers]
-
-The aim of boost's configuration setup is that the configuration headers should
-be relatively stable - a boost user should not have to recompile their code
-just because the configuration for some compiler that they're not interested
-in has changed. Separating the configuration into separate compiler/standard
-library/platform sections provides for part of this stability, but boost
-authors require some amount of restraint as well, in particular:
-
-__BOOST_CONFIG_HEADER__ should never change, don't alter this file.
-
-__BOOST_CONFIG_USER_HEADER__ is included by default, don't add extra code to
-this file unless you have to. If you do, please remember to update
-[@../../tools/configure.in libs/config/tools/configure.in] as well.
-
-__BOOST_CONFIG_SUFFIX_HEADER__ is always included so be careful about
-modifying this file as it breaks dependencies for everyone. This file should
-include only "boilerplate" configuration code, and generally should change
-only when new macros are added.
-
-[@../../../../boost/config/select_compiler_config.hpp <boost/config/select_compiler_config.hpp>],
-[@../../../../boost/config/select_platform_config.hpp <boost/config/select_platform_config.hpp>] and
-[@../../../../boost/config/select_stdlib_config.hpp <boost/config/select_stdlib_config.hpp>]
-are included by default and should change only if support for a new
-compiler/standard library/platform is added.
-
-The compiler/platform/standard library selection code is set up so that unknown
-platforms are ignored and assumed to be fully standards compliant - this gives
-unknown platforms a "sporting chance" of working "as is" even without running
-the configure script.
-
-When adding or modifying the individual mini-configs, assume that future, as
-yet unreleased versions of compilers, have all the defects of the current
-version. Although this is perhaps unnecessarily pessimistic, it cuts down on
-the maintenance of these files, and experience suggests that pessimism is
-better placed than optimism here!
-
-[endsect]
-
-[endsect]
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/doc/html/HTML.manifest b/SRC/Boost/libs/config/doc/html/HTML.manifest
deleted file mode 100755
index 591dc40..0000000
--- a/SRC/Boost/libs/config/doc/html/HTML.manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-index.html
-boost_config/boost_macro_reference.html
-boost_config/guidelines_for_boost_authors.html
-boost_config/rationale.html
-boost_config/acknowledgements.html
diff --git a/SRC/Boost/libs/config/doc/html/boost_config/acknowledgements.html b/SRC/Boost/libs/config/doc/html/boost_config/acknowledgements.html
deleted file mode 100755
index 9ccef1e..0000000
--- a/SRC/Boost/libs/config/doc/html/boost_config/acknowledgements.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Acknowledgements</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Boost.Config">
-<link rel="up" href="../index.html" title="Boost.Config">
-<link rel="prev" href="rationale.html" title="Rationale">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="rationale.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_config.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a>
-</h2></div></div></div>
-<p>
-      Beman Dawes provided the original <code class="computeroutput"><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span></code> and
-      part of this document.
-    </p>
-<p>
-      Vesa Karvonen provided a description of the principles (see <a class="link" href="rationale.html" title="Rationale">rationale</a>)
-      and put together an early version of the current configuration setup.
-    </p>
-<p>
-      John Maddock put together the configuration current code, the test programs,
-      the configuration script and the reference section of this document.
-    </p>
-<p>
-      Matias Capeletto converted the docs to quickbook format.
-    </p>
-<p>
-      Numerous boost members, past and present, have contributed fixes to boost's
-      configuration.
-    </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Beman Dawes, Vesa Karvonen, John
-      Maddock<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="rationale.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/config/doc/html/boost_config/boost_macro_reference.html b/SRC/Boost/libs/config/doc/html/boost_config/boost_macro_reference.html
deleted file mode 100755
index 6028cd3..0000000
--- a/SRC/Boost/libs/config/doc/html/boost_config/boost_macro_reference.html
+++ /dev/null
@@ -1,3932 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Boost Macro Reference</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Boost.Config">
-<link rel="up" href="../index.html" title="Boost.Config">
-<link rel="prev" href="../index.html" title="Boost.Config">
-<link rel="next" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_config.boost_macro_reference"></a><a class="link" href="boost_macro_reference.html" title="Boost Macro Reference">Boost Macro Reference</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects">Macros
-      that describe defects</a></span></dt>
-<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
-      that describe optional features</a></span></dt>
-<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features">Macros
-      that describe possible C++0x features</a></span></dt>
-<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported">Macros
-      that describe C++0x features not supported</a></span></dt>
-<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
-      Helper Macros</a></span></dt>
-<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
-      Informational Macros</a></span></dt>
-<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code">Macros
-      for libraries with separate source code</a></span></dt>
-</dl></div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.boost_macro_reference.macros_that_describe_defects"></a><a name="config_defects"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects" title="Macros that describe defects">Macros
-      that describe defects</a>
-</h3></div></div></div>
-<p>
-        The following macros all describe features that are required by the C++ standard,
-        if one of the following macros is defined, then it represents a defect in
-        the compiler's conformance with the standard.
-      </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Macro
-                </p>
-              </th>
-<th>
-                <p>
-                  Section
-                </p>
-              </th>
-<th>
-                <p>
-                  Description
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_BCB_PARTIAL_SPECIALIZATION_BUG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler exibits certain partial specialisation bug - probably
-                  Borland C++ Builder specific.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Argument dependent lookup fails if there is a using declaration
-                  for the symbol being looked up in the current scope. For example,
-                  using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">get_pointer</span></code>; prevents ADL from
-                  finding overloads of <code class="computeroutput"><span class="identifier">get_pointer</span></code>
-                  in namespaces nested inside boost (but not elsewhere). Probably
-                  Borland specific.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_ADL_BARRIER</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler locates and searches namespaces that it should <span class="emphasis"><em>*not*</em></span>
-                  in fact search when performing argument dependent lookup.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler does not implement argument-dependent lookup (also named
-                  Koenig lookup); see std::3.4.2 [basic.koenig.lookup]
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_AUTO_PTR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  If the compiler / library supplies non-standard or broken <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">auto_ptr</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_COMPLETE_VALUE_INITIALIZATION</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler has not completely implemented value-initialization. See
-                  also <a href="../../../../utility/value_init.htm#compiler_issues" target="_top">The
-                  Utility/Value Init docs</a>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_CTYPE_FUNCTIONS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The Platform does not provide functions for the character-classifying
-                  operations <code class="computeroutput"><span class="special"><</span><span class="identifier">ctype</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code> and <code class="computeroutput"><span class="special"><</span><span class="identifier">cctype</span><span class="special">></span></code>,
-                  only macros.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_CV_SPECIALIZATIONS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  If template specialisations for cv-qualified types conflict with
-                  a specialisation for a cv-unqualififed type.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_CV_VOID_SPECIALIZATIONS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  If template specialisations for cv-void types conflict with a specialisation
-                  for void.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_CWCHAR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The Platform does not provide <code class="computeroutput"><span class="special"><</span><span class="identifier">wchar</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>
-                  and <code class="computeroutput"><span class="special"><</span><span class="identifier">cwchar</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_CWCTYPE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The Platform does not provide <code class="computeroutput"><span class="special"><</span><span class="identifier">wctype</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>
-                  and <code class="computeroutput"><span class="special"><</span><span class="identifier">cwctype</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_FENV_H</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform, Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The C standard library doesn't provide <code class="computeroutput"><span class="special"><</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>.
-                  <a href="../../../../../boost/detail/fenv.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
-                  should be included instead of <code class="computeroutput"><span class="special"><</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>
-                  for maximum portability on platforms which do provide <code class="computeroutput"><span class="special"><</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_DEPENDENT_NESTED_DERIVATIONS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler fails to compile a nested class that has a dependent
-                  base class: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">foo</span> <span class="special">:</span> <span class="special">{</span>
-   <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">></span>
-   <span class="keyword">struct</span> <span class="identifier">bar</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">U</span> <span class="special">{};</span>
-</pre>
-<p>
-                  };
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Template value parameters cannot have a dependent type, for example:
-                  
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">value</span><span class="special">></span> 
-<span class="keyword">class</span> <span class="identifier">X</span> <span class="special">{</span> <span class="special">...</span> <span class="special">};</span>
-</pre>
-<p>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_EXCEPTION_STD_NAMESPACE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard Library
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not put some or all of the contents of
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">exception</span><span class="special">></span></code> in namespace std.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_EXCEPTIONS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support exception handling (this setting
-                  is typically required by many C++ compilers for embedded platforms).
-                  Note that there is no requirement for boost libraries to honor
-                  this configuration setting - indeed doing so may be impossible
-                  in some cases. Those libraries that do honor this will typically
-                  abort if a critical error occurs - you have been warned!
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Can only use deduced template arguments when calling function template
-                  instantiations.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_FUNCTION_TEMPLATE_ORDERING</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not perform function template ordering or its
-                  function template ordering is incorrect. 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="comment">// #1</span>
-<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">);</span>
-
-<span class="comment">// #2</span>
-<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span> <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">(*)(</span><span class="identifier">U</span><span class="special">));</span>
-
-<span class="keyword">void</span> <span class="identifier">bar</span><span class="special">(</span><span class="keyword">int</span><span class="special">);</span>
-
-<span class="identifier">f</span><span class="special">(&</span><span class="identifier">bar</span><span class="special">);</span> <span class="comment">// should choose #2.</span>
-</pre>
-<p>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_INCLASS_MEMBER_INITIALIZATION</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler violates std::9.4.2/4.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_INTRINSIC_WCHAR_T</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The C++ implementation does not provide <code class="computeroutput"><span class="keyword">wchar_t</span></code>,
-                  or it is really a synonym for another integral type. Use this symbol
-                  to decide whether it is appropriate to explicitly specialize a
-                  template on <code class="computeroutput"><span class="keyword">wchar_t</span></code>
-                  if there is already a specialization for other integer types.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_IOSFWD</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  std lib
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library lacks <code class="computeroutput"><span class="special"><</span><span class="identifier">iosfwd</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_IOSTREAM</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  std lib
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library lacks <code class="computeroutput"><span class="special"><</span><span class="identifier">iostream</span><span class="special">></span></code>,
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">istream</span><span class="special">></span></code> or <code class="computeroutput"><span class="special"><</span><span class="identifier">ostream</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_IS_ABSTRACT</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The C++ compiler does not support SFINAE with abstract types, this
-                  is covered by <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#337" target="_top">Core
-                  Language DR337</a>, but is not part of the current standard.
-                  Fortunately most compilers that support SFINAE also support this
-                  DR.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_LIMITS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The C++ implementation does not provide the <code class="computeroutput"><span class="special"><</span><span class="identifier">limits</span><span class="special">></span></code>
-                  header. Never check for this symbol in library code; always include
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">limits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>, which guarantees to provide
-                  <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_NUMERIC_LIMITS_LOWEST</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  Static function <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">lowest</span><span class="special">()</span></code> is not available for use.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  Constants such as <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">is_signed</span></code>
-                  are not available for use at compile-time.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG_NUMERIC_LIMITS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  There is no specialization for <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special"><</span><span class="keyword">long</span>
-                  <span class="keyword">long</span><span class="special">></span></code>
-                  and <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special"><</span><span class="keyword">unsigned</span>
-                  <span class="keyword">long</span> <span class="keyword">long</span><span class="special">></span></code>. <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">limits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                  will then add these specializations as a standard library "fix"
-                  only if the compiler supports the <code class="computeroutput"><span class="keyword">long</span>
-                  <span class="keyword">long</span></code> datatype.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support the specialization of individual
-                  member functions of template classes.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_MEMBER_TEMPLATE_KEYWORD</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  If the compiler supports member templates, but not the template
-                  keyword when accessing member template classes.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_MEMBER_TEMPLATE_FRIENDS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Member template friend syntax (<code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span>
-                  <span class="identifier">P</span><span class="special">></span>
-                  <span class="keyword">friend</span> <span class="keyword">class</span>
-                  <span class="identifier">frd</span><span class="special">;</span></code>)
-                  described in the C++ Standard, 14.5.3, not supported.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_MEMBER_TEMPLATES</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Member template functions not fully supported.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_MS_INT64_NUMERIC_LIMITS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  There is no specialization for <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special"><</span><span class="identifier">__int64</span><span class="special">></span></code> and <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special"><</span><span class="keyword">unsigned</span>
-                  <span class="identifier">__int64</span><span class="special">></span></code>.
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">limits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code> will then add these specializations
-                  as a standard library "fix", only if the compiler supports
-                  the <code class="computeroutput"><span class="identifier">__int64</span></code> datatype.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_NESTED_FRIENDSHIP</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler doesn't allow a nested class to access private members
-                  of its containing class. Probably Borland/CodeGear specific.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_OPERATORS_IN_NAMESPACE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler requires inherited operator friend functions to be defined
-                  at namespace scope, then using'ed to boost. Probably GCC specific.
-                  See <a href="../../../../../boost/operators.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">operators</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a> for example.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not correctly handle partial specializations
-                  which depend upon default arguments in the primary template.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_POINTER_TO_MEMBER_CONST</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not correctly handle pointers to const member
-                  functions, preventing use of these in overloaded function templates.
-                  See <a href="../../../../../boost/functional.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">functional</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a> for example.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Pointers to members don't work when used as template parameters.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_PRIVATE_IN_AGGREGATE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler misreads 8.5.1, treating classes as non-aggregate
-                  if they contain private or protected member functions.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_RTTI</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler may (or may not) have the typeid operator, but RTTI
-                  on the dynamic type of an object is not supported.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_SFINAE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support the "Substitution Failure Is
-                  Not An Error" meta-programming idiom.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_SFINAE_EXPR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support usage of SFINAE with arbitrary expressions.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_ALLOCATOR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The C++ standard library does not provide a standards conforming
-                  <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_DISTANCE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform does not have a conforming version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">distance</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_ITERATOR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The C++ implementation fails to provide the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
-                  class.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_ITERATOR_TRAITS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not provide a standard compliant implementation
-                  of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span></code>. Note that the
-                  compiler may still have a non-standard implementation.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_LOCALE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library lacks <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_MESSAGES</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library lacks a conforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">messages</span></code>
-                  facet.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_MIN_MAX</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The C++ standard library does not provide the <code class="computeroutput"><span class="identifier">min</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">max</span><span class="special">()</span></code> template functions that should
-                  be in <code class="computeroutput"><span class="special"><</span><span class="identifier">algorithm</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined if the standard library's output iterators are not assignable.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_TYPEINFO</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The <typeinfo> header declares <code class="computeroutput"><span class="identifier">type_info</span></code>
-                  in the global namespace instead of namespace std.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_USE_FACET</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library lacks a conforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_WSTREAMBUF</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library's implementation of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special"><</span><span class="keyword">wchar_t</span><span class="special">></span></code> is either missing, incomplete,
-                  or buggy.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_WSTRING</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library lacks <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STDC_NAMESPACE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler, Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The contents of C++ standard headers for C library functions (the
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">c</span><span class="special">...></span></code> headers) have not been placed
-                  in namespace std. This test is difficult - some libraries "fake"
-                  the std C functions by adding using declarations to import them
-                  into namespace std, unfortunately they don't necessarily catch
-                  all of them...
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STRINGSTREAM</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The C++ implementation does not provide the <code class="computeroutput"><span class="special"><</span><span class="identifier">sstream</span><span class="special">></span></code>
-                  header.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_SWPRINTF</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform does not have a conforming version of <code class="computeroutput"><span class="identifier">swprintf</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Class template partial specialization (14.5.4 [temp.class.spec])
-                  not supported.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATED_IOSTREAMS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide templated iostream classes.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide templated iterator constructors
-                  for its containers.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_TEMPLATES</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support template template parameters.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_TYPEID</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support the typeid operator at all.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_TYPENAME_WITH_CTOR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The typename keyword cannot be used when creating a temporary of
-                  a Dependent type.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_UNREACHABLE_RETURN_DETECTION</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  If a return is unreachable, then no return statement should be
-                  required, however some compilers insist on it, while other issue
-                  a bunch of warnings if it is in fact present.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler will not accept a using declaration that brings a
-                  function from a typename used as a base class into a derived class
-                  if functions of the same name are present in the derived class.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_USING_TEMPLATE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler will not accept a using declaration that imports a
-                  template class or function from another namespace. Originally a
-                  Borland specific problem with imports to/from the global namespace,
-                  extended to MSVC6 which has a specific issue with importing template
-                  classes (but not functions).
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_VOID_RETURNS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not allow a void function to return the result
-                  of calling another void function. 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">()</span> <span class="special">{}</span>
-<span class="keyword">void</span> <span class="identifier">g</span><span class="special">()</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">f</span><span class="special">();</span> <span class="special">}</span>
-</pre>
-<p>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.boost_macro_reference.macros_that_describe_optional_features"></a><a name="config_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features" title="Macros that describe optional features">Macros
-      that describe optional features</a>
-</h3></div></div></div>
-<p>
-        The following macros describe features that are not required by the C++ standard.
-        The macro is only defined if the feature is present.
-      </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Macro
-                </p>
-              </th>
-<th>
-                <p>
-                  Section
-                </p>
-              </th>
-<th>
-                <p>
-                  Description
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_BETHREADS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform supports BeOS style threads.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_CLOCK_GETTIME</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has the POSIX API <code class="computeroutput"><span class="identifier">clock_gettime</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_DIRENT_H</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has the POSIX header <code class="computeroutput"><span class="special"><</span><span class="identifier">dirent</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_EXPM1</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has the functions <code class="computeroutput"><span class="identifier">expm1</span></code>,
-                  <code class="computeroutput"><span class="identifier">expm1f</span></code> and <code class="computeroutput"><span class="identifier">expm1l</span></code> in <code class="computeroutput"><span class="special"><</span><span class="identifier">math</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_FTIME</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has the Win32 API type FTIME.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_GETSYSTEMTIMEASFILETIME</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has the Win32 API GetSystemTimeAsFileTime.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_GETTIMEOFDAY</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has the POSIX API <code class="computeroutput"><span class="identifier">gettimeofday</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_HASH</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The C++ implementation provides the (SGI) hash_set and hash_map
-                  classes. When defined, <code class="computeroutput"><span class="identifier">BOOST_HASH_SET_HEADER</span></code>
-                  and <code class="computeroutput"><span class="identifier">BOOST_HASH_LIST_HEADER</span></code>
-                  will contain the names of the header needed to access hash_set
-                  and hash_map; <code class="computeroutput"><span class="identifier">BOOST_STD_EXTENSION_NAMESPACE</span></code>
-                  will provide the namespace in which the two class templates reside.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_LOG1P</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has the functions <code class="computeroutput"><span class="identifier">log1p</span></code>,
-                  <code class="computeroutput"><span class="identifier">log1pf</span></code> and <code class="computeroutput"><span class="identifier">log1pl</span></code> in <code class="computeroutput"><span class="special"><</span><span class="identifier">math</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_MACRO_USE_FACET</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library lacks a conforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span></code>,
-                  but has a macro <code class="computeroutput"><span class="identifier">_USE</span><span class="special">(</span><span class="identifier">loc</span><span class="special">,</span> <span class="identifier">Type</span><span class="special">)</span></code> that does the job. This is primarily
-                  for the Dinkumware std lib.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_MS_INT64</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler supports the <code class="computeroutput"><span class="identifier">__int64</span></code>
-                  data type.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_NANOSLEEP</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has the POSIX API nanosleep.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_NL_TYPES_H</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has an <code class="computeroutput"><span class="special"><</span><span class="identifier">nl_types</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_NRVO</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Indicated that the compiler supports the named return value optimization
-                  (NRVO). Used to select the most efficient implementation for some
-                  function. See <a href="../../../../../boost/operators.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">operators</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a> for example.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_PARTIAL_STD_ALLOCATOR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard Library
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library has a partially conforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span></code>
-                  class, but without any of the member templates.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREAD_DELAY_NP</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has the POSIX API <code class="computeroutput"><span class="identifier">pthread_delay_np</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has the POSIX API <code class="computeroutput"><span class="identifier">pthread_mutexattr_settype</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREAD_YIELD</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has the POSIX API <code class="computeroutput"><span class="identifier">pthread_yield</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREADS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform support POSIX style threads.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_SCHED_YIELD</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has the POSIX API <code class="computeroutput"><span class="identifier">sched_yield</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_SGI_TYPE_TRAITS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler, Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler has native support for SGI style type traits.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_STDINT_H</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform has a <code class="computeroutput"><span class="special"><</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_SLIST</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The C++ implementation provides the (SGI) slist class. When defined,
-                  <code class="computeroutput"><span class="identifier">BOOST_SLIST_HEADER</span></code>
-                  will contain the name of the header needed to access <code class="computeroutput"><span class="identifier">slist</span></code> and <code class="computeroutput"><span class="identifier">BOOST_STD_EXTENSION_NAMESPACE</span></code>
-                  will provide the namespace in which <code class="computeroutput"><span class="identifier">slist</span></code>
-                  resides.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_STLP_USE_FACET</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library lacks a conforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span></code>,
-                  but has a workaround class-version that does the job. This is primarily
-                  for the STLport std lib.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_ARRAY</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special"><</span><span class="identifier">array</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_COMPLEX_OVERLOADS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a version of <code class="computeroutput"><span class="special"><</span><span class="identifier">complex</span><span class="special">></span></code>
-                  that supports passing scalars to the complex number algorithms.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a version of <code class="computeroutput"><span class="special"><</span><span class="identifier">complex</span><span class="special">></span></code>
-                  that includes the new inverse trig functions from TR1.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_REFERENCE_WRAPPER</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has TR1 conforming reference wrappers in <code class="computeroutput"><span class="special"><</span><span class="identifier">functional</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_RESULT_OF</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming result_of template in <code class="computeroutput"><span class="special"><</span><span class="identifier">functional</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_MEM_FN</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming mem_fn function template in <code class="computeroutput"><span class="special"><</span><span class="identifier">functional</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_BIND</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming bind function template in <code class="computeroutput"><span class="special"><</span><span class="identifier">functional</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_FUNCTION</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming function class template in <code class="computeroutput"><span class="special"><</span><span class="identifier">functional</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_HASH</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming hash function template in <code class="computeroutput"><span class="special"><</span><span class="identifier">functional</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_SHARED_PTR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming <code class="computeroutput"><span class="identifier">shared_ptr</span></code>
-                  class template in <code class="computeroutput"><span class="special"><</span><span class="identifier">memory</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_RANDOM</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special"><</span><span class="identifier">random</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_REGEX</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special"><</span><span class="identifier">regex</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_TUPLE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special"><</span><span class="identifier">tuple</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_TYPE_TRAITS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special"><</span><span class="identifier">type_traits</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_UTILITY</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has the TR1 additions to <code class="computeroutput"><span class="special"><</span><span class="identifier">utility</span><span class="special">></span></code>
-                  (tuple interface to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>).
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_UNORDERED_MAP</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special"><</span><span class="identifier">unordered_map</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_UNORDERED_SET</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The library has a TR1 conforming version of <code class="computeroutput"><span class="special"><</span><span class="identifier">unordered_set</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  Implies all the other <code class="computeroutput"><span class="identifier">BOOST_HAS_TR1_</span><span class="special">*</span></code> macros should be set.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_THREADS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform, Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined if the compiler, in its current translation mode, supports
-                  multiple threads of execution.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_TWO_ARG_USE_FACET</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library lacks a conforming std::use_facet, but has
-                  a two argument version that does the job. This is primarily for
-                  the Rogue Wave std lib.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_UNISTD_H</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The Platform provides <code class="computeroutput"><span class="special"><</span><span class="identifier">unistd</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_WINTHREADS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  The platform supports MS Windows style threads.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_MSVC_STD_ITERATOR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Standard library
-                </p>
-              </td>
-<td>
-                <p>
-                  Microsoft's broken version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
-                  is being used. This implies that <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
-                  takes no more than two template parameters.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_MSVC6_MEMBER_TEMPLATES</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Compiler
-                </p>
-              </td>
-<td>
-                <p>
-                  Microsoft Visual C++ 6.0 has enough member template idiosyncrasies
-                  (being polite) that <code class="computeroutput"><span class="identifier">BOOST_NO_MEMBER_TEMPLATES</span></code>
-                  is defined for this compiler. <code class="computeroutput"><span class="identifier">BOOST_MSVC6_MEMBER_TEMPLATES</span></code>
-                  is defined to allow compiler specific workarounds. This macro gets
-                  defined automatically if <code class="computeroutput"><span class="identifier">BOOST_NO_MEMBER_TEMPLATES</span></code>
-                  is not defined - in other words this is treated as a strict subset
-                  of the features required by the standard.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_STDINT_H</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Platform
-                </p>
-              </td>
-<td>
-                <p>
-                  There are no 1998 C++ Standard headers <code class="computeroutput"><span class="special"><</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>
-                  or <code class="computeroutput"><span class="special"><</span><span class="identifier">cstdint</span><span class="special">></span></code>, although the 1999 C Standard
-                  does include <code class="computeroutput"><span class="special"><</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>.
-                  If <code class="computeroutput"><span class="special"><</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code> is present, <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt [...]
-                  can make good use of it, so a flag is supplied (signalling presence;
-                  thus the default is not present, conforming to the current C++
-                  standard).
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features" title="Macros that describe possible C++0x features">Macros
-      that describe possible C++0x features</a>
-</h3></div></div></div>
-<p>
-        The following macros describe features that are likely to be included in
-        the upcoming ISO C++ standard, C++0x, but have not yet been approved for
-        inclusion in the language.
-      </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Macro
-                </p>
-              </th>
-<th>
-                <p>
-                  Description
-                </p>
-              </th>
-</tr></thead>
-<tbody><tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_CONCEPTS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler supports concepts.
-                </p>
-              </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported" title="Macros that describe C++0x features not supported">Macros
-      that describe C++0x features not supported</a>
-</h3></div></div></div>
-<p>
-        The following macros describe features in the upcoming ISO C++ standard,
-        C++0x, that are not yet supported by a particular compiler or library.
-      </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Macro
-                </p>
-              </th>
-<th>
-                <p>
-                  Description
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_ARRAY</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <array>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CHRONO</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <chrono>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CODECVT</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <codecvt>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONDITION_VARIABLE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <condition_variable>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_FORWARD_LIST</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <forward_list>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_FUTURE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <future>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_INITIALIZER_LIST</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <initializer_list>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_MUTEX</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <mutex>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_RANDOM</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <random>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_RATIO</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <ratio>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_REGEX</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <regex>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_SYSTEM_ERROR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <system_error>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_THREAD</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <thread>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_TUPLE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <tuple>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_TYPEINDEX</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <typeindex>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_TYPE_TRAITS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <type_traits>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_UNORDERED_MAP</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <unordered_map>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_UNORDERED_SET</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not provide header <unordered_set>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_AUTO_DECLARATIONS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support type deduction for variables declared
-                  with the <code class="computeroutput"><span class="keyword">auto</span></code> keyword
-                  (<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
-                  <span class="special">=</span> <span class="special">...;</span></code>).
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_AUTO_MULTIDECLARATIONS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support type deduction for multiple variables
-                  declared with the <code class="computeroutput"><span class="keyword">auto</span></code>
-                  keyword (<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
-                  <span class="special">=</span> <span class="special">...,</span>
-                  <span class="special">*</span><span class="identifier">ptr</span>
-                  <span class="special">=</span> <span class="special">...;</span></code>).
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_CHAR16_T</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support type <code class="computeroutput"><span class="identifier">char16_t</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_CHAR32_T</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support type <code class="computeroutput"><span class="identifier">char32_t</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_ALIASES</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support template aliases.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_CONSTEXPR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support <code class="computeroutput"><span class="identifier">constexpr</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_DECLTYPE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support <code class="computeroutput"><span class="identifier">decltype</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_DECLTYPE_N3276</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support the extension to <code class="computeroutput"><span class="identifier">decltype</span></code>
-                  described in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf" target="_top">N3276</a>,
-                  accepted in Madrid, March 2011.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_DEFAULTED_FUNCTIONS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
-                  <span class="keyword">default</span></code>) functions.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_DELETED_FUNCTIONS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support deleted (<code class="computeroutput"><span class="special">=</span>
-                  <span class="keyword">delete</span></code>) functions.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_EXPLICIT_CONVERSION_OPERATORS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support explicit conversion operators (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">operator</span>
-                  <span class="identifier">T</span><span class="special">()</span></code>).
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_EXTERN_TEMPLATE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support explicit instantiation forward declarations
-                  for templates (<code class="computeroutput"><span class="keyword">extern</span> <span class="keyword">template</span> <span class="special">...</span></code>).
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support default template arguments for function
-                  templates.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_INITIALIZER_LISTS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The C++ compiler does not support C++0x initializer lists.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_LAMBDAS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support Lambdas.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support <code class="computeroutput"><span class="keyword">long</span>
-                  <span class="keyword">long</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_NOEXCEPT</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support <code class="computeroutput"><span class="identifier">noexcept</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_NULLPTR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support <code class="computeroutput"><span class="identifier">nullptr</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_RAW_LITERALS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support raw string literals.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_RVALUE_REFERENCES</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support r-value references.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_SCOPED_ENUMS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support scoped enumerations (<code class="computeroutput"><span class="keyword">enum</span> <span class="keyword">class</span></code>).
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STATIC_ASSERT</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support <code class="computeroutput"><span class="identifier">static_assert</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STD_UNORDERD</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The standard library does not support <unordered_map> and
-                  <unordered_set>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_ALIASES</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support template aliases.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_UNICODE_LITERALS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support Unicode (<code class="computeroutput"><span class="identifier">u8</span></code>,
-                  <code class="computeroutput"><span class="identifier">u</span></code>, <code class="computeroutput"><span class="identifier">U</span></code>) literals.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support the <a href="http://en.wikipedia.org/wiki/C%2B%2B0x#Uniform_initialization" target="_top">C++11
-                  Unified Initialization Syntax</a>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_VARIADIC_TEMPLATES</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support variadic templates.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_VARIADIC_MACROS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler does not support variadic macros.
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.boost_macro_reference.boost_helper_macros"></a><a name="config_helpers"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros" title="Boost Helper Macros">Boost
-      Helper Macros</a>
-</h3></div></div></div>
-<p>
-        The following macros are either simple helpers, or macros that provide workarounds
-        for compiler/standard library defects.
-      </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Macro
-                </p>
-              </th>
-<th>
-                <p>
-                  Description
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_WORKAROUND</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  This macro is used where a compiler specific workaround is required
-                  that is not otherwise described by one of the other Boost.Config
-                  macros. To use the macro you must first 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">workaround</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-</pre>
-<p>
-                  usage is then: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#if</span> <span class="identifier">BOOST_WORKAROUND</span><span class="special">(</span><span class="identifier">MACRONAME</span><span class="special">,</span> <span class="identifier">CONDITION</span><span class="special">)</span>
-   <span class="comment">// workaround code goes here...</span>
-<span class="preprocessor">#else</span>
-   <span class="comment">// Standard conforming code goes here...</span>
-<span class="preprocessor">#endif</span>
-</pre>
-<p>
-                  where <code class="computeroutput"><span class="identifier">MACRONAME</span></code>
-                  is a macro that usually describes the version number to be tested
-                  against, and <code class="computeroutput"><span class="identifier">CONDITION</span></code>
-                  is a comparison operator followed by a value. For example <code class="computeroutput"><span class="identifier">BOOST_WORKAROUND</span><span class="special">(</span><span class="identifier">BOOST_INTEL</span><span class="special">,</span>
-                  <span class="special"><=</span> <span class="number">1010</span><span class="special">)</span></code> would evaluate to <code class="computeroutput"><span class="number">1</span></code> for Intel C++ 10.1 and earlier.
-                </p>
-                <p>
-                  The macro can also be used with <code class="computeroutput"><span class="identifier">BOOST_TESTED_AT</span></code>
-                  if all current compiler versions exhibit the issue, but the issue
-                  is expected to be fixed at some later point.
-                </p>
-                <p>
-                  For example <code class="computeroutput"><span class="identifier">BOOST_WORKAROUND</span><span class="special">(</span><span class="identifier">__BORLANDC__</span><span class="special">,</span> <span class="identifier">BOOST_TESTED_AT</span><span class="special">(</span><span class="number">0x590</span><span class="special">))</span></code> would normally evaluate to <code class="computeroutput"><span class="number">1</span></code> for all values of <code class="compute [...]
-                  the macro <code class="computeroutput"><span class="identifier">BOOST_DETECT_OUTDATED_WORKAROUNDS</span></code>
-                  is defined, in which case evaluates to <code class="computeroutput"><span class="special">(</span><span class="identifier">__BORLANDC__</span> <span class="special"><=</span>
-                  <span class="number">0x590</span><span class="special">)</span></code>.
-                </p>
-                <p>
-                  <span class="bold"><strong>Note</strong></span>: the ultimate source of documentation
-                  for this macro is in <a href="../../../../../boost/detail/workaround.hpp" target="_top">boost/detail/workaround.hpp</a>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_PREVENT_MACRO_SUBSTITUTION</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Sometimes you have a function name with the same name as a C macro,
-                  for example "min" and "max" member functions,
-                  in which case one can prevent the function being expanded as a
-                  macro using: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">someclass</span><span class="special">.</span><span class="identifier">min</span> <span class="identifier">BOOST_PREVENT_MACRO_SUBSTITUTION</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">);</span>
-</pre>
-<p>
-                  The following also works in most, but not all, contexts: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="special">(</span><span class="identifier">someclass</span><span class="special">.</span><span class="identifier">max</span><span class="special">)(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">);</span>
-</pre>
-<p>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_DEDUCED_TYPENAME</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Some compilers don't support the use of typename for dependent
-                  types in deduced contexts. This macro expands to nothing on those
-                  compilers, and typename elsewhere. For example, replace: <code class="computeroutput"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">void</span>
-                  <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span>
-                  <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span><span class="special">);</span></code> with: <code class="computeroutput"><span class="keyword">template</span>
-                  <span class="special"><</span><span class="keyword">class</span>
-                  <span class="identifier">T</span><span class="special">></span>
-                  <span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">BOOST_DEDUCED_TYPENAME</span>
-                  <span class="identifier">T</span><span class="special">::</span><span class="identifier">type</span><span class="special">);</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HASH_MAP_HEADER</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The header to include to get the SGI <code class="computeroutput"><span class="identifier">hash_map</span></code>
-                  class. This macro is only available if <code class="computeroutput"><span class="identifier">BOOST_HAS_HASH</span></code>
-                  is defined.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HASH_SET_HEADER</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The header to include to get the SGI <code class="computeroutput"><span class="identifier">hash_set</span></code>
-                  class. This macro is only available if <code class="computeroutput"><span class="identifier">BOOST_HAS_HASH</span></code>
-                  is defined.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_SLIST_HEADER</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The header to include to get the SGI <code class="computeroutput"><span class="identifier">slist</span></code>
-                  class. This macro is only available if <code class="computeroutput"><span class="identifier">BOOST_HAS_SLIST</span></code>
-                  is defined.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_STD_EXTENSION_NAMESPACE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The namespace used for std library extensions (hashtable classes
-                  etc).
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">assignment</span><span class="special">)</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  On compilers which don't allow in-class initialization of static
-                  integral constant members, we must use enums as a workaround if
-                  we want the constants to be available at compile-time. This macro
-                  gives us a convenient way to declare such constants. For example
-                  instead of: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-                  use: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">{</span>
-   <span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">);</span>
-<span class="special">};</span>
-</pre>
-<p>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_UNREACHABLE_RETURN</span><span class="special">(</span><span class="identifier">result</span><span class="special">)</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Normally evaluates to nothing, but evaluates to return x; if the
-                  compiler requires a return, even when it can never be reached.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_EXPLICIT_TEMPLATE_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">)</span></code> <code class="computeroutput"><span class="identifier">BOOST_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">,</span><span class="identifier">v</span><span class="special">)</span></code> <code class="computeroutput [...]
-                </p>
-              </td>
-<td>
-                <p>
-                  Some compilers silently "fold" different function template
-                  instantiations if some of the template parameters don't appear
-                  in the function parameter list. For instance: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">ostream</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">typeinfo</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">></span>
-<span class="keyword">void</span> <span class="identifier">f</span><span class="special">()</span> <span class="special">{</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">n</span> <span class="special"><<</span> <span class="char">' '</span><span class="special">;</span> <span class="special">}</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">void</span> <span class="identifier">g</span><span class="special">()</span> <span class="special">{</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()</span> <span class="special">&l [...]
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-  <span class="identifier">f</span><span class="special"><</span><span class="number">1</span><span class="special">>();</span>
-  <span class="identifier">f</span><span class="special"><</span><span class="number">2</span><span class="special">>();</span>
-
-  <span class="identifier">g</span><span class="special"><</span><span class="keyword">int</span><span class="special">>();</span>
-  <span class="identifier">g</span><span class="special"><</span><span class="keyword">double</span><span class="special">>();</span>
-<span class="special">}</span>
-</pre>
-<p>
-                  incorrectly outputs <code class="literal">2 2 double double</code> on VC++
-                  6. These macros, to be used in the function parameter list, fix
-                  the problem without effects on the calling syntax. For instance,
-                  in the case above write: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">></span>
-<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">BOOST_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">n</span><span class="special">))</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">void</span> <span class="identifier">g</span><span class="special">(</span><span class="identifier">BOOST_EXPLICIT_TEMPLATE_TYPE</span><span class="special">(</span><span class="identifier">T</span><span class="special">))</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
-                  Beware that they can declare (for affected compilers) a dummy defaulted
-                  parameter, so they
-                </p>
-                <p>
-                  <span class="bold"><strong>a)</strong></span> should be always invoked <span class="bold"><strong>at the end</strong></span> of the parameter list
-                </p>
-                <p>
-                  <span class="bold"><strong>b)</strong></span> can't be used if your function
-                  template is multiply declared.
-                </p>
-                <p>
-                  Furthermore, in order to add any needed comma separator, an <code class="computeroutput"><span class="identifier">APPEND_</span><span class="special">*</span></code>
-                  version must be used when the macro invocation appears after a
-                  normal parameter declaration or after the invocation of another
-                  macro of this same group.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_USE_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">)</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  When the standard library does not have a comforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span></code> there are various workarounds
-                  available, but they differ from library to library. This macro
-                  provides a consistent way to access a locale's facets. For example,
-                  replace: <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">use_facet</span><span class="special"><</span><span class="identifier">Type</span><span class="special">>(</span><span class="identifier">loc</span><span class="special">);</span></code>
-                  with: <code class="computeroutput"><span class="identifier">BOOST_USE_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">);</span></code> Note do not add a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span></code>
-                  prefix to the front of <code class="computeroutput"><span class="identifier">BOOST_USE_FACET</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">)</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  When the standard library does not have a comforming <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">has_facet</span></code> there are various workarounds
-                  available, but they differ from library to library. This macro
-                  provides a consistent way to check a locale's facets. For example,
-                  replace: <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">has_facet</span><span class="special"><</span><span class="identifier">Type</span><span class="special">>(</span><span class="identifier">loc</span><span class="special">);</span></code>
-                  with: <code class="computeroutput"><span class="identifier">BOOST_HAS_FACET</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">loc</span><span class="special">);</span></code> Note do not add a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span></code>
-                  prefix to the front of <code class="computeroutput"><span class="identifier">BOOST_HAS_FACET</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NESTED_TEMPLATE</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Member templates are supported by some compilers even though they
-                  can't use the <code class="computeroutput"><span class="identifier">A</span><span class="special">::</span><span class="keyword">template</span>
-                  <span class="identifier">member</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span></code>
-                  syntax, as a workaround replace: <code class="computeroutput"><span class="keyword">typedef</span>
-                  <span class="keyword">typename</span> <span class="identifier">A</span><span class="special">::</span><span class="keyword">template</span>
-                  <span class="identifier">rebind</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span>
-                  <span class="identifier">binder</span><span class="special">;</span></code>
-                  with: <code class="computeroutput"><span class="keyword">typedef</span> <span class="keyword">typename</span>
-                  <span class="identifier">A</span><span class="special">::</span><span class="identifier">BOOST_NESTED_TEMPLATE</span> <span class="identifier">rebind</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="identifier">binder</span><span class="special">;</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_STRINGIZE</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Converts the parameter <code class="computeroutput"><span class="identifier">X</span></code>
-                  to a string after macro replacement on <code class="computeroutput"><span class="identifier">X</span></code>
-                  has been performed.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_JOIN</span><span class="special">(</span><span class="identifier">X</span><span class="special">,</span><span class="identifier">Y</span><span class="special">)</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  This piece of macro magic joins the two arguments together, even
-                  when one of the arguments is itself a macro (see 16.3.1 in C++
-                  standard). This is normally used to create a mangled name in combination
-                  with a predefined macro such a __LINE__.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_CONSTEXPR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Some compilers don't support the use of <code class="computeroutput"><span class="identifier">constexpr</span></code>.
-                  This macro expands to nothing on those compilers, and <code class="computeroutput"><span class="identifier">constexpr</span></code> elsewhere. For example,
-                  when defining a constexpr function or constructor replace: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">constexpr</span> <span class="identifier">tuple</span><span class="special">();</span>
-</pre>
-<p>
-                  with: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">tuple</span><span class="special">();</span>
-</pre>
-<p>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_CONSTEXPR_OR_CONST</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Some compilers don't support the use of <code class="computeroutput"><span class="identifier">constexpr</span></code>.
-                  This macro expands to <code class="computeroutput"><span class="keyword">const</span></code>
-                  on those compilers, and <code class="computeroutput"><span class="identifier">constexpr</span></code>
-                  elsewhere. For example, when defining const expr variables replace:
-                  
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="identifier">UIntType</span> <span class="identifier">xor_mask</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-</pre>
-<p>
-                  with: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR_OR_CONST</span> <span class="identifier">UIntType</span> <span class="identifier">xor_mask</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-</pre>
-<p>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_STATIC_CONSTEXPR</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  This is a shortcut for <code class="computeroutput"><span class="keyword">static</span>
-                  <span class="identifier">BOOST_CONSTEXPR_OR_CONST</span></code>For
-                  example, when defining const expr variables replace: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="identifier">UIntType</span> <span class="identifier">xor_mask</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-</pre>
-<p>
-                  with: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">BOOST_STATIC_CONSTEXPR</span> <span class="identifier">UIntType</span> <span class="identifier">xor_mask</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-</pre>
-<p>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.boost_macro_reference.boost_informational_macros"></a><a name="config_info_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros" title="Boost Informational Macros">Boost
-      Informational Macros</a>
-</h3></div></div></div>
-<p>
-        The following macros describe boost features; these are, generally speaking
-        the only boost macros that should be tested in user code.
-      </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Macro
-                </p>
-              </th>
-<th>
-                <p>
-                  Header
-                </p>
-              </th>
-<th>
-                <p>
-                  Description
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_VERSION</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">version</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Describes the boost version number in XYYYZZ format such that:
-                  <code class="computeroutput"><span class="special">(</span><span class="identifier">BOOST_VERSION</span>
-                  <span class="special">%</span> <span class="number">100</span><span class="special">)</span></code> is the sub-minor version, <code class="computeroutput"><span class="special">((</span><span class="identifier">BOOST_VERSION</span>
-                  <span class="special">/</span> <span class="number">100</span><span class="special">)</span> <span class="special">%</span> <span class="number">1000</span><span class="special">)</span></code>
-                  is the minor version, and <code class="computeroutput"><span class="special">(</span><span class="identifier">BOOST_VERSION</span> <span class="special">/</span>
-                  <span class="number">100000</span><span class="special">)</span></code>
-                  is the major version.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_INT64_T</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code> <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stdint</span><span class="special">.</span><sp [...]
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined if there are no 64-bit integral types: <code class="computeroutput"><span class="identifier">int64_t</span></code>,
-                  <code class="computeroutput"><span class="identifier">uint64_t</span></code> etc.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_INTEGRAL_INT64_T</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code> <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stdint</span><span class="special">.</span><sp [...]
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined if <code class="computeroutput"><span class="identifier">int64_t</span></code>
-                  as defined by <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                  is not usable in integral constant expressions.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_MSVC</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined if the compiler is really Microsoft Visual C++, as opposed
-                  to one of the many other compilers that also define <code class="computeroutput"><span class="identifier">_MSC_VER</span></code>. Has the same value
-                  as _MSC_VER.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_MSVC_FULL_VER</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined to a normalised 9 digit version of _MSC_FULL_VER (which
-                  sometimes only has 8 digits), the macro has the form VVMMPPPPP
-                  where VV is the major version number, MM is the minor version number,
-                  and PPPPP is the compiler build number.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_INTEL</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined if the compiler is an Intel compiler, takes the same value
-                  as the compiler version macro.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_CLANG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined to 1 if the compiler is the Clang compiler.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_WINDOWS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined if the Windows platform API is available.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_DINKUMWARE_STDLIB</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined if the dinkumware standard library is in use, takes the
-                  same value as the Dinkumware library version macro <code class="computeroutput"><span class="identifier">_CPPLIB_VER</span></code> if defined, otherwise
-                  1.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_WREGEX</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined if the regex library does not support wide character regular
-                  expressions.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_COMPILER</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined as a string describing the name and version number of the
-                  compiler in use. Mainly for debugging the configuration.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_STDLIB</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined as a string describing the name and version number of the
-                  standard library in use. Mainly for debugging the configuration.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_PLATFORM</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Defined as a string describing the name of the platform. Mainly
-                  for debugging the configuration.
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code" title="Macros for libraries with separate source code">Macros
-      for libraries with separate source code</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility">Macros
-        controlling shared library symbol visibility</a></span></dt>
-<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing">ABI
-        Fixing</a></span></dt>
-<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection">Automatic
-        library selection</a></span></dt>
-</dl></div>
-<p>
-        The following macros and helper headers are of use to authors whose libraries
-        include separate source code, and are intended to address several issues:
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            Controlling shared library symbol visibility
-          </li>
-<li class="listitem">
-            Fixing the ABI of the compiled library
-          </li>
-<li class="listitem">
-            Selecting which compiled library to link against based upon the compilers
-            settings
-          </li>
-</ul></div>
-<p>
-        See <a href="http://svn.boost.org/trac/boost/wiki/Guidelines/Separate" target="_top">Guidelines
-        for Authors of Boost Libraries Containing Separate Source</a>
-      </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility" title="Macros controlling shared library symbol visibility">Macros
-        controlling shared library symbol visibility</a>
-</h4></div></div></div>
-<p>
-          Some compilers support C++ extensions that control which symbols will be
-          exported from shared libraries such as dynamic shared objects (DSO's) on
-          Unix-like systems or dynamic-link libraries (DLL's) on Windows.
-        </p>
-<p>
-          The Microsoft VC++ compiler has long supplied <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllexport</span><span class="special">)</span></code> and <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> extensions for this purpose, as do virtually
-          all other compilers targeting the Windows platform.
-        </p>
-<p>
-          Modern versions of the GNU GCC compiler provide the <code class="computeroutput"><span class="identifier">__attribute__</span><span class="special">((</span><span class="identifier">visibility</span><span class="special">(</span><span class="string">"default"</span><span class="special">)))</span></code> extension to indicate that a symbol
-          should be exported. All other symbols may be hidden by using the <code class="computeroutput"><span class="special">-</span><span class="identifier">fvisibility</span><span class="special">-</span><span class="identifier">hidden</span></code>
-          or <code class="computeroutput"><span class="special">-</span><span class="identifier">fvisibility</span><span class="special">-</span><span class="identifier">ms</span><span class="special">-</span><span class="identifier">compat</span></code> compiler switches.
-        </p>
-<p>
-          Boost supplies several macros to make it easier to manage symbol visibility
-          in a way that is portable between compilers and operating systems.
-        </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Macro
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">BOOST_SYMBOL_EXPORT</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defines the syntax of a C++ language extension that indicates
-                    a symbol is to be exported from a shared library. If the compiler
-                    has no such extension, the macro is defined with no replacement
-                    text.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">BOOST_SYMBOL_IMPORT</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defines the syntax of a C++ language extension that indicates
-                    a symbol is to be imported from a shared library. If the compiler
-                    has no such extension, the macro is defined with no replacement
-                    text.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">BOOST_SYMBOL_VISIBLE</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defines the syntax of a C++ language extension that indicates
-                    a symbol is to be globally visible. If the compiler has no such
-                    extension, the macro is defined with no replacement text. Needed
-                    for classes that are not otherwise exported, but are used by
-                    RTTI. Examples include class for objects that will be thrown
-                    as exceptions or used in dynamic_casts, across shared library
-                    boundaries. For example, a header-only exception class might
-                    look like this: 
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">class</span> <span class="identifier">BOOST_SYMBOL_VISIBLE</span> <span class="identifier">my_exception</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">runtime_error</span> <span class="special">{</span> <span class="special">...</span> <span class="sp [...]
-</pre>
-<p>
-                    Without BOOST_SYMBOL_VISIBLE, it would be impossible to catch
-                    my_exception thrown from a shared library compiled by GCC with
-                    the -fvisibility=hidden option.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">BOOST_HAS_DECLSPEC</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The compiler has C++ extensions <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllexport</span><span class="special">)</span></code> and <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> to control export/import of
-                    symbols from shared libraries. <span class="emphasis"><em>Deprecated. This macro
-                    is no longer necessary since BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT
-                    are now supplied. It is provided to support legacy code.</em></span>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-<p>
-          Typical usage:
-        </p>
-<p>
-          <span class="bold"><strong>boost/foo/config.hpp</strong></span>
-        </p>
-<pre class="programlisting"><span class="special">...</span>
-<span class="preprocessor">#if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_ALL_DYN_LINK</span><span class="special">)</span> <span class="special">||</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_FOO_DYN_LINK</span><span class="special">)</span>
-<span class="preprocessor"># if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_FOO_SOURCE</span><span class="special">)</span>
-<span class="preprocessor">#   define</span> <span class="identifier">BOOST_FOO_DECL</span> <span class="identifier">BOOST_SYMBOL_EXPORT</span>
-<span class="preprocessor"># else</span> 
-<span class="preprocessor">#   define</span> <span class="identifier">BOOST_FOO_DECL</span> <span class="identifier">BOOST_SYMBOL_IMPORT</span>
-<span class="preprocessor"># endif</span>
-<span class="preprocessor">#else</span>
-<span class="preprocessor"># define</span> <span class="identifier">BOOST_FOO_DECL</span>
-<span class="preprocessor">#endif</span>
-<span class="special">...</span>
-</pre>
-<p>
-          <span class="bold"><strong>boost/foo/foo.hpp</strong></span>
-        </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">foo</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="special">...</span>
-<span class="keyword">class</span> <span class="identifier">BOOST_FOO_DECL</span> <span class="identifier">bar</span> <span class="special">{</span> <span class="special">...</span> <span class="special">};</span>
-<span class="special">...</span>
-<span class="keyword">void</span> <span class="identifier">BOOST_FOO_DECL</span> <span class="identifier">f</span><span class="special">();</span>
-<span class="special">...</span>
-</pre>
-<p>
-          <span class="bold"><strong>boost/libs/foo/src/foo.cpp</strong></span>
-        </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_FOO_SOURCE</span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">foo</span><span class="special">/</span><span class="identifier">foo</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>    
-<span class="special">...</span>
-<span class="keyword">void</span> <span class="identifier">BOOST_FOO_DECL</span> <span class="identifier">f</span><span class="special">()</span>
-<span class="special">{</span>
-  <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing" title="ABI Fixing">ABI
-        Fixing</a>
-</h4></div></div></div>
-<p>
-          When linking against a pre-compiled library it vital that the ABI used
-          by the compiler when building the library <span class="emphasis"><em>matches exactly</em></span>
-          the ABI used by the code using the library. In this case ABI means things
-          like the struct packing arrangement used, the name mangling scheme used,
-          or the size of some types (enum types for example). This is separate from
-          things like threading support, or runtime library variations, which have
-          to be dealt with by build variants. To put this in perspective there is
-          one compiler (Borland's) that has so many compiler options that make subtle
-          changes to the ABI, that at least in theory there 3200 combinations, and
-          that's without considering runtime library variations. Fortunately these
-          variations can be managed by <code class="computeroutput"><span class="preprocessor">#pragma</span></code>'s
-          that tell the compiler what ABI to use for the types declared in your library.
-          In order to avoid sprinkling <code class="computeroutput"><span class="preprocessor">#pragma</span></code>'s
-          all over the boost headers, there are some prefix and suffix headers that
-          do the job. Typical usage is:
-        </p>
-<p>
-          <span class="bold"><strong>my_library.hpp</strong></span>
-        </p>
-<pre class="programlisting"><span class="preprocessor">#ifndef</span> <span class="identifier">MY_INCLUDE_GUARD</span>
-<span class="preprocessor">#define</span> <span class="identifier">MY_INCLUDE_GUARD</span>
-
-<span class="comment">// all includes go here:</span>
-<code class="literal"><span class="bold"><strong>#include <boost/config.hpp></strong></span></code>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">whatever</span><span class="special">></span>
-
-<code class="literal"><span class="bold"><strong>#include <boost/config/abi_prefix.hpp></strong></span></code> <span class="comment">// must be the last #include</span>
-
-<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
-
-<span class="comment">// your code goes here</span>
-
-<span class="special">}</span>
-
-<code class="literal"><span class="bold"><strong>#include <boost/config/abi_suffix.hpp></strong></span></code> <span class="comment">// pops abi_prefix.hpp pragmas</span>
-
-<span class="preprocessor">#endif</span> <span class="comment">// include guard</span>
-</pre>
-<p>
-          <span class="bold"><strong>my_library.cpp</strong></span>
-        </p>
-<pre class="programlisting"><span class="special">...</span>
-<span class="comment">// nothing special need be done in the implementation file</span>
-<span class="special">...</span>
-</pre>
-<p>
-          The user can disable this mechanism by defining <code class="computeroutput"><span class="identifier">BOOST_DISABLE_ABI_HEADERS</span></code>,
-          or they can define <code class="computeroutput"><span class="identifier">BOOST_ABI_PREFIX</span></code>
-          and/or <code class="computeroutput"><span class="identifier">BOOST_ABI_SUFFIX</span></code>
-          to point to their own prefix/suffix headers if they so wish.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection" title="Automatic library selection">Automatic
-        library selection</a>
-</h4></div></div></div>
-<p>
-          It is essential that users link to a build of a library which was built
-          against the same runtime library that their application will be built against
-          -if this does not happen then the library will not be binary compatible
-          with their own code- and there is a high likelihood that their application
-          will experience runtime crashes. These kinds of problems can be extremely
-          time consuming and difficult to debug, and often lead to frustrated users
-          and authors alike (simply selecting the right library to link against is
-          not as easy as it seems when their are 6-8 of them to chose from, and some
-          users seem to be blissfully unaware that there even are different runtimes
-          available to them).
-        </p>
-<p>
-          To solve this issue, some compilers allow source code to contain <code class="computeroutput"><span class="preprocessor">#pragma</span></code>'s that instruct the linker
-          which library to link against, all the user need do is include the headers
-          they need, place the compiled libraries in their library search path, and
-          the compiler and linker do the rest. Boost.config supports this via the
-          header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">auto_link</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>, before including this header one or
-          more of the following macros need to be defined:
-        </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">BOOST_LIB_NAME</span></code></span></dt>
-<dd><p>
-                Required: An identifier containing the basename of the library, for
-                example 'boost_regex'.
-              </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">BOOST_DYN_LINK</span></code></span></dt>
-<dd><p>
-                Optional: when set link to dll rather than static library.
-              </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">BOOST_LIB_DIAGNOSTIC</span></code></span></dt>
-<dd><p>
-                Optional: when set the header will print out the name of the library
-                selected (useful for debugging).
-              </p></dd>
-</dl>
-</div>
-<p>
-          If the compiler supports this mechanism, then it will be told to link against
-          the appropriately named library, the actual algorithm used to mangle the
-          name of the library is documented inside <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">auto_link</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-          and has to match that used to create the libraries via bjam 's install
-          rules.
-        </p>
-<p>
-          <span class="bold"><strong>my_library.hpp</strong></span>
-        </p>
-<pre class="programlisting"><span class="special">...</span>
-<span class="comment">//</span>
-<span class="comment">// Don't include auto-linking code if the user has disabled it by</span>
-<span class="comment">// defining BOOST_ALL_NO_LIB, or BOOST_MY_LIBRARY_NO_LIB, or if this </span>
-<span class="comment">// is one of our own source files (signified by BOOST_MY_LIBRARY_SOURCE):</span>
-<span class="comment">//</span>
-<span class="preprocessor">#if</span> <span class="special">!</span><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_ALL_NO_LIB</span><span class="special">)</span> <span class="special">&&</span> <span class="special">!</span><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_MY_LIBRARY_NO_LIB</span><span class="special">)</span> <span class="special">&&</span> <span class [...]
-<span class="preprocessor">#  define</span> <span class="identifier">BOOST_LIB_NAME</span> <span class="identifier">boost_my_library</span>
-<span class="preprocessor">#  ifdef</span> <span class="identifier">BOOST_MY_LIBRARY_DYN_LINK</span>
-<span class="preprocessor">#     define</span> <span class="identifier">BOOST_DYN_LINK</span>
-<span class="preprocessor">#  endif</span>
-<span class="preprocessor">#  include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">auto_link</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#endif</span>
-<span class="special">...</span>
-</pre>
-<p>
-          <span class="bold"><strong>my_library.cpp</strong></span>
-        </p>
-<pre class="programlisting"><span class="comment">// define BOOST_MY_LIBRARY_SOURCE so that the header knows that the</span>
-<span class="comment">// library is being built (possibly exporting rather than importing code)</span>
-<span class="comment">//</span>
-<span class="preprocessor">#define</span> <span class="identifier">BOOST_MY_LIBRARY_SOURCE</span>
-
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">my_library</span><span class="special">/</span><span class="identifier">my_library</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="special">...</span>
-</pre>
-</div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Beman Dawes, Vesa Karvonen, John
-      Maddock<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html b/SRC/Boost/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html
deleted file mode 100755
index b629eef..0000000
--- a/SRC/Boost/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html
+++ /dev/null
@@ -1,377 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Guidelines for Boost Authors</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Boost.Config">
-<link rel="up" href="../index.html" title="Boost.Config">
-<link rel="prev" href="boost_macro_reference.html" title="Boost Macro Reference">
-<link rel="next" href="rationale.html" title="Rationale">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_config.guidelines_for_boost_authors"></a><a class="link" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">Guidelines for
-    Boost Authors</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings">Disabling
-      Compiler Warnings</a></span></dt>
-<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding
-      New Defect Macros</a></span></dt>
-<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros">Adding
-      New Feature Test Macros</a></span></dt>
-<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers">Modifying
-      the Boost Configuration Headers</a></span></dt>
-</dl></div>
-<p>
-      The <a href="../../../../../boost/config.hpp" target="_top"><boost/config.hpp></a>
-      header is used to pass configuration information to other boost files, allowing
-      them to cope with platform dependencies such as arithmetic byte ordering, compiler
-      pragmas, or compiler shortcomings. Without such configuration information,
-      many current compilers would not work with the Boost libraries.
-    </p>
-<p>
-      Centralizing configuration information in this header reduces the number of
-      files that must be modified when porting libraries to new platforms, or when
-      compilers are updated. Ideally, no other files would have to be modified when
-      porting to a new platform.
-    </p>
-<p>
-      Configuration headers are controversial because some view them as condoning
-      broken compilers and encouraging non-standard subsets. Adding settings for
-      additional platforms and maintaining existing settings can also be a problem.
-      In other words, configuration headers are a necessary evil rather than a desirable
-      feature. The boost config.hpp policy is designed to minimize the problems and
-      maximize the benefits of a configuration header.
-    </p>
-<p>
-      Note that:
-    </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-          Boost library implementers are not required to "<code class="computeroutput"><span class="preprocessor">#include</span>
-          <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>", and are not required in any
-          way to support compilers that do not comply with the C++ Standard (ISO/IEC
-          14882).
-        </li>
-<li class="listitem">
-          If a library implementer wishes to support some non-conforming compiler,
-          or to support some platform specific feature, "<code class="computeroutput"><span class="preprocessor">#include</span>
-          <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>" is the preferred way to obtain
-          configuration information not available from the standard headers such
-          as <code class="computeroutput"><span class="special"><</span><span class="identifier">climits</span><span class="special">></span></code>, etc.
-        </li>
-<li class="listitem">
-          If configuration information can be deduced from standard headers such
-          as <code class="computeroutput"><span class="special"><</span><span class="identifier">climits</span><span class="special">></span></code>, use those standard headers rather
-          than <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>.
-        </li>
-<li class="listitem">
-          Boost files that use macros defined in <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-          should have sensible, standard conforming, default behavior if the macro
-          is not defined. This means that the starting point for porting <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code> to a new platform is simply to define
-          nothing at all specific to that platform. In the rare case where there
-          is no sensible default behavior, an #error message should describe the
-          problem.
-        </li>
-<li class="listitem">
-          If a Boost library implementer wants something added to <code class="computeroutput"><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span></code>,
-          post a request on the Boost mailing list. There is no guarantee such a
-          request will be honored; the intent is to limit the complexity of config.hpp.
-        </li>
-<li class="listitem">
-          The intent is to support only compilers which appear on their way to becoming
-          C++ Standard compliant, and only recent releases of those compilers at
-          that.
-        </li>
-<li class="listitem">
-          The intent is not to disable mainstream features now well-supported by
-          the majority of compilers, such as namespaces, exceptions, RTTI, or templates.
-        </li>
-</ul></div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.guidelines_for_boost_authors.warnings"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings" title="Disabling Compiler Warnings">Disabling
-      Compiler Warnings</a>
-</h3></div></div></div>
-<p>
-        The header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">warning_disable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        can be used to disable certain compiler warings that are hard or impossible
-        to otherwise remove.
-      </p>
-<p>
-        Note that:
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This header <span class="bold"><strong><span class="emphasis"><em>should never be included
-            by another Boost header</em></span></strong></span>, it should only ever be
-            used by a library source file or a test case.
-          </li>
-<li class="listitem">
-            The header should be included <span class="bold"><strong><span class="emphasis"><em>before
-            you include any other header</em></span></strong></span>.
-          </li>
-<li class="listitem">
-            This header only disables warnings that are hard or impossible to otherwise
-            deal with, and which are typically emitted by one compiler only, or in
-            one compilers own standard library headers.
-          </li>
-</ul></div>
-<p>
-        Currently it disables the following warnings:
-      </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Compiler
-                </p>
-              </th>
-<th>
-                <p>
-                  Warning
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  Visual C++ 8 and later
-                </p>
-              </td>
-<td>
-                <p>
-                  <a href="http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx" target="_top">C4996</a>:
-                  Error 'function': was declared deprecated
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  Intel C++
-                </p>
-              </td>
-<td>
-                <p>
-                  Warning 1786: relates to the use of "deprecated" standard
-                  library functions rather like C4996 in Visual C++.
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.guidelines_for_boost_authors.adding_new_defect_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros" title="Adding New Defect Macros">Adding
-      New Defect Macros</a>
-</h3></div></div></div>
-<p>
-        When you need to add a new defect macro - either to fix a problem with an
-        existing library, or when adding a new library - distil the issue down to
-        a simple test case; often, at this point other (possibly better) workarounds
-        may become apparent. Secondly always post the test case code to the boost
-        mailing list and invite comments; remember that C++ is complex and that sometimes
-        what may appear a defect, may in fact turn out to be a problem with the authors
-        understanding of the standard.
-      </p>
-<p>
-        When you name the macro, follow the <code class="computeroutput"><span class="identifier">BOOST_NO_</span></code><span class="emphasis"><em>SOMETHING</em></span>
-        naming convention, so that it's obvious that this is a macro reporting a
-        defect.
-      </p>
-<p>
-        Finally, add the test program to the regression tests. You will need to place
-        the test case in a <code class="computeroutput"><span class="special">.</span><span class="identifier">ipp</span></code>
-        file with the following comments near the top:
-      </p>
-<pre class="programlisting"><span class="comment">//  MACRO:         BOOST_NO_FOO</span>
-<span class="comment">//  TITLE:         foo</span>
-<span class="comment">//  DESCRIPTION:   If the compiler fails to support foo</span>
-</pre>
-<p>
-        These comments are processed by the autoconf script, so make sure the format
-        follows the one given. The file should be named "<code class="computeroutput"><span class="identifier">boost_no_foo</span><span class="special">.</span><span class="identifier">ipp</span></code>",
-        where foo is the defect description - try and keep the file name under the
-        Mac 30 character filename limit though. You will also need to provide a function
-        prototype "<code class="computeroutput"><span class="keyword">int</span> <span class="identifier">test</span><span class="special">()</span></code>" that is declared in a namespace with
-        the same name as the macro, but in all lower case, and which returns zero
-        on success:
-      </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost_no_foo</span> <span class="special">{</span>
-<span class="keyword">int</span> <span class="identifier">test</span><span class="special">()</span>
-<span class="special">{</span>
-    <span class="comment">// test code goes here:</span>
-    <span class="comment">//</span>
-    <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-
-<span class="special">}</span>
-</pre>
-<p>
-        Once the test code is in place in libs/config/test, updating the configuration
-        test system proceeds as:
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">tools</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span></code>.
-            This generates the <code class="computeroutput"><span class="special">.</span><span class="identifier">cpp</span></code>
-            file test cases from the <code class="computeroutput"><span class="special">.</span><span class="identifier">ipp</span></code> file, updates the libs/config/test/all/Jamfile.v2,
-            <code class="computeroutput"><span class="identifier">config_test</span><span class="special">.</span><span class="identifier">cpp</span></code> and <code class="computeroutput"><span class="identifier">config_info</span><span class="special">.</span><span class="identifier">cpp</span></code>.<br>
-            <br>
-          </li>
-<li class="listitem">
-            cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">all</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
-            </code><span class="emphasis"><em>MACRONAME<code class="computeroutput"> <span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>,
-            where <span class="emphasis"><em>MACRONAME</em></span> is the name of the new macro, and
-            <span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span> is a space separated
-            list of compilers to test with.<br> <br> The xxx_pass_test and the
-            xxx_fail_test <span class="bold"><strong>should both report <code class="computeroutput"><span class="special">**</span><span class="identifier">passed</span><span class="special">**</span></code></strong></span>.<br> <br> If <span class="emphasis"><em>MACRONAME</em></span>
-            is not defined when it should be defined, xxx_pass_test will not report
-            <code class="computeroutput"><span class="special">**</span><span class="identifier">passed</span><span class="special">**</span></code>. If <span class="emphasis"><em>MACRONAME</em></span>
-            is defined when it should not be defined, xxx_fail_test will not report
-            <code class="computeroutput"><span class="special">**</span><span class="identifier">passed</span><span class="special">**</span></code>.<br> <br>
-          </li>
-<li class="listitem">
-            cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
-            <span class="identifier">config_info</span> <span class="identifier">config_test</span>
-            </code><span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>.
-            <code class="computeroutput"><span class="identifier">config_info</span></code> should build
-            and run cleanly for all the compilers in <span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>
-            while <code class="computeroutput"><span class="identifier">config_test</span></code> should
-            fail for those that have the defect, and pass for those that do not.
-          </li>
-</ul></div>
-<p>
-        Then you should:
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            Define the defect macro in those config headers that require it.
-          </li>
-<li class="listitem">
-            Document the macro in this documentation (please do not forget this step!!)
-          </li>
-<li class="listitem">
-            Commit everything.
-          </li>
-<li class="listitem">
-            Keep an eye on the regression tests for new failures in Boost.Config
-            caused by the addition.
-          </li>
-<li class="listitem">
-            Start using the macro.
-          </li>
-</ul></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros" title="Adding New Feature Test Macros">Adding
-      New Feature Test Macros</a>
-</h3></div></div></div>
-<p>
-        When you need to add a macro that describes a feature that the standard does
-        not require, follow the convention for adding a new defect macro (above),
-        but call the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_FOO</span></code>,
-        and name the test file "<code class="computeroutput"><span class="identifier">boost_has_foo</span><span class="special">.</span><span class="identifier">ipp</span></code>".
-        Try not to add feature test macros unnecessarily, if there is a platform
-        specific macro that can already be used (for example <code class="computeroutput"><span class="identifier">_WIN32</span></code>,
-        <code class="computeroutput"><span class="identifier">__BEOS__</span></code>, or <code class="computeroutput"><span class="identifier">__linux</span></code>) to identify the feature then use
-        that. Try to keep the macro to a feature group, or header name, rather than
-        one specific API (for example <code class="computeroutput"><span class="identifier">BOOST_HAS_NL_TYPES_H</span></code>
-        rather than <code class="computeroutput"><span class="identifier">BOOST_HAS_CATOPEN</span></code>).
-        If the macro describes a POSIX feature group, then add boilerplate code to
-        <a href="../../../../../boost/config/user.hpp" target="_top"><boost/config/suffix.hpp></a>
-        to auto-detect the feature where possible (if you are wondering why we can't
-        use POSIX feature test macro directly, remember that many of these features
-        can be added by third party libraries, and are not therefore identified inside
-        <code class="computeroutput"><span class="special"><</span><span class="identifier">unistd</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>).
-      </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers" title="Modifying the Boost Configuration Headers">Modifying
-      the Boost Configuration Headers</a>
-</h3></div></div></div>
-<p>
-        The aim of boost's configuration setup is that the configuration headers
-        should be relatively stable - a boost user should not have to recompile their
-        code just because the configuration for some compiler that they're not interested
-        in has changed. Separating the configuration into separate compiler/standard
-        library/platform sections provides for part of this stability, but boost
-        authors require some amount of restraint as well, in particular:
-      </p>
-<p>
-        <a href="../../../../../boost/config.hpp" target="_top"><boost/config.hpp></a>
-        should never change, don't alter this file.
-      </p>
-<p>
-        <a href="../../../../../boost/config/user.hpp" target="_top"><boost/config/user.hpp></a>
-        is included by default, don't add extra code to this file unless you have
-        to. If you do, please remember to update <a href="../../../tools/configure.in" target="_top">libs/config/tools/configure.in</a>
-        as well.
-      </p>
-<p>
-        <a href="../../../../../boost/config/user.hpp" target="_top"><boost/config/suffix.hpp></a>
-        is always included so be careful about modifying this file as it breaks dependencies
-        for everyone. This file should include only "boilerplate" configuration
-        code, and generally should change only when new macros are added.
-      </p>
-<p>
-        <a href="../../../../../boost/config/select_compiler_config.hpp" target="_top"><boost/config/select_compiler_config.hpp></a>,
-        <a href="../../../../../boost/config/select_platform_config.hpp" target="_top"><boost/config/select_platform_config.hpp></a>
-        and <a href="../../../../../boost/config/select_stdlib_config.hpp" target="_top"><boost/config/select_stdlib_config.hpp></a>
-        are included by default and should change only if support for a new compiler/standard
-        library/platform is added.
-      </p>
-<p>
-        The compiler/platform/standard library selection code is set up so that unknown
-        platforms are ignored and assumed to be fully standards compliant - this
-        gives unknown platforms a "sporting chance" of working "as
-        is" even without running the configure script.
-      </p>
-<p>
-        When adding or modifying the individual mini-configs, assume that future,
-        as yet unreleased versions of compilers, have all the defects of the current
-        version. Although this is perhaps unnecessarily pessimistic, it cuts down
-        on the maintenance of these files, and experience suggests that pessimism
-        is better placed than optimism here!
-      </p>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Beman Dawes, Vesa Karvonen, John
-      Maddock<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/config/doc/html/boost_config/rationale.html b/SRC/Boost/libs/config/doc/html/boost_config/rationale.html
deleted file mode 100755
index 833a382..0000000
--- a/SRC/Boost/libs/config/doc/html/boost_config/rationale.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Rationale</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Boost.Config">
-<link rel="up" href="../index.html" title="Boost.Config">
-<link rel="prev" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
-<link rel="next" href="acknowledgements.html" title="Acknowledgements">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_config.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="rationale.html#boost_config.rationale.the_problem">The problem</a></span></dt>
-<dt><span class="section"><a href="rationale.html#boost_config.rationale.the_solution">The solution</a></span></dt>
-</dl></div>
-<p>
-      The problem with many traditional "textbook" implementations of configuration
-      headers (where all the configuration options are in a single "monolithic"
-      header) is that they violate certain fundamental software engineering principles
-      which would have the effect of making boost more fragile, more difficult to
-      maintain and more difficult to use safely. You can find a description of the
-      principles from the <a href="http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf" target="_top">following
-      article</a>.
-    </p>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.rationale.the_problem"></a><a class="link" href="rationale.html#boost_config.rationale.the_problem" title="The problem">The problem</a>
-</h3></div></div></div>
-<p>
-        Consider a situation in which you are concurrently developing on multiple
-        platforms. Then consider adding a new platform or changing the platform definitions
-        of an existing platform. What happens? Everything, and this does literally
-        mean everything, recompiles. Isn't it quite absurd that adding a new platform,
-        which has absolutely nothing to do with previously existing platforms, means
-        that all code on all existing platforms needs to be recompiled?
-      </p>
-<p>
-        Effectively, there is an imposed physical dependency between platforms that
-        have nothing to do with each other. Essentially, the traditional solution
-        employed by configuration headers does not conform to the Open-Closed Principle:
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <span class="bold"><strong>"A module should be open for extension but closed
-          for modification."</strong></span>
-        </p></blockquote></div>
-<p>
-        Extending a traditional configuration header implies modifying existing code.
-      </p>
-<p>
-        Furthermore, consider the complexity and fragility of the platform detection
-        code. What if a simple change breaks the detection on some minor platform?
-        What if someone accidentally or on purpose (as a workaround for some other
-        problem) defines some platform dependent macros that are used by the detection
-        code? A traditional configuration header is one of the most volatile headers
-        of the entire library, and more stable elements of Boost would depend on
-        it. This violates the Stable Dependencies Principle:
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <span class="bold"><strong>"Depend in the direction of stability."</strong></span>
-        </p></blockquote></div>
-<p>
-        After even a minor change to a traditional configuration header on one minor
-        platform, almost everything on every platform should be tested if we follow
-        sound software engineering practice.
-      </p>
-<p>
-        Another important issue is that it is not always possible to submit changes
-        to <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>.
-        Some boost users are currently working on platforms using tools and libraries
-        that are under strict Non-Disclosure Agreements. In this situation it is
-        impossible to submit changes to a traditional monolithic configuration header,
-        instead some method by which the user can insert their own configuration
-        code must be provided.
-      </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.rationale.the_solution"></a><a class="link" href="rationale.html#boost_config.rationale.the_solution" title="The solution">The solution</a>
-</h3></div></div></div>
-<p>
-        The approach taken by boost's configuration headers is to separate configuration
-        into three orthogonal parts: the compiler, the standard library and the platform.
-        Each compiler/standard library/platform gets its own mini-configuration header,
-        so that changes to one compiler's configuration (for example) does not affect
-        other compilers. In addition there are measures that can be taken both to
-        omit the compiler/standard library/platform detection code (so that adding
-        support to a new platform does not break dependencies), or to freeze the
-        configuration completely; providing almost complete protection against dependency
-        changes.
-      </p>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Beman Dawes, Vesa Karvonen, John
-      Maddock<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/config/doc/html/index.html b/SRC/Boost/libs/config/doc/html/index.html
deleted file mode 100755
index 1744e4d..0000000
--- a/SRC/Boost/libs/config/doc/html/index.html
+++ /dev/null
@@ -1,956 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Boost.Config</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="Boost.Config">
-<link rel="next" href="boost_config/boost_macro_reference.html" title="Boost Macro Reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center"><a href="../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_config/boost_macro_reference.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
-<div class="article">
-<div class="titlepage">
-<div>
-<div><h2 class="title">
-<a name="config"></a>Boost.Config</h2></div>
-<div><div class="authorgroup"><div class="author"><h3 class="author">
-<span class="firstname">Vesa Karvonen, John Maddock</span> <span class="surname">Beman Dawes</span>
-</h3></div></div></div>
-<div><p class="copyright">Copyright © 2001-2007 Beman Dawes, Vesa Karvonen, John
-      Maddock</p></div>
-<div><div class="legalnotice">
-<a name="id910601"></a><p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></div>
-</div>
-<hr>
-</div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform">Configuring
-    Boost for Your Platform</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration">Using
-      the default boost configuration</a></span></dt>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header">The
-      <boost/config.hpp> header</a></span></dt>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.using_the_configure_script">Using
-      the configure script</a></span></dt>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.user_settable_options">User
-      settable options</a></span></dt>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage">Advanced
-      configuration usage</a></span></dt>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration">Testing
-      the boost configuration</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="boost_config/boost_macro_reference.html">Boost Macro Reference</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects">Macros
-      that describe defects</a></span></dt>
-<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
-      that describe optional features</a></span></dt>
-<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features">Macros
-      that describe possible C++0x features</a></span></dt>
-<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported">Macros
-      that describe C++0x features not supported</a></span></dt>
-<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
-      Helper Macros</a></span></dt>
-<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
-      Informational Macros</a></span></dt>
-<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code">Macros
-      for libraries with separate source code</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html">Guidelines for
-    Boost Authors</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings">Disabling
-      Compiler Warnings</a></span></dt>
-<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding
-      New Defect Macros</a></span></dt>
-<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros">Adding
-      New Feature Test Macros</a></span></dt>
-<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers">Modifying
-      the Boost Configuration Headers</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="boost_config/rationale.html">Rationale</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="boost_config/rationale.html#boost_config.rationale.the_problem">The problem</a></span></dt>
-<dt><span class="section"><a href="boost_config/rationale.html#boost_config.rationale.the_solution">The solution</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="boost_config/acknowledgements.html">Acknowledgements</a></span></dt>
-</dl>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_config.configuring_boost_for_your_platform"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform" title="Configuring Boost for Your Platform">Configuring
-    Boost for Your Platform</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration">Using
-      the default boost configuration</a></span></dt>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header">The
-      <boost/config.hpp> header</a></span></dt>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.using_the_configure_script">Using
-      the configure script</a></span></dt>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.user_settable_options">User
-      settable options</a></span></dt>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage">Advanced
-      configuration usage</a></span></dt>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration">Testing
-      the boost configuration</a></span></dt>
-</dl></div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration" title="Using the default boost configuration">Using
-      the default boost configuration</a>
-</h3></div></div></div>
-<p>
-        Boost comes already configured for most common compilers and platforms; you
-        should be able to use boost "as is". Since the compiler is configured
-        separately from the standard library, the default configuration should work
-        even if you replace the compiler's standard library with a third-party standard
-        library (like <a href="http://stlport.sourceforge.net" target="_top">STLport</a>).
-      </p>
-<p>
-        Using boost "as is" without trying to reconfigure is the recommended
-        method for using boost. You can, however, run the configure script if you
-        want to, and there are regression tests provided that allow you to test the
-        current boost configuration with your particular compiler setup.
-      </p>
-<p>
-        Boost library users can request support for additional compilers or platforms
-        by visiting our <a href="https://svn.boost.org/trac/boost/newticket" target="_top">Trac</a>
-        and submitting a support request.
-      </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header" title="The <boost/config.hpp> header">The
-      <boost/config.hpp> header</a>
-</h3></div></div></div>
-<p>
-        Boost library implementations access configuration macros via
-      </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <a href="../../../../boost/config.hpp" target="_top"><boost/config.hpp></a>
-</pre>
-<p>
-        While Boost library users are not required to include that file directly,
-        or use those configuration macros, such use is acceptable. The configuration
-        macros are documented as to their purpose, usage, and limitations which makes
-        them usable by both Boost library and user code.
-      </p>
-<p>
-        Boost <a class="link" href="boost_config/boost_macro_reference.html#config_info_macros">informational</a> or <a class="link" href="boost_config/boost_macro_reference.html#config_helpers">helper</a>
-        macros are designed for use by Boost users as well as for our own internal
-        use. Note however, that the <a class="link" href="boost_config/boost_macro_reference.html#config_features">feature test</a>
-        and <a class="link" href="boost_config/boost_macro_reference.html#config_defects">defect test</a> macros were designed
-        for internal use by Boost libraries, not user code, so they can change at
-        any time (though no gratuitous changes are made to them). Boost library problems
-        resulting from changes to the configuration macros are caught by the Boost
-        regression tests, so the Boost libraries are updated to account for those
-        changes. By contrast, Boost library user code can be adversely affected by
-        changes to the macros without warning. The best way to keep abreast of changes
-        to the macros used in user code is to monitor the discussions on the Boost
-        developers list.
-      </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.configuring_boost_for_your_platform.using_the_configure_script"></a><a name="config_config_script"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_configure_script" title="Using the configure script">Using
-      the configure script</a>
-</h3></div></div></div>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../doc/src/images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-          This configure script only sets up the Boost headers for use with a particular
-          compiler. It has no effect on Boost.Build, or how the libraries are built.
-        </p></td></tr>
-</table></div>
-<p>
-        If you know that boost is incorrectly configured for your particular setup,
-        and you are on a UNIX like platform, then you may want to try and improve
-        things by running the boost configure script. From a shell command prompt
-        you will need to cd into <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code>
-        and type:
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">sh</span> <span class="special">./</span><span class="identifier">configure</span></code>
-        </p></blockquote></div>
-<p>
-        you will see a list of the items being checked as the script works its way
-        through the regression tests. Note that the configure script only really
-        auto-detects your compiler if it's called g++, c++ or CC. If you are using
-        some other compiler you will need to set one or more of the following environment
-        variables:
-      </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Variable
-                </p>
-              </th>
-<th>
-                <p>
-                  Description
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  CXX
-                </p>
-              </td>
-<td>
-                <p>
-                  The name of the compiler, for example <code class="computeroutput"><span class="identifier">c</span><span class="special">++</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  CXXFLAGS
-                </p>
-              </td>
-<td>
-                <p>
-                  The compiler flags to use, for example <code class="computeroutput"><span class="special">-</span><span class="identifier">O2</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  LDFLAGS
-                </p>
-              </td>
-<td>
-                <p>
-                  The linker flags to use, for example <code class="computeroutput"><span class="special">-</span><span class="identifier">L</span><span class="special">/</span><span class="identifier">mypath</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  LIBS
-                </p>
-              </td>
-<td>
-                <p>
-                  Any libraries to link in, for example <code class="computeroutput"><span class="special">-</span><span class="identifier">lpthread</span></code>.
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-<p>
-        For example to run the configure script with HP aCC, you might use something
-        like:
-      </p>
-<pre class="programlisting"><span class="keyword">export</span> <span class="identifier">CXX</span><span class="special">=</span><span class="string">"aCC"</span>
-<span class="keyword">export</span> <span class="identifier">CXXFLAGS</span><span class="special">=</span><span class="string">"-Aa -DAportable -D__HPACC_THREAD_SAFE_RB_TREE \
-   -DRWSTD_MULTI_THREAD -DRW_MULTI_THREAD -D_REENTRANT -D_THREAD_SAFE"</span>
-<span class="keyword">export</span> <span class="identifier">LDFLAGS</span><span class="special">=</span><span class="string">"-DAportable"</span>
-<span class="keyword">export</span> <span class="identifier">LIBS</span><span class="special">=</span><span class="string">"-lpthread"</span> 
-<span class="identifier">sh</span> <span class="special">./</span><span class="identifier">configure</span>
-</pre>
-<p>
-        However you run the configure script, when it finishes you will find a new
-        header -<code class="computeroutput"><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span></code>- located in the <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code>
-        directory. <span class="bold"><strong>Note that configure does not install this
-        header into your boost include path by default</strong></span>. This header contains
-        all the options generated by the configure script, plus a header-section
-        that contains the user settable options from the default version of <a href="../../../../boost/config/user.hpp" target="_top"><boost/config/user.hpp></a>
-        (located under <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code>).
-        There are two ways you can use this header:
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            <span class="bold"><strong>Option 1:</strong></span> copy the header into <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code> so that it replaces the default user.hpp
-            provided by boost. This option allows only one configure-generated setup;
-            boost developers should avoid this option, as it incurs the danger of
-            accidentally committing a configure-modified <a href="../../../../boost/config/user.hpp" target="_top"><boost/config/user.hpp></a>
-            to the cvs repository (something you will not be thanked for!).
-          </li>
-<li class="listitem">
-            <span class="bold"><strong>Option 2:</strong></span> give the header a more memorable
-            name, and place it somewhere convenient; then, define the macro <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code> to point to it. For
-            example create a new sub-directory <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code> <code class="computeroutput"><span class="identifier">user</span><span class="special">/</span></code>, and copy the header there; for example
-            as <code class="computeroutput"><span class="identifier">multithread</span><span class="special">-</span><span class="identifier">gcc</span><span class="special">-</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span></code>. Then, when compiling add the command
-            line option: <code class="computeroutput"><span class="special">-</span><span class="identifier">DBOOST_USER_CONFIG</span><span class="special">=</span><span class="string">"<boost/config/user/multithread-gcc-config.hpp>"</span></code>,
-            and boost will use the new configuration header. This option allows you
-            to generate more than one configuration header, and to keep them separate
-            from the boost source - so that updates to the source do not interfere
-            with your configuration.
-          </li>
-</ul></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.configuring_boost_for_your_platform.user_settable_options"></a><a name="config_user_settable"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.user_settable_options" title="User settable options">User
-      settable options</a>
-</h3></div></div></div>
-<p>
-        There are some configuration-options that represent user choices, rather
-        than compiler defects or platform specific options. These are listed in
-        <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        and at the start of a configure-generated <code class="computeroutput"><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span></code> header.
-        You can define these on the command line, or by editing <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>, they are listed in the following table:
-      </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Macro
-                </p>
-              </th>
-<th>
-                <p>
-                  Description
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  When defined, it should point to the name of the user configuration
-                  file to include prior to any boost configuration files. When not
-                  defined, defaults to <a href="../../../../boost/config/user.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_COMPILER_CONFIG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  When defined, it should point to the name of the compiler configuration
-                  file to use. Defining this cuts out the compiler selection logic,
-                  and eliminates the dependency on the header containing that logic.
-                  For example if you are using gcc, then you could define BOOST_COMPILER_CONFIG
-                  to <a href="../../../../boost/config/compiler/gcc.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">compiler</span><span class="special">/</span><span class="identifier">gcc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></cod [...]
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_STDLIB_CONFIG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  When defined, it should point to the name of the standard library
-                  configuration file to use. Defining this cuts out the standard
-                  library selection logic, and eliminates the dependency on the header
-                  containing that logic. For example if you are using STLport, then
-                  you could define <code class="computeroutput"><span class="identifier">BOOST_STDLIB_CONFIG</span></code>
-                  to <a href="../../../../boost/config/stdlib/stlport.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">stdlib</span><span class="special">/</span><span class="identifier">stlport</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>< [...]
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_PLATFORM_CONFIG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  When defined, it should point to the name of the platform configuration
-                  file to use. Defining this cuts out the platform selection logic,
-                  and eliminates the dependency on the header containing that logic.
-                  For example if you are compiling on linux, then you could define
-                  <code class="computeroutput"><span class="identifier">BOOST_PLATFORM_CONFIG</span></code>
-                  to <a href="../../../../boost/config/platform/linux.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">platform</span><span class="special">/</span><span class="identifier">linux</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>< [...]
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_COMPILER_CONFIG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  When defined, no compiler configuration file is selected or included,
-                  define when the compiler is fully conformant with the standard,
-                  or where the user header (see <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>),
-                  has had any options necessary added to it, for example by an autoconf
-                  generated configure script.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STDLIB_CONFIG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  When defined, no standard library configuration file is selected
-                  or included, define when the standard library is fully conformant
-                  with the standard, or where the user header (see <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>), has had any
-                  options necessary added to it, for example by an autoconf generated
-                  configure script.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_PLATFORM_CONFIG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  When defined, no platform configuration file is selected or included,
-                  define when the platform is fully conformant with the standard
-                  (and has no useful extra features), or where the user header (see
-                  <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>),
-                  has had any options necessary added to it, for example by an autoconf
-                  generated configure script.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_CONFIG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Equivalent to defining all of <code class="computeroutput"><span class="identifier">BOOST_NO_COMPILER_CONFIG</span></code>,
-                  <code class="computeroutput"><span class="identifier">BOOST_NO_STDLIB_CONFIG</span></code>
-                  and <code class="computeroutput"><span class="identifier">BOOST_NO_PLATFORM_CONFIG</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_STRICT_CONFIG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The normal behavior for compiler versions that are newer than the
-                  last known version, is to assume that they have all the same defects
-                  as the last known version. By setting this define, then compiler
-                  versions that are newer than the last known version are assumed
-                  to be fully conforming with the standard. This is probably most
-                  useful for boost developers or testers, and for those who want
-                  to use boost to test beta compiler versions.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_ASSERT_CONFIG</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  When this flag is set, if the config finds anything unknown, then
-                  it will stop with a #error rather than continue. Boost regression
-                  testers should set this define, as should anyone who wants to quickly
-                  check whether boost is supported on their platform.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_DISABLE_THREADS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  When defined, disables threading support, even if the compiler
-                  in its current translation mode supports multiple threads.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_DISABLE_WIN32</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  When defined, disables the use of Win32 specific API's, even when
-                  these are available. Also has the effect of setting <code class="computeroutput"><span class="identifier">BOOST_DISABLE_THREADS</span></code> unless
-                  <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREADS</span></code>
-                  is set. This option may be set automatically by the config system
-                  when it detects that the compiler is in "strict mode".
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_DISABLE_ABI_HEADERS</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Stops boost headers from including any prefix/suffix headers that
-                  normally control things like struct packing and alignment.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_ABI_PREFIX</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  A prefix header to include in place of whatever boost.config would
-                  normally select, any replacement should set up struct packing and
-                  alignment options as required.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_ABI_SUFFIX</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  A suffix header to include in place of whatever boost.config would
-                  normally select, any replacement should undo the effects of the
-                  prefix header.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_ALL_DYN_LINK</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Forces all libraries that have separate source, to be linked as
-                  dll's rather than static libraries on Microsoft Windows (this macro
-                  is used to turn on <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> modifiers, so that the compiler
-                  knows which symbols to look for in a dll rather than in a static
-                  library). Note that there may be some libraries that can only be
-                  statically linked (Boost.Test for example) and others which may
-                  only be dynamically linked (Boost.Threads for example), in these
-                  cases this macro has no effect.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_</span></code><span class="emphasis"><em>WHATEVER</em></span><code class="computeroutput"><span class="identifier">_DYN_LINK</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Forces library "whatever" to be linked as a dll rather
-                  than a static library on Microsoft Windows: replace the <span class="emphasis"><em>WHATEVER</em></span>
-                  part of the macro name with the name of the library that you want
-                  to dynamically link to, for example use <code class="computeroutput"><span class="identifier">BOOST_DATE_TIME_DYN_LINK</span></code>
-                  or <code class="computeroutput"><span class="identifier">BOOST_REGEX_DYN_LINK</span></code>
-                  etc (this macro is used to turn on <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> modifiers, so that the compiler
-                  knows which symbols to look for in a dll rather than in a static
-                  library). Note that there may be some libraries that can only be
-                  statically linked (Boost.Test for example) and others which may
-                  only be dynamically linked (Boost.Threads for example), in these
-                  cases this macro is unsupported.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_ALL_NO_LIB</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Tells the config system not to automatically select which libraries
-                  to link against. Normally if a compiler supports #pragma lib, then
-                  the correct library build variant will be automatically selected
-                  and linked against, simply by the act of including one of that
-                  library's headers. This macro turns that feature off.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_</span></code><span class="emphasis"><em>WHATEVER</em></span><code class="computeroutput"><span class="identifier">_NO_LIB</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Tells the config system not to automatically select which library
-                  to link against for library "whatever", replace <span class="emphasis"><em>WHATEVER</em></span>
-                  in the macro name with the name of the library; for example <code class="computeroutput"><span class="identifier">BOOST_DATE_TIME_NO_LIB</span></code> or <code class="computeroutput"><span class="identifier">BOOST_REGEX_NO_LIB</span></code>. Normally
-                  if a compiler supports <code class="computeroutput"><span class="preprocessor">#pragma</span>
-                  <span class="identifier">lib</span></code>, then the correct
-                  library build variant will be automatically selected and linked
-                  against, simply by the act of including one of that library's headers.
-                  This macro turns that feature off.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_LIB_DIAGNOSTIC</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Causes the auto-linking code to output diagnostic messages indicating
-                  the name of the library that is selected for linking.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">BOOST_LIB_TOOLSET</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Overrides the name of the toolset part of the name of library being
-                  linked to; note if defined this must be defined to a quoted string
-                  literal, for example "abc".
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage" title="Advanced configuration usage">Advanced
-      configuration usage</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration">Example
-        1, creating our own frozen configuration</a></span></dt>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need">Example
-        2: skipping files that you don't need</a></span></dt>
-<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration">Example
-        3: using configure script to freeze the boost configuration</a></span></dt>
-</dl></div>
-<p>
-        By setting various macros on the compiler command line or by editing <a href="../../../../boost/config/user.hpp" target="_top"><boost/config/user.hpp></a>,
-        the boost configuration setup can be optimised in a variety of ways.
-      </p>
-<p>
-        Boost's configuration is structured so that the user-configuration is included
-        first (defaulting to <a href="../../../../boost/config/user.hpp" target="_top"><boost/config/user.hpp></a>
-        if <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code> is not
-        defined). This sets up any user-defined policies, and gives the user-configuration
-        a chance to influence what happens next.
-      </p>
-<p>
-        Next the compiler, standard library, and platform configuration files are
-        included. These are included via macros (<code class="computeroutput"><span class="identifier">BOOST_COMPILER_CONFIG</span></code>
-        etc, <a class="link" href="index.html#config_user_settable">see user settable macros</a>),
-        and if the corresponding macro is undefined then a separate header that detects
-        which compiler/standard library/platform is in use is included in order to
-        set these. The config can be told to ignore these headers altogether if the
-        corresponding <code class="computeroutput"><span class="identifier">BOOST_NO_XXX</span></code>
-        macro is set (for example <code class="computeroutput"><span class="identifier">BOOST_NO_COMPILER_CONFIG</span></code>
-        to disable including any compiler configuration file - <a class="link" href="index.html#config_user_settable">see
-        user settable macros</a>).
-      </p>
-<p>
-        Finally the boost configuration header, includes <a href="../../../../boost/config/user.hpp" target="_top"><boost/config/suffix.hpp></a>;
-        this header contains any boiler plate configuration code - for example where
-        one boost macro being set implies that another must be set also.
-      </p>
-<p>
-        The following usage examples represent just a few of the possibilities:
-      </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration" title="Example 1, creating our own frozen configuration">Example
-        1, creating our own frozen configuration</a>
-</h4></div></div></div>
-<p>
-          Lets suppose that we're building boost with Visual C++ 6, and STLport 4.0.
-          Lets suppose also that we don't intend to update our compiler or standard
-          library any time soon. In order to avoid breaking dependencies when we
-          update boost, we may want to "freeze" our configuration headers,
-          so that we only have to rebuild our project if the boost code itself has
-          changed, and not because the boost config has been updated for more recent
-          versions of Visual C++ or STLport. We'll start by realising that the configuration
-          files in use are: <a href="../../../../boost/config/compiler/visualc.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">compiler</span><span class="special">/</span><span class="identifier">visualc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">& [...]
-          <a href="../../../../boost/config/platform/win32.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">platform</span><span class="special">/</span><span class="identifier">win32</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>  [...]
-          create our own private configuration directory: <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">mysetup</span><span class="special">/</span></code>, and copy the configuration files into
-          there. Finally, open up <a href="../../../../boost/config/user.hpp" target="_top"><boost/config/user.hpp></a>
-          and edit the following defines:
-        </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_COMPILER_CONFIG</span> <span class="string">"boost/config/mysetup/visualc.hpp"</span>
-<span class="preprocessor">#define</span> <span class="identifier">BOOST_STDLIB_CONFIG</span> <span class="string">"boost/config/mysetup/stlport.hpp"</span>
-<span class="preprocessor">#define</span> <span class="identifier">BOOST_USER_CONFIG</span> <span class="string">"boost/config/mysetup/win32.hpp"</span>
-</pre>
-<p>
-          Now when you use boost, its configuration header will go straight to our
-          "frozen" versions, and ignore the default versions, you will
-          now be insulated from any configuration changes when you update boost.
-          This technique is also useful if you want to modify some of the boost configuration
-          files; for example if you are working with a beta compiler release not
-          yet supported by boost.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need" title="Example 2: skipping files that you don't need">Example
-        2: skipping files that you don't need</a>
-</h4></div></div></div>
-<p>
-          Lets suppose that you're using boost with a compiler that is fully conformant
-          with the standard; you're not interested in the fact that older versions
-          of your compiler may have had bugs, because you know that your current
-          version does not need any configuration macros setting. In a case like
-          this, you can define <code class="computeroutput"><span class="identifier">BOOST_NO_COMPILER_CONFIG</span></code>
-          either on the command line, or in <a href="../../../../boost/config/user.hpp" target="_top"><boost/config/user.hpp></a>,
-          and miss out the compiler configuration header altogether (actually you
-          miss out two headers, one which works out what the compiler is, and one
-          that configures boost for it). This has two consequences: the first is
-          that less code has to be c ompiled, and the second that you have removed
-          a dependency on two boost headers.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration" title="Example 3: using configure script to freeze the boost configuration">Example
-        3: using configure script to freeze the boost configuration</a>
-</h4></div></div></div>
-<p>
-          If you are working on a unix-like platform then you can use the configure
-          script to generate a "frozen" configuration based on your current
-          compiler setup - <a class="link" href="index.html#config_config_script">see using the configure
-          script for more details</a>.
-        </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration" title="Testing the boost configuration">Testing
-      the boost configuration</a>
-</h3></div></div></div>
-<p>
-        The boost configuration library provides a full set of regression test programs
-        under the <span class="emphasis"><em><boost-root></em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code>
-        <code class="computeroutput"><span class="identifier">test</span><span class="special">/</span></code>
-        sub-directory:
-      </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  File
-                </p>
-              </th>
-<th>
-                <p>
-                  Description
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">config_info</span><span class="special">.</span><span class="identifier">cpp</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Prints out a detailed description of your compiler/standard library/platform
-                  setup, plus your current boost configuration. The information provided
-                  by this program useful in setting up the boost configuration files.
-                  If you report that boost is incorrectly configured for your compiler/library/platform
-                  then please include the output from this program when reporting
-                  the changes required.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">config_test</span><span class="special">.</span><span class="identifier">cpp</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  A monolithic test program that includes most of the individual
-                  test cases. This provides a quick check to see if boost is correctly
-                  configured for your compiler/library/platform.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">limits_test</span><span class="special">.</span><span class="identifier">cpp</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Tests your standard library's <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>
-                  implementation (or its boost provided replacement if <code class="computeroutput"><span class="identifier">BOOST_NO_LIMITS</span></code> is defined).
-                  This test file fails with most versions of numeric_limits, mainly
-                  due to the way that some compilers treat NAN's and infinity.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">no_</span><span class="special">*</span><span class="identifier">pass</span><span class="special">.</span><span class="identifier">cpp</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Individual compiler defect test files. Each of these should compile,
-                  if one does not then the corresponding <code class="computeroutput"><span class="identifier">BOOST_NO_XXX</span></code>
-                  macro needs to be defined - see each test file for specific details.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">no_</span><span class="special">*</span><span class="identifier">fail</span><span class="special">.</span><span class="identifier">cpp</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Individual compiler defect test files. Each of these should not
-                  compile, if one does then the corresponding <code class="computeroutput"><span class="identifier">BOOST_NO_XXX</span></code>
-                  macro is defined when it need not be - see each test file for specific
-                  details.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">has_</span><span class="special">*</span><span class="identifier">pass</span><span class="special">.</span><span class="identifier">cpp</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Individual feature test files. If one of these does not compile
-                  then the corresponding <code class="computeroutput"><span class="identifier">BOOST_HAS_XXX</span></code>
-                  macro is defined when it should not be - see each test file for
-                  specific details.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">has_</span><span class="special">*</span><span class="identifier">fail</span><span class="special">.</span><span class="identifier">cpp</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  Individual feature test files. If one of these does compile then
-                  the corresponding <code class="computeroutput"><span class="identifier">BOOST_HAS_XXX</span></code>
-                  macro can be safely defined - see each test file for specific details.
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-<p>
-        Although you can run the configuration regression tests as individual test
-        files, there are rather a lot of them, so there are a couple of shortcuts
-        to help you out:
-      </p>
-<p>
-        If you have built the <a href="../../../../tools/regression/doc/index.html" target="_top">boost
-        regression test driver</a>, then you can use this to produce a nice html
-        formatted report of the results using the supplied test file.
-      </p>
-<p>
-        Alternatively you can run the configure script like this:
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="special">./</span><span class="identifier">configure</span>
-          <span class="special">--</span><span class="identifier">enable</span><span class="special">-</span><span class="identifier">test</span></code>
-        </p></blockquote></div>
-<p>
-        in which case the script will test the current configuration rather than
-        creating a new one from scratch.
-      </p>
-<p>
-        If you are reporting the results of these tests for a new platform/library/compiler
-        then please include a log of the full compiler output, the output from <code class="computeroutput"><span class="identifier">config_info</span><span class="special">.</span><span class="identifier">cpp</span></code>, and the pass/fail test results.
-      </p>
-</div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: July 13, 2011 at 18:00:55 GMT</small></p></td>
-<td align="right"><div class="copyright-footer"></div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_config/boost_macro_reference.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/config/doc/macro_reference.qbk b/SRC/Boost/libs/config/doc/macro_reference.qbk
deleted file mode 100755
index 732bd01..0000000
--- a/SRC/Boost/libs/config/doc/macro_reference.qbk
+++ /dev/null
@@ -1,1144 +0,0 @@
-[/
-    Boost.Config
-
-    Copyright (c) 2001 Beman Dawes
-    Copyright (c) 2001 Vesa Karvonen
-    Copyright (c) 2001 John Maddock
-
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-]
-
-
-
-[section Boost Macro Reference]
-
-[#config_defects]
-
-[section Macros that describe defects]
-
-The following macros all describe features that are required by the C++ standard,
-if one of the following macros is defined, then it represents a defect in the
-compiler's conformance with the standard.
-
-
-[table
-[[Macro        ][Section     ][ Description          ]]
-
-
-[[`BOOST_BCB_PARTIAL_SPECIALIZATION_BUG`][Compiler][
-The compiler exibits certain partial specialisation bug - probably Borland
-C++ Builder specific.
-]]
-[[`BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL`][Compiler][
-Argument dependent lookup fails if there is a using declaration for the
-symbol being looked up in the current scope.  For example, using
-`boost::get_pointer`; prevents ADL from finding overloads of `get_pointer`
-in namespaces nested inside boost (but not elsewhere).  Probably
-Borland specific.
-]]
-[[`BOOST_NO_ADL_BARRIER`][Compiler][
-The compiler locates and searches namespaces that it should /*not*/ in fact 
-search when performing argument dependent lookup.
-]]
-[[`BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP`][Compiler][
-Compiler does not implement argument-dependent lookup (also named
-Koenig lookup); see std::3.4.2 \[basic.koenig.lookup\]
-]]
-[[`BOOST_NO_AUTO_PTR`][Standard library][
-If the compiler / library supplies non-standard or broken `std::auto_ptr`.
-]]
-[[`BOOST_NO_COMPLETE_VALUE_INITIALIZATION`][Compiler][ 
-Compiler has not completely implemented value-initialization. 
-See also [@../../../utility/value_init.htm#compiler_issues The Utility\/Value Init docs] 
-]] 
-[[`BOOST_NO_CTYPE_FUNCTIONS`][Platform][
-The Platform does not provide functions for the character-classifying
-operations `<ctype.h>` and `<cctype>`, only macros.
-]]
-[[`BOOST_NO_CV_SPECIALIZATIONS`][Compiler][
-If template specialisations for cv-qualified types conflict with a
-specialisation for a cv-unqualififed type.
-]]
-[[`BOOST_NO_CV_VOID_SPECIALIZATIONS`][Compiler][
-If template specialisations for cv-void types conflict with a specialisation
-for void.
-]]
-[[`BOOST_NO_CWCHAR`][Platform][
-The Platform does not provide `<wchar.h>` and `<cwchar>`.
-]]
-[[`BOOST_NO_CWCTYPE`][Platform][
-The Platform does not provide `<wctype.h>` and `<cwctype>`.
-]]
-[[`BOOST_NO_FENV_H`][Platform, Standard library][
-The C standard library doesn't provide `<fenv.h>`. [@../../../../boost/detail/fenv.hpp
-`<boost/detail/fenv.hpp>`] should be included instead of `<fenv.h>` for maximum
-portability on platforms which do provide `<fenv.h>`. 
-]]
-[[`BOOST_NO_DEPENDENT_NESTED_DERIVATIONS`][Compiler][
-The compiler fails to compile a nested class that has a dependent base class:
-``
-template<typename T>
-struct foo : {
-   template<typename U>
-   struct bar : public U {};
-``
-};
-]]
-[[`BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS`][Compiler][
-Template value parameters cannot have a dependent type, for example:
-``
-template<class T, typename T::type value> 
-class X { ... };
-``
-]]
-[[`BOOST_NO_EXCEPTION_STD_NAMESPACE`][Standard Library][
-The standard library does not put some or all of the contents of
-`<exception>` in namespace std.
-]]
-[[`BOOST_NO_EXCEPTIONS`][Compiler][
-The compiler does not support exception handling (this setting is typically
-required by many C++ compilers for embedded platforms). Note that there is
-no requirement for boost libraries to honor this configuration setting -
-indeed doing so may be impossible in some cases. Those libraries that do
-honor this will typically abort if a critical error occurs - you have been
-warned!
-]]
-[[`BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS`][Compiler][
-Can only use deduced template arguments when calling function template
-instantiations.
-]]
-[[`BOOST_NO_FUNCTION_TEMPLATE_ORDERING`][Compiler][
-The compiler does not perform function template ordering or its function
-template ordering is incorrect.
-``
-// #1
-template<class T> void f(T);
-
-// #2
-template<class T,class U> void f(T(*)(U));
-
-void bar(int);
-
-f(&bar); // should choose #2.
-``
-]]
-[[`BOOST_NO_INCLASS_MEMBER_INITIALIZATION`][Compiler][
-Compiler violates std::9.4.2/4.
-]]
-[[`BOOST_NO_INTRINSIC_WCHAR_T`][Compiler][
-The C++ implementation does not provide `wchar_t`, or it is really a synonym
-for another integral type. Use this symbol to decide whether it is appropriate
-to explicitly specialize a template on `wchar_t` if there is already a
-specialization for other integer types.
-]]
-[[`BOOST_NO_IOSFWD`][std lib][
-The standard library lacks `<iosfwd>`.
-]]
-[[`BOOST_NO_IOSTREAM`][std lib][
-The standard library lacks `<iostream>`, `<istream>` or `<ostream>`.
-]]
-[[`BOOST_NO_IS_ABSTRACT`][Compiler][
-The C++ compiler does not support SFINAE with abstract types, this is covered
-by __CORE_LANGUAGE_DR337__, but is not part of the current standard.  Fortunately
-most compilers that support SFINAE also support this DR.
-]]
-[[`BOOST_NO_LIMITS`][Standard library][
-The C++ implementation does not provide the `<limits>` header. Never check for
-this symbol in library code; always include `<boost/limits.hpp>`, which
-guarantees to provide `std::numeric_limits`.
-]]
-[[`BOOST_NO_NUMERIC_LIMITS_LOWEST`][Standard library][
-Static function `numeric_limits<T>::lowest()` is not available for use.
-]]
-[[`BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS`][Standard library][
-Constants such as `numeric_limits<T>::is_signed` are not available for use
-at compile-time.
-]]
-[[`BOOST_NO_LONG_LONG_NUMERIC_LIMITS`][Standard library][
-There is no specialization for `numeric_limits<long long>` and
-`numeric_limits<unsigned long long>`. `<boost/limits.hpp>` will then add these
-specializations as a standard library "fix" only if the compiler supports the
-`long long` datatype.
-]]
-[[`BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS`][Compiler][
-The compiler does not support the specialization of individual member
-functions of template classes.
-]]
-[[`BOOST_NO_MEMBER_TEMPLATE_KEYWORD`][Compiler][
-If the compiler supports member templates, but not the template keyword
-when accessing member template classes.
-]]
-[[`BOOST_NO_MEMBER_TEMPLATE_FRIENDS`][Compiler][
-Member template friend syntax (`template<class P> friend class frd;`)
-described in the C++ Standard, 14.5.3, not supported.
-]]
-[[`BOOST_NO_MEMBER_TEMPLATES`][Compiler][
-Member template functions not fully supported.
-]]
-[[`BOOST_NO_MS_INT64_NUMERIC_LIMITS`][Standard library][
-There is no specialization for `numeric_limits<__int64>` and
-`numeric_limits<unsigned __int64>`. `<boost/limits.hpp>` will then add these
-specializations as a standard library "fix", only if the compiler supports
-the `__int64` datatype.
-]]
-[[`BOOST_NO_NESTED_FRIENDSHIP`][Compiler][
-Compiler doesn't allow a nested class to access private members of its
-containing class. Probably Borland/CodeGear specific.
-]]
-[[`BOOST_NO_OPERATORS_IN_NAMESPACE`][Compiler][
-Compiler requires inherited operator friend functions to be defined at
-namespace scope, then using'ed to boost. Probably GCC specific. See
-[@../../../../boost/operators.hpp `<boost/operators.hpp>`] for example.
-]]
-[[`BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS`][Compiler][
-The compiler does not correctly handle partial specializations
-which depend upon default arguments in the primary template.
-]]
-[[`BOOST_NO_POINTER_TO_MEMBER_CONST`][Compiler][
-The compiler does not correctly handle pointers to const member functions,
-preventing use of these in overloaded function templates. See
-[@../../../../boost/functional.hpp `<boost/functional.hpp>`] for example.
-]]
-[[`BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS`][Compiler][
-Pointers to members don't work when used as template parameters.
-]]
-[[`BOOST_NO_PRIVATE_IN_AGGREGATE`][Compiler][
-The compiler misreads 8.5.1, treating classes as non-aggregate if they
-contain private or protected member functions.
-]]
-[[`BOOST_NO_RTTI`][Compiler][
-The compiler may (or may not) have the typeid operator, but RTTI on the dynamic type
-of an object is not supported.
-]]
-[[`BOOST_NO_SFINAE`][Compiler][
-The compiler does not support the "Substitution Failure Is Not An Error"
-meta-programming idiom.
-]]
-[[`BOOST_NO_SFINAE_EXPR`][Compiler][
-The compiler does not support usage of SFINAE with arbitrary expressions.
-]]
-[[`BOOST_NO_STD_ALLOCATOR`][Standard library][
-The C++ standard library does not provide a standards conforming
-`std::allocator`.
-]]
-[[`BOOST_NO_STD_DISTANCE`][Standard library][
-The platform does not have a conforming version of `std::distance`.
-]]
-[[`BOOST_NO_STD_ITERATOR`][Standard library][
-The C++ implementation fails to provide the `std::iterator` class.
-]]
-[[`BOOST_NO_STD_ITERATOR_TRAITS`][Standard library][
-The compiler does not provide a standard compliant implementation of
-`std::iterator_traits`. Note that the compiler may still have a
-non-standard implementation.
-]]
-[[`BOOST_NO_STD_LOCALE`][Standard library][
-The standard library lacks `std::locale`.
-]]
-[[`BOOST_NO_STD_MESSAGES`][Standard library][
-The standard library lacks a conforming `std::messages` facet.
-]]
-[[`BOOST_NO_STD_MIN_MAX`][Standard library][
-The C++ standard library does not provide the `min()` and `max()` template
-functions that should be in `<algorithm>`.
-]]
-[[`BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN`][Standard library][
-Defined if the standard library's output iterators are not assignable.
-]]
-[[`BOOST_NO_STD_TYPEINFO`][Standard library][
-The <typeinfo> header declares `type_info` in the global namespace instead of namespace std.
-]]
-[[`BOOST_NO_STD_USE_FACET`][Standard library][
-The standard library lacks a conforming `std::use_facet`.
-]]
-[[`BOOST_NO_STD_WSTREAMBUF`][Standard library][
-The standard library's implementation of `std::basic_streambuf<wchar_t>`
-is either missing, incomplete, or buggy.
-]]
-[[`BOOST_NO_STD_WSTRING`][Standard library][
-The standard library lacks `std::wstring`.
-]]
-[[`BOOST_NO_STDC_NAMESPACE`][Compiler, Platform][
-The contents of C++ standard headers for C library functions
-(the `<c...>` headers) have not been placed in namespace std. This test is
-difficult - some libraries "fake" the std C functions by adding using
-declarations to import them into namespace std, unfortunately they don't
-necessarily catch all of them...
-]]
-[[`BOOST_NO_STRINGSTREAM`][Standard library][
-The C++ implementation does not provide the `<sstream>` header.
-]]
-[[`BOOST_NO_SWPRINTF`][Platform][
-The platform does not have a conforming version of `swprintf`.
-]]
-[[`BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION`][Compiler][
-Class template partial specialization (14.5.4 \[temp.class.spec\]) not
-supported.
-]]
-[[`BOOST_NO_TEMPLATED_IOSTREAMS`][Standard library][
-The standard library does not provide templated iostream classes.
-]]
-[[`BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS`][Standard library][
-The standard library does not provide templated iterator constructors
-for its containers.
-]]
-[[`BOOST_NO_TEMPLATE_TEMPLATES`][Compiler][
-The compiler does not support template template parameters.
-]]
-[[`BOOST_NO_TYPEID`][Compiler][
-The compiler does not support the typeid operator at all.
-]]
-[[`BOOST_NO_TYPENAME_WITH_CTOR`][Compiler][
-The typename keyword cannot be used when creating a temporary of a
-Dependent type.
-]]
-[[`BOOST_NO_UNREACHABLE_RETURN_DETECTION`][Compiler][
-If a return is unreachable, then no return statement should be required,
-however some compilers insist on it, while other issue a bunch of warnings
-if it is in fact present.
-]]
-[[`BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE`][Compiler][
-The compiler will not accept a using declaration that brings a function
-from a typename used as a base class into a derived class if functions of
-the same name are present in the derived class.
-]]
-[[`BOOST_NO_USING_TEMPLATE`][Compiler][
-The compiler will not accept a using declaration that imports a template
-class or function from another namespace. Originally a Borland specific
-problem with imports to/from the global namespace, extended to MSVC6
-which has a specific issue with importing template classes (but not
-functions).
-]]
-[[`BOOST_NO_VOID_RETURNS`][Compiler][
-The compiler does not allow a void function to return the result of calling
-another void function.
-``
-void f() {}
-void g() { return f(); }
-``
-]]
-]
-
-[endsect]
-
-[#config_features]
-
-
-[section Macros that describe optional features]
-
-The following macros describe features that are not required by the C++
-standard. The macro is only defined if the feature is present.
-
-
-[table
-[[Macro       ][Section        ][Description       ]]
-
-[[`BOOST_HAS_BETHREADS`][Platform][
-The platform supports BeOS style threads.
-]]
-[[`BOOST_HAS_CLOCK_GETTIME`][Platform][
-The platform has the POSIX API `clock_gettime`.
-]]
-[[`BOOST_HAS_DIRENT_H`][Platform][
-The platform has the POSIX header `<dirent.h>`.
-]]
-[[`BOOST_HAS_EXPM1`][Platform][
-The platform has the functions `expm1`, `expm1f` and `expm1l` in `<math.h>`
-]]
-[[`BOOST_HAS_FTIME`][Platform][
-The platform has the Win32 API type FTIME.
-]]
-[[`BOOST_HAS_GETSYSTEMTIMEASFILETIME`][Platform][
-The platform has the Win32 API GetSystemTimeAsFileTime.
-]]
-[[`BOOST_HAS_GETTIMEOFDAY`][Platform][
-The platform has the POSIX API `gettimeofday`.
-]]
-[[`BOOST_HAS_HASH`][Standard library][
-The C++ implementation provides the (SGI) hash_set and hash_map classes.
-When defined, `BOOST_HASH_SET_HEADER` and `BOOST_HASH_LIST_HEADER` will contain
-the names of the header needed to access hash_set and hash_map;
-`BOOST_STD_EXTENSION_NAMESPACE` will provide the namespace in which the two
-class templates reside.
-]]
-[[`BOOST_HAS_LOG1P`][Platform][
-The platform has the functions `log1p`, `log1pf` and `log1pl` in `<math.h>`.
-]]
-[[`BOOST_HAS_MACRO_USE_FACET`][Standard library][
-The standard library lacks a conforming `std::use_facet`, but has a macro
-`_USE(loc, Type)` that does the job. This is primarily for the Dinkumware
-std lib.
-]]
-[[`BOOST_HAS_MS_INT64`][Compiler][
-The compiler supports the `__int64` data type.
-]]
-[[`BOOST_HAS_NANOSLEEP`][Platform][
-The platform has the POSIX API nanosleep.
-]]
-[[`BOOST_HAS_NL_TYPES_H`][Platform][
-The platform has an `<nl_types.h>`.
-]]
-[[`BOOST_HAS_NRVO`][Compiler][
-Indicated that the compiler supports the named return value optimization
-(NRVO). Used to select the most efficient implementation for some function.
-See [@../../../../boost/operators.hpp `<boost/operators.hpp>`] for example.
-]]
-[[`BOOST_HAS_PARTIAL_STD_ALLOCATOR`][Standard Library][
-The standard library has a partially conforming `std::allocator` class, but
-without any of the member templates.
-]]
-[[`BOOST_HAS_PTHREAD_DELAY_NP`][Platform][
-The platform has the POSIX API `pthread_delay_np`.
-]]
-[[`BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE`][Platform][
-The platform has the POSIX API `pthread_mutexattr_settype`.
-]]
-[[`BOOST_HAS_PTHREAD_YIELD`][Platform][
-The platform has the POSIX API `pthread_yield`.
-]]
-[[`BOOST_HAS_PTHREADS`][Platform][
-The platform support POSIX style threads.
-]]
-[[`BOOST_HAS_SCHED_YIELD`][Platform][
-The platform has the POSIX API `sched_yield`.
-]]
-[[`BOOST_HAS_SGI_TYPE_TRAITS`][Compiler, Standard library][
-The compiler has native support for SGI style type traits.
-]]
-[[`BOOST_HAS_STDINT_H`][Platform][
-The platform has a `<stdint.h>`
-]]
-[[`BOOST_HAS_SLIST`][Standard library][
-The C++ implementation provides the (SGI) slist class. When defined,
-`BOOST_SLIST_HEADER` will contain the name of the header needed to access
-`slist` and `BOOST_STD_EXTENSION_NAMESPACE` will provide the namespace in
-which `slist` resides.
-]]
-[[`BOOST_HAS_STLP_USE_FACET`][Standard library][
-The standard library lacks a conforming `std::use_facet`, but has a workaround
-class-version that does the job. This is primarily for the STLport std lib.
-]]
-[[`BOOST_HAS_TR1_ARRAY`][Standard library][
-The library has a TR1 conforming version of `<array>`.
-]]
-[[`BOOST_HAS_TR1_COMPLEX_OVERLOADS`][Standard library][
-The library has a version of `<complex>` that supports passing scalars to the
-complex number algorithms.
-]]
-[[`BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG`][Standard library][
-The library has a version of `<complex>` that includes the new inverse trig
-functions from TR1.
-]]
-[[`BOOST_HAS_TR1_REFERENCE_WRAPPER`][Standard library][
-The library has TR1 conforming reference wrappers in `<functional>`.
-]]
-[[`BOOST_HAS_TR1_RESULT_OF`][Standard library][
-The library has a TR1 conforming result_of template in `<functional>`.
-]]
-[[`BOOST_HAS_TR1_MEM_FN`][Standard library][
-The library has a TR1 conforming mem_fn function template in `<functional>`.
-]]
-[[`BOOST_HAS_TR1_BIND`][Standard library][
-The library has a TR1 conforming bind function template in `<functional>`.
-]]
-[[`BOOST_HAS_TR1_FUNCTION`][Standard library][
-The library has a TR1 conforming function class template in `<functional>`.
-]]
-[[`BOOST_HAS_TR1_HASH`][Standard library][
-The library has a TR1 conforming hash function template in `<functional>`.
-]]
-[[`BOOST_HAS_TR1_SHARED_PTR`][Standard library][
-The library has a TR1 conforming `shared_ptr` class template in `<memory>`.
-]]
-[[`BOOST_HAS_TR1_RANDOM`][Standard library][
-The library has a TR1 conforming version of `<random>`.
-]]
-[[`BOOST_HAS_TR1_REGEX`][Standard library][
-The library has a TR1 conforming version of `<regex>`.
-]]
-[[`BOOST_HAS_TR1_TUPLE`][Standard library][
-The library has a TR1 conforming version of `<tuple>`.
-]]
-[[`BOOST_HAS_TR1_TYPE_TRAITS`][Standard library][
-The library has a TR1 conforming version of `<type_traits>`.
-]]
-[[`BOOST_HAS_TR1_UTILITY`][Standard library][
-The library has the TR1 additions to `<utility>` (tuple interface to `std::pair`).
-]]
-[[`BOOST_HAS_TR1_UNORDERED_MAP`][Standard library][
-The library has a TR1 conforming version of `<unordered_map>`.
-]]
-[[`BOOST_HAS_TR1_UNORDERED_SET`][Standard library][
-The library has a TR1 conforming version of `<unordered_set>`.
-]]
-[[`BOOST_HAS_TR1`][Standard library][
-Implies all the other `BOOST_HAS_TR1_*` macros should be set.
-]]
-[[`BOOST_HAS_THREADS`][Platform, Compiler][
-Defined if the compiler, in its current translation mode, supports multiple
-threads of execution.
-]]
-[[`BOOST_HAS_TWO_ARG_USE_FACET`][Standard library][
-The standard library lacks a conforming std::use_facet, but has a two
-argument version that does the job. This is primarily for the Rogue Wave
-std lib.
-]]
-[[`BOOST_HAS_UNISTD_H`][Platform][
-The Platform provides `<unistd.h>`.
-]]
-[[`BOOST_HAS_WINTHREADS`][Platform][
-The platform supports MS Windows style threads.
-]]
-[[`BOOST_MSVC_STD_ITERATOR`][Standard library][
-Microsoft's broken version of `std::iterator` is being used. This implies that
-`std::iterator` takes no more than two template parameters.
-]]
-[[`BOOST_MSVC6_MEMBER_TEMPLATES`][Compiler][
-Microsoft Visual C++ 6.0 has enough member template idiosyncrasies
-(being polite) that `BOOST_NO_MEMBER_TEMPLATES` is defined for this compiler.
-`BOOST_MSVC6_MEMBER_TEMPLATES` is defined to allow compiler specific workarounds.
-This macro gets defined automatically if `BOOST_NO_MEMBER_TEMPLATES` is not
-defined - in other words this is treated as a strict subset of the features
-required by the standard.
-]]
-[[`BOOST_HAS_STDINT_H`][Platform][
-There are no 1998 C++ Standard headers `<stdint.h>` or `<cstdint>`, although the
-1999 C Standard does include `<stdint.h>`. If `<stdint.h>` is present,
-`<boost/stdint.h>` can make good use of it, so a flag is supplied (signalling
-presence; thus the default is not present, conforming to the current C++
-standard).
-]]
-]
-
-[endsect]
-
-[section Macros that describe possible C++0x features]
-
-The following macros describe features that are likely to be included in the
-upcoming ISO C++ standard, C++0x, but have not yet been approved for inclusion
-in the language.
-
-
-[table
-[[Macro     ][Description     ]]
-
-[[`BOOST_HAS_CONCEPTS`][
-The compiler supports  concepts.
-]]
-]
-
-[endsect]
-
-[section Macros that describe C++0x features not supported]
-
-The following macros describe features in the upcoming ISO C++ standard, C++0x,
-that are not yet supported by a particular compiler or library.
-
-[table
-[[Macro     ][Description     ]]
-
-[[`BOOST_NO_0X_HDR_ARRAY`][The standard library does not provide header <array>.]]
-[[`BOOST_NO_0X_HDR_CHRONO`][The standard library does not provide header <chrono>.]]
-[[`BOOST_NO_0X_HDR_CODECVT`][The standard library does not provide header <codecvt>.]]
-[[`BOOST_NO_0X_HDR_CONDITION_VARIABLE`][The standard library does not provide header <condition_variable>.]]
-[[`BOOST_NO_0X_HDR_FORWARD_LIST`][The standard library does not provide header <forward_list>.]]
-[[`BOOST_NO_0X_HDR_FUTURE`][The standard library does not provide header <future>.]]
-[[`BOOST_NO_0X_HDR_INITIALIZER_LIST`][The standard library does not provide header <initializer_list>.]]
-[[`BOOST_NO_0X_HDR_MUTEX`][The standard library does not provide header <mutex>.]]
-[[`BOOST_NO_0X_HDR_RANDOM`][The standard library does not provide header <random>.]]
-[[`BOOST_NO_0X_HDR_RATIO`][The standard library does not provide header <ratio>.]]
-[[`BOOST_NO_0X_HDR_REGEX`][The standard library does not provide header <regex>.]]
-[[`BOOST_NO_0X_HDR_SYSTEM_ERROR`][The standard library does not provide header <system_error>.]]
-[[`BOOST_NO_0X_HDR_THREAD`][The standard library does not provide header <thread>.]]
-[[`BOOST_NO_0X_HDR_TUPLE`][The standard library does not provide header <tuple>.]]
-[[`BOOST_NO_0X_HDR_TYPEINDEX`][The standard library does not provide header <typeindex>.]]
-[[`BOOST_NO_0X_HDR_TYPE_TRAITS`][The standard library does not provide header <type_traits>.]]
-[[`BOOST_NO_0X_HDR_UNORDERED_MAP`][The standard library does not provide header <unordered_map>.]]
-[[`BOOST_NO_0X_HDR_UNORDERED_SET`][The standard library does not provide header <unordered_set>.]]
-
-[[`BOOST_NO_AUTO_DECLARATIONS`][The compiler does not support
-type deduction for variables declared with the `auto` keyword (`auto var = ...;`).
-]]                       
-[[`BOOST_NO_AUTO_MULTIDECLARATIONS`][The compiler does not support
-type deduction for multiple variables declared with the `auto` keyword (`auto var = ..., *ptr = ...;`).
-]]                       
-[[`BOOST_NO_CHAR16_T`][The compiler does not support
-type `char16_t`. 
-]]                       
-[[`BOOST_NO_CHAR32_T`][The compiler does not support 
-type `char32_t`. 
-]]                       
-[[`BOOST_NO_TEMPLATE_ALIASES`][The compiler does not support template aliases. 
-]]                      
-[[`BOOST_NO_CONSTEXPR`][The compiler does not support 
-`constexpr`. 
-]]                      
-[[`BOOST_NO_DECLTYPE`][The compiler does not support 
-`decltype`. 
-]]                       
-[[`BOOST_NO_DECLTYPE_N3276`][The compiler does not support the extension to
-`decltype` described in [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf N3276],
-accepted in Madrid, March 2011.
-]]                       
-[[`BOOST_NO_DEFAULTED_FUNCTIONS`][The compiler does not support 
-defaulted (`= default`) functions.  
-]]            
-[[`BOOST_NO_DELETED_FUNCTIONS`][The compiler does not support 
-deleted (`= delete`) functions.              
-]]              
-[[`BOOST_NO_EXPLICIT_CONVERSION_OPERATORS`][The compiler does not support 
-explicit conversion operators (`explicit operator T()`).              
-]] 
-[[`BOOST_NO_EXTERN_TEMPLATE`][The compiler does not support 
-explicit instantiation forward declarations for templates (`extern template ...`).
-]]
-[[`BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS`][The compiler does not support
-default template arguments for function templates.
-]]
-[[`BOOST_NO_INITIALIZER_LISTS`][
-The C++ compiler does not support C++0x initializer lists.
-]]
-[[`BOOST_NO_LAMBDAS`][The compiler does not support Lambdas. 
-]]                      
-[[`BOOST_NO_LONG_LONG`][The compiler does not support `long long`.
-]]                
-[[`BOOST_NO_NOEXCEPT`][The compiler does not support `noexcept`. 
-]]                      
-[[`BOOST_NO_NULLPTR`][The compiler does not support `nullptr`. 
-]]                      
-[[`BOOST_NO_RAW_LITERALS`][The compiler does not support
-raw string literals. 
-]]                   
-[[`BOOST_NO_RVALUE_REFERENCES`][The compiler does not support
-r-value references. 
-]]              
-[[`BOOST_NO_SCOPED_ENUMS`][The compiler does not support
-scoped enumerations (`enum class`). 
-]]                   
-[[`BOOST_NO_STATIC_ASSERT`][The compiler does not support
-`static_assert`. 
-]]                  
-[[`BOOST_NO_STD_UNORDERD`][The standard library does not support
-<unordered_map> and <unordered_set>. 
-]]                  
-[[`BOOST_NO_TEMPLATE_ALIASES`][The compiler does not support template aliases. 
-]]                      
-[[`BOOST_NO_UNICODE_LITERALS`][The compiler does not support
-Unicode (`u8`, `u`, `U`) literals. 
-]] 
-[[`BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX`][The compiler does not support
-the [@http://en.wikipedia.org/wiki/C%2B%2B0x#Uniform_initialization C++11 Unified Initialization Syntax].
-]]
-[[`BOOST_NO_VARIADIC_TEMPLATES`][The compiler does not support
-variadic templates. 
-]]
-[[`BOOST_NO_VARIADIC_MACROS`][The compiler does not support
-variadic macros. 
-]]
-]
-
-[endsect]
-
-[#config_helpers]
-
-[section Boost Helper Macros]
-
-The following macros are either simple helpers, or macros that provide
-workarounds for compiler/standard library defects.
-
-
-[table
-[[Macro           ][Description            ]]
-
-[[`BOOST_WORKAROUND`][
-This macro is used where a compiler specific workaround is required that is not otherwise
-described by one of the other Boost.Config macros.  To use the macro you must first
-``
-#include <boost/detail/workaround.hpp>
-``
-usage is then:
-``
-#if BOOST_WORKAROUND(MACRONAME, CONDITION)
-   // workaround code goes here...
-#else
-   // Standard conforming code goes here...
-#endif
-``
-where `MACRONAME` is a macro that usually describes the version number to be tested against, and `CONDITION`
-is a comparison operator followed by a value.  For example `BOOST_WORKAROUND(BOOST_INTEL, <= 1010)` would 
-evaluate to `1` for Intel C++ 10.1 and earlier.  
-
-The macro can also be used with `BOOST_TESTED_AT` if all
-current compiler versions exhibit the issue, but the issue is expected to be fixed at some later point.  
-
-For example
-`BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x590))` would normally evaluate to `1` for all values
-of `__BORLANDC__` /unless/ the macro `BOOST_DETECT_OUTDATED_WORKAROUNDS` is defined, in which case evaluates to
-`(__BORLANDC__ <= 0x590)`.
-
-[*Note]: the ultimate source of documentation for this macro is in [@../../../../boost/detail/workaround.hpp boost/detail/workaround.hpp].
-]]
-[[`BOOST_PREVENT_MACRO_SUBSTITUTION`][
-Sometimes you have a function name with the same name as a C macro, for example "min" and "max"
-member functions, in which case one can prevent the function being expanded as a macro using:
-``
-someclass.min BOOST_PREVENT_MACRO_SUBSTITUTION(arg1, arg2);
-``
-The following also works in most, but not all, contexts:
-``
-(someclass.max)(arg1, arg2);
-``
-]]
-[[`BOOST_DEDUCED_TYPENAME`][
-Some compilers don't support the use of typename for dependent types in deduced
-contexts. This macro expands to nothing on those compilers, and typename
-elsewhere. For example, replace:
-`template <class T> void f(T, typename T::type);`
-with:
-`template <class T> void f(T, BOOST_DEDUCED_TYPENAME T::type);`
-]]
-[[`BOOST_HASH_MAP_HEADER`][
-The header to include to get the SGI `hash_map` class. This macro is only
-available if `BOOST_HAS_HASH` is defined.
-]]
-[[`BOOST_HASH_SET_HEADER`][
-The header to include to get the SGI `hash_set` class. This macro is only
-available if `BOOST_HAS_HASH` is defined.
-]]
-[[`BOOST_SLIST_HEADER`][
-The header to include to get the SGI `slist` class. This macro is only
-available if `BOOST_HAS_SLIST` is defined.
-]]
-[[`BOOST_STD_EXTENSION_NAMESPACE`][
-The namespace used for std library extensions (hashtable classes etc).
-]]
-[[`BOOST_STATIC_CONSTANT(Type, assignment)`][
-On compilers which don't allow in-class initialization of static integral
-constant members, we must use enums as a workaround if we want the constants
-to be available at compile-time. This macro gives us a convenient way to
-declare such constants.
-For example instead of:
-``
-struct foo{
-   static const int value = 2;
-};
-``
-use:
-``
-struct foo{
-   BOOST_STATIC_CONSTANT(int, value = 2);
-};
-``
-]]
-[[`BOOST_UNREACHABLE_RETURN(result)`][
-Normally evaluates to nothing, but evaluates to return x; if the compiler
-requires a return, even when it can never be reached.
-]]
-[[`BOOST_EXPLICIT_TEMPLATE_TYPE(t)`
-  `BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t,v)`
-  `BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)`
-  `BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t,v)`][
-Some compilers silently "fold" different function template instantiations if
-some of the template parameters don't appear in the function parameter list.
-For instance:
-``
-  #include <iostream>
-  #include <ostream>
-  #include <typeinfo>
-
-  template <int n>
-  void f() { std::cout << n << ' '; }
-
-  template <typename T>
-  void g() { std::cout << typeid(T).name() << ' '; }
-
-  int main() {
-    f<1>();
-    f<2>();
-
-    g<int>();
-    g<double>();
-  }
-``
-incorrectly outputs [^2 2 double double] on VC++ 6. These macros, to be used
-in the function parameter list, fix the problem without effects on the calling
-syntax. For instance, in the case above write:
-``
-  template <int n>
-  void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... }
-
-  template <typename T>
-  void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... }
-``
-Beware that they can declare (for affected compilers) a dummy defaulted
-parameter, so they
-
-[*a)] should be always invoked [*at the end] of the parameter list
-
-[*b)] can't be used if your function template is multiply declared.
-
-Furthermore, in order to add any needed comma separator, an `APPEND_*` version
-must be used when the macro invocation appears after a normal parameter
-declaration or after the invocation of another macro of this same group.
-]]
-[[`BOOST_USE_FACET(Type, loc)`][
-When the standard library does not have a comforming `std::use_facet` there
-are various workarounds available, but they differ from library to library.
-This macro provides a consistent way to access a locale's facets. For example,
-replace:
-`std::use_facet<Type>(loc);`
-with:
-`BOOST_USE_FACET(Type, loc);`
-Note do not add a `std::` prefix to the front of `BOOST_USE_FACET`.
-]]
-[[`BOOST_HAS_FACET(Type, loc)`][
-When the standard library does not have a comforming `std::has_facet` there
-are various workarounds available, but they differ from library to library.
-This macro provides a consistent way to check a locale's facets. For example,
-replace:
-`std::has_facet<Type>(loc);`
-with:
-`BOOST_HAS_FACET(Type, loc);`
-Note do not add a `std::` prefix to the front of `BOOST_HAS_FACET`.
-]]
-[[`BOOST_NESTED_TEMPLATE`][
-Member templates are supported by some compilers even though they can't use
-the `A::template member<U>` syntax, as a workaround replace:
-`typedef typename A::template rebind<U> binder;`
-with:
-`typedef typename A::BOOST_NESTED_TEMPLATE rebind<U> binder;`
-]]
-[[`BOOST_STRINGIZE(X)`][
-Converts the parameter `X` to a string after macro replacement on `X` has
-been performed.
-]]
-[[`BOOST_JOIN(X,Y)`][
-This piece of macro magic joins the two arguments together, even when one of
-the arguments is itself a macro (see 16.3.1 in C++ standard). This is normally
-used to create a mangled name in combination with a predefined macro such a
-\_\_LINE__.
-]]
-[[`BOOST_CONSTEXPR`][
-Some compilers don't support the use of `constexpr`. This macro expands to nothing on those compilers, and `constexpr`
-elsewhere. For example, when defining a constexpr function or constructor replace:
-``
-  constexpr tuple();
-``
-with:
-``
-  BOOST_CONSTEXPR tuple();
-``
-]]
-[[`BOOST_CONSTEXPR_OR_CONST`][
-Some compilers don't support the use of `constexpr`. This macro expands to `const` on those compilers, and `constexpr`
-elsewhere. For example, when defining const expr variables replace:
-``
-  static constexpr UIntType xor_mask = a;
-``
-with:
-``
-  static BOOST_CONSTEXPR_OR_CONST UIntType xor_mask = a;
-``
-]]
-[[`BOOST_STATIC_CONSTEXPR`][
-This is a shortcut for `static BOOST_CONSTEXPR_OR_CONST`For example, when defining const expr variables replace:
-``
-  static constexpr UIntType xor_mask = a;
-``
-with:
-``
-  BOOST_STATIC_CONSTEXPR UIntType xor_mask = a;
-``
-]]
-]
-
-[endsect]
-
-[#config_info_macros]
-
-[section Boost Informational Macros]
-
-The following macros describe boost features; these are, generally speaking
-the only boost macros that should be tested in user code.
-
-[table
-
-[[Macro            ][Header         ][Description               ]]
-
-[[`BOOST_VERSION`][`<boost/version.hpp>`][
-Describes the boost version number in XYYYZZ format such that:
-`(BOOST_VERSION % 100)` is the sub-minor version, `((BOOST_VERSION / 100) % 1000)`
-is the minor version, and `(BOOST_VERSION / 100000)` is the major version.
-]]
-[[`BOOST_NO_INT64_T`][`<boost/cstdint.hpp>` `<boost/stdint.h>`][
-Defined if there are no 64-bit integral types: `int64_t`, `uint64_t` etc.
-]]
-[[`BOOST_NO_INTEGRAL_INT64_T`][`<boost/cstdint.hpp>` `<boost/stdint.h>`][
-Defined if `int64_t` as defined by `<boost/cstdint.hpp>` is not usable in
-integral constant expressions.
-]]
-[[`BOOST_MSVC`][`<boost/config.hpp>`][
-Defined if the compiler is really Microsoft Visual C++, as opposed to one
-of the many other compilers that also define `_MSC_VER`.  Has the same value as 
-_MSC_VER.
-]]
-[[`BOOST_MSVC_FULL_VER`][`<boost/config.hpp>`][
-Defined to a normalised 9 digit version of _MSC_FULL_VER (which sometimes only has 8 digits), 
-the macro has the form VVMMPPPPP where VV is the major version number, MM is the minor version number, and
-PPPPP is the compiler build number.
-]]
-[[`BOOST_INTEL`][`<boost/config.hpp>`][
-Defined if the compiler is an Intel compiler, takes the same value as the
-compiler version macro.
-]]
-[[`BOOST_CLANG`][`<boost/config.hpp>`][
-Defined to 1 if the compiler is the Clang compiler.
-]]
-[[`BOOST_WINDOWS`][`<boost/config.hpp>`][
-Defined if the Windows platform API is available.
-]]
-[[`BOOST_DINKUMWARE_STDLIB`][`<boost/config.hpp>`][
-Defined if the dinkumware standard library is in use, takes the same value
-as the Dinkumware library version macro `_CPPLIB_VER` if defined, otherwise 1.
-]]
-[[`BOOST_NO_WREGEX`][`<boost/regex.hpp>`][
-Defined if the regex library does not support wide character regular
-expressions.
-]]
-[[`BOOST_COMPILER`][`<boost/config.hpp>`][
-Defined as a string describing the name and version number of the compiler
-in use. Mainly for debugging the configuration.
-]]
-[[`BOOST_STDLIB`][`<boost/config.hpp>`][
-Defined as a string describing the name and version number of the standard
-library in use. Mainly for debugging the configuration.
-]]
-[[`BOOST_PLATFORM`][`<boost/config.hpp>`][
-Defined as a string describing the name of the platform. Mainly for debugging
-the configuration.
-]]
-]
-
-[endsect]
-
-[section Macros for libraries with separate source code]
-
-The following macros and helper headers are of use to authors whose libraries
-include separate source code, and are intended to address several issues:
-
-* Controlling shared library symbol visibility
-* Fixing the ABI of the compiled library
-* Selecting which compiled library to link against based upon the compilers settings
-
-See [@http://svn.boost.org/trac/boost/wiki/Guidelines/Separate Guidelines for Authors of Boost Libraries Containing Separate Source] 
-
-[section Macros controlling shared library symbol visibility]
-
-Some compilers support C++ extensions that control which symbols 
-will be exported from shared libraries such as dynamic shared objects (DSO's) on Unix-like
-systems or dynamic-link libraries (DLL's) on Windows.
-
-The Microsoft VC++ compiler has long supplied 
-`__declspec(dllexport)` and `__declspec(dllimport)` extensions for this purpose,
-as do virtually all other compilers targeting the Windows platform.
- 
-Modern versions of the GNU GCC compiler provide the `__attribute__((visibility("default")))` 
-extension to indicate that a symbol should be exported. All other symbols may be hidden by using the
-`-fvisibility-hidden` or `-fvisibility-ms-compat` compiler switches.
-
-Boost supplies several macros to make it easier to manage symbol visibility in a way that
-is portable between compilers and operating systems.
-
-[table
-[[Macro       ][Description       ]]
-[[`BOOST_SYMBOL_EXPORT`][
-Defines the syntax of a C++ language extension that indicates a symbol is to be exported from a shared library.
-If the compiler has no such extension, the macro is defined with no replacement text. 
-]]
-[[`BOOST_SYMBOL_IMPORT`][
-Defines the syntax of a C++ language extension that indicates a symbol is to be imported from a shared library.
-If the compiler has no such extension, the macro is defined with no replacement text. 
-]]
-[[`BOOST_SYMBOL_VISIBLE`][
-Defines the syntax of a C++ language extension that indicates a symbol is to be globally visible.
-If the compiler has no such extension, the macro is defined with no replacement text. 
-Needed for classes that are not otherwise exported, but are used by RTTI. Examples include
-class for objects that will be thrown as exceptions or used in dynamic_casts,
-across shared library boundaries. For example, a header-only exception class might look like this:
-``
-  class BOOST_SYMBOL_VISIBLE my_exception : public std::runtime_error { ... };
-`` 
-Without BOOST_SYMBOL_VISIBLE, it would be impossible to catch my_exception thrown from a shared library
-compiled by GCC with the -fvisibility=hidden option.
-]]
-[[`BOOST_HAS_DECLSPEC`][
-The compiler has C++ extensions `__declspec(dllexport)` and `__declspec(dllimport)` to control
-export/import of symbols from shared libraries.
-['Deprecated. This macro is no longer necessary since BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT
-are now supplied. It is provided to support legacy code.]
-]]
-]
-
-Typical usage:
-
-[*boost/foo/config.hpp]
-
-    ...
-    #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FOO_DYN_LINK)
-    # if defined(BOOST_FOO_SOURCE)
-    #   define BOOST_FOO_DECL BOOST_SYMBOL_EXPORT
-    # else 
-    #   define BOOST_FOO_DECL BOOST_SYMBOL_IMPORT
-    # endif
-    #else
-    # define BOOST_FOO_DECL
-    #endif
-    ...
- 
-[*boost/foo/foo.hpp] 
-  
-    #include <boost/foo/config.hpp>
-    ...
-    class BOOST_FOO_DECL bar { ... };
-    ...
-    void BOOST_FOO_DECL f();
-    ...
-
-[*boost/libs/foo/src/foo.cpp] 
-   
-    #define BOOST_FOO_SOURCE
-    #include <boost/foo/foo.hpp>    
-    ...
-    void BOOST_FOO_DECL f()
-    {
-      ...
-    }
-    ...
-     
-[endsect]
-
-[section ABI Fixing]
-
-When linking against a pre-compiled library it vital that the ABI used by the
-compiler when building the library ['matches exactly] the ABI used by the code
-using the library.  In this case ABI means things like the struct packing
-arrangement used, the name mangling scheme used, or the size of some types
-(enum types for example).  This is separate from things like threading support,
-or runtime library variations, which have to be dealt with by build variants.
-To put this in perspective there is one compiler (Borland's) that has so many
-compiler options that make subtle changes to the ABI, that at least in theory
-there 3200 combinations, and that's without considering runtime library
-variations. Fortunately these variations can be managed by `#pragma`'s that
-tell the compiler what ABI to use for the types declared in your library.
-In order to avoid sprinkling `#pragma`'s all over the boost headers, there are
-some prefix and suffix headers that do the job. Typical usage is:
-
-[*my_library.hpp]
-
-    #ifndef MY_INCLUDE_GUARD
-    #define MY_INCLUDE_GUARD
-
-    // all includes go here:
-    ``[^[*#include <boost/config.hpp>]]``
-    #include <whatever>
-
-    ``[^[*#include <boost/config/abi_prefix.hpp>]]`` // must be the last #include
-
-    namespace boost {
-
-    // your code goes here
-
-    }
-
-    ``[^[*#include <boost/config/abi_suffix.hpp>]]`` // pops abi_prefix.hpp pragmas
-
-    #endif // include guard
-
-[*my_library.cpp]
-
-    ...
-    // nothing special need be done in the implementation file
-    ...
-
-The user can disable this mechanism by defining `BOOST_DISABLE_ABI_HEADERS`, or
-they can define `BOOST_ABI_PREFIX` and/or `BOOST_ABI_SUFFIX` to point to their
-own prefix/suffix headers if they so wish.
-
-[endsect]
-
-[section Automatic library selection]
-
-It is essential that users link to a build of a library which was built against
-the same runtime library that their application will be built against -if this
-does not happen then the library will not be binary compatible with their own
-code- and there is a high likelihood  that their application will experience
-runtime crashes.  These kinds of problems can be extremely time consuming and
-difficult to debug, and often lead to frustrated users and authors alike (simply
-selecting the right library to link against is not as easy as it seems when
-their are 6-8 of them to chose from, and some users seem to be blissfully
-unaware that there even are different runtimes available to them).
-
-To solve this issue, some compilers allow source code to contain `#pragma`'s that
-instruct the linker which library to link against, all the user need do is
-include the headers they need, place the compiled libraries in their library
-search path, and the compiler and linker do the rest. Boost.config supports
-this via the header `<boost/config/auto_link.hpp>`, before including this header
-one or more of the following macros need to be defined:
-
-[variablelist
-[[`BOOST_LIB_NAME`][
-Required: An identifier containing the basename of the library, for
-example 'boost_regex'.
-]]
-[[`BOOST_DYN_LINK`][
-Optional: when set link to dll rather than static library.
-]]
-[[`BOOST_LIB_DIAGNOSTIC`][
-Optional: when set the header will print out the name of the library selected
-(useful for debugging).
-]]
-]
-
-If the compiler supports this mechanism, then it will be told to link against
-the appropriately named library, the actual algorithm used to mangle the name
-of the library is documented inside `<boost/config/auto_link.hpp>` and has to
-match that used to create the libraries via bjam 's install rules.
-
-
-[*my_library.hpp]
-
-    ...
-    //
-    // Don't include auto-linking code if the user has disabled it by
-    // defining BOOST_ALL_NO_LIB, or BOOST_MY_LIBRARY_NO_LIB, or if this 
-    // is one of our own source files (signified by BOOST_MY_LIBRARY_SOURCE):
-    //
-    #if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_MY_LIBRARY_NO_LIB) && !defined(BOOST_MY_LIBRARY_SOURCE)
-    #  define BOOST_LIB_NAME boost_my_library
-    #  ifdef BOOST_MY_LIBRARY_DYN_LINK
-    #     define BOOST_DYN_LINK
-    #  endif
-    #  include <boost/config/auto_link.hpp>
-    #endif
-    ...
-
-[*my_library.cpp]
-
-    // define BOOST_MY_LIBRARY_SOURCE so that the header knows that the
-    // library is being built (possibly exporting rather than importing code)
-    //
-    #define BOOST_MY_LIBRARY_SOURCE
-
-    #include <boost/my_library/my_library.hpp>
-    ...
-
-[endsect]
-
-[endsect]
-
-[endsect]
-
-
-
diff --git a/SRC/Boost/libs/config/doc/rationale.qbk b/SRC/Boost/libs/config/doc/rationale.qbk
deleted file mode 100755
index 7c27e24..0000000
--- a/SRC/Boost/libs/config/doc/rationale.qbk
+++ /dev/null
@@ -1,80 +0,0 @@
-[/
-    Boost.Config
-
-    Copyright (c) 2001 Beman Dawes
-    Copyright (c) 2001 Vesa Karvonen
-    Copyright (c) 2001 John Maddock
-
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
-]
-
-[section Rationale]
-
-The problem with many traditional "textbook" implementations of configuration
-headers (where all the configuration options are in a single "monolithic"
-header) is that they violate certain fundamental software engineering
-principles which would have the effect of making boost more fragile, more
-difficult to maintain and more difficult to use safely. You can find a
-description of the principles from the __PRINCIPLES_AND_PATTERNS_ARTICLE__.
-
-[section The problem]
-
-Consider a situation in which you are concurrently developing on multiple
-platforms. Then consider adding a new platform or changing the platform
-definitions of an existing platform. What happens? Everything, and this does
-literally mean everything, recompiles. Isn't it quite absurd that adding a
-new platform, which has absolutely nothing to do with previously existing
-platforms, means that all code on all existing platforms needs to be
-recompiled?
-
-Effectively, there is an imposed physical dependency between platforms that
-have nothing to do with each other. Essentially, the traditional solution
-employed by configuration headers does not conform to the Open-Closed
-Principle:
-
-[: [*"A module should be open for extension but closed for modification."]]
-
-Extending a traditional configuration header implies modifying existing code.
-
-Furthermore, consider the complexity and fragility of the platform detection
-code. What if a simple change breaks the detection on some minor platform?
-What if someone accidentally or on purpose (as a workaround for some other
-problem) defines some platform dependent macros that are used by the
-detection code? A traditional configuration header is one of the most
-volatile headers of the entire library, and more stable elements of
-Boost would depend on it. This violates the Stable Dependencies Principle:
-
-[: [*"Depend in the direction of stability."]]
-
-After even a minor change to a traditional configuration header on one minor
-platform, almost everything on every platform should be tested if we follow
-sound software engineering practice.
-
-Another important issue is that it is not always possible to submit changes
-to `<boost/config.hpp>`. Some boost users are currently working on platforms
-using tools and libraries that are under strict Non-Disclosure Agreements.
-In this situation it is impossible to submit changes to a traditional
-monolithic configuration header, instead some method by which the user
-can insert their own configuration code must be provided.
-
-[endsect]
-
-[section The solution]
-
-The approach taken by boost's configuration headers is to separate
-configuration into three orthogonal parts: the compiler, the standard
-library and the platform. Each compiler/standard library/platform gets
-its own mini-configuration header, so that changes to one compiler's
-configuration (for example) does not affect other compilers. In addition
-there are measures that can be taken both to omit the compiler/standard
-library/platform detection code (so that adding support to a new platform
-does not break dependencies), or to freeze the configuration completely;
-providing almost complete protection against dependency changes.
-
-[endsect]
-
-[endsect]
-
-
diff --git a/SRC/Boost/libs/config/index.html b/SRC/Boost/libs/config/index.html
deleted file mode 100755
index 96cd021..0000000
--- a/SRC/Boost/libs/config/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html>
-   <head>
-      <meta http-equiv="refresh" content="0; URL=doc/html/index.html">
-   </head>
-   <body>
-      <P>
-         Automatic redirection failed, please go to <a href="doc/html/index.html">doc/html/index.html</a>.
-      </P>
-      <P>Copyright John Maddock 2001</P>
-      <P>Distributed under the Boost Software License, Version 1.0. (See accompanying file <A href="../../LICENSE_1_0.txt">
-            LICENSE_1_0.txt</A> or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</A>).</P>
-   </body>
-</html>
-
-
diff --git a/SRC/Boost/libs/config/test/Jamfile.v2 b/SRC/Boost/libs/config/test/Jamfile.v2
deleted file mode 100755
index f60c122..0000000
--- a/SRC/Boost/libs/config/test/Jamfile.v2
+++ /dev/null
@@ -1,62 +0,0 @@
-#
-# Copyright John Maddock 2008.
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# If you need to alter build preferences then set them in
-# the template defined in options_v2.jam.
-#
-
-import modules ;
-
-local is_unix = [ modules.peek : UNIX ] ;
-
-if $(is_unix)
-{
-	local osname = [ SHELL uname ] ;
-
-	switch $(osname)
-	{
-		case "Sun*" : OTHERFLAGS = "-lpthread -lrt" ;
-		case "*BSD*" : OTHERFLAGS = "-lpthread" ;
-	}
-}
-
-test-suite config
-  : 
-    [ compile config_test_c.c ]
-    [ run config_test.cpp 
-          : #args
-          : #input-files
-          : #requirements
-          <threading>multi
-          : config_test_threaded
-    ]
-    [ run config_test.cpp 
-          : #args
-          : #input-files
-          : #requirements
-          <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static 
-          <target-os>linux:<linkflags>-lpthread
-          <target-os>linux:<linkflags>-lrt
-          <toolset>gcc:<linkflags>$(OTHERFLAGS)
-    ]
-     [ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ]
-     [ run config_info.cpp : : : <test-info>always_show_run_output <threading>multi : config_info_threaded ]
-     [ run math_info.cpp : : : <test-info>always_show_run_output <toolset>borland:<runtime-link>static <toolset>borland:<link>static ]
-     [ run abi/abi_test.cpp abi/main.cpp ]
-     [ run limits_test.cpp ../../test/build//boost_test_exec_monitor ]
-     [ run link/main.cpp link//link_test
-          : #args
-          : #input-files
-          : #requirements
-          <runtime-link>shared
-          <define>BOOST_DYN_LINK=1
-          <define>BOOST_CONFIG_NO_LIB=1
-          :
-          config_link_test
-    ]
-    [ compile-fail threads/test_thread_fail1.cpp ]
-    [ compile-fail threads/test_thread_fail2.cpp ]
-  ;
diff --git a/SRC/Boost/libs/config/test/abi/abi_test.cpp b/SRC/Boost/libs/config/test/abi/abi_test.cpp
deleted file mode 100755
index bd14e87..0000000
--- a/SRC/Boost/libs/config/test/abi/abi_test.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-
-#include "abi_test.hpp"
-
-
-char abi_test::virtual_one()const
-{ 
-   return c; 
-}
-
-boost::int32_t abi_test::virtual_two()const
-{ 
-   return i; 
-}
-
-abi_test::abi_test()
-{
-   c = 0x12;
-   i = 0x5678;
-}
-
diff --git a/SRC/Boost/libs/config/test/abi/abi_test.hpp b/SRC/Boost/libs/config/test/abi/abi_test.hpp
deleted file mode 100755
index 615d189..0000000
--- a/SRC/Boost/libs/config/test/abi/abi_test.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-
-#ifndef BOOST_ABI_TEST_HPP
-#define BOOST_ABI_TEST_HPP
-
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#include BOOST_ABI_PREFIX
-#endif
-
-//
-// the following class is designed to break if the ABI
-// it's compiled with does not match that of the client
-// calling it....
-//
-
-struct empty{};
-
-class abi_test : protected empty
-{
-private:
-   empty e;
-   char c;
-   boost::int32_t i;
-public:
-   inline char inline_one()const
-   { return c; }
-   inline boost::int32_t inline_two()const
-   { return i; }
-
-   virtual char virtual_one()const;
-   virtual boost::int32_t virtual_two()const;
-
-   abi_test();
-};
-
-
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#include BOOST_ABI_SUFFIX
-#endif
-
-#endif // BOOST_ABI_TEST_HPP
-
-
-
diff --git a/SRC/Boost/libs/config/test/abi/main.cpp b/SRC/Boost/libs/config/test/abi/main.cpp
deleted file mode 100755
index 8f91108..0000000
--- a/SRC/Boost/libs/config/test/abi/main.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//
-// before we do anything else, we need to mess with the compilers ABI:
-//
-#include <boost/config.hpp>
-#ifdef BOOST_MSVC
-#pragma pack(1)
-#elif defined(__BORLANDC__)
-#pragma option -Ve- -Vx- -a1 -b-
-#endif
-#include <stdio.h>
-#include "abi_test.hpp"
-
-
-int main()
-{
-   abi_test t;
-   if((t.inline_one() != t.virtual_one()) || (t.inline_two() != t.virtual_two()))
-   {
-      fwrite("Failed ABI test", 1, 15, stdout);
-      return -1;
-   }
-   return 0;
-}
-
diff --git a/SRC/Boost/libs/config/test/all/Jamfile.v2 b/SRC/Boost/libs/config/test/all/Jamfile.v2
deleted file mode 100755
index f586848..0000000
--- a/SRC/Boost/libs/config/test/all/Jamfile.v2
+++ /dev/null
@@ -1,526 +0,0 @@
-#
-# Regression test Jamfile for boost configuration setup.
-# *** DO NOT EDIT THIS FILE BY HAND ***
-# This file was automatically generated on Wed Jul 13 18:50:14 2011
-#  by libs/config/tools/generate.cpp
-# Copyright John Maddock.
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# If you need to alter build preferences then set them in
-# the template defined in options_v2.jam.
-#
-path-constant DOT : . ;
-include $(DOT)/options_v2.jam ;
-
-run ../config_info.cpp  : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;
-run ../config_info.cpp  : : : <threading>multi : config_info_threaded ;
-run ../math_info.cpp : : : <toolset>borland:<runtime-link>static <toolset>borland:<link>static ;
-run ../config_test.cpp : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;
-run ../config_test.cpp : : : <threading>multi : config_test_threaded ;
-run ../limits_test.cpp ../../../test/build//boost_test_exec_monitor ;
-run ../abi/abi_test.cpp ../abi/main.cpp  ;
-
-test-suite "BOOST_HAS_TWO_ARG_USE_FACET" : 
-[ run ../has_2arg_use_facet_pass.cpp ]
-[ compile-fail ../has_2arg_use_facet_fail.cpp ] ;
-test-suite "BOOST_HAS_BETHREADS" : 
-[ run ../has_bethreads_pass.cpp ]
-[ compile-fail ../has_bethreads_fail.cpp ] ;
-test-suite "BOOST_HAS_CLOCK_GETTIME" : 
-[ run ../has_clock_gettime_pass.cpp ]
-[ compile-fail ../has_clock_gettime_fail.cpp ] ;
-test-suite "BOOST_HAS_DIRENT_H" : 
-[ run ../has_dirent_h_pass.cpp ]
-[ compile-fail ../has_dirent_h_fail.cpp ] ;
-test-suite "BOOST_HAS_EXPM1" : 
-[ run ../has_expm1_pass.cpp ]
-[ compile-fail ../has_expm1_fail.cpp ] ;
-test-suite "BOOST_HAS_FTIME" : 
-[ run ../has_ftime_pass.cpp ]
-[ compile-fail ../has_ftime_fail.cpp ] ;
-test-suite "BOOST_HAS_GETSYSTEMTIMEASFILETIME" : 
-[ run ../has_getsystemtimeasfiletime_pass.cpp ]
-[ compile-fail ../has_getsystemtimeasfiletime_fail.cpp ] ;
-test-suite "BOOST_HAS_GETTIMEOFDAY" : 
-[ run ../has_gettimeofday_pass.cpp ]
-[ compile-fail ../has_gettimeofday_fail.cpp ] ;
-test-suite "BOOST_HAS_HASH" : 
-[ run ../has_hash_pass.cpp ]
-[ compile-fail ../has_hash_fail.cpp ] ;
-test-suite "BOOST_HAS_LOG1P" : 
-[ run ../has_log1p_pass.cpp ]
-[ compile-fail ../has_log1p_fail.cpp ] ;
-test-suite "BOOST_HAS_LONG_LONG" : 
-[ run ../has_long_long_pass.cpp ]
-[ compile-fail ../has_long_long_fail.cpp ] ;
-test-suite "BOOST_HAS_MACRO_USE_FACET" : 
-[ run ../has_macro_use_facet_pass.cpp ]
-[ compile-fail ../has_macro_use_facet_fail.cpp ] ;
-test-suite "BOOST_HAS_MS_INT64" : 
-[ run ../has_ms_int64_pass.cpp ]
-[ compile-fail ../has_ms_int64_fail.cpp ] ;
-test-suite "BOOST_HAS_NANOSLEEP" : 
-[ run ../has_nanosleep_pass.cpp ]
-[ compile-fail ../has_nanosleep_fail.cpp ] ;
-test-suite "BOOST_HAS_NL_TYPES_H" : 
-[ run ../has_nl_types_h_pass.cpp ]
-[ compile-fail ../has_nl_types_h_fail.cpp ] ;
-test-suite "BOOST_HAS_NRVO" : 
-[ run ../has_nrvo_pass.cpp ]
-[ compile-fail ../has_nrvo_fail.cpp ] ;
-test-suite "BOOST_HAS_PARTIAL_STD_ALLOCATOR" : 
-[ run ../has_part_alloc_pass.cpp ]
-[ compile-fail ../has_part_alloc_fail.cpp ] ;
-test-suite "BOOST_HAS_PTHREADS" : 
-[ run ../has_pthreads_pass.cpp ]
-[ compile-fail ../has_pthreads_fail.cpp ] ;
-test-suite "BOOST_HAS_PTHREAD_DELAY_NP" : 
-[ run ../has_pthread_delay_np_pass.cpp ]
-[ compile-fail ../has_pthread_delay_np_fail.cpp ] ;
-test-suite "BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE" : 
-[ run ../has_pthread_ma_st_pass.cpp ]
-[ compile-fail ../has_pthread_ma_st_fail.cpp ] ;
-test-suite "BOOST_HAS_PTHREAD_YIELD" : 
-[ run ../has_pthread_yield_pass.cpp ]
-[ compile-fail ../has_pthread_yield_fail.cpp ] ;
-test-suite "BOOST_HAS_RVALUE_REFS" : 
-[ run ../has_rvalue_refs_pass.cpp ]
-[ compile-fail ../has_rvalue_refs_fail.cpp ] ;
-test-suite "BOOST_HAS_SCHED_YIELD" : 
-[ run ../has_sched_yield_pass.cpp ]
-[ compile-fail ../has_sched_yield_fail.cpp ] ;
-test-suite "BOOST_HAS_SGI_TYPE_TRAITS" : 
-[ run ../has_sgi_type_traits_pass.cpp ]
-[ compile-fail ../has_sgi_type_traits_fail.cpp ] ;
-test-suite "BOOST_HAS_SIGACTION" : 
-[ run ../has_sigaction_pass.cpp ]
-[ compile-fail ../has_sigaction_fail.cpp ] ;
-test-suite "BOOST_HAS_SLIST" : 
-[ run ../has_slist_pass.cpp ]
-[ compile-fail ../has_slist_fail.cpp ] ;
-test-suite "BOOST_HAS_STATIC_ASSERT" : 
-[ run ../has_static_assert_pass.cpp ]
-[ compile-fail ../has_static_assert_fail.cpp ] ;
-test-suite "BOOST_HAS_STDINT_H" : 
-[ run ../has_stdint_h_pass.cpp ]
-[ compile-fail ../has_stdint_h_fail.cpp ] ;
-test-suite "BOOST_HAS_STLP_USE_FACET" : 
-[ run ../has_stlp_use_facet_pass.cpp ]
-[ compile-fail ../has_stlp_use_facet_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_ARRAY" : 
-[ run ../has_tr1_array_pass.cpp ]
-[ compile-fail ../has_tr1_array_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_BIND" : 
-[ run ../has_tr1_bind_pass.cpp ]
-[ compile-fail ../has_tr1_bind_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_COMPLEX_OVERLOADS" : 
-[ run ../has_tr1_complex_over_pass.cpp ]
-[ compile-fail ../has_tr1_complex_over_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG" : 
-[ run ../has_tr1_complex_trig_pass.cpp ]
-[ compile-fail ../has_tr1_complex_trig_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_FUNCTION" : 
-[ run ../has_tr1_function_pass.cpp ]
-[ compile-fail ../has_tr1_function_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_HASH" : 
-[ run ../has_tr1_hash_pass.cpp ]
-[ compile-fail ../has_tr1_hash_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_MEM_FN" : 
-[ run ../has_tr1_mem_fn_pass.cpp ]
-[ compile-fail ../has_tr1_mem_fn_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_RANDOM" : 
-[ run ../has_tr1_random_pass.cpp ]
-[ compile-fail ../has_tr1_random_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_REFERENCE_WRAPPER" : 
-[ run ../has_tr1_ref_wrap_pass.cpp ]
-[ compile-fail ../has_tr1_ref_wrap_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_REGEX" : 
-[ run ../has_tr1_regex_pass.cpp ]
-[ compile-fail ../has_tr1_regex_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_RESULT_OF" : 
-[ run ../has_tr1_result_of_pass.cpp ]
-[ compile-fail ../has_tr1_result_of_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_SHARED_PTR" : 
-[ run ../has_tr1_shared_ptr_pass.cpp ]
-[ compile-fail ../has_tr1_shared_ptr_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_TUPLE" : 
-[ run ../has_tr1_tuple_pass.cpp ]
-[ compile-fail ../has_tr1_tuple_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_TYPE_TRAITS" : 
-[ run ../has_tr1_type_traits_pass.cpp ]
-[ compile-fail ../has_tr1_type_traits_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_UNORDERED_MAP" : 
-[ run ../has_tr1_unordered_map_pass.cpp ]
-[ compile-fail ../has_tr1_unordered_map_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_UNORDERED_SET" : 
-[ run ../has_tr1_unordered_set_pass.cpp ]
-[ compile-fail ../has_tr1_unordered_set_fail.cpp ] ;
-test-suite "BOOST_HAS_TR1_UTILITY" : 
-[ run ../has_tr1_utility_pass.cpp ]
-[ compile-fail ../has_tr1_utility_fail.cpp ] ;
-test-suite "BOOST_HAS_UNISTD_H" : 
-[ run ../has_unistd_h_pass.cpp ]
-[ compile-fail ../has_unistd_h_fail.cpp ] ;
-test-suite "BOOST_HAS_VARIADIC_TMPL" : 
-[ run ../has_variadic_tmpl_pass.cpp ]
-[ compile-fail ../has_variadic_tmpl_fail.cpp ] ;
-test-suite "BOOST_MSVC6_MEMBER_TEMPLATES" : 
-[ run ../has_vc6_mem_templ_pass.cpp ]
-[ compile-fail ../has_vc6_mem_templ_fail.cpp ] ;
-test-suite "BOOST_MSVC_STD_ITERATOR" : 
-[ run ../has_vc_iterator_pass.cpp ]
-[ compile-fail ../has_vc_iterator_fail.cpp ] ;
-test-suite "BOOST_HAS_WINTHREADS" : 
-[ run ../has_winthreads_pass.cpp ]
-[ compile-fail ../has_winthreads_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_ARRAY" : 
-[ run ../no_0x_hdr_array_pass.cpp ]
-[ compile-fail ../no_0x_hdr_array_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_CHRONO" : 
-[ run ../no_0x_hdr_chrono_pass.cpp ]
-[ compile-fail ../no_0x_hdr_chrono_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_CODECVT" : 
-[ run ../no_0x_hdr_codecvt_pass.cpp ]
-[ compile-fail ../no_0x_hdr_codecvt_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_CONDITION_VARIABLE" : 
-[ run ../no_0x_hdr_condition_variable_pass.cpp ]
-[ compile-fail ../no_0x_hdr_condition_variable_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_FORWARD_LIST" : 
-[ run ../no_0x_hdr_forward_list_pass.cpp ]
-[ compile-fail ../no_0x_hdr_forward_list_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_FUTURE" : 
-[ run ../no_0x_hdr_future_pass.cpp ]
-[ compile-fail ../no_0x_hdr_future_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_INITIALIZER_LIST" : 
-[ run ../no_0x_hdr_initializer_list_pass.cpp ]
-[ compile-fail ../no_0x_hdr_initializer_list_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_MUTEX" : 
-[ run ../no_0x_hdr_mutex_pass.cpp ]
-[ compile-fail ../no_0x_hdr_mutex_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_RANDOM" : 
-[ run ../no_0x_hdr_random_pass.cpp ]
-[ compile-fail ../no_0x_hdr_random_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_RATIO" : 
-[ run ../no_0x_hdr_ratio_pass.cpp ]
-[ compile-fail ../no_0x_hdr_ratio_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_REGEX" : 
-[ run ../no_0x_hdr_regex_pass.cpp ]
-[ compile-fail ../no_0x_hdr_regex_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_SYSTEM_ERROR" : 
-[ run ../no_0x_hdr_system_error_pass.cpp ]
-[ compile-fail ../no_0x_hdr_system_error_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_THREAD" : 
-[ run ../no_0x_hdr_thread_pass.cpp ]
-[ compile-fail ../no_0x_hdr_thread_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_TUPLE" : 
-[ run ../no_0x_hdr_tuple_pass.cpp ]
-[ compile-fail ../no_0x_hdr_tuple_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_TYPEINDEX" : 
-[ run ../no_0x_hdr_typeindex_pass.cpp ]
-[ compile-fail ../no_0x_hdr_typeindex_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_TYPE_TRAITS" : 
-[ run ../no_0x_hdr_type_traits_pass.cpp ]
-[ compile-fail ../no_0x_hdr_type_traits_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_UNORDERED_MAP" : 
-[ run ../no_0x_hdr_unordered_map_pass.cpp ]
-[ compile-fail ../no_0x_hdr_unordered_map_fail.cpp ] ;
-test-suite "BOOST_NO_0X_HDR_UNORDERED_SET" : 
-[ run ../no_0x_hdr_unordered_set_pass.cpp ]
-[ compile-fail ../no_0x_hdr_unordered_set_fail.cpp ] ;
-test-suite "BOOST_NO_ADL_BARRIER" : 
-[ run ../no_adl_barrier_pass.cpp ]
-[ compile-fail ../no_adl_barrier_fail.cpp ] ;
-test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" : 
-[ run ../no_arg_dep_lookup_pass.cpp ]
-[ compile-fail ../no_arg_dep_lookup_fail.cpp ] ;
-test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" : 
-[ run ../no_array_type_spec_pass.cpp ]
-[ compile-fail ../no_array_type_spec_fail.cpp ] ;
-test-suite "BOOST_NO_AUTO_DECLARATIONS" : 
-[ run ../no_auto_declarations_pass.cpp ]
-[ compile-fail ../no_auto_declarations_fail.cpp ] ;
-test-suite "BOOST_NO_AUTO_MULTIDECLARATIONS" : 
-[ run ../no_auto_multidecl_pass.cpp ]
-[ compile-fail ../no_auto_multidecl_fail.cpp ] ;
-test-suite "BOOST_NO_AUTO_PTR" : 
-[ run ../no_auto_ptr_pass.cpp ]
-[ compile-fail ../no_auto_ptr_fail.cpp ] ;
-test-suite "BOOST_BCB_PARTIAL_SPECIALIZATION_BUG" : 
-[ run ../no_bcb_partial_spec_pass.cpp ]
-[ compile-fail ../no_bcb_partial_spec_fail.cpp ] ;
-test-suite "BOOST_NO_CHAR16_T" : 
-[ run ../no_char16_t_pass.cpp ]
-[ compile-fail ../no_char16_t_fail.cpp ] ;
-test-suite "BOOST_NO_CHAR32_T" : 
-[ run ../no_char32_t_pass.cpp ]
-[ compile-fail ../no_char32_t_fail.cpp ] ;
-test-suite "BOOST_NO_COMPLETE_VALUE_INITIALIZATION" : 
-[ run ../no_com_value_init_pass.cpp ]
-[ compile-fail ../no_com_value_init_fail.cpp ] ;
-test-suite "BOOST_NO_CONSTEXPR" : 
-[ run ../no_constexpr_pass.cpp ]
-[ compile-fail ../no_constexpr_fail.cpp ] ;
-test-suite "BOOST_NO_CTYPE_FUNCTIONS" : 
-[ run ../no_ctype_functions_pass.cpp ]
-[ compile-fail ../no_ctype_functions_fail.cpp ] ;
-test-suite "BOOST_NO_CV_SPECIALIZATIONS" : 
-[ run ../no_cv_spec_pass.cpp ]
-[ compile-fail ../no_cv_spec_fail.cpp ] ;
-test-suite "BOOST_NO_CV_VOID_SPECIALIZATIONS" : 
-[ run ../no_cv_void_spec_pass.cpp ]
-[ compile-fail ../no_cv_void_spec_fail.cpp ] ;
-test-suite "BOOST_NO_CWCHAR" : 
-[ run ../no_cwchar_pass.cpp ]
-[ compile-fail ../no_cwchar_fail.cpp ] ;
-test-suite "BOOST_NO_CWCTYPE" : 
-[ run ../no_cwctype_pass.cpp ]
-[ compile-fail ../no_cwctype_fail.cpp ] ;
-test-suite "BOOST_NO_DECLTYPE" : 
-[ run ../no_decltype_pass.cpp ]
-[ compile-fail ../no_decltype_fail.cpp ] ;
-test-suite "BOOST_NO_DECLTYPE_N3276" : 
-[ run ../no_decltype_n3276_pass.cpp ]
-[ compile-fail ../no_decltype_n3276_fail.cpp ] ;
-test-suite "BOOST_DEDUCED_TYPENAME" : 
-[ run ../no_ded_typename_pass.cpp ]
-[ compile-fail ../no_ded_typename_fail.cpp ] ;
-test-suite "BOOST_NO_DEFAULTED_FUNCTIONS" : 
-[ run ../no_defaulted_functions_pass.cpp ]
-[ compile-fail ../no_defaulted_functions_fail.cpp ] ;
-test-suite "BOOST_NO_DELETED_FUNCTIONS" : 
-[ run ../no_deleted_functions_pass.cpp ]
-[ compile-fail ../no_deleted_functions_fail.cpp ] ;
-test-suite "BOOST_NO_DEPENDENT_NESTED_DERIVATIONS" : 
-[ run ../no_dep_nested_class_pass.cpp ]
-[ compile-fail ../no_dep_nested_class_fail.cpp ] ;
-test-suite "BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS" : 
-[ run ../no_dep_val_param_pass.cpp ]
-[ compile-fail ../no_dep_val_param_fail.cpp ] ;
-test-suite "BOOST_NO_EXCEPTIONS" : 
-[ run ../no_exceptions_pass.cpp ]
-[ compile-fail ../no_exceptions_fail.cpp ] ;
-test-suite "BOOST_NO_EXCEPTION_STD_NAMESPACE" : 
-[ run ../no_excep_std_pass.cpp ]
-[ compile-fail ../no_excep_std_fail.cpp ] ;
-test-suite "BOOST_NO_EXPLICIT_CONVERSION_OPERATORS" : 
-[ run ../no_explicit_cvt_ops_pass.cpp ]
-[ compile-fail ../no_explicit_cvt_ops_fail.cpp ] ;
-test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" : 
-[ run ../no_exp_func_tem_arg_pass.cpp ]
-[ compile-fail ../no_exp_func_tem_arg_fail.cpp ] ;
-test-suite "BOOST_NO_EXTERN_TEMPLATE" : 
-[ run ../no_extern_template_pass.cpp ]
-[ compile-fail ../no_extern_template_fail.cpp ] ;
-test-suite "BOOST_NO_FENV_H" : 
-[ run ../no_fenv_h_pass.cpp ]
-[ compile-fail ../no_fenv_h_fail.cpp ] ;
-test-suite "BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS" : 
-[ run ../no_function_template_default_args_pass.cpp ]
-[ compile-fail ../no_function_template_default_args_fail.cpp ] ;
-test-suite "BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS" : 
-[ run ../no_function_type_spec_pass.cpp ]
-[ compile-fail ../no_function_type_spec_fail.cpp ] ;
-test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" : 
-[ run ../no_func_tmp_order_pass.cpp ]
-[ compile-fail ../no_func_tmp_order_fail.cpp ] ;
-test-suite "BOOST_NO_MS_INT64_NUMERIC_LIMITS" : 
-[ run ../no_i64_limits_pass.cpp ]
-[ compile-fail ../no_i64_limits_fail.cpp ] ;
-test-suite "BOOST_NO_INITIALIZER_LISTS" : 
-[ run ../no_initializer_lists_pass.cpp ]
-[ compile-fail ../no_initializer_lists_fail.cpp ] ;
-test-suite "BOOST_NO_INCLASS_MEMBER_INITIALIZATION" : 
-[ run ../no_inline_memb_init_pass.cpp ]
-[ compile-fail ../no_inline_memb_init_fail.cpp ] ;
-test-suite "BOOST_NO_INTEGRAL_INT64_T" : 
-[ run ../no_integral_int64_t_pass.cpp ]
-[ compile-fail ../no_integral_int64_t_fail.cpp ] ;
-test-suite "BOOST_NO_IOSFWD" : 
-[ run ../no_iosfwd_pass.cpp ]
-[ compile-fail ../no_iosfwd_fail.cpp ] ;
-test-suite "BOOST_NO_IOSTREAM" : 
-[ run ../no_iostream_pass.cpp ]
-[ compile-fail ../no_iostream_fail.cpp ] ;
-test-suite "BOOST_NO_IS_ABSTRACT" : 
-[ run ../no_is_abstract_pass.cpp ]
-[ compile-fail ../no_is_abstract_fail.cpp ] ;
-test-suite "BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS" : 
-[ run ../no_iter_construct_pass.cpp ]
-[ compile-fail ../no_iter_construct_fail.cpp ] ;
-test-suite "BOOST_NO_LAMBDAS" : 
-[ run ../no_lambdas_pass.cpp ]
-[ compile-fail ../no_lambdas_fail.cpp ] ;
-test-suite "BOOST_NO_LIMITS" : 
-[ run ../no_limits_pass.cpp ]
-[ compile-fail ../no_limits_fail.cpp ] ;
-test-suite "BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS" : 
-[ run ../no_limits_const_exp_pass.cpp ]
-[ compile-fail ../no_limits_const_exp_fail.cpp ] ;
-test-suite "BOOST_NO_NUMERIC_LIMITS_LOWEST" : 
-[ run ../no_limits_lowest_pass.cpp ]
-[ compile-fail ../no_limits_lowest_fail.cpp ] ;
-test-suite "BOOST_NO_LONG_LONG_NUMERIC_LIMITS" : 
-[ run ../no_ll_limits_pass.cpp ]
-[ compile-fail ../no_ll_limits_fail.cpp ] ;
-test-suite "BOOST_NO_LONG_LONG" : 
-[ run ../no_long_long_pass.cpp ]
-[ compile-fail ../no_long_long_fail.cpp ] ;
-test-suite "BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS" : 
-[ run ../no_mem_func_spec_pass.cpp ]
-[ compile-fail ../no_mem_func_spec_fail.cpp ] ;
-test-suite "BOOST_NO_MEMBER_TEMPLATES" : 
-[ run ../no_mem_templates_pass.cpp ]
-[ compile-fail ../no_mem_templates_fail.cpp ] ;
-test-suite "BOOST_NO_MEMBER_TEMPLATE_FRIENDS" : 
-[ run ../no_mem_templ_frnds_pass.cpp ]
-[ compile-fail ../no_mem_templ_frnds_fail.cpp ] ;
-test-suite "BOOST_NO_MEMBER_TEMPLATE_KEYWORD" : 
-[ run ../no_mem_tem_keyword_pass.cpp ]
-[ compile-fail ../no_mem_tem_keyword_fail.cpp ] ;
-test-suite "BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS" : 
-[ run ../no_mem_tem_pnts_pass.cpp ]
-[ compile-fail ../no_mem_tem_pnts_fail.cpp ] ;
-test-suite "BOOST_NO_NESTED_FRIENDSHIP" : 
-[ run ../no_nested_friendship_pass.cpp ]
-[ compile-fail ../no_nested_friendship_fail.cpp ] ;
-test-suite "BOOST_NO_NOEXCEPT" : 
-[ run ../no_noexcept_pass.cpp ]
-[ compile-fail ../no_noexcept_fail.cpp ] ;
-test-suite "BOOST_NO_NULLPTR" : 
-[ run ../no_nullptr_pass.cpp ]
-[ compile-fail ../no_nullptr_fail.cpp ] ;
-test-suite "BOOST_NO_OPERATORS_IN_NAMESPACE" : 
-[ run ../no_ops_in_namespace_pass.cpp ]
-[ compile-fail ../no_ops_in_namespace_fail.cpp ] ;
-test-suite "BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION" : 
-[ run ../no_partial_spec_pass.cpp ]
-[ compile-fail ../no_partial_spec_fail.cpp ] ;
-test-suite "BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS" : 
-[ run ../no_part_spec_def_args_pass.cpp ]
-[ compile-fail ../no_part_spec_def_args_fail.cpp ] ;
-test-suite "BOOST_NO_PRIVATE_IN_AGGREGATE" : 
-[ run ../no_priv_aggregate_pass.cpp ]
-[ compile-fail ../no_priv_aggregate_fail.cpp ] ;
-test-suite "BOOST_NO_POINTER_TO_MEMBER_CONST" : 
-[ run ../no_ptr_mem_const_pass.cpp ]
-[ compile-fail ../no_ptr_mem_const_fail.cpp ] ;
-test-suite "BOOST_NO_RAW_LITERALS" : 
-[ run ../no_raw_literals_pass.cpp ]
-[ compile-fail ../no_raw_literals_fail.cpp ] ;
-test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" : 
-[ run ../no_ret_det_pass.cpp ]
-[ compile-fail ../no_ret_det_fail.cpp ] ;
-test-suite "BOOST_NO_RTTI" : 
-[ run ../no_rtti_pass.cpp ]
-[ compile-fail ../no_rtti_fail.cpp ] ;
-test-suite "BOOST_NO_RVALUE_REFERENCES" : 
-[ run ../no_rvalue_references_pass.cpp ]
-[ compile-fail ../no_rvalue_references_fail.cpp ] ;
-test-suite "BOOST_NO_SCOPED_ENUMS" : 
-[ run ../no_scoped_enums_pass.cpp ]
-[ compile-fail ../no_scoped_enums_fail.cpp ] ;
-test-suite "BOOST_NO_SFINAE" : 
-[ run ../no_sfinae_pass.cpp ]
-[ compile-fail ../no_sfinae_fail.cpp ] ;
-test-suite "BOOST_NO_SFINAE_EXPR" : 
-[ run ../no_sfinae_expr_pass.cpp ]
-[ compile-fail ../no_sfinae_expr_fail.cpp ] ;
-test-suite "BOOST_NO_STRINGSTREAM" : 
-[ run ../no_sstream_pass.cpp ]
-[ compile-fail ../no_sstream_fail.cpp ] ;
-test-suite "BOOST_NO_STATIC_ASSERT" : 
-[ run ../no_static_assert_pass.cpp ]
-[ compile-fail ../no_static_assert_fail.cpp ] ;
-test-suite "BOOST_NO_STDC_NAMESPACE" : 
-[ run ../no_stdc_namespace_pass.cpp ]
-[ compile-fail ../no_stdc_namespace_fail.cpp ] ;
-test-suite "BOOST_NO_STD_ALLOCATOR" : 
-[ run ../no_std_allocator_pass.cpp ]
-[ compile-fail ../no_std_allocator_fail.cpp ] ;
-test-suite "BOOST_NO_STD_DISTANCE" : 
-[ run ../no_std_distance_pass.cpp ]
-[ compile-fail ../no_std_distance_fail.cpp ] ;
-test-suite "BOOST_NO_STD_ITERATOR" : 
-[ run ../no_std_iterator_pass.cpp ]
-[ compile-fail ../no_std_iterator_fail.cpp ] ;
-test-suite "BOOST_NO_STD_ITERATOR_TRAITS" : 
-[ run ../no_std_iter_traits_pass.cpp ]
-[ compile-fail ../no_std_iter_traits_fail.cpp ] ;
-test-suite "BOOST_NO_STD_LOCALE" : 
-[ run ../no_std_locale_pass.cpp ]
-[ compile-fail ../no_std_locale_fail.cpp ] ;
-test-suite "BOOST_NO_STD_MESSAGES" : 
-[ run ../no_std_messages_pass.cpp ]
-[ compile-fail ../no_std_messages_fail.cpp ] ;
-test-suite "BOOST_NO_STD_MIN_MAX" : 
-[ run ../no_std_min_max_pass.cpp ]
-[ compile-fail ../no_std_min_max_fail.cpp ] ;
-test-suite "BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN" : 
-[ run ../no_std_oi_assign_pass.cpp ]
-[ compile-fail ../no_std_oi_assign_fail.cpp ] ;
-test-suite "BOOST_NO_STD_TYPEINFO" : 
-[ run ../no_std_typeinfo_pass.cpp ]
-[ compile-fail ../no_std_typeinfo_fail.cpp ] ;
-test-suite "BOOST_NO_STD_UNORDERED" : 
-[ run ../no_std_unordered_pass.cpp ]
-[ compile-fail ../no_std_unordered_fail.cpp ] ;
-test-suite "BOOST_NO_STD_USE_FACET" : 
-[ run ../no_std_use_facet_pass.cpp ]
-[ compile-fail ../no_std_use_facet_fail.cpp ] ;
-test-suite "BOOST_NO_STD_WSTREAMBUF" : 
-[ run ../no_std_wstreambuf_pass.cpp ]
-[ compile-fail ../no_std_wstreambuf_fail.cpp ] ;
-test-suite "BOOST_NO_STD_WSTRING" : 
-[ run ../no_std_wstring_pass.cpp ]
-[ compile-fail ../no_std_wstring_fail.cpp ] ;
-test-suite "BOOST_NO_SWPRINTF" : 
-[ run ../no_swprintf_pass.cpp ]
-[ compile-fail ../no_swprintf_fail.cpp ] ;
-test-suite "BOOST_NO_TEMPLATE_ALIASES" : 
-[ run ../no_template_aliases_pass.cpp ]
-[ compile-fail ../no_template_aliases_fail.cpp ] ;
-test-suite "BOOST_NO_TEMPLATED_IOSTREAMS" : 
-[ run ../no_template_streams_pass.cpp ]
-[ compile-fail ../no_template_streams_fail.cpp ] ;
-test-suite "BOOST_NO_TEMPLATE_TEMPLATES" : 
-[ run ../no_template_template_pass.cpp ]
-[ compile-fail ../no_template_template_fail.cpp ] ;
-test-suite "BOOST_NO_TWO_PHASE_NAME_LOOKUP" : 
-[ run ../no_two_phase_lookup_pass.cpp ]
-[ compile-fail ../no_two_phase_lookup_fail.cpp ] ;
-test-suite "BOOST_NO_TYPEID" : 
-[ run ../no_typeid_pass.cpp ]
-[ compile-fail ../no_typeid_fail.cpp ] ;
-test-suite "BOOST_NO_TYPENAME_WITH_CTOR" : 
-[ run ../no_typename_with_ctor_pass.cpp ]
-[ compile-fail ../no_typename_with_ctor_fail.cpp ] ;
-test-suite "BOOST_NO_UNICODE_LITERALS" : 
-[ run ../no_unicode_literals_pass.cpp ]
-[ compile-fail ../no_unicode_literals_fail.cpp ] ;
-test-suite "BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX" : 
-[ run ../no_unified_init_pass.cpp ]
-[ compile-fail ../no_unified_init_fail.cpp ] ;
-test-suite "BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL" : 
-[ run ../no_using_breaks_adl_pass.cpp ]
-[ compile-fail ../no_using_breaks_adl_fail.cpp ] ;
-test-suite "BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE" : 
-[ run ../no_using_decl_overld_pass.cpp ]
-[ compile-fail ../no_using_decl_overld_fail.cpp ] ;
-test-suite "BOOST_NO_USING_TEMPLATE" : 
-[ run ../no_using_template_pass.cpp ]
-[ compile-fail ../no_using_template_fail.cpp ] ;
-test-suite "BOOST_NO_VARIADIC_MACROS" : 
-[ run ../no_variadic_macros_pass.cpp ]
-[ compile-fail ../no_variadic_macros_fail.cpp ] ;
-test-suite "BOOST_NO_VARIADIC_TEMPLATES" : 
-[ run ../no_variadic_templates_pass.cpp ]
-[ compile-fail ../no_variadic_templates_fail.cpp ] ;
-test-suite "BOOST_NO_VOID_RETURNS" : 
-[ run ../no_void_returns_pass.cpp ]
-[ compile-fail ../no_void_returns_fail.cpp ] ;
-test-suite "BOOST_NO_INTRINSIC_WCHAR_T" : 
-[ run ../no_wchar_t_pass.cpp ]
-[ compile-fail ../no_wchar_t_fail.cpp ] ;
-
diff --git a/SRC/Boost/libs/config/test/all/options_v2.jam b/SRC/Boost/libs/config/test/all/options_v2.jam
deleted file mode 100755
index c327625..0000000
--- a/SRC/Boost/libs/config/test/all/options_v2.jam
+++ /dev/null
@@ -1,12 +0,0 @@
-# copyright John Maddock 2003
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-project
-    : requirements 
-     # threading tests require thread support turned on:
-     <threading>multi
-   ;
-   
-local test-requirements = <library>../../test/build//boost_test_exec_monitor  ;
diff --git a/SRC/Boost/libs/config/test/boost_has_2arg_use_facet.ipp b/SRC/Boost/libs/config/test/boost_has_2arg_use_facet.ipp
deleted file mode 100755
index ad5e6d4..0000000
--- a/SRC/Boost/libs/config/test/boost_has_2arg_use_facet.ipp
+++ /dev/null
@@ -1,32 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TWO_ARG_USE_FACET
-//  TITLE:         two argument version of use_facet
-//  DESCRIPTION:   The standard library lacks a conforming std::use_facet,
-//                 but has a two argument version that does the job.
-//                 This is primarily for the Rogue Wave std lib.
-
-#include <locale>
-
-
-namespace boost_has_two_arg_use_facet{
-
-int test()
-{
-   std::locale l;
-   const std::ctype<char>& ct = std::use_facet(l, (std::ctype<char>*)0);
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_bethreads.ipp b/SRC/Boost/libs/config/test/boost_has_bethreads.ipp
deleted file mode 100755
index 4a6abb1..0000000
--- a/SRC/Boost/libs/config/test/boost_has_bethreads.ipp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_BETHREADS
-//  TITLE:         BeOS Threads
-//  DESCRIPTION:   The platform supports BeOS style threads.
-
-#include <OS.h>
-
-
-namespace boost_has_bethreads{
-
-int test()
-{
-   sem_id mut = create_sem(1, "test");
-   if(mut > 0)
-   {
-      acquire_sem(mut);
-      release_sem(mut);
-      delete_sem(mut);
-   }
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_clock_gettime.ipp b/SRC/Boost/libs/config/test/boost_has_clock_gettime.ipp
deleted file mode 100755
index 529b377..0000000
--- a/SRC/Boost/libs/config/test/boost_has_clock_gettime.ipp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_CLOCK_GETTIME
-//  TITLE:         clock_gettime
-//  DESCRIPTION:   The platform supports POSIX standard API clock_gettime.
-
-#include <time.h>
-
-
-namespace boost_has_clock_gettime{
-
-void f()
-{
-    // this is never called, it just has to compile:
-    timespec tp;
-    int res = clock_gettime(CLOCK_REALTIME, &tp);
-    (void) &res;
-}
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_dirent_h.ipp b/SRC/Boost/libs/config/test/boost_has_dirent_h.ipp
deleted file mode 100755
index 115c87c..0000000
--- a/SRC/Boost/libs/config/test/boost_has_dirent_h.ipp
+++ /dev/null
@@ -1,30 +0,0 @@
-//  (C) Copyright John Maddock 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_DIRENT_H
-//  TITLE:         <dirent.h>
-//  DESCRIPTION:   The platform has an <dirent.h>.
-
-#include <dirent.h>
-
-
-namespace boost_has_dirent_h{
-
-int test()
-{
-   DIR* pd = opendir("foobar");
-   if(pd) closedir(pd);
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_expm1.ipp b/SRC/Boost/libs/config/test/boost_has_expm1.ipp
deleted file mode 100755
index 1f0573e..0000000
--- a/SRC/Boost/libs/config/test/boost_has_expm1.ipp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_EXPM1
-//  TITLE:         expm1
-//  DESCRIPTION:   The std lib has a C99-conforming expm1 function.
-
-#include <math.h>
-
-namespace boost_has_expm1{
-
-int test()
-{
-   double x = 0.5;
-   x = ::expm1(x);
-   (void)x;
-   return 0;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_has_ftime.ipp b/SRC/Boost/libs/config/test/boost_has_ftime.ipp
deleted file mode 100755
index 2569dbe..0000000
--- a/SRC/Boost/libs/config/test/boost_has_ftime.ipp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_FTIME
-//  TITLE:         The platform has FTIME.
-//  DESCRIPTION:   The platform supports the Win32 API type FTIME.
-
-#include <windows.h>
-
-
-namespace boost_has_ftime{
-
-void f()
-{
-    // this is never called, it just has to compile:
-   FILETIME ft;
-}
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_getsystemtimeasfiletime.ipp b/SRC/Boost/libs/config/test/boost_has_getsystemtimeasfiletime.ipp
deleted file mode 100755
index 0b01daa..0000000
--- a/SRC/Boost/libs/config/test/boost_has_getsystemtimeasfiletime.ipp
+++ /dev/null
@@ -1,30 +0,0 @@
-//  (C) Copyright John Maddock 2011. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_GETSYSTEMTIMEASFILETIME
-//  TITLE:         GetSystemTimeAsFileTime
-//  DESCRIPTION:   The platform supports Win32 API GetSystemTimeAsFileTime.
-
-#include <windows.h>
-
-
-namespace boost_has_getsystemtimeasfiletime{
-
-void f()
-{
-    // this is never called, it just has to compile:
-   FILETIME ft;
-   GetSystemTimeAsFileTime(&ft);
-}
-
-int test()
-{
-   return 0;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_has_gettimeofday.ipp b/SRC/Boost/libs/config/test/boost_has_gettimeofday.ipp
deleted file mode 100755
index e542e8d..0000000
--- a/SRC/Boost/libs/config/test/boost_has_gettimeofday.ipp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_GETTIMEOFDAY
-//  TITLE:         gettimeofday
-//  DESCRIPTION:   The platform supports POSIX standard API gettimeofday.
-
-#include <sys/time.h>
-
-
-namespace boost_has_gettimeofday{
-
-void f()
-{
-    // this is never called, it just has to compile:
-    timeval tp;
-    int res = gettimeofday(&tp, 0);
-    (void) &res;
-}
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_hash.ipp b/SRC/Boost/libs/config/test/boost_has_hash.ipp
deleted file mode 100755
index ada9a64..0000000
--- a/SRC/Boost/libs/config/test/boost_has_hash.ipp
+++ /dev/null
@@ -1,67 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_HASH
-//  TITLE:         <hashset> and <hashmap>
-//  DESCRIPTION:   The C++ implementation provides the (SGI) hash_set
-//                 or hash_map classes.
-
-#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
-#  ifdef BOOST_NO_STD_UNORDERED
-#    define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
-#    include <ext/hash_set>
-#    include <ext/hash_map>
-#  else
-     // If we have BOOST_NO_STD_UNORDERED *not* defined, then we must 
-     // not include the <ext/*> headers as they clash with the C++0x
-     // headers.  ie in any given translation unit we can include one
-     // or the other, but not both.
-#    define DISABLE_BOOST_HAS_HASH_TEST
-#  endif
-#else
-#include <hash_set>
-#include <hash_map>
-#endif
-
-#ifndef BOOST_STD_EXTENSION_NAMESPACE
-#define BOOST_STD_EXTENSION_NAMESPACE std
-#endif
-
-namespace boost_has_hash{
-
-#ifndef DISABLE_BOOST_HAS_HASH_TEST
-
-template <class Key, class Eq, class Hash, class Alloc>
-void foo(const BOOST_STD_EXTENSION_NAMESPACE::hash_set<Key,Eq,Hash,Alloc>& )
-{
-}
-
-template <class Key, class T, class Eq, class Hash, class Alloc>
-void foo(const BOOST_STD_EXTENSION_NAMESPACE::hash_map<Key,T,Eq,Hash,Alloc>& )
-{
-}
-
-#endif
-
-int test()
-{
-#ifndef DISABLE_BOOST_HAS_HASH_TEST
-   BOOST_STD_EXTENSION_NAMESPACE::hash_set<int> hs;
-   foo(hs);
-   BOOST_STD_EXTENSION_NAMESPACE::hash_map<int, long> hm;
-   foo(hm);
-#endif
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_log1p.ipp b/SRC/Boost/libs/config/test/boost_has_log1p.ipp
deleted file mode 100755
index 1d6f5c8..0000000
--- a/SRC/Boost/libs/config/test/boost_has_log1p.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_LOG1P
-//  TITLE:         log1p
-//  DESCRIPTION:   The std lib has a C99-conforming log1p function.
-
-#include <math.h>
-
-namespace boost_has_log1p{
-
-int test()
-{
-   double x = 0.5;
-   x = ::log1p(x);
-   (void)x;
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_long_long.ipp b/SRC/Boost/libs/config/test/boost_has_long_long.ipp
deleted file mode 100755
index 8bb988c..0000000
--- a/SRC/Boost/libs/config/test/boost_has_long_long.ipp
+++ /dev/null
@@ -1,36 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_LONG_LONG
-//  TITLE:         long long
-//  DESCRIPTION:   The platform supports long long.
-
-#include <cstdlib>
-
-
-namespace boost_has_long_long{
-
-int test()
-{
-#ifdef __GNUC__
-   __extension__ long long lli = 0LL;
-   __extension__ unsigned long long ulli = 0uLL;
-#else
-   long long lli = 0LL;
-   unsigned long long ulli = 0uLL;
-#endif
-   (void)&lli;
-   (void)&ulli;
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_macro_use_facet.ipp b/SRC/Boost/libs/config/test/boost_has_macro_use_facet.ipp
deleted file mode 100755
index f705052..0000000
--- a/SRC/Boost/libs/config/test/boost_has_macro_use_facet.ipp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_MACRO_USE_FACET
-//  TITLE:         macro version of use_facet: _USE
-//  DESCRIPTION:   The standard library lacks a conforming std::use_facet,
-//                 but has a macro _USE(loc, Type) that does the job.
-//                 This is primarily for the Dinkumware std lib.
-
-#include <locale>
-
-#ifndef _USE
-#error "macro _USE not defined"
-#endif
-
-namespace boost_has_macro_use_facet{
-
-int test()
-{
-   std::locale l;
-   const std::ctype<char>& ct = std::_USE(l, std::ctype<char>);
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_ms_int64.ipp b/SRC/Boost/libs/config/test/boost_has_ms_int64.ipp
deleted file mode 100755
index 521621d..0000000
--- a/SRC/Boost/libs/config/test/boost_has_ms_int64.ipp
+++ /dev/null
@@ -1,32 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_MS_INT64
-//  TITLE:         __int64
-//  DESCRIPTION:   The platform supports Microsoft style __int64.
-
-#include <cstdlib>
-
-
-namespace boost_has_ms_int64{
-
-int test()
-{
-   __int64 lli = 0i64;
-   unsigned __int64 ulli = 0ui64;
-   (void)lli;
-   (void)ulli;
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_nanosleep.ipp b/SRC/Boost/libs/config/test/boost_has_nanosleep.ipp
deleted file mode 100755
index 58f4860..0000000
--- a/SRC/Boost/libs/config/test/boost_has_nanosleep.ipp
+++ /dev/null
@@ -1,36 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_NANOSLEEP
-//  TITLE:         nanosleep
-//  DESCRIPTION:   The platform supports POSIX API nanosleep.
-
-#include <time.h>
-
-
-namespace boost_has_nanosleep{
-
-void f()
-{
-    // this is never called, it just has to compile:
-    timespec ts = {0, 0};
-    timespec rm;
-    int res = nanosleep(&ts, &rm);
-    (void) &res;
-}
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_nl_types_h.ipp b/SRC/Boost/libs/config/test/boost_has_nl_types_h.ipp
deleted file mode 100755
index f22fa06..0000000
--- a/SRC/Boost/libs/config/test/boost_has_nl_types_h.ipp
+++ /dev/null
@@ -1,29 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_NL_TYPES_H
-//  TITLE:         <nl_types.h>
-//  DESCRIPTION:   The platform has an <nl_types.h>.
-
-#include <nl_types.h>
-
-
-namespace boost_has_nl_types_h{
-
-int test()
-{
-   nl_catd cat = catopen("foo", 0);
-   if(cat >= 0) catclose(cat);
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_nrvo.ipp b/SRC/Boost/libs/config/test/boost_has_nrvo.ipp
deleted file mode 100755
index 4bb5061..0000000
--- a/SRC/Boost/libs/config/test/boost_has_nrvo.ipp
+++ /dev/null
@@ -1,57 +0,0 @@
-//  (C) Copyright Terje Slettebo 2001.
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_NRVO
-//  TITLE:         Named return value optimisation.
-//  DESCRIPTION:   Named return value optimisation.
-
-
-namespace boost_has_nrvo
-{
-
-class test_class
-{
-public:
-  test_class() {}
-  test_class(const test_class &other)
-  {
-    ++copy_count;
-  }
-
-  static int copy_count;
-};
-
-int test_class::copy_count;
-
-test_class f()
-{
-  test_class nrv;
-
-  return nrv;
-}
-
-int test()
-{
-  test_class::copy_count=0;
-
-  f();
-
-  return test_class::copy_count;
-}
-
-} // namespace boost_has_nrvo
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_part_alloc.ipp b/SRC/Boost/libs/config/test/boost_has_part_alloc.ipp
deleted file mode 100755
index 0b45530..0000000
--- a/SRC/Boost/libs/config/test/boost_has_part_alloc.ipp
+++ /dev/null
@@ -1,62 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_PARTIAL_STD_ALLOCATOR
-//  TITLE:         limited std::allocator support
-//  DESCRIPTION:   The std lib has at least some kind of stanfard allocator
-//                 with allocate/deallocate members and probably not much more.
-
-#include <memory>
-
-namespace boost_has_partial_std_allocator{
-
-//
-// test everything except rebind template members:
-//
-
-template <class T>
-int test_allocator(const T& i)
-{
-   typedef std::allocator<int> alloc1_t;
-   typedef typename alloc1_t::size_type           size_type;
-   typedef typename alloc1_t::difference_type     difference_type;
-   typedef typename alloc1_t::pointer             pointer;
-   typedef typename alloc1_t::const_pointer       const_pointer;
-   typedef typename alloc1_t::reference           reference;
-   typedef typename alloc1_t::const_reference     const_reference;
-   typedef typename alloc1_t::value_type          value_type;
-
-   alloc1_t a1;
-
-   pointer p = a1.allocate(1);
-   const_pointer cp = p;
-   a1.construct(p,i);
-   size_type s = a1.max_size();
-   (void)s;
-   reference r = *p;
-   const_reference cr = *cp;
-   if(p != a1.address(r)) return -1;
-   if(cp != a1.address(cr)) return -1;
-   a1.destroy(p);
-   a1.deallocate(p,1);
-
-   return 0;
-}
-
-
-int test()
-{
-   return test_allocator(0);
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_pthread_delay_np.ipp b/SRC/Boost/libs/config/test/boost_has_pthread_delay_np.ipp
deleted file mode 100755
index 2808187..0000000
--- a/SRC/Boost/libs/config/test/boost_has_pthread_delay_np.ipp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_PTHREAD_DELAY_NP
-//  TITLE:         pthread_delay_np
-//  DESCRIPTION:   The platform supports non-standard pthread_delay_np API.
-
-#include <pthread.h>
-#include <time.h>
-
-
-namespace boost_has_pthread_delay_np{
-
-void f()
-{
-    // this is never called, it just has to compile:
-    timespec ts;
-    int res = pthread_delay_np(&ts);
-}
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_pthread_ma_st.ipp b/SRC/Boost/libs/config/test/boost_has_pthread_ma_st.ipp
deleted file mode 100755
index 612f03d..0000000
--- a/SRC/Boost/libs/config/test/boost_has_pthread_ma_st.ipp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-//  TITLE:         pthread_mutexattr_settype
-//  DESCRIPTION:   The platform supports POSIX API pthread_mutexattr_settype.
-
-#include <pthread.h>
-
-
-namespace boost_has_pthread_mutexattr_settype{
-
-void f()
-{
-    // this is never called, it just has to compile:
-    pthread_mutexattr_t attr;
-    pthread_mutexattr_init(&attr);
-    int type = 0;
-    pthread_mutexattr_settype(&attr, type);
-}
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_pthread_yield.ipp b/SRC/Boost/libs/config/test/boost_has_pthread_yield.ipp
deleted file mode 100755
index e52845f..0000000
--- a/SRC/Boost/libs/config/test/boost_has_pthread_yield.ipp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_PTHREAD_YIELD
-//  TITLE:         pthread_yield
-//  DESCRIPTION:   The platform supports non standard API pthread_yield.
-
-#include <pthread.h>
-
-
-namespace boost_has_pthread_yield{
-
-void f()
-{
-    // this is never called, it just has to compile:
-    int res = pthread_yield();
-}
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_pthreads.ipp b/SRC/Boost/libs/config/test/boost_has_pthreads.ipp
deleted file mode 100755
index 6cf56da..0000000
--- a/SRC/Boost/libs/config/test/boost_has_pthreads.ipp
+++ /dev/null
@@ -1,64 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_PTHREADS
-//  TITLE:         POSIX Threads
-//  DESCRIPTION:   The platform supports POSIX style threads.
-
-#include <pthread.h>
-
-
-namespace boost_has_pthreads{
-
-extern "C" void* thread_proc(void* arg)
-{
-   return arg;
-}
-
-int test()
-{
-   pthread_mutex_t mut;
-   int result = pthread_mutex_init(&mut, 0);
-   if(0 == result)
-   {
-      //
-      // Failure to be able to create and use a mutex
-      // is always a failure, even if the pthread
-      // library is just a non-functioning stub.
-      //
-      result |= pthread_mutex_lock(&mut);
-      result |= pthread_mutex_unlock(&mut);
-      result |= pthread_mutex_trylock(&mut);
-      result |= pthread_mutex_unlock(&mut);
-      result |= pthread_mutex_destroy(&mut);
-      //
-      // Try and create a thread, this is allowed
-      // to fail, in case we are linking to a pthread
-      // "stub" library.
-      //
-      pthread_t t;
-      int r = pthread_create(&t, 0, &thread_proc, 0);
-      // result |= r;
-      if(r == 0)
-      {
-         //
-         // If we can create a thread, then we must be able to join to it:
-         //
-         void* arg;
-         r = pthread_join(t, &arg);
-         result |= r;
-      }
-   }
-   return result;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_rvalue_refs.ipp b/SRC/Boost/libs/config/test/boost_has_rvalue_refs.ipp
deleted file mode 100755
index 71b82e7..0000000
--- a/SRC/Boost/libs/config/test/boost_has_rvalue_refs.ipp
+++ /dev/null
@@ -1,26 +0,0 @@
-//  Copyright (C) 2007 Douglas Gregor
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_RVALUE_REFS
-//  TITLE:         rvalue references
-//  DESCRIPTION:   The compiler supports C++0x rvalue references
-
-namespace boost_has_rvalue_refs {
-
-void g(int&) {}
-
-template<typename F, typename T>
-void forward(F f, T&& t) { f(static_cast<T&&>(t)); }
-
-int test()
-{
-   int x;
-   forward(g, x);
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_sched_yield.ipp b/SRC/Boost/libs/config/test/boost_has_sched_yield.ipp
deleted file mode 100755
index 1dbb100..0000000
--- a/SRC/Boost/libs/config/test/boost_has_sched_yield.ipp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_SCHED_YIELD
-//  TITLE:         sched_yield
-//  DESCRIPTION:   The platform supports POSIX standard API sched_yield.
-
-#include <pthread.h>
-
-
-namespace boost_has_sched_yield{
-
-void f()
-{
-    // this is never called, it just has to compile:
-    int res = sched_yield();
-    (void) &res;
-}
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_sgi_type_traits.ipp b/SRC/Boost/libs/config/test/boost_has_sgi_type_traits.ipp
deleted file mode 100755
index c76f21c..0000000
--- a/SRC/Boost/libs/config/test/boost_has_sgi_type_traits.ipp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_SGI_TYPE_TRAITS
-//  TITLE:         SGI style <type_traits.h>
-//  DESCRIPTION:   The standard library has it's own type_traits implementation.
-
-#include <type_traits.h>
-
-
-namespace boost_has_sgi_type_traits{
-
-struct foo_type{};
-
-int test()
-{
-   ::__true_type t;
-   ::__false_type f;
-   typedef ::__type_traits<int>::has_trivial_destructor td;
-   typedef ::__type_traits<double>::has_trivial_assignment_operator ta;
-   typedef ::__type_traits<float>::has_trivial_copy_constructor tc;
-   typedef ::__type_traits<char>::has_trivial_default_constructor tdc;
-   typedef ::__type_traits<foo_type>::is_POD_type isp;
-
-   (void) &t;   // avoid "unused variable" warnings
-   (void) &f;
-
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_sigaction.ipp b/SRC/Boost/libs/config/test/boost_has_sigaction.ipp
deleted file mode 100755
index 10111ad..0000000
--- a/SRC/Boost/libs/config/test/boost_has_sigaction.ipp
+++ /dev/null
@@ -1,36 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_SIGACTION
-//  TITLE:         sigaction
-//  DESCRIPTION:   The platform supports POSIX standard API sigaction.
-
-#include <signal.h>
-
-
-namespace boost_has_sigaction{
-
-void f()
-{
-    // this is never called, it just has to compile:
-    struct sigaction* sa1 = 0 ;
-    struct sigaction* sa2 = 0 ;
-    int res = sigaction(0, sa1, sa2);
-    (void) &res;
-}
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_slist.ipp b/SRC/Boost/libs/config/test/boost_has_slist.ipp
deleted file mode 100755
index 153ebf6..0000000
--- a/SRC/Boost/libs/config/test/boost_has_slist.ipp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_SLIST
-//  TITLE:         <slist>
-//  DESCRIPTION:   The C++ implementation provides the (SGI) slist class.
-
-#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
-#  define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
-#include <ext/slist>
-#else
-#include <slist>
-#endif
-
-#ifndef BOOST_STD_EXTENSION_NAMESPACE
-#define BOOST_STD_EXTENSION_NAMESPACE std
-#endif
-
-namespace boost_has_slist{
-
-template <class T, class Alloc>
-void foo(const BOOST_STD_EXTENSION_NAMESPACE::slist<T,Alloc>& )
-{
-}
-
-
-int test()
-{
-   BOOST_STD_EXTENSION_NAMESPACE::slist<int> l;
-   foo(l);
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_static_assert.ipp b/SRC/Boost/libs/config/test/boost_has_static_assert.ipp
deleted file mode 100755
index 00ab08a..0000000
--- a/SRC/Boost/libs/config/test/boost_has_static_assert.ipp
+++ /dev/null
@@ -1,20 +0,0 @@
-//  Copyright (C) 2007 Douglas Gregor
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_STATIC_ASSERT
-//  TITLE:         static assertions
-//  DESCRIPTION:   The compiler supports C++0x static assertions
-
-namespace boost_has_static_assert {
-
-int test()
-{
-   static_assert(true, "OK");
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_stdint_h.ipp b/SRC/Boost/libs/config/test/boost_has_stdint_h.ipp
deleted file mode 100755
index 3171a9f..0000000
--- a/SRC/Boost/libs/config/test/boost_has_stdint_h.ipp
+++ /dev/null
@@ -1,48 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_STDINT_H
-//  TITLE:         stdint.h
-//  DESCRIPTION:   There are no 1998 C++ Standard headers <stdint.h> 
-//                 or <cstdint>, although the 1999 C Standard does
-//                 include <stdint.h>.
-//                 If <stdint.h> is present, <boost/stdint.h> can make
-//                 good use of it, so a flag is supplied (signalling
-//                 presence; thus the default is not present, conforming
-//                 to the current C++ standard).
-
-# if defined(__hpux) || defined(__FreeBSD__) || defined(__IBMCPP__)
-#   include <inttypes.h>
-# else
-#   include <stdint.h>
-# endif
-
-namespace boost_has_stdint_h{
-
-int test()
-{
-   int8_t i = 0;
-#ifndef __QNX__
-   // QNX has these under non-standard names, our cstdint.hpp will find them however:
-   int_fast8_t j = 0;
-   int_least8_t k = 0;
-   (void)j;
-   (void)k;
-#endif
-   (void)i;
-
-   return 0;
-}
-
-}
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_stlp_use_facet.ipp b/SRC/Boost/libs/config/test/boost_has_stlp_use_facet.ipp
deleted file mode 100755
index e9fa228..0000000
--- a/SRC/Boost/libs/config/test/boost_has_stlp_use_facet.ipp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_STLP_USE_FACET
-//  TITLE:         STLport version of use_facet
-//  DESCRIPTION:   The standard library lacks a conforming std::use_facet,
-//                 but has a workaound class-version that does the job.
-//                 This is primarily for the STLport std lib.
-
-#include <locale>
-
-
-namespace boost_has_stlp_use_facet{
-
-int test()
-{
-   std::locale l;
-   const std::ctype<char>& ct = *std::_Use_facet<std::ctype<char> >(l);
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_array.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_array.ipp
deleted file mode 100755
index 2b9ab42..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_array.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_ARRAY
-//  TITLE:         std::tr1::array
-//  DESCRIPTION:   The std lib has a tr1-conforming array library.
-
-#include <array>
-
-namespace boost_has_tr1_array{
-
-using std::tr1::array;
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_bind.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_bind.ipp
deleted file mode 100755
index 3106e99..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_bind.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_BIND
-//  TITLE:         std::tr1::bind
-//  DESCRIPTION:   The std lib has a tr1-conforming bind template function.
-
-#include <functional>
-
-namespace boost_has_tr1_bind{
-
-using std::tr1::bind;
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_complex_over.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_complex_over.ipp
deleted file mode 100755
index 8b6b58a..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_complex_over.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_COMPLEX_OVERLOADS
-//  TITLE:         std::complex overloads
-//  DESCRIPTION:   The std lib has a tr1-conforming set of std::complex overloads.
-
-#include <complex>
-
-namespace boost_has_tr1_complex_overloads{
-
-
-int test()
-{
-   std::arg(0);
-   std::conj(0.0);   
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_complex_trig.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_complex_trig.ipp
deleted file mode 100755
index 7a97b01..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_complex_trig.ipp
+++ /dev/null
@@ -1,30 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-//  TITLE:         std::complex inverse trig functions
-//  DESCRIPTION:   The std lib has a tr1-conforming set of std::complex inverse trig functions.
-
-#include <complex>
-
-namespace boost_has_tr1_complex_inverse_trig{
-
-
-int test()
-{
-   std::complex<double> cd;
-   std::asin(cd);
-   std::acos(cd);
-   std::atan(cd);   
-   std::asinh(cd);
-   std::acosh(cd);
-   std::atanh(cd); 
-   std::fabs(cd);  
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_function.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_function.ipp
deleted file mode 100755
index b08a1ee..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_function.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_FUNCTION
-//  TITLE:         std::tr1::function
-//  DESCRIPTION:   The std lib has a tr1-conforming function template class.
-
-#include <functional>
-
-namespace boost_has_tr1_function{
-
-using std::tr1::function;
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_hash.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_hash.ipp
deleted file mode 100755
index f9b93e0..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_hash.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_HASH
-//  TITLE:         std::tr1::hash
-//  DESCRIPTION:   The std lib has a tr1-conforming hash function library.
-
-#include <functional>
-
-namespace boost_has_tr1_hash{
-
-using std::tr1::hash;
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_mem_fn.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_mem_fn.ipp
deleted file mode 100755
index a3f1d62..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_mem_fn.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_MEM_FN
-//  TITLE:         std::tr1::mem_fn
-//  DESCRIPTION:   The std lib has a tr1-conforming mem_fn template function.
-
-#include <functional>
-
-namespace boost_has_tr1_mem_fn{
-
-using std::tr1::mem_fn;
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_random.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_random.ipp
deleted file mode 100755
index 980ef2b..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_random.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_RANDOM
-//  TITLE:         std::tr1::random
-//  DESCRIPTION:   The std lib has a tr1-conforming random numer library.
-
-#include <random>
-
-namespace boost_has_tr1_random{
-
-using std::tr1::variate_generator;
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_ref_wrap.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_ref_wrap.ipp
deleted file mode 100755
index 10546e1..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_ref_wrap.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_REFERENCE_WRAPPER
-//  TITLE:         std::tr1::reference_wrapper
-//  DESCRIPTION:   The std lib has a tr1-conforming reference_wrapper.
-
-#include <functional>
-
-namespace boost_has_tr1_reference_wrapper{
-
-int test()
-{
-   int i;
-   std::tr1::reference_wrapper<int> r = std::tr1::ref(i);
-   (void)r;
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_regex.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_regex.ipp
deleted file mode 100755
index adb4f42..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_regex.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_REGEX
-//  TITLE:         std::tr1::regex
-//  DESCRIPTION:   The std lib has a tr1-conforming regex library.
-
-#include <regex>
-
-namespace boost_has_tr1_regex{
-
-using std::tr1::regex;
-
-int test()
-{
-   return 0;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_result_of.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_result_of.ipp
deleted file mode 100755
index 6d4dd9a..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_result_of.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_RESULT_OF
-//  TITLE:         std::tr1::result_of
-//  DESCRIPTION:   The std lib has a tr1-conforming result_of template.
-
-#include <functional>
-
-namespace boost_has_tr1_result_of{
-
-typedef std::tr1::result_of<int*(int)> r;
-typedef r::type rr;
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_shared_ptr.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_shared_ptr.ipp
deleted file mode 100755
index 117ecd2..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_shared_ptr.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_SHARED_PTR
-//  TITLE:         std::tr1::shared_ptr
-//  DESCRIPTION:   The std lib has a tr1-conforming shrared_ptr.
-
-#include <memory>
-
-namespace boost_has_tr1_shared_ptr{
-
-int test()
-{
-   int i;
-   std::tr1::shared_ptr<int> r(new int());
-   (void)r;
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_tuple.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_tuple.ipp
deleted file mode 100755
index cbda7d8..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_tuple.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_TUPLE
-//  TITLE:         std::tr1::tuple
-//  DESCRIPTION:   The std lib has a tr1-conforming tuple library.
-
-#include <tuple>
-
-namespace boost_has_tr1_tuple{
-
-using std::tr1::tuple;
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_type_traits.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_type_traits.ipp
deleted file mode 100755
index a646a6b..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_type_traits.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_TYPE_TRAITS
-//  TITLE:         std::tr1::type_traits
-//  DESCRIPTION:   The std lib has a tr1-conforming type traits library.
-
-#include <type_traits>
-
-namespace boost_has_tr1_type_traits{
-
-using std::tr1::is_void;
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_unordered_map.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_unordered_map.ipp
deleted file mode 100755
index 232d78e..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_unordered_map.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_UNORDERED_MAP
-//  TITLE:         std::tr1::unordered_map
-//  DESCRIPTION:   The std lib has a tr1-conforming unordered map library.
-
-#include <unordered_map>
-
-namespace boost_has_tr1_unordered_map{
-
-using std::tr1::unordered_map;
-using std::tr1::unordered_multimap;
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_unordered_set.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_unordered_set.ipp
deleted file mode 100755
index 21ad621..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_unordered_set.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_UNORDERED_SET
-//  TITLE:         std::tr1::unordered_set
-//  DESCRIPTION:   The std lib has a tr1-conforming unordered set library.
-
-#include <unordered_set>
-
-namespace boost_has_tr1_unordered_set{
-
-using std::tr1::unordered_set;
-using std::tr1::unordered_multiset;
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_tr1_utility.ipp b/SRC/Boost/libs/config/test/boost_has_tr1_utility.ipp
deleted file mode 100755
index ea28739..0000000
--- a/SRC/Boost/libs/config/test/boost_has_tr1_utility.ipp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  (C) Copyright John Maddock 2005.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_TR1_UTILITY
-//  TITLE:         std::tr1::utility
-//  DESCRIPTION:   The std lib has a tr1-conforming utility header.
-
-#include <utility>
-
-namespace boost_has_tr1_utility{
-
-using std::tr1::get;
-using std::tr1::tuple_size;
-using std::tr1::tuple_element;
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_unistd_h.ipp b/SRC/Boost/libs/config/test/boost_has_unistd_h.ipp
deleted file mode 100755
index 7cea404..0000000
--- a/SRC/Boost/libs/config/test/boost_has_unistd_h.ipp
+++ /dev/null
@@ -1,26 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_UNISTD_H
-//  TITLE:         <unistd.h>
-//  DESCRIPTION:   The Platform provides <unistd.h>.
-
-#include <unistd.h>
-
-namespace boost_has_unistd_h{
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_variadic_tmpl.ipp b/SRC/Boost/libs/config/test/boost_has_variadic_tmpl.ipp
deleted file mode 100755
index 066304a..0000000
--- a/SRC/Boost/libs/config/test/boost_has_variadic_tmpl.ipp
+++ /dev/null
@@ -1,21 +0,0 @@
-//  Copyright (C) 2007 Douglas Gregor
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_VARIADIC_TMPL
-//  TITLE:         variadic templates
-//  DESCRIPTION:   The compiler supports C++0x variadic templates
-
-namespace boost_has_variadic_tmpl {
-
-template<typename... Elements> struct tuple {};
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_has_vc6_mem_templ.ipp b/SRC/Boost/libs/config/test/boost_has_vc6_mem_templ.ipp
deleted file mode 100755
index c9e88d6..0000000
--- a/SRC/Boost/libs/config/test/boost_has_vc6_mem_templ.ipp
+++ /dev/null
@@ -1,58 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_MSVC6_MEMBER_TEMPLATES
-//  TITLE:         microsoft member templates
-//  DESCRIPTION:   Microsoft Visual C++ 6.0 has enough member
-//                 template idiosyncrasies (being polite) that
-//                 BOOST_NO_MEMBER_TEMPLATES is defined for this compiler.
-//                 BOOST_MSVC6_MEMBER_TEMPLATES is defined to allow
-//                 compiler specific workarounds.
-#ifndef BOOST_NESTED_TEMPLATE
-#define BOOST_NESTED_TEMPLATE template
-#endif
-
-namespace boost_msvc6_member_templates{
-
-template <class T>
-struct foo
-{
-   template <class U>
-   struct nested
-   {
-      typedef foo<U> other;
-   };
-   template <class U>
-   void mfoo(const U&)
-   {
-   }
-};
-
-template <class T>
-void vc6_mem_test(T i)
-{
-   foo<double> f1;
-   typedef foo<T> ifoo;
-   f1.mfoo(i);
-   typedef typename ifoo::BOOST_NESTED_TEMPLATE nested<double> bound_t;
-   typedef typename bound_t::other other;
-   other o;
-   (void)o;
-}
-
-int test()
-{
-   int i = 0;
-   vc6_mem_test(i);
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_vc_iterator.ipp b/SRC/Boost/libs/config/test/boost_has_vc_iterator.ipp
deleted file mode 100755
index d37d0b4..0000000
--- a/SRC/Boost/libs/config/test/boost_has_vc_iterator.ipp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_MSVC_STD_ITERATOR
-//  TITLE:         microsoft's version of std::iterator
-//  DESCRIPTION:   Microsoft's broken version of std::iterator
-//                 is being used.
-
-#include <iterator>
-
-namespace boost_msvc_std_iterator{
-
-int test()
-{
-   typedef std::iterator<
-      std::random_access_iterator_tag,
-      int
-      > iterator_type_2;
-   typedef std::reverse_iterator<const char*, const char> r_it;
-
-   iterator_type_2::value_type v2 = 0;
-   iterator_type_2::iterator_category cat2;
-   //
-   // suppress some warnings:
-   //
-   (void)v2;
-   (void)cat2;
-
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_has_winthreads.ipp b/SRC/Boost/libs/config/test/boost_has_winthreads.ipp
deleted file mode 100755
index 5fa181c..0000000
--- a/SRC/Boost/libs/config/test/boost_has_winthreads.ipp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_HAS_WINTHREADS
-//  TITLE:         MS Windows threads
-//  DESCRIPTION:   The platform supports MS Windows style threads.
-
-#include <windows.h>
-
-
-namespace boost_has_winthreads{
-
-int test()
-{
-   HANDLE h = CreateMutex(0, 0, 0);
-   if(h != NULL)
-   {
-      WaitForSingleObject(h, INFINITE);
-      ReleaseMutex(h);
-      CloseHandle(h);
-   }
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_array.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_array.ipp
deleted file mode 100755
index 0df2678..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_array.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_ARRAY
-//  TITLE:         C++0x header <array> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <array>
-
-#include <array>
-
-namespace boost_no_0x_hdr_array {
-
-int test()
-{
-  std::array<int, 3> a = { 1, 2, 3 };
-  return a.size() == 3 ? 0 : 1;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_chrono.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_chrono.ipp
deleted file mode 100755
index c0a3b33..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_chrono.ipp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_CHRONO
-//  TITLE:         C++0x header <chrono> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <chrono>
-
-#include <chrono>
-
-namespace boost_no_0x_hdr_chrono {
-
-int test()
-{
-  using std::chrono::nanoseconds;
-  using std::chrono::microseconds;
-  using std::chrono::milliseconds;
-  using std::chrono::seconds;
-  using std::chrono::minutes;
-  using std::chrono::hours;
-  using std::chrono::system_clock;
-  using std::chrono::monotonic_clock;
-  using std::chrono::high_resolution_clock;
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_codecvt.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_codecvt.ipp
deleted file mode 100755
index a009697..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_codecvt.ipp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_CODECVT
-//  TITLE:         C++0x header <codecvt> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <codecvt>
-
-#include <codecvt>
-
-namespace boost_no_0x_hdr_codecvt {
-
-int test()
-{
-  using std::codecvt_utf8;
-  using std::codecvt_utf16;
-  using std::codecvt_utf8_utf16;
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_condition_variable.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_condition_variable.ipp
deleted file mode 100755
index 6b59158..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_condition_variable.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_CONDITION_VARIABLE
-//  TITLE:         C++0x header <condition_variable> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <condition_variable>
-
-#include <condition_variable>
-
-namespace boost_no_0x_hdr_condition_variable {
-
-int test()
-{
-  using std::condition_variable;
-  using std::condition_variable_any;
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_forward_list.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_forward_list.ipp
deleted file mode 100755
index 27dad98..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_forward_list.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_FORWARD_LIST
-//  TITLE:         C++0x header <forward_list> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <forward_list>
-
-#include <forward_list>
-
-namespace boost_no_0x_hdr_forward_list {
-
-int test()
-{
-  std::forward_list<int> l(2u, 2);
-  return *l.begin() == 2 ? 0 : 1;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_future.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_future.ipp
deleted file mode 100755
index 8737294..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_future.ipp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_FUTURE
-//  TITLE:         C++0x header <future> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <future>
-
-#include <future>
-
-namespace boost_no_0x_hdr_future {
-
-int test()
-{
-  using std::is_error_code_enum;
-  using std::make_error_code;
-  using std::make_error_condition;
-  using std::future_category;
-  using std::future_error;
-  using std::promise;
-  using std::promise;
-  using std::promise;
-  using std::future;
-  using std::shared_future;
-  using std::atomic_future;
-  using std::packaged_task; // undefined
-  using std::async;
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_initializer_list.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_initializer_list.ipp
deleted file mode 100755
index ac9eb2b..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_initializer_list.ipp
+++ /dev/null
@@ -1,27 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_INITIALIZER_LIST
-//  TITLE:         C++0x header <initializer_list> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <initializer_list>
-
-#include <initializer_list>
-
-namespace boost_no_0x_hdr_initializer_list {
-
-void foo(const std::initializer_list<const char*>& l)
-{
-}
-
-int test()
-{
-  foo( { "a", "b", "c" } );
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_mutex.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_mutex.ipp
deleted file mode 100755
index f76abc9..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_mutex.ipp
+++ /dev/null
@@ -1,26 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_MUTEX
-//  TITLE:         C++0x header <mutex> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <mutex>
-
-#include <mutex>
-
-namespace boost_no_0x_hdr_mutex {
-
-int test()
-{
-  using std::mutex;
-  using std::recursive_mutex;
-  using std::timed_mutex;
-  using std::recursive_timed_mutex;
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_random.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_random.ipp
deleted file mode 100755
index a70a1c8..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_random.ipp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_RANDOM
-//  TITLE:         C++0x header <random> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <random>
-
-#include <random>
-
-namespace boost_no_0x_hdr_random {
-
-int test()
-{
-  using std::minstd_rand0;
-  using std::mt19937;
-  using std::mt19937_64;
-  using std::ranlux24_base;
-  using std::ranlux48_base;
-  using std::ranlux24;
-  using std::ranlux48;
-  using std::knuth_b;
-  using std::default_random_engine;
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_ratio.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_ratio.ipp
deleted file mode 100755
index 7d9311b..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_ratio.ipp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_RATIO
-//  TITLE:         C++0x header <ratio> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <ratio>
-
-#include <ratio>
-
-namespace boost_no_0x_hdr_ratio {
-
-int test()
-{
-  using std::atto;
-  using std::femto;
-  using std::pico;
-  using std::nano;
-  using std::micro;
-  using std::milli;
-  using std::centi;
-  using std::deci;
-  using std::deca;
-  using std::hecto;
-  using std::kilo;
-  using std::mega;
-  using std::tera;
-  using std::peta;
-  using std::exa;
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_regex.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_regex.ipp
deleted file mode 100755
index 71569db..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_regex.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_REGEX
-//  TITLE:         C++0x header <regex> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <regex>
-
-#include <regex>
-
-namespace boost_no_0x_hdr_regex {
-
-int test()
-{
-  using std::regex;
-  using std::wregex;
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_system_error.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_system_error.ipp
deleted file mode 100755
index 906ba06..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_system_error.ipp
+++ /dev/null
@@ -1,26 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_SYSTEM_ERROR
-//  TITLE:         C++0x header <system_error> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <system_error>
-
-#include <system_error>
-
-namespace boost_no_0x_hdr_system_error {
-
-int test()
-{
-  using std::error_category;
-  using std::error_code;
-  using std::error_condition;
-  using std::system_error;
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_thread.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_thread.ipp
deleted file mode 100755
index 6dbfc96..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_thread.ipp
+++ /dev/null
@@ -1,27 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_THREAD
-//  TITLE:         C++0x header <thread> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <thread>
-
-#include <thread>
-
-namespace boost_no_0x_hdr_thread {
-
-int test()
-{
-  using std::thread;
-  using std::this_thread::get_id;
-  using std::this_thread::yield;
-  using std::this_thread::sleep_until;
-  using std::this_thread::sleep_for;
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_tuple.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_tuple.ipp
deleted file mode 100755
index b5a8b2d..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_tuple.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_TUPLE
-//  TITLE:         C++0x header <tuple> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <tuple>
-
-#include <tuple>
-
-namespace boost_no_0x_hdr_tuple {
-
-int test()
-{
-  std::tuple<int, int, long> t(0, 1, 2);
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_type_traits.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_type_traits.ipp
deleted file mode 100755
index 6541b8c..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_type_traits.ipp
+++ /dev/null
@@ -1,106 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_TYPE_TRAITS
-//  TITLE:         C++0x header <type_traits> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <type_traits>
-
-#include <type_traits>
-
-namespace boost_no_0x_hdr_type_traits {
-
-int test()
-{
-  using std::integral_constant;
-  using std::true_type;
-  using std::false_type;
-  using std::is_void;
-  using std::is_integral;
-  using std::is_floating_point;
-  using std::is_array;
-  using std::is_pointer;
-  using std::is_lvalue_reference;
-  using std::is_rvalue_reference;
-  using std::is_member_object_pointer;
-  using std::is_member_function_pointer;
-  using std::is_enum;
-  using std::is_union;
-  using std::is_class;
-  using std::is_function;
-  using std::is_reference;
-  using std::is_arithmetic;
-  using std::is_fundamental;
-  using std::is_object;
-  using std::is_scalar;
-  using std::is_compound;
-  using std::is_member_pointer;
-  using std::is_const;
-  using std::is_volatile;
-  using std::is_trivial;
-  using std::is_trivially_copyable;
-  using std::is_standard_layout;
-  using std::is_pod;
-  using std::is_literal_type;
-  using std::is_empty;
-  using std::is_polymorphic;
-  using std::is_abstract;
-  using std::is_constructible;
-  using std::is_nothrow_constructible;
-  using std::has_default_constructor;
-  using std::has_copy_constructor;
-  using std::has_copy_assign;
-  using std::has_move_constructor;
-  using std::has_move_assign;
-  using std::has_trivial_default_constructor;
-  using std::has_trivial_copy_constructor;
-  using std::has_trivial_move_constructor;
-  using std::has_trivial_copy_assign;
-  using std::has_trivial_move_assign;
-  using std::has_trivial_destructor;
-  using std::has_nothrow_default_constructor;
-  using std::has_nothrow_copy_constructor;
-  using std::has_nothrow_move_constructor;
-  using std::has_nothrow_copy_assign;
-  using std::has_nothrow_move_assign;
-  using std::has_virtual_destructor;
-  using std::is_signed;
-  using std::is_unsigned;
-  using std::alignment_of;
-  using std::rank;
-  using std::extent;
-  using std::is_same;
-  using std::is_base_of;
-  using std::is_convertible;
-  using std::is_explicitly_convertible;
-  using std::remove_const;
-  using std::remove_volatile;
-  using std::remove_cv;
-  using std::add_const;
-  using std::add_volatile;
-  using std::add_cv;
-  using std::remove_reference;
-  using std::add_lvalue_reference;
-  using std::add_rvalue_reference;
-  using std::make_signed;
-  using std::make_unsigned;
-  using std::remove_extent;
-  using std::remove_all_extents;
-  using std::remove_pointer;
-  using std::add_pointer;
-  using std::aligned_storage;
-  using std::aligned_union;
-  using std::decay;
-  using std::enable_if;
-  using std::conditional;
-  using std::common_type;
-  using std::underlying_type;
-  using std::result_of;
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_typeindex.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_typeindex.ipp
deleted file mode 100755
index 63be5c7..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_typeindex.ipp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_TYPEINDEX
-//  TITLE:         C++0x header <typeindex> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <typeindex>
-
-#include <typeindex>
-
-namespace boost_no_0x_hdr_typeindex {
-
-int test()
-{
-  std::type_index t1 = typeid(int);
-  std::type_index t2 = typeid(double);
-  std::hash<std::type_index> h;
-  return (t1 != t2) && (h(t1) != h(t2)) ? 0 : 1;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_unordered_map.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_unordered_map.ipp
deleted file mode 100755
index 32d6a40..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_unordered_map.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_UNORDERED_MAP
-//  TITLE:         C++0x header <unordered_map> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <unordered_map>
-
-#include <unordered_map>
-
-namespace boost_no_0x_hdr_unordered_map {
-
-int test()
-{
-  std::unordered_map<int, long> s1;
-  std::unordered_multimap<int, long> s2;
-  return s1.empty() && s2.empty() ? 0 : 1;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_0x_hdr_unordered_set.ipp b/SRC/Boost/libs/config/test/boost_no_0x_hdr_unordered_set.ipp
deleted file mode 100755
index f7cdd3c..0000000
--- a/SRC/Boost/libs/config/test/boost_no_0x_hdr_unordered_set.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_0X_HDR_UNORDERED_SET
-//  TITLE:         C++0x header <unordered_set> unavailable
-//  DESCRIPTION:   The standard library does not supply C++0x header <unordered_set>
-
-#include <unordered_set>
-
-namespace boost_no_0x_hdr_unordered_set {
-
-int test()
-{
-  std::unordered_set<int> s1;
-  std::unordered_multiset<int> s2;
-  return s1.empty() && s2.empty() ? 0 : 1;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_adl_barrier.ipp b/SRC/Boost/libs/config/test/boost_no_adl_barrier.ipp
deleted file mode 100755
index d452789..0000000
--- a/SRC/Boost/libs/config/test/boost_no_adl_barrier.ipp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  (C) Copyright John Maddock 2008. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_ADL_BARRIER
-//  TITLE:         Working ADL barriers.
-//  DESCRIPTION:   If the compiler correctly handles ADL.
-
-namespace boost_no_adl_barrier{
-
-namespace xxx {
-    namespace nested {
-        struct aaa {};
-    }
-    void begin(nested::aaa) {}
-}
-
-namespace nnn {
-    void begin(xxx::nested::aaa) {}
-}
-
-int test()
-{
-   using namespace nnn;
-   xxx::nested::aaa a;
-   begin(a); // ambiguous error in msvc-9.0
-
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_arg_dep_lookup.ipp b/SRC/Boost/libs/config/test/boost_no_arg_dep_lookup.ipp
deleted file mode 100755
index dc37fb0..0000000
--- a/SRC/Boost/libs/config/test/boost_no_arg_dep_lookup.ipp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-//  TITLE:         Koenig lookup
-//  DESCRIPTION:   Compiler does not implement
-//                 argument-dependent lookup (also named Koenig lookup); 
-//                 see std::3.4.2 [basic.koenig.lookup]
-
-
-namespace boost_no_argument_dependent_lookup{
-
-namespace foobar{
-
-struct test{};
-
-void call_test(const test&)
-{}
-
-}
-
-int test()
-{
-   foobar::test t;
-   call_test(t);
-   return 0;
-}
-
-
-}
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_array_type_spec.ipp b/SRC/Boost/libs/config/test/boost_no_array_type_spec.ipp
deleted file mode 100755
index ec4a892..0000000
--- a/SRC/Boost/libs/config/test/boost_no_array_type_spec.ipp
+++ /dev/null
@@ -1,30 +0,0 @@
-//  (C) Copyright John Maddock 2001.
-//  (C) Copyright Aleksey Gurtovoy 2003.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-//  TITLE:         template specialisations of array types
-//  DESCRIPTION:   If the compiler cannot handle template specialisations
-//                 for array types
-
-
-namespace boost_no_array_type_specializations{
-
-template< typename T > struct is_array
-{
-};
-
-template< typename T, int N > struct is_array< T[N] >
-{
-};
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_auto_declarations.ipp b/SRC/Boost/libs/config/test/boost_no_auto_declarations.ipp
deleted file mode 100755
index 6adabe2..0000000
--- a/SRC/Boost/libs/config/test/boost_no_auto_declarations.ipp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  Copyright (C) 2009 Andrey Semashev
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_AUTO_DECLARATIONS
-//  TITLE:         C++0x auto declarators unavailable
-//  DESCRIPTION:   The compiler does not support C++0x declarations of variables with automatically deduced type
-
-namespace boost_no_auto_declarations {
-
-void check_f(int& x)
-{
-}
-
-int test()
-{
-   auto x = 10;
-   check_f(x);
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_auto_multidecl.ipp b/SRC/Boost/libs/config/test/boost_no_auto_multidecl.ipp
deleted file mode 100755
index e528fba..0000000
--- a/SRC/Boost/libs/config/test/boost_no_auto_multidecl.ipp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  Copyright (C) 2009 Andrey Semashev
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_AUTO_MULTIDECLARATIONS
-//  TITLE:         C++0x auto multideclarators unavailable
-//  DESCRIPTION:   The compiler does not support C++0x declarations of series of variables with automatically deduced type
-
-namespace boost_no_auto_multideclarations {
-
-void check_f(int& x, int*& y)
-{
-}
-
-int test()
-{
-   auto x = 10, *y = &x;
-   check_f(x, y);
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_auto_ptr.ipp b/SRC/Boost/libs/config/test/boost_no_auto_ptr.ipp
deleted file mode 100755
index 1e84c13..0000000
--- a/SRC/Boost/libs/config/test/boost_no_auto_ptr.ipp
+++ /dev/null
@@ -1,53 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_AUTO_PTR
-//  TITLE:         std::auto_ptr
-//  DESCRIPTION:   If the compiler / library supplies non-standard or broken
-//                 std::auto_ptr.
-
-#include <memory>
-
-namespace boost_no_auto_ptr{
-
-template <class T>
-class my_ptr
-{
-   T* p;
-public:
-   my_ptr(std::auto_ptr<T>& r)
-   {
-      p = r.release();
-   }
-   my_ptr& operator=(std::auto_ptr<T>& r)
-   {
-      delete p;
-      p = r.release();
-      return *this;
-   }
-   ~my_ptr()
-   {
-      delete p;
-   }
-};
-
-
-int test()
-{
-   std::auto_ptr<int> ap1(new int);
-   my_ptr<int> mp(ap1);
-   std::auto_ptr<int> ap2(new int);
-   mp = ap2;
-
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_bcb_partial_spec.ipp b/SRC/Boost/libs/config/test/boost_no_bcb_partial_spec.ipp
deleted file mode 100755
index ae70319..0000000
--- a/SRC/Boost/libs/config/test/boost_no_bcb_partial_spec.ipp
+++ /dev/null
@@ -1,53 +0,0 @@
-//  (C) Copyright Terje Slettebo 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-//  MACRO:         BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-//  TITLE:         Full partial specialization support.
-//  DESCRIPTION:   Borland C++ Builder has some rather specific partial
-//                 specialisation bugs which this code tests for.
-
-
-#include <vector>
-
-namespace boost_bcb_partial_specialization_bug{
-
-
-template<class T1,class T2>
-class Test
-{
-};
-
-template<class T1,class T2>
-class Test<std::vector<T1>,T2>
-{
-};
-
-template<class T>
-class Test<std::vector<int>,T>
-{
-};
-
-template <class T>
-struct is_const{};
-template <class T>
-struct is_const<T const>{};
-
-int test()
-{
-   Test<std::vector<int>,double> v;
-   is_const<const int> ci;
-   (void)v; // warning suppression
-   (void)ci;
-   return 0;
-}
-
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_char16_t.ipp b/SRC/Boost/libs/config/test/boost_no_char16_t.ipp
deleted file mode 100755
index 8e47af7..0000000
--- a/SRC/Boost/libs/config/test/boost_no_char16_t.ipp
+++ /dev/null
@@ -1,22 +0,0 @@
-
-//  (C) Copyright Beman Dawes 2008
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_CHAR16_T
-//  TITLE:         C++0x char16_t unavailable
-//  DESCRIPTION:   The compiler does not support C++0x char16_t
-
-namespace boost_no_char16_t {
-
-int test()
-{
-  const char16_t* p = u"abc";
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_char32_t.ipp b/SRC/Boost/libs/config/test/boost_no_char32_t.ipp
deleted file mode 100755
index f0c3d0f..0000000
--- a/SRC/Boost/libs/config/test/boost_no_char32_t.ipp
+++ /dev/null
@@ -1,21 +0,0 @@
-//  (C) Copyright Beman Dawes 2008
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_CHAR32_T
-//  TITLE:         C++0x char32_t unavailable
-//  DESCRIPTION:   The compiler does not support C++0x char32_t
-
-namespace boost_no_char32_t {
-
-int test()
-{
-  const char32_t* p = U"abc";
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_com_value_init.ipp b/SRC/Boost/libs/config/test/boost_no_com_value_init.ipp
deleted file mode 100755
index 6e3a34b..0000000
--- a/SRC/Boost/libs/config/test/boost_no_com_value_init.ipp
+++ /dev/null
@@ -1,1016 +0,0 @@
-//  (C) Copyright Niels Dekker 2010. 
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-//  TITLE:         No complete value-initialization
-//  DESCRIPTION:   The C++ compiler does not to have implemented value-initialization completely.
-//                 See also boost/libs/utility/value_init.htm#compiler_issues
-
-#include <iostream>
-
-//  This test checks various forms of value-initialization:
-//  - doing subobject initialization inside a constructor
-//  - creating a temporary object by T()
-//  - creating a heap object by doing new T()
-//  It checks various DefaultConstructible types, including fundamental types,
-//  enum, union, pointer types, array types, POD and non-POD class types. For
-//  each type of object, a helper function is_value_initialized(const T&) tells 
-//  whether the object is value-initialized.
-//
-//  Note: It appeared insufficient to just check a single POD and a single 
-//  non-POD class type, because some compilers correctly value-initialize some
-//  POD and some non-POD objects, while failing to value-initialize others.
-//
-//  The test returns the number of encountered value-initialization failures.
-  
-namespace boost_no_complete_value_initialization
-{
-  enum enum_type { negative_number = -1, magic_number = 42 };
-  
-  class incomplete_class;
-  
-  typedef int (*function_ptr_type)(int);
-  typedef int (incomplete_class::*member_function_ptr_type)(int);
-
-  // A POD struct.
-  struct pod_struct
-  {
-    enum_type e;
-    bool b;
-    char c;
-    unsigned char uc;
-    short s;
-    int i;
-    unsigned u;
-    long l;
-    float f;
-    double d;
-    long double ld;
-    void* p;
-  };
-
-  bool is_value_initialized(const pod_struct& arg)
-  {
-    return
-      arg.b == 0 &&
-      arg.e == 0 &&
-      arg.c == 0 &&
-      arg.uc == 0 &&
-      arg.s == 0 &&
-      arg.i == 0 &&
-      arg.u == 0 &&
-      arg.l == 0 &&
-      arg.f == 0 &&
-      arg.d == 0 &&
-      arg.p == 0;
-  }
-
-  // A POD struct derived from another POD struct.
-  struct derived_pod_struct: pod_struct
-  {
-    int derived_data;
-  };
-
-  bool is_value_initialized(const derived_pod_struct& arg)
-  {
-    const pod_struct& base_subobject = arg; 
-    return arg.derived_data == 0 && is_value_initialized(base_subobject);
-  }
-
-
-  struct empty_struct
-  {
-  };
-
-
-  // A POD aggregate struct derived from an empty struct.
-  // Similar to struct Foo1 from Microsoft Visual C++ bug report 484295,
-  // "VC++ does not value-initialize members of derived classes without 
-  // user-declared constructor", reported in 2009 by Sylvester Hesp:
-  // https://connect.microsoft.com/VisualStudio/feedback/details/484295
-  struct derived_struct: empty_struct
-  {
-    int data;
-  };
-
-  bool is_value_initialized(const derived_struct& arg)
-  {
-    return arg.data == 0;
-  }
-
-
-  // A struct, having a bit-field.
-  struct bit_field_struct
-  {
-    bool b : 1;
-    char c : 7;
-    unsigned u: 8 * sizeof(unsigned) - 1;  
-  };
-  
-  bool is_value_initialized(const bit_field_struct& arg)
-  {
-    return arg.b == false && arg.c == '\0'&& arg.u == 0U;
-  }
-  
-  // A struct, having a function pointer.
-  struct function_ptr_struct
-  {
-    function_ptr_type data;
-  };
-
-  bool is_value_initialized(const function_ptr_struct& arg)
-  {
-    return arg.data == 0;
-  }
-
-  // A struct, having a member function pointer.
-  struct member_function_ptr_struct
-  {
-    member_function_ptr_type data;
-  };
-
-  bool is_value_initialized(const member_function_ptr_struct& arg)
-  {
-    return arg.data == 0;
-  }
-
-  struct int_pair_struct
-  {
-    int first;
-    int second;
-  };
-
-  typedef int int_pair_struct::*ptr_to_member_type;
-
-  struct ptr_to_member_struct
-  {
-    ptr_to_member_type data;
-  };
-
-  bool is_value_initialized(const ptr_to_member_struct& arg)
-  {
-    return arg.data == 0;
-  }
-
-  // A struct, having an int. Equivalent to the struct TData, from CodeGear bug
-  // report 51854, "Value-initialization: POD struct should be zero-initialized",
-  // reported by me (Niels Dekker, LKEB) in 2007:
-  // http://qc.embarcadero.com/wc/qcmain.aspx?d=51854
-  struct int_struct
-  {
-    int data;
-  };
-
-  bool is_value_initialized(const int_struct& arg)
-  {
-    return arg.data == 0;
-  }
-
-
-  // A struct, having an int_struct.
-  struct int_struct_holder
-  {
-    int_struct data;
-  };
-
-  bool is_value_initialized(const int_struct_holder& arg)
-  {
-    return is_value_initialized(arg.data);
-  }
-
-
-  // A struct derived from int_struct.
-  struct derived_int_struct: int_struct
-  {
-  };
-
-  bool is_value_initialized(const derived_int_struct& arg)
-  {
-    return arg.data == 0;
-  }
-
-
-  struct char_array_struct
-  {
-    char data[42];
-  };
-
-  bool is_value_initialized(const char_array_struct& arg)
-  {
-    for ( unsigned i = 0; i < sizeof(arg.data); ++i)
-    {
-      if ( arg.data[i] != 0 )
-      {
-        return false;
-      }
-    }
-    return true;
-  }
-
-
-  class private_int_holder
-  {
-  private:
-    int m_data;
-
-    friend bool is_value_initialized(const private_int_holder& arg)
-    {
-      return arg.m_data == 0;
-    }
-  };
-
-
-  // Equivalent to the Stats class from GCC Bug 33916,
-  // "Default constructor fails to initialize array members", reported in 2007 by
-  // Michael Elizabeth Chastain: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
-  class private_int_array_pair
-  {
-    friend bool is_value_initialized(const private_int_array_pair& arg);
-  private:
-    int first[12];
-    int second[12];
-  };
-
-  bool is_value_initialized(const private_int_array_pair& arg)
-  {
-    for ( unsigned i = 0; i < 12; ++i)
-    {
-      if ( (arg.first[i] != 0) || (arg.second[i] != 0) )
-      {
-        return false;
-      }
-    }
-    return true;
-  }
-
-
-  union pod_struct_and_int_union
-  {
-    pod_struct first;
-    int second;
-  };
-
-  bool is_value_initialized(const pod_struct_and_int_union& arg)
-  {
-    // When a union is zero-initialized, its first non-static 
-    // named data member is zero-initialized ([dcl.init]).
-    return is_value_initialized(arg.first);
-  }
-
-
-  union int_and_pod_struct_union
-  {
-    int first;
-    pod_struct second;
-  };
-
-  bool is_value_initialized(const int_and_pod_struct_union& arg)
-  {
-    return arg.first == 0;
-  }
-
-
-  // A class that holds a "magic" enum value.
-  // Note: This is not a POD class, because it has a user-defined
-  // default constructor.
-  class enum_holder
-  {
-    enum_type m_enum;
-  public:
-
-    enum_holder()
-    :
-    m_enum(magic_number)
-    {
-    }
-
-    bool is_value_initialized() const
-    {
-      return m_enum == magic_number;
-    }
-  };
-
-  bool is_value_initialized(const enum_holder& arg)
-  {
-    return arg.is_value_initialized();
-  }
-
-
-  // An aggregate struct of a non-POD class and an int.
-  // Similar to struct A from Microsoft Visual C++ bug report 100744,
-  // "Value-initialization in new-expression", reported in 2005 by
-  // Pavel Kuznetsov (MetaCommunications Engineering):
-  // https://connect.microsoft.com/VisualStudio/feedback/details/100744
-  struct enum_holder_and_int
-  {
-    enum_holder e;
-    int i;
-  };
-
-  bool is_value_initialized(const enum_holder_and_int& arg)
-  {
-    return arg.e.is_value_initialized() && arg.i == 0;
-  }
-
-  class user_defined_copy_constructor_holder
-  {
-  public:
-    int data;
-
-    user_defined_copy_constructor_holder()
-    :
-    data(0)
-    {
-    }
-
-    user_defined_copy_constructor_holder(const user_defined_copy_constructor_holder& arg)
-    :
-    data(arg.data)
-    {
-    }
-  };
-
-  // An aggregate struct that has a data member which has a user-defined
-  // copy constructor and a data member of a scalar type.
-  // Similar to struct B from Microsoft Visual C++ bug report 499606,
-  // "Presence of copy constructor breaks member class initialization", 
-  // reported in 2009 by Alex Vakulenko:
-  // https://connect.microsoft.com/VisualStudio/feedback/details/499606
-  struct user_defined_copy_constructor_holder_and_int
-  {
-    user_defined_copy_constructor_holder first;
-    int second;
-  };
-
-  bool is_value_initialized(const user_defined_copy_constructor_holder_and_int& arg)
-  {
-    return arg.first.data == 0 && arg.second == 0;
-  }
-
-
-  // An class that has a private and a protected int data member.
-  class private_and_protected_int
-  {
-  private:
-    int private_int;
-  protected:
-    int protected_int;
-  public:
-    friend bool is_value_initialized(const private_and_protected_int& arg)
-    {
-      return arg.private_int == 0 && arg.protected_int == 0;
-    }
-  };
-
-
-  class user_defined_destructor_holder
-  {
-  public:
-    int i;
-    ~user_defined_destructor_holder()
-    {
-    }
-  };
-
-  bool is_value_initialized(const user_defined_destructor_holder& arg)
-  {
-    return arg.i == 0;
-  }
-
-
-  class virtual_destructor_holder
-  {
-  public:
-    int i;
-    virtual ~virtual_destructor_holder()
-    {
-    }
-  };
-
-  bool is_value_initialized(const virtual_destructor_holder& arg)
-  {
-    return arg.i == 0;
-  }
-
-
-  // A class that is not a POD type.
-  class non_pod_class
-  {
-  private:
-    enum_holder m_enum_holder;
-
-  public:
-    int i;
-
-    virtual bool is_value_initialized() const
-    {
-      return m_enum_holder.is_value_initialized() && i == 0;
-    }
-
-    virtual ~non_pod_class() {}
-  };
-
-  bool is_value_initialized(const non_pod_class& arg)
-  {
-    return arg.is_value_initialized();
-  }
-
-
-  typedef char _2d_char_array_type[3][4];
-
-  bool is_value_initialized(const _2d_char_array_type& arg)
-  {
-    for(unsigned i = 0; i < sizeof(_2d_char_array_type); ++i)
-    {
-      if ((*arg)[i] != 0)
-      {
-        return false;
-      }
-    }
-    return true;
-  }
-
-  typedef char _3d_char_array_type[5][6][7];
-
-  bool is_value_initialized(const _3d_char_array_type& arg)
-  {
-    for(unsigned i = 0; i < sizeof(_3d_char_array_type); ++i)
-    {
-      if ((**arg)[i] != 0)
-      {
-        return false;
-      }
-    }
-    return true;
-  }
-
-
-
-  // Tells whether an object of a scalar type T is value-initialized.
-  template <class T>
-  bool is_value_initialized(const T& arg)
-  {
-    return arg == 0;
-  }
-
-
-  // Wraps a heap object that it has allocated by doing new T().
-  template <class T>
-  class heap_object_wrapper
-  {
-  private:
-    T* const m_ptr;
-
-    // The following function is intentionally left unimplemented
-    // (as if deleted, "= delete", in C++0x):
-    void operator=(heap_object_wrapper);
-
-  public:
-    heap_object_wrapper()
-      :
-    m_ptr(new T())
-    {
-    }
-
-    ~heap_object_wrapper()
-    {
-      delete m_ptr;
-    }
-
-    // The copy-constructor is intentionally left unimplemented.
-    heap_object_wrapper(const heap_object_wrapper&);
-
-    bool is_wrapped_object_value_initialized() const
-    {
-      return (m_ptr != 0) && is_value_initialized(*m_ptr);
-    }
-  };
-
-  template <class T>
-  bool is_value_initialized(const heap_object_wrapper<T>& arg)
-  {
-    return arg.is_wrapped_object_value_initialized();
-  }
-
-
-  // Returns zero when the specified object is value-initializated, and one otherwise.
-  // Prints a message to standard output if the value-initialization has failed.
-  template <class T>
-  unsigned failed_to_value_initialized(const T& object, const char *const object_name)
-  {
-    if ( is_value_initialized(object) )
-    {
-      return 0u;
-    }
-    else
-    {
-      std::cout << "Note: Failed to value-initialize " << object_name << '.' << std::endl;
-      return 1u;
-    }
-  }
-
-// A macro that passed both the name and the value of the specified object to
-// the function above here.
-#define FAILED_TO_VALUE_INITIALIZE(value) failed_to_value_initialized(value, #value)
-
-
-  // value_initializer initializes each of its data members by means
-  // of an empty set of parentheses, and allows checking whether
-  // each of them is indeed value-initialized, as specified by 
-  // the C++ Standard ([dcl.init]).
-  //
-  // Note: its base class, int_struct, is there to try to reproduce GCC Bug 30111,
-  // "Value-initialization of POD base class doesn't initialize members", reported
-  // by Jonathan Wakely in 2006: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111
-  class value_initializer: private int_struct
-  {
-  private:
-    enum_holder m_enum_holder;
-    enum_holder m_enum_holder_array[2];
-    enum_type m_enum;
-    enum_type m_enum_array[2];
-    bool m_bool;
-    bool m_bool_array[2];
-    char m_char;
-    char m_char_array[2];
-    _2d_char_array_type m_2d_char_array;
-    _3d_char_array_type m_3d_char_array;
-    unsigned char m_unsigned_char;
-    unsigned char m_unsigned_char_array[2];
-    short m_short;
-    short m_short_array[2];
-    int m_int;
-    int m_int_array[2];
-    unsigned m_unsigned;
-    unsigned m_unsigned_array[2];
-    long m_long;
-    long m_long_array[2];
-    float m_float;
-    float m_float_array[2];
-    double m_double;
-    double m_double_array[2];
-    long double m_long_double;
-    long double m_long_double_array[2];
-    void* m_void_ptr;
-    void* m_void_ptr_array[2];
-    function_ptr_type m_function_ptr;
-    function_ptr_type m_function_ptr_array[2];
-    function_ptr_struct m_function_ptr_struct;
-    function_ptr_struct m_function_ptr_struct_array[2];
-    member_function_ptr_type m_member_function_ptr;
-    member_function_ptr_type m_member_function_ptr_array[2];
-    member_function_ptr_struct m_member_function_ptr_struct;
-    member_function_ptr_struct m_member_function_ptr_struct_array[2];
-    ptr_to_member_type  m_ptr_to_member;
-    ptr_to_member_type  m_ptr_to_member_array[2];
-    ptr_to_member_struct m_ptr_to_member_struct;
-    ptr_to_member_struct m_ptr_to_member_struct_array[2];
-    bit_field_struct m_bit_field_struct;
-    bit_field_struct m_bit_field_struct_array[2];
-    int_struct m_int_struct;
-    int_struct m_int_struct_array[2];
-    int_struct m_int_struct_holder;
-    int_struct m_int_struct_holder_array[2];
-    pod_struct m_pod_struct;
-    pod_struct m_pod_struct_array[2];
-    derived_pod_struct m_derived_pod_struct;
-    derived_pod_struct m_derived_pod_struct_array[2];
-    derived_struct m_derived_struct;
-    derived_struct m_derived_struct_array[2];
-    derived_int_struct m_derived_int_struct;
-    derived_int_struct m_derived_int_struct_array[2];
-    private_int_holder m_private_int_holder;
-    private_int_holder m_private_int_holder_array[2];
-    char_array_struct m_char_array_struct;
-    char_array_struct m_char_array_struct_array[2];
-    private_int_array_pair m_private_int_array_pair;
-    private_int_array_pair m_private_int_array_pair_array[2];
-    enum_holder_and_int m_enum_holder_and_int;
-    enum_holder_and_int m_enum_holder_and_int_array[2];
-    private_and_protected_int m_private_and_protected_int;
-    private_and_protected_int m_private_and_protected_int_array[2];
-    user_defined_copy_constructor_holder_and_int m_user_defined_copy_constructor_holder_and_int;
-    user_defined_copy_constructor_holder_and_int m_user_defined_copy_constructor_holder_and_int_array[2];
-    user_defined_destructor_holder m_user_defined_destructor_holder;
-    user_defined_destructor_holder m_user_defined_destructor_holder_array[2];
-    virtual_destructor_holder m_virtual_destructor_holder;
-    virtual_destructor_holder m_virtual_destructor_holder_array[2];
-    non_pod_class m_non_pod;
-    non_pod_class m_non_pod_array[2];
-    pod_struct_and_int_union m_pod_struct_and_int_union;
-    pod_struct_and_int_union m_pod_struct_and_int_union_array[2];
-    int_and_pod_struct_union m_int_and_pod_struct_union;
-    int_and_pod_struct_union m_int_and_pod_struct_union_array[2];
-
-  public:
-    // Default constructor. Tries to value-initialize its base subobject and all
-    // of its data.members.
-    value_initializer()
-    :
-    // Note: CodeGear/Borland may produce a warning, W8039, for each data member
-    // whose type is an array type, saying "Constructor initializer list ignored".
-    // If it does, it probably won't value-initialize those arrays, as reported
-    // by me (Niels Dekker, LKEB) in 2010, report 83751, "Value-initialization:
-    // arrays should have each element value-initialized",
-    // http://qc.embarcadero.com/wc/qcmain.aspx?d=83751
-    // On the other hand, Microsoft Visual C++ may produce warnings of type C4351,
-    // saying "new behavior: elements of array '...' will be default initialized",
-    // which is actually the right behavior!
-    int_struct(),
-    m_enum_holder(),
-    m_enum_holder_array(),
-    m_enum(),
-    m_enum_array(),
-    m_bool(),
-    m_bool_array(),
-    m_char(),
-    m_char_array(),
-    m_2d_char_array(),
-    m_3d_char_array(),
-    m_unsigned_char(),
-    m_unsigned_char_array(),
-    m_short(),
-    m_short_array(),
-    m_int(),
-    m_int_array(),
-    m_unsigned(),
-    m_unsigned_array(),
-    m_long(),
-    m_long_array(),
-    m_float(),
-    m_float_array(),
-    m_double(),
-    m_double_array(),
-    m_long_double(),
-    m_long_double_array(),
-    m_void_ptr(),
-    m_void_ptr_array(),
-    m_function_ptr(),
-    m_function_ptr_array(),
-    m_function_ptr_struct(),
-    m_function_ptr_struct_array(),
-    m_member_function_ptr(),
-    m_member_function_ptr_array(),
-    m_member_function_ptr_struct(),
-    m_member_function_ptr_struct_array(),
-    m_ptr_to_member(),
-    m_ptr_to_member_array(),
-    m_ptr_to_member_struct(),
-    m_ptr_to_member_struct_array(),
-    m_bit_field_struct(),
-    m_bit_field_struct_array(),
-    m_int_struct(),
-    m_int_struct_array(),
-    m_int_struct_holder(),
-    m_int_struct_holder_array(),
-    m_pod_struct(),
-    m_pod_struct_array(),
-    m_derived_pod_struct(),
-    m_derived_pod_struct_array(),
-    m_derived_struct(),
-    m_derived_struct_array(),
-    m_derived_int_struct(),
-    m_derived_int_struct_array(),
-    m_private_int_holder(),
-    m_private_int_holder_array(),
-    m_char_array_struct(),
-    m_char_array_struct_array(),
-    m_private_int_array_pair(),
-    m_private_int_array_pair_array(),
-    m_enum_holder_and_int(),
-    m_enum_holder_and_int_array(),
-    m_private_and_protected_int(),
-    m_private_and_protected_int_array(),
-    m_user_defined_copy_constructor_holder_and_int(),
-    m_user_defined_copy_constructor_holder_and_int_array(),
-    m_user_defined_destructor_holder(),
-    m_user_defined_destructor_holder_array(),
-    m_virtual_destructor_holder(),
-    m_virtual_destructor_holder_array(),
-    m_non_pod(),
-    m_non_pod_array(),
-    m_pod_struct_and_int_union(),
-    m_pod_struct_and_int_union_array(),
-    m_int_and_pod_struct_union(),
-    m_int_and_pod_struct_union_array()
-    {
-    }
-
-    // Returns the number of failures.
-    unsigned check_value_initialization_of_subobjects() const
-    {
-      const unsigned num_failures = 
-        FAILED_TO_VALUE_INITIALIZE(int_struct::data) +
-        FAILED_TO_VALUE_INITIALIZE(m_enum_holder) +
-        FAILED_TO_VALUE_INITIALIZE(m_enum_holder_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_enum_holder_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_enum) +
-        FAILED_TO_VALUE_INITIALIZE(m_enum_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_enum_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_bool) +
-        FAILED_TO_VALUE_INITIALIZE(m_bool_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_bool_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_char) +
-        FAILED_TO_VALUE_INITIALIZE(m_char_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_char_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_2d_char_array) +
-        FAILED_TO_VALUE_INITIALIZE(m_3d_char_array) +
-        FAILED_TO_VALUE_INITIALIZE(m_unsigned_char) +
-        FAILED_TO_VALUE_INITIALIZE(m_unsigned_char_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_unsigned_char_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_short) +
-        FAILED_TO_VALUE_INITIALIZE(m_short_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_short_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_int) +
-        FAILED_TO_VALUE_INITIALIZE(m_int_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_int_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_unsigned) +
-        FAILED_TO_VALUE_INITIALIZE(m_unsigned_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_unsigned_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_long) +
-        FAILED_TO_VALUE_INITIALIZE(m_long_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_long_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_float) +
-        FAILED_TO_VALUE_INITIALIZE(m_float_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_float_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_double) +
-        FAILED_TO_VALUE_INITIALIZE(m_double_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_double_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_long_double) +
-        FAILED_TO_VALUE_INITIALIZE(m_long_double_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_long_double_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_void_ptr) +
-        FAILED_TO_VALUE_INITIALIZE(m_void_ptr_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_void_ptr_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_function_ptr) +
-        FAILED_TO_VALUE_INITIALIZE(m_function_ptr_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_function_ptr_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_function_ptr_struct) +
-        FAILED_TO_VALUE_INITIALIZE(m_function_ptr_struct_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_function_ptr_struct_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr) +
-        FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_struct) +
-        FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_struct_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_struct_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member) +
-        FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member_struct) +
-        FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member_struct_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member_struct_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_bit_field_struct) +
-        FAILED_TO_VALUE_INITIALIZE(m_bit_field_struct_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_bit_field_struct_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_int_struct) +
-        FAILED_TO_VALUE_INITIALIZE(m_int_struct_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_int_struct_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_int_struct_holder) +
-        FAILED_TO_VALUE_INITIALIZE(m_int_struct_holder_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_int_struct_holder_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_pod_struct) +
-        FAILED_TO_VALUE_INITIALIZE(m_pod_struct_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_pod_struct_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_derived_pod_struct) +
-        FAILED_TO_VALUE_INITIALIZE(m_derived_pod_struct_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_derived_pod_struct_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_derived_struct) +
-        FAILED_TO_VALUE_INITIALIZE(m_derived_struct_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_derived_struct_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_derived_int_struct) +
-        FAILED_TO_VALUE_INITIALIZE(m_derived_int_struct_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_derived_int_struct_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_private_int_holder) +
-        FAILED_TO_VALUE_INITIALIZE(m_private_int_holder_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_private_int_holder_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_char_array_struct) +
-        FAILED_TO_VALUE_INITIALIZE(m_char_array_struct_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_char_array_struct_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_private_int_array_pair) +
-        FAILED_TO_VALUE_INITIALIZE(m_private_int_array_pair_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_private_int_array_pair_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_enum_holder_and_int) +
-        FAILED_TO_VALUE_INITIALIZE(m_enum_holder_and_int_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_enum_holder_and_int_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_private_and_protected_int) +
-        FAILED_TO_VALUE_INITIALIZE(m_private_and_protected_int_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_private_and_protected_int_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_user_defined_copy_constructor_holder_and_int) +
-        FAILED_TO_VALUE_INITIALIZE(m_user_defined_copy_constructor_holder_and_int_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_user_defined_copy_constructor_holder_and_int_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_user_defined_destructor_holder) +
-        FAILED_TO_VALUE_INITIALIZE(m_user_defined_destructor_holder_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_user_defined_destructor_holder_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_virtual_destructor_holder) +
-        FAILED_TO_VALUE_INITIALIZE(m_virtual_destructor_holder_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_virtual_destructor_holder_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_non_pod) +
-        FAILED_TO_VALUE_INITIALIZE(m_non_pod_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_non_pod_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_pod_struct_and_int_union) +
-        FAILED_TO_VALUE_INITIALIZE(m_pod_struct_and_int_union_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_pod_struct_and_int_union_array[1]) +
-        FAILED_TO_VALUE_INITIALIZE(m_int_and_pod_struct_union) +
-        FAILED_TO_VALUE_INITIALIZE(m_int_and_pod_struct_union_array[0]) +
-        FAILED_TO_VALUE_INITIALIZE(m_int_and_pod_struct_union_array[1]);
-      return num_failures;
-    }
-  };
-
-  // Checks value-initialization of a number of small temporary objects.
-  // Returns the number of failures.
-  unsigned check_value_initialization_of_temporaries()
-  {
-    typedef long double long_double_type;
-    typedef unsigned char unsigned_char_type;
-    typedef void* void_ptr_type;
-
-    const unsigned num_failures = 
-      FAILED_TO_VALUE_INITIALIZE(enum_holder()) +
-      FAILED_TO_VALUE_INITIALIZE(enum_type()) +
-      FAILED_TO_VALUE_INITIALIZE(bool()) +
-      FAILED_TO_VALUE_INITIALIZE(char()) +
-      FAILED_TO_VALUE_INITIALIZE(unsigned_char_type()) +
-      FAILED_TO_VALUE_INITIALIZE(short()) +
-      FAILED_TO_VALUE_INITIALIZE(int()) +
-      FAILED_TO_VALUE_INITIALIZE(unsigned()) +
-      FAILED_TO_VALUE_INITIALIZE(long()) +
-      FAILED_TO_VALUE_INITIALIZE(float()) +
-      FAILED_TO_VALUE_INITIALIZE(double()) +
-      FAILED_TO_VALUE_INITIALIZE(long_double_type()) +
-      FAILED_TO_VALUE_INITIALIZE(void_ptr_type()) +
-      FAILED_TO_VALUE_INITIALIZE(bit_field_struct()) +
-      FAILED_TO_VALUE_INITIALIZE(function_ptr_type()) +
-      FAILED_TO_VALUE_INITIALIZE(function_ptr_struct()) +
-      FAILED_TO_VALUE_INITIALIZE(member_function_ptr_type()) +
-      FAILED_TO_VALUE_INITIALIZE(member_function_ptr_struct()) +
-      FAILED_TO_VALUE_INITIALIZE(ptr_to_member_type()) +
-      FAILED_TO_VALUE_INITIALIZE(ptr_to_member_struct()) +
-      FAILED_TO_VALUE_INITIALIZE(int_struct()) +
-      FAILED_TO_VALUE_INITIALIZE(int_struct_holder()) +
-      FAILED_TO_VALUE_INITIALIZE(pod_struct()) +
-      FAILED_TO_VALUE_INITIALIZE(derived_pod_struct()) +
-      FAILED_TO_VALUE_INITIALIZE(derived_struct()) +
-      FAILED_TO_VALUE_INITIALIZE(derived_int_struct()) +
-      FAILED_TO_VALUE_INITIALIZE(private_int_holder()) +
-      FAILED_TO_VALUE_INITIALIZE(char_array_struct()) +
-      FAILED_TO_VALUE_INITIALIZE(private_int_array_pair()) +
-      // IBM's XL V10.1.0.0 may fail to value-initialize a temporary of a non-POD
-      // type like enum_holder_and_int, virtual_destructor_holder, or non_pod_class, 
-      // as appeared at the Boost Config/trunk regression page in April 2010.
-      // Michael Wong (IBM Canada Ltd) confirmed the issue to me (Niels Dekker, LKEB),
-      // and gave it high priority.
-      FAILED_TO_VALUE_INITIALIZE(enum_holder_and_int()) +
-      FAILED_TO_VALUE_INITIALIZE(private_and_protected_int()) +
-      FAILED_TO_VALUE_INITIALIZE(user_defined_copy_constructor_holder_and_int()) +
-      // The following line, doing user_defined_destructor_holder(), causes  
-      // a compilation error on Embarcadero 2010 (Borland/CodeGear 6.21), 
-      // as reported by me (Niels Dekker, LKEB) in 2010, bug report 83851,
-      // "Value-initialized temporary triggers internal backend error C1798",
-      // http://qc.embarcadero.com/wc/qcmain.aspx?d=83851
-      FAILED_TO_VALUE_INITIALIZE(user_defined_destructor_holder()) +
-      FAILED_TO_VALUE_INITIALIZE(virtual_destructor_holder()) +
-      FAILED_TO_VALUE_INITIALIZE(non_pod_class()) +
-      FAILED_TO_VALUE_INITIALIZE(pod_struct_and_int_union()) +
-      FAILED_TO_VALUE_INITIALIZE(int_and_pod_struct_union());
-    return num_failures;
-  }
-
-  // Checks value-initialization of small heap objects.
-  // Returns the number of failures.
-  unsigned check_value_initialization_of_heap_objects()
-  {
-    const unsigned num_failures = 
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<enum_holder>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<enum_type>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<bool>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<char>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<unsigned char>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<short>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<int>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<unsigned>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<long>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<float>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<double>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<long double>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<void*>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<function_ptr_type>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<function_ptr_struct>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<member_function_ptr_type>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<member_function_ptr_struct>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<ptr_to_member_type>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<ptr_to_member_struct>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<bit_field_struct>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<int_struct>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<int_struct>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<pod_struct>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<derived_pod_struct>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<derived_struct>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<derived_int_struct>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<char_array_struct>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<private_int_holder>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<private_int_array_pair>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<enum_holder_and_int>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<private_and_protected_int>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<user_defined_copy_constructor_holder_and_int>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<user_defined_destructor_holder>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<virtual_destructor_holder>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<non_pod_class>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<pod_struct_and_int_union>() ) +
-      FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<int_and_pod_struct_union>() );
-    return num_failures;
-  }
-
-  // Equivalent to the dirty_stack() function from GCC Bug 33916,
-  // "Default constructor fails to initialize array members", reported in 2007 by
-  // Michael Elizabeth Chastain: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
-  void dirty_stack()
-  {
-    unsigned char array_on_stack[sizeof(value_initializer) + 256];
-    for (unsigned i = 0; i < sizeof(array_on_stack); ++i)
-    {
-      array_on_stack[i] = 0x11;
-    }
-  }
-
-
-  // Checks value-initialization of the subobjects of a temporary object, 
-  // an object on the stack, an object on the heap; furthermore it checks 
-  // value-initialization of a number of smaller temporary objects and 
-  // heap objects.
-  int test()
-  {
-    unsigned total_num_failures = 0;
-
-    dirty_stack();
-    const unsigned num_failures_of_subobjects_of_a_temporary =
-      value_initializer().check_value_initialization_of_subobjects();
-
-    total_num_failures += num_failures_of_subobjects_of_a_temporary;
-    if ( total_num_failures > 0 )
-    {
-      std::cout << "- Number of subobject initialization failures of a temporary: "
-        << num_failures_of_subobjects_of_a_temporary << std::endl;
-    }
-    dirty_stack();
-    value_initializer object_on_stack;
-    const unsigned num_failures_of_subobjects_on_stack =
-      object_on_stack.check_value_initialization_of_subobjects();
-
-    total_num_failures += num_failures_of_subobjects_on_stack;
-    if ( total_num_failures > 0 )
-    {
-      std::cout << "- Number of subobject initialization failures on the stack: "
-        << num_failures_of_subobjects_on_stack << std::endl;
-    }
-    const value_initializer* const ptr = new value_initializer();
-    const unsigned num_failures_of_subobjects_on_heap = ptr->check_value_initialization_of_subobjects();
-    delete ptr;
-
-    total_num_failures += num_failures_of_subobjects_on_heap;
-    if ( total_num_failures > 0 )
-    {
-      std::cout << "- Number of subobject initialization failures on the heap: "
-        << num_failures_of_subobjects_on_heap << std::endl;
-    }
-
-    dirty_stack();
-    const unsigned num_failures_of_temporaries = check_value_initialization_of_temporaries();
-
-    total_num_failures += num_failures_of_temporaries;
-    if ( total_num_failures > 0 )
-    {
-      std::cout << "- Number of initialization failures of temporary objects: "
-        << num_failures_of_temporaries << std::endl;
-    }
-
-    const unsigned num_failures_of_heap_objects = check_value_initialization_of_heap_objects();
-
-    total_num_failures += num_failures_of_heap_objects;
-    if ( total_num_failures > 0 )
-    {
-      std::cout << "- Number of failures of heap objects: "
-        << num_failures_of_heap_objects << std::endl;
-    }
-
-    if ( total_num_failures > 0 )
-    {
-      std::cout << "-- Total number of initialization failures ("
-        << num_failures_of_subobjects_of_a_temporary << '+'
-        << num_failures_of_subobjects_on_stack << '+'
-        << num_failures_of_subobjects_on_heap << '+'
-        << num_failures_of_temporaries << '+'
-        << num_failures_of_heap_objects << "): "
-        << total_num_failures
-        << "\nDetected by boost_no_complete_value_initialization::test() revision 32."
-        << std::endl;
-    }
-    return static_cast<int>(total_num_failures);
-  }
-
-}  // End of namespace.
diff --git a/SRC/Boost/libs/config/test/boost_no_constexpr.ipp b/SRC/Boost/libs/config/test/boost_no_constexpr.ipp
deleted file mode 100755
index a650ffa..0000000
--- a/SRC/Boost/libs/config/test/boost_no_constexpr.ipp
+++ /dev/null
@@ -1,43 +0,0 @@
-//  (C) Copyright Beman Dawes 2008
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_CONSTEXPR 
-//  TITLE:         C++0x constexpr unavailable
-//  DESCRIPTION:   The compiler does not support C++0x constexpr
-
-namespace boost_no_constexpr {
-
-constexpr int square(int x) { return x * x; }  // from N2235
-
-// from 5.19:
-constexpr const int* addr(const int& ir) { return &ir; }
-static const int x = 5;
-constexpr const int* xp = addr(x);
-
-struct A 
-{
-   constexpr A(int i) : val(i) { }
-   constexpr operator int() { return val; }
-   constexpr operator long() { return 43; }
-private:
-   int val;
-};
-
-template<int> struct X { };
-
-constexpr A a = 42;
-
-X<a> xx; // OK: unique conversion to int
-
-int test()
-{
-  int i = square(5);
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_ctype_functions.ipp b/SRC/Boost/libs/config/test/boost_no_ctype_functions.ipp
deleted file mode 100755
index 98019c7..0000000
--- a/SRC/Boost/libs/config/test/boost_no_ctype_functions.ipp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_CTYPE_FUNCTIONS
-//  TITLE:         functions in <ctype.h>
-//  DESCRIPTION:   The Platform does not provide functions for the character-
-//                 classifying operations in <ctype.h>. Some platforms provide
-//                 macros and don't provide functions. Under C++ it's an error
-//                 to provide the macros at all, but that's a separate issue.
-
-#include <ctype.h>
-
-namespace boost_no_ctype_functions {
-
-extern "C" {
-  typedef int (* character_classify_function)(int);
-}
-
-void pass_function(character_classify_function)
-{
-}
-
-int test()
-{
-   pass_function(isalpha);
-   pass_function(isalnum);
-   pass_function(iscntrl);
-   pass_function(isdigit);
-   pass_function(isgraph);
-   pass_function(islower);
-   pass_function(isprint);
-   pass_function(ispunct);
-   pass_function(isspace);
-   pass_function(isupper);
-   pass_function(isxdigit);
-   return 0;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_cv_spec.ipp b/SRC/Boost/libs/config/test/boost_no_cv_spec.ipp
deleted file mode 100755
index 96fb9f1..0000000
--- a/SRC/Boost/libs/config/test/boost_no_cv_spec.ipp
+++ /dev/null
@@ -1,47 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_CV_SPECIALIZATIONS
-//  TITLE:         template specialisations of cv-qualified types
-//  DESCRIPTION:   If template specialisations for cv-qualified types
-//                 conflict with a specialisation for a cv-unqualififed type.
-
-
-namespace boost_no_cv_specializations{
-
-template <class T>
-struct is_int
-{
-};
-
-template <>
-struct is_int<int>
-{};
-
-template <>
-struct is_int<const int>
-{};
-
-template <>
-struct is_int<volatile int>
-{};
-
-template <>
-struct is_int<const volatile int>
-{};
-
-int test()
-{
-   return 0;
-}
-
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_cv_void_spec.ipp b/SRC/Boost/libs/config/test/boost_no_cv_void_spec.ipp
deleted file mode 100755
index 54f432b..0000000
--- a/SRC/Boost/libs/config/test/boost_no_cv_void_spec.ipp
+++ /dev/null
@@ -1,45 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_CV_VOID_SPECIALIZATIONS
-//  TITLE:         template specialisations of cv-qualified void
-//  DESCRIPTION:   If template specialisations for cv-void types
-//                 conflict with a specialisation for void.
-
-
-namespace boost_no_cv_void_specializations{
-
-template <class T>
-struct is_void
-{
-};
-
-template <>
-struct is_void<void>
-{};
-
-template <>
-struct is_void<const void>
-{};
-
-template <>
-struct is_void<volatile void>
-{};
-
-template <>
-struct is_void<const volatile void>
-{};
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_cwchar.ipp b/SRC/Boost/libs/config/test/boost_no_cwchar.ipp
deleted file mode 100755
index e37e513..0000000
--- a/SRC/Boost/libs/config/test/boost_no_cwchar.ipp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_CWCHAR
-//  TITLE:         <wchar.h> and <cwchar>
-//  DESCRIPTION:   The Platform does not provide <wchar.h> and <cwchar>.
-
-#include <cwchar>
-#include <wchar.h>
-
-namespace boost_no_cwchar{
-
-int test()
-{
-   wchar_t c1[2] = { 0 };
-   wchar_t c2[2] = { 0 };
-   if(wcscmp(c1,c2) || wcslen(c1)) return -1;
-   wcscpy(c1,c2);
-   wcsxfrm(c1,c2,0);
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_cwctype.ipp b/SRC/Boost/libs/config/test/boost_no_cwctype.ipp
deleted file mode 100755
index 17d878c..0000000
--- a/SRC/Boost/libs/config/test/boost_no_cwctype.ipp
+++ /dev/null
@@ -1,47 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_CWCTYPE
-//  TITLE:         <wctype.h> and <cwctype>
-//  DESCRIPTION:   The Platform does not provide <wctype.h> and <cwctype>.
-
-//
-// Note that some platforms put these prototypes in the wrong headers,
-// we have to include pretty well all the string headers on the chance that
-// one of them will contain what we want!
-//
-#include <cwctype>
-#include <wctype.h>
-#include <cwchar>
-#include <wchar.h>
-#include <cctype>
-#include <ctype.h>
-
-namespace boost_no_cwctype{
-
-int test()
-{
-   if(!(iswalpha(L'a') &&
-        iswcntrl(L'\r') &&
-        iswdigit(L'2') &&
-        iswlower(L'a') &&
-        iswpunct(L',') &&
-        iswspace(L' ') &&
-        iswupper(L'A') &&
-        iswxdigit(L'A')
-   )) return -1;
-   if(L'a' != towlower(L'A')) return -1;
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_decltype.ipp b/SRC/Boost/libs/config/test/boost_no_decltype.ipp
deleted file mode 100755
index 6a2fb67..0000000
--- a/SRC/Boost/libs/config/test/boost_no_decltype.ipp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-//  (C) Copyright Beman Dawes 2008
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_DECLTYPE
-//  TITLE:         C++0x decltype unavailable
-//  DESCRIPTION:   The compiler does not support C++0x decltype
-
-namespace boost_no_decltype {
-
-struct test_class
-{
-   test_class() {}
-};
-
-test_class get_test_class()
-{
-   return test_class();
-}
-
-template<typename F>
-void baz(F f)
-{
-    //
-    // Strangely VC-10 deduces the return type of F
-    // to be "test_class&".  Remove the constructor
-    // from test_class and then decltype does work OK!!
-    //
-    typedef decltype(f()) res;
-    res r;
-}
-
-int test()
-{
-  int i;
-  decltype(i) j;
-  decltype(get_test_class()) k;
-  #ifndef _MSC_VER 
-  // Although the VC++ decltype is buggy, we none the less enable support, 
-  // so don't test the bugs for now!
-  baz(get_test_class);
-  #endif
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_decltype_n3276.ipp b/SRC/Boost/libs/config/test/boost_no_decltype_n3276.ipp
deleted file mode 100755
index d33ed54..0000000
--- a/SRC/Boost/libs/config/test/boost_no_decltype_n3276.ipp
+++ /dev/null
@@ -1,137 +0,0 @@
-
-//  (C) Copyright Eric Niebler 2011
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_DECLTYPE_N3276
-//  TITLE:         C++0x decltype v1.1 unavailable
-//  DESCRIPTION:   The compiler does not support extensions to C++0x
-//                 decltype as described in N3276 and accepted in Madrid,
-//                 March 2011:
-//                 <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf>
-
-namespace boost_no_decltype_n3276 {
-
-// A simplified result_of implementation.
-// that uses decltype.
-template<typename Sig>
-struct result_of;
-
-template<typename T>
-T& declvar();
-
-// use decltype
-template<typename Fun, typename T>
-struct result_of<Fun(T)>
-{
-    typedef decltype(declvar<Fun>()(declvar<T>())) type;
-};
-
-template<typename Fun, typename T, typename U>
-struct result_of<Fun(T, U)>
-{
-    typedef decltype(declvar<Fun>()(declvar<T>(), declvar<U>())) type;
-};
-
-// simple tuple type
-template<typename A0 = void, typename A1 = void, typename A2 = void>
-struct tuple;
-
-template<typename A0>
-struct tuple<A0, void, void>
-{
-    A0 a0_;
-
-    tuple(A0 const &a0)
-      : a0_(a0)
-    {}
-};
-
-template<typename A0, typename A1>
-struct tuple<A0, A1>
-{
-    A0 a0_;
-    A1 a1_;
-
-    tuple(A0 const &a0, A1 const & a1)
-      : a0_(a0)
-      , a1_(a1)
-    {}
-};
-
-// A node in an expression tree
-template<class Tag, class Args> // Args is a tuple.
-struct Expr;
-
-// A function object that builds expression nodes
-template<class Tag>
-struct MakeExpr
-{
-    template<class T>
-    Expr<Tag, tuple<T> > operator()(T const & t) const
-    {
-        return Expr<Tag, tuple<T> >(tuple<T>(t));
-    }
-
-    template<class T, typename U>
-    Expr<Tag, tuple<T, U> > operator()(T const & t, U const & u) const
-    {
-        return Expr<Tag, tuple<T, U> >(tuple<T, U>(t, u));
-    }
-};
-
-// Here are tag types that encode in an expression node
-// what operation created the node.
-struct Terminal;
-struct BinaryPlus;
-struct FunctionCall;
-
-typedef MakeExpr<Terminal> MakeTerminal;
-typedef MakeExpr<BinaryPlus> MakeBinaryPlus;
-typedef MakeExpr<FunctionCall> MakeFunctionCall;
-
-template<class Tag, class Args>
-struct Expr
-{
-    Args args_;
-
-    explicit Expr(Args const & t) : args_(t) {}
-
-    // An overloaded operator+ that creates a binary plus node
-    template<typename RTag, typename RArgs>
-    typename result_of<MakeBinaryPlus(Expr, Expr<RTag, RArgs>)>::type
-    operator+(Expr<RTag, RArgs> const &right) const
-    {
-        return MakeBinaryPlus()(*this, right);
-    }
-
-    // An overloaded function call operator that creates a unary
-    // function call node
-    typename result_of<MakeFunctionCall(Expr)>::type
-    operator()() const
-    {
-        return MakeFunctionCall()(*this);
-    }
-};
-
-int test()
-{
-    // This is a terminal in an expression tree
-    Expr<Terminal, tuple<int> > i = MakeTerminal()(42);
-
-    i + i; // OK, this creates a binary plus node.
-
-    i(); // OK, this creates a unary function-call node.
-         // NOTE: If N3276 has not been implemented, this
-         // line will set off an infinite cascade of template
-         // instantiations that will run the compiler out of
-         // memory.
-
-    return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_ded_typename.ipp b/SRC/Boost/libs/config/test/boost_no_ded_typename.ipp
deleted file mode 100755
index d6847a1..0000000
--- a/SRC/Boost/libs/config/test/boost_no_ded_typename.ipp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  (C) Copyright John Maddock and Dave Abrahams 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_DEDUCED_TYPENAME
-//  TITLE:         deduced typenames
-//  DESCRIPTION:   Some compilers can't use the typename keyword in deduced contexts.
-
-#ifndef BOOST_DEDUCED_TYPENAME
-#define BOOST_DEDUCED_TYPENAME typename
-#endif
-
-
-namespace boost_deduced_typename{
-
-template <class T>
-int f(T const volatile*, BOOST_DEDUCED_TYPENAME T::type* = 0)
-{
-        return 0;
-}
-
-struct X { typedef int type; };
-
-int test()
-{
-   return f((X*)0);
-}
-
-}
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_defaulted_functions.ipp b/SRC/Boost/libs/config/test/boost_no_defaulted_functions.ipp
deleted file mode 100755
index a88ef3d..0000000
--- a/SRC/Boost/libs/config/test/boost_no_defaulted_functions.ipp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright Beman Dawes 2008
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_DEFAULTED_FUNCTIONS 
-//  TITLE:         C++0x defaulted functions unavailable
-//  DESCRIPTION:   The compiler does not support C++0x defaulted functions
-
-#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
-#  error Defaulted functions aren't really supported in non-C++0x mode
-#endif
-
-namespace boost_no_defaulted_functions {
-
-  struct foo {
-    foo() = default;
-  };
-
-int test()
-{
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_deleted_functions.ipp b/SRC/Boost/libs/config/test/boost_no_deleted_functions.ipp
deleted file mode 100755
index df9a461..0000000
--- a/SRC/Boost/libs/config/test/boost_no_deleted_functions.ipp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright Beman Dawes 2008
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_DELETED_FUNCTIONS 
-//  TITLE:         C++0x =delete functions unavailable
-//  DESCRIPTION:   The compiler does not support C++0x =delete functions
-
-#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
-#  error Deleted functions aren't really supported in non-C++0x mode
-#endif
-
-namespace boost_no_deleted_functions {
-
-  struct foo {
-    foo() = delete;
-  };
-
-int test()
-{
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_dep_nested_class.ipp b/SRC/Boost/libs/config/test/boost_no_dep_nested_class.ipp
deleted file mode 100755
index b20ae0b..0000000
--- a/SRC/Boost/libs/config/test/boost_no_dep_nested_class.ipp
+++ /dev/null
@@ -1,58 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-//  TITLE:         dependent nested template classes
-//  DESCRIPTION:   The compiler fails to compile
-//                 a nested class that has a dependent base class:
-//                 template<typename T>
-//                 struct foo : {
-//                    template<typename U>
-//                    struct bar : public U {};
-//                 };
-#ifndef BOOST_NESTED_TEMPLATE
-#define BOOST_NESTED_TEMPLATE template
-#endif
-
-
-namespace boost_no_dependent_nested_derivations{
-
-struct UDT1{};
-struct UDT2{};
-
-template<typename T> 
-struct foo 
-{
-  template<typename U> 
-  struct bar : public foo<U> 
-  {};
-};
-
-template <class T>
-void foo_test(T)
-{
-   typedef foo<T> foo_type;
-   typedef typename foo_type::BOOST_NESTED_TEMPLATE bar<UDT2> bar_type;
-   foo<T> ft;
-   bar_type bt;
-   (void) &bt;
-   (void) &ft;
-}
-
-int test()
-{
-   foo_test(UDT1());
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_dep_val_param.ipp b/SRC/Boost/libs/config/test/boost_no_dep_val_param.ipp
deleted file mode 100755
index d973a4c..0000000
--- a/SRC/Boost/libs/config/test/boost_no_dep_val_param.ipp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-//  TITLE:         dependent non-type template parameters
-//  DESCRIPTION:   Template value parameters cannot have a dependent 
-//                 type, for example:
-//                 template<class T, typename T::type value> 
-//                 class X { ... };
-
-
-namespace boost_no_dependent_types_in_template_value_parameters{
-
-template <class T, typename T::type value = 0>
-class X
-{};
-
-template <class T>
-struct typifier
-{
-   typedef T type;
-};
-
-int test()
-{
-   X<typifier<int> > x;
-   (void) &x;        // avoid "unused variable" warning
-   return 0;
-}
-
-}
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_excep_std.ipp b/SRC/Boost/libs/config/test/boost_no_excep_std.ipp
deleted file mode 100755
index 6f89e84..0000000
--- a/SRC/Boost/libs/config/test/boost_no_excep_std.ipp
+++ /dev/null
@@ -1,35 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_EXCEPTION_STD_NAMESPACE
-//  TITLE:         <exception> is in namespace std
-//  DESCRIPTION:   Some std libs don't put the contents of
-//                 <exception> in namespace std.
-
-#include <exception>
-
-namespace boost_no_exception_std_namespace{
-
-int t(int i)
-{
-   if(i)
-      std::terminate();
-   return 0;
-}
-
-int test()
-{
-   return t(0);
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_exceptions.ipp b/SRC/Boost/libs/config/test/boost_no_exceptions.ipp
deleted file mode 100755
index 40aaf91..0000000
--- a/SRC/Boost/libs/config/test/boost_no_exceptions.ipp
+++ /dev/null
@@ -1,43 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_EXCEPTIONS
-//  TITLE:         exception handling support
-//  DESCRIPTION:   The compiler in its current translation mode supports
-//                 exception handling.
-
-
-namespace boost_no_exceptions{
-
-void throw_it(int i)
-{
-   throw i;
-}
-
-int test()
-{
-   try
-   {
-      throw_it(2);
-   }
-   catch(int i)
-   {
-      return (i == 2) ? 0 : -1;
-   }
-   catch(...)
-   {
-      return -1;
-   }
-   return -1;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_exp_func_tem_arg.ipp b/SRC/Boost/libs/config/test/boost_no_exp_func_tem_arg.ipp
deleted file mode 100755
index f476938..0000000
--- a/SRC/Boost/libs/config/test/boost_no_exp_func_tem_arg.ipp
+++ /dev/null
@@ -1,55 +0,0 @@
-//  (C) Copyright John Maddock 2001.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-//  TITLE:         non-deduced function template parameters
-//  DESCRIPTION:   Can only use deduced template arguments when
-//                 calling function template instantiations.
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1200)
-#error "This is known to be buggy under VC6"
-#endif
-
-
-namespace boost_no_explicit_function_template_arguments{
-
-struct foo
-{
-  template<class T> int bar(){return 0;}
-  template<int I>   int bar(){return 1;}
-};
-
-int test_0()
-{
-  return 0;
-}
-
-
-template <int i>
-bool foo_17041(int j)
-{
-   return (i == j);
-}
-
-int test()
-{
-   foo f;
-   int a = f.bar<char>();
-   int b = f.bar<2>();
-   if((a !=0) || (b != 1))return -1;
-
-   if(0 == foo_17041<8>(8)) return -1;
-   if(0 == foo_17041<4>(4)) return -1;
-   if(0 == foo_17041<5>(5)) return -1;
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_explicit_cvt_ops.ipp b/SRC/Boost/libs/config/test/boost_no_explicit_cvt_ops.ipp
deleted file mode 100755
index 2b37bf7..0000000
--- a/SRC/Boost/libs/config/test/boost_no_explicit_cvt_ops.ipp
+++ /dev/null
@@ -1,30 +0,0 @@
-//  (C) Copyright Beman Dawes 2008
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_EXPLICIT_CONVERSION_OPERATORS 
-//  TITLE:         C++0x explicit conversion operators unavailable
-//  DESCRIPTION:   The compiler does not support C++0x explicit conversion operators
-
-#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
-#  error This feature isn't really available in non-C++0x mode
-#endif
-
-namespace boost_no_explicit_conversion_operators {
-
-  struct foo {
-    explicit operator int() { return 1; }
-  };
-
-int test()
-{
-  foo f;
-  int i = int(f);
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_extern_template.ipp b/SRC/Boost/libs/config/test/boost_no_extern_template.ipp
deleted file mode 100755
index 8527dca..0000000
--- a/SRC/Boost/libs/config/test/boost_no_extern_template.ipp
+++ /dev/null
@@ -1,41 +0,0 @@
-//  (C) Copyright Beman Dawes 2008
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_EXTERN_TEMPLATE
-//  TITLE:         C++0x extern template unavailable
-//  DESCRIPTION:   The compiler does not support C++0x extern template
-
-namespace boost_no_extern_template {
-
-template<class T, class U> void f(T const* p, U const* q)
-{
-   p = q;
-}
-
-template <class T>
-class must_not_compile
-{
-public:
-   void f(T const* p, int const* q);
-};
-
-template <class T>
-void must_not_compile<T>::f(T const* p, int const* q)
-{
-   p = q;
-}
-
-extern template void f<>(int const*, float const*);
-extern template class must_not_compile<int>;
-
-int test()
-{
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_fenv_h.ipp b/SRC/Boost/libs/config/test/boost_no_fenv_h.ipp
deleted file mode 100755
index d67b609..0000000
--- a/SRC/Boost/libs/config/test/boost_no_fenv_h.ipp
+++ /dev/null
@@ -1,58 +0,0 @@
-//  (C) Copyright John Maddock 2001.
-//  (C) Copyright Bryce Lelbach 2010. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_FENV_H
-//  TITLE:         fenv.h
-//  DESCRIPTION:   There is no standard <fenv.h> available. If <fenv.h> is
-//                 available, <boost/detail/fenv.hpp> should be included
-//                 instead of directly including <fenv.h>.
-
-#include <fenv.h>
-
-namespace boost_no_fenv_h {
-
-int test()
-{
-  /// C++0x required typedefs
-  typedef ::fenv_t has_fenv_t;
-  typedef ::fexcept_t has_fexcept_t;
-
-  /// C++0x required macros
-  #if !defined(FE_DIVBYZERO)
-    #error platform does not define FE_DIVBYZERO
-  #endif
-  
-  #if !defined(FE_INEXACT)
-    #error platform does not define FE_INEXACT
-  #endif
-
-  #if !defined(FE_ALL_EXCEPT)
-    #error platform does not define FE_ALL_EXCEPT
-  #endif
-
-   int i;
-   fexcept_t fe;
-   fenv_t env;
-  
-   i = feclearexcept(FE_ALL_EXCEPT);
-   i += fetestexcept(FE_ALL_EXCEPT); // All flags should be zero
-   i += fegetexceptflag(&fe, FE_ALL_EXCEPT);
-   i += fesetexceptflag(&fe, FE_ALL_EXCEPT);
-   i += feraiseexcept(0);
-   i += fesetround(fegetround());
-   i += fegetenv(&env);
-   i += fesetenv(&env);
-   i += feholdexcept(&env);
-   if(i)
-      i += feupdateenv(&env);
-
-   return i;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_func_tmp_order.ipp b/SRC/Boost/libs/config/test/boost_no_func_tmp_order.ipp
deleted file mode 100755
index 568844f..0000000
--- a/SRC/Boost/libs/config/test/boost_no_func_tmp_order.ipp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-//  TITLE:         no function template ordering
-//  DESCRIPTION:   The compiler does not perform 
-//                 function template ordering or its function
-//                 template ordering is incorrect.
-//  
-//                 template<typename T> void f(T); // #1
-//                 template<typename T, typename U> void f(T (*)(U)); // #2
-//                 void bar(int);
-//                 f(&bar); // should choose #2.
-
-
-namespace boost_no_function_template_ordering{
-
-template<typename T>
-bool f(T)
-{
-   return false;
-}
-
-template<typename T, typename U>
-bool f(T (*)(U))
-{
-   return true;
-}
-
-void bar(int)
-{
-}
-
-int test()
-{
-   int i = 0;
-   return f(i) || !f(&bar);
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_function_template_default_args.ipp b/SRC/Boost/libs/config/test/boost_no_function_template_default_args.ipp
deleted file mode 100755
index 7d1033e..0000000
--- a/SRC/Boost/libs/config/test/boost_no_function_template_default_args.ipp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  (C) Copyright Mathias Gaunard 2009. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-//  TITLE:         Default template arguments for function templates
-//  DESCRIPTION:   Default template arguments for function templates are not supported.
-
-namespace boost_no_function_template_default_args
-{
-
-template<typename T = int>
-T foo()
-{
-    return 0;
-}
-
-template<typename T, typename U>
-bool is_same(T, U)
-{
-    return false;
-}
-
-template<typename T>
-bool is_same(T, T)
-{
-    return true;
-}
-
-int test()
-{
-   return !is_same(foo<>(), 0) || is_same(foo<>(), 0L);
-}
-
-} // namespace boost_no_function_template_default_args
diff --git a/SRC/Boost/libs/config/test/boost_no_function_type_spec.ipp b/SRC/Boost/libs/config/test/boost_no_function_type_spec.ipp
deleted file mode 100755
index cc40500..0000000
--- a/SRC/Boost/libs/config/test/boost_no_function_type_spec.ipp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  (C) Copyright John Maddock 2001.
-//  (C) Copyright Aleksey Gurtovoy 2003.
-//  (C) Copyright Alisdair Meredith 2006.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-//  TITLE:         template specialisations of function types
-//  DESCRIPTION:   If the compiler cannot handle template specialisations
-//                 for function types
-
-
-namespace boost_no_function_type_specializations{
-
-template< typename T > struct is_function
-{
-};
-
-struct X {};
-enum   Y { value };
-
-//  Tesst can declare specializations
-typedef is_function< int( int ) >   scalar_types;
-typedef is_function< X( X ) >       user_defined_type;
-typedef is_function< int( Y ) >     check_enum;
-typedef is_function< X( X, int ) >  multiple_arguments;
-
-//  Partial specialization test
-//  confirm const, volatile, pointers and references in args
-template< typename X, typename Y, typename Z >
-struct is_function< X( Y const &, volatile Z * ) >
-{
-};
-
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_i64_limits.ipp b/SRC/Boost/libs/config/test/boost_no_i64_limits.ipp
deleted file mode 100755
index 98ff75f..0000000
--- a/SRC/Boost/libs/config/test/boost_no_i64_limits.ipp
+++ /dev/null
@@ -1,29 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_MS_INT64_NUMERIC_LIMITS
-//  TITLE:         std::numeric_limits<__int64>
-//  DESCRIPTION:   The C++ implementation does not provide the a specialisation
-//                 for std::numeric_limits<__int64>.
-
-#include <limits>
-
-namespace boost_no_ms_int64_numeric_limits{
-
-int test()
-{
-   if(0 == std::numeric_limits<__int64>::is_specialized) return -1;
-   if(0 == std::numeric_limits<unsigned __int64>::is_specialized) return -1;
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_initializer_lists.ipp b/SRC/Boost/libs/config/test/boost_no_initializer_lists.ipp
deleted file mode 100755
index c28582f..0000000
--- a/SRC/Boost/libs/config/test/boost_no_initializer_lists.ipp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright Daniel James 2008.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-
-//  MACRO:         BOOST_NO_INITIALIZER_LISTS
-//  TITLE:         Initializer Lists 
-//  DESCRIPTION:   If the compiler does not support C++0x initializer lists
-
-#include <initializer_list>
-#include <vector>
-#include <string>
-
-namespace boost_no_initializer_lists {
-
-void f(std::initializer_list<int>)
-{
-}
-
-int test()
-{
-    std::vector<std::string> v{"once", "upon", "a", "time"}; // See C++ std 8.5.4
-    f( { 1, 2, 3, 4 } );
-    std::initializer_list<int> x = { 1, 2 };
-    return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_inline_memb_init.ipp b/SRC/Boost/libs/config/test/boost_no_inline_memb_init.ipp
deleted file mode 100755
index 92d31ba..0000000
--- a/SRC/Boost/libs/config/test/boost_no_inline_memb_init.ipp
+++ /dev/null
@@ -1,55 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-//  TITLE:         inline member constant initialisation
-//  DESCRIPTION:   Compiler violates std::9.4.2/4.
-
-
-namespace boost_no_inclass_member_initialization{
-
-struct UDT{};
-
-
-template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>
-struct ice_or_helper
-{
-   static const bool value = true;
-};
-template <>
-struct ice_or_helper<false, false, false, false, false, false, false>
-{
-   static const bool value = false;
-};
-
-template <bool b1, bool b2, bool b3 = false, bool b4 = false, bool b5 = false, bool b6 = false, bool b7 = false>
-struct ice_or
-{
-   static const bool value = ice_or_helper<b1, b2, b3, b4, b5, b6, b7>::value;
-};
-
-template <class T>
-struct is_int
-{
-   static const bool value = false;
-};
-
-template <>
-struct is_int<int>
-{
-   static const bool value = true;
-};
-
-int test()
-{
-   typedef int a1[ice_or< is_int<int>::value, is_int<UDT>::value>::value ? 1 : -1];
-   return 0;
-}
-
-}
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_integral_int64_t.ipp b/SRC/Boost/libs/config/test/boost_no_integral_int64_t.ipp
deleted file mode 100755
index 5abfbe8..0000000
--- a/SRC/Boost/libs/config/test/boost_no_integral_int64_t.ipp
+++ /dev/null
@@ -1,54 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_INTEGRAL_INT64_T
-//  TITLE:         long long and integral constant expressions
-//  DESCRIPTION:   The platform supports long long in integral constant expressions.
-
-#include <cstdlib>
-
-
-namespace boost_no_integral_int64_t{
-
-#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-enum{ mask = 1uLL << 50 };
-
-template <unsigned long long m>
-struct llt
-{
-   enum{ value = m };
-};
-#else
-#ifdef __GNUC__
-__extension__
-#endif
-static const unsigned long long mask = 1uLL << 50;
-
-#ifdef __GNUC__
-__extension__
-#endif
-template <unsigned long long m>
-struct llt
-{
-#ifdef __GNUC__
-__extension__
-#endif
-   static const unsigned long long value = m;
-};
-#endif
-
-int test()
-{
-   return llt<mask>::value != (1uLL << 50);
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_iosfwd.ipp b/SRC/Boost/libs/config/test/boost_no_iosfwd.ipp
deleted file mode 100755
index fa5a849..0000000
--- a/SRC/Boost/libs/config/test/boost_no_iosfwd.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  (C) Copyright Peter Dimov 2007.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_IOSFWD
-//  TITLE:         <iosfwd>
-//  DESCRIPTION:   The <iosfwd> header is missing
-
-#include <iosfwd>
-
-namespace boost_no_iosfwd
-{
-
-int test()
-{
-   return 0;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_iostream.ipp b/SRC/Boost/libs/config/test/boost_no_iostream.ipp
deleted file mode 100755
index ef91f58..0000000
--- a/SRC/Boost/libs/config/test/boost_no_iostream.ipp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  (C) Copyright Peter Dimov 2007.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_IOSTREAM
-//  TITLE:         No iostream support
-//  DESCRIPTION:   The <iostream>, <istream>, <ostream> headers are missing
-
-#include <iostream>
-#include <istream>
-#include <ostream>
-
-namespace boost_no_iostream
-{
-
-int test()
-{
-   return 0;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_is_abstract.ipp b/SRC/Boost/libs/config/test/boost_no_is_abstract.ipp
deleted file mode 100755
index 5266e30..0000000
--- a/SRC/Boost/libs/config/test/boost_no_is_abstract.ipp
+++ /dev/null
@@ -1,53 +0,0 @@
-//  (C) Copyright John Maddock and Dave Abrahams 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_IS_ABSTRACT
-//  TITLE:         is_abstract implementation technique
-//  DESCRIPTION:   Some compilers can't handle the code used for is_abstract even if they support SFINAE.
-
-
-namespace boost_no_is_abstract{
-
-#if defined(__CODEGEARC__)
-template<class T>
-struct is_abstract_test
-{
-   enum{ value = __is_abstract(T) };
-};
-#else
-template<class T>
-struct is_abstract_test
-{
-   // Deduction fails if T is void, function type,
-   // reference type (14.8.2/2)or an abstract class type
-   // according to review status issue #337
-   //
-   template<class U>
-   static double check_sig(U (*)[1]);
-   template<class U>
-   static char check_sig(...);
-
-#ifdef __GNUC__
-   enum{ s1 = sizeof(is_abstract_test<T>::template check_sig<T>(0)) };
-#else
-   enum{ s1 = sizeof(check_sig<T>(0)) };
-#endif
-
-   enum{ value = (s1 == sizeof(char)) };
-};
-#endif
-
-struct non_abstract{};
-struct abstract{ virtual void foo() = 0; };
-
-int test()
-{
-   return is_abstract_test<non_abstract>::value == is_abstract_test<abstract>::value;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_iter_construct.ipp b/SRC/Boost/libs/config/test/boost_no_iter_construct.ipp
deleted file mode 100755
index 22d2edb..0000000
--- a/SRC/Boost/libs/config/test/boost_no_iter_construct.ipp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-//  TITLE:         template iterator-constructors
-//  DESCRIPTION:   The standard library does not provide
-//                 templated iterator constructors for its containers.
-
-#include <vector>
-#include <deque>
-#include <list>
-
-namespace boost_no_templated_iterator_constructors{
-
-int test()
-{
-   std::vector<int> v1;
-   std::deque<int>  d1;
-   std::list<char>  l1;
-
-   //
-   // now try constructors:
-   std::vector<long> v2(d1.begin(), d1.end());
-   std::deque<long>  d2(v1.begin(), v1.end());
-   std::list<long>   l2(d1.begin(), d1.end());
-
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_lambdas.ipp b/SRC/Boost/libs/config/test/boost_no_lambdas.ipp
deleted file mode 100755
index f860e01..0000000
--- a/SRC/Boost/libs/config/test/boost_no_lambdas.ipp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_LAMBDAS
-//  TITLE:         C++0x lambda feature unavailable
-//  DESCRIPTION:   The compiler does not support the C++0x lambda feature
-
-#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
-#  error This feature isn't really available in non-C++0x mode
-#endif
-
-namespace boost_no_lambdas {
-
-int test()
-{
-  [](){};
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_limits.ipp b/SRC/Boost/libs/config/test/boost_no_limits.ipp
deleted file mode 100755
index 39e094b..0000000
--- a/SRC/Boost/libs/config/test/boost_no_limits.ipp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_LIMITS
-//  TITLE:         <limits>
-//  DESCRIPTION:   The C++ implementation does not provide the <limits> header.
-
-#include <limits>
-
-namespace boost_no_limits{
-
-int test()
-{
-   if(0 == std::numeric_limits<int>::is_specialized) return -1;
-   if(0 == std::numeric_limits<long>::is_specialized) return -1;
-   if(0 == std::numeric_limits<char>::is_specialized) return -1;
-   if(0 == std::numeric_limits<unsigned char>::is_specialized) return -1;
-   if(0 == std::numeric_limits<signed char>::is_specialized) return -1;
-   if(0 == std::numeric_limits<float>::is_specialized) return -1;
-   if(0 == std::numeric_limits<double>::is_specialized) return -1;
-   if(0 == std::numeric_limits<long double>::is_specialized) return -1;
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_limits_const_exp.ipp b/SRC/Boost/libs/config/test/boost_no_limits_const_exp.ipp
deleted file mode 100755
index b3490d3..0000000
--- a/SRC/Boost/libs/config/test/boost_no_limits_const_exp.ipp
+++ /dev/null
@@ -1,42 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-//  TITLE:         compile time constants in <limits>
-//  DESCRIPTION:   constants such as numeric_limits<T>::is_signed
-//                 are not available for use at compile-time.
-
-#include <limits>
-
-namespace boost_no_limits_compile_time_constants{
-
-struct UDT{};
-
-template <int i>
-struct assert_ice
-{
-   enum { value = i };
-};
-
-int test()
-{
-   assert_ice< ::std::numeric_limits<int>::is_signed > one;
-   assert_ice< ::std::numeric_limits<double>::is_specialized > two;
-   assert_ice< ::std::numeric_limits<UDT>::is_specialized > three;
-   assert_ice< ::std::numeric_limits<UDT>::is_signed > four;
-   (void)one;
-   (void)two;
-   (void)three;
-   (void)four;
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_limits_lowest.ipp b/SRC/Boost/libs/config/test/boost_no_limits_lowest.ipp
deleted file mode 100755
index d3dbbcf..0000000
--- a/SRC/Boost/libs/config/test/boost_no_limits_lowest.ipp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright Vicente J. Botet Escriba 2010. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_NUMERIC_LIMITS_LOWEST
-//  TITLE:         static function lowest() in numeric_limits class <limits>
-//  DESCRIPTION:   static function numeric_limits<T>::lowest() are not available for use.
-
-#include <limits>
-
-namespace boost_no_numeric_limits_lowest{
-
-int f()
-{
-    // this is never called, it just has to compile:
-    return std::numeric_limits<int>::lowest();
-}
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_ll_limits.ipp b/SRC/Boost/libs/config/test/boost_no_ll_limits.ipp
deleted file mode 100755
index d91103c..0000000
--- a/SRC/Boost/libs/config/test/boost_no_ll_limits.ipp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-//  TITLE:         std::numeric_limits<long long>
-//  DESCRIPTION:   The C++ implementation does not provide the a specialisation
-//                 for std::numeric_limits<long long>.
-
-#include <limits>
-
-namespace boost_no_long_long_numeric_limits{
-
-int test()
-{
-#ifdef __GNUC__
-__extension__
-#endif
-   typedef long long llt;
-#ifdef __GNUC__
-__extension__
-#endif
-   typedef unsigned long long ullt;
-   if(0 == std::numeric_limits<llt>::is_specialized) return -1;
-   if(0 == std::numeric_limits<ullt>::is_specialized) return -1;
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_long_long.ipp b/SRC/Boost/libs/config/test/boost_no_long_long.ipp
deleted file mode 100755
index bdaabb3..0000000
--- a/SRC/Boost/libs/config/test/boost_no_long_long.ipp
+++ /dev/null
@@ -1,36 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_LONG_LONG
-//  TITLE:         C++0x long long unavailable
-//  DESCRIPTION:   The platform does not support C++0x long long.
-
-#include <cstdlib>
-
-
-namespace boost_no_long_long{
-
-int test()
-{
-#ifdef __GNUC__
-   __extension__ long long lli = 0LL;
-   __extension__ unsigned long long ulli = 0uLL;
-#else
-   long long lli = 0LL;
-   unsigned long long ulli = 0uLL;
-#endif
-   (void)&lli;
-   (void)&ulli;
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_mem_func_spec.ipp b/SRC/Boost/libs/config/test/boost_no_mem_func_spec.ipp
deleted file mode 100755
index 613b161..0000000
--- a/SRC/Boost/libs/config/test/boost_no_mem_func_spec.ipp
+++ /dev/null
@@ -1,62 +0,0 @@
-//  (C) Copyright John Maddock 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-//  TITLE:         Specialisation of individual member functions.
-//  DESCRIPTION:   Verify that specializations of individual members
-//                 of template classes work OK.
-
-
-namespace boost_no_member_function_specializations{
-
-
-template<class T>
-class foo
-{
-public:
-   foo();
-   foo(const T&);
-   ~foo();
-   int bar();
-};
-
-// declare specialisations:
-template<> foo<int>::foo();
-template<> foo<int>::foo(const int&);
-template<> foo<int>::~foo();
-template<> int foo<int>::bar();
-
-// provide defaults:
-template<class T> foo<T>::foo(){}
-template<class T> foo<T>::foo(const T&){}
-template<class T> foo<T>::~foo(){}
-template<class T> int foo<T>::bar(){ return 0; }
-
-// provide defs:
-template<> foo<int>::foo(){}
-template<> foo<int>::foo(const int&){}
-template<> foo<int>::~foo(){}
-template<> int foo<int>::bar(){ return 1; }
-
-
-int test()
-{
-   foo<double> f1;
-   foo<int> f2;
-   f1.bar();
-   f2.bar();
-   return 0;
-}
-
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_mem_tem_keyword.ipp b/SRC/Boost/libs/config/test/boost_no_mem_tem_keyword.ipp
deleted file mode 100755
index 4195f21..0000000
--- a/SRC/Boost/libs/config/test/boost_no_mem_tem_keyword.ipp
+++ /dev/null
@@ -1,69 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-//  TITLE:         member templates keyword
-//  DESCRIPTION:   Member template keyword not supported.
-
-namespace boost_no_member_template_keyword{
-
-#ifndef BOOST_NO_MEMBER_TEMPLATES
-
-template <class T>
-struct foo
-{
-   template <class U>
-   struct nested
-   {
-      typedef foo<U> other;
-   };
-   template <class U>
-   void mfoo(const U&);
-};
-
-template <class T>
-template <class U>
-void foo<T>::mfoo(const U&)
-{
-}
-
-template <class T>
-void test_proc(T i)
-{
-   foo<double> f1;
-   typedef foo<T> ifoo;
-   f1.mfoo(i);
-   f1.template mfoo<T>(i);
-   typedef typename ifoo::template nested<double> bound_t;
-   typedef typename bound_t::other other;
-   other o;
-   (void) &o;         // avoid "unused variable" warning
-}
-
-#else
-template <class T>
-void test_proc(T)
-{
-}
-#endif
-
-int test()
-{
-   test_proc(0);
-   return 0;
-}
-
-
-}
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_mem_tem_pnts.ipp b/SRC/Boost/libs/config/test/boost_no_mem_tem_pnts.ipp
deleted file mode 100755
index 5c56e39..0000000
--- a/SRC/Boost/libs/config/test/boost_no_mem_tem_pnts.ipp
+++ /dev/null
@@ -1,50 +0,0 @@
-//  Copyright (C) Joaquin M Lopez Munoz 2004.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-//  TITLE:         pointers to members as template arguments
-//  DESCRIPTION:   Non-type template parameters which take pointers
-//                 to members, fail to work correctly.
-
-
-namespace boost_no_pointer_to_member_template_parameters{
-
-struct pair
-{
-   int x, y;
-
-   pair(int x_,int y_)
-      : x(x_), y(y_)
-      {}
-};
-
-template<int pair::* PtrToPairMember>
-struct foo
-{
-   int bar(pair& p)
-   { 
-      return p.*PtrToPairMember;
-   }
-};
-
-int test()
-{
-   pair p(0,1);
-   foo<&pair::x> fx;
-   foo<&pair::y> fy;
-
-   if((fx.bar(p) != 0) || (fy.bar(p) != 1))
-      return 1;
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_mem_templ_frnds.ipp b/SRC/Boost/libs/config/test/boost_no_mem_templ_frnds.ipp
deleted file mode 100755
index 1dafc59..0000000
--- a/SRC/Boost/libs/config/test/boost_no_mem_templ_frnds.ipp
+++ /dev/null
@@ -1,72 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-//  TITLE:         member template friends
-//  DESCRIPTION:   Member template friend syntax
-//                 ("template<class P> friend class frd;")
-//                 described in the C++ Standard,
-//                 14.5.3, not supported.
-
-
-namespace boost_no_member_template_friends{
-
-template <class T>
-class foobar;
-
-template <class T>
-class foo;
-
-template <class T>
-bool must_be_friend_proc(const foo<T>& f);
-
-template <class T>
-class foo
-{
-private:
-   template<typename Y> friend class foobar;
-   template<typename Y> friend class foo;
-   template<typename Y> friend bool must_be_friend_proc(const foo<Y>& f);
-   int i;
-public:
-   foo(){ i = 0; }
-   template <class U>
-   foo(const foo<U>& f){ i = f.i; }
-};
-
-template <class T>
-bool must_be_friend_proc(const foo<T>& f)
-{ return f.i != 0; }
-
-template <class T>
-class foobar
-{
-   int i;
-public:
-   template <class U>
-   foobar(const foo<U>& f)
-   { i = f.i; }
-};
-
-
-int test()
-{
-   foo<int> fi;
-   foo<double> fd(fi);
-   must_be_friend_proc(fd);
-   foobar<long> fb(fi);
-   (void) &fb;           // avoid "unused variable" warning
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_mem_templates.ipp b/SRC/Boost/libs/config/test/boost_no_mem_templates.ipp
deleted file mode 100755
index 6c28268..0000000
--- a/SRC/Boost/libs/config/test/boost_no_mem_templates.ipp
+++ /dev/null
@@ -1,64 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_MEMBER_TEMPLATES
-//  TITLE:         member templates
-//  DESCRIPTION:   Member template functions not fully supported.
-
-#ifndef BOOST_NESTED_TEMPLATE
-#define BOOST_NESTED_TEMPLATE template
-#endif
-
-
-namespace boost_no_member_templates{
-
-template <class T>
-struct foo
-{
-   template <class U>
-   struct nested
-   {
-      typedef foo<U> other;
-   };
-   template <class U>
-   void mfoo(const U&);
-};
-
-template <class T>
-template <class U>
-void foo<T>::mfoo(const U&)
-{
-}
-
-template <class T>
-void test_proc(T i)
-{
-   foo<double> f1;
-   typedef foo<T> ifoo;
-   f1.mfoo(i);
-   //f1.template mfoo<T>(i);
-   typedef typename ifoo::BOOST_NESTED_TEMPLATE nested<double> bound_t;
-   typedef typename bound_t::other other;
-   other o;
-   (void) &o;
-}
-
-int test()
-{
-   test_proc(0);
-   return 0;
-}
-
-
-}
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_nested_friendship.ipp b/SRC/Boost/libs/config/test/boost_no_nested_friendship.ipp
deleted file mode 100755
index 8c77146..0000000
--- a/SRC/Boost/libs/config/test/boost_no_nested_friendship.ipp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  Copyright (C) 2008 N. Musatti
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_NESTED_FRIENDSHIP
-//  TITLE:         Access to private members from nested classes
-//  DESCRIPTION:   If the compiler fails to support access to private members
-//                 from nested classes
-
-namespace boost_no_nested_friendship {
-
-class A {
-public:
-   A() {}
-   struct B {
-      int f(A& a) 
-      {
-         a.f1();
-         a.f2(a); 
-         return a.b; 
-      }
-   };
-
-private:
-   static int b;
-   static void f1(){}
-   template <class T>
-   static void f2(const T&){}
-};
-
-int A::b = 0;
-
-int test()
-{
-    A a;
-    A::B b;
-    return b.f(a);
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_noexcept.ipp b/SRC/Boost/libs/config/test/boost_no_noexcept.ipp
deleted file mode 100755
index 2292eb6..0000000
--- a/SRC/Boost/libs/config/test/boost_no_noexcept.ipp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  Copyright (C) 2011 Takaya Saito
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_NOEXCEPT
-//  TITLE:         C++0x noexcept unavailable
-//  DESCRIPTION:   The compiler does not support C++0x noexcept
-
-namespace boost_no_noexcept {
-
-int f() noexcept ;
-int g() noexcept( noexcept( f() ) ) ;
-
-int test()
-{
-  bool b = noexcept( g() );
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_nullptr.ipp b/SRC/Boost/libs/config/test/boost_no_nullptr.ipp
deleted file mode 100755
index 51467ae..0000000
--- a/SRC/Boost/libs/config/test/boost_no_nullptr.ipp
+++ /dev/null
@@ -1,21 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_NULLPTR
-//  TITLE:         C++0x nullptr feature unavailable
-//  DESCRIPTION:   The compiler does not support the C++0x nullptr feature
-
-namespace boost_no_nullptr {
-
-int test()
-{
-  int * p = nullptr;
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_ops_in_namespace.ipp b/SRC/Boost/libs/config/test/boost_no_ops_in_namespace.ipp
deleted file mode 100755
index 9df4bb0..0000000
--- a/SRC/Boost/libs/config/test/boost_no_ops_in_namespace.ipp
+++ /dev/null
@@ -1,73 +0,0 @@
-//  (C) Copyright Jeremy Siek 1999. 
-//  (C) Copyright David Abrahams 1999.
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_OPERATORS_IN_NAMESPACE
-//  TITLE:         friend operators in namespace
-//  DESCRIPTION:   Compiler requires inherited operator
-//                 friend functions to be defined at namespace scope,
-//                 then using'ed to boost.
-//                 Probably GCC specific.  See boost/operators.hpp for example.
-
-namespace boost{
-
-//
-// the following is taken right out of <boost/operators.hpp>
-//
-template <class T>
-struct addable1
-{
-     friend T operator+(T x, const T& y) { return x += y; }
-     friend bool operator != (const T& a, const T& b) { return !(a == b); }
-};
-
-struct spoiler1
-{};
-
-spoiler1 operator+(const spoiler1&,const spoiler1&);
-bool operator !=(const spoiler1&, const spoiler1&);
-
-
-}  // namespace boost
-
-namespace boost_no_operators_in_namespace{
-
-struct spoiler2
-{};
-
-spoiler2 operator+(const spoiler2&,const spoiler2&);
-bool operator !=(const spoiler2&, const spoiler2&);
-
-
-class add : public boost::addable1<add>
-{
-   int val;
-public:
-   add(int i) { val = i; }
-   add(const add& a){ val = a.val; }
-   add& operator+=(const add& a) { val += a.val; return *this; }
-   bool operator==(const add& a)const { return val == a.val; }
-};
-
-int test()
-{
-   add a1(2);
-   add a2(3);
-   add a3(0);
-   a3 = a1 + a2;
-   bool b1 = (a1 == a2);
-   b1 = (a1 != a2);
-   (void)b1;
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_part_spec_def_args.ipp b/SRC/Boost/libs/config/test/boost_no_part_spec_def_args.ipp
deleted file mode 100755
index add61be..0000000
--- a/SRC/Boost/libs/config/test/boost_no_part_spec_def_args.ipp
+++ /dev/null
@@ -1,46 +0,0 @@
-//  (C) Copyright John Maddock 2008. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-//  TITLE:         Default arguments in partial specialization
-//  DESCRIPTION:   The compiler chokes if a partial specialization relies on default arguments in the primary template.
-
-namespace boost_no_partial_specialization_implicit_default_args{
-
-template <class T>
-struct one
-{
-};
-
-template <class T1, class T2 = void>
-struct tag
-{
-};
-
-template <class T1>
-struct tag<one<T1> >
-{
-};
-
-template <class T>
-void consume_variable(T const&){}
-
-int test()
-{
-   tag<int> t1;
-   consume_variable(t1);
-   tag<one<int> > t2;
-   consume_variable(t2);
-   tag<int, double> t3;
-   consume_variable(t3);
-   tag<one<int>, double> t4;
-   consume_variable(t4);
-   return 0;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_partial_spec.ipp b/SRC/Boost/libs/config/test/boost_no_partial_spec.ipp
deleted file mode 100755
index d704aec..0000000
--- a/SRC/Boost/libs/config/test/boost_no_partial_spec.ipp
+++ /dev/null
@@ -1,56 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-//  TITLE:         partial specialisation
-//  DESCRIPTION:   Class template partial specialization
-//                 (14.5.4 [temp.class.spec]) not supported.
-
-
-namespace boost_no_template_partial_specialization{
-
-template <class T>
-struct partial1
-{
-   typedef T& type;
-};
-
-template <class T>
-struct partial1<T&>
-{
-   typedef T& type;
-};
-
-template <class T, bool b>
-struct partial2
-{
-   typedef T& type;
-};
-
-template <class T>
-struct partial2<T,true>
-{
-   typedef T type;
-};
-
-
-int test()
-{
-   int i = 0;
-   partial1<int&>::type p1 = i;
-   partial2<int&,true>::type p2 = i;
-   (void)p1;
-   (void)p2;
-   (void)i;
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_priv_aggregate.ipp b/SRC/Boost/libs/config/test/boost_no_priv_aggregate.ipp
deleted file mode 100755
index 1fc47e5..0000000
--- a/SRC/Boost/libs/config/test/boost_no_priv_aggregate.ipp
+++ /dev/null
@@ -1,39 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_PRIVATE_IN_AGGREGATE
-//  TITLE:         private in aggregate types
-//  DESCRIPTION:   The compiler misreads 8.5.1, treating classes
-//                 as non-aggregate if they contain private or
-//                 protected member functions.
-
-
-namespace boost_no_private_in_aggregate{
-
-struct t
-{
-private:
-   void foo(){ i = j; }
-public:
-   void uncallable(); // silences warning from GCC
-   int i;
-   int j;
-};
-
-
-int test()
-{
-   t inst = { 0, 0, };
-   (void) &inst;      // avoid "unused variable" warning
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_ptr_mem_const.ipp b/SRC/Boost/libs/config/test/boost_no_ptr_mem_const.ipp
deleted file mode 100755
index b2b31d5..0000000
--- a/SRC/Boost/libs/config/test/boost_no_ptr_mem_const.ipp
+++ /dev/null
@@ -1,86 +0,0 @@
-//  Copyright (c) 2000
-//  Cadenza New Zealand Ltd
-//
-//  (C) Copyright John Maddock 2001. 
-//
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_POINTER_TO_MEMBER_CONST
-//  TITLE:         pointers to const member functions
-//  DESCRIPTION:   The compiler does not correctly handle
-//                 pointers to const member functions, preventing use
-//                 of these in overloaded function templates.
-//                 See boost/functional.hpp for example.
-
-#include <functional>
-
-namespace boost_no_pointer_to_member_const{
-
-template <class S, class T>
-class const_mem_fun_t : public std::unary_function<const T*, S>
-{
-public:
-  explicit const_mem_fun_t(S (T::*p)() const)
-      :
-      ptr(p)
-  {}
-  S operator()(const T* p) const
-  {
-      return (p->*ptr)();
-  }
-private:
-  S (T::*ptr)() const;        
-};
-
-template <class S, class T, class A>
-class const_mem_fun1_t : public std::binary_function<const T*, A, S>
-{
-public:
-  explicit const_mem_fun1_t(S (T::*p)(A) const)
-      :
-      ptr(p)
-  {}
-  S operator()(const T* p, const A& x) const
-  {
-      return (p->*ptr)(x);
-  }
-private:
-  S (T::*ptr)(A) const;
-};
-
-template<class S, class T>
-inline const_mem_fun_t<S,T> mem_fun(S (T::*f)() const)
-{
-  return const_mem_fun_t<S,T>(f);
-}
-
-template<class S, class T, class A>
-inline const_mem_fun1_t<S,T,A> mem_fun(S (T::*f)(A) const)
-{
-  return const_mem_fun1_t<S,T,A>(f);
-}
-
-class tester
-{
-public:
-   void foo1()const{}
-   int foo2(int i)const{ return i*2; }
-};
-
-
-int test()
-{
-   boost_no_pointer_to_member_const::mem_fun(&tester::foo1);
-   boost_no_pointer_to_member_const::mem_fun(&tester::foo2);
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_raw_literals.ipp b/SRC/Boost/libs/config/test/boost_no_raw_literals.ipp
deleted file mode 100755
index adb5914..0000000
--- a/SRC/Boost/libs/config/test/boost_no_raw_literals.ipp
+++ /dev/null
@@ -1,22 +0,0 @@
-//  (C) Copyright Beman Dawes 2008
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_RAW_LITERALS
-//  TITLE:         C++0x raw string literals unavailable
-//  DESCRIPTION:   The compiler does not support C++0x raw string literals
-
-namespace boost_no_raw_literals {
-
-int test()
-{
-  const char* s = R"(abc)";
-  const wchar_t* ws = LR"(abc)";
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_ret_det.ipp b/SRC/Boost/libs/config/test/boost_no_ret_det.ipp
deleted file mode 100755
index d7489d6..0000000
--- a/SRC/Boost/libs/config/test/boost_no_ret_det.ipp
+++ /dev/null
@@ -1,36 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_UNREACHABLE_RETURN_DETECTION
-//  TITLE:         detection of unreachable returns
-//  DESCRIPTION:   If a return is unreachable, then no return
-//                 statement should be required, however some
-//                 compilers insist on it, while other issue a
-//                 bunch of warnings if it is in fact present.
-
-
-namespace boost_no_unreachable_return_detection{
-
-int checker()
-{
-   throw 0;
-   // no return statement: we don't ever get here...
-}
-
-int check = 0;
-
-int test()
-{
-   if(check)
-      return checker();
-   return 0;
-}
-
-}
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_rtti.ipp b/SRC/Boost/libs/config/test/boost_no_rtti.ipp
deleted file mode 100755
index 447ce32..0000000
--- a/SRC/Boost/libs/config/test/boost_no_rtti.ipp
+++ /dev/null
@@ -1,57 +0,0 @@
-//  (C) Copyright John Maddock 2008.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_RTTI
-//  TITLE:         RTTI unavailable
-//  DESCRIPTION:   The compiler does not support RTTI in this mode
-
-#include <typeinfo>
-
-class A
-{
-public:
-   A(){}
-   virtual void t();
-};
-
-void A::t()
-{
-}
-
-class B : public A
-{
-public:
-   B(){}
-   virtual void t();
-};
-
-void B::t()
-{
-}
-
-namespace boost_no_rtti
-{
-
-int check_f(const A& a)
-{
-   return typeid(a) == typeid(B) ? 0 : 1;
-}
-
-int test()
-{
-   try{
-      B b;
-      return check_f(b);
-   }
-   catch(...)
-   {
-      return 1;
-   }
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_rvalue_references.ipp b/SRC/Boost/libs/config/test/boost_no_rvalue_references.ipp
deleted file mode 100755
index b6c488b..0000000
--- a/SRC/Boost/libs/config/test/boost_no_rvalue_references.ipp
+++ /dev/null
@@ -1,26 +0,0 @@
-//  Copyright (C) 2007 Douglas Gregor
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_RVALUE_REFERENCES
-//  TITLE:         C++0x rvalue references unavailable
-//  DESCRIPTION:   The compiler does not support C++0x rvalue references
-
-namespace boost_no_rvalue_references {
-
-void g(int&) {}
-
-template<typename F, typename T>
-void forward(F f, T&& t) { f(static_cast<T&&>(t)); }
-
-int test()
-{
-   int x;
-   forward(g, x);
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_scoped_enums.ipp b/SRC/Boost/libs/config/test/boost_no_scoped_enums.ipp
deleted file mode 100755
index 64f7738..0000000
--- a/SRC/Boost/libs/config/test/boost_no_scoped_enums.ipp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright Beman Dawes 2008
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_SCOPED_ENUMS
-//  TITLE:         C++0x scoped enum unavailable
-//  DESCRIPTION:   The compiler does not support C++0x scoped enum
-
-namespace boost_no_scoped_enums {
-
-int test()
-{
-  enum class scoped_enum { yes, no, maybe };
-  // This tests bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
-  bool b = (scoped_enum::yes == scoped_enum::yes) 
-   && (scoped_enum::yes != scoped_enum::no) 
-   && (scoped_enum::yes < scoped_enum::no) 
-   && (scoped_enum::yes <= scoped_enum::no) 
-   && (scoped_enum::no > scoped_enum::yes) 
-   && (scoped_enum::no >= scoped_enum::yes);
-  return b ? 0 : 1;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_sfinae.ipp b/SRC/Boost/libs/config/test/boost_no_sfinae.ipp
deleted file mode 100755
index 03d204d..0000000
--- a/SRC/Boost/libs/config/test/boost_no_sfinae.ipp
+++ /dev/null
@@ -1,68 +0,0 @@
-// (C) Copyright Eric Friedman 2003. 
-// Some modifications by Jeremiah Willcock and Jaakko Jarvi.
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  MACRO:         BOOST_NO_SFINAE
-//  TITLE:         SFINAE (substitution failure is not an error)
-//  DESCRIPTION:   SFINAE not supported.
-
-
-namespace boost_no_sfinae {
-
-namespace f1_a {
-template <typename T>
-int f1(T*, float)
-{
-  return 0;
-}
-} using f1_a::f1;
-
-namespace f1_b {
-template <typename T>
-int f1(T*, int, typename T::int_* = 0)
-{
-  return 1;
-}
-} using f1_b::f1;
-
-namespace f2_a {
-template <typename T>
-int f2(T*, float)
-{
-  return 2;
-}
-} using f2_a::f2;
-
-namespace f2_b {
-template <typename T>
-typename T::int_ f2(T*, int)
-{
-  return 3;
-}
-} using f2_b::f2;
-
-struct test_t
-{
-  typedef int int_;
-};
-
-struct test2_t {};
-
-int test()
-{
-  test_t* t = 0;
-  test2_t* t2 = 0;
-  bool correct = 
-    (f1(t, 0) == 1) &&
-    (f1(t2, 0) == 0) &&
-    (f2(t, 0) == 3) &&
-    (f2(t2, 0) == 2);
-  return !correct;
-}
-
-}
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_sfinae_expr.ipp b/SRC/Boost/libs/config/test/boost_no_sfinae_expr.ipp
deleted file mode 100755
index c8085d6..0000000
--- a/SRC/Boost/libs/config/test/boost_no_sfinae_expr.ipp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  (C) Copyright Mathias Gaunard 2009. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_SFINAE_EXPR
-//  TITLE:         SFINAE for expressions
-//  DESCRIPTION:   SFINAE for expressions not supported.
-
-namespace boost_no_sfinae_expr
-{
-
-template<typename T>
-struct has_foo
-{
-    typedef char NotFound;
-    struct Found { char x[2]; };
-                                                                        
-    template<int> struct dummy {};
-    
-    template<class X> static Found test(dummy< sizeof((*(X*)0).foo(), 0) >*);
-    template<class X> static NotFound test( ... );
-       
-    static const bool value  = (sizeof(Found) == sizeof(test<T>(0)));
-};
-
-struct test1 {};
-struct test2 { void foo(); };
-
-int test()
-{
-   return has_foo<test1>::value || !has_foo<test2>::value;
-}
-
-} // namespace boost_no_sfinae_expr
diff --git a/SRC/Boost/libs/config/test/boost_no_sstream.ipp b/SRC/Boost/libs/config/test/boost_no_sstream.ipp
deleted file mode 100755
index 23f29af..0000000
--- a/SRC/Boost/libs/config/test/boost_no_sstream.ipp
+++ /dev/null
@@ -1,29 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_STRINGSTREAM
-//  TITLE:         <sstream>
-//  DESCRIPTION:   The C++ implementation does not provide the <sstream> header.
-
-#include <sstream>
-#include <string>
-
-namespace boost_no_stringstream{
-
-int test()
-{
-   std::stringstream ss;
-   ss << "abc";
-   std::string s = ss.str();
-   return (s != "abc");
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_static_assert.ipp b/SRC/Boost/libs/config/test/boost_no_static_assert.ipp
deleted file mode 100755
index 213dcf2..0000000
--- a/SRC/Boost/libs/config/test/boost_no_static_assert.ipp
+++ /dev/null
@@ -1,20 +0,0 @@
-//  Copyright (C) 2007 Douglas Gregor
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_STATIC_ASSERT
-//  TITLE:         C++0x static_assert unavailable
-//  DESCRIPTION:   The compiler does not support C++0x static assertions
-
-namespace boost_no_static_assert {
-
-int test()
-{
-   static_assert(true, "OK");
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_std_allocator.ipp b/SRC/Boost/libs/config/test/boost_no_std_allocator.ipp
deleted file mode 100755
index e9dffa9..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_allocator.ipp
+++ /dev/null
@@ -1,70 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_STD_ALLOCATOR
-//  TITLE:         std::allocator
-//  DESCRIPTION:   The C++ standard library does not provide
-//                 a standards conforming std::allocator.
-
-#ifndef BOOST_NESTED_TEMPLATE
-#define BOOST_NESTED_TEMPLATE template
-#endif
-
-#include <memory>
-
-namespace boost_no_std_allocator{
-
-template <class T>
-int test_allocator(const T& i)
-{
-   typedef std::allocator<int> alloc1_t;
-   typedef typename alloc1_t::size_type           size_type;
-   typedef typename alloc1_t::difference_type     difference_type;
-   typedef typename alloc1_t::pointer             pointer;
-   typedef typename alloc1_t::const_pointer       const_pointer;
-   typedef typename alloc1_t::reference           reference;
-   typedef typename alloc1_t::const_reference     const_reference;
-   typedef typename alloc1_t::value_type          value_type;
-
-   typedef typename alloc1_t::BOOST_NESTED_TEMPLATE rebind<double> binder_t;
-   typedef typename binder_t::other alloc2_t;
-
-   alloc1_t a1;
-   alloc1_t a2(a1);
-
-   pointer p = a1.allocate(1);
-   const_pointer cp = p;
-   a1.construct(p,i);
-   size_type s = a1.max_size();
-   (void)s;
-   reference r = *p;
-   const_reference cr = *cp;
-   if(p != a1.address(r)) return -1;
-   if(cp != a1.address(cr)) return -1;
-   a1.destroy(p);
-   a1.deallocate(p,1);
-
-   alloc2_t a3(a1);
-   // this chokes early versions of the MSL library
-   // and isn't currently required by anything in boost
-   // so don't test for now...
-   // a3 = a2;
-   return 0;
-}
-
-
-int test()
-{
-   return test_allocator(0);
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_std_distance.ipp b/SRC/Boost/libs/config/test/boost_no_std_distance.ipp
deleted file mode 100755
index 8fc8493..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_distance.ipp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_STD_DISTANCE
-//  TITLE:         std::distance
-//  DESCRIPTION:   The platform does not have a conforming version of std::distance.
-
-#include <algorithm>
-#include <iterator>
-
-
-namespace boost_no_std_distance{
-
-int test()
-{
-   const char* begin = 0;
-   const char* end = 0;
-   if(std::distance(begin, end)) return -1;
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_std_iter_traits.ipp b/SRC/Boost/libs/config/test/boost_no_std_iter_traits.ipp
deleted file mode 100755
index 66188da..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_iter_traits.ipp
+++ /dev/null
@@ -1,80 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_STD_ITERATOR_TRAITS
-//  TITLE:         std::iterator_traits
-//  DESCRIPTION:   The compiler does not provide a standard
-//                 compliant implementation of std::iterator_traits.
-//                 Note that the compiler may still have a non-standard
-//                 implementation.
-
-#include <iterator>
-#include <stddef.h>
-
-namespace boost_no_std_iterator_traits{
-
-struct UDT_iterator
-{
-   typedef int value_type;
-   typedef ptrdiff_t difference_type;
-   typedef int* pointer;
-   typedef int& reference;
-   typedef std::input_iterator_tag iterator_category;
-};
-
-struct UDT{};
-
-
-int test()
-{
-   std::iterator_traits<UDT_iterator>::value_type v = 0;
-   std::iterator_traits<UDT_iterator>::difference_type d = 0;
-   std::iterator_traits<UDT_iterator>::pointer p = &v;
-   std::iterator_traits<UDT_iterator>::reference r = v;
-   std::iterator_traits<UDT_iterator>::iterator_category cat;
-
-   std::iterator_traits<UDT*>::value_type v2;
-   std::iterator_traits<UDT*>::difference_type d2 = 0;
-   std::iterator_traits<UDT*>::pointer p2 = &v2;
-   std::iterator_traits<UDT*>::reference r2 = v2;
-   std::iterator_traits<UDT*>::iterator_category cat2;
-
-   std::iterator_traits<const UDT*>::value_type v3;
-   std::iterator_traits<const UDT*>::difference_type d3 = 0;
-   std::iterator_traits<const UDT*>::pointer p3 = &v3;
-   std::iterator_traits<const UDT*>::reference r3 = v3;
-   std::iterator_traits<const UDT*>::iterator_category cat3;
-
-   //
-   // suppress some warnings:
-   //
-   (void) &v;
-   (void) &d;
-   (void) &p;
-   (void) &r;
-   (void) &cat;
-
-   (void) &v2;
-   (void) &d2;
-   (void) &p2;
-   (void) &r2;
-   (void) &cat2;
-
-   (void) &v3;
-   (void) &d3;
-   (void) &p3;
-   (void) &r3;
-   (void) &cat3;
-
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_std_iterator.ipp b/SRC/Boost/libs/config/test/boost_no_std_iterator.ipp
deleted file mode 100755
index 9a92274..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_iterator.ipp
+++ /dev/null
@@ -1,67 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_STD_ITERATOR
-//  TITLE:         std::iterator
-//  DESCRIPTION:   The C++ implementation fails to provide the
-//                 std::iterator class.
-
-#include <iterator>
-#include <stddef.h>
-
-namespace boost_no_std_iterator{
-
-
-int test()
-{
-   typedef std::iterator<
-      std::random_access_iterator_tag,
-      int,
-      ptrdiff_t,
-      int*,
-      int&
-      > iterator_type;
-
-   iterator_type::value_type v = 0;
-   iterator_type::difference_type d = 0;
-   iterator_type::pointer p = &v;
-   iterator_type::reference r = v;
-   iterator_type::iterator_category cat;
-
-   typedef std::iterator<
-      std::random_access_iterator_tag,
-      int
-      > iterator_type_2;
-
-   iterator_type_2::value_type v2 = 0;
-   iterator_type_2::difference_type d2 = 0;
-   iterator_type_2::pointer p2 = &v2;
-   iterator_type_2::reference r2 = v2;
-   iterator_type_2::iterator_category cat2;
-   //
-   // suppress some warnings:
-   //
-   (void) &v;
-   (void) &d;
-   (void) &p;
-   (void) &r;
-   (void) &cat;
-
-   (void) &v2;
-   (void) &d2;
-   (void) &p2;
-   (void) &r2;
-   (void) &cat2;
-
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_std_locale.ipp b/SRC/Boost/libs/config/test/boost_no_std_locale.ipp
deleted file mode 100755
index 627ddbe..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_locale.ipp
+++ /dev/null
@@ -1,36 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_STD_LOCALE
-//  TITLE:         std::locale
-//  DESCRIPTION:   The standard library lacks std::locale.
-
-#include <locale>
-
-namespace boost_no_std_locale{
-
-int test()
-{
-   std::locale l1;
-   //
-   // ideally we would construct a locale from a facet,
-   // but that requires template member functions which 
-   // may not be available, instead just check that we can
-   // construct a pointer to a facet:
-   //
-   const std::ctype<char>* pct = 0;
-   (void) &l1;
-   (void) &pct;
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_std_messages.ipp b/SRC/Boost/libs/config/test/boost_no_std_messages.ipp
deleted file mode 100755
index c6e298d..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_messages.ipp
+++ /dev/null
@@ -1,39 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_STD_MESSAGES
-//  TITLE:         std::messages<charT>
-//  DESCRIPTION:   The standard library lacks a conforming std::messages facet.
-
-#include <locale>
-
-
-namespace boost_no_std_messages{
-
-//
-// this just has to complile, not run:
-//
-void test_messages(const std::messages<char>& m)
-{
-   static const std::locale l;
-   static const std::string name("foobar");
-   m.close(m.open(name, l));
-}
-
-int test()
-{
-   const std::messages<char>* pmf = 0;
-   (void) &pmf;
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_std_min_max.ipp b/SRC/Boost/libs/config/test/boost_no_std_min_max.ipp
deleted file mode 100755
index 1d37844..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_min_max.ipp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_STD_MIN_MAX
-//  TITLE:         std::min and std::max
-//  DESCRIPTION:   The C++ standard library does not provide
-//                 the (min)() and (max)() template functions that
-//                 should be in <algorithm>.
-
-#include <algorithm>
-
-namespace boost_no_std_min_max{
-
-
-int test()
-{
-   int i = 0;
-   int j = 2;
-   if((std::min)(i,j) != 0) return -1;
-   if((std::max)(i,j) != 2) return -1;
-
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_std_oi_assign.ipp b/SRC/Boost/libs/config/test/boost_no_std_oi_assign.ipp
deleted file mode 100755
index 4a32e4d..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_oi_assign.ipp
+++ /dev/null
@@ -1,42 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-//  TITLE:         That the std output iterators are assignable
-//  DESCRIPTION:   Some std lib output iterators are not assignable
-//                 even this is required by the standard.
-
-#include <iterator>
-#include <list>
-#include <iostream>
-
-
-namespace boost_no_std_output_iterator_assign {
-
-int test()
-{
-   std::list<int> l;
-   std::back_insert_iterator<std::list<int> > bi1(l);
-   std::back_insert_iterator<std::list<int> > bi2(l);
-   bi1 = bi2;
-
-   std::front_insert_iterator<std::list<int> > fi1(l);
-   std::front_insert_iterator<std::list<int> > fi2(l);
-   fi1 = fi2;
-
-   std::ostream_iterator<char> osi1(std::cout);
-   std::ostream_iterator<char> osi2(std::cout);
-   osi1 = osi2;
-   
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_std_typeinfo.ipp b/SRC/Boost/libs/config/test/boost_no_std_typeinfo.ipp
deleted file mode 100755
index b84602d..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_typeinfo.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright Peter Dimov 2007.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_STD_TYPEINFO
-//  TITLE:         type_info not in namespace std
-//  DESCRIPTION:   The <typeinfo> header declares type_info in the global namespace instead of std
-
-#include <typeinfo>
-
-namespace boost_no_std_typeinfo
-{
-
-int test()
-{
-   std::type_info * p = 0;
-   return 0;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_std_unordered.ipp b/SRC/Boost/libs/config/test/boost_no_std_unordered.ipp
deleted file mode 100755
index 754a966..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_unordered.ipp
+++ /dev/null
@@ -1,27 +0,0 @@
-//  (C) Copyright John Maddock and Dave Abrahams 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_STD_UNORDERED
-//  TITLE:         <unordered_map> and <unordered_set>
-//  DESCRIPTION:   Check for C++0x unordered container support
-
-#include <unordered_map>
-#include <unordered_set>
-
-namespace boost_no_std_unordered{
-
-int test()
-{
-   std::unordered_map<int, int> im;
-   std::unordered_set<int> is;
-   std::unordered_multimap<int, int> imm;
-   std::unordered_multiset<int> ims;
-   return im.size() + is.size() + imm.size() + ims.size(); // all zero
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_std_use_facet.ipp b/SRC/Boost/libs/config/test/boost_no_std_use_facet.ipp
deleted file mode 100755
index f1f8ea8..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_use_facet.ipp
+++ /dev/null
@@ -1,29 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-//  MACRO:         BOOST_NO_STD_USE_FACET
-//  TITLE:         std::use_facet
-//  DESCRIPTION:   The standard library lacks a conforming std::use_facet.
-
-#include <locale>
-
-namespace boost_no_std_use_facet{
-
-int test()
-{
-   std::locale l;
-   const std::ctype<char>& ct = std::use_facet<std::ctype<char> >(l);
-   (void)ct;
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_std_wstreambuf.ipp b/SRC/Boost/libs/config/test/boost_no_std_wstreambuf.ipp
deleted file mode 100755
index 4e04807..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_wstreambuf.ipp
+++ /dev/null
@@ -1,108 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_STD_WSTREAMBUF
-//  TITLE:         std::basic_streambuf<wchar_t>
-//  DESCRIPTION:   The standard library lacks std::basic_streambuf<wchar_t>.
-
-#include <iostream>
-#include <streambuf>
-#include <string>
-
-namespace boost_no_std_wstreambuf{
-
-template <class charT,
-          class traits = ::std::char_traits<charT> >
-class parser_buf : public ::std::basic_streambuf<charT, traits>
-{
-   typedef ::std::basic_streambuf<charT, traits> base_type;
-   typedef typename base_type::int_type int_type;
-   typedef typename base_type::char_type char_type;
-   typedef typename base_type::pos_type pos_type;
-   typedef ::std::streamsize streamsize;
-   typedef typename base_type::off_type off_type;
-public:
-   parser_buf() : base_type() { setbuf(0, 0); }
-   const charT* getnext() { return this->gptr(); }
-protected:
-   std::basic_streambuf<charT, traits>* setbuf(char_type* s, streamsize n);
-   typename parser_buf<charT, traits>::pos_type seekpos(pos_type sp, ::std::ios_base::openmode which);
-   typename parser_buf<charT, traits>::pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which);
-private:
-   parser_buf& operator=(const parser_buf&)
-   { return *this; };
-   parser_buf(const parser_buf&){};
-};
-
-template<class charT, class traits>
-std::basic_streambuf<charT, traits>*
-parser_buf<charT, traits>::setbuf(char_type* s, streamsize n)
-{
-   this->setg(s, s, s + n);
-   return this;
-}
-
-template<class charT, class traits>
-typename parser_buf<charT, traits>::pos_type
-parser_buf<charT, traits>::seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which)
-{
-   typedef typename parser_buf<charT, traits>::pos_type pos_type;
-   if(which & ::std::ios_base::out)
-      return pos_type(off_type(-1));
-   int size = this->egptr() - this->eback();
-   int pos = this->gptr() - this->eback();
-   charT* g = this->eback();
-   switch(way)
-   {
-   case ::std::ios_base::beg:
-      if((off < 0) || (off > size))
-         return pos_type(off_type(-1));
-      else
-         this->setg(g, g + off, g + size);
-   case ::std::ios_base::end:
-      if((off < 0) || (off > size))
-         return pos_type(off_type(-1));
-      else
-         this->setg(g, g + size - off, g + size);
-   case ::std::ios_base::cur:
-   {
-      int newpos = pos + off;
-      if((newpos < 0) || (newpos > size))
-         return pos_type(off_type(-1));
-      else
-         this->setg(g, g + newpos, g + size);
-   }
-   }
-   return static_cast<pos_type>(this->gptr() - this->eback());
-}
-
-template<class charT, class traits>
-typename parser_buf<charT, traits>::pos_type
-parser_buf<charT, traits>::seekpos(pos_type sp, ::std::ios_base::openmode which)
-{
-   if(which & ::std::ios_base::out)
-      return pos_type(off_type(-1));
-   int size = this->egptr() - this->eback();
-   charT* g = this->eback();
-   if(off_type(sp) <= size)
-   {
-      this->setg(g, g + off_type(sp), g + size);
-   }
-   return pos_type(off_type(-1));
-}
-
-
-int test()
-{
-   return 0;
-}
-
-template class parser_buf<char>;
-template class parser_buf<wchar_t>;
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_std_wstring.ipp b/SRC/Boost/libs/config/test/boost_no_std_wstring.ipp
deleted file mode 100755
index a613a27..0000000
--- a/SRC/Boost/libs/config/test/boost_no_std_wstring.ipp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_STD_WSTRING
-//  TITLE:         std::wstring
-//  DESCRIPTION:   The standard library lacks std::wstring.
-
-#include <string>
-
-namespace boost_no_std_wstring{
-
-int test()
-{
-   std::wstring s;
-   if(*s.c_str() || (s.begin() != s.end()) || s.size() || (sizeof(std::wstring::value_type) != sizeof(wchar_t))) return -1;
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_stdc_namespace.ipp b/SRC/Boost/libs/config/test/boost_no_stdc_namespace.ipp
deleted file mode 100755
index 0650511..0000000
--- a/SRC/Boost/libs/config/test/boost_no_stdc_namespace.ipp
+++ /dev/null
@@ -1,43 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_STDC_NAMESPACE
-//  TITLE:         std:: namespace for C API's
-//  DESCRIPTION:   The contents of C++ standard headers for C library
-//                 functions (the <c...> headers) have not been placed
-//                 in namespace std.  This test is difficult - some libraries
-//                 "fake" the std C functions by adding using declarations
-//                 to import them into namespace std, unfortunately they don't
-//                 necessarily catch all of them...
-
-#include <cstring>
-#include <cctype>
-#include <ctime>
-
-#undef isspace
-#undef isalpha
-#undef ispunct
-
-namespace boost_no_stdc_namespace{
-
-
-int test()
-{
-   char c = 0;
-#ifndef BOOST_NO_CTYPE_FUNCTIONS
-   std::isspace(c);
-   std::isalpha(c);
-   std::ispunct(c);
-#endif
-   (void)std::strlen(&c);
-   std::clock();
-
-   return 0;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_swprintf.ipp b/SRC/Boost/libs/config/test/boost_no_swprintf.ipp
deleted file mode 100755
index be536e8..0000000
--- a/SRC/Boost/libs/config/test/boost_no_swprintf.ipp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_SWPRINTF
-//  TITLE:         swprintf
-//  DESCRIPTION:   The platform does not have a conforming version of swprintf.
-
-#include <wchar.h>
-#include <stdio.h>
-
-
-namespace boost_no_swprintf{
-
-int test()
-{
-   wchar_t buf[10];
-   swprintf(buf, 10, L"%d", 10);
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_template_aliases.ipp b/SRC/Boost/libs/config/test/boost_no_template_aliases.ipp
deleted file mode 100755
index b39595f..0000000
--- a/SRC/Boost/libs/config/test/boost_no_template_aliases.ipp
+++ /dev/null
@@ -1,22 +0,0 @@
-//  (C) Copyright Beman Dawes 2009
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_TEMPLATE_ALIASES
-//  TITLE:         C++0x template_aliases feature unavailable
-//  DESCRIPTION:   The compiler does not support the C++0x template_aliases feature
-
-namespace boost_no_template_aliases {
-
-using PINT = void (*)(int);             // using plus C-style type
-
-int test()
-{
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_template_streams.ipp b/SRC/Boost/libs/config/test/boost_no_template_streams.ipp
deleted file mode 100755
index e74e747..0000000
--- a/SRC/Boost/libs/config/test/boost_no_template_streams.ipp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  (C) Copyright John Maddock 2008. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_TEMPLATED_IOSTREAMS
-//  TITLE:         basic_iostream<>
-//  DESCRIPTION:   The platform supports "new style" templated iostreams.
-
-#include <iostream>
-
-
-namespace boost_no_templated_iostreams{
-
-int test()
-{
-   std::basic_ostream<char, std::char_traits<char> >& osr = std::cout;
-   return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_template_template.ipp b/SRC/Boost/libs/config/test/boost_no_template_template.ipp
deleted file mode 100755
index f04fe6c..0000000
--- a/SRC/Boost/libs/config/test/boost_no_template_template.ipp
+++ /dev/null
@@ -1,50 +0,0 @@
-//  (C) Copyright John Maddock 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_TEMPLATE_TEMPLATES
-//  TITLE:         template template paramters.
-//  DESCRIPTION:   Verify that template template parameters both work
-//                 and can be deduced through a function call.
-
-
-namespace boost_no_template_templates{
-
-
-template<class T>
-class foo
-{
-public:
-   foo(){};
-   foo(const T&){};
-   const foo& bar()const{ return *this; }
-   foo& operator=(const foo&){ return *this; }
-};
-
-template<typename T, template<typename> class U>
-U<T> sinhc_pi(const U<T> x)
-{
-   return x.bar();
-}
-
-
-int test()
-{
-   foo<double> f1;
-   foo<int> f2;
-   f1 = sinhc_pi(f1);
-   f2 = sinhc_pi(f2);
-   return 0;
-}
-
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_two_phase_lookup.ipp b/SRC/Boost/libs/config/test/boost_no_two_phase_lookup.ipp
deleted file mode 100755
index 8de2f94..0000000
--- a/SRC/Boost/libs/config/test/boost_no_two_phase_lookup.ipp
+++ /dev/null
@@ -1,41 +0,0 @@
-//  (C) Copyright Alisdair Meredith 2006.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_TWO_PHASE_NAME_LOOKUP
-//  TITLE:         Two phase name lookup
-//  DESCRIPTION:   If the compiler does not perform two phase name lookup
-
-namespace boost_no_two_phase_name_lookup {
-
-template< class T >
-struct base {
-    int call() {
-        return 1;
-    }
-};
-
-int call() {
-    return 0;
-}
-
-template< class T >
-struct derived : base< T > {
-    int call_test() {
-        return call();
-    }
-};
-
-int test()
-{
-    derived< int > d;
-    return d.call_test();
-}
-
-}
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_typeid.ipp b/SRC/Boost/libs/config/test/boost_no_typeid.ipp
deleted file mode 100755
index bfedaae..0000000
--- a/SRC/Boost/libs/config/test/boost_no_typeid.ipp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright Peter Dimov 2007.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_TYPEID
-//  TITLE:         typeid unavailable
-//  DESCRIPTION:   The compiler does not support typeid in this mode
-
-#include <typeinfo>
-
-namespace boost_no_typeid
-{
-
-int test()
-{
-   typeid(int);
-   return 0;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_typename_with_ctor.ipp b/SRC/Boost/libs/config/test/boost_no_typename_with_ctor.ipp
deleted file mode 100755
index bea543f..0000000
--- a/SRC/Boost/libs/config/test/boost_no_typename_with_ctor.ipp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  Copyright (C) 2008 N. Musatti
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_TYPENAME_WITH_CTOR
-//  TITLE:         Use of typename keyword with constructors
-//  DESCRIPTION:   If the compiler rejects the typename keyword when calling
-//                 the constructor of a dependent type
-
-namespace boost_no_typename_with_ctor {
-
-struct A {};
-
-template <typename T>
-struct B {
-  typedef T type;
-};
-
-template <typename T>
-typename T::type f() {
-  return typename T::type();
-}
-
-int test() {
-  A a = f<B<A> >();
-  return 0;
-}
-
-}
-
diff --git a/SRC/Boost/libs/config/test/boost_no_unicode_literals.ipp b/SRC/Boost/libs/config/test/boost_no_unicode_literals.ipp
deleted file mode 100755
index 62b7a52..0000000
--- a/SRC/Boost/libs/config/test/boost_no_unicode_literals.ipp
+++ /dev/null
@@ -1,22 +0,0 @@
-//  (C) Copyright Beman Dawes 2008
-
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for more information.
-
-//  MACRO:         BOOST_NO_UNICODE_LITERALS
-//  TITLE:         C++0x unicode literals unavailable
-//  DESCRIPTION:   The compiler does not support C++0x Unicode literals (N2442)
-
-namespace boost_no_unicode_literals {
-
-
-int test()
-{
-  const char* c8 = u8"";
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_unified_init.ipp b/SRC/Boost/libs/config/test/boost_no_unified_init.ipp
deleted file mode 100755
index 8dd65fe..0000000
--- a/SRC/Boost/libs/config/test/boost_no_unified_init.ipp
+++ /dev/null
@@ -1,53 +0,0 @@
-//  Copyright (C) 2011 John Maddock
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-//  TITLE:         C++0x unified initialization syntax unavailable
-//  DESCRIPTION:   The compiler does not support C++0x unified initialization syntax: see http://en.wikipedia.org/wiki/C%2B%2B0x#Uniform_initialization
-
-namespace boost_no_unified_initialization_syntax {
-
-struct BasicStruct 
-{
-   int x;
-   double y;
-};
- 
-struct AltStruct 
-{
-public:
-   AltStruct(int x, double y) : x_{x}, y_{y} {}
-private:
-   int x_;
-   double y_;
-};
- 
-struct IdString 
-{
-   std::string name;
-   int identifier;
-   bool operator == (const IdString& other)
-   {
-      return identifier == other.identifier && name == other.name;
-   }
-};
- 
-IdString get_string()
-{
-   return {"SomeName", 4}; //Note the lack of explicit type.
-}
-
-int test()
-{
-   BasicStruct var1{5, 3.2};
-   AltStruct var2{2, 4.3};
-
-   IdString id{"SomeName", 4};
-   return id == get_string() ? 0 : 1;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_using_breaks_adl.ipp b/SRC/Boost/libs/config/test/boost_no_using_breaks_adl.ipp
deleted file mode 100755
index e96c0e8..0000000
--- a/SRC/Boost/libs/config/test/boost_no_using_breaks_adl.ipp
+++ /dev/null
@@ -1,72 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-//  TITLE:         broken ADL
-//  DESCRIPTION:   Using declarations break argument dependent lookup
-//                 (probably Borland specific), the fix is to use
-//                 using namespace whatever; rather than
-//                 using whatever::symbol;.
-
-
-namespace boost_ns
-{
-   template <class T>
-   T* get_pointer(T* p)
-   { return p; }
-
-   namespace inner2
-   {
-      template <class T>
-      struct X {};
-
-      template <class T>
-      T* get_pointer(X<T>)
-      { return 0; }
-   }
-}
-
-namespace user_ns
-{
-   template <class T>
-   struct Y{};
-
-   template <class T>
-   T* get_pointer(user_ns::Y<T>)
-   { return 0; }
-
-   template <class T>
-   int f(T x) 
-   {
-      // use this as a workaround:
-      //using namespace boost;
-      // this statement breaks ADL:
-      using boost_ns::get_pointer;    // conforming compilers require
-                                   // this one to find the auto_ptr
-                                   // and T* overloads
-      return get_pointer(x) == 0;
-   }
-}
-
-namespace boost_function_scope_using_declaration_breaks_adl{
-
-int test()
-{
-   int i;
-   typedef void* pv;
-   i = user_ns::f(pv());
-   i = user_ns::f(boost_ns::inner2::X<int>());
-   return 0;
-}
-
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_using_decl_overld.ipp b/SRC/Boost/libs/config/test/boost_no_using_decl_overld.ipp
deleted file mode 100755
index 0a60070..0000000
--- a/SRC/Boost/libs/config/test/boost_no_using_decl_overld.ipp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  (C) Copyright Eric Friedman 2002.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  MACRO:         BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-//  TITLE:         using declaration function overloads from a typename base
-//  DESCRIPTION:   The compiler will not accept a using declaration
-//                 that brings a function from a typename used as a base class
-//                 into a derived class if functions of the same name
-//                 are present in the derived class.
-
-namespace boost_no_using_declaration_overloads_from_typename_base {
-
-struct base
-{
-   static void f() { }
-};
-
-template <typename T, typename Base>
-struct using_overloads_from_typename_base : Base
-{
-   using Base::f;
-   static T f(const T& t) { return t; }
-};
-
-int test()
-{
-   using_overloads_from_typename_base<int,base>::f();
-   return using_overloads_from_typename_base<int,base>::f(0);
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_using_template.ipp b/SRC/Boost/libs/config/test/boost_no_using_template.ipp
deleted file mode 100755
index 4e7be95..0000000
--- a/SRC/Boost/libs/config/test/boost_no_using_template.ipp
+++ /dev/null
@@ -1,47 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_USING_TEMPLATE
-//  TITLE:         using template declarations
-//  DESCRIPTION:   The compiler will not accept a using declaration
-//                 that imports a class or function template
-//                 into a named namespace.  Probably Borland/MSVC6 specific.
-
-template <class T>
-int global_foo(T)
-{
-   return 0;
-}
-
-template <class T, class U = void>
-struct op
-{
-   friend op<T,U> operator +(const op&, const op&)
-   {
-      return op();
-   };
-};
-
-namespace boost_no_using_template{
-
-using ::global_foo;
-using ::op;
-
-int test()
-{
-   boost_no_using_template::op<int, int> a;
-   boost_no_using_template::op<int, int> b;
-   a+b;
-   return boost_no_using_template::global_foo(0);
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_variadic_macros.ipp b/SRC/Boost/libs/config/test/boost_no_variadic_macros.ipp
deleted file mode 100755
index dc11a1d..0000000
--- a/SRC/Boost/libs/config/test/boost_no_variadic_macros.ipp
+++ /dev/null
@@ -1,62 +0,0 @@
-//  Copyright (C) 2010 Edward Diener
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_VARIADIC_MACROS
-//  TITLE:         C++0x variadic macros unavailable
-//  DESCRIPTION:   The compiler does not support C++0x variadic macros
-
-// This is a simple test
-
-#define TEST_VARIADIC_MACRO_SIMPLE(avalue,...) __VA_ARGS__
-
-/* 
-
-  This is a more complicated test, which Steve Watanabe graciously 
-  supplied, when I asked if it were possible to strip the parantheses 
-  from a macro argument. I have changed the names somewhat to prevent 
-  any common clashes with other macros in the config testing suite 
-  by prepending to each macro name TEST_VARIADIC_MACRO_.
-  
-  You may find this test overdone and may want to remove it.
-  
-*/
-
-#define TEST_VARIADIC_MACRO_CAT(x, y) TEST_VARIADIC_MACRO_CAT_I(x, y)
-#define TEST_VARIADIC_MACRO_CAT_I(x, y) x ## y
-
-#define TEST_VARIADIC_MACRO_APPLY(macro, args) TEST_VARIADIC_MACRO_APPLY_I(macro, args)
-#define TEST_VARIADIC_MACRO_APPLY_I(macro, args) macro args
-
-#define TEST_VARIADIC_MACRO_STRIP_PARENS(x) TEST_VARIADIC_MACRO_EVAL((TEST_VARIADIC_MACRO_STRIP_PARENS_I x), x)
-#define TEST_VARIADIC_MACRO_STRIP_PARENS_I(...) 1,1
-
-#define TEST_VARIADIC_MACRO_EVAL(test, x) TEST_VARIADIC_MACRO_EVAL_I(test, x)
-#define TEST_VARIADIC_MACRO_EVAL_I(test, x) TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS(TEST_VARIADIC_MACRO_TEST_ARITY test, x)
-
-#define TEST_VARIADIC_MACRO_TEST_ARITY(...) TEST_VARIADIC_MACRO_APPLY(TEST_VARIADIC_MACRO_TEST_ARITY_I, (__VA_ARGS__, 2, 1))
-#define TEST_VARIADIC_MACRO_TEST_ARITY_I(a,b,c,...) c
-
-#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS(cond, x) TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_I(cond, x)
-#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_I(cond, x) TEST_VARIADIC_MACRO_CAT(TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_, cond)(x)
-
-#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_1(x) x
-#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_2(x) TEST_VARIADIC_MACRO_APPLY(TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_2_I, x)
-#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_2_I(...) __VA_ARGS__
-
-namespace boost_no_variadic_macros {
-
-template<TEST_VARIADIC_MACRO_STRIP_PARENS((typename T,int))> struct test_variadic_macro_class {};
-
-int test()
-{
-
-  int x = TEST_VARIADIC_MACRO_STRIP_PARENS(3);
-  
-  return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_variadic_templates.ipp b/SRC/Boost/libs/config/test/boost_no_variadic_templates.ipp
deleted file mode 100755
index be2aec6..0000000
--- a/SRC/Boost/libs/config/test/boost_no_variadic_templates.ipp
+++ /dev/null
@@ -1,21 +0,0 @@
-//  Copyright (C) 2007 Douglas Gregor
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_VARIADIC_TEMPLATES
-//  TITLE:         C++0x variadic templates unavailable
-//  DESCRIPTION:   The compiler does not support C++0x variadic templates
-
-namespace boost_no_variadic_templates {
-
-template<typename... Elements> struct tuple {};
-
-int test()
-{
-   return 0;
-}
-
-}
diff --git a/SRC/Boost/libs/config/test/boost_no_void_returns.ipp b/SRC/Boost/libs/config/test/boost_no_void_returns.ipp
deleted file mode 100755
index 7828775..0000000
--- a/SRC/Boost/libs/config/test/boost_no_void_returns.ipp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_VOID_RETURNS
-//  TITLE:         no void returns
-//  DESCRIPTION:   The compiler does not allow a void function 
-//                 to return the result of calling another void
-//                 function.
-//  
-//                 void f() {}
-//                 void g() { return f(); }
-
-
-namespace boost_no_void_returns{
-
-void f() {}
-
-void g() { return f(); }
-
-int test()
-{
-    return 0;
-}
-
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/boost_no_wchar_t.ipp b/SRC/Boost/libs/config/test/boost_no_wchar_t.ipp
deleted file mode 100755
index 1f09042..0000000
--- a/SRC/Boost/libs/config/test/boost_no_wchar_t.ipp
+++ /dev/null
@@ -1,45 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-
-//  MACRO:         BOOST_NO_INTRINSIC_WCHAR_T
-//  TITLE:         intrinsic wchar_t
-//  DESCRIPTION:   The C++ implementation does not provide wchar_t,
-//                 or it is really a synonym for another integral type.
-//                 Use this symbol to decide whether it is appropriate
-//                 to explicitly specialize a template on wchar_t if there
-//                 is already a specialization for other integer types.
-
-#ifndef BOOST_NO_CWCHAR
-#include <wchar.h>
-#endif
-
-namespace boost_no_intrinsic_wchar_t{
-
-template <class T>
-struct is_int{ int i; };
-
-template <> struct is_int<unsigned char>{ int i; };
-template <> struct is_int<signed char>{ int i; };
-template <> struct is_int<char>{ int i; };
-template <> struct is_int<unsigned short>{ int i; };
-template <> struct is_int<short>{ int i; };
-template <> struct is_int<unsigned int>{ int i; };
-template <> struct is_int<int>{ int i; };
-template <> struct is_int<unsigned long>{ int i; };
-template <> struct is_int<long>{ int i; };
-template <> struct is_int<wchar_t>{ int i; };
-
-int test()
-{
-   return 0;
-}
-
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/config_info.cpp b/SRC/Boost/libs/config/test/config_info.cpp
deleted file mode 100755
index 1011173..0000000
--- a/SRC/Boost/libs/config/test/config_info.cpp
+++ /dev/null
@@ -1,1135 +0,0 @@
-//  Boost config.hpp configuration test program file  -----------------------//
-
-//  (C) Copyright John Maddock 2001 - 2003. 
-//  (C) Copyright Jens Maurer 2001. 
-//  (C) Copyright Peter Dimov 2001. 
-//  (C) Copyright Darin Adler 2001. 
-//  (C) Copyright Beman Dawes 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for most recent version.
-//
-//  Revision $Id: config_info.cpp 74889 2011-10-10 11:50:55Z johnmaddock $
-//
-
-#include <boost/config.hpp>
-#include <boost/version.hpp>
-#include <iostream>
-#include <iomanip>
-#include <string.h>
-#include <limits.h>
-#include <stdlib.h>
-#include <stddef.h>
-
-#ifdef BOOST_HAS_UNISTD_H
-#include <unistd.h>
-#endif
-
-#if defined(__MINGW32__)
-#  include <_mingw.h>
-#endif
-
-static unsigned int indent = 4;
-static unsigned int width = 40;
-
-using std::cout;
-using std::istream;
-
-void print_macro(const char* name, const char* value)
-{
-   // if name == value+1 then then macro is not defined,
-   // in which case we don't print anything:
-   if(0 != strcmp(name, value+1))
-   {
-      for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
-      std::cout << std::setw(width);
-      cout.setf(istream::left, istream::adjustfield);
-      std::cout << name;
-      if(value[1])
-      {
-         // macro has a value:
-         std::cout << value << "\n";
-      }
-      else
-      {
-         // macro is defined but has no value:
-         std::cout << " [no value]\n";
-      }
-   }
-}
-
-#define PRINT_MACRO(X) print_macro(#X, BOOST_STRINGIZE(=X))
-
-template <class T>
-void print_expression(const char* expression, T val)
-{
-   for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
-   std::cout << std::setw(width);
-   std::cout.setf(istream::left, istream::adjustfield);
-   std::cout << expression << "=" << val << std::endl;
-}
-
-#define PRINT_EXPRESSION(E) print_expression(#E, E);
-
-template <class T>
-void print_byte_order(const char* what, T /* t */ )
-{
-   T val = 0;
-   unsigned i;
-   for(i = 1; i < sizeof(T); ++i)
-   {
-      val |= (CHAR_BIT * static_cast<T>(i)) << (CHAR_BIT * static_cast<T>(i));
-   }
-   const char* p = reinterpret_cast<const char*>(&val);
-
-   for(i = 0; i < indent; ++i) std::cout.put(' ');
-   std::cout << std::setw(width);
-   std::cout.setf(istream::left, istream::adjustfield);
-   std::cout << what << "=";
-   for(i = 0; i < sizeof(T); ++i)
-   {
-      std::cout << (int)p[i] << " ";
-   }
-   std::cout << std::endl;
-}
-
-#define PRINT_ORDER(T) print_byte_order(BOOST_STRINGIZE(byte order for type T), T())
-
-template <class T>
-void print_sign(const char* what, T t)
-{
-   t = static_cast<T>(-1);  // cast suppresses warnings
-   for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
-   std::cout << "Type " << what << " is " << ((t > 0) ? "unsigned" : "signed") << std::endl;
-}
-
-#define PRINT_SIGN(T) print_sign(#T, T())
-
-
-void print_compiler_macros()
-{
-   std::cout << BOOST_COMPILER << "\n";
-   // Borland options:
-  PRINT_MACRO(__BORLANDC__);
-  PRINT_MACRO(__CDECL__);
-  PRINT_MACRO(_CHAR_UNSIGNED);
-  PRINT_MACRO(__CODEGUARD__);
-  PRINT_MACRO(__CONSOLE__);
-  PRINT_MACRO(_CPPUNWIND);
-  PRINT_MACRO(__cplusplus);
-  PRINT_MACRO(__FLAT__);
-  PRINT_MACRO(__FUNC__);
-  PRINT_MACRO(_M_IX86);
-  PRINT_MACRO(__MSDOS__);
-  PRINT_MACRO(__MT__ );
-  PRINT_MACRO(__PASCAL__);
-  PRINT_MACRO(__STDC__);
-  PRINT_MACRO(__TLS__);
-  PRINT_MACRO(_WCHAR_T);
-  PRINT_MACRO(_Windows);
-  PRINT_MACRO(__WIN32__);
-  PRINT_MACRO(_WIN32);
-  PRINT_MACRO(_WIN64);
-  PRINT_MACRO(_WIN32_WCE);
-  PRINT_MACRO(WIN32);
-  PRINT_MACRO(_RTLDLL);
-  PRINT_MACRO(__DEBUG);
-
-// Internal MSVC 7 error workaround (Peter Dimov)
-
-#ifndef _NATIVE_WCHAR_T_DEFINED
-  PRINT_MACRO(_WCHAR_T_DEFINED);
-#endif
-  // MSVC macros:
-  PRINT_MACRO(_CPPRTTI);
-  PRINT_MACRO(_DLL);
-  PRINT_MACRO(_M_ALPHA);
-  PRINT_MACRO(_M_MPPC);
-  PRINT_MACRO(_M_MRX000);
-  PRINT_MACRO(_M_PPC);
-  PRINT_MACRO(_MFC_VER);
-  PRINT_MACRO(_MSC_EXTENSIONS);
-  PRINT_MACRO(_MSC_VER);
-  PRINT_MACRO(_MSC_FULL_VER);
-  PRINT_MACRO(_MT);
-  PRINT_MACRO(_NATIVE_WCHAR_T_DEFINED);
-  // GNUC options:
-  PRINT_MACRO(__GNUC__);
-  PRINT_MACRO(__GNUC_MINOR__);
-  PRINT_MACRO(__GNUC_PATCHLEVEL__);
-  PRINT_MACRO(__STDC_VERSION__);
-  PRINT_MACRO(__GNUG__);
-  PRINT_MACRO(__STRICT_ANSI__);
-  PRINT_MACRO(__GXX_EXPERIMENTAL_CXX0X__);
-  PRINT_MACRO(__VERSION__);
-  PRINT_MACRO(__OPTIMIZE__);
-  PRINT_MACRO(__CHAR_UNSIGNED__);
-  PRINT_MACRO(__REGISTER_PREFIX__);
-  PRINT_MACRO(__USER_LABEL_PREFIX__);
-  PRINT_MACRO(__GNUPRO__);
-  PRINT_MACRO(__EXCEPTIONS);
-  PRINT_MACRO(__FreeBSD__);
-  PRINT_MACRO(__FreeBSD_cc_version);
-  PRINT_MACRO(__ELF__);
-  PRINT_MACRO(__GNUPRO__);
-  PRINT_MACRO(unix);
-  PRINT_MACRO(bsd);
-  PRINT_MACRO(vax);
-  PRINT_MACRO(mc68000);
-  PRINT_MACRO(m68k);
-  PRINT_MACRO(M68020);
-  PRINT_MACRO(_AM29K);
-  PRINT_MACRO(ns32000);
-  PRINT_MACRO(sun);
-  PRINT_MACRO(pyr);
-  PRINT_MACRO(sequent);
-  PRINT_MACRO(__i386__);
-  PRINT_MACRO(__sparc);
-  PRINT_MACRO(__sparc__);
-  PRINT_MACRO(__powerpc__);
-  PRINT_MACRO(__hppa);
-  PRINT_MACRO(__CYGWIN__);
-  PRINT_MACRO(__MINGW32__);
-  // HP aCC:
-  PRINT_MACRO(__HP_aCC);
-  PRINT_MACRO(_HPACC_);
-  PRINT_MACRO(__LP64__);
-  PRINT_MACRO(__RISC2_0__);
-  PRINT_MACRO(__STDCPP__);
-  PRINT_MACRO(__hppa);
-  PRINT_MACRO(__hpux);
-  PRINT_MACRO(__hp9000s800);
-  PRINT_MACRO(__hp9000s700);
-  PRINT_MACRO(_PA_RISC1_1);
-  PRINT_MACRO(__HPUX_SOURCE);
-  PRINT_MACRO(_INCLUDE__STDC_A1_SOURCE);
-  // SGI IRIX:
-  PRINT_MACRO(__sgi);
-  PRINT_MACRO(_COMPILER_VERSION);
-  // Sunpro:
-  PRINT_MACRO(__SUNPRO_CC);
-  PRINT_MACRO(__SUNPRO_CC_COMPAT);
-  PRINT_MACRO(__BUILTIN_VA_ARG_INCR);
-  PRINT_MACRO(__sun);
-  PRINT_MACRO(__SVR4);
-  PRINT_MACRO(__unix);
-  PRINT_MACRO(__sparcv9);
-  PRINT_MACRO(__i386);
-  PRINT_MACRO(i386);
-  // Metrowerks
-  PRINT_MACRO(__MWERKS__);
-  PRINT_MACRO(__MSL__);
-  PRINT_MACRO(__MSL_CPP__);
-  PRINT_MACRO(__A5__);
-  PRINT_MACRO(__embedded_cplusplus);
-  PRINT_MACRO(__fourbyteints__);
-  PRINT_MACRO(__IEEEdoubles__);
-  PRINT_MACRO(__MC68K__);
-  PRINT_MACRO(__MC68020__);
-  PRINT_MACRO(__MC68881__);
-  PRINT_MACRO(__MIPS__);
-  PRINT_MACRO(__MIPS_ISA2__);
-  PRINT_MACRO(__MIPS_ISA3__);
-  PRINT_MACRO(__MIPS_ISA4__);
-  PRINT_MACRO(__MWBROWSER__);
-  PRINT_MACRO(__profile__);
-  PRINT_MACRO(__powerc);
-  PRINT_MACRO(_powerc);
-  PRINT_MACRO(__POWERPC__);
-  PRINT_MACRO(macintosh);
-  PRINT_MACRO(__MACH__);
-  PRINT_MACRO(__APPLE__);
-  PRINT_MACRO(__APPLE_CC__);
-  // MPW (MrCpp and SCpp)
-  PRINT_MACRO(__MRC__);
-  PRINT_MACRO(__SC__);
-  PRINT_MACRO(__FPCE__);
-  PRINT_MACRO(__FPCE_IEEE__);
-  PRINT_MACRO(MPW_CPLUS);
-  PRINT_MACRO(MPW_C);
-  PRINT_MACRO(__MC601);
-  PRINT_MACRO(__POWERPC);
-  PRINT_MACRO(__useAppleExts__);
-  PRINT_MACRO(powerc);
-  PRINT_MACRO(MC68000);
-  PRINT_MACRO(THINK_PLUS);
-  PRINT_MACRO(mc68881);
-  PRINT_MACRO(__FAR_CODE__);
-  PRINT_MACRO(__FAR_DATA__);
-  PRINT_MACRO(__CFM68K__);
-  // EDG
-  PRINT_MACRO(__EDG__);
-  PRINT_MACRO(__EDG_VERSION__);
-  PRINT_MACRO(c_plusplus);       // indication for strict mode
-  PRINT_MACRO(_BOOL);
-  PRINT_MACRO(_EXPLICIT);
-  PRINT_MACRO(__SIGNED_CHARS__);
-  PRINT_MACRO(_TYPENAME);
-  PRINT_MACRO(_WCHAR_T);
-  PRINT_MACRO(__ARRAY_OPERATORS);
-  PRINT_MACRO(__EDG_ABI_COMPATIBILITY_VERSION);
-  PRINT_MACRO(__EDG_IMPLICIT_USING_STD);
-  PRINT_MACRO(__EDG_RUNTIME_USES_NAMESPACES);
-  PRINT_MACRO(__BOOL_DEFINED);
-  PRINT_MACRO(__RTTI);
-  PRINT_MACRO(__PLACEMENT_DELETE);
-  PRINT_MACRO(__NO_LONG_LONG);
-
-  // Intel options:
-  PRINT_MACRO(__INTEL__);
-  PRINT_MACRO(__ICC);
-  PRINT_MACRO(__ICL);
-  PRINT_MACRO(__ECC);
-  PRINT_MACRO(__INTEL_COMPILER);
-  PRINT_MACRO(__INITIAL_POINTER_SIZE);
-  PRINT_MACRO(_INTEGRAL_MAX_BITS);
-  PRINT_MACRO(__INTEL_COMPILER_BUILD_DATE);
-  PRINT_MACRO(__INTEL_MS_COMPAT_LEVEL);
-  PRINT_MACRO(__LONG_DOUBLE_SIZE__);
-  PRINT_MACRO(_M_X64);
-  PRINT_MACRO(_OPENMP);
-  PRINT_MACRO(_OPENMPT);
-  PRINT_MACRO(_PGO_INSTRUMENT);
-  PRINT_MACRO(__QMSPP_); 
-
-  // Cray options:
-  PRINT_MACRO(_CRAYC); 
-  PRINT_MACRO(_RELEASE); 
-  PRINT_MACRO(cray); 
-  PRINT_MACRO(CRAY); 
-  PRINT_MACRO(CRAY1); 
-  PRINT_MACRO(_CRAY1); 
-  PRINT_MACRO(_CRAYMPP); 
-  PRINT_MACRO(_CRAYT3E); 
-  PRINT_MACRO(_CRAYIEEE); 
-  PRINT_MACRO(_ADDR32); 
-  PRINT_MACRO(_ADDR64); 
-  PRINT_MACRO(_LD64); 
-  PRINT_MACRO(_FASTMD); 
-  PRINT_MACRO(_MAXVL); 
-
-  // misc compilers not covered so far:
-  PRINT_MACRO(__USLC__);
-  PRINT_MACRO(__DECCXX);
-  PRINT_MACRO(__IBMCPP__);
-  PRINT_MACRO(_REENTRANT);
-  PRINT_MACRO(_PTHREADS);
-  PRINT_MACRO(__STDC_HOSTED__);
-  PRINT_MACRO(__COMO__);
-  PRINT_MACRO(__COMO_VERSION__);
-  PRINT_MACRO(__DM__);
-  PRINT_MACRO(__osf__);
-  PRINT_MACRO(__OSF__);
-  PRINT_MACRO(__QNXNTO__);
-  PRINT_MACRO(__QNX__);
-  PRINT_MACRO(_NTO_VERSION);
-  PRINT_MACRO(__OPEN64__);
-  PRINT_MACRO(__open64);
-}
-
-void print_stdlib_macros()
-{
-   std::cout << BOOST_STDLIB << std::endl;
-   #ifdef _RWSTD_VER
-   // Rogue Wave 2.x config options:
-   PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES);
-   PRINT_MACRO(_RWSTD_ALLOCATOR);
-   PRINT_MACRO(_RWSTD_BAD_ALLOC_DEFINED);
-   PRINT_MACRO(_RWSTD_BAD_EXCEPTION_DEFINED);
-   PRINT_MACRO(_RWSTD_BOUNDS_CHECKING);
-   PRINT_MACRO(_RWSTD_COMPILE_INSTANTIATE);
-   PRINT_MACRO(_RWSTD_DEFAULT_PRECISION);
-   PRINT_MACRO(_RWSTD_EXCEPTION_DEFINED);
-   PRINT_MACRO(_RWSTD_EXCEPTION_HANDLER_IN_STD);
-   PRINT_MACRO(_RWSTD_EXCEPTION_PREDEFINED);
-   PRINT_MACRO(_RWSTD_FLT_ROUNDS_IS_CONSTANT);
-   PRINT_MACRO(_RWSTD_LOCALIZED_ERRORS);
-   PRINT_MACRO(_RWSTD_MESSAGE);
-   PRINT_MACRO(_RWSTD_MUTEXATTR_DEFAULT);
-   PRINT_MACRO(_RWSTD_NO_ANSI_SPRINTF);
-   PRINT_MACRO(_RWSTD_NO_ARG_MATCH);
-   PRINT_MACRO(_RWSTD_NO_BAD_CAST);
-   PRINT_MACRO(_RWSTD_NO_BASE_CLASS_MATCH);
-   PRINT_MACRO(_RWSTD_NO_BOOL);
-   PRINT_MACRO(_RWSTD_NO_BUILTIN_CTOR);
-   PRINT_MACRO(_RWSTD_NO_CATOPEN_CATGETS);
-   PRINT_MACRO(_RWSTD_NO_CLASS_PARTIAL_SPEC);
-   PRINT_MACRO(_RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES);
-   PRINT_MACRO(_RWSTD_NO_COMPLICATED_EXCEPTIONS);
-   PRINT_MACRO(_RWSTD_NO_COMPLICATED_TYPEDEF);
-   PRINT_MACRO(_RWSTD_NO_CONST_INST);
-   PRINT_MACRO(_RWSTD_NO_CTOR_RETURN);
-   PRINT_MACRO(_RWSTD_NO_DEFAULT_FOR_TPARAM);
-   PRINT_MACRO(_RWSTD_NO_DEFAULT_TEMPLATE_ARGS);
-   PRINT_MACRO(_RWSTD_NO_DESTROY_BUILTIN);
-   PRINT_MACRO(_RWSTD_NO_DESTROY_NONBUILTIN);
-   PRINT_MACRO(_RWSTD_NO_EMBEDDED_TYPEDEF);
-   PRINT_MACRO(_RWSTD_NO_EX_SPEC);
-   PRINT_MACRO(_RWSTD_NO_EXCEPTIONS);
-   PRINT_MACRO(_RWSTD_NO_EXPLICIT);
-   PRINT_MACRO(_RWSTD_NO_EXPLICIT_ARG);
-   PRINT_MACRO(_RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION);
-   PRINT_MACRO(_RWSTD_NO_EXPLICIT_INSTANTIATION);
-   PRINT_MACRO(_RWSTD_NO_EXTENSION);
-   PRINT_MACRO(_RWSTD_NO_FORWARD_SPECIALIZATIONS);
-   PRINT_MACRO(_RWSTD_NO_FPOS_T);
-   PRINT_MACRO(_RWSTD_NO_FRIEND_TEMPLATES);
-   PRINT_MACRO(_RWSTD_NO_FUNC_PARTIAL_SPEC);
-   PRINT_MACRO(_RWSTD_NO_GETTIMEOFDAY);
-   PRINT_MACRO(_RWSTD_NO_GLOBAL_TZ);
-   PRINT_MACRO(_RWSTD_NO_INHERITED_TYPEDEFS);
-   PRINT_MACRO(_RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG);
-   PRINT_MACRO(_RWSTD_NO_INT_TYPEDEF);
-   PRINT_MACRO(_RWSTD_NO_LDIV);
-   PRINT_MACRO(_RWSTD_NO_LEADING_UNDERSCORE);
-   PRINT_MACRO(_RWSTD_NO_LOCALE);
-   PRINT_MACRO(_RWSTD_NO_LONG_NAME);
-   PRINT_MACRO(_RWSTD_NO_LONGDOUBLE);
-   PRINT_MACRO(_RWSTD_NO_MBSTATE_T);
-   PRINT_MACRO(_RWSTD_NO_MEM_CLASS_TEMPLATES);
-   PRINT_MACRO(_RWSTD_NO_MEMBER_TEMPLATES);
-   PRINT_MACRO(_RWSTD_NO_MEMBER_TYPE_TPARAM);
-   PRINT_MACRO(_RWSTD_NO_MEMBER_WO_DEF_CTOR);
-   PRINT_MACRO(_RWSTD_NO_MEMMOVE);
-   PRINT_MACRO(_RWSTD_NO_MULTI_DIM_ARRAY);
-   PRINT_MACRO(_RWSTD_NO_MUTABLE);
-   PRINT_MACRO(_RWSTD_NO_NAME_INJECTION);
-   PRINT_MACRO(_RWSTD_NO_NAMESPACE);
-   PRINT_MACRO(_RWSTD_NO_NESTING_TEMPLATES);
-   PRINT_MACRO(_RWSTD_NO_NEW_BRACKETS);
-   PRINT_MACRO(_RWSTD_NO_NEW_DECL);
-   PRINT_MACRO(_RWSTD_NO_NEW_HEADER);
-   PRINT_MACRO(_RWSTD_NO_NEW_TEMPLATE_SYNTAX);
-   PRINT_MACRO(_RWSTD_NO_NONCLASS_ARROW_RETURN);
-   PRINT_MACRO(_RWSTD_NO_NONTYPE_ARGS);
-   PRINT_MACRO(_RWSTD_NO_ONLY_NEEDED_INSTANTIATION);
-   PRINT_MACRO(_RWSTD_NO_OVERLOAD_C_POW);
-   PRINT_MACRO(_RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION);
-   PRINT_MACRO(_RWSTD_NO_OVERLOAD_WCHAR);
-   PRINT_MACRO(_RWSTD_NO_PART_SPEC_OVERLOAD);
-   PRINT_MACRO(_RWSTD_NO_RET_TEMPLATE);
-   PRINT_MACRO(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES);
-   PRINT_MACRO(_RWSTD_NO_STATIC_CAST);
-   PRINT_MACRO(_RWSTD_NO_STATIC_DEF);
-   PRINT_MACRO(_RWSTD_NO_STATIC_DEF2);
-   PRINT_MACRO(_RWSTD_NO_STATIC_DEF3);
-   PRINT_MACRO(_RWSTD_NO_STATIC_MEM_DEF);
-   PRINT_MACRO(_RWSTD_NO_STI_SIMPLE);
-   PRINT_MACRO(_RWSTD_NO_STI_TEMPLATE);
-   PRINT_MACRO(_RWSTD_NO_STREAM_LONG_DOUBLE);
-   PRINT_MACRO(_RWSTD_NO_STRFTIME_CAPC);
-   PRINT_MACRO(_RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE);
-   PRINT_MACRO(_RWSTD_NO_SWPRINTF);
-   PRINT_MACRO(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE);
-   PRINT_MACRO(_RWSTD_NO_TEMPLATE_TEMPLATE);
-   PRINT_MACRO(_RWSTD_NO_THREADS);
-   PRINT_MACRO(_RWSTD_NO_THROW_SPEC_ON_NEW);
-   PRINT_MACRO(_RWSTD_NO_THROW_WITH_SHARED);
-   PRINT_MACRO(_RWSTD_NO_TYPEDEF_INST);
-   PRINT_MACRO(_RWSTD_NO_TYPEDEF_OVERLOAD);
-   PRINT_MACRO(_RWSTD_NO_TYPENAME);
-   PRINT_MACRO(_RWSTD_NO_UNDEFINED_FRIEND);
-   PRINT_MACRO(_RWSTD_NO_UNINITIALIZED_STATIC_DEF);
-   PRINT_MACRO(_RWSTD_NO_WCHAR_H);
-   PRINT_MACRO(_RWSTD_NO_WCTYPE_H);
-   PRINT_MACRO(_RWSTD_NO_WIDE_CHAR);
-   PRINT_MACRO(_RWSTD_NO_WINT_TYPE);
-   PRINT_MACRO(_RWSTD_NO_WSTR);
-   PRINT_MACRO(_RWSTD_NOT_ALL_WSTR_CFUNCTIONS);
-   PRINT_MACRO(_RWSTD_POSIX_D10_THREADS);
-   PRINT_MACRO(_RWSTD_POSIX_THREADS);
-   PRINT_MACRO(_RWSTD_REQUIRES_IEEEFP);
-   PRINT_MACRO(_RWSTD_SOLARIS_THREADS);
-   PRINT_MACRO(_RWSTD_STRUCT_TM_TZ);
-   PRINT_MACRO(_RWSTD_WIDE_STRING_NULL_PROBLEM);
-   #elif defined(__STD_RWCOMPILER_H__)
-   // Rogue Wave 1.x std lib:
-   PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES);
-   PRINT_MACRO(RWSTD_ALLOCATOR);
-   PRINT_MACRO(RWSTD_BAD_ALLOC_DEFINED);
-   PRINT_MACRO(RWSTD_BAD_EXCEPTION_DEFINED);
-   PRINT_MACRO(RWSTD_BOUNDS_CHECKING);
-   PRINT_MACRO(RWSTD_COMPILE_INSTANTIATE);
-   PRINT_MACRO(RWSTD_DEFAULT_PRECISION);
-   PRINT_MACRO(RWSTD_EXCEPTION_DEFINED);
-   PRINT_MACRO(RWSTD_EXCEPTION_HANDLER_IN_STD);
-   PRINT_MACRO(RWSTD_EXCEPTION_PREDEFINED);
-   PRINT_MACRO(RWSTD_FLT_ROUNDS_IS_CONSTANT);
-   PRINT_MACRO(RWSTD_LOCALIZED_ERRORS);
-   PRINT_MACRO(RWSTD_MESSAGE);
-   PRINT_MACRO(RWSTD_MUTEXATTR_DEFAULT);
-   PRINT_MACRO(RWSTD_NO_ANSI_SPRINTF);
-   PRINT_MACRO(RWSTD_NO_ARG_MATCH);
-   PRINT_MACRO(RWSTD_NO_BAD_CAST);
-   PRINT_MACRO(RWSTD_NO_BASE_CLASS_MATCH);
-   PRINT_MACRO(RWSTD_NO_BOOL);
-   PRINT_MACRO(RWSTD_NO_BUILTIN_CTOR);
-   PRINT_MACRO(RWSTD_NO_CATOPEN_CATGETS);
-   PRINT_MACRO(RWSTD_NO_CLASS_PARTIAL_SPEC);
-   PRINT_MACRO(RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES);
-   PRINT_MACRO(RWSTD_NO_COMPLICATED_EXCEPTIONS);
-   PRINT_MACRO(RWSTD_NO_COMPLICATED_TYPEDEF);
-   PRINT_MACRO(RWSTD_NO_CONST_INST);
-   PRINT_MACRO(RWSTD_NO_CTOR_RETURN);
-   PRINT_MACRO(RWSTD_NO_DEFAULT_FOR_TPARAM);
-   PRINT_MACRO(RWSTD_NO_DEFAULT_TEMPLATE_ARGS);
-   PRINT_MACRO(RWSTD_NO_DESTROY_BUILTIN);
-   PRINT_MACRO(RWSTD_NO_DESTROY_NONBUILTIN);
-   PRINT_MACRO(RWSTD_NO_EMBEDDED_TYPEDEF);
-   PRINT_MACRO(RWSTD_NO_EX_SPEC);
-   PRINT_MACRO(RWSTD_NO_EXCEPTIONS);
-   PRINT_MACRO(RWSTD_NO_EXPLICIT);
-   PRINT_MACRO(RWSTD_NO_EXPLICIT_ARG);
-   PRINT_MACRO(RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION);
-   PRINT_MACRO(RWSTD_NO_EXPLICIT_INSTANTIATION);
-   PRINT_MACRO(RWSTD_NO_EXTENSION);
-   PRINT_MACRO(RWSTD_NO_FORWARD_SPECIALIZATIONS);
-   PRINT_MACRO(RWSTD_NO_FPOS_T);
-   PRINT_MACRO(RWSTD_NO_FRIEND_TEMPLATES);
-   PRINT_MACRO(RWSTD_NO_FUNC_PARTIAL_SPEC);
-   PRINT_MACRO(RWSTD_NO_GETTIMEOFDAY);
-   PRINT_MACRO(RWSTD_NO_GLOBAL_TZ);
-   PRINT_MACRO(RWSTD_NO_INHERITED_TYPEDEFS);
-   PRINT_MACRO(RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG);
-   PRINT_MACRO(RWSTD_NO_INT_TYPEDEF);
-   PRINT_MACRO(RWSTD_NO_LDIV);
-   PRINT_MACRO(RWSTD_NO_LEADING_UNDERSCORE);
-   PRINT_MACRO(RWSTD_NO_LOCALE);
-   PRINT_MACRO(RWSTD_NO_LONG_NAME);
-   PRINT_MACRO(RWSTD_NO_LONGDOUBLE);
-   PRINT_MACRO(RWSTD_NO_MBSTATE_T);
-   PRINT_MACRO(RWSTD_NO_MEM_CLASS_TEMPLATES);
-   PRINT_MACRO(RWSTD_NO_MEMBER_TEMPLATES);
-   PRINT_MACRO(RWSTD_NO_MEMBER_TYPE_TPARAM);
-   PRINT_MACRO(RWSTD_NO_MEMBER_WO_DEF_CTOR);
-   PRINT_MACRO(RWSTD_NO_MEMMOVE);
-   PRINT_MACRO(RWSTD_NO_MULTI_DIM_ARRAY);
-   PRINT_MACRO(RWSTD_NO_MUTABLE);
-   PRINT_MACRO(RWSTD_NO_NAME_INJECTION);
-   PRINT_MACRO(RWSTD_NO_NAMESPACE);
-   PRINT_MACRO(RWSTD_NO_NESTING_TEMPLATES);
-   PRINT_MACRO(RWSTD_NO_NEW_BRACKETS);
-   PRINT_MACRO(RWSTD_NO_NEW_DECL);
-   PRINT_MACRO(RWSTD_NO_NEW_HEADER);
-   PRINT_MACRO(RWSTD_NO_NEW_TEMPLATE_SYNTAX);
-   PRINT_MACRO(RWSTD_NO_NONCLASS_ARROW_RETURN);
-   PRINT_MACRO(RWSTD_NO_NONTYPE_ARGS);
-   PRINT_MACRO(RWSTD_NO_ONLY_NEEDED_INSTANTIATION);
-   PRINT_MACRO(RWSTD_NO_OVERLOAD_C_POW);
-   PRINT_MACRO(RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION);
-   PRINT_MACRO(RWSTD_NO_OVERLOAD_WCHAR);
-   PRINT_MACRO(RWSTD_NO_PART_SPEC_OVERLOAD);
-   PRINT_MACRO(RWSTD_NO_RET_TEMPLATE);
-   PRINT_MACRO(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES);
-   PRINT_MACRO(RWSTD_NO_STATIC_CAST);
-   PRINT_MACRO(RWSTD_NO_STATIC_DEF);
-   PRINT_MACRO(RWSTD_NO_STATIC_DEF2);
-   PRINT_MACRO(RWSTD_NO_STATIC_DEF3);
-   PRINT_MACRO(RWSTD_NO_STATIC_MEM_DEF);
-   PRINT_MACRO(RWSTD_NO_STI_SIMPLE);
-   PRINT_MACRO(RWSTD_NO_STI_TEMPLATE);
-   PRINT_MACRO(RWSTD_NO_STREAM_LONG_DOUBLE);
-   PRINT_MACRO(RWSTD_NO_STRFTIME_CAPC);
-   PRINT_MACRO(RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE);
-   PRINT_MACRO(RWSTD_NO_SWPRINTF);
-   PRINT_MACRO(RWSTD_NO_TEMPLATE_ON_RETURN_TYPE);
-   PRINT_MACRO(RWSTD_NO_TEMPLATE_TEMPLATE);
-   PRINT_MACRO(RWSTD_NO_THREADS);
-   PRINT_MACRO(RWSTD_NO_THROW_SPEC_ON_NEW);
-   PRINT_MACRO(RWSTD_NO_THROW_WITH_SHARED);
-   PRINT_MACRO(RWSTD_NO_TYPEDEF_INST);
-   PRINT_MACRO(RWSTD_NO_TYPEDEF_OVERLOAD);
-   PRINT_MACRO(RWSTD_NO_TYPENAME);
-   PRINT_MACRO(RWSTD_NO_UNDEFINED_FRIEND);
-   PRINT_MACRO(RWSTD_NO_UNINITIALIZED_STATIC_DEF);
-   PRINT_MACRO(RWSTD_NO_WCHAR_H);
-   PRINT_MACRO(RWSTD_NO_WCTYPE_H);
-   PRINT_MACRO(RWSTD_NO_WIDE_CHAR);
-   PRINT_MACRO(RWSTD_NO_WINT_TYPE);
-   PRINT_MACRO(RWSTD_NO_WSTR);
-   PRINT_MACRO(RWSTD_NOT_ALL_WSTR_CFUNCTIONS);
-   PRINT_MACRO(RWSTD_POSIX_D10_THREADS);
-   PRINT_MACRO(RWSTD_POSIX_THREADS);
-   PRINT_MACRO(RWSTD_REQUIRES_IEEEFP);
-   PRINT_MACRO(RWSTD_SOLARIS_THREADS);
-   PRINT_MACRO(RWSTD_STRUCT_TM_TZ);
-   PRINT_MACRO(RWSTD_WIDE_STRING_NULL_PROBLEM);
-   #endif
-   // Dinkumware options:
-   PRINT_MACRO(_CPPLIB_VER);
-   PRINT_MACRO(_GLOBAL_USING);
-   PRINT_MACRO(_HAS_EXCEPTIONS);
-   PRINT_MACRO(_HAS_MEMBER_TEMPLATES_REBIND);
-   PRINT_MACRO(_HAS_TEMPLATE_PARTIAL_ORDERING);
-   // STLPort and generic SGI STL options:
-   PRINT_MACRO(__SGI_STL_NO_ARROW_OPERATOR);
-   PRINT_MACRO(__SGI_STL_OWN_IOSTREAMS);
-   PRINT_MACRO(__SGI_STL_PORT);
-   PRINT_MACRO(__STL_AUTOMATIC_TYPE_TRAITS);
-   PRINT_MACRO(__STL_BASE_MATCH_BUG);
-   PRINT_MACRO(__STL_BASE_TYPEDEF_BUG);
-   PRINT_MACRO(__STL_BASE_TYPEDEF_OUTSIDE_BUG);
-   PRINT_MACRO(__STL_BROKEN_USING_DIRECTIVE);
-   PRINT_MACRO(__STL_CONST_CONSTRUCTOR_BUG);
-   PRINT_MACRO(__STL_DEBUG);
-   PRINT_MACRO(__STL_DEBUG_ALLOC);
-   PRINT_MACRO(__STL_DEFAULT_CONSTRUCTOR_BUG);
-   PRINT_MACRO(__STL_DEFAULT_TYPE_PARAM);
-   PRINT_MACRO(__STL_DONT_REDEFINE_STD);
-   PRINT_MACRO(__STL_DONT_USE_BOOL_TYPEDEF);
-   PRINT_MACRO(__STL_HAS_NO_EXCEPTIONS);
-   PRINT_MACRO(__STL_HAS_NO_NAMESPACES);
-   PRINT_MACRO(__STL_HAS_NO_NEW_C_HEADERS);
-   PRINT_MACRO(__STL_HAS_NO_NEW_IOSTREAMS);
-   PRINT_MACRO(__STL_IMPORT_VENDOR_CSTD);
-   PRINT_MACRO(__STL_LIMITED_DEFAULT_TEMPLATES);
-   PRINT_MACRO(__STL_LINK_TIME_INSTANTIATION);
-   PRINT_MACRO(__STL_LONG_LONG);
-   PRINT_MACRO(__STL_LOOP_INLINE_PROBLEMS);
-   PRINT_MACRO(__STL_MEMBER_POINTER_PARAM_BUG);
-   PRINT_MACRO(__STL_NEED_EXPLICIT);
-   PRINT_MACRO(__STL_NEED_MUTABLE);
-   PRINT_MACRO(__STL_NEED_TYPENAME);
-   PRINT_MACRO(__STL_NESTED_TYPE_PARAM_BUG);
-   PRINT_MACRO(__STL_NO_BAD_ALLOC);
-   PRINT_MACRO(__STL_NO_BOOL);
-   PRINT_MACRO(__STL_NO_CLASS_PARTIAL_SPECIALIZATION);
-   PRINT_MACRO(__STL_NO_CSTD_FUNCTION_IMPORTS);
-   PRINT_MACRO(__STL_NO_DEFAULT_NON_TYPE_PARAM);
-   PRINT_MACRO(__STL_NO_EXCEPTION_HEADER);
-   PRINT_MACRO(__STL_NO_EXCEPTION_SPEC);
-   PRINT_MACRO(__STL_NO_EXCEPTIONS);
-   PRINT_MACRO(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS);
-   PRINT_MACRO(__STL_NO_FRIEND_TEMPLATES);
-   PRINT_MACRO(__STL_NO_FUNCTION_TMPL_PARTIAL_ORDER);
-   PRINT_MACRO(__STL_NO_IOSTREAMS);
-   PRINT_MACRO(__STL_NO_LONG_DOUBLE);
-   PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_CLASSES);
-   PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_KEYWORD);
-   PRINT_MACRO(__STL_NO_MEMBER_TEMPLATES);
-   PRINT_MACRO(__STL_NO_METHOD_SPECIALIZATION);
-   PRINT_MACRO(__STL_NO_NAMESPACES);
-   PRINT_MACRO(__STL_NO_NEW_IOSTREAMS);
-   PRINT_MACRO(__STL_NO_NEW_NEW_HEADER);
-   PRINT_MACRO(__STL_NO_NEW_STYLE_CASTS);
-   PRINT_MACRO(__STL_NO_PARTIAL_SPECIALIZATION_SYNTAX);
-   PRINT_MACRO(__STL_NO_QUALIFIED_FRIENDS);
-   PRINT_MACRO(__STL_NO_RELOPS_NAMESPACE);
-   PRINT_MACRO(__STL_NO_SGI_IOSTREAMS);
-   PRINT_MACRO(__STL_NO_STATIC_TEMPLATE_DATA);
-   PRINT_MACRO(__STL_NO_TEMPLATE_CONVERSIONS);
-   PRINT_MACRO(__STL_NO_WCHAR_T);
-   PRINT_MACRO(__STL_NON_TYPE_TMPL_PARAM_BUG);
-   PRINT_MACRO(__STL_NONTEMPL_BASE_MATCH_BUG);
-   PRINT_MACRO(__STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS);
-   PRINT_MACRO(__STL_RAND48);
-   PRINT_MACRO(__STL_STATIC_ARRAY_BUG);
-   PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG);
-   PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG);
-   PRINT_MACRO(__STL_THROW_RETURN_BUG);
-   PRINT_MACRO(__STL_TRIVIAL_CONSTRUCTOR_BUG);
-   PRINT_MACRO(__STL_TRIVIAL_DESTRUCTOR_BUG);
-   PRINT_MACRO(__STL_UNINITIALIZABLE_PRIVATE);
-   PRINT_MACRO(__STL_USE_ABBREVS);
-   PRINT_MACRO(__STL_USE_DEFALLOC);
-   PRINT_MACRO(__STL_USE_MALLOC);
-   PRINT_MACRO(__STL_USE_NEW_C_HEADERS);
-   PRINT_MACRO(__STL_USE_NEW_IOSTREAMS);
-   PRINT_MACRO(__STL_USE_NEWALLOC);
-   PRINT_MACRO(__STL_USE_OWN_NAMESPACE);
-   PRINT_MACRO(__STL_USE_SGI_ALLOCATORS);
-   PRINT_MACRO(__STL_WCHAR_T_IS_USHORT);
-   PRINT_MACRO(__STL_WEAK_ATTRIBUTE);
-   PRINT_MACRO(__STL_YVALS_H);
-   PRINT_MACRO(_NOTHREADS);
-   PRINT_MACRO(_PTHREADS);
-#if defined(__SGI_STL_PORT) && (__SGI_STL_PORT > 0x0400)
-   PRINT_MACRO(_STLP_AUTOMATIC_TYPE_TRAITS);
-   PRINT_MACRO(_STLP_BASE_MATCH_BUG);
-   PRINT_MACRO(_STLP_BASE_TYPEDEF_BUG);
-   PRINT_MACRO(_STLP_BASE_TYPEDEF_OUTSIDE_BUG);
-   PRINT_MACRO(_STLP_BROKEN_USING_DIRECTIVE);
-   PRINT_MACRO(_STLP_CONST_CONSTRUCTOR_BUG);
-   PRINT_MACRO(_STLP_DEBUG);
-   PRINT_MACRO(_STLP_DEBUG_ALLOC);
-   PRINT_MACRO(_STLP_DEFAULT_CONSTRUCTOR_BUG);
-   PRINT_MACRO(_STLP_DEFAULT_TYPE_PARAM);
-   PRINT_MACRO(_STLP_DONT_REDEFINE_STD);
-   PRINT_MACRO(_STLP_DONT_USE_BOOL_TYPEDEF);
-   PRINT_MACRO(_STLP_HAS_NO_EXCEPTIONS);
-   PRINT_MACRO(_STLP_HAS_NO_NAMESPACES);
-   PRINT_MACRO(_STLP_HAS_NO_NEW_C_HEADERS);
-   PRINT_MACRO(_STLP_HAS_NO_NEW_IOSTREAMS);
-   PRINT_MACRO(_STLP_IMPORT_VENDOR_CSTD);
-   PRINT_MACRO(_STLP_LIMITED_DEFAULT_TEMPLATES);
-   PRINT_MACRO(_STLP_LINK_TIME_INSTANTIATION);
-   PRINT_MACRO(_STLP_LONG_LONG);
-   PRINT_MACRO(_STLP_LOOP_INLINE_PROBLEMS);
-   PRINT_MACRO(_STLP_MEMBER_POINTER_PARAM_BUG);
-   PRINT_MACRO(_STLP_NEED_EXPLICIT);
-   PRINT_MACRO(_STLP_NEED_MUTABLE);
-   PRINT_MACRO(_STLP_NEED_TYPENAME);
-   PRINT_MACRO(_STLP_NESTED_TYPE_PARAM_BUG);
-   PRINT_MACRO(_STLP_NO_ARROW_OPERATOR);
-   PRINT_MACRO(_STLP_NO_BAD_ALLOC);
-   PRINT_MACRO(_STLP_NO_BOOL);
-   PRINT_MACRO(_STLP_NO_CLASS_PARTIAL_SPECIALIZATION);
-   PRINT_MACRO(_STLP_NO_CSTD_FUNCTION_IMPORTS);
-   PRINT_MACRO(_STLP_NO_DEFAULT_NON_TYPE_PARAM);
-   PRINT_MACRO(_STLP_NO_EXCEPTION_HEADER);
-   PRINT_MACRO(_STLP_NO_EXCEPTION_SPEC);
-   PRINT_MACRO(_STLP_NO_EXCEPTIONS);
-   PRINT_MACRO(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS);
-   PRINT_MACRO(_STLP_NO_FRIEND_TEMPLATES);
-   PRINT_MACRO(_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER);
-   PRINT_MACRO(_STLP_NO_IOSTREAMS);
-   PRINT_MACRO(_STLP_NO_LONG_DOUBLE);
-   PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_CLASSES);
-   PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_KEYWORD);
-   PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATES);
-   PRINT_MACRO(_STLP_NO_METHOD_SPECIALIZATION);
-   PRINT_MACRO(_STLP_NO_NAMESPACES);
-   PRINT_MACRO(_STLP_NO_NEW_IOSTREAMS);
-   PRINT_MACRO(_STLP_NO_NEW_NEW_HEADER);
-   PRINT_MACRO(_STLP_NO_NEW_STYLE_CASTS);
-   PRINT_MACRO(_STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX);
-   PRINT_MACRO(_STLP_NO_QUALIFIED_FRIENDS);
-   PRINT_MACRO(_STLP_NO_RELOPS_NAMESPACE);
-   PRINT_MACRO(_STLP_NO_SGI_IOSTREAMS);
-   PRINT_MACRO(_STLP_NO_STATIC_TEMPLATE_DATA);
-   PRINT_MACRO(_STLP_NO_TEMPLATE_CONVERSIONS);
-   PRINT_MACRO(_STLP_NO_WCHAR_T);
-   PRINT_MACRO(_STLP_NON_TYPE_TMPL_PARAM_BUG);
-   PRINT_MACRO(_STLP_NONTEMPL_BASE_MATCH_BUG);
-   PRINT_MACRO(_STLP_OWN_IOSTREAMS);
-   PRINT_MACRO(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS);
-   PRINT_MACRO(_STLP_RAND48);
-   PRINT_MACRO(_STLP_STATIC_ARRAY_BUG);
-   PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG);
-   PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG);
-   PRINT_MACRO(_STLP_THROW_RETURN_BUG);
-   PRINT_MACRO(_STLP_TRIVIAL_CONSTRUCTOR_BUG);
-   PRINT_MACRO(_STLP_TRIVIAL_DESTRUCTOR_BUG);
-   PRINT_MACRO(_STLP_UNINITIALIZABLE_PRIVATE);
-   PRINT_MACRO(_STLP_USE_ABBREVS);
-   PRINT_MACRO(_STLP_USE_DEFALLOC);
-   PRINT_MACRO(_STLP_USE_MALLOC);
-   PRINT_MACRO(_STLP_USE_NEW_C_HEADERS);
-   PRINT_MACRO(_STLP_USE_NEWALLOC);
-   PRINT_MACRO(_STLP_USE_OWN_NAMESPACE);
-   PRINT_MACRO(_STLP_USE_SGI_ALLOCATORS);
-   PRINT_MACRO(_STLP_WCHAR_T_IS_USHORT);
-   PRINT_MACRO(_STLP_WEAK_ATTRIBUTE);
-   PRINT_MACRO(_STLP_YVALS_H);
-#endif
-   PRINT_MACRO(__GLIBCPP__);
-   PRINT_MACRO(_GLIBCPP_USE_WCHAR_T);
-   PRINT_MACRO(_GLIBCPP_VERSION);
-   PRINT_MACRO(__GLIBCXX__);
-   PRINT_MACRO(_GLIBCXX_USE_WCHAR_T);
-   PRINT_MACRO(_GLIBCXX_VERSION);
-   PRINT_MACRO(_GLIBCXX_USE_LONG_LONG);
-   PRINT_MACRO(_GLIBCXX_USE_NLS);
-   PRINT_MACRO(_GLIBCXX_USE_C99_MATH);
-   PRINT_MACRO(_GLIBCXX_USE_C99);
-   PRINT_MACRO(_GLIBCXX_CONCEPT_CHECKS);
-   PRINT_MACRO(_GLIBCXX_USE_LFS);
-   PRINT_MACRO(_GLIBCXX_SYMVER);
-   PRINT_MACRO(_GLIBCXX_MEM_LIMITS);
-   PRINT_MACRO(_GLIBCXX_HOSTED);
-   PRINT_MACRO(_GLIBCXX_SJLJ_EXCEPTIONS);
-
-   // Modena C++ standard library
-   PRINT_MACRO(MSIPL_ANSI_HEADER);
-   PRINT_MACRO(MSIPL_BOOL_BUILTIN);
-   PRINT_MACRO(MSIPL_DEF_EXPLICIT);
-   PRINT_MACRO(MSIPL_DEF_TEMPARG);
-   PRINT_MACRO(MSIPL_EXPINST_ALLOWED);
-   PRINT_MACRO(MSIPL_EXPLICIT_FUNC_TEMPLATE_ARG);
-   PRINT_MACRO(MISPL_EXPLICIT_TEMPLATE_ARGUMENT);
-   PRINT_MACRO(MSIPL_FUNC_TEMPLATE_DEFARG);
-   PRINT_MACRO(MSIPL_MEMBER_TEMPLATE);
-   PRINT_MACRO(MSIPL_MULTITHREAD);
-   PRINT_MACRO(MSIPL_NON_TYPE_TEMPARG);
-   PRINT_MACRO(MSIPL_PARTIAL_TEMPL);
-   PRINT_MACRO(MSIPL_STATIC_CONST_INIT);
-   PRINT_MACRO(MSIPL_TEMPL_NEWSPEC);
-   PRINT_MACRO(MSIPL_TYPENAME);
-   PRINT_MACRO(MSIPL_USING_NAMESPACE);
-   PRINT_MACRO(MSIPL_WCHART);
-}
-
-void print_platform_macros()
-{
-   std::cout << "Detected Platform: " << BOOST_PLATFORM << std::endl;
-   // signedness:
-   PRINT_SIGN(char);
-   PRINT_SIGN(wchar_t);
-   // byte ordering:
-   PRINT_ORDER(short);
-   PRINT_ORDER(int);
-   PRINT_ORDER(long);
-   // sizes:
-   PRINT_EXPRESSION(sizeof(wchar_t));
-   PRINT_EXPRESSION(sizeof(short));
-   PRINT_EXPRESSION(sizeof(int));
-   PRINT_EXPRESSION(sizeof(long));
-   PRINT_EXPRESSION(sizeof(size_t));
-   PRINT_EXPRESSION(sizeof(ptrdiff_t));
-   PRINT_EXPRESSION(sizeof(void*));
-   PRINT_EXPRESSION(sizeof(void(*)(void)));
-   PRINT_EXPRESSION(sizeof(float));
-   PRINT_EXPRESSION(sizeof(double));
-   PRINT_EXPRESSION(sizeof(long double));
-   // limits:
-   PRINT_MACRO(CHAR_BIT);
-   PRINT_MACRO(CHAR_MAX);
-   PRINT_MACRO(WCHAR_MAX);
-   PRINT_MACRO(SHRT_MAX);
-   PRINT_MACRO(INT_MAX);
-   PRINT_MACRO(LONG_MAX);
-   PRINT_MACRO(LLONG_MAX);
-   PRINT_MACRO(LONG_LONG_MAX);
-   PRINT_MACRO(LONGLONG_MAX);
-   PRINT_MACRO(ULLONG_MAX); // <boost/cstdint.hpp> uses these, so we need to know them
-   PRINT_MACRO(ULONG_LONG_MAX);
-   PRINT_MACRO(ULONGLONG_MAX);
-   // general C99:
-   PRINT_MACRO(__STDC_IEC_559__);
-   PRINT_MACRO(__STDC_IEC_559_COMPLEX__);
-   PRINT_MACRO(__STDC_ISO_10646__);
-   // GNU:
-   PRINT_MACRO(__GLIBC__);
-   PRINT_MACRO(__GLIBC_MINOR__);
-   PRINT_MACRO(__GNU_LIBRARY__);
-   PRINT_MACRO(_BSD_SOURCE);
-   PRINT_MACRO(_GNU_SOURCE);
-   PRINT_MACRO(_ISOC99_SOURCE);
-   PRINT_MACRO(_ISOC9X_SOURCE);
-   PRINT_MACRO(_LARGEFILE_SOURCE);
-   PRINT_MACRO(_LARGEFILE64_SOURCE);
-   PRINT_MACRO(_SVID_SOURCE);
-   PRINT_MACRO(_THREAD_SAFE);
-   PRINT_MACRO(_XOPEN_SOURCE_EXTENDED);
-   PRINT_MACRO(XPG);
-   PRINT_MACRO(__MINGW32_MAJOR_VERSION);
-   PRINT_MACRO(__MINGW32_MINOR_VERSION);
-   // POSIX:
-   PRINT_MACRO(_POSIX_ADVISORY_INFO);
-   PRINT_MACRO(_POSIX_ASYNCHRONOUS_IO);
-   PRINT_MACRO(_POSIX_BARRIERS);
-   PRINT_MACRO(_POSIX_C_SOURCE);
-   PRINT_MACRO(_POSIX_CHOWN_RESTRICTED);
-   PRINT_MACRO(_POSIX_CLOCK_SELECTION);
-   PRINT_MACRO(_POSIX_CPUTIME);
-   PRINT_MACRO(_POSIX_FSYNC);
-   PRINT_MACRO(_POSIX_JOB_CONTROL);
-   PRINT_MACRO(_POSIX_MAPPED_FILES);
-   PRINT_MACRO(_POSIX_MEMLOCK);
-   PRINT_MACRO(_POSIX_MEMLOCK_RANGE);
-   PRINT_MACRO(_POSIX_MEMORY_PROTECTION);
-   PRINT_MACRO(_POSIX_MESSAGE_PASSING);
-   PRINT_MACRO(_POSIX_MONOTONIC_CLOCK);
-   PRINT_MACRO(_POSIX_NO_TRUNC);
-   PRINT_MACRO(_POSIX_PRIORITIZED_IO);
-   PRINT_MACRO(_POSIX_PRIORITY_SCHEDULING);
-   PRINT_MACRO(_POSIX_RAW_SOCKETS);
-   PRINT_MACRO(_POSIX_READER_WRITER_LOCKS);
-   PRINT_MACRO(_POSIX_REALTIME_SIGNALS);
-   PRINT_MACRO(_POSIX_REGEXP);
-   PRINT_MACRO(_POSIX_SAVED_IDS);
-   PRINT_MACRO(_POSIX_SEMAPHORES);
-   PRINT_MACRO(_POSIX_SHARED_MEMORY_OBJECTS);
-   PRINT_MACRO(_POSIX_SHELL);
-   PRINT_MACRO(_POSIX_SOURCE);
-   PRINT_MACRO(_POSIX_SPAWN);
-   PRINT_MACRO(_POSIX_SPIN_LOCKS);
-   PRINT_MACRO(_POSIX_SPORADIC_SERVER);
-   PRINT_MACRO(_POSIX_SYNCHRONIZED_IO);
-   PRINT_MACRO(_POSIX_THREAD_ATTR_STACKADDR);
-   PRINT_MACRO(_POSIX_THREAD_ATTR_STACKSIZE);
-   PRINT_MACRO(_POSIX_THREAD_CPUTIME);
-   PRINT_MACRO(_POSIX_THREAD_PRIO_INHERIT);
-   PRINT_MACRO(_POSIX_THREAD_PRIO_PROTECT);
-   PRINT_MACRO(_POSIX_THREAD_PRIORITY_SCHEDULING);
-   PRINT_MACRO(_POSIX_THREAD_PROCESS_SHARED);
-   PRINT_MACRO(_POSIX_THREAD_SAFE_FUNCTIONS);
-   PRINT_MACRO(_POSIX_THREAD_SPORADIC_SERVER);
-   PRINT_MACRO(_POSIX_THREADS);
-   PRINT_MACRO(_POSIX_TIMEOUTS);
-   PRINT_MACRO(_POSIX_TIMERS);
-   PRINT_MACRO(_POSIX_TRACE);
-   PRINT_MACRO(_POSIX_TRACE_EVENT_FILTER);
-   PRINT_MACRO(_POSIX_TRACE_INHERIT);
-   PRINT_MACRO(_POSIX_TRACE_LOG);
-   PRINT_MACRO(_POSIX_TYPED_MEMORY_OBJECTS);
-   PRINT_MACRO(_POSIX_VDISABLE);
-   PRINT_MACRO(_POSIX_VERSION);
-   PRINT_MACRO(_POSIX2_C_BIND);
-   PRINT_MACRO(_POSIX2_C_DEV);
-   PRINT_MACRO(_POSIX2_CHAR_TERM);
-   PRINT_MACRO(_POSIX2_FORT_DEV);
-   PRINT_MACRO(_POSIX2_FORT_RUN);
-   PRINT_MACRO(_POSIX2_LOCALEDEF);
-   PRINT_MACRO(_POSIX2_PBS);
-   PRINT_MACRO(_POSIX2_PBS_ACCOUNTING);
-   PRINT_MACRO(_POSIX2_PBS_CHECKPOINT);
-   PRINT_MACRO(_POSIX2_PBS_LOCATE);
-   PRINT_MACRO(_POSIX2_PBS_MESSAGE);
-   PRINT_MACRO(_POSIX2_PBS_TRACK);
-   PRINT_MACRO(_POSIX2_SW_DEV);
-   PRINT_MACRO(_POSIX2_UPE);
-   PRINT_MACRO(_POSIX2_VERSION);
-   PRINT_MACRO(_V6_ILP32_OFF32);
-   PRINT_MACRO(_V6_ILP32_OFFBIG);
-   PRINT_MACRO(_V6_LP64_OFF64);
-   PRINT_MACRO(_V6_LPBIG_OFFBIG);
-   PRINT_MACRO(_XBS5_ILP32_OFF32);
-   PRINT_MACRO(_XBS5_ILP32_OFFBIG);
-   PRINT_MACRO(_XBS5_LP64_OFF64);
-   PRINT_MACRO(_XBS5_LPBIG_OFFBIG);
-   PRINT_MACRO(_XOPEN_CRYPT);
-   PRINT_MACRO(_XOPEN_ENH_I18N);
-   PRINT_MACRO(_XOPEN_LEGACY);
-   PRINT_MACRO(_XOPEN_REALTIME);
-   PRINT_MACRO(_XOPEN_REALTIME_THREADS);
-   PRINT_MACRO(_XOPEN_SHM);
-   PRINT_MACRO(_XOPEN_SOURCE);
-   PRINT_MACRO(_XOPEN_STREAMS);
-   PRINT_MACRO(_XOPEN_UNIX);
-   PRINT_MACRO(_XOPEN_VERSION);
-   // Misc:
-   PRINT_MACRO(__USE_BSD);
-   PRINT_MACRO(_FILE_OFFSET_BITS);
-}
-
-void print_boost_macros()
-{
-   std::cout << "Boost version " << BOOST_STRINGIZE(BOOST_VERSION) << std::endl;
-   // config setup macros first:
-   PRINT_MACRO(BOOST_USER_CONFIG);
-   PRINT_MACRO(BOOST_COMPILER_CONFIG);
-   PRINT_MACRO(BOOST_STDLIB_CONFIG);
-   PRINT_MACRO(BOOST_PLATFORM_CONFIG);
-   PRINT_MACRO(BOOST_NO_CONFIG);
-   PRINT_MACRO(BOOST_NO_USER_CONFIG);
-   PRINT_MACRO(BOOST_NO_COMPILER_CONFIG);
-   PRINT_MACRO(BOOST_NO_STDLIB_CONFIG);
-   PRINT_MACRO(BOOST_NO_PLATFORM_CONFIG);
-   // then defect and feature macros:
-   PRINT_MACRO(BOOST_DISABLE_THREADS);
-   PRINT_MACRO(BOOST_DISABLE_WIN32);
-   PRINT_MACRO(BOOST_HAS_THREADS);
-   PRINT_MACRO(BOOST_WINDOWS);
-
-   // BEGIN GENERATED BLOCK DO NOT EDIT THIS!!!!!!
-   PRINT_MACRO(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG);
-   PRINT_MACRO(BOOST_DEDUCED_TYPENAME);
-   PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL);
-   PRINT_MACRO(BOOST_HAS_BETHREADS);
-   PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME);
-   PRINT_MACRO(BOOST_HAS_DIRENT_H);
-   PRINT_MACRO(BOOST_HAS_EXPM1);
-   PRINT_MACRO(BOOST_HAS_FTIME);
-   PRINT_MACRO(BOOST_HAS_GETSYSTEMTIMEASFILETIME);
-   PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY);
-   PRINT_MACRO(BOOST_HAS_HASH);
-   PRINT_MACRO(BOOST_HAS_LOG1P);
-   PRINT_MACRO(BOOST_HAS_LONG_LONG);
-   PRINT_MACRO(BOOST_HAS_MACRO_USE_FACET);
-   PRINT_MACRO(BOOST_HAS_MS_INT64);
-   PRINT_MACRO(BOOST_HAS_NANOSLEEP);
-   PRINT_MACRO(BOOST_HAS_NL_TYPES_H);
-   PRINT_MACRO(BOOST_HAS_NRVO);
-   PRINT_MACRO(BOOST_HAS_PARTIAL_STD_ALLOCATOR);
-   PRINT_MACRO(BOOST_HAS_PTHREADS);
-   PRINT_MACRO(BOOST_HAS_PTHREAD_DELAY_NP);
-   PRINT_MACRO(BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE);
-   PRINT_MACRO(BOOST_HAS_PTHREAD_YIELD);
-   PRINT_MACRO(BOOST_HAS_RVALUE_REFS);
-   PRINT_MACRO(BOOST_HAS_SCHED_YIELD);
-   PRINT_MACRO(BOOST_HAS_SGI_TYPE_TRAITS);
-   PRINT_MACRO(BOOST_HAS_SIGACTION);
-   PRINT_MACRO(BOOST_HAS_SLIST);
-   PRINT_MACRO(BOOST_HAS_STATIC_ASSERT);
-   PRINT_MACRO(BOOST_HAS_STDINT_H);
-   PRINT_MACRO(BOOST_HAS_STLP_USE_FACET);
-   PRINT_MACRO(BOOST_HAS_TR1_ARRAY);
-   PRINT_MACRO(BOOST_HAS_TR1_BIND);
-   PRINT_MACRO(BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG);
-   PRINT_MACRO(BOOST_HAS_TR1_COMPLEX_OVERLOADS);
-   PRINT_MACRO(BOOST_HAS_TR1_FUNCTION);
-   PRINT_MACRO(BOOST_HAS_TR1_HASH);
-   PRINT_MACRO(BOOST_HAS_TR1_MEM_FN);
-   PRINT_MACRO(BOOST_HAS_TR1_RANDOM);
-   PRINT_MACRO(BOOST_HAS_TR1_REFERENCE_WRAPPER);
-   PRINT_MACRO(BOOST_HAS_TR1_REGEX);
-   PRINT_MACRO(BOOST_HAS_TR1_RESULT_OF);
-   PRINT_MACRO(BOOST_HAS_TR1_SHARED_PTR);
-   PRINT_MACRO(BOOST_HAS_TR1_TUPLE);
-   PRINT_MACRO(BOOST_HAS_TR1_TYPE_TRAITS);
-   PRINT_MACRO(BOOST_HAS_TR1_UNORDERED_MAP);
-   PRINT_MACRO(BOOST_HAS_TR1_UNORDERED_SET);
-   PRINT_MACRO(BOOST_HAS_TR1_UTILITY);
-   PRINT_MACRO(BOOST_HAS_TWO_ARG_USE_FACET);
-   PRINT_MACRO(BOOST_HAS_UNISTD_H);
-   PRINT_MACRO(BOOST_HAS_VARIADIC_TMPL);
-   PRINT_MACRO(BOOST_HAS_WINTHREADS);
-   PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES);
-   PRINT_MACRO(BOOST_MSVC_STD_ITERATOR);
-   PRINT_MACRO(BOOST_NO_0X_HDR_ARRAY);
-   PRINT_MACRO(BOOST_NO_0X_HDR_CHRONO);
-   PRINT_MACRO(BOOST_NO_0X_HDR_CODECVT);
-   PRINT_MACRO(BOOST_NO_0X_HDR_CONDITION_VARIABLE);
-   PRINT_MACRO(BOOST_NO_0X_HDR_FORWARD_LIST);
-   PRINT_MACRO(BOOST_NO_0X_HDR_FUTURE);
-   PRINT_MACRO(BOOST_NO_0X_HDR_INITIALIZER_LIST);
-   PRINT_MACRO(BOOST_NO_0X_HDR_MUTEX);
-   PRINT_MACRO(BOOST_NO_0X_HDR_RANDOM);
-   PRINT_MACRO(BOOST_NO_0X_HDR_RATIO);
-   PRINT_MACRO(BOOST_NO_0X_HDR_REGEX);
-   PRINT_MACRO(BOOST_NO_0X_HDR_SYSTEM_ERROR);
-   PRINT_MACRO(BOOST_NO_0X_HDR_THREAD);
-   PRINT_MACRO(BOOST_NO_0X_HDR_TUPLE);
-   PRINT_MACRO(BOOST_NO_0X_HDR_TYPEINDEX);
-   PRINT_MACRO(BOOST_NO_0X_HDR_TYPE_TRAITS);
-   PRINT_MACRO(BOOST_NO_0X_HDR_UNORDERED_MAP);
-   PRINT_MACRO(BOOST_NO_0X_HDR_UNORDERED_SET);
-   PRINT_MACRO(BOOST_NO_ADL_BARRIER);
-   PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP);
-   PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS);
-   PRINT_MACRO(BOOST_NO_AUTO_DECLARATIONS);
-   PRINT_MACRO(BOOST_NO_AUTO_MULTIDECLARATIONS);
-   PRINT_MACRO(BOOST_NO_AUTO_PTR);
-   PRINT_MACRO(BOOST_NO_CHAR16_T);
-   PRINT_MACRO(BOOST_NO_CHAR32_T);
-   PRINT_MACRO(BOOST_NO_COMPLETE_VALUE_INITIALIZATION);
-   PRINT_MACRO(BOOST_NO_CONSTEXPR);
-   PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS);
-   PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS);
-   PRINT_MACRO(BOOST_NO_CV_VOID_SPECIALIZATIONS);
-   PRINT_MACRO(BOOST_NO_CWCHAR);
-   PRINT_MACRO(BOOST_NO_CWCTYPE);
-   PRINT_MACRO(BOOST_NO_DECLTYPE);
-   PRINT_MACRO(BOOST_NO_DECLTYPE_N3276);
-   PRINT_MACRO(BOOST_NO_DEFAULTED_FUNCTIONS);
-   PRINT_MACRO(BOOST_NO_DELETED_FUNCTIONS);
-   PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS);
-   PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS);
-   PRINT_MACRO(BOOST_NO_EXCEPTIONS);
-   PRINT_MACRO(BOOST_NO_EXCEPTION_STD_NAMESPACE);
-   PRINT_MACRO(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS);
-   PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS);
-   PRINT_MACRO(BOOST_NO_EXTERN_TEMPLATE);
-   PRINT_MACRO(BOOST_NO_FENV_H);
-   PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS);
-   PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING);
-   PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS);
-   PRINT_MACRO(BOOST_NO_INCLASS_MEMBER_INITIALIZATION);
-   PRINT_MACRO(BOOST_NO_INITIALIZER_LISTS);
-   PRINT_MACRO(BOOST_NO_INTEGRAL_INT64_T);
-   PRINT_MACRO(BOOST_NO_INTRINSIC_WCHAR_T);
-   PRINT_MACRO(BOOST_NO_IOSFWD);
-   PRINT_MACRO(BOOST_NO_IOSTREAM);
-   PRINT_MACRO(BOOST_NO_IS_ABSTRACT);
-   PRINT_MACRO(BOOST_NO_LAMBDAS);
-   PRINT_MACRO(BOOST_NO_LIMITS);
-   PRINT_MACRO(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS);
-   PRINT_MACRO(BOOST_NO_LONG_LONG);
-   PRINT_MACRO(BOOST_NO_LONG_LONG_NUMERIC_LIMITS);
-   PRINT_MACRO(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS);
-   PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATES);
-   PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_FRIENDS);
-   PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD);
-   PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS);
-   PRINT_MACRO(BOOST_NO_NESTED_FRIENDSHIP);
-   PRINT_MACRO(BOOST_NO_NOEXCEPT);
-   PRINT_MACRO(BOOST_NO_NULLPTR);
-   PRINT_MACRO(BOOST_NO_NUMERIC_LIMITS_LOWEST);
-   PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE);
-   PRINT_MACRO(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS);
-   PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST);
-   PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS);
-   PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE);
-   PRINT_MACRO(BOOST_NO_RAW_LITERALS);
-   PRINT_MACRO(BOOST_NO_RTTI);
-   PRINT_MACRO(BOOST_NO_RVALUE_REFERENCES);
-   PRINT_MACRO(BOOST_NO_SCOPED_ENUMS);
-   PRINT_MACRO(BOOST_NO_SFINAE);
-   PRINT_MACRO(BOOST_NO_SFINAE_EXPR);
-   PRINT_MACRO(BOOST_NO_STATIC_ASSERT);
-   PRINT_MACRO(BOOST_NO_STDC_NAMESPACE);
-   PRINT_MACRO(BOOST_NO_STD_ALLOCATOR);
-   PRINT_MACRO(BOOST_NO_STD_DISTANCE);
-   PRINT_MACRO(BOOST_NO_STD_ITERATOR);
-   PRINT_MACRO(BOOST_NO_STD_ITERATOR_TRAITS);
-   PRINT_MACRO(BOOST_NO_STD_LOCALE);
-   PRINT_MACRO(BOOST_NO_STD_MESSAGES);
-   PRINT_MACRO(BOOST_NO_STD_MIN_MAX);
-   PRINT_MACRO(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN);
-   PRINT_MACRO(BOOST_NO_STD_TYPEINFO);
-   PRINT_MACRO(BOOST_NO_STD_UNORDERED);
-   PRINT_MACRO(BOOST_NO_STD_USE_FACET);
-   PRINT_MACRO(BOOST_NO_STD_WSTREAMBUF);
-   PRINT_MACRO(BOOST_NO_STD_WSTRING);
-   PRINT_MACRO(BOOST_NO_STRINGSTREAM);
-   PRINT_MACRO(BOOST_NO_SWPRINTF);
-   PRINT_MACRO(BOOST_NO_TEMPLATED_IOSTREAMS);
-   PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS);
-   PRINT_MACRO(BOOST_NO_TEMPLATE_ALIASES);
-   PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION);
-   PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES);
-   PRINT_MACRO(BOOST_NO_TWO_PHASE_NAME_LOOKUP);
-   PRINT_MACRO(BOOST_NO_TYPEID);
-   PRINT_MACRO(BOOST_NO_TYPENAME_WITH_CTOR);
-   PRINT_MACRO(BOOST_NO_UNICODE_LITERALS);
-   PRINT_MACRO(BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX);
-   PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION);
-   PRINT_MACRO(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE);
-   PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
-   PRINT_MACRO(BOOST_NO_VARIADIC_MACROS);
-   PRINT_MACRO(BOOST_NO_VARIADIC_TEMPLATES);
-   PRINT_MACRO(BOOST_NO_VOID_RETURNS);
-
-
-
-
-
-
-
-
-
-
-   // END GENERATED BLOCK
-
-   PRINT_MACRO(BOOST_INTEL);
-   PRINT_MACRO(BOOST_MSVC);
-   PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE);
-   PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0));
-   PRINT_MACRO(BOOST_CONSTEXPR);
-   PRINT_MACRO(BOOST_CONSTEXPR_OR_CONST);
-   PRINT_MACRO(BOOST_STATIC_CONSTEXPR);
-}
-
-void print_separator()
-{
-   std::cout <<
-"\n\n*********************************************************************\n\n";
-}
-
-int main()
-{
-
-  // boost compiler workaround defines
-  print_compiler_macros();
-  print_separator();
-  print_stdlib_macros();
-  print_separator();
-  print_platform_macros();
-  print_separator();
-  print_boost_macros();
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/config/test/config_test.cpp b/SRC/Boost/libs/config/test/config_test.cpp
deleted file mode 100755
index df3ca69..0000000
--- a/SRC/Boost/libs/config/test/config_test.cpp
+++ /dev/null
@@ -1,1701 +0,0 @@
-//  This file was automatically generated on Wed Jul 13 18:50:14 2011
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: config_test.cpp 74889 2011-10-10 11:50:55Z johnmaddock $
-//
-
-// Test file for config setup
-// This file should compile, if it does not then
-// one or more macros need to be defined.
-// see boost_*.ipp for more details
-
-// Do not edit this file, it was generated automatically by
-
-#include <boost/config.hpp>
-#include <iostream>
-#include "test.hpp"
-
-int error_count = 0;
-
-#ifndef BOOST_NO_0X_HDR_ARRAY
-#include "boost_no_0x_hdr_array.ipp"
-#else
-namespace boost_no_0x_hdr_array = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_CHRONO
-#include "boost_no_0x_hdr_chrono.ipp"
-#else
-namespace boost_no_0x_hdr_chrono = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_CODECVT
-#include "boost_no_0x_hdr_codecvt.ipp"
-#else
-namespace boost_no_0x_hdr_codecvt = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#include "boost_no_0x_hdr_condition_variable.ipp"
-#else
-namespace boost_no_0x_hdr_condition_variable = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_FORWARD_LIST
-#include "boost_no_0x_hdr_forward_list.ipp"
-#else
-namespace boost_no_0x_hdr_forward_list = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_FUTURE
-#include "boost_no_0x_hdr_future.ipp"
-#else
-namespace boost_no_0x_hdr_future = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_INITIALIZER_LIST
-#include "boost_no_0x_hdr_initializer_list.ipp"
-#else
-namespace boost_no_0x_hdr_initializer_list = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_MUTEX
-#include "boost_no_0x_hdr_mutex.ipp"
-#else
-namespace boost_no_0x_hdr_mutex = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_RANDOM
-#include "boost_no_0x_hdr_random.ipp"
-#else
-namespace boost_no_0x_hdr_random = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_RATIO
-#include "boost_no_0x_hdr_ratio.ipp"
-#else
-namespace boost_no_0x_hdr_ratio = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_REGEX
-#include "boost_no_0x_hdr_regex.ipp"
-#else
-namespace boost_no_0x_hdr_regex = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_SYSTEM_ERROR
-#include "boost_no_0x_hdr_system_error.ipp"
-#else
-namespace boost_no_0x_hdr_system_error = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_THREAD
-#include "boost_no_0x_hdr_thread.ipp"
-#else
-namespace boost_no_0x_hdr_thread = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_TUPLE
-#include "boost_no_0x_hdr_tuple.ipp"
-#else
-namespace boost_no_0x_hdr_tuple = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_TYPEINDEX
-#include "boost_no_0x_hdr_typeindex.ipp"
-#else
-namespace boost_no_0x_hdr_typeindex = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_TYPE_TRAITS
-#include "boost_no_0x_hdr_type_traits.ipp"
-#else
-namespace boost_no_0x_hdr_type_traits = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_UNORDERED_MAP
-#include "boost_no_0x_hdr_unordered_map.ipp"
-#else
-namespace boost_no_0x_hdr_unordered_map = empty_boost;
-#endif
-#ifndef BOOST_NO_0X_HDR_UNORDERED_SET
-#include "boost_no_0x_hdr_unordered_set.ipp"
-#else
-namespace boost_no_0x_hdr_unordered_set = empty_boost;
-#endif
-#ifndef BOOST_NO_ADL_BARRIER
-#include "boost_no_adl_barrier.ipp"
-#else
-namespace boost_no_adl_barrier = empty_boost;
-#endif
-#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#include "boost_no_arg_dep_lookup.ipp"
-#else
-namespace boost_no_argument_dependent_lookup = empty_boost;
-#endif
-#ifndef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-#include "boost_no_array_type_spec.ipp"
-#else
-namespace boost_no_array_type_specializations = empty_boost;
-#endif
-#ifndef BOOST_NO_AUTO_DECLARATIONS
-#include "boost_no_auto_declarations.ipp"
-#else
-namespace boost_no_auto_declarations = empty_boost;
-#endif
-#ifndef BOOST_NO_AUTO_MULTIDECLARATIONS
-#include "boost_no_auto_multidecl.ipp"
-#else
-namespace boost_no_auto_multideclarations = empty_boost;
-#endif
-#ifndef BOOST_NO_AUTO_PTR
-#include "boost_no_auto_ptr.ipp"
-#else
-namespace boost_no_auto_ptr = empty_boost;
-#endif
-#ifndef BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-#include "boost_no_bcb_partial_spec.ipp"
-#else
-namespace boost_bcb_partial_specialization_bug = empty_boost;
-#endif
-#ifndef BOOST_NO_CHAR16_T
-#include "boost_no_char16_t.ipp"
-#else
-namespace boost_no_char16_t = empty_boost;
-#endif
-#ifndef BOOST_NO_CHAR32_T
-#include "boost_no_char32_t.ipp"
-#else
-namespace boost_no_char32_t = empty_boost;
-#endif
-#ifndef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#include "boost_no_com_value_init.ipp"
-#else
-namespace boost_no_complete_value_initialization = empty_boost;
-#endif
-#ifndef BOOST_NO_CONSTEXPR
-#include "boost_no_constexpr.ipp"
-#else
-namespace boost_no_constexpr = empty_boost;
-#endif
-#ifndef BOOST_NO_CTYPE_FUNCTIONS
-#include "boost_no_ctype_functions.ipp"
-#else
-namespace boost_no_ctype_functions = empty_boost;
-#endif
-#ifndef BOOST_NO_CV_SPECIALIZATIONS
-#include "boost_no_cv_spec.ipp"
-#else
-namespace boost_no_cv_specializations = empty_boost;
-#endif
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-#include "boost_no_cv_void_spec.ipp"
-#else
-namespace boost_no_cv_void_specializations = empty_boost;
-#endif
-#ifndef BOOST_NO_CWCHAR
-#include "boost_no_cwchar.ipp"
-#else
-namespace boost_no_cwchar = empty_boost;
-#endif
-#ifndef BOOST_NO_CWCTYPE
-#include "boost_no_cwctype.ipp"
-#else
-namespace boost_no_cwctype = empty_boost;
-#endif
-#ifndef BOOST_NO_DECLTYPE
-#include "boost_no_decltype.ipp"
-#else
-namespace boost_no_decltype = empty_boost;
-#endif
-#ifndef BOOST_NO_DECLTYPE_N3276
-#include "boost_no_decltype_n3276.ipp"
-#else
-namespace boost_no_decltype_n3276 = empty_boost;
-#endif
-#ifndef BOOST_DEDUCED_TYPENAME
-#include "boost_no_ded_typename.ipp"
-#else
-namespace boost_deduced_typename = empty_boost;
-#endif
-#ifndef BOOST_NO_DEFAULTED_FUNCTIONS
-#include "boost_no_defaulted_functions.ipp"
-#else
-namespace boost_no_defaulted_functions = empty_boost;
-#endif
-#ifndef BOOST_NO_DELETED_FUNCTIONS
-#include "boost_no_deleted_functions.ipp"
-#else
-namespace boost_no_deleted_functions = empty_boost;
-#endif
-#ifndef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-#include "boost_no_dep_nested_class.ipp"
-#else
-namespace boost_no_dependent_nested_derivations = empty_boost;
-#endif
-#ifndef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-#include "boost_no_dep_val_param.ipp"
-#else
-namespace boost_no_dependent_types_in_template_value_parameters = empty_boost;
-#endif
-#ifndef BOOST_NO_EXCEPTIONS
-#include "boost_no_exceptions.ipp"
-#else
-namespace boost_no_exceptions = empty_boost;
-#endif
-#ifndef BOOST_NO_EXCEPTION_STD_NAMESPACE
-#include "boost_no_excep_std.ipp"
-#else
-namespace boost_no_exception_std_namespace = empty_boost;
-#endif
-#ifndef BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#include "boost_no_explicit_cvt_ops.ipp"
-#else
-namespace boost_no_explicit_conversion_operators = empty_boost;
-#endif
-#ifndef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#include "boost_no_exp_func_tem_arg.ipp"
-#else
-namespace boost_no_explicit_function_template_arguments = empty_boost;
-#endif
-#ifndef BOOST_NO_EXTERN_TEMPLATE
-#include "boost_no_extern_template.ipp"
-#else
-namespace boost_no_extern_template = empty_boost;
-#endif
-#ifndef BOOST_NO_FENV_H
-#include "boost_no_fenv_h.ipp"
-#else
-namespace boost_no_fenv_h = empty_boost;
-#endif
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#include "boost_no_function_template_default_args.ipp"
-#else
-namespace boost_no_function_template_default_args = empty_boost;
-#endif
-#ifndef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-#include "boost_no_function_type_spec.ipp"
-#else
-namespace boost_no_function_type_specializations = empty_boost;
-#endif
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#include "boost_no_func_tmp_order.ipp"
-#else
-namespace boost_no_function_template_ordering = empty_boost;
-#endif
-#ifndef BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#include "boost_no_i64_limits.ipp"
-#else
-namespace boost_no_ms_int64_numeric_limits = empty_boost;
-#endif
-#ifndef BOOST_NO_INITIALIZER_LISTS
-#include "boost_no_initializer_lists.ipp"
-#else
-namespace boost_no_initializer_lists = empty_boost;
-#endif
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#include "boost_no_inline_memb_init.ipp"
-#else
-namespace boost_no_inclass_member_initialization = empty_boost;
-#endif
-#ifndef BOOST_NO_INTEGRAL_INT64_T
-#include "boost_no_integral_int64_t.ipp"
-#else
-namespace boost_no_integral_int64_t = empty_boost;
-#endif
-#ifndef BOOST_NO_IOSFWD
-#include "boost_no_iosfwd.ipp"
-#else
-namespace boost_no_iosfwd = empty_boost;
-#endif
-#ifndef BOOST_NO_IOSTREAM
-#include "boost_no_iostream.ipp"
-#else
-namespace boost_no_iostream = empty_boost;
-#endif
-#ifndef BOOST_NO_IS_ABSTRACT
-#include "boost_no_is_abstract.ipp"
-#else
-namespace boost_no_is_abstract = empty_boost;
-#endif
-#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#include "boost_no_iter_construct.ipp"
-#else
-namespace boost_no_templated_iterator_constructors = empty_boost;
-#endif
-#ifndef BOOST_NO_LAMBDAS
-#include "boost_no_lambdas.ipp"
-#else
-namespace boost_no_lambdas = empty_boost;
-#endif
-#ifndef BOOST_NO_LIMITS
-#include "boost_no_limits.ipp"
-#else
-namespace boost_no_limits = empty_boost;
-#endif
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#include "boost_no_limits_const_exp.ipp"
-#else
-namespace boost_no_limits_compile_time_constants = empty_boost;
-#endif
-#ifndef BOOST_NO_NUMERIC_LIMITS_LOWEST
-#include "boost_no_limits_lowest.ipp"
-#else
-namespace boost_no_numeric_limits_lowest = empty_boost;
-#endif
-#ifndef BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-#include "boost_no_ll_limits.ipp"
-#else
-namespace boost_no_long_long_numeric_limits = empty_boost;
-#endif
-#ifndef BOOST_NO_LONG_LONG
-#include "boost_no_long_long.ipp"
-#else
-namespace boost_no_long_long = empty_boost;
-#endif
-#ifndef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-#include "boost_no_mem_func_spec.ipp"
-#else
-namespace boost_no_member_function_specializations = empty_boost;
-#endif
-#ifndef BOOST_NO_MEMBER_TEMPLATES
-#include "boost_no_mem_templates.ipp"
-#else
-namespace boost_no_member_templates = empty_boost;
-#endif
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#include "boost_no_mem_templ_frnds.ipp"
-#else
-namespace boost_no_member_template_friends = empty_boost;
-#endif
-#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-#include "boost_no_mem_tem_keyword.ipp"
-#else
-namespace boost_no_member_template_keyword = empty_boost;
-#endif
-#ifndef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-#include "boost_no_mem_tem_pnts.ipp"
-#else
-namespace boost_no_pointer_to_member_template_parameters = empty_boost;
-#endif
-#ifndef BOOST_NO_NESTED_FRIENDSHIP
-#include "boost_no_nested_friendship.ipp"
-#else
-namespace boost_no_nested_friendship = empty_boost;
-#endif
-#ifndef BOOST_NO_NOEXCEPT
-#include "boost_no_noexcept.ipp"
-#else
-namespace boost_no_noexcept = empty_boost;
-#endif
-#ifndef BOOST_NO_NULLPTR
-#include "boost_no_nullptr.ipp"
-#else
-namespace boost_no_nullptr = empty_boost;
-#endif
-#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE
-#include "boost_no_ops_in_namespace.ipp"
-#else
-namespace boost_no_operators_in_namespace = empty_boost;
-#endif
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include "boost_no_partial_spec.ipp"
-#else
-namespace boost_no_template_partial_specialization = empty_boost;
-#endif
-#ifndef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-#include "boost_no_part_spec_def_args.ipp"
-#else
-namespace boost_no_partial_specialization_implicit_default_args = empty_boost;
-#endif
-#ifndef BOOST_NO_PRIVATE_IN_AGGREGATE
-#include "boost_no_priv_aggregate.ipp"
-#else
-namespace boost_no_private_in_aggregate = empty_boost;
-#endif
-#ifndef BOOST_NO_POINTER_TO_MEMBER_CONST
-#include "boost_no_ptr_mem_const.ipp"
-#else
-namespace boost_no_pointer_to_member_const = empty_boost;
-#endif
-#ifndef BOOST_NO_RAW_LITERALS
-#include "boost_no_raw_literals.ipp"
-#else
-namespace boost_no_raw_literals = empty_boost;
-#endif
-#ifndef BOOST_NO_UNREACHABLE_RETURN_DETECTION
-#include "boost_no_ret_det.ipp"
-#else
-namespace boost_no_unreachable_return_detection = empty_boost;
-#endif
-#ifndef BOOST_NO_RTTI
-#include "boost_no_rtti.ipp"
-#else
-namespace boost_no_rtti = empty_boost;
-#endif
-#ifndef BOOST_NO_RVALUE_REFERENCES
-#include "boost_no_rvalue_references.ipp"
-#else
-namespace boost_no_rvalue_references = empty_boost;
-#endif
-#ifndef BOOST_NO_SCOPED_ENUMS
-#include "boost_no_scoped_enums.ipp"
-#else
-namespace boost_no_scoped_enums = empty_boost;
-#endif
-#ifndef BOOST_NO_SFINAE
-#include "boost_no_sfinae.ipp"
-#else
-namespace boost_no_sfinae = empty_boost;
-#endif
-#ifndef BOOST_NO_SFINAE_EXPR
-#include "boost_no_sfinae_expr.ipp"
-#else
-namespace boost_no_sfinae_expr = empty_boost;
-#endif
-#ifndef BOOST_NO_STRINGSTREAM
-#include "boost_no_sstream.ipp"
-#else
-namespace boost_no_stringstream = empty_boost;
-#endif
-#ifndef BOOST_NO_STATIC_ASSERT
-#include "boost_no_static_assert.ipp"
-#else
-namespace boost_no_static_assert = empty_boost;
-#endif
-#ifndef BOOST_NO_STDC_NAMESPACE
-#include "boost_no_stdc_namespace.ipp"
-#else
-namespace boost_no_stdc_namespace = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_ALLOCATOR
-#include "boost_no_std_allocator.ipp"
-#else
-namespace boost_no_std_allocator = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_DISTANCE
-#include "boost_no_std_distance.ipp"
-#else
-namespace boost_no_std_distance = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_ITERATOR
-#include "boost_no_std_iterator.ipp"
-#else
-namespace boost_no_std_iterator = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_ITERATOR_TRAITS
-#include "boost_no_std_iter_traits.ipp"
-#else
-namespace boost_no_std_iterator_traits = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_LOCALE
-#include "boost_no_std_locale.ipp"
-#else
-namespace boost_no_std_locale = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_MESSAGES
-#include "boost_no_std_messages.ipp"
-#else
-namespace boost_no_std_messages = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_MIN_MAX
-#include "boost_no_std_min_max.ipp"
-#else
-namespace boost_no_std_min_max = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-#include "boost_no_std_oi_assign.ipp"
-#else
-namespace boost_no_std_output_iterator_assign = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_TYPEINFO
-#include "boost_no_std_typeinfo.ipp"
-#else
-namespace boost_no_std_typeinfo = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_UNORDERED
-#include "boost_no_std_unordered.ipp"
-#else
-namespace boost_no_std_unordered = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_USE_FACET
-#include "boost_no_std_use_facet.ipp"
-#else
-namespace boost_no_std_use_facet = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_WSTREAMBUF
-#include "boost_no_std_wstreambuf.ipp"
-#else
-namespace boost_no_std_wstreambuf = empty_boost;
-#endif
-#ifndef BOOST_NO_STD_WSTRING
-#include "boost_no_std_wstring.ipp"
-#else
-namespace boost_no_std_wstring = empty_boost;
-#endif
-#ifndef BOOST_NO_SWPRINTF
-#include "boost_no_swprintf.ipp"
-#else
-namespace boost_no_swprintf = empty_boost;
-#endif
-#ifndef BOOST_NO_TEMPLATE_ALIASES
-#include "boost_no_template_aliases.ipp"
-#else
-namespace boost_no_template_aliases = empty_boost;
-#endif
-#ifndef BOOST_NO_TEMPLATED_IOSTREAMS
-#include "boost_no_template_streams.ipp"
-#else
-namespace boost_no_templated_iostreams = empty_boost;
-#endif
-#ifndef BOOST_NO_TEMPLATE_TEMPLATES
-#include "boost_no_template_template.ipp"
-#else
-namespace boost_no_template_templates = empty_boost;
-#endif
-#ifndef BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#include "boost_no_two_phase_lookup.ipp"
-#else
-namespace boost_no_two_phase_name_lookup = empty_boost;
-#endif
-#ifndef BOOST_NO_TYPEID
-#include "boost_no_typeid.ipp"
-#else
-namespace boost_no_typeid = empty_boost;
-#endif
-#ifndef BOOST_NO_TYPENAME_WITH_CTOR
-#include "boost_no_typename_with_ctor.ipp"
-#else
-namespace boost_no_typename_with_ctor = empty_boost;
-#endif
-#ifndef BOOST_NO_UNICODE_LITERALS
-#include "boost_no_unicode_literals.ipp"
-#else
-namespace boost_no_unicode_literals = empty_boost;
-#endif
-#ifndef BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#include "boost_no_unified_init.ipp"
-#else
-namespace boost_no_unified_initialization_syntax = empty_boost;
-#endif
-#ifndef BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#include "boost_no_using_breaks_adl.ipp"
-#else
-namespace boost_function_scope_using_declaration_breaks_adl = empty_boost;
-#endif
-#ifndef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-#include "boost_no_using_decl_overld.ipp"
-#else
-namespace boost_no_using_declaration_overloads_from_typename_base = empty_boost;
-#endif
-#ifndef BOOST_NO_USING_TEMPLATE
-#include "boost_no_using_template.ipp"
-#else
-namespace boost_no_using_template = empty_boost;
-#endif
-#ifndef BOOST_NO_VARIADIC_MACROS
-#include "boost_no_variadic_macros.ipp"
-#else
-namespace boost_no_variadic_macros = empty_boost;
-#endif
-#ifndef BOOST_NO_VARIADIC_TEMPLATES
-#include "boost_no_variadic_templates.ipp"
-#else
-namespace boost_no_variadic_templates = empty_boost;
-#endif
-#ifndef BOOST_NO_VOID_RETURNS
-#include "boost_no_void_returns.ipp"
-#else
-namespace boost_no_void_returns = empty_boost;
-#endif
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-#include "boost_no_wchar_t.ipp"
-#else
-namespace boost_no_intrinsic_wchar_t = empty_boost;
-#endif
-
-#ifdef BOOST_HAS_TWO_ARG_USE_FACET
-#include "boost_has_2arg_use_facet.ipp"
-#else
-namespace boost_has_two_arg_use_facet = empty_boost;
-#endif
-#ifdef BOOST_HAS_BETHREADS
-#include "boost_has_bethreads.ipp"
-#else
-namespace boost_has_bethreads = empty_boost;
-#endif
-#ifdef BOOST_HAS_CLOCK_GETTIME
-#include "boost_has_clock_gettime.ipp"
-#else
-namespace boost_has_clock_gettime = empty_boost;
-#endif
-#ifdef BOOST_HAS_DIRENT_H
-#include "boost_has_dirent_h.ipp"
-#else
-namespace boost_has_dirent_h = empty_boost;
-#endif
-#ifdef BOOST_HAS_EXPM1
-#include "boost_has_expm1.ipp"
-#else
-namespace boost_has_expm1 = empty_boost;
-#endif
-#ifdef BOOST_HAS_FTIME
-#include "boost_has_ftime.ipp"
-#else
-namespace boost_has_ftime = empty_boost;
-#endif
-#ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#include "boost_has_getsystemtimeasfiletime.ipp"
-#else
-namespace boost_has_getsystemtimeasfiletime = empty_boost;
-#endif
-#ifdef BOOST_HAS_GETTIMEOFDAY
-#include "boost_has_gettimeofday.ipp"
-#else
-namespace boost_has_gettimeofday = empty_boost;
-#endif
-#ifdef BOOST_HAS_HASH
-#include "boost_has_hash.ipp"
-#else
-namespace boost_has_hash = empty_boost;
-#endif
-#ifdef BOOST_HAS_LOG1P
-#include "boost_has_log1p.ipp"
-#else
-namespace boost_has_log1p = empty_boost;
-#endif
-#ifdef BOOST_HAS_LONG_LONG
-#include "boost_has_long_long.ipp"
-#else
-namespace boost_has_long_long = empty_boost;
-#endif
-#ifdef BOOST_HAS_MACRO_USE_FACET
-#include "boost_has_macro_use_facet.ipp"
-#else
-namespace boost_has_macro_use_facet = empty_boost;
-#endif
-#ifdef BOOST_HAS_MS_INT64
-#include "boost_has_ms_int64.ipp"
-#else
-namespace boost_has_ms_int64 = empty_boost;
-#endif
-#ifdef BOOST_HAS_NANOSLEEP
-#include "boost_has_nanosleep.ipp"
-#else
-namespace boost_has_nanosleep = empty_boost;
-#endif
-#ifdef BOOST_HAS_NL_TYPES_H
-#include "boost_has_nl_types_h.ipp"
-#else
-namespace boost_has_nl_types_h = empty_boost;
-#endif
-#ifdef BOOST_HAS_NRVO
-#include "boost_has_nrvo.ipp"
-#else
-namespace boost_has_nrvo = empty_boost;
-#endif
-#ifdef BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#include "boost_has_part_alloc.ipp"
-#else
-namespace boost_has_partial_std_allocator = empty_boost;
-#endif
-#ifdef BOOST_HAS_PTHREADS
-#include "boost_has_pthreads.ipp"
-#else
-namespace boost_has_pthreads = empty_boost;
-#endif
-#ifdef BOOST_HAS_PTHREAD_DELAY_NP
-#include "boost_has_pthread_delay_np.ipp"
-#else
-namespace boost_has_pthread_delay_np = empty_boost;
-#endif
-#ifdef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#include "boost_has_pthread_ma_st.ipp"
-#else
-namespace boost_has_pthread_mutexattr_settype = empty_boost;
-#endif
-#ifdef BOOST_HAS_PTHREAD_YIELD
-#include "boost_has_pthread_yield.ipp"
-#else
-namespace boost_has_pthread_yield = empty_boost;
-#endif
-#ifdef BOOST_HAS_RVALUE_REFS
-#include "boost_has_rvalue_refs.ipp"
-#else
-namespace boost_has_rvalue_refs = empty_boost;
-#endif
-#ifdef BOOST_HAS_SCHED_YIELD
-#include "boost_has_sched_yield.ipp"
-#else
-namespace boost_has_sched_yield = empty_boost;
-#endif
-#ifdef BOOST_HAS_SGI_TYPE_TRAITS
-#include "boost_has_sgi_type_traits.ipp"
-#else
-namespace boost_has_sgi_type_traits = empty_boost;
-#endif
-#ifdef BOOST_HAS_SIGACTION
-#include "boost_has_sigaction.ipp"
-#else
-namespace boost_has_sigaction = empty_boost;
-#endif
-#ifdef BOOST_HAS_SLIST
-#include "boost_has_slist.ipp"
-#else
-namespace boost_has_slist = empty_boost;
-#endif
-#ifdef BOOST_HAS_STATIC_ASSERT
-#include "boost_has_static_assert.ipp"
-#else
-namespace boost_has_static_assert = empty_boost;
-#endif
-#ifdef BOOST_HAS_STDINT_H
-#include "boost_has_stdint_h.ipp"
-#else
-namespace boost_has_stdint_h = empty_boost;
-#endif
-#ifdef BOOST_HAS_STLP_USE_FACET
-#include "boost_has_stlp_use_facet.ipp"
-#else
-namespace boost_has_stlp_use_facet = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_ARRAY
-#include "boost_has_tr1_array.ipp"
-#else
-namespace boost_has_tr1_array = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_BIND
-#include "boost_has_tr1_bind.ipp"
-#else
-namespace boost_has_tr1_bind = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_COMPLEX_OVERLOADS
-#include "boost_has_tr1_complex_over.ipp"
-#else
-namespace boost_has_tr1_complex_overloads = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-#include "boost_has_tr1_complex_trig.ipp"
-#else
-namespace boost_has_tr1_complex_inverse_trig = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_FUNCTION
-#include "boost_has_tr1_function.ipp"
-#else
-namespace boost_has_tr1_function = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_HASH
-#include "boost_has_tr1_hash.ipp"
-#else
-namespace boost_has_tr1_hash = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_MEM_FN
-#include "boost_has_tr1_mem_fn.ipp"
-#else
-namespace boost_has_tr1_mem_fn = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_RANDOM
-#include "boost_has_tr1_random.ipp"
-#else
-namespace boost_has_tr1_random = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_REFERENCE_WRAPPER
-#include "boost_has_tr1_ref_wrap.ipp"
-#else
-namespace boost_has_tr1_reference_wrapper = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_REGEX
-#include "boost_has_tr1_regex.ipp"
-#else
-namespace boost_has_tr1_regex = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_RESULT_OF
-#include "boost_has_tr1_result_of.ipp"
-#else
-namespace boost_has_tr1_result_of = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_SHARED_PTR
-#include "boost_has_tr1_shared_ptr.ipp"
-#else
-namespace boost_has_tr1_shared_ptr = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_TUPLE
-#include "boost_has_tr1_tuple.ipp"
-#else
-namespace boost_has_tr1_tuple = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_TYPE_TRAITS
-#include "boost_has_tr1_type_traits.ipp"
-#else
-namespace boost_has_tr1_type_traits = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_UNORDERED_MAP
-#include "boost_has_tr1_unordered_map.ipp"
-#else
-namespace boost_has_tr1_unordered_map = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_UNORDERED_SET
-#include "boost_has_tr1_unordered_set.ipp"
-#else
-namespace boost_has_tr1_unordered_set = empty_boost;
-#endif
-#ifdef BOOST_HAS_TR1_UTILITY
-#include "boost_has_tr1_utility.ipp"
-#else
-namespace boost_has_tr1_utility = empty_boost;
-#endif
-#ifdef BOOST_HAS_UNISTD_H
-#include "boost_has_unistd_h.ipp"
-#else
-namespace boost_has_unistd_h = empty_boost;
-#endif
-#ifdef BOOST_HAS_VARIADIC_TMPL
-#include "boost_has_variadic_tmpl.ipp"
-#else
-namespace boost_has_variadic_tmpl = empty_boost;
-#endif
-#ifdef BOOST_MSVC6_MEMBER_TEMPLATES
-#include "boost_has_vc6_mem_templ.ipp"
-#else
-namespace boost_msvc6_member_templates = empty_boost;
-#endif
-#ifdef BOOST_MSVC_STD_ITERATOR
-#include "boost_has_vc_iterator.ipp"
-#else
-namespace boost_msvc_std_iterator = empty_boost;
-#endif
-#ifdef BOOST_HAS_WINTHREADS
-#include "boost_has_winthreads.ipp"
-#else
-namespace boost_has_winthreads = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   if(0 != boost_has_two_arg_use_facet::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TWO_ARG_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_bethreads::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_BETHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_clock_gettime::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_CLOCK_GETTIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_dirent_h::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_DIRENT_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_expm1::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_EXPM1 at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_ftime::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_FTIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_getsystemtimeasfiletime::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_GETSYSTEMTIMEASFILETIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_gettimeofday::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_GETTIMEOFDAY at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_hash::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_HASH at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_log1p::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_LOG1P at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_long_long::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_LONG_LONG at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_macro_use_facet::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_MACRO_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_ms_int64::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_MS_INT64 at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_nanosleep::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_NANOSLEEP at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_nl_types_h::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_NL_TYPES_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_nrvo::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_NRVO at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_partial_std_allocator::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_PARTIAL_STD_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_pthreads::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_PTHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_pthread_delay_np::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_PTHREAD_DELAY_NP at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_pthread_mutexattr_settype::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_pthread_yield::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_PTHREAD_YIELD at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_rvalue_refs::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_RVALUE_REFS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_sched_yield::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_SCHED_YIELD at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_sgi_type_traits::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_SGI_TYPE_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_sigaction::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_SIGACTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_slist::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_SLIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_static_assert::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_STATIC_ASSERT at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_stdint_h::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_STDINT_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_stlp_use_facet::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_STLP_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_array::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_ARRAY at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_bind::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_BIND at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_complex_overloads::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_COMPLEX_OVERLOADS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_complex_inverse_trig::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_function::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_FUNCTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_hash::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_HASH at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_mem_fn::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_MEM_FN at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_random::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_RANDOM at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_reference_wrapper::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_REFERENCE_WRAPPER at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_regex::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_REGEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_result_of::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_RESULT_OF at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_shared_ptr::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_SHARED_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_tuple::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_TUPLE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_type_traits::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_TYPE_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_unordered_map::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_UNORDERED_MAP at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_unordered_set::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_UNORDERED_SET at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_tr1_utility::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_TR1_UTILITY at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_unistd_h::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_UNISTD_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_variadic_tmpl::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_VARIADIC_TMPL at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_msvc6_member_templates::test())
-   {
-      std::cerr << "Failed test for BOOST_MSVC6_MEMBER_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_msvc_std_iterator::test())
-   {
-      std::cerr << "Failed test for BOOST_MSVC_STD_ITERATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_has_winthreads::test())
-   {
-      std::cerr << "Failed test for BOOST_HAS_WINTHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_array::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_ARRAY at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_chrono::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_CHRONO at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_codecvt::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_CODECVT at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_condition_variable::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_CONDITION_VARIABLE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_forward_list::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_FORWARD_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_future::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_FUTURE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_initializer_list::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_INITIALIZER_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_mutex::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_random::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_RANDOM at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_ratio::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_RATIO at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_regex::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_REGEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_system_error::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_SYSTEM_ERROR at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_thread::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_THREAD at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_tuple::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_TUPLE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_typeindex::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_TYPEINDEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_type_traits::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_TYPE_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_unordered_map::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_UNORDERED_MAP at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_0x_hdr_unordered_set::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_0X_HDR_UNORDERED_SET at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_adl_barrier::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_ADL_BARRIER at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_argument_dependent_lookup::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_array_type_specializations::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_auto_declarations::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_AUTO_DECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_auto_multideclarations::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_AUTO_MULTIDECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_auto_ptr::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_AUTO_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_bcb_partial_specialization_bug::test())
-   {
-      std::cerr << "Failed test for BOOST_BCB_PARTIAL_SPECIALIZATION_BUG at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_char16_t::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_CHAR16_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_char32_t::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_CHAR32_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_complete_value_initialization::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_COMPLETE_VALUE_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_constexpr::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_ctype_functions::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_CTYPE_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_cv_specializations::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_CV_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_cv_void_specializations::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_CV_VOID_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_cwchar::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_CWCHAR at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_cwctype::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_CWCTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_decltype::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_DECLTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_decltype_n3276::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_DECLTYPE_N3276 at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_deduced_typename::test())
-   {
-      std::cerr << "Failed test for BOOST_DEDUCED_TYPENAME at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_defaulted_functions::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_DEFAULTED_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_deleted_functions::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_DELETED_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_dependent_nested_derivations::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_DEPENDENT_NESTED_DERIVATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_dependent_types_in_template_value_parameters::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_exceptions::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_EXCEPTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_exception_std_namespace::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_EXCEPTION_STD_NAMESPACE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_explicit_conversion_operators::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_EXPLICIT_CONVERSION_OPERATORS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_explicit_function_template_arguments::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_extern_template::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_EXTERN_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_fenv_h::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_FENV_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_function_template_default_args::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_function_type_specializations::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_function_template_ordering::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_FUNCTION_TEMPLATE_ORDERING at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_ms_int64_numeric_limits::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_MS_INT64_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_initializer_lists::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_INITIALIZER_LISTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_inclass_member_initialization::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_INCLASS_MEMBER_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_integral_int64_t::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_INTEGRAL_INT64_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_iosfwd::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_IOSFWD at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_iostream::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_IOSTREAM at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_is_abstract::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_IS_ABSTRACT at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_templated_iterator_constructors::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_lambdas::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_LAMBDAS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_limits::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_limits_compile_time_constants::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_numeric_limits_lowest::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_NUMERIC_LIMITS_LOWEST at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_long_long_numeric_limits::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_LONG_LONG_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_long_long::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_LONG_LONG at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_member_function_specializations::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_member_templates::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_MEMBER_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_member_template_friends::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_MEMBER_TEMPLATE_FRIENDS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_member_template_keyword::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_MEMBER_TEMPLATE_KEYWORD at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_pointer_to_member_template_parameters::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_nested_friendship::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_NESTED_FRIENDSHIP at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_noexcept::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_NOEXCEPT at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_nullptr::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_NULLPTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_operators_in_namespace::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_OPERATORS_IN_NAMESPACE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_template_partial_specialization::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_partial_specialization_implicit_default_args::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_private_in_aggregate::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_PRIVATE_IN_AGGREGATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_pointer_to_member_const::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_POINTER_TO_MEMBER_CONST at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_raw_literals::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_RAW_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_unreachable_return_detection::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_UNREACHABLE_RETURN_DETECTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_rtti::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_RTTI at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_rvalue_references::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_RVALUE_REFERENCES at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_scoped_enums::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_SCOPED_ENUMS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_sfinae::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_SFINAE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_sfinae_expr::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_SFINAE_EXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_stringstream::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STRINGSTREAM at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_static_assert::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STATIC_ASSERT at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_stdc_namespace::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STDC_NAMESPACE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_allocator::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_distance::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_DISTANCE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_iterator::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_ITERATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_iterator_traits::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_ITERATOR_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_locale::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_LOCALE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_messages::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_MESSAGES at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_min_max::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_MIN_MAX at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_output_iterator_assign::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_typeinfo::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_TYPEINFO at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_unordered::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_UNORDERED at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_use_facet::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_wstreambuf::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_WSTREAMBUF at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_std_wstring::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_STD_WSTRING at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_swprintf::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_SWPRINTF at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_template_aliases::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_TEMPLATE_ALIASES at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_templated_iostreams::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_TEMPLATED_IOSTREAMS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_template_templates::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_TEMPLATE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_two_phase_name_lookup::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_TWO_PHASE_NAME_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_typeid::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_TYPEID at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_typename_with_ctor::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_TYPENAME_WITH_CTOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_unicode_literals::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_UNICODE_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_unified_initialization_syntax::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_function_scope_using_declaration_breaks_adl::test())
-   {
-      std::cerr << "Failed test for BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_using_declaration_overloads_from_typename_base::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_using_template::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_USING_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_variadic_macros::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_VARIADIC_MACROS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_variadic_templates::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_VARIADIC_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_void_returns::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_VOID_RETURNS at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   if(0 != boost_no_intrinsic_wchar_t::test())
-   {
-      std::cerr << "Failed test for BOOST_NO_INTRINSIC_WCHAR_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
-      ++error_count;
-   }
-   return error_count;
-}
-
diff --git a/SRC/Boost/libs/config/test/config_test_c.c b/SRC/Boost/libs/config/test/config_test_c.c
deleted file mode 100755
index 0d95704..0000000
--- a/SRC/Boost/libs/config/test/config_test_c.c
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-#include <boost/config.hpp>
-
-
-int main()
-{
-   return 0;
-}
diff --git a/SRC/Boost/libs/config/test/has_2arg_use_facet_fail.cpp b/SRC/Boost/libs/config/test/has_2arg_use_facet_fail.cpp
deleted file mode 100755
index 7bca7d5..0000000
--- a/SRC/Boost/libs/config/test/has_2arg_use_facet_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_TWO_ARG_USE_FACET
-// This file should not compile, if it does then
-// BOOST_HAS_TWO_ARG_USE_FACET should be defined.
-// See file boost_has_2arg_use_facet.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TWO_ARG_USE_FACET
-#include "boost_has_2arg_use_facet.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_two_arg_use_facet::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_2arg_use_facet_pass.cpp b/SRC/Boost/libs/config/test/has_2arg_use_facet_pass.cpp
deleted file mode 100755
index c84c12f..0000000
--- a/SRC/Boost/libs/config/test/has_2arg_use_facet_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_TWO_ARG_USE_FACET
-// This file should compile, if it does not then
-// BOOST_HAS_TWO_ARG_USE_FACET should not be defined.
-// See file boost_has_2arg_use_facet.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TWO_ARG_USE_FACET
-#include "boost_has_2arg_use_facet.ipp"
-#else
-namespace boost_has_two_arg_use_facet = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_two_arg_use_facet::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_bethreads_fail.cpp b/SRC/Boost/libs/config/test/has_bethreads_fail.cpp
deleted file mode 100755
index d2e01a9..0000000
--- a/SRC/Boost/libs/config/test/has_bethreads_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_BETHREADS
-// This file should not compile, if it does then
-// BOOST_HAS_BETHREADS should be defined.
-// See file boost_has_bethreads.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_BETHREADS
-#include "boost_has_bethreads.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_bethreads::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_bethreads_pass.cpp b/SRC/Boost/libs/config/test/has_bethreads_pass.cpp
deleted file mode 100755
index ba07ec2..0000000
--- a/SRC/Boost/libs/config/test/has_bethreads_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_BETHREADS
-// This file should compile, if it does not then
-// BOOST_HAS_BETHREADS should not be defined.
-// See file boost_has_bethreads.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_BETHREADS
-#include "boost_has_bethreads.ipp"
-#else
-namespace boost_has_bethreads = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_bethreads::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_clock_gettime_fail.cpp b/SRC/Boost/libs/config/test/has_clock_gettime_fail.cpp
deleted file mode 100755
index 2f09b6e..0000000
--- a/SRC/Boost/libs/config/test/has_clock_gettime_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_CLOCK_GETTIME
-// This file should not compile, if it does then
-// BOOST_HAS_CLOCK_GETTIME should be defined.
-// See file boost_has_clock_gettime.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_CLOCK_GETTIME
-#include "boost_has_clock_gettime.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_clock_gettime::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_clock_gettime_pass.cpp b/SRC/Boost/libs/config/test/has_clock_gettime_pass.cpp
deleted file mode 100755
index 30b3cd2..0000000
--- a/SRC/Boost/libs/config/test/has_clock_gettime_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_CLOCK_GETTIME
-// This file should compile, if it does not then
-// BOOST_HAS_CLOCK_GETTIME should not be defined.
-// See file boost_has_clock_gettime.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_CLOCK_GETTIME
-#include "boost_has_clock_gettime.ipp"
-#else
-namespace boost_has_clock_gettime = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_clock_gettime::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_dirent_h_fail.cpp b/SRC/Boost/libs/config/test/has_dirent_h_fail.cpp
deleted file mode 100755
index 38a27ac..0000000
--- a/SRC/Boost/libs/config/test/has_dirent_h_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_DIRENT_H
-// This file should not compile, if it does then
-// BOOST_HAS_DIRENT_H should be defined.
-// See file boost_has_dirent_h.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_DIRENT_H
-#include "boost_has_dirent_h.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_dirent_h::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_dirent_h_pass.cpp b/SRC/Boost/libs/config/test/has_dirent_h_pass.cpp
deleted file mode 100755
index ef3d52e..0000000
--- a/SRC/Boost/libs/config/test/has_dirent_h_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_DIRENT_H
-// This file should compile, if it does not then
-// BOOST_HAS_DIRENT_H should not be defined.
-// See file boost_has_dirent_h.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_DIRENT_H
-#include "boost_has_dirent_h.ipp"
-#else
-namespace boost_has_dirent_h = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_dirent_h::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_expm1_fail.cpp b/SRC/Boost/libs/config/test/has_expm1_fail.cpp
deleted file mode 100755
index 510d07c..0000000
--- a/SRC/Boost/libs/config/test/has_expm1_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Oct 14 18:38:49 2005
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_EXPM1
-// This file should not compile, if it does then
-// BOOST_HAS_EXPM1 should be defined.
-// See file boost_has_expm1.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_EXPM1
-#include "boost_has_expm1.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_expm1::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_expm1_pass.cpp b/SRC/Boost/libs/config/test/has_expm1_pass.cpp
deleted file mode 100755
index c1f318f..0000000
--- a/SRC/Boost/libs/config/test/has_expm1_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Oct 14 18:38:49 2005
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_EXPM1
-// This file should compile, if it does not then
-// BOOST_HAS_EXPM1 should not be defined.
-// See file boost_has_expm1.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_EXPM1
-#include "boost_has_expm1.ipp"
-#else
-namespace boost_has_expm1 = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_expm1::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_ftime_fail.cpp b/SRC/Boost/libs/config/test/has_ftime_fail.cpp
deleted file mode 100755
index 227777e..0000000
--- a/SRC/Boost/libs/config/test/has_ftime_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_FTIME
-// This file should not compile, if it does then
-// BOOST_HAS_FTIME should be defined.
-// See file boost_has_ftime.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_FTIME
-#include "boost_has_ftime.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_ftime::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_ftime_pass.cpp b/SRC/Boost/libs/config/test/has_ftime_pass.cpp
deleted file mode 100755
index 5e69be8..0000000
--- a/SRC/Boost/libs/config/test/has_ftime_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_FTIME
-// This file should compile, if it does not then
-// BOOST_HAS_FTIME should not be defined.
-// See file boost_has_ftime.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_FTIME
-#include "boost_has_ftime.ipp"
-#else
-namespace boost_has_ftime = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_ftime::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_getsystemtimeasfiletime_fail.cpp b/SRC/Boost/libs/config/test/has_getsystemtimeasfiletime_fail.cpp
deleted file mode 100755
index b0b2ee7..0000000
--- a/SRC/Boost/libs/config/test/has_getsystemtimeasfiletime_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Wed Jul 13 18:50:13 2011
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
-//
-
-
-// Test file for macro BOOST_HAS_GETSYSTEMTIMEASFILETIME
-// This file should not compile, if it does then
-// BOOST_HAS_GETSYSTEMTIMEASFILETIME should be defined.
-// See file boost_has_getsystemtimeasfiletime.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#include "boost_has_getsystemtimeasfiletime.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_getsystemtimeasfiletime::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_getsystemtimeasfiletime_pass.cpp b/SRC/Boost/libs/config/test/has_getsystemtimeasfiletime_pass.cpp
deleted file mode 100755
index 8c675a0..0000000
--- a/SRC/Boost/libs/config/test/has_getsystemtimeasfiletime_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Wed Jul 13 18:50:13 2011
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
-//
-
-
-// Test file for macro BOOST_HAS_GETSYSTEMTIMEASFILETIME
-// This file should compile, if it does not then
-// BOOST_HAS_GETSYSTEMTIMEASFILETIME should not be defined.
-// See file boost_has_getsystemtimeasfiletime.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#include "boost_has_getsystemtimeasfiletime.ipp"
-#else
-namespace boost_has_getsystemtimeasfiletime = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_getsystemtimeasfiletime::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_gettimeofday_fail.cpp b/SRC/Boost/libs/config/test/has_gettimeofday_fail.cpp
deleted file mode 100755
index b744b54..0000000
--- a/SRC/Boost/libs/config/test/has_gettimeofday_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_GETTIMEOFDAY
-// This file should not compile, if it does then
-// BOOST_HAS_GETTIMEOFDAY should be defined.
-// See file boost_has_gettimeofday.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_GETTIMEOFDAY
-#include "boost_has_gettimeofday.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_gettimeofday::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_gettimeofday_pass.cpp b/SRC/Boost/libs/config/test/has_gettimeofday_pass.cpp
deleted file mode 100755
index 00332c8..0000000
--- a/SRC/Boost/libs/config/test/has_gettimeofday_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_GETTIMEOFDAY
-// This file should compile, if it does not then
-// BOOST_HAS_GETTIMEOFDAY should not be defined.
-// See file boost_has_gettimeofday.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_GETTIMEOFDAY
-#include "boost_has_gettimeofday.ipp"
-#else
-namespace boost_has_gettimeofday = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_gettimeofday::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_hash_fail.cpp b/SRC/Boost/libs/config/test/has_hash_fail.cpp
deleted file mode 100755
index 8c624fa..0000000
--- a/SRC/Boost/libs/config/test/has_hash_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_HASH
-// This file should not compile, if it does then
-// BOOST_HAS_HASH should be defined.
-// See file boost_has_hash.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_HASH
-#include "boost_has_hash.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_hash::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_hash_pass.cpp b/SRC/Boost/libs/config/test/has_hash_pass.cpp
deleted file mode 100755
index 986717a..0000000
--- a/SRC/Boost/libs/config/test/has_hash_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:03:59 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_HASH
-// This file should compile, if it does not then
-// BOOST_HAS_HASH should not be defined.
-// See file boost_has_hash.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_HASH
-#include "boost_has_hash.ipp"
-#else
-namespace boost_has_hash = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_hash::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_log1p_fail.cpp b/SRC/Boost/libs/config/test/has_log1p_fail.cpp
deleted file mode 100755
index 0919093..0000000
--- a/SRC/Boost/libs/config/test/has_log1p_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Apr 02 11:49:11 2005
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_LOG1P
-// This file should not compile, if it does then
-// BOOST_HAS_LOG1P should be defined.
-// See file boost_has_log1p.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_LOG1P
-#include "boost_has_log1p.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_log1p::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_log1p_pass.cpp b/SRC/Boost/libs/config/test/has_log1p_pass.cpp
deleted file mode 100755
index 5a39396..0000000
--- a/SRC/Boost/libs/config/test/has_log1p_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Apr 02 11:49:11 2005
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_LOG1P
-// This file should compile, if it does not then
-// BOOST_HAS_LOG1P should not be defined.
-// See file boost_has_log1p.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_LOG1P
-#include "boost_has_log1p.ipp"
-#else
-namespace boost_has_log1p = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_log1p::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_long_long_fail.cpp b/SRC/Boost/libs/config/test/has_long_long_fail.cpp
deleted file mode 100755
index 8939887..0000000
--- a/SRC/Boost/libs/config/test/has_long_long_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_LONG_LONG
-// This file should not compile, if it does then
-// BOOST_HAS_LONG_LONG should be defined.
-// See file boost_has_long_long.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_LONG_LONG
-#include "boost_has_long_long.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_long_long::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_long_long_pass.cpp b/SRC/Boost/libs/config/test/has_long_long_pass.cpp
deleted file mode 100755
index 6254544..0000000
--- a/SRC/Boost/libs/config/test/has_long_long_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_LONG_LONG
-// This file should compile, if it does not then
-// BOOST_HAS_LONG_LONG should not be defined.
-// See file boost_has_long_long.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_LONG_LONG
-#include "boost_has_long_long.ipp"
-#else
-namespace boost_has_long_long = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_long_long::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_macro_use_facet_fail.cpp b/SRC/Boost/libs/config/test/has_macro_use_facet_fail.cpp
deleted file mode 100755
index ebca8f1..0000000
--- a/SRC/Boost/libs/config/test/has_macro_use_facet_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_MACRO_USE_FACET
-// This file should not compile, if it does then
-// BOOST_HAS_MACRO_USE_FACET should be defined.
-// See file boost_has_macro_use_facet.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_MACRO_USE_FACET
-#include "boost_has_macro_use_facet.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_macro_use_facet::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_macro_use_facet_pass.cpp b/SRC/Boost/libs/config/test/has_macro_use_facet_pass.cpp
deleted file mode 100755
index a179e86..0000000
--- a/SRC/Boost/libs/config/test/has_macro_use_facet_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_MACRO_USE_FACET
-// This file should compile, if it does not then
-// BOOST_HAS_MACRO_USE_FACET should not be defined.
-// See file boost_has_macro_use_facet.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_MACRO_USE_FACET
-#include "boost_has_macro_use_facet.ipp"
-#else
-namespace boost_has_macro_use_facet = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_macro_use_facet::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_ms_int64_fail.cpp b/SRC/Boost/libs/config/test/has_ms_int64_fail.cpp
deleted file mode 100755
index 7ff6c46..0000000
--- a/SRC/Boost/libs/config/test/has_ms_int64_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_MS_INT64
-// This file should not compile, if it does then
-// BOOST_HAS_MS_INT64 should be defined.
-// See file boost_has_ms_int64.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_MS_INT64
-#include "boost_has_ms_int64.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_ms_int64::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_ms_int64_pass.cpp b/SRC/Boost/libs/config/test/has_ms_int64_pass.cpp
deleted file mode 100755
index 8b1f125..0000000
--- a/SRC/Boost/libs/config/test/has_ms_int64_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_MS_INT64
-// This file should compile, if it does not then
-// BOOST_HAS_MS_INT64 should not be defined.
-// See file boost_has_ms_int64.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_MS_INT64
-#include "boost_has_ms_int64.ipp"
-#else
-namespace boost_has_ms_int64 = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_ms_int64::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_nanosleep_fail.cpp b/SRC/Boost/libs/config/test/has_nanosleep_fail.cpp
deleted file mode 100755
index fbe8725..0000000
--- a/SRC/Boost/libs/config/test/has_nanosleep_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_NANOSLEEP
-// This file should not compile, if it does then
-// BOOST_HAS_NANOSLEEP should be defined.
-// See file boost_has_nanosleep.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_NANOSLEEP
-#include "boost_has_nanosleep.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_nanosleep::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_nanosleep_pass.cpp b/SRC/Boost/libs/config/test/has_nanosleep_pass.cpp
deleted file mode 100755
index c839f66..0000000
--- a/SRC/Boost/libs/config/test/has_nanosleep_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_NANOSLEEP
-// This file should compile, if it does not then
-// BOOST_HAS_NANOSLEEP should not be defined.
-// See file boost_has_nanosleep.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_NANOSLEEP
-#include "boost_has_nanosleep.ipp"
-#else
-namespace boost_has_nanosleep = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_nanosleep::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_nl_types_h_fail.cpp b/SRC/Boost/libs/config/test/has_nl_types_h_fail.cpp
deleted file mode 100755
index acb149e..0000000
--- a/SRC/Boost/libs/config/test/has_nl_types_h_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_NL_TYPES_H
-// This file should not compile, if it does then
-// BOOST_HAS_NL_TYPES_H should be defined.
-// See file boost_has_nl_types_h.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_NL_TYPES_H
-#include "boost_has_nl_types_h.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_nl_types_h::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_nl_types_h_pass.cpp b/SRC/Boost/libs/config/test/has_nl_types_h_pass.cpp
deleted file mode 100755
index e4204e9..0000000
--- a/SRC/Boost/libs/config/test/has_nl_types_h_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_NL_TYPES_H
-// This file should compile, if it does not then
-// BOOST_HAS_NL_TYPES_H should not be defined.
-// See file boost_has_nl_types_h.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_NL_TYPES_H
-#include "boost_has_nl_types_h.ipp"
-#else
-namespace boost_has_nl_types_h = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_nl_types_h::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_nrvo_fail.cpp b/SRC/Boost/libs/config/test/has_nrvo_fail.cpp
deleted file mode 100755
index 9c97e0f..0000000
--- a/SRC/Boost/libs/config/test/has_nrvo_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_NRVO
-// This file should not compile, if it does then
-// BOOST_HAS_NRVO should be defined.
-// See file boost_has_nrvo.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_NRVO
-#include "boost_has_nrvo.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_nrvo::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_nrvo_pass.cpp b/SRC/Boost/libs/config/test/has_nrvo_pass.cpp
deleted file mode 100755
index 738c256..0000000
--- a/SRC/Boost/libs/config/test/has_nrvo_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_NRVO
-// This file should compile, if it does not then
-// BOOST_HAS_NRVO should not be defined.
-// See file boost_has_nrvo.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_NRVO
-#include "boost_has_nrvo.ipp"
-#else
-namespace boost_has_nrvo = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_nrvo::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_part_alloc_fail.cpp b/SRC/Boost/libs/config/test/has_part_alloc_fail.cpp
deleted file mode 100755
index 720f72a..0000000
--- a/SRC/Boost/libs/config/test/has_part_alloc_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_PARTIAL_STD_ALLOCATOR
-// This file should not compile, if it does then
-// BOOST_HAS_PARTIAL_STD_ALLOCATOR should be defined.
-// See file boost_has_part_alloc.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#include "boost_has_part_alloc.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_partial_std_allocator::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_part_alloc_pass.cpp b/SRC/Boost/libs/config/test/has_part_alloc_pass.cpp
deleted file mode 100755
index ef5da1f..0000000
--- a/SRC/Boost/libs/config/test/has_part_alloc_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_PARTIAL_STD_ALLOCATOR
-// This file should compile, if it does not then
-// BOOST_HAS_PARTIAL_STD_ALLOCATOR should not be defined.
-// See file boost_has_part_alloc.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#include "boost_has_part_alloc.ipp"
-#else
-namespace boost_has_partial_std_allocator = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_partial_std_allocator::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_pthread_delay_np_fail.cpp b/SRC/Boost/libs/config/test/has_pthread_delay_np_fail.cpp
deleted file mode 100755
index 3490d1c..0000000
--- a/SRC/Boost/libs/config/test/has_pthread_delay_np_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_PTHREAD_DELAY_NP
-// This file should not compile, if it does then
-// BOOST_HAS_PTHREAD_DELAY_NP should be defined.
-// See file boost_has_pthread_delay_np.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_PTHREAD_DELAY_NP
-#include "boost_has_pthread_delay_np.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_pthread_delay_np::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_pthread_delay_np_pass.cpp b/SRC/Boost/libs/config/test/has_pthread_delay_np_pass.cpp
deleted file mode 100755
index 923e77f..0000000
--- a/SRC/Boost/libs/config/test/has_pthread_delay_np_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_PTHREAD_DELAY_NP
-// This file should compile, if it does not then
-// BOOST_HAS_PTHREAD_DELAY_NP should not be defined.
-// See file boost_has_pthread_delay_np.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_PTHREAD_DELAY_NP
-#include "boost_has_pthread_delay_np.ipp"
-#else
-namespace boost_has_pthread_delay_np = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_pthread_delay_np::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_pthread_ma_st_fail.cpp b/SRC/Boost/libs/config/test/has_pthread_ma_st_fail.cpp
deleted file mode 100755
index 335f44f..0000000
--- a/SRC/Boost/libs/config/test/has_pthread_ma_st_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-// This file should not compile, if it does then
-// BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE should be defined.
-// See file boost_has_pthread_ma_st.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#include "boost_has_pthread_ma_st.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_pthread_mutexattr_settype::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_pthread_ma_st_pass.cpp b/SRC/Boost/libs/config/test/has_pthread_ma_st_pass.cpp
deleted file mode 100755
index 1d02aa2..0000000
--- a/SRC/Boost/libs/config/test/has_pthread_ma_st_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-// This file should compile, if it does not then
-// BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE should not be defined.
-// See file boost_has_pthread_ma_st.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#include "boost_has_pthread_ma_st.ipp"
-#else
-namespace boost_has_pthread_mutexattr_settype = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_pthread_mutexattr_settype::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_pthread_yield_fail.cpp b/SRC/Boost/libs/config/test/has_pthread_yield_fail.cpp
deleted file mode 100755
index b17e137..0000000
--- a/SRC/Boost/libs/config/test/has_pthread_yield_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_PTHREAD_YIELD
-// This file should not compile, if it does then
-// BOOST_HAS_PTHREAD_YIELD should be defined.
-// See file boost_has_pthread_yield.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_PTHREAD_YIELD
-#include "boost_has_pthread_yield.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_pthread_yield::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_pthread_yield_pass.cpp b/SRC/Boost/libs/config/test/has_pthread_yield_pass.cpp
deleted file mode 100755
index 6d9c6dc..0000000
--- a/SRC/Boost/libs/config/test/has_pthread_yield_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_PTHREAD_YIELD
-// This file should compile, if it does not then
-// BOOST_HAS_PTHREAD_YIELD should not be defined.
-// See file boost_has_pthread_yield.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_PTHREAD_YIELD
-#include "boost_has_pthread_yield.ipp"
-#else
-namespace boost_has_pthread_yield = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_pthread_yield::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_pthreads_fail.cpp b/SRC/Boost/libs/config/test/has_pthreads_fail.cpp
deleted file mode 100755
index 9a81c5f..0000000
--- a/SRC/Boost/libs/config/test/has_pthreads_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_PTHREADS
-// This file should not compile, if it does then
-// BOOST_HAS_PTHREADS should be defined.
-// See file boost_has_pthreads.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_PTHREADS
-#include "boost_has_pthreads.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_pthreads::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_pthreads_pass.cpp b/SRC/Boost/libs/config/test/has_pthreads_pass.cpp
deleted file mode 100755
index 923994b..0000000
--- a/SRC/Boost/libs/config/test/has_pthreads_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_PTHREADS
-// This file should compile, if it does not then
-// BOOST_HAS_PTHREADS should not be defined.
-// See file boost_has_pthreads.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_PTHREADS
-#include "boost_has_pthreads.ipp"
-#else
-namespace boost_has_pthreads = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_pthreads::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_rvalue_refs_fail.cpp b/SRC/Boost/libs/config/test/has_rvalue_refs_fail.cpp
deleted file mode 100755
index fe31586..0000000
--- a/SRC/Boost/libs/config/test/has_rvalue_refs_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:21 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_RVALUE_REFS
-// This file should not compile, if it does then
-// BOOST_HAS_RVALUE_REFS should be defined.
-// See file boost_has_rvalue_refs.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_RVALUE_REFS
-#include "boost_has_rvalue_refs.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_rvalue_refs::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_rvalue_refs_pass.cpp b/SRC/Boost/libs/config/test/has_rvalue_refs_pass.cpp
deleted file mode 100755
index d0c3fe0..0000000
--- a/SRC/Boost/libs/config/test/has_rvalue_refs_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:21 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_RVALUE_REFS
-// This file should compile, if it does not then
-// BOOST_HAS_RVALUE_REFS should not be defined.
-// See file boost_has_rvalue_refs.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_RVALUE_REFS
-#include "boost_has_rvalue_refs.ipp"
-#else
-namespace boost_has_rvalue_refs = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_rvalue_refs::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_sched_yield_fail.cpp b/SRC/Boost/libs/config/test/has_sched_yield_fail.cpp
deleted file mode 100755
index 13e0486..0000000
--- a/SRC/Boost/libs/config/test/has_sched_yield_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_SCHED_YIELD
-// This file should not compile, if it does then
-// BOOST_HAS_SCHED_YIELD should be defined.
-// See file boost_has_sched_yield.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_SCHED_YIELD
-#include "boost_has_sched_yield.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_sched_yield::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_sched_yield_pass.cpp b/SRC/Boost/libs/config/test/has_sched_yield_pass.cpp
deleted file mode 100755
index d9394de..0000000
--- a/SRC/Boost/libs/config/test/has_sched_yield_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_SCHED_YIELD
-// This file should compile, if it does not then
-// BOOST_HAS_SCHED_YIELD should not be defined.
-// See file boost_has_sched_yield.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_SCHED_YIELD
-#include "boost_has_sched_yield.ipp"
-#else
-namespace boost_has_sched_yield = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_sched_yield::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_sgi_type_traits_fail.cpp b/SRC/Boost/libs/config/test/has_sgi_type_traits_fail.cpp
deleted file mode 100755
index 0e3cf05..0000000
--- a/SRC/Boost/libs/config/test/has_sgi_type_traits_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_SGI_TYPE_TRAITS
-// This file should not compile, if it does then
-// BOOST_HAS_SGI_TYPE_TRAITS should be defined.
-// See file boost_has_sgi_type_traits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_SGI_TYPE_TRAITS
-#include "boost_has_sgi_type_traits.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_sgi_type_traits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_sgi_type_traits_pass.cpp b/SRC/Boost/libs/config/test/has_sgi_type_traits_pass.cpp
deleted file mode 100755
index 6c34f10..0000000
--- a/SRC/Boost/libs/config/test/has_sgi_type_traits_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_SGI_TYPE_TRAITS
-// This file should compile, if it does not then
-// BOOST_HAS_SGI_TYPE_TRAITS should not be defined.
-// See file boost_has_sgi_type_traits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_SGI_TYPE_TRAITS
-#include "boost_has_sgi_type_traits.ipp"
-#else
-namespace boost_has_sgi_type_traits = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_sgi_type_traits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_sigaction_fail.cpp b/SRC/Boost/libs/config/test/has_sigaction_fail.cpp
deleted file mode 100755
index 11eff4e..0000000
--- a/SRC/Boost/libs/config/test/has_sigaction_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_SIGACTION
-// This file should not compile, if it does then
-// BOOST_HAS_SIGACTION should be defined.
-// See file boost_has_sigaction.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_SIGACTION
-#include "boost_has_sigaction.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_sigaction::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_sigaction_pass.cpp b/SRC/Boost/libs/config/test/has_sigaction_pass.cpp
deleted file mode 100755
index 4d89f84..0000000
--- a/SRC/Boost/libs/config/test/has_sigaction_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_SIGACTION
-// This file should compile, if it does not then
-// BOOST_HAS_SIGACTION should not be defined.
-// See file boost_has_sigaction.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_SIGACTION
-#include "boost_has_sigaction.ipp"
-#else
-namespace boost_has_sigaction = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_sigaction::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_slist_fail.cpp b/SRC/Boost/libs/config/test/has_slist_fail.cpp
deleted file mode 100755
index 0e15677..0000000
--- a/SRC/Boost/libs/config/test/has_slist_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_SLIST
-// This file should not compile, if it does then
-// BOOST_HAS_SLIST should be defined.
-// See file boost_has_slist.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_SLIST
-#include "boost_has_slist.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_slist::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_slist_pass.cpp b/SRC/Boost/libs/config/test/has_slist_pass.cpp
deleted file mode 100755
index 418df6a..0000000
--- a/SRC/Boost/libs/config/test/has_slist_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_SLIST
-// This file should compile, if it does not then
-// BOOST_HAS_SLIST should not be defined.
-// See file boost_has_slist.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_SLIST
-#include "boost_has_slist.ipp"
-#else
-namespace boost_has_slist = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_slist::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_static_assert_fail.cpp b/SRC/Boost/libs/config/test/has_static_assert_fail.cpp
deleted file mode 100755
index 4b43571..0000000
--- a/SRC/Boost/libs/config/test/has_static_assert_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:21 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_STATIC_ASSERT
-// This file should not compile, if it does then
-// BOOST_HAS_STATIC_ASSERT should be defined.
-// See file boost_has_static_assert.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_STATIC_ASSERT
-#include "boost_has_static_assert.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_static_assert::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_static_assert_pass.cpp b/SRC/Boost/libs/config/test/has_static_assert_pass.cpp
deleted file mode 100755
index 7fccb7e..0000000
--- a/SRC/Boost/libs/config/test/has_static_assert_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:21 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_STATIC_ASSERT
-// This file should compile, if it does not then
-// BOOST_HAS_STATIC_ASSERT should not be defined.
-// See file boost_has_static_assert.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_STATIC_ASSERT
-#include "boost_has_static_assert.ipp"
-#else
-namespace boost_has_static_assert = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_static_assert::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_stdint_h_fail.cpp b/SRC/Boost/libs/config/test/has_stdint_h_fail.cpp
deleted file mode 100755
index 7b61da1..0000000
--- a/SRC/Boost/libs/config/test/has_stdint_h_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_STDINT_H
-// This file should not compile, if it does then
-// BOOST_HAS_STDINT_H should be defined.
-// See file boost_has_stdint_h.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_STDINT_H
-#include "boost_has_stdint_h.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_stdint_h::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_stdint_h_pass.cpp b/SRC/Boost/libs/config/test/has_stdint_h_pass.cpp
deleted file mode 100755
index 737f35e..0000000
--- a/SRC/Boost/libs/config/test/has_stdint_h_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_STDINT_H
-// This file should compile, if it does not then
-// BOOST_HAS_STDINT_H should not be defined.
-// See file boost_has_stdint_h.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_STDINT_H
-#include "boost_has_stdint_h.ipp"
-#else
-namespace boost_has_stdint_h = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_stdint_h::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_stlp_use_facet_fail.cpp b/SRC/Boost/libs/config/test/has_stlp_use_facet_fail.cpp
deleted file mode 100755
index 8387454..0000000
--- a/SRC/Boost/libs/config/test/has_stlp_use_facet_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_STLP_USE_FACET
-// This file should not compile, if it does then
-// BOOST_HAS_STLP_USE_FACET should be defined.
-// See file boost_has_stlp_use_facet.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_STLP_USE_FACET
-#include "boost_has_stlp_use_facet.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_stlp_use_facet::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_stlp_use_facet_pass.cpp b/SRC/Boost/libs/config/test/has_stlp_use_facet_pass.cpp
deleted file mode 100755
index fda47f8..0000000
--- a/SRC/Boost/libs/config/test/has_stlp_use_facet_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_STLP_USE_FACET
-// This file should compile, if it does not then
-// BOOST_HAS_STLP_USE_FACET should not be defined.
-// See file boost_has_stlp_use_facet.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_STLP_USE_FACET
-#include "boost_has_stlp_use_facet.ipp"
-#else
-namespace boost_has_stlp_use_facet = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_stlp_use_facet::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_array_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_array_fail.cpp
deleted file mode 100755
index d5adf7c..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_array_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:31 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_array_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_ARRAY
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_ARRAY should be defined.
-// See file boost_has_tr1_array.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_ARRAY
-#include "boost_has_tr1_array.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_array::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_array_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_array_pass.cpp
deleted file mode 100755
index c3f9377..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_array_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:31 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_array_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_ARRAY
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_ARRAY should not be defined.
-// See file boost_has_tr1_array.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_ARRAY
-#include "boost_has_tr1_array.ipp"
-#else
-namespace boost_has_tr1_array = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_array::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_bind_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_bind_fail.cpp
deleted file mode 100755
index 4408944..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_bind_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:31 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_bind_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_BIND
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_BIND should be defined.
-// See file boost_has_tr1_bind.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_BIND
-#include "boost_has_tr1_bind.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_bind::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_bind_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_bind_pass.cpp
deleted file mode 100755
index e060413..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_bind_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:31 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_bind_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_BIND
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_BIND should not be defined.
-// See file boost_has_tr1_bind.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_BIND
-#include "boost_has_tr1_bind.ipp"
-#else
-namespace boost_has_tr1_bind = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_bind::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_complex_over_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_complex_over_fail.cpp
deleted file mode 100755
index 9e1e659..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_complex_over_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_complex_over_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_COMPLEX_OVERLOADS
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_COMPLEX_OVERLOADS should be defined.
-// See file boost_has_tr1_complex_over.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_COMPLEX_OVERLOADS
-#include "boost_has_tr1_complex_over.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_complex_overloads::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_complex_over_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_complex_over_pass.cpp
deleted file mode 100755
index 4ee4dc8..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_complex_over_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_complex_over_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_COMPLEX_OVERLOADS
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_COMPLEX_OVERLOADS should not be defined.
-// See file boost_has_tr1_complex_over.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_COMPLEX_OVERLOADS
-#include "boost_has_tr1_complex_over.ipp"
-#else
-namespace boost_has_tr1_complex_overloads = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_complex_overloads::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_complex_trig_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_complex_trig_fail.cpp
deleted file mode 100755
index 11de4ff..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_complex_trig_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_complex_trig_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG should be defined.
-// See file boost_has_tr1_complex_trig.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-#include "boost_has_tr1_complex_trig.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_complex_inverse_trig::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_complex_trig_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_complex_trig_pass.cpp
deleted file mode 100755
index ce0a686..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_complex_trig_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_complex_trig_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG should not be defined.
-// See file boost_has_tr1_complex_trig.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-#include "boost_has_tr1_complex_trig.ipp"
-#else
-namespace boost_has_tr1_complex_inverse_trig = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_complex_inverse_trig::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_function_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_function_fail.cpp
deleted file mode 100755
index 6a4708e..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_function_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_function_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_FUNCTION
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_FUNCTION should be defined.
-// See file boost_has_tr1_function.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_FUNCTION
-#include "boost_has_tr1_function.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_function::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_function_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_function_pass.cpp
deleted file mode 100755
index a0a6985..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_function_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_function_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_FUNCTION
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_FUNCTION should not be defined.
-// See file boost_has_tr1_function.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_FUNCTION
-#include "boost_has_tr1_function.ipp"
-#else
-namespace boost_has_tr1_function = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_function::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_hash_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_hash_fail.cpp
deleted file mode 100755
index e9a5932..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_hash_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_hash_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_HASH
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_HASH should be defined.
-// See file boost_has_tr1_hash.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_HASH
-#include "boost_has_tr1_hash.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_hash::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_hash_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_hash_pass.cpp
deleted file mode 100755
index 9c67fce..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_hash_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_hash_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_HASH
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_HASH should not be defined.
-// See file boost_has_tr1_hash.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_HASH
-#include "boost_has_tr1_hash.ipp"
-#else
-namespace boost_has_tr1_hash = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_hash::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_mem_fn_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_mem_fn_fail.cpp
deleted file mode 100755
index 88dd1b5..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_mem_fn_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_mem_fn_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_MEM_FN
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_MEM_FN should be defined.
-// See file boost_has_tr1_mem_fn.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_MEM_FN
-#include "boost_has_tr1_mem_fn.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_mem_fn::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_mem_fn_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_mem_fn_pass.cpp
deleted file mode 100755
index 3ee1b5b..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_mem_fn_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_mem_fn_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_MEM_FN
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_MEM_FN should not be defined.
-// See file boost_has_tr1_mem_fn.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_MEM_FN
-#include "boost_has_tr1_mem_fn.ipp"
-#else
-namespace boost_has_tr1_mem_fn = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_mem_fn::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_random_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_random_fail.cpp
deleted file mode 100755
index 8a1448b..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_random_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_random_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_RANDOM
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_RANDOM should be defined.
-// See file boost_has_tr1_random.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_RANDOM
-#include "boost_has_tr1_random.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_random::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_random_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_random_pass.cpp
deleted file mode 100755
index 7d649d8..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_random_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_random_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_RANDOM
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_RANDOM should not be defined.
-// See file boost_has_tr1_random.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_RANDOM
-#include "boost_has_tr1_random.ipp"
-#else
-namespace boost_has_tr1_random = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_random::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_ref_wrap_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_ref_wrap_fail.cpp
deleted file mode 100755
index 41f5acb..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_ref_wrap_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_ref_wrap_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_REFERENCE_WRAPPER
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_REFERENCE_WRAPPER should be defined.
-// See file boost_has_tr1_ref_wrap.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_REFERENCE_WRAPPER
-#include "boost_has_tr1_ref_wrap.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_reference_wrapper::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_ref_wrap_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_ref_wrap_pass.cpp
deleted file mode 100755
index 5de6906..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_ref_wrap_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_ref_wrap_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_REFERENCE_WRAPPER
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_REFERENCE_WRAPPER should not be defined.
-// See file boost_has_tr1_ref_wrap.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_REFERENCE_WRAPPER
-#include "boost_has_tr1_ref_wrap.ipp"
-#else
-namespace boost_has_tr1_reference_wrapper = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_reference_wrapper::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_regex_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_regex_fail.cpp
deleted file mode 100755
index 25c4cf6..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_regex_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_regex_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_REGEX
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_REGEX should be defined.
-// See file boost_has_tr1_regex.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_REGEX
-#include "boost_has_tr1_regex.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_regex::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_regex_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_regex_pass.cpp
deleted file mode 100755
index 4eb5846..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_regex_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_regex_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_REGEX
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_REGEX should not be defined.
-// See file boost_has_tr1_regex.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_REGEX
-#include "boost_has_tr1_regex.ipp"
-#else
-namespace boost_has_tr1_regex = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_regex::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_result_of_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_result_of_fail.cpp
deleted file mode 100755
index b25a880..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_result_of_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_result_of_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_RESULT_OF
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_RESULT_OF should be defined.
-// See file boost_has_tr1_result_of.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_RESULT_OF
-#include "boost_has_tr1_result_of.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_result_of::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_result_of_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_result_of_pass.cpp
deleted file mode 100755
index f9e01f3..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_result_of_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_result_of_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_RESULT_OF
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_RESULT_OF should not be defined.
-// See file boost_has_tr1_result_of.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_RESULT_OF
-#include "boost_has_tr1_result_of.ipp"
-#else
-namespace boost_has_tr1_result_of = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_result_of::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_shared_ptr_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_shared_ptr_fail.cpp
deleted file mode 100755
index 9583a79..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_shared_ptr_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_shared_ptr_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_SHARED_PTR
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_SHARED_PTR should be defined.
-// See file boost_has_tr1_shared_ptr.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_SHARED_PTR
-#include "boost_has_tr1_shared_ptr.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_shared_ptr::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_shared_ptr_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_shared_ptr_pass.cpp
deleted file mode 100755
index 1a07f4d..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_shared_ptr_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_shared_ptr_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_SHARED_PTR
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_SHARED_PTR should not be defined.
-// See file boost_has_tr1_shared_ptr.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_SHARED_PTR
-#include "boost_has_tr1_shared_ptr.ipp"
-#else
-namespace boost_has_tr1_shared_ptr = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_shared_ptr::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_tuple_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_tuple_fail.cpp
deleted file mode 100755
index 8585252..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_tuple_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_tuple_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_TUPLE
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_TUPLE should be defined.
-// See file boost_has_tr1_tuple.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_TUPLE
-#include "boost_has_tr1_tuple.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_tuple::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_tuple_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_tuple_pass.cpp
deleted file mode 100755
index 9bd4eb1..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_tuple_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_tuple_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_TUPLE
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_TUPLE should not be defined.
-// See file boost_has_tr1_tuple.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_TUPLE
-#include "boost_has_tr1_tuple.ipp"
-#else
-namespace boost_has_tr1_tuple = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_tuple::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_type_traits_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_type_traits_fail.cpp
deleted file mode 100755
index 027f457..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_type_traits_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_type_traits_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_TYPE_TRAITS
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_TYPE_TRAITS should be defined.
-// See file boost_has_tr1_type_traits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_TYPE_TRAITS
-#include "boost_has_tr1_type_traits.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_type_traits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_type_traits_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_type_traits_pass.cpp
deleted file mode 100755
index e82fa45..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_type_traits_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_type_traits_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_TYPE_TRAITS
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_TYPE_TRAITS should not be defined.
-// See file boost_has_tr1_type_traits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_TYPE_TRAITS
-#include "boost_has_tr1_type_traits.ipp"
-#else
-namespace boost_has_tr1_type_traits = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_type_traits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_unordered_map_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_unordered_map_fail.cpp
deleted file mode 100755
index 1234a5d..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_unordered_map_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_unordered_map_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_UNORDERED_MAP
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_UNORDERED_MAP should be defined.
-// See file boost_has_tr1_unordered_map.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_UNORDERED_MAP
-#include "boost_has_tr1_unordered_map.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_unordered_map::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_unordered_map_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_unordered_map_pass.cpp
deleted file mode 100755
index e9c682e..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_unordered_map_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_unordered_map_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_UNORDERED_MAP
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_UNORDERED_MAP should not be defined.
-// See file boost_has_tr1_unordered_map.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_UNORDERED_MAP
-#include "boost_has_tr1_unordered_map.ipp"
-#else
-namespace boost_has_tr1_unordered_map = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_unordered_map::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_unordered_set_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_unordered_set_fail.cpp
deleted file mode 100755
index f25a7f4..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_unordered_set_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_unordered_set_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_UNORDERED_SET
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_UNORDERED_SET should be defined.
-// See file boost_has_tr1_unordered_set.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_UNORDERED_SET
-#include "boost_has_tr1_unordered_set.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_unordered_set::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_unordered_set_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_unordered_set_pass.cpp
deleted file mode 100755
index dddb12c..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_unordered_set_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:32 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_unordered_set_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_UNORDERED_SET
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_UNORDERED_SET should not be defined.
-// See file boost_has_tr1_unordered_set.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_UNORDERED_SET
-#include "boost_has_tr1_unordered_set.ipp"
-#else
-namespace boost_has_tr1_unordered_set = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_unordered_set::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_utility_fail.cpp b/SRC/Boost/libs/config/test/has_tr1_utility_fail.cpp
deleted file mode 100755
index 0c8c9c0..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_utility_fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:33 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_utility_fail.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_UTILITY
-// This file should not compile, if it does then
-// BOOST_HAS_TR1_UTILITY should be defined.
-// See file boost_has_tr1_utility.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_TR1_UTILITY
-#include "boost_has_tr1_utility.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_utility::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_tr1_utility_pass.cpp b/SRC/Boost/libs/config/test/has_tr1_utility_pass.cpp
deleted file mode 100755
index da70850..0000000
--- a/SRC/Boost/libs/config/test/has_tr1_utility_pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  This file was automatically generated on Sat Jul 12 12:39:33 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: has_tr1_utility_pass.cpp 47435 2008-07-15 10:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_HAS_TR1_UTILITY
-// This file should compile, if it does not then
-// BOOST_HAS_TR1_UTILITY should not be defined.
-// See file boost_has_tr1_utility.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include <boost/tr1/detail/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_TR1_UTILITY
-#include "boost_has_tr1_utility.ipp"
-#else
-namespace boost_has_tr1_utility = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_tr1_utility::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_unistd_h_fail.cpp b/SRC/Boost/libs/config/test/has_unistd_h_fail.cpp
deleted file mode 100755
index 057cdec..0000000
--- a/SRC/Boost/libs/config/test/has_unistd_h_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_UNISTD_H
-// This file should not compile, if it does then
-// BOOST_HAS_UNISTD_H should be defined.
-// See file boost_has_unistd_h.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_UNISTD_H
-#include "boost_has_unistd_h.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_unistd_h::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_unistd_h_pass.cpp b/SRC/Boost/libs/config/test/has_unistd_h_pass.cpp
deleted file mode 100755
index 3216707..0000000
--- a/SRC/Boost/libs/config/test/has_unistd_h_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_UNISTD_H
-// This file should compile, if it does not then
-// BOOST_HAS_UNISTD_H should not be defined.
-// See file boost_has_unistd_h.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_UNISTD_H
-#include "boost_has_unistd_h.ipp"
-#else
-namespace boost_has_unistd_h = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_unistd_h::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_variadic_tmpl_fail.cpp b/SRC/Boost/libs/config/test/has_variadic_tmpl_fail.cpp
deleted file mode 100755
index 0b6be6d..0000000
--- a/SRC/Boost/libs/config/test/has_variadic_tmpl_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:21 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_VARIADIC_TMPL
-// This file should not compile, if it does then
-// BOOST_HAS_VARIADIC_TMPL should be defined.
-// See file boost_has_variadic_tmpl.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_VARIADIC_TMPL
-#include "boost_has_variadic_tmpl.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_variadic_tmpl::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_variadic_tmpl_pass.cpp b/SRC/Boost/libs/config/test/has_variadic_tmpl_pass.cpp
deleted file mode 100755
index 28f6df6..0000000
--- a/SRC/Boost/libs/config/test/has_variadic_tmpl_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:21 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_VARIADIC_TMPL
-// This file should compile, if it does not then
-// BOOST_HAS_VARIADIC_TMPL should not be defined.
-// See file boost_has_variadic_tmpl.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_VARIADIC_TMPL
-#include "boost_has_variadic_tmpl.ipp"
-#else
-namespace boost_has_variadic_tmpl = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_variadic_tmpl::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_vc6_mem_templ_fail.cpp b/SRC/Boost/libs/config/test/has_vc6_mem_templ_fail.cpp
deleted file mode 100755
index 24978ac..0000000
--- a/SRC/Boost/libs/config/test/has_vc6_mem_templ_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_MSVC6_MEMBER_TEMPLATES
-// This file should not compile, if it does then
-// BOOST_MSVC6_MEMBER_TEMPLATES should be defined.
-// See file boost_has_vc6_mem_templ.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_MSVC6_MEMBER_TEMPLATES
-#include "boost_has_vc6_mem_templ.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_msvc6_member_templates::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_vc6_mem_templ_pass.cpp b/SRC/Boost/libs/config/test/has_vc6_mem_templ_pass.cpp
deleted file mode 100755
index 0faa7b6..0000000
--- a/SRC/Boost/libs/config/test/has_vc6_mem_templ_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_MSVC6_MEMBER_TEMPLATES
-// This file should compile, if it does not then
-// BOOST_MSVC6_MEMBER_TEMPLATES should not be defined.
-// See file boost_has_vc6_mem_templ.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_MSVC6_MEMBER_TEMPLATES
-#include "boost_has_vc6_mem_templ.ipp"
-#else
-namespace boost_msvc6_member_templates = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_msvc6_member_templates::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_vc_iterator_fail.cpp b/SRC/Boost/libs/config/test/has_vc_iterator_fail.cpp
deleted file mode 100755
index c5ba73b..0000000
--- a/SRC/Boost/libs/config/test/has_vc_iterator_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_MSVC_STD_ITERATOR
-// This file should not compile, if it does then
-// BOOST_MSVC_STD_ITERATOR should be defined.
-// See file boost_has_vc_iterator.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_MSVC_STD_ITERATOR
-#include "boost_has_vc_iterator.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_msvc_std_iterator::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_vc_iterator_pass.cpp b/SRC/Boost/libs/config/test/has_vc_iterator_pass.cpp
deleted file mode 100755
index ebd892c..0000000
--- a/SRC/Boost/libs/config/test/has_vc_iterator_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_MSVC_STD_ITERATOR
-// This file should compile, if it does not then
-// BOOST_MSVC_STD_ITERATOR should not be defined.
-// See file boost_has_vc_iterator.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_MSVC_STD_ITERATOR
-#include "boost_has_vc_iterator.ipp"
-#else
-namespace boost_msvc_std_iterator = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_msvc_std_iterator::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_winthreads_fail.cpp b/SRC/Boost/libs/config/test/has_winthreads_fail.cpp
deleted file mode 100755
index 7ab1d08..0000000
--- a/SRC/Boost/libs/config/test/has_winthreads_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_WINTHREADS
-// This file should not compile, if it does then
-// BOOST_HAS_WINTHREADS should be defined.
-// See file boost_has_winthreads.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_HAS_WINTHREADS
-#include "boost_has_winthreads.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_winthreads::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/has_winthreads_pass.cpp b/SRC/Boost/libs/config/test/has_winthreads_pass.cpp
deleted file mode 100755
index c2f89fa..0000000
--- a/SRC/Boost/libs/config/test/has_winthreads_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_HAS_WINTHREADS
-// This file should compile, if it does not then
-// BOOST_HAS_WINTHREADS should not be defined.
-// See file boost_has_winthreads.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_HAS_WINTHREADS
-#include "boost_has_winthreads.ipp"
-#else
-namespace boost_has_winthreads = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_has_winthreads::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/limits_test.cpp b/SRC/Boost/libs/config/test/limits_test.cpp
deleted file mode 100755
index b5e0771..0000000
--- a/SRC/Boost/libs/config/test/limits_test.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-/* boost limits_test.cpp   test your <limits> file for important
- *
- * Copyright Jens Maurer 2000
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * $Id: limits_test.cpp 30181 2005-07-19 17:14:00Z johnmaddock $
- */
-
-#include <boost/limits.hpp>
-#define BOOST_INCLUDE_MAIN
-#include <boost/test/test_tools.hpp>
-#include <iostream>
-
-/*
- * General portability note:
- * MSVC mis-compiles explicit function template instantiations.
- * For example, f<A>() and f<B>() are both compiled to call f<A>().
- * BCC is unable to implicitly convert a "const char *" to a std::string
- * when using explicit function template instantiations.
- *
- * Therefore, avoid explicit function template instantiations.
- */
-#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
-template<typename T> inline T make_char_numeric_for_streaming(T x) { return x; }
-namespace fix{
-inline int make_char_numeric_for_streaming(char c) { return c; }
-inline int make_char_numeric_for_streaming(signed char c) { return c; }
-inline int make_char_numeric_for_streaming(unsigned char c) { return c; }
-}
-using namespace fix;
-#  if defined(_YVALS) && !defined(_CPPLIB_VER) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-// fix for missing operator<< in original Dinkumware lib:
-std::ostream& operator<<(std::ostream& os, __int64 i )
-{
-    char buf[80];
-    sprintf(buf,"%I64d", i );
-    os << buf;
-    return os;
-}
-std::ostream& operator<<(std::ostream& os, unsigned __int64 i )
-{
-    char buf[80];
-    sprintf(buf,"%I64u", i );
-    os << buf;
-    return os;
-}
-#  endif
-#else
-template<typename T> inline T make_char_numeric_for_streaming(T x) { return x; }
-inline int make_char_numeric_for_streaming(char c) { return c; }
-inline int make_char_numeric_for_streaming(signed char c) { return c; }
-inline int make_char_numeric_for_streaming(unsigned char c) { return c; }
-#endif
-
-#if (defined(_GLIBCPP_VERSION) || defined(_GLIBCXX_VERSION)) \
-   && defined(BOOST_HAS_LONG_LONG) \
-   && !defined(_GLIBCPP_USE_LONG_LONG) \
-   && !defined(_GLIBCXX_USE_LONG_LONG)
-//
-// Some libstdc++ versions have numeric_limits<long long> but no
-// iostream support for long long.  TODO, find a better fix!!
-//
-std::ostream& operator<<(std::ostream& os, long long i )
-{
-    return os << static_cast<long double>(i);
-}
-std::ostream& operator<<(std::ostream& os, unsigned long long i )
-{
-    return os << static_cast<long double>(i);
-}
-#endif
-
-template<class T>
-void test_integral_limits(const T &, const char * msg)
-{
-  typedef std::numeric_limits<T> lim;
-  std::cout << "Testing " << msg
-            << " (size " << sizeof(T) << ")"
-            << " min: " << make_char_numeric_for_streaming((lim::min)())
-            << ", max: " << make_char_numeric_for_streaming((lim::max)())
-            << std::endl;
-
-  BOOST_CHECK(static_cast<bool>(lim::is_specialized));
-  BOOST_CHECK(static_cast<bool>(lim::is_integer));
-  // BOOST_CHECK(lim::is_modulo);
-  BOOST_CHECK(static_cast<bool>((lim::min)() < (lim::max)()));
-}
-
-template <class T>
-void print_hex_val(T t, const char* name)
-{
-  const unsigned char* p = (const unsigned char*)&t;
-  std::cout << "hex value of " << name << " is: ";
-  for (unsigned int i = 0; i < sizeof(T); ++i) {
-    if(p[i] <= 0xF)
-      std::cout << "0";
-    std::cout << std::hex << (int)p[i];
-  }
-  std::cout << std::dec << std::endl;
-}
-
-template<class T>
-void test_float_limits(const T &, const char * msg)
-{
-  std::cout << "\nTesting " << msg << std::endl;
-  typedef std::numeric_limits<T> lim;
-
-  BOOST_CHECK(static_cast<bool>(lim::is_specialized));
-  BOOST_CHECK(static_cast<bool>(!lim::is_modulo));
-  BOOST_CHECK(static_cast<bool>(!lim::is_integer));
-  BOOST_CHECK(static_cast<bool>(lim::is_signed));
-
-  const T infinity = lim::infinity();
-  const T qnan = lim::quiet_NaN();
-  const T snan = lim::signaling_NaN();
-
-  std::cout << "IEEE-compatible: " << lim::is_iec559
-       << ", traps: " << lim::traps
-       << ", bounded: " << lim::is_bounded
-       << ", exact: " << lim::is_exact << '\n'
-       << "min: " << (lim::min)() << ", max: " << (lim::max)() << '\n'
-       << "infinity: " << infinity << ", QNaN: " << qnan << '\n';
-  print_hex_val((lim::max)(), "max");
-  print_hex_val(infinity, "infinity");
-  print_hex_val(qnan, "qnan");
-  print_hex_val(snan, "snan");
-
-  BOOST_CHECK((lim::max)() > 1000);
-  BOOST_CHECK((lim::min)() > 0);
-  BOOST_CHECK((lim::min)() < 0.001);
-  BOOST_CHECK(lim::epsilon() > 0);
-
-  if(lim::is_iec559) {
-    BOOST_CHECK(static_cast<bool>(lim::has_infinity));
-    BOOST_CHECK(static_cast<bool>(lim::has_quiet_NaN));
-    BOOST_CHECK(static_cast<bool>(lim::has_signaling_NaN));
-  } else {
-    std::cout << "Does not claim IEEE conformance" << std::endl;
-  }
-
-  if(lim::has_infinity) {
-    // Make sure those values are not 0 or similar nonsense.
-    // Infinity must compare as if larger than the maximum representable value.
-    BOOST_CHECK(infinity > (lim::max)());
-    BOOST_CHECK(-infinity < -(lim::max)());
-  } else {
-    std::cout << "Does not have infinity" << std::endl;
-  }
-
-  if(lim::has_quiet_NaN) {
-    // NaNs shall always compare "false" when compared for equality
-    // If one of these fail, your compiler may be optimizing incorrectly,
-    // or the standard library is incorrectly configured.
-    BOOST_CHECK(! (qnan == 42));
-    BOOST_CHECK(! (qnan == qnan));
-    BOOST_CHECK(qnan != 42);
-    BOOST_CHECK(qnan != qnan);
-
-    // The following tests may cause arithmetic traps.
-    // BOOST_CHECK(! (qnan < 42));
-    // BOOST_CHECK(! (qnan > 42));
-    // BOOST_CHECK(! (qnan <= 42));
-    // BOOST_CHECK(! (qnan >= 42));
-  } else {
-    std::cout << "Does not have QNaN" << std::endl;
-  }
-}
-
-
-int test_main(int, char*[])
-{
-  test_integral_limits(bool(), "bool");
-  test_integral_limits(char(), "char");
-  typedef signed char signed_char;
-  test_integral_limits(signed_char(), "signed char");
-  typedef unsigned char unsigned_char;
-  test_integral_limits(unsigned_char(), "unsigned char");
-  test_integral_limits(wchar_t(), "wchar_t");
-  test_integral_limits(short(), "short");
-  typedef unsigned short unsigned_short;
-  test_integral_limits(unsigned_short(), "unsigned short");
-  test_integral_limits(int(), "int");
-  typedef unsigned int unsigned_int;
-  test_integral_limits(unsigned_int(), "unsigned int");
-  test_integral_limits(long(), "long");
-  typedef unsigned long unsigned_long;
-  test_integral_limits(unsigned_long(), "unsigned long");
-#if defined(BOOST_HAS_LONG_LONG)
-  test_integral_limits(::boost::long_long_type(), "long long");
-  test_integral_limits(::boost::ulong_long_type(), "unsigned long long");
-#endif
-#ifdef BOOST_HAS_MS_INT64
-  typedef __int64 long_long2;
-  test_integral_limits(long_long2(), "__int64");
-  typedef unsigned __int64 unsigned_long_long2;
-  test_integral_limits(unsigned_long_long2(), "unsigned __int64");
-#endif
-
-  test_float_limits(float(), "float");
-  test_float_limits(double(), "double");
-  typedef long double long_double;
-  test_float_limits(long_double(), "long double");
-  // Some compilers don't pay attention to std:3.6.1/5 and issue a
-  // warning here if "return 0;" is omitted.
-  return 0;
-}
-
-
diff --git a/SRC/Boost/libs/config/test/link/Jamfile.v2 b/SRC/Boost/libs/config/test/link/Jamfile.v2
deleted file mode 100755
index 6222de3..0000000
--- a/SRC/Boost/libs/config/test/link/Jamfile.v2
+++ /dev/null
@@ -1,19 +0,0 @@
-# copyright John Maddock 2003
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-lib link_test : link_test.cpp 
-    : <link>shared <runtime-link>shared 
-      # This is needed to make the test work, I'm unsure if this
-      # should be set globally.
-      <define>BOOST_DYN_LINK=1
-      # Override <threading>multi inherited from parent.
-      <threading>single
-    : 
-        debug release
-    ;
-
-run main.cpp link_test : : : <define>BOOST_DYN_LINK=1 <define>BOOST_CONFIG_NO_LIB <link>shared <runtime-link>shared <threading>single : link_test_test ;
-
-
diff --git a/SRC/Boost/libs/config/test/link/bc_gen.sh b/SRC/Boost/libs/config/test/link/bc_gen.sh
deleted file mode 100755
index 6e48dda..0000000
--- a/SRC/Boost/libs/config/test/link/bc_gen.sh
+++ /dev/null
@@ -1,286 +0,0 @@
-#! /bin/bash
-
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-libname=""
-src=""
-header=""
-all_dep=""
-
-# current makefile:
-out=""
-# temporary file:
-tout=""
-# install target temp file:
-iout=""
-# debug flag:
-debug="no"
-# compile options:
-opts=""
-# main output sub-directory:
-subdir=""
-
-#######################################################################
-#
-# section for C++ Builder
-#
-#######################################################################
-
-function bcb_gen_lib()
-{
-	all_dep="$all_dep $subdir\\$libname $subdir\\$libname.lib $subdir\\$libname.exe"
-	echo "	copy $subdir\\$libname.lib \$(BCROOT)\\lib" >> $iout
-#
-# set up section comments:
-	cat >> $tout << EOF
-########################################################
-#
-# section for $libname.lib
-#
-########################################################
-EOF
-#
-#	process source files:
-	all_obj=""
-	all_lib_obj=""
-	for file in $src
-	do
-		obj=`echo "$file" | sed 's/\(.*\)cpp/\1obj/g'`
-		obj="$subdir\\$libname\\$obj"
-		all_obj="$all_obj $obj"
-		all_lib_obj="$all_lib_obj \"$obj\""
-		echo "$obj: $file \$(ALL_HEADER)" >> $tout
-		echo "	bcc32 @&&|" >> $tout
-		echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -o$obj $file" >> $tout
-		echo "|" >> $tout
-		echo "" >> $tout
-	done
-#
-#	 now for the directories for this library:
-	echo "$subdir\\$libname : " >> $tout
-	echo "	- at mkdir $subdir\\$libname" >> $tout
-	echo "" >> $tout
-#
-#	 now for the clean options for this library:
-	all_clean="$all_clean $libname""_clean"
-	echo "$libname"_clean : >> $tout
-	echo "	del $subdir\\$libname\\"'*.obj' >> $tout
-	echo "	del $subdir\\$libname\\"'*.il?' >> $tout
-	echo "	del $subdir\\$libname\\"'*.csm' >> $tout
-	echo "	del $subdir\\$libname\\"'*.tds' >> $tout
-	echo "" >> $tout
-#
-#	 now for the main target for this library:
-	echo $subdir\\$libname.lib : $all_obj >> $tout
-	echo "	tlib @&&|" >> $tout
-	echo "/P128 /C /u /a \$(XSFLAGS) \"$subdir\\$libname.lib\" $all_lib_obj" >> $tout
-	echo "|" >> $tout
-	echo "" >> $tout
-#  now the test program:
-	echo "$subdir\\$libname.exe : main.cpp $subdir\\$libname.lib" >> $tout
-	echo "	bcc32 \$(INCLUDES) $opts /DBOOST_LIB_DIAGNOSTIC=1 \$(CXXFLAGS) -L./$subdir -e./$subdir/$libname.exe main.cpp" >> $tout
-	echo "   echo running test progam $subdir"'\'"$libname.exe" >> $tout
-	echo "   $subdir"'\'"$libname.exe" >> $tout
-	echo "" >> $tout
-}
-
-function bcb_gen_dll()
-{
-	all_dep="$all_dep $subdir\\$libname $subdir\\$libname.lib $subdir\\$libname.exe"
-	echo "	copy $subdir\\$libname.lib \$(BCROOT)\\lib" >> $iout
-	echo "	copy $subdir\\$libname.dll \$(BCROOT)\\bin" >> $iout
-	echo "	copy $subdir\\$libname.tds \$(BCROOT)\\bin" >> $iout
-#
-# set up section comments:
-	cat >> $tout << EOF
-########################################################
-#
-# section for $libname.lib
-#
-########################################################
-EOF
-#
-#	process source files:
-	all_obj=""
-	for file in $src
-	do
-		obj=`echo "$file" | sed 's/\(.*\)cpp/\1obj/g'`
-		obj="$subdir\\$libname\\$obj"
-		all_obj="$all_obj $obj"
-		echo "$obj: $file \$(ALL_HEADER)" >> $tout
-		echo "	bcc32 @&&|" >> $tout
-		echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -DBOOST_DYN_LINK -o$obj $file" >> $tout
-		echo "|" >> $tout
-		echo "" >> $tout
-	done
-#
-#	 now for the directories for this library:
-	echo "$subdir\\$libname :" >> $tout
-	echo "	- at mkdir $subdir\\$libname" >> $tout
-	echo "" >> $tout
-#
-#	 now for the clean options for this library:
-	all_clean="$all_clean $libname""_clean"
-	echo "$libname"_clean : >> $tout
-	echo "	del $subdir\\$libname\\"'*.obj' >> $tout
-	echo "	del $subdir\\$libname\\"'*.il?' >> $tout
-	echo "	del $subdir\\$libname\\"'*.csm' >> $tout
-	echo "	del $subdir\\$libname\\"'*.tds' >> $tout
-	echo "	del $subdir\\"'*.tds' >> $tout
-	echo "" >> $tout
-#
-#	 now for the main target for this library:
-	echo $subdir\\$libname.lib : $all_obj >> $tout
-	echo "	bcc32 @&&|" >> $tout
-	echo "-lw-dup -lw-dpl $opts -e$subdir\\$libname.dll \$(XLFLAGS) $all_obj \$(LIBS)" >> $tout
-	echo "|" >> $tout
-	echo "	implib -w $subdir\\$libname.lib $subdir\\$libname.dll" >> $tout
-	echo "" >> $tout
-#  now the test program:
-	echo "$subdir\\$libname.exe : main.cpp $subdir\\$libname.lib" >> $tout
-	echo "	bcc32 \$(INCLUDES) $opts /DBOOST_LIB_DIAGNOSTIC=1 \$(CXXFLAGS) -DBOOST_DYN_LINK -L./$subdir -e./$subdir/$libname.exe main.cpp" >> $tout
-	echo "   echo running test program $subdir"'\'"$libname.exe" >> $tout
-	echo "   $subdir"'\'"$libname.exe" >> $tout
-	echo "" >> $tout
-}
-
-
-
-function bcb_gen()
-{
-	tout="temp"
-	iout="temp_install"
-	all_dep="$subdir"
-	all_clean=""
-	echo > $out
-	echo > $tout
-	rm -f $iout
-
-	libname="liblink_test-${subdir}-s-${boost_version}"
-	opts="-tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I\$(BCROOT)\include;../../../../"
-	bcb_gen_lib
-
-	libname="liblink_test-${subdir}-mt-s-${boost_version}"
-	opts="-tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../"
-	bcb_gen_lib
-	
-	libname="link_test-${subdir}-mt-${boost_version}"
-	opts="-tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_dll
-
-	libname="link_test-${subdir}-${boost_version}"
-	opts="-tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_dll
-	
-	libname="liblink_test-${subdir}-mt-${boost_version}"
-	opts="-tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_lib
-
-	libname="liblink_test-${subdir}-${boost_version}"
-	opts="-tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_lib
-	#
-	# debug versions:
-	libname="liblink_test-${subdir}-sd-${boost_version}"
-	opts="-tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I\$(BCROOT)\include;../../../../"
-	bcb_gen_lib
-
-	libname="liblink_test-${subdir}-mt-sd-${boost_version}"
-	opts="-tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../"
-	bcb_gen_lib
-	
-	libname="link_test-${subdir}-mt-d-${boost_version}"
-	opts="-tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_dll
-
-	libname="link_test-${subdir}-d-${boost_version}"
-	opts="-tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_dll
-	
-	libname="liblink_test-${subdir}-mt-d-${boost_version}"
-	opts="-tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_lib
-
-	libname="liblink_test-${subdir}-d-${boost_version}"
-	opts="-tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_lib
-	
-	
-	cat > $out << EOF
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# auto generated makefile for C++ Builder
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your C++ Builder /lib and /bin directories (recomended)
-# make clean
-#   removes all temporary files.
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional libraries to link to here:
-#
-LIBS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!ifndef BCROOT
-BCROOT=\$(MAKEDIR)\\..
-!endif
-
-EOF
-	echo "" >> $out
-	echo "ALL_HEADER=$header" >> $out
-	echo "" >> $out
-	echo "all : $all_dep" >> $out
-	echo >> $out
-	echo "clean : $all_clean" >> $out
-	echo >> $out
-	echo "install : all" >> $out
-	cat $iout >> $out
-	echo >> $out
-	echo $subdir : >> $out
-	echo "	- at mkdir $subdir" >> $out
-	echo "" >> $out
-
-	cat $tout >> $out
-}
-
-. common.sh
-
-#
-# generate C++ Builder 6 files:
-out="borland.mak"
-subdir="borland"
-has_stlport="yes"
-bcb_gen
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/link/borland.mak b/SRC/Boost/libs/config/test/link/borland.mak
deleted file mode 100755
index ae2e8db..0000000
--- a/SRC/Boost/libs/config/test/link/borland.mak
+++ /dev/null
@@ -1,429 +0,0 @@
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# auto generated makefile for C++ Builder
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your C++ Builder /lib and /bin directories (recomended)
-# make clean
-#   removes all temporary files.
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional libraries to link to here:
-#
-LIBS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!ifndef BCROOT
-BCROOT=$(MAKEDIR)\..
-!endif
-
-
-ALL_HEADER=
-
-all : borland borland\liblink_test-borland-s-1_35 borland\liblink_test-borland-s-1_35.lib borland\liblink_test-borland-s-1_35.exe borland\liblink_test-borland-mt-s-1_35 borland\liblink_test-borland-mt-s-1_35.lib borland\liblink_test-borland-mt-s-1_35.exe borland\link_test-borland-mt-1_35 borland\link_test-borland-mt-1_35.lib borland\link_test-borland-mt-1_35.exe borland\link_test-borland-1_35 borland\link_test-borland-1_35.lib borland\link_test-borland-1_35.exe borland\liblink_test-borla [...]
-
-clean :  liblink_test-borland-s-1_35_clean liblink_test-borland-mt-s-1_35_clean link_test-borland-mt-1_35_clean link_test-borland-1_35_clean liblink_test-borland-mt-1_35_clean liblink_test-borland-1_35_clean liblink_test-borland-sd-1_35_clean liblink_test-borland-mt-sd-1_35_clean link_test-borland-mt-d-1_35_clean link_test-borland-d-1_35_clean liblink_test-borland-mt-d-1_35_clean liblink_test-borland-d-1_35_clean
-
-install : all
-	copy borland\liblink_test-borland-s-1_35.lib $(BCROOT)\lib
-	copy borland\liblink_test-borland-mt-s-1_35.lib $(BCROOT)\lib
-	copy borland\link_test-borland-mt-1_35.lib $(BCROOT)\lib
-	copy borland\link_test-borland-mt-1_35.dll $(BCROOT)\bin
-	copy borland\link_test-borland-mt-1_35.tds $(BCROOT)\bin
-	copy borland\link_test-borland-1_35.lib $(BCROOT)\lib
-	copy borland\link_test-borland-1_35.dll $(BCROOT)\bin
-	copy borland\link_test-borland-1_35.tds $(BCROOT)\bin
-	copy borland\liblink_test-borland-mt-1_35.lib $(BCROOT)\lib
-	copy borland\liblink_test-borland-1_35.lib $(BCROOT)\lib
-	copy borland\liblink_test-borland-sd-1_35.lib $(BCROOT)\lib
-	copy borland\liblink_test-borland-mt-sd-1_35.lib $(BCROOT)\lib
-	copy borland\link_test-borland-mt-d-1_35.lib $(BCROOT)\lib
-	copy borland\link_test-borland-mt-d-1_35.dll $(BCROOT)\bin
-	copy borland\link_test-borland-mt-d-1_35.tds $(BCROOT)\bin
-	copy borland\link_test-borland-d-1_35.lib $(BCROOT)\lib
-	copy borland\link_test-borland-d-1_35.dll $(BCROOT)\bin
-	copy borland\link_test-borland-d-1_35.tds $(BCROOT)\bin
-	copy borland\liblink_test-borland-mt-d-1_35.lib $(BCROOT)\lib
-	copy borland\liblink_test-borland-d-1_35.lib $(BCROOT)\lib
-
-borland :
-	- at mkdir borland
-
-
-########################################################
-#
-# section for liblink_test-borland-s-1_35.lib
-#
-########################################################
-borland\liblink_test-borland-s-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../../ $(CXXFLAGS) -oborland\liblink_test-borland-s-1_35\link_test.obj link_test.cpp
-|
-
-borland\liblink_test-borland-s-1_35 : 
-	- at mkdir borland\liblink_test-borland-s-1_35
-
-liblink_test-borland-s-1_35_clean :
-	del borland\liblink_test-borland-s-1_35\*.obj
-	del borland\liblink_test-borland-s-1_35\*.il?
-	del borland\liblink_test-borland-s-1_35\*.csm
-	del borland\liblink_test-borland-s-1_35\*.tds
-
-borland\liblink_test-borland-s-1_35.lib : borland\liblink_test-borland-s-1_35\link_test.obj
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-s-1_35.lib"  "borland\liblink_test-borland-s-1_35\link_test.obj"
-|
-
-borland\liblink_test-borland-s-1_35.exe : main.cpp borland\liblink_test-borland-s-1_35.lib
-	bcc32 $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../../ /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-s-1_35.exe main.cpp
-   echo running test progam borland\liblink_test-borland-s-1_35.exe
-   borland\liblink_test-borland-s-1_35.exe
-
-########################################################
-#
-# section for liblink_test-borland-mt-s-1_35.lib
-#
-########################################################
-borland\liblink_test-borland-mt-s-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ $(CXXFLAGS) -oborland\liblink_test-borland-mt-s-1_35\link_test.obj link_test.cpp
-|
-
-borland\liblink_test-borland-mt-s-1_35 : 
-	- at mkdir borland\liblink_test-borland-mt-s-1_35
-
-liblink_test-borland-mt-s-1_35_clean :
-	del borland\liblink_test-borland-mt-s-1_35\*.obj
-	del borland\liblink_test-borland-mt-s-1_35\*.il?
-	del borland\liblink_test-borland-mt-s-1_35\*.csm
-	del borland\liblink_test-borland-mt-s-1_35\*.tds
-
-borland\liblink_test-borland-mt-s-1_35.lib : borland\liblink_test-borland-mt-s-1_35\link_test.obj
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-mt-s-1_35.lib"  "borland\liblink_test-borland-mt-s-1_35\link_test.obj"
-|
-
-borland\liblink_test-borland-mt-s-1_35.exe : main.cpp borland\liblink_test-borland-mt-s-1_35.lib
-	bcc32 $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-mt-s-1_35.exe main.cpp
-   echo running test progam borland\liblink_test-borland-mt-s-1_35.exe
-   borland\liblink_test-borland-mt-s-1_35.exe
-
-########################################################
-#
-# section for link_test-borland-mt-1_35.lib
-#
-########################################################
-borland\link_test-borland-mt-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_DYN_LINK -oborland\link_test-borland-mt-1_35\link_test.obj link_test.cpp
-|
-
-borland\link_test-borland-mt-1_35 :
-	- at mkdir borland\link_test-borland-mt-1_35
-
-link_test-borland-mt-1_35_clean :
-	del borland\link_test-borland-mt-1_35\*.obj
-	del borland\link_test-borland-mt-1_35\*.il?
-	del borland\link_test-borland-mt-1_35\*.csm
-	del borland\link_test-borland-mt-1_35\*.tds
-	del borland\*.tds
-
-borland\link_test-borland-mt-1_35.lib : borland\link_test-borland-mt-1_35\link_test.obj
-	bcc32 @&&|
--lw-dup -lw-dpl -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -eborland\link_test-borland-mt-1_35.dll $(XLFLAGS)  borland\link_test-borland-mt-1_35\link_test.obj $(LIBS)
-|
-	implib -w borland\link_test-borland-mt-1_35.lib borland\link_test-borland-mt-1_35.dll
-
-borland\link_test-borland-mt-1_35.exe : main.cpp borland\link_test-borland-mt-1_35.lib
-	bcc32 $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -DBOOST_DYN_LINK -L./borland -e./borland/link_test-borland-mt-1_35.exe main.cpp
-   echo running test program borland\link_test-borland-mt-1_35.exe
-   borland\link_test-borland-mt-1_35.exe
-
-########################################################
-#
-# section for link_test-borland-1_35.lib
-#
-########################################################
-borland\link_test-borland-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_DYN_LINK -oborland\link_test-borland-1_35\link_test.obj link_test.cpp
-|
-
-borland\link_test-borland-1_35 :
-	- at mkdir borland\link_test-borland-1_35
-
-link_test-borland-1_35_clean :
-	del borland\link_test-borland-1_35\*.obj
-	del borland\link_test-borland-1_35\*.il?
-	del borland\link_test-borland-1_35\*.csm
-	del borland\link_test-borland-1_35\*.tds
-	del borland\*.tds
-
-borland\link_test-borland-1_35.lib : borland\link_test-borland-1_35\link_test.obj
-	bcc32 @&&|
--lw-dup -lw-dpl -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -eborland\link_test-borland-1_35.dll $(XLFLAGS)  borland\link_test-borland-1_35\link_test.obj $(LIBS)
-|
-	implib -w borland\link_test-borland-1_35.lib borland\link_test-borland-1_35.dll
-
-borland\link_test-borland-1_35.exe : main.cpp borland\link_test-borland-1_35.lib
-	bcc32 $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -DBOOST_DYN_LINK -L./borland -e./borland/link_test-borland-1_35.exe main.cpp
-   echo running test program borland\link_test-borland-1_35.exe
-   borland\link_test-borland-1_35.exe
-
-########################################################
-#
-# section for liblink_test-borland-mt-1_35.lib
-#
-########################################################
-borland\liblink_test-borland-mt-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -oborland\liblink_test-borland-mt-1_35\link_test.obj link_test.cpp
-|
-
-borland\liblink_test-borland-mt-1_35 : 
-	- at mkdir borland\liblink_test-borland-mt-1_35
-
-liblink_test-borland-mt-1_35_clean :
-	del borland\liblink_test-borland-mt-1_35\*.obj
-	del borland\liblink_test-borland-mt-1_35\*.il?
-	del borland\liblink_test-borland-mt-1_35\*.csm
-	del borland\liblink_test-borland-mt-1_35\*.tds
-
-borland\liblink_test-borland-mt-1_35.lib : borland\liblink_test-borland-mt-1_35\link_test.obj
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-mt-1_35.lib"  "borland\liblink_test-borland-mt-1_35\link_test.obj"
-|
-
-borland\liblink_test-borland-mt-1_35.exe : main.cpp borland\liblink_test-borland-mt-1_35.lib
-	bcc32 $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-mt-1_35.exe main.cpp
-   echo running test progam borland\liblink_test-borland-mt-1_35.exe
-   borland\liblink_test-borland-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-borland-1_35.lib
-#
-########################################################
-borland\liblink_test-borland-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -oborland\liblink_test-borland-1_35\link_test.obj link_test.cpp
-|
-
-borland\liblink_test-borland-1_35 : 
-	- at mkdir borland\liblink_test-borland-1_35
-
-liblink_test-borland-1_35_clean :
-	del borland\liblink_test-borland-1_35\*.obj
-	del borland\liblink_test-borland-1_35\*.il?
-	del borland\liblink_test-borland-1_35\*.csm
-	del borland\liblink_test-borland-1_35\*.tds
-
-borland\liblink_test-borland-1_35.lib : borland\liblink_test-borland-1_35\link_test.obj
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-1_35.lib"  "borland\liblink_test-borland-1_35\link_test.obj"
-|
-
-borland\liblink_test-borland-1_35.exe : main.cpp borland\liblink_test-borland-1_35.lib
-	bcc32 $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-1_35.exe main.cpp
-   echo running test progam borland\liblink_test-borland-1_35.exe
-   borland\liblink_test-borland-1_35.exe
-
-########################################################
-#
-# section for liblink_test-borland-sd-1_35.lib
-#
-########################################################
-borland\liblink_test-borland-sd-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../../ $(CXXFLAGS) -oborland\liblink_test-borland-sd-1_35\link_test.obj link_test.cpp
-|
-
-borland\liblink_test-borland-sd-1_35 : 
-	- at mkdir borland\liblink_test-borland-sd-1_35
-
-liblink_test-borland-sd-1_35_clean :
-	del borland\liblink_test-borland-sd-1_35\*.obj
-	del borland\liblink_test-borland-sd-1_35\*.il?
-	del borland\liblink_test-borland-sd-1_35\*.csm
-	del borland\liblink_test-borland-sd-1_35\*.tds
-
-borland\liblink_test-borland-sd-1_35.lib : borland\liblink_test-borland-sd-1_35\link_test.obj
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-sd-1_35.lib"  "borland\liblink_test-borland-sd-1_35\link_test.obj"
-|
-
-borland\liblink_test-borland-sd-1_35.exe : main.cpp borland\liblink_test-borland-sd-1_35.lib
-	bcc32 $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../../ /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-sd-1_35.exe main.cpp
-   echo running test progam borland\liblink_test-borland-sd-1_35.exe
-   borland\liblink_test-borland-sd-1_35.exe
-
-########################################################
-#
-# section for liblink_test-borland-mt-sd-1_35.lib
-#
-########################################################
-borland\liblink_test-borland-mt-sd-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ $(CXXFLAGS) -oborland\liblink_test-borland-mt-sd-1_35\link_test.obj link_test.cpp
-|
-
-borland\liblink_test-borland-mt-sd-1_35 : 
-	- at mkdir borland\liblink_test-borland-mt-sd-1_35
-
-liblink_test-borland-mt-sd-1_35_clean :
-	del borland\liblink_test-borland-mt-sd-1_35\*.obj
-	del borland\liblink_test-borland-mt-sd-1_35\*.il?
-	del borland\liblink_test-borland-mt-sd-1_35\*.csm
-	del borland\liblink_test-borland-mt-sd-1_35\*.tds
-
-borland\liblink_test-borland-mt-sd-1_35.lib : borland\liblink_test-borland-mt-sd-1_35\link_test.obj
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-mt-sd-1_35.lib"  "borland\liblink_test-borland-mt-sd-1_35\link_test.obj"
-|
-
-borland\liblink_test-borland-mt-sd-1_35.exe : main.cpp borland\liblink_test-borland-mt-sd-1_35.lib
-	bcc32 $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-mt-sd-1_35.exe main.cpp
-   echo running test progam borland\liblink_test-borland-mt-sd-1_35.exe
-   borland\liblink_test-borland-mt-sd-1_35.exe
-
-########################################################
-#
-# section for link_test-borland-mt-d-1_35.lib
-#
-########################################################
-borland\link_test-borland-mt-d-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_DYN_LINK -oborland\link_test-borland-mt-d-1_35\link_test.obj link_test.cpp
-|
-
-borland\link_test-borland-mt-d-1_35 :
-	- at mkdir borland\link_test-borland-mt-d-1_35
-
-link_test-borland-mt-d-1_35_clean :
-	del borland\link_test-borland-mt-d-1_35\*.obj
-	del borland\link_test-borland-mt-d-1_35\*.il?
-	del borland\link_test-borland-mt-d-1_35\*.csm
-	del borland\link_test-borland-mt-d-1_35\*.tds
-	del borland\*.tds
-
-borland\link_test-borland-mt-d-1_35.lib : borland\link_test-borland-mt-d-1_35\link_test.obj
-	bcc32 @&&|
--lw-dup -lw-dpl -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -eborland\link_test-borland-mt-d-1_35.dll $(XLFLAGS)  borland\link_test-borland-mt-d-1_35\link_test.obj $(LIBS)
-|
-	implib -w borland\link_test-borland-mt-d-1_35.lib borland\link_test-borland-mt-d-1_35.dll
-
-borland\link_test-borland-mt-d-1_35.exe : main.cpp borland\link_test-borland-mt-d-1_35.lib
-	bcc32 $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -DBOOST_DYN_LINK -L./borland -e./borland/link_test-borland-mt-d-1_35.exe main.cpp
-   echo running test program borland\link_test-borland-mt-d-1_35.exe
-   borland\link_test-borland-mt-d-1_35.exe
-
-########################################################
-#
-# section for link_test-borland-d-1_35.lib
-#
-########################################################
-borland\link_test-borland-d-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_DYN_LINK -oborland\link_test-borland-d-1_35\link_test.obj link_test.cpp
-|
-
-borland\link_test-borland-d-1_35 :
-	- at mkdir borland\link_test-borland-d-1_35
-
-link_test-borland-d-1_35_clean :
-	del borland\link_test-borland-d-1_35\*.obj
-	del borland\link_test-borland-d-1_35\*.il?
-	del borland\link_test-borland-d-1_35\*.csm
-	del borland\link_test-borland-d-1_35\*.tds
-	del borland\*.tds
-
-borland\link_test-borland-d-1_35.lib : borland\link_test-borland-d-1_35\link_test.obj
-	bcc32 @&&|
--lw-dup -lw-dpl -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -eborland\link_test-borland-d-1_35.dll $(XLFLAGS)  borland\link_test-borland-d-1_35\link_test.obj $(LIBS)
-|
-	implib -w borland\link_test-borland-d-1_35.lib borland\link_test-borland-d-1_35.dll
-
-borland\link_test-borland-d-1_35.exe : main.cpp borland\link_test-borland-d-1_35.lib
-	bcc32 $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -DBOOST_DYN_LINK -L./borland -e./borland/link_test-borland-d-1_35.exe main.cpp
-   echo running test program borland\link_test-borland-d-1_35.exe
-   borland\link_test-borland-d-1_35.exe
-
-########################################################
-#
-# section for liblink_test-borland-mt-d-1_35.lib
-#
-########################################################
-borland\liblink_test-borland-mt-d-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -oborland\liblink_test-borland-mt-d-1_35\link_test.obj link_test.cpp
-|
-
-borland\liblink_test-borland-mt-d-1_35 : 
-	- at mkdir borland\liblink_test-borland-mt-d-1_35
-
-liblink_test-borland-mt-d-1_35_clean :
-	del borland\liblink_test-borland-mt-d-1_35\*.obj
-	del borland\liblink_test-borland-mt-d-1_35\*.il?
-	del borland\liblink_test-borland-mt-d-1_35\*.csm
-	del borland\liblink_test-borland-mt-d-1_35\*.tds
-
-borland\liblink_test-borland-mt-d-1_35.lib : borland\liblink_test-borland-mt-d-1_35\link_test.obj
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-mt-d-1_35.lib"  "borland\liblink_test-borland-mt-d-1_35\link_test.obj"
-|
-
-borland\liblink_test-borland-mt-d-1_35.exe : main.cpp borland\liblink_test-borland-mt-d-1_35.lib
-	bcc32 $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-mt-d-1_35.exe main.cpp
-   echo running test progam borland\liblink_test-borland-mt-d-1_35.exe
-   borland\liblink_test-borland-mt-d-1_35.exe
-
-########################################################
-#
-# section for liblink_test-borland-d-1_35.lib
-#
-########################################################
-borland\liblink_test-borland-d-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -oborland\liblink_test-borland-d-1_35\link_test.obj link_test.cpp
-|
-
-borland\liblink_test-borland-d-1_35 : 
-	- at mkdir borland\liblink_test-borland-d-1_35
-
-liblink_test-borland-d-1_35_clean :
-	del borland\liblink_test-borland-d-1_35\*.obj
-	del borland\liblink_test-borland-d-1_35\*.il?
-	del borland\liblink_test-borland-d-1_35\*.csm
-	del borland\liblink_test-borland-d-1_35\*.tds
-
-borland\liblink_test-borland-d-1_35.lib : borland\liblink_test-borland-d-1_35\link_test.obj
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-d-1_35.lib"  "borland\liblink_test-borland-d-1_35\link_test.obj"
-|
-
-borland\liblink_test-borland-d-1_35.exe : main.cpp borland\liblink_test-borland-d-1_35.lib
-	bcc32 $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-d-1_35.exe main.cpp
-   echo running test progam borland\liblink_test-borland-d-1_35.exe
-   borland\liblink_test-borland-d-1_35.exe
-
diff --git a/SRC/Boost/libs/config/test/link/common.sh b/SRC/Boost/libs/config/test/link/common.sh
deleted file mode 100755
index 9725a5c..0000000
--- a/SRC/Boost/libs/config/test/link/common.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# locate all the header dependencies:
-header=""
-#
-# locate all the source files:
-src=link_test.cpp
-
-boost_version=$(grep 'define.*BOOST_LIB_VERSION' ../../../../boost/version.hpp | sed 's/.*"\([^"]*\)".*/\1/')
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/link/link_test.cpp b/SRC/Boost/libs/config/test/link/link_test.cpp
deleted file mode 100755
index 0a01d69..0000000
--- a/SRC/Boost/libs/config/test/link/link_test.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-
-#define BOOST_CONFIG_SOURCE
-
-#include "link_test.hpp"
-#include <iostream>
-#include <iomanip>
-
-bool BOOST_CONFIG_DECL check_options(
-                   bool m_dyn_link,
-                   bool m_dyn_rtl,
-                   bool m_has_threads,
-                   bool m_debug,
-                   bool m_stlp_debug)
-{
-   if(m_dyn_link != dyn_link)
-   {
-      std::cout << "Dynamic link options do not match" << std::endl;
-      std::cout << "Application setting = " << m_dyn_link << " Library setting = " << dyn_link << std::endl;
-      return false;
-   }
-   if(m_dyn_rtl != dyn_rtl)
-   {
-      std::cout << "Runtime library options do not match" << std::endl;
-      std::cout << "Application setting = " << m_dyn_rtl << " Library setting = " << dyn_rtl << std::endl;
-      return false;
-   }
-   if(m_has_threads != has_threads)
-   {
-      std::cout << "Threading options do not match" << std::endl;
-      std::cout << "Application setting = " << m_has_threads << " Library setting = " << has_threads << std::endl;
-      return false;
-   }
-   if(m_debug != debug)
-   {
-      std::cout << "Debug options do not match" << std::endl;
-      std::cout << "Application setting = " << m_debug << " Library setting = " << debug << std::endl;
-      return false;
-   }
-   if(m_stlp_debug != stl_debug)
-   {
-      std::cout << "STLPort debug options do not match" << std::endl;
-      std::cout << "Application setting = " << m_stlp_debug << " Library setting = " << stl_debug << std::endl;
-      return false;
-   }
-   return true;
-}
-
diff --git a/SRC/Boost/libs/config/test/link/link_test.hpp b/SRC/Boost/libs/config/test/link/link_test.hpp
deleted file mode 100755
index b57ae03..0000000
--- a/SRC/Boost/libs/config/test/link/link_test.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-#ifndef BOOST_LINK_TEST_HPP
-#define BOOST_LINK_TEST_HPP
-
-#include <boost/config.hpp>
-
-//
-// set up code to determine our compilers options, 
-// we will check that these are the same in the
-// .exe and the .dll:
-//
-#ifdef BOOST_DYN_LINK
-static const bool dyn_link = true;
-#else
-static const bool dyn_link = false;
-#endif
-#if defined(_DLL) || defined(_RTLDLL)
-static const bool dyn_rtl = true;
-#else
-static const bool dyn_rtl = false;
-#endif
-#if defined(BOOST_HAS_THREADS)
-static const bool has_threads = true;
-#else
-static const bool has_threads = false;
-#endif
-#if defined(_DEBUG)
-static const bool debug = true;
-#else
-static const bool debug = false;
-#endif
-#if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
-static const bool stl_debug = true;
-#else
-static const bool stl_debug = false;
-#endif
-
-//
-// set up import and export options:
-//
-#if defined(BOOST_DYN_LINK)
-#  ifdef BOOST_CONFIG_SOURCE
-#      define BOOST_CONFIG_DECL BOOST_SYMBOL_EXPORT
-#  else
-#      define BOOST_CONFIG_DECL BOOST_SYMBOL_IMPORT
-#  endif
-#endif
-#ifndef BOOST_CONFIG_DECL
-#  define BOOST_CONFIG_DECL
-#endif
-
-//
-// define our entry point:
-//
-bool BOOST_CONFIG_DECL check_options(
-                   bool m_dyn_link,
-                   bool m_dyn_rtl,
-                   bool m_has_threads,
-                   bool m_debug,
-                   bool m_stlp_debug);
-
-//
-// set up automatic linking:
-//
-#if !defined(BOOST_CONFIG_SOURCE) && !defined(BOOST_CONFIG_NO_LIB)
-#  define BOOST_LIB_NAME link_test
-#  include <boost/config/auto_link.hpp>
-#endif
-
-#ifndef BOOST_NO_EXTERN_TEMPLATE
-
-template <class T>
-T test_free_proc(T v)
-{
-   return v;
-}
-
-template <class T>
-struct tester
-{
-   static int test();
-};
-
-template <class T>
-int tester<T>::test()
-{
-   return 0;
-}
-
-#ifdef BOOST_CONFIG_SOURCE
-template BOOST_SYMBOL_EXPORT int test_free_proc<int>(int);
-template BOOST_SYMBOL_EXPORT int tester<int>::test();
-#else
-extern template BOOST_SYMBOL_IMPORT int test_free_proc<int>(int);
-extern template BOOST_SYMBOL_IMPORT int tester<int>::test();
-#endif
-
-#endif // BOOST_NO_EXTERN_TEMPLATE
-
-#endif // BOOST_LINK_TEST_HPP
-
-
diff --git a/SRC/Boost/libs/config/test/link/main.cpp b/SRC/Boost/libs/config/test/link/main.cpp
deleted file mode 100755
index 64f210a..0000000
--- a/SRC/Boost/libs/config/test/link/main.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-#include "link_test.hpp"
-
-int main()
-{
-#ifndef BOOST_NO_EXTERN_TEMPLATE
-   test_free_proc<int>(0);
-   tester<int>::test();
-#endif
-   return check_options(dyn_link, dyn_rtl, has_threads, debug, stl_debug) ? 0 : -1;
-}
-
-
diff --git a/SRC/Boost/libs/config/test/link/test/Jamfile.v2 b/SRC/Boost/libs/config/test/link/test/Jamfile.v2
deleted file mode 100755
index e239b8e..0000000
--- a/SRC/Boost/libs/config/test/link/test/Jamfile.v2
+++ /dev/null
@@ -1,117 +0,0 @@
-# copyright John Maddock 2006
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import type ;
-
-type.register AUTOLINK_LIB ;
-
-import generators ;
-import "class" : new ;
-
-# This generator creates library using standard generators,
-# and then add <library-path> usage requirements with the
-# path of the created library.
-class autolink-generator : generator
-{
-    import generators ;
-    import "class" ;
-    import property-set ;
-    import path ;
-
-    rule run ( project name ? : property-set : sources + )
-    {
-        local result = [ generators.construct $(project) $(name)
-            : LIB : $(property-set) : $(sources) ] ;
-                            
-        local targets ;
-        local usage-requirements ;
-        
-        if [ class.is-a $(result[1]) : property-set ]
-        {
-            usage-requirements = $(result[1]) ;
-            targets = $(result[2-]) ;
-        }
-        else
-        {
-            usage-requirements = [ property-set.empty ] ;
-            targets = $(result) ;
-        }
-        
-        local extra ;
-        local paths ;
-        local pwd = [ path.pwd ] ;
-        for local t in $(targets)
-        {
-            if [ type.is-derived [ $(t).type ] LIB ] 
-            {
-                paths += [ path.root [ path.make [ $(t).path ] ] $(pwd) ] ;
-            }                                            
-        }
-        extra += $(paths:G=<library-path>) ;
-        if $(extra)
-        {
-            extra = [ sequence.unique $(extra) ] ;
-            usage-requirements = [ $(usage-requirements).add-raw $(extra) ] ;
-        }
-        return $(usage-requirements) $(targets) ;
-    }
-}
-
-generators.register [ 
-  new autolink-generator $(__name__).autolink  : : AUTOLINK_LIB ] ;
-
-project : requirements -<threading>multi <hardcode-dll-paths>false ;
-
-autolink-lib link_test : ../link_test.cpp 
-    : <link>shared:<define>BOOST_DYN_LINK=1
-    : 
-    ;
-    
-   
-explicit link_test ;
-
-run ../main.cpp link_test
-  : : : <toolset>msvc-8.0:<build>no <toolset>msvc-9.0:<build>no <toolset>msvc-10.0:<build>no <link>static <runtime-link>static <threading>single debug : link_test_ssd ;
-
-run ../main.cpp link_test
-  : : : <toolset>msvc-8.0:<build>no <toolset>msvc-9.0:<build>no <toolset>msvc-10.0:<build>no <link>static <runtime-link>static <threading>single release : link_test_ssr ;
-
-run ../main.cpp link_test
-  : : : <link>static <runtime-link>static <threading>multi debug : link_test_smd ;
-
-run ../main.cpp link_test
-  : : : <link>static <runtime-link>static <threading>multi release : link_test_smr ;
-
-run ../main.cpp link_test
-  : : : <link>static <runtime-link>shared <threading>multi debug : link_test_dmd ;
-
-run ../main.cpp link_test
-  : : : <link>static <runtime-link>shared <threading>multi release : link_test_dmr ;
-
-run ../main.cpp link_test
-  : : : <link>static <runtime-link>shared <threading>single debug : link_test_dsd ;
-
-run ../main.cpp link_test
-  : : : <link>static <runtime-link>shared <threading>single release : link_test_dsr ;
-
-run ../main.cpp link_test
-  : : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>multi debug : link_test_dll_dmd ;
-
-run ../main.cpp link_test
-  : : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>multi release : link_test_dll_dmr ;
-
-run ../main.cpp link_test
-  : : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>single debug : link_test_dll_dsd ;
-
-run ../main.cpp link_test
-  : : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>single release : link_test_dll_dsr ;
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/link/vc6-stlport.mak b/SRC/Boost/libs/config/test/link/vc6-stlport.mak
deleted file mode 100755
index 23e60a7..0000000
--- a/SRC/Boost/libs/config/test/link/vc6-stlport.mak
+++ /dev/null
@@ -1,292 +0,0 @@
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# auto generated makefile for VC6+STLPort
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "$(STLPORT_PATH)" == ""
-!ERROR Variable STLPORT_PATH not set.
-!ENDIF
-
-
-ALL_HEADER=
-
-all : main_dir liblink_test-vc6-stlport-mt-s-1_35_dir ./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.lib ./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.exe liblink_test-vc6-stlport-mt-sgd-1_35_dir ./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.lib ./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.exe link_test-vc6-stlport-mt-gd-1_35_dir ./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.lib ./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.exe link_test-vc6-stlport-mt-1_35_dir ./vc6-st [...]
-
-clean :  liblink_test-vc6-stlport-mt-s-1_35_clean liblink_test-vc6-stlport-mt-sgd-1_35_clean link_test-vc6-stlport-mt-gd-1_35_clean link_test-vc6-stlport-mt-1_35_clean liblink_test-vc6-stlport-mt-1_35_clean liblink_test-vc6-stlport-mt-gd-1_35_clean link_test-vc6-stlport-mt-pgd-1_35_clean liblink_test-vc6-stlport-mt-spgd-1_35_clean liblink_test-vc6-stlport-mt-pgd-1_35_clean
-
-install : stlport_check all
-	copy vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\link_test-vc6-stlport-mt-gd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\link_test-vc6-stlport-mt-gd-1_35.dll "$(MSVCDIR)\bin"
-	copy vc6-stlport\link_test-vc6-stlport-mt-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\link_test-vc6-stlport-mt-1_35.dll "$(MSVCDIR)\bin"
-	copy vc6-stlport\liblink_test-vc6-stlport-mt-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35.dll "$(MSVCDIR)\bin"
-	copy vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc6-stlport\$(NULL)" mkdir vc6-stlport
-
-stlport_check : $(STLPORT_PATH)\stlport\string
-	echo
-
-
-########################################################
-#
-# section for liblink_test-vc6-stlport-mt-s-1_35.lib
-#
-########################################################
-vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  $(CXXFLAGS) -Y- -Fo./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35/ -Fdvc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.pdb link_test.cpp
-
-liblink_test-vc6-stlport-mt-s-1_35_dir :
-	@if not exist "vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35\$(NULL)" mkdir vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35
-
-liblink_test-vc6-stlport-mt-s-1_35_clean :
-	del vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35\*.obj
-	del vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35\*.idb
-	del vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35\*.exp
-	del vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35\*.pch
-
-./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.lib : vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35/link_test.obj
-	link -lib /nologo /out:vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.lib $(XSFLAGS)  vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35/link_test.obj
-
-./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.exe : main.cpp ./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.lib
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
-   vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc6-stlport-mt-sgd-1_35.lib
-#
-########################################################
-vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX  $(CXXFLAGS) -Y- -Fo./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35/ -Fdvc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.pdb link_test.cpp
-
-liblink_test-vc6-stlport-mt-sgd-1_35_dir :
-	@if not exist "vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35\$(NULL)" mkdir vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35
-
-liblink_test-vc6-stlport-mt-sgd-1_35_clean :
-	del vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35\*.obj
-	del vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35\*.idb
-	del vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35\*.exp
-	del vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35\*.pch
-
-./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.lib : vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35/link_test.obj
-	link -lib /nologo /out:vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.lib $(XSFLAGS)  vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35/link_test.obj
-
-./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.exe : main.cpp ./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.lib
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
-   vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc6-stlport-mt-gd-1_35.lib
-#
-########################################################
-vc6-stlport/link_test-vc6-stlport-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX  $(CXXFLAGS) -Y- -Fo./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35/ -Fdvc6-stlport/link_test-vc6-stlport-mt-gd-1_35.pdb link_test.cpp
-
-link_test-vc6-stlport-mt-gd-1_35_dir :
-	@if not exist "vc6-stlport\link_test-vc6-stlport-mt-gd-1_35\$(NULL)" mkdir vc6-stlport\link_test-vc6-stlport-mt-gd-1_35
-
-link_test-vc6-stlport-mt-gd-1_35_clean :
-	del vc6-stlport\link_test-vc6-stlport-mt-gd-1_35\*.obj
-	del vc6-stlport\link_test-vc6-stlport-mt-gd-1_35\*.idb
-	del vc6-stlport\link_test-vc6-stlport-mt-gd-1_35\*.exp
-	del vc6-stlport\link_test-vc6-stlport-mt-gd-1_35\*.pch
-
-./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.lib : vc6-stlport/link_test-vc6-stlport-mt-gd-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.dll" /implib:"vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc6-stlport/link_test-vc6-stlport-mt-gd-1_35/link_test.obj
-
-./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.exe : main.cpp ./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
-   vc6-stlport\link_test-vc6-stlport-mt-gd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc6-stlport-mt-1_35.lib
-#
-########################################################
-vc6-stlport/link_test-vc6-stlport-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  $(CXXFLAGS) -Y- -Fo./vc6-stlport/link_test-vc6-stlport-mt-1_35/ -Fdvc6-stlport/link_test-vc6-stlport-mt-1_35.pdb link_test.cpp
-
-link_test-vc6-stlport-mt-1_35_dir :
-	@if not exist "vc6-stlport\link_test-vc6-stlport-mt-1_35\$(NULL)" mkdir vc6-stlport\link_test-vc6-stlport-mt-1_35
-
-link_test-vc6-stlport-mt-1_35_clean :
-	del vc6-stlport\link_test-vc6-stlport-mt-1_35\*.obj
-	del vc6-stlport\link_test-vc6-stlport-mt-1_35\*.idb
-	del vc6-stlport\link_test-vc6-stlport-mt-1_35\*.exp
-	del vc6-stlport\link_test-vc6-stlport-mt-1_35\*.pch
-
-./vc6-stlport/link_test-vc6-stlport-mt-1_35.lib : vc6-stlport/link_test-vc6-stlport-mt-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/link_test-vc6-stlport-mt-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/link_test-vc6-stlport-mt-1_35.dll" /implib:"vc6-stlport/link_test-vc6-stlport-mt-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc6-stlport/link_test-vc6-stlport-mt-1_35/link_test.obj
-
-./vc6-stlport/link_test-vc6-stlport-mt-1_35.exe : main.cpp ./vc6-stlport/link_test-vc6-stlport-mt-1_35.lib
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/link_test-vc6-stlport-mt-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
-   vc6-stlport\link_test-vc6-stlport-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc6-stlport-mt-1_35.lib
-#
-########################################################
-vc6-stlport/liblink_test-vc6-stlport-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  $(CXXFLAGS) -Y- -Fo./vc6-stlport/liblink_test-vc6-stlport-mt-1_35/ -Fdvc6-stlport/liblink_test-vc6-stlport-mt-1_35.pdb link_test.cpp
-
-liblink_test-vc6-stlport-mt-1_35_dir :
-	@if not exist "vc6-stlport\liblink_test-vc6-stlport-mt-1_35\$(NULL)" mkdir vc6-stlport\liblink_test-vc6-stlport-mt-1_35
-
-liblink_test-vc6-stlport-mt-1_35_clean :
-	del vc6-stlport\liblink_test-vc6-stlport-mt-1_35\*.obj
-	del vc6-stlport\liblink_test-vc6-stlport-mt-1_35\*.idb
-	del vc6-stlport\liblink_test-vc6-stlport-mt-1_35\*.exp
-	del vc6-stlport\liblink_test-vc6-stlport-mt-1_35\*.pch
-
-./vc6-stlport/liblink_test-vc6-stlport-mt-1_35.lib : vc6-stlport/liblink_test-vc6-stlport-mt-1_35/link_test.obj
-	link -lib /nologo /out:vc6-stlport/liblink_test-vc6-stlport-mt-1_35.lib $(XSFLAGS)  vc6-stlport/liblink_test-vc6-stlport-mt-1_35/link_test.obj
-
-./vc6-stlport/liblink_test-vc6-stlport-mt-1_35.exe : main.cpp ./vc6-stlport/liblink_test-vc6-stlport-mt-1_35.lib
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/liblink_test-vc6-stlport-mt-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
-   vc6-stlport\liblink_test-vc6-stlport-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc6-stlport-mt-gd-1_35.lib
-#
-########################################################
-vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX  $(CXXFLAGS) -Y- -Fo./vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35/ -Fdvc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.pdb link_test.cpp
-
-liblink_test-vc6-stlport-mt-gd-1_35_dir :
-	@if not exist "vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35\$(NULL)" mkdir vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35
-
-liblink_test-vc6-stlport-mt-gd-1_35_clean :
-	del vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35\*.obj
-	del vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35\*.idb
-	del vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35\*.exp
-	del vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35\*.pch
-
-./vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.lib : vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35/link_test.obj
-	link -lib /nologo /out:vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.lib $(XSFLAGS)  vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35/link_test.obj
-
-./vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.exe : main.cpp ./vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
-   vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc6-stlport-mt-pgd-1_35.lib
-#
-########################################################
-vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX  $(CXXFLAGS) -Y- -Fo./vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35/ -Fdvc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.pdb link_test.cpp
-
-link_test-vc6-stlport-mt-pgd-1_35_dir :
-	@if not exist "vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35\$(NULL)" mkdir vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35
-
-link_test-vc6-stlport-mt-pgd-1_35_clean :
-	del vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35\*.obj
-	del vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35\*.idb
-	del vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35\*.exp
-	del vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35\*.pch
-
-./vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.lib : vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.dll" /implib:"vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35/link_test.obj
-
-./vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.exe : main.cpp ./vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
-   vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc6-stlport-mt-spgd-1_35.lib
-#
-########################################################
-vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX  $(CXXFLAGS) -Y- -Fo./vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35/ -Fdvc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.pdb link_test.cpp
-
-liblink_test-vc6-stlport-mt-spgd-1_35_dir :
-	@if not exist "vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35\$(NULL)" mkdir vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35
-
-liblink_test-vc6-stlport-mt-spgd-1_35_clean :
-	del vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35\*.obj
-	del vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35\*.idb
-	del vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35\*.exp
-	del vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35\*.pch
-
-./vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.lib : vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35/link_test.obj
-	link -lib /nologo /out:vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.lib $(XSFLAGS)  vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35/link_test.obj
-
-./vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.exe : main.cpp ./vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.lib
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
-   vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc6-stlport-mt-pgd-1_35.lib
-#
-########################################################
-vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX  $(CXXFLAGS) -Y- -Fo./vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35/ -Fdvc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.pdb link_test.cpp
-
-liblink_test-vc6-stlport-mt-pgd-1_35_dir :
-	@if not exist "vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35\$(NULL)" mkdir vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35
-
-liblink_test-vc6-stlport-mt-pgd-1_35_clean :
-	del vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35\*.obj
-	del vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35\*.idb
-	del vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35\*.exp
-	del vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35\*.pch
-
-./vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.lib : vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35/link_test.obj
-	link -lib /nologo /out:vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.lib $(XSFLAGS)  vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35/link_test.obj
-
-./vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.exe : main.cpp ./vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
-   vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35.exe
-
diff --git a/SRC/Boost/libs/config/test/link/vc6.mak b/SRC/Boost/libs/config/test/link/vc6.mak
deleted file mode 100755
index 1adffc8..0000000
--- a/SRC/Boost/libs/config/test/link/vc6.mak
+++ /dev/null
@@ -1,260 +0,0 @@
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# auto generated makefile for VC6 compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-
-ALL_HEADER=
-
-all : main_dir liblink_test-vc6-s-1_35_dir ./vc6/liblink_test-vc6-s-1_35.lib ./vc6/liblink_test-vc6-s-1_35.exe liblink_test-vc6-mt-s-1_35_dir ./vc6/liblink_test-vc6-mt-s-1_35.lib ./vc6/liblink_test-vc6-mt-s-1_35.exe liblink_test-vc6-sgd-1_35_dir ./vc6/liblink_test-vc6-sgd-1_35.lib ./vc6/liblink_test-vc6-sgd-1_35.exe liblink_test-vc6-mt-sgd-1_35_dir ./vc6/liblink_test-vc6-mt-sgd-1_35.lib ./vc6/liblink_test-vc6-mt-sgd-1_35.exe link_test-vc6-mt-gd-1_35_dir ./vc6/link_test-vc6-mt-gd-1_35.lib [...]
-
-clean :  liblink_test-vc6-s-1_35_clean liblink_test-vc6-mt-s-1_35_clean liblink_test-vc6-sgd-1_35_clean liblink_test-vc6-mt-sgd-1_35_clean link_test-vc6-mt-gd-1_35_clean link_test-vc6-mt-1_35_clean liblink_test-vc6-mt-1_35_clean liblink_test-vc6-mt-gd-1_35_clean
-
-install : all
-	copy vc6\liblink_test-vc6-s-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6\liblink_test-vc6-mt-s-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6\liblink_test-vc6-sgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6\liblink_test-vc6-sgd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc6\liblink_test-vc6-mt-sgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6\liblink_test-vc6-mt-sgd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc6\link_test-vc6-mt-gd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6\link_test-vc6-mt-gd-1_35.dll "$(MSVCDIR)\bin"
-	copy vc6\link_test-vc6-mt-gd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc6\link_test-vc6-mt-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6\link_test-vc6-mt-1_35.dll "$(MSVCDIR)\bin"
-	copy vc6\liblink_test-vc6-mt-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6\liblink_test-vc6-mt-gd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc6\liblink_test-vc6-mt-gd-1_35.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc6\$(NULL)" mkdir vc6
-
-
-########################################################
-#
-# section for liblink_test-vc6-s-1_35.lib
-#
-########################################################
-vc6/liblink_test-vc6-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD $(CXXFLAGS) -Y- -Fo./vc6/liblink_test-vc6-s-1_35/ -Fdvc6/liblink_test-vc6-s-1_35.pdb link_test.cpp
-
-liblink_test-vc6-s-1_35_dir :
-	@if not exist "vc6\liblink_test-vc6-s-1_35\$(NULL)" mkdir vc6\liblink_test-vc6-s-1_35
-
-liblink_test-vc6-s-1_35_clean :
-	del vc6\liblink_test-vc6-s-1_35\*.obj
-	del vc6\liblink_test-vc6-s-1_35\*.idb
-	del vc6\liblink_test-vc6-s-1_35\*.exp
-	del vc6\liblink_test-vc6-s-1_35\*.pch
-
-./vc6/liblink_test-vc6-s-1_35.lib : vc6/liblink_test-vc6-s-1_35/link_test.obj
-	link -lib /nologo /out:vc6/liblink_test-vc6-s-1_35.lib $(XSFLAGS)  vc6/liblink_test-vc6-s-1_35/link_test.obj
-
-./vc6/liblink_test-vc6-s-1_35.exe : main.cpp ./vc6/liblink_test-vc6-s-1_35.lib
-	cl $(INCLUDES) /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/liblink_test-vc6-s-1_35.exe main.cpp /link /LIBPATH:./vc6
-   vc6\liblink_test-vc6-s-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc6-mt-s-1_35.lib
-#
-########################################################
-vc6/liblink_test-vc6-mt-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  $(CXXFLAGS) -Y- -Fo./vc6/liblink_test-vc6-mt-s-1_35/ -Fdvc6/liblink_test-vc6-mt-s-1_35.pdb link_test.cpp
-
-liblink_test-vc6-mt-s-1_35_dir :
-	@if not exist "vc6\liblink_test-vc6-mt-s-1_35\$(NULL)" mkdir vc6\liblink_test-vc6-mt-s-1_35
-
-liblink_test-vc6-mt-s-1_35_clean :
-	del vc6\liblink_test-vc6-mt-s-1_35\*.obj
-	del vc6\liblink_test-vc6-mt-s-1_35\*.idb
-	del vc6\liblink_test-vc6-mt-s-1_35\*.exp
-	del vc6\liblink_test-vc6-mt-s-1_35\*.pch
-
-./vc6/liblink_test-vc6-mt-s-1_35.lib : vc6/liblink_test-vc6-mt-s-1_35/link_test.obj
-	link -lib /nologo /out:vc6/liblink_test-vc6-mt-s-1_35.lib $(XSFLAGS)  vc6/liblink_test-vc6-mt-s-1_35/link_test.obj
-
-./vc6/liblink_test-vc6-mt-s-1_35.exe : main.cpp ./vc6/liblink_test-vc6-mt-s-1_35.lib
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/liblink_test-vc6-mt-s-1_35.exe main.cpp /link /LIBPATH:./vc6
-   vc6\liblink_test-vc6-mt-s-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc6-sgd-1_35.lib
-#
-########################################################
-vc6/liblink_test-vc6-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX   $(CXXFLAGS) -Y- -Fo./vc6/liblink_test-vc6-sgd-1_35/ -Fdvc6/liblink_test-vc6-sgd-1_35.pdb link_test.cpp
-
-liblink_test-vc6-sgd-1_35_dir :
-	@if not exist "vc6\liblink_test-vc6-sgd-1_35\$(NULL)" mkdir vc6\liblink_test-vc6-sgd-1_35
-
-liblink_test-vc6-sgd-1_35_clean :
-	del vc6\liblink_test-vc6-sgd-1_35\*.obj
-	del vc6\liblink_test-vc6-sgd-1_35\*.idb
-	del vc6\liblink_test-vc6-sgd-1_35\*.exp
-	del vc6\liblink_test-vc6-sgd-1_35\*.pch
-
-./vc6/liblink_test-vc6-sgd-1_35.lib : vc6/liblink_test-vc6-sgd-1_35/link_test.obj
-	link -lib /nologo /out:vc6/liblink_test-vc6-sgd-1_35.lib $(XSFLAGS)  vc6/liblink_test-vc6-sgd-1_35/link_test.obj
-
-./vc6/liblink_test-vc6-sgd-1_35.exe : main.cpp ./vc6/liblink_test-vc6-sgd-1_35.lib
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX   /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/liblink_test-vc6-sgd-1_35.exe main.cpp /link /LIBPATH:./vc6
-   vc6\liblink_test-vc6-sgd-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc6-mt-sgd-1_35.lib
-#
-########################################################
-vc6/liblink_test-vc6-mt-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX  $(CXXFLAGS) -Y- -Fo./vc6/liblink_test-vc6-mt-sgd-1_35/ -Fdvc6/liblink_test-vc6-mt-sgd-1_35.pdb link_test.cpp
-
-liblink_test-vc6-mt-sgd-1_35_dir :
-	@if not exist "vc6\liblink_test-vc6-mt-sgd-1_35\$(NULL)" mkdir vc6\liblink_test-vc6-mt-sgd-1_35
-
-liblink_test-vc6-mt-sgd-1_35_clean :
-	del vc6\liblink_test-vc6-mt-sgd-1_35\*.obj
-	del vc6\liblink_test-vc6-mt-sgd-1_35\*.idb
-	del vc6\liblink_test-vc6-mt-sgd-1_35\*.exp
-	del vc6\liblink_test-vc6-mt-sgd-1_35\*.pch
-
-./vc6/liblink_test-vc6-mt-sgd-1_35.lib : vc6/liblink_test-vc6-mt-sgd-1_35/link_test.obj
-	link -lib /nologo /out:vc6/liblink_test-vc6-mt-sgd-1_35.lib $(XSFLAGS)  vc6/liblink_test-vc6-mt-sgd-1_35/link_test.obj
-
-./vc6/liblink_test-vc6-mt-sgd-1_35.exe : main.cpp ./vc6/liblink_test-vc6-mt-sgd-1_35.lib
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/liblink_test-vc6-mt-sgd-1_35.exe main.cpp /link /LIBPATH:./vc6
-   vc6\liblink_test-vc6-mt-sgd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc6-mt-gd-1_35.lib
-#
-########################################################
-vc6/link_test-vc6-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX  $(CXXFLAGS) -Y- -Fo./vc6/link_test-vc6-mt-gd-1_35/ -Fdvc6/link_test-vc6-mt-gd-1_35.pdb link_test.cpp
-
-link_test-vc6-mt-gd-1_35_dir :
-	@if not exist "vc6\link_test-vc6-mt-gd-1_35\$(NULL)" mkdir vc6\link_test-vc6-mt-gd-1_35
-
-link_test-vc6-mt-gd-1_35_clean :
-	del vc6\link_test-vc6-mt-gd-1_35\*.obj
-	del vc6\link_test-vc6-mt-gd-1_35\*.idb
-	del vc6\link_test-vc6-mt-gd-1_35\*.exp
-	del vc6\link_test-vc6-mt-gd-1_35\*.pch
-
-./vc6/link_test-vc6-mt-gd-1_35.lib : vc6/link_test-vc6-mt-gd-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6/link_test-vc6-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc6/link_test-vc6-mt-gd-1_35.dll" /implib:"vc6/link_test-vc6-mt-gd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc6/link_test-vc6-mt-gd-1_35/link_test.obj
-
-./vc6/link_test-vc6-mt-gd-1_35.exe : main.cpp ./vc6/link_test-vc6-mt-gd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/link_test-vc6-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc6
-   vc6\link_test-vc6-mt-gd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc6-mt-1_35.lib
-#
-########################################################
-vc6/link_test-vc6-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  $(CXXFLAGS) -Y- -Fo./vc6/link_test-vc6-mt-1_35/ -Fdvc6/link_test-vc6-mt-1_35.pdb link_test.cpp
-
-link_test-vc6-mt-1_35_dir :
-	@if not exist "vc6\link_test-vc6-mt-1_35\$(NULL)" mkdir vc6\link_test-vc6-mt-1_35
-
-link_test-vc6-mt-1_35_clean :
-	del vc6\link_test-vc6-mt-1_35\*.obj
-	del vc6\link_test-vc6-mt-1_35\*.idb
-	del vc6\link_test-vc6-mt-1_35\*.exp
-	del vc6\link_test-vc6-mt-1_35\*.pch
-
-./vc6/link_test-vc6-mt-1_35.lib : vc6/link_test-vc6-mt-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6/link_test-vc6-mt-1_35.pdb" /debug /machine:I386 /out:"vc6/link_test-vc6-mt-1_35.dll" /implib:"vc6/link_test-vc6-mt-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc6/link_test-vc6-mt-1_35/link_test.obj
-
-./vc6/link_test-vc6-mt-1_35.exe : main.cpp ./vc6/link_test-vc6-mt-1_35.lib
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/link_test-vc6-mt-1_35.exe main.cpp /link /LIBPATH:./vc6
-   vc6\link_test-vc6-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc6-mt-1_35.lib
-#
-########################################################
-vc6/liblink_test-vc6-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  $(CXXFLAGS) -Y- -Fo./vc6/liblink_test-vc6-mt-1_35/ -Fdvc6/liblink_test-vc6-mt-1_35.pdb link_test.cpp
-
-liblink_test-vc6-mt-1_35_dir :
-	@if not exist "vc6\liblink_test-vc6-mt-1_35\$(NULL)" mkdir vc6\liblink_test-vc6-mt-1_35
-
-liblink_test-vc6-mt-1_35_clean :
-	del vc6\liblink_test-vc6-mt-1_35\*.obj
-	del vc6\liblink_test-vc6-mt-1_35\*.idb
-	del vc6\liblink_test-vc6-mt-1_35\*.exp
-	del vc6\liblink_test-vc6-mt-1_35\*.pch
-
-./vc6/liblink_test-vc6-mt-1_35.lib : vc6/liblink_test-vc6-mt-1_35/link_test.obj
-	link -lib /nologo /out:vc6/liblink_test-vc6-mt-1_35.lib $(XSFLAGS)  vc6/liblink_test-vc6-mt-1_35/link_test.obj
-
-./vc6/liblink_test-vc6-mt-1_35.exe : main.cpp ./vc6/liblink_test-vc6-mt-1_35.lib
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/liblink_test-vc6-mt-1_35.exe main.cpp /link /LIBPATH:./vc6
-   vc6\liblink_test-vc6-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc6-mt-gd-1_35.lib
-#
-########################################################
-vc6/liblink_test-vc6-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX  $(CXXFLAGS) -Y- -Fo./vc6/liblink_test-vc6-mt-gd-1_35/ -Fdvc6/liblink_test-vc6-mt-gd-1_35.pdb link_test.cpp
-
-liblink_test-vc6-mt-gd-1_35_dir :
-	@if not exist "vc6\liblink_test-vc6-mt-gd-1_35\$(NULL)" mkdir vc6\liblink_test-vc6-mt-gd-1_35
-
-liblink_test-vc6-mt-gd-1_35_clean :
-	del vc6\liblink_test-vc6-mt-gd-1_35\*.obj
-	del vc6\liblink_test-vc6-mt-gd-1_35\*.idb
-	del vc6\liblink_test-vc6-mt-gd-1_35\*.exp
-	del vc6\liblink_test-vc6-mt-gd-1_35\*.pch
-
-./vc6/liblink_test-vc6-mt-gd-1_35.lib : vc6/liblink_test-vc6-mt-gd-1_35/link_test.obj
-	link -lib /nologo /out:vc6/liblink_test-vc6-mt-gd-1_35.lib $(XSFLAGS)  vc6/liblink_test-vc6-mt-gd-1_35/link_test.obj
-
-./vc6/liblink_test-vc6-mt-gd-1_35.exe : main.cpp ./vc6/liblink_test-vc6-mt-gd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/liblink_test-vc6-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc6
-   vc6\liblink_test-vc6-mt-gd-1_35.exe
-
diff --git a/SRC/Boost/libs/config/test/link/vc7-stlport.mak b/SRC/Boost/libs/config/test/link/vc7-stlport.mak
deleted file mode 100755
index b2f40ef..0000000
--- a/SRC/Boost/libs/config/test/link/vc7-stlport.mak
+++ /dev/null
@@ -1,292 +0,0 @@
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# auto generated makefile for VC6+STLPort
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "$(STLPORT_PATH)" == ""
-!ERROR Variable STLPORT_PATH not set.
-!ENDIF
-
-
-ALL_HEADER=
-
-all : main_dir liblink_test-vc7-stlport-mt-s-1_35_dir ./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.lib ./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.exe liblink_test-vc7-stlport-mt-sgd-1_35_dir ./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.lib ./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.exe link_test-vc7-stlport-mt-gd-1_35_dir ./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.lib ./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.exe link_test-vc7-stlport-mt-1_35_dir ./vc7-st [...]
-
-clean :  liblink_test-vc7-stlport-mt-s-1_35_clean liblink_test-vc7-stlport-mt-sgd-1_35_clean link_test-vc7-stlport-mt-gd-1_35_clean link_test-vc7-stlport-mt-1_35_clean liblink_test-vc7-stlport-mt-1_35_clean liblink_test-vc7-stlport-mt-gd-1_35_clean link_test-vc7-stlport-mt-pgd-1_35_clean liblink_test-vc7-stlport-mt-spgd-1_35_clean liblink_test-vc7-stlport-mt-pgd-1_35_clean
-
-install : stlport_check all
-	copy vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\link_test-vc7-stlport-mt-gd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\link_test-vc7-stlport-mt-gd-1_35.dll "$(MSVCDIR)\bin"
-	copy vc7-stlport\link_test-vc7-stlport-mt-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\link_test-vc7-stlport-mt-1_35.dll "$(MSVCDIR)\bin"
-	copy vc7-stlport\liblink_test-vc7-stlport-mt-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35.dll "$(MSVCDIR)\bin"
-	copy vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc7-stlport\$(NULL)" mkdir vc7-stlport
-
-stlport_check : $(STLPORT_PATH)\stlport\string
-	echo
-
-
-########################################################
-#
-# section for liblink_test-vc7-stlport-mt-s-1_35.lib
-#
-########################################################
-vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  $(CXXFLAGS) -Y- -Fo./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35/ -Fdvc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.pdb link_test.cpp
-
-liblink_test-vc7-stlport-mt-s-1_35_dir :
-	@if not exist "vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35\$(NULL)" mkdir vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35
-
-liblink_test-vc7-stlport-mt-s-1_35_clean :
-	del vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35\*.obj
-	del vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35\*.idb
-	del vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35\*.exp
-	del vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35\*.pch
-
-./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.lib : vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35/link_test.obj
-	link -lib /nologo /out:vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.lib $(XSFLAGS)  vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35/link_test.obj
-
-./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.exe : main.cpp ./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.lib
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
-   vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc7-stlport-mt-sgd-1_35.lib
-#
-########################################################
-vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35/ -Fdvc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.pdb link_test.cpp
-
-liblink_test-vc7-stlport-mt-sgd-1_35_dir :
-	@if not exist "vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35\$(NULL)" mkdir vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35
-
-liblink_test-vc7-stlport-mt-sgd-1_35_clean :
-	del vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35\*.obj
-	del vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35\*.idb
-	del vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35\*.exp
-	del vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35\*.pch
-
-./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.lib : vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35/link_test.obj
-	link -lib /nologo /out:vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.lib $(XSFLAGS)  vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35/link_test.obj
-
-./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.exe : main.cpp ./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.lib
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
-   vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc7-stlport-mt-gd-1_35.lib
-#
-########################################################
-vc7-stlport/link_test-vc7-stlport-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35/ -Fdvc7-stlport/link_test-vc7-stlport-mt-gd-1_35.pdb link_test.cpp
-
-link_test-vc7-stlport-mt-gd-1_35_dir :
-	@if not exist "vc7-stlport\link_test-vc7-stlport-mt-gd-1_35\$(NULL)" mkdir vc7-stlport\link_test-vc7-stlport-mt-gd-1_35
-
-link_test-vc7-stlport-mt-gd-1_35_clean :
-	del vc7-stlport\link_test-vc7-stlport-mt-gd-1_35\*.obj
-	del vc7-stlport\link_test-vc7-stlport-mt-gd-1_35\*.idb
-	del vc7-stlport\link_test-vc7-stlport-mt-gd-1_35\*.exp
-	del vc7-stlport\link_test-vc7-stlport-mt-gd-1_35\*.pch
-
-./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.lib : vc7-stlport/link_test-vc7-stlport-mt-gd-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.dll" /implib:"vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc7-stlport/link_test-vc7-stlport-mt-gd-1_35/link_test.obj
-
-./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.exe : main.cpp ./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
-   vc7-stlport\link_test-vc7-stlport-mt-gd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc7-stlport-mt-1_35.lib
-#
-########################################################
-vc7-stlport/link_test-vc7-stlport-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  $(CXXFLAGS) -Y- -Fo./vc7-stlport/link_test-vc7-stlport-mt-1_35/ -Fdvc7-stlport/link_test-vc7-stlport-mt-1_35.pdb link_test.cpp
-
-link_test-vc7-stlport-mt-1_35_dir :
-	@if not exist "vc7-stlport\link_test-vc7-stlport-mt-1_35\$(NULL)" mkdir vc7-stlport\link_test-vc7-stlport-mt-1_35
-
-link_test-vc7-stlport-mt-1_35_clean :
-	del vc7-stlport\link_test-vc7-stlport-mt-1_35\*.obj
-	del vc7-stlport\link_test-vc7-stlport-mt-1_35\*.idb
-	del vc7-stlport\link_test-vc7-stlport-mt-1_35\*.exp
-	del vc7-stlport\link_test-vc7-stlport-mt-1_35\*.pch
-
-./vc7-stlport/link_test-vc7-stlport-mt-1_35.lib : vc7-stlport/link_test-vc7-stlport-mt-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/link_test-vc7-stlport-mt-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/link_test-vc7-stlport-mt-1_35.dll" /implib:"vc7-stlport/link_test-vc7-stlport-mt-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc7-stlport/link_test-vc7-stlport-mt-1_35/link_test.obj
-
-./vc7-stlport/link_test-vc7-stlport-mt-1_35.exe : main.cpp ./vc7-stlport/link_test-vc7-stlport-mt-1_35.lib
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/link_test-vc7-stlport-mt-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
-   vc7-stlport\link_test-vc7-stlport-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc7-stlport-mt-1_35.lib
-#
-########################################################
-vc7-stlport/liblink_test-vc7-stlport-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  $(CXXFLAGS) -Y- -Fo./vc7-stlport/liblink_test-vc7-stlport-mt-1_35/ -Fdvc7-stlport/liblink_test-vc7-stlport-mt-1_35.pdb link_test.cpp
-
-liblink_test-vc7-stlport-mt-1_35_dir :
-	@if not exist "vc7-stlport\liblink_test-vc7-stlport-mt-1_35\$(NULL)" mkdir vc7-stlport\liblink_test-vc7-stlport-mt-1_35
-
-liblink_test-vc7-stlport-mt-1_35_clean :
-	del vc7-stlport\liblink_test-vc7-stlport-mt-1_35\*.obj
-	del vc7-stlport\liblink_test-vc7-stlport-mt-1_35\*.idb
-	del vc7-stlport\liblink_test-vc7-stlport-mt-1_35\*.exp
-	del vc7-stlport\liblink_test-vc7-stlport-mt-1_35\*.pch
-
-./vc7-stlport/liblink_test-vc7-stlport-mt-1_35.lib : vc7-stlport/liblink_test-vc7-stlport-mt-1_35/link_test.obj
-	link -lib /nologo /out:vc7-stlport/liblink_test-vc7-stlport-mt-1_35.lib $(XSFLAGS)  vc7-stlport/liblink_test-vc7-stlport-mt-1_35/link_test.obj
-
-./vc7-stlport/liblink_test-vc7-stlport-mt-1_35.exe : main.cpp ./vc7-stlport/liblink_test-vc7-stlport-mt-1_35.lib
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/liblink_test-vc7-stlport-mt-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
-   vc7-stlport\liblink_test-vc7-stlport-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc7-stlport-mt-gd-1_35.lib
-#
-########################################################
-vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35/ -Fdvc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.pdb link_test.cpp
-
-liblink_test-vc7-stlport-mt-gd-1_35_dir :
-	@if not exist "vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35\$(NULL)" mkdir vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35
-
-liblink_test-vc7-stlport-mt-gd-1_35_clean :
-	del vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35\*.obj
-	del vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35\*.idb
-	del vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35\*.exp
-	del vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35\*.pch
-
-./vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.lib : vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35/link_test.obj
-	link -lib /nologo /out:vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.lib $(XSFLAGS)  vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35/link_test.obj
-
-./vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.exe : main.cpp ./vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
-   vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc7-stlport-mt-pgd-1_35.lib
-#
-########################################################
-vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35/ -Fdvc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.pdb link_test.cpp
-
-link_test-vc7-stlport-mt-pgd-1_35_dir :
-	@if not exist "vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35\$(NULL)" mkdir vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35
-
-link_test-vc7-stlport-mt-pgd-1_35_clean :
-	del vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35\*.obj
-	del vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35\*.idb
-	del vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35\*.exp
-	del vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35\*.pch
-
-./vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.lib : vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.dll" /implib:"vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35/link_test.obj
-
-./vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.exe : main.cpp ./vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
-   vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc7-stlport-mt-spgd-1_35.lib
-#
-########################################################
-vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35/ -Fdvc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.pdb link_test.cpp
-
-liblink_test-vc7-stlport-mt-spgd-1_35_dir :
-	@if not exist "vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35\$(NULL)" mkdir vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35
-
-liblink_test-vc7-stlport-mt-spgd-1_35_clean :
-	del vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35\*.obj
-	del vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35\*.idb
-	del vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35\*.exp
-	del vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35\*.pch
-
-./vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.lib : vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35/link_test.obj
-	link -lib /nologo /out:vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.lib $(XSFLAGS)  vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35/link_test.obj
-
-./vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.exe : main.cpp ./vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.lib
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
-   vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc7-stlport-mt-pgd-1_35.lib
-#
-########################################################
-vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35/ -Fdvc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.pdb link_test.cpp
-
-liblink_test-vc7-stlport-mt-pgd-1_35_dir :
-	@if not exist "vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35\$(NULL)" mkdir vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35
-
-liblink_test-vc7-stlport-mt-pgd-1_35_clean :
-	del vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35\*.obj
-	del vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35\*.idb
-	del vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35\*.exp
-	del vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35\*.pch
-
-./vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.lib : vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35/link_test.obj
-	link -lib /nologo /out:vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.lib $(XSFLAGS)  vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35/link_test.obj
-
-./vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.exe : main.cpp ./vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
-   vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35.exe
-
diff --git a/SRC/Boost/libs/config/test/link/vc7.mak b/SRC/Boost/libs/config/test/link/vc7.mak
deleted file mode 100755
index 7338855..0000000
--- a/SRC/Boost/libs/config/test/link/vc7.mak
+++ /dev/null
@@ -1,260 +0,0 @@
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# auto generated makefile for VC6 compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-
-ALL_HEADER=
-
-all : main_dir liblink_test-vc7-s-1_35_dir ./vc7/liblink_test-vc7-s-1_35.lib ./vc7/liblink_test-vc7-s-1_35.exe liblink_test-vc7-mt-s-1_35_dir ./vc7/liblink_test-vc7-mt-s-1_35.lib ./vc7/liblink_test-vc7-mt-s-1_35.exe liblink_test-vc7-sgd-1_35_dir ./vc7/liblink_test-vc7-sgd-1_35.lib ./vc7/liblink_test-vc7-sgd-1_35.exe liblink_test-vc7-mt-sgd-1_35_dir ./vc7/liblink_test-vc7-mt-sgd-1_35.lib ./vc7/liblink_test-vc7-mt-sgd-1_35.exe link_test-vc7-mt-gd-1_35_dir ./vc7/link_test-vc7-mt-gd-1_35.lib [...]
-
-clean :  liblink_test-vc7-s-1_35_clean liblink_test-vc7-mt-s-1_35_clean liblink_test-vc7-sgd-1_35_clean liblink_test-vc7-mt-sgd-1_35_clean link_test-vc7-mt-gd-1_35_clean link_test-vc7-mt-1_35_clean liblink_test-vc7-mt-1_35_clean liblink_test-vc7-mt-gd-1_35_clean
-
-install : all
-	copy vc7\liblink_test-vc7-s-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7\liblink_test-vc7-mt-s-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7\liblink_test-vc7-sgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7\liblink_test-vc7-sgd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc7\liblink_test-vc7-mt-sgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7\liblink_test-vc7-mt-sgd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc7\link_test-vc7-mt-gd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7\link_test-vc7-mt-gd-1_35.dll "$(MSVCDIR)\bin"
-	copy vc7\link_test-vc7-mt-gd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc7\link_test-vc7-mt-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7\link_test-vc7-mt-1_35.dll "$(MSVCDIR)\bin"
-	copy vc7\liblink_test-vc7-mt-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7\liblink_test-vc7-mt-gd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc7\liblink_test-vc7-mt-gd-1_35.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc7\$(NULL)" mkdir vc7
-
-
-########################################################
-#
-# section for liblink_test-vc7-s-1_35.lib
-#
-########################################################
-vc7/liblink_test-vc7-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD $(CXXFLAGS) -Y- -Fo./vc7/liblink_test-vc7-s-1_35/ -Fdvc7/liblink_test-vc7-s-1_35.pdb link_test.cpp
-
-liblink_test-vc7-s-1_35_dir :
-	@if not exist "vc7\liblink_test-vc7-s-1_35\$(NULL)" mkdir vc7\liblink_test-vc7-s-1_35
-
-liblink_test-vc7-s-1_35_clean :
-	del vc7\liblink_test-vc7-s-1_35\*.obj
-	del vc7\liblink_test-vc7-s-1_35\*.idb
-	del vc7\liblink_test-vc7-s-1_35\*.exp
-	del vc7\liblink_test-vc7-s-1_35\*.pch
-
-./vc7/liblink_test-vc7-s-1_35.lib : vc7/liblink_test-vc7-s-1_35/link_test.obj
-	link -lib /nologo /out:vc7/liblink_test-vc7-s-1_35.lib $(XSFLAGS)  vc7/liblink_test-vc7-s-1_35/link_test.obj
-
-./vc7/liblink_test-vc7-s-1_35.exe : main.cpp ./vc7/liblink_test-vc7-s-1_35.lib
-	cl $(INCLUDES) /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/liblink_test-vc7-s-1_35.exe main.cpp /link /LIBPATH:./vc7
-   vc7\liblink_test-vc7-s-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc7-mt-s-1_35.lib
-#
-########################################################
-vc7/liblink_test-vc7-mt-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  $(CXXFLAGS) -Y- -Fo./vc7/liblink_test-vc7-mt-s-1_35/ -Fdvc7/liblink_test-vc7-mt-s-1_35.pdb link_test.cpp
-
-liblink_test-vc7-mt-s-1_35_dir :
-	@if not exist "vc7\liblink_test-vc7-mt-s-1_35\$(NULL)" mkdir vc7\liblink_test-vc7-mt-s-1_35
-
-liblink_test-vc7-mt-s-1_35_clean :
-	del vc7\liblink_test-vc7-mt-s-1_35\*.obj
-	del vc7\liblink_test-vc7-mt-s-1_35\*.idb
-	del vc7\liblink_test-vc7-mt-s-1_35\*.exp
-	del vc7\liblink_test-vc7-mt-s-1_35\*.pch
-
-./vc7/liblink_test-vc7-mt-s-1_35.lib : vc7/liblink_test-vc7-mt-s-1_35/link_test.obj
-	link -lib /nologo /out:vc7/liblink_test-vc7-mt-s-1_35.lib $(XSFLAGS)  vc7/liblink_test-vc7-mt-s-1_35/link_test.obj
-
-./vc7/liblink_test-vc7-mt-s-1_35.exe : main.cpp ./vc7/liblink_test-vc7-mt-s-1_35.lib
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/liblink_test-vc7-mt-s-1_35.exe main.cpp /link /LIBPATH:./vc7
-   vc7\liblink_test-vc7-mt-s-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc7-sgd-1_35.lib
-#
-########################################################
-vc7/liblink_test-vc7-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1   $(CXXFLAGS) -Y- -Fo./vc7/liblink_test-vc7-sgd-1_35/ -Fdvc7/liblink_test-vc7-sgd-1_35.pdb link_test.cpp
-
-liblink_test-vc7-sgd-1_35_dir :
-	@if not exist "vc7\liblink_test-vc7-sgd-1_35\$(NULL)" mkdir vc7\liblink_test-vc7-sgd-1_35
-
-liblink_test-vc7-sgd-1_35_clean :
-	del vc7\liblink_test-vc7-sgd-1_35\*.obj
-	del vc7\liblink_test-vc7-sgd-1_35\*.idb
-	del vc7\liblink_test-vc7-sgd-1_35\*.exp
-	del vc7\liblink_test-vc7-sgd-1_35\*.pch
-
-./vc7/liblink_test-vc7-sgd-1_35.lib : vc7/liblink_test-vc7-sgd-1_35/link_test.obj
-	link -lib /nologo /out:vc7/liblink_test-vc7-sgd-1_35.lib $(XSFLAGS)  vc7/liblink_test-vc7-sgd-1_35/link_test.obj
-
-./vc7/liblink_test-vc7-sgd-1_35.exe : main.cpp ./vc7/liblink_test-vc7-sgd-1_35.lib
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1   /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/liblink_test-vc7-sgd-1_35.exe main.cpp /link /LIBPATH:./vc7
-   vc7\liblink_test-vc7-sgd-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc7-mt-sgd-1_35.lib
-#
-########################################################
-vc7/liblink_test-vc7-mt-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc7/liblink_test-vc7-mt-sgd-1_35/ -Fdvc7/liblink_test-vc7-mt-sgd-1_35.pdb link_test.cpp
-
-liblink_test-vc7-mt-sgd-1_35_dir :
-	@if not exist "vc7\liblink_test-vc7-mt-sgd-1_35\$(NULL)" mkdir vc7\liblink_test-vc7-mt-sgd-1_35
-
-liblink_test-vc7-mt-sgd-1_35_clean :
-	del vc7\liblink_test-vc7-mt-sgd-1_35\*.obj
-	del vc7\liblink_test-vc7-mt-sgd-1_35\*.idb
-	del vc7\liblink_test-vc7-mt-sgd-1_35\*.exp
-	del vc7\liblink_test-vc7-mt-sgd-1_35\*.pch
-
-./vc7/liblink_test-vc7-mt-sgd-1_35.lib : vc7/liblink_test-vc7-mt-sgd-1_35/link_test.obj
-	link -lib /nologo /out:vc7/liblink_test-vc7-mt-sgd-1_35.lib $(XSFLAGS)  vc7/liblink_test-vc7-mt-sgd-1_35/link_test.obj
-
-./vc7/liblink_test-vc7-mt-sgd-1_35.exe : main.cpp ./vc7/liblink_test-vc7-mt-sgd-1_35.lib
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/liblink_test-vc7-mt-sgd-1_35.exe main.cpp /link /LIBPATH:./vc7
-   vc7\liblink_test-vc7-mt-sgd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc7-mt-gd-1_35.lib
-#
-########################################################
-vc7/link_test-vc7-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc7/link_test-vc7-mt-gd-1_35/ -Fdvc7/link_test-vc7-mt-gd-1_35.pdb link_test.cpp
-
-link_test-vc7-mt-gd-1_35_dir :
-	@if not exist "vc7\link_test-vc7-mt-gd-1_35\$(NULL)" mkdir vc7\link_test-vc7-mt-gd-1_35
-
-link_test-vc7-mt-gd-1_35_clean :
-	del vc7\link_test-vc7-mt-gd-1_35\*.obj
-	del vc7\link_test-vc7-mt-gd-1_35\*.idb
-	del vc7\link_test-vc7-mt-gd-1_35\*.exp
-	del vc7\link_test-vc7-mt-gd-1_35\*.pch
-
-./vc7/link_test-vc7-mt-gd-1_35.lib : vc7/link_test-vc7-mt-gd-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7/link_test-vc7-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc7/link_test-vc7-mt-gd-1_35.dll" /implib:"vc7/link_test-vc7-mt-gd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc7/link_test-vc7-mt-gd-1_35/link_test.obj
-
-./vc7/link_test-vc7-mt-gd-1_35.exe : main.cpp ./vc7/link_test-vc7-mt-gd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/link_test-vc7-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc7
-   vc7\link_test-vc7-mt-gd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc7-mt-1_35.lib
-#
-########################################################
-vc7/link_test-vc7-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  $(CXXFLAGS) -Y- -Fo./vc7/link_test-vc7-mt-1_35/ -Fdvc7/link_test-vc7-mt-1_35.pdb link_test.cpp
-
-link_test-vc7-mt-1_35_dir :
-	@if not exist "vc7\link_test-vc7-mt-1_35\$(NULL)" mkdir vc7\link_test-vc7-mt-1_35
-
-link_test-vc7-mt-1_35_clean :
-	del vc7\link_test-vc7-mt-1_35\*.obj
-	del vc7\link_test-vc7-mt-1_35\*.idb
-	del vc7\link_test-vc7-mt-1_35\*.exp
-	del vc7\link_test-vc7-mt-1_35\*.pch
-
-./vc7/link_test-vc7-mt-1_35.lib : vc7/link_test-vc7-mt-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7/link_test-vc7-mt-1_35.pdb" /debug /machine:I386 /out:"vc7/link_test-vc7-mt-1_35.dll" /implib:"vc7/link_test-vc7-mt-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc7/link_test-vc7-mt-1_35/link_test.obj
-
-./vc7/link_test-vc7-mt-1_35.exe : main.cpp ./vc7/link_test-vc7-mt-1_35.lib
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/link_test-vc7-mt-1_35.exe main.cpp /link /LIBPATH:./vc7
-   vc7\link_test-vc7-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc7-mt-1_35.lib
-#
-########################################################
-vc7/liblink_test-vc7-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  $(CXXFLAGS) -Y- -Fo./vc7/liblink_test-vc7-mt-1_35/ -Fdvc7/liblink_test-vc7-mt-1_35.pdb link_test.cpp
-
-liblink_test-vc7-mt-1_35_dir :
-	@if not exist "vc7\liblink_test-vc7-mt-1_35\$(NULL)" mkdir vc7\liblink_test-vc7-mt-1_35
-
-liblink_test-vc7-mt-1_35_clean :
-	del vc7\liblink_test-vc7-mt-1_35\*.obj
-	del vc7\liblink_test-vc7-mt-1_35\*.idb
-	del vc7\liblink_test-vc7-mt-1_35\*.exp
-	del vc7\liblink_test-vc7-mt-1_35\*.pch
-
-./vc7/liblink_test-vc7-mt-1_35.lib : vc7/liblink_test-vc7-mt-1_35/link_test.obj
-	link -lib /nologo /out:vc7/liblink_test-vc7-mt-1_35.lib $(XSFLAGS)  vc7/liblink_test-vc7-mt-1_35/link_test.obj
-
-./vc7/liblink_test-vc7-mt-1_35.exe : main.cpp ./vc7/liblink_test-vc7-mt-1_35.lib
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/liblink_test-vc7-mt-1_35.exe main.cpp /link /LIBPATH:./vc7
-   vc7\liblink_test-vc7-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc7-mt-gd-1_35.lib
-#
-########################################################
-vc7/liblink_test-vc7-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc7/liblink_test-vc7-mt-gd-1_35/ -Fdvc7/liblink_test-vc7-mt-gd-1_35.pdb link_test.cpp
-
-liblink_test-vc7-mt-gd-1_35_dir :
-	@if not exist "vc7\liblink_test-vc7-mt-gd-1_35\$(NULL)" mkdir vc7\liblink_test-vc7-mt-gd-1_35
-
-liblink_test-vc7-mt-gd-1_35_clean :
-	del vc7\liblink_test-vc7-mt-gd-1_35\*.obj
-	del vc7\liblink_test-vc7-mt-gd-1_35\*.idb
-	del vc7\liblink_test-vc7-mt-gd-1_35\*.exp
-	del vc7\liblink_test-vc7-mt-gd-1_35\*.pch
-
-./vc7/liblink_test-vc7-mt-gd-1_35.lib : vc7/liblink_test-vc7-mt-gd-1_35/link_test.obj
-	link -lib /nologo /out:vc7/liblink_test-vc7-mt-gd-1_35.lib $(XSFLAGS)  vc7/liblink_test-vc7-mt-gd-1_35/link_test.obj
-
-./vc7/liblink_test-vc7-mt-gd-1_35.exe : main.cpp ./vc7/liblink_test-vc7-mt-gd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/liblink_test-vc7-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc7
-   vc7\liblink_test-vc7-mt-gd-1_35.exe
-
diff --git a/SRC/Boost/libs/config/test/link/vc71-stlport.mak b/SRC/Boost/libs/config/test/link/vc71-stlport.mak
deleted file mode 100755
index f37692a..0000000
--- a/SRC/Boost/libs/config/test/link/vc71-stlport.mak
+++ /dev/null
@@ -1,292 +0,0 @@
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# auto generated makefile for VC6+STLPort
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "$(STLPORT_PATH)" == ""
-!ERROR Variable STLPORT_PATH not set.
-!ENDIF
-
-
-ALL_HEADER=
-
-all : main_dir liblink_test-vc71-stlport-mt-s-1_35_dir ./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.lib ./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.exe liblink_test-vc71-stlport-mt-sgd-1_35_dir ./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.lib ./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.exe link_test-vc71-stlport-mt-gd-1_35_dir ./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.lib ./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.exe link_test-vc71-stlport-mt-1 [...]
-
-clean :  liblink_test-vc71-stlport-mt-s-1_35_clean liblink_test-vc71-stlport-mt-sgd-1_35_clean link_test-vc71-stlport-mt-gd-1_35_clean link_test-vc71-stlport-mt-1_35_clean liblink_test-vc71-stlport-mt-1_35_clean liblink_test-vc71-stlport-mt-gd-1_35_clean link_test-vc71-stlport-mt-pgd-1_35_clean liblink_test-vc71-stlport-mt-spgd-1_35_clean liblink_test-vc71-stlport-mt-pgd-1_35_clean
-
-install : stlport_check all
-	copy vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\link_test-vc71-stlport-mt-gd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\link_test-vc71-stlport-mt-gd-1_35.dll "$(MSVCDIR)\bin"
-	copy vc71-stlport\link_test-vc71-stlport-mt-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\link_test-vc71-stlport-mt-1_35.dll "$(MSVCDIR)\bin"
-	copy vc71-stlport\liblink_test-vc71-stlport-mt-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35.dll "$(MSVCDIR)\bin"
-	copy vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc71-stlport\$(NULL)" mkdir vc71-stlport
-
-stlport_check : $(STLPORT_PATH)\stlport\string
-	echo
-
-
-########################################################
-#
-# section for liblink_test-vc71-stlport-mt-s-1_35.lib
-#
-########################################################
-vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  $(CXXFLAGS) -Y- -Fo./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35/ -Fdvc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.pdb link_test.cpp
-
-liblink_test-vc71-stlport-mt-s-1_35_dir :
-	@if not exist "vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35\$(NULL)" mkdir vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35
-
-liblink_test-vc71-stlport-mt-s-1_35_clean :
-	del vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35\*.obj
-	del vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35\*.idb
-	del vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35\*.exp
-	del vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35\*.pch
-
-./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.lib : vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35/link_test.obj
-	link -lib /nologo /out:vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.lib $(XSFLAGS)  vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35/link_test.obj
-
-./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.exe : main.cpp ./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.lib
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
-   vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc71-stlport-mt-sgd-1_35.lib
-#
-########################################################
-vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35/ -Fdvc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.pdb link_test.cpp
-
-liblink_test-vc71-stlport-mt-sgd-1_35_dir :
-	@if not exist "vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35\$(NULL)" mkdir vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35
-
-liblink_test-vc71-stlport-mt-sgd-1_35_clean :
-	del vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35\*.obj
-	del vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35\*.idb
-	del vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35\*.exp
-	del vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35\*.pch
-
-./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.lib : vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35/link_test.obj
-	link -lib /nologo /out:vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.lib $(XSFLAGS)  vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35/link_test.obj
-
-./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.exe : main.cpp ./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.lib
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
-   vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc71-stlport-mt-gd-1_35.lib
-#
-########################################################
-vc71-stlport/link_test-vc71-stlport-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35/ -Fdvc71-stlport/link_test-vc71-stlport-mt-gd-1_35.pdb link_test.cpp
-
-link_test-vc71-stlport-mt-gd-1_35_dir :
-	@if not exist "vc71-stlport\link_test-vc71-stlport-mt-gd-1_35\$(NULL)" mkdir vc71-stlport\link_test-vc71-stlport-mt-gd-1_35
-
-link_test-vc71-stlport-mt-gd-1_35_clean :
-	del vc71-stlport\link_test-vc71-stlport-mt-gd-1_35\*.obj
-	del vc71-stlport\link_test-vc71-stlport-mt-gd-1_35\*.idb
-	del vc71-stlport\link_test-vc71-stlport-mt-gd-1_35\*.exp
-	del vc71-stlport\link_test-vc71-stlport-mt-gd-1_35\*.pch
-
-./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.lib : vc71-stlport/link_test-vc71-stlport-mt-gd-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.dll" /implib:"vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc71-stlport/link_test-vc71-stlport-mt-gd-1_35/link_test.obj
-
-./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.exe : main.cpp ./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
-   vc71-stlport\link_test-vc71-stlport-mt-gd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc71-stlport-mt-1_35.lib
-#
-########################################################
-vc71-stlport/link_test-vc71-stlport-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  $(CXXFLAGS) -Y- -Fo./vc71-stlport/link_test-vc71-stlport-mt-1_35/ -Fdvc71-stlport/link_test-vc71-stlport-mt-1_35.pdb link_test.cpp
-
-link_test-vc71-stlport-mt-1_35_dir :
-	@if not exist "vc71-stlport\link_test-vc71-stlport-mt-1_35\$(NULL)" mkdir vc71-stlport\link_test-vc71-stlport-mt-1_35
-
-link_test-vc71-stlport-mt-1_35_clean :
-	del vc71-stlport\link_test-vc71-stlport-mt-1_35\*.obj
-	del vc71-stlport\link_test-vc71-stlport-mt-1_35\*.idb
-	del vc71-stlport\link_test-vc71-stlport-mt-1_35\*.exp
-	del vc71-stlport\link_test-vc71-stlport-mt-1_35\*.pch
-
-./vc71-stlport/link_test-vc71-stlport-mt-1_35.lib : vc71-stlport/link_test-vc71-stlport-mt-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/link_test-vc71-stlport-mt-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/link_test-vc71-stlport-mt-1_35.dll" /implib:"vc71-stlport/link_test-vc71-stlport-mt-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc71-stlport/link_test-vc71-stlport-mt-1_35/link_test.obj
-
-./vc71-stlport/link_test-vc71-stlport-mt-1_35.exe : main.cpp ./vc71-stlport/link_test-vc71-stlport-mt-1_35.lib
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/link_test-vc71-stlport-mt-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
-   vc71-stlport\link_test-vc71-stlport-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc71-stlport-mt-1_35.lib
-#
-########################################################
-vc71-stlport/liblink_test-vc71-stlport-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  $(CXXFLAGS) -Y- -Fo./vc71-stlport/liblink_test-vc71-stlport-mt-1_35/ -Fdvc71-stlport/liblink_test-vc71-stlport-mt-1_35.pdb link_test.cpp
-
-liblink_test-vc71-stlport-mt-1_35_dir :
-	@if not exist "vc71-stlport\liblink_test-vc71-stlport-mt-1_35\$(NULL)" mkdir vc71-stlport\liblink_test-vc71-stlport-mt-1_35
-
-liblink_test-vc71-stlport-mt-1_35_clean :
-	del vc71-stlport\liblink_test-vc71-stlport-mt-1_35\*.obj
-	del vc71-stlport\liblink_test-vc71-stlport-mt-1_35\*.idb
-	del vc71-stlport\liblink_test-vc71-stlport-mt-1_35\*.exp
-	del vc71-stlport\liblink_test-vc71-stlport-mt-1_35\*.pch
-
-./vc71-stlport/liblink_test-vc71-stlport-mt-1_35.lib : vc71-stlport/liblink_test-vc71-stlport-mt-1_35/link_test.obj
-	link -lib /nologo /out:vc71-stlport/liblink_test-vc71-stlport-mt-1_35.lib $(XSFLAGS)  vc71-stlport/liblink_test-vc71-stlport-mt-1_35/link_test.obj
-
-./vc71-stlport/liblink_test-vc71-stlport-mt-1_35.exe : main.cpp ./vc71-stlport/liblink_test-vc71-stlport-mt-1_35.lib
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/liblink_test-vc71-stlport-mt-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
-   vc71-stlport\liblink_test-vc71-stlport-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc71-stlport-mt-gd-1_35.lib
-#
-########################################################
-vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35/ -Fdvc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.pdb link_test.cpp
-
-liblink_test-vc71-stlport-mt-gd-1_35_dir :
-	@if not exist "vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35\$(NULL)" mkdir vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35
-
-liblink_test-vc71-stlport-mt-gd-1_35_clean :
-	del vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35\*.obj
-	del vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35\*.idb
-	del vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35\*.exp
-	del vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35\*.pch
-
-./vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.lib : vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35/link_test.obj
-	link -lib /nologo /out:vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.lib $(XSFLAGS)  vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35/link_test.obj
-
-./vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.exe : main.cpp ./vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
-   vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc71-stlport-mt-pgd-1_35.lib
-#
-########################################################
-vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35/ -Fdvc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.pdb link_test.cpp
-
-link_test-vc71-stlport-mt-pgd-1_35_dir :
-	@if not exist "vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35\$(NULL)" mkdir vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35
-
-link_test-vc71-stlport-mt-pgd-1_35_clean :
-	del vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35\*.obj
-	del vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35\*.idb
-	del vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35\*.exp
-	del vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35\*.pch
-
-./vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.lib : vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.dll" /implib:"vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35/link_test.obj
-
-./vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.exe : main.cpp ./vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
-   vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc71-stlport-mt-spgd-1_35.lib
-#
-########################################################
-vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35/ -Fdvc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.pdb link_test.cpp
-
-liblink_test-vc71-stlport-mt-spgd-1_35_dir :
-	@if not exist "vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35\$(NULL)" mkdir vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35
-
-liblink_test-vc71-stlport-mt-spgd-1_35_clean :
-	del vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35\*.obj
-	del vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35\*.idb
-	del vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35\*.exp
-	del vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35\*.pch
-
-./vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.lib : vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35/link_test.obj
-	link -lib /nologo /out:vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.lib $(XSFLAGS)  vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35/link_test.obj
-
-./vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.exe : main.cpp ./vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.lib
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
-   vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc71-stlport-mt-pgd-1_35.lib
-#
-########################################################
-vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35/ -Fdvc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.pdb link_test.cpp
-
-liblink_test-vc71-stlport-mt-pgd-1_35_dir :
-	@if not exist "vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35\$(NULL)" mkdir vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35
-
-liblink_test-vc71-stlport-mt-pgd-1_35_clean :
-	del vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35\*.obj
-	del vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35\*.idb
-	del vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35\*.exp
-	del vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35\*.pch
-
-./vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.lib : vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35/link_test.obj
-	link -lib /nologo /out:vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.lib $(XSFLAGS)  vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35/link_test.obj
-
-./vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.exe : main.cpp ./vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
-   vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35.exe
-
diff --git a/SRC/Boost/libs/config/test/link/vc71.mak b/SRC/Boost/libs/config/test/link/vc71.mak
deleted file mode 100755
index 4795905..0000000
--- a/SRC/Boost/libs/config/test/link/vc71.mak
+++ /dev/null
@@ -1,260 +0,0 @@
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# auto generated makefile for VC6 compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-
-ALL_HEADER=
-
-all : main_dir liblink_test-vc71-s-1_35_dir ./vc71/liblink_test-vc71-s-1_35.lib ./vc71/liblink_test-vc71-s-1_35.exe liblink_test-vc71-mt-s-1_35_dir ./vc71/liblink_test-vc71-mt-s-1_35.lib ./vc71/liblink_test-vc71-mt-s-1_35.exe liblink_test-vc71-sgd-1_35_dir ./vc71/liblink_test-vc71-sgd-1_35.lib ./vc71/liblink_test-vc71-sgd-1_35.exe liblink_test-vc71-mt-sgd-1_35_dir ./vc71/liblink_test-vc71-mt-sgd-1_35.lib ./vc71/liblink_test-vc71-mt-sgd-1_35.exe link_test-vc71-mt-gd-1_35_dir ./vc71/link_t [...]
-
-clean :  liblink_test-vc71-s-1_35_clean liblink_test-vc71-mt-s-1_35_clean liblink_test-vc71-sgd-1_35_clean liblink_test-vc71-mt-sgd-1_35_clean link_test-vc71-mt-gd-1_35_clean link_test-vc71-mt-1_35_clean liblink_test-vc71-mt-1_35_clean liblink_test-vc71-mt-gd-1_35_clean
-
-install : all
-	copy vc71\liblink_test-vc71-s-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71\liblink_test-vc71-mt-s-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71\liblink_test-vc71-sgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71\liblink_test-vc71-sgd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc71\liblink_test-vc71-mt-sgd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71\liblink_test-vc71-mt-sgd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc71\link_test-vc71-mt-gd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71\link_test-vc71-mt-gd-1_35.dll "$(MSVCDIR)\bin"
-	copy vc71\link_test-vc71-mt-gd-1_35.pdb "$(MSVCDIR)\lib"
-	copy vc71\link_test-vc71-mt-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71\link_test-vc71-mt-1_35.dll "$(MSVCDIR)\bin"
-	copy vc71\liblink_test-vc71-mt-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71\liblink_test-vc71-mt-gd-1_35.lib "$(MSVCDIR)\lib"
-	copy vc71\liblink_test-vc71-mt-gd-1_35.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc71\$(NULL)" mkdir vc71
-
-
-########################################################
-#
-# section for liblink_test-vc71-s-1_35.lib
-#
-########################################################
-vc71/liblink_test-vc71-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD $(CXXFLAGS) -Y- -Fo./vc71/liblink_test-vc71-s-1_35/ -Fdvc71/liblink_test-vc71-s-1_35.pdb link_test.cpp
-
-liblink_test-vc71-s-1_35_dir :
-	@if not exist "vc71\liblink_test-vc71-s-1_35\$(NULL)" mkdir vc71\liblink_test-vc71-s-1_35
-
-liblink_test-vc71-s-1_35_clean :
-	del vc71\liblink_test-vc71-s-1_35\*.obj
-	del vc71\liblink_test-vc71-s-1_35\*.idb
-	del vc71\liblink_test-vc71-s-1_35\*.exp
-	del vc71\liblink_test-vc71-s-1_35\*.pch
-
-./vc71/liblink_test-vc71-s-1_35.lib : vc71/liblink_test-vc71-s-1_35/link_test.obj
-	link -lib /nologo /out:vc71/liblink_test-vc71-s-1_35.lib $(XSFLAGS)  vc71/liblink_test-vc71-s-1_35/link_test.obj
-
-./vc71/liblink_test-vc71-s-1_35.exe : main.cpp ./vc71/liblink_test-vc71-s-1_35.lib
-	cl $(INCLUDES) /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/liblink_test-vc71-s-1_35.exe main.cpp /link /LIBPATH:./vc71
-   vc71\liblink_test-vc71-s-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc71-mt-s-1_35.lib
-#
-########################################################
-vc71/liblink_test-vc71-mt-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  $(CXXFLAGS) -Y- -Fo./vc71/liblink_test-vc71-mt-s-1_35/ -Fdvc71/liblink_test-vc71-mt-s-1_35.pdb link_test.cpp
-
-liblink_test-vc71-mt-s-1_35_dir :
-	@if not exist "vc71\liblink_test-vc71-mt-s-1_35\$(NULL)" mkdir vc71\liblink_test-vc71-mt-s-1_35
-
-liblink_test-vc71-mt-s-1_35_clean :
-	del vc71\liblink_test-vc71-mt-s-1_35\*.obj
-	del vc71\liblink_test-vc71-mt-s-1_35\*.idb
-	del vc71\liblink_test-vc71-mt-s-1_35\*.exp
-	del vc71\liblink_test-vc71-mt-s-1_35\*.pch
-
-./vc71/liblink_test-vc71-mt-s-1_35.lib : vc71/liblink_test-vc71-mt-s-1_35/link_test.obj
-	link -lib /nologo /out:vc71/liblink_test-vc71-mt-s-1_35.lib $(XSFLAGS)  vc71/liblink_test-vc71-mt-s-1_35/link_test.obj
-
-./vc71/liblink_test-vc71-mt-s-1_35.exe : main.cpp ./vc71/liblink_test-vc71-mt-s-1_35.lib
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/liblink_test-vc71-mt-s-1_35.exe main.cpp /link /LIBPATH:./vc71
-   vc71\liblink_test-vc71-mt-s-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc71-sgd-1_35.lib
-#
-########################################################
-vc71/liblink_test-vc71-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1   $(CXXFLAGS) -Y- -Fo./vc71/liblink_test-vc71-sgd-1_35/ -Fdvc71/liblink_test-vc71-sgd-1_35.pdb link_test.cpp
-
-liblink_test-vc71-sgd-1_35_dir :
-	@if not exist "vc71\liblink_test-vc71-sgd-1_35\$(NULL)" mkdir vc71\liblink_test-vc71-sgd-1_35
-
-liblink_test-vc71-sgd-1_35_clean :
-	del vc71\liblink_test-vc71-sgd-1_35\*.obj
-	del vc71\liblink_test-vc71-sgd-1_35\*.idb
-	del vc71\liblink_test-vc71-sgd-1_35\*.exp
-	del vc71\liblink_test-vc71-sgd-1_35\*.pch
-
-./vc71/liblink_test-vc71-sgd-1_35.lib : vc71/liblink_test-vc71-sgd-1_35/link_test.obj
-	link -lib /nologo /out:vc71/liblink_test-vc71-sgd-1_35.lib $(XSFLAGS)  vc71/liblink_test-vc71-sgd-1_35/link_test.obj
-
-./vc71/liblink_test-vc71-sgd-1_35.exe : main.cpp ./vc71/liblink_test-vc71-sgd-1_35.lib
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1   /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/liblink_test-vc71-sgd-1_35.exe main.cpp /link /LIBPATH:./vc71
-   vc71\liblink_test-vc71-sgd-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc71-mt-sgd-1_35.lib
-#
-########################################################
-vc71/liblink_test-vc71-mt-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc71/liblink_test-vc71-mt-sgd-1_35/ -Fdvc71/liblink_test-vc71-mt-sgd-1_35.pdb link_test.cpp
-
-liblink_test-vc71-mt-sgd-1_35_dir :
-	@if not exist "vc71\liblink_test-vc71-mt-sgd-1_35\$(NULL)" mkdir vc71\liblink_test-vc71-mt-sgd-1_35
-
-liblink_test-vc71-mt-sgd-1_35_clean :
-	del vc71\liblink_test-vc71-mt-sgd-1_35\*.obj
-	del vc71\liblink_test-vc71-mt-sgd-1_35\*.idb
-	del vc71\liblink_test-vc71-mt-sgd-1_35\*.exp
-	del vc71\liblink_test-vc71-mt-sgd-1_35\*.pch
-
-./vc71/liblink_test-vc71-mt-sgd-1_35.lib : vc71/liblink_test-vc71-mt-sgd-1_35/link_test.obj
-	link -lib /nologo /out:vc71/liblink_test-vc71-mt-sgd-1_35.lib $(XSFLAGS)  vc71/liblink_test-vc71-mt-sgd-1_35/link_test.obj
-
-./vc71/liblink_test-vc71-mt-sgd-1_35.exe : main.cpp ./vc71/liblink_test-vc71-mt-sgd-1_35.lib
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/liblink_test-vc71-mt-sgd-1_35.exe main.cpp /link /LIBPATH:./vc71
-   vc71\liblink_test-vc71-mt-sgd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc71-mt-gd-1_35.lib
-#
-########################################################
-vc71/link_test-vc71-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc71/link_test-vc71-mt-gd-1_35/ -Fdvc71/link_test-vc71-mt-gd-1_35.pdb link_test.cpp
-
-link_test-vc71-mt-gd-1_35_dir :
-	@if not exist "vc71\link_test-vc71-mt-gd-1_35\$(NULL)" mkdir vc71\link_test-vc71-mt-gd-1_35
-
-link_test-vc71-mt-gd-1_35_clean :
-	del vc71\link_test-vc71-mt-gd-1_35\*.obj
-	del vc71\link_test-vc71-mt-gd-1_35\*.idb
-	del vc71\link_test-vc71-mt-gd-1_35\*.exp
-	del vc71\link_test-vc71-mt-gd-1_35\*.pch
-
-./vc71/link_test-vc71-mt-gd-1_35.lib : vc71/link_test-vc71-mt-gd-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71/link_test-vc71-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc71/link_test-vc71-mt-gd-1_35.dll" /implib:"vc71/link_test-vc71-mt-gd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc71/link_test-vc71-mt-gd-1_35/link_test.obj
-
-./vc71/link_test-vc71-mt-gd-1_35.exe : main.cpp ./vc71/link_test-vc71-mt-gd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/link_test-vc71-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc71
-   vc71\link_test-vc71-mt-gd-1_35.exe
-
-########################################################
-#
-# section for link_test-vc71-mt-1_35.lib
-#
-########################################################
-vc71/link_test-vc71-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  $(CXXFLAGS) -Y- -Fo./vc71/link_test-vc71-mt-1_35/ -Fdvc71/link_test-vc71-mt-1_35.pdb link_test.cpp
-
-link_test-vc71-mt-1_35_dir :
-	@if not exist "vc71\link_test-vc71-mt-1_35\$(NULL)" mkdir vc71\link_test-vc71-mt-1_35
-
-link_test-vc71-mt-1_35_clean :
-	del vc71\link_test-vc71-mt-1_35\*.obj
-	del vc71\link_test-vc71-mt-1_35\*.idb
-	del vc71\link_test-vc71-mt-1_35\*.exp
-	del vc71\link_test-vc71-mt-1_35\*.pch
-
-./vc71/link_test-vc71-mt-1_35.lib : vc71/link_test-vc71-mt-1_35/link_test.obj
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71/link_test-vc71-mt-1_35.pdb" /debug /machine:I386 /out:"vc71/link_test-vc71-mt-1_35.dll" /implib:"vc71/link_test-vc71-mt-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS)  vc71/link_test-vc71-mt-1_35/link_test.obj
-
-./vc71/link_test-vc71-mt-1_35.exe : main.cpp ./vc71/link_test-vc71-mt-1_35.lib
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/link_test-vc71-mt-1_35.exe main.cpp /link /LIBPATH:./vc71
-   vc71\link_test-vc71-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc71-mt-1_35.lib
-#
-########################################################
-vc71/liblink_test-vc71-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  $(CXXFLAGS) -Y- -Fo./vc71/liblink_test-vc71-mt-1_35/ -Fdvc71/liblink_test-vc71-mt-1_35.pdb link_test.cpp
-
-liblink_test-vc71-mt-1_35_dir :
-	@if not exist "vc71\liblink_test-vc71-mt-1_35\$(NULL)" mkdir vc71\liblink_test-vc71-mt-1_35
-
-liblink_test-vc71-mt-1_35_clean :
-	del vc71\liblink_test-vc71-mt-1_35\*.obj
-	del vc71\liblink_test-vc71-mt-1_35\*.idb
-	del vc71\liblink_test-vc71-mt-1_35\*.exp
-	del vc71\liblink_test-vc71-mt-1_35\*.pch
-
-./vc71/liblink_test-vc71-mt-1_35.lib : vc71/liblink_test-vc71-mt-1_35/link_test.obj
-	link -lib /nologo /out:vc71/liblink_test-vc71-mt-1_35.lib $(XSFLAGS)  vc71/liblink_test-vc71-mt-1_35/link_test.obj
-
-./vc71/liblink_test-vc71-mt-1_35.exe : main.cpp ./vc71/liblink_test-vc71-mt-1_35.lib
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/liblink_test-vc71-mt-1_35.exe main.cpp /link /LIBPATH:./vc71
-   vc71\liblink_test-vc71-mt-1_35.exe
-
-########################################################
-#
-# section for liblink_test-vc71-mt-gd-1_35.lib
-#
-########################################################
-vc71/liblink_test-vc71-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
-	cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1  $(CXXFLAGS) -Y- -Fo./vc71/liblink_test-vc71-mt-gd-1_35/ -Fdvc71/liblink_test-vc71-mt-gd-1_35.pdb link_test.cpp
-
-liblink_test-vc71-mt-gd-1_35_dir :
-	@if not exist "vc71\liblink_test-vc71-mt-gd-1_35\$(NULL)" mkdir vc71\liblink_test-vc71-mt-gd-1_35
-
-liblink_test-vc71-mt-gd-1_35_clean :
-	del vc71\liblink_test-vc71-mt-gd-1_35\*.obj
-	del vc71\liblink_test-vc71-mt-gd-1_35\*.idb
-	del vc71\liblink_test-vc71-mt-gd-1_35\*.exp
-	del vc71\liblink_test-vc71-mt-gd-1_35\*.pch
-
-./vc71/liblink_test-vc71-mt-gd-1_35.lib : vc71/liblink_test-vc71-mt-gd-1_35/link_test.obj
-	link -lib /nologo /out:vc71/liblink_test-vc71-mt-gd-1_35.lib $(XSFLAGS)  vc71/liblink_test-vc71-mt-gd-1_35/link_test.obj
-
-./vc71/liblink_test-vc71-mt-gd-1_35.exe : main.cpp ./vc71/liblink_test-vc71-mt-gd-1_35.lib
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1  /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/liblink_test-vc71-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc71
-   vc71\liblink_test-vc71-mt-gd-1_35.exe
-
diff --git a/SRC/Boost/libs/config/test/link/vc_gen.sh b/SRC/Boost/libs/config/test/link/vc_gen.sh
deleted file mode 100755
index 1ba46f3..0000000
--- a/SRC/Boost/libs/config/test/link/vc_gen.sh
+++ /dev/null
@@ -1,424 +0,0 @@
-#! /bin/bash
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-libname=""
-src=""
-header=""
-all_dep=""
-
-# current makefile:
-out=""
-# temporary file:
-tout=""
-# install target temp file:
-iout=""
-# debug flag:
-debug="no"
-# compile options:
-opts=""
-# main output sub-directory:
-subdir=""
-# extra debug /RTc options:
-debug_extra=""
-
-function vc6_gen_lib()
-{
-	all_dep="$all_dep $libname""_dir ./$subdir/$libname.lib ./$subdir/$libname.exe"
-	echo "	copy $subdir\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout
-	if test $debug == "yes"; then
-		echo "	copy $subdir\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout
-	fi
-#
-# set up section comments:
-	cat >> $tout << EOF
-########################################################
-#
-# section for $libname.lib
-#
-########################################################
-EOF
-#
-#	process source files:
-	all_obj=""
-	for file in $src
-	do
-		obj=`echo "$file" | sed 's/\(.*\)cpp/\1obj/g'`
-		obj="$subdir/$libname/$obj"
-		all_obj="$all_obj $obj"
-		echo "$obj: $file \$(ALL_HEADER)" >> $tout
-		echo "	cl /c \$(INCLUDES) $opts \$(CXXFLAGS) -Y- -Fo./$subdir/$libname/ -Fd$subdir/$libname.pdb $file" >> $tout
-		echo "" >> $tout
-	done
-#
-#	 now for the directories for this library:
-	echo "$libname"_dir : >> $tout
-	echo "	@if not exist \"$subdir\\$libname\\\$(NULL)\" mkdir $subdir\\$libname" >> $tout
-	echo "" >> $tout
-#
-#	 now for the clean options for this library:
-	all_clean="$all_clean $libname""_clean"
-	echo "$libname"_clean : >> $tout
-	echo "	del $subdir\\$libname\\"'*.obj' >> $tout
-	echo "	del $subdir\\$libname\\"'*.idb' >> $tout
-	echo "	del $subdir\\$libname\\"'*.exp' >> $tout
-	echo "	del $subdir\\$libname\\"'*.pch' >> $tout
-	echo "" >> $tout
-#
-#	 now for the main target for this library:
-	echo ./$subdir/$libname.lib : $all_obj >> $tout
-	echo "	link -lib /nologo /out:$subdir/$libname.lib \$(XSFLAGS) $all_obj" >> $tout
-	echo "" >> $tout
-#  now the test program:
-	echo ./$subdir/$libname.exe : main.cpp ./$subdir/$libname.lib >> $tout
-	echo "	cl \$(INCLUDES) $opts /DBOOST_LIB_DIAGNOSTIC=1 \$(CXXFLAGS) -o ./$subdir/$libname.exe main.cpp /link /LIBPATH:./$subdir" >> $tout
-	echo "   $subdir"'\'"$libname.exe" >> $tout
-	echo "" >> $tout
-}
-
-function vc6_gen_dll()
-{
-	all_dep="$all_dep $libname""_dir ./$subdir/$libname.lib ./$subdir/$libname.exe"
-	echo "	copy $subdir\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout
-	echo "	copy $subdir\\$libname.dll "'"$'"(MSVCDIR)\\bin"'"' >> $iout
-	if test $debug == "yes"; then
-		echo "	copy $subdir\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout
-	fi
-#
-# set up section comments:
-	cat >> $tout << EOF
-########################################################
-#
-# section for $libname.lib
-#
-########################################################
-EOF
-#
-#	process source files:
-	all_obj=""
-	for file in $src
-	do
-		obj=`echo "$file" | sed 's/\(.*\)cpp/\1obj/g'`
-		obj="$subdir/$libname/$obj"
-		all_obj="$all_obj $obj"
-		echo "$obj: $file \$(ALL_HEADER)" >> $tout
-		echo "	cl /c \$(INCLUDES) $opts \$(CXXFLAGS) -Y- -Fo./$subdir/$libname/ -Fd$subdir/$libname.pdb $file" >> $tout
-		echo "" >> $tout
-	done
-#
-#	 now for the directories for this library:
-	echo "$libname"_dir : >> $tout
-	echo "	@if not exist \"$subdir\\$libname\\\$(NULL)\" mkdir $subdir\\$libname" >> $tout
-	echo "" >> $tout
-#
-#	 now for the clean options for this library:
-	all_clean="$all_clean $libname""_clean"
-	echo "$libname"_clean : >> $tout
-	echo "	del $subdir\\$libname\\"'*.obj' >> $tout
-	echo "	del $subdir\\$libname\\"'*.idb' >> $tout
-	echo "	del $subdir\\$libname\\"'*.exp' >> $tout
-	echo "	del $subdir\\$libname\\"'*.pch' >> $tout
-	echo "" >> $tout
-#
-#	 now for the main target for this library:
-	echo ./$subdir/$libname.lib : $all_obj >> $tout
-	echo "	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:\"$subdir/$libname.pdb\" /debug /machine:I386 /out:\"$subdir/$libname.dll\" /implib:\"$subdir/$libname.lib\" /LIBPATH:\$(STLPORT_PATH)\\lib \$(XLFLAGS) $all_obj" >> $tout
-	echo "" >> $tout
-#  now the test program:
-	echo ./$subdir/$libname.exe : main.cpp ./$subdir/$libname.lib >> $tout
-	echo "	cl \$(INCLUDES) $opts /DBOOST_LIB_DIAGNOSTIC=1 \$(CXXFLAGS) -o ./$subdir/$libname.exe main.cpp /link /LIBPATH:./$subdir" >> $tout
-	echo "   $subdir"'\'"$libname.exe" >> $tout
-	echo "" >> $tout
-}
-
-is_stlport="no"
-
-function vc6_gen()
-{
-	debug="no"
-	tout="temp"
-	iout="temp_install"
-	all_dep="main_dir"
-	all_clean=""
-	echo > $out
-	echo > $tout
-	rm -f $iout
-	
-	libname="liblink_test-${subdir}-s-${boost_version}"
-	opts='/nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD'
-	vc6_gen_lib
-	
-	libname="liblink_test-${subdir}-mt-s-${boost_version}"
-	opts='/nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD '
-	vc6_gen_lib
-	
-	debug="yes"
-	libname="liblink_test-${subdir}-sgd-${boost_version}"
-	opts='/nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD '"$debug_extra"'  '
-	vc6_gen_lib
-	
-	libname="liblink_test-${subdir}-mt-sgd-${boost_version}"
-	opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD '"$debug_extra"' '
-	vc6_gen_lib
-	
-	libname="link_test-${subdir}-mt-gd-${boost_version}"
-	opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD '"$debug_extra"' '
-	vc6_gen_dll
-	
-	debug="no"
-	opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD '
-	libname="link_test-${subdir}-mt-${boost_version}"
-	vc6_gen_dll
-	
-	debug="no"
-	opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD '
-	libname="liblink_test-${subdir}-mt-${boost_version}"
-	vc6_gen_lib
-	
-	debug="yes"
-	libname="liblink_test-${subdir}-mt-gd-${boost_version}"
-	opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD '"$debug_extra"' '
-	vc6_gen_lib
-	
-	cat > $out << EOF
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# auto generated makefile for VC6 compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "\$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "\$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-EOF
-	echo "" >> $out
-	echo "ALL_HEADER=$header" >> $out
-	echo "" >> $out
-	echo "all : $all_dep" >> $out
-	echo >> $out
-	echo "clean : $all_clean" >> $out
-	echo >> $out
-	echo "install : all" >> $out
-	cat $iout >> $out
-	echo >> $out
-	echo main_dir : >> $out
-	echo "	@if not exist \"$subdir\\\$(NULL)\" mkdir $subdir" >> $out
-	echo "" >> $out
-
-	cat $tout >> $out
-}
-
-function vc6_stlp_gen()
-{
-	debug="no"
-	tout="temp"
-	iout="temp_install"
-	all_dep="main_dir"
-	all_clean=""
-	echo > $out
-	echo > $tout
-	rm -f $iout
-	
-	libname="liblink_test-${subdir}-mt-s-${boost_version}"
-	opts='/nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB '
-	vc6_gen_lib
-	
-	debug="true"
-	libname="liblink_test-${subdir}-mt-sgd-${boost_version}"
-	opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB '"$debug_extra"' '
-	vc6_gen_lib
-	
-	libname="link_test-${subdir}-mt-gd-${boost_version}"
-	opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' '
-	vc6_gen_dll
-	
-	debug="no"
-	opts='/nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL '
-	libname="link_test-${subdir}-mt-${boost_version}"
-	vc6_gen_dll
-	
-	debug="no"
-	opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL '
-	libname="liblink_test-${subdir}-mt-${boost_version}"
-	vc6_gen_lib
-	
-	debug="true"
-	libname="liblink_test-${subdir}-mt-gd-${boost_version}"
-	opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' '
-	vc6_gen_lib
-
-#  debug STLPort mode:
-#  not yet supported by bjam?
-	debug="yes"
-	opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' '
-	libname="link_test-${subdir}-mt-pgd-${boost_version}"
-	vc6_gen_dll
-	libname="liblink_test-${subdir}-mt-spgd-${boost_version}"
-	opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB '"$debug_extra"' '
-	vc6_gen_lib
-	opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' '
-	libname="liblink_test-${subdir}-mt-pgd-${boost_version}"
-	vc6_gen_lib
-	
-	cat > $out << EOF
-# copyright John Maddock 2005
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# auto generated makefile for VC6+STLPort
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "\$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "\$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "\$(STLPORT_PATH)" == ""
-!ERROR Variable STLPORT_PATH not set.
-!ENDIF
-
-EOF
-	echo "" >> $out
-	echo "ALL_HEADER=$header" >> $out
-	echo "" >> $out
-	echo "all : $all_dep" >> $out
-	echo >> $out
-	echo "clean : $all_clean" >> $out
-	echo >> $out
-	echo "install : stlport_check all" >> $out
-	cat $iout >> $out
-	echo >> $out
-	echo main_dir : >> $out
-	echo "	@if not exist \"$subdir\\\$(NULL)\" mkdir $subdir" >> $out
-	echo "" >> $out
-	echo 'stlport_check : $(STLPORT_PATH)\stlport\string' >> $out
-	echo "	echo" >> $out
-	echo "" >> $out
-
-	cat $tout >> $out
-}
-
-
-. common.sh
-
-#
-# generate vc6 makefile:
-debug_extra="/GX"
-out="vc6.mak"
-subdir="vc6"
-vc6_gen
-#
-# generate vc6-stlport makefile:
-is_stlport="yes"
-out="vc6-stlport.mak"
-no_single="yes"
-subdir="vc6-stlport"
-vc6_stlp_gen
-#
-# generate vc7 makefile:
-debug_extra="/GX /RTC1"
-is_stlport="no"
-out="vc7.mak"
-no_single="no"
-subdir="vc7"
-vc6_gen
-#
-# generate vc7-stlport makefile:
-is_stlport="yes"
-out="vc7-stlport.mak"
-no_single="yes"
-subdir="vc7-stlport"
-vc6_stlp_gen
-#
-# generate vc71 makefile:
-is_stlport="no"
-out="vc71.mak"
-no_single="no"
-subdir="vc71"
-vc6_gen
-#
-# generate vc71-stlport makefile:
-is_stlport="yes"
-out="vc71-stlport.mak"
-no_single="yes"
-subdir="vc71-stlport"
-vc6_stlp_gen
-
-
-#
-# remove tmep files;
-rm -f $tout $iout
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/math_info.cpp b/SRC/Boost/libs/config/test/math_info.cpp
deleted file mode 100755
index 6a9241c..0000000
--- a/SRC/Boost/libs/config/test/math_info.cpp
+++ /dev/null
@@ -1,365 +0,0 @@
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config/test for most recent version.
-
-//
-// This test prints out informative information about <math.h>, <float.h>
-// and <limits>.  Note that this file does require a correctly configured
-// Boost setup, and so can't be folded into config_info which is designed
-// to function without Boost.Confg support.  Each test is documented in
-// more detail below.
-//
-
-#include <boost/limits.hpp>
-#include <limits.h>
-#include <math.h>
-#include <cmath>
-#include <float.h>
-#include <iostream>
-#include <iomanip>
-#include <cstring>
-#include <boost/type_traits/alignment_of.hpp>
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{ using ::strcmp; using ::pow; using ::fabs; using ::sqrt; using ::sin; using ::atan2; }
-#endif
-
-static unsigned int indent = 4;
-static unsigned int width = 40;
-
-void print_macro(const char* name, const char* value)
-{
-   // if name == value+1 then then macro is not defined,
-   // in which case we don't print anything:
-   if(0 != std::strcmp(name, value+1))
-   {
-      for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
-      std::cout << std::setw(width);
-      std::cout.setf(std::istream::left, std::istream::adjustfield);
-      std::cout << name;
-      if(value[1])
-      {
-         // macro has a value:
-         std::cout << value << "\n";
-      }
-      else
-      {
-         // macro is defined but has no value:
-         std::cout << " [no value]\n";
-      }
-   }
-}
-
-#define PRINT_MACRO(X) print_macro(#X, BOOST_STRINGIZE(=X))
-
-template <class T>
-void print_expression(const char* expression, T val)
-{
-   for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
-   std::cout << std::setw(width);
-   std::cout.setf(std::istream::left, std::istream::adjustfield);
-   std::cout << std::setprecision(std::numeric_limits<T>::digits10+2);
-   std::cout << expression << "=" << val << std::endl;
-}
-
-#define PRINT_EXPRESSION(E) print_expression(#E, E);
-
-
-template <class T>
-void print_limits(T, const char* name)
-{
-   //
-   // Output general information on numeric_limits, as well as 
-   // probing known and supected problems.
-   //
-   std::cout << 
-      "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
-      "std::numeric_limits information for type " << name << std::endl;
-   std::cout << 
-      "    is_specialized       = " << std::numeric_limits<T>::is_specialized << std::endl;
-   std::cout << 
-      "    min" "()                = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::min)() << std::endl;
-   std::cout << 
-      "    max" "()                = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::max)() << std::endl;
-   std::cout << 
-      "    digits               = " << std::numeric_limits<T>::digits << std::endl;
-   std::cout << 
-      "    digits10             = " << std::numeric_limits<T>::digits10 << std::endl;
-   std::cout << 
-      "    is_signed            = " << std::numeric_limits<T>::is_signed << std::endl;
-   std::cout << 
-      "    is_integer           = " << std::numeric_limits<T>::is_integer << std::endl;
-   std::cout << 
-      "    is_exact             = " << std::numeric_limits<T>::is_exact << std::endl;
-   std::cout << 
-      "    radix                = " << std::numeric_limits<T>::radix << std::endl;
-
-   std::cout << 
-      "    epsilon()            = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::epsilon)() << std::endl;
-   std::cout << 
-      "    round_error()        = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::round_error)() << std::endl;
-
-   std::cout << 
-      "    min_exponent         = " << std::numeric_limits<T>::min_exponent << std::endl;
-   std::cout << 
-      "    min_exponent10       = " << std::numeric_limits<T>::min_exponent10 << std::endl;
-   std::cout << 
-      "    max_exponent         = " << std::numeric_limits<T>::max_exponent << std::endl;
-   std::cout << 
-      "    max_exponent10       = " << std::numeric_limits<T>::max_exponent10 << std::endl;
-   std::cout << 
-      "    has_infinity         = " << std::numeric_limits<T>::has_infinity << std::endl;
-   std::cout << 
-      "    has_quiet_NaN        = " << std::numeric_limits<T>::has_quiet_NaN << std::endl;
-   std::cout << 
-      "    has_signaling_NaN    = " << std::numeric_limits<T>::has_signaling_NaN << std::endl;
-   std::cout << 
-      "    has_denorm           = " << std::numeric_limits<T>::has_denorm << std::endl;
-   std::cout << 
-      "    has_denorm_loss      = " << std::numeric_limits<T>::has_denorm_loss << std::endl;
-
-   std::cout << 
-      "    infinity()           = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::infinity)() << std::endl;
-   std::cout << 
-      "    quiet_NaN()          = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::quiet_NaN)() << std::endl;
-   std::cout << 
-      "    signaling_NaN()      = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::signaling_NaN)() << std::endl;
-   std::cout << 
-      "    denorm_min()         = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::denorm_min)() << std::endl;
-   
-
-   std::cout << 
-      "    is_iec559            = " << std::numeric_limits<T>::is_iec559 << std::endl;
-   std::cout << 
-      "    is_bounded           = " << std::numeric_limits<T>::is_bounded << std::endl;
-   std::cout << 
-      "    is_modulo            = " << std::numeric_limits<T>::is_modulo << std::endl;
-   std::cout << 
-      "    traps                = " << std::numeric_limits<T>::traps << std::endl;
-   std::cout << 
-      "    tinyness_before      = " << std::numeric_limits<T>::tinyness_before << std::endl;
-   std::cout << 
-      "    round_style          = " << std::numeric_limits<T>::round_style << std::endl << std::endl;
-
-   if(std::numeric_limits<T>::is_exact == 0)
-   {
-      bool r = std::numeric_limits<T>::epsilon() == std::pow(static_cast<T>(std::numeric_limits<T>::radix), 1-std::numeric_limits<T>::digits);
-      if(r)
-         std::cout << "Epsilon has sane value of std::pow(std::numeric_limits<T>::radix, 1-std::numeric_limits<T>::digits)." << std::endl;
-      else
-         std::cout << "CAUTION: epsilon does not have a sane value." << std::endl;
-      std::cout << std::endl;
-   }
-   std::cout << 
-      "    sizeof(" << name << ") = " << sizeof(T) << std::endl;
-   std::cout << 
-      "    alignment_of<" << name << "> = " << boost::alignment_of<T>::value << std::endl << std::endl;
-}
-/*
-template <class T>
-bool is_same_type(T, T)
-{
-   return true;
-}*/
-bool is_same_type(float, float)
-{ return true; }
-bool is_same_type(double, double)
-{ return true; }
-bool is_same_type(long double, long double)
-{ return true; }
-template <class T, class U>
-bool is_same_type(T, U)
-{
-   return false;
-}
-
-//
-// We need this to test whether abs has been overloaded for
-// the floating point types or not:
-//
-namespace std{
-#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300) && \
-    !defined(_LIBCPP_VERSION)
-template <class T>
-char abs(T)
-{
-   return ' ';
-}
-#endif
-}
-
-
-template <class T>
-void test_overloads(T, const char* name)
-{
-   //
-   // Probe known and suspected problems with the std lib Math functions.
-   //
-   std::cout << 
-      "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
-      "Math function overload information for type " << name << std::endl;
-
-   //
-   // Are the math functions overloaded for type T,
-   // or do we just get double versions?
-   //
-   bool r = is_same_type(std::fabs(T(0)), T(0));
-   r &= is_same_type(std::sqrt(T(0)), T(0));
-   r &= is_same_type(std::sin(T(0)), T(0));
-   if(r)
-      std::cout << "The Math functions are overloaded for type " << name << std::endl;
-   else
-      std::cout << "CAUTION: The Math functions are NOT overloaded for type " << name << std::endl;
-
-   //
-   // Check that a few of the functions work OK, we do this because if these
-   // are implemented as double precision internally then we can get
-   // overflow or underflow when passing arguments of other types.
-   //
-   r = (std::fabs((std::numeric_limits<T>::max)()) == (std::numeric_limits<T>::max)());
-   r &= (std::fabs(-(std::numeric_limits<T>::max)()) == (std::numeric_limits<T>::max)());
-   r &= (std::fabs((std::numeric_limits<T>::min)()) == (std::numeric_limits<T>::min)());
-   r &= (std::fabs(-(std::numeric_limits<T>::min)()) == (std::numeric_limits<T>::min)());
-   if(r)
-      std::cout << "std::fabs looks OK for type " << name << std::endl;
-   else
-      std::cout << "CAUTION: std::fabs is broken for type " << name << std::endl;
-
-   //
-   // abs not overloaded for real arguments with VC6 (and others?)
-   //
-   r = (std::abs((std::numeric_limits<T>::max)()) == (std::numeric_limits<T>::max)());
-   r &= (std::abs(-(std::numeric_limits<T>::max)()) == (std::numeric_limits<T>::max)());
-   r &= (std::abs((std::numeric_limits<T>::min)()) == (std::numeric_limits<T>::min)());
-   r &= (std::abs(-(std::numeric_limits<T>::min)()) == (std::numeric_limits<T>::min)());
-   if(r)
-      std::cout << "std::abs looks OK for type " << name << std::endl;
-   else
-      std::cout << "CAUTION: std::abs is broken for type " << name << std::endl;
-
-   //
-   // std::sqrt on FreeBSD converts long double arguments to double leading to
-   // overflow/underflow:
-   //
-   r = (std::sqrt((std::numeric_limits<T>::max)()) < (std::numeric_limits<T>::max)());
-   if(r)
-      std::cout << "std::sqrt looks OK for type " << name << std::endl;
-   else
-      std::cout << "CAUTION: std::sqrt is broken for type " << name << std::endl;
-
-   //
-   // Sanity check for atan2: verify that it returns arguments in the correct
-   // range and not just atan(x/y).
-   //
-   static const T half_pi = static_cast<T>(1.57079632679489661923132169163975144L);
-
-   T val = std::atan2(T(-1), T(-1));
-   r = -half_pi > val;
-   val = std::atan2(T(1), T(-1));
-   r &= half_pi < val;
-   val = std::atan2(T(1), T(1));
-   r &= (val > 0) && (val < half_pi);
-   val = std::atan2(T(-1), T(1));
-   r &= (val < 0) && (val > -half_pi);
-   if(r)
-      std::cout << "std::atan2 looks OK for type " << name << std::endl;
-   else
-      std::cout << "CAUTION: std::atan2 is broken for type " << name << std::endl;
-}
-
-
-
-int main()
-{
-   //
-   // Start by printing the values of the macros from float.h
-   //
-   std::cout << 
-      "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
-      "Macros from <math.h>" << std::endl;
-
-#ifdef __BORLANDC__
-   // Turn off hardware exceptions so we don't just abort 
-   // when calling numeric_limits members.
-   _control87(MCW_EM,MCW_EM);
-#endif
-
-   PRINT_EXPRESSION(HUGE_VAL);
-#ifdef HUGE_VALF
-   PRINT_EXPRESSION(HUGE_VALF);
-#endif
-#ifdef HUGE_VALL
-   PRINT_EXPRESSION(HUGE_VALL);
-#endif
-#ifdef INFINITY
-   PRINT_EXPRESSION(INFINITY);
-#endif
-
-   PRINT_MACRO(NAN);
-   PRINT_MACRO(FP_INFINITE);
-   PRINT_MACRO(FP_NAN);
-   PRINT_MACRO(FP_NORMAL);
-   PRINT_MACRO(FP_SUBNORMAL);
-   PRINT_MACRO(FP_ZERO);
-   PRINT_MACRO(FP_FAST_FMA);
-   PRINT_MACRO(FP_FAST_FMAF);
-   PRINT_MACRO(FP_FAST_FMAL);
-   PRINT_MACRO(FP_ILOGB0);
-   PRINT_MACRO(FP_ILOGBNAN);
-   PRINT_MACRO(MATH_ERRNO);
-   PRINT_MACRO(MATH_ERREXCEPT);
-
-   PRINT_EXPRESSION(FLT_MIN_10_EXP);
-   PRINT_EXPRESSION(FLT_DIG);
-   PRINT_EXPRESSION(FLT_MIN_EXP);
-   PRINT_EXPRESSION(FLT_EPSILON);
-   PRINT_EXPRESSION(FLT_RADIX);
-   PRINT_EXPRESSION(FLT_MANT_DIG);
-   PRINT_EXPRESSION(FLT_ROUNDS);
-   PRINT_EXPRESSION(FLT_MAX);
-   PRINT_EXPRESSION(FLT_MAX_10_EXP);
-   PRINT_EXPRESSION(FLT_MAX_EXP);
-   PRINT_EXPRESSION(FLT_MIN);
-   PRINT_EXPRESSION(DBL_DIG);
-   PRINT_EXPRESSION(DBL_MIN_EXP);
-   PRINT_EXPRESSION(DBL_EPSILON);
-   PRINT_EXPRESSION(DBL_MANT_DIG);
-   PRINT_EXPRESSION(DBL_MAX);
-   PRINT_EXPRESSION(DBL_MIN);
-   PRINT_EXPRESSION(DBL_MAX_10_EXP);
-   PRINT_EXPRESSION(DBL_MAX_EXP);
-   PRINT_EXPRESSION(DBL_MIN_10_EXP);
-   PRINT_EXPRESSION(LDBL_MAX_10_EXP);
-   PRINT_EXPRESSION(LDBL_MAX_EXP);
-   PRINT_EXPRESSION(LDBL_MIN);
-   PRINT_EXPRESSION(LDBL_MIN_10_EXP);
-   PRINT_EXPRESSION(LDBL_DIG);
-   PRINT_EXPRESSION(LDBL_MIN_EXP);
-   PRINT_EXPRESSION(LDBL_EPSILON);
-   PRINT_EXPRESSION(LDBL_MANT_DIG);
-   PRINT_EXPRESSION(LDBL_MAX);
-
-   std::cout << std::endl;
-
-   //
-   // print out numeric_limits info:
-   //
-   print_limits(float(0), "float");
-   print_limits(double(0), "double");
-   print_limits((long double)(0), "long double");
-
-   //
-   // print out function overload information:
-   //
-   test_overloads(float(0), "float");
-   test_overloads(double(0), "double");
-   test_overloads((long double)(0), "long double");
-   return 0;
-}
-
-
-
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_array_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_array_fail.cpp
deleted file mode 100755
index cb5a0b9..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_array_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 12:10:32 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_array_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_ARRAY
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_ARRAY should not be defined.
-// See file boost_no_0x_hdr_array.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_ARRAY
-#include "boost_no_0x_hdr_array.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_array::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_array_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_array_pass.cpp
deleted file mode 100755
index 74f1dd5..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_array_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 12:10:32 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_array_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_ARRAY
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_ARRAY should be defined.
-// See file boost_no_0x_hdr_array.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_ARRAY
-#include "boost_no_0x_hdr_array.ipp"
-#else
-namespace boost_no_0x_hdr_array = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_array::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_chrono_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_chrono_fail.cpp
deleted file mode 100755
index 47617cf..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_chrono_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_chrono_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_CHRONO
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_CHRONO should not be defined.
-// See file boost_no_0x_hdr_chrono.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_CHRONO
-#include "boost_no_0x_hdr_chrono.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_chrono::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_chrono_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_chrono_pass.cpp
deleted file mode 100755
index 5e08d6c..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_chrono_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_chrono_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_CHRONO
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_CHRONO should be defined.
-// See file boost_no_0x_hdr_chrono.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_CHRONO
-#include "boost_no_0x_hdr_chrono.ipp"
-#else
-namespace boost_no_0x_hdr_chrono = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_chrono::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_codecvt_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_codecvt_fail.cpp
deleted file mode 100755
index f636d80..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_codecvt_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_codecvt_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_CODECVT
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_CODECVT should not be defined.
-// See file boost_no_0x_hdr_codecvt.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_CODECVT
-#include "boost_no_0x_hdr_codecvt.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_codecvt::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_codecvt_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_codecvt_pass.cpp
deleted file mode 100755
index 51acf42..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_codecvt_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_codecvt_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_CODECVT
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_CODECVT should be defined.
-// See file boost_no_0x_hdr_codecvt.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_CODECVT
-#include "boost_no_0x_hdr_codecvt.ipp"
-#else
-namespace boost_no_0x_hdr_codecvt = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_codecvt::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_condition_variable_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_condition_variable_fail.cpp
deleted file mode 100755
index c07852c..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_condition_variable_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_condition_variable_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_CONDITION_VARIABLE
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_CONDITION_VARIABLE should not be defined.
-// See file boost_no_0x_hdr_condition_variable.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#include "boost_no_0x_hdr_condition_variable.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_condition_variable::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_condition_variable_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_condition_variable_pass.cpp
deleted file mode 100755
index 274e342..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_condition_variable_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_condition_variable_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_CONDITION_VARIABLE
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_CONDITION_VARIABLE should be defined.
-// See file boost_no_0x_hdr_condition_variable.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#include "boost_no_0x_hdr_condition_variable.ipp"
-#else
-namespace boost_no_0x_hdr_condition_variable = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_condition_variable::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_forward_list_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_forward_list_fail.cpp
deleted file mode 100755
index 8398f35..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_forward_list_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_forward_list_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_FORWARD_LIST
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_FORWARD_LIST should not be defined.
-// See file boost_no_0x_hdr_forward_list.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_FORWARD_LIST
-#include "boost_no_0x_hdr_forward_list.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_forward_list::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_forward_list_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_forward_list_pass.cpp
deleted file mode 100755
index 5f5919e..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_forward_list_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_forward_list_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_FORWARD_LIST
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_FORWARD_LIST should be defined.
-// See file boost_no_0x_hdr_forward_list.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_FORWARD_LIST
-#include "boost_no_0x_hdr_forward_list.ipp"
-#else
-namespace boost_no_0x_hdr_forward_list = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_forward_list::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_future_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_future_fail.cpp
deleted file mode 100755
index 94701b9..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_future_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_future_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_FUTURE
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_FUTURE should not be defined.
-// See file boost_no_0x_hdr_future.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_FUTURE
-#include "boost_no_0x_hdr_future.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_future::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_future_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_future_pass.cpp
deleted file mode 100755
index 4181f0c..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_future_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_future_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_FUTURE
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_FUTURE should be defined.
-// See file boost_no_0x_hdr_future.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_FUTURE
-#include "boost_no_0x_hdr_future.ipp"
-#else
-namespace boost_no_0x_hdr_future = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_future::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_initializer_list_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_initializer_list_fail.cpp
deleted file mode 100755
index 80bb5cf..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_initializer_list_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_initializer_list_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_INITIALIZER_LIST
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_INITIALIZER_LIST should not be defined.
-// See file boost_no_0x_hdr_initializer_list.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_INITIALIZER_LIST
-#include "boost_no_0x_hdr_initializer_list.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_initializer_list::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_initializer_list_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_initializer_list_pass.cpp
deleted file mode 100755
index caf008c..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_initializer_list_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_initializer_list_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_INITIALIZER_LIST
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_INITIALIZER_LIST should be defined.
-// See file boost_no_0x_hdr_initializer_list.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_INITIALIZER_LIST
-#include "boost_no_0x_hdr_initializer_list.ipp"
-#else
-namespace boost_no_0x_hdr_initializer_list = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_initializer_list::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_mutex_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_mutex_fail.cpp
deleted file mode 100755
index a759296..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_mutex_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_mutex_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_MUTEX
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_MUTEX should not be defined.
-// See file boost_no_0x_hdr_mutex.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_MUTEX
-#include "boost_no_0x_hdr_mutex.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_mutex::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_mutex_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_mutex_pass.cpp
deleted file mode 100755
index 2c5b74e..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_mutex_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_mutex_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_MUTEX
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_MUTEX should be defined.
-// See file boost_no_0x_hdr_mutex.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_MUTEX
-#include "boost_no_0x_hdr_mutex.ipp"
-#else
-namespace boost_no_0x_hdr_mutex = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_mutex::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_random_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_random_fail.cpp
deleted file mode 100755
index 9e21b98..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_random_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_random_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_RANDOM
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_RANDOM should not be defined.
-// See file boost_no_0x_hdr_random.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_RANDOM
-#include "boost_no_0x_hdr_random.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_random::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_random_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_random_pass.cpp
deleted file mode 100755
index a1089cf..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_random_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_random_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_RANDOM
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_RANDOM should be defined.
-// See file boost_no_0x_hdr_random.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_RANDOM
-#include "boost_no_0x_hdr_random.ipp"
-#else
-namespace boost_no_0x_hdr_random = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_random::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_ratio_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_ratio_fail.cpp
deleted file mode 100755
index 27fa861..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_ratio_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_ratio_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_RATIO
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_RATIO should not be defined.
-// See file boost_no_0x_hdr_ratio.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_RATIO
-#include "boost_no_0x_hdr_ratio.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_ratio::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_ratio_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_ratio_pass.cpp
deleted file mode 100755
index 8692564..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_ratio_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_ratio_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_RATIO
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_RATIO should be defined.
-// See file boost_no_0x_hdr_ratio.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_RATIO
-#include "boost_no_0x_hdr_ratio.ipp"
-#else
-namespace boost_no_0x_hdr_ratio = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_ratio::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_regex_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_regex_fail.cpp
deleted file mode 100755
index 75d7400..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_regex_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_regex_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_REGEX
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_REGEX should not be defined.
-// See file boost_no_0x_hdr_regex.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_REGEX
-#include "boost_no_0x_hdr_regex.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_regex::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_regex_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_regex_pass.cpp
deleted file mode 100755
index ef52519..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_regex_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_regex_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_REGEX
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_REGEX should be defined.
-// See file boost_no_0x_hdr_regex.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_REGEX
-#include "boost_no_0x_hdr_regex.ipp"
-#else
-namespace boost_no_0x_hdr_regex = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_regex::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_system_error_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_system_error_fail.cpp
deleted file mode 100755
index 2d6e641..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_system_error_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_system_error_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_SYSTEM_ERROR
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_SYSTEM_ERROR should not be defined.
-// See file boost_no_0x_hdr_system_error.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_SYSTEM_ERROR
-#include "boost_no_0x_hdr_system_error.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_system_error::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_system_error_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_system_error_pass.cpp
deleted file mode 100755
index 912ff3a..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_system_error_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_system_error_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_SYSTEM_ERROR
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_SYSTEM_ERROR should be defined.
-// See file boost_no_0x_hdr_system_error.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_SYSTEM_ERROR
-#include "boost_no_0x_hdr_system_error.ipp"
-#else
-namespace boost_no_0x_hdr_system_error = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_system_error::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_thread_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_thread_fail.cpp
deleted file mode 100755
index de6b738..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_thread_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 12:45:15 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_thread_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_THREAD
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_THREAD should not be defined.
-// See file boost_no_0x_hdr_thread.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_THREAD
-#include "boost_no_0x_hdr_thread.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_thread::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_thread_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_thread_pass.cpp
deleted file mode 100755
index 0bb7828..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_thread_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 12:45:15 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_thread_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_THREAD
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_THREAD should be defined.
-// See file boost_no_0x_hdr_thread.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_THREAD
-#include "boost_no_0x_hdr_thread.ipp"
-#else
-namespace boost_no_0x_hdr_thread = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_thread::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_tuple_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_tuple_fail.cpp
deleted file mode 100755
index 78559e4..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_tuple_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_tuple_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_TUPLE
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_TUPLE should not be defined.
-// See file boost_no_0x_hdr_tuple.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_TUPLE
-#include "boost_no_0x_hdr_tuple.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_tuple::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_tuple_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_tuple_pass.cpp
deleted file mode 100755
index 9d6b43b..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_tuple_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_tuple_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_TUPLE
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_TUPLE should be defined.
-// See file boost_no_0x_hdr_tuple.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_TUPLE
-#include "boost_no_0x_hdr_tuple.ipp"
-#else
-namespace boost_no_0x_hdr_tuple = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_tuple::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_type_traits_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_type_traits_fail.cpp
deleted file mode 100755
index d446e41..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_type_traits_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_type_traits_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_TYPE_TRAITS
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_TYPE_TRAITS should not be defined.
-// See file boost_no_0x_hdr_type_traits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_TYPE_TRAITS
-#include "boost_no_0x_hdr_type_traits.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_type_traits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_type_traits_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_type_traits_pass.cpp
deleted file mode 100755
index 101a781..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_type_traits_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_type_traits_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_TYPE_TRAITS
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_TYPE_TRAITS should be defined.
-// See file boost_no_0x_hdr_type_traits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_TYPE_TRAITS
-#include "boost_no_0x_hdr_type_traits.ipp"
-#else
-namespace boost_no_0x_hdr_type_traits = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_type_traits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_typeindex_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_typeindex_fail.cpp
deleted file mode 100755
index bebd01e..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_typeindex_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri Jun 04 12:51:34 2010
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_TYPEINDEX
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_TYPEINDEX should not be defined.
-// See file boost_no_0x_hdr_typeindex.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_TYPEINDEX
-#include "boost_no_0x_hdr_typeindex.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_typeindex::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_typeindex_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_typeindex_pass.cpp
deleted file mode 100755
index 43458da..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_typeindex_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri Jun 04 12:51:34 2010
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_TYPEINDEX
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_TYPEINDEX should be defined.
-// See file boost_no_0x_hdr_typeindex.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_TYPEINDEX
-#include "boost_no_0x_hdr_typeindex.ipp"
-#else
-namespace boost_no_0x_hdr_typeindex = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_typeindex::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_unordered_map_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_unordered_map_fail.cpp
deleted file mode 100755
index e1095dc..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_unordered_map_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_unordered_map_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_UNORDERED_MAP
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_UNORDERED_MAP should not be defined.
-// See file boost_no_0x_hdr_unordered_map.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_UNORDERED_MAP
-#include "boost_no_0x_hdr_unordered_map.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_unordered_map::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_unordered_map_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_unordered_map_pass.cpp
deleted file mode 100755
index c0889dc..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_unordered_map_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_unordered_map_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_UNORDERED_MAP
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_UNORDERED_MAP should be defined.
-// See file boost_no_0x_hdr_unordered_map.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_UNORDERED_MAP
-#include "boost_no_0x_hdr_unordered_map.ipp"
-#else
-namespace boost_no_0x_hdr_unordered_map = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_unordered_map::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_unordered_set_fail.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_unordered_set_fail.cpp
deleted file mode 100755
index 127d65b..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_unordered_set_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_unordered_set_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_UNORDERED_SET
-// This file should not compile, if it does then
-// BOOST_NO_0X_HDR_UNORDERED_SET should not be defined.
-// See file boost_no_0x_hdr_unordered_set.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_0X_HDR_UNORDERED_SET
-#include "boost_no_0x_hdr_unordered_set.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_unordered_set::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_0x_hdr_unordered_set_pass.cpp b/SRC/Boost/libs/config/test/no_0x_hdr_unordered_set_pass.cpp
deleted file mode 100755
index 1f9dc8f..0000000
--- a/SRC/Boost/libs/config/test/no_0x_hdr_unordered_set_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri May 15 11:57:42 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_0x_hdr_unordered_set_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_0X_HDR_UNORDERED_SET
-// This file should compile, if it does not then
-// BOOST_NO_0X_HDR_UNORDERED_SET should be defined.
-// See file boost_no_0x_hdr_unordered_set.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_0X_HDR_UNORDERED_SET
-#include "boost_no_0x_hdr_unordered_set.ipp"
-#else
-namespace boost_no_0x_hdr_unordered_set = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_0x_hdr_unordered_set::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_adl_barrier_fail.cpp b/SRC/Boost/libs/config/test/no_adl_barrier_fail.cpp
deleted file mode 100755
index 2f1d31b..0000000
--- a/SRC/Boost/libs/config/test/no_adl_barrier_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri Mar 28 16:52:13 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 40184 2007-10-19 12:46:54Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_ADL_BARRIER
-// This file should not compile, if it does then
-// BOOST_NO_ADL_BARRIER should not be defined.
-// See file boost_no_adl_barrier.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_ADL_BARRIER
-#include "boost_no_adl_barrier.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_adl_barrier::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_adl_barrier_pass.cpp b/SRC/Boost/libs/config/test/no_adl_barrier_pass.cpp
deleted file mode 100755
index c5468a7..0000000
--- a/SRC/Boost/libs/config/test/no_adl_barrier_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri Mar 28 16:52:13 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 40184 2007-10-19 12:46:54Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_ADL_BARRIER
-// This file should compile, if it does not then
-// BOOST_NO_ADL_BARRIER should be defined.
-// See file boost_no_adl_barrier.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_ADL_BARRIER
-#include "boost_no_adl_barrier.ipp"
-#else
-namespace boost_no_adl_barrier = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_adl_barrier::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_arg_dep_lookup_fail.cpp b/SRC/Boost/libs/config/test/no_arg_dep_lookup_fail.cpp
deleted file mode 100755
index 336b6e3..0000000
--- a/SRC/Boost/libs/config/test/no_arg_dep_lookup_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-// This file should not compile, if it does then
-// BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP should not be defined.
-// See file boost_no_arg_dep_lookup.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#include "boost_no_arg_dep_lookup.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_argument_dependent_lookup::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_arg_dep_lookup_pass.cpp b/SRC/Boost/libs/config/test/no_arg_dep_lookup_pass.cpp
deleted file mode 100755
index 4794d77..0000000
--- a/SRC/Boost/libs/config/test/no_arg_dep_lookup_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-// This file should compile, if it does not then
-// BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP should be defined.
-// See file boost_no_arg_dep_lookup.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#include "boost_no_arg_dep_lookup.ipp"
-#else
-namespace boost_no_argument_dependent_lookup = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_argument_dependent_lookup::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_array_type_spec_fail.cpp b/SRC/Boost/libs/config/test/no_array_type_spec_fail.cpp
deleted file mode 100755
index 257a9fc..0000000
--- a/SRC/Boost/libs/config/test/no_array_type_spec_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-// This file should not compile, if it does then
-// BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS should not be defined.
-// See file boost_no_array_type_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-#include "boost_no_array_type_spec.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_array_type_specializations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_array_type_spec_pass.cpp b/SRC/Boost/libs/config/test/no_array_type_spec_pass.cpp
deleted file mode 100755
index b23f1e3..0000000
--- a/SRC/Boost/libs/config/test/no_array_type_spec_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-// This file should compile, if it does not then
-// BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS should be defined.
-// See file boost_no_array_type_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-#include "boost_no_array_type_spec.ipp"
-#else
-namespace boost_no_array_type_specializations = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_array_type_specializations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_auto_declarations_fail.cpp b/SRC/Boost/libs/config/test/no_auto_declarations_fail.cpp
deleted file mode 100755
index 20cc9b9..0000000
--- a/SRC/Boost/libs/config/test/no_auto_declarations_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Mar 12 17:32:04 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_auto_declarations_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_AUTO_DECLARATIONS
-// This file should not compile, if it does then
-// BOOST_NO_AUTO_DECLARATIONS should not be defined.
-// See file boost_no_auto_declarations.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_AUTO_DECLARATIONS
-#include "boost_no_auto_declarations.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_auto_declarations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_auto_declarations_pass.cpp b/SRC/Boost/libs/config/test/no_auto_declarations_pass.cpp
deleted file mode 100755
index c4ec445..0000000
--- a/SRC/Boost/libs/config/test/no_auto_declarations_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Mar 12 17:32:04 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_auto_declarations_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_AUTO_DECLARATIONS
-// This file should compile, if it does not then
-// BOOST_NO_AUTO_DECLARATIONS should be defined.
-// See file boost_no_auto_declarations.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_AUTO_DECLARATIONS
-#include "boost_no_auto_declarations.ipp"
-#else
-namespace boost_no_auto_declarations = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_auto_declarations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_auto_multidecl_fail.cpp b/SRC/Boost/libs/config/test/no_auto_multidecl_fail.cpp
deleted file mode 100755
index f681309..0000000
--- a/SRC/Boost/libs/config/test/no_auto_multidecl_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Mar 12 17:32:04 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_auto_multidecl_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_AUTO_MULTIDECLARATIONS
-// This file should not compile, if it does then
-// BOOST_NO_AUTO_MULTIDECLARATIONS should not be defined.
-// See file boost_no_auto_multidecl.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_AUTO_MULTIDECLARATIONS
-#include "boost_no_auto_multidecl.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_auto_multideclarations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_auto_multidecl_pass.cpp b/SRC/Boost/libs/config/test/no_auto_multidecl_pass.cpp
deleted file mode 100755
index aa5d71f..0000000
--- a/SRC/Boost/libs/config/test/no_auto_multidecl_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Mar 12 17:32:04 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_auto_multidecl_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_AUTO_MULTIDECLARATIONS
-// This file should compile, if it does not then
-// BOOST_NO_AUTO_MULTIDECLARATIONS should be defined.
-// See file boost_no_auto_multidecl.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_AUTO_MULTIDECLARATIONS
-#include "boost_no_auto_multidecl.ipp"
-#else
-namespace boost_no_auto_multideclarations = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_auto_multideclarations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_auto_ptr_fail.cpp b/SRC/Boost/libs/config/test/no_auto_ptr_fail.cpp
deleted file mode 100755
index 760635c..0000000
--- a/SRC/Boost/libs/config/test/no_auto_ptr_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_AUTO_PTR
-// This file should not compile, if it does then
-// BOOST_NO_AUTO_PTR should not be defined.
-// See file boost_no_auto_ptr.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_AUTO_PTR
-#include "boost_no_auto_ptr.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_auto_ptr::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_auto_ptr_pass.cpp b/SRC/Boost/libs/config/test/no_auto_ptr_pass.cpp
deleted file mode 100755
index af60b4b..0000000
--- a/SRC/Boost/libs/config/test/no_auto_ptr_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:00 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_AUTO_PTR
-// This file should compile, if it does not then
-// BOOST_NO_AUTO_PTR should be defined.
-// See file boost_no_auto_ptr.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_AUTO_PTR
-#include "boost_no_auto_ptr.ipp"
-#else
-namespace boost_no_auto_ptr = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_auto_ptr::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_bcb_partial_spec_fail.cpp b/SRC/Boost/libs/config/test/no_bcb_partial_spec_fail.cpp
deleted file mode 100755
index 2949eed..0000000
--- a/SRC/Boost/libs/config/test/no_bcb_partial_spec_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-// This file should not compile, if it does then
-// BOOST_BCB_PARTIAL_SPECIALIZATION_BUG should not be defined.
-// See file boost_no_bcb_partial_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-#include "boost_no_bcb_partial_spec.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_bcb_partial_specialization_bug::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_bcb_partial_spec_pass.cpp b/SRC/Boost/libs/config/test/no_bcb_partial_spec_pass.cpp
deleted file mode 100755
index 9c44436..0000000
--- a/SRC/Boost/libs/config/test/no_bcb_partial_spec_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-// This file should compile, if it does not then
-// BOOST_BCB_PARTIAL_SPECIALIZATION_BUG should be defined.
-// See file boost_no_bcb_partial_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-#include "boost_no_bcb_partial_spec.ipp"
-#else
-namespace boost_bcb_partial_specialization_bug = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_bcb_partial_specialization_bug::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_char16_t_fail.cpp b/SRC/Boost/libs/config/test/no_char16_t_fail.cpp
deleted file mode 100755
index e54bb03..0000000
--- a/SRC/Boost/libs/config/test/no_char16_t_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 09:24:04 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_char16_t_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_CHAR16_T
-// This file should not compile, if it does then
-// BOOST_NO_CHAR16_T should not be defined.
-// See file boost_no_char16_t.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_CHAR16_T
-#include "boost_no_char16_t.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_char16_t::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_char16_t_pass.cpp b/SRC/Boost/libs/config/test/no_char16_t_pass.cpp
deleted file mode 100755
index a603bce..0000000
--- a/SRC/Boost/libs/config/test/no_char16_t_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 09:24:04 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_char16_t_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_CHAR16_T
-// This file should compile, if it does not then
-// BOOST_NO_CHAR16_T should be defined.
-// See file boost_no_char16_t.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_CHAR16_T
-#include "boost_no_char16_t.ipp"
-#else
-namespace boost_no_char16_t = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_char16_t::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_char32_t_fail.cpp b/SRC/Boost/libs/config/test/no_char32_t_fail.cpp
deleted file mode 100755
index d320c91..0000000
--- a/SRC/Boost/libs/config/test/no_char32_t_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 09:24:04 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_char32_t_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_CHAR32_T
-// This file should not compile, if it does then
-// BOOST_NO_CHAR32_T should not be defined.
-// See file boost_no_char32_t.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_CHAR32_T
-#include "boost_no_char32_t.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_char32_t::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_char32_t_pass.cpp b/SRC/Boost/libs/config/test/no_char32_t_pass.cpp
deleted file mode 100755
index 0e3d381..0000000
--- a/SRC/Boost/libs/config/test/no_char32_t_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 09:24:04 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_char32_t_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_CHAR32_T
-// This file should compile, if it does not then
-// BOOST_NO_CHAR32_T should be defined.
-// See file boost_no_char32_t.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_CHAR32_T
-#include "boost_no_char32_t.ipp"
-#else
-namespace boost_no_char32_t = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_char32_t::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_com_value_init_fail.cpp b/SRC/Boost/libs/config/test/no_com_value_init_fail.cpp
deleted file mode 100755
index b1a6c55..0000000
--- a/SRC/Boost/libs/config/test/no_com_value_init_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri Apr 09 12:24:53 2010
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-// This file should not compile, if it does then
-// BOOST_NO_COMPLETE_VALUE_INITIALIZATION should not be defined.
-// See file boost_no_com_value_init.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#include "boost_no_com_value_init.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_complete_value_initialization::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_com_value_init_pass.cpp b/SRC/Boost/libs/config/test/no_com_value_init_pass.cpp
deleted file mode 100755
index 53ea304..0000000
--- a/SRC/Boost/libs/config/test/no_com_value_init_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri Apr 09 12:24:53 2010
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-// This file should compile, if it does not then
-// BOOST_NO_COMPLETE_VALUE_INITIALIZATION should be defined.
-// See file boost_no_com_value_init.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#include "boost_no_com_value_init.ipp"
-#else
-namespace boost_no_complete_value_initialization = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_complete_value_initialization::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_constexpr_fail.cpp b/SRC/Boost/libs/config/test/no_constexpr_fail.cpp
deleted file mode 100755
index c8decf9..0000000
--- a/SRC/Boost/libs/config/test/no_constexpr_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Jun 19 16:26:16 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_constexpr_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_CONSTEXPR
-// This file should not compile, if it does then
-// BOOST_NO_CONSTEXPR should not be defined.
-// See file boost_no_constexpr.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_CONSTEXPR
-#include "boost_no_constexpr.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_constexpr::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_constexpr_pass.cpp b/SRC/Boost/libs/config/test/no_constexpr_pass.cpp
deleted file mode 100755
index d936410..0000000
--- a/SRC/Boost/libs/config/test/no_constexpr_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Jun 19 16:26:16 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_constexpr_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_CONSTEXPR
-// This file should compile, if it does not then
-// BOOST_NO_CONSTEXPR should be defined.
-// See file boost_no_constexpr.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_CONSTEXPR
-#include "boost_no_constexpr.ipp"
-#else
-namespace boost_no_constexpr = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_constexpr::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_ctype_functions_fail.cpp b/SRC/Boost/libs/config/test/no_ctype_functions_fail.cpp
deleted file mode 100755
index a1aa820..0000000
--- a/SRC/Boost/libs/config/test/no_ctype_functions_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_CTYPE_FUNCTIONS
-// This file should not compile, if it does then
-// BOOST_NO_CTYPE_FUNCTIONS should not be defined.
-// See file boost_no_ctype_functions.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_CTYPE_FUNCTIONS
-#include "boost_no_ctype_functions.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_ctype_functions::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_ctype_functions_pass.cpp b/SRC/Boost/libs/config/test/no_ctype_functions_pass.cpp
deleted file mode 100755
index 53f7a4f..0000000
--- a/SRC/Boost/libs/config/test/no_ctype_functions_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_CTYPE_FUNCTIONS
-// This file should compile, if it does not then
-// BOOST_NO_CTYPE_FUNCTIONS should be defined.
-// See file boost_no_ctype_functions.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_CTYPE_FUNCTIONS
-#include "boost_no_ctype_functions.ipp"
-#else
-namespace boost_no_ctype_functions = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_ctype_functions::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_cv_spec_fail.cpp b/SRC/Boost/libs/config/test/no_cv_spec_fail.cpp
deleted file mode 100755
index 55c116f..0000000
--- a/SRC/Boost/libs/config/test/no_cv_spec_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_CV_SPECIALIZATIONS
-// This file should not compile, if it does then
-// BOOST_NO_CV_SPECIALIZATIONS should not be defined.
-// See file boost_no_cv_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_CV_SPECIALIZATIONS
-#include "boost_no_cv_spec.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_cv_specializations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_cv_spec_pass.cpp b/SRC/Boost/libs/config/test/no_cv_spec_pass.cpp
deleted file mode 100755
index 0fcc82a..0000000
--- a/SRC/Boost/libs/config/test/no_cv_spec_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_CV_SPECIALIZATIONS
-// This file should compile, if it does not then
-// BOOST_NO_CV_SPECIALIZATIONS should be defined.
-// See file boost_no_cv_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_CV_SPECIALIZATIONS
-#include "boost_no_cv_spec.ipp"
-#else
-namespace boost_no_cv_specializations = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_cv_specializations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_cv_void_spec_fail.cpp b/SRC/Boost/libs/config/test/no_cv_void_spec_fail.cpp
deleted file mode 100755
index e36b378..0000000
--- a/SRC/Boost/libs/config/test/no_cv_void_spec_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_CV_VOID_SPECIALIZATIONS
-// This file should not compile, if it does then
-// BOOST_NO_CV_VOID_SPECIALIZATIONS should not be defined.
-// See file boost_no_cv_void_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_CV_VOID_SPECIALIZATIONS
-#include "boost_no_cv_void_spec.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_cv_void_specializations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_cv_void_spec_pass.cpp b/SRC/Boost/libs/config/test/no_cv_void_spec_pass.cpp
deleted file mode 100755
index fc19322..0000000
--- a/SRC/Boost/libs/config/test/no_cv_void_spec_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_CV_VOID_SPECIALIZATIONS
-// This file should compile, if it does not then
-// BOOST_NO_CV_VOID_SPECIALIZATIONS should be defined.
-// See file boost_no_cv_void_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-#include "boost_no_cv_void_spec.ipp"
-#else
-namespace boost_no_cv_void_specializations = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_cv_void_specializations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_cwchar_fail.cpp b/SRC/Boost/libs/config/test/no_cwchar_fail.cpp
deleted file mode 100755
index 4e615db..0000000
--- a/SRC/Boost/libs/config/test/no_cwchar_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_CWCHAR
-// This file should not compile, if it does then
-// BOOST_NO_CWCHAR should not be defined.
-// See file boost_no_cwchar.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_CWCHAR
-#include "boost_no_cwchar.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_cwchar::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_cwchar_pass.cpp b/SRC/Boost/libs/config/test/no_cwchar_pass.cpp
deleted file mode 100755
index a7e6f20..0000000
--- a/SRC/Boost/libs/config/test/no_cwchar_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_CWCHAR
-// This file should compile, if it does not then
-// BOOST_NO_CWCHAR should be defined.
-// See file boost_no_cwchar.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_CWCHAR
-#include "boost_no_cwchar.ipp"
-#else
-namespace boost_no_cwchar = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_cwchar::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_cwctype_fail.cpp b/SRC/Boost/libs/config/test/no_cwctype_fail.cpp
deleted file mode 100755
index 82c43a1..0000000
--- a/SRC/Boost/libs/config/test/no_cwctype_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_CWCTYPE
-// This file should not compile, if it does then
-// BOOST_NO_CWCTYPE should not be defined.
-// See file boost_no_cwctype.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_CWCTYPE
-#include "boost_no_cwctype.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_cwctype::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_cwctype_pass.cpp b/SRC/Boost/libs/config/test/no_cwctype_pass.cpp
deleted file mode 100755
index c7b6dda..0000000
--- a/SRC/Boost/libs/config/test/no_cwctype_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_CWCTYPE
-// This file should compile, if it does not then
-// BOOST_NO_CWCTYPE should be defined.
-// See file boost_no_cwctype.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_CWCTYPE
-#include "boost_no_cwctype.ipp"
-#else
-namespace boost_no_cwctype = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_cwctype::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_decltype_fail.cpp b/SRC/Boost/libs/config/test/no_decltype_fail.cpp
deleted file mode 100755
index 2057980..0000000
--- a/SRC/Boost/libs/config/test/no_decltype_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 07:24:54 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_decltype_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_DECLTYPE
-// This file should not compile, if it does then
-// BOOST_NO_DECLTYPE should not be defined.
-// See file boost_no_decltype.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_DECLTYPE
-#include "boost_no_decltype.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_decltype::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_decltype_n3276_fail.cpp b/SRC/Boost/libs/config/test/no_decltype_n3276_fail.cpp
deleted file mode 100755
index 7ab2819..0000000
--- a/SRC/Boost/libs/config/test/no_decltype_n3276_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Wed Jun  1 21:44:56 2011
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_decltype_n3276_fail.cpp 73153 2011-07-16 20:12:46Z eric_niebler $
-//
-
-
-// Test file for macro BOOST_NO_DECLTYPE_N3276
-// This file should not compile, if it does then
-// BOOST_NO_DECLTYPE_N3276 should not be defined.
-// See file boost_no_decltype_n3276.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_DECLTYPE_N3276
-#include "boost_no_decltype_n3276.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_decltype_n3276::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_decltype_n3276_pass.cpp b/SRC/Boost/libs/config/test/no_decltype_n3276_pass.cpp
deleted file mode 100755
index 93d89b7..0000000
--- a/SRC/Boost/libs/config/test/no_decltype_n3276_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Wed Jun  1 21:44:56 2011
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_decltype_n3276_pass.cpp 73153 2011-07-16 20:12:46Z eric_niebler $
-//
-
-
-// Test file for macro BOOST_NO_DECLTYPE_N3276
-// This file should compile, if it does not then
-// BOOST_NO_DECLTYPE_N3276 should be defined.
-// See file boost_no_decltype_n3276.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_DECLTYPE_N3276
-#include "boost_no_decltype_n3276.ipp"
-#else
-namespace boost_no_decltype_n3276 = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_decltype_n3276::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_decltype_pass.cpp b/SRC/Boost/libs/config/test/no_decltype_pass.cpp
deleted file mode 100755
index 031ea50..0000000
--- a/SRC/Boost/libs/config/test/no_decltype_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 07:24:54 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_decltype_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_DECLTYPE
-// This file should compile, if it does not then
-// BOOST_NO_DECLTYPE should be defined.
-// See file boost_no_decltype.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_DECLTYPE
-#include "boost_no_decltype.ipp"
-#else
-namespace boost_no_decltype = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_decltype::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_ded_typename_fail.cpp b/SRC/Boost/libs/config/test/no_ded_typename_fail.cpp
deleted file mode 100755
index c578ea4..0000000
--- a/SRC/Boost/libs/config/test/no_ded_typename_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_DEDUCED_TYPENAME
-// This file should not compile, if it does then
-// BOOST_DEDUCED_TYPENAME should not be defined.
-// See file boost_no_ded_typename.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_DEDUCED_TYPENAME
-#include "boost_no_ded_typename.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_deduced_typename::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_ded_typename_pass.cpp b/SRC/Boost/libs/config/test/no_ded_typename_pass.cpp
deleted file mode 100755
index 8beef85..0000000
--- a/SRC/Boost/libs/config/test/no_ded_typename_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_DEDUCED_TYPENAME
-// This file should compile, if it does not then
-// BOOST_DEDUCED_TYPENAME should be defined.
-// See file boost_no_ded_typename.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_DEDUCED_TYPENAME
-#include "boost_no_ded_typename.ipp"
-#else
-namespace boost_deduced_typename = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_deduced_typename::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_defaulted_functions_fail.cpp b/SRC/Boost/libs/config/test/no_defaulted_functions_fail.cpp
deleted file mode 100755
index c177ec8..0000000
--- a/SRC/Boost/libs/config/test/no_defaulted_functions_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri Jun 20 11:01:41 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_defaulted_functions_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_DEFAULTED_FUNCTIONS
-// This file should not compile, if it does then
-// BOOST_NO_DEFAULTED_FUNCTIONS should not be defined.
-// See file boost_no_defaulted_functions.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_DEFAULTED_FUNCTIONS
-#include "boost_no_defaulted_functions.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_defaulted_functions::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_defaulted_functions_pass.cpp b/SRC/Boost/libs/config/test/no_defaulted_functions_pass.cpp
deleted file mode 100755
index b87ae10..0000000
--- a/SRC/Boost/libs/config/test/no_defaulted_functions_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri Jun 20 11:01:41 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_defaulted_functions_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_DEFAULTED_FUNCTIONS
-// This file should compile, if it does not then
-// BOOST_NO_DEFAULTED_FUNCTIONS should be defined.
-// See file boost_no_defaulted_functions.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_DEFAULTED_FUNCTIONS
-#include "boost_no_defaulted_functions.ipp"
-#else
-namespace boost_no_defaulted_functions = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_defaulted_functions::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_deleted_functions_fail.cpp b/SRC/Boost/libs/config/test/no_deleted_functions_fail.cpp
deleted file mode 100755
index bf5a84e..0000000
--- a/SRC/Boost/libs/config/test/no_deleted_functions_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Jun 19 16:26:16 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_deleted_functions_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_DELETED_FUNCTIONS
-// This file should not compile, if it does then
-// BOOST_NO_DELETED_FUNCTIONS should not be defined.
-// See file boost_no_deleted_functions.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_DELETED_FUNCTIONS
-#include "boost_no_deleted_functions.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_deleted_functions::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_deleted_functions_pass.cpp b/SRC/Boost/libs/config/test/no_deleted_functions_pass.cpp
deleted file mode 100755
index 50f475b..0000000
--- a/SRC/Boost/libs/config/test/no_deleted_functions_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Jun 19 16:26:16 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_deleted_functions_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_DELETED_FUNCTIONS
-// This file should compile, if it does not then
-// BOOST_NO_DELETED_FUNCTIONS should be defined.
-// See file boost_no_deleted_functions.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_DELETED_FUNCTIONS
-#include "boost_no_deleted_functions.ipp"
-#else
-namespace boost_no_deleted_functions = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_deleted_functions::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_dep_nested_class_fail.cpp b/SRC/Boost/libs/config/test/no_dep_nested_class_fail.cpp
deleted file mode 100755
index 9ffa3f0..0000000
--- a/SRC/Boost/libs/config/test/no_dep_nested_class_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-// This file should not compile, if it does then
-// BOOST_NO_DEPENDENT_NESTED_DERIVATIONS should not be defined.
-// See file boost_no_dep_nested_class.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-#include "boost_no_dep_nested_class.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_dependent_nested_derivations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_dep_nested_class_pass.cpp b/SRC/Boost/libs/config/test/no_dep_nested_class_pass.cpp
deleted file mode 100755
index 4101480..0000000
--- a/SRC/Boost/libs/config/test/no_dep_nested_class_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-// This file should compile, if it does not then
-// BOOST_NO_DEPENDENT_NESTED_DERIVATIONS should be defined.
-// See file boost_no_dep_nested_class.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-#include "boost_no_dep_nested_class.ipp"
-#else
-namespace boost_no_dependent_nested_derivations = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_dependent_nested_derivations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_dep_val_param_fail.cpp b/SRC/Boost/libs/config/test/no_dep_val_param_fail.cpp
deleted file mode 100755
index 2c6654f..0000000
--- a/SRC/Boost/libs/config/test/no_dep_val_param_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-// This file should not compile, if it does then
-// BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS should not be defined.
-// See file boost_no_dep_val_param.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-#include "boost_no_dep_val_param.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_dependent_types_in_template_value_parameters::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_dep_val_param_pass.cpp b/SRC/Boost/libs/config/test/no_dep_val_param_pass.cpp
deleted file mode 100755
index fcaaf35..0000000
--- a/SRC/Boost/libs/config/test/no_dep_val_param_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-// This file should compile, if it does not then
-// BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS should be defined.
-// See file boost_no_dep_val_param.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-#include "boost_no_dep_val_param.ipp"
-#else
-namespace boost_no_dependent_types_in_template_value_parameters = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_dependent_types_in_template_value_parameters::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_excep_std_fail.cpp b/SRC/Boost/libs/config/test/no_excep_std_fail.cpp
deleted file mode 100755
index 2591de0..0000000
--- a/SRC/Boost/libs/config/test/no_excep_std_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_EXCEPTION_STD_NAMESPACE
-// This file should not compile, if it does then
-// BOOST_NO_EXCEPTION_STD_NAMESPACE should not be defined.
-// See file boost_no_excep_std.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE
-#include "boost_no_excep_std.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_exception_std_namespace::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_excep_std_pass.cpp b/SRC/Boost/libs/config/test/no_excep_std_pass.cpp
deleted file mode 100755
index 450f8db..0000000
--- a/SRC/Boost/libs/config/test/no_excep_std_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_EXCEPTION_STD_NAMESPACE
-// This file should compile, if it does not then
-// BOOST_NO_EXCEPTION_STD_NAMESPACE should be defined.
-// See file boost_no_excep_std.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_EXCEPTION_STD_NAMESPACE
-#include "boost_no_excep_std.ipp"
-#else
-namespace boost_no_exception_std_namespace = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_exception_std_namespace::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_exceptions_fail.cpp b/SRC/Boost/libs/config/test/no_exceptions_fail.cpp
deleted file mode 100755
index aec0b4c..0000000
--- a/SRC/Boost/libs/config/test/no_exceptions_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_EXCEPTIONS
-// This file should not compile, if it does then
-// BOOST_NO_EXCEPTIONS should not be defined.
-// See file boost_no_exceptions.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_EXCEPTIONS
-#include "boost_no_exceptions.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_exceptions::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_exceptions_pass.cpp b/SRC/Boost/libs/config/test/no_exceptions_pass.cpp
deleted file mode 100755
index 91449b8..0000000
--- a/SRC/Boost/libs/config/test/no_exceptions_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_EXCEPTIONS
-// This file should compile, if it does not then
-// BOOST_NO_EXCEPTIONS should be defined.
-// See file boost_no_exceptions.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_EXCEPTIONS
-#include "boost_no_exceptions.ipp"
-#else
-namespace boost_no_exceptions = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_exceptions::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_exp_func_tem_arg_fail.cpp b/SRC/Boost/libs/config/test/no_exp_func_tem_arg_fail.cpp
deleted file mode 100755
index a5f600b..0000000
--- a/SRC/Boost/libs/config/test/no_exp_func_tem_arg_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-// This file should not compile, if it does then
-// BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS should not be defined.
-// See file boost_no_exp_func_tem_arg.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#include "boost_no_exp_func_tem_arg.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_explicit_function_template_arguments::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_exp_func_tem_arg_pass.cpp b/SRC/Boost/libs/config/test/no_exp_func_tem_arg_pass.cpp
deleted file mode 100755
index bf3f37b..0000000
--- a/SRC/Boost/libs/config/test/no_exp_func_tem_arg_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-// This file should compile, if it does not then
-// BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS should be defined.
-// See file boost_no_exp_func_tem_arg.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#include "boost_no_exp_func_tem_arg.ipp"
-#else
-namespace boost_no_explicit_function_template_arguments = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_explicit_function_template_arguments::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_explicit_cvt_ops_fail.cpp b/SRC/Boost/libs/config/test/no_explicit_cvt_ops_fail.cpp
deleted file mode 100755
index ad62924..0000000
--- a/SRC/Boost/libs/config/test/no_explicit_cvt_ops_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri Jun 20 11:51:15 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_explicit_cvt_ops_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-// This file should not compile, if it does then
-// BOOST_NO_EXPLICIT_CONVERSION_OPERATORS should not be defined.
-// See file boost_no_explicit_cvt_ops.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#include "boost_no_explicit_cvt_ops.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_explicit_conversion_operators::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_explicit_cvt_ops_pass.cpp b/SRC/Boost/libs/config/test/no_explicit_cvt_ops_pass.cpp
deleted file mode 100755
index 38738e4..0000000
--- a/SRC/Boost/libs/config/test/no_explicit_cvt_ops_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Fri Jun 20 11:51:15 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_explicit_cvt_ops_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-// This file should compile, if it does not then
-// BOOST_NO_EXPLICIT_CONVERSION_OPERATORS should be defined.
-// See file boost_no_explicit_cvt_ops.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#include "boost_no_explicit_cvt_ops.ipp"
-#else
-namespace boost_no_explicit_conversion_operators = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_explicit_conversion_operators::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_extern_template_fail.cpp b/SRC/Boost/libs/config/test/no_extern_template_fail.cpp
deleted file mode 100755
index d67ce79..0000000
--- a/SRC/Boost/libs/config/test/no_extern_template_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 09:24:04 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_extern_template_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_EXTERN_TEMPLATE
-// This file should not compile, if it does then
-// BOOST_NO_EXTERN_TEMPLATE should not be defined.
-// See file boost_no_extern_template.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_EXTERN_TEMPLATE
-#include "boost_no_extern_template.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_extern_template::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_extern_template_pass.cpp b/SRC/Boost/libs/config/test/no_extern_template_pass.cpp
deleted file mode 100755
index a3580e7..0000000
--- a/SRC/Boost/libs/config/test/no_extern_template_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 09:24:04 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_extern_template_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_EXTERN_TEMPLATE
-// This file should compile, if it does not then
-// BOOST_NO_EXTERN_TEMPLATE should be defined.
-// See file boost_no_extern_template.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_EXTERN_TEMPLATE
-#include "boost_no_extern_template.ipp"
-#else
-namespace boost_no_extern_template = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_extern_template::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_fenv_h_fail.cpp b/SRC/Boost/libs/config/test/no_fenv_h_fail.cpp
deleted file mode 100755
index 881388f..0000000
--- a/SRC/Boost/libs/config/test/no_fenv_h_fail.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  Copyright Bryce Lelbach 2010.
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_FENV_H
-// This file should not compile, if it does then
-// BOOST_NO_FENV_H should not be defined.
-// See file boost_no_fenv_h.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_FENV_H
-#include "boost_no_fenv_h.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_fenv_h::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_fenv_h_pass.cpp b/SRC/Boost/libs/config/test/no_fenv_h_pass.cpp
deleted file mode 100755
index 9ada2e4..0000000
--- a/SRC/Boost/libs/config/test/no_fenv_h_pass.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  Copyright Bryce Lelbach 2010.
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_FENV_H
-// This file should compile, if it does not then
-// BOOST_NO_FENV_H should be defined.
-// See file boost_no_fenv_h.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_FENV_H
-#include "boost_no_fenv_h.ipp"
-#else
-namespace boost_no_fenv_h = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_fenv_h::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_func_tmp_order_fail.cpp b/SRC/Boost/libs/config/test/no_func_tmp_order_fail.cpp
deleted file mode 100755
index 3befcc8..0000000
--- a/SRC/Boost/libs/config/test/no_func_tmp_order_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-// This file should not compile, if it does then
-// BOOST_NO_FUNCTION_TEMPLATE_ORDERING should not be defined.
-// See file boost_no_func_tmp_order.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#include "boost_no_func_tmp_order.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_function_template_ordering::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_func_tmp_order_pass.cpp b/SRC/Boost/libs/config/test/no_func_tmp_order_pass.cpp
deleted file mode 100755
index a479859..0000000
--- a/SRC/Boost/libs/config/test/no_func_tmp_order_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-// This file should compile, if it does not then
-// BOOST_NO_FUNCTION_TEMPLATE_ORDERING should be defined.
-// See file boost_no_func_tmp_order.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#include "boost_no_func_tmp_order.ipp"
-#else
-namespace boost_no_function_template_ordering = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_function_template_ordering::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_function_template_default_args_fail.cpp b/SRC/Boost/libs/config/test/no_function_template_default_args_fail.cpp
deleted file mode 100755
index b6c6577..0000000
--- a/SRC/Boost/libs/config/test/no_function_template_default_args_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Sun Aug 02 08:25:59 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_function_template_default_args_fail.cpp 56678 2009-10-09 16:16:02Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-// This file should not compile, if it does then
-// BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS should not be defined.
-// See file boost_no_function_template_default_args.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#include "boost_no_function_template_default_args.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_function_template_default_args::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_function_template_default_args_pass.cpp b/SRC/Boost/libs/config/test/no_function_template_default_args_pass.cpp
deleted file mode 100755
index d520b17..0000000
--- a/SRC/Boost/libs/config/test/no_function_template_default_args_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Sun Aug 02 08:25:59 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_function_template_default_args_pass.cpp 56678 2009-10-09 16:16:02Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-// This file should compile, if it does not then
-// BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS should be defined.
-// See file boost_no_function_template_default_args.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#include "boost_no_function_template_default_args.ipp"
-#else
-namespace boost_no_function_template_default_args = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_function_template_default_args::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_function_type_spec_fail.cpp b/SRC/Boost/libs/config/test/no_function_type_spec_fail.cpp
deleted file mode 100755
index 944a7b4..0000000
--- a/SRC/Boost/libs/config/test/no_function_type_spec_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sun Dec 31 16:23:48 2006
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-// This file should not compile, if it does then
-// BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS should not be defined.
-// See file boost_no_function_type_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-#include "boost_no_function_type_spec.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_function_type_specializations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_function_type_spec_pass.cpp b/SRC/Boost/libs/config/test/no_function_type_spec_pass.cpp
deleted file mode 100755
index 0082d4e..0000000
--- a/SRC/Boost/libs/config/test/no_function_type_spec_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sun Dec 31 16:23:48 2006
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-// This file should compile, if it does not then
-// BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS should be defined.
-// See file boost_no_function_type_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-#include "boost_no_function_type_spec.ipp"
-#else
-namespace boost_no_function_type_specializations = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_function_type_specializations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_i64_limits_fail.cpp b/SRC/Boost/libs/config/test/no_i64_limits_fail.cpp
deleted file mode 100755
index 02af9a4..0000000
--- a/SRC/Boost/libs/config/test/no_i64_limits_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_MS_INT64_NUMERIC_LIMITS
-// This file should not compile, if it does then
-// BOOST_NO_MS_INT64_NUMERIC_LIMITS should not be defined.
-// See file boost_no_i64_limits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#include "boost_no_i64_limits.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_ms_int64_numeric_limits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_i64_limits_pass.cpp b/SRC/Boost/libs/config/test/no_i64_limits_pass.cpp
deleted file mode 100755
index 09cdc7e..0000000
--- a/SRC/Boost/libs/config/test/no_i64_limits_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_MS_INT64_NUMERIC_LIMITS
-// This file should compile, if it does not then
-// BOOST_NO_MS_INT64_NUMERIC_LIMITS should be defined.
-// See file boost_no_i64_limits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#include "boost_no_i64_limits.ipp"
-#else
-namespace boost_no_ms_int64_numeric_limits = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_ms_int64_numeric_limits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_initializer_lists_fail.cpp b/SRC/Boost/libs/config/test/no_initializer_lists_fail.cpp
deleted file mode 100755
index b12b19c..0000000
--- a/SRC/Boost/libs/config/test/no_initializer_lists_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Wed Sep 24 11:44:21 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_initializer_lists_fail.cpp 50451 2009-01-03 23:18:33Z danieljames $
-//
-
-
-// Test file for macro BOOST_NO_INITIALIZER_LISTS
-// This file should not compile, if it does then
-// BOOST_NO_INITIALIZER_LISTS should not be defined.
-// See file boost_no_initializer_lists.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_INITIALIZER_LISTS
-#include "boost_no_initializer_lists.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_initializer_lists::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_initializer_lists_pass.cpp b/SRC/Boost/libs/config/test/no_initializer_lists_pass.cpp
deleted file mode 100755
index a38b104..0000000
--- a/SRC/Boost/libs/config/test/no_initializer_lists_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Wed Sep 24 11:44:21 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_initializer_lists_pass.cpp 50451 2009-01-03 23:18:33Z danieljames $
-//
-
-
-// Test file for macro BOOST_NO_INITIALIZER_LISTS
-// This file should compile, if it does not then
-// BOOST_NO_INITIALIZER_LISTS should be defined.
-// See file boost_no_initializer_lists.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_INITIALIZER_LISTS
-#include "boost_no_initializer_lists.ipp"
-#else
-namespace boost_no_initializer_lists = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_initializer_lists::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_inline_memb_init_fail.cpp b/SRC/Boost/libs/config/test/no_inline_memb_init_fail.cpp
deleted file mode 100755
index 60c771f..0000000
--- a/SRC/Boost/libs/config/test/no_inline_memb_init_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// This file should not compile, if it does then
-// BOOST_NO_INCLASS_MEMBER_INITIALIZATION should not be defined.
-// See file boost_no_inline_memb_init.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#include "boost_no_inline_memb_init.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_inclass_member_initialization::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_inline_memb_init_pass.cpp b/SRC/Boost/libs/config/test/no_inline_memb_init_pass.cpp
deleted file mode 100755
index b43f8e0..0000000
--- a/SRC/Boost/libs/config/test/no_inline_memb_init_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// This file should compile, if it does not then
-// BOOST_NO_INCLASS_MEMBER_INITIALIZATION should be defined.
-// See file boost_no_inline_memb_init.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#include "boost_no_inline_memb_init.ipp"
-#else
-namespace boost_no_inclass_member_initialization = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_inclass_member_initialization::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_integral_int64_t_fail.cpp b/SRC/Boost/libs/config/test/no_integral_int64_t_fail.cpp
deleted file mode 100755
index 40e096e..0000000
--- a/SRC/Boost/libs/config/test/no_integral_int64_t_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_INTEGRAL_INT64_T
-// This file should not compile, if it does then
-// BOOST_NO_INTEGRAL_INT64_T should not be defined.
-// See file boost_no_integral_int64_t.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_INTEGRAL_INT64_T
-#include "boost_no_integral_int64_t.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_integral_int64_t::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_integral_int64_t_pass.cpp b/SRC/Boost/libs/config/test/no_integral_int64_t_pass.cpp
deleted file mode 100755
index 73333b0..0000000
--- a/SRC/Boost/libs/config/test/no_integral_int64_t_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_INTEGRAL_INT64_T
-// This file should compile, if it does not then
-// BOOST_NO_INTEGRAL_INT64_T should be defined.
-// See file boost_no_integral_int64_t.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_INTEGRAL_INT64_T
-#include "boost_no_integral_int64_t.ipp"
-#else
-namespace boost_no_integral_int64_t = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_integral_int64_t::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_iosfwd_fail.cpp b/SRC/Boost/libs/config/test/no_iosfwd_fail.cpp
deleted file mode 100755
index a56c23c..0000000
--- a/SRC/Boost/libs/config/test/no_iosfwd_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:21 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_IOSFWD
-// This file should not compile, if it does then
-// BOOST_NO_IOSFWD should not be defined.
-// See file boost_no_iosfwd.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_IOSFWD
-#include "boost_no_iosfwd.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_iosfwd::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_iosfwd_pass.cpp b/SRC/Boost/libs/config/test/no_iosfwd_pass.cpp
deleted file mode 100755
index da85d77..0000000
--- a/SRC/Boost/libs/config/test/no_iosfwd_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:21 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_IOSFWD
-// This file should compile, if it does not then
-// BOOST_NO_IOSFWD should be defined.
-// See file boost_no_iosfwd.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_IOSFWD
-#include "boost_no_iosfwd.ipp"
-#else
-namespace boost_no_iosfwd = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_iosfwd::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_iostream_fail.cpp b/SRC/Boost/libs/config/test/no_iostream_fail.cpp
deleted file mode 100755
index c2cac7e..0000000
--- a/SRC/Boost/libs/config/test/no_iostream_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:21 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_IOSTREAM
-// This file should not compile, if it does then
-// BOOST_NO_IOSTREAM should not be defined.
-// See file boost_no_iostream.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_IOSTREAM
-#include "boost_no_iostream.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_iostream::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_iostream_pass.cpp b/SRC/Boost/libs/config/test/no_iostream_pass.cpp
deleted file mode 100755
index 8ae7dbd..0000000
--- a/SRC/Boost/libs/config/test/no_iostream_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:21 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_IOSTREAM
-// This file should compile, if it does not then
-// BOOST_NO_IOSTREAM should be defined.
-// See file boost_no_iostream.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_IOSTREAM
-#include "boost_no_iostream.ipp"
-#else
-namespace boost_no_iostream = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_iostream::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_is_abstract_fail.cpp b/SRC/Boost/libs/config/test/no_is_abstract_fail.cpp
deleted file mode 100755
index 4d55fad..0000000
--- a/SRC/Boost/libs/config/test/no_is_abstract_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_IS_ABSTRACT
-// This file should not compile, if it does then
-// BOOST_NO_IS_ABSTRACT should not be defined.
-// See file boost_no_is_abstract.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_IS_ABSTRACT
-#include "boost_no_is_abstract.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_is_abstract::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_is_abstract_pass.cpp b/SRC/Boost/libs/config/test/no_is_abstract_pass.cpp
deleted file mode 100755
index 0c54ae7..0000000
--- a/SRC/Boost/libs/config/test/no_is_abstract_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_IS_ABSTRACT
-// This file should compile, if it does not then
-// BOOST_NO_IS_ABSTRACT should be defined.
-// See file boost_no_is_abstract.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_IS_ABSTRACT
-#include "boost_no_is_abstract.ipp"
-#else
-namespace boost_no_is_abstract = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_is_abstract::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_iter_construct_fail.cpp b/SRC/Boost/libs/config/test/no_iter_construct_fail.cpp
deleted file mode 100755
index 10f0dd6..0000000
--- a/SRC/Boost/libs/config/test/no_iter_construct_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-// This file should not compile, if it does then
-// BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS should not be defined.
-// See file boost_no_iter_construct.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#include "boost_no_iter_construct.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_templated_iterator_constructors::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_iter_construct_pass.cpp b/SRC/Boost/libs/config/test/no_iter_construct_pass.cpp
deleted file mode 100755
index 600a488..0000000
--- a/SRC/Boost/libs/config/test/no_iter_construct_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-// This file should compile, if it does not then
-// BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS should be defined.
-// See file boost_no_iter_construct.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#include "boost_no_iter_construct.ipp"
-#else
-namespace boost_no_templated_iterator_constructors = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_templated_iterator_constructors::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_lambdas_fail.cpp b/SRC/Boost/libs/config/test/no_lambdas_fail.cpp
deleted file mode 100755
index 9ae2a54..0000000
--- a/SRC/Boost/libs/config/test/no_lambdas_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 14 16:01:35 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_lambdas_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_LAMBDAS
-// This file should not compile, if it does then
-// BOOST_NO_LAMBDAS should not be defined.
-// See file boost_no_lambdas.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_LAMBDAS
-#include "boost_no_lambdas.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_lambdas::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_lambdas_pass.cpp b/SRC/Boost/libs/config/test/no_lambdas_pass.cpp
deleted file mode 100755
index 505ff0c..0000000
--- a/SRC/Boost/libs/config/test/no_lambdas_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 14 16:01:35 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_lambdas_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_LAMBDAS
-// This file should compile, if it does not then
-// BOOST_NO_LAMBDAS should be defined.
-// See file boost_no_lambdas.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_LAMBDAS
-#include "boost_no_lambdas.ipp"
-#else
-namespace boost_no_lambdas = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_lambdas::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_limits_const_exp_fail.cpp b/SRC/Boost/libs/config/test/no_limits_const_exp_fail.cpp
deleted file mode 100755
index a1c82da..0000000
--- a/SRC/Boost/libs/config/test/no_limits_const_exp_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-// This file should not compile, if it does then
-// BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS should not be defined.
-// See file boost_no_limits_const_exp.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#include "boost_no_limits_const_exp.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_limits_compile_time_constants::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_limits_const_exp_pass.cpp b/SRC/Boost/libs/config/test/no_limits_const_exp_pass.cpp
deleted file mode 100755
index df04ef9..0000000
--- a/SRC/Boost/libs/config/test/no_limits_const_exp_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-// This file should compile, if it does not then
-// BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS should be defined.
-// See file boost_no_limits_const_exp.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#include "boost_no_limits_const_exp.ipp"
-#else
-namespace boost_no_limits_compile_time_constants = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_limits_compile_time_constants::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_limits_fail.cpp b/SRC/Boost/libs/config/test/no_limits_fail.cpp
deleted file mode 100755
index ccb7eb5..0000000
--- a/SRC/Boost/libs/config/test/no_limits_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_LIMITS
-// This file should not compile, if it does then
-// BOOST_NO_LIMITS should not be defined.
-// See file boost_no_limits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_LIMITS
-#include "boost_no_limits.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_limits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_limits_lowest_fail.cpp b/SRC/Boost/libs/config/test/no_limits_lowest_fail.cpp
deleted file mode 100755
index cbeab97..0000000
--- a/SRC/Boost/libs/config/test/no_limits_lowest_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Sat Sep 25 16:53:41 2010
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_NUMERIC_LIMITS_LOWEST
-// This file should not compile, if it does then
-// BOOST_NO_NUMERIC_LIMITS_LOWEST should not be defined.
-// See file boost_no_limits_lowest.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_NUMERIC_LIMITS_LOWEST
-#include "boost_no_limits_lowest.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_numeric_limits_lowest::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_limits_lowest_pass.cpp b/SRC/Boost/libs/config/test/no_limits_lowest_pass.cpp
deleted file mode 100755
index b6048ca..0000000
--- a/SRC/Boost/libs/config/test/no_limits_lowest_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Sat Sep 25 16:53:41 2010
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_NUMERIC_LIMITS_LOWEST
-// This file should compile, if it does not then
-// BOOST_NO_NUMERIC_LIMITS_LOWEST should be defined.
-// See file boost_no_limits_lowest.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_NUMERIC_LIMITS_LOWEST
-#include "boost_no_limits_lowest.ipp"
-#else
-namespace boost_no_numeric_limits_lowest = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_numeric_limits_lowest::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_limits_pass.cpp b/SRC/Boost/libs/config/test/no_limits_pass.cpp
deleted file mode 100755
index 7739be6..0000000
--- a/SRC/Boost/libs/config/test/no_limits_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_LIMITS
-// This file should compile, if it does not then
-// BOOST_NO_LIMITS should be defined.
-// See file boost_no_limits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_LIMITS
-#include "boost_no_limits.ipp"
-#else
-namespace boost_no_limits = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_limits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_ll_limits_fail.cpp b/SRC/Boost/libs/config/test/no_ll_limits_fail.cpp
deleted file mode 100755
index fc76ff4..0000000
--- a/SRC/Boost/libs/config/test/no_ll_limits_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-// This file should not compile, if it does then
-// BOOST_NO_LONG_LONG_NUMERIC_LIMITS should not be defined.
-// See file boost_no_ll_limits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-#include "boost_no_ll_limits.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_long_long_numeric_limits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_ll_limits_pass.cpp b/SRC/Boost/libs/config/test/no_ll_limits_pass.cpp
deleted file mode 100755
index fc4993b..0000000
--- a/SRC/Boost/libs/config/test/no_ll_limits_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-// This file should compile, if it does not then
-// BOOST_NO_LONG_LONG_NUMERIC_LIMITS should be defined.
-// See file boost_no_ll_limits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-#include "boost_no_ll_limits.ipp"
-#else
-namespace boost_no_long_long_numeric_limits = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_long_long_numeric_limits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_long_long_fail.cpp b/SRC/Boost/libs/config/test/no_long_long_fail.cpp
deleted file mode 100755
index f54d6f6..0000000
--- a/SRC/Boost/libs/config/test/no_long_long_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 07:24:54 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_long_long_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_LONG_LONG
-// This file should not compile, if it does then
-// BOOST_NO_LONG_LONG should not be defined.
-// See file boost_no_long_long.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_LONG_LONG
-#include "boost_no_long_long.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_long_long::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_long_long_pass.cpp b/SRC/Boost/libs/config/test/no_long_long_pass.cpp
deleted file mode 100755
index f9e1df8..0000000
--- a/SRC/Boost/libs/config/test/no_long_long_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 07:24:54 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_long_long_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_LONG_LONG
-// This file should compile, if it does not then
-// BOOST_NO_LONG_LONG should be defined.
-// See file boost_no_long_long.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_LONG_LONG
-#include "boost_no_long_long.ipp"
-#else
-namespace boost_no_long_long = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_long_long::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_mem_func_spec_fail.cpp b/SRC/Boost/libs/config/test/no_mem_func_spec_fail.cpp
deleted file mode 100755
index ddeeaf6..0000000
--- a/SRC/Boost/libs/config/test/no_mem_func_spec_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-// This file should not compile, if it does then
-// BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS should not be defined.
-// See file boost_no_mem_func_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-#include "boost_no_mem_func_spec.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_member_function_specializations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_mem_func_spec_pass.cpp b/SRC/Boost/libs/config/test/no_mem_func_spec_pass.cpp
deleted file mode 100755
index 74bebae..0000000
--- a/SRC/Boost/libs/config/test/no_mem_func_spec_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-// This file should compile, if it does not then
-// BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS should be defined.
-// See file boost_no_mem_func_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-#include "boost_no_mem_func_spec.ipp"
-#else
-namespace boost_no_member_function_specializations = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_member_function_specializations::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_mem_tem_keyword_fail.cpp b/SRC/Boost/libs/config/test/no_mem_tem_keyword_fail.cpp
deleted file mode 100755
index ddbf585..0000000
--- a/SRC/Boost/libs/config/test/no_mem_tem_keyword_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-// This file should not compile, if it does then
-// BOOST_NO_MEMBER_TEMPLATE_KEYWORD should not be defined.
-// See file boost_no_mem_tem_keyword.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-#include "boost_no_mem_tem_keyword.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_member_template_keyword::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_mem_tem_keyword_pass.cpp b/SRC/Boost/libs/config/test/no_mem_tem_keyword_pass.cpp
deleted file mode 100755
index 4d25b8b..0000000
--- a/SRC/Boost/libs/config/test/no_mem_tem_keyword_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-// This file should compile, if it does not then
-// BOOST_NO_MEMBER_TEMPLATE_KEYWORD should be defined.
-// See file boost_no_mem_tem_keyword.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-#include "boost_no_mem_tem_keyword.ipp"
-#else
-namespace boost_no_member_template_keyword = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_member_template_keyword::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_mem_tem_pnts_fail.cpp b/SRC/Boost/libs/config/test/no_mem_tem_pnts_fail.cpp
deleted file mode 100755
index b33b7a1..0000000
--- a/SRC/Boost/libs/config/test/no_mem_tem_pnts_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-// This file should not compile, if it does then
-// BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS should not be defined.
-// See file boost_no_mem_tem_pnts.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-#include "boost_no_mem_tem_pnts.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_pointer_to_member_template_parameters::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_mem_tem_pnts_pass.cpp b/SRC/Boost/libs/config/test/no_mem_tem_pnts_pass.cpp
deleted file mode 100755
index f9f7598..0000000
--- a/SRC/Boost/libs/config/test/no_mem_tem_pnts_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-// This file should compile, if it does not then
-// BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS should be defined.
-// See file boost_no_mem_tem_pnts.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-#include "boost_no_mem_tem_pnts.ipp"
-#else
-namespace boost_no_pointer_to_member_template_parameters = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_pointer_to_member_template_parameters::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_mem_templ_frnds_fail.cpp b/SRC/Boost/libs/config/test/no_mem_templ_frnds_fail.cpp
deleted file mode 100755
index dc97eae..0000000
--- a/SRC/Boost/libs/config/test/no_mem_templ_frnds_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-// This file should not compile, if it does then
-// BOOST_NO_MEMBER_TEMPLATE_FRIENDS should not be defined.
-// See file boost_no_mem_templ_frnds.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#include "boost_no_mem_templ_frnds.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_member_template_friends::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_mem_templ_frnds_pass.cpp b/SRC/Boost/libs/config/test/no_mem_templ_frnds_pass.cpp
deleted file mode 100755
index d749863..0000000
--- a/SRC/Boost/libs/config/test/no_mem_templ_frnds_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-// This file should compile, if it does not then
-// BOOST_NO_MEMBER_TEMPLATE_FRIENDS should be defined.
-// See file boost_no_mem_templ_frnds.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#include "boost_no_mem_templ_frnds.ipp"
-#else
-namespace boost_no_member_template_friends = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_member_template_friends::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_mem_templates_fail.cpp b/SRC/Boost/libs/config/test/no_mem_templates_fail.cpp
deleted file mode 100755
index 61f5be2..0000000
--- a/SRC/Boost/libs/config/test/no_mem_templates_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_MEMBER_TEMPLATES
-// This file should not compile, if it does then
-// BOOST_NO_MEMBER_TEMPLATES should not be defined.
-// See file boost_no_mem_templates.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_MEMBER_TEMPLATES
-#include "boost_no_mem_templates.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_member_templates::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_mem_templates_pass.cpp b/SRC/Boost/libs/config/test/no_mem_templates_pass.cpp
deleted file mode 100755
index 682e3be..0000000
--- a/SRC/Boost/libs/config/test/no_mem_templates_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:01 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_MEMBER_TEMPLATES
-// This file should compile, if it does not then
-// BOOST_NO_MEMBER_TEMPLATES should be defined.
-// See file boost_no_mem_templates.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_MEMBER_TEMPLATES
-#include "boost_no_mem_templates.ipp"
-#else
-namespace boost_no_member_templates = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_member_templates::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_nested_friendship_fail.cpp b/SRC/Boost/libs/config/test/no_nested_friendship_fail.cpp
deleted file mode 100755
index 85cbf21..0000000
--- a/SRC/Boost/libs/config/test/no_nested_friendship_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Sep 18 23:32:18 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id$
-//
-
-
-// Test file for macro BOOST_NO_NESTED_FRIENDSHIP
-// This file should not compile, if it does then
-// BOOST_NO_NESTED_FRIENDSHIP should not be defined.
-// See file boost_no_nested_friendship.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_NESTED_FRIENDSHIP
-#include "boost_no_nested_friendship.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_nested_friendship::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_nested_friendship_pass.cpp b/SRC/Boost/libs/config/test/no_nested_friendship_pass.cpp
deleted file mode 100755
index a76b12f..0000000
--- a/SRC/Boost/libs/config/test/no_nested_friendship_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Sep 18 23:32:18 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id$
-//
-
-
-// Test file for macro BOOST_NO_NESTED_FRIENDSHIP
-// This file should compile, if it does not then
-// BOOST_NO_NESTED_FRIENDSHIP should be defined.
-// See file boost_no_nested_friendship.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_NESTED_FRIENDSHIP
-#include "boost_no_nested_friendship.ipp"
-#else
-namespace boost_no_nested_friendship = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_nested_friendship::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_noexcept_fail.cpp b/SRC/Boost/libs/config/test/no_noexcept_fail.cpp
deleted file mode 100755
index a039d0b..0000000
--- a/SRC/Boost/libs/config/test/no_noexcept_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May  5 04:40:08 2011
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id$
-//
-
-
-// Test file for macro BOOST_NO_NOEXCEPT
-// This file should not compile, if it does then
-// BOOST_NO_NOEXCEPT should not be defined.
-// See file boost_no_noexcept.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_NOEXCEPT
-#include "boost_no_noexcept.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_noexcept::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_noexcept_pass.cpp b/SRC/Boost/libs/config/test/no_noexcept_pass.cpp
deleted file mode 100755
index 9393a3b..0000000
--- a/SRC/Boost/libs/config/test/no_noexcept_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May  5 04:40:08 2011
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id$
-//
-
-
-// Test file for macro BOOST_NO_NOEXCEPT
-// This file should compile, if it does not then
-// BOOST_NO_NOEXCEPT should be defined.
-// See file boost_no_noexcept.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_NOEXCEPT
-#include "boost_no_noexcept.ipp"
-#else
-namespace boost_no_noexcept = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_noexcept::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_nullptr_fail.cpp b/SRC/Boost/libs/config/test/no_nullptr_fail.cpp
deleted file mode 100755
index f839288..0000000
--- a/SRC/Boost/libs/config/test/no_nullptr_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 14 16:01:35 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_nullptr_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_NULLPTR
-// This file should not compile, if it does then
-// BOOST_NO_NULLPTR should not be defined.
-// See file boost_no_nullptr.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_NULLPTR
-#include "boost_no_nullptr.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_nullptr::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_nullptr_pass.cpp b/SRC/Boost/libs/config/test/no_nullptr_pass.cpp
deleted file mode 100755
index cd1b6f7..0000000
--- a/SRC/Boost/libs/config/test/no_nullptr_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 14 16:01:35 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_nullptr_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_NULLPTR
-// This file should compile, if it does not then
-// BOOST_NO_NULLPTR should be defined.
-// See file boost_no_nullptr.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_NULLPTR
-#include "boost_no_nullptr.ipp"
-#else
-namespace boost_no_nullptr = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_nullptr::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_ops_in_namespace_fail.cpp b/SRC/Boost/libs/config/test/no_ops_in_namespace_fail.cpp
deleted file mode 100755
index cb69e73..0000000
--- a/SRC/Boost/libs/config/test/no_ops_in_namespace_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_OPERATORS_IN_NAMESPACE
-// This file should not compile, if it does then
-// BOOST_NO_OPERATORS_IN_NAMESPACE should not be defined.
-// See file boost_no_ops_in_namespace.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_OPERATORS_IN_NAMESPACE
-#include "boost_no_ops_in_namespace.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_operators_in_namespace::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_ops_in_namespace_pass.cpp b/SRC/Boost/libs/config/test/no_ops_in_namespace_pass.cpp
deleted file mode 100755
index f385633..0000000
--- a/SRC/Boost/libs/config/test/no_ops_in_namespace_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_OPERATORS_IN_NAMESPACE
-// This file should compile, if it does not then
-// BOOST_NO_OPERATORS_IN_NAMESPACE should be defined.
-// See file boost_no_ops_in_namespace.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE
-#include "boost_no_ops_in_namespace.ipp"
-#else
-namespace boost_no_operators_in_namespace = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_operators_in_namespace::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_part_spec_def_args_fail.cpp b/SRC/Boost/libs/config/test/no_part_spec_def_args_fail.cpp
deleted file mode 100755
index b5d001a..0000000
--- a/SRC/Boost/libs/config/test/no_part_spec_def_args_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Mon Apr 21 12:40:41 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 44422 2008-04-14 18:06:59Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-// This file should not compile, if it does then
-// BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS should not be defined.
-// See file boost_no_part_spec_def_args.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-#include "boost_no_part_spec_def_args.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_partial_specialization_implicit_default_args::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_part_spec_def_args_pass.cpp b/SRC/Boost/libs/config/test/no_part_spec_def_args_pass.cpp
deleted file mode 100755
index 2ef0ece..0000000
--- a/SRC/Boost/libs/config/test/no_part_spec_def_args_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Mon Apr 21 12:40:41 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 44422 2008-04-14 18:06:59Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-// This file should compile, if it does not then
-// BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS should be defined.
-// See file boost_no_part_spec_def_args.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-#include "boost_no_part_spec_def_args.ipp"
-#else
-namespace boost_no_partial_specialization_implicit_default_args = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_partial_specialization_implicit_default_args::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_partial_spec_fail.cpp b/SRC/Boost/libs/config/test/no_partial_spec_fail.cpp
deleted file mode 100755
index 77a20e4..0000000
--- a/SRC/Boost/libs/config/test/no_partial_spec_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-// This file should not compile, if it does then
-// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION should not be defined.
-// See file boost_no_partial_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include "boost_no_partial_spec.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_template_partial_specialization::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_partial_spec_pass.cpp b/SRC/Boost/libs/config/test/no_partial_spec_pass.cpp
deleted file mode 100755
index eb62adb..0000000
--- a/SRC/Boost/libs/config/test/no_partial_spec_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-// This file should compile, if it does not then
-// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION should be defined.
-// See file boost_no_partial_spec.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include "boost_no_partial_spec.ipp"
-#else
-namespace boost_no_template_partial_specialization = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_template_partial_specialization::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_priv_aggregate_fail.cpp b/SRC/Boost/libs/config/test/no_priv_aggregate_fail.cpp
deleted file mode 100755
index 0e7d806..0000000
--- a/SRC/Boost/libs/config/test/no_priv_aggregate_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_PRIVATE_IN_AGGREGATE
-// This file should not compile, if it does then
-// BOOST_NO_PRIVATE_IN_AGGREGATE should not be defined.
-// See file boost_no_priv_aggregate.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_PRIVATE_IN_AGGREGATE
-#include "boost_no_priv_aggregate.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_private_in_aggregate::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_priv_aggregate_pass.cpp b/SRC/Boost/libs/config/test/no_priv_aggregate_pass.cpp
deleted file mode 100755
index 5106142..0000000
--- a/SRC/Boost/libs/config/test/no_priv_aggregate_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_PRIVATE_IN_AGGREGATE
-// This file should compile, if it does not then
-// BOOST_NO_PRIVATE_IN_AGGREGATE should be defined.
-// See file boost_no_priv_aggregate.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_PRIVATE_IN_AGGREGATE
-#include "boost_no_priv_aggregate.ipp"
-#else
-namespace boost_no_private_in_aggregate = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_private_in_aggregate::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_ptr_mem_const_fail.cpp b/SRC/Boost/libs/config/test/no_ptr_mem_const_fail.cpp
deleted file mode 100755
index d6d1a47..0000000
--- a/SRC/Boost/libs/config/test/no_ptr_mem_const_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_POINTER_TO_MEMBER_CONST
-// This file should not compile, if it does then
-// BOOST_NO_POINTER_TO_MEMBER_CONST should not be defined.
-// See file boost_no_ptr_mem_const.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_POINTER_TO_MEMBER_CONST
-#include "boost_no_ptr_mem_const.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_pointer_to_member_const::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_ptr_mem_const_pass.cpp b/SRC/Boost/libs/config/test/no_ptr_mem_const_pass.cpp
deleted file mode 100755
index 2d3efff..0000000
--- a/SRC/Boost/libs/config/test/no_ptr_mem_const_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_POINTER_TO_MEMBER_CONST
-// This file should compile, if it does not then
-// BOOST_NO_POINTER_TO_MEMBER_CONST should be defined.
-// See file boost_no_ptr_mem_const.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_POINTER_TO_MEMBER_CONST
-#include "boost_no_ptr_mem_const.ipp"
-#else
-namespace boost_no_pointer_to_member_const = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_pointer_to_member_const::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_raw_literals_fail.cpp b/SRC/Boost/libs/config/test/no_raw_literals_fail.cpp
deleted file mode 100755
index d51bc65..0000000
--- a/SRC/Boost/libs/config/test/no_raw_literals_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Jun 19 16:26:16 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_raw_literals_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_RAW_LITERALS
-// This file should not compile, if it does then
-// BOOST_NO_RAW_LITERALS should not be defined.
-// See file boost_no_raw_literals.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_RAW_LITERALS
-#include "boost_no_raw_literals.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_raw_literals::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_raw_literals_pass.cpp b/SRC/Boost/libs/config/test/no_raw_literals_pass.cpp
deleted file mode 100755
index 5d6488a..0000000
--- a/SRC/Boost/libs/config/test/no_raw_literals_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Jun 19 16:26:16 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_raw_literals_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_RAW_LITERALS
-// This file should compile, if it does not then
-// BOOST_NO_RAW_LITERALS should be defined.
-// See file boost_no_raw_literals.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_RAW_LITERALS
-#include "boost_no_raw_literals.ipp"
-#else
-namespace boost_no_raw_literals = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_raw_literals::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_ret_det_fail.cpp b/SRC/Boost/libs/config/test/no_ret_det_fail.cpp
deleted file mode 100755
index c97bf74..0000000
--- a/SRC/Boost/libs/config/test/no_ret_det_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_UNREACHABLE_RETURN_DETECTION
-// This file should not compile, if it does then
-// BOOST_NO_UNREACHABLE_RETURN_DETECTION should not be defined.
-// See file boost_no_ret_det.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
-#include "boost_no_ret_det.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_unreachable_return_detection::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_ret_det_pass.cpp b/SRC/Boost/libs/config/test/no_ret_det_pass.cpp
deleted file mode 100755
index 3b3fc5b..0000000
--- a/SRC/Boost/libs/config/test/no_ret_det_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_UNREACHABLE_RETURN_DETECTION
-// This file should compile, if it does not then
-// BOOST_NO_UNREACHABLE_RETURN_DETECTION should be defined.
-// See file boost_no_ret_det.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_UNREACHABLE_RETURN_DETECTION
-#include "boost_no_ret_det.ipp"
-#else
-namespace boost_no_unreachable_return_detection = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_unreachable_return_detection::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_rtti_fail.cpp b/SRC/Boost/libs/config/test/no_rtti_fail.cpp
deleted file mode 100755
index c0af66a..0000000
--- a/SRC/Boost/libs/config/test/no_rtti_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Mon Aug 25 10:51:51 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 47351 2008-07-12 12:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_RTTI
-// This file should not compile, if it does then
-// BOOST_NO_RTTI should not be defined.
-// See file boost_no_rtti.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_RTTI
-#include "boost_no_rtti.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_rtti::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_rtti_pass.cpp b/SRC/Boost/libs/config/test/no_rtti_pass.cpp
deleted file mode 100755
index c50280c..0000000
--- a/SRC/Boost/libs/config/test/no_rtti_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Mon Aug 25 10:51:51 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 47351 2008-07-12 12:41:52Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_RTTI
-// This file should compile, if it does not then
-// BOOST_NO_RTTI should be defined.
-// See file boost_no_rtti.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_RTTI
-#include "boost_no_rtti.ipp"
-#else
-namespace boost_no_rtti = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_rtti::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_rvalue_references_fail.cpp b/SRC/Boost/libs/config/test/no_rvalue_references_fail.cpp
deleted file mode 100755
index f15b72e..0000000
--- a/SRC/Boost/libs/config/test/no_rvalue_references_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 07:24:54 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_rvalue_references_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_RVALUE_REFERENCES
-// This file should not compile, if it does then
-// BOOST_NO_RVALUE_REFERENCES should not be defined.
-// See file boost_no_rvalue_references.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_RVALUE_REFERENCES
-#include "boost_no_rvalue_references.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_rvalue_references::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_rvalue_references_pass.cpp b/SRC/Boost/libs/config/test/no_rvalue_references_pass.cpp
deleted file mode 100755
index 18d50af..0000000
--- a/SRC/Boost/libs/config/test/no_rvalue_references_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 07:24:54 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_rvalue_references_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_RVALUE_REFERENCES
-// This file should compile, if it does not then
-// BOOST_NO_RVALUE_REFERENCES should be defined.
-// See file boost_no_rvalue_references.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_RVALUE_REFERENCES
-#include "boost_no_rvalue_references.ipp"
-#else
-namespace boost_no_rvalue_references = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_rvalue_references::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_scoped_enums_fail.cpp b/SRC/Boost/libs/config/test/no_scoped_enums_fail.cpp
deleted file mode 100755
index d958ca4..0000000
--- a/SRC/Boost/libs/config/test/no_scoped_enums_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 08:00:48 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_scoped_enums_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_SCOPED_ENUMS
-// This file should not compile, if it does then
-// BOOST_NO_SCOPED_ENUMS should not be defined.
-// See file boost_no_scoped_enums.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_SCOPED_ENUMS
-#include "boost_no_scoped_enums.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_scoped_enums::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_scoped_enums_pass.cpp b/SRC/Boost/libs/config/test/no_scoped_enums_pass.cpp
deleted file mode 100755
index 9b245c9..0000000
--- a/SRC/Boost/libs/config/test/no_scoped_enums_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 08:00:48 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_scoped_enums_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_SCOPED_ENUMS
-// This file should compile, if it does not then
-// BOOST_NO_SCOPED_ENUMS should be defined.
-// See file boost_no_scoped_enums.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_SCOPED_ENUMS
-#include "boost_no_scoped_enums.ipp"
-#else
-namespace boost_no_scoped_enums = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_scoped_enums::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_sfinae_expr_fail.cpp b/SRC/Boost/libs/config/test/no_sfinae_expr_fail.cpp
deleted file mode 100755
index b57b4ec..0000000
--- a/SRC/Boost/libs/config/test/no_sfinae_expr_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Sun Aug 02 08:25:59 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_sfinae_expr_fail.cpp 56678 2009-10-09 16:16:02Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_SFINAE_EXPR
-// This file should not compile, if it does then
-// BOOST_NO_SFINAE_EXPR should not be defined.
-// See file boost_no_sfinae_expr.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_SFINAE_EXPR
-#include "boost_no_sfinae_expr.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_sfinae_expr::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_sfinae_expr_pass.cpp b/SRC/Boost/libs/config/test/no_sfinae_expr_pass.cpp
deleted file mode 100755
index 3d8fe59..0000000
--- a/SRC/Boost/libs/config/test/no_sfinae_expr_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Sun Aug 02 08:25:59 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_sfinae_expr_pass.cpp 56678 2009-10-09 16:16:02Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_SFINAE_EXPR
-// This file should compile, if it does not then
-// BOOST_NO_SFINAE_EXPR should be defined.
-// See file boost_no_sfinae_expr.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_SFINAE_EXPR
-#include "boost_no_sfinae_expr.ipp"
-#else
-namespace boost_no_sfinae_expr = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_sfinae_expr::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_sfinae_fail.cpp b/SRC/Boost/libs/config/test/no_sfinae_fail.cpp
deleted file mode 100755
index 44d5781..0000000
--- a/SRC/Boost/libs/config/test/no_sfinae_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_SFINAE
-// This file should not compile, if it does then
-// BOOST_NO_SFINAE should not be defined.
-// See file boost_no_sfinae.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_SFINAE
-#include "boost_no_sfinae.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_sfinae::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_sfinae_pass.cpp b/SRC/Boost/libs/config/test/no_sfinae_pass.cpp
deleted file mode 100755
index 40eaeea..0000000
--- a/SRC/Boost/libs/config/test/no_sfinae_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_SFINAE
-// This file should compile, if it does not then
-// BOOST_NO_SFINAE should be defined.
-// See file boost_no_sfinae.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_SFINAE
-#include "boost_no_sfinae.ipp"
-#else
-namespace boost_no_sfinae = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_sfinae::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_sstream_fail.cpp b/SRC/Boost/libs/config/test/no_sstream_fail.cpp
deleted file mode 100755
index 5e2bcd4..0000000
--- a/SRC/Boost/libs/config/test/no_sstream_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STRINGSTREAM
-// This file should not compile, if it does then
-// BOOST_NO_STRINGSTREAM should not be defined.
-// See file boost_no_sstream.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STRINGSTREAM
-#include "boost_no_sstream.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_stringstream::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_sstream_pass.cpp b/SRC/Boost/libs/config/test/no_sstream_pass.cpp
deleted file mode 100755
index c058f84..0000000
--- a/SRC/Boost/libs/config/test/no_sstream_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STRINGSTREAM
-// This file should compile, if it does not then
-// BOOST_NO_STRINGSTREAM should be defined.
-// See file boost_no_sstream.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STRINGSTREAM
-#include "boost_no_sstream.ipp"
-#else
-namespace boost_no_stringstream = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_stringstream::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_static_assert_fail.cpp b/SRC/Boost/libs/config/test/no_static_assert_fail.cpp
deleted file mode 100755
index 4c7753b..0000000
--- a/SRC/Boost/libs/config/test/no_static_assert_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 07:24:54 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_static_assert_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_STATIC_ASSERT
-// This file should not compile, if it does then
-// BOOST_NO_STATIC_ASSERT should not be defined.
-// See file boost_no_static_assert.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STATIC_ASSERT
-#include "boost_no_static_assert.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_static_assert::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_static_assert_pass.cpp b/SRC/Boost/libs/config/test/no_static_assert_pass.cpp
deleted file mode 100755
index a9bc07a..0000000
--- a/SRC/Boost/libs/config/test/no_static_assert_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 07:24:54 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_static_assert_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_STATIC_ASSERT
-// This file should compile, if it does not then
-// BOOST_NO_STATIC_ASSERT should be defined.
-// See file boost_no_static_assert.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STATIC_ASSERT
-#include "boost_no_static_assert.ipp"
-#else
-namespace boost_no_static_assert = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_static_assert::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_allocator_fail.cpp b/SRC/Boost/libs/config/test/no_std_allocator_fail.cpp
deleted file mode 100755
index 4c40822..0000000
--- a/SRC/Boost/libs/config/test/no_std_allocator_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_ALLOCATOR
-// This file should not compile, if it does then
-// BOOST_NO_STD_ALLOCATOR should not be defined.
-// See file boost_no_std_allocator.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_ALLOCATOR
-#include "boost_no_std_allocator.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_allocator::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_allocator_pass.cpp b/SRC/Boost/libs/config/test/no_std_allocator_pass.cpp
deleted file mode 100755
index c6ad82f..0000000
--- a/SRC/Boost/libs/config/test/no_std_allocator_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_ALLOCATOR
-// This file should compile, if it does not then
-// BOOST_NO_STD_ALLOCATOR should be defined.
-// See file boost_no_std_allocator.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_ALLOCATOR
-#include "boost_no_std_allocator.ipp"
-#else
-namespace boost_no_std_allocator = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_allocator::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_distance_fail.cpp b/SRC/Boost/libs/config/test/no_std_distance_fail.cpp
deleted file mode 100755
index 189eb7f..0000000
--- a/SRC/Boost/libs/config/test/no_std_distance_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_DISTANCE
-// This file should not compile, if it does then
-// BOOST_NO_STD_DISTANCE should not be defined.
-// See file boost_no_std_distance.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_DISTANCE
-#include "boost_no_std_distance.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_distance::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_distance_pass.cpp b/SRC/Boost/libs/config/test/no_std_distance_pass.cpp
deleted file mode 100755
index f2e39cf..0000000
--- a/SRC/Boost/libs/config/test/no_std_distance_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_DISTANCE
-// This file should compile, if it does not then
-// BOOST_NO_STD_DISTANCE should be defined.
-// See file boost_no_std_distance.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_DISTANCE
-#include "boost_no_std_distance.ipp"
-#else
-namespace boost_no_std_distance = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_distance::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_iter_traits_fail.cpp b/SRC/Boost/libs/config/test/no_std_iter_traits_fail.cpp
deleted file mode 100755
index ef87a4a..0000000
--- a/SRC/Boost/libs/config/test/no_std_iter_traits_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_ITERATOR_TRAITS
-// This file should not compile, if it does then
-// BOOST_NO_STD_ITERATOR_TRAITS should not be defined.
-// See file boost_no_std_iter_traits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-#include "boost_no_std_iter_traits.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_iterator_traits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_iter_traits_pass.cpp b/SRC/Boost/libs/config/test/no_std_iter_traits_pass.cpp
deleted file mode 100755
index 879daca..0000000
--- a/SRC/Boost/libs/config/test/no_std_iter_traits_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_ITERATOR_TRAITS
-// This file should compile, if it does not then
-// BOOST_NO_STD_ITERATOR_TRAITS should be defined.
-// See file boost_no_std_iter_traits.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_ITERATOR_TRAITS
-#include "boost_no_std_iter_traits.ipp"
-#else
-namespace boost_no_std_iterator_traits = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_iterator_traits::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_iterator_fail.cpp b/SRC/Boost/libs/config/test/no_std_iterator_fail.cpp
deleted file mode 100755
index cf1f1f2..0000000
--- a/SRC/Boost/libs/config/test/no_std_iterator_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_ITERATOR
-// This file should not compile, if it does then
-// BOOST_NO_STD_ITERATOR should not be defined.
-// See file boost_no_std_iterator.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_ITERATOR
-#include "boost_no_std_iterator.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_iterator::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_iterator_pass.cpp b/SRC/Boost/libs/config/test/no_std_iterator_pass.cpp
deleted file mode 100755
index efbf165..0000000
--- a/SRC/Boost/libs/config/test/no_std_iterator_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_ITERATOR
-// This file should compile, if it does not then
-// BOOST_NO_STD_ITERATOR should be defined.
-// See file boost_no_std_iterator.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_ITERATOR
-#include "boost_no_std_iterator.ipp"
-#else
-namespace boost_no_std_iterator = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_iterator::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_locale_fail.cpp b/SRC/Boost/libs/config/test/no_std_locale_fail.cpp
deleted file mode 100755
index 7597001..0000000
--- a/SRC/Boost/libs/config/test/no_std_locale_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_LOCALE
-// This file should not compile, if it does then
-// BOOST_NO_STD_LOCALE should not be defined.
-// See file boost_no_std_locale.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_LOCALE
-#include "boost_no_std_locale.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_locale::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_locale_pass.cpp b/SRC/Boost/libs/config/test/no_std_locale_pass.cpp
deleted file mode 100755
index 17ab476..0000000
--- a/SRC/Boost/libs/config/test/no_std_locale_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_LOCALE
-// This file should compile, if it does not then
-// BOOST_NO_STD_LOCALE should be defined.
-// See file boost_no_std_locale.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_LOCALE
-#include "boost_no_std_locale.ipp"
-#else
-namespace boost_no_std_locale = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_locale::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_messages_fail.cpp b/SRC/Boost/libs/config/test/no_std_messages_fail.cpp
deleted file mode 100755
index 11dd257..0000000
--- a/SRC/Boost/libs/config/test/no_std_messages_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_MESSAGES
-// This file should not compile, if it does then
-// BOOST_NO_STD_MESSAGES should not be defined.
-// See file boost_no_std_messages.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_MESSAGES
-#include "boost_no_std_messages.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_messages::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_messages_pass.cpp b/SRC/Boost/libs/config/test/no_std_messages_pass.cpp
deleted file mode 100755
index f3ae6d9..0000000
--- a/SRC/Boost/libs/config/test/no_std_messages_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_MESSAGES
-// This file should compile, if it does not then
-// BOOST_NO_STD_MESSAGES should be defined.
-// See file boost_no_std_messages.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_MESSAGES
-#include "boost_no_std_messages.ipp"
-#else
-namespace boost_no_std_messages = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_messages::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_min_max_fail.cpp b/SRC/Boost/libs/config/test/no_std_min_max_fail.cpp
deleted file mode 100755
index 55021b8..0000000
--- a/SRC/Boost/libs/config/test/no_std_min_max_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_MIN_MAX
-// This file should not compile, if it does then
-// BOOST_NO_STD_MIN_MAX should not be defined.
-// See file boost_no_std_min_max.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_MIN_MAX
-#include "boost_no_std_min_max.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_min_max::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_min_max_pass.cpp b/SRC/Boost/libs/config/test/no_std_min_max_pass.cpp
deleted file mode 100755
index e378111..0000000
--- a/SRC/Boost/libs/config/test/no_std_min_max_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_MIN_MAX
-// This file should compile, if it does not then
-// BOOST_NO_STD_MIN_MAX should be defined.
-// See file boost_no_std_min_max.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_MIN_MAX
-#include "boost_no_std_min_max.ipp"
-#else
-namespace boost_no_std_min_max = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_min_max::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_oi_assign_fail.cpp b/SRC/Boost/libs/config/test/no_std_oi_assign_fail.cpp
deleted file mode 100755
index ff8eb62..0000000
--- a/SRC/Boost/libs/config/test/no_std_oi_assign_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-// This file should not compile, if it does then
-// BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN should not be defined.
-// See file boost_no_std_oi_assign.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-#include "boost_no_std_oi_assign.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_output_iterator_assign::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_oi_assign_pass.cpp b/SRC/Boost/libs/config/test/no_std_oi_assign_pass.cpp
deleted file mode 100755
index 610f37f..0000000
--- a/SRC/Boost/libs/config/test/no_std_oi_assign_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-// This file should compile, if it does not then
-// BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN should be defined.
-// See file boost_no_std_oi_assign.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-#include "boost_no_std_oi_assign.ipp"
-#else
-namespace boost_no_std_output_iterator_assign = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_output_iterator_assign::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_typeinfo_fail.cpp b/SRC/Boost/libs/config/test/no_std_typeinfo_fail.cpp
deleted file mode 100755
index 1364328..0000000
--- a/SRC/Boost/libs/config/test/no_std_typeinfo_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:22 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_TYPEINFO
-// This file should not compile, if it does then
-// BOOST_NO_STD_TYPEINFO should not be defined.
-// See file boost_no_std_typeinfo.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_TYPEINFO
-#include "boost_no_std_typeinfo.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_typeinfo::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_typeinfo_pass.cpp b/SRC/Boost/libs/config/test/no_std_typeinfo_pass.cpp
deleted file mode 100755
index 1d506b5..0000000
--- a/SRC/Boost/libs/config/test/no_std_typeinfo_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:22 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_TYPEINFO
-// This file should compile, if it does not then
-// BOOST_NO_STD_TYPEINFO should be defined.
-// See file boost_no_std_typeinfo.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_TYPEINFO
-#include "boost_no_std_typeinfo.ipp"
-#else
-namespace boost_no_std_typeinfo = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_typeinfo::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_unordered_fail.cpp b/SRC/Boost/libs/config/test/no_std_unordered_fail.cpp
deleted file mode 100755
index ed0afd2..0000000
--- a/SRC/Boost/libs/config/test/no_std_unordered_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Tue Dec 16 16:41:40 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_STD_UNORDERED
-// This file should not compile, if it does then
-// BOOST_NO_STD_UNORDERED should not be defined.
-// See file boost_no_std_unordered.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_UNORDERED
-#include "boost_no_std_unordered.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_unordered::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_unordered_pass.cpp b/SRC/Boost/libs/config/test/no_std_unordered_pass.cpp
deleted file mode 100755
index a6efa21..0000000
--- a/SRC/Boost/libs/config/test/no_std_unordered_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Tue Dec 16 16:41:40 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_STD_UNORDERED
-// This file should compile, if it does not then
-// BOOST_NO_STD_UNORDERED should be defined.
-// See file boost_no_std_unordered.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_UNORDERED
-#include "boost_no_std_unordered.ipp"
-#else
-namespace boost_no_std_unordered = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_unordered::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_use_facet_fail.cpp b/SRC/Boost/libs/config/test/no_std_use_facet_fail.cpp
deleted file mode 100755
index 2f18c18..0000000
--- a/SRC/Boost/libs/config/test/no_std_use_facet_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_USE_FACET
-// This file should not compile, if it does then
-// BOOST_NO_STD_USE_FACET should not be defined.
-// See file boost_no_std_use_facet.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_USE_FACET
-#include "boost_no_std_use_facet.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_use_facet::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_use_facet_pass.cpp b/SRC/Boost/libs/config/test/no_std_use_facet_pass.cpp
deleted file mode 100755
index fbcdbf9..0000000
--- a/SRC/Boost/libs/config/test/no_std_use_facet_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_USE_FACET
-// This file should compile, if it does not then
-// BOOST_NO_STD_USE_FACET should be defined.
-// See file boost_no_std_use_facet.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_USE_FACET
-#include "boost_no_std_use_facet.ipp"
-#else
-namespace boost_no_std_use_facet = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_use_facet::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_wstreambuf_fail.cpp b/SRC/Boost/libs/config/test/no_std_wstreambuf_fail.cpp
deleted file mode 100755
index 61cd735..0000000
--- a/SRC/Boost/libs/config/test/no_std_wstreambuf_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_WSTREAMBUF
-// This file should not compile, if it does then
-// BOOST_NO_STD_WSTREAMBUF should not be defined.
-// See file boost_no_std_wstreambuf.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#include "boost_no_std_wstreambuf.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_wstreambuf::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_wstreambuf_pass.cpp b/SRC/Boost/libs/config/test/no_std_wstreambuf_pass.cpp
deleted file mode 100755
index 07ca554..0000000
--- a/SRC/Boost/libs/config/test/no_std_wstreambuf_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_WSTREAMBUF
-// This file should compile, if it does not then
-// BOOST_NO_STD_WSTREAMBUF should be defined.
-// See file boost_no_std_wstreambuf.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_WSTREAMBUF
-#include "boost_no_std_wstreambuf.ipp"
-#else
-namespace boost_no_std_wstreambuf = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_wstreambuf::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_wstring_fail.cpp b/SRC/Boost/libs/config/test/no_std_wstring_fail.cpp
deleted file mode 100755
index aa84ae2..0000000
--- a/SRC/Boost/libs/config/test/no_std_wstring_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_WSTRING
-// This file should not compile, if it does then
-// BOOST_NO_STD_WSTRING should not be defined.
-// See file boost_no_std_wstring.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STD_WSTRING
-#include "boost_no_std_wstring.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_wstring::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_std_wstring_pass.cpp b/SRC/Boost/libs/config/test/no_std_wstring_pass.cpp
deleted file mode 100755
index c60718c..0000000
--- a/SRC/Boost/libs/config/test/no_std_wstring_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STD_WSTRING
-// This file should compile, if it does not then
-// BOOST_NO_STD_WSTRING should be defined.
-// See file boost_no_std_wstring.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STD_WSTRING
-#include "boost_no_std_wstring.ipp"
-#else
-namespace boost_no_std_wstring = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_std_wstring::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_stdc_namespace_fail.cpp b/SRC/Boost/libs/config/test/no_stdc_namespace_fail.cpp
deleted file mode 100755
index db1ac49..0000000
--- a/SRC/Boost/libs/config/test/no_stdc_namespace_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STDC_NAMESPACE
-// This file should not compile, if it does then
-// BOOST_NO_STDC_NAMESPACE should not be defined.
-// See file boost_no_stdc_namespace.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-#include "boost_no_stdc_namespace.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_stdc_namespace::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_stdc_namespace_pass.cpp b/SRC/Boost/libs/config/test/no_stdc_namespace_pass.cpp
deleted file mode 100755
index 0affb65..0000000
--- a/SRC/Boost/libs/config/test/no_stdc_namespace_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_STDC_NAMESPACE
-// This file should compile, if it does not then
-// BOOST_NO_STDC_NAMESPACE should be defined.
-// See file boost_no_stdc_namespace.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_STDC_NAMESPACE
-#include "boost_no_stdc_namespace.ipp"
-#else
-namespace boost_no_stdc_namespace = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_stdc_namespace::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_swprintf_fail.cpp b/SRC/Boost/libs/config/test/no_swprintf_fail.cpp
deleted file mode 100755
index 5585670..0000000
--- a/SRC/Boost/libs/config/test/no_swprintf_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_SWPRINTF
-// This file should not compile, if it does then
-// BOOST_NO_SWPRINTF should not be defined.
-// See file boost_no_swprintf.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_SWPRINTF
-#include "boost_no_swprintf.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_swprintf::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_swprintf_pass.cpp b/SRC/Boost/libs/config/test/no_swprintf_pass.cpp
deleted file mode 100755
index 8b216f9..0000000
--- a/SRC/Boost/libs/config/test/no_swprintf_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_SWPRINTF
-// This file should compile, if it does not then
-// BOOST_NO_SWPRINTF should be defined.
-// See file boost_no_swprintf.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_SWPRINTF
-#include "boost_no_swprintf.ipp"
-#else
-namespace boost_no_swprintf = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_swprintf::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_template_aliases_fail.cpp b/SRC/Boost/libs/config/test/no_template_aliases_fail.cpp
deleted file mode 100755
index 546f026..0000000
--- a/SRC/Boost/libs/config/test/no_template_aliases_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 14 16:01:36 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_template_aliases_fail.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_TEMPLATE_ALIASES
-// This file should not compile, if it does then
-// BOOST_NO_TEMPLATE_ALIASES should not be defined.
-// See file boost_no_template_aliases.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_TEMPLATE_ALIASES
-#include "boost_no_template_aliases.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_template_aliases::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_template_aliases_pass.cpp b/SRC/Boost/libs/config/test/no_template_aliases_pass.cpp
deleted file mode 100755
index 8e606c1..0000000
--- a/SRC/Boost/libs/config/test/no_template_aliases_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 14 16:01:36 2009
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_template_aliases_pass.cpp 53445 2009-05-30 11:22:59Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_TEMPLATE_ALIASES
-// This file should compile, if it does not then
-// BOOST_NO_TEMPLATE_ALIASES should be defined.
-// See file boost_no_template_aliases.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_TEMPLATE_ALIASES
-#include "boost_no_template_aliases.ipp"
-#else
-namespace boost_no_template_aliases = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_template_aliases::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_template_streams_fail.cpp b/SRC/Boost/libs/config/test/no_template_streams_fail.cpp
deleted file mode 100755
index dac1a13..0000000
--- a/SRC/Boost/libs/config/test/no_template_streams_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Mon Apr 21 10:10:52 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 44422 2008-04-14 18:06:59Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_TEMPLATED_IOSTREAMS
-// This file should not compile, if it does then
-// BOOST_NO_TEMPLATED_IOSTREAMS should not be defined.
-// See file boost_no_template_streams.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_TEMPLATED_IOSTREAMS
-#include "boost_no_template_streams.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_templated_iostreams::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_template_streams_pass.cpp b/SRC/Boost/libs/config/test/no_template_streams_pass.cpp
deleted file mode 100755
index d22c8a3..0000000
--- a/SRC/Boost/libs/config/test/no_template_streams_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Mon Apr 21 10:10:52 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 44422 2008-04-14 18:06:59Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_TEMPLATED_IOSTREAMS
-// This file should compile, if it does not then
-// BOOST_NO_TEMPLATED_IOSTREAMS should be defined.
-// See file boost_no_template_streams.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_TEMPLATED_IOSTREAMS
-#include "boost_no_template_streams.ipp"
-#else
-namespace boost_no_templated_iostreams = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_templated_iostreams::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_template_template_fail.cpp b/SRC/Boost/libs/config/test/no_template_template_fail.cpp
deleted file mode 100755
index 6629439..0000000
--- a/SRC/Boost/libs/config/test/no_template_template_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_TEMPLATE_TEMPLATES
-// This file should not compile, if it does then
-// BOOST_NO_TEMPLATE_TEMPLATES should not be defined.
-// See file boost_no_template_template.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_TEMPLATE_TEMPLATES
-#include "boost_no_template_template.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_template_templates::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_template_template_pass.cpp b/SRC/Boost/libs/config/test/no_template_template_pass.cpp
deleted file mode 100755
index 9308946..0000000
--- a/SRC/Boost/libs/config/test/no_template_template_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_TEMPLATE_TEMPLATES
-// This file should compile, if it does not then
-// BOOST_NO_TEMPLATE_TEMPLATES should be defined.
-// See file boost_no_template_template.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_TEMPLATE_TEMPLATES
-#include "boost_no_template_template.ipp"
-#else
-namespace boost_no_template_templates = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_template_templates::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_two_phase_lookup_fail.cpp b/SRC/Boost/libs/config/test/no_two_phase_lookup_fail.cpp
deleted file mode 100755
index be8560e..0000000
--- a/SRC/Boost/libs/config/test/no_two_phase_lookup_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Mon Jan 01 12:05:16 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_TWO_PHASE_NAME_LOOKUP
-// This file should not compile, if it does then
-// BOOST_NO_TWO_PHASE_NAME_LOOKUP should not be defined.
-// See file boost_no_two_phase_lookup.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#include "boost_no_two_phase_lookup.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_two_phase_name_lookup::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_two_phase_lookup_pass.cpp b/SRC/Boost/libs/config/test/no_two_phase_lookup_pass.cpp
deleted file mode 100755
index ded6873..0000000
--- a/SRC/Boost/libs/config/test/no_two_phase_lookup_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Mon Jan 01 12:05:16 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_TWO_PHASE_NAME_LOOKUP
-// This file should compile, if it does not then
-// BOOST_NO_TWO_PHASE_NAME_LOOKUP should be defined.
-// See file boost_no_two_phase_lookup.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#include "boost_no_two_phase_lookup.ipp"
-#else
-namespace boost_no_two_phase_name_lookup = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_two_phase_name_lookup::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_typeid_fail.cpp b/SRC/Boost/libs/config/test/no_typeid_fail.cpp
deleted file mode 100755
index 99013b8..0000000
--- a/SRC/Boost/libs/config/test/no_typeid_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:22 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_TYPEID
-// This file should not compile, if it does then
-// BOOST_NO_TYPEID should not be defined.
-// See file boost_no_typeid.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_TYPEID
-#include "boost_no_typeid.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_typeid::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_typeid_pass.cpp b/SRC/Boost/libs/config/test/no_typeid_pass.cpp
deleted file mode 100755
index 25a7d6c..0000000
--- a/SRC/Boost/libs/config/test/no_typeid_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Sat Aug 25 12:32:22 2007
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_TYPEID
-// This file should compile, if it does not then
-// BOOST_NO_TYPEID should be defined.
-// See file boost_no_typeid.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_TYPEID
-#include "boost_no_typeid.ipp"
-#else
-namespace boost_no_typeid = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_typeid::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_typename_with_ctor_fail.cpp b/SRC/Boost/libs/config/test/no_typename_with_ctor_fail.cpp
deleted file mode 100755
index 45bfe3a..0000000
--- a/SRC/Boost/libs/config/test/no_typename_with_ctor_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Sep 18 23:32:18 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id$
-//
-
-
-// Test file for macro BOOST_NO_TYPENAME_WITH_CTOR
-// This file should not compile, if it does then
-// BOOST_NO_TYPENAME_WITH_CTOR should not be defined.
-// See file boost_no_typename_with_ctor.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_TYPENAME_WITH_CTOR
-#include "boost_no_typename_with_ctor.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_typename_with_ctor::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_typename_with_ctor_pass.cpp b/SRC/Boost/libs/config/test/no_typename_with_ctor_pass.cpp
deleted file mode 100755
index 822e690..0000000
--- a/SRC/Boost/libs/config/test/no_typename_with_ctor_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu Sep 18 23:32:18 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id$
-//
-
-
-// Test file for macro BOOST_NO_TYPENAME_WITH_CTOR
-// This file should compile, if it does not then
-// BOOST_NO_TYPENAME_WITH_CTOR should be defined.
-// See file boost_no_typename_with_ctor.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_TYPENAME_WITH_CTOR
-#include "boost_no_typename_with_ctor.ipp"
-#else
-namespace boost_no_typename_with_ctor = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_typename_with_ctor::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_unicode_literals_fail.cpp b/SRC/Boost/libs/config/test/no_unicode_literals_fail.cpp
deleted file mode 100755
index 159386d..0000000
--- a/SRC/Boost/libs/config/test/no_unicode_literals_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 09:24:04 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_unicode_literals_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_UNICODE_LITERALS
-// This file should not compile, if it does then
-// BOOST_NO_UNICODE_LITERALS should not be defined.
-// See file boost_no_unicode_literals.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_UNICODE_LITERALS
-#include "boost_no_unicode_literals.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_unicode_literals::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_unicode_literals_pass.cpp b/SRC/Boost/libs/config/test/no_unicode_literals_pass.cpp
deleted file mode 100755
index b5e95ea..0000000
--- a/SRC/Boost/libs/config/test/no_unicode_literals_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 09:24:04 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_unicode_literals_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_UNICODE_LITERALS
-// This file should compile, if it does not then
-// BOOST_NO_UNICODE_LITERALS should be defined.
-// See file boost_no_unicode_literals.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_UNICODE_LITERALS
-#include "boost_no_unicode_literals.ipp"
-#else
-namespace boost_no_unicode_literals = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_unicode_literals::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_unified_init_fail.cpp b/SRC/Boost/libs/config/test/no_unified_init_fail.cpp
deleted file mode 100755
index eb6feeb..0000000
--- a/SRC/Boost/libs/config/test/no_unified_init_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Mon May 09 12:11:17 2011
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 70001 2011-03-15 13:17:46Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-// This file should not compile, if it does then
-// BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX should not be defined.
-// See file boost_no_unified_init.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#include "boost_no_unified_init.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_unified_initialization_syntax::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_unified_init_pass.cpp b/SRC/Boost/libs/config/test/no_unified_init_pass.cpp
deleted file mode 100755
index 80b5446..0000000
--- a/SRC/Boost/libs/config/test/no_unified_init_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Mon May 09 12:11:17 2011
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 70001 2011-03-15 13:17:46Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-// This file should compile, if it does not then
-// BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX should be defined.
-// See file boost_no_unified_init.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#include "boost_no_unified_init.ipp"
-#else
-namespace boost_no_unified_initialization_syntax = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_unified_initialization_syntax::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_using_breaks_adl_fail.cpp b/SRC/Boost/libs/config/test/no_using_breaks_adl_fail.cpp
deleted file mode 100755
index ee606f5..0000000
--- a/SRC/Boost/libs/config/test/no_using_breaks_adl_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-// This file should not compile, if it does then
-// BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL should not be defined.
-// See file boost_no_using_breaks_adl.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#include "boost_no_using_breaks_adl.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_function_scope_using_declaration_breaks_adl::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_using_breaks_adl_pass.cpp b/SRC/Boost/libs/config/test/no_using_breaks_adl_pass.cpp
deleted file mode 100755
index 5a2add9..0000000
--- a/SRC/Boost/libs/config/test/no_using_breaks_adl_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-// This file should compile, if it does not then
-// BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL should be defined.
-// See file boost_no_using_breaks_adl.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#include "boost_no_using_breaks_adl.ipp"
-#else
-namespace boost_function_scope_using_declaration_breaks_adl = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_function_scope_using_declaration_breaks_adl::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_using_decl_overld_fail.cpp b/SRC/Boost/libs/config/test/no_using_decl_overld_fail.cpp
deleted file mode 100755
index fb6100a..0000000
--- a/SRC/Boost/libs/config/test/no_using_decl_overld_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-// This file should not compile, if it does then
-// BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE should not be defined.
-// See file boost_no_using_decl_overld.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-#include "boost_no_using_decl_overld.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_using_declaration_overloads_from_typename_base::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_using_decl_overld_pass.cpp b/SRC/Boost/libs/config/test/no_using_decl_overld_pass.cpp
deleted file mode 100755
index ab83de8..0000000
--- a/SRC/Boost/libs/config/test/no_using_decl_overld_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-// This file should compile, if it does not then
-// BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE should be defined.
-// See file boost_no_using_decl_overld.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-#include "boost_no_using_decl_overld.ipp"
-#else
-namespace boost_no_using_declaration_overloads_from_typename_base = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_using_declaration_overloads_from_typename_base::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_using_template_fail.cpp b/SRC/Boost/libs/config/test/no_using_template_fail.cpp
deleted file mode 100755
index b7b2533..0000000
--- a/SRC/Boost/libs/config/test/no_using_template_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_USING_TEMPLATE
-// This file should not compile, if it does then
-// BOOST_NO_USING_TEMPLATE should not be defined.
-// See file boost_no_using_template.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_USING_TEMPLATE
-#include "boost_no_using_template.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_using_template::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_using_template_pass.cpp b/SRC/Boost/libs/config/test/no_using_template_pass.cpp
deleted file mode 100755
index 897f5f4..0000000
--- a/SRC/Boost/libs/config/test/no_using_template_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_USING_TEMPLATE
-// This file should compile, if it does not then
-// BOOST_NO_USING_TEMPLATE should be defined.
-// See file boost_no_using_template.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_USING_TEMPLATE
-#include "boost_no_using_template.ipp"
-#else
-namespace boost_no_using_template = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_using_template::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_variadic_macros_fail.cpp b/SRC/Boost/libs/config/test/no_variadic_macros_fail.cpp
deleted file mode 100755
index 02488b0..0000000
--- a/SRC/Boost/libs/config/test/no_variadic_macros_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Tue Aug 17 09:59:01 2010
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_VARIADIC_MACROS
-// This file should not compile, if it does then
-// BOOST_NO_VARIADIC_MACROS should not be defined.
-// See file boost_no_variadic_macros.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_VARIADIC_MACROS
-#include "boost_no_variadic_macros.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_variadic_macros::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_variadic_macros_pass.cpp b/SRC/Boost/libs/config/test/no_variadic_macros_pass.cpp
deleted file mode 100755
index c0a9684..0000000
--- a/SRC/Boost/libs/config/test/no_variadic_macros_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Tue Aug 17 09:59:01 2010
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
-//
-
-
-// Test file for macro BOOST_NO_VARIADIC_MACROS
-// This file should compile, if it does not then
-// BOOST_NO_VARIADIC_MACROS should be defined.
-// See file boost_no_variadic_macros.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_VARIADIC_MACROS
-#include "boost_no_variadic_macros.ipp"
-#else
-namespace boost_no_variadic_macros = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_variadic_macros::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_variadic_templates_fail.cpp b/SRC/Boost/libs/config/test/no_variadic_templates_fail.cpp
deleted file mode 100755
index dba5d88..0000000
--- a/SRC/Boost/libs/config/test/no_variadic_templates_fail.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 07:24:54 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_variadic_templates_fail.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_VARIADIC_TEMPLATES
-// This file should not compile, if it does then
-// BOOST_NO_VARIADIC_TEMPLATES should not be defined.
-// See file boost_no_variadic_templates.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_VARIADIC_TEMPLATES
-#include "boost_no_variadic_templates.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_variadic_templates::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_variadic_templates_pass.cpp b/SRC/Boost/libs/config/test/no_variadic_templates_pass.cpp
deleted file mode 100755
index e758c1c..0000000
--- a/SRC/Boost/libs/config/test/no_variadic_templates_pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  This file was automatically generated on Thu May 29 07:24:54 2008
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.//
-//  Revision $Id: no_variadic_templates_pass.cpp 51606 2009-03-04 14:28:36Z bemandawes $
-//
-
-
-// Test file for macro BOOST_NO_VARIADIC_TEMPLATES
-// This file should compile, if it does not then
-// BOOST_NO_VARIADIC_TEMPLATES should be defined.
-// See file boost_no_variadic_templates.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_VARIADIC_TEMPLATES
-#include "boost_no_variadic_templates.ipp"
-#else
-namespace boost_no_variadic_templates = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_variadic_templates::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_void_returns_fail.cpp b/SRC/Boost/libs/config/test/no_void_returns_fail.cpp
deleted file mode 100755
index f90fc9c..0000000
--- a/SRC/Boost/libs/config/test/no_void_returns_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_VOID_RETURNS
-// This file should not compile, if it does then
-// BOOST_NO_VOID_RETURNS should not be defined.
-// See file boost_no_void_returns.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_VOID_RETURNS
-#include "boost_no_void_returns.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_void_returns::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_void_returns_pass.cpp b/SRC/Boost/libs/config/test/no_void_returns_pass.cpp
deleted file mode 100755
index 9dacc81..0000000
--- a/SRC/Boost/libs/config/test/no_void_returns_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_VOID_RETURNS
-// This file should compile, if it does not then
-// BOOST_NO_VOID_RETURNS should be defined.
-// See file boost_no_void_returns.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_VOID_RETURNS
-#include "boost_no_void_returns.ipp"
-#else
-namespace boost_no_void_returns = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_void_returns::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_wchar_t_fail.cpp b/SRC/Boost/libs/config/test/no_wchar_t_fail.cpp
deleted file mode 100755
index 557f289..0000000
--- a/SRC/Boost/libs/config/test/no_wchar_t_fail.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_INTRINSIC_WCHAR_T
-// This file should not compile, if it does then
-// BOOST_NO_INTRINSIC_WCHAR_T should not be defined.
-// See file boost_no_wchar_t.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef BOOST_NO_INTRINSIC_WCHAR_T
-#include "boost_no_wchar_t.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_intrinsic_wchar_t::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/no_wchar_t_pass.cpp b/SRC/Boost/libs/config/test/no_wchar_t_pass.cpp
deleted file mode 100755
index 08d7328..0000000
--- a/SRC/Boost/libs/config/test/no_wchar_t_pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  This file was automatically generated on Fri Dec 03 18:04:02 2004
-//  by libs/config/tools/generate.cpp
-//  Copyright John Maddock 2002-4.
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-// Test file for macro BOOST_NO_INTRINSIC_WCHAR_T
-// This file should compile, if it does not then
-// BOOST_NO_INTRINSIC_WCHAR_T should be defined.
-// See file boost_no_wchar_t.ipp for details
-
-// Must not have BOOST_ASSERT_CONFIG set; it defeats
-// the objective of this file:
-#ifdef BOOST_ASSERT_CONFIG
-#  undef BOOST_ASSERT_CONFIG
-#endif
-
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-#include "boost_no_wchar_t.ipp"
-#else
-namespace boost_no_intrinsic_wchar_t = empty_boost;
-#endif
-
-int main( int, char *[] )
-{
-   return boost_no_intrinsic_wchar_t::test();
-}
-
diff --git a/SRC/Boost/libs/config/test/test.hpp b/SRC/Boost/libs/config/test/test.hpp
deleted file mode 100755
index 8a5fd83..0000000
--- a/SRC/Boost/libs/config/test/test.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-//  (C) Copyright John Maddock 2001. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/config for the most recent version.
-
-#ifndef BOOST_CONFIG_TEST_HPP
-#define BOOST_CONFIG_TEST_HPP
- 
-namespace empty_boost{
-
-int test()
-{
-   return 0;
-}
-
-}
-
-#endif
-
diff --git a/SRC/Boost/libs/config/test/threads/test_thread_fail1.cpp b/SRC/Boost/libs/config/test/threads/test_thread_fail1.cpp
deleted file mode 100755
index 54b03d7..0000000
--- a/SRC/Boost/libs/config/test/threads/test_thread_fail1.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// disable thread support:
-#define BOOST_DISABLE_THREADS
-// this should now be a compiler error:
-#include <boost/config/requires_threads.hpp>
-// we should never get here...
diff --git a/SRC/Boost/libs/config/test/threads/test_thread_fail2.cpp b/SRC/Boost/libs/config/test/threads/test_thread_fail2.cpp
deleted file mode 100755
index 859e858..0000000
--- a/SRC/Boost/libs/config/test/threads/test_thread_fail2.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-//  (C) Copyright John Maddock 2003. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/config.hpp>
-// disable thread support:
-#ifdef BOOST_HAS_THREADS
-#  undef BOOST_HAS_THREADS
-#endif
-// this should now be a compiler error:
-#include <boost/config/requires_threads.hpp>
-// we should never get here...
diff --git a/SRC/Boost/libs/config/tools/Jamfile.v2 b/SRC/Boost/libs/config/tools/Jamfile.v2
deleted file mode 100755
index 8b813de..0000000
--- a/SRC/Boost/libs/config/tools/Jamfile.v2
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright John Maddock 2005.
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-run generate.cpp 
-   ../../regex/build//boost_regex 
-   ../../filesystem/build//boost_filesystem ../../system/build//boost_system 
-   : ../../..
-;
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/tools/configure.in b/SRC/Boost/libs/config/tools/configure.in
deleted file mode 100755
index 8c69620..0000000
--- a/SRC/Boost/libs/config/tools/configure.in
+++ /dev/null
@@ -1,463 +0,0 @@
-# copyright John Maddock 2003
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# the following variables contain our macro definitions:
-#
-required_defs=""
-required_undefs=""
-
-dnl Process this file with autoconf to produce a configure script.
-dnl disable cache processing, it has no effect here:
-define([AC_CACHE_LOAD], )dnl
-define([AC_CACHE_SAVE], )dnl
-AC_INIT(./tools/configure.in)
-
-
-AC_ARG_ENABLE(test,   --enable-test             tests current settings rather than defining new ones)
-
-if test "foo"$enable_test = "foo"; then
-   enable_test="no"
-fi
-
-cat << EOF
-*** $0: boost configuration utility ***
-
-Please stand by while exploring compiler capabilities...
-Be patient - this could take some time...
-
-Note that this test script only gives an approximate
-configuration - you will need to test the results carefully
-using the boost regression test suite before using the results.
-EOF
-
-if test $enable_test = 'yes'; then
-
-cat << EOF
-
-This script reports only the difference between the detected
-configuration, and the existing boost configuration.  Its 
-primary aim is to quickly report how well boost is configured
-for one compiler.
-
-***
-
-EOF
-
-else
-
-cat << EOF
-
-***
-
-EOF
-fi
-
-AC_ARG_ENABLE(extension,[--enable-extension=<ext>],
-[
-case "$enableval" in
-   no) AC_MSG_RESULT(Info :.cpp used as extension for tests) 
-       ac_ext=cpp 
-         ;;
-    *) AC_MSG_RESULT(Argument : .$enableval used as extension) 
-   ac_ext=$enableval
-esac
-],
-[AC_MSG_RESULT(Info : .cpp used as extension for tests) 
-   ac_ext=cpp
-]
-)
-
-dnl figure out which version of sed to use, on some platforms
-dnl the version in the path is not Unix conforming (MacOS X ? )
-
-if test -f /bin/sed ; then
-   SED=/bin/sed
-else
-   if test -f /usr/bin/sed ; then
-      SED=/usr/bin/sed
-   else
-      SED=sed
-   fi
-fi
-
-dnl Set the boost main directory.
-AC_MSG_CHECKING(for boost main tree)
-boost_base=
-AC_ARG_WITH(boost,
-  AC_HELP_STRING([--with-boost=DIR],[path to the boost main tree]),
-  [
-  #echo "--with boost is set"
-  if test "x$withval" != "x"; then
-    if test "x$withval" != no; then
-      boost_base=`echo "$withval" | $SED 's,//*,/,g' | $SED 's,/$,,'`
-      #echo boost_base=$boost_base
-      if test -f "$boost_base/boost/config.hpp"; then
-        if test -f "$boost_base/libs/config/configure"; then :; else
-          boost_base=
-          #echo "$boost_base/libs/config/configure" not found
-        fi
-      else
-        #echo "$boost_base/boost/config.hpp" not found
-        boost_base=
-      fi
-    fi
-  fi
-  ]
-)
-if test "x$boost_base" = "x"; then
-  #echo '$0 = ' $0
-  boost_base=`expr "x$0" : 'x\(.*\)/@<:@/@:>@*' \| '.'`
-  boost_base="$boost_base/../.."
-  #echo boost_base=$boost_base
-  if test -f "$boost_base/boost/config.hpp"; then
-    if test -f "$boost_base/libs/config/configure"; then :; else
-      boost_base=
-    fi
-  else
-    boost_base=
-  fi
-fi
-if test "x$boost_base" != "x"; then
-  AC_MSG_RESULT([$boost_base])
-else
-  AC_MSG_RESULT([not found])
-  AC_MSG_ERROR([The boost main tree was not found.
-  Specify its location by the --with-boost option.])
-fi
-  
-
-
-# Save that, as it is being redefined several times 
-use_ac_ext=$ac_ext
-
-AC_PROG_CXX
-ac_ext=$use_ac_ext
-
-AC_LANG_CPLUSPLUS
-
-OLD_CXXFLAGS="$CXXFLAGS"
-
-
-if test $enable_test = 'yes'; then
-   CXXFLAGS="-I$boost_base -I$boost_base/libs/config/test $CXXFLAGS"
-else
-   CXXFLAGS="-I$boost_base -I$boost_base/libs/config/test $CXXFLAGS -DBOOST_NO_CONFIG"
-fi
-
-# add the -AA conformance option to CXXFLAGS for HP aCC only
-if test $CXX = 'aCC'; then
-   CXXFLAGS="-AA $CXXFLAGS"
-fi
-
-dnl check for some standard libraries
-dnl without these some of the tests may fail:
-
-AC_CHECK_LIB(pthread, pthread_exit)
-AC_CHECK_LIB(m, cos)
-AC_CHECK_LIB(rt, clock)
-
-#
-# enumerate test files and test each one:
-#
-for file in $boost_base/libs/config/test/boost_no*.ipp; do
-
-   basename=`echo $file | $SED 's/.*boost_\(.*\)\.ipp/\1/'`
-   macroname=`cat $file | grep '^//[[ 	]]*MACRO:' | $SED 's/.*MACRO:[[ 	]]*\([[_A-Z0-9]]*\).*/\1/'`
-   title=`cat $file | grep '^//[[ 	]]*TITLE:' | $SED 's/.*TITLE:[[ 	]]*\([[^ 	]].*\)/\1/'`
-   namespace=`echo $macroname | tr [[A-Z]] [[a-z]]`
-
-#echo file      = $file
-#echo basename  = $basename
-#echo macroname = $macroname
-#echo title     = $title
-#echo namespace = $namespace
-
-   ac_ext=$use_ac_ext
-   if test $enable_test = 'yes'; then
-      AC_MSG_CHECKING($title (pass expected) )
-   else
-      AC_MSG_CHECKING($title )
-   fi
-   AC_TRY_RUN(
-   [
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#if !defined($macroname) || defined(BOOST_NO_CONFIG)
-#include "boost_$basename.ipp"
-#else
-namespace ${namespace} = empty_boost;
-#endif
-
-int main(){ return ${namespace}::test(); } ]
-   ,
-   [AC_MSG_RESULT(OK)]
-   ,
-   [AC_MSG_RESULT(Failed)
-   required_defs="$macroname $required_defs"]
-   )
-
-   if test $enable_test = 'yes'; then
-   
-   ac_ext=$use_ac_ext
-   AC_MSG_CHECKING($title (fail expected) )
-   AC_TRY_RUN(
-   [
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef $macroname
-#include "boost_$basename.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main() { return ${namespace}::test(); }]
-   ,
-   [AC_MSG_RESULT(failed)
-   required_undefs="$macroname $required_undefs"]
-   ,
-   [AC_MSG_RESULT(OK)]
-   )
-   
-   fi
-
-done
-
-#
-# enumerate optional test files and test each one:
-#
-for file in $boost_base/libs/config/test/boost_has*.ipp; do
-
-   basename=`echo $file | $SED 's/.*boost_\(.*\)\.ipp/\1/'`
-   macroname=`cat $file | grep '^//[[ 	]]*MACRO:' | $SED 's/.*MACRO:[[ 	]]*\([[_A-Z0-9]]*\).*/\1/'`
-   title=`cat $file | grep '^//[[ 	]]*TITLE:' | $SED 's/.*TITLE:[[ 	]]*\([[^ 	]].*\)/\1/'`
-   namespace=`echo $macroname | tr [[A-Z]] [[a-z]]`
-
-#  echo $file
-#  echo $basename
-#  echo $macroname
-#  echo $title
-
-   ac_ext=$use_ac_ext
-   if test $enable_test = 'yes'; then
-   AC_MSG_CHECKING($title (pass expected) )
-   AC_TRY_RUN(
-   [
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifdef $macroname
-#include "boost_$basename.ipp"
-#else
-namespace ${namespace} = empty_boost;
-#endif
-
-int main(){ return ${namespace}::test(); }]
-   ,
-   [AC_MSG_RESULT(OK)]
-   ,
-   [AC_MSG_RESULT(Failed)
-   required_undefs="$macroname $required_undefs"]
-   )
-   
-   AC_MSG_CHECKING($title (fail expected) )
-   AC_TRY_RUN(
-   [
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#ifndef $macroname
-#include "boost_$basename.ipp"
-#else
-#error "this file should not compile"
-#endif
-
-int main(){ return ${namespace}::test(); }]
-   ,
-   [
-   AC_MSG_RESULT(failed)
-   required_defs="$macroname $required_defs"
-   ]
-   ,
-   [
-   AC_MSG_RESULT(OK)
-   ]
-   )
-
-   else
-
-   ac_ext=$use_ac_ext
-   AC_MSG_CHECKING($title)
-   AC_TRY_RUN(
-   [
-#include <boost/config.hpp>
-#include "test.hpp"
-
-#include "boost_$basename.ipp"
-
-int main(){ return ${namespace}::test(); }]
-   ,
-   [
-      AC_MSG_RESULT(Yes)
-      required_defs="$macroname $required_defs"
-   ]
-   ,
-   [
-      AC_MSG_RESULT(no)
-   ]
-   )
-   
-   fi
-
-done
-
-
-#echo $required_defs
-#echo $required_undefs
-
-if test $enable_test = 'yes'; then
-
-if test "$required_defs" = ""; then
-echo no boost macros need to be defined
-echo no boost macros need to be defined >&5
-else
-echo the following macros need to be defined
-echo    $required_defs
-echo the following macros need to be defined >&5
-echo    $required_defs >&5
-fi
-if test "$required_undefs" = ""; then
-echo no boost macros need to be undefined
-echo no boost macros need to be undefined >&5
-else
-echo "the following macros need to be undef'ed"
-echo    $required_undefs
-echo "the following macros need to be undef'ed" >&5
-echo    $required_undefs >&5
-fi
-
-else
-
-date_string=`date`
-
-echo boost_base=$boost_base
-
-cat > user.hpp << EOF
-//  (C) Copyright Boost.org 2001.
-//  Do not check in modified versions of this file,
-//  This file may be customised by the end user, but not by boost.
-
-//
-//  Use this file to define a site and compiler specific
-//  configuration policy, this version was auto-generated by
-//  configure on ${date_string}
-//  With the following options:
-//    CXX      = ${CXX}
-//    CXXFLAGS = ${CXXFLAGS}
-//    LDFLAGS  = ${LDFLAGS}
-//    LIBS     = ${LIBS}
-//
-
-// define this to disable all config options,
-// excluding the user config.  Use if your
-// setup is fully ISO complient, and has no
-// useful extentions, or for autoconf generated
-// setups:
-#ifndef BOOST_NO_CONFIG
-#  define BOOST_NO_CONFIG
-#endif
-
-
-// define if you want to disable threading support, even
-// when available:
-// #define BOOST_DISABLE_THREADS
-
-// define if you want the regex library to use the C locale
-// even on Win32:
-// #define BOOST_REGEX_USE_C_LOCALE
-
-// define this is you want the regex library to use the C++
-// locale:
-// #define BOOST_REGEX_USE_CPP_LOCALE
-
-
-//
-// options added by configure:
-//
-EOF
-
-for name in $required_defs; do
-echo '#define '"$name" >> user.hpp
-done
-
-cat_conts=`cat user.hpp`
-
-#
-# post configuration step:
-#   
-AC_MSG_CHECKING(original configuration )
-rm -f conftest$ac_exeext
-$CXX -I$boost_base $OLD_CXXFLAGS -DBOOST_NO_USER_CONFIG -o conftest$ac_exeext $LDFLAGS $boost_base/libs/config/test/config_info.cpp $LIBS >&5 2>&1
-./conftest >&5 2>&1
-AC_MSG_RESULT(done)
-AC_MSG_CHECKING(new configuration )
-rm -f conftest$ac_exeext
-$CXX -I$boost_base -I$boost_base/libs/config $OLD_CXXFLAGS -DBOOST_USER_CONFIG='"user.hpp"' -o conftest$ac_exeext $LDFLAGS $boost_base/libs/config/test/config_info.cpp $LIBS >&5 2>&1
-./conftest >&5 2>&1
-AC_MSG_RESULT(done)
-
-AC_OUTPUT(
-[],
-[
-cat > user.hpp << EEEOF
-${cat_conts}
-EEEOF
-cat << EEEOF
-
-Adjustments to boost configuration have been written to
-user.hpp.  Copy this to boost/config/user.hpp to use "as is",
-or define BOOST_SITE_CONFIG to point to its location.
-
-TREAT THIS FILE WITH CARE.
-Autoconf generated options are not infallible!
-
-EEEOF
-],
-[
-cat_conts="$cat_conts"
-]
-)
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/config/tools/generate.cpp b/SRC/Boost/libs/config/tools/generate.cpp
deleted file mode 100755
index 9a8df9e..0000000
--- a/SRC/Boost/libs/config/tools/generate.cpp
+++ /dev/null
@@ -1,290 +0,0 @@
-//  (C) Copyright John Maddock 2004. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//
-// This progam scans for *.ipp files in the libs/config/test
-// directory and then generates the *.cpp test files from them
-// along with config_test.cpp and a Jamfile.
-//
-
-#include <boost/regex.hpp>
-#include <boost/filesystem/path.hpp>
-#include <boost/filesystem/operations.hpp>
-#include <boost/filesystem/fstream.hpp>
-#include <boost/test/included/prg_exec_monitor.hpp>
-#include <iostream>
-#include <sstream>
-#include <string>
-#include <set>
-#include <ctime>
-
-namespace fs = boost::filesystem;
-
-fs::path config_path;
-
-std::string copyright(
-"//  Copyright John Maddock 2002-4.\n"
-"//  Use, modification and distribution are subject to the \n"
-"//  Boost Software License, Version 1.0. (See accompanying file \n"
-"//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n"
-"\n"
-"//  See http://www.boost.org/libs/config for the most recent version."
-"//\n//  Revision $Id: generate.cpp 73153 2011-07-16 20:12:46Z eric_niebler $\n//\n");
-
-std::stringstream config_test1;
-std::stringstream config_test1a;
-std::stringstream config_test2;
-std::stringstream jamfile;
-std::stringstream jamfile_v2;
-std::set<std::string> macro_list;
-
-
-void write_config_info()
-{
-   // load the file into memory so we can scan it:
-   fs::ifstream ifs(config_path / "config_info.cpp");
-   std::string file_text;
-   std::copy(std::istreambuf_iterator<char>(ifs), std::istreambuf_iterator<char>(), std::back_inserter(file_text));
-   ifs.close();
-   // create macro list:
-   std::stringstream ss;
-   for(std::set<std::string>::const_iterator i(macro_list.begin()), j(macro_list.end());
-      i != j;
-      ++i)
-   {
-      ss << "   PRINT_MACRO(" << *i << ");\n";
-   }
-   std::string macros = ss.str();
-   // scan for Boost macro block:
-   boost::regex re("BEGIN\\s+GENERATED\\s+BLOCK\\s+DO\\s+NOT\\s+EDIT\\s+THIS[^\\n]+\\n(.*?)\\n\\s+//\\s*END\\s+GENERATED\\s+BLOCK");
-   boost::smatch what;
-   if(boost::regex_search(file_text, what, re))
-   {
-      std::string new_text;
-      new_text.append(what.prefix().first, what[1].first);
-      new_text.append(macros);
-      new_text.append(what[1].second, what.suffix().second);
-      fs::ofstream ofs(config_path / "config_info.cpp");
-      ofs << new_text;
-   }
-}
-
-void write_config_test()
-{
-   fs::ofstream ofs(config_path / "config_test.cpp");
-   time_t t = std::time(0);
-   ofs << "//  This file was automatically generated on " << std::ctime(&t);
-   ofs << "//  by libs/config/tools/generate.cpp\n" << copyright << std::endl;
-   ofs << "// Test file for config setup\n"
-      "// This file should compile, if it does not then\n"
-      "// one or more macros need to be defined.\n"
-      "// see boost_*.ipp for more details\n\n"
-      "// Do not edit this file, it was generated automatically by\n\n"
-      "#include <boost/config.hpp>\n#include <iostream>\n#include \"test.hpp\"\n\n"
-      "int error_count = 0;\n\n";
-   ofs << config_test1.str() << std::endl;
-   ofs << config_test1a.str() << std::endl;
-   ofs << "int main( int, char *[] )\n{\n" << config_test2.str() << "   return error_count;\n}\n\n";
-}
-
-void write_jamfile_v2() 
-{
-   fs::ofstream ofs(config_path / "all" / "Jamfile.v2");
-   time_t t = std::time(0);
-   ofs << "#\n# Regression test Jamfile for boost configuration setup.\n# *** DO NOT EDIT THIS FILE BY HAND ***\n"
-      "# This file was automatically generated on " << std::ctime(&t);
-   ofs << "#  by libs/config/tools/generate.cpp\n"
-      "# Copyright John Maddock.\n"
-      "# Use, modification and distribution are subject to the \n"
-      "# Boost Software License, Version 1.0. (See accompanying file \n"
-      "# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n"
-      "#\n# If you need to alter build preferences then set them in\n"
-      "# the template defined in options_v2.jam.\n#\n"
-      "path-constant DOT : . ;\n"
-      "include $(DOT)/options_v2.jam ;\n\n"
-      "run ../config_info.cpp  : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;\n"
-      "run ../config_info.cpp  : : : <threading>multi : config_info_threaded ;\n"
-      "run ../math_info.cpp : : : <toolset>borland:<runtime-link>static <toolset>borland:<link>static ;\n"
-      "run ../config_test.cpp : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;\n"
-      "run ../config_test.cpp : : : <threading>multi : config_test_threaded ;\n"
-      "run ../limits_test.cpp ../../../test/build//boost_test_exec_monitor ;\n"
-      "run ../abi/abi_test.cpp ../abi/main.cpp  ;\n\n";
-   ofs << jamfile_v2.str() << std::endl;
-
-}
-
-void write_test_file(const fs::path& file, 
-                     const std::string& macro_name, 
-                     const std::string& namespace_name, 
-                     const std::string& header_file,
-                     bool positive_test, 
-                     bool expect_success)
-{
-   if(!fs::exists(file))
-   {
-      std::cout << "Writing test file " << file.string() << std::endl;
-
-      fs::ofstream ofs(file);
-      std::time_t t = std::time(0);
-      ofs << "//  This file was automatically generated on " << std::ctime(&t);
-      ofs << "//  by libs/config/tools/generate.cpp\n" << copyright << std::endl;
-      ofs << "\n// Test file for macro " << macro_name << std::endl;
-
-      if(expect_success)
-      {
-         ofs << "// This file should compile, if it does not then\n"
-            "// " << macro_name << " should ";
-         if(positive_test)
-            ofs << "not ";
-         ofs << "be defined.\n";
-      }
-      else
-      {
-         ofs << "// This file should not compile, if it does then\n"
-            "// " << macro_name << " should ";
-         if(!positive_test)
-            ofs << "not ";
-         ofs << "be defined.\n";
-      }
-      ofs << "// See file " << header_file << " for details\n\n";
-
-      ofs << "// Must not have BOOST_ASSERT_CONFIG set; it defeats\n"
-         "// the objective of this file:\n"
-         "#ifdef BOOST_ASSERT_CONFIG\n"
-         "#  undef BOOST_ASSERT_CONFIG\n"
-         "#endif\n\n";
-
-      static const boost::regex tr1_exp("BOOST_HAS_TR1.*");
-
-      ofs << "#include <boost/config.hpp>\n";
-
-      if(regex_match(macro_name, tr1_exp))
-         ofs << "#include <boost/tr1/detail/config.hpp>\n";
-
-      ofs << "#include \"test.hpp\"\n\n"
-         "#if";
-      if(positive_test != expect_success)
-         ofs << "n";
-      ofs << "def " << macro_name << 
-         "\n#include \"" << header_file << 
-         "\"\n#else\n";
-      if(expect_success)
-         ofs << "namespace " << namespace_name << " = empty_boost;\n";
-      else
-         ofs << "#error \"this file should not compile\"\n";
-      ofs << "#endif\n\n";
-
-      ofs << "int main( int, char *[] )\n{\n   return " << namespace_name << "::test();\n}\n\n";  
-   }
-   else
-   {
-      std::cout << "Skipping existing test file " << file.string() << std::endl;
-   }
-}
-
-void process_ipp_file(const fs::path& file, bool positive_test)
-{
-   std::cout << "Info: Scanning file: " << file.string() << std::endl;
-
-   // our variables:
-   std::string file_text;
-   std::string macro_name;
-   std::string namespace_name;
-   fs::path positive_file;
-   fs::path negative_file;
-
-   // load the file into memory so we can scan it:
-   fs::ifstream ifs(file);
-   std::copy(std::istreambuf_iterator<char>(ifs), std::istreambuf_iterator<char>(), std::back_inserter(file_text));
-   ifs.close();
-   // scan for the macro name:
-   boost::regex macro_regex("//\\s*MACRO\\s*:\\s*(\\w+)");
-   boost::smatch macro_match;
-   if(boost::regex_search(file_text, macro_match, macro_regex))
-   {
-      macro_name = macro_match[1];
-      macro_list.insert(macro_name);
-      namespace_name = boost::regex_replace(file_text, macro_regex, "\\L$1", boost::format_first_only | boost::format_no_copy);
-   }
-   if(macro_name.empty())
-   {
-      std::cout << "Error: no macro definition found in " << file.string();
-   }
-   else
-   {
-      std::cout << "Info: Macroname: " << macro_name << std::endl;
-   }
-
-   // get the output filesnames:
-   boost::regex file_regex("boost_([^.]+)\\.ipp");
-   positive_file = file.branch_path() / boost::regex_replace(file.leaf().string(), file_regex, "$1_pass.cpp");
-   negative_file = file.branch_path() / boost::regex_replace(file.leaf().string(), file_regex, "$1_fail.cpp");
-   write_test_file(positive_file, macro_name, namespace_name, file.leaf().string(), positive_test, true);
-   write_test_file(negative_file, macro_name, namespace_name, file.leaf().string(), positive_test, false);
-   
-   // always create config_test data,
-   // positive and negative tests go to separate streams, because for some
-   // reason some compilers choke unless we put them in a particular order...
-   std::ostream* pout = positive_test ? &config_test1a : &config_test1;
-   *pout << "#if";
-   if(!positive_test)
-      *pout << "n";
-   *pout << "def " << macro_name 
-      << "\n#include \"" << file.leaf().string() << "\"\n#else\nnamespace "
-      << namespace_name << " = empty_boost;\n#endif\n";
-
-   config_test2 << "   if(0 != " << namespace_name << "::test())\n"
-      "   {\n"
-      "      std::cerr << \"Failed test for " << macro_name << " at: \" << __FILE__ << \":\" << __LINE__ << std::endl;\n"
-      "      ++error_count;\n"
-      "   }\n";
-
-   // always generate the jamfile data:
-   jamfile << "test-suite \"" << macro_name << "\" : \n"
-      "[ run " << positive_file.leaf().string() << " <template>config_options ]\n"
-      "[ compile-fail " << negative_file.leaf().string() << " <template>config_options ] ;\n";
-
-   jamfile_v2 << "test-suite \"" << macro_name << "\" : \n"
-      "[ run ../" << positive_file.leaf().string() << " ]\n"
-      "[ compile-fail ../" << negative_file.leaf().string() << " ] ;\n";
-
-}
-
-int cpp_main(int argc, char* argv[])
-{
-   //
-   // get the boost path to begin with:
-   //
-   if(argc > 1)
-   {
-      fs::path p(argv[1]);
-      config_path = p / "libs" / "config" / "test" ;
-   }
-   else
-   {
-      // try __FILE__:
-      fs::path p(__FILE__);
-      config_path = p.branch_path().branch_path() / "test";
-   }
-   std::cout << "Info: Boost.Config test path set as: " << config_path.string() << std::endl;
-
-   // enumerate *.ipp files:
-   boost::regex ipp_mask("boost_(?:(has)|no).*\\.ipp");
-   boost::smatch ipp_match;
-   fs::directory_iterator i(config_path), j;
-   while(i != j)
-   {
-      if(boost::regex_match(i->path().leaf().string(), ipp_match, ipp_mask))
-      {
-         process_ipp_file(*i, ipp_match[1].matched);
-      }
-      ++i;
-   }
-   write_config_test();
-   write_jamfile_v2();
-   write_config_info();
-   return 0;
-}
-
diff --git a/SRC/Boost/libs/detail/utf8_codecvt_facet.cpp b/SRC/Boost/libs/detail/utf8_codecvt_facet.cpp
deleted file mode 100755
index 9e079f8..0000000
--- a/SRC/Boost/libs/detail/utf8_codecvt_facet.cpp
+++ /dev/null
@@ -1,285 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// utf8_codecvt_facet.cpp
-
-// Copyright (c) 2001 Ronald Garcia, Indiana University (garcia at osl.iu.edu)
-// Andrew Lumsdaine, Indiana University (lums at osl.iu.edu). 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Please see the comments in <boost/detail/utf8_codecvt_facet.hpp> to
-// learn how this file should be used.
-
-#include <boost/detail/utf8_codecvt_facet.hpp>
-
-#include <cstdlib> // for multi-byte converson routines
-#include <cassert>
-
-#include <boost/limits.hpp>
-#include <boost/config.hpp>
-
-// If we don't have wstring, then Unicode support 
-// is not available anyway, so we don't need to even
-// compiler this file. This also fixes the problem
-// with mingw, which can compile this file, but will
-// generate link error when building DLL.
-#ifndef BOOST_NO_STD_WSTRING
-
-BOOST_UTF8_BEGIN_NAMESPACE
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implementation for wchar_t
-
-// Translate incoming UTF-8 into UCS-4
-std::codecvt_base::result utf8_codecvt_facet::do_in(
-    std::mbstate_t& /*state*/, 
-    const char * from,
-    const char * from_end, 
-    const char * & from_next,
-    wchar_t * to, 
-    wchar_t * to_end, 
-    wchar_t * & to_next
-) const {
-    // Basic algorithm:  The first octet determines how many
-    // octets total make up the UCS-4 character.  The remaining
-    // "continuing octets" all begin with "10". To convert, subtract
-    // the amount that specifies the number of octets from the first
-    // octet.  Subtract 0x80 (1000 0000) from each continuing octet,
-    // then mash the whole lot together.  Note that each continuing
-    // octet only uses 6 bits as unique values, so only shift by
-    // multiples of 6 to combine.
-    while (from != from_end && to != to_end) {
-
-        // Error checking   on the first octet
-        if (invalid_leading_octet(*from)){
-            from_next = from;
-            to_next = to;
-            return std::codecvt_base::error;
-        }
-
-        // The first octet is   adjusted by a value dependent upon 
-        // the number   of "continuing octets" encoding the character
-        const   int cont_octet_count = get_cont_octet_count(*from);
-        const   wchar_t octet1_modifier_table[] =   {
-            0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc
-        };
-
-        // The unsigned char conversion is necessary in case char is
-        // signed   (I learned this the hard way)
-        wchar_t ucs_result = 
-            (unsigned char)(*from++) - octet1_modifier_table[cont_octet_count];
-
-        // Invariants   : 
-        //   1) At the start of the loop,   'i' continuing characters have been
-        //    processed 
-        //   2) *from   points to the next continuing character to be processed.
-        int i   = 0;
-        while(i != cont_octet_count && from != from_end) {
-
-            // Error checking on continuing characters
-            if (invalid_continuing_octet(*from)) {
-                from_next   = from;
-                to_next =   to;
-                return std::codecvt_base::error;
-            }
-
-            ucs_result *= (1 << 6); 
-
-            // each continuing character has an extra (10xxxxxx)b attached to 
-            // it that must be removed.
-            ucs_result += (unsigned char)(*from++) - 0x80;
-            ++i;
-        }
-
-        // If   the buffer ends with an incomplete unicode character...
-        if (from == from_end && i   != cont_octet_count) {
-            // rewind "from" to before the current character translation
-            from_next = from - (i+1); 
-            to_next = to;
-            return std::codecvt_base::partial;
-        }
-        *to++   = ucs_result;
-    }
-    from_next = from;
-    to_next = to;
-
-    // Were we done converting or did we run out of destination space?
-    if(from == from_end) return std::codecvt_base::ok;
-    else return std::codecvt_base::partial;
-}
-
-std::codecvt_base::result utf8_codecvt_facet::do_out(
-    std::mbstate_t& /*state*/, 
-    const wchar_t *   from,
-    const wchar_t * from_end, 
-    const wchar_t * & from_next,
-    char * to, 
-    char * to_end, 
-    char * & to_next
-) const
-{
-    // RG - consider merging this table with the other one
-    const wchar_t octet1_modifier_table[] = {
-        0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc
-    };
-
-    wchar_t max_wchar = (std::numeric_limits<wchar_t>::max)();
-    while (from != from_end && to != to_end) {
-
-        // Check for invalid UCS-4 character
-        if (*from  > max_wchar) {
-            from_next = from;
-            to_next = to;
-            return std::codecvt_base::error;
-        }
-
-        int cont_octet_count = get_cont_octet_out_count(*from);
-
-        // RG  - comment this formula better
-        int shift_exponent = (cont_octet_count) *   6;
-
-        // Process the first character
-        *to++ = static_cast<char>(octet1_modifier_table[cont_octet_count] +
-            (unsigned char)(*from / (1 << shift_exponent)));
-
-        // Process the continuation characters 
-        // Invariants: At   the start of the loop:
-        //   1) 'i' continuing octets   have been generated
-        //   2) '*to'   points to the next location to place an octet
-        //   3) shift_exponent is   6 more than needed for the next octet
-        int i   = 0;
-        while   (i != cont_octet_count && to != to_end) {
-            shift_exponent -= 6;
-            *to++ = static_cast<char>(0x80 + ((*from / (1 << shift_exponent)) % (1 << 6)));
-            ++i;
-        }
-        // If   we filled up the out buffer before encoding the character
-        if(to   == to_end && i != cont_octet_count) {
-            from_next = from;
-            to_next = to - (i+1);
-            return std::codecvt_base::partial;
-        }
-        ++from;
-    }
-    from_next = from;
-    to_next = to;
-    // Were we done or did we run out of destination space
-    if(from == from_end) return std::codecvt_base::ok;
-    else return std::codecvt_base::partial;
-}
-
-// How many char objects can I process to get <= max_limit
-// wchar_t objects?
-int utf8_codecvt_facet::do_length(
-    BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &,
-    const char * from,
-    const char * from_end, 
-    std::size_t max_limit
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
-) const throw()
-#else
-) const
-#endif
-{ 
-    // RG - this code is confusing!  I need a better way to express it.
-    // and test cases.
-
-    // Invariants:
-    // 1) last_octet_count has the size of the last measured character
-    // 2) char_count holds the number of characters shown to fit
-    // within the bounds so far (no greater than max_limit)
-    // 3) from_next points to the octet 'last_octet_count' before the
-    // last measured character.  
-    int last_octet_count=0;
-    std::size_t char_count = 0;
-    const char* from_next = from;
-    // Use "<" because the buffer may represent incomplete characters
-    while (from_next+last_octet_count <= from_end && char_count <= max_limit) {
-        from_next += last_octet_count;
-        last_octet_count = (get_octet_count(*from_next));
-        ++char_count;
-    }
-    return static_cast<int>(from_next-from_end);
-}
-
-unsigned int utf8_codecvt_facet::get_octet_count(
-    unsigned char   lead_octet
-){
-    // if the 0-bit (MSB) is 0, then 1 character
-    if (lead_octet <= 0x7f) return 1;
-
-    // Otherwise the count number of consecutive 1 bits starting at MSB
-//    assert(0xc0 <= lead_octet && lead_octet <= 0xfd);
-
-    if (0xc0 <= lead_octet && lead_octet <= 0xdf) return 2;
-    else if (0xe0 <= lead_octet && lead_octet <= 0xef) return 3;
-    else if (0xf0 <= lead_octet && lead_octet <= 0xf7) return 4;
-    else if (0xf8 <= lead_octet && lead_octet <= 0xfb) return 5;
-    else return 6;
-}
-BOOST_UTF8_END_NAMESPACE
-
-namespace {
-template<std::size_t s>
-int get_cont_octet_out_count_impl(wchar_t word){
-    if (word < 0x80) {
-        return 0;
-    }
-    if (word < 0x800) {
-        return 1;
-    }
-    return 2;
-}
-
-template<>
-int get_cont_octet_out_count_impl<4>(wchar_t word){
-    if (word < 0x80) {
-        return 0;
-    }
-    if (word < 0x800) {
-        return 1;
-    }
-
-    // Note that the following code will generate warnings on some platforms
-    // where wchar_t is defined as UCS2.  The warnings are superfluous as the
-    // specialization is never instantitiated with such compilers, but this
-    // can cause problems if warnings are being treated as errors, so we guard
-    // against that.  Including <boost/detail/utf8_codecvt_facet.hpp> as we do
-    // should be enough to get WCHAR_MAX defined.
-#if !defined(WCHAR_MAX)
-#   error WCHAR_MAX not defined!
-#endif
-    // cope with VC++ 7.1 or earlier having invalid WCHAR_MAX
-#if defined(_MSC_VER) && _MSC_VER <= 1310 // 7.1 or earlier
-    return 2;
-#elif WCHAR_MAX > 0x10000
-    
-   if (word < 0x10000) {
-        return 2;
-    }
-    if (word < 0x200000) {
-        return 3;
-    }
-    if (word < 0x4000000) {
-        return 4;
-    }
-    return 5;
-    
-#else
-    return 2;
-#endif
-}
-
-} // namespace anonymous
-
-BOOST_UTF8_BEGIN_NAMESPACE
-// How many "continuing octets" will be needed for this word
-// ==   total octets - 1.
-int utf8_codecvt_facet::get_cont_octet_out_count(
-    wchar_t word
-) const {
-    return get_cont_octet_out_count_impl<sizeof(wchar_t)>(word);
-}
-BOOST_UTF8_END_NAMESPACE
-
-#endif
diff --git a/SRC/Boost/libs/filesystem/build/Jamfile.v2 b/SRC/Boost/libs/filesystem/build/Jamfile.v2
deleted file mode 100755
index 012c9ec..0000000
--- a/SRC/Boost/libs/filesystem/build/Jamfile.v2
+++ /dev/null
@@ -1,61 +0,0 @@
-# Boost Filesystem Library Build Jamfile
-
-# (C) Copyright Beman Dawes 2002-2006
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or www.boost.org/LICENSE_1_0.txt)
-
-
-# See library home page at http://www.boost.org/libs/filesystem
-
-project boost/filesystem
-    : source-location ..
-    : usage-requirements # pass these requirement to dependents (i.e. users)
-      <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1
-    ;
-    
-local disable-filesystem2 = [ MATCH (--disable-filesystem2) : [ modules.peek : ARGV ] ] ;
-local disable-filesystem3 = [ MATCH (--disable-filesystem3) : [ modules.peek : ARGV ] ] ;   
-    
-if ! $(disable-filesystem2)
-{
-  if ! $(disable-filesystem3)
-  {
-    SOURCES =
-        v2/src/v2_operations v2/src/v2_path v2/src/v2_portability
-        v3/src/operations v3/src/path v3/src/portability v3/src/windows_file_codecvt
-        v3/src/codecvt_error_category v3/src/path_traits v3/src/unique_path
-        v3/src/utf8_codecvt_facet 
-        ;
-  }
-  else
-  {
-    SOURCES =
-        v2/src/v2_operations v2/src/v2_path v2/src/v2_portability
-        v3/src/utf8_codecvt_facet   # used by both v2 and v3
-        ;
-  }
-}
-else
-{
-  SOURCES =
-      v3/src/operations v3/src/path v3/src/portability v3/src/windows_file_codecvt
-      v3/src/codecvt_error_category v3/src/path_traits v3/src/unique_path
-      v3/src/utf8_codecvt_facet 
-      ;
-}
-
-lib boost_filesystem
-    : $(SOURCES).cpp ../../system/build//boost_system
-    : <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1 # tell source we're building dll's
-    :
-    : # Boost.Filesystem uses some of Boost.System functions in inlined/templated
-      # functions, so clients that use Boost.Filesystem will have direct references 
-      # to Boost.System symbols. On Windows, Darwin, and some other platforms, this
-      # means those clients have to be directly linked to Boost.System. For static
-      # linking this happens anyway, but for shared we need to make it happen. Since
-      # doing so is harmless even when not needed, we do it for all platforms.
-      <link>shared:<library>../../system/build//boost_system
-    ;
-    
-
-boost-install boost_filesystem ;
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v2/build/Jamfile.v2 b/SRC/Boost/libs/filesystem/v2/build/Jamfile.v2
deleted file mode 100755
index cd8ebda..0000000
--- a/SRC/Boost/libs/filesystem/v2/build/Jamfile.v2
+++ /dev/null
@@ -1,31 +0,0 @@
-# Boost Filesystem Library Build Jamfile
-
-# (C) Copyright Beman Dawes 2002-2006
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or www.boost.org/LICENSE_1_0.txt)
-
-# See library home page at http://www.boost.org/libs/filesystem
-
-project boost/filesystem
-    : source-location ../src
-    : usage-requirements # pass these requirement to dependents (i.e. users)
-      <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1
-    ;
-
-SOURCES =
-    operations path portability utf8_codecvt_facet ;
-
-lib boost_filesystem
-    : $(SOURCES).cpp ../../system/build//boost_system
-    : <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1 # tell source we're building dll's
-    :
-    : # Boost.Filesystem uses some of Boost.System functions in inlined/templated
-      # functions, so clients that use Boost.Filesystem will have direct references 
-      # to Boost.System symbols. On Windows, Darwin, and some other platforms, this
-      # means those clients have to be directly linked to Boost.System. For static
-      # linking this happens anyway, but for shared we need to make it happen. Since
-      # doing so is harmless even when not needed, we do it for all platforms.
-      <link>shared:<library>../../system/build//boost_system
-    ;
-
-boost-install boost_filesystem ;
diff --git a/SRC/Boost/libs/filesystem/v2/doc/design.htm b/SRC/Boost/libs/filesystem/v2/doc/design.htm
deleted file mode 100755
index 29224c3..0000000
--- a/SRC/Boost/libs/filesystem/v2/doc/design.htm
+++ /dev/null
@@ -1,353 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Boost Filesystem Library Design</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<h1>
-<img border="0" src="../../../../boost.png" align="center" width="277" height="86">Filesystem 
-Library Design</h1>
-
-<p><a href="#Introduction">Introduction</a><br>
-<a href="#Requirements">Requirements</a><br>
-<a href="#Realities">Realities</a><br>
-<a href="#Rationale">Rationale</a><br>
-<a href="#Abandoned_Designs">Abandoned_Designs</a><br>
-<a href="#References">References</a></p>
-
-<h2><a name="Introduction">Introduction</a></h2>
-
-<p>The primary motivation for beginning work on the Filesystem Library was 
-frustration with Boost administrative tools.  Scripts were written in 
-Python, Perl, Bash, and Windows command languages.  There was no single 
-scripting language familiar and acceptable to all Boost administrators. Yet they 
-were all skilled C++ programmers - why couldn't C++ be used as the scripting 
-language?</p>
-
-<p>The key feature C++ lacked for script-like applications was the ability to 
-perform portable filesystem operations on directories and their contents. The 
-Filesystem Library was developed to fill that void.</p>
-
-<p>The intent is not to compete with traditional scripting languages, but to 
-provide a solution for situations where C++ is already the language 
-of choice..</p>
-
-<h2><a name="Requirements">Requirements</a></h2>
-<ul>
-  <li>Be able to write portable script-style filesystem operations in modern 
-  C++.<br>
-  <br>
-  Rationale: This is a common programming need. It is both an 
-  embarrassment and a hardship that this is not possible with either the current 
-  C++ or Boost libraries.  The need is particularly acute 
-  when C++ is the only toolset allowed in the tool chain.  File system 
-  operations are provided by many languages used on multiple platforms, 
-  such as Perl and Python, as well as by many platform specific scripting 
-  languages. All operating systems provide some form of API for filesystem 
-  operations, and the POSIX bindings are increasingly available even on 
-  operating systems not normally associated with POSIX, such as the Mac, z/OS, 
-  or OS/390.<br>
- </li>
-  <li>Work within the <a href="#Realities">realities</a> described below.<br>
-  <br>
-  Rationale: This isn't a research project. The need is for something that works on 
-  today's platforms, including some of the embedded operating systems 
-  with limited file systems. Because of the emphasis on portability, such a 
-  library would be much more useful if standardized. That means being able to 
-  work with a much wider range of platforms that just Unix or Windows and their 
-  clones.<br>
- </li>
-  <li>Avoid dangerous programming practices. Particularly, all-too-easy-to-ignore error notifications 
-  and use of global variables. If a dangerous feature is provided, identify it as such.<br>
-  <br>
-  Rationale: Normally this would be covered by "the usual Boost requirements...", 
-  but it is mentioned explicitly because the equivalent native platform and 
-  scripting language interfaces often depend on all-too-easy-to-ignore error 
-  notifications and global variables like "current 
-  working directory".<br>
- </li>
-  <li>Structure the library so that it is still useful even if some functionality 
-  does not map well onto a given platform or directory tree. Particularly, much 
-  useful functionality should be portable even to flat 
-(non-hierarchical) filesystems.<br>
-  <br>
-  Rationale: Much functionality which does not 
-  require a hierarchical directory structure is still useful on flat-structure 
-  filesystems.  There are many systems, particularly embedded systems, 
-  where even very limited functionality is still useful.</li>
-</ul>
-<ul>
-  <li>Interface smoothly with current C++ Standard Library input/output 
-  facilities.  For example, paths should be 
-  easy to use in std::basic_fstream constructors.<br>
-  <br>
-  Rationale: One of the most common uses of file system functionality is to 
-  manipulate paths for eventual use in input/output operations.  
-  Thus the need to interface smoothly with standard library I/O.<br>
- </li>
-  <li>Suitable for eventual standardization. The implication of this requirement 
-  is that the interface be close to minimal, and that great care be take 
-  regarding portability.<br>
-  <br>
-  Rationale: The lack of file system operations is a serious hole 
-  in the current standard, with no other known candidates to fill that hole. 
-  Libraries with elaborate interfaces and difficult to port specifications are much less likely to be accepted for 
-  standardization.<br>
- </li>
-  <li>The usual Boost <a href="http://www.boost.org/more/lib_guide.htm">requirements and 
-  guidelines</a> apply.<br>
- </li>
-  <li>Encourage, but do not require, portability in path names.<br>
-  <br>
-  Rationale: For paths which originate from user input it is unreasonable to 
-  require portable path syntax.<br>
- </li>
-  <li>Avoid giving the illusion of portability where portability in fact does not 
-  exist.<br>
-  <br>
-  Rationale: Leaving important behavior unspecified or "implementation defined" does a 
-  great disservice to programmers using a library because it makes it appear 
-  that code relying on the behavior is portable, when in fact there is nothing 
-  portable about it. The only case where such under-specification is acceptable is when both users and implementors know from 
-  other sources exactly what behavior is required, yet for some reason it isn't 
-  possible to specify it exactly.</li>
-</ul>
-<h2><a name="Realities">Realities</a></h2>
-<ul>
-  <li>Some operating systems have a single directory tree root, others have 
-  multiple roots.<br>
- </li>
-  <li>Some file systems provide both a long and short form of filenames.<br>
- </li>
-  <li>Some file systems have different syntax for file paths and directory 
-  paths.<br>
- </li>
-  <li>Some file systems have different rules for valid file names and valid 
-  directory names.<br>
- </li>
-  <li>Some file systems (ISO-9660, level 1, for example) use very restricted 
-  (so-called 8.3) file names.<br>
- </li>
-  <li>Some operating systems allow file systems with different 
-  characteristics to be "mounted" within a directory tree.  Thus a 
-  ISO-9660 or Windows 
-  file system may end up as a sub-tree of a POSIX directory tree.<br>
- </li>
-  <li>Wide-character versions of directory and file operations are available on some operating 
-  systems, and not available on others.<br>
- </li>
-  <li>There is no law that says directory hierarchies have to be specified in 
-  terms of left-to-right decent from the root.<br>
- </li>
-  <li>Some file systems have a concept of file "version number" or "generation 
-  number".  Some don't.<br>
- </li>
-  <li>Not all operating systems use single character separators in path names.  Some use 
-  paired notations. A typical fully-specified OpenVMS filename
-  might look something like this:<br>
-  <br>
-  <code>   DISK$SCRATCH:[GEORGE.PROJECT1.DAT]BIG_DATA_FILE.NTP;5<br>
-  </code><br>
-  The general OpenVMS format is:<br>
-  <br>
-     
-  <i>Device:[directories.dot.separated]filename.extension;version_number</i><br>
- </li>
-  <li>For common file systems, determining if two descriptors are for same 
-  entity is extremely difficult or impossible.  For example, the concept of 
-  equality can be different for each portion of a path - some portions may be 
-  case or locale sensitive, others not. Case sensitivity is a property of the 
-  pathname itself, and not the platform. Determining collating sequence is even 
-  worse.<br>
- </li>
-  <li>Race-conditions may occur. Directory trees, directories, files, and file attributes are in effect shared between all threads, processes, and computers which have access to the 
-  filesystem.  That may well include computers on the other side of the 
-  world or in orbit around the world. This implies that file system operations 
-  may fail in unexpected ways. For example:<br>
-  <br>
-  <code>     assert( exists("foo") == exists("foo") ); 
-  // may fail!<br>
-     assert( is_directory("foo") == is_directory("foo"); 
-  // may fail!<br>
-  </code><br>
-  In the first example, the file may have been deleted between calls to 
-  exists().  In the second example, the file may have been deleted and then 
-  replaced by a directory of the same name between the calls to is_directory().<br>
- </li>
-  <li>Even though an application may be portable, it still will have to traffic 
-  in system specific paths occasionally; user provided input is a common 
-  example.<br>
- </li>
-  <li><a name="symbolic-link-use-case">Symbolic</a> links cause canonical and 
-  normal form of some paths to represent different files or directories. For 
-  example, given the directory hierarchy <code>/a/b/c</code>, with a symbolic 
-  link in <code>/a</code> named <code>x</code>  pointing to <code>b/c</code>, 
-  then under POSIX Pathname Resolution rules a path of <code>"/a/x/.."</code> 
-  should resolve to <code>"/a/b"</code>. If <code>"/a/x/.."</code> were first 
-  normalized to <code>"/a"</code>, it would resolve incorrectly. (Case supplied 
-  by Walter Landry.)</li>
-</ul>
-
-<h2><a name="Rationale">Rationale</a></h2>
-
-<p>The <a href="#Requirements">Requirements</a> and <a href="#Realities">
-Realities</a> above drove much of the C++ interface design.  In particular, 
-the desire to make script-like code straightforward caused a great deal of 
-effort to go into ensuring that apparently simple expressions like <i>exists( "foo" 
-)</i> work as expected.</p>
-
-<p>See the <a href="faq.htm">FAQ</a> for the rationale behind many detailed 
-design decisions.</p>
-
-<p>Several key insights went into the <i>path</i> class design:</p>
-<ul>
-  <li>Decoupling of the input formats, internal conceptual (<i>vector<string></i> 
-  or other sequence) 
-  model, and output formats.</li>
-  <li>Providing two input formats (generic and O/S specific) broke a major 
-  design deadlock.</li>
-  <li>Providing several output formats solved another set of previously 
-  intractable problems.</li>
-  <li>Several non-obvious functions (particularly decomposition and composition) 
-  are required to support portable code. (Peter Dimov, Thomas Witt, Glen 
-  Knowles, others.)</li>
-</ul>
-
-<p>Error checking was a particularly difficult area. One key insight was that 
-with file and directory names, portability isn't a universal truth.  
-Rather, the programmer must think out the question "What operating systems do I 
-want this path to be portable to?"  By providing support for several 
-answers to that question, the Filesystem Library alerts programmers of the need 
-to ask it in the first place.</p>
-<h2><a name="Abandoned_Designs">Abandoned Designs</a></h2>
-<h3>operations.hpp</h3>
-<p>Dietmar K�hl's original dir_it design and implementation supported 
-wide-character file and directory names. It was abandoned after extensive 
-discussions among Library Working Group members failed to identify portable 
-semantics for wide-character names on systems not providing native support. See
-<a href="faq.htm#wide-character_names">FAQ</a>.</p>
-<p>Previous iterations of the interface design used explicitly named functions providing a 
-large number of convenience operations, with no compile-time or run-time 
-options. There were so many function names that they were very confusing to use, 
-and the interface was much larger. Any benefits seemed theoretical rather than 
-real. </p>
-<p>Designs based on compile time (rather than runtime) flag and option selection 
-(via policy, enum, or int template parameters) became so complicated that they 
-were abandoned, often after investing quite a bit of time and effort. The need 
-to qualify attribute or option names with namespaces, even aliases, made use in 
-template parameters ugly; that wasn't fully appreciated until actually writing 
-real code.</p>
-<p>Yet another set of convenience functions ( for example, <i>remove</i> with 
-permissive, prune, recurse, and other options, plus predicate, and possibly 
-other, filtering features) were abandoned because the details became both 
-complex and contentious.</p>
-
-<p>What is left is a toolkit of low-level operations from which the user can 
-create more complex convenience operations, plus a very small number of 
-convenience functions which were found to be useful enough to justify inclusion.</p>
-
-<h3>path.hpp</h3>
-
-<p>There were so many abandoned path designs, I've lost track. Policy-based 
-class templates in several flavors, constructor supplied runtime policies, 
-operation specific runtime policies, they were all considered, often 
-implemented, and ultimately abandoned as far too complicated for any small 
-benefits observed.</p>
-
-<p>Additional design considerations apply to <a href="i18n.html">
-Internationalization</a>. </p>
-
-<h3>error checking</h3>
-
-<p>A number of designs for the error checking machinery were abandoned, some 
-after experiments with implementations. Totally automatic error checking was 
-attempted in particular. But automatic error checking tended to make the overall 
-library design much more complicated.</p>
-
-<p>Some designs associated error checking mechanisms with paths.  Some with 
-operations functions.  A policy-based error checking template design was 
-partially implemented, then abandoned as too complicated for everyday 
-script-like programs.</p>
-
-<p>The final design, which depends partially on explicit error checking function 
-calls,  is much simpler and straightforward, although it does depend to 
-some extent on programmer discipline.  But it should allow programmers who 
-are concerned about portability to be reasonably sure that their programs will 
-work correctly on their choice of target systems.</p>
-
-<h2><a name="References">References</a></h2>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
-  <tr>
-    <td width="13%" valign="top">[<a name="IBM-01">IBM-01</a>]</td>
-    <td width="87%">IBM Corporation, <i>z/OS V1R3.0 C/C++ Run-Time 
-Library Reference</i>, SA22-7821-02, 2001,
-<a href="http://www-1.ibm.com/servers/eserver/zseries/zos/bkserv/">
-    www-1.ibm.com/servers/eserver/zseries/zos/bkserv/</a></td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="ISO-9660">ISO-9660</a>]</td>
-    <td width="87%">International Standards Organization, 1988</td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="Kuhn">Kuhn</a>]</td>
-    <td width="87%">UTF-8 and Unicode FAQ for Unix/Linux,
-<a href="http://www.cl.cam.ac.uk/~mgk25/unicode.html">
-    www.cl.cam.ac.uk/~mgk25/unicode.html</a></td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="MSDN">MSDN</a>] </td>
-    <td width="87%">Microsoft Platform SDK for Windows, Storage Start 
-Page,
-<a href="http://msdn.microsoft.com/library/en-us/fileio/base/storage_start_page.asp">
-    msdn.microsoft.com/library/en-us/fileio/base/storage_start_page.asp</a></td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="POSIX-01">POSIX-01</a>]</td>
-    <td width="87%">IEEE Std 1003.1-2001, ISO/IEC 9945:2002, and The Open Group Base Specifications, Issue 6. Also known as The 
-    Single Unix<font face="Times New Roman">� Specification, Version 3. 
-    Available from each of the organizations involved in its creation. For 
-    example, read online or download from
-    <a href="http://www.unix.org/single_unix_specification/">
-    www.unix.org/single_unix_specification/</a>.</font> The ISO JTC1/SC22/WG15 - POSIX 
-homepage is <a href="http://www.open-std.org/jtc1/sc22/WG15/">
-    www.open-std.org/jtc1/sc22/WG15/</a></td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="URI">URI</a>]</td>
-    <td width="87%">RFC-2396, Uniform Resource Identifiers (URI): Generic 
-Syntax, <a href="http://www.ietf.org/rfc/rfc2396.txt">
-    www.ietf.org/rfc/rfc2396.txt</a></td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="UTF-16">UTF-16</a>]</td>
-    <td width="87%">Wikipedia, UTF-16,
-<a href="http://en.wikipedia.org/wiki/UTF-16">
-    en.wikipedia.org/wiki/UTF-16</a></td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="Wulf-Shaw-73">Wulf-Shaw-73</a>]</td>
-    <td width="87%">William Wulf, Mary Shaw, <i>Global 
-Variable Considered Harmful</i>, ACM SIGPLAN Notices, 8, 2, 1973, pp. 23-34</td>
-  </tr>
-</table>
-
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->02 August, 2005<!--webbot bot="Timestamp" endspan i-checksum="34600" --></p>
-
-<p>� Copyright Beman Dawes, 2002</p>
-<p> Use, modification, and distribution are subject to the Boost Software 
-License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">
-LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a>)</p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v2/doc/do-list.htm b/SRC/Boost/libs/filesystem/v2/doc/do-list.htm
deleted file mode 100755
index 133d3e7..0000000
--- a/SRC/Boost/libs/filesystem/v2/doc/do-list.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<title>Boost Filesystem Do-list</title>
-<h1>
-<img border="0" src="../../../../boost.png" align="center" width="277" height="86">Filesystem 
-Do-list</h1>
-<h2>Current</h2>
-<ul>
-  <li>Add test cases and docs for Windows \\?\ and \\?\UNC\ naming conventions.</li>
-  <li>Should operations.cpp assert or BOOST_ASSERT on more preconditions?</li>
-  <li>Apply PJP's Wide/Narrow conversion proposal to traits, once he stabilizes it.</li>
-  <li>Glob syntax -> regex syntax converter. See 
-  Rich Johnson's <a href="http://lists.boost.org/boost-users/2004/01/5770.php">
-  lists.boost.org/boost-users/2004/01/5770.php</a>, and John Maddock's
-  <a href="http://lists.boost.org/boost-users/2004/01/5770.php">lists.boost.org/boost-users/2004/01/5770.php</a></li>
-  <li>Issue (Adrian Martin): >Comparison between paths doesn't use locale.<br>
-  ><br>
-  >The paths are not treated as plain characters since a lexicographical <br>
-  >compare is made. But the individual elements are treated<br>
-  >as plain characters and the internal string type's operator< is used. This
-  <br>
-  >is a bit contradicting. <br>
-  ><br>
-  >I think the comparison operators should compare the elements in a locale <br>
-  >dependent way.<br>
-  <br>
-  I've opened this as an issue. It needs to be answered in the context of what 
-  comparison is used for. Remember that equivalence should be determined by the 
-  equivalent() function. An important use of operator< is when path is used as a 
-  map or set key. Not sure how locale impacts that.</li>
-  <li>Move canonize() and normalize() to convenience.hpp?</li>
-  <li>Need wording to the effect that basic_path::iterators are invalidated in 
-  the basic_path object's lifetime ends.</li>
-  <li>Move name checks to convenience.hpp?</li>
-  <li>Move rename_all to convenience.hpp?</li>
-</ul>
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->18 March, 2008<!--webbot bot="Timestamp" endspan i-checksum="29005" --></p>
-<p>© Copyright Beman Dawes, 2002</p>
-<p> Use, modification, and distribution are subject to the Boost Software 
-License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">
-LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a>)</p>
diff --git a/SRC/Boost/libs/filesystem/v2/doc/faq.htm b/SRC/Boost/libs/filesystem/v2/doc/faq.htm
deleted file mode 100755
index f3b9402..0000000
--- a/SRC/Boost/libs/filesystem/v2/doc/faq.htm
+++ /dev/null
@@ -1,150 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Filesystem FAQ</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-</head>
-
-<body>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="710">
-  <tr>
-    <td width="277">
-<a href="../../../../index.htm">
-<img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
-    <td width="410" align="middle">
-    <font size="7">Filesystem Library</font>
-    </td>
-  </tr>
-</table>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
-  <tr>
-    <td><a href="../../../../index.htm">Boost Home</a>   
-    <a href="index.htm">Library Home</a>   
-    <a href="index.htm#tutorial">Tutorial</a>    <a href="reference.html">
-    Reference</a>   <a href="faq.htm">FAQ</a></td>
-  </tr>
-</table>
-
-<h1>
-Frequently Asked Questions</h1>
-<p><b>Why base the generic-path string format on POSIX?</b></p>
-<p><a href="design.htm#POSIX-01">[POSIX-01]</a> is an ISO Standard. It is the basis for the most familiar path-string formats, 
-not just for POSIX systems but also for the native Windows format and the 
-URL portion of URI's. It is ubiquitous and 
-familiar.  On many systems, it is very easy to implement because it is 
-either the native operating system format (Unix and Windows) or via a 
-operating system supplied 
-POSIX library (z/OS, OS/390, and many more.)</p>
-<p><b>Why not use a full URI (Universal Resource Identifier) based path?</b></p>
-<p><a href="design.htm#URI">URI's</a> would promise more than the Filesystem Library can actually deliver, 
-since URI's extend far beyond what most operating systems consider a file or a 
-directory.  Thus for the primary "portable script-style file system 
-operations" requirement of the Filesystem Library, full URI's appear to be over-specification.</p>
-<p><b>Why isn't <i>path</i> a base class with derived <i>directory_path</i> and
-<i>file_path</i> classes?</b></p>
-<p>Why bother?  The behavior of all three classes is essentially identical. 
-Several early versions did require users to identify each path as a file or 
-directory path, and this seemed to increase errors and decrease code 
-readability. There was no apparent upside benefit.</p>
-<p><b>Why are fully specified paths called <i>complete</i> rather than <i>
-<a name="absolute">absolute</a></i>?</b></p>
-<p>To avoid long-held assumptions (what do you mean, <i>"/foo"</i> isn't 
-absolute on some systems?) by programmers used to single-rooted filesystems. 
-Using an unfamiliar name for the concept and related functions causes 
-programmers to read the specs rather than just assuming the meaning is known.</p>
-<p><b>Why not support a  concept of specific kinds of file systems, such as posix_file_system or windows_file_system.</b></p>
-<p>Portability is one of the most important requirements for the 
-library. Gaining some advantage by using features specific to particular 
-operating systems is not a requirement. There doesn't appear to be much need for 
-the ability to manipulate, say, a classic Mac OS path while running on an 
-OpenVMS machine.</p>
-<p>Furthermore, concepts like "file system" 
-are very slippery. What happens when a NTFS or FAT file system is mounted 
-in directory on a machine running a POSIX-like operating system, for example? 
-Some of the POSIX API's may return very un-POSIX like results.</p>
-<p><b>Why not supply a 'handle' type, and let the file and directory operations 
-traffic in it?</b></p>
-<p>It isn't clear there is any feasible way to meet the "portable script-style 
-file system operations" requirement with such a system. File systems exist where operations are usually performed on 
-  some non-string handle type. The classic Mac OS has been mentioned explicitly as a case where 
-trafficking in paths isn't always natural.    </p>
-<p>The case for the "handle" (opaque data type to identify a file) 
-style may be strongest for directory iterator value type.  (See Jesse Jones' Jan 28, 
-2002, Boost postings). However, as class path has evolved, it seems sufficient 
-even as the directory iterator value type.</p>
-<p><b>Why are the operations.hpp non-member functions so low-level?</b></p>
-<p>To provide a toolkit from which higher-level functionality can be created.</p>
-<p>An 
-extended attempt to add convenience functions on top of, or as a replacement 
-for, the low-level functionality failed because there is no widely acceptable 
-set of simple semantics for most convenience functions considered.  
-Attempts to provide alternate semantics via either run-time options or 
-compile-time polices became overly complicated in relation to the value 
-delivered, or became contentious.  OTOH, the specific functionality needed for several trial 
-applications was very easy for the user to construct from the lower-level 
-toolkit functions.  See <a href="design.htm#Abandoned_Designs">Failed 
-Attempts</a>.</p>
-<p><b>Isn't it inconsistent then to provide a few convenience functions?</b></p>
-<p>Yes, but experience with both this library, POSIX, and Windows indicates 
-the utility of certain convenience functions, and that it is possible to provide 
-simple, yet widely acceptable, semantics for them. For example, remove_all.</p>
-<p><b>Why are there basic_directory_iterator<> overloads for operations.hpp 
-predicate functions? Isn't two ways to do the same thing poor design?</b></p>
-<p>Yes, two ways to do the same thing is often a poor design practice. But the 
-iterator versions are often much more efficient. Calling status() during 
-iteration over a directory containing 15,000 files took 6 seconds for the path 
-overload, and 1 second for the iterator overload, for tests on a freshly booted 
-machine. Times were .90 seconds and .30 seconds, for tests after prior use of 
-the directory. This performance gain is large enough to justify deviating from 
-preferred design practices. Neither overload alone meets all needs.</p>
-<p><b>Why are library functions so picky about errors?</b></p>
-<p>Safety. The default is to be safe rather than sorry. This is particularly 
-important given the reality that on many computer systems files and directories 
-are <a href="#global">globally shared</a> resources, and thus subject to 
-unexpected errors.</p>
-<p><b>Why are errors reported by exception rather than return code or error 
-notification variable?</b></p>
-<p>Safety. Return codes or error notification variables are often ignored 
-by programmers.  Exceptions are much harder to ignore, provided desired 
-default behavior (program termination) if not caught, yet allow error recovery 
-if desired. Non-throwing versions of functions are provided where experience 
-indicates the need.</p>
-<p><b>Why are attributes accessed via named functions rather than property maps?</b></p>
-<p>For  commonly used attributes (existence, directory or file, emptiness), 
-simple syntax and guaranteed presence outweigh other considerations. Because 
-access to many other attributes is inherently system dependent, 
-property maps are viewed as the best hope for access and modification, but it is 
-better design to provide such functionality in a separate library. (Historical 
-note: even the apparently simple attribute "read-only" turned out to be so 
-system depend as to be disqualified as a "guaranteed presence" operation.)</p>
-<p><b>Why aren't <a name="wide-character_names">wide-character names</a> supported? Why not std::wstring or even 
-a templated type?</b></p>
-<p>They <u>are</u> supported, starting with version 1.33. See
-<a href="i18n.html">Internationalization</a>.</p>
-<p><b>Why isn't automatic name portability error detection provided?</b></p>
-<p>A number (at least six) of designs for  name validity error 
-detection were evaluated, including at least four complete implementations.  
-While the details for rejection differed, all of the more powerful name validity checking 
-designs distorted other 
-otherwise simple aspects of the library. Even the simple name checking provided 
-in prior library versions was a constant source of user complaints. While name checking can be helpful, it 
-isn't important enough to justify added a lot of additional complexity.</p>
-<p><b>Why are paths sometimes manipulated by member functions and sometimes by 
-non-member functions?</b></p>
-<p>The design rule is that purely lexical operations are supplied as <i>class 
-basic_path</i> member 
-functions, while operations performed by the operating system are provided as 
-free functions.</p>
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->18 March, 2008<!--webbot bot="Timestamp" endspan i-checksum="29005" --></p>
-<p>© Copyright Beman Dawes, 2002</p>
-<p> Use, modification, and distribution are subject to the Boost Software 
-License, Version 1.0. See <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a></p>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v2/doc/i18n.html b/SRC/Boost/libs/filesystem/v2/doc/i18n.html
deleted file mode 100755
index 996927c..0000000
--- a/SRC/Boost/libs/filesystem/v2/doc/i18n.html
+++ /dev/null
@@ -1,426 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>1.34 (Internationalization) Changes</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<h1>1.34 (Internationalization) Changes</h1>
-<h2>Introduction</h2>
-<p>This release is a major upgrade for the Filesystem Library, in preparation 
-for submission to the C++ Standards Committee. Features of this release 
-include:</p>
-<ul>
-  <li><a href="#Internationalization">Internationalization</a>, provided by 
-  class templates <i>basic_path</i>, <i>basic_filesystem_error</i>, <i>
-  basic_directory_iterator</i>, and <i>basic_directory_entry</i>.<br>
- </li>
-  <li><a href="#Simplification">Simplification</a> of the path interface, 
-  including elimination of distinction between native and generic formats, 
-  and separation of name checking functionality from general path functionality. 
-  Also simplification of <i>basic_filesystem_error</i>.<br>
- </li>
-  <li><a href="#Rationalization">Rationalization</a> of predicate function 
-  design, including the addition of several new functions.<br>
- </li>
-  <li>Clearer specification by reference to [<a href="design.htm#POSIX-01">POSIX-01</a>], 
-  the ISO/IEEE Single Unix Standard, with provisions for Windows and other 
-  operating systems.<br>
- </li>
-  <li><a href="#Preservation">Preservation</a> of existing user code whenever 
-  possible.<br>
- </li>
-  <li><a href="#More_efficient">More efficient operations</a> when iterating over directories.<br>
- </li>
-  <li>A <a href="reference.html#recursive_directory_iterator">recursive 
-  directory iterator</a> is now provided. </li>
-</ul>
-<p><a href="#Rationale">Rationale</a> for some of the changes is also provided.</p>
-<h2><a name="Internationalization">Internationalization</a></h2>
-<p>Cass templates <i>basic_path</i>, <i>basic_filesystem_error</i>, and <i>
-basic_directory_iterator</i> provide the basic mechanisms for 
-internationalization, in ways very similar to the C++ Standard Library's <i>
-basic_string</i> and similar class templates. The following typedefs are also 
-provided:</p>
-<blockquote>
-  <pre>typedef basic_path<std::string, ...> path;
-typedef basic_path<std::wstring, ...> wpath;
-
-typedef basic_filesystem_error<path> filesystem_error;
-typedef basic_filesystem_error<wpath> wfilesystem_error;
-
-typedef basic_directory_iterator<path> directory_iterator;
-typedef basic_directory_iterator<wpath> wdirectory_iterator;</pre>
-</blockquote>
-<p>The string type used by Boost.Filesystem <i>basic_path</i> (std::string, 
-std::wstring, or whatever) is called the <i>internal</i> string type. The string 
-type used by the operating system for paths (often char*, sometimes wchar_t*) is 
-called the <i>external</i> string type. Conversion between internal and external 
-types is performed by path traits classes. The specific conversions for <i>path</i> 
-and <i>wpath</i> is implementation defined, with normative encouragement to use 
-the operating system's preferred file system encoding. For many modern POSIX-based 
-file systems the <i>wpath</i> external encoding is <a href="design.htm#Kuhn">
-UTF-8</a>, while for modern Windows file systems such as NTFS it is
-<a href="http://en.wikipedia.org/wiki/UTF-16">UTF-16</a>.</p>
-<p>The <a href="reference.html#Operations-functions">operational functions</a> in
-<a href="../../../../boost/filesystem/operations.hpp">operations.hpp</a> are provided with overloads for
-<i>path</i>, <i>wpath</i>, and user-defined <i>basic_path</i>'s. A
-<a href="reference.html#Requirements-on-implementations">"do-the-right-thing" rule</a> 
-applies to implementations, ensuring that the correct overload will be chosen.</p>
-<h2><a name="Simplification">Simplification</a> of path interface</h2>
-<p>Prior versions of the library required users of class <i>path</i> to identify 
-the format (native or generic) and name error-checking policy, either via a 
-second constructor argument or via a default mechanism. That approach caused 
-complaints, particularly from users not needing the name checking features. The 
-interface has now been simplified:</p>
-<ul>
-  <li>The distinction between native and generic formats has been eliminated. 
-  See <a href="#distinction">rationale</a>. Two argument forms of path 
-  constructors are now deprecated, with the second argument having no effect. 
-  These constructors are only provided to ease the transition of existing code.<br>
- </li>
-  <li>Path name checking functionality has been moved out of class path and into 
-  separate free-functions. This still provides name checking for those who need 
-  it, but with much less impact on those who don't need it.</li>
-</ul>
-<p>Additionally,
-<a href="reference.html#Class-template-basic_filesystem_error">basic_filesystem_error</a> has been put 
-on a diet and generally simplified.</p>
-<p>Error codes have been moved to a separate library,
-<a href="../../../system/doc/index.html">Boost.System</a>.</p>
-<p><code>"//:"</code> has been introduced as a path escape prefix to identify 
-native paths. Rationale: simplifies basic_path constructor interfaces, easier 
-use for platforms needing explicit native format identification.</p>
-<h2><a name="Rationalization">Rationalization</a> of predicate functions</h2>
-<p>In discussions and bug reports on the Boost developers mailing list, it 
-became obvious that Boost.Filesystem's exists(), symbolic_link_exists(), and 
-is_directory() predicate functions were poorly specified. There were suggestions 
-to add an is_accessible() function, but Peter Dimov argued that this amounted to 
-papering over the lack of a clear specification and would likely lead to future 
-problems.</p>
-<p>Peter suggested that an interesting way to analyze the problem was to ask 
-what the expectations were for true and false values of the various predicates. 
-See the <a href="#table">table</a> below.</p>
-<h3>status()</h3>
-<p>As part of the predicate discussions, particularly with Rob Stewart, it 
-became obvious that sometimes applications need access to raw status information 
-without any possibility of an exception being thrown. The
-<a href="reference.html#Status-functions">status()</a> function was added to meet this 
-need. It also proved clearer to specify the semantics of predicate functions in 
-terms of status().</p>
-<h3><a name="is_file">is_file</a>()</h3>
-<p>About the same time, Jeff Garland suggested that an
-<a href="reference.html#Predicate-functions">is_file()</a> predicate would 
-compliment <a href="reference.html#Predicate-functions">is_directory()</a>. In working on the analysis below, it became obvious 
-that the expectations for is_file() were different from the expectations for !is_directory(), 
-so is_file() was added. </p>
-<h3><a name="is_other">is_other</a>()</h3>
-<p>On some operating systems, it is possible to have a directory entry which is 
-not for either a directory or a file. The
-<a href="reference.html#Predicate-functions">is_other()</a> 
-function identifies such cases.</p>
-<h3>Should predicates throw on errors?</h3>
-<p>Some conditions reported by operating systems as errors (see
-<a href="#Footnote">footnote</a>) clearly simply indicate that the predicate is 
-false, rather than indicating serious failure. But other errors represent 
-serious hardware or network problems, or permissions problems.</p>
-<p>Some people, particularly Rob Stewart, argue that in a function like
-<a href="reference.html#Predicate-functions">is_directory()</a>, any error should simply cause the function to return false. If 
-there is actually an underlying problem, it will be detected it due course when 
-a directory_iterator or fstream operation is attempted.</p>
-<p>That view is was rejected because of the following considerations:</p>
-<ul>
-  <li>As a general principle, the earlier errors can be reported, the better. 
-  The rationale being that it is often much cheaper to fix errors sooner rather 
-  than later. I've also had a lot of negative experiences where failure to 
-  detect errors early caused a lot of pain and unhappy customers. Some of these 
-  were directly caused by ignoring error returns from file system operations.<br>
-   </li>
-  <li>Analysis of existing programs indicated that as much as 30% of the use of 
-  a predicate was not followed by directory_iterator or fstream operations on 
-  the path in question. Instead, the applications performed reporting or 
-  fall-back operations that would not fail, and thus were either misleading or 
-  completely wrong if the <i>false</i> return value was in fact caused by 
-  hardware or network failure, or permissions problems.</li>
-</ul>
-<p>However, the discussion did identify that there are valid cases where 
-non-throwing behavior is a requirement, and a programmer may prefer to deal with 
-file or directory attributes and errors at a very low, bit-mask, level. Function <a href="#status">status()</a> 
-was proposed to meet those needs.</p>
-<h3><a name="Expectations">Expectations</a> <a name="table">table</a></h3>
-<p>In the table below, <i>p</i> is a non-empty path.</p>
-<p>Unless otherwise specified, all functions throw on hardware or general 
-failure errors, permission or access errors, symbolic link loop errors, and 
-invalid path errors. If an O/S fails to distinguish between error types, 
-predicate operations return false on such ambiguous errors.</p>
-<p><i><b>Expectations</b></i> identify operations that are expected to succeed 
-or fail, assuming no hardware, permission, or access right errors, and no race 
-conditions.</p>
-<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
-  <tr>
-    <td width="22%" align="center"><b><i>Expression</i></b></td>
-    <td width="48%" align="center"><b><i>Expectations</i></b></td>
-    <td width="108%" align="center"><b><i>Semantics</i></b></td>
-  </tr>
-  <tr>
-    <td width="22%">is_directory(p)</td>
-    <td width="48%">Returns true if p is found and is a directory, else false.<br>
-    If true, then directory_iterator(p) would succeed.<br>
-    If false, then directory_iterator(p) would fail.</td>
-    <td width="108%">Throws: if <a href="#status">status()</a> & error_flag<br>
-    Returns: status() & directory_flag</td>
-  </tr>
-  <tr>
-    <td width="22%">is_file(p)</td>
-    <td width="48%">Returns true if p is found and is not a directory, else 
-    false.<br>
-    If true, then ifstream(p) would succeed.<br>
-    False, however, does not imply ifstream(p) would fail (because some 
-    operating systems allow directories to be opened as files, but stat() does 
-    set the "regular file" flag.)</td>
-    <td width="108%">Throws: if status() & error_flag<br>
-    Returns: status() & file_flag</td>
-  </tr>
-  <tr>
-    <td width="22%">exists(p) </td>
-    <td width="48%">Returns is_directory(p) || is_file(p) || is_other(p)</td>
-    <td width="108%">Throws: if status() & error_flag<br>
-    Returns: status() &   (directory_flag|file_flag|other_flag)</td>
-  </tr>
-  <tr>
-    <td width="22%">is_symlink(p)</td>
-    <td width="48%">Returns true if p is found by shallow (non-transitive) 
-    search, and is a symbolic link, else false.<br>
-    If true, and p points to q, then for any filesystem function f except those 
-    specified as working shallowly on symlinks themselves, f(p) calls f(q), and 
-    returns any value returned by f(q).</td>
-    <td width="108%">Throws: if <a href="#status">symlink_status</a>() & 
-    error_flag<br>
-    Returns: symlink_status() & symlink_flag</td>
-  </tr>
-  <tr>
-    <td width="22%">!exists(p) && ((p.has_branch_path() && exists( p.branch_path()) 
-    || (!p.has_branch_path() && !p.has_root_path()))<br>
-    <i>In other words, if the path does not exist, and (the branch does exist, 
-    or (there is no branch and no root)).</i></td>
-    <td width="48%">If true, create_directory(p) would succeed.<br>
-    If true, ofstream(p) would succeed.<br>
-     </td>
-    <td width="108%"> </td>
-  </tr>
-  <tr>
-    <td width="22%">directory_iterator it(p)</td>
-    <td width="48%">If it != directory_iterator(), assert(exists(*it)||is_symlink(*it)). 
-    Note: exists(*it) may throw, and likewise status(*it) may return error_flag 
-    - there is no guarantee of accessibility.</td>
-    <td width="108%"> </td>
-  </tr>
-</table>
-<h3><a name="Conclusion">Conclusion</a></h3>
-<p>Predicate operations is_directory(), is_file(), is_symlink(), and exists() 
-with the indicated semantics form a self-consistent set that meets expectations.</p>
-<h2><a name="Preservation">Preservation</a> of existing user code</h2>
-<p>Although the change to a template based approach required a complete overhaul 
-of the implementation code, the  interface as used by existing applications is mostly unchanged. 
-Conversion problems which would 
-otherwise affect user code have been reduced by providing deprecated 
-functions to ease transition. The deprecated functions are:</p>
-<blockquote>
-  <pre>// class basic_path - 2nd constructor argument ignored:
-basic_path( const string_type & str, name_check );
-basic_path( const typename string_type::value_type * s, name_check );
-
-// class basic_path - old names provided for renamed functions:
-string_type native_file_string() const;
-string_type native_directory_string() const;
-
-// class basic_path - now defined such that these no longer have any real effect:
-static bool default_name_check_writable() { return false; } 
-static void default_name_check( name_check ) {}
-static name_check default_name_check() { return 0; }
-
-// non-deducible operations functions assume class path
-inline path current_path()
-inline const path & initial_path()
-
-// the new basic_directory_entry provides leaf()
-// to cover the common existing use case itr->leaf()
-typename Path::string_type leaf() const;</pre>
-</blockquote>
-<p>If you do not want  the deprecated functions to be included, define the macro BOOST_FILESYSTEM_NO_DEPRECATED.</p>
-<p>The greatest impact on existing code is the change of directory iterator 
-value type from <code>path</code> to <code>directory_entry</code>. To ease the 
-most common directory iterator use case, <code>basic_directory_entry</code> 
-provides an automatic conversion to <code>basic_path</code>, and this also 
-serves to prevent breakage of a lot of existing code. See the
-<a href="#More_efficient">next section</a> for discussion of rationale.</p>
-<blockquote>
-  <pre>// the new basic_directory_entry provides:
-operator const path_type &() const;</pre>
-  </blockquote>
-<h2><a name="More_efficient">More efficient</a> operations when iterating over 
-directories</h2>
-<p>Several common real-world operating systems (BSD derivatives, Linux, Windows) 
-provide status information during directory iteration. Caching of this status 
-information results in three to six times faster operation for typical predicate 
-operations. (For a directory containing 15,047 files, iteration in 1 second vs 6 
-seconds on a freshly booted system, and 0.3 seconds vs 0.9 seconds after prior use of 
-the directory.</p>
-<p>The efficiency gains from caching such status information were considered too 
-significant to ignore. Because the possibility of race-conditions differs 
-depending on whether the cached information is used or an actual system call is 
-performed, it was considered necessary to provide explicit functions utilizing 
-the cached information, rather than implicitly using the cache behind the 
-scenes.</p>
-<p>Three options were explored for exposing the cached status information, with 
-full implementations of each. After initial implementation of option 1 exposed 
-the problems noted below, option 2 was tested as a possible engineering 
-tradeoff. Option 3 
-was finally chosen as the cleanest design.</p>
-<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
-  <tr>
-    <td width="8%" align="center"><b><i>Option</i></b></td>
-    <td width="25%" align="center"><i><b>How cache accessed</b></i></td>
-    <td width="94%" align="center"><i><b>Pros and Cons</b></i></td>
-  </tr>
-  <tr>
-    <td width="8%" valign="top" align="center"><i><b>1</b></i></td>
-    <td width="25%" valign="top">Predicate function overloads<br>
-    (basic_directory_iterator value_type is path)</td>
-    <td width="94%">
-    <ul>
-      <li>Very Questionable design (friendship abuse, overload abuse, etc)</li>
-      <li>User cannot reuse cache</li>
-      <li>Readability problem; easy to miss difference between f(*it) and f(it)</li>
-      <li>Write-ability problem (error prone?)</li>
-      <li>Most common iterator use is brief: *it</li>
-      <li>Preserves existing code</li>
-    </ul>
-    </td>
-  </tr>
-  <tr>
-    <td width="8%" valign="top" align="center"><b><i>2</i></b></td>
-    <td width="25%" valign="top">Predicate member functions of basic_directory_<span style="background-color: #FFFF00">iterator</span><br>
-    (basic_directory_iterator value_type is path)</td>
-    <td width="94%">
-    <ul>
-      <li>Somewhat cleaner design (although added iterator functions is unusual)</li>
-      <li>User cannot reuse cache</li>
-      <li>Readability and write-ability is OK: f(*it) and it.f() sufficiently 
-      different</li>
-      <li>Most common iterator use is brief: *it</li>
-      <li>Preserves existing code</li>
-    </ul>
-    </td>
-  </tr>
-  <tr>
-    <td width="8%" valign="top" align="center"><b><i>3</i></b></td>
-    <td width="25%" valign="top">Predicate member functions of basic_directory_<span style="background-color: #FFFF00">entry</span><br>
-    (basic_directory_iterator value_type is basic_directory_entry)<br>
- </td>
-    <td width="94%">
-    <ul>
-      <li>Cleanest design.</li>
-      <li>User can reuse cache.</li>
-      <li>Readability and write-ability is OK: f(*it) and it->f() sufficiently 
-      different.</li>
-      <li>Most common iterator use is longer: it->path(), but by providing 
-      "operator const basic_path &" it is still possible to write a bare *it.</li>
-      <li>Breaks some existing code. The "operator const basic_path &" 
-      conversion eliminates breakage of the most common use case, while 
-      providing a (deprecated) leaf() prevents breakage of the second most 
-      common use case.</li>
-    </ul>
-    </td>
-  </tr>
-  </table>
-<h2><a name="Rationale">Rationale</a></h2>
-<h3>Elimination of the native versus generic <a name="distinction">distinction</a></h3>
-<p>Elimination of user confusion and general design simplification was the 
-original motivation for elimination of the distinction between native and 
-generic paths.</p>
-<p>During design work, a further technical argument was discovered. Consider the 
-path <code>"c:foo/bar"</code>. On many POSIX systems, <code>"c:foo"</code> is a 
-valid directory name, so we have a two element path and there is no issue of 
-native versus generic format. On Windows system, however, <code>"c:"</code> is a 
-drive specification, so we have a three element path. All calls to the operating 
-system will result in <code>"c:"</code> being considered a drive specification; 
-there is no way that fact-of-life can be changed by claiming the format is 
-generic. The native versus generic distinction is thus useless and misleading 
-for POSIX, Windows, and probably most other operating systems.</p>
-<p>If paths for a particular operating system did require a distinction be made, 
-it could be done by requiring that native paths be prefixed with some unique 
-implementation-defined identification. For example, <code>"native-path:"</code>. 
-This would only be required for operating systems where (1) the distinction 
-mattered, and (2) there was no lexical way to distinguish the two forms. For 
-example, a native operating system that used the same syntax as the Filesystem 
-Library's generic POSIX-like format, but processed the elements right-to-left 
-instead of left-to-right.</p>
-<h3>Preservation of <a name="existing-code">existing code</a></h3>
-<p>Allowing existing user code to continue to work with the updated version of 
-the library has obvious benefits in terms of preserving the effort users have 
-applied to both learning the library and writing code which uses the library.</p>
-<p>There is an additional motivation; other than the name checking portion of 
-class path,  the existing interface has proven to be useful and robust, so 
-there is no reason to fiddle with it.</p>
-<h3><a name="Single_path_design">Single path design</a></h3>
-<p>During preliminary internationalization discussion on the Boost developer's 
-list, a design was considered for a single path class which could hold either 
-narrow or wide character based paths. That design was rejected because:</p>
-<ul>
-  <li>The design was, for many applications, an over-generalization with runtime 
-  memory and speed costs which would have to be paid for even when not needed.<br>
- </li>
-  <li>There was concern that the design would be confusing to users, given that 
-  the standard library already uses single-value-type strings, rather than 
-  strings which morph value types as needed.<br>
- </li>
-  <li>There were technical issues with conversions when a narrow path was 
-  appended to a wide path, and visa versa. The concern was that double 
-  conversions could cause incorrect results, that conversions best left to the 
-  operating system would be performed, and that the technical complexity was too 
-  great in relation to perceived benefits. User-defined types would only make 
-  the problem worse.<br>
- </li>
-</ul>
-<h3>No versions of <a href="reference.html#Status-functions">status()</a> which throw exceptions on 
-errors</h3>
-<p>The rationale for not including versions of status() 
-which throw exceptions on errors is that (1) the primary purpose of this 
-function is to perform queries at a very low-level, where exceptions are usually 
-unwanted, and (2) exceptions on errors are already provided by the predicate 
-functions. There would be little or no efficiency gain from providing a throwing 
-version of status().</p>
-<h3>Symlink identifying version of <a href="reference.html#Status-functions">status()</a> function</h3>
-<p>A symlink identifying version of the status() function is distinguished by a 
-second argument. Often separately named functions are more appropriate than 
-overloading when behavior 
-differs, which is the case here, while overloads are more appropriate when 
-behavior is the same but argument types differ (Iain Hanson). Overloading was 
-chosen in this particular case because a subjective judgment that a single 
-function name with an optional "symlink" second argument produced more 
-understandable code. The original implementation of the function used the name "symlink_status", 
-but that just didn't read right in real code.</p>
-<h3>POSIX wpath_traits defaults to locale(""), but allows imbuing of locale</h3>
-<p>Vladimir Prus pointed out that for Linux (and presumably other POSIX 
-operating systems) that need to convert wide character paths to narrow 
-characters, the default conversion should not depend on the operating system 
-alone, but on the std::locale("") default. For example, the usual encoding 
-for Russian on Linux (and Russian web sites) is KOI8-R (RFC1489). The ability to safely specify a different locale 
-is also provided, to meet unforeseen needs.</p>
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->18 March, 2008<!--webbot bot="Timestamp" endspan i-checksum="29005" --></p>
-<p>� Copyright Beman Dawes, 2005</p>
-<p>Distributed under the Boost Software License, Version 1.0.
-(See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
-copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v2/doc/index.htm b/SRC/Boost/libs/filesystem/v2/doc/index.htm
deleted file mode 100755
index b112a37..0000000
--- a/SRC/Boost/libs/filesystem/v2/doc/index.htm
+++ /dev/null
@@ -1,835 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Filesystem Home</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-</head>
-
-<body>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="710">
-  <tr>
-    <td width="277">
-<a href="../../../../index.htm">
-<img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
-    <td width="410" align="middle">
-    <font size="7">Filesystem Library<br>
-    Version 2</font>
-    </td>
-  </tr>
-</table>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
-  <tr>
-    <td><a href="../../../../index.htm">Boost Home</a>   
-    <a href="index.htm">Library Home</a>    <a href="#tutorial">Tutorial</a>    <a href="reference.html">
-    Reference</a>   <a href="faq.htm">FAQ</a></td>
-  </tr>
-</table>
-
-<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" align="right">
-  <tr>
-    <td width="100%" bgcolor="#D7EEFF" align="center">
-      <i><b>Contents</b></i></td>
-  </tr>
-  <tr>
-    <td width="100%" bgcolor="#E8F5FF">
-    <a href="#Introduction">Introduction</a><br>
-    <a href="#Using">Using the library</a><br>
-    <a href="#tutorial">Two-minute tutorial</a><br>
-    <a href="#Cautions">Cautions</a><br>
-    <a href="#Examples">Example programs</a><br>
-    <a href="#Implementation">Implementation</a><br>
-    <a href="#Macros">Macros</a><br>
-    <a href="#Deprecated-names">Deprecated names and features</a><br>
-    <a href="#narrow-only">Using only narrow character paths</a><br>
-    <a href="#Building">Building the object-library</a><br>
-        <a href="#Cgywin">Notes for Cygwin users</a><br>
-    <a href="#Acknowledgements">Acknowledgements</a><br>
-    <a href="#Change-history">Change history</a></td>
-  </tr>
-  <tr>
-    <td width="100%" bgcolor="#D7EEFF" align="center">
-      <i><b>Other Documents</b></i></td>
-  </tr>
-  <tr>
-    <td width="100%" bgcolor="#E8F5FF">
-    <a href="reference.html">Reference</a><br>
-    <a href="design.htm">Library Design</a><br>
-    <a href="faq.htm">FAQ</a><br>
-    <a href="portability_guide.htm">Portability Guide</a><br>
-    <a href="do-list.htm">Do-list</a>
-    </td>
-  </tr>
-</table>
-
-<div align="center">
-  <center>
-  <table border="1" cellpadding="10" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111">
-    <tr>
-      <td>
-      <p align="center"><b>This is the home page for Version 2 of the Filesystem library.</b></p>
-      <p align="left"><a href="../../v3/doc/index.htm">Version 3</a>, a major revision with many new and improved 
-      features, is also available. Version 3 may break some user code written 
-      for Version 2.</p>
-      <p align="left">To ease the transition, Boost releases 1.44 through 1.47 
-      will supply both V2 and V3. Version 2 is the default version for Boost release 1.44 
-      and 1.45. Version 3 will be the default starting with release 1.46.</p>
-      <p align="left"><b>Define macro BOOST_FILESYSTEM_VERSION as 3 to use 
-      Version 3. This will be the default for release 1.46 and later.</b></p>
-      <p align="left"><b>Define macro BOOST_FILESYSTEM_VERSION as 2 to use 
-      Version 2. This is the default for release 1.44 and 1.45.</b></p>
-      <p align="left"><b>You may define the BOOST_FILESYSTEM_VERSION macro:</b></p>
-      <ul>
-        <li>
-      <p align="left"><b>On the build command line; the exact format depends on 
-      your compiler or IDE</b></p>
-        </li>
-        <li>
-      <p align="left"><b>In your code, before including any filesystem header, 
-      #define BOOST_FILESYSTEM_VERSION <i>n</i></b></p>
-        </li>
-        <li>
-      <p align="left"><b>#define BOOST_FILESYSTEM_VERSION <i>n </i>in boost/config/user.hpp. 
-      Note that this approach applies to all uses of Boost.Filesystem.</b></p>
-        </li>
-      </ul>
-      <p align="left">Existing code should be moved to version 3 as soon as 
-      convenient. New code should be written for version 3.</p>
-      <p align="left">Version 2 is deprecated, and will not be included in Boost 
-      releases 1.48 and later.</p>
-      <p align="left"><b>Building the library</b></p>
-      <p align="left">By default, the Boost build system creates libraries that 
-      support both version 2 and version 3. To support only a single version, 
-      include <code>--disable-filesystem2</code> or <code>--disable-filesystem3</code> 
-      on the <code>bjam</code> command line.</p>
-      </td>
-    </tr>
-  </table>
-  </center>
-</div>
-
-<h2><a name="Introduction">Introduction</a></h2>
-<p>The Boost.Filesystem library provides portable facilities to query and 
-manipulate paths, files, and directories.</p>
-
-<p>The motivation for the library is the need to perform portable script-like operations from within C++ programs. The intent is not to 
-compete with Python, Perl, or shell languages, but rather to provide portable filesystem 
-operations when C++ is already the language of choice. The <a href="design.htm">
-design</a> encourages, but does not require, safe and portable  usage.</p>
-
-<p>Programs using the library are <b><i>portable</i></b>, both in the sense that 
-the syntax of program code is portable, and the sense that the semantics or 
-behavior of code is portable. The <a href="reference.html">generic path 
-grammar</a> is another important aid to portability.</p>
-
-<p>Usage is <i><b>safe</b></i> in the sense that errors cannot be ignored since most functions throw C++ 
-exceptions when errors are detected. This is also convenient for users because 
-it alleviates the need to explicitly check error 
-return codes.</p>
-
-<p>A proposal,
-<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1975.html">
-N1975</a>, to include Boost.Filesystem in Technical Report 2 has been accepted 
-by the C++ Standards Committee. The Boost.Filesystem library will stay in 
-alignment with the TR2 Filesystem proposal as it works its way through the TR2 
-process. Note, however, that namespaces and header granularity differs between 
-Boost.Filesystem and the TR2 proposal.</p>
-
-<p>The Boost.Filesystem library provides several  headers:</p>
-
-<ul>
-  <li>Header <<a href="../../../../boost/filesystem.hpp">boost/filesystem.hpp</a>> provides class <i>
-  basic_path, </i>a portable mechanism for representing
-      <a href="#path">paths</a> in C++ programs. Typedefs <i>path</i> and <i>
-  wpath</i> ease the most common usages of <i>basic_path</i>. Operational 
-  functions provide useful query and maintenance operations on files and directories. 
-  Class <i>basic_directory_iterator</i> with typdefs <i>
-  directory_iterator</i> and <i>wdirectory_iterator</i> provide iteration over 
-  the contents of directories. Convenience functions and classes combine lower-level functionality 
-  in useful ways.<br>
- </li>
-  <li>Header <<a href="../../../../boost/filesystem/fstream.hpp">boost/filesystem<i>/</i>fstream.hpp</a>> provides the same components as the C++ Standard 
-  Library's <i>fstream</i> header, except 
-      that files are identified by <i>basic_path</i> objects rather that <i>char *</i>'s.</li>
-</ul>
-<h2><a name="Using">Using</a> the library</h2>
-<p>Boost.Filesystem is implemented as a separately compiled library, so before 
-using it you must install it in a location that can be found by your linker. See
-<a href="#Building">Building the object-library</a>. </p>
-<p>The library's <a href="../example">example directory</a> contains very simple 
-scripts for building the <a href="#Examples">example programs</a> on various 
-platforms. You can use these scripts to see what's needed to compile and link 
-your own programs.</p>
-<h2>Two-minute <a name="tutorial">tutorial</a></h2>
-<p>(A
-<a href="http://beans.seartipy.com/2006/05/10/boost-filesystem-library-writing-portable-c-programs-to-acess-the-filesystem/">
-more elaborate tutorial</a> is also available from Tabrez Iqbal.)</p>
-<p>First some preliminaries:</p>
-<blockquote>
-  <pre>#include "boost/filesystem.hpp"   // includes all needed Boost.Filesystem declarations
-#include <iostream>               // for std::cout
-using boost::filesystem;          // for ease of tutorial presentation;
-                                  //  a namespace alias is preferred practice in real code</pre>
-</blockquote>
-<p>A <a href="reference.html#Class-template-basic_path">class <i>path</i></a> object can be created:</p>
-<blockquote>
-  <pre>path my_path( "some_dir/file.txt" );</pre>
-</blockquote>
-<p>The string passed to the <i>path</i> constructor may be in a
-<a href="reference.html#Pathname-formats">portable generic path format</a> or an 
-implementation-defined native operating system format. Access functions 
-make <i>my_path</i> contents available to the underlying operating system API in an operating system dependent format, 
-such as <code>"some_dir:file.txt"</code>, <code>"[some_dir]file.txt"</code>,
-<code>"some_dir/file.txt"</code>, or whatever is appropriate for the  
-operating system. If class <i>wpath</i> is used instead of class <i>path</i>, 
-translation between wide and narrow character paths is performed automatically 
-if necessary for the operating system.</p>
-<p>Class <i>path</i> has conversion constructors from <i>const char*</i> and <i>
-const std:: string&</i>, so that even though the Filesystem Library 
-functions used in the following code snippet have <i>const path&</i> formal 
-parameters, the user can just 
-code C-style strings as actual arguments:</p>
-<blockquote>
-  <pre>remove_all( "foobar" );
-create_directory( "foobar" );
-ofstream file( "foobar/cheeze" );
-file << "tastes good!\n";
-file.close();
-if ( !exists( "foobar/cheeze" ) )
-  std::cout << "Something is rotten in foobar\n";</pre>
-</blockquote>
-<p>To make class <i>path</i> objects easy to use in expressions, <i>operator/</i> 
-appends paths:</p>
-<blockquote>
-  <pre>ifstream file1( arg_path / "foo/bar" );
-ifstream file2( arg_path / "foo" / "bar" );</pre>
-</blockquote>
-<p>The expressions <i>arg_path / "foo/bar"</i> and <i>arg_path / "foo" 
-/ "bar"</i> yield identical results.</p>
-<p>Paths can include references to the current directory, using "<code>.</code>" 
-notation, and the parent directory, using "<code>..</code>" 
-notation.</p>
-<p><a href="reference.html#Class-template-basic_directory_iterator">Class <i>basic_directory_iterator</i></a> 
-is an important component of the library. It provides an input iterator over the 
-contents of a directory, with the value type being class <i>basic_path</i>. 
-Typedefs <i>directory_iterator</i> and <i>wdirectory_iterator</i> are provided 
-to cover the most common use cases.</p>
-<p>The following function, given a directory path and a file name, recursively 
-searches the directory and its sub-directories for the file name, returning a 
-bool, and if successful, the path to the file that was found.  The code 
-below is extracted from a real program, slightly modified for clarity:</p>
-<blockquote>
-  <pre>bool find_file( const path & dir_path,         // in this directory,
-                const std::string & file_name, // search for this name,
-                path & path_found )            // placing path here if found
-{
-  if ( !exists( dir_path ) ) return false;
-  directory_iterator end_itr; // default construction yields past-the-end
-  for ( directory_iterator itr( dir_path );
-        itr != end_itr;
-        ++itr )
-  {
-    if ( is_directory(itr->status()) )
-    {
-      if ( find_file( itr->path(), file_name, path_found ) ) return true;
-    }
-    else if ( itr->path().filename() == file_name ) // see below
-    {
-      path_found = itr->path();
-      return true;
-    }
-  }
-  return false;
-}</pre>
-</blockquote>
-<p>The expression <i>itr->path().filename() == file_name</i>, in the line commented <i>// 
-see below</i>, calls the <i>filename()</i> function on the <i>path</i> returned by 
-calling the <i>path()</i> function of the <i>directory_entry </i>object pointed 
-to by the iterator. <i>filename()</i> returns a string which is a copy of the 
-last (closest to the leaf, farthest from the root) file or directory name in the
-<i>path</i> object.</p>
-<p>Notice that <i>find_file()</i> does not do explicit error checking, such as 
-verifying that the <i>dir_path</i> argument really represents a directory.  
-Boost.Filesystem  functions throw 
-exceptions if they do not complete successfully, so there is enough implicit 
-error checking that this application doesn't need to supply additional error 
-checking code unless desired. Several Boost.Filesystem functions have non-throwing 
-versions, to ease use cases where exceptions would not be appropriate.</p>
-<blockquote>
-<p><i>Note: </i>Recursive 
-directory iteration was added  as a convenience function after the above tutorial code 
-was written, so nowadays you 
-don't have to actually code the recursion yourself.</p>
-</blockquote>
-<h2><a name="Cautions">Cautions</a></h2>
-<p>After reading the tutorial you can dive right into  simple, 
-script-like programs using the Filesystem Library! Before doing any serious 
-work, however, there a few cautions to be aware of:</p>
-<h4><b>Effects and Postconditions not guaranteed in the presence of race-conditions</b></h4>
-<p>Filesystem function specifications follow the C++ Standard Library form, specifying behavior in terms of 
-effects and postconditions. If 
-a <a href="reference.html#Race-condition">race-condition</a> exists, a function's 
-postconditions may no longer be true by the time the function returns to the 
-caller.</p>
-<blockquote>
-<p><b><i>Explanation: </i></b>The state of files and directories is often
-globally shared, and thus may be changed unexpectedly by other threads, 
-processes, or even other computers having network access to the filesystem. As an 
-example of the difficulties this can cause, note that the following asserts 
-may fail:</p>
-<blockquote>
-<p><code>assert( exists( "foo" ) == exists( "foo" ) );  // 
-(1)<br>
-<br>
-remove_all( "foo" );<br>
-assert( !exists( "foo" ) );  // (2)<br>
-<br>
-assert( is_directory( "foo" ) == is_directory( "foo" ) ); // 
-(3)</code></p>
-</blockquote>
-<p>(1) will fail if a non-existent "foo" comes into existence, or an 
-existent "foo" is removed, between the first and second call to <i>exists()</i>. 
-This could happen if, during the execution of the example code, another thread, 
-process, or computer is also performing operations in the same directory.</p>
-<p>(2) will fail if between the call to <i>remove_all()</i> and the call to
-<i>exists()</i> a new file or directory named "foo" is created by another 
-thread, process, or computer.</p>
-<p>(3) will fail if another thread, process, or computer removes an 
-existing file "foo" and then creates a directory named "foo", between the 
-example code's two calls to <i>is_directory()</i>.</p>
-</blockquote>
-<h4><b>May throw exceptions</b></h4>
-<p>Unless otherwise specified, Boost.Filesystem functions throw <i>
-<a href="reference.html#basic_filesystem_error-constructors">basic_filesystem_error</a></i> 
-exceptions if they cannot successfully complete their operational 
-specifications. Also, implementations may use C++ Standard Library functions, 
-which may throw <i>std::bad_alloc</i>. These exceptions may be thrown even 
-though the error condition leading to the exception is not explicitly specified 
-in the function's "Throws" paragraph.</p>
-<p>All exceptions thrown by the Filesystem 
-Library are implemented by calling <a href="../../../utility/throw_exception.html">
-boost::throw_exception()</a>. Thus exact behavior may differ depending on 
-BOOST_NO_EXCEPTIONS at the time the filesystem source files are compiled.</p>
-<p>Non-throwing versions are provided of several functions that are often used 
-in contexts where error codes may be the preferred way to report an error.</p>
-<h2><a name="Examples">Example programs</a></h2>
-<h3><a href="../example/simple_ls.cpp">simple_ls.cpp</a></h3>
-<p>The example program <a href="../example/simple_ls.cpp">simple_ls.cpp</a> is 
-given a path as a command line argument. Since the command line argument may be 
-a relative path, the complete path is determined so that messages displayed 
-can be more precise.</p>
-<p>The program checks to see if the path exists; if not a message is printed.</p>
-<p>If the path identifies a directory, the directory is iterated through, 
-printing the name of the entries found, and an indication if they are 
-directories. A count of directories and files is updated, and then printed after 
-the iteration is complete.</p>
-<p>If the path is for a file, a message indicating that is printed.</p>
-<p>Try compiling and executing <a href="../example/simple_ls.cpp">simple_ls.cpp</a> 
-to see how it works on your system. Try various path arguments to see what 
-happens.</p>
-<h3><a href="../example/file_size.cpp">file_size.cpp</a></h3>
-<p>This example program prints the file's size if it is a regular file.</p>
-<h3>Other examples</h3>
-<p>The programs used to generate the Boost regression test status tables use the 
-Filesystem Library extensively.  See:</p>
-<ul>
-  <li><a href="../../../../tools/regression/src/process_jam_log.cpp">process_jam_log.cpp</a></li>
-  <li><a href="../../../../tools/regression/src/compiler_status.cpp">compiler_status.cpp</a></li>
-</ul>
-<p>Test programs are sometimes useful in understanding a library, as they 
-illustrate what the developer expected to work and not work. See:</p>
-<ul>
-  <li><a href="../test/wide_test.cpp">wide_test.cpp</a></li>
-  <li><a href="../test/path_test.cpp">path_test.cpp</a></li>
-  <li><a href="../test/operations_test.cpp">operations_test.cpp</a></li>
-  <li><a href="../test/fstream_test.cpp">fstream_test.cpp</a></li>
-</ul>
-<h2><a name="Implementation">Implementation</a></h2>
-<p>The current implementation supports operating systems which provide 
-either the POSIX or Windows API.</p>
-<p>The library is in regular use on Apple  OS X, HP-UX, IBM AIX, Linux, 
-Microsoft Windows, SGI IRIX, and Sun Solaris operating systems using a variety 
-of compilers.</p>
-<h2><a name="Macros">Macros</a></h2>
-<p>Users may defined the following macros if desired. Sensible defaults are 
-provided, so users can ignore these macros unless they have special needs.</p>
-<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td><b><i>Macro Name</i></b></td>
-    <td><b><i>Default</i></b></td>
-    <td><b><i>Effect if defined</i></b></td>
-  </tr>
-  <tr>
-    <td valign="top"><code>BOOST_FILESYSTEM_DYN_LINK</code></td>
-    <td valign="top">Defined if <code>BOOST_ALL_DYN_LINK</code> is defined, 
-    otherwise not defined.</td>
-    <td valign="top">Boost.System library is dynamically linked. If not defined, 
-    static linking is assumed.</td>
-  </tr>
-  <tr>
-    <td valign="top"><code>BOOST_FILESYSTEM_NO_LIB</code></td>
-    <td valign="top">Defined if <code>BOOST_ALL_NO_LIB</code> is defined, 
-    otherwise not defined.</td>
-    <td valign="top">Boost.System library does not use the Boost auto-link 
-    facility.</td>
-  </tr>
-  <tr>
-    <td valign="top"><code>BOOST_FILESYSTEM_NARROW_ONLY</code></td>
-    <td valign="top">Not defined.</td>
-    <td valign="top">Removes features that require wchar_t support.</td>
-  </tr>
-  <tr>
-    <td valign="top"><code>BOOST_FILESYSTEM_NO_DEPRECATED</code></td>
-    <td valign="top">Not defined.</td>
-    <td valign="top">Deprecated features are excluded.</td>
-  </tr>
-</table>
-<h2><a name="Deprecated-names">Deprecated names</a> and features</h2>
-<p style="font-size: 10pt">User-defined BOOST_POSIX_API and BOOST_WINDOWS_API 
-macros are no longer supported.</p>
-<p style="font-size: 10pt">As the library evolves over time, names sometimes 
-change or features are removed. To ease transition, Boost.Filesystem deprecates 
-the old names and features, but continues to provide them unless macro <code>
-BOOST_FILESYSTEM_NO_DEPRECATED</code> is defined.</p>
-<table border="1" cellpadding="5" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td style="font-size: 10pt">
-    <b><i>Component</i></b></td>
-    <td style="font-size: 10pt">
-    <p style="font-size: 10pt"><b><i>Old name, now deprecated</i></b></td>
-    <td style="font-size: 10pt">
-    <p style="font-size: 10pt"><b><i>New name</i></b></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>basic_path</code></td>
-    <td style="font-size: 10pt"><code>leaf()</code></td>
-    <td style="font-size: 10pt"><code>filename()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>basic_path</code></td>
-    <td style="font-size: 10pt"><code>branch_path()</code></td>
-    <td style="font-size: 10pt"><code>parent_path()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>basic_path</code></td>
-    <td style="font-size: 10pt"><code>has_leaf()</code></td>
-    <td style="font-size: 10pt"><code>has_filename()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>basic_path</code></td>
-    <td style="font-size: 10pt"><code>has_branch_path()</code></td>
-    <td style="font-size: 10pt"><code>has_parent_path()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_path</code></td>
-    <td style="font-size: 10pt">
-    <p style="font-size: 10pt"><code>remove_leaf()</code></td>
-    <td style="font-size: 10pt">
-    <p style="font-size: 10pt"><code>remove_filename()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_path</code></td>
-    <td style="font-size: 10pt">
-    <code>basic_path( const string_type & str,<br>
-  name_check )</code></td>
-    <td style="font-size: 10pt">
-    <i><code>feature removed</code></i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_path</code></td>
-    <td style="font-size: 10pt">
-    <code>basic_path( const string_type::value_type * s,<br>
-  name_check )</code></td>
-    <td style="font-size: 10pt">
-    <i><code>feature removed</code></i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_path</code></td>
-    <td style="font-size: 10pt">
-    <code>native_file_string()</code></td>
-    <td style="font-size: 10pt">
-    <code>file_string()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_path</code></td>
-    <td style="font-size: 10pt">
-    <code>native_directory_string()</code></td>
-    <td style="font-size: 10pt">
-    <code>directory_string()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_path</code></td>
-    <td style="font-size: 10pt">
-    <code>default_name_check_writable()</code></td>
-    <td style="font-size: 10pt">
-    <i><code>feature removed</code></i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_path</code></td>
-    <td style="font-size: 10pt">
-    <code>default_name_check( name_check )</code></td>
-    <td style="font-size: 10pt">
-    <i><code>feature removed</code></i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_path</code></td>
-    <td style="font-size: 10pt">
-    <code>default_name_check()</code></td>
-    <td style="font-size: 10pt">
-    <i><code>feature removed</code></i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_path</code></td>
-    <td style="font-size: 10pt">
-    <code>canonize()</code></td>
-    <td style="font-size: 10pt">
-    <i><code>feature removed</code></i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_path</code></td>
-    <td style="font-size: 10pt">
-    <code>normalize()</code></td>
-    <td style="font-size: 10pt">
-    <i><code>feature removed</code></i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>operations.hpp</code></td>
-    <td style="font-size: 10pt">
-    <code>is_regular( file_status f )</code></td>
-    <td style="font-size: 10pt">
-    <code>is_regular_file( file_status f )</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>operations.hpp</code></td>
-    <td style="font-size: 10pt">
-    <code>symbolic_link_exists( const path & ph )</code></td>
-    <td style="font-size: 10pt">
-    <i><code>feature removed</code></i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_directory_status</code></td>
-    <td style="font-size: 10pt">
-    <code>filename()</code></td>
-    <td style="font-size: 10pt">
-    <i><code>feature removed, use path().filename() instead</code></i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_directory_status</code></td>
-    <td style="font-size: 10pt">
-    <code>leaf()</code></td>
-    <td style="font-size: 10pt">
-    <i><code>feature removed, use path().filename() instead</code></i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>basic_directory_status</code></td>
-    <td style="font-size: 10pt">
-    <code>string()</code></td>
-    <td style="font-size: 10pt">
-    <i><code>feature removed, use path().string() instead</code></i></td>
-  </tr>
-</table>
-<h2><a name="narrow-only">Restricting library to narrow character paths</a></h2>
-<p>Compilers or standard libraries which do not support wide characters (wchar_t) 
-or wide character strings (std::wstring) are detected automatically, and cause 
-the library to compile code that is restricted to narrow character paths 
-(boost::filesystem::path). Users can force this restriction by defining the 
-macro BOOST_FILESYSTEM_NARROW_ONLY. That may be useful for dealing with legacy 
-compilers or operating systems.</p>
-<h2><a name="Building">Building</a> the object-library</h2>
-<p>The object-library will  be built automatically if you are using the Boost 
-build system. See
-<a href="../../../../more/getting_started.html">Getting Started</a>. It can also be 
-built manually using a <a href="../build/Jamfile.v2">Jamfile</a> 
-supplied in directory libs/filesystem/build, or the user can construct an IDE 
-project or make file which includes the object-library source files.</p>
-<p>The object-library source files are 
-supplied in directory <a href="../src">libs/filesystem/src</a>. These source files implement the 
-library for POSIX or Windows compatible operating systems; no implementation is 
-supplied for other operating systems. Note that many operating systems not 
-normally thought of as POSIX  systems, such as mainframe legacy 
-operating systems or embedded operating systems, support POSIX compatible file 
-systems which will work with the Filesystem Library.</p>
-<p>The object-library can be built for static or dynamic (shared/dll) linking. 
-This is controlled by the BOOST_ALL_DYN_LINK or BOOST_FILESYSTEM_DYN_LINK 
-macros. See the <a href="http://www.boost.org/development/separate_compilation.html">Separate 
-Compilation</a> page for a description of the techniques used.</p>
-<h3>Note for <a name="Cgywin">Cygwin</a> users</h3>
-<p>The library's implementation code treats <a href="http://www.cygwin.com/">Cygwin</a> 
-as a Windows platform, and thus uses the Windows API.</p>
-<h2><a name="Acknowledgements">Acknowledgements</a></h2>
-<p>The Filesystem Library was designed and implemented by Beman Dawes. The 
-original <i>directory_iterator</i> and <i>filesystem_error</i> classes were 
-based on prior work from Dietmar Kuehl, as modified by Jan Langer. Thomas Witt 
-was a particular help in later stages of initial development. Peter Dimov and 
-Rob Stewart made many useful suggestions and comments over a long period of 
-time. Howard Hinnant helped with internationalization issues.</p>
-
-<p>Key <a href="design.htm#Requirements">design requirements</a> and
-<a href="design.htm#Realities">design realities</a> were developed during 
-extensive discussions on the Boost mailing list, followed by comments on the 
-initial implementation. Numerous helpful comments were then received during the 
-Formal Review.<p>Participants included 
-Aaron Brashears,
-Alan Bellingham,
-Aleksey Gurtovoy,
-Alex Rosenberg,
-Alisdair Meredith,
-Andy Glew,
-Anthony Williams,
-Baptiste Lepilleur, 
-Beman Dawes,
-Bill Kempf,
-Bill Seymour, 
-Carl Daniel,
-Chris Little,
-Chuck Allison,
-Craig Henderson, 
-Dan Nuffer,
-Dan'l Miller,
-Daniel Frey, 
-Darin Adler, 
-David Abrahams,
-David Held, 
-Davlet Panech,
-Dietmar Kuehl,
-Douglas Gregor, 
-Dylan Nicholson,
-Ed Brey, 
-Eric Jensen,
-Eric Woodruff,
-Fedder Skovgaard,
-Gary Powell,
-Gennaro Prota,
-Geoff Leyland, 
-George Heintzelman, 
-Giovanni Bajo,
-Glen Knowles,
-Hillel Sims,
-Howard Hinnant,
-Jaap Suter,
-James Dennett, 
-Jan Langer, 
-Jani Kajala, 
-Jason Stewart, 
-Jeff Garland,
-Jens Maurer,
-Jesse Jones,
-Jim Hyslop,
-Joel de Guzman,
-Joel Young,
-John Levon, 
-John Maddock,
-John Williston,
-Jonathan Caves,
-Jonathan Biggar,
-Jurko,
-Justus Schwartz,
-Keith Burton, 
-Ken Hagen,
-Kostya Altukhov, 
-Mark Rodgers,
-Martin Schuerch, 
-Matt Austern,
-Matthias Troyer, 
-Mattias Flodin, 
-Michiel Salters,
-Mickael Pointier,
-Misha Bergal,
-Neal Becker,
-Noel Yap,
-Parksie,
-Patrick Hartling, Pavel Vozenilek,
-Pete Becker, 
-Peter Dimov,
-Rainer Deyke,
-Rene Rivera,
-Rob Lievaart,
-Rob Stewart,
-Ron Garcia,
-Ross Smith,
-Sashan,
-Steve Robbins, 
-Thomas Witt, 
-Tom Harris, 
-Toon Knapen,
-Victor Wagner,
-Vincent Finn,
-Vladimir Prus, and
-Yitzhak Sapir
- 
-<p>A lengthy discussion on the C++ committee's library reflector illuminated the "illusion 
-of portability" problem, particularly in postings by PJ Plauger and Pete Becker.</p>
-
-<p>Walter Landry provided much help illuminating symbolic link use cases for 
-version 1.31.0.</p>
-
-<h3>Version 1.34 (<a href="i18n.html">i18n</a>) acknowledgements</h3>
-
-<p>So many people have contributed comments and bug reports that it isn't any 
-longer possible to acknowledge them individually. That said, Peter Dimov and Rob 
-Stewart need to be specially thanked for their many constructive criticisms and 
-suggestions. Terence 
-Wilson and Chris Frey contributed timing programs which helped illuminate 
-performance issues.</p>
-
-<h2><a name="Change-history">Change history</a></h2>
-
-<h3>Version 1.37.0</h3>
-
-<ul>
-  <li>Doc fixes: Update release history, add tables of macros and deprecated 
-  names.</li>
-  <li>Bug fix: convenience.hpp didn't fully apply BOOST_FILESYSTEM_NO_DEPRECATED 
-  to name changes.</li>
-  <li>Bug fix: Ticket #1972 'remove' fixes.</li>
-  <li>Bug fix: Restore deprecated basic_directory_entry names inadvertently 
-  removed.</li>
-  <li>Bug fix: Provide deprecated functions has_branch_path and has_leaf, 
-  inadvertently omitted from 1.36.0</li>
-  <li>Add workarounds for Codegear/Borland C++ Builder 2009.</li>
-</ul>
-
-<h3>Version 1.36.0 - August 14th, 2008</h3>
-
-<ul>
-  <li>Added stem(), extension(), and replace_extension() member functions to 
-  basic_path, based on the basename(), extension(), and change_extension() 
-  functions from convenience.hpp.</li>
-  <li>Changed path.hpp function names:<ul>
-    <li>leaf() -> filename().</li>
-    <li>has_leaf() -> has_filename().</li>
-    <li>branch_path() -> parent_path().</li>
-    <li>has_branch_path() -> has_parent_path().</li>
-    <li>remove_leaf() -> remove_filename().</li>
-  </ul>
-  </li>
-  <li>Changed operations.hpp function names:<ul>
-    <li>is_regular() -> is_regular_file().</li>
-  </ul>
-  </li>
-  <li>Bug fix: Add path.cpp #include <cwchar></li>
-  <li>Cleared path.hpp gcc shadow warnings.</li>
-</ul>
-
-<h3>Version 1.35.0 - March 29th, 2008</h3>
-
-<ul>
-  <li>Diagnostics moved to the separate <a href="../../../system/doc/index.html">
-  Boost.System</a> library.</li>
-  <li>current_path() function added to set the current directory path.</li>
-  <li>Test coverage extended.</li>
-  <li>A few minor implementation fixes.</li>
-</ul>
-
-<h3>Version 1.34.1 - July 24th, 2007</h3>
-
-<h3><a href="i18n.html">Version 1.34.0</a> - May 12th, 2007</h3>
-
-<ul>
-  <li><a href="i18n.html#Internationalization">Internationalization</a>, provided by 
-  class templates <i>basic_path</i>, <i>basic_filesystem_error</i>, and <i>
-  basic_directory_iterator</i>.</li>
-  <li><a href="i18n.html#Simplification">Simplification</a> of the path interface, 
-  including elimination of distinction between native and generic formats, 
-  and separation of name checking functionality from general path functionality.</li>
-  <li><a href="i18n.html#Rationalization">Rationalization</a> of predicate 
-  function design, including the addition of several new functions.</li>
-  <li><a href="i18n.html#Preservation">Preservation</a> of existing user code whenever 
-  possible. Deprecated features (<i>symbolic_link_exists()</i>, etc.) remain 
-  available for legacy code.</li>
-  <li>Clearer specification, by reference to [<a href="design.htm#POSIX-01">POSIX-01</a>], 
-  the ISO/IEEE Single Unix Standard, with provisions for Windows and other 
-  operating systems.</li>
-  <li>New functions <a href="reference.html#Status-functions">status</a>,
-  <a href="reference.html#Status-functions">symlink_status</a>,
-  <a href="reference.html#Predicate-functions">is_file</a>,
-  <a href="reference.html#Predicate-functions">is_symlink</a>,
-  <a href="reference.html#Operations-functions">create_hard_link</a>, 
-  <a href="reference.html#Operations-functions">create_symlink</a>, path member and non-member swap, path inserter, path 
-  extractor, additional path relational and "/" operator overloads, additional 
-  path member template functions taking iterator arguments.</li>
-  <li><a href="i18n.html#More_efficient">More efficient operations</a> when iterating over directories.</li>
-  <li>Separation within the implementation of the distinction between the native 
-  operating system path syntax and API. This is important for CYGWIN users 
-  because it allows them to build for either the Windows or POSIX API's.</li>
-  <li>Numerous small implementation fixes.</li>
-</ul>
-
-<h3>Version 1.33.0 - August 11th, 2005</h3>
-
-<ul>
-  <li>Some small implementation fixes.</li>
-</ul>
-
-<h3>Version 1.32.0 - November 19th, 2004</h3>
-
-<ul>
-  <li><a href="reference.html#Attribute-functions">file_size()</a> function added.</li>
-  <li>Class path <a href="reference.html#basic_path-non-member-functions">relational operators</a> added.</li>
-  <li><a href="reference.html#Predicate-functions">equivalent()</a> function added.</li>
-  <li><a href="reference.html#Operations-functions">create_directory()</a> no longer 
-  throws if the directory already exists. A bool is returned, indicating that 
-  the directory did not preexist. Similar changes made to
-  <a href="reference.html#Convenience-functions">create_directories()</a>.</li>
-  <li><a href="#Cgywin">Docs added</a> for users wishing Cygwin/POSIX behavior 
-  on Windows.</li>
-  <li>For POSIX, Large File Support (LSF) is enabled if available, such as on 
-  Linux.</li>
-  <li><a href="reference.html#initial_path">current_path()</a> and
-  <a href="reference.html#initial_path">initial_path()</a> on POSIX now handle 
-  very long paths correctly.</li>
-</ul>
-
-<h3>Version 1.31.0 - January 26th, 2004</h3>
-
-<ul>
-  <li>The object library can now be <a href="#Building">built</a> for either 
-  static or dynamic (shared/dll) linking. </li>
-  <li>Several added functions, including improved checking for directory and 
-  file name portability. See <a href="portability_guide.htm#name_check_functions">
-  Name check functions</a>.</li>
-  <li>Separation of canonical form and normalized form and a new path member 
-  function normalize(). This changes behavior, 
-  in that canonical form is now different, but eliminates a subtle
-  <a href="design.htm#symbolic-link-use-case">bug</a> when symbolic links to 
-  directories are present.</li>
-</ul>
-
-<h3> <br>
-Version 1.30.0 - March 19th, 2003</h3>
-<ul>
-  <li>Initial official Boost version.</li>
-</ul>
-
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->06 December, 2010<!--webbot bot="Timestamp" endspan i-checksum="38640" --></p>
-
-<p>© Copyright Beman Dawes, 2002-2005</p>
-<p> Use, modification, and distribution are subject to the Boost Software 
-License, Version 1.0. See <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a></p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v2/doc/portability_guide.htm b/SRC/Boost/libs/filesystem/v2/doc/portability_guide.htm
deleted file mode 100755
index 1886ba7..0000000
--- a/SRC/Boost/libs/filesystem/v2/doc/portability_guide.htm
+++ /dev/null
@@ -1,226 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Portability Guide</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<h1>
-<img border="0" src="../../../../boost.png" align="center" width="277" height="86">Path 
-Name Portability 
-Guide</h1>
-
-<p>
-<a href="#Introduction">Introduction</a><br>
-<a href="#name_check_functions">name_check functions</a><br>
-<a href="#recommendations">File and directory name recommendations</a></p>
-<h2><a name="Introduction">Introduction</a></h2>
-<p>Like any other C++ program which performs I/O operations, there is no 
-guarantee that a program using Boost.Filesystem will be portable between 
-operating systems. Critical aspects of I/O such as how the operating system 
-interprets paths are unspecified by the C and C++ Standards.</p>
-<p>It is not possible to know  if a file or directory name will be 
-valid (and thus portable) for an unknown operating system. There is always the possibility that an operating system could use 
-names which are unusual (numbers less than 4096, for example) or very 
-limited in size (maximum of six character names, for example). In other words, 
-portability is never absolute; it is always relative to specific operating 
-systems or 
-file systems.</p>
-<p>It is possible, however, to know in advance if a directory or file name is likely to be valid for a particular 
-operating system. It is also possible to construct names which are 
-likely to be portable to a large number of modern and legacy operating systems.</p>
-
-<p>Almost all modern operating systems support multiple file systems. At the 
-minimum, they support a native file system plus a CD-ROM file system (Generally 
-ISO-9669, often with Juliet extensions).</p>
-
-<p>Each file system 
-may have its own naming rules. For example, modern versions of Windows support NTFS, FAT, FAT32, and ISO-9660 file systems, among others, and the naming rules 
-for those file systems differ. Each file system may also have 
-differing rules for overall path validity, such as a maximum length or number of 
-sub-directories. Some legacy systems have different rules for directory names 
-versus regular file names.</p>
-
-<p>As a result, Boost.Filesystem's <i>name_check</i> functions 
-cannot guarantee directory and file name portability. Rather, they are intended to 
-give the programmer a "fighting chance" to achieve portability by early 
-detection of common naming problems.</p>
-
-<h2><a name="name_check_functions">name_check functions</a></h2>
-
-<p>A <i>name_check</i> function 
-returns true if its argument is valid as a directory and regular file name for a 
-particular operating or file system. A number of these functions are provided.</p>
-
-<p>The <a href="#portable_name">portable_name</a> function is of particular 
-interest because it has been carefully designed to provide wide 
-portability yet not overly restrict expressiveness.</p>
-
-<table border="1" cellpadding="5" cellspacing="0">
-  <tr>
-    <td align="center" colspan="2"><b>Library Supplied name_check Functions</b></td>
-  </tr>
-  <tr>
-    <td align="center"><b>Function</b></td>
-    <td align="center"><b>Description</b></td>
-  </tr>
-  <tr>
-    <td align="left" valign="top"><code><a name="portable_posix_name">portable_posix_name</a>(const 
-    std::string&<i> name</i>)</code></td>
-    <td><b>Returns:</b> <i>true</i> if <code>!name.empty() && name</code> contains only the characters 
-    specified in<i> Portable Filename Character Set</i> rules as defined in by 
-    POSIX (<a href="http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap03.html">www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap03.html</a>).<br>
-    The allowed characters are <code>0-9</code>, <code>a-z</code>, <code>A-Z</code>, 
-    <code>'.'</code>, <code>'_'</code>, and <code>'-'</code>.<p><b>Use:</b> 
-    applications which must be portable to any POSIX system.</td>
-  </tr>
-  <tr>
-    <td align="left" valign="top"><code><a name="windows_name">windows_name</a>(const 
-    std::string&<i> name</i>)</code></td>
-    <td><b>Returns:</b>  <i>true</i> if <code>!name.empty() && name</code> contains 
-    only the characters specified by the Windows platform SDK as valid 
-    regardless of the file system <code>&& (name</code> is <code>"."</code> or
-    <code>".."</code>  or does not end with a trailing space or period<code>)</code>.  
-    The allowed characters are anything except <code>0x0-0x1F</code>, <code>'<'</code>,
-    <code>'>'</code>, <code>':'</code>, <code>'"'</code>, <code>'/'</code>,
-    <code>'\'</code>, and <code>'|'</code>.<p>
-    <b>Use:</b> applications which must be portable to Windows.</p>
-    <p><b>Note:</b> Reserved device names are not valid as file names, but are 
-    not being detected because they are still valid as a path. Specifically, 
-    CON, PRN, AUX, CLOCK$, NUL, COM[1-9], LPT[1-9], and these names followed by 
-    an extension (for example, NUL.tx7).</td>
-  </tr>
-  <tr>
-    <td align="left" valign="top"><code><a name="portable_name">portable_name</a>(const 
-    std::string&<i> name</i>)</code></td>
-    <td><b>Returns:</b> <code> windows_name(name) && portable_posix_name(name) 
-    && (name</code> is <code>"."</code> or <code>".."</code>, and the first character not a period or hyphen<code>)</code>.<p><b>Use:</b> applications which must be portable to a wide variety of 
-    modern operating systems, large and small, and to some legacy O/S's. The 
-    first character not a period or hyphen restriction is a requirement of 
-    several older operating systems.</td>
-  </tr>
-  <tr>
-    <td align="left" valign="top"><code><a name="portable_directory_name">
-    portable_directory_name</a>(const std::string&<i> name</i>)</code></td>
-    <td><b>Returns:</b> <code>portable_name(name) && (name</code> is <code>"."</code> 
-    or <code>".."</code>  or contains no periods<code>)</code>.<p><b>Use:</b> applications 
-    which must be portable to a wide variety of platforms, including OpenVMS.</td>
-  </tr>
-  <tr>
-    <td align="left" valign="top"><code><a name="portable_file_name">
-    portable_file_name</a>(const std::string&<i> name</i>)</code></td>
-    <td><b>Returns:</b> <code>portable_name(name) && </code>any period is followed by one to three additional 
-    non-period characters.<p><b>Use:</b> 
-    applications which must be portable to a wide variety of platforms, 
-    including OpenVMS and other systems which have a concept of "file extension" 
-    but limit its length.</td>
-  </tr>
-  <tr>
-    <td align="left" valign="top"><code><a name="native">native</a>(const 
-    std::string&<i> name</i>)</code></td>
-    <td><b>Returns:</b> Implementation defined. Returns <i>
-    true</i> for names considered valid by the operating system's native file 
-    systems.<p><b>Note:</b> May return <i>true</i> for some names not considered valid 
-    by the operating system under all conditions (particularly on operating systems which support 
-    multiple file systems.)</td>
-  </tr>
-</table>
-
-<h2>File and directory name <a name="recommendations">recommendations</a></h2>
-
-<table border="1" cellpadding="5" cellspacing="0">
-
-  <tr>
-    <td align="center" valign="top"><strong>Recommendation</strong></td>
-    <td align="center" valign="top"><strong>Rationale</strong></td>
-  </tr>
-  <tr>
-    <td valign="top">Limit file and directory names to the characters A-Z, a-z, 0-9, period, hyphen, and
-    underscore.<p>Use any of the "portable_" <a href="#name_check_functions">
-    name check functions</a> to enforce this recommendation.</td>
-    <td valign="top">These are the characters specified by the POSIX standard for portable directory and
-    file names, and are also valid for Windows, Mac, and many other modern file systems.</td>
-  </tr>
-  <tr>
-    <td valign="top">Do not use a period or hyphen as the first 
-    character of a name. Do not use period as the last character of a name.<p>
-    Use <a href="#portable_name">portable_name</a>,
-    <a href="#portable_directory_name">portable_directory_name</a>, or
-    <a href="#portable_file_name">portable_file_name</a> to enforce this 
-    recommendation.</td>
-    <td valign="top">Some operating systems treat have special rules for the 
-    first character of names. POSIX, for example. Windows does not permit period 
-    as the last character.</td>
-  </tr>
-  <tr>
-    <td valign="top">Do not use periods in directory names.<p>Use
-    <a href="#portable_directory_name">portable_directory_name</a> to enforce 
-    this recommendation.</td>
-    <td valign="top">Requirement for ISO-9660 without Juliet extensions, OpenVMS filesystem, and other legacy systems.</td>
-  </tr>
-  <tr>
-    <td valign="top">Do not use more that one period in a file name, and limit 
-    the portion after the period to three characters.<p>Use
-    <a href="#portable_file_name">portable_file_name</a> to enforce this 
-    recommendation.</td>
-    <td valign="top">Requirement for ISO-9660 level 1, OpenVMS filesystem, and 
-    other legacy systems. </td>
-  </tr>
-  <tr>
-    <td valign="top">Do not assume names are case sensitive. For example, do not expected a directory to be
-    able to hold separate elements named "Foo" and "foo". </td>
-    <td valign="top">Some file systems are case insensitive.  For example, Windows 
-    NTFS is case preserving in the way it stores names, but case insensitive in 
-    searching for names (unless running under the POSIX sub-system, it which 
-    case it does case sensitive searches). </td>
-  </tr>
-  <tr>
-    <td valign="top">Do not assume names are case insensitive.  For example, do not expect a file
-    created with the name of "Foo" to be opened successfully with the name of "foo".</td>
-    <td valign="top">Some file systems are case sensitive.  For example, POSIX.</td>
-  </tr>
-  <tr>
-    <td valign="top">Don't use hyphens in names.</td>
-    <td valign="top">ISO-9660 level 1, and possibly some legacy systems, do not permit 
-    hyphens.</td>
-  </tr>
-  <tr>
-    <td valign="top">Limit the length of the string returned by path::string() to 
-    255 characters.  
-    Note that ISO 9660 has an explicit directory tree depth limit of 8, although 
-    this depth limit is removed by the Juliet extensions.</td>
-    <td valign="top">Some operating systems place limits on the total path length.  For example,
-    Windows 2000 limits paths to 260 characters total length.</td>
-  </tr>
-  <tr>
-    <td valign="top">Limit the length of any one name in a path.  Pick the specific limit according to
-    the operating systems and or file systems you wish portability to:<br>
-       Not a concern::  POSIX, Windows, MAC OS X.<br>
-       31 characters: Classic Mac OS<br>
-   8 characters + period + 3 characters: ISO 9660 level 1<br>
-   32 characters: ISO 9660 level 2 and 3<br>
-   128 characters (64 if Unicode): ISO 9660 with Juliet extensions</td>
-    <td valign="top">Limiting name length can markedly reduce the expressiveness of file names, yet placing
-    only very high limits on lengths inhibits widest portability.</td>
-  </tr>
-</table>
-
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->11 January, 2009<!--webbot bot="Timestamp" endspan i-checksum="39335" --></p>
-
-<p>� Copyright Beman Dawes, 2002, 2003</p>
-<p> Use, modification, and distribution are subject to the Boost Software 
-License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">
-LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a>)</p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v2/doc/reference.html b/SRC/Boost/libs/filesystem/v2/doc/reference.html
deleted file mode 100755
index 3478340..0000000
--- a/SRC/Boost/libs/filesystem/v2/doc/reference.html
+++ /dev/null
@@ -1,3094 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Filesystem Reference
-</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-</head>
-
-<body>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="710">
-  <tr>
-    <td width="277">
-<a href="../../../../index.htm">
-<img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
-    <td width="410" align="middle">
-    <font size="7">Filesystem Library</font>
-    </td>
-  </tr>
-</table>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
-  <tr>
-    <td><a href="../../../../index.htm">Boost Home</a>   
-    <a href="index.htm">Library Home</a>   
-    <a href="index.htm#tutorial">Tutorial</a>    <a href="reference.html">
-    Reference</a>   <a href="faq.htm">FAQ</a></td>
-  </tr>
-</table>
-
-<h1>Reference Documentation</h1>
-
-<h2><a name="TOC">Table of Contents</a></h2>
-
-<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
-  <tr>
-    <td width="26%" valign="top"><a href="#Introduction">Introduction</a><br>
-    <a href="#Definitions">Definitions</a><br>
-    <a href="#Requirements">Requirements</a><br>
-   
-<a href="#Requirements-on-programs">Requirements on programs</a><br>
-    <a href="#Requirements-on-implementations">Requirementson implementations</a><br>
-    <a href="#Header-filesystem-synopsis">
-    Header <filesystem> synopsis</a><br>
-    <a href="#Path-traits">Path traits</a><br>
-    <a href="#Class-template-basic_path">
-    Class template basic_path</a><br>
-       
-<a href="#Pathname-formats">Pathname formats</a><br>
-       
-<a href="#Pathname-grammar">Pathname grammar</a><br>
-       
-<a href="#Filename-conversion">Filename conversion</a><br>
-       
-<a href="#basic_path-requirements">Requirements</a> </td>
-    <td width="35%" valign="top"> Class template basic_path (continued)<br>
-           
-<a href="#basic_path-requirements">basic_path constructors</a><br>
-           
-<a href="#basic_path-assignments">basic_path assignments</a><br>
-           
-<a href="#basic_path-modifiers">basic_path modifiers</a><br>
-           
-<a href="#basic_path-inserter-extractor">basic_path operators</a><br>
-           
-<a href="#basic_path-observers">basic_path observers</a><br>
-           
-<a href="#basic_path-iterators">basic_path iterators</a><br>
-           
-<a href="#basic_path-non-member-functions">basic_path non-member functions</a><br>
-           
-<a href="#basic_path-inserter-extractor">basic_path inserter and extractor</a><span style="background-color: #FFFFFF"><br>
-</span>        
-<a href="#Class-template-basic_filesystem_error">Class template 
-    basic_filesystem_error</a><br>
-           
-<a href="#basic_filesystem_error-constructors">basic_filesystem_error 
-    constructors</a><br>
-           
-<a href="#basic_filesystem_error-observers">basic_filesystem_error observers</a><br>
-       
-<a href="#Class-template-basic_directory_entry">Class template 
-    basic_directory_entry</a><br>
-           
-<a href="#basic_directory_entry-constructors">basic_directory_entry constructors</a><br>
-           
-<a href="#basic_directory_entry-modifiers">basic_directory_entry modifiers</a><br>
-           
-<a href="#basic_directory_entry-observers">basic_directory_entry observers</a><br>
-           
-<a href="#basic_directory_entry-comparisons">basic_directory_entry comparisons</a></td>
-    <td width="89%" valign="top">Filesystem library chapter (continued)<br>
-       
-<a href="#Class-template-basic_directory_iterator">Class template 
-    basic_directory_iterator</a><br>
-           
-<a href="#basic_directory_iterator-constructors">basic_directory_iterator 
-    constructors</a><br>
-       
-<a href="#Class-template-basic_recursive_directory_iterator">Class template 
-    basic_recursive_directory_iterator</a><br>
-        <a href="#file_status">Class 
-    file_status</a><br>
-    <a href="#Non-member-functions">
-    Non-member operational functions</a><br>
-       
-<a href="#Status-functions">Status functions</a><br>
-       
-<a href="#Predicate-functions">Predicate functions</a><br>
-       
-<a href="#Attribute-functions">Attribute functions</a><br>
-       
-<a href="#Operations-functions">Other operations functions</a><br>
-       
-<a href="#Convenience-functions">Convenience functions</a><br>
-    <a href="#header-fstream">Additions 
-    to header <fstream></a><br>
-<a href="#Suggestions-for-fstream">Suggestions for <code><fstream></code></a><code><br>
-  </code>
-<a href="#Suggestions-for-fstream"> implementations</a><br>
-<a href="#Path-decomposition-table">Path decomposition table</a><br>
-<a href="#Acknowledgements">Acknowledgements</a><br>
-<a href="#References">References</a><br>
- </td>
-  </tr>
-</table>
-
-<p><i>Some functions have been renamed or deprecated since earlier releases of 
-the library. See <a href="index.htm#Deprecated-names">Deprecated names and 
-features</a>.</i></p>
-
-<h2><a name="Introduction">Introduction</a></h2>
-<p>Some library behavior is specified by reference to ISO/IEC 9945:2003, <i>
-<a href="http://www.unix.org/single_unix_specification/">POSIX</a></i>. How such behavior is actually implemented is unspecified.</p>
-<blockquote>
-<p>[<i>Note:</i> This constitutes an "as if" rule for implementation of 
-operating system dependent behavior. Presumably implementations will usually call native 
-operating system API's. <i>--end note</i>]</p>
-</blockquote>
-<p>Implementations are encouraged, but not required, to support such behavior 
- 
-as it is defined by <i>POSIX</i>. Implementations shall document any 
-behavior that differs from the <i>POSIX</i> defined behavior. Implementations that do not support exact <i>POSIX</i> behavior are 
-encouraged to provide behavior as close to <i>POSIX</i> behavior as is reasonable given the 
-limitations of actual operating systems and file systems. If an implementation cannot provide any 
-reasonable behavior, the implementation shall report an error in an 
-implementation-defined manner.</p>
-<blockquote>
-<p>[<i>Note:</i> Such errors might be reported by an #error directive, a <code>
-static_assert</code>, a <code>basic_filesystem_error</code> exception, a special 
-return value, or some other manner. <i>--end note</i>]</p>
-</blockquote>
-<p>Specific operating systems such as <i>OpenMVS</i>,
-<i>UNIX</i>, and <i>Windows</i> are mentioned only for purposes of illustration or to 
-give guidance to implementors. No slight to other operating systems is implied 
-or intended.</p>
-<p>The <i>Effects</i> and <i>Postconditions</i> of functions described in this 
-reference 
-may not be achieved in 
-the presence of <a href="#Race-condition">race conditions</a>. No diagnostic is required.</p>
-<p>If the possibility of race conditions makes it unreliable for a program to 
-test for a precondition before calling a function described in this clause, <i>
-Requires</i> is not specified for the condition. Instead, the condition is 
-specified as a <i>Throws</i> condition.</p>
-<blockquote>
-<p>[<i>Note:</i> As a design practice, preconditions are not specified when it 
-is unreasonable for a program to detect them prior to calling the function. <i>
--- end note</i>]</p>
-</blockquote>
-<h3><a name="Definitions">Definitions</a></h3>
-<p>The following definitions  apply throughout this reference documentation:</p>
-<p><i><a name="File">File</a>: </i>An object that can be written to, or read from, or both. A file 
-has certain attributes, including type. File types include regular file, 
-symbolic link, and directory. Other types of files may be supported by the 
-implementation.</p>
-<p><i><a name="File-system">File system</a>:</i> A collection of files and certain of their attributes.</p>
-<p><i><a name="Filename">Filename</a>:</i> The name of a file. The format is as 
-specified by the <i>POSIX
-<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap03.html#tag_03_169">
-Filename</a></i> base definition.</p>
-<p><i><a name="Path">Path</a>:</i> A sequence of elements which identify 
-a location within a filesystem. The elements are the <i>root-name</i>, <i>
-root-directory</i>, and each successive <i>filename</i>. See
-<a href="#Pathname-grammar">Pathname grammar</a>.</p>
-<p><i><a name="Pathname">Pathname</a>: </i>A character string that represents a 
-path.</p>
-<p><i><a name="Link">Link</a>: </i>A directory entry object that associates a 
-filename with a file. On some file systems, several directory entries can 
-associate names with the same file.</p>
-<p><i><a name="Hard-link">Hard link</a>:</i> A link to an existing file. Some 
-file systems support multiple hard links to a file. If the last hard link to a 
-file is removed, the file itself is removed.</p>
-<blockquote>
-<p>[<i>Note:</i> A hard link can be thought of as a shared-ownership smart 
-pointer to a file.<i> -- end note</i>]<i> </i></p>
-</blockquote>
-<p><i><a name="Symbolic-link">Symbolic link</a>: </i>A type of file with the 
-property that when the file is encountered during pathname resolution, a string 
-stored by the file is used to modify the pathname resolution.</p>
-<blockquote>
-<p>[<i>Note:</i> A symbolic link can be thought of as a raw pointer to a file. 
-If the file pointed to does not exist, the symbolic link is said to be a 
-"dangling" symbolic link.<i> -- end note</i>]<i> </i></p>
-</blockquote>
-<p><i><a name="Slash">Slash</a>:</i> The character <tt>'/'</tt>, also known as 
-solidus.</p>
-<p><i><a name="Dot">Dot</a>:</i> The character '.', also known as period.</p>
-<p><i><a name="Race-condition">Race condition</a>:</i> The condition that occurs 
-when multiple threads, processes, or computers interleave access and 
-modification of 
-the same object within a file system.</p>
-<h3><a name="Requirements">Requirements</a></h3>
-<h4><a name="Requirements-on-programs">Requirements on programs</a></h4>
-<p>The arguments for template parameters named <code>Path</code>, <code>Path1</code>, 
-or <code>Path2</code> described in this clause shall be of type <code>basic_path</code>, 
-or a class derived from <code>basic_path</code>, unless otherwise 
-specified.</p>
-<h4><a name="Requirements-on-implementations">Requirements on implementations</a></h4>
-<p>Some function templates described in this clause have a template parameter 
-named <code>Path</code>, <code>Path1</code>, or <code>Path2</code>. When called 
-with a function argument <code>s</code> of type <code>char*</code> or <code>
-std::string</code>, the implementation shall treat the argument as if it were 
-coded <code>path(s)</code>. When called with a function argument <code>s</code> 
-of type <code>wchar_t*</code> or <code>std::wstring</code>, the implementation 
-shall treat the argument as if it were coded <code>wpath(s)</code>. For 
-functions with two arguments, implementations shall not supply this treatment 
-when <code>Path1</code> and <code>Path2</code> are different types.</p>
-<blockquote>
-<p>[<i>Note:</i> This "do-the-right-thing" rule allows users to write <code>exists("foo")</code>, 
-taking advantage of class <code>basic_path</code>'s string conversion 
-constructor,  rather 
-than the lengthier and more error prone <code>exists(path("foo"))</code>. This 
-is particularly important for the simple, script-like, programs which are an 
-important use case for the library. Calling two argument functions with 
-different types is a very rare usage, and may well be a coding error, so 
-automatic conversion is not supported for such cases.</p>
-<p>The implementation technique is unspecified. One possible implementation 
-technique, using
-<code>exists()</code> as an example, is:</p>
-  <blockquote>
-    <pre>template <class Path>
-  typename boost::enable_if<is_basic_path<Path>,bool>::type exists(const Path& p);
-inline bool exists(const path& p) { return exists<path>(p); }
-inline bool exists(const wpath& p) { return exists<wpath>(p); }</pre>
-  </blockquote>
-  <p> The <code>enable_if</code> will fail for a C string or <code>
-  std::basic_string</code> argument, which will then be automatically converted 
-  to a <code>basic_path</code> object via the appropriate <code>basic_path</code> conversion 
-  constructor.   <i>-- end note</i>]</p>
-  <p><span style="background-color: #E0E0E0"><i>The two overloads are not given 
-  in the normative text because:</i></span></p>
-  <ul>
-    <li><span style="background-color: #E0E0E0"><i>Better techniques for 
-    achieving the desired affect may be developed, perhaps enabled by core 
-    language changes like Concepts.</i></span></li>
-    <li><span style="background-color: #E0E0E0"><i>Implementations may prefer 
-    techniques that work with legacy compilers that do not support enable_if.</i></span></li>
-    <li><span style="background-color: #E0E0E0"><i>Spelling out the overloads 
-    makes the text longer and harder to read without adding much benefit.</i></span></li>
-    <li><span style="background-color: #E0E0E0"><i>More overloads will probably 
-    be needed for char16_t and char32_t (or whatever they end up being called), 
-    making it even less attractive to actually spell out each one. </i></span>
-    </li>
-  </ul>
-</blockquote>
-<p>Implementations of functions described in this clause are permitted to call the applications 
-program interface (API) provided by the operating system. If such an operating 
-system API call results in an error, implementations 
-shall report the error by throwing exception <code>basic_filesystem_error</code>, 
-unless otherwise specified.</p>
-<blockquote>
-<p>[<i>Note: </i>Such exceptions and the conditions that cause them to be thrown 
-are not explicitly described in each <i>Throws</i> element within this clause. 
-Because hardware failures, network failures, race conditions, and a plethora of 
-other errors occur frequently in file system operations, users should be aware 
-that <span style="background-color: #FFFFFF">unless otherwise specified</span> any file system operation, not matter how apparently innocuous, may throw 
-an exception. <i>-- end note</i>]</p>
-</blockquote>
-<p><span style="background-color: #FFFFFF">Functions commonly used in contexts 
-where errors are not exceptional have overloads taking an additional argument of 
-type </span><code><span style="background-color: #FFFFFF">error_code& ec</span></code><span style="background-color: #FFFFFF">. Such overloaded functions shall not throw exceptions. If an error occurs, 
-<code>ec</code> shall be set to the 
-error code reported by the operating system, otherwise <code>ec</code> shall be set to 0. If 
-an overload without an argument of type </span><code>
-<span style="background-color: #FFFFFF">error_code& ec</span></code><span style="background-color: #FFFFFF"> returns void, the other overload (with an argument of type </span><code>
-<span style="background-color: #FFFFFF">error_code& ec</span></code><span style="background-color: #FFFFFF">) returns an <code>
-error_code</code> with the value of ec.</span></p>
-<h3><a name="Header-filesystem-synopsis">Header <code><boost/filesystem></code> synopsis</a></h3>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      template <class String, class Traits> class <a href="#Class-template-basic_path">basic_path</a>;
-
-      template<class String, class Traits>
-      void swap(basic_path<String, Traits> & lhs, basic_path<String, Traits> & rhs);
-
-      template<class String, class Traits> bool operator<(<i>a</i> a, <i>b</i> b);
-      template<class String, class Traits> bool operator==(<i>a</i> a, <i>b</i> b);
-      template<class String, class Traits> bool operator!=(<i>a</i> a, <i>b</i> b);
-      template<class String, class Traits> bool operator>(<i>a</i> a, <i>b</i> b);
-      template<class String, class Traits> bool operator<=(<i>a</i> a, <i>b</i> b);
-      template<class String, class Traits> bool operator>=(<i>a</i> a, <i>b</i> b);
-      template<class String, class Traits> bool operator/(<i>a</i> a, <i>b</i> b);
-
-      template<class Path>
-        basic_ostream<typename Path::string_type::value_type, typename Path::string_type::traits_type> &
-          operator<<(basic_ostream<typename Path::string_type::value_type, typename Path::string_type::traits_type>& os, const Path & ph);
-
-      template<class Path>
-        basic_istream<typename Path::string_type::value_type, typename Path::string_type::traits_type> &
-          operator>>(basic_istream<typename Path::string_type::value_type, typename Path::string_type::traits_type>& is, Path & ph);
-      
-      struct path_traits;
-      struct wpath_traits;
-
-      typedef basic_path<std::string, path_traits>    path;
-      typedef basic_path<std::wstring, wpath_traits>  wpath;
-
-      template<class Path> struct is_basic_path;
-
-      template<class Path> struct slash { static const char value = '/'; };
-      template<class Path> struct dot   { static const char value = '.'; };
-<span style="background-color: #FFFFFF">      template<class Path> struct colon { static const char value = ':'; };</span><span style="background-color: #FFFF00">
-</span>
-      <span style="background-color: #FFFFFF">class filesystem_error;</span><span style="background-color: #FFFF00">
-</span>      
-      template <class Path> class <a href="#Class-template-basic_filesystem_error">basic_filesystem_error</a>;
-
-      typedef basic_filesystem_error<path> filesystem_error;
-      typedef basic_filesystem_error<wpath> wfilesystem_error;
-
-      <span style="background-color: #FFFFFF">template <class Path> class <a href="#Class-template-basic_directory_entry">basic_directory_entry</a>;
-
-      typedef basic_directory_entry<path> directory_entry;
-      typedef basic_directory_entry<wpath> wdirectory_entry;
-</span>
-      template <class Path> class <a href="#Class-template-basic_directory_iterator">basic_directory_iterator</a>;
-
-      typedef basic_directory_iterator<path> directory_iterator;
-      typedef basic_directory_iterator<wpath> wdirectory_iterator;
-
-      template <class Path> class <a href="#Class-template-basic_recursive_directory_iterator">basic_recursive_directory_iterator</a>;
-
-      typedef basic_recursive_directory_iterator<path> <a name="recursive_directory_iterator">recursive_directory_iterator</a>;
-      typedef basic_recursive_directory_iterator<wpath> wrecursive_directory_iterator;
-
-      enum file_type { status_unknown, file_not_found, regular_file, directory_file,
-                       symlink_file, block_file, character_file, fifo_file, socket_file,
-                       type_unknown
-                     };
-
-      class <a href="#file_status">file_status</a>;
-
-      <span style="background-color: #FFFFFF">struct space_info  // returned by </span><a href="#space" style="text-decoration: none"><span style="background-color: #FFFFFF">space</span></a><span style="background-color: #FFFFFF"> function
-      {
-        uintmax_t capacity;
-        uintmax_t free;
-        uintmax_t available;
-      };
-</span>
-      //  <a href="#Status-functions">status functions</a>
-      template <class Path> file_status status(const Path& p);
-      template <class Path> file_status status(const Path& p, error_code& ec);
-      template <class Path> file_status symlink_status(const Path& p);
-      template <class Path> file_status symlink_status(const Path& p, error_code& ec);
-
-      //  <a href="#Predicate-functions">predicate functions</a>
-      bool status_known( file_status s ); 
-      bool exists( file_status s );
-      bool is_regular_file( file_status s ); 
-      bool is_directory( file_status s );
-      bool is_symlink( file_status s );
-      bool is_other( file_status s );
-
-      template <class Path> bool exists(const Path& p);
-      template <class Path> bool is_directory(const Path& p);
-      template <class Path> bool is_regular_file(const Path& p);
-      template <class Path> bool is_other(const Path& p);
-      template <class Path> bool is_symlink(const Path& p);
-      template <class Path> bool is_empty(const Path& p);
-
-      template <class Path1, class Path2>
-        bool equivalent(const Path1& p1, const Path2& p2);
-
-      //  <a href="#Attribute-functions">attribute functions</a>
-      template <class Path> Path current_path();
-      template <class Path> void current_path(const Path& p);
-      template <class Path> const Path& initial_path();
-      template <class Path> <span style="background-color: #FFFFFF; ">uintmax_t</span> file_size(const Path& p);
-<span style="background-color: #FFFFFF">      template <class Path> space_info space(const Path& p);</span><span style="background-color: #FFFF00">
-</span>      template <class Path> std::time_t last_write_time(const Path& p);
-      template <class Path>
-        void last_write_time(const Path& p, const std::time_t new_time);
-
-      //  <a href="#Operations-functions">operations functions</a>
-      template <class Path> bool create_directory(const Path& dp);
-      template <class Path1, class Path2>
-        void create_hard_link(const Path1& old_fp, const Path2& new_fp);
-<span style="background-color: #FFFFFF">      template <class Path1, class Path2>
-        error_code create_hard_link(const Path1& old_fp, const Path2& new_fp, error_code& ec);
-      template <class Path1, class Path2>
-        void create_symlink(const Path1& old_fp, const Path2& new_fp);
-      template <class Path1, class Path2>
-        error_code create_symlink(const Path1& old_fp, const Path2& new_fp, error_code& ec);
-</span>      template <class Path> bool remove(const Path& p);
-      template <class Path1, class Path2>
-        void rename(const Path1& from_p, const Path2& to_p);
-
-      BOOST_SCOPED_ENUM_START(<a name="copy_option">copy_option</a>)
-        { fail_if_exists, overwrite_if_exists };
-      BOOST_SCOPED_ENUM_END
-
-      template <class Path1, class Path2>
-        void copy_file(const Path1& from_fp, const Path2& to_fp,
-          BOOST_SCOPED_ENUM(copy_option) option=copy_option::fail_if_exists);
-
-      template <class Path> Path system_complete(const Path& p);
-      template <class Path> Path complete(const Path& p, const Path& base=initial_path<Path>());
-
-      //  <a href="#Convenience-functions">convenience functions</a>
-      template <class Path> bool create_directories(const Path& p);
-      template <class Path> typename Path::string_type extension(const Path& p);
-      template <class Path> typename Path::string_type basename(const Path& p);
-      template <class Path>
-        Path change_extension(const Path& p, const typename Path::string_type& new_extension);
-
-    } // namespace filesystem
-  } // namespace boost</pre>
-<h3><a name="Path-traits">Path traits</a></h3>
-<p>This subclause defines requirements on classes representing path behavior 
-traits, and defines two classes that satisfy those requirements for paths based 
-on <code>string</code> and <code>wstring</code>.. It also defines several path 
-additional path traits structure templates, and defines several specializations 
-of them.</p>
-<p>Class template <code>basic_path</code> defined in this clause requires additional 
-types, values, and behavior to complete the definition of its semantics.</p>
-<p>For purposes of exposition, Traits behaves as if it is a class with private 
-members bool m_locked, initialized false, and std::locale m_locale, initialized  </p>
-<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
-  <tr>
-    <td width="50%" align="center" colspan="2"><b><i>
-    <a name="Path-Behavior-Traits-Requirements">Path Behavior Traits 
-    Requirements</a></i></b></td>
-  </tr>
-  <tr>
-    <td width="38%" align="center"><b><i>Expression</i></b></td>
-    <td width="62%" align="center"><b><i>Requirements</i></b></td>
-  </tr>
-  <tr>
-    <td width="38%" valign="top"><code>Traits::external_string_type</code></td>
-    <td width="62%">A typedef which is a specialization of <code>basic_string</code>. 
-    The <code>value_type</code> is a character type used by the operating system 
-    to represent pathnames.</td>
-  </tr>
-  <tr>
-    <td width="38%" valign="top"><code>Traits::internal_string_type</code></td>
-    <td width="62%">A typedef which is a specialization of <code>basic_string</code>. 
-    The <code>value_type</code> is a character type to be used by the program to 
-    represent pathnames. Required be the same type as the <code>basic_path 
-    String</code> template parameter. </td>
-  </tr>
-  <tr>
-    <td width="38%" valign="top"><code>Traits::to_external( p, is )</code></td>
-    <td width="62%"><code>is</code>, converted by the <code>m_locale</code>
-    <code>codecvt</code> facet to <code>external_string_type</code>.</td>
-  </tr>
-  <tr>
-    <td width="38%" valign="top"><code>Traits::to_internal( p, xs )</code></td>
-    <td width="62%"><code>xs</code>, converted by the <code>m_locale</code>
-    <code>codecvt</code> facet to to <code>internal_string_type</code>.</td>
-  </tr>
-  <tr>
-    <td width="38%" valign="top"><code>Traits::imbue(loc)</code></td>
-    <td width="62%"><i>Effects:</i> if <code>m_locked</code>, throw. Otherwise,
-    <code>m_locked = true; m_locale = loc;<br>
-    </code><i>Returns:</i> <code>void</code><b><br>
-    </b><i>Throws:</i> <code>basic_filesystem_error</code></td>
-  </tr>
-  <tr>
-    <td width="38%" valign="top"><code>Traits::imbue(loc, std::nothrow)</code></td>
-    <td width="62%"><i>Effects:</i> <code>if (!m_locked) m_locale = loc; bool 
-    temp(m_locked); m_locked = true;<br>
-    </code><i>Returns:</i> <code>temp</code></td>
-  </tr>
-</table>
-<p>Type <code>is_basic_path</code> shall be a <i>UnaryTypeTrait</i> (TR1, 4.1). 
-The primary template shall be derived directly or indirectly from <code>
-std::tr1::false_type</code>. Type <code>is_basic_path</code> shall be 
-specialized for <code>path</code>, <code>wpath</code>, and any 
-user-specialized <code>basic_path</code> types, and such specializations shall 
-be derived directly or indirectly from <code>std::tr1::true_type</code>.</p>
-<p>Structure templates <code>slash</code>, <code>dot</code>, and <code>
-<span style="background-color: #FFFFFF">colon</span></code><span style="background-color: #FFFFFF">
-</span>are supplied with 
-values of type <code>char</code>. If a user-specialized <code>basic_path</code> 
-has a <code>
-value_type</code> type which is not convertible from <code>char</code>, the 
-templates  <code>slash</code> and <code>dot</code> shall be specialized to 
-provide <code>value</code> with type which is convertible to <code>
-basic_path::value_type</code>.</p>
-<h3><a name="Class-template-basic_path">Class template <code>basic_path</code></a></h3>
-<p>Class template <code>basic_path</code> provides a portable mechanism for 
-representing <a href="#Path">paths</a> in C++ programs, using a portable generic 
-pathname <a href="#Pathname-grammar">grammar</a>. When portability is not a 
-requirement, native file system specific formats can be used. Class template
-<code>basic_path</code> is concerned only with the lexical and syntactic aspects 
-of a path. The path does not have to exist in the operating system's file 
-system, and may contain names which are not even valid for the current operating 
-system. </p>
-<blockquote>
-  <p>[<i>Note: </i>If the library's functions trafficked only in C++<i> </i>or 
-  C-style strings, they would provide only the illusion of portability since 
-  while the syntax of function calls would be portable, the semantics of the 
-  strings they operate on would not be portable. <i>-- end note</i>]</p>
-</blockquote>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      template <class String, class Traits> class basic_path
-      {
-      public:
-        typedef basic_path<String, Traits> path_type;
-        typedef String string_type;
-        typedef typename String::value_type value_type;
-        typedef Traits traits_type;
-        typedef typename Traits::external_string_type external_string_type; 
-
-        // <a href="#basic_path-constructors">constructors/destructor</a>
-        basic_path();
-        basic_path(const basic_path& p);
-        basic_path(const string_type& s);
-        basic_path(const value_type* s);
-        template <class InputIterator>
-          basic_path(InputIterator first, InputIterator last);
-
-       ~basic_path();
-
-        // <a href="#basic_path-assignments">assignments</a>
-        basic_path& operator=(const basic_path& p);
-        basic_path& operator=(const string_type& s);
-        basic_path& operator=(const value_type* s);
-        template <class InputIterator>
-          basic_path& assign(InputIterator first, InputIterator last);
-
-        // <a href="#basic_path-modifiers">modifiers</a>
-        basic_path& operator/=(const basic_path& rhs);
-        basic_path& operator/=(const string_type& s);
-        basic_path& operator/=(const value_type* s);
-        template <class InputIterator>
-          basic_path& append(InputIterator first, InputIterator last);
-
-        <span style="background-color: #FFFFFF">void clear();
-        void swap( basic_path & rhs );</span>
-        basic_path& remove_filename();
-        basic_path& replace_extension(const string_type & new_extension = "");
-
-        // <a href="#basic_path-observers">observers</a>
-        const string_type string() const;
-        const string_type file_string() const;
-        const string_type directory_string() const;
-
-        const external_string_type external_file_string() const;
-        const external_string_type external_directory_string() const;
-
-        string_type  root_name() const;
-        string_type  root_directory() const;
-        basic_path   root_path() const;
-        basic_path   relative_path() const;
-
-        basic_path   parent_path() const;
-        string_type  filename() const;
-
-        string_type  stem() const;
-        string_type  extension() const;
-
-        bool empty() const;
-        bool is_complete() const;
-        bool has_root_name() const;
-        bool has_root_directory() const;
-        bool has_root_path() const;
-        bool has_relative_path() const;
-        bool has_filename() const;
-        bool has_parent_path() const;
-
-        // <a href="#basic_path-iterators">iterators</a>
-        class iterator;
-        typedef iterator const_iterator;
-
-        iterator begin() const;
-        iterator end() const;
-
-      };
-
-    } // namespace filesystem
-  } // namespace boost</pre>
-<p>A <code>basic_path</code> object stores a possibly empty <a href="#Path">path</a>. 
-The internal form of the stored path is unspecified.</p>
-<p><a name="pathname-resolution">Functions</a> described in this clause which access files or their attributes do so by 
-resolving a <code>basic_path</code> object into a particular file in a file 
-hierarchy. The pathname, suitably converted to the string type, format, and 
-encoding 
-required by the operating system, is resolved as if by the <i>POSIX</i>
-<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap04.html#tag_04_11">
-Pathname Resolution</a> mechanism. The encoding of the resulting pathname is determined by the <code>Traits::to_external</code> conversion function.</p>
-<blockquote>
-<p>[<i>Note:</i> There is no guarantee that the path stored in a  <code>basic_path</code> 
-object is valid for a particular operating system or file system. <i>-- end note</i>]</p>
-</blockquote>
-<p>Some functions in this clause return <code>basic_path</code> objects for 
-paths composed partly or wholly of pathnames obtained from the operating system. 
-Such pathnames are suitably converted from the actual format and string 
-type supplied by the operating system. The encoding of the resulting path is determined by the <code>Traits::to_internal</code> conversion function.</p>
-<p>For member functions described as returning "<code>const string_type</code>" or 
-"<code>const external_string_type</code>", implementations are permitted to return 
-"<code>const string_type&</code>" or  "<code>const external_string_type&</code>" 
-respectively.</p>
-<blockquote>
-<p>[<i>Note:</i> This allows implementations to avoid unnecessary copies. 
-Return-by-value is specified as
-<code>const</code> to ensure programs won't break if moved to a return-by-reference 
-implementation. <i>-- 
-end note</i>]</p>
-</blockquote>
-<h4><a name="Pathname-formats">Pathname formats</a></h4>
-<p>There are two formats for string or sequence arguments that describe a 
-path:</p>
-<ul>
-  <li>The portable pathname format as described in <a href="#Pathname-grammar">
-  Pathname grammar</a> and by the <i>POSIX</i> <i><a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap03.html#tag_03_169">Filename</a>,
-<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap03.html#tag_03_266">
-Pathname</a> </i>and<i>
-<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap04.html#tag_04_11">
-Pathname Resolution</a></i> definitions.<blockquote>
-<p>[<i>Note:</i> <span style="background-color: #FFFFFF">The <i>POSIX</i> format 
-is the basis for the portable format because it is already an ISO standard, is 
-the basis for the ubiquitous <i>URL</i> format, and is the native format or a 
-subset of the native format for <i>UNIX</i>-like and <i>Windows</i>-like 
-operating systems familiar to large numbers of programmers. </span></p>
-<p>Use of the portable format does not alone guarantee 
-portability;  filenames must also be portable.<span style="background-color: #FFFFFF"> 
-See <a href="#Filename-conversion">Filename conversions</a>. Each operating system 
- 
-follows its own rules. Use of the portable format 
-does not change that. </span> <i>-- end note</i>]</p>
-  </blockquote>
-  </li>
-  <li>A native pathname format 
-  as defined by the operating system.<blockquote>
-    <p>[<i>Note:</i> If an operating system supports only the <i>POSIX</i> 
-    pathname format, the portable format and the native format are the same. </p>
-    <p><span style="background-color: #FFFFFF">Identifying user-provided paths 
-    as native format is a common need, and ensures maximum portability, even 
-    though not strictly needed except on systems where the native format 
-    is not implicitly recognized.</span></p>
-    <p><span style="background-color: #FFFFFF">Programs using hard-coding native 
-    formats are likely to be non-portable.  --</span><i><span style="background-color: #FFFFFF"> end note</span></i><span style="background-color: #FFFFFF">]</span></p>
-  </blockquote>
-  </li>
-</ul>
-<p><span style="background-color: #FFFFFF">All <code>basic_path</code> string or sequence arguments that describe a 
-path shall accept the portable pathname format, and shall accept the native 
-format if explicitly identified by a native format escape sequence prefix of
-<code>slash slash colon</code>.</span></p>
-<blockquote>
-    <p><span style="background-color: #FFFFFF">[<i>Note:</i> <code>slash 
-    slash colon</code> was chosen as the escape sequence because a leading <code>
-    slash slash</code>  is already implementation-defined by POSIX, <code>
-    colon</code> is prohibited in a Windows filename, and on any system a single
-    <code>slash</code> can be used when a filename beginning with a <code>colon</code> 
-    is desired. These factors eliminate the chance of collision with a real 
-    filename. --</span><i><span style="background-color: #FFFFFF"> end note</span></i><span style="background-color: #FFFFFF">]</span></p>
-    </blockquote>
-<p><span style="background-color: #FFFFFF">Implementations are encouraged to 
-implicitly recognize the native pathname format if it can be lexically 
-identified. An implementation  </span>shall document whether or 
-not the native pathname format is <span style="background-color: #FFFFFF">
-implicitly recognized</span>.</p>
-<blockquote>
-<p>[<i>Example:</i></p>
-<p><i>-- OpenVMS:</i> <code>"SYS1::DISK1:[JANE.TYLER.HARRY]</code>" is treated 
-as a native pathname with a system name, drive name, and three directory 
-filenames, rather than a portable pathname with one filename.</p>
-<p><i>-- Windows: </i><code>"c:\\jane\\tyler\\harry"</code> is treated as a 
-native pathname with a drive letter, root-directory, and three filenames, rather 
-than a portable pathname with one filename.</p>
-<p><i>-- Counter-example 1:</i> An operating system that allows slashes in 
-filenames and uses dot as a directory separator. Distinguishing between portable 
-and native format argument strings or sequences is not possible as there is no 
-other distinguishing syntax. The implementation does not accept native format 
-pathnames unless the <code>native</code> argument is present.</p>
-<p><i>-- Counter-example 2:</i> An operating system that allows slashes in 
-filenames and uses some unusual character as a directory separator. The 
-implementation does accept native format pathnames without the additional <code>
-native</code> argument, which only has to be used for native format arguments 
-containing slashes in filenames.</p>
-<p><i>-- end example</i>]</p>
-<p>[<i>Note:</i> This <i><a name="duck-rule">duck-rule</a></i> ("if it looks 
-like a duck, walks like a duck, and quacks like a duck, it must be a duck") 
-eliminates format confusion as a source of programmer error and support 
-requests. <i>-- end note</i>]</p>
-</blockquote>
-<p>If both the portable and native formats are accepted, implementations shall 
-document what characters or character sequences are used to distinguish between 
-portable and native formats.</p>
-<blockquote>
-<p>[<i>Note:</i> <i>Windows</i> implementations are encouraged to define colons 
-and backslashes as the characters which distinguish native from portable 
-formats. <i>--end note</i>]</p>
-</blockquote>
-<h4><a name="Pathname-grammar">Pathname grammar</a></h4>
-<p>The grammar for the portable pathname format is as follows:</p>
-<blockquote>
-<p><i>pathname:<br>
-            root-name<sub>opt</sub> 
-root-directory<sub>opt</sub> relative-path<sub>opt</sub></i></p>
-<p><i>root-name:<br>
-            
-implementation-defined</i></p>
-<p><i>root-directory:<br>
-            slash<br>
-            
-root-directory slash<br>
-            
-implementation-defined</i></p>
-<p><i>relative-path:<br>
-            
-filename<br>
-            relative-path 
-slash<br>
-            relative-path 
-slash filename</i></p>
-<p><i>filename:<br>
-            name<br>
-            dot<br>
-            dot dot</i></p>
-<p><i>slash:<br>
-            <code>
-slash<Path>::value</code></i></p>
-<p><i>dot:<br>
-            <code>
-dot<Path>::value</code></i></p>
-</blockquote>
-<p>The grammar is aligned with the <i>POSIX </i> <i><a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap03.html#tag_03_169">Filename</a>,
-<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap03.html#tag_03_266">
-Pathname</a> </i>and<i>
-<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap04.html#tag_04_11">
-Pathname Resolution</a></i> definitions. Any conflict between the grammar and <i>
-POSIX</i> is unintentional. This technical report defers to <i>POSIX</i>.</p>
-<blockquote>
-<p><span style="background-color: #E0E0E0"><i>The form of the above wording was taken 
-from POSIX, which uses it in several places to defer to the C standard.</i></span></p>
-<p>[<i>Note: Windows</i> implementations are encouraged to define <i>slash slash 
-name</i> as a permissible <i>root-name</i>. <i>POSIX</i> permits, but does not 
-require, implementations to do the same. <i>Windows</i> implementations are 
-encouraged to define an additional <i>root-directory</i> element <i>
-root_directory name.</i> It is applicable only to the <i>slash slash name</i> 
-form of <i>root-name.</i></p>
-<p> <i>Windows</i> implementations are encouraged to recognize a <i>name</i> 
-followed by a colon as a native format <i>root-name</i>, 
-and a backslash as a format element equivalent to <i>slash</i>. <i>-- end note</i>]</p>
-</blockquote>
-<h4><a name="Filename-conversion">Filename conversion</a></h4>
-<p>When converting filenames to the native operating system format, 
-implementations are encouraged, but not required, to convert otherwise invalid 
-characters or character sequences to valid characters or character sequences. 
-Such conversions are implementation-defined.</p>
-<blockquote>
-<p>[<i>Note:</i> Filename conversion allows much wider portability of both 
-programs and filenames that would otherwise be possible.</p>
-<p>Implementations are encouraged to base conversion on existing standards or 
-practice. Examples include the Uniform Resource Locator escape syntax of a percent sign (<code>'%'</code>) 
-followed by two hex digits representing the character value. On
-<i>OpenVMS</i>, which does not allow percent signs in filenames, a dollar sign (<code>'$'</code>) 
-followed by two hex digits is the existing practice, as is converting lowercase 
-letters to uppercase.<i> -- end note.</i>]</p>
-<p><span style="background-color: #E0E0E0"><i>The Boost implementation for 
-Windows currently does not map invalid characters. Pending feedback from the LWG, 
-Boost may settle on % hex hex as the preferred escape sequence. If so, should 
-there be normative encouragement?</i></span></p>
-</blockquote>
-<h4><a name="basic_path-requirements">Requirements</a></h4>
-<p>The argument for the template parameter named <code>String</code> shall be a 
-class that includes members with the same names, types, values, and semantics as 
-class template <code>basic_string</code>.</p>
-<p>The argument for the template parameter named <code>Traits</code> shall be a 
-class that satisfies the requirements specified in the
-<a href="#Path-Behavior-Traits-Requirements">Path Behavior Traits Requirements</a> 
-table.</p>
-<p>The argument for template parameters named <code>InputIterator</code> shall satisfy the 
-requirements of an input iterator (C++ Std, 24.1.1, Input iterators [lib.input.iterators]) and shall have a value type convertible to
-<code>basic_path::value_type</code>. </p>
-<p>Some function templates with a template 
-parameter named <code>InputIterator</code> also have non-template overloads. Implementations shall 
-only select the function template overload if the type named by <code>InputIterator</code> 
-is not <code>path_format_t</code>.</p>
-<blockquote>
-<p>[<i>Note:</i> This "do-the-right-thing" rule ensures that the 
-overload expected by the user is selected. The implementation technique is unspecified - 
-implementations may use
-<a href="http://www.boost.org/libs/utility/enable_if.html">enable_if</a> or 
-other techniques to achieve the effect. <i>-- end note</i>]</p>
-</blockquote>
-<h4> <a name="basic_path-constructors"> <code>basic_path</code> constructors</a></h4>
-<pre>basic_path();</pre>
-<blockquote>
-  <p><i>Postconditions:</i> <code>empty()</code>.</p>
-  </blockquote>
-<pre>basic_path(const string_type& s);
-basic_path(const value_type * s);
-template <class InputIterator>
-  basic_path(InputIterator s, InputIterator last);</pre>
-<blockquote>
-  <p><i>Remarks:</i> The format of string <code>s</code> and sequence [<code>first</code>,<code>last</code>) 
-  is described in <a href="#Pathname-formats">Pathname formats</a>.</p>
-  <p><i>Effects:</i> The path elements in string <code>s</code> or sequence [<code>first</code>,<code>last</code>) 
-  are stored.</p>
-</blockquote>
-<h4> <a name="basic_path-assignments"> <code>basic_path</code> assignments</a></h4>
-<pre>basic_path& operator=(const string_type& s);
-basic_path& operator=(const value_type* s);
-template <class InputIterator>
-  basic_path& assign(InputIterator first, InputIterator last);</pre>
-<blockquote>
-  <p><i>Remarks:</i> The format of string <code>s</code> and sequence [<code>first</code>,<code>last</code>) 
-  is described in <a href="#Pathname-formats">Pathname formats</a>.</p>
-  <p><i>Effects:</i> The path elements in string <code>s</code> or sequence [<code>first</code>,<code>last</code>) 
-  are stored.</p>
-  <p><i>Returns: </i><code>*this</code></p>
-  </blockquote>
-<h4> <a name="basic_path-modifiers"> <code>basic_path</code> modifiers</a></h4>
-<pre>basic_path& operator/=(const basic_path& rhs);</pre>
-<blockquote>
-  <p><i>Effects:</i> The path stored in <code>rhs</code> is appended to the 
-  stored path.</p>
-  <p><i>Returns:</i> <code>*this</code></p>
-</blockquote>
-<pre>basic_path& operator/=(const string_type& s);
-basic_path& operator/=(const value_type* s);
-template <class InputIterator>
-basic_path& append(InputIterator first, InputIterator last);</pre>
-<blockquote>
-  <p><i>Remarks:</i> The format of string <code>s</code> and sequence [<code>first</code>,<code>last</code>) 
-  is described in <a href="#Pathname-formats">Pathname formats</a>.</p>
-<p><i>Effects:</i> The path elements in string <code>s</code> or sequence [<code>first</code>,<code>last</code>) 
-  are appended to the stored path.</p>
-  <p><i>Returns: </i><code>*this</code></p>
-  </blockquote>
-<pre>void clear();</pre>
-<blockquote>
-<p><i>Postcondition:</i> <code>this->empty()</code> is true.</p>
-</blockquote>
-<pre><code><span style="background-color: #FFFFFF">void swap( basic_path & rhs );</span></code></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Effects:</span></i><span style="background-color: #FFFFFF"> 
-  Swaps the contents of the two paths.</span></p>
-  <p><i><span style="background-color: #FFFFFF">Throws: </span></i>
-  <span style="background-color: #FFFFFF">nothing.</span></p>
-  <p><i><span style="background-color: #FFFFFF">Postcondition:</span></i><span style="background-color: #FFFFFF">
-  </span><code><span style="background-color: #FFFFFF">this->string()</span></code><span style="background-color: #FFFFFF"> 
-  contains the same sequence of characters that were in </span><code><span style="background-color: #FFFFFF">
-  rhs.string()</span></code><span style="background-color: #FFFFFF">, </span><code><span style="background-color: #FFFFFF">
-  rhs.string()</span></code><span style="background-color: #FFFFFF"> 
-  contains the same sequence of characters that were is </span><code>
-  <span style="background-color: #FFFFFF">this->string()</span></code><span style="background-color: #FFFFFF">.</span></p>
-  <p><i><span style="background-color: #FFFFFF">Complexity: </span></i>
-  <span style="background-color: #FFFFFF">constant time.</span></p>
-</blockquote>
-<pre>basic_path& remove_filename();</pre>
-<blockquote>
-  <p><i>Effects:</i> If <code>has_parent_path()</code> then remove the last <i>filename</i> from the stored path. If that leaves 
-  the stored path with one or more trailing <i>slash</i> elements not 
-  representing  <i>root-directory</i>, remove them.</p>
-  <p><i>Returns:</i> <code>*this</code></p>
-  <p>[<i>Note:</i> This function is needed to efficiently implement <code>
-  basic_directory_iterator</code>. It is made public to allow additional uses. <i>-- end 
-  note</i>]</p>
-</blockquote>
-<pre>basic_path& replace_extension( const string_type & new_extension = "" );</pre>
-<blockquote>
-  <p><i>Postcondition: </i> <code>extension() == <i>replacement</i></code>, 
-  where <code><i>replacement</i></code> is <code>new_extension</code> if <code>
-  new_extension.empty() || new_extension[0] ==</code> the dot character, 
-  otherwise <code><i>replacement</i></code> is the dot character followed by
-  <code>new_extension</code>.</p>
-  <p><i>Returns:</i> <code>*this</code></p>
-</blockquote>
-<h4> <a name="basic_path-observers"> <code>basic_path</code> observers</a></h4>
-<blockquote>
-<p><span style="background-color: #E0E0E0"><i>See the
-<a href="#Path-decomposition-table">Path decomposition table</a> for examples 
-for values returned by decomposition functions.</i></span></p>
-</blockquote>
-<pre>const string_type string() const;</pre>
-<blockquote>
-<p><i>Returns:</i> The  stored path, formatted according to the
-<a href="#Pathname-grammar">Pathname grammar</a> rules.</p>
-</blockquote>
-<pre>const string_type file_string() const;</pre>
-<blockquote>
-<p><i>Returns:</i> The  stored path, formatted according to the 
-operating system rules for regular file pathnames, with any
-<a href="#Filename-conversion">Filename conversion</a> applied.</p>
-<p>[<i>Note:</i> For some operating systems, including <i>POSIX</i> and <i>
-Windows</i>, the native format for regular file pathnames and directory 
-pathnames is the same, so <code>file_string()</code> and <code>directory_string()</code> 
-return the same string. On OpenMVS, however, the expression <code>path("/cats/jane").file_string()</code> 
-would return the string <code>"[CATS]JANE"</code> while <code>path("/cats/jane").directory_string()</code> 
-would return the string <code>"[CATS.JANE]"</code>. <i>-- end note</i>]</p>
-</blockquote>
-<pre>const string_type directory_string() const;</pre>
-<blockquote>
-<p><i>Returns:</i> The  stored path, formatted according to the 
-operating system rules for directory pathnames, with any
-<a href="#Filename-conversion">Filename conversion</a> applied.</p>
-</blockquote>
-<pre>const external_string_type external_file_string() const;</pre>
-<blockquote>
-<p><i>Returns:</i> The  stored path, formatted according to the 
-operating system rules for regular file pathnames, with any
-<a href="#Filename-conversion">Filename conversion</a> applied, and encoded by the <code>Traits::to_external</code> 
-conversion function.</p>
-</blockquote>
-<pre>const external_string_type external_directory_string() const;</pre>
-<blockquote>
-<p><i>Returns:</i> The  stored path, formatted according to the 
-operating system rules for directory pathnames, with any
-<a href="#Filename-conversion">Filename conversion</a> applied, and encoded by the <code>Traits::to_external</code> 
-conversion function.</p>
-</blockquote>
-<pre>string_type root_name() const;</pre>
-<blockquote>
-<p><i>Returns:</i> <i>root-name,</i> if the stored path includes <i>
-root-name</i>, otherwise <code>string_type()</code>. </p>
-</blockquote>
-<pre>string_type root_directory() const;</pre>
-<blockquote>
-<p><i>Returns:</i> <i>root-directory</i>, if the stored path includes <i>
-root-directory</i>, otherwise <code>string_type()</code>.</p>
-<p>If <i>root-directory</i> is composed <i>slash name</i>, <i>slash</i> is 
-excluded from the returned string.</p>
-</blockquote>
-<pre>basic_path root_path() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>root_name() / root_directory()</code></p>
-</blockquote>
-<pre>basic_path relative_path() const;</pre>
-<blockquote>
-<p><i>Returns:</i> A <code>basic_path</code> composed from the the stored path, if any, beginning 
-with the first <i>filename</i> after <i>root-path</i>. 
-Otherwise, an empty <code>basic_path</code>.</p>
-</blockquote>
-<pre>string_type filename() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>empty() ? string_type() : *--end()</code></p>
-</blockquote>
-<pre>basic_path parent_path() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>(string().empty() || begin() == --end()) ? path_type("") : 
-  <i>br</i></code>, where <code><i>br</i></code> is constructed as if by 
-  starting with an empty <code>basic_path</code> and successively applying <code>
-  operator/=</code> for each element in the range <code>begin()</code>, <code>
-  --end()</code>.</p>
-</blockquote>
-<pre>string_type stem(const Path & p) const;</pre>
-<blockquote>
-  <p><i>Returns:</i> if <code>p.filename()</code> contains a <i>dot</i>, returns 
-  the substring of <code>p.filename()</code> starting at its beginning and 
-  ending at the last <i>dot</i> (the <i>dot</i> is not included). Otherwise, 
-  returns <code>
-  p.filename()</code>.</p>
-</blockquote>
-<pre>string_type extension(const Path & p) const;</pre>
-<blockquote>
-  <p><i>Returns:</i> if <code>p.filename()</code> contains a <i>dot</i>, returns 
-  the substring of <code>p.filename()</code> starting at the rightmost <i>dot</i> 
-  and ending at the string's end. Otherwise, returns an empty string. </p>
-  <p>[<i>Note:<b> </b></i>The <i>dot</i> is included in the return value so that 
-  it is possible to distinguish between no extension and an empty extension. </p>
-  <p>Implementations are permitted but not required to define additional 
-  behavior for file systems which append additional elements to extensions, such 
-  as alternate data stream or partitioned dataset names. <i>-- end note</i>]</p>
-</blockquote>
-<pre>bool empty() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>string().empty()</code>.</p>
-</blockquote>
-<pre>bool is_complete() const;</pre>
-<blockquote>
-  <p><span style="background-color: #FFFFFF"><i>Returns:</i> <code>true</code>, 
-  if the elements of root_path() uniquely identify a directory, else <code>false</code>.</span></p>
-</blockquote>
-<pre>bool has_root_path() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!root_path().empty()</code></p>
-</blockquote>
-<pre>bool has_root_name() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!root_name().empty()</code></p>
-</blockquote>
-<pre>bool has_root_directory() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!root_directory().empty()</code></p>
-</blockquote>
-<pre>bool has_relative_path() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!relative_path().empty()</code></p>
-</blockquote>
-<pre>bool has_filename() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!filename().empty()</code></p>
-</blockquote>
-<pre>bool has_parent_path() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!parent_path().empty()</code></p>
-</blockquote>
-<h4> <a name="basic_path-iterators"> <code>basic_path</code> iterators</a></h4>
-<p> A <code>basic_path::iterator</code> is a constant iterator satisfying all 
-the requirements of a bidirectional iterator (C++ Std, 24.1.4 Bidirectional 
-iterators [lib.bidirectional.iterators]). Its <code>value_type</code> is
-<code>string_type</code>.</p>
-  <p>Calling any non-const member function of a <code>basic_path</code> object 
-  invalidates all iterators referring to elements of the object.</p>
-<p> The forward traversal order is as follows:</p>
-<ul>
-  <li>The <i>root-name</i> element, if present.</li>
-  <li>The <i>root-directory</i> element, if present.</li>
-  <li>Each successive <i>filename</i> element, if present.</li>
-  <li><i>Dot</i>, if one or more trailing non-root <i>slash</i> 
-  characters are present.</li>
-</ul>
-  <p>The backward traversal order is the reverse of forward traversal.</p>
-  <pre>iterator begin() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> An iterator for the first present element in the traversal 
-  list above. If no elements are present, the end iterator.</p>
-</blockquote>
-<pre>iterator end() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> The end iterator.</p>
-</blockquote>
-<h4> <a name="basic_path-non-member-functions">
-<span style="background-color: #FFFFFF">basic_path non-member functions</span></a></h4>
-<pre><span style="background-color: #FFFFFF">template<class String, class Traits>
-void swap( basic_path<String, Traits> & lhs, basic_path<String, Traits> & rhs )</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Effects: </span></i><code>
-  <span style="background-color: #FFFFFF">lhs.swap( 
-  rhs )</span></code></p>
-</blockquote>
-  <h4><span style="background-color: #FFFFFF">basic_path non-member operators</span></h4>
-  <p><span style="background-color: #FFFFFF">There are seven basic_path non-member operators (/,
-  </span> <code><span style="background-color: #FFFFFF">==</span></code><span style="background-color: #FFFFFF">,
-  </span> <code>
-  <span style="background-color: #FFFFFF">!=</span></code><span style="background-color: #FFFFFF">,
-  </span> <code><span style="background-color: #FFFFFF"><</span></code><span style="background-color: #FFFFFF">,
-  </span> <code><span style="background-color: #FFFFFF">></span></code><span style="background-color: #FFFFFF">,
-  </span> <code><span style="background-color: #FFFFFF"><=</span></code><span style="background-color: #FFFFFF">,
-  </span> <code><span style="background-color: #FFFFFF">>=</span></code><span style="background-color: #FFFFFF">), 
-  each with five overloads. For brevity, the specifications are given in tabular 
-  form. Each of the resulting thirty-five signatures is a template, with 
-  template parameter list template</span><code><span style="background-color: #FFFFFF"><class 
-  String, class Traits></span></code><span style="background-color: #FFFFFF">. 
-  The format of such arguments is described in </span> <a href="#Pathname-formats">
-  <span style="background-color: #FFFFFF">Pathname formats</span></a><span style="background-color: #FFFFFF">.</span></p>
-    <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
-      <tr>
-        <td width="100%">
-        <p align="center"><i><b><span style="background-color: #FFFFFF">Argument type overloads</span></b></i></td>
-      </tr>
-      <tr>
-        <td width="100%"><span style="background-color: #FFFFFF"><code>
-        basic_path<String, Traits>& a, basic_path<String, Traits>& 
-        b</code></span></td>
-      </tr>
-      <tr>
-        <td width="100%"><span style="background-color: #FFFFFF"><code>const 
-        typename basic_path<String, Traits>::string_type& a, 
-        basic_path<String, Traits>& b</code></span></td>
-      </tr>
-      <tr>
-        <td width="100%"><span style="background-color: #FFFFFF"><code>const 
-        typename basic_path<String, Traits>::string_type::value_type* a, 
-        basic_path<String, Traits>& b</code></span></td>
-      </tr>
-      <tr>
-        <td width="100%"><span style="background-color: #FFFFFF"><code>const 
-        basic_path<String, Traits>& a, typename basic_path<String, Traits>::string_type& 
-        b</code></span></td>
-      </tr>
-      <tr>
-        <td width="100%"><span style="background-color: #FFFFFF"><code>const 
-        basic_path<String, Traits>& a, typename 
-        basic_path<String, Traits>::string_type::value_type* b</code></span></td>
-      </tr>
-    </table>
-  <p><span style="background-color: #FFFFFF">In the </span><b><i>
-  <span style="background-color: #FFFFFF">basic_path non-member operators </span>
-  </i></b><span style="background-color: #FFFFFF">table, </span><code>
-  <span style="background-color: #FFFFFF">a</span></code><span style="background-color: #FFFFFF"> 
-  and </span><code><span style="background-color: #FFFFFF">b</span></code><span style="background-color: #FFFFFF"> 
-  are of the types given in the </span><i><b>
-  <span style="background-color: #FFFFFF">Argument type overloads</span></b></i><span style="background-color: #FFFFFF"> 
-  table. If </span><code><span style="background-color: #FFFFFF">a</span></code><span style="background-color: #FFFFFF"> 
-  or </span><code><span style="background-color: #FFFFFF">b</span></code><span style="background-color: #FFFFFF"> 
-  is of type </span><code><span style="background-color: #FFFFFF">const 
-  basic_path<String, Traits>&</span></code><span style="background-color: #FFFFFF">, 
-  then </span><i><b><span style="background-color: #FFFFFF">a</span></b></i><code><i><b><span style="background-color: #FFFFFF">'</span></b></i></code><span style="background-color: #FFFFFF"> 
-  or </span><i><b><span style="background-color: #FFFFFF">b'</span></b></i><span style="background-color: #FFFFFF"> 
-  respectively is </span><code><span style="background-color: #FFFFFF">a</span></code><span style="background-color: #FFFFFF"> 
-  or </span><code><span style="background-color: #FFFFFF">b</span></code><span style="background-color: #FFFFFF"> 
-  respectively. Otherwise </span><i><b><span style="background-color: #FFFFFF">a</span></b></i><code><i><b><span style="background-color: #FFFFFF">'</span></b></i></code><span style="background-color: #FFFFFF"> 
-  or </span><i><b><span style="background-color: #FFFFFF">b'</span></b></i><span style="background-color: #FFFFFF"> 
-  respectively represent named or unnamed temporary </span><code>
-  <span style="background-color: #FFFFFF">basic_path<String, Traits></span></code><span style="background-color: #FFFFFF"> 
-  objects constructed from </span><code><span style="background-color: #FFFFFF">
-  a</span></code><span style="background-color: #FFFFFF"> or </span><code>
-  <span style="background-color: #FFFFFF">b</span></code><span style="background-color: #FFFFFF"> 
-  respectively.</span></p>
-<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="280">
-  <tr>
-    <td width="100%" colspan="3" align="center" height="19"><b><i>
-    <span style="background-color: #FFFFFF">basic_path non-member operators</span></i></b></td>
-  </tr>
-  <tr>
-    <td width="20%" align="center" height="19"><i><b>
-    <span style="background-color: #FFFFFF">Expression</span></b></i></td>
-    <td width="25%" align="center" height="19"><i><b>
-    <span style="background-color: #FFFFFF">Return type</span></b></i></td>
-    <td width="55%" align="center" height="19"><i><b>
-    <span style="background-color: #FFFFFF">Semantics</span></b></i></td>
-  </tr>
-  <tr>
-    <td width="20%" align="center" height="30" valign="top"><code>
-    <span style="background-color: #FFFFFF">a / b</span></code></td>
-    <td width="25%" align="center" height="30" valign="top"><code>
-    <span style="background-color: #FFFFFF">basic_path<String, Traits></span></code></td>
-    <td width="55%" height="30"><code><span style="background-color: #FFFFFF">
-    basic_path<String, Traits> tmp(a);<br>
-    return tmp /= </span></code><i><b><span style="background-color: #FFFFFF">b'</span></b></i><code><span style="background-color: #FFFFFF">;</span></code></td>
-  </tr>
-  <tr>
-    <td width="20%" align="center" height="19" valign="top"><code>
-    <span style="background-color: #FFFFFF">a < b</span></code></td>
-    <td width="25%" align="center" height="19" valign="top"><code>
-    <span style="background-color: #FFFFFF">bool</span></code></td>
-    <td width="55%" height="19"><code><span style="background-color: #FFFFFF">
-    return lexicographical_compare(</span></code><span style="background-color: #FFFFFF"><i><b>a</b></i></span><code><span style="background-color: #FFFFFF"><i><b>'</b></i>.begin(), </span></code><i><b>
-    <span style="background-color: #FFFFFF">a</span></b></i><code><span style="background-color: #FFFFFF"><i><b>'</b></i>.end(), </span></code><i><b>
-    <span style="background-color: #FFFFFF">b'</span></b></i><code><span style="background-color: #FFFFFF">.begin(), </span></code><i><b>
-    <span style="background-color: #FFFFFF">b'</span></b></i><code><span style="background-color: #FFFFFF">.end());</span></code></td>
-  </tr>
-  <tr>
-    <td width="20%" align="center" height="19" valign="top"><code>
-    <span style="background-color: #FFFFFF">a == b</span></code></td>
-    <td width="25%" align="center" height="19" valign="top"><code>
-    <span style="background-color: #FFFFFF">bool</span></code></td>
-    <td width="55%" height="19"><code><span style="background-color: #FFFFFF">
-    return !(</span></code><i><b><span style="background-color: #FFFFFF">a</span></b></i><code><i><b><span style="background-color: #FFFFFF">'</span></b></i><span style="background-color: #FFFFFF"> 
-    < </span></code><i><b><span style="background-color: #FFFFFF">b'</span></b></i><code><span style="background-color: #FFFFFF">) 
-    && !(</span></code><i><b><span style="background-color: #FFFFFF">b'</span></b></i><code><span style="background-color: #FFFFFF"> 
-    < </span></code><i><b><span style="background-color: #FFFFFF">a</span></b></i><code><i><b><span style="background-color: #FFFFFF">'</span></b></i><span style="background-color: #FFFFFF">);</span></code></td>
-  </tr>
-  <tr>
-    <td width="20%" align="center" height="19" valign="top"><code>
-    <span style="background-color: #FFFFFF">a != b</span></code></td>
-    <td width="25%" align="center" height="19" valign="top"><code>
-    <span style="background-color: #FFFFFF">bool</span></code></td>
-    <td width="55%" height="19"><code><span style="background-color: #FFFFFF">
-    return !(</span></code><i><b><span style="background-color: #FFFFFF">a</span></b></i><code><i><b><span style="background-color: #FFFFFF">'</span></b></i><span style="background-color: #FFFFFF"> 
-    == </span></code><i><b><span style="background-color: #FFFFFF">b'</span></b></i><code><span style="background-color: #FFFFFF">);</span></code></td>
-  </tr>
-  <tr>
-    <td width="20%" align="center" height="19" valign="top"><code>
-    <span style="background-color: #FFFFFF">a > b</span></code></td>
-    <td width="25%" align="center" height="19" valign="top"><code>
-    <span style="background-color: #FFFFFF">bool</span></code></td>
-    <td width="55%" height="19"><code><span style="background-color: #FFFFFF">
-    return </span></code><i><b><span style="background-color: #FFFFFF">b'</span></b></i><code><span style="background-color: #FFFFFF"> 
-    < </span></code><i><b><span style="background-color: #FFFFFF">a</span></b></i><code><i><b><span style="background-color: #FFFFFF">'</span></b></i><span style="background-color: #FFFFFF">;</span></code></td>
-  </tr>
-  <tr>
-    <td width="20%" align="center" height="19" valign="top"><code>
-    <span style="background-color: #FFFFFF">a <= b</span></code></td>
-    <td width="25%" align="center" height="19" valign="top"><code>
-    <span style="background-color: #FFFFFF">bool</span></code></td>
-    <td width="55%" height="19"><code><span style="background-color: #FFFFFF">
-    return !(</span></code><i><b><span style="background-color: #FFFFFF">b'</span></b></i><code><span style="background-color: #FFFFFF"> 
-    < </span></code><i><b><span style="background-color: #FFFFFF">a</span></b></i><code><i><b><span style="background-color: #FFFFFF">'</span></b></i><span style="background-color: #FFFFFF">);</span></code></td>
-  </tr>
-  <tr>
-    <td width="20%" align="center" height="19" valign="top"><code>
-    <span style="background-color: #FFFFFF">a >= b</span></code></td>
-    <td width="25%" align="center" height="19" valign="top"><code>
-    <span style="background-color: #FFFFFF">bool</span></code></td>
-    <td width="55%" height="19"><code><span style="background-color: #FFFFFF">
-    return !(</span></code><i><b><span style="background-color: #FFFFFF">a</span></b></i><code><i><b><span style="background-color: #FFFFFF">'</span></b></i><span style="background-color: #FFFFFF"> 
-    < </span></code><i><b><span style="background-color: #FFFFFF">b'</span></b></i><code><span style="background-color: #FFFFFF">);</span></code></td>
-  </tr>
-</table>
-  <blockquote>
-  <p><span style="background-color: #FFFFFF">[</span><i><span style="background-color: #FFFFFF">Note:</span></i><span style="background-color: #FFFFFF">
-  </span> <a name="Path-equality"><span style="background-color: #FFFFFF">Path equality</span></a><span style="background-color: #FFFFFF"> and path 
-  equivalence have different semantics.</span></p>
-  <p><span style="background-color: #FFFFFF">Equality is determined by </span> <i>
-  <span style="background-color: #FFFFFF">basic_path</span></i><span style="background-color: #FFFFFF">'s 
-  non-member </span> <code><a href="#operator-eq">
-  <span style="background-color: #FFFFFF">operator==</span></a></code><span style="background-color: #FFFFFF">, which considers the two path's lexical representations 
-  only. Paths "abc" and "ABC" are never equal.</span></p>
-  <p><span style="background-color: #FFFFFF">Equivalence is determined by the
-  </span> <a href="#equivalent"><span style="background-color: #FFFFFF">equivalent()</span></a><span style="background-color: #FFFFFF"> 
-  non-member function, which determines if two paths </span>
-  <a href="#pathname-resolution"><span style="background-color: #FFFFFF">resolve</span></a><span style="background-color: #FFFFFF"> to the same file system entity. 
-  Paths "abc" 
-  and "ABC" may or may not resolve to the same file, depending on the file 
-  system.</span></p>
-  <p><span style="background-color: #FFFFFF">Programmers wishing to determine if two paths are "the same" must decide if 
-  "the same" means "the same representation" or "resolve to the same actual 
-  file", and choose the appropriate function accordingly. </span> <i>
-  <span style="background-color: #FFFFFF">-- end note</span></i><span style="background-color: #FFFFFF">]</span></p>
-</blockquote>
-  <h4><a name="basic_path-inserter-extractor"> <code>
-  <span style="background-color: #FFFFFF">basic_path</span></code><span style="background-color: #FFFFFF"> inserter 
-  and extractor</span></a></h4>
-<pre><span style="background-color: #FFFFFF">template<class Path>
-  basic_istream<typename Path::string_type::value_type, typename Path::string_type::traits_type>&
-    operator>>(basic_istream< typename Path::string_type::value_type, typename Path::string_type::traits_type>& is,
-               Path& ph );</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Effects:  </span></i>
-      <code><span style="background-color: #FFFFFF">typename Path::string_type str;<br>
-            
-      is >> str;<br>
-            
-      ph = str;</span></code></p>
-  <p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF">
-  </span> <code><span style="background-color: #FFFFFF">is</span></code></p>
-</blockquote>
-<pre><span style="background-color: #FFFFFF">template<class Path>
-  basic_ostream<typename Path::string_type::value_type, typename Path::string_type::traits_type>&
-    operator<<(basic_ostream< typename Path::string_type::value_type, typename Path::string_type::traits_type>& os,
-               const Path& ph );</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Effects:</span></i><span style="background-color: #FFFFFF"> 
-  </span> <code><span style="background-color: #FFFFFF">os << ph.string()</span></code></p>
-  <p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF">
-  </span> <code><span style="background-color: #FFFFFF">os</span></code></p>
-</blockquote>
-<h3><a name="Class-template-basic_filesystem_error">Class template <code>basic_filesystem_error</code></a></h3>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      template <class Path> class basic_filesystem_error : public <span style="background-color: #FFFFFF">system</span>_error
-      {
-      public:
-        typedef Path path_type;
-
-        explicit basic_filesystem_error(const std::string& <span style="background-color: #FFFFFF">what_arg</span>, error_code ec);
-        basic_filesystem_error(const std::string& <span style="background-color: #FFFFFF">what_arg</span>, const path_type& p1, error_code ec);
-        basic_filesystem_error(const std::string& <span style="background-color: #FFFFFF">what_arg</span>, const path_type& p1, const path_type& p2, error_code ec);
-
-        const path_type& path1() const;
-        const path_type& path2() const;
-
-        const char * what() const;
-      };
-    } // namespace filesystem
-  } // namespace boost</pre>
-<p>The class template <code>basic_filesystem_error</code> defines the type of 
-objects thrown as exceptions to report file system errors from functions described in this 
-clause.</p>
-<h4> <a name="basic_filesystem_error-constructors"> <code>basic_filesystem_error</code> constructors</a></h4>
-<pre>explicit basic_filesystem_error(const std::string& <span style="background-color: #FFFFFF">what_arg</span>, error_code ec);</pre>
-<blockquote>
-  <p><i>Postconditions:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="46%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%" bgcolor="#FFFFFF"><code>
-      <span style="background-color: #FFFFFF">runtime_error::what</span>()</code></td>
-      <td width="82%" bgcolor="#FFFFFF"><span style="background-color: #FFFFFF">
-      <code><i>what_arg</i>.c_str()</code></span></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>code()</code></td>
-      <td width="82%"><code>ec</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path1().empty()</code></td>
-      <td width="82%"><code>true</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path2().empty()</code></td>
-      <td width="82%"><code>true</code></td>
-    </tr>
-  </table>
-</blockquote>
-<pre>basic_filesystem_error(const std::string& <span style="background-color: #FFFFFF">what_arg</span>, const path_type& p1, error_code ec);</pre>
-<blockquote>
-  <p><i>Postconditions:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="46%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%" valign="top"><code>
-      <span style="background-color: #FFFFFF">runtime_error::what</span>()</code></td>
-      <td width="82%"><span style="background-color: #FFFFFF">
-      <code><i>what_arg</i>.c_str()</code></span></td>
-    </tr>
-    <tr>
-      <td width="18%" valign="top"><code>code()</code></td>
-      <td width="82%"><code>ec</code></td>
-    </tr>
-    <tr>
-      <td width="18%" valign="top"><code>path1()</code></td>
-      <td width="82%"><span style="background-color: #FFFFFF">Reference to stored copy of
-      </span> <code>p1</code></td>
-    </tr>
-    <tr>
-      <td width="18%" valign="top"><code>path2().empty()</code></td>
-      <td width="82%"><code>true</code></td>
-    </tr>
-  </table>
-</blockquote>
-<pre>basic_filesystem_error(const std::string& <span style="background-color: #FFFFFF">what_arg</span>, const path_type& p1, const path_type& p2, error_code ec);</pre>
-<blockquote>
-  <p><i>Postconditions:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="46%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>
-      <span style="background-color: #FFFFFF">runtime_error::what</span>()</code></td>
-      <td width="82%"><span style="background-color: #FFFFFF">
-      <u>
-      <code><i>w</i></code></u><code><i>hat_arg</i>.c_str()</code></span></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>code()</code></td>
-      <td width="82%"><code>ec</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path1()</code></td>
-      <td width="82%"><span style="background-color: #FFFFFF">Reference to stored copy of
-      </span> <code>p1</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path2()</code></td>
-      <td width="82%"><span style="background-color: #FFFFFF">Reference to stored copy of
-      </span> <code>p2</code></td>
-    </tr>
-  </table>
-</blockquote>
-<h4> <a name="basic_filesystem_error-observers"> <code>basic_filesystem_error</code> observers</a></h4>
-<pre>const path_type& path1() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> Reference to copy of <code>p1</code> stored by the 
-  constructor, or, if none, an empty path.</p>
-</blockquote>
-<pre>const path_type& path2() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> Reference to copy of <code>p2</code> stored by the 
-  constructor, or, if none, an empty path.</p>
-</blockquote>
-<pre>const char * what() const;</pre>
-<blockquote>
-  <p><i>Returns: </i>A string containing <code>runtime_error::what()</code> and 
-  the result of calling <code>system_message()</code> with a first argument of
-  <code>code()</code>. The exact format is unspecified.</p>
-<p>The implementation shall supply a specialization <code>template<> const char 
-* basic_filesystem_error<path>::what() const</code> that returns a string 
-containing <code>runtime_error::what(),</code> the result of calling <code>
-system_message()</code> with a first argument of <code>code()</code>, and if 
-non-empty, <code>path1().file_string()</code> and <code>path2.file_string()</code>. 
-The exact format is unspecified.</p>
-<p>Implementations and users are permitted to provide other specializations of 
-the <code>what</code> member function.</p>
-</blockquote>
-<h3><a name="Class-template-basic_directory_entry">Class template <code>basic_directory_entry</code></a></h3>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      template <class Path> class basic_directory_entry
-      {
-      public:
-        typedef Path path_type;
-        typedef typename Path::string_type string_type;
-
-        // <a href="#basic_directory_entry-constructors">constructors</a>
-        basic_directory_entry();
-        explicit basic_directory_entry(const path_type& p,
-          <span style="background-color: #FFFFFF">file_status</span> st=file_status(), <span style="background-color: #FFFFFF">file_status</span> symlink_st=file_status());
-
-        // <a href="#basic_directory_entry-modifiers">modifiers</a>
-        void assign(const path_type& p, <span style="background-color: #FFFFFF">file_status</span> st=file_status(), <span style="background-color: #FFFFFF">file_status</span> symlink_st=file_status());
-        void replace_filename(const string_type& s, <span style="background-color: #FFFFFF">file_status</span> st=file_status(), <span style="background-color: #FFFFFF">file_status</span> symlink_st=file_status());
-
-        // <a href="#basic_directory_entry-observers">observers</a>
-        const Path& path() const;
-        operator const Path&() const;
-<span style="background-color: #FFFFFF">
-        file_status  status() const;
-        file_status  status(error_code& ec) const;
-        file_status  symlink_status() const;
-        file_status  symlink_status(error_code& ec) const;
-</span><span style="background-color: #FFFF00">
-</span>        // <a href="#basic_directory_entry-comparisons">comparisons</a>
-        bool operator<(const basic_directory_entry<Path>& rhs);
-        bool operator==(const basic_directory_entry<Path>& rhs);
-        bool operator!=(const basic_directory_entry<Path>& rhs);
-        bool operator>(const basic_directory_entry<Path>& rhs);
-        bool operator<=(const basic_directory_entry<Path>& rhs);
-        bool operator>=(const basic_directory_entry<Path>& rhs);
-
-      private:
-        path_type            m_path;           // for exposition only
-        mutable <span style="background-color: #FFFFFF">file_status</span>  m_status;         // for exposition only; stat()-like
-        mutable <span style="background-color: #FFFFFF">file_status</span>  m_symlink_status; // for exposition only; lstat()-like
-      };
-
-    } // namespace filesystem
-  } // namespace boost</pre>
-<p>A <code>basic_directory_entry</code> object stores a <code>basic_path object</code>, 
-a <code>file_status</code> object for non-symbolic link status, and a <code>
-file_status</code> object for symbolic link status. The <code>file_status</code> 
-objects act as value caches.</p>
-<blockquote>
-<p>[<i>Note:</i> Because <code>status()</code>on a pathname may be a very expensive operation, 
-some operating systems provide status information as a byproduct of directory 
-iteration. Caching such status information can result is significant time savings. Cached and 
-non-cached results may differ in the presence of race conditions. <i>-- end note</i>]</p>
-<p><span style="background-color: #E0E0E0"><i>Actual cold-boot timing of iteration over 
-a directory with 15,047 entries was six seconds for non-cached status queries 
-versus one second for cached status queries. Windows XP, 3.0 GHz processor, with 
-a moderately fast hard-drive. Similar speedup expected on Linux and BSD-derived 
-Unix variants that provide status during directory iteration.</i></span></p>
-</blockquote>
-<h4> <a name="basic_directory_entry-constructors"> <code>basic_directory_entry </code>constructors</a></h4>
-<pre>basic_directory_entry();</pre>
-<blockquote>
-  <p><i>Postconditions:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="36%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path().empty()</code></td>
-      <td width="82%"><code>true</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>status()</code></td>
-      <td width="82%"><code>file_status()</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>symlink_status()</code></td>
-      <td width="82%"><code>file_status()</code></td>
-    </tr>
-  </table>
-</blockquote>
-<pre>explicit basic_directory_entry(const path_type& p, <span style="background-color: #FFFFFF">file_status</span> st=file_status(), <span style="background-color: #FFFFFF">file_status</span> symlink_st=file_status());</pre>
-<blockquote>
-  <p><i>Postconditions:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="36%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path()</code></td>
-      <td width="82%"><code>p</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>status()</code></td>
-      <td width="82%"><code>st</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>symlink_status()</code></td>
-      <td width="82%"><code>symlink_st</code></td>
-    </tr>
-  </table>
-</blockquote>
-<h4> <a name="basic_directory_entry-modifiers"> <code>basic_directory_entry </code>modifiers</a></h4>
-<pre>void assign(const path_type& p, <span style="background-color: #FFFFFF">file_status</span> st=file_status(), <span style="background-color: #FFFFFF">file_status</span> symlink_st=file_status());</pre>
-<blockquote>
-  <p><i>Postconditions:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="36%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path()</code></td>
-      <td width="82%"><code>p</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>status()</code></td>
-      <td width="82%"><code>st</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>symlink_status()</code></td>
-      <td width="82%"><code>symlink_st</code></td>
-    </tr>
-  </table>
-</blockquote>
-<pre>void replace_filename(const string_type& s, <span style="background-color: #FFFFFF">file_status</span> st=file_status(), <span style="background-color: #FFFFFF">file_status</span> symlink_st=file_status());</pre>
-<blockquote>
-  <p><i>Postconditions:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="43%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path()</code></td>
-      <td width="82%"><code>path().branch() / s</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>status()</code></td>
-      <td width="82%"><code>st</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>symlink_status()</code></td>
-      <td width="82%"><code>symlink_st</code></td>
-    </tr>
-  </table>
-</blockquote>
-<h4> <a name="basic_directory_entry-observers"> <code>basic_directory_entry</code> observers</a></h4>
-<pre>const Path& path() const;
-operator const Path&() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>m_path</code></p>
-</blockquote>
-<pre><span style="background-color: #FFFFFF">file_status status() const;</span></pre>
-<blockquote>
-<p><span style="font-style: italic; background-color: #FFFFFF">Effects:</span><span style="background-color: #FFFFFF"> 
-As if,</span></p>
-  <blockquote>
-    <pre><span style="background-color: #FFFFFF">if ( !status_known( m_status ) )
-{
-  if ( status_known(m_symlink_status) && !is_symlink(m_symlink_status) )
-    { m_status = m_symlink_status; }
-  else { m_status = status(m_path); }
-}</span></pre>
-  </blockquote>
-  <p><span style="background-color: #FFFFFF"><i>Throws:</i> See <code>status</code> 
-  function.</span></p>
-  <p><span style="background-color: #FFFFFF"><i>Returns:</i> <code>m_status</code></span></p>
-</blockquote>
-<pre><span style="background-color: #FFFFFF">file_status status(error_code& ec) const;</span></pre>
-<blockquote>
-<p><span style="font-style: italic; background-color: #FFFFFF">Effects:</span><span style="background-color: #FFFFFF"> 
-As if,</span></p>
-  <blockquote>
-    <pre><span style="background-color: #FFFFFF">if ( !status_known( m_status ) )
-{
-  if ( status_known(m_symlink_status) && !is_symlink(m_symlink_status) )
-    { m_status = m_symlink_status; }
-  else { m_status = status(m_path, ec); }
-}
-else ec = 0;</span></pre>
-  </blockquote>
-  <p><span style="background-color: #FFFFFF"><i>Returns:</i> <code>m_status</code></span></p>
-</blockquote>
-<pre><span style="background-color: #FFFFFF">file_status symlink_status() const;</span></pre>
-<blockquote>
-<p><span style="font-style: italic; background-color: #FFFFFF">Effects:</span><span style="background-color: #FFFFFF"> 
-As if,</span></p>
-  <blockquote>
-    <pre><span style="background-color: #FFFFFF">if ( !status_known( m_symlink_status ) )
-{
-  m_symlink_status = symlink_status(m_path);
-}</span></pre>
-  </blockquote>
-  <p><span style="background-color: #FFFFFF"><i>Throws:</i> See <code>symlink_status</code> 
-  function.</span></p>
-  <p><span style="background-color: #FFFFFF"><i>Returns:</i> <code>
-  m_symlink_status</code></span></p>
-</blockquote>
-<pre><span style="background-color: #FFFFFF">file_status symlink_status(error_code& ec) const;</span></pre>
-<blockquote>
-<p><span style="font-style: italic; background-color: #FFFFFF">Effects:</span><span style="background-color: #FFFFFF"> 
-As if,</span></p>
-  <blockquote>
-    <pre><span style="background-color: #FFFFFF">if ( !status_known( m_symlink_status ) )
-{
-  m_symlink_status = symlink_status(m_path, ec);
-}
-else ec = 0;</span></pre>
-  </blockquote>
-  <p><span style="background-color: #FFFFFF"><i>Returns:</i> <code>m_symlink_status</code></span></p>
-</blockquote>
-<h3><a name="Class-template-basic_directory_iterator">Class template <code>basic_directory_iterator</code></a></h3>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      template <class Path>
-      class basic_directory_iterator :
-        public iterator<input_iterator_tag, basic_directory_entry<Path> >
-      {
-      public:
-        typedef Path path_type;
-
-        // <a href="#basic_directory_iterator-constructors">constructors</a>
-        basic_directory_iterator();
-        explicit basic_directory_iterator(const Path& dp);
-        basic_directory_iterator(const Path& dp, error_code& ec);
-        basic_directory_iterator(const basic_directory_iterator& bdi);
-        basic_directory_iterator& operator=(const basic_directory_iterator& bdi);
-       ~basic_directory_iterator();
-
-        // other members as required by
-        //  C++ Std, 24.1.1 Input iterators [lib.input.iterators]
-      };
-
-    } // namespace filesystem
-  } // namespace boost</pre>
-<p> <code>basic_directory_iterator</code> satisfies the requirements of an 
-input iterator (C++ Std, 24.1.1, Input iterators [lib.input.iterators]).</p>
-<p>A <code>basic_directory_iterator</code> reads successive elements from the directory for 
-which it was constructed, as if by calling <i>POSIX</i>
-<code>
-<a href="http://www.opengroup.org/onlinepubs/000095399/functions/readdir_r.html">readdir_r()</a></code>. After a <code>basic_directory_iterator</code> is constructed, and every time 
-<code>operator++</code> is called, 
-it reads and stores a value of <code>basic_directory_entry<Path></code> 
-and possibly stores associated status values. 
-<code>operator++</code> is not equality preserving; that is, <code>i == j</code> does not imply that
-<code>++i == ++j</code>. </p>
-<blockquote>
-<p>[<i>Note:</i> The practical consequence of not preserving equality is that directory iterators 
-can be used only for single-pass algorithms. <i>--end note</i>]</p>
-</blockquote>
-<p>If the end of the directory elements is reached, the iterator becomes equal to 
-the end iterator value. The constructor <code>basic_directory_iterator()</code> 
-with no arguments always constructs an end iterator object, which is the only 
-legitimate iterator to be used for the end condition. The result of <code>
-operator*</code> on an end iterator is not defined. For any other iterator value 
-a <code>const basic_directory_entry<Path>&</code> is returned. The result of
-<code>operator-></code> on an end iterator is not defined. For any other 
-iterator value a <code>const basic_directory_entry<Path>*</code> is 
-returned. </p>
-<p>Two end iterators are always equal. An end iterator is not equal to a non-end 
-iterator.</p>
-<blockquote>
-<p><i><span style="background-color: #E0E0E0">The above wording is based on the 
-Standard Library's istream_iterator wording. Commentary was shortened and 
-moved into a note.</span></i></p>
-</blockquote>
-<p>The result of calling the <code>path()</code> member of the <code>
-basic_directory_entry</code> object obtained by dereferencing a <code>
-basic_directory_iterator</code> is a reference to a <code>basic_path</code> 
-object composed of the directory argument from which the iterator was 
-constructed with filename of the directory entry appended as if by <code>
-operator/=</code>. </p>
-<blockquote>
-<p>[<i><a name="Example-program">Example</a>: </i>This program accepts an 
-optional command line argument, and if that argument is a directory pathname, 
-iterates over the contents of the directory. For each directory entry, the name 
-is output, and if the entry is for a regular file, the size of the file is 
-output.</p>
-  <blockquote>
-    <pre>#include <iostream>
-#include <filesystem>
-
-using std::tr2::sys;
-using std::cout;
-
-int main(int argc, char* argv[])
-{
-  std::string p(argc <= 1 ? "." : argv[1]);
-
-  if (is_directory(p))
-  {
-    for (directory_iterator itr(p); itr!=directory_iterator(); ++itr)
-    {
-      cout << itr->path().filename() << ' '; // display filename only
-      if (is_regular_file(itr->status())) cout << " [" << file_size(itr->path()) << ']';
-      cout << '\n';
-    }
-  }
-  else cout << (exists(p) ? "Found: " : "Not found: ") << p << '\n';
-
-  return 0;
-}</pre>
-  </blockquote>
-  <p><i>-- end example</i>]</p>
-</blockquote>
-<p>Directory iteration shall not yield directory entries for the current (<i>dot</i>) 
-and parent (<i>dot dot</i>) directories.</p>
-<p>The order of directory entries obtained by dereferencing successive 
-increments of a <code>basic_directory_iterator</code> is unspecified.</p>
-<blockquote>
-<p>[<i>Note:</i> Programs performing directory iteration may wish to test if the 
-path obtained by dereferencing a directory iterator actually exists. It could be 
-a
-symbolic link to a non-existent file. Programs recursively 
-walking directory trees for purposes of removing and renaming entries may wish 
-to avoid following symbolic links.</p>
-<p>If a file  is removed from or added to a directory after the 
-construction of a <code>basic_directory_iterator</code> for the directory, it is 
-unspecified whether or not subsequent incrementing of the iterator will ever 
-result in an iterator whose value is the removed or added directory entry. See
-<i>POSIX</i>
-<code>
-<a href="http://www.opengroup.org/onlinepubs/000095399/functions/readdir_r.html">readdir_r()</a></code>. <i>
---end note</i>]</p>
-</blockquote>
-<h4><a name="basic_directory_iterator-constructors"><code>basic_directory_iterator</code> constructors</a></h4>
-
-<p><code>basic_directory_iterator();</code></p>
-
-<blockquote>
-
-<p><i>Effects:</i> Constructs the end iterator.</p>
-
-</blockquote>
-
-<p><code>explicit basic_directory_iterator(const Path& dp);</code></p>
-
-<blockquote>
-
-<p><i>Effects:</i> Constructs a iterator representing the first 
-entry in the directory resolved to by <code>dp</code>, otherwise, the end iterator.</p>
-
-<p>[<i>Note:</i> To iterate over the current directory, write <code>
-directory_iterator(".")</code> rather than <code>directory_iterator("")</code>.
-<i>-- end note</i>]</p>
-</blockquote>
-<pre><code>basic_directory_iterator(const Path& dp, error_code& ec );</code></pre>
-<blockquote>
-
-<p><i>Effects:</i> Constructs a iterator representing the first 
-entry in the directory resolved to by <code>dp</code>, otherwise, the end iterator. 
-If an error occurs while establishing the results, the iterator constructed 
-represents the end iterator and <code>ec</code> is set to the error code 
-reported by the operating system, otherwise to 0.</p>
-
-</blockquote>
-<h3><a name="Class-template-basic_recursive_directory_iterator">Class template <code>basic_recursive_directory_iterator</code></a></h3>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      template <class Path>
-      class basic_recursive_directory_iterator :
-        public iterator<input_iterator_tag, basic_directory_entry<Path> >
-      {
-      public:
-        typedef Path path_type;
-
-        // constructors
-        basic_recursive_directory_iterator();
-        explicit basic_recursive_directory_iterator(const Path& dp);
-        basic_recursive_directory_iterator(const basic_recursive_directory_iterator& brdi);
-        basic_recursive_directory_iterator& operator=(const basic_recursive_directory_iterator& brdi);
-       ~basic_recursive_directory_iterator();
-
-        // observers
-        int level() const;
-
-        // modifiers
-        void pop();
-        void no_push();
-
-        // other members as required by
-        //  C++ Std, 24.1.1 Input iterators [lib.input.iterators]
-
-      private:
-        int m_level; // for exposition only
-      };
-
-    } // namespace filesystem
-  } // namespace boost</pre>
-<p>The behavior of a <code>basic_recursive_directory_iterator</code> is the same 
-as a <code>basic_directory_iterator</code> unless otherwise specified.</p>
-<ul>
-  <li>When an iterator is constructed, <code>m_level</code> is set to 0;</li>
-  <li>When an iterator <code>it</code> is incremented, if <code>it->is_directory()</code> 
-  is true and <code>no_push()</code> had not been called subsequent to 
-  the most recent increment operation (or construction, if no increment has 
-  occurred), then  <code>m_level</code> is incremented, the 
-  directory is visited, and its contents recursively iterated over.</li>
-  <li>When an iterator reaches the end of the directory currently being iterated 
-  over, or when <code>pop()</code> is called, <code>m_level</code> is 
-  decremented, and iteration continues with the parent directory, until the 
-  directory specified in the constructor argument is reached.</li>
-  <li><code>level()</code> returns <code>m_level</code>.</li>
-  <li><code>level()</code>, <code>pop()</code>, and <code>no_push()</code> all 
-  require that the iterator not be the end iterator.</li>
-</ul>
-<blockquote>
-  <p>[<i>Note:</i> One of the uses of <code>no_push()</code> is to prevent 
-  unwanted recursion into symlinked directories. This may be necessary to 
-  prevent loops on some operating systems. <i>--end note</i>]</p>
-</blockquote>
-<h3><a name="file_status">Class file_status</a></h3>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      class file_status
-      {
-      public:
-        explicit file_status( file_type v = status_unknown );
-
-        file_type type() const;
-        void type( file_type v );
-      };
-    } // namespace filesystem
-  } // namespace boost</pre>
-<p>A <code>file_status</code> object stores information about the status of a 
-file. The internal form of the stored information is unspecified.</p>
-<blockquote>
-  <p><i>[Note: </i>The class may be extended in the future to store 
-  additional status information. <i>--end note]</i></p>
-</blockquote>
-<h4>Members</h4>
-<pre>explicit file_status( file_type v = status_unknown );</pre>
-<blockquote>
-  <p><i>Effects:</i> Stores <code>v</code>.</p>
-</blockquote>
-<pre>file_type type() const;</pre>
-<blockquote>
-  <p><i>Returns: </i>The stored <code>file_type</code>.</p>
-</blockquote>
-<pre>void type( file_type v );</pre>
-<blockquote>
-  <p><i>Effects:</i> Stores <code>v</code>, replacing the previously stored 
-  value.</p>
-</blockquote>
-<h3><a name="Non-member-functions">Non-member operational functions</a></h3>
-<h4><a name="Status-functions">Status functions</a></h4>
-<pre>template <class Path> file_status status(const Path& p, error_code& ec);
-template <class Path> file_status <a name="symlink_status">symlink_status</a>(const Path& p, error_code& ec);</pre>
-<blockquote>
-  <p><i>Returns:</i></p>
-  <blockquote>
-    For <code>status</code>, determine the attributes 
-    of
-    <code>p</code> as if by<i> POSIX </i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/stat.html">stat()</a></code>, 
-    for <code>symlink_status</code>, determine the attributes as if by <i>POSIX </i> <code>
-    <a href="http://www.opengroup.org/onlinepubs/000095399/functions/lstat.html">
-    lstat()</a></code>.<blockquote>
-      <p>[<i>Note:</i> For symbolic links, <code>stat()</code> continues 
-      pathname resolution using the contents of the symbolic link, <code>lstat()</code> 
-      does not. <i>-- 
-    end note</i>]</p>
-    </blockquote>
-    <p>If the underlying file system reports an error during attribute determination:</p>
-    <ul>
-      <li>If the error indicating that <code>p</code> could not be resolved, as 
-      if by POSIX errors ENOENT or ENOTDIR, call <code>ec.clear()</code> and return <code>
-      file_status(not_found_flag)</code>.</li>
-    </ul>
-    <blockquote>
-      <blockquote>
-        <p>[<i>Note:</i> The effect of this behavior is to distinguish between 
-        knowing that p 
-        does not exist, and not being able to determine the status of p. This 
-        distinction is important to users.  <i>--end note</i>]</p>
-      </blockquote>
-    </blockquote>
-    <ul>
-      <li>Otherwise, set ec to the error number reported by the underlying 
-      implementation API 
-      and return <code>
-      file_status(status_unknown)</code>.</li>
-    </ul>
-    Otherwise:<ul>
-      <li>If the attributes indicate a regular file, as if by <i>POSIX</i> S_<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">ISREG()</a>, 
-      return <code>
-      file_status(regular_file)</code>.</li>
-      <li>Else if the attributes indicate a directory, as if by <i>POSIX</i> S_<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">ISDIR()</a>, 
-      return <code>
-      file_status(directory_file)</code>.</li>
-      <li>Else if the attributes indicate a symbolic link, as if by <i>POSIX</i> S_<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">ISLNK()</a>, 
-      return <code>
-      file_status(symlink_file)</code>. <i>[Note: </i>Only possible for <code>
-      symlink_status</code>. <i>--end note]</i></li>
-      <li>Else if the attributes indicate a block special file, as if by <i>POSIX</i> S_<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">ISBLK()</a>, 
-      return <code>
-      file_status(block_file)</code>.</li>
-      <li>Else if the attributes indicate a character special file, as if by <i>POSIX</i> S_<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">ISCHR()</a>, 
-      return <code>
-      file_status(character_file)</code>.</li>
-      <li>Else if the attributes indicate a fifo or pipe file, as if by <i>POSIX</i> S_<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">ISFIFO()</a>, 
-      return <code>
-      file_status(fifo_file)</code>.</li>
-      <li>Else if the attributes indicate a socket, as if by <i>POSIX</i> S_<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">ISSOCK()</a>, 
-      return <code>
-      file_status(socket_file)</code>.</li>
-      <li>Else return <code>
-      file_status(type_unknown)</code>.</li>
-    </ul>
-    </blockquote>
-<p>[<i>Note:</i> <code>directory_file</code> implies <code>
-basic_directory_iterator</code> on the file would succeed, and <code>
-regular_file</code> implies appropriate <code><fstream></code> operations would succeed, 
-assuming no hardware, permission, access, or race 
-condition errors. For <code>regular_file,</code> the converse is not true; lack of
-<code>regular_file</code> does not necessarily imply <code><fstream></code> operations would 
-fail on a directory.
-<i>-- end note</i>]</p>
-</blockquote>
-<pre>template <class Path> file_status status(const Path& p);</pre>
-<blockquote>
-  <p><i>Effects:</i> <code>system_error_code ec;</code><br>
-             
-  <code>file_status stat(status(p, ec));</code></p>
-  <p><i>Throws:</i> <code>basic_filesystem_error<Path></code> if <code>ec 
-  != 0</code></p>
-  <p><i>Returns:</i> <code>stat</code></p>
-</blockquote>
-<pre>template <class Path> file_status symlink_status(const Path& p);</pre>
-<blockquote>
-  <p><i>Effects:</i> <code>system_error_code ec;</code><br>
-             
-  <code>file_status stat(symlink_status(p, ec));</code></p>
-  <p><i>Throws:</i> <code>basic_filesystem_error<Path></code> if <code>ec 
-  != 0</code></p>
-  <p><i>Returns: </i><code>stat</code></p>
-</blockquote>
-<h4><a name="Predicate-functions">Predicate functions</a></h4>
-<pre><span style="background-color: #FFFFFF">bool <a name="status_known">status_known</a>(file_status s);</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF">
-  <code>s.type() != status_unknown</code></span></p>
-</blockquote>
-<pre><span style="background-color: #FFFFFF">bool </span><a name="exists"><span style="background-color: #FFFFFF">exists</span></a><span style="background-color: #FFFFFF">(file_status</span><span style="background-color: #FFFFFF"> s);</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF">
-  <code>status_known(s) && s.type() != file_not_found</code></span></p>
-</blockquote>
-<pre>template <class Path> bool <a name="exists">exists</a>(const Path& p);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>exists( status(p) )</code></p>
-</blockquote>
-<pre><span style="background-color: #FFFFFF">bool </span><code><span style="background-color: #FFFFFF">is_regular_file</span></code><span style="background-color: #FFFFFF">(file_status</span><span style="background-color: #FFFFFF"> s);</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF">
-  <code>s.type() == regular_file</code></span></p>
-</blockquote>
-<pre><code>template <class Path> bool is_regular_file(const Path& p);</code></pre>
-<blockquote>
-  <p><i>Returns:</i> <code>is_regular_file( status(p) )</code></p>
-</blockquote>
-<pre><span style="background-color: #FFFFFF">bool </span><code><span style="background-color: #FFFFFF">is_directory</span></code><span style="background-color: #FFFFFF">(file_status</span><span style="background-color: #FFFFFF"> s);</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF"> </span>
-  <code><span style="background-color: #FFFFFF">s.type() == directory_file</span></code></p>
-</blockquote>
-<pre><code>template <class Path> bool is_directory(const Path& p);</code></pre>
-<blockquote>
-  <p><i>Returns:</i> <code>is_directory( status(p) )</code></p>
-</blockquote>
-<pre><span style="background-color: #FFFFFF">bool <a name="exists">is_symlink</a>(file_status s);</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF"> </span>
-  <code><span style="background-color: #FFFFFF">s.type() == symlink_file</span></code></p>
-</blockquote>
-<pre><code>template <class Path> bool is_symlink(const Path& p);</code></pre>
-<blockquote>
-  <p><i>Returns:</i> <code>is_symlink( symlink_status(p) )</code></p>
-</blockquote>
-<pre><span style="background-color: #FFFFFF">bool <a name="exists">is_other</a>(file_status s);</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF">
-  <code>return exists(s) && !is_regular_file(s) && !is_directory(s) && !is_symlink(s)</code></span></p>
-  <p><span style="background-color: #FFFFFF">[<i>Note: </i>The specification of
-  <code>is_other()</code> will remain unchanged even if additional <code>is_xxx()</code> 
-  functions are added in the future. <i>-- end note</i>]</span></p>
-</blockquote>
-<pre><code>template <class Path> bool is_other(const Path& p);</code></pre>
-<blockquote>
-  <p><i>Returns:</i> <code>is_other( status(p) )</code></p>
-</blockquote>
-<pre><code>template <class Path> bool <span style="background-color: #FFFFFF; text-decoration:underline">is_</span>empty(const Path& p);</code></pre>
-<blockquote>
-  <p><i>Effects:</i> Determines <code>file_status s</code>, as if by <code>
-  status(p)</code>.</p>
-  <p><i>Throws:</i> <code>basic_filesystem_error<Path></code> if <code>!exist(s) || 
-  is_other(s)</code>.</p>
-  <p><i>Returns:</i> <code>is_directory(s)<br>
-         ? 
-  basic_directory_iterator<Path>(p) == basic_directory_iterator<Path>()<br>
-         : file_size(p) == 0;</code></p>
-</blockquote>
-<pre><code>template <class Path1, class Path2> bool <a name="equivalent">equivalent</a>(const Path1& p1, const Path2& p2);</code></pre>
-<blockquote>
-  <p><i>Requires:</i> <code>Path1::external_string_type</code> and <code>
-  Path2::external_string_type</code> are the same type. </p>
-  <p><i>Effects:</i> Determines <code>file_status s1</code> and <code>s2</code>, 
-  as if by <code>status(p1)</code> and  <code>status(p2)</code>, 
-  respectively.</p>
-  <p><i>Throws:</i> <code>basic_filesystem_error<Path1></code><span style="background-color: #FFFFFF"> </span>
-  if <code>(!exists(s1) && !exists(s2)) || (is_other(s1) && 
-  is_other(s2))</code>.</p>
-  <p><i>Returns:</i> <code>true</code>, if <code>sf1 == sf2</code> and <code>p1</code> and <code>p2</code> 
-  resolve to the same file system entity, else <code>false</code>.</p>
-  <p>Two paths are considered to resolve to 
-  the same file system entity if two candidate entities reside on the same 
-  device at the same location. This is determined as if by the values of the <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">stat</a></code> 
-  structure<code>,</code> obtained as if by <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/stat.html">stat()</a></code> for the two paths, having equal
-  <code>st_dev</code> values and equal <code>st_ino</code> values.</p>
-    <p>[<i>Note:</i> <i>POSIX</i> requires that <i>"st_dev</i> must be unique 
-    within a Local Area Network". Conservative <i>POSIX</i> implementations may 
-    also wish to check for equal <code>st_size</code> and <code>st_mtime</code> 
-    values. <i>Windows</i> implementations may use <code>GetFileInformationByHandle()</code> as a surrogate for <code>
-    stat()</code>, and consider "same" to be equal values for <code>
-    dwVolumeSerialNumber</code>, <code>nFileIndexHigh</code>, <code>
-    nFileIndexLow</code>, <code>nFileSizeHigh</code>, <code>nFileSizeLow</code>,
-    <code>ftLastWriteTime.dwLowDateTime</code>, and <code>
-    ftLastWriteTime.dwHighDateTime</code>. <i>-- end note</i>]</p>
-</blockquote>
-<h4><a name="Attribute-functions">Attribute functions</a></h4>
-<p>[<i>Note:</i> A strictly limited number of attribute functions are provided 
-because few file system attributes are portable. Even the functions provided will be impossible to implement on some file 
-systems. <i>--end note</i>.]</p>
-<pre>template <class Path> const Path& <a name="initial_path">initial_path</a>();</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>current_path()</code> at the time of entry to <code>
-  main()</code>.</p>
-  <p>[<i>Note:</i> These semantics turn a dangerous global variable into a safer 
-  global constant. <i>--end note</i>]</p>
-  <p>[<i>Note:</i> Full implementation requires runtime library support. 
-  Implementations which cannot provide runtime library support are encouraged to 
-  instead store the value of <code>current_path()</code> at the first call of
-  <a name="initial_path"><code>initial_path</code></a><code>()</code>, and 
-  return this value for all subsequent calls. Programs using
-  <a name="initial_path"><code>initial_path</code></a><code>()</code> are 
-  encouraged to call it immediately on entrance to <code>main()</code> so that 
-  they will work correctly with such partial implementations. <i>--end note</i>]</p>
-</blockquote>
-<pre>template <class Path> Path current_path();</pre>
-<blockquote>
-  <p><i>Returns:</i> The current path, as if by <i>POSIX</i>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getcwd.html">
-  <code>getcwd()</code></a>.</p>
-  <p><i>Postcondition:</i> <code>current_path().is_complete()</code></p>
-  <p>[<i>Note:</i> The current path as returned by many operating systems is a 
-  dangerous global variable. It may be changed unexpectedly by a third-party or 
-  system library functions, or by another thread. Although dangerous, the 
-  function is useful in dealing with other libraries.. For a safer alternative, 
-  see <code><a href="#initial_path">initial_path()</a></code>. The <code>
-  current_path()</code> name was chosen to emphasize that the return is a 
-  complete path, not just a single directory name. <i>-- </i><i>end note</i>]</p>
-</blockquote>
-<pre>template <class Path> void current_path(const Path& p);</pre>
-<blockquote>
-<p><i>Postcondition:</i> equivalent( p, current_path() );</p>
-</blockquote>
-<pre>template <class Path> <span style="background-color: #FFFFFF; ">uintmax_t</span> file_size(const Path& p);</pre>
-<blockquote>
-  <p><i>Returns:</i> The size 
-  <span style="background-color: #FFFFFF; ">in bytes</span> 
-  of the file <code>p</code> resolves to, determined as if by the value of 
-  the <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">stat</a></code> structure member <code>st_size</code> 
-  obtained as if by <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/stat.html">stat()</a></code>.</p>
-</blockquote>
-<pre><span style="background-color: #FFFFFF"><a name="space">template</a> <class Path> space_info space(const Path& p);</span></pre>
-<blockquote>
-  <p><span style="background-color: #FFFFFF"><i>Returns:</i> A <code>space_info</code> 
-  object. The value of the <code>space_info</code> object is determined as if by 
-  using </span> <i><span style="background-color: #FFFFFF">POSIX</span></i><span style="background-color: #FFFFFF"> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/statvfs.html" style="text-decoration: none">
-  statvfs()</a></code> to obtain a <i>POSIX</i> struct <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/statvfs.h.html" style="text-decoration: none">
-  statvfs</a></code>, and then multiplying its <code>f_blocks</code>, <code>
-  f_bfree</code>, and <code>f_bavail</code> members by its <code>f_frsize</code> 
-  member, and assigning the results to the <code>capacity</code>, <code>free</code>, 
-  and <code>available</code> members respectively. Any members for which the 
-  value cannot be determined shall be set to -1.</span></p>
-</blockquote>
-<pre>template <class Path> std::time_t last_write_time(const Path& p);</pre>
-<blockquote>
-  <p><i>Returns:</i> The time of last data modification of <code>p</code>, determined as if by the 
-  value of the <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">stat</a></code> structure member <code>st_mtime</code>  obtained 
-  as if by <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/stat.html">stat()</a></code>.</p>
-</blockquote>
-<pre>template <class Path> void last_write_time(const Path& p, const std::time_t new_time);</pre>
-<blockquote>
-  <p><i>Effects:</i> Sets the time of last data modification of the file 
-  resolved to by <code>p</code> 
-  to <code>new_time</code>, as if by <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/stat.html">stat()</a></code> 
-  followed by <i>POSIX</i>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/utime.html">
-  <code>utime()</code></a>.</p>
-  <p>[<i>Note:</i> The apparent postcondition <code>last_write_time(p) == 
-  new_time</code> is not specified since it would not hold for many file systems 
-  due to coarse time mechanism granularity. <i>-- end note</i>]</p>
-</blockquote>
-<h4>Other o<a name="Operations-functions">perations functions</a></h4>
-<pre>template <class Path> bool create_directory(const Path& dp);</pre>
-<blockquote>
-  <p><i>Effects:</i> Attempts to create the directory <code>dp</code> resolves to, 
-  as if by<i> POSIX </i><code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/mkdir.html">mkdir()</a></code> with a second argument of S_IRWXU|S_IRWXG|S_IRWXO. </p>
-  <p><i>Throws:</i> <code>basic_filesystem_error<Path></code> if <i>
-  Effects</i> fails for any reason other than because the directory already exists.</p>
-  <p><i>Returns:</i> True if a new directory was created, otherwise false.</p>
-  <p><i>Postcondition:</i> <code>is_directory(dp)</code></p>
-</blockquote>
-<pre><span style="background-color: #FFFFFF">template <class Path1, class Path2>
-  error_code create_hard_link(const Path1& to_p, const Path2& from_p, error_code& ec);</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Requires:</span></i><span style="background-color: #FFFFFF">
-  </span> <code><span style="background-color: #FFFFFF">Path1::external_string_type</span></code><span style="background-color: #FFFFFF"> and
-  </span> <code>
-  <span style="background-color: #FFFFFF">Path2::external_string_type</span></code><span style="background-color: #FFFFFF"> are the same type.</span></p>
-  <p><i><span style="background-color: #FFFFFF">Effects:</span></i><span style="background-color: #FFFFFF"> Establishes the postcondition, as if by
-  </span> <i><span style="background-color: #FFFFFF">POSIX</span></i><span style="background-color: #FFFFFF">
-  </span> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/link.html">
-  <span style="background-color: #FFFFFF">link()</span></a></code><span style="background-color: #FFFFFF">.</span></p>
-  <p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF"> If the 
-  postcondition cannot be established, a system error code 
-  indicating the reason for the failure, otherwise 0.</span></p>
-  <p><i><span style="background-color: #FFFFFF">Postcondition:</span></i></p>
-  <ul>
-    <li><span style="background-color: #FFFFFF"> </span><code><span style="background-color: #FFFFFF">exists(to_p) && exists(from_p) && equivalent(to_p, 
-    from_p)</span></code></li>
-    <li><span style="background-color: #FFFFFF">The contents of the file or directory
-    </span> <code><span style="background-color: #FFFFFF">to_p</span></code><span style="background-color: #FFFFFF"> resolves to are unchanged.</span></li>
-  </ul>
-  <p><span style="background-color: #FFFFFF">[</span><i><span style="background-color: #FFFFFF">Note:</span></i><span style="background-color: #FFFFFF"> 
-  Some operating systems do not support hard links or support 
-  them only for regular files. Some operating systems limit the number of links per 
-  file. 
-  Some file systems that do not 
-  support 
-  hard links - the FAT system used on floppy discs, memory cards and flash 
-  drives, 
-  for example. Thus hard links should be avoided if wide portability is 
-  a concern. </span> <i><span style="background-color: #FFFFFF">-- end note</span></i><span style="background-color: #FFFFFF">]</span></p>
-  </blockquote>
-<pre><span style="background-color: #FFFFFF">template <class Path1, class Path2>
-  void create_hard_link(const Path1& to_p, const Path2& from_p);</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Requires:</span></i><span style="background-color: #FFFFFF">
-  </span> <code><span style="background-color: #FFFFFF">Path1::external_string_type</span></code><span style="background-color: #FFFFFF"> and
-  </span> <code>
-  <span style="background-color: #FFFFFF">Path2::external_string_type</span></code><span style="background-color: #FFFFFF"> are the same type.</span></p>
-  <p><i><span style="background-color: #FFFFFF">Effects:</span></i><span style="background-color: #FFFFFF"> 
-  As if <code>system_error_code ec( create_hard_link( to_p, from_p ) );</code></span></p>
-  <p><span style="font-style: italic; background-color: #FFFFFF">Throws:</span><span style="background-color: #FFFFFF">
-  </span> <code>basic_filesystem_error<Path1, Path2></code><span style="background-color: #FFFFFF"> 
-  if <code>ec</code> is not zero.</span></p>
-  </blockquote>
-<pre><span style="background-color: #FFFFFF">template <class Path1, class Path2>
-  error_code create_symlink(const Path1& to_p, const Path2& from_p, error_code& ec);</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Requires:</span></i><span style="background-color: #FFFFFF">
-  </span> <code><span style="background-color: #FFFFFF">Path1::external_string_type</span></code><span style="background-color: #FFFFFF"> and
-  </span> <code>
-  <span style="background-color: #FFFFFF">Path2::external_string_type</span></code><span style="background-color: #FFFFFF"> are the same type.</span></p>
-  <p><i><span style="background-color: #FFFFFF">Effects:</span></i><span style="background-color: #FFFFFF"> Establishes the postcondition, as if by
-  </span> <i><span style="background-color: #FFFFFF">POSIX</span></i><span style="background-color: #FFFFFF">
-  </span> <code>
-  <span style="background-color: #FFFFFF">
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/symlink.html">
-  symlink()</a></span></code><span style="background-color: #FFFFFF">.</span></p>
-  <p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF"> If the 
-  postcondition cannot be established, a system error code 
-  indicating the reason for the failure, otherwise 0.</span></p>
-  <p><span style="background-color: #FFFFFF"><i>Postcondition:</i> <code>from_p</code> 
-  resolves to a symbolic link file that contains an unspecified representation 
-  of <code>to_p</code>.</span></p>
-  <p><span style="background-color: #FFFFFF">[</span><i><span style="background-color: #FFFFFF">Note:</span></i><span style="background-color: #FFFFFF"> 
-  Some operating systems do not support symbolic links at all or support 
-  them only for regular files. Thus symbolic links should be avoided if code portability is 
-  a concern. </span> <i><span style="background-color: #FFFFFF">-- end note</span></i><span style="background-color: #FFFFFF">]</span></p>
-  </blockquote>
-<pre><span style="background-color: #FFFFFF">template <class Path1, class Path2>
-  void create_symlink(const Path1& to_p, const Path2& from_p);</span></pre>
-<blockquote>
-  <p><i><span style="background-color: #FFFFFF">Requires:</span></i><span style="background-color: #FFFFFF">
-  </span> <code><span style="background-color: #FFFFFF">Path1::external_string_type</span></code><span style="background-color: #FFFFFF"> and
-  </span> <code>
-  <span style="background-color: #FFFFFF">Path2::external_string_type</span></code><span style="background-color: #FFFFFF"> are the same type.</span></p>
-  <p><i><span style="background-color: #FFFFFF">Effects:</span></i><span style="background-color: #FFFFFF"> 
-  As if <code>system_error_code ec( create_symlink( to_p, from_p ) );</code></span></p>
-  <p><span style="font-style: italic; background-color: #FFFFFF">Throws:</span><span style="background-color: #FFFFFF">
-  </span> <code>basic_filesystem_error<Path1, Path2></code><span style="background-color: #FFFFFF"> 
-  if <code>ec</code> is not zero.</span></p>
-  </blockquote>
-<pre>template <class Path> bool remove(const Path& p, system::error_code & ec = <i>singular</i> );</pre>
-<blockquote>
-  <p><i>Effects:</i>  Removes the file <code>p</code>, 
-  as if by<i> POSIX </i><code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/remove.html">remove()</a></code>. 
-  If no error is reported by the underlying removal implementation or if <code>
-  status(p).type() == file_not_found</code>, then:</p>
-  <ul>
-    <li>if <code>ec != </code><i><code>singular</code></i>, then <code>ec.clear()</code>.</li>
-  </ul>
-  <p>Otherwise,</p>
-  <ul>
-    <li>if <code>ec != </code><i><code>singular</code></i>, then set <code>ec</code> 
-    to represent the error.</li>
-    <li>otherwise, throw <code>basic_filesystem_error<Path></code> to represent 
-    the error.if <code>ec != </code><i><code>singular</code></i>, then <code>
-    ec.clear()</code></li>
-  </ul>
-  <p><i>Returns:</i> <code>true</code> if the file was removed, otherwise <code>
-  false</code>.</p>
-  <p><i>Postcondition:</i> <code>!exists(p)</code></p>
-  <p><i>Throws:</i> See <i>Effects</i>.</p>
-  <p>[<i>Note:</i> A symbolic link is itself removed, rather than the file it 
-  resolves to being removed. <i>-- end note</i>]</p>
-</blockquote>
-<pre>template <class Path> unsigned long remove_all(const Path& p);</pre>
-<blockquote>
-  <p><i>Effects:</i>  Recursively deletes the contents of p if it exists, 
-  then deletes file <code>p</code> itself, 
-  as if by<i> POSIX </i><code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/remove.html">remove()</a></code>.</p>
-  <p><i>Returns:</i> The number of files removed.</p>
-  <p><i>Postcondition:</i> <code>!exists(p)</code></p>
-  <p>[<i>Note:</i> A symbolic link is itself removed, rather than the file it 
-  resolves to being removed. <i>-- end note</i>]</p>
-</blockquote>
-<pre>template <class Path1, class Path2> void rename(const Path1& from_p, const Path2& to_p);</pre>
-<blockquote>
-  <p><i>Requires:</i> <code>Path1::external_string_type</code> and <code>
-  Path2::external_string_type</code> are the same type. </p>
-  <p><i>Effects:</i> Renames <code>from_p</code> to <code>to_p</code>, as if by
-  <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/rename.html">
-  rename()</a></code>.</p>
-  <p><i>Postconditions:</i> <code>!exists(from_p) && exists(to_p)</code>, and 
-  the contents and attributes of the file originally named <code>from_p</code> 
-  are otherwise unchanged.</p>
-  <p>[<i>Note:</i> If <code>from_p</code> and <code>to_p</code> resolve to the 
-  same file, no action is taken. Otherwise, if <code>to_p</code> resolves to an 
-  existing file, it is removed. A symbolic link is itself renamed, rather than 
-  the file it resolves to being renamed. <i>-- end note</i>]</p>
-</blockquote>
-<pre>template <class Path1, class Path2>
-  void copy_file(const Path1& from_fp, const Path2& to_fp,
-                 BOOST_SCOPED_ENUM(copy_option) option=<a href="#copy_option">copy_option</a>::fail_if_exists);</pre>
-<blockquote>
-  <p><i>Requires:</i> <code>Path1::external_string_type</code> and <code>
-  Path2::external_string_type</code> are the same type. </p>
-  <p><i>Effects:</i> The contents and attributes of the file <code>from_fp</code> 
-  resolves to are copied to the file <code>to_fp</code> resolves to.</p>
-  <p><i>Throws:</i> <code>basic_filesystem_error<Path></code> if <code>
-  from_fp.empty() || to_fp.empty() ||!exists(from_fp) || !is_regular_file(from_fp) 
-  || (option==<a href="#copy_option">copy_option</a>::fail_if_exists && exists(to_fp))</code></p>
-</blockquote>
-<pre>template <class Path> Path complete(const Path& p, const Path& base=initial_path<Path>());</pre>
-<blockquote>
-  <p><i>Effects:</i> Composes a complete path from <code>p</code> and <code>base</code>, 
-  using the following rules:</p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
-    <tr>
-      <td align="center"> </td>
-      <td align="center"><b><code>p.has_root_directory()</code></b></td>
-      <td align="center"><b><code>!p.has_root_directory()</code></b></td>
-    </tr>
-    <tr>
-      <td align="center"><b><code>p.has_root_name()</code></b></td>
-      <td align="center"><code>p</code></td>
-      <td align="center">precondition failure</td>
-    </tr>
-    <tr>
-      <td align="center"><b><code>!p.has_root_name()</code></b></td>
-      <td align="center"><code>base.root_name()<br>
-      / p</code></td>
-      <td align="center"><code>base / p</code></td>
-    </tr>
-  </table>
-  <p><i>Returns:</i> The composed path.</p>
-  <p><i>Postcondition:</i> For the returned path, <code>rp,</code> <code>
-  rp.is_complete()</code> is true.</p>
-  <p><i>Throws:</i>
-  <span style="background-color: #FFFFFF">If </span> <code>
-  <span style="background-color: #FFFFFF">!(base.is_complete() && (p.is_complete() || !p.has_root_name()))</span></code></p>
-  <p>[<i><a name="complete_note">Note</a>:</i> When portable behavior is 
-  required, use <i>complete()</i>. When operating system dependent behavior is 
-  required, use <i>system_complete()</i>.</p>
-  <p>Portable behavior is useful when dealing with paths created 
-  internally within a program, particularly if the program should exhibit the 
-  same behavior on all operating systems.</p>
-  <p>Operating system dependent behavior is useful when dealing with 
-  paths supplied by user input, reported to program users, or when such behavior 
-  is expected by program users. <i>-- 
-  end note</i>]</p>
-</blockquote>
-<pre>template <class Path> Path system_complete(const Path& p);</pre>
-<blockquote>
-  <p><i>Effects:</i> Composes a complete path from <code>p</code>, using the 
-  same rules used by the operating system to resolve a path passed as the 
-  filename argument to standard library open functions.</p>
-  <p><i>Returns:</i> The composed path.</p>
-  <p><i>Postcondition:</i> For the returned path, <code>rp,</code> <code>
-  rp.is_complete()</code> is true.</p>
-  <p><i>Throws:</i> <span style="background-color: #FFFFFF">If <code>p.empty()</code>.</span></p>
-  <p>[<i>Note:</i> For <i>POSIX</i>, <code>system_complete(p)</code> has the same semantics as
-  <code>complete(p, current_path())</code>.</p>
-  <p><a name="windows_effects">For <i>Windows</i></a>, <code>system_complete(p)</code> has the 
-  same semantics as <code>complete(ph, current_path())</code> if 
-  <code>p.is_complete() || !p.has_root_name()</code> or <code>p</code> and <code>base</code> have the same
-  <code>root_name()</code>. 
-  Otherwise it acts like <code>complete(p, kinky)</code>, where <code>kinky</code> 
-  is the current directory for the <code>p.root_name()</code> drive. This will 
-  be the current directory of that drive the last time it was set, and thus may 
-  be <b>residue left over from a prior program</b> run by the command 
-  processor! Although these semantics are often useful, they are also very 
-  error-prone.</p>
-  <p>See <a href="#complete_note">
-  <i>complete()</i> note</a> for usage suggestions. <i>-- end note</i>]</p>
-</blockquote>
-<h4><a name="Convenience-functions">Convenience functions</a></h4>
-<pre>template <class Path> bool create_directories(const Path & p);</pre>
-<blockquote>
-  <p><i>Requires:</i> <code>p.empty() || <br>
-  forall px: px == p || is_parent(px, p): is_directory(px) || !exists( px )</code>
-  </p>
-  <p><i>Returns:</i> The value of <code>!exists(p)</code> prior to the 
-  establishment of the postcondition.</p>
-  <p><i>Postcondition:</i> <code>is_directory(p)</code></p>
-  <p><i>Throws:</i>  <code>basic_filesystem_error<Path></code> if<code> 
-  exists(p) && !is_directory(p)</code></p>
-</blockquote>
-<table border="1" cellpadding="5" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td>
-    <h4>Deprecated convenience functions</h4>
-    <p>The following functions have been replaced by <code>basic_path</code> 
-    member functions <code>extension()</code>, <code>stem()</code>, and <code>
-    replace_extension()</code>.</p>
-<pre>template <class Path> typename Path::string_type extension(const Path & p);</pre>
-<blockquote>
-  <p><i>Returns:</i> if <code>p.filename()</code> contains a <i>dot</i>, returns 
-  the substring of <code>p.filename()</code> starting at the rightmost <i>dot</i> 
-  and ending at the string's end. Otherwise, returns an empty string. </p>
-  <p>[<i>Note:<b> </b></i>The <i>dot</i> is included in the return value so that 
-  it is possible to distinguish between no extension and an empty extension. </p>
-  <p>Implementations are permitted but not required to define additional 
-  behavior for file systems which append additional elements to extensions, such 
-  as alternate data stream or partitioned dataset names. <i>-- end note</i>]</p>
-</blockquote>
-<pre>template <class Path> typename Path::string_type basename(const Path & p);</pre>
-<blockquote>
-  <p><i>Returns:</i> if <code>p.filename()</code> contains a <i>dot</i>, returns 
-  the substring of <code>p.filename()</code> starting at its beginning and 
-  ending at the last <i>dot</i> (the <i>dot</i> is not included). Otherwise, 
-  returns <code>
-  p.filename()</code>.</p>
-</blockquote>
-<pre>template <class Path>
-  Path change_extension(const Path & p, const typename Path::string_type & new_extension);</pre>
-<blockquote>
-  <p><i>Postcondition:</i> <code>basename(<i>return_value</i>) == basename(p) && 
-  extension(<i>return_value</i>) == new_extension</code> </p>
-  <p>[<i>Note:</i> It follows from the semantics of <code>extension()</code> 
-  that <code>new_extension</code> should include <i>dot</i> to achieve 
-  reasonable results. <i>-- end note</i>]</p>
-</blockquote>
-    </td>
-  </tr>
-</table>
-<h3><a name="header-fstream">Additions</a> to header <code><fstream></code></h3>
-<blockquote>
-<p><span style="background-color: #E0E0E0; font-style:italic">These additions have been carefully 
-specified to avoid breaking existing code in common operating environments such as
-</span> <i><span style="background-color: #E0E0E0">POSIX</span></i><span style="background-color: #E0E0E0; font-style:italic">,
-</span> <i>
-<span style="background-color: #E0E0E0">Windows</span></i><span style="background-color: #E0E0E0; font-style:italic">, and
-</span> <i><span style="background-color: #E0E0E0">OpenVMS. 
-See </span><a href="#Suggestions-for-fstream">
-<span style="background-color: #E0E0E0">Suggestions for <code><fstream></code> 
-implementations</span></a><span style="background-color: #E0E0E0"> for 
-techniques to avoid breaking existing code in other environments, particularly 
-on operating systems allowing slashes in filenames.</span></i></p>
-<p><span style="background-color: #FFFFFF">[<i>Note:</i> The 
-"do-the-right-thing" rule from <a href="#Requirements-on-implementations">
-Requirements on implementations</a> does apply to header <code><fstream></code>.</span></p>
-<p><span style="background-color: #FFFFFF">The overloads 
-below are specified as additions rather than replacements for existing 
-functions. This preserves existing code (perhaps 
-using a <a name="home-grown-path">home-grown path</a> class) that relies on an 
-automatic conversion to <code>const char*</code>.<i> -- end note</i>]</span></p>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>In 27.8.1.1 Class template 
-basic_filebuf [lib.filebuf] synopsis preceding paragraph 1, add the function:</i></span></p>
-<blockquote>
-<pre><span style="background-color: #FFFFFF">template <class Path> </span><span style="background-color: #FFFFFF">basic_filebuf</span><span style="background-color: #FFFFFF"><charT,traits>* </span><span style="background-color: #FFFFFF">open(const</span><span style="background-color: #FFFFFF"> Path& p, </span><span style="background-color: #FFFFFF">ios_base::openmode</span><span style="background-color: #FFFFFF"> mode);</span></pre>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>In 27.8.1.3 Member functions [lib.filebuf.members], 
-add the above to the signature preceding paragraph 2, and replace the 
-sentence:</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF">It then opens a file, if possible, 
-whose name is the NTBS s (“as if” by calling <code>std::fopen(s ,<i>modstr</i> 
-))</code>.</span></p>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>with:</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF">It then opens, if possible, the file 
-that
-<code>p</code> or <code>path(s)</code> resolves to, “as if” by calling <code>std::fopen()</code> with a 
-second argument of <i>modstr</i>.</span></p>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>In 27.8.1.5 Class template 
-basic_ifstream [lib.ifstream] synopsis preceding paragraph 1, add the functions:</i></span></p>
-<blockquote>
-  <pre><span style="background-color: #FFFFFF">template <class Path> explicit basic_ifstream(const Path& p, ios_base::openmode mode = ios_base::in);
-template <class Path> void open(const Path& p, ios_base::openmode mode = ios_base::in);</span></pre>
-</blockquote>
-<p><i><span style="background-color: #FFFFFF">In 27.8.1.6 basic_ifstream 
-constructors [lib.ifstream.cons] </span></i>
-<span style="background-color: #FFFFFF"><i>add the above constructor to the signature preceding 
-paragraph 2, and in paragraph 2 replace</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF"><code>rdbuf()->open(s, mode | 
-ios_base::in)</code></span></p>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>with</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF"><code>rdbuf()->open(path(s), mode | 
-ios_base::in)</code> or <code>rdbuf()->open(p, mode | ios_base::in)</code> as 
-appropriate</span></p>
-</blockquote>
-<p><i><span style="background-color: #FFFFFF">In 27.8.1.7 Member functions [lib.ifstream.members]
-</span></i><span style="background-color: #FFFFFF"><i>add the above open 
-function to the signature 
-preceding paragraph 3, and in paragraph 3 replace</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF"><code>rdbuf()->open(s, mode | 
-ios_base::in)</code></span></p>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>with</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF"><code>rdbuf()->open(path(s), mode | 
-ios_base::in)</code> or <code>rdbuf()->open(p, mode | ios_base::in)</code> as 
-appropriate</span></p>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>In 27.8.1.8 Class template 
-basic_ofstream [lib.ofstream] synopsis preceding paragraph 1, add the 
- 
-functions:</i></span></p>
-<blockquote>
-  <pre><span style="background-color: #FFFFFF">template <class Path> explicit basic_ofstream(const Path& p, ios_base::openmode mode = ios_base::out);
-template <class Path> void open(const Path& p, ios_base::openmode mode = ios_base::out);</span></pre>
-</blockquote>
-<p><i><span style="background-color: #FFFFFF">In 27.8.1.9 basic_ofstream 
-constructors [lib.ofstream.cons] </span></i>
-<span style="background-color: #FFFFFF"><i>add the above constructor to the signature preceding 
-paragraph 2, and in paragraph 2 replace</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF"><code>rdbuf()->open(s, mode | 
-ios_base::out)</code></span></p>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>with</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF"><code>rdbuf()->open(path(s), mode | 
-ios_base::out)</code> or <code>rdbuf()->open(p, mode | ios_base::out)</code> as 
-appropriate</span></p>
-</blockquote>
-<p><i><span style="background-color: #FFFFFF">In 27.8.1.10 Member functions [lib.ofstream.members]
-</span></i><span style="background-color: #FFFFFF"><i>add the above open 
-function to the signature 
-preceding paragraph 3, and in paragraph 3 replace</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF"><code>rdbuf()->open(s, mode | 
-ios_base::out)</code></span></p>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>with</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF"><code>rdbuf()->open(path(s), mode | 
-ios_base::out)</code> or <code>rdbuf()->open(p, mode | ios_base::out)</code> as 
-appropriate</span></p>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>In 27.8.1.11 Class template 
-basic_fstream [lib.fstream] synopsis preceding paragraph 1, add the  functions:</i></span></p>
-<blockquote>
-  <pre><span style="background-color: #FFFFFF">template <class Path> explicit basic_fstream(const Path& p, ios_base::openmode mode = ios_base::in|ios_base::out);
-template <class Path> void open(const Path& p, ios_base::openmode mode = ios_base::in|ios_base::out);</span></pre>
-</blockquote>
-<p><i><span style="background-color: #FFFFFF">In 27.8.1.12 basic_fstream 
-constructors [lib.fstream.cons] </span></i>
-<span style="background-color: #FFFFFF"><i>add the above constructor to the signature preceding 
-paragraph 2, and in paragraph 2 replace</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF"><code>rdbuf()->open(s, mode)</code></span></p>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>with</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF"><code>rdbuf()->open(path(s), mode)</code> 
-or <code>rdbuf()->open(p, mode)</code> as appropriate</span></p>
-</blockquote>
-<p><i><span style="background-color: #FFFFFF">In 27.8.1.13 Member functions [lib.fstream.members]
-</span></i><span style="background-color: #FFFFFF"><i>add the above open 
-function to the signature 
-preceding paragraph 3, and in paragraph 3 replace</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF"><code>rdbuf()->open(s, mode)</code></span></p>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>with</i></span></p>
-<blockquote>
-<p><span style="background-color: #FFFFFF"><code>rdbuf()->open(path(s), mode)</code> 
-or <code>rdbuf()->open(p, mode)</code> as appropriate</span></p>
-</blockquote>
-<p><span style="background-color: #FFFFFF"><i>End of proposed text.</i></span></p>
-<h2><a name="Path-decomposition-table">Path decomposition table</a></h2>
-<p>The table is generated by a program compiled with the Boost implementation.</p>
-<p>Shaded entries indicate cases where <i>POSIX</i> and <i>Windows</i> 
-implementations yield different results. The top value is the
-<i>POSIX</i> result and the bottom value is the <i>Windows</i> result. <br>
- <table border="1" cellspacing="0" cellpadding="5" width="1066">
-<p>
-<tr><td width="112"><b>Constructor<br>argument</b></td>
-<td width="160"><b>Elements found<br>by iteration</b></td>
-<td width="112"><b><code>string()</code></b></td>
-<td width="112"><code><b>file_<br>string()</b></td>
-<td width="72"><b><code>root_<br>path()<br>.string()</code></b></td>
-<td width="48"><b><code>root_<br>name()</code></b></td>
-<td width="88"><b><code>root_<br>directory()</code></b></td>
-<td width="96"><b><code>relative_<br>path()<br>.string()</code></b></td>
-<td width="72"><b><code>parent_<br>path()<br>.string()</code></b></td>
-<td width="72"><b><code>filename()</code></b></td>
-</tr>
-<tr>
-<td width="112"><code>""</code></td>
-<td width="160"><code>""</code></td>
-<td width="112"><code>""</code></td>
-<td width="112"><code>""</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>""</code></td>
-<td width="72"><code>""</code></td>
-<td width="72"><code>""</code></td>
-</tr>
-<tr>
-<td width="112"><code>"."</code></td>
-<td width="160"><code>"."</code></td>
-<td width="112"><code>"."</code></td>
-<td width="112"><code>"."</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"."</code></td>
-<td width="72"><code>""</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>".."</code></td>
-<td width="160"><code>".."</code></td>
-<td width="112"><code>".."</code></td>
-<td width="112"><code>".."</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>".."</code></td>
-<td width="72"><code>""</code></td>
-<td width="72"><code>".."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"foo"</code></td>
-<td width="160"><code>"foo"</code></td>
-<td width="112"><code>"foo"</code></td>
-<td width="112"><code>"foo"</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"foo"</code></td>
-<td width="72"><code>""</code></td>
-<td width="72"><code>"foo"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"/"</code></td>
-<td width="160"><code>"/"</code></td>
-<td width="112"><code>"/"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"/"<br>"\"</code></td>
-<td width="72"><code>"/"</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>"/"</code></td>
-<td width="96"><code>""</code></td>
-<td width="72"><code>""</code></td>
-<td width="72"><code>"/"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"/foo"</code></td>
-<td width="160"><code>"/","foo"</code></td>
-<td width="112"><code>"/foo"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"/foo"<br>"\foo"</code></td>
-<td width="72"><code>"/"</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>"/"</code></td>
-<td width="96"><code>"foo"</code></td>
-<td width="72"><code>"/"</code></td>
-<td width="72"><code>"foo"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"foo/"</code></td>
-<td width="160"><code>"foo","."</code></td>
-<td width="112"><code>"foo/"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"foo/"<br>"foo\"</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"foo/"</code></td>
-<td width="72"><code>"foo"</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"/foo/"</code></td>
-<td width="160"><code>"/","foo","."</code></td>
-<td width="112"><code>"/foo/"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"/foo/"<br>"\foo\"</code></td>
-<td width="72"><code>"/"</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>"/"</code></td>
-<td width="96"><code>"foo/"</code></td>
-<td width="72"><code>"/foo"</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"foo/bar"</code></td>
-<td width="160"><code>"foo","bar"</code></td>
-<td width="112"><code>"foo/bar"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"foo/bar"<br>"foo\bar"</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"foo/bar"</code></td>
-<td width="72"><code>"foo"</code></td>
-<td width="72"><code>"bar"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"/foo/bar"</code></td>
-<td width="160"><code>"/","foo","bar"</code></td>
-<td width="112"><code>"/foo/bar"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"/foo/bar"<br>"\foo\bar"</code></td>
-<td width="72"><code>"/"</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>"/"</code></td>
-<td width="96"><code>"foo/bar"</code></td>
-<td width="72"><code>"/foo"</code></td>
-<td width="72"><code>"bar"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"///foo///"</code></td>
-<td width="160"><code>"/","foo","."</code></td>
-<td width="112"><code>"///foo///"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"///foo///"<br>"\foo\\\"</code></td>
-<td width="72"><code>"/"</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>"/"</code></td>
-<td width="96"><code>"foo///"</code></td>
-<td width="72"><code>"///foo"</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"///foo///bar"</code></td>
-<td width="160"><code>"/","foo","bar"</code></td>
-<td width="112"><code>"///foo///bar"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"///foo///bar"<br>"\foo\\\bar"</code></td>
-<td width="72"><code>"/"</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>"/"</code></td>
-<td width="96"><code>"foo///bar"</code></td>
-<td width="72"><code>"///foo"</code></td>
-<td width="72"><code>"bar"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"/."</code></td>
-<td width="160"><code>"/","."</code></td>
-<td width="112"><code>"/."</code></td>
-<td bgcolor="#99FF66" width="112"><code>"/."<br>"\."</code></td>
-<td width="72"><code>"/"</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>"/"</code></td>
-<td width="96"><code>"."</code></td>
-<td width="72"><code>"/"</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"./"</code></td>
-<td width="160"><code>".","."</code></td>
-<td width="112"><code>"./"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"./"<br>".\"</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"./"</code></td>
-<td width="72"><code>"."</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"/.."</code></td>
-<td width="160"><code>"/",".."</code></td>
-<td width="112"><code>"/.."</code></td>
-<td bgcolor="#99FF66" width="112"><code>"/.."<br>"\.."</code></td>
-<td width="72"><code>"/"</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>"/"</code></td>
-<td width="96"><code>".."</code></td>
-<td width="72"><code>"/"</code></td>
-<td width="72"><code>".."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"../"</code></td>
-<td width="160"><code>"..","."</code></td>
-<td width="112"><code>"../"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"../"<br>"..\"</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"../"</code></td>
-<td width="72"><code>".."</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"foo/."</code></td>
-<td width="160"><code>"foo","."</code></td>
-<td width="112"><code>"foo/."</code></td>
-<td bgcolor="#99FF66" width="112"><code>"foo/."<br>"foo\."</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"foo/."</code></td>
-<td width="72"><code>"foo"</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"foo/.."</code></td>
-<td width="160"><code>"foo",".."</code></td>
-<td width="112"><code>"foo/.."</code></td>
-<td bgcolor="#99FF66" width="112"><code>"foo/.."<br>"foo\.."</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"foo/.."</code></td>
-<td width="72"><code>"foo"</code></td>
-<td width="72"><code>".."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"foo/./"</code></td>
-<td width="160"><code>"foo",".","."</code></td>
-<td width="112"><code>"foo/./"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"foo/./"<br>"foo\.\"</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"foo/./"</code></td>
-<td width="72"><code>"foo/."</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"foo/./bar"</code></td>
-<td width="160"><code>"foo",".","bar"</code></td>
-<td width="112"><code>"foo/./bar"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"foo/./bar"<br>"foo\.\bar"</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"foo/./bar"</code></td>
-<td width="72"><code>"foo/."</code></td>
-<td width="72"><code>"bar"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"foo/.."</code></td>
-<td width="160"><code>"foo",".."</code></td>
-<td width="112"><code>"foo/.."</code></td>
-<td bgcolor="#99FF66" width="112"><code>"foo/.."<br>"foo\.."</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"foo/.."</code></td>
-<td width="72"><code>"foo"</code></td>
-<td width="72"><code>".."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"foo/../"</code></td>
-<td width="160"><code>"foo","..","."</code></td>
-<td width="112"><code>"foo/../"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"foo/../"<br>"foo\..\"</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"foo/../"</code></td>
-<td width="72"><code>"foo/.."</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"foo/../bar"</code></td>
-<td width="160"><code>"foo","..","bar"</code></td>
-<td width="112"><code>"foo/../bar"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"foo/../bar"<br>"foo\..\bar"</code></td>
-<td width="72"><code>""</code></td>
-<td width="48"><code>""</code></td>
-<td width="88"><code>""</code></td>
-<td width="96"><code>"foo/../bar"</code></td>
-<td width="72"><code>"foo/.."</code></td>
-<td width="72"><code>"bar"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:"</code></td>
-<td width="160"><code>"c:"</code></td>
-<td width="112"><code>"c:"</code></td>
-<td width="112"><code>"c:"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1; border-top-style: solid; border-top-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td width="88"><code>""</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:"<br>""</code></td>
-<td width="72"><code>""</code></td>
-<td width="72"><code>"c:"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:/"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:","."<br>"c:","/"</code></td>
-<td width="112"><code>"c:/"</code></td>
-<td bgcolor="#99FF66" width="112"><code><span style="background-color: #99FF66">
-"c:/"<br>"c:\"</span></code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:/"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td bgcolor="#99FF66" width="88"><code>""<br>"/"</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:/"<br>""</code></td>
-<td width="72"><code>"c:"</code></td>
-<td bgcolor="#99FF66" width="72"><code>"."<br>"/"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:foo"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:foo"<br>"c:","foo"</code></td>
-<td width="112"><code>"c:foo"</code></td>
-<td width="112"><code>"c:foo"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td width="88"><code>""</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:foo"<br>"foo"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:"</code></td>
-<td bgcolor="#99FF66" width="72"><code>"c:foo"<br>"foo"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:/foo"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:","foo"<br>"c:","/","foo"</code></td>
-<td width="112"><code>"c:/foo"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"c:/foo"<br>"c:\foo"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:/"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td bgcolor="#99FF66" width="88"><code>""<br>"/"</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:/foo"<br>"foo"</code></td>
-<td bgcolor="#99FF66" width="72"><code>"c:"<br>"c:/"</code></td>
-<td width="72"><code>"foo"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:foo/"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:foo","."<br>"c:","foo","."</code></td>
-<td width="112"><code>"c:foo/"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"c:foo/"<br>"c:foo\"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td width="88"><code>""</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:foo/"<br>"foo/"</code></td>
-<td width="72"><code>"c:foo"</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:/foo/"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:","foo","."<br>"c:","/","foo","."</code></td>
-<td width="112"><code>"c:/foo/"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"c:/foo/"<br>"c:\foo\"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:/"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td bgcolor="#99FF66" width="88"><code>""<br>"/"</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:/foo/"<br>"foo/"</code></td>
-<td width="72"><code>"c:/foo"</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:/foo/bar"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:","foo","bar"<br>"c:","/","foo","bar"</code></td>
-<td width="112"><code>"c:/foo/bar"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"c:/foo/bar"<br>"c:\foo\bar"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:/"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td bgcolor="#99FF66" width="88"><code>""<br>"/"</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:/foo/bar"<br>"foo/bar"</code></td>
-<td width="72"><code>"c:/foo"</code></td>
-<td width="72"><code>"bar"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"prn:"</code></td>
-<td width="160"><code>"prn:"</code></td>
-<td width="112"><code>"prn:"</code></td>
-<td width="112"><code>"prn:"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"prn:"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"prn:"</code></td>
-<td width="88"><code>""</code></td>
-<td bgcolor="#99FF66" width="96"><code>"prn:"<br>""</code></td>
-<td width="72"><code>""</code></td>
-<td width="72"><code>"prn:"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:\"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:\"<br>"c:","/"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"c:\"<br>"c:/"</code></td>
-<td width="112"><code>"c:\"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:/"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td bgcolor="#99FF66" width="88"><code>""<br>"/"</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:\"<br>""</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:"</code></td>
-<td bgcolor="#99FF66" width="72"><code>"c:\"<br>"/"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:foo"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:foo"<br>"c:","foo"</code></td>
-<td width="112"><code>"c:foo"</code></td>
-<td width="112"><code>"c:foo"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td width="88"><code>""</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:foo"<br>"foo"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:"</code></td>
-<td bgcolor="#99FF66" width="72"><code>"c:foo"<br>"foo"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:\foo"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:\foo"<br>"c:","/","foo"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"c:\foo"<br>"c:/foo"</code></td>
-<td width="112"><code>"c:\foo"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:/"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td bgcolor="#99FF66" width="88"><code>""<br>"/"</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:\foo"<br>"foo"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:/"</code></td>
-<td bgcolor="#99FF66" width="72"><code>"c:\foo"<br>"foo"</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:foo\"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:foo\"<br>"c:","foo","."</code></td>
-<td bgcolor="#99FF66" width="112"><code>"c:foo\"<br>"c:foo/"</code></td>
-<td width="112"><code>"c:foo\"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td width="88"><code>""</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:foo\"<br>"foo/"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:foo"</code></td>
-<td bgcolor="#99FF66" width="72"><code>"c:foo\"<br>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:\foo\"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:\foo\"<br>"c:","/","foo","."</code></td>
-<td bgcolor="#99FF66" width="112"><code>"c:\foo\"<br>"c:/foo/"</code></td>
-<td width="112"><code>"c:\foo\"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:/"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td bgcolor="#99FF66" width="88"><code>""<br>"/"</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:\foo\"<br>"foo/"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:/foo"</code></td>
-<td bgcolor="#99FF66" width="72"><code>"c:\foo\"<br>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:\foo/"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:\foo","."<br>"c:","/","foo","."</code></td>
-<td bgcolor="#99FF66" width="112"><code>"c:\foo/"<br>"c:/foo/"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"c:\foo/"<br>"c:\foo\"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:/"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td bgcolor="#99FF66" width="88"><code>""<br>"/"</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:\foo/"<br>"foo/"</code></td>
-<td bgcolor="#99FF66" width="72"><code>"c:\foo"<br>"c:/foo"</code></td>
-<td width="72"><code>"."</code></td>
-</tr>
-<tr>
-<td width="112"><code>"c:/foo\bar"</code></td>
-<td bgcolor="#99FF66" width="160"><code>"c:","foo\bar"<br>"c:","/","foo","bar"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"c:/foo\bar"<br>"c:/foo/bar"</code></td>
-<td bgcolor="#99FF66" width="112"><code>"c:/foo\bar"<br>"c:\foo\bar"</code></td>
-<td bgcolor="#99FF66" width="72"><code>""<br>"c:/"</code></td>
-<td bgcolor="#99FF66" style="border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1; border-bottom-style: solid; border-bottom-width: 1" width="48"><code>
-""<br>"c:"</code></td>
-<td bgcolor="#99FF66" width="88"><code>""<br>"/"</code></td>
-<td bgcolor="#99FF66" width="96"><code>"c:/foo\bar"<br>"foo/bar"</code></td>
-<td bgcolor="#99FF66" width="72"><code>"c:"<br>"c:/foo"</code></td>
-<td bgcolor="#99FF66" width="72"><code>"foo\bar"<br>"bar"</code></td>
-</tr>
-</table>
-<h2><a name="Suggestions-for-fstream">Suggestions for <code><fstream></code></a> 
-implementations</h2>
-<p><span style="background-color: #FFFFFF">The change in semantics to functions 
-taking <code>const char*</code> arguments can break existing code, but only on 
-operating systems where implementations don't 
-<a href="#Pathname-formats">implicitly accept native format pathnames</a> or 
-operating systems that allow slashes in filenames. Thus on <i>POSIX</i>, 
-<i>Windows,</i> and <i>OpenVMS</i>, for example, there is no problem if the 
-implementation follows encouraged behavior.</span></p>
-<p><span style="background-color: #FFFFFF">For most of the Filesystem Library, 
-there is no existing code, so the issue preserving existing code that uses 
-slashes in filenames doesn't arise. New code simply must use basic_path 
-constructors with <code>path_format_t</code> arguments of <code>native</code>. 
-To preserve existing fstream code that uses slashes in filenames, an 
-implementation may wish to provide a mechanism such as a macro to control 
-selection of the old behavior.</span></p>
-<p><span style="background-color: #FFFFFF">Implementations are already required 
-by the TR front-matter to provide a mechanism such as a macro to control 
-selection of the old behavior (useful to guarantee protection of existing code) 
-or new behavior (useful in new code, and code being ported from other systems) 
-for headers. Because use of the rest of the Filesystem Library is independent of 
-use of the <code><fstream></code> additions, affected implementations are 
-encouraged to allow disabling the <code><fstream></code> additions separately 
-from other TR features.</span></p>
-<p><span style="background-color: #FFFFFF">An rejected alternative was to supply 
-new fstream classes in namespace <code>filesystem</code>, inheriting from the current 
-classes, overriding the constructors and opens taking pathname arguments, and 
-providing the additional overloads. In Lillehammer LWG members indicated lack of 
-support for this alternative, feeling that costs outweigh benefits.</span></p>
-<h2><a name="Acknowledgements">Acknowledgements</a></h2>
-<p>This Filesystem Library is dedicated to my wife, Sonda, who provided the 
-support necessary to see both a trial implementation and the proposal itself 
-through to completion. She gave me the strength to continue after a difficult 
-year of cancer treatment in the middle of it all.</p>
-<p>Many people contributed technical comments, ideas, and suggestions to the 
-Boost Filesystem Library. See
-<a href="http://www.boost.org/libs/filesystem/doc/index.htm#Acknowledgements">
-http://www.boost.org/libs/filesystem/doc/index.htm#Acknowledgements</a>.</p>
-<p>Dietmar Kuehl contributed the original Boost Filesystem Library directory_iterator design. Peter Dimov, Walter Landry, Rob Stewart, and Thomas 
-Witt were particularly helpful in refining the library.</p>
-<p>The create_directories, extension, basename, and replace_extension functions 
-were developed by Vladimir Prus.</p>
-<p>Howard Hinnant and John Maddock reviewed a draft of the proposal, and 
-identified a number of mistakes or weaknesses, resulting in a more polished 
-final document.</p>
-<h2><a name="References">References</a></h2>
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
-  <tr>
-    <td width="16%" valign="top">[<a name="ISO_POSIX">ISO-POSIX</a>]</td>
-    <td width="84%">ISO/IEC 9945:2003, IEEE Std 1003.1-2001, and The Open Group 
-    Base Specifications, Issue 6. Also known as The Single Unix<font face="Times New Roman">® 
-    Specification, Version 3. Available from each of the organizations involved 
-    in its creation. For example, read online or download from
-    <a href="http://www.unix.org/single_unix_specification/">
-    www.unix.org/single_unix_specification/</a>.</font> The ISO JTC1/SC22/WG15 - 
-    POSIX homepage is <a href="http://www.open-std.org/jtc1/sc22/WG15/">
-    www.open-std.org/jtc1/sc22/WG15/</a></td>
-  </tr>
-  <tr>
-    <td width="16%" valign="top">[Abrahams]</td>
-    <td width="84%">Dave Abrahams, Error and Exception Handling,
-    <a href="http://www.boost.org/more/error_handling.html">
-    www.boost.org/more/error_handling.html</a></td>
-  </tr>
-</table>
-<hr>
-<p>© Copyright Beman Dawes, 2002, 2006, 2007</p>
-<p>Distributed under the Boost Software License, Version 1.0. See
-<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a></p>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->10 November 2009<!--webbot bot="Timestamp" endspan i-checksum="40581" --></p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v2/example/Jamfile.v2 b/SRC/Boost/libs/filesystem/v2/example/Jamfile.v2
deleted file mode 100755
index 4ae0f6a..0000000
--- a/SRC/Boost/libs/filesystem/v2/example/Jamfile.v2
+++ /dev/null
@@ -1,16 +0,0 @@
-# Boost Filesystem Library Example Jamfile
- 
-# (C) Copyright Vladimir Prus 2003
-
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or www.boost.org/LICENSE_1_0.txt)
-
-# See library home page at http://www.boost.org/libs/filesystem
-
-project
-    : requirements <library>../build//boost_filesystem
-      <hardcode-dll-paths>true
-    ;
-    
-exe file_size : file_size.cpp ;
-exe simple_ls : simple_ls.cpp ;    
diff --git a/SRC/Boost/libs/filesystem/v2/example/file_size.cpp b/SRC/Boost/libs/filesystem/v2/example/file_size.cpp
deleted file mode 100755
index 4a92cc7..0000000
--- a/SRC/Boost/libs/filesystem/v2/example/file_size.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  file_size program  -------------------------------------------------------//
-
-//  Copyright Beman Dawes, 2004
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/filesystem for documentation.
-
-#include <boost/filesystem/operations.hpp>
-#include <iostream>
-
-namespace fs = boost::filesystem;
-
-int main( int argc, char* argv[] )
-{
-
-  if ( argc != 2 )
-  {
-    std::cout << "Usage: file_size path\n";
-    return 1;
-  }
-
-  std::cout << "sizeof(intmax_t) is " << sizeof(boost::intmax_t) << '\n';
-
-  fs::path p( argv[1], fs::native );
-
-  if ( !fs::exists( p ) )
-  {
-    std::cout << "not found: " << argv[1] << std::endl;
-    return 1;
-  }
-
-  if ( !fs::is_regular( p ) )
-  {
-    std::cout << "not a regular file: " << argv[1] << std::endl;
-    return 1;
-  }
- 
-  std::cout << "size of " << argv[1] << " is " << fs::file_size( p )
-    << std::endl;
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v2/example/mbcopy.cpp b/SRC/Boost/libs/filesystem/v2/example/mbcopy.cpp
deleted file mode 100755
index 800bbc8..0000000
--- a/SRC/Boost/libs/filesystem/v2/example/mbcopy.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-//  Boost.Filesystem mbcopy.cpp  ---------------------------------------------//
-
-//  Copyright Beman Dawes 2005
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  Copy the files in a directory, using mbpath to represent the new file names
-//  See http://../doc/path.htm#mbpath for more information
-
-#define BOOST_FILESYSTEM_VERSION 2
-
-//  See deprecated_test for tests of deprecated features
-#define BOOST_FILESYSTEM_NO_DEPRECATED
-
-#include <boost/filesystem/config.hpp>
-# ifdef BOOST_FILESYSTEM2_NARROW_ONLY
-#   error This compiler or standard library does not support wide-character strings or paths
-# endif
-
-#include "mbpath.hpp"
-#include <iostream>
-#include <boost/filesystem/operations.hpp>
-#include <boost/filesystem/fstream.hpp>
-#include <boost/filesystem/detail/utf8_codecvt_facet.hpp>
-
-namespace fs = boost::filesystem;
-
-namespace
-{
-  // we can't use boost::filesystem::copy_file() because the argument types
-  // differ, so provide a not-very-smart replacement.
-
-  void copy_file( const fs::wpath & from, const user::mbpath & to )
-  {
-    fs::ifstream from_file( from, std::ios_base::in | std::ios_base::binary );
-    if ( !from_file ) { std::cout << "input open failed\n"; return; }
-
-    fs::ofstream to_file( to, std::ios_base::out | std::ios_base::binary );
-    if ( !to_file ) { std::cout << "output open failed\n"; return; }
-
-    char c;
-    while ( from_file.get(c) )
-    {
-      to_file.put(c);
-      if ( to_file.fail() ) { std::cout << "write error\n"; return; }
-    }
-
-    if ( !from_file.eof() ) { std::cout << "read error\n"; }
-  }
-}
-
-int main( int argc, char * argv[] )
-{
-  if ( argc != 2 )
-  {
-    std::cout << "Copy files in the current directory to a target directory\n"
-              << "Usage: mbcopy <target-dir>\n";
-    return 1;
-  }
-
-  // For encoding, use Boost UTF-8 codecvt
-  std::locale global_loc = std::locale();
-  std::locale loc( global_loc, new fs::detail::utf8_codecvt_facet );
-  user::mbpath_traits::imbue( loc );
-
-  std::string target_string( argv[1] );
-  user::mbpath target_dir( user::mbpath_traits::to_internal( target_string ) );
-
-  if ( !fs::is_directory( target_dir ) )
-  {
-    std::cout << "Error: " << argv[1] << " is not a directory\n";
-    return 1;
-  }
-
-  for ( fs::wdirectory_iterator it( L"." );
-    it != fs::wdirectory_iterator(); ++it )
-  {
-    if ( fs::is_regular_file(it->status()) )
-    {
-      copy_file( *it, target_dir / it->path().filename() );
-    }
-  }
-
-  return 0;
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/filesystem/v2/example/mbpath.cpp b/SRC/Boost/libs/filesystem/v2/example/mbpath.cpp
deleted file mode 100755
index a25dfc9..0000000
--- a/SRC/Boost/libs/filesystem/v2/example/mbpath.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//  Boost.Filesystem mbpath.cpp  ---------------------------------------------//
-
-//  (c) Copyright Beman Dawes 2005
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See Boost.Filesystem home page at http://www.boost.org/libs/filesystem
-
-#define BOOST_FILESYSTEM_VERSION 2
-
-#include <boost/filesystem/config.hpp>
-# ifdef BOOST_FILESYSTEM2_NARROW_ONLY
-#   error This compiler or standard library does not support wide-character strings or paths
-# endif
-
-#include "mbpath.hpp"
-#include <boost/system/system_error.hpp>
-#include <boost/scoped_array.hpp>
-
-namespace fs = boost::filesystem;
-
-namespace
-{
-  // ISO C calls this "the locale-specific native environment":
-  std::locale loc("");
-
-  const std::codecvt<wchar_t, char, std::mbstate_t> *
-    cvt( &std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t> >
-           ( loc ) );
-}
-
-namespace user
-{
-  mbpath_traits::external_string_type
-  mbpath_traits::to_external( const mbpath & ph,
-    const internal_string_type & src )
-  {
-    std::size_t work_size( cvt->max_length() * (src.size()+1) );
-    boost::scoped_array<char> work( new char[ work_size ] );
-    std::mbstate_t state;
-    const internal_string_type::value_type * from_next;
-    external_string_type::value_type * to_next;
-    if ( cvt->out( 
-      state, src.c_str(), src.c_str()+src.size(), from_next, work.get(),
-      work.get()+work_size, to_next ) != std::codecvt_base::ok )
-      boost::throw_exception<fs::basic_filesystem_error<mbpath> >(
-        fs::basic_filesystem_error<mbpath>(
-          "user::mbpath::to_external conversion error",
-          ph, boost::system::error_code( EINVAL, boost::system::errno_ecat ) ) );
-    *to_next = '\0';
-    return external_string_type( work.get() );
-  }
-
-  mbpath_traits::internal_string_type 
-  mbpath_traits::to_internal( const external_string_type & src )
-  {
-      std::size_t work_size( src.size()+1 );
-      boost::scoped_array<wchar_t> work( new wchar_t[ work_size ] );
-      std::mbstate_t state;
-      const external_string_type::value_type * from_next;
-      internal_string_type::value_type * to_next;
-      if ( cvt->in( 
-        state, src.c_str(), src.c_str()+src.size(), from_next, work.get(),
-        work.get()+work_size, to_next ) != std::codecvt_base::ok )
-        boost::throw_exception<fs::basic_filesystem_error<mbpath> >(
-          fs::basic_filesystem_error<mbpath>(
-            "user::mbpath::to_internal conversion error",
-            boost::system::error_code( EINVAL, boost::system::errno_ecat ) ) );
-      *to_next = L'\0';
-      return internal_string_type( work.get() );
-  }
-
-  void mbpath_traits::imbue( const std::locale & new_loc )
-  {
-    loc = new_loc;
-    cvt = &std::use_facet
-      <std::codecvt<wchar_t, char, std::mbstate_t> >( loc );
-  }
-
-} // namespace user
diff --git a/SRC/Boost/libs/filesystem/v2/example/mbpath.hpp b/SRC/Boost/libs/filesystem/v2/example/mbpath.hpp
deleted file mode 100755
index 688aede..0000000
--- a/SRC/Boost/libs/filesystem/v2/example/mbpath.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  Boost.Filesystem mbpath.hpp  ---------------------------------------------//
-
-//  Copyright Beman Dawes 2005
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  Encodes wide character paths as MBCS
-//  See http://../doc/path.htm#mbpath for more information
-
-#include <boost/filesystem/path.hpp>
-#include <cwchar>     // for std::mbstate_t
-#include <string>
-#include <locale>
-
-namespace user
-{
-  struct mbpath_traits;
-  
-  typedef boost::filesystem::basic_path<std::wstring, mbpath_traits> mbpath;
-
-  struct mbpath_traits
-  {
-    typedef std::wstring internal_string_type;
-    typedef std::string external_string_type;
-
-    static external_string_type to_external( const mbpath & ph,
-      const internal_string_type & src );
-
-    static internal_string_type to_internal( const external_string_type & src );
-
-    static void imbue( const std::locale & loc );
-  };
-} // namespace user
-
-namespace boost
-{
-  namespace filesystem2
-  {
-    template<> struct is_basic_path<user::mbpath>
-      { static const bool value = true; };
-  }
-}
diff --git a/SRC/Boost/libs/filesystem/v2/example/path_table.cpp b/SRC/Boost/libs/filesystem/v2/example/path_table.cpp
deleted file mode 100755
index a25cf56..0000000
--- a/SRC/Boost/libs/filesystem/v2/example/path_table.cpp
+++ /dev/null
@@ -1,264 +0,0 @@
-//  Generate an HTML table showing path decomposition  -----------------------//
-
-//  Copyright Beman Dawes 2005.  Distributed under the Boost
-//  Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/filesystem for documentation.
-
-//  For purposes of generating the table, support both POSIX and Windows paths
-#define BOOST_FILESYSTEM_NAMESPACE posix
-#define BOOST_POSIX_PATH
-#include "boost/filesystem/path.hpp"
-
-#undef BOOST_FILESYSTEM_PATH_HPP
-#undef BOOST_FILESYSTEM_NAMESPACE
-#define BOOST_FILESYSTEM_NAMESPACE windows
-#define BOOST_WINDOWS_PATH
-#include "boost/filesystem/path.hpp"
-
-namespace pos = boost::posix;
-namespace win = boost::windows;
-
-#include <iostream>
-#include <fstream>
-
-using std::string;
-using std::cout;
-
-namespace
-{
-  std::ifstream infile;
-  std::ofstream outfile;
-
-  const string empty_string;
-
-  struct column_abc
-  {
-    virtual string heading() const = 0;
-    virtual string cell_value( const pos::path & p ) const = 0;
-    virtual string cell_value( const win::path & p ) const = 0;
-  };
-
-  struct c0 : public column_abc
-  {
-    string heading() const { return string("<code>string()</code>"); }
-    string cell_value( const pos::path & p ) const
-    { 
-      return p.string();
-    }
-    string cell_value( const win::path & p ) const
-    {
-      return p.string();
-    }
-  } o0;
-
-    struct c1 : public column_abc
-  {
-    string heading() const { return string("<code>file_<br>string()"); }
-    string cell_value( const pos::path & p ) const { return p.file_string(); }
-    string cell_value( const win::path & p ) const { return p.file_string(); }
-  } o1;
-
-  struct c2 : public column_abc
-  {
-    string heading() const { return string("Elements found<br>by iteration"); }
-    string cell_value( const pos::path & p ) const
-    {
-      string s;
-      for( pos::path::iterator i(p.begin()); i != p.end(); ++i )
-      {
-        if ( i != p.begin() ) s += ',';
-        s += '\"';
-        s += *i;
-        s += '\"';
-      }
-      if ( s.empty() ) s += "\"\"";
-      return s;
-    }
-    string cell_value( const win::path & p ) const
-    {
-      string s;
-      for( win::path::iterator i(p.begin()); i != p.end(); ++i )
-      {
-        if ( i != p.begin() ) s += ',';
-        s += '\"';
-        s += *i;
-        s += '\"';
-      }
-      if ( s.empty() ) s += "\"\"";
-      return s;
-    }
-  } o2;
-
-  struct c3 : public column_abc
-  {
-    string heading() const { return string("<code>root_<br>path()<br>.string()</code>"); }
-    string cell_value( const pos::path & p ) const { return p.root_path().string(); }
-    string cell_value( const win::path & p ) const { return p.root_path().string(); }
-  } o3;
-
-  struct c4 : public column_abc
-  {
-    string heading() const { return string("<code>root_<br>name()</code>"); }
-    string cell_value( const pos::path & p ) const { return p.root_name(); }
-    string cell_value( const win::path & p ) const { return p.root_name(); }
-  } o4;
-
-  struct c5 : public column_abc
-  {
-    string heading() const { return string("<code>root_<br>directory()</code>"); }
-    string cell_value( const pos::path & p ) const { return p.root_directory(); }
-    string cell_value( const win::path & p ) const { return p.root_directory(); }
-  } o5;
-
-  struct c6 : public column_abc
-  {
-    string heading() const { return string("<code>relative_<br>path()<br>.string()</code>"); }
-    string cell_value( const pos::path & p ) const { return p.relative_path().string(); }
-    string cell_value( const win::path & p ) const { return p.relative_path().string(); }
-  } o6;
-
-  struct c7 : public column_abc
-  {
-    string heading() const { return string("<code>branch_<br>path()<br>.string()</code>"); }
-    string cell_value( const pos::path & p ) const { return p.branch_path().string(); }
-    string cell_value( const win::path & p ) const { return p.branch_path().string(); }
-  } o7;
-
-  struct c8 : public column_abc
-  {
-    string heading() const { return string("<code>leaf()</code>"); }
-    string cell_value( const pos::path & p ) const { return p.leaf(); }
-    string cell_value( const win::path & p ) const { return p.leaf(); }
-  } o8;
-
-  const column_abc * column[] = { &o2, &o0, &o1, &o3, &o4, &o5, &o6, &o7, &o8 };
-
-  //  do_cell  ---------------------------------------------------------------//
-
-  void do_cell( const string & test_case, int i )
-  {
-
-    string posix_result( column[i]->cell_value( pos::path(test_case) ) );
-    string windows_result( column[i]->cell_value( win::path(test_case) ) );
-
-    outfile <<
-      (posix_result != windows_result
-        ? "<td bgcolor=\"#CCFF99\"><code>"
-        : "<td><code>");
-
-    if ( posix_result.empty() || posix_result[0] != '\"' )
-      outfile << '\"' << posix_result << '\"';
-    else
-      outfile << posix_result;
-
-    if ( posix_result != windows_result )
-    {
-      outfile << "<br>";
-      if ( windows_result.empty() || windows_result[0] != '\"' )
-        outfile << '\"' << windows_result << '\"';
-      else
-        outfile << windows_result;
-    }
-
-    outfile << "</code></td>\n";
-  }
-
-//  do_row  ------------------------------------------------------------------//
-
-  void do_row( const string & test_case )
-  {
-    outfile << "<tr>\n<td><code>\"" << test_case << "\"</code></td>\n";
-
-    for ( int i = 0; i < sizeof(column)/sizeof(column_abc&); ++i )
-    {
-      do_cell( test_case, i );
-    }
-
-    outfile << "</tr>\n";
-  }
-
-//  do_table  ----------------------------------------------------------------//
-
-  void do_table()
-  {
-    outfile <<
-      "<h1>Path Decomposition Table for <i>POSIX</i> and <i>Windows</i></h1>\n"
-      "<p>Shaded entries indicate cases where <i>POSIX</i> and <i>Windows</i>\n"
-      "implementations yield different results. The top value is the\n"
-      "<i>POSIX</i> result and the bottom value is the <i>Windows</i> result.\n" 
-      "<table border=\"1\" cellspacing=\"0\" cellpadding=\"5\">\n"
-      "<p>\n"
-      ;
-
-    // generate the column headings
-
-    outfile << "<tr><td><b>Constructor<br>argument</b></td>\n";
-
-    for ( int i = 0; i < sizeof(column)/sizeof(column_abc&); ++i )
-    {
-      outfile << "<td><b>" << column[i]->heading() << "</b></td>\n";
-    }
-
-    outfile << "</tr>\n";
-
-    // generate a row for each input line
-
-    string test_case;
-    while ( std::getline( infile, test_case ) )
-    {
-      do_row( test_case );
-    }
-
-    outfile << "</table>\n";
-  }
-
-} // unnamed namespace
-
-//  main  --------------------------------------------------------------------//
-
-#define BOOST_NO_CPP_MAIN_SUCCESS_MESSAGE
-#include <boost/test/included/prg_exec_monitor.hpp>
-
-int cpp_main( int argc, char * argv[] ) // note name!
-{
-  if ( argc != 3 )
-  {
-    std::cerr <<
-      "Usage: path_table input-file output-file\n"
-      "  input-file contains the paths to appear in the table.\n"
-      "  output-file will contain the generated HTML.\n"
-      ;
-    return 1;
-  }
-
-  infile.open( argv[1] );
-  if ( !infile )
-  {
-    std::cerr << "Could not open input file: " << argv[1] << std::endl;
-    return 1;
-  }
-
-  outfile.open( argv[2] );
-  if ( !outfile )
-  {
-    std::cerr << "Could not open output file: " << argv[2] << std::endl;
-    return 1;
-  }
-
-  outfile << "<html>\n"
-          "<head>\n"
-          "<title>Path Decomposition Table</title>\n"
-          "</head>\n"
-          "<body bgcolor=\"#ffffff\" text=\"#000000\">\n"
-          ;
-
-  do_table();
-
-  outfile << "</body>\n"
-          "</html>\n"
-          ;
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v2/example/simple_ls.cpp b/SRC/Boost/libs/filesystem/v2/example/simple_ls.cpp
deleted file mode 100755
index 171844a..0000000
--- a/SRC/Boost/libs/filesystem/v2/example/simple_ls.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-//  simple_ls program  -------------------------------------------------------//
-
-//  Copyright Jeff Garland and Beman Dawes, 2002
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/filesystem for documentation.
-
-#define BOOST_FILESYSTEM_VERSION 2
-
-//  As an example program, we don't want to use any deprecated features
-#define BOOST_FILESYSTEM_NO_DEPRECATED
-
-#include "boost/filesystem/operations.hpp"
-#include "boost/filesystem/path.hpp"
-#include "boost/progress.hpp"
-#include <iostream>
-
-namespace fs = boost::filesystem;
-
-int main( int argc, char* argv[] )
-{
-  boost::progress_timer t( std::clog );
-
-  fs::path full_path( fs::initial_path<fs::path>() );
-
-  if ( argc > 1 )
-    full_path = fs::system_complete( fs::path( argv[1] ) );
-  else
-    std::cout << "\nusage:   simple_ls [path]" << std::endl;
-
-  unsigned long file_count = 0;
-  unsigned long dir_count = 0;
-  unsigned long other_count = 0;
-  unsigned long err_count = 0;
-
-  if ( !fs::exists( full_path ) )
-  {
-    std::cout << "\nNot found: " << full_path.file_string() << std::endl;
-    return 1;
-  }
-
-  if ( fs::is_directory( full_path ) )
-  {
-    std::cout << "\nIn directory: "
-              << full_path.directory_string() << "\n\n";
-    fs::directory_iterator end_iter;
-    for ( fs::directory_iterator dir_itr( full_path );
-          dir_itr != end_iter;
-          ++dir_itr )
-    {
-      try
-      {
-        if ( fs::is_directory( dir_itr->status() ) )
-        {
-          ++dir_count;
-          std::cout << dir_itr->path().filename() << " [directory]\n";
-        }
-        else if ( fs::is_regular_file( dir_itr->status() ) )
-        {
-          ++file_count;
-          std::cout << dir_itr->path().filename() << "\n";
-        }
-        else
-        {
-          ++other_count;
-          std::cout << dir_itr->path().filename() << " [other]\n";
-        }
-
-      }
-      catch ( const std::exception & ex )
-      {
-        ++err_count;
-        std::cout << dir_itr->path().filename() << " " << ex.what() << std::endl;
-      }
-    }
-    std::cout << "\n" << file_count << " files\n"
-              << dir_count << " directories\n"
-              << other_count << " others\n"
-              << err_count << " errors\n";
-  }
-  else // must be a file
-  {
-    std::cout << "\nFound: " << full_path.file_string() << "\n";    
-  }
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v2/src/v2_operations.cpp b/SRC/Boost/libs/filesystem/v2/src/v2_operations.cpp
deleted file mode 100755
index 919dd43..0000000
--- a/SRC/Boost/libs/filesystem/v2/src/v2_operations.cpp
+++ /dev/null
@@ -1,1375 +0,0 @@
-//  operations.cpp  ----------------------------------------------------------//
-
-//  Copyright 2002-2005 Beman Dawes
-//  Copyright 2001 Dietmar Kuehl
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
-//  at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//----------------------------------------------------------------------------// 
-
-// define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_FILESYSTEM_SOURCE
-
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#define _POSIX_PTHREAD_SEMANTICS  // Sun readdir_r() needs this
-
-#if !(defined(__HP_aCC) && defined(_ILP32) && \
-      !defined(_STATVFS_ACPP_PROBLEMS_FIXED))
-#define _FILE_OFFSET_BITS 64 // at worst, these defines may have no effect,
-#endif
-#define __USE_FILE_OFFSET64 // but that is harmless on Windows and on POSIX
-      // 64-bit systems or on 32-bit systems which don't have files larger 
-      // than can be represented by a traditional POSIX/UNIX off_t type. 
-      // OTOH, defining them should kick in 64-bit off_t's (and thus 
-      // st_size) on 32-bit systems that provide the Large File
-      // Support (LFS) interface, such as Linux, Solaris, and IRIX.
-      // The defines are given before any headers are included to
-      // ensure that they are available to all included headers.
-      // That is required at least on Solaris, and possibly on other
-      // systems as well.
-
-// for some compilers (CodeWarrior, for example), windows.h
-// is getting included by some other boost header, so do this early:
-#if !defined(_WIN32_WINNT)
-#define _WIN32_WINNT 0x0500 // Default to Windows 2K or later
-#endif
-
-
-#include <boost/filesystem/v2/operations.hpp>
-#include <boost/scoped_array.hpp>
-#include <boost/assert.hpp>
-#include <boost/detail/workaround.hpp>
-#include <cstdlib>  // for malloc, free
-
-namespace fs = boost::filesystem2;
-using boost::system::error_code;
-using boost::system::system_category;
-
-# if defined(BOOST_WINDOWS_API)
-#   include <windows.h>
-#   include <ctime>  // for time_t
-
-# else // BOOST_POSIX_API
-#   include <sys/types.h>
-#   if !defined(__APPLE__) && !defined(__OpenBSD__)
-#     include <sys/statvfs.h>
-#     define BOOST_STATVFS statvfs
-#     define BOOST_STATVFS_F_FRSIZE vfs.f_frsize
-#   else
-#ifdef __OpenBSD__
-#     include <sys/param.h>
-#endif
-#     include <sys/mount.h>
-#     define BOOST_STATVFS statfs
-#     define BOOST_STATVFS_F_FRSIZE static_cast<boost::uintmax_t>( vfs.f_bsize )
-#   endif
-#   include <dirent.h>
-#   include <unistd.h>
-#   include <fcntl.h>
-#   include <utime.h>
-#   include "limits.h"
-# endif
-
-//  BOOST_FILESYSTEM_STATUS_CACHE enables file_status cache in
-//  dir_itr_increment. The config tests are placed here because some of the
-//  macros being tested come from dirent.h.
-//
-// TODO: find out what macros indicate dirent::d_type present in more libraries
-# if defined(BOOST_WINDOWS_API) \
-  || (defined(_DIRENT_HAVE_D_TYPE) /* defined by GNU C library if d_type present */ \
-    && !(defined(__SUNPRO_CC) && !defined(__sun)))  // _DIRENT_HAVE_D_TYPE wrong for Sun compiler on Linux
-#   define BOOST_FILESYSTEM_STATUS_CACHE
-# endif
-
-#include <sys/stat.h>  // even on Windows some functions use stat()
-#include <string>
-#include <cstring>
-#include <cstdio>      // for remove, rename
-#include <cerrno>
-// #include <iostream>    // for debugging only; comment out when not in use
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std { using ::strcmp; using ::remove; using ::rename; }
-#endif
-
-//  helpers  -----------------------------------------------------------------//
-
-namespace
-{
-  const error_code ok;
-
-  bool is_empty_directory( const std::string & dir_path )
-  {
-    static const fs::directory_iterator end_itr;
-    return fs::directory_iterator(fs::path(dir_path)) == end_itr;
-  }
-
-#ifdef BOOST_WINDOWS_API
-  
-// For Windows, the xxxA form of various function names is used to avoid
-// inadvertently getting wide forms of the functions. (The undecorated
-// forms are actually macros, so can misfire if the user has various
-// other macros defined. There was a bug report of this happening.)
-
-  inline DWORD get_file_attributes( const char * ph )
-    { return ::GetFileAttributesA( ph ); }
-
-# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-  inline DWORD get_file_attributes( const wchar_t * ph )
-    { return ::GetFileAttributesW( ph ); }
-
-  bool is_empty_directory( const std::wstring & dir_path )
-  {
-    static const fs::wdirectory_iterator wend_itr;
-    return fs::wdirectory_iterator(fs::wpath(dir_path)) == wend_itr;
-  }
-
-  inline BOOL get_file_attributes_ex( const wchar_t * ph,
-    WIN32_FILE_ATTRIBUTE_DATA & fad )
-  { return ::GetFileAttributesExW( ph, ::GetFileExInfoStandard, &fad ); }
-      
-  HANDLE create_file( const wchar_t * ph, DWORD dwDesiredAccess,
-    DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-    DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes,
-    HANDLE hTemplateFile )
-  {
-    return ::CreateFileW( ph, dwDesiredAccess, dwShareMode,
-      lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes,
-      hTemplateFile );
-  }
-
-  inline DWORD get_current_directory( DWORD sz, wchar_t * buf )
-    { return ::GetCurrentDirectoryW( sz, buf ); } 
-
-  inline bool set_current_directory( const wchar_t * buf )
-    { return ::SetCurrentDirectoryW( buf ) != 0 ; } 
-
-  inline bool get_free_disk_space( const std::wstring & ph,
-    PULARGE_INTEGER avail, PULARGE_INTEGER total, PULARGE_INTEGER free )
-    { return ::GetDiskFreeSpaceExW( ph.c_str(), avail, total, free ) != 0; }
-
-  inline std::size_t get_full_path_name(
-    const std::wstring & ph, std::size_t len, wchar_t * buf, wchar_t ** p )
-  {
-    return static_cast<std::size_t>(
-      ::GetFullPathNameW( ph.c_str(),
-        static_cast<DWORD>(len), buf, p ));
-  } 
-
-  inline bool remove_directory( const std::wstring & ph )
-    { return ::RemoveDirectoryW( ph.c_str() ) != 0; }
-
-  inline bool delete_file( const std::wstring & ph )
-    { return ::DeleteFileW( ph.c_str() ) != 0; }
-
-  inline bool create_directory( const std::wstring & dir )
-    {  return ::CreateDirectoryW( dir.c_str(), 0 ) != 0; }
-
-#if _WIN32_WINNT >= 0x500
-  inline bool create_hard_link( const std::wstring & to_ph,
-    const std::wstring & from_ph )
-    {  return ::CreateHardLinkW( from_ph.c_str(), to_ph.c_str(), 0 ) != 0; }
-#endif
-  
-# endif // ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-  template< class String >
-  fs::file_status status_template( const String & ph, error_code & ec )
-  {
-    DWORD attr( get_file_attributes( ph.c_str() ) );
-    if ( attr == 0xFFFFFFFF )
-    {
-      ec = error_code( ::GetLastError(), system_category() );
-      if ((ec.value() == ERROR_FILE_NOT_FOUND)
-        || (ec.value() == ERROR_PATH_NOT_FOUND)
-        || (ec.value() == ERROR_INVALID_NAME) // "tools/jam/src/:sys:stat.h", "//foo"
-        || (ec.value() == ERROR_INVALID_DRIVE) // USB card reader with no card inserted
-        || (ec.value() == ERROR_NOT_READY) // CD/DVD drive with no disc inserted
-        || (ec.value() == ERROR_INVALID_PARAMETER) // ":sys:stat.h"
-        || (ec.value() == ERROR_BAD_PATHNAME) // "//nosuch" on Win64
-        || (ec.value() == ERROR_BAD_NETPATH)) // "//nosuch" on Win32
-      {
-        ec = ok; // these are not considered errors;
-                           // the status is considered not found
-        return fs::file_status( fs::file_not_found );
-      }
-      else if ((ec.value() == ERROR_SHARING_VIOLATION))
-      {
-        ec = ok; // these are not considered errors;
-                           // the file exists but the type is not known 
-        return fs::file_status( fs::type_unknown );
-      }
-      return fs::file_status( fs::status_unknown );
-    }
-    ec = ok;;
-    return (attr & FILE_ATTRIBUTE_DIRECTORY)
-      ? fs::file_status( fs::directory_file )
-      : fs::file_status( fs::regular_file );
-  }
-
-  BOOL get_file_attributes_ex( const char * ph,
-    WIN32_FILE_ATTRIBUTE_DATA & fad )
-  { return ::GetFileAttributesExA( ph, ::GetFileExInfoStandard, &fad ); }
-
-  template< class String >
-  boost::filesystem2::detail::query_pair
-  is_empty_template( const String & ph )
-  {
-    WIN32_FILE_ATTRIBUTE_DATA fad;
-    if ( get_file_attributes_ex( ph.c_str(), fad ) == 0 )
-      return std::make_pair( error_code( ::GetLastError(), system_category() ), false );    
-    return std::make_pair( ok,
-      ( fad.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
-        ? is_empty_directory( ph )
-        :( !fad.nFileSizeHigh && !fad.nFileSizeLow ) );
-  }
-
-  HANDLE create_file( const char * ph, DWORD dwDesiredAccess,
-    DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-    DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes,
-    HANDLE hTemplateFile )
-  {
-    return ::CreateFileA( ph, dwDesiredAccess, dwShareMode,
-      lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes,
-      hTemplateFile );
-  }
-
-  // Thanks to Jeremy Maitin-Shepard for much help and for permission to
-  // base the equivalent() implementation on portions of his 
-  // file-equivalence-win32.cpp experimental code.
-  struct handle_wrapper
-  {
-    HANDLE handle;
-    handle_wrapper( HANDLE h )
-      : handle(h) {}
-    ~handle_wrapper()
-    {
-      if ( handle != INVALID_HANDLE_VALUE )
-        ::CloseHandle(handle);
-    }
-  };
-
-  template< class String >
-  boost::filesystem2::detail::query_pair
-  equivalent_template( const String & ph1, const String & ph2 )
-  {
-    // Note well: Physical location on external media is part of the
-    // equivalence criteria. If there are no open handles, physical location
-    // can change due to defragmentation or other relocations. Thus handles
-    // must be held open until location information for both paths has
-    // been retrieved.
-    handle_wrapper p1(
-      create_file(
-          ph1.c_str(),
-          0,
-          FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE,
-          0,
-          OPEN_EXISTING,
-          FILE_FLAG_BACKUP_SEMANTICS,
-          0 ) );
-    int error1(0); // save error code in case we have to throw
-    if ( p1.handle == INVALID_HANDLE_VALUE )
-      error1 = ::GetLastError();
-    handle_wrapper p2(
-      create_file(
-          ph2.c_str(),
-          0,
-          FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE,
-          0,
-          OPEN_EXISTING,
-          FILE_FLAG_BACKUP_SEMANTICS,
-          0 ) );
-    if ( p1.handle == INVALID_HANDLE_VALUE
-      || p2.handle == INVALID_HANDLE_VALUE )
-    {
-      if ( p1.handle != INVALID_HANDLE_VALUE
-        || p2.handle != INVALID_HANDLE_VALUE )
-        { return std::make_pair( ok, false ); }
-      BOOST_ASSERT( p1.handle == INVALID_HANDLE_VALUE
-        && p2.handle == INVALID_HANDLE_VALUE );
-        { return std::make_pair( error_code( error1, system_category()), false ); }
-    }
-    // at this point, both handles are known to be valid
-    BY_HANDLE_FILE_INFORMATION info1, info2;
-    if ( !::GetFileInformationByHandle( p1.handle, &info1 ) )
-      { return std::make_pair( error_code( ::GetLastError(), system_category() ), false ); }
-    if ( !::GetFileInformationByHandle( p2.handle, &info2 ) )
-      { return std::make_pair( error_code( ::GetLastError(), system_category() ), false ); }
-    // In theory, volume serial numbers are sufficient to distinguish between
-    // devices, but in practice VSN's are sometimes duplicated, so last write
-    // time and file size are also checked.
-      return std::make_pair( ok,
-        info1.dwVolumeSerialNumber == info2.dwVolumeSerialNumber
-        && info1.nFileIndexHigh == info2.nFileIndexHigh
-        && info1.nFileIndexLow == info2.nFileIndexLow
-        && info1.nFileSizeHigh == info2.nFileSizeHigh
-        && info1.nFileSizeLow == info2.nFileSizeLow
-        && info1.ftLastWriteTime.dwLowDateTime
-          == info2.ftLastWriteTime.dwLowDateTime
-        && info1.ftLastWriteTime.dwHighDateTime
-          == info2.ftLastWriteTime.dwHighDateTime );
-  }
-
-  template< class String >
-  boost::filesystem2::detail::uintmax_pair
-  file_size_template( const String & ph )
-  {
-    WIN32_FILE_ATTRIBUTE_DATA fad;
-    // by now, intmax_t is 64-bits on all Windows compilers
-    if ( get_file_attributes_ex( ph.c_str(), fad ) == 0 )
-      return std::make_pair( error_code( ::GetLastError(), system_category() ), 0 );    
-    if ( (fad.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) !=0 )
-      return std::make_pair( error_code( ERROR_FILE_NOT_FOUND, system_category()), 0 );
-    return std::make_pair( ok,
-      (static_cast<boost::uintmax_t>(fad.nFileSizeHigh)
-        << (sizeof(fad.nFileSizeLow)*8))
-      + fad.nFileSizeLow );
-  }
-
-  inline bool get_free_disk_space( const std::string & ph,
-    PULARGE_INTEGER avail, PULARGE_INTEGER total, PULARGE_INTEGER free )
-    { return ::GetDiskFreeSpaceExA( ph.c_str(), avail, total, free ) != 0; }
-
-  template< class String >
-  boost::filesystem2::detail::space_pair
-  space_template( String & ph )
-  {
-    ULARGE_INTEGER avail, total, free;
-    boost::filesystem2::detail::space_pair result;
-    if ( get_free_disk_space( ph, &avail, &total, &free ) )
-    {
-      result.first = ok;
-      result.second.capacity
-        = (static_cast<boost::uintmax_t>(total.HighPart) << 32)
-          + total.LowPart;
-      result.second.free
-        = (static_cast<boost::uintmax_t>(free.HighPart) << 32)
-          + free.LowPart;
-      result.second.available
-        = (static_cast<boost::uintmax_t>(avail.HighPart) << 32)
-          + avail.LowPart;
-    }
-    else
-    {
-      result.first = error_code( ::GetLastError(), system_category() );
-      result.second.capacity = result.second.free
-        = result.second.available = 0;
-    }
-    return result;
-  }
-
-  inline DWORD get_current_directory( DWORD sz, char * buf )
-    { return ::GetCurrentDirectoryA( sz, buf ); } 
-
-  template< class String >
-  error_code
-  get_current_path_template( String & ph )
-  {
-    DWORD sz;
-    if ( (sz = get_current_directory( 0,
-      static_cast<typename String::value_type*>(0) )) == 0 )
-      { sz = 1; }
-    typedef typename String::value_type value_type;
-    boost::scoped_array<value_type> buf( new value_type[sz] );
-    if ( get_current_directory( sz, buf.get() ) == 0 )
-      return error_code( ::GetLastError(), system_category() );
-    ph = buf.get();
-    return ok;
-  }
-
-  inline bool set_current_directory( const char * buf )
-    { return ::SetCurrentDirectoryA( buf ) != 0; } 
-
-  template< class String >
-  error_code
-  set_current_path_template( const String & ph )
-  {
-    return error_code( set_current_directory( ph.c_str() )
-      ? 0 : ::GetLastError(), system_category() );
-  }
-
-  inline std::size_t get_full_path_name(
-    const std::string & ph, std::size_t len, char * buf, char ** p )
-  {
-    return static_cast<std::size_t>(
-      ::GetFullPathNameA( ph.c_str(),
-        static_cast<DWORD>(len), buf, p ));
-  } 
-
-  const std::size_t buf_size( 128 );
-
-  template<class String>
-  error_code
-  get_full_path_name_template( const String & ph, String & target )
-  {
-    typename String::value_type buf[buf_size];
-    typename String::value_type * pfn;
-    std::size_t len = get_full_path_name( ph,
-      buf_size , buf, &pfn );
-    if ( len == 0 ) return error_code( ::GetLastError(), system_category() );
-    if ( len > buf_size )
-    {
-      typedef typename String::value_type value_type;
-      boost::scoped_array<value_type> big_buf( new value_type[len] );
-      if ( (len=get_full_path_name( ph, len , big_buf.get(), &pfn ))
-        == 0 ) return error_code( ::GetLastError(), system_category() );
-      big_buf[len] = '\0';
-      target = big_buf.get();
-      return ok;
-    }
-    buf[len] = '\0';
-    target = buf;
-    return ok;
-  }
-
-  template<class String>
-  error_code
-  get_file_write_time( const String & ph, FILETIME & last_write_time )
-  {
-    handle_wrapper hw(
-      create_file( ph.c_str(), 0,
-        FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
-        OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ) );
-    if ( hw.handle == INVALID_HANDLE_VALUE )
-      return error_code( ::GetLastError(), system_category() );
-    return error_code( ::GetFileTime( hw.handle, 0, 0, &last_write_time ) != 0
-      ? 0 : ::GetLastError(), system_category() );
-  }
-
-  template<class String>
-  error_code
-  set_file_write_time( const String & ph, const FILETIME & last_write_time )
-  {
-    handle_wrapper hw(
-      create_file( ph.c_str(), FILE_WRITE_ATTRIBUTES,
-        FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
-        OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ) );
-    if ( hw.handle == INVALID_HANDLE_VALUE )
-      return error_code( ::GetLastError(), system_category() );
-    return error_code( ::SetFileTime( hw.handle, 0, 0, &last_write_time ) != 0
-      ? 0 : ::GetLastError(), system_category() );
-  }
-
-  // these constants come from inspecting some Microsoft sample code
-  std::time_t to_time_t( const FILETIME & ft )
-  {
-    __int64 t = (static_cast<__int64>( ft.dwHighDateTime ) << 32)
-      + ft.dwLowDateTime;
-# if !defined( BOOST_MSVC ) || BOOST_MSVC > 1300 // > VC++ 7.0
-    t -= 116444736000000000LL;
-# else
-    t -= 116444736000000000;
-# endif
-    t /= 10000000;
-    return static_cast<std::time_t>( t );
-  }
-
-  void to_FILETIME( std::time_t t, FILETIME & ft )
-  {
-    __int64 temp = t;
-    temp *= 10000000;
-# if !defined( BOOST_MSVC ) || BOOST_MSVC > 1300 // > VC++ 7.0
-    temp += 116444736000000000LL;
-# else
-    temp += 116444736000000000;
-# endif
-    ft.dwLowDateTime = static_cast<DWORD>( temp );
-    ft.dwHighDateTime = static_cast<DWORD>( temp >> 32 );
-  }
-
-  template<class String>
-  boost::filesystem2::detail::time_pair
-  last_write_time_template( const String & ph )
-  {
-    FILETIME lwt;
-    error_code ec(
-      get_file_write_time( ph, lwt ) );
-    return std::make_pair( ec, to_time_t( lwt ) );
-  }
-
-  template<class String>
-  error_code
-  last_write_time_template( const String & ph, const std::time_t new_time )
-  {
-    FILETIME lwt;
-    to_FILETIME( new_time, lwt );
-    return set_file_write_time( ph, lwt );
-  }
-
-  bool remove_directory( const std::string & ph )
-    { return ::RemoveDirectoryA( ph.c_str() ) != 0; }
-  
-  bool delete_file( const std::string & ph )
-    { return ::DeleteFileA( ph.c_str() ) != 0; }
-  
-  template<class String>
-  error_code
-  remove_template( const String & ph )
-  {
-    // TODO: test this code in the presence of Vista symlinks,
-    // including dangling, self-referal, and cyclic symlinks
-    error_code ec;
-    fs::file_status sf( fs::detail::status_api( ph, ec ) );
-    if ( ec ) 
-      return ec;
-    if ( sf.type() == fs::file_not_found )
-      return ok;
-    if ( fs::is_directory( sf ) )
-    {
-      if ( !remove_directory( ph ) )
-        return error_code(::GetLastError(), system_category());
-    }
-    else
-    {
-      if ( !delete_file( ph ) ) return error_code(::GetLastError(), system_category());
-    }
-    return ok;
-  }
-
-  inline bool create_directory( const std::string & dir )
-    {  return ::CreateDirectoryA( dir.c_str(), 0 ) != 0; }
-         
-  template<class String>
-  boost::filesystem2::detail::query_pair
-  create_directory_template( const String & dir_ph )
-  {
-    error_code error, dummy;
-    if ( create_directory( dir_ph ) ) return std::make_pair( error, true );
-    error = error_code( ::GetLastError(), system_category() );
-    // an error here may simply mean the postcondition is already met
-    if ( error.value() == ERROR_ALREADY_EXISTS
-      && fs::is_directory( fs::detail::status_api( dir_ph, dummy ) ) )
-      return std::make_pair( ok, false );
-    return std::make_pair( error, false );
-  }
-
-#if _WIN32_WINNT >= 0x500
-  inline bool create_hard_link( const std::string & to_ph,
-    const std::string & from_ph )
-    {  return ::CreateHardLinkA( from_ph.c_str(), to_ph.c_str(), 0 ) != 0; }
-#endif
-  
-#if _WIN32_WINNT >= 0x500
-  template<class String>
-  error_code
-  create_hard_link_template( const String & to_ph,
-    const String & from_ph )
-  {
-    return error_code( create_hard_link( to_ph.c_str(), from_ph.c_str() )
-      ? 0 : ::GetLastError(), system_category() );
-  }
-#endif
-
-#else // BOOST_POSIX_API
-
-  int posix_remove( const char * p )
-  {
-#     if defined(__QNXNTO__) || (defined(__MSL__) && (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)))
-        // Some Metrowerks C library versions fail on directories because of a
-        // known Metrowerks coding error in ::remove. Workaround is to call
-        // rmdir() or unlink() as indicated.
-        // Same bug also reported for QNX, with the same fix.
-        int err = ::unlink( p );
-        if ( err == 0 || errno != EPERM )
-          return err;
-        return ::rmdir( p );
-#     else
-        return std::remove( p );
-#     endif
-  }
-
-#endif
-} // unnamed namespace
-
-namespace boost
-{
-  namespace filesystem2
-  {
-    namespace detail
-    {
-      BOOST_FILESYSTEM_DECL system::error_code throws;
-
-//  free functions  ----------------------------------------------------------//
-
-      BOOST_FILESYSTEM_DECL error_code not_found_error()
-      {
-#     ifdef BOOST_WINDOWS_API
-        return error_code(ERROR_PATH_NOT_FOUND, system_category());
-#     else
-        return error_code(ENOENT, system_category()); 
-#     endif
-      }
-
-      BOOST_FILESYSTEM_DECL bool possible_large_file_size_support()
-      {
-#   ifdef BOOST_POSIX_API
-        struct stat lcl_stat;
-        return sizeof( lcl_stat.st_size ) > 4;
-#   else
-        return true;
-#   endif
-      }
-
-#   ifdef BOOST_WINDOWS_API
-
-      BOOST_FILESYSTEM_DECL fs::file_status
-        status_api( const std::string & ph, error_code & ec )
-        { return status_template( ph, ec ); }
-
-#     ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-      BOOST_FILESYSTEM_DECL fs::file_status
-      status_api( const std::wstring & ph, error_code & ec )
-        { return status_template( ph, ec ); }
-
-      BOOST_FILESYSTEM_DECL bool symbolic_link_exists_api( const std::wstring & )
-        { return false; }
-
-      BOOST_FILESYSTEM_DECL
-      fs::detail::query_pair is_empty_api( const std::wstring & ph )
-        { return is_empty_template( ph ); }
-
-      BOOST_FILESYSTEM_DECL
-      fs::detail::query_pair
-      equivalent_api( const std::wstring & ph1, const std::wstring & ph2 )
-        { return equivalent_template( ph1, ph2 ); }
-
-      BOOST_FILESYSTEM_DECL
-      fs::detail::uintmax_pair file_size_api( const std::wstring & ph )
-        { return file_size_template( ph ); }
-
-      BOOST_FILESYSTEM_DECL
-      fs::detail::space_pair space_api( const std::wstring & ph )
-        { return space_template( ph ); }
-
-      BOOST_FILESYSTEM_DECL
-      error_code 
-      get_current_path_api( std::wstring & ph )
-        { return get_current_path_template( ph ); }
-
-      BOOST_FILESYSTEM_DECL
-      error_code 
-      set_current_path_api( const std::wstring & ph )
-        { return set_current_path_template( ph ); }
-
-      BOOST_FILESYSTEM_DECL error_code
-        get_full_path_name_api( const std::wstring & ph, std::wstring & target )
-         { return get_full_path_name_template( ph, target ); }
-
-      BOOST_FILESYSTEM_DECL time_pair
-        last_write_time_api( const std::wstring & ph )
-          { return last_write_time_template( ph ); }
- 
-      BOOST_FILESYSTEM_DECL error_code
-        last_write_time_api( const std::wstring & ph, std::time_t new_value )
-          { return last_write_time_template( ph, new_value ); }
-
-      BOOST_FILESYSTEM_DECL fs::detail::query_pair
-      create_directory_api( const std::wstring & ph )
-        { return create_directory_template( ph ); }
-
-#if _WIN32_WINNT >= 0x500
-      BOOST_FILESYSTEM_DECL error_code
-      create_hard_link_api( const std::wstring & to_ph,
-        const std::wstring & from_ph )
-        { return create_hard_link_template( to_ph, from_ph ); }
-#endif
-      
-      BOOST_FILESYSTEM_DECL error_code
-      create_symlink_api( const std::wstring & /*to_ph*/,
-        const std::wstring & /*from_ph*/ )
-        { return error_code( ERROR_NOT_SUPPORTED, system_category() ); }
-
-      BOOST_FILESYSTEM_DECL error_code
-      remove_api( const std::wstring & ph ) { return remove_template( ph ); }
-
-      BOOST_FILESYSTEM_DECL error_code
-      rename_api( const std::wstring & from, const std::wstring & to )
-      {
-        return error_code( ::MoveFileW( from.c_str(), to.c_str() )
-          ? 0 : ::GetLastError(), system_category() );
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      copy_file_api( const std::wstring & from, const std::wstring & to, bool fail_if_exists )
-      {
-        return error_code( ::CopyFileW( from.c_str(), to.c_str(), fail_if_exists )
-          ? 0 : ::GetLastError(), system_category() );
-      }
-
-      BOOST_FILESYSTEM_DECL bool create_file_api( const std::wstring & ph,
-        std::ios_base::openmode mode ) // true if succeeds
-      {
-        DWORD access(
-          ((mode & std::ios_base::in) == 0 ? 0 : GENERIC_READ)
-          | ((mode & std::ios_base::out) == 0 ? 0 : GENERIC_WRITE) );
-
-        DWORD disposition(0); // see 27.8.1.3 Table 92
-        if ( (mode&~std::ios_base::binary)
-          == (std::ios_base::out|std::ios_base::app) )
-          disposition = OPEN_ALWAYS;
-        else if ( (mode&~(std::ios_base::binary|std::ios_base::out))
-          == std::ios_base::in ) disposition = OPEN_EXISTING;
-        else if ( ((mode&~(std::ios_base::binary|std::ios_base::trunc))
-          == std::ios_base::out )
-          || ((mode&~std::ios_base::binary)
-          == (std::ios_base::in|std::ios_base::out|std::ios_base::trunc)) )
-          disposition = CREATE_ALWAYS;
-        else BOOST_ASSERT( 0 && "invalid mode argument" );
-
-        HANDLE handle ( ::CreateFileW( ph.c_str(), access,
-          FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
-          disposition, (mode &std::ios_base::out) != 0
-          ? FILE_ATTRIBUTE_ARCHIVE : FILE_ATTRIBUTE_NORMAL, 0 ) );
-        if ( handle == INVALID_HANDLE_VALUE ) return false;
-        ::CloseHandle( handle );
-        return true;
-      }
-
-      BOOST_FILESYSTEM_DECL std::string narrow_path_api(
-        const std::wstring & ph ) // return is empty if fails
-      {
-        std::string narrow_short_form;
-        std::wstring short_form;
-        for ( DWORD buf_sz( static_cast<DWORD>( ph.size()+1 ));; )
-        {
-          boost::scoped_array<wchar_t> buf( new wchar_t[buf_sz] );
-          DWORD sz( ::GetShortPathNameW( ph.c_str(), buf.get(), buf_sz ) );
-          if ( sz == 0 ) return narrow_short_form;
-          if ( sz <= buf_sz )
-          {
-            short_form += buf.get();
-            break;
-          }
-          buf_sz = sz + 1;
-        }
-        // contributed by Takeshi Mouri:
-        int narrow_sz( ::WideCharToMultiByte( CP_ACP, 0,
-          short_form.c_str(), static_cast<int>(short_form.size()), 0, 0, 0, 0 ) );
-        boost::scoped_array<char> narrow_buf( new char[narrow_sz] );
-        ::WideCharToMultiByte( CP_ACP, 0,
-          short_form.c_str(), static_cast<int>(short_form.size()),
-          narrow_buf.get(), narrow_sz, 0, 0 );
-        narrow_short_form.assign(narrow_buf.get(), narrow_sz);
-
-        return narrow_short_form;
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      dir_itr_first( void *& handle, const std::wstring & dir,
-        std::wstring & target, file_status & sf, file_status & symlink_sf )
-      {
-        // use a form of search Sebastian Martel reports will work with Win98
-        std::wstring dirpath( dir );
-        dirpath += (dirpath.empty()
-          || dirpath[dirpath.size()-1] != L'\\') ? L"\\*" : L"*";
-
-        WIN32_FIND_DATAW data;
-        if ( (handle = ::FindFirstFileW( dirpath.c_str(), &data ))
-          == INVALID_HANDLE_VALUE )
-        { 
-          handle = 0;
-          return error_code( ::GetLastError() == ERROR_FILE_NOT_FOUND
-            ? 0 : ::GetLastError(), system_category() );
-        }
-        target = data.cFileName;
-        if ( data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
-          { sf.type( directory_file ); symlink_sf.type( directory_file ); }
-        else { sf.type( regular_file ); symlink_sf.type( regular_file ); }
-        return ok;
-      }  
-
-      BOOST_FILESYSTEM_DECL error_code
-      dir_itr_increment( void *& handle, std::wstring & target,
-        file_status & sf, file_status & symlink_sf )
-      {
-        WIN32_FIND_DATAW data;
-        if ( ::FindNextFileW( handle, &data ) == 0 ) // fails
-        {
-          int error = ::GetLastError();
-          dir_itr_close( handle );
-          return error_code( error == ERROR_NO_MORE_FILES ? 0 : error, system_category() );
-        }
-        target = data.cFileName;
-        if ( data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
-          { sf.type( directory_file ); symlink_sf.type( directory_file ); }
-        else { sf.type( regular_file ); symlink_sf.type( regular_file ); }
-        return ok;
-      }
-
-#     endif // ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-      // suggested by Walter Landry
-      BOOST_FILESYSTEM_DECL bool symbolic_link_exists_api( const std::string & )
-        { return false; }
-
-      BOOST_FILESYSTEM_DECL
-      fs::detail::query_pair is_empty_api( const std::string & ph )
-        { return is_empty_template( ph ); }
-
-      BOOST_FILESYSTEM_DECL
-      fs::detail::query_pair
-      equivalent_api( const std::string & ph1, const std::string & ph2 )
-        { return equivalent_template( ph1, ph2 ); }
-
-      BOOST_FILESYSTEM_DECL
-      fs::detail::uintmax_pair file_size_api( const std::string & ph )
-        { return file_size_template( ph ); }
-
-      BOOST_FILESYSTEM_DECL
-      fs::detail::space_pair space_api( const std::string & ph )
-        { return space_template( ph ); }
-
-      BOOST_FILESYSTEM_DECL
-      error_code 
-      get_current_path_api( std::string & ph )
-        { return get_current_path_template( ph ); }
-
-      BOOST_FILESYSTEM_DECL
-      error_code 
-      set_current_path_api( const std::string & ph )
-        { return set_current_path_template( ph ); }
-
-      BOOST_FILESYSTEM_DECL error_code
-        get_full_path_name_api( const std::string & ph, std::string & target )
-         { return get_full_path_name_template( ph, target ); }
-
-      BOOST_FILESYSTEM_DECL time_pair
-        last_write_time_api( const std::string & ph )
-          { return last_write_time_template( ph ); }
- 
-      BOOST_FILESYSTEM_DECL error_code
-        last_write_time_api( const std::string & ph, std::time_t new_value )
-          { return last_write_time_template( ph, new_value ); }
-
-      BOOST_FILESYSTEM_DECL fs::detail::query_pair
-      create_directory_api( const std::string & ph )
-        { return create_directory_template( ph ); }
-
-#if _WIN32_WINNT >= 0x500
-      BOOST_FILESYSTEM_DECL error_code
-      create_hard_link_api( const std::string & to_ph,
-        const std::string & from_ph )
-      { 
-        return create_hard_link_template( to_ph, from_ph );
-      }
-#endif
-
-      BOOST_FILESYSTEM_DECL error_code
-      create_symlink_api( const std::string & /*to_ph*/,
-        const std::string & /*from_ph*/ )
-        { return error_code( ERROR_NOT_SUPPORTED, system_category() ); }
-
-      BOOST_FILESYSTEM_DECL error_code
-      remove_api( const std::string & ph ) { return remove_template( ph ); }
-
-      BOOST_FILESYSTEM_DECL error_code
-      rename_api( const std::string & from, const std::string & to )
-      {
-        return error_code( ::MoveFileA( from.c_str(), to.c_str() )
-          ? 0 : ::GetLastError(), system_category() );
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      copy_file_api( const std::string & from, const std::string & to, bool fail_if_exists )
-      {
-        return error_code( ::CopyFileA( from.c_str(), to.c_str(), fail_if_exists )
-          ? 0 : ::GetLastError(), system_category() );
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      dir_itr_first( void *& handle, const std::string & dir,
-        std::string & target, file_status & sf, file_status & symlink_sf )
-      // Note: an empty root directory has no "." or ".." entries, so this
-      // causes a ERROR_FILE_NOT_FOUND error which we do not considered an
-      // error. It is treated as eof instead.
-      {
-        // use a form of search Sebastian Martel reports will work with Win98
-        std::string dirpath( dir );
-        dirpath += (dirpath.empty()
-          || (dirpath[dirpath.size()-1] != '\\'
-            && dirpath[dirpath.size()-1] != ':')) ? "\\*" : "*";
-
-        WIN32_FIND_DATAA data;
-        if ( (handle = ::FindFirstFileA( dirpath.c_str(), &data ))
-          == INVALID_HANDLE_VALUE )
-        { 
-          handle = 0;
-          return error_code( (::GetLastError() == ERROR_FILE_NOT_FOUND
-                           // Windows Mobile returns ERROR_NO_MORE_FILES; see ticket #3551                                           
-                           || ::GetLastError() == ERROR_NO_MORE_FILES) 
-            ? 0 : ::GetLastError(), system_category() );
-        }
-        target = data.cFileName;
-        if ( data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
-          { sf.type( directory_file ); symlink_sf.type( directory_file ); }
-        else { sf.type( regular_file ); symlink_sf.type( regular_file ); }
-        return ok;
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      dir_itr_close( void *& handle )
-      {
-        if ( handle != 0 )
-        {
-          bool ok = ::FindClose( handle ) != 0;
-          handle = 0;
-          return error_code( ok ? 0 : ::GetLastError(), system_category() );
-        }
-        return ok;
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      dir_itr_increment( void *& handle, std::string & target,
-        file_status & sf, file_status & symlink_sf )
-      {
-        WIN32_FIND_DATAA data;
-        if ( ::FindNextFileA( handle, &data ) == 0 ) // fails
-        {
-          int error = ::GetLastError();
-          dir_itr_close( handle );
-          return error_code( error == ERROR_NO_MORE_FILES ? 0 : error, system_category() );
-        }
-        target = data.cFileName;
-        if ( data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
-          { sf.type( directory_file ); symlink_sf.type( directory_file ); }
-        else { sf.type( regular_file ); symlink_sf.type( regular_file ); }
-        return ok;
-      }
-
-#   else // BOOST_POSIX_API
-
-      BOOST_FILESYSTEM_DECL fs::file_status
-      status_api( const std::string & ph, error_code & ec )
-      {
-        struct stat path_stat;
-        if ( ::stat( ph.c_str(), &path_stat ) != 0 )
-        {
-          if ( errno == ENOENT || errno == ENOTDIR )
-          {
-            ec = ok;
-            return fs::file_status( fs::file_not_found );
-          }
-          ec = error_code( errno, system_category() );
-          return fs::file_status( fs::status_unknown );
-        }
-        ec = ok;
-        if ( S_ISDIR( path_stat.st_mode ) )
-          return fs::file_status( fs::directory_file );
-        if ( S_ISREG( path_stat.st_mode ) )
-          return fs::file_status( fs::regular_file );
-        if ( S_ISBLK( path_stat.st_mode ) )
-          return fs::file_status( fs::block_file );
-        if ( S_ISCHR( path_stat.st_mode ) )
-          return fs::file_status( fs::character_file );
-        if ( S_ISFIFO( path_stat.st_mode ) )
-          return fs::file_status( fs::fifo_file );
-        if ( S_ISSOCK( path_stat.st_mode ) )
-          return fs::file_status( fs::socket_file );
-        return fs::file_status( fs::type_unknown );
-      }
-
-      BOOST_FILESYSTEM_DECL fs::file_status
-      symlink_status_api( const std::string & ph, error_code & ec )
-      {
-        struct stat path_stat;
-        if ( ::lstat( ph.c_str(), &path_stat ) != 0 )
-        {
-          if ( errno == ENOENT || errno == ENOTDIR )
-          {
-            ec = ok;
-            return fs::file_status( fs::file_not_found );
-          }
-          ec = error_code( errno, system_category() );
-          return fs::file_status( fs::status_unknown );
-        }
-        ec = ok;
-        if ( S_ISREG( path_stat.st_mode ) )
-          return fs::file_status( fs::regular_file );
-        if ( S_ISDIR( path_stat.st_mode ) )
-          return fs::file_status( fs::directory_file );
-        if ( S_ISLNK( path_stat.st_mode ) )
-          return fs::file_status( fs::symlink_file );
-        if ( S_ISBLK( path_stat.st_mode ) )
-          return fs::file_status( fs::block_file );
-        if ( S_ISCHR( path_stat.st_mode ) )
-          return fs::file_status( fs::character_file );
-        if ( S_ISFIFO( path_stat.st_mode ) )
-          return fs::file_status( fs::fifo_file );
-        if ( S_ISSOCK( path_stat.st_mode ) )
-          return fs::file_status( fs::socket_file );
-        return fs::file_status( fs::type_unknown );
-      }
-
-      // suggested by Walter Landry
-      BOOST_FILESYSTEM_DECL bool
-      symbolic_link_exists_api( const std::string & ph )
-      {
-        struct stat path_stat;
-        return ::lstat( ph.c_str(), &path_stat ) == 0
-          && S_ISLNK( path_stat.st_mode );
-      }
-
-      BOOST_FILESYSTEM_DECL query_pair
-      is_empty_api( const std::string & ph )
-      {
-        struct stat path_stat;
-        if ( (::stat( ph.c_str(), &path_stat )) != 0 )
-          return std::make_pair( error_code( errno, system_category() ), false );        
-        return std::make_pair( ok, S_ISDIR( path_stat.st_mode )
-          ? is_empty_directory( ph )
-          : path_stat.st_size == 0 );
-      }
-
-      BOOST_FILESYSTEM_DECL query_pair
-      equivalent_api( const std::string & ph1, const std::string & ph2 )
-      {
-        struct stat s2;
-        int e2( ::stat( ph2.c_str(), &s2 ) );
-        struct stat s1;
-        int e1( ::stat( ph1.c_str(), &s1 ) );
-        if ( e1 != 0 || e2 != 0 )
-          return std::make_pair( error_code( e1 != 0 && e2 != 0 ? errno : 0, system_category() ), false );
-        // at this point, both stats are known to be valid
-        return std::make_pair( ok,
-            s1.st_dev == s2.st_dev
-            && s1.st_ino == s2.st_ino
-            // According to the POSIX stat specs, "The st_ino and st_dev fields
-            // taken together uniquely identify the file within the system."
-            // Just to be sure, size and mod time are also checked.
-            && s1.st_size == s2.st_size
-            && s1.st_mtime == s2.st_mtime );
-      }
- 
-      BOOST_FILESYSTEM_DECL uintmax_pair
-      file_size_api( const std::string & ph )
-      {
-        struct stat path_stat;
-        if ( ::stat( ph.c_str(), &path_stat ) != 0 )
-          return std::make_pair( error_code( errno, system_category() ), 0 );
-        if ( !S_ISREG( path_stat.st_mode ) )
-          return std::make_pair( error_code( EPERM, system_category() ), 0 ); 
-        return std::make_pair( ok,
-          static_cast<boost::uintmax_t>(path_stat.st_size) );
-      }
-
-      BOOST_FILESYSTEM_DECL space_pair
-      space_api( const std::string & ph )
-      {
-        struct BOOST_STATVFS vfs;
-        space_pair result;
-        if ( ::BOOST_STATVFS( ph.c_str(), &vfs ) != 0 )
-        {
-          result.first = error_code( errno, system_category() );
-          result.second.capacity = result.second.free
-            = result.second.available = 0;
-        }
-        else
-        {
-          result.first = ok;
-          result.second.capacity 
-            = static_cast<boost::uintmax_t>(vfs.f_blocks) * BOOST_STATVFS_F_FRSIZE;
-          result.second.free 
-            = static_cast<boost::uintmax_t>(vfs.f_bfree) * BOOST_STATVFS_F_FRSIZE;
-          result.second.available
-            = static_cast<boost::uintmax_t>(vfs.f_bavail) * BOOST_STATVFS_F_FRSIZE;
-        }
-        return result;
-      }
-
-      BOOST_FILESYSTEM_DECL time_pair 
-      last_write_time_api( const std::string & ph )
-      {
-        struct stat path_stat;
-        if ( ::stat( ph.c_str(), &path_stat ) != 0 )
-          return std::make_pair( error_code( errno, system_category() ), 0 );
-        return std::make_pair( ok, path_stat.st_mtime );
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      last_write_time_api( const std::string & ph, std::time_t new_value )
-      {
-        struct stat path_stat;
-        if ( ::stat( ph.c_str(), &path_stat ) != 0 )
-          return error_code( errno, system_category() );
-        ::utimbuf buf;
-        buf.actime = path_stat.st_atime; // utime() updates access time too:-(
-        buf.modtime = new_value;
-        return error_code( ::utime( ph.c_str(), &buf ) != 0 ? errno : 0, system_category() );
-      }
-
-      BOOST_FILESYSTEM_DECL error_code 
-      get_current_path_api( std::string & ph )
-      {
-        for ( long path_max = 32;; path_max *=2 ) // loop 'til buffer large enough
-        {
-          boost::scoped_array<char>
-            buf( new char[static_cast<std::size_t>(path_max)] );
-          if ( ::getcwd( buf.get(), static_cast<std::size_t>(path_max) ) == 0 )
-          {
-            if ( errno != ERANGE
-          // bug in some versions of the Metrowerks C lib on the Mac: wrong errno set 
-#         if defined(__MSL__) && (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
-              && errno != 0
-#         endif
-              ) return error_code( errno, system_category() );
-          }
-          else
-          {
-            ph = buf.get();
-            break;
-          }
-        }
-        return ok;
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      set_current_path_api( const std::string & ph )
-      {
-        return error_code( ::chdir( ph.c_str() )
-          ? errno : 0, system_category() );
-      }
-
-      BOOST_FILESYSTEM_DECL fs::detail::query_pair
-      create_directory_api( const std::string & ph )
-      {
-        if ( ::mkdir( ph.c_str(), S_IRWXU|S_IRWXG|S_IRWXO ) == 0 )
-          { return std::make_pair( ok, true ); }
-        int ec=errno;
-        error_code dummy;
-        if ( ec != EEXIST 
-          || !fs::is_directory( status_api( ph, dummy ) ) )
-          { return std::make_pair( error_code( ec, system_category() ), false ); }
-        return std::make_pair( ok, false );
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      create_hard_link_api( const std::string & to_ph,
-          const std::string & from_ph )
-      {
-        return error_code( ::link( to_ph.c_str(), from_ph.c_str() ) == 0
-          ? 0 : errno, system_category() );
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      create_symlink_api( const std::string & to_ph,
-          const std::string & from_ph )
-      {
-        return error_code( ::symlink( to_ph.c_str(), from_ph.c_str() ) == 0
-          ? 0 : errno, system_category() ); 
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      remove_api( const std::string & ph )
-      {
-        if ( posix_remove( ph.c_str() ) == 0 )
-          return ok;
-        int error = errno;
-        // POSIX says "If the directory is not an empty directory, rmdir()
-        // shall fail and set errno to EEXIST or ENOTEMPTY."
-        // Linux uses ENOTEMPTY, Solaris uses EEXIST.
-        if ( error == EEXIST ) error = ENOTEMPTY;
-
-        error_code ec;
-
-        // ignore errors if post-condition satisfied
-        return status_api(ph, ec).type() == file_not_found
-          ? ok : error_code( error, system_category() ) ;
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      rename_api( const std::string & from, const std::string & to )
-      {
-        // POSIX is too permissive so must check
-        error_code dummy;
-        if ( fs::exists( status_api( to, dummy ) ) ) 
-          return error_code( EEXIST, system_category() );
-        return error_code( std::rename( from.c_str(), to.c_str() ) != 0 
-          ? errno : 0, system_category() );
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      copy_file_api( const std::string & from_file_ph,
-        const std::string & to_file_ph, bool fail_if_exists )
-      {
-        const std::size_t buf_sz = 32768;
-        boost::scoped_array<char> buf( new char [buf_sz] );
-        int infile=-1, outfile=-1;  // -1 means not open
-
-        // bug fixed: code previously did a stat() on the from_file first, but that
-        // introduced a gratuitous race condition; the stat() is now done after the open()
-
-        if ( (infile = ::open( from_file_ph.c_str(), O_RDONLY )) < 0 )
-          { return error_code( errno, system_category() ); }
-
-        struct stat from_stat;
-        if ( ::stat( from_file_ph.c_str(), &from_stat ) != 0 )
-        { 
-          ::close(infile);
-          return error_code( errno, system_category() );
-        }
-
-        int oflag = O_CREAT | O_WRONLY | O_TRUNC;
-        if ( fail_if_exists )
-          oflag |= O_EXCL;
-        if (  (outfile = ::open( to_file_ph.c_str(), oflag, from_stat.st_mode )) < 0 )
-        {
-          int open_errno = errno;
-          BOOST_ASSERT( infile >= 0 );
-          ::close( infile );
-          return error_code( open_errno, system_category() );
-        }
-
-        ssize_t sz, sz_read=1, sz_write;
-        while ( sz_read > 0
-          && (sz_read = ::read( infile, buf.get(), buf_sz )) > 0 )
-        {
-          // Allow for partial writes - see Advanced Unix Programming (2nd Ed.),
-          // Marc Rochkind, Addison-Wesley, 2004, page 94
-          sz_write = 0;
-          do
-          {
-            if ( (sz = ::write( outfile, buf.get() + sz_write,
-              sz_read - sz_write )) < 0 )
-            { 
-              sz_read = sz; // cause read loop termination
-              break;        //  and error to be thrown after closes
-            }
-            sz_write += sz;
-          } while ( sz_write < sz_read );
-        }
-
-        if ( ::close( infile) < 0 ) sz_read = -1;
-        if ( ::close( outfile) < 0 ) sz_read = -1;
-
-        return error_code( sz_read < 0 ? errno : 0, system_category() );
-      }
-
-      // this code is based on Stevens and Rago, Advanced Programming in the
-      // UNIX envirnment, 2nd Ed., ISBN 0-201-43307-9, page 49
-      error_code path_max( std::size_t & result )
-      {
-#     ifdef PATH_MAX
-        static std::size_t max = PATH_MAX;
-#     else
-        static std::size_t max = 0;
-#     endif
-        if ( max == 0 )
-        {
-          errno = 0;
-          long tmp = ::pathconf( "/", _PC_NAME_MAX );
-          if ( tmp < 0 )
-          {
-            if ( errno == 0 ) // indeterminate
-              max = 4096; // guess
-            else return error_code( errno, system_category() );
-          }
-          else max = static_cast<std::size_t>( tmp + 1 ); // relative root
-        }
-        result = max;
-        return ok;
-      }
-
-      BOOST_FILESYSTEM_DECL error_code
-      dir_itr_first( void *& handle, void *& buffer,
-        const std::string & dir, std::string & target,
-        file_status &, file_status & )
-      {
-        if ( (handle = ::opendir( dir.c_str() )) == 0 )
-          return error_code( errno, system_category() );
-        target = std::string( "." ); // string was static but caused trouble
-                                     // when iteration called from dtor, after
-                                     // static had already been destroyed
-        std::size_t path_size (0);  // initialization quiets gcc warning
-        error_code ec = path_max( path_size );
-        if ( ec ) return ec;
-        dirent de;
-        buffer = std::malloc( (sizeof(dirent) - sizeof(de.d_name))
-          +  path_size + 1 ); // + 1 for "/0"
-        return ok;
-      }  
-
-      BOOST_FILESYSTEM_DECL error_code
-      dir_itr_close( void *& handle, void*& buffer )
-      {
-        std::free( buffer );
-        buffer = 0;
-        if ( handle == 0 ) return ok;
-        DIR * h( static_cast<DIR*>(handle) );
-        handle = 0;
-        return error_code( ::closedir( h ) == 0 ? 0 : errno, system_category() );
-      }
-
-      // warning: the only dirent member updated is d_name
-      inline int readdir_r_simulator( DIR * dirp, struct dirent * entry,
-        struct dirent ** result ) // *result set to 0 on end of directory
-        {
-          errno = 0;
-
-    #     if !defined(__CYGWIN__) \
-          && defined(_POSIX_THREAD_SAFE_FUNCTIONS) \
-          && defined(_SC_THREAD_SAFE_FUNCTIONS) \
-          && (_POSIX_THREAD_SAFE_FUNCTIONS+0 >= 0) \
-          && (!defined(__hpux) || defined(_REENTRANT)) \
-          && (!defined(_AIX) || defined(__THREAD_SAFE))
-          if ( ::sysconf( _SC_THREAD_SAFE_FUNCTIONS ) >= 0 )
-            { return ::readdir_r( dirp, entry, result ); }
-    #     endif
-
-          struct dirent * p;
-          *result = 0;
-          if ( (p = ::readdir( dirp )) == 0 )
-            return errno;
-          std::strcpy( entry->d_name, p->d_name );
-          *result = entry;
-          return 0;
-        }
-
-      BOOST_FILESYSTEM_DECL error_code
-      dir_itr_increment( void *& handle, void *& buffer,
-        std::string & target, file_status & sf, file_status & symlink_sf )
-      {
-        BOOST_ASSERT( buffer != 0 );
-        dirent * entry( static_cast<dirent *>(buffer) );
-        dirent * result;
-        int return_code;
-        if ( (return_code = readdir_r_simulator( static_cast<DIR*>(handle),
-          entry, &result )) != 0 ) return error_code( errno, system_category() );
-        if ( result == 0 ) return dir_itr_close( handle, buffer );
-        target = entry->d_name;
-#     ifdef BOOST_FILESYSTEM_STATUS_CACHE
-        if ( entry->d_type == DT_UNKNOWN )  // filesystem does not supply d_type value
-        {
-          sf = symlink_sf = fs::file_status(fs::status_unknown);
-        }
-        else  // filesystem supplies d_type value
-        {
-          if ( entry->d_type == DT_DIR )
-            sf = symlink_sf = fs::file_status( fs::directory_file );
-          else if ( entry->d_type == DT_REG )
-            sf = symlink_sf = fs::file_status( fs::regular_file );
-          else if ( entry->d_type == DT_LNK )
-          {
-            sf = fs::file_status( fs::status_unknown );
-            symlink_sf = fs::file_status( fs::symlink_file );
-          }
-          else sf = symlink_sf = fs::file_status( fs::status_unknown );
-        }
-#     else
-        sf = symlink_sf = fs::file_status( fs::status_unknown );
-#     endif
-        return ok;
-      }
-
-#   endif
-    } // namespace detail
-  } // namespace filesystem2
-} // namespace boost
diff --git a/SRC/Boost/libs/filesystem/v2/src/v2_path.cpp b/SRC/Boost/libs/filesystem/v2/src/v2_path.cpp
deleted file mode 100755
index 0164c2a..0000000
--- a/SRC/Boost/libs/filesystem/v2/src/v2_path.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-//  path.cpp  ----------------------------------------------------------------//
-
-//  Copyright 2005 Beman Dawes
-
-//  Distributed under the Boost Software License, Version 1.0. (See accompanying
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//----------------------------------------------------------------------------// 
-
-// define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_FILESYSTEM_SOURCE 
-
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/v2/config.hpp>
-
-#ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-#include <boost/filesystem/v2/path.hpp>
-#include <boost/scoped_array.hpp>
-
-#include <locale>
-#include <boost/cerrno.hpp>
-#include <boost/system/error_code.hpp>
-
-#include <cwchar>     // for std::mbstate_t
-
-#if defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) 
-# include <boost/filesystem/detail/utf8_codecvt_facet.hpp>
-#endif
-
-
-namespace
-{
-  // std::locale construction can throw (if LC_MESSAGES is wrong, for example),
-  // so a static at function scope is used to ensure that exceptions can be
-  // caught. (A previous version was at namespace scope, so initialization
-  // occurred before main(), preventing exceptions from being caught.)
-  std::locale & loc()
-  {
-#if !defined(macintosh) && !defined(__APPLE__) && !defined(__APPLE_CC__) 
-    // ISO C calls this "the locale-specific native environment":
-    static std::locale lc("");
-#else  // Mac OS
-    // "All BSD system functions expect their string parameters to be in UTF-8 encoding
-    // and nothing else."
-    // See http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPInternational/Articles/FileEncodings.html
-    std::locale global_loc = std::locale();  // Mac OS doesn't support locale("")
-    static std::locale lc(global_loc,
-        new boost::filesystem::detail::utf8_codecvt_facet);  
-#endif
-    return lc;
-  }
-
-  const std::codecvt<wchar_t, char, std::mbstate_t> *&
-  converter()
-  {
-   static const std::codecvt<wchar_t, char, std::mbstate_t> *
-     cvtr(
-       &std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t> >
-        ( loc() ) );
-   return cvtr;
-  }
-
-  bool locked(false);
-} // unnamed namespace
-
-namespace boost
-{
-  namespace filesystem2
-  {
-    bool wpath_traits::imbue( const std::locale & new_loc, const std::nothrow_t & )
-    {
-      if ( locked ) return false;
-      locked = true;
-      loc() = new_loc;
-      converter() = &std::use_facet
-        <std::codecvt<wchar_t, char, std::mbstate_t> >( loc() );
-      return true;
-    }
-
-    void wpath_traits::imbue( const std::locale & new_loc )
-    {
-      if ( locked ) BOOST_FILESYSTEM_THROW(
-        wfilesystem_error(
-          "boost::filesystem::wpath_traits::imbue() after lockdown",
-          make_error_code( system::errc::not_supported ) ) );
-      imbue( new_loc, std::nothrow );
-    }
-
-    //namespace detail
-    //{
-    //  BOOST_FILESYSTEM_DECL
-    //  const char * what( const char * sys_err_what,
-    //    const path & path1, const path & path2, std::string & target)
-    //  {
-    //    try
-    //    {
-    //      if ( target.empty() )
-    //      {
-    //        target = sys_err_what;
-    //        if ( !path1.empty() )
-    //        {
-    //          target += ": \"";
-    //          target += path1.file_string();
-    //          target += "\"";
-    //        }
-    //        if ( !path2.empty() )
-    //        {
-    //          target += ", \"";
-    //          target += path2.file_string();
-    //          target += "\"";
-    //        }
-    //      }
-    //      return target.c_str();
-    //    }
-    //    catch (...)
-    //    {
-    //      return sys_err_what;
-    //    }
-    //  }
-    //}
-    
-# ifdef BOOST_POSIX_API
-
-//  Because this is POSIX only code, we don't have to worry about ABI issues
-//  described in http://www.boost.org/more/separate_compilation.html
-
-    wpath_traits::external_string_type
-    wpath_traits::to_external( const wpath & ph, 
-      const internal_string_type & src )
-    {
-      locked = true;
-      std::size_t work_size( converter()->max_length() * (src.size()+1) );
-      boost::scoped_array<char> work( new char[ work_size ] );
-      std::mbstate_t state = std::mbstate_t();  // perhaps unneeded, but cuts bug reports
-      const internal_string_type::value_type * from_next;
-      external_string_type::value_type * to_next;
-      if ( converter()->out( 
-        state, src.c_str(), src.c_str()+src.size(), from_next, work.get(),
-        work.get()+work_size, to_next ) != std::codecvt_base::ok )
-        BOOST_FILESYSTEM_THROW( boost::filesystem::wfilesystem_error(
-          "boost::filesystem::wpath::to_external conversion error",
-          ph, system::error_code( system::errc::invalid_argument, system::system_category() ) ) );
-      *to_next = '\0';
-      return external_string_type( work.get() );
-    }
-
-    wpath_traits::internal_string_type
-    wpath_traits::to_internal( const external_string_type & src )
-    {
-      locked = true;
-      std::size_t work_size( src.size()+1 );
-      boost::scoped_array<wchar_t> work( new wchar_t[ work_size ] );
-      std::mbstate_t state  = std::mbstate_t();  // perhaps unneeded, but cuts bug reports
-      const external_string_type::value_type * from_next;
-      internal_string_type::value_type * to_next;
-      if ( converter()->in( 
-        state, src.c_str(), src.c_str()+src.size(), from_next, work.get(),
-        work.get()+work_size, to_next ) != std::codecvt_base::ok )
-        BOOST_FILESYSTEM_THROW( boost::filesystem::wfilesystem_error(
-          "boost::filesystem::wpath::to_internal conversion error",
-          system::error_code( system::errc::invalid_argument, system::system_category() ) ) );
-      *to_next = L'\0';
-      return internal_string_type( work.get() );
-    }
-# endif // BOOST_POSIX_API
-
-  } // namespace filesystem2
-} // namespace boost
-
-#endif // ifndef BOOST_FILESYSTEM2_NARROW_ONLY
diff --git a/SRC/Boost/libs/filesystem/v2/src/v2_portability.cpp b/SRC/Boost/libs/filesystem/v2/src/v2_portability.cpp
deleted file mode 100755
index 1b7dc22..0000000
--- a/SRC/Boost/libs/filesystem/v2/src/v2_portability.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-//  portability.cpp  ---------------------------------------------------------//
-
-//  Copyright 2002-2005 Beman Dawes
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
-//  at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//----------------------------------------------------------------------------// 
-
-// define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_FILESYSTEM_SOURCE 
-
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/v2/config.hpp>
-#include <boost/filesystem/v2/path.hpp>
-
-namespace fs = boost::filesystem2;
-
-#include <cstring> // SGI MIPSpro compilers need this
-
-# ifdef BOOST_NO_STDC_NAMESPACE
-    namespace std { using ::strerror; }
-# endif
-
-//----------------------------------------------------------------------------//
-
-namespace
-{
-  const char invalid_chars[] =
-    "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"
-    "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F"
-    "<>:\"/\\|";
-  // note that the terminating '\0' is part of the string - thus the size below
-  // is sizeof(invalid_chars) rather than sizeof(invalid_chars)-1.  I 
-  const std::string windows_invalid_chars( invalid_chars, sizeof(invalid_chars) );
-
-  const std::string valid_posix(
-    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-" );
-
-} // unnamed namespace
-
-namespace boost
-{
-  namespace filesystem2
-  {
-
-    //  name_check functions  ----------------------------------------------//
-
-#   ifdef BOOST_WINDOWS
-    BOOST_FILESYSTEM_DECL bool native( const std::string & name )
-    {
-      return windows_name( name );
-    }
-#   else
-    BOOST_FILESYSTEM_DECL bool native( const std::string & name )
-    {
-      return  name.size() != 0
-        && name[0] != ' '
-        && name.find('/') == std::string::npos;
-    }
-#   endif
-
-    BOOST_FILESYSTEM_DECL bool portable_posix_name( const std::string & name )
-    {
-      return name.size() != 0
-        && name.find_first_not_of( valid_posix ) == std::string::npos;     
-    }
-
-    BOOST_FILESYSTEM_DECL bool windows_name( const std::string & name )
-    {
-      return name.size() != 0
-        && name[0] != ' '
-        && name.find_first_of( windows_invalid_chars ) == std::string::npos
-        && *(name.end()-1) != ' '
-        && (*(name.end()-1) != '.'
-          || name.length() == 1 || name == "..");
-    }
-
-    BOOST_FILESYSTEM_DECL bool portable_name( const std::string & name )
-    {
-      return
-        name.size() != 0
-        && ( name == "."
-          || name == ".."
-          || (windows_name( name )
-            && portable_posix_name( name )
-            && name[0] != '.' && name[0] != '-'));
-    }
-
-    BOOST_FILESYSTEM_DECL bool portable_directory_name( const std::string & name )
-    {
-      return
-        name == "."
-        || name == ".."
-        || (portable_name( name )
-          && name.find('.') == std::string::npos);
-    }
-
-    BOOST_FILESYSTEM_DECL bool portable_file_name( const std::string & name )
-    {
-      std::string::size_type pos;
-      return
-         portable_name( name )
-         && name != "."
-         && name != ".."
-         && ( (pos = name.find( '.' )) == std::string::npos
-             || (name.find( '.', pos+1 ) == std::string::npos
-               && (pos + 5) > name.length() ))
-        ;
-    }
-
-  } // namespace filesystem2
-} // namespace boost
diff --git a/SRC/Boost/libs/filesystem/v2/test/Jamfile.v2 b/SRC/Boost/libs/filesystem/v2/test/Jamfile.v2
deleted file mode 100755
index 4663609..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/Jamfile.v2
+++ /dev/null
@@ -1,43 +0,0 @@
-# Boost Filesystem Library test Jamfile
-
-# (C) Copyright Beman Dawes 2002-2006
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or www.boost.org/LICENSE_1_0.txt)
-
-project 
-    : requirements
-      <library>/boost/filesystem//boost_filesystem
-      <toolset>msvc:<asynch-exceptions>on
-    ;
-
-   test-suite "filesystem" :
-       [ run path_test.cpp
-         :  :  : <link>static
-       ]                  
-       [ run path_test.cpp
-         :  :  :  : path_test_dll
-       ]
-       [ run operations_test.cpp
-         :  :  : <link>static
-       ]
-       [ run operations_test.cpp
-         :  :  :  : operations_test_dll
-       ]
-       [ run fstream_test.cpp
-         :  :  : <link>static
-       ]
-       [ run convenience_test.cpp
-         :  :  : <link>static                   
-       ]
-       [ run large_file_support_test.cpp
-         :  :  : <link>static
-       ]
-       [ run wide_test.cpp
-          :  :  : <link>static
-       ]
-
-       [ compile deprecated_test.cpp ]                  
-       [ compile ../example/mbcopy.cpp ]
-       [ compile ../example/mbpath.cpp ]
-       [ compile ../example/simple_ls.cpp ]
-       ;
diff --git a/SRC/Boost/libs/filesystem/v2/test/convenience_test.cpp b/SRC/Boost/libs/filesystem/v2/test/convenience_test.cpp
deleted file mode 100755
index 6a56d6f..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/convenience_test.cpp
+++ /dev/null
@@ -1,176 +0,0 @@
-//  libs/filesystem/test/convenience_test.cpp  -------------------------------//
-
-//  Copyright Beman Dawes, 2002
-//  Copyright Vladimir Prus, 2002
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-#define BOOST_FILESYSTEM_VERSION 2
-
-#include <boost/config/warning_disable.hpp>
-
-//  See deprecated_test for tests of deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-# define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/convenience.hpp>
-namespace fs = boost::filesystem;
-using fs::path;
-namespace sys = boost::system;
-
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-
-#include <boost/bind.hpp>
-#include <fstream>
-#include <iostream>
-
-#ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-# define BOOST_FS_IS_EMPTY fs::is_empty
-# define BOOST_BND(BOOST_FUNC_TO_DO) BOOST_FUNC_TO_DO<fs::path>
-#else
-# define BOOST_FS_IS_EMPTY fs::_is_empty
-# define BOOST_BND(BOOST_FUNC_TO_DO) BOOST_FUNC_TO_DO
-#endif
-
-namespace
-{
-  template< typename F >
-    bool throws_fs_error( F func )
-  {
-    try { func(); }
-
-    catch ( const fs::filesystem_error & )
-    {
-      return true;
-    }
-    return false;
-  }
-
-    void create_recursive_iterator( const fs::path & ph )
-    {
-      fs::recursive_directory_iterator it( ph );
-    }
-}
-
-//  --------------------------------------------------------------------------//
-
-int cpp_main( int, char*[] )
-{
-
-//  create_directories() tests  ----------------------------------------------//
-
-  BOOST_TEST( !fs::create_directories( "" ) );  // should be harmless
-  BOOST_TEST( !fs::create_directories( "/" ) ); // ditto
-
-  fs::remove_all( "xx" );  // make sure slate is blank
-  BOOST_TEST( !fs::exists( "xx" ) ); // reality check
-
-  BOOST_TEST( fs::create_directories( "xx" ) );
-  BOOST_TEST( fs::exists( "xx" ) );
-  BOOST_TEST( fs::is_directory( "xx" ) );
-
-  BOOST_TEST( fs::create_directories( "xx/yy/zz" ) );
-  BOOST_TEST( fs::exists( "xx" ) );
-  BOOST_TEST( fs::exists( "xx/yy" ) );
-  BOOST_TEST( fs::exists( "xx/yy/zz" ) );
-  BOOST_TEST( fs::is_directory( "xx" ) );
-  BOOST_TEST( fs::is_directory( "xx/yy" ) );
-  BOOST_TEST( fs::is_directory( "xx/yy/zz" ) );
-
-  path is_a_file( "xx/uu" );
-  {
-    std::ofstream f( is_a_file.external_file_string().c_str() );
-    BOOST_TEST( !!f );
-  }
-  BOOST_TEST( throws_fs_error(
-    boost::bind( BOOST_BND(fs::create_directories), is_a_file ) ) );
-  BOOST_TEST( throws_fs_error(
-    boost::bind( BOOST_BND(fs::create_directories), is_a_file / "aa" ) ) );
-
-// recursive_directory_iterator tests ----------------------------------------//
-
-  sys::error_code ec;
-  fs::recursive_directory_iterator it( "/no-such-path", ec );
-  BOOST_TEST( ec );
-  BOOST_TEST( throws_fs_error(
-    boost::bind( create_recursive_iterator, "/no-such-path" ) ) );
-
-  fs::remove( "xx/uu" );
-
-#ifdef BOOST_WINDOWS_API
-  // These tests depends on ordering of directory entries, and that's guaranteed
-  // on Windows but not necessarily on other operating systems
-  {
-    std::ofstream f( "xx/yya" );
-    BOOST_TEST( !!f );
-  }
-
-  for ( it = fs::recursive_directory_iterator( "xx" );
-        it != fs::recursive_directory_iterator(); ++it )
-    { std::cout << it->path() << '\n'; }
-
-  it = fs::recursive_directory_iterator( "xx" );
-  BOOST_TEST( it->path() == "xx/yy" );
-  BOOST_TEST( it.level() == 0 );
-  ++it;
-  BOOST_TEST( it->path() == "xx/yy/zz" );
-  BOOST_TEST( it.level() == 1 );
-  it.pop();
-  BOOST_TEST( it->path() == "xx/yya" );
-  BOOST_TEST( it.level() == 0 );
-  it++;
-  BOOST_TEST( it == fs::recursive_directory_iterator() );
-
-  it = fs::recursive_directory_iterator( "xx" );
-  BOOST_TEST( it->path() == "xx/yy" );
-  it.no_push();
-  ++it;
-  BOOST_TEST( it->path() == "xx/yya" );
-  ++it;
-  BOOST_TEST( it == fs::recursive_directory_iterator() );
-
-  fs::remove( "xx/yya" );
-#endif
-
-  it = fs::recursive_directory_iterator( "xx/yy/zz" );
-  BOOST_TEST( it == fs::recursive_directory_iterator() );
-  
-  it = fs::recursive_directory_iterator( "xx" );
-  BOOST_TEST( it->path() == "xx/yy" );
-  BOOST_TEST( it.level() == 0 );
-  ++it;
-  BOOST_TEST( it->path() == "xx/yy/zz" );
-  BOOST_TEST( it.level() == 1 );
-  it++;
-  BOOST_TEST( it == fs::recursive_directory_iterator() );
-
-  it = fs::recursive_directory_iterator( "xx" );
-  BOOST_TEST( it->path() == "xx/yy" );
-  it.no_push();
-  ++it;
-  BOOST_TEST( it == fs::recursive_directory_iterator() );
-
-  it = fs::recursive_directory_iterator( "xx" );
-  BOOST_TEST( it->path() == "xx/yy" );
-  ++it;
-  it.pop();
-  BOOST_TEST( it == fs::recursive_directory_iterator() );
-
-
-
-  // nothrow wrong. see imp.  Make sure failed basic_directory_iterator
-  // ctor creates the end iterator. 
-
-
-
-
-  return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/filesystem/v2/test/deprecated_test.cpp b/SRC/Boost/libs/filesystem/v2/test/deprecated_test.cpp
deleted file mode 100755
index 0bfeac0..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/deprecated_test.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-//  deprecated_test program --------------------------------------------------//
-
-//  Copyright Beman Dawes 2002
-//  Copyright Vladimir Prus 2002
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//  This test verifies that various deprecated names still compile. This is
-//  important to preserve existing code that uses the old names.
-
-#define BOOST_FILESYSTEM_VERSION 2
-
-#include <boost/filesystem.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-
-namespace fs = boost::filesystem;
-using boost::filesystem::path;
-
-#define PATH_CHECK( a, b ) check( a, b, __LINE__ )
-
-namespace
-{
-  std::string platform( BOOST_PLATFORM );
-
-  void check( const fs::path & source,
-              const std::string & expected, int line )
-  {
-    if ( source.string()== expected ) return;
-
-    ++::boost::detail::test_errors();
-
-    std::cout << '(' << line << ") source.string(): \"" << source.string()
-              << "\" != expected: \"" << expected
-              << "\"" << std::endl;
-  }
-
-  void check_normalize()
-  {
-    PATH_CHECK( path("").normalize(), "" );
-    PATH_CHECK( path("/").normalize(), "/" );
-    PATH_CHECK( path("//").normalize(), "//" );
-    PATH_CHECK( path("///").normalize(), "/" );
-    PATH_CHECK( path("f").normalize(), "f" );
-    PATH_CHECK( path("foo").normalize(), "foo" );
-    PATH_CHECK( path("foo/").normalize(), "foo/." );
-    PATH_CHECK( path("f/").normalize(), "f/." );
-    PATH_CHECK( path( "/foo" ).normalize(), "/foo" );
-    PATH_CHECK( path( "foo/bar" ).normalize(), "foo/bar" );
-    PATH_CHECK( path("..").normalize(), ".." );
-    PATH_CHECK( path("../..").normalize(), "../.." );
-    PATH_CHECK( path("/..").normalize(), "/.." );
-    PATH_CHECK( path("/../..").normalize(), "/../.." );
-    PATH_CHECK( path("../foo").normalize(), "../foo" );
-    PATH_CHECK( path("foo/..").normalize(), "." );
-    PATH_CHECK( path("foo/../").normalize(), "./." );
-    PATH_CHECK( (path("foo") / "..").normalize() , "." );
-    PATH_CHECK( path("foo/...").normalize(), "foo/..." );
-    PATH_CHECK( path("foo/.../").normalize(), "foo/.../." );
-    PATH_CHECK( path("foo/..bar").normalize(), "foo/..bar" );
-    PATH_CHECK( path("../f").normalize(), "../f" );
-    PATH_CHECK( path("/../f").normalize(), "/../f" );
-    PATH_CHECK( path("f/..").normalize(), "." );
-    PATH_CHECK( (path("f") / "..").normalize() , "." );
-    PATH_CHECK( path("foo/../..").normalize(), ".." );
-    PATH_CHECK( path("foo/../../").normalize(), "../." );
-    PATH_CHECK( path("foo/../../..").normalize(), "../.." );
-    PATH_CHECK( path("foo/../../../").normalize(), "../../." );
-    PATH_CHECK( path("foo/../bar").normalize(), "bar" );
-    PATH_CHECK( path("foo/../bar/").normalize(), "bar/." );
-    PATH_CHECK( path("foo/bar/..").normalize(), "foo" );
-    PATH_CHECK( path("foo/bar/../").normalize(), "foo/." );
-    PATH_CHECK( path("foo/bar/../..").normalize(), "." );
-    PATH_CHECK( path("foo/bar/../../").normalize(), "./." );
-    PATH_CHECK( path("foo/bar/../blah").normalize(), "foo/blah" );
-    PATH_CHECK( path("f/../b").normalize(), "b" );
-    PATH_CHECK( path("f/b/..").normalize(), "f" );
-    PATH_CHECK( path("f/b/../").normalize(), "f/." );
-    PATH_CHECK( path("f/b/../a").normalize(), "f/a" );
-    PATH_CHECK( path("foo/bar/blah/../..").normalize(), "foo" );
-    PATH_CHECK( path("foo/bar/blah/../../bletch").normalize(), "foo/bletch" );
-    PATH_CHECK( path( "//net" ).normalize(), "//net" );
-    PATH_CHECK( path( "//net/" ).normalize(), "//net/" );
-    PATH_CHECK( path( "//..net" ).normalize(), "//..net" );
-    PATH_CHECK( path( "//net/.." ).normalize(), "//net/.." );
-    PATH_CHECK( path( "//net/foo" ).normalize(), "//net/foo" );
-    PATH_CHECK( path( "//net/foo/" ).normalize(), "//net/foo/." );
-    PATH_CHECK( path( "//net/foo/.." ).normalize(), "//net/" );
-    PATH_CHECK( path( "//net/foo/../" ).normalize(), "//net/." );
-
-    PATH_CHECK( path( "/net/foo/bar" ).normalize(), "/net/foo/bar" );
-    PATH_CHECK( path( "/net/foo/bar/" ).normalize(), "/net/foo/bar/." );
-    PATH_CHECK( path( "/net/foo/.." ).normalize(), "/net" );
-    PATH_CHECK( path( "/net/foo/../" ).normalize(), "/net/." );
-
-    PATH_CHECK( path( "//net//foo//bar" ).normalize(), "//net/foo/bar" );
-    PATH_CHECK( path( "//net//foo//bar//" ).normalize(), "//net/foo/bar/." );
-    PATH_CHECK( path( "//net//foo//.." ).normalize(), "//net/" );
-    PATH_CHECK( path( "//net//foo//..//" ).normalize(), "//net/." );
-
-    PATH_CHECK( path( "///net///foo///bar" ).normalize(), "/net/foo/bar" );
-    PATH_CHECK( path( "///net///foo///bar///" ).normalize(), "/net/foo/bar/." );
-    PATH_CHECK( path( "///net///foo///.." ).normalize(), "/net" );
-    PATH_CHECK( path( "///net///foo///..///" ).normalize(), "/net/." );
-
-    if ( platform == "Windows" )
-    {
-      PATH_CHECK( path( "c:.." ).normalize(), "c:.." );
-      PATH_CHECK( path( "c:foo/.." ).normalize(), "c:" );
-
-      PATH_CHECK( path( "c:foo/../" ).normalize(), "c:." );
-
-      PATH_CHECK( path( "c:/foo/.." ).normalize(), "c:/" );
-      PATH_CHECK( path( "c:/foo/../" ).normalize(), "c:/." );
-      PATH_CHECK( path( "c:/.." ).normalize(), "c:/.." );
-      PATH_CHECK( path( "c:/../" ).normalize(), "c:/../." );
-      PATH_CHECK( path( "c:/../.." ).normalize(), "c:/../.." );
-      PATH_CHECK( path( "c:/../../" ).normalize(), "c:/../../." );
-      PATH_CHECK( path( "c:/../foo" ).normalize(), "c:/../foo" );
-      PATH_CHECK( path( "c:/../foo/" ).normalize(), "c:/../foo/." );
-      PATH_CHECK( path( "c:/../../foo" ).normalize(), "c:/../../foo" );
-      PATH_CHECK( path( "c:/../../foo/" ).normalize(), "c:/../../foo/." );
-      PATH_CHECK( path( "c:/..foo" ).normalize(), "c:/..foo" );
-    }
-    else // POSIX
-    {
-      PATH_CHECK( path( "c:.." ).normalize(), "c:.." );
-      PATH_CHECK( path( "c:foo/.." ).normalize(), "." );
-      PATH_CHECK( path( "c:foo/../" ).normalize(), "./." );
-      PATH_CHECK( path( "c:/foo/.." ).normalize(), "c:" );
-      PATH_CHECK( path( "c:/foo/../" ).normalize(), "c:/." );
-      PATH_CHECK( path( "c:/.." ).normalize(), "." );
-      PATH_CHECK( path( "c:/../" ).normalize(), "./." );
-      PATH_CHECK( path( "c:/../.." ).normalize(), ".." );
-      PATH_CHECK( path( "c:/../../" ).normalize(), "../." );
-      PATH_CHECK( path( "c:/../foo" ).normalize(), "foo" );
-      PATH_CHECK( path( "c:/../foo/" ).normalize(), "foo/." );
-      PATH_CHECK( path( "c:/../../foo" ).normalize(), "../foo" );
-      PATH_CHECK( path( "c:/../../foo/" ).normalize(), "../foo/." );
-      PATH_CHECK( path( "c:/..foo" ).normalize(), "c:/..foo" );
-    }
-  }
-} // unnamed namespace
-
-//----------------------------------------------------------------------------//
-
-int cpp_main( int /*argc*/, char * /*argv*/[] )
-{
-  // The choice of platform is make at runtime rather than compile-time
-  // so that compile errors for all platforms will be detected even though
-  // only the current platform is runtime tested.
-  platform = ( platform == "Win32" || platform == "Win64" || platform == "Cygwin" )
-               ? "Windows"
-               : "POSIX";
-  std::cout << "Platform is " << platform << '\n';
-
-  path::default_name_check( fs::no_check );
-
-  fs::directory_entry de( "foo/bar" );
-
-  de.replace_leaf( "", fs::file_status(), fs::file_status() );
-
-  de.leaf();
-  de.string();
-
-  fs::path ng( " no-way, Jose" );
-  BOOST_TEST( !fs::is_regular( ng ) );  // verify deprecated name still works
-  BOOST_TEST( !fs::symbolic_link_exists( "nosuchfileordirectory" ) );
-
-  check_normalize();
- 
-// extension() tests ---------------------------------------------------------//
-
-  BOOST_TEST( fs::extension("a/b") == "" );
-  BOOST_TEST( fs::extension("a/b.txt") == ".txt" );
-  BOOST_TEST( fs::extension("a/b.") == "." );
-  BOOST_TEST( fs::extension("a.b.c") == ".c" );
-  BOOST_TEST( fs::extension("a.b.c.") == "." );
-  BOOST_TEST( fs::extension("") == "" );
-  BOOST_TEST( fs::extension("a/") == "." );
-  
-// basename() tests ----------------------------------------------------------//
-
-  BOOST_TEST( fs::basename("b") == "b" );
-  BOOST_TEST( fs::basename("a/b.txt") == "b" );
-  BOOST_TEST( fs::basename("a/b.") == "b" ); 
-  BOOST_TEST( fs::basename("a.b.c") == "a.b" );
-  BOOST_TEST( fs::basename("a.b.c.") == "a.b.c" );
-  BOOST_TEST( fs::basename("") == "" );
-  
-// change_extension tests ---------------------------------------------------//
-
-  BOOST_TEST( fs::change_extension("a.txt", ".tex").string() == "a.tex" );
-  BOOST_TEST( fs::change_extension("a.", ".tex").string() == "a.tex" );
-  BOOST_TEST( fs::change_extension("a", ".txt").string() == "a.txt" );
-  BOOST_TEST( fs::change_extension("a.b.txt", ".tex").string() == "a.b.tex" );  
-  // see the rationale in html docs for explanation why this works
-  BOOST_TEST( fs::change_extension("", ".png").string() == ".png" );
-
-  return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/filesystem/v2/test/equivalent.cpp b/SRC/Boost/libs/filesystem/v2/test/equivalent.cpp
deleted file mode 100755
index 8eb3158..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/equivalent.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//  equivalent program -------------------------------------------------------//
-
-//  Copyright (c) 2004 Beman Dawes
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
-//  at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//----------------------------------------------------------------------------//
-
-#include <boost/filesystem/operations.hpp>
-#include <iostream>
-#include <exception>
-
-int main( int argc, char * argv[] )
-{
-  boost::filesystem::path::default_name_check( boost::filesystem::native );
-  if ( argc != 3 )
-  {
-    std::cout << "Usage: equivalent path1 path2\n";
-    return 2;
-  }
-  
-  bool eq;
-  try
-  {
-    eq = boost::filesystem::equivalent( argv[1], argv[2] );
-  }
-  catch ( const std::exception & ex )
-  {
-    std::cout << ex.what() << "\n";
-    return 3;
-  }
-
-  std::cout << (eq ? "Paths are equivalent\n" : "Paths are not equivalent\n");
-  return !eq;
-}
diff --git a/SRC/Boost/libs/filesystem/v2/test/fstream_test.cpp b/SRC/Boost/libs/filesystem/v2/test/fstream_test.cpp
deleted file mode 100755
index fb30ee9..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/fstream_test.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-//  fstream_test.cpp  --------------------------------------------------------//
-
-//  Copyright Beman Dawes 2002.
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-#define BOOST_FILESYSTEM_VERSION 2
-
-#include <boost/config/warning_disable.hpp>
-
-//  See deprecated_test for tests of deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-# define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/fstream.hpp>
-#include <boost/filesystem/operations.hpp>
-#include <string>
-#include <iostream>
-#include <cstdio> // for std::remove
-
-#include <boost/filesystem/detail/utf8_codecvt_facet.hpp>
-
-#ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-#  include "lpath.hpp"
-#endif
-
-namespace fs = boost::filesystem;
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STDC_NAMESPACE
-  namespace std { using ::remove; }
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-
-namespace
-{
-  bool cleanup = true;
-  
-  template< class Path >
-  void test( const Path & p )
-  {
-    fs::remove( p );
-#  if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle open
-    {
-      std::cout << " in test 1\n";
-      fs::filebuf fb1;
-      fb1.open( p, std::ios_base::out );
-      BOOST_TEST( fb1.is_open() );
-    }
-    {
-      std::cout << " in test 2\n";
-      fs::filebuf fb2;
-      fb2.open( p, std::ios_base::in );
-      BOOST_TEST( fb2.is_open() );
-    }
-#  else
-    std::cout << "<note>\n";
-    std::cout <<
-      "VC++6.0 does not support boost::filesystem open()\n";
-#  endif
-    {
-      std::cout << " in test 3\n";
-      fs::ifstream tfs( p );
-      BOOST_TEST( tfs.is_open() );
-    }
-    {
-      std::cout << " in test 4\n";
-      fs::ifstream tfs( p / p.filename() ); // should fail
-      BOOST_TEST( !tfs.is_open() );
-    }
-    {
-      std::cout << " in test 5\n";
-      fs::ifstream tfs( p, std::ios_base::in );
-      BOOST_TEST( tfs.is_open() );
-    }
-#  if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle open
-    {
-      std::cout << " in test 6\n";
-      fs::ifstream tfs;
-      tfs.open( p );
-      BOOST_TEST( tfs.is_open() );
-    }
-    {
-      std::cout << " in test 7\n";
-      fs::ifstream tfs;
-      tfs.open( p, std::ios_base::in );
-      BOOST_TEST( tfs.is_open() );
-    }
-#  endif
-    {
-      std::cout << " in test 8\n";
-      fs::ofstream tfs( p );
-      BOOST_TEST( tfs.is_open() );
-    }
-    {
-      std::cout << " in test 9\n";
-      fs::ofstream tfs( p, std::ios_base::out );
-      BOOST_TEST( tfs.is_open() );
-    }
-#  if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle open
-    {
-      std::cout << " in test 10\n";
-      fs::ofstream tfs;
-      tfs.open( p );
-      BOOST_TEST( tfs.is_open() );
-    }
-    {
-      std::cout << " in test 11\n";
-      fs::ofstream tfs;
-      tfs.open( p, std::ios_base::out );
-      BOOST_TEST( tfs.is_open() );
-    }
-# endif
-    {
-      std::cout << " in test 12\n";
-      fs::fstream tfs( p );
-      BOOST_TEST( tfs.is_open() );
-    }
-    {
-      std::cout << " in test 13\n";
-      fs::fstream tfs( p, std::ios_base::in|std::ios_base::out );
-      BOOST_TEST( tfs.is_open() );
-    }
-#  if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle open
-    {
-      std::cout << " in test 14\n";
-      fs::fstream tfs;
-      tfs.open( p );
-      BOOST_TEST( tfs.is_open() );
-    }
-    {
-      std::cout << " in test 15\n";
-      fs::fstream tfs;
-      tfs.open( p, std::ios_base::in|std::ios_base::out );
-      BOOST_TEST( tfs.is_open() );
-    }
-#  endif
-
-    if ( cleanup )
-      fs::remove( p );
-
-  } // test
-} // unnamed namespace
-
-int cpp_main( int argc, char*[] )
-{
-  if ( argc > 1 ) cleanup = false;
-
-  // test fs::path
-  std::cout << "path tests:\n";
-  test( fs::path( "v2_fstream_test" ) );
-
-#ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-
-  // So that tests are run with known encoding, use Boost UTF-8 codecvt
-  std::locale global_loc = std::locale();
-  std::locale loc( global_loc, new fs::detail::utf8_codecvt_facet );
-  fs::wpath_traits::imbue( loc );
-
-  // test fs::wpath
-  //  x2780 is circled 1 against white background == e2 9e 80 in UTF-8
-  //  x2781 is circled 2 against white background == e2 9e 81 in UTF-8
-  std::cout << "\nwpath tests:\n";
-  test( fs::wpath( L"v2_fstream_test_\x2780" ) );
-
-  // test user supplied basic_path
-  const long lname[] = { 'f', 's', 'r', 'e', 'a', 'm', '_', 't', 'e', 's',
-    't', '_', 'l', 'p', 'a', 't', 'h', 0 };
-  std::cout << "\nlpath tests:\n";
-  test( user::lpath( lname ) );
-
-#endif
-
-  return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/filesystem/v2/test/large_file_support_test.cpp b/SRC/Boost/libs/filesystem/v2/test/large_file_support_test.cpp
deleted file mode 100755
index 176fc4e..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/large_file_support_test.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//  Boost large_file_support_test.cpp  ---------------------------------------//
-
-//  Copyright Beman Dawes 2004.
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-#define BOOST_FILESYSTEM_VERSION 2
-
-//  See deprecated_test for tests of deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-# define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/operations.hpp>
-namespace fs = boost::filesystem;
-
-#include <iostream>
-
-int main()
-{
-  if ( fs::detail::possible_large_file_size_support() )
-  {
-    std::cout << "It appears that file sizes greater that 2 gigabytes are possible\n"
-                 "for this configuration on this platform since the operating system\n"
-                 "does use a large enough integer type to report large file sizes.\n\n"
-                 "Whether or not such support is actually present depends on the OS\n";
-    return 0;
-  }
-  std::cout << "The operating system is using an integer type to report file sizes\n"
-               "that can not represent file sizes greater that 2 gigabytes (31-bits).\n"
-               "Thus the Filesystem Library will not correctly deal with such large\n"
-               "files. If you think that this operatiing system should be able to\n"
-               "support large files, please report the problem to the Boost developers\n"
-               "mailing list.\n";
-  return 1;
-}
diff --git a/SRC/Boost/libs/filesystem/v2/test/lpath.hpp b/SRC/Boost/libs/filesystem/v2/test/lpath.hpp
deleted file mode 100755
index 31ab38b..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/lpath.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-//  Boost lpath.hpp  ---------------------------------------------------------//
-
-//  Copyright Beman Dawes 2005
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-#include <boost/filesystem/v2/path.hpp>
-#include <cwchar>      // for std::mbstate_t
-#include <string>
-#include <ios>         // for std::streamoff
-
-namespace std
-{
-  // Note well: this specialization is meant only to support wide_test.cpp.
-  // It is not fully functional, fully correct, or efficient.
-  template<> struct char_traits<long>
-  {
-    typedef long char_type;
-    typedef long int_type;
-    typedef streamoff off_type;
-    typedef streampos pos_type;
-    typedef mbstate_t state_type;
-    static void assign(char_type& c1, const char_type& c2){c1=c2;}
-    static bool eq(const char_type& c1, const char_type& c2){return c1==c2;}
-    static bool lt(const char_type& c1, const char_type& c2){return c1<c2;}
-    static int compare(const char_type* s1, const char_type* s2, size_t n)
-    {
-      const char_type* e = s1 + n;
-      for ( ;s1 != e && *s1 == *s2; ++s1, ++s2 ) {}
-      return s1 == e ? 0 : (*s1<*s2 ? -1 : 1);
-    }
-    static size_t length(const char_type* s)
-    { const char_type* b=s; for(;*s!=0L;++s){} return s-b; } 
- 
-    static const char_type* find(const char_type* /*s*/, size_t /*n*/, const char_type& /*a*/)
-    {   return 0; }
-
-    // copy semantics will do for wide_test
-    static char_type* move(char_type* s1, const char_type* s2, size_t n)
-      { char_type* b=s1; for(const char_type* e=s1+n;s1!=e;++s1,++s2) *s1=*s2; return b; }
-
-    static char_type* copy(char_type* s1, const char_type* s2, size_t n)
-      { char_type* b=s1; for(const char_type* e=s1+n;s1!=e;++s1,++s2) *s1=*s2; return b; }
-
-    static char_type* assign(char_type* s, size_t n, char_type a)
-      { char_type* b=s; for(char_type* e=s+n;s!=e;++s) *s=a; return b; }
- 
-    static int_type not_eof(const int_type& c);
-    static char_type to_char_type(const int_type& c);
-    static int_type to_int_type(const char_type& c);
-    static bool eq_int_type(const int_type& c1, const int_type& c2);
-    static int_type eof();
-  };
-}
-
-namespace user
-{
-  typedef std::basic_string<long> lstring;
-  struct lpath_traits;
-  typedef boost::filesystem::basic_path<lstring, lpath_traits> lpath;
-
-  struct lpath_traits
-  {
-    typedef lstring internal_string_type;
-    typedef std::string external_string_type;
-
-    static external_string_type to_external( const lpath &,
-      const internal_string_type & src )
-    {
-      external_string_type tmp;
-      for ( internal_string_type::const_iterator it( src.begin() );
-        it != src.end(); ++it )
-      {
-        tmp += static_cast<external_string_type::value_type>(*it);
-      }
-      return tmp;
-    }
-
-    static internal_string_type to_internal( const external_string_type & src )
-    {
-      internal_string_type tmp;
-      for ( external_string_type::const_iterator it( src.begin() );
-        it != src.end(); ++it ) tmp += *it;
-      return tmp;
-    }
-  };
-
-} // namespace user
-
-namespace boost
-{
-  namespace filesystem2
-  {
-    template<> struct is_basic_path<user::lpath>
-      { static const bool value = true; };
-  }
-}
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/common.vsprops b/SRC/Boost/libs/filesystem/v2/test/msvc/common.vsprops
deleted file mode 100755
index 78be7e8..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/common.vsprops
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="common"
-	>
-	<Tool
-		Name="VCCLCompilerTool"
-		AdditionalIncludeDirectories="../../../../../.."
-		PreprocessorDefinitions="BOOST_ALL_NO_LIB;BOOST_SYSTEM_DYN_LINK;BOOST_FILESYSTEM_DYN_LINK"
-		ExceptionHandling="2"
-		WarningLevel="4"
-	/>
-</VisualStudioPropertySheet>
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/convenience_test/convenience_test.vcproj b/SRC/Boost/libs/filesystem/v2/test/msvc/convenience_test/convenience_test.vcproj
deleted file mode 100755
index 1ddfa21..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/convenience_test/convenience_test.vcproj
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="convenience_test"
-	ProjectGUID="{1AA29237-E10E-400B-8A30-4DA67FFB648C}"
-	RootNamespace="convenience_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\convenience_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/deprecated_test/deprecated_test.vcproj b/SRC/Boost/libs/filesystem/v2/test/msvc/deprecated_test/deprecated_test.vcproj
deleted file mode 100755
index 0564c7a..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/deprecated_test/deprecated_test.vcproj
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="deprecated_test"
-	ProjectGUID="{EA1530CD-7058-4912-8B51-8D55A07F0A1D}"
-	RootNamespace="deprecated_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\deprecated_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/filesystem-v2.sln b/SRC/Boost/libs/filesystem/v2/test/msvc/filesystem-v2.sln
deleted file mode 100755
index a899e27..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/filesystem-v2.sln
+++ /dev/null
@@ -1,119 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "filesystem_dll", "filesystem_dll\filesystem_dll.vcproj", "{F31C02C7-63A4-489C-A176-695D68E5BCA4}"
-	ProjectSection(ProjectDependencies) = postProject
-		{15371D22-F930-4286-9126-C3516E78CB09} = {15371D22-F930-4286-9126-C3516E78CB09}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "operations_test", "operations_test\operations_test.vcproj", "{9C8BACE4-BCA5-479C-801C-AB903DE931D1}"
-	ProjectSection(ProjectDependencies) = postProject
-		{15371D22-F930-4286-9126-C3516E78CB09} = {15371D22-F930-4286-9126-C3516E78CB09}
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4} = {F31C02C7-63A4-489C-A176-695D68E5BCA4}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "system_dll", "system_dll\system_dll.vcproj", "{15371D22-F930-4286-9126-C3516E78CB09}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "path_test", "path_test\path_test.vcproj", "{EAB6925F-DB89-4759-BC8E-6F1AB3176393}"
-	ProjectSection(ProjectDependencies) = postProject
-		{15371D22-F930-4286-9126-C3516E78CB09} = {15371D22-F930-4286-9126-C3516E78CB09}
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4} = {F31C02C7-63A4-489C-A176-695D68E5BCA4}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstream_test", "fstream_test\fstream_test.vcproj", "{F80D96CE-07DC-48DF-85FD-399A7266E457}"
-	ProjectSection(ProjectDependencies) = postProject
-		{15371D22-F930-4286-9126-C3516E78CB09} = {15371D22-F930-4286-9126-C3516E78CB09}
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4} = {F31C02C7-63A4-489C-A176-695D68E5BCA4}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convenience_test", "convenience_test\convenience_test.vcproj", "{1AA29237-E10E-400B-8A30-4DA67FFB648C}"
-	ProjectSection(ProjectDependencies) = postProject
-		{15371D22-F930-4286-9126-C3516E78CB09} = {15371D22-F930-4286-9126-C3516E78CB09}
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4} = {F31C02C7-63A4-489C-A176-695D68E5BCA4}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wide_test", "wide_test\wide_test.vcproj", "{124C635E-ABDE-4DA7-BECB-3E3AD16CDDF6}"
-	ProjectSection(ProjectDependencies) = postProject
-		{15371D22-F930-4286-9126-C3516E78CB09} = {15371D22-F930-4286-9126-C3516E78CB09}
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4} = {F31C02C7-63A4-489C-A176-695D68E5BCA4}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_ls", "simple_ls\simple_ls.vcproj", "{FE2BA1DC-82B5-4B4A-8E5C-A1C2AE0C6EF0}"
-	ProjectSection(ProjectDependencies) = postProject
-		{15371D22-F930-4286-9126-C3516E78CB09} = {15371D22-F930-4286-9126-C3516E78CB09}
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4} = {F31C02C7-63A4-489C-A176-695D68E5BCA4}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mbcopy", "mbcopy\mbcopy.vcproj", "{80712DDD-CA0F-4177-AD0F-1392BB497902}"
-	ProjectSection(ProjectDependencies) = postProject
-		{15371D22-F930-4286-9126-C3516E78CB09} = {15371D22-F930-4286-9126-C3516E78CB09}
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4} = {F31C02C7-63A4-489C-A176-695D68E5BCA4}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "large_file_support_test", "large_file_support_test\large_file_support_test.vcproj", "{49414D8C-BE1D-4C70-8E6B-7F2D3F5B18B0}"
-	ProjectSection(ProjectDependencies) = postProject
-		{15371D22-F930-4286-9126-C3516E78CB09} = {15371D22-F930-4286-9126-C3516E78CB09}
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4} = {F31C02C7-63A4-489C-A176-695D68E5BCA4}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "deprecated_test", "deprecated_test\deprecated_test.vcproj", "{EA1530CD-7058-4912-8B51-8D55A07F0A1D}"
-	ProjectSection(ProjectDependencies) = postProject
-		{15371D22-F930-4286-9126-C3516E78CB09} = {15371D22-F930-4286-9126-C3516E78CB09}
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4} = {F31C02C7-63A4-489C-A176-695D68E5BCA4}
-	EndProjectSection
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Release|Win32 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4}.Debug|Win32.ActiveCfg = Debug|Win32
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4}.Debug|Win32.Build.0 = Debug|Win32
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4}.Release|Win32.ActiveCfg = Release|Win32
-		{F31C02C7-63A4-489C-A176-695D68E5BCA4}.Release|Win32.Build.0 = Release|Win32
-		{9C8BACE4-BCA5-479C-801C-AB903DE931D1}.Debug|Win32.ActiveCfg = Debug|Win32
-		{9C8BACE4-BCA5-479C-801C-AB903DE931D1}.Debug|Win32.Build.0 = Debug|Win32
-		{9C8BACE4-BCA5-479C-801C-AB903DE931D1}.Release|Win32.ActiveCfg = Release|Win32
-		{9C8BACE4-BCA5-479C-801C-AB903DE931D1}.Release|Win32.Build.0 = Release|Win32
-		{15371D22-F930-4286-9126-C3516E78CB09}.Debug|Win32.ActiveCfg = Debug|Win32
-		{15371D22-F930-4286-9126-C3516E78CB09}.Debug|Win32.Build.0 = Debug|Win32
-		{15371D22-F930-4286-9126-C3516E78CB09}.Release|Win32.ActiveCfg = Release|Win32
-		{15371D22-F930-4286-9126-C3516E78CB09}.Release|Win32.Build.0 = Release|Win32
-		{EAB6925F-DB89-4759-BC8E-6F1AB3176393}.Debug|Win32.ActiveCfg = Debug|Win32
-		{EAB6925F-DB89-4759-BC8E-6F1AB3176393}.Debug|Win32.Build.0 = Debug|Win32
-		{EAB6925F-DB89-4759-BC8E-6F1AB3176393}.Release|Win32.ActiveCfg = Release|Win32
-		{EAB6925F-DB89-4759-BC8E-6F1AB3176393}.Release|Win32.Build.0 = Release|Win32
-		{F80D96CE-07DC-48DF-85FD-399A7266E457}.Debug|Win32.ActiveCfg = Debug|Win32
-		{F80D96CE-07DC-48DF-85FD-399A7266E457}.Debug|Win32.Build.0 = Debug|Win32
-		{F80D96CE-07DC-48DF-85FD-399A7266E457}.Release|Win32.ActiveCfg = Release|Win32
-		{F80D96CE-07DC-48DF-85FD-399A7266E457}.Release|Win32.Build.0 = Release|Win32
-		{1AA29237-E10E-400B-8A30-4DA67FFB648C}.Debug|Win32.ActiveCfg = Debug|Win32
-		{1AA29237-E10E-400B-8A30-4DA67FFB648C}.Debug|Win32.Build.0 = Debug|Win32
-		{1AA29237-E10E-400B-8A30-4DA67FFB648C}.Release|Win32.ActiveCfg = Release|Win32
-		{1AA29237-E10E-400B-8A30-4DA67FFB648C}.Release|Win32.Build.0 = Release|Win32
-		{124C635E-ABDE-4DA7-BECB-3E3AD16CDDF6}.Debug|Win32.ActiveCfg = Debug|Win32
-		{124C635E-ABDE-4DA7-BECB-3E3AD16CDDF6}.Debug|Win32.Build.0 = Debug|Win32
-		{124C635E-ABDE-4DA7-BECB-3E3AD16CDDF6}.Release|Win32.ActiveCfg = Release|Win32
-		{124C635E-ABDE-4DA7-BECB-3E3AD16CDDF6}.Release|Win32.Build.0 = Release|Win32
-		{FE2BA1DC-82B5-4B4A-8E5C-A1C2AE0C6EF0}.Debug|Win32.ActiveCfg = Debug|Win32
-		{FE2BA1DC-82B5-4B4A-8E5C-A1C2AE0C6EF0}.Debug|Win32.Build.0 = Debug|Win32
-		{FE2BA1DC-82B5-4B4A-8E5C-A1C2AE0C6EF0}.Release|Win32.ActiveCfg = Release|Win32
-		{FE2BA1DC-82B5-4B4A-8E5C-A1C2AE0C6EF0}.Release|Win32.Build.0 = Release|Win32
-		{80712DDD-CA0F-4177-AD0F-1392BB497902}.Debug|Win32.ActiveCfg = Debug|Win32
-		{80712DDD-CA0F-4177-AD0F-1392BB497902}.Debug|Win32.Build.0 = Debug|Win32
-		{80712DDD-CA0F-4177-AD0F-1392BB497902}.Release|Win32.ActiveCfg = Release|Win32
-		{80712DDD-CA0F-4177-AD0F-1392BB497902}.Release|Win32.Build.0 = Release|Win32
-		{49414D8C-BE1D-4C70-8E6B-7F2D3F5B18B0}.Debug|Win32.ActiveCfg = Debug|Win32
-		{49414D8C-BE1D-4C70-8E6B-7F2D3F5B18B0}.Debug|Win32.Build.0 = Debug|Win32
-		{49414D8C-BE1D-4C70-8E6B-7F2D3F5B18B0}.Release|Win32.ActiveCfg = Release|Win32
-		{49414D8C-BE1D-4C70-8E6B-7F2D3F5B18B0}.Release|Win32.Build.0 = Release|Win32
-		{EA1530CD-7058-4912-8B51-8D55A07F0A1D}.Debug|Win32.ActiveCfg = Debug|Win32
-		{EA1530CD-7058-4912-8B51-8D55A07F0A1D}.Debug|Win32.Build.0 = Debug|Win32
-		{EA1530CD-7058-4912-8B51-8D55A07F0A1D}.Release|Win32.ActiveCfg = Release|Win32
-		{EA1530CD-7058-4912-8B51-8D55A07F0A1D}.Release|Win32.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/filesystem_dll/filesystem_dll.vcproj b/SRC/Boost/libs/filesystem/v2/test/msvc/filesystem_dll/filesystem_dll.vcproj
deleted file mode 100755
index 8fd3a87..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/filesystem_dll/filesystem_dll.vcproj
+++ /dev/null
@@ -1,207 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="filesystem_dll"
-	ProjectGUID="{F31C02C7-63A4-489C-A176-695D68E5BCA4}"
-	RootNamespace="filesystem_dll"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FILESYSTEM_DLL_EXPORTS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FILESYSTEM_DLL_EXPORTS"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\..\v3\src\utf8_codecvt_facet.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\src\v2_operations.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\src\v2_path.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\src\v2_portability.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/fstream_test/fstream_test.vcproj b/SRC/Boost/libs/filesystem/v2/test/msvc/fstream_test/fstream_test.vcproj
deleted file mode 100755
index f08f396..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/fstream_test/fstream_test.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="fstream_test"
-	ProjectGUID="{F80D96CE-07DC-48DF-85FD-399A7266E457}"
-	RootNamespace="fstream_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\fstream_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/large_file_support_test/large_file_support_test.vcproj b/SRC/Boost/libs/filesystem/v2/test/msvc/large_file_support_test/large_file_support_test.vcproj
deleted file mode 100755
index b4dc861..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/large_file_support_test/large_file_support_test.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="large_file_support_test"
-	ProjectGUID="{49414D8C-BE1D-4C70-8E6B-7F2D3F5B18B0}"
-	RootNamespace="large_file_support_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\large_file_support_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/mbcopy/mbcopy.vcproj b/SRC/Boost/libs/filesystem/v2/test/msvc/mbcopy/mbcopy.vcproj
deleted file mode 100755
index 6d40ac3..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/mbcopy/mbcopy.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="mbcopy"
-	ProjectGUID="{80712DDD-CA0F-4177-AD0F-1392BB497902}"
-	RootNamespace="mbcopy"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine=""
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine=""
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\example\mbcopy.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\example\mbpath.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/mbpath/mbpath.vcproj b/SRC/Boost/libs/filesystem/v2/test/msvc/mbpath/mbpath.vcproj
deleted file mode 100755
index dd6d13a..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/mbpath/mbpath.vcproj
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="mbpath"
-	ProjectGUID="{B81C9F3C-AAF4-480B-A194-D60D011AC1AF}"
-	RootNamespace="mbpath"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\example\mbpath.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/operations_test/operations_test.vcproj b/SRC/Boost/libs/filesystem/v2/test/msvc/operations_test/operations_test.vcproj
deleted file mode 100755
index d5d0b15..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/operations_test/operations_test.vcproj
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="operations_test"
-	ProjectGUID="{9C8BACE4-BCA5-479C-801C-AB903DE931D1}"
-	RootNamespace="operations_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\operations_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/path_test/path_test.vcproj b/SRC/Boost/libs/filesystem/v2/test/msvc/path_test/path_test.vcproj
deleted file mode 100755
index c16efab..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/path_test/path_test.vcproj
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="path_test"
-	ProjectGUID="{EAB6925F-DB89-4759-BC8E-6F1AB3176393}"
-	RootNamespace="path_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\path_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/simple_ls/simple_ls.vcproj b/SRC/Boost/libs/filesystem/v2/test/msvc/simple_ls/simple_ls.vcproj
deleted file mode 100755
index d8d91b7..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/simple_ls/simple_ls.vcproj
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="simple_ls"
-	ProjectGUID="{FE2BA1DC-82B5-4B4A-8E5C-A1C2AE0C6EF0}"
-	RootNamespace="simple_ls"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine=""
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine=""
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\example\simple_ls.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/system_dll/system_dll.vcproj b/SRC/Boost/libs/filesystem/v2/test/msvc/system_dll/system_dll.vcproj
deleted file mode 100755
index f4a53cd..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/system_dll/system_dll.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="system_dll"
-	ProjectGUID="{15371D22-F930-4286-9126-C3516E78CB09}"
-	RootNamespace="system_dll"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SYSTEM_DLL_EXPORTS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SYSTEM_DLL_EXPORTS"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\..\..\system\src\error_code.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v2/test/msvc/wide_test/wide_test.vcproj b/SRC/Boost/libs/filesystem/v2/test/msvc/wide_test/wide_test.vcproj
deleted file mode 100755
index e1ccd5e..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/msvc/wide_test/wide_test.vcproj
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="wide_test"
-	ProjectGUID="{124C635E-ABDE-4DA7-BECB-3E3AD16CDDF6}"
-	RootNamespace="wide_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\wide_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v2/test/operations_test.cpp b/SRC/Boost/libs/filesystem/v2/test/operations_test.cpp
deleted file mode 100755
index 9a9c3b3..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/operations_test.cpp
+++ /dev/null
@@ -1,953 +0,0 @@
-//  Boost operations_test.cpp  -----------------------------------------------//
-
-//  Copyright Beman Dawes 2002.
-
-//  Distributed under the Boost Software License, Version 1.0. (See accompanying
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-#define BOOST_FILESYSTEM_VERSION 2
-
-#include <boost/config/warning_disable.hpp>
-
-//  See deprecated_test for tests of deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-# define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/operations.hpp>
-#include <boost/filesystem/convenience.hpp>
-#include <boost/cerrno.hpp>
-namespace fs = boost::filesystem;
-
-#include <boost/config.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-
-using boost::system::error_code;
-using boost::system::system_category;
-using boost::system::system_error;
-
-#include <fstream>
-#include <iostream>
-#include <string>
-#include <cstring> // for strncmp, etc.
-#include <ctime>
-#include <cstdlib> // for system()
-
-#ifndef BOOST_FILESYSTEM2_NARROW_ONLY
-# define BOOST_BND(BOOST_FUNC_TO_DO) BOOST_FUNC_TO_DO<fs::path>
-#else
-# define BOOST_BND(BOOST_FUNC_TO_DO) BOOST_FUNC_TO_DO
-#endif
-
-// VC++ 7.0 and earlier has a serious namespace bug that causes a clash
-// between boost::filesystem::is_empty and the unrelated type trait
-// boost::is_empty.
-#if !defined( BOOST_MSVC ) || BOOST_MSVC > 1300
-# define BOOST_FS_IS_EMPTY fs::is_empty
-#else
-# define BOOST_FS_IS_EMPTY fs::_is_empty
-#endif
-
-# ifdef BOOST_NO_STDC_NAMESPACE
-    namespace std { using ::asctime; using ::gmtime; using ::localtime;
-    using ::difftime; using ::time; using ::tm; using ::mktime; using ::system; }
-# endif
-
-#ifdef BOOST_WINDOWS_API
-# include <windows.h>
-#endif
-
-#define CHECK_EXCEPTION(Functor,Expect) throws_fs_error(Functor,Expect,__LINE__)
-
-namespace
-{
-  typedef int errno_t;
-  std::string platform( BOOST_PLATFORM );
-  bool report_throws;
-  fs::directory_iterator end_itr;
-
-  unsigned short language_id;  // 0 except for Windows
-
-  const char * temp_dir_name = "v2_operations_test";
-
-  void create_file( const fs::path & ph, const std::string & contents )
-  {
-    std::ofstream f( ph.file_string().c_str() );
-    if ( !f )
-      BOOST_FILESYSTEM_THROW( fs::filesystem_error( "operations_test create_file",
-      ph, error_code(errno, system_category()) ) );
-    if ( !contents.empty() ) f << contents;
-  }
-
-  void verify_file( const fs::path & ph, const std::string & expected )
-  {
-    std::ifstream f( ph.file_string().c_str() );
-    if ( !f )
-      BOOST_FILESYSTEM_THROW( fs::filesystem_error( "operations_test verify_file",
-        ph, error_code(errno, system_category()) ) );
-    std::string contents;
-    f >> contents;
-    if ( contents != expected )
-      BOOST_FILESYSTEM_THROW( fs::filesystem_error( "operations_test verify_file contents \""
-        + contents  + "\" != \"" + expected + "\"", ph, error_code() ) );
-  }
-
-  template< typename F >
-    bool throws_fs_error( F func, errno_t en, int line )
-  {
-    try { func(); }
-
-    catch ( const fs::filesystem_error & ex )
-    {
-      if ( report_throws )
-      {
-        // use the what() convenience function to display exceptions
-        std::cout << "\n" << ex.what() << "\n";
-      }
-      if ( en == 0
-        || en == ex.code().default_error_condition().value() ) return true;
-      std::cout
-        << "\nWarning: line " << line
-        << " exception reports default_error_condition().value() " << ex.code().default_error_condition().value()
-        << ", should be " << en
-        << "\n value() is " << ex.code().value()
-        << std::endl;
-      return true;
-    }
-    return false;
-  }
-
-  // compile-only two argument "do-the-right-thing" tests
-  //   verifies that all overload combinations compile without error
-  void do_not_call()
-  {
-    fs::path p;
-    std::string s;
-    const char * a = 0;
-    fs::copy_file( p, p );
-    fs::copy_file( s, p );
-    fs::copy_file( a, p );
-    fs::copy_file( p, s );
-    fs::copy_file( p, a );
-    fs::copy_file( s, s );
-    fs::copy_file( a, s );
-    fs::copy_file( s, a );
-    fs::copy_file( a, a );
-  }
-
-  void exception_tests()
-  {
-    bool exception_thrown;
-    exception_thrown = false;
-    try
-    {
-      fs::create_directory( "no-such-dir/foo/bar" );
-    }
-    catch ( std::runtime_error x )
-    {
-      exception_thrown = true;
-      if ( report_throws ) std::cout << x.what() << std::endl;
-      if ( platform == "Windows" && language_id == 0x0409 ) // English (United States)
-        // the stdcxx standard library apparently appends additional info
-        // to what(), so check only the initial portion: 
-        BOOST_TEST( std::strncmp( x.what(),
-          "boost::filesystem::create_directory",
-          sizeof("boost::filesystem::create_directory")-1 ) == 0 );
-    }
-    BOOST_TEST( exception_thrown );
-
-    exception_thrown = false;
-    try
-    {
-      fs::create_directory( "no-such-dir/foo/bar" );
-    }
-    catch ( system_error x )
-    {
-      exception_thrown = true;
-      if ( report_throws ) std::cout << x.what() << std::endl;
-      if ( platform == "Windows" && language_id == 0x0409 ) // English (United States)
-        BOOST_TEST( std::strcmp( x.what(),
-          "boost::filesystem::create_directory: The system cannot find the path specified" ) == 0 );
-    }
-    BOOST_TEST( exception_thrown );
-
-    exception_thrown = false;
-    try
-    {
-      fs::create_directory( "no-such-dir/foo/bar" );
-    }
-    catch ( fs::filesystem_error x )
-    {
-      exception_thrown = true;
-      if ( report_throws ) std::cout << x.what() << std::endl;
-      if ( platform == "Windows" && language_id == 0x0409 ) // English (United States)
-      {
-        bool ok ( std::strcmp( x.what(),
-          "boost::filesystem::create_directory: The system cannot find the path specified: \"no-such-dir\\foo\\bar\"" ) == 0 );
-        BOOST_TEST( ok );
-        if ( !ok )
-        {
-          std::cout << "what returns \"" << x.what() << "\"" << std::endl;
-        }
-      }
-    }
-    BOOST_TEST( exception_thrown );
-
-    exception_thrown = false;
-    try
-    {
-      fs::create_directory( "no-such-dir/foo/bar" );
-    }
-    catch ( const fs::filesystem_error & x )
-    {
-      exception_thrown = true;
-      if ( report_throws ) std::cout << x.what() << std::endl;
-      if ( platform == "Windows" && language_id == 0x0409 ) // English (United States)
-      {
-        bool ok ( std::strcmp( x.what(),
-          "boost::filesystem::create_directory: The system cannot find the path specified: \"no-such-dir\\foo\\bar\"" ) == 0 );
-        BOOST_TEST( ok );
-        if ( !ok )
-        {
-          std::cout << "what returns \"" << x.what() << "\"" << std::endl;
-        }
-      }
-    }
-    BOOST_TEST( exception_thrown );
-  }
-
-  void bad_file_size()
-  {
-    fs::file_size( " No way, Jose" );
-  }
-  
-  void bad_directory_size()
-  {
-    fs::file_size( fs::current_path<fs::path>() );
-  }
-  
-  fs::path bad_create_directory_path;
-  void bad_create_directory()
-  {
-    fs::create_directory( bad_create_directory_path );
-  }
-  
-  void bad_equivalent()
-  {
-    fs::equivalent( "no-such-path", "another-not-present-path" );
-  }
-
-  fs::path bad_remove_dir;
-  void bad_remove()
-  {
-    fs::remove( bad_remove_dir );
-  }
-
-  class renamer
-  {
-  public:
-    renamer( const fs::path & p1, const fs::path & p2 )
-      : from(p1), to(p2) {}
-    void operator()()
-    {
-      fs::rename( from, to );
-    }
-  private:
-    fs::path from;
-    fs::path to;
-  };
-  
-} // unnamed namespace
-
-//  main  ------------------------------------------------------------------------------//
-
-int cpp_main( int argc, char * argv[] )
-{
-  if ( argc > 1 && *argv[1]=='-' && *(argv[1]+1)=='t' ) report_throws = true;
-
-  // The choice of platform is make at runtime rather than compile-time
-  // so that compile errors for all platforms will be detected even though
-  // only the current platform is runtime tested.
-# if defined( BOOST_POSIX_API )
-    platform = "POSIX";
-# elif defined( BOOST_WINDOWS_API )
-    platform = "Windows";
-#   if !defined(__MINGW32__) && !defined(__CYGWIN__)
-      language_id = ::GetUserDefaultUILanguage();
-#   else
-      language_id = 0x0409; // Assume US English
-#   endif
-# else
-#   error API should always be defined. Something is wrong with boost/system/api_config.hpp
-# endif
-  std::cout << "API is " << platform << std::endl;
-
-  exception_tests();
-
-  std::cout << "\ninitial_path<path>().string() is\n  \""
-    << fs::initial_path<fs::path>().string()
-            << "\"\n";
-  std::cout << "\ninitial_path<fs::path>().file_string() is\n  \""
-            << fs::initial_path<fs::path>().file_string()
-            << "\"\n\n";
-  BOOST_TEST( fs::initial_path<fs::path>().is_complete() );
-  BOOST_TEST( fs::current_path<fs::path>().is_complete() );
-  BOOST_TEST( fs::initial_path<fs::path>().string()
-    == fs::current_path<fs::path>().string() );
-
-  BOOST_TEST( fs::complete( "" ).empty() );
-  BOOST_TEST( fs::complete( "/" ).string() == fs::initial_path<fs::path>().root_path().string() );
-  BOOST_TEST( fs::complete( "foo" ).string() == fs::initial_path<fs::path>().string()+"/foo" );
-  BOOST_TEST( fs::complete( "/foo" ).string() == fs::initial_path<fs::path>().root_path().string()+"foo" );
-  BOOST_TEST( fs::complete( "foo", fs::path( "//net/bar" ) ).string()
-      ==  "//net/bar/foo" );
-
-  // predicate and status tests
-  BOOST_TEST( fs::exists( "/" ) );
-  fs::path ng( " no-way, Jose" );
-  BOOST_TEST( !fs::exists( ng ) );
-  BOOST_TEST( !fs::is_directory( ng ) );
-  BOOST_TEST( !fs::is_regular_file( ng ) );
-  BOOST_TEST( !fs::is_symlink( ng ) );
-  fs::file_status stat( fs::status( ng ) );
-  BOOST_TEST( fs::status_known( stat ) );
-  BOOST_TEST( !fs::exists( stat ) );
-  BOOST_TEST( !fs::is_directory( stat ) );
-  BOOST_TEST( !fs::is_regular_file( stat ) );
-  BOOST_TEST( !fs::is_other( stat ) );
-  BOOST_TEST( !fs::is_symlink( stat ) );
-  stat = fs::status( "" );
-  BOOST_TEST( fs::status_known( stat ) );
-  BOOST_TEST( !fs::exists( stat ) );
-  BOOST_TEST( !fs::is_directory( stat ) );
-  BOOST_TEST( !fs::is_regular_file( stat ) );
-  BOOST_TEST( !fs::is_other( stat ) );
-  BOOST_TEST( !fs::is_symlink( stat ) );
-
-  fs::path dir(  fs::initial_path<fs::path>() / temp_dir_name );
-
-  if ( fs::exists( dir ) )
-    fs::remove_all( dir );  // remove residue from prior failed tests
-  BOOST_TEST( !fs::exists( dir ) );
-
-  // create a directory, then check it for consistency
-  //   take extra care to report problems, since if this fails
-  //   many subsequent tests will fail
-  try
-  {
-    fs::create_directory( dir );
-  }
-
-  catch ( const fs::filesystem_error & x )
-  {
-    std::cout << x.what() << "\n\n"
-       "***** Creating directory " << dir.string() << " failed.          *****\n"
-       "***** This is a serious error that will prevent further tests    *****\n"
-       "***** from returning useful results. Further testing is aborted. *****\n\n";
-    return 1;
-  }
-
-  catch ( ... )
-  {
-    std::cout << "\n\n"
-       "***** Creating directory " << dir.string() << " failed.          *****\n"
-       "***** This is a serious error that will prevent further tests    *****\n"
-       "***** from returning useful results. Further testing is aborted. *****\n\n";
-    return 1;
-  }
-
-  BOOST_TEST( fs::exists( dir ) );
-  BOOST_TEST( BOOST_FS_IS_EMPTY( dir ) );
-  BOOST_TEST( fs::is_directory( dir ) );
-  BOOST_TEST( !fs::is_regular_file( dir ) );
-  BOOST_TEST( !fs::is_other( dir ) );
-  BOOST_TEST( !fs::is_symlink( dir ) );
-  stat = fs::status( dir );
-  BOOST_TEST( fs::exists( stat ) );
-  BOOST_TEST( fs::is_directory( stat ) );
-  BOOST_TEST( !fs::is_regular_file( stat ) );
-  BOOST_TEST( !fs::is_other( stat ) );
-  BOOST_TEST( !fs::is_symlink( stat ) );
-  
-  // Windows only tests
-  if ( platform == "Windows" )
-  {
-    BOOST_TEST( !fs::exists( fs::path( "//share-not" ) ) );
-    BOOST_TEST( !fs::exists( fs::path( "//share-not/" ) ) );
-    BOOST_TEST( !fs::exists( fs::path( "//share-not/foo" ) ) );
-    BOOST_TEST( !fs::exists( "tools/jam/src/:sys:stat.h" ) ); // !exists() if ERROR_INVALID_NAME
-    BOOST_TEST( !fs::exists( ":sys:stat.h" ) ); // !exists() if ERROR_INVALID_PARAMETER
-    BOOST_TEST( !fs::exists( "1:/" ) );
-    BOOST_TEST( dir.string().size() > 1
-      && dir.string()[1] == ':' ); // verify path includes drive
-
-    BOOST_TEST( fs::system_complete( "" ).empty() );
-    BOOST_TEST( fs::system_complete( "/" ).string()
-      == fs::initial_path<fs::path>().root_path().string() );
-    BOOST_TEST( fs::system_complete( "foo" ).string()
-      == fs::initial_path<fs::path>().string()+"/foo" );
-    BOOST_TEST( fs::system_complete( "/foo" ).string()
-      == fs::initial_path<fs::path>().root_path().string()+"foo" );
-    BOOST_TEST( fs::complete( fs::path( "c:/" ) ).string()
-      == "c:/" );
-    BOOST_TEST( fs::complete( fs::path( "c:/foo" ) ).string()
-      ==  "c:/foo" );
-
-    BOOST_TEST( fs::system_complete( fs::path( fs::initial_path<fs::path>().root_name() ) ).string() == fs::initial_path<fs::path>().string() );
-    BOOST_TEST( fs::system_complete( fs::path( fs::initial_path<fs::path>().root_name()
-      + "foo" ) ).string() == fs::initial_path<fs::path>().string()+"/foo" );
-    BOOST_TEST( fs::system_complete( fs::path( "c:/" ) ).string()
-      == "c:/" );
-    BOOST_TEST( fs::system_complete( fs::path( "c:/foo" ) ).string()
-      ==  "c:/foo" );
-    BOOST_TEST( fs::system_complete( fs::path( "//share" ) ).string()
-      ==  "//share" );
-  } // Windows
-
-  else if ( platform == "POSIX" )
-  {
-    BOOST_TEST( fs::system_complete( "" ).empty() );
-    BOOST_TEST( fs::initial_path<fs::path>().root_path().string() == "/" );
-    BOOST_TEST( fs::system_complete( "/" ).string() == "/" );
-    BOOST_TEST( fs::system_complete( "foo" ).string()
-      == fs::initial_path<fs::path>().string()+"/foo" );
-    BOOST_TEST( fs::system_complete( "/foo" ).string()
-      == fs::initial_path<fs::path>().root_path().string()+"foo" );
-  } // POSIX
-
-  // the bound functions should throw, so CHECK_EXCEPTION() should return true
-  BOOST_TEST( CHECK_EXCEPTION( bad_file_size, ENOENT ) );
-
-  // test path::exception members
-  try { fs::file_size( ng ); } // will throw
-
-  catch ( const fs::filesystem_error & ex )
-  {
-    BOOST_TEST( ex.path1().string() == " no-way, Jose" );
-  }
-  // several functions give unreasonable results if uintmax_t isn't 64-bits
-  std::cout << "sizeof(boost::uintmax_t) = " << sizeof(boost::uintmax_t) << '\n';
-  BOOST_TEST( sizeof( boost::uintmax_t ) >= 8 );
-
-  // set the current directory, then check it for consistency
-  fs::path original_dir = fs::current_path<fs::path>();
-  BOOST_TEST( dir != original_dir );
-  fs::current_path( dir );
-  BOOST_TEST( fs::current_path<fs::path>() == dir );
-  BOOST_TEST( fs::current_path<fs::path>() != original_dir );
-  fs::current_path( original_dir );
-  BOOST_TEST( fs::current_path<fs::path>() == original_dir );
-  BOOST_TEST( fs::current_path<fs::path>() != dir );
-  // make sure the overloads work
-  fs::current_path( dir.string().c_str() );
-  BOOST_TEST( fs::current_path<fs::path>() == dir );
-  BOOST_TEST( fs::current_path<fs::path>() != original_dir );
-  fs::current_path( original_dir.string() );
-  BOOST_TEST( fs::current_path<fs::path>() == original_dir );
-  BOOST_TEST( fs::current_path<fs::path>() != dir );
-
-  // make some reasonable assuptions for testing purposes
-  fs::space_info spi( fs::space( dir ) );
-  BOOST_TEST( spi.capacity > 1000000 );
-  BOOST_TEST( spi.free > 1000 );
-  BOOST_TEST( spi.capacity > spi.free );
-  BOOST_TEST( spi.free >= spi.available );
-
-  // it is convenient to display space, but older VC++ versions choke 
-# if !defined(BOOST_MSVC) || _MSC_VER >= 1300  // 1300 == VC++ 7.0
-    std::cout << " capacity = " << spi.capacity << '\n';
-    std::cout << "     free = " << spi.free << '\n';
-    std::cout << "available = " << spi.available << '\n';
-# endif
-
-  if ( platform == "Windows" )
-    BOOST_TEST( CHECK_EXCEPTION( bad_directory_size, ENOENT ) );
-  else
-    BOOST_TEST( CHECK_EXCEPTION( bad_directory_size, 0 ) );
-  BOOST_TEST( !fs::create_directory( dir ) );
-
-  BOOST_TEST( !fs::is_symlink( dir ) );
-  BOOST_TEST( !fs::is_symlink( "nosuchfileordirectory" ) );
-
-  fs::path d1( dir / "d1" );
-  BOOST_TEST( fs::create_directory( d1 ) );
-  BOOST_TEST( fs::exists( d1 ) );
-  BOOST_TEST( fs::is_directory( d1 ) );
-  BOOST_TEST( BOOST_FS_IS_EMPTY( d1 ) );
-
-//  boost::function_requires< boost::InputIteratorConcept< fs::directory_iterator > >();
-
-  bool dir_itr_exception(false);
-  try { fs::directory_iterator it( "" ); }
-  catch ( const fs::filesystem_error & ) { dir_itr_exception = true; }
-  BOOST_TEST( dir_itr_exception );
-
-  dir_itr_exception = false;
-  try { fs::directory_iterator it( "nosuchdirectory" ); }
-  catch ( const fs::filesystem_error & ) { dir_itr_exception = true; }
-  BOOST_TEST( dir_itr_exception );
-
-  dir_itr_exception = false;
-  try
-  {
-    error_code ec;
-    fs::directory_iterator it( "nosuchdirectory", ec );
-    BOOST_TEST( ec );
-    BOOST_TEST( ec == fs::detail::not_found_error() );
-  }
-  catch ( const fs::filesystem_error & ) { dir_itr_exception = true; }
-  BOOST_TEST( !dir_itr_exception );
-  
-  {
-    // probe query function overloads
-    fs::directory_iterator dir_itr( dir );
-    BOOST_TEST( fs::is_directory( *dir_itr ) );
-    BOOST_TEST( fs::is_directory( dir_itr->status() ) );
-    BOOST_TEST( fs::is_directory( fs::symlink_status(*dir_itr) ) );
-    BOOST_TEST( fs::is_directory( dir_itr->symlink_status() ) );
-    BOOST_TEST( dir_itr->path().filename() == "d1" );
-  }
-
-  // create a second directory named d2
-  fs::path d2( dir / "d2" );
-  fs::create_directory(d2 );
-  BOOST_TEST( fs::exists( d2 ) );
-  BOOST_TEST( fs::is_directory( d2 ) );
-
-  // test the basic operation of directory_iterators, and test that
-  // stepping one iterator doesn't affect a different iterator.
-  {
-    fs::directory_iterator dir_itr( dir );
-    BOOST_TEST( fs::exists(dir_itr->status()) );
-    BOOST_TEST( fs::is_directory(dir_itr->status()) );
-    BOOST_TEST( !fs::is_regular_file(dir_itr->status()) );
-    BOOST_TEST( !fs::is_other(dir_itr->status()) );
-    BOOST_TEST( !fs::is_symlink(dir_itr->status()) );
-
-    fs::directory_iterator dir_itr2( dir );
-    BOOST_TEST( dir_itr->path().filename() == "d1"
-      || dir_itr->path().filename() == "d2" );
-    BOOST_TEST( dir_itr2->path().filename() == "d1" || dir_itr2->path().filename() == "d2" );
-    if ( dir_itr->path().filename() == "d1" )
-    {
-      BOOST_TEST( (++dir_itr)->path().filename() == "d2" );
-      BOOST_TEST( dir_itr2->path().filename() == "d1" );
-      BOOST_TEST( (++dir_itr2)->path().filename() == "d2" );
-    }
-    else
-    {
-      BOOST_TEST( dir_itr->path().filename() == "d2" );
-      BOOST_TEST( (++dir_itr)->path().filename() == "d1" );
-      BOOST_TEST( (dir_itr2)->path().filename() == "d2" );
-      BOOST_TEST( (++dir_itr2)->path().filename() == "d1" );
-    }
-    BOOST_TEST( ++dir_itr == fs::directory_iterator() );
-    BOOST_TEST( dir_itr2 != fs::directory_iterator() );
-    BOOST_TEST( ++dir_itr2 == fs::directory_iterator() );
-  }
-
-  { // *i++ must work to meet the standard's InputIterator requirements
-    fs::directory_iterator dir_itr( dir );
-    BOOST_TEST( dir_itr->path().filename() == "d1"
-      || dir_itr->path().filename() == "d2" );
-    if ( dir_itr->path().filename() == "d1" )
-    {
-      BOOST_TEST( (*dir_itr++).path().filename() == "d1" );
-      BOOST_TEST( dir_itr->path().filename() == "d2" );
-    }
-    else
-    {
-      // Check C++98 input iterator requirements
-      BOOST_TEST( (*dir_itr++).path().filename() == "d2" );
-      // input iterator requirements in the current WP would require this check:
-      // BOOST_TEST( implicit_cast<std::string const&>(*dir_itr++).filename() == "d1" );
-
-      BOOST_TEST( dir_itr->path().filename() == "d1" );
-    }
-
-    // test case reported in comment to SourceForge bug tracker [937606]
-    fs::directory_iterator it( dir );
-    const fs::path p1 = *it++;
-    BOOST_TEST( it != fs::directory_iterator() );
-    const fs::path p2 = *it++;
-    BOOST_TEST( p1 != p2 );
-    BOOST_TEST( it == fs::directory_iterator() );
-  }
-
-  //  Windows has a tricky special case when just the root-name is given,
-  //  causing the rest of the path to default to the current directory.
-  //  Reported as S/F bug [ 1259176 ]
-  if ( platform == "Windows" )
-  {
-    fs::path root_name_path( fs::current_path<fs::path>().root_name() );
-    fs::directory_iterator it( root_name_path );
-    BOOST_TEST( it != fs::directory_iterator() );
-    BOOST_TEST( fs::exists( *it ) );
-    BOOST_TEST( it->path().parent_path() == root_name_path );
-    bool found(false);
-    do
-    {
-      if ( it->path().filename() == temp_dir_name ) found = true;
-    } while ( ++it != fs::directory_iterator() );
-    BOOST_TEST( found );
-  }
-
-  // create an empty file named "f0"
-  fs::path file_ph( dir / "f0");
-  create_file( file_ph, "" );
-  BOOST_TEST( fs::exists( file_ph ) );
-  BOOST_TEST( !fs::is_directory( file_ph ) );
-  BOOST_TEST( fs::is_regular_file( file_ph ) );
-  BOOST_TEST( BOOST_FS_IS_EMPTY( file_ph ) );
-  BOOST_TEST( fs::file_size( file_ph ) == 0 );
-  bad_create_directory_path = file_ph;
-  BOOST_TEST( CHECK_EXCEPTION( bad_create_directory, EEXIST ) );
-  stat = fs::status( file_ph );
-  BOOST_TEST( fs::status_known( stat ) );
-  BOOST_TEST( fs::exists( stat ) );
-  BOOST_TEST( !fs::is_directory( stat ) );
-  BOOST_TEST( fs::is_regular_file( stat ) );
-  BOOST_TEST( !fs::is_other( stat ) );
-  BOOST_TEST( !fs::is_symlink( stat ) );
-
-  // create a file named "f1"
-  file_ph = dir / "f1";
-  create_file( file_ph, "foobar1" );
-
-  BOOST_TEST( fs::exists( file_ph ) );
-  BOOST_TEST( !fs::is_directory( file_ph ) );
-  BOOST_TEST( fs::is_regular_file( file_ph ) );
-  BOOST_TEST( fs::file_size( file_ph ) == 7 );
-  verify_file( file_ph, "foobar1" );
-
-  // equivalence tests
-  BOOST_TEST( CHECK_EXCEPTION( bad_equivalent, ENOENT ) );
-  BOOST_TEST( fs::equivalent( file_ph, dir / "f1" ) );
-  BOOST_TEST( fs::equivalent( dir, d1 / ".." ) );
-  BOOST_TEST( !fs::equivalent( file_ph, dir ) );
-  BOOST_TEST( !fs::equivalent( dir, file_ph ) );
-  BOOST_TEST( !fs::equivalent( d1, d2 ) );
-  BOOST_TEST( !fs::equivalent( dir, ng ) );
-  BOOST_TEST( !fs::equivalent( ng, dir ) );
-  BOOST_TEST( !fs::equivalent( file_ph, ng ) );
-  BOOST_TEST( !fs::equivalent( ng, file_ph ) );
-  
-  // hard link tests
-  fs::path from_ph( dir / "f3" );
-  BOOST_TEST( !fs::exists( from_ph ) );
-  BOOST_TEST( fs::exists( file_ph ) );
-  bool create_hard_link_ok(true);
-  try { fs::create_hard_link( file_ph, from_ph ); }
-  catch ( const fs::filesystem_error & ex )
-  {
-    create_hard_link_ok = false;
-    std::cout
-      << "create_hard_link() attempt failed\n"
-      << "filesystem_error.what() reports: " << ex.what() << '\n'
-      << "create_hard_link() may not be supported on this file system\n";
-  }
-
-  if ( create_hard_link_ok )
-  {
-    std::cout << "create_hard_link(\"" << file_ph << "\", \""
-      << from_ph << "\") succeeded\n";
-    BOOST_TEST( fs::exists( from_ph ) );
-    BOOST_TEST( fs::exists( file_ph ) );
-    BOOST_TEST( fs::equivalent( from_ph, file_ph ) );
-  }
-
-  error_code ec;
-  BOOST_TEST( fs::create_hard_link( fs::path("doesnotexist"),
-    fs::path("shouldnotwork"), ec ) );
-  BOOST_TEST( ec );
-
-  // symbolic link tests
-  from_ph = dir / "f4";
-  BOOST_TEST( !fs::exists( from_ph ) );
-  BOOST_TEST( fs::exists( file_ph ) );
-  bool create_symlink_ok(true);
-  try { fs::create_symlink( file_ph, from_ph ); }
-  catch ( const fs::filesystem_error & ex )
-  {
-    create_symlink_ok = false;
-    std::cout
-      << "create_symlink() attempt failed\n"
-      << "filesystem_error.what() reports: " << ex.what() << '\n'
-      << "create_symlink() may not be supported on this file system\n";
-  }
-
-  if ( create_symlink_ok )
-  {
-    std::cout << "create_symlink() succeeded\n";
-    BOOST_TEST( fs::exists( from_ph ) );
-    BOOST_TEST( fs::is_symlink( from_ph ) );
-    BOOST_TEST( fs::exists( file_ph ) );
-    BOOST_TEST( fs::equivalent( from_ph, file_ph ) );
-    stat = fs::symlink_status( from_ph );
-    BOOST_TEST( fs::exists( stat ) );
-    BOOST_TEST( !fs::is_directory( stat ) );
-    BOOST_TEST( !fs::is_regular_file( stat ) );
-    BOOST_TEST( !fs::is_other( stat ) );
-    BOOST_TEST( fs::is_symlink( stat ) );
-  }
-
-  ec = error_code();
-  BOOST_TEST( fs::create_symlink( "doesnotexist", "", ec ) );
-  BOOST_TEST( ec );
-
-  // there was an inital bug in directory_iterator that caused premature
-  // close of an OS handle. This block will detect regression.
-  {
-    fs::directory_iterator di;
-    { di = fs::directory_iterator( dir ); }
-    BOOST_TEST( ++di != fs::directory_iterator() );
-  }
-
-  // copy_file() tests
-  std::cout << "begin copy_file test..." << std::endl;
-  fs::copy_file( file_ph, d1 / "f2" );
-  std::cout << "copying complete" << std::endl;
-  BOOST_TEST( fs::exists( file_ph ) );
-  BOOST_TEST( fs::exists( d1 / "f2" ) );
-  BOOST_TEST( !fs::is_directory( d1 / "f2" ) );
-  verify_file( d1 / "f2", "foobar1" );
-
-  bool copy_ex_ok = false;
-  try { fs::copy_file( file_ph, d1 / "f2" ); }
-  catch ( const fs::filesystem_error & ) { copy_ex_ok = true; }
-  BOOST_TEST( copy_ex_ok );
-
-  copy_ex_ok = false;
-  try { fs::copy_file( file_ph, d1 / "f2", fs::copy_option::fail_if_exists ); }
-  catch ( const fs::filesystem_error & ) { copy_ex_ok = true; }
-  BOOST_TEST( copy_ex_ok );
-
-  copy_ex_ok = true;
-  try { fs::copy_file( file_ph, d1 / "f2", fs::copy_option::overwrite_if_exists ); }
-  catch ( const fs::filesystem_error & ) { copy_ex_ok = false; }
-  BOOST_TEST( copy_ex_ok );
-
-  std::cout << "copy_file test complete" << std::endl;
-
-  // rename() test case numbers refer to operations.htm#rename table
-
-  // [case 1] make sure can't rename() a non-existent file
-  BOOST_TEST( !fs::exists( d1 / "f99" ) );
-  BOOST_TEST( !fs::exists( d1 / "f98" ) );
-  renamer n1a( d1 / "f99", d1 / "f98" );
-  BOOST_TEST( CHECK_EXCEPTION( n1a, ENOENT ) );
-  renamer n1b( fs::path(""), d1 / "f98" );
-  BOOST_TEST( CHECK_EXCEPTION( n1b, ENOENT ) );
-
-  // [case 2] rename() target.empty()
-  renamer n2( file_ph, "" );
-  BOOST_TEST( CHECK_EXCEPTION( n2, ENOENT ) );
-
-  // [case 3] make sure can't rename() to an existent file or directory
-  BOOST_TEST( fs::exists( dir / "f1" ) );
-  BOOST_TEST( fs::exists( d1 / "f2" ) );
-  renamer n3a( dir / "f1", d1 / "f2" );
-  BOOST_TEST( CHECK_EXCEPTION( n3a, EEXIST ) );
-  // several POSIX implementations (cygwin, openBSD) report ENOENT instead of EEXIST,
-  // so we don't verify error type on the above test.
-  renamer n3b( dir, d1 );
-  BOOST_TEST( CHECK_EXCEPTION( n3b, 0 ) );
-
-  // [case 4A] can't rename() file to a nonexistent parent directory
-  BOOST_TEST( !fs::is_directory( dir / "f1" ) );
-  BOOST_TEST( !fs::exists( dir / "d3/f3" ) );
-  renamer n4a( dir / "f1", dir / "d3/f3" );
-  BOOST_TEST( CHECK_EXCEPTION( n4a, ENOENT ) );
-
-  // [case 4B] rename() file in same directory
-  BOOST_TEST( fs::exists( d1 / "f2" ) );
-  BOOST_TEST( !fs::exists( d1 / "f50" ) );
-  fs::rename( d1 / "f2", d1 / "f50" );
-  BOOST_TEST( !fs::exists( d1 / "f2" ) );
-  BOOST_TEST( fs::exists( d1 / "f50" ) );
-  fs::rename( d1 / "f50", d1 / "f2" );
-  BOOST_TEST( fs::exists( d1 / "f2" ) );
-  BOOST_TEST( !fs::exists( d1 / "f50" ) );
-
-  // [case 4C] rename() file d1/f2 to d2/f3
-  fs::rename( d1 / "f2", d2 / "f3" );
-  BOOST_TEST( !fs::exists( d1 / "f2" ) );
-  BOOST_TEST( !fs::exists( d2 / "f2" ) );
-  BOOST_TEST( fs::exists( d2 / "f3" ) );
-  BOOST_TEST( !fs::is_directory( d2 / "f3" ) );
-  verify_file( d2 / "f3", "foobar1" );
-  fs::rename( d2 / "f3", d1 / "f2" );
-  BOOST_TEST( fs::exists( d1 / "f2" ) );
-
-  // [case 5A] rename() directory to nonexistent parent directory
-  BOOST_TEST( fs::exists( d1 ) );
-  BOOST_TEST( !fs::exists( dir / "d3/d5" ) );
-  BOOST_TEST( !fs::exists( dir / "d3" ) );
-  renamer n5a( d1, dir / "d3/d5" );
-  BOOST_TEST( CHECK_EXCEPTION( n5a, ENOENT ) );
-
-  // [case 5B] rename() on directory
-  fs::path d3( dir / "d3" );
-  BOOST_TEST( fs::exists( d1 ) );
-  BOOST_TEST( fs::exists( d1 / "f2" ) );
-  BOOST_TEST( !fs::exists( d3 ) );
-  fs::rename( d1, d3 );
-  BOOST_TEST( !fs::exists( d1 ) );
-  BOOST_TEST( fs::exists( d3 ) );
-  BOOST_TEST( fs::is_directory( d3 ) );
-  BOOST_TEST( !fs::exists( d1 / "f2" ) );
-  BOOST_TEST( fs::exists( d3 / "f2" ) );
-  fs::rename( d3, d1 );
-  BOOST_TEST( fs::exists( d1 ) );
-  BOOST_TEST( fs::exists( d1 / "f2" ) );
-  BOOST_TEST( !fs::exists( d3 ) );
-
-  // [case 5C] rename() rename and move d1 to d2 / "d20"
-  BOOST_TEST( fs::exists( d1 ) );
-  BOOST_TEST( !fs::exists( d2 / "d20" ) );
-  BOOST_TEST( fs::exists( d1 / "f2" ) );
-  fs::rename( d1, d2 / "d20" );
-  BOOST_TEST( !fs::exists( d1 ) );
-  BOOST_TEST( fs::exists( d2 / "d20" ) );
-  BOOST_TEST( fs::exists( d2 / "d20" / "f2" ) );
-  fs::rename( d2 / "d20", d1 );
-  BOOST_TEST( fs::exists( d1 ) );
-  BOOST_TEST( !fs::exists( d2 / "d20" ) );
-  BOOST_TEST( fs::exists( d1 / "f2" ) );
-
-  // remove() file
-  file_ph = dir / "shortlife";
-  BOOST_TEST( !fs::exists( file_ph ) );
-  create_file( file_ph, "" );
-  BOOST_TEST( fs::exists( file_ph ) );
-  BOOST_TEST( !fs::is_directory( file_ph ) );
-  BOOST_TEST( fs::remove( file_ph ) );
-  BOOST_TEST( !fs::exists( file_ph ) );
-  BOOST_TEST( !fs::remove( "no-such-file" ) );
-  BOOST_TEST( !fs::remove( "no-such-directory/no-such-file" ) );
-
-  // remove() directory
-  d1 = dir / "shortlife_dir";
-  BOOST_TEST( !fs::exists( d1 ) );
-  fs::create_directory( d1 );
-  BOOST_TEST( fs::exists( d1 ) );
-  BOOST_TEST( fs::is_directory( d1 ) );
-  BOOST_TEST( BOOST_FS_IS_EMPTY( d1 ) );
-  bad_remove_dir = dir;
-  BOOST_TEST( CHECK_EXCEPTION( bad_remove, ENOTEMPTY ) );
-  BOOST_TEST( fs::remove( d1 ) );
-  BOOST_TEST( !fs::exists( d1 ) );
-
-  if ( create_symlink_ok )  // only if symlinks supported
-  {
-    // remove() dangling symbolic link
-    fs::path link( "dangling_link" );
-    fs::remove( link );  // remove any residue from past tests
-    BOOST_TEST( !fs::is_symlink( link ) );
-    BOOST_TEST( !fs::exists( link ) );
-    fs::create_symlink( "nowhere", link );
-    BOOST_TEST( !fs::exists( link ) );
-    BOOST_TEST( fs::is_symlink( link ) );
-    BOOST_TEST( fs::remove( link ) );
-    BOOST_TEST( !fs::is_symlink( link ) );
-
-    // remove() self-refering symbolic link
-    link = "link_to_self";
-    fs::remove( link );  // remove any residue from past tests
-    BOOST_TEST( !fs::is_symlink( link ) );
-    BOOST_TEST( !fs::exists( link ) );
-    fs::create_symlink( link, link );
-    BOOST_TEST( fs::remove( link ) );
-    BOOST_TEST( !fs::exists( link ) );
-    BOOST_TEST( !fs::is_symlink( link ) );
-
-    // remove() cyclic symbolic link
-    link = "link_to_a";
-    fs::path link2( "link_to_b" );
-    fs::remove( link );   // remove any residue from past tests
-    fs::remove( link2 );  // remove any residue from past tests
-    BOOST_TEST( !fs::is_symlink( link ) );
-    BOOST_TEST( !fs::exists( link ) );
-    fs::create_symlink( link, link2 );
-    fs::create_symlink( link2, link );
-    BOOST_TEST( fs::remove( link ) );
-    BOOST_TEST( fs::remove( link2 ) );
-    BOOST_TEST( !fs::exists( link ) );
-    BOOST_TEST( !fs::exists( link2 ) );
-    BOOST_TEST( !fs::is_symlink( link ) );
-
-    // remove() symbolic link to file
-    file_ph = "link_target";
-    fs::remove( file_ph );  // remove any residue from past tests
-    BOOST_TEST( !fs::exists( file_ph ) );
-    create_file( file_ph, "" );
-    BOOST_TEST( fs::exists( file_ph ) );
-    BOOST_TEST( !fs::is_directory( file_ph ) );
-    BOOST_TEST( fs::is_regular_file( file_ph ) );
-    link = "non_dangling_link";
-    fs::create_symlink( file_ph, link );
-    BOOST_TEST( fs::exists( link ) );
-    BOOST_TEST( !fs::is_directory( link ) );
-    BOOST_TEST( fs::is_regular_file( link ) );
-    BOOST_TEST( fs::is_symlink( link ) );
-    BOOST_TEST( fs::remove( link ) );
-    BOOST_TEST( fs::exists( file_ph ) );
-    BOOST_TEST( !fs::exists( link ) );
-    BOOST_TEST( !fs::is_symlink( link ) );
-    BOOST_TEST( fs::remove( file_ph ) );
-    BOOST_TEST( !fs::exists( file_ph ) );
-  }
-
-  // write time tests
-
-  file_ph = dir / "foobar2";
-  create_file( file_ph, "foobar2" );
-  BOOST_TEST( fs::exists( file_ph ) );
-  BOOST_TEST( !fs::is_directory( file_ph ) );
-  BOOST_TEST( fs::is_regular_file( file_ph ) );
-  BOOST_TEST( fs::file_size( file_ph ) == 7 );
-  verify_file( file_ph, "foobar2" );
-
-  // Some file system report last write time as local (FAT), while
-  // others (NTFS) report it as UTC. The C standard does not specify
-  // if time_t is local or UTC. 
-
-  std::time_t ft = fs::last_write_time( file_ph );
-  std::cout << "\nUTC last_write_time() for a file just created is "
-    << std::asctime(std::gmtime(&ft)) << std::endl;
-
-  std::tm * tmp = std::localtime( &ft );
-  std::cout << "\nYear is " << tmp->tm_year << std::endl;
-  --tmp->tm_year;
-  std::cout << "Change year to " << tmp->tm_year << std::endl;
-  fs::last_write_time( file_ph, std::mktime( tmp ) );
-  std::time_t ft2 = fs::last_write_time( file_ph );
-  std::cout << "last_write_time() for the file is now "
-    << std::asctime(std::gmtime(&ft2)) << std::endl;
-  BOOST_TEST( ft != fs::last_write_time( file_ph ) );
-
-
-  std::cout << "\nReset to current time" << std::endl;
-  fs::last_write_time( file_ph, ft );
-  double time_diff = std::difftime( ft, fs::last_write_time( file_ph ) );
-  std::cout 
-    << "original last_write_time() - current last_write_time() is "
-    << time_diff << " seconds" << std::endl;
-  BOOST_TEST( time_diff >= -60.0 && time_diff <= 60.0 );
-
-  // post-test cleanup
-  BOOST_TEST( fs::remove_all( dir ) != 0 );
-  // above was added just to simplify testing, but it ended up detecting
-  // a bug (failure to close an internal search handle). 
-  BOOST_TEST( !fs::exists( dir ) );
-  BOOST_TEST( fs::remove_all( dir ) == 0 );
-
-  return ::boost::report_errors();
-} // main
-
diff --git a/SRC/Boost/libs/filesystem/v2/test/path_test.cpp b/SRC/Boost/libs/filesystem/v2/test/path_test.cpp
deleted file mode 100755
index a1e9a3b..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/path_test.cpp
+++ /dev/null
@@ -1,1380 +0,0 @@
-//  path_test program  -------------------------------------------------------//
-
-//  Copyright Beman Dawes 2002
-//  Copyright Vladimir Prus 2002
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//  basic_path's stem(), extension(), and replace_extension() tests are based
-//  on basename(), extension(), and change_extension() tests from the original
-//  convenience_test.cpp by Vladimir Prus.
-
-#define BOOST_FILESYSTEM_VERSION 2
-
-//  See deprecated_test for tests of deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-# define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/operations.hpp>
-#include <boost/utility.hpp>
-#include <iostream>
-#include <sstream>
-#include <string>
-#include <vector>
-#include <cstring>
-#include <cassert>
-
-namespace fs = boost::filesystem;
-using boost::filesystem::path;
-
-
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-
-#define PATH_CHECK( a, b ) check( a, b, __LINE__ )
-#define DIR_CHECK( a, b ) check_dir( a, b, __LINE__ )
-#define CHECK_EQUAL( a,b ) check_equal( a, b, __LINE__ )
-
-
-namespace
-{
-  std::string platform( BOOST_PLATFORM );
-
-  void check( const fs::path & source,
-              const std::string & expected, int line )
-  {
-    if ( source.string()== expected ) return;
-
-    ++::boost::detail::test_errors();
-
-    std::cout << '(' << line << ") source.string(): \"" << source.string()
-              << "\" != expected: \"" << expected
-              << "\"" << std::endl;
-  }
-
-  void check_dir( const fs::path & source,
-              const std::string & expected, int line )
-  {
-    if ( source.directory_string()== expected ) return;
-
-    ++::boost::detail::test_errors();
-
-    std::cout << '(' << line << ") source.directory_string(): \""
-              << source.directory_string()
-              << "\" != expected: \"" << expected
-              << "\"" << std::endl;
-  }
-
-  void check_equal( const std::string & value,
-              const std::string & expected, int line )
-  {
-    if ( value == expected ) return;
-
-    ++::boost::detail::test_errors();
-
-    std::cout << '(' << line << ") value: \"" << value
-              << "\" != expected: \"" << expected
-              << "\"" << std::endl;
-  }
-
-
-  void exception_tests()
-  {
-    const std::string str_1("string-1");
-    boost::system::error_code ec( 12345, boost::system::system_category());
-    try { BOOST_FILESYSTEM_THROW( fs::filesystem_error( str_1, ec ) ); }
-    catch ( const fs::filesystem_error & ex )
-    {
-      //std::cout << ex.what() << "*" << std::endl;
-      //BOOST_TEST( std::strcmp( ex.what(),
-      //  "string-1: Unknown error" ) == 0 );
-      BOOST_TEST( ex.code() == ec );
-    }
-
-    try { BOOST_FILESYSTEM_THROW( fs::filesystem_error( str_1, "p1", "p2", ec ) ); }
-    catch ( const fs::filesystem_error & ex )
-    {
-      //std::cout << ex.what() << "*" << std::endl;                    
-      //BOOST_TEST( std::strcmp( ex.what(),
-      //  "string-1: Unknown error: \"p1\", \"p2\"" ) == 0 );
-      BOOST_TEST( ex.code() == ec );
-      BOOST_TEST( ex.path1().string() == "p1" );
-      BOOST_TEST( ex.path2().string() == "p2" );
-    }
-  }
-
-
-  //  name_function_tests  ---------------------------------------------------//
-
-  void name_function_tests()
-  {
-    std::cout << "name_function_tests..." << std::endl;
-
-    BOOST_TEST( fs::portable_posix_name( std::string( "x" ) ) );
-    BOOST_TEST( fs::windows_name( std::string( "x" ) ) );
-    BOOST_TEST( fs::portable_name( std::string( "x" ) ) );
-    BOOST_TEST( fs::portable_directory_name( std::string( "x" ) ) );
-    BOOST_TEST( fs::portable_file_name( std::string( "x" ) ) );
-
-    BOOST_TEST( fs::portable_posix_name( std::string( "." ) ) );
-    BOOST_TEST( fs::windows_name( std::string( "." ) ) );
-    BOOST_TEST( fs::portable_name( std::string( "." ) ) );
-    BOOST_TEST( fs::portable_directory_name( std::string( "." ) ) );
-    BOOST_TEST( !fs::portable_file_name( std::string( "." ) ) );
-
-    BOOST_TEST( fs::portable_posix_name( std::string( ".." ) ) );
-    BOOST_TEST( fs::windows_name( std::string( ".." ) ) );
-    BOOST_TEST( fs::portable_name( std::string( ".." ) ) );
-    BOOST_TEST( fs::portable_directory_name( std::string( ".." ) ) );
-    BOOST_TEST( !fs::portable_file_name( std::string( ".." ) ) );
-
-    BOOST_TEST( !fs::native( std::string( "" ) ) );
-    BOOST_TEST( !fs::portable_posix_name( std::string( "" ) ) );
-    BOOST_TEST( !fs::windows_name( std::string( "" ) ) );
-    BOOST_TEST( !fs::portable_name( std::string( "" ) ) );
-    BOOST_TEST( !fs::portable_directory_name( std::string( "" ) ) );
-    BOOST_TEST( !fs::portable_file_name( std::string( "" ) ) );
-
-    BOOST_TEST( !fs::native( std::string( " " ) ) );
-    BOOST_TEST( !fs::portable_posix_name( std::string( " " ) ) );
-    BOOST_TEST( !fs::windows_name( std::string( " " ) ) );
-    BOOST_TEST( !fs::portable_name( std::string( " " ) ) );
-    BOOST_TEST( !fs::portable_directory_name( std::string( " " ) ) );
-    BOOST_TEST( !fs::portable_file_name( std::string( " " ) ) );
-
-    BOOST_TEST( !fs::portable_posix_name( std::string( ":" ) ) );
-    BOOST_TEST( !fs::windows_name( std::string( ":" ) ) );
-    BOOST_TEST( !fs::portable_name( std::string( ":" ) ) );
-    BOOST_TEST( !fs::portable_directory_name( std::string( ":" ) ) );
-    BOOST_TEST( !fs::portable_file_name( std::string( ":" ) ) );
-
-    BOOST_TEST( fs::portable_posix_name( std::string( "-" ) ) );
-    BOOST_TEST( fs::windows_name( std::string( "-" ) ) );
-    BOOST_TEST( !fs::portable_name( std::string( "-" ) ) );
-    BOOST_TEST( !fs::portable_directory_name( std::string( "-" ) ) );
-    BOOST_TEST( !fs::portable_file_name( std::string( "-" ) ) );
-
-    BOOST_TEST( !fs::portable_posix_name( std::string( "foo bar" ) ) );
-    BOOST_TEST( fs::windows_name( std::string( "foo bar" ) ) );
-    BOOST_TEST( !fs::windows_name( std::string( " bar" ) ) );
-    BOOST_TEST( !fs::windows_name( std::string( "foo " ) ) );
-    BOOST_TEST( !fs::portable_name( std::string( "foo bar" ) ) );
-    BOOST_TEST( !fs::portable_directory_name( std::string( "foo bar" ) ) );
-    BOOST_TEST( !fs::portable_file_name( std::string( "foo bar" ) ) );
-
-    BOOST_TEST( fs::portable_posix_name( std::string( "foo.bar" ) ) );
-    BOOST_TEST( fs::windows_name( std::string( "foo.bar" ) ) );
-    BOOST_TEST( fs::portable_name( std::string( "foo.bar" ) ) );
-    BOOST_TEST( !fs::portable_directory_name( std::string( "foo.bar" ) ) );
-    BOOST_TEST( fs::portable_file_name( std::string( "foo.bar" ) ) );
-
-    BOOST_TEST( fs::portable_posix_name( std::string( "foo.barf" ) ) );
-    BOOST_TEST( fs::windows_name( std::string( "foo.barf" ) ) );
-    BOOST_TEST( fs::portable_name( std::string( "foo.barf" ) ) );
-    BOOST_TEST( !fs::portable_directory_name( std::string( "foo.barf" ) ) );
-    BOOST_TEST( !fs::portable_file_name( std::string( "foo.barf" ) ) );
-
-    BOOST_TEST( fs::portable_posix_name( std::string( ".foo" ) ) );
-    BOOST_TEST( fs::windows_name( std::string( ".foo" ) ) );
-    BOOST_TEST( !fs::portable_name( std::string( ".foo" ) ) );
-    BOOST_TEST( !fs::portable_directory_name( std::string( ".foo" ) ) );
-    BOOST_TEST( !fs::portable_file_name( std::string( ".foo" ) ) );
-
-    BOOST_TEST( fs::portable_posix_name( std::string( "foo." ) ) );
-    BOOST_TEST( !fs::windows_name( std::string( "foo." ) ) );
-    BOOST_TEST( !fs::portable_name( std::string( "foo." ) ) );
-    BOOST_TEST( !fs::portable_directory_name( std::string( "foo." ) ) );
-    BOOST_TEST( !fs::portable_file_name( std::string( "foo." ) ) );
-  }
-
-} // unnamed namespace
-
-int cpp_main( int, char* [] )
-{
-  // The choice of platform is make at runtime rather than compile-time
-  // so that compile errors for all platforms will be detected even though
-  // only the current platform is runtime tested.
-  platform = ( platform == "Win32" || platform == "Win64" || platform == "Cygwin" )
-               ? "Windows"
-               : "POSIX";
-  std::cout << "Platform is " << platform << '\n';
-
-  path p1( "fe/fi/fo/fum" );
-  path p2( p1 );
-  path p3;
-  BOOST_TEST( p1.string() != p3.string() );
-
-  // check each overload
-  BOOST_TEST( p1 != p3 );
-  BOOST_TEST( p1 != p3.string() );
-  BOOST_TEST( p1 != p3.string().c_str() );
-  BOOST_TEST( p1.string() != p3 );
-  BOOST_TEST( p1.string().c_str() != p3 );
-
-  p3 = p2;
-  BOOST_TEST( p1.string() == p3.string() );
-
-  // check each overload
-  BOOST_TEST( p1 == p3 );
-  BOOST_TEST( p1 == p3.string() );
-  BOOST_TEST( p1 == p3.string().c_str() );
-  BOOST_TEST( p1.string() == p3 );
-  BOOST_TEST( p1.string().c_str() == p3 );
-
-  path p4( "foobar" );
-  BOOST_TEST( p4.string() == "foobar" );
-  p4 = p4; // self-assignment
-  BOOST_TEST( p4.string() == "foobar" );
-
-  if ( platform == "Windows" )
-  {
-    path p10 ("c:\\file");
-    path p11 ("c:/file");
-    // check each overload
-    BOOST_TEST( p10.string() == p11.string() );
-    BOOST_TEST( p10 == p11 );
-    BOOST_TEST( p10 == p11.string() );
-    BOOST_TEST( p10 == p11.string().c_str() );
-    BOOST_TEST( p10.string() == p11 );
-    BOOST_TEST( p10.string().c_str() == p11 );
-    BOOST_TEST( p10 == "c:\\file" );
-    BOOST_TEST( p10 == "c:/file" );
-    BOOST_TEST( p11 == "c:\\file" );
-    BOOST_TEST( p11 == "c:/file" );
-    BOOST_TEST( "c:\\file" == p10 );
-    BOOST_TEST( "c:/file" == p10 );
-    BOOST_TEST( "c:\\file" == p11 );
-    BOOST_TEST( "c:/file" == p11 );
-  }
-
-  exception_tests();
-  name_function_tests();
-
-  // These verify various overloads don't cause compiler errors
-
-  fs::exists( p1 );
-  fs::exists( "foo" );
-  fs::exists( std::string( "foo" ) );
-
-  fs::exists( p1 / path( "foo" ) );
-  fs::exists( p1 / "foo" );
-  fs::exists( p1 / std::string( "foo" ) );
-
-  fs::exists( "foo" / p1 );
-  fs::exists( std::string( "foo" ) / p1 );
-
-  p4 /= path( "foo" );
-  p4 /= "foo";
-  p4 /= std::string( "foo" );
-
-  path p5;
-  std::string s1( "//:somestring" );
-
-  // verify deprecated names still available
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-
-  p1.branch_path();
-  p1.leaf();
-  path p_remove_leaf;
-  p_remove_leaf.remove_leaf();
-
-# endif
-
-
-# ifndef BOOST_NO_MEMBER_TEMPLATES
-
-  // check the path member templates
-  p5.assign( s1.begin(), s1.end() );
-
-  PATH_CHECK( p5, "somestring" );
-  p5 = s1;
-  PATH_CHECK( p5, "somestring" );
-
-  BOOST_TEST( p4.string() == path( p4.string().begin(), p4.string().end() ).string() );
-
-  char c0 = 'a';
-  p5.assign( &c0, &c0 );
-  PATH_CHECK( p5, "" );
-  p5 /= "";
-  PATH_CHECK( p5, "" );
-  p5 /= "foo/bar";
-  PATH_CHECK( p5, "foo/bar" );
-  p5.append( &c0, &c0 );
-  PATH_CHECK( p5, "foo/bar" );
-  p5 /= "";
-  PATH_CHECK( p5, "foo/bar" );
-  char bf[]= "bar/foo";
-  p5.assign( bf, bf + sizeof(bf) ); 
-  PATH_CHECK( p5, bf );
-  p5.append( bf, bf + sizeof(bf) ); 
-  PATH_CHECK( p5, "bar/foo/bar/foo" );
-
-  // this code, courtesy of David Whetstone, detected a now fixed bug that
-  // derefereced the end iterator (assuming debug build with checked itors)
-  std::vector<char> v1;
-  p5.assign( v1.begin(), v1.end() );
-  std::string s2( v1.begin(), v1.end() );
-  PATH_CHECK( p5, s2 );
-  p5.assign( s1.begin(), s1.begin() + 1 );
-  PATH_CHECK( p5, "/" );
-
-# endif
-  path clear_path( "foo" );
-
-  BOOST_TEST( !clear_path.empty() );
-  clear_path.clear();
-  BOOST_TEST( clear_path.empty() );
-
-  BOOST_TEST( p1 != p4 );
-  BOOST_TEST( p1.string() == p2.string() );
-  BOOST_TEST( p1.string() == p3.string() );
-  BOOST_TEST( path( "foo" ).filename() == "foo" );
-  BOOST_TEST( path( "foo" ).parent_path().string() == "" );
-  BOOST_TEST( p1.filename() == "fum" );
-  BOOST_TEST( p1.parent_path().string() == "fe/fi/fo" );
-  BOOST_TEST( path( "" ).empty() == true );
-  BOOST_TEST( path( "foo" ).empty() == false );
-
-  PATH_CHECK( "", "" );
-
-  PATH_CHECK( "foo", "foo" );
-  PATH_CHECK( "f", "f" );
-
-  PATH_CHECK( "foo/", "foo/" );
-  PATH_CHECK( "f/", "f/" );
-  PATH_CHECK( "foo/..", "foo/.." );
-  PATH_CHECK( "foo/../", "foo/../" );
-  PATH_CHECK( "foo/bar/../..", "foo/bar/../.." );
-  PATH_CHECK( "foo/bar/../../", "foo/bar/../../" );
-  PATH_CHECK( path("") / "foo", "foo" );
-  PATH_CHECK( path("") / "foo/", "foo/" );
-  PATH_CHECK( path("foo") / "", "foo" );
-  PATH_CHECK( path( "/" ), "/" );
-  PATH_CHECK( path( "/" ) / "", "/" );
-  PATH_CHECK( path( "/f" ), "/f" );
-
-  PATH_CHECK( "/foo", "/foo" );
-  PATH_CHECK( path("") / "/foo", "/foo" );
-  PATH_CHECK( path("/foo") / "", "/foo" );
-
-  if ( platform == "Windows" )
-  {
-    PATH_CHECK( path("c:") / "foo", "c:foo" );
-    PATH_CHECK( path("c:") / "/foo", "c:/foo" );
-  }
-
-  if ( platform == "Windows" )
-  {
-    PATH_CHECK( path("c:") / "foo", "c:foo" );
-    PATH_CHECK( path("c:") / "/foo", "c:/foo" );
-  }
-
-  PATH_CHECK( "foo/bar", "foo/bar" );
-  PATH_CHECK( path("foo") / path("bar"), "foo/bar" ); // path arg
-  PATH_CHECK( path("foo") / "bar", "foo/bar" );       // const char * arg
-  PATH_CHECK( path("foo") / path("woo/bar").filename(), "foo/bar" ); // const std::string & arg
-  PATH_CHECK( "foo" / path("bar"), "foo/bar" );
-
-  PATH_CHECK( "a/b", "a/b" );  // probe for length effects
-  PATH_CHECK( path("a") / "b", "a/b" );
-
-  PATH_CHECK( "..", ".." );
-  PATH_CHECK( path("..") / "", ".." );
-  PATH_CHECK( path("") / "..", ".." );
-
-  PATH_CHECK( "../..", "../.." );
-  PATH_CHECK( path("..") / ".." , "../.." );
-
-  PATH_CHECK( "/..", "/.." );
-  PATH_CHECK( path("/") / ".." , "/.." );
-
-  PATH_CHECK( "/../..", "/../.." );
-  PATH_CHECK( path("/..") / ".." , "/../.." );
-
-  PATH_CHECK( "../foo", "../foo" );
-  PATH_CHECK( path("..") / "foo" , "../foo" );
-
-  PATH_CHECK( "foo/..", "foo/.." );
-  PATH_CHECK( path("foo") / ".." , "foo/.." );
-  PATH_CHECK( path( "foo/..bar"), "foo/..bar" );
-
-  PATH_CHECK( "../f", "../f" );
-  PATH_CHECK( path("..") / "f" , "../f" );
-
-  PATH_CHECK( "/../f", "/../f" );
-  PATH_CHECK( path("/..") / "f" , "/../f" );
-
-  PATH_CHECK( "f/..", "f/.." );
-  PATH_CHECK( path("f") / ".." , "f/.." );
-
-  PATH_CHECK( "foo/../..", "foo/../.." );
-  PATH_CHECK( path("foo") / ".." / ".." , "foo/../.." );
-
-  PATH_CHECK( "foo/../../..", "foo/../../.." );
-  PATH_CHECK( path("foo") / ".." / ".." / ".." , "foo/../../.." );
-
-  PATH_CHECK( "foo/../bar", "foo/../bar" );
-  PATH_CHECK( path("foo") / ".." / "bar" , "foo/../bar" );
-
-  PATH_CHECK( "foo/bar/..", "foo/bar/.." );
-  PATH_CHECK( path("foo") / "bar" / ".." , "foo/bar/.." );
-
-  PATH_CHECK( "foo/bar/../..", "foo/bar/../.." );
-  PATH_CHECK( path("foo") / "bar" / ".." / "..", "foo/bar/../.." );
-
-  PATH_CHECK( "foo/bar/../blah", "foo/bar/../blah" );
-  PATH_CHECK( path("foo") / "bar" / ".." / "blah", "foo/bar/../blah" );
-
-  PATH_CHECK( "f/../b", "f/../b" );
-  PATH_CHECK( path("f") / ".." / "b" , "f/../b" );
-
-  PATH_CHECK( "f/b/..", "f/b/.." );
-  PATH_CHECK( path("f") / "b" / ".." , "f/b/.." );
-
-  PATH_CHECK( "f/b/../a", "f/b/../a" );
-  PATH_CHECK( path("f") / "b" / ".." / "a", "f/b/../a" );
-
-  PATH_CHECK( "foo/bar/blah/../..", "foo/bar/blah/../.." );
-  PATH_CHECK( path("foo") / "bar" / "blah" / ".." / "..", "foo/bar/blah/../.." );
-
-  PATH_CHECK( "foo/bar/blah/../../bletch", "foo/bar/blah/../../bletch" );
-  PATH_CHECK( path("foo") / "bar" / "blah" / ".." / ".." / "bletch", "foo/bar/blah/../../bletch" );
-
-  PATH_CHECK( "...", "..." );
-  PATH_CHECK( "....", "...." );
-  PATH_CHECK( "foo/...", "foo/..." );
-  PATH_CHECK( "abc.", "abc." );
-  PATH_CHECK( "abc..", "abc.." );
-  PATH_CHECK( "foo/abc.", "foo/abc." );
-  PATH_CHECK( "foo/abc..", "foo/abc.." );
-
-  PATH_CHECK( path(".abc"), ".abc" );
-  PATH_CHECK( "a.c", "a.c" );
-  PATH_CHECK( path("..abc"), "..abc" );
-  PATH_CHECK( "a..c", "a..c" );
-  PATH_CHECK( path("foo/.abc"), "foo/.abc" );
-  PATH_CHECK( "foo/a.c", "foo/a.c" );
-  PATH_CHECK( path("foo/..abc"), "foo/..abc" );
-  PATH_CHECK( "foo/a..c", "foo/a..c" );
-
-  PATH_CHECK( ".", "." );
-  PATH_CHECK( path("") / ".", "." );
-  PATH_CHECK( "./foo", "./foo" );
-  PATH_CHECK( path(".") / "foo", "./foo" );
-  PATH_CHECK( "./..", "./.." );
-  PATH_CHECK( path(".") / "..", "./.." );
-  PATH_CHECK( "./../foo", "./../foo" );
-  PATH_CHECK( "foo/.", "foo/." );
-  PATH_CHECK( path("foo") / ".", "foo/." );
-  PATH_CHECK( "../.", "../." );
-  PATH_CHECK( path("..") / ".", "../." );
-  PATH_CHECK( "./.", "./." );
-  PATH_CHECK( path(".") / ".", "./." );
-  PATH_CHECK( "././.", "././." );
-  PATH_CHECK( path(".") / "." / ".", "././." );
-  PATH_CHECK( "./foo/.", "./foo/." );
-  PATH_CHECK( path(".") / "foo" / ".", "./foo/." );
-  PATH_CHECK( "foo/./bar", "foo/./bar" );
-  PATH_CHECK( path("foo") / "." / "bar", "foo/./bar" );
-  PATH_CHECK( "foo/./.", "foo/./." );
-  PATH_CHECK( path("foo") / "." / ".", "foo/./." );
-  PATH_CHECK( "foo/./..", "foo/./.." );
-  PATH_CHECK( path("foo") / "." / "..", "foo/./.." );
-  PATH_CHECK( "foo/./../bar", "foo/./../bar" );
-  PATH_CHECK( "foo/../.", "foo/../." );
-  PATH_CHECK( path(".") / "." / "..", "././.." );
-  PATH_CHECK( "././..", "././.." );
-  PATH_CHECK( path(".") / "." / "..", "././.." );
-  PATH_CHECK( "./../.", "./../." );
-  PATH_CHECK( path(".") / ".." / ".", "./../." );
-  PATH_CHECK( ".././.", ".././." );
-  PATH_CHECK( path("..") / "." / ".", ".././." );
-
-  // iterator tests
-
-  path itr_ck = "";
-  path::const_iterator itr = itr_ck.begin();
-  BOOST_TEST( itr == itr_ck.end() );
-
-  itr_ck = "/";
-  itr = itr_ck.begin();
-  BOOST_TEST( *itr == std::string( "/" ) );
-  BOOST_TEST( ++itr == itr_ck.end() );
-  BOOST_TEST( *--itr == std::string( "/" ) );
-
-  itr_ck = "foo";
-  BOOST_TEST( *itr_ck.begin() == std::string( "foo" ) );
-  BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
-  BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
-  BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
-
-  itr_ck = path( "/foo" );
-  BOOST_TEST( *itr_ck.begin() == std::string( "/" ) );
-  BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "foo" ) );
-  BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
-  BOOST_TEST( boost::next( itr_ck.begin() ) == boost::prior( itr_ck.end() ) );
-  BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
-  BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "/" ) );
-  BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
-
-  itr_ck = "/foo/bar";
-  itr = itr_ck.begin();
-  BOOST_TEST( *itr == std::string( "/" ) );
-  BOOST_TEST( *++itr == std::string( "foo" ) );
-  BOOST_TEST( *++itr == std::string( "bar" ) );
-  BOOST_TEST( ++itr == itr_ck.end() );
-  CHECK_EQUAL( *--itr, "bar" );
-  CHECK_EQUAL( *--itr, "foo" );
-  CHECK_EQUAL( *--itr, "/" );
-
-  itr_ck = "../f"; // previously failed due to short name bug
-  itr = itr_ck.begin();
-  CHECK_EQUAL( *itr, ".." );
-  CHECK_EQUAL( *++itr, "f" );
-  BOOST_TEST( ++itr == itr_ck.end() );
-  CHECK_EQUAL( *--itr, "f" );
-  CHECK_EQUAL( *--itr, ".." );
-
-  // POSIX says treat "/foo/bar/" as "/foo/bar/."
-  itr_ck = "/foo/bar/";
-  itr = itr_ck.begin();
-  CHECK_EQUAL( *itr, "/" );
-  CHECK_EQUAL( *++itr, "foo" );
-  CHECK_EQUAL( *++itr, "bar" );
-  CHECK_EQUAL( *++itr, "." );
-  BOOST_TEST( ++itr == itr_ck.end() );
-  CHECK_EQUAL( *--itr, "." );
-  CHECK_EQUAL( *--itr, "bar" );
-  CHECK_EQUAL( *--itr, "foo" );
-  CHECK_EQUAL( *--itr, "/" );
-
-  // POSIX says treat "/f/b/" as "/f/b/."
-  itr_ck = "/f/b/";
-  itr = itr_ck.begin();
-  CHECK_EQUAL( *itr, "/" );
-  CHECK_EQUAL( *++itr, "f" );
-  CHECK_EQUAL( *++itr, "b" );
-  CHECK_EQUAL( *++itr, "." );
-  BOOST_TEST( ++itr == itr_ck.end() );
-  CHECK_EQUAL( *--itr, "." );
-  CHECK_EQUAL( *--itr, "b" );
-  CHECK_EQUAL( *--itr, "f" );
-  CHECK_EQUAL( *--itr, "/" );
-
-  itr_ck = "//net";
-  itr = itr_ck.begin();
-  // two leading slashes are permitted by POSIX (as implementation defined),
-  // while for Windows it is always well defined (as a network name)
-  CHECK_EQUAL( *itr, "//net" );
-  BOOST_TEST( ++itr == itr_ck.end() );
-  CHECK_EQUAL( *--itr, "//net" );
-
-  itr_ck = "//net/";
-  itr = itr_ck.begin();
-  CHECK_EQUAL( *itr, "//net" );
-  CHECK_EQUAL( *++itr, "/" );
-  BOOST_TEST( ++itr == itr_ck.end() );
-  CHECK_EQUAL( *--itr, "/" );
-  CHECK_EQUAL( *--itr, "//net" );
-
-  itr_ck = "//foo///bar///";
-  itr = itr_ck.begin();
-  CHECK_EQUAL( *itr, "//foo" );
-  CHECK_EQUAL( *++itr, "/" );
-  CHECK_EQUAL( *++itr, "bar" );
-  CHECK_EQUAL( *++itr, "." );
-  BOOST_TEST( ++itr == itr_ck.end() );
-  CHECK_EQUAL( *--itr, "." );
-  CHECK_EQUAL( *--itr, "bar" );
-  CHECK_EQUAL( *--itr, "/" );
-  CHECK_EQUAL( *--itr, "//foo" );
-
-  itr_ck = "///foo///bar///";
-  itr = itr_ck.begin();
-  // three or more leading slashes are to be treated as a single slash
-  CHECK_EQUAL( *itr, "/" );
-  CHECK_EQUAL( *++itr, "foo" );
-  CHECK_EQUAL( *++itr, "bar" );
-  CHECK_EQUAL( *++itr, "." );
-  BOOST_TEST( ++itr == itr_ck.end() );
-  CHECK_EQUAL( *--itr, "." );
-  CHECK_EQUAL( *--itr, "bar" );
-  CHECK_EQUAL( *--itr, "foo" );
-  CHECK_EQUAL( *--itr, "/" );
-
-  if ( platform == "Windows" )
-  {
-    itr_ck = "c:/";
-    itr = itr_ck.begin();
-    CHECK_EQUAL( *itr, "c:" );
-    CHECK_EQUAL( *++itr, "/" );
-    BOOST_TEST( ++itr == itr_ck.end() );
-    CHECK_EQUAL( *--itr, "/" );
-    CHECK_EQUAL( *--itr, "c:" );
-
-    itr_ck = "c:/foo";
-    itr = itr_ck.begin();
-    BOOST_TEST( *itr == std::string( "c:" ) );
-    BOOST_TEST( *++itr == std::string( "/" ) );
-    BOOST_TEST( *++itr == std::string( "foo" ) );
-    BOOST_TEST( ++itr == itr_ck.end() );
-    BOOST_TEST( *--itr == std::string( "foo" ) );
-    BOOST_TEST( *--itr == std::string( "/" ) );
-    BOOST_TEST( *--itr == std::string( "c:" ) );
-
-    itr_ck = "c:foo";
-    itr = itr_ck.begin();
-    BOOST_TEST( *itr == std::string( "c:" ) );
-    BOOST_TEST( *++itr == std::string( "foo" ) );
-    BOOST_TEST( ++itr == itr_ck.end() );
-    BOOST_TEST( *--itr == std::string( "foo" ) );
-    BOOST_TEST( *--itr == std::string( "c:" ) );
-
-    itr_ck = "c:foo/";
-    itr = itr_ck.begin();
-    BOOST_TEST( *itr == std::string( "c:" ) );
-    BOOST_TEST( *++itr == std::string( "foo" ) );
-    BOOST_TEST( *++itr == std::string( "." ) );
-    BOOST_TEST( ++itr == itr_ck.end() );
-    BOOST_TEST( *--itr == std::string( "." ) );
-    BOOST_TEST( *--itr == std::string( "foo" ) );
-    BOOST_TEST( *--itr == std::string( "c:" ) );
-  }
-  else
-  {
-    itr_ck = "///";
-    itr = itr_ck.begin();
-    CHECK_EQUAL( *itr,  "/" );
-    BOOST_TEST( ++itr == itr_ck.end() );
-  }
-
-  path p;
-
-  p = "";
-  BOOST_TEST( p.relative_path().string() == "" );
-  BOOST_TEST( p.parent_path().string() == "" );
-  BOOST_TEST( p.filename() == "" );
-  BOOST_TEST( p.root_name() == "" );
-  BOOST_TEST( p.root_directory() == "" );
-  BOOST_TEST( p.root_path().string() == "" );
-  BOOST_TEST( !p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( !p.has_root_directory() );
-  BOOST_TEST( !p.has_relative_path() );
-  BOOST_TEST( !p.has_filename() );
-  BOOST_TEST( !p.has_parent_path() );
-  BOOST_TEST( !p.is_complete() );
-
-  p = "/";
-  BOOST_TEST( p.relative_path().string() == "" );
-  BOOST_TEST( p.parent_path().string() == "" );
-  BOOST_TEST( p.filename() == "/" );
-  BOOST_TEST( p.root_name() == "" );
-  BOOST_TEST( p.root_directory() == "/" );
-  BOOST_TEST( p.root_path().string() == "/" );
-  BOOST_TEST( p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( p.has_root_directory() );
-  BOOST_TEST( !p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( !p.has_parent_path() );
-  if ( platform == "POSIX" )
-    BOOST_TEST( p.is_complete() );
-  else
-    BOOST_TEST( !p.is_complete() );
-
-  p = "//";
-  CHECK_EQUAL( p.relative_path().string(), "" );
-  CHECK_EQUAL( p.parent_path().string(), "" );
-  CHECK_EQUAL( p.filename(), "//" );
-  CHECK_EQUAL( p.root_name(), "//" );
-  CHECK_EQUAL( p.root_directory(), "" );
-  CHECK_EQUAL( p.root_path().string(), "//" );
-  BOOST_TEST( p.has_root_path() );
-  BOOST_TEST( p.has_root_name() );
-  BOOST_TEST( !p.has_root_directory() );
-  BOOST_TEST( !p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( !p.has_parent_path() );
-  BOOST_TEST( !p.is_complete() );
-
-
-  p = "///";
-  CHECK_EQUAL( p.relative_path().string(), "" );
-  CHECK_EQUAL( p.parent_path().string(), "" );
-  CHECK_EQUAL( p.filename(), "/" );
-  CHECK_EQUAL( p.root_name(), "" );
-  CHECK_EQUAL( p.root_directory(), "/" );
-  CHECK_EQUAL( p.root_path().string(), "/" );
-  BOOST_TEST( p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( p.has_root_directory() );
-  BOOST_TEST( !p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( !p.has_parent_path() );
-  if ( platform == "POSIX" )
-    BOOST_TEST( p.is_complete() );
-  else
-    BOOST_TEST( !p.is_complete() );
-
-  p = ".";
-  BOOST_TEST( p.relative_path().string() == "." );
-  BOOST_TEST( p.parent_path().string() == "" );
-  BOOST_TEST( p.filename() == "." );
-  BOOST_TEST( p.root_name() == "" );
-  BOOST_TEST( p.root_directory() == "" );
-  BOOST_TEST( p.root_path().string() == "" );
-  BOOST_TEST( !p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( !p.has_root_directory() );
-  BOOST_TEST( p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( !p.has_parent_path() );
-  BOOST_TEST( !p.is_complete() );
-
-  p = "..";
-  BOOST_TEST( p.relative_path().string() == ".." );
-  BOOST_TEST( p.parent_path().string() == "" );
-  BOOST_TEST( p.filename() == ".." );
-  BOOST_TEST( p.root_name() == "" );
-  BOOST_TEST( p.root_directory() == "" );
-  BOOST_TEST( p.root_path().string() == "" );
-  BOOST_TEST( !p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( !p.has_root_directory() );
-  BOOST_TEST( p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( !p.has_parent_path() );
-  BOOST_TEST( !p.is_complete() );
-
-  p = "foo";
-  BOOST_TEST( p.relative_path().string() == "foo" );
-  BOOST_TEST( p.parent_path().string() == "" );
-  BOOST_TEST( p.filename() == "foo" );
-  BOOST_TEST( p.root_name() == "" );
-  BOOST_TEST( p.root_directory() == "" );
-  BOOST_TEST( p.root_path().string() == "" );
-  BOOST_TEST( !p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( !p.has_root_directory() );
-  BOOST_TEST( p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( !p.has_parent_path() );
-  BOOST_TEST( !p.is_complete() );
-
-  p = "/foo";
-  CHECK_EQUAL( p.relative_path().string(), "foo" );
-  CHECK_EQUAL( p.parent_path().string(), "/" );
-  CHECK_EQUAL( p.filename(), "foo" );
-  CHECK_EQUAL( p.root_name(), "" );
-  CHECK_EQUAL( p.root_directory(), "/" );
-  CHECK_EQUAL( p.root_path().string(), "/" );
-  BOOST_TEST( p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( p.has_root_directory() );
-  BOOST_TEST( p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( p.has_parent_path() );
-  if ( platform == "POSIX" )
-    BOOST_TEST( p.is_complete() );
-  else
-    BOOST_TEST( !p.is_complete() );
-
-  p = "/foo/";
-  CHECK_EQUAL( p.relative_path().string(), "foo/" );
-  CHECK_EQUAL( p.parent_path().string(), "/foo" );
-  CHECK_EQUAL( p.filename(), "." );
-  CHECK_EQUAL( p.root_name(), "" );
-  CHECK_EQUAL( p.root_directory(), "/" );
-  CHECK_EQUAL( p.root_path().string(), "/" );
-  BOOST_TEST( p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( p.has_root_directory() );
-  BOOST_TEST( p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( p.has_parent_path() );
-  if ( platform == "POSIX" )
-    BOOST_TEST( p.is_complete() );
-  else
-    BOOST_TEST( !p.is_complete() );
-
-  p = "///foo";
-  CHECK_EQUAL( p.relative_path().string(), "foo" );
-  CHECK_EQUAL( p.parent_path().string(), "/" );
-  CHECK_EQUAL( p.filename(), "foo" );
-  CHECK_EQUAL( p.root_name(), "" );
-  CHECK_EQUAL( p.root_directory(), "/" );
-  CHECK_EQUAL( p.root_path().string(), "/" );
-  BOOST_TEST( p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( p.has_root_directory() );
-  BOOST_TEST( p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( p.has_parent_path() );
-  if ( platform == "POSIX" )
-    BOOST_TEST( p.is_complete() );
-  else
-    BOOST_TEST( !p.is_complete() );
-
-  p = "foo/bar";
-  BOOST_TEST( p.relative_path().string() == "foo/bar" );
-  BOOST_TEST( p.parent_path().string() == "foo" );
-  BOOST_TEST( p.filename() == "bar" );
-  BOOST_TEST( p.root_name() == "" );
-  BOOST_TEST( p.root_directory() == "" );
-  BOOST_TEST( p.root_path().string() == "" );
-  BOOST_TEST( !p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( !p.has_root_directory() );
-  BOOST_TEST( p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( p.has_parent_path() );
-  BOOST_TEST( !p.is_complete() );
-
-  p = "../foo";
-  BOOST_TEST( p.relative_path().string() == "../foo" );
-  BOOST_TEST( p.parent_path().string() == ".." );
-  BOOST_TEST( p.filename() == "foo" );
-  BOOST_TEST( p.root_name() == "" );
-  BOOST_TEST( p.root_directory() == "" );
-  BOOST_TEST( p.root_path().string() == "" );
-  BOOST_TEST( !p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( !p.has_root_directory() );
-  BOOST_TEST( p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( p.has_parent_path() );
-  BOOST_TEST( !p.is_complete() );
-
-  p = "..///foo";
-  CHECK_EQUAL( p.relative_path().string(), "..///foo" );
-  CHECK_EQUAL( p.parent_path().string(), ".." );
-  CHECK_EQUAL( p.filename(), "foo" );
-  CHECK_EQUAL( p.root_name(), "" );
-  CHECK_EQUAL( p.root_directory(), "" );
-  CHECK_EQUAL( p.root_path().string(), "" );
-  BOOST_TEST( !p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( !p.has_root_directory() );
-  BOOST_TEST( p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( p.has_parent_path() );
-  BOOST_TEST( !p.is_complete() );
-
-  p = "/foo/bar";
-  BOOST_TEST( p.relative_path().string() == "foo/bar" );
-  BOOST_TEST( p.parent_path().string() == "/foo" );
-  BOOST_TEST( p.filename() == "bar" );
-  BOOST_TEST( p.root_name() == "" );
-  BOOST_TEST( p.root_directory() == "/" );
-  BOOST_TEST( p.root_path().string() == "/" );
-  BOOST_TEST( p.has_root_path() );
-  BOOST_TEST( !p.has_root_name() );
-  BOOST_TEST( p.has_root_directory() );
-  BOOST_TEST( p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( p.has_parent_path() );
-  if ( platform == "POSIX" )
-    BOOST_TEST( p.is_complete() );
-  else
-    BOOST_TEST( !p.is_complete() );
-
-  // Both POSIX and Windows allow two leading slashs
-  // (POSIX meaning is implementation defined)
-  PATH_CHECK( path( "//resource" ), "//resource" );
-  PATH_CHECK( path( "//resource/" ), "//resource/" );
-  PATH_CHECK( path( "//resource/foo" ), "//resource/foo" );
-
-  p = path( "//net" );
-  CHECK_EQUAL( p.string(), "//net" );
-  CHECK_EQUAL( p.relative_path().string(), "" );
-  CHECK_EQUAL( p.parent_path().string(), "" );
-  CHECK_EQUAL( p.filename(), "//net" );
-  CHECK_EQUAL( p.root_name(), "//net" );
-  CHECK_EQUAL( p.root_directory(), "" );
-  CHECK_EQUAL( p.root_path().string(), "//net" );
-  BOOST_TEST( p.has_root_path() );
-  BOOST_TEST( p.has_root_name() );
-  BOOST_TEST( !p.has_root_directory() );
-  BOOST_TEST( !p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( !p.has_parent_path() );
-  BOOST_TEST( !p.is_complete() );
-
-  p = path( "//net/" );
-  BOOST_TEST( p.relative_path().string() == "" );
-  BOOST_TEST( p.parent_path().string() == "//net" );
-  BOOST_TEST( p.filename() == "/" );
-  BOOST_TEST( p.root_name() == "//net" );
-  BOOST_TEST( p.root_directory() == "/" );
-  BOOST_TEST( p.root_path().string() == "//net/" );
-  BOOST_TEST( p.has_root_path() );
-  BOOST_TEST( p.has_root_name() );
-  BOOST_TEST( p.has_root_directory() );
-  BOOST_TEST( !p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( p.has_parent_path() );
-  BOOST_TEST( p.is_complete() );
-
-  p = path( "//net/foo" );
-  BOOST_TEST( p.relative_path().string() == "foo" );
-  BOOST_TEST( p.parent_path().string() == "//net/" );
-  BOOST_TEST( p.filename() == "foo" );
-  BOOST_TEST( p.root_name() == "//net" );
-  BOOST_TEST( p.root_directory() == "/" );
-  BOOST_TEST( p.root_path().string() == "//net/" );
-  BOOST_TEST( p.has_root_path() );
-  BOOST_TEST( p.has_root_name() );
-  BOOST_TEST( p.has_root_directory() );
-  BOOST_TEST( p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( p.has_parent_path() );
-  BOOST_TEST( p.is_complete() );
-
-  p = path( "//net///foo" );
-  CHECK_EQUAL( p.relative_path().string(), "foo" );
-  CHECK_EQUAL( p.parent_path().string(), "//net/" );
-  CHECK_EQUAL( p.filename(), "foo" );
-  CHECK_EQUAL( p.root_name(), "//net" );
-  CHECK_EQUAL( p.root_directory(), "/" );
-  CHECK_EQUAL( p.root_path().string(), "//net/" );
-  BOOST_TEST( p.has_root_path() );
-  BOOST_TEST( p.has_root_name() );
-  BOOST_TEST( p.has_root_directory() );
-  BOOST_TEST( p.has_relative_path() );
-  BOOST_TEST( p.has_filename() );
-  BOOST_TEST( p.has_parent_path() );
-  BOOST_TEST( p.is_complete() );
-
-  if ( platform == "Windows" )
-  {
-    DIR_CHECK( path( "/foo/bar/" ), "\\foo\\bar\\" );
-    DIR_CHECK( path( "//foo//bar//" ), "\\\\foo\\bar\\\\" );
-    DIR_CHECK( path( "///foo///bar///" ), "\\foo\\\\\\bar\\\\\\" );
-
-    DIR_CHECK( path( "\\/foo\\/bar\\/" ), "\\\\foo\\bar\\\\" );
-    DIR_CHECK( path( "\\//foo\\//bar\\//" ), "\\foo\\\\\\bar\\\\\\" );
-
-
-    DIR_CHECK( path( "\\foo\\bar\\" ), "\\foo\\bar\\" );
-    DIR_CHECK( path( "\\\\foo\\\\bar\\\\" ), "\\\\foo\\bar\\\\" );
-    DIR_CHECK( path( "\\\\\\foo\\\\\\bar\\\\\\" ), "\\foo\\\\\\bar\\\\\\" );
-
-    PATH_CHECK( path( "\\" ), "/" );
-    PATH_CHECK( path( "\\f" ), "/f" );
-    PATH_CHECK( path( "\\foo" ), "/foo" );
-    PATH_CHECK( path( "foo\\bar" ), "foo/bar" );
-    PATH_CHECK( path( "foo bar" ), "foo bar" );
-    PATH_CHECK( path( "c:" ), "c:" );
-    PATH_CHECK( path( "c:/" ), "c:/" );
-    PATH_CHECK( path( "c:." ), "c:." );
-    PATH_CHECK( path( "c:./foo" ), "c:./foo" );
-    PATH_CHECK( path( "c:.\\foo" ), "c:./foo" );
-    PATH_CHECK( path( "c:.." ), "c:.." );
-    PATH_CHECK( path( "c:/." ), "c:/." );
-    PATH_CHECK( path( "c:/.." ), "c:/.." );
-    PATH_CHECK( path( "c:/../" ), "c:/../" );
-    PATH_CHECK( path( "c:\\..\\" ), "c:/../" );
-    PATH_CHECK( path( "c:/../.." ), "c:/../.." );
-    PATH_CHECK( path( "c:/../foo" ), "c:/../foo" );
-    PATH_CHECK( path( "c:\\..\\foo" ), "c:/../foo" );
-    PATH_CHECK( path( "c:../foo" ), "c:../foo" );
-    PATH_CHECK( path( "c:..\\foo" ), "c:../foo" );
-    PATH_CHECK( path( "c:/../../foo" ), "c:/../../foo" );
-    PATH_CHECK( path( "c:\\..\\..\\foo" ), "c:/../../foo" );
-    PATH_CHECK( path( "c:foo/.." ), "c:foo/.." );
-    PATH_CHECK( path( "c:/foo/.." ), "c:/foo/.." );
-    PATH_CHECK( path( "c:/..foo" ), "c:/..foo" );
-    PATH_CHECK( path( "c:foo" ), "c:foo" );
-    PATH_CHECK( path( "c:/foo" ), "c:/foo" );
-    PATH_CHECK( path( "\\\\netname" ), "//netname" );
-    PATH_CHECK( path( "\\\\netname\\" ), "//netname/" );
-    PATH_CHECK( path( "\\\\netname\\foo" ), "//netname/foo" );
-    PATH_CHECK( path( "c:/foo" ), "c:/foo" );
-    PATH_CHECK( path( "prn:" ), "prn:" );
-
-    p = path( "c:" );
-    BOOST_TEST( p.relative_path().string() == "" );
-    BOOST_TEST( p.parent_path().string() == "" );
-    BOOST_TEST( p.filename() == "c:" );
-    BOOST_TEST( p.root_name() == "c:" );
-    BOOST_TEST( p.root_directory() == "" );
-    BOOST_TEST( p.root_path().string() == "c:" );
-    BOOST_TEST( p.has_root_path() );
-    BOOST_TEST( p.has_root_name() );
-    BOOST_TEST( !p.has_root_directory() );
-    BOOST_TEST( !p.has_relative_path() );
-    BOOST_TEST( p.has_filename() );
-    BOOST_TEST( !p.has_parent_path() );
-    BOOST_TEST( !p.is_complete() );
-
-    p = path( "c:foo" );
-    BOOST_TEST( p.relative_path().string() == "foo" );
-    BOOST_TEST( p.parent_path().string() == "c:" );
-    BOOST_TEST( p.filename() == "foo" );
-    BOOST_TEST( p.root_name() == "c:" );
-    BOOST_TEST( p.root_directory() == "" );
-    BOOST_TEST( p.root_path().string() == "c:" );
-    BOOST_TEST( p.has_root_path() );
-    BOOST_TEST( p.has_root_name() );
-    BOOST_TEST( !p.has_root_directory() );
-    BOOST_TEST( p.has_relative_path() );
-    BOOST_TEST( p.has_filename() );
-    BOOST_TEST( p.has_parent_path() );
-    BOOST_TEST( !p.is_complete() );
- 
-    p = path( "c:/" );
-    BOOST_TEST( p.relative_path().string() == "" );
-    BOOST_TEST( p.parent_path().string() == "c:" );
-    BOOST_TEST( p.filename() == "/" );
-    BOOST_TEST( p.root_name() == "c:" );
-    BOOST_TEST( p.root_directory() == "/" );
-    BOOST_TEST( p.root_path().string() == "c:/" );
-    BOOST_TEST( p.has_root_path() );
-    BOOST_TEST( p.has_root_name() );
-    BOOST_TEST( p.has_root_directory() );
-    BOOST_TEST( !p.has_relative_path() );
-    BOOST_TEST( p.has_filename() );
-    BOOST_TEST( p.has_parent_path() );
-    BOOST_TEST( p.is_complete() );
-
-    p = path( "c:.." );
-    BOOST_TEST( p.relative_path().string() == ".." );
-    BOOST_TEST( p.parent_path().string() == "c:" );
-    BOOST_TEST( p.filename() == ".." );
-    BOOST_TEST( p.root_name() == "c:" );
-    BOOST_TEST( p.root_directory() == "" );
-    BOOST_TEST( p.root_path().string() == "c:" );
-    BOOST_TEST( p.has_root_path() );
-    BOOST_TEST( p.has_root_name() );
-    BOOST_TEST( !p.has_root_directory() );
-    BOOST_TEST( p.has_relative_path() );
-    BOOST_TEST( p.has_filename() );
-    BOOST_TEST( p.has_parent_path() );
-    BOOST_TEST( !p.is_complete() );
-
-    p = path( "c:/foo" );
-    CHECK_EQUAL( p.relative_path().string(), "foo" );
-    CHECK_EQUAL( p.parent_path().string(), "c:/" );
-    CHECK_EQUAL( p.filename(), "foo" );
-    CHECK_EQUAL( p.root_name(), "c:" );
-    CHECK_EQUAL( p.root_directory(), "/" );
-    CHECK_EQUAL( p.root_path().string(), "c:/" );
-    BOOST_TEST( p.has_root_path() );
-    BOOST_TEST( p.has_root_name() );
-    BOOST_TEST( p.has_root_directory() );
-    BOOST_TEST( p.has_relative_path() );
-    BOOST_TEST( p.has_filename() );
-    BOOST_TEST( p.has_parent_path() );
-    BOOST_TEST( p.is_complete() );
-
-    p = path( "c://foo" );
-    CHECK_EQUAL( p.relative_path().string(), "foo" );
-    CHECK_EQUAL( p.parent_path().string(), "c:/" );
-    CHECK_EQUAL( p.filename(), "foo" );
-    CHECK_EQUAL( p.root_name(), "c:" );
-    CHECK_EQUAL( p.root_directory(), "/" );
-    CHECK_EQUAL( p.root_path().string(), "c:/" );
-    BOOST_TEST( p.has_root_path() );
-    BOOST_TEST( p.has_root_name() );
-    BOOST_TEST( p.has_root_directory() );
-    BOOST_TEST( p.has_relative_path() );
-    BOOST_TEST( p.has_filename() );
-    BOOST_TEST( p.has_parent_path() );
-    BOOST_TEST( p.is_complete() );
-
-    p = path( "c:\\foo\\bar" );
-    CHECK_EQUAL( p.relative_path().string(), "foo/bar" );
-    CHECK_EQUAL( p.parent_path().string(), "c:/foo" );
-    CHECK_EQUAL( p.filename(), "bar" );
-    CHECK_EQUAL( p.root_name(), "c:" );
-    CHECK_EQUAL( p.root_directory(), "/" );
-    CHECK_EQUAL( p.root_path().string(), "c:/" );
-    BOOST_TEST( p.has_root_path() );
-    BOOST_TEST( p.has_root_name() );
-    BOOST_TEST( p.has_root_directory() );
-    BOOST_TEST( p.has_relative_path() );
-    BOOST_TEST( p.has_filename() );
-    BOOST_TEST( p.has_parent_path() );
-    BOOST_TEST( p.is_complete() );
-
-    p = path( "prn:" );
-    BOOST_TEST( p.relative_path().string() == "" );
-    BOOST_TEST( p.parent_path().string() == "" );
-    BOOST_TEST( p.filename() == "prn:" );
-    BOOST_TEST( p.root_name() == "prn:" );
-    BOOST_TEST( p.root_directory() == "" );
-    BOOST_TEST( p.root_path().string() == "prn:" );
-    BOOST_TEST( p.has_root_path() );
-    BOOST_TEST( p.has_root_name() );
-    BOOST_TEST( !p.has_root_directory() );
-    BOOST_TEST( !p.has_relative_path() );
-    BOOST_TEST( p.has_filename() );
-    BOOST_TEST( !p.has_parent_path() );
-    BOOST_TEST( !p.is_complete() );
-
-    p = path( "\\\\net\\\\\\foo" );
-    CHECK_EQUAL( p.relative_path().string(), "foo" );
-    CHECK_EQUAL( p.parent_path().string(), "//net/" );
-    CHECK_EQUAL( p.filename(), "foo" );
-    CHECK_EQUAL( p.root_name(), "//net" );
-    CHECK_EQUAL( p.root_directory(), "/" );
-    CHECK_EQUAL( p.root_path().string(), "//net/" );
-    BOOST_TEST( p.has_root_path() );
-    BOOST_TEST( p.has_root_name() );
-    BOOST_TEST( p.has_root_directory() );
-    BOOST_TEST( p.has_relative_path() );
-    BOOST_TEST( p.has_filename() );
-    BOOST_TEST( p.has_parent_path() );
-    BOOST_TEST( p.is_complete() );
-
-    itr_ck = path( "c:" );
-    BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
-    BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
-    BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
-    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "c:" ) );
-
-    itr_ck = path( "c:/" );
-    BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
-    BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
-    BOOST_TEST( boost::next( boost::next( itr_ck.begin() )) == itr_ck.end() );
-    BOOST_TEST( boost::prior( boost::prior( itr_ck.end() )) == itr_ck.begin() );
-    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "/" ) );
-    BOOST_TEST( *boost::prior( boost::prior( itr_ck.end() )) == std::string( "c:" ) );
-
-    itr_ck = path( "c:foo" );
-    BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
-    BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "foo" ) );
-    BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
-    BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
-    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
-    BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "c:" ) );
-
-    itr_ck = path( "c:/foo" );
-    BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
-    BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
-    BOOST_TEST( *boost::next( boost::next( itr_ck.begin() )) == std::string( "foo" ) );
-    BOOST_TEST( boost::next( boost::next( boost::next( itr_ck.begin() ))) == itr_ck.end() );
-    BOOST_TEST( boost::prior( boost::prior( boost::prior( itr_ck.end() ))) == itr_ck.begin() );
-    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
-    BOOST_TEST( *boost::prior( boost::prior( itr_ck.end() )) == std::string( "/" ) );
-    BOOST_TEST( *boost::prior( boost::prior( boost::prior( itr_ck.end() ))) == std::string( "c:" ) );
-
-    itr_ck = path( "//net" );
-    BOOST_TEST( *itr_ck.begin() == std::string( "//net" ) );
-    BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
-    BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
-    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "//net" ) );
-
-    itr_ck = path( "//net/" );
-    CHECK_EQUAL( *itr_ck.begin(), "//net" );
-    CHECK_EQUAL( *boost::next( itr_ck.begin() ), "/" );
-    BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
-    BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
-    CHECK_EQUAL( *boost::prior( itr_ck.end() ), "/" );
-    CHECK_EQUAL( *boost::prior(boost::prior( itr_ck.end() )), "//net" );
-
-    itr_ck = path( "//net/foo" );
-    BOOST_TEST( *itr_ck.begin() == std::string( "//net" ) );
-    BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
-    BOOST_TEST( *boost::next(boost::next( itr_ck.begin() )) == std::string( "foo" ) );
-    BOOST_TEST( boost::next(boost::next(boost::next( itr_ck.begin() ))) == itr_ck.end() );
-    BOOST_TEST( boost::prior(boost::prior(boost::prior( itr_ck.end() ))) == itr_ck.begin() );
-    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
-    BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "/" ) );
-    BOOST_TEST( *boost::prior(boost::prior(boost::prior( itr_ck.end() ))) == std::string( "//net" ) );
-
-    itr_ck = path( "prn:" );
-    BOOST_TEST( *itr_ck.begin() == std::string( "prn:" ) );
-    BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
-    BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
-    BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "prn:" ) );
-  } // Windows
-
-  else
-  { // POSIX
-    DIR_CHECK( path( "/foo/bar/" ), "/foo/bar/" );
-    DIR_CHECK( path( "//foo//bar//" ), "//foo//bar//" );
-    DIR_CHECK( path( "///foo///bar///" ), "///foo///bar///" );
-
-    p = path( "/usr/local/bin:/usr/bin:/bin" );
-    BOOST_TEST( p.file_string() == "/usr/local/bin:/usr/bin:/bin" );
-  } // POSIX
-
-  // test non-member functions, particularly operator overloads
-                                                             
-  path e, e2;
-  std::string es, es2;
-  char ecs[] = "";
-  char ecs2[] = "";
-
-  char acs[] = "a";
-  std::string as(acs);
-  path a( as );
-
-  char acs2[] = "a";
-  std::string as2(acs2);
-  path a2( as2 );
-
-  char bcs[] = "b";
-  std::string bs(bcs);
-  path b( bs );
-
-  // swap
-  a.swap( b );
-  BOOST_TEST( a.string() == "b" );
-  BOOST_TEST( b.string() == "a" );
-  fs::swap( a, b );
-  BOOST_TEST( a.string() == "a" );
-  BOOST_TEST( b.string() == "b" );
-
-  // probe operator /
-  BOOST_TEST( (b / a).string() == "b/a" );
-  BOOST_TEST( (bs / a).string() == "b/a" );
-  BOOST_TEST( (bcs / a).string() == "b/a" );
-  BOOST_TEST( (b / as).string() == "b/a" );
-  BOOST_TEST( (b / acs).string() == "b/a" );
-
-  // probe operator <
-  BOOST_TEST( !(e < e2) );
-  BOOST_TEST( !(es < e2) );
-  BOOST_TEST( !(ecs < e2) );
-  BOOST_TEST( !(e < es2) );
-  BOOST_TEST( !(e < ecs2) );
-
-  BOOST_TEST( e < a );
-  BOOST_TEST( es < a );
-  BOOST_TEST( ecs < a );
-  BOOST_TEST( e < as );
-  BOOST_TEST( e < acs );
-
-  BOOST_TEST( a < b );
-  BOOST_TEST( as < b );
-  BOOST_TEST( acs < b );
-  BOOST_TEST( a < bs );
-  BOOST_TEST( a < bcs );
-
-  BOOST_TEST( !(a < a2) );
-  BOOST_TEST( !(as < a2) );
-  BOOST_TEST( !(acs < a2) );
-  BOOST_TEST( !(a < as2) );
-  BOOST_TEST( !(a < acs2) );
-
-  // make sure basic_path overloads don't conflict with std::string overloads
-
-  BOOST_TEST( !(as < as) );
-  BOOST_TEST( !(as < acs) );
-  BOOST_TEST( !(acs < as) );
-
-  // reality check character set is as expected
-  BOOST_TEST( std::string("a.b") < std::string("a/b") );
-  // verify compare is actually lexicographical
-  BOOST_TEST( path("a/b") < path("a.b") );
-
-  // make sure the derivative operators also work
-  BOOST_TEST( a == a2 );
-  BOOST_TEST( as == a2 );
-  BOOST_TEST( acs == a2 );
-  BOOST_TEST( a == as2 );
-  BOOST_TEST( a == acs2 );
-
-  BOOST_TEST( a != b );
-  BOOST_TEST( as != b );
-  BOOST_TEST( acs != b );
-  BOOST_TEST( a != bs );
-  BOOST_TEST( a != bcs );
-
-  BOOST_TEST( b > a );
-  BOOST_TEST( b > as );
-  BOOST_TEST( b > acs );
-  BOOST_TEST( bs > a);
-  BOOST_TEST( bcs > a);
-
-  BOOST_TEST( !(a2 > a) );
-  BOOST_TEST( !(a2 > as) );
-  BOOST_TEST( !(a2 > acs) );
-  BOOST_TEST( !(as2 > a) );
-  BOOST_TEST( !(acs2 > a) );
-
-  BOOST_TEST( a <= b );
-  BOOST_TEST( as <= b );
-  BOOST_TEST( acs <= b );
-  BOOST_TEST( a <= bs );
-  BOOST_TEST( a <= bcs );
-
-  BOOST_TEST( a <= a2 );
-  BOOST_TEST( as <= a2 );
-  BOOST_TEST( acs <= a2 );
-  BOOST_TEST( a <= as2 );
-  BOOST_TEST( a <= acs2 );
-
-  BOOST_TEST( b >= a );
-  BOOST_TEST( bs >= a );
-  BOOST_TEST( bcs >= a );
-  BOOST_TEST( b >= as );
-  BOOST_TEST( b >= acs );
-
-  BOOST_TEST( a2 >= a );
-  BOOST_TEST( as2 >= a );
-  BOOST_TEST( acs2 >= a );
-  BOOST_TEST( a2 >= as );
-  BOOST_TEST( a2 >= acs );
-  
-// extension() tests
-
-  BOOST_TEST( path("a/b").extension() == "" );
-  BOOST_TEST( path("a.b/c").extension() == "" );
-  BOOST_TEST( path("a/b.txt").extension() == ".txt" );
-  BOOST_TEST( path("a/b.").extension() == "." );
-  BOOST_TEST( path("a.b.c").extension() == ".c" );
-  BOOST_TEST( path("a.b.c.").extension() == "." );
-  BOOST_TEST( path("").extension() == "" );
-  BOOST_TEST( path("a/").extension() == "." );
-  
-// stem() tests
-
-  BOOST_TEST( path("b").stem() == "b" );
-  BOOST_TEST( path("a/b.txt").stem() == "b" );
-  BOOST_TEST( path("a/b.").stem() == "b" ); 
-  BOOST_TEST( path("a.b.c").stem() == "a.b" );
-  BOOST_TEST( path("a.b.c.").stem() == "a.b.c" );
-  BOOST_TEST( path("").stem() == "" );
-  
-// replace_extension() tests
-
-  BOOST_TEST( path("a.txt").replace_extension("").string() == "a" );
-  BOOST_TEST( path("a.txt").replace_extension(".").string() == "a." );
-  BOOST_TEST( path("a.txt").replace_extension(".tex").string() == "a.tex" );
-  BOOST_TEST( path("a.txt").replace_extension("tex").string() == "a.tex" );
-  BOOST_TEST( path("a.").replace_extension(".tex").string() == "a.tex" );
-  BOOST_TEST( path("a.").replace_extension("tex").string() == "a.tex" );
-  BOOST_TEST( path("a").replace_extension(".txt").string() == "a.txt" );
-  BOOST_TEST( path("a").replace_extension("txt").string() == "a.txt" );
-  BOOST_TEST( path("a.b.txt" ).replace_extension(".tex").string() == "a.b.tex" );  
-  BOOST_TEST( path("a.b.txt" ).replace_extension("tex").string() == "a.b.tex" );  
-  // see the rationale in html docs for explanation why this works
-  BOOST_TEST( path("").replace_extension(".png").string() == ".png" );
-  BOOST_TEST_EQ(path("a.txt/b").replace_extension(".c"), "a.txt/b.c"); // ticket 4702
-
-  // inserter and extractor tests
-# if !defined( BOOST_MSVC ) || BOOST_MSVC > 1300 // bypass VC++ 7.0 and earlier
-  std::cout << "\nInserter and extractor test...";
-  std::stringstream ss;
-  ss << fs::path( "foo bar" ) << std::endl;  // ensure space in path roundtrips
-  fs::path round_trip;
-  ss >> round_trip;
-  BOOST_TEST( round_trip.string() == "foo bar" );
-  std::cout << round_trip.string() << "..." << round_trip << " complete\n";
-# endif
-
-  return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/filesystem/v2/test/wide_test.cpp b/SRC/Boost/libs/filesystem/v2/test/wide_test.cpp
deleted file mode 100755
index a3c26cc..0000000
--- a/SRC/Boost/libs/filesystem/v2/test/wide_test.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-//  Boost wide_test.cpp  -----------------------------------------------------//
-
-//  Copyright Beman Dawes 2005
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-#define BOOST_FILESYSTEM_VERSION 2
-
-#include <boost/config/warning_disable.hpp>
-
-//  See deprecated_test for tests of deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-# define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/config.hpp>
-# ifdef BOOST_FILESYSTEM2_NARROW_ONLY
-#   error This compiler or standard library does not support wide-character strings or paths
-# endif
-
-#include <boost/filesystem/operations.hpp>
-#include <boost/filesystem/fstream.hpp>
-#include <boost/scoped_array.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-
-#include <boost/filesystem/detail/utf8_codecvt_facet.hpp>
-
-namespace fs = boost::filesystem;
-
-#include <iostream>
-#include <iomanip>
-#include <ios>
-#include <string>
-#include <cerrno>
-
-#include "lpath.hpp"
-
-namespace
-{
-  bool cleanup = true;
-
-  template< class Path >
-  void create_file( const Path & ph, const std::string & contents )
-  {
-    // TODO: why missing symbol error on Darwin
-# ifndef __APPLE__
-    fs::ofstream f( ph );
-# else    
-    std::ofstream f( ph.external_file_string().c_str() );
-# endif    
-    if ( !f )
-      BOOST_FILESYSTEM_THROW( fs::basic_filesystem_error<Path>( "wide_test create_file",
-        ph,
-        boost::system::error_code( errno, boost::system::generic_category() ) ) );
-    if ( !contents.empty() ) f << contents;
-  }
-
-  template< class Path >
-  void test( const Path & dir, const Path & file, const Path & dot )
-  {
-    Path tmp;
-    tmp = file;
-    BOOST_TEST( tmp == file );
-    tmp = file.string();
-    BOOST_TEST( tmp == file );
-    tmp = file.string().c_str();
-    BOOST_TEST( tmp == file );
-    fs::initial_path<Path>();
-    fs::current_path<Path>();
-    fs::remove( dir / file );
-    fs::remove( dir );
-    BOOST_TEST( !fs::exists( dir / file ) );
-    BOOST_TEST( !fs::exists( dir ) );
-    BOOST_TEST( fs::create_directory( dir ) );
-    BOOST_TEST( fs::exists( dir ) );
-    BOOST_TEST( fs::is_directory( dir ) );
-    BOOST_TEST( fs::is_empty( dir ) );
-    create_file( dir / file, "wide_test file contents" );
-    BOOST_TEST( fs::exists( dir / file ) );
-    BOOST_TEST( !fs::is_directory( dir / file ) );
-    BOOST_TEST( !fs::is_empty( dir / file ) );
-    BOOST_TEST( fs::file_size( dir / file ) == 23 || fs::file_size( dir / file ) == 24 );
-    BOOST_TEST( fs::equivalent( dir / file, dot / dir / file ) );
-    BOOST_TEST( fs::last_write_time( dir / file ) );
-    typedef fs::basic_directory_iterator<Path> it_t;
-    int count(0);
-    for ( it_t it( dir ); it != it_t(); ++it )
-    {
-      BOOST_TEST( it->path() == dir / file );
-      BOOST_TEST( !fs::is_empty( it->path() ) );
-      ++count;
-    }
-    BOOST_TEST( count == 1 );
-    if ( cleanup )
-    {
-      fs::remove( dir / file );
-      fs::remove( dir );
-    }
-  }
-
-  // test boost::detail::utf8_codecvt_facet - even though it is not used by
-  // Boost.Filesystem on Windows, early detection of problems is worthwhile.
-  std::string to_external( const std::wstring & src )
-  {
-    fs::detail::utf8_codecvt_facet convertor;
-    std::size_t work_size( convertor.max_length() * (src.size()+1) );
-    boost::scoped_array<char> work( new char[ work_size ] );
-    std::mbstate_t state;
-    const wchar_t * from_next;
-    char * to_next;
-    if ( convertor.out( 
-      state, src.c_str(), src.c_str()+src.size(), from_next, work.get(),
-      work.get()+work_size, to_next ) != std::codecvt_base::ok )
-      boost::throw_exception( std::runtime_error("to_external conversion error") );
-    *to_next = '\0';
-    return std::string( work.get() );
-  }
-
-} // unnamed namespace
-
-//  main  ------------------------------------------------------------------------------//
-
-int cpp_main( int argc, char * /*argv*/[] )
-{
-
-  if ( argc > 1 ) cleanup = false;
-
-  // So that tests are run with known encoding, use Boost UTF-8 codecvt
-  std::locale global_loc = std::locale();
-  std::locale loc( global_loc, new fs::detail::utf8_codecvt_facet );
-  fs::wpath_traits::imbue( loc );
-
-  std::string s( to_external( L"\x2780" ) );
-  for (std::size_t i = 0; i < s.size(); ++i )
-    std::cout << std::hex << int( static_cast<unsigned char>(s[i]) ) << " ";
-  std::cout << std::dec << std::endl;
-  BOOST_TEST( to_external( L"\x2780" ).size() == 3 );
-  BOOST_TEST( to_external( L"\x2780" ) == "\xE2\x9E\x80" );
-
-  // test fs::path
-  std::cout << "begin path test..." << std::endl;
-  test( fs::path( "foo" ), fs::path( "bar" ), fs::path( "." ) );
-  std::cout << "complete\n\n";
-
-  // test fs::wpath
-  //  x2780 is circled 1 against white background == e2 9e 80 in UTF-8
-  //  x2781 is circled 2 against white background == e2 9e 81 in UTF-8
-  std::cout << "begin wpath test..." << std::endl;
-  test( fs::wpath( L"\x2780" ), fs::wpath( L"\x2781" ), fs::wpath( L"." ) );
-  std::cout << "complete\n\n";
-
-  // test user supplied basic_path
-  const long dir[] = { 'b', 'o', 'o', 0 };
-  const long file[] = { 'f', 'a', 'r', 0 };
-  const long dot[] = { '.', 0 };
-  std::cout << "begin lpath test..." << std::endl;
-  test( ::user::lpath( dir ), ::user::lpath( file ), ::user::lpath( dot ) );
-  std::cout << "complete\n\n";
-
-  return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/filesystem/v3/build/Jamfile.v2 b/SRC/Boost/libs/filesystem/v3/build/Jamfile.v2
deleted file mode 100755
index 461d823..0000000
--- a/SRC/Boost/libs/filesystem/v3/build/Jamfile.v2
+++ /dev/null
@@ -1,32 +0,0 @@
-# Boost Filesystem Library Build Jamfile
-
-# (C) Copyright Beman Dawes 2002-2006
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or www.boost.org/LICENSE_1_0.txt)
-
-
-# See library home page at http://www.boost.org/libs/filesystem
-
-project boost/filesystem
-    : source-location ../src
-    : usage-requirements # pass these requirement to dependents (i.e. users)
-      <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1
-    ;
-
-SOURCES =
-    operations path path_traits portability unique_path utf8_codecvt_facet windows_file_codecvt codecvt_error_category ;
-
-lib boost_filesystem
-    : $(SOURCES).cpp ../../system/build//boost_system
-    : <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1 # tell source we're building dll's
-    :
-    : # Boost.Filesystem uses some of Boost.System functions in inlined/templated
-      # functions, so clients that use Boost.Filesystem will have direct references 
-      # to Boost.System symbols. On Windows, Darwin, and some other platforms, this
-      # means those clients have to be directly linked to Boost.System. For static
-      # linking this happens anyway, but for shared we need to make it happen. Since
-      # doing so is harmless even when not needed, we do it for all platforms.
-      <link>shared:<library>../../system/build//boost_system
-    ;
-
-boost-install boost_filesystem ;
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/doc/Jamfile.v2 b/SRC/Boost/libs/filesystem/v3/doc/Jamfile.v2
deleted file mode 100755
index 09a34a6..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/Jamfile.v2
+++ /dev/null
@@ -1,19 +0,0 @@
-# Boost Filesystem Library Example Jamfile
- 
-# Copyright Beman Dawes 2010
-
-# Distributed under the Boost Software License, Version 1.0.
-# See www.boost.org/LICENSE_1_0.txt
-
-# Library home page: http://www.boost.org/libs/filesystem
-
-project
-    : requirements
-      <library>/boost/filesystem//boost_filesystem
-      <library>/boost/system//boost_system
-      <toolset>msvc:<asynch-exceptions>on
-      <link>static
-    ;
-    
-exe path_table : path_table.cpp ;    
-install path_table-copy : path_table : <location>. ;
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/doc/POSIX_filename_encoding.txt b/SRC/Boost/libs/filesystem/v3/doc/POSIX_filename_encoding.txt
deleted file mode 100755
index d335364..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/POSIX_filename_encoding.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-http://www.linuxfromscratch.org/blfs/view/svn/introduction/locale-issues.html
-
-"The POSIX standard mandates that the filename encoding is the encoding implied by the current LC_CTYPE locale category." 
-
--------
-
-http://mail.nl.linux.org/linux-utf8/2001-02/msg00103.html
-
-From: Markus Kuhn
-
-Tom Tromey wrote on 2001-02-05 00:36 UTC:
-> Kai> IMAO, a *real* filesystem should use some encoding of ISO 10646 -
-> Kai> UTF-8, UTF-16, or UTF-32 are all viable options. The same should
-> Kai> be true for the kernel filename interfaces.
-> 
-> I like this, but what should I do right now?
-
-The POSIX kernel file system interface is engraved into stone and
-extremely unlikely to change. File names are arbitrary binary strings,
-with only the '/' and '\0' bytes having any special semantics. You can
-use arbitrary coded character sets on it as long as they do not
-introduce '/' and '\0' bytes spuriously. Writers and readers have to
-somehow agree on what encoding to use and the only really practical way
-is to use the same encoding on all systems that share files. Eventually,
-everyone will be using UTF-8 for file names on POSIX systems. Right now,
-I would recommend users to use only ASCII for filenames, as this is
-already UTF-8 and therefore simplifies migration. Using the ISO 8859,
-JIS, etc. filenames should soon be considered deprecated practice.
-
-> I work on libgcj, the runtime component of gcj, the Java front end to
-> GCC.  In libgcj of course we use UCS-2 everywhere, since that is what
-> Java does.  Currently, for Unixy systems, we assume that all file
-> names are UTF-8.
-
-The best solution is to assume that the file names are in the
-locale-specific multi-byte encoding. Simply use mbrtowc and wcrtomb to
-convert between Unicode and the locale-dependent multi-byte encoding
-used in file names and text files if the ISO C 99 symbol
-__STDC_ISO_10646__ is defined (which guarantees that wchar_t = UCS). On
-Linux, this has been the case since glibc 2.2.
-
-> (Actually, we do something notably worse, which is
-> assume that file names are Java-style UTF-8, with the weird encoding
-> for \u0000.)
-
-\u0000 = NUL was never a character allowed in filenames under POSIX.
-Raise an exception if someone tries to use it in a filename. Problem
-solved.
-
-I never understood, why Java found it necessary to introduce two
-distinct ASCII NUL characters.
-
-------
-
-Interesting idea. Use iconv to create shift-jis or other mbcs test cases.
diff --git a/SRC/Boost/libs/filesystem/v3/doc/deprecated.html b/SRC/Boost/libs/filesystem/v3/doc/deprecated.html
deleted file mode 100755
index 4459ce2..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/deprecated.html
+++ /dev/null
@@ -1,385 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Filesystem Deprecated Features</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-</head>
-
-<body>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td width="277">
-<a href="../../../../index.htm">
-<img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td>
-    <td align="middle">
-    <font size="7">Filesystem Deprecated Features</font>
-    </td>
-  </tr>
-</table>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
-  <tr>
-    <td><a href="index.htm">Filesystem Home</a>   
-    <a href="release_history.html">Releases</a>   
-    <a href="reference.html">Reference</a>   
-    <a href="tutorial.html">Tutorial</a>   
-    <a href="faq.htm">FAQ</a>   
-    <a href="portability_guide.htm">Portability</a>   
-    <a href="v3.html">V3 Intro</a>   
-    <a href="v3_design.html">V3 Design</a>   
-    <a href="deprecated.html">Deprecated</a>   
-    </td>
-</table>
-
-<h2><a name="Deprecated-names">Deprecated names</a> and features</h2>
-<p style="font-size: 10pt">As the library evolves over time, names sometimes 
-change or old features are removed to make way for new features. To ease transition, Boost.Filesystem deprecates 
-the old names and features, but by default continues to provide many of them. 
-The deprecated names and other workarounds can be suppressed by defining macro <code>
-BOOST_FILESYSTEM_NO_DEPRECATED</code>, and this is recommended for all new code.</p>
-<p style="font-size: 10pt">In the table, ✔ indicates a synonym or other 
-workaround is provided unless <code>
-BOOST_FILESYSTEM_NO_DEPRECATED</code> is defined.</p>
-<table border="1" cellpadding="5" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <b><i>Component or location</i></b></td>
-    <td style="font-size: 10pt" valign="top">
-    <p style="font-size: 10pt"><b><i>Old name, now deprecated</i></b></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <p style="font-size: 10pt"><b><i>New name</i></b></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>class path</code></td>
-    <td style="font-size: 10pt" valign="top"><code>branch_path()</code></td>
-    <td style="font-size: 10pt" valign="top">✔</td>
-    <td style="font-size: 10pt" valign="top"><code>parent_path()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class path</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>canonize()</code></td>
-    <td style="font-size: 10pt" valign="top">
-     </td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Function removed</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class path</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>default_name_check()</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Function removed</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class path</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>default_name_check(name_check)</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Function removed</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class path</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>default_name_check_writable()</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Function removed</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>class path</code></td>
-    <td style="font-size: 10pt" valign="top"><code>directory_string()</code></td>
-    <td style="font-size: 10pt" valign="top">✔</td>
-    <td style="font-size: 10pt" valign="top"><code>string</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>class path</code></td>
-    <td style="font-size: 10pt" valign="top"><code>external_directory_string()</code></td>
-    <td style="font-size: 10pt" valign="top">✔</td>
-    <td style="font-size: 10pt" valign="top"><code>native()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>class path</code></td>
-    <td style="font-size: 10pt" valign="top"><code>external_file_string()</code></td>
-    <td style="font-size: 10pt" valign="top">✔</td>
-    <td style="font-size: 10pt" valign="top"><code>native()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>class path</code></td>
-    <td style="font-size: 10pt" valign="top"><code>file_string()</code></td>
-    <td style="font-size: 10pt" valign="top">✔</td>
-    <td style="font-size: 10pt" valign="top"><code>string()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>class path</code></td>
-    <td style="font-size: 10pt" valign="top"><code>has_branch_path()</code></td>
-    <td style="font-size: 10pt" valign="top">✔</td>
-    <td style="font-size: 10pt" valign="top"><code>has_parent_path()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>class path</code></td>
-    <td style="font-size: 10pt" valign="top"><code>has_leaf()</code></td>
-    <td style="font-size: 10pt" valign="top">✔</td>
-    <td style="font-size: 10pt" valign="top"><code>has_filename()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>class path</code></td>
-    <td style="font-size: 10pt" valign="top"><code>is_complere()</code></td>
-    <td style="font-size: 10pt" valign="top">✔</td>
-    <td style="font-size: 10pt" valign="top"><code>is_absolute()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top"><code>class path</code></td>
-    <td style="font-size: 10pt" valign="top"><code>leaf()</code></td>
-    <td style="font-size: 10pt" valign="top">✔</td>
-    <td style="font-size: 10pt" valign="top"><code>filename()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class path</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>native_directory_string()</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <code>string()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class path</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>native_file_string()</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <code>string()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class path</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>normalize()</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Function removed</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class path</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>path(const string_type& str, name_check)</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Function removed. Workaround ignores </i><code>name_check</code><i> 
-    argument.</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class path</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>path(const string_type::value_type* s,  name_check)</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Function removed. Workaround ignores </i><code>name_check</code><i> 
-    argument.</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class path</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <p style="font-size: 10pt"><code>remove_leaf()</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <p style="font-size: 10pt"><code>remove_filename()</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>path.hpp</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>template<class String, class Traits><br>
-  class basic_path;</code></td>
-    <td style="font-size: 10pt" valign="top">
-     </td>
-    <td style="font-size: 10pt" valign="top">
-    Class template <code>basic_path</code> is replaced by <code>class path</code>. 
-    No workaround for an explicitly coded <code>basic_path</code> is provided, 
-    but see the next row - <code>path</code>.</td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>path.hpp</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>typedef basic_path<std::string, path_traits> path</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <code>class path</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>path.hpp</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>typedef basic_path<std::wstring, wpath_traits> wpath</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Removed; use </i><code>class path</code><i> instead. Workaround provides
-    </i><code>typedef path wpath</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>operations.hpp</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>initial_path()</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Function removed</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>operations.hpp</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <p dir="ltr"><code>template <class Path><br>
-    Path complete(const Path& p,<br>
- const Path& base=<br>
-   initial_path<Path>())</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <p dir="ltr"><code>path absolute(const path& p, const path& base=<br>
-  current_path())</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>operations.hpp</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>is_regular(file_status f)</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <p dir="ltr">
-    <code>is_regular_file(file_status f)</code></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>operations.hpp</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>symbolic_link_exists(const path& ph)</code></td>
-    <td style="font-size: 10pt" valign="top">
-     </td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Function removed</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class directory_entry</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>filename()</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Function removed, use </i><code>path().filename()</code><i> instead.</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class directory_entry</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>leaf()</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Function removed, use </i><code>path().filename()</code><i> instead.</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    <code>class directory_entry</code></td>
-    <td style="font-size: 10pt" valign="top">
-    <code>string()</code></td>
-    <td style="font-size: 10pt" valign="top">
-    ✔</td>
-    <td style="font-size: 10pt" valign="top">
-    <i>Function removed, use </i><code>path().string()</code><i> instead.</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    Macro definitions</td>
-    <td style="font-size: 10pt" valign="top">
-    <code>BOOST_WINDOW_API</code></td>
-    <td style="font-size: 10pt" valign="top">
-     </td>
-    <td style="font-size: 10pt" valign="top">
-    <i>No longer supported; API selection is always automatic.</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    Macro definitions</td>
-    <td style="font-size: 10pt" valign="top">
-    <code>BOOST_POSIX_API</code></td>
-    <td style="font-size: 10pt" valign="top">
-     </td>
-    <td style="font-size: 10pt" valign="top">
-    <i>No longer supported; API selection is always automatic.</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    Macro definitions</td>
-    <td style="font-size: 10pt" valign="top">
-    <code>BOOST_WINDOW_PATH</code></td>
-    <td style="font-size: 10pt" valign="top">
-     </td>
-    <td style="font-size: 10pt" valign="top">
-    <i>No longer supported; native path format selection is always automatic.</i></td>
-  </tr>
-  <tr>
-    <td style="font-size: 10pt" valign="top">
-    Macro definitions</td>
-    <td style="font-size: 10pt" valign="top">
-    <code>BOOST_POSIX_PATH</code></td>
-    <td style="font-size: 10pt" valign="top">
-     </td>
-    <td style="font-size: 10pt" valign="top">
-    <i>No longer supported; native path format selection is always automatic.</i></td>
-  </tr>
-</table>
-
-<h2>Deprecation rationale</h2>
-<h3><code>initial_path</code> function</h3>
-<p dir="ltr">Full implementation of <code>initial_path()</code> would require 
-support from the C++ runtime startup code, and that doesn't seem likely to 
-happen. Depending on the user to call <code>initial_path()</code> at the 
-beginning of <code>main()</code> is too error prone.  An equivalent 
-function can trivially be provided by a user.</p>
-
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->20 February, 2011<!--webbot bot="Timestamp" endspan i-checksum="40524" --></p>
-
-<p>© Copyright Beman Dawes, 2002-2005, 2010</p>
-<p> Use, modification, and distribution are subject to the Boost Software 
-License, Version 1.0. See <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a></p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/doc/design.htm b/SRC/Boost/libs/filesystem/v3/doc/design.htm
deleted file mode 100755
index 6ec1446..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/design.htm
+++ /dev/null
@@ -1,353 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Boost Filesystem Library Design</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<h1>
-<img border="0" src="../../../../boost.png" align="center" width="277" height="86">Filesystem 
-Library Design</h1>
-
-<p><a href="#Introduction">Introduction</a><br>
-<a href="#Requirements">Requirements</a><br>
-<a href="#Realities">Realities</a><br>
-<a href="#Rationale">Rationale</a><br>
-<a href="#Abandoned_Designs">Abandoned_Designs</a><br>
-<a href="#References">References</a></p>
-
-<h2><a name="Introduction">Introduction</a></h2>
-
-<p>The primary motivation for beginning work on the Filesystem Library was 
-frustration with Boost administrative tools.  Scripts were written in 
-Python, Perl, Bash, and Windows command languages.  There was no single 
-scripting language familiar and acceptable to all Boost administrators. Yet they 
-were all skilled C++ programmers - why couldn't C++ be used as the scripting 
-language?</p>
-
-<p>The key feature C++ lacked for script-like applications was the ability to 
-perform portable filesystem operations on directories and their contents. The 
-Filesystem Library was developed to fill that void.</p>
-
-<p>The intent is not to compete with traditional scripting languages, but to 
-provide a solution for situations where C++ is already the language 
-of choice..</p>
-
-<h2><a name="Requirements">Requirements</a></h2>
-<ul>
-  <li>Be able to write portable script-style filesystem operations in modern 
-  C++.<br>
-  <br>
-  Rationale: This is a common programming need. It is both an 
-  embarrassment and a hardship that this is not possible with either the current 
-  C++ or Boost libraries.  The need is particularly acute 
-  when C++ is the only toolset allowed in the tool chain.  File system 
-  operations are provided by many languages used on multiple platforms, 
-  such as Perl and Python, as well as by many platform specific scripting 
-  languages. All operating systems provide some form of API for filesystem 
-  operations, and the POSIX bindings are increasingly available even on 
-  operating systems not normally associated with POSIX, such as the Mac, z/OS, 
-  or OS/390.<br>
- </li>
-  <li>Work within the <a href="#Realities">realities</a> described below.<br>
-  <br>
-  Rationale: This isn't a research project. The need is for something that works on 
-  today's platforms, including some of the embedded operating systems 
-  with limited file systems. Because of the emphasis on portability, such a 
-  library would be much more useful if standardized. That means being able to 
-  work with a much wider range of platforms that just Unix or Windows and their 
-  clones.<br>
- </li>
-  <li>Avoid dangerous programming practices. Particularly, all-too-easy-to-ignore error notifications 
-  and use of global variables. If a dangerous feature is provided, identify it as such.<br>
-  <br>
-  Rationale: Normally this would be covered by "the usual Boost requirements...", 
-  but it is mentioned explicitly because the equivalent native platform and 
-  scripting language interfaces often depend on all-too-easy-to-ignore error 
-  notifications and global variables like "current 
-  working directory".<br>
- </li>
-  <li>Structure the library so that it is still useful even if some functionality 
-  does not map well onto a given platform or directory tree. Particularly, much 
-  useful functionality should be portable even to flat 
-(non-hierarchical) filesystems.<br>
-  <br>
-  Rationale: Much functionality which does not 
-  require a hierarchical directory structure is still useful on flat-structure 
-  filesystems.  There are many systems, particularly embedded systems, 
-  where even very limited functionality is still useful.</li>
-</ul>
-<ul>
-  <li>Interface smoothly with current C++ Standard Library input/output 
-  facilities.  For example, paths should be 
-  easy to use in std::basic_fstream constructors.<br>
-  <br>
-  Rationale: One of the most common uses of file system functionality is to 
-  manipulate paths for eventual use in input/output operations.  
-  Thus the need to interface smoothly with standard library I/O.<br>
- </li>
-  <li>Suitable for eventual standardization. The implication of this requirement 
-  is that the interface be close to minimal, and that great care be take 
-  regarding portability.<br>
-  <br>
-  Rationale: The lack of file system operations is a serious hole 
-  in the current standard, with no other known candidates to fill that hole. 
-  Libraries with elaborate interfaces and difficult to port specifications are much less likely to be accepted for 
-  standardization.<br>
- </li>
-  <li>The usual Boost <a href="http://www.boost.org/more/lib_guide.htm">requirements and 
-  guidelines</a> apply.<br>
- </li>
-  <li>Encourage, but do not require, portability in path names.<br>
-  <br>
-  Rationale: For paths which originate from user input it is unreasonable to 
-  require portable path syntax.<br>
- </li>
-  <li>Avoid giving the illusion of portability where portability in fact does not 
-  exist.<br>
-  <br>
-  Rationale: Leaving important behavior unspecified or "implementation defined" does a 
-  great disservice to programmers using a library because it makes it appear 
-  that code relying on the behavior is portable, when in fact there is nothing 
-  portable about it. The only case where such under-specification is acceptable is when both users and implementors know from 
-  other sources exactly what behavior is required, yet for some reason it isn't 
-  possible to specify it exactly.</li>
-</ul>
-<h2><a name="Realities">Realities</a></h2>
-<ul>
-  <li>Some operating systems have a single directory tree root, others have 
-  multiple roots.<br>
- </li>
-  <li>Some file systems provide both a long and short form of filenames.<br>
- </li>
-  <li>Some file systems have different syntax for file paths and directory 
-  paths.<br>
- </li>
-  <li>Some file systems have different rules for valid file names and valid 
-  directory names.<br>
- </li>
-  <li>Some file systems (ISO-9660, level 1, for example) use very restricted 
-  (so-called 8.3) file names.<br>
- </li>
-  <li>Some operating systems allow file systems with different 
-  characteristics to be "mounted" within a directory tree.  Thus a 
-  ISO-9660 or Windows 
-  file system may end up as a sub-tree of a POSIX directory tree.<br>
- </li>
-  <li>Wide-character versions of directory and file operations are available on some operating 
-  systems, and not available on others.<br>
- </li>
-  <li>There is no law that says directory hierarchies have to be specified in 
-  terms of left-to-right decent from the root.<br>
- </li>
-  <li>Some file systems have a concept of file "version number" or "generation 
-  number".  Some don't.<br>
- </li>
-  <li>Not all operating systems use single character separators in path names.  Some use 
-  paired notations. A typical fully-specified OpenVMS filename
-  might look something like this:<br>
-  <br>
-  <code>   DISK$SCRATCH:[GEORGE.PROJECT1.DAT]BIG_DATA_FILE.NTP;5<br>
-  </code><br>
-  The general OpenVMS format is:<br>
-  <br>
-     
-  <i>Device:[directories.dot.separated]filename.extension;version_number</i><br>
- </li>
-  <li>For common file systems, determining if two descriptors are for same 
-  entity is extremely difficult or impossible.  For example, the concept of 
-  equality can be different for each portion of a path - some portions may be 
-  case or locale sensitive, others not. Case sensitivity is a property of the 
-  pathname itself, and not the platform. Determining collating sequence is even 
-  worse.<br>
- </li>
-  <li>Race-conditions may occur. Directory trees, directories, files, and file attributes are in effect shared between all threads, processes, and computers which have access to the 
-  filesystem.  That may well include computers on the other side of the 
-  world or in orbit around the world. This implies that file system operations 
-  may fail in unexpected ways. For example:<br>
-  <br>
-  <code>     assert( exists("foo") == exists("foo") ); 
-  // may fail!<br>
-     assert( is_directory("foo") == is_directory("foo"); 
-  // may fail!<br>
-  </code><br>
-  In the first example, the file may have been deleted between calls to 
-  exists().  In the second example, the file may have been deleted and then 
-  replaced by a directory of the same name between the calls to is_directory().<br>
- </li>
-  <li>Even though an application may be portable, it still will have to traffic 
-  in system specific paths occasionally; user provided input is a common 
-  example.<br>
- </li>
-  <li><a name="symbolic-link-use-case">Symbolic</a> links cause canonical and 
-  normal form of some paths to represent different files or directories. For 
-  example, given the directory hierarchy <code>/a/b/c</code>, with a symbolic 
-  link in <code>/a</code> named <code>x</code>  pointing to <code>b/c</code>, 
-  then under POSIX Pathname Resolution rules a path of <code>"/a/x/.."</code> 
-  should resolve to <code>"/a/b"</code>. If <code>"/a/x/.."</code> were first 
-  normalized to <code>"/a"</code>, it would resolve incorrectly. (Case supplied 
-  by Walter Landry.)</li>
-</ul>
-
-<h2><a name="Rationale">Rationale</a></h2>
-
-<p>The <a href="#Requirements">Requirements</a> and <a href="#Realities">
-Realities</a> above drove much of the C++ interface design.  In particular, 
-the desire to make script-like code straightforward caused a great deal of 
-effort to go into ensuring that apparently simple expressions like <i>exists( "foo" 
-)</i> work as expected.</p>
-
-<p>See the <a href="faq.htm">FAQ</a> for the rationale behind many detailed 
-design decisions.</p>
-
-<p>Several key insights went into the <i>path</i> class design:</p>
-<ul>
-  <li>Decoupling of the input formats, internal conceptual (<i>vector<string></i> 
-  or other sequence) 
-  model, and output formats.</li>
-  <li>Providing two input formats (generic and O/S specific) broke a major 
-  design deadlock.</li>
-  <li>Providing several output formats solved another set of previously 
-  intractable problems.</li>
-  <li>Several non-obvious functions (particularly decomposition and composition) 
-  are required to support portable code. (Peter Dimov, Thomas Witt, Glen 
-  Knowles, others.)</li>
-</ul>
-
-<p>Error checking was a particularly difficult area. One key insight was that 
-with file and directory names, portability isn't a universal truth.  
-Rather, the programmer must think out the question "What operating systems do I 
-want this path to be portable to?"  By providing support for several 
-answers to that question, the Filesystem Library alerts programmers of the need 
-to ask it in the first place.</p>
-<h2><a name="Abandoned_Designs">Abandoned Designs</a></h2>
-<h3>operations.hpp</h3>
-<p>Dietmar K�hl's original dir_it design and implementation supported 
-wide-character file and directory names. It was abandoned after extensive 
-discussions among Library Working Group members failed to identify portable 
-semantics for wide-character names on systems not providing native support. See
-<a href="faq.htm#wide-character_names">FAQ</a>.</p>
-<p>Previous iterations of the interface design used explicitly named functions providing a 
-large number of convenience operations, with no compile-time or run-time 
-options. There were so many function names that they were very confusing to use, 
-and the interface was much larger. Any benefits seemed theoretical rather than 
-real. </p>
-<p>Designs based on compile time (rather than runtime) flag and option selection 
-(via policy, enum, or int template parameters) became so complicated that they 
-were abandoned, often after investing quite a bit of time and effort. The need 
-to qualify attribute or option names with namespaces, even aliases, made use in 
-template parameters ugly; that wasn't fully appreciated until actually writing 
-real code.</p>
-<p>Yet another set of convenience functions ( for example, <i>remove</i> with 
-permissive, prune, recurse, and other options, plus predicate, and possibly 
-other, filtering features) were abandoned because the details became both 
-complex and contentious.</p>
-
-<p>What is left is a toolkit of low-level operations from which the user can 
-create more complex convenience operations, plus a very small number of 
-convenience functions which were found to be useful enough to justify inclusion.</p>
-
-<h3>path.hpp</h3>
-
-<p>There were so many abandoned path designs, I've lost track. Policy-based 
-class templates in several flavors, constructor supplied runtime policies, 
-operation specific runtime policies, they were all considered, often 
-implemented, and ultimately abandoned as far too complicated for any small 
-benefits observed.</p>
-
-<p>Additional design considerations apply to <a href="v3_design.html">Internationalization</a>. </p>
-
-<h3>error checking</h3>
-
-<p>A number of designs for the error checking machinery were abandoned, some 
-after experiments with implementations. Totally automatic error checking was 
-attempted in particular. But automatic error checking tended to make the overall 
-library design much more complicated.</p>
-
-<p>Some designs associated error checking mechanisms with paths.  Some with 
-operations functions.  A policy-based error checking template design was 
-partially implemented, then abandoned as too complicated for everyday 
-script-like programs.</p>
-
-<p>The final design, which depends partially on explicit error checking function 
-calls,  is much simpler and straightforward, although it does depend to 
-some extent on programmer discipline.  But it should allow programmers who 
-are concerned about portability to be reasonably sure that their programs will 
-work correctly on their choice of target systems.</p>
-
-<h2><a name="References">References</a></h2>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
-  <tr>
-    <td width="13%" valign="top">[<a name="IBM-01">IBM-01</a>]</td>
-    <td width="87%">IBM Corporation, <i>z/OS V1R3.0 C/C++ Run-Time 
-Library Reference</i>, SA22-7821-02, 2001,
-<a href="http://www-1.ibm.com/servers/eserver/zseries/zos/bkserv/">
-    www-1.ibm.com/servers/eserver/zseries/zos/bkserv/</a></td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="ISO-9660">ISO-9660</a>]</td>
-    <td width="87%">International Standards Organization, 1988</td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="Kuhn">Kuhn</a>]</td>
-    <td width="87%">UTF-8 and Unicode FAQ for Unix/Linux,
-<a href="http://www.cl.cam.ac.uk/~mgk25/unicode.html">
-    www.cl.cam.ac.uk/~mgk25/unicode.html</a></td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="MSDN">MSDN</a>] </td>
-    <td width="87%">Microsoft Platform SDK for Windows, Storage Start 
-Page,
-<a href="http://msdn.microsoft.com/library/en-us/fileio/base/storage_start_page.asp">
-    msdn.microsoft.com/library/en-us/fileio/base/storage_start_page.asp</a></td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="POSIX-01">POSIX-01</a>]</td>
-    <td width="87%">IEEE Std 1003.1-2001, ISO/IEC 9945:2002, and The Open Group Base Specifications, Issue 6. Also known as The 
-    Single Unix<font face="Times New Roman">� Specification, Version 3. 
-    Available from each of the organizations involved in its creation. For 
-    example, read online or download from
-    <a href="http://www.unix.org/single_unix_specification/">
-    www.unix.org/single_unix_specification/</a>.</font> The ISO JTC1/SC22/WG15 - POSIX 
-homepage is <a href="http://www.open-std.org/jtc1/sc22/WG15/">
-    www.open-std.org/jtc1/sc22/WG15/</a></td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="URI">URI</a>]</td>
-    <td width="87%">RFC-2396, Uniform Resource Identifiers (URI): Generic 
-Syntax, <a href="http://www.ietf.org/rfc/rfc2396.txt">
-    www.ietf.org/rfc/rfc2396.txt</a></td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="UTF-16">UTF-16</a>]</td>
-    <td width="87%">Wikipedia, UTF-16,
-<a href="http://en.wikipedia.org/wiki/UTF-16">
-    en.wikipedia.org/wiki/UTF-16</a></td>
-  </tr>
-  <tr>
-    <td width="13%" valign="top">[<a name="Wulf-Shaw-73">Wulf-Shaw-73</a>]</td>
-    <td width="87%">William Wulf, Mary Shaw, <i>Global 
-Variable Considered Harmful</i>, ACM SIGPLAN Notices, 8, 2, 1973, pp. 23-34</td>
-  </tr>
-</table>
-
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->18 February, 2010<!--webbot bot="Timestamp" endspan i-checksum="40538" --></p>
-
-<p>� Copyright Beman Dawes, 2002</p>
-<p> Use, modification, and distribution are subject to the Boost Software 
-License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">
-LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a>)</p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/doc/do_list.html b/SRC/Boost/libs/filesystem/v3/doc/do_list.html
deleted file mode 100755
index c669f84..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/do_list.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Do List</title>
-<style type="text/css">
-  body    { font-family: sans-serif; margin: 1em; }
-  p, td, li, blockquote { font-size: 10pt; }
-  pre     { font-size: 9pt; }
-</style>
-</head>
-
-<body>
-
-<h1>Boost Filesystem Do List<br>
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->24 June 2010<!--webbot bot="Timestamp" endspan i-checksum="17552" --></h1>
-
-<h2>Beta 1 comments</h2>
-<ul>
-  <li dir="ltr">
-
-<p dir="ltr">Zach Laine:</li>
-</ul>
-<blockquote>
-  <pre dir="ltr">The descriptions for portable_name() and portable_directory_name()
-appear to be at odds.
-
-portable_name() : ... && (name is "." or "..", and the first character
-not a period or hyphen)
-
-portable_directory_name(): ... && (name is "." or ".."  or contains no periods)
-
-Should portable_name() be "... && (name is "." or "..", or contains no
-periods) && (first character not a hyphen)"?  Maybe I'm missing
-something?</pre>
-</blockquote>
-<ul>
-  <li dir="ltr">
-<p dir="ltr">Scott McMurray - treat as Wish List:</li>
-</ul>
-<blockquote>
-  <pre dir="ltr">- uncomplete(p, base)
-
-My pet request.  It may be useful to simplify other functions as well,
-since there's no current way to go from an absolute path to a relative
-one, meaning that most functions need to handle relative ones even
-when that might not be natural.  With this functionality,
-preconditions requiring absolute paths would be less onerous.
-
-   Precondition: p.is_absolute() && base.is_absolute()
-
-   Effects: Extracts a path, rp, from p relative to base such that
-canonical(p) == complete(rp, base).  Any ".." path elements in rp form
-a prefix.
-
-   Returns: The extracted path.
-
-   Postconditions: For the returned path, rp, rp.is_relative() ==
-(p.root_name() == b.root_name()).
-
-[Notes: This function simplifies paths by omitting context.  It is
-particularly useful for serializing paths such that it can be usefully
-moved between hosts where the context may be different, such as inside
-source control trees.  It can also be helpful for display to users,
-such as in shells where paths are often shown relative to $HOME.
-
-In the presence of symlinks, the result of this function may differ
-between implementations, as some may expand symlinks that others may
-not.  The simplest implementation uses canonical to expand both p and
-base, then removes the common prefix and prepends the requisite ".."
-elements.  Smarter implementations will avoid expanding symlinks
-unnecessarily.  No implementation is expected to discover new symlinks
-to return paths with fewer elements.]</pre>
-</blockquote>
-<h2 dir="ltr">Docs</h2>
-<ul>
-  <li>Reorganize files - delete examples that no longer apply.</li>
-  <li>Should minimal.css be changed to used relative font sizes? See
-  <a href="http://www.w3schools.com/CSS/pr_font_font-size.asp/">http://www.w3schools.com/CSS/pr_font_font-size.asp\</a></li>
-  <li>Document behavior of path::replace_extension has change WRT argument w/o a 
-  dot.</li>
-  <li style="font-size: 10pt">Document leading //: no longer treated specially. 
-  But is that really correct?</li>
-  <li style="font-size: 10pt">Behavior of root_path() has been changed. Change 
-  needs to be propagated to trunk?</li>
-  <li style="font-size: 10pt">Regenerate path decomposition table.</li>
-</ul>
-
-<h2>Code</h2>
-<h3>All</h3>
-<ul>
-  <li style="font-size: 10pt">Move semantics.</li>
-  <li style="font-size: 10pt">Use BOOST_DELETED, BOOST_DEFAULTED, where 
-  appropriate.</li>
-  <li style="font-size: 10pt">Other C++0x features.</li>
-</ul>
-<h3>Class path</h3>
-<ul>
-  <li>Windows, POSIX, conversions for char16_t, char32_t for C++0x compilers.</li>
-  <li>Add Windows Alternate Data Stream test cases. See http://en.wikipedia.org/wiki/NTFS 
-  Features.</li>
-  <li>Add test case: relational operators on paths differing only in trailing 
-  separator. Rationale?</li>
-  <li>Provide the name check functions for more character types? Templatize? 
-  take a path argument?</li>
-  <li style="font-size: 10pt">Add codepage 936/950/etc test cases.</li>
-  <li style="font-size: 10pt">Should UDT's be supported?</li>
-  <li style="font-size: 10pt">Should path iteration to a separator result in:<br>
-  -- the actual separator used<br>
-  -- the preferred separator<br>
-  -- the generic separator <-- makes it easier to write portable code<br>
-  -- a dot</li>
-</ul>
-<h3>Operations</h3>
-<ul>
-  <li>Would complete(), system_complete() be clearer if renamed absolute(), 
-  absolute_system() (or absolute_native())?</li>
-  <li>Review all operations.cpp code for race conditions similar to #2925. Fix 
-  or document.</li>
-  <li>Enable all BOOST_FILESYSTEM_NO_DEPRECATED code.</li>
-  <li>rename and remove names are problems. If users says "using 
-  namespace boost::filesystem"<br>
-  and some header included stdio, there is just too much chance of silent error.</li>
-  <li>create_directories error handling needs work.</li>
-  <li>Fold convenience.hpp into operations.hpp</li>
-  <li>Two argument recursive_directory_iterator ctor isn't recognizing throws(). 
-  Would it be better to fold into a single two argument ctor with default?</li>
-  <li>Add the push_directory class from tools/release/required_files.cpp</li>
-</ul>
-
-<h3>Miscellaneous</h3>
-<ul>
-  <li style="font-size: 10pt"><i>Regular</i> classes need hash functions.</li>
-</ul>
-
-<hr>
-<p>� Copyright Beman Dawes, 2010</p>
-<p>Distributed under the Boost Software License, Version 1.0. See
-<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a></p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/doc/faq.htm b/SRC/Boost/libs/filesystem/v3/doc/faq.htm
deleted file mode 100755
index d07bc93..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/faq.htm
+++ /dev/null
@@ -1,147 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Filesystem FAQ</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-</head>
-
-<body>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td width="277">
-<a href="../../../../index.htm">
-<img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td>
-    <td align="middle">
-    <font size="7">Filesystem FAQ</font>
-    </td>
-  </tr>
-</table>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
-  <tr>
-    <td><a href="index.htm">Filesystem Home</a>   
-    <a href="release_history.html">Releases</a>   
-    <a href="reference.html">Reference</a>   
-    <a href="tutorial.html">Tutorial</a>   
-    <a href="faq.htm">FAQ</a>   
-    <a href="portability_guide.htm">Portability</a>   
-    <a href="v3.html">V3 Intro</a>   
-    <a href="v3_design.html">V3 Design</a>   
-    <a href="deprecated.html">Deprecated</a>   
-    </td>
-  </tr>
-</table>
-
-<h1 dir="ltr">
-Frequently Asked Questions</h1>
-<h2>General questions</h2>
-<p><b>Why not support a  concept of specific kinds of file systems, such as posix_file_system or windows_file_system.</b></p>
-<p>Portability is one of the most important requirements for the 
-library. Features specific to a particular operating system or file system 
-can always be accessed by using the operating system's API.</p>
-
-<h2 dir="ltr">
-Class <code><font size="6">path</font></code> questions </h2>
-<p><b>Why base the generic pathname format on POSIX?</b></p>
-<p><a href="design.htm#POSIX-01">POSIX</a> is an ISO Standard. It is the basis for the most familiar 
-pathname formats, 
-not just for POSIX-based operating systems but also for Windows  and the 
-URL portion of URI's. It is ubiquitous and 
-familiar.  On many systems, it is very easy to implement because it is 
-either the native operating system format (Unix and Windows) or via a 
-operating system supplied 
-POSIX library (z/OS, OS/390, and many more.)</p>
-<p><b>Why not use a full URI (Universal Resource Identifier) based path?</b></p>
-<p><a href="design.htm#URI">URI's</a> would promise more than the Filesystem Library can actually deliver, 
-since URI's extend far beyond what most operating systems consider a file or a 
-directory.  Thus for the primary "portable script-style file system 
-operations" requirement of the Filesystem Library, full URI's appear to be over-specification.</p>
-<p><b>Why isn't <i>path</i> a base class with derived <i>directory_path</i> and
-<i>file_path</i> classes?</b></p>
-<p>Why bother?  The behavior of all three classes is essentially identical. 
-Several early versions did require users to identify each path as a file or 
-directory path, and this seemed to increase coding errors and decrease code 
-readability. There was no apparent upside benefit.</p>
-<p><b>Why do path decomposition functions yielding a single element return a 
-path rather than a string?</b></p>
-<p>Interface simplicity. If they returned strings, flavors would be needed for
-<code>string</code>, <code>wstring</code>, <code>u16string</code>, <code>
-u32string</code>, and generic strings.</p>
-<p><b>Why don't path member functions have overloads with error_code& arguments?</b></p>
-<p>They have not been requested by users; the need for error reporting via 
-error_code seems limited to operations failures rather than path failures.</p>
-<h2>Operations function questions</h2>
-<p><b>Why not supply a 'handle' type, and let the file and directory operations 
-traffic in it?</b></p>
-<p>It isn't clear there is any feasible way to meet the "portable script-style 
-file system operations" requirement with such a system. File systems exist where operations are usually performed on 
-  some non-string handle type. The classic Mac OS has been mentioned explicitly as a case where 
-trafficking in paths isn't always natural.    </p>
-<p>The case for the "handle" (opaque data type to identify a file) 
-style may be strongest for directory iterator value type.  (See Jesse Jones' Jan 28, 
-2002, Boost postings). However, as class path has evolved, it seems sufficient 
-even as the directory iterator value type.</p>
-<p><b>Why are the operations functions so low-level?</b></p>
-<p>To provide a toolkit from which higher-level functionality can be created.</p>
-<p>An 
-extended attempt to add convenience functions on top of, or as a replacement 
-for, the low-level functionality failed because there is no widely acceptable 
-set of simple semantics for most convenience functions considered.  
-Attempts to provide alternate semantics via either run-time options or 
-compile-time polices became overly complicated in relation to the value 
-delivered, or became contentious.  OTOH, the specific functionality needed for several trial 
-applications was very easy for the user to construct from the lower-level 
-toolkit functions.  See <a href="design.htm#Abandoned_Designs">Failed 
-Attempts</a>.</p>
-<p><b>Isn't it inconsistent then to provide a few convenience functions?</b></p>
-<p>Yes, but experience with both this library, POSIX, and Windows, indicates 
-the utility of certain convenience functions, and that it is possible to provide 
-simple, yet widely acceptable, semantics for them. For example, <code>remove_all()</code>.</p>
-<p><b>Why are there directory_iterator overloads for operations.hpp 
-predicate functions? Isn't two ways to do the same thing poor design?</b></p>
-<p>Yes, two ways to do the same thing is often a poor design practice. But the 
-iterator versions are often much more efficient. Calling status() during 
-iteration over a directory containing 15,000 files took 6 seconds for the path 
-overload, and 1 second for the iterator overload, for tests on a freshly booted 
-machine. Times were .90 seconds and .30 seconds, for tests after prior use of 
-the directory. This performance gain is large enough to justify deviating from 
-preferred design practices. Neither overload alone meets all needs.</p>
-<p><b>Why are the operations functions so picky about errors?</b></p>
-<p>Safety. The default is to be safe rather than sorry. This is particularly 
-important given the reality that on many computer systems files and directories 
-are globally shared resources, and thus subject to 
-race conditions.</p>
-<p><b>Why are attributes accessed via named functions rather than property maps?</b></p>
-<p>For  commonly used attributes (existence, directory or file, emptiness), 
-simple syntax and guaranteed presence outweigh other considerations. Because 
-access to many other attributes is inherently system dependent, 
-property maps are viewed as the best hope for access and modification, but it is 
-better design to provide such functionality in a separate library. (Historical 
-note: even the apparently simple attribute "read-only" turned out to be so 
-system depend as to be disqualified as a "guaranteed presence" operation.)</p>
-<p><b>Why isn't automatic name portability error detection provided?</b></p>
-<p>A number (at least six) of designs for  name validity error 
-detection were evaluated, including at least four complete implementations.  
-While the details for rejection differed, all of the more powerful name validity checking 
-designs distorted other 
-otherwise simple aspects of the library. Even the simple name checking provided 
-in prior library versions was a constant source of user complaints. While name checking can be helpful, it 
-isn't important enough to justify added a lot of additional complexity.</p>
-<p><b>Why are paths sometimes manipulated by member functions and sometimes by 
-non-member functions?</b></p>
-<p>The design rule is that purely lexical operations are supplied as <i>class 
-path</i> member 
-functions, while operations performed by the operating system are provided as 
-free functions.</p>
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->20 February, 2011<!--webbot bot="Timestamp" endspan i-checksum="40524" --></p>
-<p>� Copyright Beman Dawes, 2002</p>
-<p> Use, modification, and distribution are subject to the Boost Software 
-License, Version 1.0. See <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a></p>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/doc/index.htm b/SRC/Boost/libs/filesystem/v3/doc/index.htm
deleted file mode 100755
index 0d5093c..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/index.htm
+++ /dev/null
@@ -1,495 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Filesystem Home</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-</head>
-
-<body>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td width="277">
-<a href="../../../../index.htm">
-<img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td>
-    <td align="middle">
-    <font size="7">Filesystem Library<br>
-    Version 3</font>
-    </td>
-  </tr>
-</table>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
-  <tr>
-    <td><a href="index.htm">Filesystem Home</a>   
-    <a href="release_history.html">Releases</a>   
-    <a href="reference.html">Reference</a>   
-    <a href="tutorial.html">Tutorial</a>   
-    <a href="faq.htm">FAQ</a>   
-    <a href="portability_guide.htm">Portability</a>   
-    <a href="v3.html">V3 Intro</a>   
-    <a href="v3_design.html">V3 Design</a>   
-    <a href="deprecated.html">Deprecated</a>   
-    </td>
-  </tr>
-</table>
-
-<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" align="right">
-  <tr>
-    <td width="100%" bgcolor="#D7EEFF" align="center">
-      <i><b>Contents</b></i></td>
-  </tr>
-  <tr>
-    <td width="100%" bgcolor="#E8F5FF">
-    <a href="#Introduction">Introduction</a><br>
-    <a href="#Documentation">Documentation</a><br>
-    <a href="#Using">Using the library</a><br>
-    <a href="#Coding-guidelines">Coding guidelines</a><br>
-    <a href="#Cautions">Cautions</a><br>
-    <a href="#Headers">Headers</a><br>
-    <a href="#Examples">Example programs</a><br>
-    <a href="#Implementation">Implementation</a><br>
-    <a href="#Macros">Macros</a><br>
-    <a href="#Building">Building the object-library</a><br>
-    <a href="#Cgywin">Notes for Cygwin users</a><br>
-    <a href="#Change-history">Version history<br>
-  with acknowledgements</a></td>
-  </tr>
-  </table>
-
-<div align="center">
-  <center>
-  <table border="1" cellpadding="10" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111">
-    <tr>
-      <td>
-      <p align="center"><b>This is the home page for Version 3 of the Filesystem library.</b></p>
-      <p align="left">Version 3 is a major revision with many new and improved 
-      features. It may, however, break some user code written for Version 2.</p>
-      <p align="left">To ease the transition, Boost releases 1.44 through 1.47 
-      will supply both V2 and V3. <a href="../../v2/doc/index.htm">Version 2</a> 
-      is the default version for Boost release 1.44 
-      and 1.45. Version 3 will be the default starting with release 1.46.</p>
-      <p align="left"><b>Define macro BOOST_FILESYSTEM_VERSION as 3 to use 
-      Version 3. This will be the default for release 1.46 and later.</b></p>
-      <p align="left"><b>Define macro BOOST_FILESYSTEM_VERSION as 2 to use 
-      Version 2. This is the default for release 1.44 and 1.45.</b></p>
-      <p align="left"><b>You may define the BOOST_FILESYSTEM_VERSION macro:</b></p>
-      <ul>
-        <li>
-      <p align="left"><b>On the build command line; the exact format depends on 
-      your compiler or IDE</b></p>
-        </li>
-        <li>
-      <p align="left"><b>In your code, before including any filesystem header, 
-      #define BOOST_FILESYSTEM_VERSION <i>n</i></b></p>
-        </li>
-        <li>
-      <p align="left"><b>#define BOOST_FILESYSTEM_VERSION <i>n </i>in boost/config/user.hpp. 
-      Note that this approach applies to all uses of Boost.Filesystem.</b></p>
-        </li>
-      </ul>
-      <p align="left">Existing code should be moved to Version 3 as soon as 
-      convenient. New code should be written for Version 3.</p>
-      <p align="left">Version 2 is deprecated, and will not be included in Boost 
-      releases 1.48 and later.</p>
-      <p align="left"><b>Building the library</b></p>
-      <p align="left">By default, the Boost build system creates libraries that 
-      support both version 2 and version 3. To support only a single version, 
-      include <code>--disable-filesystem2</code> or <code>--disable-filesystem3</code> 
-      on the <code>bjam</code> command line.</p>
-      </td>
-    </tr>
-  </table>
-  </center>
-</div>
-
-<h2><a name="Introduction">Introduction</a></h2>
-<p>The Boost.Filesystem library provides facilities to manipulate files and directories, 
-and the paths that identify them.</p>
-
-<p>The features of the library include:</p>
-
-<ul>
-  <li><b>A modern C++ interface, highly compatible with the C++ standard 
-  library.</b></li>
-</ul>
-<blockquote>
-  <blockquote>
-
-<p>Many users say the interface is their primary motivation for using 
-Boost.Filesystem. They like its use of familiar idioms based on standard library 
-containers, iterators, and algorithms. They like having errors reported by 
-throwing exceptions.</p>
-
-  </blockquote>
-</blockquote>
-<ul>
-  <li><b>Portability between operating systems.</b><br>
- <ul>
-    <li>At the C++ syntax level, it is convenient to learn and use one interface 
-    regardless of the operating system.</li>
-    <li>At the semantic level, behavior of code is reasonably portable across 
-    operating systems.</li>
-    <li>Dual generic or native path format support encourages program 
-    portability, yet still allows communication with users in system specific 
-    formats.<br>
- </li>
-  </ul>
-  </li>
-  <li><b>Error handling and reporting via C++ exceptions (the default) or error 
-  codes.</b><br>
- <ul>
-    <li>C++ exceptions are the preferred error reporting mechanism for most 
-    applications. The exception thrown includes the detailed error code 
-    information important for diagnosing the exact cause of file system errors.</li>
-    <li>Error reporting via error code allows user code that provides detailed 
-    error recovery to avoid becoming so littered with try-catch blocks as to be 
-    unmaintainable. <br>
- </li>
-  </ul>
-  </li>
-  <li><b>Suitable for a broad spectrum of applications, ranging from simple 
-  script-like operations to extremely complex production code.</b><br>
- <ul>
-    <li>At the simple script-like end of the spectrum, the intent is not to 
-    compete with Python, Perl, or shell languages, but rather to provide 
-    filesystem operations when C++ is already the language of choice.</li>
-    <li>Finer grained control over operations and error handling is available to 
-    support more complex applications or other cases where throwing exceptions 
-    isn't desired.</li>
-  </ul>
-  </li>
-</ul>
-
-<p>A proposal,
-<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1975.html">
-N1975</a>, to include Boost.Filesystem in Technical Report 2 has been accepted 
-by the C++ Standards Committee. That proposal was based on version 2 of 
-Boost.Filesystem; presumably the final TR2 form will be based on version 3.</p>
-
-<h2><a name="Documentation">Documentation</a></h2>
-
-<p><b><a href="tutorial.html">Tutorial</a></b> - A gentle introduction to 
-the library, with example programs provided for you to experiment with.</p>
-
-<p><b><a href="reference.html">Reference</a></b> - Formal documentation in the 
-style of the C++ standard for 
-every component of the library.</p>
-
-<p><b><a href="faq.htm">FAQ</a></b> - Frequently asked questions.</p>
-
-<p><b><a href="portability_guide.htm">Portability Guide</a></b> - Help for those 
-concerned with writing code to run on multiple operating systems.</p>
-
-<p><b><a href="deprecated.html">Deprecated Features</a></b> - Identifies 
-deprecated features and their replacements.</p>
-
-<p><b><a href="v3.html">Version 3 Introduction</a></b> - Aimed at users of prior 
-Boost.Filesystem versions.</p>
-
-<p><b><a href="v3_design.html">Version 3 Design</a></b> - Historical document 
-from the start of the Version 3 design process.</p>
-
-<p><b><a href="design.htm">Original Design</a></b> - Historical document from 
-the start of the Version 1 design process.</p>
-
-<p><b><a href="do_list.html">Do List</a></b> - Boost.Filesystem development work 
-in the pipeline.</p>
-
-<h2><a name="Using">Using</a> the library</h2>
-<p>Boost.Filesystem is implemented as a separately compiled library, so  you must install 
-binaries in a location that can be found by your linker. If you followed the 
-<a href="http://www.boost.org/doc/libs/release/more/getting_started/index.html">Boost Getting Started</a> instructions, that's already been done for you.</p>
-<h2><a name="Coding-guidelines">Coding guidelines</a></h2>
-<p>For new code, defining <code>BOOST_FILESYSTEM_NO_DEPRECATED</code> before 
-including filesystem headers is strongly recommended. This prevents inadvertent 
-use of old features, particularly legacy function names, that have been replaced 
-and are going to go away in the future.</p>
-<h2><a name="Cautions">Cautions</a></h2>
-<p>After reading the tutorial you can dive right into  simple, 
-script-like programs using the Filesystem Library! Before doing any serious 
-work, however, there a few cautions to be aware of:</p>
-<h4><b>Effects and Postconditions not guaranteed in the presence of race-conditions</b></h4>
-<p>Filesystem function specifications follow the C++ Standard Library form, specifying behavior in terms of 
-effects and postconditions. If 
-a <a href="reference.html#Race-condition">race-condition</a> exists, a function's 
-postconditions may no longer be true by the time the function returns to the 
-caller.</p>
-<blockquote>
-<p><b><i>Explanation: </i></b>The state of files and directories is often
-globally shared, and thus may be changed unexpectedly by other threads, 
-processes, or even other computers having network access to the filesystem. As an 
-example of the difficulties this can cause, note that the following asserts 
-may fail:</p>
-<blockquote>
-<p><code>assert( exists( "foo" ) == exists( "foo" ) );  // 
-(1)<br>
-<br>
-remove_all( "foo" );<br>
-assert( !exists( "foo" ) );  // (2)<br>
-<br>
-assert( is_directory( "foo" ) == is_directory( "foo" ) ); // 
-(3)</code></p>
-</blockquote>
-<p>(1) will fail if a non-existent "foo" comes into existence, or an 
-existent "foo" is removed, between the first and second call to <i>exists()</i>. 
-This could happen if, during the execution of the example code, another thread, 
-process, or computer is also performing operations in the same directory.</p>
-<p>(2) will fail if between the call to <i>remove_all()</i> and the call to
-<i>exists()</i> a new file or directory named "foo" is created by another 
-thread, process, or computer.</p>
-<p>(3) will fail if another thread, process, or computer removes an 
-existing file "foo" and then creates a directory named "foo", between the 
-example code's two calls to <i>is_directory()</i>.</p>
-</blockquote>
-<h4><b>May throw exceptions</b></h4>
-<p>Unless otherwise specified, Boost.Filesystem functions throw <i>
-<a href="reference.html#basic_filesystem_error-constructors">basic_filesystem_error</a></i> 
-exceptions if they cannot successfully complete their operational 
-specifications. Also, implementations may use C++ Standard Library functions, 
-which may throw <i>std::bad_alloc</i>. These exceptions may be thrown even 
-though the error condition leading to the exception is not explicitly specified 
-in the function's "Throws" paragraph.</p>
-<p>All exceptions thrown by the Filesystem 
-Library are implemented by calling <a href="../../../utility/throw_exception.html">
-boost::throw_exception()</a>. Thus exact behavior may differ depending on 
-BOOST_NO_EXCEPTIONS at the time the filesystem source files are compiled.</p>
-<p>Non-throwing versions are provided of several functions that are often used 
-in contexts where error codes may be the preferred way to report an error.</p>
-
-<h2><a name="Headers">Headers</a></h2>
-
-<p>The Boost.Filesystem library provides several headers:</p>
-
-<ul>
-  <li>Header <<a href="../../../../boost/filesystem.hpp">boost/filesystem.hpp</a>> 
-  provides access to all features of the library, except file streams.<br>
- </li>
-  <li>Header <<a href="../../../../boost/filesystem/fstream.hpp">boost/filesystem<i>/</i>fstream.hpp</a>> 
-  inherits the same components as the C++ Standard 
-  Library's <i>fstream</i> header, but files are identified by <code>const path&</code> 
-  arguments rather that <code>const char*</code> arguments.</li>
-</ul>
-<h2><a name="Examples">Example programs</a></h2>
-<p>See the <a href="tutorial.html">tutorial</a> for example programs.</p>
-<h3>Other examples</h3>
-<p>The programs used to generate the Boost regression test status tables use the 
-Filesystem Library extensively.  See:</p>
-<ul>
-  <li><a href="../../../../tools/regression/src/process_jam_log.cpp">process_jam_log.cpp</a></li>
-  <li><a href="../../../../tools/regression/src/compiler_status.cpp">compiler_status.cpp</a></li>
-</ul>
-<h2><a name="Implementation">Implementation</a></h2>
-<p>The current implementation supports operating systems which provide 
-the POSIX or Windows API's.</p>
-<p>The library is in regular use on Apple  OS X, HP-UX, IBM AIX, Linux, 
-Microsoft Windows, SGI IRIX, and Sun Solaris operating systems using a variety 
-of compilers.</p>
-<h2><a name="Macros">Macros</a></h2>
-<p>Users may defined the following macros if desired. Sensible defaults are 
-provided, so users can ignore these macros unless they have special needs.</p>
-<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td><b><i>Macro Name</i></b></td>
-    <td><b><i>Default</i></b></td>
-    <td><b><i>Effect if defined</i></b></td>
-  </tr>
-  <tr>
-    <td valign="top"><code>BOOST_FILESYSTEM_NO_DEPRECATED</code></td>
-    <td valign="top">Not defined.</td>
-    <td valign="top">Deprecated features are excluded from headers.</td>
-  </tr>
-  <tr>
-    <td valign="top"><code>BOOST_FILESYSTEM_DYN_LINK</code></td>
-    <td valign="top">Defined if <code>BOOST_ALL_DYN_LINK</code> is defined, 
-    otherwise not defined.</td>
-    <td valign="top">The Boost.Filesystem library is dynamically linked. If not defined, 
-    static linking is assumed.</td>
-  </tr>
-  <tr>
-    <td valign="top"><code>BOOST_FILESYSTEM_NO_LIB</code></td>
-    <td valign="top">Defined if <code>BOOST_ALL_NO_LIB</code> is defined, 
-    otherwise not defined.</td>
-    <td valign="top">Boost.Filesystem library does not use the Boost auto-link 
-    facility.</td>
-  </tr>
-  </table>
-<p>User-defined BOOST_POSIX_API and BOOST_WINDOWS_API macros are no longer 
-supported.</p>
-<h2><a name="Building">Building</a> the object-library</h2>
-<p>The object-library will  be built automatically if you are using the Boost 
-build system. See
-<a href="../../../../more/getting_started.html">Getting Started</a>. It can also be 
-built manually using a <a href="../build/Jamfile.v2">Jamfile</a> 
-supplied in directory libs/filesystem/build, or the user can construct an IDE 
-project or make file which includes the object-library source files.</p>
-<p>The object-library source files are 
-supplied in directory <a href="../src">libs/filesystem/src</a>. These source files implement the 
-library for POSIX or Windows compatible operating systems; no implementation is 
-supplied for other operating systems. Note that many operating systems not 
-normally thought of as POSIX  systems, such as mainframe legacy 
-operating systems or embedded operating systems, support POSIX compatible file 
-systems and so will work with the Filesystem Library.</p>
-<p>The object-library can be built for static or dynamic (shared/dll) linking. 
-This is controlled by the BOOST_ALL_DYN_LINK or BOOST_FILESYSTEM_DYN_LINK 
-macros. See the <a href="http://www.boost.org/development/separate_compilation.html">Separate 
-Compilation</a> page for a description of the techniques used.</p>
-<h3>Note for <a name="Cgywin">Cygwin</a> users</h3>
-<p> <a href="http://www.cygwin.com/">Cygwin</a> version 1.7 or later is 
-required because only versions of GCC with wide character strings are supported.</p>
-
-<p> The library's implementation code treats Cygwin as a Windows platform, and 
-thus uses the Windows API and uses Windows path syntax as the native path 
-syntax.</p>
-
-<h2><a name="Change-history">Version history</a></h2>
-
-<h3>Version 3</h3>
-
-<p>Boost <span style="background-color: #FFFF00">1.??.0 - ???, 2010</span> - Internationalization via single class <code>path</code>. 
-More uniform error handling.</p>
-
-<p>Peter Dimov suggested use of a single path class rather than a <code>basic_path</code> 
-class template. That idea was the basis for the Version 3 redesign.</p>
-
-<p>Thanks for comments from Robert Stewart, Zach Laine, Peter Dimov, Gregory 
-Peele, Scott McMurray, John Bytheway, Jeff Flinn, Jeffery Bosboom.</p>
-
-<h3>Version 2</h3>
-
-<p>Boost 1.34.0 - May, 2007 - Internationalization via <code>basic_path</code> 
-template.</p>
-
-<p>So many people have contributed comments and bug reports that it isn't any 
-longer possible to acknowledge them individually. That said, Peter Dimov and Rob 
-Stewart need to be specially thanked for their many constructive criticisms and 
-suggestions. Terence 
-Wilson and Chris Frey contributed timing programs which helped illuminate 
-performance issues.</p>
-
-<h3>Version 1</h3>
-
-<p>Boost 1.30.0 - March, 2003 - Initial official Boost release.</p>
-
-<p>The Filesystem Library was designed and implemented by Beman Dawes. The 
-original <i>directory_iterator</i> and <i>filesystem_error</i> classes were 
-based on prior work from Dietmar Kuehl, as modified by Jan Langer. Thomas Witt 
-was a particular help in later stages of initial development. Peter Dimov and 
-Rob Stewart made many useful suggestions and comments over a long period of 
-time. Howard Hinnant helped with internationalization issues.</p>
-
-<p>Key <a href="design.htm#Requirements">design requirements</a> and
-<a href="design.htm#Realities">design realities</a> were developed during 
-extensive discussions on the Boost mailing list, followed by comments on the 
-initial implementation. Numerous helpful comments were then received during the 
-Formal Review.<p>Participants included 
-Aaron Brashears,
-Alan Bellingham,
-Aleksey Gurtovoy,
-Alex Rosenberg,
-Alisdair Meredith,
-Andy Glew,
-Anthony Williams,
-Baptiste Lepilleur, 
-Beman Dawes,
-Bill Kempf,
-Bill Seymour, 
-Carl Daniel,
-Chris Little,
-Chuck Allison,
-Craig Henderson, 
-Dan Nuffer,
-Dan'l Miller,
-Daniel Frey, 
-Darin Adler, 
-David Abrahams,
-David Held, 
-Davlet Panech,
-Dietmar Kuehl,
-Douglas Gregor, 
-Dylan Nicholson,
-Ed Brey, 
-Eric Jensen,
-Eric Woodruff,
-Fedder Skovgaard,
-Gary Powell,
-Gennaro Prota,
-Geoff Leyland, 
-George Heintzelman, 
-Giovanni Bajo,
-Glen Knowles,
-Hillel Sims,
-Howard Hinnant,
-Jaap Suter,
-James Dennett, 
-Jan Langer, 
-Jani Kajala, 
-Jason Stewart, 
-Jeff Garland,
-Jens Maurer,
-Jesse Jones,
-Jim Hyslop,
-Joel de Guzman,
-Joel Young,
-John Levon, 
-John Maddock,
-John Williston,
-Jonathan Caves,
-Jonathan Biggar,
-Jurko,
-Justus Schwartz,
-Keith Burton, 
-Ken Hagen,
-Kostya Altukhov, 
-Mark Rodgers,
-Martin Schuerch, 
-Matt Austern,
-Matthias Troyer, 
-Mattias Flodin, 
-Michiel Salters,
-Mickael Pointier,
-Misha Bergal,
-Neal Becker,
-Noel Yap,
-Parksie,
-Patrick Hartling, Pavel Vozenilek,
-Pete Becker, 
-Peter Dimov,
-Rainer Deyke,
-Rene Rivera,
-Rob Lievaart,
-Rob Stewart,
-Ron Garcia,
-Ross Smith,
-Sashan,
-Steve Robbins, 
-Thomas Witt, 
-Tom Harris, 
-Toon Knapen,
-Victor Wagner,
-Vincent Finn,
-Vladimir Prus, and
-Yitzhak Sapir
- 
-<p>A lengthy discussion on the C++ committee's library reflector illuminated the "illusion 
-of portability" problem, particularly in postings by PJ Plauger and Pete Becker.</p>
-
-<p>Walter Landry provided much help illuminating symbolic link use cases for 
-version 1.31.0. </p>
-
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->20 February, 2011<!--webbot bot="Timestamp" endspan i-checksum="40524" --></p>
-
-<p>© Copyright Beman Dawes, 2002-2005</p>
-<p> Use, modification, and distribution are subject to the Boost Software 
-License, Version 1.0. See <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a></p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/doc/path_table.cpp b/SRC/Boost/libs/filesystem/v3/doc/path_table.cpp
deleted file mode 100755
index b01c4c1..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/path_table.cpp
+++ /dev/null
@@ -1,260 +0,0 @@
-//  Generate an HTML table showing path decomposition  ---------------------------------//
-
-//  Copyright Beman Dawes 2005.
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  See http://www.boost.org/libs/filesystem for documentation.
-
-//  For purposes of generating the table, support both POSIX and Windows paths
-
-#include "boost/filesystem.hpp"
-#include <iostream>
-#include <fstream>
-
-using boost::filesystem::path;
-using std::string;
-using std::cout;
-
-namespace
-{
-  std::ifstream infile;
-  std::ofstream posix_outfile;
-  std::ifstream posix_infile;
-  std::ofstream outfile;
-
-  bool posix;
-
-  const string empty_string;
-
-  struct column_base
-  {
-    virtual string heading() const = 0;
-    virtual string cell_value( const path & p ) const = 0;
-  };
-
-  struct c0 : public column_base
-  {
-    string heading() const { return string("<code>string()</code>"); }
-    string cell_value( const path & p ) const { return p.string(); }
-  } o0;
-
-    struct c1 : public column_base
-  {
-    string heading() const { return string("<code>generic_<br>string()</code>"); }
-    string cell_value( const path & p ) const { return p.generic_string(); }
-  } o1;
-
-  struct c2 : public column_base
-  {
-    string heading() const { return string("Iteration<br>over<br>Elements"); }
-    string cell_value( const path & p ) const
-    {
-      string s;
-      for( path::iterator i(p.begin()); i != p.end(); ++i )
-      {
-        if ( i != p.begin() ) s += ',';
-        s += (*i).string();
-      }
-      return s;
-    }
-  } o2;
-
-  struct c3 : public column_base
-  {
-    string heading() const { return string("<code>root_<br>path()</code>"); }
-    string cell_value( const path & p ) const { return p.root_path().string(); }
-  } o3;
-
-  struct c4 : public column_base
-  {
-    string heading() const { return string("<code>root_<br>name()</code>"); }
-    string cell_value( const path & p ) const { return p.root_name().string(); }
-  } o4;
-
-  struct c5 : public column_base
-  {
-    string heading() const { return string("<code>root_<br>directory()</code>"); }
-    string cell_value( const path & p ) const { return p.root_directory().string(); }
-  } o5;
-
-  struct c6 : public column_base
-  {
-    string heading() const { return string("<code>relative_<br>path()</code>"); }
-    string cell_value( const path & p ) const { return p.relative_path().string(); }
-  } o6;
-
-  struct c7 : public column_base
-  {
-    string heading() const { return string("<code>parent_<br>path()</code>"); }
-    string cell_value( const path & p ) const { return p.parent_path().string(); }
-  } o7;
-
-  struct c8 : public column_base
-  {
-    string heading() const { return string("<code>filename()</code>"); }
-    string cell_value( const path & p ) const { return p.filename().string(); }
-  } o8;
-
-  const column_base * column[] = { &o2, &o0, &o1, &o3, &o4, &o5, &o6, &o7, &o8 };
-
-  //  do_cell  ---------------------------------------------------------------//
-
-  void do_cell( const string & test_case, int i )
-  {
-    string temp = column[i]->cell_value(path(test_case));
-    string value;
-    outfile << "<td>";
-    if (temp.empty())
-      value = "<font size=\"-1\"><i>empty</i></font>";
-    else
-     value = string("<code>") + temp + "</code>";
-
-    if (posix)
-      posix_outfile << value << '\n';
-    else
-    {
-      std::getline(posix_infile, temp);
-      if (value != temp) // POSIX and Windows differ
-      {
-        value.insert(0, "<br>");
-        value.insert(0, temp);
-        value.insert(0, "<span style=\"background-color: #CCFFCC\">");
-        value += "</span>";
-      }
-      outfile << value;
-    }
-    outfile << "</td>\n";
-  }
-
-//  do_row  ------------------------------------------------------------------//
-
-  void do_row( const string & test_case )
-  {
-    outfile << "<tr>\n";
-
-    if (test_case.empty())
-      outfile << "<td><font size=\"-1\"><i>empty</i></font></td>\n";
-    else
-      outfile << "<td><code>" << test_case << "</code></td>\n";
-    
-    for ( int i = 0; i < sizeof(column)/sizeof(column_base&); ++i )
-    {
-      do_cell( test_case, i );
-    }
-
-    outfile << "</tr>\n";
-  }
-
-//  do_table  ----------------------------------------------------------------//
-
-  void do_table()
-  {
-    outfile <<
-      "<h1>Path Decomposition Table</h1>\n"
-      "<p>Shaded entries indicate cases where <i>POSIX</i> and <i>Windows</i>\n"
-      "implementations yield different results. The top value is the\n"
-      "<i>POSIX</i> result and the bottom value is the <i>Windows</i> result.\n" 
-      "<table border=\"1\" cellspacing=\"0\" cellpadding=\"5\">\n"
-      "<p>\n"
-      ;
-
-    // generate the column headings
-
-    outfile << "<tr><td><b>Constructor<br>argument</b></td>\n";
-
-    for ( int i = 0; i < sizeof(column)/sizeof(column_base&); ++i )
-    {
-      outfile << "<td><b>" << column[i]->heading() << "</b></td>\n";
-    }
-
-    outfile << "</tr>\n";
-
-    // generate a row for each input line
-
-    string test_case;
-    while ( std::getline( infile, test_case ) )
-    {
-      if (!test_case.empty() && *--test_case.end() == '\r')
-        test_case.erase(test_case.size()-1);
-      if (test_case.empty() || test_case[0] != '#')
-        do_row( test_case );
-    }
-
-    outfile << "</table>\n";
-  }
-
-} // unnamed namespace
-
-//  main  ------------------------------------------------------------------------------//
-
-#define BOOST_NO_CPP_MAIN_SUCCESS_MESSAGE
-#include <boost/test/included/prg_exec_monitor.hpp>
-
-int cpp_main( int argc, char * argv[] ) // note name!
-{
-  if ( argc != 5 )
-  {
-    std::cerr <<
-      "Usage: path_table \"POSIX\"|\"Windows\" input-file posix-file output-file\n"
-      "Run on POSIX first, then on Windows\n"
-      "  \"POSIX\" causes POSIX results to be saved in posix-file;\n"
-      "  \"Windows\" causes POSIX results read from posix-file\n"
-      "  input-file contains the paths to appear in the table.\n"
-      "  posix-file will be used for POSIX results\n"
-      "  output-file will contain the generated HTML.\n"
-      ;
-    return 1;
-  }
-
-  infile.open( argv[2] );
-  if ( !infile )
-  {
-    std::cerr << "Could not open input file: " << argv[2] << std::endl;
-    return 1;
-  }
-
-  if (string(argv[1]) == "POSIX")
-  {
-    posix = true;
-    posix_outfile.open( argv[3] );
-    if ( !posix_outfile )
-    {
-      std::cerr << "Could not open POSIX output file: " << argv[3] << std::endl;
-      return 1;
-    }
-  }
-  else
-  {
-    posix = false;
-    posix_infile.open( argv[3] );
-    if ( !posix_infile )
-    {
-      std::cerr << "Could not open POSIX input file: " << argv[3] << std::endl;
-      return 1;
-    }
-  }
-
-  outfile.open( argv[4] );
-  if ( !outfile )
-  {
-    std::cerr << "Could not open output file: " << argv[2] << std::endl;
-    return 1;
-  }
-
-  outfile << "<html>\n"
-          "<head>\n"
-          "<title>Path Decomposition Table</title>\n"
-          "</head>\n"
-          "<body bgcolor=\"#ffffff\" text=\"#000000\">\n"
-          ;
-
-  do_table();
-
-  outfile << "</body>\n"
-          "</html>\n"
-          ;
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/doc/path_table.txt b/SRC/Boost/libs/filesystem/v3/doc/path_table.txt
deleted file mode 100755
index c3fef9e..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/path_table.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-# Paths for the reference.html Path Decomposition Table
-#
-# This is the input file for path_table, which generates the actual html
-#
-# Copyright Beman Dawes 2010
-#
-# Distributed under the Boost Software License, Version 1.0.
-# See www.boost.org/LICENSE_1_0.txt
-#
-# Note that an empty line is treated as input rather than as a comment
-
-.
-..
-foo
-/
-/foo
-foo/
-/foo/
-foo/bar
-/foo/bar
-//net
-//net/foo
-///foo///
-///foo///bar
-/.
-./
-/..
-../
-foo/.
-foo/..
-foo/./
-foo/./bar
-foo/..
-foo/../
-foo/../bar
-c:
-c:/
-c:foo
-c:/foo
-c:foo/
-c:/foo/
-c:/foo/bar
-prn:
-c:\
-c:foo
-c:\foo
-c:foo\
-c:\foo\
-c:\foo/
-c:/foo\bar
diff --git a/SRC/Boost/libs/filesystem/v3/doc/portability_guide.htm b/SRC/Boost/libs/filesystem/v3/doc/portability_guide.htm
deleted file mode 100755
index e1e58d1..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/portability_guide.htm
+++ /dev/null
@@ -1,241 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Portability Guide</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<h1>
-<img border="0" src="../../../../boost.png" align="center" width="300" height="86">Path 
-Name Portability 
-Guide</h1>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
-  <tr>
-    <td><a href="index.htm">Filesystem Home</a>   
-    <a href="release_history.html">Releases</a>   
-    <a href="reference.html">Reference</a>   
-    <a href="tutorial.html">Tutorial</a>   
-    <a href="faq.htm">FAQ</a>   
-    <a href="portability_guide.htm">Portability</a>   
-    <a href="v3.html">V3 Intro</a>   
-    <a href="v3_design.html">V3 Design</a>   
-    <a href="deprecated.html">Deprecated</a>   
-    </td>
-  </tr>
-</table>
-
-<p>
-<a href="#Introduction">Introduction</a><br>
-<a href="#name_check�_functions">name_check functions</a><br>
-<a href="#recommendations">File and directory name recommendations</a></p>
-<h2><a name="Introduction">Introduction</a></h2>
-<p>Like any other C++ program which performs I/O operations, there is no 
-guarantee that a program using Boost.Filesystem will be portable between 
-operating systems. Critical aspects of I/O such as how the operating system 
-interprets paths are unspecified by the C and C++ Standards.</p>
-<p>It is not possible to know  if a file or directory name will be 
-valid (and thus portable) for an unknown operating system. There is always the possibility that an operating system could use 
-names which are unusual (numbers less than 4096, for example) or very 
-limited in size (maximum of six character names, for example). In other words, 
-portability is never absolute; it is always relative to specific operating 
-systems or 
-file systems.</p>
-<p>It is possible, however, to know in advance if a directory or file name is likely to be valid for a particular 
-operating system. It is also possible to construct names which are 
-likely to be portable to a large number of modern and legacy operating systems.</p>
-
-<p>Almost all modern operating systems support multiple file systems. At the 
-minimum, they support a native file system plus a CD-ROM file system (Generally 
-ISO-9669, often with Juliet extensions).</p>
-
-<p>Each file system 
-may have its own naming rules. For example, modern versions of Windows support NTFS, FAT, FAT32, and ISO-9660 file systems, among others, and the naming rules 
-for those file systems differ. Each file system may also have 
-differing rules for overall path validity, such as a maximum length or number of 
-sub-directories. Some legacy systems have different rules for directory names 
-versus regular file names.</p>
-
-<p>As a result, Boost.Filesystem's <i>name_check</i> functions 
-cannot guarantee directory and file name portability. Rather, they are intended to 
-give the programmer a "fighting chance" to achieve portability by early 
-detection of common naming problems.</p>
-
-<h2><a name="name_check�_functions">name_check functions</a></h2>
-
-<p>A <i>name_check</i> function 
-returns true if its argument is valid as a directory and regular file name for a 
-particular operating or file system. A number of these functions are provided.</p>
-
-<p>The <a href="#portable_name">portable_name</a> function is of particular 
-interest because it has been carefully designed to provide wide 
-portability yet not overly restrict expressiveness.</p>
-
-<table border="1" cellpadding="5" cellspacing="0">
-  <tr>
-    <td align="center" colspan="2"><b>Library Supplied name_check Functions</b></td>
-  </tr>
-  <tr>
-    <td align="center"><b>Function</b></td>
-    <td align="center"><b>Description</b></td>
-  </tr>
-  <tr>
-    <td align="left" valign="top"><code><a name="portable_posix_name">portable_posix_name</a>(const 
-    std::string&<i> name</i>)</code></td>
-    <td><b>Returns:</b> <i>true</i> if <code>!name.empty() && name</code> contains only the characters 
-    specified in<i> Portable Filename Character Set</i> rules as defined in by 
-    POSIX (<a href="http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap03.html">www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap03.html</a>).<br>
-    The allowed characters are <code>0-9</code>, <code>a-z</code>, <code>A-Z</code>, 
-    <code>'.'</code>, <code>'_'</code>, and <code>'-'</code>.<p><b>Use:</b> 
-    applications which must be portable to any POSIX system.</td>
-  </tr>
-  <tr>
-    <td align="left" valign="top"><code><a name="windows_name">windows_name</a>(const 
-    std::string&<i> name</i>)</code></td>
-    <td><b>Returns:</b>  <i>true</i> if <code>!name.empty() && name</code> contains 
-    only the characters specified by the Windows platform SDK as valid 
-    regardless of the file system <code>&& (name</code> is <code>"."</code> or
-    <code>".."</code>  or does not end with a trailing space or period<code>)</code>.  
-    The allowed characters are anything except <code>0x0-0x1F</code>, <code>'<'</code>,
-    <code>'>'</code>, <code>':'</code>, <code>'"'</code>, <code>'/'</code>,
-    <code>'\'</code>, and <code>'|'</code>.<p>
-    <b>Use:</b> applications which must be portable to Windows.</p>
-    <p><b>Note:</b> Reserved device names are not valid as file names, but are 
-    not being detected because they are still valid as a path. Specifically, 
-    CON, PRN, AUX, CLOCK$, NUL, COM[1-9], LPT[1-9], and these names followed by 
-    an extension (for example, NUL.tx7).</td>
-  </tr>
-  <tr>
-    <td align="left" valign="top"><code><a name="portable_name">portable_name</a>(const 
-    std::string&<i> name</i>)</code></td>
-    <td><b>Returns:</b> <code> windows_name(name) && portable_posix_name(name) 
-    && (name</code> is <code>"."</code> or <code>".."</code>, and the first character not a period or hyphen<code>)</code>.<p><b>Use:</b> applications which must be portable to a wide variety of 
-    modern operating systems, large and small, and to some legacy O/S's. The 
-    first character not a period or hyphen restriction is a requirement of 
-    several older operating systems.</td>
-  </tr>
-  <tr>
-    <td align="left" valign="top"><code><a name="portable_directory_name">
-    portable_directory_name</a>(const std::string&<i> name</i>)</code></td>
-    <td><b>Returns:</b> <code>portable_name(name) && (name</code> is <code>"."</code> 
-    or <code>".."</code>  or contains no periods<code>)</code>.<p><b>Use:</b> applications 
-    which must be portable to a wide variety of platforms, including OpenVMS.</td>
-  </tr>
-  <tr>
-    <td align="left" valign="top"><code><a name="portable_file_name">
-    portable_file_name</a>(const std::string&<i> name</i>)</code></td>
-    <td><b>Returns:</b> <code>portable_name(name) && </code>any period is followed by one to three additional 
-    non-period characters.<p><b>Use:</b> 
-    applications which must be portable to a wide variety of platforms, 
-    including OpenVMS and other systems which have a concept of "file extension" 
-    but limit its length.</td>
-  </tr>
-  <tr>
-    <td align="left" valign="top"><code><a name="native">native</a>(const 
-    std::string&<i> name</i>)</code></td>
-    <td><b>Returns:</b> Implementation defined. Returns <i>
-    true</i> for names considered valid by the operating system's native file 
-    systems.<p><b>Note:</b> May return <i>true</i> for some names not considered valid 
-    by the operating system under all conditions (particularly on operating systems which support 
-    multiple file systems.)</td>
-  </tr>
-</table>
-
-<h2>File and directory name <a name="recommendations">recommendations</a></h2>
-
-<table border="1" cellpadding="5" cellspacing="0">
-
-  <tr>
-    <td align="center" valign="top"><strong>Recommendation</strong></td>
-    <td align="center" valign="top"><strong>Rationale</strong></td>
-  </tr>
-  <tr>
-    <td valign="top">Limit file and directory names to the characters A-Z, a-z, 0-9, period, hyphen, and
-    underscore.<p>Use any of the "portable_" <a href="#name_check�_functions">
-    name check functions</a> to enforce this recommendation.</td>
-    <td valign="top">These are the characters specified by the POSIX standard for portable directory and
-    file names, and are also valid for Windows, Mac, and many other modern file systems.</td>
-  </tr>
-  <tr>
-    <td valign="top">Do not use a period or hyphen as the first 
-    character of a name. Do not use period as the last character of a name.<p>
-    Use <a href="#portable_name">portable_name</a>,
-    <a href="#portable_directory_name">portable_directory_name</a>, or
-    <a href="#portable_file_name">portable_file_name</a> to enforce this 
-    recommendation.</td>
-    <td valign="top">Some operating systems treat have special rules for the 
-    first character of names. POSIX, for example. Windows does not permit period 
-    as the last character.</td>
-  </tr>
-  <tr>
-    <td valign="top">Do not use periods in directory names.<p>Use
-    <a href="#portable_directory_name">portable_directory_name</a> to enforce 
-    this recommendation.</td>
-    <td valign="top">Requirement for ISO-9660 without Juliet extensions, OpenVMS filesystem, and other legacy systems.</td>
-  </tr>
-  <tr>
-    <td valign="top">Do not use more that one period in a file name, and limit 
-    the portion after the period to three characters.<p>Use
-    <a href="#portable_file_name">portable_file_name</a> to enforce this 
-    recommendation.</td>
-    <td valign="top">Requirement for ISO-9660 level 1, OpenVMS filesystem, and 
-    other legacy systems. </td>
-  </tr>
-  <tr>
-    <td valign="top">Do not assume names are case sensitive. For example, do not expected a directory to be
-    able to hold separate elements named "Foo" and "foo". </td>
-    <td valign="top">Some file systems are case insensitive.  For example, Windows 
-    NTFS is case preserving in the way it stores names, but case insensitive in 
-    searching for names (unless running under the POSIX sub-system, it which 
-    case it does case sensitive searches). </td>
-  </tr>
-  <tr>
-    <td valign="top">Do not assume names are case insensitive.  For example, do not expect a file
-    created with the name of "Foo" to be opened successfully with the name of "foo".</td>
-    <td valign="top">Some file systems are case sensitive.  For example, POSIX.</td>
-  </tr>
-  <tr>
-    <td valign="top">Don't use hyphens in names.</td>
-    <td valign="top">ISO-9660 level 1, and possibly some legacy systems, do not permit 
-    hyphens.</td>
-  </tr>
-  <tr>
-    <td valign="top">Limit the length of the string returned by path::string() to 
-    255 characters.  
-    Note that ISO 9660 has an explicit directory tree depth limit of 8, although 
-    this depth limit is removed by the Juliet extensions.</td>
-    <td valign="top">Some operating systems place limits on the total path length.  For example,
-    Windows 2000 limits paths to 260 characters total length.</td>
-  </tr>
-  <tr>
-    <td valign="top">Limit the length of any one name in a path.  Pick the specific limit according to
-    the operating systems and or file systems you wish portability to:<br>
-       Not a concern::  POSIX, Windows, MAC OS X.<br>
-       31 characters: Classic Mac OS<br>
-   8 characters + period + 3 characters: ISO 9660 level 1<br>
-   32 characters: ISO 9660 level 2 and 3<br>
-   128 characters (64 if Unicode): ISO 9660 with Juliet extensions</td>
-    <td valign="top">Limiting name length can markedly reduce the expressiveness of file names, yet placing
-    only very high limits on lengths inhibits widest portability.</td>
-  </tr>
-</table>
-
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->20 February, 2011<!--webbot bot="Timestamp" endspan i-checksum="40524" --></p>
-
-<p>� Copyright Beman Dawes, 2002, 2003</p>
-<p> Use, modification, and distribution are subject to the Boost Software 
-License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">
-LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a>)</p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/doc/reference.html b/SRC/Boost/libs/filesystem/v3/doc/reference.html
deleted file mode 100755
index 3b4b78f..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/reference.html
+++ /dev/null
@@ -1,3371 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Filesystem V3 Reference
-</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-<style type="text/css">
- pre {background-color:#D7EEFF}
- body
- { 
-   font-family: sans-serif;
-   max-width : 8.5in;
-   margin: 1em;
- }
-</style>
-</head>
-
-<body>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td width="277">
-<a href="../../../../index.htm">
-<img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td>
-    <td align="middle">
-    <font size="7">Filesystem Library<br>
-    </font>
-    <font size="6">Version 3</font></td>
-  </tr>
-</table>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
-  <tr>
-    <td><a href="index.htm">Filesystem Home</a>   
-    <a href="release_history.html">Releases</a>   
-    <a href="reference.html">Reference</a>   
-    <a href="tutorial.html">Tutorial</a>   
-    <a href="faq.htm">FAQ</a>   
-    <a href="portability_guide.htm">Portability</a>   
-    <a href="v3.html">V3 Intro</a>   
-    <a href="v3_design.html">V3 Design</a>   
-    <a href="deprecated.html">Deprecated</a>   
-    </td>
-    </td>
-  </tr>
-</table>
-
-<h1>Reference Documentation</h1>
-
-<h2><a name="TOC">Table of Contents</a></h2>
-
-<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
-  <tr>
-    <td width="33%" valign="top"><a href="#Introduction">Introduction</a><br>
-    <a href="#Definitions">Definitions</a><br>
-    <a href="#Conformance">Conformance</a><br>
-    <a href="#Header-filesystem-synopsis">
-    Header <boost/filesystem.hpp> synopsis</a><br>
-    <a href="#Error-reporting">Error reporting</a><br>
-    <a href="#class-path">Class path</a><br>
-        <a href="#path-constructors">path constructors</a><br>
-    <a href="#path-assignments">path assignments</a><br>
-    <a href="#path-appends">path appends</a><br>
-    <a href="#path-modifiers">path modifiers</a><br>
-    <a href="#path-native-format-observers">path native 
-    format observers</a><br>
-    <a href="#path-generic-format-observers">path generic 
-    format observers</a><br>
-    <a href="#path-decomposition">path decomposition</a><br>
-    <a href="#path-query">path query</a><br>
-    <a href="#path-iterators">path iterators</a><br>
-    <a href="#path-deprecated-functions">path deprecated functions</a><br>
-    <a href="#path-non-member-functions">path non-member functions</a><br>
-    <a href="#path-inserter-extractor">path inserters and extractors</a><br>
-  <a href="#Class-filesystem_error">Class filesystem_error</a><br>
-    <a href="#filesystem_error-members">filesystem_error 
-    constructors</a><br>
-    f<a href="#filesystem_error-path1">ilesystem_error path1</a><br>
-    <a href="#filesystem_error-path2">filesystem_error path2</a><br>
-    <a href="#filesystem_error-what">filesystem_error what</a><br>
-<a href="#Class-directory_entry">Class directory_entry</a><br>
-   
-<a href="#directory_entry-constructors">directory_entry constructors</a><br>
-    <a href="#directory_entry-modifiers">directory_entry modifiers</a><br>
-    <a href="#directory_entry-observers">directory_entry observers</a><br>
-<a href="#Class-directory_iterator">Class  directory_iterator</a><br>
-    <a href="#directory_iterator-members">directory_iterator 
-    members</a><br>
-<a href="#Class-recursive_directory_iterator">Class recursive_directory_iterator</a><br>
-    <a href="#file_status">Class 
-    file_status</a><br>
-     </td>
-    <td width="33%" valign="top">
-    <a href="#Operational-functions">
-    Operational functions</a><br>
-   &nbsp <a href="#absolute">absolute</a><br>
-     <a href="#canonical">canonical</a><br>
-     <a href="#copy">copy</a><br>
-     <a href="#copy_directory">copy_directory</a><br>
-     <a href="#copy_file">copy_file</a><br>
-     <a href="#copy_symlink">copy_symlink</a><br>
-   &nbsp <a href="#create_directories">create_directories</a><br>
-   &nbsp <a href="#create_directory">create_directory</a><br>
-   &nbsp <a href="#create_hard_link">create_hard_link</a><br>
-   &nbsp <a href="#create_symlink">create_symlink</a><br>
-   &nbsp <a href="#current_path">current_path</a><br>
-   &nbsp <a href="#exists">exists</a><br>
-   &nbsp <a href="#equivalent">equivalent</a><br>
-   &nbsp <a href="#file_size">file_size</a><br>
-     <a href="#hard_link_count">hard_link_count</a><br>
-     <a href="#initial_path">initial_path</a><br>
-   &nbsp  i<a href="#is_directory">s_directory</a><br>
-   &nbsp <a href="#is_empty">is_empty</a><br>
-   &nbsp <a href="#is_other">is_other</a><br>
-   &nbsp <a href="#is_regular_file">is_regular_file</a><br>
-   &nbsp <a href="#is_symlink">is_symlink</a><br>
-   &nbsp <a href="#last_write_time">last_write_time</a><br>
-     <a href="#read_symlink">read_symlink</a><br>
-   &nbsp <a href="#remove">remove</a><br>
-   &nbsp <a href="#remove_all">remove_all</a><br>
-   &nbsp <a href="#rename">rename</a><br>
-     <a href="#resize_file">resize_file</a><br>
-   &nbsp <a href="#space">space</a><br>
-   &nbsp <a href="#status">status</a><br>
-   &nbsp <a href="#status_known">status_known</a><br>
-   &nbsp <a href="#symlink_status">symlink_status</a><br>
-   &nbsp <a href="#system_complete">system_complete</a><br>
-   &nbsp <a href="#temp_directory_path">temp_directory_path</a><br>
-     <a href="#unique_path">unique_path</a></td>
-    <td width="34%" valign="top">
-    <a href="#File-streams">File streams</a><br>
-<a href="#Path-decomposition-table">Path decomposition table</a><br>
-    <a href="#long-path-warning">Warning: Long paths on Windows and the 
-    extended-length <b>\\?\ </b>prefix</a><br>
-<a href="#Acknowledgements">Acknowledgements</a><br>
-<a href="#References">References</a><br>
- </td>
-  </tr>
-</table>
-
-<h2><a name="Introduction">Introduction</a></h2>
-
-<p>This reference documentation describes components that C++ programs may use 
-to perform operations involving file systems, including paths, regular files, 
-and directories.</p>
-<h2><a name="Definitions">Definitions</a></h2>
-<p>The following definitions  shall apply throughout this reference documentation:</p>
-<p><i><b><a name="File">File</a>:</b> </i>An object that can be written to, or read from, or both. A file 
-has certain attributes, including type. Common types of files include regular files 
-and directories. Other types of files, such as symbolic links, may be supported by the 
-implementation.</p>
-<p><b><i><a name="File-system">File system</a>:</i></b> A collection of files and certain of their attributes.</p>
-<p><b><i><a name="Filename">Filename</a>:</i></b> The name of a file. Slash and 
-0x00 
-characters are not permitted. Implementations may define additional 
-characters or specific names that are not permitted. Filenames <code>.</code>  
-and <code>..</code>  have special meaning. Implementations may define 
-additional filenames that have special meaning.</p>
-<blockquote>
-  <p><i>[Note:</i> Most operating systems prohibit the ASCII control characters 
-  (0x00-0x1F) in filenames.</p>
-  <p>Windows prohibits the characters 0x00-0x1F, <code>"</code>,<code> 
-  *</code>,<code> :</code>,<code> <</code>,<code> ></code>,<code> ?</code>,<code> 
-  \</code>,<code> /</code>, and<code> |</code> <i>--end note]</i></p>
-</blockquote>
-<p><b><i><a name="Path">Path</a>:</i></b> A sequence of elements that identify 
-the location of a file within a filesystem. The elements are the <i>root-name<sub>opt</sub></i>, <i>
-root-directory<sub>opt</sub></i>, and an optional sequence of filenames. [<i>Note:</i> 
-A <a href="#Pathname">pathname</a> is the concrete representation of a path. <i>--end note</i>]</p>
-<p><b><i><a name="Absolute-path">Absolute path</a>:</i></b> A path that 
-unambiguously 
-identifies the location of a file within a filesystem without reference to an 
-additional starting location. The format is implementation defined. </p>
-<blockquote>
-  <p><i>[Note:</i> For POSIX-like implementations, including<b> </b>Unix 
-  variants, Linux, and Mac OS X, only paths 
-  that begin with a slash are absolute paths.</p>
-  <p>For Windows-like implementations, including <a href="http://www.cygwin.com/">
-  Cygwin</a> and
-  <a href="http://www.mingw.org/">MinGW</a>, only paths that begin with a drive 
-  specifier followed by a slash, or begin with two slashes, are absolute paths. <i>--end 
-  note]</i></p>
-</blockquote>
-<p><b><a name="Relative-path">Relative path</a>:</b> A path that only 
-unambiguously 
-identifies the location of a file within a filesystem when resolved relative to 
-a starting location. The format is implementation defined. [<i>Note:</i> 
-Paths "." and ".." are considered to be relative paths. <i>--end note</i>]</p>
-<p><b><a name="Canonical-path">Canonical path</a>:</b> An absolute path that has 
-no elements which are symbolic links, and no dot or dot dot elements.</p>
-<p><i><b><a name="Pathname">Pathname</a>:</b> </i>A character string that represents a 
-path. Pathnames are formatted according to the generic pathname format or the 
-native pathname format.</p>
-<p><b><i><a name="generic-pathname-format">Generic pathname format:</a></i></b></p>
-<blockquote>
-<p><i>pathname:<br>
-            root-name<sub>opt</sub> 
-root-directory<sub>opt</sub> relative-path<sub>opt</sub></i></p>
-<p><i>root-name:<br>
-            
-implementation-defined</i></p>
-<blockquote>
-  <blockquote>
-<p>[<i>Note:</i> Most POSIX and Windows based operating system define a name 
-beginning with two slashes (or backslashes, for Windows) as a root-name 
-identifying network locations. Windows defines a single letter followed by a
-<code>":"</code> as a root-name identifying a disc drive. <i>--end note</i>]</p>
-  </blockquote>
-</blockquote>
-<p><i>root-directory:<br>
-            
-directory-separator</i></p>
-<p><i>relative-path:<br>
-            
-filename<br>
-            relative-path 
-directory-separator<br>
-            relative-path 
-directory-separator filename</i></p>
-<p><i>filename:<br>
-            name<br>
-            </i><code>"."</code><i><br>
-            </i><code>
-".."</code></p>
-<p><i>directory-separator:<br>
-            <code>"/"<br>
-      "/"</code> directory-separator</i></p>
-<p>Multiple successive <i>directory-separator</i> characters are considered to 
-be the same as one <i>directory-separator</i> character. The <i>filename</i>
-<code>"."</code> is considered to be a reference to the current directory. The
-<i>filename</i> <code>".."</code> is considered to be a reference to the current 
-directory. Specific <i>filenames</i> may have special meaning for a particular 
-operating system.</p>
-</blockquote>
-<p><b><i><a name="native-pathname-format">Native pathname format:</a></i></b>  
-An implementation defined format. [<i>Note:</i> For POSIX-like operating 
-systems, the native format is the same as the generic format. For Windows, the 
-native format is similar to the generic format, but the directory-separator 
-characters can be either slashes or backslashes. <i>--end note</i>]</p>
-<p><i><b><a name="Link">Link</a>:</b> </i>A directory entry object that associates a 
-filename with a file. On some file systems, several directory entries can 
-associate names with the same file.</p>
-<p><b><i><a name="Hard-link">Hard link</a>:</i></b> A link to an existing file. Some 
-file systems support multiple hard links to a file. If the last hard link to a 
-file is removed, the file itself is removed.</p>
-<blockquote>
-<p>[<i>Note:</i> A hard link can be thought of as a shared-ownership smart 
-pointer to a file.<i> -- end note</i>]<i> </i></p>
-</blockquote>
-<p><i><a name="Symbolic-link">S<b>ymbolic link</b></a><b>:</b> </i>A type of file with the 
-property that when the file is encountered during pathname resolution, a string 
-stored by the file is used to modify the pathname resolution.</p>
-<blockquote>
-<p>[<i>Note:</i> A symbolic link can be thought of as a raw pointer to a file. 
-If the file pointed to does not exist, the symbolic link is said to be a 
-"dangling" symbolic link.<i> -- end note</i>]<i> </i></p>
-</blockquote>
-<p><b><i><a name="Race-condition">Race condition</a>:</i></b> The condition that occurs 
-when multiple threads, processes, or computers interleave access and 
-modification of 
-the same object within a file system.</p>
-<p><b><i><a name="Dot">Dot</a>, Dot Dot:</i></b> Synonyms for the filenames <code>"."</code> 
-and <code>".."</code>, respectively. The dot filename names the current 
-directory. The dot dot filename names the parent directory.</p>
-<h2><a name="Conformance">Conformance</a></h2>
-<p>Behavior is sometimes specified by reference to ISO/IEC 9945:2003, <i>
-<a href="http://www.unix.org/single_unix_specification/">POSIX</a></i>. How such behavior is actually implemented is unspecified.</p>
-<blockquote>
-<p>[<i>Note:</i> This constitutes an "as if" rule for implementation of 
-operating system dependent behavior. Presumably implementations will usually call native 
-operating system API's. <i>--end note</i>]</p>
-</blockquote>
-<p>Implementations are encouraged, but not required, to support such behavior 
- 
-as it is defined by <i>POSIX</i>. Implementations shall document any 
-behavior that differs from the <i>POSIX</i> defined behavior. Implementations that do not support exact <i>POSIX</i> behavior are 
-encouraged to provide behavior as close to <i>POSIX</i> behavior as is reasonable given the 
-limitations of actual operating systems and file systems. If an implementation cannot provide any 
-reasonable behavior, the implementation shall report an error in an 
-implementation-defined manner.</p>
-<blockquote>
-<p>[<i>Note:</i> Such errors might be reported by an #error directive, a <code>
-static_assert</code>, a <code>filesystem_error</code> exception, a special 
-return value, or some other manner. <i>--end note</i>]</p>
-</blockquote>
-<p>Specific operating systems such as <i>OpenMVS</i>,
-<i>UNIX</i>, and <i>Windows</i> are mentioned only for purposes of illustration or to 
-give guidance to implementers. No slight to other operating systems is implied 
-or intended.</p>
-<p>The <i>Effects</i> and <i>Postconditions</i> of functions described in this 
-reference 
-may not be achieved in 
-the presence of <a href="#Race-condition">race conditions</a>. No diagnostic is required.</p>
-<p>If the possibility of race conditions would make it unreliable for a program to 
-test for a precondition before calling a function described in this clause, <i>
-Requires</i> is not specified for the condition. Instead, the condition is 
-specified as a <i>Throws</i> condition.</p>
-<blockquote>
-<p>[<i>Note:</i> As a design practice, preconditions are not specified when it 
-is unreasonable for a program to detect them prior to calling the function. <i>
--- end note</i>]</p>
-</blockquote>
-<h2><a name="Header-filesystem-synopsis">Header <code><boost/filesystem.hpp></code> synopsis</a></h2>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      class <a href="#class-path">path</a>;
-
-      void swap(path& lhs, path& rhs);
-      bool lexicographical_compare(path::iterator first1, path::iterator last1,
-                                   path::iterator first2, path::iterator last2);
-      std::size_t <a href="#hash_value">hash_value</a>(const path& p);
-
-      bool operator==(const path& lhs, const path& rhs);
-      bool operator!=(const path& lhs, const path& rhs);
-      bool operator< (const path& lhs, const path& rhs);
-      bool operator<=(const path& lhs, const path& rhs);
-      bool operator> (const path& lhs, const path& rhs);
-      bool operator>=(const path& lhs, const path& rhs);
-
-      path operator/ (const path& lhs, const path& rhs);
-
-      std::ostream&  operator<<( std::ostream& os, const path& p );
-      std::wostream& operator<<( std::wostream& os, const path& p );
-      std::istream&  operator>>( std::istream& is, path& p );
-      std::wistream& operator>>( std::wistream& is, path& p )
-
-      class <a href="#Class-filesystem_error">filesystem_error</a>;      
-      class <a href="#Class-directory_entry">directory_entry</a>;
-
-      class <a href="#Class-directory_iterator">directory_iterator</a>;
-
-      class <a href="#Class-recursive_directory_iterator">recursive_directory_iterator</a>;
-
-      enum <a name="file_type">file_type</a> { status_error, file_not_found, regular_file, directory_file,
-                       symlink_file, block_file, character_file, fifo_file, socket_file,
-                       type_unknown
-                     };
-
-      class <a href="#file_status">file_status</a>;
-
-      struct <a name="space_info">space_info</a>  // returned by <a href="#space" style="text-decoration: none">space</a> function
-      {
-        uintmax_t capacity;
-        uintmax_t free; 
-        uintmax_t available; // free space available to a non-privileged process
-      };
-
-      BOOST_SCOPED_ENUM_START(<a name="copy_option">copy_option</a>)
-      {
-        none
-        fail_if_exists = none,
-        overwrite_if_exists
-      };
-      BOOST_SCOPED_ENUM_END
-
-      BOOST_SCOPED_ENUM_START(<a name="symlink_option">symlink_option</a>)
-      {
-        none
-        no_recurse = none,
-        recurse
-      };
-      BOOST_SCOPED_ENUM_END
-
-      // <a href="#Operational-functions">operational functions</a>
-
-      path         <a href="#absolute">absolute</a>(const path& p, const path& base=current_path());
-
-      path         <a href="#canonical">canonical</a>(const path& p, const path& base = current_path());
-      path         <a href="#canonical">canonical</a>(const path& p, system::error_code& ec);
-      path         <a href="#canonical">canonical</a>(const path& p, const path& base, system::error_code& ec);
-
-      void         <a href="#copy">copy</a>(const path& from, const path& to);
-      void         <a href="#copy">copy</a>(const path& from, const path& to, system::error_code& ec);
-
-      void         <a href="#create_directory">copy_directory</a>(const path& from, const path& to);
-      void         <a href="#create_directory">copy_directory</a>(const path& from, const path& to, system::error_code& ec);
-
-      void         <a href="#copy_file">copy_file</a>(const path& from, const path& to);
-      void         <a href="#copy_file">copy_file</a>(const path& from, const path& to, system::error_code& ec);
-      void         <a href="#copy_file">copy_file</a>(const path& from, const path& to, BOOST_SCOPED_ENUM(<a href="#copy_option">copy_option</a>) option);
-      void         <a href="#copy_file">copy_file</a>(const path& from, const path& to, BOOST_SCOPED_ENUM(<a href="#copy_option">copy_option</a>) option,
-                             system::error_code& ec);
-
-      void         <a href="#copy_symlink">copy_symlink</a>(const path& existing_symlink, const path& new_symlink);
-      void         <a href="#copy_symlink">copy_symlink</a>(const path& existing_symlink, const path& new_symlink, system::error_code& ec);
-
-      bool         <a href="#create_directories">create_directories</a>(const path& p);
-      bool         <a href="#create_directories">create_directories</a>(const path& p, system::error_code& ec);
-
-      bool         <a href="#create_directory">create_directory</a>(const path& p);
-      bool         <a href="#create_directory">create_directory</a>(const path& p, system::error_code& ec);
-
-      void         <a href="#create_directory_symlink">create_directory_symlink</a>(const path& to, const path& new_symlink);
-      void         <a href="#create_directory_symlink">create_directory_symlink</a>(const path& to, const path& new_symlink, system::error_code& ec);
-
-      void         <a href="#create_hard_link">create_hard_link</a>(const path& to, const path& new_hard_link);
-      void         <a href="#create_hard_link">create_hard_link</a>(const path& to, const path& new_hard_link, system::error_code& ec);
-
-      void         <a href="#create_symlink">create_symlink</a>(const path& to, const path& new_symlink);
-      void         <a href="#create_symlink">create_symlink</a>(const path& to, const path& new_symlink, system::error_code& ec);
-
-      path         <a href="#current_path">current_path</a>();
-      path         <a href="#current_path">current_path</a>(system::error_code& ec);
-      void         <a href="#current_path">current_path</a>(const path& p);
-      void         <a href="#current_path">current_path</a>(const path& p, system::error_code& ec);
-
-      bool         <a href="#exists">exists</a>(file_status s);
-      bool         <a href="#exists">exists</a>(const path& p);
-      bool         <a href="#exists">exists</a>(const path& p, system::error_code& ec);
-
-      bool         <a href="#equivalent">equivalent</a>(const path& p1, const path& p2);
-      bool         <a href="#equivalent">equivalent</a>(const path& p1, const path& p2, system::error_code& ec);
-
-      uintmax_t    <a href="#file_size">file_size</a>(const path& p);
-      uintmax_t    <a href="#file_size">file_size</a>(const path& p, system::error_code& ec);
-      uintmax_t    <a href="#hard_link_count">hard_link_count</a>(const path& p);
-      uintmax_t    <a href="#hard_link_count">hard_link_count</a>(const path& p, system::error_code& ec);
-
-      const path&  <a href="#initial_path">initial_path</a>();
-      const path&  <a href="#initial_path">initial_path</a>(<code>system::error_code& ec</code>);
-
-      bool         <a href="#is_directory">is_directory</a>(file_status s);
-      bool         <a href="#is_directory2">is_directory</a>(const path& p);
-      bool         <a href="#is_directory2">is_directory</a>(const path& p, system::error_code& ec);
-
-      bool         <a href="#is_empty">is_empty</a>(const path& p);
-      bool         <a href="#is_empty">is_empty</a>(const path& p, system::error_code& ec);
-
-      bool         <a href="#is_other">is_other</a>(file_status s);
-      bool         <a href="#is_other2">is_other</a>(const path& p,);
-      bool         <a href="#is_other2">is_other</a>(const path& p, system::error_code& ec);
-
-      bool         <a href="#is_regular_file">is_regular_file</a>(file_status s); 
-      bool         i<a href="#is_regular_file2">s_regular_file</a>(const path& p);
-      bool         i<a href="#is_regular_file2">s_regular_file</a>(const path& p, system::error_code& ec);
-
-      bool         <a href="#is_symlink">is_symlink</a>(file_status s);
-      bool         <a href="#is_symlink2">is_symlink</a>(const path& p);
-      bool         <a href="#is_symlink2">is_symlink</a>(const path& p, system::error_code& ec);
-
-      std::time_t  <a href="#last_write_time">last_write_time</a>(const path& p);
-      std::time_t  <a href="#last_write_time">last_write_time</a>(const path& p, system::error_code& ec);
-      void         <a href="#last_write_time2">last_write_time</a>(const path& p, const std::time_t new_time);
-      void         <a href="#last_write_time2">last_write_time</a>(const path& p, const std::time_t new_time, system::error_code& ec);
-
-      path         <a href="#read_symlink">read_symlink</a>(const path& p);
-      path         <a href="#read_symlink">read_symlink</a>(const path& p, system::error_code& ec);
-
-      bool         <a href="#remove">remove</a>(const path& p);
-      bool         <a href="#remove">remove</a>(const path& p, system::error_code& ec);
-
-      uintmax_t    <a href="#remove_all">remove_all</a>(const path& p);
-      uintmax_t    <a href="#remove_all">remove_all</a>(const path& p, system::error_code& ec);
-
-      void         <a href="#rename">rename</a>(const path& from, const path& to);
-      void         <a href="#rename">rename</a>(const path& from, const path& to, system::error_code& ec);
-
-      void         <a href="#resize_file">resize_file</a>(const path& p, uintmax_t size);
-      void         <a href="#resize_file2">resize_file</a>(const path& p, uintmax_t size, system::error_code& ec);
-
-      <a href="#space_info">space_info</a>   <a href="#space">space</a>(const path& p);
-      <a href="#space_info">space_info</a>   <a href="#space">space</a>(const path& p, system::error_code& ec);
-      <a href="#file_status">file_status</a>  <a href="#status">status</a>(const path& p);
-      <a href="#file_status">file_status</a>  <a href="#status">status</a>(const path& p, system::error_code& ec);
-
-      bool         <a href="#status_known">status_known</a>(file_status s);
-
-      <a href="#file_status">file_status</a>  <a href="#symlink_status">symlink_status</a>(const path& p);
-      <a href="#file_status">file_status</a>  <a href="#symlink_status">symlink_status</a>(const path& p, system::error_code& ec);
-
-      path         <a href="#system_complete">system_complete</a>(const path& p);
-      path         <a href="#system_complete">system_complete</a>(const path& p, system::error_code& ec);
-
-      path         <a href="#temp_directory_path">temp_directory_path</a>();
-      path         <a href="#temp_directory_path">temp_directory_path</a>(system::error_code& ec);
-
-      path         <a href="#unique_path">unique_path</a>(const path& model="%%%%-%%%%-%%%%-%%%%");
-      path         <a href="#unique_path">unique_path</a>(const path& model, system::error_code& ec);
-
-    } // namespace filesystem
-  } // namespace boost</pre>
-<h2><a name="Error-reporting">Error reporting</a></h2>
-<p>Filesystem library functions often provide two overloads, one that 
-throws an exception to report file system errors, and another that sets an
-<code>error_code</code>.</p>
-<blockquote>
-<p>[<i>Note:</i> This supports two common use cases:</p>
-<ul>
-  <li>Uses where file system 
-errors are truly exceptional and indicate a serious failure. Throwing an 
-  exception is the most appropriate response. This is the preferred default for 
-  most everyday programming.<br>
- </li>
-  <li>Uses where file system system errors are routine and do not necessarily represent 
-  failure. Returning an error code is the most appropriate response. This allows 
-  application specific error handling, including simply ignoring the error.</li>
-</ul>
-  <p><i>--end note</i>]</p>
-</blockquote>
-<p>Functions <b>not</b> having an argument of type
-<code>system::error_code&</code> 
-report errors as follows, unless otherwise specified:</p>
-  <ul>
-  <li>When a call by the 
-  implementation to an operating system or other underlying API results in an 
-  error that prevents the function from meeting its specifications, an exception 
-  of type
-<code>filesystem_error</code> is thrown.<br>
- </li>
-  <li>Failure to allocate storage is reported by throwing an exception as described in the C++ standard, 
-  17.6.4.10 [res.on.exception.handling].<br>
- </li>
-  <li>Destructors throw nothing.</li>
-  </ul>
-  <p>Functions having an argument of type
-<code>system::error_code&</code> report errors as follows, unless otherwise 
-  specified:</p>
-<ul>
-  <li>If a call by the 
-  implementation to an operating system or other underlying API results in an 
-  error that prevents the function from meeting its specifications, the
-<code>system::error_code&</code> argument is set as 
-  appropriate appropriate for the specific error. Otherwise, <code>clear()</code> 
-  is called on the
-<code>system::error_code&</code> argument.<br>
- </li>
-  <li>Failure to allocate storage is reported by 
-  throwing an exception as described in the C++ standard, 
-  17.6.4.10 [res.on.exception.handling].</li>
-</ul>
-<h2><a name="class-path">Class <code>path</code></a></h2>
-<p>An object of class <code>path</code> represents a <a href="#Path">path</a>, 
-and contains a <a href="#Pathname">pathname</a> Such an object is concerned only with the lexical and syntactic aspects 
-of a path. The path may not actually exist in external storage, and may contain pathnames which are not even valid for the current operating 
-system. </p>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      class path
-      {
-      public:
-        typedef <b><i><a href="#value_type">see below</a></i></b>                                    value_type;  // char for POSIX, wchar_t for Windows
-        typedef std::basic_string<value_type>                string_type;
-        typedef std::codecvt<wchar_t, char, std::mbstate_t>  codecvt_type;
-
-        // <a href="#path-constructors">constructors</a> and destructor
-        path();
-        path(const path& p);
-
-        template <class <a href="#Source">Source</a>>
-          path(Source const& source, const codecvt_type& cvt=codecvt());
-
-        template <class <a href="#InputIterator">InputIterator</a>>
-          path(InputIterator begin, InputIterator end, const codecvt_type& cvt=codecvt());
-
-       ~path();
-
-        // <a href="#path-assignments">assignments</a>
-        path& operator=(const path& p);
-
-        template <class <a href="#Source">Source</a>>
-          path& operator=(Source const& source);
-
-        template <class <a href="#Source">Source</a>>
-          path& assign(Source const& source, const codecvt_type& cvt)
-
-        template <class <a href="#InputIterator">InputIterator</a>>
-          path& assign(InputIterator begin, InputIterator end, const codecvt_type& cvt=codecvt());
-
-        // <a href="#path-appends">appends</a>
-        path& operator/=(const path& p);
-
-        template <class <a href="#Source">Source</a>>
-          path& operator/=(Source const& source);
-
-        template <class <a href="#Source">Source</a>>
-          path& append(Source const& source, const codecvt_type& cvt);
-
-        template <class <a href="#InputIterator">InputIterator</a>>
-          path& append(InputIterator begin, InputIterator end, const codecvt_type& cvt=codecvt());
-
-        // <a href="#path-modifiers">modifiers</a>
-        void  <a href="#path-clear">clear</a>();
-        path& <a href="#absolute">make_absolute</a>(const path& base);
-        path& <a href="#path-make_preferred">make_preferred</a>();  // POSIX: no effect. Windows: convert slashes to backslashes
-        path& <a href="#path-remove_filename">remove_filename</a>();
-        path& <a href="#path-replace_extension">replace_extension</a>(const path& new_extension = path());
-        void  <a href="#path-swap">swap</a>(path& rhs);
-
-        // <a href="#path-native-format-observers">native format observers</a>
-        const string_type&  <a href="#native">native</a>() const;  // native format, encoding
-        const value_type*   <a href="#c_str">c_str</a>() const;   // native().c_str()
-
-        template <class String>
-        String <a href="#string-template">string</a>(const codecvt_type& cvt=codecvt()) const;                // native format
-
-        const string        <a href="#string">string</a>(const codecvt_type& cvt=codecvt()) const;   // native format
-        const wstring       <a href="#wstring">wstring</a>(const codecvt_type& cvt=codecvt()) const;  // ditto
-        const u16string     <a href="#u16string">u16string</a>() const;                                 // ditto
-        const u32string     <a href="#u32wstring">u32string</a>() const;                                 // ditto
-
-        // <a href="#path-generic-format-observers">generic format observers</a>
-        template <class String>
-        String <a href="#generic_string-template">generic_string</a>() const;
-
-        const string        <a href="#generic_string">generic_string</a>(const codecvt_type& cvt=codecvt()) const;   // generic format
-        const wstring       <a href="#generic_wstring">generic_wstring</a>(const codecvt_type& cvt=codecvt()) const;  // ditto
-        const u16string     <a href="#generic_u16string">generic_u16string</a>() const;                                 // ditto
-        const u32string     <a href="#generic_u32wstring">generic_u32string</a>() const;                                 // ditto
-
-        // <a href="#path-decomposition">decomposition</a>
-        path  <a href="#path-root_name">root_name</a>() const;
-        path  <a href="#path-root_directory">root_directory</a>() const;
-        path  <a href="#path-root_path">root_path</a>() const;
-        path  <a href="#path-relative_path">relative_path</a>() const;
-        path  <a href="#path-parent_path">parent_path</a>() const;
-        path  <a href="#path-filename">filename</a>() const;
-        path  <a href="#path-stem">stem</a>() const;
-        path  <a href="#path-extension">extension</a>() const;
-
-        // <a href="#path-query">query</a>
-        bool <a href="#path-query">empty</a>() const;
-        bool <a href="#path-has_root_name">has_root_name</a>() const;
-        bool <a href="#path-has_root_directory">has_root_directory</a>() const;
-        bool <a href="#path-has_root_path">has_root_path</a>() const;
-        bool <a href="#path-has_relative_path">has_relative_path</a>() const;
-        bool <a href="#path-has_parent_path">has_parent_path</a>() const;
-        bool <a href="#path-has_filename">has_filename</a>() const;
-        bool <a href="#path-has_stem">has_stem</a>() const;
-        bool <a href="#path-has_extension">has_extension</a>() const;
-        bool <a href="#path-is_absolute">is_absolute</a>() const;
-        bool <a href="#path-is_relative">is_relative</a>() const;
-
-        // <a href="#path-iterators">iterators</a>
-        class iterator;
-        typedef iterator const_iterator;
-
-        iterator begin() const;
-        iterator end() const;
-        
-        // <a href="#path_encoding">encoding conversion</a>
-        static std::locale <a href="#path-imbue">imbue</a>( const std::locale& loc );
-        static const codecvt_type & <a href="#path-codecvt">codecvt</a>();
-
-      private:
-        string_type pathname;  // <b><i>exposition only</i></b>
-      };
-
-    } // namespace filesystem
-  } // namespace boost</pre>
-<p><code><a name="value_type">value_type</a></code> is an implementation-defined 
-<code>typedef</code> for the 
-character type used by the implementation to represent pathnames.</p>
-<p>If the value type of  [<code>begin</code>,<code>end</code>) 
-  or <code>source</code> arguments for member functions is not <code>value_type</code>, 
-and no <code>cvt</code> argument is supplied, conversion to <code>value_type</code> 
-occurs using an imbued locale. This imbued locale is initialized with a <code>
-codecvt</code> facet appropriate for the operating system.</p>
-<blockquote>
-<p>For Apple OS X implementations, <code>path::value_type</code> 
-is <code>char</code>. The default imbued locale provides a UTF-8 <code>codecvt</code> 
-facet. [<i>Rationale:</i> "All BSD system functions expect their string 
-parameters to be in UTF-8 encoding and nothing else." See
-<a href="http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPInternational/Articles/FileEncodings.html">
-Apple docs</a>. <i>-- end rationale</i>]</p>
-<p>For Windows-like implementations, including 
-  <a href="http://www.cygwin.com/">Cygwin</a> and
-<a href="http://www.mingw.org/">MinGW</a>, <code>path::value_type</code> is <code>
-wchar_t</code>. The default imbued locale provides a <code>codecvt</code> facet 
-that invokes Windows <code>MultiByteToWideChar</code> or <code>
-WideCharToMultiByte</code> API's with a codepage of <code>CP_THREAD_ACP</code> 
-if Windows <code>AreFileApisANSI()</code>is true, otherwise codepage <code>
-CP_OEMCP</code>. [<i>Rationale:</i> this is the current behavior of C and C++ 
-programs that perform file operations using narrow character string to identify 
-paths. Changing this in the Filesystem library would be too surprising, 
-particularly where user input is involved. <i>-- end rationale</i>]</p>
-<p>For all other implementations, including<b> </b>Linux, <code>path::value_type</code> 
-is <code>char</code>. The default imbued locale is <code>std::locale("")</code>. 
-[<i>Rationale:</i> ISO C specifies this as "the locale-specific native 
-environment", while POSIX says it "Specifies an implementation-defined native 
-environment." <i>-- end rationale</i></p>
-</blockquote>
-<p>For member functions described as returning <code>const string</code>, <code>
-const wstring</code>, <code>const u16string</code>, or <code>const u32string</code>, 
-implementations are permitted to return <code>const string&</code>, <code>const 
-wstring&</code>, <code>const u16string&</code>, or <code>const u32string&</code>, 
-respectively.</p>
-<blockquote>
-<p>[<i>Note:</i> This allows implementations to avoid unnecessary copies when no 
-conversion is required. 
-Return-by-value is specified as
-<code>const</code> to ensure programs won't break if moved to a return-by-reference 
-implementation. <i>-- 
-end note</i>]</p>
-</blockquote>
-<p><code><a name="InputIterator">InputIterator</a></code> is required meet the 
-requirements for a C++ standard library <code>RandomIterator</code> 
-compliant iterator. The iterator's value type is required to be <code>char</code>, <code>
-  wchar_t</code>, <code>char16_t</code>, or <code>char32_t</code>.</p>
-<p><code><a name="Source">Source</a></code> is required to be one of:</p>
-<ul>
-  <li>A container with a value type of <code>char</code>, <code>
-  wchar_t</code>, <code>char16_t</code>, or <code>char32_t</code>.</li>
-  <li>An iterator for a null terminated byte-string. The value type is required 
-  to be <code>char</code>, <code>wchar_t</code>, <code>char16_t</code>, or <code>
-  char32_t</code>.</li>
-  <li>A C-array. The value type is required to be <code>char</code>, <code>
-  wchar_t</code>, <code>char16_t</code>, or <code>char32_t</code>.</li>
-  <li>A <code>boost::filesystem::directory_entry</code>.</li>
-</ul>
-<p>The specifications for <code>path</code> functions require that 
-arguments in the generic pathname format be converted to native pathname format 
-as they are stored in <code>pathname</code>. If the native format requires 
-regular file paths and directory paths to be formatted differently, the 
-implementation shall determine which format to use according to whether or not 
-the last element of the generic format string is a separator. [<i>Example:</i> 
-On <a href="http://en.wikipedia.org/wiki/OpenVMS">OpenVMS</a>, a path 
-constructed from <code>"/cats/jane"</code> would considered a regular file 
-path, and have a native format of <code>"[CATS]JANE"</code>, while a 
-path constructed from <code>"/cats/jane/"</code> would be considered a 
-directory path, and have a native format of <code>"[CATS.JANE]"</code>.
-<i>--end example</i>] [<i>Note</i>: POSIX and Windows use the same native format 
-for both regular file and directory pathnames, so this paragraph does not apply to 
-them. <i>--end note</i>]</p>
-
-<table align="center" border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-  <tr>
-    <td style="font-size: 10pt">
-    Class <code>path</code> does not currently map invalid characters in 
-    filenames to valid characters. In the future we might add something like 
-    this:<blockquote>
-<p>When converting filenames to the native operating system format, 
-implementations are encouraged, but not required, to convert otherwise invalid 
-characters or character sequences to valid characters or character sequences. 
-Such conversions are implementation-defined.</p>
-<blockquote>
-<p>[<i>Note:</i> Filename conversion allows much wider portability of both 
-programs and filenames that would otherwise be possible.</p>
-<p>Implementations are encouraged to base conversion on existing standards or 
-practice. Examples include the Uniform Resource Locator escape syntax of a percent sign (<code>'%'</code>) 
-followed by two hex digits representing the character value. On
-<i>OpenVMS</i>, which does not allow percent signs in filenames, a dollar sign (<code>'$'</code>) 
-followed by two hex digits is the existing practice, as is converting lowercase 
-letters to uppercase.<i> -- end note.</i>]</p>
-</blockquote>
-    </blockquote>
-    </td>
-  </tr>
-</table>
-
-<h3> <a name="path-constructors"> <code>
-<font size="4">path</font></code> constructors</a></h3>
-<pre><span style="background-color: #D7EEFF">path();</span></pre>
-<blockquote>
-  <p><i>Postcondition:</i> <code>empty()</code>.</p>
-  </blockquote>
-<pre>template <class <a href="#Source">Source</a>>
-  path(Source const& source, const codecvt_type& cvt=codecvt());</pre>
-<pre>template <class <a href="#InputIterator">InputIterator</a>>
-  path(InputIterator begin, InputIterator end, const codecvt_type& cvt=codecvt());</pre>
-<blockquote>
-  <p><i>Effects:</i> Stores the contents [<code>begin</code>,<code>end</code>) 
-  or <code>source</code> in <code>pathname</code>. If the contents are in the 
-  generic format and the generic format is unacceptable to the operating 
-  system's API, they are converted to the native format. [<i>Note:</i> For 
-  POSIX and Windows  implementations, the generic format is already 
-  acceptable as a native format, so no generic to native conversion is 
-  performed. <i>--end note</i>]</p>
-  <p>
-  <i>Remarks:</i> If the value type of  [<code>begin</code>,<code>end</code>) 
-  or <code>source</code> is not <code>value_type</code>, conversion is performed 
-  by <code>cvt</code>.</p>
-</blockquote>
-<h3> <a name="path-assignments"> <code>
-<font size="4">path</font></code> assignments</a></h3>
-<pre>template <class <a href="#Source">Source</a>>
-  path& operator=(Source const& source);</pre>
-<pre>template <class <a href="#Source">Source</a>>
-  path& assign(Source const& source, const codecvt_type& cvt);</pre>
-<pre>template <class <a href="#InputIterator">InputIterator</a>>
-  path& assign(InputIterator begin, InputIterator end, const codecvt_type& cvt=codecvt());</pre>
-<blockquote>
-  <p><i>Effects:</i> Stores the contents [<code>begin</code>,<code>end</code>) 
-  or <code>source</code> in <code>pathname</code>. If the contents are in the 
-  generic format, they are converted to the native format. [<i>Note:</i> For 
-  POSIX and Windows based implementations, the generic format is already 
-  acceptable as a native format, so no generic to native conversion is 
-  performed. <i>--end note</i>]</p>
-  <p>
-  <i>Returns: </i><code>*this</code></p>
-  <p>
-  <i>Remarks:</i> If the value type of  [<code>begin</code>,<code>end</code>) 
-  or <code>source</code> is not <code>value_type</code>, conversion is performed 
-  by <code>cvt</code>.</p>
-  </blockquote>
-<h3> <a name="path-appends"><code><font size="4"> path</font></code> appends</a></h3>
-  <p>The append operations use <code>operator/=</code> to denote their semantic 
-  effect of appending the platform's preferred directory separator when needed. The 
-  preferred 
-  directory separator is implementation-defined.</p>
-<blockquote>
-    <p align="left">[<i>Note: </i>For POSIX-like implementations, including<b> </b>
-    Unix variants, Linux, and Mac OS X, the preferred directory separator is a 
-    single forward slash.</p>
-    <p align="left">For Windows-like implementations, including 
-  <a href="http://www.cygwin.com/">Cygwin</a> and
-    <a href="http://www.mingw.org/">MinGW</a>, the preferred directory 
-    separator is a single backslash.<i>--end note</i>]</p>
-      </blockquote>
-<pre>path& operator/=(const path& p);</pre>
-<blockquote>
-  <p><i>Effects:</i></p>
-  <blockquote>
-    Appends the preferred directory separator to the contained pathname, unless:<ul>
-    <li>an added separator 
-    would be redundant, or</li>
-    <li>would change an relative path to an absolute path, or</li>
-    <li><code>p.empty()</code>, or</li>
-    <li><code>*p.native().cbegin()</code> is a directory separator.</li>
-  </ul>
-    <p>Appends <code>p.native()</code> to <code>pathname</code>.</p>
-  </blockquote>
-  <p><i>Returns: </i><code>*this</code></p>
-</blockquote>
-<pre>template <class <a href="#Source">Source</a>>
-  path& operator/=(Source const & source);</pre>
-<pre>template <class <a href="#Source">Source</a>>
-  path& append(Source const & source, const codecvt_type& cvt);</pre>
-<pre>template <class <a href="#InputIterator">InputIterator</a>>
-  path& append(InputIterator begin, InputIterator end, const codecvt_type& cvt=codecvt());</pre>
-<blockquote>
-  <p><i>Effects:</i></p>
-  <blockquote>
-    <p>Appends a native directory separator to the contained pathname, unless:</p>
-    <ul>
-    <li>an added separator 
-    would be redundant, or</li>
-    <li>would change an relative path to an absoute path, or</li>
-    <li><code>p.empty()</code>, or</li>
-    <li><code>*p.native().cbegin()</code> is a separator.</li>
-  </ul>
-    <p>Appends the contents [<code>begin</code>,<code>end</code>) 
-  or <code>source</code> to <code>pathname</code>. If the contents are in the 
-    generic format, they are converted to the native format. [<i>Note:</i> For 
-    POSIX and Windows based implementations, the generic format is already 
-    acceptable as a native format, so no generic to native conversion is 
-    performed. <i>--end note</i>]</p>
-  </blockquote>
-  <p><i>Remarks:</i> If the value type of  [<code>begin</code>,<code>end</code>) 
-  or <code>source</code> is not <code>value_type</code>, conversion is performed 
-  by <code>cvt</code>.</p>
-  <p><i>Returns: </i><code>*this</code></p>
-  </blockquote>
-  
-<h3> <a name="path-modifiers"> <code>
-<font size="4">path</font></code> modifiers</a></h3>
-<pre>void <a name="path-clear">clear</a>();</pre>
-<blockquote>
-<p><i>Postcondition:</i> <code>this->empty()</code> is true.</p>
-</blockquote>
-<pre>path& <a name="path-make_preferred">make_preferred</a>();</pre>
-<blockquote>
-  <p><i>Effects:</i> The contained pathname is converted to the preferred native 
-  format. [<i>Note:</i> On Windows, the effect is to replace slashes with 
-  backslashes. On POSIX, there is no effect. <i>-- end note</i>]</p>
-  <p><i>Returns:</i> <code>*this</code></p>
-</blockquote>
-
-<pre>path& <a name="path-remove_filename">remove_filename</a>();</pre>
-<blockquote>
-  <p><i>Returns: </i>As if, <code>*this = parent_path();</code></p>
-  <p>[<i>Note:</i> This function is needed to efficiently implement <code>
-  directory_iterator</code>. It is exposed to allow additional uses. The actual 
-  implementation may be much more efficient than <code>*this = parent_path()</code>  <i>-- end 
-  note</i>]</p>
-</blockquote>
-<pre>path& <a name="path-replace_extension">replace_extension</a>(const path& new_extension = path());</pre>
-<blockquote>
-  <p><i>Postcondition: </i> <code>extension() == <i>replacement</i></code>, 
-  where <code><i>replacement</i></code> is <code>new_extension</code> if <code>
-  new_extension.empty() || new_extension[0] ==</code> the dot character, 
-  otherwise <code><i>replacement</i></code> is the dot character followed by
-  <code>new_extension</code>.</p>
-  <p><i>Returns:</i> <code>*this</code></p>
-</blockquote>
-<pre><code>void <a name="path-swap">swap</a>(path& rhs);</code></pre>
-<blockquote>
-  <p><i>Effects:</i> 
-  Swaps the contents of the two paths.</p>
-  <p><i>Throws: </i>
-  nothing.</p>
-  <p><i>Complexity: </i>
-  constant time.</p>
-</blockquote>
-
-<h3> <a name="path-native-format-observers"><code><font size="4">path</font></code> 
-native format observers</a></h3>
-<p>The string returned by all native format observers is in the
-<a href="#native-pathname-format">native pathname format</a>.</p>
-<pre>const string_type&  <a name="native">native</a>() const;</pre>
-<blockquote>
-<p><i>Returns:</i> <code>pathname</code>.</p>
-<p><i>Throws:</i> nothing.</p>
-</blockquote>
-<pre>const value_type* <a name="c_str">c_str</a>() const;</pre>
-<blockquote>
-<p><i>Returns:</i> <code>pathname.c_str()</code>.</p>
-<p><i>Throws:</i> nothing.</p>
-</blockquote>
-<pre>template <class String>
-String <a name="string-template">string</a>(const codecvt_type& cvt=codecvt()) const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>pathname</code>.</p>
-<p><i>Remarks:</i> If <code>string_type</code> is a different type than <code>
-String</code>, conversion is performed by <code>cvt</code>.</p>
-</blockquote>
-<pre>const string <a name="string">string</a>(const codecvt_type& cvt=codecvt()) const;
-const wstring <a name="wstring">wstring</a>(const codecvt_type& cvt=codecvt()) const;
-const u16string <a name="u16string">u16string</a>() const;
-const u32wstring <a name="u32wstring">u32wstring</a>() const; </pre>
-<blockquote>
-<p><i>Returns:</i> <code>pathname</code>.</p>
-<p><i>Remarks:</i> If <code>string_type</code> is a different type than 
-function's return type, conversion is performed by <code>cvt</code>.</p>
-<p>If <code>string_type</code> is the same type as the 
-function's return type, the function is permitted to return by <code>const&</code> 
-rather than <code>const</code> value. [<i>Note:</i> For POSIX, this occurs for
-<code>string()</code>, for Windows, <code>wstring()</code>. <i>--end note</i>]</p>
-</blockquote>
-
-<h3> <a name="path-generic-format-observers"><code><font size="4">path</font></code>
-generic format observers</a></h3>
-<p>The string returned by all generic format observers is in the
-<a href="#generic-pathname-format">generic pathname format</a>.</p>
-<p>[<i>Note:</i> For POSIX, no conversion occurs, since the native format and 
-generic format are the same. For Windows, backslashes are converted to slashes
-<i>--end note</i>]</p>
-<pre>template <class String>
-String <a name="generic_string-template">generic_string</a>(const codecvt_type& cvt=codecvt()) const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>pathname</code>.</p>
-<p><i>Remarks:</i> If <code>string_type</code> is a different type than <code>
-String</code>, conversion is performed by
-<code>cvt</code>.</p>
-</blockquote>
-<pre>const string <a name="generic_string">generic_string</a>(const codecvt_type& cvt=codecvt()) const;
-const wstring <a name="generic_wstring">generic_wstring</a>(const codecvt_type& cvt=codecvt()) const;
-const u16string <a name="generic_u16string">generic_u16string</a>() const;
-const u32wstring <a name="generic_u32wstring">generic_u32wstring</a>() const; </pre>
-<blockquote>
-<p><i>Returns:</i> <code>pathname</code>.</p>
-<p><i>Remarks:</i>  If <code>string_type</code> is a different type than 
-function's return type, conversion is performed by <code>cvt</code>.</p>
-<p>If <code>string_type</code> is of the same type as the 
-function's return type, and the generic format is the same as the native format, 
-the function is permitted to return by <code>const&</code> rather than <code>
-const</code> value. [<i>Note:</i> For POSIX, this occurs for <code>string()</code>. 
-It never occurs for Windows, because backslashes must be converted to slashes.
-<i>--end note</i>]</p>
-</blockquote>
-
-<h3> <a name="path-decomposition"> <code><font size="4">path</font></code> 
-decomposition</a></h3>
-<p><span style="background-color: #E0E0E0"><i>See the
-<a href="#Path-decomposition-table">Path decomposition table</a> for examples 
-for values returned by decomposition functions. The
-<a href="tutorial.html#Using-path-decomposition">Tutorial</a> may also be 
-helpful.</i></span></p>
-<pre>path <a name="path-root_name">root_name</a>() const;</pre>
-<blockquote>
-<p><i>Returns:</i> <i>root-name,</i> if <code>pathname</code> includes <i>
-root-name</i>, otherwise <code>path()</code>. </p>
-</blockquote>
-<pre>path <a name="path-root_directory">root_directory</a>() const;</pre>
-<blockquote>
-<p><i>Returns:</i> <i>root-directory</i>, if <code>pathname</code> includes <i>
-root-directory</i>, otherwise <code>path()</code>.</p>
-<p>If <i>root-directory</i> is composed of <i>slash name</i>, <i>slash</i> is 
-excluded from the returned string.</p>
-</blockquote>
-<pre>path <a name="path-root_path">root_path</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>root_name() / root_directory()</code></p>
-</blockquote>
-<pre>path <a name="path-relative_path">relative_path</a>() const;</pre>
-<blockquote>
-<p><i>Returns:</i> A <code>path</code> composed from <code>pathname</code>, if <code>
-!empty()</code>, beginning 
-with the first <i>filename</i> after <i>root-path</i>. Otherwise, <code>path()</code>.</p>
-</blockquote>
-<pre>path <a name="path-parent_path">parent_path</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>(empty() || begin() == --end()) ? path() : <i>pp</i></code>, where
-  <code><i>pp</i></code> is constructed as if by 
-  starting with an empty <code>path</code> and successively applying <code>
-  operator/=</code> for each element in the range <code>begin()</code>, <code>
-  --end()</code>.</p>
-</blockquote>
-<pre>path <a name="path-filename">filename</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>empty() ? path() : *--end()</code></p>
-  <p>[<i>Example:</i></p>
-  <blockquote>
-    <pre><code>std::cout << path("/foo/bar.txt").filename();</code> // outputs "<code>bar.txt</code>"</pre>
-  </blockquote>
-  <p> <i>--end example</i>]</p>
-</blockquote>
-<pre>path <a name="path-stem">stem</a>(const path& p) const;</pre>
-<blockquote>
-  <p><i>Returns:</i> if <code>p.filename()</code>contains a dot but does not 
-  consist solely of one or to two dots, returns 
-  the substring of <code>p.filename()</code> starting at its beginning and 
-  ending at the last dot (the dot is not included). Otherwise, 
-  returns <code>
-  p.filename()</code>.</p>
-  <p>[<i>Example:</i></p>
-  <blockquote>
-    <pre><code>std::cout << path("/foo/bar.txt").stem();</code> // outputs "<code>bar</code>"
-path p = "foo.bar.baz.tar";
-for (; !p.extension().empty(); p = p.stem())
-  std::cout << p.extension() << '\n';
-  // outputs: .tar
-  //          .baz
-  //          .bar</pre>
-  </blockquote>
-  <p> <i>--end example</i>]</p>
-</blockquote>
-<pre>path <a name="path-extension">extension</a>(const path& p) const;</pre>
-<blockquote>
-  <p><i>Returns:</i> if <code>p.filename()</code> contains a dot but does not 
-  consist solely of one or to two dots, returns 
-  the substring of <code>p.filename()</code> starting at the rightmost dot 
-  and ending at the path's end. Otherwise, returns an empty <code>path</code> 
-  object. </p>
-  <p><i>Remarks:</i> Implementations are permitted but not required to define additional 
-  behavior for file systems which append additional elements to extensions, such 
-  as alternate data streams or partitioned dataset names.</p>
-  <p>[<i>Example:</i></p>
-  <blockquote>
-    <pre><code>std::cout << path("/foo/bar.txt").extension(); //</code> outputs "<code>.txt</code>"</pre>
-  </blockquote>
-  <p> <i>--end example</i>]</p>
-  <p>[<i>Note:<b> </b></i>The dot is included in the return value so that 
-  it is possible to distinguish between no extension and an empty extension. See
-  <a href="http://permalink.gmane.org/gmane.comp.lib.boost.devel/199744">
-  http://permalink.gmane.org/gmane.comp.lib.boost.devel/199744</a> for more 
-  extensive rationale.  <i>-- end note</i>]</p>
-</blockquote>
-<h3> <a name="path-query"> <code><font size="4">path</font></code> query</a></h3>
-<pre>bool <a name="path-empty">empty</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>m_pathname.empty()</code>.</p>
-</blockquote>
-<pre>bool <a name="path-has_root_path">has_root_path</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!<a href="#path-root_path">root_path</a>().empty()</code></p>
-</blockquote>
-<pre>bool <a name="path-has_root_name">has_root_name</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!<a href="#path-root_name">root_name</a>().empty()</code></p>
-</blockquote>
-<pre>bool <a name="path-has_root_directory">has_root_directory</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!<a href="#path-root_directory">root_directory</a>().empty()</code></p>
-</blockquote>
-<pre>bool <a name="path-has_relative_path">has_relative_path</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!<a href="#path-has_relative_path">relative_path</a>().empty()</code></p>
-</blockquote>
-<pre>bool <a name="path-has_parent_path">has_parent_path</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!<a href="#path-parent_path">parent_path</a>().empty()</code></p>
-</blockquote>
-<pre>bool <a name="path-has_filename">has_filename</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!<a href="#path-filename">filename</a>().empty()</code></p>
-</blockquote>
-<pre>bool <a name="path-has_stem">has_stem</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!<a href="#path-stem">stem</a>().empty()</code></p>
-</blockquote>
-<pre>bool <a name="path-has_extension">has_extension</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!<a href="#path-has_extension">extension</a>().empty()</code></p>
-</blockquote>
-<pre>bool <a name="path-is_absolute">is_absolute</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>true</code> 
-  if the elements of <code>root_path()</code> uniquely identify a directory, else <code>false</code>.</p>
-  <p>[<i>Note:</i> On POSIX,<code> 
-  path("/foo").is_absolute()</code> returns <code>true</code>. On Windows, <code>
-  path("/foo").is_absolute()</code> returns <code>false</code>. <i>--end note</i>]</p>
-</blockquote>
-<pre>bool <a name="path-is_relative">is_relative</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!is_absolute()</code>.</p>
-</blockquote>
-<h3> <a name="path-iterators"> <code>
-<font size="4">path</font></code> iterators</a></h3>
-<p> A <code>path::iterator</code> is a constant iterator satisfying all 
-the requirements of a bidirectional iterator (C++ Std, 24.1.4 Bidirectional 
-iterators [lib.bidirectional.iterators]). Its <code>value_type</code> is <code>
-path</code>.</p>
-  <p>Calling any non-const member function of a <code>path</code> object 
-  invalidates all iterators referring to elements of that object.</p>
-<p> The forward traversal order is as follows:</p>
-<ul>
-  <li>The <i>root-name</i> element, if present.</li>
-  <li>The <i>root-directory</i> element, if present.</li>
-  <li>Each successive <i>filename</i> element, if present.</li>
-  <li><i>Dot</i>, if one or more trailing non-root <i>slash</i> 
-  characters are present.</li>
-</ul>
-  <p>The backward traversal order is the reverse of forward traversal.</p>
-  <pre>iterator begin() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> An iterator for the first present element in the traversal 
-  list above. If no elements are present, the end iterator.</p>
-</blockquote>
-<pre>iterator end() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> The end iterator.</p>
-</blockquote>
- <h3><a name="path_encoding"><code><font size="4"> path</font></code> encoding</a> conversion</h3>
- <pre>static std::locale <a name="path-imbue">imbue</a>(const std::locale& loc);</pre>
-<blockquote>
-  <p><i>Effects:</i> Stores <code>loc</code> as the default locale for all 
-  objects of type <code>path</code>.</p>
-  <p><i>Returns:</i> The previous default locale for all objects of type <code>
-  path</code>.</p>
-</blockquote>
-<pre>static const codecvt_type& <a name="path-codecvt">codecvt</a>();</pre>
-<blockquote>
-  <p><i>Returns:</i> The <code>codecvt</code> facet for the default locale for 
-  all objects of type <code>path</code>.</p>
-</blockquote>
-<h3> <a name="path-deprecated-functions"><code><font size="4"> path</font></code> deprecated functions</a></h3>
-<p> Several member functions from previous versions of <code>class path</code> 
-have been deprecated, either because they have been renamed or because the 
-functionality is no longer desirable or has become obsolete.</p>
-<p> Deprecated functions available by default; will be suppressed if <code>
-BOOST_FILESYSTEM_NO_DEPRECATED</code> is defined:</p>
-<blockquote>
-  <pre>path&  remove_leaf()           { return remove_filename(); }
-path   leaf() const            { return filename(); }
-path   branch_path() const     { return parent_path(); }
-bool   has_leaf() const        { return !m_path.empty(); }
-bool   has_branch_path() const { return !parent_path().empty(); }</pre>
-</blockquote>
-<p> Deprecated functions not available by default; will be supplied if <code>
-BOOST_FILESYSTEM_DEPRECATED</code> is defined:</p>
-<blockquote>
-  <pre>const std::string  file_string() const               { return native_string(); }
-const std::string  directory_string() const          { return native_string(); }
-const std::string  native_file_string() const        { return native_string(); }
-const std::string  native_directory_string() const   { return native_string(); }
-const string_type  external_file_string() const      { return native(); }
-const string_type  external_directory_string() const { return native(); }</pre>
-</blockquote>
-<h3> <a name="path-non-member-functions"> <code><font size="4">path</font></code>
-non-member functions</a></h3>
-<pre>void swap( path& lhs, path& rhs )</pre>
-<blockquote>
-  <p><i>Effects: </i><code>
-  lhs.swap(rhs)</code>.</p>
-</blockquote>
-  <pre>bool lexicographical_compare(path::iterator first1, path::iterator last1,
-                             path::iterator first2, path::iterator last2)</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>true</code> if the sequence of <code>native()</code> 
-  strings for the elements defined by the range <code>[first1,last1)</code> is 
-  lexicographically less than the sequence of <code>native()</code> strings for 
-  the elements defined by the range <code>[first2,last2)</code>. Returns <code>
-  false</code> otherwise.</p>
-  <p><i>Remarks:</i> If two sequences have the same number of elements and their 
-  corresponding elements are equivalent, then neither sequence is 
-  lexicographically less than the other. If one sequence is a prefix of the 
-  other, then the shorter sequence is lexicographically less than the longer 
-  sequence. Otherwise, the lexicographical comparison of the sequences yields 
-  the same result as the comparison of the first corresponding pair of elements 
-  that are not equivalent.</p>
-  <pre>  for ( ; first1 != last1 && first2 != last2 ; ++first1, ++first2) {
-    if (first1->native() < first2->native()) return true;
-    if (first2->native() < first1->native()) return false;
-  }
-  return first1 == last1 && first2 != last2;</pre>
-  <p>[<i>Note:</i> A <code>path</code> aware<code> lexicographical_compare</code> 
-  is provided to avoid infinite recursion in <code>std::lexicographical_compare</code> 
-  due to the <code>path</code> iterator's value type itself being <code>path</code>.
-  <i>--end note</i>]</p>
-</blockquote>
-<pre>std::size_t <a name="hash_value">hash_value</a> (const path& p);</pre>
-<blockquote>
-  <p><i>Returns:</i> A hash value for the path <code>p</code>. If
-  for two paths, <code>p1 == p2</code> then
-  <code>hash_value(p1) == hash_value(p2)</code>.</p>
-  <p>This allows paths to be used with
-  <a href="../../../functional/hash/index.html">Boost.Hash</a>.</p>
-</blockquote>
-<pre>bool operator< (const path& lhs, const path& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>return lexicographical_compare(lhs.begin(), lhs.end(), 
-  rhs.begin(), rhs.end())</code>.</p>
-</blockquote>
-<pre>bool operator<=(const path& lhs, const path& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!(rhs < lhs)</code>.</p>
-</blockquote>
-<pre>bool operator> (const path& lhs, const path& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>rhs < lhs</code>.</p>
-</blockquote>
-<pre>bool operator>=(const path& lhs, const path& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!(lhs < rhs)</code>.</p>
-</blockquote>
-<pre>bool operator==(const path& lhs, const path& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!(lhs < rhs) && !(rhs < lhs)</code>.</p>
-  <p>[<i>Note:</i> Actual implementations may use an equivalent, but more 
-  efficient, algorithm. <i>--end note</i>]</p>
-  <p>[<i>Note:</i> <a name="Path-equality">Path equality</a> and path 
-  equivalence have different semantics.</p>
-  <p>Equality is determined by the <code>path</code> 
-  non-member <code>operator==</code>, which considers the two path's lexical 
-  representations only. Thus <code>path("foo") == "bar"</code> is never 
-  <code>true</code>.</p>
-  <p>Equivalence is determined by the <a href="#equivalent"><code>equivalent()</code></a> 
-  non-member function, which determines if two paths <a href="#Path">resolve</a> to the same file system entity. 
-  Thus <code>equivalent("foo", "bar")</code> will be <code>true</code> 
-  when both paths resolve to the same file.</p>
-  <p>Programmers wishing to determine if two paths are "the same" must decide if 
-  "the same" means "the same representation" or "resolve to the same actual 
-  file", and choose the appropriate function accordingly. <i>
-  -- end note</i>]</p>
-</blockquote>
-<pre>bool operator!=(const path& lhs, const path& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>!(lhs == rhs)</code>.</p>
-</blockquote>
-<pre>path operator/ (const path& lhs, const path& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>path(lhs) /= rhs</code>.</p>
-</blockquote>
-<h3> <a name="path-non-member-operators"><code><font size="4">path</font></code></a><a name="path-inserter-extractor"> inserter 
-  and extractor</a></h3>
-<p> The inserter and extractor delimit the string with double-quotes (<code>"</code>) 
-to ensure that paths with embedded spaces will round trip correctly. Ampersand (<code>&</code>) 
-is used as an escape character, so the path can itself contain double quotes.</p>
-<pre>template <class Char, class Traits>
-std::basic_ostream<Char, Traits>& operator<<(std::basic_ostream<Char, Traits>& os,
-                                             const path& p)
-</pre>
-<blockquote>
-  <p><i>Effects:</i> 
-  <code>os << <a href="../../../io/doc/quoted_manip.html">
-  boost::io::quoted</a>(p.string<std::basic_string<Char>>(), static_cast<Char>('&'));</code></p>
-  <p><i>Returns:</i>
-   <code>os</code></p>
-</blockquote>
-<pre>template <class Char, class Traits>
-inline std::basic_istream<Char, Traits>& operator>>(std::basic_istream<Char, Traits>& is,
-                                                    path& p)
-</pre>
-<blockquote>
-  <p><i>Effects:  </i>
-      <code> std::basic_string<Char> str;<br>
-        is >>
-  <a href="../../../io/doc/quoted_manip.html">boost::io::quoted</a>(str, 
-  static_cast<Char>('&'));<br>
-        p = str;</code></p>
-  <p><i>Returns:</i>
-   <code>is</code></p>
-  </blockquote>
-<h3><a name="Class-filesystem_error">Class <code>filesystem_error</code></a></h3>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      class basic_filesystem_error : public system_error
-      {
-      public:
-        filesystem_error();
-        filesystem_error(const filesystem_error&);
-        <a href="#filesystem_error-2-arg">filesystem_error</a>(const std::string& what_arg,
-          system::error_code ec);
-        <a href="#filesystem_error-3-arg">filesystem_error</a>(const std::string& what_arg,
-          const path& p1, system::error_code ec);
-        <a href="#filesystem_error-4-arg">filesystem_error</a>(const std::string& what_arg,
-          const path& p1, const path& p2, system::error_code ec);
-
-        filesystem_error& filesystem_error(const filesystem_error&);
-       ~filesystem_error();
-
-        filesystem_error& operator=(const filesystem_error&);
-
-        const path& <a href="#filesystem_error-path1">path1</a>() const;
-        const path& <a href="#filesystem_error-path2">path2</a>() const;
-
-        const char * <a href="#filesystem_error-what">what</a>() const;
-      };
-    } // namespace filesystem
-  } // namespace boost</pre>
-<p>The class template <code>basic_filesystem_error</code> defines the type of 
-objects thrown as exceptions to report file system errors from functions described in this 
-clause.</p>
-<h4> <a name="filesystem_error-members"> <code>filesystem_error</code> members</a></h4>
-<pre><a name="filesystem_error-2-arg">filesystem_error</a>(const std::string& what_arg, error_code ec);</pre>
-<blockquote>
-  <p><i>Postcondition:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="46%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%" bgcolor="#FFFFFF"><code>
-      runtime_error::what()</code></td>
-      <td width="82%" bgcolor="#FFFFFF">
-      <code><i>what_arg</i>.c_str()</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>code()</code></td>
-      <td width="82%"><code>ec</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path1().empty()</code></td>
-      <td width="82%"><code>true</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path2().empty()</code></td>
-      <td width="82%"><code>true</code></td>
-    </tr>
-  </table>
-</blockquote>
-<pre><a name="filesystem_error-3-arg">filesystem_error</a>(const std::string& what_arg, const path_type& p1, error_code ec);</pre>
-<blockquote>
-  <p><i>Postcondition:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="46%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%" valign="top"><code>
-      runtime_error::what()</code></td>
-      <td width="82%">
-      <code><i>what_arg</i>.c_str()</code></td>
-    </tr>
-    <tr>
-      <td width="18%" valign="top"><code>code()</code></td>
-      <td width="82%"><code>ec</code></td>
-    </tr>
-    <tr>
-      <td width="18%" valign="top"><code>path1()</code></td>
-      <td width="82%">Reference to stored copy of
-       <code>p1</code></td>
-    </tr>
-    <tr>
-      <td width="18%" valign="top"><code>path2().empty()</code></td>
-      <td width="82%"><code>true</code></td>
-    </tr>
-  </table>
-</blockquote>
-<pre><a name="filesystem_error-4-arg">filesystem_error</a>(const std::string& what_arg, const path_type& p1, const path_type& p2, error_code ec);</pre>
-<blockquote>
-  <p><i>Postcondition:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="46%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>
-      runtime_error::what()</code></td>
-      <td width="82%">
-      <u>
-      <code><i>w</i></code></u><code><i>hat_arg</i>.c_str()</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>code()</code></td>
-      <td width="82%"><code>ec</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path1()</code></td>
-      <td width="82%">Reference to stored copy of
-       <code>p1</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path2()</code></td>
-      <td width="82%">Reference to stored copy of
-       <code>p2</code></td>
-    </tr>
-  </table>
-</blockquote>
-<pre>const path& <a name="filesystem_error-path1">path1</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> Reference to copy of <code>p1</code> stored by the 
-  constructor, or, if none, an empty path.</p>
-</blockquote>
-<pre>const path& <a name="filesystem_error-path2">path2</a>() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> Reference to copy of <code>p2</code> stored by the 
-  constructor, or, if none, an empty path.</p>
-</blockquote>
-<pre>const char* <a name="filesystem_error-what">what</a>() const;</pre>
-<blockquote>
-  <p><i>Returns: </i>A string containing <code>runtime_error::what()</code>. The exact format is unspecified. 
-  Implementations are encouraged but not required to include <code>
-  path1.native_string()</code>if not empty, <code>path2.native_string()</code>if 
-  not empty, and <code>system_error::what()</code> strings in the returned 
-  string.</p>
-</blockquote>
-<h3><a name="Class-directory_entry">Class <code>directory_entry</code></a></h3>
-<div dir="ltr">
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      class directory_entry
-      {
-      public:
-
-        // <a href="#directory_entry-constructors">constructors</a> and destructor
-        directory_entry();
-        directory_entry(const directory_entry&);
-        explicit directory_entry(const path_type& p, file_status st=file_status(),
-          file_status symlink_st=file_status());
-       ~directory_entry(); 
-
-        // <a href="#directory_entry-modifiers">modifiers</a>
-        directory_entry& operator=(const directory_entry&);
-        void assign(const path_type& p, file_status st=file_status(),
-          file_status symlink_st=file_status());
-        void replace_filename(const path& p, file_status st=file_status(),
-          file_status symlink_st=file_status());
-
-        // <a href="#directory_entry-observers">observers</a>
-        const path&  path() const;
-        file_status  status() const;
-        file_status  status(system::error_code& ec) const;
-        file_status  symlink_status() const;
-        file_status  symlink_status(system::error_code& ec) const;
-
-        bool operator< (const directory_entry& rhs);
-        bool operator==(const directory_entry& rhs); 
-        bool operator!=(const directory_entry& rhs); 
-        bool operator< (const directory_entry& rhs);
-        bool operator<=(const directory_entry& rhs);
-        bool operator> (const directory_entry& rhs);
-        bool operator>=(const directory_entry& rhs);
-      private:
-        path_type            m_path;           // for exposition only
-        mutable file_status  m_status;         // for exposition only; stat()-like
-        mutable file_status  m_symlink_status; // for exposition only; lstat()-like
-      };
-
-    } // namespace filesystem
-  } // namespace boost</pre>
-</div>
-<p>A <code>directory_entry</code> object stores a <code>path object</code>, 
-a <code>file_status</code> object for non-symbolic link status, and a <code>
-file_status</code> object for symbolic link status. The <code>file_status</code> 
-objects act as value caches.</p>
-<blockquote>
-<p>[<i>Note:</i> Because <code>status()</code>on a pathname may be a very expensive operation, 
-some operating systems provide status information as a byproduct of directory 
-iteration. Caching such status information can result is significant time savings. Cached and 
-non-cached results may differ in the presence of race conditions. <i>-- end note</i>]</p>
-<p><span style="background-color: #E0E0E0"><i>Actual cold-boot timing of iteration over 
-a directory with 15,047 entries was six seconds for non-cached status queries 
-versus one second for cached status queries. Windows XP, 3.0 GHz processor, with 
-a moderately fast hard-drive. Similar speedups are expected on Linux and BSD-derived 
-systems that provide status as a by-product of directory iteration.</i></span></p>
-</blockquote>
-<h4> <a name="directory_entry-constructors"> <code>directory_entry </code>constructors</a></h4>
-<pre>directory_entry();</pre>
-<blockquote>
-  <p><i>Postcondition:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="36%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path().empty()</code></td>
-      <td width="82%"><code>true</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>status()</code></td>
-      <td width="82%"><code>file_status()</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>symlink_status()</code></td>
-      <td width="82%"><code>file_status()</code></td>
-    </tr>
-  </table>
-</blockquote>
-<pre>explicit directory_entry(const path_type& p, file_status st=file_status(), file_status symlink_st=file_status());</pre>
-<blockquote>
-  <p><i>Postcondition:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="36%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path()</code></td>
-      <td width="82%"><code>p</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>status()</code></td>
-      <td width="82%"><code>st</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>symlink_status()</code></td>
-      <td width="82%"><code>symlink_st</code></td>
-    </tr>
-  </table>
-</blockquote>
-<h4> <a name="directory_entry-modifiers"> <code>directory_entry </code>modifiers</a></h4>
-<pre>void assign(const path_type& p, file_status st=file_status(), file_status symlink_st=file_status());</pre>
-<blockquote>
-  <p><i>Postcondition:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="36%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path()</code></td>
-      <td width="82%"><code>p</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>status()</code></td>
-      <td width="82%"><code>st</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>symlink_status()</code></td>
-      <td width="82%"><code>symlink_st</code></td>
-    </tr>
-  </table>
-</blockquote>
-<pre>void replace_filename(const path& p, file_status st=file_status(), file_status symlink_st=file_status());</pre>
-<blockquote>
-  <p><i>Postcondition:</i></p>
-  <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="43%">
-    <tr>
-      <td width="18%"><b>Expression</b></td>
-      <td width="82%"><b>Value</b></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>path()</code></td>
-      <td width="82%"><code>path().branch() / s</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>status()</code></td>
-      <td width="82%"><code>st</code></td>
-    </tr>
-    <tr>
-      <td width="18%"><code>symlink_status()</code></td>
-      <td width="82%"><code>symlink_st</code></td>
-    </tr>
-  </table>
-</blockquote>
-<h4> <a name="directory_entry-observers"> <code>directory_entry</code> observers</a></h4>
-<pre>const path& path() const;</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>m_path</code></p>
-</blockquote>
-<pre>file_status status() const;
-file_status status(system::error_code& ec) const;</pre>
-<blockquote>
-<p><i>Effects:</i> 
-As if,</p>
-  <blockquote>
-    <pre>if ( !status_known( m_status ) )
-{
-  if ( status_known(m_symlink_status) && !is_symlink(m_symlink_status) )
-    { m_status = m_symlink_status; }
-  else { m_status = status(m_path<i>[, ec]</i>); }
-}</pre>
-  </blockquote>
-  <p><i>Returns:</i> <code>m_status</code></p>
-  
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  
-</blockquote>
-<pre>file_status  symlink_status() const;
-file_status  symlink_status(system::error_code& ec) const;</pre>
-<blockquote>
-<p>
-  <i>Effects:</i> 
-As if,</p>
-  <blockquote>
-    <pre>if ( !status_known( m_symlink_status ) )
-{
-  m_symlink_status = symlink_status(m_path<i>[, ec]</i>);
-}</pre>
-  </blockquote>
-  <p><i>Returns:</i> <code>
-  m_symlink_status</code></p>
-  
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  
-</blockquote>
-<pre>bool operator==(const directory_entry& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>m_path == 
-  rhs.m_path</code>.</p>
-</blockquote>
-<pre>bool operator!=(const directory_entry& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>m_path != 
-  rhs.m_path</code>.</p>
-</blockquote>
-<pre>bool operator< (const directory_entry& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>m_path < 
-  rhs.m_path</code>.</p>
-</blockquote>
-<pre>bool operator<=(const directory_entry& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>m_path <= 
-  rhs.m_path</code>.</p>
-</blockquote>
-<pre>bool operator> (const directory_entry& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>m_path > 
-  rhs.m_path</code>.</p>
-</blockquote>
-<pre>bool operator>=(const directory_entry& rhs);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>m_path >= 
-  rhs.m_path</code>.</p>
-</blockquote>
-<h3><a name="Class-directory_iterator">Class <code>directory_iterator</code></a></h3>
-<p>Objects of type <code>directory_iterator</code> provide standard library 
-compliant iteration over the contents of a directory. Also see class <code>
-<a href="#Class-recursive_directory_iterator">recursive_directory_iterator</a></code>.</p>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      class directory_iterator
-        : public boost::iterator_facade< directory_iterator,
-                                         <a href="#Class-directory_entry">directory_entry</a>,
-                                         boost::single_pass_traversal_tag >
-      {
-      public:
-        // <a href="#directory_iterator-members">member functions</a>
-
-        directory_iterator();  // creates the "end" iterator
-        directory_iterator(const directory_iterator&);
-        explicit directory_iterator(const path& p);
-        directory_iterator(const path& p, system::error_code& ec);
-       ~directory_iterator();
-
-        directory_iterator& operator=(const directory_iterator&);
-
-        directory_iterator& operator++();
-        directory_iterator& increment(system::error_code& ec);
-
-        // other members as required by
-        //  C++ Std, 24.1.1 Input iterators [input.iterators]
-      };
-
-    } // namespace filesystem
-  } // namespace boost</pre>
-<p> <code>directory_iterator</code> satisfies the requirements of an 
-input iterator (C++ Std, 24.2.1, Input iterators [input.iterators]).</p>
-<p>A <code>directory_iterator</code> reads successive elements from the directory for 
-which it was constructed, as if by calling <i>POSIX</i>
-<code>
-<a href="http://www.opengroup.org/onlinepubs/000095399/functions/readdir_r.html">readdir_r()</a></code>. After a <code>directory_iterator</code> is constructed, and every time 
-<code>operator++</code> is called, 
-it reads a directory element and stores information about it in a object of type <code>
-<a href="#Class-directory_entry">directory_entry</a></code>. 
-<code>operator++</code> is not equality preserving; that is, <code>i == j</code> does not imply that
-<code>++i == ++j</code>. </p>
-<blockquote>
-<p>[<i>Note:</i> The practical consequence of not preserving equality is that directory iterators 
-can only be used for single-pass algorithms. <i>--end note</i>]</p>
-</blockquote>
-<p>If the end of the directory elements is reached, the iterator becomes equal to 
-the end iterator value. The constructor <code>directory_iterator()</code> 
-with no arguments always constructs an end iterator object, which is the only 
-legitimate iterator to be used for the end condition. The result of <code>
-operator*</code> on an end iterator is not defined. For any other iterator value 
-a <code>const directory_entry&</code> is returned. The result of
-<code>operator-></code> on an end iterator is not defined. For any other iterator value a <code>const directory_entry*</code> is 
-returned. </p>
-<p>Two end iterators are always equal. An end iterator is not equal to a non-end 
-iterator.</p>
-<blockquote>
-<p><i><span style="background-color: #E0E0E0">The above wording is based on the 
-Standard Library's istream_iterator wording.</span></i></p>
-</blockquote>
-<p>The result of calling the <code>path()</code> member of the <code>
-directory_entry</code> object obtained by dereferencing a <code>
-directory_iterator</code> is a reference to a <code>path</code> 
-object composed of the directory argument from which the iterator was 
-constructed with filename of the directory entry appended as if by <code>
-operator/=</code>. </p>
-<p>Directory iteration shall not yield directory entries for the current (<i>dot</i>) 
-and parent (<i>dot dot</i>) directories.</p>
-<p>The order of directory entries obtained by dereferencing successive 
-increments of a <code>directory_iterator</code> is unspecified.</p>
-<blockquote>
-<p>[<i>Note:</i> Programs performing directory iteration may wish to test if the 
-path obtained by dereferencing a directory iterator actually exists. It could be 
-a
-symbolic link to a non-existent file. Programs recursively 
-walking directory trees for purposes of removing and renaming entries may wish 
-to avoid following symbolic links.</p>
-<p>If a file  is removed from or added to a directory after the 
-construction of a <code>directory_iterator</code> for the directory, it is 
-unspecified whether or not subsequent incrementing of the iterator will ever 
-result in an iterator whose value is the removed or added directory entry. See
-<i>POSIX</i>
-<code>
-<a href="http://www.opengroup.org/onlinepubs/000095399/functions/readdir_r.html">readdir_r()</a></code>. <i>
---end note</i>]</p>
-</blockquote>
-<h4><a name="directory_iterator-members"><code>directory_iterator</code> members</a></h4>
-
-<p><code><a name="directory_iterator-default-ctor">directory_iterator</a>();</code></p>
-
-<blockquote>
-
-<p><i>Effects:</i> Constructs the end iterator.</p>
-
-<p><i>Throws:</i> Nothing.</p>
-
-</blockquote>
-
-<pre><code>explicit <a name="directory_iterator-ctor-path">directory_iterator</a>(</code>const path& p<code>);
-directory_iterator(</code>const path& p, system::error_code& ec<code>);</code></pre>
-<blockquote>
-
-<p><i>Effects:</i> Constructs a iterator representing the first 
-entry in the directory <code>p</code> resolves to, if any; otherwise, the end iterator.</p>
-
-<p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-
-<p>[<i>Note:</i> To iterate over the current directory, use <code>
-directory_iterator(".")</code> rather than <code>directory_iterator("")</code>.
-<i>-- end note</i>]</p>
-</blockquote>
-<pre>directory_iterator& <a name="directory_iterator-increment">operator++</a>();
-directory_iterator& increment(system::error_code& ec);</pre>
-<blockquote>
-
-<p><i>Effects:</i> As specified by the C++ Standard, 24.1.1 Input iterators [input.iterators]</p>
-
-<p><i>Returns:</i> <code>*this</code>.</p>
-
-<p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-
-</blockquote>
-<h3><a name="Class-recursive_directory_iterator">Class <code>recursive_directory_iterator</code></a></h3>
-<p>Objects of type <code>recursive_directory_iterator</code> provide standard library 
-compliant iteration over the contents of a directory, including recursion into 
-its sub-directories.</p>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      class recursive_directory_iterator :
-        public iterator<input_iterator_tag, directory_entry>
-      {
-      public:
-
-        // constructors and destructor
-        recursive_directory_iterator();
-        recursive_directory_iterator(const recursive_directory_iterator&);
-        explicit recursive_directory_iterator(const path& p,
-          BOOST_SCOPED_ENUM(<a href="#symlink_option">symlink_option</a>) opt = symlink_option::none);
-        recursive_directory_iterator(const path& p,
-          BOOST_SCOPED_ENUM(<a href="#symlink_option">symlink_option</a>) opt, system::error_code& ec);
-        recursive_directory_iterator(const path& p, system::error_code& ec);
-       ~recursive_directory_iterator();
-
-        // observers
-        int level() const;
-        bool no_push<code>_pending</code>() const;
-
-        // modifiers
-        recursive_directory_iterator& operator=(const recursive_directory_iterator&);
-
-        recursive_directory_iterator& operator++();
-        recursive_directory_iterator& increment(system::error_code& ec);
-
-        void pop();
-        void no_push(bool value=true);
-
-        // other members as required by
-        //  C++ Std, 24.1.2 Input iterators [input.iterators]
-
-      private:
-<i><b>        // actual data members will probably be stored in a shared pimpl object,
-        // or some similar mechanism, to achieve the required input iterator copy semantics
-</b></i>        int  m_level; <b><i>                                // for exposition only</i></b>
-        bool m_no_<code>push</code>;  <i><b>                             // for exposition only
-        </b></i>BOOST_SCOPED_ENUM(<a href="#symlink_option">symlink_option</a>) m_options;  <i><b>// for exposition only</b></i>
-      };
-
-    } // namespace filesystem
-  } // namespace boost</pre>
-
-<p>The behavior of a <code>recursive_directory_iterator</code> is the same 
-as a <code>directory_iterator</code> unless otherwise specified.</p>
-<ul>
-  <li>Incrementing a <code>recursive_directory_iterator</code> pointing to a 
-  directory causes that directory itself to be iterated ovee, as specified by 
-  the <code>operator++</code> and <code>increment</code> functions.<br>
- </li>
-  <li>When a <code>recursive_directory_iterator</code> reaches the end of the directory currently being iterated 
-  over, or when <code>pop()</code> is called, <code>m_level</code> is 
-  decremented, and iteration of the parent directory continues.</li>
-</ul>
-<pre>recursive_directory_iterator();</pre>
-<blockquote>
-
-<p><i>Effects:</i> Constructs the end iterator.</p>
-
-<p><i>Throws:</i> Nothing.</p>
-
-</blockquote>
-
-<pre>explicit recursive_directory_iterator(const path& p, BOOST_SCOPED_ENUM(<a href="#symlink_option">symlink_option</a>) opt = symlink_option::none);
-recursive_directory_iterator(const path& p, BOOST_SCOPED_ENUM(<a href="#symlink_option">symlink_option</a>) opt, system::error_code& ec);
-recursive_<code>directory_iterator(</code>const path& p, system::error_code& ec<code>);</code></pre>
-<blockquote>
-
-<p><i>Effects:</i>  Constructs a iterator representing the first 
-entry in the directory <code>p</code> resolves to, if any; otherwise, the end iterator.</p>
-
-<p dir="ltr"><i>Postcondition: </i>Unless the end iterator was constructed,<i> </i>
-<code>level() == 0 && no_push_pending() == false && m_options == opt</code>. 
-For the signature without a <code>symlink_option</code> argument, <code>opt</code> 
-is assumed to be <code>symlink_option::none</code>.</p>
-
-<p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-
-<p>[<i>Note:</i> To iterate over the current directory, use <code>recursive_directory_iterator(".")</code> rather than
-<code>recursive_directory_iterator("")</code>.
-<i>-- end note</i>]</p>
-
-<p>[<i>Note:</i> By default, <code>recursive_directory_iterator</code> does not 
-follow directory symlinks. To follow directory symlinks, specify <code>opt</code> 
-as <code>symlink_option::recurse</code>
-<i>-- end note</i>]</p>
-</blockquote>
-<pre>int level() const;</pre>
-<blockquote>
-  <p><i>Requires:</i> <code>*this != recursive_directory_iterator()</code>.</p>
-  <p><i>Returns:</i> <code>m_level</code>.</p>
-  <p><i>Throws:</i> Nothing.</p>
-</blockquote>
-<pre>bool <code>no_push_pending</code>() const;</pre>
-<blockquote>
-  <p><i>Requires:</i> <code>*this != recursive_directory_iterator()</code>.</p>
-  <p><i>Returns:</i> <code>m_no_push</code>.</p>
-  <p><i>Throws:</i> Nothing.</p>
-</blockquote>
-<pre><code>recursive_directory_iterator</code>& <a name="recursive_directory_iterator-increment">operator++</a>();
-recursive_directory_iterator& increment(system::error_code& ec);</pre>
-<blockquote>
-
-<p><i>Effects:</i> As specified by the C++ Standard, 24.1.1 Input iterators [input.iterators], 
-except:</p>
-
-<ul>
-  <li dir="ltr">
-
-<p dir="ltr">if <code>!no_push_pending() && is_directory(this->status()) 
-&& (!is_symlink(this->symlink_status()) || (m_options 
-& symlink_option::recurse) != 0)</code> then  <code>m_level</code> 
-is incremented and directory <code>(*this)->path()</code> is recursively iterated into.<br>
- </p>
-
-  </li>
-  <li>if there are no more directory entries at this level then <code>m_level</code> 
-is decremented and iteration of the parent directory resumes.</li>
-</ul>
-
-<p><i>Postcondition:</i> <code>no_push_pending() == false</code>.</p>
-
-<p><i>Returns:</i> <code>*this</code>.</p>
-
-<p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-
-</blockquote>
-<pre>void pop();</pre>
-<blockquote>
-  <p><i>Requires:</i> <code>*this != recursive_directory_iterator()</code>.</p>
-  <p><i>Effects:</i> If <code>level() == 0</code>, set <code>*this</code> to <code>recursive_directory_iterator()</code>. 
-  Otherwise, <code>--m_level</code>, cease iteration of the directory currently being 
-  iterated over, and continue iteration over the parent directory.</p>
-  <p><i>Throws:</i> Nothing.</p>
-</blockquote>
-<pre>void no_push(bool value=true);</pre>
-<blockquote>
-  <p><i>Requires:</i> <code>*this != recursive_directory_iterator()</code>.</p>
-<p><i>Postcondition:</i> <code>no_push_pending() == value</code>.</p>
-  <p><i>Throws:</i> Nothing.</p>
-  <p>[<i>Note:</i> <code>no_push()</code> is used to prevent 
-  unwanted recursion into a directory. <i>--end note</i>]</p>
-</blockquote>
-<h3><a name="file_status">Class file_status</a></h3>
-<pre>  namespace boost
-  {
-    namespace filesystem
-    {
-      class file_status
-      {
-      public:
-        file_status();
-        file_status(const file_status&);
-        explicit file_status(file_type v=status_error);
-       ~file_status();
-
-        <a href="#file_type">file_type</a> type() const;
-        void type(file_type v);
-      };
-    } // namespace filesystem
-  } // namespace boost</pre>
-<p>An object of type <code>file_status</code> stores information about the status of a 
-file. The internal form of the stored information is unspecified.</p>
-<blockquote>
-  <p><i>[Note: </i>The class may be extended in the future to store 
-  additional status information. <i>--end note]</i></p>
-</blockquote>
-<h4>Members</h4>
-<pre>explicit file_status(<a href="#file_type">file_type</a> v=status_error);</pre>
-<blockquote>
-  <p><i>Effects:</i> Stores <code>v</code>.</p>
-  <p><i>Throws:</i> Nothing.</p>
-</blockquote>
-<pre>file_type type() const;</pre>
-<blockquote>
-  <p><i>Returns: </i>The stored <a href="#file_type"> <code>file_type</code>.</a></p>
-</blockquote>
-<pre>void type(<a href="#file_type">file_type</a> v);</pre>
-<blockquote>
-  <p><i>Effects:</i> Stores <code>v</code>, replacing the previously stored 
-  value.</p>
-</blockquote>
-<h3><a name="Operational-functions">Operational functions</a></h3>
-<p>Operational functions query or modify files, including directories, in external 
-storage.</p>
-<p style="font-size: 10pt">Operational functions access a file by resolving an 
-object of class <code>path</code> to a particular file in a file hierarchy. The 
-path is resolved as if by the <i>POSIX</i>
-<a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap04.html#tag_04_11">
-Pathname Resolution</a> mechanism.</p>
-<p>[<i>Note: </i>Because hardware failures, network failures,
-<a href="#Race-condition">race conditions</a>, and many 
-other kinds of errors occur frequently in file system operations, users should be aware 
-that any filesystem operational function, no matter how apparently innocuous, may encounter 
-an error. See <a href="#Error-reporting">Error reporting</a>. <i>-- end note</i>]</p>
-<h4><a name="Function-specifications">Operational function specifications</a></h4>
-<pre>path <a name="absolute">absolute</a>(const path& p, const path& base=current_path());</pre>
-  <blockquote>
-  <p><i>Returns:</i> A <a href="#Absolute-path">absolute path</a> composed according to the 
-  following table</p>
-  <table border="1" cellpadding="5" cellspacing="0" bordercolor="#111111" style="border-collapse: collapse">
-    <tr>
-      <td align="center"> </td>
-      <td align="center"><b><code>p.has_root_directory()</code></b></td>
-      <td align="center"><b><code>!p.has_root_directory()</code></b></td>
-    </tr>
-    <tr>
-      <td align="center"><b><code>p.has_root_name()</code></b></td>
-      <td align="center"><code>return p</code></td>
-      <td align="center"><code>return p.root_name() / 
-      absolute(base).root_directory()<br>
-      / absolute(base).relative_path() / p.relative_path()</code></td>
-    </tr>
-    <tr>
-      <td align="center"><b><code>!p.has_root_name()</code></b></td>
-      <td align="center"><code>return absolute(base).root_name()<br>
-      / p</code></td>
-      <td align="center"><code>return absolute(base) / p</code></td>
-    </tr>
-  </table>
-  <p dir="ltr">[<i>Note:</i> For the returned path, <code>rp,</code> <code>
-  rp.is_absolute()</code> is true. <i>-- end note</i>]</p>
-  <p><i>Throws:</i> If <code>base.is_absolute()</code> is true, throws only if 
-  memory allocation fails.</p>
-</blockquote>
-<pre>path <a name="canonical">canonical</a>(const path& p, const path& base = current_path());
-path canonical(const path& p, system::error_code& ec);
-path canonical(const path& p, const path& base, system::error_code& ec);</pre>
-<blockquote>
-<p><i>Overview:</i> Converts <code>p</code>, which must exist, to an absolute 
-path that has no symbolic link, <a href="#Dot">dot</a>, 
-or <a href="#Dot">dot-dot</a> elements. </p>
-<p><i>Returns:</i> A <a href="#Canonical-path">canonical path</a> that refers to 
-the same file system object as <code>absolute(p,base)</code>. For the overload 
-without a <code>base</code> argument, <code>base</code> is <code>current_path()</code>.</p>
-  <p><i>Throws:</i>  As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  
-  <p><i>Remarks:</i> <code>!exists(p)</code> is an error.</p>
-  
-  <p>[<i>Note:</i> Canonical pathnames allow security checking of a path (eg. 
-  does this path live in /home/goodguy or /home/badguy?)  -- end note]</p>
-  
-</blockquote>
-<pre>void <a name="copy">copy</a>(const path& from, const path& to);
-void copy(const path& from, const path& to, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects:</i> As if</p>
-  
-  <blockquote>
-    <pre>file_status s(symlink_status(from<i>[</i><code>, ec</code><i>]</i>));
-if(is_symlink(s))
-  copy_symlink(from, to<i>[</i><code>, ec</code><i>]</i>);
-else if(is_directory(s))
-  copy_directory(from, to<i>[</i><code>, ec</code><i>]</i>);
-else if(is_regular_file(s))
-  copy_file(from, to, copy_option::fail_if_exists<i>[</i><code>, ec</code><i>]</i>);
-else
-<i> Report error as specified in <a href="#Error-reporting">Error reporting</a>.</i></pre>
-  </blockquote>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  
-</blockquote>
-<pre>void <a name="copy_directory">copy_directory</a>(const path& from, const path& to);
-void copy_directory(const path& from, const path& to, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects: </i></p>
-  
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  
-</blockquote>
-<pre>void copy_file(const path& from, const path& to);
-void copy_file(const path& from, const path& to, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects: </i><code>copy_file(from, to, 
-  copy_option::fail_if_exists</code><i>[</i><code>, ec</code><i>]</i><code>)</code>.</p>
-  
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  
-</blockquote>
-<pre>void <a name="copy_file">copy_file</a>(const path& from, const path& to, BOOST_SCOPED_ENUM(<a href="#copy_option">copy_option</a>) option);
-void <a name="copy_file2">copy_file</a>(const path& from, const path& to, BOOST_SCOPED_ENUM(<a href="#copy_option">copy_option</a>) option, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects:</i> If <code>option == copy_option::</code><code>fail_if_exists 
-  && exists(to)</code>, an error is reported. Otherwise, the contents and attributes of the file <code>from</code> 
-  resolves to are copied to the file <code>to</code> resolves to.</p>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-</blockquote>
-<pre>void <a name="copy_symlink">copy_symlink</a>(const path& existing_symlink, const path& new_symlink);
-void copy_symlink(const path& existing_symlink, const path& new_symlink, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects: </i><code>create_symlink(read_symlink(existing_symlink</code><i>[</i><code>, ec</code><i>]</i><code>), 
-  new_symlink</code><i>[</i><code>, ec</code><i>]</i><code>)</code>.</p>
-  
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  
-</blockquote>
-<pre>bool <a name="create_directories">create_directories</a>(const path& p);
-bool <a name="create_directories2">create_directories</a>(const path& p, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Requires:</i> <code>p.empty() || <br>
-  forall px: px == p || is_parent(px, p): is_directory(px) || !exists( px )</code>
-  </p>
-  <p><i>Postcondition:</i> <code>is_directory(p)</code></p>
-  <p><i>Returns:</i> The value of <code>!exists(p)</code> prior to the 
-  establishment of the postcondition.</p>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-</blockquote>
-<pre>bool <a name="create_directory">create_directory</a>(const path& p);
-bool <a name="create_directory2">create_directory</a>(const path& p, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects:</i> Attempts to create the directory <code>p</code> resolves to, 
-  as if by<i> POSIX </i><code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/mkdir.html">mkdir()</a></code> with a second argument of S_IRWXU|S_IRWXG|S_IRWXO. </p>
-  <p><i>Postcondition:</i> <code>is_directory(p)</code></p>
-  <p><i>Returns:</i> <code>true</code> if a new directory was created, otherwise 
-  <code>false</code>.</p>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-</blockquote>
-<pre>void <a name="create_directory_symlink">create_directory_symlink</a>(const path& to, const path& new_symlink);
-void create_directory_symlink(const path& to, const path& new_symlink, system::error_code& ec);</pre>
-<blockquote style="font-size: 10pt">
-  <p style="font-size: 10pt"><i>Effects:</i> 
-  Establishes the postcondition, as if by <i>
-  POSIX</i>
-  <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/symlink.html">
-  symlink()</a></code>.</p>
-  <p style="font-size: 10pt"><i>
-  Postcondition:</i> <code>new_symlink</code> resolves to a symbolic link file that 
-  contains an unspecified representation of <code>to</code>.</p>
-  <p style="font-size: 10pt"><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  <p style="font-size: 10pt">[<i>Note:</i> 
-  Some <b>operating systems</b>, such as Windows, require symlink creation to 
-  identify that the link is to a directory. Portable code should use <code>
-  create_directory_symlink()</code> to create directory symlinks rather than
-  <code>create_symlink()</code>  <i>-- end note</i>]</p>
-  <p>[<i>Note:</i> 
-  Some <b>operating systems</b> do not support symbolic links at all or support 
-  them only for regular files. Windows prior to Vista, for example, did not 
-  support symbolic links. 
-  Some <b>file systems</b> do not 
-  support 
-  symbolic links regardless of the operating system - the FAT system used on floppy discs, memory cards and flash 
-  drives, 
-  for example. Thus symbolic links should only be used if these situations are 
-  not concerns, or if workarounds are provided.  <i>-- end note</i>]</p>
-  </blockquote>
-<pre>void <a name="create_hard_link">create_hard_link</a>(const path& to, const path& new_hard_link);
-void <a name="create_hard_link2">create_hard_link</a>(const path& to, const path& new_hard_link, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects:</i> Establishes the postcondition, as if by
-   <i>POSIX</i>
-   <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/link.html">
-  link()</a></code>.</p>
-  <p><i>Postcondition:</i></p>
-  <ul>
-    <li> <code>exists(to) && 
-    exists(</code><code>new_hard_link</code><code>) && equivalent(to, 
-     
-    </code><code>new_hard_link</code><code>)</code></li>
-    <li>The contents of the file or directory
-    <code>to</code> resolves to are unchanged.</li>
-  </ul>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  <p>[<i>Note:</i> 
-  Some <b>operating systems</b> do not support hard links at all or support 
-  them only for regular files. Some <b>file systems</b> do not support hard 
-  links regardless of the operating system - the FAT system used on floppy 
-  discs, memory cards and flash drives, for example. Some file systems limit the 
-  number of links per file. Thus hard links should only be used if these 
-  situations are not concerns, or if workarounds are provided.  <i>-- end note</i>]</p>
-  </blockquote>
-<pre>void <a name="create_symlink">create_symlink</a>(const path& to, const path& new_symlink);
-void <a name="create_symlink2">create_symlink</a>(const path& to, const path& new_symlink, system::error_code& ec);</pre>
-<blockquote style="font-size: 10pt">
-  <p style="font-size: 10pt"><i>Effects:</i> 
-  Establishes the postcondition, as if by <i>
-  POSIX</i>
-  <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/symlink.html">
-  symlink()</a></code>.</p>
-  <p style="font-size: 10pt"><i>
-  Postcondition:</i> <code>new_symlink</code> resolves to a symbolic link file that 
-  contains an unspecified representation of <code>to</code>.</p>
-  <p style="font-size: 10pt"><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  <p>[<i>Note:</i> 
-  Some <b>operating systems</b> do not support symbolic links at all or support 
-  them only for regular files. Windows prior to Vista, for example, did not 
-  support symbolic links. 
-  Some <b>file systems</b> do not 
-  support 
-  symbolic links regardless of the operating system - the FAT system used on floppy discs, memory cards and flash 
-  drives, 
-  for example. Thus symbolic links should only be used if these situations are 
-  not concerns, or if workarounds are provided.  <i>-- end note</i>]</p>
-  </blockquote>
-<pre>path <a name="current_path">current_path</a>();
-path <a name="current_path2">current_path</a>(system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Returns:</i> The current working directory path, as if by <i>POSIX</i>
-  <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getcwd.html">
-  getcwd()</a></code>. <code>is_absolute()</code> is true for the returned path.</p>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  <p>[<i>Note: </i>The <code>
-  current_path()</code> name was chosen to emphasize that the return is a 
-  path, not just a single directory name.</p>
-  <p>The current path as returned by many operating systems is a dangerous 
-  global variable. It may be changed unexpectedly by a third-party or system 
-  library functions, or by another thread.  <i>-- end note</i>]</p>
-</blockquote>
-<pre>void current_path(const path& p);
-void current_path(const path& p, system::error_code& ec);</pre>
-<blockquote>
-  <p style="font-size: 10pt"><i>Effects:</i> 
-  Establishes the postcondition, as if by <i>
-  POSIX</i>
-  <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/chdir.html">
-  chdir()</a></code>.</p>
-<p><i>Postcondition:</i> <code>equivalent(p, current_path())</code>.</p>
-<p><i>Throws:</i> As specified in
-<a href="#Error-reporting">
-Error reporting</a>.</p>
-  <p>[<i>Note: </i>The current path for many operating systems is a dangerous 
-  global state. It may be changed unexpectedly by a third-party or system 
-  library functions, or by another thread.  <i>-- end note</i>]</p>
-</blockquote>
-<pre>bool <a name="exists">exists</a>(file_status s);</pre>
-<blockquote>
-  <p><i>Returns:</i>
-  <code>status_known(s) && s.type() != file_not_found</code></p>
-  <p><i>Throws:</i> Nothing.</p>
-</blockquote>
-<pre>bool <a name="exists2">exists</a>(const path& p);
-bool <a name="exists3">exists</a>(const path& p, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Returns:</i> <code>exists(status(p))</code> or <code>exists(status(p, ec))</code>, 
-  respectively.</p>
-<p><i>Throws:</i> <code>filesystem_error</code>; overload with <code>error_code&</code> throws 
-nothing.</p>
-</blockquote>
-<pre><code>bool <a name="equivalent">equivalent</a>(const path& p1, const path& p2);
-bool <a name="equivalent2">equivalent</a>(const path& p1, const path& p2, system::error_code& ec);</code></pre>
-<blockquote style="font-size: 10pt">
-  <p style="font-size: 10pt"><i>Effects:</i> Determines <code>file_status s1</code> 
-  and <code>s2</code>, as if by <code>status(p1)</code> and  <code>status(p2)</code>, 
-  respectively.</p>
-  <p style="font-size: 10pt"><i>Returns:</i> <code>true</code>, if <code>sf1 == 
-  sf2</code> and <code>p1</code> and <code>p2</code> resolve to the same file 
-  system entity, else <code>false</code>.</p>
-  <blockquote>
-  <p style="font-size: 10pt">Two paths are considered to resolve to the same 
-  file system entity if two candidate entities reside on the same device at the 
-  same location. This is determined as if by the values of the <i>POSIX</i>
-  <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">
-  stat</a></code> structure<code>,</code> obtained as if by <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/stat.html">
-  stat()</a></code> for the two paths, having equal <code>st_dev</code> values 
-  and equal <code>st_ino</code> values.</p>
-  <p style="font-size: 10pt">[<i>Note:</i> <i>POSIX</i> requires that <i>"st_dev</i> 
-  must be unique within a Local Area Network". Conservative <i>POSIX</i> 
-  implementations may also wish to check for equal <code>st_size</code> and
-  <code>st_mtime</code> values. <i>Windows</i> implementations may use <code>
-  GetFileInformationByHandle()</code> as a surrogate for <code>stat()</code>, 
-  and consider "same" to be equal values for <code>dwVolumeSerialNumber</code>,
-  <code>nFileIndexHigh</code>, <code>nFileIndexLow</code>, <code>nFileSizeHigh</code>,
-  <code>nFileSizeLow</code>, <code>ftLastWriteTime.dwLowDateTime</code>, and
-  <code>ftLastWriteTime.dwHighDateTime</code>. <i>-- end note</i>]</p>
-  </blockquote>
-  <p style="font-size: 10pt"><i>Throws:</i> <code>filesystem_error</code>
-  if <code>(!exists(s1) && !exists(s2)) || (is_other(s1) && is_other(s2))</code>, 
-  otherwise as specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-</blockquote>
-<div dir="ltr">
-<pre>uintmax_t <a name="file_size">file_size</a>(const path& p);
-uintmax_t <a name="file_size2">file_size</a>(const path& p, system::error_code& ec);</pre>
-</div>
-<blockquote>
-  <p>
-    <span style="background-color: #FFFF00">Remarks: </span>
-  </p>
-  <p><i>Returns:</i> If <code>exists(p) && is_regular_file(p)</code>, the size 
-  in bytes 
-  of the file <code>p</code> resolves to, determined as if by the value of 
-  the <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">stat</a></code> structure member <code>st_size</code> 
-  obtained as if by <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/stat.html">stat()</a></code>. 
-  Otherwise, <code>static_cast<uintmax_t>(-1)</code>.</p>
-  <p style="font-size: 10pt"><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-</blockquote>
-<pre>uintmax_t <a name="hard_link_count">hard_link_count</a>(const path& p);
-uintmax_t hard_link_count(const path& p, system::error_code& ec);</pre>
-<blockquote>
-
-  <p><i>Returns:</i> The number of hard links for <code>p</code>.</p>
-  <p style="font-size: 10pt"><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-
-</blockquote>
-
-<pre>const path& <a name="initial_path">initial_path</a>();
-const path& <a name="initial_path">initial_path</a>(<code>system::error_code& ec</code>);</pre>
-<blockquote>
-  <p><i>Returns:</i> 
-  <code>current_path()</code> as of the first call to <code>initial_path()</code>.</p>
-  <p>[<i>Note:</i> <code>
-  initial_path()</code> is not thread safe, and may return an undesirable result 
-  if called subsequent to a change to the current directory. These problems can 
-  be avoided by calling <code>initial_path()</code> immediately on entry to 
-  main().  <i>--end note</i>]</p>
-  <p><i>Throws:</i> For the first call, as specified in
-  <a href="#Error-reporting">
-  Error reporting</a>. Subsequent calls throw nothing.</p>
-</blockquote>
-<pre>bool <code><a name="is_directory">is_directory</a></code>(file_status s);</pre>
-<blockquote>
-  <p><i>Returns:</i> 
-  <code>s.type() == directory_file</code></p>
-  <p><i>Throws:</i> Nothing.</p>
-</blockquote>
-<pre><code>bool <a name="is_directory2">is_directory</a>(const path& p);
-bool <a name="is_directory3">is_directory</a>(const path& p, system::error_code& ec);</code></pre>
-<blockquote>
-  <p dir="ltr"><i>Returns:</i> <code>is_directory(status(p))</code> or <code>is_directory(status(p, ec))</code>, 
-  respectively.</p>
-<p><i>Throws:</i> <code>filesystem_error</code>; overload with <code>error_code&</code> throws 
-nothing.</p>
-</blockquote>
-<pre><code>bool <a name="is_empty">is_empty</a>(const path& p);
-bool <a name="is_empty2">is_empty</a></a>(const path& p, system::error_code& ec);</code></pre>
-<blockquote>
-  <p><i>Effects:</i> Determines <code>file_status s</code>, as if by <code>
-  status(p, ec)</code>.</p>
-  <p><i>Returns:</i> <code>is_directory(s)<br>
-         ? 
-  directory_iterator(p) == directory_iterator()<br>
-         : file_size(p) == 0;</code></p>
-</blockquote>
-<pre>bool <code><a name="is_regular_file">is_regular_file</a></code>(file_status s);</pre>
-<blockquote>
-  <p><i>Returns:</i>
-  <code>s.type() == regular_file</code></p>
-  <p><i>Throws:</i> Nothing.</p>
-</blockquote>
-<pre><code>bool <a name="is_regular_file2">is_regular_file</a>(const path& p);</code></pre>
-<blockquote>
-  <p><i>Returns:</i> <code>is_regular_file(status(p))</code>.</p>
-  <p><i>Throws:</i> <code>filesystem_error</code> 
-  if <code>status(p)</code> would throw <code>filesystem_error.</code></p>
-  </blockquote>
-<pre><code>bool <a name="is_regular_file3">is_regular_file</a>(const path& p, system::error_code& ec);</code></pre>
-<blockquote>
-  <p><i>Effects:</i> Sets <code>ec</code> as if by <code>status(p, ec)</code>. [<i>Note:</i>
-      <code>status_error</code>,
-      <code>file_not_found</code> 
-  and
-      <code>type_unknown</code> 
-  cases set <code>ec</code> 
-  to error values. To distinguish between cases, call the <code>
-  status</code> 
-  function directly. <i>-- end 
-  note</i>] </p>
-  <p><i>Returns:</i> <code>is_regular_file(status(p, ec))</code>.</p>
-  <p><i>Throws:</i> Nothing.</p>
-</blockquote>
-<pre>bool <a name="is_other">is_other</a>(file_status s);</pre>
-<blockquote>
-  <p><i>Returns:</i>
-  <code>return exists(s) && !is_regular_file(s) && !is_directory(s) && !is_symlink(s)</code></p>
-  <p><i>Throws:</i> Nothing.</p>
-</blockquote>
-<pre><code>bool <a name="is_other2">is_other</a>(const path& p);
-bool <a name="is_other3">is_other</a>(const path& p, system::error_code& ec);</code></pre>
-<blockquote>
-  <p><i>Returns:</i> <code>is_other(status(p))</code> or <code>is_other(status(p, ec))</code>, 
-  respectively.</p>
-  <p><i>Throws:</i> <code>filesystem_error</code>; overload with <code>error_code&</code> throws 
-  nothing.</p>
-</blockquote>
-<pre>bool <a name="is_symlink">is_symlink</a>(file_status s);</pre>
-<blockquote>
-  <p><i>Returns:</i> 
-  <code>s.type() == symlink_file</code></p>
-  <p><i>Throws:</i> Nothing.</p>
-</blockquote>
-<pre><code>bool <a name="is_symlink2">is_symlink</a>(const path& p);
-bool <a name="is_symlink3">is_symlink</a>(const path& p, system::error_code& ec);</code></pre>
-<blockquote>
-  <p><i>Returns:</i> <code>is_symlink(symlink_status(p))</code> or <code>is_symlink(symlink_status(p, ec))</code>, 
-  respectively.</p>
-  <p><i>Throws:</i> <code>filesystem_error</code>; overload with <code>error_code&</code> throws 
-  nothing.</p>
-</blockquote>
-<pre>std::time_t <a name="last_write_time">last_write_time</a>(const path& p);
-std::time_t <a name="last_write_time2">last_write_time</a>(const path& p<code>, system::error_code& ec</code>);</pre>
-<blockquote>
-  <p><i>Returns:</i> The time of last data modification of <code>p</code>, determined as if by the 
-  value of the <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">stat</a></code> structure member <code>st_mtime</code>  obtained 
-  as if by <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/stat.html">stat()</a></code>.</p>
-</blockquote>
-<pre>void <a name="last_write_time3">last_write_time</a>(const path& p, const std::time_t new_time);
-void <a name="last_write_time4">last_write_time</a>(const path& p, const std::time_t new_time<code>, system::error_code& ec</code>);</pre>
-<blockquote>
-  <p><i>Effects:</i> Sets the time of last data modification of the file 
-  resolved to by <code>p</code> 
-  to <code>new_time</code>, as if by <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/stat.html">stat()</a></code> 
-  followed by <i>POSIX</i>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/utime.html">
-  <code>utime()</code></a>.</p>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  <p>[<i>Note:</i> A postcondition of <code>last_write_time(p) == 
-  new_time</code> is not specified since it might not hold for file systems 
-  with coarse time granularity. <i>-- end note</i>]</p>
-</blockquote>
-<pre>path <a name="read_symlink">read_symlink</a>(const path& p);
-path read_symlink(const path& p, system::error_code& ec);</pre>
-<blockquote>
-  <p dir="ltr"><i>Returns:</i>  If <code>p</code> resolves to a symbolic 
-  link, a <code>path</code> object containing the contents of that symbolic 
-  link. Otherwise an empty <code>path</code> object.</p>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>. [<i>Note:</i> It is an error if <code>p</code> does not 
-  resolve to a symbolic link. <i>-- end note</i>]</p>
-</blockquote>
-<pre>bool <a name="remove">remove</a>(const path& p);
-bool <a name="remove2">remove</a>(const path& p, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects:</i>  If <code>exists(symlink_status(p,ec))</code>, it is 
-  removed 
-  as if by<i> POSIX </i><code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/remove.html">remove()</a></code>.</p>
-  <blockquote>
-  <p>[<i>Note:</i> A symbolic link is itself removed, rather than the file it 
-  resolves to being removed. <i>-- end note</i>]</p>
-  </blockquote>
-  <p><i>Postcondition:</i> <code>!exists(symlink_status(p))</code>.</p>
-  <p><i>Returns:</i>  <code>false</code> if p did not exist in the first 
-  place, otherwise <code>true</code>.</p>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-</blockquote>
-<pre>uintmax_t <a name="remove_all">remove_all</a>(const path& p);
-uintmax_t <a name="remove_all2">remove_all</a>(const path& p, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects:</i>  Recursively deletes the contents of p if it exists, 
-  then deletes file <code>p</code> itself, 
-  as if by<i> POSIX </i><code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/remove.html">remove()</a></code>.</p>
-  <blockquote>
-  <p>[<i>Note:</i> A symbolic link is itself removed, rather than the file it 
-  resolves to being removed. <i>-- end note</i>]</p>
-  </blockquote>
-  <p><i>Postcondition:</i> <code>!exists(p)</code></p>
-  <p><i>Returns:</i> The number of files removed.</p>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-</blockquote>
-<pre>void <a name="rename">rename</a>(const path& old_p, const path& new_p);
-void <a name="rename2">rename</a>(const path& old_p, const path& new_p, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects:</i> Renames <code>old_p</code> to <code>new_p</code>, as if by
-  <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/rename.html">
-  rename()</a></code>.</p>
-  <blockquote>
-  <p>[<i>Note:</i> If <code>old_p</code> and <code>new_p</code> resolve to the 
-  same existing file, no action is taken. Otherwise, if <code>new_p</code> resolves to an 
-  existing non-directory file, it is removed, while if <code>new_p</code> resolves to an 
-  existing directory, it is removed if empty on POSIX but is an error on Windows. A symbolic link is itself renamed, rather than 
-  the file it resolves to being renamed. <i>-- end note</i>]</p>
-  </blockquote>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-</blockquote>
-<pre>void <a name="resize_file">resize_file</a>(const path& p, uintmax_t new_size);
-void <a name="resize_file2">resize_file</a>(const path& p, uintmax_t new_size, system::error_code& ec);</pre>
-<blockquote>
-<p><i>Postcondition:</i> <code>file_size() == new_size</code>.</p>
-<p><i>Throws:</i> As specified in
-<a href="#Error-reporting">
-Error reporting</a>.</p>
-  <p style="font-size: 10pt"><i>Remarks:</i> Achieves its postconditions as if by 
-  POSIX <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/truncate.html">
-  truncate()</a></code>.</p>
-</blockquote>
-<pre>space_info <a name="space">space</a>(const path& p);
-space_info <a name="space2">space</a>(const path& p, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Returns:</i> An object of type <code>
-  <a href="#space_info">space_info</a></code>. The value of the <code>space_info</code> object is determined as if by 
-  using  <i>POSIX</i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/statvfs.html" style="text-decoration: none">
-  statvfs()</a></code> to obtain a <i>POSIX</i> struct <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/statvfs.h.html" style="text-decoration: none">
-  statvfs</a></code>, and then multiplying its <code>f_blocks</code>, <code>
-  f_bfree</code>, and <code>f_bavail</code> members by its <code>f_frsize</code> 
-  member, and assigning the results to the <code>capacity</code>, <code>free</code>, 
-  and <code>available</code> members respectively. Any members for which the 
-  value cannot be determined shall be set to -1.</p>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-</blockquote>
-<pre><a href="#file_status">file_status</a> <a name="status">status</a>(const path& p);</pre>
-<blockquote>
-  <p><i>Effects: </i>As if:</p>
-  <blockquote>
-    <pre>system::error_code ec;
-file_status result = status(p, ec);
-if (result == status_error)
-  throw filesystem_error(<i>implementation-supplied-message</i>, p, ec);
-return result;</pre>
-  </blockquote>
-  <p><i>Returns:</i> See above.</p>
-  <p><i>Throws:</i> <code>filesystem_error</code>. 
-[<i>Note:</i> <code>result</code> values of <code>
-      file_status(file_not_found)</code>and <code>
-      file_status(type_unknown)</code> are not considered failures and do not 
-  cause an exception to be 
-thrown.<i> -- end note</i>] </p>
-  </blockquote>
-<pre><a href="#file_status">file_status</a> <a name="status2">status</a>(const path& p, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects: </i></p>
-  <blockquote>
-    <p>If possible, determines the attributes 
-    of the file
-    <code>p</code> resolves to, as if by<i> POSIX </i> <code>
-  <a href="http://www.opengroup.org/onlinepubs/000095399/functions/stat.html">stat()</a></code>.</p>
-      If, during attribute determination, the underlying file system API reports 
-    an error, sets <code>ec</code> to indicate the specific error reported. 
-    Otherwise, <code>ec.clear()</code>.<blockquote>
-      <p>[<i>Note:</i> This allows users to inspect the specifics of underlying 
-      API errors even when the value returned by <code>status()</code> is not <code>
-      file_status(status_error)</code>.  <i>--end note</i>]</p>
-    </blockquote>
-    </blockquote>
-  <p><i>Returns:</i></p>
-  <blockquote>
-    <p>If <code>ec != error_code()</code>:</p>
-    <ul>
-      <li>If the specific error indicates that <code>p</code> cannot be resolved 
-      because some element of the path does not exist, return <code>
-      file_status(file_not_found)</code>. [<i>Note:</i> POSIX errors that 
-      indicate this are ENOENT or ENOTDIR. Windows equivalents 
-      include ERROR_FILE_NOT_FOUND, ERROR_PATH_NOT_FOUND, ERROR_INVALID_NAME, 
-      ERROR_INVALID_PARAMETER, ERROR_BAD_PATHNAME, and ERROR_BAD_NETPATH. <i>-- 
-      end note</i>]<br>
- </li>
-      <li>Otherwise, if the specific error indicates that <code>p</code> can be resolved 
-      but the attributes cannot be determined, return <code>
-      file_status(type_unknown)</code>. [<i>Note: </i>For example, Windows 
-      ERROR_SHARING_VIOLATION errors. For POSIX, the case never arises. <i>-- end 
-      note</i>]<br>
- </li>
-      <li>Otherwise, return <code>
-      file_status(status_error)</code>.</li>
-    </ul>
-        <blockquote>
-        <p>[<i>Note:</i> These semantics distinguish between 
-        <code>p</code> being known not to exist, 
-        <code>p</code> existing but not being able to determine its attributes, 
-        and there being an error that prevents even knowing if 
-        <code>p</code> exists. These 
-        distinctions are important to some use cases. <i>--end note</i>]</p>
-    </blockquote>
-    <p>Otherwise,</p>
-    <ul>
-      <li>If the attributes indicate a regular file, as if by <i>POSIX</i> <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">S_ISREG()</a>, 
-      return <code>
-      file_status(regular_file)</code>. [<i>Note:</i> <code>
-regular_file</code> implies appropriate <code><fstream></code> operations 
-      would succeed, assuming no hardware, permission, access, or race condition 
-      errors. Lack of
-<code>regular_file</code> does not necessarily imply <code><fstream></code> operations would 
-fail on a directory.
-<i>-- end note</i>]<br>
- </li>
-      <li>Otherwise, if the attributes indicate a directory, as if by <i>POSIX</i>
-      <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">S_ISDIR()</a>, 
-      return <code>
-      file_status(directory_file)</code>. [<i>Note:</i> <code>directory_file</code> implies <code>
-directory_iterator(p)</code>would succeed.
-<i>-- end note</i>]<br>
- </li>
-      <li>Otherwise, if the attributes indicate a block special file, as if by <i>POSIX</i>
-      <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">S_ISBLK()</a>, 
-      return <code>
-      file_status(block_file)</code>.<br>
- </li>
-      <li>Otherwise, if the attributes indicate a character special file, as if by <i>POSIX</i>
-      <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">S_ISCHR()</a>, 
-      return <code>
-      file_status(character_file)</code>.<br>
- </li>
-      <li>Otherwise, if the attributes indicate a fifo or pipe file, as if by <i>POSIX</i>
-      <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">S_ISFIFO()</a>, 
-      return <code>
-      file_status(fifo_file)</code>.<br>
- </li>
-      <li>Otherwise, if the attributes indicate a socket, as if by <i>POSIX</i>
-      <a href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">S_ISSOCK()</a>, 
-      return <code>
-      file_status(socket_file)</code>.<br>
- </li>
-      <li>Otherwise, return <code>
-      file_status(type_unknown)</code>.</li>
-    </ul>
-    </blockquote>
-<p><i>Throws:</i> Nothing.</p>
-      <p><i>Remarks:</i> If a symbolic link is encountered during pathname 
-      resolution, 
-      pathname resolution continues using the contents of the symbolic link.</p>
-</blockquote>
-<pre>bool <a name="status_known">status_known</a>(file_status s);</pre>
-<blockquote>
-  <p><i>Returns:</i>
-  <code>s.type() != status_error</code></p>
-  <p><i>Throws:</i> Nothing.</p>
-</blockquote>
-<pre>file_status <a name="symlink_status">symlink_status</a>(const path& p);
-file_status <a name="symlink_status2">symlink_status</a>(const path& p, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects:</i>  Same as <a href="#status">status()</a>, above, 
-  except that the attributes 
-    of
-    <code>p</code> are determined as if by<i> POSIX </i> <code>
-    <a href="http://www.opengroup.org/onlinepubs/000095399/functions/lstat.html">
-    lstat()</a></code>.</p>
-</blockquote>
-<blockquote>
-      <p><i>Returns:</i> Same as <a href="#status">status()</a>, above, except 
-      that if the attributes indicate a symbolic link, as if by <i>POSIX</i>
-      <a class="external" href="http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/stat.h.html">
-      S_ISLNK()</a>, return <code>file_status(symlink_file)</code>.</p>
-<p><i>Throws:</i> Nothing.</p>
-      <p><i>Remarks:</i> Pathname resolution terminates if <code>p</code> names a symbolic link.</p>
-</blockquote>
-<pre>path <a name="system_complete">system_complete</a>(const path& p);
-path <a name="system_complete2">system_complete</a>(const path& p, system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Effects:</i> Composes an absolute path from <code>p</code>, using the 
-  same rules used by the operating system to resolve a path passed as the 
-  filename argument to standard library open functions.</p>
-  <p><i>Returns:</i> The composed path.</p>
-  <p><i>Postcondition:</i> For the returned path, <code>rp,</code> <code>
-  rp.is_absolute()</code> is true.</p>
-  <p>[<i>Note:</i> For <i>POSIX</i>, <code>system_complete(p)</code> has the same semantics as
-  <code>complete(p, current_path())</code>.</p>
-  <p><a name="windows_effects">For <i>Windows</i></a>, <code>system_complete(p)</code> has the 
-  same semantics as <code>complete(ph, current_path())</code> if 
-  <code>p.is_absolute() || !p.has_root_name()</code> or <code>p</code> and <code>base</code> have the same
-  <code>root_name()</code>. 
-  Otherwise it acts like <code>complete(p, kinky)</code>, where <code>kinky</code> 
-  is the current directory for the <code>p.root_name()</code> drive. This will 
-  be the current directory of that drive the last time it was set, and thus may 
-  be <b>residue left over from a prior program</b> run by the command 
-  processor! Although these semantics are often useful, they are also very 
-  error-prone.</p>
-  <p>See <a href="#complete_note">
-  <i>complete()</i> note</a> for usage suggestions. <i>-- end note</i>]</p>
-</blockquote>
-<pre>path <a name="temp_directory_path">temp_directory_path</a>();
-path temp_directory_path(system::error_code& ec);</pre>
-<blockquote>
-  <p><i>Returns:</i> A directory path suitable for temporary files under the 
-  conventions of the operating system. The specifics of how this path is 
-  determined are implementation defined. An error shall be reported if<code> !exists(p) 
-  || !is_directory(p)</code>, where <code>p</code> is the path to be returned.</p>
-  <p><i>POSIX:</i> The path supplied by the first environment variable found in the 
-  list TMPDIR, TMP, TEMP, TEMPDIR. If none of these are found, <code>"/tmp"</code>.</p>
-  <p><i>Windows:</i> The path reported by the <i>Windows</i> <code>GetTempPath</code> API function.</p>
-  <p><i>Throws:</i> As specified in <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  <p>[<i>Note: </i>The <code>temp_directory_path()</code> name was chosen to emphasize that the return is a 
-  path, not just a single directory name.  <i>-- end note</i>]</p>
-</blockquote>
-<pre>path <a name="unique_path">unique_path</a>(const path& model="%%%%-%%%%-%%%%-%%%%");
-path unique_path(const path& model, system::error_code& ec);</pre>
-<blockquote>
-  <p>The <code>unique_path</code> function generates a path name suitable for 
-  creating temporary files, including directories. The name is based 
-  on a model that uses the percent sign character to specify replacement by a 
-  random hexadecimal digit. [<i>Note:</i> The more bits of randomness in the 
-  generated path name, the less likelihood of prior existence or being guessed. 
-  Each replacement hexadecimal digit in the model adds four bits of randomness. 
-  The default model thus provides 64 bits of randomness. This is sufficient for 
-  most applications. <i>--end note</i>]</p>
-  <p><i>Returns:</i> A path identical to <code>model</code>, except that each 
-  occurrence of a percent sign character is replaced by a random hexadecimal 
-  digit character in the range 0-9, a-f.</p>
-  <p><i>Throws:</i> As specified in
-  <a href="#Error-reporting">
-  Error reporting</a>.</p>
-  <p><i>Remarks:</i> Implementations are encouraged to obtain the required 
-  randomness via a
-  <a href="http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator">
-  cryptographically secure pseudo-random number generator</a>, such as one 
-  provided by the operating system. [<i>Note</i>: Such generators may block 
-  until sufficient entropy develops. <i>--end note</i>]</p>
-</blockquote>
-<h3><a name="File-streams">File streams</a> -
-<a href="../../../../boost/filesystem/fstream.hpp"><boost/filesystem/fstream.hpp></a></h3>
-<p>Replacements are provided for the file stream classes from the C++ standard 
-library's <code><fstream></code> header. These replacement classes 
-publicly inherit from the standard library classes. In the Boost.Filesystem 
-version, constructors and open functions take <code>const path&</code> arguments 
-instead of <code>
-const char*</code> arguments. There are no other differences in syntax or 
-semantics.</p>
-<pre>namespace boost
-{
-  namespace filesystem
-  {
-    template < class charT, class traits = std::char_traits<charT> >
-    class basic_filebuf : public std::basic_filebuf<charT,traits>
-    {
-    public:
-      basic_filebuf<charT,traits>*
-        open(const path& p, std::ios_base::openmode mode);
-    };
-
-    template < class charT, class traits = std::char_traits<charT> >
-    class basic_ifstream : public std::basic_ifstream<charT,traits>
-    {
-    public:
-      explicit basic_ifstream(const path& p, std::ios_base::openmode mode=std::ios_base::in)
-      void open(const path& p, std::ios_base::openmode mode=std::ios_base::in);
-    };
-
-    template < class charT, class traits = std::char_traits<charT> >
-    class basic_ofstream : public std::basic_ofstream<charT,traits>
-    {
-    public:
-      explicit basic_ofstream(const path& p, std::ios_base::openmode mode=std::ios_base::out);
-      void open(const path& p, std::ios_base::openmode mode=std::ios_base::out);
-    };
-
-    template < class charT, class traits = std::char_traits<charT> >
-    class basic_fstream : public std::basic_fstream<charT,traits>
-    {
-    public:
-      explicit basic_fstream(const path& p,
-        std::ios_base::openmode mode=std::ios_base::in | std::ios_base::out);
-      void open(const path& p,
-        std::ios_base::openmode mode=std::ios_base::in | std::ios_base::out);
-    };
-
-    typedef basic_filebuf<char> filebuf;
-    typedef basic_ifstream<char> ifstream;
-    typedef basic_ofstream<char> ofstream;
-    typedef basic_fstream<char> fstream;
-
-    typedef basic_filebuf<wchar_t> wfilebuf;
-    typedef basic_ifstream<wchar_t> wifstream;
-    typedef basic_fstream<wchar_t> wfstream;
-    typedef basic_ofstream<wchar_t> wofstream;
-    
-  } // namespace filesystem
-} // namespace boost</pre>
-<h2><a name="Path-decomposition-table">Path decomposition table</a></h2>
-<p>The table is generated by a program compiled with the Boost implementation.</p>
-<p>Shaded entries indicate cases where <i>POSIX</i> and <i>Windows</i> 
-implementations yield different results. The top value is the
-<i>POSIX</i> result and the bottom value is the <i>Windows</i> result. <br>
-<table border="1" cellspacing="0" cellpadding="5">
-<p>
-<tr><td><b>Constructor<br>argument</b></td>
-<td><b>Iteration<br>over<br>Elements</b></td>
-<td><b><code>string()</code></b></td>
-<td><b><code>generic_<br>string()</code></b></td>
-<td><b><code>root_<br>path()</code></b></td>
-<td><b><code>root_<br>name()</code></b></td>
-<td><b><code>root_<br>directory()</code></b></td>
-<td><b><code>relative_<br>path()</code></b></td>
-<td><b><code>parent_<br>path()</code></b></td>
-<td><b><code>filename()</code></b></td>
-</tr>
-<tr>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-</tr>
-<tr>
-<td><code>.</code></td>
-<td><code>.</code></td>
-<td><code>.</code></td>
-<td><code>.</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>.</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>..</code></td>
-<td><code>..</code></td>
-<td><code>..</code></td>
-<td><code>..</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>..</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>..</code></td>
-</tr>
-<tr>
-<td><code>foo</code></td>
-<td><code>foo</code></td>
-<td><code>foo</code></td>
-<td><code>foo</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>foo</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>foo</code></td>
-</tr>
-<tr>
-<td><code>/</code></td>
-<td><code>/</code></td>
-<td><code>/</code></td>
-<td><code>/</code></td>
-<td><code>/</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>/</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>/</code></td>
-</tr>
-<tr>
-<td><code>/foo</code></td>
-<td><code>/,foo</code></td>
-<td><code>/foo</code></td>
-<td><code>/foo</code></td>
-<td><code>/</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>/</code></td>
-<td><code>foo</code></td>
-<td><code>/</code></td>
-<td><code>foo</code></td>
-</tr>
-<tr>
-<td><code>foo/</code></td>
-<td><code>foo,.</code></td>
-<td><code>foo/</code></td>
-<td><code>foo/</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>foo/</code></td>
-<td><code>foo</code></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>/foo/</code></td>
-<td><code>/,foo,.</code></td>
-<td><code>/foo/</code></td>
-<td><code>/foo/</code></td>
-<td><code>/</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>/</code></td>
-<td><code>foo/</code></td>
-<td><code>/foo</code></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>foo/bar</code></td>
-<td><code>foo,bar</code></td>
-<td><code>foo/bar</code></td>
-<td><code>foo/bar</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>foo/bar</code></td>
-<td><code>foo</code></td>
-<td><code>bar</code></td>
-</tr>
-<tr>
-<td><code>/foo/bar</code></td>
-<td><code>/,foo,bar</code></td>
-<td><code>/foo/bar</code></td>
-<td><code>/foo/bar</code></td>
-<td><code>/</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>/</code></td>
-<td><code>foo/bar</code></td>
-<td><code>/foo</code></td>
-<td><code>bar</code></td>
-</tr>
-<tr>
-<td><code>//net</code></td>
-<td><code>//net</code></td>
-<td><code>//net</code></td>
-<td><code>//net</code></td>
-<td><code>//net</code></td>
-<td><code>//net</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>//net</code></td>
-</tr>
-<tr>
-<td><code>//net/foo</code></td>
-<td><code>//net,/,foo</code></td>
-<td><code>//net/foo</code></td>
-<td><code>//net/foo</code></td>
-<td><code>//net/</code></td>
-<td><code>//net</code></td>
-<td><code>/</code></td>
-<td><code>foo</code></td>
-<td><code>//net/</code></td>
-<td><code>foo</code></td>
-</tr>
-<tr>
-<td><code>///foo///</code></td>
-<td><code>/,foo,.</code></td>
-<td><code>///foo///</code></td>
-<td><code>///foo///</code></td>
-<td><code>/</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>/</code></td>
-<td><code>foo///</code></td>
-<td><code>///foo</code></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>///foo///bar</code></td>
-<td><code>/,foo,bar</code></td>
-<td><code>///foo///bar</code></td>
-<td><code>///foo///bar</code></td>
-<td><code>/</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>/</code></td>
-<td><code>foo///bar</code></td>
-<td><code>///foo</code></td>
-<td><code>bar</code></td>
-</tr>
-<tr>
-<td><code>/.</code></td>
-<td><code>/,.</code></td>
-<td><code>/.</code></td>
-<td><code>/.</code></td>
-<td><code>/</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>/</code></td>
-<td><code>.</code></td>
-<td><code>/</code></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>./</code></td>
-<td><code>.,.</code></td>
-<td><code>./</code></td>
-<td><code>./</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>./</code></td>
-<td><code>.</code></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>/..</code></td>
-<td><code>/,..</code></td>
-<td><code>/..</code></td>
-<td><code>/..</code></td>
-<td><code>/</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>/</code></td>
-<td><code>..</code></td>
-<td><code>/</code></td>
-<td><code>..</code></td>
-</tr>
-<tr>
-<td><code>../</code></td>
-<td><code>..,.</code></td>
-<td><code>../</code></td>
-<td><code>../</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>../</code></td>
-<td><code>..</code></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>foo/.</code></td>
-<td><code>foo,.</code></td>
-<td><code>foo/.</code></td>
-<td><code>foo/.</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>foo/.</code></td>
-<td><code>foo</code></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>foo/..</code></td>
-<td><code>foo,..</code></td>
-<td><code>foo/..</code></td>
-<td><code>foo/..</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>foo/..</code></td>
-<td><code>foo</code></td>
-<td><code>..</code></td>
-</tr>
-<tr>
-<td><code>foo/./</code></td>
-<td><code>foo,.,.</code></td>
-<td><code>foo/./</code></td>
-<td><code>foo/./</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>foo/./</code></td>
-<td><code>foo/.</code></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>foo/./bar</code></td>
-<td><code>foo,.,bar</code></td>
-<td><code>foo/./bar</code></td>
-<td><code>foo/./bar</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>foo/./bar</code></td>
-<td><code>foo/.</code></td>
-<td><code>bar</code></td>
-</tr>
-<tr>
-<td><code>foo/..</code></td>
-<td><code>foo,..</code></td>
-<td><code>foo/..</code></td>
-<td><code>foo/..</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>foo/..</code></td>
-<td><code>foo</code></td>
-<td><code>..</code></td>
-</tr>
-<tr>
-<td><code>foo/../</code></td>
-<td><code>foo,..,.</code></td>
-<td><code>foo/../</code></td>
-<td><code>foo/../</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>foo/../</code></td>
-<td><code>foo/..</code></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>foo/../bar</code></td>
-<td><code>foo,..,bar</code></td>
-<td><code>foo/../bar</code></td>
-<td><code>foo/../bar</code></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>foo/../bar</code></td>
-<td><code>foo/..</code></td>
-<td><code>bar</code></td>
-</tr>
-<tr>
-<td><code>c:</code></td>
-<td><code>c:</code></td>
-<td><code>c:</code></td>
-<td><code>c:</code></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><span style="background-color: #CCFFCC"><code>c:</code><br><font size="-1"><i>empty</i></font></span></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>c:</code></td>
-</tr>
-<tr>
-<td><code>c:/</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:,.</code><br><code>c:,/</code></span></td>
-<td><code>c:/</code></td>
-<td><code>c:/</code></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:/</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>/</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:/</code><br><font size="-1"><i>empty</i></font></span></td>
-<td><code>c:</code></td>
-<td><span style="background-color: #CCFFCC"><code>.</code><br><code>/</code></span></td>
-</tr>
-<tr>
-<td><code>c:foo</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:foo</code><br><code>c:,foo</code></span></td>
-<td><code>c:foo</code></td>
-<td><code>c:foo</code></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><span style="background-color: #CCFFCC"><code>c:foo</code><br><code>foo</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:foo</code><br><code>foo</code></span></td>
-</tr>
-<tr>
-<td><code>c:/foo</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:,foo</code><br><code>c:,/,foo</code></span></td>
-<td><code>c:/foo</code></td>
-<td><code>c:/foo</code></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:/</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>/</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:/foo</code><br><code>foo</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:</code><br><code>c:/</code></span></td>
-<td><code>foo</code></td>
-</tr>
-<tr>
-<td><code>c:foo/</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:foo,.</code><br><code>c:,foo,.</code></span></td>
-<td><code>c:foo/</code></td>
-<td><code>c:foo/</code></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><span style="background-color: #CCFFCC"><code>c:foo/</code><br><code>foo/</code></span></td>
-<td><code>c:foo</code></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>c:/foo/</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:,foo,.</code><br><code>c:,/,foo,.</code></span></td>
-<td><code>c:/foo/</code></td>
-<td><code>c:/foo/</code></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:/</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>/</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:/foo/</code><br><code>foo/</code></span></td>
-<td><code>c:/foo</code></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>c:/foo/bar</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:,foo,bar</code><br><code>c:,/,foo,bar</code></span></td>
-<td><code>c:/foo/bar</code></td>
-<td><code>c:/foo/bar</code></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:/</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>/</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:/foo/bar</code><br><code>foo/bar</code></span></td>
-<td><code>c:/foo</code></td>
-<td><code>bar</code></td>
-</tr>
-<tr>
-<td><code>prn:</code></td>
-<td><code>prn:</code></td>
-<td><code>prn:</code></td>
-<td><code>prn:</code></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>prn:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>prn:</code></span></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><span style="background-color: #CCFFCC"><code>prn:</code><br><font size="-1"><i>empty</i></font></span></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><code>prn:</code></td>
-</tr>
-<tr>
-<td><code>c:\</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:\</code><br><code>c:,/</code></span></td>
-<td><code>c:\</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:\</code><br><code>c:/</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:\</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>\</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:\</code><br><font size="-1"><i>empty</i></font></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:\</code><br><code>\</code></span></td>
-</tr>
-<tr>
-<td><code>c:foo</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:foo</code><br><code>c:,foo</code></span></td>
-<td><code>c:foo</code></td>
-<td><code>c:foo</code></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><span style="background-color: #CCFFCC"><code>c:foo</code><br><code>foo</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:foo</code><br><code>foo</code></span></td>
-</tr>
-<tr>
-<td><code>c:\foo</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:\foo</code><br><code>c:,/,foo</code></span></td>
-<td><code>c:\foo</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:\foo</code><br><code>c:/foo</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:\</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>\</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:\foo</code><br><code>foo</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:\</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:\foo</code><br><code>foo</code></span></td>
-</tr>
-<tr>
-<td><code>c:foo\</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:foo\</code><br><code>c:,foo,.</code></span></td>
-<td><code>c:foo\</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:foo\</code><br><code>c:foo/</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><font size="-1"><i>empty</i></font></td>
-<td><span style="background-color: #CCFFCC"><code>c:foo\</code><br><code>foo\</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:foo</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:foo\</code><br><code>.</code></span></td>
-</tr>
-<tr>
-<td><code>c:\foo\</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:\foo\</code><br><code>c:,/,foo,.</code></span></td>
-<td><code>c:\foo\</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:\foo\</code><br><code>c:/foo/</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:\</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>\</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:\foo\</code><br><code>foo\</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:\foo</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:\foo\</code><br><code>.</code></span></td>
-</tr>
-<tr>
-<td><code>c:\foo/</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:\foo,.</code><br><code>c:,/,foo,.</code></span></td>
-<td><code>c:\foo/</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:\foo/</code><br><code>c:/foo/</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:\</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>\</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:\foo/</code><br><code>foo/</code></span></td>
-<td><code>c:\foo</code></td>
-<td><code>.</code></td>
-</tr>
-<tr>
-<td><code>c:/foo\bar</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:,foo\bar</code><br><code>c:,/,foo,bar</code></span></td>
-<td><code>c:/foo\bar</code></td>
-<td><span style="background-color: #CCFFCC"><code>c:/foo\bar</code><br><code>c:/foo/bar</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:/</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>c:</code></span></td>
-<td><span style="background-color: #CCFFCC"><font size="-1"><i>empty</i></font><br><code>/</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:/foo\bar</code><br><code>foo\bar</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>c:</code><br><code>c:/foo</code></span></td>
-<td><span style="background-color: #CCFFCC"><code>foo\bar</code><br><code>bar</code></span></td>
-</tr>
-</table>
-<h2><a name="long-path-warning"></a>Warning: Long paths on Windows and the 
-extended-length <b>\\?\ </b>prefix</h2>
-<p>The Microsoft Windows "Maximum Path Length Limitation" specifies:</p>
-<blockquote>
-<p>In the Windows API (with some exceptions ...), the maximum length for a path 
-is MAX_PATH, which is defined as 260 characters.</p>
-<p>The Windows API has many functions that also have Unicode versions to permit 
-an extended-length path for a maximum total path length of 32,767 characters. 
-... To specify an extended-length path, use the <b>"\\?\" prefix</b>. For 
-example, "<a href="file://?/D:/very long path">\\?\D:\<em>very long path</em></a>". 
-<i>[C++ string literals require backslashes be doubled, of course.]</i></p>
-</blockquote>
-<p>Because most Boost.Filesystem operational functions just pass the contents of 
-a class path object to the Windows API, they do work with the extended-length 
-prefixes. But some won't work, because to the limitations imposed by Windows. 
-Read the following cautions carefully!</p>
-<h3>Cautions for paths with extended-length prefixes</h3>
-<ul>
-  <li>Individual components of a path are still are limited to whatever is 
-  supported for the particular filesystem, commonly 255 characters.</li>
-  <li>Only backslashes only are acceptable as directory separators. Slashes are 
-  not treated as separators.</li>
-  <li>All paths must be absolute - relative paths are not allowed.</li>
-  <li>Once an absolute path grows beyond 260 characters, it is essentially 
-  poisoned and all operations must use extended-length prefixes. So even a 
-  simple operation like <code>create_directory("a")</code> will fail if the 
-  absolute path of the resulting directory would exceed 260 characters.</li>
-  <li>Certain Boost.Filesystem functions that decompose their argument path and 
-  then work on individual relative directories or files will not work properly 
-  with extended-length prefix paths.</li>
-</ul>
-<h2><a name="Acknowledgements">Acknowledgements</a></h2>
-<p>This Filesystem Library is dedicated to my wife, Sonda, who provided the 
-support necessary to see both a trial implementation and the proposal itself 
-through to completion. She gave me the strength to continue after a difficult 
-year of cancer treatment in the middle of it all.</p>
-<p>Many people contributed technical comments, ideas, and suggestions to the 
-Boost Filesystem Library. See
-<a href="http://www.boost.org/libs/filesystem/doc/index.htm#Acknowledgements">
-http://www.boost.org/libs/filesystem/doc/index.htm#Acknowledgements</a>.</p>
-<p>Dietmar Kuehl contributed the original Boost Filesystem Library directory_iterator design. Peter Dimov, Walter Landry, Rob Stewart, and Thomas 
-Witt were particularly helpful in refining the library.</p>
-<p>The create_directories, extension, basename, and replace_extension functions 
-were developed by Vladimir Prus. The temp_directory_path function was 
-contributed by Jeff Flinn. David Svoboda suggested the canonical function and 
-provided psuedo-code.</p>
-<p>Howard Hinnant and John Maddock reviewed a draft of the version 2 proposal, and 
-identified a number of mistakes or weaknesses, resulting in a more polished 
-final document.</p>
-<p>Peter Dimov suggested a single class path, with member templates to adapt to 
-multiple string types. His idea became the basis for the version 3 path design.</p>
-<p> </p>
-<h2><a name="References">References</a></h2>
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
-  <tr>
-    <td width="16%" valign="top">[<a name="ISO_POSIX">ISO-POSIX</a>]</td>
-    <td width="84%">ISO/IEC 9945:2003, IEEE Std 1003.1-2001, and The Open Group 
-    Base Specifications, Issue 6. Also known as The Single Unix<font face="Times New Roman">® 
-    Specification, Version 3. Available from each of the organizations involved 
-    in its creation. For example, read online or download from
-    <a href="http://www.unix.org/single_unix_specification/">
-    www.unix.org/single_unix_specification/</a>.</font> The ISO JTC1/SC22/WG15 - 
-    POSIX homepage is <a href="http://www.open-std.org/jtc1/sc22/WG15/">
-    www.open-std.org/jtc1/sc22/WG15/</a></td>
-  </tr>
-  <tr>
-    <td width="16%" valign="top">[Abrahams]</td>
-    <td width="84%">Dave Abrahams, Error and Exception Handling,
-    <a href="http://www.boost.org/more/error_handling.html">
-    www.boost.org/more/error_handling.html</a></td>
-  </tr>
-</table>
-<hr>
-<p><font size="2">� Copyright Beman Dawes, 2002, 2006, 2007, 2009, 2010, 2011</font></p>
-<p><font size="2">Distributed under the Boost Software License, Version 1.0. See
-</font>
-<a href="http://www.boost.org/LICENSE_1_0.txt"><font size="2">www.boost.org/LICENSE_1_0.txt</font></a></p>
-<p><font size="2">Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->06 October 2011<!--webbot bot="Timestamp" endspan i-checksum="32189" --></font></p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/doc/release_history.html b/SRC/Boost/libs/filesystem/v3/doc/release_history.html
deleted file mode 100755
index 4ef4dac..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/release_history.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Filesystem Release History</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-</head>
-
-<body>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td width="277">
-<a href="../../../../index.htm">
-<img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td>
-    <td align="middle">
-    <font size="7">Filesystem Release History</font>
-    </td>
-  </tr>
-</table>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
-  <tr>
-    <td><a href="../../../../index.htm">Boost Home</a>   
-    <a href="index.htm">Library Home</a>    <a href="reference.html">Reference</a>   
-    <a href="tutorial.html">Tutorial</a>   
-    <a href="faq.htm">FAQ</a>   
-    <a href="portability_guide.htm">Portability</a>   
-    <a href="v3.html">V3 Intro</a>   
-    <a href="v3_design.html">V3 Design</a>   
-    <a href="deprecated.html">Deprecated</a>   
-    </td>
-  </tr>
-</table>
-
-<h2>1.48.0</h2>
-<ul>
-  <li>Added operational function <a href="reference.html#canonical">canonical()</a>, 
-  suggested by David Svoboda, who also provided pseudo-code.</li>
-  <li>Added <a href="reference.html#hash_value">hash_value()</a> function for 
-  paths. (Daniel James)</li>
-  <li>Fix path inserter problem (<a href="https://svn.boost.org/trac/boost/ticket/5764">#5764</a>) 
-  reported for QNX6.3.2 host (gcc-3.3.5)</li>
-  <li>Fix problem of locale("") exception being thrown before main() starts on 
-  poorly configured (e.g. LANG="bad name") POSIX systems. Resolves the most 
-  serious aspect of tickets
-  <a href="https://svn.boost.org/trac/boost/ticket/4688">#4688</a>,
-  <a href="https://svn.boost.org/trac/boost/ticket/5100">#5100</a>,
-  <a href="https://svn.boost.org/trac/boost/ticket/5289">#5289</a>.</li>
-</ul>
-
-<h2>1.47.0</h2>
-<ul>
-  <li>Program file_status.cpp added (V3). See boost-root/libs/filesystem/v3/example. 
-  Useful both as an example and to explore how Boost.Filesystem treats various 
-  status errors.  Run "bjam" (NOT "bjam install") in the example directory 
-  to install in example/bin.</li>
-</ul>
-
-<h2>1.46.1</h2>
-
-<ul>
-  <li>Fix fstream problem for STLPort masquerading as Dinkumware (<a href="https://svn.boost.org/trac/boost/ticket/5217">#5217</a>).</li>
-</ul>
-
-<h2>1.46.0</h2>
-<ul>
-  <li>Version 3 of the library is now the default.</li>
-  <li>IBM vacpp: Workaround for compiler bug affecting iterator_facade. (<a href="https://svn.boost.org/trac/boost/ticket/4912">#4912</a>)</li>
-  <li>Verify, clarify, document that <boost/config/user.hpp> can be used to 
-  specify BOOST_FILESYSTEM_VERSION. (<a href="https://svn.boost.org/trac/boost/ticket/4891">#4891</a>)</li>
-  <li>Replaced C-style assert with BOOST_ASSERT.</li>
-  <li>Undeprecated unique_path(). Instead, add a note mentioning the workaround 
-  for lack of thread safety and possible change to cwd. unique_path() is just 
-  too convenient to deprecate!</li>
-  <li>Cleared several GCC warnings.</li>
-  <li>Changed V2 code to use BOOST_THROW_EXCEPTION.</li>
-  <li>Windows: Fix status() to report non-symlink reparse point correctly.</li>
-  <li>Add <code>symlink_option</code> to <code>recursive_directory_iterator</code>, 
-  allowing control over recursion into directory symlinks. Note that the default 
-  is changed to not recurse into directory symlinks.</li>
-  <li><a href="reference.html">Reference</a> documentation cleanup, including 
-  fixing missing and broken links, and adding missing functions.</li>
-  <li>Miscellaneous implementation code cleanup. </li>
-</ul>
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->03 October, 2011<!--webbot bot="Timestamp" endspan i-checksum="38359" --></p>
-<p>� Copyright Beman Dawes, 2011</p>
-<p> Use, modification, and distribution are subject to the Boost Software 
-License, Version 1.0. See <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a></p>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/doc/tutorial.html b/SRC/Boost/libs/filesystem/v3/doc/tutorial.html
deleted file mode 100755
index d4104ce..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/tutorial.html
+++ /dev/null
@@ -1,1128 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Filesystem Tutorial</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-</head>
-
-<body>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td width="277">
-<a href="../../../../index.htm">
-<img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td>
-    <td align="middle">
-    <font size="7">Filesystem Tutorial</font>
-    </td>
-  </tr>
-</table>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
-  <tr>
-    <td><a href="index.htm">Filesystem Home</a>   
-    <a href="release_history.html">Releases</a>   
-    <a href="reference.html">Reference</a>   
-    <a href="tutorial.html">Tutorial</a>   
-    <a href="faq.htm">FAQ</a>   
-    <a href="portability_guide.htm">Portability</a>   
-    <a href="v3.html">V3 Intro</a>   
-    <a href="v3_design.html">V3 Design</a>   
-    <a href="deprecated.html">Deprecated</a>   
-    </td>
-  </tr>
-</table>
-<p>
-      <a href="#Introduction">Introduction</a><br>
-      <a href="#Preliminaries">Preliminaries</a><br>
-      <a href="#Reporting-size">Reporting the size of a file - (tut1.cpp)</a><br>
-      <a href="#Using-status-queries">Using status queries to determine file existence and type - (tut2.cpp)</a><br>
-      <a href="#Directory-iteration">Directory iteration plus catching 
-      exceptions - (tut3.cpp)</a><br>
-      <a href="#Using-path-decomposition">Using path decomposition, plus sorting results - (tut4.cpp)</a><br>
-      <a href="#Class-path-Constructors">Class path: Constructors, including 
-      Unicode - (tut5.cpp)</a><br>
-      <a href="#Class-path-formats">Class path: Generic format vs. Native format</a><br>
-      <a href="#Class path-iterators-etc">Class path: Iterators, observers, composition, decomposition, and query - (path_info.cpp)</a><br>
-      <a href="#Error-reporting">Error reporting</a><br>
-</p>
-<h2><a name="Introduction">Introduction</a></h2>
-
-<p>This tutorial develops a little command line program to list information 
-about files and directories - essentially a much simplified version of the POSIX <code>ls</code> or Windows <code>dir</code> 
-commands. We'll start with the simplest possible version and progress to more 
-complex functionality. Along the way we'll digress to cover topics you'll need 
-to know about to understand Boost.Filesystem.</p>
-
-<p>Source code for each  of the tutorial programs is available, and you 
-are encouraged to compile, test, and experiment with it. To conserve space, we won't 
-always show boilerplate code here, but the provided source is complete and 
-ready to build.</p>
-
-<h2><a name="Preliminaries">Preliminaries</a></h2>
-
-<p>Install the Boost distribution if you haven't already done so. See the
-<a href="http://www.boost.org/more/getting_started/index.html">Boost Getting 
-Started</a> docs.</p>
-
-<p>This tutorial assumes you are going to compile and test the examples using 
-the provided scripts. That's highly recommended.</p>
-
-<blockquote>
-
-<p><b>If you are planning to compile and test the examples but not use the 
-scripts, make sure your build setup knows where to 
-locate or build the Boost library binaries.</b></p>
-
-</blockquote>
-<p>Fire up your command line interpreter, and type the following commands:</p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt">
-      <pre>$ cd <i><b>boost-root</b></i>/libs/filesystem/example/test
-$ ./setup
-$ ./bld
-$ ./tut1
-Usage: tut1 path</pre>
-      </td>
-      <td style="font-size: 10pt">
-      <pre>>cd <i><b>boost-root</b></i>\libs\filesystem\example\test
->setup
->bld
->tut1
-Usage: tut1 path</pre>
-      </td>
-    </tr>
-  </table>
-
-<p>If the <code>tut1</code> command outputs "<code>Usage: tut1 path</code>", all 
-is well. A set of tutorial programs has been copied (by <code>setup</code>) to
-<i><b><code>boost-root</code></b></i><code>/libs/filesystem/example/test</code> 
-and then built. You are encouraged to modify and experiment with them as the 
-tutorial progresses. Just invoke the <code>bld</code> script again to rebuild.</p>
-
-<p>If something didn't work right, here are troubleshooting suggestions:</p>
-
-  <ul>
-    <li>The <code>bjam</code> program executable isn't being found. 
-    Check your path environmental variable if it should have been found, 
-    otherwise see
-    <a href="http://www.boost.org/more/getting_started/windows.html">Boost 
-    Getting Started</a>.<br>
- </li>
-    <li>Look at <code>bjam.log</code> to try to spot an indication of the 
-    problem.</li>
-  </ul>
-
-<h2><a name="Reporting-size">Reporting the size of a file</a> - (<a href="../example/tut1.cpp">tut1.cpp</a>)</h2>
-
-<p>Let's get started. One of the simplest things we can do is report the size of 
-a file.</p>
-
-<table align="center" border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-  <tr>
-    <td style="font-size: 10pt">
-    <pre><a href="../example/tut1.cpp">tut1.cpp</a></pre>
-    <blockquote style="font-size: 10pt">
-      <pre>#include <iostream>
-#include <boost/filesystem.hpp>
-using namespace boost::filesystem;
-
-int main(int argc, char* argv[])
-{
-  if (argc < 2)
-  {
-    std::cout << "Usage: tut1 path\n";
-    return 1;
-  }
-  std::cout << argv[1] << " " << file_size(argv[1]) << '\n';
-  return 0;
-}</pre>
-    </blockquote>
-    </td>
-  </tr>
-</table>
-
-<p>The Boost.Filesystem <code><a href="reference.html#file_size">file_size</a></code> 
-function returns a <code>uintmax_t</code> 
-containing the size of the file named by the argument. The declaration looks 
-like this:</p>
-
-<blockquote>
-  <pre><span style="background-color: #FFFFFF; ">uintmax_t</span> <a name="file_size">file_size</a>(const path& p);</pre>
-</blockquote>
-<p>For now, all you need to know is that class path has constructors that take
-<code>const char *</code> and many other useful types. (If you can't wait to 
-find out more, skip ahead to the <a href="#Class-path-Constructors">class path</a> section of 
-the tutorial.)</p>
-<p>Please take a minute to try out <code>tut1</code> on your system, using a 
-file that is known to exist, such as <code>tut1.cpp</code>. Here is what the 
-results look like on two different operating systems:</p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt" valign="top">
-      <pre>$ ./tut1 tut1.cpp
-tut1.cpp 569</pre>
-      <pre>$ ls -l tut1.cpp
--rwxrwxrwx 1 root root 569 2010-02-01 07:31 tut1.cpp</pre>
-      </td>
-      <td style="font-size: 10pt" valign="top">
-      <pre>>tut1 tut1.cpp
-tut1.cpp 592
->dir tut1.cpp
-...
-01/30/2010 10:47 AM 592 tut1.cpp
-...</pre>
-      </td>
-    </tr>
-  </table>
-
-<p>So far, so good. The reported Linux and Windows sizes are different because 
-the Linux tests used <code>"\n"</code> line endings, while the Windows tests 
-used <code>"\r\n"</code> line endings.</p>
-  <p>Now try again, but give a path that doesn't exist:</p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0"
-    style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt" valign="top">
-      <pre>$ ./tut1 foo
-terminate called after throwing an instance of 'boost::exception_detail::
-clone_impl<boost::exception_detail::error_info_injector<boost::
-filesystem::filesystem_error> >'
-  what(): boost::filesystem::file_size: No such file or directory: "foo"
-Aborted</pre>
-      </td>
-      <td style="font-size: 10pt" valign="top">
-      <pre>>tut1 foo</pre>
-      <p><b><i>An exception is thrown; the exact form of the response depends on 
-      Windows system options.</i></b></td>
-    </tr>
-  </table>
-
-  <p>What happens?
-  There's no file named <code>foo</code> in the current directory, so an 
-exception is thrown.</p>
-  <p>Try this:</p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt">
-      <pre>$ ./tut1 .
-terminate called after throwing an instance of 'boost::exception_detail::
-clone_impl<boost::exception_detail::error_info_injector<boost::
-filesystem::filesystem_error> >'
-  what(): boost::filesystem::file_size: Operation not permitted "."
-Aborted</pre>
-      </td>
-      <td style="font-size: 10pt" valign="top">
-      <pre>>tut1 .</pre>
-      <p><b><i>An exception is thrown; the exact form of the response depends on 
-      Windows system options.</i></b></td>
-    </tr>
-  </table>
-
-  <p>The current directory exists, but <code>file_size()</code> works on regular 
-  files, not directories, so again, an exception is thrown.</p>
-
-  <p>We'll deal with those situations in <code>tut2.cpp</code>.</p>
-
-<h2><a name="Using-status-queries">Using status queries to determine file existence and type</a> - (<a href="../example/tut2.cpp">tut2.cpp</a>)</h2>
-
-<p>Boost.Filesystem includes status query functions such as <code>
-<a href="reference.html#exists-path">exists</a></code>,
-<code><a href="reference.html#is_directory-path">is_directory</a></code>, and <code>
-<a href="reference.html#is_regular_file-path">is_regular_file</a></code>. These return
-<code>bool</code>'s, and will return <code>true</code> if the condition 
-described by their name is met. Otherwise they return <code>false</code>, 
-including when any element 
-of the path argument can't be found.</p>
-
-<p>tut2.cpp uses several of the status query functions to cope with non-existent 
-files and with different kinds of files:</p>
-
-<table align="center" border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-  <tr>
-    <td style="font-size: 10pt">
-    <pre><a href="../example/tut2.cpp">tut2.cpp</a></pre>
-    <blockquote style="font-size: 10pt">
-      <pre>int main(int argc, char* argv[])
-{
-  <a href="reference.html#class-path">path</a> p (argv[1]);   // p reads clearer than argv[1] in the following code
-
-  if (<a href="reference.html#exists-path">exists</a>(p))    // does p actually exist?
-  {
-    if (<a href="reference.html#is_regular_file-path">is_regular_file</a>(p))        // is p a regular file?   
-      cout << p << " size is " << <a href="reference.html#file_size">file_size</a>(p) << '\n';
-
-    else if (<a href="reference.html#is_directory-path">is_directory</a>(p))      // is p a directory?
-      cout << p << "is a directory\n";
-
-    else
-      cout << p << "exists, but is neither a regular file nor a directory\n";
-  }
-  else
-    cout << p << "does not exist\n";
-
-  return 0;
-}</pre>
-    </blockquote>
-    </td>
-  </tr>
-</table>
-
-<p>Give it a try:</p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt" valign="top">
-      <pre>$ ./tut2 tut2.cpp
-tut2 size is cpp 1037
-$ ./tut2 foo
-foo does not exist
-$ ./tut2 .
-. is a directory</pre>
-      </td>
-      <td style="font-size: 10pt" valign="top">
-      <pre>>tut2 tut2.cpp
-tut2.cpp size is 1079
-
->tut2 foo
-foo does not exist
-
->tut2 .
-. is a directory</pre>
-      </td>
-    </tr>
-  </table>
-
-<p>Although tut2 works OK in these tests, the output is less than satisfactory 
-for a directory. We'd typically like to see a list of the directory's contents. In <code>tut3.cpp</code> 
-we will see how to iterate over directories.</p>
-
-<p>But first, let's try one more test:</p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt" valign="top">
-      <pre>$ ls /home/jane/foo
-ls: cannot access /home/jane/foo: Permission denied
-$ ./tut2 /home/jane/foo
-terminate called after throwing an instance of 'boost::exception_detail::
-clone_impl<boost::exception_detail::error_info_injector<boost::
-filesystem::filesystem_error> >'
-   what(): boost::filesystem::status: Permission denied:
-     "/home/jane/foo"
-Aborted</pre>
-      </td>
-      <td style="font-size: 10pt" valign="top">
-      <pre>>dir e:\
-The device is not ready.
->tut2 e:\</pre>
-      <p><b><i>An exception is thrown; the exact form of the response depends on 
-      Windows system options.</i></b></td>
-    </tr>
-  </table>
-
-<p>On the Linux system, the test was being run from an account that did not have 
-permission to access <code>/home/jane/foo</code>. On the Windows system, <code>
-e:</code> was a Compact Disc reader/writer that was not ready. End users 
-shouldn't have to interpret cryptic exceptions reports, so as we move on to <code>tut3.cpp</code> 
-we will increase the robustness of the code, too.</p>
-
-<h2><a name="Directory-iteration">Directory iteration</a> plus catching 
-exceptions - (<a href="../example/tut3.cpp">tut3.cpp</a>)</h2>
-
-<p>Boost.Filesystem's <code><a href="reference.html#directory_iterator">
-directory_iterator</a></code> class is just what we need here. It follows the 
-general pattern of the standard library's <code>istream_iterator</code>. Constructed from 
-a path, it iterates over the contents of the directory. A default constructed <code>directory_iterator</code> 
-acts as the end iterator.</p>
-
-<p>The value type of <code>directory_iterator</code> is <code>
-<a href="reference.html#directory_entry">directory_entry</a></code>. A <code>
-directory_entry</code> object contains a <code>path</code> and <code><a href="reference.html#file_status">file_status</a></code> 
-information.  A <code>
-directory_entry</code> object 
-can be used directly, but can also be passed to <code>path</code> arguments in function calls.</p>
-
-<p>The other need is increased robustness in the face of the many kinds of 
-errors that can affect file system operations. We could do that at the level of 
-each call to a Boost.Filesystem function (see <a href="#Error-reporting">Error 
-reporting</a>), but it is easier to supply an overall try/catch block.</p>
-
-<table align="center" border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-  <tr>
-    <td style="font-size: 10pt">
-    <pre><a href="../example/tut3.cpp">tut3.cpp</a></pre>
-    <blockquote>
-      <pre>int main(int argc, char* argv[])
-{
-  <a href="reference.html#class-path">path</a> p (argv[1]);   // p reads clearer than argv[1] in the following code
-
-  try
-  {
-    if (<a href="reference.html#exists-path">exists</a>(p))    // does p actually exist?
-    {
-      if (<a href="reference.html#is_regular_file-path">is_regular_file</a>(p))        // is p a regular file?   
-        cout << p << " size is " << <a href="reference.html#file_size">file_size</a>(p) << '\n';
-
-      else if (<a href="reference.html#is_directory-path">is_directory</a>(p))      // is p a directory?
-      {
-        cout << p << " is a directory containing:\n";
-
-        copy(directory_iterator(p), directory_iterator(), // directory_iterator::value_type
-          ostream_iterator<directory_entry>(cout, "\n")); // is directory_entry, which is
-                                                          // converted to a path by the
-                                                          // path stream inserter
-      }
-
-      else
-        cout << p << " exists, but is neither a regular file nor a directory\n";
-    }
-    else
-      cout << p << " does not exist\n";
-  }
-
-  catch (const filesystem_error& ex)
-  {
-    cout << ex.what() << '\n';
-  }
-
-  return 0;
-}</pre>
-    </blockquote>
-    </td>
-  </tr>
-</table>
-
-<p>Give <code>tut3</code> a try, passing it a path to a directory as a command line argument. 
-Here is a run on a checkout of the Boost Subversion trunk, followed by a repeat 
-of the test cases that caused exceptions on Linux and Windows:</p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt" valign="top">
-      <pre>$ ./tut3 ~/boost/trunk
-/home/beman/boost/trunk is a directory containing:
-  /home/beman/boost/trunk/tools
-  /home/beman/boost/trunk/boost-build.jam
-  /home/beman/boost/trunk/dist
-  /home/beman/boost/trunk/doc
-  /home/beman/boost/trunk/bootstrap.sh
-  /home/beman/boost/trunk/index.html
-  /home/beman/boost/trunk/bootstrap.bat
-  /home/beman/boost/trunk/boost.css
-  /home/beman/boost/trunk/INSTALL
-  /home/beman/boost/trunk/rst.css
-  /home/beman/boost/trunk/boost
-  /home/beman/boost/trunk/people
-  /home/beman/boost/trunk/wiki
-  /home/beman/boost/trunk/boost.png
-  /home/beman/boost/trunk/LICENSE_1_0.txt
-  /home/beman/boost/trunk/more
-  /home/beman/boost/trunk/Jamroot
-  /home/beman/boost/trunk/.svn
-  /home/beman/boost/trunk/libs
-  /home/beman/boost/trunk/index.htm
-  /home/beman/boost/trunk/status
-  /home/beman/boost/trunk/CMakeLists.txt</pre>
-      </td>
-      <td style="font-size: 10pt" valign="top">
-      <pre>>tut3 c:\boost\trunk
-c:\boost\trunk is a directory containing:
-   c:\boost\trunk\.svn
-   c:\boost\trunk\boost
-   c:\boost\trunk\boost-build.jam
-   c:\boost\trunk\boost.css
-   c:\boost\trunk\boost.png
-   c:\boost\trunk\bootstrap.bat
-   c:\boost\trunk\bootstrap.sh
-   c:\boost\trunk\CMakeLists.txt
-   c:\boost\trunk\dist
-   c:\boost\trunk\doc
-   c:\boost\trunk\index.htm
-   c:\boost\trunk\index.html
-   c:\boost\trunk\INSTALL
-   c:\boost\trunk\Jamroot
-   c:\boost\trunk\libs
-   c:\boost\trunk\LICENSE_1_0.txt
-   c:\boost\trunk\more
-   c:\boost\trunk\people
-   c:\boost\trunk\rst.css
-   c:\boost\trunk\status
-   c:\boost\trunk\tools
-   c:\boost\trunk\wiki
-
->tut3 e:\
-boost::filesystem::status: The device is not ready: "e:\"</pre>
-      </td>
-    </tr>
-  </table>
-
-<p>Not bad, but we can make further improvements:</p>
-
-    <ul>
-      <li>The listing would be much easier to read if only the filename was 
-      displayed, rather than the full path.<br>
- </li>
-      <li>The Linux listing isn't sorted. That's because the ordering of 
-      directory iteration is unspecified. Ordering depends on the underlying 
-      operating system API and file system specifics. So we need to sort the 
-      results ourselves. </li>
-    </ul>
-
-<p>Move on to <code>tut4.cpp</code> to see how those changes play out!</p>
-
-<h2><a name="Using-path-decomposition">Using path decomposition, plus sorting results</a> - (<a href="../example/tut4.cpp">tut4.cpp</a>)</h2>
-
-<table align="center" border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-  <tr>
-    <td style="font-size: 10pt">
-    <pre><a href="../example/tut4.cpp">tut4.cpp</a></pre>
-    <blockquote style="font-size: 10pt">
-      <pre>int main(int argc, char* argv[])
-{
-  <a href="reference.html#class-path">path</a> p (argv[1]);   // p reads clearer than argv[1] in the following code
-
-  try
-  {
-    if (<a href="reference.html#exists-path">exists</a>(p))    // does p actually exist?
-    {
-      if (<a href="reference.html#is_regular_file-path">is_regular_file</a>(p))        // is p a regular file?   
-        cout << p << " size is " << <a href="reference.html#file_size">file_size</a>(p) << '\n';
-
-      else if (<a href="reference.html#is_directory-path">is_directory</a>(p))      // is p a directory?
-      {
-        cout << p << " is a directory containing:\n";
-
-        typedef vector<path> vec;             // store paths,
-        vec v;                                // so we can sort them later
-
-        copy(directory_iterator(p), directory_iterator(), back_inserter(v));
-
-        sort(v.begin(), v.end());             // sort, since directory iteration
-                                              // is not ordered on some file systems
-  
-        for (vec::const_iterator it (v.begin()); it != v.end(); ++it)
-        {
-          cout << "   " << *it << '\n';
-        }
-      }
-
-      else
-        cout << p << " exists, but is neither a regular file nor a directory\n";
-    }
-    else
-      cout << p << " does not exist\n";
-  }
-
-  catch (const filesystem_error& ex)
-  {
-    cout << ex.what() << '\n';
-  }
-
-  return 0;
-}</pre>
-    </blockquote>
-    </td>
-  </tr>
-</table>
-
-    <p>The key difference between <code>tut3.cpp</code> and <code>tut4.cpp</code> is 
-    what happens in the directory iteration loop. We changed:</p>
-    <blockquote>
-      <pre>cout << " " << *it << '\n';   // *it returns a <a href="reference.html#Class-directory_entry">directory_entry</a>,</pre>
-    </blockquote>
-    <p>to:</p>
-    <blockquote>
-      <pre>path fn = it->path().filename();   // extract the filename from the path
-v.push_back(fn);                   // push into vector for later sorting</pre>
-    </blockquote>
-    <p><code><a href="reference.html#directory_entry-observers">path()</a></code> 
-    is a <code>directory_entry</code> observer function. <code>
-    <a href="reference.html#path-filename">filename()</a></code> is one of 
-    several path decomposition functions. It extracts the filename portion (<code>"index.html"</code>) 
-    from a path (<code>"/home/beman/boost/trunk/index.html"</code>). These decomposition functions are 
-    more fully explored in the <a href="#Class path-iterators-etc">Path iterators, observers, 
-    composition, decomposition and query</a> portion of this tutorial.</p>
-    <p>The above was written as two lines of code for clarity. It could have 
-    been written more concisely as:</p>
-    <blockquote>
-      <pre>v.push_back(it->path().filename()); // we only care about the filename</pre>
-    </blockquote>
-    <p>Here is the output from a test of <code><a href="../example/tut4.cpp">tut4.cpp</a></code>:</p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt">
-      <pre>$ ./tut4 ~/boost/trunk
-/home/beman/boost/trunk is a directory containing:
-  .svn
-  CMakeLists.txt
-  INSTALL
-  Jamroot
-  LICENSE_1_0.txt
-  boost
-  boost-build.jam
-  boost.css
-  boost.png
-  bootstrap.bat
-  bootstrap.sh
-  doc
-  index.htm
-  index.html
-  libs
-  more
-  people
-  rst.css
-  status
-  tools
-  wiki</pre>
-      </td>
-      <td style="font-size: 10pt">
-      <pre>C:\v3d>tut4 c:\boost\trunk
-c:\boost\trunk is a directory containing:
-  .svn
-  CMakeLists.txt
-  INSTALL
-  Jamroot
-  LICENSE_1_0.txt
-  boost
-  boost-build.jam
-  boost.css
-  boost.png
-  bootstrap.bat
-  bootstrap.sh
-  doc
-  index.htm
-  index.html
-  libs
-  more
-  people
-  rst.css
-  status
-  tools
-  wiki</pre>
-      </td>
-    </tr>
-  </table>
-
-    <p>That completes the main portion of this tutorial. If you haven't already 
-    worked through the <a href="#Class-path-Constructors">Class path</a> sections of this tutorial, dig into them now. 
-    The <a href="#Error-reporting">Error reporting</a> section may also be of 
-    interest, although it can be skipped unless you are deeply concerned about 
-    error handling issues.</p>
-
-<hr>
-
-<h2> <a name="Class-path-Constructors">Class path: Constructors</a>, 
-including Unicode - (<a href="../example/tut5.cpp">tut5.cpp</a>)</h2>
-
-<p>Traditional C interfaces pass paths as <code>const char*</code> arguments. 
-C++ interfaces may add <code>const std::string&</code> overloads, but adding 
-overloads becomes untenable if wide characters, containers, and iterator ranges 
-need to be supported.</p>
-<p>Passing paths as <code>const path&</code> arguments is far simpler, yet far 
-more flexible because class <code>path</code> itself is far more flexible:</p>
-<ol>
-  <li>Class <code>path</code> supports multiple character types and encodings, including Unicode, to 
-  ease internationalization.</li>
-  <li>Class <code>path</code> supports multiple source types, such as iterators for null terminated 
-  sequences, iterator ranges, containers (including <code>std::basic_string</code>), 
-  and <code><a href="reference.html#Class-directory_entry">directory_entry</a></code>'s, 
-  so functions taking paths don't need to provide several overloads.</li>
-  <li>Class <code>path</code> supports both native and generic pathname formats, so programs can be 
-  portable between operating systems yet use native formats where desirable.</li>
-  <li>Class <code>path</code> supplies a full set of iterators, observers, composition, 
-  decomposition, and query functions, making pathname manipulations easy, 
-  convenient, reliable, and portable.</li>
-</ol>
-<p>Here is how (1) and (2) work. Class path constructors, 
-assignments, and appends have member templates for sources. For example, here 
-are the constructors that take sources:</p>
-
-<blockquote style="font-size: 10pt">
-  <pre>template <class <a href="reference.html#Source">Source</a>>
-  path(Source const& source);</pre>
-  <pre>template <class InputIterator>
-  path(InputIterator begin, InputIterator end);</pre>
-</blockquote>
-<p>Let's look at a little program that shows how comfortable class <code>path</code> is with 
-both narrow and wide characters in C-style strings, C++ strings, and via C++ 
-iterators:</p>
-
-<table align="center" border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-  <tr>
-    <td style="font-size: 10pt">
-    <pre><a href="../example/tut4.cpp">tut5.cpp</a></pre>
-    <blockquote>
-      <pre>#include <boost/filesystem.hpp>
-#include <string>
-#include <list>
-namespace fs = boost::filesystem;
-
-int main()
-{
-  // \u263A is "Unicode WHITE SMILING FACE = have a nice day!"
-  std::string narrow_string ("smile2");
-  std::wstring wide_string (L"smile2\u263A");
-  std::list<char> narrow_list;
-  narrow_list.push_back('s');
-  narrow_list.push_back('m');
-  narrow_list.push_back('i');
-  narrow_list.push_back('l');
-  narrow_list.push_back('e');
-  narrow_list.push_back('3');
-  std::list<wchar_t> wide_list;
-  wide_list.push_back(L's');
-  wide_list.push_back(L'm');
-  wide_list.push_back(L'i');
-  wide_list.push_back(L'l');
-  wide_list.push_back(L'e');
-  wide_list.push_back(L'3');
-  wide_list.push_back(L'\u263A');
-
-  { fs::ofstream f("smile"); }
-  { fs::ofstream f(L"smile\u263A"); }
-  { fs::ofstream f(narrow_string); }
-  { fs::ofstream f(wide_string); }
-  { fs::ofstream f(narrow_list); }
-  { fs::ofstream f(wide_list); }
-  narrow_list.pop_back();
-  narrow_list.push_back('4');
-  wide_list.pop_back();
-  wide_list.pop_back();
-  wide_list.push_back(L'4');
-  wide_list.push_back(L'\u263A');
-  { fs::ofstream f(fs::path(narrow_list.begin(), narrow_list.end())); }
-  { fs::ofstream f(fs::path(wide_list.begin(), wide_list.end())); }
-
-  return 0;
-}</pre>
-    </blockquote>
-    </td>
-  </tr>
-</table>
-
-<p>Testing <code>tut5</code>:</p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt" valign="top">
-      <pre>$ ./tut5
-$ ls smile*
-smile smile☺ smile2 smile2☺ smile3 smile3☺ smile4 smile4☺</pre>
-      </td>
-      <td style="font-size: 10pt" valign="top">
-      <pre>>tut5
->dir /b smile*
-smile
-smile2
-smile2☺
-smile3
-smile3☺
-smile4
-smile4☺
-smile☺</pre>
-      </td>
-    </tr>
-  </table>
-
-<p>Note that the exact appearance of the smiling face will depend on the font, 
-font size, and other settings for your command line window. The above tests were 
-run with out-of-the-box Ubuntu 9.10 and Windows 7, US Edition. If you don't get 
-the above results, take a look at the <code><i>boost-root</i>/libs/filesystem/example/test</code> 
-directory with your system's GUI file browser, such as Linux Nautilus, Mac OS X 
-Finder, or Windows Explorer. These tend to be more comfortable with 
-international character sets than command line interpreters.</p>
-
-  <p>Class <code>path</code> takes care of whatever character type or encoding 
-  conversions are required by the particular operating system. Thus as <code>
-  tut5</code> demonstrates, it's no problem to pass a wide character string to a 
-  Boost.Filesystem operational function even if the underlying operating system 
-  uses narrow characters, and visa versa. And the same applies to user supplied 
-  functions that take <code>const path&</code> arguments.</p>
-
-  <p>Class <code>path</code> also provides path syntax that is portable across operating systems, 
-  element iterators, and observer, composition, decomposition, and query 
-  functions to manipulate the elements of a path. The next section of this 
-  tutorial deals with path syntax.</p>
-
-    <hr>
-
-<h2><a name="Class-path-formats">Class path: Generic format vs. Native format</a></h2>
-
-<p dir="ltr">Class <code>path</code> deals with two different pathname 
-formats - generic format and native format. For POSIX-like 
-file systems, these formats are the same. But for users of Windows and 
-other non-POSIX file systems, the distinction is important. Even 
-programmers writing for POSIX-like systems need to understand the distinction if 
-they want their code to be portable to non-POSIX systems.</p>
-
-<p dir="ltr">The <b>generic format</b> is the familiar <code>/my_directory/my_file.txt</code> format used by POSIX-like 
-operating systems such as the Unix variants, Linux, and Mac OS X. Windows also 
-recognizes the generic format, and it is the basis for the familiar Internet URL 
-format. The directory 
-separator character is always one or more slash characters.</p>
-
-<p dir="ltr">The <b>native format</b> is the format as defined by the particular 
-operating system. For Windows, either the slash or the backslash can be used as 
-the directory separator character, so <code>/my_directory\my_file.txt</code> 
-would work fine. Of course, if you write that in a C++ string literal, it 
-becomes <code>"/my_directory\\my_file.txt"</code>.</p>
-
-<p dir="ltr">If a drive specifier or a backslash appears 
-in a pathname on a Windows system, it is always treated as the native format.</p>
-
-<p dir="ltr">Class <code>path</code> has observer functions that allow you to 
-obtain the string representation of a path object in either the native format 
-or the generic format. See the <a href="#Class path-iterators-etc">next section</a> 
-for how that plays out.</p>
-
-  <p>The distinction between generic format and native format is important when 
-  communicating with native C-style API's and with users. Both tend to expect 
-  paths in the native format and may be confused by the generic format. The generic 
-  format is great, however, for writing portable programs that work regardless 
-  of operating system.</p>
-
-  <p>The next section covers class <code>path</code> observers, composition, 
-  decomposition, query, and iteration over the elements of a path.</p>
-
-    <hr>
-
-<h2><a name="Class path-iterators-etc">Class path: Iterators, observers, composition, decomposition, and query</a> 
-- (<a href="../example/path_info.cpp">path_info.cpp</a>)</h2>
-
-<p>The <code><a href="../example/path_info.cpp">path_info.cpp</a></code> program is handy for learning how class <code>path</code> 
-iterators, 
-observers, composition, decomposition, and query functions work on your system. 
-If it hasn't already already been built on your system, please build it now. Run 
-the examples below on your system, and try some different path arguments as we 
-go along.</p>
-
-<p> <code>path_info</code> produces several dozen output lines every time it's 
-invoked. We will only show the output lines we are interested in at each step.</p>
-
-<p>First we'll look at iteration over the elements of a path, and then use 
-iteration to illustrate the difference between generic and native format paths.</p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt">
-      <pre>$ ./path_info /foo/bar/baa.txt
-...
-elements:
-  /
-  foo
-  bar
-  baa.txt</pre>
-      </td>
-      <td style="font-size: 10pt">
-      <pre>>path_info /foo/bar/baa.txt
-...
-elements:
-  /
-  foo
-  bar
-  baa.txt</pre>
-      </td>
-    </tr>
-  </table>
-
-<p>Thus on both POSIX and Windows based systems the path <code>"/foo/bar/baa.txt"</code> 
-is seen as having four elements.</p>
-
-<p>Here is the code that produced the above listing:</p>
-
-<table align="center" border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-  <tr>
-    <td style="font-size: 10pt">
-    <blockquote style="font-size: 10pt">
-    <pre>cout << "\nelements:\n";
-
-for (path::iterator it = p.begin(); it != p.end(); ++it)
-  cout << " " << *it << '\n';</pre>
-    </blockquote>
-    </td>
-  </tr>
-</table>
-<p><code>path::iterator::value_type</code> is <code>path::string_type</code>, 
-and iteration treats <code>path</code> as a container of filenames.</p>
-
-<p dir="ltr">Let's look at some of the output from a slightly different 
-example:</p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt">
-      <pre>$ ./path_info /foo/bar/baa.txt
-
-composed path:
-  cout << -------------: /foo/bar/baa.txt
-  preferred()----------: /foo/bar/baa.txt
-...
-observers, native format:
-  native()-------------: /foo/bar/baa.txt
-  c_str()--------------: /foo/bar/baa.txt
-  string()-------------: /foo/bar/baa.txt
-  wstring()------------: /foo/bar/baa.txt
-
-observers, generic format:
-  generic_string()-----: /foo/bar/baa.txt
-  generic_wstring()----: /foo/bar/baa.txt</pre>
-      </td>
-      <td style="font-size: 10pt">
-      <pre>>path_info /foo/bar\baa.txt
-
-composed path:
-  cout << -------------: /foo/bar/baa.txt
-  preferred()----------: \foo\bar\baa.txt
-...
-observers, native format:
-  native()-------------: /foo/bar\baa.txt
-  c_str()--------------: /foo/bar\baa.txt
-  string()-------------: /foo/bar\baa.txt
-  wstring()------------: /foo/bar\baa.txt
-
-observers, generic format:
-  generic_string()-----: /foo/bar/baa.txt
-  generic_wstring()----: /foo/bar/baa.txt</pre>
-      </td>
-    </tr>
-  </table>
-
-<p dir="ltr">Native format observers should be used when interacting with the 
-operating system or with users; that's what they expect.</p>
-
-<p dir="ltr">Generic format observers should be used when the results need to be 
-portable and uniform regardless of the operating system.</p>
-
-<p dir="ltr"><code>path</code> objects always hold pathnames in the native 
-format, but otherwise leave them unchanged from their source. The
-<a href="reference.html#preferred">preferred()</a> function will convert to the 
-preferred form, if the native format has several forms. Thus on Windows, it will 
-convert slashes to backslashes.</p>
-
-<p dir="ltr">Let's move on to decomposition and query functions:</p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt">
-      <pre>$ ./path_info /foo/bar/baa.txt
-...
-decomposition:
-  root_name()----------:
-  root_directory()-----: /
-  root_path()----------: /
-  relative_path()------: foo/bar/baa.txt
-  parent_path()--------: /foo/bar
-  filename()-----------: baa.txt
-  stem()---------------: baa
-  extension()----------: .txt
-
-query:
-  empty()--------------: false
-  <span style="background-color: #FFFF00">is_absolute</span><span style="background-color: #FFFF00">()--------: true</span>
-  has_root_name()------: false
-  has_root_directory()-: true
-  has_root_path()------: true
-  has_relative_path()--: true
-  has_parent_path()----: true
-  has_filename()-------: true
-  has_stem()-----------: true
-  has_extension()------: true</pre>
-      </td>
-      <td style="font-size: 10pt">
-      <pre>>path_info /foo/bar/baa.txt
-...
-decomposition:
-  root_name()----------:
-  root_directory()-----: /
-  root_path()----------: /
-  relative_path()------: foo/bar/baa.txt
-  parent_path()--------: /foo/bar
-  filename()-----------: baa.txt
-  stem()---------------: baa
-  extension()----------: .txt
-
-query:
-  empty()--------------: false
-  <span style="background-color: #FFFF00">is_absolute</span><span style="background-color: #FFFF00">()--------: false</span>
-  has_root_name()------: false
-  has_root_directory()-: true
-  has_root_path()------: true
-  has_relative_path()--: true
-  has_parent_path()----: true
-  has_filename()-------: true
-  has_stem()-----------: true
-  has_extension()------: true</pre>
-      </td>
-    </tr>
-  </table>
-
-<p dir="ltr">These are pretty self-evident, but do note the difference in the 
-result of <code>is_absolute()</code> between Linux and Windows. Because there is 
-no root name (i.e. drive specifier or network name), a lone slash (or backslash) 
-is a relative path on Windows. </p>
-
-<p dir="ltr">On to composition!</p>
-
-<p>Class <code>path</code> uses <code>/</code> and <code>/=</code> operators to 
-append elements. That's a reminder 
-that these operations append the operating system's preferred directory 
-separator if needed. The preferred 
-directory separator is a slash on POSIX-like systems, and a backslash on 
-Windows-like systems.</p>
-
-<p><a href="../example/path_info.cpp"><code>path_info.cpp</code></a> 
-composes a path by appending each of the command line elements to an initially 
-empty path:</p>
-
-<table align="center" border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-  <tr>
-    <td style="font-size: 10pt">
-    <blockquote>
-    <pre>path p;  // compose a path from the command line arguments
-
-for (; argc > 1; --argc, ++argv)
-  p /= argv[1];
-
-cout << "\ncomposed path:\n";
-cout << " cout << -------------: " << p << "\n";
-cout << " preferred()----------: " << p.preferred() << "\n";</pre>
-    </blockquote>
-    </td>
-  </tr>
-</table>
-
-<p>Let's give this code a try: </p>
-
-  <table align="center" border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="90%">
-    <tr>
-      <td align="center" width="50%" style="font-size: 10pt"><i><b>Ubuntu Linux </b></i></td>
-      <td align="center" style="font-size: 10pt"><i><b>Microsoft Windows</b></i></td>
-    </tr>
-    <tr>
-      <td width="50%" style="font-size: 10pt">
-      <pre>$ ./path_info / foo/bar baa.txt
-
-composed path:
-  cout << -------------: /foo/bar/baa.txt
-  preferred()----------: /foo/bar/baa.txt</pre>
-      </td>
-      <td style="font-size: 10pt">
-      <pre>>path_info / foo/bar baa.txt
-
-composed path:
-  cout << -------------: /foo/bar\baa.txt
-  preferred()----------: \foo\bar\baa.txt</pre>
-      </td>
-    </tr>
-  </table>
-
-    <p> </p>
-
-  <hr>
-
-  <h2><a name="Error-reporting">Error reporting</a></h2>
-
-  <p>The Boost.Filesystem <code>file_size</code> function has two overloads:</p>
-
-  <blockquote>
-  <pre><span style="background-color: #FFFFFF; ">uintmax_t</span> <a name="file_size">file_size</a>(const path& p);
-<span style="background-color: #FFFFFF; ">uintmax_t</span> <a name="file_size2">file_size</a>(const path& p, system::error_code& ec);</pre>
-</blockquote>
-<p>The only significant difference between the two is how they report errors.</p>
-<p>The 
-  first signature will throw exceptions to report errors. A <code>
-<a href="reference.html#Class-filesystem_error">filesystem_error</a></code> exception will be thrown 
-on an 
-  operational error. <code>filesystem_error</code> is derived from <code>std::runtime_error</code>. 
-It has a 
-  member function to obtain the <code>
-<a href="../../../system/doc/reference.html#Class-error_code">error_code</a></code> reported by the source 
-  of the error. It also has member functions to obtain the path or paths that caused 
-  the error.</p>
-
-  <blockquote>
-
-  <p><b>Motivation for the second signature:</b> Throwing exceptions on errors was the entire error reporting story for the earliest versions of 
-  Boost.Filesystem, and indeed throwing exceptions on errors works very well for 
-  many applications. But user reports trickled in that some code became so 
-  littered with try and catch blocks as to be unreadable and unmaintainable. In 
-  some applications I/O errors aren't exceptional, and that's the use case for 
-  the second signature.</p>
-
-  </blockquote>
-
-  <p>Functions with a <code>system::error_code&</code> argument set that 
-  argument to report operational error status, and so do not throw exceptions when I/O 
-  related errors occur. For a full explanation, see
-  <a href="reference.html#Error-reporting">Error reporting</a> in the reference 
-  documentation. </p>
-
-<hr>
-<p>� Copyright Beman Dawes 2010</p>
-<p>Distributed under the Boost Software License, Version 1.0. See
-<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a></p>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->20 February 2011<!--webbot bot="Timestamp" endspan i-checksum="40667" --></p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/doc/v3.html b/SRC/Boost/libs/filesystem/v3/doc/v3.html
deleted file mode 100755
index c15cddf..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/v3.html
+++ /dev/null
@@ -1,151 +0,0 @@
-<html>
-
-<head>
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Filesystem V3 Intro</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-
-<body>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td width="277">
-<a href="../../../../index.htm">
-<img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td>
-    <td align="middle">
-    <font size="7">Filesystem
-    Version 3<br>
-    Introduction</font></td>
-  </tr>
-</table>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
-  <tr>
-    <td><a href="index.htm">Filesystem Home</a>   
-    <a href="release_history.html">Releases</a>   
-    <a href="reference.html">Reference</a>   
-    <a href="tutorial.html">Tutorial</a>   
-    <a href="faq.htm">FAQ</a>   
-    <a href="portability_guide.htm">Portability</a>   
-    <a href="v3.html">V3 Intro</a>   
-    <a href="v3_design.html">V3 Design</a>   
-    <a href="deprecated.html">Deprecated</a>   
-    </td>
-  </tr>
-</table>
-
-<h1>Boost Filesystem Version 3</h1>
-
-<p>Version 3 is a major revision of the Boost Filesystem library. Important 
-changes include:</p>
-
-<ul>
-  <li>A single class <code>path</code> handles all aspects of 
-  internationalization, replacing the previous template and its <code>path</code> 
-  and <code>wpath</code> instantiations. Character types <code>char</code>,
-  <code>wchar_t</code>, <code>char16_t</code>, and <code>char32_t</code> are 
-  supported. This is a major simplification of the path abstraction, 
-  particularly for functions that take path arguments.<br>
- </li>
-  <li>New <code>class path</code> members include:<br>
- <ul>
-  <li><code><a href="reference.html#path-has_stem">has_stem</a>()</code></li>
-  <li><code><a href="reference.html#path-has_extension">has_extension</a>()</code></li>
-  <li><code><a href="reference.html#path-is_absolute">is_absolute</a>()</code>. This renames <code>is_complete()</code>, which 
-  is now deprecated.</li>
-  <li><code><a href="reference.html#path-is_relative">is_relative</a>()</code></li>
-  <li><code><a href="reference.html#path-make_preferred">make_preferred</a>()<br>
- </code></li>
-</ul>
-
-  </li>
-  <li>New or improved operations functions include:<br>
- <ul>
-    <li><code><a href="reference.html#absolute">absolute</a>()</code>. This replaces the operations function <code>
-  complete()</code>, which is now deprecated. Semantics are now provided for a 
-    Windows corner case where the <code>base</code> argument was not an absolute 
-    path. Previously this resulted in an exception being thrown.</li>
-    <li><code><a href="reference.html#create_symlink">create_symlink</a>()</code> now supported on both POSIX and Windows.</li>
-    <li><code><a href="reference.html#read_symlink">read_symlink</a>()</code> function added. Supported on both POSIX and 
-    Windows. Used to read the contents of a symlink itself.</li>
-    <li><code><a href="reference.html#resize_file">resize_file</a>()</code> function added. Supported on both POSIX and 
-    Windows. Used to shrink or grow a regular file.</li>
-    <li><code><a href="reference.html#unique_path">unique_path</a>()</code> function added. Supported on both POSIX and 
-    Windows. Used to generate a secure temporary pathname.<br>
- </li>
-  </ul>
-  </li>
-  <li>Support for error reporting via <code>error_code</code> is now uniform 
-  throughout the operations functions.<br>
- </li>
-  <li>Documentation has been reworked, including re-writes of major portions.<br>
- </li>
-  <li>A new <a href="tutorial.html">Tutorial</a> provides a hopefully much 
-  gentler and more complete introduction for new users. Current users might want 
-  to review the <a href="tutorial.html">three sections related to class path</a>.</li>
-</ul>
-
-<h2>Deprecated names and other features</h2>
-
-<p>See the <a href="deprecated.html">Deprecated Features page</a> for transition 
-aids that allow much existing code to compile without change using Version 3.</p>
-
-<h2>Breaking changes</h2>
-
-<p>To ease the transition, Versions 2 and 3 will both be included in the next 
-several Boost releases. Version 2 will be the default version for one release 
-cycle, and then Version 3 will become the default version.</p>
-<h3>Class <code>path</code></h3>
-<ul>
-  <li>Class template <code>basic_path</code> and its specializations are 
-  replaced by a single <code>class path</code>. Thus any code, such as 
-  overloaded functions, that depends on <code>path</code> and <code>wpath</code> 
-  being two distinct types will fail to compile and must be restructured. 
-  Restructuring may be as simple as removing one of the overloads, but also 
-  might require more complex redesign.<br>
- </li>
-  <li>Certain functions now return <code>path</code> objects rather than <code>
-  string or wstring</code> objects:<ul>
-    <li><code>root_name()</code></li>
-    <li><code>root_directory()</code></li>
-    <li><code>filename()</code></li>
-    <li><code>stem()</code></li>
-    <li><code>extension()</code></li>
-  </ul>
-  <p>Not all uses will fail; if the function is being called in a context that 
-  accepts a <code>path</code>, all is well. If the result is being used in a 
-  context requiring a <code>std::string</code> or <code>std::wstring</code>, 
-  then <code>.string()</code> or <code>.wstring()</code> respectively must be 
-  appended to the function call.<br>
- </li>
-  <li> <code>path::iterator::value_type</code> and  <code>
-  path::const_iterator::value_type</code> is <code>path</code> rather than <code>
-  basic_string</code>.</li>
-</ul>
-<h3>Compiler support</h3>
-<ul>
-  <li>Compilers and standard libraries that do not fully support wide characters 
-  and wide character strings (<code>std::wstring</code>) are no longer 
-  supported.<br>
- </li>
-  <li>Cygwin versions prior to 1.7 are no longer supported because they lack 
-  wide string support. Cygwin now compiles only for the Windows API and path 
-  syntax.<br>
- </li>
-  <li>MinGW versions not supporting wide strings are no longer supported.<br>
- </li>
-  <li>Microsoft VC++ 7.1 and earlier are no longer supported.</li>
-</ul>
-
-<hr>
-<p>� Copyright Beman Dawes, 2009</p>
-<p>Distributed under the Boost Software License, Version 1.0. See
-<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a></p>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->20 February 2011<!--webbot bot="Timestamp" endspan i-checksum="40667" --></p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/doc/v3_design.html b/SRC/Boost/libs/filesystem/v3/doc/v3_design.html
deleted file mode 100755
index f8cee2a..0000000
--- a/SRC/Boost/libs/filesystem/v3/doc/v3_design.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Filesystem V3 Design</title>
-<link rel="stylesheet" type="text/css" href="../../../../doc/src/minimal.css">
-</head>
-
-<body>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
-  <tr>
-    <td>
-<a href="../../../../index.htm">
-<img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="middle" border="0" width="300" height="86"></a></td>
-    <td align="middle">
-    <font size="7">Filesystem Version 3<br>
-    Design</font></td>
-  </tr>
-</table>
-
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
-  <tr>
-    <td><a href="index.htm">Filesystem Home</a>   
-    <a href="release_history.html">Releases</a>   
-    <a href="reference.html">Reference</a>   
-    <a href="tutorial.html">Tutorial</a>   
-    <a href="faq.htm">FAQ</a>   
-    <a href="portability_guide.htm">Portability</a>   
-    <a href="v3.html">V3 Intro</a>   
-    <a href="v3_design.html">V3 Design</a>   
-    <a href="deprecated.html">Deprecated</a>   
-    </td>
-  </tr>
-</table>
-
-<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" align="right">
-  <tr>
-    <td width="100%" bgcolor="#D7EEFF" align="center">
-      <i><b>Contents</b></i></td>
-  </tr>
-  <tr>
-    <td width="100%" bgcolor="#E8F5FF">
-    <a href="#Introduction">Introduction</a><br>
-    <a href="#Problem">Problem</a><br>
-    <a href="#Solution">Solution</a><br>
-    <a href="#Details">Details</a><br>
-    <a href="#Other-changes">Other changes</a><br>
-    <a href="#Acknowledgements">Acknowledgements</a></td>
-  </tr>
-  </table>
-
-<p><b>Caution:</b> This page documents thinking early in the V3 development 
-process, and is intended to serve historical purposes. It is not updated to 
-reflect the current state of the library.</p>
-
-<h2><a name="Introduction">Introduction</a></h2>
-
-<p>During the review of Boost.Filesystem.V2 (Internationalization), Peter Dimov 
-suggested that the<code> basic_path</code> class template was unwieldy, and that a single 
-path type that accommodated multiple character types and encodings would be more 
-flexible. Although I wasn't willing to stop development at that time to 
-explore how this idea might be implemented, or to break from the pattern for 
-Internationalization used the C++ standard library, I've often thought about 
-Peter's suggestion. With the advent of C++0x <code>char16_t</code> and <code>char32_t</code> character 
-types, the <code>basic_path</code> class template approach becomes even more unwieldy, so it 
-is time to revisit the problem in light of Peter's suggestion.</p>
-
-<h2><b><a name="Problem">Problem</a></b></h2>
-
-<p>With Filesystem.V2, a path argument to a user defined function that is to 
-accommodate multiple character types and encodings must be written as a 
-template. Do-the-right-thing overloads or template metaprogramming must be 
-employed to allow arguments to be written as string literals. Here's what it 
-looks like:</p>
-
-<blockquote>
-  <pre>template<class Path>
-void foo( const Path & p );</pre>
-  <pre>inline void foo( const path & p )
-{
-  return foo<path>( p );
-}
-inline void foo( const wpath & p )
-{
-  return foo<wpath>( p );
-}</pre>
-</blockquote>
-<p>That's really ugly for such a simple need, and there would be a combinatorial 
-explosion if the function took multiple Path arguments and each could be either 
-narrow or wide. It gets even worse if the C++0x <code>char16_t</code> and <code>
-char32_t</code> types are to be supported.</p>
-
-<h2><a name="Solution">Solution</a></h2>
-
-<p>Overview:</p>
-
-<ul>
-  <li>A single, non-template, <code>class path</code>.</li>
-  <li>Each member function is a template accommodating the various 
-  applicable character types, including user-defined character types.</li>
-  <li>Hold the path internally in a string of the type used by the operating 
-  system API; <code>std::string</code> for POSIX, <code>std::wstring</code> for Windows.</li>
-</ul>
-
-<p>The signatures presented in <a href="#Problem">Problem</a> collapse to 
-simply:</p>
-<blockquote>
-  <pre>void foo( const path & p );</pre>
-</blockquote>
-
-<p>That's a signification reduction in code complexity. Specification becomes 
-simpler, too. I believe it will be far easier to teach, and result in much more 
-flexible user code.</p>
-
-<p>Other benefits:</p>
-<ul>
-  <li>All the polymorphism still occurs at compile time.</li>
-  <li>Efficiency is increased, in that conversions of the encoding, if required, 
-  only occur once at the time of creation, not each time the path is used.</li>
-  <li>The size of the implementation code drops approximately in half and 
-  becomes much more readable.</li>
-</ul>
-  <p>Possible problems:</p>
-<ul>
-  <li>The combination of member function templates and implicit constructors can 
-  result in unclear error messages when the user makes simple commonplace coding 
-  errors. This should be much less of a problem with C++ concepts, but in the 
-  meantime work continues to restrict over aggressive templates via enable_if/disable_if.</li>
-</ul>
-  <h2><a name="Details">Details</a></h2>
-
-<table border="1" cellpadding="4" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
-  <tr>
-    <td width="33%" colspan="3">
-    <p align="center"><b><i>Encoding </i></b><i><b>Conversions</b></i></td>
-  </tr>
-  <tr>
-    <td width="33%">
-    <p align="center"><i><b>Host system</b></i></td>
-    <td width="33%">
-    <p align="center"><i><b>char string path arguments</b></i></td>
-    <td width="34%">
-    <p align="center"><i><b>wide string path arguments</b></i></td>
-  </tr>
-  <tr>
-    <td width="33%">Systems with <code>char</code> as the native API path character type (i.e. 
-    POSIX-like systems)</td>
-    <td width="33%">No conversion.</td>
-    <td width="34%">Conversion occurs, performed by the current path locale's 
-    <code>codecvt</code> facet.</td>
-  </tr>
-  <tr>
-    <td width="33%">Systems with <code>wchar_t</code> as the native API path character type 
-    (i.e. Windows-like systems).</td>
-    <td width="33%">Conversion occurs, performed by the current path locale's 
-    <code>codecvt</code> facet.</td>
-    <td width="34%">No conversion.</td>
-  </tr>
-</table>
-
-<p>When a class path function argument type matches the the operating system's 
-API argument type for paths, no conversion is performed rather than conversion 
-to a specified encoding such as one of the Unicode encodings. This avoids 
-unintended consequences, etc.</p>
-
-<h2><a name="Other-changes">Other changes</a></h2>
-
-<p><b>Uniform hybrid error handling: </b>The hybrid error handling idiom has 
-been consistently applied to all applicable functions.</p>
-
-<h2><a name="Acknowledgements">Acknowledgements</a></h2>
-
-<p>Peter Dimov suggested the idea of a single path class that could cope with 
-multiple character types and encodings. Walter Landry contributed both the design and implementation of the copy_any, 
-copy_directory, copy_symlink, and read_symlink functions.</p>
-
-<hr>
-<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->20 February, 2011<!--webbot bot="Timestamp" endspan i-checksum="40524" --></p>
-
-<p>© Copyright Beman Dawes, 2008</p>
-<p> Use, modification, and distribution are subject to the Boost Software 
-License, Version 1.0. See <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a></p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/example/Jamfile.v2 b/SRC/Boost/libs/filesystem/v3/example/Jamfile.v2
deleted file mode 100755
index 9bc2687..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/Jamfile.v2
+++ /dev/null
@@ -1,27 +0,0 @@
-# Boost Filesystem Library Example Jamfile
- 
-# (C) Copyright Vladimir Prus 2003
-
-# Distributed under the Boost Software License, Version 1.0.
-# See www.boost.org/LICENSE_1_0.txt
-
-# Library home page: http://www.boost.org/libs/filesystem
-
-project
-    : requirements
-      <library>/boost/filesystem//boost_filesystem
-      <library>/boost/system//boost_system
-      <toolset>msvc:<asynch-exceptions>on
-      <link>static
-    ;
-    
-exe tut0 : tut0.cpp ;
-exe tut1 : tut1.cpp ;
-exe tut2 : tut2.cpp ;
-exe tut3 : tut3.cpp ;
-exe tut4 : tut4.cpp ;
-exe tut5 : tut5.cpp ;
-exe path_info : path_info.cpp ;
-exe file_status : file_status.cpp ;
-
-install bin : file_status ;    #invoke via "bjam", not "bjam install"
diff --git a/SRC/Boost/libs/filesystem/v3/example/error_demo.cpp b/SRC/Boost/libs/filesystem/v3/example/error_demo.cpp
deleted file mode 100755
index 4698e89..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/error_demo.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-//  error_demo.cpp  --------------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//  The purpose of this program is to demonstrate how error reporting works.            //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-#include <boost/filesystem.hpp>
-#include <boost/system/system_error.hpp>
-#include <iostream>
-
-using std::cout;
-using boost::filesystem::path;
-using boost::filesystem::filesystem_error;
-using boost::system::error_code;
-using boost::system::system_error;
-namespace fs = boost::filesystem;
-
-namespace
-{
-  void report_system_error(const system_error& ex)
-  {
-    cout << " threw system_error:\n"
-         << "    ex.code().value() is " << ex.code().value() << '\n'
-         << "    ex.code().category().name() is " << ex.code().category().name() << '\n'
-         << "    ex.what() is " << ex.what() << '\n'
-         ;
-  }
-
-  void report_filesystem_error(const system_error& ex)
-  {
-    cout << "  threw filesystem_error exception:\n"
-         << "    ex.code().value() is " << ex.code().value() << '\n'
-         << "    ex.code().category().name() is " << ex.code().category().name() << '\n'
-         << "    ex.what() is " << ex.what() << '\n'
-         ;
-  }
-
-  void report_status(fs::file_status s)
-  {
-    cout << "  file_status::type() is ";
-    switch (s.type())
-    {
-    case fs::status_error:
-      cout << "status_error\n"; break;
-    case fs::file_not_found:
-      cout << "file_not_found\n"; break;
-    case fs::regular_file:
-      cout << "regular_file\n"; break;
-    case fs::directory_file:
-      cout << "directory_file\n"; break;
-    case fs::symlink_file:
-      cout << "symlink_file\n"; break;
-    case fs::block_file:
-      cout << "block_file\n"; break;
-    case fs::character_file:
-      cout << "character_file\n"; break;
-    case fs::fifo_file:
-      cout << "fifo_file\n"; break;
-    case fs::socket_file:
-      cout << "socket_file\n"; break;
-    case fs::type_unknown:
-      cout << "type_unknown\n"; break;
-    default:
-      cout << "not a valid enumeration constant\n";
-    }
-  }
-
-  void report_error_code(const error_code& ec)
-  {
-    cout << "  ec:\n"
-         << "    value() is " << ec.value() << '\n'
-         << "    category().name() is " << ec.category().name() << '\n'
-         << "    message() is " <<  ec.message() << '\n'
-         ;
-  }
-
-  bool threw_exception;
-
-}
-
-int main(int argc, char* argv[])
-{
-  if (argc < 2)
-  {
-    cout << "Usage: error_demo path\n";
-    return 1;
-  }
-
-  error_code ec;
-
-  ////  construct path - no error_code
-
-  //try { path p1(argv[1]); }
-  //catch (const system_error& ex)
-  //{
-  //  cout << "construct path without error_code";
-  //  report_system_error(ex);
-  //}
-
-  ////  construct path - with error_code
-
-  path p (argv[1]);
-
-  fs::file_status s;
-  bool            b (false);
-  fs::directory_iterator di;
-
-  //  get status - no error_code
-
-  cout << "\nstatus(\"" << p.string() << "\");\n";
-  threw_exception = false;
-
-  try { s = fs::status(p); }
-  catch (const system_error& ex)
-  {
-    report_filesystem_error(ex);
-    threw_exception = true;
-  }
-  if (!threw_exception)
-    cout << "  Did not throw exception\n";
-  report_status(s);
-
-  //  get status - with error_code
-
-  cout << "\nstatus(\"" << p.string() << "\", ec);\n";
-  s = fs::status(p, ec);
-  report_status(s);
-  report_error_code(ec);
-
-  //  query existence - no error_code
-
-  cout << "\nexists(\"" << p.string() << "\");\n";
-  threw_exception = false;
-
-  try { b = fs::exists(p); }
-  catch (const system_error& ex)
-  {
-    report_filesystem_error(ex);
-    threw_exception = true;
-  }
-  if (!threw_exception)
-  {
-    cout << "  Did not throw exception\n"
-         << "  Returns: " << (b ? "true" : "false") << '\n';
-  }
-
-  //  query existence - with error_code
-
-  //  directory_iterator - no error_code
-
-  cout << "\ndirectory_iterator(\"" << p.string() << "\");\n";
-  threw_exception = false;
-
-  try { di = fs::directory_iterator(p); }
-  catch (const system_error& ex)
-  {
-    report_filesystem_error(ex);
-    threw_exception = true;
-  }
-  if (!threw_exception)
-  {
-    cout << "  Did not throw exception\n"
-      << (di == fs::directory_iterator() ? "  Equal" : "  Not equal")
-      << " to the end iterator\n";
-  }
-
-  //  directory_iterator - with error_code
-
-  cout << "\ndirectory_iterator(\"" << p.string() << "\", ec);\n";
-  di = fs::directory_iterator(p, ec);
-  cout << (di == fs::directory_iterator() ? "  Equal" : "  Not equal")
-       << " to the end iterator\n";
-  report_error_code(ec);
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/file_size.cpp b/SRC/Boost/libs/filesystem/v3/example/file_size.cpp
deleted file mode 100755
index f14227e..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/file_size.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  file_size program  -------------------------------------------------------//
-
-//  Copyright Beman Dawes, 2004
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/filesystem for documentation.
-
-#include <boost/filesystem/operations.hpp>
-#include <iostream>
-
-namespace fs = boost::filesystem;
-
-int main( int argc, char* argv[] )
-{
-
-  if ( argc != 2 )
-  {
-    std::cout << "Usage: file_size path\n";
-    return 1;
-  }
-
-  std::cout << "sizeof(intmax_t) is " << sizeof(boost::intmax_t) << '\n';
-
-  fs::path p( argv[1] );
-
-  if ( !fs::exists( p ) )
-  {
-    std::cout << "not found: " << argv[1] << std::endl;
-    return 1;
-  }
-
-  if ( !fs::is_regular( p ) )
-  {
-    std::cout << "not a regular file: " << argv[1] << std::endl;
-    return 1;
-  }
- 
-  std::cout << "size of " << argv[1] << " is " << fs::file_size( p )
-    << std::endl;
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/file_status.cpp b/SRC/Boost/libs/filesystem/v3/example/file_status.cpp
deleted file mode 100755
index 1452674..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/file_status.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-//  status.cpp  ------------------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2011
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#include <iostream>
-#include <boost/config.hpp>
-#include <boost/version.hpp>
-#include <boost/filesystem.hpp>
-#include <boost/detail/lightweight_main.hpp>
-
-using std::cout; using std::endl;
-using namespace boost::filesystem;
-
-namespace
-{
-  path p;
-  
-  void print_boost_macros()
-  {
-    std::cout << "Boost "
-              << BOOST_VERSION / 100000 << '.'
-              << BOOST_VERSION / 100 % 1000 << '.'
-              << BOOST_VERSION % 100 << ", "
-#           ifndef _WIN64
-              << BOOST_COMPILER << ", "
-#           else
-              << BOOST_COMPILER << " with _WIN64 defined, "
-#           endif
-              << BOOST_STDLIB << ", "
-              << BOOST_PLATFORM
-              << std::endl;
-  }
-
-  const char* file_type_tab[] = 
-    { "status_error", "file_not_found", "regular_file", "directory_file",
-      "symlink_file", "block_file", "character_file", "fifo_file", "socket_file",
-      "type_unknown"
-    };
-
-  const char* file_type_c_str(enum file_type t)
-  {
-    return file_type_tab[t];
-  }
-
-  void show_status(file_status s, boost::system::error_code ec)
-  {
-    boost::system::error_condition econd;
-
-    if (ec)
-    {
-      econd = ec.default_error_condition();
-      cout << "sets ec to indicate an error:\n"
-           << "   ec.value() is " << ec.value() << '\n'
-           << "   ec.message() is \"" << ec.message() << "\"\n"
-           << "   ec.default_error_condition().value() is " << econd.value() << '\n'
-           << "   ec.default_error_condition().message() is \"" << econd.message() << "\"\n";
-    }
-    else
-      cout << "clears ec.\n";
-
-    cout << "s.type() is " << s.type()
-         << ", which is defined as \"" << file_type_c_str(s.type()) << "\"\n";
-
-    cout << "exists(s) is " << (exists(s) ? "true" : "false") << "\n";
-    cout << "status_known(s) is " << (status_known(s) ? "true" : "false") << "\n";
-    cout << "is_regular_file(s) is " << (is_regular_file(s) ? "true" : "false") << "\n";
-    cout << "is_directory(s) is " << (is_directory(s) ? "true" : "false") << "\n";
-    cout << "is_other(s) is " << (is_other(s) ? "true" : "false") << "\n";
-    cout << "is_symlink(s) is " << (is_symlink(s) ? "true" : "false") << "\n";
-  }
-
-  void try_exists()
-  {
-    cout << "\nexists(" << p << ") ";
-    try
-    {
-      bool result = exists(p);
-      cout << "is " << (result ? "true" : "false") << "\n";
-    }
-    catch (const filesystem_error& ex)
-    {
-      cout << "throws a filesystem_error exception: " << ex.what() << "\n";
-    }
-  }
-
-}
-
-int cpp_main(int argc, char* argv[])
-{
-  print_boost_macros();
-
-  if (argc < 2)
-  {
-    std::cout << "Usage: file_status <path>\n";
-    p = argv[0];
-  }
-  else
-    p = argv[1];
-
-  boost::system::error_code ec;
-  file_status s = status(p, ec);
-  cout << "\nfile_status s = status(" << p << ", ec) ";
-  show_status(s, ec);
-
-  s = symlink_status(p, ec);
-  cout << "\nfile_status s = symlink_status(" << p << ", ec) ";
-  show_status(s, ec);
-
-  try_exists();
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/mbcopy.cpp b/SRC/Boost/libs/filesystem/v3/example/mbcopy.cpp
deleted file mode 100755
index ec7a260..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/mbcopy.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-//  Boost.Filesystem mbcopy.cpp  ---------------------------------------------//
-
-//  Copyright Beman Dawes 2005
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  Copy the files in a directory, using mbpath to represent the new file names
-//  See http://../doc/path.htm#mbpath for more information
-
-//  See deprecated_test for tests of deprecated features
-#define BOOST_FILESYSTEM_NO_DEPRECATED
-
-#include <boost/filesystem/config.hpp>
-# ifdef BOOST_FILESYSTEM_NARROW_ONLY
-#   error This compiler or standard library does not support wide-character strings or paths
-# endif
-
-#include "mbpath.hpp"
-#include <iostream>
-#include <boost/filesystem/operations.hpp>
-#include <boost/filesystem/fstream.hpp>
-#include "../src/utf8_codecvt_facet.hpp"
-
-namespace fs = boost::filesystem;
-
-namespace
-{
-  // we can't use boost::filesystem::copy_file() because the argument types
-  // differ, so provide a not-very-smart replacement.
-
-  void copy_file( const fs::wpath & from, const user::mbpath & to )
-  {
-    fs::ifstream from_file( from, std::ios_base::in | std::ios_base::binary );
-    if ( !from_file ) { std::cout << "input open failed\n"; return; }
-
-    fs::ofstream to_file( to, std::ios_base::out | std::ios_base::binary );
-    if ( !to_file ) { std::cout << "output open failed\n"; return; }
-
-    char c;
-    while ( from_file.get(c) )
-    {
-      to_file.put(c);
-      if ( to_file.fail() ) { std::cout << "write error\n"; return; }
-    }
-
-    if ( !from_file.eof() ) { std::cout << "read error\n"; }
-  }
-}
-
-int main( int argc, char * argv[] )
-{
-  if ( argc != 2 )
-  {
-    std::cout << "Copy files in the current directory to a target directory\n"
-              << "Usage: mbcopy <target-dir>\n";
-    return 1;
-  }
-
-  // For encoding, use Boost UTF-8 codecvt
-  std::locale global_loc = std::locale();
-  std::locale loc( global_loc, new fs::detail::utf8_codecvt_facet );
-  user::mbpath_traits::imbue( loc );
-
-  std::string target_string( argv[1] );
-  user::mbpath target_dir( user::mbpath_traits::to_internal( target_string ) );
-
-  if ( !fs::is_directory( target_dir ) )
-  {
-    std::cout << "Error: " << argv[1] << " is not a directory\n";
-    return 1;
-  }
-
-  for ( fs::wdirectory_iterator it( L"." );
-    it != fs::wdirectory_iterator(); ++it )
-  {
-    if ( fs::is_regular_file(it->status()) )
-    {
-      copy_file( *it, target_dir / it->path().filename() );
-    }
-  }
-
-  return 0;
-}
-
-
-
-
-
diff --git a/SRC/Boost/libs/filesystem/v3/example/mbpath.cpp b/SRC/Boost/libs/filesystem/v3/example/mbpath.cpp
deleted file mode 100755
index 344c8d0..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/mbpath.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//  Boost.Filesystem mbpath.cpp  ---------------------------------------------//
-
-//  (c) Copyright Beman Dawes 2005
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See Boost.Filesystem home page at http://www.boost.org/libs/filesystem
-
-#include <boost/filesystem/config.hpp>
-# ifdef BOOST_FILESYSTEM_NARROW_ONLY
-#   error This compiler or standard library does not support wide-character strings or paths
-# endif
-
-#include "mbpath.hpp"
-#include <boost/system/system_error.hpp>
-#include <boost/scoped_array.hpp>
-
-namespace fs = boost::filesystem;
-
-namespace
-{
-  // ISO C calls this "the locale-specific native environment":
-  std::locale loc("");
-
-  const std::codecvt<wchar_t, char, std::mbstate_t> *
-    cvt( &std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t> >
-           ( loc ) );
-}
-
-namespace user
-{
-  mbpath_traits::external_string_type
-  mbpath_traits::to_external( const mbpath & ph,
-    const internal_string_type & src )
-  {
-    std::size_t work_size( cvt->max_length() * (src.size()+1) );
-    boost::scoped_array<char> work( new char[ work_size ] );
-    std::mbstate_t state;
-    const internal_string_type::value_type * from_next;
-    external_string_type::value_type * to_next;
-    if ( cvt->out( 
-      state, src.c_str(), src.c_str()+src.size(), from_next, work.get(),
-      work.get()+work_size, to_next ) != std::codecvt_base::ok )
-      boost::throw_exception<fs::basic_filesystem_error<mbpath> >(
-        fs::basic_filesystem_error<mbpath>(
-          "user::mbpath::to_external conversion error",
-          ph, boost::system::error_code( EINVAL, boost::system::errno_ecat ) ) );
-    *to_next = '\0';
-    return external_string_type( work.get() );
-  }
-
-  mbpath_traits::internal_string_type 
-  mbpath_traits::to_internal( const external_string_type & src )
-  {
-      std::size_t work_size( src.size()+1 );
-      boost::scoped_array<wchar_t> work( new wchar_t[ work_size ] );
-      std::mbstate_t state;
-      const external_string_type::value_type * from_next;
-      internal_string_type::value_type * to_next;
-      if ( cvt->in( 
-        state, src.c_str(), src.c_str()+src.size(), from_next, work.get(),
-        work.get()+work_size, to_next ) != std::codecvt_base::ok )
-        boost::throw_exception<fs::basic_filesystem_error<mbpath> >(
-          fs::basic_filesystem_error<mbpath>(
-            "user::mbpath::to_internal conversion error",
-            boost::system::error_code( EINVAL, boost::system::errno_ecat ) ) );
-      *to_next = L'\0';
-      return internal_string_type( work.get() );
-  }
-
-  void mbpath_traits::imbue( const std::locale & new_loc )
-  {
-    loc = new_loc;
-    cvt = &std::use_facet
-      <std::codecvt<wchar_t, char, std::mbstate_t> >( loc );
-  }
-
-} // namespace user
diff --git a/SRC/Boost/libs/filesystem/v3/example/mbpath.hpp b/SRC/Boost/libs/filesystem/v3/example/mbpath.hpp
deleted file mode 100755
index 8ec79d1..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/mbpath.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  Boost.Filesystem mbpath.hpp  ---------------------------------------------//
-
-//  Copyright Beman Dawes 2005
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  Encodes wide character paths as MBCS
-//  See http://../doc/path.htm#mbpath for more information
-
-#include <boost/filesystem/path.hpp>
-#include <cwchar>     // for std::mbstate_t
-#include <string>
-#include <locale>
-
-namespace user
-{
-  struct mbpath_traits;
-  
-  typedef boost::filesystem::basic_path<std::wstring, mbpath_traits> mbpath;
-
-  struct mbpath_traits
-  {
-    typedef std::wstring internal_string_type;
-    typedef std::string external_string_type;
-
-    static external_string_type to_external( const mbpath & ph,
-      const internal_string_type & src );
-
-    static internal_string_type to_internal( const external_string_type & src );
-
-    static void imbue( const std::locale & loc );
-  };
-} // namespace user
-
-namespace boost
-{
-  namespace filesystem
-  {
-    template<> struct is_basic_path<user::mbpath>
-      { static const bool value = true; };
-  }
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/path_info.cpp b/SRC/Boost/libs/filesystem/v3/example/path_info.cpp
deleted file mode 100755
index 3823ae6..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/path_info.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-//  path_info.cpp  ---------------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#include <iostream>
-#include <boost/filesystem.hpp>
-using namespace std;
-using namespace boost::filesystem;
-
-const char * say_what(bool b) { return b ? "true" : "false"; }
-
-int main(int argc, char* argv[])
-{
-  if (argc < 2)
-  {
-    cout << "Usage: path_info path-portion...\n"
-             "Example: path_info foo/bar baz\n"
-#            ifdef BOOST_POSIX_API
-             "         would report info about the composed path foo/bar/baz\n";
-#            else  // BOOST_WINDOWS_API
-             "         would report info about the composed path foo/bar\\baz\n";
-#            endif
-    return 1;
-  }
-
-  path p;  //  compose a path from the command line arguments
-
-  for (; argc > 1; --argc, ++argv)
-    p /= argv[1];
-
-  cout  <<  "\ncomposed path:\n";
-  cout  <<  "  cout << -------------: " << p << "\n";
-  cout  <<  "  make_preferred()----------: " << path(p).make_preferred() << "\n";
-
-  cout << "\nelements:\n";
-
-  for (path::iterator it(p.begin()), it_end(p.end()); it != it_end; ++it)
-    cout << "  " << *it << '\n';
-
-  cout  <<  "\nobservers, native format:" << endl;
-# ifdef BOOST_POSIX_API
-  cout  <<  "  native()-------------: " << p.native() << endl;
-  cout  <<  "  c_str()--------------: " << p.c_str() << endl;
-# else  // BOOST_WINDOWS_API
-  wcout << L"  native()-------------: " << p.native() << endl;
-  wcout << L"  c_str()--------------: " << p.c_str() << endl;
-# endif
-  cout  <<  "  string()-------------: " << p.string() << endl;
-  wcout << L"  wstring()------------: " << p.wstring() << endl;
-
-  cout  <<  "\nobservers, generic format:\n";
-  cout  <<  "  generic_string()-----: " << p.generic_string() << endl;
-  wcout << L"  generic_wstring()----: " << p.generic_wstring() << endl;
-
-  cout  <<  "\ndecomposition:\n";
-  cout  <<  "  root_name()----------: " << p.root_name() << '\n';
-  cout  <<  "  root_directory()-----: " << p.root_directory() << '\n';
-  cout  <<  "  root_path()----------: " << p.root_path() << '\n';
-  cout  <<  "  relative_path()------: " << p.relative_path() << '\n';
-  cout  <<  "  parent_path()--------: " << p.parent_path() << '\n';
-  cout  <<  "  filename()-----------: " << p.filename() << '\n';
-  cout  <<  "  stem()---------------: " << p.stem() << '\n';
-  cout  <<  "  extension()----------: " << p.extension() << '\n';
-
-  cout  <<  "\nquery:\n";
-  cout  <<  "  empty()--------------: " << say_what(p.empty()) << '\n';
-  cout  <<  "  is_absolute()--------: " << say_what(p.is_absolute()) << '\n';
-  cout  <<  "  has_root_name()------: " << say_what(p.has_root_name()) << '\n';
-  cout  <<  "  has_root_directory()-: " << say_what(p.has_root_directory()) << '\n';
-  cout  <<  "  has_root_path()------: " << say_what(p.has_root_path()) << '\n';
-  cout  <<  "  has_relative_path()--: " << say_what(p.has_relative_path()) << '\n';
-  cout  <<  "  has_parent_path()----: " << say_what(p.has_parent_path()) << '\n';
-  cout  <<  "  has_filename()-------: " << say_what(p.has_filename()) << '\n';
-  cout  <<  "  has_stem()-----------: " << say_what(p.has_stem()) << '\n';
-  cout  <<  "  has_extension()------: " << say_what(p.has_extension()) << '\n';
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/simple_ls.cpp b/SRC/Boost/libs/filesystem/v3/example/simple_ls.cpp
deleted file mode 100755
index 876c51d..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/simple_ls.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-//  simple_ls program  -------------------------------------------------------//
-
-//  Copyright Jeff Garland and Beman Dawes, 2002
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/filesystem for documentation.
-
-#define BOOST_FILESYSTEM_VERSION 3
-
-//  As an example program, we don't want to use any deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-#  define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-#  define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include "boost/filesystem/operations.hpp"
-#include "boost/filesystem/path.hpp"
-#include "boost/progress.hpp"
-#include <iostream>
-
-namespace fs = boost::filesystem;
-
-int main(int argc, char* argv[])
-{
-  fs::path p(fs::current_path());
-
-  if (argc > 1)
-    p = fs::system_complete(argv[1]);
-  else
-    std::cout << "\nusage:   simple_ls [path]" << std::endl;
-
-  unsigned long file_count = 0;
-  unsigned long dir_count = 0;
-  unsigned long other_count = 0;
-  unsigned long err_count = 0;
-
-  if (!fs::exists(p))
-  {
-    std::cout << "\nNot found: " << p << std::endl;
-    return 1;
-  }
-
-  if (fs::is_directory(p))
-  {
-    std::cout << "\nIn directory: " << p << "\n\n";
-    fs::directory_iterator end_iter;
-    for (fs::directory_iterator dir_itr(p);
-          dir_itr != end_iter;
-          ++dir_itr)
-    {
-      try
-      {
-        if (fs::is_directory(dir_itr->status()))
-        {
-          ++dir_count;
-          std::cout << dir_itr->path().filename() << " [directory]\n";
-        }
-        else if (fs::is_regular_file(dir_itr->status()))
-        {
-          ++file_count;
-          std::cout << dir_itr->path().filename() << "\n";
-        }
-        else
-        {
-          ++other_count;
-          std::cout << dir_itr->path().filename() << " [other]\n";
-        }
-
-      }
-      catch (const std::exception & ex)
-      {
-        ++err_count;
-        std::cout << dir_itr->path().filename() << " " << ex.what() << std::endl;
-      }
-    }
-    std::cout << "\n" << file_count << " files\n"
-              << dir_count << " directories\n"
-              << other_count << " others\n"
-              << err_count << " errors\n";
-  }
-  else // must be a file
-  {
-    std::cout << "\nFound: " << p << "\n";    
-  }
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/stems.cpp b/SRC/Boost/libs/filesystem/v3/example/stems.cpp
deleted file mode 100755
index ed924ec..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/stems.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  filesystem example stems.cpp  ------------------------------------------------------//
-
-//  Copyright Beman Dawes 2011
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#include <boost/filesystem.hpp>
-#include <iostream>
-
-int main(int argc, char* argv[])
-{
-  if (argc < 2)
-  {
-    std::cout << "Usage: stems <path>\n";
-    return 1;
-  }
-
-  boost::filesystem::path p(argv[1]), name(p.filename());
-
-  for(;;)
-  {
-    std::cout << "filename " << name  << " has stem " << name.stem()
-      << " and extension " << name.extension() << "\n";
-    if (name.stem().empty() || name.extension().empty())
-      return 0;
-    name = name.stem();
-  }
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/tchar.cpp b/SRC/Boost/libs/filesystem/v3/example/tchar.cpp
deleted file mode 100755
index 161bf1c..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/tchar.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//  Example use of Microsoft TCHAR  ----------------------------------------------------//
-
-//  Copyright Beman Dawes 2008
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#include <boost/filesystem/path.hpp>
-#include <boost/filesystem/operations.hpp>
-#include <string>
-#include <cassert>
-#include <windows.h>
-#include <winnt.h>
-
-namespace fs = boost::filesystem;
-
-typedef std::basic_string<TCHAR> tstring;
-
-void func( const fs::path & p )
-{
-  assert( fs::exists( p ) );
-}
-
-int main()
-{
-  // get a path that is known to exist
-  fs::path cp = fs::current_path(); 
-
-  // demo: get tstring from the path
-  tstring cp_as_tstring = cp.string<tstring>();
-
-  // demo: pass tstring to filesystem function taking path
-  assert( fs::exists( cp_as_tstring ) );
-
-  // demo: pass tstring to user function taking path
-  func( cp_as_tstring );
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/test/Jamfile.v2 b/SRC/Boost/libs/filesystem/v3/example/test/Jamfile.v2
deleted file mode 100755
index 8e19c4e..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/test/Jamfile.v2
+++ /dev/null
@@ -1,31 +0,0 @@
-# Boost Filesystem Library Tutorial Jamfile
- 
-# (C) Copyright Beman Dawes 2010
-# (C) Copyright Vladimir Prus 2003
-
-# Distributed under the Boost Software License, Version 1.0.
-# See www.boost.org/LICENSE_1_0.txt
-
-# Library home page: http://www.boost.org/libs/filesystem
-
-project
-    : requirements
-      <library>/boost/filesystem//boost_filesystem
-      <library>/boost/system//boost_system
-      <toolset>msvc:<asynch-exceptions>on
-    ;
-    
-exe tut1 : tut1.cpp ;
-exe tut2 : tut2.cpp ;
-exe tut3 : tut3.cpp ;
-exe tut4 : tut4.cpp ;
-exe tut5 : tut5.cpp ;
-exe path_info : path_info.cpp ;
-
-install tut1-copy : tut1 : <location>. ;
-install tut2-copy : tut2 : <location>. ;
-install tut3-copy : tut3 : <location>. ;
-install tut4-copy : tut4 : <location>. ;
-install tut5-copy : tut5 : <location>. ;
-install path_info-copy : path_info : <location>. ;
-  
diff --git a/SRC/Boost/libs/filesystem/v3/example/test/bld.bat b/SRC/Boost/libs/filesystem/v3/example/test/bld.bat
deleted file mode 100755
index 3af5d60..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/test/bld.bat
+++ /dev/null
@@ -1,7 +0,0 @@
- at echo off
-rem Copyright Beman Dawes, 2010
-rem Distributed under the Boost Software License, Version 1.0.
-rem See www.boost.org/LICENSE_1_0.txt
-
-bjam %* >bjam.log
-find "error" <bjam.log
diff --git a/SRC/Boost/libs/filesystem/v3/example/test/bld.sh b/SRC/Boost/libs/filesystem/v3/example/test/bld.sh
deleted file mode 100755
index 0754fc9..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/test/bld.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright Beman Dawes, 2010
-# Distributed under the Boost Software License, Version 1.0.
-# See www.boost.org/LICENSE_1_0.txt
-
-bjam $* >bjam.log
-grep "error" <bjam.log
diff --git a/SRC/Boost/libs/filesystem/v3/example/test/setup.bat b/SRC/Boost/libs/filesystem/v3/example/test/setup.bat
deleted file mode 100755
index 739b8e8..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/test/setup.bat
+++ /dev/null
@@ -1,13 +0,0 @@
- at echo off
-rem Copyright Beman Dawes, 2010
-rem Distributed under the Boost Software License, Version 1.0.
-rem See www.boost.org/LICENSE_1_0.txt
-
-copy /y ..\tut1.cpp >nul
-copy /y ..\tut2.cpp >nul
-copy /y ..\tut3.cpp >nul
-copy /y ..\tut4.cpp >nul
-copy /y ..\tut5.cpp >nul
-copy /y ..\path_info.cpp >nul
-del *.exe 2>nul
-del *.pdb 2>nul
diff --git a/SRC/Boost/libs/filesystem/v3/example/test/setup.sh b/SRC/Boost/libs/filesystem/v3/example/test/setup.sh
deleted file mode 100755
index c2f3c79..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/test/setup.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright Beman Dawes, 2010
-# Distributed under the Boost Software License, Version 1.0.
-# See www.boost.org/LICENSE_1_0.txt
-
-cp ../tut1.cpp .
-cp ../tut2.cpp .
-cp ../tut3.cpp .
-cp ../tut4.cpp .
-cp ../tut5.cpp .
-cp ../path_info.cpp .
-rm tut1 2>~/junk
-rm tut2 2>~/junk
-rm tut3 2>~/junk
-rm tut4 2>~/junk
-rm tut5 2>~/junk
-rm path_info 2>~/junk
-
diff --git a/SRC/Boost/libs/filesystem/v3/example/tut0.cpp b/SRC/Boost/libs/filesystem/v3/example/tut0.cpp
deleted file mode 100755
index dd41424..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/tut0.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  filesystem tut0.cpp  ---------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#include <iostream>
-#include <boost/filesystem.hpp>
-namespace fs = boost::filesystem;
-
-int main(int argc, char* argv[])
-{
-  if (argc < 2)
-  {
-    std::cout << "Usage: tut0 path\n";
-    return 1;
-  }
-
-  std::cout << argv[1] << '\n';
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/tut1.cpp b/SRC/Boost/libs/filesystem/v3/example/tut1.cpp
deleted file mode 100755
index 7086cad..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/tut1.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  filesystem tut1.cpp  ---------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#include <iostream>
-#include <boost/filesystem.hpp>
-using namespace boost::filesystem;
-
-int main(int argc, char* argv[])
-{
-  if (argc < 2)
-  {
-    std::cout << "Usage: tut1 path\n";
-    return 1;
-  }
-  std::cout << argv[1] << " " << file_size(argv[1]) << '\n';
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/tut2.cpp b/SRC/Boost/libs/filesystem/v3/example/tut2.cpp
deleted file mode 100755
index 711fb25..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/tut2.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  filesystem tut2.cpp  ---------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#include <iostream>
-#include <boost/filesystem.hpp>
-using namespace std;
-using namespace boost::filesystem;
-
-int main(int argc, char* argv[])
-{
-  if (argc < 2)
-  {
-    cout << "Usage: tut2 path\n";
-    return 1;
-  }
-
-  path p (argv[1]);   // p reads clearer than argv[1] in the following code
-
-  if (exists(p))    // does p actually exist?
-  {
-    if (is_regular_file(p))        // is p a regular file?
-      cout << p << " size is " << file_size(p) << '\n';
-
-    else if (is_directory(p))      // is p a directory?
-      cout << p << " is a directory\n";
-
-    else
-      cout << p << " exists, but is neither a regular file nor a directory\n";
-  }
-  else
-    cout << p << " does not exist\n";
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/tut3.cpp b/SRC/Boost/libs/filesystem/v3/example/tut3.cpp
deleted file mode 100755
index 20908a4..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/tut3.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//  filesystem tut3.cpp  ---------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#include <iostream>
-#include <iterator>
-#include <algorithm>
-#include <boost/filesystem.hpp>
-using namespace std;
-using namespace boost::filesystem;
-
-int main(int argc, char* argv[])
-{
-  if (argc < 2)
-  {
-    cout << "Usage: tut3 path\n";
-    return 1;
-  }
-
-  path p (argv[1]);   // p reads clearer than argv[1] in the following code
-
-  try
-  {
-    if (exists(p))    // does p actually exist?
-    {
-      if (is_regular_file(p))        // is p a regular file?
-        cout << p << " size is " << file_size(p) << '\n';
-
-      else if (is_directory(p))      // is p a directory?
-      {
-        cout << p << " is a directory containing:\n";
-
-        copy(directory_iterator(p), directory_iterator(),  // directory_iterator::value_type
-          ostream_iterator<directory_entry>(cout, "\n"));  // is directory_entry, which is
-                                                           // converted to a path by the
-                                                           // path stream inserter
-      }
-      else
-        cout << p << " exists, but is neither a regular file nor a directory\n";
-    }
-    else
-      cout << p << " does not exist\n";
-  }
-
-  catch (const filesystem_error& ex)
-  {
-    cout << ex.what() << '\n';
-  }
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/tut4.cpp b/SRC/Boost/libs/filesystem/v3/example/tut4.cpp
deleted file mode 100755
index bc061cf..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/tut4.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//  filesystem tut4.cpp  ---------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#include <iostream>
-#include <iterator>
-#include <vector>
-#include <algorithm>
-#include <boost/filesystem.hpp>
-using namespace std;
-using namespace boost::filesystem;
-
-int main(int argc, char* argv[])
-{
-  if (argc < 2)
-  {
-    cout << "Usage: tut4 path\n";
-    return 1;
-  }
-
-  path p (argv[1]);   // p reads clearer than argv[1] in the following code
-
-  try
-  {
-    if (exists(p))    // does p actually exist?
-    {
-      if (is_regular_file(p))        // is p a regular file?
-        cout << p << " size is " << file_size(p) << '\n';
-
-      else if (is_directory(p))      // is p a directory?
-      {
-        cout << p << " is a directory containing:\n";
-
-        typedef vector<path> vec;             // store paths,
-        vec v;                                // so we can sort them later
-
-        copy(directory_iterator(p), directory_iterator(), back_inserter(v));
-
-        sort(v.begin(), v.end());             // sort, since directory iteration
-                                              // is not ordered on some file systems
-
-        for (vec::const_iterator it(v.begin()), it_end(v.end()); it != it_end; ++it)
-        {
-          cout << "   " << *it << '\n';
-        }
-      }
-      else
-        cout << p << " exists, but is neither a regular file nor a directory\n";
-    }
-    else
-      cout << p << " does not exist\n";
-  }
-
-  catch (const filesystem_error& ex)
-  {
-    cout << ex.what() << '\n';
-  }
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/example/tut5.cpp b/SRC/Boost/libs/filesystem/v3/example/tut5.cpp
deleted file mode 100755
index 95fc353..0000000
--- a/SRC/Boost/libs/filesystem/v3/example/tut5.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-//  filesystem tut5.cpp  ---------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2010
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#include <boost/filesystem/fstream.hpp>
-#include <string>
-#include <list>
-namespace fs = boost::filesystem;
-
-int main()
-{
-  // \u263A is "Unicode WHITE SMILING FACE = have a nice day!"
-  std::string narrow_string ("smile2");
-  std::wstring wide_string (L"smile2\u263A");
-  std::list<char> narrow_list;
-  narrow_list.push_back('s');
-  narrow_list.push_back('m');
-  narrow_list.push_back('i');
-  narrow_list.push_back('l');
-  narrow_list.push_back('e');
-  narrow_list.push_back('3');
-  std::list<wchar_t> wide_list;
-  wide_list.push_back(L's');
-  wide_list.push_back(L'm');
-  wide_list.push_back(L'i');
-  wide_list.push_back(L'l');
-  wide_list.push_back(L'e');
-  wide_list.push_back(L'3');
-  wide_list.push_back(L'\u263A');
-
-  { fs::ofstream f("smile"); }
-  { fs::ofstream f(L"smile\u263A"); }
-  { fs::ofstream f(narrow_string); }
-  { fs::ofstream f(wide_string); }
-  { fs::ofstream f(narrow_list); }
-  { fs::ofstream f(wide_list); }
-  narrow_list.pop_back();
-  narrow_list.push_back('4');
-  wide_list.pop_back();
-  wide_list.pop_back();
-  wide_list.push_back(L'4');
-  wide_list.push_back(L'\u263A');
-  { fs::ofstream f(fs::path(narrow_list.begin(), narrow_list.end())); }
-  { fs::ofstream f(fs::path(wide_list.begin(), wide_list.end())); }
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/index.html b/SRC/Boost/libs/filesystem/v3/index.html
deleted file mode 100755
index 419e0a9..0000000
--- a/SRC/Boost/libs/filesystem/v3/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<meta http-equiv="refresh" content="0; URL=doc/index.htm">
-</head>
-<body>
-Automatic redirection failed, please go to
-<a href="doc/index.htm">doc/index.htm</a>.
-<hr>
-<p>© Copyright Beman Dawes, 2003</p>
-<p> Distributed under the Boost Software 
-License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
-www.boost.org/LICENSE_1_0.txt</a>)</p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/filesystem/v3/src/codecvt_error_category.cpp b/SRC/Boost/libs/filesystem/v3/src/codecvt_error_category.cpp
deleted file mode 100755
index c12d023..0000000
--- a/SRC/Boost/libs/filesystem/v3/src/codecvt_error_category.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-//  codecvt_error_category implementation file  ----------------------------------------//
-
-//  Copyright Beman Dawes 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt)
-
-//  Library home page at http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------//
-
-#include <boost/config.hpp>
-#if !defined( BOOST_NO_STD_WSTRING )
-// Boost.Filesystem V3 and later requires std::wstring support.
-// During the transition to V3, libraries are compiled with both V2 and V3 sources.
-// On old compilers that don't support V3 anyhow, we just skip everything so the compile
-// will succeed and the library can be built.
-
-#include <boost/config/warning_disable.hpp>
-
-// define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_FILESYSTEM_SOURCE
-
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-#  define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/v3/config.hpp>
-#include <boost/filesystem/v3/path_traits.hpp>
-#include <boost/system/error_code.hpp>
-#include <locale>
-#include <vector>
-#include <cstdlib>
-#include <cassert>
-
-//--------------------------------------------------------------------------------------//
-
-namespace
-{
-  class codecvt_error_cat : public boost::system::error_category
-  {
-  public:
-    codecvt_error_cat(){}
-    const char*   name() const;
-    std::string    message(int ev) const;
-  };
-
-  const char* codecvt_error_cat::name() const
-  {
-    return "codecvt";
-  }
-
-  std::string codecvt_error_cat::message(int ev) const
-  {
-    std::string str;
-    switch (ev)
-    {
-    case std::codecvt_base::ok:
-      str = "ok";
-      break;
-    case std::codecvt_base::partial:
-      str = "partial";
-      break;
-    case std::codecvt_base::error:
-      str = "error";
-      break;
-    case std::codecvt_base::noconv:
-      str = "noconv";
-      break;
-    default:
-      str = "unknown error";
-    }
-    return str;
-  }
-
-} // unnamed namespace
-
-namespace boost
-{
-  namespace filesystem3
-  {
-
-    BOOST_FILESYSTEM_DECL const boost::system::error_category& codecvt_error_category()
-    {
-      static const codecvt_error_cat  codecvt_error_cat_const;
-      return codecvt_error_cat_const;
-    }
-
-  } // namespace filesystem3
-} // namespace boost
-
-#endif  // no wide character support
diff --git a/SRC/Boost/libs/filesystem/v3/src/operations.cpp b/SRC/Boost/libs/filesystem/v3/src/operations.cpp
deleted file mode 100755
index 97c576f..0000000
--- a/SRC/Boost/libs/filesystem/v3/src/operations.cpp
+++ /dev/null
@@ -1,2061 +0,0 @@
-//  operations.cpp  --------------------------------------------------------------------//
-
-//  Copyright 2002-2009 Beman Dawes
-//  Copyright 2001 Dietmar Kuehl
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------// 
-
-//  define 64-bit offset macros BEFORE including boost/config.hpp (see ticket #5355) 
-#if !(defined(__HP_aCC) && defined(_ILP32) && !defined(_STATVFS_ACPP_PROBLEMS_FIXED))
-#define _FILE_OFFSET_BITS 64 // at worst, these defines may have no effect,
-#endif
-#if !defined(__PGI)
-#define __USE_FILE_OFFSET64 // but that is harmless on Windows and on POSIX
-      // 64-bit systems or on 32-bit systems which don't have files larger 
-      // than can be represented by a traditional POSIX/UNIX off_t type. 
-      // OTOH, defining them should kick in 64-bit off_t's (and thus 
-      // st_size)on 32-bit systems that provide the Large File
-      // Support (LFS)interface, such as Linux, Solaris, and IRIX.
-      // The defines are given before any headers are included to
-      // ensure that they are available to all included headers.
-      // That is required at least on Solaris, and possibly on other
-      // systems as well.
-#else
-#define _FILE_OFFSET_BITS 64
-#endif
-
-#include <boost/config.hpp>
-#if !defined( BOOST_NO_STD_WSTRING )
-// Boost.Filesystem V3 and later requires std::wstring support.
-// During the transition to V3, libraries are compiled with both V2 and V3 sources.
-// On old compilers that don't support V3 anyhow, we just skip everything so the compile
-// will succeed and the library can be built.
-
-// define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-
-#define BOOST_FILESYSTEM_SOURCE 
-
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# define _POSIX_PTHREAD_SEMANTICS  // Sun readdir_r()needs this
-#endif
-
-#include <boost/filesystem/v3/operations.hpp>
-#include <boost/scoped_array.hpp>
-#include <boost/detail/workaround.hpp>
-#include <vector> 
-#include <cstdlib>     // for malloc, free
-#include <sys/stat.h>  // even on Windows some functions use stat()
-#include <cstring>
-#include <cstdio>      // for remove, rename
-#if defined(__QNXNTO__)  // see ticket #5355 
-# include <stdio.h>
-#endif
-#include <cerrno>
-
-#ifdef BOOST_FILEYSTEM_INCLUDE_IOSTREAM
-# include <iostream>
-#endif
-
-namespace fs = boost::filesystem3;
-using boost::filesystem3::path;
-using boost::filesystem3::filesystem_error;
-using boost::system::error_code;
-using boost::system::error_category;
-using boost::system::system_category;
-using std::string;
-using std::wstring;
-
-# ifdef BOOST_POSIX_API
-
-    const fs::path dot_path(".");
-    const fs::path dot_dot_path("..");
-#   include <sys/types.h>
-#   if !defined(__APPLE__) && !defined(__OpenBSD__)
-#     include <sys/statvfs.h>
-#     define BOOST_STATVFS statvfs
-#     define BOOST_STATVFS_F_FRSIZE vfs.f_frsize
-#   else
-#     ifdef __OpenBSD__
-#     include <sys/param.h>
-#     endif
-#     include <sys/mount.h>
-#     define BOOST_STATVFS statfs
-#     define BOOST_STATVFS_F_FRSIZE static_cast<boost::uintmax_t>(vfs.f_bsize)
-#   endif
-#   include <dirent.h>
-#   include <unistd.h>
-#   include <fcntl.h>
-#   include <utime.h>
-#   include "limits.h"
-
-# else // BOOST_WINDOW_API
-
-    const fs::path dot_path(L".");
-    const fs::path dot_dot_path(L"..");
-#   if (defined(__MINGW32__) || defined(__CYGWIN__)) && !defined(WINVER)
-      // Versions of MinGW or Cygwin that support Filesystem V3 support at least WINVER 0x501.
-      // See MinGW's windef.h
-#     define WINVER 0x501
-#   endif
-#   include <windows.h>
-#   include <winnt.h>
-#   if !defined(_WIN32_WINNT)
-#     define  _WIN32_WINNT   0x0500
-#   endif
-#   if defined(__BORLANDC__) || defined(__MWERKS__)
-#     if defined(__BORLANDC__)
-        using std::time_t;
-#     endif
-#     include <utime.h>
-#   else
-#     include <sys/utime.h>
-#   endif
-
-//  REPARSE_DATA_BUFFER related definitions are found in ntifs.h, which is part of the 
-//  Windows Device Driver Kit. Since that's inconvenient, the definitions are provided
-//  here. See http://msdn.microsoft.com/en-us/library/ms791514.aspx
-
-#if !defined(REPARSE_DATA_BUFFER_HEADER_SIZE)  // mingw winnt.h does provide the defs
-
-#define SYMLINK_FLAG_RELATIVE 1
-
-typedef struct _REPARSE_DATA_BUFFER {
-  ULONG  ReparseTag;
-  USHORT  ReparseDataLength;
-  USHORT  Reserved;
-  union {
-    struct {
-      USHORT  SubstituteNameOffset;
-      USHORT  SubstituteNameLength;
-      USHORT  PrintNameOffset;
-      USHORT  PrintNameLength;
-      ULONG  Flags;
-      WCHAR  PathBuffer[1];
-  /*  Example of distinction between substitute and print names:
-        mklink /d ldrive c:\
-        SubstituteName: c:\\??\
-        PrintName: c:\
-  */
-     } SymbolicLinkReparseBuffer;
-    struct {
-      USHORT  SubstituteNameOffset;
-      USHORT  SubstituteNameLength;
-      USHORT  PrintNameOffset;
-      USHORT  PrintNameLength;
-      WCHAR  PathBuffer[1];
-      } MountPointReparseBuffer;
-    struct {
-      UCHAR  DataBuffer[1];
-    } GenericReparseBuffer;
-  };
-} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
-
-#define REPARSE_DATA_BUFFER_HEADER_SIZE \
-  FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer)
-
-#endif
-
-#ifndef MAXIMUM_REPARSE_DATA_BUFFER_SIZE
-#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE  ( 16 * 1024 )
-#endif
-
-# ifndef FSCTL_GET_REPARSE_POINT
-#   define FSCTL_GET_REPARSE_POINT 0x900a8
-# endif
-
-# ifndef IO_REPARSE_TAG_SYMLINK
-#   define IO_REPARSE_TAG_SYMLINK (0xA000000CL)       
-# endif
-
-# endif  // BOOST_WINDOWS_API
-
-//  BOOST_FILESYSTEM_STATUS_CACHE enables file_status cache in
-//  dir_itr_increment. The config tests are placed here because some of the
-//  macros being tested come from dirent.h.
-//
-// TODO: find out what macros indicate dirent::d_type present in more libraries
-# if defined(BOOST_WINDOWS_API)\
-  || defined(_DIRENT_HAVE_D_TYPE)// defined by GNU C library if d_type present
-#   define BOOST_FILESYSTEM_STATUS_CACHE
-# endif
-
-//  POSIX/Windows macros  ----------------------------------------------------//
-
-//  Portions of the POSIX and Windows API's are very similar, except for name,
-//  order of arguments, and meaning of zero/non-zero returns. The macros below
-//  abstract away those differences. They follow Windows naming and order of
-//  arguments, and return true to indicate no error occurred. [POSIX naming,
-//  order of arguments, and meaning of return were followed initially, but
-//  found to be less clear and cause more coding errors.]
-
-# if defined(BOOST_POSIX_API)
-
-//  POSIX uses a 0 return to indicate success
-#   define BOOST_ERRNO    errno 
-#   define BOOST_SET_CURRENT_DIRECTORY(P)(::chdir(P)== 0)
-#   define BOOST_CREATE_DIRECTORY(P)(::mkdir(P, S_IRWXU|S_IRWXG|S_IRWXO)== 0)
-#   define BOOST_CREATE_HARD_LINK(F,T)(::link(T, F)== 0)
-#   define BOOST_CREATE_SYMBOLIC_LINK(F,T,Flag)(::symlink(T, F)== 0)
-#   define BOOST_REMOVE_DIRECTORY(P)(::rmdir(P)== 0)
-#   define BOOST_DELETE_FILE(P)(::unlink(P)== 0)
-#   define BOOST_COPY_DIRECTORY(F,T)(!(::stat(from.c_str(), &from_stat)!= 0\
-         || ::mkdir(to.c_str(),from_stat.st_mode)!= 0))
-#   define BOOST_COPY_FILE(F,T,FailIfExistsBool)copy_file_api(F, T, FailIfExistsBool)
-#   define BOOST_MOVE_FILE(OLD,NEW)(::rename(OLD, NEW)== 0)
-#   define BOOST_RESIZE_FILE(P,SZ)(::truncate(P, SZ)== 0)
-
-#   define BOOST_ERROR_NOT_SUPPORTED ENOSYS
-#   define BOOST_ERROR_ALREADY_EXISTS EEXIST
-
-# else  // BOOST_WINDOWS_API
-
-//  Windows uses a non-0 return to indicate success
-#   define BOOST_ERRNO    ::GetLastError()
-#   define BOOST_SET_CURRENT_DIRECTORY(P)(::SetCurrentDirectoryW(P)!= 0)
-#   define BOOST_CREATE_DIRECTORY(P)(::CreateDirectoryW(P, 0)!= 0)
-#   define BOOST_CREATE_HARD_LINK(F,T)(create_hard_link_api(F, T, 0)!= 0)
-#   define BOOST_CREATE_SYMBOLIC_LINK(F,T,Flag)(create_symbolic_link_api(F, T, Flag)!= 0)
-#   define BOOST_REMOVE_DIRECTORY(P)(::RemoveDirectoryW(P)!= 0)
-#   define BOOST_DELETE_FILE(P)(::DeleteFileW(P)!= 0)
-#   define BOOST_COPY_DIRECTORY(F,T)(::CreateDirectoryExW(F, T, 0)!= 0)
-#   define BOOST_COPY_FILE(F,T,FailIfExistsBool)(::CopyFileW(F, T, FailIfExistsBool)!= 0)
-#   define BOOST_MOVE_FILE(OLD,NEW)(::MoveFileExW(OLD, NEW, MOVEFILE_REPLACE_EXISTING)!= 0)
-#   define BOOST_RESIZE_FILE(P,SZ)(resize_file_api(P, SZ)!= 0)
-#   define BOOST_READ_SYMLINK(P,T)
-
-#   define BOOST_ERROR_ALREADY_EXISTS ERROR_ALREADY_EXISTS
-#   define BOOST_ERROR_NOT_SUPPORTED ERROR_NOT_SUPPORTED
-
-# endif
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                        helpers (all operating systems)                              //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-namespace
-{
-
-# ifdef BOOST_POSIX_API
-  const char dot = '.';
-# else
-  const wchar_t dot = L'.';
-# endif
-
-  fs::file_type query_file_type(const path& p, error_code* ec);
-
-  boost::filesystem3::directory_iterator end_dir_itr;
-
-  const std::size_t buf_size(128);
-  const error_code ok;
-
-  bool error(bool was_error, error_code* ec, const string& message)
-  {
-    if (!was_error)
-    {
-      if (ec != 0) ec->clear();
-    }
-    else  
-    { //  error
-      if (ec == 0)
-        BOOST_FILESYSTEM_THROW(filesystem_error(message,
-          error_code(BOOST_ERRNO, system_category())));
-      else
-        ec->assign(BOOST_ERRNO, system_category());
-    }
-    return was_error;
-  }
-
-  bool error(bool was_error, const path& p, error_code* ec, const string& message)
-  {
-    if (!was_error)
-    {
-      if (ec != 0) ec->clear();
-    }
-    else  
-    { //  error
-      if (ec == 0)
-        BOOST_FILESYSTEM_THROW(filesystem_error(message,
-          p, error_code(BOOST_ERRNO, system_category())));
-      else
-        ec->assign(BOOST_ERRNO, system_category());
-    }
-    return was_error;
-  }
-
-  bool error(bool was_error, const path& p1, const path& p2, error_code* ec,
-    const string& message)
-  {
-    if (!was_error)
-    {
-      if (ec != 0) ec->clear();
-    }
-    else  
-    { //  error
-      if (ec == 0)
-        BOOST_FILESYSTEM_THROW(filesystem_error(message,
-          p1, p2, error_code(BOOST_ERRNO, system_category())));
-      else
-        ec->assign(BOOST_ERRNO, system_category());
-    }
-    return was_error;
-  }
-
-  bool error(bool was_error, const error_code& result,
-    const path& p, error_code* ec, const string& message)
-    //  Overwrites ec if there has already been an error
-  {
-    if (!was_error)
-    {
-      if (ec != 0) ec->clear();
-    }
-    else  
-    { //  error
-      if (ec == 0)
-        BOOST_FILESYSTEM_THROW(filesystem_error(message, p, result));
-      else
-        *ec = result;
-    }
-    return was_error;
-  }
-
-  bool error(bool was_error, const error_code& result,
-    const path& p1, const path& p2, error_code* ec, const string& message)
-    //  Overwrites ec if there has already been an error
-  {
-    if (!was_error)
-    {
-      if (ec != 0) ec->clear();
-    }
-    else  
-    { //  error
-      if (ec == 0)
-        BOOST_FILESYSTEM_THROW(filesystem_error(message, p1, p2, result));
-      else
-        *ec = result;
-    }
-    return was_error;
-  }
-
-  bool is_empty_directory(const path& p)
-  {
-    return fs::directory_iterator(p)== end_dir_itr;
-  }
-
-  bool remove_directory(const path& p) // true if succeeds
-    { return BOOST_REMOVE_DIRECTORY(p.c_str()); }
-  
-  bool remove_file(const path& p) // true if succeeds
-    { return BOOST_DELETE_FILE(p.c_str()); }
-  
-  // called by remove and remove_all_aux
-  bool remove_file_or_directory(const path& p, fs::file_type type, error_code* ec)
-    // return true if file removed, false if not removed
-  {
-    if (type == fs::file_not_found)
-    {
-      if (ec != 0) ec->clear();
-      return false;
-    }
-
-    if (type == fs::directory_file
-#     ifdef BOOST_WINDOWS_API
-        || type == fs::_detail_directory_symlink
-#     endif
-      )
-    {
-      if (error(!remove_directory(p), p, ec, "boost::filesystem::remove"))
-        return false;
-    }
-    else
-    {
-      if (error(!remove_file(p), p, ec, "boost::filesystem::remove"))
-        return false;
-    }
-    return true;
-  }
-
-  boost::uintmax_t remove_all_aux(const path& p, fs::file_type type,
-    error_code* ec)
-  {
-    boost::uintmax_t count = 1;
-
-    if (type == fs::directory_file)  // but not a directory symlink
-    {
-      for (fs::directory_iterator itr(p);
-            itr != end_dir_itr; ++itr)
-      {
-        fs::file_type tmp_type = query_file_type(itr->path(), ec);
-        if (ec != 0 && *ec)
-          return count;
-        count += remove_all_aux(itr->path(), tmp_type, ec);
-      }
-    }
-    remove_file_or_directory(p, type, ec);
-    return count;
-  }
-
-#ifdef BOOST_POSIX_API
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                            POSIX-specific helpers                                    //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-  bool not_found_error(int errval)
-  {
-    return errno == ENOENT || errno == ENOTDIR;
-  }
-
-  bool // true if ok
-  copy_file_api(const std::string& from_p,
-    const std::string& to_p, bool fail_if_exists)
-  {
-    const std::size_t buf_sz = 32768;
-    boost::scoped_array<char> buf(new char [buf_sz]);
-    int infile=-1, outfile=-1;  // -1 means not open
-
-    // bug fixed: code previously did a stat()on the from_file first, but that
-    // introduced a gratuitous race condition; the stat()is now done after the open()
-
-    if ((infile = ::open(from_p.c_str(), O_RDONLY))< 0)
-      { return false; }
-
-    struct stat from_stat;
-    if (::stat(from_p.c_str(), &from_stat)!= 0)
-    { 
-      ::close(infile);
-      return false;
-    }
-
-    int oflag = O_CREAT | O_WRONLY | O_TRUNC;
-    if (fail_if_exists)
-      oflag |= O_EXCL;
-    if ((outfile = ::open(to_p.c_str(), oflag, from_stat.st_mode))< 0)
-    {
-      int open_errno = errno;
-      BOOST_ASSERT(infile >= 0);
-      ::close(infile);
-      errno = open_errno;
-      return false;
-    }
-
-    ssize_t sz, sz_read=1, sz_write;
-    while (sz_read > 0
-      && (sz_read = ::read(infile, buf.get(), buf_sz))> 0)
-    {
-      // Allow for partial writes - see Advanced Unix Programming (2nd Ed.),
-      // Marc Rochkind, Addison-Wesley, 2004, page 94
-      sz_write = 0;
-      do
-      {
-        if ((sz = ::write(outfile, buf.get() + sz_write,
-          sz_read - sz_write))< 0)
-        { 
-          sz_read = sz; // cause read loop termination
-          break;        //  and error to be thrown after closes
-        }
-        sz_write += sz;
-      } while (sz_write < sz_read);
-    }
-
-    if (::close(infile)< 0)sz_read = -1;
-    if (::close(outfile)< 0)sz_read = -1;
-
-    return sz_read >= 0;
-  }
-
-  inline fs::file_type query_file_type(const path& p, error_code* ec)
-  {
-    return fs::detail::symlink_status(p, ec).type();
-  }
-
-# else
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                            Windows-specific helpers                                  //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-  bool not_found_error(int errval)
-  {
-    return errval == ERROR_FILE_NOT_FOUND
-      || errval == ERROR_PATH_NOT_FOUND
-      || errval == ERROR_INVALID_NAME  // "tools/jam/src/:sys:stat.h", "//foo"
-      || errval == ERROR_INVALID_DRIVE  // USB card reader with no card inserted
-      || errval == ERROR_NOT_READY  // CD/DVD drive with no disc inserted
-      || errval == ERROR_INVALID_PARAMETER  // ":sys:stat.h"
-      || errval == ERROR_BAD_PATHNAME  // "//nosuch" on Win64
-      || errval == ERROR_BAD_NETPATH;  // "//nosuch" on Win32
-  }
-
-  // these constants come from inspecting some Microsoft sample code
-  std::time_t to_time_t(const FILETIME & ft)
-  {
-    __int64 t = (static_cast<__int64>(ft.dwHighDateTime)<< 32)
-      + ft.dwLowDateTime;
-#   if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 // > VC++ 7.0
-    t -= 116444736000000000LL;
-#   else
-    t -= 116444736000000000;
-#   endif
-    t /= 10000000;
-    return static_cast<std::time_t>(t);
-  }
-
-  void to_FILETIME(std::time_t t, FILETIME & ft)
-  {
-    __int64 temp = t;
-    temp *= 10000000;
-#   if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 // > VC++ 7.0
-    temp += 116444736000000000LL;
-#   else
-    temp += 116444736000000000;
-#   endif
-    ft.dwLowDateTime = static_cast<DWORD>(temp);
-    ft.dwHighDateTime = static_cast<DWORD>(temp >> 32);
-  }
-
-  // Thanks to Jeremy Maitin-Shepard for much help and for permission to
-  // base the equivalent()implementation on portions of his 
-  // file-equivalence-win32.cpp experimental code.
-
-  struct handle_wrapper
-  {
-    HANDLE handle;
-    handle_wrapper(HANDLE h)
-      : handle(h){}
-    ~handle_wrapper()
-    {
-      if (handle != INVALID_HANDLE_VALUE)
-        ::CloseHandle(handle);
-    }
-  };
-
-  HANDLE create_file_handle(const path& p, DWORD dwDesiredAccess,
-    DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-    DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes,
-    HANDLE hTemplateFile)
-  {
-    return ::CreateFileW(p.c_str(), dwDesiredAccess, dwShareMode,
-      lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes,
-      hTemplateFile);
-  }
-
-  bool is_reparse_point_a_symlink(const path& p)
-  {
-    handle_wrapper h(create_file_handle(p, FILE_READ_EA,
-      FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING,
-      FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OPEN_REPARSE_POINT, NULL));
-    if (h.handle == INVALID_HANDLE_VALUE)
-      return false;
-
-    boost::scoped_array<char> buf(new char [MAXIMUM_REPARSE_DATA_BUFFER_SIZE]);    
- 
-    // Query the reparse data
-    DWORD dwRetLen;
-    BOOL result = ::DeviceIoControl(h.handle, FSCTL_GET_REPARSE_POINT, NULL, 0, buf.get(),
-      MAXIMUM_REPARSE_DATA_BUFFER_SIZE, &dwRetLen, NULL);
-    if (!result) return false;
- 
-    return reinterpret_cast<const REPARSE_DATA_BUFFER*>(buf.get())
-      ->ReparseTag == IO_REPARSE_TAG_SYMLINK;
-  }
-
-  inline std::size_t get_full_path_name(
-    const path& src, std::size_t len, wchar_t* buf, wchar_t** p)
-  {
-    return static_cast<std::size_t>(
-      ::GetFullPathNameW(src.c_str(), static_cast<DWORD>(len), buf, p));
-  }
-
-  fs::file_status process_status_failure(const path& p, error_code* ec)
-  {
-    int errval(::GetLastError());
-    if (ec != 0)                             // always report errval, even though some
-      ec->assign(errval, system_category());   // errval values are not status_errors
-
-    if (not_found_error(errval))
-    {
-      return fs::file_status(fs::file_not_found);
-    }
-    else if ((errval == ERROR_SHARING_VIOLATION))
-    {
-      return fs::file_status(fs::type_unknown);
-    }
-    if (ec == 0)
-      BOOST_FILESYSTEM_THROW(filesystem_error("boost::filesystem::status",
-        p, error_code(errval, system_category())));
-    return fs::file_status(fs::status_error);
-  }
-
-  //  differs from symlink_status() in that directory symlinks are reported as
-  //  _detail_directory_symlink, as required on Windows by remove() and its helpers.
-  fs::file_type query_file_type(const path& p, error_code* ec)
-  {
-    DWORD attr(::GetFileAttributesW(p.c_str()));
-    if (attr == 0xFFFFFFFF)
-    {
-      return process_status_failure(p, ec).type();
-    }
-
-    if (ec != 0) ec->clear();
-
-    if (attr & FILE_ATTRIBUTE_REPARSE_POINT)
-    {
-      if (is_reparse_point_a_symlink(p))
-        return (attr & FILE_ATTRIBUTE_DIRECTORY)
-          ? fs::_detail_directory_symlink
-          : fs::symlink_file;
-      return fs::reparse_file;
-    }
-
-    return (attr & FILE_ATTRIBUTE_DIRECTORY)
-      ? fs::directory_file
-      : fs::regular_file;
-  }
-
-  BOOL resize_file_api(const wchar_t* p, boost::uintmax_t size)
-  {
-    HANDLE handle = CreateFileW(p, GENERIC_WRITE, 0, 0, OPEN_EXISTING,
-                                FILE_ATTRIBUTE_NORMAL, 0);
-    LARGE_INTEGER sz;
-    sz.QuadPart = size;
-    return handle != INVALID_HANDLE_VALUE
-      && ::SetFilePointerEx(handle, sz, 0, FILE_BEGIN)
-      && ::SetEndOfFile(handle)
-      && ::CloseHandle(handle);
-  }
-
-  //  Windows kernel32.dll functions that may or may not be present
-  //  must be accessed through pointers
-
-  typedef BOOL (WINAPI *PtrCreateHardLinkW)(
-    /*__in*/       LPCWSTR lpFileName,
-    /*__in*/       LPCWSTR lpExistingFileName,
-    /*__reserved*/ LPSECURITY_ATTRIBUTES lpSecurityAttributes
-   );
-
-  PtrCreateHardLinkW create_hard_link_api = PtrCreateHardLinkW(
-    ::GetProcAddress(
-      ::GetModuleHandle(TEXT("kernel32.dll")), "CreateHardLinkW"));
-
-  typedef BOOLEAN (WINAPI *PtrCreateSymbolicLinkW)(
-    /*__in*/ LPCWSTR lpSymlinkFileName,
-    /*__in*/ LPCWSTR lpTargetFileName,
-    /*__in*/ DWORD dwFlags
-   );
-
-  PtrCreateSymbolicLinkW create_symbolic_link_api = PtrCreateSymbolicLinkW(
-    ::GetProcAddress(
-      ::GetModuleHandle(TEXT("kernel32.dll")), "CreateSymbolicLinkW"));
-
-#endif
-
-//#ifdef BOOST_WINDOWS_API
-//
-//
-//  inline bool get_free_disk_space(const std::wstring& ph,
-//    PULARGE_INTEGER avail, PULARGE_INTEGER total, PULARGE_INTEGER free)
-//    { return ::GetDiskFreeSpaceExW(ph.c_str(), avail, total, free)!= 0; }
-//
-//#endif
-
-} // unnamed namespace
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                operations functions declared in operations.hpp                       //
-//                            in alphabetic order                                       //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-namespace boost
-{
-namespace filesystem3
-{
-
-  BOOST_FILESYSTEM_DECL
-  path absolute(const path& p, const path& base)
-  {
-//    if ( p.empty() || p.is_absolute() )
-//      return p;
-//    //  recursively calling absolute is sub-optimal, but is simple
-//    path abs_base(base.is_absolute() ? base : absolute(base));
-//# ifdef BOOST_WINDOWS_API
-//    if (p.has_root_directory())
-//      return abs_base.root_name() / p;
-//    //  !p.has_root_directory
-//    if (p.has_root_name())
-//      return p.root_name()
-//        / abs_base.root_directory() / abs_base.relative_path() / p.relative_path();
-//    //  !p.has_root_name()
-//# endif
-//    return abs_base / p;
-
-    //  recursively calling absolute is sub-optimal, but is sure and simple
-    path abs_base(base.is_absolute() ? base : absolute(base));
-
-    //  store expensive to compute values that are needed multiple times
-    path p_root_name (p.root_name());
-    path base_root_name (abs_base.root_name());
-    path p_root_directory (p.root_directory());
-
-    if (p.empty())
-      return abs_base;
-
-    if (!p_root_name.empty())  // p.has_root_name()
-    {
-      if (p_root_directory.empty())  // !p.has_root_directory()
-        return p_root_name / abs_base.root_directory()
-        / abs_base.relative_path() / p.relative_path();
-      // p is absolute, so fall through to return p at end of block
-    }
-
-    else if (!p_root_directory.empty())  // p.has_root_directory()
-    {
-#     ifdef BOOST_POSIX_API
-      // POSIX can have root name it it is a network path
-      if (base_root_name.empty())   // !abs_base.has_root_name()
-        return p;
-#     endif
-      return base_root_name / p;
-    }
-
-    else
-    {
-      return abs_base / p;
-    }
-
-    return p;  // p.is_absolute() is true
-  }
-
-namespace detail
-{
-  BOOST_FILESYSTEM_DECL bool possible_large_file_size_support()
-  {
-#   ifdef BOOST_POSIX_API
-    struct stat lcl_stat;
-    return sizeof(lcl_stat.st_size)> 4;
-#   else
-    return true;
-#   endif
-  }
-
-  BOOST_FILESYSTEM_DECL
-  path canonical(const path& p, const path& base, system::error_code* ec)
-  {
-    path source (p.is_absolute() ? p : absolute(p, base));
-    path result;
-
-    system::error_code local_ec;
-    file_status stat (status(source, local_ec));
-
-    if (stat.type() == fs::file_not_found)
-    {
-      if (ec == 0)
-        BOOST_FILESYSTEM_THROW(filesystem_error(
-          "boost::filesystem::canonical", source,
-          error_code(system::errc::no_such_file_or_directory, system::generic_category())));
-      ec->assign(system::errc::no_such_file_or_directory, system::generic_category());
-      return result;
-    }
-    else if (local_ec)
-    {
-      if (ec == 0)
-        BOOST_FILESYSTEM_THROW(filesystem_error(
-          "boost::filesystem::canonical", source, local_ec));
-      *ec = local_ec;
-      return result;
-    }
-
-    bool scan (true);
-    while (scan)
-    {
-      scan = false;
-      result.clear();
-      for (path::iterator itr = source.begin(); itr != source.end(); ++itr)
-      {
-        if (*itr == dot_path)
-          continue;
-        if (*itr == dot_dot_path)
-        {
-          result.remove_filename();
-          continue;
-        }
-
-        result /= *itr;
-
-        bool is_sym (is_symlink(detail::symlink_status(result, ec)));
-        if (ec && *ec)
-          return path();
-
-        if (is_sym)
-        {
-          path link(detail::read_symlink(result, ec));
-          if (ec && *ec)
-            return path();
-          result.remove_filename();
-
-          if (link.is_absolute())
-          {
-            for (++itr; itr != source.end(); ++itr)
-              link /= *itr;
-            source = link;
-          }
-          else // link is relative
-          {
-            path new_source(result);
-            new_source /= link;
-            for (++itr; itr != source.end(); ++itr)
-              new_source /= *itr;
-            source = new_source;
-          }
-          scan = true;  // symlink causes scan to be restarted
-          break;
-        }
-      }
-    }
-    if (ec != 0)
-      ec->clear();
-    BOOST_ASSERT_MSG(result.is_absolute(), "canonical() implementation error; please report");
-    return result;
-  }
-
-  BOOST_FILESYSTEM_DECL
-  void copy(const path& from, const path& to, system::error_code* ec)
-  {
-    file_status s(symlink_status(from, *ec));
-    if (ec != 0 && *ec) return;
-
-    if(is_symlink(s))
-    {
-      copy_symlink(from, to, *ec);
-    }
-    else if(is_directory(s))
-    {
-      copy_directory(from, to, *ec);
-    }
-    else if(is_regular_file(s))
-    {
-      copy_file(from, to, copy_option::fail_if_exists, *ec);
-    }
-    else
-    {
-      if (ec == 0)
-        BOOST_FILESYSTEM_THROW(filesystem_error("boost::filesystem::copy",
-          from, to, error_code(BOOST_ERROR_NOT_SUPPORTED, system_category())));
-      ec->assign(BOOST_ERROR_NOT_SUPPORTED, system_category());
-    }
-  }
-
-  BOOST_FILESYSTEM_DECL
-  void copy_directory(const path& from, const path& to, system::error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-    struct stat from_stat;
-#   endif
-    error(!BOOST_COPY_DIRECTORY(from.c_str(), to.c_str()),
-      from, to, ec, "boost::filesystem::copy_directory");
-  }
-
-  BOOST_FILESYSTEM_DECL
-  void copy_file(const path& from, const path& to,
-                  BOOST_SCOPED_ENUM(copy_option)option,
-                  error_code* ec)
-  {
-    error(!BOOST_COPY_FILE(from.c_str(), to.c_str(),
-      option == copy_option::fail_if_exists),
-        from, to, ec, "boost::filesystem::copy_file");
-  }
-
-  BOOST_FILESYSTEM_DECL
-  void copy_symlink(const path& existing_symlink, const path& new_symlink,
-    system::error_code* ec)
-  {
-# if defined(_WIN32_WINNT) && _WIN32_WINNT < 0x0600
-    error(true, error_code(BOOST_ERROR_NOT_SUPPORTED, system_category()),
-      new_symlink, existing_symlink, ec,
-      "boost::filesystem::copy_symlink");
-
-# else  // modern Windows or BOOST_POSIX_API 
-    path p(read_symlink(existing_symlink, ec));
-    if (ec != 0 && *ec) return;
-    create_symlink(p, new_symlink, ec);
-
-# endif
-  }
-
-  BOOST_FILESYSTEM_DECL
-  bool create_directories(const path& p, system::error_code* ec)
-  {
-    if (p.empty() || exists(p))
-    {
-      if (!p.empty() && !is_directory(p))
-      {
-        if (ec == 0)
-        BOOST_FILESYSTEM_THROW(filesystem_error(
-            "boost::filesystem::create_directories", p,
-            error_code(system::errc::file_exists, system::generic_category())));
-        else ec->assign(system::errc::file_exists, system::generic_category());
-      }
-      return false;
-    }
-
-    // First create branch, by calling ourself recursively
-    create_directories(p.parent_path(), ec);
-    // Now that parent's path exists, create the directory
-    create_directory(p, ec);
-    return true;
-  }
-
-  BOOST_FILESYSTEM_DECL
-  bool create_directory(const path& p, error_code* ec)
-  {
-    if (BOOST_CREATE_DIRECTORY(p.c_str()))
-    {
-      if (ec != 0) ec->clear();
-      return true;
-    }
-
-    //  attempt to create directory failed
-    int errval(BOOST_ERRNO);  // save reason for failure
-    error_code dummy;
-    if (errval == BOOST_ERROR_ALREADY_EXISTS && is_directory(p, dummy))
-    {
-      if (ec != 0) ec->clear();
-      return false;
-    }
-
-    //  attempt to create directory failed && it doesn't already exist
-    if (ec == 0)
-      BOOST_FILESYSTEM_THROW(filesystem_error("boost::filesystem::create_directory",
-        p, error_code(errval, system_category())));
-    else
-      ec->assign(errval, system_category());
-    return false;
-  }
-
-  BOOST_FILESYSTEM_DECL
-  void create_directory_symlink(const path& to, const path& from,
-                                 system::error_code* ec)
-  {
-#   if defined(BOOST_WINDOWS_API) && _WIN32_WINNT < 0x0600  // SDK earlier than Vista and Server 2008
-
-    error(true, error_code(BOOST_ERROR_NOT_SUPPORTED, system_category()), to, from, ec,
-      "boost::filesystem::create_directory_symlink");
-#   else
-
-#     if defined(BOOST_WINDOWS_API) && _WIN32_WINNT >= 0x0600
-        // see if actually supported by Windows runtime dll
-        if (error(!create_symbolic_link_api,
-            error_code(BOOST_ERROR_NOT_SUPPORTED, system_category()),
-            to, from, ec,
-            "boost::filesystem::create_directory_symlink"))
-          return;
-#     endif
-
-    error(!BOOST_CREATE_SYMBOLIC_LINK(from.c_str(), to.c_str(), SYMBOLIC_LINK_FLAG_DIRECTORY),
-      to, from, ec, "boost::filesystem::create_directory_symlink");
-#   endif
-  }
-
-  BOOST_FILESYSTEM_DECL
-  void create_hard_link(const path& to, const path& from, error_code* ec)
-  {
-
-#   if defined(BOOST_WINDOWS_API) && _WIN32_WINNT < 0x0500  // SDK earlier than Win 2K
-
-    error(true, error_code(BOOST_ERROR_NOT_SUPPORTED, system_category()), to, from, ec,
-      "boost::filesystem::create_hard_link");
-#   else
-
-#     if defined(BOOST_WINDOWS_API) && _WIN32_WINNT >= 0x0500
-        // see if actually supported by Windows runtime dll
-        if (error(!create_hard_link_api,
-            error_code(BOOST_ERROR_NOT_SUPPORTED, system_category()),
-            to, from, ec,
-            "boost::filesystem::create_hard_link"))
-          return;
-#     endif
-
-    error(!BOOST_CREATE_HARD_LINK(from.c_str(), to.c_str()), to, from, ec,
-      "boost::filesystem::create_hard_link");
-#   endif
-  }
-
-  BOOST_FILESYSTEM_DECL
-  void create_symlink(const path& to, const path& from, error_code* ec)
-  {
-#   if defined(BOOST_WINDOWS_API) && _WIN32_WINNT < 0x0600  // SDK earlier than Vista and Server 2008
-    error(true, error_code(BOOST_ERROR_NOT_SUPPORTED, system_category()), to, from, ec,
-      "boost::filesystem::create_directory_symlink");
-#   else
-
-#     if defined(BOOST_WINDOWS_API) && _WIN32_WINNT >= 0x0600
-        // see if actually supported by Windows runtime dll
-        if (error(!create_symbolic_link_api,
-            error_code(BOOST_ERROR_NOT_SUPPORTED, system_category()),
-            to, from, ec,
-            "boost::filesystem::create_symlink"))
-          return;
-#     endif
-
-    error(!BOOST_CREATE_SYMBOLIC_LINK(from.c_str(), to.c_str(), 0),
-      to, from, ec, "boost::filesystem::create_symlink");
-#   endif
-  }
-
-  BOOST_FILESYSTEM_DECL
-  path current_path(error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-    path cur;
-    for (long path_max = 128;; path_max *=2)// loop 'til buffer large enough
-    {
-      boost::scoped_array<char>
-        buf(new char[static_cast<std::size_t>(path_max)]);
-      if (::getcwd(buf.get(), static_cast<std::size_t>(path_max))== 0)
-      {
-        if (error(errno != ERANGE
-      // bug in some versions of the Metrowerks C lib on the Mac: wrong errno set 
-#         if defined(__MSL__) && (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
-          && errno != 0
-#         endif
-          , ec, "boost::filesystem::current_path"))
-        {
-          break;
-        }
-      }
-      else
-      {
-        cur = buf.get();
-        if (ec != 0) ec->clear();
-        break;
-      }
-    }
-    return cur;
-
-#   else
-    DWORD sz;
-    if ((sz = ::GetCurrentDirectoryW(0, NULL))== 0)sz = 1;
-    boost::scoped_array<path::value_type> buf(new path::value_type[sz]);
-    error(::GetCurrentDirectoryW(sz, buf.get())== 0, ec,
-      "boost::filesystem::current_path");
-    return path(buf.get());
-#   endif
-  }
-
-
-  BOOST_FILESYSTEM_DECL
-  void current_path(const path& p, system::error_code* ec)
-  {
-    error(!BOOST_SET_CURRENT_DIRECTORY(p.c_str()),
-      p, ec, "boost::filesystem::current_path");
-  }
-
-  BOOST_FILESYSTEM_DECL
-  bool equivalent(const path& p1, const path& p2, system::error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-    struct stat s2;
-    int e2(::stat(p2.c_str(), &s2));
-    struct stat s1;
-    int e1(::stat(p1.c_str(), &s1));
-
-    if (e1 != 0 || e2 != 0)
-    {
-      // if one is invalid and the other isn't then they aren't equivalent,
-      // but if both are invalid then it is an error
-      error (e1 != 0 && e2 != 0, p1, p2, ec, "boost::filesystem::equivalent");
-      return false;
-    }
-
-    // both stats now known to be valid
-    return  s1.st_dev == s2.st_dev && s1.st_ino == s2.st_ino
-        // According to the POSIX stat specs, "The st_ino and st_dev fields
-        // taken together uniquely identify the file within the system."
-        // Just to be sure, size and mod time are also checked.
-        && s1.st_size == s2.st_size && s1.st_mtime == s2.st_mtime;
-
-#   else  // Windows
-
-    // Note well: Physical location on external media is part of the
-    // equivalence criteria. If there are no open handles, physical location
-    // can change due to defragmentation or other relocations. Thus handles
-    // must be held open until location information for both paths has
-    // been retrieved.
-
-    // p2 is done first, so any error reported is for p1
-    handle_wrapper h2(
-      create_file_handle(
-          p2.c_str(),
-          0,
-          FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE,
-          0,
-          OPEN_EXISTING,
-          FILE_FLAG_BACKUP_SEMANTICS,
-          0));
-
-    handle_wrapper h1(
-      create_file_handle(
-          p1.c_str(),
-          0,
-          FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE,
-          0,
-          OPEN_EXISTING,
-          FILE_FLAG_BACKUP_SEMANTICS,
-          0));
-
-    if (h1.handle == INVALID_HANDLE_VALUE
-      || h2.handle == INVALID_HANDLE_VALUE)
-    {
-      // if one is invalid and the other isn't, then they aren't equivalent,
-      // but if both are invalid then it is an error
-      error(h1.handle == INVALID_HANDLE_VALUE
-        && h2.handle == INVALID_HANDLE_VALUE, p1, p2, ec,
-          "boost::filesystem::equivalent");
-      return false;
-    }
-
-    // at this point, both handles are known to be valid
-
-    BY_HANDLE_FILE_INFORMATION info1, info2;
-
-    if (error(!::GetFileInformationByHandle(h1.handle, &info1),
-      p1, p2, ec, "boost::filesystem::equivalent"))
-        return  false;
-
-    if (error(!::GetFileInformationByHandle(h2.handle, &info2),
-      p1, p2, ec, "boost::filesystem::equivalent"))
-        return  false;
-
-    // In theory, volume serial numbers are sufficient to distinguish between
-    // devices, but in practice VSN's are sometimes duplicated, so last write
-    // time and file size are also checked.
-      return 
-        info1.dwVolumeSerialNumber == info2.dwVolumeSerialNumber
-        && info1.nFileIndexHigh == info2.nFileIndexHigh
-        && info1.nFileIndexLow == info2.nFileIndexLow
-        && info1.nFileSizeHigh == info2.nFileSizeHigh
-        && info1.nFileSizeLow == info2.nFileSizeLow
-        && info1.ftLastWriteTime.dwLowDateTime
-          == info2.ftLastWriteTime.dwLowDateTime
-        && info1.ftLastWriteTime.dwHighDateTime
-          == info2.ftLastWriteTime.dwHighDateTime;
-
-#   endif
-  }
-
-  BOOST_FILESYSTEM_DECL
-  boost::uintmax_t file_size(const path& p, error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-
-    struct stat path_stat;
-    if (error(::stat(p.c_str(), &path_stat)!= 0,
-        p, ec, "boost::filesystem::file_size"))
-      return static_cast<boost::uintmax_t>(-1);
-   if (error(!S_ISREG(path_stat.st_mode),
-      error_code(EPERM, system_category()),
-        p, ec, "boost::filesystem::file_size"))
-      return static_cast<boost::uintmax_t>(-1);
-
-    return static_cast<boost::uintmax_t>(path_stat.st_size);
-
-#   else  // Windows
-
-    // assume uintmax_t is 64-bits on all Windows compilers
-
-    WIN32_FILE_ATTRIBUTE_DATA fad;
-
-    if (error(::GetFileAttributesExW(p.c_str(), ::GetFileExInfoStandard, &fad)== 0,
-        p, ec, "boost::filesystem::file_size"))
-        return static_cast<boost::uintmax_t>(-1);
-
-    if (error((fad.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)!= 0,
-      error_code(ERROR_NOT_SUPPORTED, system_category()),
-        p, ec, "boost::filesystem::file_size"))
-      return static_cast<boost::uintmax_t>(-1);
-
-    return (static_cast<boost::uintmax_t>(fad.nFileSizeHigh)
-              << (sizeof(fad.nFileSizeLow)*8)) + fad.nFileSizeLow;
-#   endif
-  }
-
-  BOOST_FILESYSTEM_DECL
-  boost::uintmax_t hard_link_count(const path& p, system::error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-
-    struct stat path_stat;
-    return error(::stat(p.c_str(), &path_stat)!= 0,
-                  p, ec, "boost::filesystem::hard_link_count")
-           ? 0
-           : static_cast<boost::uintmax_t>(path_stat.st_nlink);
-
-#   else // Windows
-
-    // Link count info is only available through GetFileInformationByHandle
-    BY_HANDLE_FILE_INFORMATION info;
-    handle_wrapper h(
-      create_file_handle(p.c_str(), 0,
-          FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
-          OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0));
-    return
-      !error(h.handle == INVALID_HANDLE_VALUE,
-              p, ec, "boost::filesystem::hard_link_count")
-      && !error(::GetFileInformationByHandle(h.handle, &info)== 0,
-                 p, ec, "boost::filesystem::hard_link_count")
-           ? info.nNumberOfLinks
-           : 0;
-#   endif
-  }
-
-  BOOST_FILESYSTEM_DECL
-  path initial_path(error_code* ec)
-  {
-      static path init_path;
-      if (init_path.empty())
-        init_path = current_path(ec);
-      else if (ec != 0) ec->clear();
-      return init_path;
-  }
-
-  BOOST_FILESYSTEM_DECL
-  bool is_empty(const path& p, system::error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-
-    struct stat path_stat;
-    if (error(::stat(p.c_str(), &path_stat)!= 0,
-        p, ec, "boost::filesystem::is_empty"))
-      return false;        
-    return S_ISDIR(path_stat.st_mode)
-      ? is_empty_directory(p)
-      : path_stat.st_size == 0;
-#   else
-
-    WIN32_FILE_ATTRIBUTE_DATA fad;
-    if (error(::GetFileAttributesExW(p.c_str(), ::GetFileExInfoStandard, &fad)== 0,
-      p, ec, "boost::filesystem::is_empty"))
-        return false;
-
-    if (ec != 0) ec->clear();
-    return 
-      (fad.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
-        ? is_empty_directory(p)
-        : (!fad.nFileSizeHigh && !fad.nFileSizeLow);
-#   endif
-  }
-
-  BOOST_FILESYSTEM_DECL
-  std::time_t last_write_time(const path& p, system::error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-
-    struct stat path_stat;
-    if (error(::stat(p.c_str(), &path_stat)!= 0,
-      p, ec, "boost::filesystem::last_write_time"))
-        return std::time_t(-1);
-    return path_stat.st_mtime;
-
-#   else
-
-    handle_wrapper hw(
-      create_file_handle(p.c_str(), 0,
-        FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
-        OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0));
-
-    if (error(hw.handle == INVALID_HANDLE_VALUE,
-      p, ec, "boost::filesystem::last_write_time"))
-        return std::time_t(-1);
-
-    FILETIME lwt;
-
-    if (error(::GetFileTime(hw.handle, 0, 0, &lwt)== 0,
-      p, ec, "boost::filesystem::last_write_time"))
-        return std::time_t(-1);
-
-    return to_time_t(lwt);
-#   endif
-  }
-
-  BOOST_FILESYSTEM_DECL
-  void last_write_time(const path& p, const std::time_t new_time,
-                        system::error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-
-    struct stat path_stat;
-    if (error(::stat(p.c_str(), &path_stat)!= 0,
-      p, ec, "boost::filesystem::last_write_time"))
-        return;
-    ::utimbuf buf;
-    buf.actime = path_stat.st_atime; // utime()updates access time too:-(
-    buf.modtime = new_time;
-    error(::utime(p.c_str(), &buf)!= 0,
-      p, ec, "boost::filesystem::last_write_time");
-
-#   else
-
-    handle_wrapper hw(
-      create_file_handle(p.c_str(), FILE_WRITE_ATTRIBUTES,
-        FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
-        OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0));
-
-    if (error(hw.handle == INVALID_HANDLE_VALUE,
-      p, ec, "boost::filesystem::last_write_time"))
-        return;
-
-    FILETIME lwt;
-    to_FILETIME(new_time, lwt);
-
-    error(::SetFileTime(hw.handle, 0, 0, &lwt)== 0,
-      p, ec, "boost::filesystem::last_write_time");
-#   endif
-  }
-
-  BOOST_FILESYSTEM_DECL
-  path read_symlink(const path& p, system::error_code* ec)
-  {
-    path symlink_path;
-
-#   ifdef BOOST_POSIX_API
-
-    for (std::size_t path_max = 64;; path_max *= 2)// loop 'til buffer large enough
-    {
-      boost::scoped_array<char> buf(new char[path_max]);
-      ssize_t result;
-      if ((result=::readlink(p.c_str(), buf.get(), path_max))== -1)
-      {
-        if (ec == 0)
-          BOOST_FILESYSTEM_THROW(filesystem_error("boost::filesystem::read_symlink",
-            p, error_code(errno, system_category())));
-        else ec->assign(errno, system_category());
-        break;
-      }
-      else
-      {
-        if(result != static_cast<ssize_t>(path_max))
-        {
-          symlink_path.assign(buf.get(), buf.get() + result);
-          if (ec != 0) ec->clear();
-          break;
-        }
-      }
-    }
-
-#   elif _WIN32_WINNT < 0x0600  // SDK earlier than Vista and Server 2008
-    error(true, error_code(BOOST_ERROR_NOT_SUPPORTED, system_category()), p, ec,
-          "boost::filesystem::read_symlink");
-#   else  // Vista and Server 2008 SDK, or later
-
-    union info_t
-    {
-      char buf[REPARSE_DATA_BUFFER_HEADER_SIZE+MAXIMUM_REPARSE_DATA_BUFFER_SIZE];
-      REPARSE_DATA_BUFFER rdb;
-    } info;
-
-    handle_wrapper h(
-      create_file_handle(p.c_str(), GENERIC_READ, 0, 0, OPEN_EXISTING,
-        FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OPEN_REPARSE_POINT, 0));
-
-    if (error(h.handle == INVALID_HANDLE_VALUE, p, ec, "boost::filesystem::read_symlink"))
-      return symlink_path;
-
-    DWORD sz;
-
-    if (!error(::DeviceIoControl(h.handle, FSCTL_GET_REPARSE_POINT,
-          0, 0, info.buf, sizeof(info), &sz, 0) == 0, p, ec,
-          "boost::filesystem::read_symlink" ))
-      symlink_path.assign(
-        static_cast<wchar_t*>(info.rdb.SymbolicLinkReparseBuffer.PathBuffer)
-        + info.rdb.SymbolicLinkReparseBuffer.PrintNameOffset/sizeof(wchar_t),
-        static_cast<wchar_t*>(info.rdb.SymbolicLinkReparseBuffer.PathBuffer)
-        + info.rdb.SymbolicLinkReparseBuffer.PrintNameOffset/sizeof(wchar_t)
-        + info.rdb.SymbolicLinkReparseBuffer.PrintNameLength/sizeof(wchar_t));
-#     endif
-    return symlink_path;
-  }
-  
-  BOOST_FILESYSTEM_DECL
-  bool remove(const path& p, error_code* ec)
-  {
-    error_code tmp_ec;
-    file_type type = query_file_type(p, &tmp_ec);
-    if (error(type == status_error, tmp_ec, p, ec,
-        "boost::filesystem::remove"))
-      return false;
-
-    // Since POSIX remove() is specified to work with either files or directories, in a
-    // perfect world it could just be called. But some important real-world operating
-    // systems (Windows, Mac OS X, for example) don't implement the POSIX spec. So
-    // remove_file_or_directory() is always called to kep it simple.
-    return remove_file_or_directory(p, type, ec);
-  }
-
-  BOOST_FILESYSTEM_DECL
-  boost::uintmax_t remove_all(const path& p, error_code* ec)
-  {
-    error_code tmp_ec;
-    file_type type = query_file_type(p, &tmp_ec);
-    if (error(type == status_error, tmp_ec, p, ec,
-      "boost::filesystem::remove_all"))
-      return 0;
-
-    return (type != status_error && type != file_not_found) // exists
-      ? remove_all_aux(p, type, ec)
-      : 0;
-  }
-
-  BOOST_FILESYSTEM_DECL
-  void rename(const path& old_p, const path& new_p, error_code* ec)
-  {
-    error(!BOOST_MOVE_FILE(old_p.c_str(), new_p.c_str()), old_p, new_p, ec,
-      "boost::filesystem::rename");
-  }
-
-  BOOST_FILESYSTEM_DECL
-  void resize_file(const path& p, uintmax_t size, system::error_code* ec)
-  {
-    error(!BOOST_RESIZE_FILE(p.c_str(), size), p, ec, "boost::filesystem::resize_file");
-  }
-
-  BOOST_FILESYSTEM_DECL
-  space_info space(const path& p, error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-    struct BOOST_STATVFS vfs;
-    space_info info;
-    if (!error(::BOOST_STATVFS(p.c_str(), &vfs)!= 0,
-      p, ec, "boost::filesystem::space"))
-    {
-      info.capacity 
-        = static_cast<boost::uintmax_t>(vfs.f_blocks)* BOOST_STATVFS_F_FRSIZE;
-      info.free 
-        = static_cast<boost::uintmax_t>(vfs.f_bfree)* BOOST_STATVFS_F_FRSIZE;
-      info.available
-        = static_cast<boost::uintmax_t>(vfs.f_bavail)* BOOST_STATVFS_F_FRSIZE;
-    }
-
-#   else
-    ULARGE_INTEGER avail, total, free;
-    space_info info;
-
-    if (!error(::GetDiskFreeSpaceExW(p.c_str(), &avail, &total, &free)== 0,
-       p, ec, "boost::filesystem::space"))
-    {
-      info.capacity
-        = (static_cast<boost::uintmax_t>(total.HighPart)<< 32)
-          + total.LowPart;
-      info.free
-        = (static_cast<boost::uintmax_t>(free.HighPart)<< 32)
-          + free.LowPart;
-      info.available
-        = (static_cast<boost::uintmax_t>(avail.HighPart)<< 32)
-          + avail.LowPart;
-    }
-
-#   endif
-
-    else
-    {
-      info.capacity = info.free = info.available = 0;
-    }
-    return info;
-  }
-
-  BOOST_FILESYSTEM_DECL
-  file_status status(const path& p, error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-
-    struct stat path_stat;
-    if (::stat(p.c_str(), &path_stat)!= 0)
-    {
-      if (ec != 0)                            // always report errno, even though some
-        ec->assign(errno, system_category());   // errno values are not status_errors
-
-      if (not_found_error(errno))
-      {
-        return fs::file_status(fs::file_not_found);
-      }
-      if (ec == 0)
-        BOOST_FILESYSTEM_THROW(filesystem_error("boost::filesystem::status",
-          p, error_code(errno, system_category())));
-      return fs::file_status(fs::status_error);
-    }
-    if (ec != 0) ec->clear();;
-    if (S_ISDIR(path_stat.st_mode))
-      return fs::file_status(fs::directory_file);
-    if (S_ISREG(path_stat.st_mode))
-      return fs::file_status(fs::regular_file);
-    if (S_ISBLK(path_stat.st_mode))
-      return fs::file_status(fs::block_file);
-    if (S_ISCHR(path_stat.st_mode))
-      return fs::file_status(fs::character_file);
-    if (S_ISFIFO(path_stat.st_mode))
-      return fs::file_status(fs::fifo_file);
-    if (S_ISSOCK(path_stat.st_mode))
-      return fs::file_status(fs::socket_file);
-    return fs::file_status(fs::type_unknown);
-
-#   else  // Windows
-
-    DWORD attr(::GetFileAttributesW(p.c_str()));
-    if (attr == 0xFFFFFFFF)
-    {
-      return process_status_failure(p, ec);
-    }
-
-    //  reparse point handling
-    if (attr & FILE_ATTRIBUTE_REPARSE_POINT)
-    {
-      handle_wrapper h(
-        create_file_handle(
-            p.c_str(),
-            0,  // dwDesiredAccess; attributes only
-            FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE,
-            0,  // lpSecurityAttributes
-            OPEN_EXISTING,
-            FILE_FLAG_BACKUP_SEMANTICS,
-            0)); // hTemplateFile
-      if (h.handle == INVALID_HANDLE_VALUE)
-      {
-        return process_status_failure(p, ec);
-      }
-
-      if (!is_reparse_point_a_symlink(p))
-        return file_status(reparse_file);
-    }
-
-    if (ec != 0) ec->clear();
-    return (attr & FILE_ATTRIBUTE_DIRECTORY)
-      ? file_status(directory_file)
-      : file_status(regular_file);
-
-#   endif
-  }
-
-  BOOST_FILESYSTEM_DECL
-  file_status symlink_status(const path& p, error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-
-    struct stat path_stat;
-    if (::lstat(p.c_str(), &path_stat)!= 0)
-    {
-      if (ec != 0)                            // always report errno, even though some
-        ec->assign(errno, system_category());   // errno values are not status_errors
-
-      if (errno == ENOENT || errno == ENOTDIR) // these are not errors
-      {
-        return fs::file_status(fs::file_not_found);
-      }
-      if (ec == 0)
-        BOOST_FILESYSTEM_THROW(filesystem_error("boost::filesystem::status",
-          p, error_code(errno, system_category())));
-      return fs::file_status(fs::status_error);
-    }
-    if (ec != 0) ec->clear();
-    if (S_ISREG(path_stat.st_mode))
-      return fs::file_status(fs::regular_file);
-    if (S_ISDIR(path_stat.st_mode))
-      return fs::file_status(fs::directory_file);
-    if (S_ISLNK(path_stat.st_mode))
-      return fs::file_status(fs::symlink_file);
-    if (S_ISBLK(path_stat.st_mode))
-      return fs::file_status(fs::block_file);
-    if (S_ISCHR(path_stat.st_mode))
-      return fs::file_status(fs::character_file);
-    if (S_ISFIFO(path_stat.st_mode))
-      return fs::file_status(fs::fifo_file);
-    if (S_ISSOCK(path_stat.st_mode))
-      return fs::file_status(fs::socket_file);
-    return fs::file_status(fs::type_unknown);
-
-#   else  // Windows
-
-    DWORD attr(::GetFileAttributesW(p.c_str()));
-    if (attr == 0xFFFFFFFF)
-    {
-      return process_status_failure(p, ec);
-    }
-
-    if (ec != 0) ec->clear();
-
-    if (attr & FILE_ATTRIBUTE_REPARSE_POINT)
-      return is_reparse_point_a_symlink(p)
-             ? file_status(symlink_file)
-             : file_status(reparse_file);
-
-    return (attr & FILE_ATTRIBUTE_DIRECTORY)
-      ? file_status(directory_file)
-      : file_status(regular_file);
-
-#   endif
-  }
-
-   // contributed by Jeff Flinn
-  BOOST_FILESYSTEM_DECL
-  path temp_directory_path(system::error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-      const char* val = 0;
-      
-      (val = std::getenv("TMPDIR" )) ||
-      (val = std::getenv("TMP"    )) ||
-      (val = std::getenv("TEMP"   )) ||
-      (val = std::getenv("TEMPDIR"));
-      
-      path p((val!=0) ? val : "/tmp");
-      
-      if (p.empty() || (ec&&!is_directory(p, *ec))||(!ec&&!is_directory(p)))
-      {
-        errno = ENOTDIR;
-        error(true, p, ec, "boost::filesystem::temp_directory_path");
-        return p;
-      }
-        
-      return p;
-      
-#   else  // Windows
-
-      std::vector<path::value_type> buf(GetTempPathW(0, NULL));
-
-      if (buf.empty() || GetTempPathW(buf.size(), &buf[0])==0)
-      {
-        if(!buf.empty()) ::SetLastError(ENOTDIR);
-        error(true, ec, "boost::filesystem::temp_directory_path");
-        return path();
-      }
-          
-      buf.pop_back();
-      
-      path p(buf.begin(), buf.end());
-          
-      if ((ec&&!is_directory(p, *ec))||(!ec&&!is_directory(p)))
-      {
-        ::SetLastError(ENOTDIR);
-        error(true, p, ec, "boost::filesystem::temp_directory_path");
-        return path();
-      }
-      
-      return p;
-#   endif
-  }
-  
-  BOOST_FILESYSTEM_DECL
-  path system_complete(const path& p, system::error_code* ec)
-  {
-#   ifdef BOOST_POSIX_API
-    return (p.empty() || p.is_absolute())
-      ? p : current_path()/ p;
-
-#   else
-    if (p.empty())
-    {
-      if (ec != 0) ec->clear();
-      return p;
-    }
-    wchar_t buf[buf_size];
-    wchar_t* pfn;
-    std::size_t len = get_full_path_name(p, buf_size, buf, &pfn);
-
-    if (error(len == 0, p, ec, "boost::filesystem::system_complete"))
-      return path();
-
-    if (len < buf_size)// len does not include null termination character
-      return path(&buf[0]);
-
-    boost::scoped_array<wchar_t> big_buf(new wchar_t[len]);
-
-    return error(get_full_path_name(p, len , big_buf.get(), &pfn)== 0,
-      p, ec, "boost::filesystem::system_complete")
-      ? path()
-      : path(big_buf.get());
-#   endif
-  }
-
-}  // namespace detail
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                                 directory_entry                                      //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-  file_status
-  directory_entry::m_get_status(system::error_code* ec) const
-  {
-    if (!status_known(m_status))
-    {
-      // optimization: if the symlink status is known, and it isn't a symlink,
-      // then status and symlink_status are identical so just copy the
-      // symlink status to the regular status.
-      if (status_known(m_symlink_status)
-        && !is_symlink(m_symlink_status))
-      { 
-        m_status = m_symlink_status;
-        if (ec != 0) ec->clear();
-      }
-      else m_status = detail::status(m_path, ec);
-    }
-    else if (ec != 0) ec->clear();
-    return m_status;
-  }
-
-  file_status
-  directory_entry::m_get_symlink_status(system::error_code* ec) const
-  {
-    if (!status_known(m_symlink_status))
-      m_symlink_status = detail::symlink_status(m_path, ec);
-    else if (ec != 0) ec->clear();
-    return m_symlink_status;
-  }
-
-//  dispatch directory_entry supplied here rather than in 
-//  <boost/filesystem/path_traits.hpp>, thus avoiding header circularity.
-//  test cases are in operations_unit_test.cpp
-
-namespace path_traits
-{
-  void dispatch(const directory_entry & de,
-#                ifdef BOOST_WINDOWS_API
-                 std::wstring& to,
-#                else   
-                 std::string& to,
-#                endif
-                 const codecvt_type &)
-  {
-    to = de.path().native();
-  }
-
-}  // namespace path_traits
-} // namespace filesystem3
-} // namespace boost
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                               directory_iterator                                     //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-namespace
-{
-# ifdef BOOST_POSIX_API
-
-  error_code path_max(std::size_t & result)
-  // this code is based on Stevens and Rago, Advanced Programming in the
-  // UNIX envirnment, 2nd Ed., ISBN 0-201-43307-9, page 49
-  {
-#   ifdef PATH_MAX
-    static std::size_t max = PATH_MAX;
-#   else
-    static std::size_t max = 0;
-#   endif
-    if (max == 0)
-    {
-      errno = 0;
-      long tmp = ::pathconf("/", _PC_NAME_MAX);
-      if (tmp < 0)
-      {
-        if (errno == 0)// indeterminate
-          max = 4096; // guess
-        else return error_code(errno, system_category());
-      }
-      else max = static_cast<std::size_t>(tmp + 1); // relative root
-    }
-    result = max;
-    return ok;
-  }
-
-#if defined(__PGI) && defined(__USE_FILE_OFFSET64)
-#define dirent dirent64
-#endif
-
-  error_code dir_itr_first(void *& handle, void *& buffer,
-    const char* dir, string& target,
-    fs::file_status &, fs::file_status &)
-  {
-    if ((handle = ::opendir(dir))== 0)
-      return error_code(errno, system_category());
-    target = string(".");  // string was static but caused trouble
-                             // when iteration called from dtor, after
-                             // static had already been destroyed
-    std::size_t path_size (0);  // initialization quiets gcc warning (ticket #3509)
-    error_code ec = path_max(path_size);
-    if (ec)return ec;
-    dirent de;
-    buffer = std::malloc((sizeof(dirent) - sizeof(de.d_name))
-      +  path_size + 1); // + 1 for "/0"
-    return ok;
-  }  
-
-  // warning: the only dirent member updated is d_name
-  inline int readdir_r_simulator(DIR * dirp, struct dirent * entry,
-    struct dirent ** result)// *result set to 0 on end of directory
-  {
-    errno = 0;
-
-#   if !defined(__CYGWIN__)\
-    && defined(_POSIX_THREAD_SAFE_FUNCTIONS)\
-    && defined(_SC_THREAD_SAFE_FUNCTIONS)\
-    && (_POSIX_THREAD_SAFE_FUNCTIONS+0 >= 0)\
-    && (!defined(__hpux) || defined(_REENTRANT)) \
-    && (!defined(_AIX) || defined(__THREAD_SAFE))
-    if (::sysconf(_SC_THREAD_SAFE_FUNCTIONS)>= 0)
-      { return ::readdir_r(dirp, entry, result); }
-#   endif
-
-    struct dirent * p;
-    *result = 0;
-    if ((p = ::readdir(dirp))== 0)
-      return errno;
-    std::strcpy(entry->d_name, p->d_name);
-    *result = entry;
-    return 0;
-  }
-
-  error_code dir_itr_increment(void *& handle, void *& buffer,
-    string& target, fs::file_status & sf, fs::file_status & symlink_sf)
-  {
-    BOOST_ASSERT(buffer != 0);
-    dirent * entry(static_cast<dirent *>(buffer));
-    dirent * result;
-    int return_code;
-    if ((return_code = readdir_r_simulator(static_cast<DIR*>(handle),
-      entry, &result))!= 0)return error_code(errno, system_category());
-    if (result == 0)
-      return fs::detail::dir_itr_close(handle, buffer);
-    target = entry->d_name;
-#   ifdef BOOST_FILESYSTEM_STATUS_CACHE
-    if (entry->d_type == DT_UNKNOWN) // filesystem does not supply d_type value
-    {
-      sf = symlink_sf = fs::file_status(fs::status_error);
-    }
-    else  // filesystem supplies d_type value
-    {
-      if (entry->d_type == DT_DIR)
-        sf = symlink_sf = fs::file_status(fs::directory_file);
-      else if (entry->d_type == DT_REG)
-        sf = symlink_sf = fs::file_status(fs::regular_file);
-      else if (entry->d_type == DT_LNK)
-      {
-        sf = fs::file_status(fs::status_error);
-        symlink_sf = fs::file_status(fs::symlink_file);
-      }
-      else sf = symlink_sf = fs::file_status(fs::status_error);
-    }
-#   else
-    sf = symlink_sf = fs::file_status(fs::status_error);
-#    endif
-    return ok;
-  }
-
-# else // BOOST_WINDOWS_API
-
-  error_code dir_itr_first(void *& handle, const fs::path& dir,
-    wstring& target, fs::file_status & sf, fs::file_status & symlink_sf)
-  // Note: an empty root directory has no "." or ".." entries, so this
-  // causes a ERROR_FILE_NOT_FOUND error which we do not considered an
-  // error. It is treated as eof instead.
-  {
-    // use a form of search Sebastian Martel reports will work with Win98
-    wstring dirpath(dir.wstring());
-    dirpath += (dirpath.empty()
-      || (dirpath[dirpath.size()-1] != L'\\'
-        && dirpath[dirpath.size()-1] != L'/'
-        && dirpath[dirpath.size()-1] != L':'))? L"\\*" : L"*";
-
-    WIN32_FIND_DATAW data;
-    if ((handle = ::FindFirstFileW(dirpath.c_str(), &data))
-      == INVALID_HANDLE_VALUE)
-    { 
-      handle = 0;
-      return error_code( (::GetLastError() == ERROR_FILE_NOT_FOUND
-                       // Windows Mobile returns ERROR_NO_MORE_FILES; see ticket #3551                                           
-                       || ::GetLastError() == ERROR_NO_MORE_FILES) 
-        ? 0 : ::GetLastError(), system_category() );
-    }
-    target = data.cFileName;
-    if (data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)
-      // reparse points are complex, so don't try to handle them here
-      { sf.type(fs::status_error); symlink_sf.type(fs::status_error); }
-    else if (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
-      { sf.type(fs::directory_file); symlink_sf.type(fs::directory_file); }
-    else
-      { sf.type(fs::regular_file); symlink_sf.type(fs::regular_file); }
-    return error_code();
-  }
-
-  error_code  dir_itr_increment(void *& handle, wstring& target,
-    fs::file_status & sf, fs::file_status & symlink_sf)
-  {
-    WIN32_FIND_DATAW data;
-    if (::FindNextFileW(handle, &data)== 0)// fails
-    {
-      int error = ::GetLastError();
-      fs::detail::dir_itr_close(handle);
-      return error_code(error == ERROR_NO_MORE_FILES ? 0 : error, system_category());
-    }
-    target = data.cFileName;
-    if (data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)
-      // reparse points are complex, so don't try to handle them here
-      { sf.type(fs::status_error); symlink_sf.type(fs::status_error); }
-    else if (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
-      { sf.type(fs::directory_file); symlink_sf.type(fs::directory_file); }
-    else
-      { sf.type(fs::regular_file); symlink_sf.type(fs::regular_file); }
-    return error_code();
-  }
-#endif
-
-  const error_code not_found_error_code (
-#     ifdef BOOST_WINDOWS_API
-        ERROR_PATH_NOT_FOUND
-#     else
-        ENOENT 
-#     endif
-        , system_category());
-
-}  // unnamed namespace
-
-namespace boost
-{
-namespace filesystem3
-{
-
-namespace detail
-{
-  //  dir_itr_close is called both from the ~dir_itr_imp()destructor 
-  //  and dir_itr_increment()
-  BOOST_FILESYSTEM_DECL
-  system::error_code dir_itr_close( // never throws
-    void *& handle
-#   if defined(BOOST_POSIX_API)
-    , void *& buffer
-#   endif
-   )
-  {
-#   ifdef BOOST_POSIX_API
-    std::free(buffer);
-    buffer = 0;
-    if (handle == 0)return ok;
-    DIR * h(static_cast<DIR*>(handle));
-    handle = 0;
-    return error_code(::closedir(h)== 0 ? 0 : errno, system_category());
-
-#   else
-    if (handle != 0)
-    {
-      ::FindClose(handle);
-      handle = 0;
-    }
-    return ok;
-
-#   endif
-  }
-
-  void directory_iterator_construct(directory_iterator& it,
-    const path& p, system::error_code* ec)    
-  {
-    if (error(p.empty(), not_found_error_code, p, ec,
-       "boost::filesystem::directory_iterator::construct"))return;
-
-    path::string_type filename;
-    file_status file_stat, symlink_file_stat;
-    error_code result = dir_itr_first(it.m_imp->handle,
-#     if defined(BOOST_POSIX_API)
-      it.m_imp->buffer,
-#     endif
-      p.c_str(), filename, file_stat, symlink_file_stat);
-
-    if (result)
-    {
-      it.m_imp.reset();
-      error(true, result, p,
-        ec, "boost::filesystem::directory_iterator::construct");
-      return;
-    }
-    
-    if (it.m_imp->handle == 0)it.m_imp.reset(); // eof, so make end iterator
-    else // not eof
-    {
-      it.m_imp->dir_entry.assign(p / filename,
-        file_stat, symlink_file_stat);
-      if (filename[0] == dot // dot or dot-dot
-        && (filename.size()== 1
-          || (filename[1] == dot
-            && filename.size()== 2)))
-        {  it.increment(); }
-    }
-  }
-
-  void directory_iterator_increment(directory_iterator& it,
-    system::error_code* ec)
-  {
-    BOOST_ASSERT_MSG(it.m_imp.get(), "attempt to increment end iterator");
-    BOOST_ASSERT_MSG(it.m_imp->handle != 0, "internal program error");
-    
-    path::string_type filename;
-    file_status file_stat, symlink_file_stat;
-    system::error_code temp_ec;
-
-    for (;;)
-    {
-      temp_ec = dir_itr_increment(it.m_imp->handle,
-#       if defined(BOOST_POSIX_API)
-        it.m_imp->buffer,
-#       endif
-        filename, file_stat, symlink_file_stat);
-
-      if (temp_ec)
-      {
-        it.m_imp.reset();
-        if (ec == 0)
-          BOOST_FILESYSTEM_THROW(
-            filesystem_error("boost::filesystem::directory_iterator::operator++",
-              it.m_imp->dir_entry.path().parent_path(),
-              error_code(BOOST_ERRNO, system_category())));
-        ec->assign(BOOST_ERRNO, system_category());
-        return;
-      }
-      else if (ec != 0) ec->clear();
-
-      if (it.m_imp->handle == 0)  // eof, make end
-      {
-        it.m_imp.reset();
-        return;
-      }
-
-      if (!(filename[0] == dot // !(dot or dot-dot)
-        && (filename.size()== 1
-          || (filename[1] == dot
-            && filename.size()== 2))))
-      {
-        it.m_imp->dir_entry.replace_filename(
-          filename, file_stat, symlink_file_stat);
-        return;
-      }
-    }
-  }
-}  // namespace detail
-} // namespace filesystem3
-} // namespace boost
-
-#endif  // no wide character support
diff --git a/SRC/Boost/libs/filesystem/v3/src/path.cpp b/SRC/Boost/libs/filesystem/v3/src/path.cpp
deleted file mode 100755
index 18b1d15..0000000
--- a/SRC/Boost/libs/filesystem/v3/src/path.cpp
+++ /dev/null
@@ -1,813 +0,0 @@
-//  filesystem path.cpp  -------------------------------------------------------------  //
-
-//  Copyright Beman Dawes 2008
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#include <boost/config.hpp>
-#if !defined( BOOST_NO_STD_WSTRING )
-// Boost.Filesystem V3 and later requires std::wstring support.
-// During the transition to V3, libraries are compiled with both V2 and V3 sources.
-// On old compilers that don't support V3 anyhow, we just skip everything so the compile
-// will succeed and the library can be built.
-
-// define BOOST_FILESYSTEM_SOURCE so that <boost/system/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_FILESYSTEM_SOURCE 
-
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/v3/config.hpp>
-#include <boost/filesystem/v3/path.hpp>
-#include <boost/scoped_array.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/assert.hpp>
-#include <algorithm>
-#include <cstddef>
-#include <cstring>
-#include <cassert>
-
-#ifdef BOOST_WINDOWS_API
-# include "windows_file_codecvt.hpp"
-# include <windows.h>
-#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
-# include <boost/filesystem/detail/utf8_codecvt_facet.hpp>
-#endif
-
-#ifdef BOOST_FILESYSTEM_DEBUG
-# include <iostream>
-# include <iomanip>
-#endif
-
-namespace fs = boost::filesystem3;
-
-using boost::filesystem3::path;
-
-using std::string;
-using std::wstring;
-
-using boost::system::error_code;
-
-#ifndef BOOST_FILESYSTEM_CODECVT_BUF_SIZE
-# define BOOST_FILESYSTEM_CODECVT_BUF_SIZE 256
-#endif
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                                class path helpers                                    //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-namespace
-{
-  //------------------------------------------------------------------------------------//
-  //                        miscellaneous class path helpers                            //
-  //------------------------------------------------------------------------------------//
-
-  typedef path::value_type        value_type;
-  typedef path::string_type       string_type;
-  typedef string_type::size_type  size_type;
-
-  const std::size_t default_codecvt_buf_size = BOOST_FILESYSTEM_CODECVT_BUF_SIZE;
-
-# ifdef BOOST_WINDOWS_API
-
-  const wchar_t separator = L'/';
-  const wchar_t preferred_separator = L'\\';
-  const wchar_t* const separators = L"/\\";
-  const wchar_t* separator_string = L"/";
-  const wchar_t* preferred_separator_string = L"\\";
-  const wchar_t colon = L':';
-  const wchar_t dot = L'.';
-  const wchar_t questionmark = L'?';
-  const fs::path dot_path(L".");
-  const fs::path dot_dot_path(L"..");
-
-# else
-
-  const char separator = '/';
-  const char preferred_separator = '/';
-  const char* const separators = "/";
-  const char* separator_string = "/";
-  const char* preferred_separator_string = "/";
-  const char colon = ':';
-  const char dot = '.';
-  const fs::path dot_path(".");
-  const fs::path dot_dot_path("..");
-
-# endif
-
-  inline bool is_separator(fs::path::value_type c)
-  {
-    return c == separator
-#     ifdef BOOST_WINDOWS_API
-      || c == preferred_separator
-#     endif
-      ;
-  }
-
-  bool is_non_root_separator(const string_type& str, size_type pos);
-    // pos is position of the separator
-
-  size_type filename_pos(const string_type& str,
-                          size_type end_pos); // end_pos is past-the-end position
-  //  Returns: 0 if str itself is filename (or empty)
-
-  size_type root_directory_start(const string_type& path, size_type size);
-  //  Returns:  npos if no root_directory found
-
-  void first_element(
-      const string_type& src,
-      size_type& element_pos,
-      size_type& element_size,
-#     if !BOOST_WORKAROUND(BOOST_MSVC, <= 1310) // VC++ 7.1
-      size_type size = string_type::npos
-#     else
-      size_type size = -1
-#     endif
-    );
-
-}  // unnamed namespace
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                            class path implementation                                 //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-namespace boost
-{
-namespace filesystem3
-{
-
-  path & path::operator/=(const path & p)
-  {
-    if (p.empty())
-      return *this;
-    if (!is_separator(*p.m_pathname.begin()))
-      m_append_separator_if_needed();
-    m_pathname += p.m_pathname;
-    return *this;
-  }
-
-# ifdef BOOST_WINDOWS_API
-
-  const std::string path::generic_string(const codecvt_type& cvt) const
-  { 
-    path tmp(*this);
-    std::replace(tmp.m_pathname.begin(), tmp.m_pathname.end(), L'\\', L'/');
-    return tmp.string(cvt);
-  }
-
-  const std::wstring path::generic_wstring() const
-  { 
-    path tmp(*this);
-    std::replace(tmp.m_pathname.begin(), tmp.m_pathname.end(), L'\\', L'/');
-    return tmp.wstring();
-  }
-
-# endif  // BOOST_WINDOWS_API
-
-  //  m_append_separator_if_needed  ----------------------------------------------------//
-
-  path::string_type::size_type path::m_append_separator_if_needed()
-  {
-    if (!m_pathname.empty() &&
-#     ifdef BOOST_WINDOWS_API
-      *(m_pathname.end()-1) != colon && 
-#     endif
-      !is_separator(*(m_pathname.end()-1)))
-    {
-      string_type::size_type tmp(m_pathname.size());
-      m_pathname += preferred_separator;
-      return tmp;
-    }
-    return 0;
-  }
-
-  //  m_erase_redundant_separator  -----------------------------------------------------//
-
-  void path::m_erase_redundant_separator(string_type::size_type sep_pos)
-  {
-    if (sep_pos                         // a separator was added
-      && sep_pos < m_pathname.size()         // and something was appended
-      && (m_pathname[sep_pos+1] == separator // and it was also separator
-#      ifdef BOOST_WINDOWS_API
-       || m_pathname[sep_pos+1] == preferred_separator  // or preferred_separator
-#      endif
-)) { m_pathname.erase(sep_pos, 1); } // erase the added separator
-  }
-
-  //  modifiers  -----------------------------------------------------------------------//
-
-# ifdef BOOST_WINDOWS_API
-  path & path::make_preferred()
-  {
-    std::replace(m_pathname.begin(), m_pathname.end(), L'/', L'\\');
-    return *this;
-  }
-# endif
-
-  path& path::remove_filename()
-  {
-    m_pathname.erase(m_parent_path_end());
-    return *this;
-  }
-
-  path & path::replace_extension(const path & source)
-  {
-    // erase existing extension if any
-    size_type pos(m_pathname.rfind(dot));
-    if (pos != string_type::npos && pos >= filename_pos(m_pathname, m_pathname.size()))
-      m_pathname.erase(pos);
-
-    // append source extension if any
-    pos = source.m_pathname.rfind(dot);
-    if (pos != string_type::npos)
-      m_pathname += source.c_str() + pos;
-
-    return *this;
-  }
-
-  //  decomposition  -------------------------------------------------------------------//
-
-  path  path::root_path() const
-  { 
-    path temp(root_name());
-    if (!root_directory().empty()) temp.m_pathname += root_directory().c_str();
-    return temp;
-  } 
-
-  path path::root_name() const
-  {
-    iterator itr(begin());
-
-    return (itr.m_pos != m_pathname.size()
-      && (
-          (itr.m_element.m_pathname.size() > 1
-            && is_separator(itr.m_element.m_pathname[0])
-            && is_separator(itr.m_element.m_pathname[1])
-   )
-#       ifdef BOOST_WINDOWS_API
-        || itr.m_element.m_pathname[itr.m_element.m_pathname.size()-1] == colon
-#       endif
-  ))
-      ? itr.m_element
-      : path();
-  }
-
-  path path::root_directory() const
-  {
-    size_type pos(root_directory_start(m_pathname, m_pathname.size()));
-
-    return pos == string_type::npos
-      ? path()
-      : path(m_pathname.c_str() + pos, m_pathname.c_str() + pos + 1);
-  }
-
-  path path::relative_path() const
-  {
-    iterator itr(begin());
-
-    for (; itr.m_pos != m_pathname.size()
-      && (is_separator(itr.m_element.m_pathname[0])
-#     ifdef BOOST_WINDOWS_API
-      || itr.m_element.m_pathname[itr.m_element.m_pathname.size()-1] == colon
-#     endif
-    ); ++itr) {}
-
-    return path(m_pathname.c_str() + itr.m_pos);
-  }
-
-  string_type::size_type path::m_parent_path_end() const
-  {
-    size_type end_pos(filename_pos(m_pathname, m_pathname.size()));
-
-    bool filename_was_separator(m_pathname.size()
-      && is_separator(m_pathname[end_pos]));
-
-    // skip separators unless root directory
-    size_type root_dir_pos(root_directory_start(m_pathname, end_pos));
-    for (; 
-      end_pos > 0
-      && (end_pos-1) != root_dir_pos
-      && is_separator(m_pathname[end_pos-1])
-      ;
-      --end_pos) {}
-
-   return (end_pos == 1 && root_dir_pos == 0 && filename_was_separator)
-     ? string_type::npos
-     : end_pos;
-  }
-
-  path path::parent_path() const
-  {
-   size_type end_pos(m_parent_path_end());
-   return end_pos == string_type::npos
-     ? path()
-     : path(m_pathname.c_str(), m_pathname.c_str() + end_pos);
-  }
-
-  path path::filename() const
-  {
-    size_type pos(filename_pos(m_pathname, m_pathname.size()));
-    return (m_pathname.size()
-              && pos
-              && is_separator(m_pathname[pos])
-              && is_non_root_separator(m_pathname, pos))
-      ? dot_path
-      : path(m_pathname.c_str() + pos);
-  }
-
-  path path::stem() const
-  {
-    path name(filename());
-    if (name == dot_path || name == dot_dot_path) return name;
-    size_type pos(name.m_pathname.rfind(dot));
-    return pos == string_type::npos
-      ? name
-      : path(name.m_pathname.c_str(), name.m_pathname.c_str() + pos);
-  }
-
-  path path::extension() const
-  {
-    path name(filename());
-    if (name == dot_path || name == dot_dot_path) return path();
-    size_type pos(name.m_pathname.rfind(dot));
-    return pos == string_type::npos
-      ? path()
-      : path(name.m_pathname.c_str() + pos);
-  }
-
-  // m_normalize  ----------------------------------------------------------------------//
-
-  path& path::m_normalize()
-  {
-    if (m_pathname.empty()) return *this;
-      
-    path temp;
-    iterator start(begin());
-    iterator last(end());
-    iterator stop(last--);
-    for (iterator itr(start); itr != stop; ++itr)
-    {
-      // ignore "." except at start and last
-      if (itr->native().size() == 1
-        && (itr->native())[0] == dot
-        && itr != start
-        && itr != last) continue;
-
-      // ignore a name and following ".."
-      if (!temp.empty()
-        && itr->native().size() == 2
-        && (itr->native())[0] == dot
-        && (itr->native())[1] == dot) // dot dot
-      {
-        string_type lf(temp.filename().native());  
-        if (lf.size() > 0  
-          && (lf.size() != 1
-            || (lf[0] != dot
-              && lf[0] != separator))
-          && (lf.size() != 2 
-            || (lf[0] != dot
-              && lf[1] != dot
-#             ifdef BOOST_WINDOWS_API
-              && lf[1] != colon
-#             endif
-               )
-             )
-          )
-        {
-          temp.remove_filename();
-          // if not root directory, must also remove "/" if any
-          if (temp.m_pathname.size() > 0
-            && temp.m_pathname[temp.m_pathname.size()-1]
-              == separator)
-          {
-            string_type::size_type rds(
-              root_directory_start(temp.m_pathname, temp.m_pathname.size()));
-            if (rds == string_type::npos
-              || rds != temp.m_pathname.size()-1) 
-              { temp.m_pathname.erase(temp.m_pathname.size()-1); }
-          }
-
-          iterator next(itr);
-          if (temp.empty() && ++next != stop
-            && next == last && *last == dot_path) temp /= dot_path;
-          continue;
-        }
-      }
-
-      temp /= *itr;
-    };
-
-    if (temp.empty()) temp /= dot_path;
-    m_pathname = temp.m_pathname;
-    return *this;
-  }
-
-}  // namespace filesystem3
-}  // namespace boost
-  
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                         class path helpers implementation                            //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-namespace
-{
-
-  //  is_non_root_separator  -------------------------------------------------//
-
-  bool is_non_root_separator(const string_type & str, size_type pos)
-    // pos is position of the separator
-  {
-    BOOST_ASSERT_MSG(!str.empty() && is_separator(str[pos]),
-      "precondition violation");
-
-    // subsequent logic expects pos to be for leftmost slash of a set
-    while (pos > 0 && is_separator(str[pos-1]))
-      --pos;
-
-    return  pos != 0
-      && (pos <= 2 || !is_separator(str[1])
-        || str.find_first_of(separators, 2) != pos)
-#     ifdef BOOST_WINDOWS_API
-      && (pos !=2 || str[1] != colon)
-#     endif
-        ;
-  }
-
-  //  filename_pos  --------------------------------------------------------------------//
-
-  size_type filename_pos(const string_type & str,
-                          size_type end_pos) // end_pos is past-the-end position
-    // return 0 if str itself is filename (or empty)
-  {
-    // case: "//"
-    if (end_pos == 2 
-      && is_separator(str[0])
-      && is_separator(str[1])) return 0;
-
-    // case: ends in "/"
-    if (end_pos && is_separator(str[end_pos-1]))
-      return end_pos-1;
-    
-    // set pos to start of last element
-    size_type pos(str.find_last_of(separators, end_pos-1));
-
-#   ifdef BOOST_WINDOWS_API
-    if (pos == string_type::npos)
-      pos = str.find_last_of(colon, end_pos-2);
-#   endif
-
-    return (pos == string_type::npos // path itself must be a filename (or empty)
-      || (pos == 1 && is_separator(str[0]))) // or net
-        ? 0 // so filename is entire string
-        : pos + 1; // or starts after delimiter
-  }
-
-  //  root_directory_start  ------------------------------------------------------------//
-
-  size_type root_directory_start(const string_type & path, size_type size)
-  // return npos if no root_directory found
-  {
-
-#   ifdef BOOST_WINDOWS_API
-    // case "c:/"
-    if (size > 2
-      && path[1] == colon
-      && is_separator(path[2])) return 2;
-#   endif
-
-    // case "//"
-    if (size == 2
-      && is_separator(path[0])
-      && is_separator(path[1])) return string_type::npos;
-
-#   ifdef BOOST_WINDOWS_API
-  	// case "\\?\"
-  	if (size > 4
-  	  && is_separator(path[0])
-  	  && is_separator(path[1])
-  	  && path[2] == questionmark
-  	  && is_separator(path[3]))
-  	{
-  	  string_type::size_type pos(path.find_first_of(separators, 4));
-        return pos < size ? pos : string_type::npos;
-  	}
-#   endif
-
-    // case "//net {/}"
-    if (size > 3
-      && is_separator(path[0])
-      && is_separator(path[1])
-      && !is_separator(path[2]))
-    {
-      string_type::size_type pos(path.find_first_of(separators, 2));
-      return pos < size ? pos : string_type::npos;
-    }
-    
-    // case "/"
-    if (size > 0 && is_separator(path[0])) return 0;
-
-    return string_type::npos;
-  }
-
-  //  first_element --------------------------------------------------------------------//
-  //   sets pos and len of first element, excluding extra separators
-  //   if src.empty(), sets pos,len, to 0,0.
-
-  void first_element(
-      const string_type & src,
-      size_type & element_pos,
-      size_type & element_size,
-      size_type size
-)
-  {
-    if (size == string_type::npos) size = src.size();
-    element_pos = 0;
-    element_size = 0;
-    if (src.empty()) return;
-
-    string_type::size_type cur(0);
-    
-    // deal with // [network]
-    if (size >= 2 && is_separator(src[0])
-      && is_separator(src[1])
-      && (size == 2
-        || !is_separator(src[2])))
-    { 
-      cur += 2;
-      element_size += 2;
-    }
-
-    // leading (not non-network) separator
-    else if (is_separator(src[0]))
-    {
-      ++element_size;
-      // bypass extra leading separators
-      while (cur+1 < size
-        && is_separator(src[cur+1]))
-      {
-        ++cur;
-        ++element_pos;
-      }
-      return;
-    }
-
-    // at this point, we have either a plain name, a network name,
-    // or (on Windows only) a device name
-
-    // find the end
-    while (cur < size
-#     ifdef BOOST_WINDOWS_API
-      && src[cur] != colon
-#     endif
-      && !is_separator(src[cur]))
-    {
-      ++cur;
-      ++element_size;
-    }
-
-#   ifdef BOOST_WINDOWS_API
-    if (cur == size) return;
-    // include device delimiter
-    if (src[cur] == colon)
-      { ++element_size; }
-#   endif
-
-    return;
-  }
-
-}  // unnammed namespace
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                        class path::iterator implementation                           //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-namespace boost
-{
-namespace filesystem3
-{
-
-  path::iterator path::begin() const
-  {
-    iterator itr;
-    itr.m_path_ptr = this;
-    size_type element_size;
-    first_element(m_pathname, itr.m_pos, element_size);
-    itr.m_element = m_pathname.substr(itr.m_pos, element_size);
-    if (itr.m_element.m_pathname == preferred_separator_string)
-      itr.m_element.m_pathname = separator_string;  // needed for Windows, harmless on POSIX
-    return itr;
-  }
-
-  path::iterator path::end() const
-  {
-    iterator itr;
-    itr.m_path_ptr = this;
-    itr.m_pos = m_pathname.size();
-    return itr;
-  }
-
-  void path::m_path_iterator_increment(path::iterator & it)
-  {
-    BOOST_ASSERT_MSG(it.m_pos < it.m_path_ptr->m_pathname.size(),
-      "path::basic_iterator increment past end()");
-
-    // increment to position past current element
-    it.m_pos += it.m_element.m_pathname.size();
-
-    // if end reached, create end basic_iterator
-    if (it.m_pos == it.m_path_ptr->m_pathname.size())
-    {
-      it.m_element.clear(); 
-      return;
-    }
-
-    // both POSIX and Windows treat paths that begin with exactly two separators specially
-    bool was_net(it.m_element.m_pathname.size() > 2
-      && is_separator(it.m_element.m_pathname[0])
-      && is_separator(it.m_element.m_pathname[1])
-      && !is_separator(it.m_element.m_pathname[2]));
-
-    // process separator (Windows drive spec is only case not a separator)
-    if (is_separator(it.m_path_ptr->m_pathname[it.m_pos]))
-    {
-      // detect root directory
-      if (was_net
-#       ifdef BOOST_WINDOWS_API
-        // case "c:/"
-        || it.m_element.m_pathname[it.m_element.m_pathname.size()-1] == colon
-#       endif
-         )
-      {
-        it.m_element.m_pathname = separator;
-        return;
-      }
-
-      // bypass separators
-      while (it.m_pos != it.m_path_ptr->m_pathname.size()
-        && is_separator(it.m_path_ptr->m_pathname[it.m_pos]))
-        { ++it.m_pos; }
-
-      // detect trailing separator, and treat it as ".", per POSIX spec
-      if (it.m_pos == it.m_path_ptr->m_pathname.size()
-        && is_non_root_separator(it.m_path_ptr->m_pathname, it.m_pos-1)) 
-      {
-        --it.m_pos;
-        it.m_element = dot_path;
-        return;
-      }
-    }
-
-    // get next element
-    size_type end_pos(it.m_path_ptr->m_pathname.find_first_of(separators, it.m_pos));
-    if (end_pos == string_type::npos) end_pos = it.m_path_ptr->m_pathname.size();
-    it.m_element = it.m_path_ptr->m_pathname.substr(it.m_pos, end_pos - it.m_pos);
-  }
-
-  void path::m_path_iterator_decrement(path::iterator & it)
-  {
-    BOOST_ASSERT_MSG(it.m_pos, "path::iterator decrement past begin()");
-
-    size_type end_pos(it.m_pos);
-
-    // if at end and there was a trailing non-root '/', return "."
-    if (it.m_pos == it.m_path_ptr->m_pathname.size()
-      && it.m_path_ptr->m_pathname.size() > 1
-      && is_separator(it.m_path_ptr->m_pathname[it.m_pos-1])
-      && is_non_root_separator(it.m_path_ptr->m_pathname, it.m_pos-1) 
-       )
-    {
-      --it.m_pos;
-      it.m_element = dot_path;
-      return;
-    }
-
-    size_type root_dir_pos(root_directory_start(it.m_path_ptr->m_pathname, end_pos));
-
-    // skip separators unless root directory
-    for (
-      ; 
-      end_pos > 0
-      && (end_pos-1) != root_dir_pos
-      && is_separator(it.m_path_ptr->m_pathname[end_pos-1])
-      ;
-      --end_pos) {}
-
-    it.m_pos = filename_pos(it.m_path_ptr->m_pathname, end_pos);
-    it.m_element = it.m_path_ptr->m_pathname.substr(it.m_pos, end_pos - it.m_pos);
-    if (it.m_element.m_pathname == preferred_separator_string)
-      it.m_element.m_pathname = separator_string;  // needed for Windows, harmless on POSIX
-  }
-
-}  // namespace filesystem3
-}  // namespace boost
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                                 detail helpers                                       //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-namespace
-{
-
-  //------------------------------------------------------------------------------------//
-  //                              locale helpers                                        //
-  //------------------------------------------------------------------------------------//
-
-  std::locale default_locale()
-  {
-#   ifdef BOOST_WINDOWS_API
-    std::locale global_loc = std::locale();
-    std::locale loc(global_loc, new windows_file_codecvt);
-    return loc;
-
-#   elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
-    // "All BSD system functions expect their string parameters to be in UTF-8 encoding
-    // and nothing else." See
-    // http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPInternational/Articles/FileEncodings.html
-    //
-    // "The kernel will reject any filename that is not a valid UTF-8 string, and it will
-    // even be normalized (to Unicode NFD) before stored on disk, at least when using HFS.
-    // The right way to deal with it would be to always convert the filename to UTF-8
-    // before trying to open/create a file." See
-    // http://lists.apple.com/archives/unix-porting/2007/Sep/msg00023.html
-    //
-    // "How a file name looks at the API level depends on the API. Current Carbon APIs
-    // handle file names as an array of UTF-16 characters; POSIX ones handle them as an
-    // array of UTF-8, which is why UTF-8 works well in Terminal. How it's stored on disk
-    // depends on the disk format; HFS+ uses UTF-16, but that's not important in most
-    // cases." See
-    // http://lists.apple.com/archives/applescript-users/2002/Sep/msg00319.html
-    //
-    // Many thanks to Peter Dimov for digging out the above references!
-
-    std::locale global_loc = std::locale();
-    std::locale loc(global_loc, new boost::filesystem::detail::utf8_codecvt_facet);
-    return loc;
-
-#   else  // Other POSIX
-
-    // ISO C calls std::locale("") "the locale-specific native environment", and this
-    // locale is the default for many POSIX-based operating systems such as Linux.
-
-    // std::locale("") construction can throw (if environmental variables LC_MESSAGES or
-    // or LANG are wrong, for example), so dynamic initialization is used to ensure
-    // that exceptions can be caught.
-
-    return std::locale("");
-
-#   endif
-  }
-
-  std::locale& path_locale()
-  {
-    static std::locale loc(default_locale());
-    return loc;
-  }
-
-}  // unnamed namespace
-
-//--------------------------------------------------------------------------------------//
-//                           path::imbue implementation                                 //
-//--------------------------------------------------------------------------------------//
-
-namespace boost
-{
-namespace filesystem3
-{
-
-  const path::codecvt_type *& path::wchar_t_codecvt_facet()
-  {
-   static const std::codecvt<wchar_t, char, std::mbstate_t> *
-     facet(
-       &std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t> >
-        (path_locale()));
-   return facet;
-  }
-
-  std::locale path::imbue(const std::locale & loc)
-  {
-    std::locale temp(path_locale());
-    path_locale() = loc;
-    wchar_t_codecvt_facet() =
-      &std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t> >(path_locale());
-    return temp;
-  }
-
-}  // namespace filesystem3
-}  // namespace boost
-
-#endif  // has wide character support
diff --git a/SRC/Boost/libs/filesystem/v3/src/path_traits.cpp b/SRC/Boost/libs/filesystem/v3/src/path_traits.cpp
deleted file mode 100755
index 2e2a410..0000000
--- a/SRC/Boost/libs/filesystem/v3/src/path_traits.cpp
+++ /dev/null
@@ -1,209 +0,0 @@
-//  filesystem path_traits.cpp  --------------------------------------------------------//
-
-//  Copyright Beman Dawes 2008, 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------//
-
-#include <boost/config.hpp>
-#if !defined( BOOST_NO_STD_WSTRING )
-// Boost.Filesystem V3 and later requires std::wstring support.
-// During the transition to V3, libraries are compiled with both V2 and V3 sources.
-// On old compilers that don't support V3 anyhow, we just skip everything so the compile
-// will succeed and the library can be built.
-
-// define BOOST_FILESYSTEM_SOURCE so that <boost/system/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_FILESYSTEM_SOURCE 
-
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/v3/config.hpp>
-#include <boost/filesystem/v3/path_traits.hpp>
-#include <boost/system/system_error.hpp>
-#include <boost/scoped_array.hpp>
-#include <locale>   // for codecvt_base::result
-#include <cstring>  // for strlen
-#include <cwchar>   // for wcslen
-
-namespace pt = boost::filesystem3::path_traits;
-namespace fs = boost::filesystem3;
-namespace bs = boost::system;
-
-//--------------------------------------------------------------------------------------//
-//                                  configuration                                       //
-//--------------------------------------------------------------------------------------//
-
-#ifndef BOOST_FILESYSTEM_CODECVT_BUF_SIZE
-# define BOOST_FILESYSTEM_CODECVT_BUF_SIZE 256
-#endif
-
-namespace {
-
-  const std::size_t default_codecvt_buf_size = BOOST_FILESYSTEM_CODECVT_BUF_SIZE;
-
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//  The public convert() functions do buffer management, and then forward to the        //
-//  convert_aux() functions for the actual call to the codecvt facet.                   //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-//--------------------------------------------------------------------------------------//
-//                      convert_aux const char* to wstring                             //
-//--------------------------------------------------------------------------------------//
-
-  void convert_aux(
-                   const char* from,
-                   const char* from_end,
-                   wchar_t* to, wchar_t* to_end,
-                   std::wstring & target,
-                   const pt::codecvt_type & cvt)
-  {
-    //std::cout << std::hex
-    //          << " from=" << std::size_t(from)
-    //          << " from_end=" << std::size_t(from_end)
-    //          << " to=" << std::size_t(to)
-    //          << " to_end=" << std::size_t(to_end)
-    //          << std::endl;
-
-    std::mbstate_t state  = std::mbstate_t();  // perhaps unneeded, but cuts bug reports
-    const char* from_next;
-    wchar_t* to_next;
-
-    std::codecvt_base::result res;
-
-    if ((res=cvt.in(state, from, from_end, from_next,
-           to, to_end, to_next)) != std::codecvt_base::ok)
-    {
-      //std::cout << " result is " << static_cast<int>(res) << std::endl;
-      BOOST_FILESYSTEM_THROW(bs::system_error(res, fs::codecvt_error_category(),
-        "boost::filesystem::path codecvt to wstring"));
-    }
-    target.append(to, to_next); 
-  }
-
-//--------------------------------------------------------------------------------------//
-//                      convert_aux const wchar_t* to string                           //
-//--------------------------------------------------------------------------------------//
-
-  void convert_aux(
-                   const wchar_t* from,
-                   const wchar_t* from_end,
-                   char* to, char* to_end,
-                   std::string & target,
-                   const pt::codecvt_type & cvt)
-  {
-    //std::cout << std::hex
-    //          << " from=" << std::size_t(from)
-    //          << " from_end=" << std::size_t(from_end)
-    //          << " to=" << std::size_t(to)
-    //          << " to_end=" << std::size_t(to_end)
-    //          << std::endl;
-
-    std::mbstate_t state  = std::mbstate_t();  // perhaps unneeded, but cuts bug reports
-    const wchar_t* from_next;
-    char* to_next;
-
-    std::codecvt_base::result res;
-
-    if ((res=cvt.out(state, from, from_end, from_next,
-           to, to_end, to_next)) != std::codecvt_base::ok)
-    {
-      //std::cout << " result is " << static_cast<int>(res) << std::endl;
-      BOOST_FILESYSTEM_THROW(bs::system_error(res, fs::codecvt_error_category(),
-        "boost::filesystem::path codecvt to string"));
-    }
-    target.append(to, to_next); 
-  }
-  
-}  // unnamed namespace
-
-//--------------------------------------------------------------------------------------//
-//                                   path_traits                                        //
-//--------------------------------------------------------------------------------------//
-
-namespace boost { namespace filesystem3 { namespace path_traits {
-
-//--------------------------------------------------------------------------------------//
-//                          convert const char* to wstring                             //
-//--------------------------------------------------------------------------------------//
-
-  BOOST_FILESYSTEM_DECL
-  void convert(const char* from,
-                const char* from_end,    // 0 for null terminated MBCS
-                std::wstring & to,
-                const codecvt_type & cvt)
-  {
-    BOOST_ASSERT(from);
-
-    if (!from_end)  // null terminated
-    {
-      from_end = from + std::strlen(from);
-    }
-
-    if (from == from_end) return;
-
-    std::size_t buf_size = (from_end - from) * 3;  // perhaps too large, but that's OK
-
-    //  dynamically allocate a buffer only if source is unusually large
-    if (buf_size > default_codecvt_buf_size)
-    {
-      boost::scoped_array< wchar_t > buf(new wchar_t [buf_size]);
-      convert_aux(from, from_end, buf.get(), buf.get()+buf_size, to, cvt);
-    }
-    else
-    {
-      wchar_t buf[default_codecvt_buf_size];
-      convert_aux(from, from_end, buf, buf+default_codecvt_buf_size, to, cvt);
-    }
-  }
-
-//--------------------------------------------------------------------------------------//
-//                         convert const wchar_t* to string                            //
-//--------------------------------------------------------------------------------------//
-
-  BOOST_FILESYSTEM_DECL
-  void convert(const wchar_t* from,
-                const wchar_t* from_end,  // 0 for null terminated MBCS
-                std::string & to,
-                const codecvt_type & cvt)
-  {
-    BOOST_ASSERT(from);
-
-    if (!from_end)  // null terminated
-    {
-      from_end = from + std::wcslen(from);
-    }
-
-    if (from == from_end) return;
-
-    //  The codecvt length functions may not be implemented, and I don't really
-    //  understand them either. Thus this code is just a guess; if it turns
-    //  out the buffer is too small then an error will be reported and the code
-    //  will have to be fixed.
-    std::size_t buf_size = (from_end - from) * 4;  // perhaps too large, but that's OK
-    buf_size += 4;  // encodings like shift-JIS need some prefix space
-
-    //  dynamically allocate a buffer only if source is unusually large
-    if (buf_size > default_codecvt_buf_size)
-    {
-      boost::scoped_array< char > buf(new char [buf_size]);
-      convert_aux(from, from_end, buf.get(), buf.get()+buf_size, to, cvt);
-    }
-    else
-    {
-      char buf[default_codecvt_buf_size];
-      convert_aux(from, from_end, buf, buf+default_codecvt_buf_size, to, cvt);
-    }
-  }
-}}} // namespace boost::filesystem3::path_traits
-
-#endif  // no wide character support
diff --git a/SRC/Boost/libs/filesystem/v3/src/portability.cpp b/SRC/Boost/libs/filesystem/v3/src/portability.cpp
deleted file mode 100755
index 8822d60..0000000
--- a/SRC/Boost/libs/filesystem/v3/src/portability.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-//  portability.cpp  -------------------------------------------------------------------//
-
-//  Copyright 2002-2005 Beman Dawes
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
-//  at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------// 
-
-#include <boost/config.hpp>
-#if !defined( BOOST_NO_STD_WSTRING )
-// Boost.Filesystem V3 and later requires std::wstring support.
-// During the transition to V3, libraries are compiled with both V2 and V3 sources.
-// On old compilers that don't support V3 anyhow, we just skip everything so the compile
-// will succeed and the library can be built.
-
-// define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_FILESYSTEM_SOURCE 
-
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/v3/config.hpp>
-#include <boost/filesystem/v3/path.hpp>
-
-namespace fs = boost::filesystem3;
-
-#include <cstring> // SGI MIPSpro compilers need this
-
-# ifdef BOOST_NO_STDC_NAMESPACE
-    namespace std { using ::strerror; }
-# endif
-
-//--------------------------------------------------------------------------------------//
-
-namespace
-{
-  const char invalid_chars[] =
-    "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"
-    "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F"
-    "<>:\"/\\|";
-  // note that the terminating '\0' is part of the string - thus the size below
-  // is sizeof(invalid_chars) rather than sizeof(invalid_chars)-1.  I 
-  const std::string windows_invalid_chars(invalid_chars, sizeof(invalid_chars));
-
-  const std::string valid_posix(
-    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-");
-
-} // unnamed namespace
-
-namespace boost
-{
-  namespace filesystem3
-  {
-
-    //  name_check functions  ----------------------------------------------//
-
-#   ifdef BOOST_WINDOWS
-    BOOST_FILESYSTEM_DECL bool native(const std::string & name)
-    {
-      return windows_name(name);
-    }
-#   else
-    BOOST_FILESYSTEM_DECL bool native(const std::string & name)
-    {
-      return  name.size() != 0
-        && name[0] != ' '
-        && name.find('/') == std::string::npos;
-    }
-#   endif
-
-    BOOST_FILESYSTEM_DECL bool portable_posix_name(const std::string & name)
-    {
-      return name.size() != 0
-        && name.find_first_not_of(valid_posix) == std::string::npos;     
-    }
-
-    BOOST_FILESYSTEM_DECL bool windows_name(const std::string & name)
-    {
-      return name.size() != 0
-        && name[0] != ' '
-        && name.find_first_of(windows_invalid_chars) == std::string::npos
-        && *(name.end()-1) != ' '
-        && (*(name.end()-1) != '.'
-          || name.length() == 1 || name == "..");
-    }
-
-    BOOST_FILESYSTEM_DECL bool portable_name(const std::string & name)
-    {
-      return
-        name.size() != 0
-        && (name == "."
-          || name == ".."
-          || (windows_name(name)
-            && portable_posix_name(name)
-            && name[0] != '.' && name[0] != '-'));
-    }
-
-    BOOST_FILESYSTEM_DECL bool portable_directory_name(const std::string & name)
-    {
-      return
-        name == "."
-        || name == ".."
-        || (portable_name(name)
-          && name.find('.') == std::string::npos);
-    }
-
-    BOOST_FILESYSTEM_DECL bool portable_file_name(const std::string & name)
-    {
-      std::string::size_type pos;
-      return
-         portable_name(name)
-         && name != "."
-         && name != ".."
-         && ((pos = name.find('.')) == std::string::npos
-             || (name.find('.', pos+1) == std::string::npos
-               && (pos + 5) > name.length()))
-        ;
-    }
-
-  } // namespace filesystem3
-} // namespace boost
-
-#endif  // no wide character support
diff --git a/SRC/Boost/libs/filesystem/v3/src/unique_path.cpp b/SRC/Boost/libs/filesystem/v3/src/unique_path.cpp
deleted file mode 100755
index 51cba74..0000000
--- a/SRC/Boost/libs/filesystem/v3/src/unique_path.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-//  filesystem system_crypt_random.cpp  ------------------------------------------------//
-
-//  Copyright Beman Dawes 2010
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------// 
-
-#include <boost/config.hpp>
-#if !defined( BOOST_NO_STD_WSTRING )
-// Boost.Filesystem V3 and later requires std::wstring support.
-// During the transition to V3, libraries are compiled with both V2 and V3 sources.
-// On old compilers that don't support V3 anyhow, we just skip everything so the compile
-// will succeed and the library can be built.
-
-// define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_FILESYSTEM_SOURCE 
-
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/v3/operations.hpp>
-
-# ifdef BOOST_POSIX_API
-#   include <fcntl.h>
-# else // BOOST_WINDOWS_API
-#   include <windows.h>
-#   include <wincrypt.h>
-#   pragma comment(lib, "Advapi32.lib")
-# endif
-
-namespace {
-
-void fail(int err, boost::system::error_code* ec)
-{
-  if (ec == 0)
-    BOOST_FILESYSTEM_THROW( boost::system::system_error(err,
-      boost::system::system_category(),
-      "boost::filesystem::unique_path"));
-
-  ec->assign(err, boost::system::system_category());
-  return;
-}
-
-void system_crypt_random(void* buf, std::size_t len, boost::system::error_code* ec)
-{
-# ifdef BOOST_POSIX_API
-
-  int file = open("/dev/urandom", O_RDONLY);
-  if (file == -1)
-  {
-    file = open("/dev/random", O_RDONLY);
-    if (file == -1)
-    {
-      fail(errno, ec);
-      return;
-    }
-  }
-
-  size_t bytes_read = 0;
-  while (bytes_read < len)
-  {
-    ssize_t n = read(file, buf, len - bytes_read);
-    if (n == -1)
-    {
-      close(file);
-      fail(errno, ec);
-      return;
-    }
-    bytes_read += n;
-    buf = static_cast<char*>(buf) + n;
-  }
-
-  close(file);
-
-# else // BOOST_WINDOWS_API
-
-  HCRYPTPROV handle;
-  int errval = 0;
-
-  if (!::CryptAcquireContextW(&handle, 0, 0, PROV_RSA_FULL, 0))
-  {
-    errval = ::GetLastError();
-    if (errval == NTE_BAD_KEYSET)
-    {
-      if (!::CryptAcquireContextW(&handle, 0, 0, PROV_RSA_FULL, CRYPT_NEWKEYSET))
-      {
-        errval = ::GetLastError();
-      }
-      else errval = 0;
-    }
-  }
-
-  if (!errval)
-  {
-    BOOL gen_ok = ::CryptGenRandom(handle, len, static_cast<unsigned char*>(buf));
-    if (!gen_ok)
-      errval = ::GetLastError();
-    ::CryptReleaseContext(handle, 0);
-  }
-
-  if (!errval) return;
-
-  fail(errval, ec);
-# endif
-}
-
-}  // unnamed namespace
-
-namespace boost { namespace filesystem3 { namespace detail {
-
-BOOST_FILESYSTEM_DECL
-path unique_path(const path& model, system::error_code* ec)
-{
-  std::wstring s (model.wstring());  // std::string ng for MBCS encoded POSIX
-  const wchar_t hex[] = L"0123456789abcdef";
-  const int n_ran = 16;
-  const int max_nibbles = 2 * n_ran;   // 4-bits per nibble
-  char ran[n_ran];
-
-  int nibbles_used = max_nibbles;
-  for(std::wstring::size_type i=0; i < s.size(); ++i)
-  {
-    if (s[i] == L'%')                        // digit request
-    {
-      if (nibbles_used == max_nibbles)
-      {
-        system_crypt_random(ran, sizeof(ran), ec);
-        if (ec != 0 && *ec)
-          return "";
-        nibbles_used = 0;
-      }
-      int c = ran[nibbles_used/2];
-      c >>= 4 * (nibbles_used++ & 1);  // if odd, shift right 1 nibble
-      s[i] = hex[c & 0xf];             // convert to hex digit and replace
-    }
-  }
-
-  if (ec != 0) ec->clear();
-
-  return s;
-}
-
-}}}
-
-#endif  // no wide character support
diff --git a/SRC/Boost/libs/filesystem/v3/src/utf8_codecvt_facet.cpp b/SRC/Boost/libs/filesystem/v3/src/utf8_codecvt_facet.cpp
deleted file mode 100755
index e6f6eb2..0000000
--- a/SRC/Boost/libs/filesystem/v3/src/utf8_codecvt_facet.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright Vladimir Prus 2004.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// For HP-UX, request that WCHAR_MAX and WCHAR_MIN be defined as macros,
-// not casts. See ticket 5048
-#define _INCLUDE_STDCSOURCE_199901
-
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#define BOOST_FILESYSTEM_SOURCE
-#include <boost/filesystem/config.hpp>
-
-#define BOOST_UTF8_BEGIN_NAMESPACE \
-     namespace boost { namespace filesystem { namespace detail {
-
-#define BOOST_UTF8_END_NAMESPACE }}}
-#define BOOST_UTF8_DECL BOOST_FILESYSTEM_DECL
-
-#include "libs/detail/utf8_codecvt_facet.cpp"
-
-#undef BOOST_UTF8_BEGIN_NAMESPACE
-#undef BOOST_UTF8_END_NAMESPACE
-#undef BOOST_UTF8_DECL
diff --git a/SRC/Boost/libs/filesystem/v3/src/windows_file_codecvt.cpp b/SRC/Boost/libs/filesystem/v3/src/windows_file_codecvt.cpp
deleted file mode 100755
index f132f2d..0000000
--- a/SRC/Boost/libs/filesystem/v3/src/windows_file_codecvt.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-//  filesystem windows_file_codecvt.cpp  -----------------------------------------//
-
-//  Copyright Beman Dawes 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------// 
-
-#include <boost/config.hpp>
-#if !defined( BOOST_NO_STD_WSTRING )
-// Boost.Filesystem V3 and later requires std::wstring support.
-// During the transition to V3, libraries are compiled with both V2 and V3 sources.
-// On old compilers that don't support V3 anyhow, we just skip everything so the compile
-// will succeed and the library can be built.
-
-// define BOOST_FILESYSTEM_SOURCE so that <boost/system/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_FILESYSTEM_SOURCE 
-
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/v3/config.hpp>
-#include <cwchar>  // for mbstate_t
-
-#ifdef BOOST_WINDOWS_API
-
-#include "windows_file_codecvt.hpp"
-
-// Versions of MinGW prior to GCC 4.6 requires this
-#ifndef WINVER
-# define WINVER 0x0500
-#endif
-
-#include <windows.h>
-
-  std::codecvt_base::result windows_file_codecvt::do_in(
-    std::mbstate_t &, 
-    const char* from, const char* from_end, const char*& from_next,
-    wchar_t* to, wchar_t* to_end, wchar_t*& to_next) const
-  {
-    UINT codepage = AreFileApisANSI() ? CP_THREAD_ACP : CP_OEMCP;
-
-    int count;
-    if ((count = ::MultiByteToWideChar(codepage, MB_PRECOMPOSED, from,
-      from_end - from, to, to_end - to)) == 0) 
-    {
-      return error;  // conversion failed
-    }
-
-    from_next = from_end;
-    to_next = to + count;
-    *to_next = L'\0';
-    return ok;
- }
-
-  std::codecvt_base::result windows_file_codecvt::do_out(
-    std::mbstate_t &,
-    const wchar_t* from, const wchar_t* from_end, const wchar_t*  & from_next,
-    char* to, char* to_end, char* & to_next) const
-  {
-    UINT codepage = AreFileApisANSI() ? CP_THREAD_ACP : CP_OEMCP;
-
-    int count;
-    if ((count = ::WideCharToMultiByte(codepage, WC_NO_BEST_FIT_CHARS, from,
-      from_end - from, to, to_end - to, 0, 0)) == 0)
-    {
-      return error;  // conversion failed
-    }
-
-    from_next = from_end;
-    to_next = to + count;
-    *to_next = '\0';
-    return ok;
-  }
-
-  # endif  // BOOST_WINDOWS_API
-
-#endif  // no wide character support
diff --git a/SRC/Boost/libs/filesystem/v3/src/windows_file_codecvt.hpp b/SRC/Boost/libs/filesystem/v3/src/windows_file_codecvt.hpp
deleted file mode 100755
index 7bd020b..0000000
--- a/SRC/Boost/libs/filesystem/v3/src/windows_file_codecvt.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//  filesystem windows_file_codecvt.hpp  -----------------------------------------------//
-
-//  Copyright Beman Dawes 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#ifndef BOOST_FILESYSTEM3_WIN_FILE_CODECVT_HPP
-#define BOOST_FILESYSTEM3_WIN_FILE_CODECVT_HPP
-
-#include <boost/filesystem/v3/config.hpp>
-#include <locale>  
-
-  //------------------------------------------------------------------------------------//
-  //                                                                                    //
-  //                          class windows_file_codecvt                                //
-  //                                                                                    //
-  //  Warning: partial implementation; even do_in and do_out only partially meet the    //
-  //  standard library specifications as the "to" buffer must hold the entire result.   //
-  //                                                                                    //
-  //------------------------------------------------------------------------------------//
-
-  class BOOST_FILESYSTEM_DECL windows_file_codecvt
-    : public std::codecvt< wchar_t, char, std::mbstate_t >  
-  {
-  public:
-    explicit windows_file_codecvt()
-        : std::codecvt<wchar_t, char, std::mbstate_t>() {}
-  protected:
-
-    virtual bool do_always_noconv() const throw() { return false; }
-
-    //  seems safest to assume variable number of characters since we don't
-    //  actually know what codepage is active
-    virtual int do_encoding() const throw() { return 0; }
-
-    virtual std::codecvt_base::result do_in(std::mbstate_t& state, 
-      const char* from, const char* from_end, const char*& from_next,
-      wchar_t* to, wchar_t* to_end, wchar_t*& to_next) const;
-
-    virtual std::codecvt_base::result do_out(std::mbstate_t & state,
-      const wchar_t* from, const wchar_t* from_end, const wchar_t*& from_next,
-      char* to, char* to_end, char*& to_next) const;
-
-    virtual std::codecvt_base::result do_unshift(std::mbstate_t&,
-        char* /*from*/, char* /*to*/, char* & /*next*/) const  { return ok; } 
-
-    virtual int do_length(std::mbstate_t&,
-      const char* /*from*/, const char* /*from_end*/, std::size_t /*max*/) const  { return 0; }
-
-    virtual int do_max_length() const throw () { return 0; }
-  };
-
-#endif  // BOOST_FILESYSTEM3_WIN_FILE_CODECVT_HPP
diff --git a/SRC/Boost/libs/filesystem/v3/test/Jamfile.v2 b/SRC/Boost/libs/filesystem/v3/test/Jamfile.v2
deleted file mode 100755
index bacf96f..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/Jamfile.v2
+++ /dev/null
@@ -1,35 +0,0 @@
-# Boost Filesystem Library test Jamfile
-
-# (C) Copyright Beman Dawes 2002-2006
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or www.boost.org/LICENSE_1_0.txt)
-
-project 
-    : requirements
-      <library>/boost/filesystem//boost_filesystem
-      <library>/boost/system//boost_system
-      <toolset>msvc:<asynch-exceptions>on
-    ;
-    
-# Some tests are run both statically and as shared libraries since it is helpful
-# to know if failures in shared library tests are related to sharing or not.
-
-   test-suite "filesystem" :
-       [ run path_unit_test.cpp :  :  : <link>shared ]                  
-       [ run path_unit_test.cpp :  :  : <link>static : path_unit_test_static ]                  
-       [ run path_test.cpp :  :  : <link>shared ]                  
-       [ run path_test.cpp :  :  : <link>static : path_test_static ]                  
-       [ run operations_unit_test.cpp :  :  : <link>shared ]
-       [ run operations_unit_test.cpp :  :  : <link>static : operations_unit_test_static ]
-       [ run operations_test.cpp :  :  : <link>shared ]
-       [ run operations_test.cpp :  :  : <link>static : operations_test_static ]
-       [ run fstream_test.cpp ]
-       [ run convenience_test.cpp ]
-       [ run large_file_support_test.cpp ]
-       [ run deprecated_test.cpp ]                  
-       [ run ../example/simple_ls.cpp ]
-       [ run ../example/file_status.cpp ]
- 
-#       [ compile ../example/mbcopy.cpp ]
-#       [ compile ../example/mbpath.cpp ]
-       ;
diff --git a/SRC/Boost/libs/filesystem/v3/test/convenience_test.cpp b/SRC/Boost/libs/filesystem/v3/test/convenience_test.cpp
deleted file mode 100755
index 8ba927d..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/convenience_test.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-//  libs/filesystem/test/convenience_test.cpp  -----------------------------------------//
-
-//  Copyright Beman Dawes, 2002
-//  Copyright Vladimir Prus, 2002
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-#define BOOST_FILESYSTEM_VERSION 3
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-#include <boost/config/warning_disable.hpp>
-
-//  See deprecated_test for tests of deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-#  define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-#  define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/convenience.hpp>
-namespace fs = boost::filesystem;
-using fs::path;
-namespace sys = boost::system;
-
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-#include <boost/bind.hpp>
-#include <fstream>
-#include <iostream>
-
-namespace
-{
-  template< typename F >
-    bool throws_fs_error(F func)
-  {
-    try { func(); }
-
-    catch (const fs::filesystem_error &)
-    {
-      return true;
-    }
-    return false;
-  }
-
-    void create_recursive_iterator(const fs::path & ph)
-    {
-      fs::recursive_directory_iterator it(ph);
-    }
-}
-
-//  ------------------------------------------------------------------------------------//
-
-int cpp_main(int, char*[])
-{
-
-//  create_directories() tests  --------------------------------------------------------//
-
-  BOOST_TEST(!fs::create_directories(""));  // should be harmless
-  BOOST_TEST(!fs::create_directories("/")); // ditto
-
-  path unique_dir = fs::unique_path();  // unique name in case tests running in parallel
-  path unique_yy = unique_dir / "yy";
-  path unique_yya = unique_dir / "yya";
-  path unique_yy_zz = unique_dir / "yy" / "zz";
-
-  fs::remove_all(unique_dir);  // make sure slate is blank
-  BOOST_TEST(!fs::exists(unique_dir)); // reality check
-
-  BOOST_TEST(fs::create_directories(unique_dir));
-  BOOST_TEST(fs::exists(unique_dir));
-  BOOST_TEST(fs::is_directory(unique_dir));
-
-  BOOST_TEST(fs::create_directories(unique_yy_zz));
-  BOOST_TEST(fs::exists(unique_dir));
-  BOOST_TEST(fs::exists(unique_yy));
-  BOOST_TEST(fs::exists(unique_yy_zz));
-  BOOST_TEST(fs::is_directory(unique_dir));
-  BOOST_TEST(fs::is_directory(unique_yy));
-  BOOST_TEST(fs::is_directory(unique_yy_zz));
-
-  path is_a_file(unique_dir / "uu");
-  {
-    std::ofstream f(is_a_file.string().c_str());
-    BOOST_TEST(!!f);
-  }
-  BOOST_TEST(throws_fs_error(
-    boost::bind(fs::create_directories, is_a_file)));
-  BOOST_TEST(throws_fs_error(
-    boost::bind(fs::create_directories, is_a_file / "aa")));
-
-// recursive_directory_iterator tests ----------------------------------------//
-
-  sys::error_code ec;
-  fs::recursive_directory_iterator it("/no-such-path", ec);
-  BOOST_TEST(ec);
-
-  BOOST_TEST(throws_fs_error(
-    boost::bind(create_recursive_iterator, "/no-such-path")));
-
-  fs::remove(unique_dir / "uu");
-
-#ifdef BOOST_WINDOWS_API
-  // These tests depends on ordering of directory entries, and that's guaranteed
-  // on Windows but not necessarily on other operating systems
-  {
-    std::ofstream f(unique_yya.string().c_str());
-    BOOST_TEST(!!f);
-  }
-
-  for (it = fs::recursive_directory_iterator(unique_dir);
-        it != fs::recursive_directory_iterator(); ++it)
-    { std::cout << it->path() << '\n'; }
-
-  it = fs::recursive_directory_iterator(unique_dir);
-  BOOST_TEST(it->path() == unique_yy);
-  BOOST_TEST(it.level() == 0);
-  ++it;
-  BOOST_TEST(it->path() == unique_yy_zz);
-  BOOST_TEST(it.level() == 1);
-  it.pop();
-  BOOST_TEST(it->path() == unique_yya);
-  BOOST_TEST(it.level() == 0);
-  it++;
-  BOOST_TEST(it == fs::recursive_directory_iterator());
-
-  it = fs::recursive_directory_iterator(unique_dir);
-  BOOST_TEST(it->path() == unique_yy);
-  it.no_push();
-  ++it;
-  BOOST_TEST(it->path() == unique_yya);
-  ++it;
-  BOOST_TEST(it == fs::recursive_directory_iterator());
-
-  fs::remove(unique_yya);
-#endif
-
-  it = fs::recursive_directory_iterator(unique_yy_zz);
-  BOOST_TEST(it == fs::recursive_directory_iterator());
-  
-  it = fs::recursive_directory_iterator(unique_dir);
-  BOOST_TEST(it->path() == unique_yy);
-  BOOST_TEST(it.level() == 0);
-  ++it;
-  BOOST_TEST(it->path() == unique_yy_zz);
-  BOOST_TEST(it.level() == 1);
-  it++;
-  BOOST_TEST(it == fs::recursive_directory_iterator());
-
-  it = fs::recursive_directory_iterator(unique_dir);
-  BOOST_TEST(it->path() == unique_yy);
-  it.no_push();
-  ++it;
-  BOOST_TEST(it == fs::recursive_directory_iterator());
-
-  it = fs::recursive_directory_iterator(unique_dir);
-  BOOST_TEST(it->path() == unique_yy);
-  ++it;
-  it.pop();
-  BOOST_TEST(it == fs::recursive_directory_iterator());
-
-  ec.clear();
-  BOOST_TEST(!ec);
-  // check that two argument failed constructor creates the end iterator 
-  BOOST_TEST(fs::recursive_directory_iterator("nosuchdir", ec)
-    == fs::recursive_directory_iterator());
-  BOOST_TEST(ec);
-
-  fs::remove_all(unique_dir);  // clean up behind ourselves
-
-  return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/filesystem/v3/test/deprecated_test.cpp b/SRC/Boost/libs/filesystem/v3/test/deprecated_test.cpp
deleted file mode 100755
index 23b8996..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/deprecated_test.cpp
+++ /dev/null
@@ -1,251 +0,0 @@
-//  deprecated_test program --------------------------------------------------//
-
-//  Copyright Beman Dawes 2002
-//  Copyright Vladimir Prus 2002
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//  This test verifies that various deprecated names still work. This is
-//  important to preserve existing code that uses the old names.
-
-#define BOOST_FILESYSTEM_VERSION 3
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-#define BOOST_FILESYSTEM_DEPRECATED
-
-#include <boost/filesystem.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-
-namespace fs = boost::filesystem;
-using boost::filesystem::path;
-
-#define PATH_CHECK(a, b) check(a, b, __LINE__)
-
-namespace
-{
-  std::string platform(BOOST_PLATFORM);
-
-  void check(const fs::path & source,
-              const std::string & expected, int line)
-  {
-    if (source.generic_string()== expected) return;
-
-    ++::boost::detail::test_errors();
-
-    std::cout << '(' << line << ") source.string(): \"" << source.string()
-              << "\" != expected: \"" << expected
-              << "\"" << std::endl;
-  }
-
-  void normalize_test()
-  {
-    PATH_CHECK(path("").normalize(), "");
-    PATH_CHECK(path("/").normalize(), "/");
-    PATH_CHECK(path("//").normalize(), "//");
-    PATH_CHECK(path("///").normalize(), "/");
-    PATH_CHECK(path("f").normalize(), "f");
-    PATH_CHECK(path("foo").normalize(), "foo");
-    PATH_CHECK(path("foo/").normalize(), "foo/.");
-    PATH_CHECK(path("f/").normalize(), "f/.");
-    PATH_CHECK(path("/foo").normalize(), "/foo");
-    PATH_CHECK(path("foo/bar").normalize(), "foo/bar");
-    PATH_CHECK(path("..").normalize(), "..");
-    PATH_CHECK(path("../..").normalize(), "../..");
-    PATH_CHECK(path("/..").normalize(), "/..");
-    PATH_CHECK(path("/../..").normalize(), "/../..");
-    PATH_CHECK(path("../foo").normalize(), "../foo");
-    PATH_CHECK(path("foo/..").normalize(), ".");
-    PATH_CHECK(path("foo/../").normalize(), "./.");
-    PATH_CHECK((path("foo") / "..").normalize() , ".");
-    PATH_CHECK(path("foo/...").normalize(), "foo/...");
-    PATH_CHECK(path("foo/.../").normalize(), "foo/.../.");
-    PATH_CHECK(path("foo/..bar").normalize(), "foo/..bar");
-    PATH_CHECK(path("../f").normalize(), "../f");
-    PATH_CHECK(path("/../f").normalize(), "/../f");
-    PATH_CHECK(path("f/..").normalize(), ".");
-    PATH_CHECK((path("f") / "..").normalize() , ".");
-    PATH_CHECK(path("foo/../..").normalize(), "..");
-    PATH_CHECK(path("foo/../../").normalize(), "../.");
-    PATH_CHECK(path("foo/../../..").normalize(), "../..");
-    PATH_CHECK(path("foo/../../../").normalize(), "../../.");
-    PATH_CHECK(path("foo/../bar").normalize(), "bar");
-    PATH_CHECK(path("foo/../bar/").normalize(), "bar/.");
-    PATH_CHECK(path("foo/bar/..").normalize(), "foo");
-    PATH_CHECK(path("foo/bar/../").normalize(), "foo/.");
-    PATH_CHECK(path("foo/bar/../..").normalize(), ".");
-    PATH_CHECK(path("foo/bar/../../").normalize(), "./.");
-    PATH_CHECK(path("foo/bar/../blah").normalize(), "foo/blah");
-    PATH_CHECK(path("f/../b").normalize(), "b");
-    PATH_CHECK(path("f/b/..").normalize(), "f");
-    PATH_CHECK(path("f/b/../").normalize(), "f/.");
-    PATH_CHECK(path("f/b/../a").normalize(), "f/a");
-    PATH_CHECK(path("foo/bar/blah/../..").normalize(), "foo");
-    PATH_CHECK(path("foo/bar/blah/../../bletch").normalize(), "foo/bletch");
-    PATH_CHECK(path("//net").normalize(), "//net");
-    PATH_CHECK(path("//net/").normalize(), "//net/");
-    PATH_CHECK(path("//..net").normalize(), "//..net");
-    PATH_CHECK(path("//net/..").normalize(), "//net/..");
-    PATH_CHECK(path("//net/foo").normalize(), "//net/foo");
-    PATH_CHECK(path("//net/foo/").normalize(), "//net/foo/.");
-    PATH_CHECK(path("//net/foo/..").normalize(), "//net/");
-    PATH_CHECK(path("//net/foo/../").normalize(), "//net/.");
-
-    PATH_CHECK(path("/net/foo/bar").normalize(), "/net/foo/bar");
-    PATH_CHECK(path("/net/foo/bar/").normalize(), "/net/foo/bar/.");
-    PATH_CHECK(path("/net/foo/..").normalize(), "/net");
-    PATH_CHECK(path("/net/foo/../").normalize(), "/net/.");
-
-    PATH_CHECK(path("//net//foo//bar").normalize(), "//net/foo/bar");
-    PATH_CHECK(path("//net//foo//bar//").normalize(), "//net/foo/bar/.");
-    PATH_CHECK(path("//net//foo//..").normalize(), "//net/");
-    PATH_CHECK(path("//net//foo//..//").normalize(), "//net/.");
-
-    PATH_CHECK(path("///net///foo///bar").normalize(), "/net/foo/bar");
-    PATH_CHECK(path("///net///foo///bar///").normalize(), "/net/foo/bar/.");
-    PATH_CHECK(path("///net///foo///..").normalize(), "/net");
-    PATH_CHECK(path("///net///foo///..///").normalize(), "/net/.");
-
-    if (platform == "Windows")
-    {
-      PATH_CHECK(path("c:..").normalize(), "c:..");
-      PATH_CHECK(path("c:foo/..").normalize(), "c:");
-
-      PATH_CHECK(path("c:foo/../").normalize(), "c:.");
-
-      PATH_CHECK(path("c:/foo/..").normalize(), "c:/");
-      PATH_CHECK(path("c:/foo/../").normalize(), "c:/.");
-      PATH_CHECK(path("c:/..").normalize(), "c:/..");
-      PATH_CHECK(path("c:/../").normalize(), "c:/../.");
-      PATH_CHECK(path("c:/../..").normalize(), "c:/../..");
-      PATH_CHECK(path("c:/../../").normalize(), "c:/../../.");
-      PATH_CHECK(path("c:/../foo").normalize(), "c:/../foo");
-      PATH_CHECK(path("c:/../foo/").normalize(), "c:/../foo/.");
-      PATH_CHECK(path("c:/../../foo").normalize(), "c:/../../foo");
-      PATH_CHECK(path("c:/../../foo/").normalize(), "c:/../../foo/.");
-      PATH_CHECK(path("c:/..foo").normalize(), "c:/..foo");
-    }
-    else // POSIX
-    {
-      PATH_CHECK(path("c:..").normalize(), "c:..");
-      PATH_CHECK(path("c:foo/..").normalize(), ".");
-      PATH_CHECK(path("c:foo/../").normalize(), "./.");
-      PATH_CHECK(path("c:/foo/..").normalize(), "c:");
-      PATH_CHECK(path("c:/foo/../").normalize(), "c:/.");
-      PATH_CHECK(path("c:/..").normalize(), ".");
-      PATH_CHECK(path("c:/../").normalize(), "./.");
-      PATH_CHECK(path("c:/../..").normalize(), "..");
-      PATH_CHECK(path("c:/../../").normalize(), "../.");
-      PATH_CHECK(path("c:/../foo").normalize(), "foo");
-      PATH_CHECK(path("c:/../foo/").normalize(), "foo/.");
-      PATH_CHECK(path("c:/../../foo").normalize(), "../foo");
-      PATH_CHECK(path("c:/../../foo/").normalize(), "../foo/.");
-      PATH_CHECK(path("c:/..foo").normalize(), "c:/..foo");
-    }
-  }
-
-  //  Compile-only tests not intended to be executed -----------------------------------//
-
-  void compile_only()
-  {
-    fs::path p;
-
-    fs::initial_path<fs::path>();
-    fs::initial_path<fs::wpath>();
-
-    p.file_string();
-    p.directory_string();
-  }
-
-  //  path_rename_test -----------------------------------------------------------------//
-
-  void path_rename_test()
-  {
-    fs::path p("foo/bar/blah");
-
-    BOOST_TEST_EQ(path("foo/bar/blah").remove_leaf(), "foo/bar");
-    BOOST_TEST_EQ(p.leaf(), "blah");
-    BOOST_TEST_EQ(p.branch_path(), "foo/bar");
-    BOOST_TEST(p.has_leaf());
-    BOOST_TEST(p.has_branch_path());
-    BOOST_TEST(!p.is_complete());
-
-    if (platform == "Windows")
-    {
-      BOOST_TEST_EQ(path("foo\\bar\\blah").remove_leaf(), "foo\\bar");
-      p = "foo\\bar\\blah";
-      BOOST_TEST_EQ(p.branch_path(), "foo\\bar");
-    }
-  }
-
-} // unnamed namespace
-
-
-//--------------------------------------------------------------------------------------//
-
-int cpp_main(int /*argc*/, char* /*argv*/[])
-{
-  // The choice of platform is make at runtime rather than compile-time
-  // so that compile errors for all platforms will be detected even though
-  // only the current platform is runtime tested.
-  platform = (platform == "Win32" || platform == "Win64" || platform == "Cygwin")
-               ? "Windows"
-               : "POSIX";
-  std::cout << "Platform is " << platform << '\n';
-
-  BOOST_TEST(fs::initial_path() == fs::current_path());
-
-  //path::default_name_check(fs::no_check);
-
-  fs::directory_entry de("foo/bar");
-
-  de.replace_leaf("", fs::file_status(), fs::file_status());
-
-  //de.leaf();
-  //de.string();
-
-  fs::path ng(" no-way, Jose");
-  BOOST_TEST(!fs::is_regular(ng));  // verify deprecated name still works
-  BOOST_TEST(!fs::symbolic_link_exists("nosuchfileordirectory"));
-
-  path_rename_test();
-  normalize_test();
- 
-// extension() tests ---------------------------------------------------------//
-
-  BOOST_TEST(fs::extension("a/b") == "");
-  BOOST_TEST(fs::extension("a/b.txt") == ".txt");
-  BOOST_TEST(fs::extension("a/b.") == ".");
-  BOOST_TEST(fs::extension("a.b.c") == ".c");
-  BOOST_TEST(fs::extension("a.b.c.") == ".");
-  BOOST_TEST(fs::extension("") == "");
-  BOOST_TEST(fs::extension("a/") == "");
-  
-// basename() tests ----------------------------------------------------------//
-
-  BOOST_TEST(fs::basename("b") == "b");
-  BOOST_TEST(fs::basename("a/b.txt") == "b");
-  BOOST_TEST(fs::basename("a/b.") == "b"); 
-  BOOST_TEST(fs::basename("a.b.c") == "a.b");
-  BOOST_TEST(fs::basename("a.b.c.") == "a.b.c");
-  BOOST_TEST(fs::basename("") == "");
-  
-// change_extension tests ---------------------------------------------------//
-
-  BOOST_TEST(fs::change_extension("a.txt", ".tex").string() == "a.tex");
-  BOOST_TEST(fs::change_extension("a.", ".tex").string() == "a.tex");
-  BOOST_TEST(fs::change_extension("a", ".txt").string() == "a.txt");
-  BOOST_TEST(fs::change_extension("a.b.txt", ".tex").string() == "a.b.tex");  
-  // see the rationale in html docs for explanation why this works
-  BOOST_TEST(fs::change_extension("", ".png").string() == ".png");
-
-  return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/filesystem/v3/test/design_use_cases.cpp b/SRC/Boost/libs/filesystem/v3/test/design_use_cases.cpp
deleted file mode 100755
index 7760b9b..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/design_use_cases.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-#include <string>
-#include <iostream>
-
-//  Minimal class path
-
-class path
-{
-public:
-  path( const char * )
-  {
-    std::cout << "path( const char * )\n";
-  }
-  path( const std::string & )
-  {
-    std::cout << "path( std::string & )\n";
-  }
-
-//  for maximum efficiency, either signature must work
-# ifdef BY_VALUE
-  operator const std::string() const
-# else
-  operator const std::string&() const
-# endif
-  {
-    std::cout << "operator string\n";
-    return m_path;
-  }
-
-#ifdef NAMED_CONVERSION
-  std::string string() const
-  {
-    std::cout << "std::string string() const\n";
-    return m_path;
-  }
-#endif
-
-private:
-  std::string m_path;
-};
-
-bool operator==( const path &, const path & )
-{
-  std::cout << "operator==( const path &, const path & )\n";
-  return true;
-}
-
-//  These are the critical use cases. If any of these don't compile, usability
-//  is unacceptably degraded.
-
-void f( const path & )
-{
-  std::cout << "f( const path & )\n";
-}
-
-int main()
-{
-  f( "foo" );
-  f( std::string( "foo" ) );
-  f( path( "foo" ) );
-
-  std::cout << '\n';
-
-  std::string s1( path( "foo" ) );
-  std::string s2 = path( "foo" );
-  s2 = path( "foo" );
-
-#ifdef NAMED_CONVERSION
-  s2 = path( "foo" ).string();
-#endif
-
-  std::cout << '\n';
-
-  // these must call bool path( const path &, const path & );
-  path( "foo" ) == path( "foo" );
-  path( "foo" ) == "foo";
-  path( "foo" ) == std::string( "foo" );
-  "foo" == path( "foo" );
-  std::string( "foo" ) == path( "foo" );
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/test/equivalent.cpp b/SRC/Boost/libs/filesystem/v3/test/equivalent.cpp
deleted file mode 100755
index 8eb3158..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/equivalent.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//  equivalent program -------------------------------------------------------//
-
-//  Copyright (c) 2004 Beman Dawes
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
-//  at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//----------------------------------------------------------------------------//
-
-#include <boost/filesystem/operations.hpp>
-#include <iostream>
-#include <exception>
-
-int main( int argc, char * argv[] )
-{
-  boost::filesystem::path::default_name_check( boost::filesystem::native );
-  if ( argc != 3 )
-  {
-    std::cout << "Usage: equivalent path1 path2\n";
-    return 2;
-  }
-  
-  bool eq;
-  try
-  {
-    eq = boost::filesystem::equivalent( argv[1], argv[2] );
-  }
-  catch ( const std::exception & ex )
-  {
-    std::cout << ex.what() << "\n";
-    return 3;
-  }
-
-  std::cout << (eq ? "Paths are equivalent\n" : "Paths are not equivalent\n");
-  return !eq;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/test/fstream_test.cpp b/SRC/Boost/libs/filesystem/v3/test/fstream_test.cpp
deleted file mode 100755
index 9180e20..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/fstream_test.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
-//  fstream_test.cpp  ------------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2002
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#define BOOST_FILESYSTEM_VERSION 3
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-#include <boost/config/warning_disable.hpp>
-
-//  See deprecated_test for tests of deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-#  define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-#  define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/fstream.hpp>
-#include <boost/filesystem/operations.hpp>
-#include <string>
-#include <iostream>
-#include <cstdio> // for std::remove
-
-#include <boost/filesystem/detail/utf8_codecvt_facet.hpp>
-
-namespace fs = boost::filesystem;
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STDC_NAMESPACE
-  namespace std { using ::remove; }
-#endif
-
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-
-#if defined(_MSC_VER)
-# pragma warning(push) // Save warning settings.
-# pragma warning(disable : 4428) // Disable universal-character-name encountered in source warning.
-#endif 
-
-namespace
-{
-  bool cleanup = true;
-  
-  void test(const fs::path & p)
-  {
-    fs::remove(p);
-    {
-      std::cout << " in test 1\n";
-      fs::filebuf fb1;
-      fb1.open(p, std::ios_base::out);
-      BOOST_TEST(fb1.is_open());
-    }
-    {
-      std::cout << " in test 2\n";
-      fs::filebuf fb2;
-      fb2.open(p, std::ios_base::in);
-      BOOST_TEST(fb2.is_open());
-    }
-    {
-      std::cout << " in test 3\n";
-      fs::ifstream tfs(p);
-      BOOST_TEST(tfs.is_open());
-    }
-    {
-      std::cout << " in test 4\n";
-      fs::ifstream tfs(p / p.filename()); // should fail
-      BOOST_TEST(!tfs.is_open());
-    }
-    {
-      std::cout << " in test 5\n";
-      fs::ifstream tfs(p, std::ios_base::in);
-      BOOST_TEST(tfs.is_open());
-    }
-    {
-      std::cout << " in test 6\n";
-      fs::ifstream tfs;
-      tfs.open(p);
-      BOOST_TEST(tfs.is_open());
-    }
-    {
-      std::cout << " in test 7\n";
-      fs::ifstream tfs;
-      tfs.open(p, std::ios_base::in);
-      BOOST_TEST(tfs.is_open());
-    }
-    {
-      std::cout << " in test 8\n";
-      fs::ofstream tfs(p);
-      BOOST_TEST(tfs.is_open());
-    }
-    {
-      std::cout << " in test 9\n";
-      fs::ofstream tfs(p, std::ios_base::out);
-      BOOST_TEST(tfs.is_open());
-    }
-    {
-      std::cout << " in test 10\n";
-      fs::ofstream tfs;
-      tfs.open(p);
-      BOOST_TEST(tfs.is_open());
-    }
-    {
-      std::cout << " in test 11\n";
-      fs::ofstream tfs;
-      tfs.open(p, std::ios_base::out);
-      BOOST_TEST(tfs.is_open());
-    }
-    {
-      std::cout << " in test 12\n";
-      fs::fstream tfs(p);
-      BOOST_TEST(tfs.is_open());
-    }
-    {
-      std::cout << " in test 13\n";
-      fs::fstream tfs(p, std::ios_base::in|std::ios_base::out);
-      BOOST_TEST(tfs.is_open());
-    }
-    {
-      std::cout << " in test 14\n";
-      fs::fstream tfs;
-      tfs.open(p);
-      BOOST_TEST(tfs.is_open());
-    }
-    {
-      std::cout << " in test 15\n";
-      fs::fstream tfs;
-      tfs.open(p, std::ios_base::in|std::ios_base::out);
-      BOOST_TEST(tfs.is_open());
-    }
-
-    if (cleanup)
-      fs::remove(p);
-
-  } // test
-} // unnamed namespace
-
-int cpp_main(int argc, char*[])
-{
-  if (argc > 1) cleanup = false;
-
-  std::cout << "BOOST_FILESYSTEM_C_STR defined as \""
-            << BOOST_STRINGIZE(BOOST_FILESYSTEM_C_STR) << "\"\n";
-
-  // test narrow characters
-  std::cout << "narrow character tests:\n";
-  test("v3_fstream_test");
-
-
-  // So that tests are run with known encoding, use Boost UTF-8 codecvt
-  std::locale global_loc = std::locale();
-  std::locale loc(global_loc, new fs::detail::utf8_codecvt_facet);
-  fs::path::imbue(loc);
-
-  // test with some wide characters
-  //  \u2780 is circled 1 against white background == e2 9e 80 in UTF-8
-  //  \u2781 is circled 2 against white background == e2 9e 81 in UTF-8
-  //  \u263A is a white smiling face
-  std::cout << "\nwide character tests:\n";
-  test(L"fstream_test_\u2780\u263A");
-
-  return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/filesystem/v3/test/large_file_support_test.cpp b/SRC/Boost/libs/filesystem/v3/test/large_file_support_test.cpp
deleted file mode 100755
index 0f31dd3..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/large_file_support_test.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-//  Boost large_file_support_test.cpp  ---------------------------------------//
-
-//  Copyright Beman Dawes 2004.
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-
-#define BOOST_FILESYSTEM_VERSION 3
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-//  See deprecated_test for tests of deprecated features
-#define BOOST_FILESYSTEM_NO_DEPRECATED
-#define BOOST_SYSTEM_NO_DEPRECATED
-
-#include <boost/filesystem/operations.hpp>
-namespace fs = boost::filesystem;
-
-#include <iostream>
-
-int main()
-{
-  if ( fs::detail::possible_large_file_size_support() )
-  {
-    std::cout << "It appears that file sizes greater that 2 gigabytes are possible\n"
-                 "for this configuration on this platform since the operating system\n"
-                 "does use a large enough integer type to report large file sizes.\n\n"
-                 "Whether or not such support is actually present depends on the OS\n";
-    return 0;
-  }
-  std::cout << "The operating system is using an integer type to report file sizes\n"
-               "that can not represent file sizes greater that 2 gigabytes (31-bits).\n"
-               "Thus the Filesystem Library will not correctly deal with such large\n"
-               "files. If you think that this operatiing system should be able to\n"
-               "support large files, please report the problem to the Boost developers\n"
-               "mailing list.\n";
-  return 1;
-}
diff --git a/SRC/Boost/libs/filesystem/v3/test/locale_info.cpp b/SRC/Boost/libs/filesystem/v3/test/locale_info.cpp
deleted file mode 100755
index ba90f35..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/locale_info.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//  locale_info.cpp  ---------------------------------------------------------//
-
-//  Copyright Beman Dawes 2011
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#include <locale>
-#include <iostream>
-#include <exception>
-#include <cstdlib>
-using namespace std;
-
-#ifdef _MSC_VER
-#  pragma warning(push)
-#  pragma warning(disable: 4996)  // ... Function call with parameters that may be unsafe
-#endif
-
-namespace
-{
-  void facet_info(const locale& loc, const char* msg)
-  {
-    cout << "has_facet<std::codecvt<wchar_t, char, std::mbstate_t> >("
-      << msg << ") is "
-      << (has_facet<std::codecvt<wchar_t, char, std::mbstate_t> >(loc)
-          ? "true\n"
-          : "false\n");
-  }
-
-  void default_info()
-  {
-    try
-    {
-      locale loc;
-      cout << "\nlocale default construction OK" << endl;
-      facet_info(loc, "locale()");
-    }
-    catch (const exception& ex)
-    {
-      cout << "\nlocale default construction threw: " << ex.what() << endl;
-    }
-  }
-
-  void null_string_info()
-  {
-    try
-    {
-      locale loc("");
-      cout << "\nlocale(\"\") construction OK" << endl;
-      facet_info(loc, "locale(\"\")");
-    }
-    catch (const exception& ex)
-    {
-      cout << "\nlocale(\"\") construction threw: " << ex.what() << endl;
-    }
-  }
-
-  void classic_info()
-  {
-    try
-    {
-      locale loc(locale::classic());
-      cout << "\nlocale(locale::classic()) copy construction OK" << endl;
-      facet_info(loc, "locale::classic()");
-    }
-    catch (const exception& ex)
-    {
-      cout << "\nlocale(locale::clasic()) copy construction threw: " << ex.what() << endl;
-    }
-  }
-}
-
-int main()
-{
-  const char* lang = getenv("LANG");
-  cout << "\nLANG environmental variable is "
-    << (lang ? lang : "not present") << endl;
-
-  default_info();
-  null_string_info();
-  classic_info();
-
-  return 0;
-}
-
-#ifdef _MSC_VER
-#  pragma warning(pop)
-#endif
diff --git a/SRC/Boost/libs/filesystem/v3/test/long_path_test.cpp b/SRC/Boost/libs/filesystem/v3/test/long_path_test.cpp
deleted file mode 100755
index bedef29..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/long_path_test.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-//  long_path_test.cpp  ----------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2011
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  http://www.boost.org/LICENSE_1_0.txt
-
-//  See http://www.boost.org/libs/btree for documentation.
-
-//  See http://msdn.microsoft.com/en-us/library/aa365247%28v=vs.85%29.aspx
-
-#define BOOST_FILESYSTEM_VERSION 3
-
-#include <boost/config/warning_disable.hpp>
-
-#include <boost/filesystem.hpp>
-#include <iostream>
-#include <string>
-
-using namespace boost::filesystem;
-
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-
-namespace
-{
-}  // unnamed namespace
-
-int cpp_main(int, char*[])
-{
-
-  std::string prefix("d:\\temp\\");
-  std::cout << "prefix is " << prefix << '\n';
-
-  const std::size_t safe_size
-    = 260 - prefix.size() - 100;  // Windows MAX_PATH is 260
-
-  std::string safe_x_string(safe_size, 'x');
-  std::string safe_y_string(safe_size, 'y');
-  std::string path_escape("\\\\?\\");
-
-  path x_p(prefix + safe_x_string);
-  path y_p(path_escape + prefix + safe_x_string + "\\" + safe_y_string);
-
-  std::cout << "x_p.native().size() is " << x_p.native().size() << '\n';
-  std::cout << "y_p.native().size() is " << y_p.native().size() << '\n';
-
-  create_directory(x_p);
-  BOOST_TEST(exists(x_p));
-  create_directory(y_p);
-  BOOST_TEST(exists(y_p));
-
-  //std::cout << "directory x.../y... ready for testing, where ... is " << safe_size
-  //          << " repeats of x and y, respectively\n";
-
-  BOOST_TEST(exists(x_p));
-
-  //remove_all(x_p);
-
-  return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/common.vsprops b/SRC/Boost/libs/filesystem/v3/test/msvc/common.vsprops
deleted file mode 100755
index a41f9f7..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/common.vsprops
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="common"
-	OutputDirectory="$(TEMP)\$(SolutionName)\$(ConfigurationName)"
-	IntermediateDirectory="$(TEMP)\$(SolutionName)\$(ProjectName)\$(ConfigurationName)"
-	>
-	<Tool
-		Name="VCCLCompilerTool"
-		AdditionalIncludeDirectories="../../../../../.."
-		PreprocessorDefinitions="BOOST_FILESYSTEM_VERSION=3;BOOST_SYSTEM_NO_DEPRECATED;BOOST_ALL_NO_LIB;BOOST_ALL_DYN_LINK"
-		ExceptionHandling="2"
-		DisableLanguageExtensions="false"
-		WarningLevel="4"
-	/>
-	<Tool
-		Name="VCLinkerTool"
-		AdditionalLibraryDirectories=""
-	/>
-</VisualStudioPropertySheet>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/convenience_test/convenience_test.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/convenience_test/convenience_test.vcproj
deleted file mode 100755
index ed67bd1..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/convenience_test/convenience_test.vcproj
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="convenience_test"
-	ProjectGUID="{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}"
-	RootNamespace="convenience_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\convenience_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/deprecated_test/deprecated_test.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/deprecated_test/deprecated_test.vcproj
deleted file mode 100755
index 60f0b16..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/deprecated_test/deprecated_test.vcproj
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="deprecated_test"
-	ProjectGUID="{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}"
-	RootNamespace="deprecated_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="BOOST_ALL_NO_LIB;BOOST_SYSTEM_DYN_LINK;BOOST_FILESYSTEM_DYN_LINK;WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="BOOST_ALL_NO_LIB;BOOST_SYSTEM_DYN_LINK;BOOST_FILESYSTEM_DYN_LINK;WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\deprecated_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/error_demo/error_demo.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/error_demo/error_demo.vcproj
deleted file mode 100755
index 237716a..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/error_demo/error_demo.vcproj
+++ /dev/null
@@ -1,191 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="error_demo"
-	ProjectGUID="{709A954B-4F1E-4375-A418-BCBFFE598715}"
-	RootNamespace="error_demo"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\example\error_demo.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/filesystem-v3.sln b/SRC/Boost/libs/filesystem/v3/test/msvc/filesystem-v3.sln
deleted file mode 100755
index 1174dfa..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/filesystem-v3.sln
+++ /dev/null
@@ -1,173 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "path_unit_test", "path_unit_test\path_unit_test.vcproj", "{3C77F610-2E31-4087-9DF2-7CD45198A02D}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "operations_unit_test", "operations_unit_test\operations_unit_test.vcproj", "{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "operations_test", "operations_test\operations_test.vcproj", "{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "path_test", "path_test\path_test.vcproj", "{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "system_dll", "system_dll\system_dll.vcproj", "{F94CCADD-A90B-480C-A304-C19D015D36B1}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "filesystem_dll", "filesystem_dll\filesystem_dll.vcproj", "{FFD738F7-96F0-445C-81EA-551665EF53D1}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convenience_test", "convenience_test\convenience_test.vcproj", "{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstream_test", "fstream_test\fstream_test.vcproj", "{A9939CD7-BE1C-4334-947C-4C320D49B3CA}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "deprecated_test", "deprecated_test\deprecated_test.vcproj", "{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_ls", "simple_ls\simple_ls.vcproj", "{6B8EC880-702E-418A-BC63-CA46C6CC7B27}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_demo", "error_demo\error_demo.vcproj", "{709A954B-4F1E-4375-A418-BCBFFE598715}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tut1", "tut1\tut1.vcproj", "{6376B8E4-7FD4-466B-978E-E8DA6E938689}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tut3", "tut3\tut3.vcproj", "{4FF64FA7-6806-401D-865C-79DD064D4A9E}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tut2", "tut2\tut2.vcproj", "{CD69B175-389E-4F8F-85DC-03C56A47CD1D}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tut4", "tut4\tut4.vcproj", "{256EA89A-E073-4CE8-B675-BE2FBC6B2691}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hebrew_example", "hebrew_example\hebrew_example.vcproj", "{F9F236A2-8B57-415A-8397-7145144400F5}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "enable_if_test", "enable_if_test\enable_if_test.vcproj", "{03FC7556-1052-45FF-A162-90D595713EAB}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Release|Win32 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Debug|Win32.ActiveCfg = Debug|Win32
-		{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Debug|Win32.Build.0 = Debug|Win32
-		{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Release|Win32.ActiveCfg = Release|Win32
-		{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Release|Win32.Build.0 = Release|Win32
-		{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Debug|Win32.ActiveCfg = Debug|Win32
-		{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Debug|Win32.Build.0 = Debug|Win32
-		{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Release|Win32.ActiveCfg = Release|Win32
-		{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Release|Win32.Build.0 = Release|Win32
-		{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Debug|Win32.ActiveCfg = Debug|Win32
-		{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Debug|Win32.Build.0 = Debug|Win32
-		{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Release|Win32.ActiveCfg = Release|Win32
-		{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Release|Win32.Build.0 = Release|Win32
-		{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Debug|Win32.ActiveCfg = Debug|Win32
-		{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Debug|Win32.Build.0 = Debug|Win32
-		{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Release|Win32.ActiveCfg = Release|Win32
-		{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Release|Win32.Build.0 = Release|Win32
-		{F94CCADD-A90B-480C-A304-C19D015D36B1}.Debug|Win32.ActiveCfg = Debug|Win32
-		{F94CCADD-A90B-480C-A304-C19D015D36B1}.Debug|Win32.Build.0 = Debug|Win32
-		{F94CCADD-A90B-480C-A304-C19D015D36B1}.Release|Win32.ActiveCfg = Release|Win32
-		{F94CCADD-A90B-480C-A304-C19D015D36B1}.Release|Win32.Build.0 = Release|Win32
-		{FFD738F7-96F0-445C-81EA-551665EF53D1}.Debug|Win32.ActiveCfg = Debug|Win32
-		{FFD738F7-96F0-445C-81EA-551665EF53D1}.Debug|Win32.Build.0 = Debug|Win32
-		{FFD738F7-96F0-445C-81EA-551665EF53D1}.Release|Win32.ActiveCfg = Release|Win32
-		{FFD738F7-96F0-445C-81EA-551665EF53D1}.Release|Win32.Build.0 = Release|Win32
-		{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Debug|Win32.ActiveCfg = Debug|Win32
-		{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Debug|Win32.Build.0 = Debug|Win32
-		{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Release|Win32.ActiveCfg = Release|Win32
-		{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Release|Win32.Build.0 = Release|Win32
-		{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Debug|Win32.ActiveCfg = Debug|Win32
-		{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Debug|Win32.Build.0 = Debug|Win32
-		{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Release|Win32.ActiveCfg = Release|Win32
-		{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Release|Win32.Build.0 = Release|Win32
-		{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Debug|Win32.Build.0 = Debug|Win32
-		{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Release|Win32.ActiveCfg = Release|Win32
-		{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Release|Win32.Build.0 = Release|Win32
-		{6B8EC880-702E-418A-BC63-CA46C6CC7B27}.Debug|Win32.ActiveCfg = Debug|Win32
-		{6B8EC880-702E-418A-BC63-CA46C6CC7B27}.Debug|Win32.Build.0 = Debug|Win32
-		{6B8EC880-702E-418A-BC63-CA46C6CC7B27}.Release|Win32.ActiveCfg = Release|Win32
-		{6B8EC880-702E-418A-BC63-CA46C6CC7B27}.Release|Win32.Build.0 = Release|Win32
-		{709A954B-4F1E-4375-A418-BCBFFE598715}.Debug|Win32.ActiveCfg = Debug|Win32
-		{709A954B-4F1E-4375-A418-BCBFFE598715}.Debug|Win32.Build.0 = Debug|Win32
-		{709A954B-4F1E-4375-A418-BCBFFE598715}.Release|Win32.ActiveCfg = Release|Win32
-		{709A954B-4F1E-4375-A418-BCBFFE598715}.Release|Win32.Build.0 = Release|Win32
-		{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Debug|Win32.ActiveCfg = Debug|Win32
-		{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Debug|Win32.Build.0 = Debug|Win32
-		{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Release|Win32.ActiveCfg = Release|Win32
-		{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Release|Win32.Build.0 = Release|Win32
-		{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Debug|Win32.ActiveCfg = Debug|Win32
-		{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Debug|Win32.Build.0 = Debug|Win32
-		{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Release|Win32.ActiveCfg = Release|Win32
-		{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Release|Win32.Build.0 = Release|Win32
-		{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Debug|Win32.ActiveCfg = Debug|Win32
-		{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Debug|Win32.Build.0 = Debug|Win32
-		{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Release|Win32.ActiveCfg = Release|Win32
-		{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Release|Win32.Build.0 = Release|Win32
-		{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Debug|Win32.ActiveCfg = Debug|Win32
-		{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Debug|Win32.Build.0 = Debug|Win32
-		{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Release|Win32.ActiveCfg = Release|Win32
-		{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Release|Win32.Build.0 = Release|Win32
-		{F9F236A2-8B57-415A-8397-7145144400F5}.Debug|Win32.ActiveCfg = Debug|Win32
-		{F9F236A2-8B57-415A-8397-7145144400F5}.Debug|Win32.Build.0 = Debug|Win32
-		{F9F236A2-8B57-415A-8397-7145144400F5}.Release|Win32.ActiveCfg = Release|Win32
-		{F9F236A2-8B57-415A-8397-7145144400F5}.Release|Win32.Build.0 = Release|Win32
-		{03FC7556-1052-45FF-A162-90D595713EAB}.Debug|Win32.ActiveCfg = Debug|Win32
-		{03FC7556-1052-45FF-A162-90D595713EAB}.Release|Win32.ActiveCfg = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/filesystem_dll/filesystem_dll.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/filesystem_dll/filesystem_dll.vcproj
deleted file mode 100755
index 38db01e..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/filesystem_dll/filesystem_dll.vcproj
+++ /dev/null
@@ -1,227 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="filesystem_dll"
-	ProjectGUID="{FFD738F7-96F0-445C-81EA-551665EF53D1}"
-	RootNamespace="filesystem_dll"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(TEMP)\$(SolutionName)\$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FILESYSTEM_DLL_EXPORTS"
-				MinimalRebuild="true"
-				ExceptionHandling="2"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(TEMP)\$(SolutionName)\$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FILESYSTEM_DLL_EXPORTS"
-				ExceptionHandling="2"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\src\codecvt_error_category.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\src\operations.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\src\path.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\src\path_traits.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\src\portability.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\src\unique_path.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\src\utf8_codecvt_facet.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\src\windows_file_codecvt.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/fstream_test/fstream_test.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/fstream_test/fstream_test.vcproj
deleted file mode 100755
index 8103d73..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/fstream_test/fstream_test.vcproj
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="fstream_test"
-	ProjectGUID="{A9939CD7-BE1C-4334-947C-4C320D49B3CA}"
-	RootNamespace="fstream_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\fstream_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/operations_test/operations_test.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/operations_test/operations_test.vcproj
deleted file mode 100755
index 94bb9ab..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/operations_test/operations_test.vcproj
+++ /dev/null
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="operations_test"
-	ProjectGUID="{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}"
-	RootNamespace="operations_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="BOOST_FILEYSTEM_INCLUDE_IOSTREAM"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe"  -x"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe"  -x"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\operations_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/operations_unit_test/operations_unit_test.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/operations_unit_test/operations_unit_test.vcproj
deleted file mode 100755
index 9b7b650..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/operations_unit_test/operations_unit_test.vcproj
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="operations_unit_test"
-	ProjectGUID="{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}"
-	RootNamespace="operations_unit_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\operations_unit_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/path_test/path_test.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/path_test/path_test.vcproj
deleted file mode 100755
index 505d692..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/path_test/path_test.vcproj
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="path_test"
-	ProjectGUID="{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}"
-	RootNamespace="path_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="BOOST_FILESYSTEM_PATH_CTOR_COUNT;WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\path_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/path_test_dynamic_link/path_test_dynamic_linkl.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/path_test_dynamic_link/path_test_dynamic_linkl.vcproj
deleted file mode 100755
index 1ce2b8a..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/path_test_dynamic_link/path_test_dynamic_linkl.vcproj
+++ /dev/null
@@ -1,201 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="path_test_dynamic_link"
-	ProjectGUID="{54347DE3-6AA2-4466-A2EC-7176E0EC1110}"
-	RootNamespace="path_test_dynamic_link"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(TEMP)\$(SolutionName)\$(ConfigurationName)"
-			IntermediateDirectory="$(TEMP)\$(SolutionName)\$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\..\.."
-				PreprocessorDefinitions="BOOST_ALL_NO_LIB;BOOST_SYSTEM_DYN_LINK;BOOST_FILESYSTEM_DYN_LINK;WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				ExceptionHandling="2"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(TEMP)\$(SolutionName)\$(ConfigurationName)"
-			IntermediateDirectory="$(TEMP)\$(SolutionName)\$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories="..\..\..\..\.."
-				PreprocessorDefinitions="BOOST_ALL_NO_LIB;BOOST_SYSTEM_DYN_LINK;BOOST_FILESYSTEM_DYN_LINK;WIN32;NDEBUG;_CONSOLE"
-				ExceptionHandling="2"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\path_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/path_unit_test/path_unit_test.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/path_unit_test/path_unit_test.vcproj
deleted file mode 100755
index dee6ba7..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/path_unit_test/path_unit_test.vcproj
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="path_unit_test"
-	ProjectGUID="{3C77F610-2E31-4087-9DF2-7CD45198A02D}"
-	RootNamespace="path_unit_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\path_unit_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/simple_ls/simple_ls.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/simple_ls/simple_ls.vcproj
deleted file mode 100755
index 8cc0bf7..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/simple_ls/simple_ls.vcproj
+++ /dev/null
@@ -1,201 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="simple_ls"
-	ProjectGUID="{6B8EC880-702E-418A-BC63-CA46C6CC7B27}"
-	RootNamespace="simple_ls"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(TEMP)\$(SolutionName)\$(ConfigurationName)"
-			IntermediateDirectory="$(TEMP)\$(SolutionName)\$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\..\.."
-				PreprocessorDefinitions="BOOST_ALL_NO_LIB;BOOST_SYSTEM_DYN_LINK;BOOST_FILESYSTEM_DYN_LINK;WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(TEMP)\$(SolutionName)\$(ConfigurationName)"
-			IntermediateDirectory="$(TEMP)\$(SolutionName)\$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories="..\..\..\..\.."
-				PreprocessorDefinitions="BOOST_ALL_NO_LIB;BOOST_SYSTEM_DYN_LINK;BOOST_FILESYSTEM_DYN_LINK;WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\example\simple_ls.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/system_dll/system_dll.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/system_dll/system_dll.vcproj
deleted file mode 100755
index bb6a2fd..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/system_dll/system_dll.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="system_dll"
-	ProjectGUID="{F94CCADD-A90B-480C-A304-C19D015D36B1}"
-	RootNamespace="system_dll"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(TEMP)\$(SolutionName)\$(ConfigurationName)"
-			IntermediateDirectory="$(TEMP)\$(SolutionName)\$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="BOOST_ALL_NO_LIB;BOOST_ALL_DYN_LINK;WIN32;_DEBUG;_WINDOWS;_USRDLL;SYSTEM_DLL_EXPORTS"
-				MinimalRebuild="true"
-				ExceptionHandling="2"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(TEMP)\$(SolutionName)\$(ConfigurationName)"
-			IntermediateDirectory="$(TEMP)\$(SolutionName)\$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="BOOST_ALL_NO_LIB;BOOST_ALL_DYN_LINK;WIN32;NDEBUG;_WINDOWS;_USRDLL;SYSTEM_DLL_EXPORTS"
-				ExceptionHandling="2"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\..\..\system\src\error_code.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/tchar_example/tchar_example.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/tchar_example/tchar_example.vcproj
deleted file mode 100755
index aa040eb..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/tchar_example/tchar_example.vcproj
+++ /dev/null
@@ -1,212 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="tchar_example"
-	ProjectGUID="{2D4CD761-6DF6-40AC-B4A5-F169D5F93226}"
-	RootNamespace="tchar_example"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(TEMP)\$(SolutionName)\$(ConfigurationName)"
-			IntermediateDirectory="$(TEMP)\$(SolutionName)\$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(TEMP)\$(SolutionName)\$(ConfigurationName)"
-			IntermediateDirectory="$(TEMP)\$(SolutionName)\$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Executing test $(TargetName).exe..."
-				CommandLine=""$(TargetDir)\$(TargetName).exe""
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\..\system\src\error_code.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\src\operations.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\src\path.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\example\tchar.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/tut0/tut0.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/tut0/tut0.vcproj
deleted file mode 100755
index 922fa7e..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/tut0/tut0.vcproj
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="tut0"
-	ProjectGUID="{6B5ABD07-0289-484D-BD96-6F1BC92677D3}"
-	RootNamespace="tut0"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\example\tut0.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/tut1/tut1.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/tut1/tut1.vcproj
deleted file mode 100755
index 8d51407..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/tut1/tut1.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="tut1"
-	ProjectGUID="{6376B8E4-7FD4-466B-978E-E8DA6E938689}"
-	RootNamespace="tut1"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\example\tut1.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/tut2/tut2.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/tut2/tut2.vcproj
deleted file mode 100755
index 8df8029..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/tut2/tut2.vcproj
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="tut2"
-	ProjectGUID="{CD69B175-389E-4F8F-85DC-03C56A47CD1D}"
-	RootNamespace="tut2"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\example\tut2.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/tut3/tut3.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/tut3/tut3.vcproj
deleted file mode 100755
index 1244d1e..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/tut3/tut3.vcproj
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="tut3"
-	ProjectGUID="{4FF64FA7-6806-401D-865C-79DD064D4A9E}"
-	RootNamespace="tut3"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\example\tut3.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/tut4/tut4.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/tut4/tut4.vcproj
deleted file mode 100755
index 7b8ca3b..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/tut4/tut4.vcproj
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="tut4"
-	ProjectGUID="{256EA89A-E073-4CE8-B675-BE2FBC6B2691}"
-	RootNamespace="tut4"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories=""
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\..\example\tut4.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc/wide_test/wide_test.vcproj b/SRC/Boost/libs/filesystem/v3/test/msvc/wide_test/wide_test.vcproj
deleted file mode 100755
index a365fef..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc/wide_test/wide_test.vcproj
+++ /dev/null
@@ -1,191 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="wide_test"
-	ProjectGUID="{DE12E87D-87C1-4FF3-AF16-85097F2A5184}"
-	RootNamespace="wide_test"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="1"
-			InheritedPropertySheets="..\common.vsprops"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\..\wide_test.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/common.props b/SRC/Boost/libs/filesystem/v3/test/msvc10/common.props
deleted file mode 100755
index 39e7ed4..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/common.props
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir>$(TEMP)\$(SolutionName)\$(Configuration)\</OutDir>
-    <IntDir>$(TEMP)\$(SolutionName)\$(ProjectName)\$(Configuration)\</IntDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <AdditionalIncludeDirectories>../../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>BOOST_FILESYSTEM_VERSION=3;BOOST_SYSTEM_NO_DEPRECATED;BOOST_ALL_NO_LIB;BOOST_ALL_DYN_LINK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <ExceptionHandling>Async</ExceptionHandling>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <WarningLevel>Level4</WarningLevel>
-    </ClCompile>
-    <Link>
-      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-    </Link>
-  </ItemDefinitionGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/convenience_test/convenience_test.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/convenience_test/convenience_test.vcxproj
deleted file mode 100755
index 51bcd20..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/convenience_test/convenience_test.vcxproj
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}</ProjectGuid>
-    <RootNamespace>convenience_test</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\convenience_test.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/deprecated_test/deprecated_test.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/deprecated_test/deprecated_test.vcxproj
deleted file mode 100755
index 437057c..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/deprecated_test/deprecated_test.vcxproj
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}</ProjectGuid>
-    <RootNamespace>deprecated_test</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>BOOST_ALL_NO_LIB;BOOST_SYSTEM_DYN_LINK;BOOST_FILESYSTEM_DYN_LINK;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>BOOST_ALL_NO_LIB;BOOST_SYSTEM_DYN_LINK;BOOST_FILESYSTEM_DYN_LINK;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\deprecated_test.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/file_status/file_status.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/file_status/file_status.vcxproj
deleted file mode 100755
index eed84d1..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/file_status/file_status.vcxproj
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{43C4B4D8-0893-4C86-B9FD-6A7DEB1A4426}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>file_status</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-    <PostBuildEvent>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-      <Message>Executing test $(TargetName).exe...</Message>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-    </Link>
-    <PostBuildEvent>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-      <Message>Executing test $(TargetName).exe...</Message>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\example\file_status.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/filesystem-v3.sln b/SRC/Boost/libs/filesystem/v3/test/msvc10/filesystem-v3.sln
deleted file mode 100755
index 9c784bf..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/filesystem-v3.sln
+++ /dev/null
@@ -1,174 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual C++ Express 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "path_unit_test", "path_unit_test\path_unit_test.vcxproj", "{3C77F610-2E31-4087-9DF2-7CD45198A02D}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "operations_unit_test", "operations_unit_test\operations_unit_test.vcxproj", "{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "operations_test", "operations_test\operations_test.vcxproj", "{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "path_test", "path_test\path_test.vcxproj", "{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "system_dll", "system_dll\system_dll.vcxproj", "{F94CCADD-A90B-480C-A304-C19D015D36B1}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "filesystem_dll", "filesystem_dll\filesystem_dll.vcxproj", "{FFD738F7-96F0-445C-81EA-551665EF53D1}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convenience_test", "convenience_test\convenience_test.vcxproj", "{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstream_test", "fstream_test\fstream_test.vcxproj", "{A9939CD7-BE1C-4334-947C-4C320D49B3CA}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "deprecated_test", "deprecated_test\deprecated_test.vcxproj", "{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tut1", "tut1\tut1.vcxproj", "{6376B8E4-7FD4-466B-978E-E8DA6E938689}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tut3", "tut3\tut3.vcxproj", "{4FF64FA7-6806-401D-865C-79DD064D4A9E}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tut2", "tut2\tut2.vcxproj", "{CD69B175-389E-4F8F-85DC-03C56A47CD1D}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tut4", "tut4\tut4.vcxproj", "{256EA89A-E073-4CE8-B675-BE2FBC6B2691}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "windows_attributes", "windows_attributes\windows_attributes.vcxproj", "{FC5C770F-3017-4021-8DAF-C5DCA3FDF005}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tut5", "tut5\tut5.vcxproj", "{5C9B3380-3C6E-45CC-986A-16D245E27E58}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tut6a", "tut6a\tut6a.vcxproj", "{C781F9C4-31D4-4509-B031-84DB598B207D}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tut6b", "tut6b\tut6b.vcxproj", "{4A77CA6A-8E72-4CC6-9FE7-2C555C51815C}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tut6c", "tut6c\tut6c.vcxproj", "{17C6DD1B-EF6F-4561-B4FF-CF39F975ED29}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stems", "stems\stems.vcxproj", "{23C735E1-0195-467F-BE9F-314829402FCF}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "long_path_test", "long_path_test\long_path_test.vcxproj", "{1A6A7DAF-8705-4B2B-83B5-93F84A63496C}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "file_status", "file_status\file_status.vcxproj", "{43C4B4D8-0893-4C86-B9FD-6A7DEB1A4426}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F94CCADD-A90B-480C-A304-C19D015D36B1} = {F94CCADD-A90B-480C-A304-C19D015D36B1}
-		{FFD738F7-96F0-445C-81EA-551665EF53D1} = {FFD738F7-96F0-445C-81EA-551665EF53D1}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "locale_info", "locale_info\locale_info.vcxproj", "{3667C35E-78D5-43D4-AAC2-349145E4341D}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Release|Win32 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Debug|Win32.ActiveCfg = Debug|Win32
-		{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Debug|Win32.Build.0 = Debug|Win32
-		{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Release|Win32.ActiveCfg = Release|Win32
-		{3C77F610-2E31-4087-9DF2-7CD45198A02D}.Release|Win32.Build.0 = Release|Win32
-		{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Debug|Win32.ActiveCfg = Debug|Win32
-		{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Debug|Win32.Build.0 = Debug|Win32
-		{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Release|Win32.ActiveCfg = Release|Win32
-		{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}.Release|Win32.Build.0 = Release|Win32
-		{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Debug|Win32.ActiveCfg = Debug|Win32
-		{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Debug|Win32.Build.0 = Debug|Win32
-		{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Release|Win32.ActiveCfg = Release|Win32
-		{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}.Release|Win32.Build.0 = Release|Win32
-		{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Debug|Win32.ActiveCfg = Debug|Win32
-		{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Debug|Win32.Build.0 = Debug|Win32
-		{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Release|Win32.ActiveCfg = Release|Win32
-		{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}.Release|Win32.Build.0 = Release|Win32
-		{F94CCADD-A90B-480C-A304-C19D015D36B1}.Debug|Win32.ActiveCfg = Debug|Win32
-		{F94CCADD-A90B-480C-A304-C19D015D36B1}.Debug|Win32.Build.0 = Debug|Win32
-		{F94CCADD-A90B-480C-A304-C19D015D36B1}.Release|Win32.ActiveCfg = Release|Win32
-		{F94CCADD-A90B-480C-A304-C19D015D36B1}.Release|Win32.Build.0 = Release|Win32
-		{FFD738F7-96F0-445C-81EA-551665EF53D1}.Debug|Win32.ActiveCfg = Debug|Win32
-		{FFD738F7-96F0-445C-81EA-551665EF53D1}.Debug|Win32.Build.0 = Debug|Win32
-		{FFD738F7-96F0-445C-81EA-551665EF53D1}.Release|Win32.ActiveCfg = Release|Win32
-		{FFD738F7-96F0-445C-81EA-551665EF53D1}.Release|Win32.Build.0 = Release|Win32
-		{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Debug|Win32.ActiveCfg = Debug|Win32
-		{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Debug|Win32.Build.0 = Debug|Win32
-		{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Release|Win32.ActiveCfg = Release|Win32
-		{08986FB5-0C83-4BC4-92DF-05E12E1C03C1}.Release|Win32.Build.0 = Release|Win32
-		{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Debug|Win32.ActiveCfg = Debug|Win32
-		{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Debug|Win32.Build.0 = Debug|Win32
-		{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Release|Win32.ActiveCfg = Release|Win32
-		{A9939CD7-BE1C-4334-947C-4C320D49B3CA}.Release|Win32.Build.0 = Release|Win32
-		{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Debug|Win32.Build.0 = Debug|Win32
-		{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Release|Win32.ActiveCfg = Release|Win32
-		{D73BC50F-956E-4A44-BF9F-A8BB80DF0000}.Release|Win32.Build.0 = Release|Win32
-		{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Debug|Win32.ActiveCfg = Debug|Win32
-		{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Debug|Win32.Build.0 = Debug|Win32
-		{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Release|Win32.ActiveCfg = Release|Win32
-		{6376B8E4-7FD4-466B-978E-E8DA6E938689}.Release|Win32.Build.0 = Release|Win32
-		{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Debug|Win32.ActiveCfg = Debug|Win32
-		{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Debug|Win32.Build.0 = Debug|Win32
-		{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Release|Win32.ActiveCfg = Release|Win32
-		{4FF64FA7-6806-401D-865C-79DD064D4A9E}.Release|Win32.Build.0 = Release|Win32
-		{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Debug|Win32.ActiveCfg = Debug|Win32
-		{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Debug|Win32.Build.0 = Debug|Win32
-		{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Release|Win32.ActiveCfg = Release|Win32
-		{CD69B175-389E-4F8F-85DC-03C56A47CD1D}.Release|Win32.Build.0 = Release|Win32
-		{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Debug|Win32.ActiveCfg = Debug|Win32
-		{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Debug|Win32.Build.0 = Debug|Win32
-		{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Release|Win32.ActiveCfg = Release|Win32
-		{256EA89A-E073-4CE8-B675-BE2FBC6B2691}.Release|Win32.Build.0 = Release|Win32
-		{FC5C770F-3017-4021-8DAF-C5DCA3FDF005}.Debug|Win32.ActiveCfg = Debug|Win32
-		{FC5C770F-3017-4021-8DAF-C5DCA3FDF005}.Debug|Win32.Build.0 = Debug|Win32
-		{FC5C770F-3017-4021-8DAF-C5DCA3FDF005}.Release|Win32.ActiveCfg = Release|Win32
-		{FC5C770F-3017-4021-8DAF-C5DCA3FDF005}.Release|Win32.Build.0 = Release|Win32
-		{5C9B3380-3C6E-45CC-986A-16D245E27E58}.Debug|Win32.ActiveCfg = Debug|Win32
-		{5C9B3380-3C6E-45CC-986A-16D245E27E58}.Debug|Win32.Build.0 = Debug|Win32
-		{5C9B3380-3C6E-45CC-986A-16D245E27E58}.Release|Win32.ActiveCfg = Release|Win32
-		{5C9B3380-3C6E-45CC-986A-16D245E27E58}.Release|Win32.Build.0 = Release|Win32
-		{C781F9C4-31D4-4509-B031-84DB598B207D}.Debug|Win32.ActiveCfg = Debug|Win32
-		{C781F9C4-31D4-4509-B031-84DB598B207D}.Debug|Win32.Build.0 = Debug|Win32
-		{C781F9C4-31D4-4509-B031-84DB598B207D}.Release|Win32.ActiveCfg = Release|Win32
-		{C781F9C4-31D4-4509-B031-84DB598B207D}.Release|Win32.Build.0 = Release|Win32
-		{4A77CA6A-8E72-4CC6-9FE7-2C555C51815C}.Debug|Win32.ActiveCfg = Debug|Win32
-		{4A77CA6A-8E72-4CC6-9FE7-2C555C51815C}.Debug|Win32.Build.0 = Debug|Win32
-		{4A77CA6A-8E72-4CC6-9FE7-2C555C51815C}.Release|Win32.ActiveCfg = Release|Win32
-		{4A77CA6A-8E72-4CC6-9FE7-2C555C51815C}.Release|Win32.Build.0 = Release|Win32
-		{17C6DD1B-EF6F-4561-B4FF-CF39F975ED29}.Debug|Win32.ActiveCfg = Debug|Win32
-		{17C6DD1B-EF6F-4561-B4FF-CF39F975ED29}.Debug|Win32.Build.0 = Debug|Win32
-		{17C6DD1B-EF6F-4561-B4FF-CF39F975ED29}.Release|Win32.ActiveCfg = Release|Win32
-		{17C6DD1B-EF6F-4561-B4FF-CF39F975ED29}.Release|Win32.Build.0 = Release|Win32
-		{23C735E1-0195-467F-BE9F-314829402FCF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{23C735E1-0195-467F-BE9F-314829402FCF}.Debug|Win32.Build.0 = Debug|Win32
-		{23C735E1-0195-467F-BE9F-314829402FCF}.Release|Win32.ActiveCfg = Release|Win32
-		{23C735E1-0195-467F-BE9F-314829402FCF}.Release|Win32.Build.0 = Release|Win32
-		{1A6A7DAF-8705-4B2B-83B5-93F84A63496C}.Debug|Win32.ActiveCfg = Debug|Win32
-		{1A6A7DAF-8705-4B2B-83B5-93F84A63496C}.Debug|Win32.Build.0 = Debug|Win32
-		{1A6A7DAF-8705-4B2B-83B5-93F84A63496C}.Release|Win32.ActiveCfg = Release|Win32
-		{1A6A7DAF-8705-4B2B-83B5-93F84A63496C}.Release|Win32.Build.0 = Release|Win32
-		{43C4B4D8-0893-4C86-B9FD-6A7DEB1A4426}.Debug|Win32.ActiveCfg = Debug|Win32
-		{43C4B4D8-0893-4C86-B9FD-6A7DEB1A4426}.Debug|Win32.Build.0 = Debug|Win32
-		{43C4B4D8-0893-4C86-B9FD-6A7DEB1A4426}.Release|Win32.ActiveCfg = Release|Win32
-		{43C4B4D8-0893-4C86-B9FD-6A7DEB1A4426}.Release|Win32.Build.0 = Release|Win32
-		{3667C35E-78D5-43D4-AAC2-349145E4341D}.Debug|Win32.ActiveCfg = Debug|Win32
-		{3667C35E-78D5-43D4-AAC2-349145E4341D}.Debug|Win32.Build.0 = Debug|Win32
-		{3667C35E-78D5-43D4-AAC2-349145E4341D}.Release|Win32.ActiveCfg = Release|Win32
-		{3667C35E-78D5-43D4-AAC2-349145E4341D}.Release|Win32.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/filesystem_dll/filesystem_dll.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/filesystem_dll/filesystem_dll.vcxproj
deleted file mode 100755
index 4ac1562..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/filesystem_dll/filesystem_dll.vcxproj
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{FFD738F7-96F0-445C-81EA-551665EF53D1}</ProjectGuid>
-    <RootNamespace>filesystem_dll</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TEMP)\$(SolutionName)\$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TEMP)\$(SolutionName)\$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;FILESYSTEM_DLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <ExceptionHandling>Async</ExceptionHandling>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;FILESYSTEM_DLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <ExceptionHandling>Async</ExceptionHandling>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\src\codecvt_error_category.cpp" />
-    <ClCompile Include="..\..\..\src\operations.cpp" />
-    <ClCompile Include="..\..\..\src\path.cpp" />
-    <ClCompile Include="..\..\..\src\path_traits.cpp" />
-    <ClCompile Include="..\..\..\src\portability.cpp" />
-    <ClCompile Include="..\..\..\src\unique_path.cpp" />
-    <ClCompile Include="..\..\..\src\utf8_codecvt_facet.cpp" />
-    <ClCompile Include="..\..\..\src\windows_file_codecvt.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/fstream_test/fstream_test.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/fstream_test/fstream_test.vcxproj
deleted file mode 100755
index 56bd2c0..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/fstream_test/fstream_test.vcxproj
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{A9939CD7-BE1C-4334-947C-4C320D49B3CA}</ProjectGuid>
-    <RootNamespace>fstream_test</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\fstream_test.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/locale_info/locale_info.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/locale_info/locale_info.vcxproj
deleted file mode 100755
index 8abfa38..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/locale_info/locale_info.vcxproj
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{3667C35E-78D5-43D4-AAC2-349145E4341D}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>locale_info</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-    <PostBuildEvent>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-    </Link>
-    <PostBuildEvent>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\locale_info.cpp" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/long_path_test/long_path_test.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/long_path_test/long_path_test.vcxproj
deleted file mode 100755
index 28d2a81..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/long_path_test/long_path_test.vcxproj
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{1A6A7DAF-8705-4B2B-83B5-93F84A63496C}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>long_path_test</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-    <PostBuildEvent>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-      <Message>Executing test $(TargetName).exe...</Message>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-    </Link>
-    <PostBuildEvent>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-      <Message>Executing test $(TargetName).exe...</Message>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\long_path_test.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/operations_test/operations_test.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/operations_test/operations_test.vcxproj
deleted file mode 100755
index ac0fad4..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/operations_test/operations_test.vcxproj
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{8BB7E604-46EF-42BE-ABB5-D7044B3E8A40}</ProjectGuid>
-    <RootNamespace>operations_test</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>BOOST_FILEYSTEM_INCLUDE_IOSTREAM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"  -x</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"  -x</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\operations_test.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/operations_unit_test/operations_unit_test.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/operations_unit_test/operations_unit_test.vcxproj
deleted file mode 100755
index 3f78e38..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/operations_unit_test/operations_unit_test.vcxproj
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{5DAF595A-4640-4F86-8A5F-E54E3E4CE7D0}</ProjectGuid>
-    <RootNamespace>operations_unit_test</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\operations_unit_test.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/path_test/path_test.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/path_test/path_test.vcxproj
deleted file mode 100755
index 60f66f7..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/path_test/path_test.vcxproj
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{F3D230C4-9185-4C2B-AB0E-0F0D28D8268C}</ProjectGuid>
-    <RootNamespace>path_test</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>BOOST_FILESYSTEM_PATH_CTOR_COUNT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\path_test.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/path_unit_test/path_unit_test.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/path_unit_test/path_unit_test.vcxproj
deleted file mode 100755
index 11a8231..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/path_unit_test/path_unit_test.vcxproj
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{3C77F610-2E31-4087-9DF2-7CD45198A02D}</ProjectGuid>
-    <RootNamespace>path_unit_test</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Executing test $(TargetName).exe...</Message>
-      <Command>"$(TargetDir)\$(TargetName).exe"</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\path_unit_test.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/stems/stems.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/stems/stems.vcxproj
deleted file mode 100755
index 6bc541a..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/stems/stems.vcxproj
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{23C735E1-0195-467F-BE9F-314829402FCF}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>stems</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\example\stems.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/system_dll/system_dll.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/system_dll/system_dll.vcxproj
deleted file mode 100755
index 75be4b0..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/system_dll/system_dll.vcxproj
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{F94CCADD-A90B-480C-A304-C19D015D36B1}</ProjectGuid>
-    <RootNamespace>system_dll</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TEMP)\$(SolutionName)\$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TEMP)\$(SolutionName)\$(ProjectName)\$(Configuration)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TEMP)\$(SolutionName)\$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TEMP)\$(SolutionName)\$(ProjectName)\$(Configuration)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>BOOST_ALL_NO_LIB;BOOST_ALL_DYN_LINK;WIN32;_DEBUG;_WINDOWS;_USRDLL;SYSTEM_DLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <ExceptionHandling>Async</ExceptionHandling>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>BOOST_ALL_NO_LIB;BOOST_ALL_DYN_LINK;WIN32;NDEBUG;_WINDOWS;_USRDLL;SYSTEM_DLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <ExceptionHandling>Async</ExceptionHandling>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\..\..\system\src\error_code.cpp" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut1/tut1.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/tut1/tut1.vcxproj
deleted file mode 100755
index 96378a5..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut1/tut1.vcxproj
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{6376B8E4-7FD4-466B-978E-E8DA6E938689}</ProjectGuid>
-    <RootNamespace>tut1</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level4</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\example\tut1.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut2/tut2.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/tut2/tut2.vcxproj
deleted file mode 100755
index 2484b05..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut2/tut2.vcxproj
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{CD69B175-389E-4F8F-85DC-03C56A47CD1D}</ProjectGuid>
-    <RootNamespace>tut2</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\example\tut2.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut3/tut3.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/tut3/tut3.vcxproj
deleted file mode 100755
index e706369..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut3/tut3.vcxproj
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{4FF64FA7-6806-401D-865C-79DD064D4A9E}</ProjectGuid>
-    <RootNamespace>tut3</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\example\tut3.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut4/tut4.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/tut4/tut4.vcxproj
deleted file mode 100755
index 8997830..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut4/tut4.vcxproj
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{256EA89A-E073-4CE8-B675-BE2FBC6B2691}</ProjectGuid>
-    <RootNamespace>tut4</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\example\tut4.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut5/tut5.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/tut5/tut5.vcxproj
deleted file mode 100755
index 01c4da4..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut5/tut5.vcxproj
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{5C9B3380-3C6E-45CC-986A-16D245E27E58}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>tut5</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\example\tut5.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut6a/tut6a.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/tut6a/tut6a.vcxproj
deleted file mode 100755
index be91e84..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut6a/tut6a.vcxproj
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{C781F9C4-31D4-4509-B031-84DB598B207D}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>tut6a</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\example\tut6a.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut6b/tut6b.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/tut6b/tut6b.vcxproj
deleted file mode 100755
index d251404..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut6b/tut6b.vcxproj
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{4A77CA6A-8E72-4CC6-9FE7-2C555C51815C}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>tut6b</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\example\tut6b.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut6c/tut6c.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/tut6c/tut6c.vcxproj
deleted file mode 100755
index 4a83f2a..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/tut6c/tut6c.vcxproj
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{17C6DD1B-EF6F-4561-B4FF-CF39F975ED29}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>tut6c</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\example\tut6c.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/msvc10/windows_attributes/windows_attributes.vcxproj b/SRC/Boost/libs/filesystem/v3/test/msvc10/windows_attributes/windows_attributes.vcxproj
deleted file mode 100755
index 3d0eae6..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/msvc10/windows_attributes/windows_attributes.vcxproj
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{FC5C770F-3017-4021-8DAF-C5DCA3FDF005}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>windows_attributes</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\common.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\windows_attributes.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\filesystem_dll\filesystem_dll.vcxproj">
-      <Project>{ffd738f7-96f0-445c-81ea-551665ef53d1}</Project>
-    </ProjectReference>
-    <ProjectReference Include="..\system_dll\system_dll.vcxproj">
-      <Project>{f94ccadd-a90b-480c-a304-c19d015d36b1}</Project>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/SRC/Boost/libs/filesystem/v3/test/operations_test.cpp b/SRC/Boost/libs/filesystem/v3/test/operations_test.cpp
deleted file mode 100755
index 07bb2be..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/operations_test.cpp
+++ /dev/null
@@ -1,1933 +0,0 @@
-//  Boost operations_test.cpp  ---------------------------------------------------------//
-
-//  Copyright Beman Dawes 2002, 2009.
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#define BOOST_FILESYSTEM_VERSION 3
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-#include <boost/config/warning_disable.hpp>
-
-//  See deprecated_test for tests of deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-#  define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-#  define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/operations.hpp>
-#include <boost/cerrno.hpp>
-namespace fs = boost::filesystem;
-
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-
-using boost::system::error_code;
-using boost::system::system_category;
-using boost::system::system_error;
-
-#include <fstream>
-#include <iostream>
-
-using std::cout;
-using std::endl;
-
-#include <string>
-#include <vector>
-#include <algorithm>
-#include <cstring> // for strncmp, etc.
-#include <ctime>
-#include <cstdlib> // for system(), getenv(), etc.
-
-#ifdef BOOST_WINDOWS_API
-# include <windows.h>
-
-inline std::wstring convert(const char* c)
-{
-   std::string s(c);
-   
-   return std::wstring(s.begin(), s.end());
-}
-
-inline int setenv(const char* name, const fs::path::value_type* val, int) 
-{
-  return SetEnvironmentVariableW(convert(name).c_str(), val); 
-}
-
-inline int setenv(const char* name, const char* val, int) 
-{
-  return SetEnvironmentVariableW(convert(name).c_str(), convert(val).c_str()); 
-}
-
-inline int unsetenv(const char* name) 
-{ 
-  return SetEnvironmentVariableW(convert(name).c_str(), 0); 
-}
-
-#else
-
-#include <stdlib.h>  // allow unqualifed calls to env funcs on SunOS
-
-#endif
-
-//  on Windows, except for standard libaries known to have wchar_t overloads for
-//  file stream I/O, use path::string() to get a narrow character c_str()
-#if defined(BOOST_WINDOWS_API) \
-  && (!defined(_CPPLIB_VER) || _CPPLIB_VER < 405)  // not Dinkumware || no wide overloads
-# define BOOST_FILESYSTEM_C_STR string().c_str()  // use narrow, since wide not available
-#else  // use the native c_str, which will be narrow on POSIX, wide on Windows
-# define BOOST_FILESYSTEM_C_STR c_str()
-#endif
-
-#define CHECK_EXCEPTION(Functor,Expect) throws_fs_error(Functor,Expect,__LINE__)
-
-namespace
-{
-  typedef int errno_t;
-  std::string platform(BOOST_PLATFORM);
-  bool report_throws;
-  bool cleanup = true;
-  fs::directory_iterator end_itr;
-  fs::path dir;
-  fs::path d1;
-  fs::path d2;
-  fs::path f0;
-  fs::path f1;
-  fs::path d1f1;
-
-  bool create_symlink_ok(true);
-
-  fs::path ng(" no-way, Jose");
-
-  unsigned short language_id;  // 0 except for Windows
-
-  const char* temp_dir_name = "v3_operations_test";
-
-  void create_file(const fs::path & ph, const std::string & contents)
-  {
-    std::ofstream f(ph.BOOST_FILESYSTEM_C_STR);
-    if (!f)
-      throw fs::filesystem_error("operations_test create_file",
-      ph, error_code(errno, system_category()));
-    if (!contents.empty()) f << contents;
-  }
-
-  void verify_file(const fs::path & ph, const std::string & expected)
-  {
-    std::ifstream f(ph.BOOST_FILESYSTEM_C_STR);
-    if (!f)
-      throw fs::filesystem_error("operations_test verify_file",
-        ph, error_code(errno, system_category()));
-    std::string contents;
-    f >> contents;
-    if (contents != expected)
-      throw fs::filesystem_error("operations_test verify_file contents \""
-        + contents  + "\" != \"" + expected + "\"", ph, error_code());
-  }
-
-  template< typename F >
-    bool throws_fs_error(F func, errno_t en, int line)
-  {
-    try { func(); }
-
-    catch (const fs::filesystem_error & ex)
-    {
-      if (report_throws)
-      {
-        // use the what() convenience function to display exceptions
-        cout << "\n" << ex.what() << "\n";
-      }
-      if (en == 0
-        || en == ex.code().default_error_condition().value()) return true;
-      cout
-        << "\nWarning: line " << line
-        << " exception reports default_error_condition().value() "
-        << ex.code().default_error_condition().value()
-        << ", should be " << en
-        << "\n value() is " << ex.code().value()
-        << endl;
-      return true;
-    }
-    return false;
-  }
-
-  boost::system::error_category* poison_category_aux() { return 0; }
-  boost::system::error_category& poison_category()     { return *poison_category_aux(); }
-
-  // compile-only two argument "do-the-right-thing" tests
-  //   verifies that all overload combinations compile without error
-  void do_not_call()
-  {
-    fs::path p;
-    std::string s;
-    const char* a = 0;
-    fs::copy_file(p, p);
-    fs::copy_file(s, p);
-    fs::copy_file(a, p);
-    fs::copy_file(p, s);
-    fs::copy_file(p, a);
-    fs::copy_file(s, s);
-    fs::copy_file(a, s);
-    fs::copy_file(s, a);
-    fs::copy_file(a, a);
-  }
-
-  void bad_file_size()
-  {
-    fs::file_size(" No way, Jose");
-  }
-  
-  void bad_directory_size()
-  {
-    fs::file_size(fs::current_path());
-  }
-  
-  fs::path bad_create_directory_path;
-  void bad_create_directory()
-  {
-    fs::create_directory(bad_create_directory_path);
-  }
-  
-  void bad_equivalent()
-  {
-    fs::equivalent("no-such-path", "another-not-present-path");
-  }
-
-  fs::path bad_remove_dir;
-  void bad_remove()
-  {
-    fs::remove(bad_remove_dir);
-  }
-
-  class renamer
-  {
-  public:
-    renamer(const fs::path & p1, const fs::path & p2)
-      : from(p1), to(p2) {}
-    void operator()()
-    {
-      fs::rename(from, to);
-    }
-  private:
-    fs::path from;
-    fs::path to;
-  };
-
-  //------------------------------ debugging aids --------------------------------------//
-
-  std::ostream& operator<<(std::ostream& os, const fs::file_status& s)
-  {
-    if (s.type() == fs::status_error)        { os << "status_error"; }
-    else if (s.type() == fs::file_not_found) { os << "file_not_found"; }
-    else if (s.type() == fs::regular_file)   { os << "regular_file"; }
-    else if (s.type() == fs::directory_file) { os << "directory_file"; }
-    else if (s.type() == fs::symlink_file)   { os << "symlink_file"; }
-    else if (s.type() == fs::block_file)     { os << "block_file"; }
-    else if (s.type() == fs::character_file) { os << "character_file"; }
-    else if (s.type() == fs::fifo_file)      { os << "fifo_file"; }
-    else if (s.type() == fs::socket_file)    { os << "socket_file"; }
-    else if (s.type() == fs::reparse_file)   { os << "reparse_file"; }
-    else if (s.type() == fs::type_unknown)   { os << "type_unknown"; }
-    else                                     { os << "_detail_directory_symlink"; }
-    return os;
-  }
-
-  void dump_tree(const fs::path & root)
-  {
-    cout << "dumping tree rooted at " << root << endl;
-    for (fs::recursive_directory_iterator it (root, fs::symlink_option::recurse);
-         it != fs::recursive_directory_iterator();
-         ++it)
-    {
-      for (int i = 0; i <= it.level(); ++i)
-        cout << "  ";
-
-      cout << it->path();
-      if (fs::is_symlink(it->path()))
-      {
-        cout << " [symlink]" << endl;
-      }
-      else
-        cout << endl;
-    }
-  }
-
-  //  exception_tests()  ---------------------------------------------------------------//
-
-  void exception_tests()
-  {
-    cout << "exception_tests..." << endl;
-    bool exception_thrown;
-
-    //  catch runtime_error by value
-
-    cout << "  catch runtime_error by value" << endl;
-    exception_thrown = false;
-    try
-    {
-      fs::create_directory("no-such-dir/foo/bar");
-    }
-    catch (std::runtime_error x)
-    {
-      exception_thrown = true;
-      if (report_throws) cout << x.what() << endl;
-      if (platform == "Windows" && language_id == 0x0409) // English (United States)
-        // the stdcxx standard library apparently appends additional info
-        // to what(), so check only the initial portion: 
-        BOOST_TEST(std::strncmp(x.what(),
-          "boost::filesystem::create_directory",
-          sizeof("boost::filesystem::create_directory")-1) == 0);
-    }
-    BOOST_TEST(exception_thrown);
-
-    //  catch system_error by value
-
-    cout << "  catch system_error by value" << endl;
-    exception_thrown = false;
-    try
-    {
-      fs::create_directory("no-such-dir/foo/bar");
-    }
-    catch (system_error x)
-    {
-      exception_thrown = true;
-      if (report_throws) cout << x.what() << endl;
-      if (platform == "Windows" && language_id == 0x0409) // English (United States)
-        BOOST_TEST(std::strcmp(x.what(),
-          "boost::filesystem::create_directory: The system cannot find the path specified") == 0);
-    }
-    BOOST_TEST(exception_thrown);
-
-    //  catch filesystem_error by value
-
-    cout << "  catch filesystem_error by value" << endl;
-    exception_thrown = false;
-    try
-    {
-      fs::create_directory("no-such-dir/foo/bar");
-    }
-    catch (fs::filesystem_error x)
-    {
-      exception_thrown = true;
-      if (report_throws) cout << x.what() << endl;
-      if (platform == "Windows" && language_id == 0x0409) // English (United States)
-      {
-        bool ok (std::strcmp(x.what(),
-          "boost::filesystem::create_directory: The system cannot find the path specified: \"no-such-dir/foo/bar\"") == 0);
-        BOOST_TEST(ok);
-        if (!ok)
-        {
-          cout << "what returns \"" << x.what() << "\"" << endl;
-        }
-      }
-    }
-    BOOST_TEST(exception_thrown);
-
-    //  catch filesystem_error by const reference
-
-    cout << "  catch filesystem_error by const reference" << endl;
-    exception_thrown = false;
-    try
-    {
-      fs::create_directory("no-such-dir/foo/bar");
-    }
-    catch (const fs::filesystem_error & x)
-    {
-      exception_thrown = true;
-      if (report_throws) cout << x.what() << endl;
-      if (platform == "Windows" && language_id == 0x0409) // English (United States)
-      {
-        bool ok (std::strcmp(x.what(),
-          "boost::filesystem::create_directory: The system cannot find the path specified: \"no-such-dir/foo/bar\"") == 0);
-        BOOST_TEST(ok);
-        if (!ok)
-        {
-          cout << "what returns \"" << x.what() << "\"" << endl;
-        }
-      }
-    }
-    BOOST_TEST(exception_thrown);
-
-    // the bound functions should throw, so CHECK_EXCEPTION() should return true
-
-    BOOST_TEST(CHECK_EXCEPTION(bad_file_size, ENOENT));
-
-    if (platform == "Windows")
-      BOOST_TEST(CHECK_EXCEPTION(bad_directory_size, ENOENT));
-    else
-      BOOST_TEST(CHECK_EXCEPTION(bad_directory_size, 0));
-
-    // test path::exception members
-    try { fs::file_size(ng); } // will throw
-
-    catch (const fs::filesystem_error & ex)
-    {
-      BOOST_TEST(ex.path1().string() == " no-way, Jose");
-    }
-
-    cout << "  exception_tests complete" << endl;
-  }
-
-  // create a directory tree that can be used by subsequent tests  ---------------------//
-  //
-  //    dir
-  //      d1
-  //        d1f1       // an empty file
-  //      f0           // an empty file
-  //      f1           // a file containing "file-f1"
- 
-  void create_tree()
-  {
-    cout << "creating test directories and files in " << dir << endl;
-
-    // create directory d1
-    BOOST_TEST(!fs::create_directory(dir));
-    BOOST_TEST(!fs::is_symlink(dir));
-    BOOST_TEST(!fs::is_symlink("nosuchfileordirectory"));
-    d1 = dir / "d1";
-    BOOST_TEST(fs::create_directory(d1));
-    BOOST_TEST(fs::exists(d1));
-    BOOST_TEST(fs::is_directory(d1));
-    BOOST_TEST(fs::is_empty(d1));
-
-    // create an empty file named "d1f1"
-    d1f1 = d1 / "d1f1";
-    create_file(d1f1, "");
-    BOOST_TEST(fs::exists(d1f1));
-    BOOST_TEST(!fs::is_directory(d1f1));
-    BOOST_TEST(fs::is_regular_file(d1f1));
-    BOOST_TEST(fs::is_empty(d1f1));
-    BOOST_TEST(fs::file_size(d1f1) == 0);
-    BOOST_TEST(fs::hard_link_count(d1f1) == 1);
-
-    // create an empty file named "f0"
-    f0 = dir / "f0";
-    create_file(f0, "");
-    BOOST_TEST(fs::exists(f0));
-    BOOST_TEST(!fs::is_directory(f0));
-    BOOST_TEST(fs::is_regular_file(f0));
-    BOOST_TEST(fs::is_empty(f0));
-    BOOST_TEST(fs::file_size(f0) == 0);
-    BOOST_TEST(fs::hard_link_count(f0) == 1);
-
-    // create a file named "f1"
-    f1 = dir / "f1";
-    create_file(f1, "file-f1");
-    BOOST_TEST(fs::exists(f1));
-    BOOST_TEST(!fs::is_directory(f1));
-    BOOST_TEST(fs::is_regular_file(f1));
-    BOOST_TEST(fs::file_size(f1) == 7);
-    verify_file(f1, "file-f1");
-  }
-
-  //  directory_iterator_tests  --------------------------------------------------------//
-
-  void directory_iterator_tests()
-  {
-    cout << "directory_iterator_tests..." << endl;
-
-    bool dir_itr_exception(false);
-    try { fs::directory_iterator it(""); }
-    catch (const fs::filesystem_error &) { dir_itr_exception = true; }
-    BOOST_TEST(dir_itr_exception);
-
-    error_code ec;
-
-    BOOST_TEST(!ec);
-    fs::directory_iterator it("", ec);
-    BOOST_TEST(ec);
-
-    dir_itr_exception = false;
-    try { fs::directory_iterator it("nosuchdirectory"); }
-    catch (const fs::filesystem_error &) { dir_itr_exception = true; }
-    BOOST_TEST(dir_itr_exception);
-
-    ec.clear();
-    fs::directory_iterator it2("nosuchdirectory", ec);
-    BOOST_TEST(ec);
-
-    dir_itr_exception = false;
-    try
-    {
-      error_code ec;
-      fs::directory_iterator it("nosuchdirectory", ec);
-      BOOST_TEST(ec);
-      BOOST_TEST(ec == boost::system::errc::no_such_file_or_directory);
-    }
-    catch (const fs::filesystem_error &) { dir_itr_exception = true; }
-    BOOST_TEST(!dir_itr_exception);
-    
-    // create a second directory named d2
-    d2 = dir / "d2";
-    fs::create_directory(d2);
-    BOOST_TEST(fs::exists(d2));
-    BOOST_TEST(fs::is_directory(d2));
-
-    // test the basic operation of directory_iterators, and test that
-    // stepping one iterator doesn't affect a different iterator.
-    {
-      typedef std::vector<fs::directory_entry> vec_type;
-      vec_type vec;
-
-      fs::directory_iterator it1(dir);
-      BOOST_TEST(it1 != fs::directory_iterator());
-      BOOST_TEST(fs::exists(it1->status()));
-      vec.push_back(*it1);
-      BOOST_TEST(*it1 == vec[0]);
-
-      fs::directory_iterator it2(dir);
-      BOOST_TEST(it2 != fs::directory_iterator());
-      BOOST_TEST(*it1 == *it2);
-
-      ++it1;
-      BOOST_TEST(it1 != fs::directory_iterator());
-      BOOST_TEST(fs::exists(it1->status()));
-      BOOST_TEST(it1 != it2);
-      BOOST_TEST(*it1 != vec[0]);
-      BOOST_TEST(*it2 == vec[0]);
-      vec.push_back(*it1);
-
-      ++it1;
-      BOOST_TEST(it1 != fs::directory_iterator());
-      BOOST_TEST(fs::exists(it1->status()));
-      BOOST_TEST(it1 != it2);
-      BOOST_TEST(*it2 == vec[0]);
-      vec.push_back(*it1);
-
-      ++it1;
-      BOOST_TEST(it1 != fs::directory_iterator());
-      BOOST_TEST(fs::exists(it1->status()));
-      BOOST_TEST(it1 != it2);
-      BOOST_TEST(*it2 == vec[0]);
-      vec.push_back(*it1);
-
-      ++it1;
-      BOOST_TEST(it1 == fs::directory_iterator());
-
-      BOOST_TEST(*it2 == vec[0]);
-      ec.clear();
-      it2.increment(ec);
-      BOOST_TEST(!ec);
-      BOOST_TEST(it2 != fs::directory_iterator());
-      BOOST_TEST(it1 == fs::directory_iterator());
-      BOOST_TEST(*it2 == vec[1]);
-      ++it2;
-      BOOST_TEST(*it2 == vec[2]);
-      BOOST_TEST(it1 == fs::directory_iterator());
-      ++it2;
-      BOOST_TEST(*it2 == vec[3]);
-      ++it2;
-      BOOST_TEST(it1 == fs::directory_iterator());
-      BOOST_TEST(it2 == fs::directory_iterator());
-
-      // sort vec and check that the right directory entries were found
-      std::sort(vec.begin(), vec.end());
-
-      BOOST_TEST_EQ(vec[0].path().filename().string(), std::string("d1"));
-      BOOST_TEST_EQ(vec[1].path().filename().string(), std::string("d2"));
-      BOOST_TEST_EQ(vec[2].path().filename().string(), std::string("f0"));
-      BOOST_TEST_EQ(vec[3].path().filename().string(), std::string("f1"));
-    }
-
-    { // *i++ must meet the standard's InputIterator requirements
-      fs::directory_iterator dir_itr(dir);
-      BOOST_TEST(dir_itr != fs::directory_iterator());
-      fs::path p = dir_itr->path();
-      BOOST_TEST((*dir_itr++).path() == p);
-      BOOST_TEST(dir_itr != fs::directory_iterator());
-      BOOST_TEST(dir_itr->path() != p);
-
-      // test case reported in comment to SourceForge bug tracker [937606]
-      fs::directory_iterator it(dir);
-      const fs::path p1 = (*it++).path();
-      BOOST_TEST(it != fs::directory_iterator());
-      const fs::path p2 = (*it++).path();
-      BOOST_TEST(p1 != p2);
-      ++it;
-      ++it;
-      BOOST_TEST(it == fs::directory_iterator());
-    }
-
-    //  Windows has a tricky special case when just the root-name is given,
-    //  causing the rest of the path to default to the current directory.
-    //  Reported as S/F bug [ 1259176 ]
-    if (platform == "Windows")
-    {
-      fs::path root_name_path(fs::current_path().root_name());
-      fs::directory_iterator it(root_name_path);
-      BOOST_TEST(it != fs::directory_iterator());
-//      BOOST_TEST(fs::exists((*it).path()));
-      BOOST_TEST(fs::exists(it->path()));
-      BOOST_TEST(it->path().parent_path() == root_name_path);
-      bool found(false);
-      do
-      {
-        if (it->path().filename() == temp_dir_name) found = true;
-      } while (++it != fs::directory_iterator());
-      BOOST_TEST(found);
-    }
-
-    // there was an inital bug in directory_iterator that caused premature
-    // close of an OS handle. This block will detect regression.
-    {
-      fs::directory_iterator di;
-      { 
-        di = fs::directory_iterator(dir);
-      }
-      BOOST_TEST(++di != fs::directory_iterator());
-    }
-
-    cout << "  directory_iterator_tests complete" << endl;
-  }
-
-  //  recursive_directory_iterator_tests  ----------------------------------------------//
-
-  int walk_tree(bool recursive)
-  {
-    int d1f1_count = 0;
-    for (fs::recursive_directory_iterator it (dir,
-      recursive ? fs::symlink_option::recurse : fs::symlink_option::no_recurse);
-         it != fs::recursive_directory_iterator();
-         ++it)
-    {
-      if (it->path().filename() == "d1f1")
-        ++d1f1_count;
-    }
-    return d1f1_count;
-  }
-
-  void recursive_directory_iterator_tests()
-  {
-    cout << "recursive_directory_iterator_tests..." << endl;
-    BOOST_TEST(walk_tree(false) == 1);
-    if (create_symlink_ok)
-      BOOST_TEST(walk_tree(true) > 1);
-    cout << "  recursive_directory_iterator_tests complete" << endl;
-  }
-
-  //  iterator_status_tests  -----------------------------------------------------------//
-
-  void iterator_status_tests()
-  {
-    cout << "iterator_status_tests..." << endl;
-
-    error_code ec;
-    // harmless if these fail:
-    fs::create_symlink(dir/"f0", dir/"f0_symlink", ec);
-    fs::create_symlink(dir/"no such file", dir/"dangling_symlink", ec);
-    fs::create_directory_symlink(dir/"d1", dir/"d1_symlink", ec);
-    fs::create_directory_symlink(dir/"no such directory",
-      dir/"dangling_directory_symlink", ec);
-
-    for (fs::directory_iterator it(dir);
-          it != fs::directory_iterator(); ++it)
-    {
-      BOOST_TEST(fs::status(it->path()).type() == it->status().type());
-      BOOST_TEST(fs::symlink_status(it->path()).type() == it->symlink_status().type());
-      if (it->path().filename() == "d1")
-      {
-        BOOST_TEST(fs::is_directory(it->status()));
-        BOOST_TEST(fs::is_directory(it->symlink_status()));
-      }
-      else if (it->path().filename() == "d2")
-      {
-        BOOST_TEST(fs::is_directory(it->status()));
-        BOOST_TEST(fs::is_directory(it->symlink_status()));
-      }
-      else if (it->path().filename() == "f0")
-      {
-        BOOST_TEST(fs::is_regular_file(it->status()));
-        BOOST_TEST(fs::is_regular_file(it->symlink_status()));
-      }
-      else if (it->path().filename() == "f1")
-      {
-        BOOST_TEST(fs::is_regular_file(it->status()));
-        BOOST_TEST(fs::is_regular_file(it->symlink_status()));
-      }
-      else if (it->path().filename() == "f0_symlink")
-      {
-        BOOST_TEST(fs::is_regular_file(it->status()));
-        BOOST_TEST(fs::is_symlink(it->symlink_status()));
-      }
-      else if (it->path().filename() == "dangling_symlink")
-      {
-        BOOST_TEST(it->status().type() == fs::file_not_found);
-        BOOST_TEST(fs::is_symlink(it->symlink_status()));
-      }
-      else if (it->path().filename() == "d1_symlink")
-      {
-        BOOST_TEST(fs::is_directory(it->status()));
-        BOOST_TEST(fs::is_symlink(it->symlink_status()));
-      }
-      else if (it->path().filename() == "dangling_directory_symlink")
-      {
-        BOOST_TEST(it->status().type() == fs::file_not_found);
-        BOOST_TEST(fs::is_symlink(it->symlink_status()));
-      }
-      //else
-      //  cout << "    Note: unexpected directory entry " << it->path().filename() << endl;
-    }
-  }
-  
-  //  recursive_iterator_status_tests  -------------------------------------------------//
-
-  void recursive_iterator_status_tests()
-  {
-    cout << "recursive_iterator_status_tests..." << endl;
-    for (fs::recursive_directory_iterator it (dir);
-         it != fs::recursive_directory_iterator();
-         ++it)
-    {
-      BOOST_TEST(fs::status(it->path()).type() == it->status().type());
-      BOOST_TEST(fs::symlink_status(it->path()).type() == it->symlink_status().type());
-    }
-  }
-  
-  //  create_hard_link_tests  ----------------------------------------------------------//
-
-  void create_hard_link_tests()
-  {
-    cout << "create_hard_link_tests..." << endl;
-
-    fs::path from_ph(dir / "f3");
-    fs::path f1(dir / "f1");
-
-    BOOST_TEST(!fs::exists(from_ph));
-    BOOST_TEST(fs::exists(f1));
-    bool create_hard_link_ok(true);
-    try { fs::create_hard_link(f1, from_ph); }
-    catch (const fs::filesystem_error & ex)
-    {
-      create_hard_link_ok = false;
-      cout
-        << "     *** For information only ***\n"
-           "     create_hard_link() attempt failed\n"
-           "     filesystem_error.what() reports: " << ex.what() << "\n"
-           "     create_hard_link() may not be supported on this file system\n";
-    }
-
-    if (create_hard_link_ok)
-    {
-      cout
-        << "     *** For information only ***\n"
-           "     create_hard_link() succeeded\n";
-      BOOST_TEST(fs::exists(from_ph));
-      BOOST_TEST(fs::exists(f1));
-      BOOST_TEST(fs::equivalent(from_ph, f1));
-      BOOST_TEST(fs::hard_link_count(from_ph) == 2);
-      BOOST_TEST(fs::hard_link_count(f1) == 2);
-    }
-
-    //  Although tests may be running on a FAT or other file system that does
-    //  not support hard links, that is unusual enough that it is considered
-    //  a test failure.
-    BOOST_TEST(create_hard_link_ok);
-
-    error_code ec;
-    fs::create_hard_link(fs::path("doesnotexist"),
-      fs::path("shouldnotwork"), ec);
-    BOOST_TEST(ec);
-  }
-  
-  //  create_symlink_tests  ------------------------------------------------------------//
-
-  void create_symlink_tests()
-  {
-    cout << "create_symlink_tests..." << endl;
-
-    fs::path from_ph(dir / "f4");
-    fs::path f1(dir / "f1");
-    BOOST_TEST(!fs::exists(from_ph));
-    BOOST_TEST(fs::exists(f1));
-    try { fs::create_symlink(f1, from_ph); }
-    catch (const fs::filesystem_error & ex)
-    {
-      create_symlink_ok = false;
-      cout                             
-        << "     *** For information only ***\n"
-           "     create_symlink() attempt failed\n"
-           "     filesystem_error.what() reports: " << ex.what() << "\n"
-           "     create_symlink() may not be supported on this operating system or file system\n";
-    }
-
-    if (create_symlink_ok)
-    {
-      cout
-        << "     *** For information only ***\n"
-           "     create_symlink() succeeded\n";
-      BOOST_TEST(fs::exists(from_ph));
-      BOOST_TEST(fs::is_symlink(from_ph));
-      BOOST_TEST(fs::exists(f1));
-      BOOST_TEST(fs::equivalent(from_ph, f1));
-      BOOST_TEST(fs::read_symlink(from_ph) == f1);
-
-      fs::file_status stat = fs::symlink_status(from_ph);
-      BOOST_TEST(fs::exists(stat));
-      BOOST_TEST(!fs::is_directory(stat));
-      BOOST_TEST(!fs::is_regular_file(stat));
-      BOOST_TEST(!fs::is_other(stat));
-      BOOST_TEST(fs::is_symlink(stat));
-
-      stat = fs::status(from_ph);
-      BOOST_TEST(fs::exists(stat));
-      BOOST_TEST(!fs::is_directory(stat));
-      BOOST_TEST(fs::is_regular_file(stat));
-      BOOST_TEST(!fs::is_other(stat));
-      BOOST_TEST(!fs::is_symlink(stat));
-       
-      // since create_symlink worked, copy_symlink should also work
-      fs::path symlink2_ph(dir / "symlink2");
-      fs::copy_symlink(from_ph, symlink2_ph);
-      stat = fs::symlink_status(symlink2_ph);
-      BOOST_TEST(fs::is_symlink(stat));
-      BOOST_TEST(fs::exists(stat));
-      BOOST_TEST(!fs::is_directory(stat));
-      BOOST_TEST(!fs::is_regular_file(stat));
-      BOOST_TEST(!fs::is_other(stat));
-    }
-
-    error_code ec = error_code();
-    fs::create_symlink("doesnotexist", "", ec);
-    BOOST_TEST(ec);
-  }
-  
-  //  rename_tests  --------------------------------------------------------------------//
-
-  void rename_tests()
-  {
-    cout << "rename_tests..." << endl;
-
-    fs::path f1(dir / "f1");
-    BOOST_TEST(fs::exists(f1));
-
-    // error: rename a non-existent old file
-    BOOST_TEST(!fs::exists(d1 / "f99"));
-    BOOST_TEST(!fs::exists(d1 / "f98"));
-    renamer n1a(d1 / "f99", d1 / "f98");
-    BOOST_TEST(CHECK_EXCEPTION(n1a, ENOENT));
-    renamer n1b(fs::path(""), d1 / "f98");
-    BOOST_TEST(CHECK_EXCEPTION(n1b, ENOENT));
-
-    // error: rename an existing file to ""
-    renamer n2(f1, "");
-    BOOST_TEST(CHECK_EXCEPTION(n2, ENOENT));
-
-    // rename an existing file to an existent file
-    create_file(dir / "ff1", "ff1");
-    create_file(dir / "ff2", "ff2");
-    fs::rename(dir / "ff2", dir / "ff1");
-    BOOST_TEST(fs::exists(dir / "ff1"));
-    verify_file(dir / "ff1", "ff2");
-    BOOST_TEST(!fs::exists(dir / "ff2"));
-
-    // rename an existing file to itself
-    BOOST_TEST(fs::exists(dir / "f1"));
-    fs::rename(dir / "f1", dir / "f1");
-    BOOST_TEST(fs::exists(dir / "f1"));
-
-    // error: rename an existing directory to an existing non-empty directory
-    BOOST_TEST(fs::exists(dir / "f1"));
-    BOOST_TEST(fs::exists(d1 / "f2"));
-    // several POSIX implementations (cygwin, openBSD) report ENOENT instead of EEXIST,
-    // so we don't verify error type on the following test.
-    renamer n3b(dir, d1);
-    BOOST_TEST(CHECK_EXCEPTION(n3b, 0));
-
-    //  error: move existing file to a nonexistent parent directory
-    BOOST_TEST(!fs::is_directory(dir / "f1"));
-    BOOST_TEST(!fs::exists(dir / "d3/f3"));
-    renamer n4a(dir / "f1", dir / "d3/f3");
-    BOOST_TEST(CHECK_EXCEPTION(n4a, ENOENT));
-
-    // rename existing file in same directory
-    BOOST_TEST(fs::exists(d1 / "f2"));
-    BOOST_TEST(!fs::exists(d1 / "f50"));
-    fs::rename(d1 / "f2", d1 / "f50");
-    BOOST_TEST(!fs::exists(d1 / "f2"));
-    BOOST_TEST(fs::exists(d1 / "f50"));
-    fs::rename(d1 / "f50", d1 / "f2");
-    BOOST_TEST(fs::exists(d1 / "f2"));
-    BOOST_TEST(!fs::exists(d1 / "f50"));
-
-    // move and rename an existing file to a different directory
-    fs::rename(d1 / "f2", d2 / "f3");
-    BOOST_TEST(!fs::exists(d1 / "f2"));
-    BOOST_TEST(!fs::exists(d2 / "f2"));
-    BOOST_TEST(fs::exists(d2 / "f3"));
-    BOOST_TEST(!fs::is_directory(d2 / "f3"));
-    verify_file(d2 / "f3", "file-f1");
-    fs::rename(d2 / "f3", d1 / "f2");
-    BOOST_TEST(fs::exists(d1 / "f2"));
-
-    // error: move existing directory to nonexistent parent directory
-    BOOST_TEST(fs::exists(d1));
-    BOOST_TEST(!fs::exists(dir / "d3/d5"));
-    BOOST_TEST(!fs::exists(dir / "d3"));
-    renamer n5a(d1, dir / "d3/d5");
-    BOOST_TEST(CHECK_EXCEPTION(n5a, ENOENT));
-
-    // rename existing directory
-    fs::path d3(dir / "d3");
-    BOOST_TEST(fs::exists(d1));
-    BOOST_TEST(fs::exists(d1 / "f2"));
-    BOOST_TEST(!fs::exists(d3));
-    fs::rename(d1, d3);
-    BOOST_TEST(!fs::exists(d1));
-    BOOST_TEST(fs::exists(d3));
-    BOOST_TEST(fs::is_directory(d3));
-    BOOST_TEST(!fs::exists(d1 / "f2"));
-    BOOST_TEST(fs::exists(d3 / "f2"));
-    fs::rename(d3, d1);
-    BOOST_TEST(fs::exists(d1));
-    BOOST_TEST(fs::exists(d1 / "f2"));
-    BOOST_TEST(!fs::exists(d3));
-
-    // rename and move d1 to d2 / "d20"
-    BOOST_TEST(fs::exists(d1));
-    BOOST_TEST(!fs::exists(d2 / "d20"));
-    BOOST_TEST(fs::exists(d1 / "f2"));
-    fs::rename(d1, d2 / "d20");
-    BOOST_TEST(!fs::exists(d1));
-    BOOST_TEST(fs::exists(d2 / "d20"));
-    BOOST_TEST(fs::exists(d2 / "d20" / "f2"));
-    fs::rename(d2 / "d20", d1);
-    BOOST_TEST(fs::exists(d1));
-    BOOST_TEST(!fs::exists(d2 / "d20"));
-    BOOST_TEST(fs::exists(d1 / "f2"));
-  }
-  
-  //  predicate_and_status_tests  ------------------------------------------------------//
-
-  void predicate_and_status_tests()
-  {
-    cout << "predicate_and_status_tests..." << endl;
-
-    BOOST_TEST(!fs::exists(ng));
-    BOOST_TEST(!fs::is_directory(ng));
-    BOOST_TEST(!fs::is_regular_file(ng));
-    BOOST_TEST(!fs::is_symlink(ng));
-    fs::file_status stat(fs::status(ng));
-    BOOST_TEST(fs::status_known(stat));
-    BOOST_TEST(!fs::exists(stat));
-    BOOST_TEST(!fs::is_directory(stat));
-    BOOST_TEST(!fs::is_regular_file(stat));
-    BOOST_TEST(!fs::is_other(stat));
-    BOOST_TEST(!fs::is_symlink(stat));
-    stat = fs::status("");
-    BOOST_TEST(fs::status_known(stat));
-    BOOST_TEST(!fs::exists(stat));
-    BOOST_TEST(!fs::is_directory(stat));
-    BOOST_TEST(!fs::is_regular_file(stat));
-    BOOST_TEST(!fs::is_other(stat));
-    BOOST_TEST(!fs::is_symlink(stat));
-  }
-  
-  //  create_directory_tests  ----------------------------------------------------------//
-
-  void create_directory_tests()
-  {
-    cout << "create_directory_tests..." << endl;
-
-    // create a directory, then check it for consistency
-    //   take extra care to report problems, since if this fails
-    //   many subsequent tests will fail
-    try
-    {
-      fs::create_directory(dir);
-    }
-
-    catch (const fs::filesystem_error & x)
-    {
-      cout << x.what() << "\n\n"
-         "***** Creating directory " << dir << " failed.   *****\n"
-         "***** This is a serious error that will prevent further tests    *****\n"
-         "***** from returning useful results. Further testing is aborted. *****\n\n";
-      std::exit(1);
-    }
-
-    catch (...)
-    {
-      cout << "\n\n"
-         "***** Creating directory " << dir << " failed.   *****\n"
-         "***** This is a serious error that will prevent further tests    *****\n"
-         "***** from returning useful results. Further testing is aborted. *****\n\n";
-      std::exit(1);
-    }
-
-    BOOST_TEST(fs::exists(dir));
-    BOOST_TEST(fs::is_empty(dir));
-    BOOST_TEST(fs::is_directory(dir));
-    BOOST_TEST(!fs::is_regular_file(dir));
-    BOOST_TEST(!fs::is_other(dir));
-    BOOST_TEST(!fs::is_symlink(dir));
-    fs::file_status stat = fs::status(dir);
-    BOOST_TEST(fs::exists(stat));
-    BOOST_TEST(fs::is_directory(stat));
-    BOOST_TEST(!fs::is_regular_file(stat));
-    BOOST_TEST(!fs::is_other(stat));
-    BOOST_TEST(!fs::is_symlink(stat));
-
-    cout << "  create_directory_tests complete" << endl;
-  }
-  
-  //  current_directory_tests  ---------------------------------------------------------//
-
-  void current_directory_tests()
-  {
-    cout << "current_directory_tests..." << endl;
-
-    // set the current directory, then check it for consistency
-    fs::path original_dir = fs::current_path();
-    BOOST_TEST(dir != original_dir);
-    fs::current_path(dir);
-    BOOST_TEST(fs::current_path() == dir);
-    BOOST_TEST(fs::current_path() != original_dir);
-    fs::current_path(original_dir);
-    BOOST_TEST(fs::current_path() == original_dir);
-    BOOST_TEST(fs::current_path() != dir);
-
-    // make sure the overloads work
-    fs::current_path(dir.c_str());
-    BOOST_TEST(fs::current_path() == dir);
-    BOOST_TEST(fs::current_path() != original_dir);
-    fs::current_path(original_dir.string());
-    BOOST_TEST(fs::current_path() == original_dir);
-    BOOST_TEST(fs::current_path() != dir);
-  }
-
-  //  create_directories_tests  --------------------------------------------------------//
-
-  void create_directories_tests()
-  {
-    cout << "create_directories_tests..." << endl;
-
-    fs::path p = dir / "level1" / "level2";
-
-    BOOST_TEST(!fs::exists(p));
-    BOOST_TEST(fs::create_directories(p));
-    BOOST_TEST(fs::exists(p));
-    BOOST_TEST(fs::is_directory(p));
-  }
-
-  //  resize_file_tests  ---------------------------------------------------------------//
-
-  void resize_file_tests()
-  {
-    cout << "resize_file_tests..." << endl;
-
-    fs::path p(dir / "resize_file_test.txt");
-
-    fs::remove(p);
-    create_file(p, "1234567890");
-
-    BOOST_TEST(fs::exists(p));
-    BOOST_TEST_EQ(fs::file_size(p), 10U);
-    fs::resize_file(p, 5);
-    BOOST_TEST(fs::exists(p));
-    BOOST_TEST_EQ(fs::file_size(p), 5U);
-    fs::resize_file(p, 15);
-    BOOST_TEST(fs::exists(p));
-    BOOST_TEST_EQ(fs::file_size(p), 15U);
-
-    error_code ec;
-    fs::resize_file("no such file", 15, ec);
-    BOOST_TEST(ec);
-  }
-
-  //  status_of_nonexistent_tests  -----------------------------------------------------//
-
-  void status_of_nonexistent_tests()
-  {
-    cout << "status_of_nonexistent_tests..." << endl;
-    fs::path p ("nosuch");
-    BOOST_TEST(!fs::exists(p));
-    BOOST_TEST(!fs::is_regular_file(p));
-    BOOST_TEST(!fs::is_directory(p));
-    BOOST_TEST(!fs::is_symlink(p));
-    BOOST_TEST(!fs::is_other(p));
-
-    fs::file_status s = fs::status(p);
-    BOOST_TEST(!fs::exists(s));
-    BOOST_TEST_EQ(s.type(), fs::file_not_found);
-    BOOST_TEST(fs::status_known(s));
-    BOOST_TEST(!fs::is_regular_file(s));
-    BOOST_TEST(!fs::is_directory(s));
-    BOOST_TEST(!fs::is_symlink(s));
-    BOOST_TEST(!fs::is_other(s));
-  }
-
-  //  status_error_reporting_tests  ----------------------------------------------------//
-
-  void status_error_reporting_tests()
-  {
-    cout << "status_error_reporting_tests..." << endl;
-
-    error_code ec;
-
-    // test status, ec, for existing file
-    ec.assign(-1,poison_category());
-    BOOST_TEST(ec.value() == -1);
-    BOOST_TEST(&ec.category() == &poison_category()); 
-    fs::file_status s = fs::status(".",ec);
-    BOOST_TEST(ec.value() == 0);
-    BOOST_TEST(ec.category() == system_category()); 
-    BOOST_TEST(fs::exists(s));
-    BOOST_TEST(fs::is_directory(s));
-
-    // test status, ec, for non-existing file
-    fs::path p ("nosuch");
-    ec.assign(-1,poison_category());
-    s = fs::status(p,ec);
-    BOOST_TEST(ec.value() != 0);
-    BOOST_TEST(ec.category() == system_category()); 
-
-    BOOST_TEST(!fs::exists(s));
-    BOOST_TEST_EQ(s.type(), fs::file_not_found);
-    BOOST_TEST(fs::status_known(s));
-    BOOST_TEST(!fs::is_regular_file(s));
-    BOOST_TEST(!fs::is_directory(s));
-    BOOST_TEST(!fs::is_symlink(s));
-    BOOST_TEST(!fs::is_other(s));
-
-    // test queries, ec, for existing file
-    ec.assign(-1,poison_category());
-    BOOST_TEST(fs::exists(".", ec));
-    BOOST_TEST(ec.value() == 0);
-    BOOST_TEST(ec.category() == system_category()); 
-    ec.assign(-1,poison_category());
-    BOOST_TEST(!fs::is_regular_file(".", ec));
-    BOOST_TEST(ec.value() == 0);
-    BOOST_TEST(ec.category() == system_category()); 
-    ec.assign(-1,poison_category());
-    BOOST_TEST(fs::is_directory(".", ec));
-    BOOST_TEST(ec.value() == 0);
-    BOOST_TEST(ec.category() == system_category()); 
-
-    // test queries, ec, for non-existing file
-    ec.assign(-1,poison_category());
-    BOOST_TEST(!fs::exists(p, ec));
-    BOOST_TEST(ec.value() != 0);
-    BOOST_TEST(ec.category() == system_category()); 
-    ec.assign(-1,poison_category());
-    BOOST_TEST(!fs::is_regular_file(p, ec));
-    BOOST_TEST(ec.value() != 0);
-    BOOST_TEST(ec.category() == system_category()); 
-    ec.assign(-1,poison_category());
-    BOOST_TEST(!fs::is_directory(p, ec));
-    BOOST_TEST(ec.value() != 0);
-    BOOST_TEST(ec.category() == system_category()); 
-  }
-
-  //  remove_tests  --------------------------------------------------------------------//
-
-  void remove_tests(const fs::path& dir)
-  {
-    cout << "remove_tests..." << endl;
-
-    // remove() file
-    fs::path f1 = dir / "shortlife";
-    BOOST_TEST(!fs::exists(f1));
-    create_file(f1, "");
-    BOOST_TEST(fs::exists(f1));
-    BOOST_TEST(!fs::is_directory(f1));
-    BOOST_TEST(fs::remove(f1));
-    BOOST_TEST(!fs::exists(f1));
-    BOOST_TEST(!fs::remove("no-such-file"));
-    BOOST_TEST(!fs::remove("no-such-directory/no-such-file"));
-
-    // remove() directory
-    fs::path d1 = dir / "shortlife_dir";
-    BOOST_TEST(!fs::exists(d1));
-    fs::create_directory(d1);
-    BOOST_TEST(fs::exists(d1));
-    BOOST_TEST(fs::is_directory(d1));
-    BOOST_TEST(fs::is_empty(d1));
-    bad_remove_dir = dir;
-    BOOST_TEST(CHECK_EXCEPTION(bad_remove, ENOTEMPTY));
-    BOOST_TEST(fs::remove(d1));
-    BOOST_TEST(!fs::exists(d1));
-  }
-
-  //  remove_symlink_tests  ------------------------------------------------------------//
-      
-  void remove_symlink_tests()
-  {
-    cout << "remove_symlink_tests..." << endl;
-
-    // remove() dangling symbolic link
-    fs::path link("dangling_link");
-    fs::remove(link);  // remove any residue from past tests
-    BOOST_TEST(!fs::is_symlink(link));
-    BOOST_TEST(!fs::exists(link));
-    fs::create_symlink("nowhere", link);
-    BOOST_TEST(!fs::exists(link));
-    BOOST_TEST(fs::is_symlink(link));
-    BOOST_TEST(fs::remove(link));
-    BOOST_TEST(!fs::is_symlink(link));
-
-    // remove() self-refering symbolic link
-    link = "link_to_self";
-    fs::remove(link);  // remove any residue from past tests
-    BOOST_TEST(!fs::is_symlink(link));
-    BOOST_TEST(!fs::exists(link));
-    fs::create_symlink(link, link);
-    BOOST_TEST(fs::remove(link));
-    BOOST_TEST(!fs::exists(link));
-    BOOST_TEST(!fs::is_symlink(link));
-
-    // remove() cyclic symbolic link
-    link = "link_to_a";
-    fs::path link2("link_to_b");
-    fs::remove(link);   // remove any residue from past tests
-    fs::remove(link2);  // remove any residue from past tests
-    BOOST_TEST(!fs::is_symlink(link));
-    BOOST_TEST(!fs::exists(link));
-    fs::create_symlink(link, link2);
-    fs::create_symlink(link2, link);
-    BOOST_TEST(fs::remove(link));
-    BOOST_TEST(fs::remove(link2));
-    BOOST_TEST(!fs::exists(link));
-    BOOST_TEST(!fs::exists(link2));
-    BOOST_TEST(!fs::is_symlink(link));
-
-    // remove() symbolic link to file
-    fs::path f1 = "link_target";
-    fs::remove(f1);  // remove any residue from past tests
-    BOOST_TEST(!fs::exists(f1));
-    create_file(f1, "");
-    BOOST_TEST(fs::exists(f1));
-    BOOST_TEST(!fs::is_directory(f1));
-    BOOST_TEST(fs::is_regular_file(f1));
-    link = "non_dangling_link";
-    fs::create_symlink(f1, link);
-    BOOST_TEST(fs::exists(link));
-    BOOST_TEST(!fs::is_directory(link));
-    BOOST_TEST(fs::is_regular_file(link));
-    BOOST_TEST(fs::is_symlink(link));
-    BOOST_TEST(fs::remove(link));
-    BOOST_TEST(fs::exists(f1));
-    BOOST_TEST(!fs::exists(link));
-    BOOST_TEST(!fs::is_symlink(link));
-    BOOST_TEST(fs::remove(f1));
-    BOOST_TEST(!fs::exists(f1));
-  }
-
-  //  absolute_tests  -----------------------------------------------------------------//
-
-  void absolute_tests()
-  {
-    cout << "absolute_tests..." << endl;
-
-    BOOST_TEST_EQ(fs::absolute(""), fs::current_path() );
-    BOOST_TEST_EQ(fs::absolute("", ""), fs::current_path() );
-    BOOST_TEST_EQ(fs::absolute(fs::current_path() / "foo/bar"), fs::current_path() / "foo/bar");
-    BOOST_TEST_EQ(fs::absolute("foo"), fs::current_path() / "foo");
-    BOOST_TEST_EQ(fs::absolute("foo", fs::current_path()), fs::current_path() / "foo");
-    BOOST_TEST_EQ(fs::absolute("bar", "foo"), fs::current_path() / "foo" / "bar");
-    BOOST_TEST_EQ(fs::absolute("/foo"), fs::current_path().root_path().string() + "foo");
-
-#  ifdef BOOST_WINDOWS_API
-    BOOST_TEST_EQ(fs::absolute("a:foo", "b:/bar"), "a:/bar/foo");
-#  endif
-
-    // these tests were moved from elsewhere, so may duplicate some of the above tests
-
-    // p.empty()
-      BOOST_TEST_EQ(fs::absolute(fs::path(), "//foo/bar"), "//foo/bar");
-      if (platform == "Windows")
-      {
-        BOOST_TEST_EQ(fs::absolute(fs::path(), "a:/bar"), "a:/bar");
-      }
-
-    // p.has_root_name()
-      //   p.has_root_directory()
-        BOOST_TEST_EQ(fs::absolute(fs::path("//foo/bar"), "//uvw/xyz"), "//foo/bar");
-        if (platform == "Windows")
-        {
-          BOOST_TEST_EQ(fs::absolute(fs::path("a:/bar"), "b:/xyz"), "a:/bar");
-        }
-      //   !p.has_root_directory()
-        BOOST_TEST_EQ(fs::absolute(fs::path("//net"), "//xyz/"), "//net/");
-        BOOST_TEST_EQ(fs::absolute(fs::path("//net"), "//xyz/abc"), "//net/abc");
-        BOOST_TEST_EQ(fs::absolute(fs::path("//net"), "//xyz/abc/def"), "//net/abc/def");
-        if (platform == "Windows")
-        {
-          BOOST_TEST_EQ(fs::absolute(fs::path("a:"), "b:/"), "a:/");
-          BOOST_TEST_EQ(fs::absolute(fs::path("a:"),"b:/abc"), "a:/abc");
-          BOOST_TEST_EQ(fs::absolute(fs::path("a:"),"b:/abc/def"), "a:/abc/def");
-          BOOST_TEST_EQ(fs::absolute(fs::path("a:foo"), "b:/"), "a:/foo");
-          BOOST_TEST_EQ(fs::absolute(fs::path("a:foo"), "b:/abc"), "a:/abc/foo");
-          BOOST_TEST_EQ(fs::absolute(fs::path("a:foo"), "b:/abc/def"), "a:/abc/def/foo");
-          BOOST_TEST_EQ(fs::absolute(fs::path("a:foo/bar"), "b:/"), "a:/foo/bar");
-          BOOST_TEST_EQ(fs::absolute(fs::path("a:foo/bar"), "b:/abc"), "a:/abc/foo/bar");
-          BOOST_TEST_EQ(fs::absolute(fs::path("a:foo/bar"), "b:/abc/def"), "a:/abc/def/foo/bar");
-        }
-    // !p.has_root_name()
-      //   p.has_root_directory()
-        BOOST_TEST_EQ(fs::absolute(fs::path("/"), "//xyz/"), "//xyz/");
-        BOOST_TEST_EQ(fs::absolute(fs::path("/"), "//xyz/abc"), "//xyz/");
-        BOOST_TEST_EQ(fs::absolute(fs::path("/foo"), "//xyz/"), "//xyz/foo");
-        BOOST_TEST_EQ(fs::absolute(fs::path("/foo"), "//xyz/abc"), "//xyz/foo");
-      //   !p.has_root_directory()
-        BOOST_TEST_EQ(fs::absolute(fs::path("foo"), "//xyz/abc"), "//xyz/abc/foo");
-        BOOST_TEST_EQ(fs::absolute(fs::path("foo/bar"), "//xyz/abc"), "//xyz/abc/foo/bar");
-        BOOST_TEST_EQ(fs::absolute(fs::path("."), "//xyz/abc"), "//xyz/abc/.");
-        BOOST_TEST_EQ(fs::absolute(fs::path(".."), "//xyz/abc"), "//xyz/abc/..");
-        BOOST_TEST_EQ(fs::absolute(fs::path("./foo"), "//xyz/abc"), "//xyz/abc/./foo");
-        BOOST_TEST_EQ(fs::absolute(fs::path("../foo"), "//xyz/abc"), "//xyz/abc/../foo");
-        if (platform == "POSIX")
-        {
-          BOOST_TEST_EQ(fs::absolute(fs::path("foo"), "/abc"), "/abc/foo");
-          BOOST_TEST_EQ(fs::absolute(fs::path("foo/bar"), "/abc"), "/abc/foo/bar");
-          BOOST_TEST_EQ(fs::absolute(fs::path("."), "/abc"), "/abc/.");
-          BOOST_TEST_EQ(fs::absolute(fs::path(".."), "/abc"), "/abc/..");
-          BOOST_TEST_EQ(fs::absolute(fs::path("./foo"), "/abc"), "/abc/./foo");
-          BOOST_TEST_EQ(fs::absolute(fs::path("../foo"), "/abc"), "/abc/../foo");
-        }
-
-  }
-
-  //  canonical_basic_tests  -----------------------------------------------------------//
-
-  void canonical_basic_tests()
-  {
-    cout << "canonical_basic_tests..." << endl;
-
-    // error handling
-    error_code ec;
-    ec.clear();
-    fs::canonical("no-such-file", ec);
-    BOOST_TEST(ec);
-    ec.clear();
-    fs::canonical("no-such-file", "x", ec);
-    BOOST_TEST(ec);
-    bool ok(false);
-    try { fs::canonical("no-such-file"); }
-    catch (const fs::filesystem_error&) { ok = true; }
-    BOOST_TEST(ok);
-
-    // non-symlink tests; also see canonical_symlink_tests()
-    BOOST_TEST_EQ(fs::canonical(""), fs::current_path());
-    BOOST_TEST_EQ(fs::canonical("", fs::current_path()), fs::current_path());
-    BOOST_TEST_EQ(fs::canonical("", ""), fs::current_path());
-    BOOST_TEST_EQ(fs::canonical(fs::current_path()), fs::current_path());
-    BOOST_TEST_EQ(fs::canonical(fs::current_path(), ""), fs::current_path());
-    BOOST_TEST_EQ(fs::canonical(fs::current_path(), "no-such-file"), fs::current_path());
-
-    BOOST_TEST_EQ(fs::canonical("."), fs::current_path());
-    BOOST_TEST_EQ(fs::canonical(".."), fs::current_path().parent_path());
-    BOOST_TEST_EQ(fs::canonical("/"), fs::current_path().root_path());
-
-    fs::path relative_dir(dir.filename());
-    BOOST_TEST_EQ(fs::canonical(dir), dir);
-    BOOST_TEST_EQ(fs::canonical(relative_dir), dir);
-    BOOST_TEST_EQ(fs::canonical(dir / "f0"), dir / "f0");
-    BOOST_TEST_EQ(fs::canonical(relative_dir / "f0"), dir / "f0");
-    BOOST_TEST_EQ(fs::canonical(relative_dir / "./f0"), dir / "f0");
-    BOOST_TEST_EQ(fs::canonical(relative_dir / "d1/../f0"), dir / "f0");
-  }
-
-  //  canonical_symlink_tests  -----------------------------------------------------------//
-
-  void canonical_symlink_tests()
-  {
-    cout << "canonical_symlink_tests..." << endl;
-
-    fs::path relative_dir(dir.filename());
-    BOOST_TEST_EQ(fs::canonical(dir / "sym-d1/f2"), d1 / "f2");
-    BOOST_TEST_EQ(fs::canonical(relative_dir / "sym-d1/f2"), d1 / "f2");
-  }
-
- //  copy_file_tests  ------------------------------------------------------------------//
-
-  void copy_file_tests(const fs::path& f1, const fs::path& d1)
-  {
-    cout << "copy_file_tests..." << endl;
-
-    BOOST_TEST(fs::exists(f1));
-    fs::remove(d1 / "f2");  // remove possible residue from prior testing
-    BOOST_TEST(fs::exists(d1));
-    BOOST_TEST(!fs::exists(d1 / "f2"));
-    cout << " copy " << f1 << " to " << d1 / "f2" << endl;
-    fs::copy_file(f1, d1 / "f2");
-    cout << " copy complete" << endl;
-    BOOST_TEST(fs::exists(f1));
-    BOOST_TEST(fs::exists(d1 / "f2"));
-    BOOST_TEST(!fs::is_directory(d1 / "f2"));
-    verify_file(d1 / "f2", "file-f1");
-
-    bool copy_ex_ok = false;
-    try { fs::copy_file(f1, d1 / "f2"); }
-    catch (const fs::filesystem_error &) { copy_ex_ok = true; }
-    BOOST_TEST(copy_ex_ok);
-
-    copy_ex_ok = false;
-    try { fs::copy_file(f1, d1 / "f2", fs::copy_option::fail_if_exists); }
-    catch (const fs::filesystem_error &) { copy_ex_ok = true; }
-    BOOST_TEST(copy_ex_ok);
-
-    create_file(d1 / "f2", "1234567890");
-    BOOST_TEST_EQ(fs::file_size(d1 / "f2"), 10U);
-    copy_ex_ok = true;
-    try { fs::copy_file(f1, d1 / "f2", fs::copy_option::overwrite_if_exists); }
-    catch (const fs::filesystem_error &) { copy_ex_ok = false; }
-    BOOST_TEST(copy_ex_ok);
-    BOOST_TEST_EQ(fs::file_size(d1 / "f2"), 7U);
-    verify_file(d1 / "f2", "file-f1");
-  }
-
- //  symlink_status_tests  -------------------------------------------------------------//
-
-  void symlink_status_tests()
-  {
-    cout << "symlink_status_tests..." << endl;
-
-    boost::system::error_code ec;
-
-    fs::path dangling_sym(dir / "dangling-sym");
-    fs::path dangling_directory_sym(dir / "dangling-directory-sym");
-    fs::path sym_d1(dir / "sym-d1");
-    fs::path symsym_d1(dir / "symsym-d1");
-    fs::path sym_f1(dir / "sym-f1");
-    fs::path symsym_f1(dir / "symsym-f1");
-    fs::create_symlink("does not exist", dangling_sym);
-    fs::create_directory_symlink("does not exist", dangling_directory_sym);
-    fs::create_directory_symlink(d1, sym_d1);
-    fs::create_directory_symlink(sym_d1, symsym_d1);
-    fs::create_symlink(f1, sym_f1);
-    fs::create_symlink(sym_f1, symsym_f1);
-
-    //  verify all cases detected as symlinks
-    BOOST_TEST_EQ(fs::symlink_status(dangling_sym, ec).type(), fs::symlink_file);
-    BOOST_TEST_EQ(fs::symlink_status(dangling_directory_sym, ec).type(), fs::symlink_file);
-    BOOST_TEST_EQ(fs::symlink_status(sym_d1, ec).type(), fs::symlink_file);
-    BOOST_TEST_EQ(fs::symlink_status(symsym_d1, ec).type(), fs::symlink_file);
-    BOOST_TEST_EQ(fs::symlink_status(sym_f1, ec).type(), fs::symlink_file);
-    BOOST_TEST_EQ(fs::symlink_status(symsym_f1, ec).type(), fs::symlink_file);
-
-    //  verify all cases resolve to the (possibly recursive) symlink target
-    BOOST_TEST_EQ(fs::status(dangling_sym, ec).type(), fs::file_not_found);
-    BOOST_TEST_EQ(fs::status(dangling_directory_sym, ec).type(), fs::file_not_found);
-
-    BOOST_TEST_EQ(fs::status(sym_d1, ec).type(), fs::directory_file);
-    BOOST_TEST_EQ(fs::status(sym_d1 / "d1f1", ec).type(), fs::regular_file);
-    BOOST_TEST_EQ(fs::status(symsym_d1, ec).type(), fs::directory_file);
-    BOOST_TEST_EQ(fs::status(symsym_d1 / "d1f1", ec).type(), fs::regular_file);
-    BOOST_TEST_EQ(fs::status(sym_f1, ec).type(), fs::regular_file);
-    BOOST_TEST_EQ(fs::status(symsym_f1, ec).type(), fs::regular_file);
-
-#ifdef BOOST_WINDOWS_API
-
-    //  On Windows, telling if a filesystem entry is a symlink, rather than some other
-    //  kind of reparse point such as a junction, requires some truely baroque code.
-    //  See ticket #4663, filesystem objects falsely identified as symlinks.
-    //  This test checks two directory entries created by Windows itself to verify
-    //  is_symlink() works correctly. Try "dir /A %HOMEPATH%\.." from the command line to
-    //  verify this test is valid on your version of Windows. It only works on Vista and
-    //  later.
-
-    fs::path users(getenv("HOMEDRIVE"));
-    BOOST_TEST(!users.empty());
-    users /= "\\Users";
-    BOOST_TEST(fs::exists(users));
-    BOOST_TEST(fs::exists(users/"All Users"));
-    BOOST_TEST(fs::exists(users/"Default User"));
-    BOOST_TEST(fs::is_symlink(users/"All Users"));       // dir /A reports <SYMLINKD>
-    BOOST_TEST(!fs::is_symlink(users/"Default User"));   // dir /A reports <JUNCTION>                  <JUNCTION>
-
-#endif
-  }
-
- //  copy_symlink_tests  ---------------------------------------------------------------//
-
-  void copy_symlink_tests(const fs::path& f1, const fs::path& d1)
-  {
-    cout << "copy_symlink_tests..." << endl;
-
-    BOOST_TEST(fs::exists(f1));
-    BOOST_TEST(fs::exists(d1));
-    fs::path sym1(d1 / "symlink1");
-    fs::remove(sym1);  // remove possible residue from prior testing
-    fs::create_symlink(f1, sym1);
-    BOOST_TEST(fs::exists(sym1));
-    BOOST_TEST(fs::is_symlink(sym1));
-    fs::path sym2(d1 / "symlink2");
-    fs::copy_symlink(sym1, sym2);
-    BOOST_TEST(fs::exists(sym2));
-    BOOST_TEST(fs::is_symlink(sym2));
-    //fs::path sym3(d1 / "symlink3");
-    //fs::copy(sym1, sym3);
-    //BOOST_TEST(fs::exists(sym3));
-    //BOOST_TEST(fs::is_symlink(sym3));
-
-    bool copy_ex_ok = false;
-    try { fs::copy_symlink("no-such-file", "new-symlink1"); }
-    catch (const fs::filesystem_error &) { copy_ex_ok = true; }
-    BOOST_TEST(copy_ex_ok);
-
-    copy_ex_ok = false;
-    try { fs::copy_symlink(f1, "new-symlink2"); } // should fail; f1 not symlink
-    catch (const fs::filesystem_error &) { copy_ex_ok = true; }
-    BOOST_TEST(copy_ex_ok);
-  }
-
-  //  write_time_tests  ----------------------------------------------------------------//
-
-  void write_time_tests(const fs::path& dir)
-  {    
-    cout << "write_time_tests..." << endl;
-
-    fs::path f1 = dir / "foobar2";
-    create_file(f1, "foobar2");
-    BOOST_TEST(fs::exists(f1));
-    BOOST_TEST(!fs::is_directory(f1));
-    BOOST_TEST(fs::is_regular_file(f1));
-    BOOST_TEST(fs::file_size(f1) == 7);
-    verify_file(f1, "foobar2");
-
-    // Some file system report last write time as local (FAT), while
-    // others (NTFS) report it as UTC. The C standard does not specify
-    // if time_t is local or UTC. 
-
-    std::time_t ft = fs::last_write_time(f1);
-    cout << "\n  UTC last_write_time() for a file just created is "
-      << std::asctime(std::gmtime(&ft)) << endl;
-
-    std::tm * tmp = std::localtime(&ft);
-    cout << "\n  Year is " << tmp->tm_year << endl;
-    --tmp->tm_year;
-    cout << "  Change year to " << tmp->tm_year << endl;
-    fs::last_write_time(f1, std::mktime(tmp));
-    std::time_t ft2 = fs::last_write_time(f1);
-    cout << "  last_write_time() for the file is now "
-      << std::asctime(std::gmtime(&ft2)) << endl;
-    BOOST_TEST(ft != fs::last_write_time(f1));
-
-    cout << "\n  Reset to current time" << endl;
-    fs::last_write_time(f1, ft);
-    double time_diff = std::difftime(ft, fs::last_write_time(f1));
-    cout 
-      << "  original last_write_time() - current last_write_time() is "
-      << time_diff << " seconds" << endl;
-    BOOST_TEST(time_diff >= -60.0 && time_diff <= 60.0);
-  }
-
-  //  platform_specific_tests  ---------------------------------------------------------//
-
-  void platform_specific_tests()
-  {
-    // Windows only tests
-    if (platform == "Windows")
-    {
-      cout << "Window specific tests..."
-        "\n (may take several seconds)" << endl;
-
-      BOOST_TEST(!fs::exists(fs::path("//share-not")));
-      BOOST_TEST(!fs::exists(fs::path("//share-not/")));
-      BOOST_TEST(!fs::exists(fs::path("//share-not/foo")));
-      BOOST_TEST(!fs::exists("tools/jam/src/:sys:stat.h")); // !exists() if ERROR_INVALID_NAME
-      BOOST_TEST(!fs::exists(":sys:stat.h")); // !exists() if ERROR_INVALID_PARAMETER
-      BOOST_TEST(dir.string().size() > 1
-        && dir.string()[1] == ':'); // verify path includes drive
-
-      BOOST_TEST(fs::system_complete("").empty());
-      BOOST_TEST(fs::system_complete("/") == fs::initial_path().root_path());
-      BOOST_TEST(fs::system_complete("foo")
-        == fs::initial_path() / "foo");
-
-      fs::path p1(fs::system_complete("/foo"));
-      BOOST_TEST_EQ(p1.string().size(), 6U);  // this failed during v3 development due to bug
-      std::string s1(p1.string() );
-      std::string s2(fs::initial_path().root_path().string()+"foo");
-      BOOST_TEST_EQ(s1, s2);
-
-      BOOST_TEST(fs::system_complete(fs::path(fs::initial_path().root_name()))
-        == fs::initial_path());
-      BOOST_TEST(fs::system_complete(fs::path(fs::initial_path().root_name().string()
-        + "foo")).string() == fs::initial_path() / "foo");
-      BOOST_TEST(fs::system_complete(fs::path("c:/")).generic_string()
-        == "c:/");
-      BOOST_TEST(fs::system_complete(fs::path("c:/foo")).generic_string()
-        ==  "c:/foo");
-      BOOST_TEST(fs::system_complete(fs::path("//share")).generic_string()
-        ==  "//share");
-    } // Windows
-
-    else if (platform == "POSIX")
-    {
-      cout << "POSIX specific tests..." << endl;
-      BOOST_TEST(fs::system_complete("").empty());
-      BOOST_TEST(fs::initial_path().root_path().string() == "/");
-      BOOST_TEST(fs::system_complete("/").string() == "/");
-      BOOST_TEST(fs::system_complete("foo").string()
-        == fs::initial_path().string()+"/foo");
-      BOOST_TEST(fs::system_complete("/foo").string()
-        == fs::initial_path().root_path().string()+"foo");
-    } // POSIX
-  }
-
-  //  initial_tests  -------------------------------------------------------------------//
-
-  void initial_tests()
-  {
-    cout << "initial_tests..." << endl;
-
-    cout << "  current_path().string() is\n  \""
-              << fs::initial_path().string()
-              << "\"\n\n";
-    BOOST_TEST(fs::initial_path() == fs::current_path());
-    BOOST_TEST(fs::initial_path().is_absolute());
-    BOOST_TEST(fs::current_path().is_absolute());
-    BOOST_TEST(fs::initial_path().string()
-      == fs::current_path().string());
-  }
-
-  //  space_tests  ---------------------------------------------------------------------//
-
-  void space_tests()
-  {
-    cout << "space_tests..." << endl;
-
-    // make some reasonable assuptions for testing purposes
-    fs::space_info spi(fs::space(dir));
-    BOOST_TEST(spi.capacity > 1000000);
-    BOOST_TEST(spi.free > 1000);
-    BOOST_TEST(spi.capacity > spi.free);
-    BOOST_TEST(spi.free >= spi.available);
-
-    // it is convenient to display space, but older VC++ versions choke 
-#   if !defined(BOOST_MSVC) || _MSC_VER >= 1300  // 1300 == VC++ 7.0
-      cout << "   capacity = " << spi.capacity << '\n';
-      cout << "       free = " << spi.free << '\n';
-      cout << "  available = " << spi.available << '\n';
-#   endif
-  }
-
-  //  equivalent_tests  ----------------------------------------------------------------//
-
-  void equivalent_tests(const fs::path& f1)
-  {
-    cout << "equivalent_tests..." << endl;
-
-    BOOST_TEST(CHECK_EXCEPTION(bad_equivalent, ENOENT));
-    BOOST_TEST(fs::equivalent(f1, dir / "f1"));
-    BOOST_TEST(fs::equivalent(dir, d1 / ".."));
-    BOOST_TEST(!fs::equivalent(f1, dir));
-    BOOST_TEST(!fs::equivalent(dir, f1));
-    BOOST_TEST(!fs::equivalent(d1, d2));
-    BOOST_TEST(!fs::equivalent(dir, ng));
-    BOOST_TEST(!fs::equivalent(ng, dir));
-    BOOST_TEST(!fs::equivalent(f1, ng));
-    BOOST_TEST(!fs::equivalent(ng, f1));
-  }
-
-  //  temp_directory_path_tests  -------------------------------------------------------//
-  //    contributed by Jeff Flinn
-  
-  struct guarded_env_var
-  {
-    struct previous_value
-    {
-      std::string m_name;
-      std::string m_string;
-      bool        m_empty;
-      
-      previous_value(const char* name)
-      : m_string(name)
-      , m_empty (true)
-      {
-        if(const char* value = getenv(name))
-        {
-          m_string.assign(value);
-          m_empty = false;
-        }
-        else
-        {
-          m_empty = true;
-        }
-      }
-      ~previous_value()
-      {
-        m_empty? unsetenv(m_name.c_str()) 
-               : setenv(m_name.c_str(), m_string.c_str(), 1);
-      }
-    };
-  
-    previous_value m_previous_value;
-    
-    guarded_env_var(const char* name, const fs::path::value_type* value) 
-    : m_previous_value(name) 
-    {
-      value? setenv(name, value, 1) : unsetenv(name);
-    }
-  };
-
-  void temp_directory_path_tests()
-  {
-    {
-      cout << "temp_directory_path_tests..." << endl;
-
-      BOOST_TEST(!fs::temp_directory_path().empty());
-      BOOST_TEST(exists(fs::temp_directory_path()));
-      fs::path ph = fs::temp_directory_path()/"temp_directory_path_test.txt";
-      {
-          if(exists(ph)) remove(ph);
-          std::ofstream f(ph.BOOST_FILESYSTEM_C_STR);
-          f << "passed";
-      }
-      BOOST_TEST(exists(ph));
-      {
-          std::ifstream f(ph.BOOST_FILESYSTEM_C_STR);
-          std::string   s;
-          f >> s;
-          BOOST_TEST(s == "passed");
-      }
-      remove(ph);
-      BOOST_TEST(!exists(ph));
-    }
-    
-    fs::path test_temp_dir = fs::initial_path();
-
-#if defined BOOST_POSIX_API
-    {
-      struct guarded_tmp_vars
-      {
-        guarded_env_var m_tmpdir ;
-        guarded_env_var m_tmp    ;
-        guarded_env_var m_temp   ;
-        guarded_env_var m_tempdir;
-
-        guarded_tmp_vars
-        ( const fs::path::value_type* tmpdir  
-        , const fs::path::value_type* tmp    
-        , const fs::path::value_type* temp   
-        , const fs::path::value_type* tempdir
-        )
-        : m_tmpdir ("TMPDIR" , tmpdir )
-        , m_tmp    ("TMP"    , tmp    )
-        , m_temp   ("TEMP"   , temp   )
-        , m_tempdir("TEMPDIR", tempdir)
-        {}                
-      };
-
-      {
-        guarded_tmp_vars vars(test_temp_dir.c_str(), 0, 0, 0);
-        fs::path ph = fs::temp_directory_path();
-        BOOST_TEST(equivalent(test_temp_dir, ph));
-      }
-      {
-        guarded_tmp_vars vars(0, test_temp_dir.c_str(), 0, 0);
-        fs::path ph = fs::temp_directory_path();
-        BOOST_TEST(equivalent(test_temp_dir, ph));
-      }
-      {
-        guarded_tmp_vars vars(0, 0, test_temp_dir.c_str(), 0);
-        fs::path ph = fs::temp_directory_path();
-        BOOST_TEST(equivalent(test_temp_dir, ph));
-      }
-      {
-        guarded_tmp_vars vars(0, 0, 0, test_temp_dir.c_str());
-        fs::path ph = fs::temp_directory_path();
-        BOOST_TEST(equivalent(test_temp_dir, ph));
-      }
-    }
-#endif
-
-#if defined BOOST_WINDOWS_API
-    {
-      struct guarded_tmp_vars
-      {
-        guarded_env_var m_tmp        ;
-        guarded_env_var m_temp       ;
-        guarded_env_var m_userprofile;
-
-        guarded_tmp_vars
-        ( const fs::path::value_type* tmp    
-        , const fs::path::value_type* temp   
-        , const fs::path::value_type* userprofile
-        )
-        : m_tmp        ("TMP"        , tmp        )
-        , m_temp       ("TEMP"       , temp       )
-        , m_userprofile("USERPROFILE", userprofile)
-        {}                
-      };
-
-      // should NEVER throw - the windows directory or current_path always exists
-      {
-        guarded_tmp_vars vars(0, 0, 0);
-        fs::path ph = fs::temp_directory_path();
-        
-        BOOST_TEST(test_temp_dir != ph); 
-      }
-
-      // should NEVER fail - the windows directory or current_path always exists
-      {
-          guarded_tmp_vars vars(0, 0, 0);
-          error_code ec;
-          fs::path ph = fs::temp_directory_path(ec);
-          BOOST_TEST(!ec); 
-      }
-
-      {
-        guarded_tmp_vars vars(test_temp_dir.c_str(), 0, 0);
-        fs::path ph = fs::temp_directory_path();
-        BOOST_TEST(equivalent(test_temp_dir, ph));
-      }
-      {
-        guarded_tmp_vars vars(0, test_temp_dir.c_str(), 0);
-        fs::path ph = fs::temp_directory_path();
-        BOOST_TEST(equivalent(test_temp_dir, ph));
-      }
-      {
-        guarded_tmp_vars vars(0, 0, test_temp_dir.c_str());
-        fs::path ph = fs::temp_directory_path();
-        BOOST_TEST(equivalent(test_temp_dir, ph));
-      }
-    }
-#endif    
-  }
-
-  //  _tests  --------------------------------------------------------------------------//
-
-  void _tests()
-  {
-    cout << "_tests..." << endl;
-  }
-  
-} // unnamed namespace
-
-  //------------------------------------------------------------------------------------//
-  //                                                                                    //
-  //                                    main                                            //
-  //                                                                                    //
-  //------------------------------------------------------------------------------------//
-
-int cpp_main(int argc, char* argv[])
-{
-
-// document state of critical macros
-#ifdef BOOST_POSIX_API
-  cout << "BOOST_POSIX_API is defined\n";
-#endif
-#ifdef BOOST_WINDOWS_API
-  cout << "BOOST_WINDOWS_API is defined\n";
-#endif
-
-  if (argc > 1 && *argv[1]=='-' && *(argv[1]+1)=='t') report_throws = true;
-  if (argc > 1 && *argv[1]=='-' && *(argv[1]+1)=='x') cleanup = false;
-
-  // The choice of platform to test is make at runtime rather than compile-time
-  // so that compile errors for all platforms will be detected even though
-  // only the current platform is runtime tested.
-# if defined(BOOST_POSIX_API)
-    platform = "POSIX";
-# elif defined(BOOST_WINDOWS_API)
-    platform = "Windows";
-#   if !defined(__MINGW32__) && !defined(__CYGWIN__)
-      language_id = ::GetUserDefaultUILanguage();
-#   else
-      language_id = 0x0409; // Assume US English
-#   endif
-# else
-#   error neither BOOST_POSIX_API nor BOOST_WINDOWS_API is defined. See boost/system/api_config.hpp
-# endif
-  cout << "API is " << platform << endl;
-
-  dir = fs::initial_path() / temp_dir_name;
-
-  if (fs::exists(dir))
-  {
-    cout << "remove residue from prior failed tests..." << endl;
-    fs::remove_all(dir);
-  }
-  BOOST_TEST(!fs::exists(dir));
-
-  // several functions give unreasonable results if uintmax_t isn't 64-bits
-  cout << "sizeof(boost::uintmax_t) = " << sizeof(boost::uintmax_t) << '\n';
-  BOOST_TEST(sizeof(boost::uintmax_t) >= 8);
-
-  initial_tests();
-  predicate_and_status_tests();
-  exception_tests();
-  create_directory_tests();
-  current_directory_tests();
-  space_tests();
-
-  // create a directory tree that can be used by subsequent tests
-  //
-  //    dir
-  //      d1
-  //        d1f1       // an empty file
-  //      f0           // an empty file
-  //      f1           // a file containing "file f1"
-  //
-  create_tree();
-
-  status_of_nonexistent_tests();
-  status_error_reporting_tests();
-  directory_iterator_tests();
-  create_directories_tests();  // must run AFTER directory_iterator_tests
-
-  bad_create_directory_path = f1;
-  BOOST_TEST(CHECK_EXCEPTION(bad_create_directory, EEXIST));
-  fs::file_status stat = fs::status(f1);
-  BOOST_TEST(fs::status_known(stat));
-  BOOST_TEST(fs::exists(stat));
-  BOOST_TEST(!fs::is_directory(stat));
-  BOOST_TEST(fs::is_regular_file(stat));
-  BOOST_TEST(!fs::is_other(stat));
-  BOOST_TEST(!fs::is_symlink(stat));
-  
-  equivalent_tests(f1);
-  create_hard_link_tests();
-  create_symlink_tests();
-  resize_file_tests();
-  absolute_tests();
-  canonical_basic_tests();
-  copy_file_tests(f1, d1);
-  if (create_symlink_ok)  // only if symlinks supported
-  {
-    symlink_status_tests();
-    copy_symlink_tests(f1, d1);
-    canonical_symlink_tests();
-  }
-  iterator_status_tests();  // lots of cases by now, so a good time to test
-//  dump_tree(dir);
-  recursive_directory_iterator_tests();
-  recursive_iterator_status_tests();  // lots of cases by now, so a good time to test
-  rename_tests();
-  remove_tests(dir);
-  if (create_symlink_ok)  // only if symlinks supported
-    remove_symlink_tests();
-  write_time_tests(dir);
-  
-  temp_directory_path_tests();
-  platform_specific_tests();
-  
-  cout << "testing complete" << endl;
-
-  // post-test cleanup
-  if (cleanup)
-  {
-    cout << "post-test removal of " << dir << endl;
-    BOOST_TEST(fs::remove_all(dir) != 0);
-    // above was added just to simplify testing, but it ended up detecting
-    // a bug (failure to close an internal search handle). 
-    cout << "post-test removal complete" << endl;
-    BOOST_TEST(!fs::exists(dir));
-    BOOST_TEST(fs::remove_all(dir) == 0);
-  }
-
-  cout << "returning from main()" << endl;
-  return ::boost::report_errors();
-} // main
diff --git a/SRC/Boost/libs/filesystem/v3/test/operations_unit_test.cpp b/SRC/Boost/libs/filesystem/v3/test/operations_unit_test.cpp
deleted file mode 100755
index 8dcc088..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/operations_unit_test.cpp
+++ /dev/null
@@ -1,243 +0,0 @@
-//  operations_unit_test.cpp  ----------------------------------------------------------//
-
-//  Copyright Beman Dawes 2008, 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//  ------------------------------------------------------------------------------------//
-
-//  This program is misnamed - it is really a smoke test rather than a unit_test
-
-//  ------------------------------------------------------------------------------------//
-
-#define BOOST_FILESYSTEM_VERSION 3
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-#include <boost/config/warning_disable.hpp>
-
-//  See deprecated_test for tests of deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-#  define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-#  define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem.hpp>   // make sure filesystem.hpp works
-#include <boost/system/error_code.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-#include <iostream>
-
-using namespace boost::filesystem;
-using namespace boost::system;
-using std::cout;
-using std::string;
-
-#define CHECK(x) check(x, __FILE__, __LINE__)
-
-namespace
-{
-
-  void check(bool ok, const char* file, int line)
-  {
-    if (ok) return;
-
-    ++::boost::detail::test_errors();
-
-    std::cout << file << '(' << line << "): test failed\n";
-  }
-
-  //  query_test  ----------------------------------------------------------------------//
-
-  void query_test()
-  {
-    std::cout << "query test..." << std::endl;
-
-    error_code ec;
-
-    CHECK(file_size("no-such-file", ec) == static_cast<boost::uintmax_t>(-1));
-    CHECK(ec == errc::no_such_file_or_directory);
-
-    CHECK(status("no-such-file") == file_status(file_not_found));
-
-    CHECK(exists("/"));
-    CHECK(is_directory("/"));
-    CHECK(!exists("no-such-file"));
-
-    exists("/", ec);
-    if (ec)
-    {
-      std::cout << "exists(\"/\", ec) resulted in non-zero ec.value()" << std::endl;
-      std::cout << "ec value: " << ec.value() << ", message: "<< ec.message() << std::endl;
-    }
-    CHECK(!ec);
-
-    CHECK(exists("/"));
-    CHECK(is_directory("/"));
-    CHECK(!is_regular_file("/"));
-    CHECK(!boost::filesystem::is_empty("/"));
-    CHECK(!is_other("/"));
-  }
-
-  //  directory_iterator_test  -----------------------------------------------//
-
-  void directory_iterator_test()
-  {
-    std::cout << "directory_iterator_test..." << std::endl;
-
-    directory_iterator end;
-
-    directory_iterator it(".");
-
-    CHECK(!it->path().empty());
-
-    if (is_regular_file(it->status()))
-    {
-      CHECK(is_regular_file(it->symlink_status()));
-      CHECK(!is_directory(it->status()));
-      CHECK(!is_symlink(it->status()));
-      CHECK(!is_directory(it->symlink_status()));
-      CHECK(!is_symlink(it->symlink_status()));
-    }
-    else
-    {
-      CHECK(is_directory(it->status()));
-      CHECK(is_directory(it->symlink_status()));
-      CHECK(!is_regular_file(it->status()));
-      CHECK(!is_regular_file(it->symlink_status()));
-      CHECK(!is_symlink(it->status()));
-      CHECK(!is_symlink(it->symlink_status()));
-    }
-
-    for (; it != end; ++it)
-    {
-//      cout << "  " << it->path().string() << "\n";
-    }
-
-    std::cout << "directory_iterator_test complete" << std::endl;
-  }
-
-  //  operations_test  -------------------------------------------------------//
-
-  void operations_test()
-  {
-    std::cout << "operations test..." << std::endl;
-
-    error_code ec;
-
-    CHECK(!create_directory("/", ec));
-
-    CHECK(!boost::filesystem::remove("no-such-file-or-directory"));
-    CHECK(!remove_all("no-such-file-or-directory"));
-
-    space_info info = space("/");
-
-    CHECK(info.available <= info.capacity);
-
-    CHECK(equivalent("/", "/"));
-    CHECK(!equivalent("/", "."));
-
-    std::time_t ft = last_write_time(".");
-    ft = -1;
-    last_write_time(".", ft, ec);
-  }
-
-  //  directory_entry_test  ------------------------------------------------------------//
-
-  void directory_entry_test()
-  {
-    std::cout << "directory_entry test..." << std::endl;
-
-    directory_entry de("foo.bar", file_status(regular_file), file_status(directory_file));
-
-    CHECK(de.path() == "foo.bar");
-    CHECK(de.status() == file_status(regular_file));
-    CHECK(de.symlink_status() == file_status(directory_file));
-    CHECK(de < directory_entry("goo.bar"));
-    CHECK(de == directory_entry("foo.bar"));
-    CHECK(de != directory_entry("goo.bar"));
-    de.replace_filename("bar.foo");
-    CHECK(de.path() == "bar.foo");
-  }
-
-  //  directory_entry_overload_test  ---------------------------------------------------//
-
-  void directory_entry_overload_test()
-  {
-    std::cout << "directory_entry overload test..." << std::endl;
-
-    directory_iterator it(".");
-    path p(*it);
-  }
-
-  //  error_handling_test  -------------------------------------------------------------//
-
-  void error_handling_test()
-  {
-    std::cout << "error handling test..." << std::endl;
-
-    bool threw(false);
-    try
-    { 
-      file_size("no-such-file");
-    }
-    catch (const boost::filesystem::filesystem_error & ex)
-    {
-      threw = true;
-      cout << "\nas expected, attempt to get size of non-existent file threw a filesystem_error\n"
-        "what() returns " << ex.what() << "\n";
-    }
-    catch (...)
-    {
-      cout << "\nunexpected exception type caught" << std::endl;
-    }
-
-    CHECK(threw);
-
-    error_code ec;
-    CHECK(!create_directory("/", ec));
-  }
-
-}  // unnamed namespace
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                                    main                                              //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-int cpp_main(int, char*[])
-{
-// document state of critical macros
-#ifdef BOOST_POSIX_API
-  cout << "BOOST_POSIX_API is defined\n";
-#endif
-#ifdef BOOST_WINDOWS_API
-  cout << "BOOST_WINDOWS_API is defined\n";
-#endif
-  cout << "BOOST_FILESYSTEM_DECL" << BOOST_STRINGIZE(=BOOST_FILESYSTEM_DECL) << "\n";
-  cout << "BOOST_SYMBOL_VISIBLE" << BOOST_STRINGIZE(=BOOST_SYMBOL_VISIBLE) << "\n";
-  
-  cout << "current_path() is " << current_path().string() << std::endl;
-
-  query_test();
-  directory_iterator_test();
-  operations_test();
-  directory_entry_test();
-  directory_entry_overload_test();
-  error_handling_test();
-
-  std::cout << unique_path() << std::endl;
-  std::cout << unique_path("foo-%%%%%-%%%%%-bar") << std::endl;
-  
-  return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/filesystem/v3/test/path_test.cpp b/SRC/Boost/libs/filesystem/v3/test/path_test.cpp
deleted file mode 100755
index 2dd820d..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/path_test.cpp
+++ /dev/null
@@ -1,1742 +0,0 @@
-//  path_test program  -----------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2002, 2008
-//  Copyright Vladimir Prus 2002
-
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/filesystem
-
-//  basic_path's stem(), extension(), and replace_extension() tests are based
-//  on basename(), extension(), and change_extension() tests from the original
-//  convenience_test.cpp by Vladimir Prus.
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                                     Caution                                          //
-//                                                                                      //
-//  The class path relational operators (==, !=, <, etc.) on Windows treat slash and    //
-//  backslash as equal. Thus any tests on Windows where the difference between slash    //
-//  and backslash is significant should compare based on native observers rather than   //
-//  directly on path objects.                                                           //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-#define BOOST_FILESYSTEM_VERSION 3
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-#include <boost/config/warning_disable.hpp>
-
-//  See deprecated_test for tests of deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-#  define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-#  define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/operations.hpp>
-#include <boost/utility.hpp>
-#include <iostream>
-#include <sstream>
-#include <string>
-#include <vector>
-#include <cstring>
-#include <cassert>
-
-namespace fs = boost::filesystem;
-using boost::filesystem::path;
-
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-
-#define PATH_CHECK(a, b) check(a, b, __FILE__, __LINE__)
-#define CHECK_EQUAL(a,b) check_equal(a, b, __FILE__, __LINE__)
-
-namespace
-{
-  std::string platform(BOOST_PLATFORM);
-
-  void check(const fs::path & source,
-              const std::string & expected, const char* file, int line)
-  {
-    if (source.string() == expected)
-      return;
-
-    std::cout << file
-              << '(' << line << "): source: \"" << source
-              << "\" != expected: \"" << expected
-              << "\"" << std::endl;
-
-    ++::boost::detail::test_errors();
-  }
-
-  void check_equal(const fs::path & source,
-              const std::string & expected, const char* file, int line)
-  {
-    if (source == expected) return;
-
-    ++::boost::detail::test_errors();
-
-    std::cout << file << '(' << line << "): source: \"" << source
-              << "\" != expected: \"" << expected
-              << "\"" << std::endl;
-  }
-
-  path p1("fe/fi/fo/fum");
-  path p2(p1);
-  path p3;
-  path p4("foobar");
-  path p5;
-
-  //  exception_tests  -----------------------------------------------------------------//
-
-  void exception_tests()
-  {
-    std::cout << "exception_tests..." << std::endl;
-    const std::string str_1("string-1");
-    boost::system::error_code ec(12345, boost::system::system_category());
-    try { throw fs::filesystem_error(str_1, ec); }
-    catch (const fs::filesystem_error & ex)
-    {
-      //std::cout << ex.what() << "*" << std::endl;
-      //BOOST_TEST(std::strcmp(ex.what(),
-      //  "string-1: Unknown error") == 0);
-      BOOST_TEST(ex.code() == ec);
-    }
-
-    try { throw fs::filesystem_error(str_1, "p1", "p2", ec); }
-    catch (const fs::filesystem_error & ex)
-    {
-      //std::cout << ex.what() << "*" << std::endl;                    
-      //BOOST_TEST(std::strcmp(ex.what(),
-      //  "string-1: Unknown error: \"p1\", \"p2\"") == 0);
-      BOOST_TEST(ex.code() == ec);
-      BOOST_TEST(ex.path1() == "p1");
-      BOOST_TEST(ex.path2() == "p2");
-    }
-  }
-
-  //  overload_tests  ------------------------------------------------------------------//
-
-  // These verify various overloads don't cause compiler errors
-  // They pre-date operations_unit_test.cpp
-
-  void overload_tests()
-  {
-    std::cout << "overload_tests..." << std::endl;
-
-    fs::exists(p1);
-    fs::exists("foo");
-    fs::exists(std::string("foo"));
-
-    fs::exists(p1 / path("foo"));
-    fs::exists(p1 / "foo");
-    fs::exists(p1 / std::string("foo"));
-
-    fs::exists("foo" / p1);
-    fs::exists(std::string("foo") / p1);
-
-    p4 /= path("foo");
-    p4 /= "foo";
-    p4 /= std::string("foo");
-  }
-
-  //  iterator_tests  ------------------------------------------------------------------//
-
-  void iterator_tests()
-  {
-    std::cout << "iterator_tests..." << std::endl;
-
-    path itr_ck = "";
-    path::const_iterator itr = itr_ck.begin();
-    BOOST_TEST(itr == itr_ck.end());
-
-    itr_ck = "/";
-    itr = itr_ck.begin();
-    BOOST_TEST(*itr == std::string("/"));
-    BOOST_TEST(++itr == itr_ck.end());
-    BOOST_TEST(*--itr == std::string("/"));
-
-    itr_ck = "foo";
-    BOOST_TEST(*itr_ck.begin() == std::string("foo"));
-    BOOST_TEST(boost::next(itr_ck.begin()) == itr_ck.end());
-    BOOST_TEST(*boost::prior(itr_ck.end()) == std::string("foo"));
-    BOOST_TEST(boost::prior(itr_ck.end()) == itr_ck.begin());
-
-    itr_ck = path("/foo");
-    BOOST_TEST(*itr_ck.begin() == std::string("/"));
-    BOOST_TEST(*boost::next(itr_ck.begin()) == std::string("foo"));
-    BOOST_TEST(boost::next(boost::next(itr_ck.begin())) == itr_ck.end());
-    BOOST_TEST(boost::next(itr_ck.begin()) == boost::prior(itr_ck.end()));
-    BOOST_TEST(*boost::prior(itr_ck.end()) == std::string("foo"));
-    BOOST_TEST(*boost::prior(boost::prior(itr_ck.end())) == std::string("/"));
-    BOOST_TEST(boost::prior(boost::prior(itr_ck.end())) == itr_ck.begin());
-
-    itr_ck = "/foo/bar";
-    itr = itr_ck.begin();
-    BOOST_TEST(*itr == std::string("/"));
-    BOOST_TEST(*++itr == std::string("foo"));
-    BOOST_TEST(*++itr == std::string("bar"));
-    BOOST_TEST(++itr == itr_ck.end());
-    CHECK_EQUAL(*--itr, "bar");
-    CHECK_EQUAL(*--itr, "foo");
-    CHECK_EQUAL(*--itr, "/");
-
-    itr_ck = "../f"; // previously failed due to short name bug
-    itr = itr_ck.begin();
-    CHECK_EQUAL(*itr, "..");
-    CHECK_EQUAL(*++itr, "f");
-    BOOST_TEST(++itr == itr_ck.end());
-    CHECK_EQUAL(*--itr, "f");
-    CHECK_EQUAL(*--itr, "..");
-
-    // POSIX says treat "/foo/bar/" as "/foo/bar/."
-    itr_ck = "/foo/bar/";
-    itr = itr_ck.begin();
-    CHECK_EQUAL(*itr, "/");
-    CHECK_EQUAL(*++itr, "foo");
-    CHECK_EQUAL(*++itr, "bar");
-    CHECK_EQUAL(*++itr, ".");
-    BOOST_TEST(++itr == itr_ck.end());
-    CHECK_EQUAL(*--itr, ".");
-    CHECK_EQUAL(*--itr, "bar");
-    CHECK_EQUAL(*--itr, "foo");
-    CHECK_EQUAL(*--itr, "/");
-
-    // POSIX says treat "/f/b/" as "/f/b/."
-    itr_ck = "/f/b/";
-    itr = itr_ck.begin();
-    CHECK_EQUAL(*itr, "/");
-    CHECK_EQUAL(*++itr, "f");
-    CHECK_EQUAL(*++itr, "b");
-    CHECK_EQUAL(*++itr, ".");
-    BOOST_TEST(++itr == itr_ck.end());
-    CHECK_EQUAL(*--itr, ".");
-    CHECK_EQUAL(*--itr, "b");
-    CHECK_EQUAL(*--itr, "f");
-    CHECK_EQUAL(*--itr, "/");
-
-    itr_ck = "//net";
-    itr = itr_ck.begin();
-    // two leading slashes are permitted by POSIX (as implementation defined),
-    // while for Windows it is always well defined (as a network name)
-    CHECK_EQUAL(*itr, "//net");
-    BOOST_TEST(++itr == itr_ck.end());
-    CHECK_EQUAL(*--itr, "//net");
-
-    itr_ck = "//net/";
-    itr = itr_ck.begin();
-    CHECK_EQUAL(*itr, "//net");
-    CHECK_EQUAL(*++itr, "/");
-    BOOST_TEST(++itr == itr_ck.end());
-    CHECK_EQUAL(*--itr, "/");
-    CHECK_EQUAL(*--itr, "//net");
-
-    itr_ck = "//foo///bar///";
-    itr = itr_ck.begin();
-    CHECK_EQUAL(*itr, "//foo");
-    CHECK_EQUAL(*++itr, "/");
-    CHECK_EQUAL(*++itr, "bar");
-    CHECK_EQUAL(*++itr, ".");
-    BOOST_TEST(++itr == itr_ck.end());
-    CHECK_EQUAL(*--itr, ".");
-    CHECK_EQUAL(*--itr, "bar");
-    CHECK_EQUAL(*--itr, "/");
-    CHECK_EQUAL(*--itr, "//foo");
-
-    itr_ck = "///foo///bar///";
-    itr = itr_ck.begin();
-    // three or more leading slashes are to be treated as a single slash
-    CHECK_EQUAL(*itr, "/");
-    CHECK_EQUAL(*++itr, "foo");
-    CHECK_EQUAL(*++itr, "bar");
-    CHECK_EQUAL(*++itr, ".");
-    BOOST_TEST(++itr == itr_ck.end());
-    CHECK_EQUAL(*--itr, ".");
-    CHECK_EQUAL(*--itr, "bar");
-    CHECK_EQUAL(*--itr, "foo");
-    CHECK_EQUAL(*--itr, "/");
-
-    if (platform == "Windows")
-    {
-      itr_ck = "c:/";
-      itr = itr_ck.begin();
-      CHECK_EQUAL(*itr, "c:");
-      CHECK_EQUAL(*++itr, "/");
-      BOOST_TEST(++itr == itr_ck.end());
-      CHECK_EQUAL(*--itr, "/");
-      CHECK_EQUAL(*--itr, "c:");
-
-      itr_ck = "c:\\foo";
-      itr = itr_ck.begin();
-      BOOST_TEST(*itr == std::string("c:"));
-      BOOST_TEST(*++itr == std::string("/"));
-      BOOST_TEST(*++itr == std::string("foo"));
-      BOOST_TEST(++itr == itr_ck.end());
-      BOOST_TEST(*--itr == std::string("foo"));
-      BOOST_TEST(*--itr == std::string("/"));
-      BOOST_TEST(*--itr == std::string("c:"));
-
-      itr_ck = "\\\\\\foo\\\\\\bar\\\\\\";
-      itr = itr_ck.begin();
-      // three or more leading slashes are to be treated as a single slash
-      CHECK_EQUAL(*itr, "/");
-      CHECK_EQUAL(*++itr, "foo");
-      CHECK_EQUAL(*++itr, "bar");
-      CHECK_EQUAL(*++itr, ".");
-      BOOST_TEST(++itr == itr_ck.end());
-      CHECK_EQUAL(*--itr, ".");
-      CHECK_EQUAL(*--itr, "bar");
-      CHECK_EQUAL(*--itr, "foo");
-      CHECK_EQUAL(*--itr, "/");
-
-      itr_ck = "c:foo";
-      itr = itr_ck.begin();
-      BOOST_TEST(*itr == std::string("c:"));
-      BOOST_TEST(*++itr == std::string("foo"));
-      BOOST_TEST(++itr == itr_ck.end());
-      BOOST_TEST(*--itr == std::string("foo"));
-      BOOST_TEST(*--itr == std::string("c:"));
-
-      itr_ck = "c:foo/";
-      itr = itr_ck.begin();
-      BOOST_TEST(*itr == std::string("c:"));
-      BOOST_TEST(*++itr == std::string("foo"));
-      BOOST_TEST(*++itr == std::string("."));
-      BOOST_TEST(++itr == itr_ck.end());
-      BOOST_TEST(*--itr == std::string("."));
-      BOOST_TEST(*--itr == std::string("foo"));
-      BOOST_TEST(*--itr == std::string("c:"));
-
-      itr_ck = path("c:");
-      BOOST_TEST(*itr_ck.begin() == std::string("c:"));
-      BOOST_TEST(next(itr_ck.begin()) == itr_ck.end());
-      BOOST_TEST(prior(itr_ck.end()) == itr_ck.begin());
-      BOOST_TEST(*prior(itr_ck.end()) == std::string("c:"));
-
-      itr_ck = path("c:/");
-      BOOST_TEST(*itr_ck.begin() == std::string("c:"));
-      BOOST_TEST(*next(itr_ck.begin()) == std::string("/"));
-      BOOST_TEST(next(next(itr_ck.begin())) == itr_ck.end());
-      BOOST_TEST(prior(prior(itr_ck.end())) == itr_ck.begin());
-      BOOST_TEST(*prior(itr_ck.end()) == std::string("/"));
-      BOOST_TEST(*prior(prior(itr_ck.end())) == std::string("c:"));
-
-      itr_ck = path("c:foo");
-      BOOST_TEST(*itr_ck.begin() == std::string("c:"));
-      BOOST_TEST(*next(itr_ck.begin()) == std::string("foo"));
-      BOOST_TEST(next(next(itr_ck.begin())) == itr_ck.end());
-      BOOST_TEST(prior(prior(itr_ck.end())) == itr_ck.begin());
-      BOOST_TEST(*prior(itr_ck.end()) == std::string("foo"));
-      BOOST_TEST(*prior(prior(itr_ck.end())) == std::string("c:"));
-
-      itr_ck = path("c:/foo");
-      BOOST_TEST(*itr_ck.begin() == std::string("c:"));
-      BOOST_TEST(*next(itr_ck.begin()) == std::string("/"));
-      BOOST_TEST(*next(next(itr_ck.begin())) == std::string("foo"));
-      BOOST_TEST(next(next(next(itr_ck.begin()))) == itr_ck.end());
-      BOOST_TEST(prior(prior(prior(itr_ck.end()))) == itr_ck.begin());
-      BOOST_TEST(*prior(itr_ck.end()) == std::string("foo"));
-      BOOST_TEST(*prior(prior(itr_ck.end())) == std::string("/"));
-      BOOST_TEST(*prior(prior(prior(itr_ck.end()))) == std::string("c:"));
-
-      itr_ck = path("//net");
-      BOOST_TEST(*itr_ck.begin() == std::string("//net"));
-      BOOST_TEST(next(itr_ck.begin()) == itr_ck.end());
-      BOOST_TEST(prior(itr_ck.end()) == itr_ck.begin());
-      BOOST_TEST(*prior(itr_ck.end()) == std::string("//net"));
-
-      itr_ck = path("//net/");
-      CHECK_EQUAL(*itr_ck.begin(), "//net");
-      CHECK_EQUAL(*next(itr_ck.begin()), "/");
-      BOOST_TEST(next(next(itr_ck.begin())) == itr_ck.end());
-      BOOST_TEST(prior(prior(itr_ck.end())) == itr_ck.begin());
-      CHECK_EQUAL(*prior(itr_ck.end()), "/");
-      CHECK_EQUAL(*prior(prior(itr_ck.end())), "//net");
-
-      itr_ck = path("//net/foo");
-      BOOST_TEST(*itr_ck.begin() == std::string("//net"));
-      BOOST_TEST(*next(itr_ck.begin()) == std::string("/"));
-      BOOST_TEST(*next(next(itr_ck.begin())) == std::string("foo"));
-      BOOST_TEST(next(next(next(itr_ck.begin()))) == itr_ck.end());
-      BOOST_TEST(prior(prior(prior(itr_ck.end()))) == itr_ck.begin());
-      BOOST_TEST(*prior(itr_ck.end()) == std::string("foo"));
-      BOOST_TEST(*prior(prior(itr_ck.end())) == std::string("/"));
-      BOOST_TEST(*prior(prior(prior(itr_ck.end()))) == std::string("//net"));
-
-      itr_ck = path("prn:");
-      BOOST_TEST(*itr_ck.begin() == std::string("prn:"));
-      BOOST_TEST(next(itr_ck.begin()) == itr_ck.end());
-      BOOST_TEST(prior(itr_ck.end()) == itr_ck.begin());
-      BOOST_TEST(*prior(itr_ck.end()) == std::string("prn:"));
-    }
-    else
-    {
-      itr_ck = "///";
-      itr = itr_ck.begin();
-      CHECK_EQUAL(*itr,  "/");
-      BOOST_TEST(++itr == itr_ck.end());
-    }
-  }
-
-  //  non_member_tests  ----------------------------------------------------------------//
-
-  void non_member_tests()
-  {
-    std::cout << "non_member_tests..." << std::endl;
-
-    // test non-member functions, particularly operator overloads
-                                                               
-    path e, e2;
-    std::string es, es2;
-    char ecs[] = "";
-    char ecs2[] = "";
-
-    char acs[] = "a";
-    std::string as(acs);
-    path a(as);
-
-    char acs2[] = "a";
-    std::string as2(acs2);
-    path a2(as2);
-
-    char bcs[] = "b";
-    std::string bs(bcs);
-    path b(bs);
-
-    // swap
-    a.swap(b);
-    BOOST_TEST(a.string() == "b");
-    BOOST_TEST(b.string() == "a");
-    fs::swap(a, b);
-    BOOST_TEST(a.string() == "a");
-    BOOST_TEST(b.string() == "b");
-
-    // probe operator /
-    PATH_CHECK(path("") / ".", ".");
-    PATH_CHECK(path("") / "..", "..");
-    if (platform == "Windows")
-    {
-      BOOST_TEST(path("foo\\bar") == "foo/bar");
-      BOOST_TEST((b / a).native() == path("b\\a").native());
-      BOOST_TEST((bs / a).native() == path("b\\a").native());
-      BOOST_TEST((bcs / a).native() == path("b\\a").native());
-      BOOST_TEST((b / as).native() == path("b\\a").native());
-      BOOST_TEST((b / acs).native() == path("b\\a").native());
-      PATH_CHECK(path("a") / "b", "a\\b");
-      PATH_CHECK(path("..") / "", "..");
-      PATH_CHECK(path("foo") / path("bar"), "foo\\bar"); // path arg
-      PATH_CHECK(path("foo") / "bar", "foo\\bar");       // const char* arg
-      PATH_CHECK(path("foo") / path("woo/bar").filename(), "foo\\bar"); // const std::string & arg
-      PATH_CHECK("foo" / path("bar"), "foo\\bar");
-      PATH_CHECK(path("..") / ".." , "..\\..");
-      PATH_CHECK(path("/") / ".." , "/..");
-      PATH_CHECK(path("/..") / ".." , "/..\\..");
-      PATH_CHECK(path("..") / "foo" , "..\\foo");
-      PATH_CHECK(path("foo") / ".." , "foo\\..");
-      PATH_CHECK(path("..") / "f" , "..\\f");
-      PATH_CHECK(path("/..") / "f" , "/..\\f");
-      PATH_CHECK(path("f") / ".." , "f\\..");
-      PATH_CHECK(path("foo") / ".." / ".." , "foo\\..\\..");
-      PATH_CHECK(path("foo") / ".." / ".." / ".." , "foo\\..\\..\\..");
-      PATH_CHECK(path("f") / ".." / "b" , "f\\..\\b");
-      PATH_CHECK(path("foo") / ".." / "bar" , "foo\\..\\bar");
-      PATH_CHECK(path("foo") / "bar" / ".." , "foo\\bar\\..");
-      PATH_CHECK(path("foo") / "bar" / ".." / "..", "foo\\bar\\..\\..");
-      PATH_CHECK(path("foo") / "bar" / ".." / "blah", "foo\\bar\\..\\blah");
-      PATH_CHECK(path("f") / "b" / ".." , "f\\b\\..");
-      PATH_CHECK(path("f") / "b" / ".." / "a", "f\\b\\..\\a");
-      PATH_CHECK(path("foo") / "bar" / "blah" / ".." / "..", "foo\\bar\\blah\\..\\..");
-      PATH_CHECK(path("foo") / "bar" / "blah" / ".." / ".." / "bletch", "foo\\bar\\blah\\..\\..\\bletch");
-
-      PATH_CHECK(path(".") / "foo", ".\\foo");
-      PATH_CHECK(path(".") / "..", ".\\..");
-      PATH_CHECK(path("foo") / ".", "foo\\.");
-      PATH_CHECK(path("..") / ".", "..\\.");
-      PATH_CHECK(path(".") / ".", ".\\.");
-      PATH_CHECK(path(".") / "." / ".", ".\\.\\.");
-      PATH_CHECK(path(".") / "foo" / ".", ".\\foo\\.");
-      PATH_CHECK(path("foo") / "." / "bar", "foo\\.\\bar");
-      PATH_CHECK(path("foo") / "." / ".", "foo\\.\\.");
-      PATH_CHECK(path("foo") / "." / "..", "foo\\.\\..");
-      PATH_CHECK(path(".") / "." / "..", ".\\.\\..");
-      PATH_CHECK(path(".") / ".." / ".", ".\\..\\.");
-      PATH_CHECK(path("..") / "." / ".", "..\\.\\.");
-    }
-    else  // POSIX
-    {
-      BOOST_TEST((b / a).string() == "b/a");
-      BOOST_TEST((bs / a).string() == "b/a");
-      BOOST_TEST((bcs / a).string() == "b/a");
-      BOOST_TEST((b / as).string() == "b/a");
-      BOOST_TEST((b / acs).string() == "b/a");
-      PATH_CHECK(path("a") / "b", "a/b");
-      PATH_CHECK(path("..") / "", "..");
-      PATH_CHECK(path("") / "..", "..");
-      PATH_CHECK(path("foo") / path("bar"), "foo/bar"); // path arg
-      PATH_CHECK(path("foo") / "bar", "foo/bar");       // const char* arg
-      PATH_CHECK(path("foo") / path("woo/bar").filename(), "foo/bar"); // const std::string & arg
-      PATH_CHECK("foo" / path("bar"), "foo/bar");
-      PATH_CHECK(path("..") / ".." , "../..");
-      PATH_CHECK(path("/") / ".." , "/..");
-      PATH_CHECK(path("/..") / ".." , "/../..");
-      PATH_CHECK(path("..") / "foo" , "../foo");
-      PATH_CHECK(path("foo") / ".." , "foo/..");
-      PATH_CHECK(path("..") / "f" , "../f");
-      PATH_CHECK(path("/..") / "f" , "/../f");
-      PATH_CHECK(path("f") / ".." , "f/..");
-      PATH_CHECK(path("foo") / ".." / ".." , "foo/../..");
-      PATH_CHECK(path("foo") / ".." / ".." / ".." , "foo/../../..");
-      PATH_CHECK(path("f") / ".." / "b" , "f/../b");
-      PATH_CHECK(path("foo") / ".." / "bar" , "foo/../bar");
-      PATH_CHECK(path("foo") / "bar" / ".." , "foo/bar/..");
-      PATH_CHECK(path("foo") / "bar" / ".." / "..", "foo/bar/../..");
-      PATH_CHECK(path("foo") / "bar" / ".." / "blah", "foo/bar/../blah");
-      PATH_CHECK(path("f") / "b" / ".." , "f/b/..");
-      PATH_CHECK(path("f") / "b" / ".." / "a", "f/b/../a");
-      PATH_CHECK(path("foo") / "bar" / "blah" / ".." / "..", "foo/bar/blah/../..");
-      PATH_CHECK(path("foo") / "bar" / "blah" / ".." / ".." / "bletch", "foo/bar/blah/../../bletch");
-
-      PATH_CHECK(path(".") / "foo", "./foo");
-      PATH_CHECK(path(".") / "..", "./..");
-      PATH_CHECK(path("foo") / ".", "foo/.");
-      PATH_CHECK(path("..") / ".", "../.");
-      PATH_CHECK(path(".") / ".", "./.");
-      PATH_CHECK(path(".") / "." / ".", "././.");
-      PATH_CHECK(path(".") / "foo" / ".", "./foo/.");
-      PATH_CHECK(path("foo") / "." / "bar", "foo/./bar");
-      PATH_CHECK(path("foo") / "." / ".", "foo/./.");
-      PATH_CHECK(path("foo") / "." / "..", "foo/./..");
-      PATH_CHECK(path(".") / "." / "..", "././..");
-      PATH_CHECK(path(".") / ".." / ".", "./../.");
-      PATH_CHECK(path("..") / "." / ".", ".././.");
-    }
-
-    // probe operator <
-    BOOST_TEST(!(e < e2));
-    BOOST_TEST(!(es < e2));
-    BOOST_TEST(!(ecs < e2));
-    BOOST_TEST(!(e < es2));
-    BOOST_TEST(!(e < ecs2));
-
-    BOOST_TEST(e < a);
-    BOOST_TEST(es < a);
-    BOOST_TEST(ecs < a);
-    BOOST_TEST(e < as);
-    BOOST_TEST(e < acs);
-
-    BOOST_TEST(a < b);
-    BOOST_TEST(as < b);
-    BOOST_TEST(acs < b);
-    BOOST_TEST(a < bs);
-    BOOST_TEST(a < bcs);
-
-    BOOST_TEST(!(a < a2));
-    BOOST_TEST(!(as < a2));
-    BOOST_TEST(!(acs < a2));
-    BOOST_TEST(!(a < as2));
-    BOOST_TEST(!(a < acs2));
-
-    // make sure basic_path overloads don't conflict with std::string overloads
-
-    BOOST_TEST(!(as < as));
-    BOOST_TEST(!(as < acs));
-    BOOST_TEST(!(acs < as));
-
-    // reality check character set is as expected
-    BOOST_TEST(std::string("a.b") < std::string("a/b"));
-    // verify compare is actually lexicographical
-    BOOST_TEST(path("a/b") < path("a.b"));
-
-    // make sure the derivative operators also work
-
-    BOOST_TEST(b > a);
-    BOOST_TEST(b > as);
-    BOOST_TEST(b > acs);
-    BOOST_TEST(bs > a);
-    BOOST_TEST(bcs > a);
-
-    BOOST_TEST(!(a2 > a));
-    BOOST_TEST(!(a2 > as));
-    BOOST_TEST(!(a2 > acs));
-    BOOST_TEST(!(as2 > a));
-    BOOST_TEST(!(acs2 > a));
-
-    BOOST_TEST(a <= b);
-    BOOST_TEST(as <= b);
-    BOOST_TEST(acs <= b);
-    BOOST_TEST(a <= bs);
-    BOOST_TEST(a <= bcs);
-
-    BOOST_TEST(a <= a2);
-    BOOST_TEST(as <= a2);
-    BOOST_TEST(acs <= a2);
-    BOOST_TEST(a <= as2);
-    BOOST_TEST(a <= acs2);
-
-    BOOST_TEST(b >= a);
-    BOOST_TEST(bs >= a);
-    BOOST_TEST(bcs >= a);
-    BOOST_TEST(b >= as);
-    BOOST_TEST(b >= acs);
-
-    BOOST_TEST(a2 >= a);
-    BOOST_TEST(as2 >= a);
-    BOOST_TEST(acs2 >= a);
-    BOOST_TEST(a2 >= as);
-    BOOST_TEST(a2 >= acs);
-
-    //  operator == and != are implemented separately, so test separately
-
-    path p1("fe/fi/fo/fum");
-    path p2(p1);
-    path p3("fe/fi/fo/fumm");
-    BOOST_TEST(p1.string() != p3.string());
-
-    // check each overload
-    BOOST_TEST(p1 != p3);
-    BOOST_TEST(p1 != p3.string());
-    BOOST_TEST(p1 != p3.string().c_str());
-    BOOST_TEST(p1.string() != p3);
-    BOOST_TEST(p1.string().c_str() != p3);
-
-    p3 = p2;
-    BOOST_TEST(p1.string() == p3.string());
-
-    // check each overload
-    BOOST_TEST(p1 == p3);
-    BOOST_TEST(p1 == p3.string());
-    BOOST_TEST(p1 == p3.string().c_str());
-    BOOST_TEST(p1.string() == p3);
-    BOOST_TEST(p1.string().c_str() == p3);
-
-    if (platform == "Windows")
-    {
-      std::cout << "Windows relational tests..." << std::endl;
-      path p10 ("c:\\file");
-      path p11 ("c:/file");
-      // check each overload
-      BOOST_TEST(p10.generic_string() == p11.generic_string());
-      BOOST_TEST(p10 == p11);
-      BOOST_TEST(p10 == p11.string());
-      BOOST_TEST(p10 == p11.string().c_str());
-      BOOST_TEST(p10.string() == p11);
-      BOOST_TEST(p10.string().c_str() == p11);
-      BOOST_TEST(p10 == L"c:\\file");
-      BOOST_TEST(p10 == L"c:/file");
-      BOOST_TEST(p11 == L"c:\\file");
-      BOOST_TEST(p11 == L"c:/file");
-      BOOST_TEST(L"c:\\file" == p10);
-      BOOST_TEST(L"c:/file" == p10);
-      BOOST_TEST(L"c:\\file" == p11);
-      BOOST_TEST(L"c:/file" == p11);
-
-      BOOST_TEST(!(p10.generic_string() != p11.generic_string()));
-      BOOST_TEST(!(p10 != p11));
-      BOOST_TEST(!(p10 != p11.string()));
-      BOOST_TEST(!(p10 != p11.string().c_str()));
-      BOOST_TEST(!(p10.string() != p11));
-      BOOST_TEST(!(p10.string().c_str() != p11));
-      BOOST_TEST(!(p10 != L"c:\\file"));
-      BOOST_TEST(!(p10 != L"c:/file"));
-      BOOST_TEST(!(p11 != L"c:\\file"));
-      BOOST_TEST(!(p11 != L"c:/file"));
-      BOOST_TEST(!(L"c:\\file" != p10));
-      BOOST_TEST(!(L"c:/file" != p10));
-      BOOST_TEST(!(L"c:\\file" != p11));
-      BOOST_TEST(!(L"c:/file" != p11));
-
-      BOOST_TEST(!(p10.string() < p11.string()));
-      BOOST_TEST(!(p10 < p11));
-      BOOST_TEST(!(p10 < p11.string()));
-      BOOST_TEST(!(p10 < p11.string().c_str()));
-      BOOST_TEST(!(p10.string() < p11));
-      BOOST_TEST(!(p10.string().c_str() < p11));
-      BOOST_TEST(!(p10 < L"c:\\file"));
-      BOOST_TEST(!(p10 < L"c:/file"));
-      BOOST_TEST(!(p11 < L"c:\\file"));
-      BOOST_TEST(!(p11 < L"c:/file"));
-      BOOST_TEST(!(L"c:\\file" < p10));
-      BOOST_TEST(!(L"c:/file" < p10));
-      BOOST_TEST(!(L"c:\\file" < p11));
-      BOOST_TEST(!(L"c:/file" < p11));
-
-      BOOST_TEST(!(p10.generic_string() > p11.generic_string()));
-      BOOST_TEST(!(p10 > p11));
-      BOOST_TEST(!(p10 > p11.string()));
-      BOOST_TEST(!(p10 > p11.string().c_str()));
-      BOOST_TEST(!(p10.string() > p11));
-      BOOST_TEST(!(p10.string().c_str() > p11));
-      BOOST_TEST(!(p10 > L"c:\\file"));
-      BOOST_TEST(!(p10 > L"c:/file"));
-      BOOST_TEST(!(p11 > L"c:\\file"));
-      BOOST_TEST(!(p11 > L"c:/file"));
-      BOOST_TEST(!(L"c:\\file" > p10));
-      BOOST_TEST(!(L"c:/file" > p10));
-      BOOST_TEST(!(L"c:\\file" > p11));
-      BOOST_TEST(!(L"c:/file" > p11));
-    }
-  }
-
-  //  query_and_decomposition_tests  ---------------------------------------------------//
-  //
-  //  remove_filename() is also tested here, because its specification depends on
-  //  a decomposition function.
-
-  void query_and_decomposition_tests()
-  {
-    std::cout << "query_and_decomposition_tests..." << std::endl;
-
-    // stem() tests not otherwise covered
-    BOOST_TEST(path("b").stem() == "b");
-    BOOST_TEST(path("a/b.txt").stem() == "b");
-    BOOST_TEST(path("a/b.").stem() == "b"); 
-    BOOST_TEST(path("a.b.c").stem() == "a.b");
-    BOOST_TEST(path("a.b.c.").stem() == "a.b.c");
-
-    // extension() tests not otherwise covered
-    BOOST_TEST(path("a/b").extension() == "");
-    BOOST_TEST(path("a.b/c").extension() == "");
-    BOOST_TEST(path("a/b.txt").extension() == ".txt");
-    BOOST_TEST(path("a/b.").extension() == ".");
-    BOOST_TEST(path("a.b.c").extension() == ".c");
-    BOOST_TEST(path("a.b.c.").extension() == ".");
-    BOOST_TEST(path("a/").extension() == "");
-
-    // main q & d test sequence
-    path p;
-    path q;
-
-    p = q = "";
-    BOOST_TEST(p.relative_path().string() == "");
-    BOOST_TEST(p.parent_path().string() == "");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    BOOST_TEST(p.filename() == "");
-    BOOST_TEST(p.stem() == "");
-    BOOST_TEST(p.extension() == "");
-    BOOST_TEST(p.root_name() == "");
-    BOOST_TEST(p.root_directory() == "");
-    BOOST_TEST(p.root_path().string() == "");
-    BOOST_TEST(!p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(!p.has_root_directory());
-    BOOST_TEST(!p.has_relative_path());
-    BOOST_TEST(!p.has_filename());
-    BOOST_TEST(!p.has_stem());
-    BOOST_TEST(!p.has_extension());
-    BOOST_TEST(!p.has_parent_path());
-    BOOST_TEST(!p.is_absolute());
-
-    p = q = "/";
-    BOOST_TEST(p.relative_path().string() == "");
-    BOOST_TEST(p.parent_path().string() == "");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    BOOST_TEST(p.filename() == "/");
-    BOOST_TEST(p.stem() == "/");
-    BOOST_TEST(p.extension() == "");
-    BOOST_TEST(p.root_name() == "");
-    BOOST_TEST(p.root_directory() == "/");
-    BOOST_TEST(p.root_path().string() == "/");
-    BOOST_TEST(p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(p.has_root_directory());
-    BOOST_TEST(!p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_stem());
-    BOOST_TEST(!p.has_extension());
-    BOOST_TEST(!p.has_parent_path());
-    if (platform == "POSIX")
-      BOOST_TEST(p.is_absolute());
-    else
-      BOOST_TEST(!p.is_absolute());
-
-    p = q = "//";
-    CHECK_EQUAL(p.relative_path().string(), "");
-    CHECK_EQUAL(p.parent_path().string(), "");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    CHECK_EQUAL(p.filename(), "//");
-    CHECK_EQUAL(p.stem(), "//");
-    CHECK_EQUAL(p.extension(), "");
-    CHECK_EQUAL(p.root_name(), "//");
-    CHECK_EQUAL(p.root_directory(), "");
-    CHECK_EQUAL(p.root_path().string(), "//");
-    BOOST_TEST(p.has_root_path());
-    BOOST_TEST(p.has_root_name());
-    BOOST_TEST(!p.has_root_directory());
-    BOOST_TEST(!p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_stem());
-    BOOST_TEST(!p.has_extension());
-    BOOST_TEST(!p.has_parent_path());
-    BOOST_TEST(!p.is_absolute());
-
-    p = q = "///";
-    CHECK_EQUAL(p.relative_path().string(), "");
-    CHECK_EQUAL(p.parent_path().string(), "");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    CHECK_EQUAL(p.filename(), "/");
-    CHECK_EQUAL(p.stem(), "/");
-    CHECK_EQUAL(p.extension(), "");
-    CHECK_EQUAL(p.root_name(), "");
-    CHECK_EQUAL(p.root_directory(), "/");
-    CHECK_EQUAL(p.root_path().string(), "/");
-    BOOST_TEST(p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(p.has_root_directory());
-    BOOST_TEST(!p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_stem());
-    BOOST_TEST(!p.has_extension());
-    BOOST_TEST(!p.has_parent_path());
-    if (platform == "POSIX")
-      BOOST_TEST(p.is_absolute());
-    else
-      BOOST_TEST(!p.is_absolute());
-
-    p = q = ".";
-    BOOST_TEST(p.relative_path().string() == ".");
-    BOOST_TEST(p.parent_path().string() == "");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    BOOST_TEST(p.filename() == ".");
-    BOOST_TEST(p.stem() == ".");
-    BOOST_TEST(p.extension() == "");
-    BOOST_TEST(p.root_name() == "");
-    BOOST_TEST(p.root_directory() == "");
-    BOOST_TEST(p.root_path().string() == "");
-    BOOST_TEST(!p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(!p.has_root_directory());
-    BOOST_TEST(p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_stem());
-    BOOST_TEST(!p.has_extension());
-    BOOST_TEST(!p.has_parent_path());
-    BOOST_TEST(!p.is_absolute());
-
-    p = q = "..";
-    BOOST_TEST(p.relative_path().string() == "..");
-    BOOST_TEST(p.parent_path().string() == "");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    BOOST_TEST(p.filename() == "..");
-    BOOST_TEST(p.stem() == "..");
-    BOOST_TEST(p.extension() == "");
-    BOOST_TEST(p.root_name() == "");
-    BOOST_TEST(p.root_directory() == "");
-    BOOST_TEST(p.root_path().string() == "");
-    BOOST_TEST(!p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(!p.has_root_directory());
-    BOOST_TEST(p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_stem());
-    BOOST_TEST(!p.has_extension());
-    BOOST_TEST(!p.has_parent_path());
-    BOOST_TEST(!p.is_absolute());
-
-    p = q = "foo";
-    BOOST_TEST(p.relative_path().string() == "foo");
-    BOOST_TEST(p.parent_path().string() == "");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    BOOST_TEST(p.filename() == "foo");
-    BOOST_TEST(p.stem() == "foo");
-    BOOST_TEST(p.extension() == "");
-    BOOST_TEST(p.root_name() == "");
-    BOOST_TEST(p.root_directory() == "");
-    BOOST_TEST(p.root_path().string() == "");
-    BOOST_TEST(!p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(!p.has_root_directory());
-    BOOST_TEST(p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_stem());
-    BOOST_TEST(!p.has_extension());
-    BOOST_TEST(!p.has_parent_path());
-    BOOST_TEST(!p.is_absolute());
-
-    p = q = "/foo";
-    CHECK_EQUAL(p.relative_path().string(), "foo");
-    CHECK_EQUAL(p.parent_path().string(), "/");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    CHECK_EQUAL(p.filename(), "foo");
-    CHECK_EQUAL(p.stem(), "foo");
-    CHECK_EQUAL(p.extension(), "");
-    CHECK_EQUAL(p.root_name(), "");
-    CHECK_EQUAL(p.root_directory(), "/");
-    CHECK_EQUAL(p.root_path().string(), "/");
-    BOOST_TEST(p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(p.has_root_directory());
-    BOOST_TEST(p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_stem());
-    BOOST_TEST(!p.has_extension());
-    BOOST_TEST(p.has_parent_path());
-    if (platform == "POSIX")
-      BOOST_TEST(p.is_absolute());
-    else
-      BOOST_TEST(!p.is_absolute());
-
-    p = q = "/foo/";
-    CHECK_EQUAL(p.relative_path().string(), "foo/");
-    CHECK_EQUAL(p.parent_path().string(), "/foo");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    CHECK_EQUAL(p.filename(), ".");
-    CHECK_EQUAL(p.stem(), ".");
-    CHECK_EQUAL(p.extension(), "");
-    CHECK_EQUAL(p.root_name(), "");
-    CHECK_EQUAL(p.root_directory(), "/");
-    CHECK_EQUAL(p.root_path().string(), "/");
-    BOOST_TEST(p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(p.has_root_directory());
-    BOOST_TEST(p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_stem());
-    BOOST_TEST(!p.has_extension());
-    BOOST_TEST(p.has_parent_path());
-    if (platform == "POSIX")
-      BOOST_TEST(p.is_absolute());
-    else
-      BOOST_TEST(!p.is_absolute());
-
-    p = q = "///foo";
-    CHECK_EQUAL(p.relative_path().string(), "foo");
-    CHECK_EQUAL(p.parent_path().string(), "/");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    CHECK_EQUAL(p.filename(), "foo");
-    CHECK_EQUAL(p.root_name(), "");
-    CHECK_EQUAL(p.root_directory(), "/");
-    CHECK_EQUAL(p.root_path().string(), "/");
-    BOOST_TEST(p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(p.has_root_directory());
-    BOOST_TEST(p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_parent_path());
-    if (platform == "POSIX")
-      BOOST_TEST(p.is_absolute());
-    else
-      BOOST_TEST(!p.is_absolute());
-
-    p = q = "foo/bar";
-    BOOST_TEST(p.relative_path().string() == "foo/bar");
-    BOOST_TEST(p.parent_path().string() == "foo");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    BOOST_TEST(p.filename() == "bar");
-    BOOST_TEST(p.stem() == "bar");
-    BOOST_TEST(p.extension() == "");
-    BOOST_TEST(p.root_name() == "");
-    BOOST_TEST(p.root_directory() == "");
-    BOOST_TEST(p.root_path().string() == "");
-    BOOST_TEST(!p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(!p.has_root_directory());
-    BOOST_TEST(p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_stem());
-    BOOST_TEST(!p.has_extension());
-    BOOST_TEST(p.has_parent_path());
-    BOOST_TEST(!p.is_absolute());
-
-    p = q = "../foo";
-    BOOST_TEST(p.relative_path().string() == "../foo");
-    BOOST_TEST(p.parent_path().string() == "..");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    BOOST_TEST(p.filename() == "foo");
-    BOOST_TEST(p.root_name() == "");
-    BOOST_TEST(p.root_directory() == "");
-    BOOST_TEST(p.root_path().string() == "");
-    BOOST_TEST(!p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(!p.has_root_directory());
-    BOOST_TEST(p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_parent_path());
-    BOOST_TEST(!p.is_absolute());
-
-    p = q = "..///foo";
-    CHECK_EQUAL(p.relative_path().string(), "..///foo");
-    CHECK_EQUAL(p.parent_path().string(), "..");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    CHECK_EQUAL(p.filename(), "foo");
-    CHECK_EQUAL(p.root_name(), "");
-    CHECK_EQUAL(p.root_directory(), "");
-    CHECK_EQUAL(p.root_path().string(), "");
-    BOOST_TEST(!p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(!p.has_root_directory());
-    BOOST_TEST(p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_parent_path());
-    BOOST_TEST(!p.is_absolute());
-
-    p = q = "/foo/bar";
-    BOOST_TEST(p.relative_path().string() == "foo/bar");
-    BOOST_TEST(p.parent_path().string() == "/foo");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    BOOST_TEST(p.filename() == "bar");
-    BOOST_TEST(p.root_name() == "");
-    BOOST_TEST(p.root_directory() == "/");
-    BOOST_TEST(p.root_path().string() == "/");
-    BOOST_TEST(p.has_root_path());
-    BOOST_TEST(!p.has_root_name());
-    BOOST_TEST(p.has_root_directory());
-    BOOST_TEST(p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_parent_path());
-    if (platform == "POSIX")
-      BOOST_TEST(p.is_absolute());
-    else
-      BOOST_TEST(!p.is_absolute());
-
-    // Both POSIX and Windows allow two leading slashs
-    // (POSIX meaning is implementation defined)
-    PATH_CHECK(path("//resource"), "//resource");
-    PATH_CHECK(path("//resource/"), "//resource/");
-    PATH_CHECK(path("//resource/foo"), "//resource/foo");
-
-    p = q = path("//net");
-    CHECK_EQUAL(p.string(), "//net");
-    CHECK_EQUAL(p.relative_path().string(), "");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    CHECK_EQUAL(p.parent_path().string(), "");
-    CHECK_EQUAL(p.filename(), "//net");
-    CHECK_EQUAL(p.root_name(), "//net");
-    CHECK_EQUAL(p.root_directory(), "");
-    CHECK_EQUAL(p.root_path().string(), "//net");
-    BOOST_TEST(p.has_root_path());
-    BOOST_TEST(p.has_root_name());
-    BOOST_TEST(!p.has_root_directory());
-    BOOST_TEST(!p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(!p.has_parent_path());
-    BOOST_TEST(!p.is_absolute());
-
-    p = q = path("//net/");
-    BOOST_TEST(p.relative_path().string() == "");
-    BOOST_TEST(p.parent_path().string() == "//net");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    BOOST_TEST(p.filename() == "/");
-    BOOST_TEST(p.root_name() == "//net");
-    BOOST_TEST(p.root_directory() == "/");
-    BOOST_TEST(p.root_path().string() == "//net/");
-    BOOST_TEST(p.has_root_path());
-    BOOST_TEST(p.has_root_name());
-    BOOST_TEST(p.has_root_directory());
-    BOOST_TEST(!p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_parent_path());
-    BOOST_TEST(p.is_absolute());
-
-    p = q = path("//net/foo");
-    BOOST_TEST(p.relative_path().string() == "foo");
-    BOOST_TEST(p.parent_path().string() == "//net/");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    BOOST_TEST(p.filename() == "foo");
-    BOOST_TEST(p.root_name() == "//net");
-    BOOST_TEST(p.root_directory() == "/");
-    BOOST_TEST(p.root_path().string() == "//net/");
-    BOOST_TEST(p.has_root_path());
-    BOOST_TEST(p.has_root_name());
-    BOOST_TEST(p.has_root_directory());
-    BOOST_TEST(p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_parent_path());
-    BOOST_TEST(p.is_absolute());
-
-    p = q = path("//net///foo");
-    CHECK_EQUAL(p.relative_path().string(), "foo");
-    CHECK_EQUAL(p.parent_path().string(), "//net/");
-    BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-    CHECK_EQUAL(p.filename(), "foo");
-    CHECK_EQUAL(p.root_name(), "//net");
-    CHECK_EQUAL(p.root_directory(), "/");
-    CHECK_EQUAL(p.root_path().string(), "//net/");
-    BOOST_TEST(p.has_root_path());
-    BOOST_TEST(p.has_root_name());
-    BOOST_TEST(p.has_root_directory());
-    BOOST_TEST(p.has_relative_path());
-    BOOST_TEST(p.has_filename());
-    BOOST_TEST(p.has_parent_path());
-    BOOST_TEST(p.is_absolute());
-
-    if (platform == "Windows")
-    {
- 
-      //p = q = L"\\\\?\\";
-      //BOOST_TEST(p.relative_path().string() == "");
-      //BOOST_TEST(p.parent_path().string() == "");
-      //BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-      //BOOST_TEST(p.filename() == "");
-      //BOOST_TEST(p.stem() == "");
-      //BOOST_TEST(p.extension() == "");
-      //BOOST_TEST(p.root_name() == "");
-      //BOOST_TEST(p.root_directory() == "");
-      //BOOST_TEST(p.root_path().string() == "");
-      //BOOST_TEST(!p.has_root_path());
-      //BOOST_TEST(!p.has_root_name());
-      //BOOST_TEST(!p.has_root_directory());
-      //BOOST_TEST(!p.has_relative_path());
-      //BOOST_TEST(!p.has_filename());
-      //BOOST_TEST(!p.has_stem());
-      //BOOST_TEST(!p.has_extension());
-      //BOOST_TEST(!p.has_parent_path());
-      //BOOST_TEST(!p.is_absolute());
-
-      p = q = path("c:");
-      BOOST_TEST(p.relative_path().string() == "");
-      BOOST_TEST(p.parent_path().string() == "");
-      BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-      BOOST_TEST(p.filename() == "c:");
-      BOOST_TEST(p.root_name() == "c:");
-      BOOST_TEST(p.root_directory() == "");
-      BOOST_TEST(p.root_path().string() == "c:");
-      BOOST_TEST(p.has_root_path());
-      BOOST_TEST(p.has_root_name());
-      BOOST_TEST(!p.has_root_directory());
-      BOOST_TEST(!p.has_relative_path());
-      BOOST_TEST(p.has_filename());
-      BOOST_TEST(!p.has_parent_path());
-      BOOST_TEST(!p.is_absolute());
- 
-      //p = q = path(L"\\\\?\\c:");
-      //BOOST_TEST(p.relative_path().string() == "");
-      //BOOST_TEST(p.parent_path().string() == "");
-      //BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-      //BOOST_TEST(p.filename() == "c:");
-      //BOOST_TEST(p.root_name() == "c:");
-      //BOOST_TEST(p.root_directory() == "");
-      //BOOST_TEST(p.root_path().string() == "c:");
-      //BOOST_TEST(p.has_root_path());
-      //BOOST_TEST(p.has_root_name());
-      //BOOST_TEST(!p.has_root_directory());
-      //BOOST_TEST(!p.has_relative_path());
-      //BOOST_TEST(p.has_filename());
-      //BOOST_TEST(!p.has_parent_path());
-      //BOOST_TEST(!p.is_absolute());
-
-      p = q = path("c:foo");
-      BOOST_TEST(p.relative_path().string() == "foo");
-      BOOST_TEST(p.parent_path().string() == "c:");
-      BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-      BOOST_TEST(p.filename() == "foo");
-      BOOST_TEST(p.root_name() == "c:");
-      BOOST_TEST(p.root_directory() == "");
-      BOOST_TEST(p.root_path().string() == "c:");
-      BOOST_TEST(p.has_root_path());
-      BOOST_TEST(p.has_root_name());
-      BOOST_TEST(!p.has_root_directory());
-      BOOST_TEST(p.has_relative_path());
-      BOOST_TEST(p.has_filename());
-      BOOST_TEST(p.has_parent_path());
-      BOOST_TEST(!p.is_absolute());
-
-      //p = q = path(L"\\\\?\\c:foo");
-      //BOOST_TEST(p.relative_path().string() == "foo");
-      //BOOST_TEST(p.parent_path().string() == "c:");
-      //BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-      //BOOST_TEST(p.filename() == "foo");
-      //BOOST_TEST(p.root_name() == "c:");
-      //BOOST_TEST(p.root_directory() == "");
-      //BOOST_TEST(p.root_path().string() == "c:");
-      //BOOST_TEST(p.has_root_path());
-      //BOOST_TEST(p.has_root_name());
-      //BOOST_TEST(!p.has_root_directory());
-      //BOOST_TEST(p.has_relative_path());
-      //BOOST_TEST(p.has_filename());
-      //BOOST_TEST(p.has_parent_path());
-      //BOOST_TEST(!p.is_absolute());
-   
-      p = q = path("c:/");
-      BOOST_TEST(p.relative_path().string() == "");
-      BOOST_TEST(p.parent_path().string() == "c:");
-      BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-      BOOST_TEST(p.filename() == "/");
-      BOOST_TEST(p.root_name() == "c:");
-      BOOST_TEST(p.root_directory() == "/");
-      BOOST_TEST(p.root_path().string() == "c:/");
-      BOOST_TEST(p.has_root_path());
-      BOOST_TEST(p.has_root_name());
-      BOOST_TEST(p.has_root_directory());
-      BOOST_TEST(!p.has_relative_path());
-      BOOST_TEST(p.has_filename());
-      BOOST_TEST(p.has_parent_path());
-      BOOST_TEST(p.is_absolute());
-
-      p = q = path("c:..");
-      BOOST_TEST(p.relative_path().string() == "..");
-      BOOST_TEST(p.parent_path().string() == "c:");
-      BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-      BOOST_TEST(p.filename() == "..");
-      BOOST_TEST(p.root_name() == "c:");
-      BOOST_TEST(p.root_directory() == "");
-      BOOST_TEST(p.root_path().string() == "c:");
-      BOOST_TEST(p.has_root_path());
-      BOOST_TEST(p.has_root_name());
-      BOOST_TEST(!p.has_root_directory());
-      BOOST_TEST(p.has_relative_path());
-      BOOST_TEST(p.has_filename());
-      BOOST_TEST(p.has_parent_path());
-      BOOST_TEST(!p.is_absolute());
-
-      p = q = path("c:/foo");
-      CHECK_EQUAL(p.relative_path().string(), "foo");
-      CHECK_EQUAL(p.parent_path().string(), "c:/");
-      BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-      CHECK_EQUAL(p.filename(), "foo");
-      CHECK_EQUAL(p.root_name(), "c:");
-      CHECK_EQUAL(p.root_directory(), "/");
-      CHECK_EQUAL(p.root_path().string(), "c:/");
-      BOOST_TEST(p.has_root_path());
-      BOOST_TEST(p.has_root_name());
-      BOOST_TEST(p.has_root_directory());
-      BOOST_TEST(p.has_relative_path());
-      BOOST_TEST(p.has_filename());
-      BOOST_TEST(p.has_parent_path());
-      BOOST_TEST(p.is_absolute());
-
-      p = q = path("c://foo");
-      CHECK_EQUAL(p.relative_path().string(), "foo");
-      CHECK_EQUAL(p.parent_path().string(), "c:/");
-      BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-      CHECK_EQUAL(p.filename(), "foo");
-      CHECK_EQUAL(p.root_name(), "c:");
-      CHECK_EQUAL(p.root_directory(), "/");
-      CHECK_EQUAL(p.root_path().string(), "c:/");
-      BOOST_TEST(p.has_root_path());
-      BOOST_TEST(p.has_root_name());
-      BOOST_TEST(p.has_root_directory());
-      BOOST_TEST(p.has_relative_path());
-      BOOST_TEST(p.has_filename());
-      BOOST_TEST(p.has_parent_path());
-      BOOST_TEST(p.is_absolute());
-
-      p = q = path("c:\\foo\\bar");
-      CHECK_EQUAL(p.relative_path().string(), "foo\\bar");
-      CHECK_EQUAL(p.parent_path().string(), "c:\\foo");
-      BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-      CHECK_EQUAL(p.filename(), "bar");
-      CHECK_EQUAL(p.root_name(), "c:");
-      CHECK_EQUAL(p.root_directory(), "\\");
-      CHECK_EQUAL(p.root_path().string(), "c:\\");
-      BOOST_TEST(p.has_root_path());
-      BOOST_TEST(p.has_root_name());
-      BOOST_TEST(p.has_root_directory());
-      BOOST_TEST(p.has_relative_path());
-      BOOST_TEST(p.has_filename());
-      BOOST_TEST(p.has_parent_path());
-      BOOST_TEST(p.is_absolute());
-
-      p = q = path("prn:");
-      BOOST_TEST(p.relative_path().string() == "");
-      BOOST_TEST(p.parent_path().string() == "");
-      BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-      BOOST_TEST(p.filename() == "prn:");
-      BOOST_TEST(p.root_name() == "prn:");
-      BOOST_TEST(p.root_directory() == "");
-      BOOST_TEST(p.root_path().string() == "prn:");
-      BOOST_TEST(p.has_root_path());
-      BOOST_TEST(p.has_root_name());
-      BOOST_TEST(!p.has_root_directory());
-      BOOST_TEST(!p.has_relative_path());
-      BOOST_TEST(p.has_filename());
-      BOOST_TEST(!p.has_parent_path());
-      BOOST_TEST(!p.is_absolute());
-
-      p = q = path("\\\\net\\\\\\foo");
-      CHECK_EQUAL(p.relative_path().string(), "foo");
-      CHECK_EQUAL(p.parent_path().string(), "\\\\net\\");
-      BOOST_TEST_EQ(q.remove_filename().string(), p.parent_path().string());
-      CHECK_EQUAL(p.filename(), "foo");
-      CHECK_EQUAL(p.root_name(), "\\\\net");
-      CHECK_EQUAL(p.root_directory(), "\\");
-      CHECK_EQUAL(p.root_path().string(), "\\\\net\\");
-      BOOST_TEST(p.has_root_path());
-      BOOST_TEST(p.has_root_name());
-      BOOST_TEST(p.has_root_directory());
-      BOOST_TEST(p.has_relative_path());
-      BOOST_TEST(p.has_filename());
-      BOOST_TEST(p.has_parent_path());
-      BOOST_TEST(p.is_absolute());
-    } // Windows
-
-    else
-    { // POSIX
-      PATH_CHECK(path("/foo/bar/"), "/foo/bar/");
-      PATH_CHECK(path("//foo//bar//"), "//foo//bar//");
-      PATH_CHECK(path("///foo///bar///"), "///foo///bar///");
-
-      p = path("/usr/local/bin:/usr/bin:/bin");
-      BOOST_TEST(p.string() == "/usr/local/bin:/usr/bin:/bin");
-    } // POSIX
-  }
-
- //  composition_tests  ----------------------------------------------------------------//
-
-  void composition_tests()
-  {
-    std::cout << "composition_tests..." << std::endl;
-
-  }
-
- //  construction_tests  ---------------------------------------------------------------//
-
-  void construction_tests()
-  {
-    std::cout << "construction_tests..." << std::endl;
-
-    PATH_CHECK("", "");
-
-    PATH_CHECK("foo", "foo");
-    PATH_CHECK("f", "f");
-
-    PATH_CHECK("foo/", "foo/");
-    PATH_CHECK("f/", "f/");
-    PATH_CHECK("foo/..", "foo/..");
-    PATH_CHECK("foo/../", "foo/../");
-    PATH_CHECK("foo/bar/../..", "foo/bar/../..");
-    PATH_CHECK("foo/bar/../../", "foo/bar/../../");
-    PATH_CHECK(path("/"), "/");
-    PATH_CHECK(path("/f"), "/f");
-
-    PATH_CHECK("/foo", "/foo");
-    PATH_CHECK(path("/foo/bar/"), "/foo/bar/");
-    PATH_CHECK(path("//foo//bar//"), "//foo//bar//");
-    PATH_CHECK(path("///foo///bar///"), "///foo///bar///");
-    PATH_CHECK(path("\\/foo\\/bar\\/"), "\\/foo\\/bar\\/");
-    PATH_CHECK(path("\\//foo\\//bar\\//"), "\\//foo\\//bar\\//");
-
-    if (platform == "Windows")
-    {
-      PATH_CHECK(path("c:") / "foo", "c:foo");
-      PATH_CHECK(path("c:") / "/foo", "c:/foo");
-
-      PATH_CHECK(path("\\foo\\bar\\"), "\\foo\\bar\\");
-      PATH_CHECK(path("\\\\foo\\\\bar\\\\"), "\\\\foo\\\\bar\\\\");
-      PATH_CHECK(path("\\\\\\foo\\\\\\bar\\\\\\"), "\\\\\\foo\\\\\\bar\\\\\\");
-
-      PATH_CHECK(path("\\"), "\\");
-      PATH_CHECK(path("\\f"), "\\f");
-      PATH_CHECK(path("\\foo"), "\\foo");
-      PATH_CHECK(path("foo\\bar"), "foo\\bar");
-      PATH_CHECK(path("foo bar"), "foo bar");
-      PATH_CHECK(path("c:"), "c:");
-      PATH_CHECK(path("c:/"), "c:/");
-      PATH_CHECK(path("c:."), "c:.");
-      PATH_CHECK(path("c:./foo"), "c:./foo");
-      PATH_CHECK(path("c:.\\foo"), "c:.\\foo");
-      PATH_CHECK(path("c:.."), "c:..");
-      PATH_CHECK(path("c:/."), "c:/.");
-      PATH_CHECK(path("c:/.."), "c:/..");
-      PATH_CHECK(path("c:/../"), "c:/../");
-      PATH_CHECK(path("c:\\..\\"), "c:\\..\\");
-      PATH_CHECK(path("c:/../.."), "c:/../..");
-      PATH_CHECK(path("c:/../foo"), "c:/../foo");
-      PATH_CHECK(path("c:\\..\\foo"), "c:\\..\\foo");
-      PATH_CHECK(path("c:../foo"), "c:../foo");
-      PATH_CHECK(path("c:..\\foo"), "c:..\\foo");
-      PATH_CHECK(path("c:/../../foo"), "c:/../../foo");
-      PATH_CHECK(path("c:\\..\\..\\foo"), "c:\\..\\..\\foo");
-      PATH_CHECK(path("c:foo/.."), "c:foo/..");
-      PATH_CHECK(path("c:/foo/.."), "c:/foo/..");
-      PATH_CHECK(path("c:/..foo"), "c:/..foo");
-      PATH_CHECK(path("c:foo"), "c:foo");
-      PATH_CHECK(path("c:/foo"), "c:/foo");
-      PATH_CHECK(path("\\\\netname"), "\\\\netname");
-      PATH_CHECK(path("\\\\netname\\"), "\\\\netname\\");
-      PATH_CHECK(path("\\\\netname\\foo"), "\\\\netname\\foo");
-      PATH_CHECK(path("c:/foo"), "c:/foo");
-      PATH_CHECK(path("prn:"), "prn:");
-    }
-    else
-    {
-    }
-
-    PATH_CHECK("foo/bar", "foo/bar");
-    PATH_CHECK("a/b", "a/b");  // probe for length effects
-    PATH_CHECK("..", "..");
-    PATH_CHECK("../..", "../..");
-    PATH_CHECK("/..", "/..");
-    PATH_CHECK("/../..", "/../..");
-    PATH_CHECK("../foo", "../foo");
-    PATH_CHECK("foo/..", "foo/..");
-    PATH_CHECK(path("foo/..bar"), "foo/..bar");
-    PATH_CHECK("../f", "../f");
-    PATH_CHECK("/../f", "/../f");
-    PATH_CHECK("f/..", "f/..");
-    PATH_CHECK("foo/../..", "foo/../..");
-    PATH_CHECK("foo/../../..", "foo/../../..");
-    PATH_CHECK("foo/../bar", "foo/../bar");
-    PATH_CHECK("foo/bar/..", "foo/bar/..");
-    PATH_CHECK("foo/bar/../..", "foo/bar/../..");
-    PATH_CHECK("foo/bar/../blah", "foo/bar/../blah");
-    PATH_CHECK("f/../b", "f/../b");
-    PATH_CHECK("f/b/..", "f/b/..");
-    PATH_CHECK("f/b/../a", "f/b/../a");
-    PATH_CHECK("foo/bar/blah/../..", "foo/bar/blah/../..");
-    PATH_CHECK("foo/bar/blah/../../bletch", "foo/bar/blah/../../bletch");
-    PATH_CHECK("...", "...");
-    PATH_CHECK("....", "....");
-    PATH_CHECK("foo/...", "foo/...");
-    PATH_CHECK("abc.", "abc.");
-    PATH_CHECK("abc..", "abc..");
-    PATH_CHECK("foo/abc.", "foo/abc.");
-    PATH_CHECK("foo/abc..", "foo/abc..");
-
-    PATH_CHECK(path(".abc"), ".abc");
-    PATH_CHECK("a.c", "a.c");
-    PATH_CHECK(path("..abc"), "..abc");
-    PATH_CHECK("a..c", "a..c");
-    PATH_CHECK(path("foo/.abc"), "foo/.abc");
-    PATH_CHECK("foo/a.c", "foo/a.c");
-    PATH_CHECK(path("foo/..abc"), "foo/..abc");
-    PATH_CHECK("foo/a..c", "foo/a..c");
-
-    PATH_CHECK(".", ".");
-    PATH_CHECK("./foo", "./foo");
-    PATH_CHECK("./..", "./..");
-    PATH_CHECK("./../foo", "./../foo");
-    PATH_CHECK("foo/.", "foo/.");
-    PATH_CHECK("../.", "../.");
-    PATH_CHECK("./.", "./.");
-    PATH_CHECK("././.", "././.");
-    PATH_CHECK("./foo/.", "./foo/.");
-    PATH_CHECK("foo/./bar", "foo/./bar");
-    PATH_CHECK("foo/./.", "foo/./.");
-    PATH_CHECK("foo/./..", "foo/./..");
-    PATH_CHECK("foo/./../bar", "foo/./../bar");
-    PATH_CHECK("foo/../.", "foo/../.");
-    PATH_CHECK("././..", "././..");
-    PATH_CHECK("./../.", "./../.");
-    PATH_CHECK(".././.", ".././.");
-  }
-
-  //  append_tests  --------------------------------------------------------------------//
-
-  void append_test_aux(const path & p, const std::string & s, const std::string & expect)
-  {
-    PATH_CHECK(p / path(s), expect);
-    PATH_CHECK(p / s.c_str(), expect);
-    PATH_CHECK(p / s, expect);
-    path x(p);
-    x.append(s.begin(), s.end());
-    PATH_CHECK(x, expect);
-  }
-
-  void append_tests()
-  {
-    std::cout << "append_tests..." << std::endl;
-
-    // There are many control paths to be exercised, since empty paths and arguments,
-    // paths with trailing separators, arguments with leading separators, with or without
-    // other characters being present, are all separate cases that need to be tested.
-    // Furthermore, some of the code to be tested is specific to argument categories,
-    // so that results in further permutations to be tested.
-
-    //// code to generate test cases
-    //// 
-    //// expected results must be checked by hand
-    //// "foo\bar" expected result must be edited by hand and moved for Windows/POSIX
-    ////
-    //const char* x[]    = { "", "/", "foo", "foo/" };
-    //const char* y[] = { "", "/", "bar", "/bar" };
-
-    //for (int i = 0; i < sizeof(x)/sizeof(char*); ++i)
-    //  for (int j = 0; j < sizeof(y)/sizeof(char*); ++j)
-    //  {
-    //    std::cout << "\n    PATH_CHECK(path(\"" << x[i] << "\") / \"" << y[j] << "\", \"" 
-    //              << path(x[i]) / y[j] << "\");\n";
-    //    std::cout << "    append_test_aux(\"" << x[i] << "\", \"" << y[j] << "\", \""
-    //              << path(x[i]) / y[j] << "\");\n";
-    //  }
-
-    PATH_CHECK(path("") / "", "");
-    append_test_aux("", "", "");
-
-    PATH_CHECK(path("") / "/", "/");
-    append_test_aux("", "/", "/");
-
-    PATH_CHECK(path("") / "bar", "bar");
-    append_test_aux("", "bar", "bar");
-
-    PATH_CHECK(path("") / "/bar", "/bar");
-    append_test_aux("", "/bar", "/bar");
-
-    PATH_CHECK(path("/") / "", "/");
-    append_test_aux("/", "", "/");
-
-    PATH_CHECK(path("/") / "/", "//");
-    append_test_aux("/", "/", "//");
-
-    PATH_CHECK(path("/") / "bar", "/bar");
-    append_test_aux("/", "bar", "/bar");
-
-    PATH_CHECK(path("/") / "/bar", "//bar");
-    append_test_aux("/", "/bar", "//bar");
-
-    PATH_CHECK(path("foo") / "", "foo");
-    append_test_aux("foo", "", "foo");
-
-    PATH_CHECK(path("foo") / "/", "foo/");
-    append_test_aux("foo", "/", "foo/");
-
-    PATH_CHECK(path("foo") / "/bar", "foo/bar");
-    append_test_aux("foo", "/bar", "foo/bar");
-
-    PATH_CHECK(path("foo/") / "", "foo/");
-    append_test_aux("foo/", "", "foo/");
-
-    PATH_CHECK(path("foo/") / "/", "foo//");
-    append_test_aux("foo/", "/", "foo//");
-
-    PATH_CHECK(path("foo/") / "bar", "foo/bar");
-    append_test_aux("foo/", "bar", "foo/bar");
-
-    PATH_CHECK(path("foo/") / "/bar", "foo//bar");
-    append_test_aux("foo/", "/bar", "foo//bar");
-
-    if (platform == "Windows")
-    {
-      PATH_CHECK(path("foo") / "bar", "foo\\bar");
-      append_test_aux("foo", "bar", "foo\\bar");
-
-      // hand created test case specific to Windows
-      PATH_CHECK(path("c:") / "bar", "c:bar");
-      append_test_aux("c:", "bar", "c:bar");
-    }
-    else
-    {
-      PATH_CHECK(path("foo") / "bar", "foo/bar");
-      append_test_aux("foo", "bar", "foo/bar");
-    }
-
-  }
-
-  //  name_function_tests  -------------------------------------------------------------//
-
-  void name_function_tests()
-  {
-    std::cout << "name_function_tests..." << std::endl;
-
-    BOOST_TEST(fs::portable_posix_name(std::string("x")));
-    BOOST_TEST(fs::windows_name(std::string("x")));
-    BOOST_TEST(fs::portable_name(std::string("x")));
-    BOOST_TEST(fs::portable_directory_name(std::string("x")));
-    BOOST_TEST(fs::portable_file_name(std::string("x")));
-
-    BOOST_TEST(fs::portable_posix_name(std::string(".")));
-    BOOST_TEST(fs::windows_name(std::string(".")));
-    BOOST_TEST(fs::portable_name(std::string(".")));
-    BOOST_TEST(fs::portable_directory_name(std::string(".")));
-    BOOST_TEST(!fs::portable_file_name(std::string(".")));
-
-    BOOST_TEST(fs::portable_posix_name(std::string("..")));
-    BOOST_TEST(fs::windows_name(std::string("..")));
-    BOOST_TEST(fs::portable_name(std::string("..")));
-    BOOST_TEST(fs::portable_directory_name(std::string("..")));
-    BOOST_TEST(!fs::portable_file_name(std::string("..")));
-
-    BOOST_TEST(!fs::native(std::string("")));
-    BOOST_TEST(!fs::portable_posix_name(std::string("")));
-    BOOST_TEST(!fs::windows_name(std::string("")));
-    BOOST_TEST(!fs::portable_name(std::string("")));
-    BOOST_TEST(!fs::portable_directory_name(std::string("")));
-    BOOST_TEST(!fs::portable_file_name(std::string("")));
-
-    BOOST_TEST(!fs::native(std::string(" ")));
-    BOOST_TEST(!fs::portable_posix_name(std::string(" ")));
-    BOOST_TEST(!fs::windows_name(std::string(" ")));
-    BOOST_TEST(!fs::portable_name(std::string(" ")));
-    BOOST_TEST(!fs::portable_directory_name(std::string(" ")));
-    BOOST_TEST(!fs::portable_file_name(std::string(" ")));
-
-    BOOST_TEST(!fs::portable_posix_name(std::string(":")));
-    BOOST_TEST(!fs::windows_name(std::string(":")));
-    BOOST_TEST(!fs::portable_name(std::string(":")));
-    BOOST_TEST(!fs::portable_directory_name(std::string(":")));
-    BOOST_TEST(!fs::portable_file_name(std::string(":")));
-
-    BOOST_TEST(fs::portable_posix_name(std::string("-")));
-    BOOST_TEST(fs::windows_name(std::string("-")));
-    BOOST_TEST(!fs::portable_name(std::string("-")));
-    BOOST_TEST(!fs::portable_directory_name(std::string("-")));
-    BOOST_TEST(!fs::portable_file_name(std::string("-")));
-
-    BOOST_TEST(!fs::portable_posix_name(std::string("foo bar")));
-    BOOST_TEST(fs::windows_name(std::string("foo bar")));
-    BOOST_TEST(!fs::windows_name(std::string(" bar")));
-    BOOST_TEST(!fs::windows_name(std::string("foo ")));
-    BOOST_TEST(!fs::portable_name(std::string("foo bar")));
-    BOOST_TEST(!fs::portable_directory_name(std::string("foo bar")));
-    BOOST_TEST(!fs::portable_file_name(std::string("foo bar")));
-
-    BOOST_TEST(fs::portable_posix_name(std::string("foo.bar")));
-    BOOST_TEST(fs::windows_name(std::string("foo.bar")));
-    BOOST_TEST(fs::portable_name(std::string("foo.bar")));
-    BOOST_TEST(!fs::portable_directory_name(std::string("foo.bar")));
-    BOOST_TEST(fs::portable_file_name(std::string("foo.bar")));
-
-    BOOST_TEST(fs::portable_posix_name(std::string("foo.barf")));
-    BOOST_TEST(fs::windows_name(std::string("foo.barf")));
-    BOOST_TEST(fs::portable_name(std::string("foo.barf")));
-    BOOST_TEST(!fs::portable_directory_name(std::string("foo.barf")));
-    BOOST_TEST(!fs::portable_file_name(std::string("foo.barf")));
-
-    BOOST_TEST(fs::portable_posix_name(std::string(".foo")));
-    BOOST_TEST(fs::windows_name(std::string(".foo")));
-    BOOST_TEST(!fs::portable_name(std::string(".foo")));
-    BOOST_TEST(!fs::portable_directory_name(std::string(".foo")));
-    BOOST_TEST(!fs::portable_file_name(std::string(".foo")));
-
-    BOOST_TEST(fs::portable_posix_name(std::string("foo.")));
-    BOOST_TEST(!fs::windows_name(std::string("foo.")));
-    BOOST_TEST(!fs::portable_name(std::string("foo.")));
-    BOOST_TEST(!fs::portable_directory_name(std::string("foo.")));
-    BOOST_TEST(!fs::portable_file_name(std::string("foo.")));
-  }
-  
-  //  replace_extension_tests  ---------------------------------------------------//
-
-  void replace_extension_tests()
-  {
-    std::cout << "replace_extension_tests..." << std::endl;
-
-    BOOST_TEST(path().replace_extension().empty());
-    BOOST_TEST(path().replace_extension("a").empty());
-    BOOST_TEST(path().replace_extension("a.") == ".");
-    BOOST_TEST(path().replace_extension("a.txt") == ".txt");
-    // see the rationale in html docs for explanation why this works:
-    BOOST_TEST(path().replace_extension(".txt") == ".txt");
-
-    BOOST_TEST(path("a.txt").replace_extension() == "a");
-    BOOST_TEST(path("a.txt").replace_extension("") == "a");
-    BOOST_TEST(path("a.txt").replace_extension(".") == "a.");
-    BOOST_TEST(path("a.txt").replace_extension(".tex") == "a.tex");
-    BOOST_TEST(path("a.txt").replace_extension("tex") == "a");
-    BOOST_TEST(path("a.").replace_extension(".tex") == "a.tex");
-    BOOST_TEST(path("a.").replace_extension("tex") == "a");
-    BOOST_TEST(path("a").replace_extension(".txt") == "a.txt");
-    BOOST_TEST(path("a").replace_extension("txt") == "a");
-    BOOST_TEST(path("a.b.txt").replace_extension(".tex") == "a.b.tex");  
-    BOOST_TEST(path("a.b.txt").replace_extension("tex") == "a.b");
-    BOOST_TEST(path("a/b").replace_extension(".c") == "a/b.c");
-    BOOST_TEST_EQ(path("a.txt/b").replace_extension(".c"), "a.txt/b.c"); // ticket 4702
-  }
-  
-  //  make_preferred_tests  ------------------------------------------------------------//
-
-  void make_preferred_tests()
-  {
-    std::cout << "make_preferred_tests..." << std::endl;
-
-    if (platform == "Windows")
-    {
-      BOOST_TEST(path("//abc\\def/ghi").make_preferred().native()
-        == path("\\\\abc\\def\\ghi").native());
-    }
-    else
-    {
-      BOOST_TEST(path("//abc\\def/ghi").make_preferred().native()
-        == path("//abc\\def/ghi").native());
-    }
-  }
-
-} // unnamed namespace
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                                     main                                             //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-int cpp_main(int, char*[])
-{
-  // The choice of platform is make at runtime rather than compile-time
-  // so that compile errors for all platforms will be detected even though
-  // only the current platform is runtime tested.
-  platform = (platform == "Win32" || platform == "Win64" || platform == "Cygwin")
-               ? "Windows"
-               : "POSIX";
-  std::cout << "Platform is " << platform << '\n';
-
-  BOOST_TEST(p1.string() != p3.string());
-  p3 = p2;
-  BOOST_TEST(p1.string() == p3.string());
-
-  path p4("foobar");
-  BOOST_TEST(p4.string() == "foobar");
-  p4 = p4; // self-assignment
-  BOOST_TEST(p4.string() == "foobar");
-
-  construction_tests();
-  append_tests();
-  overload_tests();
-  query_and_decomposition_tests();
-  composition_tests();
-  iterator_tests();
-  non_member_tests();
-  exception_tests();
-  name_function_tests();
-  replace_extension_tests();
-  make_preferred_tests();
-
-  // verify deprecated names still available
-
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-
-  p1.branch_path();
-  p1.leaf();
-  path p_remove_leaf;
-  p_remove_leaf.remove_leaf();
-
-# endif
-
-  std::string s1("//:somestring");  // this used to be treated specially
-
-  // check the path member templates
-  p5.assign(s1.begin(), s1.end());
-
-  PATH_CHECK(p5, "//:somestring");
-  p5 = s1;
-  PATH_CHECK(p5, "//:somestring");
-
-  // this code, courtesy of David Whetstone, detects a now fixed bug that
-  // derefereced the end iterator (assuming debug build with checked itors)
-  std::vector<char> v1;
-  p5.assign(v1.begin(), v1.end());
-  std::string s2(v1.begin(), v1.end());
-  PATH_CHECK(p5, s2);
-  p5.assign(s1.begin(), s1.begin() + 1);
-  PATH_CHECK(p5, "/");
-
-  BOOST_TEST(p1 != p4);
-  BOOST_TEST(p1.string() == p2.string());
-  BOOST_TEST(p1.string() == p3.string());
-  BOOST_TEST(path("foo").filename() == "foo");
-  BOOST_TEST(path("foo").parent_path().string() == "");
-  BOOST_TEST(p1.filename() == "fum");
-  BOOST_TEST(p1.parent_path().string() == "fe/fi/fo");
-  BOOST_TEST(path("").empty() == true);
-  BOOST_TEST(path("foo").empty() == false);
-
-  // inserter and extractor tests
-# if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 // bypass VC++ 7.0 and earlier
-  std::cout << "\nInserter and extractor test...";
-  std::stringstream ss;
-  ss << fs::path("foo/bar") << std::endl;
-  fs::path round_trip;
-  ss >> round_trip;
-  BOOST_TEST(round_trip.string() == "foo/bar");
-  std::cout << round_trip.string() << "..." << round_trip << " complete\n";
-# endif
-
-  return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/filesystem/v3/test/path_unit_test.cpp b/SRC/Boost/libs/filesystem/v3/test/path_unit_test.cpp
deleted file mode 100755
index 4d37191..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/path_unit_test.cpp
+++ /dev/null
@@ -1,1037 +0,0 @@
-//  filesystem path_unit_test.cpp  ---------------------------------------------------  //
-
-//  Copyright Beman Dawes 2008, 2009
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//  ----------------------------------------------------------------------------------  //
-//
-//  The purpose of this test is to ensure that each function in the public
-//  interface can be called with arguments of the appropriate types. It does
-//  not attempt to verify that the full range of values for each argument
-//  are processed correctly.
-//
-//  For full functionality tests, including probes with many different argument
-//  values, see path_test.cpp and other test programs.
-//
-//  ----------------------------------------------------------------------------------  //
-
-#define BOOST_FILESYSTEM_VERSION 3
-
-#include <boost/config.hpp>
-
-# if defined( BOOST_NO_STD_WSTRING )
-#   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
-# endif
-
-#include <boost/config/warning_disable.hpp>
-
-//  See deprecated_test for tests of deprecated features
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED 
-# define BOOST_FILESYSTEM_NO_DEPRECATED
-#endif
-#ifndef BOOST_SYSTEM_NO_DEPRECATED 
-# define BOOST_SYSTEM_NO_DEPRECATED
-#endif
-
-#include <boost/filesystem/path.hpp>
-#include <boost/filesystem/detail/utf8_codecvt_facet.hpp>  // for imbue tests
-#include "test_codecvt.hpp"                                // for codecvt arg tests
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-#include <boost/smart_ptr.hpp>  // used constructor tests
-#include <boost/functional/hash.hpp>
-
-#include <iostream>
-#include <iomanip>
-#include <sstream>
-#include <string>
-#include <cstring>
-#include <cwchar>
-#include <locale>
-#include <list>
-
-namespace fs = boost::filesystem;
-namespace bs = boost::system;
-using boost::filesystem::path;
-using std::cout;
-using std::endl;
-using std::string;
-using std::wstring;
-
-#define CHECK(x) check(x, __FILE__, __LINE__)
-#define PATH_IS(a, b) check_path(a, b, __FILE__, __LINE__)
-#define NATIVE_IS(p, s, ws) check_native(p, s, ws, __FILE__, __LINE__)
-#define IS(a,b) check_equal(a, b, __FILE__, __LINE__)
-
-#if defined(_MSC_VER)
-# pragma warning(push) // Save warning settings.
-# pragma warning(disable : 4428) // Disable universal-character-name encountered in source warning.
-#endif
-
-namespace
-{
-
-  boost::system::error_code ec;
-  const boost::system::error_code ok;
-  const boost::system::error_code ng(-1, boost::system::system_category());
-
-  std::string platform(BOOST_PLATFORM);
-
-  void check_path(const path& source,
-              const wstring& expected, const char* file, int line)
-  {
-    if (source == expected) return;
-
-    ++::boost::detail::test_errors();
-
-    std::cout << file;
-    std::wcout << L'(' << line << L"): source.wstring(): \""
-               << source.wstring()
-               << L"\" != expected: \"" << expected
-               << L"\"\n" ;
-  }
-
-# ifdef BOOST_WINDOWS_API
-  void check_native(const path& p,
-    const string&, const wstring& expected, const char* file, int line)
-# else
-  void check_native(const path& p,
-    const string& expected, const wstring&, const char* file, int line)
-# endif
-  {
-    if (p.native() == expected) return;
-
-    ++::boost::detail::test_errors();
-
-    std::cout << file  << '(' << line << "): native() is not equal expected\n"
-      "  native---: " << std::hex;
-    path::string_type nat(p.native());
-    for (path::string_type::const_iterator it = nat.begin(); it != nat.end(); ++it)
-      std::cout << long(*it) << ' ';
-    std::cout << "\n  expected-: ";
-    for (path::string_type::const_iterator it = expected.begin(); it != expected.end(); ++it)
-      std::cout << long(*it) << ' ';
-    std::cout << std::dec << std::endl;
-  }
-
-  template< class T1, class T2 >
-  void check_equal(const T1& value,
-                    const T2& expected, const char* file, int line)
-  {
-    if (value == expected) return;
-
-    ++::boost::detail::test_errors();
-
-    std::cout << file;
-
-    std::wcout << L'(' << line << L"): value: \"" << value
-               << L"\" != expected: \"" << expected
-               << L"\"\n" ;
-  }
-
-  void check(bool ok, const char* file, int line)
-  {
-    if (ok) return;
-
-    ++::boost::detail::test_errors();
-
-    std::cout << file << '(' << line << "): test failed\n";
-  }
-
-  string s("string");
-  wstring ws(L"wstring");
-  std::list<char> l;      // see main() for initialization to s, t, r, i, n, g
-  std::list<wchar_t> wl;  // see main() for initialization to w, s, t, r, i, n, g
-  std::vector<char> v;      // see main() for initialization to f, u, z
-  std::vector<wchar_t> wv;  // see main() for initialization to w, f, u, z
-
-  class Base {};
-  class Derived : public Base {};
-  void fun(const boost::filesystem::path&) {}
-  void fun(const boost::shared_ptr< Base >&) {}
-
-  //  test_constructors  ---------------------------------------------------------------//
-
-  void test_constructors()
-  {
-    std::cout << "testing constructors..." << std::endl;
-
-    path x0;                                           // default constructor
-    PATH_IS(x0, L"");
-    BOOST_TEST_EQ(x0.native().size(), 0U);
-
-    path x1(l.begin(), l.end());                       // iterator range char
-    PATH_IS(x1, L"string");
-    BOOST_TEST_EQ(x1.native().size(), 6U);
-
-    path x2(x1);                                       // copy constructor
-    PATH_IS(x2, L"string");
-    BOOST_TEST_EQ(x2.native().size(), 6U);
-
-    path x3(wl.begin(), wl.end());                     // iterator range wchar_t
-    PATH_IS(x3, L"wstring");
-    BOOST_TEST_EQ(x3.native().size(), 7U);
-
-    // contiguous containers
-    path x4(string("std::string"));                    // std::string
-    PATH_IS(x4, L"std::string");
-    BOOST_TEST_EQ(x4.native().size(), 11U);
-
-    path x5(wstring(L"std::wstring"));                 // std::wstring
-    PATH_IS(x5, L"std::wstring");
-    BOOST_TEST_EQ(x5.native().size(), 12U);
-
-    path x4v(v);                                       // std::vector<char>
-    PATH_IS(x4v, L"fuz");
-    BOOST_TEST_EQ(x4v.native().size(), 3U);
-
-    path x5v(wv);                                      // std::vector<wchar_t>
-    PATH_IS(x5v, L"wfuz");
-    BOOST_TEST_EQ(x5v.native().size(), 4U);
-
-    path x6("array char");                             // array char
-    PATH_IS(x6, L"array char");
-    BOOST_TEST_EQ(x6.native().size(), 10U);
-
-    path x7(L"array wchar_t");                         // array wchar_t
-    PATH_IS(x7, L"array wchar_t");
-    BOOST_TEST_EQ(x7.native().size(), 13U);
-
-    char char_array[100];
-    std::strcpy(char_array, "big array char");
-    path x6o(char_array);                              // array char, only partially full
-    PATH_IS(x6o, L"big array char");
-    BOOST_TEST_EQ(x6o.native().size(), 14U);
-
-    wchar_t wchar_array[100];
-    std::wcscpy(wchar_array, L"big array wchar_t");
-    path x7o(wchar_array);                             // array char, only partially full
-    PATH_IS(x7o, L"big array wchar_t");
-    BOOST_TEST_EQ(x7o.native().size(), 17U);
-
-    path x8(s.c_str());                                // const char* null terminated
-    PATH_IS(x8, L"string");
-    BOOST_TEST_EQ(x8.native().size(), 6U);
-
-    path x9(ws.c_str());                               // const wchar_t* null terminated
-    PATH_IS(x9, L"wstring");
-    BOOST_TEST_EQ(x9.native().size(), 7U);
-
-    // non-contiguous containers
-    path x10(l);                                       // std::list<char>
-    PATH_IS(x10, L"string");
-    BOOST_TEST_EQ(x10.native().size(), 6U);
-
-    path xll(wl);                                      // std::list<wchar_t>
-    PATH_IS(xll, L"wstring");
-    BOOST_TEST_EQ(xll.native().size(), 7U);
-
-    // easy-to-make coding errors
-    // path e1(x0, path::codecvt());  // fails to compile, and that is OK
-
-    boost::shared_ptr< Derived > pDerived( new Derived() ); 
-    fun( pDerived );  // tests constructor member template enable_if working correctly;
-                      // will fail to compile if enable_if not taking path off the table
-  }
-
-  path x;
-  path y;
-
-  //  test_assignments  ----------------------------------------------------------------//
-
-  void test_assignments()
-  {
-    std::cout << "testing assignments..." << std::endl;
-
-    x = path("yet another path");                      // another path
-    PATH_IS(x, L"yet another path");
-    BOOST_TEST_EQ(x.native().size(), 16U);
-
-    x = x;                                             // self-assignment
-    PATH_IS(x, L"yet another path");
-    BOOST_TEST_EQ(x.native().size(), 16U);
-
-    x.assign(l.begin(), l.end());                      // iterator range char
-    PATH_IS(x, L"string");
-
-    x.assign(wl.begin(), wl.end());                    // iterator range wchar_t
-    PATH_IS(x, L"wstring");
-
-    x = string("std::string");                         // container char
-    PATH_IS(x, L"std::string");
-
-    x = wstring(L"std::wstring");                      // container wchar_t
-    PATH_IS(x, L"std::wstring");
-
-    x = "array char";                                  // array char
-    PATH_IS(x, L"array char");
-
-    x = L"array wchar";                                // array wchar_t
-    PATH_IS(x, L"array wchar");
-
-    x = s.c_str();                                     // const char* null terminated
-    PATH_IS(x, L"string");
-
-    x = ws.c_str();                                    // const wchar_t* null terminated
-    PATH_IS(x, L"wstring");
-   }
-
-  //  test_appends  --------------------------------------------------------------------//
-
-  void test_appends()
-  {
-    std::cout << "testing appends..." << std::endl;
-
-# ifdef BOOST_WINDOWS_API
-#   define BOOST_FS_FOO L"/foo\\"
-# else   // POSIX paths
-#   define BOOST_FS_FOO L"/foo/"
-# endif
-
-    x = "/foo";
-    x /= path("");                                      // empty path
-    PATH_IS(x, L"/foo");
-
-    x = "/foo";
-    x /= path("/");                                     // slash path
-    PATH_IS(x, L"/foo/");
-
-    x = "/foo";
-    x /= path("/boo");                                  // slash path
-    PATH_IS(x, L"/foo/boo");
-
-    x = "/foo";
-    x /= x;                                             // self-append
-    PATH_IS(x, L"/foo/foo");
-
-    x = "/foo";
-    x /= path("yet another path");                      // another path
-    PATH_IS(x, BOOST_FS_FOO L"yet another path");
-
-    x = "/foo";
-    x.append(l.begin(), l.end());                      // iterator range char
-    PATH_IS(x, BOOST_FS_FOO L"string");
-
-    x = "/foo";
-    x.append(wl.begin(), wl.end());                    // iterator range wchar_t
-    PATH_IS(x, BOOST_FS_FOO L"wstring");
-
-    x = "/foo";
-    x /= string("std::string");                         // container char
-    PATH_IS(x, BOOST_FS_FOO L"std::string");
-
-    x = "/foo";
-    x /= wstring(L"std::wstring");                      // container wchar_t
-    PATH_IS(x, BOOST_FS_FOO L"std::wstring");
-
-    x = "/foo";
-    x /= "array char";                                  // array char
-    PATH_IS(x, BOOST_FS_FOO L"array char");
-
-    x = "/foo";
-    x /= L"array wchar";                                // array wchar_t
-    PATH_IS(x, BOOST_FS_FOO L"array wchar");
-
-    x = "/foo";
-    x /= s.c_str();                                     // const char* null terminated
-    PATH_IS(x, BOOST_FS_FOO L"string");
-
-    x = "/foo";
-    x /= ws.c_str();                                    // const wchar_t* null terminated
-    PATH_IS(x, BOOST_FS_FOO L"wstring");
-   }
-
-  //  test_observers  ------------------------------------------------------------------//
-
-  void test_observers()
-  {
-    std::cout << "testing observers..." << std::endl;
-
-    path p0("abc");
-
-    CHECK(p0.native().size() == 3);
-    CHECK(p0.string() == "abc");
-    CHECK(p0.string().size() == 3);
-    CHECK(p0.wstring() == L"abc");
-    CHECK(p0.wstring().size() == 3);
-
-# ifdef BOOST_WINDOWS_API
-
-    path p("abc\\def/ghi");
-
-    CHECK(std::wstring(p.c_str()) == L"abc\\def/ghi");
-
-    CHECK(p.string() == "abc\\def/ghi");
-    CHECK(p.wstring() == L"abc\\def/ghi");
-
-    CHECK(p.generic_string() == "abc/def/ghi");
-    CHECK(p.generic_wstring() == L"abc/def/ghi");
-
-    CHECK(p.generic_string<string>() == "abc/def/ghi");
-    CHECK(p.generic_string<wstring>() == L"abc/def/ghi");
-    CHECK(p.generic_string<path::string_type>() == L"abc/def/ghi");
-
-# else  // BOOST_POSIX_API
-
-    path p("abc\\def/ghi");
-
-    CHECK(string(p.c_str()) == "abc\\def/ghi");
-
-    CHECK(p.string() == "abc\\def/ghi");
-    CHECK(p.wstring() == L"abc\\def/ghi");
-
-    CHECK(p.generic_string() == "abc\\def/ghi");
-    CHECK(p.generic_wstring() == L"abc\\def/ghi");
-
-    CHECK(p.generic_string<string>() == "abc\\def/ghi");
-    CHECK(p.generic_string<wstring>() == L"abc\\def/ghi");
-    CHECK(p.generic_string<path::string_type>() == "abc\\def/ghi");
-
-# endif
-  }
-
-  //  test_relationals  ----------------------------------------------------------------//
-
-  void test_relationals()
-  {
-    std::cout << "testing relationals..." << std::endl;
-
-    boost::hash<path> hash;
-
-# ifdef BOOST_WINDOWS_API
-    // this is a critical use case to meet user expectations
-    CHECK(path("c:\\abc") == path("c:/abc"));
-    CHECK(hash(path("c:\\abc")) == hash(path("c:/abc")));
-# endif
-
-    const path p("bar");
-    const path p2("baz");
-
-    CHECK(!(p < p));
-    CHECK(p < p2);
-    CHECK(!(p2 < p));
-    CHECK(p < "baz");
-    CHECK(p < string("baz"));
-    CHECK(p < L"baz");
-    CHECK(p < wstring(L"baz"));
-    CHECK(!("baz" < p));
-    CHECK(!(string("baz") < p));
-    CHECK(!(L"baz" < p));
-    CHECK(!(wstring(L"baz") < p));
-
-    CHECK(p == p);
-    CHECK(!(p == p2));
-    CHECK(!(p2 == p));
-    CHECK(p2 == "baz");
-    CHECK(p2 == string("baz"));
-    CHECK(p2 == L"baz");
-    CHECK(p2 == wstring(L"baz"));
-    CHECK("baz" == p2);
-    CHECK(string("baz") == p2);
-    CHECK(L"baz" == p2);
-    CHECK(wstring(L"baz") == p2);
-
-    CHECK(hash(p) == hash(p));
-    CHECK(hash(p) != hash(p2)); // Not strictly required, but desirable
-
-    CHECK(!(p != p));
-    CHECK(p != p2);
-    CHECK(p2 != p);
-
-    CHECK(p <= p);
-    CHECK(p <= p2);
-    CHECK(!(p2 <= p));
-
-    CHECK(!(p > p));
-    CHECK(!(p > p2));
-    CHECK(p2 > p);
-
-    CHECK(p >= p);
-    CHECK(!(p >= p2));
-    CHECK(p2 >= p);
-}
-
-  //  test_inserter_and_extractor  -----------------------------------------------------//
-
-  void test_inserter_and_extractor()
-  {
-    std::cout << "testing inserter and extractor..." << std::endl;
-
-    path p1("foo bar");  // verify space in path roundtrips per ticket #3863
-    path p2;
-
-    std::stringstream ss;
-
-    CHECK(p1 != p2);
-    ss << p1;
-    ss >> p2;
-    CHECK(p1 == p2);
-
-    path wp1(L"foo bar");
-    path wp2;
-
-    std::wstringstream wss;
-
-    CHECK(wp1 != wp2);
-    wss << wp1;
-    wss >> wp2;
-    CHECK(wp1 == wp2);
-  }
-
-  //  test_other_non_members  ----------------------------------------------------------//
-
-  void test_other_non_members()
-  {
-    std::cout << "testing other_non_members..." << std::endl;
-
-    path p1("foo");
-    path p2("bar");
-
-    //  operator /
-
-    CHECK(p1 / p2 == path("foo/bar").make_preferred());
-    CHECK("foo" / p2 == path("foo/bar").make_preferred());
-    CHECK(L"foo" / p2 == path("foo/bar").make_preferred());
-    CHECK(string("foo") / p2 == path("foo/bar").make_preferred());
-    CHECK(wstring(L"foo") / p2 == path("foo/bar").make_preferred());
-    CHECK(p1 / "bar" == path("foo/bar").make_preferred());
-    CHECK(p1 / L"bar" == path("foo/bar").make_preferred());
-    CHECK(p1 / string("bar") == path("foo/bar").make_preferred());
-    CHECK(p1 / wstring(L"bar") == path("foo/bar").make_preferred());
-
-    swap(p1, p2);
-
-    CHECK(p1 == "bar");
-    CHECK(p2 == "foo");
-
-    CHECK(path("").remove_filename() == "");
-    CHECK(path("foo").remove_filename() == "");
-    CHECK(path("foo/bar").remove_filename() == "foo");
-  }
-
-//  //  test_modifiers  ------------------------------------------------------------------//
-//
-//  void test_modifiers()
-//  {
-//    std::cout << "testing modifiers..." << std::endl;
-//
-//  }
-
-  //  test_iterators  ------------------------------------------------------------------//
-
-  void test_iterators()
-  {
-    std::cout << "testing iterators..." << std::endl;
-
-    path p1;
-    CHECK(p1.begin() == p1.end());
-
-    path p2("/");
-    CHECK(p2.begin() != p2.end());
-    CHECK(*p2.begin() == "/");
-    CHECK(++p2.begin() == p2.end());
-
-    path p3("foo/bar/baz");
-
-    path::iterator it(p3.begin());
-    CHECK(p3.begin() != p3.end());
-    CHECK(*it == "foo");
-    CHECK(*++it == "bar");
-    CHECK(*++it == "baz");
-    CHECK(*--it == "bar");
-    CHECK(*--it == "foo");
-    CHECK(*++it == "bar");
-    CHECK(*++it == "baz");
-    CHECK(++it == p3.end());
-  }
-
-  //  test_modifiers  ------------------------------------------------------------------//
-
-  void test_modifiers()
-  {
-    std::cout << "testing modifiers..." << std::endl;
-
-  }
-
-  //  test_decompositions  -------------------------------------------------------------//
-
-  void test_decompositions()
-  {
-    std::cout << "testing decompositions..." << std::endl;
-
-    CHECK(path("").root_name().string() == "");
-    CHECK(path("foo").root_name().string() == "");
-    CHECK(path("/").root_name().string() == "");
-    CHECK(path("/foo").root_name().string() == "");
-    CHECK(path("//netname").root_name().string() == "//netname");
-    CHECK(path("//netname/foo").root_name().string() == "//netname");
-
-    CHECK(path("").root_directory().string() == "");
-    CHECK(path("foo").root_directory().string() == "");
-    CHECK(path("/").root_directory().string() == "/");
-    CHECK(path("/foo").root_directory().string() == "/");
-    CHECK(path("//netname").root_directory().string() == "");
-    CHECK(path("//netname/foo").root_directory().string() == "/");
-
-    CHECK(path("").root_path().string() == "");
-    CHECK(path("/").root_path().string() == "/");
-    CHECK(path("/foo").root_path().string() == "/");
-    CHECK(path("//netname").root_path().string() == "//netname");
-    CHECK(path("//netname/foo").root_path().string() == "//netname/");
-
-#   ifdef BOOST_WINDOWS_API
-    CHECK(path("c:/foo").root_path().string() == "c:/");
-#   endif
-
-    CHECK(path("").relative_path().string() == "");
-    CHECK(path("/").relative_path().string() == "");
-    CHECK(path("/foo").relative_path().string() == "foo");
-
-    CHECK(path("").parent_path().string() == "");
-    CHECK(path("/").parent_path().string() == "");
-    CHECK(path("/foo").parent_path().string() == "/");
-    CHECK(path("/foo/bar").parent_path().string() == "/foo");
-
-    CHECK(path("/foo/bar/baz.zoo").filename().string() == "baz.zoo");
-
-    CHECK(path("/foo/bar/baz.zoo").stem().string() == "baz");
-    CHECK(path("/foo/bar.woo/baz").stem().string() == "baz");
-
-    CHECK(path("foo.bar.baz.tar.bz2").extension().string() == ".bz2");
-    CHECK(path("/foo/bar/baz.zoo").extension().string() == ".zoo");
-    CHECK(path("/foo/bar.woo/baz").extension().string() == "");
-  }
-
-  //  test_queries  --------------------------------------------------------------------//
-
-  void test_queries()
-  {
-    std::cout << "testing queries..." << std::endl;
-
-    path p1("");
-    path p2("//netname/foo.doo");
-
-    CHECK(p1.empty());
-    CHECK(!p1.has_root_path());
-    CHECK(!p1.has_root_name());
-    CHECK(!p1.has_root_directory());
-    CHECK(!p1.has_relative_path());
-    CHECK(!p1.has_parent_path());
-    CHECK(!p1.has_filename());
-    CHECK(!p1.has_stem());
-    CHECK(!p1.has_extension());
-    CHECK(!p1.is_absolute());
-    CHECK(p1.is_relative());
-
-    CHECK(!p2.empty());
-    CHECK(p2.has_root_path());
-    CHECK(p2.has_root_name());
-    CHECK(p2.has_root_directory());
-    CHECK(p2.has_relative_path());
-    CHECK(p2.has_parent_path());
-    CHECK(p2.has_filename());
-    CHECK(p2.has_stem());
-    CHECK(p2.has_extension());
-    CHECK(p2.is_absolute());
-    CHECK(!p2.is_relative());
-
-  }
-
-  //  test_imbue_locale  ---------------------------------------------------------------//
-
-  void test_imbue_locale()
-  {
-    std::cout << "testing imbue locale..." << std::endl;
-
-    //  weak test case for before/after states since we don't know what characters the
-    //  default locale accepts. 
-    path before("abc");
-
-    //  So that tests are run with known encoding, use Boost UTF-8 codecvt
-    //  \u2722 and \xE2\x9C\xA2 are UTF-16 and UTF-8 FOUR TEARDROP-SPOKED ASTERISK
-
-    std::locale global_loc = std::locale();
-    std::locale loc(global_loc, new fs::detail::utf8_codecvt_facet);
-    std::cout << "  imbuing locale ..." << std::endl;
-    std::locale old_loc = path::imbue(loc);
-
-    std::cout << "  testing with the imbued locale ..." << std::endl;
-    path p2("\xE2\x9C\xA2");
-    CHECK(p2 == L"\u2722");
-    CHECK(p2.wstring() == L"\u2722");
-
-    std::cout << "  imbuing the original locale ..." << std::endl;
-    path::imbue(old_loc);
-
-    std::cout << "  testing with the original locale ..." << std::endl;
-    path after("abc");
-    CHECK(before == after);
-
-    std::cout << "  locale testing complete" << std::endl;
-  }
-
-  //  test_codecvt_argument  -----------------------------------------------------------//
-
-  void test_codecvt_argument()
-  {
-    std::cout << "testing codecvt arguments..." << std::endl;
-
-    const char * c1 = "a1";
-    const std::string s1(c1);
-    const std::wstring ws1(L"b2");  // off-by-one mimics test_codecvt
-    const std::string s2("y8");
-    const std::wstring ws2(L"z9");
-
-    test_codecvt cvt;  // produces off-by-one values that will always differ from
-                       // the system's default locale codecvt facet
-
-    int t = 0;
-
-    //  constructors
-    std::cout << "  constructors test " << ++t << std::endl;
-    path p(c1, cvt);
-    NATIVE_IS(p, s1, ws1);
-
-    std::cout << "  test " << ++t << std::endl;
-    path p1(s1.begin(), s1.end(), cvt);
-    NATIVE_IS(p1, s1, ws1);
-
-    std::cout << "  test " << ++t << std::endl;
-    path p2(ws2, cvt);
-    NATIVE_IS(p2, s2, ws2);
-
-    std::cout << "  test " << ++t << std::endl;
-    path p3(ws2.begin(), ws2.end(), cvt);
-    NATIVE_IS(p3, s2, ws2);
-
-    // path p2(p1, cvt);  // fails to compile, and that is OK
-
-    //  assigns
-    p1.clear();
-    std::cout << "  assigns test " << ++t << std::endl;
-    p1.assign(s1,cvt);
-    NATIVE_IS(p1, s1, ws1);
-    p1.clear();
-    std::cout << "  test " << ++t << std::endl;
-    p1.assign(s1.begin(), s1.end(), cvt);
-    NATIVE_IS(p1, s1, ws1);
-    // p1.assign(p, cvt);  // fails to compile, and that is OK
-
-    //  appends
-    p1.clear();
-    std::cout << "  appends test " << ++t << std::endl;
-    p1.append(s1,cvt);
-    NATIVE_IS(p1, s1, ws1);
-    p1.clear();
-    std::cout << "  test " << ++t << std::endl;
-    p1.append(s1.begin(), s1.end(), cvt);
-    NATIVE_IS(p1, s1, ws1);
-    // p1.append(p, cvt);  // fails to compile, and that is OK
-
-    //  native observers
-    std::cout << "  native observers test " << ++t << std::endl;
-    CHECK(p.string<std::string>(cvt) == s1);
-    std::cout << "  test " << ++t << std::endl;
-    CHECK(p.string(cvt) == s1);
-    std::cout << "  test " << ++t << std::endl;
-    CHECK(p.string<std::wstring>(cvt) == ws1);
-    std::cout << "  test " << ++t << std::endl;
-    CHECK(p.wstring(cvt) == ws1);
-
-    //  generic observers
-    std::cout << "  generic observers test " << ++t << std::endl;
-    CHECK(p.generic_string<std::string>(cvt) == s1);
-    std::cout << "  test " << ++t << std::endl;
-    CHECK(p.generic_string(cvt) == s1);
-    std::cout << "  test " << ++t << std::endl;
-    CHECK(p.generic_string<std::wstring>(cvt) == ws1);
-    std::cout << "  test " << ++t << std::endl;
-    CHECK(p.generic_wstring(cvt) == ws1);
-
-    std::cout << "  codecvt arguments testing complete" << std::endl;
-  }
-
-  //  test_overloads  ------------------------------------------------------------------//
-
-  void test_overloads()
-  {
-    std::cout << "testing overloads..." << std::endl;
-    std::string s("hello");
-    const char a[] = "goodbye";
-    path p1(s);
-    path p2(s.c_str());
-    path p3(a);
-    path p4("foo");
-
-    std::wstring ws(L"hello");
-    const wchar_t wa[] = L"goodbye";
-    path wp1(ws);
-    path wp2(ws.c_str());
-    path wp3(wa);
-    path wp4(L"foo");
-  }
-
-  //  test_error_handling  -------------------------------------------------------------//
-
-  class error_codecvt
-    : public std::codecvt< wchar_t, char, std::mbstate_t >
-  {
-  public:
-    explicit error_codecvt()
-        : std::codecvt<wchar_t, char, std::mbstate_t>() {}
-  protected:
-
-    virtual bool do_always_noconv() const throw() { return false; }
-    virtual int do_encoding() const throw() { return 0; }
-
-    virtual std::codecvt_base::result do_in(std::mbstate_t&,
-      const char*, const char*, const char*&,
-      wchar_t*, wchar_t*, wchar_t*&) const
-    {
-      static std::codecvt_base::result r = std::codecvt_base::noconv;
-      if (r == std::codecvt_base::partial) r = std::codecvt_base::error;
-      else if (r == std::codecvt_base::error) r = std::codecvt_base::noconv;
-      else r = std::codecvt_base::partial;
-      return r;
-    }
-
-    virtual std::codecvt_base::result do_out(std::mbstate_t &,
-      const wchar_t*, const wchar_t*, const wchar_t*&,
-      char*, char*, char*&) const
-    {
-      static std::codecvt_base::result r = std::codecvt_base::noconv;
-      if (r == std::codecvt_base::partial) r = std::codecvt_base::error;
-      else if (r == std::codecvt_base::error) r = std::codecvt_base::noconv;
-      else r = std::codecvt_base::partial;
-      return r;
-    }
-
-    virtual std::codecvt_base::result do_unshift(std::mbstate_t&,
-        char*, char*, char* &) const  { return ok; }
-    virtual int do_length(std::mbstate_t &,
-      const char*, const char*, std::size_t) const  { return 0; }
-    virtual int do_max_length() const throw () { return 0; }
-  };
-
-  void test_error_handling()
-  {
-    std::cout << "testing error handling..." << std::endl;
-
-    std::locale global_loc = std::locale();
-    std::locale loc(global_loc, new error_codecvt);
-    std::cout << "  imbuing error locale ..." << std::endl;
-    std::locale old_loc = path::imbue(loc);
-
-    //  These tests rely on a path constructor that fails in the locale conversion.
-    //  Thus construction has to call codecvt. Force that by using a narrow string
-    //  for Windows, and a wide string for POSIX.
-#   ifdef BOOST_WINDOWS_API
-#     define STRING_FOO_ "foo"
-#   else
-#     define STRING_FOO_ L"foo"
-#   endif
-
-    {
-      std::cout << "    testing std::codecvt_base::partial error..." << std::endl;
-      bool exception_thrown (false);
-      try { path(STRING_FOO_); }
-      catch (const bs::system_error & ex)
-      {
-        exception_thrown = true;
-        BOOST_TEST_EQ(ex.code(), bs::error_code(std::codecvt_base::partial,
-          fs::codecvt_error_category()));
-      }
-      catch (...) { std::cout << "***** unexpected exception type *****" << std::endl; }
-      BOOST_TEST(exception_thrown);
-    }
-
-    {
-      std::cout << "    testing std::codecvt_base::error error..." << std::endl;
-      bool exception_thrown (false);
-      try { path(STRING_FOO_); }
-      catch (const bs::system_error & ex)
-      {
-        exception_thrown = true;
-        BOOST_TEST_EQ(ex.code(), bs::error_code(std::codecvt_base::error,
-          fs::codecvt_error_category()));
-      }
-      catch (...) { std::cout << "***** unexpected exception type *****" << std::endl; }
-      BOOST_TEST(exception_thrown);
-    }
-
-    {
-      std::cout << "    testing std::codecvt_base::noconv error..." << std::endl;
-      bool exception_thrown (false);
-      try { path(STRING_FOO_); }
-      catch (const bs::system_error & ex)
-      {
-        exception_thrown = true;
-        BOOST_TEST_EQ(ex.code(), bs::error_code(std::codecvt_base::noconv,
-          fs::codecvt_error_category()));
-      }
-      catch (...) { std::cout << "***** unexpected exception type *****" << std::endl; }
-      BOOST_TEST(exception_thrown);
-    }
-
-    std::cout << "  restoring original locale ..." << std::endl;
-    path::imbue(old_loc);
-    std::cout << "  testing error handling complete" << std::endl;
- }
-
-# if 0
-
-//  //  test_locales  --------------------------------------------------------------------//
-//
-//  void test_locales()
-//  {
-//    std::cout << "testing locales..." << std::endl;
-//
-//  }
-
-  //  test_user_supplied_type  ---------------------------------------------------------//
-
-  typedef std::basic_string<int> user_string;
-
-}  // unnamed namespace
-
-namespace boost
-{
-namespace filesystem
-{
-  namespace path_traits
-  {
-    template<> struct is_iterator<const user_string::value_type *> { static const bool value = true; };
-    template<> struct is_iterator<user_string::value_type *> { static const bool value = true; };
-    template<> struct is_iterator<user_string::iterator> { static const bool value = true; };
-    template<> struct is_iterator<user_string::const_iterator> { static const bool value = true; };
-    template<> struct is_container<user_string> { static const bool value = true; };
-
-    template<>
-    void append<user_string::value_type>(const user_string::value_type * begin,
-      const user_string::value_type * end, string_type & target, system::error_code & ec)
-    {
-      for (; begin != end && *begin; ++begin)
-        target += *begin + 1;  // change so that results distinguishable from char cvts
-    }
-
-#  ifdef __GNUC__
-    //  This specialization shouldn't be needed, and VC++, Intel, and others work
-    //  fine without it. But gcc 4.3.2, and presumably other versions, need it.
-    template<>
-    void append<user_string::value_type>(const user_string::value_type * begin,
-      string_type & target, system::error_code & ec)
-    {
-      path_traits::append<user_string::value_type>(begin,
-        static_cast<const user_string::value_type *>(0), target, ec);
-    }
-#  endif
-
-    template<>
-    user_string convert<user_string>(const string_type & source,
-      system::error_code & ec)
-    {
-      user_string temp;
-      for (string_type::const_iterator it = source.begin();
-            it != source.end(); ++it)
-        temp += *it - 1;
-      return temp;
-    }
-  }  // namespace path_traits
-}  // namespace filesystem
-}  // namespace boost
-
-namespace
-{
-
-  void test_user_supplied_type()
-  {
-    std::cout << "testing user supplied type..." << std::endl;
-
-    user_string::value_type usr_c_str[] = { 'a', 'b', 'c', 0 };
-    user_string usr(usr_c_str);
-
-    path p1(usr.c_str());
-    CHECK(p1 == path("bcd"));
-    CHECK(p1 == "bcd");
-    user_string s1(p1.string<user_string>());
-    CHECK(s1 == usr);
-  }
-
-# endif
-
-}  // unnamed namespace
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                                     main                                             //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-int cpp_main(int, char*[])
-{
-// document state of critical macros
-#ifdef BOOST_POSIX_API
-  cout << "BOOST_POSIX_API" << endl;
-#endif
-#ifdef BOOST_WINDOWS_API
-  cout << "BOOST_WINDOWS_API" << endl;
-#endif
-
-  l.push_back('s');
-  l.push_back('t');
-  l.push_back('r');
-  l.push_back('i');
-  l.push_back('n');
-  l.push_back('g');
-
-  wl.push_back(L'w');
-  wl.push_back(L's');
-  wl.push_back(L't');
-  wl.push_back(L'r');
-  wl.push_back(L'i');
-  wl.push_back(L'n');
-  wl.push_back(L'g');
-
-  v.push_back('f');
-  v.push_back('u');
-  v.push_back('z');
-
-  wv.push_back(L'w');
-  wv.push_back(L'f');
-  wv.push_back(L'u');
-  wv.push_back(L'z');
-
-  test_overloads();
-  test_constructors();
-  test_assignments();
-  test_appends();
-  test_modifiers();
-  test_observers();
-  test_relationals();
-  test_inserter_and_extractor();
-  test_other_non_members();
-  test_iterators();
-  test_decompositions();
-  test_queries();
-  test_imbue_locale();
-  test_codecvt_argument();
-  test_error_handling();
-
-# if 0
-
-  test_user_supplied_type();
-
-#endif
-
-  std::string foo("\\abc");
-  const char* bar = "/abc";
-
-  if (foo == bar)
-    cout << "unintended consequence\n";
-
-  return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/filesystem/v3/test/test_codecvt.hpp b/SRC/Boost/libs/filesystem/v3/test/test_codecvt.hpp
deleted file mode 100755
index feafa52..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/test_codecvt.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-//  test_codecvt.hpp  ------------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2009, 2010
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-#ifndef BOOST_FILESYSTEM3_TEST_CODECVT_HPP
-#define BOOST_FILESYSTEM3_TEST_CODECVT_HPP
-
-#include <boost/filesystem/v3/config.hpp>
-#include <locale>
-#include <cwchar>  // for mbstate_t
-
-  //------------------------------------------------------------------------------------//
-  //                                                                                    //
-  //                              class test_codecvt                                    //
-  //                                                                                    //
-  //  Warning: partial implementation; even do_in and do_out only partially meet the    //
-  //  standard library specifications as the "to" buffer must hold the entire result.   //
-  //                                                                                    //
-  //  The value of a wide character is the value of the corresponding narrow character  //
-  //  plus 1. This ensures that compares against expected values will fail if the       //
-  //  code conversion did not occur as expected.                                        //
-  //                                                                                    //
-  //------------------------------------------------------------------------------------//
-
-  class test_codecvt
-    : public std::codecvt< wchar_t, char, std::mbstate_t >  
-  {
-  public:
-    explicit test_codecvt()
-        : std::codecvt<wchar_t, char, std::mbstate_t>() {}
-  protected:
-
-    virtual bool do_always_noconv() const throw() { return false; }
-
-    virtual int do_encoding() const throw() { return 0; }
-
-    virtual std::codecvt_base::result do_in(std::mbstate_t&, 
-      const char* from, const char* from_end, const char*& from_next,
-      wchar_t* to, wchar_t* to_end, wchar_t*& to_next) const
-    {
-      for (; from != from_end && to != to_end; ++from, ++to)
-        *to = *from + 1;
-      if (to == to_end)
-        return error;
-      *to = L'\0';
-      from_next = from;
-      to_next = to;
-      return ok;
-   }
-
-    virtual std::codecvt_base::result do_out(std::mbstate_t&,
-      const wchar_t* from, const wchar_t* from_end, const wchar_t*& from_next,
-      char* to, char* to_end, char*& to_next) const
-    {
-      for (; from != from_end && to != to_end; ++from, ++to)
-        *to = static_cast<char>(*from - 1);
-      if (to == to_end)
-        return error;
-      *to = '\0';
-      from_next = from;
-      to_next = to;
-      return ok;
-    }
-
-    virtual std::codecvt_base::result do_unshift(std::mbstate_t&,
-        char* /*from*/, char* /*to*/, char* & /*next*/) const  { return ok; } 
-
-    virtual int do_length(std::mbstate_t&,
-      const char* /*from*/, const char* /*from_end*/, std::size_t /*max*/) const  { return 0; }
-
-    virtual int do_max_length() const throw () { return 0; }
-  };
-
-#endif  // BOOST_FILESYSTEM3_TEST_CODECVT_HPP
diff --git a/SRC/Boost/libs/filesystem/v3/test/windows_attributes.cpp b/SRC/Boost/libs/filesystem/v3/test/windows_attributes.cpp
deleted file mode 100755
index 15ffdad..0000000
--- a/SRC/Boost/libs/filesystem/v3/test/windows_attributes.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-//  windows_attributes  ----------------------------------------------------------------//
-
-//  Copyright Beman Dawes 2010
-   
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------//
-
-//                   Useful for debugging status related issues                         //
-
-//--------------------------------------------------------------------------------------//
-
-#include <boost/filesystem.hpp>
-#include <boost/detail/lightweight_main.hpp>
-#include <windows.h>
-#include <map>
-#include <utility>
-#include <iostream>
-#include <string>
-
-using std::make_pair;
-namespace fs = boost::filesystem;
-
-int cpp_main( int argc, char* argv[])
-{
-  typedef std::map<DWORD, std::string> decode_type;
-  decode_type table;
-
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_ARCHIVE, "FILE_ATTRIBUTE_ARCHIVE"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_COMPRESSED, "FILE_ATTRIBUTE_COMPRESSED"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_DEVICE, "FILE_ATTRIBUTE_DEVICE"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_DIRECTORY, "FILE_ATTRIBUTE_DIRECTORY"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_ENCRYPTED, "FILE_ATTRIBUTE_ENCRYPTED"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_HIDDEN, "FILE_ATTRIBUTE_HIDDEN"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_NOT_CONTENT_INDEXED, "FILE_ATTRIBUTE_NOT_CONTENT_INDEXED"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_OFFLINE, "FILE_ATTRIBUTE_OFFLINE"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_READONLY, "FILE_ATTRIBUTE_READONLY"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_REPARSE_POINT, "FILE_ATTRIBUTE_REPARSE_POINT"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_SPARSE_FILE, "FILE_ATTRIBUTE_SPARSE_FILE"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_SYSTEM, "FILE_ATTRIBUTE_SYSTEM"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_TEMPORARY, "FILE_ATTRIBUTE_TEMPORARY"));
-  table.insert(make_pair<DWORD, std::string>(FILE_ATTRIBUTE_VIRTUAL, "FILE_ATTRIBUTE_VIRTUAL"));
-
-  if (argc < 2)
-  {
-    std::cout << "Usage: windows_attributes path\n";
-    return 1;
-  }
-
-  //  report Win32  ::GetFileAttributesA()
-
-  DWORD at(::GetFileAttributesA(argv[1]));
-  if (at == INVALID_FILE_ATTRIBUTES)
-  {
-    std::cout << "GetFileAttributes(\"" << argv[1]
-              << "\") returned INVALID_FILE_ATTRIBUTES\n";
-    return 0;
-  }
-
-  std::cout << "GetFileAttributes(\"" << argv[1]
-            << "\") returned ";
-
-  bool bar = false;
-  for (decode_type::iterator it = table.begin(); it != table.end(); ++it)
-  {
-    if (!(it->first & at))
-      continue;
-    if (bar)
-      std::cout << " | ";
-    bar = true;
-    std::cout << it->second;
-    at &= ~it->first;
-  }
-  std::cout << std::endl;
-
-  if (at)
-    std::cout << "plus unknown attributes " << at << std::endl;
-
-  //  report Boost Filesystem file_type
-
-  fs::file_status stat = fs::status(argv[1]);
-
-  const char* types[] = 
-    { 
-    "status_error",
-    "file_not_found",
-    "regular_file",
-    "directory_file",
-    // the following may not apply to some operating systems or file systems
-    "symlink_file",
-    "block_file",
-    "character_file",
-    "fifo_file",
-    "socket_file",
-    "reparse_file",  // Windows: FILE_ATTRIBUTE_REPARSE_POINT that is not a symlink
-    "type_unknown",  // file does exist", but isn't one of the above types or
-                   // we don't have strong enough permission to find its type
-
-    "_detail_directory_symlink"  // internal use only; never exposed to users
-  };
-
-  std::cout << "boost::filesystem::status().type() is " << types[stat.type()] << std::endl;
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/doc/Jamfile.v2 b/SRC/Boost/libs/function/doc/Jamfile.v2
deleted file mode 100755
index 73d1800..0000000
--- a/SRC/Boost/libs/function/doc/Jamfile.v2
+++ /dev/null
@@ -1,16 +0,0 @@
-#   Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-  
-#   Distributed under the Boost Software License, Version 1.0.
-#   (See accompanying file LICENSE_1_0.txt or copy at
-#   http://www.boost.org/LICENSE_1_0.txt)
-project boost/doc ;
-import boostbook : boostbook ;
-
-boostbook function-doc 
-    : 
-    function.xml 
-    :
-        <xsl:param>boost.root=../../../..
-        <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html
-    ;
-
diff --git a/SRC/Boost/libs/function/doc/faq.xml b/SRC/Boost/libs/function/doc/faq.xml
deleted file mode 100755
index fb86f2b..0000000
--- a/SRC/Boost/libs/function/doc/faq.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-   Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-  
-   Distributed under the Boost Software License, Version 1.0.
-   (See accompanying file LICENSE_1_0.txt or copy at
-   http://www.boost.org/LICENSE_1_0.txt)
-  -->
-<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-<section id="function.faq" last-revision="$Date: 2006-11-03 15:41:10 -0400 (Fri, 03 Nov 2006) $">
-  <title>Frequently Asked Questions</title>
-
-<qandaset>
-  <qandaentry>
-    <question><para>Why can't I compare
-    <classname>boost::function</classname> objects with
-    <code>operator==</code> or
-    <code>operator!=</code>?</para></question>
-
-    <answer>
-      <para>Comparison between <classname>boost::function</classname>
-      objects cannot be implemented "well", and therefore will not be
-      implemented. The typical semantics requested for <code>f ==
-      g</code> given <classname>boost::function</classname> objects
-      <code>f</code> and <code>g</code> are:</para>
-        <itemizedlist>
-          <listitem><simpara>If <code>f</code> and <code>g</code>
-          store function objects of the same type, use that type's
-          <code>operator==</code> to compare
-          them.</simpara></listitem> 
-
-          <listitem><simpara>If <code>f</code> and <code>g</code>
-          store function objects of different types, return
-          <code>false</code>.</simpara></listitem>
-        </itemizedlist>
-      <para>The problem occurs when the type of the function objects
-      stored by both <code>f</code> and <code>g</code> doesn't have an
-      <code>operator==</code>: we would like the expression <code>f ==
-      g</code> to fail to compile, as occurs with, e.g., the standard
-      containers. However, this is not implementable for
-      <classname>boost::function</classname> because it necessarily
-      "erases" some type information after it has been assigned a
-      function object, so it cannot try to call
-      <code>operator==</code> later: it must either find a way to call
-      <code>operator==</code> now, or it will never be able to call it
-      later. Note, for instance, what happens if you try to put a
-      <code>float</code> value into a
-      <classname>boost::function</classname> object: you will get an
-      error at the assignment operator or constructor, not in
-      <code>operator()</code>, because the function-call expression
-      must be bound in the constructor or assignment operator.</para>
-
-      <para>The most promising approach is to find a method of
-      determining if <code>operator==</code> can be called for a
-      particular type, and then supporting it only when it is
-      available; in other situations, an exception would be
-      thrown. However, to date there is no known way to detect if an
-      arbitrary operator expression <code>f == g</code> is suitably
-      defined. The best solution known has the following undesirable
-      qualities:</para>
-
-      <orderedlist>
-        <listitem><simpara>Fails at compile-time for objects where
-        <code>operator==</code> is not accessible (e.g., because it is
-        <code>private</code>).</simpara></listitem>
-
-        <listitem><simpara>Fails at compile-time if calling
-        <code>operator==</code> is ambiguous.</simpara></listitem>
-
-        <listitem><simpara>Appears to be correct if the
-        <code>operator==</code> declaration is correct, even though
-        <code>operator==</code> may not compile.</simpara></listitem>
-      </orderedlist>
-
-      <para>All of these problems translate into failures in the
-      <classname>boost::function</classname> constructors or
-      assignment operator, <emphasis>even if the user never invokes
-      operator==</emphasis>. We can't do that to users.</para>
-
-      <para>The other option is to place the burden on users that want
-      to use <code>operator==</code>, e.g., by providing an
-      <code>is_equality_comparable</code> trait they may
-      specialize. This is a workable solution, but is dangerous in
-      practice, because forgetting to specialize the trait will result
-      in unexpected exceptions being thrown from
-      <classname>boost::function</classname>'s
-      <code>operator==</code>. This essentially negates the usefulness
-      of <code>operator==</code> in the context in which it is most
-      desired: multitarget callbacks. The
-      <libraryname>Signals</libraryname> library has a way around
-      this.</para>
-    </answer>
-  </qandaentry>
-
-  <qandaentry>
-    <question><para>I see void pointers; is this [mess] type safe?</para></question>
-    <answer>
-<para>Yes, <computeroutput>boost::function</computeroutput> is type
-safe even though it uses void pointers and pointers to functions
-returning void and taking no arguments. Essentially, all type
-information is encoded in the functions that manage and invoke
-function pointers and function objects. Only these functions are
-instantiated with the exact type that is pointed to by the void
-pointer or pointer to void function. The reason that both are required
-is that one may cast between void pointers and object pointers safely
-or between different types of function pointers (provided you don't
-invoke a function pointer with the wrong type).  </para>
-    </answer>
-  </qandaentry>
-
-  <qandaentry>
-    <question><para>Why are there workarounds for void returns? C++ allows them!</para></question>
-    <answer><para>Void returns are permitted by the C++ standard, as in this code snippet:
-<programlisting>void f();
-void g() { return f(); }</programlisting>
-    </para>
-
-    <para> This is a valid usage of <computeroutput>boost::function</computeroutput> because void returns are not used. With void returns, we would attempting to compile ill-formed code similar to:
-<programlisting>int f();
-void g() { return f(); }</programlisting>
-</para>
-
-<para> In essence, not using void returns allows
-<computeroutput>boost::function</computeroutput> to swallow a return value. This is
-consistent with allowing the user to assign and invoke functions and
-function objects with parameters that don't exactly match.</para>
-
-    </answer>
-  </qandaentry>
-
-  <qandaentry>
-    <question><para>Why (function) cloning?</para></question>
-    <answer>
-      <para>In November and December of 2000, the issue of cloning
-      vs. reference counting was debated at length and it was decided
-      that cloning gave more predictable semantics. I won't rehash the
-      discussion here, but if it cloning is incorrect for a particular
-      application a reference-counting allocator could be used.</para>
-    </answer>
-  </qandaentry>
-
-  <qandaentry>
-    <question><para>How much overhead does a call through <code><classname>boost::function</classname></code> incur?</para></question>
-    <answer>
-      <para>The cost of <code>boost::function</code> can be reasonably
-      consistently measured at around 20ns +/- 10 ns on a modern >2GHz
-      platform versus directly inlining the code.</para>
-
-      <para>However, the performance of your application may benefit
-      from or be disadvantaged by <code>boost::function</code>
-      depending on how your C++ optimiser optimises.  Similar to a
-      standard function pointer, differences of order of 10% have been
-      noted to the benefit or disadvantage of using
-      <code>boost::function</code> to call a function that contains a
-      tight loop depending on your compilation circumstances.</para>
-     
-      <para>[Answer provided by Matt Hurd. See <ulink url="http://article.gmane.org/gmane.comp.lib.boost.devel/33278"/>]</para>
-    </answer>
-  </qandaentry>
-</qandaset> 
-
-</section>
diff --git a/SRC/Boost/libs/function/doc/function.xml b/SRC/Boost/libs/function/doc/function.xml
deleted file mode 100755
index bff045e..0000000
--- a/SRC/Boost/libs/function/doc/function.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-<library name="Function" dirname="function" id="function" 
-         last-revision="$Date: 2004-07-24 22:59:30 -0400 (Sat, 24 Jul 2004) $" 
-         xmlns:xi="http://www.w3.org/2001/XInclude">
-<libraryinfo>
-  <author>
-    <firstname>Douglas</firstname>
-    <surname>Gregor</surname>
-    <email>dgregor -at- cs.indiana.edu</email>
-  </author>
-
-  <copyright>
-    <year>2001</year>
-    <year>2002</year>
-    <year>2003</year>
-    <year>2004</year>
-    <holder>Douglas Gregor</holder>
-  </copyright>
-
-  <legalnotice>
-    <para>Use, modification and distribution is subject to the Boost
-    Software License, Version 1.0. (See accompanying file
-    <filename>LICENSE_1_0.txt</filename> or copy at <ulink
-    url="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</ulink>)</para>
-  </legalnotice>
-
-  <librarypurpose>Function object wrappers for deferred calls or callbacks</librarypurpose>
-  <librarycategory name="category:higher-order"/>
-</libraryinfo>
-
-<title>Boost.Function</title>
-
-<section id="function.intro">
-<title>Introduction</title> 
-<para>The Boost.Function library contains a family of class templates
-that are function object wrappers. The notion is similar to a
-generalized callback. It shares features with function pointers in
-that both define a call interface (e.g., a function taking two integer
-arguments and returning a floating-point value) through which some
-implementation can be called, and the implementation that is invoked
-may change throughout the course of the program.</para>
-
-<para> Generally, any place in which a function pointer would be used
-to defer a call or make a callback, Boost.Function can be used instead
-to allow the user greater flexibility in the implementation of the
-target. Targets can be any 'compatible' function object (or function
-pointer), meaning that the arguments to the interface designated by
-Boost.Function can be converted to the arguments of the target
-function object.</para>
-</section>
-
-<xi:include href="history.xml"/>
-<xi:include href="tutorial.xml"/>
-<xi:include href="reference.xml"/>
-<xi:include href="faq.xml"/>
-<xi:include href="misc.xml"/>
-<xi:include href="tests.xml"/>
-
-</library>
diff --git a/SRC/Boost/libs/function/doc/history.xml b/SRC/Boost/libs/function/doc/history.xml
deleted file mode 100755
index 56248b6..0000000
--- a/SRC/Boost/libs/function/doc/history.xml
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-   Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-  
-   Distributed under the Boost Software License, Version 1.0.
-   (See accompanying file LICENSE_1_0.txt or copy at
-   http://www.boost.org/LICENSE_1_0.txt)
-  -->
-<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-<section id="function.history" last-revision="$Date: 2008-10-16 09:21:50 -0400 (Thu, 16 Oct 2008) $">
-  <title>History & Compatibility Notes</title>
-
-<itemizedlist spacing="compact">
-
-  <listitem><para><bold>Version 1.37.0</bold>: </para>
-    <itemizedlist spacing="compact">
-      <listitem><para>Improved the performance of Boost.Function's
-      swap() operation for large function objects. Original patch
-      contributed by Niels Dekker.</para></listitem>
-
-      <listitem><para>Added a new header <boost/function/function_typeof.hpp> that provides support for using the Boost.Typeof library on Boost.Function objects.</para></listitem>
-
-      <listitem><para>Added a new header <boost/function/function_fwd.hpp> that provides support for using the Boost.Typeof library on Boost.Function objects.</para></listitem>
-
-      <listitem><para>The <methodname alt="boost::function::target">target</methodname>()
-      function now respects the cv-qualifiers of function objects
-      stored by reference
-      (using <classname>boost::reference_wrapper</classname>), such
-      that a reference to a <code>const</code> function object cannot
-      be accessed as a reference to a non-<code>const</code> function
-      object.</para></listitem>
-    </itemizedlist>
-  </listitem>
-
-  <listitem><para><bold>Version 1.36.0</bold>: </para>
-    <itemizedlist spacing="compact">
-      <listitem><para>Boost.Function now implements allocator support
-      in the same way that is is provided in C++0x, based on C++
-      committee
-      proposal <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2308.html">N2308</ulink>. This
-      change removes the <computeroutput>Allocator</computeroutput>
-      template parameter of <classname>boost::function</classname> in
-      favor of a constructor that takes an argument. While this is a
-      backward-incompatible change, it is likely to affect only a few
-      users. This change to Function was contributed by Emil
-      Dotchevski, which also authored the corresponding C++ committee
-      proposal.</para></listitem>
-    </itemizedlist>
-  </listitem>
-
-  <listitem><para><bold>Version 1.34.0</bold>: </para> 
-    <itemizedlist spacing="compact">
-      <listitem><para>Boost.Function now implements a small buffer optimization, which can drastically improve the performance when copying or construction Boost.Function objects storing small function objects. For instance, <code>bind(&X:foo, &x, _1, _2)</code> requires no heap allocation when placed into a Boost.Function object. Note that some exception-safety guarantees have changed: assignment provides the basic exception guarantee and <code>swap()</code> may throw.</para></l [...]
-    </itemizedlist>
-  </listitem>
-
-  <listitem><para><bold>Version 1.30.0</bold>: </para> 
-    <itemizedlist spacing="compact">
-      <listitem><para>All features deprecated in version 1.29.0 have
-      been removed from Boost.Function.</para></listitem>
- 
-      <listitem><para><code><classname>boost::function</classname></code>
-      and <code><classname>boost::functionN</classname></code> objects
-      can be assigned to 0 (semantically equivalent to calling
-      <code><methodname
-      alt="boost::function::clear">clear</methodname>()</code>) and
-      compared against 0 (semantically equivalent to calling
-      <code><methodname
-      alt="boost::function::empty">empty</methodname>()</code>).</para></listitem>
-
-      <listitem><para>The Boost.Function code is now generated
-      entirely by the <libraryname>Preprocessor</libraryname> library,
-      so it is now possible to generate
-      <code><classname>boost::function</classname></code> and
-      <code><classname>boost::functionN</classname></code> class
-      templates for any number of arguments.</para></listitem>
-
-      <listitem><para>The
-      <classname>boost::bad_function_call</classname> exception class
-      was introduced.</para></listitem>
-      </itemizedlist>
-  </listitem>
-
-  <listitem><para><bold>Version 1.29.0</bold>:
-  Boost.Function has been partially redesigned to minimize the
-  interface and make it cleaner. Several seldom- or never-used
-  features of the older Boost.Function have been deprecated and will
-  be removed in the near future. Here is a list of features that have
-  been deprecated, the likely impact of the deprecations, and how to
-  adjust your code:
-
-<itemizedlist spacing="compact">
-  <listitem><para>The <computeroutput>boost::function</computeroutput> class template syntax has
-  changed. The old syntax, e.g., <computeroutput>boost::function<int, float,
-  double, std::string></computeroutput>, has been changed to a more natural
-  syntax <computeroutput>boost::function<int (float, double,
-  std::string)></computeroutput>, where all return and argument types are
-  encoded in a single function type parameter. Any other template
-  parameters (e.g., the <computeroutput>Allocator</computeroutput>) follow this single
-  parameter.</para>
-
-  <para> The resolution to this change depends on the
-  abilities of your compiler: if your compiler supports template
-  partial specialization and can parse function types (most do), modify 
-  your code to use the newer
-  syntax (preferable) or directly use one of the
-  <computeroutput>functionN</computeroutput> classes whose syntax has not
-  changed. If your compiler does not support template partial
-  specialization or function types, you must take the latter option and 
-  use the numbered Boost.Function classes. This option merely requires 
-  changing types such as <computeroutput>boost::function<void, int, int></computeroutput>
-  to <computeroutput>boost::function2<void, int, int></computeroutput> (adding the number of
-  function arguments to the end of the class name).</para>
-
-  <para> Support for the old syntax with the
-  <computeroutput>boost::function</computeroutput> class template will persist for a short
-  while, but will eventually be removed so that we can provide better
-  error messages and link compatibility. </para></listitem> 
-
-  <listitem><para>The invocation
-  policy template parameter (<computeroutput>Policy</computeroutput>) has been deprecated
-  and will be removed. There is no direct equivalent to this rarely
-  used feature.</para></listitem> 
-
-  <listitem><para>The mixin template parameter
-  (<computeroutput>Mixin</computeroutput>) has been deprecated and will be removed. There
-  is not direct equivalent to this rarely used feature.</para></listitem> 
-
-  <listitem><para>The
-  <computeroutput>set</computeroutput> methods have been deprecated and will be
-  removed. Use the assignment operator instead.</para></listitem>
-</itemizedlist>
-</para>
-</listitem>
-</itemizedlist>
-</section>
diff --git a/SRC/Boost/libs/function/doc/misc.xml b/SRC/Boost/libs/function/doc/misc.xml
deleted file mode 100755
index dd1b1b9..0000000
--- a/SRC/Boost/libs/function/doc/misc.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-   Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-  
-   Distributed under the Boost Software License, Version 1.0.
-   (See accompanying file LICENSE_1_0.txt or copy at
-   http://www.boost.org/LICENSE_1_0.txt)
-  -->
-<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-<section id="function.misc" last-revision="$Date: 2008-07-14 14:32:29 -0400 (Mon, 14 Jul 2008) $">
-  <title>Miscellaneous Notes</title>
-
-  <section>
-    <title>Boost.Function vs. Function Pointers</title>
-<para>Boost.Function has several advantages over function pointers, namely:
-
-<itemizedlist spacing="compact">
-   <listitem><para>Boost.Function allows arbitrary compatible function objects to be targets (instead of requiring an exact function signature).</para></listitem>
-   <listitem><para>Boost.Function may be used with argument-binding and other function object construction libraries.</para></listitem>
-   <listitem><para>Boost.Function has predictible behavior when an empty function object is called. </para></listitem>
-</itemizedlist></para>
-
-<para> And, of course, function pointers have several advantages over Boost.Function:
-
-<itemizedlist spacing="compact">
-    <listitem><para> Function pointers are smaller (the size of one pointer instead of four or more) </para></listitem>
-    <listitem><para> Function pointers are faster (Boost.Function may require two calls through function pointers) </para></listitem>
-    <listitem><para> Function pointers are backward-compatible with C libraries.</para></listitem>
-    <listitem><para> More readable error messages. </para></listitem>
-</itemizedlist>
-</para>
-  </section>
-
-  <section>
-    <title>Performance</title>
-
-<section>
-  <title>Function object wrapper size</title>
-  <para> Function object wrappers will be the size of a struct containing a member function pointer and two data pointers. The actual size can vary significantly depending on the underlying platform; on 32-bit Mac OS X with GCC, this amounts to 16 bytes, while it is 32 bytes Windows with Visual C++. Additionally, the function object target may be allocated on the heap, if it cannot be placed into the small-object buffer in the <code>boost::function</code> object.</para>
-</section>
-
-<section>
-  <title>Copying efficiency</title>
-  <para> Copying function object wrappers may require allocating memory for a copy of the function object target. The default allocator may be replaced with a faster custom allocator or one may choose to allow the function object wrappers to only store function object targets by reference (using <computeroutput>ref</computeroutput>) if the cost of this cloning becomes prohibitive. Small function objects can be stored within the <code>boost::function</code> object itself, improving copyin [...]
- </section>
-
-<section>
-  <title>Invocation efficiency</title>
-<para> With a properly inlining compiler, an invocation of a function object requires one call through a function pointer. If the call is to a free function pointer, an additional call must be made to that function pointer (unless the compiler has very powerful interprocedural analysis).</para>
-  </section>
-</section>
-
-  <section>
-    <title>Combatting virtual function "bloat"</title>
-<para> The use of virtual functions tends to cause 'code bloat' on many compilers. When a class contains a virtual function, it is necessary to emit an additional function that classifies the type of the object. It has been our experience that these auxiliary functions increase the size of the executable significantly when many <computeroutput>boost::function</computeroutput> objects are used. </para>
-
-<para> In Boost.Function, an alternative but equivalent approach was taken using free functions instead of virtual functions. The Boost.Function object essentially holds two pointers to make a valid target call: a void pointer to the function object it contains and a void pointer to an "invoker" that can call the function object, given the function pointer. This invoker function performs the argument and return value conversions Boost.Function provides. A third pointer points to a free f [...]
-  </section>
-
-  <section>
-    <title>Acknowledgements</title> 
-
-    <para> Many people were involved in the construction of this
-    library. William Kempf, Jesse Jones and Karl Nelson were all
-    extremely helpful in isolating an interface and scope for the
-    library. John Maddock managed the formal review, and many
-    reviewers gave excellent comments on interface, implementation,
-    and documentation. Peter Dimov led us to the function
-    declarator-based syntax.</para>
-  </section>
-</section>
diff --git a/SRC/Boost/libs/function/doc/reference.xml b/SRC/Boost/libs/function/doc/reference.xml
deleted file mode 100755
index 116f363..0000000
--- a/SRC/Boost/libs/function/doc/reference.xml
+++ /dev/null
@@ -1,938 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-   Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-  
-   Distributed under the Boost Software License, Version 1.0.
-   (See accompanying file LICENSE_1_0.txt or copy at
-   http://www.boost.org/LICENSE_1_0.txt)
-  -->
-<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-<library-reference id="function.reference" last-revision="$Date: 2008-07-14 14:32:29 -0400 (Mon, 14 Jul 2008) $">
-
-<section id="function.definitions">
-  <title>Definitions</title>
-<para>
-  <itemizedlist>
-    <listitem>
-      <para>A function object <computeroutput>f</computeroutput> is
-      <emphasis>compatible</emphasis> if for the given set of argument
-      types <computeroutput>Arg1</computeroutput>,
-      <computeroutput>Arg2</computeroutput>, ...,
-      <computeroutput>ArgN</computeroutput> and a
-      return type <computeroutput>ResultType</computeroutput>, the
-      appropriate following function is well-formed:
-<programlisting>
-  <emphasis>// if ResultType is not <emphasis role="bold">void</emphasis></emphasis>
-  ResultType foo(Arg1 arg1, Arg2 arg2, ..., Arg<emphasis>N</emphasis> arg<emphasis>N</emphasis>)
-  {
-    <emphasis role="bold">return</emphasis> f(arg1, arg2, ..., arg<emphasis>N</emphasis>);
-  }
-
-  <emphasis>// if ResultType is <emphasis role="bold">void</emphasis></emphasis>
-  ResultType foo(Arg1 arg1, Arg2 arg2, ..., Arg<emphasis>N</emphasis> arg<emphasis>N</emphasis>)
-  {
-    f(arg1, arg2, ..., arg<emphasis>N</emphasis>);
-  }
-</programlisting></para>
-
-      <para> A special provision is made for pointers to member
-      functions. Though they are not function objects, Boost.Function
-      will adapt them internally to function objects. This requires
-      that a pointer to member function of the form <code>R
-      (X::*mf)(Arg1, Arg2, ..., ArgN)
-      cv-quals</code> be adapted to a
-      function object with the following function call operator
-      overloads:
-<programlisting>
-  <emphasis role="bold">template</emphasis><<emphasis role="bold">typename P</emphasis>>
-  R <emphasis role="bold">operator</emphasis>()(<emphasis>cv-quals</emphasis> P& x, Arg1 arg1, Arg2 arg2, ..., Arg<emphasis>N</emphasis> arg<emphasis>N</emphasis>) <emphasis role="bold">const</emphasis>
-  {
-    <emphasis role="bold">return</emphasis> (*x).*mf(arg1, arg2, ..., arg<emphasis>N</emphasis>);
-  }
-</programlisting>
-</para>
-    </listitem>
-    <listitem>
-      <para>A function object <code>f</code> of
-      type <code>F</code> is
-      <emphasis>stateless</emphasis> if it is a function pointer or if
-      <code><classname>boost::is_stateless</classname><T></code>
-      is true. The construction of or copy to a Boost.Function object
-      from a stateless function object will not cause exceptions to be
-      thrown and will not allocate any storage.
-      </para>
-    </listitem>
-  </itemizedlist>
-</para>
-</section>
-
-<header name="boost/function.hpp">
-<namespace name="boost">
-  <class name="bad_function_call">
-    <inherit access="public"><classname>std::runtime_error</classname></inherit>
-    <purpose>An exception type thrown when an instance of a <code>function</code> object is empty when invoked.</purpose>
-    <constructor>
-      <effects><simpara>Constructs a <code><classname>bad_function_call</classname></code> exception object.</simpara></effects>
-    </constructor>
-  </class>
-
-  <class name="function_base">
-    <purpose>The common base class for all Boost.Function
-    objects. Objects of type function_base may not be created
-    directly.</purpose>
-
-    <method-group name="capacity">
-      <method name="empty" cv="const">
-        <type>bool</type>
-        <returns><simpara><code>false</code> if <code>this</code> has a target, and <code>true</code> otherwise.</simpara></returns>
-        <throws><simpara>Will not throw.</simpara></throws>
-      </method>
-    </method-group>
-
-    <method-group name="target access">
-      <overloaded-method name="target">
-        <signature>
-          <template> 
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>Functor*</type>
-        </signature>
-        <signature cv="const">
-          <template> 
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>const Functor*</type>
-        </signature>
-
-        <returns><simpara>If <code>this</code> stores a target of type
-        <code>Functor</code>, returns the address of the
-        target. Otherwise, returns the NULL
-        pointer.</simpara></returns>
-
-        <throws><simpara>Will not throw.</simpara></throws>
-      </overloaded-method>
-
-      <method name="contains" cv="const">
-        <template>
-          <template-type-parameter name="Functor"/>
-        </template>
-        <type>bool</type>
-        <parameter name="f">
-          <paramtype>const Functor&</paramtype>
-        </parameter>
-        <returns><simpara><code>true</code> if <code>this-><methodname>target</methodname><Functor>()</code> is non-NULL and <code><functionname>function_equal</functionname>(*(this->target<Functor>()), f)</code></simpara></returns>
- 
-      </method>
-
-      <method name="target_type" cv="const">
-        <type>const std::type_info&</type>
-        <returns><simpara><code>typeid</code> of the target function object, or <code>typeid(void)</code> if <code>this-><methodname>empty</methodname>()</code>.</simpara></returns>
-        <throws><simpara>Will not throw.</simpara></throws>
-      </method>
-    </method-group>
-  </class>
-
-  <class name="functionN">
-    <template>
-      <template-type-parameter name="R"/>
-      <template-type-parameter name="T1"/>
-      <template-type-parameter name="T2"/>
-      <template-varargs/>
-      <template-type-parameter name="TN"/>
-    </template>
-
-    <inherit access="public"><classname>function_base</classname></inherit>
-
-    <purpose>A set of generalized function pointers that can be used for callbacks or wrapping function objects.</purpose>
-
-    <description>
-      <para>Class template <classname>functionN</classname> is
-      actually a family of related classes <classname
-      alt="functionN">function0</classname>, <classname
-      alt="functionN">function1</classname>, etc., up to some
-      implementation-defined maximum. In this context, <code>N</code>
-      refers to the number of parameters.</para>
-    </description>
-
-    <typedef name="result_type"><type>R</type></typedef>
-    <typedef name="argument_type">
-      <type>T1</type><purpose>If N == 1</purpose>
-    </typedef>
-    <typedef name="first_argument_type">
-      <type>T1</type>
-      <purpose>If N == 2</purpose>
-    </typedef>
-    <typedef name="second_argument_type">
-      <type>T2</type>
-      <purpose>If N == 2</purpose>
-    </typedef>
-    <typedef name="arg1_type"><type>T1</type></typedef>
-    <typedef name="arg2_type"><type>T2</type></typedef>
-    <typedef name="..."><type/></typedef>
-    <typedef name="argN_type"><type>TN</type></typedef>
-
-    <static-constant name="arity">
-      <type>int</type>
-      <default>N</default>
-    </static-constant>
-
-    <struct name="sig">
-      <template>
-        <template-type-parameter name="Args"/>
-      </template>
-
-      <purpose>
-        <simpara><libraryname>Lambda</libraryname> library support</simpara>
-      </purpose>
-
-      <typedef name="type"><type>result_type</type></typedef>
-    </struct>
-
-    <constructor>
-      <postconditions><simpara><code>this-><methodname>empty</methodname>()</code></simpara></postconditions>
-      <throws><simpara>Will not throw.</simpara></throws>
-    </constructor>
-
-    <constructor>
-      <parameter name="f">
-        <paramtype>const <classname>functionN</classname>&</paramtype>
-      </parameter>
-      <postconditions><simpara>Contains a copy of the <code>f</code>'s target, if it has one, or is empty if <code>f.<methodname>empty</methodname>()</code>.</simpara></postconditions>
-      <throws><simpara>Will not throw unless copying the target of <code>f</code> throws.</simpara></throws>
-    </constructor>
-
-    <constructor>
-      <template>
-        <template-type-parameter name="F"/>
-      </template>
-      <parameter name="f"><paramtype>F</paramtype></parameter>
-      <requires><simpara>F is a function object Callable from <code>this</code>.</simpara></requires>
-      <postconditions><simpara><code>*this</code> targets a copy of <code>f</code> if <code>f</code> is nonempty, or <code>this-><methodname>empty</methodname>()</code> if <code>f</code> is empty.</simpara></postconditions>
-    </constructor>
-
-    <constructor>
-      <template>
-        <template-type-parameter name="F"/>
-        <template-type-parameter name="Allocator"/>
-      </template>
-      <parameter name="f"><paramtype>F</paramtype></parameter>
-      <parameter name="alloc"><paramtype>Allocator</paramtype></parameter>
-      <requires><simpara>F is a function object Callable from <code>this</code>, Allocator is an allocator. The copy constructor and destructor of Allocator shall not throw.</simpara></requires>
-      <postconditions><simpara><code>*this</code> targets a copy of <code>f</code> if <code>f</code> is nonempty, or <code>this-><methodname>empty</methodname>()</code> if <code>f</code> is empty.</simpara></postconditions>
-
-      <effects><simpara>If memory allocation is required, the given allocator (or a copy of it) will be used to allocate that memory.</simpara></effects>
-    </constructor>
-
-    <destructor>
-      <effects><simpara>If <code>!this-><methodname>empty</methodname>()</code>, destroys the target of this.</simpara></effects>
-
-    </destructor>
-
-    <copy-assignment>
-      <parameter name="f">
-        <paramtype>const <classname>functionN</classname>&</paramtype>
-      </parameter>
-      <postconditions><simpara>If copy construction does not throw, <code>*this</code> targets a copy of <code>f</code>'s target, if it has one, or is empty if <code>f.<methodname>empty</methodname>()</code>. If copy construction does throw, <code>this-><methodname>empty</methodname>()</code>.</simpara></postconditions>
-    </copy-assignment>
-
-    <method-group name="modifiers">
-      <method name="swap">
-        <type>void</type>
-        <parameter name="f"><paramtype>const <classname>functionN</classname>&</paramtype></parameter>
-        <effects><simpara>Interchanges the targets of <code>*this</code> and <code>f</code>.</simpara></effects>
-      </method>
-
-      <method name="clear">
-        <type>void</type>
-        <postconditions><simpara>this-><methodname>empty</methodname>()</simpara></postconditions>
-      </method>
-    </method-group>
-
-    <method-group name="capacity">
-      <method name="empty" cv="const">
-        <type>bool</type>
-        <returns><simpara><code>false</code> if <code>this</code> has a target, and <code>true</code> otherwise.</simpara></returns>
-        <throws><simpara>Will not throw.</simpara></throws>
-      </method>
-
-      <method name="conversion-operator" cv="const">
-        <type>safe_bool</type>
-        <returns><simpara>A <code>safe_bool</code> that evaluates <code>false</code> in a boolean context when <code>this-><methodname>empty</methodname>()</code>, and <code>true</code> otherwise.</simpara></returns>
-        <throws><simpara>Will not throw.</simpara></throws>
-      </method>
-
-      <method name="operator!" cv="const">
-        <type>bool</type>
-        <returns><simpara><code>this-><methodname>empty</methodname>()</code></simpara></returns>
-        <throws><simpara>Will not throw.</simpara></throws>
-      </method>
-    </method-group>
-
-    <method-group name="target access">
-      <overloaded-method name="target">
-        <signature>
-          <template> 
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>Functor*</type>
-        </signature>
-        <signature cv="const">
-          <template> 
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>const Functor*</type>
-        </signature>
-
-        <returns><simpara>If <code>this</code> stores a target of type
-        <code>Functor</code>, returns the address of the
-        target. Otherwise, returns the NULL
-        pointer.</simpara></returns>
-
-        <throws><simpara>Will not throw.</simpara></throws>
-      </overloaded-method>
-
-      <method name="contains" cv="const">
-        <template>
-          <template-type-parameter name="Functor"/>
-        </template>
-        <type>bool</type>
-        <parameter name="f">
-          <paramtype>const Functor&</paramtype>
-        </parameter>
-        <returns><simpara><code>true</code> if <code>this-><methodname>target</methodname><Functor>()</code> is non-NULL and <code><functionname>function_equal</functionname>(*(this->target<Functor>()), f)</code></simpara></returns>
- 
-      </method>
-
-      <method name="target_type" cv="const">
-        <type>const std::type_info&</type>
-        <returns><simpara><code>typeid</code> of the target function object, or <code>typeid(void)</code> if <code>this-><methodname>empty</methodname>()</code>.</simpara></returns>
-        <throws><simpara>Will not throw.</simpara></throws>
-      </method>
-
-    </method-group>
-
-    <method-group name="invocation">
-      <method name="operator()" cv="const">
-        <type>result_type</type>
-        <parameter name="a1"><paramtype>arg1_type</paramtype></parameter>
-        <parameter name="a2"><paramtype>arg2_type</paramtype></parameter>
-        <parameter><paramtype>...</paramtype></parameter>
-        <parameter name="aN"><paramtype>argN_type</paramtype></parameter>
-        <effects><simpara><code>f(a1, a2, ..., aN)</code>, where <code>f</code> is the target of <code>*this</code>.</simpara></effects>
-        <returns><simpara>if <code>R</code> is <code>void</code>, nothing is returned; otherwise, the return value of the call to <code>f</code> is returned.</simpara></returns>
-        <throws><simpara><code><classname>bad_function_call</classname></code> if <code>this-><methodname>empty</methodname>()</code>. Otherwise, may through any exception thrown by the target function <code>f</code>.</simpara></throws>
-      </method>
-    </method-group>
-
-    <free-function-group name="specialized algorithms">
-      <function name="swap">
-        <template>
-          <template-type-parameter name="T1"/>
-          <template-type-parameter name="T2"/>
-          <template-varargs/>
-          <template-type-parameter name="TN"/>
-        </template>
-        <type>void</type>
-        <parameter name="f1"><paramtype><classname>functionN</classname><T1, T2, ..., TN>&</paramtype></parameter>
-        <parameter name="f2"><paramtype><classname>functionN</classname><T1, T2, ..., TN>&</paramtype></parameter>
-        <effects><simpara><code>f1.<methodname>swap</methodname>(f2)</code></simpara></effects>
-      </function>
-    </free-function-group>
-
-    <free-function-group name="comparison operators">
-      <overloaded-function name="operator==">
-        <signature>
-          <template>
-            <template-type-parameter name="T1"/>
-            <template-type-parameter name="T2"/>
-            <template-varargs/>
-            <template-type-parameter name="TN"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="f"><paramtype>const <classname>functionN</classname><T1, T2, ..., TN>&</paramtype></parameter>
-          <parameter name="g"><paramtype>Functor</paramtype></parameter>
-        </signature>
-        <signature>
-          <template>
-            <template-type-parameter name="T1"/>
-            <template-type-parameter name="T2"/>
-            <template-varargs/>
-            <template-type-parameter name="TN"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="g"><paramtype>Functor</paramtype></parameter>
-          <parameter name="f"><paramtype>const <classname>functionN</classname><T1, T2, ..., TN>&</paramtype></parameter>
-        </signature>        
-        <signature>
-          <template>
-            <template-type-parameter name="T1"/>
-            <template-type-parameter name="T2"/>
-            <template-varargs/>
-            <template-type-parameter name="TN"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="f"><paramtype>const <classname>functionN</classname><T1, T2, ..., TN>&</paramtype></parameter>
-          <parameter name="g"><paramtype><classname>reference_wrapper</classname><Functor></paramtype></parameter>
-        </signature>
-        <signature>
-          <template>
-            <template-type-parameter name="T1"/>
-            <template-type-parameter name="T2"/>
-            <template-varargs/>
-            <template-type-parameter name="TN"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="g"><paramtype><classname>reference_wrapper</classname><Functor></paramtype></parameter>
-          <parameter name="f"><paramtype>const <classname>functionN</classname><T1, T2, ..., TN>&</paramtype></parameter>
-        </signature>        
-        <signature>
-          <template>
-            <template-type-parameter name="T1"/>
-            <template-type-parameter name="T2"/>
-            <template-varargs/>
-            <template-type-parameter name="TN"/>
-            <template-type-parameter name="U1"/>
-            <template-type-parameter name="U2"/>
-            <template-varargs/>
-            <template-type-parameter name="UN"/>
-          </template>
-          <type>void</type>
-          <parameter name="f1"><paramtype>const <classname>functionN</classname><T1, T2, ..., TN>&</paramtype></parameter>
-          <parameter name="f2"><paramtype>const <classname>functionN</classname><U1, U2, ..., UN>&</paramtype></parameter>
-        </signature>
-
-        <returns><simpara>True when <code>f</code> stores an object of
-        type <code>Functor</code> and one of the following conditions applies:
-          <itemizedlist>
-
-            <listitem><simpara><code>g</code> is of type
-            <code><classname>reference_wrapper</classname><Functor></code>
-            and <code>f.target<Functor>() == g.<methodname
-            alt="reference_wrapper::get_pointer">get_pointer</methodname>()</code>.</simpara></listitem>
-
-            <listitem><simpara><code>g</code> is not of type
-            <code><classname>reference_wrapper</classname><Functor></code>
-            and
-            <code><functionname>function_equal</functionname>(*(f.target<Functor>()),
-            g)</code>.</simpara></listitem>
-
-          </itemizedlist>
-          </simpara></returns>
-
-        <notes><simpara><code><classname>functionN</classname></code>
-        objects are not
-        <conceptname>EqualityComparable</conceptname>.</simpara></notes>
-
-        <rationale><simpara>The <code>safe_bool</code> conversion
-        opens a loophole whereby two <code>functionN</code>
-        instances can be compared via <code>==</code>, although this
-        is not feasible to implement. The undefined <code>void
-        operator==</code> closes the loophole and ensures a
-        compile-time or link-time error.</simpara></rationale>
-      </overloaded-function>
-
-      <overloaded-function name="operator!=">
-        <signature>
-          <template>
-            <template-type-parameter name="T1"/>
-            <template-type-parameter name="T2"/>
-            <template-varargs/>
-            <template-type-parameter name="TN"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="f"><paramtype>const <classname>functionN</classname><T1, T2, ..., TN>&</paramtype></parameter>
-          <parameter name="g"><paramtype>Functor</paramtype></parameter>
-        </signature>
-        <signature>
-          <template>
-            <template-type-parameter name="T1"/>
-            <template-type-parameter name="T2"/>
-            <template-varargs/>
-            <template-type-parameter name="TN"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="g"><paramtype>Functor</paramtype></parameter>
-          <parameter name="f"><paramtype>const <classname>functionN</classname><T1, T2, ..., TN>&</paramtype></parameter>
-        </signature>        
-        <signature>
-          <template>
-            <template-type-parameter name="T1"/>
-            <template-type-parameter name="T2"/>
-            <template-varargs/>
-            <template-type-parameter name="TN"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="f"><paramtype>const <classname>functionN</classname><T1, T2, ..., TN>&</paramtype></parameter>
-          <parameter name="g"><paramtype><classname>reference_wrapper</classname><Functor></paramtype></parameter>
-        </signature>
-        <signature>
-          <template>
-            <template-type-parameter name="T1"/>
-            <template-type-parameter name="T2"/>
-            <template-varargs/>
-            <template-type-parameter name="TN"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="g"><paramtype><classname>reference_wrapper</classname><Functor></paramtype></parameter>
-          <parameter name="f"><paramtype>const <classname>functionN</classname><T1, T2, ..., TN>&</paramtype></parameter>
-        </signature>        
-        <signature>
-          <template>
-            <template-type-parameter name="T1"/>
-            <template-type-parameter name="T2"/>
-            <template-varargs/>
-            <template-type-parameter name="TN"/>
-            <template-type-parameter name="U1"/>
-            <template-type-parameter name="U2"/>
-            <template-varargs/>
-            <template-type-parameter name="UN"/>
-          </template>
-          <type>void</type>
-          <parameter name="f1"><paramtype>const <classname>functionN</classname><T1, T2, ..., TN>&</paramtype></parameter>
-          <parameter name="f2"><paramtype>const <classname>functionN</classname><U1, U2, ..., UN>&</paramtype></parameter>
-        </signature>
-
-        <returns><simpara>True when <code>f</code> does not store an
-        object of type <code>Functor</code> or it stores an object of
-        type <code>Functor</code> and one of the following conditions
-        applies:
-          <itemizedlist>
-
-            <listitem><simpara><code>g</code> is of type
-            <code><classname>reference_wrapper</classname><Functor></code>
-            and <code>f.target<Functor>() != g.<methodname
-            alt="reference_wrapper::get_pointer">get_pointer</methodname>()</code>.</simpara></listitem>
-
-            <listitem><simpara><code>g</code> is not of type
-            <code><classname>reference_wrapper</classname><Functor></code>
-            and <code>!<functionname>function_equal</functionname>(*(f.target<Functor>()), g)</code>.</simpara></listitem>
-
-          </itemizedlist>
-          </simpara></returns>
-
-        <notes><simpara><code><classname>functionN</classname></code>
-        objects are not
-        <conceptname>EqualityComparable</conceptname>.</simpara></notes>
-
-        <rationale><simpara>The <code>safe_bool</code> conversion
-        opens a loophole whereby two <code>functionN</code>
-        instances can be compared via <code>!=</code>, although this
-        is not feasible to implement. The undefined <code>void
-        operator!=</code> closes the loophole and ensures a
-        compile-time or link-time error.</simpara></rationale>
-      </overloaded-function>
-    </free-function-group>
-  </class>
-
-  <class name="function">
-    <template>
-      <template-type-parameter name="Signature">
-        <purpose>Function type R (T1, T2, ..., TN)</purpose>
-      </template-type-parameter>
-    </template>
-    <inherit access="public"><classname>functionN</classname><R, T1, T2, ..., TN></inherit>
-
-    <purpose>A generalized function pointer that can be used for
-    callbacks or wrapping function objects.</purpose>
-
-    <description>
-      <para>Class template <classname>function</classname> is a thin
-      wrapper around the numbered class templates <classname
-      alt="functionN">function0</classname>, <classname
-      alt="functionN">function1</classname>, etc. It accepts a
-      function type with N arguments and will will derive from
-      <classname>functionN</classname> instantiated with the arguments
-      it receives.</para>
-
-      <para>The semantics of all operations in class template
-      <classname>function</classname> are equivalent to that of the
-      underlying <classname>functionN</classname> object, although
-      additional member functions are required to allow proper copy
-      construction and copy assignment of function objects.</para>
-    </description>
-
-    <typedef name="result_type"><type>R</type></typedef>
-    <typedef name="argument_type">
-      <type>T1</type><purpose>If N == 1</purpose>
-    </typedef>
-    <typedef name="first_argument_type">
-      <type>T1</type>
-      <purpose>If N == 2</purpose>
-    </typedef>
-    <typedef name="second_argument_type">
-      <type>T2</type>
-      <purpose>If N == 2</purpose>
-    </typedef>
-    <typedef name="arg1_type"><type>T1</type></typedef>
-    <typedef name="arg2_type"><type>T2</type></typedef>
-    <typedef name="..."><type/></typedef>
-    <typedef name="argN_type"><type>TN</type></typedef>
-
-    <static-constant name="arity">
-      <type>int</type>
-      <default>N</default>
-    </static-constant>
-
-    <struct name="sig">
-      <template>
-        <template-type-parameter name="Args"/>
-      </template>
-
-      <purpose>
-        <simpara><libraryname>Lambda</libraryname> library support</simpara>
-      </purpose>
-
-      <typedef name="type"><type>result_type</type></typedef>
-    </struct>
-
-    <constructor>
-      <postconditions><simpara><code>this-><methodname>empty</methodname>()</code></simpara></postconditions>
-      <throws><simpara>Will not throw.</simpara></throws>
-    </constructor>
-
-    <constructor>
-      <parameter name="f">
-        <paramtype>const <classname>functionN</classname>&</paramtype>
-      </parameter>
-      <postconditions><simpara>Contains a copy of the <code>f</code>'s target, if it has one, or is empty if <code>f.<methodname>empty</methodname>()</code>.</simpara></postconditions>
-      <throws><simpara>Will not throw unless copying the target of <code>f</code> throws.</simpara></throws>
-    </constructor>
-
-    <constructor>
-      <parameter name="f">
-        <paramtype>const <classname>function</classname>&</paramtype>
-      </parameter>
-      <postconditions><simpara>Contains a copy of the <code>f</code>'s target, if it has one, or is empty if <code>f.<methodname>empty</methodname>()</code>.</simpara></postconditions>
-      <throws><simpara>Will not throw unless copying the target of <code>f</code> throws.</simpara></throws>
-    </constructor>
-
-    <constructor>
-      <template>
-        <template-type-parameter name="F"/>
-      </template>
-      <parameter name="f"><paramtype>F</paramtype></parameter>
-      <requires><simpara>F is a function object Callable from <code>this</code>.</simpara></requires>
-      <postconditions><simpara><code>*this</code> targets a copy of <code>f</code> if <code>f</code> is nonempty, or <code>this-><methodname>empty</methodname>()</code> if <code>f</code> is empty.</simpara></postconditions>
-    </constructor>
-
-    <constructor>
-      <template>
-        <template-type-parameter name="F"/>
-        <template-type-parameter name="Allocator"/>
-      </template>
-      <parameter name="f"><paramtype>F</paramtype></parameter>
-      <parameter name="alloc"><paramtype>Allocator</paramtype></parameter>
-      <requires><simpara>F is a function object Callable from <code>this</code>, Allocator is an allocator. The copy constructor and destructor of Allocator shall not throw.</simpara></requires>
-      <postconditions><simpara><code>*this</code> targets a copy of <code>f</code> if <code>f</code> is nonempty, or <code>this-><methodname>empty</methodname>()</code> if <code>f</code> is empty.</simpara></postconditions>
-
-      <effects><simpara>If memory allocation is required, the given allocator (or a copy of it) will be used to allocate that memory.</simpara></effects>
-    </constructor>
-
-    <destructor>
-      <effects><simpara>If <code>!this-><methodname>empty</methodname>()</code>, destroys the target of <code>this</code>.</simpara></effects>
-
-    </destructor>
-
-    <copy-assignment>
-      <parameter name="f">
-        <paramtype>const <classname>function</classname>&</paramtype>
-      </parameter>
-      <postconditions><simpara>If copy construction does not throw, <code>*this</code> targets a copy of <code>f</code>'s target, if it has one, or is empty if <code>f.<methodname>empty</methodname>()</code>. If copy construction does throw, <code>this-><methodname>empty</methodname>()</code>.</simpara></postconditions>
-    </copy-assignment>
-
-    <copy-assignment>
-      <parameter name="f">
-        <paramtype>const <classname>function</classname>&</paramtype>
-      </parameter>
-      <postconditions><simpara>If copy construction of the target of <code>f</code> does not throw, <code>*this</code> targets a copy of <code>f</code>'s target, if it has one, or is empty if <code>f.<methodname>empty</methodname>()</code>. </simpara></postconditions>
-      <throws><simpara>Will not throw when the target of <code>f</code> is a stateless function object or a reference to the function object. If copy construction does throw, <code>this-><methodname>empty</methodname>()</code>.</simpara></throws>
-    </copy-assignment>
-
-    <method-group name="modifiers">
-      <method name="swap">
-        <type>void</type>
-        <parameter name="f"><paramtype>const <classname>function</classname>&</paramtype></parameter>
-        <effects><simpara>Interchanges the targets of <code>*this</code> and <code>f</code>.</simpara></effects>
-      </method>
-
-      <method name="clear">
-        <type>void</type>
-        <postconditions><simpara><code>this-><methodname>empty</methodname>()</code></simpara></postconditions>
-        <throws><simpara>Will not throw.</simpara></throws>
-      </method>
-    </method-group>
-
-    <method-group name="capacity">
-      <method name="empty" cv="const">
-        <type>bool</type>
-        <returns><simpara><code>false</code> if <code>this</code> has a target, and <code>true</code> otherwise.</simpara></returns>
-        <throws><simpara>Will not throw.</simpara></throws>
-      </method>
-
-      <method name="conversion-operator" cv="const">
-        <type>safe_bool</type>
-        <returns><simpara>A <code>safe_bool</code> that evaluates <code>false</code> in a boolean context when <code>this-><methodname>empty</methodname>()</code>, and <code>true</code> otherwise.</simpara></returns>
-        <throws><simpara>Will not throw.</simpara></throws>
-      </method>
-
-      <method name="operator!" cv="const">
-        <type>bool</type>
-        <returns><simpara><code>this-><methodname>empty</methodname>()</code></simpara></returns>
-        <throws><simpara>Will not throw.</simpara></throws>
-      </method>
-    </method-group>
-
-    <method-group name="target access">
-      <overloaded-method name="target">
-        <signature>
-          <template> 
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>Functor*</type>
-        </signature>
-        <signature cv="const">
-          <template> 
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>const Functor*</type>
-        </signature>
-
-        <returns><simpara>If <code>this</code> stores a target of type
-        <code>Functor</code>, returns the address of the
-        target. Otherwise, returns the NULL
-        pointer.</simpara></returns>
-        <throws><simpara>Will not throw.</simpara></throws>
-      </overloaded-method>
-
-      <method name="contains" cv="const">
-        <template>
-          <template-type-parameter name="Functor"/>
-        </template>
-        <type>bool</type>
-        <parameter name="f">
-          <paramtype>const Functor&</paramtype>
-        </parameter>
-        <returns><simpara><code>true</code> if <code>this-><methodname>target</methodname><Functor>()</code> is non-NULL and <code><functionname>function_equal</functionname>(*(this->target<Functor>()), f)</code></simpara></returns>
- 
-      </method>
-
-      <method name="target_type" cv="const">
-        <type>const std::type_info&</type>
-        <returns><simpara><code>typeid</code> of the target function object, or <code>typeid(void)</code> if <code>this-><methodname>empty</methodname>()</code>.</simpara></returns>
-        <throws><simpara>Will not throw.</simpara></throws>
-      </method>
-    </method-group>
-
-    <method-group name="invocation">
-      <method name="operator()" cv="const">
-        <type>result_type</type>
-        <parameter name="a1"><paramtype>arg1_type</paramtype></parameter>
-        <parameter name="a2"><paramtype>arg2_type</paramtype></parameter>
-        <parameter><paramtype>...</paramtype></parameter>
-        <parameter name="aN"><paramtype>argN_type</paramtype></parameter>
-        <effects><simpara><code>f(a1, a2, ..., aN)</code>, where <code>f</code> is the target of <code>*this</code>.</simpara></effects>
-        <returns><simpara>if <code>R</code> is <code>void</code>, nothing is returned; otherwise, the return value of the call to <code>f</code> is returned.</simpara></returns>
-        <throws><simpara><code><classname>bad_function_call</classname></code> if <code>this-><methodname>empty</methodname>()</code>. Otherwise, may through any exception thrown by the target function <code>f</code>.</simpara></throws>
-      </method>
-    </method-group>
-
-    <free-function-group name="specialized algorithms">
-      <function name="swap">
-        <template>
-          <template-type-parameter name="Signature"/>
-        </template>
-        <type>void</type>
-        <parameter name="f1"><paramtype><classname>function</classname><Signature>&</paramtype></parameter>
-        <parameter name="f2"><paramtype><classname>function</classname><Signature>&</paramtype></parameter>
-        <effects><simpara><code>f1.<methodname>swap</methodname>(f2)</code></simpara></effects>
-      </function>
-    </free-function-group>
-
-    <free-function-group name="comparison operators">
-      <overloaded-function name="operator==">
-        <signature>
-          <template>
-            <template-type-parameter name="Signature"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="f"><paramtype>const <classname>function</classname><Signature>&</paramtype></parameter>
-          <parameter name="g"><paramtype>Functor</paramtype></parameter>
-        </signature>
-        <signature>
-          <template>
-            <template-type-parameter name="Signature"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="g"><paramtype>Functor</paramtype></parameter>
-          <parameter name="f"><paramtype>const <classname>function</classname><Signature>&</paramtype></parameter>
-        </signature>        
-        <signature>
-          <template>
-            <template-type-parameter name="Signature"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="f"><paramtype>const <classname>function</classname><Signature>&</paramtype></parameter>
-          <parameter name="g"><paramtype><classname>reference_wrapper</classname><Functor></paramtype></parameter>
-        </signature>
-        <signature>
-          <template>
-            <template-type-parameter name="Signature"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="g"><paramtype><classname>reference_wrapper</classname><Functor></paramtype></parameter>
-          <parameter name="f"><paramtype>const <classname>function</classname><Signature>&</paramtype></parameter>
-        </signature>        
-        <signature>
-          <template>
-            <template-type-parameter name="Signature1"/>
-            <template-type-parameter name="Signature2"/>
-          </template>
-          <type>void</type>
-          <parameter name="f1"><paramtype>const <classname>function</classname><Signature1>&</paramtype></parameter>
-          <parameter name="f2"><paramtype>const <classname>function</classname><Signature2>&</paramtype></parameter>
-        </signature>
-
-        <returns><simpara>True when <code>f</code> stores an object of
-        type <code>Functor</code> and one of the following conditions applies:
-          <itemizedlist>
-
-            <listitem><simpara><code>g</code> is of type
-            <code><classname>reference_wrapper</classname><Functor></code>
-            and <code>f.target<Functor>() == g.<methodname
-            alt="reference_wrapper::get_pointer">get_pointer</methodname>()</code>.</simpara></listitem>
-
-            <listitem><simpara><code>g</code> is not of type
-            <code><classname>reference_wrapper</classname><Functor></code>
-            and <code><functionname>function_equals</functionname>(*(f.target<Functor>()), g)</code>.</simpara></listitem>
-
-          </itemizedlist>
-          </simpara></returns>
-
-        <notes><simpara><code><classname>function</classname></code>
-        objects are not
-        <conceptname>EqualityComparable</conceptname>.</simpara></notes>
-
-        <rationale><simpara>The <code>safe_bool</code> conversion
-        opens a loophole whereby two <code>function</code>
-        instances can be compared via <code>==</code>, although this
-        is not feasible to implement. The undefined <code>void
-        operator==</code> closes the loophole and ensures a
-        compile-time or link-time error.</simpara></rationale>
-      </overloaded-function>
-
-      <overloaded-function name="operator!=">
-        <signature>
-          <template>
-            <template-type-parameter name="Signature"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="f"><paramtype>const <classname>function</classname><Signature>&</paramtype></parameter>
-          <parameter name="g"><paramtype>Functor</paramtype></parameter>
-        </signature>
-        <signature>
-          <template>
-            <template-type-parameter name="Signature"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="g"><paramtype>Functor</paramtype></parameter>
-          <parameter name="f"><paramtype>const <classname>function</classname><Signature>&</paramtype></parameter>
-        </signature>        
-        <signature>
-          <template>
-            <template-type-parameter name="Signature"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="f"><paramtype>const <classname>function</classname><Signature>&</paramtype></parameter>
-          <parameter name="g"><paramtype><classname>reference_wrapper</classname><Functor></paramtype></parameter>
-        </signature>
-        <signature>
-          <template>
-            <template-type-parameter name="Signature"/>
-            <template-type-parameter name="Functor"/>
-          </template>
-          <type>bool</type>
-          <parameter name="g"><paramtype><classname>reference_wrapper</classname><Functor></paramtype></parameter>
-          <parameter name="f"><paramtype>const <classname>function</classname><Signature>&</paramtype></parameter>
-        </signature>        
-        <signature>
-          <template>
-            <template-type-parameter name="Signature1"/>
-            <template-type-parameter name="Signature2"/>
-          </template>
-          <type>void</type>
-          <parameter name="f1"><paramtype>const <classname>function</classname><Signature1>&</paramtype></parameter>
-          <parameter name="f2"><paramtype>const <classname>function</classname><Signature2>&</paramtype></parameter>
-        </signature>
-
-        <returns><simpara>True when <code>f</code> does not store an
-        object of type <code>Functor</code> or it stores an object of
-        type <code>Functor</code> and one of the following conditions
-        applies:
-          <itemizedlist>
-
-            <listitem><simpara><code>g</code> is of type
-            <code><classname>reference_wrapper</classname><Functor></code>
-            and <code>f.target<Functor>() != g.<methodname
-            alt="reference_wrapper::get_pointer">get_pointer</methodname>()</code>.</simpara></listitem>
-
-            <listitem><simpara><code>g</code> is not of type
-            <code><classname>reference_wrapper</classname><Functor></code>
-            and <code>!<functionname>function_equals</functionname>(*(f.target<Functor>()), g)</code>.</simpara></listitem>
-
-          </itemizedlist>
-          </simpara></returns>
-
-        <notes><simpara><code><classname>function</classname></code>
-        objects are not
-        <conceptname>EqualityComparable</conceptname>.</simpara></notes>
-
-        <rationale><simpara>The <code>safe_bool</code> conversion
-        opens a loophole whereby two <code>function</code>
-        instances can be compared via <code>!=</code>, although this
-        is not feasible to implement. The undefined <code>void
-        operator!=</code> closes the loophole and ensures a
-        compile-time or link-time error.</simpara></rationale>
-      </overloaded-function>
-    </free-function-group>
-  </class>
-</namespace>
-</header>
-
-<header name="boost/function_equal.hpp">
-  <namespace name="boost">
-  <function name="function_equal">
-    <template>
-      <template-type-parameter name="F"/>
-      <template-type-parameter name="G"/>
-    </template>
-    <type>bool</type>
-    <parameter name="f">
-      <paramtype>const F&</paramtype>
-    </parameter>
-    <parameter name="g">
-      <paramtype>const G&</paramtype>
-    </parameter>
-    <purpose><simpara>Compare two function objects for equality.</simpara></purpose>
-    <returns><simpara><code>f == g</code>.</simpara></returns>
-    <throws><simpara>Only if <code>f == g</code> throws.</simpara></throws>
-  </function>
-  </namespace>
-</header>
-</library-reference>
diff --git a/SRC/Boost/libs/function/doc/tests.xml b/SRC/Boost/libs/function/doc/tests.xml
deleted file mode 100755
index 0af0481..0000000
--- a/SRC/Boost/libs/function/doc/tests.xml
+++ /dev/null
@@ -1,258 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-   Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-  
-   Distributed under the Boost Software License, Version 1.0.
-   (See accompanying file LICENSE_1_0.txt or copy at
-   http://www.boost.org/LICENSE_1_0.txt)
-  -->
-<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-<testsuite id="function.testsuite" last-revision="$Date: 2006-11-03 15:41:10 -0400 (Fri, 03 Nov 2006) $">
-  <run-test filename="function_test.cpp" name="lib_function_test">
-    <purpose><para>Test the capabilities of the <classname>boost::function</classname> class template.</para></purpose>
-    <if-fails><para>The <classname>boost::function</classname> class template may not be usable on your compiler. However, the library may still be usable via the <classname>boost::functionN</classname> class templates.</para></if-fails>
-  </run-test>
-
-  <run-test filename="function_n_test.cpp">
-    <purpose><para>Test the capabilities of the <classname>boost::functionN</classname> class templates.</para></purpose>
-  </run-test>
-
-  <run-test filename="allocator_test.cpp">
-    <purpose><para>Test the use of custom allocators.</para></purpose>
-    <if-fails><para>Allocators are ignored by the implementation.</para></if-fails>
-  </run-test>
-
-  <run-test filename="stateless_test.cpp">
-    <purpose><para>Test the optimization of stateless function objects in the Boost.Function library.</para></purpose>
-    <if-fails><para>The exception-safety and performance guarantees given for stateless function objects may not be met by the implementation.</para></if-fails>
-  </run-test>
-
-  <run-test filename="lambda_test.cpp">
-    <purpose><para>Test the interaction between Boost.Function and Boost.Lambda.</para></purpose>
-    <if-fails><para>Either Boost.Lambda does not work on the platform, or Boost.Function cannot safely be applied without the use of <functionname>boost::unlambda</functionname>.</para></if-fails>
-  </run-test>
-
-  <run-test filename="contains_test.cpp">
-    <purpose><para>Test the operation of the
-    <code><methodname>target</methodname></code> member function and the
-    equality operators.</para></purpose>
-  </run-test>
-
-  <compile-fail-test filename="function_test_fail1.cpp">
-    <purpose><para>Test the (incorrect!) use of comparisons between Boost.Function function objects.</para></purpose>
-    <if-fails><para>Intuitive (but incorrect!) code may compile and will give meaningless results.</para></if-fails>
-  </compile-fail-test>
-
-  <compile-fail-test filename="function_test_fail2.cpp">
-    <purpose><para>Test the use of an incompatible function object with Boost.Function</para></purpose>
-    <if-fails><para>Incorrect code may compile (with potentially unexpected results).</para></if-fails>
-  </compile-fail-test>
-
-  <compile-test filename="function_30.cpp">
-    <purpose><para>Test the generation of a Boost.Function function object adaptor accepting 30 arguments.</para></purpose>
-    <if-fails><para>The Boost.Function library may work for function object adaptors of up to 10 parameters, but will be unable to generate adaptors for an arbitrary number of parameters. Failure often indicates an error in the compiler's preprocessor.</para></if-fails>
-  </compile-test> 
-
-  <run-test filename="function_arith_cxx98.cpp">
-    <source>
-    <![CDATA[
-#include <boost/function.hpp>
-#include <iostream>
-]]>
-
-<snippet name="function.tutorial.mul_ints"/>
-<snippet name="function.tutorial.int_div"/>
-
-int main()
-{
-    <snippet name="function.tutorial.arith.cxx98"/>
-    <snippet name="function.tutorial.use_int_div"/>
-    <snippet name="function.tutorial.call_int_div"/>
-    <snippet name="function.tutorial.check_empty"/>
-    <snippet name="function.tutorial.clear"/>
-    <snippet name="function.tutorial.use_mul_ints"/>
-  
-    return 0;
-}
-</source>
-    <purpose><para>Test the first tutorial example.</para></purpose>
-  </run-test>
-
-  <run-test filename="function_arith_portable.cpp">
-    <source>
-    <![CDATA[
-#include <boost/function.hpp>
-#include <iostream>
-]]>
-<snippet name="function.tutorial.mul_ints"/>
-<snippet name="function.tutorial.int_div"/>
-int main()
-{
-    <snippet name="function.tutorial.arith.portable"/>
-    <snippet name="function.tutorial.use_int_div"/>
-    <snippet name="function.tutorial.call_int_div"/>
-    <snippet name="function.tutorial.check_empty"/>
-    <snippet name="function.tutorial.clear"/>
-    <snippet name="function.tutorial.use_mul_ints"/>
-
-    return 0;
-}
-</source>
-    <purpose><para>Test the first tutorial example.</para></purpose>
-  </run-test>
-
-  <run-test filename="sum_avg_cxx98.cpp">
-    <source>
-    <![CDATA[
-#include <boost/function.hpp>
-#include <iostream>
-]]>
-<snippet name="function.tutorial.sum_avg"/>
-int main()
-{
-    <snippet name="function.tutorial.sum_avg_decl.cxx98"/>
-    <snippet name="function.tutorial.use_sum_avg"/>
-
-    return 0;
-}
-</source>
-    <purpose><para>Test the second tutorial example.</para></purpose>
-  </run-test>
-
-  <run-test filename="sum_avg_portable.cpp">
-    <source>
-    <![CDATA[
-#include <boost/function.hpp>
-#include <iostream>
-]]>
-<snippet name="function.tutorial.sum_avg"/>
-int main()
-{
-    <snippet name="function.tutorial.sum_avg_decl.portable"/>
-    <snippet name="function.tutorial.use_sum_avg"/>
-
-    return 0;
-}
-</source>
-    <purpose><para>Test the second tutorial example.</para></purpose>
-  </run-test>
-
-  <run-test filename="mem_fun_cxx98.cpp">
-    <source>
-    <![CDATA[
-#include <boost/function.hpp>
-#include <iostream>
-#include <functional>
-]]>
-<snippet name="function.tutorial.X"/>
-int X::foo(int x) { return -x; }
-
-int main()
-{
-    <snippet name="function.tutorial.mem_fun.cxx98"/>
-
-    return 0;
-}
-</source>    
-    <purpose><para>Test member function example from tutorial.</para></purpose>
-  </run-test>
-
-  <run-test filename="mem_fun_portable.cpp">
-    <source>
-    <![CDATA[
-#include <boost/function.hpp>
-#include <iostream>
-#include <functional>
-]]>
-<snippet name="function.tutorial.X"/>
-int X::foo(int x) { return -x; }
-
-int main()
-{
-    <snippet name="function.tutorial.mem_fun.portable"/>
-
-    return 0;
-}
-</source>    
-    <purpose><para>Test member function example from tutorial.</para></purpose>
-  </run-test>
-
-  <run-test filename="std_bind_cxx98.cpp">
-    <source>
-    <![CDATA[
-#include <boost/function.hpp>
-#include <iostream>
-#include <functional>
-]]>
-<snippet name="function.tutorial.X"/>
-int X::foo(int x) { return -x; }
-
-int main()
-{
-    <snippet name="function.tutorial.std_bind.cxx98"/>
-
-    return 0;
-}
-</source>
-    <purpose><para>Test standard binders example from tutorial.</para></purpose>
-  </run-test>
-
-  <run-test filename="std_bind_portable.cpp">
-    <source>
-    <![CDATA[
-#include <boost/function.hpp>
-#include <iostream>
-#include <functional>
-]]>
-<snippet name="function.tutorial.X"/>
-int X::foo(int x) { return -x; }
-
-int main()
-{
-    <snippet name="function.tutorial.std_bind.portable"/>
-
-    return 0;
-}
-</source>
-    <purpose><para>Test standard binders example from tutorial.</para></purpose>
-  </run-test>
-
-  <run-test filename="function_ref_cxx98.cpp">
-    <source>
-<![CDATA[
-#include <boost/function.hpp>
-#include <iostream>
-]]>
-
-struct stateful_type { int operator()(int) const { return 0; } };
-
-int main()
-{
-  <snippet name="function.tutorial.ref.cxx98"/>
-
-    return 0;
-}
-</source>
-    <purpose><para>Test <functionname>boost::ref</functionname> example from tutorial.</para></purpose>
-  </run-test>
-
-  <run-test filename="function_ref_portable.cpp">
-    <source>
-<![CDATA[
-#include <boost/function.hpp>
-#include <iostream>
-]]>
-
-struct stateful_type { int operator()(int) const { return 0; } };
-
-int main()
-{
-  <snippet name="function.tutorial.ref.portable"/>
-
-    return 0;
-}
-</source>
-    <purpose><para>Test <functionname>boost::ref</functionname> example from tutorial.</para></purpose>
-  </run-test>
-</testsuite>
diff --git a/SRC/Boost/libs/function/doc/tutorial.xml b/SRC/Boost/libs/function/doc/tutorial.xml
deleted file mode 100755
index a0dc1bf..0000000
--- a/SRC/Boost/libs/function/doc/tutorial.xml
+++ /dev/null
@@ -1,364 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-   Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-  
-   Distributed under the Boost Software License, Version 1.0.
-   (See accompanying file LICENSE_1_0.txt or copy at
-   http://www.boost.org/LICENSE_1_0.txt)
-  -->
-<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-<section xmlns:xi="http://www.w3.org/2001/XInclude" id="function.tutorial"
-         last-revision="$Date: 2009-07-12 12:13:35 -0400 (Sun, 12 Jul 2009) $">
-<title>Tutorial</title>
-
-<using-namespace name="boost"/>
-
-<para> Boost.Function has two syntactical forms: the preferred form
-and the portable form. The preferred form fits more closely with the
-C++ language and reduces the number of separate template parameters
-that need to be considered, often improving readability; however, the
-preferred form is not supported on all platforms due to compiler
-bugs. The compatible form will work on all compilers supported by
-Boost.Function. Consult the table below to determine which syntactic
-form to use for your compiler.
-
-  <informaltable>
-    <tgroup cols="2" align="left">
-      <thead>
-        <row>
-          <entry>Preferred syntax</entry>
-          <entry>Portable syntax</entry>
-        </row>
-      </thead>
-      <tbody>
-        <row>
-          <entry>
-            <itemizedlist spacing="compact">
-              <listitem><simpara>GNU C++ 2.95.x, 3.0.x and later versions</simpara></listitem>
-              <listitem><simpara>Comeau C++ 4.2.45.2</simpara></listitem>
-              <listitem><simpara>SGI MIPSpro 7.3.0</simpara></listitem>
-              <listitem><simpara>Intel C++ 5.0, 6.0</simpara></listitem>
-              <listitem><simpara>Compaq's cxx 6.2</simpara></listitem>
-	      <listitem><simpara>Microsoft Visual C++ 7.1 and later versions</simpara></listitem>
-            </itemizedlist>
-          </entry>
-          <entry>
-            <itemizedlist spacing="compact">
-              <listitem><simpara><emphasis>Any compiler supporting the preferred syntax</emphasis></simpara></listitem>
-              <listitem><simpara>Microsoft Visual C++ 6.0, 7.0</simpara></listitem>
-              <listitem><simpara>Borland C++ 5.5.1</simpara></listitem>
-              <listitem><simpara>Sun WorkShop 6 update 2 C++ 5.3</simpara></listitem>
-              <listitem><simpara>Metrowerks CodeWarrior 8.1</simpara></listitem>
-            </itemizedlist>
-          </entry>
-        </row>
-      </tbody>
-    </tgroup>
-  </informaltable>
-
-</para>
-
-<para> If your compiler does not appear in this list, please try the preferred syntax and report your results to the Boost list so that we can keep this table up-to-date.</para>
-
-<using-class name="boost::function"/>
-
-<section>
-<title>Basic Usage</title> <para> A function wrapper is defined simply
-by instantiating the <computeroutput>function</computeroutput> class
-template with the desired return type and argument types, formulated
-as a C++ function type. Any number of arguments may be supplied, up to
-some implementation-defined limit (10 is the default maximum). The
-following declares a function object wrapper
-<computeroutput>f</computeroutput> that takes two
-<computeroutput>int</computeroutput> parameters and returns a
-<computeroutput>float</computeroutput>:
-
-  <informaltable>
-    <tgroup cols="2" align="left">
-      <thead>
-        <row>
-          <entry>Preferred syntax</entry>
-          <entry>Portable syntax</entry>
-        </row>
-      </thead>
-      <tbody>
-        <row>
-          <entry>
-<programlisting name="function.tutorial.arith.cxx98"><classname>boost::function</classname><float (int x, int y)> f;</programlisting>
-</entry>
-<entry>
-<programlisting name="function.tutorial.arith.portable"><classname alt="functionN">boost::function2</classname><float, int, int> f;</programlisting>
-</entry>
-          </row>
-        </tbody>
-      </tgroup>
-    </informaltable>
-</para>
-
-<para> By default, function object wrappers are empty, so we can create a 
-function object to assign to <computeroutput>f</computeroutput>:
-
-<programlisting name="function.tutorial.int_div">struct int_div { 
-  float operator()(int x, int y) const { return ((float)x)/y; }; 
-};</programlisting>
-<programlisting name="function.tutorial.use_int_div">f = int_div();</programlisting>
-</para>
-
-<para> Now we can use <computeroutput>f</computeroutput> to execute
-the underlying function object
-<computeroutput>int_div</computeroutput>:
-
-<programlisting name="function.tutorial.call_int_div">std::cout << f(5, 3) << std::endl;</programlisting>
-</para>
-
-<para> We are free to assign any compatible function object to
-<computeroutput>f</computeroutput>. If
-<computeroutput>int_div</computeroutput> had been declared to take two
-<computeroutput>long</computeroutput> operands, the implicit
-conversions would have been applied to the arguments without any user
-interference. The only limit on the types of arguments is that they be
-CopyConstructible, so we can even use references and arrays:
-
-  <informaltable>
-    <tgroup cols="1" align="left">
-      <thead><row><entry>Preferred syntax</entry></row></thead>
-      <tbody>
-        <row>
-          <entry>
-<programlisting name="function.tutorial.sum_avg_decl.cxx98"><classname>boost::function</classname><void (int values[], int n, int& sum, float& avg)> sum_avg;</programlisting>
-</entry>
-        </row>
-      </tbody>
-    </tgroup> 
-  </informaltable>
-  <informaltable>
-    <tgroup cols="1" align="left">
-      <thead><row><entry>Portable syntax</entry></row></thead>
-      <tbody>
-        <row>
-<entry>
-<programlisting name="function.tutorial.sum_avg_decl.portable"><classname alt="functionN">boost::function4</classname><void, int*, int, int&, float&> sum_avg;</programlisting>
-</entry>
-          </row>
-        </tbody>
-      </tgroup>
-    </informaltable>
-
-<programlisting name="function.tutorial.sum_avg">void do_sum_avg(int values[], int n, int& sum, float& avg)
-{
-  sum = 0;
-  for (int i = 0; i < n; i++)
-    sum += values[i];
-  avg = (float)sum / n;
-}</programlisting>
-
-
-<programlisting name="function.tutorial.use_sum_avg">sum_avg = &do_sum_avg;</programlisting>
-</para>
-
-<para> Invoking a function object wrapper that does not actually
-contain a function object is a precondition violation, much like
-trying to call through a null function pointer, and will throw a <classname>bad_function_call</classname> exception). We can check for an
-empty function object wrapper by using it in a boolean context (it evaluates <computeroutput>true</computeroutput> if the wrapper is not empty) or compare it against <computeroutput>0</computeroutput>. For instance:
-<programlisting name="function.tutorial.check_empty">if (f)
-  std::cout << f(5, 3) << std::endl;
-else
-  std::cout << "f has no target, so it is unsafe to call" << std::endl;</programlisting>
-</para>
-
-<para> Alternatively,
-<computeroutput><methodname>empty</methodname>()</computeroutput>
-method will return whether or not the wrapper is empty.  </para>
-
-<para> Finally, we can clear out a function target by assigning it to <computeroutput>0</computeroutput> or by calling the <computeroutput><methodname>clear</methodname>()</computeroutput> member function, e.g., 
-<programlisting name="function.tutorial.clear">f = 0;</programlisting>
-</para>
-
-</section>
-
-<section>
-  <title>Free functions</title>
-<para> Free function pointers can be considered singleton function objects with const function call operators, and can therefore be directly used with the function object wrappers: 
-<programlisting name="function.tutorial.mul_ints">float mul_ints(int x, int y) { return ((float)x) * y; }</programlisting>
-<programlisting name="function.tutorial.use_mul_ints">f = &mul_ints;</programlisting>
-</para>
-
-<para> Note that the <computeroutput>&</computeroutput> isn't really necessary unless you happen to be using Microsoft Visual C++ version 6. </para>
-</section>
-
-<section>
-  <title>Member functions</title>
-
-<para> In many systems, callbacks often call to member functions of a
-particular object. This is often referred to as "argument binding",
-and is beyond the scope of Boost.Function. The use of member functions
-directly, however, is supported, so the following code is valid:
-
-<programlisting name="function.tutorial.X">struct X {
-  int foo(int);
-};</programlisting>
-
-  <informaltable>
-    <tgroup cols="2" align="left">
-      <thead>
-        <row>
-          <entry>Preferred syntax</entry>
-          <entry>Portable syntax</entry>
-        </row>
-      </thead>
-      <tbody>
-        <row>
-          <entry>
-<programlisting name="function.tutorial.mem_fun.cxx98"><classname>boost::function</classname><int (X*, int)> f;
-
-f = &X::foo;
-  
-X x;
-f(&x, 5);</programlisting>
-</entry>
-<entry>
-<programlisting name="function.tutorial.mem_fun.portable"><classname alt="functionN">boost::function2</classname><int, X*, int> f;
-
-f = &X::foo;
-  
-X x;
-f(&x, 5);</programlisting>
-</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para> Several libraries exist that support argument binding. Three such libraries are summarized below:
-<itemizedlist>
-  <listitem> <para><libraryname>Bind</libraryname>. This library allows binding of
-  arguments for any function object. It is lightweight and very
-  portable.</para></listitem>
-
-  <listitem> <para>The C++ Standard library. Using
-  <computeroutput>std::bind1st</computeroutput> and
-  <computeroutput>std::mem_fun</computeroutput> together one can bind
-  the object of a pointer-to-member function for use with
-  Boost.Function:
-
-  <informaltable>
-    <tgroup cols="2" align="left">
-      <thead>
-        <row>
-          <entry>Preferred syntax</entry>
-          <entry>Portable syntax</entry>
-        </row>
-      </thead>
-      <tbody>
-        <row>
-          <entry>
-<programlisting name="function.tutorial.std_bind.cxx98">  <classname>boost::function</classname><int (int)> f;
-X x;
-f = std::bind1st(
-      std::mem_fun(&X::foo), &x);
-f(5); // Call x.foo(5)</programlisting>
-</entry>
-<entry>
-<programlisting name="function.tutorial.std_bind.portable">  <classname alt="functionN">boost::function1</classname><int, int> f;
-X x;
-f = std::bind1st(
-      std::mem_fun(&X::foo), &x);
-f(5); // Call x.foo(5)</programlisting>
-</entry>
-          </row>
-        </tbody>
-      </tgroup>
-    </informaltable>
-</para>
-</listitem>
-
-  <listitem><para>The <libraryname>Lambda</libraryname> library. This library provides a powerful composition mechanism to construct function objects that uses very natural C++ syntax. Lambda requires a compiler that is reasonably conformant to the C++ standard. </para></listitem>
-</itemizedlist>
-</para>
-
-</section>
-
-<section>
-  <title>References to Function Objects</title> <para> In some cases it is
-  expensive (or semantically incorrect) to have Boost.Function clone a
-  function object. In such cases, it is possible to request that
-  Boost.Function keep only a reference to the actual function
-  object. This is done using the <computeroutput>ref</computeroutput>
-  and <computeroutput>cref</computeroutput> functions to wrap a
-  reference to a function object:
-
-  <informaltable>
-    <tgroup cols="2" align="left">
-      <thead>
-        <row>
-          <entry>Preferred syntax</entry>
-          <entry>Portable syntax</entry>
-        </row>
-      </thead>
-      <tbody>
-        <row>
-          <entry>
-<programlisting name="function.tutorial.ref.cxx98">stateful_type a_function_object;
-<classname>boost::function</classname><int (int)> f;
-f = <functionname>boost::ref</functionname>(a_function_object);
-
-<classname>boost::function</classname><int (int)> f2(f);</programlisting>
-</entry>
-<entry>
-<programlisting name="function.tutorial.ref.portable">stateful_type a_function_object;
-<classname alt="functionN">boost::function1</classname><int, int> f;
-f = <functionname>boost::ref</functionname>(a_function_object);
-
-<classname alt="functionN">boost::function1</classname><int, int> f2(f);</programlisting>
-</entry>
-          </row>
-        </tbody>
-      </tgroup>
-    </informaltable>
-</para>
-
-<para> Here, <computeroutput>f</computeroutput> will not make a copy
-of <computeroutput>a_function_object</computeroutput>, nor will
-<computeroutput>f2</computeroutput> when it is targeted to
-<computeroutput>f</computeroutput>'s reference to
-<computeroutput>a_function_object</computeroutput>. Additionally, when
-using references to function objects, Boost.Function will not throw
-exceptions during assignment or construction.
-</para>
-</section>
-
-<section>
-  <title>Comparing Boost.Function function objects</title>
-
-  <para>Function object wrappers can be compared via <code>==</code>
-  or <code>!=</code> against any function object that can be stored
-  within the wrapper. If the function object wrapper contains a
-  function object of that type, it will be compared against the given
-  function object (which must be either be
-  <conceptname>EqualityComparable</conceptname> or have an overloaded <functionname>boost::function_equal</functionname>). For instance:</para>
-  
-  <programlisting name="function.tutorial.compare">int compute_with_X(X*, int);
-
-f = &X::foo;
-assert(f == &X::foo);
-assert(&compute_with_X != f);</programlisting>
-
-   <para>When comparing against an instance of
-   <code><classname>reference_wrapper</classname></code>, the address
-   of the object in the
-   <code><classname>reference_wrapper</classname></code> is compared
-   against the address of the object stored by the function object
-   wrapper:</para>
-
-  <programlisting name="function.tutorial.compare-ref">a_stateful_object so1, so2;
-f = <functionname>boost::ref</functionname>(so1);
-assert(f == <functionname>boost::ref</functionname>(so1));
-assert(f == so1); <emphasis>// Only if a_stateful_object is <conceptname>EqualityComparable</conceptname></emphasis>
-assert(f != <functionname>boost::ref</functionname>(so2));</programlisting>
-
-</section>
-
-</section>
-
diff --git a/SRC/Boost/libs/function/example/bind1st.cpp b/SRC/Boost/libs/function/example/bind1st.cpp
deleted file mode 100755
index 6be8540..0000000
--- a/SRC/Boost/libs/function/example/bind1st.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-// Boost.Function library examples
-
-//  Copyright Douglas Gregor 2001-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#include <iostream>
-#include <boost/function.hpp>
-#include <functional>
-
-struct X {
-  X(int val) : value(val) {}
-
-  int foo(int x) { return x * value; }
-
-  int value;
-};
-
-
-int
-main()
-{
-  boost::function<int (int)> f;
-  X x(7);
-  f = std::bind1st(std::mem_fun(&X::foo), &x);
-
-  std::cout << f(5) << std::endl; // Call x.foo(5)
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/example/int_div.cpp b/SRC/Boost/libs/function/example/int_div.cpp
deleted file mode 100755
index 1a77207..0000000
--- a/SRC/Boost/libs/function/example/int_div.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// Boost.Function library examples
-
-//  Copyright Douglas Gregor 2001-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#include <iostream>
-#include <boost/function.hpp>
-
-struct int_div {
-  float operator()(int x, int y) const { return ((float)x)/y; };
-};
-
-int
-main()
-{
-  boost::function<float (int, int)> f;
-  f = int_div();
-
-  std::cout << f(5, 3) << std::endl; // 1.66667
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/example/sum_avg.cpp b/SRC/Boost/libs/function/example/sum_avg.cpp
deleted file mode 100755
index c989a16..0000000
--- a/SRC/Boost/libs/function/example/sum_avg.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Boost.Function library examples
-
-//  Copyright Douglas Gregor 2001-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#include <iostream>
-#include <boost/function.hpp>
-
-void do_sum_avg(int values[], int n, int& sum, float& avg)
-{
-  sum = 0;
-  for (int i = 0; i < n; i++)
-    sum += values[i];
-  avg = (float)sum / n;
-}
-
-int
-main()
-{
-  // The second parameter should be int[], but some compilers (e.g., GCC)
-  // complain about this
-  boost::function<void (int*, int, int&, float&)> sum_avg;
-
-  sum_avg = &do_sum_avg;
-
-  int values[5] = { 1, 1, 2, 3, 5 };
-  int sum;
-  float avg;
-  sum_avg(values, 5, sum, avg);
-
-  std::cout << "sum = " << sum << std::endl;
-  std::cout << "avg = " << avg << std::endl;
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/index.html b/SRC/Boost/libs/function/index.html
deleted file mode 100755
index 30d018c..0000000
--- a/SRC/Boost/libs/function/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<html>
-<!--
-   Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-  
-   Distributed under the Boost Software License, Version 1.0.
-   (See accompanying file LICENSE_1_0.txt or copy at
-   http://www.boost.org/LICENSE_1_0.txt)
-  -->
-<head>
-<meta http-equiv="refresh" content="0; URL=../../doc/html/function.html">
-</head>
-<body>
-Automatic redirection failed, please go to
-<a href="../../doc/html/function.html">../../doc/html/function.html</a>  <hr>
-<p>� Copyright Beman Dawes, 2001</p>
-<p>Distributed under the Boost Software License, Version 1.0. (See accompanying 
-file <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy 
-at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/function/test/Jamfile.v2 b/SRC/Boost/libs/function/test/Jamfile.v2
deleted file mode 100755
index 615e946..0000000
--- a/SRC/Boost/libs/function/test/Jamfile.v2
+++ /dev/null
@@ -1,67 +0,0 @@
-# Function library
-
-# Copyright Douglas Gregor 2001-2003. Use, modification and
-# distribution is subject to the Boost Software License, Version
-# 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# For more information, see http://www.boost.org/
-
-project
-    : requirements <toolset>msvc:<asynch-exceptions>on
-    : source-location $(BOOST_ROOT)
-    ;
-
-# bring in rules for testing
-import testing ;
-
-{
-
-  test-suite function
-    : 
-  [ run libs/function/test/function_test.cpp :  :  :  : lib_function_test ]
-
-  [ run libs/function/test/function_n_test.cpp :  :  :  :  ]
-
-  [ run libs/function/test/allocator_test.cpp ../../../libs/test/build//boost_test_exec_monitor :  :  :  :  ]
-
-  [ run libs/function/test/stateless_test.cpp ../../../libs/test/build//boost_test_exec_monitor :  :  :  :  ]
-
-  [ run libs/function/test/lambda_test.cpp ../../../libs/test/build//boost_test_exec_monitor :  :  :  :  ]
-
-  [ compile-fail libs/function/test/function_test_fail1.cpp :  :  :  :  ]
-
-  [ compile-fail libs/function/test/function_test_fail2.cpp :  :  :  :  ]
-
-  [ compile libs/function/test/function_30.cpp :  :  :  :  ] 
-
-  [ run libs/function/test/function_arith_cxx98.cpp :  :  :  :  ]
-
-  [ run libs/function/test/function_arith_portable.cpp :  :  :  :  ]
-
-  [ run libs/function/test/sum_avg_cxx98.cpp :  :  :  :  ]
-
-  [ run libs/function/test/sum_avg_portable.cpp :  :  :  :  ]
-
-  [ run libs/function/test/mem_fun_cxx98.cpp :  :  :  :  ]
-
-  [ run libs/function/test/mem_fun_portable.cpp :  :  :  :  ]
-
-  [ run libs/function/test/std_bind_cxx98.cpp :  :  :  :  ]
-
-  [ run libs/function/test/std_bind_portable.cpp :  :  :  :  ]
-
-  [ run libs/function/test/function_ref_cxx98.cpp :  :  :  :  ]
-
-  [ run libs/function/test/function_ref_portable.cpp :  :  :  :  ]
-  
-  [ run libs/function/test/contains_test.cpp : : : : ]
-   
-  [ run libs/function/test/contains2_test.cpp : : : : ]
-   
-  [ run libs/function/test/nothrow_swap.cpp :  :  :  :  ]
-
-  [ compile libs/function/test/function_typeof_test.cpp ]
- ;
-}
-      
diff --git a/SRC/Boost/libs/function/test/allocator_test.cpp b/SRC/Boost/libs/function/test/allocator_test.cpp
deleted file mode 100755
index f868d29..0000000
--- a/SRC/Boost/libs/function/test/allocator_test.cpp
+++ /dev/null
@@ -1,137 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2001-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#include <boost/test/minimal.hpp>
-#include <cassert>
-#include <functional>
-#include <boost/function.hpp>
-
-using namespace std;
-using namespace boost;
-
-static int alloc_count = 0;
-static int dealloc_count = 0;
-
-template<typename T>
-struct counting_allocator : public std::allocator<T>
-{
-  template<typename U>
-  struct rebind
-  {
-    typedef counting_allocator<U> other;
-  };
-
-  counting_allocator()
-  {
-  }
-
-  template<typename U>
-  counting_allocator( counting_allocator<U> )
-  {
-  }
-
-  T* allocate(std::size_t n)
-  {
-    alloc_count++;
-    return std::allocator<T>::allocate(n);
-  }
-
-  void deallocate(T* p, std::size_t n)
-  {
-    dealloc_count++;
-    std::allocator<T>::deallocate(p, n);
-  }
-};
-
-struct enable_small_object_optimization
-{
-};
-
-struct disable_small_object_optimization
-{
-  int unused_state_data[32];
-};
-
-template <typename base>
-struct plus_int: base
-{
-  int operator()(int x, int y) const { return x + y; }
-};
-
-static int do_minus(int x, int y) { return x-y; }
-
-template <typename base>
-struct DoNothing: base
-{
-  void operator()() const {}
-};
-
-static void do_nothing() {}
-
-int
-test_main(int, char*[])
-{
-  function2<int, int, int> f;
-  f.assign( plus_int<disable_small_object_optimization>(), counting_allocator<int>() );
-  f.clear();
-  BOOST_CHECK(alloc_count == 1);
-  BOOST_CHECK(dealloc_count == 1);
-  alloc_count = 0;
-  dealloc_count = 0;
-  f.assign( plus_int<enable_small_object_optimization>(), counting_allocator<int>() );
-  f.clear();
-  BOOST_CHECK(alloc_count == 0);
-  BOOST_CHECK(dealloc_count == 0);
-  f.assign( plus_int<disable_small_object_optimization>(), std::allocator<int>() );
-  f.clear();
-  f.assign( plus_int<enable_small_object_optimization>(), std::allocator<int>() );
-  f.clear();
-
-  alloc_count = 0;
-  dealloc_count = 0;
-  f.assign( &do_minus, counting_allocator<int>() );
-  f.clear();
-  BOOST_CHECK(alloc_count == 0);
-  BOOST_CHECK(dealloc_count == 0);
-  f.assign( &do_minus, std::allocator<int>() );
-  f.clear();
-
-  function0<void> fv;
-  alloc_count = 0;
-  dealloc_count = 0;
-  fv.assign( DoNothing<disable_small_object_optimization>(), counting_allocator<int>() );
-  fv.clear();
-  BOOST_CHECK(alloc_count == 1);
-  BOOST_CHECK(dealloc_count == 1);
-  alloc_count = 0;
-  dealloc_count = 0;
-  fv.assign( DoNothing<enable_small_object_optimization>(), counting_allocator<int>() );
-  fv.clear();
-  BOOST_CHECK(alloc_count == 0);
-  BOOST_CHECK(dealloc_count == 0);
-  fv.assign( DoNothing<disable_small_object_optimization>(), std::allocator<int>() );
-  fv.clear();
-  fv.assign( DoNothing<enable_small_object_optimization>(), std::allocator<int>() );
-  fv.clear();
-
-  alloc_count = 0;
-  dealloc_count = 0;
-  fv.assign( &do_nothing, counting_allocator<int>() );
-  fv.clear();
-  BOOST_CHECK(alloc_count == 0);
-  BOOST_CHECK(dealloc_count == 0);
-  fv.assign( &do_nothing, std::allocator<int>() );
-  fv.clear();
-  
-  function0<void> fv2;
-  fv.assign(&do_nothing, std::allocator<int>() );
-  fv2.assign(fv, std::allocator<int>() );
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/test/contains2_test.cpp b/SRC/Boost/libs/function/test/contains2_test.cpp
deleted file mode 100755
index e2fe7c8..0000000
--- a/SRC/Boost/libs/function/test/contains2_test.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2004.
-//  Copyright 2005 Peter Dimov
-
-//  Use, modification and distribution is subject to
-//  the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/function.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-static int forty_two()
-{
-    return 42;
-}
-
-struct Seventeen
-{
-    int operator()() const
-    {
-        return 17;
-    }
-};
-
-bool operator==(const Seventeen&, const Seventeen&)
-{
-    return true;
-}
-
-struct ReturnInt
-{
-    explicit ReturnInt(int value) : value(value)
-    {
-    }
-
-    int operator()() const
-    {
-        return value;
-    }
-
-    int value;
-};
-
-bool operator==(const ReturnInt& x, const ReturnInt& y)
-{
-    return x.value == y.value;
-}
-
-bool operator!=(const ReturnInt& x, const ReturnInt& y)
-{
-    return x.value != y.value;
-}
-
-int main()
-{
-    boost::function0<int> fn;
-
-    fn = &forty_two;
-
-    BOOST_TEST( fn() == 42 );
-
-    BOOST_TEST( fn.contains(&forty_two) );
-    BOOST_TEST( !fn.contains( Seventeen() ) );
-    BOOST_TEST( !fn.contains( ReturnInt(0) ) );
-    BOOST_TEST( !fn.contains( ReturnInt(12) ) );
-
-    fn = Seventeen();
-
-    BOOST_TEST( fn() == 17 );
-
-    BOOST_TEST( !fn.contains( &forty_two ) );
-    BOOST_TEST( fn.contains( Seventeen() ) );
-    BOOST_TEST( !fn.contains( ReturnInt(0) ) );
-    BOOST_TEST( !fn.contains( ReturnInt(12) ) );
-
-    fn = ReturnInt(12);
-
-    BOOST_TEST( fn() == 12 );
-
-    BOOST_TEST( !fn.contains( &forty_two ) );
-    BOOST_TEST( !fn.contains( Seventeen() ) );
-    BOOST_TEST( !fn.contains( ReturnInt(0) ) );
-    BOOST_TEST( fn.contains( ReturnInt(12) ) );
-
-    return boost::report_errors();
-}
diff --git a/SRC/Boost/libs/function/test/contains_test.cpp b/SRC/Boost/libs/function/test/contains_test.cpp
deleted file mode 100755
index b5515ab..0000000
--- a/SRC/Boost/libs/function/test/contains_test.cpp
+++ /dev/null
@@ -1,235 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2004. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/test/minimal.hpp>
-#include <boost/function.hpp>
-#include <boost/ref.hpp>
-
-static int forty_two() { return 42; }
-
-struct Seventeen
-{
-  int operator()() const { return 17; }
-};
-
-struct ReturnInt
-{
-  explicit ReturnInt(int value) : value(value) {}
-
-  int operator()() const { return value; }
-
-  int value;
-};
-
-bool operator==(const ReturnInt& x, const ReturnInt& y)
-{ return x.value == y.value; }
-
-bool operator!=(const ReturnInt& x, const ReturnInt& y)
-{ return x.value != y.value; }
-
-namespace contain_test {
-
-struct ReturnIntFE
-{
-  explicit ReturnIntFE(int value) : value(value) {}
-
-  int operator()() const { return value; }
-
-  int value;
-};
-
-}
-
-#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-
-namespace contain_test {
-# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-bool function_equal(const ReturnIntFE& x, const ReturnIntFE& y)
-{ return x.value == y.value; }
-# else
-bool function_equal_impl(const ReturnIntFE& x, const ReturnIntFE& y, int)
-{ return x.value == y.value; }
-# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-}
-#else // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-namespace boost {
-# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-bool 
-function_equal(const contain_test::ReturnIntFE& x, 
-               const contain_test::ReturnIntFE& y)
-{ return x.value == y.value; }
-# else
-bool 
-function_equal_impl(const contain_test::ReturnIntFE& x, 
-                    const contain_test::ReturnIntFE& y, int)
-{ return x.value == y.value; }
-# endif
-}
-#endif
-
-static void target_test()
-{
-  boost::function0<int> f;
-
-  f = &forty_two;
-  BOOST_CHECK(*f.target<int (*)()>() == &forty_two);
-  BOOST_CHECK(!f.target<Seventeen>());
-
-  f = Seventeen();
-  BOOST_CHECK(!f.target<int (*)()>());
-  BOOST_CHECK(f.target<Seventeen>());
-
-  Seventeen this_seventeen;
-  f = boost::ref(this_seventeen);
-  BOOST_CHECK(!f.target<int (*)()>());
-  BOOST_CHECK(f.target<Seventeen>());
-  BOOST_CHECK(f.target<Seventeen>() == &this_seventeen);
-
-  const Seventeen const_seventeen = this_seventeen;
-  f = boost::ref(const_seventeen);
-  BOOST_CHECK(!f.target<int (*)()>());
-  BOOST_CHECK(f.target<const Seventeen>());
-  BOOST_CHECK(f.target<const Seventeen>() == &const_seventeen);
-  BOOST_CHECK(f.target<const volatile Seventeen>());
-  BOOST_CHECK(!f.target<Seventeen>());
-  BOOST_CHECK(!f.target<volatile Seventeen>());
-}
-
-static void equal_test()
-{
-  boost::function0<int> f;
-
-  f = &forty_two;
-  BOOST_CHECK(f == &forty_two);
-  BOOST_CHECK(f != ReturnInt(17));
-#if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
-  BOOST_CHECK(&forty_two == f);
-  BOOST_CHECK(ReturnInt(17) != f);
-#endif
-
-  BOOST_CHECK(f.contains(&forty_two));
-
-  f = ReturnInt(17);
-  BOOST_CHECK(f != &forty_two);
-  BOOST_CHECK(f == ReturnInt(17));
-  BOOST_CHECK(f != ReturnInt(16));
-#if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
-  BOOST_CHECK(&forty_two != f);
-  BOOST_CHECK(ReturnInt(17) == f);
-  BOOST_CHECK(ReturnInt(16) != f);
-#endif
-
-  BOOST_CHECK(f.contains(ReturnInt(17)));
-
-  f = contain_test::ReturnIntFE(17);
-  BOOST_CHECK(f != &forty_two);
-  BOOST_CHECK(f == contain_test::ReturnIntFE(17));
-  BOOST_CHECK(f != contain_test::ReturnIntFE(16));
-#if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
-  BOOST_CHECK(&forty_two != f);
-  BOOST_CHECK(contain_test::ReturnIntFE(17) == f);
-  BOOST_CHECK(contain_test::ReturnIntFE(16) != f);
-#endif
-
-  BOOST_CHECK(f.contains(contain_test::ReturnIntFE(17)));
-
-#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
-  boost::function<int(void)> g;
-
-  g = &forty_two;
-  BOOST_CHECK(g == &forty_two);
-  BOOST_CHECK(g != ReturnInt(17));
-#  if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
-  BOOST_CHECK(&forty_two == g);
-  BOOST_CHECK(ReturnInt(17) != g);
-#  endif
-
-  g = ReturnInt(17);
-  BOOST_CHECK(g != &forty_two);
-  BOOST_CHECK(g == ReturnInt(17));
-  BOOST_CHECK(g != ReturnInt(16));
-#  if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
-  BOOST_CHECK(&forty_two != g);
-  BOOST_CHECK(ReturnInt(17) == g);
-  BOOST_CHECK(ReturnInt(16) != g);
-#  endif
-#endif
-}
-
-static void ref_equal_test()
-{
-  {
-    ReturnInt ri(17);
-    boost::function0<int> f = boost::ref(ri);
-
-    // References and values are equal
-    BOOST_CHECK(f == boost::ref(ri));
-    BOOST_CHECK(f == ri);
-    BOOST_CHECK(boost::ref(ri) == f);
-    BOOST_CHECK(!(f != boost::ref(ri)));
-    BOOST_CHECK(!(f != ri));
-    BOOST_CHECK(!(boost::ref(ri) != f));
-#if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
-    BOOST_CHECK(ri == f);
-    BOOST_CHECK(!(ri != f));
-#endif
-
-    // Values equal, references inequal
-    ReturnInt ri2(17);
-    BOOST_CHECK(f == ri2);
-    BOOST_CHECK(f != boost::ref(ri2));
-    BOOST_CHECK(boost::ref(ri2) != f);
-    BOOST_CHECK(!(f != ri2));
-    BOOST_CHECK(!(f == boost::ref(ri2)));
-    BOOST_CHECK(!(boost::ref(ri2) == f));
-#if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
-    BOOST_CHECK(ri2 == f);
-    BOOST_CHECK(!(ri2 != f));
-#endif 
-  }
-
-#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
-  {
-    ReturnInt ri(17);
-    boost::function<int(void)> f = boost::ref(ri);
-
-    // References and values are equal
-    BOOST_CHECK(f == boost::ref(ri));
-    BOOST_CHECK(f == ri);
-    BOOST_CHECK(boost::ref(ri) == f);
-    BOOST_CHECK(!(f != boost::ref(ri)));
-    BOOST_CHECK(!(f != ri));
-    BOOST_CHECK(!(boost::ref(ri) != f));
-#  if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
-    BOOST_CHECK(ri == f);
-    BOOST_CHECK(!(ri != f));
-#  endif
-
-    // Values equal, references inequal
-    ReturnInt ri2(17);
-    BOOST_CHECK(f == ri2);
-    BOOST_CHECK(f != boost::ref(ri2));
-    BOOST_CHECK(boost::ref(ri2) != f);
-    BOOST_CHECK(!(f != ri2));
-    BOOST_CHECK(!(f == boost::ref(ri2)));
-    BOOST_CHECK(!(boost::ref(ri2) == f));
-#  if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
-    BOOST_CHECK(ri2 == f);
-    BOOST_CHECK(!(ri2 != f));
-#  endif
-  }
-#endif
-}
-
-int test_main(int, char*[])
-{
-  target_test();
-  equal_test();
-  ref_equal_test();
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/test/function_30.cpp b/SRC/Boost/libs/function/test/function_30.cpp
deleted file mode 100755
index 12b1a14..0000000
--- a/SRC/Boost/libs/function/test/function_30.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-// Make sure we don't try to redefine function2
-#include <boost/function/function2.hpp>
-
-// Define all Boost.Function class templates up to 30 arguments
-#define BOOST_FUNCTION_MAX_ARGS 30
-#include <boost/function.hpp>
-
-int main()
-{
-  boost::function0<float> f0;
-
-  boost::function30<float, int, int, int, int, int, int, int, int, int, int,
-                    int, int, int, int, int, int, int, int, int, int,
-                    int, int, int, int, int, int, int, int, int, int> f30;
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/test/function_arith_cxx98.cpp b/SRC/Boost/libs/function/test/function_arith_cxx98.cpp
deleted file mode 100755
index 7e057a0..0000000
--- a/SRC/Boost/libs/function/test/function_arith_cxx98.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// Function library
-
-// Copyright (C) 2001-2003 Douglas Gregor
-
-// Use, modification and distribution is subject to the Boost Software 
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt) 
-
-// For more information, see http://www.boost.org/
-
-    
-#include <boost/function.hpp>
-#include <iostream>
-
-
-float mul_ints(int x, int y) { return ((float)x) * y; }
-struct int_div { 
-  float operator()(int x, int y) const { return ((float)x)/y; }; 
-};
-
-int main()
-{
-    boost::function<float (int x, int y)> f;
-    f = int_div();
-    std::cout << f(5, 3) << std::endl;
-    if (f)
-  std::cout << f(5, 3) << std::endl;
-else
-  std::cout << "f has no target, so it is unsafe to call" << std::endl;
-    f = 0;
-    f = &mul_ints;
-  
-    return 0;
-}
diff --git a/SRC/Boost/libs/function/test/function_arith_portable.cpp b/SRC/Boost/libs/function/test/function_arith_portable.cpp
deleted file mode 100755
index 518c323..0000000
--- a/SRC/Boost/libs/function/test/function_arith_portable.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-// Function library
-
-// Copyright (C) 2001-2003 Douglas Gregor
-
-// Use, modification and distribution is subject to the Boost Software 
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt) 
-
-// For more information, see http://www.boost.org/
-
-    
-#include <boost/function.hpp>
-#include <iostream>
-
-float mul_ints(int x, int y) { return ((float)x) * y; }
-struct int_div { 
-  float operator()(int x, int y) const { return ((float)x)/y; }; 
-};
-int main()
-{
-    boost::function2<float, int, int> f;
-    f = int_div();
-    std::cout << f(5, 3) << std::endl;
-    if (f)
-  std::cout << f(5, 3) << std::endl;
-else
-  std::cout << "f has no target, so it is unsafe to call" << std::endl;
-    f = 0;
-    f = &mul_ints;
-
-    return 0;
-}
diff --git a/SRC/Boost/libs/function/test/function_n_test.cpp b/SRC/Boost/libs/function/test/function_n_test.cpp
deleted file mode 100755
index d4b951c..0000000
--- a/SRC/Boost/libs/function/test/function_n_test.cpp
+++ /dev/null
@@ -1,697 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2001-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#include <boost/test/minimal.hpp>
-#include <boost/function.hpp>
-#include <functional>
-#include <cassert>
-#include <string>
-
-using namespace boost;
-using std::string;
-using std::negate;
-
-int global_int;
-
-struct write_five_obj { void operator()() const { global_int = 5; } };
-struct write_three_obj { int operator()() const { global_int = 3; return 7; }};
-static void write_five() { global_int = 5; }
-static void write_three() { global_int = 3; }
-struct generate_five_obj { int operator()() const { return 5; } };
-struct generate_three_obj { int operator()() const { return 3; } };
-static int generate_five() { return 5; }
-static int generate_three() { return 3; }
-static string identity_str(const string& s) { return s; }
-static string string_cat(const string& s1, const string& s2) { return s1+s2; }
-static int sum_ints(int x, int y) { return x+y; }
-
-struct write_const_1_nonconst_2
-{
-  void operator()() { global_int = 2; }
-  void operator()() const { global_int = 1; }
-};
-
-struct add_to_obj
-{
-  add_to_obj(int v) : value(v) {}
-
-  int operator()(int x) const { return value + x; }
-
-  int value;
-};
-
-static void
-test_zero_args()
-{
-  typedef function0<void> func_void_type;
-
-  write_five_obj five = write_five_obj(); // Initialization for Borland C++ 5.5
-  write_three_obj three = write_three_obj(); // Ditto
-
-  // Default construction
-  func_void_type v1;
-  BOOST_CHECK(v1.empty());
-
-  // Assignment to an empty function
-  v1 = five;
-  BOOST_CHECK(!v1.empty());
-
-  // Invocation of a function
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 5);
-
-  // clear() method
-  v1.clear();
-  BOOST_CHECK(!v1);
-
-  // Assignment to an empty function
-  v1 = three;
-  BOOST_CHECK(!v1.empty());
-
-  // Invocation and self-assignment
-  global_int = 0;
-  v1 = v1;
-  v1();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a non-empty function
-  v1 = five;
-
-  // Invocation and self-assignment
-  global_int = 0;
-  v1 = (v1);
-  v1();
-  BOOST_CHECK(global_int == 5);
-
-  // clear
-  v1 = 0;
-  BOOST_CHECK(v1.empty());
-
-  // Assignment to an empty function from a free function
-  v1 = &write_five;
-  BOOST_CHECK(!v1.empty());
-
-  // Invocation
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v1 = &write_three;
-  BOOST_CHECK(!v1.empty());
-
-  // Invocation
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment
-  v1 = five;
-  BOOST_CHECK(!v1.empty());
-
-  // Invocation
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v1 = write_three;
-  BOOST_CHECK(!v1.empty());
-
-  // Invocation
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 3);
-
-  // Construction from another function (that is empty)
-  v1.clear();
-  func_void_type v2(v1);
-  BOOST_CHECK(!v2? true : false);
-
-  // Assignment to an empty function
-  v2 = three;
-  BOOST_CHECK(!v2.empty());
-
-  // Invocation
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a non-empty function
-  v2 = (five);
-
-  // Invocation
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 5);
-
-  v2.clear();
-  BOOST_CHECK(v2.empty());
-
-  // Assignment to an empty function from a free function
-  v2 = (&write_five);
-  BOOST_CHECK(v2? true : false);
-
-  // Invocation
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v2 = &write_three;
-  BOOST_CHECK(!v2.empty());
-
-  // Invocation
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 3);
-
-  // Swapping
-  v1 = five;
-  swap(v1, v2);
-  v2();
-  BOOST_CHECK(global_int == 5);
-  v1();
-  BOOST_CHECK(global_int == 3);
-  swap(v1, v2);
-  v1.clear();
-
-  // Assignment
-  v2 = five;
-  BOOST_CHECK(!v2.empty());
-
-  // Invocation
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v2 = &write_three;
-  BOOST_CHECK(!v2.empty());
-
-  // Invocation
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a function from an empty function
-  v2 = v1;
-  BOOST_CHECK(v2.empty());
-
-  // Assignment to a function from a function with a functor
-  v1 = three;
-  v2 = v1;
-  BOOST_CHECK(!v1.empty());
-  BOOST_CHECK(!v2.empty());
-
-  // Invocation
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 3);
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 3);
-
-  // Assign to a function from a function with a function
-  v2 = &write_five;
-  v1 = v2;
-  BOOST_CHECK(!v1.empty());
-  BOOST_CHECK(!v2.empty());
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 5);
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 5);
-
-  // Construct a function given another function containing a function
-  func_void_type v3(v1);
-
-  // Invocation of a function
-  global_int = 0;
-  v3();
-  BOOST_CHECK(global_int == 5);
-
-  // clear() method
-  v3.clear();
-  BOOST_CHECK(!v3? true : false);
-
-  // Assignment to an empty function
-  v3 = three;
-  BOOST_CHECK(!v3.empty());
-
-  // Invocation
-  global_int = 0;
-  v3();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a non-empty function
-  v3 = five;
-
-  // Invocation
-  global_int = 0;
-  v3();
-  BOOST_CHECK(global_int == 5);
-
-  // clear()
-  v3.clear();
-  BOOST_CHECK(v3.empty());
-
-  // Assignment to an empty function from a free function
-  v3 = &write_five;
-  BOOST_CHECK(!v3.empty());
-
-  // Invocation
-  global_int = 0;
-  v3();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v3 = &write_three;
-  BOOST_CHECK(!v3.empty());
-
-  // Invocation
-  global_int = 0;
-  v3();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment
-  v3 = five;
-  BOOST_CHECK(!v3.empty());
-
-  // Invocation
-  global_int = 0;
-  v3();
-  BOOST_CHECK(global_int == 5);
-
-  // Construction of a function from a function containing a functor
-  func_void_type v4(v3);
-
-  // Invocation of a function
-  global_int = 0;
-  v4();
-  BOOST_CHECK(global_int == 5);
-
-  // clear() method
-  v4.clear();
-  BOOST_CHECK(v4.empty());
-
-  // Assignment to an empty function
-  v4 = three;
-  BOOST_CHECK(!v4.empty());
-
-  // Invocation
-  global_int = 0;
-  v4();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a non-empty function
-  v4 = five;
-
-  // Invocation
-  global_int = 0;
-  v4();
-  BOOST_CHECK(global_int == 5);
-
-  // clear()
-  v4.clear();
-  BOOST_CHECK(v4.empty());
-
-  // Assignment to an empty function from a free function
-  v4 = &write_five;
-  BOOST_CHECK(!v4.empty());
-
-  // Invocation
-  global_int = 0;
-  v4();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v4 = &write_three;
-  BOOST_CHECK(!v4.empty());
-
-  // Invocation
-  global_int = 0;
-  v4();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment
-  v4 = five;
-  BOOST_CHECK(!v4.empty());
-
-  // Invocation
-  global_int = 0;
-  v4();
-  BOOST_CHECK(global_int == 5);
-
-  // Construction of a function from a functor
-  func_void_type v5(five);
-
-  // Invocation of a function
-  global_int = 0;
-  v5();
-  BOOST_CHECK(global_int == 5);
-
-  // clear() method
-  v5.clear();
-  BOOST_CHECK(v5.empty());
-
-  // Assignment to an empty function
-  v5 = three;
-  BOOST_CHECK(!v5.empty());
-
-  // Invocation
-  global_int = 0;
-  v5();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a non-empty function
-  v5 = five;
-
-  // Invocation
-  global_int = 0;
-  v5();
-  BOOST_CHECK(global_int == 5);
-
-  // clear()
-  v5.clear();
-  BOOST_CHECK(v5.empty());
-
-  // Assignment to an empty function from a free function
-  v5 = &write_five;
-  BOOST_CHECK(!v5.empty());
-
-  // Invocation
-  global_int = 0;
-  v5();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v5 = &write_three;
-  BOOST_CHECK(!v5.empty());
-
-  // Invocation
-  global_int = 0;
-  v5();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment
-  v5 = five;
-  BOOST_CHECK(!v5.empty());
-
-  // Invocation
-  global_int = 0;
-  v5();
-  BOOST_CHECK(global_int == 5);
-
-  // Construction of a function from a function
-  func_void_type v6(&write_five);
-
-  // Invocation of a function
-  global_int = 0;
-  v6();
-  BOOST_CHECK(global_int == 5);
-
-  // clear() method
-  v6.clear();
-  BOOST_CHECK(v6.empty());
-
-  // Assignment to an empty function
-  v6 = three;
-  BOOST_CHECK(!v6.empty());
-
-  // Invocation
-  global_int = 0;
-  v6();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a non-empty function
-  v6 = five;
-
-  // Invocation
-  global_int = 0;
-  v6();
-  BOOST_CHECK(global_int == 5);
-
-  // clear()
-  v6.clear();
-  BOOST_CHECK(v6.empty());
-
-  // Assignment to an empty function from a free function
-  v6 = &write_five;
-  BOOST_CHECK(!v6.empty());
-
-  // Invocation
-  global_int = 0;
-  v6();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v6 = &write_three;
-  BOOST_CHECK(!v6.empty());
-
-  // Invocation
-  global_int = 0;
-  v6();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment
-  v6 = five;
-  BOOST_CHECK(!v6.empty());
-
-  // Invocation
-  global_int = 0;
-  v6();
-  BOOST_CHECK(global_int == 5);
-
-  // Const vs. non-const
-  // Initialization for Borland C++ 5.5
-  write_const_1_nonconst_2 one_or_two = write_const_1_nonconst_2(); 
-  const function0<void> v7(one_or_two);
-  function0<void> v8(one_or_two);
-
-  global_int = 0;
-  v7();
-  BOOST_CHECK(global_int == 2);
-
-  global_int = 0;
-  v8();
-  BOOST_CHECK(global_int == 2);
-
-  // Test construction from 0 and comparison to 0
-  func_void_type v9(0);
-  BOOST_CHECK(v9 == 0);
-# if !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540 || defined(BOOST_STRICT_CONFIG)
-  BOOST_CHECK(0 == v9);
-#else
-  BOOST_CHECK(v9.empty());
-#endif
-
-  // Test return values
-  typedef function0<int> func_int_type;
-  // Initialization for Borland C++ 5.5
-  generate_five_obj gen_five = generate_five_obj();
-  generate_three_obj gen_three = generate_three_obj();
-  func_int_type i0(gen_five);
-
-  BOOST_CHECK(i0() == 5);
-  i0 = gen_three;
-  BOOST_CHECK(i0() == 3);
-  i0 = &generate_five;
-  BOOST_CHECK(i0() == 5);
-  i0 = &generate_three;
-  BOOST_CHECK(i0() == 3);
-  BOOST_CHECK(i0? true : false);
-  i0.clear();
-  BOOST_CHECK(!i0? true : false);
-
-  // Test return values with compatible types
-  typedef function0<long> func_long_type;
-  func_long_type i1(gen_five);
-
-  BOOST_CHECK(i1() == 5);
-  i1 = gen_three;
-  BOOST_CHECK(i1() == 3);
-  i1 = &generate_five;
-  BOOST_CHECK(i1() == 5);
-  i1 = &generate_three;
-  BOOST_CHECK(i1() == 3);
-  BOOST_CHECK(i1? true : false);
-  i1.clear();
-  BOOST_CHECK(!i1? true : false);
-}
-
-static void
-test_one_arg()
-{
-  negate<int> neg = negate<int>(); // Initialization for Borland C++ 5.5
-
-  function1<int, int> f1(neg);
-  BOOST_CHECK(f1(5) == -5);
-
-  function1<string, string> id(&identity_str);
-  BOOST_CHECK(id("str") == "str");
-
-  function1<std::string, const char*> id2(&identity_str);
-  BOOST_CHECK(id2("foo") == "foo");
-
-  add_to_obj add_to(5);
-  function1<int, int> f2(add_to);
-  BOOST_CHECK(f2(3) == 8);
-
-  const function1<int, int> cf2(add_to);
-  BOOST_CHECK(cf2(3) == 8);
-}
-
-static void
-test_two_args()
-{
-  function2<string, const string&, const string&> cat(&string_cat);
-  BOOST_CHECK(cat("str", "ing") == "string");
-
-  function2<int, short, short> sum(&sum_ints);
-  BOOST_CHECK(sum(2, 3) == 5);
-}
-
-static void
-test_emptiness()
-{
-  function0<float> f1;
-  BOOST_CHECK(f1.empty());
-
-  function0<float> f2;
-  f2 = f1;
-  BOOST_CHECK(f2.empty());
-
-  function0<double> f3;
-  f3 = f2;
-  BOOST_CHECK(f3.empty());
-}
-
-struct X {
-  X(int v) : value(v) {}
-
-  int twice() const { return 2*value; }
-  int plus(int v) { return value + v; }
-
-  int value;
-};
-
-static void
-test_member_functions()
-{
-
-  boost::function1<int, X*> f1(&X::twice);
-
-  X one(1);
-  X five(5);
-
-  BOOST_CHECK(f1(&one) == 2);
-  BOOST_CHECK(f1(&five) == 10);
-
-  boost::function1<int, X*> f1_2;
-  f1_2 = &X::twice;
-
-  BOOST_CHECK(f1_2(&one) == 2);
-  BOOST_CHECK(f1_2(&five) == 10);
-
-  boost::function2<int, X&, int> f2(&X::plus);
-  BOOST_CHECK(f2(one, 3) == 4);
-  BOOST_CHECK(f2(five, 4) == 9);
-}
-
-struct add_with_throw_on_copy {
-  int operator()(int x, int y) const { return x+y; }
-
-  add_with_throw_on_copy() {}
-
-  add_with_throw_on_copy(const add_with_throw_on_copy&)
-  {
-    throw std::runtime_error("But this CAN'T throw");
-  }
-
-  add_with_throw_on_copy& operator=(const add_with_throw_on_copy&)
-  {
-    throw std::runtime_error("But this CAN'T throw");
-  }
-};
-
-static void
-test_ref()
-{
-  add_with_throw_on_copy atc;
-  try {
-    boost::function2<int, int, int> f(ref(atc));
-    BOOST_CHECK(f(1, 3) == 4);
-  }
-  catch(std::runtime_error e) {
-    BOOST_ERROR("Nonthrowing constructor threw an exception");
-  }
-}
-
-static unsigned construction_count = 0;
-static unsigned destruction_count = 0;
-
-struct MySmallFunctor {
-  MySmallFunctor() { ++construction_count; }
-  MySmallFunctor(const MySmallFunctor &) { ++construction_count; }
-  ~MySmallFunctor() { ++destruction_count; }
-  int operator()() { return 0; }
- };
-
-struct MyLargeFunctor {
-  MyLargeFunctor() { ++construction_count; }
-  MyLargeFunctor(const MyLargeFunctor &) { ++construction_count; }
-  ~MyLargeFunctor() { ++destruction_count; }
-  int operator()() { return 0; }
-
-  float data[128];
- };
-
-void test_construct_destroy_count()
-{
-  {
-    boost::function0<int> f;
-    boost::function0<int> g;
-    f = MySmallFunctor();
-    g = MySmallFunctor();
-    f.swap(g);
-  }
-
-  // MySmallFunctor objects should be constructed as many times as
-  // they are destroyed.
-  BOOST_CHECK(construction_count == destruction_count);
- 
-  construction_count = 0;
-  destruction_count = 0;
-  {
-    boost::function0<int> f;
-    boost::function0<int> g;
-    f = MyLargeFunctor();
-    g = MyLargeFunctor();
-    f.swap(g);
-   }
-
-   // MyLargeFunctor objects should be constructed as many times as
-   // they are destroyed.
-   BOOST_CHECK(construction_count == destruction_count);
-}
-
-int test_main(int, char* [])
-{
-  test_zero_args();
-  test_one_arg();
-  test_two_args();
-  test_emptiness();
-  test_member_functions();
-  test_ref();
-  test_construct_destroy_count();
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/test/function_ref_cxx98.cpp b/SRC/Boost/libs/function/test/function_ref_cxx98.cpp
deleted file mode 100755
index f3cfaae..0000000
--- a/SRC/Boost/libs/function/test/function_ref_cxx98.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Function library
-
-// Copyright (C) 2001-2003 Douglas Gregor
-
-// Use, modification and distribution is subject to the Boost Software 
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt) 
-
-// For more information, see http://www.boost.org/
-
-
-#include <boost/function.hpp>
-#include <iostream>
-
-
-struct stateful_type { int operator()(int) const { return 0; } };
-
-int main()
-{
-    stateful_type a_function_object;
-  boost::function<int (int)> f;
-  f = boost::ref(a_function_object);
-
-  boost::function<int (int)> f2(f);
-
-    return 0;
-}
diff --git a/SRC/Boost/libs/function/test/function_ref_portable.cpp b/SRC/Boost/libs/function/test/function_ref_portable.cpp
deleted file mode 100755
index 0f58637..0000000
--- a/SRC/Boost/libs/function/test/function_ref_portable.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Function library
-
-// Copyright (C) 2001-2003 Douglas Gregor
-
-// Use, modification and distribution is subject to the Boost Software 
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt) 
-
-// For more information, see http://www.boost.org/
-
-
-#include <boost/function.hpp>
-#include <iostream>
-
-
-struct stateful_type { int operator()(int) const { return 0; } };
-
-int main()
-{
-    stateful_type a_function_object;
-  boost::function1<int, int> f;
-  f = boost::ref(a_function_object);
-
-  boost::function1<int, int> f2(f);
-
-    return 0;
-}
diff --git a/SRC/Boost/libs/function/test/function_test.cpp b/SRC/Boost/libs/function/test/function_test.cpp
deleted file mode 100755
index edca0cd..0000000
--- a/SRC/Boost/libs/function/test/function_test.cpp
+++ /dev/null
@@ -1,707 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2001-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#include <boost/test/minimal.hpp>
-#include <boost/function.hpp>
-#include <functional>
-#include <string>
-#include <utility>
-
-using boost::function;
-using std::string;
-
-int global_int;
-
-struct write_five_obj { void operator()() const { global_int = 5; } };
-struct write_three_obj { int operator()() const { global_int = 3; return 7; }};
-static void write_five() { global_int = 5; }
-static void write_three() { global_int = 3; }
-struct generate_five_obj { int operator()() const { return 5; } };
-struct generate_three_obj { int operator()() const { return 3; } };
-static int generate_five() { return 5; }
-static int generate_three() { return 3; }
-static string identity_str(const string& s) { return s; }
-static string string_cat(const string& s1, const string& s2) { return s1+s2; }
-static int sum_ints(int x, int y) { return x+y; }
-
-struct write_const_1_nonconst_2
-{
-  void operator()() { global_int = 2; }
-  void operator()() const { global_int = 1; }
-};
-
-struct add_to_obj
-{
-  add_to_obj(int v) : value(v) {}
-
-  int operator()(int x) const { return value + x; }
-
-  int value;
-};
-
-static void
-test_zero_args()
-{
-  typedef function<void ()> func_void_type;
-
-  write_five_obj five;
-  write_three_obj three;
-
-  // Default construction
-  func_void_type v1;
-  BOOST_CHECK(v1.empty());
-
-  // Assignment to an empty function
-  v1 = five;
-  BOOST_CHECK(v1 != 0);
-
-  // Invocation of a function
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 5);
-
-  // clear() method
-  v1.clear();
-  BOOST_CHECK(v1 == 0);
-
-  // Assignment to an empty function
-  v1 = three;
-  BOOST_CHECK(!v1.empty());
-
-  // Invocation and self-assignment
-  global_int = 0;
-  v1 = v1;
-  v1();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a non-empty function
-  v1 = five;
-
-  // Invocation and self-assignment
-  global_int = 0;
-  v1 = (v1);
-  v1();
-  BOOST_CHECK(global_int == 5);
-
-  // clear
-  v1 = 0;
-  BOOST_CHECK(0 == v1);
-
-  // Assignment to an empty function from a free function
-  v1 = BOOST_FUNCTION_TARGET_FIX(&) write_five;
-  BOOST_CHECK(0 != v1);
-
-  // Invocation
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v1 = BOOST_FUNCTION_TARGET_FIX(&) write_three;
-  BOOST_CHECK(!v1.empty());
-
-  // Invocation
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment
-  v1 = five;
-  BOOST_CHECK(!v1.empty());
-
-  // Invocation
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v1 = &write_three;
-  BOOST_CHECK(!v1.empty());
-
-  // Invocation
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 3);
-
-  // Construction from another function (that is empty)
-  v1.clear();
-  func_void_type v2(v1);
-  BOOST_CHECK(!v2? true : false);
-
-  // Assignment to an empty function
-  v2 = three;
-  BOOST_CHECK(!v2.empty());
-
-  // Invocation
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a non-empty function
-  v2 = (five);
-
-  // Invocation
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 5);
-
-  v2.clear();
-  BOOST_CHECK(v2.empty());
-
-  // Assignment to an empty function from a free function
-  v2 = (BOOST_FUNCTION_TARGET_FIX(&) write_five);
-  BOOST_CHECK(v2? true : false);
-
-  // Invocation
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v2 = BOOST_FUNCTION_TARGET_FIX(&) write_three;
-  BOOST_CHECK(!v2.empty());
-
-  // Invocation
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 3);
-
-  // Swapping
-  v1 = five;
-  swap(v1, v2);
-  v2();
-  BOOST_CHECK(global_int == 5);
-  v1();
-  BOOST_CHECK(global_int == 3);
-  swap(v1, v2);
-  v1.clear();
-
-  // Assignment
-  v2 = five;
-  BOOST_CHECK(!v2.empty());
-
-  // Invocation
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v2 = &write_three;
-  BOOST_CHECK(!v2.empty());
-
-  // Invocation
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a function from an empty function
-  v2 = v1;
-  BOOST_CHECK(v2.empty());
-
-  // Assignment to a function from a function with a functor
-  v1 = three;
-  v2 = v1;
-  BOOST_CHECK(!v1.empty());
-  BOOST_CHECK(!v2.empty());
-
-  // Invocation
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 3);
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 3);
-
-  // Assign to a function from a function with a function
-  v2 = BOOST_FUNCTION_TARGET_FIX(&) write_five;
-  v1 = v2;
-  BOOST_CHECK(!v1.empty());
-  BOOST_CHECK(!v2.empty());
-  global_int = 0;
-  v1();
-  BOOST_CHECK(global_int == 5);
-  global_int = 0;
-  v2();
-  BOOST_CHECK(global_int == 5);
-
-  // Construct a function given another function containing a function
-  func_void_type v3(v1);
-
-  // Invocation of a function
-  global_int = 0;
-  v3();
-  BOOST_CHECK(global_int == 5);
-
-  // clear() method
-  v3.clear();
-  BOOST_CHECK(!v3? true : false);
-
-  // Assignment to an empty function
-  v3 = three;
-  BOOST_CHECK(!v3.empty());
-
-  // Invocation
-  global_int = 0;
-  v3();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a non-empty function
-  v3 = five;
-
-  // Invocation
-  global_int = 0;
-  v3();
-  BOOST_CHECK(global_int == 5);
-
-  // clear()
-  v3.clear();
-  BOOST_CHECK(v3.empty());
-
-  // Assignment to an empty function from a free function
-  v3 = &write_five;
-  BOOST_CHECK(!v3.empty());
-
-  // Invocation
-  global_int = 0;
-  v3();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v3 = &write_three;
-  BOOST_CHECK(!v3.empty());
-
-  // Invocation
-  global_int = 0;
-  v3();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment
-  v3 = five;
-  BOOST_CHECK(!v3.empty());
-
-  // Invocation
-  global_int = 0;
-  v3();
-  BOOST_CHECK(global_int == 5);
-
-  // Construction of a function from a function containing a functor
-  func_void_type v4(v3);
-
-  // Invocation of a function
-  global_int = 0;
-  v4();
-  BOOST_CHECK(global_int == 5);
-
-  // clear() method
-  v4.clear();
-  BOOST_CHECK(v4.empty());
-
-  // Assignment to an empty function
-  v4 = three;
-  BOOST_CHECK(!v4.empty());
-
-  // Invocation
-  global_int = 0;
-  v4();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a non-empty function
-  v4 = five;
-
-  // Invocation
-  global_int = 0;
-  v4();
-  BOOST_CHECK(global_int == 5);
-
-  // clear()
-  v4.clear();
-  BOOST_CHECK(v4.empty());
-
-  // Assignment to an empty function from a free function
-  v4 = &write_five;
-  BOOST_CHECK(!v4.empty());
-
-  // Invocation
-  global_int = 0;
-  v4();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v4 = &write_three;
-  BOOST_CHECK(!v4.empty());
-
-  // Invocation
-  global_int = 0;
-  v4();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment
-  v4 = five;
-  BOOST_CHECK(!v4.empty());
-
-  // Invocation
-  global_int = 0;
-  v4();
-  BOOST_CHECK(global_int == 5);
-
-  // Construction of a function from a functor
-  func_void_type v5(five);
-
-  // Invocation of a function
-  global_int = 0;
-  v5();
-  BOOST_CHECK(global_int == 5);
-
-  // clear() method
-  v5.clear();
-  BOOST_CHECK(v5.empty());
-
-  // Assignment to an empty function
-  v5 = three;
-  BOOST_CHECK(!v5.empty());
-
-  // Invocation
-  global_int = 0;
-  v5();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a non-empty function
-  v5 = five;
-
-  // Invocation
-  global_int = 0;
-  v5();
-  BOOST_CHECK(global_int == 5);
-
-  // clear()
-  v5.clear();
-  BOOST_CHECK(v5.empty());
-
-  // Assignment to an empty function from a free function
-  v5 = &write_five;
-  BOOST_CHECK(!v5.empty());
-
-  // Invocation
-  global_int = 0;
-  v5();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v5 = &write_three;
-  BOOST_CHECK(!v5.empty());
-
-  // Invocation
-  global_int = 0;
-  v5();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment
-  v5 = five;
-  BOOST_CHECK(!v5.empty());
-
-  // Invocation
-  global_int = 0;
-  v5();
-  BOOST_CHECK(global_int == 5);
-
-  // Construction of a function from a function
-  func_void_type v6(&write_five);
-
-  // Invocation of a function
-  global_int = 0;
-  v6();
-  BOOST_CHECK(global_int == 5);
-
-  // clear() method
-  v6.clear();
-  BOOST_CHECK(v6.empty());
-
-  // Assignment to an empty function
-  v6 = three;
-  BOOST_CHECK(!v6.empty());
-
-  // Invocation
-  global_int = 0;
-  v6();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment to a non-empty function
-  v6 = five;
-
-  // Invocation
-  global_int = 0;
-  v6();
-  BOOST_CHECK(global_int == 5);
-
-  // clear()
-  v6.clear();
-  BOOST_CHECK(v6.empty());
-
-  // Assignment to an empty function from a free function
-  v6 = &write_five;
-  BOOST_CHECK(!v6.empty());
-
-  // Invocation
-  global_int = 0;
-  v6();
-  BOOST_CHECK(global_int == 5);
-
-  // Assignment to a non-empty function from a free function
-  v6 = &write_three;
-  BOOST_CHECK(!v6.empty());
-
-  // Invocation
-  global_int = 0;
-  v6();
-  BOOST_CHECK(global_int == 3);
-
-  // Assignment
-  v6 = five;
-  BOOST_CHECK(!v6.empty());
-
-  // Invocation
-  global_int = 0;
-  v6();
-  BOOST_CHECK(global_int == 5);
-
-  // Const vs. non-const
-  write_const_1_nonconst_2 one_or_two;
-  const function<void ()> v7(one_or_two);
-  function<void ()> v8(one_or_two);
-
-  global_int = 0;
-  v7();
-  BOOST_CHECK(global_int == 2);
-
-  global_int = 0;
-  v8();
-  BOOST_CHECK(global_int == 2);
-
-  // Test construction from 0 and comparison to 0
-  func_void_type v9(0);
-  BOOST_CHECK(v9 == 0);
-  BOOST_CHECK(0 == v9);
-
-  // Test return values
-  typedef function<int ()> func_int_type;
-  generate_five_obj gen_five;
-  generate_three_obj gen_three;
-
-  func_int_type i0(gen_five);
-
-  BOOST_CHECK(i0() == 5);
-  i0 = gen_three;
-  BOOST_CHECK(i0() == 3);
-  i0 = &generate_five;
-  BOOST_CHECK(i0() == 5);
-  i0 = &generate_three;
-  BOOST_CHECK(i0() == 3);
-  BOOST_CHECK(i0? true : false);
-  i0.clear();
-  BOOST_CHECK(!i0? true : false);
-
-  // Test return values with compatible types
-  typedef function<long ()> func_long_type;
-  func_long_type i1(gen_five);
-
-  BOOST_CHECK(i1() == 5);
-  i1 = gen_three;
-  BOOST_CHECK(i1() == 3);
-  i1 = &generate_five;
-  BOOST_CHECK(i1() == 5);
-  i1 = &generate_three;
-  BOOST_CHECK(i1() == 3);
-  BOOST_CHECK(i1? true : false);
-  i1.clear();
-  BOOST_CHECK(!i1? true : false);
-}
-
-static void
-test_one_arg()
-{
-  std::negate<int> neg;
-
-  function<int (int)> f1(neg);
-  BOOST_CHECK(f1(5) == -5);
-
-  function<string (string)> id(&identity_str);
-  BOOST_CHECK(id("str") == "str");
-
-  function<string (const char*)> id2(&identity_str);
-  BOOST_CHECK(id2("foo") == "foo");
-
-  add_to_obj add_to(5);
-  function<int (int)> f2(add_to);
-  BOOST_CHECK(f2(3) == 8);
-
-  const function<int (int)> cf2(add_to);
-  BOOST_CHECK(cf2(3) == 8);
-}
-
-static void
-test_two_args()
-{
-  function<string (const string&, const string&)> cat(&string_cat);
-  BOOST_CHECK(cat("str", "ing") == "string");
-
-  function<int (short, short)> sum(&sum_ints);
-  BOOST_CHECK(sum(2, 3) == 5);
-}
-
-static void
-test_emptiness()
-{
-  function<float ()> f1;
-  BOOST_CHECK(f1.empty());
-
-  function<float ()> f2;
-  f2 = f1;
-  BOOST_CHECK(f2.empty());
-
-  function<double ()> f3;
-  f3 = f2;
-  BOOST_CHECK(f3.empty());
-}
-
-struct X {
-  X(int v) : value(v) {}
-
-  int twice() const { return 2*value; }
-  int plus(int v) { return value + v; }
-
-  int value;
-};
-
-static void
-test_member_functions()
-{
-  boost::function<int (X*)> f1(&X::twice);
-
-  X one(1);
-  X five(5);
-
-  BOOST_CHECK(f1(&one) == 2);
-  BOOST_CHECK(f1(&five) == 10);
-
-  boost::function<int (X*)> f1_2;
-  f1_2 = &X::twice;
-
-  BOOST_CHECK(f1_2(&one) == 2);
-  BOOST_CHECK(f1_2(&five) == 10);
-
-  boost::function<int (X&, int)> f2(&X::plus);
-  BOOST_CHECK(f2(one, 3) == 4);
-  BOOST_CHECK(f2(five, 4) == 9);
-}
-
-struct add_with_throw_on_copy {
-  int operator()(int x, int y) const { return x+y; }
-
-  add_with_throw_on_copy() {}
-
-  add_with_throw_on_copy(const add_with_throw_on_copy&)
-  {
-    throw std::runtime_error("But this CAN'T throw");
-  }
-
-  add_with_throw_on_copy& operator=(const add_with_throw_on_copy&)
-  {
-    throw std::runtime_error("But this CAN'T throw");
-  }
-};
-
-static void
-test_ref()
-{
-  add_with_throw_on_copy atc;
-  try {
-    boost::function<int (int, int)> f(boost::ref(atc));
-    BOOST_CHECK(f(1, 3) == 4);
-  }
-  catch(std::runtime_error e) {
-    BOOST_ERROR("Nonthrowing constructor threw an exception");
-  }
-}
-
-static void dummy() {}
-
-static void test_empty_ref()
-{
-  boost::function<void()> f1;
-  boost::function<void()> f2(boost::ref(f1));
-
-  try {
-    f2();
-    BOOST_ERROR("Exception didn't throw for reference to empty function.");
-  }
-  catch(std::runtime_error e) {}
-
-  f1 = dummy;
-
-  try {
-    f2();
-  }
-  catch(std::runtime_error e) {
-    BOOST_ERROR("Error calling referenced function.");
-  }
-}
-
-
-static void test_exception()
-{
-  boost::function<int (int, int)> f;
-  try {
-    f(5, 4);
-    BOOST_CHECK(false);
-  }
-  catch(boost::bad_function_call) {
-    // okay
-  }
-}
-
-typedef boost::function< void * (void * reader) > reader_type;
-typedef std::pair<int, reader_type> mapped_type;
-
-static void test_implicit()
-{
-  mapped_type m;
-  m = mapped_type();
-}
-
-static void test_call_obj(boost::function<int (int, int)> f)
-{
-  BOOST_CHECK(!f.empty());
-}
-
-static void test_call_cref(const boost::function<int (int, int)>& f)
-{
-  BOOST_CHECK(!f.empty());
-}
-
-static void test_call()
-{
-  test_call_obj(std::plus<int>());
-  test_call_cref(std::plus<int>());
-}
-
-int test_main(int, char* [])
-{
-  test_zero_args();
-  test_one_arg();
-  test_two_args();
-  test_emptiness();
-  test_member_functions();
-  test_ref();
-  test_empty_ref();
-  test_exception();
-  test_implicit();
-  test_call();
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/test/function_test_fail1.cpp b/SRC/Boost/libs/function/test/function_test_fail1.cpp
deleted file mode 100755
index 810d063..0000000
--- a/SRC/Boost/libs/function/test/function_test_fail1.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// Boost.Function library
-
-//  Copyright (C) Douglas Gregor 2001-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#include <boost/test/minimal.hpp>
-#include <boost/function.hpp>
-
-using namespace std;
-using namespace boost;
-
-int
-test_main(int, char*[])
-{
-  function0<int> f1;
-  function0<int> f2;
-
-  if (f1 == f2) {
-  }
-
-  BOOST_ERROR("This should not have compiled.");
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/test/function_test_fail2.cpp b/SRC/Boost/libs/function/test/function_test_fail2.cpp
deleted file mode 100755
index 1eb3a5e..0000000
--- a/SRC/Boost/libs/function/test/function_test_fail2.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Boost.Function library
-
-//  Copyright (C) Douglas Gregor 2001-2005. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#include <boost/test/minimal.hpp>
-#include <boost/function.hpp>
-
-using namespace std;
-using namespace boost;
-
-static int bad_fn(float f) { return static_cast<int>(f); }
-
-int
-test_main(int, char*[])
-{
-  function0<int> f1;
-  f1 = bad_fn;
-
-  BOOST_ERROR("This should not have compiled.");
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/test/function_typeof_test.cpp b/SRC/Boost/libs/function/test/function_typeof_test.cpp
deleted file mode 100755
index 19c5fb1..0000000
--- a/SRC/Boost/libs/function/test/function_typeof_test.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2008. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-#include <boost/function/function_typeof.hpp>
-#include <boost/function.hpp>
-#include <boost/typeof/typeof.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/static_assert.hpp>
-
-void f(boost::function0<void> f, boost::function0<void> g)
-{
-  BOOST_STATIC_ASSERT((boost::is_same<boost::function0<void>, BOOST_TYPEOF(f = g)>::value));
-}
diff --git a/SRC/Boost/libs/function/test/lambda_test.cpp b/SRC/Boost/libs/function/test/lambda_test.cpp
deleted file mode 100755
index 1a91053..0000000
--- a/SRC/Boost/libs/function/test/lambda_test.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2002-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#include <iostream>
-#include <cstdlib>
-
-#include <boost/test/minimal.hpp>
-#include <boost/lambda/lambda.hpp>
-#include <boost/lambda/bind.hpp>
-#include <boost/function.hpp>
-
-static unsigned
-func_impl(int arg1, bool arg2, double arg3)
-{
-  using namespace std;
-  return abs (static_cast<int>((arg2 ? arg1 : 2 * arg1) * arg3));
-}
-
-int test_main(int, char*[])
-{
-  using boost::function;
-  using namespace boost::lambda;
-
-  function <unsigned(bool, double)> f1 = bind(func_impl, 15, _1, _2);
-  function <unsigned(double)>       f2 = boost::lambda::bind(f1, false, _1);
-  function <unsigned()>             f3 = boost::lambda::bind(f2, 4.0);
-
-  f3();
-
-  return 0;
-}
-
diff --git a/SRC/Boost/libs/function/test/mem_fun_cxx98.cpp b/SRC/Boost/libs/function/test/mem_fun_cxx98.cpp
deleted file mode 100755
index 2a8b860..0000000
--- a/SRC/Boost/libs/function/test/mem_fun_cxx98.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Function library
-
-// Copyright (C) 2001-2003 Douglas Gregor
-
-// Use, modification and distribution is subject to the Boost Software 
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt) 
-
-// For more information, see http://www.boost.org/
-
-    
-#include <boost/function.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <iostream>
-#include <functional>
-
-struct X {
-  int foo(int);
-  std::ostream& foo2(std::ostream&) const;
-};
-int X::foo(int x) { return -x; }
-std::ostream& X::foo2(std::ostream& x) const { return x; }
-
-int main()
-{
-    boost::function<int (X*, int)> f;
-    boost::function<std::ostream& (X*, std::ostream&)> f2;
-
-    f = &X::foo;
-    f2 = &X::foo2;
-
-    X x;
-    BOOST_TEST(f(&x, 5) == -5);
-    BOOST_TEST(f2(&x, boost::ref(std::cout)) == std::cout);
-
-    return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/function/test/mem_fun_portable.cpp b/SRC/Boost/libs/function/test/mem_fun_portable.cpp
deleted file mode 100755
index 52c484a..0000000
--- a/SRC/Boost/libs/function/test/mem_fun_portable.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Function library
-
-// Copyright (C) 2001-2003 Douglas Gregor
-
-// Use, modification and distribution is subject to the Boost Software 
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt) 
-
-// For more information, see http://www.boost.org/
-
-    
-#include <boost/function.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <iostream>
-#include <functional>
-
-struct X {
-  int foo(int);
-  std::ostream& foo2(std::ostream&) const;
-};
-int X::foo(int x) { return -x; }
-std::ostream& X::foo2(std::ostream& x) const { return x; }
-
-int main()
-{
-    boost::function2<int, X*, int> f;
-    boost::function2<std::ostream&, X*, std::ostream&> f2;
-
-    f = &X::foo;
-    f2 = &X::foo2;
-
-    X x;
-    BOOST_TEST(f(&x, 5) == -5);
-    BOOST_TEST(f2(&x, boost::ref(std::cout)) == std::cout);
-
-    return ::boost::report_errors();
-}
diff --git a/SRC/Boost/libs/function/test/nothrow_swap.cpp b/SRC/Boost/libs/function/test/nothrow_swap.cpp
deleted file mode 100755
index feff2bd..0000000
--- a/SRC/Boost/libs/function/test/nothrow_swap.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2008. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#include <boost/test/minimal.hpp>
-#include <boost/function.hpp>
-
-struct tried_to_copy { };
-
-struct MaybeThrowOnCopy {
-  MaybeThrowOnCopy(int value = 0) : value(value) { }
-
-  MaybeThrowOnCopy(const MaybeThrowOnCopy& other) : value(other.value) {
-    if (throwOnCopy)
-      throw tried_to_copy();
-  }
-
-  MaybeThrowOnCopy& operator=(const MaybeThrowOnCopy& other) {
-    if (throwOnCopy)
-      throw tried_to_copy();
-    value = other.value;
-    return *this;
-  }
-
-  int operator()() { return value; }
-
-  int value;
-
-  // Make sure that this function object doesn't trigger the
-  // small-object optimization in Function.
-  float padding[100];
-
-  static bool throwOnCopy;
-};
-
-bool MaybeThrowOnCopy::throwOnCopy = false;
-
-int test_main(int, char* [])
-{
-  boost::function0<int> f;
-  boost::function0<int> g;
-
-  MaybeThrowOnCopy::throwOnCopy = false;
-  f = MaybeThrowOnCopy(1);
-  g = MaybeThrowOnCopy(2);
-  BOOST_CHECK(f() == 1);
-  BOOST_CHECK(g() == 2);
-
-  MaybeThrowOnCopy::throwOnCopy = true;
-  f.swap(g);
-  BOOST_CHECK(f() == 2);
-  BOOST_CHECK(g() == 1);
-  
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/test/regression.cfg b/SRC/Boost/libs/function/test/regression.cfg
deleted file mode 100755
index 729b561..0000000
--- a/SRC/Boost/libs/function/test/regression.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-// Boost.Function regression test configuration file
-
-// From the boost/status directory, run
-// ./regression --tests ../libs/function/test/regression.cfg -o function.html
-
-
-run libs/function/test/allocator_test.cpp
-run libs/function/test/function_n_test.cpp
-run libs/function/test/function_test.cpp
-compile-fail libs/function/test/function_test_fail1.cpp
-compile-fail libs/function/test/function_test_fail2.cpp
-run libs/function/test/mixin_test.cpp
-run libs/function/test/policy_test.cpp
-run libs/function/test/stateless_test.cpp
diff --git a/SRC/Boost/libs/function/test/stateless_test.cpp b/SRC/Boost/libs/function/test/stateless_test.cpp
deleted file mode 100755
index 4031582..0000000
--- a/SRC/Boost/libs/function/test/stateless_test.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Boost.Function library
-
-//  Copyright Douglas Gregor 2001-2003. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#include <boost/test/minimal.hpp>
-#include <boost/function.hpp>
-#include <stdexcept>
-
-struct stateless_integer_add {
-  int operator()(int x, int y) const { return x+y; }
-
-  void* operator new(std::size_t)
-  {
-    throw std::runtime_error("Cannot allocate a stateless_integer_add");
-  }
-
-  void* operator new(std::size_t, void* p)
-  {
-    return p;
-  }
-
-  void operator delete(void*) throw()
-  {
-  }
-};
-
-int test_main(int, char*[])
-{
-  boost::function2<int, int, int> f;
-  f = stateless_integer_add();
-
-  return 0;
-}
diff --git a/SRC/Boost/libs/function/test/std_bind_cxx98.cpp b/SRC/Boost/libs/function/test/std_bind_cxx98.cpp
deleted file mode 100755
index 4615402..0000000
--- a/SRC/Boost/libs/function/test/std_bind_cxx98.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// Function library
-
-// Copyright (C) 2001-2003 Douglas Gregor
-
-// Use, modification and distribution is subject to the Boost Software 
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt) 
-
-// For more information, see http://www.boost.org/
-
-    
-#include <boost/function.hpp>
-#include <iostream>
-#include <functional>
-
-struct X {
-  int foo(int);
-};
-int X::foo(int x) { return -x; }
-
-int main()
-{
-      boost::function<int (int)> f;
-  X x;
-  f = std::bind1st(
-        std::mem_fun(&X::foo), &x);
-  f(5); // Call x.foo(5)
-
-    return 0;
-}
diff --git a/SRC/Boost/libs/function/test/std_bind_portable.cpp b/SRC/Boost/libs/function/test/std_bind_portable.cpp
deleted file mode 100755
index 4dfd142..0000000
--- a/SRC/Boost/libs/function/test/std_bind_portable.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// Function library
-
-// Copyright (C) 2001-2003 Douglas Gregor
-
-// Use, modification and distribution is subject to the Boost Software 
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt) 
-
-// For more information, see http://www.boost.org/
-
-    
-#include <boost/function.hpp>
-#include <iostream>
-#include <functional>
-
-struct X {
-  int foo(int);
-};
-int X::foo(int x) { return -x; }
-
-int main()
-{
-      boost::function1<int, int> f;
-  X x;
-  f = std::bind1st(
-        std::mem_fun(&X::foo), &x);
-  f(5); // Call x.foo(5)
-
-    return 0;
-}
diff --git a/SRC/Boost/libs/function/test/sum_avg_cxx98.cpp b/SRC/Boost/libs/function/test/sum_avg_cxx98.cpp
deleted file mode 100755
index 4bd602b..0000000
--- a/SRC/Boost/libs/function/test/sum_avg_cxx98.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// Function library
-
-// Copyright (C) 2001-2003 Douglas Gregor
-
-// Use, modification and distribution is subject to the Boost Software 
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt) 
-
-// For more information, see http://www.boost.org/
-
-    
-#include <boost/function.hpp>
-#include <iostream>
-
-void do_sum_avg(int values[], int n, int& sum, float& avg)
-{
-  sum = 0;
-  for (int i = 0; i < n; i++)
-    sum += values[i];
-  avg = (float)sum / n;
-}
-int main()
-{
-    boost::function<void (int values[], int n, int& sum, float& avg)> sum_avg;
-    sum_avg = &do_sum_avg;
-
-    return 0;
-}
diff --git a/SRC/Boost/libs/function/test/sum_avg_portable.cpp b/SRC/Boost/libs/function/test/sum_avg_portable.cpp
deleted file mode 100755
index b3bb52c..0000000
--- a/SRC/Boost/libs/function/test/sum_avg_portable.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// Function library
-
-// Copyright (C) 2001-2003 Douglas Gregor
-
-// Use, modification and distribution is subject to the Boost Software 
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt) 
-
-// For more information, see http://www.boost.org/
-
-    
-#include <boost/function.hpp>
-#include <iostream>
-
-void do_sum_avg(int values[], int n, int& sum, float& avg)
-{
-  sum = 0;
-  for (int i = 0; i < n; i++)
-    sum += values[i];
-  avg = (float)sum / n;
-}
-int main()
-{
-    boost::function4<void, int*, int, int&, float&> sum_avg;
-    sum_avg = &do_sum_avg;
-
-    return 0;
-}
diff --git a/SRC/Boost/libs/regex/build/Jamfile.v2 b/SRC/Boost/libs/regex/build/Jamfile.v2
deleted file mode 100755
index 995415d..0000000
--- a/SRC/Boost/libs/regex/build/Jamfile.v2
+++ /dev/null
@@ -1,153 +0,0 @@
-# copyright John Maddock 2003
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-
-import modules ;
-
-project : requirements
-   # default to all warnings on:
-   <warnings>all
-   ;
-
-local disable-icu = [ MATCH (--disable-icu) : [ modules.peek : ARGV ] ] ;
-
-rule path_options ( properties * )
-{
-    local result ;
-    if <address-model>64 in $(properties)
-    {
-    	result = <search>$(ICU_PATH)/bin64 <search>$(ICU_PATH)/lib64 ;
-    }
-    else
-    {
-    	result = <search>$(ICU_PATH)/bin <search>$(ICU_PATH)/lib ;
-    }
-    return $(result) ;
-}
-
-
-#
-# ICU configuration:
-#
-if ! $(disable-icu)
-{
-
-   if [ modules.peek : ICU_PATH ]
-   {    
-       ICU_PATH =  [ modules.peek : ICU_PATH ] ;
-   }
-   if [ modules.peek : ICU_LINK ]
-   {    
-       ICU_LINK =  [ modules.peek : ICU_LINK ] ;
-   }
-
-   if $(ICU_LINK)
-   {
-      ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin <define>BOOST_HAS_ICU=1 <runtime-link>shared ;
-   }
-   else
-   {
-      lib icuuc : :                                           <link>shared <runtime-link>shared <conditional>@path_options ;
-      lib icuuc : : <toolset>msvc <variant>debug <name>icuucd <link>shared <runtime-link>shared <conditional>@path_options ;
-      lib icuuc : : <name>this_is_an_invalid_library_name ;
-
-      lib icudt : : <name>icudata               <link>shared <runtime-link>shared <conditional>@path_options ;
-      lib icudt : : <name>icudt   <toolset>msvc <link>shared <runtime-link>shared <conditional>@path_options ;
-      lib icudt : : <name>this_is_an_invalid_library_name ;
-
-      lib icuin : :                                <name>icui18n <link>shared <runtime-link>shared <conditional>@path_options ;
-      lib icuin : : <toolset>msvc <variant>debug   <name>icuind  <link>shared <runtime-link>shared <conditional>@path_options ;
-      lib icuin : : <toolset>msvc <variant>release <name>icuin   <link>shared <runtime-link>shared <conditional>@path_options ;
-      lib icuin : : <name>this_is_an_invalid_library_name ;
-
-      if $(ICU_PATH)
-      {
-         icuucd_name = [ GLOB $(ICU_PATH)/bin : icuuc??d.dll ] ;
-         if ! $(icuucd_name)
-         {
-            icuucd_name = [ GLOB $(ICU_PATH)/bin64 : icuuc??d.dll ] ;
-         }
-         icuuc_name = [ GLOB $(ICU_PATH)/bin : icuuc??.dll ] ;
-         if ! $(icuuc_name)
-         {
-            icuuc_name = [ GLOB $(ICU_PATH)/bin64 : icuuc??.dll ] ;
-         }
-         icudt_name = [ GLOB $(ICU_PATH)/bin : icudt??.dll ] ;
-         if ! $(icudt_name)
-         {
-            icudt_name = [ GLOB $(ICU_PATH)/bin64 : icudt??.dll ] ;
-         }
-         icuin_name = [ GLOB $(ICU_PATH)/bin : icuin??.dll ] ;
-         if ! $(icuin_name)
-         {
-            icuin_name = [ GLOB $(ICU_PATH)/bin64 : icuin??.dll ] ;
-         }
-         icuind_name = [ GLOB $(ICU_PATH)/bin : icuin??d.dll ] ;
-         if ! $(icuind_name)
-         {
-            icuind_name = [ GLOB $(ICU_PATH)/bin64 : icuin??d.dll ] ;
-         }
-
-         #ECHO $(icuucd_name:B) $(icuuc_name:B) $(icudt_name:B) $(icuin_name:B) $(icuind_name:B) ;
-      }
-
-      ICU_OPTS = 
-         <include>$(ICU_PATH)/include 
-         <library>icuuc/<link>shared/<runtime-link>shared 
-         <library>icudt/<link>shared/<runtime-link>shared 
-         <library>icuin/<link>shared/<runtime-link>shared 
-         <define>BOOST_HAS_ICU=1 
-         <runtime-link>shared
-         <toolset>msvc:<linkflags>/delayload:$(icuucd_name:B).dll
-         <toolset>msvc:<linkflags>/delayload:$(icuuc_name:B).dll
-         <toolset>msvc:<linkflags>/delayload:$(icudt_name:B).dll
-         <toolset>msvc:<linkflags>/delayload:$(icuin_name:B).dll
-         <toolset>msvc:<linkflags>/delayload:$(icuind_name:B).dll
-         <toolset>msvc:<linkflags>delayimp.lib 
-         ;
-   }
-
-}
-
-exe has_icu : ./has_icu_test.cpp  : $(ICU_OPTS) ;
-explicit has_icu ;
-
-alias icu_options : : : : [ check-target-builds has_icu : $(ICU_OPTS) : ] ;
-
-SOURCES = 
-   c_regex_traits.cpp
-   cpp_regex_traits.cpp
-   cregex.cpp
-   fileiter.cpp
-   icu.cpp
-   instances.cpp
-   posix_api.cpp
-   regex.cpp
-   regex_debug.cpp
-   regex_raw_buffer.cpp
-   regex_traits_defaults.cpp
-   static_mutex.cpp
-   w32_regex_traits.cpp
-   wc_regex_traits.cpp
-   wide_posix_api.cpp
-   winstances.cpp 
-   usinstances.cpp ;
-
-
-lib boost_regex : ../src/$(SOURCES) icu_options
-    :         
-	     <link>shared:<define>BOOST_REGEX_DYN_LINK=1
-	     #<toolset>gcc-mw:<link>static
-	     #<toolset>gcc-mingw:<link>static
-	     <toolset>gcc-cygwin:<link>static
-    ;
-
-boost-install boost_regex ;
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/regex/build/bc_gen.sh b/SRC/Boost/libs/regex/build/bc_gen.sh
deleted file mode 100755
index d2fdf26..0000000
--- a/SRC/Boost/libs/regex/build/bc_gen.sh
+++ /dev/null
@@ -1,271 +0,0 @@
-#! /bin/bash
-
-# copyright John Maddock 2003
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-
-libname=""
-src=""
-header=""
-all_dep=""
-
-# current makefile:
-out=""
-# temporary file:
-tout=""
-# install target temp file:
-iout=""
-# debug flag:
-debug="no"
-# compile options:
-opts=""
-# main output sub-directory:
-subdir=""
-
-#######################################################################
-#
-# section for C++ Builder
-#
-#######################################################################
-
-function bcb_gen_lib()
-{
-	all_dep="$all_dep $subdir\\$libname $subdir\\$libname.lib"
-	echo "	copy $subdir\\$libname.lib \$(BCROOT)\\lib" >> $iout
-#
-# set up section comments:
-	cat >> $tout << EOF
-########################################################
-#
-# section for $libname.lib
-#
-########################################################
-EOF
-#
-#	process source files:
-	all_obj=""
-	all_lib_obj=""
-	for file in $src
-	do
-		obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1obj/g'`
-		obj="$subdir\\$libname\\$obj"
-		all_obj="$all_obj $obj"
-		all_lib_obj="$all_lib_obj +\"$obj\""
-		echo "$obj: $file \$(ALL_HEADER)" >> $tout
-		echo "	bcc32 @&&|" >> $tout
-		echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -o$obj $file" >> $tout
-		echo "|" >> $tout
-		echo "" >> $tout
-	done
-#
-#	 now for the directories for this library:
-	echo "$subdir\\$libname : " >> $tout
-	echo "	- at mkdir $subdir\\$libname" >> $tout
-	echo "" >> $tout
-#
-#	 now for the clean options for this library:
-	all_clean="$all_clean $libname""_clean"
-	echo "$libname"_clean : >> $tout
-	echo "	del $subdir\\$libname\\"'*.obj' >> $tout
-	echo "	del $subdir\\$libname\\"'*.il?' >> $tout
-	echo "	del $subdir\\$libname\\"'*.csm' >> $tout
-	echo "	del $subdir\\$libname\\"'*.tds' >> $tout
-	echo "" >> $tout
-#
-#	 now for the main target for this library:
-	echo $subdir\\$libname.lib : $all_obj >> $tout
-	echo "	if exist $subdir\\$libname.lib del $subdir\\$libname.lib " >> $tout
-	echo "	tlib @&&|" >> $tout
-	echo "/P128 /C /u /a \$(XSFLAGS) \"$subdir\\$libname.lib\" $all_lib_obj" >> $tout
-	echo "|" >> $tout
-	echo "" >> $tout
-}
-
-function bcb_gen_dll()
-{
-	all_dep="$all_dep $subdir\\$libname $subdir\\$libname.lib"
-	echo "	copy $subdir\\$libname.lib \$(BCROOT)\\lib" >> $iout
-	echo "	copy $subdir\\$libname.dll \$(BCROOT)\\bin" >> $iout
-	echo "	copy $subdir\\$libname.tds \$(BCROOT)\\bin" >> $iout
-#
-# set up section comments:
-	cat >> $tout << EOF
-########################################################
-#
-# section for $libname.lib
-#
-########################################################
-EOF
-#
-#	process source files:
-	all_obj=""
-	for file in $src
-	do
-		obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1obj/g'`
-		obj="$subdir\\$libname\\$obj"
-		all_obj="$all_obj $obj"
-		echo "$obj: $file \$(ALL_HEADER)" >> $tout
-		echo "	bcc32 @&&|" >> $tout
-		echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -o$obj $file" >> $tout
-		echo "|" >> $tout
-		echo "" >> $tout
-	done
-#
-#	 now for the directories for this library:
-	echo "$subdir\\$libname :" >> $tout
-	echo "	- at mkdir $subdir\\$libname" >> $tout
-	echo "" >> $tout
-#
-#	 now for the clean options for this library:
-	all_clean="$all_clean $libname""_clean"
-	echo "$libname"_clean : >> $tout
-	echo "	del $subdir\\$libname\\"'*.obj' >> $tout
-	echo "	del $subdir\\$libname\\"'*.il?' >> $tout
-	echo "	del $subdir\\$libname\\"'*.csm' >> $tout
-	echo "	del $subdir\\$libname\\"'*.tds' >> $tout
-	echo "	del $subdir\\"'*.tds' >> $tout
-	echo "" >> $tout
-#
-#	 now for the main target for this library:
-	echo $subdir\\$libname.lib : $all_obj >> $tout
-	echo "	bcc32 @&&|" >> $tout
-	echo "-lw-dup -lw-dpl $opts -e$subdir\\$libname.dll \$(XLFLAGS) $all_obj \$(LIBS)" >> $tout
-	echo "|" >> $tout
-	echo "	implib -w $subdir\\$libname.lib $subdir\\$libname.dll" >> $tout
-	echo "" >> $tout
-}
-
-
-
-function bcb_gen()
-{
-	tout="temp"
-	iout="temp_install"
-	all_dep="$subdir"
-	all_clean=""
-	echo > $out
-	echo > $tout
-	rm -f $iout
-
-	libname="libboost_regex-${subdir}-s-${boost_version}"
-	opts="-tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I\$(BCROOT)\include;../../../"
-	bcb_gen_lib
-
-	libname="libboost_regex-${subdir}-mt-s-${boost_version}"
-	opts="-tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../"
-	bcb_gen_lib
-	
-	libname="boost_regex-${subdir}-mt-${boost_version}"
-	opts="-tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_dll
-
-	libname="boost_regex-${subdir}-${boost_version}"
-	opts="-tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_dll
-	
-	libname="libboost_regex-${subdir}-mt-${boost_version}"
-	opts="-tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_lib
-
-	libname="libboost_regex-${subdir}-${boost_version}"
-	opts="-tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_lib
-	
-	libname="libboost_regex-${subdir}-sd-${boost_version}"
-	opts="-tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I\$(BCROOT)\include;../../../"
-	bcb_gen_lib
-
-	libname="libboost_regex-${subdir}-mt-sd-${boost_version}"
-	opts="-tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../"
-	bcb_gen_lib
-	
-	libname="boost_regex-${subdir}-mt-d-${boost_version}"
-	opts="-tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_dll
-
-	libname="boost_regex-${subdir}-d-${boost_version}"
-	opts="-tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_dll
-	
-	libname="libboost_regex-${subdir}-mt-d-${boost_version}"
-	opts="-tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_lib
-
-	libname="libboost_regex-${subdir}-d-${boost_version}"
-	opts="-tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
-	bcb_gen_lib
-	
-	cat > $out << EOF
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for C++ Builder
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your C++ Builder /lib and /bin directories (recomended)
-# make clean
-#   removes all temporary files.
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional libraries to link to here:
-#
-LIBS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!ifndef BCROOT
-BCROOT=\$(MAKEDIR)\\..
-!endif
-
-EOF
-	echo "" >> $out
-	echo "ALL_HEADER=$header" >> $out
-	echo "" >> $out
-	echo "all : $all_dep" >> $out
-	echo >> $out
-	echo "clean : $all_clean" >> $out
-	echo >> $out
-	echo "install : all" >> $out
-	cat $iout >> $out
-	echo >> $out
-	echo $subdir : >> $out
-	echo "	- at mkdir $subdir" >> $out
-	echo "" >> $out
-
-	cat $tout >> $out
-}
-
-. common.sh
-
-#
-# generate C++ Builder 6 files:
-out="bcb6.mak"
-subdir="bcb"
-has_stlport="yes"
-bcb_gen
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/regex/build/bcb6.mak b/SRC/Boost/libs/regex/build/bcb6.mak
deleted file mode 100755
index 5a6f7aa..0000000
--- a/SRC/Boost/libs/regex/build/bcb6.mak
+++ /dev/null
@@ -1,1337 +0,0 @@
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for C++ Builder
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your C++ Builder /lib and /bin directories (recomended)
-# make clean
-#   removes all temporary files.
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional libraries to link to here:
-#
-LIBS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!ifndef BCROOT
-BCROOT=$(MAKEDIR)\..
-!endif
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : bcb bcb\libboost_regex-bcb-s-1_47 bcb\libboost_regex-bcb-s-1_47.lib bcb\libboost_regex-bcb-mt-s-1_47 bcb\libboost_regex-bcb-mt-s-1_47.lib bcb\boost_regex-bcb-mt-1_47 bcb\boost_regex-bcb-mt-1_47.lib bcb\boost_regex-bcb-1_47 bcb\boost_regex-bcb-1_47.lib bcb\libboost_regex-bcb-mt-1_47 bcb\libboost_regex-bcb-mt-1_47.lib bcb\libboost_regex-bcb-1_47 bcb\libboost_regex-bcb-1_47.lib bcb\libboost_regex-bcb-sd-1_47 bcb\libboost_regex-bcb-sd-1_47.lib bcb\libboost_regex-bcb-mt-sd-1_47 bcb\libb [...]
-
-clean :  libboost_regex-bcb-s-1_47_clean libboost_regex-bcb-mt-s-1_47_clean boost_regex-bcb-mt-1_47_clean boost_regex-bcb-1_47_clean libboost_regex-bcb-mt-1_47_clean libboost_regex-bcb-1_47_clean libboost_regex-bcb-sd-1_47_clean libboost_regex-bcb-mt-sd-1_47_clean boost_regex-bcb-mt-d-1_47_clean boost_regex-bcb-d-1_47_clean libboost_regex-bcb-mt-d-1_47_clean libboost_regex-bcb-d-1_47_clean
-
-install : all
-	copy bcb\libboost_regex-bcb-s-1_47.lib $(BCROOT)\lib
-	copy bcb\libboost_regex-bcb-mt-s-1_47.lib $(BCROOT)\lib
-	copy bcb\boost_regex-bcb-mt-1_47.lib $(BCROOT)\lib
-	copy bcb\boost_regex-bcb-mt-1_47.dll $(BCROOT)\bin
-	copy bcb\boost_regex-bcb-mt-1_47.tds $(BCROOT)\bin
-	copy bcb\boost_regex-bcb-1_47.lib $(BCROOT)\lib
-	copy bcb\boost_regex-bcb-1_47.dll $(BCROOT)\bin
-	copy bcb\boost_regex-bcb-1_47.tds $(BCROOT)\bin
-	copy bcb\libboost_regex-bcb-mt-1_47.lib $(BCROOT)\lib
-	copy bcb\libboost_regex-bcb-1_47.lib $(BCROOT)\lib
-	copy bcb\libboost_regex-bcb-sd-1_47.lib $(BCROOT)\lib
-	copy bcb\libboost_regex-bcb-mt-sd-1_47.lib $(BCROOT)\lib
-	copy bcb\boost_regex-bcb-mt-d-1_47.lib $(BCROOT)\lib
-	copy bcb\boost_regex-bcb-mt-d-1_47.dll $(BCROOT)\bin
-	copy bcb\boost_regex-bcb-mt-d-1_47.tds $(BCROOT)\bin
-	copy bcb\boost_regex-bcb-d-1_47.lib $(BCROOT)\lib
-	copy bcb\boost_regex-bcb-d-1_47.dll $(BCROOT)\bin
-	copy bcb\boost_regex-bcb-d-1_47.tds $(BCROOT)\bin
-	copy bcb\libboost_regex-bcb-mt-d-1_47.lib $(BCROOT)\lib
-	copy bcb\libboost_regex-bcb-d-1_47.lib $(BCROOT)\lib
-
-bcb :
-	- at mkdir bcb
-
-
-########################################################
-#
-# section for libboost_regex-bcb-s-1_47.lib
-#
-########################################################
-bcb\libboost_regex-bcb-s-1_47\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\c_regex_traits.obj ../src/c_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\cregex.obj ../src/cregex.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\fileiter.obj ../src/fileiter.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\icu.obj ../src/icu.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\instances.obj ../src/instances.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\posix_api.obj ../src/posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\regex.obj ../src/regex.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\regex_debug.obj ../src/regex_debug.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\regex_raw_buffer.obj ../src/regex_raw_buffer.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\regex_traits_defaults.obj ../src/regex_traits_defaults.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\static_mutex.obj ../src/static_mutex.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\usinstances.obj ../src/usinstances.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\w32_regex_traits.obj ../src/w32_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\wc_regex_traits.obj ../src/wc_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\wide_posix_api.obj ../src/wide_posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47\winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-s-1_47\winstances.obj ../src/winstances.cpp
-|
-
-bcb\libboost_regex-bcb-s-1_47 : 
-	- at mkdir bcb\libboost_regex-bcb-s-1_47
-
-libboost_regex-bcb-s-1_47_clean :
-	del bcb\libboost_regex-bcb-s-1_47\*.obj
-	del bcb\libboost_regex-bcb-s-1_47\*.il?
-	del bcb\libboost_regex-bcb-s-1_47\*.csm
-	del bcb\libboost_regex-bcb-s-1_47\*.tds
-
-bcb\libboost_regex-bcb-s-1_47.lib : bcb\libboost_regex-bcb-s-1_47\c_regex_traits.obj bcb\libboost_regex-bcb-s-1_47\cpp_regex_traits.obj bcb\libboost_regex-bcb-s-1_47\cregex.obj bcb\libboost_regex-bcb-s-1_47\fileiter.obj bcb\libboost_regex-bcb-s-1_47\icu.obj bcb\libboost_regex-bcb-s-1_47\instances.obj bcb\libboost_regex-bcb-s-1_47\posix_api.obj bcb\libboost_regex-bcb-s-1_47\regex.obj bcb\libboost_regex-bcb-s-1_47\regex_debug.obj bcb\libboost_regex-bcb-s-1_47\regex_raw_buffer.obj bcb\libbo [...]
-	if exist bcb\libboost_regex-bcb-s-1_47.lib del bcb\libboost_regex-bcb-s-1_47.lib 
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "bcb\libboost_regex-bcb-s-1_47.lib"  +"bcb\libboost_regex-bcb-s-1_47\c_regex_traits.obj" +"bcb\libboost_regex-bcb-s-1_47\cpp_regex_traits.obj" +"bcb\libboost_regex-bcb-s-1_47\cregex.obj" +"bcb\libboost_regex-bcb-s-1_47\fileiter.obj" +"bcb\libboost_regex-bcb-s-1_47\icu.obj" +"bcb\libboost_regex-bcb-s-1_47\instances.obj" +"bcb\libboost_regex-bcb-s-1_47\posix_api.obj" +"bcb\libboost_regex-bcb-s-1_47\regex.obj" +"bcb\libboost_regex-bcb-s-1_47\regex_debug.obj" +"bcb\ [...]
-|
-
-########################################################
-#
-# section for libboost_regex-bcb-mt-s-1_47.lib
-#
-########################################################
-bcb\libboost_regex-bcb-mt-s-1_47\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\c_regex_traits.obj ../src/c_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\cregex.obj ../src/cregex.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\fileiter.obj ../src/fileiter.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\icu.obj ../src/icu.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\instances.obj ../src/instances.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\posix_api.obj ../src/posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\regex.obj ../src/regex.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\regex_debug.obj ../src/regex_debug.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\regex_raw_buffer.obj ../src/regex_raw_buffer.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\regex_traits_defaults.obj ../src/regex_traits_defaults.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\static_mutex.obj ../src/static_mutex.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\usinstances.obj ../src/usinstances.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\w32_regex_traits.obj ../src/w32_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\wc_regex_traits.obj ../src/wc_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\wide_posix_api.obj ../src/wide_posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47\winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-s-1_47\winstances.obj ../src/winstances.cpp
-|
-
-bcb\libboost_regex-bcb-mt-s-1_47 : 
-	- at mkdir bcb\libboost_regex-bcb-mt-s-1_47
-
-libboost_regex-bcb-mt-s-1_47_clean :
-	del bcb\libboost_regex-bcb-mt-s-1_47\*.obj
-	del bcb\libboost_regex-bcb-mt-s-1_47\*.il?
-	del bcb\libboost_regex-bcb-mt-s-1_47\*.csm
-	del bcb\libboost_regex-bcb-mt-s-1_47\*.tds
-
-bcb\libboost_regex-bcb-mt-s-1_47.lib : bcb\libboost_regex-bcb-mt-s-1_47\c_regex_traits.obj bcb\libboost_regex-bcb-mt-s-1_47\cpp_regex_traits.obj bcb\libboost_regex-bcb-mt-s-1_47\cregex.obj bcb\libboost_regex-bcb-mt-s-1_47\fileiter.obj bcb\libboost_regex-bcb-mt-s-1_47\icu.obj bcb\libboost_regex-bcb-mt-s-1_47\instances.obj bcb\libboost_regex-bcb-mt-s-1_47\posix_api.obj bcb\libboost_regex-bcb-mt-s-1_47\regex.obj bcb\libboost_regex-bcb-mt-s-1_47\regex_debug.obj bcb\libboost_regex-bcb-mt-s-1_ [...]
-	if exist bcb\libboost_regex-bcb-mt-s-1_47.lib del bcb\libboost_regex-bcb-mt-s-1_47.lib 
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "bcb\libboost_regex-bcb-mt-s-1_47.lib"  +"bcb\libboost_regex-bcb-mt-s-1_47\c_regex_traits.obj" +"bcb\libboost_regex-bcb-mt-s-1_47\cpp_regex_traits.obj" +"bcb\libboost_regex-bcb-mt-s-1_47\cregex.obj" +"bcb\libboost_regex-bcb-mt-s-1_47\fileiter.obj" +"bcb\libboost_regex-bcb-mt-s-1_47\icu.obj" +"bcb\libboost_regex-bcb-mt-s-1_47\instances.obj" +"bcb\libboost_regex-bcb-mt-s-1_47\posix_api.obj" +"bcb\libboost_regex-bcb-mt-s-1_47\regex.obj" +"bcb\libboost_regex-bcb-mt- [...]
-|
-
-########################################################
-#
-# section for boost_regex-bcb-mt-1_47.lib
-#
-########################################################
-bcb\boost_regex-bcb-mt-1_47\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\c_regex_traits.obj ../src/c_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\cregex.obj ../src/cregex.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\fileiter.obj ../src/fileiter.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\icu.obj ../src/icu.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\instances.obj ../src/instances.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\posix_api.obj ../src/posix_api.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\regex.obj ../src/regex.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\regex_debug.obj ../src/regex_debug.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\regex_raw_buffer.obj ../src/regex_raw_buffer.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\regex_traits_defaults.obj ../src/regex_traits_defaults.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\static_mutex.obj ../src/static_mutex.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\usinstances.obj ../src/usinstances.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\w32_regex_traits.obj ../src/w32_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\wc_regex_traits.obj ../src/wc_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\wide_posix_api.obj ../src/wide_posix_api.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47\winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-1_47\winstances.obj ../src/winstances.cpp
-|
-
-bcb\boost_regex-bcb-mt-1_47 :
-	- at mkdir bcb\boost_regex-bcb-mt-1_47
-
-boost_regex-bcb-mt-1_47_clean :
-	del bcb\boost_regex-bcb-mt-1_47\*.obj
-	del bcb\boost_regex-bcb-mt-1_47\*.il?
-	del bcb\boost_regex-bcb-mt-1_47\*.csm
-	del bcb\boost_regex-bcb-mt-1_47\*.tds
-	del bcb\*.tds
-
-bcb\boost_regex-bcb-mt-1_47.lib : bcb\boost_regex-bcb-mt-1_47\c_regex_traits.obj bcb\boost_regex-bcb-mt-1_47\cpp_regex_traits.obj bcb\boost_regex-bcb-mt-1_47\cregex.obj bcb\boost_regex-bcb-mt-1_47\fileiter.obj bcb\boost_regex-bcb-mt-1_47\icu.obj bcb\boost_regex-bcb-mt-1_47\instances.obj bcb\boost_regex-bcb-mt-1_47\posix_api.obj bcb\boost_regex-bcb-mt-1_47\regex.obj bcb\boost_regex-bcb-mt-1_47\regex_debug.obj bcb\boost_regex-bcb-mt-1_47\regex_raw_buffer.obj bcb\boost_regex-bcb-mt-1_47\reg [...]
-	bcc32 @&&|
--lw-dup -lw-dpl -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -ebcb\boost_regex-bcb-mt-1_47.dll $(XLFLAGS)  bcb\boost_regex-bcb-mt-1_47\c_regex_traits.obj bcb\boost_regex-bcb-mt-1_47\cpp_regex_traits.obj bcb\boost_regex-bcb-mt-1_47\cregex.obj bcb\boost_regex-bcb-mt-1_47\fileiter.obj bcb\boost_regex-bcb-mt-1_47\icu.obj bcb\boost_regex-bcb-mt-1_47\instances.obj bcb\b [...]
-|
-	implib -w bcb\boost_regex-bcb-mt-1_47.lib bcb\boost_regex-bcb-mt-1_47.dll
-
-########################################################
-#
-# section for boost_regex-bcb-1_47.lib
-#
-########################################################
-bcb\boost_regex-bcb-1_47\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\c_regex_traits.obj ../src/c_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-1_47\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-1_47\cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\cregex.obj ../src/cregex.cpp
-|
-
-bcb\boost_regex-bcb-1_47\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\fileiter.obj ../src/fileiter.cpp
-|
-
-bcb\boost_regex-bcb-1_47\icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\icu.obj ../src/icu.cpp
-|
-
-bcb\boost_regex-bcb-1_47\instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\instances.obj ../src/instances.cpp
-|
-
-bcb\boost_regex-bcb-1_47\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\posix_api.obj ../src/posix_api.cpp
-|
-
-bcb\boost_regex-bcb-1_47\regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\regex.obj ../src/regex.cpp
-|
-
-bcb\boost_regex-bcb-1_47\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\regex_debug.obj ../src/regex_debug.cpp
-|
-
-bcb\boost_regex-bcb-1_47\regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\regex_raw_buffer.obj ../src/regex_raw_buffer.cpp
-|
-
-bcb\boost_regex-bcb-1_47\regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\regex_traits_defaults.obj ../src/regex_traits_defaults.cpp
-|
-
-bcb\boost_regex-bcb-1_47\static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\static_mutex.obj ../src/static_mutex.cpp
-|
-
-bcb\boost_regex-bcb-1_47\usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\usinstances.obj ../src/usinstances.cpp
-|
-
-bcb\boost_regex-bcb-1_47\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\w32_regex_traits.obj ../src/w32_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-1_47\wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\wc_regex_traits.obj ../src/wc_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-1_47\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\wide_posix_api.obj ../src/wide_posix_api.cpp
-|
-
-bcb\boost_regex-bcb-1_47\winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-1_47\winstances.obj ../src/winstances.cpp
-|
-
-bcb\boost_regex-bcb-1_47 :
-	- at mkdir bcb\boost_regex-bcb-1_47
-
-boost_regex-bcb-1_47_clean :
-	del bcb\boost_regex-bcb-1_47\*.obj
-	del bcb\boost_regex-bcb-1_47\*.il?
-	del bcb\boost_regex-bcb-1_47\*.csm
-	del bcb\boost_regex-bcb-1_47\*.tds
-	del bcb\*.tds
-
-bcb\boost_regex-bcb-1_47.lib : bcb\boost_regex-bcb-1_47\c_regex_traits.obj bcb\boost_regex-bcb-1_47\cpp_regex_traits.obj bcb\boost_regex-bcb-1_47\cregex.obj bcb\boost_regex-bcb-1_47\fileiter.obj bcb\boost_regex-bcb-1_47\icu.obj bcb\boost_regex-bcb-1_47\instances.obj bcb\boost_regex-bcb-1_47\posix_api.obj bcb\boost_regex-bcb-1_47\regex.obj bcb\boost_regex-bcb-1_47\regex_debug.obj bcb\boost_regex-bcb-1_47\regex_raw_buffer.obj bcb\boost_regex-bcb-1_47\regex_traits_defaults.obj bcb\boost_reg [...]
-	bcc32 @&&|
--lw-dup -lw-dpl -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -ebcb\boost_regex-bcb-1_47.dll $(XLFLAGS)  bcb\boost_regex-bcb-1_47\c_regex_traits.obj bcb\boost_regex-bcb-1_47\cpp_regex_traits.obj bcb\boost_regex-bcb-1_47\cregex.obj bcb\boost_regex-bcb-1_47\fileiter.obj bcb\boost_regex-bcb-1_47\icu.obj bcb\boost_regex-bcb-1_47\instances.obj bcb\boost_regex-bcb-1_47\ [...]
-|
-	implib -w bcb\boost_regex-bcb-1_47.lib bcb\boost_regex-bcb-1_47.dll
-
-########################################################
-#
-# section for libboost_regex-bcb-mt-1_47.lib
-#
-########################################################
-bcb\libboost_regex-bcb-mt-1_47\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\c_regex_traits.obj ../src/c_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\cregex.obj ../src/cregex.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\fileiter.obj ../src/fileiter.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\icu.obj ../src/icu.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\instances.obj ../src/instances.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\posix_api.obj ../src/posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\regex.obj ../src/regex.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\regex_debug.obj ../src/regex_debug.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\regex_raw_buffer.obj ../src/regex_raw_buffer.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\regex_traits_defaults.obj ../src/regex_traits_defaults.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\static_mutex.obj ../src/static_mutex.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\usinstances.obj ../src/usinstances.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\w32_regex_traits.obj ../src/w32_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\wc_regex_traits.obj ../src/wc_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\wide_posix_api.obj ../src/wide_posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47\winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-1_47\winstances.obj ../src/winstances.cpp
-|
-
-bcb\libboost_regex-bcb-mt-1_47 : 
-	- at mkdir bcb\libboost_regex-bcb-mt-1_47
-
-libboost_regex-bcb-mt-1_47_clean :
-	del bcb\libboost_regex-bcb-mt-1_47\*.obj
-	del bcb\libboost_regex-bcb-mt-1_47\*.il?
-	del bcb\libboost_regex-bcb-mt-1_47\*.csm
-	del bcb\libboost_regex-bcb-mt-1_47\*.tds
-
-bcb\libboost_regex-bcb-mt-1_47.lib : bcb\libboost_regex-bcb-mt-1_47\c_regex_traits.obj bcb\libboost_regex-bcb-mt-1_47\cpp_regex_traits.obj bcb\libboost_regex-bcb-mt-1_47\cregex.obj bcb\libboost_regex-bcb-mt-1_47\fileiter.obj bcb\libboost_regex-bcb-mt-1_47\icu.obj bcb\libboost_regex-bcb-mt-1_47\instances.obj bcb\libboost_regex-bcb-mt-1_47\posix_api.obj bcb\libboost_regex-bcb-mt-1_47\regex.obj bcb\libboost_regex-bcb-mt-1_47\regex_debug.obj bcb\libboost_regex-bcb-mt-1_47\regex_raw_buffer.ob [...]
-	if exist bcb\libboost_regex-bcb-mt-1_47.lib del bcb\libboost_regex-bcb-mt-1_47.lib 
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "bcb\libboost_regex-bcb-mt-1_47.lib"  +"bcb\libboost_regex-bcb-mt-1_47\c_regex_traits.obj" +"bcb\libboost_regex-bcb-mt-1_47\cpp_regex_traits.obj" +"bcb\libboost_regex-bcb-mt-1_47\cregex.obj" +"bcb\libboost_regex-bcb-mt-1_47\fileiter.obj" +"bcb\libboost_regex-bcb-mt-1_47\icu.obj" +"bcb\libboost_regex-bcb-mt-1_47\instances.obj" +"bcb\libboost_regex-bcb-mt-1_47\posix_api.obj" +"bcb\libboost_regex-bcb-mt-1_47\regex.obj" +"bcb\libboost_regex-bcb-mt-1_47\regex_debug.o [...]
-|
-
-########################################################
-#
-# section for libboost_regex-bcb-1_47.lib
-#
-########################################################
-bcb\libboost_regex-bcb-1_47\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\c_regex_traits.obj ../src/c_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\cregex.obj ../src/cregex.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\fileiter.obj ../src/fileiter.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\icu.obj ../src/icu.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\instances.obj ../src/instances.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\posix_api.obj ../src/posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\regex.obj ../src/regex.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\regex_debug.obj ../src/regex_debug.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\regex_raw_buffer.obj ../src/regex_raw_buffer.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\regex_traits_defaults.obj ../src/regex_traits_defaults.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\static_mutex.obj ../src/static_mutex.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\usinstances.obj ../src/usinstances.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\w32_regex_traits.obj ../src/w32_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\wc_regex_traits.obj ../src/wc_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\wide_posix_api.obj ../src/wide_posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-1_47\winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-1_47\winstances.obj ../src/winstances.cpp
-|
-
-bcb\libboost_regex-bcb-1_47 : 
-	- at mkdir bcb\libboost_regex-bcb-1_47
-
-libboost_regex-bcb-1_47_clean :
-	del bcb\libboost_regex-bcb-1_47\*.obj
-	del bcb\libboost_regex-bcb-1_47\*.il?
-	del bcb\libboost_regex-bcb-1_47\*.csm
-	del bcb\libboost_regex-bcb-1_47\*.tds
-
-bcb\libboost_regex-bcb-1_47.lib : bcb\libboost_regex-bcb-1_47\c_regex_traits.obj bcb\libboost_regex-bcb-1_47\cpp_regex_traits.obj bcb\libboost_regex-bcb-1_47\cregex.obj bcb\libboost_regex-bcb-1_47\fileiter.obj bcb\libboost_regex-bcb-1_47\icu.obj bcb\libboost_regex-bcb-1_47\instances.obj bcb\libboost_regex-bcb-1_47\posix_api.obj bcb\libboost_regex-bcb-1_47\regex.obj bcb\libboost_regex-bcb-1_47\regex_debug.obj bcb\libboost_regex-bcb-1_47\regex_raw_buffer.obj bcb\libboost_regex-bcb-1_47\reg [...]
-	if exist bcb\libboost_regex-bcb-1_47.lib del bcb\libboost_regex-bcb-1_47.lib 
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "bcb\libboost_regex-bcb-1_47.lib"  +"bcb\libboost_regex-bcb-1_47\c_regex_traits.obj" +"bcb\libboost_regex-bcb-1_47\cpp_regex_traits.obj" +"bcb\libboost_regex-bcb-1_47\cregex.obj" +"bcb\libboost_regex-bcb-1_47\fileiter.obj" +"bcb\libboost_regex-bcb-1_47\icu.obj" +"bcb\libboost_regex-bcb-1_47\instances.obj" +"bcb\libboost_regex-bcb-1_47\posix_api.obj" +"bcb\libboost_regex-bcb-1_47\regex.obj" +"bcb\libboost_regex-bcb-1_47\regex_debug.obj" +"bcb\libboost_regex-bcb-1 [...]
-|
-
-########################################################
-#
-# section for libboost_regex-bcb-sd-1_47.lib
-#
-########################################################
-bcb\libboost_regex-bcb-sd-1_47\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\c_regex_traits.obj ../src/c_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\cregex.obj ../src/cregex.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\fileiter.obj ../src/fileiter.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\icu.obj ../src/icu.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\instances.obj ../src/instances.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\posix_api.obj ../src/posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\regex.obj ../src/regex.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\regex_debug.obj ../src/regex_debug.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\regex_raw_buffer.obj ../src/regex_raw_buffer.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\regex_traits_defaults.obj ../src/regex_traits_defaults.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\static_mutex.obj ../src/static_mutex.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\usinstances.obj ../src/usinstances.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\w32_regex_traits.obj ../src/w32_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\wc_regex_traits.obj ../src/wc_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\wide_posix_api.obj ../src/wide_posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47\winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-sd-1_47\winstances.obj ../src/winstances.cpp
-|
-
-bcb\libboost_regex-bcb-sd-1_47 : 
-	- at mkdir bcb\libboost_regex-bcb-sd-1_47
-
-libboost_regex-bcb-sd-1_47_clean :
-	del bcb\libboost_regex-bcb-sd-1_47\*.obj
-	del bcb\libboost_regex-bcb-sd-1_47\*.il?
-	del bcb\libboost_regex-bcb-sd-1_47\*.csm
-	del bcb\libboost_regex-bcb-sd-1_47\*.tds
-
-bcb\libboost_regex-bcb-sd-1_47.lib : bcb\libboost_regex-bcb-sd-1_47\c_regex_traits.obj bcb\libboost_regex-bcb-sd-1_47\cpp_regex_traits.obj bcb\libboost_regex-bcb-sd-1_47\cregex.obj bcb\libboost_regex-bcb-sd-1_47\fileiter.obj bcb\libboost_regex-bcb-sd-1_47\icu.obj bcb\libboost_regex-bcb-sd-1_47\instances.obj bcb\libboost_regex-bcb-sd-1_47\posix_api.obj bcb\libboost_regex-bcb-sd-1_47\regex.obj bcb\libboost_regex-bcb-sd-1_47\regex_debug.obj bcb\libboost_regex-bcb-sd-1_47\regex_raw_buffer.ob [...]
-	if exist bcb\libboost_regex-bcb-sd-1_47.lib del bcb\libboost_regex-bcb-sd-1_47.lib 
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "bcb\libboost_regex-bcb-sd-1_47.lib"  +"bcb\libboost_regex-bcb-sd-1_47\c_regex_traits.obj" +"bcb\libboost_regex-bcb-sd-1_47\cpp_regex_traits.obj" +"bcb\libboost_regex-bcb-sd-1_47\cregex.obj" +"bcb\libboost_regex-bcb-sd-1_47\fileiter.obj" +"bcb\libboost_regex-bcb-sd-1_47\icu.obj" +"bcb\libboost_regex-bcb-sd-1_47\instances.obj" +"bcb\libboost_regex-bcb-sd-1_47\posix_api.obj" +"bcb\libboost_regex-bcb-sd-1_47\regex.obj" +"bcb\libboost_regex-bcb-sd-1_47\regex_debug.o [...]
-|
-
-########################################################
-#
-# section for libboost_regex-bcb-mt-sd-1_47.lib
-#
-########################################################
-bcb\libboost_regex-bcb-mt-sd-1_47\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\c_regex_traits.obj ../src/c_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\cregex.obj ../src/cregex.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\fileiter.obj ../src/fileiter.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\icu.obj ../src/icu.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\instances.obj ../src/instances.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\posix_api.obj ../src/posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\regex.obj ../src/regex.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\regex_debug.obj ../src/regex_debug.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\regex_raw_buffer.obj ../src/regex_raw_buffer.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\regex_traits_defaults.obj ../src/regex_traits_defaults.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\static_mutex.obj ../src/static_mutex.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\usinstances.obj ../src/usinstances.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\w32_regex_traits.obj ../src/w32_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\wc_regex_traits.obj ../src/wc_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\wide_posix_api.obj ../src/wide_posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47\winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-sd-1_47\winstances.obj ../src/winstances.cpp
-|
-
-bcb\libboost_regex-bcb-mt-sd-1_47 : 
-	- at mkdir bcb\libboost_regex-bcb-mt-sd-1_47
-
-libboost_regex-bcb-mt-sd-1_47_clean :
-	del bcb\libboost_regex-bcb-mt-sd-1_47\*.obj
-	del bcb\libboost_regex-bcb-mt-sd-1_47\*.il?
-	del bcb\libboost_regex-bcb-mt-sd-1_47\*.csm
-	del bcb\libboost_regex-bcb-mt-sd-1_47\*.tds
-
-bcb\libboost_regex-bcb-mt-sd-1_47.lib : bcb\libboost_regex-bcb-mt-sd-1_47\c_regex_traits.obj bcb\libboost_regex-bcb-mt-sd-1_47\cpp_regex_traits.obj bcb\libboost_regex-bcb-mt-sd-1_47\cregex.obj bcb\libboost_regex-bcb-mt-sd-1_47\fileiter.obj bcb\libboost_regex-bcb-mt-sd-1_47\icu.obj bcb\libboost_regex-bcb-mt-sd-1_47\instances.obj bcb\libboost_regex-bcb-mt-sd-1_47\posix_api.obj bcb\libboost_regex-bcb-mt-sd-1_47\regex.obj bcb\libboost_regex-bcb-mt-sd-1_47\regex_debug.obj bcb\libboost_regex-b [...]
-	if exist bcb\libboost_regex-bcb-mt-sd-1_47.lib del bcb\libboost_regex-bcb-mt-sd-1_47.lib 
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "bcb\libboost_regex-bcb-mt-sd-1_47.lib"  +"bcb\libboost_regex-bcb-mt-sd-1_47\c_regex_traits.obj" +"bcb\libboost_regex-bcb-mt-sd-1_47\cpp_regex_traits.obj" +"bcb\libboost_regex-bcb-mt-sd-1_47\cregex.obj" +"bcb\libboost_regex-bcb-mt-sd-1_47\fileiter.obj" +"bcb\libboost_regex-bcb-mt-sd-1_47\icu.obj" +"bcb\libboost_regex-bcb-mt-sd-1_47\instances.obj" +"bcb\libboost_regex-bcb-mt-sd-1_47\posix_api.obj" +"bcb\libboost_regex-bcb-mt-sd-1_47\regex.obj" +"bcb\libboost_rege [...]
-|
-
-########################################################
-#
-# section for boost_regex-bcb-mt-d-1_47.lib
-#
-########################################################
-bcb\boost_regex-bcb-mt-d-1_47\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\c_regex_traits.obj ../src/c_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\cregex.obj ../src/cregex.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\fileiter.obj ../src/fileiter.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\icu.obj ../src/icu.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\instances.obj ../src/instances.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\posix_api.obj ../src/posix_api.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\regex.obj ../src/regex.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\regex_debug.obj ../src/regex_debug.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\regex_raw_buffer.obj ../src/regex_raw_buffer.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\regex_traits_defaults.obj ../src/regex_traits_defaults.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\static_mutex.obj ../src/static_mutex.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\usinstances.obj ../src/usinstances.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\w32_regex_traits.obj ../src/w32_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\wc_regex_traits.obj ../src/wc_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\wide_posix_api.obj ../src/wide_posix_api.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47\winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-mt-d-1_47\winstances.obj ../src/winstances.cpp
-|
-
-bcb\boost_regex-bcb-mt-d-1_47 :
-	- at mkdir bcb\boost_regex-bcb-mt-d-1_47
-
-boost_regex-bcb-mt-d-1_47_clean :
-	del bcb\boost_regex-bcb-mt-d-1_47\*.obj
-	del bcb\boost_regex-bcb-mt-d-1_47\*.il?
-	del bcb\boost_regex-bcb-mt-d-1_47\*.csm
-	del bcb\boost_regex-bcb-mt-d-1_47\*.tds
-	del bcb\*.tds
-
-bcb\boost_regex-bcb-mt-d-1_47.lib : bcb\boost_regex-bcb-mt-d-1_47\c_regex_traits.obj bcb\boost_regex-bcb-mt-d-1_47\cpp_regex_traits.obj bcb\boost_regex-bcb-mt-d-1_47\cregex.obj bcb\boost_regex-bcb-mt-d-1_47\fileiter.obj bcb\boost_regex-bcb-mt-d-1_47\icu.obj bcb\boost_regex-bcb-mt-d-1_47\instances.obj bcb\boost_regex-bcb-mt-d-1_47\posix_api.obj bcb\boost_regex-bcb-mt-d-1_47\regex.obj bcb\boost_regex-bcb-mt-d-1_47\regex_debug.obj bcb\boost_regex-bcb-mt-d-1_47\regex_raw_buffer.obj bcb\boost [...]
-	bcc32 @&&|
--lw-dup -lw-dpl -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -ebcb\boost_regex-bcb-mt-d-1_47.dll $(XLFLAGS)  bcb\boost_regex-bcb-mt-d-1_47\c_regex_traits.obj bcb\boost_regex-bcb-mt-d-1_47\cpp_regex_traits.obj bcb\boost_regex-bcb-mt-d-1_47\cregex.obj bcb\boost_regex-bcb-mt-d-1_47\fileiter.obj bcb\boost_regex-bcb-mt-d-1_47\icu.obj bcb\boost_regex-bcb-mt-d-1_47\instan [...]
-|
-	implib -w bcb\boost_regex-bcb-mt-d-1_47.lib bcb\boost_regex-bcb-mt-d-1_47.dll
-
-########################################################
-#
-# section for boost_regex-bcb-d-1_47.lib
-#
-########################################################
-bcb\boost_regex-bcb-d-1_47\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\c_regex_traits.obj ../src/c_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\cregex.obj ../src/cregex.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\fileiter.obj ../src/fileiter.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\icu.obj ../src/icu.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\instances.obj ../src/instances.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\posix_api.obj ../src/posix_api.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\regex.obj ../src/regex.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\regex_debug.obj ../src/regex_debug.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\regex_raw_buffer.obj ../src/regex_raw_buffer.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\regex_traits_defaults.obj ../src/regex_traits_defaults.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\static_mutex.obj ../src/static_mutex.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\usinstances.obj ../src/usinstances.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\w32_regex_traits.obj ../src/w32_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\wc_regex_traits.obj ../src/wc_regex_traits.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\wide_posix_api.obj ../src/wide_posix_api.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47\winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -obcb\boost_regex-bcb-d-1_47\winstances.obj ../src/winstances.cpp
-|
-
-bcb\boost_regex-bcb-d-1_47 :
-	- at mkdir bcb\boost_regex-bcb-d-1_47
-
-boost_regex-bcb-d-1_47_clean :
-	del bcb\boost_regex-bcb-d-1_47\*.obj
-	del bcb\boost_regex-bcb-d-1_47\*.il?
-	del bcb\boost_regex-bcb-d-1_47\*.csm
-	del bcb\boost_regex-bcb-d-1_47\*.tds
-	del bcb\*.tds
-
-bcb\boost_regex-bcb-d-1_47.lib : bcb\boost_regex-bcb-d-1_47\c_regex_traits.obj bcb\boost_regex-bcb-d-1_47\cpp_regex_traits.obj bcb\boost_regex-bcb-d-1_47\cregex.obj bcb\boost_regex-bcb-d-1_47\fileiter.obj bcb\boost_regex-bcb-d-1_47\icu.obj bcb\boost_regex-bcb-d-1_47\instances.obj bcb\boost_regex-bcb-d-1_47\posix_api.obj bcb\boost_regex-bcb-d-1_47\regex.obj bcb\boost_regex-bcb-d-1_47\regex_debug.obj bcb\boost_regex-bcb-d-1_47\regex_raw_buffer.obj bcb\boost_regex-bcb-d-1_47\regex_traits_de [...]
-	bcc32 @&&|
--lw-dup -lw-dpl -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -ebcb\boost_regex-bcb-d-1_47.dll $(XLFLAGS)  bcb\boost_regex-bcb-d-1_47\c_regex_traits.obj bcb\boost_regex-bcb-d-1_47\cpp_regex_traits.obj bcb\boost_regex-bcb-d-1_47\cregex.obj bcb\boost_regex-bcb-d-1_47\fileiter.obj bcb\boost_regex-bcb-d-1_47\icu.obj bcb\boost_regex-bcb-d-1_47\instances.obj bcb\boost_re [...]
-|
-	implib -w bcb\boost_regex-bcb-d-1_47.lib bcb\boost_regex-bcb-d-1_47.dll
-
-########################################################
-#
-# section for libboost_regex-bcb-mt-d-1_47.lib
-#
-########################################################
-bcb\libboost_regex-bcb-mt-d-1_47\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\c_regex_traits.obj ../src/c_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\cregex.obj ../src/cregex.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\fileiter.obj ../src/fileiter.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\icu.obj ../src/icu.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\instances.obj ../src/instances.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\posix_api.obj ../src/posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\regex.obj ../src/regex.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\regex_debug.obj ../src/regex_debug.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\regex_raw_buffer.obj ../src/regex_raw_buffer.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\regex_traits_defaults.obj ../src/regex_traits_defaults.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\static_mutex.obj ../src/static_mutex.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\usinstances.obj ../src/usinstances.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\w32_regex_traits.obj ../src/w32_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\wc_regex_traits.obj ../src/wc_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\wide_posix_api.obj ../src/wide_posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47\winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-mt-d-1_47\winstances.obj ../src/winstances.cpp
-|
-
-bcb\libboost_regex-bcb-mt-d-1_47 : 
-	- at mkdir bcb\libboost_regex-bcb-mt-d-1_47
-
-libboost_regex-bcb-mt-d-1_47_clean :
-	del bcb\libboost_regex-bcb-mt-d-1_47\*.obj
-	del bcb\libboost_regex-bcb-mt-d-1_47\*.il?
-	del bcb\libboost_regex-bcb-mt-d-1_47\*.csm
-	del bcb\libboost_regex-bcb-mt-d-1_47\*.tds
-
-bcb\libboost_regex-bcb-mt-d-1_47.lib : bcb\libboost_regex-bcb-mt-d-1_47\c_regex_traits.obj bcb\libboost_regex-bcb-mt-d-1_47\cpp_regex_traits.obj bcb\libboost_regex-bcb-mt-d-1_47\cregex.obj bcb\libboost_regex-bcb-mt-d-1_47\fileiter.obj bcb\libboost_regex-bcb-mt-d-1_47\icu.obj bcb\libboost_regex-bcb-mt-d-1_47\instances.obj bcb\libboost_regex-bcb-mt-d-1_47\posix_api.obj bcb\libboost_regex-bcb-mt-d-1_47\regex.obj bcb\libboost_regex-bcb-mt-d-1_47\regex_debug.obj bcb\libboost_regex-bcb-mt-d-1_ [...]
-	if exist bcb\libboost_regex-bcb-mt-d-1_47.lib del bcb\libboost_regex-bcb-mt-d-1_47.lib 
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "bcb\libboost_regex-bcb-mt-d-1_47.lib"  +"bcb\libboost_regex-bcb-mt-d-1_47\c_regex_traits.obj" +"bcb\libboost_regex-bcb-mt-d-1_47\cpp_regex_traits.obj" +"bcb\libboost_regex-bcb-mt-d-1_47\cregex.obj" +"bcb\libboost_regex-bcb-mt-d-1_47\fileiter.obj" +"bcb\libboost_regex-bcb-mt-d-1_47\icu.obj" +"bcb\libboost_regex-bcb-mt-d-1_47\instances.obj" +"bcb\libboost_regex-bcb-mt-d-1_47\posix_api.obj" +"bcb\libboost_regex-bcb-mt-d-1_47\regex.obj" +"bcb\libboost_regex-bcb-mt- [...]
-|
-
-########################################################
-#
-# section for libboost_regex-bcb-d-1_47.lib
-#
-########################################################
-bcb\libboost_regex-bcb-d-1_47\c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\c_regex_traits.obj ../src/c_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\cpp_regex_traits.obj ../src/cpp_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\cregex.obj ../src/cregex.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\fileiter.obj ../src/fileiter.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\icu.obj ../src/icu.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\instances.obj ../src/instances.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\posix_api.obj ../src/posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\regex.obj ../src/regex.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\regex_debug.obj ../src/regex_debug.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\regex_raw_buffer.obj ../src/regex_raw_buffer.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\regex_traits_defaults.obj ../src/regex_traits_defaults.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\static_mutex.obj ../src/static_mutex.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\usinstances.obj ../src/usinstances.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\w32_regex_traits.obj ../src/w32_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\wc_regex_traits.obj ../src/wc_regex_traits.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\wide_posix_api.obj ../src/wide_posix_api.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47\winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	bcc32 @&&|
--c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -obcb\libboost_regex-bcb-d-1_47\winstances.obj ../src/winstances.cpp
-|
-
-bcb\libboost_regex-bcb-d-1_47 : 
-	- at mkdir bcb\libboost_regex-bcb-d-1_47
-
-libboost_regex-bcb-d-1_47_clean :
-	del bcb\libboost_regex-bcb-d-1_47\*.obj
-	del bcb\libboost_regex-bcb-d-1_47\*.il?
-	del bcb\libboost_regex-bcb-d-1_47\*.csm
-	del bcb\libboost_regex-bcb-d-1_47\*.tds
-
-bcb\libboost_regex-bcb-d-1_47.lib : bcb\libboost_regex-bcb-d-1_47\c_regex_traits.obj bcb\libboost_regex-bcb-d-1_47\cpp_regex_traits.obj bcb\libboost_regex-bcb-d-1_47\cregex.obj bcb\libboost_regex-bcb-d-1_47\fileiter.obj bcb\libboost_regex-bcb-d-1_47\icu.obj bcb\libboost_regex-bcb-d-1_47\instances.obj bcb\libboost_regex-bcb-d-1_47\posix_api.obj bcb\libboost_regex-bcb-d-1_47\regex.obj bcb\libboost_regex-bcb-d-1_47\regex_debug.obj bcb\libboost_regex-bcb-d-1_47\regex_raw_buffer.obj bcb\libbo [...]
-	if exist bcb\libboost_regex-bcb-d-1_47.lib del bcb\libboost_regex-bcb-d-1_47.lib 
-	tlib @&&|
-/P128 /C /u /a $(XSFLAGS) "bcb\libboost_regex-bcb-d-1_47.lib"  +"bcb\libboost_regex-bcb-d-1_47\c_regex_traits.obj" +"bcb\libboost_regex-bcb-d-1_47\cpp_regex_traits.obj" +"bcb\libboost_regex-bcb-d-1_47\cregex.obj" +"bcb\libboost_regex-bcb-d-1_47\fileiter.obj" +"bcb\libboost_regex-bcb-d-1_47\icu.obj" +"bcb\libboost_regex-bcb-d-1_47\instances.obj" +"bcb\libboost_regex-bcb-d-1_47\posix_api.obj" +"bcb\libboost_regex-bcb-d-1_47\regex.obj" +"bcb\libboost_regex-bcb-d-1_47\regex_debug.obj" +"bcb\ [...]
-|
-
diff --git a/SRC/Boost/libs/regex/build/common.sh b/SRC/Boost/libs/regex/build/common.sh
deleted file mode 100755
index b6053d0..0000000
--- a/SRC/Boost/libs/regex/build/common.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-# copyright John Maddock 2003
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# locate all the header dependencies:
-for file in ../../../boost/regex/*.hpp ; do
-	if [ -f $file ]; then
-		if [ $file != ../../../boost/regex/concepts.hpp ]; then
-			if [ $file != ../../../boost/regex/mfc.hpp ]; then
-				header="$header $file"
-			fi
-		fi
-	fi
-done
-
-for file in ../../../boost/regex/v3/*.hpp; do
-	if [ -f $file ]; then
-		header="$header $file"
-	fi
-done
-
-for file in ../../../boost/regex/v3/*.hxx; do
-	if [ -f $file ]; then
-		header="$header $file"
-	fi
-done
-
-for file in ../../../boost/regex/v4/*.hpp; do
-	if [ -f $file ]; then
-		header="$header $file"
-	fi
-done
-
-for file in ../../../boost/regex/v4/*.hxx; do
-	if [ -f $file ]; then
-		header="$header $file"
-	fi
-done
-
-for file in ../../../boost/regex/config/*.hpp; do
-	if [ -f $file ]; then
-		header="$header $file"
-	fi
-done
-
-for file in ../../../boost/regex/config/*.hxx; do
-	if [ -f $file ]; then
-		header="$header $file"
-	fi
-done
-
-#
-# locate all the source files:
-for file in ../src/*.cpp; do
-	if [ -f $file ]; then
-		src="$src $file"
-	fi
-done
-
-boost_version=$(grep 'define.*BOOST_LIB_VERSION' ../../../boost/version.hpp | sed 's/.*"\([^"]*\)".*/\1/')
-echo Boost version tag = $boost_version
-
-
-
-
diff --git a/SRC/Boost/libs/regex/build/gcc-shared.mak b/SRC/Boost/libs/regex/build/gcc-shared.mak
deleted file mode 100755
index c9c46b8..0000000
--- a/SRC/Boost/libs/regex/build/gcc-shared.mak
+++ /dev/null
@@ -1,190 +0,0 @@
-# copyright John Maddock 2006-7
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for gcc compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make clean
-#   deletes temporary object files (but not archives).
-#
-
-#
-# the following environment variables are recognised:
-# ICU_PATH= Path to ICU installation.
-# CXXFLAGS= extra compiler options - note applies to all build variants
-# INCLUDES= additional include directories
-# LDFLAGS=  additional linker options
-# LIBS=     additional library files
-
-# compiler:
-CXX=g++
-LINKER=g++ -shared
-
-#
-# compiler options for release build:
-#
-C1=-c -O2 -I../../.. -fPIC
-#
-# compiler options for debug build:
-#
-C2=-c -g -I../../.. -fPIC
-
-ifeq "$(ICU_PATH)" ""
-$(warning "Building Boost.Regex without ICU / Unicode support:")
-$(warning "Hint: set ICU_PATH on the nmake command line to point ")
-$(warning "to your ICU installation if you have one.")
-else
-ICU_CXXFLAGS= -DBOOST_HAS_ICU=1 -I$(ICU_PATH)/include
-ICU_LDFLAGS= -L$(ICU_PATH)/lib
-ICU_LIBS= -licui18n -licuuc
-$(warning "Building Boost.Regex with ICU in $(ICU_PATH)")
-endif
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : gcc  gcc gcc/boost_regex-gcc-1_47_shared ./gcc/libboost_regex-gcc-1_47.so gcc gcc/boost_regex-gcc-d-1_47_shared ./gcc/libboost_regex-gcc-d-1_47.so
-
-gcc :
-	mkdir -p gcc
-
-clean :  boost_regex-gcc-1_47_clean boost_regex-gcc-d-1_47_clean
-
-install : all
-
-
-
-########################################################
-#
-# section for libboost_regex-gcc-1_47.a
-#
-########################################################
-gcc/boost_regex-gcc-1_47_shared/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/c_regex_traits.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/c_regex_traits.cpp
-
-gcc/boost_regex-gcc-1_47_shared/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/cpp_regex_traits.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/cpp_regex_traits.cpp
-
-gcc/boost_regex-gcc-1_47_shared/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/cregex.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/cregex.cpp
-
-gcc/boost_regex-gcc-1_47_shared/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/fileiter.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/fileiter.cpp
-
-gcc/boost_regex-gcc-1_47_shared/icu.o: ../src/icu.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/icu.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/icu.cpp
-
-gcc/boost_regex-gcc-1_47_shared/instances.o: ../src/instances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/instances.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/instances.cpp
-
-gcc/boost_regex-gcc-1_47_shared/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/posix_api.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/posix_api.cpp
-
-gcc/boost_regex-gcc-1_47_shared/regex.o: ../src/regex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/regex.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex.cpp
-
-gcc/boost_regex-gcc-1_47_shared/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/regex_debug.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex_debug.cpp
-
-gcc/boost_regex-gcc-1_47_shared/regex_raw_buffer.o: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/regex_raw_buffer.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex_raw_buffer.cpp
-
-gcc/boost_regex-gcc-1_47_shared/regex_traits_defaults.o: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/regex_traits_defaults.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex_traits_defaults.cpp
-
-gcc/boost_regex-gcc-1_47_shared/static_mutex.o: ../src/static_mutex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/static_mutex.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/static_mutex.cpp
-
-gcc/boost_regex-gcc-1_47_shared/usinstances.o: ../src/usinstances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/usinstances.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/usinstances.cpp
-
-gcc/boost_regex-gcc-1_47_shared/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/w32_regex_traits.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/w32_regex_traits.cpp
-
-gcc/boost_regex-gcc-1_47_shared/wc_regex_traits.o: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/wc_regex_traits.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/wc_regex_traits.cpp
-
-gcc/boost_regex-gcc-1_47_shared/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/wide_posix_api.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/wide_posix_api.cpp
-
-gcc/boost_regex-gcc-1_47_shared/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47_shared/winstances.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/winstances.cpp
-
-gcc/boost_regex-gcc-1_47_shared : 
-	mkdir -p gcc/boost_regex-gcc-1_47_shared
-
-boost_regex-gcc-1_47_clean :
-	rm -f gcc/boost_regex-gcc-1_47_shared/*.o
-
-./gcc/libboost_regex-gcc-1_47.so : gcc/boost_regex-gcc-1_47_shared/c_regex_traits.o gcc/boost_regex-gcc-1_47_shared/cpp_regex_traits.o gcc/boost_regex-gcc-1_47_shared/cregex.o gcc/boost_regex-gcc-1_47_shared/fileiter.o gcc/boost_regex-gcc-1_47_shared/icu.o gcc/boost_regex-gcc-1_47_shared/instances.o gcc/boost_regex-gcc-1_47_shared/posix_api.o gcc/boost_regex-gcc-1_47_shared/regex.o gcc/boost_regex-gcc-1_47_shared/regex_debug.o gcc/boost_regex-gcc-1_47_shared/regex_raw_buffer.o gcc/boost_ [...]
-	$(LINKER) -o gcc/libboost_regex-gcc-1_47.so $(LDFLAGS)  $(ICU_LDFLAGS)  gcc/boost_regex-gcc-1_47_shared/c_regex_traits.o gcc/boost_regex-gcc-1_47_shared/cpp_regex_traits.o gcc/boost_regex-gcc-1_47_shared/cregex.o gcc/boost_regex-gcc-1_47_shared/fileiter.o gcc/boost_regex-gcc-1_47_shared/icu.o gcc/boost_regex-gcc-1_47_shared/instances.o gcc/boost_regex-gcc-1_47_shared/posix_api.o gcc/boost_regex-gcc-1_47_shared/regex.o gcc/boost_regex-gcc-1_47_shared/regex_debug.o gcc/boost_regex-gcc-1_4 [...]
-
-########################################################
-#
-# section for libboost_regex-gcc-d-1_47.a
-#
-########################################################
-gcc/boost_regex-gcc-d-1_47_shared/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/c_regex_traits.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/c_regex_traits.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/cpp_regex_traits.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/cpp_regex_traits.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/cregex.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/cregex.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/fileiter.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/fileiter.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/icu.o: ../src/icu.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/icu.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/icu.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/instances.o: ../src/instances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/instances.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/instances.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/posix_api.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/posix_api.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/regex.o: ../src/regex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/regex.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/regex_debug.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex_debug.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/regex_raw_buffer.o: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/regex_raw_buffer.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex_raw_buffer.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/regex_traits_defaults.o: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/regex_traits_defaults.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex_traits_defaults.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/static_mutex.o: ../src/static_mutex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/static_mutex.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/static_mutex.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/usinstances.o: ../src/usinstances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/usinstances.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/usinstances.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/w32_regex_traits.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/w32_regex_traits.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/wc_regex_traits.o: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/wc_regex_traits.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/wc_regex_traits.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/wide_posix_api.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/wide_posix_api.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47_shared/winstances.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/winstances.cpp
-
-gcc/boost_regex-gcc-d-1_47_shared : 
-	mkdir -p gcc/boost_regex-gcc-d-1_47_shared
-
-boost_regex-gcc-d-1_47_clean :
-	rm -f gcc/boost_regex-gcc-d-1_47_shared/*.o
-
-./gcc/libboost_regex-gcc-d-1_47.so : gcc/boost_regex-gcc-d-1_47_shared/c_regex_traits.o gcc/boost_regex-gcc-d-1_47_shared/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_47_shared/cregex.o gcc/boost_regex-gcc-d-1_47_shared/fileiter.o gcc/boost_regex-gcc-d-1_47_shared/icu.o gcc/boost_regex-gcc-d-1_47_shared/instances.o gcc/boost_regex-gcc-d-1_47_shared/posix_api.o gcc/boost_regex-gcc-d-1_47_shared/regex.o gcc/boost_regex-gcc-d-1_47_shared/regex_debug.o gcc/boost_regex-gcc-d-1_47_shared/regex_r [...]
-	$(LINKER) -o gcc/libboost_regex-gcc-d-1_47.so $(LDFLAGS)  $(ICU_LDFLAGS)  gcc/boost_regex-gcc-d-1_47_shared/c_regex_traits.o gcc/boost_regex-gcc-d-1_47_shared/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_47_shared/cregex.o gcc/boost_regex-gcc-d-1_47_shared/fileiter.o gcc/boost_regex-gcc-d-1_47_shared/icu.o gcc/boost_regex-gcc-d-1_47_shared/instances.o gcc/boost_regex-gcc-d-1_47_shared/posix_api.o gcc/boost_regex-gcc-d-1_47_shared/regex.o gcc/boost_regex-gcc-d-1_47_shared/regex_debug.o gcc [...]
-
diff --git a/SRC/Boost/libs/regex/build/gcc.mak b/SRC/Boost/libs/regex/build/gcc.mak
deleted file mode 100755
index de75f3d..0000000
--- a/SRC/Boost/libs/regex/build/gcc.mak
+++ /dev/null
@@ -1,192 +0,0 @@
-# copyright John Maddock 2006-7
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for gcc compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make clean
-#   deletes temporary object files (but not archives).
-#
-
-#
-# the following environment variables are recognised:
-# ICU_PATH= Path to ICU installation.
-# CXXFLAGS= extra compiler options - note applies to all build variants
-# INCLUDES= additional include directories
-# LDFLAGS=  additional linker options
-# LIBS=     additional library files
-
-# compiler:
-CXX=g++
-LINKER=g++ -shared
-
-#
-# compiler options for release build:
-#
-C1=-c -O2 -I../../..
-#
-# compiler options for debug build:
-#
-C2=-c -g -I../../..
-
-ifeq "$(ICU_PATH)" ""
-$(warning "Building Boost.Regex without ICU / Unicode support:")
-$(warning "Hint: set ICU_PATH on the nmake command line to point ")
-$(warning "to your ICU installation if you have one.")
-else
-ICU_CXXFLAGS= -DBOOST_HAS_ICU=1 -I$(ICU_PATH)/include
-ICU_LDFLAGS= -L$(ICU_PATH)/lib
-ICU_LIBS= -licui18n -licuuc
-$(warning "Building Boost.Regex with ICU in $(ICU_PATH)")
-endif
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : gcc  gcc gcc/boost_regex-gcc-1_47 ./gcc/libboost_regex-gcc-1_47.a gcc gcc/boost_regex-gcc-d-1_47 ./gcc/libboost_regex-gcc-d-1_47.a
-
-gcc :
-	mkdir -p gcc
-
-clean :  boost_regex-gcc-1_47_clean boost_regex-gcc-d-1_47_clean
-
-install : all
-
-
-
-########################################################
-#
-# section for libboost_regex-gcc-1_47.a
-#
-########################################################
-gcc/boost_regex-gcc-1_47/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/c_regex_traits.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/c_regex_traits.cpp
-
-gcc/boost_regex-gcc-1_47/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/cpp_regex_traits.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/cpp_regex_traits.cpp
-
-gcc/boost_regex-gcc-1_47/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/cregex.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/cregex.cpp
-
-gcc/boost_regex-gcc-1_47/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/fileiter.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/fileiter.cpp
-
-gcc/boost_regex-gcc-1_47/icu.o: ../src/icu.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/icu.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/icu.cpp
-
-gcc/boost_regex-gcc-1_47/instances.o: ../src/instances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/instances.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/instances.cpp
-
-gcc/boost_regex-gcc-1_47/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/posix_api.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/posix_api.cpp
-
-gcc/boost_regex-gcc-1_47/regex.o: ../src/regex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/regex.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex.cpp
-
-gcc/boost_regex-gcc-1_47/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/regex_debug.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex_debug.cpp
-
-gcc/boost_regex-gcc-1_47/regex_raw_buffer.o: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/regex_raw_buffer.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex_raw_buffer.cpp
-
-gcc/boost_regex-gcc-1_47/regex_traits_defaults.o: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/regex_traits_defaults.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex_traits_defaults.cpp
-
-gcc/boost_regex-gcc-1_47/static_mutex.o: ../src/static_mutex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/static_mutex.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/static_mutex.cpp
-
-gcc/boost_regex-gcc-1_47/usinstances.o: ../src/usinstances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/usinstances.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/usinstances.cpp
-
-gcc/boost_regex-gcc-1_47/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/w32_regex_traits.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/w32_regex_traits.cpp
-
-gcc/boost_regex-gcc-1_47/wc_regex_traits.o: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/wc_regex_traits.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/wc_regex_traits.cpp
-
-gcc/boost_regex-gcc-1_47/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/wide_posix_api.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/wide_posix_api.cpp
-
-gcc/boost_regex-gcc-1_47/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-1_47/winstances.o $(C1) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/winstances.cpp
-
-gcc/boost_regex-gcc-1_47 : 
-	mkdir -p gcc/boost_regex-gcc-1_47
-
-boost_regex-gcc-1_47_clean :
-	rm -f gcc/boost_regex-gcc-1_47/*.o
-
-./gcc/libboost_regex-gcc-1_47.a : gcc/boost_regex-gcc-1_47/c_regex_traits.o gcc/boost_regex-gcc-1_47/cpp_regex_traits.o gcc/boost_regex-gcc-1_47/cregex.o gcc/boost_regex-gcc-1_47/fileiter.o gcc/boost_regex-gcc-1_47/icu.o gcc/boost_regex-gcc-1_47/instances.o gcc/boost_regex-gcc-1_47/posix_api.o gcc/boost_regex-gcc-1_47/regex.o gcc/boost_regex-gcc-1_47/regex_debug.o gcc/boost_regex-gcc-1_47/regex_raw_buffer.o gcc/boost_regex-gcc-1_47/regex_traits_defaults.o gcc/boost_regex-gcc-1_47/static_ [...]
-	ar -r gcc/libboost_regex-gcc-1_47.a  gcc/boost_regex-gcc-1_47/c_regex_traits.o gcc/boost_regex-gcc-1_47/cpp_regex_traits.o gcc/boost_regex-gcc-1_47/cregex.o gcc/boost_regex-gcc-1_47/fileiter.o gcc/boost_regex-gcc-1_47/icu.o gcc/boost_regex-gcc-1_47/instances.o gcc/boost_regex-gcc-1_47/posix_api.o gcc/boost_regex-gcc-1_47/regex.o gcc/boost_regex-gcc-1_47/regex_debug.o gcc/boost_regex-gcc-1_47/regex_raw_buffer.o gcc/boost_regex-gcc-1_47/regex_traits_defaults.o gcc/boost_regex-gcc-1_47/sta [...]
-	-ar -s gcc/libboost_regex-gcc-1_47.a
-
-########################################################
-#
-# section for libboost_regex-gcc-d-1_47.a
-#
-########################################################
-gcc/boost_regex-gcc-d-1_47/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/c_regex_traits.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/c_regex_traits.cpp
-
-gcc/boost_regex-gcc-d-1_47/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/cpp_regex_traits.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/cpp_regex_traits.cpp
-
-gcc/boost_regex-gcc-d-1_47/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/cregex.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/cregex.cpp
-
-gcc/boost_regex-gcc-d-1_47/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/fileiter.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/fileiter.cpp
-
-gcc/boost_regex-gcc-d-1_47/icu.o: ../src/icu.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/icu.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/icu.cpp
-
-gcc/boost_regex-gcc-d-1_47/instances.o: ../src/instances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/instances.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/instances.cpp
-
-gcc/boost_regex-gcc-d-1_47/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/posix_api.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/posix_api.cpp
-
-gcc/boost_regex-gcc-d-1_47/regex.o: ../src/regex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/regex.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex.cpp
-
-gcc/boost_regex-gcc-d-1_47/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/regex_debug.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex_debug.cpp
-
-gcc/boost_regex-gcc-d-1_47/regex_raw_buffer.o: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/regex_raw_buffer.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex_raw_buffer.cpp
-
-gcc/boost_regex-gcc-d-1_47/regex_traits_defaults.o: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/regex_traits_defaults.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/regex_traits_defaults.cpp
-
-gcc/boost_regex-gcc-d-1_47/static_mutex.o: ../src/static_mutex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/static_mutex.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/static_mutex.cpp
-
-gcc/boost_regex-gcc-d-1_47/usinstances.o: ../src/usinstances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/usinstances.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/usinstances.cpp
-
-gcc/boost_regex-gcc-d-1_47/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/w32_regex_traits.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/w32_regex_traits.cpp
-
-gcc/boost_regex-gcc-d-1_47/wc_regex_traits.o: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/wc_regex_traits.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/wc_regex_traits.cpp
-
-gcc/boost_regex-gcc-d-1_47/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/wide_posix_api.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/wide_posix_api.cpp
-
-gcc/boost_regex-gcc-d-1_47/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o gcc/boost_regex-gcc-d-1_47/winstances.o $(C2) $(CXXFLAGS) $(ICU_CXXFLAGS) ../src/winstances.cpp
-
-gcc/boost_regex-gcc-d-1_47 : 
-	mkdir -p gcc/boost_regex-gcc-d-1_47
-
-boost_regex-gcc-d-1_47_clean :
-	rm -f gcc/boost_regex-gcc-d-1_47/*.o
-
-./gcc/libboost_regex-gcc-d-1_47.a : gcc/boost_regex-gcc-d-1_47/c_regex_traits.o gcc/boost_regex-gcc-d-1_47/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_47/cregex.o gcc/boost_regex-gcc-d-1_47/fileiter.o gcc/boost_regex-gcc-d-1_47/icu.o gcc/boost_regex-gcc-d-1_47/instances.o gcc/boost_regex-gcc-d-1_47/posix_api.o gcc/boost_regex-gcc-d-1_47/regex.o gcc/boost_regex-gcc-d-1_47/regex_debug.o gcc/boost_regex-gcc-d-1_47/regex_raw_buffer.o gcc/boost_regex-gcc-d-1_47/regex_traits_defaults.o gcc/boos [...]
-	ar -r gcc/libboost_regex-gcc-d-1_47.a  gcc/boost_regex-gcc-d-1_47/c_regex_traits.o gcc/boost_regex-gcc-d-1_47/cpp_regex_traits.o gcc/boost_regex-gcc-d-1_47/cregex.o gcc/boost_regex-gcc-d-1_47/fileiter.o gcc/boost_regex-gcc-d-1_47/icu.o gcc/boost_regex-gcc-d-1_47/instances.o gcc/boost_regex-gcc-d-1_47/posix_api.o gcc/boost_regex-gcc-d-1_47/regex.o gcc/boost_regex-gcc-d-1_47/regex_debug.o gcc/boost_regex-gcc-d-1_47/regex_raw_buffer.o gcc/boost_regex-gcc-d-1_47/regex_traits_defaults.o gcc/ [...]
-	-ar -s gcc/libboost_regex-gcc-d-1_47.a
-
diff --git a/SRC/Boost/libs/regex/build/gcc_gen.sh b/SRC/Boost/libs/regex/build/gcc_gen.sh
deleted file mode 100755
index 2c9ece4..0000000
--- a/SRC/Boost/libs/regex/build/gcc_gen.sh
+++ /dev/null
@@ -1,278 +0,0 @@
-#! /bin/bash
-
-# copyright John Maddock 2003
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-
-libname=""
-src=""
-header=""
-all_dep=""
-
-# current makefile:
-out=""
-# temporary file:
-tout=""
-# install target temp file:
-iout=""
-# debug flag:
-debug="no"
-# compile options:
-opts=""
-# main output sub-directory:
-subdir=""
-# vcl flag:
-use_vcl="yes"
-
-###############################################################
-#
-# gcc generator section:
-#
-###############################################################
-
-gcc_shared="no"
-
-function gcc_gen_lib()
-{
-	if test "$gcc_shared" == "yes"; then
-		obj_dir="$libname""_shared"
-		all_dep="$all_dep $subdir $subdir/$obj_dir ./$subdir/lib$libname.so"
-	else
-		obj_dir="$libname"
-		all_dep="$all_dep $subdir $subdir/$obj_dir ./$subdir/lib$libname.a"
-	fi
-#
-# set up section comments:
-	cat >> $tout << EOF
-########################################################
-#
-# section for lib$libname.a
-#
-########################################################
-EOF
-#
-#	process source files:
-	all_obj=""
-	for file in $src
-	do
-		obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1o/g'`
-		obj="$subdir/$obj_dir/$obj"
-		all_obj="$all_obj $obj"
-		echo "$obj: $file \$(ALL_HEADER)" >> $tout
-		echo "	\$(CXX) \$(INCLUDES) -o $obj $opts \$(CXXFLAGS) \$(ICU_CXXFLAGS) $file" >> $tout
-		echo "" >> $tout
-	done
-#
-#	 now for the directories for this library:
-	echo "$subdir/$obj_dir : " >> $tout
-	echo "	mkdir -p $subdir/$obj_dir" >> $tout
-	echo "" >> $tout
-#
-#	 now for the clean options for this library:
-	all_clean="$all_clean $libname""_clean"
-	echo "$libname"_clean : >> $tout
-	echo "	rm -f $subdir/$obj_dir/*.o" >> $tout
-	echo "" >> $tout
-#
-#	 now for the main target for this library:
-          if test "$gcc_shared" == "yes"; then
-		echo ./$subdir/lib$libname.so : $all_obj >> $tout
-		echo "	\$(LINKER) -o $subdir/lib$libname.so \$(LDFLAGS)  \$(ICU_LDFLAGS) $all_obj \$(ICU_LIBS) \$(LIBS)" >> $tout
-	else
-		echo ./$subdir/lib$libname.a : $all_obj >> $tout
-		echo "	ar -r $subdir/lib$libname.a $all_obj" >> $tout
-		echo "	-ar -s $subdir/lib$libname.a" >> $tout
-	fi
-	echo "" >> $tout
-}
-
-function gcc_gen()
-{
-	out="gcc.mak"
-	tout="temp"
-	iout="temp_install"
-	subdir="gcc"
-	all_dep=""
-	all_clean=""
-	echo > $out
-	echo > $tout
-	echo > $iout
-
-	libname="boost_regex-gcc-${boost_version}"
-	opts="\$(C1)"
-	gcc_gen_lib
-	libname="boost_regex-gcc-d-${boost_version}"
-	opts="\$(C2)"
-	gcc_gen_lib
-	
-	
-	cat > $out << EOF
-# copyright John Maddock 2006-7
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for gcc compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make clean
-#   deletes temporary object files (but not archives).
-#
-
-#
-# the following environment variables are recognised:
-# ICU_PATH= Path to ICU installation.
-# CXXFLAGS= extra compiler options - note applies to all build variants
-# INCLUDES= additional include directories
-# LDFLAGS=  additional linker options
-# LIBS=     additional library files
-
-# compiler:
-CXX=g++
-LINKER=g++ -shared
-
-#
-# compiler options for release build:
-#
-C1=-c -O2 -I../../..
-#
-# compiler options for debug build:
-#
-C2=-c -g -I../../..
-
-ifeq "\$(ICU_PATH)" ""
-\$(warning "Building Boost.Regex without ICU / Unicode support:")
-\$(warning "Hint: set ICU_PATH on the nmake command line to point ")
-\$(warning "to your ICU installation if you have one.")
-else
-ICU_CXXFLAGS= -DBOOST_HAS_ICU=1 -I\$(ICU_PATH)/include
-ICU_LDFLAGS= -L\$(ICU_PATH)/lib
-ICU_LIBS= -licui18n -licuuc
-\$(warning "Building Boost.Regex with ICU in \$(ICU_PATH)")
-endif
-
-EOF
-	echo "" >> $out
-	echo "ALL_HEADER=$header" >> $out
-	echo "" >> $out
-	echo "all : $subdir $all_dep" >> $out
-	echo >> $out
-	echo "$subdir :" >> $out
-	echo "	mkdir -p $subdir" >> $out
-	echo >> $out
-	echo "clean : $all_clean" >> $out
-	echo >> $out
-	echo "install : all" >> $out
-	cat $iout >> $out
-	echo >> $out
-	cat $tout >> $out
-}
-
-function gcc_gen_shared()
-{
-	out="gcc-shared.mak"
-	tout="temp"
-	iout="temp_install"
-	subdir="gcc"
-	all_dep=""
-	all_clean=""
-	echo > $out
-	echo > $tout
-	echo > $iout
-
-	libname="boost_regex-gcc-${boost_version}"
-	opts="\$(C1)"
-	gcc_gen_lib
-	libname="boost_regex-gcc-d-${boost_version}"
-	opts="\$(C2)"
-	gcc_gen_lib
-	
-	
-	cat > $out << EOF
-# copyright John Maddock 2006-7
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for gcc compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make clean
-#   deletes temporary object files (but not archives).
-#
-
-#
-# the following environment variables are recognised:
-# ICU_PATH= Path to ICU installation.
-# CXXFLAGS= extra compiler options - note applies to all build variants
-# INCLUDES= additional include directories
-# LDFLAGS=  additional linker options
-# LIBS=     additional library files
-
-# compiler:
-CXX=g++
-LINKER=g++ -shared
-
-#
-# compiler options for release build:
-#
-C1=-c -O2 -I../../.. -fPIC
-#
-# compiler options for debug build:
-#
-C2=-c -g -I../../.. -fPIC
-
-ifeq "\$(ICU_PATH)" ""
-\$(warning "Building Boost.Regex without ICU / Unicode support:")
-\$(warning "Hint: set ICU_PATH on the nmake command line to point ")
-\$(warning "to your ICU installation if you have one.")
-else
-ICU_CXXFLAGS= -DBOOST_HAS_ICU=1 -I\$(ICU_PATH)/include
-ICU_LDFLAGS= -L\$(ICU_PATH)/lib
-ICU_LIBS= -licui18n -licuuc
-\$(warning "Building Boost.Regex with ICU in \$(ICU_PATH)")
-endif
-
-EOF
-	echo "" >> $out
-	echo "ALL_HEADER=$header" >> $out
-	echo "" >> $out
-	echo "all : $subdir $all_dep" >> $out
-	echo >> $out
-	echo "$subdir :" >> $out
-	echo "	mkdir -p $subdir" >> $out
-	echo >> $out
-	echo "clean : $all_clean" >> $out
-	echo >> $out
-	echo "install : all" >> $out
-	cat $iout >> $out
-	echo >> $out
-	cat $tout >> $out
-}
-
-#
-# locate source files:
-#
-. common.sh
-
-#
-# generate gcc makefile:
-gcc_gen
-gcc_shared="yes"
-gcc_gen_shared
-
-
-#
-# remove tmep files;
-rm -f $tout $iout
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/regex/build/generic.mak b/SRC/Boost/libs/regex/build/generic.mak
deleted file mode 100755
index b8d46b9..0000000
--- a/SRC/Boost/libs/regex/build/generic.mak
+++ /dev/null
@@ -1,110 +0,0 @@
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for generic compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make clean
-#   deletes temporary object files (but not archives).
-#
-
-#
-# the following environment variables are recognised:
-# CXXFLAGS= extra compiler options - note applies to all build variants
-# INCLUDES= additional include directories
-# LDFLAGS=  additional linker options
-# LIBS=     additional library files
-# CXX=      compiler to use
-# LINKER=   linker/archiver to use
-# name of subdirectory to use for object/archive files:
-DIRNAME=generic
-
-#
-# default compiler options for release build:
-#
-C1=-c -O2 -I../../../
-
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : $(DIRNAME)  $(DIRNAME) $(DIRNAME)/boost_regex ./$(DIRNAME)/libboost_regex.so
-
-$(DIRNAME) :
-	mkdir -p $(DIRNAME)
-
-clean :  boost_regex_clean
-
-install : all
-
-
-
-########################################################
-#
-# section for libboost_regex.so
-#
-########################################################
-$(DIRNAME)/boost_regex/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/c_regex_traits.o $(C1) $(CXXFLAGS) ../src/c_regex_traits.cpp
-
-$(DIRNAME)/boost_regex/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/cpp_regex_traits.o $(C1) $(CXXFLAGS) ../src/cpp_regex_traits.cpp
-
-$(DIRNAME)/boost_regex/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/cregex.o $(C1) $(CXXFLAGS) ../src/cregex.cpp
-
-$(DIRNAME)/boost_regex/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/fileiter.o $(C1) $(CXXFLAGS) ../src/fileiter.cpp
-
-$(DIRNAME)/boost_regex/icu.o: ../src/icu.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/icu.o $(C1) $(CXXFLAGS) ../src/icu.cpp
-
-$(DIRNAME)/boost_regex/instances.o: ../src/instances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/instances.o $(C1) $(CXXFLAGS) ../src/instances.cpp
-
-$(DIRNAME)/boost_regex/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/posix_api.o $(C1) $(CXXFLAGS) ../src/posix_api.cpp
-
-$(DIRNAME)/boost_regex/regex.o: ../src/regex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/regex.o $(C1) $(CXXFLAGS) ../src/regex.cpp
-
-$(DIRNAME)/boost_regex/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/regex_debug.o $(C1) $(CXXFLAGS) ../src/regex_debug.cpp
-
-$(DIRNAME)/boost_regex/regex_raw_buffer.o: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/regex_raw_buffer.o $(C1) $(CXXFLAGS) ../src/regex_raw_buffer.cpp
-
-$(DIRNAME)/boost_regex/regex_traits_defaults.o: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/regex_traits_defaults.o $(C1) $(CXXFLAGS) ../src/regex_traits_defaults.cpp
-
-$(DIRNAME)/boost_regex/static_mutex.o: ../src/static_mutex.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/static_mutex.o $(C1) $(CXXFLAGS) ../src/static_mutex.cpp
-
-$(DIRNAME)/boost_regex/usinstances.o: ../src/usinstances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/usinstances.o $(C1) $(CXXFLAGS) ../src/usinstances.cpp
-
-$(DIRNAME)/boost_regex/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/w32_regex_traits.o $(C1) $(CXXFLAGS) ../src/w32_regex_traits.cpp
-
-$(DIRNAME)/boost_regex/wc_regex_traits.o: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/wc_regex_traits.o $(C1) $(CXXFLAGS) ../src/wc_regex_traits.cpp
-
-$(DIRNAME)/boost_regex/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/wide_posix_api.o $(C1) $(CXXFLAGS) ../src/wide_posix_api.cpp
-
-$(DIRNAME)/boost_regex/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
-	$(CXX) $(INCLUDES) -o $(DIRNAME)/boost_regex/winstances.o $(C1) $(CXXFLAGS) ../src/winstances.cpp
-
-$(DIRNAME)/boost_regex : 
-	mkdir -p $(DIRNAME)/boost_regex
-
-boost_regex_clean :
-	rm -f $(DIRNAME)/boost_regex/*.o
-
-./$(DIRNAME)/libboost_regex.so : $(DIRNAME)/boost_regex/c_regex_traits.o $(DIRNAME)/boost_regex/cpp_regex_traits.o $(DIRNAME)/boost_regex/cregex.o $(DIRNAME)/boost_regex/fileiter.o $(DIRNAME)/boost_regex/icu.o $(DIRNAME)/boost_regex/instances.o $(DIRNAME)/boost_regex/posix_api.o $(DIRNAME)/boost_regex/regex.o $(DIRNAME)/boost_regex/regex_debug.o $(DIRNAME)/boost_regex/regex_raw_buffer.o $(DIRNAME)/boost_regex/regex_traits_defaults.o $(DIRNAME)/boost_regex/static_mutex.o $(DIRNAME)/boost_ [...]
-	$(LINKER) $(LDFLAGS) -o $(DIRNAME)/libboost_regex.so  $(DIRNAME)/boost_regex/c_regex_traits.o $(DIRNAME)/boost_regex/cpp_regex_traits.o $(DIRNAME)/boost_regex/cregex.o $(DIRNAME)/boost_regex/fileiter.o $(DIRNAME)/boost_regex/icu.o $(DIRNAME)/boost_regex/instances.o $(DIRNAME)/boost_regex/posix_api.o $(DIRNAME)/boost_regex/regex.o $(DIRNAME)/boost_regex/regex_debug.o $(DIRNAME)/boost_regex/regex_raw_buffer.o $(DIRNAME)/boost_regex/regex_traits_defaults.o $(DIRNAME)/boost_regex/static_mut [...]
-
diff --git a/SRC/Boost/libs/regex/build/generic_gen.sh b/SRC/Boost/libs/regex/build/generic_gen.sh
deleted file mode 100755
index d33fdc7..0000000
--- a/SRC/Boost/libs/regex/build/generic_gen.sh
+++ /dev/null
@@ -1,154 +0,0 @@
-#! /bin/bash
-
-# copyright John Maddock 2003
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-
-libname=""
-src=""
-header=""
-all_dep=""
-
-# current makefile:
-out=""
-# temporary file:
-tout=""
-# install target temp file:
-iout=""
-# debug flag:
-debug="no"
-# compile options:
-opts=""
-# main output sub-directory:
-subdir=""
-# vcl flag:
-use_vcl="yes"
-
-
-#######################################################################
-#
-# section for generic compiler
-#
-#######################################################################
-
-
-function gen_gen_lib()
-{
-	all_dep="$all_dep $subdir $subdir/$libname ./$subdir/lib$libname.so"
-#
-# set up section comments:
-	cat >> $tout << EOF
-########################################################
-#
-# section for lib$libname.so
-#
-########################################################
-EOF
-#
-#	process source files:
-	all_obj=""
-	for file in $src
-	do
-		obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1o/g'`
-		obj="$subdir/$libname/$obj"
-		all_obj="$all_obj $obj"
-		echo "$obj: $file \$(ALL_HEADER)" >> $tout
-		echo "	\$(CXX) \$(INCLUDES) -o $obj $opts \$(CXXFLAGS) $file" >> $tout
-		echo "" >> $tout
-	done
-#
-#	 now for the directories for this library:
-	echo "$subdir/$libname : " >> $tout
-	echo "	mkdir -p $subdir/$libname" >> $tout
-	echo "" >> $tout
-#
-#	 now for the clean options for this library:
-	all_clean="$all_clean $libname""_clean"
-	echo "$libname"_clean : >> $tout
-	echo "	rm -f $subdir/$libname/*.o" >> $tout
-	echo "" >> $tout
-#
-#	 now for the main target for this library:
-	echo ./$subdir/lib$libname.so : $all_obj >> $tout
-	echo "	\$(LINKER) \$(LDFLAGS) -o $subdir/lib$libname.so $all_obj \$(LIBS)" >> $tout
-	echo "" >> $tout
-}
-
-function gen_gen()
-{
-	out="generic.mak"
-	tout="temp"
-	iout="temp_install"
-	subdir="\$(DIRNAME)"
-	all_dep=""
-	all_clean=""
-	echo > $out
-	echo > $tout
-	echo > $iout
-
-	libname="boost_regex"
-	opts="\$(C1)"
-	gen_gen_lib
-	
-	cat > $out << EOF
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for generic compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make clean
-#   deletes temporary object files (but not archives).
-#
-
-#
-# the following environment variables are recognised:
-# CXXFLAGS= extra compiler options - note applies to all build variants
-# INCLUDES= additional include directories
-# LDFLAGS=  additional linker options
-# LIBS=     additional library files
-# CXX=      compiler to use
-# LINKER=   linker/archiver to use
-# name of subdirectory to use for object/archive files:
-DIRNAME=generic
-
-#
-# default compiler options for release build:
-#
-C1=-c -O2 -I../../../
-
-
-EOF
-	echo "" >> $out
-	echo "ALL_HEADER=$header" >> $out
-	echo "" >> $out
-	echo "all : $subdir $all_dep" >> $out
-	echo >> $out
-	echo "$subdir :" >> $out
-	echo "	mkdir -p $subdir" >> $out
-	echo >> $out
-	echo "clean : $all_clean" >> $out
-	echo >> $out
-	echo "install : all" >> $out
-	cat $iout >> $out
-	echo >> $out
-	cat $tout >> $out
-}
-
-. common.sh
-
-#
-# generate generic makefile:
-gen_gen
-
-#
-# remove tmep files;
-rm -f $tout $iout
-
-
-
diff --git a/SRC/Boost/libs/regex/build/has_icu_test.cpp b/SRC/Boost/libs/regex/build/has_icu_test.cpp
deleted file mode 100755
index cd9f405..0000000
--- a/SRC/Boost/libs/regex/build/has_icu_test.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- *
- * Copyright (c) 2010
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
-#include <unicode/uversion.h>
-#include <unicode/utypes.h>
-#include <unicode/uchar.h>
-#include <unicode/coll.h>
-
-#if defined(_MSC_VER) && !defined(_DLL)
-#error "Mixing ICU with a static runtime doesn't work"
-#endif
-
-int main()
-{
-   UErrorCode err = U_ZERO_ERROR;
-   UChar32 c = ::u_charFromName(U_UNICODE_CHAR_NAME, "GREEK SMALL LETTER ALPHA", &err);
-   return err;
-}
\ No newline at end of file
diff --git a/SRC/Boost/libs/regex/build/sun_gen.sh b/SRC/Boost/libs/regex/build/sun_gen.sh
deleted file mode 100755
index d1817f1..0000000
--- a/SRC/Boost/libs/regex/build/sun_gen.sh
+++ /dev/null
@@ -1,225 +0,0 @@
-#! /bin/bash
-
-# copyright John Maddock 2003
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-
-libname=""
-src=""
-header=""
-all_dep=""
-
-# current makefile:
-out=""
-# temporary file:
-tout=""
-# install target temp file:
-iout=""
-# debug flag:
-debug="no"
-# compile options:
-opts=""
-# main output sub-directory:
-subdir=""
-# vcl flag:
-use_vcl="yes"
-
-#######################################################################
-#
-# section for Sun Forte 6.1 (5.1 compiler)
-#
-#######################################################################
-
-function sun_gen_lib()
-{
-	all_dep="$all_dep $subdir/$libname $subdir/$libname.a"
-
-#
-# set up section comments:
-	cat >> $tout << EOF
-########################################################
-#
-# section for $libname.a
-#
-########################################################
-EOF
-#
-#	process source files:
-	all_obj=""
-	all_lib_obj=""
-	for file in $src
-	do
-		obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1o/g'`
-		obj="$subdir/$libname/$obj"
-		all_obj="$all_obj $obj"
-		all_lib_obj="$all_lib_obj $obj"
-		echo "$obj: $file \$(ALL_HEADER)" >> $tout
-		echo "	CC -c \$(INCLUDES) $opts \$(CXXFLAGS) -o $obj $file" >> $tout
-		echo "" >> $tout
-	done
-#
-#	 now for the directories for this library:
-	echo "$subdir/$libname : " >> $tout
-	echo "	mkdir -p $subdir/$libname" >> $tout
-	echo "" >> $tout
-#
-#	 now for the clean options for this library:
-	all_clean="$all_clean $libname""_clean"
-	echo "$libname"_clean : >> $tout
-	echo "	rm -f $subdir/$libname/"'*.o' >> $tout
-	echo "	rm -fr $subdir/$libname/\$(SUNWS_CACHE_NAME)" >> $tout
-	echo "" >> $tout
-#
-#	 now for the main target for this library:
-	echo $subdir/$libname.a : $all_obj >> $tout
-	echo "	CC -xar \$(CXXFLAGS) \$(LDFLAGS) -o $subdir/$libname.a $all_lib_obj" >> $tout
-	echo "" >> $tout
-}
-
-function sun_gen_dll()
-{
-	all_dep="$all_dep $subdir/shared_$libname $subdir/$libname.so"
-#
-# set up section comments:
-	cat >> $tout << EOF
-########################################################
-#
-# section for $libname.so
-#
-########################################################
-EOF
-#
-#	process source files:
-	all_obj=""
-	for file in $src
-	do
-		obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1o/g'`
-		obj="$subdir/shared_$libname/$obj"
-		all_obj="$all_obj $obj"
-		echo "$obj: $file \$(ALL_HEADER)" >> $tout
-		echo "	CC -c \$(INCLUDES) $opts \$(CXXFLAGS) -o $obj $file" >> $tout
-		echo "" >> $tout
-	done
-#
-#	 now for the directories for this library:
-	echo "$subdir/shared_$libname :" >> $tout
-	echo "	mkdir -p $subdir/shared_$libname" >> $tout
-	echo "" >> $tout
-#
-#	 now for the clean options for this library:
-	all_clean="$all_clean $libname""_clean_shared"
-	echo "$libname"_clean_shared : >> $tout
-	echo "	rm -f $subdir/shared_$libname/"'*.o' >> $tout
-	echo "	rm -fr $subdir/shared_$libname/\$(SUNWS_CACHE_NAME)" >> $tout
-	echo "" >> $tout
-#
-#	 now for the main target for this library:
-	echo $subdir/$libname.so : $all_obj >> $tout
-	echo "	CC $opts -G -o $subdir/$libname.so \$(LDFLAGS) $all_obj \$(LIBS)" >> $tout
-	echo "" >> $tout
-}
-
-
-
-function sun_gen()
-{
-	tout="temp"
-	iout="temp_install"
-	all_dep="$subdir"
-	all_clean=""
-	echo > $out
-	echo > $tout
-	rm -f $iout
-
-	libname="libboost_regex\$(LIBSUFFIX)"
-	opts="-O2 -I../../../"
-	sun_gen_lib
-
-	libname="libboost_regex_mt\$(LIBSUFFIX)"
-	opts="-O2 -mt -I../../../"
-	sun_gen_lib
-	
-	libname="libboost_regex\$(LIBSUFFIX)"
-	opts="-KPIC -O2 -I../../../"
-	sun_gen_dll
-
-	libname="libboost_regex_mt\$(LIBSUFFIX)"
-	opts="-KPIC -O2 -mt -I../../../"
-	sun_gen_dll
-	
-	
-	cat > $out << EOF
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for Sun Forte 6.1
-#
-# usage:
-# make
-#   brings libraries up to date
-# make clean
-#   removes all temporary files.
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-LDFLAGS=
-#
-# add additional libraries to link to here:
-#
-LIBS=
-#
-# lib suffix string:
-#
-LIBSUFFIX=
-#
-# template cache path:
-#
-SUNWS_CACHE_NAME=SunWS_cache
-
-
-EOF
-	echo "" >> $out
-	echo "ALL_HEADER=$header" >> $out
-	echo "" >> $out
-	echo "all : $all_dep" >> $out
-	echo >> $out
-	echo "clean : $all_clean" >> $out
-	echo >> $out
-	echo "install : all" >> $out
-#	cat $iout >> $out
-	echo >> $out
-	echo $subdir : >> $out
-	echo "	mkdir -p $subdir" >> $out
-	echo "" >> $out
-
-	cat $tout >> $out
-}
-
-. common.sh
-
-#
-# generate Sun 6.1 makefile:
-out="sunpro.mak"
-subdir="sunpro"
-sun_gen
-
-
-#
-# remove tmep files;
-rm -f $tout $iout
-
-
-
-
diff --git a/SRC/Boost/libs/regex/build/sunpro.mak b/SRC/Boost/libs/regex/build/sunpro.mak
deleted file mode 100755
index 760d9fa..0000000
--- a/SRC/Boost/libs/regex/build/sunpro.mak
+++ /dev/null
@@ -1,316 +0,0 @@
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for Sun Forte 6.1
-#
-# usage:
-# make
-#   brings libraries up to date
-# make clean
-#   removes all temporary files.
-
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-LDFLAGS=
-#
-# add additional libraries to link to here:
-#
-LIBS=
-#
-# lib suffix string:
-#
-LIBSUFFIX=
-#
-# template cache path:
-#
-SUNWS_CACHE_NAME=SunWS_cache
-
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : sunpro sunpro/libboost_regex$(LIBSUFFIX) sunpro/libboost_regex$(LIBSUFFIX).a sunpro/libboost_regex_mt$(LIBSUFFIX) sunpro/libboost_regex_mt$(LIBSUFFIX).a sunpro/shared_libboost_regex$(LIBSUFFIX) sunpro/libboost_regex$(LIBSUFFIX).so sunpro/shared_libboost_regex_mt$(LIBSUFFIX) sunpro/libboost_regex_mt$(LIBSUFFIX).so
-
-clean :  libboost_regex$(LIBSUFFIX)_clean libboost_regex_mt$(LIBSUFFIX)_clean libboost_regex$(LIBSUFFIX)_clean_shared libboost_regex_mt$(LIBSUFFIX)_clean_shared
-
-install : all
-
-sunpro :
-	mkdir -p sunpro
-
-
-########################################################
-#
-# section for libboost_regex$(LIBSUFFIX).a
-#
-########################################################
-sunpro/libboost_regex$(LIBSUFFIX)/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/c_regex_traits.o ../src/c_regex_traits.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o ../src/cpp_regex_traits.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/cregex.o ../src/cregex.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/fileiter.o ../src/fileiter.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/icu.o: ../src/icu.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/icu.o ../src/icu.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/instances.o: ../src/instances.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/instances.o ../src/instances.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/posix_api.o ../src/posix_api.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/regex.o: ../src/regex.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/regex.o ../src/regex.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/regex_debug.o ../src/regex_debug.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/regex_raw_buffer.o: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/regex_raw_buffer.o ../src/regex_raw_buffer.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/regex_traits_defaults.o: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/regex_traits_defaults.o ../src/regex_traits_defaults.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/static_mutex.o: ../src/static_mutex.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/static_mutex.o ../src/static_mutex.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/usinstances.o: ../src/usinstances.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/usinstances.o ../src/usinstances.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/w32_regex_traits.o ../src/w32_regex_traits.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/wc_regex_traits.o: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/wc_regex_traits.o ../src/wc_regex_traits.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/wide_posix_api.o ../src/wide_posix_api.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX)/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX)/winstances.o ../src/winstances.cpp
-
-sunpro/libboost_regex$(LIBSUFFIX) : 
-	mkdir -p sunpro/libboost_regex$(LIBSUFFIX)
-
-libboost_regex$(LIBSUFFIX)_clean :
-	rm -f sunpro/libboost_regex$(LIBSUFFIX)/*.o
-	rm -fr sunpro/libboost_regex$(LIBSUFFIX)/$(SUNWS_CACHE_NAME)
-
-sunpro/libboost_regex$(LIBSUFFIX).a : sunpro/libboost_regex$(LIBSUFFIX)/c_regex_traits.o sunpro/libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o sunpro/libboost_regex$(LIBSUFFIX)/cregex.o sunpro/libboost_regex$(LIBSUFFIX)/fileiter.o sunpro/libboost_regex$(LIBSUFFIX)/icu.o sunpro/libboost_regex$(LIBSUFFIX)/instances.o sunpro/libboost_regex$(LIBSUFFIX)/posix_api.o sunpro/libboost_regex$(LIBSUFFIX)/regex.o sunpro/libboost_regex$(LIBSUFFIX)/regex_debug.o sunpro/libboost_regex$(LIBSUFFIX)/regex_ [...]
-	CC -xar $(CXXFLAGS) $(LDFLAGS) -o sunpro/libboost_regex$(LIBSUFFIX).a  sunpro/libboost_regex$(LIBSUFFIX)/c_regex_traits.o sunpro/libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o sunpro/libboost_regex$(LIBSUFFIX)/cregex.o sunpro/libboost_regex$(LIBSUFFIX)/fileiter.o sunpro/libboost_regex$(LIBSUFFIX)/icu.o sunpro/libboost_regex$(LIBSUFFIX)/instances.o sunpro/libboost_regex$(LIBSUFFIX)/posix_api.o sunpro/libboost_regex$(LIBSUFFIX)/regex.o sunpro/libboost_regex$(LIBSUFFIX)/regex_debug.o sunpro [...]
-
-########################################################
-#
-# section for libboost_regex_mt$(LIBSUFFIX).a
-#
-########################################################
-sunpro/libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o ../src/c_regex_traits.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o ../src/cpp_regex_traits.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/cregex.o ../src/cregex.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/fileiter.o ../src/fileiter.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/icu.o: ../src/icu.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/icu.o ../src/icu.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/instances.o: ../src/instances.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/instances.o ../src/instances.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/posix_api.o ../src/posix_api.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/regex.o: ../src/regex.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex.o ../src/regex.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_debug.o ../src/regex_debug.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_raw_buffer.o: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_raw_buffer.o ../src/regex_raw_buffer.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_traits_defaults.o: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_traits_defaults.o ../src/regex_traits_defaults.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/static_mutex.o: ../src/static_mutex.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/static_mutex.o ../src/static_mutex.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/usinstances.o: ../src/usinstances.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/usinstances.o ../src/usinstances.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/w32_regex_traits.o ../src/w32_regex_traits.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/wc_regex_traits.o: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/wc_regex_traits.o ../src/wc_regex_traits.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/wide_posix_api.o ../src/wide_posix_api.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX)/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX)/winstances.o ../src/winstances.cpp
-
-sunpro/libboost_regex_mt$(LIBSUFFIX) : 
-	mkdir -p sunpro/libboost_regex_mt$(LIBSUFFIX)
-
-libboost_regex_mt$(LIBSUFFIX)_clean :
-	rm -f sunpro/libboost_regex_mt$(LIBSUFFIX)/*.o
-	rm -fr sunpro/libboost_regex_mt$(LIBSUFFIX)/$(SUNWS_CACHE_NAME)
-
-sunpro/libboost_regex_mt$(LIBSUFFIX).a : sunpro/libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o sunpro/libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o sunpro/libboost_regex_mt$(LIBSUFFIX)/cregex.o sunpro/libboost_regex_mt$(LIBSUFFIX)/fileiter.o sunpro/libboost_regex_mt$(LIBSUFFIX)/icu.o sunpro/libboost_regex_mt$(LIBSUFFIX)/instances.o sunpro/libboost_regex_mt$(LIBSUFFIX)/posix_api.o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex.o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex_debug.o sunpro/lib [...]
-	CC -xar $(CXXFLAGS) $(LDFLAGS) -o sunpro/libboost_regex_mt$(LIBSUFFIX).a  sunpro/libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o sunpro/libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o sunpro/libboost_regex_mt$(LIBSUFFIX)/cregex.o sunpro/libboost_regex_mt$(LIBSUFFIX)/fileiter.o sunpro/libboost_regex_mt$(LIBSUFFIX)/icu.o sunpro/libboost_regex_mt$(LIBSUFFIX)/instances.o sunpro/libboost_regex_mt$(LIBSUFFIX)/posix_api.o sunpro/libboost_regex_mt$(LIBSUFFIX)/regex.o sunpro/libboost_regex_mt$(L [...]
-
-########################################################
-#
-# section for libboost_regex$(LIBSUFFIX).so
-#
-########################################################
-sunpro/shared_libboost_regex$(LIBSUFFIX)/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/c_regex_traits.o ../src/c_regex_traits.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o ../src/cpp_regex_traits.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/cregex.o ../src/cregex.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/fileiter.o ../src/fileiter.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/icu.o: ../src/icu.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/icu.o ../src/icu.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/instances.o: ../src/instances.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/instances.o ../src/instances.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/posix_api.o ../src/posix_api.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/regex.o: ../src/regex.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex.o ../src/regex.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_debug.o ../src/regex_debug.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_raw_buffer.o: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_raw_buffer.o ../src/regex_raw_buffer.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_traits_defaults.o: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex_traits_defaults.o ../src/regex_traits_defaults.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/static_mutex.o: ../src/static_mutex.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/static_mutex.o ../src/static_mutex.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/usinstances.o: ../src/usinstances.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/usinstances.o ../src/usinstances.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/w32_regex_traits.o ../src/w32_regex_traits.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/wc_regex_traits.o: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/wc_regex_traits.o ../src/wc_regex_traits.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/wide_posix_api.o ../src/wide_posix_api.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX)/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex$(LIBSUFFIX)/winstances.o ../src/winstances.cpp
-
-sunpro/shared_libboost_regex$(LIBSUFFIX) :
-	mkdir -p sunpro/shared_libboost_regex$(LIBSUFFIX)
-
-libboost_regex$(LIBSUFFIX)_clean_shared :
-	rm -f sunpro/shared_libboost_regex$(LIBSUFFIX)/*.o
-	rm -fr sunpro/shared_libboost_regex$(LIBSUFFIX)/$(SUNWS_CACHE_NAME)
-
-sunpro/libboost_regex$(LIBSUFFIX).so : sunpro/shared_libboost_regex$(LIBSUFFIX)/c_regex_traits.o sunpro/shared_libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o sunpro/shared_libboost_regex$(LIBSUFFIX)/cregex.o sunpro/shared_libboost_regex$(LIBSUFFIX)/fileiter.o sunpro/shared_libboost_regex$(LIBSUFFIX)/icu.o sunpro/shared_libboost_regex$(LIBSUFFIX)/instances.o sunpro/shared_libboost_regex$(LIBSUFFIX)/posix_api.o sunpro/shared_libboost_regex$(LIBSUFFIX)/regex.o sunpro/shared_libboost_regex$(L [...]
-	CC -KPIC -O2 -I../../../ -G -o sunpro/libboost_regex$(LIBSUFFIX).so $(LDFLAGS)  sunpro/shared_libboost_regex$(LIBSUFFIX)/c_regex_traits.o sunpro/shared_libboost_regex$(LIBSUFFIX)/cpp_regex_traits.o sunpro/shared_libboost_regex$(LIBSUFFIX)/cregex.o sunpro/shared_libboost_regex$(LIBSUFFIX)/fileiter.o sunpro/shared_libboost_regex$(LIBSUFFIX)/icu.o sunpro/shared_libboost_regex$(LIBSUFFIX)/instances.o sunpro/shared_libboost_regex$(LIBSUFFIX)/posix_api.o sunpro/shared_libboost_regex$(LIBSUFFI [...]
-
-########################################################
-#
-# section for libboost_regex_mt$(LIBSUFFIX).so
-#
-########################################################
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o ../src/c_regex_traits.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o ../src/cpp_regex_traits.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cregex.o: ../src/cregex.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cregex.o ../src/cregex.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/fileiter.o: ../src/fileiter.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/fileiter.o ../src/fileiter.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/icu.o: ../src/icu.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/icu.o ../src/icu.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/instances.o: ../src/instances.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/instances.o ../src/instances.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/posix_api.o: ../src/posix_api.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/posix_api.o ../src/posix_api.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex.o: ../src/regex.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex.o ../src/regex.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_debug.o: ../src/regex_debug.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_debug.o ../src/regex_debug.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_raw_buffer.o: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_raw_buffer.o ../src/regex_raw_buffer.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_traits_defaults.o: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex_traits_defaults.o ../src/regex_traits_defaults.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/static_mutex.o: ../src/static_mutex.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/static_mutex.o ../src/static_mutex.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/usinstances.o: ../src/usinstances.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/usinstances.o ../src/usinstances.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/w32_regex_traits.o: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/w32_regex_traits.o ../src/w32_regex_traits.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/wc_regex_traits.o: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/wc_regex_traits.o ../src/wc_regex_traits.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/wide_posix_api.o: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/wide_posix_api.o ../src/wide_posix_api.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/winstances.o: ../src/winstances.cpp $(ALL_HEADER)
-	CC -c $(INCLUDES) -KPIC -O2 -mt -I../../../ $(CXXFLAGS) -o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/winstances.o ../src/winstances.cpp
-
-sunpro/shared_libboost_regex_mt$(LIBSUFFIX) :
-	mkdir -p sunpro/shared_libboost_regex_mt$(LIBSUFFIX)
-
-libboost_regex_mt$(LIBSUFFIX)_clean_shared :
-	rm -f sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/*.o
-	rm -fr sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/$(SUNWS_CACHE_NAME)
-
-sunpro/libboost_regex_mt$(LIBSUFFIX).so : sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cregex.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/fileiter.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/icu.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/instances.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/posix_api.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/regex.o sunp [...]
-	CC -KPIC -O2 -mt -I../../../ -G -o sunpro/libboost_regex_mt$(LIBSUFFIX).so $(LDFLAGS)  sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/c_regex_traits.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cpp_regex_traits.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/cregex.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/fileiter.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/icu.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/instances.o sunpro/shared_libboost_regex_mt$(LIBSUFFIX)/posix_api.o sunpro/sha [...]
-
diff --git a/SRC/Boost/libs/regex/build/vc10.mak b/SRC/Boost/libs/regex/build/vc10.mak
deleted file mode 100755
index 0859cc5..0000000
--- a/SRC/Boost/libs/regex/build/vc10.mak
+++ /dev/null
@@ -1,491 +0,0 @@
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for MSVC compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# path to ICU library installation goes here:
-#
-ICU_PATH=
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-MSVCDIR=$(VS100COMNTOOLS)..\..\VC
-!ENDIF
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "$(ICU_PATH)" == ""
-ICU_COMPILE_OPTS=
-ICU_LINK_OPTS=
-!MESSAGE Building Boost.Regex without ICU / Unicode support:
-!MESSAGE Hint: set ICU_PATH on the nmake command line to point 
-!MESSAGE to your ICU installation if you have one.
-!ELSE
-ICU_COMPILE_OPTS= -DBOOST_HAS_ICU=1 -I"$(ICU_PATH)\include"
-ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib
-!MESSAGE Building Boost.Regex with ICU in $(ICU_PATH)
-!ENDIF
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : main_dir libboost_regex-vc100-mt-s-1_47_dir ./vc100/libboost_regex-vc100-mt-s-1_47.lib libboost_regex-vc100-mt-sgd-1_47_dir ./vc100/libboost_regex-vc100-mt-sgd-1_47.lib boost_regex-vc100-mt-gd-1_47_dir ./vc100/boost_regex-vc100-mt-gd-1_47.lib boost_regex-vc100-mt-1_47_dir ./vc100/boost_regex-vc100-mt-1_47.lib libboost_regex-vc100-mt-1_47_dir ./vc100/libboost_regex-vc100-mt-1_47.lib libboost_regex-vc100-mt-gd-1_47_dir ./vc100/libboost_regex-vc100-mt-gd-1_47.lib
-
-clean :  libboost_regex-vc100-mt-s-1_47_clean libboost_regex-vc100-mt-sgd-1_47_clean boost_regex-vc100-mt-gd-1_47_clean boost_regex-vc100-mt-1_47_clean libboost_regex-vc100-mt-1_47_clean libboost_regex-vc100-mt-gd-1_47_clean
-
-install : all
-	copy vc100\libboost_regex-vc100-mt-s-1_47.lib "$(MSVCDIR)\lib"
-	copy vc100\libboost_regex-vc100-mt-sgd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc100\boost_regex-vc100-mt-gd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc100\boost_regex-vc100-mt-gd-1_47.dll "$(MSVCDIR)\bin"
-	copy vc100\boost_regex-vc100-mt-1_47.lib "$(MSVCDIR)\lib"
-	copy vc100\boost_regex-vc100-mt-1_47.dll "$(MSVCDIR)\bin"
-	copy vc100\libboost_regex-vc100-mt-1_47.lib "$(MSVCDIR)\lib"
-	copy vc100\libboost_regex-vc100-mt-gd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc100\libboost_regex-vc100-mt-gd-1_47.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc100\$(NULL)" mkdir vc100
-
-
-########################################################
-#
-# section for libboost_regex-vc100-mt-s-1_47.lib
-#
-########################################################
-vc100/libboost_regex-vc100-mt-s-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/c_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/cregex.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/fileiter.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/icu.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/instances.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/posix_api.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/regex.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/regex_debug.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/static_mutex.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/usinstances.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/wide_posix_api.cpp
-
-vc100/libboost_regex-vc100-mt-s-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-s-1_47/ -Fdvc100/libboost_regex-vc100-mt-s-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc100-mt-s-1_47_dir :
-	@if not exist "vc100\libboost_regex-vc100-mt-s-1_47\$(NULL)" mkdir vc100\libboost_regex-vc100-mt-s-1_47
-
-libboost_regex-vc100-mt-s-1_47_clean :
-	del vc100\libboost_regex-vc100-mt-s-1_47\*.obj
-	del vc100\libboost_regex-vc100-mt-s-1_47\*.idb
-	del vc100\libboost_regex-vc100-mt-s-1_47\*.exp
-	del vc100\libboost_regex-vc100-mt-s-1_47\*.pch
-
-./vc100/libboost_regex-vc100-mt-s-1_47.lib : vc100/libboost_regex-vc100-mt-s-1_47/c_regex_traits.obj vc100/libboost_regex-vc100-mt-s-1_47/cpp_regex_traits.obj vc100/libboost_regex-vc100-mt-s-1_47/cregex.obj vc100/libboost_regex-vc100-mt-s-1_47/fileiter.obj vc100/libboost_regex-vc100-mt-s-1_47/icu.obj vc100/libboost_regex-vc100-mt-s-1_47/instances.obj vc100/libboost_regex-vc100-mt-s-1_47/posix_api.obj vc100/libboost_regex-vc100-mt-s-1_47/regex.obj vc100/libboost_regex-vc100-mt-s-1_47/rege [...]
-	link -lib /nologo /out:vc100/libboost_regex-vc100-mt-s-1_47.lib $(XSFLAGS)  vc100/libboost_regex-vc100-mt-s-1_47/c_regex_traits.obj vc100/libboost_regex-vc100-mt-s-1_47/cpp_regex_traits.obj vc100/libboost_regex-vc100-mt-s-1_47/cregex.obj vc100/libboost_regex-vc100-mt-s-1_47/fileiter.obj vc100/libboost_regex-vc100-mt-s-1_47/icu.obj vc100/libboost_regex-vc100-mt-s-1_47/instances.obj vc100/libboost_regex-vc100-mt-s-1_47/posix_api.obj vc100/libboost_regex-vc100-mt-s-1_47/regex.obj vc100/lib [...]
-
-########################################################
-#
-# section for libboost_regex-vc100-mt-sgd-1_47.lib
-#
-########################################################
-vc100/libboost_regex-vc100-mt-sgd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/cregex.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/fileiter.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/icu.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/instances.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/posix_api.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/regex.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/regex_debug.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/static_mutex.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/usinstances.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc100/libboost_regex-vc100-mt-sgd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-sgd-1_47/ -Fdvc100/libboost_regex-vc100-mt-sgd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc100-mt-sgd-1_47_dir :
-	@if not exist "vc100\libboost_regex-vc100-mt-sgd-1_47\$(NULL)" mkdir vc100\libboost_regex-vc100-mt-sgd-1_47
-
-libboost_regex-vc100-mt-sgd-1_47_clean :
-	del vc100\libboost_regex-vc100-mt-sgd-1_47\*.obj
-	del vc100\libboost_regex-vc100-mt-sgd-1_47\*.idb
-	del vc100\libboost_regex-vc100-mt-sgd-1_47\*.exp
-	del vc100\libboost_regex-vc100-mt-sgd-1_47\*.pch
-
-./vc100/libboost_regex-vc100-mt-sgd-1_47.lib : vc100/libboost_regex-vc100-mt-sgd-1_47/c_regex_traits.obj vc100/libboost_regex-vc100-mt-sgd-1_47/cpp_regex_traits.obj vc100/libboost_regex-vc100-mt-sgd-1_47/cregex.obj vc100/libboost_regex-vc100-mt-sgd-1_47/fileiter.obj vc100/libboost_regex-vc100-mt-sgd-1_47/icu.obj vc100/libboost_regex-vc100-mt-sgd-1_47/instances.obj vc100/libboost_regex-vc100-mt-sgd-1_47/posix_api.obj vc100/libboost_regex-vc100-mt-sgd-1_47/regex.obj vc100/libboost_regex-vc [...]
-	link -lib /nologo /out:vc100/libboost_regex-vc100-mt-sgd-1_47.lib $(XSFLAGS)  vc100/libboost_regex-vc100-mt-sgd-1_47/c_regex_traits.obj vc100/libboost_regex-vc100-mt-sgd-1_47/cpp_regex_traits.obj vc100/libboost_regex-vc100-mt-sgd-1_47/cregex.obj vc100/libboost_regex-vc100-mt-sgd-1_47/fileiter.obj vc100/libboost_regex-vc100-mt-sgd-1_47/icu.obj vc100/libboost_regex-vc100-mt-sgd-1_47/instances.obj vc100/libboost_regex-vc100-mt-sgd-1_47/posix_api.obj vc100/libboost_regex-vc100-mt-sgd-1_47/r [...]
-
-########################################################
-#
-# section for boost_regex-vc100-mt-gd-1_47.lib
-#
-########################################################
-vc100/boost_regex-vc100-mt-gd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/cregex.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/fileiter.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/icu.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/instances.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/posix_api.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/regex.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/regex_debug.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/static_mutex.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/usinstances.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc100/boost_regex-vc100-mt-gd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-gd-1_47/ -Fdvc100/boost_regex-vc100-mt-gd-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc100-mt-gd-1_47_dir :
-	@if not exist "vc100\boost_regex-vc100-mt-gd-1_47\$(NULL)" mkdir vc100\boost_regex-vc100-mt-gd-1_47
-
-boost_regex-vc100-mt-gd-1_47_clean :
-	del vc100\boost_regex-vc100-mt-gd-1_47\*.obj
-	del vc100\boost_regex-vc100-mt-gd-1_47\*.idb
-	del vc100\boost_regex-vc100-mt-gd-1_47\*.exp
-	del vc100\boost_regex-vc100-mt-gd-1_47\*.pch
-
-./vc100/boost_regex-vc100-mt-gd-1_47.lib : vc100/boost_regex-vc100-mt-gd-1_47/c_regex_traits.obj vc100/boost_regex-vc100-mt-gd-1_47/cpp_regex_traits.obj vc100/boost_regex-vc100-mt-gd-1_47/cregex.obj vc100/boost_regex-vc100-mt-gd-1_47/fileiter.obj vc100/boost_regex-vc100-mt-gd-1_47/icu.obj vc100/boost_regex-vc100-mt-gd-1_47/instances.obj vc100/boost_regex-vc100-mt-gd-1_47/posix_api.obj vc100/boost_regex-vc100-mt-gd-1_47/regex.obj vc100/boost_regex-vc100-mt-gd-1_47/regex_debug.obj vc100/bo [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc100/boost_regex-vc100-mt-gd-1_47.pdb" /debug /machine:I386 /out:"vc100/boost_regex-vc100-mt-gd-1_47.dll" /implib:"vc100/boost_regex-vc100-mt-gd-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc100/boost_regex-vc100-mt-gd-1_47/c_regex_traits.obj vc100/boost_regex-vc100-mt-gd-1_47/cpp_regex_traits.obj vc100/b [...]
-
-########################################################
-#
-# section for boost_regex-vc100-mt-1_47.lib
-#
-########################################################
-vc100/boost_regex-vc100-mt-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/c_regex_traits.cpp
-
-vc100/boost_regex-vc100-mt-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc100/boost_regex-vc100-mt-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/cregex.cpp
-
-vc100/boost_regex-vc100-mt-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/fileiter.cpp
-
-vc100/boost_regex-vc100-mt-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/icu.cpp
-
-vc100/boost_regex-vc100-mt-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/instances.cpp
-
-vc100/boost_regex-vc100-mt-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/posix_api.cpp
-
-vc100/boost_regex-vc100-mt-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/regex.cpp
-
-vc100/boost_regex-vc100-mt-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/regex_debug.cpp
-
-vc100/boost_regex-vc100-mt-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc100/boost_regex-vc100-mt-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc100/boost_regex-vc100-mt-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/static_mutex.cpp
-
-vc100/boost_regex-vc100-mt-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/usinstances.cpp
-
-vc100/boost_regex-vc100-mt-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc100/boost_regex-vc100-mt-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc100/boost_regex-vc100-mt-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/wide_posix_api.cpp
-
-vc100/boost_regex-vc100-mt-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/boost_regex-vc100-mt-1_47/ -Fdvc100/boost_regex-vc100-mt-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc100-mt-1_47_dir :
-	@if not exist "vc100\boost_regex-vc100-mt-1_47\$(NULL)" mkdir vc100\boost_regex-vc100-mt-1_47
-
-boost_regex-vc100-mt-1_47_clean :
-	del vc100\boost_regex-vc100-mt-1_47\*.obj
-	del vc100\boost_regex-vc100-mt-1_47\*.idb
-	del vc100\boost_regex-vc100-mt-1_47\*.exp
-	del vc100\boost_regex-vc100-mt-1_47\*.pch
-
-./vc100/boost_regex-vc100-mt-1_47.lib : vc100/boost_regex-vc100-mt-1_47/c_regex_traits.obj vc100/boost_regex-vc100-mt-1_47/cpp_regex_traits.obj vc100/boost_regex-vc100-mt-1_47/cregex.obj vc100/boost_regex-vc100-mt-1_47/fileiter.obj vc100/boost_regex-vc100-mt-1_47/icu.obj vc100/boost_regex-vc100-mt-1_47/instances.obj vc100/boost_regex-vc100-mt-1_47/posix_api.obj vc100/boost_regex-vc100-mt-1_47/regex.obj vc100/boost_regex-vc100-mt-1_47/regex_debug.obj vc100/boost_regex-vc100-mt-1_47/regex_ [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc100/boost_regex-vc100-mt-1_47.pdb" /debug /machine:I386 /out:"vc100/boost_regex-vc100-mt-1_47.dll" /implib:"vc100/boost_regex-vc100-mt-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc100/boost_regex-vc100-mt-1_47/c_regex_traits.obj vc100/boost_regex-vc100-mt-1_47/cpp_regex_traits.obj vc100/boost_regex-vc10 [...]
-
-########################################################
-#
-# section for libboost_regex-vc100-mt-1_47.lib
-#
-########################################################
-vc100/libboost_regex-vc100-mt-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/c_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/cregex.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/fileiter.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/icu.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/instances.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/posix_api.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/regex.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/regex_debug.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/static_mutex.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/usinstances.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/wide_posix_api.cpp
-
-vc100/libboost_regex-vc100-mt-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-1_47/ -Fdvc100/libboost_regex-vc100-mt-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc100-mt-1_47_dir :
-	@if not exist "vc100\libboost_regex-vc100-mt-1_47\$(NULL)" mkdir vc100\libboost_regex-vc100-mt-1_47
-
-libboost_regex-vc100-mt-1_47_clean :
-	del vc100\libboost_regex-vc100-mt-1_47\*.obj
-	del vc100\libboost_regex-vc100-mt-1_47\*.idb
-	del vc100\libboost_regex-vc100-mt-1_47\*.exp
-	del vc100\libboost_regex-vc100-mt-1_47\*.pch
-
-./vc100/libboost_regex-vc100-mt-1_47.lib : vc100/libboost_regex-vc100-mt-1_47/c_regex_traits.obj vc100/libboost_regex-vc100-mt-1_47/cpp_regex_traits.obj vc100/libboost_regex-vc100-mt-1_47/cregex.obj vc100/libboost_regex-vc100-mt-1_47/fileiter.obj vc100/libboost_regex-vc100-mt-1_47/icu.obj vc100/libboost_regex-vc100-mt-1_47/instances.obj vc100/libboost_regex-vc100-mt-1_47/posix_api.obj vc100/libboost_regex-vc100-mt-1_47/regex.obj vc100/libboost_regex-vc100-mt-1_47/regex_debug.obj vc100/li [...]
-	link -lib /nologo /out:vc100/libboost_regex-vc100-mt-1_47.lib $(XSFLAGS)  vc100/libboost_regex-vc100-mt-1_47/c_regex_traits.obj vc100/libboost_regex-vc100-mt-1_47/cpp_regex_traits.obj vc100/libboost_regex-vc100-mt-1_47/cregex.obj vc100/libboost_regex-vc100-mt-1_47/fileiter.obj vc100/libboost_regex-vc100-mt-1_47/icu.obj vc100/libboost_regex-vc100-mt-1_47/instances.obj vc100/libboost_regex-vc100-mt-1_47/posix_api.obj vc100/libboost_regex-vc100-mt-1_47/regex.obj vc100/libboost_regex-vc100- [...]
-
-########################################################
-#
-# section for libboost_regex-vc100-mt-gd-1_47.lib
-#
-########################################################
-vc100/libboost_regex-vc100-mt-gd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/cregex.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/fileiter.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/icu.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/instances.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/posix_api.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/regex.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/regex_debug.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/static_mutex.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/usinstances.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc100/libboost_regex-vc100-mt-gd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc100/libboost_regex-vc100-mt-gd-1_47/ -Fdvc100/libboost_regex-vc100-mt-gd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc100-mt-gd-1_47_dir :
-	@if not exist "vc100\libboost_regex-vc100-mt-gd-1_47\$(NULL)" mkdir vc100\libboost_regex-vc100-mt-gd-1_47
-
-libboost_regex-vc100-mt-gd-1_47_clean :
-	del vc100\libboost_regex-vc100-mt-gd-1_47\*.obj
-	del vc100\libboost_regex-vc100-mt-gd-1_47\*.idb
-	del vc100\libboost_regex-vc100-mt-gd-1_47\*.exp
-	del vc100\libboost_regex-vc100-mt-gd-1_47\*.pch
-
-./vc100/libboost_regex-vc100-mt-gd-1_47.lib : vc100/libboost_regex-vc100-mt-gd-1_47/c_regex_traits.obj vc100/libboost_regex-vc100-mt-gd-1_47/cpp_regex_traits.obj vc100/libboost_regex-vc100-mt-gd-1_47/cregex.obj vc100/libboost_regex-vc100-mt-gd-1_47/fileiter.obj vc100/libboost_regex-vc100-mt-gd-1_47/icu.obj vc100/libboost_regex-vc100-mt-gd-1_47/instances.obj vc100/libboost_regex-vc100-mt-gd-1_47/posix_api.obj vc100/libboost_regex-vc100-mt-gd-1_47/regex.obj vc100/libboost_regex-vc100-mt-gd [...]
-	link -lib /nologo /out:vc100/libboost_regex-vc100-mt-gd-1_47.lib $(XSFLAGS)  vc100/libboost_regex-vc100-mt-gd-1_47/c_regex_traits.obj vc100/libboost_regex-vc100-mt-gd-1_47/cpp_regex_traits.obj vc100/libboost_regex-vc100-mt-gd-1_47/cregex.obj vc100/libboost_regex-vc100-mt-gd-1_47/fileiter.obj vc100/libboost_regex-vc100-mt-gd-1_47/icu.obj vc100/libboost_regex-vc100-mt-gd-1_47/instances.obj vc100/libboost_regex-vc100-mt-gd-1_47/posix_api.obj vc100/libboost_regex-vc100-mt-gd-1_47/regex.obj  [...]
-
diff --git a/SRC/Boost/libs/regex/build/vc6-stlport.mak b/SRC/Boost/libs/regex/build/vc6-stlport.mak
deleted file mode 100755
index 76050ae..0000000
--- a/SRC/Boost/libs/regex/build/vc6-stlport.mak
+++ /dev/null
@@ -1,496 +0,0 @@
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for VC6+STLPort
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# ICU setup:
-#
-ICU_PATH=
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "$(STLPORT_PATH)" == ""
-!ERROR Variable STLPORT_PATH not set.
-!ENDIF
-
-!IF "$(ICU_PATH)" == ""
-ICU_COMPILE_OPTS=
-ICU_LINK_OPTS=
-!MESSAGE Building Boost.Regex without ICU / Unicode support:
-!MESSAGE Hint: set ICU_PATH on the nmake command line to point 
-!MESSAGE to your ICU installation if you have one.
-!ELSE
-ICU_COMPILE_OPTS= -DBOOST_HAS_ICU=1 -I"$(ICU_PATH)\include"
-ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib
-!MESSAGE Building Boost.Regex with ICU in $(ICU_PATH)
-!ENDIF
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : main_dir libboost_regex-vc6-mt-sp-1_47_dir ./vc6-stlport/libboost_regex-vc6-mt-sp-1_47.lib boost_regex-vc6-mt-p-1_47_dir ./vc6-stlport/boost_regex-vc6-mt-p-1_47.lib libboost_regex-vc6-mt-p-1_47_dir ./vc6-stlport/libboost_regex-vc6-mt-p-1_47.lib boost_regex-vc6-mt-gdp-1_47_dir ./vc6-stlport/boost_regex-vc6-mt-gdp-1_47.lib libboost_regex-vc6-mt-sgdp-1_47_dir ./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.lib libboost_regex-vc6-mt-gdp-1_47_dir ./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47.lib
-
-clean :  libboost_regex-vc6-mt-sp-1_47_clean boost_regex-vc6-mt-p-1_47_clean libboost_regex-vc6-mt-p-1_47_clean boost_regex-vc6-mt-gdp-1_47_clean libboost_regex-vc6-mt-sgdp-1_47_clean libboost_regex-vc6-mt-gdp-1_47_clean
-
-install : stlport_check all
-	copy vc6-stlport\libboost_regex-vc6-mt-sp-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\boost_regex-vc6-mt-p-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\boost_regex-vc6-mt-p-1_47.dll "$(MSVCDIR)\bin"
-	copy vc6-stlport\libboost_regex-vc6-mt-p-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\boost_regex-vc6-mt-gdp-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\boost_regex-vc6-mt-gdp-1_47.dll "$(MSVCDIR)\bin"
-	copy vc6-stlport\boost_regex-vc6-mt-gdp-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc6-stlport\libboost_regex-vc6-mt-sgdp-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\libboost_regex-vc6-mt-sgdp-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc6-stlport\libboost_regex-vc6-mt-gdp-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6-stlport\libboost_regex-vc6-mt-gdp-1_47.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc6-stlport\$(NULL)" mkdir vc6-stlport
-
-stlport_check : "$(STLPORT_PATH)\stlport\string"
-	echo
-
-
-########################################################
-#
-# section for libboost_regex-vc6-mt-sp-1_47.lib
-#
-########################################################
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/cregex.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/fileiter.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/icu.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/instances.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/posix_api.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/regex.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/regex_debug.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/static_mutex.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/usinstances.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sp-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sp-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc6-mt-sp-1_47_dir :
-	@if not exist "vc6-stlport\libboost_regex-vc6-mt-sp-1_47\$(NULL)" mkdir vc6-stlport\libboost_regex-vc6-mt-sp-1_47
-
-libboost_regex-vc6-mt-sp-1_47_clean :
-	del vc6-stlport\libboost_regex-vc6-mt-sp-1_47\*.obj
-	del vc6-stlport\libboost_regex-vc6-mt-sp-1_47\*.idb
-	del vc6-stlport\libboost_regex-vc6-mt-sp-1_47\*.exp
-	del vc6-stlport\libboost_regex-vc6-mt-sp-1_47\*.pch
-
-./vc6-stlport/libboost_regex-vc6-mt-sp-1_47.lib : vc6-stlport/libboost_regex-vc6-mt-sp-1_47/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/cregex.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/icu.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/instances.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/posix_api.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/regex. [...]
-	link -lib /nologo /out:vc6-stlport/libboost_regex-vc6-mt-sp-1_47.lib $(XSFLAGS)  vc6-stlport/libboost_regex-vc6-mt-sp-1_47/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/cregex.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/icu.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/instances.obj vc6-stlport/libboost_regex-vc6-mt-sp-1_47/posix_api.obj vc6-stlport/libb [...]
-
-########################################################
-#
-# section for boost_regex-vc6-mt-p-1_47.lib
-#
-########################################################
-vc6-stlport/boost_regex-vc6-mt-p-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/cregex.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/fileiter.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/icu.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/instances.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/posix_api.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/regex.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/regex_debug.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/static_mutex.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/usinstances.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6-stlport/boost_regex-vc6-mt-p-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-p-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc6-mt-p-1_47_dir :
-	@if not exist "vc6-stlport\boost_regex-vc6-mt-p-1_47\$(NULL)" mkdir vc6-stlport\boost_regex-vc6-mt-p-1_47
-
-boost_regex-vc6-mt-p-1_47_clean :
-	del vc6-stlport\boost_regex-vc6-mt-p-1_47\*.obj
-	del vc6-stlport\boost_regex-vc6-mt-p-1_47\*.idb
-	del vc6-stlport\boost_regex-vc6-mt-p-1_47\*.exp
-	del vc6-stlport\boost_regex-vc6-mt-p-1_47\*.pch
-
-./vc6-stlport/boost_regex-vc6-mt-p-1_47.lib : vc6-stlport/boost_regex-vc6-mt-p-1_47/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_47/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_47/cregex.obj vc6-stlport/boost_regex-vc6-mt-p-1_47/fileiter.obj vc6-stlport/boost_regex-vc6-mt-p-1_47/icu.obj vc6-stlport/boost_regex-vc6-mt-p-1_47/instances.obj vc6-stlport/boost_regex-vc6-mt-p-1_47/posix_api.obj vc6-stlport/boost_regex-vc6-mt-p-1_47/regex.obj vc6-stlport/boost_regex-vc6-mt-p [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/boost_regex-vc6-mt-p-1_47.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex-vc6-mt-p-1_47.dll" /implib:"vc6-stlport/boost_regex-vc6-mt-p-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc6-stlport/boost_regex-vc6-mt-p-1_47/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-p-1_47/cpp_regex_tra [...]
-
-########################################################
-#
-# section for libboost_regex-vc6-mt-p-1_47.lib
-#
-########################################################
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/cregex.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/fileiter.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/icu.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/instances.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/posix_api.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/regex.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/regex_debug.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/static_mutex.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/usinstances.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-p-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-p-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-p-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc6-mt-p-1_47_dir :
-	@if not exist "vc6-stlport\libboost_regex-vc6-mt-p-1_47\$(NULL)" mkdir vc6-stlport\libboost_regex-vc6-mt-p-1_47
-
-libboost_regex-vc6-mt-p-1_47_clean :
-	del vc6-stlport\libboost_regex-vc6-mt-p-1_47\*.obj
-	del vc6-stlport\libboost_regex-vc6-mt-p-1_47\*.idb
-	del vc6-stlport\libboost_regex-vc6-mt-p-1_47\*.exp
-	del vc6-stlport\libboost_regex-vc6-mt-p-1_47\*.pch
-
-./vc6-stlport/libboost_regex-vc6-mt-p-1_47.lib : vc6-stlport/libboost_regex-vc6-mt-p-1_47/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/cregex.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/icu.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/instances.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/posix_api.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/regex.obj vc6-s [...]
-	link -lib /nologo /out:vc6-stlport/libboost_regex-vc6-mt-p-1_47.lib $(XSFLAGS)  vc6-stlport/libboost_regex-vc6-mt-p-1_47/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/cregex.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/icu.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/instances.obj vc6-stlport/libboost_regex-vc6-mt-p-1_47/posix_api.obj vc6-stlport/libboost_reg [...]
-
-########################################################
-#
-# section for boost_regex-vc6-mt-gdp-1_47.lib
-#
-########################################################
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/cregex.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/fileiter.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/icu.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/instances.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/posix_api.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/regex.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/regex_debug.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/static_mutex.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/usinstances.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6-stlport/boost_regex-vc6-mt-gdp-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/boost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc6-mt-gdp-1_47_dir :
-	@if not exist "vc6-stlport\boost_regex-vc6-mt-gdp-1_47\$(NULL)" mkdir vc6-stlport\boost_regex-vc6-mt-gdp-1_47
-
-boost_regex-vc6-mt-gdp-1_47_clean :
-	del vc6-stlport\boost_regex-vc6-mt-gdp-1_47\*.obj
-	del vc6-stlport\boost_regex-vc6-mt-gdp-1_47\*.idb
-	del vc6-stlport\boost_regex-vc6-mt-gdp-1_47\*.exp
-	del vc6-stlport\boost_regex-vc6-mt-gdp-1_47\*.pch
-
-./vc6-stlport/boost_regex-vc6-mt-gdp-1_47.lib : vc6-stlport/boost_regex-vc6-mt-gdp-1_47/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_47/cpp_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_47/cregex.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_47/fileiter.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_47/icu.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_47/instances.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_47/posix_api.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_47/regex.obj vc6-stlport/bo [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/boost_regex-vc6-mt-gdp-1_47.pdb" /debug /machine:I386 /out:"vc6-stlport/boost_regex-vc6-mt-gdp-1_47.dll" /implib:"vc6-stlport/boost_regex-vc6-mt-gdp-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc6-stlport/boost_regex-vc6-mt-gdp-1_47/c_regex_traits.obj vc6-stlport/boost_regex-vc6-mt-gdp-1_47/cpp [...]
-
-########################################################
-#
-# section for libboost_regex-vc6-mt-sgdp-1_47.lib
-#
-########################################################
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/cregex.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/fileiter.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/icu.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/instances.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/posix_api.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/regex.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/regex_debug.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/static_mutex.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/usinstances.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc6-mt-sgdp-1_47_dir :
-	@if not exist "vc6-stlport\libboost_regex-vc6-mt-sgdp-1_47\$(NULL)" mkdir vc6-stlport\libboost_regex-vc6-mt-sgdp-1_47
-
-libboost_regex-vc6-mt-sgdp-1_47_clean :
-	del vc6-stlport\libboost_regex-vc6-mt-sgdp-1_47\*.obj
-	del vc6-stlport\libboost_regex-vc6-mt-sgdp-1_47\*.idb
-	del vc6-stlport\libboost_regex-vc6-mt-sgdp-1_47\*.exp
-	del vc6-stlport\libboost_regex-vc6-mt-sgdp-1_47\*.pch
-
-./vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.lib : vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/cregex.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/icu.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/instances.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/posix_api.obj vc6-stlport/libboost_regex-vc6-m [...]
-	link -lib /nologo /out:vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47.lib $(XSFLAGS)  vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/cregex.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/icu.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/instances.obj vc6-stlport/libboost_regex-vc6-mt-sgdp-1_47/posix_api.obj  [...]
-
-########################################################
-#
-# section for libboost_regex-vc6-mt-gdp-1_47.lib
-#
-########################################################
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/cregex.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/fileiter.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/icu.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/instances.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/posix_api.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/regex.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/regex_debug.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/static_mutex.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/usinstances.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/ -Fdvc6-stlport/libboost_regex-vc6-mt-gdp-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc6-mt-gdp-1_47_dir :
-	@if not exist "vc6-stlport\libboost_regex-vc6-mt-gdp-1_47\$(NULL)" mkdir vc6-stlport\libboost_regex-vc6-mt-gdp-1_47
-
-libboost_regex-vc6-mt-gdp-1_47_clean :
-	del vc6-stlport\libboost_regex-vc6-mt-gdp-1_47\*.obj
-	del vc6-stlport\libboost_regex-vc6-mt-gdp-1_47\*.idb
-	del vc6-stlport\libboost_regex-vc6-mt-gdp-1_47\*.exp
-	del vc6-stlport\libboost_regex-vc6-mt-gdp-1_47\*.pch
-
-./vc6-stlport/libboost_regex-vc6-mt-gdp-1_47.lib : vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/cregex.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/icu.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/instances.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/posix_api.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_ [...]
-	link -lib /nologo /out:vc6-stlport/libboost_regex-vc6-mt-gdp-1_47.lib $(XSFLAGS)  vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/c_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/cpp_regex_traits.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/cregex.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/fileiter.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/icu.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/instances.obj vc6-stlport/libboost_regex-vc6-mt-gdp-1_47/posix_api.obj vc6-stlp [...]
-
diff --git a/SRC/Boost/libs/regex/build/vc6.mak b/SRC/Boost/libs/regex/build/vc6.mak
deleted file mode 100755
index 2809821..0000000
--- a/SRC/Boost/libs/regex/build/vc6.mak
+++ /dev/null
@@ -1,632 +0,0 @@
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for MSVC compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# path to ICU library installation goes here:
-#
-ICU_PATH=
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-
-!ENDIF
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "$(ICU_PATH)" == ""
-ICU_COMPILE_OPTS=
-ICU_LINK_OPTS=
-!MESSAGE Building Boost.Regex without ICU / Unicode support:
-!MESSAGE Hint: set ICU_PATH on the nmake command line to point 
-!MESSAGE to your ICU installation if you have one.
-!ELSE
-ICU_COMPILE_OPTS= -DBOOST_HAS_ICU=1 -I"$(ICU_PATH)\include"
-ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib
-!MESSAGE Building Boost.Regex with ICU in $(ICU_PATH)
-!ENDIF
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : main_dir libboost_regex-vc6-s-1_47_dir ./vc6/libboost_regex-vc6-s-1_47.lib libboost_regex-vc6-mt-s-1_47_dir ./vc6/libboost_regex-vc6-mt-s-1_47.lib libboost_regex-vc6-sgd-1_47_dir ./vc6/libboost_regex-vc6-sgd-1_47.lib libboost_regex-vc6-mt-sgd-1_47_dir ./vc6/libboost_regex-vc6-mt-sgd-1_47.lib boost_regex-vc6-mt-gd-1_47_dir ./vc6/boost_regex-vc6-mt-gd-1_47.lib boost_regex-vc6-mt-1_47_dir ./vc6/boost_regex-vc6-mt-1_47.lib libboost_regex-vc6-mt-1_47_dir ./vc6/libboost_regex-vc6-mt-1_47 [...]
-
-clean :  libboost_regex-vc6-s-1_47_clean libboost_regex-vc6-mt-s-1_47_clean libboost_regex-vc6-sgd-1_47_clean libboost_regex-vc6-mt-sgd-1_47_clean boost_regex-vc6-mt-gd-1_47_clean boost_regex-vc6-mt-1_47_clean libboost_regex-vc6-mt-1_47_clean libboost_regex-vc6-mt-gd-1_47_clean
-
-install : all
-	copy vc6\libboost_regex-vc6-s-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6\libboost_regex-vc6-mt-s-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6\libboost_regex-vc6-sgd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6\libboost_regex-vc6-sgd-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc6\libboost_regex-vc6-mt-sgd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6\libboost_regex-vc6-mt-sgd-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc6\boost_regex-vc6-mt-gd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6\boost_regex-vc6-mt-gd-1_47.dll "$(MSVCDIR)\bin"
-	copy vc6\boost_regex-vc6-mt-gd-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc6\boost_regex-vc6-mt-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6\boost_regex-vc6-mt-1_47.dll "$(MSVCDIR)\bin"
-	copy vc6\libboost_regex-vc6-mt-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6\libboost_regex-vc6-mt-gd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc6\libboost_regex-vc6-mt-gd-1_47.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc6\$(NULL)" mkdir vc6
-
-
-########################################################
-#
-# section for libboost_regex-vc6-s-1_47.lib
-#
-########################################################
-vc6/libboost_regex-vc6-s-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6/libboost_regex-vc6-s-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6/libboost_regex-vc6-s-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/cregex.cpp
-
-vc6/libboost_regex-vc6-s-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/fileiter.cpp
-
-vc6/libboost_regex-vc6-s-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/icu.cpp
-
-vc6/libboost_regex-vc6-s-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/instances.cpp
-
-vc6/libboost_regex-vc6-s-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/posix_api.cpp
-
-vc6/libboost_regex-vc6-s-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/regex.cpp
-
-vc6/libboost_regex-vc6-s-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/regex_debug.cpp
-
-vc6/libboost_regex-vc6-s-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6/libboost_regex-vc6-s-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6/libboost_regex-vc6-s-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/static_mutex.cpp
-
-vc6/libboost_regex-vc6-s-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/usinstances.cpp
-
-vc6/libboost_regex-vc6-s-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6/libboost_regex-vc6-s-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6/libboost_regex-vc6-s-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6/libboost_regex-vc6-s-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD   $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-s-1_47/ -Fdvc6/libboost_regex-vc6-s-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc6-s-1_47_dir :
-	@if not exist "vc6\libboost_regex-vc6-s-1_47\$(NULL)" mkdir vc6\libboost_regex-vc6-s-1_47
-
-libboost_regex-vc6-s-1_47_clean :
-	del vc6\libboost_regex-vc6-s-1_47\*.obj
-	del vc6\libboost_regex-vc6-s-1_47\*.idb
-	del vc6\libboost_regex-vc6-s-1_47\*.exp
-	del vc6\libboost_regex-vc6-s-1_47\*.pch
-
-./vc6/libboost_regex-vc6-s-1_47.lib : vc6/libboost_regex-vc6-s-1_47/c_regex_traits.obj vc6/libboost_regex-vc6-s-1_47/cpp_regex_traits.obj vc6/libboost_regex-vc6-s-1_47/cregex.obj vc6/libboost_regex-vc6-s-1_47/fileiter.obj vc6/libboost_regex-vc6-s-1_47/icu.obj vc6/libboost_regex-vc6-s-1_47/instances.obj vc6/libboost_regex-vc6-s-1_47/posix_api.obj vc6/libboost_regex-vc6-s-1_47/regex.obj vc6/libboost_regex-vc6-s-1_47/regex_debug.obj vc6/libboost_regex-vc6-s-1_47/regex_raw_buffer.obj vc6/lib [...]
-	link -lib /nologo /out:vc6/libboost_regex-vc6-s-1_47.lib $(XSFLAGS)  vc6/libboost_regex-vc6-s-1_47/c_regex_traits.obj vc6/libboost_regex-vc6-s-1_47/cpp_regex_traits.obj vc6/libboost_regex-vc6-s-1_47/cregex.obj vc6/libboost_regex-vc6-s-1_47/fileiter.obj vc6/libboost_regex-vc6-s-1_47/icu.obj vc6/libboost_regex-vc6-s-1_47/instances.obj vc6/libboost_regex-vc6-s-1_47/posix_api.obj vc6/libboost_regex-vc6-s-1_47/regex.obj vc6/libboost_regex-vc6-s-1_47/regex_debug.obj vc6/libboost_regex-vc6-s-1 [...]
-
-########################################################
-#
-# section for libboost_regex-vc6-mt-s-1_47.lib
-#
-########################################################
-vc6/libboost_regex-vc6-mt-s-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/cregex.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/fileiter.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/icu.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/instances.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/posix_api.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/regex.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/regex_debug.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/static_mutex.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/usinstances.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6/libboost_regex-vc6-mt-s-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-s-1_47/ -Fdvc6/libboost_regex-vc6-mt-s-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc6-mt-s-1_47_dir :
-	@if not exist "vc6\libboost_regex-vc6-mt-s-1_47\$(NULL)" mkdir vc6\libboost_regex-vc6-mt-s-1_47
-
-libboost_regex-vc6-mt-s-1_47_clean :
-	del vc6\libboost_regex-vc6-mt-s-1_47\*.obj
-	del vc6\libboost_regex-vc6-mt-s-1_47\*.idb
-	del vc6\libboost_regex-vc6-mt-s-1_47\*.exp
-	del vc6\libboost_regex-vc6-mt-s-1_47\*.pch
-
-./vc6/libboost_regex-vc6-mt-s-1_47.lib : vc6/libboost_regex-vc6-mt-s-1_47/c_regex_traits.obj vc6/libboost_regex-vc6-mt-s-1_47/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-s-1_47/cregex.obj vc6/libboost_regex-vc6-mt-s-1_47/fileiter.obj vc6/libboost_regex-vc6-mt-s-1_47/icu.obj vc6/libboost_regex-vc6-mt-s-1_47/instances.obj vc6/libboost_regex-vc6-mt-s-1_47/posix_api.obj vc6/libboost_regex-vc6-mt-s-1_47/regex.obj vc6/libboost_regex-vc6-mt-s-1_47/regex_debug.obj vc6/libboost_regex-vc6-mt-s- [...]
-	link -lib /nologo /out:vc6/libboost_regex-vc6-mt-s-1_47.lib $(XSFLAGS)  vc6/libboost_regex-vc6-mt-s-1_47/c_regex_traits.obj vc6/libboost_regex-vc6-mt-s-1_47/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-s-1_47/cregex.obj vc6/libboost_regex-vc6-mt-s-1_47/fileiter.obj vc6/libboost_regex-vc6-mt-s-1_47/icu.obj vc6/libboost_regex-vc6-mt-s-1_47/instances.obj vc6/libboost_regex-vc6-mt-s-1_47/posix_api.obj vc6/libboost_regex-vc6-mt-s-1_47/regex.obj vc6/libboost_regex-vc6-mt-s-1_47/regex_debug. [...]
-
-########################################################
-#
-# section for libboost_regex-vc6-sgd-1_47.lib
-#
-########################################################
-vc6/libboost_regex-vc6-sgd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/cregex.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/fileiter.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/icu.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/instances.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/posix_api.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/regex.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/regex_debug.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/static_mutex.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/usinstances.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6/libboost_regex-vc6-sgd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-sgd-1_47/ -Fdvc6/libboost_regex-vc6-sgd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc6-sgd-1_47_dir :
-	@if not exist "vc6\libboost_regex-vc6-sgd-1_47\$(NULL)" mkdir vc6\libboost_regex-vc6-sgd-1_47
-
-libboost_regex-vc6-sgd-1_47_clean :
-	del vc6\libboost_regex-vc6-sgd-1_47\*.obj
-	del vc6\libboost_regex-vc6-sgd-1_47\*.idb
-	del vc6\libboost_regex-vc6-sgd-1_47\*.exp
-	del vc6\libboost_regex-vc6-sgd-1_47\*.pch
-
-./vc6/libboost_regex-vc6-sgd-1_47.lib : vc6/libboost_regex-vc6-sgd-1_47/c_regex_traits.obj vc6/libboost_regex-vc6-sgd-1_47/cpp_regex_traits.obj vc6/libboost_regex-vc6-sgd-1_47/cregex.obj vc6/libboost_regex-vc6-sgd-1_47/fileiter.obj vc6/libboost_regex-vc6-sgd-1_47/icu.obj vc6/libboost_regex-vc6-sgd-1_47/instances.obj vc6/libboost_regex-vc6-sgd-1_47/posix_api.obj vc6/libboost_regex-vc6-sgd-1_47/regex.obj vc6/libboost_regex-vc6-sgd-1_47/regex_debug.obj vc6/libboost_regex-vc6-sgd-1_47/regex_ [...]
-	link -lib /nologo /out:vc6/libboost_regex-vc6-sgd-1_47.lib $(XSFLAGS)  vc6/libboost_regex-vc6-sgd-1_47/c_regex_traits.obj vc6/libboost_regex-vc6-sgd-1_47/cpp_regex_traits.obj vc6/libboost_regex-vc6-sgd-1_47/cregex.obj vc6/libboost_regex-vc6-sgd-1_47/fileiter.obj vc6/libboost_regex-vc6-sgd-1_47/icu.obj vc6/libboost_regex-vc6-sgd-1_47/instances.obj vc6/libboost_regex-vc6-sgd-1_47/posix_api.obj vc6/libboost_regex-vc6-sgd-1_47/regex.obj vc6/libboost_regex-vc6-sgd-1_47/regex_debug.obj vc6/li [...]
-
-########################################################
-#
-# section for libboost_regex-vc6-mt-sgd-1_47.lib
-#
-########################################################
-vc6/libboost_regex-vc6-mt-sgd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/cregex.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/fileiter.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/icu.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/instances.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/posix_api.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/regex.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/regex_debug.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/static_mutex.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/usinstances.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6/libboost_regex-vc6-mt-sgd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-sgd-1_47/ -Fdvc6/libboost_regex-vc6-mt-sgd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc6-mt-sgd-1_47_dir :
-	@if not exist "vc6\libboost_regex-vc6-mt-sgd-1_47\$(NULL)" mkdir vc6\libboost_regex-vc6-mt-sgd-1_47
-
-libboost_regex-vc6-mt-sgd-1_47_clean :
-	del vc6\libboost_regex-vc6-mt-sgd-1_47\*.obj
-	del vc6\libboost_regex-vc6-mt-sgd-1_47\*.idb
-	del vc6\libboost_regex-vc6-mt-sgd-1_47\*.exp
-	del vc6\libboost_regex-vc6-mt-sgd-1_47\*.pch
-
-./vc6/libboost_regex-vc6-mt-sgd-1_47.lib : vc6/libboost_regex-vc6-mt-sgd-1_47/c_regex_traits.obj vc6/libboost_regex-vc6-mt-sgd-1_47/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-sgd-1_47/cregex.obj vc6/libboost_regex-vc6-mt-sgd-1_47/fileiter.obj vc6/libboost_regex-vc6-mt-sgd-1_47/icu.obj vc6/libboost_regex-vc6-mt-sgd-1_47/instances.obj vc6/libboost_regex-vc6-mt-sgd-1_47/posix_api.obj vc6/libboost_regex-vc6-mt-sgd-1_47/regex.obj vc6/libboost_regex-vc6-mt-sgd-1_47/regex_debug.obj vc6/libb [...]
-	link -lib /nologo /out:vc6/libboost_regex-vc6-mt-sgd-1_47.lib $(XSFLAGS)  vc6/libboost_regex-vc6-mt-sgd-1_47/c_regex_traits.obj vc6/libboost_regex-vc6-mt-sgd-1_47/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-sgd-1_47/cregex.obj vc6/libboost_regex-vc6-mt-sgd-1_47/fileiter.obj vc6/libboost_regex-vc6-mt-sgd-1_47/icu.obj vc6/libboost_regex-vc6-mt-sgd-1_47/instances.obj vc6/libboost_regex-vc6-mt-sgd-1_47/posix_api.obj vc6/libboost_regex-vc6-mt-sgd-1_47/regex.obj vc6/libboost_regex-vc6-mt-s [...]
-
-########################################################
-#
-# section for boost_regex-vc6-mt-gd-1_47.lib
-#
-########################################################
-vc6/boost_regex-vc6-mt-gd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/cregex.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/fileiter.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/icu.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/instances.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/posix_api.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/regex.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/regex_debug.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/static_mutex.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/usinstances.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6/boost_regex-vc6-mt-gd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-gd-1_47/ -Fdvc6/boost_regex-vc6-mt-gd-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc6-mt-gd-1_47_dir :
-	@if not exist "vc6\boost_regex-vc6-mt-gd-1_47\$(NULL)" mkdir vc6\boost_regex-vc6-mt-gd-1_47
-
-boost_regex-vc6-mt-gd-1_47_clean :
-	del vc6\boost_regex-vc6-mt-gd-1_47\*.obj
-	del vc6\boost_regex-vc6-mt-gd-1_47\*.idb
-	del vc6\boost_regex-vc6-mt-gd-1_47\*.exp
-	del vc6\boost_regex-vc6-mt-gd-1_47\*.pch
-
-./vc6/boost_regex-vc6-mt-gd-1_47.lib : vc6/boost_regex-vc6-mt-gd-1_47/c_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_47/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_47/cregex.obj vc6/boost_regex-vc6-mt-gd-1_47/fileiter.obj vc6/boost_regex-vc6-mt-gd-1_47/icu.obj vc6/boost_regex-vc6-mt-gd-1_47/instances.obj vc6/boost_regex-vc6-mt-gd-1_47/posix_api.obj vc6/boost_regex-vc6-mt-gd-1_47/regex.obj vc6/boost_regex-vc6-mt-gd-1_47/regex_debug.obj vc6/boost_regex-vc6-mt-gd-1_47/regex_raw_buffer. [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc6/boost_regex-vc6-mt-gd-1_47.pdb" /debug /machine:I386 /out:"vc6/boost_regex-vc6-mt-gd-1_47.dll" /implib:"vc6/boost_regex-vc6-mt-gd-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc6/boost_regex-vc6-mt-gd-1_47/c_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1_47/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-gd-1 [...]
-
-########################################################
-#
-# section for boost_regex-vc6-mt-1_47.lib
-#
-########################################################
-vc6/boost_regex-vc6-mt-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6/boost_regex-vc6-mt-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6/boost_regex-vc6-mt-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/cregex.cpp
-
-vc6/boost_regex-vc6-mt-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/fileiter.cpp
-
-vc6/boost_regex-vc6-mt-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/icu.cpp
-
-vc6/boost_regex-vc6-mt-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/instances.cpp
-
-vc6/boost_regex-vc6-mt-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/posix_api.cpp
-
-vc6/boost_regex-vc6-mt-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/regex.cpp
-
-vc6/boost_regex-vc6-mt-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/regex_debug.cpp
-
-vc6/boost_regex-vc6-mt-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6/boost_regex-vc6-mt-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6/boost_regex-vc6-mt-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/static_mutex.cpp
-
-vc6/boost_regex-vc6-mt-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/usinstances.cpp
-
-vc6/boost_regex-vc6-mt-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6/boost_regex-vc6-mt-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6/boost_regex-vc6-mt-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6/boost_regex-vc6-mt-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/boost_regex-vc6-mt-1_47/ -Fdvc6/boost_regex-vc6-mt-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc6-mt-1_47_dir :
-	@if not exist "vc6\boost_regex-vc6-mt-1_47\$(NULL)" mkdir vc6\boost_regex-vc6-mt-1_47
-
-boost_regex-vc6-mt-1_47_clean :
-	del vc6\boost_regex-vc6-mt-1_47\*.obj
-	del vc6\boost_regex-vc6-mt-1_47\*.idb
-	del vc6\boost_regex-vc6-mt-1_47\*.exp
-	del vc6\boost_regex-vc6-mt-1_47\*.pch
-
-./vc6/boost_regex-vc6-mt-1_47.lib : vc6/boost_regex-vc6-mt-1_47/c_regex_traits.obj vc6/boost_regex-vc6-mt-1_47/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-1_47/cregex.obj vc6/boost_regex-vc6-mt-1_47/fileiter.obj vc6/boost_regex-vc6-mt-1_47/icu.obj vc6/boost_regex-vc6-mt-1_47/instances.obj vc6/boost_regex-vc6-mt-1_47/posix_api.obj vc6/boost_regex-vc6-mt-1_47/regex.obj vc6/boost_regex-vc6-mt-1_47/regex_debug.obj vc6/boost_regex-vc6-mt-1_47/regex_raw_buffer.obj vc6/boost_regex-vc6-mt-1_47/r [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc6/boost_regex-vc6-mt-1_47.pdb" /debug /machine:I386 /out:"vc6/boost_regex-vc6-mt-1_47.dll" /implib:"vc6/boost_regex-vc6-mt-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc6/boost_regex-vc6-mt-1_47/c_regex_traits.obj vc6/boost_regex-vc6-mt-1_47/cpp_regex_traits.obj vc6/boost_regex-vc6-mt-1_47/cregex.obj vc6 [...]
-
-########################################################
-#
-# section for libboost_regex-vc6-mt-1_47.lib
-#
-########################################################
-vc6/libboost_regex-vc6-mt-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/cregex.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/fileiter.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/icu.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/instances.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/posix_api.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/regex.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/regex_debug.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/static_mutex.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/usinstances.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6/libboost_regex-vc6-mt-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD  /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-1_47/ -Fdvc6/libboost_regex-vc6-mt-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc6-mt-1_47_dir :
-	@if not exist "vc6\libboost_regex-vc6-mt-1_47\$(NULL)" mkdir vc6\libboost_regex-vc6-mt-1_47
-
-libboost_regex-vc6-mt-1_47_clean :
-	del vc6\libboost_regex-vc6-mt-1_47\*.obj
-	del vc6\libboost_regex-vc6-mt-1_47\*.idb
-	del vc6\libboost_regex-vc6-mt-1_47\*.exp
-	del vc6\libboost_regex-vc6-mt-1_47\*.pch
-
-./vc6/libboost_regex-vc6-mt-1_47.lib : vc6/libboost_regex-vc6-mt-1_47/c_regex_traits.obj vc6/libboost_regex-vc6-mt-1_47/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-1_47/cregex.obj vc6/libboost_regex-vc6-mt-1_47/fileiter.obj vc6/libboost_regex-vc6-mt-1_47/icu.obj vc6/libboost_regex-vc6-mt-1_47/instances.obj vc6/libboost_regex-vc6-mt-1_47/posix_api.obj vc6/libboost_regex-vc6-mt-1_47/regex.obj vc6/libboost_regex-vc6-mt-1_47/regex_debug.obj vc6/libboost_regex-vc6-mt-1_47/regex_raw_buffer. [...]
-	link -lib /nologo /out:vc6/libboost_regex-vc6-mt-1_47.lib $(XSFLAGS)  vc6/libboost_regex-vc6-mt-1_47/c_regex_traits.obj vc6/libboost_regex-vc6-mt-1_47/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-1_47/cregex.obj vc6/libboost_regex-vc6-mt-1_47/fileiter.obj vc6/libboost_regex-vc6-mt-1_47/icu.obj vc6/libboost_regex-vc6-mt-1_47/instances.obj vc6/libboost_regex-vc6-mt-1_47/posix_api.obj vc6/libboost_regex-vc6-mt-1_47/regex.obj vc6/libboost_regex-vc6-mt-1_47/regex_debug.obj vc6/libboost_reg [...]
-
-########################################################
-#
-# section for libboost_regex-vc6-mt-gd-1_47.lib
-#
-########################################################
-vc6/libboost_regex-vc6-mt-gd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/cregex.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/fileiter.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/icu.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/instances.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/posix_api.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/regex.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/regex_debug.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/static_mutex.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/usinstances.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc6/libboost_regex-vc6-mt-gd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc6/libboost_regex-vc6-mt-gd-1_47/ -Fdvc6/libboost_regex-vc6-mt-gd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc6-mt-gd-1_47_dir :
-	@if not exist "vc6\libboost_regex-vc6-mt-gd-1_47\$(NULL)" mkdir vc6\libboost_regex-vc6-mt-gd-1_47
-
-libboost_regex-vc6-mt-gd-1_47_clean :
-	del vc6\libboost_regex-vc6-mt-gd-1_47\*.obj
-	del vc6\libboost_regex-vc6-mt-gd-1_47\*.idb
-	del vc6\libboost_regex-vc6-mt-gd-1_47\*.exp
-	del vc6\libboost_regex-vc6-mt-gd-1_47\*.pch
-
-./vc6/libboost_regex-vc6-mt-gd-1_47.lib : vc6/libboost_regex-vc6-mt-gd-1_47/c_regex_traits.obj vc6/libboost_regex-vc6-mt-gd-1_47/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-gd-1_47/cregex.obj vc6/libboost_regex-vc6-mt-gd-1_47/fileiter.obj vc6/libboost_regex-vc6-mt-gd-1_47/icu.obj vc6/libboost_regex-vc6-mt-gd-1_47/instances.obj vc6/libboost_regex-vc6-mt-gd-1_47/posix_api.obj vc6/libboost_regex-vc6-mt-gd-1_47/regex.obj vc6/libboost_regex-vc6-mt-gd-1_47/regex_debug.obj vc6/libboost_regex [...]
-	link -lib /nologo /out:vc6/libboost_regex-vc6-mt-gd-1_47.lib $(XSFLAGS)  vc6/libboost_regex-vc6-mt-gd-1_47/c_regex_traits.obj vc6/libboost_regex-vc6-mt-gd-1_47/cpp_regex_traits.obj vc6/libboost_regex-vc6-mt-gd-1_47/cregex.obj vc6/libboost_regex-vc6-mt-gd-1_47/fileiter.obj vc6/libboost_regex-vc6-mt-gd-1_47/icu.obj vc6/libboost_regex-vc6-mt-gd-1_47/instances.obj vc6/libboost_regex-vc6-mt-gd-1_47/posix_api.obj vc6/libboost_regex-vc6-mt-gd-1_47/regex.obj vc6/libboost_regex-vc6-mt-gd-1_47/re [...]
-
diff --git a/SRC/Boost/libs/regex/build/vc7-stlport.mak b/SRC/Boost/libs/regex/build/vc7-stlport.mak
deleted file mode 100755
index 3ed4a5e..0000000
--- a/SRC/Boost/libs/regex/build/vc7-stlport.mak
+++ /dev/null
@@ -1,496 +0,0 @@
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for VC6+STLPort
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# ICU setup:
-#
-ICU_PATH=
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "$(STLPORT_PATH)" == ""
-!ERROR Variable STLPORT_PATH not set.
-!ENDIF
-
-!IF "$(ICU_PATH)" == ""
-ICU_COMPILE_OPTS=
-ICU_LINK_OPTS=
-!MESSAGE Building Boost.Regex without ICU / Unicode support:
-!MESSAGE Hint: set ICU_PATH on the nmake command line to point 
-!MESSAGE to your ICU installation if you have one.
-!ELSE
-ICU_COMPILE_OPTS= -DBOOST_HAS_ICU=1 -I"$(ICU_PATH)\include"
-ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib
-!MESSAGE Building Boost.Regex with ICU in $(ICU_PATH)
-!ENDIF
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : main_dir libboost_regex-vc7-mt-sp-1_47_dir ./vc7-stlport/libboost_regex-vc7-mt-sp-1_47.lib boost_regex-vc7-mt-p-1_47_dir ./vc7-stlport/boost_regex-vc7-mt-p-1_47.lib libboost_regex-vc7-mt-p-1_47_dir ./vc7-stlport/libboost_regex-vc7-mt-p-1_47.lib boost_regex-vc7-mt-gdp-1_47_dir ./vc7-stlport/boost_regex-vc7-mt-gdp-1_47.lib libboost_regex-vc7-mt-sgdp-1_47_dir ./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.lib libboost_regex-vc7-mt-gdp-1_47_dir ./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47.lib
-
-clean :  libboost_regex-vc7-mt-sp-1_47_clean boost_regex-vc7-mt-p-1_47_clean libboost_regex-vc7-mt-p-1_47_clean boost_regex-vc7-mt-gdp-1_47_clean libboost_regex-vc7-mt-sgdp-1_47_clean libboost_regex-vc7-mt-gdp-1_47_clean
-
-install : stlport_check all
-	copy vc7-stlport\libboost_regex-vc7-mt-sp-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\boost_regex-vc7-mt-p-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\boost_regex-vc7-mt-p-1_47.dll "$(MSVCDIR)\bin"
-	copy vc7-stlport\libboost_regex-vc7-mt-p-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\boost_regex-vc7-mt-gdp-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\boost_regex-vc7-mt-gdp-1_47.dll "$(MSVCDIR)\bin"
-	copy vc7-stlport\boost_regex-vc7-mt-gdp-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc7-stlport\libboost_regex-vc7-mt-sgdp-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\libboost_regex-vc7-mt-sgdp-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc7-stlport\libboost_regex-vc7-mt-gdp-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7-stlport\libboost_regex-vc7-mt-gdp-1_47.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc7-stlport\$(NULL)" mkdir vc7-stlport
-
-stlport_check : "$(STLPORT_PATH)\stlport\string"
-	echo
-
-
-########################################################
-#
-# section for libboost_regex-vc7-mt-sp-1_47.lib
-#
-########################################################
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/cregex.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/fileiter.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/icu.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/instances.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/posix_api.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/regex.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/regex_debug.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/static_mutex.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/usinstances.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sp-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sp-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc7-mt-sp-1_47_dir :
-	@if not exist "vc7-stlport\libboost_regex-vc7-mt-sp-1_47\$(NULL)" mkdir vc7-stlport\libboost_regex-vc7-mt-sp-1_47
-
-libboost_regex-vc7-mt-sp-1_47_clean :
-	del vc7-stlport\libboost_regex-vc7-mt-sp-1_47\*.obj
-	del vc7-stlport\libboost_regex-vc7-mt-sp-1_47\*.idb
-	del vc7-stlport\libboost_regex-vc7-mt-sp-1_47\*.exp
-	del vc7-stlport\libboost_regex-vc7-mt-sp-1_47\*.pch
-
-./vc7-stlport/libboost_regex-vc7-mt-sp-1_47.lib : vc7-stlport/libboost_regex-vc7-mt-sp-1_47/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/cregex.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/icu.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/instances.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/posix_api.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/regex. [...]
-	link -lib /nologo /out:vc7-stlport/libboost_regex-vc7-mt-sp-1_47.lib $(XSFLAGS)  vc7-stlport/libboost_regex-vc7-mt-sp-1_47/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/cregex.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/icu.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/instances.obj vc7-stlport/libboost_regex-vc7-mt-sp-1_47/posix_api.obj vc7-stlport/libb [...]
-
-########################################################
-#
-# section for boost_regex-vc7-mt-p-1_47.lib
-#
-########################################################
-vc7-stlport/boost_regex-vc7-mt-p-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/cregex.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/fileiter.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/icu.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/instances.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/posix_api.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/regex.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/regex_debug.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/static_mutex.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/usinstances.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7-stlport/boost_regex-vc7-mt-p-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-p-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc7-mt-p-1_47_dir :
-	@if not exist "vc7-stlport\boost_regex-vc7-mt-p-1_47\$(NULL)" mkdir vc7-stlport\boost_regex-vc7-mt-p-1_47
-
-boost_regex-vc7-mt-p-1_47_clean :
-	del vc7-stlport\boost_regex-vc7-mt-p-1_47\*.obj
-	del vc7-stlport\boost_regex-vc7-mt-p-1_47\*.idb
-	del vc7-stlport\boost_regex-vc7-mt-p-1_47\*.exp
-	del vc7-stlport\boost_regex-vc7-mt-p-1_47\*.pch
-
-./vc7-stlport/boost_regex-vc7-mt-p-1_47.lib : vc7-stlport/boost_regex-vc7-mt-p-1_47/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_47/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_47/cregex.obj vc7-stlport/boost_regex-vc7-mt-p-1_47/fileiter.obj vc7-stlport/boost_regex-vc7-mt-p-1_47/icu.obj vc7-stlport/boost_regex-vc7-mt-p-1_47/instances.obj vc7-stlport/boost_regex-vc7-mt-p-1_47/posix_api.obj vc7-stlport/boost_regex-vc7-mt-p-1_47/regex.obj vc7-stlport/boost_regex-vc7-mt-p [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex-vc7-mt-p-1_47.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex-vc7-mt-p-1_47.dll" /implib:"vc7-stlport/boost_regex-vc7-mt-p-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc7-stlport/boost_regex-vc7-mt-p-1_47/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-p-1_47/cpp_regex_tra [...]
-
-########################################################
-#
-# section for libboost_regex-vc7-mt-p-1_47.lib
-#
-########################################################
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/cregex.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/fileiter.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/icu.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/instances.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/posix_api.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/regex.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/regex_debug.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/static_mutex.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/usinstances.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-p-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-p-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-p-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc7-mt-p-1_47_dir :
-	@if not exist "vc7-stlport\libboost_regex-vc7-mt-p-1_47\$(NULL)" mkdir vc7-stlport\libboost_regex-vc7-mt-p-1_47
-
-libboost_regex-vc7-mt-p-1_47_clean :
-	del vc7-stlport\libboost_regex-vc7-mt-p-1_47\*.obj
-	del vc7-stlport\libboost_regex-vc7-mt-p-1_47\*.idb
-	del vc7-stlport\libboost_regex-vc7-mt-p-1_47\*.exp
-	del vc7-stlport\libboost_regex-vc7-mt-p-1_47\*.pch
-
-./vc7-stlport/libboost_regex-vc7-mt-p-1_47.lib : vc7-stlport/libboost_regex-vc7-mt-p-1_47/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/cregex.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/icu.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/instances.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/posix_api.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/regex.obj vc7-s [...]
-	link -lib /nologo /out:vc7-stlport/libboost_regex-vc7-mt-p-1_47.lib $(XSFLAGS)  vc7-stlport/libboost_regex-vc7-mt-p-1_47/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/cregex.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/icu.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/instances.obj vc7-stlport/libboost_regex-vc7-mt-p-1_47/posix_api.obj vc7-stlport/libboost_reg [...]
-
-########################################################
-#
-# section for boost_regex-vc7-mt-gdp-1_47.lib
-#
-########################################################
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/cregex.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/fileiter.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/icu.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/instances.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/posix_api.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/regex.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/regex_debug.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/static_mutex.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/usinstances.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7-stlport/boost_regex-vc7-mt-gdp-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/boost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc7-mt-gdp-1_47_dir :
-	@if not exist "vc7-stlport\boost_regex-vc7-mt-gdp-1_47\$(NULL)" mkdir vc7-stlport\boost_regex-vc7-mt-gdp-1_47
-
-boost_regex-vc7-mt-gdp-1_47_clean :
-	del vc7-stlport\boost_regex-vc7-mt-gdp-1_47\*.obj
-	del vc7-stlport\boost_regex-vc7-mt-gdp-1_47\*.idb
-	del vc7-stlport\boost_regex-vc7-mt-gdp-1_47\*.exp
-	del vc7-stlport\boost_regex-vc7-mt-gdp-1_47\*.pch
-
-./vc7-stlport/boost_regex-vc7-mt-gdp-1_47.lib : vc7-stlport/boost_regex-vc7-mt-gdp-1_47/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_47/cpp_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_47/cregex.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_47/fileiter.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_47/icu.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_47/instances.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_47/posix_api.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_47/regex.obj vc7-stlport/bo [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex-vc7-mt-gdp-1_47.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex-vc7-mt-gdp-1_47.dll" /implib:"vc7-stlport/boost_regex-vc7-mt-gdp-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc7-stlport/boost_regex-vc7-mt-gdp-1_47/c_regex_traits.obj vc7-stlport/boost_regex-vc7-mt-gdp-1_47/cpp [...]
-
-########################################################
-#
-# section for libboost_regex-vc7-mt-sgdp-1_47.lib
-#
-########################################################
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/cregex.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/fileiter.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/icu.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/instances.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/posix_api.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/regex.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/regex_debug.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/static_mutex.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/usinstances.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc7-mt-sgdp-1_47_dir :
-	@if not exist "vc7-stlport\libboost_regex-vc7-mt-sgdp-1_47\$(NULL)" mkdir vc7-stlport\libboost_regex-vc7-mt-sgdp-1_47
-
-libboost_regex-vc7-mt-sgdp-1_47_clean :
-	del vc7-stlport\libboost_regex-vc7-mt-sgdp-1_47\*.obj
-	del vc7-stlport\libboost_regex-vc7-mt-sgdp-1_47\*.idb
-	del vc7-stlport\libboost_regex-vc7-mt-sgdp-1_47\*.exp
-	del vc7-stlport\libboost_regex-vc7-mt-sgdp-1_47\*.pch
-
-./vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.lib : vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/cregex.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/icu.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/instances.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/posix_api.obj vc7-stlport/libboost_regex-vc7-m [...]
-	link -lib /nologo /out:vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47.lib $(XSFLAGS)  vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/cregex.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/icu.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/instances.obj vc7-stlport/libboost_regex-vc7-mt-sgdp-1_47/posix_api.obj  [...]
-
-########################################################
-#
-# section for libboost_regex-vc7-mt-gdp-1_47.lib
-#
-########################################################
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/cregex.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/fileiter.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/icu.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/instances.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/posix_api.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/regex.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/regex_debug.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/static_mutex.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/usinstances.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/ -Fdvc7-stlport/libboost_regex-vc7-mt-gdp-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc7-mt-gdp-1_47_dir :
-	@if not exist "vc7-stlport\libboost_regex-vc7-mt-gdp-1_47\$(NULL)" mkdir vc7-stlport\libboost_regex-vc7-mt-gdp-1_47
-
-libboost_regex-vc7-mt-gdp-1_47_clean :
-	del vc7-stlport\libboost_regex-vc7-mt-gdp-1_47\*.obj
-	del vc7-stlport\libboost_regex-vc7-mt-gdp-1_47\*.idb
-	del vc7-stlport\libboost_regex-vc7-mt-gdp-1_47\*.exp
-	del vc7-stlport\libboost_regex-vc7-mt-gdp-1_47\*.pch
-
-./vc7-stlport/libboost_regex-vc7-mt-gdp-1_47.lib : vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/cregex.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/icu.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/instances.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/posix_api.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_ [...]
-	link -lib /nologo /out:vc7-stlport/libboost_regex-vc7-mt-gdp-1_47.lib $(XSFLAGS)  vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/c_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/cpp_regex_traits.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/cregex.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/fileiter.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/icu.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/instances.obj vc7-stlport/libboost_regex-vc7-mt-gdp-1_47/posix_api.obj vc7-stlp [...]
-
diff --git a/SRC/Boost/libs/regex/build/vc7.mak b/SRC/Boost/libs/regex/build/vc7.mak
deleted file mode 100755
index 2414133..0000000
--- a/SRC/Boost/libs/regex/build/vc7.mak
+++ /dev/null
@@ -1,632 +0,0 @@
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for MSVC compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# path to ICU library installation goes here:
-#
-ICU_PATH=
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-
-!ENDIF
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "$(ICU_PATH)" == ""
-ICU_COMPILE_OPTS=
-ICU_LINK_OPTS=
-!MESSAGE Building Boost.Regex without ICU / Unicode support:
-!MESSAGE Hint: set ICU_PATH on the nmake command line to point 
-!MESSAGE to your ICU installation if you have one.
-!ELSE
-ICU_COMPILE_OPTS= -DBOOST_HAS_ICU=1 -I"$(ICU_PATH)\include"
-ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib
-!MESSAGE Building Boost.Regex with ICU in $(ICU_PATH)
-!ENDIF
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : main_dir libboost_regex-vc7-s-1_47_dir ./vc7/libboost_regex-vc7-s-1_47.lib libboost_regex-vc7-mt-s-1_47_dir ./vc7/libboost_regex-vc7-mt-s-1_47.lib libboost_regex-vc7-sgd-1_47_dir ./vc7/libboost_regex-vc7-sgd-1_47.lib libboost_regex-vc7-mt-sgd-1_47_dir ./vc7/libboost_regex-vc7-mt-sgd-1_47.lib boost_regex-vc7-mt-gd-1_47_dir ./vc7/boost_regex-vc7-mt-gd-1_47.lib boost_regex-vc7-mt-1_47_dir ./vc7/boost_regex-vc7-mt-1_47.lib libboost_regex-vc7-mt-1_47_dir ./vc7/libboost_regex-vc7-mt-1_47 [...]
-
-clean :  libboost_regex-vc7-s-1_47_clean libboost_regex-vc7-mt-s-1_47_clean libboost_regex-vc7-sgd-1_47_clean libboost_regex-vc7-mt-sgd-1_47_clean boost_regex-vc7-mt-gd-1_47_clean boost_regex-vc7-mt-1_47_clean libboost_regex-vc7-mt-1_47_clean libboost_regex-vc7-mt-gd-1_47_clean
-
-install : all
-	copy vc7\libboost_regex-vc7-s-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7\libboost_regex-vc7-mt-s-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7\libboost_regex-vc7-sgd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7\libboost_regex-vc7-sgd-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc7\libboost_regex-vc7-mt-sgd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7\libboost_regex-vc7-mt-sgd-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc7\boost_regex-vc7-mt-gd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7\boost_regex-vc7-mt-gd-1_47.dll "$(MSVCDIR)\bin"
-	copy vc7\boost_regex-vc7-mt-gd-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc7\boost_regex-vc7-mt-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7\boost_regex-vc7-mt-1_47.dll "$(MSVCDIR)\bin"
-	copy vc7\libboost_regex-vc7-mt-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7\libboost_regex-vc7-mt-gd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc7\libboost_regex-vc7-mt-gd-1_47.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc7\$(NULL)" mkdir vc7
-
-
-########################################################
-#
-# section for libboost_regex-vc7-s-1_47.lib
-#
-########################################################
-vc7/libboost_regex-vc7-s-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7/libboost_regex-vc7-s-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7/libboost_regex-vc7-s-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/cregex.cpp
-
-vc7/libboost_regex-vc7-s-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/fileiter.cpp
-
-vc7/libboost_regex-vc7-s-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/icu.cpp
-
-vc7/libboost_regex-vc7-s-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/instances.cpp
-
-vc7/libboost_regex-vc7-s-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/posix_api.cpp
-
-vc7/libboost_regex-vc7-s-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/regex.cpp
-
-vc7/libboost_regex-vc7-s-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/regex_debug.cpp
-
-vc7/libboost_regex-vc7-s-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7/libboost_regex-vc7-s-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7/libboost_regex-vc7-s-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/static_mutex.cpp
-
-vc7/libboost_regex-vc7-s-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/usinstances.cpp
-
-vc7/libboost_regex-vc7-s-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7/libboost_regex-vc7-s-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7/libboost_regex-vc7-s-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7/libboost_regex-vc7-s-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-s-1_47/ -Fdvc7/libboost_regex-vc7-s-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc7-s-1_47_dir :
-	@if not exist "vc7\libboost_regex-vc7-s-1_47\$(NULL)" mkdir vc7\libboost_regex-vc7-s-1_47
-
-libboost_regex-vc7-s-1_47_clean :
-	del vc7\libboost_regex-vc7-s-1_47\*.obj
-	del vc7\libboost_regex-vc7-s-1_47\*.idb
-	del vc7\libboost_regex-vc7-s-1_47\*.exp
-	del vc7\libboost_regex-vc7-s-1_47\*.pch
-
-./vc7/libboost_regex-vc7-s-1_47.lib : vc7/libboost_regex-vc7-s-1_47/c_regex_traits.obj vc7/libboost_regex-vc7-s-1_47/cpp_regex_traits.obj vc7/libboost_regex-vc7-s-1_47/cregex.obj vc7/libboost_regex-vc7-s-1_47/fileiter.obj vc7/libboost_regex-vc7-s-1_47/icu.obj vc7/libboost_regex-vc7-s-1_47/instances.obj vc7/libboost_regex-vc7-s-1_47/posix_api.obj vc7/libboost_regex-vc7-s-1_47/regex.obj vc7/libboost_regex-vc7-s-1_47/regex_debug.obj vc7/libboost_regex-vc7-s-1_47/regex_raw_buffer.obj vc7/lib [...]
-	link -lib /nologo /out:vc7/libboost_regex-vc7-s-1_47.lib $(XSFLAGS)  vc7/libboost_regex-vc7-s-1_47/c_regex_traits.obj vc7/libboost_regex-vc7-s-1_47/cpp_regex_traits.obj vc7/libboost_regex-vc7-s-1_47/cregex.obj vc7/libboost_regex-vc7-s-1_47/fileiter.obj vc7/libboost_regex-vc7-s-1_47/icu.obj vc7/libboost_regex-vc7-s-1_47/instances.obj vc7/libboost_regex-vc7-s-1_47/posix_api.obj vc7/libboost_regex-vc7-s-1_47/regex.obj vc7/libboost_regex-vc7-s-1_47/regex_debug.obj vc7/libboost_regex-vc7-s-1 [...]
-
-########################################################
-#
-# section for libboost_regex-vc7-mt-s-1_47.lib
-#
-########################################################
-vc7/libboost_regex-vc7-mt-s-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/cregex.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/fileiter.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/icu.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/instances.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/posix_api.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/regex.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/regex_debug.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/static_mutex.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/usinstances.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7/libboost_regex-vc7-mt-s-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-s-1_47/ -Fdvc7/libboost_regex-vc7-mt-s-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc7-mt-s-1_47_dir :
-	@if not exist "vc7\libboost_regex-vc7-mt-s-1_47\$(NULL)" mkdir vc7\libboost_regex-vc7-mt-s-1_47
-
-libboost_regex-vc7-mt-s-1_47_clean :
-	del vc7\libboost_regex-vc7-mt-s-1_47\*.obj
-	del vc7\libboost_regex-vc7-mt-s-1_47\*.idb
-	del vc7\libboost_regex-vc7-mt-s-1_47\*.exp
-	del vc7\libboost_regex-vc7-mt-s-1_47\*.pch
-
-./vc7/libboost_regex-vc7-mt-s-1_47.lib : vc7/libboost_regex-vc7-mt-s-1_47/c_regex_traits.obj vc7/libboost_regex-vc7-mt-s-1_47/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-s-1_47/cregex.obj vc7/libboost_regex-vc7-mt-s-1_47/fileiter.obj vc7/libboost_regex-vc7-mt-s-1_47/icu.obj vc7/libboost_regex-vc7-mt-s-1_47/instances.obj vc7/libboost_regex-vc7-mt-s-1_47/posix_api.obj vc7/libboost_regex-vc7-mt-s-1_47/regex.obj vc7/libboost_regex-vc7-mt-s-1_47/regex_debug.obj vc7/libboost_regex-vc7-mt-s- [...]
-	link -lib /nologo /out:vc7/libboost_regex-vc7-mt-s-1_47.lib $(XSFLAGS)  vc7/libboost_regex-vc7-mt-s-1_47/c_regex_traits.obj vc7/libboost_regex-vc7-mt-s-1_47/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-s-1_47/cregex.obj vc7/libboost_regex-vc7-mt-s-1_47/fileiter.obj vc7/libboost_regex-vc7-mt-s-1_47/icu.obj vc7/libboost_regex-vc7-mt-s-1_47/instances.obj vc7/libboost_regex-vc7-mt-s-1_47/posix_api.obj vc7/libboost_regex-vc7-mt-s-1_47/regex.obj vc7/libboost_regex-vc7-mt-s-1_47/regex_debug. [...]
-
-########################################################
-#
-# section for libboost_regex-vc7-sgd-1_47.lib
-#
-########################################################
-vc7/libboost_regex-vc7-sgd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/cregex.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/fileiter.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/icu.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/instances.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/posix_api.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/regex.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/regex_debug.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/static_mutex.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/usinstances.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7/libboost_regex-vc7-sgd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-sgd-1_47/ -Fdvc7/libboost_regex-vc7-sgd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc7-sgd-1_47_dir :
-	@if not exist "vc7\libboost_regex-vc7-sgd-1_47\$(NULL)" mkdir vc7\libboost_regex-vc7-sgd-1_47
-
-libboost_regex-vc7-sgd-1_47_clean :
-	del vc7\libboost_regex-vc7-sgd-1_47\*.obj
-	del vc7\libboost_regex-vc7-sgd-1_47\*.idb
-	del vc7\libboost_regex-vc7-sgd-1_47\*.exp
-	del vc7\libboost_regex-vc7-sgd-1_47\*.pch
-
-./vc7/libboost_regex-vc7-sgd-1_47.lib : vc7/libboost_regex-vc7-sgd-1_47/c_regex_traits.obj vc7/libboost_regex-vc7-sgd-1_47/cpp_regex_traits.obj vc7/libboost_regex-vc7-sgd-1_47/cregex.obj vc7/libboost_regex-vc7-sgd-1_47/fileiter.obj vc7/libboost_regex-vc7-sgd-1_47/icu.obj vc7/libboost_regex-vc7-sgd-1_47/instances.obj vc7/libboost_regex-vc7-sgd-1_47/posix_api.obj vc7/libboost_regex-vc7-sgd-1_47/regex.obj vc7/libboost_regex-vc7-sgd-1_47/regex_debug.obj vc7/libboost_regex-vc7-sgd-1_47/regex_ [...]
-	link -lib /nologo /out:vc7/libboost_regex-vc7-sgd-1_47.lib $(XSFLAGS)  vc7/libboost_regex-vc7-sgd-1_47/c_regex_traits.obj vc7/libboost_regex-vc7-sgd-1_47/cpp_regex_traits.obj vc7/libboost_regex-vc7-sgd-1_47/cregex.obj vc7/libboost_regex-vc7-sgd-1_47/fileiter.obj vc7/libboost_regex-vc7-sgd-1_47/icu.obj vc7/libboost_regex-vc7-sgd-1_47/instances.obj vc7/libboost_regex-vc7-sgd-1_47/posix_api.obj vc7/libboost_regex-vc7-sgd-1_47/regex.obj vc7/libboost_regex-vc7-sgd-1_47/regex_debug.obj vc7/li [...]
-
-########################################################
-#
-# section for libboost_regex-vc7-mt-sgd-1_47.lib
-#
-########################################################
-vc7/libboost_regex-vc7-mt-sgd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/cregex.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/fileiter.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/icu.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/instances.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/posix_api.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/regex.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/regex_debug.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/static_mutex.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/usinstances.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7/libboost_regex-vc7-mt-sgd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-sgd-1_47/ -Fdvc7/libboost_regex-vc7-mt-sgd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc7-mt-sgd-1_47_dir :
-	@if not exist "vc7\libboost_regex-vc7-mt-sgd-1_47\$(NULL)" mkdir vc7\libboost_regex-vc7-mt-sgd-1_47
-
-libboost_regex-vc7-mt-sgd-1_47_clean :
-	del vc7\libboost_regex-vc7-mt-sgd-1_47\*.obj
-	del vc7\libboost_regex-vc7-mt-sgd-1_47\*.idb
-	del vc7\libboost_regex-vc7-mt-sgd-1_47\*.exp
-	del vc7\libboost_regex-vc7-mt-sgd-1_47\*.pch
-
-./vc7/libboost_regex-vc7-mt-sgd-1_47.lib : vc7/libboost_regex-vc7-mt-sgd-1_47/c_regex_traits.obj vc7/libboost_regex-vc7-mt-sgd-1_47/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-sgd-1_47/cregex.obj vc7/libboost_regex-vc7-mt-sgd-1_47/fileiter.obj vc7/libboost_regex-vc7-mt-sgd-1_47/icu.obj vc7/libboost_regex-vc7-mt-sgd-1_47/instances.obj vc7/libboost_regex-vc7-mt-sgd-1_47/posix_api.obj vc7/libboost_regex-vc7-mt-sgd-1_47/regex.obj vc7/libboost_regex-vc7-mt-sgd-1_47/regex_debug.obj vc7/libb [...]
-	link -lib /nologo /out:vc7/libboost_regex-vc7-mt-sgd-1_47.lib $(XSFLAGS)  vc7/libboost_regex-vc7-mt-sgd-1_47/c_regex_traits.obj vc7/libboost_regex-vc7-mt-sgd-1_47/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-sgd-1_47/cregex.obj vc7/libboost_regex-vc7-mt-sgd-1_47/fileiter.obj vc7/libboost_regex-vc7-mt-sgd-1_47/icu.obj vc7/libboost_regex-vc7-mt-sgd-1_47/instances.obj vc7/libboost_regex-vc7-mt-sgd-1_47/posix_api.obj vc7/libboost_regex-vc7-mt-sgd-1_47/regex.obj vc7/libboost_regex-vc7-mt-s [...]
-
-########################################################
-#
-# section for boost_regex-vc7-mt-gd-1_47.lib
-#
-########################################################
-vc7/boost_regex-vc7-mt-gd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/cregex.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/fileiter.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/icu.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/instances.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/posix_api.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/regex.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/regex_debug.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/static_mutex.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/usinstances.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7/boost_regex-vc7-mt-gd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-gd-1_47/ -Fdvc7/boost_regex-vc7-mt-gd-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc7-mt-gd-1_47_dir :
-	@if not exist "vc7\boost_regex-vc7-mt-gd-1_47\$(NULL)" mkdir vc7\boost_regex-vc7-mt-gd-1_47
-
-boost_regex-vc7-mt-gd-1_47_clean :
-	del vc7\boost_regex-vc7-mt-gd-1_47\*.obj
-	del vc7\boost_regex-vc7-mt-gd-1_47\*.idb
-	del vc7\boost_regex-vc7-mt-gd-1_47\*.exp
-	del vc7\boost_regex-vc7-mt-gd-1_47\*.pch
-
-./vc7/boost_regex-vc7-mt-gd-1_47.lib : vc7/boost_regex-vc7-mt-gd-1_47/c_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_47/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_47/cregex.obj vc7/boost_regex-vc7-mt-gd-1_47/fileiter.obj vc7/boost_regex-vc7-mt-gd-1_47/icu.obj vc7/boost_regex-vc7-mt-gd-1_47/instances.obj vc7/boost_regex-vc7-mt-gd-1_47/posix_api.obj vc7/boost_regex-vc7-mt-gd-1_47/regex.obj vc7/boost_regex-vc7-mt-gd-1_47/regex_debug.obj vc7/boost_regex-vc7-mt-gd-1_47/regex_raw_buffer. [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc7/boost_regex-vc7-mt-gd-1_47.pdb" /debug /machine:I386 /out:"vc7/boost_regex-vc7-mt-gd-1_47.dll" /implib:"vc7/boost_regex-vc7-mt-gd-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc7/boost_regex-vc7-mt-gd-1_47/c_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1_47/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-gd-1 [...]
-
-########################################################
-#
-# section for boost_regex-vc7-mt-1_47.lib
-#
-########################################################
-vc7/boost_regex-vc7-mt-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7/boost_regex-vc7-mt-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7/boost_regex-vc7-mt-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/cregex.cpp
-
-vc7/boost_regex-vc7-mt-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/fileiter.cpp
-
-vc7/boost_regex-vc7-mt-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/icu.cpp
-
-vc7/boost_regex-vc7-mt-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/instances.cpp
-
-vc7/boost_regex-vc7-mt-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/posix_api.cpp
-
-vc7/boost_regex-vc7-mt-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/regex.cpp
-
-vc7/boost_regex-vc7-mt-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/regex_debug.cpp
-
-vc7/boost_regex-vc7-mt-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7/boost_regex-vc7-mt-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7/boost_regex-vc7-mt-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/static_mutex.cpp
-
-vc7/boost_regex-vc7-mt-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/usinstances.cpp
-
-vc7/boost_regex-vc7-mt-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7/boost_regex-vc7-mt-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7/boost_regex-vc7-mt-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7/boost_regex-vc7-mt-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/boost_regex-vc7-mt-1_47/ -Fdvc7/boost_regex-vc7-mt-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc7-mt-1_47_dir :
-	@if not exist "vc7\boost_regex-vc7-mt-1_47\$(NULL)" mkdir vc7\boost_regex-vc7-mt-1_47
-
-boost_regex-vc7-mt-1_47_clean :
-	del vc7\boost_regex-vc7-mt-1_47\*.obj
-	del vc7\boost_regex-vc7-mt-1_47\*.idb
-	del vc7\boost_regex-vc7-mt-1_47\*.exp
-	del vc7\boost_regex-vc7-mt-1_47\*.pch
-
-./vc7/boost_regex-vc7-mt-1_47.lib : vc7/boost_regex-vc7-mt-1_47/c_regex_traits.obj vc7/boost_regex-vc7-mt-1_47/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-1_47/cregex.obj vc7/boost_regex-vc7-mt-1_47/fileiter.obj vc7/boost_regex-vc7-mt-1_47/icu.obj vc7/boost_regex-vc7-mt-1_47/instances.obj vc7/boost_regex-vc7-mt-1_47/posix_api.obj vc7/boost_regex-vc7-mt-1_47/regex.obj vc7/boost_regex-vc7-mt-1_47/regex_debug.obj vc7/boost_regex-vc7-mt-1_47/regex_raw_buffer.obj vc7/boost_regex-vc7-mt-1_47/r [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc7/boost_regex-vc7-mt-1_47.pdb" /debug /machine:I386 /out:"vc7/boost_regex-vc7-mt-1_47.dll" /implib:"vc7/boost_regex-vc7-mt-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc7/boost_regex-vc7-mt-1_47/c_regex_traits.obj vc7/boost_regex-vc7-mt-1_47/cpp_regex_traits.obj vc7/boost_regex-vc7-mt-1_47/cregex.obj vc7 [...]
-
-########################################################
-#
-# section for libboost_regex-vc7-mt-1_47.lib
-#
-########################################################
-vc7/libboost_regex-vc7-mt-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/cregex.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/fileiter.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/icu.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/instances.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/posix_api.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/regex.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/regex_debug.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/static_mutex.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/usinstances.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7/libboost_regex-vc7-mt-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-1_47/ -Fdvc7/libboost_regex-vc7-mt-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc7-mt-1_47_dir :
-	@if not exist "vc7\libboost_regex-vc7-mt-1_47\$(NULL)" mkdir vc7\libboost_regex-vc7-mt-1_47
-
-libboost_regex-vc7-mt-1_47_clean :
-	del vc7\libboost_regex-vc7-mt-1_47\*.obj
-	del vc7\libboost_regex-vc7-mt-1_47\*.idb
-	del vc7\libboost_regex-vc7-mt-1_47\*.exp
-	del vc7\libboost_regex-vc7-mt-1_47\*.pch
-
-./vc7/libboost_regex-vc7-mt-1_47.lib : vc7/libboost_regex-vc7-mt-1_47/c_regex_traits.obj vc7/libboost_regex-vc7-mt-1_47/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-1_47/cregex.obj vc7/libboost_regex-vc7-mt-1_47/fileiter.obj vc7/libboost_regex-vc7-mt-1_47/icu.obj vc7/libboost_regex-vc7-mt-1_47/instances.obj vc7/libboost_regex-vc7-mt-1_47/posix_api.obj vc7/libboost_regex-vc7-mt-1_47/regex.obj vc7/libboost_regex-vc7-mt-1_47/regex_debug.obj vc7/libboost_regex-vc7-mt-1_47/regex_raw_buffer. [...]
-	link -lib /nologo /out:vc7/libboost_regex-vc7-mt-1_47.lib $(XSFLAGS)  vc7/libboost_regex-vc7-mt-1_47/c_regex_traits.obj vc7/libboost_regex-vc7-mt-1_47/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-1_47/cregex.obj vc7/libboost_regex-vc7-mt-1_47/fileiter.obj vc7/libboost_regex-vc7-mt-1_47/icu.obj vc7/libboost_regex-vc7-mt-1_47/instances.obj vc7/libboost_regex-vc7-mt-1_47/posix_api.obj vc7/libboost_regex-vc7-mt-1_47/regex.obj vc7/libboost_regex-vc7-mt-1_47/regex_debug.obj vc7/libboost_reg [...]
-
-########################################################
-#
-# section for libboost_regex-vc7-mt-gd-1_47.lib
-#
-########################################################
-vc7/libboost_regex-vc7-mt-gd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/cregex.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/fileiter.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/icu.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/instances.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/posix_api.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/regex.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/regex_debug.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/static_mutex.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/usinstances.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc7/libboost_regex-vc7-mt-gd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc7/libboost_regex-vc7-mt-gd-1_47/ -Fdvc7/libboost_regex-vc7-mt-gd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc7-mt-gd-1_47_dir :
-	@if not exist "vc7\libboost_regex-vc7-mt-gd-1_47\$(NULL)" mkdir vc7\libboost_regex-vc7-mt-gd-1_47
-
-libboost_regex-vc7-mt-gd-1_47_clean :
-	del vc7\libboost_regex-vc7-mt-gd-1_47\*.obj
-	del vc7\libboost_regex-vc7-mt-gd-1_47\*.idb
-	del vc7\libboost_regex-vc7-mt-gd-1_47\*.exp
-	del vc7\libboost_regex-vc7-mt-gd-1_47\*.pch
-
-./vc7/libboost_regex-vc7-mt-gd-1_47.lib : vc7/libboost_regex-vc7-mt-gd-1_47/c_regex_traits.obj vc7/libboost_regex-vc7-mt-gd-1_47/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-gd-1_47/cregex.obj vc7/libboost_regex-vc7-mt-gd-1_47/fileiter.obj vc7/libboost_regex-vc7-mt-gd-1_47/icu.obj vc7/libboost_regex-vc7-mt-gd-1_47/instances.obj vc7/libboost_regex-vc7-mt-gd-1_47/posix_api.obj vc7/libboost_regex-vc7-mt-gd-1_47/regex.obj vc7/libboost_regex-vc7-mt-gd-1_47/regex_debug.obj vc7/libboost_regex [...]
-	link -lib /nologo /out:vc7/libboost_regex-vc7-mt-gd-1_47.lib $(XSFLAGS)  vc7/libboost_regex-vc7-mt-gd-1_47/c_regex_traits.obj vc7/libboost_regex-vc7-mt-gd-1_47/cpp_regex_traits.obj vc7/libboost_regex-vc7-mt-gd-1_47/cregex.obj vc7/libboost_regex-vc7-mt-gd-1_47/fileiter.obj vc7/libboost_regex-vc7-mt-gd-1_47/icu.obj vc7/libboost_regex-vc7-mt-gd-1_47/instances.obj vc7/libboost_regex-vc7-mt-gd-1_47/posix_api.obj vc7/libboost_regex-vc7-mt-gd-1_47/regex.obj vc7/libboost_regex-vc7-mt-gd-1_47/re [...]
-
diff --git a/SRC/Boost/libs/regex/build/vc71-stlport.mak b/SRC/Boost/libs/regex/build/vc71-stlport.mak
deleted file mode 100755
index 12ab8c9..0000000
--- a/SRC/Boost/libs/regex/build/vc71-stlport.mak
+++ /dev/null
@@ -1,496 +0,0 @@
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for VC6+STLPort
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# ICU setup:
-#
-ICU_PATH=
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "$(STLPORT_PATH)" == ""
-!ERROR Variable STLPORT_PATH not set.
-!ENDIF
-
-!IF "$(ICU_PATH)" == ""
-ICU_COMPILE_OPTS=
-ICU_LINK_OPTS=
-!MESSAGE Building Boost.Regex without ICU / Unicode support:
-!MESSAGE Hint: set ICU_PATH on the nmake command line to point 
-!MESSAGE to your ICU installation if you have one.
-!ELSE
-ICU_COMPILE_OPTS= -DBOOST_HAS_ICU=1 -I"$(ICU_PATH)\include"
-ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib
-!MESSAGE Building Boost.Regex with ICU in $(ICU_PATH)
-!ENDIF
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : main_dir libboost_regex-vc71-mt-sp-1_47_dir ./vc71-stlport/libboost_regex-vc71-mt-sp-1_47.lib boost_regex-vc71-mt-p-1_47_dir ./vc71-stlport/boost_regex-vc71-mt-p-1_47.lib libboost_regex-vc71-mt-p-1_47_dir ./vc71-stlport/libboost_regex-vc71-mt-p-1_47.lib boost_regex-vc71-mt-gdp-1_47_dir ./vc71-stlport/boost_regex-vc71-mt-gdp-1_47.lib libboost_regex-vc71-mt-sgdp-1_47_dir ./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.lib libboost_regex-vc71-mt-gdp-1_47_dir ./vc71-stlport/libboost_re [...]
-
-clean :  libboost_regex-vc71-mt-sp-1_47_clean boost_regex-vc71-mt-p-1_47_clean libboost_regex-vc71-mt-p-1_47_clean boost_regex-vc71-mt-gdp-1_47_clean libboost_regex-vc71-mt-sgdp-1_47_clean libboost_regex-vc71-mt-gdp-1_47_clean
-
-install : stlport_check all
-	copy vc71-stlport\libboost_regex-vc71-mt-sp-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\boost_regex-vc71-mt-p-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\boost_regex-vc71-mt-p-1_47.dll "$(MSVCDIR)\bin"
-	copy vc71-stlport\libboost_regex-vc71-mt-p-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\boost_regex-vc71-mt-gdp-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\boost_regex-vc71-mt-gdp-1_47.dll "$(MSVCDIR)\bin"
-	copy vc71-stlport\boost_regex-vc71-mt-gdp-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc71-stlport\libboost_regex-vc71-mt-sgdp-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\libboost_regex-vc71-mt-sgdp-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc71-stlport\libboost_regex-vc71-mt-gdp-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71-stlport\libboost_regex-vc71-mt-gdp-1_47.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc71-stlport\$(NULL)" mkdir vc71-stlport
-
-stlport_check : "$(STLPORT_PATH)\stlport\string"
-	echo
-
-
-########################################################
-#
-# section for libboost_regex-vc71-mt-sp-1_47.lib
-#
-########################################################
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/cregex.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/fileiter.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/icu.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/instances.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/posix_api.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/regex.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/regex_debug.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/static_mutex.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/usinstances.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sp-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sp-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc71-mt-sp-1_47_dir :
-	@if not exist "vc71-stlport\libboost_regex-vc71-mt-sp-1_47\$(NULL)" mkdir vc71-stlport\libboost_regex-vc71-mt-sp-1_47
-
-libboost_regex-vc71-mt-sp-1_47_clean :
-	del vc71-stlport\libboost_regex-vc71-mt-sp-1_47\*.obj
-	del vc71-stlport\libboost_regex-vc71-mt-sp-1_47\*.idb
-	del vc71-stlport\libboost_regex-vc71-mt-sp-1_47\*.exp
-	del vc71-stlport\libboost_regex-vc71-mt-sp-1_47\*.pch
-
-./vc71-stlport/libboost_regex-vc71-mt-sp-1_47.lib : vc71-stlport/libboost_regex-vc71-mt-sp-1_47/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_47/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_47/cregex.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_47/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_47/icu.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_47/instances.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_47/posix_api.obj vc71-stlport/libboost_regex-vc71 [...]
-	link -lib /nologo /out:vc71-stlport/libboost_regex-vc71-mt-sp-1_47.lib $(XSFLAGS)  vc71-stlport/libboost_regex-vc71-mt-sp-1_47/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_47/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_47/cregex.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_47/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_47/icu.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_47/instances.obj vc71-stlport/libboost_regex-vc71-mt-sp-1_47/posix_api.obj  [...]
-
-########################################################
-#
-# section for boost_regex-vc71-mt-p-1_47.lib
-#
-########################################################
-vc71-stlport/boost_regex-vc71-mt-p-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/cregex.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/fileiter.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/icu.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/instances.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/posix_api.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/regex.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/regex_debug.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/static_mutex.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/usinstances.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71-stlport/boost_regex-vc71-mt-p-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-p-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc71-mt-p-1_47_dir :
-	@if not exist "vc71-stlport\boost_regex-vc71-mt-p-1_47\$(NULL)" mkdir vc71-stlport\boost_regex-vc71-mt-p-1_47
-
-boost_regex-vc71-mt-p-1_47_clean :
-	del vc71-stlport\boost_regex-vc71-mt-p-1_47\*.obj
-	del vc71-stlport\boost_regex-vc71-mt-p-1_47\*.idb
-	del vc71-stlport\boost_regex-vc71-mt-p-1_47\*.exp
-	del vc71-stlport\boost_regex-vc71-mt-p-1_47\*.pch
-
-./vc71-stlport/boost_regex-vc71-mt-p-1_47.lib : vc71-stlport/boost_regex-vc71-mt-p-1_47/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_47/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_47/cregex.obj vc71-stlport/boost_regex-vc71-mt-p-1_47/fileiter.obj vc71-stlport/boost_regex-vc71-mt-p-1_47/icu.obj vc71-stlport/boost_regex-vc71-mt-p-1_47/instances.obj vc71-stlport/boost_regex-vc71-mt-p-1_47/posix_api.obj vc71-stlport/boost_regex-vc71-mt-p-1_47/regex.obj vc71-stlport/b [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex-vc71-mt-p-1_47.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex-vc71-mt-p-1_47.dll" /implib:"vc71-stlport/boost_regex-vc71-mt-p-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc71-stlport/boost_regex-vc71-mt-p-1_47/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-p-1_47/cpp [...]
-
-########################################################
-#
-# section for libboost_regex-vc71-mt-p-1_47.lib
-#
-########################################################
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/cregex.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/fileiter.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/icu.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/instances.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/posix_api.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/regex.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/regex_debug.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/static_mutex.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/usinstances.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-p-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-p-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-p-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc71-mt-p-1_47_dir :
-	@if not exist "vc71-stlport\libboost_regex-vc71-mt-p-1_47\$(NULL)" mkdir vc71-stlport\libboost_regex-vc71-mt-p-1_47
-
-libboost_regex-vc71-mt-p-1_47_clean :
-	del vc71-stlport\libboost_regex-vc71-mt-p-1_47\*.obj
-	del vc71-stlport\libboost_regex-vc71-mt-p-1_47\*.idb
-	del vc71-stlport\libboost_regex-vc71-mt-p-1_47\*.exp
-	del vc71-stlport\libboost_regex-vc71-mt-p-1_47\*.pch
-
-./vc71-stlport/libboost_regex-vc71-mt-p-1_47.lib : vc71-stlport/libboost_regex-vc71-mt-p-1_47/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-p-1_47/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-p-1_47/cregex.obj vc71-stlport/libboost_regex-vc71-mt-p-1_47/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-p-1_47/icu.obj vc71-stlport/libboost_regex-vc71-mt-p-1_47/instances.obj vc71-stlport/libboost_regex-vc71-mt-p-1_47/posix_api.obj vc71-stlport/libboost_regex-vc71-mt-p-1_ [...]
-	link -lib /nologo /out:vc71-stlport/libboost_regex-vc71-mt-p-1_47.lib $(XSFLAGS)  vc71-stlport/libboost_regex-vc71-mt-p-1_47/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-p-1_47/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-p-1_47/cregex.obj vc71-stlport/libboost_regex-vc71-mt-p-1_47/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-p-1_47/icu.obj vc71-stlport/libboost_regex-vc71-mt-p-1_47/instances.obj vc71-stlport/libboost_regex-vc71-mt-p-1_47/posix_api.obj vc71-stl [...]
-
-########################################################
-#
-# section for boost_regex-vc71-mt-gdp-1_47.lib
-#
-########################################################
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/cregex.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/fileiter.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/icu.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/instances.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/posix_api.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/regex.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/regex_debug.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/static_mutex.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/usinstances.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71-stlport/boost_regex-vc71-mt-gdp-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/boost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc71-mt-gdp-1_47_dir :
-	@if not exist "vc71-stlport\boost_regex-vc71-mt-gdp-1_47\$(NULL)" mkdir vc71-stlport\boost_regex-vc71-mt-gdp-1_47
-
-boost_regex-vc71-mt-gdp-1_47_clean :
-	del vc71-stlport\boost_regex-vc71-mt-gdp-1_47\*.obj
-	del vc71-stlport\boost_regex-vc71-mt-gdp-1_47\*.idb
-	del vc71-stlport\boost_regex-vc71-mt-gdp-1_47\*.exp
-	del vc71-stlport\boost_regex-vc71-mt-gdp-1_47\*.pch
-
-./vc71-stlport/boost_regex-vc71-mt-gdp-1_47.lib : vc71-stlport/boost_regex-vc71-mt-gdp-1_47/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_47/cpp_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_47/cregex.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_47/fileiter.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_47/icu.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_47/instances.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_47/posix_api.obj vc71-stlport/boost_regex-vc71-mt-gdp-1_47/regex. [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex-vc71-mt-gdp-1_47.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex-vc71-mt-gdp-1_47.dll" /implib:"vc71-stlport/boost_regex-vc71-mt-gdp-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc71-stlport/boost_regex-vc71-mt-gdp-1_47/c_regex_traits.obj vc71-stlport/boost_regex-vc71-mt-gd [...]
-
-########################################################
-#
-# section for libboost_regex-vc71-mt-sgdp-1_47.lib
-#
-########################################################
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/cregex.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/fileiter.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/icu.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/instances.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/posix_api.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/regex.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/regex_debug.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/static_mutex.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/usinstances.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc71-mt-sgdp-1_47_dir :
-	@if not exist "vc71-stlport\libboost_regex-vc71-mt-sgdp-1_47\$(NULL)" mkdir vc71-stlport\libboost_regex-vc71-mt-sgdp-1_47
-
-libboost_regex-vc71-mt-sgdp-1_47_clean :
-	del vc71-stlport\libboost_regex-vc71-mt-sgdp-1_47\*.obj
-	del vc71-stlport\libboost_regex-vc71-mt-sgdp-1_47\*.idb
-	del vc71-stlport\libboost_regex-vc71-mt-sgdp-1_47\*.exp
-	del vc71-stlport\libboost_regex-vc71-mt-sgdp-1_47\*.pch
-
-./vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.lib : vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/cregex.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/icu.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/instances.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/posix_api.obj vc71-stlport/lib [...]
-	link -lib /nologo /out:vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47.lib $(XSFLAGS)  vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/cregex.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/icu.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_47/instances.obj vc71-stlport/libboost_regex-vc71-mt-sgdp-1_4 [...]
-
-########################################################
-#
-# section for libboost_regex-vc71-mt-gdp-1_47.lib
-#
-########################################################
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/cregex.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/fileiter.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/icu.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/instances.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/posix_api.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/regex.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/regex_debug.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/static_mutex.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/usinstances.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/ -Fdvc71-stlport/libboost_regex-vc71-mt-gdp-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc71-mt-gdp-1_47_dir :
-	@if not exist "vc71-stlport\libboost_regex-vc71-mt-gdp-1_47\$(NULL)" mkdir vc71-stlport\libboost_regex-vc71-mt-gdp-1_47
-
-libboost_regex-vc71-mt-gdp-1_47_clean :
-	del vc71-stlport\libboost_regex-vc71-mt-gdp-1_47\*.obj
-	del vc71-stlport\libboost_regex-vc71-mt-gdp-1_47\*.idb
-	del vc71-stlport\libboost_regex-vc71-mt-gdp-1_47\*.exp
-	del vc71-stlport\libboost_regex-vc71-mt-gdp-1_47\*.pch
-
-./vc71-stlport/libboost_regex-vc71-mt-gdp-1_47.lib : vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/cregex.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/icu.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/instances.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/posix_api.obj vc71-stlport/libboost_re [...]
-	link -lib /nologo /out:vc71-stlport/libboost_regex-vc71-mt-gdp-1_47.lib $(XSFLAGS)  vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/c_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/cpp_regex_traits.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/cregex.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/fileiter.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/icu.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/instances.obj vc71-stlport/libboost_regex-vc71-mt-gdp-1_47/posix_ [...]
-
diff --git a/SRC/Boost/libs/regex/build/vc71.mak b/SRC/Boost/libs/regex/build/vc71.mak
deleted file mode 100755
index 19b2835..0000000
--- a/SRC/Boost/libs/regex/build/vc71.mak
+++ /dev/null
@@ -1,632 +0,0 @@
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for MSVC compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# path to ICU library installation goes here:
-#
-ICU_PATH=
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-MSVCDIR=$(VS71COMNTOOLS)..\..\VC7
-!ENDIF
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "$(ICU_PATH)" == ""
-ICU_COMPILE_OPTS=
-ICU_LINK_OPTS=
-!MESSAGE Building Boost.Regex without ICU / Unicode support:
-!MESSAGE Hint: set ICU_PATH on the nmake command line to point 
-!MESSAGE to your ICU installation if you have one.
-!ELSE
-ICU_COMPILE_OPTS= -DBOOST_HAS_ICU=1 -I"$(ICU_PATH)\include"
-ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib
-!MESSAGE Building Boost.Regex with ICU in $(ICU_PATH)
-!ENDIF
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : main_dir libboost_regex-vc71-s-1_47_dir ./vc71/libboost_regex-vc71-s-1_47.lib libboost_regex-vc71-mt-s-1_47_dir ./vc71/libboost_regex-vc71-mt-s-1_47.lib libboost_regex-vc71-sgd-1_47_dir ./vc71/libboost_regex-vc71-sgd-1_47.lib libboost_regex-vc71-mt-sgd-1_47_dir ./vc71/libboost_regex-vc71-mt-sgd-1_47.lib boost_regex-vc71-mt-gd-1_47_dir ./vc71/boost_regex-vc71-mt-gd-1_47.lib boost_regex-vc71-mt-1_47_dir ./vc71/boost_regex-vc71-mt-1_47.lib libboost_regex-vc71-mt-1_47_dir ./vc71/libboo [...]
-
-clean :  libboost_regex-vc71-s-1_47_clean libboost_regex-vc71-mt-s-1_47_clean libboost_regex-vc71-sgd-1_47_clean libboost_regex-vc71-mt-sgd-1_47_clean boost_regex-vc71-mt-gd-1_47_clean boost_regex-vc71-mt-1_47_clean libboost_regex-vc71-mt-1_47_clean libboost_regex-vc71-mt-gd-1_47_clean
-
-install : all
-	copy vc71\libboost_regex-vc71-s-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71\libboost_regex-vc71-mt-s-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71\libboost_regex-vc71-sgd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71\libboost_regex-vc71-sgd-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc71\libboost_regex-vc71-mt-sgd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71\libboost_regex-vc71-mt-sgd-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc71\boost_regex-vc71-mt-gd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71\boost_regex-vc71-mt-gd-1_47.dll "$(MSVCDIR)\bin"
-	copy vc71\boost_regex-vc71-mt-gd-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc71\boost_regex-vc71-mt-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71\boost_regex-vc71-mt-1_47.dll "$(MSVCDIR)\bin"
-	copy vc71\libboost_regex-vc71-mt-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71\libboost_regex-vc71-mt-gd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc71\libboost_regex-vc71-mt-gd-1_47.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc71\$(NULL)" mkdir vc71
-
-
-########################################################
-#
-# section for libboost_regex-vc71-s-1_47.lib
-#
-########################################################
-vc71/libboost_regex-vc71-s-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71/libboost_regex-vc71-s-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71/libboost_regex-vc71-s-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/cregex.cpp
-
-vc71/libboost_regex-vc71-s-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/fileiter.cpp
-
-vc71/libboost_regex-vc71-s-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/icu.cpp
-
-vc71/libboost_regex-vc71-s-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/instances.cpp
-
-vc71/libboost_regex-vc71-s-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/posix_api.cpp
-
-vc71/libboost_regex-vc71-s-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/regex.cpp
-
-vc71/libboost_regex-vc71-s-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/regex_debug.cpp
-
-vc71/libboost_regex-vc71-s-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71/libboost_regex-vc71-s-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71/libboost_regex-vc71-s-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/static_mutex.cpp
-
-vc71/libboost_regex-vc71-s-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/usinstances.cpp
-
-vc71/libboost_regex-vc71-s-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71/libboost_regex-vc71-s-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71/libboost_regex-vc71-s-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71/libboost_regex-vc71-s-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-s-1_47/ -Fdvc71/libboost_regex-vc71-s-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc71-s-1_47_dir :
-	@if not exist "vc71\libboost_regex-vc71-s-1_47\$(NULL)" mkdir vc71\libboost_regex-vc71-s-1_47
-
-libboost_regex-vc71-s-1_47_clean :
-	del vc71\libboost_regex-vc71-s-1_47\*.obj
-	del vc71\libboost_regex-vc71-s-1_47\*.idb
-	del vc71\libboost_regex-vc71-s-1_47\*.exp
-	del vc71\libboost_regex-vc71-s-1_47\*.pch
-
-./vc71/libboost_regex-vc71-s-1_47.lib : vc71/libboost_regex-vc71-s-1_47/c_regex_traits.obj vc71/libboost_regex-vc71-s-1_47/cpp_regex_traits.obj vc71/libboost_regex-vc71-s-1_47/cregex.obj vc71/libboost_regex-vc71-s-1_47/fileiter.obj vc71/libboost_regex-vc71-s-1_47/icu.obj vc71/libboost_regex-vc71-s-1_47/instances.obj vc71/libboost_regex-vc71-s-1_47/posix_api.obj vc71/libboost_regex-vc71-s-1_47/regex.obj vc71/libboost_regex-vc71-s-1_47/regex_debug.obj vc71/libboost_regex-vc71-s-1_47/regex_ [...]
-	link -lib /nologo /out:vc71/libboost_regex-vc71-s-1_47.lib $(XSFLAGS)  vc71/libboost_regex-vc71-s-1_47/c_regex_traits.obj vc71/libboost_regex-vc71-s-1_47/cpp_regex_traits.obj vc71/libboost_regex-vc71-s-1_47/cregex.obj vc71/libboost_regex-vc71-s-1_47/fileiter.obj vc71/libboost_regex-vc71-s-1_47/icu.obj vc71/libboost_regex-vc71-s-1_47/instances.obj vc71/libboost_regex-vc71-s-1_47/posix_api.obj vc71/libboost_regex-vc71-s-1_47/regex.obj vc71/libboost_regex-vc71-s-1_47/regex_debug.obj vc71/l [...]
-
-########################################################
-#
-# section for libboost_regex-vc71-mt-s-1_47.lib
-#
-########################################################
-vc71/libboost_regex-vc71-mt-s-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/cregex.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/fileiter.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/icu.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/instances.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/posix_api.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/regex.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/regex_debug.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/static_mutex.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/usinstances.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71/libboost_regex-vc71-mt-s-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-s-1_47/ -Fdvc71/libboost_regex-vc71-mt-s-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc71-mt-s-1_47_dir :
-	@if not exist "vc71\libboost_regex-vc71-mt-s-1_47\$(NULL)" mkdir vc71\libboost_regex-vc71-mt-s-1_47
-
-libboost_regex-vc71-mt-s-1_47_clean :
-	del vc71\libboost_regex-vc71-mt-s-1_47\*.obj
-	del vc71\libboost_regex-vc71-mt-s-1_47\*.idb
-	del vc71\libboost_regex-vc71-mt-s-1_47\*.exp
-	del vc71\libboost_regex-vc71-mt-s-1_47\*.pch
-
-./vc71/libboost_regex-vc71-mt-s-1_47.lib : vc71/libboost_regex-vc71-mt-s-1_47/c_regex_traits.obj vc71/libboost_regex-vc71-mt-s-1_47/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-s-1_47/cregex.obj vc71/libboost_regex-vc71-mt-s-1_47/fileiter.obj vc71/libboost_regex-vc71-mt-s-1_47/icu.obj vc71/libboost_regex-vc71-mt-s-1_47/instances.obj vc71/libboost_regex-vc71-mt-s-1_47/posix_api.obj vc71/libboost_regex-vc71-mt-s-1_47/regex.obj vc71/libboost_regex-vc71-mt-s-1_47/regex_debug.obj vc71/lib [...]
-	link -lib /nologo /out:vc71/libboost_regex-vc71-mt-s-1_47.lib $(XSFLAGS)  vc71/libboost_regex-vc71-mt-s-1_47/c_regex_traits.obj vc71/libboost_regex-vc71-mt-s-1_47/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-s-1_47/cregex.obj vc71/libboost_regex-vc71-mt-s-1_47/fileiter.obj vc71/libboost_regex-vc71-mt-s-1_47/icu.obj vc71/libboost_regex-vc71-mt-s-1_47/instances.obj vc71/libboost_regex-vc71-mt-s-1_47/posix_api.obj vc71/libboost_regex-vc71-mt-s-1_47/regex.obj vc71/libboost_regex-vc71-mt [...]
-
-########################################################
-#
-# section for libboost_regex-vc71-sgd-1_47.lib
-#
-########################################################
-vc71/libboost_regex-vc71-sgd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/cregex.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/fileiter.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/icu.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/instances.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/posix_api.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/regex.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/regex_debug.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/static_mutex.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/usinstances.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71/libboost_regex-vc71-sgd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-sgd-1_47/ -Fdvc71/libboost_regex-vc71-sgd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc71-sgd-1_47_dir :
-	@if not exist "vc71\libboost_regex-vc71-sgd-1_47\$(NULL)" mkdir vc71\libboost_regex-vc71-sgd-1_47
-
-libboost_regex-vc71-sgd-1_47_clean :
-	del vc71\libboost_regex-vc71-sgd-1_47\*.obj
-	del vc71\libboost_regex-vc71-sgd-1_47\*.idb
-	del vc71\libboost_regex-vc71-sgd-1_47\*.exp
-	del vc71\libboost_regex-vc71-sgd-1_47\*.pch
-
-./vc71/libboost_regex-vc71-sgd-1_47.lib : vc71/libboost_regex-vc71-sgd-1_47/c_regex_traits.obj vc71/libboost_regex-vc71-sgd-1_47/cpp_regex_traits.obj vc71/libboost_regex-vc71-sgd-1_47/cregex.obj vc71/libboost_regex-vc71-sgd-1_47/fileiter.obj vc71/libboost_regex-vc71-sgd-1_47/icu.obj vc71/libboost_regex-vc71-sgd-1_47/instances.obj vc71/libboost_regex-vc71-sgd-1_47/posix_api.obj vc71/libboost_regex-vc71-sgd-1_47/regex.obj vc71/libboost_regex-vc71-sgd-1_47/regex_debug.obj vc71/libboost_rege [...]
-	link -lib /nologo /out:vc71/libboost_regex-vc71-sgd-1_47.lib $(XSFLAGS)  vc71/libboost_regex-vc71-sgd-1_47/c_regex_traits.obj vc71/libboost_regex-vc71-sgd-1_47/cpp_regex_traits.obj vc71/libboost_regex-vc71-sgd-1_47/cregex.obj vc71/libboost_regex-vc71-sgd-1_47/fileiter.obj vc71/libboost_regex-vc71-sgd-1_47/icu.obj vc71/libboost_regex-vc71-sgd-1_47/instances.obj vc71/libboost_regex-vc71-sgd-1_47/posix_api.obj vc71/libboost_regex-vc71-sgd-1_47/regex.obj vc71/libboost_regex-vc71-sgd-1_47/re [...]
-
-########################################################
-#
-# section for libboost_regex-vc71-mt-sgd-1_47.lib
-#
-########################################################
-vc71/libboost_regex-vc71-mt-sgd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/cregex.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/fileiter.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/icu.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/instances.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/posix_api.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/regex.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/regex_debug.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/static_mutex.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/usinstances.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71/libboost_regex-vc71-mt-sgd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-sgd-1_47/ -Fdvc71/libboost_regex-vc71-mt-sgd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc71-mt-sgd-1_47_dir :
-	@if not exist "vc71\libboost_regex-vc71-mt-sgd-1_47\$(NULL)" mkdir vc71\libboost_regex-vc71-mt-sgd-1_47
-
-libboost_regex-vc71-mt-sgd-1_47_clean :
-	del vc71\libboost_regex-vc71-mt-sgd-1_47\*.obj
-	del vc71\libboost_regex-vc71-mt-sgd-1_47\*.idb
-	del vc71\libboost_regex-vc71-mt-sgd-1_47\*.exp
-	del vc71\libboost_regex-vc71-mt-sgd-1_47\*.pch
-
-./vc71/libboost_regex-vc71-mt-sgd-1_47.lib : vc71/libboost_regex-vc71-mt-sgd-1_47/c_regex_traits.obj vc71/libboost_regex-vc71-mt-sgd-1_47/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-sgd-1_47/cregex.obj vc71/libboost_regex-vc71-mt-sgd-1_47/fileiter.obj vc71/libboost_regex-vc71-mt-sgd-1_47/icu.obj vc71/libboost_regex-vc71-mt-sgd-1_47/instances.obj vc71/libboost_regex-vc71-mt-sgd-1_47/posix_api.obj vc71/libboost_regex-vc71-mt-sgd-1_47/regex.obj vc71/libboost_regex-vc71-mt-sgd-1_47/rege [...]
-	link -lib /nologo /out:vc71/libboost_regex-vc71-mt-sgd-1_47.lib $(XSFLAGS)  vc71/libboost_regex-vc71-mt-sgd-1_47/c_regex_traits.obj vc71/libboost_regex-vc71-mt-sgd-1_47/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-sgd-1_47/cregex.obj vc71/libboost_regex-vc71-mt-sgd-1_47/fileiter.obj vc71/libboost_regex-vc71-mt-sgd-1_47/icu.obj vc71/libboost_regex-vc71-mt-sgd-1_47/instances.obj vc71/libboost_regex-vc71-mt-sgd-1_47/posix_api.obj vc71/libboost_regex-vc71-mt-sgd-1_47/regex.obj vc71/libb [...]
-
-########################################################
-#
-# section for boost_regex-vc71-mt-gd-1_47.lib
-#
-########################################################
-vc71/boost_regex-vc71-mt-gd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/cregex.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/fileiter.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/icu.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/instances.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/posix_api.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/regex.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/regex_debug.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/static_mutex.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/usinstances.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71/boost_regex-vc71-mt-gd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-gd-1_47/ -Fdvc71/boost_regex-vc71-mt-gd-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc71-mt-gd-1_47_dir :
-	@if not exist "vc71\boost_regex-vc71-mt-gd-1_47\$(NULL)" mkdir vc71\boost_regex-vc71-mt-gd-1_47
-
-boost_regex-vc71-mt-gd-1_47_clean :
-	del vc71\boost_regex-vc71-mt-gd-1_47\*.obj
-	del vc71\boost_regex-vc71-mt-gd-1_47\*.idb
-	del vc71\boost_regex-vc71-mt-gd-1_47\*.exp
-	del vc71\boost_regex-vc71-mt-gd-1_47\*.pch
-
-./vc71/boost_regex-vc71-mt-gd-1_47.lib : vc71/boost_regex-vc71-mt-gd-1_47/c_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_47/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_47/cregex.obj vc71/boost_regex-vc71-mt-gd-1_47/fileiter.obj vc71/boost_regex-vc71-mt-gd-1_47/icu.obj vc71/boost_regex-vc71-mt-gd-1_47/instances.obj vc71/boost_regex-vc71-mt-gd-1_47/posix_api.obj vc71/boost_regex-vc71-mt-gd-1_47/regex.obj vc71/boost_regex-vc71-mt-gd-1_47/regex_debug.obj vc71/boost_regex-vc71-mt-gd- [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex-vc71-mt-gd-1_47.pdb" /debug /machine:I386 /out:"vc71/boost_regex-vc71-mt-gd-1_47.dll" /implib:"vc71/boost_regex-vc71-mt-gd-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc71/boost_regex-vc71-mt-gd-1_47/c_regex_traits.obj vc71/boost_regex-vc71-mt-gd-1_47/cpp_regex_traits.obj vc71/boost_regex- [...]
-
-########################################################
-#
-# section for boost_regex-vc71-mt-1_47.lib
-#
-########################################################
-vc71/boost_regex-vc71-mt-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71/boost_regex-vc71-mt-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71/boost_regex-vc71-mt-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/cregex.cpp
-
-vc71/boost_regex-vc71-mt-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/fileiter.cpp
-
-vc71/boost_regex-vc71-mt-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/icu.cpp
-
-vc71/boost_regex-vc71-mt-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/instances.cpp
-
-vc71/boost_regex-vc71-mt-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/posix_api.cpp
-
-vc71/boost_regex-vc71-mt-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/regex.cpp
-
-vc71/boost_regex-vc71-mt-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/regex_debug.cpp
-
-vc71/boost_regex-vc71-mt-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71/boost_regex-vc71-mt-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71/boost_regex-vc71-mt-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/static_mutex.cpp
-
-vc71/boost_regex-vc71-mt-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/usinstances.cpp
-
-vc71/boost_regex-vc71-mt-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71/boost_regex-vc71-mt-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71/boost_regex-vc71-mt-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71/boost_regex-vc71-mt-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/boost_regex-vc71-mt-1_47/ -Fdvc71/boost_regex-vc71-mt-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc71-mt-1_47_dir :
-	@if not exist "vc71\boost_regex-vc71-mt-1_47\$(NULL)" mkdir vc71\boost_regex-vc71-mt-1_47
-
-boost_regex-vc71-mt-1_47_clean :
-	del vc71\boost_regex-vc71-mt-1_47\*.obj
-	del vc71\boost_regex-vc71-mt-1_47\*.idb
-	del vc71\boost_regex-vc71-mt-1_47\*.exp
-	del vc71\boost_regex-vc71-mt-1_47\*.pch
-
-./vc71/boost_regex-vc71-mt-1_47.lib : vc71/boost_regex-vc71-mt-1_47/c_regex_traits.obj vc71/boost_regex-vc71-mt-1_47/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-1_47/cregex.obj vc71/boost_regex-vc71-mt-1_47/fileiter.obj vc71/boost_regex-vc71-mt-1_47/icu.obj vc71/boost_regex-vc71-mt-1_47/instances.obj vc71/boost_regex-vc71-mt-1_47/posix_api.obj vc71/boost_regex-vc71-mt-1_47/regex.obj vc71/boost_regex-vc71-mt-1_47/regex_debug.obj vc71/boost_regex-vc71-mt-1_47/regex_raw_buffer.obj vc71/bo [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex-vc71-mt-1_47.pdb" /debug /machine:I386 /out:"vc71/boost_regex-vc71-mt-1_47.dll" /implib:"vc71/boost_regex-vc71-mt-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc71/boost_regex-vc71-mt-1_47/c_regex_traits.obj vc71/boost_regex-vc71-mt-1_47/cpp_regex_traits.obj vc71/boost_regex-vc71-mt-1_47/cr [...]
-
-########################################################
-#
-# section for libboost_regex-vc71-mt-1_47.lib
-#
-########################################################
-vc71/libboost_regex-vc71-mt-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/cregex.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/fileiter.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/icu.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/instances.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/posix_api.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/regex.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/regex_debug.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/static_mutex.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/usinstances.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71/libboost_regex-vc71-mt-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-1_47/ -Fdvc71/libboost_regex-vc71-mt-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc71-mt-1_47_dir :
-	@if not exist "vc71\libboost_regex-vc71-mt-1_47\$(NULL)" mkdir vc71\libboost_regex-vc71-mt-1_47
-
-libboost_regex-vc71-mt-1_47_clean :
-	del vc71\libboost_regex-vc71-mt-1_47\*.obj
-	del vc71\libboost_regex-vc71-mt-1_47\*.idb
-	del vc71\libboost_regex-vc71-mt-1_47\*.exp
-	del vc71\libboost_regex-vc71-mt-1_47\*.pch
-
-./vc71/libboost_regex-vc71-mt-1_47.lib : vc71/libboost_regex-vc71-mt-1_47/c_regex_traits.obj vc71/libboost_regex-vc71-mt-1_47/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-1_47/cregex.obj vc71/libboost_regex-vc71-mt-1_47/fileiter.obj vc71/libboost_regex-vc71-mt-1_47/icu.obj vc71/libboost_regex-vc71-mt-1_47/instances.obj vc71/libboost_regex-vc71-mt-1_47/posix_api.obj vc71/libboost_regex-vc71-mt-1_47/regex.obj vc71/libboost_regex-vc71-mt-1_47/regex_debug.obj vc71/libboost_regex-vc71-mt- [...]
-	link -lib /nologo /out:vc71/libboost_regex-vc71-mt-1_47.lib $(XSFLAGS)  vc71/libboost_regex-vc71-mt-1_47/c_regex_traits.obj vc71/libboost_regex-vc71-mt-1_47/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-1_47/cregex.obj vc71/libboost_regex-vc71-mt-1_47/fileiter.obj vc71/libboost_regex-vc71-mt-1_47/icu.obj vc71/libboost_regex-vc71-mt-1_47/instances.obj vc71/libboost_regex-vc71-mt-1_47/posix_api.obj vc71/libboost_regex-vc71-mt-1_47/regex.obj vc71/libboost_regex-vc71-mt-1_47/regex_debug. [...]
-
-########################################################
-#
-# section for libboost_regex-vc71-mt-gd-1_47.lib
-#
-########################################################
-vc71/libboost_regex-vc71-mt-gd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/cregex.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/fileiter.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/icu.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/instances.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/posix_api.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/regex.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/regex_debug.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/static_mutex.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/usinstances.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc71/libboost_regex-vc71-mt-gd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc71/libboost_regex-vc71-mt-gd-1_47/ -Fdvc71/libboost_regex-vc71-mt-gd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc71-mt-gd-1_47_dir :
-	@if not exist "vc71\libboost_regex-vc71-mt-gd-1_47\$(NULL)" mkdir vc71\libboost_regex-vc71-mt-gd-1_47
-
-libboost_regex-vc71-mt-gd-1_47_clean :
-	del vc71\libboost_regex-vc71-mt-gd-1_47\*.obj
-	del vc71\libboost_regex-vc71-mt-gd-1_47\*.idb
-	del vc71\libboost_regex-vc71-mt-gd-1_47\*.exp
-	del vc71\libboost_regex-vc71-mt-gd-1_47\*.pch
-
-./vc71/libboost_regex-vc71-mt-gd-1_47.lib : vc71/libboost_regex-vc71-mt-gd-1_47/c_regex_traits.obj vc71/libboost_regex-vc71-mt-gd-1_47/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-gd-1_47/cregex.obj vc71/libboost_regex-vc71-mt-gd-1_47/fileiter.obj vc71/libboost_regex-vc71-mt-gd-1_47/icu.obj vc71/libboost_regex-vc71-mt-gd-1_47/instances.obj vc71/libboost_regex-vc71-mt-gd-1_47/posix_api.obj vc71/libboost_regex-vc71-mt-gd-1_47/regex.obj vc71/libboost_regex-vc71-mt-gd-1_47/regex_debug.ob [...]
-	link -lib /nologo /out:vc71/libboost_regex-vc71-mt-gd-1_47.lib $(XSFLAGS)  vc71/libboost_regex-vc71-mt-gd-1_47/c_regex_traits.obj vc71/libboost_regex-vc71-mt-gd-1_47/cpp_regex_traits.obj vc71/libboost_regex-vc71-mt-gd-1_47/cregex.obj vc71/libboost_regex-vc71-mt-gd-1_47/fileiter.obj vc71/libboost_regex-vc71-mt-gd-1_47/icu.obj vc71/libboost_regex-vc71-mt-gd-1_47/instances.obj vc71/libboost_regex-vc71-mt-gd-1_47/posix_api.obj vc71/libboost_regex-vc71-mt-gd-1_47/regex.obj vc71/libboost_rege [...]
-
diff --git a/SRC/Boost/libs/regex/build/vc8.mak b/SRC/Boost/libs/regex/build/vc8.mak
deleted file mode 100755
index 766242e..0000000
--- a/SRC/Boost/libs/regex/build/vc8.mak
+++ /dev/null
@@ -1,632 +0,0 @@
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for MSVC compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# path to ICU library installation goes here:
-#
-ICU_PATH=
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-MSVCDIR=$(VS80COMNTOOLS)..\..\VC
-!ENDIF
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "$(ICU_PATH)" == ""
-ICU_COMPILE_OPTS=
-ICU_LINK_OPTS=
-!MESSAGE Building Boost.Regex without ICU / Unicode support:
-!MESSAGE Hint: set ICU_PATH on the nmake command line to point 
-!MESSAGE to your ICU installation if you have one.
-!ELSE
-ICU_COMPILE_OPTS= -DBOOST_HAS_ICU=1 -I"$(ICU_PATH)\include"
-ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib
-!MESSAGE Building Boost.Regex with ICU in $(ICU_PATH)
-!ENDIF
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : main_dir libboost_regex-vc80-s-1_47_dir ./vc80/libboost_regex-vc80-s-1_47.lib libboost_regex-vc80-mt-s-1_47_dir ./vc80/libboost_regex-vc80-mt-s-1_47.lib libboost_regex-vc80-sgd-1_47_dir ./vc80/libboost_regex-vc80-sgd-1_47.lib libboost_regex-vc80-mt-sgd-1_47_dir ./vc80/libboost_regex-vc80-mt-sgd-1_47.lib boost_regex-vc80-mt-gd-1_47_dir ./vc80/boost_regex-vc80-mt-gd-1_47.lib boost_regex-vc80-mt-1_47_dir ./vc80/boost_regex-vc80-mt-1_47.lib libboost_regex-vc80-mt-1_47_dir ./vc80/libboo [...]
-
-clean :  libboost_regex-vc80-s-1_47_clean libboost_regex-vc80-mt-s-1_47_clean libboost_regex-vc80-sgd-1_47_clean libboost_regex-vc80-mt-sgd-1_47_clean boost_regex-vc80-mt-gd-1_47_clean boost_regex-vc80-mt-1_47_clean libboost_regex-vc80-mt-1_47_clean libboost_regex-vc80-mt-gd-1_47_clean
-
-install : all
-	copy vc80\libboost_regex-vc80-s-1_47.lib "$(MSVCDIR)\lib"
-	copy vc80\libboost_regex-vc80-mt-s-1_47.lib "$(MSVCDIR)\lib"
-	copy vc80\libboost_regex-vc80-sgd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc80\libboost_regex-vc80-sgd-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc80\libboost_regex-vc80-mt-sgd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc80\libboost_regex-vc80-mt-sgd-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc80\boost_regex-vc80-mt-gd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc80\boost_regex-vc80-mt-gd-1_47.dll "$(MSVCDIR)\bin"
-	copy vc80\boost_regex-vc80-mt-gd-1_47.pdb "$(MSVCDIR)\lib"
-	copy vc80\boost_regex-vc80-mt-1_47.lib "$(MSVCDIR)\lib"
-	copy vc80\boost_regex-vc80-mt-1_47.dll "$(MSVCDIR)\bin"
-	copy vc80\libboost_regex-vc80-mt-1_47.lib "$(MSVCDIR)\lib"
-	copy vc80\libboost_regex-vc80-mt-gd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc80\libboost_regex-vc80-mt-gd-1_47.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc80\$(NULL)" mkdir vc80
-
-
-########################################################
-#
-# section for libboost_regex-vc80-s-1_47.lib
-#
-########################################################
-vc80/libboost_regex-vc80-s-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/c_regex_traits.cpp
-
-vc80/libboost_regex-vc80-s-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc80/libboost_regex-vc80-s-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/cregex.cpp
-
-vc80/libboost_regex-vc80-s-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/fileiter.cpp
-
-vc80/libboost_regex-vc80-s-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/icu.cpp
-
-vc80/libboost_regex-vc80-s-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/instances.cpp
-
-vc80/libboost_regex-vc80-s-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/posix_api.cpp
-
-vc80/libboost_regex-vc80-s-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/regex.cpp
-
-vc80/libboost_regex-vc80-s-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/regex_debug.cpp
-
-vc80/libboost_regex-vc80-s-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc80/libboost_regex-vc80-s-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc80/libboost_regex-vc80-s-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/static_mutex.cpp
-
-vc80/libboost_regex-vc80-s-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/usinstances.cpp
-
-vc80/libboost_regex-vc80-s-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc80/libboost_regex-vc80-s-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc80/libboost_regex-vc80-s-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/wide_posix_api.cpp
-
-vc80/libboost_regex-vc80-s-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /c /nologo /ML /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-s-1_47/ -Fdvc80/libboost_regex-vc80-s-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc80-s-1_47_dir :
-	@if not exist "vc80\libboost_regex-vc80-s-1_47\$(NULL)" mkdir vc80\libboost_regex-vc80-s-1_47
-
-libboost_regex-vc80-s-1_47_clean :
-	del vc80\libboost_regex-vc80-s-1_47\*.obj
-	del vc80\libboost_regex-vc80-s-1_47\*.idb
-	del vc80\libboost_regex-vc80-s-1_47\*.exp
-	del vc80\libboost_regex-vc80-s-1_47\*.pch
-
-./vc80/libboost_regex-vc80-s-1_47.lib : vc80/libboost_regex-vc80-s-1_47/c_regex_traits.obj vc80/libboost_regex-vc80-s-1_47/cpp_regex_traits.obj vc80/libboost_regex-vc80-s-1_47/cregex.obj vc80/libboost_regex-vc80-s-1_47/fileiter.obj vc80/libboost_regex-vc80-s-1_47/icu.obj vc80/libboost_regex-vc80-s-1_47/instances.obj vc80/libboost_regex-vc80-s-1_47/posix_api.obj vc80/libboost_regex-vc80-s-1_47/regex.obj vc80/libboost_regex-vc80-s-1_47/regex_debug.obj vc80/libboost_regex-vc80-s-1_47/regex_ [...]
-	link -lib /nologo /out:vc80/libboost_regex-vc80-s-1_47.lib $(XSFLAGS)  vc80/libboost_regex-vc80-s-1_47/c_regex_traits.obj vc80/libboost_regex-vc80-s-1_47/cpp_regex_traits.obj vc80/libboost_regex-vc80-s-1_47/cregex.obj vc80/libboost_regex-vc80-s-1_47/fileiter.obj vc80/libboost_regex-vc80-s-1_47/icu.obj vc80/libboost_regex-vc80-s-1_47/instances.obj vc80/libboost_regex-vc80-s-1_47/posix_api.obj vc80/libboost_regex-vc80-s-1_47/regex.obj vc80/libboost_regex-vc80-s-1_47/regex_debug.obj vc80/l [...]
-
-########################################################
-#
-# section for libboost_regex-vc80-mt-s-1_47.lib
-#
-########################################################
-vc80/libboost_regex-vc80-mt-s-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/c_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/cregex.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/fileiter.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/icu.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/instances.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/posix_api.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/regex.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/regex_debug.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/static_mutex.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/usinstances.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/wide_posix_api.cpp
-
-vc80/libboost_regex-vc80-mt-s-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_47/ -Fdvc80/libboost_regex-vc80-mt-s-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc80-mt-s-1_47_dir :
-	@if not exist "vc80\libboost_regex-vc80-mt-s-1_47\$(NULL)" mkdir vc80\libboost_regex-vc80-mt-s-1_47
-
-libboost_regex-vc80-mt-s-1_47_clean :
-	del vc80\libboost_regex-vc80-mt-s-1_47\*.obj
-	del vc80\libboost_regex-vc80-mt-s-1_47\*.idb
-	del vc80\libboost_regex-vc80-mt-s-1_47\*.exp
-	del vc80\libboost_regex-vc80-mt-s-1_47\*.pch
-
-./vc80/libboost_regex-vc80-mt-s-1_47.lib : vc80/libboost_regex-vc80-mt-s-1_47/c_regex_traits.obj vc80/libboost_regex-vc80-mt-s-1_47/cpp_regex_traits.obj vc80/libboost_regex-vc80-mt-s-1_47/cregex.obj vc80/libboost_regex-vc80-mt-s-1_47/fileiter.obj vc80/libboost_regex-vc80-mt-s-1_47/icu.obj vc80/libboost_regex-vc80-mt-s-1_47/instances.obj vc80/libboost_regex-vc80-mt-s-1_47/posix_api.obj vc80/libboost_regex-vc80-mt-s-1_47/regex.obj vc80/libboost_regex-vc80-mt-s-1_47/regex_debug.obj vc80/lib [...]
-	link -lib /nologo /out:vc80/libboost_regex-vc80-mt-s-1_47.lib $(XSFLAGS)  vc80/libboost_regex-vc80-mt-s-1_47/c_regex_traits.obj vc80/libboost_regex-vc80-mt-s-1_47/cpp_regex_traits.obj vc80/libboost_regex-vc80-mt-s-1_47/cregex.obj vc80/libboost_regex-vc80-mt-s-1_47/fileiter.obj vc80/libboost_regex-vc80-mt-s-1_47/icu.obj vc80/libboost_regex-vc80-mt-s-1_47/instances.obj vc80/libboost_regex-vc80-mt-s-1_47/posix_api.obj vc80/libboost_regex-vc80-mt-s-1_47/regex.obj vc80/libboost_regex-vc80-mt [...]
-
-########################################################
-#
-# section for libboost_regex-vc80-sgd-1_47.lib
-#
-########################################################
-vc80/libboost_regex-vc80-sgd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/cregex.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/fileiter.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/icu.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/instances.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/posix_api.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/regex.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/regex_debug.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/static_mutex.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/usinstances.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc80/libboost_regex-vc80-sgd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MLd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c  $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-sgd-1_47/ -Fdvc80/libboost_regex-vc80-sgd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc80-sgd-1_47_dir :
-	@if not exist "vc80\libboost_regex-vc80-sgd-1_47\$(NULL)" mkdir vc80\libboost_regex-vc80-sgd-1_47
-
-libboost_regex-vc80-sgd-1_47_clean :
-	del vc80\libboost_regex-vc80-sgd-1_47\*.obj
-	del vc80\libboost_regex-vc80-sgd-1_47\*.idb
-	del vc80\libboost_regex-vc80-sgd-1_47\*.exp
-	del vc80\libboost_regex-vc80-sgd-1_47\*.pch
-
-./vc80/libboost_regex-vc80-sgd-1_47.lib : vc80/libboost_regex-vc80-sgd-1_47/c_regex_traits.obj vc80/libboost_regex-vc80-sgd-1_47/cpp_regex_traits.obj vc80/libboost_regex-vc80-sgd-1_47/cregex.obj vc80/libboost_regex-vc80-sgd-1_47/fileiter.obj vc80/libboost_regex-vc80-sgd-1_47/icu.obj vc80/libboost_regex-vc80-sgd-1_47/instances.obj vc80/libboost_regex-vc80-sgd-1_47/posix_api.obj vc80/libboost_regex-vc80-sgd-1_47/regex.obj vc80/libboost_regex-vc80-sgd-1_47/regex_debug.obj vc80/libboost_rege [...]
-	link -lib /nologo /out:vc80/libboost_regex-vc80-sgd-1_47.lib $(XSFLAGS)  vc80/libboost_regex-vc80-sgd-1_47/c_regex_traits.obj vc80/libboost_regex-vc80-sgd-1_47/cpp_regex_traits.obj vc80/libboost_regex-vc80-sgd-1_47/cregex.obj vc80/libboost_regex-vc80-sgd-1_47/fileiter.obj vc80/libboost_regex-vc80-sgd-1_47/icu.obj vc80/libboost_regex-vc80-sgd-1_47/instances.obj vc80/libboost_regex-vc80-sgd-1_47/posix_api.obj vc80/libboost_regex-vc80-sgd-1_47/regex.obj vc80/libboost_regex-vc80-sgd-1_47/re [...]
-
-########################################################
-#
-# section for libboost_regex-vc80-mt-sgd-1_47.lib
-#
-########################################################
-vc80/libboost_regex-vc80-mt-sgd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/cregex.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/fileiter.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/icu.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/instances.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/posix_api.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/regex.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/regex_debug.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/static_mutex.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/usinstances.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc80/libboost_regex-vc80-mt-sgd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-sgd-1_47/ -Fdvc80/libboost_regex-vc80-mt-sgd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc80-mt-sgd-1_47_dir :
-	@if not exist "vc80\libboost_regex-vc80-mt-sgd-1_47\$(NULL)" mkdir vc80\libboost_regex-vc80-mt-sgd-1_47
-
-libboost_regex-vc80-mt-sgd-1_47_clean :
-	del vc80\libboost_regex-vc80-mt-sgd-1_47\*.obj
-	del vc80\libboost_regex-vc80-mt-sgd-1_47\*.idb
-	del vc80\libboost_regex-vc80-mt-sgd-1_47\*.exp
-	del vc80\libboost_regex-vc80-mt-sgd-1_47\*.pch
-
-./vc80/libboost_regex-vc80-mt-sgd-1_47.lib : vc80/libboost_regex-vc80-mt-sgd-1_47/c_regex_traits.obj vc80/libboost_regex-vc80-mt-sgd-1_47/cpp_regex_traits.obj vc80/libboost_regex-vc80-mt-sgd-1_47/cregex.obj vc80/libboost_regex-vc80-mt-sgd-1_47/fileiter.obj vc80/libboost_regex-vc80-mt-sgd-1_47/icu.obj vc80/libboost_regex-vc80-mt-sgd-1_47/instances.obj vc80/libboost_regex-vc80-mt-sgd-1_47/posix_api.obj vc80/libboost_regex-vc80-mt-sgd-1_47/regex.obj vc80/libboost_regex-vc80-mt-sgd-1_47/rege [...]
-	link -lib /nologo /out:vc80/libboost_regex-vc80-mt-sgd-1_47.lib $(XSFLAGS)  vc80/libboost_regex-vc80-mt-sgd-1_47/c_regex_traits.obj vc80/libboost_regex-vc80-mt-sgd-1_47/cpp_regex_traits.obj vc80/libboost_regex-vc80-mt-sgd-1_47/cregex.obj vc80/libboost_regex-vc80-mt-sgd-1_47/fileiter.obj vc80/libboost_regex-vc80-mt-sgd-1_47/icu.obj vc80/libboost_regex-vc80-mt-sgd-1_47/instances.obj vc80/libboost_regex-vc80-mt-sgd-1_47/posix_api.obj vc80/libboost_regex-vc80-mt-sgd-1_47/regex.obj vc80/libb [...]
-
-########################################################
-#
-# section for boost_regex-vc80-mt-gd-1_47.lib
-#
-########################################################
-vc80/boost_regex-vc80-mt-gd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/cregex.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/fileiter.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/icu.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/instances.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/posix_api.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/regex.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/regex_debug.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/static_mutex.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/usinstances.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc80/boost_regex-vc80-mt-gd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-gd-1_47/ -Fdvc80/boost_regex-vc80-mt-gd-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc80-mt-gd-1_47_dir :
-	@if not exist "vc80\boost_regex-vc80-mt-gd-1_47\$(NULL)" mkdir vc80\boost_regex-vc80-mt-gd-1_47
-
-boost_regex-vc80-mt-gd-1_47_clean :
-	del vc80\boost_regex-vc80-mt-gd-1_47\*.obj
-	del vc80\boost_regex-vc80-mt-gd-1_47\*.idb
-	del vc80\boost_regex-vc80-mt-gd-1_47\*.exp
-	del vc80\boost_regex-vc80-mt-gd-1_47\*.pch
-
-./vc80/boost_regex-vc80-mt-gd-1_47.lib : vc80/boost_regex-vc80-mt-gd-1_47/c_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_47/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_47/cregex.obj vc80/boost_regex-vc80-mt-gd-1_47/fileiter.obj vc80/boost_regex-vc80-mt-gd-1_47/icu.obj vc80/boost_regex-vc80-mt-gd-1_47/instances.obj vc80/boost_regex-vc80-mt-gd-1_47/posix_api.obj vc80/boost_regex-vc80-mt-gd-1_47/regex.obj vc80/boost_regex-vc80-mt-gd-1_47/regex_debug.obj vc80/boost_regex-vc80-mt-gd- [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc80/boost_regex-vc80-mt-gd-1_47.pdb" /debug /machine:I386 /out:"vc80/boost_regex-vc80-mt-gd-1_47.dll" /implib:"vc80/boost_regex-vc80-mt-gd-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc80/boost_regex-vc80-mt-gd-1_47/c_regex_traits.obj vc80/boost_regex-vc80-mt-gd-1_47/cpp_regex_traits.obj vc80/boost_regex- [...]
-
-########################################################
-#
-# section for boost_regex-vc80-mt-1_47.lib
-#
-########################################################
-vc80/boost_regex-vc80-mt-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/c_regex_traits.cpp
-
-vc80/boost_regex-vc80-mt-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc80/boost_regex-vc80-mt-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/cregex.cpp
-
-vc80/boost_regex-vc80-mt-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/fileiter.cpp
-
-vc80/boost_regex-vc80-mt-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/icu.cpp
-
-vc80/boost_regex-vc80-mt-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/instances.cpp
-
-vc80/boost_regex-vc80-mt-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/posix_api.cpp
-
-vc80/boost_regex-vc80-mt-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/regex.cpp
-
-vc80/boost_regex-vc80-mt-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/regex_debug.cpp
-
-vc80/boost_regex-vc80-mt-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc80/boost_regex-vc80-mt-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc80/boost_regex-vc80-mt-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/static_mutex.cpp
-
-vc80/boost_regex-vc80-mt-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/usinstances.cpp
-
-vc80/boost_regex-vc80-mt-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc80/boost_regex-vc80-mt-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc80/boost_regex-vc80-mt-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/wide_posix_api.cpp
-
-vc80/boost_regex-vc80-mt-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/boost_regex-vc80-mt-1_47/ -Fdvc80/boost_regex-vc80-mt-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc80-mt-1_47_dir :
-	@if not exist "vc80\boost_regex-vc80-mt-1_47\$(NULL)" mkdir vc80\boost_regex-vc80-mt-1_47
-
-boost_regex-vc80-mt-1_47_clean :
-	del vc80\boost_regex-vc80-mt-1_47\*.obj
-	del vc80\boost_regex-vc80-mt-1_47\*.idb
-	del vc80\boost_regex-vc80-mt-1_47\*.exp
-	del vc80\boost_regex-vc80-mt-1_47\*.pch
-
-./vc80/boost_regex-vc80-mt-1_47.lib : vc80/boost_regex-vc80-mt-1_47/c_regex_traits.obj vc80/boost_regex-vc80-mt-1_47/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-1_47/cregex.obj vc80/boost_regex-vc80-mt-1_47/fileiter.obj vc80/boost_regex-vc80-mt-1_47/icu.obj vc80/boost_regex-vc80-mt-1_47/instances.obj vc80/boost_regex-vc80-mt-1_47/posix_api.obj vc80/boost_regex-vc80-mt-1_47/regex.obj vc80/boost_regex-vc80-mt-1_47/regex_debug.obj vc80/boost_regex-vc80-mt-1_47/regex_raw_buffer.obj vc80/bo [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc80/boost_regex-vc80-mt-1_47.pdb" /debug /machine:I386 /out:"vc80/boost_regex-vc80-mt-1_47.dll" /implib:"vc80/boost_regex-vc80-mt-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc80/boost_regex-vc80-mt-1_47/c_regex_traits.obj vc80/boost_regex-vc80-mt-1_47/cpp_regex_traits.obj vc80/boost_regex-vc80-mt-1_47/cr [...]
-
-########################################################
-#
-# section for libboost_regex-vc80-mt-1_47.lib
-#
-########################################################
-vc80/libboost_regex-vc80-mt-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/c_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/cregex.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/fileiter.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/icu.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/instances.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/posix_api.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/regex.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/regex_debug.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/static_mutex.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/usinstances.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/wide_posix_api.cpp
-
-vc80/libboost_regex-vc80-mt-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-1_47/ -Fdvc80/libboost_regex-vc80-mt-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc80-mt-1_47_dir :
-	@if not exist "vc80\libboost_regex-vc80-mt-1_47\$(NULL)" mkdir vc80\libboost_regex-vc80-mt-1_47
-
-libboost_regex-vc80-mt-1_47_clean :
-	del vc80\libboost_regex-vc80-mt-1_47\*.obj
-	del vc80\libboost_regex-vc80-mt-1_47\*.idb
-	del vc80\libboost_regex-vc80-mt-1_47\*.exp
-	del vc80\libboost_regex-vc80-mt-1_47\*.pch
-
-./vc80/libboost_regex-vc80-mt-1_47.lib : vc80/libboost_regex-vc80-mt-1_47/c_regex_traits.obj vc80/libboost_regex-vc80-mt-1_47/cpp_regex_traits.obj vc80/libboost_regex-vc80-mt-1_47/cregex.obj vc80/libboost_regex-vc80-mt-1_47/fileiter.obj vc80/libboost_regex-vc80-mt-1_47/icu.obj vc80/libboost_regex-vc80-mt-1_47/instances.obj vc80/libboost_regex-vc80-mt-1_47/posix_api.obj vc80/libboost_regex-vc80-mt-1_47/regex.obj vc80/libboost_regex-vc80-mt-1_47/regex_debug.obj vc80/libboost_regex-vc80-mt- [...]
-	link -lib /nologo /out:vc80/libboost_regex-vc80-mt-1_47.lib $(XSFLAGS)  vc80/libboost_regex-vc80-mt-1_47/c_regex_traits.obj vc80/libboost_regex-vc80-mt-1_47/cpp_regex_traits.obj vc80/libboost_regex-vc80-mt-1_47/cregex.obj vc80/libboost_regex-vc80-mt-1_47/fileiter.obj vc80/libboost_regex-vc80-mt-1_47/icu.obj vc80/libboost_regex-vc80-mt-1_47/instances.obj vc80/libboost_regex-vc80-mt-1_47/posix_api.obj vc80/libboost_regex-vc80-mt-1_47/regex.obj vc80/libboost_regex-vc80-mt-1_47/regex_debug. [...]
-
-########################################################
-#
-# section for libboost_regex-vc80-mt-gd-1_47.lib
-#
-########################################################
-vc80/libboost_regex-vc80-mt-gd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/cregex.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/fileiter.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/icu.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/instances.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/posix_api.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/regex.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/regex_debug.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/static_mutex.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/usinstances.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc80/libboost_regex-vc80-mt-gd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc80/libboost_regex-vc80-mt-gd-1_47/ -Fdvc80/libboost_regex-vc80-mt-gd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc80-mt-gd-1_47_dir :
-	@if not exist "vc80\libboost_regex-vc80-mt-gd-1_47\$(NULL)" mkdir vc80\libboost_regex-vc80-mt-gd-1_47
-
-libboost_regex-vc80-mt-gd-1_47_clean :
-	del vc80\libboost_regex-vc80-mt-gd-1_47\*.obj
-	del vc80\libboost_regex-vc80-mt-gd-1_47\*.idb
-	del vc80\libboost_regex-vc80-mt-gd-1_47\*.exp
-	del vc80\libboost_regex-vc80-mt-gd-1_47\*.pch
-
-./vc80/libboost_regex-vc80-mt-gd-1_47.lib : vc80/libboost_regex-vc80-mt-gd-1_47/c_regex_traits.obj vc80/libboost_regex-vc80-mt-gd-1_47/cpp_regex_traits.obj vc80/libboost_regex-vc80-mt-gd-1_47/cregex.obj vc80/libboost_regex-vc80-mt-gd-1_47/fileiter.obj vc80/libboost_regex-vc80-mt-gd-1_47/icu.obj vc80/libboost_regex-vc80-mt-gd-1_47/instances.obj vc80/libboost_regex-vc80-mt-gd-1_47/posix_api.obj vc80/libboost_regex-vc80-mt-gd-1_47/regex.obj vc80/libboost_regex-vc80-mt-gd-1_47/regex_debug.ob [...]
-	link -lib /nologo /out:vc80/libboost_regex-vc80-mt-gd-1_47.lib $(XSFLAGS)  vc80/libboost_regex-vc80-mt-gd-1_47/c_regex_traits.obj vc80/libboost_regex-vc80-mt-gd-1_47/cpp_regex_traits.obj vc80/libboost_regex-vc80-mt-gd-1_47/cregex.obj vc80/libboost_regex-vc80-mt-gd-1_47/fileiter.obj vc80/libboost_regex-vc80-mt-gd-1_47/icu.obj vc80/libboost_regex-vc80-mt-gd-1_47/instances.obj vc80/libboost_regex-vc80-mt-gd-1_47/posix_api.obj vc80/libboost_regex-vc80-mt-gd-1_47/regex.obj vc80/libboost_rege [...]
-
diff --git a/SRC/Boost/libs/regex/build/vc9.mak b/SRC/Boost/libs/regex/build/vc9.mak
deleted file mode 100755
index 917c76d..0000000
--- a/SRC/Boost/libs/regex/build/vc9.mak
+++ /dev/null
@@ -1,491 +0,0 @@
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for MSVC compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# path to ICU library installation goes here:
-#
-ICU_PATH=
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "$(MSVCDIR)" == ""
-MSVCDIR=$(VS90COMNTOOLS)..\..\VC
-!ENDIF
-
-!IF "$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "$(ICU_PATH)" == ""
-ICU_COMPILE_OPTS=
-ICU_LINK_OPTS=
-!MESSAGE Building Boost.Regex without ICU / Unicode support:
-!MESSAGE Hint: set ICU_PATH on the nmake command line to point 
-!MESSAGE to your ICU installation if you have one.
-!ELSE
-ICU_COMPILE_OPTS= -DBOOST_HAS_ICU=1 -I"$(ICU_PATH)\include"
-ICU_LINK_OPTS= /LIBPATH:"$(ICU_PATH)\lib" icuin.lib icuuc.lib
-!MESSAGE Building Boost.Regex with ICU in $(ICU_PATH)
-!ENDIF
-
-
-ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/icu.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v4/basic_regex.hpp ../../../boost/regex/v4/basic_regex_creator.hpp ../../../boost/regex/v4/basic_regex_parser.hpp ../../../boost/regex/v4/c_regex_traits.hpp ../../../boost/regex/v4/char_regex_traits.hpp ../../../boost/regex/v4/cpp_regex_traits.hpp ../../../boost/regex/v4/cregex.hpp ../../. [...]
-
-all : main_dir libboost_regex-vc90-mt-s-1_47_dir ./vc90/libboost_regex-vc90-mt-s-1_47.lib libboost_regex-vc90-mt-sgd-1_47_dir ./vc90/libboost_regex-vc90-mt-sgd-1_47.lib boost_regex-vc90-mt-gd-1_47_dir ./vc90/boost_regex-vc90-mt-gd-1_47.lib boost_regex-vc90-mt-1_47_dir ./vc90/boost_regex-vc90-mt-1_47.lib libboost_regex-vc90-mt-1_47_dir ./vc90/libboost_regex-vc90-mt-1_47.lib libboost_regex-vc90-mt-gd-1_47_dir ./vc90/libboost_regex-vc90-mt-gd-1_47.lib
-
-clean :  libboost_regex-vc90-mt-s-1_47_clean libboost_regex-vc90-mt-sgd-1_47_clean boost_regex-vc90-mt-gd-1_47_clean boost_regex-vc90-mt-1_47_clean libboost_regex-vc90-mt-1_47_clean libboost_regex-vc90-mt-gd-1_47_clean
-
-install : all
-	copy vc90\libboost_regex-vc90-mt-s-1_47.lib "$(MSVCDIR)\lib"
-	copy vc90\libboost_regex-vc90-mt-sgd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc90\boost_regex-vc90-mt-gd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc90\boost_regex-vc90-mt-gd-1_47.dll "$(MSVCDIR)\bin"
-	copy vc90\boost_regex-vc90-mt-1_47.lib "$(MSVCDIR)\lib"
-	copy vc90\boost_regex-vc90-mt-1_47.dll "$(MSVCDIR)\bin"
-	copy vc90\libboost_regex-vc90-mt-1_47.lib "$(MSVCDIR)\lib"
-	copy vc90\libboost_regex-vc90-mt-gd-1_47.lib "$(MSVCDIR)\lib"
-	copy vc90\libboost_regex-vc90-mt-gd-1_47.pdb "$(MSVCDIR)\lib"
-
-main_dir :
-	@if not exist "vc90\$(NULL)" mkdir vc90
-
-
-########################################################
-#
-# section for libboost_regex-vc90-mt-s-1_47.lib
-#
-########################################################
-vc90/libboost_regex-vc90-mt-s-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/c_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/cregex.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/fileiter.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/icu.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/instances.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/posix_api.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/regex.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/regex_debug.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/static_mutex.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/usinstances.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/wide_posix_api.cpp
-
-vc90/libboost_regex-vc90-mt-s-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MT /W3 /EHsc /O2  /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-s-1_47/ -Fdvc90/libboost_regex-vc90-mt-s-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc90-mt-s-1_47_dir :
-	@if not exist "vc90\libboost_regex-vc90-mt-s-1_47\$(NULL)" mkdir vc90\libboost_regex-vc90-mt-s-1_47
-
-libboost_regex-vc90-mt-s-1_47_clean :
-	del vc90\libboost_regex-vc90-mt-s-1_47\*.obj
-	del vc90\libboost_regex-vc90-mt-s-1_47\*.idb
-	del vc90\libboost_regex-vc90-mt-s-1_47\*.exp
-	del vc90\libboost_regex-vc90-mt-s-1_47\*.pch
-
-./vc90/libboost_regex-vc90-mt-s-1_47.lib : vc90/libboost_regex-vc90-mt-s-1_47/c_regex_traits.obj vc90/libboost_regex-vc90-mt-s-1_47/cpp_regex_traits.obj vc90/libboost_regex-vc90-mt-s-1_47/cregex.obj vc90/libboost_regex-vc90-mt-s-1_47/fileiter.obj vc90/libboost_regex-vc90-mt-s-1_47/icu.obj vc90/libboost_regex-vc90-mt-s-1_47/instances.obj vc90/libboost_regex-vc90-mt-s-1_47/posix_api.obj vc90/libboost_regex-vc90-mt-s-1_47/regex.obj vc90/libboost_regex-vc90-mt-s-1_47/regex_debug.obj vc90/lib [...]
-	link -lib /nologo /out:vc90/libboost_regex-vc90-mt-s-1_47.lib $(XSFLAGS)  vc90/libboost_regex-vc90-mt-s-1_47/c_regex_traits.obj vc90/libboost_regex-vc90-mt-s-1_47/cpp_regex_traits.obj vc90/libboost_regex-vc90-mt-s-1_47/cregex.obj vc90/libboost_regex-vc90-mt-s-1_47/fileiter.obj vc90/libboost_regex-vc90-mt-s-1_47/icu.obj vc90/libboost_regex-vc90-mt-s-1_47/instances.obj vc90/libboost_regex-vc90-mt-s-1_47/posix_api.obj vc90/libboost_regex-vc90-mt-s-1_47/regex.obj vc90/libboost_regex-vc90-mt [...]
-
-########################################################
-#
-# section for libboost_regex-vc90-mt-sgd-1_47.lib
-#
-########################################################
-vc90/libboost_regex-vc90-mt-sgd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/cregex.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/fileiter.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/icu.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/instances.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/posix_api.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/regex.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/regex_debug.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/static_mutex.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/usinstances.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc90/libboost_regex-vc90-mt-sgd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MTd /W3 /Gm /EHsc /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-sgd-1_47/ -Fdvc90/libboost_regex-vc90-mt-sgd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc90-mt-sgd-1_47_dir :
-	@if not exist "vc90\libboost_regex-vc90-mt-sgd-1_47\$(NULL)" mkdir vc90\libboost_regex-vc90-mt-sgd-1_47
-
-libboost_regex-vc90-mt-sgd-1_47_clean :
-	del vc90\libboost_regex-vc90-mt-sgd-1_47\*.obj
-	del vc90\libboost_regex-vc90-mt-sgd-1_47\*.idb
-	del vc90\libboost_regex-vc90-mt-sgd-1_47\*.exp
-	del vc90\libboost_regex-vc90-mt-sgd-1_47\*.pch
-
-./vc90/libboost_regex-vc90-mt-sgd-1_47.lib : vc90/libboost_regex-vc90-mt-sgd-1_47/c_regex_traits.obj vc90/libboost_regex-vc90-mt-sgd-1_47/cpp_regex_traits.obj vc90/libboost_regex-vc90-mt-sgd-1_47/cregex.obj vc90/libboost_regex-vc90-mt-sgd-1_47/fileiter.obj vc90/libboost_regex-vc90-mt-sgd-1_47/icu.obj vc90/libboost_regex-vc90-mt-sgd-1_47/instances.obj vc90/libboost_regex-vc90-mt-sgd-1_47/posix_api.obj vc90/libboost_regex-vc90-mt-sgd-1_47/regex.obj vc90/libboost_regex-vc90-mt-sgd-1_47/rege [...]
-	link -lib /nologo /out:vc90/libboost_regex-vc90-mt-sgd-1_47.lib $(XSFLAGS)  vc90/libboost_regex-vc90-mt-sgd-1_47/c_regex_traits.obj vc90/libboost_regex-vc90-mt-sgd-1_47/cpp_regex_traits.obj vc90/libboost_regex-vc90-mt-sgd-1_47/cregex.obj vc90/libboost_regex-vc90-mt-sgd-1_47/fileiter.obj vc90/libboost_regex-vc90-mt-sgd-1_47/icu.obj vc90/libboost_regex-vc90-mt-sgd-1_47/instances.obj vc90/libboost_regex-vc90-mt-sgd-1_47/posix_api.obj vc90/libboost_regex-vc90-mt-sgd-1_47/regex.obj vc90/libb [...]
-
-########################################################
-#
-# section for boost_regex-vc90-mt-gd-1_47.lib
-#
-########################################################
-vc90/boost_regex-vc90-mt-gd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/cregex.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/fileiter.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/icu.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/instances.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/posix_api.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/regex.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/regex_debug.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/static_mutex.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/usinstances.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc90/boost_regex-vc90-mt-gd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-gd-1_47/ -Fdvc90/boost_regex-vc90-mt-gd-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc90-mt-gd-1_47_dir :
-	@if not exist "vc90\boost_regex-vc90-mt-gd-1_47\$(NULL)" mkdir vc90\boost_regex-vc90-mt-gd-1_47
-
-boost_regex-vc90-mt-gd-1_47_clean :
-	del vc90\boost_regex-vc90-mt-gd-1_47\*.obj
-	del vc90\boost_regex-vc90-mt-gd-1_47\*.idb
-	del vc90\boost_regex-vc90-mt-gd-1_47\*.exp
-	del vc90\boost_regex-vc90-mt-gd-1_47\*.pch
-
-./vc90/boost_regex-vc90-mt-gd-1_47.lib : vc90/boost_regex-vc90-mt-gd-1_47/c_regex_traits.obj vc90/boost_regex-vc90-mt-gd-1_47/cpp_regex_traits.obj vc90/boost_regex-vc90-mt-gd-1_47/cregex.obj vc90/boost_regex-vc90-mt-gd-1_47/fileiter.obj vc90/boost_regex-vc90-mt-gd-1_47/icu.obj vc90/boost_regex-vc90-mt-gd-1_47/instances.obj vc90/boost_regex-vc90-mt-gd-1_47/posix_api.obj vc90/boost_regex-vc90-mt-gd-1_47/regex.obj vc90/boost_regex-vc90-mt-gd-1_47/regex_debug.obj vc90/boost_regex-vc90-mt-gd- [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc90/boost_regex-vc90-mt-gd-1_47.pdb" /debug /machine:I386 /out:"vc90/boost_regex-vc90-mt-gd-1_47.dll" /implib:"vc90/boost_regex-vc90-mt-gd-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc90/boost_regex-vc90-mt-gd-1_47/c_regex_traits.obj vc90/boost_regex-vc90-mt-gd-1_47/cpp_regex_traits.obj vc90/boost_regex- [...]
-
-########################################################
-#
-# section for boost_regex-vc90-mt-1_47.lib
-#
-########################################################
-vc90/boost_regex-vc90-mt-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/c_regex_traits.cpp
-
-vc90/boost_regex-vc90-mt-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc90/boost_regex-vc90-mt-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/cregex.cpp
-
-vc90/boost_regex-vc90-mt-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/fileiter.cpp
-
-vc90/boost_regex-vc90-mt-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/icu.cpp
-
-vc90/boost_regex-vc90-mt-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/instances.cpp
-
-vc90/boost_regex-vc90-mt-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/posix_api.cpp
-
-vc90/boost_regex-vc90-mt-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/regex.cpp
-
-vc90/boost_regex-vc90-mt-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/regex_debug.cpp
-
-vc90/boost_regex-vc90-mt-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc90/boost_regex-vc90-mt-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc90/boost_regex-vc90-mt-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/static_mutex.cpp
-
-vc90/boost_regex-vc90-mt-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/usinstances.cpp
-
-vc90/boost_regex-vc90-mt-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc90/boost_regex-vc90-mt-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc90/boost_regex-vc90-mt-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/wide_posix_api.cpp
-
-vc90/boost_regex-vc90-mt-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/boost_regex-vc90-mt-1_47/ -Fdvc90/boost_regex-vc90-mt-1_47.pdb ../src/winstances.cpp
-
-boost_regex-vc90-mt-1_47_dir :
-	@if not exist "vc90\boost_regex-vc90-mt-1_47\$(NULL)" mkdir vc90\boost_regex-vc90-mt-1_47
-
-boost_regex-vc90-mt-1_47_clean :
-	del vc90\boost_regex-vc90-mt-1_47\*.obj
-	del vc90\boost_regex-vc90-mt-1_47\*.idb
-	del vc90\boost_regex-vc90-mt-1_47\*.exp
-	del vc90\boost_regex-vc90-mt-1_47\*.pch
-
-./vc90/boost_regex-vc90-mt-1_47.lib : vc90/boost_regex-vc90-mt-1_47/c_regex_traits.obj vc90/boost_regex-vc90-mt-1_47/cpp_regex_traits.obj vc90/boost_regex-vc90-mt-1_47/cregex.obj vc90/boost_regex-vc90-mt-1_47/fileiter.obj vc90/boost_regex-vc90-mt-1_47/icu.obj vc90/boost_regex-vc90-mt-1_47/instances.obj vc90/boost_regex-vc90-mt-1_47/posix_api.obj vc90/boost_regex-vc90-mt-1_47/regex.obj vc90/boost_regex-vc90-mt-1_47/regex_debug.obj vc90/boost_regex-vc90-mt-1_47/regex_raw_buffer.obj vc90/bo [...]
-	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:"vc90/boost_regex-vc90-mt-1_47.pdb" /debug /machine:I386 /out:"vc90/boost_regex-vc90-mt-1_47.dll" /implib:"vc90/boost_regex-vc90-mt-1_47.lib" /LIBPATH:"$(STLPORT_PATH)\lib" $(XLFLAGS) $(ICU_LINK_OPTS)  vc90/boost_regex-vc90-mt-1_47/c_regex_traits.obj vc90/boost_regex-vc90-mt-1_47/cpp_regex_traits.obj vc90/boost_regex-vc90-mt-1_47/cr [...]
-
-########################################################
-#
-# section for libboost_regex-vc90-mt-1_47.lib
-#
-########################################################
-vc90/libboost_regex-vc90-mt-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/c_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/cregex.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/fileiter.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/icu.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/instances.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/posix_api.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/regex.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/regex_debug.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/static_mutex.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/usinstances.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/wide_posix_api.cpp
-
-vc90/libboost_regex-vc90-mt-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MD /W3 /EHsc /O2  /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /Zc:wchar_t /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-1_47/ -Fdvc90/libboost_regex-vc90-mt-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc90-mt-1_47_dir :
-	@if not exist "vc90\libboost_regex-vc90-mt-1_47\$(NULL)" mkdir vc90\libboost_regex-vc90-mt-1_47
-
-libboost_regex-vc90-mt-1_47_clean :
-	del vc90\libboost_regex-vc90-mt-1_47\*.obj
-	del vc90\libboost_regex-vc90-mt-1_47\*.idb
-	del vc90\libboost_regex-vc90-mt-1_47\*.exp
-	del vc90\libboost_regex-vc90-mt-1_47\*.pch
-
-./vc90/libboost_regex-vc90-mt-1_47.lib : vc90/libboost_regex-vc90-mt-1_47/c_regex_traits.obj vc90/libboost_regex-vc90-mt-1_47/cpp_regex_traits.obj vc90/libboost_regex-vc90-mt-1_47/cregex.obj vc90/libboost_regex-vc90-mt-1_47/fileiter.obj vc90/libboost_regex-vc90-mt-1_47/icu.obj vc90/libboost_regex-vc90-mt-1_47/instances.obj vc90/libboost_regex-vc90-mt-1_47/posix_api.obj vc90/libboost_regex-vc90-mt-1_47/regex.obj vc90/libboost_regex-vc90-mt-1_47/regex_debug.obj vc90/libboost_regex-vc90-mt- [...]
-	link -lib /nologo /out:vc90/libboost_regex-vc90-mt-1_47.lib $(XSFLAGS)  vc90/libboost_regex-vc90-mt-1_47/c_regex_traits.obj vc90/libboost_regex-vc90-mt-1_47/cpp_regex_traits.obj vc90/libboost_regex-vc90-mt-1_47/cregex.obj vc90/libboost_regex-vc90-mt-1_47/fileiter.obj vc90/libboost_regex-vc90-mt-1_47/icu.obj vc90/libboost_regex-vc90-mt-1_47/instances.obj vc90/libboost_regex-vc90-mt-1_47/posix_api.obj vc90/libboost_regex-vc90-mt-1_47/regex.obj vc90/libboost_regex-vc90-mt-1_47/regex_debug. [...]
-
-########################################################
-#
-# section for libboost_regex-vc90-mt-gd-1_47.lib
-#
-########################################################
-vc90/libboost_regex-vc90-mt-gd-1_47/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/c_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/cpp_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/cregex.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/fileiter.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/icu.obj: ../src/icu.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/icu.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/instances.obj: ../src/instances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/instances.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/posix_api.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/regex.obj: ../src/regex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/regex.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/regex_debug.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/regex_raw_buffer.obj: ../src/regex_raw_buffer.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/regex_raw_buffer.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/regex_traits_defaults.obj: ../src/regex_traits_defaults.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/regex_traits_defaults.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/static_mutex.obj: ../src/static_mutex.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/static_mutex.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/usinstances.obj: ../src/usinstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/usinstances.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/w32_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/wc_regex_traits.obj: ../src/wc_regex_traits.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/wc_regex_traits.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/wide_posix_api.cpp
-
-vc90/libboost_regex-vc90-mt-gd-1_47/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
-	cl $(INCLUDES) /nologo /MDd /W3 /Gm /EHsc /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /EHsc /c $(CXXFLAGS) $(ICU_COMPILE_OPTS) -Y- -Fo./vc90/libboost_regex-vc90-mt-gd-1_47/ -Fdvc90/libboost_regex-vc90-mt-gd-1_47.pdb ../src/winstances.cpp
-
-libboost_regex-vc90-mt-gd-1_47_dir :
-	@if not exist "vc90\libboost_regex-vc90-mt-gd-1_47\$(NULL)" mkdir vc90\libboost_regex-vc90-mt-gd-1_47
-
-libboost_regex-vc90-mt-gd-1_47_clean :
-	del vc90\libboost_regex-vc90-mt-gd-1_47\*.obj
-	del vc90\libboost_regex-vc90-mt-gd-1_47\*.idb
-	del vc90\libboost_regex-vc90-mt-gd-1_47\*.exp
-	del vc90\libboost_regex-vc90-mt-gd-1_47\*.pch
-
-./vc90/libboost_regex-vc90-mt-gd-1_47.lib : vc90/libboost_regex-vc90-mt-gd-1_47/c_regex_traits.obj vc90/libboost_regex-vc90-mt-gd-1_47/cpp_regex_traits.obj vc90/libboost_regex-vc90-mt-gd-1_47/cregex.obj vc90/libboost_regex-vc90-mt-gd-1_47/fileiter.obj vc90/libboost_regex-vc90-mt-gd-1_47/icu.obj vc90/libboost_regex-vc90-mt-gd-1_47/instances.obj vc90/libboost_regex-vc90-mt-gd-1_47/posix_api.obj vc90/libboost_regex-vc90-mt-gd-1_47/regex.obj vc90/libboost_regex-vc90-mt-gd-1_47/regex_debug.ob [...]
-	link -lib /nologo /out:vc90/libboost_regex-vc90-mt-gd-1_47.lib $(XSFLAGS)  vc90/libboost_regex-vc90-mt-gd-1_47/c_regex_traits.obj vc90/libboost_regex-vc90-mt-gd-1_47/cpp_regex_traits.obj vc90/libboost_regex-vc90-mt-gd-1_47/cregex.obj vc90/libboost_regex-vc90-mt-gd-1_47/fileiter.obj vc90/libboost_regex-vc90-mt-gd-1_47/icu.obj vc90/libboost_regex-vc90-mt-gd-1_47/instances.obj vc90/libboost_regex-vc90-mt-gd-1_47/posix_api.obj vc90/libboost_regex-vc90-mt-gd-1_47/regex.obj vc90/libboost_rege [...]
-
diff --git a/SRC/Boost/libs/regex/build/vc_gen.sh b/SRC/Boost/libs/regex/build/vc_gen.sh
deleted file mode 100755
index 0838770..0000000
--- a/SRC/Boost/libs/regex/build/vc_gen.sh
+++ /dev/null
@@ -1,509 +0,0 @@
-#! /bin/bash
-
-# copyright John Maddock 2003
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-
-libname=""
-src=""
-header=""
-all_dep=""
-
-# current makefile:
-out=""
-# temporary file:
-tout=""
-# install target temp file:
-iout=""
-# debug flag:
-debug="no"
-# compile options:
-opts=""
-# main output sub-directory:
-subdir=""
-stlport_suffix=""
-# extra debug /RTc options:
-debug_extra=""
-
-function vc6_gen_lib()
-{
-	all_dep="$all_dep $libname""_dir ./$subdir$stlport_suffix/$libname.lib"
-	echo "	copy $subdir$stlport_suffix\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout
-	if test $debug == "yes"; then
-		echo "	copy $subdir$stlport_suffix\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout
-	fi
-#
-# set up section comments:
-	cat >> $tout << EOF
-########################################################
-#
-# section for $libname.lib
-#
-########################################################
-EOF
-#
-#	process source files:
-	all_obj=""
-	for file in $src
-	do
-		obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1obj/g'`
-		obj="$subdir$stlport_suffix/$libname/$obj"
-		all_obj="$all_obj $obj"
-		echo "$obj: $file \$(ALL_HEADER)" >> $tout
-		echo "	cl \$(INCLUDES) $opts \$(CXXFLAGS) \$(ICU_COMPILE_OPTS) -Y- -Fo./$subdir$stlport_suffix/$libname/ -Fd$subdir$stlport_suffix/$libname.pdb $file" >> $tout
-		echo "" >> $tout
-	done
-#
-#	 now for the directories for this library:
-	echo "$libname"_dir : >> $tout
-	echo "	@if not exist \"$subdir$stlport_suffix\\$libname\\\$(NULL)\" mkdir $subdir$stlport_suffix\\$libname" >> $tout
-	echo "" >> $tout
-#
-#	 now for the clean options for this library:
-	all_clean="$all_clean $libname""_clean"
-	echo "$libname"_clean : >> $tout
-	echo "	del $subdir$stlport_suffix\\$libname\\"'*.obj' >> $tout
-	echo "	del $subdir$stlport_suffix\\$libname\\"'*.idb' >> $tout
-	echo "	del $subdir$stlport_suffix\\$libname\\"'*.exp' >> $tout
-	echo "	del $subdir$stlport_suffix\\$libname\\"'*.pch' >> $tout
-	echo "" >> $tout
-#
-#	 now for the main target for this library:
-	echo ./$subdir$stlport_suffix/$libname.lib : $all_obj >> $tout
-	echo "	link -lib /nologo /out:$subdir$stlport_suffix/$libname.lib \$(XSFLAGS) $all_obj" >> $tout
-	echo "" >> $tout
-}
-
-function vc6_gen_dll()
-{
-	all_dep="$all_dep $libname""_dir ./$subdir$stlport_suffix/$libname.lib"
-	echo "	copy $subdir$stlport_suffix\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout
-	echo "	copy $subdir$stlport_suffix\\$libname.dll "'"$'"(MSVCDIR)\\bin"'"' >> $iout
-	if test $debug == "yes"; then
-		echo "	copy $subdir$stlport_suffix\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout
-	fi
-#
-# set up section comments:
-	cat >> $tout << EOF
-########################################################
-#
-# section for $libname.lib
-#
-########################################################
-EOF
-#
-#	process source files:
-	all_obj=""
-	for file in $src
-	do
-		obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1obj/g'`
-		obj="$subdir$stlport_suffix/$libname/$obj"
-		all_obj="$all_obj $obj"
-		echo "$obj: $file \$(ALL_HEADER)" >> $tout
-		echo "	cl \$(INCLUDES) $opts \$(CXXFLAGS) \$(ICU_COMPILE_OPTS) -Y- -Fo./$subdir$stlport_suffix/$libname/ -Fd$subdir$stlport_suffix/$libname.pdb $file" >> $tout
-		echo "" >> $tout
-	done
-#
-#	 now for the directories for this library:
-	echo "$libname"_dir : >> $tout
-	echo "	@if not exist \"$subdir$stlport_suffix\\$libname\\\$(NULL)\" mkdir $subdir$stlport_suffix\\$libname" >> $tout
-	echo "" >> $tout
-#
-#	 now for the clean options for this library:
-	all_clean="$all_clean $libname""_clean"
-	echo "$libname"_clean : >> $tout
-	echo "	del $subdir$stlport_suffix\\$libname\\"'*.obj' >> $tout
-	echo "	del $subdir$stlport_suffix\\$libname\\"'*.idb' >> $tout
-	echo "	del $subdir$stlport_suffix\\$libname\\"'*.exp' >> $tout
-	echo "	del $subdir$stlport_suffix\\$libname\\"'*.pch' >> $tout
-	echo "" >> $tout
-#
-#	 now for the main target for this library:
-	echo ./$subdir$stlport_suffix/$libname.lib : $all_obj >> $tout
-	echo "	link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /incremental:yes /pdb:\"$subdir$stlport_suffix/$libname.pdb\" /debug /machine:I386 /out:\"$subdir$stlport_suffix/$libname.dll\" /implib:\"$subdir$stlport_suffix/$libname.lib\" /LIBPATH:\"\$(STLPORT_PATH)\\lib\" \$(XLFLAGS) \$(ICU_LINK_OPTS) $all_obj" >> $tout
-	echo "" >> $tout
-}
-
-is_stlport="no"
-build_static="yes"
-
-function vc6_gen()
-{
-	debug="no"
-	tout="temp"
-	iout="temp_install"
-	all_dep="main_dir"
-	all_clean=""
-	echo > $out
-	echo > $tout
-	rm -f $iout
-	stlport_suffix=""
-	
-	if test ${build_static} == "yes" ; then
-	libname="libboost_regex-${subdir}-s-${boost_version}"
-	opts='/c /nologo /ML /W3 '$EH_OPTS' /O2 '$PROC_OPTS' /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD '"$release_extra"' '
-	vc6_gen_lib
-	fi
-	
-	libname="libboost_regex-${subdir}-mt-s-${boost_version}"
-	opts='/nologo /MT /W3 '$EH_OPTS' /O2 '$PROC_OPTS' /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD '"$release_extra"' /c'
-	vc6_gen_lib
-	
-	if test ${build_static} == "yes" ; then
-	debug="yes"
-	libname="libboost_regex-${subdir}-sgd-${boost_version}"
-	opts='/nologo /MLd /W3 /Gm '$EH_OPTS' /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD '"$debug_extra"' /c '
-	vc6_gen_lib
-	fi
-	
-	libname="libboost_regex-${subdir}-mt-sgd-${boost_version}"
-	opts='/nologo /MTd /W3 /Gm '$EH_OPTS' /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD '"$debug_extra"' /c'
-	vc6_gen_lib
-	
-	libname="boost_regex-${subdir}-mt-gd-${boost_version}"
-	opts='/nologo /MDd /W3 /Gm '$EH_OPTS' /Zi /Od /I../../../ /D_DEBUG /DBOOST_REGEX_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD '"$debug_extra"' /c'
-	vc6_gen_dll
-	
-	debug="no"
-	opts='/nologo /MD /W3 '$EH_OPTS' /O2 '$PROC_OPTS' /GF /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD '"$release_extra"' /c'
-	libname="boost_regex-${subdir}-mt-${boost_version}"
-	vc6_gen_dll
-	
-	debug="no"
-	opts='/nologo /MD /W3 '$EH_OPTS' /O2 '$PROC_OPTS' /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD '"$release_extra"' /c'
-	libname="libboost_regex-${subdir}-mt-${boost_version}"
-	vc6_gen_lib
-	
-	debug="yes"
-	libname="libboost_regex-${subdir}-mt-gd-${boost_version}"
-	opts='/nologo /MDd /W3 /Gm '$EH_OPTS' /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD '"$debug_extra"' /c'
-	vc6_gen_lib
-	
-	VC8_CHECK=""
-	echo ${subdir}
-	if test ${subdir} = "vc80" ; then
-	   VC8_CHECK='MSVCDIR=$(VS80COMNTOOLS)..\..\VC'
-	   echo setting VC8 setup to: ${VC8_CHECK}
-          else
-	 if test ${subdir} = "vc71" ; then
-	   VC8_CHECK='MSVCDIR=$(VS71COMNTOOLS)..\..\VC7'
-	   echo setting VC71 setup to: ${VC8_CHECK}
-          fi
-	if test ${subdir} = "vc90" ; then
-	   VC8_CHECK='MSVCDIR=$(VS90COMNTOOLS)..\..\VC'
-	   echo setting VC9 setup to: ${VC8_CHECK}
-	fi
-	if test ${subdir} = "vc100" ; then
-	   VC8_CHECK='MSVCDIR=$(VS100COMNTOOLS)..\..\VC'
-	   echo setting VC10 setup to: ${VC8_CHECK}
-	fi
-    fi
-   	
-	cat > $out << EOF
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for MSVC compiler
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# path to ICU library installation goes here:
-#
-ICU_PATH=
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "\$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "\$(MSVCDIR)" == ""
-$VC8_CHECK
-!ENDIF
-
-!IF "\$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "\$(ICU_PATH)" == ""
-ICU_COMPILE_OPTS=
-ICU_LINK_OPTS=
-!MESSAGE Building Boost.Regex without ICU / Unicode support:
-!MESSAGE Hint: set ICU_PATH on the nmake command line to point 
-!MESSAGE to your ICU installation if you have one.
-!ELSE
-ICU_COMPILE_OPTS= -DBOOST_HAS_ICU=1 -I"\$(ICU_PATH)\\include"
-ICU_LINK_OPTS= /LIBPATH:"\$(ICU_PATH)\\lib" icuin.lib icuuc.lib
-!MESSAGE Building Boost.Regex with ICU in \$(ICU_PATH)
-!ENDIF
-
-EOF
-	echo "" >> $out
-	echo "ALL_HEADER=$header" >> $out
-	echo "" >> $out
-	echo "all : $all_dep" >> $out
-	echo >> $out
-	echo "clean : $all_clean" >> $out
-	echo >> $out
-	echo "install : all" >> $out
-	cat $iout >> $out
-	echo >> $out
-	echo main_dir : >> $out
-	echo "	@if not exist \"$subdir$stlport_suffix\\\$(NULL)\" mkdir $subdir$stlport_suffix" >> $out
-	echo "" >> $out
-
-	cat $tout >> $out
-}
-
-function vc6_stlp_gen()
-{
-	debug="no"
-	tout="temp"
-	iout="temp_install"
-	all_dep="main_dir"
-	all_clean=""
-	echo > $out
-	echo > $tout
-	rm -f $iout
-	stlport_suffix="-stlport"
-	
-	libname="libboost_regex-${subdir}-mt-sp-${boost_version}"
-	opts='/nologo /MT /W3 '$EH_OPTS' /O2 '$PROC_OPTS' /GF /Gy /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB '"$release_extra"' /c'
-	vc6_gen_lib
-	
-	debug="true"
-	libname="libboost_regex-${subdir}-mt-sgdp-${boost_version}"
-	opts='/nologo /MTd /W3 /Gm '$EH_OPTS' /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB '"$debug_extra"' /c'
-	#vc6_gen_lib
-	
-	libname="boost_regex-${subdir}-mt-gdp-${boost_version}"
-	opts='/nologo /MDd /W3 /Gm '$EH_OPTS' /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' /c'
-	#vc6_gen_dll
-	
-	debug="no"
-	opts='/nologo /MD /W3 '$EH_OPTS' /O2 '$PROC_OPTS' /GF /I"$(STLPORT_PATH)\stlport" /Gy /I../../../ /DBOOST_REGEX_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL '"$release_extra"' /c'
-	libname="boost_regex-${subdir}-mt-p-${boost_version}"
-	vc6_gen_dll
-	
-	debug="no"
-	opts='/nologo /MD /W3 '$EH_OPTS' /O2 '$PROC_OPTS' /GF /Gy /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL '"$release_extra"' /c'
-	libname="libboost_regex-${subdir}-mt-p-${boost_version}"
-	vc6_gen_lib
-	
-	debug="true"
-	libname="libboost_regex-${subdir}-mt-gdp-${boost_version}"
-	opts='/nologo /MDd /W3 /Gm '$EH_OPTS' /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' /c'
-	#vc6_gen_lib
-
-#  debug STLPort mode:
-	debug="yes"
-	opts='/nologo /MDd /W3 /Gm '$EH_OPTS' /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' /c'
-	libname="boost_regex-${subdir}-mt-gdp-${boost_version}"
-	vc6_gen_dll
-	libname="libboost_regex-${subdir}-mt-sgdp-${boost_version}"
-	opts='/nologo /MTd /W3 /Gm '$EH_OPTS' /Zi /Od /I"$(STLPORT_PATH)\stlport" /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB '"$debug_extra"' /c'
-	vc6_gen_lib
-	opts='/nologo /MDd /W3 /Gm '$EH_OPTS' /Zi /Od /I"$(STLPORT_PATH)\stlport" /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' /c'
-	libname="libboost_regex-${subdir}-mt-gdp-${boost_version}"
-	vc6_gen_lib
-	
-	cat > $out << EOF
-# copyright John Maddock 2006
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt.
-#
-# auto generated makefile for VC6+STLPort
-#
-# usage:
-# make
-#   brings libraries up to date
-# make install
-#   brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
-#
-
-#
-# ICU setup:
-#
-ICU_PATH=
-#
-# Add additional compiler options here:
-#
-CXXFLAGS=
-#
-# Add additional include directories here:
-#
-INCLUDES=
-#
-# add additional linker flags here:
-#
-XLFLAGS=
-#
-# add additional static-library creation flags here:
-#
-XSFLAGS=
-
-!IF "\$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF "\$(MSVCDIR)" == ""
-!ERROR Variable MSVCDIR not set.
-!ENDIF
-
-!IF "\$(STLPORT_PATH)" == ""
-!ERROR Variable STLPORT_PATH not set.
-!ENDIF
-
-!IF "\$(ICU_PATH)" == ""
-ICU_COMPILE_OPTS=
-ICU_LINK_OPTS=
-!MESSAGE Building Boost.Regex without ICU / Unicode support:
-!MESSAGE Hint: set ICU_PATH on the nmake command line to point 
-!MESSAGE to your ICU installation if you have one.
-!ELSE
-ICU_COMPILE_OPTS= -DBOOST_HAS_ICU=1 -I"\$(ICU_PATH)\\include"
-ICU_LINK_OPTS= /LIBPATH:"\$(ICU_PATH)\\lib" icuin.lib icuuc.lib
-!MESSAGE Building Boost.Regex with ICU in \$(ICU_PATH)
-!ENDIF
-
-EOF
-	echo "" >> $out
-	echo "ALL_HEADER=$header" >> $out
-	echo "" >> $out
-	echo "all : $all_dep" >> $out
-	echo >> $out
-	echo "clean : $all_clean" >> $out
-	echo >> $out
-	echo "install : stlport_check all" >> $out
-	cat $iout >> $out
-	echo >> $out
-	echo main_dir : >> $out
-	echo "	@if not exist \"$subdir$stlport_suffix\\\$(NULL)\" mkdir $subdir$stlport_suffix" >> $out
-	echo "" >> $out
-	echo 'stlport_check : "$(STLPORT_PATH)\stlport\string"' >> $out
-	echo "	echo" >> $out
-	echo "" >> $out
-
-	cat $tout >> $out
-}
-
-
-. common.sh
-
-#
-# options that change with compiler version:
-#
-EH_OPTS="/GX"
-PROC_OPTS="/GB"
-
-#
-# generate vc6 makefile:
-debug_extra="$EH_OPTS"
-out="vc6.mak"
-subdir="vc6"
-vc6_gen
-#
-# generate vc6-stlport makefile:
-is_stlport="yes"
-out="vc6-stlport.mak"
-no_single="yes"
-subdir="vc6"
-vc6_stlp_gen
-#
-# generate vc7 makefile:
-debug_extra="$EH_OPTS /RTC1 /Zc:wchar_t"
-release_extra="/Zc:wchar_t"
-is_stlport="no"
-out="vc7.mak"
-no_single="no"
-subdir="vc7"
-vc6_gen
-#
-# generate vc7-stlport makefile:
-is_stlport="yes"
-out="vc7-stlport.mak"
-no_single="yes"
-subdir="vc7"
-vc6_stlp_gen
-#
-# generate vc71 makefile:
-is_stlport="no"
-out="vc71.mak"
-no_single="no"
-subdir="vc71"
-vc6_gen
-#
-# generate vc71-stlport makefile:
-is_stlport="yes"
-out="vc71-stlport.mak"
-no_single="yes"
-subdir="vc71"
-vc6_stlp_gen
-#
-# generate vc8 makefile:
-EH_OPTS="/EHsc"
-PROC_OPTS=""
-debug_extra="$EH_OPTS"
-is_stlport="no"
-out="vc8.mak"
-no_single="no"
-subdir="vc80"
-vc6_gen
-#
-# generate vc9 makefile:
-build_static="no"
-EH_OPTS="/EHsc"
-PROC_OPTS=""
-debug_extra="$EH_OPTS"
-is_stlport="no"
-out="vc9.mak"
-no_single="no"
-subdir="vc90"
-vc6_gen
-#
-# generate vc10 makefile:
-build_static="no"
-EH_OPTS="/EHsc"
-PROC_OPTS=""
-debug_extra="$EH_OPTS"
-is_stlport="no"
-out="vc10.mak"
-no_single="no"
-subdir="vc100"
-vc6_gen
-
-
-#
-# remove tmep files;
-rm -f $tout $iout
-
-
-
diff --git a/SRC/Boost/libs/regex/src/c_regex_traits.cpp b/SRC/Boost/libs/regex/src/c_regex_traits.cpp
deleted file mode 100755
index 8b6d56f..0000000
--- a/SRC/Boost/libs/regex/src/c_regex_traits.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE:        c_regex_traits.cpp
-  *   VERSION:     see <boost/version.hpp>
-  *   DESCRIPTION: Implements out of line c_regex_traits<char> members
-  */
-
-
-#define BOOST_REGEX_SOURCE
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include "internals.hpp"
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560)
-
-#include <boost/regex/v4/c_regex_traits.hpp>
-#include <boost/regex/v4/primary_transform.hpp>
-#include <boost/regex/v4/regex_traits_defaults.hpp>
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{
-   using ::strxfrm; using ::isspace;
-   using ::ispunct; using ::isalpha;
-   using ::isalnum; using ::iscntrl;
-   using ::isprint; using ::isupper;
-   using ::islower; using ::isdigit;
-   using ::isxdigit; using ::strtol;
-}
-#endif
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-
-namespace boost{
-
-c_regex_traits<char>::string_type BOOST_REGEX_CALL c_regex_traits<char>::transform(const char* p1, const char* p2)
-{ 
-   std::string result(10, ' ');
-   std::size_t s = result.size();
-   std::size_t r;
-   std::string src(p1, p2);
-   while(s < (r = std::strxfrm(&*result.begin(), src.c_str(), s)))
-   {
-      result.append(r - s + 3, ' ');
-      s = result.size();
-   }
-   result.erase(r);
-   return result; 
-}
-
-c_regex_traits<char>::string_type BOOST_REGEX_CALL c_regex_traits<char>::transform_primary(const char* p1, const char* p2)
-{
-   static char s_delim;
-   static const int s_collate_type = ::boost::re_detail::find_sort_syntax(static_cast<c_regex_traits<char>*>(0), &s_delim);
-   std::string result;
-   //
-   // What we do here depends upon the format of the sort key returned by
-   // sort key returned by this->transform:
-   //
-   switch(s_collate_type)
-   {
-   case ::boost::re_detail::sort_C:
-   case ::boost::re_detail::sort_unknown:
-      // the best we can do is translate to lower case, then get a regular sort key:
-      {
-         result.assign(p1, p2);
-         for(std::string::size_type i = 0; i < result.size(); ++i)
-            result[i] = static_cast<char>((std::tolower)(static_cast<unsigned char>(result[i])));
-         result = transform(&*result.begin(), &*result.begin() + result.size());
-         break;
-      }
-   case ::boost::re_detail::sort_fixed:
-      {
-         // get a regular sort key, and then truncate it:
-         result = transform(p1, p2);
-         result.erase(s_delim);
-         break;
-      }
-   case ::boost::re_detail::sort_delim:
-         // get a regular sort key, and then truncate everything after the delim:
-         result = transform(p1, p2);
-         if(result.size() && (result[0] == s_delim))
-            break;
-         std::size_t i;
-         for(i = 0; i < result.size(); ++i)
-         {
-            if(result[i] == s_delim)
-               break;
-         }
-         result.erase(i);
-         break;
-   }
-   if(result.empty())
-      result = std::string(1, char(0));
-   return result;
-}
-
-c_regex_traits<char>::char_class_type BOOST_REGEX_CALL c_regex_traits<char>::lookup_classname(const char* p1, const char* p2)
-{
-   static const char_class_type masks[] = 
-   {
-      0,
-      char_class_alnum, 
-      char_class_alpha,
-      char_class_blank,
-      char_class_cntrl,
-      char_class_digit,
-      char_class_digit,
-      char_class_graph,
-      char_class_horizontal,
-      char_class_lower,
-      char_class_lower,
-      char_class_print,
-      char_class_punct,
-      char_class_space,
-      char_class_space,
-      char_class_upper,
-      char_class_unicode,
-      char_class_upper,
-      char_class_vertical,
-      char_class_alnum | char_class_word, 
-      char_class_alnum | char_class_word, 
-      char_class_xdigit,
-   };
-
-   int idx = ::boost::re_detail::get_default_class_id(p1, p2);
-   if(idx < 0)
-   {
-      std::string s(p1, p2);
-      for(std::string::size_type i = 0; i < s.size(); ++i)
-         s[i] = static_cast<char>((std::tolower)(static_cast<unsigned char>(s[i])));
-      idx = ::boost::re_detail::get_default_class_id(&*s.begin(), &*s.begin() + s.size());
-   }
-   BOOST_ASSERT(std::size_t(idx+1) < sizeof(masks) / sizeof(masks[0]));
-   return masks[idx+1];
-}
-
-bool BOOST_REGEX_CALL c_regex_traits<char>::isctype(char c, char_class_type mask)
-{
-   return
-      ((mask & char_class_space) && (std::isspace)(static_cast<unsigned char>(c)))
-      || ((mask & char_class_print) && (std::isprint)(static_cast<unsigned char>(c)))
-      || ((mask & char_class_cntrl) && (std::iscntrl)(static_cast<unsigned char>(c)))
-      || ((mask & char_class_upper) && (std::isupper)(static_cast<unsigned char>(c)))
-      || ((mask & char_class_lower) && (std::islower)(static_cast<unsigned char>(c)))
-      || ((mask & char_class_alpha) && (std::isalpha)(static_cast<unsigned char>(c)))
-      || ((mask & char_class_digit) && (std::isdigit)(static_cast<unsigned char>(c)))
-      || ((mask & char_class_punct) && (std::ispunct)(static_cast<unsigned char>(c)))
-      || ((mask & char_class_xdigit) && (std::isxdigit)(static_cast<unsigned char>(c)))
-      || ((mask & char_class_blank) && (std::isspace)(static_cast<unsigned char>(c)) && !::boost::re_detail::is_separator(c))
-      || ((mask & char_class_word) && (c == '_'))
-      || ((mask & char_class_vertical) && (::boost::re_detail::is_separator(c) || (c == '\v')))
-      || ((mask & char_class_horizontal) && (std::isspace)(static_cast<unsigned char>(c)) && !::boost::re_detail::is_separator(c) && (c != '\v'));
-}
-
-c_regex_traits<char>::string_type BOOST_REGEX_CALL c_regex_traits<char>::lookup_collatename(const char* p1, const char* p2)
-{
-   std::string s(p1, p2);
-   s = ::boost::re_detail::lookup_default_collate_name(s);
-   if(s.empty() && (p2-p1 == 1))
-      s.append(1, *p1);
-   return s;
-}
-
-int BOOST_REGEX_CALL c_regex_traits<char>::value(char c, int radix)
-{
-   char b[2] = { c, '\0', };
-   char* ep;
-   int result = std::strtol(b, &ep, radix);
-   if(ep == b)
-      return -1;
-   return result;
-}
-
-}
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-
-#endif
diff --git a/SRC/Boost/libs/regex/src/cpp_regex_traits.cpp b/SRC/Boost/libs/regex/src/cpp_regex_traits.cpp
deleted file mode 100755
index fa1459a..0000000
--- a/SRC/Boost/libs/regex/src/cpp_regex_traits.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         cpp_regex_traits.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Implements cpp_regex_traits<char> (and associated helper classes).
-  */
-
-#define BOOST_REGEX_SOURCE
-#include <boost/config.hpp>
-#ifndef BOOST_NO_STD_LOCALE
-#include <boost/regex/regex_traits.hpp>
-#include <boost/regex/pattern_except.hpp>
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{
-   using ::memset;
-}
-#endif
-
-namespace boost{ namespace re_detail{
-
-void cpp_regex_traits_char_layer<char>::init() 
-{
-   // we need to start by initialising our syntax map so we know which
-   // character is used for which purpose:
-   std::memset(m_char_map, 0, sizeof(m_char_map));
-#ifndef BOOST_NO_STD_MESSAGES
-#ifndef __IBMCPP__
-   std::messages<char>::catalog cat = static_cast<std::messages<char>::catalog>(-1);
-#else
-   std::messages<char>::catalog cat = reinterpret_cast<std::messages<char>::catalog>(-1);
-#endif
-   std::string cat_name(cpp_regex_traits<char>::get_catalog_name());
-   if(cat_name.size() && (m_pmessages != 0))
-   {
-      cat = this->m_pmessages->open(
-         cat_name, 
-         this->m_locale);
-      if((int)cat < 0)
-      {
-         std::string m("Unable to open message catalog: ");
-         std::runtime_error err(m + cat_name);
-         boost::re_detail::raise_runtime_error(err);
-      }
-   }
-   //
-   // if we have a valid catalog then load our messages:
-   //
-   if((int)cat >= 0)
-   {
-#ifndef BOOST_NO_EXCEPTIONS
-      try{
-#endif
-         for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)
-         {
-            string_type mss = this->m_pmessages->get(cat, 0, i, get_default_syntax(i));
-            for(string_type::size_type j = 0; j < mss.size(); ++j)
-            {
-               m_char_map[static_cast<unsigned char>(mss[j])] = i;
-            }
-         }
-         this->m_pmessages->close(cat);
-#ifndef BOOST_NO_EXCEPTIONS
-      }
-      catch(...)
-      {
-         this->m_pmessages->close(cat);
-         throw;
-      }
-#endif
-   }
-   else
-   {
-#endif
-      for(regex_constants::syntax_type j = 1; j < regex_constants::syntax_max; ++j)
-      {
-         const char* ptr = get_default_syntax(j);
-         while(ptr && *ptr)
-         {
-            m_char_map[static_cast<unsigned char>(*ptr)] = j;
-            ++ptr;
-         }
-      }
-#ifndef BOOST_NO_STD_MESSAGES
-   }
-#endif
-   //
-   // finish off by calculating our escape types:
-   //
-   unsigned char i = 'A';
-   do
-   {
-      if(m_char_map[i] == 0)
-      {
-         if(this->m_pctype->is(std::ctype_base::lower, i)) 
-            m_char_map[i] = regex_constants::escape_type_class;
-         else if(this->m_pctype->is(std::ctype_base::upper, i)) 
-            m_char_map[i] = regex_constants::escape_type_not_class;
-      }
-   }while(0xFF != i++);
-}
-
-} // re_detail
-} // boost
-#endif
-
diff --git a/SRC/Boost/libs/regex/src/cregex.cpp b/SRC/Boost/libs/regex/src/cregex.cpp
deleted file mode 100755
index b5227f3..0000000
--- a/SRC/Boost/libs/regex/src/cregex.cpp
+++ /dev/null
@@ -1,660 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE:        cregex.cpp
-  *   VERSION:     see <boost/version.hpp>
-  *   DESCRIPTION: Implements high level class boost::RexEx
-  */
-
-
-#define BOOST_REGEX_SOURCE
-
-#include <boost/regex.hpp>
-#include <boost/cregex.hpp>
-#if !defined(BOOST_NO_STD_STRING)
-#include <map>
-#include <list>
-#include <boost/regex/v4/fileiter.hpp>
-typedef boost::match_flag_type match_flag_type;
-#include <cstdio>
-
-#ifdef BOOST_MSVC
-#pragma warning(disable:4309)
-#endif
-#ifdef BOOST_INTEL
-#pragma warning(disable:981 383)
-#endif
-
-namespace boost{
-
-#ifdef __BORLANDC__
-#if __BORLANDC__ < 0x530
-//
-// we need to instantiate the vector classes we use
-// since declaring a reference to type doesn't seem to
-// do the job...
-std::vector<std::size_t> inst1;
-std::vector<std::string> inst2;
-#endif
-#endif
-
-namespace{
-
-template <class iterator>
-std::string to_string(iterator i, iterator j)
-{
-   std::string s;
-   while(i != j)
-   {
-      s.append(1, *i);
-      ++i;
-   }
-   return s;
-}
-
-inline std::string to_string(const char* i, const char* j)
-{
-   return std::string(i, j);
-}
-
-}
-namespace re_detail{
-
-class RegExData
-{
-public:
-   enum type
-   {
-      type_pc,
-      type_pf,
-      type_copy
-   };
-   regex e;
-   cmatch m;
-#ifndef BOOST_REGEX_NO_FILEITER
-   match_results<mapfile::iterator> fm;
-#endif
-   type t;
-   const char* pbase;
-#ifndef BOOST_REGEX_NO_FILEITER
-   mapfile::iterator fbase;
-#endif
-   std::map<int, std::string, std::less<int> > strings;
-   std::map<int, std::ptrdiff_t, std::less<int> > positions;
-   void update();
-   void clean();
-   RegExData() : e(), m(),
-#ifndef BOOST_REGEX_NO_FILEITER
-   fm(),
-#endif
-   t(type_copy), pbase(0),
-#ifndef BOOST_REGEX_NO_FILEITER
-   fbase(),
-#endif
-   strings(), positions() {}
-};
-
-void RegExData::update()
-{
-   strings.erase(strings.begin(), strings.end());
-   positions.erase(positions.begin(), positions.end());
-   if(t == type_pc)
-   {
-      for(unsigned int i = 0; i < m.size(); ++i)
-      {
-         if(m[i].matched) strings[i] = std::string(m[i].first, m[i].second);
-         positions[i] = m[i].matched ? m[i].first - pbase : -1;
-      }
-   }
-#ifndef BOOST_REGEX_NO_FILEITER
-   else
-   {
-      for(unsigned int i = 0; i < fm.size(); ++i)
-      {
-         if(fm[i].matched) strings[i] = to_string(fm[i].first, fm[i].second);
-         positions[i] = fm[i].matched ? fm[i].first - fbase : -1;
-      }
-   }
-#endif
-   t = type_copy;
-}
-
-void RegExData::clean()
-{
-#ifndef BOOST_REGEX_NO_FILEITER
-   fbase = mapfile::iterator();
-   fm = match_results<mapfile::iterator>();
-#endif
-}
-
-} // namespace
-
-RegEx::RegEx()
-{
-   pdata = new re_detail::RegExData();
-}
-
-RegEx::RegEx(const RegEx& o)
-{
-   pdata = new re_detail::RegExData(*(o.pdata));
-}
-
-RegEx::~RegEx()
-{
-   delete pdata;
-}
-
-RegEx::RegEx(const char* c, bool icase)
-{
-   pdata = new re_detail::RegExData();
-   SetExpression(c, icase);
-}
-
-RegEx::RegEx(const std::string& s, bool icase)
-{
-   pdata = new re_detail::RegExData();
-   SetExpression(s.c_str(), icase);
-}
-
-RegEx& RegEx::operator=(const RegEx& o)
-{
-   *pdata = *(o.pdata);
-   return *this;
-}
-
-RegEx& RegEx::operator=(const char* p)
-{
-   SetExpression(p, false);
-   return *this;
-}
-
-unsigned int RegEx::SetExpression(const char* p, bool icase)
-{
-   boost::uint_fast32_t f = icase ? regex::normal | regex::icase : regex::normal;
-   return pdata->e.set_expression(p, f);
-}
-
-unsigned int RegEx::error_code()const
-{
-   return pdata->e.error_code();
-}
-
-
-std::string RegEx::Expression()const
-{
-   return pdata->e.expression();
-}
-
-//
-// now matching operators:
-//
-bool RegEx::Match(const char* p, match_flag_type flags)
-{
-   pdata->t = re_detail::RegExData::type_pc;
-   pdata->pbase = p;
-   const char* end = p;
-   while(*end)++end;
-
-   if(regex_match(p, end, pdata->m, pdata->e, flags))
-   {
-      pdata->update();
-      return true;
-   }
-   return false;
-}
-
-bool RegEx::Search(const char* p, match_flag_type flags)
-{
-   pdata->t = re_detail::RegExData::type_pc;
-   pdata->pbase = p;
-   const char* end = p;
-   while(*end)++end;
-
-   if(regex_search(p, end, pdata->m, pdata->e, flags))
-   {
-      pdata->update();
-      return true;
-   }
-   return false;
-}
-namespace re_detail{
-struct pred1
-{
-   GrepCallback cb;
-   RegEx* pe;
-   pred1(GrepCallback c, RegEx* i) : cb(c), pe(i) {}
-   bool operator()(const cmatch& m)
-   {
-      pe->pdata->m = m;
-      return cb(*pe);
-   }
-};
-}
-unsigned int RegEx::Grep(GrepCallback cb, const char* p, match_flag_type flags)
-{
-   pdata->t = re_detail::RegExData::type_pc;
-   pdata->pbase = p;
-   const char* end = p;
-   while(*end)++end;
-
-   unsigned int result = regex_grep(re_detail::pred1(cb, this), p, end, pdata->e, flags);
-   if(result)
-      pdata->update();
-   return result;
-}
-namespace re_detail{
-struct pred2
-{
-   std::vector<std::string>& v;
-   RegEx* pe;
-   pred2(std::vector<std::string>& o, RegEx* e) : v(o), pe(e) {}
-   bool operator()(const cmatch& m)
-   {
-      pe->pdata->m = m;
-      v.push_back(std::string(m[0].first, m[0].second));
-      return true;
-   }
-private:
-   pred2& operator=(const pred2&);
-};
-}
-
-unsigned int RegEx::Grep(std::vector<std::string>& v, const char* p, match_flag_type flags)
-{
-   pdata->t = re_detail::RegExData::type_pc;
-   pdata->pbase = p;
-   const char* end = p;
-   while(*end)++end;
-
-   unsigned int result = regex_grep(re_detail::pred2(v, this), p, end, pdata->e, flags);
-   if(result)
-      pdata->update();
-   return result;
-}
-namespace re_detail{
-struct pred3
-{
-   std::vector<std::size_t>& v;
-   const char* base;
-   RegEx* pe;
-   pred3(std::vector<std::size_t>& o, const char* pb, RegEx* p) : v(o), base(pb), pe(p) {}
-   bool operator()(const cmatch& m)
-   {
-      pe->pdata->m = m;
-      v.push_back(static_cast<std::size_t>(m[0].first - base));
-      return true;
-   }
-private:
-   pred3& operator=(const pred3&);
-};
-}
-unsigned int RegEx::Grep(std::vector<std::size_t>& v, const char* p, match_flag_type flags)
-{
-   pdata->t = re_detail::RegExData::type_pc;
-   pdata->pbase = p;
-   const char* end = p;
-   while(*end)++end;
-
-   unsigned int result = regex_grep(re_detail::pred3(v, p, this), p, end, pdata->e, flags);
-   if(result)
-      pdata->update();
-   return result;
-}
-#ifndef BOOST_REGEX_NO_FILEITER
-namespace re_detail{
-struct pred4
-{
-   GrepFileCallback cb;
-   RegEx* pe;
-   const char* file;
-   bool ok;
-   pred4(GrepFileCallback c, RegEx* i, const char* f) : cb(c), pe(i), file(f), ok(true) {}
-   bool operator()(const match_results<mapfile::iterator>& m)
-   {
-      pe->pdata->t = RegExData::type_pf;
-      pe->pdata->fm = m;
-      pe->pdata->update();
-      ok = cb(file, *pe);
-      return ok;
-   }
-};
-}
-namespace{
-void BuildFileList(std::list<std::string>* pl, const char* files, bool recurse)
-{
-   file_iterator start(files);
-   file_iterator end;
-   if(recurse)
-   {
-      // go through sub directories:
-      char buf[MAX_PATH];
-      re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(buf, MAX_PATH, start.root()));
-      if(*buf == 0)
-      {
-         re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(buf, MAX_PATH, "."));
-         re_detail::overflow_error_if_not_zero(re_detail::strcat_s(buf, MAX_PATH, directory_iterator::separator()));
-         re_detail::overflow_error_if_not_zero(re_detail::strcat_s(buf, MAX_PATH, "*"));
-      }
-      else
-      {
-         re_detail::overflow_error_if_not_zero(re_detail::strcat_s(buf, MAX_PATH, directory_iterator::separator()));
-         re_detail::overflow_error_if_not_zero(re_detail::strcat_s(buf, MAX_PATH, "*"));
-      }
-      directory_iterator dstart(buf);
-      directory_iterator dend;
-
-      // now get the file mask bit of "files":
-      const char* ptr = files;
-      while(*ptr) ++ptr;
-      while((ptr != files) && (*ptr != *directory_iterator::separator()) && (*ptr != '/'))--ptr;
-      if(ptr != files) ++ptr;
-
-      while(dstart != dend)
-      {
-         // Verify that sprintf will not overflow:
-         if(std::strlen(dstart.path()) + std::strlen(directory_iterator::separator()) + std::strlen(ptr) >= MAX_PATH)
-         {
-            // Oops overflow, skip this item:
-            ++dstart;
-            continue;
-         }
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE)
-         int r = (::sprintf_s)(buf, sizeof(buf), "%s%s%s", dstart.path(), directory_iterator::separator(), ptr);
-#else
-         int r = (std::sprintf)(buf, "%s%s%s", dstart.path(), directory_iterator::separator(), ptr);
-#endif
-         if(r < 0)
-         {
-            // sprintf failed, skip this item:
-            ++dstart;
-            continue;
-         }
-         BuildFileList(pl, buf, recurse);
-         ++dstart;
-      }
-   }
-   while(start != end)
-   {
-      pl->push_back(*start);
-      ++start;
-   }
-}
-}
-
-unsigned int RegEx::GrepFiles(GrepFileCallback cb, const char* files, bool recurse, match_flag_type flags)
-{
-   unsigned int result = 0;
-   std::list<std::string> file_list;
-   BuildFileList(&file_list, files, recurse);
-   std::list<std::string>::iterator start, end;
-   start = file_list.begin();
-   end = file_list.end();
-
-   while(start != end)
-   {
-      mapfile map((*start).c_str());
-      pdata->t = re_detail::RegExData::type_pf;
-      pdata->fbase = map.begin();
-      re_detail::pred4 pred(cb, this, (*start).c_str());
-      int r = regex_grep(pred, map.begin(), map.end(), pdata->e, flags);
-      result += r;
-      ++start;
-      pdata->clean();
-      if(pred.ok == false)
-         return result;
-   }
-
-   return result;
-}
-
-
-unsigned int RegEx::FindFiles(FindFilesCallback cb, const char* files, bool recurse, match_flag_type flags)
-{
-   unsigned int result = 0;
-   std::list<std::string> file_list;
-   BuildFileList(&file_list, files, recurse);
-   std::list<std::string>::iterator start, end;
-   start = file_list.begin();
-   end = file_list.end();
-
-   while(start != end)
-   {
-      mapfile map((*start).c_str());
-      pdata->t = re_detail::RegExData::type_pf;
-      pdata->fbase = map.begin();
-
-      if(regex_search(map.begin(), map.end(), pdata->fm, pdata->e, flags))
-      {
-         ++result;
-         if(false == cb((*start).c_str()))
-            return result;
-      }
-      //pdata->update();
-      ++start;
-      //pdata->clean();
-   }
-
-   return result;
-}
-#endif
-
-#ifdef BOOST_REGEX_V3
-#define regex_replace regex_merge
-#endif
-
-std::string RegEx::Merge(const std::string& in, const std::string& fmt,
-                    bool copy, match_flag_type flags)
-{
-   std::string result;
-   re_detail::string_out_iterator<std::string> i(result);
-   if(!copy) flags |= format_no_copy;
-   regex_replace(i, in.begin(), in.end(), pdata->e, fmt.c_str(), flags);
-   return result;
-}
-
-std::string RegEx::Merge(const char* in, const char* fmt,
-                    bool copy, match_flag_type flags)
-{
-   std::string result;
-   if(!copy) flags |= format_no_copy;
-   re_detail::string_out_iterator<std::string> i(result);
-   regex_replace(i, in, in + std::strlen(in), pdata->e, fmt, flags);
-   return result;
-}
-
-std::size_t RegEx::Split(std::vector<std::string>& v, 
-                      std::string& s,
-                      match_flag_type flags,
-                      unsigned max_count)
-{
-   return regex_split(std::back_inserter(v), s, pdata->e, flags, max_count);
-}
-
-
-
-//
-// now operators for returning what matched in more detail:
-//
-std::size_t RegEx::Position(int i)const
-{
-   switch(pdata->t)
-   {
-   case re_detail::RegExData::type_pc:
-      return pdata->m[i].matched ? pdata->m[i].first - pdata->pbase : RegEx::npos;
-#ifndef BOOST_REGEX_NO_FILEITER
-   case re_detail::RegExData::type_pf:
-      return pdata->fm[i].matched ? pdata->fm[i].first - pdata->fbase : RegEx::npos;
-#endif
-   case re_detail::RegExData::type_copy:
-      {
-      std::map<int, std::ptrdiff_t, std::less<int> >::iterator pos = pdata->positions.find(i);
-      if(pos == pdata->positions.end())
-         return RegEx::npos;
-      return (*pos).second;
-      }
-   }
-   return RegEx::npos;
-}
-
-std::size_t RegEx::Marks()const
-{
-   return pdata->e.mark_count();
-}
-
-
-std::size_t RegEx::Length(int i)const
-{
-   switch(pdata->t)
-   {
-   case re_detail::RegExData::type_pc:
-      return pdata->m[i].matched ? pdata->m[i].second - pdata->m[i].first : RegEx::npos;
-#ifndef BOOST_REGEX_NO_FILEITER
-   case re_detail::RegExData::type_pf:
-      return pdata->fm[i].matched ? pdata->fm[i].second - pdata->fm[i].first : RegEx::npos;
-#endif
-   case re_detail::RegExData::type_copy:
-      {
-      std::map<int, std::string, std::less<int> >::iterator pos = pdata->strings.find(i);
-      if(pos == pdata->strings.end())
-         return RegEx::npos;
-      return (*pos).second.size();
-      }
-   }
-   return RegEx::npos;
-}
-
-bool RegEx::Matched(int i)const
-{
-   switch(pdata->t)
-   {
-   case re_detail::RegExData::type_pc:
-      return pdata->m[i].matched;
-#ifndef BOOST_REGEX_NO_FILEITER
-   case re_detail::RegExData::type_pf:
-      return pdata->fm[i].matched;
-#endif      
-   case re_detail::RegExData::type_copy:
-      {
-      std::map<int, std::string, std::less<int> >::iterator pos = pdata->strings.find(i);
-      if(pos == pdata->strings.end())
-         return false;
-      return true;
-      }
-   }
-   return false;
-}
-
-
-std::string RegEx::What(int i)const
-{
-   std::string result;
-   switch(pdata->t)
-   {
-   case re_detail::RegExData::type_pc:
-      if(pdata->m[i].matched) 
-         result.assign(pdata->m[i].first, pdata->m[i].second);
-      break;
-   case re_detail::RegExData::type_pf:
-      if(pdata->m[i].matched) 
-         result.assign(to_string(pdata->m[i].first, pdata->m[i].second));
-      break;
-   case re_detail::RegExData::type_copy:
-      {
-      std::map<int, std::string, std::less<int> >::iterator pos = pdata->strings.find(i);
-      if(pos != pdata->strings.end())
-         result = (*pos).second;
-      break;
-      }
-   }
-   return result;
-}
-
-const std::size_t RegEx::npos = ~static_cast<std::size_t>(0);
-
-} // namespace boost
-
-#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) && (__BORLANDC__ <= 0x551) && !defined(_RWSTD_COMPILE_INSTANTIATE)
-//
-// this is an ugly hack to work around an ugly problem:
-// by default this file will produce unresolved externals during
-// linking unless _RWSTD_COMPILE_INSTANTIATE is defined (Borland bug).
-// However if _RWSTD_COMPILE_INSTANTIATE is defined then we get separate
-// copies of basic_string's static data in the RTL and this DLL, this messes
-// with basic_string's memory management and results in run-time crashes,
-// Oh sweet joy of Catch 22....
-//
-namespace std{
-template<> template<>
-basic_string<char>& BOOST_REGEX_DECL
-basic_string<char>::replace<const char*>(char* f1, char* f2, const char* i1, const char* i2)
-{
-   unsigned insert_pos = f1 - begin();
-   unsigned remove_len = f2 - f1;
-   unsigned insert_len = i2 - i1;
-   unsigned org_size = size();
-   if(insert_len > remove_len)
-   {
-      append(insert_len-remove_len, ' ');
-      std::copy_backward(begin() + insert_pos + remove_len, begin() + org_size, end());
-      std::copy(i1, i2, begin() + insert_pos);
-   }
-   else
-   {
-      std::copy(begin() + insert_pos + remove_len, begin() + org_size, begin() + insert_pos + insert_len);
-      std::copy(i1, i2, begin() + insert_pos);
-      erase(size() + insert_len - remove_len);
-   }
-   return *this;
-}
-template<> template<>
-basic_string<wchar_t>& BOOST_REGEX_DECL
-basic_string<wchar_t>::replace<const wchar_t*>(wchar_t* f1, wchar_t* f2, const wchar_t* i1, const wchar_t* i2)
-{
-   unsigned insert_pos = f1 - begin();
-   unsigned remove_len = f2 - f1;
-   unsigned insert_len = i2 - i1;
-   unsigned org_size = size();
-   if(insert_len > remove_len)
-   {
-      append(insert_len-remove_len, ' ');
-      std::copy_backward(begin() + insert_pos + remove_len, begin() + org_size, end());
-      std::copy(i1, i2, begin() + insert_pos);
-   }
-   else
-   {
-      std::copy(begin() + insert_pos + remove_len, begin() + org_size, begin() + insert_pos + insert_len);
-      std::copy(i1, i2, begin() + insert_pos);
-      erase(size() + insert_len - remove_len);
-   }
-   return *this;
-}
-} // namespace std
-#endif
-
-#endif
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/regex/src/fileiter.cpp b/SRC/Boost/libs/regex/src/fileiter.cpp
deleted file mode 100755
index ffe5ebe..0000000
--- a/SRC/Boost/libs/regex/src/fileiter.cpp
+++ /dev/null
@@ -1,925 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE:        fileiter.cpp
-  *   VERSION:     see <boost/version.hpp>
-  *   DESCRIPTION: Implements file io primitives + directory searching for class boost::RegEx.
-  */
-
-
-#define BOOST_REGEX_SOURCE
-
-#include <climits>
-#include <stdexcept>
-#include <string>
-#include <boost/throw_exception.hpp>
-#include <boost/regex/v4/fileiter.hpp>
-#include <boost/regex/v4/regex_workaround.hpp>
-#include <boost/regex/pattern_except.hpp>
-
-#include <cstdio>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-   using ::sprintf;
-   using ::fseek;
-   using ::fread;
-   using ::ftell;
-   using ::fopen;
-   using ::fclose;
-   using ::FILE;
-   using ::strcpy;
-   using ::strcpy;
-   using ::strcat;
-   using ::strcmp;
-   using ::strlen;
-}
-#endif
-
-
-#ifndef BOOST_REGEX_NO_FILEITER
-
-#if defined(__CYGWIN__) || defined(__CYGWIN32__)
-#include <sys/cygwin.h>
-#endif
-
-#ifdef BOOST_MSVC
-#  pragma warning(disable: 4800)
-#endif
-
-namespace boost{
-   namespace re_detail{
-// start with the operating system specific stuff:
-
-#if (defined(__BORLANDC__) || defined(BOOST_REGEX_FI_WIN32_DIR) || defined(BOOST_MSVC)) && !defined(BOOST_RE_NO_WIN32)
-
-// platform is DOS or Windows
-// directories are separated with '\\'
-// and names are insensitive of case
-
-BOOST_REGEX_DECL const char* _fi_sep = "\\";
-const char* _fi_sep_alt = "/";
-#define BOOST_REGEX_FI_TRANSLATE(c) std::tolower(c)
-
-#else
-
-// platform is not DOS or Windows
-// directories are separated with '/'
-// and names are sensitive of case
-
-BOOST_REGEX_DECL const char* _fi_sep = "/";
-const char* _fi_sep_alt = _fi_sep;
-#define BOOST_REGEX_FI_TRANSLATE(c) c
-
-#endif
-
-#ifdef BOOST_REGEX_FI_WIN32_MAP
-
-void mapfile::open(const char* file)
-{
-#if defined(BOOST_NO_ANSI_APIS)
-   int filename_size = strlen(file);
-   LPWSTR wide_file = (LPWSTR)_alloca( (filename_size + 1) * sizeof(WCHAR) );
-   if(::MultiByteToWideChar(CP_ACP, 0,  file, filename_size,  wide_file, filename_size + 1) == 0)
-      hfile = INVALID_HANDLE_VALUE;
-   else
-      hfile = CreateFileW(wide_file, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
-#elif defined(__CYGWIN__)||defined(__CYGWIN32__)
-   char win32file[ MAX_PATH ];
-   cygwin_conv_to_win32_path( file, win32file );
-   hfile = CreateFileA(win32file, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
-#else
-   hfile = CreateFileA(file, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
-#endif
-   if(hfile != INVALID_HANDLE_VALUE)
-   {
-      hmap = CreateFileMapping(hfile, 0, PAGE_READONLY, 0, 0, 0);
-      if((hmap == INVALID_HANDLE_VALUE) || (hmap == NULL))
-      {
-         CloseHandle(hfile);
-         hmap = 0;
-         hfile = 0;
-         std::runtime_error err("Unable to create file mapping.");
-         boost::re_detail::raise_runtime_error(err);
-      }
-      _first = static_cast<const char*>(MapViewOfFile(hmap, FILE_MAP_READ, 0, 0, 0));
-      if(_first == 0)
-      {
-         CloseHandle(hmap);
-         CloseHandle(hfile);
-         hmap = 0;
-         hfile = 0;
-         std::runtime_error err("Unable to create file mapping.");
-      }
-      _last = _first + GetFileSize(hfile, 0);
-   }
-   else
-   {
-      hfile = 0;
-#ifndef BOOST_NO_EXCEPTIONS
-      throw std::runtime_error("Unable to open file.");
-#else
-      BOOST_REGEX_NOEH_ASSERT(hfile != INVALID_HANDLE_VALUE);
-#endif
-   }
-}
-
-void mapfile::close()
-{
-   if(hfile != INVALID_HANDLE_VALUE)
-   {
-      UnmapViewOfFile((void*)_first);
-      CloseHandle(hmap);
-      CloseHandle(hfile);
-      hmap = hfile = 0;
-      _first = _last = 0;
-   }
-}
-
-#elif !defined(BOOST_RE_NO_STL)
-
-mapfile_iterator& mapfile_iterator::operator = (const mapfile_iterator& i)
-{
-   if(file && node)
-      file->unlock(node);
-   file = i.file;
-   node = i.node;
-   offset = i.offset;
-   if(file)
-      file->lock(node);
-   return *this;
-}
-
-mapfile_iterator& mapfile_iterator::operator++ ()
-{
-   if((++offset == mapfile::buf_size) && file)
-   {
-      ++node;
-      offset = 0;
-      file->lock(node);
-      file->unlock(node-1);
-   }
-   return *this;
-}
-
-mapfile_iterator mapfile_iterator::operator++ (int)
-{
-   mapfile_iterator temp(*this);
-   if((++offset == mapfile::buf_size) && file)
-   {
-      ++node;
-      offset = 0;
-      file->lock(node);
-      file->unlock(node-1);
-   }
-   return temp;
-}
-
-mapfile_iterator& mapfile_iterator::operator-- ()
-{
-   if((offset == 0) && file)
-   {
-      --node;
-      offset = mapfile::buf_size - 1;
-      file->lock(node);
-      file->unlock(node + 1);
-   }
-   else
-      --offset;
-   return *this;
-}
-
-mapfile_iterator mapfile_iterator::operator-- (int)
-{
-   mapfile_iterator temp(*this);
-   if((offset == 0) && file)
-   {
-      --node;
-      offset = mapfile::buf_size - 1;
-      file->lock(node);
-      file->unlock(node + 1);
-   }
-   else
-      --offset;
-   return temp;
-}
-
-mapfile_iterator operator + (const mapfile_iterator& i, long off)
-{
-   mapfile_iterator temp(i);
-   temp += off;
-   return temp;
-}
-
-mapfile_iterator operator - (const mapfile_iterator& i, long off)
-{
-   mapfile_iterator temp(i);
-   temp -= off;
-   return temp;
-}
-
-mapfile::iterator mapfile::begin()const
-{
-   return mapfile_iterator(this, 0);
-}
-
-mapfile::iterator mapfile::end()const
-{
-   return mapfile_iterator(this, _size);
-}
-
-void mapfile::lock(pointer* node)const
-{
-   BOOST_ASSERT(node >= _first);
-   BOOST_ASSERT(node <= _last);
-   if(node < _last)
-   {
-      if(*node == 0)
-      {
-         if(condemed.empty())
-         {
-            *node = new char[sizeof(int) + buf_size];
-            *(reinterpret_cast<int*>(*node)) = 1;
-         }
-         else
-         {
-            pointer* p = condemed.front();
-            condemed.pop_front();
-            *node = *p;
-            *p = 0;
-            *(reinterpret_cast<int*>(*node)) = 1;
-         }
- 
-        std::size_t read_size = 0; 
-        int read_pos = std::fseek(hfile, (node - _first) * buf_size, SEEK_SET); 
-
-        if(0 == read_pos && node == _last - 1) 
-           read_size = std::fread(*node + sizeof(int), _size % buf_size, 1, hfile); 
-        else
-           read_size = std::fread(*node + sizeof(int), buf_size, 1, hfile);
-#ifndef BOOST_NO_EXCEPTIONS 
-        if((read_size == 0) || (std::ferror(hfile)))
-        { 
-           throw std::runtime_error("Unable to read file."); 
-        } 
-#else 
-        BOOST_REGEX_NOEH_ASSERT((0 == std::ferror(hfile)) && (read_size != 0)); 
-#endif 
-      }
-      else
-      {
-         if(*reinterpret_cast<int*>(*node) == 0)
-         {
-            *reinterpret_cast<int*>(*node) = 1;
-            condemed.remove(node);
-         }
-         else
-            ++(*reinterpret_cast<int*>(*node));
-      }
-   }
-}
-
-void mapfile::unlock(pointer* node)const
-{
-   BOOST_ASSERT(node >= _first);
-   BOOST_ASSERT(node <= _last);
-   if(node < _last)
-   {
-      if(--(*reinterpret_cast<int*>(*node)) == 0)
-      {
-         condemed.push_back(node);
-      }
-   }
-}
-
-long int get_file_length(std::FILE* hfile)
-{
-   long int result;
-   std::fseek(hfile, 0, SEEK_END);
-   result = std::ftell(hfile);
-   std::fseek(hfile, 0, SEEK_SET);
-   return result;
-}
-
-
-void mapfile::open(const char* file)
-{
-   hfile = std::fopen(file, "rb");
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-   if(hfile != 0)
-   {
-      _size = get_file_length(hfile);
-      long cnodes = (_size + buf_size - 1) / buf_size;
-
-      // check that number of nodes is not too high:
-      if(cnodes > (long)((INT_MAX) / sizeof(pointer*)))
-      {
-         std::fclose(hfile);
-         hfile = 0;
-         _size = 0;
-         return;
-      }
-
-      _first = new pointer[(int)cnodes];
-      _last = _first + cnodes;
-      std::memset(_first, 0, cnodes*sizeof(pointer));
-   }
-   else
-   {
-       std::runtime_error err("Unable to open file.");
-   }
-#ifndef BOOST_NO_EXCEPTIONS
-   }catch(...)
-   { close(); throw; }
-#endif
-}
-
-void mapfile::close()
-{
-   if(hfile != 0)
-   {
-      pointer* p = _first;
-      while(p != _last)
-      {
-         if(*p)
-            delete[] *p;
-         ++p;
-      }
-      delete[] _first;
-      _size = 0;
-      _first = _last = 0;
-      std::fclose(hfile);
-      hfile = 0;
-      condemed.erase(condemed.begin(), condemed.end());
-   }
-}
-
-
-#endif
-
-inline _fi_find_handle find_first_file(const char* wild,  _fi_find_data& data)
-{
-#ifdef BOOST_NO_ANSI_APIS
-   std::size_t wild_size = std::strlen(wild);
-   LPWSTR wide_wild = (LPWSTR)_alloca( (wild_size + 1) * sizeof(WCHAR) );
-   if (::MultiByteToWideChar(CP_ACP, 0,  wild, wild_size,  wide_wild, wild_size + 1) == 0)
-      return _fi_invalid_handle;
-
-   return FindFirstFileW(wide_wild, &data);
-#else
-   return FindFirstFileA(wild, &data);
-#endif
-}
-
-inline bool find_next_file(_fi_find_handle hf,  _fi_find_data& data)
-{
-#ifdef BOOST_NO_ANSI_APIS
-   return FindNextFileW(hf, &data);
-#else
-   return FindNextFileA(hf, &data);
-#endif
-}
-   
-inline void copy_find_file_result_with_overflow_check(const _fi_find_data& data,  char* path, size_t max_size)
-{
-#ifdef BOOST_NO_ANSI_APIS
-   if (::WideCharToMultiByte(CP_ACP, 0,  data.cFileName, -1,  path, max_size,  NULL, NULL) == 0)
-      re_detail::overflow_error_if_not_zero(1);
-#else
-   re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(path, max_size,  data.cFileName));
-#endif
-}
-
-inline bool is_not_current_or_parent_path_string(const _fi_find_data& data)
-{
-#ifdef BOOST_NO_ANSI_APIS
-   return (std::wcscmp(data.cFileName, L".") && std::wcscmp(data.cFileName, L".."));
-#else
-   return (std::strcmp(data.cFileName, ".") && std::strcmp(data.cFileName, ".."));
-#endif
-}
-
-
-file_iterator::file_iterator()
-{
-   _root = _path = 0;
-   ref = 0;
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-   _root = new char[MAX_PATH];
-   BOOST_REGEX_NOEH_ASSERT(_root)
-   _path = new char[MAX_PATH];
-   BOOST_REGEX_NOEH_ASSERT(_path)
-   ptr = _path;
-   *_path = 0;
-   *_root = 0;
-   ref = new file_iterator_ref();
-   BOOST_REGEX_NOEH_ASSERT(ref)
-   ref->hf = _fi_invalid_handle;
-   ref->count = 1;
-#ifndef BOOST_NO_EXCEPTIONS
-   }
-   catch(...)
-   {
-      delete[] _root;
-      delete[] _path;
-      delete ref;
-      throw;
-   }
-#endif
-}
-
-file_iterator::file_iterator(const char* wild)
-{
-   _root = _path = 0;
-   ref = 0;
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-   _root = new char[MAX_PATH];
-   BOOST_REGEX_NOEH_ASSERT(_root)
-   _path = new char[MAX_PATH];
-   BOOST_REGEX_NOEH_ASSERT(_path)
-   re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_root, MAX_PATH, wild));
-   ptr = _root;
-   while(*ptr)++ptr;
-   while((ptr > _root) && (*ptr != *_fi_sep) && (*ptr != *_fi_sep_alt))--ptr;
-   if((ptr == _root) && ( (*ptr== *_fi_sep) || (*ptr==*_fi_sep_alt) ) )
-   {
-     _root[1]='\0';
-     re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_path, MAX_PATH, _root));
-   }
-   else
-   {
-     *ptr = 0;
-     re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_path, MAX_PATH, _root));
-     if(*_path == 0)
-       re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_path, MAX_PATH, "."));
-     re_detail::overflow_error_if_not_zero(re_detail::strcat_s(_path, MAX_PATH, _fi_sep));
-   }
-   ptr = _path + std::strlen(_path);
-
-   ref = new file_iterator_ref();
-   BOOST_REGEX_NOEH_ASSERT(ref)
-   ref->hf = find_first_file(wild,  ref->_data);
-   ref->count = 1;
-
-   if(ref->hf == _fi_invalid_handle)
-   {
-      *_path = 0;
-      ptr = _path;
-   }
-   else
-   {
-      copy_find_file_result_with_overflow_check(ref->_data,  ptr, (MAX_PATH - (ptr - _path)));
-      if(ref->_data.dwFileAttributes & _fi_dir)
-         next();
-   }
-#ifndef BOOST_NO_EXCEPTIONS
-   }
-   catch(...)
-   {
-      delete[] _root;
-      delete[] _path;
-      delete ref;
-      throw;
-   }
-#endif
-}
-
-file_iterator::file_iterator(const file_iterator& other)
-{
-   _root = _path = 0;
-   ref = 0;
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-   _root = new char[MAX_PATH];
-   BOOST_REGEX_NOEH_ASSERT(_root)
-   _path = new char[MAX_PATH];
-   BOOST_REGEX_NOEH_ASSERT(_path)
-   re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_root, MAX_PATH, other._root));
-   re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_path, MAX_PATH, other._path));
-   ptr = _path + (other.ptr - other._path);
-   ref = other.ref;
-#ifndef BOOST_NO_EXCEPTIONS
-   }
-   catch(...)
-   {
-      delete[] _root;
-      delete[] _path;
-      throw;
-   }
-#endif
-   ++(ref->count);
-}
-
-file_iterator& file_iterator::operator=(const file_iterator& other)
-{
-   re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_root, MAX_PATH, other._root));
-   re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_path, MAX_PATH, other._path));
-   ptr = _path + (other.ptr - other._path);
-   if(--(ref->count) == 0)
-   {
-      if(ref->hf != _fi_invalid_handle)
-         FindClose(ref->hf);
-      delete ref;
-   }
-   ref = other.ref;
-   ++(ref->count);
-   return *this;
-}
-
-
-file_iterator::~file_iterator()
-{
-   delete[] _root;
-   delete[] _path;
-   if(--(ref->count) == 0)
-   {
-      if(ref->hf != _fi_invalid_handle)
-         FindClose(ref->hf);
-      delete ref;
-   }
-}
-
-file_iterator file_iterator::operator++(int)
-{
-   file_iterator temp(*this);
-   next();
-   return temp;
-}
-
-
-void file_iterator::next()
-{
-   if(ref->hf != _fi_invalid_handle)
-   {
-      bool cont = true;
-      while(cont)
-      {
-         cont = find_next_file(ref->hf, ref->_data);
-         if(cont && ((ref->_data.dwFileAttributes & _fi_dir) == 0))
-            break;
-      }
-      if(!cont)
-      {
-         // end of sequence
-         FindClose(ref->hf);
-         ref->hf = _fi_invalid_handle;
-         *_path = 0;
-         ptr = _path;
-      }
-      else
-         copy_find_file_result_with_overflow_check(ref->_data,  ptr, MAX_PATH - (ptr - _path));
-   }
-}
-
-
-
-directory_iterator::directory_iterator()
-{
-   _root = _path = 0;
-   ref = 0;
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-   _root = new char[MAX_PATH];
-   BOOST_REGEX_NOEH_ASSERT(_root)
-   _path = new char[MAX_PATH];
-   BOOST_REGEX_NOEH_ASSERT(_path)
-   ptr = _path;
-   *_path = 0;
-   *_root = 0;
-   ref = new file_iterator_ref();
-   BOOST_REGEX_NOEH_ASSERT(ref)
-   ref->hf = _fi_invalid_handle;
-   ref->count = 1;
-#ifndef BOOST_NO_EXCEPTIONS
-   }
-   catch(...)
-   {
-      delete[] _root;
-      delete[] _path;
-      delete ref;
-      throw;
-   }
-#endif
-}
-
-directory_iterator::directory_iterator(const char* wild)
-{
-   _root = _path = 0;
-   ref = 0;
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-   _root = new char[MAX_PATH];
-   BOOST_REGEX_NOEH_ASSERT(_root)
-   _path = new char[MAX_PATH];
-   BOOST_REGEX_NOEH_ASSERT(_path)
-   re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_root, MAX_PATH, wild));
-   ptr = _root;
-   while(*ptr)++ptr;
-   while((ptr > _root) && (*ptr != *_fi_sep) && (*ptr != *_fi_sep_alt))--ptr;
-
-   if((ptr == _root) && ( (*ptr== *_fi_sep) || (*ptr==*_fi_sep_alt) ) )
-   {
-     _root[1]='\0';
-     re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_path, MAX_PATH, _root));
-   }
-   else
-   {
-     *ptr = 0;
-     re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_path, MAX_PATH, _root));
-     if(*_path == 0)
-       re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_path, MAX_PATH, "."));
-     re_detail::overflow_error_if_not_zero(re_detail::strcat_s(_path, MAX_PATH, _fi_sep));
-   }
-   ptr = _path + std::strlen(_path);
-
-   ref = new file_iterator_ref();
-   BOOST_REGEX_NOEH_ASSERT(ref)
-   ref->count = 1;
-   ref->hf = find_first_file(wild,  ref->_data);
-   if(ref->hf == _fi_invalid_handle)
-   {
-      *_path = 0;
-      ptr = _path;
-   }
-   else
-   {
-      copy_find_file_result_with_overflow_check(ref->_data,  ptr, MAX_PATH - (ptr - _path));
-      if(((ref->_data.dwFileAttributes & _fi_dir) == 0) || (std::strcmp(ptr, ".") == 0) || (std::strcmp(ptr, "..") == 0))
-         next();
-   }
-#ifndef BOOST_NO_EXCEPTIONS
-   }
-   catch(...)
-   {
-      delete[] _root;
-      delete[] _path;
-      delete ref;
-      throw;
-   }
-#endif
-}
-
-directory_iterator::~directory_iterator()
-{
-   delete[] _root;
-   delete[] _path;
-   if(--(ref->count) == 0)
-   {
-      if(ref->hf != _fi_invalid_handle)
-         FindClose(ref->hf);
-      delete ref;
-   }
-}
-
-directory_iterator::directory_iterator(const directory_iterator& other)
-{
-   _root = _path = 0;
-   ref = 0;
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-   _root = new char[MAX_PATH];
-   BOOST_REGEX_NOEH_ASSERT(_root)
-   _path = new char[MAX_PATH];
-   BOOST_REGEX_NOEH_ASSERT(_path)
-   re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_root, MAX_PATH, other._root));
-   re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_path, MAX_PATH, other._path));
-   ptr = _path + (other.ptr - other._path);
-   ref = other.ref;
-#ifndef BOOST_NO_EXCEPTIONS
-   }
-   catch(...)
-   {
-      delete[] _root;
-      delete[] _path;
-      throw;
-   }
-#endif
-   ++(ref->count);
-}
-
-directory_iterator& directory_iterator::operator=(const directory_iterator& other)
-{
-   re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_root, MAX_PATH, other._root));
-   re_detail::overflow_error_if_not_zero(re_detail::strcpy_s(_path, MAX_PATH, other._path));
-   ptr = _path + (other.ptr - other._path);
-   if(--(ref->count) == 0)
-   {
-      if(ref->hf != _fi_invalid_handle)
-         FindClose(ref->hf);
-      delete ref;
-   }
-   ref = other.ref;
-   ++(ref->count);
-   return *this;
-}
-
-directory_iterator directory_iterator::operator++(int)
-{
-   directory_iterator temp(*this);
-   next();
-   return temp;
-}
-
-void directory_iterator::next()
-{
-   if(ref->hf != _fi_invalid_handle)
-   {
-      bool cont = true;
-      while(cont)
-      {
-         cont = find_next_file(ref->hf, ref->_data);
-         if(cont && (ref->_data.dwFileAttributes & _fi_dir))
-         {
-            if(is_not_current_or_parent_path_string(ref->_data))
-               break;
-         }
-      }
-      if(!cont)
-      {
-         // end of sequence
-         FindClose(ref->hf);
-         ref->hf = _fi_invalid_handle;
-         *_path = 0;
-         ptr = _path;
-      }
-      else
-         copy_find_file_result_with_overflow_check(ref->_data,  ptr, MAX_PATH - (ptr - _path));
-   }
-}
-
-
-#ifdef BOOST_REGEX_FI_POSIX_DIR
-
-struct _fi_priv_data
-{
-   char root[MAX_PATH];
-   char* mask;
-   DIR* d;
-   _fi_priv_data(const char* p);
-};
-
-_fi_priv_data::_fi_priv_data(const char* p)
-{
-   std::strcpy(root, p);
-   mask = root;
-   while(*mask) ++mask;
-   while((mask > root) && (*mask != *_fi_sep) && (*mask != *_fi_sep_alt)) --mask;
-   if(mask == root && ((*mask== *_fi_sep) || (*mask == *_fi_sep_alt)) )
-   {
-      root[1] = '\0';
-      std::strcpy(root+2, p+1);
-      mask = root+2;
-   }
-   else if(mask == root)
-   {
-      root[0] = '.';
-      root[1] = '\0';
-      std::strcpy(root+2, p);
-      mask = root+2;
-   }
-   else
-   {
-      *mask = 0;
-      ++mask;
-   }
-}
-
-bool iswild(const char* mask, const char* name)
-{
-   while(*mask && *name)
-   {
-      switch(*mask)
-      {
-      case '?':
-         ++name;
-         ++mask;
-         continue;
-      case '*':
-         ++mask;
-         if(*mask == 0)
-            return true;
-         while(*name)
-         {
-            if(iswild(mask, name))
-               return true;
-            ++name;
-         }
-         return false;
-      case '.':
-         if(0 == *name)
-         {
-            ++mask;
-            continue;
-         }
-         // fall through:
-      default:
-         if(BOOST_REGEX_FI_TRANSLATE(*mask) != BOOST_REGEX_FI_TRANSLATE(*name))
-            return false;
-         ++mask;
-         ++name;
-         continue;
-      }
-   }
-   if(*mask != *name)
-      return false;
-   return true;
-}
-
-unsigned _fi_attributes(const char* root, const char* name)
-{
-   char buf[MAX_PATH];
-   // verify that we can not overflow:
-   if(std::strlen(root) + std::strlen(_fi_sep) + std::strlen(name) >= MAX_PATH)
-      return 0;
-   int r;
-   if( ( (root[0] == *_fi_sep) || (root[0] == *_fi_sep_alt) ) && (root[1] == '\0') )
-      r = (std::sprintf)(buf, "%s%s", root, name);
-   else
-      r = (std::sprintf)(buf, "%s%s%s", root, _fi_sep, name);
-   if(r < 0)
-      return 0; // sprintf failed
-   DIR* d = opendir(buf);
-   if(d)
-   {
-      closedir(d);
-      return _fi_dir;
-   }
-   return 0;
-}
-
-_fi_find_handle _fi_FindFirstFile(const char* lpFileName, _fi_find_data* lpFindFileData)
-{
-   _fi_find_handle dat = new _fi_priv_data(lpFileName);
-
-   DIR* h = opendir(dat->root);
-   dat->d = h;
-   if(h != 0)
-   {
-      if(_fi_FindNextFile(dat, lpFindFileData))
-         return dat;
-   }
-   delete dat;
-   return 0;
-}
-
-bool _fi_FindNextFile(_fi_find_handle dat, _fi_find_data* lpFindFileData)
-{
-   dirent* d;
-   do
-   {
-      d = readdir(dat->d);
-   } while(d && !iswild(dat->mask, d->d_name));
-
-   if(d)
-   {
-      std::strcpy(lpFindFileData->cFileName, d->d_name);
-      lpFindFileData->dwFileAttributes = _fi_attributes(dat->root, d->d_name);
-      return true;
-   }
-   return false;
-}
-
-bool _fi_FindClose(_fi_find_handle dat)
-{
-   closedir(dat->d);
-   delete dat;
-   return true;
-}
-
-#endif
-
-} // namespace re_detail
-} // namspace boost
-
-#endif    // BOOST_REGEX_NO_FILEITER
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/regex/src/icu.cpp b/SRC/Boost/libs/regex/src/icu.cpp
deleted file mode 100755
index 05d68ba..0000000
--- a/SRC/Boost/libs/regex/src/icu.cpp
+++ /dev/null
@@ -1,507 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         icu.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Unicode regular expressions on top of the ICU Library.
-  */
-#define BOOST_REGEX_SOURCE
-
-#include <boost/regex/config.hpp>
-#ifdef BOOST_HAS_ICU
-#define BOOST_REGEX_ICU_INSTANTIATE
-#include <boost/regex/icu.hpp>
-
-#ifdef BOOST_INTEL
-#pragma warning(disable:981 2259 383)
-#endif
-
-namespace boost{
-
-namespace re_detail{
-
-icu_regex_traits_implementation::string_type icu_regex_traits_implementation::do_transform(const char_type* p1, const char_type* p2, const U_NAMESPACE_QUALIFIER Collator* pcoll) const
-{
-   // TODO make thread safe!!!! :
-   typedef u32_to_u16_iterator<const char_type*, ::UChar> itt;
-   itt i(p1), j(p2);
-#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-   std::vector< ::UChar> t(i, j);
-#else
-   std::vector< ::UChar> t;
-   while(i != j)
-      t.push_back(*i++);
-#endif
-   ::uint8_t result[100];
-   ::int32_t len;
-   if(t.size())
-      len = pcoll->getSortKey(&*t.begin(), static_cast< ::int32_t>(t.size()), result, sizeof(result));
-   else
-      len = pcoll->getSortKey(static_cast<UChar const*>(0), static_cast< ::int32_t>(0), result, sizeof(result));
-   if(std::size_t(len) > sizeof(result))
-   {
-      scoped_array< ::uint8_t> presult(new ::uint8_t[len+1]);
-      if(t.size())
-         len = pcoll->getSortKey(&*t.begin(), static_cast< ::int32_t>(t.size()), presult.get(), len+1);
-      else
-         len = pcoll->getSortKey(static_cast<UChar const*>(0), static_cast< ::int32_t>(0), presult.get(), len+1);
-      if((0 == presult[len-1]) && (len > 1))
-         --len;
-#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-      return string_type(presult.get(), presult.get()+len);
-#else
-      string_type sresult;
-      ::uint8_t const* ia = presult.get();
-      ::uint8_t const* ib = presult.get()+len;
-      while(ia != ib)
-         sresult.push_back(*ia++);
-      return sresult;
-#endif
-   }
-   if((0 == result[len-1]) && (len > 1))
-      --len;
-#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-   return string_type(result, result+len);
-#else
-   string_type sresult;
-   ::uint8_t const* ia = result;
-   ::uint8_t const* ib = result+len;
-   while(ia != ib)
-      sresult.push_back(*ia++);
-   return sresult;
-#endif
-}
-
-}
-
-icu_regex_traits::size_type icu_regex_traits::length(const char_type* p)
-{
-   size_type result = 0;
-   while(*p)
-   {
-      ++p;
-      ++result;
-   }
-   return result;
-}
-
-//
-// define our bitmasks:
-//
-const icu_regex_traits::char_class_type icu_regex_traits::mask_blank = icu_regex_traits::char_class_type(1) << offset_blank;
-const icu_regex_traits::char_class_type icu_regex_traits::mask_space = icu_regex_traits::char_class_type(1) << offset_space;
-const icu_regex_traits::char_class_type icu_regex_traits::mask_xdigit = icu_regex_traits::char_class_type(1) << offset_xdigit;
-const icu_regex_traits::char_class_type icu_regex_traits::mask_underscore = icu_regex_traits::char_class_type(1) << offset_underscore;
-const icu_regex_traits::char_class_type icu_regex_traits::mask_unicode = icu_regex_traits::char_class_type(1) << offset_unicode;
-const icu_regex_traits::char_class_type icu_regex_traits::mask_any = icu_regex_traits::char_class_type(1) << offset_any;
-const icu_regex_traits::char_class_type icu_regex_traits::mask_ascii = icu_regex_traits::char_class_type(1) << offset_ascii;
-const icu_regex_traits::char_class_type icu_regex_traits::mask_horizontal = icu_regex_traits::char_class_type(1) << offset_horizontal;
-const icu_regex_traits::char_class_type icu_regex_traits::mask_vertical = icu_regex_traits::char_class_type(1) << offset_vertical;
-
-icu_regex_traits::char_class_type icu_regex_traits::lookup_icu_mask(const ::UChar32* p1, const ::UChar32* p2)
-{
-   static const ::UChar32 prop_name_table[] = {
-      /* any */  'a', 'n', 'y', 
-      /* ascii */  'a', 's', 'c', 'i', 'i', 
-      /* assigned */  'a', 's', 's', 'i', 'g', 'n', 'e', 'd', 
-      /* c* */  'c', '*', 
-      /* cc */  'c', 'c', 
-      /* cf */  'c', 'f', 
-      /* closepunctuation */  'c', 'l', 'o', 's', 'e', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', 
-      /* cn */  'c', 'n', 
-      /* co */  'c', 'o', 
-      /* connectorpunctuation */  'c', 'o', 'n', 'n', 'e', 'c', 't', 'o', 'r', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', 
-      /* control */  'c', 'o', 'n', 't', 'r', 'o', 'l', 
-      /* cs */  'c', 's', 
-      /* currencysymbol */  'c', 'u', 'r', 'r', 'e', 'n', 'c', 'y', 's', 'y', 'm', 'b', 'o', 'l', 
-      /* dashpunctuation */  'd', 'a', 's', 'h', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', 
-      /* decimaldigitnumber */  'd', 'e', 'c', 'i', 'm', 'a', 'l', 'd', 'i', 'g', 'i', 't', 'n', 'u', 'm', 'b', 'e', 'r', 
-      /* enclosingmark */  'e', 'n', 'c', 'l', 'o', 's', 'i', 'n', 'g', 'm', 'a', 'r', 'k', 
-      /* finalpunctuation */  'f', 'i', 'n', 'a', 'l', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', 
-      /* format */  'f', 'o', 'r', 'm', 'a', 't', 
-      /* initialpunctuation */  'i', 'n', 'i', 't', 'i', 'a', 'l', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', 
-      /* l* */  'l', '*', 
-      /* letter */  'l', 'e', 't', 't', 'e', 'r', 
-      /* letternumber */  'l', 'e', 't', 't', 'e', 'r', 'n', 'u', 'm', 'b', 'e', 'r', 
-      /* lineseparator */  'l', 'i', 'n', 'e', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', 
-      /* ll */  'l', 'l', 
-      /* lm */  'l', 'm', 
-      /* lo */  'l', 'o', 
-      /* lowercaseletter */  'l', 'o', 'w', 'e', 'r', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r', 
-      /* lt */  'l', 't', 
-      /* lu */  'l', 'u', 
-      /* m* */  'm', '*', 
-      /* mark */  'm', 'a', 'r', 'k', 
-      /* mathsymbol */  'm', 'a', 't', 'h', 's', 'y', 'm', 'b', 'o', 'l', 
-      /* mc */  'm', 'c', 
-      /* me */  'm', 'e', 
-      /* mn */  'm', 'n', 
-      /* modifierletter */  'm', 'o', 'd', 'i', 'f', 'i', 'e', 'r', 'l', 'e', 't', 't', 'e', 'r', 
-      /* modifiersymbol */  'm', 'o', 'd', 'i', 'f', 'i', 'e', 'r', 's', 'y', 'm', 'b', 'o', 'l', 
-      /* n* */  'n', '*', 
-      /* nd */  'n', 'd', 
-      /* nl */  'n', 'l', 
-      /* no */  'n', 'o', 
-      /* nonspacingmark */  'n', 'o', 'n', 's', 'p', 'a', 'c', 'i', 'n', 'g', 'm', 'a', 'r', 'k', 
-      /* notassigned */  'n', 'o', 't', 'a', 's', 's', 'i', 'g', 'n', 'e', 'd', 
-      /* number */  'n', 'u', 'm', 'b', 'e', 'r', 
-      /* openpunctuation */  'o', 'p', 'e', 'n', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', 
-      /* other */  'o', 't', 'h', 'e', 'r', 
-      /* otherletter */  'o', 't', 'h', 'e', 'r', 'l', 'e', 't', 't', 'e', 'r', 
-      /* othernumber */  'o', 't', 'h', 'e', 'r', 'n', 'u', 'm', 'b', 'e', 'r', 
-      /* otherpunctuation */  'o', 't', 'h', 'e', 'r', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', 
-      /* othersymbol */  'o', 't', 'h', 'e', 'r', 's', 'y', 'm', 'b', 'o', 'l', 
-      /* p* */  'p', '*', 
-      /* paragraphseparator */  'p', 'a', 'r', 'a', 'g', 'r', 'a', 'p', 'h', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', 
-      /* pc */  'p', 'c', 
-      /* pd */  'p', 'd', 
-      /* pe */  'p', 'e', 
-      /* pf */  'p', 'f', 
-      /* pi */  'p', 'i', 
-      /* po */  'p', 'o', 
-      /* privateuse */  'p', 'r', 'i', 'v', 'a', 't', 'e', 'u', 's', 'e', 
-      /* ps */  'p', 's', 
-      /* punctuation */  'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', 
-      /* s* */  's', '*', 
-      /* sc */  's', 'c', 
-      /* separator */  's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', 
-      /* sk */  's', 'k', 
-      /* sm */  's', 'm', 
-      /* so */  's', 'o', 
-      /* spaceseparator */  's', 'p', 'a', 'c', 'e', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', 
-      /* spacingcombiningmark */  's', 'p', 'a', 'c', 'i', 'n', 'g', 'c', 'o', 'm', 'b', 'i', 'n', 'i', 'n', 'g', 'm', 'a', 'r', 'k', 
-      /* surrogate */  's', 'u', 'r', 'r', 'o', 'g', 'a', 't', 'e', 
-      /* symbol */  's', 'y', 'm', 'b', 'o', 'l', 
-      /* titlecase */  't', 'i', 't', 'l', 'e', 'c', 'a', 's', 'e', 
-      /* titlecaseletter */  't', 'i', 't', 'l', 'e', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r', 
-      /* uppercaseletter */  'u', 'p', 'p', 'e', 'r', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r', 
-      /* z* */  'z', '*', 
-      /* zl */  'z', 'l', 
-      /* zp */  'z', 'p', 
-      /* zs */  'z', 's', 
-   };
-
-   static const re_detail::character_pointer_range< ::UChar32> range_data[] = {
-      { prop_name_table+0, prop_name_table+3, }, // any
-      { prop_name_table+3, prop_name_table+8, }, // ascii
-      { prop_name_table+8, prop_name_table+16, }, // assigned
-      { prop_name_table+16, prop_name_table+18, }, // c*
-      { prop_name_table+18, prop_name_table+20, }, // cc
-      { prop_name_table+20, prop_name_table+22, }, // cf
-      { prop_name_table+22, prop_name_table+38, }, // closepunctuation
-      { prop_name_table+38, prop_name_table+40, }, // cn
-      { prop_name_table+40, prop_name_table+42, }, // co
-      { prop_name_table+42, prop_name_table+62, }, // connectorpunctuation
-      { prop_name_table+62, prop_name_table+69, }, // control
-      { prop_name_table+69, prop_name_table+71, }, // cs
-      { prop_name_table+71, prop_name_table+85, }, // currencysymbol
-      { prop_name_table+85, prop_name_table+100, }, // dashpunctuation
-      { prop_name_table+100, prop_name_table+118, }, // decimaldigitnumber
-      { prop_name_table+118, prop_name_table+131, }, // enclosingmark
-      { prop_name_table+131, prop_name_table+147, }, // finalpunctuation
-      { prop_name_table+147, prop_name_table+153, }, // format
-      { prop_name_table+153, prop_name_table+171, }, // initialpunctuation
-      { prop_name_table+171, prop_name_table+173, }, // l*
-      { prop_name_table+173, prop_name_table+179, }, // letter
-      { prop_name_table+179, prop_name_table+191, }, // letternumber
-      { prop_name_table+191, prop_name_table+204, }, // lineseparator
-      { prop_name_table+204, prop_name_table+206, }, // ll
-      { prop_name_table+206, prop_name_table+208, }, // lm
-      { prop_name_table+208, prop_name_table+210, }, // lo
-      { prop_name_table+210, prop_name_table+225, }, // lowercaseletter
-      { prop_name_table+225, prop_name_table+227, }, // lt
-      { prop_name_table+227, prop_name_table+229, }, // lu
-      { prop_name_table+229, prop_name_table+231, }, // m*
-      { prop_name_table+231, prop_name_table+235, }, // mark
-      { prop_name_table+235, prop_name_table+245, }, // mathsymbol
-      { prop_name_table+245, prop_name_table+247, }, // mc
-      { prop_name_table+247, prop_name_table+249, }, // me
-      { prop_name_table+249, prop_name_table+251, }, // mn
-      { prop_name_table+251, prop_name_table+265, }, // modifierletter
-      { prop_name_table+265, prop_name_table+279, }, // modifiersymbol
-      { prop_name_table+279, prop_name_table+281, }, // n*
-      { prop_name_table+281, prop_name_table+283, }, // nd
-      { prop_name_table+283, prop_name_table+285, }, // nl
-      { prop_name_table+285, prop_name_table+287, }, // no
-      { prop_name_table+287, prop_name_table+301, }, // nonspacingmark
-      { prop_name_table+301, prop_name_table+312, }, // notassigned
-      { prop_name_table+312, prop_name_table+318, }, // number
-      { prop_name_table+318, prop_name_table+333, }, // openpunctuation
-      { prop_name_table+333, prop_name_table+338, }, // other
-      { prop_name_table+338, prop_name_table+349, }, // otherletter
-      { prop_name_table+349, prop_name_table+360, }, // othernumber
-      { prop_name_table+360, prop_name_table+376, }, // otherpunctuation
-      { prop_name_table+376, prop_name_table+387, }, // othersymbol
-      { prop_name_table+387, prop_name_table+389, }, // p*
-      { prop_name_table+389, prop_name_table+407, }, // paragraphseparator
-      { prop_name_table+407, prop_name_table+409, }, // pc
-      { prop_name_table+409, prop_name_table+411, }, // pd
-      { prop_name_table+411, prop_name_table+413, }, // pe
-      { prop_name_table+413, prop_name_table+415, }, // pf
-      { prop_name_table+415, prop_name_table+417, }, // pi
-      { prop_name_table+417, prop_name_table+419, }, // po
-      { prop_name_table+419, prop_name_table+429, }, // privateuse
-      { prop_name_table+429, prop_name_table+431, }, // ps
-      { prop_name_table+431, prop_name_table+442, }, // punctuation
-      { prop_name_table+442, prop_name_table+444, }, // s*
-      { prop_name_table+444, prop_name_table+446, }, // sc
-      { prop_name_table+446, prop_name_table+455, }, // separator
-      { prop_name_table+455, prop_name_table+457, }, // sk
-      { prop_name_table+457, prop_name_table+459, }, // sm
-      { prop_name_table+459, prop_name_table+461, }, // so
-      { prop_name_table+461, prop_name_table+475, }, // spaceseparator
-      { prop_name_table+475, prop_name_table+495, }, // spacingcombiningmark
-      { prop_name_table+495, prop_name_table+504, }, // surrogate
-      { prop_name_table+504, prop_name_table+510, }, // symbol
-      { prop_name_table+510, prop_name_table+519, }, // titlecase
-      { prop_name_table+519, prop_name_table+534, }, // titlecaseletter
-      { prop_name_table+534, prop_name_table+549, }, // uppercaseletter
-      { prop_name_table+549, prop_name_table+551, }, // z*
-      { prop_name_table+551, prop_name_table+553, }, // zl
-      { prop_name_table+553, prop_name_table+555, }, // zp
-      { prop_name_table+555, prop_name_table+557, }, // zs
-   };
-
-   static const icu_regex_traits::char_class_type icu_class_map[] = {
-      icu_regex_traits::mask_any, // any
-      icu_regex_traits::mask_ascii, // ascii
-      (0x3FFFFFFFu) & ~(U_GC_CN_MASK), // assigned
-      U_GC_C_MASK, // c*
-      U_GC_CC_MASK, // cc
-      U_GC_CF_MASK, // cf
-      U_GC_PE_MASK, // closepunctuation
-      U_GC_CN_MASK, // cn
-      U_GC_CO_MASK, // co
-      U_GC_PC_MASK, // connectorpunctuation
-      U_GC_CC_MASK, // control
-      U_GC_CS_MASK, // cs
-      U_GC_SC_MASK, // currencysymbol
-      U_GC_PD_MASK, // dashpunctuation
-      U_GC_ND_MASK, // decimaldigitnumber
-      U_GC_ME_MASK, // enclosingmark
-      U_GC_PF_MASK, // finalpunctuation
-      U_GC_CF_MASK, // format
-      U_GC_PI_MASK, // initialpunctuation
-      U_GC_L_MASK, // l*
-      U_GC_L_MASK, // letter
-      U_GC_NL_MASK, // letternumber
-      U_GC_ZL_MASK, // lineseparator
-      U_GC_LL_MASK, // ll
-      U_GC_LM_MASK, // lm
-      U_GC_LO_MASK, // lo
-      U_GC_LL_MASK, // lowercaseletter
-      U_GC_LT_MASK, // lt
-      U_GC_LU_MASK, // lu
-      U_GC_M_MASK, // m*
-      U_GC_M_MASK, // mark
-      U_GC_SM_MASK, // mathsymbol
-      U_GC_MC_MASK, // mc
-      U_GC_ME_MASK, // me
-      U_GC_MN_MASK, // mn
-      U_GC_LM_MASK, // modifierletter
-      U_GC_SK_MASK, // modifiersymbol
-      U_GC_N_MASK, // n*
-      U_GC_ND_MASK, // nd
-      U_GC_NL_MASK, // nl
-      U_GC_NO_MASK, // no
-      U_GC_MN_MASK, // nonspacingmark
-      U_GC_CN_MASK, // notassigned
-      U_GC_N_MASK, // number
-      U_GC_PS_MASK, // openpunctuation
-      U_GC_C_MASK, // other
-      U_GC_LO_MASK, // otherletter
-      U_GC_NO_MASK, // othernumber
-      U_GC_PO_MASK, // otherpunctuation
-      U_GC_SO_MASK, // othersymbol
-      U_GC_P_MASK, // p*
-      U_GC_ZP_MASK, // paragraphseparator
-      U_GC_PC_MASK, // pc
-      U_GC_PD_MASK, // pd
-      U_GC_PE_MASK, // pe
-      U_GC_PF_MASK, // pf
-      U_GC_PI_MASK, // pi
-      U_GC_PO_MASK, // po
-      U_GC_CO_MASK, // privateuse
-      U_GC_PS_MASK, // ps
-      U_GC_P_MASK, // punctuation
-      U_GC_S_MASK, // s*
-      U_GC_SC_MASK, // sc
-      U_GC_Z_MASK, // separator
-      U_GC_SK_MASK, // sk
-      U_GC_SM_MASK, // sm
-      U_GC_SO_MASK, // so
-      U_GC_ZS_MASK, // spaceseparator
-      U_GC_MC_MASK, // spacingcombiningmark
-      U_GC_CS_MASK, // surrogate
-      U_GC_S_MASK, // symbol
-      U_GC_LT_MASK, // titlecase
-      U_GC_LT_MASK, // titlecaseletter
-      U_GC_LU_MASK, // uppercaseletter
-      U_GC_Z_MASK, // z*
-      U_GC_ZL_MASK, // zl
-      U_GC_ZP_MASK, // zp
-      U_GC_ZS_MASK, // zs
-   };
-
-
-   static const re_detail::character_pointer_range< ::UChar32>* ranges_begin = range_data;
-   static const re_detail::character_pointer_range< ::UChar32>* ranges_end = range_data + (sizeof(range_data)/sizeof(range_data[0]));
-   
-   re_detail::character_pointer_range< ::UChar32> t = { p1, p2, };
-   const re_detail::character_pointer_range< ::UChar32>* p = std::lower_bound(ranges_begin, ranges_end, t);
-   if((p != ranges_end) && (t == *p))
-      return icu_class_map[p - ranges_begin];
-   return 0;
-}
-
-icu_regex_traits::char_class_type icu_regex_traits::lookup_classname(const char_type* p1, const char_type* p2) const
-{
-   static const char_class_type masks[] = 
-   {
-      0,
-      U_GC_L_MASK | U_GC_ND_MASK, 
-      U_GC_L_MASK,
-      mask_blank,
-      U_GC_CC_MASK | U_GC_CF_MASK | U_GC_ZL_MASK | U_GC_ZP_MASK,
-      U_GC_ND_MASK,
-      U_GC_ND_MASK,
-      (0x3FFFFFFFu) & ~(U_GC_CC_MASK | U_GC_CF_MASK | U_GC_CS_MASK | U_GC_CN_MASK | U_GC_Z_MASK),
-      mask_horizontal,
-      U_GC_LL_MASK,
-      U_GC_LL_MASK,
-      ~(U_GC_C_MASK),
-      U_GC_P_MASK,
-      char_class_type(U_GC_Z_MASK) | mask_space,
-      char_class_type(U_GC_Z_MASK) | mask_space,
-      U_GC_LU_MASK,
-      mask_unicode,
-      U_GC_LU_MASK,
-      mask_vertical,
-      char_class_type(U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK) | mask_underscore, 
-      char_class_type(U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK) | mask_underscore, 
-      char_class_type(U_GC_ND_MASK) | mask_xdigit,
-   };
-
-   int idx = ::boost::re_detail::get_default_class_id(p1, p2);
-   if(idx >= 0)
-      return masks[idx+1];
-   char_class_type result = lookup_icu_mask(p1, p2);
-   if(result != 0)
-      return result;
-
-   if(idx < 0)
-   {
-      string_type s(p1, p2);
-      string_type::size_type i = 0;
-      while(i < s.size())
-      {
-         s[i] = static_cast<char>((::u_tolower)(s[i]));
-         if(::u_isspace(s[i]) || (s[i] == '-') || (s[i] == '_'))
-            s.erase(s.begin()+i, s.begin()+i+1);
-         else
-         {
-            s[i] = static_cast<char>((::u_tolower)(s[i]));
-            ++i;
-         }
-      }
-      if(s.size())
-         idx = ::boost::re_detail::get_default_class_id(&*s.begin(), &*s.begin() + s.size());
-      if(idx >= 0)
-         return masks[idx+1];
-      if(s.size())
-         result = lookup_icu_mask(&*s.begin(), &*s.begin() + s.size());
-      if(result != 0)
-         return result;
-   }
-   BOOST_ASSERT(std::size_t(idx+1) < sizeof(masks) / sizeof(masks[0]));
-   return masks[idx+1];
-}
-
-icu_regex_traits::string_type icu_regex_traits::lookup_collatename(const char_type* p1, const char_type* p2) const
-{
-   string_type result;
-   if(std::find_if(p1, p2, std::bind2nd(std::greater< ::UChar32>(), 0x7f)) == p2)
-   {
-#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-      std::string s(p1, p2);
-#else
-      std::string s;
-      const char_type* p3 = p1;
-      while(p3 != p2)
-         s.append(1, *p3++);
-#endif
-      // Try Unicode name:
-      UErrorCode err = U_ZERO_ERROR;
-      UChar32 c = ::u_charFromName(U_UNICODE_CHAR_NAME, s.c_str(), &err);
-      if(U_SUCCESS(err))
-      {
-         result.push_back(c);
-         return result;
-      }
-      // Try Unicode-extended name:
-      err = U_ZERO_ERROR;
-      c = ::u_charFromName(U_EXTENDED_CHAR_NAME, s.c_str(), &err);
-      if(U_SUCCESS(err))
-      {
-         result.push_back(c);
-         return result;
-      }
-      // try POSIX name:
-      s = ::boost::re_detail::lookup_default_collate_name(s);
-#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-      result.assign(s.begin(), s.end());
-#else
-      result.clear();
-      std::string::const_iterator si, sj;
-      si = s.begin();
-      sj = s.end();
-      while(si != sj)
-         result.push_back(*si++);
-#endif
-   }
-   if(result.empty() && (p2-p1 == 1))
-      result.push_back(*p1);
-   return result;
-}
-
-bool icu_regex_traits::isctype(char_type c, char_class_type f) const
-{
-   // check for standard catagories first:
-   char_class_type m = char_class_type(1u << u_charType(c));
-   if((m & f) != 0) 
-      return true;
-   // now check for special cases:
-   if(((f & mask_blank) != 0) && u_isblank(c))
-      return true;
-   if(((f & mask_space) != 0) && u_isspace(c))
-      return true;
-   if(((f & mask_xdigit) != 0) && (u_digit(c, 16) >= 0))
-      return true;
-   if(((f & mask_unicode) != 0) && (c >= 0x100))
-      return true;
-   if(((f & mask_underscore) != 0) && (c == '_'))
-      return true;
-   if(((f & mask_any) != 0) && (c <= 0x10FFFF))
-      return true;
-   if(((f & mask_ascii) != 0) && (c <= 0x7F))
-      return true;
-   if(((f & mask_vertical) != 0) && (::boost::re_detail::is_separator(c) || (c == static_cast<char_type>('\v')) || (m == U_GC_ZL_MASK) || (m == U_GC_ZP_MASK)))
-      return true;
-   if(((f & mask_horizontal) != 0) && !::boost::re_detail::is_separator(c) && u_isspace(c) && (c != static_cast<char_type>('\v')))
-      return true;
-   return false;
-}
-
-}
-
-#endif // BOOST_HAS_ICU
diff --git a/SRC/Boost/libs/regex/src/instances.cpp b/SRC/Boost/libs/regex/src/instances.cpp
deleted file mode 100755
index 6b8f366..0000000
--- a/SRC/Boost/libs/regex/src/instances.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE:        instances.cpp
-  *   VERSION:     see <boost/version.hpp>
-  *   DESCRIPTION: regex narrow character template instances.
-  */
-
-#define BOOST_REGEX_SOURCE
-
-#include <boost/regex/config.hpp>
-
-#if !defined(BOOST_REGEX_NO_EXTERNAL_TEMPLATES)
-#define BOOST_REGEX_NARROW_INSTANTIATE
-
-#ifdef __BORLANDC__
-#pragma hrdstop
-#endif
-
-#include <boost/regex.hpp>
-
-#endif
diff --git a/SRC/Boost/libs/regex/src/internals.hpp b/SRC/Boost/libs/regex/src/internals.hpp
deleted file mode 100755
index d6247a6..0000000
--- a/SRC/Boost/libs/regex/src/internals.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- *
- * Copyright (c) 2011
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
-#ifndef BOOST_REGEX_SRC_INTERNALS_HPP
-#define BOOST_REGEX_SRC_INTERNALS_HPP
-
-enum
-{
-   char_class_space=1<<0, 
-   char_class_print=1<<1, 
-   char_class_cntrl=1<<2, 
-   char_class_upper=1<<3, 
-   char_class_lower=1<<4,
-   char_class_alpha=1<<5, 
-   char_class_digit=1<<6, 
-   char_class_punct=1<<7, 
-   char_class_xdigit=1<<8,
-   char_class_alnum=char_class_alpha|char_class_digit, 
-   char_class_graph=char_class_alnum|char_class_punct,
-   char_class_blank=1<<9,
-   char_class_word=1<<10,
-   char_class_unicode=1<<11,
-   char_class_horizontal=1<<12,
-   char_class_vertical=1<<13
-};
-
-#endif // BOOST_REGEX_SRC_INTERNALS_HPP
diff --git a/SRC/Boost/libs/regex/src/posix_api.cpp b/SRC/Boost/libs/regex/src/posix_api.cpp
deleted file mode 100755
index 75caddd..0000000
--- a/SRC/Boost/libs/regex/src/posix_api.cpp
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE:        posix_api.cpp
-  *   VERSION:     see <boost/version.hpp>
-  *   DESCRIPTION: Implements the Posix API wrappers.
-  */
-
-#define BOOST_REGEX_SOURCE
-
-#include <cstdio>
-#include <boost/regex.hpp>
-#include <boost/cregex.hpp>
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-   using ::sprintf;
-   using ::strcpy;
-   using ::strcmp;
-}
-#endif
-
-
-namespace boost{
-
-namespace{
-
-unsigned int magic_value = 25631;
-
-const char* names[] = {
-      "REG_NOERROR",
-      "REG_NOMATCH",
-      "REG_BADPAT",
-      "REG_ECOLLATE",
-      "REG_ECTYPE",
-      "REG_EESCAPE",
-      "REG_ESUBREG",
-      "REG_EBRACK",
-      "REG_EPAREN",
-      "REG_EBRACE",
-      "REG_BADBR",
-      "REG_ERANGE",
-      "REG_ESPACE",
-      "REG_BADRPT",
-      "REG_EEND",
-      "REG_ESIZE",
-      "REG_ERPAREN",
-      "REG_EMPTY",
-      "REG_ECOMPLEXITY",
-      "REG_ESTACK",
-      "REG_E_PERL",
-      "REG_E_UNKNOWN",
-};
-} // namespace
-
-typedef boost::basic_regex<char, c_regex_traits<char> > c_regex_type;
-
-BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char* ptr, int f)
-{
-   if(expression->re_magic != magic_value)
-   {
-      expression->guts = 0;
-#ifndef BOOST_NO_EXCEPTIONS
-      try{
-#endif
-      expression->guts = new c_regex_type();
-#ifndef BOOST_NO_EXCEPTIONS
-      } catch(...)
-      {
-         return REG_ESPACE;
-      }
-#else
-      if(0 == expression->guts)
-         return REG_E_MEMORY;
-#endif
-   }
-   // set default flags:
-   boost::uint_fast32_t flags = (f & REG_PERLEX) ? 0 : ((f & REG_EXTENDED) ? regex::extended : regex::basic);
-   expression->eflags = (f & REG_NEWLINE) ? match_not_dot_newline : match_default;
-   // and translate those that are actually set:
-
-   if(f & REG_NOCOLLATE)
-   {
-      flags |= regex::nocollate;
-#ifndef BOOST_REGEX_V3
-      flags &= ~regex::collate;
-#endif
-   }
-
-   if(f & REG_NOSUB)
-   {
-      //expression->eflags |= match_any;
-      flags |= regex::nosubs;
-   }
-
-   if(f & REG_NOSPEC)
-      flags |= regex::literal;
-   if(f & REG_ICASE)
-      flags |= regex::icase;
-   if(f & REG_ESCAPE_IN_LISTS)
-      flags &= ~regex::no_escape_in_lists;
-   if(f & REG_NEWLINE_ALT)
-      flags |= regex::newline_alt;
-
-   const char* p2;
-   if(f & REG_PEND)
-      p2 = expression->re_endp;
-   else p2 = ptr + std::strlen(ptr);
-
-   int result;
-
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-      expression->re_magic = magic_value;
-      static_cast<c_regex_type*>(expression->guts)->set_expression(ptr, p2, flags);
-      expression->re_nsub = static_cast<c_regex_type*>(expression->guts)->mark_count() - 1;
-      result = static_cast<c_regex_type*>(expression->guts)->error_code();
-#ifndef BOOST_NO_EXCEPTIONS
-   } 
-   catch(const boost::regex_error& be)
-   {
-      result = be.code();
-   }
-   catch(...)
-   {
-      result = REG_E_UNKNOWN;
-   }
-#endif
-   if(result)
-      regfreeA(expression);
-   return result;
-
-}
-
-BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int code, const regex_tA* e, char* buf, regsize_t buf_size)
-{
-   std::size_t result = 0;
-   if(code & REG_ITOA)
-   {
-      code &= ~REG_ITOA;
-      if(code <= (int)REG_E_UNKNOWN)
-      {
-         result = std::strlen(names[code]) + 1;
-         if(buf_size >= result)
-            re_detail::strcpy_s(buf, buf_size, names[code]);
-         return result;
-      }
-      return result;
-   }
-   if(code == REG_ATOI)
-   {
-      char localbuf[5];
-      if(e == 0)
-         return 0;
-      for(int i = 0; i <= (int)REG_E_UNKNOWN; ++i)
-      {
-         if(std::strcmp(e->re_endp, names[i]) == 0)
-         {
-            //
-            // We're converting an integer i to a string, and since i <= REG_E_UNKNOWN
-            // a five character string is *always* large enough:
-            //
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE)
-            int r = (::sprintf_s)(localbuf, 5, "%d", i);
-#else
-            int r = (std::sprintf)(localbuf, "%d", i);
-#endif
-            if(r < 0)
-               return 0; // sprintf failed
-            if(std::strlen(localbuf) < buf_size)
-               re_detail::strcpy_s(buf, buf_size, localbuf);
-            return std::strlen(localbuf) + 1;
-         }
-      }
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE)
-      (::sprintf_s)(localbuf, 5, "%d", 0);
-#else
-      (std::sprintf)(localbuf, "%d", 0);
-#endif
-      if(std::strlen(localbuf) < buf_size)
-         re_detail::strcpy_s(buf, buf_size, localbuf);
-      return std::strlen(localbuf) + 1;
-   }
-   if(code <= (int)REG_E_UNKNOWN)
-   {
-      std::string p;
-      if((e) && (e->re_magic == magic_value))
-         p = static_cast<c_regex_type*>(e->guts)->get_traits().error_string(static_cast< ::boost::regex_constants::error_type>(code));
-      else
-      {
-         p = re_detail::get_default_error_string(static_cast< ::boost::regex_constants::error_type>(code));
-      }
-      std::size_t len = p.size();
-      if(len < buf_size)
-      {
-         re_detail::strcpy_s(buf, buf_size, p.c_str());
-      }
-      return len + 1;
-   }
-   if(buf_size)
-      *buf = 0;
-   return 0;
-}
-
-BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA* expression, const char* buf, regsize_t n, regmatch_t* array, int eflags)
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4267)
-#endif
-   bool result = false;
-   match_flag_type flags = match_default | expression->eflags;
-   const char* end;
-   const char* start;
-   cmatch m;
-   
-   if(eflags & REG_NOTBOL)
-      flags |= match_not_bol;
-   if(eflags & REG_NOTEOL)
-      flags |= match_not_eol;
-   if(eflags & REG_STARTEND)
-   {
-      start = buf + array[0].rm_so;
-      end = buf + array[0].rm_eo;
-   }
-   else
-   {
-      start = buf;
-      end = buf + std::strlen(buf);
-   }
-
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-   if(expression->re_magic == magic_value)
-   {
-      result = regex_search(start, end, m, *static_cast<c_regex_type*>(expression->guts), flags);
-   }
-   else
-      return result;
-#ifndef BOOST_NO_EXCEPTIONS
-   } catch(...)
-   {
-      return REG_E_UNKNOWN;
-   }
-#endif
-
-   if(result)
-   {
-      // extract what matched:
-      std::size_t i;
-      for(i = 0; (i < n) && (i < expression->re_nsub + 1); ++i)
-      {
-         array[i].rm_so = (m[i].matched == false) ? -1 : (m[i].first - buf);
-         array[i].rm_eo = (m[i].matched == false) ? -1 : (m[i].second - buf);
-      }
-      // and set anything else to -1:
-      for(i = expression->re_nsub + 1; i < n; ++i)
-      {
-         array[i].rm_so = -1;
-         array[i].rm_eo = -1;
-      }
-      return 0;
-   }
-   return REG_NOMATCH;
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA* expression)
-{
-   if(expression->re_magic == magic_value)
-   {
-      delete static_cast<c_regex_type*>(expression->guts);
-   }
-   expression->re_magic = 0;
-}
-
-} // namespace boost
-
-
-
-
diff --git a/SRC/Boost/libs/regex/src/regex.cpp b/SRC/Boost/libs/regex/src/regex.cpp
deleted file mode 100755
index e566000..0000000
--- a/SRC/Boost/libs/regex/src/regex.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE:        regex.cpp
-  *   VERSION:     see <boost/version.hpp>
-  *   DESCRIPTION: Misc boost::regbase member funnctions.
-  */
-
-
-#define BOOST_REGEX_SOURCE
-
-#include <new>
-#include <boost/regex.hpp>
-#include <boost/throw_exception.hpp>
-
-#if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && defined(_MSC_VER) && (_MSC_VER >= 1300)
-#  include <malloc.h>
-#endif
-#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
-#define WIN32_LEAN_AND_MEAN
-#ifndef NOMINMAX
-#  define NOMINMAX
-#endif
-#define NOGDI
-#define NOUSER
-#include <windows.h>
-#endif
-
-#if defined(BOOST_REGEX_NON_RECURSIVE) && !defined(BOOST_REGEX_V3)
-#if BOOST_REGEX_MAX_CACHE_BLOCKS == 0
-#include <new>
-#else
-#include <boost/regex/v4/mem_block_cache.hpp>
-#endif
-#endif
-
-#ifdef BOOST_INTEL
-#pragma warning(disable:383)
-#endif
-
-namespace boost{
-
-//
-// fix: these are declared out of line here to ensure
-// that dll builds contain the Virtual table for these
-// types - this ensures that exceptions can be thrown
-// from the dll and caught in an exe.
-regex_error::regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos) 
-   : std::runtime_error(s)
-   , m_error_code(err)
-   , m_position(pos) 
-{
-}
-
-regex_error::regex_error(regex_constants::error_type err) 
-   : std::runtime_error(::boost::re_detail::get_default_error_string(err))
-   , m_error_code(err)
-   , m_position(0) 
-{
-}
-
-regex_error::~regex_error() throw() 
-{
-}
-
-void regex_error::raise()const
-{
-#ifndef BOOST_NO_EXCEPTIONS
-   ::boost::throw_exception(*this);
-#endif
-}
-
-
-
-namespace re_detail{
-
-BOOST_REGEX_DECL void BOOST_REGEX_CALL raise_runtime_error(const std::runtime_error& ex)
-{
-   ::boost::throw_exception(ex);
-}
-//
-// error checking API:
-//
-BOOST_REGEX_DECL void BOOST_REGEX_CALL verify_options(boost::regex::flag_type /*ef*/, match_flag_type mf)
-{
-#ifndef BOOST_REGEX_V3
-   //
-   // can't mix match_extra with POSIX matching rules:
-   //
-   if((mf & match_extra) && (mf & match_posix))
-   {
-      std::logic_error msg("Usage Error: Can't mix regular expression captures with POSIX matching rules");
-      throw_exception(msg);
-   }
-#endif
-}
-
-#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
-
-static void execute_eror()
-{
-   // we only get here after a stack overflow,
-   // this has to be a separate proceedure because we 
-   // can't mix __try{}__except block with local objects  
-   // that have destructors:
-   reset_stack_guard_page();
-   std::runtime_error err("Out of stack space, while attempting to match a regular expression.");
-   raise_runtime_error(err);
-}
-
-bool BOOST_REGEX_CALL abstract_protected_call::execute()const
-{
-   __try{
-      return this->call();
-   }__except(EXCEPTION_STACK_OVERFLOW == GetExceptionCode())
-   {
-      execute_eror();
-   }
-   // We never really get here at all:
-   return false;
-}
-
-BOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page()
-{
-#if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && defined(_MSC_VER) && (_MSC_VER >= 1300)
-   _resetstkoflw();
-#else
-   //
-   // We need to locate the current page being used by the stack,
-   // move to the page below it and then deallocate and protect
-   // that page.  Note that ideally we would protect only the lowest
-   // stack page that has been allocated: in practice there
-   // seems to be no easy way to locate this page, in any case as
-   // long as the next page is protected, then Windows will figure
-   // the rest out for us...
-   //
-   SYSTEM_INFO si;
-   GetSystemInfo(&si);
-   MEMORY_BASIC_INFORMATION mi;
-   DWORD previous_protection_status;
-   //
-   // this is an address in our stack space:
-   //
-   LPBYTE page = (LPBYTE)&page;
-   //
-   // Get the current memory page in use:
-   //
-   VirtualQuery(page, &mi, sizeof(mi));
-   //
-   // Go to the page one below this:
-   //
-   page = (LPBYTE)(mi.BaseAddress)-si.dwPageSize;
-   //
-   // Free and protect everything from the start of the
-   // allocation range, to the end of the page below the
-   // one in use:
-   //
-   if (!VirtualFree(mi.AllocationBase, (LPBYTE)page - (LPBYTE)mi.AllocationBase, MEM_DECOMMIT)
-      || !VirtualProtect(page, si.dwPageSize, PAGE_GUARD | PAGE_READWRITE, &previous_protection_status))
-   {
-      throw std::bad_exception();
-   }
-#endif
-}
-#endif
-
-#if defined(BOOST_REGEX_NON_RECURSIVE) && !defined(BOOST_REGEX_V3)
-
-#if BOOST_REGEX_MAX_CACHE_BLOCKS == 0
-
-BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block()
-{
-   return ::operator new(BOOST_REGEX_BLOCKSIZE);
-}
-
-BOOST_REGEX_DECL void BOOST_REGEX_CALL put_mem_block(void* p)
-{
-   ::operator delete(p);
-}
-
-#else
-
-#ifdef BOOST_HAS_THREADS
-mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, };
-#else
-mem_block_cache block_cache = { 0, 0, };
-#endif
-
-BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block()
-{
-   return block_cache.get();
-}
-
-BOOST_REGEX_DECL void BOOST_REGEX_CALL put_mem_block(void* p)
-{
-   block_cache.put(p);
-}
-
-#endif
-
-#endif
-
-} // namespace re_detail
-
-
-
-} // namespace boost
-
-#if defined(BOOST_RE_USE_VCL) && defined(BOOST_REGEX_DYN_LINK)
-
-int WINAPI DllEntryPoint(HINSTANCE , unsigned long , void*)
-{
-   return 1;
-}
-#endif
-
diff --git a/SRC/Boost/libs/regex/src/regex_debug.cpp b/SRC/Boost/libs/regex/src/regex_debug.cpp
deleted file mode 100755
index 4474306..0000000
--- a/SRC/Boost/libs/regex/src/regex_debug.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE:        regex_debug.cpp
-  *   VERSION:     see <boost/version.hpp>
-  *   DESCRIPTION: Misc. debugging helpers.
-  */
-
-
-#define BOOST_REGEX_SOURCE
-
-#include <boost/regex/config.hpp>
-
-
-//
-// regex configuration information: this prints out the settings used
-// when the library was built - include in debugging builds only:
-//
-#ifdef BOOST_REGEX_CONFIG_INFO
-
-#define print_macro regex_lib_print_macro
-#define print_expression regex_lib_print_expression
-#define print_byte_order regex_lib_print_byte_order
-#define print_sign regex_lib_print_sign
-#define print_compiler_macros regex_lib_print_compiler_macros
-#define print_stdlib_macros regex_lib_print_stdlib_macros
-#define print_platform_macros regex_lib_print_platform_macros
-#define print_boost_macros regex_lib_print_boost_macros
-#define print_separator regex_lib_print_separator
-#define OLD_MAIN regex_lib_main
-#define NEW_MAIN regex_lib_main2
-#define NO_RECURSE
-
-#include <libs/regex/test/config_info/regex_config_info.cpp>
-
-BOOST_REGEX_DECL void BOOST_REGEX_CALL print_regex_library_info()
-{
-   std::cout << "\n\n";
-   print_separator();
-   std::cout << "Regex library build configuration:\n\n";
-   regex_lib_main2();
-}
-
-#endif
-
-
-
-
-
diff --git a/SRC/Boost/libs/regex/src/regex_raw_buffer.cpp b/SRC/Boost/libs/regex/src/regex_raw_buffer.cpp
deleted file mode 100755
index 7fb541b..0000000
--- a/SRC/Boost/libs/regex/src/regex_raw_buffer.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_raw_buffer.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Member functions for class raw_storage.
-  */
-
-
-#define BOOST_REGEX_SOURCE
-#include <memory>
-#include <cstring>
-#include <boost/assert.hpp>
-#include <boost/regex/v4/regex_raw_buffer.hpp>
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-   using ::memcpy;
-   using ::memmove;
-}
-#endif
-
-
-namespace boost{ namespace re_detail{
-
-void BOOST_REGEX_CALL raw_storage::resize(size_type n)
-{
-   register size_type newsize = start ? last - start : 1024;
-   while(newsize < n)
-      newsize *= 2;
-   register size_type datasize = end - start;
-   // extend newsize to WORD/DWORD boundary:
-   newsize = (newsize + padding_mask) & ~(padding_mask);
-
-   // allocate and copy data:
-   register pointer ptr = static_cast<pointer>(::operator new(newsize));
-   BOOST_REGEX_NOEH_ASSERT(ptr)
-   std::memcpy(ptr, start, datasize);
-
-   // get rid of old buffer:
-   ::operator delete(start);
-
-   // and set up pointers:
-   start = ptr;
-   end = ptr + datasize;
-   last = ptr + newsize;
-}
-
-void* BOOST_REGEX_CALL raw_storage::insert(size_type pos, size_type n)
-{
-   BOOST_ASSERT(pos <= size_type(end - start));
-   if(size_type(last - end) < n)
-      resize(n + (end - start));
-   register void* result = start + pos;
-   std::memmove(start + pos + n, start + pos, (end - start) - pos);
-   end += n;
-   return result;
-}
-
-}} // namespaces
diff --git a/SRC/Boost/libs/regex/src/regex_traits_defaults.cpp b/SRC/Boost/libs/regex/src/regex_traits_defaults.cpp
deleted file mode 100755
index 0d3c64f..0000000
--- a/SRC/Boost/libs/regex/src/regex_traits_defaults.cpp
+++ /dev/null
@@ -1,692 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         regex_traits_defaults.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares API's for access to regex_traits default properties.
-  */
-
-#define BOOST_REGEX_SOURCE
-#include <boost/regex/regex_traits.hpp>
-
-#include <cctype>
-#ifndef BOOST_NO_WREGEX
-#include <cwctype>
-#endif
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-   using ::tolower;
-   using ::toupper;
-#ifndef BOOST_NO_WREGEX
-   using ::towlower;
-   using ::towupper;
-#endif
-}
-#endif
-
-
-namespace boost{ namespace re_detail{
-
-BOOST_REGEX_DECL const char* BOOST_REGEX_CALL get_default_syntax(regex_constants::syntax_type n)
-{
-   // if the user hasn't supplied a message catalog, then this supplies
-   // default "messages" for us to load in the range 1-100.
-   const char* messages[] = {
-         "",
-         "(",
-         ")",
-         "$",
-         "^",
-         ".",
-         "*",
-         "+",
-         "?",
-         "[",
-         "]",
-         "|",
-         "\\",
-         "#",
-         "-",
-         "{",
-         "}",
-         "0123456789",
-         "b",
-         "B",
-         "<",
-         ">",
-         "",
-         "",
-         "A`",
-         "z'",
-         "\n",
-         ",",
-         "a",
-         "f",
-         "n",
-         "r",
-         "t",
-         "v",
-         "x",
-         "c",
-         ":",
-         "=",
-         "e",
-         "",
-         "",
-         "",
-         "",
-         "",
-         "",
-         "",
-         "",
-         "E",
-         "Q",
-         "X",
-         "C",
-         "Z",
-         "G",
-         "!",
-         "p",
-         "P",
-         "N",
-         "gk",
-         "K",
-         "R",
-   };
-
-   return ((n >= (sizeof(messages) / sizeof(messages[1]))) ? "" : messages[n]);
-}
-
-BOOST_REGEX_DECL const char* BOOST_REGEX_CALL get_default_error_string(regex_constants::error_type n)
-{
-   static const char* const s_default_error_messages[] = {
-      "Success",                                                            /* REG_NOERROR 0 error_ok */
-      "No match",                                                           /* REG_NOMATCH 1 error_no_match */
-      "Invalid regular expression.",                                        /* REG_BADPAT 2 error_bad_pattern */
-      "Invalid collation character.",                                       /* REG_ECOLLATE 3 error_collate */
-      "Invalid character class name, collating name, or character range.",  /* REG_ECTYPE 4 error_ctype */
-      "Invalid or unterminated escape sequence.",                           /* REG_EESCAPE 5 error_escape */
-      "Invalid back reference: specified capturing group does not exist.",  /* REG_ESUBREG 6 error_backref */
-      "Unmatched [ or [^ in character class declaration.",                  /* REG_EBRACK 7 error_brack */
-      "Unmatched marking parenthesis ( or \\(.",                            /* REG_EPAREN 8 error_paren */
-      "Unmatched quantified repeat operator { or \\{.",                     /* REG_EBRACE 9 error_brace */
-      "Invalid content of repeat range.",                                   /* REG_BADBR 10 error_badbrace */
-      "Invalid range end in character class",                               /* REG_ERANGE 11 error_range */
-      "Out of memory.",                                                     /* REG_ESPACE 12 error_space NOT USED */
-      "Invalid preceding regular expression prior to repetition operator.", /* REG_BADRPT 13 error_badrepeat */
-      "Premature end of regular expression",                                /* REG_EEND 14 error_end NOT USED */
-      "Regular expression is too large.",                                   /* REG_ESIZE 15 error_size NOT USED */
-      "Unmatched ) or \\)",                                                 /* REG_ERPAREN 16 error_right_paren NOT USED */
-      "Empty regular expression.",                                          /* REG_EMPTY 17 error_empty */
-      "The complexity of matching the regular expression exceeded predefined bounds.  "
-      "Try refactoring the regular expression to make each choice made by the state machine unambiguous.  "
-      "This exception is thrown to prevent \"eternal\" matches that take an "
-      "indefinite period time to locate.",                                  /* REG_ECOMPLEXITY 18 error_complexity */
-      "Ran out of stack space trying to match the regular expression.",     /* REG_ESTACK 19 error_stack */
-      "Invalid or unterminated Perl (?...) sequence.",                      /* REG_E_PERL 20 error_perl */
-      "Unknown error.",                                                     /* REG_E_UNKNOWN 21 error_unknown */
-   };
-
-   return (n > ::boost::regex_constants::error_unknown) ? s_default_error_messages[ ::boost::regex_constants::error_unknown] : s_default_error_messages[n];
-}
-
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL is_combining_implementation(boost::uint_least16_t c)
-{
-   const boost::uint_least16_t combining_ranges[] = { 0x0300, 0x0361, 
-                           0x0483, 0x0486, 
-                           0x0903, 0x0903, 
-                           0x093E, 0x0940, 
-                           0x0949, 0x094C,
-                           0x0982, 0x0983,
-                           0x09BE, 0x09C0,
-                           0x09C7, 0x09CC,
-                           0x09D7, 0x09D7,
-                           0x0A3E, 0x0A40,
-                           0x0A83, 0x0A83,
-                           0x0ABE, 0x0AC0,
-                           0x0AC9, 0x0ACC,
-                           0x0B02, 0x0B03,
-                           0x0B3E, 0x0B3E,
-                           0x0B40, 0x0B40,
-                           0x0B47, 0x0B4C,
-                           0x0B57, 0x0B57,
-                           0x0B83, 0x0B83,
-                           0x0BBE, 0x0BBF,
-                           0x0BC1, 0x0BCC,
-                           0x0BD7, 0x0BD7,
-                           0x0C01, 0x0C03,
-                           0x0C41, 0x0C44,
-                           0x0C82, 0x0C83,
-                           0x0CBE, 0x0CBE,
-                           0x0CC0, 0x0CC4,
-                           0x0CC7, 0x0CCB,
-                           0x0CD5, 0x0CD6,
-                           0x0D02, 0x0D03,
-                           0x0D3E, 0x0D40,
-                           0x0D46, 0x0D4C,
-                           0x0D57, 0x0D57,
-                           0x0F7F, 0x0F7F,
-                           0x20D0, 0x20E1, 
-                           0x3099, 0x309A,
-                           0xFE20, 0xFE23, 
-                           0xffff, 0xffff, };
-
-      const boost::uint_least16_t* p = combining_ranges + 1;
-   while(*p < c) p += 2;
-   --p;
-   if((c >= *p) && (c <= *(p+1)))
-         return true;
-   return false;
-}
-
-//
-// these are the POSIX collating names:
-//
-BOOST_REGEX_DECL const char* def_coll_names[] = {
-"NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "alert", "backspace", "tab", "newline", 
-"vertical-tab", "form-feed", "carriage-return", "SO", "SI", "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", 
-"SYN", "ETB", "CAN", "EM", "SUB", "ESC", "IS4", "IS3", "IS2", "IS1", "space", "exclamation-mark", 
-"quotation-mark", "number-sign", "dollar-sign", "percent-sign", "ampersand", "apostrophe", 
-"left-parenthesis", "right-parenthesis", "asterisk", "plus-sign", "comma", "hyphen", 
-"period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", 
-"colon", "semicolon", "less-than-sign", "equals-sign", "greater-than-sign", 
-"question-mark", "commercial-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", "left-square-bracket", "backslash", 
-"right-square-bracket", "circumflex", "underscore", "grave-accent", "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", "left-curly-bracket", 
-"vertical-line", "right-curly-bracket", "tilde", "DEL", "", 
-};
-
-// these multi-character collating elements
-// should keep most Western-European locales
-// happy - we should really localise these a
-// little more - but this will have to do for
-// now:
-
-BOOST_REGEX_DECL const char* def_multi_coll[] = {
-   "ae",
-   "Ae",
-   "AE",
-   "ch",
-   "Ch",
-   "CH",
-   "ll",
-   "Ll",
-   "LL",
-   "ss",
-   "Ss",
-   "SS",
-   "nj",
-   "Nj",
-   "NJ",
-   "dz",
-   "Dz",
-   "DZ",
-   "lj",
-   "Lj",
-   "LJ",
-   "",
-};
-
-
-
-BOOST_REGEX_DECL std::string BOOST_REGEX_CALL lookup_default_collate_name(const std::string& name)
-{
-   unsigned int i = 0;
-   while(*def_coll_names[i])
-   {
-      if(def_coll_names[i] == name)
-      {
-         return std::string(1, char(i));
-      }
-      ++i;
-   }
-   i = 0;
-   while(*def_multi_coll[i])
-   {
-      if(def_multi_coll[i] == name)
-      {
-         return def_multi_coll[i];
-      }
-      ++i;
-   }
-   return std::string();
-}
-
-BOOST_REGEX_DECL char BOOST_REGEX_CALL do_global_lower(char c)
-{
-   return static_cast<char>((std::tolower)((unsigned char)c));
-}
-
-BOOST_REGEX_DECL char BOOST_REGEX_CALL do_global_upper(char c)
-{
-   return static_cast<char>((std::toupper)((unsigned char)c));
-}
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL do_global_lower(wchar_t c)
-{
-   return (std::towlower)(c);
-}
-
-BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL do_global_upper(wchar_t c)
-{
-   return (std::towupper)(c);
-}
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL do_global_lower(unsigned short c)
-{
-   return (std::towlower)(c);
-}
-
-BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL do_global_upper(unsigned short c)
-{
-   return (std::towupper)(c);
-}
-#endif
-
-#endif
-
-BOOST_REGEX_DECL regex_constants::escape_syntax_type BOOST_REGEX_CALL get_default_escape_syntax_type(char c)
-{
-   //
-   // char_syntax determines how the compiler treats a given character
-   // in a regular expression.
-   //
-   static regex_constants::escape_syntax_type char_syntax[] = {
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,     /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /* */    // 32
-      regex_constants::escape_type_identity,        /*!*/
-      regex_constants::escape_type_identity,        /*"*/
-      regex_constants::escape_type_identity,        /*#*/
-      regex_constants::escape_type_identity,        /*$*/
-      regex_constants::escape_type_identity,        /*%*/
-      regex_constants::escape_type_identity,        /*&*/
-      regex_constants::escape_type_end_buffer,        /*'*/
-      regex_constants::syntax_open_mark,        /*(*/
-      regex_constants::syntax_close_mark,        /*)*/
-      regex_constants::escape_type_identity,        /***/
-      regex_constants::syntax_plus,                 /*+*/
-      regex_constants::escape_type_identity,        /*,*/
-      regex_constants::escape_type_identity,        /*-*/
-      regex_constants::escape_type_identity,        /*.*/
-      regex_constants::escape_type_identity,        /*/*/
-      regex_constants::escape_type_decimal,        /*0*/
-      regex_constants::escape_type_backref,        /*1*/
-      regex_constants::escape_type_backref,        /*2*/
-      regex_constants::escape_type_backref,        /*3*/
-      regex_constants::escape_type_backref,        /*4*/
-      regex_constants::escape_type_backref,        /*5*/
-      regex_constants::escape_type_backref,        /*6*/
-      regex_constants::escape_type_backref,        /*7*/
-      regex_constants::escape_type_backref,        /*8*/
-      regex_constants::escape_type_backref,        /*9*/
-      regex_constants::escape_type_identity,        /*:*/
-      regex_constants::escape_type_identity,        /*;*/
-      regex_constants::escape_type_left_word,        /*<*/
-      regex_constants::escape_type_identity,        /*=*/
-      regex_constants::escape_type_right_word,        /*>*/
-      regex_constants::syntax_question,              /*?*/
-      regex_constants::escape_type_identity,         /*@*/
-      regex_constants::escape_type_start_buffer,     /*A*/
-      regex_constants::escape_type_not_word_assert,  /*B*/
-      regex_constants::escape_type_C,                /*C*/
-      regex_constants::escape_type_not_class,        /*D*/
-      regex_constants::escape_type_E,                /*E*/
-      regex_constants::escape_type_not_class,        /*F*/
-      regex_constants::escape_type_G,                /*G*/
-      regex_constants::escape_type_not_class,        /*H*/
-      regex_constants::escape_type_not_class,        /*I*/
-      regex_constants::escape_type_not_class,        /*J*/
-      regex_constants::escape_type_reset_start_mark, /*K*/
-      regex_constants::escape_type_not_class,        /*L*/
-      regex_constants::escape_type_not_class,        /*M*/
-      regex_constants::escape_type_named_char,       /*N*/
-      regex_constants::escape_type_not_class,        /*O*/
-      regex_constants::escape_type_not_property,     /*P*/
-      regex_constants::escape_type_Q,                /*Q*/
-      regex_constants::escape_type_line_ending,      /*R*/
-      regex_constants::escape_type_not_class,        /*S*/
-      regex_constants::escape_type_not_class,        /*T*/
-      regex_constants::escape_type_not_class,        /*U*/
-      regex_constants::escape_type_not_class,        /*V*/
-      regex_constants::escape_type_not_class,        /*W*/
-      regex_constants::escape_type_X,                /*X*/
-      regex_constants::escape_type_not_class,        /*Y*/
-      regex_constants::escape_type_Z,                /*Z*/
-      regex_constants::escape_type_identity,        /*[*/
-      regex_constants::escape_type_identity,        /*\*/
-      regex_constants::escape_type_identity,        /*]*/
-      regex_constants::escape_type_identity,        /*^*/
-      regex_constants::escape_type_identity,        /*_*/
-      regex_constants::escape_type_start_buffer,        /*`*/
-      regex_constants::escape_type_control_a,        /*a*/
-      regex_constants::escape_type_word_assert,        /*b*/
-      regex_constants::escape_type_ascii_control,        /*c*/
-      regex_constants::escape_type_class,        /*d*/
-      regex_constants::escape_type_e,        /*e*/
-      regex_constants::escape_type_control_f,       /*f*/
-      regex_constants::escape_type_extended_backref,  /*g*/
-      regex_constants::escape_type_class,        /*h*/
-      regex_constants::escape_type_class,        /*i*/
-      regex_constants::escape_type_class,        /*j*/
-      regex_constants::escape_type_extended_backref, /*k*/
-      regex_constants::escape_type_class,        /*l*/
-      regex_constants::escape_type_class,        /*m*/
-      regex_constants::escape_type_control_n,       /*n*/
-      regex_constants::escape_type_class,           /*o*/
-      regex_constants::escape_type_property,        /*p*/
-      regex_constants::escape_type_class,           /*q*/
-      regex_constants::escape_type_control_r,       /*r*/
-      regex_constants::escape_type_class,           /*s*/
-      regex_constants::escape_type_control_t,       /*t*/
-      regex_constants::escape_type_class,         /*u*/
-      regex_constants::escape_type_control_v,       /*v*/
-      regex_constants::escape_type_class,           /*w*/
-      regex_constants::escape_type_hex,             /*x*/
-      regex_constants::escape_type_class,           /*y*/
-      regex_constants::escape_type_end_buffer,      /*z*/
-      regex_constants::syntax_open_brace,           /*{*/
-      regex_constants::syntax_or,                   /*|*/
-      regex_constants::syntax_close_brace,          /*}*/
-      regex_constants::escape_type_identity,        /*~*/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-      regex_constants::escape_type_identity,        /**/
-   };
-
-   return char_syntax[(unsigned char)c];
-}
-
-BOOST_REGEX_DECL regex_constants::syntax_type BOOST_REGEX_CALL get_default_syntax_type(char c)
-{
-   //
-   // char_syntax determines how the compiler treats a given character
-   // in a regular expression.
-   //
-   static regex_constants::syntax_type char_syntax[] = {
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_newline,     /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /* */    // 32
-      regex_constants::syntax_not,        /*!*/
-      regex_constants::syntax_char,        /*"*/
-      regex_constants::syntax_hash,        /*#*/
-      regex_constants::syntax_dollar,        /*$*/
-      regex_constants::syntax_char,        /*%*/
-      regex_constants::syntax_char,        /*&*/
-      regex_constants::escape_type_end_buffer,  /*'*/
-      regex_constants::syntax_open_mark,        /*(*/
-      regex_constants::syntax_close_mark,        /*)*/
-      regex_constants::syntax_star,        /***/
-      regex_constants::syntax_plus,        /*+*/
-      regex_constants::syntax_comma,        /*,*/
-      regex_constants::syntax_dash,        /*-*/
-      regex_constants::syntax_dot,        /*.*/
-      regex_constants::syntax_char,        /*/*/
-      regex_constants::syntax_digit,        /*0*/
-      regex_constants::syntax_digit,        /*1*/
-      regex_constants::syntax_digit,        /*2*/
-      regex_constants::syntax_digit,        /*3*/
-      regex_constants::syntax_digit,        /*4*/
-      regex_constants::syntax_digit,        /*5*/
-      regex_constants::syntax_digit,        /*6*/
-      regex_constants::syntax_digit,        /*7*/
-      regex_constants::syntax_digit,        /*8*/
-      regex_constants::syntax_digit,        /*9*/
-      regex_constants::syntax_colon,        /*:*/
-      regex_constants::syntax_char,        /*;*/
-      regex_constants::escape_type_left_word, /*<*/
-      regex_constants::syntax_equal,        /*=*/
-      regex_constants::escape_type_right_word, /*>*/
-      regex_constants::syntax_question,        /*?*/
-      regex_constants::syntax_char,        /*@*/
-      regex_constants::syntax_char,        /*A*/
-      regex_constants::syntax_char,        /*B*/
-      regex_constants::syntax_char,        /*C*/
-      regex_constants::syntax_char,        /*D*/
-      regex_constants::syntax_char,        /*E*/
-      regex_constants::syntax_char,        /*F*/
-      regex_constants::syntax_char,        /*G*/
-      regex_constants::syntax_char,        /*H*/
-      regex_constants::syntax_char,        /*I*/
-      regex_constants::syntax_char,        /*J*/
-      regex_constants::syntax_char,        /*K*/
-      regex_constants::syntax_char,        /*L*/
-      regex_constants::syntax_char,        /*M*/
-      regex_constants::syntax_char,        /*N*/
-      regex_constants::syntax_char,        /*O*/
-      regex_constants::syntax_char,        /*P*/
-      regex_constants::syntax_char,        /*Q*/
-      regex_constants::syntax_char,        /*R*/
-      regex_constants::syntax_char,        /*S*/
-      regex_constants::syntax_char,        /*T*/
-      regex_constants::syntax_char,        /*U*/
-      regex_constants::syntax_char,        /*V*/
-      regex_constants::syntax_char,        /*W*/
-      regex_constants::syntax_char,        /*X*/
-      regex_constants::syntax_char,        /*Y*/
-      regex_constants::syntax_char,        /*Z*/
-      regex_constants::syntax_open_set,        /*[*/
-      regex_constants::syntax_escape,        /*\*/
-      regex_constants::syntax_close_set,        /*]*/
-      regex_constants::syntax_caret,        /*^*/
-      regex_constants::syntax_char,        /*_*/
-      regex_constants::syntax_char,        /*`*/
-      regex_constants::syntax_char,        /*a*/
-      regex_constants::syntax_char,        /*b*/
-      regex_constants::syntax_char,        /*c*/
-      regex_constants::syntax_char,        /*d*/
-      regex_constants::syntax_char,        /*e*/
-      regex_constants::syntax_char,        /*f*/
-      regex_constants::syntax_char,        /*g*/
-      regex_constants::syntax_char,        /*h*/
-      regex_constants::syntax_char,        /*i*/
-      regex_constants::syntax_char,        /*j*/
-      regex_constants::syntax_char,        /*k*/
-      regex_constants::syntax_char,        /*l*/
-      regex_constants::syntax_char,        /*m*/
-      regex_constants::syntax_char,        /*n*/
-      regex_constants::syntax_char,        /*o*/
-      regex_constants::syntax_char,        /*p*/
-      regex_constants::syntax_char,        /*q*/
-      regex_constants::syntax_char,        /*r*/
-      regex_constants::syntax_char,        /*s*/
-      regex_constants::syntax_char,        /*t*/
-      regex_constants::syntax_char,        /*u*/
-      regex_constants::syntax_char,        /*v*/
-      regex_constants::syntax_char,        /*w*/
-      regex_constants::syntax_char,        /*x*/
-      regex_constants::syntax_char,        /*y*/
-      regex_constants::syntax_char,        /*z*/
-      regex_constants::syntax_open_brace,        /*{*/
-      regex_constants::syntax_or,        /*|*/
-      regex_constants::syntax_close_brace,        /*}*/
-      regex_constants::syntax_char,        /*~*/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-      regex_constants::syntax_char,        /**/
-   };
-
-   return char_syntax[(unsigned char)c];
-}
-
-
-} // re_detail
-} // boost
diff --git a/SRC/Boost/libs/regex/src/static_mutex.cpp b/SRC/Boost/libs/regex/src/static_mutex.cpp
deleted file mode 100755
index d76a3b3..0000000
--- a/SRC/Boost/libs/regex/src/static_mutex.cpp
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         static_mutex.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Declares static_mutex lock type.
-  */
-
-#define BOOST_REGEX_SOURCE
-#include <boost/config.hpp>
-
-#ifdef BOOST_HAS_THREADS
-
-#include <boost/regex/pending/static_mutex.hpp>
-
-#if defined(BOOST_HAS_WINTHREADS)
-#ifndef NOMINMAX
-#  define NOMINMAX
-#endif
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <boost/static_assert.hpp>
-#endif
-
-
-namespace boost{
-
-#if defined(BOOST_HAS_PTHREADS) && defined(PTHREAD_MUTEX_INITIALIZER)
-
-scoped_static_mutex_lock::scoped_static_mutex_lock(static_mutex& m, bool lk)
-: m_mutex(m), m_have_lock(false)
-{
-   if(lk)
-      lock();
-}
-
-scoped_static_mutex_lock::~scoped_static_mutex_lock()
-{
-   if(m_have_lock)
-      unlock();
-}
-
-void scoped_static_mutex_lock::lock()
-{
-   if(0 == m_have_lock)
-   {
-      pthread_mutex_lock(&(m_mutex.m_mutex));
-      m_have_lock = true;
-   }
-}
-
-void scoped_static_mutex_lock::unlock()
-{
-   if(m_have_lock)
-   {
-      pthread_mutex_unlock(&(m_mutex.m_mutex));
-      m_have_lock = false;
-   }
-}
-
-#elif defined(BOOST_HAS_WINTHREADS)
-
-BOOST_STATIC_ASSERT(sizeof(LONG) == sizeof(boost::int32_t));
-
-scoped_static_mutex_lock::scoped_static_mutex_lock(static_mutex& m, bool lk)
-: m_mutex(m), m_have_lock(false)
-{
-   if(lk)
-      lock();
-}
-
-scoped_static_mutex_lock::~scoped_static_mutex_lock()
-{
-   if(m_have_lock)
-      unlock();
-}
-
-void scoped_static_mutex_lock::lock()
-{
-   if(0 == m_have_lock)
-   {
-#if !defined(InterlockedCompareExchangePointer)
-      while(0 != InterlockedCompareExchange(reinterpret_cast<void**>((boost::uint_least16_t*)&(m_mutex.m_mutex)), (void*)1, 0))
-#else
-      while(0 != InterlockedCompareExchange(reinterpret_cast<LONG*>(&(m_mutex.m_mutex)), 1, 0))
-#endif
-      {
-         Sleep(0);
-      }
-      m_have_lock = true;
-   }
-}
-
-void scoped_static_mutex_lock::unlock()
-{
-   if(m_have_lock)
-   {
-#if !defined(InterlockedCompareExchangePointer)
-      InterlockedExchange((LONG*)&(m_mutex.m_mutex), 0);
-#else
-      InterlockedExchange(reinterpret_cast<LONG*>(&(m_mutex.m_mutex)), 0);
-#endif
-      m_have_lock = false;
-   }
-}
-
-#else
-//
-// Portable version of a static mutex based on Boost.Thread library:
-//
-#include <stdlib.h>
-#include <boost/assert.hpp>
-
-boost::recursive_mutex* static_mutex::m_pmutex = 0;
-boost::once_flag static_mutex::m_once = BOOST_ONCE_INIT;
-
-extern "C" BOOST_REGEX_DECL void boost_regex_free_static_mutex()
-{
-   delete static_mutex::m_pmutex;
-   static_mutex::m_pmutex = 0;
-}
-
-void static_mutex::init()
-{
-   m_pmutex = new boost::recursive_mutex();
-   int r = atexit(boost_regex_free_static_mutex);
-   BOOST_ASSERT(0 == r);
-}
-
-scoped_static_mutex_lock::scoped_static_mutex_lock(static_mutex& , bool lk)
-: m_plock(0), m_have_lock(false)
-{
-   if(lk)
-      lock();
-}
-
-scoped_static_mutex_lock::~scoped_static_mutex_lock()
-{
-   if(m_have_lock)
-      unlock();
-   delete m_plock;
-}
-
-void scoped_static_mutex_lock::lock()
-{
-   if(0 == m_have_lock)
-   {
-       boost::call_once(static_mutex::m_once,&static_mutex::init);
-      if(0 == m_plock)
-         m_plock = new boost::recursive_mutex::scoped_lock(*static_mutex::m_pmutex, boost::defer_lock);
-      m_plock->lock();
-      m_have_lock = true;
-   }
-}
-
-void scoped_static_mutex_lock::unlock()
-{
-   if(m_have_lock)
-   {
-      m_plock->unlock();
-      m_have_lock = false;
-   }
-}
-
-#endif
-
-}
-
-#endif // BOOST_HAS_THREADS
diff --git a/SRC/Boost/libs/regex/src/usinstances.cpp b/SRC/Boost/libs/regex/src/usinstances.cpp
deleted file mode 100755
index d023b09..0000000
--- a/SRC/Boost/libs/regex/src/usinstances.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE:        winstances.cpp
-  *   VERSION:     see <boost/version.hpp>
-  *   DESCRIPTION: regex unsigned short template instances (MSVC only).
-  */
-
-#define BOOST_REGEX_SOURCE
-#ifdef _MSC_VER
-#pragma warning(disable:4506) // 'no definition for inline function'
-#endif
-
-#include <boost/detail/workaround.hpp>
-#include <memory>
-#include <string>
-
-#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE) && defined(_NATIVE_WCHAR_T_DEFINED) \
-   && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) || defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER))\
-   && BOOST_WORKAROUND(BOOST_MSVC, <1600)
-//
-// This is a horrible workaround, but without declaring these symbols extern we get
-// duplicate symbol errors when linking if the application is built without
-// /Zc:wchar_t
-//
-#ifdef _CRTIMP2_PURE
-#  define BOOST_REGEX_STDLIB_DECL _CRTIMP2_PURE
-#else
-#  define BOOST_REGEX_STDLIB_DECL _CRTIMP2
-#endif
-
-namespace std{
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-template class BOOST_REGEX_STDLIB_DECL allocator<unsigned short>;
-template class BOOST_REGEX_STDLIB_DECL _String_val<unsigned short, allocator<unsigned short> >;
-template class BOOST_REGEX_STDLIB_DECL basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >;
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400))
-template<> BOOST_REGEX_STDLIB_DECL std::size_t __cdecl char_traits<unsigned short>::length(unsigned short const*);
-#endif
-
-template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==(
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&,
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&);
-template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==(
-   const unsigned short *,
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&);
-template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==(
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&,
-   const unsigned short *);
-template BOOST_REGEX_STDLIB_DECL bool __cdecl operator<(
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&,
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&);
-template BOOST_REGEX_STDLIB_DECL bool __cdecl operator>(
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&,
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&);
-}
-#endif
-
-#include <boost/regex/config.hpp>
-
-#if !defined(BOOST_NO_WREGEX) && defined(BOOST_REGEX_HAS_OTHER_WCHAR_T) && !defined(BOOST_REGEX_NO_EXTERNAL_TEMPLATES)
-#define BOOST_REGEX_US_INSTANTIATE
-
-#include <boost/regex.hpp>
-
-#endif
-
-
diff --git a/SRC/Boost/libs/regex/src/w32_regex_traits.cpp b/SRC/Boost/libs/regex/src/w32_regex_traits.cpp
deleted file mode 100755
index 4b88280..0000000
--- a/SRC/Boost/libs/regex/src/w32_regex_traits.cpp
+++ /dev/null
@@ -1,650 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE         w32_regex_traits.cpp
-  *   VERSION      see <boost/version.hpp>
-  *   DESCRIPTION: Implements w32_regex_traits<char> (and associated helper classes).
-  */
-
-#define BOOST_REGEX_SOURCE
-#include <boost/regex/config.hpp>
-
-#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
-#include <boost/regex/regex_traits.hpp>
-#include <boost/regex/pattern_except.hpp>
-
-#define WIN32_LEAN_AND_MEAN
-#ifndef NOMINMAX
-#  define NOMINMAX
-#endif
-#define NOGDI
-#include <windows.h>
-
-#if defined(_MSC_VER) && !defined(_WIN32_WCE) && !defined(UNDER_CE)
-#pragma comment(lib, "user32.lib")
-#endif
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{
-   using ::memset;
-}
-#endif
-
-namespace boost{ namespace re_detail{
-
-#ifdef BOOST_NO_ANSI_APIS
-UINT get_code_page_for_locale_id(lcid_type idx)
-{
-   WCHAR code_page_string[7];
-   if (::GetLocaleInfoW(idx, LOCALE_IDEFAULTANSICODEPAGE, code_page_string, 7) == 0)
-       return 0;
-
-   return static_cast<UINT>(_wtol(code_page_string));
-}
-#endif
-
-
-void w32_regex_traits_char_layer<char>::init() 
-{
-   // we need to start by initialising our syntax map so we know which
-   // character is used for which purpose:
-   std::memset(m_char_map, 0, sizeof(m_char_map));
-   cat_type cat;
-   std::string cat_name(w32_regex_traits<char>::get_catalog_name());
-   if(cat_name.size())
-   {
-      cat = ::boost::re_detail::w32_cat_open(cat_name);
-      if(!cat)
-      {
-         std::string m("Unable to open message catalog: ");
-         std::runtime_error err(m + cat_name);
-         ::boost::re_detail::raise_runtime_error(err);
-      }
-   }
-   //
-   // if we have a valid catalog then load our messages:
-   //
-   if(cat)
-   {
-      for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)
-      {
-         string_type mss = ::boost::re_detail::w32_cat_get(cat, this->m_locale, i, get_default_syntax(i));
-         for(string_type::size_type j = 0; j < mss.size(); ++j)
-         {
-            m_char_map[static_cast<unsigned char>(mss[j])] = i;
-         }
-      }
-   }
-   else
-   {
-      for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i)
-      {
-         const char* ptr = get_default_syntax(i);
-         while(ptr && *ptr)
-         {
-            m_char_map[static_cast<unsigned char>(*ptr)] = i;
-            ++ptr;
-         }
-      }
-   }
-   //
-   // finish off by calculating our escape types:
-   //
-   unsigned char i = 'A';
-   do
-   {
-      if(m_char_map[i] == 0)
-      {
-         if(::boost::re_detail::w32_is(this->m_locale, 0x0002u, (char)i)) 
-            m_char_map[i] = regex_constants::escape_type_class;
-         else if(::boost::re_detail::w32_is(this->m_locale, 0x0001u, (char)i)) 
-            m_char_map[i] = regex_constants::escape_type_not_class;
-      }
-   }while(0xFF != i++);
-
-   //
-   // fill in lower case map:
-   //
-   char char_map[1 << CHAR_BIT];
-   for(int ii = 0; ii < (1 << CHAR_BIT); ++ii)
-      char_map[ii] = static_cast<char>(ii);
-#ifndef BOOST_NO_ANSI_APIS
-   int r = ::LCMapStringA(this->m_locale, LCMAP_LOWERCASE, char_map, 1 << CHAR_BIT, this->m_lower_map, 1 << CHAR_BIT);
-   BOOST_ASSERT(r != 0);
-#else
-   UINT code_page = get_code_page_for_locale_id(this->m_locale);
-   BOOST_ASSERT(code_page != 0);
-
-   WCHAR wide_char_map[1 << CHAR_BIT];
-   int conv_r = ::MultiByteToWideChar(code_page, 0,  char_map, 1 << CHAR_BIT,  wide_char_map, 1 << CHAR_BIT);
-   BOOST_ASSERT(conv_r != 0);
-
-   WCHAR wide_lower_map[1 << CHAR_BIT];
-   int r = ::LCMapStringW(this->m_locale, LCMAP_LOWERCASE,  wide_char_map, 1 << CHAR_BIT,  wide_lower_map, 1 << CHAR_BIT);
-   BOOST_ASSERT(r != 0);
-
-   conv_r = ::WideCharToMultiByte(code_page, 0,  wide_lower_map, r,  this->m_lower_map, 1 << CHAR_BIT,  NULL, NULL);
-   BOOST_ASSERT(conv_r != 0);
-#endif
-   if(r < (1 << CHAR_BIT))
-   {
-      // if we have multibyte characters then not all may have been given
-      // a lower case mapping:
-      for(int jj = r; jj < (1 << CHAR_BIT); ++jj)
-         this->m_lower_map[jj] = static_cast<char>(jj);
-   }
-
-#ifndef BOOST_NO_ANSI_APIS
-   r = ::GetStringTypeExA(this->m_locale, CT_CTYPE1, char_map, 1 << CHAR_BIT, this->m_type_map);
-#else
-   r = ::GetStringTypeExW(this->m_locale, CT_CTYPE1, wide_char_map, 1 << CHAR_BIT, this->m_type_map);
-#endif
-   BOOST_ASSERT(0 != r);
-}
-
-BOOST_REGEX_DECL lcid_type BOOST_REGEX_CALL w32_get_default_locale()
-{
-   return ::GetUserDefaultLCID();
-}
-
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(char c, lcid_type idx)
-{
-#ifndef BOOST_NO_ANSI_APIS
-   WORD mask;
-   if(::GetStringTypeExA(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER))
-      return true;
-   return false;
-#else
-   UINT code_page = get_code_page_for_locale_id(idx);
-   if (code_page == 0)
-       return false;
-
-   WCHAR wide_c;
-   if (::MultiByteToWideChar(code_page, 0,  &c, 1,  &wide_c, 1) == 0)
-       return false;
-
-   WORD mask;
-   if(::GetStringTypeExW(idx, CT_CTYPE1, &wide_c, 1, &mask) && (mask & C1_LOWER))
-      return true;
-   return false;
-#endif
-}
-
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(wchar_t c, lcid_type idx)
-{
-   WORD mask;
-   if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER))
-      return true;
-   return false;
-}
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_lower(unsigned short ca, lcid_type idx)
-{
-   WORD mask;
-   wchar_t c = ca;
-   if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_LOWER))
-      return true;
-   return false;
-}
-#endif
-
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(char c, lcid_type idx)
-{
-#ifndef BOOST_NO_ANSI_APIS
-   WORD mask;
-   if(::GetStringTypeExA(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER))
-      return true;
-   return false;
-#else
-   UINT code_page = get_code_page_for_locale_id(idx);
-   if (code_page == 0)
-       return false;
-
-   WCHAR wide_c;
-   if (::MultiByteToWideChar(code_page, 0,  &c, 1,  &wide_c, 1) == 0)
-       return false;
-
-   WORD mask;
-   if(::GetStringTypeExW(idx, CT_CTYPE1, &wide_c, 1, &mask) && (mask & C1_UPPER))
-      return true;
-   return false;
-#endif
-}
-
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(wchar_t c, lcid_type idx)
-{
-   WORD mask;
-   if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER))
-      return true;
-   return false;
-}
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is_upper(unsigned short ca, lcid_type idx)
-{
-   WORD mask;
-   wchar_t c = ca;
-   if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & C1_UPPER))
-      return true;
-   return false;
-}
-#endif
-
-void free_module(void* mod)
-{
-   ::FreeLibrary(static_cast<HMODULE>(mod));
-}
-
-BOOST_REGEX_DECL cat_type BOOST_REGEX_CALL w32_cat_open(const std::string& name)
-{
-#ifndef BOOST_NO_ANSI_APIS
-   cat_type result(::LoadLibraryA(name.c_str()), &free_module);
-   return result;
-#else
-   LPWSTR wide_name = (LPWSTR)_alloca( (name.size() + 1) * sizeof(WCHAR) );
-   if (::MultiByteToWideChar(CP_ACP, 0,  name.c_str(), name.size(),  wide_name, name.size() + 1) == 0)
-       return cat_type();
-
-   cat_type result(::LoadLibraryW(wide_name), &free_module);
-   return result;
-#endif
-}
-
-BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type, int i, const std::string& def)
-{
-#ifndef BOOST_NO_ANSI_APIS
-   char buf[256];
-   if(0 == ::LoadStringA(
-      static_cast<HMODULE>(cat.get()),
-      i,
-      buf,
-      256
-   ))
-   {
-      return def;
-   }
-#else
-   WCHAR wbuf[256];
-   int r = ::LoadStringW(
-      static_cast<HMODULE>(cat.get()),
-      i,
-      wbuf,
-      256
-   );
-   if (r == 0)
-      return def;
-
-   LPSTR buf = (LPSTR)_alloca( (r + 1) * 2 );
-   if (::WideCharToMultiByte(CP_ACP, 0,  wbuf, r,  buf, (r + 1) * 2,  NULL, NULL) == 0)
-      return def;
-#endif
-   return std::string(buf);
-}
-
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type, int i, const std::wstring& def)
-{
-   wchar_t buf[256];
-   if(0 == ::LoadStringW(
-      static_cast<HMODULE>(cat.get()),
-      i,
-      buf,
-      256
-   ))
-   {
-      return def;
-   }
-   return std::wstring(buf);
-}
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL std::basic_string<unsigned short> BOOST_REGEX_CALL w32_cat_get(const cat_type& cat, lcid_type, int i, const std::basic_string<unsigned short>& def)
-{
-   unsigned short buf[256];
-   if(0 == ::LoadStringW(
-      static_cast<HMODULE>(cat.get()),
-      i,
-      (LPWSTR)buf,
-      256
-   ))
-   {
-      return def;
-   }
-   return std::basic_string<unsigned short>(buf);
-}
-#endif
-#endif
-BOOST_REGEX_DECL std::string BOOST_REGEX_CALL w32_transform(lcid_type idx, const char* p1, const char* p2)
-{
-#ifndef BOOST_NO_ANSI_APIS
-   int bytes = ::LCMapStringA(
-      idx,       // locale identifier
-      LCMAP_SORTKEY,  // mapping transformation type
-      p1,  // source string
-      static_cast<int>(p2 - p1),        // number of characters in source string
-      0,  // destination buffer
-      0        // size of destination buffer
-      );
-   if(!bytes)
-      return std::string(p1, p2);
-   std::string result(++bytes, '\0');
-   bytes = ::LCMapStringA(
-      idx,       // locale identifier
-      LCMAP_SORTKEY,  // mapping transformation type
-      p1,  // source string
-      static_cast<int>(p2 - p1),        // number of characters in source string
-      &*result.begin(),  // destination buffer
-      bytes        // size of destination buffer
-      );
-#else
-   UINT code_page = get_code_page_for_locale_id(idx);
-   if(code_page == 0)
-      return std::string(p1, p2);
-
-   int src_len = static_cast<int>(p2 - p1);
-   LPWSTR wide_p1 = (LPWSTR)_alloca( (src_len + 1) * 2 );
-   if(::MultiByteToWideChar(code_page, 0,  p1, src_len,  wide_p1, src_len + 1) == 0)
-      return std::string(p1, p2);
-
-   int bytes = ::LCMapStringW(
-      idx,       // locale identifier
-      LCMAP_SORTKEY,  // mapping transformation type
-      wide_p1,  // source string
-      src_len,        // number of characters in source string
-      0,  // destination buffer
-      0        // size of destination buffer
-      );
-   if(!bytes)
-      return std::string(p1, p2);
-   std::string result(++bytes, '\0');
-   bytes = ::LCMapStringW(
-      idx,       // locale identifier
-      LCMAP_SORTKEY,  // mapping transformation type
-      wide_p1,  // source string
-      src_len,        // number of characters in source string
-      (LPWSTR)&*result.begin(),  // destination buffer
-      bytes        // size of destination buffer
-      );
-#endif
-   if(bytes > static_cast<int>(result.size()))
-      return std::string(p1, p2);
-   while(result.size() && result[result.size()-1] == '\0')
-   {
-      result.erase(result.size()-1);
-   }
-   return result;
-}
-
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL std::wstring BOOST_REGEX_CALL w32_transform(lcid_type idx, const wchar_t* p1, const wchar_t* p2)
-{
-   int bytes = ::LCMapStringW(
-      idx,       // locale identifier
-      LCMAP_SORTKEY,  // mapping transformation type
-      p1,  // source string
-      static_cast<int>(p2 - p1),        // number of characters in source string
-      0,  // destination buffer
-      0        // size of destination buffer
-      );
-   if(!bytes)
-      return std::wstring(p1, p2);
-   std::string result(++bytes, '\0');
-   bytes = ::LCMapStringW(
-      idx,       // locale identifier
-      LCMAP_SORTKEY,  // mapping transformation type
-      p1,  // source string
-      static_cast<int>(p2 - p1),        // number of characters in source string
-      reinterpret_cast<wchar_t*>(&*result.begin()),  // destination buffer *of bytes*
-      bytes        // size of destination buffer
-      );
-   if(bytes > static_cast<int>(result.size()))
-      return std::wstring(p1, p2);
-   while(result.size() && result[result.size()-1] == L'\0')
-   {
-      result.erase(result.size()-1);
-   }
-   std::wstring r2;
-   for(std::string::size_type i = 0; i < result.size(); ++i)
-      r2.append(1, static_cast<wchar_t>(static_cast<unsigned char>(result[i])));
-   return r2;
-}
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL std::basic_string<unsigned short> BOOST_REGEX_CALL w32_transform(lcid_type idx, const unsigned short* p1, const unsigned short* p2)
-{
-   int bytes = ::LCMapStringW(
-      idx,       // locale identifier
-      LCMAP_SORTKEY,  // mapping transformation type
-      (LPCWSTR)p1,  // source string
-      static_cast<int>(p2 - p1),        // number of characters in source string
-      0,  // destination buffer
-      0        // size of destination buffer
-      );
-   if(!bytes)
-      return std::basic_string<unsigned short>(p1, p2);
-   std::string result(++bytes, '\0');
-   bytes = ::LCMapStringW(
-      idx,       // locale identifier
-      LCMAP_SORTKEY,  // mapping transformation type
-      (LPCWSTR)p1,  // source string
-      static_cast<int>(p2 - p1),        // number of characters in source string
-      reinterpret_cast<wchar_t*>(&*result.begin()),  // destination buffer *of bytes*
-      bytes        // size of destination buffer
-      );
-   if(bytes > static_cast<int>(result.size()))
-      return std::basic_string<unsigned short>(p1, p2);
-   while(result.size() && result[result.size()-1] == L'\0')
-   {
-      result.erase(result.size()-1);
-   }
-   std::basic_string<unsigned short> r2;
-   for(std::string::size_type i = 0; i < result.size(); ++i)
-      r2.append(1, static_cast<unsigned short>(static_cast<unsigned char>(result[i])));
-   return r2;
-}
-#endif
-#endif
-BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_tolower(char c, lcid_type idx)
-{
-   char result[2];
-#ifndef BOOST_NO_ANSI_APIS
-   int b = ::LCMapStringA(
-      idx,       // locale identifier
-      LCMAP_LOWERCASE,  // mapping transformation type
-      &c,  // source string
-      1,        // number of characters in source string
-      result,  // destination buffer
-      1);        // size of destination buffer
-   if(b == 0)
-      return c;
-#else
-   UINT code_page = get_code_page_for_locale_id(idx);
-   if (code_page == 0)
-      return c;
-
-   WCHAR wide_c;
-   if (::MultiByteToWideChar(code_page, 0,  &c, 1,  &wide_c, 1) == 0)
-      return c;
-
-   WCHAR wide_result;
-   int b = ::LCMapStringW(
-      idx,       // locale identifier
-      LCMAP_LOWERCASE,  // mapping transformation type
-      &wide_c,  // source string
-      1,        // number of characters in source string
-      &wide_result,  // destination buffer
-      1);        // size of destination buffer
-   if(b == 0)
-      return c;
-
-   if (::WideCharToMultiByte(code_page, 0,  &wide_result, 1,  result, 2,  NULL, NULL) == 0)
-       return c;
-#endif
-   return result[0];
-}
-
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_tolower(wchar_t c, lcid_type idx)
-{
-   wchar_t result[2];
-   int b = ::LCMapStringW(
-      idx,       // locale identifier
-      LCMAP_LOWERCASE,  // mapping transformation type
-      &c,  // source string
-      1,        // number of characters in source string
-      result,  // destination buffer
-      1);        // size of destination buffer
-   if(b == 0)
-      return c;
-   return result[0];
-}
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_tolower(unsigned short c, lcid_type idx)
-{
-   wchar_t result[2];
-   int b = ::LCMapStringW(
-      idx,       // locale identifier
-      LCMAP_LOWERCASE,  // mapping transformation type
-      (wchar_t const*)&c,  // source string
-      1,        // number of characters in source string
-      result,  // destination buffer
-      1);        // size of destination buffer
-   if(b == 0)
-      return c;
-   return result[0];
-}
-#endif
-#endif
-BOOST_REGEX_DECL char BOOST_REGEX_CALL w32_toupper(char c, lcid_type idx)
-{
-   char result[2];
-#ifndef BOOST_NO_ANSI_APIS
-   int b = ::LCMapStringA(
-      idx,       // locale identifier
-      LCMAP_UPPERCASE,  // mapping transformation type
-      &c,  // source string
-      1,        // number of characters in source string
-      result,  // destination buffer
-      1);        // size of destination buffer
-   if(b == 0)
-      return c;
-#else
-   UINT code_page = get_code_page_for_locale_id(idx);
-   if(code_page == 0)
-       return c;
-
-   WCHAR wide_c;
-   if (::MultiByteToWideChar(code_page, 0,  &c, 1,  &wide_c, 1) == 0)
-       return c;
-
-   WCHAR wide_result;
-   int b = ::LCMapStringW(
-      idx,       // locale identifier
-      LCMAP_UPPERCASE,  // mapping transformation type
-      &wide_c,  // source string
-      1,        // number of characters in source string
-      &wide_result,  // destination buffer
-      1);        // size of destination buffer
-   if(b == 0)
-      return c;
-
-   if (::WideCharToMultiByte(code_page, 0,  &wide_result, 1,  result, 2,  NULL, NULL) == 0)
-       return c;
-#endif
-   return result[0];
-}
-
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL w32_toupper(wchar_t c, lcid_type idx)
-{
-   wchar_t result[2];
-   int b = ::LCMapStringW(
-      idx,       // locale identifier
-      LCMAP_UPPERCASE,  // mapping transformation type
-      &c,  // source string
-      1,        // number of characters in source string
-      result,  // destination buffer
-      1);        // size of destination buffer
-   if(b == 0)
-      return c;
-   return result[0];
-}
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL w32_toupper(unsigned short c, lcid_type idx)
-{
-   wchar_t result[2];
-   int b = ::LCMapStringW(
-      idx,       // locale identifier
-      LCMAP_UPPERCASE,  // mapping transformation type
-      (wchar_t const*)&c,  // source string
-      1,        // number of characters in source string
-      result,  // destination buffer
-      1);        // size of destination buffer
-   if(b == 0)
-      return c;
-   return result[0];
-}
-#endif
-#endif
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type idx, boost::uint32_t m, char c)
-{
-   WORD mask;
-#ifndef BOOST_NO_ANSI_APIS
-   if(::GetStringTypeExA(idx, CT_CTYPE1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation<char>::mask_base))
-      return true;
-#else
-   UINT code_page = get_code_page_for_locale_id(idx);
-   if(code_page == 0)
-       return false;
-
-   WCHAR wide_c;
-   if (::MultiByteToWideChar(code_page, 0,  &c, 1,  &wide_c, 1) == 0)
-       return false;
-
-   if(::GetStringTypeExW(idx, CT_CTYPE1, &wide_c, 1, &mask) && (mask & m & w32_regex_traits_implementation<char>::mask_base))
-      return true;
-#endif
-   if((m & w32_regex_traits_implementation<char>::mask_word) && (c == '_'))
-      return true;
-   return false;
-}
-
-#ifndef BOOST_NO_WREGEX
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type idx, boost::uint32_t m, wchar_t c)
-{
-   WORD mask;
-   if(::GetStringTypeExW(idx, CT_CTYPE1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation<wchar_t>::mask_base))
-      return true;
-   if((m & w32_regex_traits_implementation<wchar_t>::mask_word) && (c == '_'))
-      return true;
-   if((m & w32_regex_traits_implementation<wchar_t>::mask_unicode) && (c > 0xff))
-      return true;
-   return false;
-}
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-BOOST_REGEX_DECL bool BOOST_REGEX_CALL w32_is(lcid_type idx, boost::uint32_t m, unsigned short c)
-{
-   WORD mask;
-   if(::GetStringTypeExW(idx, CT_CTYPE1, (wchar_t const*)&c, 1, &mask) && (mask & m & w32_regex_traits_implementation<wchar_t>::mask_base))
-      return true;
-   if((m & w32_regex_traits_implementation<wchar_t>::mask_word) && (c == '_'))
-      return true;
-   if((m & w32_regex_traits_implementation<wchar_t>::mask_unicode) && (c > 0xff))
-      return true;
-   return false;
-}
-#endif
-#endif
-
-} // re_detail
-} // boost
-
-#endif
-
diff --git a/SRC/Boost/libs/regex/src/wc_regex_traits.cpp b/SRC/Boost/libs/regex/src/wc_regex_traits.cpp
deleted file mode 100755
index 29316e5..0000000
--- a/SRC/Boost/libs/regex/src/wc_regex_traits.cpp
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- *
- * Copyright (c) 2004
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE:        wc_regex_traits.cpp
-  *   VERSION:     see <boost/version.hpp>
-  *   DESCRIPTION: Implements out of line members for c_regex_traits<wchar_t>
-  */
-
-
-#define BOOST_REGEX_SOURCE
-
-#include <boost/detail/workaround.hpp>
-#include <memory>
-#include <string>
-#include "internals.hpp"
-
-#if defined(_DLL_CPPLIB) && !defined(_M_CEE_PURE) && defined(_NATIVE_WCHAR_T_DEFINED) \
-   && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) || defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER))\
-   && BOOST_WORKAROUND(BOOST_MSVC, <1600)
-//
-// This is a horrible workaround, but without declaring these symbols extern we get
-// duplicate symbol errors when linking if the application is built without
-// /Zc:wchar_t
-//
-#ifdef _CRTIMP2_PURE
-#  define BOOST_REGEX_STDLIB_DECL _CRTIMP2_PURE
-#else
-#  define BOOST_REGEX_STDLIB_DECL _CRTIMP2
-#endif
-
-namespace std{
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-template class BOOST_REGEX_STDLIB_DECL allocator<unsigned short>;
-template class BOOST_REGEX_STDLIB_DECL _String_val<unsigned short, allocator<unsigned short> >;
-template class BOOST_REGEX_STDLIB_DECL basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >;
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, > 1300) && BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400))
-template<> BOOST_REGEX_STDLIB_DECL std::size_t __cdecl char_traits<unsigned short>::length(unsigned short const*);
-#endif
-
-template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==(
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&,
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&);
-template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==(
-   const unsigned short *,
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&);
-template BOOST_REGEX_STDLIB_DECL bool __cdecl operator==(
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&,
-   const unsigned short *);
-template BOOST_REGEX_STDLIB_DECL bool __cdecl operator<(
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&,
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&);
-template BOOST_REGEX_STDLIB_DECL bool __cdecl operator>(
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&,
-   const basic_string<unsigned short, char_traits<unsigned short>, allocator<unsigned short> >&);
-}
-#endif
-
-#include <boost/regex/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x560)
-
-#include <boost/regex/v4/c_regex_traits.hpp>
-#ifndef BOOST_NO_WREGEX
-#include <boost/regex/v4/primary_transform.hpp>
-#include <boost/regex/v4/regex_traits_defaults.hpp>
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-   using ::wcstol;
-}
-#endif
-
-namespace boost{
-
-c_regex_traits<wchar_t>::string_type BOOST_REGEX_CALL c_regex_traits<wchar_t>::transform(const wchar_t* p1, const wchar_t* p2) 
-{ 
-   std::size_t r;
-   std::size_t s = 10;
-   std::wstring src(p1, p2);
-   std::wstring result(s, L' ');
-   while(s < (r = std::wcsxfrm(&*result.begin(), src.c_str(), s)))
-   {
-      result.append(r - s + 3, L' ');
-      s = result.size();
-   }
-   result.erase(r);
-   return result; 
-}
-
-c_regex_traits<wchar_t>::string_type BOOST_REGEX_CALL c_regex_traits<wchar_t>::transform_primary(const wchar_t* p1, const wchar_t* p2) 
-{
-   static wchar_t s_delim;
-   static const int s_collate_type = ::boost::re_detail::find_sort_syntax(static_cast<const c_regex_traits<wchar_t>*>(0), &s_delim);
-   std::wstring result;
-   //
-   // What we do here depends upon the format of the sort key returned by
-   // sort key returned by this->transform:
-   //
-   switch(s_collate_type)
-   {
-   case ::boost::re_detail::sort_C:
-   case ::boost::re_detail::sort_unknown:
-      // the best we can do is translate to lower case, then get a regular sort key:
-      {
-         result.assign(p1, p2);
-         for(std::wstring::size_type i = 0; i < result.size(); ++i)
-            result[i] = (std::towlower)(result[i]);
-         result = c_regex_traits<wchar_t>::transform(&*result.begin(), &*result.begin() + result.size());
-         break;
-      }
-   case ::boost::re_detail::sort_fixed:
-      {
-         // get a regular sort key, and then truncate it:
-         result = c_regex_traits<wchar_t>::transform(&*result.begin(), &*result.begin() + result.size());
-         result.erase(s_delim);
-         break;
-      }
-   case ::boost::re_detail::sort_delim:
-         // get a regular sort key, and then truncate everything after the delim:
-         result = c_regex_traits<wchar_t>::transform(&*result.begin(), &*result.begin() + result.size());
-         if(result.size() && (result[0] == s_delim))
-            break;
-         std::size_t i;
-         for(i = 0; i < result.size(); ++i)
-         {
-            if(result[i] == s_delim)
-               break;
-         }
-         result.erase(i);
-         break;
-   }
-   if(result.empty())
-      result = std::wstring(1, char(0));
-   return result;
-}
-
-c_regex_traits<wchar_t>::char_class_type BOOST_REGEX_CALL c_regex_traits<wchar_t>::lookup_classname(const wchar_t* p1, const wchar_t* p2) 
-{
-   static const char_class_type masks[] = 
-   {
-      0,
-      char_class_alnum, 
-      char_class_alpha,
-      char_class_blank,
-      char_class_cntrl,
-      char_class_digit,
-      char_class_digit,
-      char_class_graph,
-      char_class_horizontal,
-      char_class_lower,
-      char_class_lower,
-      char_class_print,
-      char_class_punct,
-      char_class_space,
-      char_class_space,
-      char_class_upper,
-      char_class_unicode,
-      char_class_upper,
-      char_class_vertical,
-      char_class_alnum | char_class_word, 
-      char_class_alnum | char_class_word, 
-      char_class_xdigit,
-   };
-
-   int idx = ::boost::re_detail::get_default_class_id(p1, p2);
-   if(idx < 0)
-   {
-      std::wstring s(p1, p2);
-      for(std::wstring::size_type i = 0; i < s.size(); ++i)
-         s[i] = (std::towlower)(s[i]);
-      idx = ::boost::re_detail::get_default_class_id(&*s.begin(), &*s.begin() + s.size());
-   }
-   BOOST_ASSERT(idx+1 < static_cast<int>(sizeof(masks) / sizeof(masks[0])));
-   return masks[idx+1];
-}
-
-bool BOOST_REGEX_CALL c_regex_traits<wchar_t>::isctype(wchar_t c, char_class_type mask) 
-{
-   return
-      ((mask & char_class_space) && (std::iswspace)(c))
-      || ((mask & char_class_print) && (std::iswprint)(c))
-      || ((mask & char_class_cntrl) && (std::iswcntrl)(c))
-      || ((mask & char_class_upper) && (std::iswupper)(c))
-      || ((mask & char_class_lower) && (std::iswlower)(c))
-      || ((mask & char_class_alpha) && (std::iswalpha)(c))
-      || ((mask & char_class_digit) && (std::iswdigit)(c))
-      || ((mask & char_class_punct) && (std::iswpunct)(c))
-      || ((mask & char_class_xdigit) && (std::iswxdigit)(c))
-      || ((mask & char_class_blank) && (std::iswspace)(c) && !::boost::re_detail::is_separator(c))
-      || ((mask & char_class_word) && (c == '_'))
-      || ((mask & char_class_unicode) && (c & ~static_cast<wchar_t>(0xff)))
-      || ((mask & char_class_vertical) && (::boost::re_detail::is_separator(c) || (c == L'\v')))
-      || ((mask & char_class_horizontal) && (std::iswspace)(c) && !::boost::re_detail::is_separator(c) && (c != L'\v'));
-}
-
-c_regex_traits<wchar_t>::string_type BOOST_REGEX_CALL c_regex_traits<wchar_t>::lookup_collatename(const wchar_t* p1, const wchar_t* p2) 
-{
-#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\
-               && !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\
-               && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551)
-   std::string name(p1, p2);
-#else
-   std::string name;
-   const wchar_t* p0 = p1;
-   while(p0 != p2)
-      name.append(1, char(*p0++));
-#endif
-   name = ::boost::re_detail::lookup_default_collate_name(name);
-#if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\
-               && !BOOST_WORKAROUND(BOOST_MSVC, < 1300)\
-               && !BOOST_WORKAROUND(__BORLANDC__, <= 0x0551)
-   if(name.size())
-      return string_type(name.begin(), name.end());
-#else
-   if(name.size())
-   {
-      string_type result;
-      typedef std::string::const_iterator iter;
-      iter b = name.begin();
-      iter e = name.end();
-      while(b != e)
-         result.append(1, wchar_t(*b++));
-      return result;
-   }
-#endif
-   if(p2 - p1 == 1)
-      return string_type(1, *p1);
-   return string_type();
-}
-
-int BOOST_REGEX_CALL c_regex_traits<wchar_t>::value(wchar_t c, int radix) 
-{
-#ifdef __BORLANDC__
-   // workaround for broken wcstol:
-   if((std::iswxdigit)(c) == 0)
-      return -1;
-#endif
-   wchar_t b[2] = { c, '\0', };
-   wchar_t* ep;
-   int result = std::wcstol(b, &ep, radix);
-   if(ep == b)
-      return -1;
-   return result;
-}
-
-#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
-c_regex_traits<unsigned short>::string_type BOOST_REGEX_CALL c_regex_traits<unsigned short>::transform(const unsigned short* p1, const unsigned short* p2)
-{
-   std::wstring result = c_regex_traits<wchar_t>::transform((const wchar_t*)p1, (const wchar_t*)p2);
-   return string_type(result.begin(), result.end());
-}
-
-c_regex_traits<unsigned short>::string_type BOOST_REGEX_CALL c_regex_traits<unsigned short>::transform_primary(const unsigned short* p1, const unsigned short* p2)
-{
-   std::wstring result = c_regex_traits<wchar_t>::transform_primary((const wchar_t*)p1, (const wchar_t*)p2);
-   return string_type(result.begin(), result.end());
-}
-
-c_regex_traits<unsigned short>::char_class_type BOOST_REGEX_CALL c_regex_traits<unsigned short>::lookup_classname(const unsigned short* p1, const unsigned short* p2)
-{
-   return c_regex_traits<wchar_t>::lookup_classname((const wchar_t*)p1, (const wchar_t*)p2);
-}
-
-c_regex_traits<unsigned short>::string_type BOOST_REGEX_CALL c_regex_traits<unsigned short>::lookup_collatename(const unsigned short* p1, const unsigned short* p2)
-{
-   std::wstring result = c_regex_traits<wchar_t>::lookup_collatename((const wchar_t*)p1, (const wchar_t*)p2);
-   return string_type(result.begin(), result.end());
-}
-
-bool BOOST_REGEX_CALL c_regex_traits<unsigned short>::isctype(unsigned short c, char_class_type m)
-{
-   return c_regex_traits<wchar_t>::isctype(c, m);
-}
-
-int BOOST_REGEX_CALL c_regex_traits<unsigned short>::value(unsigned short c, int radix)
-{
-   return c_regex_traits<wchar_t>::value(c, radix);
-}
-
-#endif
-
-}
-
-#endif // BOOST_NO_WREGEX
-
-#endif // __BORLANDC__
-
diff --git a/SRC/Boost/libs/regex/src/wide_posix_api.cpp b/SRC/Boost/libs/regex/src/wide_posix_api.cpp
deleted file mode 100755
index 9f95b73..0000000
--- a/SRC/Boost/libs/regex/src/wide_posix_api.cpp
+++ /dev/null
@@ -1,315 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
- 
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE:        wide_posix_api.cpp
-  *   VERSION:     see <boost/version.hpp>
-  *   DESCRIPTION: Implements the wide character POSIX API wrappers.
-  */
-
-#define BOOST_REGEX_SOURCE
-
-#include <boost/regex/config.hpp>
-
-#ifndef BOOST_NO_WREGEX
-
-#include <boost/regex.hpp>
-#include <boost/cregex.hpp>
-
-#include <cwchar>
-#include <cstring>
-#include <cstdio>
-
-#ifdef BOOST_INTEL
-#pragma warning(disable:981)
-#endif
-
-#if defined(BOOST_NO_STDC_NAMESPACE) || defined(__NetBSD__)
-namespace std{
-#  ifndef BOOST_NO_SWPRINTF
-      using ::swprintf;
-#  endif
-}
-#endif
-
-
-namespace boost{
-
-namespace {
-
-unsigned int wmagic_value = 28631;
-
-const wchar_t* wnames[] = {
-      L"REG_NOERROR",
-      L"REG_NOMATCH",
-      L"REG_BADPAT",
-      L"REG_ECOLLATE",
-      L"REG_ECTYPE",
-      L"REG_EESCAPE",
-      L"REG_ESUBREG",
-      L"REG_EBRACK",
-      L"REG_EPAREN",
-      L"REG_EBRACE",
-      L"REG_BADBR",
-      L"REG_ERANGE",
-      L"REG_ESPACE",
-      L"REG_BADRPT",
-      L"REG_EEND",
-      L"REG_ESIZE",
-      L"REG_ERPAREN",
-      L"REG_EMPTY",
-      L"REG_ECOMPLEXITY",
-      L"REG_ESTACK",
-      L"REG_E_PERL",
-      L"REG_E_UNKNOWN",
-};
-}
-
-typedef boost::basic_regex<wchar_t, c_regex_traits<wchar_t> > wc_regex_type;
-
-BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wchar_t* ptr, int f)
-{
-   if(expression->re_magic != wmagic_value)
-   {
-      expression->guts = 0;
-#ifndef BOOST_NO_EXCEPTIONS
-      try{
-#endif
-      expression->guts = new wc_regex_type();
-#ifndef BOOST_NO_EXCEPTIONS
-      } catch(...)
-      {
-         return REG_ESPACE;
-      }
-#else
-      if(0 == expression->guts)
-         return REG_E_MEMORY;
-#endif
-   }
-   // set default flags:
-   boost::uint_fast32_t flags = (f & REG_PERLEX) ? 0 : ((f & REG_EXTENDED) ? wregex::extended : wregex::basic);
-   expression->eflags = (f & REG_NEWLINE) ? match_not_dot_newline : match_default;
-
-   // and translate those that are actually set:
-   if(f & REG_NOCOLLATE)
-   {
-      flags |= wregex::nocollate;
-#ifndef BOOST_REGEX_V3
-      flags &= ~wregex::collate;
-#endif
-   }
-
-   if(f & REG_NOSUB)
-   {
-      //expression->eflags |= match_any;
-      flags |= wregex::nosubs;
-   }
-
-   if(f & REG_NOSPEC)
-      flags |= wregex::literal;
-   if(f & REG_ICASE)
-      flags |= wregex::icase;
-   if(f & REG_ESCAPE_IN_LISTS)
-      flags &= ~wregex::no_escape_in_lists;
-   if(f & REG_NEWLINE_ALT)
-      flags |= wregex::newline_alt;
-
-   const wchar_t* p2;
-   if(f & REG_PEND)
-      p2 = expression->re_endp;
-   else p2 = ptr + std::wcslen(ptr);
-
-   int result;
-
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-      expression->re_magic = wmagic_value;
-      static_cast<wc_regex_type*>(expression->guts)->set_expression(ptr, p2, flags);
-      expression->re_nsub = static_cast<wc_regex_type*>(expression->guts)->mark_count() - 1;
-      result = static_cast<wc_regex_type*>(expression->guts)->error_code();
-#ifndef BOOST_NO_EXCEPTIONS
-   } 
-   catch(const boost::regex_error& be)
-   {
-      result = be.code();
-   }
-   catch(...)
-   {
-      result = REG_E_UNKNOWN;
-   }
-#endif
-   if(result)
-      regfreeW(expression);
-   return result;
-
-}
-
-BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int code, const regex_tW* e, wchar_t* buf, regsize_t buf_size)
-{
-   std::size_t result = 0;
-   if(code & REG_ITOA)
-   {
-      code &= ~REG_ITOA;
-      if((code <= (int)REG_E_UNKNOWN) && (code >= 0))
-      {
-         result = std::wcslen(wnames[code]) + 1;
-         if(buf_size >= result)
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE)
-            ::wcscpy_s(buf, buf_size, wnames[code]);
-#else
-            std::wcscpy(buf, wnames[code]);
-#endif
-         return result;
-      }
-      return result;
-   }
-#if !defined(BOOST_NO_SWPRINTF)
-   if(code == REG_ATOI)
-   {
-      wchar_t localbuf[5];
-      if(e == 0)
-         return 0;
-      for(int i = 0; i <= (int)REG_E_UNKNOWN; ++i)
-      {
-         if(std::wcscmp(e->re_endp, wnames[i]) == 0)
-         {
-#if defined(_WIN32_WCE) && !defined(UNDER_CE)
-            (std::swprintf)(localbuf, L"%d", i);
-#else
-            (std::swprintf)(localbuf, 5, L"%d", i);
-#endif
-            if(std::wcslen(localbuf) < buf_size)
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE)
-               ::wcscpy_s(buf, buf_size, localbuf);
-#else
-               std::wcscpy(buf, localbuf);
-#endif
-            return std::wcslen(localbuf) + 1;
-         }
-      }
-#if defined(_WIN32_WCE) && !defined(UNDER_CE)
-      (std::swprintf)(localbuf, L"%d", 0);
-#else
-      (std::swprintf)(localbuf, 5, L"%d", 0);
-#endif
-      if(std::wcslen(localbuf) < buf_size)
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(_WIN32_WCE) && !defined(UNDER_CE)
-         ::wcscpy_s(buf, buf_size, localbuf);
-#else
-         std::wcscpy(buf, localbuf);
-#endif
-      return std::wcslen(localbuf) + 1;
-   }
-#endif
-   if(code <= (int)REG_E_UNKNOWN)
-   {
-      std::string p;
-      if((e) && (e->re_magic == wmagic_value))
-         p = static_cast<wc_regex_type*>(e->guts)->get_traits().error_string(static_cast< ::boost::regex_constants::error_type>(code));
-      else
-      {
-         p = re_detail::get_default_error_string(static_cast< ::boost::regex_constants::error_type>(code));
-      }
-      std::size_t len = p.size();
-      if(len < buf_size)
-      {
-         re_detail::copy(p.c_str(), p.c_str() + p.size() + 1, buf);
-      }
-      return len + 1;
-   }
-   if(buf_size)
-      *buf = 0;
-   return 0;
-}
-
-BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW* expression, const wchar_t* buf, regsize_t n, regmatch_t* array, int eflags)
-{
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4267)
-#endif
-   bool result = false;
-   match_flag_type flags = match_default | expression->eflags;
-   const wchar_t* end;
-   const wchar_t* start;
-   wcmatch m;
-   
-   if(eflags & REG_NOTBOL)
-      flags |= match_not_bol;
-   if(eflags & REG_NOTEOL)
-      flags |= match_not_eol;
-   if(eflags & REG_STARTEND)
-   {
-      start = buf + array[0].rm_so;
-      end = buf + array[0].rm_eo;
-   }
-   else
-   {
-      start = buf;
-      end = buf + std::wcslen(buf);
-   }
-
-#ifndef BOOST_NO_EXCEPTIONS
-   try{
-#endif
-   if(expression->re_magic == wmagic_value)
-   {
-      result = regex_search(start, end, m, *static_cast<wc_regex_type*>(expression->guts), flags);
-   }
-   else
-      return result;
-#ifndef BOOST_NO_EXCEPTIONS
-   } catch(...)
-   {
-      return REG_E_UNKNOWN;
-   }
-#endif
-   if(result)
-   {
-      // extract what matched:
-      std::size_t i;
-      for(i = 0; (i < n) && (i < expression->re_nsub + 1); ++i)
-      {
-         array[i].rm_so = (m[i].matched == false) ? -1 : (m[i].first - buf);
-         array[i].rm_eo = (m[i].matched == false) ? -1 : (m[i].second - buf);
-      }
-      // and set anything else to -1:
-      for(i = expression->re_nsub + 1; i < n; ++i)
-      {
-         array[i].rm_so = -1;
-         array[i].rm_eo = -1;
-      }
-      return 0;
-   }
-   return REG_NOMATCH;
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-}
-
-BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW* expression)
-{
-   if(expression->re_magic == wmagic_value)
-   {
-      delete static_cast<wc_regex_type*>(expression->guts);
-   }
-   expression->re_magic = 0;
-}
-
-} // namespace boost;
-
-#endif
-
-
-
-
diff --git a/SRC/Boost/libs/regex/src/winstances.cpp b/SRC/Boost/libs/regex/src/winstances.cpp
deleted file mode 100755
index 81ee85e..0000000
--- a/SRC/Boost/libs/regex/src/winstances.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- *
- * Copyright (c) 1998-2002
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
- /*
-  *   LOCATION:    see http://www.boost.org for most recent version.
-  *   FILE:        winstances.cpp
-  *   VERSION:     see <boost/version.hpp>
-  *   DESCRIPTION: regex wide character template instances.
-  */
-
-#define BOOST_REGEX_SOURCE
-
-#include <boost/regex/config.hpp>
-
-#if !defined(BOOST_NO_WREGEX) && !defined(BOOST_REGEX_NO_EXTERNAL_TEMPLATES)
-#define BOOST_REGEX_WIDE_INSTANTIATE
-
-#ifdef __BORLANDC__
-#pragma hrdstop
-#endif
-
-#include <boost/regex.hpp>
-
-#endif
-
-
-
diff --git a/SRC/Boost/libs/regex/test/config_info/regex_config_info.cpp b/SRC/Boost/libs/regex/test/config_info/regex_config_info.cpp
deleted file mode 100755
index e653a6b..0000000
--- a/SRC/Boost/libs/regex/test/config_info/regex_config_info.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *
- * Copyright (c) 2003
- * John Maddock
- *
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- */
-
-//
-// This program extends config_info to print out regex library
-// configuration information.  We do this by redfining the main
-// provided by config_info, our real main will call it later:
-//
-#ifndef OLD_MAIN
-#  define OLD_MAIN info_main
-#endif
-
-#define main OLD_MAIN
-#include <libs/config/test/config_info.cpp>
-#undef main
-#ifndef NEW_MAIN
-#  define NEW_MAIN main
-#endif
-#include <boost/regex.hpp>
-
-int NEW_MAIN()
-{
-   OLD_MAIN();
-
-   print_separator();
-   PRINT_MACRO(BOOST_REGEX_USER_CONFIG);
-   PRINT_MACRO(BOOST_REGEX_USE_C_LOCALE);
-   PRINT_MACRO(BOOST_REGEX_USE_CPP_LOCALE);
-   PRINT_MACRO(BOOST_REGEX_HAS_DLL_RUNTIME);
-   PRINT_MACRO(BOOST_REGEX_DYN_LINK);
-   PRINT_MACRO(BOOST_REGEX_NO_LIB);
-   PRINT_MACRO(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE);
-   PRINT_MACRO(BOOST_REGEX_NO_W32);
-   PRINT_MACRO(BOOST_REGEX_NO_BOOL);
-   PRINT_MACRO(BOOST_REGEX_NO_EXTERNAL_TEMPLATES);
-   PRINT_MACRO(BOOST_REGEX_NO_FWD);
-   PRINT_MACRO(BOOST_REGEX_V3);
-   PRINT_MACRO(BOOST_REGEX_HAS_MS_STACK_GUARD);
-   PRINT_MACRO(BOOST_REGEX_RECURSIVE);
-   PRINT_MACRO(BOOST_REGEX_NON_RECURSIVE);
-   PRINT_MACRO(BOOST_REGEX_BLOCKSIZE);
-   PRINT_MACRO(BOOST_REGEX_MAX_BLOCKS);
-   PRINT_MACRO(BOOST_REGEX_MAX_CACHE_BLOCKS);
-   PRINT_MACRO(BOOST_NO_WREGEX);
-   PRINT_MACRO(BOOST_REGEX_NO_FILEITER);
-   PRINT_MACRO(BOOST_REGEX_STATIC_LINK);
-   PRINT_MACRO(BOOST_REGEX_DYN_LINK);
-   PRINT_MACRO(BOOST_REGEX_DECL);
-   PRINT_MACRO(BOOST_REGEX_CALL);
-   PRINT_MACRO(BOOST_REGEX_CCALL);
-   PRINT_MACRO(BOOST_REGEX_MAX_STATE_COUNT);
-   PRINT_MACRO(BOOST_REGEX_BUGGY_CTYPE_FACET);
-   PRINT_MACRO(BOOST_REGEX_MATCH_EXTRA);
-   PRINT_MACRO(BOOST_HAS_ICU);
-   PRINT_MACRO(BOOST_REGEX_HAS_OTHER_WCHAR_T);
-
-#if defined(BOOST_REGEX_CONFIG_INFO) && !defined(NO_RECURSE)
-   print_regex_library_info();
-#endif
-
-   return 0;
-}
-
-
-
diff --git a/SRC/Boost/libs/serialization/build/Jamfile.v2 b/SRC/Boost/libs/serialization/build/Jamfile.v2
deleted file mode 100755
index ee4648c..0000000
--- a/SRC/Boost/libs/serialization/build/Jamfile.v2
+++ /dev/null
@@ -1,115 +0,0 @@
-# Boost serialization Library Build Jamfile
-#  (C) Copyright Robert Ramey 2002-2004.
-#  Use, modification, and distribution are subject to the 
-#  Boost Software License, Version 1.0. (See accompanying file 
-#  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-#  See http://www.boost.org/libs/serialization for the library home page.
-
-project boost/serialization
-    : source-location ../src
-    : requirements
-      <conditional>@include-spirit
-;
-
-SPIRIT_ROOT = [ modules.peek : SPIRIT_ROOT ] ;
-rule include-spirit ( properties * )
-{
-    local old-compiler ;
-    if <toolset>borland in $(properties)
-    {
-        if ! <toolset-borland:version>6.1.0 in $(properties)  
-        {  
-            old-compiler = true ;  
-        }  
-
-    }
-    else if <toolset>msvc in $(properties)
-    {
-        if <toolset-msvc:version>6.5 in $(properties)
-          || <toolset-msvc:version>7.0 in $(properties)
-        {            
-            old-compiler = true ;
-        }        
-    }
-        
-    local result ;
-    if $(old-compiler)
-    {        
-        if $(SPIRIT_ROOT)
-        {
-            # note - we can't use <include>$(SPIRIT_ROOT) because 
-            # it puts -I$(SPIRIT_ROOT) AFTER the "../../.." in the command line.
-            # so use these instead 
-            result = <cxxflags>-I$(SPIRIT_ROOT) ;
-        }
-        else 
-        {
-            echo **** spirit 1.6x required to build library with this compiler **** ;
-            result = <build>no ;
-        }
-    }    
-    return $(result) ;
-}
-
-SOURCES = 
-    basic_archive
-    basic_iarchive
-    basic_iserializer
-    basic_oarchive
-    basic_oserializer
-    basic_pointer_iserializer
-    basic_pointer_oserializer
-    basic_serializer_map
-    basic_text_iprimitive
-    basic_text_oprimitive
-    basic_xml_archive
-    binary_iarchive
-    binary_oarchive
-    extended_type_info
-    extended_type_info_typeid
-    extended_type_info_no_rtti
-    polymorphic_iarchive
-    polymorphic_oarchive
-    stl_port
-    text_iarchive
-    text_oarchive
-    void_cast
-    archive_exception
-    xml_grammar
-    xml_iarchive
-    xml_oarchive
-    xml_archive_exception
-    shared_ptr_helper
-;
-    
-WSOURCES = 
-    basic_text_wiprimitive
-    basic_text_woprimitive
-    text_wiarchive
-    text_woarchive
-    utf8_codecvt_facet
-    xml_wgrammar
-    xml_wiarchive
-    xml_woarchive
-    codecvt_null
-;
-
-
-lib boost_serialization 
-    : $(SOURCES).cpp
-    : 
-    <toolset>msvc:<cxxflags>/Gy
-    #<toolset>gcc:<cxxflags>"-fvisibility=hidden"
-    <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
-    ;
-
-lib boost_wserialization 
-    : $(WSOURCES).cpp boost_serialization 
-    :     
-    <toolset>msvc:<cxxflags>/Gy 
-    #<toolset>gcc:<cxxflags>"-fvisibility=hidden"
-    <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
-    ;
-
-boost-install boost_serialization boost_wserialization ;
diff --git a/SRC/Boost/libs/serialization/doc/acknowledgments.html b/SRC/Boost/libs/serialization/doc/acknowledgments.html
deleted file mode 100755
index 8f97a60..0000000
--- a/SRC/Boost/libs/serialization/doc/acknowledgments.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Acknowledgments</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
-    "header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="http://www.boost.org"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Acknowledgments</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<ul>
-  <li>Takatoshi Kondo found and corrected a very obscure and difficult bug in the 
-  serialization of virtual base classes.
-  <li><a href="http://www.autoform.com">AutoForm Engineering GmbH</a> supported
-  development efforts to extend correct serialization to objects stored in DLLS.
-  <li><a href"http://www.cadence.com/il">Cadence Israel</a> supported enhancement
-  and testing of the portable binary archive.
-  <li>David Abrahams improved implementation of "export" functionality.  This not
-  only eliminated an annoying header sequencing requirement, but also the need to maintain
-  a list of "known archives".
-  <li>Mattias Troyer enhanced the implementation of native binary archives.  This includes
-  enhancement and generalization of the library itself including generalization of
-  the wrapper concept.
-  <li>Markus Schöpflin tracked down issues with TRU64 compiler resulting in 100% passing.
-  <li><a href="mailto::troy at resophonic.com"> Troy D. Straszheim</a> made the initial version of variant serialization.
-  <li>Tonko Juricic helped refine and complete project files for VC 7.1 ide
-  <li><a href="http://www.boost.org/people/rene_rivera.htm">Rene Rivera</a> tracked down several issues related to 
-  Code Warrior, toolset configuration and bjam and much else.
-  <li>Martin Ecker detected (and fixed!) a number of sublte errors regarding cyclic
-  pointers, shared pointers.  He also built the library as a DLL and raised some issues
-  <li>Pavel Vozenilek invested much effort in review of code and documentation
-  resulting in many improvements.  In addition he help a lot with porting to other
-  platforms including VC 6.0, Intel, and especially Borland.
-  <li><a href="http://www.boost.org/people/jens_maurer.htm">Jens Maurer</a> and
-  <a href="http://www.boost.org/people/beman_dawes.html">Beman Dawes</a> who got the boost
-  serialization ball rolling.  It was one or both of these two that invented
-  the much beloved <code>&</code> syntax used to implement both save and
-  load in one fuction specification.
-  <li><a href="http://www.boost.org/people/vladimir_prus.htm">Vladimir Prus</a> for evaluating an
-  early draft and contributing the diamond inheritance example.
-  <li><a href="http://www.boost.org/people/william_kempf.htm">William E. Kempf</a>
-  who made the templates for this and other boost manuals.  This relieved
-  me of much aggravation.
-  <li><a href="mailto:vahan at unicad.am">Vahan Margaryan</a> and
-  <a href="mailto:fredrik_blomqvist-at-home.se">Fredrik Blomqvist</a> for their contributions
-  to my understanding of the subtle issues of exception safety in this context.
-  <li>all other boost members who responded with feedback during the
-  development of this library.  Almost all comments resulted in
-  tangible changes in the library which made it much better.
-  <li>boosters who helped out in porting to other platforms:, Fernando Cacciola (Borland), 
-  Jeff Flinn (VC 7.1), Vladimir Prus (gcc 3.3), Christoph Ludwig(gcc 3.4),
-  Rob Lievaart(mingw), Marshal Clow(gcc-darwin) among others.
-  <li>all boost members who participated in the first formal review
-  in November 2002.  Many of these members invested quite an effort
-  to evaluate the library and suggest changes. They are
-  Matthias Troyer, Pavel Vozenilek, Vladimir Prus, Fredrik Blomqvist,
-  Jeff Garland, Gennadiy Rozental, Alberto Barbati, Dave Harris.
-  Mr. Rozenthal in particular wrote an incredibly insightful analysis
-  that has driven all subsequent development that has resulted in the
-  current package.
-  <li>Dave Harris proposal and spirited defense of it lead to a re-thinking
-  of the overrides for serialization of pointers.  This resulted in a simpler
-  and more effective method of accounting for non-default constructors
-  required by serialization of pointers and STL collections.
-  <li><a href="mailto:admin at thefireflyproject.us">Bryce Lelbach</a> rewrote the XML Serialization grammar using Boost.Spirit 2.x.
-</ul>
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
-
diff --git a/SRC/Boost/libs/serialization/doc/archive_reference.html b/SRC/Boost/libs/serialization/doc/archive_reference.html
deleted file mode 100755
index 6f3666e..0000000
--- a/SRC/Boost/libs/serialization/doc/archive_reference.html
+++ /dev/null
@@ -1,433 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-10 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - More on Archives</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Archive Class Reference</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-  <dt><a href="#trivial">Trivial Archive</a>
-  <dt><a href="#implementation">More Useful Archive Classes</a>
-  <dt><a href="#usage">Usage</a>
-  <dt><a href="#testing">Testing</a>
-  <dt><a href="#polymorphic">Polymorphic Archives</a>
-</dl>
-
-<h3><a name="trivial">Trivial Archive</a></h3>
-The <a href="archives.html"><strong>Archive</strong></a> concept specifies the functions that a
-class must implement to in order to be used to serialize 
-<a href="serialization.html"><strong>Serializable</strong></a> types.
-
-Our discussion will focus on archives used for saving as the hierarchy is exactly analogous
-for archives used for loading data.
-
-<h4>Minimum Requirments</h4>
-
-The simplest class which will model the <a href="archives.html"><strong>Archive</strong></a> concept specifies the functions that a
-class will look like:
-
-<pre><code>
-#include <cstddef> // std::size_t
-//////////////////////////////////////////////////////////////
-// class trivial_oarchive
-class trivial_oarchive {
-public:
-    //////////////////////////////////////////////////////////
-    // public interface used by programs that use the
-    // serialization library
-    typedef boost::mpl::bool_<true> is_saving; 
-    typedef boost::mpl::bool_<false> is_loading;
-    template<class T> register_type(){}
-    template<class T> trivial_oarchive & operator<<(const T & t){
-        return *this;
-    }
-    template<class T> trivial_oarchive & operator&(const T & t){
-        return *this << t;
-    }
-    void save_binary(void *address, std::size_t count){};
-};
-</code></pre>
-The simplest possible input archive class is analogous to the above.
-In the following discussion, only output archives will be addressed.
-Input archives are exactly symmetrical to output archives.
-<p>
-This archive will compile and execute with any types which implement the
-<a href="serialization.html"><strong>Serializable</strong></a> concept.
-For an example see
-<a href="../example/demo_trivial_archive.cpp" target="demo_trivial_archive">
-<code style="white-space: normal">demo_trivial_archive.cpp</code></a>.
-Of course this program won't produce any output as it is.  But it provides
-the starting point for a simple class which can be used to log formated
-output.  See the implementation of a <a href="simple_log.html">simple
-log archive</a> to how this has been done.
-
-<h3><a name="implementation">More Useful Archive Classes</a></h3>
-The above example is fine as far as it goes.  But it doesn't implement
-useful features such as serialization of pointers, class versioning
-and others. This library implements a family of full featuared archive
-classes appropriate for a variety of purposes.  
-
-<p>
-Our archives have been factored in to a tree of classes in order to minimize
-repetition of code.  This is shown in the accompanying 
-<a target="class_diagram" href="class_diagram.html">class diagram</a>.
-
-Any class which fullfills the following requirements will fit into
-this hierarchy and implement all the features we require.  Deriving from
-the base class <a href="../../../boost/archive/detail/common_oarchive.hpp" target="common_oarchive_hpp">
-common_oarchive.hpp</a> provides all features we desire which
-are missing from trivial_oarchive above.
-
-<pre><code>
-<a href="../../../boost/archive/detail/common_oarchive.hpp" target="common_oarchive_hpp">
-#include <cstddef> // std::size_t
-#include <boost/archive/detail/common_oarchive.hpp>
-</a>
-/////////////////////////////////////////////////////////////////////////
-// class complete_oarchive
-class complete_oarchive : 
-    public boost::archive::detail::common_oarchive<complete_oarchive>
-{
-    // permit serialization system privileged access to permit
-    // implementation of inline templates for maximum speed.
-    friend class boost::archive::save_access;
-
-    // member template for saving primitive types.
-    // Specialize for any types/templates that special treatment
-    template<class T>
-    void save(T & t);
-
-public:
-    //////////////////////////////////////////////////////////
-    // public interface used by programs that use the
-    // serialization library
-
-    // archives are expected to support this function
-    void save_binary(void *address, std::size_t count);
-};
-</code></pre>
-
-Given a suitable definitions of <code style="white-space: normal">save</code>
-and <code style="white-space: normal">save_binary</code>, 
-any program using serialization with a conforming C++ compiler should compile 
-and run with this archive class.
-
-<h4>Optional Overrides</h4>
-
-The <code style="white-space: normal">detail::common_oarchive</code> class contains
-a number of functions that are used by various parts of the serialization library
-to help render the archive in a particular form.
-
-<dl>
-
-<dt><h4><code>void save_start()</code></h4></dt>
-<dd>
-<strong>Default</strong>:Does nothing.<br>
-<strong>Purpose</strong>:To inject/retrieve an object name into the archive.  Used
-by XML archive to inject "<name " before data.
-</dd>
-<p>
-
-<dt><h4><code>void save_end()</code></h4></dt>
-<dd>
-<strong>Default</strong>:Does nothing.<br>
-<strong>Purpose</strong>:To inject/retrieve an object name into the archive. Used
-by XML archive to inject "</name>" after data.
-<dd>
-</dd>
-<p>
-<dt><h4><code>void end_preamble()</code></h4></dt>
-<dd>
-<strong>Default</strong>:Does nothing.<br>
-<strong>Purpose</strong>:Called <strong>each time</strong> user data is saved. 
-It's not called when archive bookkeeping data is saved.  This is used by XML archives 
-to determine  when to inject a ">" character at end of XML header. XML output archives 
-keep their own internal flag indicating that data being written is header data. This
-internal flag is reset when an object start tag is written. When 
-<code style="white-space: normal">void end_preamble()</code> is invoked and this internal flag is set
-a ">" character is appended to the output and the internal flag is reset. The default
-implementation for <code style="white-space: normal">void end_preamble()</code> is a no-op there by permitting it
-to be optimised away for archive classes that don't use it.
-</dd>
-<p>
-<dt><h4><code>
-template<class T>
-void save_override(T & t, int);
-</code></h4></dt>
-<dd>
-<strong>Default</strong>:Invokes <code style="white-space: normal">archive::save(Archive & ar, t)</code><br>
-This is the main entry into the serialization library.<br>
-<strong>Purpose</strong>:This can be specialized in cases where the data is to be written 
-to the archive in some special way.  For example, XML archives implement special handling for
-name-value pairs by overriding this function template for name-value pairs.  
-This replaces the default name-value pair handling, which is just to throw away the name,
-with one appropriate for XML which writes out the start of an XML tag with the correct object name.
-<p>
-The second argument must be part of the function signature even this it is not used.
-Its purpose is to be sure that code is portable to compilers which fail to correctly
-implement partial function template ordering.  For more information see
-<a href="implementation.html#functiontemplateordering">this</a>.
-</dd>
-
-</dl>
-
-<h4>Types used by the serialization library</h4>
-The serialization library injects bookkeeping data into the serialization archive.
-This data includes things like object ids, version numbers, class names etc.  Each
-of these objects is included in a wrapper so that the archive class can override the
-implementation of <code style="white-space: normal">void save_override(T & t, int);</code>.
-For example, in the XML archive, the override for this type renders an object_id equal to 23 as
-"object_id=_23".  The following table lists the types defined in the 
-<code style="white-space: normal">boost::archive namespace</code>
-used internally by the serialization library:
-<p>
-<table border>
-<tr><th align=left>type</th><th align=left><code style="white-space: normal">default<br>serialized as</code></th>
-<tr><td><code style="white-space: normal">version_type</code></td><td><code style="white-space: normal">unsigned int</code></td>             
-<tr><td><code style="white-space: normal">object_id_type</code></td><td><code style="white-space: normal">unsigned int</code></td>   
-<tr><td><code style="white-space: normal">object_id_reference_type</code></td><td><code style="white-space: normal">unsigned int</code></td>   
-<tr><td><code style="white-space: normal">class_id_type</code></td><td><code style="white-space: normal">int</code></td>   
-<tr><td><code style="white-space: normal">class_id_optional_type</code></td><td><code style="white-space: normal">nothing</code></td>   
-<tr><td><code style="white-space: normal">class_id_reference_type</code></td><td><code style="white-space: normal">int</code></td>   
-<tr><td><code style="white-space: normal">tracking_type</code></td><td><code style="white-space: normal">bool</code></td>   
-<tr><td><code style="white-space: normal">classname_type</code></td><td><code style="white-space: normal">string</code></td>   
-</table>
-<p>
-All of these are associated with a default serialization defined in terms of primitive types
-so it isn't a requirement to define <code style="white-space: normal">save_override</code> 
-for these types.
-<p>
-These are defined in
-<a href="../../../boost/archive/basic_archive.hpp" target="basic_archive_hpp"><code style="white-space: normal">basic_archive.hpp</code></a>.
-All of these types have been assigned an 
-<a target="detail" href="traits.html#level">implementation level</a> of
-<code style="white-space: normal">primitive</code> and are convertible to types such as int, unsigned int, etc. 
-so that they have default implementations.  This is illustrated by
-<a href="../../../boost/archive/basic_text_iarchive.hpp" target="basic_text_iarchive_hpp"><code style="white-space: normal">basic_text_iarchive.hpp</code></a>.
-which relies upon the default.  However, in some cases, overrides will have to be
-explicitly provided for these types. For an example see
-<a href="../../../boost/archive/basic_xml_iarchive.hpp" target="basic_xml_iarchive_hpp"><code style="white-space: normal">basic_xml_iarchive.hpp</code></a>.
-<p>
-In real practice, we probably won't be quite done. 
-One or more of the following issues may need to be addressed:
-<ul>
-    <li>Many compilers fail to implement correct partial ordering of
-    function templates.  The archives included with this library work around
-    this using argument overloading.  This technique is described in
-    <a target="detail" href="implementation.html#functiontemplateordering">
-    another section of this manual</a>
-    <li>Even if we are using a conforming compiler, we might want our new archive class
-    to be portable to non-conforming compilers.
-    <li>Our archive format might require extra information inserted into it.  For
-    example, XML archives need <name ... >...</name> surrounding
-    all data objects.
-    <li>Addressing any of the above may generate more issues to be addressed.
-    <li>The archives included with library are all templates which use a
-    <code style="white-space: normal">stream</code> or
-    <code style="white-space: normal">streambuf</code>
-    as a template parameter rather than simple classes.
-    Combined with the above, even more issues arise with non-conforming compilers.
-</ul>
-The attached <a target="class_diagram" href="class_diagram.html">class diagram</a>
-shows the relationships between classes used to implement the serialization library.
-<p>
-A close examination of the archives included with the library illustrate
-what it takes to make a portable archive that covers all data types.
-<h3><a name="usage">Usage</a></h3>
-The newly created archive will usually be stored in its own header module.  All
-that is necessary is to include the header and construct an instance of the new archive.
-EXCEPT for one special case.
-<ul>
-    <li>Instances of a derived class are serialized through a base class pointer.
-    <li>Such instances are not "registered" neither implicitly nor explicitly. That
-    is, the macro <code style="white-space: normal">BOOT_CLASS_EXPORT</code> is used 
-    to instantiate the serialization code for the included archives.
-</ul>
-
-To make this work, the following should be included after the archive
-class definition.
-<pre><code>
-#define BOOST_SERIALIZATION_REGISTER_ARCHIVE(Archive)
-</code></pre>
-Failure to do this will not inhibit the program from compiling, linking
-and executing properly - except in one case.  If an instance of a derived
-class is serialized through a pointer to its base class, the program
-will throw an
-<a href="exceptions.html#unregistered_class"><code style="white-space: normal">unregistered_class</code></a>
-exception.
-<p>
-
-<h4><a name="testing">Testing</h4>
-Exhaustive testing of the library requires testing the different aspects of object
-serialization with each archive.  There are 46 different tests that can run with any archive.  
-There are 5 "standard archives" included with the system. 
-(3 in systems don't support wide charactor i/o). 
-<p>
-In addition, there are 28 other tests which aren't related to any particular archive class.
-<p>
-The default <code style="white-space: normal">bjam</code> testing setup will run all
-the above described tests.  This will result in as many as 46 archive tests * 5 
-standard archives + 28 general tests = 258 tests. Note that a complete test of the
-library would include DLL vs static library, release vs debug so the actual total 
-would be closer to 1032 tests.
-<p>
-For each archive there is a header file in the test directory similar to the one below.
-The name of this archive is passed to the test program by setting the
-environmental variable <code style="white-space: normal">BOOST_ARCHIVE_TEST</code>
-to the name of the header.  Here is the header file 
-<code style="white-space: normal">test_archive.hpp</code> . Test header files for
-other archives are similar.
-<pre><code>
-// text_archive test header
-// include output archive header
-#include <boost/archive/text_oarchive.hpp>
-// set name of test output archive
-typedef boost::archive::text_oarchive test_oarchive;
-// set name of test output stream
-typedef std::ofstream test_ostream;
-
-// repeat the above for input archive
-#include <boost/archive/text_iarchive.hpp>
-typedef boost::archive::text_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-
-// define open mode for streams
-//   binary archives should use std::ios_base::binary
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
-</code></pre>
-
-To test a new archive, for example, portable binary archives, with the gcc compiler, 
-make a header file <code style="white-space: normal">portable_binary_archive.hpp</code>
-and invoke <code style="white-space: normal">bjam</code> with
-<pre><code> 
--sBOOST_ARCHIVE_LIST=portable_binary_archive.hpp
-</code></pre>
-This process in encapsulated in the shell or cmd script 
-<code style="white-space: normal">library_test</code> whose command line is
-<pre><code>
-library_test --toolset=gcc -sBOOST_ARCHIVE_LIST=portable_binary_archive.hpp
-</code></pre>
-<h3><a name="polymorphic">Polymorphic Archives</a></h3>
-
-<h4>Motivation</h4>
-
-All archives described so far are implemented as templates.  Code to save and load
-data to archives is regenerated for each combination of archive class and data type.
-Under these cirumstances, a good optimizing compiler that can expand 
-<code>inline</code> functions to enough depth will generate fast code.  
-However:
-<ul>
-<li>Much inline code may be replicated.
-<li>If there are several archive classes, code will be regenerated for each archive class.
-<li>If serialization code is placed in a library, that library must be rebuilt 
-each time a new archive class is created.
-<li>If serialization code is placed in a DLL,
-  <ul>
-  <li>The DLL will contain versions of code for each known archive type.  
-    This would result in loading of DLLs which contain
-    much code that is not used - basically defeating one of the main motivations
-    for choosing to use a DLL in the first place.
-  <li>If a new archive is created and an application shipped, all DLLs have to be
-    rebuilt, and reshipped along with the application which uses the new archive.  Thus
-    the other main motivation for using a DLL is defeated.
-  </ul>
-</ul>
-
-<h4>Implementation</h4>
-The solution is the the pair <code>polymorphic_oarchive</code>
-and <code>polymorphic_iarchive</code>.  They present a common interface of virtual
-functions - no templates - that is equivalent to the standard templated one.
-
-This is shown in the accompanying 
-<a target="class_diagram" href="class_diagram.html">class diagram</a>
-<p>
-The accompanying demo program in files
-
-<a target=demo_polymorphic_cp href="../example/demo_polymorphic.cpp"><code style="white-space: normal">demo_polymorphic.cpp</code></a>, 
-<a target=demo_polymorphic_A_hpp href="../example/demo_polymorphic_A.hpp"><code style="white-space: normal">demo_polymorphic_A.hpp</code></a>, and 
-<a target=demo_polymorphic_A_cpp href="../example/demo_polymorphic_A.cpp"><code style="white-space: normal">demo_polymorphic_A</code></a>
-show how polymorphic archives are to be used. Note the following:
-<ul>
-  <li><a target=demo_polymorphic_A_hpp href="../example/demo_polymorphic_A.hpp"><code style="white-space: normal">demo_polymorphic_A.hpp</code></a> and
-<a target=demo_polymorphic_A_cpp href="../example/demo_polymorphic_A.cpp"><code style="white-space: normal">demo_polymorphic_A.cpp</code></a>
-contain no templates and no reference to any specific archive implementation.  That is, they will
-only have to be compiled once for all archive implementations.  The even applies to archives classes
-created in the future.
-  <li>The main program <a target=demo_polymorphic_cp href="../example/demo_polymorphic.cpp"><code style="white-space: normal">demo_polymorphic.cpp</code></a>
-specifies a specific archive implementation.  
-</ul>
-As can be seen in the
-<a target="class_diagram" href="class_diagram.html">class diagram</a>
-and the header files, this implementation is just a composition of the polymorphic
-interface and the standard template driven implementation.  This composition is
-accomplished by the templates
-<a target=polymorphic_iarchive_route_hpp href="../../../boost/archive/detail/polymorphic_iarchive_route.hpp"><code style="white-space: normal">polymorphic_iarchive_route.hpp</code></a>
-and
-<a target=polymorphic_oarchive_route_hpp href="../../../boost/archive/detail/polymorphic_oarchive_route.hpp"><code style="white-space: normal">polymorphic_oarchive_route.hpp</code></a>
-which redirect calls to the polymorphic archives to the specific archive.
-As these contain no code specific to the particular implementation archive, they can be used to create
-a polymorphic archive implementation from any functioning templated archive implementation.
-<p>
-As a convenience, small header files have been included which contain 
-<code style="white-space: normal">typedef</code> for polymorphic implementation for each corresponding
-templated one.  For example, the headers
-<a target=polymorphic_text_iarchive_hpp href="../../../boost/archive/polymorphic_text_iarchive.hpp"><code style="white-space: normal">polymorphic_text_iarchive.hpp</code></a>
-and
-<a target=polymorphic_text_oarchive_hpp href="../../../boost/archive/polymorphic_text_oarchive.hpp"><code style="white-space: normal">polymorphic_text_oarchive.hpp</code></a>.
-contain the <code style="white-space: normal">typedef</code> for the polymorphic implementation
-of the standard text archive classes  
-<a target=text_iarchive_hpp href="../../../boost/archive/text_iarchive.hpp"><code style="white-space: normal">text_iarchive.hpp</code></a>
-and
-<a target=text_oarchive_hpp href="../../../boost/archive/text_oarchive.hpp"><code style="white-space: normal">text_oarchive.hpp</code></a>
-respectively. All included polymorphic archives use the same naming scheme.
-
-<h4>Usage</h4>
-Polymorphic archives address the issues raised above regarding templated implementation.
-That is, there is no replicated code, and no recompilation for new archives.  This will
-result in smaller executables for program which use more than one type of archive, and 
-smaller DLLS. There is a penalty for calling archive functions through a virtual function 
-dispatch table and there is no possibility for a compiler to <code style="white-space: normal">inline</code> 
-archive functions.  This will result in a detectable degradation in performance for 
-saving and loading archives.
-<p>
-Note this the concept and of polymophic archives is fundamentally incompatible with the
-serialization of new types are are marked "primitive" by the user with:
-<pre><code> 
-BOOST_CLASS_IMPLEMENTATION(my_primitive_type, boost::serialization::primitive_type)
-</code></pre>
-
-Code to implement serialization for these types is instantiated "on the fly" in the user's program.
-But this conflicts with the whole purpose of the polymorphic archive. An attempt to
-serialize such a primitive type will result in a compilation error since the common polymorhic
-interface is static and cannot instantiate code for a new type.
-
-<p>
-The main utility of polymorphic archives will be to permit the buiding of class DLLs that will
-include serialization code for all present and future archives with no redundant code.
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/archives.html b/SRC/Boost/libs/serialization/doc/archives.html
deleted file mode 100755
index 4303ff1..0000000
--- a/SRC/Boost/libs/serialization/doc/archives.html
+++ /dev/null
@@ -1,432 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Archives</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Archive Concepts</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-  <dt><a href="#saving_interface">Saving Archive Concept</a>
-  <dt><a href="#loading_interface">Loading Archive Concept</a>
-  <dt><a href="#archive_models">Models</a>
-  <dt><a href="#exceptions">Exceptions</a>
-  <dt><a href="#charactersets">Character Sets</a>
-</dl>
-<h4>Notation</h4>
-In the following descriptions
-<ul>
-  <li><code>SA</code> is an type modeling the <a href="#saving_interface">Saving Archive Concept</a>
-  <li><code>sa</code> is an instance of type SA.
-  <li><code>LA</code> is an type modeling the <a href="#loading_interface">Loading Archive Concept</a>
-  <li><code>la</code> is an instance of type LA.
-  <li><code>T</code> is an <a href="serialization.html"><strong>Serializable</strong></a> Type
-  <li><code>x</code> is an instance of type T Type</li>.
-  <li><code>u,v</code> is a pointer to a an instance of type T
-  <li><code>count</code> is an instance of a type that can be converted to <code>std::size_t</code>.
-</ul>
-<h4><a name="saving_interface">Saving Archive Concept</a></h4>
-<h4>Associated Types</h4>
-Intuitively, a type modeling this concept will generate a sequence of bytes
-corresponding to an arbitrary set of C++ data structures.  Each type modeling the
-Saving Archive concept (SA) may be associated with another type modeling the
-<a href="#loading_interface">Loading Archive Concept</a>(LA).  
-This associated type will perform the inverse operation.  
-That is, given a sequence of bytes generated by SA, it will generate a set of 
-C++ data structures that is equivalent to the original.  
-The notion of equivalence is defined by the implementations of the pair of archives and the
-way the data are rendered <a href="serialization.html">serializable</a>.
-<p>
-<h4>Valid Expressions</h4>
-<dl>
-  <dt><h4><code>
-    SA::is_saving
-  </code></h4></dt>
-  <dd>
-    Returns the Boost MPL Integral Constant type boost::mpl::bool_<true>
-  </dd>   
-  <dt><h4><code>
-    SA::is_loading
-  </code></h4></dt>
-  <dd>
-    Returns the Boost MPL Integral Constant type boost::mpl::bool_<false>
-  </dd>   
-  <dt><h4><code>
-    sa << x
-    <br>
-    sa & x
-  </code></h4></dt>
-  <dd>
-    These expressions must perform exactly the same function.  They append the
-    value of <code style="white-space: normal">x</code> along with other information to <code>sa</code>.
-    This other information is defined by the implementation of the archive.
-    Typically this information is that which is required by a corresponding
-    Loading Archive type to properly restore the value of <code>x</code>.
-    <p>
-    Returns a reference to <code>sa</code>. 
-  </dd>
-  <dt><h4><code>
-    sa.save_binary(u, count)
-  </code></h4></dt>
-  <dd>
-    Appends to the archive <code style="white-space: normal">size_t(count)</code> bytes found at 
-    <code style="white-space: normal">u</code>.
-  </dd>
-  <dt><h4><code>
-    sa.register_type<T>()
-    <br>
-    sa.register_type(u)
-  </code></h4></dt>
-  <dd>
-    Appends information about class T to the archive.  This information is used to
-    construct the correct class when a derived pointer is loaded by a corresponding
-    Loading Archive type.  
-    Invocation of this member function is referred to as "class registration".  
-    This is explained in detail in
-    <a href="special.html#derivedpointers">Special Considerations - Derived Pointers</a>.
-    The second syntax is included to permit this function to be called on non-conforming
-    compilers when <code style="white-space: normal">sa</code> is a template argument.
-    For more information, see <a target="detail" href="implementation.html#tempatesyntax">Template Invocation syntax</a>
-  </dd>
-  <dt><h4><code>
-    sa.get_library_version()
-  </code></h4></dt>
-  <dd>
-    Returns an unsigned integer containing the current version number of the serialization
-    library. This number will be incremented each time the library is altered in such a 
-    way that serialization could be altered for some type.  For example, suppose the type
-    used for a count of collection members is changed. The code that loads collections 
-    might be conditioned on the library version to make sure that libraries created by 
-    previous versions of the library can still be read.
-  </dd>
-</dl>
-
-<h4><a name="loading_interface">Loading Archive Concept</a></h4>
-<h4>Associated Types</h4>
-Each model of this concept presumes the
-existence of a corresponding type modeling the 
-<a href="#saving_interface">Saving Archive Concept</a>.
-The purpose of an instance of this concept is to convert a sequence of bytes
-generated by this corresponding type to a set of C++ data structures 
-equivalent to the original.  
-<h4>Valid Expressions</h4>
-<dl>
-  <dt><h4><code>
-    LA::is_saving
-  </code></h4></dt>
-  <dd>
-    Returns the Boost MPL Integral Constant type boost::mpl::bool_<false>
-  </dd>   
-  <dt><h4><code>
-    LA::is_loading
-  </code></h4></dt>
-  <dd>
-    Returns the Boost MPL Integral Constant type boost::mpl::bool_<true>
-  </dd>   
-  <dt><h4><code>
-    la >> x
-    <br>
-    la & x
-  </code></h4></dt>
-  <dd>
-    These expressions must perform exactly the same function.  
-    Sets <code>x</code> to a value retrieved from <code>la</code>.
-    <p>
-    Returns a reference to <code>la</code>. 
-  </dd>
-  <dt><h4><code>
-    la.load_binary(u, count)
-  </code></h4></dt>
-  <dd>
-    Retrieves from <code style="white-space: normal">la</code> <code style="white-space: normal">size_t(count)</code> bytes and stores
-    them in memory starting at <code style="white-space: normal">u</code>.
-  </dd>
-  <dt>
-  <dt><h4><code>
-    la.register_type<T>()
-    <br>
-    la.register_type(u)
-  </code></h4></dt>
-  <dd>
-    Retrieves information about class T from the archive.  This information is used to
-    construct the correct class when loading a pointer to a derived class not
-    otherwise referred to in the program by name.
-    Invocation of this member function is referred to as "class registration".  
-    This is explained in detail in
-    <a href="special.html#derivedpointers">Special Considerations - Derived Pointers</a>.
-    The second syntax is included to permit this function to be called on non-conforming
-    compilers when <code style="white-space: normal">la</code> is a template argument.
-    For more information, see <a target="detail" href="implementation.html#tempatesyntax">Template Invocation syntax</a>
-  </dd>
-  <dt><h4><code>
-    la.get_library_version()
-  </code></h4></dt>
-  <dd>
-    Returns an unsigned integer containing the version number of the serialization
-    library that created the archive. This number will be incremented each time the 
-    library is altered in such a way that serialization could be altered for some type.  
-    For example, suppose the type used for a count of collection members is changed.  
-    The code that loads collections might be conditioned on the library version to make 
-    sure that libraries created by previous versions of the library can still be read.
-  </dd>
-  <dt><h4><code>
-    la.reset_object_address(v, u)
-  </code></h4></dt>
-  <dd>
-    Communicates to the archive that the object originally at address u has been
-    moved to address v.
-    <p>
-    When an object is loaded to a temporary variable and later moved to another location,
-    this function must be called in order communicate this fact.  This permits the
-    archive to properly implement object tracking.  Object tracking is required in order
-    to correctly implement serialization of pointers to instances of derived classes.
-  </dd>  
-  <dt><h4><code>
-    la.delete_created_pointers()
-  </code></h4></dt>
-  <dd>
-    Deletes all objects created by the loading of pointers.  This can be used to
-    avoid memory leaks that might otherwise occur if pointers are being loaded
-    and the archive load encounters an exception.
-  </dd>
-</dl>
-
-There are archives based on text, binary and XML file
-formats but all have the above interface.  Given that all archives present
-the same public interface, specifcation of serialization is exactly the same
-for all archives.  Archive classes have other members not mentioned here.
-However they are related to the internal functioning of the library and
-are not meant to be called by users of an archive.  Implementation of new
-archives is discussed in 
-<a href="archive_reference.html#implementation">New Archives - Implementation</a>.
-
-<p>
-The existence of the <code style="white-space: normal"><<</code> 
-and <code style="white-space: normal">>></code> suggests
-a relationship between archives and C++ i/o streams. <strong>Archives are not 
-C++ i/o streams</strong>. All the archives included with this system take a stream
-as an argument in the constructor and that stream is used for output or input.
-However, this is not a requirement of the serialization functions or the
-archive interface. It just turns out that the archives written so far have
-found it useful to base their implementation on streams.
-
-<h3><a name="archive_models">Archive Models</a></h3>
-This library includes various implementations of the Archive concept.
-
-An archive is defined by two complementary classes.  One is for saving data while
-the other is for loading it.
-
-This library includes a number of archive implementations that are "ready to go" for the
-most common requirements.  These classes implement the archive concept for differing data formats.
-They can be used "as is" or as a basis for developing one's own particular type of archive. 
-An archive is defined by two complementary classes. One is for saving data while the other is for loading it.  
-
-To invoke serialization using one of
-these archives, one or more of the following header files must be
-included in the code module containing the serialization code.
-<pre><code>
-// a portable text archive</a>
-<a href="../../../boost/archive/text_oarchive.hpp" target="text_oarchive_cpp">boost::archive::text_oarchive</a> // saving
-<a href="../../../boost/archive/text_iarchive.hpp" target="text_iarchive_cpp">boost::archive::text_iarchive</a> // loading
-
-// a portable text archive using a wide character stream</a>
-<a href="../../../boost/archive/text_woarchive.hpp">boost::archive::text_woarchive</a> // saving
-<a href="../../../boost/archive/text_wiarchive.hpp">boost::archive::text_wiarchive</a> // loading
-
-// a portable XML archive</a>
-<a href="../../../boost/archive/xml_oarchive.hpp" target="xml_oarchive_cpp">boost::archive::xml_oarchive</a> // saving
-<a href="../../../boost/archive/xml_iarchive.hpp" target="xml_iarchive_cpp">boost::archive::xml_iarchive</a> // loading
-
-// a portable XML archive which uses wide characters - use for utf-8 output</a>
-<a href="../../../boost/archive/xml_woarchive.hpp" target="xml_woarchive_cpp">boost::archive::xml_woarchive</a> // saving
-<a href="../../../boost/archive/xml_wiarchive.hpp" target="xml_wiarchive_cpp">boost::archive::xml_wiarchive</a> // loading
-
-// a non-portable native binary archive</a>
-<a href="../../../boost/archive/binary_oarchive.hpp" target="binary_oarchive_cpp">boost::archive::binary_oarchive</a> // saving
-<a href="../../../boost/archive/binary_iarchive.hpp" target="binary_iarchive_cpp">boost::archive::binary_iarchive</a> // loading
-
-<!--
-// a non-portable native binary archive which use wide character streams
-<a href="../../../boost/archive/binary_woarchive.hpp">boost::archive::binary_woarchive</a> // saving
-<a href="../../../boost/archive/binary_wiarchive.hpp">boost::archive::binary_wiarchive</a> // loading
--->
-
-</code></pre>
-
-All of these archives implement the same inteface. Hence, it should suffice to describe only one
-of them in detail.  For this purpose we will use the text archive.
-
-
-<pre><code>
-namespace boost {
-namespace archive {
-
-enum archive_flags {
-    no_header = 1,          // suppress archive header info
-    no_codecvt = 2,         // suppress alteration of codecvt facet
-    no_xml_tag_checking = 4 // suppress checking of xml tags - igored on saving
-};
-
-} // archive
-} // boost
-</code></pre>
-
-<pre><code>
-namespace boost {
-namespace archive {
-
-class text_oarchive : ...
-{
-    ...
-public:
-    ... // implementation of the <strong>Saving Archive</strong> concept
-    text_oarchive(std::ostream & os, unsigned int flags = 0);
-    ~text_oarchive();
-};
-
-} // archive
-} // boost
-</code></pre>
-
-<dl>
-
-<dt><h4><code>
-text_oarchive(std::ostream & os, unsigned int flags = 0);
-</code></h4></dt>
-<dd>
-Constructs an archive given an open <code style="white-space: normal">stream</code> as 
-an argument and optional flags. For most applications there will be no need to use flags. 
-Flags are defined by <code style="white-space: normal">enum archive_flags</code> enumerator. 
-Multiple flags can be combined with the <code style="white-space: normal">|</code> operator. 
-
-By default, archives prepend 
-output with initial data which helps identify them as archives produced by this system.  
-This permits a more graceful handling of the case where an attempt is made to load an archive
-from an invalid file format. In addition to this, each type of archive might have 
-its own information.  For example, native binary archives include information about 
-sizes of native types and endianess to gracefully handle the case where it has been
-erroneously assumed that such an archive is portable across platforms.  In some cases, 
-where this extra overhead might be considered objectionable, it can be suppressed with the
-<code style="white-space: normal">no_header</code> flag.
-<p>
-In some cases, an archive may alter (and later restore)
-the codecvt facet of the stream locale.  To suppress this action,
-include the <code style="white-space: normal">no_codecvt</code> flag.
-<p>
-XML archives contain nested tags signifying the start and end of data fields.
-These tags are normally checked for agreement with the object name when
-data is loaded.  If a mismatch occurs an exception is thrown.  It's possible
-that this may not be desired behavior.  To suppress this checking of XML
-tags, use <code style="white-space: normal">no_xml_tag_checking</code> flag.
-</dd>
-
-<dt><h4><code>
-~text_oarchive();
-</code></h4></dt>
-<dd>
-Destructor for an archive.  This should be called before the stream is
-closed.  It restores any altered stream facets to their state before the
-archive was opened.
-</dd>
-
-</dl>
-
-<pre><code>
-namespace boost {
-namespace archive {
-
-class text_iarchive : ...
-{
-    ...
-public:
-    ... // implementation of the <strong>Loading Archive</strong> concept
-    text_iarchive(std::istream & is, unsigned int flags = 0);
-    ~text_iarchive();
-};
-
-} //namespace archive
-) //namespace boost
-
-</code></pre>
-
-<dl>
-
-<dt><h4><code>
-text_iarchive(std::istream & is, unsigned int flags = 0);
-</code></h4></dt>
-<dd>
-Contructs an archive given an open <code style="white-space: normal">stream</code> as 
-an argument and optional flags. If flags are used, they should be the same
-as those used when the archive was created. Function and usage of flags is described
-above.
-</dd>
-
-<dt><h4><code>
-~text_iarchive();
-</code></h4></dt>
-<dd>
-Destructor for an archive.  This should be called before the stream is
-closed.  It restores any altered stream facets to thier state before the
-the archive was opened.
-</dd>
-</dl>
-<p>
-The <code style="white-space: normal">binary_oarchive</code> and
-<code style="white-space: normal">binary_iarchive</code> classes are
-implemented in terms of the more basic 
-<code style="white-space: normal">std::streambuf</code>.  So, in addition
-to the common class interface described above, they include the following
-constructors:
-<dl>
-<dt><h4><code>
-binary_oarchive(std::streambuf & bsb, unsigned int flags = 0);
-</code></h4></dt>
-and
-<dt><h4><code>
-binary_iarchive(std::streambuf & bsb, unsigned int flags = 0);
-</code></h4></dt>
-</dl>
-
-<h3><a name="exceptions">Exceptions</h3>
-All of the archive classes included may throw exceptions.  The list of exceptions that might
-be thrown can be found in section <a target="detail" href="exceptions.html">Archive Exceptions</a>
-of this documentation. 
-
-<h3><a name="charactersets">Character Sets</h3>
-This library includes two archive classes for XML. The wide character
-version (<code style="white-space: normal">xml_w?archive</code>) renders its output as UTF-8 which can
-handle any wide character without loss of information. 
-<code style="white-space: normal">std::string</code> data is converted from multi-byte format to wide
-character format using the current <code style="white-space: normal">
-locale</code>.  Hence this version should give a fair rendering of all
-C++ data for all cases.  This could result in some unexpected behavior.
-Suppose an <code style="white-space: normal">std::string</code> 
-is created with the <code style="white-space: normal">locale</code> character
-set to hebrew characters.  On output this is converted to wide characters.
-On input however, there could be a problem if the <code style="white-space: normal">locale</code> is
-not set the same as when the archive is created.
-<p>
-The normal character version (<code style="white-space: normal">xml_?archive</code>) renders 
-<code style="white-space: normal">std::string</code> output without any conversion.  Though this may work 
-fine for serialization,  it may create difficulties if the XML archive is used
-for some other purpose.
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/bibliography.html b/SRC/Boost/libs/serialization/doc/bibliography.html
deleted file mode 100755
index aaefdaa..0000000
--- a/SRC/Boost/libs/serialization/doc/bibliography.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Bibliography</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
-    "header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Bibliography</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<ol><a name="1"></a>
-    <li>David Sugar and Daniel Silverstone, "CommonC++ Libraries", <a href=
-    "http://www.gnu.org/software/commoncpp/">http://www.gnu.org/software/commoncpp/</a>
-    <a name="2"></a>
-    <li>Nicola Santi, "Eternity", <a href=
-    "http://www.sourceforge.net/projects/eternity-it/">www.sourceforge.net/projects/eternity-it/</a>
-    <a name="3"></a>
-    <li>Allen Holub, "Roll Your Own Persistence", <u>Microsoft
-    Systems Journal</u> vol 11, no 6 Jun 1996
-    <a name="4"></a>
-    <li>Tasos Kontogiorgos & Michael Kim, "A C++
-    Template-Based Application Architecture", <u>C++ Report</u>
-    <a name="5"></a>
-    <li>Scott Meyers, <u>Effective C++</u>, Addison-Wesley, 1992
-    <a name="6"></a>
-    <li>Bjarne Stroustrup, <u>The C++ Programming Langage</u>, Addison-Wesley, 1997
-    <a name="7"></a>
-    <li>Alexandrescu, Andrei, <u>Modern C++ Design</u>, Addison-Wesley, 2001
-    <a name="8"></a>
-    <li>Jm Hyslop, and Herb Sutter, "Factory Redux, Part2",
-    <u>C/C++ User's Journal</u>, vol 21, No. 8, August 2003
-    <a name="9"></a>
-    <li>David Vandevoorde and Nicolai M. Josuttis,
-    <u>C++ Templates - The Complete Guide</u>, Addison-Wesley, 2003
-    <a name="10"></a>
-    <li>Herb Sutter, "Pimples--Beauty Marks You Can Depend On",
-    <u>C++ Report</u>, from <u>More C++ Gems</u>, Cambridge University Press, 2000
-    <a name="11"></a>
-    <li>James Coplien, "Curiously Recurring Template Patterns",
-    <u>C++ Report</u>, from <u>C++ Gems</u>, Cambridge University Press, 1998
-    <a name="12"></a>
-    <li>Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, 
-    <u>Design Patterns</u>, Addison-Wesley Publishing Company, 1995
-    <a name="13"></a>
-    <li>Stephan Beal, "s11n serialization library", <a href="http://www.s11n.net">www.s11n.net</a>
-    <a name="14"></a>
-    <li>Vandervoorde and Josuttis, <b>C++ Templates - A Complete Guide</b>, Addison-Wesley, 2003</a>
-</ol>
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
-
diff --git a/SRC/Boost/libs/serialization/doc/class_diagram.html b/SRC/Boost/libs/serialization/doc/class_diagram.html
deleted file mode 100755
index 771f985..0000000
--- a/SRC/Boost/libs/serialization/doc/class_diagram.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Archive Class Diagram</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Text Archive Class Diagram</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-
-<pre><code>
-
-
-basic_oarchive <a href="../../../boost/archive/detail/basic_oarchive.hpp">-></a>
-      |
-      |
-      |      interface_oarchive<text_oarchive> <a href="../../../boost/archive/detail/interface_oarchive.hpp">-></a>
-      |                     /
-      |                   /
-      |        _________/
-      |      /
-      |    /
-      |  /
-common_oarchive<text_oarchive> <a href="../../../boost/archive/detail/common_oarchive.hpp">-></a>
-      |
-      |
-<font color="blue">basic_text_oarchive<text_oarchive></font> <a href="../../../boost/archive/basic_text_oarchive.hpp">-></a>
-      |
-      |
-      |     <font color="blue">basic_text_oprimitive<basic_ostream></font> <a href="../../../boost/archive/basic_text_oprimitive.hpp">-></a>
-      |                    /
-      |                  /
-      |       _________/                  interface_oarchive<polymorphic_oarchive> <a href="../../../boost/archive/detail/interface_oarchive.hpp">-></a>
-      |     /                                                |
-      |   /                                                  |
-      | /                                                    |
-<font color="blue">text_oarchive_impl<text_oarchive></font> <a href="../../../boost/archive/text_oarchive.hpp">-></a>              polymorphic_oarchive_impl <a href="../../../boost/archive/polymorphic_oarchive.hpp">-></a>
-      | \                                                    |
-      |   \                                                  |
-      |     \_____________________________________    <font color="red">polymorphic_oarchive</font> <a href="../../../boost/archive/polymorphic_oarchive.hpp">-></a>
-      |                                           \         /
-      |                                             \     /
-      |                                               \ /  
-<font color="red">text_oarchive</font> <a href="../../../boost/archive/text_oarchive.hpp">-></a>                 polymorphic_oarchive_route<text_oarchive_impl<text_oarchive> > <a href="../../../boost/archive/detail/polymorphic_oarchive_route.hpp">-></a>
-                                                       |
-                                                       |
-                                                       |
-                                             <font color="red">polymorphic_text_oarchive</font> <a href="../../../boost/archive/polymorphic_text_oarchive.hpp">-></a>
-
-
-</code></pre>
-This diagram shows the relationship between the various classes that implement saving (output
-serialization) for text archives.  The hierachy and organization is similar for loading and for
-other types of archives as well.  In the diagram, classes written in <font color="blue">blue</font> 
-implement saving for a given archive type. (in this case its text archives).
-Users include classes in <font color="red">red</font> to save their data from a partcular
-type of archive.  Other classes whose names are in black implement the library and should
-never change.  They are in <code>namespace boost::archive::detail</code>
-<dl>
-  <dt><code>
-  <a href="../../../boost/archive/detail/basic_oarchive.hpp">basic_oarchive</a>
-  </code></dt>
-  <dd>
-  Implements the core library functions for class export, versioning, and object tracking.  It is compiled
-  into the library as it has no template parameters.
-  </dd>
-  <p><dt><code>
-  <a href="../../../boost/archive/detail/interface_oarchive.hpp">interface_oarchive<text_oarchive></a>
-  </code></dt>
-  <dd>
-  A class that declares the standard archive interface.  This has been factored out so that it
-  can be used as a base class for <code style="white-space: normal">polymorphic_oarchive</code>
-  as well as for archive implementations.
-  
-  <p><dt><code>
-  <a href="../../../boost/archive/detail/common_oarchive.hpp">common_oarchive<text_oarchive></a>
-  </code></dt>
-  <dd>
-  The function of this class is to make the connection between the virtual function
-  interface used by <code>basic_oarchive</code> and the template interface used by archive
-  class implementations.
-  
-  <p><dt><code>
-  <a href="../../../boost/archive/basic_text_oarchive.hpp">basic_text_oarchive<text_oarchive></a>
-  </code></dt>
-  <dd>
-  Implements the basic functionality for simple text archives.  The primitive save functions have been 
-  factored out so it can be used in other text based archives like XML archives.
-  
-  <p><dt><code>
-  <a href="../../../boost/archive/basic_text_oprimitive.hpp">basic_text_oprimitive<basic_ostream></a>
-  </code></dt>
-  <dd>
-  Implements the save oversaves for all primitive types.  This is a template with a parameter
-  which describes the stream.
-  
-  <p><dt><code>
-  <a href="../../../boost/archive/text_oarchive.hpp">text_oarchive_impl<text_oarchive></a>                 
-  </code></dt>
-  <dd>
-  Inherits from the above two classes to implement text archives.
-  </dd>
-
-  <p><dt><code>
-  <a href="../../../boost/archive/text_oarchive.hpp">text_oarchive</a>
-  </code></dt>
-  <dd>
-  This is just a short hand for <code style="white-space: normal">text_oarchive_impl<text_oarchive></code> .
-  We can't use <code style="white-space: normal">typedef</code> because  a 
-  <code style="white-space: normal">typedef</code> can't refer to it self in its definition.  
-  This is the class name that is used to serialize to a text archive.
-  </dd>
-
-  <p><dt><code>
-  <a href="../../../boost/archive/detail/interface_oarchive.hpp">interface_oarchive<polymorphic_oarchive></a>
-  </code></dt>
-  <dd>
-  Same template as above.  However, this time the Archive parameter refers to the polymorphic archive
-  with a virtual function interface rather than that the template interface that
-  <code style="white-space: normal">common_oarchive</code> uses.
-  
-  <p><dt><code>
-  <a href="../../../boost/archive/polymorphic_oarchive.hpp">polymorphic_oarchive</a>
-  </code></dt>
-  <dd>
-  A class with a list of virtual <code style="white-space: normal">save(T &t)</code>
-  for all primitive types T. This is the class that is used to do pre-compile serialization of classes
-  for all archives present and future.
-  
-  <p><dt><code>
-  <a href="../../../boost/archive/detail/polymorphic_oarchive_route.hpp">polymorphic_oarchive_route<text_oarchive_impl<text_oarchive> ></a>
-  </code></dt>
-  <dd><p>
-  This class implements the <code style="white-space: normal">polymorphic_oarchive</code> in terms of a specific 
-  concrete class.  Virtual function calls are routed to the implementing class.  In this example, 
-  that implementing class would be text_oarchive_impl.
-  
-  <p><dt><code>
-  <a href="../../../boost/archive/polymorphic_text_oarchive.hpp">polymorphic_text_oarchive</a>
-  </code></dt>
-  <dd>
-  this is just a typedef so we can write polymorphic_text_archive rather than
-  <code style="white-space: normal">polymorphic_oarchive_route<text_oarchive_impl&'t;text_oarchive> ></code>
-  
-</dl>
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/serialization/doc/codecvt.html b/SRC/Boost/libs/serialization/doc/codecvt.html
deleted file mode 100755
index 321d195..0000000
--- a/SRC/Boost/libs/serialization/doc/codecvt.html
+++ /dev/null
@@ -1,171 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-  == Copyright (c) 2001 Ronald Garcia
-  ==
-  == Permission to use, copy, modify, distribute and sell this software
-  == and its documentation for any purpose is hereby granted without fee,
-  == provided that the above copyright notice appears in all copies and
-  == that both that copyright notice and this permission notice appear
-  == in supporting documentation.  Ronald Garcia makes no
-  == representations about the suitability of this software for any
-  == purpose.  It is provided "as is" without express or implied warranty.
-  -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<head>
-<title>UTF-8 Codecvt Facet</title>
-
-</head>
-
-<body bgcolor="#ffffff" link="#0000ee" text="#000000" 
-      vlink="#551a8b" alink="#ff0000">
-<img src="../../../boost.png" alt="C++ Boost" 
-width="277" height="86"> <br clear="all">
-
-
-<a name="sec:utf8-codecvt-facet-class"></a>
-
-
-<h1><code>utf8_codecvt_facet</code></h1>
-
-
-<pre>
-template<
-    typename InternType = wchar_t, 
-    typename ExternType = char
-> utf8_codecvt_facet
-</pre>
-
-
-<h2>Rationale</h2>
-
-
-    UTF-8 is a method of encoding Unicode text in environments where 
-    where data is stored as 8-bit characters and some ascii characters 
-    are considered special (i.e. Unix filesystem filenames) and tend
-    to appear more commonly than other characters.  While
-    UTF-8 is convenient and efficient for storing data on filesystems, 
-    it was not meant to be manipulated in memory by
-    applications. While some applications (such as Unix's 'cat') can
-    simply ignore the encoding of data, others should convert 
-    from UTF-8 to UCS-4 (the more canonical representation of Unicode) 
-    on reading from file, and reversing the process on writing out to
-    file.
-    
-    <p>The C++ Standard IOStreams provides the <tt>std::codecvt</tt>
-    facet to handle specifically these cases.  On reading from or
-    writing to a file, the <tt>std::basic_filebuf</tt> can call out to
-    the codecvt facet to convert data representations from external
-    format (ie. UTF-8) to internal format (ie. UCS-4) and
-    vice-versa. <tt>utf8_codecvt_facet</tt> is a specialization of
-    <tt>std::codecvt</tt> specifically designed to handle the case
-    of translating between UTF-8 and UCS-4.
-
-
-<h2>Template Parameters</h2>
-
-<table border summary="template parameters">
-<tr>
-<th>Parameter</th><th>Description</th><th>Default</th>
-</tr>
-
-<tr>
-<td><tt>InternType</tt></td>
-<td>The internal type used to represent UCS-4 characters.</td>
-<td><tt>wchar_t</tt></td>
-</tr>
-
-<tr>
-<td><tt>ExternType</tt></td>
-<td>The external type used to represent UTF-8 octets.</td>
-<td><tt>char_t</tt></td>
-</tr>
-</table>
-
-
-<h2>Requirements</h2>
-
-    <tt>utf8_codecvt_facet</tt> defaults to using <tt>char</tt> as
-    it's external data type and <tt>wchar_t</tt> as it's internal
-    datatype, but on some architectures <tt>wchar_t</tt> is
-    not large enough to hold UCS-4 characters.  In order to use
-    another internal type.You must also specialize <tt>std::codecvt</tt>
-    to handle your internal and external types.
-    (<tt>std::codecvt<char,wchar_t,std::mbstate_t></tt> is required to be
-    supplied by any standard-conforming compiler).
-
-
-<h2>Example Use</h2>
-    The following is a simple example of using this facet:
-
-<pre>
-  //...
-  // My encoding type
-  typedef wchar_t ucs4_t;
-
-  std::locale old_locale;
-  std::locale utf8_locale(old_locale,new utf8_codecvt_facet<ucs4_t>);
-
-  // Set a New global locale
-  std::locale::global(utf8_locale);
-
-  // Send the UCS-4 data out, converting to UTF-8
-  {
-    std::wofstream ofs("data.ucd");
-    ofs.imbue(utf8_locale);
-    std::copy(ucs4_data.begin(),ucs4_data.end(),
-          std::ostream_iterator<ucs4_t,ucs4_t>(ofs));
-  }
-
-  // Read the UTF-8 data back in, converting to UCS-4 on the way in
-  std::vector<ucs4_t> from_file;
-  {
-    std::wifstream ifs("data.ucd");
-    ifs.imbue(utf8_locale);
-    ucs4_t item = 0;
-    while (ifs >> item) from_file.push_back(item);
-  }
-  //...
-</pre>
-
-
-<h2>History</h2>
-
-    This code was originally written as an iterator adaptor over
-    containers for use with UTF-8 encoded strings in memory.
-    Dietmar Kuehl suggested that it would be better provided as a
-    codecvt facet.
-
-<h2>Resources</h2>
-
-<ul>
-<li> <a href="http://www.unicode.org">Unicode Homepage</a>
-<li> <a href="http://home.CameloT.de/langer/iostreams.htm">Standard
-      C++ IOStreams and Locales</a>
-<li> <a href="http://www.research.att.com/~bs/3rd.html">The C++
-      Programming Language Special Edition, Appendix D.</a> 
-</ul>
-
-<br>
-<hr>
-<table summary="Copyright information">
-<tr valign="top">
-<td nowrap>Copyright © 2001</td>
-<td><a href="http://www.osl.iu.edu/~garcia">Ronald Garcia</a>,
-Indiana University 
-(<a href="mailto:garcia at cs.indiana.edu">garcia at osl.iu.edu</a>)<br>
-<a href="http://www.osl.iu.edu/~lums">Andrew Lumsdaine</a>,
-Indiana University
-(<a href="mailto:lums at osl.iu.edu">lums at osl.iu.edu</a>)</td>
-</tr>
-</table>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
-
-
diff --git a/SRC/Boost/libs/serialization/doc/configuration.html b/SRC/Boost/libs/serialization/doc/configuration.html
deleted file mode 100755
index 2c5b0ee..0000000
--- a/SRC/Boost/libs/serialization/doc/configuration.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Configuration</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/contents.html b/SRC/Boost/libs/serialization/doc/contents.html
deleted file mode 100755
index af88269..0000000
--- a/SRC/Boost/libs/serialization/doc/contents.html
+++ /dev/null
@@ -1,340 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<title>Serialization</title>
-
-<!-- Expanding Menu Script Starts Here -->
-<script language="JavaScript">
-//<--!
-// netscape version
-
-function toggle(element) {
-  if (null == element){
-    return;
-  }
-  var targetId = element.id + "_detail";
-  targetElement = document.getElementById(targetId);
-  if (null != targetElement){
-    if (targetElement.style.display == "none") {
-      targetElement.style.display = "";
-      element.src="minus.gif";
-    }
-    else{
-      targetElement.style.display = "none";
-      element.src="plus.gif";
-    }
-  }
-}
-
-function clickHandlerNS(e) {
-  toggle(e.target);
-}
-
-// explorer version
-function clickHandlerIE() {
-  toggle(window.event.srcElement);
-}
-
-function collapse_all() {
-  var l = document.images;
-  var i = l.length;
-  while(i > 0){
-    i = i - 1;
-    var image = l[i];
-    image.style.display = "";
-    toggle(image);
-  }
-}
-
-
-function initialize() {
-  if(navigator.appName.indexOf("Netscape") != -1){
-    document.onclick = clickHandlerNS;
-    collapse_all();
-  }
-  else
-  if(navigator.appName.indexOf("Microsoft") != -1){
-    document.onclick = clickHandlerIE;
-    collapse_all();
-  }
-  else
-  if (navigator.appnName.indexOf("Konqueror") >= 0){
-    document.onclick = clickHandlerIE;
-    collapse_all();
-  }
-}
-
-//-->
-</script>
-
-</head>
-<body onload="initialize()">
-<h2>Contents</h2>
-<small>
-<!--
-<img src="dot.gif" onclick="collapse_all()">Collapse All
--->
-<p>
-<dl class="page-index">
-  <dt><img style="display:none" src="dot.gif" id="release_notes"><a target="detail" href="release.html">Release Notes</a></dt>
-  <dt><img style="display:none" src="plus.gif" id="overview"><a target="detail" href="overview.html">Overview</a></dt>
-  <dd><div id="overview_detail"><dl class="page-index">
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="overview.html#Requirements">Requirements</a></dt>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="overview.html#Otherimplementations">Other Implementations</a></dt>
-  </dl></div></dd>
-  <dt><img style="display:none" src="plus.gif" id="tutorial"><a target="detail" href="tutorial.html">Tutorial</a></dt>
-  <dd><div id="tutorial_detail"><dl class="page-index"> 
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="tutorial.html#simplecase">A Very Simple Case</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="tutorial.html#nonintrusiveversion">Non Intrusive Version</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="tutorial.html#serializablemembers">Serializable Members</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="tutorial.html#derivedclasses">Derived Classes</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="tutorial.html#pointers">Pointers</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="tutorial.html#arrays">Arrays</a>
-
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="tutorial.html#stl">STL Collections</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="tutorial.html#versioning">Class Versioning</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="tutorial.html#splitting">Splitting <code>serialize</code> into <code>save/load</code></a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="tutorial.html#archives">Archives</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="tutorial.html#examples">List of Examples</a>
-  </dl></div></dd>
-
-  <dt><img style="display:none" src="plus.gif" id="reference"><a target="detail" href="reference.html">Reference</a></dt>
-  <dd><div id="reference_detail"><dl class="page-index"> 
-    <dt><img style="display:none" src="plus.gif" id="archive_concept"><a target="detail" href="archives.html">Archive Concepts</a>
-    <dd><div id="archive_concept_detail"><dl class="page-index">
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="archives.html#saving_interface">Saving Archive Concept</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="archives.html#loading_interface">Loading Archive Concept</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="archives.html#archive_models">Archive Models</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="archives.html#exceptions">Exceptions</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="archives.html#charactersets">Character Sets</a>
-    </dl></div></dd>
-    <dt><img style="display:none" src="plus.gif" id="serialization"><a target="detail" href="serialization.html">Serializable Concept</a>
-    <dd><div id="serialization_detail"><dl class="page-index">
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#primitiveoperators">Primitive Types</a>
-      <dt><img style="display:none" src="dot.gif" id="class"><a target="detail" href="serialization.html#classoperators">Class Types</a>
-      <dd><div id="class_detail"><dl class="page-index">
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#member">Member Function</a>
-        <dt><img style="display:none" src="plus.gif" id="splitfree"><a target="detail" href="serialization.html#free">Free Function</a>
-        <dd><div id="splitfree_detail"><dl class="page-index">
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#namespaces">Namespaces for Free Function Overrides</a>
-        </dl></div></dd>
-        <dt><img style="display:none" src="plus.gif" id="members"><a target="detail" href="serialization.html#classmembers">Class Members</a>
-        <dd><div id="members_detail"><dl class="page-index">
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#base">Base Classes</a>
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#const"><code>const</code> Members</a>
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#templates">Templates</a>
-        </dl></div></dd>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#versioning">Versioning</a>
-        <dt><img style="display:none" s'c="dot.gif"><a target="detail" href="serialization.html#splitting">Splitting <code>serialize</code> into <code>save/load</code></a>
-      </dl></div></dd>
-      <dt><img style="display:none" src="plus.gif" id="pointers"><a target="detail" href="serialization.html#pointeroperators">Pointers</a>
-      <dd><div id="pointers_detail"><dl class="page-index">
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#constructors">Non-Default Constructors</a>
-        <dt><img style="display:none" src="plus.gif" id="derivedpointers"><a target="detail" href="serialization.html#derivedpointers">Pointers to Objects of Derived Classes</a>
-        <dd><div id="derivedpointers_detail"><dl class="page-index">
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#registration">Registration</a>
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#export">Export</a>
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#instantiation">Instantiation</a>
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#selectivetracking">Selective Tracking</a>
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#runtimecasting">Runtime Casting</a>
-        </dl></div></dd>
-      </dl></div></dd>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#references">References</a>
-      <dt><img style="display:none" src="plus.gif" id="traits"><a target="detail" href="traits.html">Class Serialization Traits</a>
-      <dd><div id="traits_detail"><dl class="page-index">
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#version">Version</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#level">Implementation Level</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#tracking">Object Tracking</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#export">Export Key</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#Abstract">Abstract</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#typeinfo">Type Information Implementation</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#wrappers">Wrappers</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#bitwise">Bitwise Serialization</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#templates">Template Serialization Traits</a>
-
-        <dt><img style="display:none" src="plus.gif" id="compiletimemessages"><a target="detail" href="traits.html#compiletime_messages">Compile Time Warnings and Errors</a>
-        <dd><div id="compiletimemessages_detail"><dl class="page-index">
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#object_level">object_level</a>
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#object_versioning">object_versioning</a>
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#object_tracking">object_tracking</a>
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#pointer_level">pointer_level</a>
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#pointer_tracking">pointer_tracking</a>
-          <dt><img style="display:none" src="dot.gif"><a target="detail" href="traits.html#const_loading">const_loading</a>
-        </dl></div></dd>
-
-
-
-      </dl></div></dd>
-      <dt><img style="display:none" src="plus.gif" id="wrappers"><a target="detail" href="wrappers.html">Serialization Wrappers</a>
-      <dd><div id="wrappers_detail"><dl class="page-index">
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="wrappers.html#binaryobjects">Binary Objects</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="wrappers.html#arrays">Arrays</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="wrappers.html#strong_type"><code style="white-space: normal">strong_type</code></a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="wrappers.html#collection_size_type">Collection Sizes</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="wrappers.html#nvp">Name-Value Pairs</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="wrappers.html#composition">Composition</a>
-      </dl></div></dd>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#models">Models - Serialization Implementations Included in the Library</a>
-    </dl></div></dd>
-    <dt><img style="display:none" src="plus.gif" id="special"><a target="detail" 'ref="special.html">Special Considerations</a>
-    <dd><div id="special_detail"><dl class="page-index">
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#objecttracking">Object Tracking</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#classinfo">Class Information</a>
-      <dt><img style="display:none" src="plus.gif" id="portability"><a target="detail" href="special.html#portability">Archive Portability</a>
-      <dd><div id="portability_detail"><dl class="page-index">
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#numerics">Numerics</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#traits">Traits</a>
-      </dl></div></dd>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#binary_archives">Binary Archives</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#xml_archives">XML Archives</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#export">Exporting Class Serialization</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#static_libraries">Static Libraries and Serialization</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#dlls">DLLS - Serialization and Runtime Linking</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#plugins">Plugins</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#multi_threading">Multi-Threading</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#optimizations">Optimzations</a>
-      <dt><img style="display:none" src="plus.gif" id="exceptions"><a target="detail" href="exceptions.html">Archive Exceptions</a>
-      <dd><div id="exceptions_detail"><dl class="page-index">
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="exceptions.html#unregistered_class"><code>unregistered_class</code></a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="exceptions.html#invalid_signature"><code>invalid_signature</code></a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="exceptions.html#unsupported_version"><code>unsupported_version</code></a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="exceptions.html#pointer_conflict"><code>pointer_conflict</code></a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="exceptions.html#incompatible_native_format"><code>incompatible_format</code></a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="exceptions.html#array_size_too_short"><code>array_size_too_short</code></a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="exceptions.html#stream_error"><code>stream_error</code></a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="exceptions.html#invalid_class_name"><code>invalid_class_name</code></a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="exceptions.html#unregistered_cast"><code>unregistered_cast</code></a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="exceptions.html#xml_archive_parsing_error"><code>xml_archive_parsing_error</code></a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="exceptions.html#xml_archive_tag_mismatch"><code>xml_archive_tag_mismatch</code></a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="exceptions.html#xml_archive_tag_name_error"><code>xml_archive_tag_name_error</code></a>
-      </dl></div></dd>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="exception_safety.html">Exception Safety</a>
-    </dl></div></dd>
-    <dt><img style="display:none" src="plus.gif" id="archive_reference"><a target="detail" href="archive_reference.html">Archive Class Reference</a>
-    <dd><div id="archive_reference_detail"><dl class="page-index">
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="archive_reference.html#trivial">Trivial Archive</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="archive_reference.html#implementation">More Useful Archive Classes</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="archive_reference.html#usage">Usage</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="archive_reference.html#testing">Testing</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="archive_reference.html#polymorphic">Polymorphic Archives</a>
-    </dl></div></dd>
-  </dl></div></dd>
-  <dt><img style="display:none" src="plus.gif" id="implementation"><a target="detail" href="implementation.html">Implementation Notes</a>
-  <dd><div id="implementation_detail"><dl class="page-index">
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#functiontemplateordering">Partial Function Template Ordering</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#charencoding">Character Encoding</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#tempatesyntax">Template Invocation syntax</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#partialtemplatespecialization">Partial Template Specialization</a>
-    <dt><img style="display:none" src="plus.gif" id="othercompilerissues"><a target="detail" href="implementation.html#othercompilerissues">Specific Compiler/Library Issues</a>
-    <dd><div id="othercompilerissues_detail"><dl class="page-index">
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#gcc3x">GCC 3.X,4.X</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#gcc295">GCC 2.95</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#intel80">Intel 8.0</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#vc80">Visual C++ 8.0</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#vc71">Visual C++ 7.1</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#vc70">Visual C++ 7.0</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#vc6">Visual C++ 6.0</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#borland">Borland 5.64 and 5.51</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#comeau">Comeau 4.3.3</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#codewarrior">Code Warrior 8.3</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#tru64">TRU64</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#dinkumware">Dinkumware Library</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="implementation.html#stlport">STLPort 4.5.3</a>
-    </dl></div></dd>
-    <dt><img style="display:none" src="plus.gif" id="headers"><a target="detail" href="headers.html">Code Structure</a>
-    <dd><div id="headers_detail"><dl class="page-index">
-      <dt><img style="display:none" src="plus.gif" id="userincludes"><a target="detail" href="headers.html#userincludes">Files Included by User Programs</a>
-      <dd><div id="userincludes_detail"><dl class="page-index">
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="headers.html#archiveimplementations">Archive Implementations</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="headers.html#serializationdeclarations">Serialization Declarations</a>
-        <dt><img style="display:none" 'rc="dot.gif"><a target="detail" href="headers.html#serializationimplementations">Serialization Implementations</a>
-      </dl></div>
-      <dt><img style="display:none" src="plus.gif" id="libraryimplementation"><a target="detail" href="headers.html#libraryimplementation">Files Which Implement the Library</a>
-      <dd><div id="libraryimplementation_detail"><dl class="page-index">
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="headers.html#archivedevelopment">Archive Development</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="headers.html#archiveinternals">Archive Internals</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="headers.html#codemodules">Archive Library Code Modules</a>
-        <dt><img style="display:none" src="dot.gif"><a target="detail" href="headers.html#dataflowiterators">Dataflow Iterators</a>
-      </dl></div></dd>
-    </dl></div></dd>
-  </dl></div></dd>
-  <dt><img style="display:none" src="plus.gif" id="case_studies">Case Studies
-  <dd><div id="case_studies_detail"><dl class="page-index">
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="shared_ptr.html">Template serialization - <code>shared_ptr<class T></code></a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="shared_ptr2.html"><code>shared_ptr<class T></code>Revisited</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="pimpl.html">PIMPL</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="simple_log.html">A Simple Logging Archive Class</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="derivation.html">Derivation from an Existing Archive Class</a>
-  </dl></div></dd>
-  <dt><img style="display:none" src="plus.gif" id="otherclasses">Other Classes
-  <dd><div id="otherclasses_detail"><dl class="page-index">
-    <dt><img style="display:none" src="plus.gif" id="extended_type_info"><a target="detail" href="extended_type_info.html"><code>extended_type_info</code></a>
-    <dd><div id="extended_type_info_detail"><dl class="page-index">
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="extended_type_info.html#motivation">Motivation</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="extended_type_info.html#runtime">Runtime Interface</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="extended_type_info.html#requirements">Requirements</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="extended_type_info.html#models">Models</a>
-    </dl></div></dd>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="void_cast.html"><code>void_cast</code></a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="codecvt.html"><code>utf8_codecvt_facet</code></a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="strong_typedef.html"><code>BOOST_STRONG_TYPEDEF</code></a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="state_saver.html"><code>state_saver</code></a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="dataflow.html">Dataflow Iterators</a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="smart_cast.html"><code>smart_cast</code></a>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="static_warning.html"><code>BOOST_STATIC_WARNING</code></a>
-    <dt><img style="display:none" src="plus.gif" id="singleton"><a target="detail" href="singleton.html"><code>singleton</code></a>
-    <dd><div id="singleton_detail"><dl class="page-index">
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#motivation">Motivation</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#features">Features</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#classinterface">Class Interface</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#requirements">Requirements</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#examples">Examples</a>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#multithreading">Multi-Threading</a>
-    </dl></div></dd>
-  </dl></div></dd>
-  <!--
-  <dt><img style="display:none" src="dot.gif"><a target="detail" href="configuration.html">Configuration Information</a></dt>
-    -->
-  <dt><img style="display:none" src="dot.gif"><a target="detail" href="faq.html">Tips and Tricks</a>
-  <dt><img style="display:none" src="plus.gif" id="rationale"><a target="detail" href="rationale.html">Rationale</a></dt>
-  <dd><div id="rationale_detail"><dl class="page-index">
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="rationale.html#serialization">The term "serialization" is preferred to "persistence"</a></dt>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="rationale.html#archives">Archives are not streams</a></dt>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="rationale.html#typeid"><code style="white-space: normal">typeid</code> information is not included in archives</a></dt>
-  </dl></div></dd>
-
-  <dt><img style="display:none" src="plus.gif" id="todo"><a target="detail" href="todo.html">To Do</a></dt>
-  <dd><div id="todo_detail"><dl class="page-index">
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="todo.html#portablebinaryarchive">Portable Binary Archive</a></dt>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="todo.html#performancetesting">Performance Testing and Profiling</a></dt>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="todo.html#backversioning">Back Versioning</a></dt>
-    <dt><img style="display:none" src="dot.gif"><a target="detail" href="todo.html#nortti">Environments without RTTI</a></dt>
-
-    <dt><img style="display:none" src="plus.gif" id="newcasestudies"><a target="detail" href="new_case_studies.html">Proposed Case Studies</a></dt>
-    <dd><div id="newcasestudies_detail"><dl class="page-index">
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="new_case_studies.html#functionobject">Serializing a Function Object</a></dt>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="new_case_studies.html#archiveadaptor">Archive Adaptors</a></dt>
-      <dt><img style="display:none" src="dot.gif"><a target="detail" href="new_case_studies.html#archivehelper">Archive Helpers</a></dt>
-    </dl></div></dd>
-
-  </dl></div></dd>
-
-  <dt><img style="display:none" src="dot.gif"><a target="detail" href="history.html">History</a>
-  <!--
-  <dt><img style="display:none" src="dot.gif"><a target="detail" href="definitions.html">Definitions</a></dt>
-  <dt><img style="display:none" src="dot.gif"><a target="detail" href="faq.html">Frequently Asked Questions (FAQs)</a></dt>
-    -->
-  <dt><img style="display:none" src="dot.gif"><a target="detail" href="bibliography.html">Bibliography</a></dt>
-  <dt><img style="display:none" src="dot.gif"><a target="detail" href="acknowledgments.html">Acknowledgments</a></dt>
-</dl></div>
-</small>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/dataflow.html b/SRC/Boost/libs/serialization/doc/dataflow.html
deleted file mode 100755
index fb9c29a..0000000
--- a/SRC/Boost/libs/serialization/doc/dataflow.html
+++ /dev/null
@@ -1,212 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Dataflow Iterators</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Dataflow Iterators</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<h3>Motivation</h3>
-Consider the problem of translating an arbitrary length sequence of 8 bit bytes 
-to base64 text. Such a process can be summarized as:
-<p>
-source => 8 bit bytes => 6 bit integers => encode to base64 characters => insert line breaks => destination
-<p>
-We would prefer the solution that is:
-<ul>
-  <li>Decomposable. so we can code, test, verify and use each (simple) stage of the conversion 
-  independently.
-  <li>Composable. so we can used this composite as a new component somewhere else.
-  <li>Efficient, so we're not required to re-implement it again.
-  <li>Scalable, so that it works well for short and arbitrarily long sequences.
-</ul>
-The approach that comes closest to meeting these requirements is that described
-and implemented with <a href="../../iterator/doc/index.html">Iterator Adaptors</a>.
-The fundamental feature of an Iterator Adaptor template that makes in interesting to
-us is that it takes as a parameter a base iterator from which it derives its
-input. This suggests that something like the following might be possible.
-<pre><code>
-typedef 
-    insert_linebreaks<         // insert line breaks every 72 characters
-        base64_from_binary<    // convert binary values ot base64 characters
-            transform_width<   // retrieve 6 bit integers from a sequence of 8 bit bytes
-                const char *,
-                6,
-                8
-            >
-        > 
-        ,72
-    > 
-    base64_text; // compose all the above operations in to a new iterator
-
-std::copy(
-    base64_text(address),
-    base64_text(address + count),
-    ostream_iterator<CharType>(os)
-);
-</code></pre>
-Indeed, this seems to be exactly the kind of problem that iterator adaptors are 
-intended to address.  The Iterator Adaptor library already includes
-modules which can be configured to implement some of the operations above.  For example,
-included is <a target="transform_iterator" href="../../iterator/doc/transform_iterator.html">
-transform_iterator</a>, which can be used to implement 6 bit integer => base64 code.
-
-<h3>Dataflow Iterators</h3>
-Unfortunately, not all iterators which inherit from Iterator Adaptors are guarenteed
-to meet the composability goals stated above.  To accomplish this purpose, they have
-to be written with some additional considerations in mind.
-
-We define a Dataflow Iterator as an class inherited from <code style="white-space: normal">iterator_adaptor</code> which
-fulfills as a small set of additional requirements.
-
-<h4>Templated Constructors</h4>
-<p>
-Templated constructor have the form:
-<pre><code>
-template<class T>
-dataflow_iterator(T start) :
-    iterator_adaptor(Base(start))
-{}
-</code></pre>
-When these constructors are applied to our example of above, the following code is generated:
-<pre><code>
-std::copy(
-    insert_linebreaks(
-        base64_from_binary(
-            transform_width(
-                address
-            ),
-        )
-    ),
-    insert_linebreaks(
-        base64_from_binary(
-            transform_width(
-                address + count
-            )
-        )
-    )
-    ostream_iterator<char>(os)
-);
-</code></pre>
-The recursive application of this template is what automatically generates the
-constructor <code style="white-space: normal">base64_text(const char *)</code>  in our example above.  The original
-Iterator Adaptors include a <code style="white-space: normal">make_xxx_iterator</code> to fulfill this function.
-However, I believe these are unwieldy to use compared to the above solution usiing
-Templated constructors.
-<p>
-Unfortunately, some systems which fail to properly support partial function template
-ordering cannot support the concept of a templated constructor as implemented above.  
-A special"wrapper"  macro has been created to work around this problem. With this "wrapper" 
-the above example is modified to:
-<pre><code>
-std::copy(
-    base64_text(BOOST_MAKE_PFTO_WRAPPER(address)),
-    base64_text(BOOST_MAKE_PFTO_WRAPPER(address + count)),
-    ostream_iterator<char>(os)
-);
-</code></pre>
-This macro is defined in <a target="pfto" href="../../../boost/serialization/pfto.hpp"><boost/serialization/pfto.hpp></a>.
-For more information about this topic, check the source.
-
-<h4>Dereferencing</h4>
-Dereferencing some iterators can cause problems.  For example, a natural
-way to write a <code style="white-space: normal">remove_whitespace</code> iterator is to increment past the initial 
-whitespaces when the iterator is constructed.  This will fail if the iterator passed to the
-constructor "points" to  the end of a string.  The 
-<a target="filter_iterator" href="../../iterator/doc/filter_iterator.html">
-<code style="white-space: normal">filter_iterator</code></a> is implemented
-in this way so it can't be used in our context. So, for implementation of this iterator, 
-space removal is deferred until the iterator actually is dereferenced.
-
-<h4>Comparison</h4>
-The default implementation of iterator equality of <code style="white-space: normal">iterator_adaptor</code> just
-invokes the equality operator on the base iterators.  Generally this is satisfactory.
-However, this implies that other operations (E. G. dereference) do not prematurely 
-increment the base iterator.  Avoiding this can be surprisingly tricky in some cases.
-(E.G. transform_width)
-
-<p>
-Iterators which fulfill the above requirements should be composable and the above sample
-code should implement our binary to base64 conversion.
-
-<h3>Iterators Included in the Library</h3>
-Dataflow iterators for the serialization library are all defined in the hamespace
-<code style="white-space: normal">boost::archive::iterators</code> included here are:
-<dl class="index">
-  <dt><a target="base64_from_binary" href="../../../boost/archive/iterators/base64_from_binary.hpp">
-  base64_from_binary</a></dt>
-  <dd>transforms a sequence of integers to base64 text</dd>
-
-  <dt><a target="base64_from_binary" href="../../../boost/archive/iterators/binary_from_base64.hpp">
-  binary_from_base64</a></dt>
-  <dd>transforms a sequence of base64 characters to a sequence of integers</dd>
-
-  <dt><a target="insert_linebreaks" href="../../../boost/archive/iterators/insert_linebreaks.hpp">
-  insert_linebreaks</a></dt>
-  <dd>given a sequence, creates a sequence with newline characters inserted</dd>
-
-  <dt><a target="mb_from_wchar" href="../../../boost/archive/iterators/mb_from_wchar.hpp">
-  mb_from_wchar</a></dt>
-  <dd>transforms a sequence of wide characters to a sequence of multi-byte characters</dd>
-
-  <dt><a target="remove_whitespace" href="../../../boost/archive/iterators/remove_whitespace.hpp">
-  remove_whitespace</a></dt>
-  <dd>given a sequence of characters, returns  a sequence with the white characters
-  removed.  This is  a derivation from the <code style="white-space: normal">boost::filter_iterator</code></dd>
-
-  <dt><a target="transform_width" href="../../../boost/archive/iterators/transform_width.hpp">
-  transform_width</a></dt>
-  <dd>transforms a sequence of x bit elements into a sequence of y bit elements.  This
-  is a key component in iterators which translate to and from base64 text.</dd>
-
-  <dt><a target="wchar_from_mb" href="../../../boost/archive/iterators/wchar_from_mb.hpp">
-  wchar_from_mb</a></dt>
-  <dd>transform a sequence of multi-byte characters in the current locale to wide characters.</dd>
-
-  <dt><a target="xml_escape" href="../../../boost/archive/iterators/xml_escape.hpp">
-  xml_escape</a></dt>
-  <dd>escapes xml meta-characters from xml text</dd>
-
-  <dt><a target="xml_unescape" href="../../../boost/archive/iterators/xml_unescape.hpp">
-  xml_unescape</a></dt>
-  <dd>unescapes xml escape sequences to create a sequence of normal text<dd>
-</dl>
-<p>
-The standard stream iterators don't quite work for us.  On systems which implement <code style="white-space: normal">wchar_t</code>
-as unsigned short integers (E.G. VC 6) they didn't function as I expected. I also made some
-adjustments to be consistent with our concept of Dataflow Iterators.  Like the rest of our
-iterators, they are found in the namespace <code style="white-space: normal">boost::archive::interators</code> to avoid
-conflict the standard library version.
-<dl class = "index">
-  <dt><a target="istream_iterator" href="../../../boost/archive/iterators/istream_iterator.hpp">
-  istream_iterator</a></dt>
-  <dt><a target="ostream_iterator" href="../../../boost/archive/iterators/ostream_iterator.hpp">
-  ostream_iterator</a></dt>
-</dl>
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/definitions.html b/SRC/Boost/libs/serialization/doc/definitions.html
deleted file mode 100755
index 49468bb..0000000
--- a/SRC/Boost/libs/serialization/doc/definitions.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Definitions</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/derivation.html b/SRC/Boost/libs/serialization/doc/derivation.html
deleted file mode 100755
index f068b28..0000000
--- a/SRC/Boost/libs/serialization/doc/derivation.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Derivation from an Existing Archive</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Derivation from an Existing Archive</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-</dl>
-
-<h3>Log Archive</h3>
-It may happen that one wants to create a new archive class by derivation from one
-of the included ones. Included is a sample program that shows how to derive a 
-new archive from one of the ones included with the library.  The first example is
-<a href="../example/demo_log.cpp" target="demo_log_cpp">
-demo_log.cpp</a>.
-<p>
-This derivation from the xml archive writes output in xml without the extra
-information required to read the data back into the application.  It might be
-used to export one's data as simple xml for other applications or for logging
-data while debugging.
-<p>
-To this end it is derived from the included xml archive and the save functions for
-some types are specialized for this application.  
-<p>
-The serialization library is
-implemented using the <b>C</b>uriously <b>R</b>ecurring <b>T</b>emplate 
-<b>P</b>attern (<b>CRTP</b>).  Also, all common code is factored out into
-separate modules to minimize code repetition. This makes derivation from
-an existing archive less straight forward than it would otherwise be.
-<p> 
-This example illustrates several issues that have to be addressed when doing
-something like this
-<ol>
-    <li><i>It is derived from</i> <code style="white-space: normal">xml_oarchive_impl<log_archive></code> 
-        <b>NOT</b> <code style="white-space: normal">xml_oarchive</code> <br>
-As described in the comments in
-<a href="../../../boost/archive/xml_oarchive.hpp" target="xml_oarchive_hpp">xml_oarchive.hpp</a>.
-<code style="white-space: normal">xml_oarchive</code> really a shorthand name for 
-<code style="white-space: normal">xml_oarchive_impl<xml_oarchive></code>.  So we should derive
-from <code style="white-space: normal">xml_oarchive_impl<log_archive></code> rather
-than <code style="white-space: normal">xml_oarchive</code>.
-<pre><code>
-class log_archive :
-    // don't derive from xml_oarchive !!!
-    public xml_oarchive_impl<log_archive>
-{
-...
-</code></pre>
-    <li><i>Note the</i> <code style="white-space: normal">log_archive</code> <i>between the</i> <>
-This is required so that base classes can downcast their <code style="white-space: normal">this</code> pointer
-to the most derived class.  This is referred to as <b>C</b>uriously <b>R</b>ecurring
-<b>T</b>emplate <b>P</b>attern (<b>CRTP</b>) <a href="bibliography.html#11">[11]</a>.  
-It is used to implement static polymorphism.
-    <li><i>Base classes need to be explicitly given access to the derived class.</i>
-This can be done by making members public or by including friend declarations for
-the base classes.
-<pre><code>
-    friend class detail::common_oarchive<log_archive>;
-    friend class basic_xml_oarchive<log_archive>;
-    friend class boost::serialization::save_access;
-</code></pre>
-
-    <li><i></i>Reread <a target="detail" href="headers.html#archiveinternals">Archive Internals</a>.
-This describes the class hierarchy so that you know what to override.
-    <li><i>Note the usage of PFTO.</i>  Some compilers fail to provide support for
-partial function template ordering.  The serialization library works around by
-using <a target="detail" href="implementation.html#functiontemplateordering">
-<b>P</b>artial <b>F</b>unction <b>T</b>emplate <b>O</b>rdering</a> in several places.
-In archive classes, this takes
-. This is done
-in several places, including the archive classes themselves.
-    <li><i>Base class functions will usually need to be explicitly invoked</i>
-We commonly specialize the function name <code style="white-space: normal">save_override</code> 
-for saving primitives. Usage of a function name in a derived class
-"hides" similarly named functions of the base class.  That is, 
-function name overloading doesn't automatically
-include base classes.  To address this, we can use:
-<pre><code>
-    using xml_oarchive_impl<derived_t>::save;
-    void save(const unsigned int t);
-    ...
-</code></pre>
-which should work on conforming compilers. However, I have found
-that the following equivalent works on more compilers.
-<pre><code>
-    // default fall through for any types not specified here
-    template<class T>
-    void save(const T & t){
-        xml_oarchive_impl<derived_t>::save(t);
-    }
-    void save(const unsigned int t);
-    ...
-</code></pre>
-so it's what I use.
-    <li><i>Template definitions of base classes may have to be explicitly instantiated.</i>
-    The demo includes
-<pre><code>
-// explicitly instantiate for this type of binary stream
-#include <boost/archive/basic_binary_oprimitive.ipp>
-</code></pre>
-for just this purpose.  Failure to include required template definitions
-will result in undefined symbol errors when the program is linked.
-    <li><i>Without alteration, this class cannot be further derived from</i><br>
-Base classes using <b>CRTP</b> must be templates with a parameter corresponding to
-the most derived class.  As presented here, this class doesn't qualify, so
-it cannot be used as a base class.  In order to derive further from this class,
-it would have to be reorganized along the lines of the original <code style="white-space: normal">xml_oarchive</code>.
-Specifically, it would look something like:
-<pre><code>
-template<class Archive>
-class log_archive_impl :
-    // don't derive from xml_oarchive !!!
-    public xml_oarchive_impl<Archive>
-{
-    ...
-);
-
-// do not derived from this class !!!
-class log_archive : 
-    public log_archive_impl<log_archive>
-{
-public:
-    log_archive(std::ostream & os, unsigned int flags = 0) :
-        log_archive_impl<xml_oarchive>(os, flags)
-    {}
-};
-</code></pre>
-
-</ol>  
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/dot.gif b/SRC/Boost/libs/serialization/doc/dot.gif
deleted file mode 100755
index c9c1156..0000000
Binary files a/SRC/Boost/libs/serialization/doc/dot.gif and /dev/null differ
diff --git a/SRC/Boost/libs/serialization/doc/exception_safety.html b/SRC/Boost/libs/serialization/doc/exception_safety.html
deleted file mode 100755
index fb12d87..0000000
--- a/SRC/Boost/libs/serialization/doc/exception_safety.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Reference</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Exception Safety</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-The process of loading an archive may result in the creation of new objects.  That
-same process may throw an exception at some point. In order to prevent memory leaks
-and invalid pointers, these situations must be considered.  Unfortunately, there is
-no simple universal solution to this problem.  The manner of addressing this must
-depend on the design of the data structures to be serialized.  Below, we discuss
-varying scenarios in increasing order of difficulty.  This discussion presumes that
-the class member functions are exception safe before considering serialization.  
-That is, the destructor could be called at anytime without referencing 
-an invalid pointer, or creating a memory leak.
-<ol>
-    <li><h4>class contains no pointers</h4>
-    No problem here.
-    <p>
-    <li><h4>class contains only <i>owned</i> pointers</h4>
-    From here on, we have to make a distinction between pointers used
-    to manage heap storage (<i>owned</i> pointers) and pointers used to refer
-    to related objects (<i>referenced</i> pointers).  Programs containing <i>owned</i>
-    pointers must contain code for deleting these objects and returning the
-    deallocated storage to the heap.  Programs containing <i>referenced</i> pointers
-    must be designed to ensure that no such <i>referenced</i> pointers are de-referenced
-    after the object pointed to has been destroyed and its storage returned
-    to the heap. If a pointer is stored in only one place, it must be an <i>owned</i>
-    pointer.
-    <p>
-    The load function traps any exceptions that occur between the time an object
-    is created and its pointer is stored.  Should an exception occur while
-    reading an archive, the created object is deleted and the de-serialized
-    pointer is set to NULL.  This ensures that there are no memory leaks.
-    The fact that there are no other copies of this pointer ensures that
-    no pointers are left invalid. The object's destructor should
-    be able to delete any other existing objects in the normal manner
-    without problem.
-    <a href="../test/test_delete_pointer.cpp" target="test_delete_pointer.cpp">test_delete_pointer.cpp</a>
-    illustrates this case.
-    <p>
-    <li><h4>class contains one or more <i>referenced</i> pointers</h4>
-    This situation can be further subdivided into two cases
-    <p>
-    <ol>
-        <li><h4><i>owned</i> pointers are always serialized before <i>referenced</i> pointers</h4>
-        Object tracking will ensure that no new objects will be created
-        by the loading of a <i>referenced</i> pointer.
-        If an exception occurs, <i>referenced</i> pointers will not need to be deleted
-        so there will be no memory leaks. The destructor of this class won't attempt to
-        delete these pointers so there will be no problem with dangling references.
-        <i>owned</i> pointers are handled exactly as described above.
-        <p>
-        <li><h4>class contains <i>referenced</i> pointers which might be created by load</h4>
-        If a <i>referenced</i> pointer is loaded before its corresponding <i>owned</i>
-        pointer, the object will be allocated on the heap.  In certain cases
-        it cannot be known which pointers were created by their owners and which
-        were created by the load function.  To address this:
-        <ul>
-        <li>Trap exceptions with a <code style="white-space: normal">try/catch</code> block.
-        <li>Within the catch part, invoke the archive function 
-        <code style="white-space: normal">delete_created_pointers()</code> to delete any pointers
-        created by the class load.  Without out other action, objects created in
-        this way would end up as memory leaks as they are not considered <i>owned</i>
-        pointers and hence aren't destroyed.
-        <li>The object's destructor won't try
-        to delete <i>referenced</i> pointers so any dangling references will
-        cause no harm.
-    </ul>
-    <a href="../example/demo_exception.cpp" target="demo_exception.cpp">demo_exception.cpp</a>
-        is a program that illustrates this case.
-        <p>
-    </ol>
-    <p>
-    <li><h4>Other cases</h4>
-    Situations not covered above are pointers for which the classifications of 
-    <i>referenced</i> and <i>owned</i> are not applicable.  This might occur where
-    pointers are created by one class but consumed and deleted by another.  These
-    may be addressed with an ad hoc analysis similar to the above.  As the
-    situation becomes more complex this becomes more difficult and error prone.
-    Eventually, it will be have to addressed by building heap management into the
-    pointer itself - that is into <code style="white-space: normal">boost::shared_ptr</code>. 
-    The library includes serialization of <code style="white-space: normal">boost::shared_ptr</code>.  As
-    previously mentioned, this required a tiny alteration in one of the
-    <code style="white-space: normal">boost::shared_ptr</code> implementation files in order to permit
-    access by the serialization system.
-</ol>
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/exceptions.html b/SRC/Boost/libs/serialization/doc/exceptions.html
deleted file mode 100755
index ec40ff5..0000000
--- a/SRC/Boost/libs/serialization/doc/exceptions.html
+++ /dev/null
@@ -1,276 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Archive Exceptions</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Archive Exceptions</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-  <dt><a href="#unregistered_class"><code style="white-space: normal">unregistered_class</code></a>
-  <dt><a href="#invalid_signature"><code style="white-space: normal">invalid_signature</code></a>
-  <dt><a href="#unsupported_version"><code style="white-space: normal">unsupported_version</code></a>
-  <dt><a href="#unsupported_class_version"><code style="white-space: normal">unsupported_class_version</code></a>
-  <dt><a href="#pointer_conflict"><code style="white-space: normal">pointer_conflict</code></a>
-  <dt><a href="#incompatible_native_format"><code style="white-space: normal">incompatible_native_format</code></a>
-  <dt><a href="#array_size_too_short"><code style="white-space: normal">array_size_too_short</code></a>
-  <dt><a href="#input_stream_error"><code style="white-space: normal">input_stream_error</code></a>
-  <dt><a href="#output_stream_error"><code style="white-space: normal">output_stream_error</code></a>
-  <dt><a href="#invalid_class_name"><code style="white-space: normal">invalid_class_name</code></a>
-  <dt><a href="#unregistered_class"><code style="white-space: normal">unregistered_class</code></a>
-  <dt><a href="#multiple_code_instantiation"><code style="white-space: normal">multiple_code_instantiation</code></a>
-  <dt><a href="#xml_archive_parsing_error"><code style="white-space: normal">xml_archive_parsing_error</code></a>
-  <dt><a href="#xml_archive_tag_mismatch"><code style="white-space: normal">xml_archive_tag_mismatch</code></a>
-  <dt><a href="#xml_archive_tag_name_error"><code style="white-space: normal">xml_archive_tag_name_error</code></a>
-</dl>
-
-Archive operators can throw a <code style="white-space: normal">boost::archive_exception</code>
-object which can be caught by an application program.  These exceptions are defined
-in the files <a target="archive_exception_hpp" href="../../../boost/archive/archive_exception.hpp">
-archive_exception.hpp</a>
-and <a target="basic_xml_archive_hpp" href="../../../boost/archive/basic_xml_archive.hpp">
-basic_xml_archive.hpp</a>.
-<pre><code>
-namespace boost {
-namespace archive {
-
-class archive_exception  : public std::exception
-{
-public:
-    typedef enum {
-        unregistered_class,     // attempt to serialize a pointer of an
-                                // an unregistered class
-        invalid_signature,      // first line of archive does not contain
-                                // expected string
-        unsupported_version,    // archive created with library version subsequent
-                                // to this one
-        pointer_conflict        // an attempt has been made to directly serialize
-                                // an object after having already serialized the same
-                                // object through a pointer.  Were this permitted, 
-                                // it the archive load would result in the creation
-                                // of extraneous object.
-        incompatible_native_format, // attempt to read native binary format
-                                // on incompatible platform
-        array_size_too_short,   // array being loaded doesn't fit in array allocated
-        input_stream_error      // error on stream input
-        invalid_class_name,     // class name greater than the maximum permitted.
-                                // most likely a corrupted archive or an attempt
-                                // to insert virus via buffer overrun method.
-        unregistered_cast,      // base - derived relationship not registered with 
-                                // void_cast_register
-        unsupported_class_version, // type saved with a version # greater than the 
-                            // one used by the program.  This indicates that the proggram
-                            // needs to be rebuilt.
-        multiple_code_instantiation, // code for implementing serialization for some
-                            // type has been instantiated in more than one module.
-        output_stream_error     // error on stream output
-    } exception_code;
-    exception_code code;
-    archive_exception(exception_code c) : code(c) {}
-    virtual const char *what( ) const throw();
-};
-
-class xml_archive_exception : public virtual archive_exception
-{
-public:
-    typedef enum {
-        xml_archive_parsing_error,  // archive doesn't contain expected data 
-	xml_archive_tag_mismatch,   // start/end tag in archive doesn't match program
-        xml_archive_tag_name_error  // tag name contains invalid characters
-
-    } exception_code;
-    xml_archive_exception(exception_code c){}
-    virtual const char *what( ) const throw();
-};
-
-} // archive
-} // boost
-</code></pre>
-<p>
-<h3><a name="unregistered_class"><code style="white-space: normal">unregistered_class</code></a></h3>
-An attempt has been made to serialize a polymorphic class through a pointer
-without either registering it or associating it with an export key.  This can also occur
-when using a new archive how class name has not been added to the system with the 
-<code style="white-space: normal">BOOST_ARCHIVE_CUSTOM_ARCHIVE_TYPES</code> macro.
-
-<h3><a name="invalid_signature"><code style="white-space: normal">invalid_signature</code></a></h3>
-Archives are initiated with a known string.  If this string is not found when
-the archive is opened, It is presumed that this file is not a valid archive and this
-exception is thrown.
-
-<h3><a name="unsupported_version"><code style="white-space: normal">unsupported_version</code></a></h3>
-This system records the current library version number to all archives created.  Note that this is in
-no way related to version number of classes used by application programs. This refers
-to the version of the serialization system used to create the archive. Future versions
-of this serialization system will be able to identify archives created under previous
-(i.e. this) system and alter the loading procedure accordingly.  Hence, future enhancements
-to this serialization system should not obsolete any existing archive files.  It is only
-necessary to increment this version number when the newer system creates archives
-incompatible in format with the current one. 
-<p>Should it ever occur that an older program attempts to read newer archives whose
-format has changed, this exception is thrown.
-
-<h3><a name="unsupported_class_version"><code style="white-space: normal">unsupported_class_version</code></a></h3>
-An attempt has been made to load a class whose version has been incremented since the
-program was written.  Suppose that a class has been assigned version number 3 and the program
-has been built and sent to third parties.  Now suppose that the definition of that class
-has been altered, the version number has been incremented to 4 and new archives have been
-built.  If one attempts to load these new archives with the original program, this 
-exception will be thrown.
-
-<h3><a name="pointer_conflict"><code style="white-space: normal">pointer_conflict</code></a></h3>
-To understand what this exception means consider the following scenario
-<pre><code>
-template<class Archive>
-void T::save(Archive &ar) const
-{
-    const A * aptr = &a;
-    ar << aptr;          // save an instance of object of class A through a pointer
-    ...
-    ar << a;             // save an instance of an object of class A
-    assert(aptr == &a);  // this must be true
-}
-
-template<class Archive>
-void T::load(Archive &ar)
-{
-    A * aptr;
-    ar >> aptr;          // create and initialize a new instance of class A
-    ...
-    ar >> a;             // restore state of on object of class A
-    assert(aptr == &a);  // this won't be true
-}
-</pre></code>
-An object is saved first through a pointer then directly.  Upon loading back
-in the same sequence, we first create an new object and load in its data.  Then
-we load the data into another existing object.  Where we started with one
-object during save, we have two objects after restore.  In a more realistic
-situation, it could be very difficult to find this error.  Fortunately, 
-these situations can be detected when the archive is created. When
-this occurs, this exception is thrown.
-
-<h3><a name = "incompatible_native_format"><code style="white-space: normal">incompatible_native_format</code></a></h3>
-The library currently supports char text, wide char text and native binary
-archive files. At the beginning of every archive, a signature is written indicating
-the type of archive.  This exception is thrown when an attempt is made to read
-an archive written in a different format.
-
-<h3><a name="array_size_too_short"><code style="white-space: normal">array_size_too_short</code></a></h3>
-An attempt has been made to read an array that is larger than the array size.
-This should only occur when the size of an array in code is reduced after an
-archive has already been created.
-
-<h3>
-<a name="input_stream_error"><code style="white-space: normal">input_stream_error</code></a>
-<br>
-<a name="output_stream_error"><code style="white-space: normal">output_stream_error</code></a>
-</h3>
-An error has occured during stream input or ouput.  Aside from the common 
-situations such as a corrupted or truncated input file, there are 
-several less obvious ones that sometimes occur.
-<p>
-This includes
-an attempt to read past the end of the file. Text files need a terminating
-new line character at the end of the file which is appended when the
-archive destructor is invoked.  Be sure that an output archive on a stream
-is destroyed before opening an input archive on that same stream.  That is,
-rather than using something like:
-<pre><code>
-std::stringstream ss;
-std::vector<V> v;
-boost::archive::text_oarchive oa(ss);
-oa << v;
-boost::archive::text_iarchive ia(ss);
-ia >> v;
-</code></pre>
-use
-<pre><code>
-std::stringstream ss;
-std::vector<V> v;
-{
-    boost::archive::text_oarchive oa(ss);
-    oa << v;
-}
-{
-    boost::archive::text_iarchive ia(ss);
-    ia >> v;
-}
-</code></pre>
-<p>
-Another one is the passing of uninitialized data.  In general, the behavior
-of the serialization library when passed uninitialized data is undefined.
-If it can be detected, it will invoke an assertion in debug builds.
-Otherwise, depending on the type of archive, it may pass through without
-incident or it may result in an archive with unexpected data in it.
-This, in turn, can result in the throwing of this exception.
-
-<h3><a name="invalid_class_name"><code style="white-space: normal">invalid_class_name</code></a></h3>
-Class name length greater than the maximum permitted. Most likely cause is a corrupted 
-archive  or an attempt to insert virus via buffer overrun method.
-
-<h3><a name="unregistered_cast"><code style="white-space: normal">unregistered_cast</code></a></h3>
-In order to support casting between pointers of base and derived classes
-at runtime, a collection of legitimate conversions is maintained by the system.
-Normally this collection is maintained without any explicit action
-on the part of the user of the library.  However, there are special cases
-where this might have to be done explicitly and could be overlooked. This
-is described in <a href="serialization.html#runtimecasting">Runtime Casting</a>.
-This exception is thrown if an attempt is made to convert between two pointers 
-whose relationship has not been registered,
-
-<h3><a name="multiple_code_instantiation"><code style="white-space: normal">multiple_code_instantiation</code></a></h3>
-This exception is thrown when it is detected that the serialization of the same type 
-has been instantiated more that once.  This might occur when
-serialization code is instantiated in both the mainline and one or more DLLS.
-
-<h3><a name="xml_archive_parsing_error"><code style="white-space: normal">xml_archive_parsing_error</code></a></h3>
-The XML generated by the serialization process is intimately coupled to the
-C++ class structure, relationships between objects and the serialization 
-specifications.  If these become out of sync in any way, the XML may not map
-to the loading serialization and this exception might be thrown.  This might
-occur for one of the following reasons:
-<ul>
-    <li>The archive has been edited outside the serialization system.  This might
-be possible if only the data is changed and not the XML attributes and nesting
-structure is left unaltered.  But any other editing is likely to render the
-archive unreadable by the serialization library.
-    <li>The serialization has been altered and an archive generated by the old
-code is being read.  That is, versioning has not been properly employed to
-properly deserialize previously created archives.
-</ul>
-
-<h3><a name="xml_archive_tag_mismatch"><code style="white-space: normal">xml_archive_tag_mismatch</code></a></h3>
-This exception will be thrown if the start or end tag of and XML element doesn't match
-the name specified for the object in the program.
-
-<h3><a name="xml_archive_tag_name_error"><code style="white-space: normal">xml_archive_tag_name_error</code></a></h3>
-This exception will be thrown if the tag name contains invalid characters.  Valid characters
-for an XML tag are: upper and lower case letters, digits, and the following punctuation: .(period),
-_(underscore), :(colon), and -(hyphen).
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/extended_type_info.html b/SRC/Boost/libs/serialization/doc/extended_type_info.html
deleted file mode 100755
index 4148d2c..0000000
--- a/SRC/Boost/libs/serialization/doc/extended_type_info.html
+++ /dev/null
@@ -1,418 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - extended_type_info</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center"><code style="white-space: normal">extended_type_info</code></h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-  <dt><a href="#motivation">Motivation</a>
-  <dt><a href="#runtime">Runtime Interface</a>
-  <dt><a href="#requirements">Requirements</a>
-  <dt><a href="#models">Models</a>
-  <dt><a href="#example">Example</a>
-</dl>
-
-<h3><a name="motivation">Motivation</a></h3>
-The serialization library needs a system like 
-<code style="white-space: normal">type_info/typeid()</code> to perform
-the following functions
-<ol>
-  <li>
-     given a pointer to a type T discover the true type pointed to.
-  <li>
-     given an "external" key - determine what type of object to create.
-</ol>
-<h3>The problem with <code style="white-space: normal">std::type_info</code></h3>
-<ul>
-  <li>
-    The main function we require - <code style="white-space: normal">std::typeid()</code>
-    is not available in all environments. Support for this function depends upon
-    runtime typing(RTTI) support from the compiler.  This may be non-existent
-    or not enabled for reasons such as a percieved inefficiency.
-  <li>
-    <code style="white-space: normal">std::type_info</code> includes a string
-    containing type name.  This would seem to satisfy 2) above.
-    But the format of this string is not consistent accross compilers, libraries, 
-    and operating systems. This makes it unusable for support of portable archives.
-  <li>
-    Even if the type name string could somehow be made portable, there is no 
-    guarentee that class headers would be included in the same name space accross 
-    different applications. In fact, including different headers in different
-    name spaces is an accepted method used to avoid name space conflicts.
-    Thus the namespace::class_name can't be used as a key.
-  <li>
-    There exists the possibility that different classes use different type id 
-    mechanism.  The class header might include this information. If we want to 
-    import class headers accross applications, its convenient that the type id
-    mechanism support inter-operability accross different type id systems.
-</ul>
-<h3>Features</h3>
-<code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">
-extended_type_info</a></code> is an implementation
-of <code style="white-space: normal">std::type_info</code> functionality with the 
-following features:
-<ul>
-  <li>
-    Builds a set of <a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">
-    <code style="white-space: normal">extended_type_info</a></code> records - one for each type
-    serialized.
-  <li>
-    permits association of an arbitrary string key with a type.  Often this key would
-    be the class name - but it doesn't have to be.  This key is referred to as
-    a GUID - Globally Unique IDentifier.  Presumably it should be unique in the universe.
-    Typically this GUID would be in header files and be used to match type accross
-    applications.  The macro BOOST_CLASS_EXPORT can be invoked to associate a string
-    key with any known type.  We'll refer to these types as "exported types"
-  <li>
-    permits the "mixing" of type info systems.  For example, one class might use 
-    <code style="white-space: normal">typeid()</code> to find the external identifier 
-    of a class while another might not.
-</ul>
-
-Exported types are maintained in a global table so that given a string key, the
-corresponding type can be found.  This facility is used by the serialization library
-in order to construct types serialized through a base class pointer.
-
-<h3><a name="runtime">Runtime Interface</a></h3>
-<pre><code">
-namespace boost { 
-namespace serialization {
-
-class extended_type_info
-{
-protected:
-    // this class can't be used as is. It's just the 
-    // common functionality for all type_info replacement
-    // systems.  Hence, make these protected
-    extended_type_info(
-        const unsigned int type_info_key,
-        const char * key
-    );
-    ~extended_type_info();
-    void key_register();
-    void key_unregister();
-public:
-    const char * get_key() const;
-    bool operator<(const extended_type_info &rhs) const;
-    bool operator==(const extended_type_info &rhs) const;
-    bool operator!=(const extended_type_info &rhs) const {
-        return !(operator==(rhs));
-    }
-    // for plugins
-    virtual void * construct(unsigned int count = 0, ...) const;
-    virtual void destroy(void const * const p) const;
-    static const extended_type_info * find(const char *key);
-};
-
-} // namespace serialization 
-} // namespace boost
-</code></pre>
-<p>
-Generally, there will be one and only one
-<code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code>
-instance created for each type.  However, this is enforced only at the executable
-module level.  That is, if a program includes some shared libraries or DLLS,
-there may be more than one instance of this class correponding to a particular type.
-For this reason the comparison functions below can't just compare the addresses of 
-this instance but rather must be programmed to compare the the actual information 
-the instances contain.
-<dl>
-
-<dt><h4><pre><code>
-extended_type_info(unsigned int type_info_key, const char *key);
-</code></pre></h4></dt>
-<dd>
-This constructor should be called by all derived classes.
-The first argument should be the particular implementation. 
-For this default implementation base on typeid(), this is the 
-value 1.  Each system must have its own integer.  This value
-is used to permit the inter-operability of different typeinfo
-systems.
-<p>
-The second argument is a const string which is the external
-name of the type to which this record corresponds.  
-It may sometimes be referred to as a GUID - a <b>G</b>lobal <b>U</b>nique <b>ID</b>entifier.
-It is passed through archives from one program invocation to
-another to uniquely identify the types that the archive contains.
-If the "export" facility is not going to be used, 
-this value may be NULL.
-</dd>
-
-<dt><h4><pre><code>
-void key_register();
-void key_unregister();
-</code></pre></h4></dt>
-<dd>
-This system maintains a global table which relates
-external strings to 
-<code style="white-space: normal">extended_type_info</code> records.
-This table is used when loading pointers to objects serialized
-through a base class pointer.  In this case, the archive 
-contains a string which is looked up in this table to
-determine which <code style="white-space: normal">extended_type_info</code>
-to use for creating a new object.
-<p>
-These functions are called by constructors and
-destructors of classes which implement 
-<code style="white-space: normal">extended_type_info</code>
-to add and remove entries from this table.
-</dd>
-
-<dt><h4><pre><code>
-const char *get_key() const;
-</code></pre></h4></dt>
-<dd>
-Retrieves the key for <code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code>
-instance.  If no key has been associated with the instance, then a NULL is returned.
-</dd>
-
-<dt><h4><pre><code>
-bool operator<(const extended_type_info & rhs) const;
-bool operator==(const extended_type_info & rhs) const;
-bool operator!=(const extended_type_info & rhs) const;
-</code></pre></h4></dt>
-<dd>
-These functions are used to compare 'wo 
-<a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">
-<code style="white-space: normal">
-extended_type_info
-</code> 
-</a>
-objects. They impose a strict total ordering on all
-<code style="white-space: normal">extended_type_info</code> records.
-</dd>
-
-<dt><h4><pre><code>
-virtual void * construct(unsigned int count = 0, ...) const;
-</code></pre></h4></dt>
-<dd>
-Construct a new instance of the type to which this
-<a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">
-<code style="white-space: normal">
-extended_type_info
-</code>
-</a>
-record corresponds. This function takes variable list of up to 4 arguments
-of any type.  These arguments are passed to the type's constructor
-at runtime.  In order to use the facility, 
-one must declare a type sequence for the constructor arguments.  
-Arguments for this function must match in number and type
-with those specified when the type was exported.  
-This function permits one to create instances of
-any exported type given only the exported <strong>GUID</strong> assigned
-with BOOST_CLASS_EXPORT.  
-If these types are defined in DLLS or shared libraries.  When these modules
-are loaded at runtime, these constructor can be called until the module
-is unloaded.  These modules are referred to as <b>plugin</b>. 
-</code>
-</dd>
-
-<dt><h4><pre><code>
-virtual void destroy(void const * const p) const;
-</code></pre></h4></dt>
-<dd>
-Destroy an instance created by the above constructor.
-</dd>
-
-<dt><h4><pre><code>
-static const extended_type_info * find(const char *key);
-</code></pre></h4></dt>
-<dd>
-Given a character string key or <strong>GUID</strong>, return the address of a 
-corresponding <code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code>
-object. 
-
-</dl>
-
-<h3><a name="requirements">Requirements for and Implementation</a></h3>
-In order to be used by the serialization library, an implementation of
-<code style="white-space: normal">extended_type_info</code>, 
-(referred to as ETI here), must be derived from 
-<a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">
-<code style="white-space: normal">
-extended_type_info
-</code> 
-</a>
-and also implement the following:
-
-<dl>
-
-<dt><h4><code style="white-space: normal"><pre>
-template<class ETI>
-const extended_type_info *
-ETI::get_derived_extended_type_info(const T & t) const;
-</pre></code></h4></dt>
-<dd>
-Return a pointer to the 
-<code style="white-space: normal">extended_type_info</code>
-instance that corresponds to
-the "true type" of the type T.  The "true type" is the lowest type in the
-hierarchy of classes.  The type T can always be cast to the "true type" with
-a static cast.  Implementation of this function will vary among type id systems
-and sometimes will make presumptions about the type T than can be identified
-with a particular <code style="white-space: normal">extended_type_info</code> implementation.
-</dd>
-
-<dt><h4><code style="white-space: normal"><pre>
-virtual bool ETI::is_less_than(const extended_type_info &rhs) const;
-</pre></code></h4></dt>
-<dd>
-Compare this instance to another one using the same
-<code style="white-space: normal">extended_type_info</code> implementation.
-</dd>
-
-<dt><h4><code style="white-space: normal"><pre>
-virtual bool ETI::is_equal(const extended_type_info &rhs) const;
-</pre></code></h4></dt>
-<dd>
-Compare this instance to another one using the same
-<code style="white-space: normal">extended_type_info</code> implementation.
-Return <code style="white-space: normal">true</code> if the types referred
-to are the same.  Otherwise return 
-<code style="white-space: normal">false</code>
-</dd>
-
-<dt><h4><code style="white-space: normal"><pre>
-const char ETI::get_key() const;
-</pre></code></h4></dt>
-<dd>
-Retrieve the external key (aka GUID) for this class.
-</dd>
-
-<dt><h4><code style="white-space: normal"><pre>
-virtual void * construct(unsigned int count, ...) const;
-</pre></code></h4></dt>
-<dd>
-Construct an instance of the corresponding type
-with the include argument list.
-</dd>
-
-<dt><h4><code style="white-space: normal"><pre>
-virtual void * destroy(void const * const ptr ) ) const;
-</pre></code></h4></dt>
-<dd>
-Destroy an instance of this type. This calls the
-proper destructor and recovers allocated memory.
-</dd>
-
-</dl>
-
-<h3><a name="models">Models</a></h3>
-The serialization library includes two distinct
-<code style="white-space: normal"><a target="extended_type_info.hpp" href="../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code>
-implementations.
-<p>
-<code style="white-space: normal"><h4><a target="extended_type_info_typeid.hpp" href = "../../../boost/serialization/extended_type_info_typeid.hpp">
-extended_type_info_typeid</a></h4></code>is implemented in terms of the standard typeid(). It presumes that RTTI support is enabled
-by the compiler.
-<p>
-<code style="white-space: normal"><h4><a target="extended_type_info_no_rtti.hpp" href="../../../boost/serialization/extended_type_info_no_rtti.hpp">
-extended_type_info_no_rtti</a></h4></code>
-is implemented in a way that doesn't rely on the existence RTTI.
-Instead, it requires that all polymorphic types be explictly exported.
-In addition, if the export facility is to be used to serialize types
-through base class pointers, those types are required to implement
-a virtual function with the signature:
-
-<code><pre>
-virtual const char * get_key();
-</pre></code>
-which returns a unique string the most derived object this class.  
-This function must be virtual in order to implement the functionality required by
-<code style="white-space: normal">ETI::get_derived_extended_type_info</code>
-as described above.
-
-<h3><a name="example">Example</a></h3>
-The test program <code style="white-space: normal"><a target="test_no_rtti" href="../test/test_no_rtti.cpp">test_no_rtti</a></code>
-implements this function in terms of the <code style="white-space: normal"><a target="extended_type_info_no_rtti.hpp" href="../../../boost/serialization/extended_type_info_no_rtti.hpp">
-extended_type_info</a></code> API above to return the export key associated with the class.  
-This requires that non-abstract types be exported. It also demonstrates the
-inter-operability with between two different implementations of
-<code style="white-space: normal">extended_type_info</code>.
-
-<h3><a name="type_requirements">Requirements for Each Type</a></h3>
-Each type to be managed by the system must be
-"registered" individually. This is accomplished by instantiating
-templates.  For example, if the type T is to use the type_info system
-one would include the following code:
-
-<code style="white-space: normal"><pre>
-namespace boost {
-namespace serialization {
-template
-struct extended_type_info_typeid>T>;
-template
-struct extended_type_info_typeid>const T>;
-} // serialization
-} // boost
-</pre></code>
-
-For those using the serialization library, this step can be skipped
-as it is done automatically.  The serialization library includes
-the macro:
-
-<code style="white-space: normal"><pre>
-BOOST_CLASS_TYPE_INFO(
-    my_type, 
-    extended_type_info_typeid>my_class>
-)
-</pre></code>
-
-which is used to specify which <code>extended_type_info</code> system is to 
-be used for a given type.
-<p>
-<code>extended_type_info</code> includes a facility for constructing
-instances of types without knowing what the exact types are. This is done
-with the function 
-<code>
-virtual void * extended_type_info::construct(unsigned int count = 0, ...) const;
-</code>
-. For example:
-<br>
-<code><pre>
-struct base {
-...
-};
-struct derived : public base {
-...
-};
-...
-extended_type_info *eti = extended_type_info::find("my_class")
-base * b = eti->construct(...);
-</pre></code>
-<br>
-The <code>construct</code> takes an argument count and up to
-four parameters of any type.  The arguments are passed to the
-constructor of "my_class".
-
-
-A complete example of this can be found
-<a target="test_dll_plugin.cpp" href="../test/test_dll_plugin.cpp">here</a>
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2005-2009. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/faq.html b/SRC/Boost/libs/serialization/doc/faq.html
deleted file mode 100755
index 0724e76..0000000
--- a/SRC/Boost/libs/serialization/doc/faq.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    <link rel="stylesheet" type="text/css" href="../../../boost.css">
-    <link rel="stylesheet" type="text/css" href="style.css">
-    <title>Serialization - Tips and Tricks</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-    <table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-        <tr>
-            <td valign="top" width="300">
-                <h3>
-                    <a href="../../../index.htm">
-                        <img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-            </td>
-            <td valign="top">
-                <h1 align="center">
-                    Serialization</h1>
-                <h2 align="center">
-                    Tips and Tricks</h2>
-            </td>
-        </tr>
-    </table>
-    <hr>
-This section will be used to list answers to questions raise in the mailing
-lists.  Most of these are due to subtle aspects of the library which are
-overlooked even though they might be described in the documenation.  Often,
-these issues are very easy to address - but can be excruciating difficult to
-find.  Should you have such an experience, feel free to vent your frustration
-in a constructive way by adding in your own item.  The best way to do this
-is to create a <a href="http://svn.boost.org/trac/boost/browser">"TRAK" item</a> 
-which includes the text you want to add to this list.
-
-<ul>
-<li><h4>
-</h4></li>
-</ul>
-<hr>
-<p>
-<i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2009. Distributed
-under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt
-or copy at http://www.boost.org/LICENSE_1_0.txt) </i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/headers.html b/SRC/Boost/libs/serialization/doc/headers.html
deleted file mode 100755
index 228767f..0000000
--- a/SRC/Boost/libs/serialization/doc/headers.html
+++ /dev/null
@@ -1,447 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Code Structure</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Code Structure</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-
-<dl class="page-index">
-  <dt><a href="#userincludes">Files Included by User Programs</a>
-  <dl class="page-index">
-    <dt><a href="#archiveimplementations">Archive Implementations</a>
-    <dt><a href="#serializationdeclarations">Serialization Declarations</a>
-    <dt><a href="#serializationimplementations">Serialization Implementations</a>
-  </dl>
-  <dt><a href="#libraryimplementation">Files Which Implement the Library</a>
-  <dl class="page-index">
-    <dt><a href="#archivedevelopment">Archive Development</a>
-    <dt><a href="#archiveinternals">Archive Internals</a>
-    <dt><a href="#codemodules">Archive Library Code Modules</a>
-    <dt><a href="#dataflowiterators">Dataflow Iterators</a>
-  </dl>
-</dl>
-
-This library includes a large number of files. The are organized and classified
-according to purpose listed in the above index. 
-<p>
-<code style="white-space: normal">namespace</code> of a classes and templates is syncronized
-with the directory in which the file is found.  For example, the class declaration
-<pre><code>
-boost::archive::text_oarchive
-</code></pre>
-is included with the following declaration
-<pre><code>
-#include <boost/archive/text_oarchive.hpp>
-</code></pre>
-
-<a name="userincludes">
-<h3>Files Included by User Programs</h3>
-Using this library entails including headers listed in this section.
-It should not be necessary to explictly include any other header files.
-
-<a name="archiveimplementations">
-<h4>Archive Implementations</h4>
-These header files contain declarations used to save and restore data to each type
-of archive. Include the archives according to the facilities the code module requires.
-
-<dl>
-
-<dt><a target="archive_exception" href="../../../boost/archive/archive_exception.hpp">
-boost/archive/archive_exception.hpp
-</a>
-<dd>Exceptions which might be invoked by the library.</dd>
-
-<dt><a target="binary_iarchive" href="../../../boost/archive/binary_iarchive.hpp">
-boost/archive/binary_iarchive.hpp
-</a>
-<dd>native binary input archive used for loading.</dd>
-
-<dt><a target="binary_oarchive" href="../../../boost/archive/binary_oarchive.hpp">
-boost/archive/binary_oarchive.hpp
-</a>
-<dd>native binary output archive used for saving.</dd>
-
-<dt><a target="text_iarchive" href="../../../boost/archive/text_iarchive.hpp">
-boost/archive/text_iarchive.hpp
-</a>
-<dd>text input archive used for loading.</dd>
-
-<dt><a target="text_oarchive" href="../../../boost/archive/text_oarchive.hpp">
-boost/archive/text_oarchive.hpp
-</a>
-<dd>text output archive used for saving.</dd>
-
-<dt><a target="text_wiarchive" href="../../../boost/archive/text_wiarchive.hpp">
-boost/archive/text_wiarchive.hpp
-</a>
-<dd>wide character text input archive used forloading.</dd>
-
-<dt><a target="text_woarchive" href="../../../boost/archive/text_woarchive.hpp">
-boost/archive/text_woarchive.hpp
-</a>
-<dd>wide character text input archive used for saving.</dd>
-
-<dt><a target="xml_iarchive" href="../../../boost/archive/xml_iarchive.hpp">
-boost/archive/xml_iarchive.hpp
-</a>
-<dd>xml input archive used for loading.</dd>
-
-<dt><a target="text_oarchive" href="../../../boost/archive/xml_oarchive.hpp">
-boost/archive/xml_oarchive.hpp
-</a>
-<dd>xml output archive used for saving.</dd>
-
-<dt><a target="text_wiarchive" href="../../../boost/archive/xml_wiarchive.hpp">
-boost/archive/xml_wiarchive.hpp
-</a>
-<dd>wide character xml input archive used for loading.</dd>
-
-<dt><a target="text_woarchive" href="../../../boost/archive/xml_woarchive.hpp">
-boost/archive/xml_woarchive.hpp
-</a>
-<dd>wide character xml output archive used for saving.</dd>
-
-</dl>
-
-<a name="serializationdeclarations">
-<h4>Serialization Declarations</h4>
-To specify how a type is serialized, one codes templates for serialization functions.
-In the simplest cases, this does not require the inclusion of any header files for this purpose.
-In most cases one or more of the following header files will have to be included in order
-to complete or refine the description of the serializaition implementation for a given class.
-
-<dl>
-
-<dt><a target="base_object" href="../../../boost/serialization/base_object.hpp">
-boost/serialization/base_object.hpp
-</a>
-<dd>For serialization of base classes.</dd>
-
-<dt><a target="nvp" href="../../../boost/serialization/nvp.hpp">
-boost/serialization/nvp.hpp
-</a>
-<dd>To associate a name tag with a serializable object.  This is necessary to
-properly render an xml archive which includes the object name.</dd>
-
-<dt><a target="split_free" href="../../../boost/serialization/split_free.hpp">
-boost/serialization/split_free.hpp
-</a>
-<dd>To divide implementation of <em>non-intrusive</em> serialization into separate
-save and load functions.</dd>
-
-<dt><a target="split_member" href="../../../boost/serialization/split_member.hpp">
-boost/serialization/split_member.hpp
-</a>
-<dd>To divide implementation of <em>intrusive</em> serialization into separate
-save and load functions.</dd>
-
-<dt><a target="export" href="../../../boost/serialization/export.hpp">
-boost/serialization/export.hpp
-</a>
-<dd>For serialization of pointers to derived classes via key export.</dd>
-
-<dt><a target="assume_abstract" href="../../../boost/serialization/assume_abstract.hpp">
-boost/serialization/assume_abstract.hpp
-</a>
-<dd>This is just a thin wrapper which permits one to explicitly specify that a 
-particular type is an abstract base class.  It is necessary to use this
-for compilers which don't support the boost type traits implementation of
-is_abstact.
-</dd>
-
-</dl>
-
-This group will be required less frequently.  The are used to override aspects of
-the default implementation of the serialization process for specified types.
-
-<dl>
-
-<dt><a target="version" href="../../../boost/serialization/version.hpp">
-boost/serialization/version.hpp
-</a>
-<dd>To override the default version index (0) assigned to a class.</dd>
-
-<dt><a target="level" href="../../../boost/serialization/level.hpp">
-boost/serialization/level.hpp
-</a>
-<dd>To override the default implementaton level trait for a type.</dd>
-
-<dt><a target="tracking" href="../../../boost/serialization/tracking.hpp">
-boost/serialization/tracking.hpp
-</a>
-<dd>To override the default tracking trait for a type.</dd>
-
-<dt><a target="type_info_implementation" href="../../../boost/serialization/type_info_implementation.hpp">
-boost/serialization/type_info_implementation.hpp
-</a>
-<dd>By default, the library uses RTTI, to identify types at runtime. In some cases, E.G.
-such as a platform which doesn't implement RTTI, this header can be included to permit
-the override of the default runtime type identification system.</dd>
-
-</dl>
-
-<a name="serializationimplementations">
-<h4>Serialization Implementations</h4>
-This group of headers includes templates which implement serialization for Standard
-Library or Boost Library templates.  Any program which uses these templates can
-invoke serialization of objects of these types just by including the corresponding header.
-<p>
-By convention' these header files are named:
-
-boost/serialization/xxx.hpp
-
-where xxx is the name of the header file which contains the type to be serialized.
-For example, the declaration
-<pre><code>
-#include <boost/serialization/list.hpp>
-</code></pre>
-
-includes the code to implement serialization of the STL
-<code style="white-space: normal">std::list</code> type. While
-
-<pre><code>
-#include <boost/serialization/shared_ptr.hpp>
-</code></pre>
-
-includes code to implement serialization of the BOOST <code style="white-space: normal">boost::shared_ptr</code> type.
-
-Note that including the serialization header for a type automatically includes the 
-appropriate header of the type to be serialized.
-
-As of this writing, the library includes templates of all STL library templates as well
-as templates for <code style="white-space: normal">boost::optional</code>, 
-<code style="white-space: normal">boost::shared_ptr</code>, and 
-<code style="white-space: normal">boost::scoped_ptr</code>.  
-Presumably, this list will expand with the passage of time.
-
-<a name="libraryimplementation">
-<h3>Files Which Implement the Library</h3>
-
-<a name="archivedevelopment">
-<h4>Archive Development</h4>
-These header files contain declarations for basic types used to create
-concrete archive types that are made available to users above. Users wishing
-to make their own type of archive may want to examine these headers to
-see how the archives included with the libary have been constructed.
-
-<dl>
-
-<dt><a target="basic_archive" href="../../../boost/archive/basic_archive.hpp">
-boost/archive/basic_archive.hpp
-</a>
-</dt>
-<dd>
-This file includes declarations for certain types that have to be accounted
-for in all archive implementations.  The serialization system relies on 
-certain special types such as <code style="white-space: normal">class_id_type</code> and others to 
-record information in archives that is required to reconstruct the original
-data structure.  These are handled exactly as any other serializable type.
-That is, the can be handled as simple primitives such as they are in simple
-text files, or with special code as they are in xml archives.
-</dd>
-
-<dt><a target="basic_text_oprimitive" href="../../../boost/archive/basic_text_oprimitive.hpp">
-boost/archive/basic_text_oprimitive.hpp
-</a>
-<dt><a target="basic_text_iprimitive" href="../../../boost/archive/basic_text_iprimitive.hpp">
-boost/archive/basic_text_iprimitive.hpp
-</a>
-</dt>
-<dd>
-Implementation of serialization of primitive types in terms of an character
-or wide character text streams. This is used in the implementation of text and
-xml archives.  Presumably this would be useful for implementations of other variations
-of text archives such as user friendly text or windows ini files.
-</dd>
-
-<dt><a target="basic_binary_oprimitive" href="../../../boost/archive/basic_binary_oprimitive.hpp">
-boost/archive/basic_binary_oprimitive.hpp
-</a>
-<dt><a target="basic_binary_iprimitive" href="../../../boost/archive/basic_binary_iprimitive.hpp">
-boost/archive/basic_binary_iprimitive.hpp
-</a>
-</dt>
-<dd>
-Implementation of serialization of primitive types in terms of an character
-or wide character binary streams. 
-</dd>
-
-<dt><a target="basic_binary_oarchive" href="../../../boost/archive/basic_binary_oarchive.hpp">
-boost/archive/basic_binary_oarchive.hpp
-</a>
-<dt><a target="basic_binary_iarchive" href="../../../boost/archive/basic_binary_iarchive.hpp">
-boost/archive/basic_binary_iarchive.hpp
-</a>
-<dd>
-Implementation of serialization of all types in terms of an character
-or wide character binary streams.  This is factored out separately from the
-implementation of binary primitives above.  This may facilitate the creation of
-other types of binary archives in the future. It also preserves analogy and symetry with
-the rest of the library which aids in understanding.
-</dd>
-<dt><a target="basic_text_oarchive" href="../../../boost/archive/basic_text_oarchive.hpp">
-boost/archive/basic_text_oarchive.hpp
-</a>
-<dt><a target="basic_te't_iarchive" href="../../../boost/archive/basic_text_iarchive.hpp">
-boost/archive/basic_text_iarchive.hpp
-</a>
-</dt>
-<dt><a target="basic_xml_oarchive" href="../../../boost/archive/basic_xml_oarchive.hpp">
-boost/archive/basic_xml_oarchive.hpp
-</a>
-<dt><a target="basic_xml_iarchive" href="../../../boost/archive/basic_xml_iarchive.hpp">
-boost/archive/basic_xml_iarchive.hpp
-</a>
-</dt>
-<dd>
-Implementation of serialization of all types in terms of an character
-or wide character text streams. These classes specify archive type specific
-behavior on a type by type basis.  For example, <code style="white-space: normal">basic_xml_oarchive.hpp</code>
-includes code to guarentee that any object not attached to a name will 
-trap during compile time. On the other hand, <code style="white-space: normal">basic_text_oarchive.hpp</code>
-contains code to strip out and ingore any names attached to objects.
-<p>
-<dt><a target="common_iarchive" href="../../../boost/archive/detail/common_iarchive.hpp">
-boost/archive/detail/common_iarchive.hpp
-</a>
-<dt><a target="common_oarchive" href="../../../boost/archive/detail/common_oarchive.hpp">
-boost/archive/detail/common_oarchive.hpp
-</a>
-<dd>
-All archive implementations are derived from these header files.  They provide
-the interface to the internal implementation details of the library.
-</dd>
-
-</dl>
-
-<a name="archiveinternals">
-<h4>Archive Internals</h4>
- 
-The interface (see <a target="detail" href="archives.html">Archive Concepts</a>) 
-and implementation are factored out into separate classes to minimize code duplication.
-
-These files are found in the directory
-<a target="boost_archive_detail" href="../../../boost/archive/detail">boost/archive/detail</a>.  
-These are included as necessary by the archive class implemenations listed above.
-This has the unfortunate side effect of making the implementation less transparent.
-of the library in order to implement either a class serialization or a new
-archive type. Users should never find it necessary to change these files.
-<p>
-The following discussion is based on the
-<a target="class_diagram" href="class_diagram.html">class diagram</a>.
-<p>
-<dt><a target="interface_iarchive" href="../../../boost/archive/detail/interface_iarchive.hpp">
-boost/archive/detail/interface_iarchive.hpp</a>
-<dt><a target="interface_iarchive" href="../../../boost/archive/detail/interface_iarchive.hpp">
-boost/archive/detail/interface_iarchive.hpp</a>
-<dd>
-Here are the declarations and definitions which for the 
-<a href="archives.html">archive_concept</a>. This class redirects calls to the 
-archive interface to a function named <code>save_override</code> in the most derived
-archive class. 
-</dd>
-<code>save_override</code> is declared and implemented in each class in
-the archive hierarchy.
-
-<pre><code>
-template<class T>
-void save_override(T & t, BOOST_PFTO int){
-    // All for otherwise unhandled types are forwarded to the base class.
-    // This emulates behavior for function overloading.
-    this->base::save_override(t, 0);
-}
-void save_override(const some_type & t, int){
-    // any special handling for some type
-    // this will usually entail forwarding some other operation
-    // in the most derived class.
-    this->This()->...
-    // or in one of its parents basic_text_oprimitive
-    this->This()->save(static_cast<int>(t));
-}
-... // other special type handling
-</code></pre>
-
-Note the usage of
-<a target="detail" href="implementation.html#functiontemplateordering">Partial Function Template Ordering</a>
-to permit the correct save implementation to be selected.  
-</dd>
-
-<a name="codemodules">
-<h4>Archive Library Code Modules</h4>
-Parts of the library are implemented as library code. All of this code is to be found in
-<a target="src" href="../../../libs/serialization/src">libs/serialization/src</a>. 
-in the form of *.cpp.  The directory
-<a target="src" href="../../../boost/archive/impl">boost/archive/impl</a>
-contains *.ipp files which implement templates. These templates are instantiated
-only by archive implementation so are generally not included in user code modules.
-<p>
-The trade offs related to library implementation via pre-compiled code and templated
-headers are well known.  This library uses both.  It uses templated headers
-to generate code to serialize user and primitive types and it uses pre-compiled
-library code for that part of the code which only depends upon the archive type.
-Building of the library generates and compiles code for all archives implemented.
-
-<ul>
-  <li>Serialization of user and primitive types runs a top speed. This is a noticiable
-  difference with a previous version of the library which did not use templates for archives.
-  <li>Library implementation code that never changes need only be compiled once
-  rather than each time a user's program is recompiled.  This can save much
-  development time.
-  <li>Headers which solely related to implementation need only be included
-  in the library code modules. This prevents a user program from accidently 
-  depending on an implementation feature of the serialization library.
-  <li>In building the library I came to the conclusions that there can arise
-  situations regarding static code/data instantiation that could not be 
-  satisfactorily addressed without a code module.  Unfortunately, I've forgotten
-  the circumstances which led me to this conclusion.
-</ul>	
-An example of this is the usage of the spirit library in the library.
-It takes a long time to compile and includes lots of other files. Having this
-only in the library is much more convenient that having to include in every
-program which uses xml serialization.
-
-<a name="dataflowiterators">
-<h4>Dataflow Iterators</h4>
-In the course of developing this library, it became convenient to make a set
-of composable iterator adaptors for handling archive text.  Applications include
-escaping and unescaping xml text, implementi'g to/from base64 conversion among
-others.
-<p>
-This is a ripe topic in itself. Its touched upon by the 
-<a href="../../../libs/iterator/doc/index.html">boost iterator</a> libraries, 
-<a href="http://www.zib.de/weiser/vtl/index.html">View Template Library</a>, and others. 
-<p>
-The code for these iterators is really independent of this library.  But since it
-hasn't been and probably won't be reviewed outside of this context. I've left in a directory 
-local to the serialization library:
-<a target="archiveiterators" href="../../../boost/archive/iterators">boost/archive/iterators</a>.
-These iterators are described in 
-<a href="dataflow.html">Dataflow Iterators</a>.
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/history.html b/SRC/Boost/libs/serialization/doc/history.html
deleted file mode 100755
index 9820870..0000000
--- a/SRC/Boost/libs/serialization/doc/history.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - History</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">History</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<ol>
-  <li>26 Feb 2002 initial version uploaded to boost
-  <li>27 Feb 2002
-    <ul>
-      <li>divide interface from implementation for class 
-          serialization to permit compiliation on gcc
-      <li>improved template instantanciation for type templates
-    </ul>
-  <li>18 Mar 2002 - draft #2 uploaded to boost
-    <ul>
-      <li>elminated locale effects on archives
-      <li>added signature and library version to archive header
-      <li>improved detection of errors when objects are serializationed 
-          as pointers and subsequently serializationed as objects
-      <li>permit non-portable binary archives
-      <li>implement work around for systems such as MSVC 6.0 that
-          don'tsupport partial ordering
-    </ul>
-  <li>16 May 2002 - draft #3 uploaded to boost
-    <ul>
-      <li>Ability to specify serialization of other templates in a
-          non-intrusive way.
-      <li>Included and example which uses boost::shared_ptr.
-      <li>improved documentation
-      <li>More test cases
-      <li>More testing and documentation of obscure situtations
-      <li>Better code organization for transparency
-      <li>Wide character support implemented and tested with unicode.
-    </ul>
-  <li>28 Jun 2002 - #4 library submission
-    <ul>
-      <li>minor corrections
-      <li>replaced erroneous shared_ptr example with std::auto_ptr example
-      <li>prevention of memory leaks when exceptions are invoked
-    </ul>
-  <li>30 Aug 2002 - #5 library submission
-    <ul>
-      <li>minor corrections
-      <li>Additions to documentation to explicitly address issues of
-          exception safety.
-      <li>More test cases/demos to illustrate handlling of the above issues.
-      <li>Additions to documentation to include rationale for not depending
-          on type_id
-      <li>Implementation of serialization of boost::shared_ptr.
-          This is included as a demo as it depends upon a minor alteration
-          of boost::shared_count.
-    </ul>
-  <li>08 Nov 2002   - #6 library submission
-    <ul>
-      <li>minor corrections
-      <li>corrected error which manifested itself when serializing
-          polymorphic pointers to obects derived from multiple
-          base classes
-      <li>minor adjustments to support plug-ins via virtual
-          save/load/version functions
-      <li>test cases to support the above
-    </ul>
-  <li>08 September 2003- version # 12 library submission
-    <ul>
-      <li>attempts to address all issues raised during the November 2002 review
-    </ul>
-  <li>November 2003 - draft #13 uploaded
-    <ul>
-      <li>corrections, enhancements, change in api for pointer overload
-    </ul>
-  <li>28 December 2003
-    <ul>
-       <li>implementation of save/loadbinary
-       <li>enhancements included archives to permit derivation
-    </ul>
-  <li>1 March 2004 - draft # 17 upload
-    <ul>
-       <li>portability to intel 8.0, and VC 6.0
-       <li>Alter archive implementation to permit derivation.  Make tests.
-       <li>Implement serialize/save/load binary for text and XML archives
-       using <code>base64</code> character encoding.
-       <li>Added documentation and test for serialization of large binary objects.
-       <li>Added "Derivation from an Existing Archive Class" to documentation along
-       with example program.
-       <li>Added PIMPL example
-       <li>certain special situations are now detected and addressed at
-       compile time to generate all in-line code.  For example, for types
-       serialized without class information, and without memory tracking,
-       the serialization process can be reduced to a minimal amount of inline
-       code.
-       <li>All tests have been run in release as well as debug mode
-       <li>Many improvements in code and documentation to improve accuracy and completeness.
-    </ul>
-  <li>11 April 2004 - draft # 18 upload
-    <ul>
-       <li>Reorganization of header and template files.
-       <li>Enhanced documentation to help explain implementation issues.
-       <li>Adjustments to improve support for less conformant compilers.
-       <li>A few bug fixes.
-    </ul>
-  <li>31 May 2004 - draft # 20 upload
-    <ul>
-       <li>Polymorphic archives.
-       <li>A few bug fixes.
-    </ul>
-  <li>1 November 2004 - final changes for first boost official release 1.32 .
-    <ul>
-       <li>Adjustments to address make package compatible with two-phase lookup.
-       <li>Many small adjustments to accomdate quirks of various compilers.
-       <li>A few bug fixes.
-    </ul>
-</ol>
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/implementation.html b/SRC/Boost/libs/serialization/doc/implementation.html
deleted file mode 100755
index 9e52172..0000000
--- a/SRC/Boost/libs/serialization/doc/implementation.html
+++ /dev/null
@@ -1,443 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Implementation Notes</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Implementation Notes</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-  <dt><a href="#functiontemplateordering">Partial Function Template Ordering</a>
-  <dt><a href="#charencoding">Character Encoding</a>
-  <dt><a href="#tempatesyntax">Template Invocation syntax</a>
-  <dt><a href="#partialtemplatespecialization">Partial Template Specialization</a>
-  <dt><a href="#othercompilerissues">Specific Compiler/Library Issues</a>
-  <dl class="page-index">
-    <dt><a href="#gcc3x">GCC 3.X, 4.X</a>
-    <dt><a href="#gcc295">GCC 2.95</a>
-    <dt><a href="#intel80">Intel 8.0</a>
-    <dt><a href="#vc80">Visual C++ 8.0</a>
-    <dt><a href="#vc71">Visual C++ 7.1</a>
-    <dt><a href="#vc70">Visual C++ 7.0</a>
-    <dt><a href="#vc6">Visual C++ 6.0</a>
-    <dt><a href="#borland">Borland 5.64 and 5.51</a>
-    <dt><a href="#comeau">Comeau 4.3.3</a>
-    <dt><a href="#codewarrior9">Code Warrior 9.x</a>
-    <dt><a href="#codewarrior">Code Warrior 8.3</a>
-    <dt><a href="#tru64">TRU64</a>
-    <dt><a href="#dinkumware">Dinkumware Library</a>
-    <dt><a href="#stlport">STLPort 4.5.3</a>
-  </dl>
-</dl>
-
-<h3><a name="functiontemplateordering">Partial Function Template Ordering</a></h3>
-Not all C++ compilers correctly support partial function template ordering (PFTO).
-For these compilers, the following code will fail to compile:
-<pre><code>
-template<class Archive, class T>
-void serialize(
-    Archive & ar, 
-    T & t, 
-    const unsigned int file_version
-){
-    ...
-}
-
-template<class Archive, class T>
-void serialize(
-    Archive & ar, 
-    my_template<T&gt & t, 
-    const unsigned int file_version
-){
-    ...
-}
-</pre></code>
-The serialization library works around this issue by using a different
-default definition of the first template:
-<pre><code>
-template<class Archive, class T>
-void serialize(
-    Archive & ar, 
-    T & t, 
-    const unsigned long int file_version  // Note: change to long
-){
-    ...
-}
-</pre></code>
-Now, the second template is not matched with the first one so there
-is no PFTO and no compile error.  When the serialization library invokes
-<pre><code>
-serialize(ar, t, 0);
-</pre></code>
-the function declaration is first matched against templates with
-an integer for the third argument.  If there is a match, the matching
-template is instantiated and later invoked.  If there is no match,
-an attempt is made to match other templates by converting arguments to other types.
-In this case the third argument can be converted to long to match
-the first template - which is the default.  So in this case, the first
-template will be instantiated and later invoked.  We have managed to
-use function overloading to achieve the same effect as PFTO
-were it correctly implemented.
-<p>
-This depends upon undefined behavior of a compiler already
-determined to be non-conforming.  In other words, there is no 
-guarantee that this will work on all compilers.  If a compiler does not
-correctly support PFTO and this method cannot be used to workaround
-it, non-intrusive serialization cannot be supported for that compiler.
-As of this writing, such a compiler has not been encountered.
-<p>
-It turns out that using this "trick" can create problems with
-compilers that DO correctly support PFTO.  For this reason we
-define a macro <code style="white-space: normal">BOOST_PTFO</code> which 
-is defined to be <code style="white-space: normal">long</code>
-for non-conforming compilers and nothing for conforming ones. So
-the default definition is really:
-The serialization library works around this issue by using a different
-default definition of the first template:
-<pre><code>
-template<class Archive, class T>
-void serialize(
-    Archive & ar, 
-    T & t, 
-    const unsigned BOOST_PFTO int file_version  // Note: change to BOOST_PFTO
-){
-    ...
-}
-</pre></code>
-
-<h3><a name="charencoding">Character Encoding</a></h3>
-The whole question of character encoding combined with wide characters
-is much more complicated than it would seem to be. The current library
-defines in 3 formats (text, binary, and XML), wide and narrow characters, 
-an attempts to be portable between compiler libraries.  The results of 
-a rather long consideration of all these factors has been to set
-default encoding according to the following rules.
-<ul>
-  <li>All text archives (i.e. <code style="white-space: normal">text_?archive</code>) will produce
-      text output in the current stream <code style="white-space: normal">locale</code>.  Generally this will
-      produce no changes in string data.
-  <li>To produce binary output with Microsoft compilers, the stream
-      will have to be opened with mode <code style="white-space: normal">ios::binary</code>.
-      Failure to do so will result in 0x0d characters (carriage-return)
-      characters being removed from the input stream if they are followed
-      by a 0x0a character (line-feed).  This could corrupt the input
-      and make the file unreadable.  On UNIX systems the <code style="white-space: normal">ios::binary</code>
-      is not required and is ignored if used.
-  <li>character XML archives (i.e. xml_oarchive) will produce XML output
-      with characters encoded according to the current stream <code style="white-space: normal">locale</code>.
-  <li>wide character XML archives (i.e. xml_woarchive) will produce
-      files encoded in UTF-8.
-</ul>
-This character encoding is implemented by changing the <code style="white-space: normal">locale</code> of the
-i/o stream used by an archive when the archive is constructed, the stream
-local is changed back to its original value. This action can be overridden 
-by specifying <code style="white-space: normal">boost::archive::no_codecvt</code>
-when the archive is opened.  In this case, the stream <code style="white-space: normal">locale</code> will
-not be changed by the serialization library.
-<p>
-Note that the code conversion included for wide character text and XML
-archives could alter <code style="white-space: normal">std::string</code> data stored in archives.
-Suppose a normal (multi-byte) character string
-is written to a wide character stream.  Our system uses the current <code style="white-space: normal">locale</code>
-to translate it to a wide character string before writing it out.  
-Upon reading, it is translated back to a (multi-byte)string. 
-If the <code style="white-space: normal">locale</code> on the platform that reads the archive is different than 
-the <code style="white-space: normal">locale</code> on the platform that wrote the stream, the actual string data
-may be altered by the serialization process. To avoid this, either
-avoid usage of <code style="white-space: normal">locale</code> dependent multi-byte strings or be sure that
-the <code style="white-space: normal">locale</code> is set correctly before reading the archive.
-<p>
-To produce wide character text output (i.e. 16 bit characters on Win32 systems),
-do the following.
-<ul>
-  <li>Open a wide character stream.
-  <li>Alter the stream <code style="white-space: normal">locale</code> to use 
-     <code style="white-space: normal">boost::archive::codecvt_null<OStream::char_type></code>
-  <li>Create the archive with the flag <code style="white-space: normal">no_codecvt</code>.
-</ul>
-Naturally, the input process has to be symmetrical.
-<h3><a name="partialtemplatespecialization">Partial Template Specialization</a></h3>
-Compilers which fail to support partial template specialization will fail to compile
-the following code.  To make this compiler, the <code style="white-space: normal">const</code> has to be removed.
-<pre><code>
-void f(A const* a, text_oarchive& oa)
-{
-  oa << a;
-}
-</code></pre>
-<h3><a name="tempatesyntax">Template Invocation syntax</a></h3>
-Some compilers may not recognize the syntax:
-<pre><code>
-ar.template register_type<T>();
-</code></pre>
-for "registering" derived pointers of polymorphic classes.  The actual 
-function prototype is:
-<pre><code>
-template<T>
-void register_type(T * t = NULL);
-</code></pre>
-so that one may write <code style="white-space: normal">ar.register_type(static_cast<T *>(NULL))</code> instead of
-the syntax described above.
-</ul>
-<h3><a name="othercompilerissues">Specific Compiler/Library Issues</a></h3>
-
-<h4><a name="gcc3x">GCC 3.X, 4.X</a></h4>
-<ul>
-    <li>GCC versions for Cygwin and MinGW fail to support wide character I/O.  
-    So all tests using wide char I/O fail.  Note that if wide character I/O support
-    is added with STLPort, all tests complete successfully.
-    <li>This compiler generates long warning messages related to the usage of
-    non virtual destructors in polymorphic classes.  These warnings have been
-    carefully considered and the code that generates these warning has been 
-    unchanged.  In this case the warning should should be ignored as in certain
-    usages of the library, making the destructors virtual could lead to problems.
-    As an alternative, base class destructors have been made "protected" to
-    address the concerns that motivate these warning messages.  When building
-    the serialization library and tests with bjam, these warnings are suppressed. 
-    When building one's own applications, these warnings can be suppressed by
-    adding the following to the compiler command line:
-    <pre><code>
-    -Wno-non-virtual-dtor
-    -Wno-ctor-dtor-privacy
-    </code></pre>
-</ul>
-<h4><a name="gcc295">GCC 2.95</a></h4>
-All of the above plus:<br>
-<ul>
-    <li>The serialization library depends on the templated stream 
-    implementation to function properly.
-    to function properly.  So STLPort must be used to build the library.
-    <li>Polymorphic archive tests fail.
-    <li>XML serialization only works with version 1.6x of spirit. In order to build 
-    and use this library with this compiler, one must use version 1.6x rather than the 
-    latest version shipped with boost. See <a href="release.html">Release Notes</a>. 
-</ul>
-<h4><a name="intel80">Intel C++ 8.0</a></h4>
-No known issues. All tests compile and run in debug and release modes.
-
-<h4><a name="vc80">Visual C++ 8.0</a></h4>
-This compiler emits warnings for calls to functions from the standard
-library which are deemed security risks.  The serialization depends upon
-making some of these calls so programs which use the serialization library
-will get warning messages.  These messages can be suppressed from the command 
-line by including the following switch:
-    <pre><code>
-    /wd4996
-    </code></pre>
-
-<h4><a name="vc71">Visual C++ 7.1</a></h4>
-Derivation from an archive class defined in a DLL as described in ... will not work.
-This is due to the way that VC++ handles templated code with __decl(dllexport) and
-__decl(dllimport) specifications.  Basically, this compiler requires that all the
-instantiations have the same specification - even though they have different
-template arguments. The example <code style="white-space: normal">
-demo_portable_iarchive.cpp</code> would have to reformulated as a library or dll
-similar to the pre-defined archives in order to function.
-<p>
-This compiler does not have RTTI or exception handling turned on by default.  Although
-they are not strictly necessary to use the serialization package, the example and test
-program presume that they are enabled.  So be sure your command line or IDE settings 
-enable these features if you want to build and run these programs.
-<p>
-This compiler can treat <code style="white-space: normal">wchar_t</code> as either
-a short integer or an intrinsic type.
-If <code style="white-space: normal">/Zc:wchar_t</code> is specified on the
-compile command line, <code style="white-space: normal">wchar_t</code> will be 
-considered an intrinsic type - otherwise
-it will be treated as a synonym for a 16 bit integer.  The library can be used
-either way - <strong>BUT</strong> - both the libray <strong>AND</strong> the application 
-must be  compiled with the same switch settings.  Note that <code style="white-space: normal">BJAM</code>
-includes this switch by default.  So if want to use the libraries that
-<code style="white-space: normal">BJAM</code> builds, you should include this switch
-when you compile your own applications.
-<h5>Using the Visual C++ IDE</h5>
-The library includes a VC++ 7.1 "Solution" - <code style="white-space: normal">BoostSerializationLibrary</code>
-along with of a set of project files - one for each demo and test. Consider the following if you
-decided to use these configurations.
-<ul>
-    <li>The projects assume that the tests have been built with bjam using the default
-    locations.  This will result in a <code style="white-space: normal">bin</code> subdirectory
-    within one's main boost directory.  Below this there is a whole structure which maintains 
-    object and library files according to the type of build.  The easiest way to build this is to
-    invoke the runtest script which uses bjam. (see below)  If the libraries are not in these locations,
-    the projects will have to be modified accordingly.
-    <li>There are project configurations for all the combinations of build variants that boost
-    supports. That is for release, debug, static, static multi-threading, etc..
-    <li>If you want to use/debug the DLL versions of libraries and corresponding tests, alter
-    the project file to define <code style="white-space: normal">BOOST_ALL_DYN_LINK=1</code>.
-    Note that for the executables to run, the <code style="white-space: normal">PATH</code>
-    environmental variable will have to include the directories that contain the DLL versions of
-    the boost libraries.
-    <li>If you have difficulties building your own projects and linking with the boost libraries, 
-    compare the project settings of your own projects with the ones here.  VC sometimes requires
-    consistent settings between projects and the libraries they use in order to link properly.
-    In particular, check support for exceptions, runtime typing(RTTI), and intrinsic support for
-    wide characters.  The standard version of this library presumes that these facilities are
-    enabled.  Projects generated by the IDE wizard do not have these features enabled by default.
-    <li>Frequently when trying to build a project or view project properties, one is presented with
-    a message box with the message "unspecified error".  This seems to occur when one changes the
-    build configuration selection.  It turns out this can be "fixed" by going to the "Build" 
-    menu item, selecting "Configuration Manager" and selecting a build configuration for the project
-    you're working with.
-    <li>To test that boost libraries are built correctly, one can build and test them the way we do.
-    This entails:
-    <ol>
-        <li>downloading a copy of bjam.exe
-        <li>building process_jam_log
-        <li>building compiler_status
-	<li>invoking runtest.bat
-    </ol>
-    This will build the serialization library and run the tests on your system. If there are more than a
-    a couple of test failures, you likely won't be able to get your own projects working.  If most of the
-    tests pass, you can be confident that your own projects will work once you get your project settings
-    in sync with those included here.
-</ul>
-
-<h4><a name="vc70">Visual C++ 7.0</a></h4>
-<ul>
-    <li>The "pimpl" demo fails to link.  Cause and workaround for this is unknown
-    <li>XML serialization only works with version 1.6x of spirit.  In order to build and use this
-    library with this compiler, one must use version 1.6x rather than the latest version
-    shipped with boost.  See <a href="release.html">Release Notes</a>.
-    <li>This compiler does not support partial template specialization.  
-    The implementation of the new <code>shared_ptr</code> serialization depends upon
-    compiler support for partial template specialization.  This compiler doesn't implement this
-    feature. In order to serialize <code style="white-space: normal">shared_ptr<A></code>,
-    invoke the macro <code style="white-space: normal">BOOST_SERIALIZATION_SHARED_PTR(A)</code>
-    in the header code.
-    <li>Lack of support for partial template specialization also creates problems for
-    serialization of <code style="white-space: normal">std::map</code>.  In order to serialize
-    instances of this type include the invocation of BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION
-    for the key type of the map.
-</ul>
-<h4><a name="vc6">Visual C++ 6.5</a></h4>
-all the above issues for Visual C++ 7.0 plus:
-<ul>
-    <li>Out of line template definitions are not recognized and fail with a confusing
-    error message.  To function save/load/serialize member function templates must be defined
-    within the class definition.  This feature is essential to <code style="white-space: normal">demo_pimpl</code>. Hence,
-    this program will fail to compile.  In this case the problem can't be worked around and
-    still demonstrate this facility.
-    <li>This compiler does not support <code style="white-space: normal">wchar_t</code> as a separate type.  It defines
-    <code style="white-space: normal">wchar_t</code> as an alias for <code style="white-space: normal">short int</code>.  In general things will still
-    function.  However certain customization, such as overloading archive operators for
-    saving/loading wide character arrays would produce surprises in this environment.
-    <li>Under certain circumstances, a program will fail to link with the message:
-    LIN1179 - "invalid or corrupt file: duplicate comdat".  According
-    to <a href="http://groups.google.com/groups?th=8a05c82c4ffee280">
-    http://groups.google.com/groups?th=8a05c82c4ffee280
-    </a> (look for P78)
-    A LNK1179 error occurs when:
-    <ul>
-        <li>The template class takes at least two arguments.
-        <li>The template is used at least two times with identical first
-        and different second arguments.
-        <li>The static member variable is of an object type with at least one
-        base class. (In another scenario it also occurred using a member
-        without a base class.)
-    </ul>
-    Working around this in the implementation of the library for this compiler
-    entailed a ridiculous amount of effort.  Even so, the effort wasn't entirely successful.
-    With this compiler, this message will still appear under the following conditions:
-    <ul>
-        <li>When serializing a class with multiple base classes.  This problem causes two 
-        failure in the test suite.  I have been unable to devise a way to work around this.
-        <li>Using more than one kind of archive in the same code module. This should be easy 
-        to work around in practice.
-    </ul>
-    <li>Code modules exceeding some undetermined size that use the library will fail with
-    <i>fatal error C1204: compiler limit : internal structure overflow</i>.  This can be addressed
-    by dividing the module into smaller ones.
-</ul>
-<h4><a name="borland">Borland 5.64 and 5.51</a></h4>
-<ul>
-    <li><code style="white-space: normal">enum</code> data members cannot be serialized.
-    Conversion to/from integers will work around the problem.
-    <li>If class serialize functions are not accessible either by making them public or by
-    including <code style="white-space: normal">friend</code> declarations as described in 
-    <a href="serialization.html#member">Class Serialization - Member Function</a>, the
-    will compile but fail at runtime.
-    <li>Tests using custom extended type which doesn't use RTTI fails. (5.64 only !).
-    <li>Tests built in release mode fail. This seems to be an issue with the boost test system
-    with this compiler.
-    <li>XML serialization only works with version 1.6x of spirit. In order to build 
-    and use this library with this compiler, one must use version 1.6x rather than the 
-    latest version shipped with boost. See <a href="release.html">Release Notes</a>. 
-</ul>
-<h4><a name="comeau">Comeau 4.3.3</a></h4>
-<ul>
-    <li>This compiler fails to make a DLL with export under windows.
-    <li>The associated library - libcomo fails when using a codecvt facet.
-    This generates a failure with all wide character archives.
-    <li>the test_set fails by going into an infinite memory leak.
-</ul>
-
-<h4><a name="codewarrior9">Code Warrior 9.x</a></h4>
-<ul>
-    <li>Some tests and demos demos fail - still under investigation
-</ul>
-
-<h4><a name="codewarrior">Code Warrior 8.3</a></h4>
-all the above issues for Code Warrior 9.x plus:
-<ul>
-    <li>This compiler only supports templated streams with the static library version.
-    <li>The above inhibits the build of DLL versions of the library.
-    <li>Some demos fail - still under investigation
-</ul>
-
-<h4><a name="tru64">TRU64</a></h4>
-All tests and demos pass except for test_variant.  Boost Variant doesn't function
-wih this compiler
-
-<h4><a name="dinkumware">Dinkumware Library</a></h4>
-Several compilers, including Visual C++ 6.0, use an older dinkumware library.  
-These platforms have several issues: 
-<ul>
-    <li>The dinkumware library shipped with this compiler does not change the locale facet
-    of an i/o stream unless the <code style="white-space: normal">imbue</code> function is called before the the
-    stream is opened.  In order to use this library with this environment to generate UTF-8
-    files, one cannot depend on the "automatic" setting of locale that archives implement. The
-    stream locale must be set explicitly on the stream before an archive is opened on it.  The
-    archive should be opened with the <code style="white-space: normal">no_codecvt</code> flag.  Note this problem will
-    occur on all compilers shipped with this library.
-    <li>Other issues have been worked around in the file.
-    <a href="../../../boost/archive/dinkumware.hpp" target="dinkumware_hpp">dinkumware.hpp</a>
-</ul>
-
-<h4><a name="stlport">STLPort 4.5.3</a></h4>
-<ul>
-    <li>when built to use dynamic linking versions of C++ runtime code (<runtime-link>dynamic)
-    all tests fail to link.  This is due to a missing symbol in the stlport library related
-    to custom codecvt facets.
-    <li>the test_set fails to run correctly. It seems the hashed set iterator doesn't
-    implement the ++ operator correctly.  This causes the test to fail by consuming all available
-    memory.  Given this, this test is commented out.
-</ul>
-
-<hr>
-<p>Revised 1 November, 2004 
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/index.html b/SRC/Boost/libs/serialization/doc/index.html
deleted file mode 100755
index b7ba29d..0000000
--- a/SRC/Boost/libs/serialization/doc/index.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
-   "http://www.w3.org/TR/html4/frameset.dtd"><html>
-<head>
-<!--
-Revised 1 November, 2004 
-© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
--->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<title>Serialization</title>
-</head>
-<frameset cols="30%, 70%">
-  <frame name="contents" src="contents.html" scrolling = "yes">
-  <frame name="detail" src="overview.html" scrolling = "yes">
-  <noframes><a href="overview.html"</a></noframes>
-</frameset>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/minus.gif b/SRC/Boost/libs/serialization/doc/minus.gif
deleted file mode 100755
index fe9830a..0000000
Binary files a/SRC/Boost/libs/serialization/doc/minus.gif and /dev/null differ
diff --git a/SRC/Boost/libs/serialization/doc/new_case_studies.html b/SRC/Boost/libs/serialization/doc/new_case_studies.html
deleted file mode 100755
index 6750d74..0000000
--- a/SRC/Boost/libs/serialization/doc/new_case_studies.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Proposed Case Studies</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Proposed Case Studies</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="index">
-  <dt><a href="#functionobject">Serializing a Function Object</a></dt>
-  <dt><a href="#archiveadaptor">Archive Adaptors</a></dt>
-  <dt><a href="#archivehelper">Archive Helpers</a></dt>
-</dl>
-
-These are not part of the library itself, but rather
-techiques on how to use the library to address specific situations.
-
-<h2><a name="functionobject"></a>Serializing a Function Object</h2>
-An example on how to serialize a function object.  I believe this
-could be done by serializing pointer to the object in question.  Since
-the Serialization library resurrects pointer of the correct type
-this should be easily implementable.
-<p>
-If a group of function objects were all derived from the
-same polymorphic base class - perhaps via multiple inheritance,
-the the function object effectively becomes a "variable" which
-encapsulates code.
-<p>
-This case study would show how to do this.
-
-<h2><a name="archiveadaptor"></a>Archive Adaptors</h2>
-
-Often users want to add their own special functionality to an
-existing archive.  Examples of this are performance enhancements
-for specific types, Adjustment of output syntax for xml archives,
-and logging/debug output as archives are written and/or read.
-If this functionalty is implemented as an "adaptor" template
-which takes the base class as a template argument, such functionality
-appended to any archive for which that funtionality makes sense.
-For example, an adaptor for generating an xml schema could be
-appended to both wide narrow character versions of xml archives.
-<p>
-This case study would show how to make a useful archive adaptor.
-
-<h2><a name="archivehelper"></a>Archive Helpers</h2>
-Some types are not serializable as they stand.  That is - they
-do not fullfill the requirements of the "Serializable Concept".
-The iconic example of this is boost::shared_ptr.  Sometimes
-these types could be made serializable by adding code inside
-the library.  Of course, doing that would create a lifetime
-of unpaid employment for the library author. Rather than
-adding a bunch of special code to the library itself, this
-code can packaged as a "helper" or "mix-in" class.  Then
-a new archive is derived from both the "base" archive class
-AND the "helper" class.  This is how boost::shared_ptr
-has been implemented.
-<p>
-It would also be possible to make a "generic runtime helper"
-which would effectively extend the API of the library.  Previously
-the library included such a helper class.  It was removed
-in favor of the current implementation.  But this functionality
-should be added back in with another adaptor which would
-become part of the library.
-
-<hr>
-<p>Revised 1 November, 2008 
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2008. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/overview.html b/SRC/Boost/libs/serialization/doc/overview.html
deleted file mode 100755
index 6c4427a..0000000
--- a/SRC/Boost/libs/serialization/doc/overview.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Overview</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Overview</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="index">
-  <dt><a href="#Requirements">Requirements</a></dt>
-  <dt><a href="#otherimplementations">Other Implementations</a></dt>
-</dl>
-<p>Here, we use the term <strong>"serialization"</strong> to mean
-the reversible deconstruction of an arbitrary set of C++ data structures
-to a sequence of bytes.  Such a system can be used to reconstitute
-an equivalent structure in another program context.  Depending on
-the context, this might used implement object persistence, remote
-parameter passing or other facility. In this system we use the term
-<strong>"archive"</strong> to refer to a specific rendering of this
-stream of bytes.  This could be a file of binary data, text data, 
-XML, or some other created by the user of this library.
-<h2><a name="Requirements"></a>Our goals for such a system are:</h2>
-   <ol>
-      <li>Code portability - depend only on ANSI C++ facilities.
-
-      <li>Code economy - exploit features of C++ such as RTTI,
-      templates, and multiple inheritance, etc. where appropriate to
-      make code shorter and simpler to use.
-
-      <li>Independent versioning for each class definition. That
-      is, when a class definition changed, older files can still be
-      imported to the new version of the class.
-
-      <li>Deep pointer save and restore. That is, save and restore
-      of pointers saves and restores the data pointed to.
-
-      <li>Proper restoration of pointers to shared data.
-
-      <li>Serialization of STL containers and other commonly used
-      templates.
-
-      <li>Data Portability - Streams of bytes created on one platform
-      should be readable on any other.
-
-      <li>Orthogonal specification of class serialization and archive format.
-      That is, any file format should be able to store serialization
-      of any arbitrary set of C++ data structures without having to
-      alter the serialization of any class.
-
-      <li>Non-intrusive. Permit serialization to be applied to
-      unaltered classes. That is, don't require that classes to be
-      serialized be derived from a specific base class or implement
-      specified member functions. This is necessary to easily
-      permit serialization to be applied to classes from class
-      libraries that we cannot or don't want to have to alter.
-
-      <li> The <strong>archive</strong> interface must be simple
-      enough to easily permit creation of a new type of archive.
-
-      <li> The <strong>archive</strong> interface must be rich
-      enough to permit the creation of an <strong>archive</strong>
-      that presents serialized data as XML in a useful manner.
-   </ol>
-
-<h2><a name="otherimplementations"></a>Other implementations</h2>
-    Before getting started I searched around for current
-    implementations. I found several. 
-
-    <ul>
-      <li><u>MFC</u> This is the one that I am very familiar with.
-      I have used it for several years and have found it very useful.
-      However it fails requirements 1, 2, 3, 6, 7, and 9. In spite
-      of all the requirements not fulfilled, this is the most
-      useful implementation I've found. It turns out that class
-      versioning - partially implemented in MFC - really is
-      indispensable for my applications. Inevitably, version 1.x of
-      a shipping program needs to store more information in files
-      than was originally provided for. MFC is the only one of these
-      implementations that supports this - though only for the most
-      derived class. Still it's better than nothing and does the
-      job. MFC doesn't implement serialization of STL collections.
-      Though it does so for MFC collections.
-
-      <li><u>CommonC++ libraries</u> <a href="bibliography.html#1">[1]</a>
-      As far as I can tell, this
-      closely follows the MFC implementation but does address a few
-      of the issues. It is portable and creates portable archives but
-      skips versioning. It does support proper and complete
-      restoration of pointers and STL collections. It does address
-      compression though not in the way that I would prefer. The
-      package would also benefit from having better documentation.
-      So it fails to address 2, 3, 7, 8, and 9.
-
-      <li><u>Eternity</u> <a href="bibliography.html#2">[2]</a> 
-      This is a bare bones package. It
-      seems well coded but it really needs documentation and
-      examples. It's not obvious how to use it without time
-      consuming study of the source code. Recent versions do support
-      files in XML format.  This Fails 3, 6, 7?, 8, and 9. 
-
-      <li><u>Holub's implementation</u> <a href="bibliography.html#3">[3]</a> This is the article that
-      first got me thinking about my own requirements for
-      a serialization implementation. Interesting and worth
-      the read if you can overlook the arrogant tone of the prose.
-      This implementation fails 2, 3, 4, 5, and 6.
-
-      <li><u>s11n</u> <a href="bibliography.html#13">[13]</a>
-      This library has similar goals to this one. Some aspects of the
-      implemenation are also similar.  As of this writing, it would seem that:
-      <ul>
-          <li>Portability(1) is guarenteed only for recent versions of GCC.
-          <li>Versioning(3) of class definitions is not explicitly supported by
-          the library.
-          <li>it doesn't seem to automatically account for shared pointers(5).
-          I concluded this from the documentation as well as the statement that
-          serialization of graph like structures is not supported.
-      </ul>
-      Its has lots of differences - and lots in common with this implementation. 
-    </ul>
-<hr>
-<p>Revised 1 November, 2004 
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/performance_status.html b/SRC/Boost/libs/serialization/doc/performance_status.html
deleted file mode 100755
index b1e18f4..0000000
--- a/SRC/Boost/libs/serialization/doc/performance_status.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<html>
-<head>
-<title>Boost Library Status Automatic Test</title>
-</head>
-<body bgcolor="#ffffff" text="#000000">
-<table border="0">
-<tr>
-<td><img border="0" src="../../../boost.png" width="277" height="86"></td>
-<td>
-<h1>Library Status: serialization</h1>
-<b>Run Date:</b> 02:42:48 UTC, Tuesday 10 June 2008
-</td>
-</table>
-<br>
-<table border="1" cellspacing="0" cellpadding="5">
-<tr>
-<td rowspan="2">Test Name</td>
-<td align="center" >gcc-3.4.4</td>
-</tr><tr>
-<td align="center" >profile</td>
-</tr><tr><td>peformance_array_binary_archive</a></td><td align="right">Pass <a href="profile1.txt"><i>Profile</i></a></td></tr>
-<tr><td>peformance_array_text_archive</a></td><td align="right">Pass <a href="profile1.txt"><i>Profile</i></a></td></tr>
-<tr><td>peformance_array_text_warchive</a></td><td align="right"><i>Missing</i></td></tr>
-<tr><td>peformance_array_xml_archive</a></td><td align="right">Pass <a href="profile1.txt"><i>Profile</i></a></td></tr>
-<tr><td>peformance_array_xml_warchive</a></td><td align="right"><i>Missing</i></td></tr>
-<tr><td>performance_iterators</a></td><td align="right">Pass <a href="profile2.txt"><i>Profile</i></a></td></tr>
-<tr><td>performance_iterators_base64</a></td><td align="right">Pass <a href="profile3.txt"><i>Profile</i></a></td></tr>
-</table>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/pimpl.html b/SRC/Boost/libs/serialization/doc/pimpl.html
deleted file mode 100755
index 07664a4..0000000
--- a/SRC/Boost/libs/serialization/doc/pimpl.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - PIMPL</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">PIMPL</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-PIMPL is a C++ programming idiom described by Herb Sutter <a href="bibliography.html#10">[10]</a>
-which stands for "Private Implementation".  It is also referred to as
-the "Handle Body Idiom". Included in this library is a program called 
-<a href="../example/demo_pimpl.cpp" target="demo_impl_cpp">demo_pimpl.cpp</a> 
-which illustrates how this is used. The file 
-<a href="../example/demo_pimpl_A.cpp" target="demo_impl__Acpp">demo_pimpl_A.hpp</a>
-contains the declaration of the a class that hides its implementation
-by including a pointer to struct B that is only defined as a pointer.
-<pre><code>
-// class whose declaration is hidden by a pointer
-struct B;
-
-struct A {
-    // class a contains a pointer to a "hidden" declaration
-    B *pimpl;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int file_version);
-    A();
-};
-</code></pre>
-Serialization of A requires access to the definition of B in order so it
-is defined in the separately compiled module:
-<a href="../example/demo_pimpl_A.cpp" target="demo_impl_A_cpp">demo_pimpl_A.cpp</a>
-by:
-<pre><code>
-#include "demo_pimpl_A.hpp"
-
-// "hidden" definition of class B
-struct B {
-    int b;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int file_version){
-        ar & b;
-    }
-};
-
-A::A() :
-    pimpl(new B)
-{}
-
-A::~A(){
-    delete pimpl;
-}
-
-// now we can define the serialization for class A
-template<class Archive>
-void A::serialize(Archive & ar, const unsigned int file_version){
-    ar & pimpl;
-}
-</code></pre>
-As described in <a href="bibliography.html#10">[10]</a> this brings the
-following advantages:
-<ul>
-    <li>type "B" can be used without using its header.
-    <li>implementation of B can be changed without generating a 
-    cascade of recompilations.
-</ul>
-So, we compile the modules and everything is fine.  However when we
-link, we get an error.  Two symbols are undefined:
-<pre><code>
-void A::serialize(boost::archive::text_oarchive & ar, const unsigned int file_version);
-void A::serialize(boost::archive::text_iarchive & ar, const unsigned int file_version);
-</code></pre>
-The problem is that when compiling the above code, 
-there is no instantiation of the <code style="white-space: normal">serialize</code> template.
-There can't be as its not "known" what types of archives
-the serialization is going to be used with.  So these functions are "missing"
-when an attempt to link is made.  The solution is to explicitly instantiate
-serialization code for those archives which are going to be used.  In this
-example, including the the following code in any *.cpp file does just that:
-<pre></code>
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/text_oarchive.hpp>
-
-template void A::serialize<boost::archive::text_iarchive>(
-    boost::archive::text_iarchive & ar, 
-    const unsigned int file_version
-);
-template void A::serialize<boost::archive::text_oarchive>(
-    boost::archive::text_oarchive & ar, 
-    const unsigned int file_version
-);
-</code></pre>
-The program should now link as well as compile.
-<p>
-The downside of this is that one has to know which archives are going 
-to be used with hidden serializations.  This is an effect of using template
-driven code.  One can invoke explicity instantiation for all known templates and
-presume that the linker will exclude unreferenced code.  This should
-work but is platform dependent.
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/plus.gif b/SRC/Boost/libs/serialization/doc/plus.gif
deleted file mode 100755
index 9ee3838..0000000
Binary files a/SRC/Boost/libs/serialization/doc/plus.gif and /dev/null differ
diff --git a/SRC/Boost/libs/serialization/doc/profile1.txt b/SRC/Boost/libs/serialization/doc/profile1.txt
deleted file mode 100755
index 72d1256..0000000
--- a/SRC/Boost/libs/serialization/doc/profile1.txt
+++ /dev/null
@@ -1,149 +0,0 @@
-Flat profile:
-
-Each sample counts as 0.01 seconds.
- no time accumulated
-
-  %   cumulative   self              self     total           
- time   seconds   seconds    calls  Ts/call  Ts/call  name    
-  0.00      0.00     0.00      200     0.00     0.00  void accumulate<unsigned long>(unsigned int&, unsigned long const&)
-  0.00      0.00     0.00      150     0.00     0.00  _pei386_runtime_relocator
-  0.00      0.00     0.00        1     0.00     0.00  std::ostream::operator<<(void const*)
-  0.00      0.00     0.00        1     0.00     0.00  __divdi3
-
- %         the percentage of the total running time of the
-time       program used by this function.
-
-cumulative a running sum of the number of seconds accounted
- seconds   for by this function and those listed above it.
-
- self      the number of seconds accounted for by this
-seconds    function alone.  This is the major sort for this
-           listing.
-
-calls      the number of times this function was invoked, if
-           this function is profiled, else blank.
- 
- self      the average number of milliseconds spent in this
-ms/call    function per call, if this function is profiled,
-	   else blank.
-
- total     the average number of milliseconds spent in this
-ms/call    function and its descendents per call, if this 
-	   function is profiled, else blank.
-
-name       the name of the function.  This is the minor sort
-           for this listing. The index shows the location of
-	   the function in the gprof listing. If the index is
-	   in parenthesis it shows where it would appear in
-	   the gprof listing if it were to be printed.
-

-		     Call graph (explanation follows)
-
-
-granularity: each sample hit covers 4 byte(s) no time propagated
-
-index % time    self  children    called     name
-                0.00    0.00     200/200         setvbuf [1286]
-[4]      0.0    0.00    0.00     200         void accumulate<unsigned long>(unsigned int&, unsigned long const&) [4]
------------------------------------------------
-                0.00    0.00     150/150         _cygwin_crt0_common at 8 [1230]
-[5]      0.0    0.00    0.00     150         _pei386_runtime_relocator [5]
------------------------------------------------
-                0.00    0.00       1/1           _lseek64 [1234]
-[6]      0.0    0.00    0.00       1         std::ostream::operator<<(void const*) [6]
------------------------------------------------
-                0.00    0.00       1/1           __tcf_1 [1221]
-[7]      0.0    0.00    0.00       1         __divdi3 [7]
------------------------------------------------
-                                   2             main [1263]
-[1263]   0.0    0.00    0.00       0+2       main [1263]
-                                   2             main [1263]
------------------------------------------------
-
- This table describes the call tree of the program, and was sorted by
- the total amount of time spent in each function and its children.
-
- Each entry in this table consists of several lines.  The line with the
- index number at the left hand margin lists the current function.
- The lines above it list the functions that called this function,
- and the lines below it list the functions this one called.
- This line lists:
-     index	A unique number given to each element of the table.
-		Index numbers are sorted numerically.
-		The index number is printed next to every function name so
-		it is easier to look up where the function in the table.
-
-     % time	This is the percentage of the `total' time that was spent
-		in this function and its children.  Note that due to
-		different viewpoints, functions excluded by options, etc,
-		these numbers will NOT add up to 100%.
-
-     self	This is the total amount of time spent in this function.
-
-     children	This is the total amount of time propagated into this
-		function by its children.
-
-     called	This is the number of times the function was called.
-		If the function called itself recursively, the number
-		only includes non-recursive calls, and is followed by
-		a `+' and the number of recursive calls.
-
-     name	The name of the current function.  The index number is
-		printed after it.  If the function is a member of a
-		cycle, the cycle number is printed between the
-		function's name and the index number.
-
-
- For the function's parents, the fields have the following meanings:
-
-     self	This is the amount of time that was propagated directly
-		from the function into this parent.
-
-     children	This is the amount of time that was propagated from
-		the function's children into this parent.
-
-     called	This is the number of times this parent called the
-		function `/' the total number of times the function
-		was called.  Recursive calls to the function are not
-		included in the number after the `/'.
-
-     name	This is the name of the parent.  The parent's index
-		number is printed after it.  If the parent is a
-		member of a cycle, the cycle number is printed between
-		the name and the index number.
-
- If the parents of the function cannot be determined, the word
- `<spontaneous>' is printed in the `name' field, and all the other
- fields are blank.
-
- For the function's children, the fields have the following meanings:
-
-     self	This is the amount of time that was propagated directly
-		from the child into the function.
-
-     children	This is the amount of time that was propagated from the
-		child's children to the function.
-
-     called	This is the number of times the function called
-		this child `/' the total number of times the child
-		was called.  Recursive calls by the child are not
-		listed in the number after the `/'.
-
-     name	This is the name of the child.  The child's index
-		number is printed after it.  If the child is a
-		member of a cycle, the cycle number is printed
-		between the name and the index number.
-
- If there are any cycles (circles) in the call graph, there is an
- entry for the cycle-as-a-whole.  This entry shows who called the
- cycle (as parents) and the members of the cycle (as children.)
- The `+' recursive calls entry shows the number of function calls that
- were internal to the cycle, and the calls entry for each member shows,
- for that member, how many times it was called from other members of
- the cycle.
-
-

-Index by function name
-
-   [4] void accumulate<unsigned long>(unsigned int&, unsigned long const&) [7] __divdi3
-   [6] std::ostream::operator<<(void const*) [5] _pei386_runtime_relocator
diff --git a/SRC/Boost/libs/serialization/doc/profile2.txt b/SRC/Boost/libs/serialization/doc/profile2.txt
deleted file mode 100755
index 1eda084..0000000
--- a/SRC/Boost/libs/serialization/doc/profile2.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-Flat profile:
-
-Each sample counts as 0.01 seconds.
-  %   cumulative   self              self     total           
- time   seconds   seconds    calls  Ts/call  Ts/call  name    
-100.00      0.01     0.01                             __gnu_cxx::__atomic_add(int volatile*, int)
-  0.00      0.01     0.00       51     0.00     0.00  boost::archive::iterators::transform_width<char*, 6, 8, char>::fill()
-  0.00      0.01     0.00       36     0.00     0.00  boost::archive::iterators::transform_width<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, 8, 6, char>::fill()
-  0.00      0.01     0.00       30     0.00     0.00  std::vector<char, std::allocator<char> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, char const&)
-  0.00      0.01     0.00       11     0.00     0.00  boost::archive::iterators::xml_escape<char const*>::fill(char const*&, char const*&)
-  0.00      0.01     0.00        9     0.00     0.00  void test_transform_width<6, 8>(unsigned int)
-  0.00      0.01     0.00        9     0.00     0.00  boost::archive::iterators::xml_unescape<char const*>::drain()
-  0.00      0.01     0.00        5     0.00     0.00  boost::archive::iterators::xml_unescape<char const*>::drain_residue(char const*)
-  0.00      0.01     0.00        2     0.00     0.00  __static_initialization_and_destruction_0(int, int)
-  0.00      0.01     0.00        1     0.00     0.00  void test_xml_escape<char const>(char const*, char const*, unsigned int)
-  0.00      0.01     0.00        1     0.00     0.00  void test_xml_unescape<char const>(char const*, char const*, unsigned int)
-  0.00      0.01     0.00        1     0.00     0.00  void test_stream_iterators<char>(char const*, unsigned int)
-  0.00      0.01     0.00        1     0.00     0.00  test_main(int, char**)
-  0.00      0.01     0.00        1     0.00     0.00  char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag)
-  0.00      0.01     0.00        1     0.00     0.00  std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char> const&)
-
- %         the percentage of the total running time of the
-time       program used by this function.
-
-cumulative a running sum of the number of seconds accounted
- seconds   for by this function and those listed above it.
-
- self      the number of seconds accounted for by this
-seconds    function alone.  This is the major sort for this
-           listing.
-
-calls      the number of times this function was invoked, if
-           this function is profiled, else blank.
- 
- self      the average number of milliseconds spent in this
-ms/call    function per call, if this function is profiled,
-	   else blank.
-
- total     the average number of milliseconds spent in this
-ms/call    function and its descendents per call, if this 
-	   function is profiled, else blank.
-
-name       the name of the function.  This is the minor sort
-           for this listing. The index shows the location of
-	   the function in the gprof listing. If the index is
-	   in parenthesis it shows where it would appear in
-	   the gprof listing if it were to be printed.
-

-		     Call graph (explanation follows)
-
-
-granularity: each sample hit covers 4 byte(s) for 100.00% of 0.01 seconds
-
-index % time    self  children    called     name
-                                                 <spontaneous>
-[1]    100.0    0.01    0.00                 __gnu_cxx::__atomic_add(int volatile*, int) [1]
------------------------------------------------
-                0.00    0.00      51/51          void test_transform_width<6, 8>(unsigned int) [9]
-[5]      0.0    0.00    0.00      51         boost::archive::iterators::transform_width<char*, 6, 8, char>::fill() [5]
------------------------------------------------
-                0.00    0.00      36/36          void test_transform_width<6, 8>(unsigned int) [9]
-[6]      0.0    0.00    0.00      36         boost::archive::iterators::transform_width<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, 8, 6, char>::fill() [6]
------------------------------------------------
-                0.00    0.00      30/30          void test_transform_width<6, 8>(unsigned int) [9]
-[7]      0.0    0.00    0.00      30         std::vector<char, std::allocator<char> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, char const&) [7]
------------------------------------------------
-                0.00    0.00      11/11          void test_xml_escape<char const>(char const*, char const*, unsigned int) [13]
-[8]      0.0    0.00    0.00      11         boost::archive::iterators::xml_escape<char const*>::fill(char const*&, char const*&) [8]
------------------------------------------------
-                0.00    0.00       9/9           test_main(int, char**) [16]
-[9]      0.0    0.00    0.00       9         void test_transform_width<6, 8>(unsigned int) [9]
-                0.00    0.00      51/51          boost::archive::iterators::transform_width<char*, 6, 8, char>::fill() [5]
-                0.00    0.00      36/36          boost::archive::iterators::transform_width<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, 8, 6, char>::fill() [6]
-                0.00    0.00      30/30          std::vector<char, std::allocator<char> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, char const&) [7]
------------------------------------------------
-                0.00    0.00       9/9           void test_xml_unescape<char const>(char const*, char const*, unsigned int) [14]
-[10]     0.0    0.00    0.00       9         boost::archive::iterators::xml_unescape<char const*>::drain() [10]
-                0.00    0.00       5/5           boost::archive::iterators::xml_unescape<char const*>::drain_residue(char const*) [11]
------------------------------------------------
-                0.00    0.00       5/5           boost::archive::iterators::xml_unescape<char const*>::drain() [10]
-[11]     0.0    0.00    0.00       5         boost::archive::iterators::xml_unescape<char const*>::drain_residue(char const*) [11]
------------------------------------------------
-                0.00    0.00       1/2           global constructors keyed to main [38]
-                0.00    0.00       1/2           global destructors keyed to main [35]
-[12]     0.0    0.00    0.00       2         __static_initialization_and_destruction_0(int, int) [12]
------------------------------------------------
-                0.00    0.00       1/1           test_main(int, char**) [16]
-[13]     0.0    0.00    0.00       1         void test_xml_escape<char const>(char const*, char const*, unsigned int) [13]
-                0.00    0.00      11/11          boost::archive::iterators::xml_escape<char const*>::fill(char const*&, char const*&) [8]
------------------------------------------------
-                0.00    0.00       1/1           test_main(int, char**) [16]
-[14]     0.0    0.00    0.00       1         void test_xml_unescape<char const>(char const*, char const*, unsigned int) [14]
-                0.00    0.00       9/9           boost::archive::iterators::xml_unescape<char const*>::drain() [10]
------------------------------------------------
-                0.00    0.00       1/1           test_main(int, char**) [16]
-[15]     0.0    0.00    0.00       1         void test_stream_iterators<char>(char const*, unsigned int) [15]
-                0.00    0.00       1/1           std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char> const&) [18]
------------------------------------------------
-                0.00    0.00       1/1           main [1211]
-[16]     0.0    0.00    0.00       1         test_main(int, char**) [16]
-                0.00    0.00       9/9           void test_transform_width<6, 8>(unsigned int) [9]
-                0.00    0.00       1/1           void test_xml_escape<char const>(char const*, char const*, unsigned int) [13]
-                0.00    0.00       1/1           void test_xml_unescape<char const>(char const*, char const*, unsigned int) [14]
-                0.00    0.00       1/1           void test_stream_iterators<char>(char const*, unsigned int) [15]
------------------------------------------------
-                0.00    0.00       1/1           std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char> const&) [18]
-[17]     0.0    0.00    0.00       1         char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) [17]
------------------------------------------------
-                0.00    0.00       1/1           void test_stream_iterators<char>(char const*, unsigned int) [15]
-[18]     0.0    0.00    0.00       1         std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char> const&) [18]
-                0.00    0.00       1/1           char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) [17]
------------------------------------------------
-
- This table describes the call tree of the program, and was sorted by
- the total amount of time spent in each function and its children.
-
- Each entry in this table consists of several lines.  The line with the
- index number at the left hand margin lists the current function.
- The lines above it list the functions that called this function,
- and the lines below it list the functions this one called.
- This line lists:
-     index	A unique number given to each element of the table.
-		Index numbers are sorted numerically.
-		The index number is printed next to every function name so
-		it is easier to look up where the function in the table.
-
-     % time	This is the percentage of the `total' time that was spent
-		in this function and its children.  Note that due to
-		different viewpoints, functions excluded by options, etc,
-		these numbers will NOT add up to 100%.
-
-     self	This is the total amount of time spent in this function.
-
-     children	This is the total amount of time propagated into this
-		function by its children.
-
-     called	This is the number of times the function was called.
-		If the function called itself recursively, the number
-		only includes non-recursive calls, and is followed by
-		a `+' and the number of recursive calls.
-
-     name	The name of the current function.  The index number is
-		printed after it.  If the function is a member of a
-		cycle, the cycle number is printed between the
-		function's name and the index number.
-
-
- For the function's parents, the fields have the following meanings:
-
-     self	This is the amount of time that was propagated directly
-		from the function into this parent.
-
-     children	This is the amount of time that was propagated from
-		the function's children into this parent.
-
-     called	This is the number of times this parent called the
-		function `/' the total number of times the function
-		was called.  Recursive calls to the function are not
-		included in the number after the `/'.
-
-     name	This is the name of the parent.  The parent's index
-		number is printed after it.  If the parent is a
-		member of a cycle, the cycle number is printed between
-		the name and the index number.
-
- If the parents of the function cannot be determined, the word
- `<spontaneous>' is printed in the `name' field, and all the other
- fields are blank.
-
- For the function's children, the fields have the following meanings:
-
-     self	This is the amount of time that was propagated directly
-		from the child into the function.
-
-     children	This is the amount of time that was propagated from the
-		child's children to the function.
-
-     called	This is the number of times the function called
-		this child `/' the total number of times the child
-		was called.  Recursive calls by the child are not
-		listed in the number after the `/'.
-
-     name	This is the name of the child.  The child's index
-		number is printed after it.  If the child is a
-		member of a cycle, the cycle number is printed
-		between the name and the index number.
-
- If there are any cycles (circles) in the call graph, there is an
- entry for the cycle-as-a-whole.  This entry shows who called the
- cycle (as parents) and the members of the cycle (as children.)
- The `+' recursive calls entry shows the number of function calls that
- were internal to the cycle, and the calls entry for each member shows,
- for that member, how many times it was called from other members of
- the cycle.
-
-

-Index by function name
-
-  [13] void test_xml_escape<char const>(char const*, char const*, unsigned int) [16] test_main(int, char**) [5] boost::archive::iterators::transform_width<char*, 6, 8, char>::fill()
-  [14] void test_xml_unescape<char const>(char const*, char const*, unsigned int) [8] boost::archive::iterators::xml_escape<char const*>::fill(char const*&, char const*&) [1] __gnu_cxx::__atomic_add(int volatile*, int)
-   [9] void test_transform_width<6, 8>(unsigned int) [11] boost::archive::iterators::xml_unescape<char const*>::drain_residue(char const*) [17] char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag)
-  [15] void test_stream_iterators<char>(char const*, unsigned int) [10] boost::archive::iterators::xml_unescape<char const*>::drain() [18] std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*>(char*, char*, std::allocator<char> const&)
-  [12] __static_initialization_and_destruction_0(int, int) (performance_iterators.cpp) [6] boost::archive::iterators::transform_width<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, 8, 6, char>::fill() [7] std::vector<char, std::allocator<char> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, char const&)
diff --git a/SRC/Boost/libs/serialization/doc/profile3.txt b/SRC/Boost/libs/serialization/doc/profile3.txt
deleted file mode 100755
index 00a40c2..0000000
--- a/SRC/Boost/libs/serialization/doc/profile3.txt
+++ /dev/null
@@ -1,153 +0,0 @@
-Flat profile:
-
-Each sample counts as 0.01 seconds.
- no time accumulated
-
-  %   cumulative   self              self     total           
- time   seconds   seconds    calls  Ts/call  Ts/call  name    
-  0.00      0.00     0.00      200     0.00     0.00  boost::archive::iterators::transform_width<char*, 6, 8, char>::fill()
-  0.00      0.00     0.00      150     0.00     0.00  boost::archive::iterators::transform_width<boost::archive::iterators::binary_from_base64<boost::archive::iterators::remove_whitespace<std::_List_iterator<char> >, char>, 8, 6, char>::fill()
-  0.00      0.00     0.00        2     0.00     0.00  __static_initialization_and_destruction_0(int, int)
-  0.00      0.00     0.00        1     0.00     0.00  void test_base64<char>()
-  0.00      0.00     0.00        1     0.00     0.00  std::_List_base<char, std::allocator<char> >::_M_clear()
-
- %         the percentage of the total running time of the
-time       program used by this function.
-
-cumulative a running sum of the number of seconds accounted
- seconds   for by this function and those listed above it.
-
- self      the number of seconds accounted for by this
-seconds    function alone.  This is the major sort for this
-           listing.
-
-calls      the number of times this function was invoked, if
-           this function is profiled, else blank.
- 
- self      the average number of milliseconds spent in this
-ms/call    function per call, if this function is profiled,
-	   else blank.
-
- total     the average number of milliseconds spent in this
-ms/call    function and its descendents per call, if this 
-	   function is profiled, else blank.
-
-name       the name of the function.  This is the minor sort
-           for this listing. The index shows the location of
-	   the function in the gprof listing. If the index is
-	   in parenthesis it shows where it would appear in
-	   the gprof listing if it were to be printed.
-

-		     Call graph (explanation follows)
-
-
-granularity: each sample hit covers 4 byte(s) no time propagated
-
-index % time    self  children    called     name
-                0.00    0.00     200/200         void test_base64<char>() [7]
-[4]      0.0    0.00    0.00     200         boost::archive::iterators::transform_width<char*, 6, 8, char>::fill() [4]
------------------------------------------------
-                0.00    0.00     150/150         void test_base64<char>() [7]
-[5]      0.0    0.00    0.00     150         boost::archive::iterators::transform_width<boost::archive::iterators::binary_from_base64<boost::archive::iterators::remove_whitespace<std::_List_iterator<char> >, char>, 8, 6, char>::fill() [5]
------------------------------------------------
-                0.00    0.00       1/2           global constructors keyed to main [27]
-                0.00    0.00       1/2           global destructors keyed to main [24]
-[6]      0.0    0.00    0.00       2         __static_initialization_and_destruction_0(int, int) [6]
------------------------------------------------
-                0.00    0.00       1/1           main [1156]
-[7]      0.0    0.00    0.00       1         void test_base64<char>() [7]
-                0.00    0.00     200/200         boost::archive::iterators::transform_width<char*, 6, 8, char>::fill() [4]
-                0.00    0.00     150/150         boost::archive::iterators::transform_width<boost::archive::iterators::binary_from_base64<boost::archive::iterators::remove_whitespace<std::_List_iterator<char> >, char>, 8, 6, char>::fill() [5]
-                0.00    0.00       1/1           std::_List_base<char, std::allocator<char> >::_M_clear() [8]
------------------------------------------------
-                0.00    0.00       1/1           void test_base64<char>() [7]
-[8]      0.0    0.00    0.00       1         std::_List_base<char, std::allocator<char> >::_M_clear() [8]
------------------------------------------------
-
- This table describes the call tree of the program, and was sorted by
- the total amount of time spent in each function and its children.
-
- Each entry in this table consists of several lines.  The line with the
- index number at the left hand margin lists the current function.
- The lines above it list the functions that called this function,
- and the lines below it list the functions this one called.
- This line lists:
-     index	A unique number given to each element of the table.
-		Index numbers are sorted numerically.
-		The index number is printed next to every function name so
-		it is easier to look up where the function in the table.
-
-     % time	This is the percentage of the `total' time that was spent
-		in this function and its children.  Note that due to
-		different viewpoints, functions excluded by options, etc,
-		these numbers will NOT add up to 100%.
-
-     self	This is the total amount of time spent in this function.
-
-     children	This is the total amount of time propagated into this
-		function by its children.
-
-     called	This is the number of times the function was called.
-		If the function called itself recursively, the number
-		only includes non-recursive calls, and is followed by
-		a `+' and the number of recursive calls.
-
-     name	The name of the current function.  The index number is
-		printed after it.  If the function is a member of a
-		cycle, the cycle number is printed between the
-		function's name and the index number.
-
-
- For the function's parents, the fields have the following meanings:
-
-     self	This is the amount of time that was propagated directly
-		from the function into this parent.
-
-     children	This is the amount of time that was propagated from
-		the function's children into this parent.
-
-     called	This is the number of times this parent called the
-		function `/' the total number of times the function
-		was called.  Recursive calls to the function are not
-		included in the number after the `/'.
-
-     name	This is the name of the parent.  The parent's index
-		number is printed after it.  If the parent is a
-		member of a cycle, the cycle number is printed between
-		the name and the index number.
-
- If the parents of the function cannot be determined, the word
- `<spontaneous>' is printed in the `name' field, and all the other
- fields are blank.
-
- For the function's children, the fields have the following meanings:
-
-     self	This is the amount of time that was propagated directly
-		from the child into the function.
-
-     children	This is the amount of time that was propagated from the
-		child's children to the function.
-
-     called	This is the number of times the function called
-		this child `/' the total number of times the child
-		was called.  Recursive calls by the child are not
-		listed in the number after the `/'.
-
-     name	This is the name of the child.  The child's index
-		number is printed after it.  If the child is a
-		member of a cycle, the cycle number is printed
-		between the name and the index number.
-
- If there are any cycles (circles) in the call graph, there is an
- entry for the cycle-as-a-whole.  This entry shows who called the
- cycle (as parents) and the members of the cycle (as children.)
- The `+' recursive calls entry shows the number of function calls that
- were internal to the cycle, and the calls entry for each member shows,
- for that member, how many times it was called from other members of
- the cycle.
-
-

-Index by function name
-
-   [7] void test_base64<char>() [5] boost::archive::iterators::transform_width<boost::archive::iterators::binary_from_base64<boost::archive::iterators::remove_whitespace<std::_List_iterator<char> >, char>, 8, 6, char>::fill() [8] std::_List_base<char, std::allocator<char> >::_M_clear()
-   [6] __static_initialization_and_destruction_0(int, int) (performance_iterators_base64.cpp) [4] boost::archive::iterators::transform_width<char*, 6, 8, char>::fill()
diff --git a/SRC/Boost/libs/serialization/doc/rationale.html b/SRC/Boost/libs/serialization/doc/rationale.html
deleted file mode 100755
index 2b0c339..0000000
--- a/SRC/Boost/libs/serialization/doc/rationale.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Seriealization - Rationale</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
-    "header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="http://www.boost.org"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Rationale</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="index">
-  <dt><a href="#serialization">The term "serialization" is preferred to "persistence"</a></dt>
-  <dt><a href="#archives">Archives are not streams</a></dt>
-  <dt><a href="#strings">Strings are treated specially in text archives</a></dt>
-  <dt><a href="#typeid"><code style="white-space: normal">typeid</code> information is not included in archives</a></dt>
-  <!--
-  <dt><a href="#footnotes">Footnotes</a></dt>
-  -->
-</dl>
-<h2><a name="serialization"></a>The term "serialization" is preferred to "persistence"</h2>
-<p>
-I found that persistence is often used to refer
-to something quite different. Examples are storage of class
-instances (objects) in database schema <a href="bibliography.html#4">[4]</a>
-This library will be useful in other contexts besides implementing persistence. The
-most obvious case is that of marshalling data for transmission to another system.
-<h2><a name="archives"></a>Archives are not streams</h2>
-<p>
-Archive classes are <strong>NOT</strong> derived from
-streams even though they have similar syntax rules.
-<ul>
-    <li>Archive classes are not kinds of streams though they
-    are implemented in terms of streams. This
-    distinction is addressed in <a href="bibliography.html#5">[5]</a> item number item 41 .
-    <li>We don't want users to insert/extract data
-    directly into/from  the stream .  This could
-    create a corrupted archive. Were archives
-    derived from streams, it would possible to
-    accidentally do this. So archive classes
-    only define operations which are safe and necessary.
-    <li>The usage of streams to implement the archive classes that
-    are included in the library is merely convenient - not necessary.
-    Library users may well want to define their own archive format
-    which doesn't use streams at all.
-</ul>
-<h2><a name="primitives"></a>Archive Members are Templates 
-Rather than Virtual Functions</h2>
-The previous version of this library defined virtual functions for all
-primitive types.  These were overridden by each archive class.  There were
-two issues related to this:
-</ul>
-    <li>Some disliked virtual functions because of the added execution time
-    overhead.
-    <li>This caused implementation difficulties since the set of primitive
-    data types varies between platforms.  Attempting to define the correct
-    set of virtual functions, (think <code style="white-space: normal">long long</code>, 
-    <code style="white-space: normal">__int64</code>, 
-    etc.) resulted in messy and fragile code.  Replacing this with templates
-    and letting the compiler generate the code for the primitive types actually
-    used, resolved this problem.  Of course, the ripple effects of this design
-    change were significant, but in the end led to smaller, faster, more
-    maintainable code.
-</ul>
-<h2><a name="strings"></a><code style="white-space: normal">std::strings</code> are treated specially in text files</h2>
-<p>
-Treating strings as STL vectors would result in minimal code size. This was
-not done because:
-<ul>
-     <li>In text archives it is convenient to be able to view strings.  Our text
-     implementation stores single characters as integers.  Storing strings
-     as a vector of characters would waste space and render the archives
-     inconvenient for debugging.
-     <li>Stream implementations have special functions for <code style="white-space: normal">std::string</code>
-     and <code style="white-space: normal">std::wstring</code>.
-     Presumably they optimize appropriately.
-     <li>Other specializations of <code style="white-space: normal">std::basic_string</code> are in fact handled
-     as vectors of the element type.
-</ul>
-</p>
-<h2><a name="typeid"></a><code style="white-space: normal">typeid</code> information is not included in archives</h2>
-<p>
-I originally thought that I had to save the name of the class specified by <code style="white-space: normal">std::type_of::name()</code>
-in the archive. This created difficulties as <code style="white-space: normal">std::type_of::name()</code> is not portable and
-not guaranteed to return the class name. This makes it almost useless for implementing
-archive portability.  This topic is explained in much more detail in
-<a href="bibliography.html#6">[7] page 206</a>. It turned out that it was not necessary.
-As long as objects are loaded in the exact sequence as they were saved, the type
-is available when loading.  The only exception to this is the case of polymorphic
-pointers never before loaded/saved.  This is addressed with the <code style="white-space: normal">register_type()</code>
-and/or <code style="white-space: normal">export</code> facilities described in the reference.  
-In effect, <code style="white-space: normal">export</code> generates a portable equivalent to
-<code style="white-space: normal">typeid</code> information.
-
-<!--
-<h2><a name="footnotes"></a>Footnotes</h2>
-<dl>
-  <dt><a name="footnote1" class="footnote">(1)</a> {{text}}</dt>
-  <dt><a name="footnote2" class="footnote">(2)</a> {{text}}</dt>
-</dl>
--->
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/reference.html b/SRC/Boost/libs/serialization/doc/reference.html
deleted file mode 100755
index b64ff31..0000000
--- a/SRC/Boost/libs/serialization/doc/reference.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Serialization of Classes</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Serializable Concept</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-  <dt><a href="archives.html">Archive Concepts</a>
-  <dt><a href="serialization.html">Serializable Concept</a>
-  <dt><a href="special.html">Special Considerations</a>
-  <dt><a href="archive_reference.html">Archive Class Reference</a>
-  <dt><a href="implementation.html">Implementation Notes</a>
-</dl>
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/serialization/doc/release.html b/SRC/Boost/libs/serialization/doc/release.html
deleted file mode 100755
index 009ed5f..0000000
--- a/SRC/Boost/libs/serialization/doc/release.html
+++ /dev/null
@@ -1,277 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-    <link rel="stylesheet" type="text/css" href="style.css">
-        <title>Serialization - Release Notes</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-    <tr>
-        <td valign="top" width="300">
-            <h3>
-                <a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-        </td>
-        <td valign="top">
-            <h1 align="center">
-                Serialization</h1>
-            <h2 align="center">
-                Release Notes</h2>
-        </td>
-    </tr>
-</table>
-<hr>
-<dl class="index">
-    <dt><a href="#differences_1_45">Differences from version 1.45</a></dt> 
-    <dt><a href="#differences_1_43">Differences from version 1.43</a></dt> 
-    <dt><a href="#differences_1_42">Differences from version 1.42</a></dt> 
-    <dt><a href="#differences_1_41">Differences from version 1.41</a></dt> 
-    <dt><a href="#differences_1_40">Differences from version 1.40</a></dt> 
-    <dt><a href="#differences_1_39">Differences from version 1.39</a></dt> 
-    <dt><a href="#differences_1_37">Differences from version 1.37</a></dt> 
-    <dt><a href="#differences_1_35">Differences from version 1.35</a></dt>
-    <dt><a href="#differences_1_34">Differences from version 1.34</a></dt> 
-    <dt><a href="#differences_1_33">Differences from version 1.33</a></dt> 
-    <dt><a href="#differences_1_32">Differences from version 1.32</a></dt> 
-    <dt><a href="#todo">Pending Issues</a></dt>
-</dl>
-As of this writing, there are no known bugs. However, due to compiler/library 
-quirks and or bugs, some tests fail with some combinations of compilers and 
-libraries.
-<h2><a name="differences_1_45"></a>Differences from Boost 1.45</h2>
-Since the release of version 1.42, it has been discovered that binary
-archives created by versions 1.42-1.44 cannot always be read by the
-recent binary archive code.  Work has proceeded in detecting the source
-of these anomolies and those which have been reported with test cases
-have been fixed.  As of this writing, it is not known whether all
-binary archives created with these versions can be loaded.
-<h2><a name="differences_1_43"></a>Differences from Boost 1.43</h2>
-<ul>
-    <li>fixed bug in the serialization of virtual base classes.  Due
-    to heroic efforts by Takatoshi Kondo.
-    <li>Native binary archives created under versions 1.42 and 1.43
-    suffer from a serious problem.  It's likely they won't be readable
-    by this latest version. This due to the fact that 1.42 made some
-    changes in the binary format of some types.  Normally this could
-    be addressed by detecting the library version number written into
-    the archive header.  Unfortunately, this library version number
-    was not incremented at 1.42 as it should have been.  So now we have
-    two different binary archive versions with the same library version
-    number.
-    <p>
-    This has been addressed by including a small utility in the example
-    directory named fix_six.cpp.  This should be run with the command line<br>
-    <code><pre>
-    fix_six <file name>
-    </pre></code>
-    This will assign 7 to the library version number of the archive. This
-    fix will need to ba applied to native binary archives created with
-    boost versions 1.42 and 1.43.
-</ul>
-<h2><a name="differences_1_42"></a>Differences from Boost 1.42</h2>
-<ul>
-    <li>fixed failure of shared_ptr serialization when serializing pointers
-created from enable_shared_from_this.
-    <li>added example for a simple archive which can be used as a debug log.
-This example illustrates the implemenation of the archive concept to aid
-understanding required to create one's own archive classes. The resulting
-archive is useful for debugging in that it only 160 lines of code and is
-header only - that is, it doesn't required linking to the serialization library.
-    <li>replaced example used to show how to derive from an existing archive.
-This example creates an XML archive class which doesn't include serialization
-traits such as class_id, class_version, etc.  It might be useful for exporting
-one's class information to osme XML processor and/or debugging programs.
-    <li>compile time warnings have been implemented to detect practices which
-    though correct, will result in operation or side effects different than
-    a user probably intends.
-    <li>Some memory leaks associated with void_cast have been fixed.
-</ul>
-<h2><a name="differences_1_41"></a>Differences from Boost 1.41</h2>
-<ul>
-    <li>adjustments have been made to minimize compile time warnings.
-    <li>compile time warnings have been implemented to detect practices which
-    though correct, will result in operation or side effects different than
-    a user probably intends.
-    <li>Some memory leaks associated with void_cast have been fixed.
-</ul>
-<h2><a name="differences_1_40"></a>Differences from Boost 1.40</h2>
-This library has been tested against Boost version 1.39 and 1.40.
-<p>
-    Changes have been made to archive classes included with the library. Users who 
-    have used these a guide to making their own archive classes will find that 
-    these will likely no longer compile. This can be remedied by making the 
-    following changes in the code which instantiates these archive classes.
-</p>
-Old Code:<br>
-<code><pre>
-...
-#include <boost/archive/impl/archive_pointer_iserializer.ipp>
-...
-template class detail::archive_pointer_iserializer<naked_text_iarchive> ;
-...
-template class detail::archive_pointer_iserializer<text_iarchive> ;
-</pre></code>should be replaced with this new code: <code><pre>
-#include <boost/archive/impl/archive_serializer_map.ipp>
-...
-template class detail::archive_serializer_map<naked_text_iarchive> ;
-...
-template class detail::archive_serializer_map<text_iarchive> ;
-</pre></code>
-<!--
-<p>
-The serialization library uses the boost spirit package to load XML archives.
-We have found that all tests pass using spirit 1.6x. Spirit 1.8 and higher does not work with
-older compilers - specifically MSVC 6, Borland and GCC < 3.0.
-If you are using one of these compilers, you may download a version
-of spirit 1.6 <a href="http://spirit.sourceforge.net/index.php?doc=download/index.html">here</a>.
-To use this downloaded version rather than the one included with boost,
-set an environmental variable SPIRIT_ROOT to be equal to the root 
-directory where the downloaded copy of spirit has been placed. E. G.
-<pre><code>
-set SPIRIT_ROOT=c:/spirit16
-</code></pre>
-If you're not using bjam and the Jamfile to build the library, be sure that
-the directory which contains the version of spirit you plan to use is placed
-at the front of the list of include paths.
--->
-<h2><a name="differences_1_39"></a>Differences from Boost 1.39</h2>
-<ul>
-    <li>
-        It is now possible to serialize an object through a pointer to a class which 
-        implements its own <code style="white-space: normal">new/delete</code>
-    operators. This functionaly is not available on some compilers.
-    <li>
-    serialization of polymorphic objects has been sped up considerably.
-</ul>
-As of this writing, all bug reports filed as TRAK tickets have been addressed. 
-There are some TRAK tickets pending which would best be described as feature 
-requests. See <a href="#todo">Pending Issues</a>.
-<h2><a name="differences_1_37"></a>Differences from Boost 1.37</h2>
-There are no new features in this version. As of this writing, all bug reports 
-filed as TRAK tickets have been addressed. There are some TRAK tickets pending 
-which would best be described as feature requests. See <a href="#todo">Pending 
-    Issues</a>.
-<h2><a name="differences_1_36"></a>Differences from Boost 1.36</h2>
-There are no new features in this version. As of this writing, all bug reports 
-filed as TRAK tickets have been addressed.
-<h2><a name="differences_1_35"></a>Differences from Boost 1.35</h2>
-<ul>
-    <li>
-    The library is now thread safe. That is, multiple archives can be open in 
-    different threads. This has been implmented with a lock-free algorithm to avoid 
-    any performance bottlenecks.
-    <li>
-    Serialization of types defined in shared libraries is now supported. shared 
-    libraries (DLLS) can be loaded/unloaded dynamically at runtime. This includes 
-    the serialization of instances of abstract base classes so that a program can 
-    be written so as to be compatible with as yet undefined and un-implemented 
-    code.
-    <li>
-    The extended type info system has been enhanced to in order to implement the 
-    above. It is now a general purpose system for creating and casting of types 
-    about which is only known a string ID and an abstract base class.
-    <li>
-    All bug reports filed as TRAK tickets have been addressed.
-    <li>
-    As of this writing, the library will fail build on older compilers such as MSVC 
-    before version 7.1 and older versions of Borland compilers. This might or might 
-    not change in the future.
-</ul>
-<h2><a name="differences_1_34"></a>Differences from Boost 1.34</h2>
-<ul>
-    <li>
-    Enhanced support for fast serialization for native binary archives. By Mattias 
-    Troyer.
-    <li>
-    Improved implementation of "export" functionality. Removes header ordering 
-    requirement and eliminates the maintenance of a pre-determined list of "known 
-    archives" By David Abrahams.
-    <li>
-    Improved support for STLPort.
-</ul>
-<h2><a name="differences_1_33"></a>Differences from Boost 1.33</h2>
-<ul>
-    <li>
-        Native Binary archives use the <code style="white-space: normal">std::streambuf</code>
-    interface. This should result in noticeably faster execution in many cases.
-</ul>
-<h2><a name="differences_1_32"></a>Differences from Boost 1.32</h2>
-<ul>
-    <li>
-        Dynamic Linking Library (DLLs and shared libraries) for platforms which support 
-        them. See <a href="../../../more/getting_started/windows.html#auto-linking">Automatic 
-            Linking on Windows</a>.
-    <li>
-    Implementation of auto-link for compilers which can support this.
-    <li>
-        Better support for <em>Argument Dependent Lookup</em>
-    and two-phase lookup. This results in simpler rules regarding the placing of 
-    serialization specializations namespaces.
-    <li>
-    Enhanced documentation to help explain usage of the above.
-    <li>
-    Adjustments to improve support for less conformant compilers.
-    <li>
-        Improved <code>const</code> correctness for save/load operators. Note that this 
-        may produce compile time errors in code which compiled without problem in 
-        earlier boost releases. In most cases the fix is trivial. In other cases, code 
-        should be scrutinized to be sure that it doesn't use the serialization system 
-        in a way which may introduce subtle bugs in to the program. A fuller 
-        explanation of this issue can be found <a target="detail" href="traits.html#tracking">
-            here</a>.
-    <li>
-        A new implementation of serialization for <code style="white-space: normal">shared_ptr<T></code>. 
-        This is compatible with public interface of <code style="white-space: normal">shared_ptr<T></code>
-        so it should be more robust and not have to change in the future. The 
-        implementation optionally includes code to load <code style="white-space: normal">shared_ptr<T></code>
-        stored in archives created with boost 1.32. This code is stored in 'he header: <code style="white-space: normal">
-            boost/serialization/shared_ptr_132.hpp</code>. If your application needs to 
-        load archives created with boost 1.32 libraries, include the above header 
-        before each inclusion of <code style="white-space: normal">boost/serialization/shared_ptr.hpp</code>.
-    <li>
-    More compilers tested and supported.
-    <li>
-    Miscellaneous bug fixes.
-</ul>
-<h2><a name="todo"></a>Pending issues</h2>
-<ul>
-    <li>
-    Rvalues cannot be serialized. It would be possible to implement this for 
-    untracked types, but this has not been done.
-    <li>
-    Pointers to pointers cannot currently be serialized
-    <li>
-        It's possible that <code style="white-space: normal">std::string</code> and <code style="white-space: normal">
-            std::wstring</code>
-    contain characters such as '\0' and -1 (EOF) which cannot be rendered in text 
-    and XML archives without an escape mechanism. Currently there is no such escape 
-    mechanism implemented.
-    <li>
-        A subtle error in the implementation of serializaton of <code style="white-space: normal">
-            std::map</code> is fixed in this version. Unfortunately, the fix breaks 
-        serialization of <code style="white-space: normal">std::map</code>
-    for those compilers which do not support partial template specialization. Also, 
-    types which contain pointers or tracked types might not work correctly.
-    <li>
-        Serialization of virtual base classes relies upon RTTI.  It will fail when used on
-        systems which don't have RTTI enabled.
-</ul>
-<p>
-    Aside from the above, there are a number of issues related to specific 
-    platforms. These are listed in <a href="implementation.html#othercompilerissues">Specific 
-        Compiler/Library Issues</a>.
-    <hr>
-<p>
-    <i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2009. 
-        Distributed under the Boost Software License, Version 1.0. (See accompanying 
-        file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) </i>
-</p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/serialization.html b/SRC/Boost/libs/serialization/doc/serialization.html
deleted file mode 100755
index 64a8a5f..0000000
--- a/SRC/Boost/libs/serialization/doc/serialization.html
+++ /dev/null
@@ -1,930 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Serialization of Classes</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Serializable Concept</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-  <dt><a href="#primitiveoperators">Primitive Types</a>
-  <dt><a href="#classoperators">Class Types</a>
-  <dl class="page-index">
-    <dt><a href="#member">Member Function</a>
-    <dt><a href="#free">Free Function</a>
-    <dl class="page-index">
-      <dt><a href="#namespaces">Namespaces for Free Function Overrides</a>
-    </dl>
-    <dt><a href="#classmembers">Class Members</a>
-    <dl class="page-index">
-      <dt><a href="#base">Base Classes</a>
-      <dt><a href="#const"><code style="white-space: normal">const</code> Members</a>
-      <dt><a href="#templates">Templates</a>
-    </dl>
-    <dt><a href="#versioning">Versioning</a>
-    <dt><a href="#splitting">Splitting <code style="white-space: normal">serialize</code> into 
-      <code style="white-space: normal">save/load</code></a>
-      <dl class="page-index">
-        <dt><a href="#splittingmemberfunctions">Member Functions</a>
-        <dt><a href="#splittingfreefunctions">Free Functions</a>
-      </dl>
-  </dl>
-  <dt><a href="#pointeroperators">Pointers</a>
-    <dl class="page-index">
-      <dt><a href="#constructors">Non-Default Constructors</a>
-      <dt><a href="#derivedpointers">Pointers to Objects of Derived Classes</a>
-      <dl class="page-index">
-        <dt><a href="#registration">Registration</a>
-        <dt><a href="#export">Export</a>
-        <dt><a href="#instantiation">Instantiation</a>
-        <dt><a href="#selectivetracking">Selective Tracking</a>
-        <dt><a href="#runtimecasting">Runtime Casting</a>
-      </dl>
-    </dl>
-  <dt><a href="#references">References</a>
-  <dt><a href="#arrays">Arrays</a>
-  <dt><a href="traits.html">Class Serialization Traits</a>
-  <dt><a href="wrappers.html">Serialization Wrappers</a>
-  <dt><a href="#models">Models - Serialization Implementations Included in the Library</a>
-</dl>
-
-A type <code style="white-space: normal">T</code> is <strong>Serializable</strong> 
-if and only if one of the following is true:
-<ul>
-  <li>it is a primitive type.<br>
-    By <i>primitive type</i> we mean a C++ built-in type and <i>ONLY</i>
-    a C++ built-in type. Arithmetic (including characters), bool, enum are primitive types.
-    Below in <a target="detail" href="traits.html#Traits">serialization traits</a>,
-    we define a "primitive" implementation level in a different way for a 
-    different purpose.  This can be a source of confusion.
-  <li>It is a class type and one of the following has been declared according
-    to the prototypes detailed below:
-    <ul>
-    <li>a class member function <code style="white-space: normal">serialize</code>
-    <li>a global function <code style="white-space: normal">serialize</code>
-    </ul>
-  <li>it is a pointer to a <strong>Serializable</strong> type.
-  <li>it is a reference to a <strong>Serializable</strong> type.
-  <li>it is a native C++ Array of <strong>Serializable</strong> type.
-</ul>
-
-<h2><a name="primitiveoperators">Primitive Types</a></h2>
-The template operators &, <<, and >> of the archive classes 
-described above will generate code to save/load all primitive types
-to/from an archive.  This code will usually just add the
-data to the archive according to the archive format.
-For example, a four byte integer is appended to a binary archive
-as 4 binary bytes while a to a text archive it would be 
-rendered as a space followed by a string representation.
-
-<h2><a name="classoperators">Class Types</a></h2>
-For class/struct types, the template operators &, <<, and >>
-will generate code that invokes the programmer's serialization code for the
-particular data type.  There is no default.  An attempt to serialize a
-class/struct for which no serialization has been explicitly specified
-will result in a compile time error.  The serialiation of a class can
-be specified via either a class member function or a free funcation which
-takes a reference to an instance of the class as an argument.
-
-<h3><a name="member">Member Function</a></h3>
-The serialization library invokes the following code to save or load a class instance
-to/from and archive.
-<pre><code>
-template<class Archive, class T>
-inline void serialize(
-    Archive & ar, 
-    T & t, 
-    const unsigned int file_version
-){
-    // invoke member function for class T
-    t.serialize(ar, file_version);
-}
-</code></pre>
-That is, the default definition of template <code style="white-space: normal">serialize</code> 
-presumes the existence of a class member function template of the following 
-signature:
-<pre><code>
-template<class Archive>
-void serialize(Archive &ar, const unsigned int version){
-    ...
-}
-</code></pre>
-If such a member function is not declared, a compile time error will occur.  In order
-that the member function generated by this template can be called to
-append the data to an archive, it either must be public or the class must
-be made accessible to the serialization library by including:
-<pre><code>
-friend class boost::serialization::access;
-</code></pre>
-in the class definition.  This latter method should be preferred over the option
-of making member function public. This will prevent serialization functions from 
-being called from outside the library.  This is almost certainly an error.  Unfortunately,
-it may appear to function but fail in a way that is very difficult to find.
-<p>
-It may not be immediately obvious how this one template serves for both
-saving data to an archive as well as loading data from the archive.
-The key is that the <code style="white-space: normal">&</code> operator is 
-defined as <code style="white-space: normal"><<</code>
-for output archives and as <code style="white-space: normal">>></code> input archives.  The
-"polymorphic" behavior of the <code style="white-space: normal">&</code> permits the same template
-to be used for both save and load operations.  This is very convenient in that it
-saves a lot of typing and guarantees that the saving and loading of class
-data members are always in sync.  This is the key to the whole serialization
-system.
-
-<h3><a name="free">Free Function</a></h3>
-Of course we're not restricted to using the default implementation described
-above. We can override the default one with our own.  Doing this will
-permit us to implement serialization of a class without altering
-the class definition itself.  We call this <strong>non-intrusive</strong>
-serialization.  Suppose our class is named <code style="white-space: normal">my_class</code>, the
-override would be specified as:
-<pre><code>
-// namespace selection
-
-template<class Archive>
-inline void serialize(
-    Archive & ar, 
-    my_class & t, 
-    const unsigned int file_version
-){
-    ...
-}
-</code></pre>
-
-Note that we have called this override "non-intrusive".  This is slightly
-inaccurate.  It does not require that the class have special functions, that
-it be derived from some common base class or any other fundamental design changes.
-However, it will require access to the class members that are to
-be saved and loaded.  If these members are <code style="white-space: normal">private</code>, it won't be
-possible to serialize them.  So in some instances, minor modifications to the
-class to be serialized will be necessary even when using this "non-intrusive"
-method.  In practice this may not be such a problem as many libraries 
-(E.G. STL) expose enough information to permit implementation of non-intrusive
-serialization with absolutly no changes to the library.
-
-<h4><a name="namespaces">Namespaces for Free Function Overrides</a></h4>
-For maximum portability, include any free functions templates and definitions in the 
-namespace <code style="white-space: normal">boost::serialization</code>.  If portability is not a concern and the
-compiler being used supports ADL (Argument Dependent Lookup) the free functions and
-templates can be in any of the following namespaces:
-<ul>
-<li><code style="white-space: normal">boost::serialization</code>
-<li>namespace of the archive class
-<li>namespace of the type being serialized
-</ul>
-<p>
-Note that, at first glance, this suggestion may seem to be wrong for compilers which implement
-two phase lookup.  In fact, the serialization library used a perhaps overly clever 
-method to support this rule even for such compilers.  Those with an interest in studying
-this furter will find more information in 
-<a target=serialization_hpp href="../../../boost/serialization/serialization.hpp">serialization.hpp</a>
-
-<h3><a name="classmembers">Serialization of Class Members</a></h3>
-Regardless of which of the above methods is used,  the body of the serialize function must
-specify the data to be saved/loaded by sequential application of the archive
-<code style="white-space: normal">operator &</code> to all the data members of the class.
-<pre><code>
-{
-    // save/load class member variables
-    ar & member1;
-    ar & member2;
-}
-</code></pre>
-
-<h4><a name="base">Base Classes</a></h4>
-The header file 
-<a href="../../../boost/serialization/base_object.hpp" target="base_object_hpp">
-base_object.hpp
-</a>
-includes the template:
-<pre><code>
-template<class Base, class Derived>
-Base & base_object(Derived &d);
-</code></pre>
-which should be used to create a reference to an object of the base
-which can be used as an argument to the archive serialization operators.
-So for a class of <strong>Serializable</strong> type
-<code style="white-space: normal">T</code> the base class state should be 
-serialized like this:
-<pre><code>
-{
-    // invoke serialization of the base class 
-    ar & boost::serialization::base_object<base_class_of_T>(*this);
-    // save/load class member variables
-    ar & member1;
-    ar & member2;
-}
-</code></pre>
-Resist the temptation to just cast <code style="white-space: normal">*this</code> to the base class.
-This might seem to work but may fail to invoke code necessary for
-proper serialization.
-<p>
-Note that this is <strong>NOT</strong> the same as calling the <code style="white-space: normal">serialize</code>
-function of the base class. This might seem to work but will circumvent
-certain code used for tracking of objects, and registering base-derived
-relationships and other bookkeeping that is required for the serialization
-system to function as designed.  For this reason, all <code style="white-space: normal">serialize</code>
-member functions should be <code style="white-space: normal">private</code>.
-
-<h4><a name="const"><code style="white-space: normal">const</code> Members</a></h4>
-Saving <code style="white-space: normal">const</code> members to an archive 
-requires no special considerations.
-Loading <code style="white-space: normal">const</code> members can be addressed by using a
-<code style="white-space: normal">const_cast</code>:
-<pre><code>
-    ar & const_cast<T &>(t);
-</code></pre>
-Note that this violates the spirit and intention of the <code style="white-space: normal">const</code>
-keyword. <code style="white-space: normal">const</code> members are intialized when a class instance
-is constructed and not changed thereafter.  However, this may
-be most appropriate in many cases.  Ultimately, it comes down to 
-the question about what <code style="white-space: normal">const</code> means in the context
-of serialization. 
-
-<h4><a name="templates"></a>Templates</h4>
-Implementation serialization for templates is exactly the same process 
-as for normal classes and requires no additional considerations.  Among
-other things, this implies that serialization of compositions of templates
-are automatically generated when required if serialization of the 
-component templates is defined.  For example, this library includes
-definition of serialization for <code style="white-space: normal">boost::shared_ptr<T></code> and for
-<code style="white-space: normal">std::list<T></code>. If I have defined serialization for my own
-class <code style="white-space: normal">my_t</code>, then serialization for 
-<code style="white-space: normal">std::list< boost::shared_ptr< my_t> ></code> is already available
-for use.
-<p>
-See for an example that shows how this idea might be implemented for your own
-class templates, see
-<a href="../example/demo_auto_ptr.cpp" target="demo_auto_ptr.cpp">
-demo_auto_ptr.cpp</a>.
-This shows how non-intrusive serialization
-for the template <code style="white-space: normal">auto_ptr</code> from the standard library
-can be implemented.
-<p>
-A somewhat trickier addition of serialization to a standard template
-can be found in the example 
-<a href="../../../boost/serialization/shared_ptr.hpp" target="shared_ptr_hpp">
-shared_ptr.hpp
-</a>
-<!--
-Only the most minimal change to
-<code>shared_count.hpp</code>
-(to gain access to some private members) was necessary to achieve this.
-This should demonstrate how easy it is to non-intrusively
-implement serialization to any data type or template. 
--->
-<p>
-In the specification of serialization for templates, its common
-to split <code style="white-space: normal">serialize</code> 
-into a <code style="white-space: normal">load/save</code> pair. 
-Note that the convenience macro described 
-<a href="#BOOST_SERIALIZATION_SPLIT_FREE">above</a>
-isn't helpful in these cases as the number and kind of
-template class arguments won't match those used when splitting
-<code style="white-space: normal">serialize</code> for a simple class.  Use the override
-syntax instead.
-
-<h3><a name="versioning">Versioning</a></h3>
-It will eventually occur that class definitions change after archives have
-been created. When a class instance is saved, the current version
-in included in the class information stored in the archive.  When the class instance
-is loaded from the archive, the original version number is passed as an
-argument to the loading function.  This permits the load function to include
-logic to accommodate older definitions for the class and reconcile them
-with latest version.  Save functions always save the current version.  So this
-results in automatically converting older format archives to the newest versions.
-Version numbers are maintained independently for each class.  This results in 
-a simple system for permitting access to older files and conversion of same.
-The current version of the class is assigned as a
-<a href="traits.html">Class Serialization Trait</a> described later in this manual.
-<pre><code>
-{
-    // invoke serialization of the base class 
-    ar & boost::serialization::base_object<base_class_of_T>(*this);
-    // save/load class member variables
-    ar & member1;
-    ar & member2;
-    // if its a recent version of the class
-    if(1 < file_version)
-        // save load recently added class members
-        ar & member3;
-}
-</code></pre>
-
-<h3><a name="splitting">Splitting <code style="white-space: normal">serialize</code> into Save/Load</a></h3>
-There are times when it is inconvenient to use the same
-template for both save and load functions.  For example, this might occur if versioning
-gets complex.  
-
-<h4><a name="splittingmemberfunctions">Splitting Member Functions</a></h4>
-For member functions this can be addressed by including
-the header file <a href="../../../boost/serialization/split_member.hpp" target="split_member_hpp">
-boost/serialization/split_member.hpp</a> including code like this in the class:
-<pre><code>
-template<class Archive>
-void save(Archive & ar, const unsigned int version) const
-{
-    // invoke serialization of the base class 
-    ar << boost::serialization::base_object<const base_class_of_T>(*this);
-    ar << member1;
-    ar << member2;
-    ar << member3;
-}
-
-template<class Archive>
-void load(Archive & ar, const unsigned int version)
-{
-    // invoke serialization of the base class 
-    ar >> boost::serialization::base_object<base_class_of_T>(*this);
-    ar >> member1;
-    ar >> member2;
-    if(version > 0)
-        ar >> member3;
-}
-
-template<class Archive>
-void serialize(
-    Archive & ar,
-    const unsigned int file_version 
-){
-    boost::serialization::split_member(ar, *this, file_version);
-}
-</code></pre>
-This splits the serialization into two separate functions <code style="white-space: normal">save</code>
-and <code style="white-space: normal">load</code>.  Since the new <code style="white-space: normal">serialize</code> template
-is always the same it can be generated by invoking the macro
-BOOST_SERIALIZATION_SPLIT_MEMBER() defined in the header file
-<a href="../../../boost/serialization/split_member.hpp" target="split_member_hpp">
-boost/serialization/split_member.hpp
-</a>.
-So the entire <code style="white-space: normal">serialize</code> function above can be replaced with:
-<pre><code>
-BOOST_SERIALIZATION_SPLIT_MEMBER()
-</code></pre>
-<h4><a name="splittingfreefunctions">Splitting Free Functions</a></h4>
-The situation is same for non-intrusive serialization with the free
-<code style="white-space: normal">serialize</code> function template.
-
-<a name="BOOST_SERIALIZATION_SPLIT_FREE">
-To use <code style="white-space: normal">save</code> and 
-<code style="white-space: normal">load</code> function templates rather than 
-<code style="white-space: normal">serialize</code>:
-<pre><code>
-namespace boost { namespace serialization {
-template<class Archive>
-void save(Archive & ar, const my_class & t, unsigned int version)
-{
-    ...
-}
-template<class Archive>
-void load(Archive & ar, my_class & t, unsigned int version)
-{
-    ...
-}
-}}
-</code></pre>
-include the header file 
-<a href="../../../boost/serialization/split_free.hpp" target="split_free_hpp">
-boost/serialization/split_free.hpp
-</a>.
-and override the free <code style="white-space: normal">serialize</code> function template:
-<pre><code>
-namespace boost { namespace serialization {
-template<class Archive>
-inline void serialize(
-    Archive & ar,
-    my_class & t,
-    const unsigned int file_version
-){
-    split_free(ar, t, file_version); 
-}
-}}
-</code></pre>
-To shorten typing, the above template can be replaced with
-the macro:
-<pre><code>
-BOOST_SERIALIZATION_SPLIT_FREE(my_class)
-</code></pre>
-
-Note that although the functionality to split the <code style="white-space: normal">
-serialize</code> function into <code style="white-space: normal">save/load</code>
-has been provided, the usage of the <code style="white-space: normal">serialize</code>
-function with the corresponding <code style="white-space: normal">&</code> operator
-is preferred.  The key to the serialization implementation is that objects are saved 
-and loaded in exactly the same sequence.  Using the <code style="white-space: normal">&</code> 
-operator and <code style="white-space: normal">serialize</code>
-function guarantees that this is always the case and will minimize the
-occurence of hard to find errors related to synchronization of 
-<code style="white-space: normal">save</code> and <code style="white-space: normal">load</code> 
-functions.
-<p>
-Also note that <code style="white-space: normal">BOOST_SERIALIZATION_SPLIT_FREE</code>
-must be used outside of any namespace.
-
-<h2><a name="pointeroperators">Pointers</a></h2>
-A pointer to any class instance can be serialized with any of the archive 
-save/load operators.
-<p>
-To properly save and restore an object through a pointer the
-following situations must be addressed:
-<ol>
-    <li>If the same object is saved multiple times through different
-    pointers, only one copy of the object need be saved.
-    <li>If an object is loaded multiple times through different pointers,
-    only one new object should be created and all returned pointers
-    should point to it.
-    <li>The system must detect the case where an object is first
-    saved through a pointer then the object itself is saved.
-    Without taking extra precautions, loading would result in the
-    creation of multiple copies of the original object. This system detects
-    this case when saving and throws an exception - see below.
-    <li>An object of a derived class may be stored through a
-    pointer to the base class. The true type of the object must
-    be determined and saved. Upon restoration the correct type
-    must be created and its address correctly cast to the base
-    class. That is, polymorphic pointers have to be considered.
-    <li>NULL pointers must be dectected when saved and restored
-    to NULL when deserialized.
-</ol>
-
-This serialization library addresses all of the above
-considerations. The process of saving and loading an object
-through a pointer is non-trivial. It can be summarized as
-follows:
-<p>Saving a pointer:
-<ol>
-    <li>determine the true type of the object being pointed to.
-    <li>write a special tag to the archive
-    <li>if the object pointed to has not already been written
-    to the archive, do so now
-</ol>
-Loading a pointer:
-<ol>
-    <li>read a tag from the archive.
-    <li>determine the type of object to be created
-    <li>if the object has already been loaded, return it's address.
-    <li>otherwise, create a new instance of the object
-    <li>read the data back in using the operators described above
-    <li>return the address of the newly created object.
-</ol>
-
-Given that class instances are saved/loaded to/from the archive
-only once, regardless of how many times they are serialized with
-the <code style="white-space: normal"><<</code> 
-and <code style="white-space: normal">>></code> operators
-<ul>
-    <li>Loading the same pointer object multiple times
-    results in only one object being created, thereby replicating
-    the original pointer configuration. 
-    <li>Structures such as collections of polymorphic pointers,
-    are handled with no special effort on the part of users of this library.
-</ul>
-Serialization of pointers of derived types through a pointer to the
-base class may require a little extra "help".  Also, the programmer
-may desire to modify the process described above for his own reasons.
-For example, it might be desired to suppress the tracking of objects
-as it is known a priori that the application in question can never
-create duplicate objects.  Serialization of pointers can be "fine tuned"
-via the specification of <a target="detail" href="traits.html#Traits">Class Serialization Traits</a>
-as described in
-<a target="detail" href="special.html#derivedpointers">
-another section of this manual
-</a>
-
-<h3><a name="constructors">Non-Default Constructors</a></h3>
-Serialization of pointers is implemented in the library with code
-similar to the following:
-<pre><code>
-// load data required for construction and invoke constructor in place
-template<class Archive, class T>
-inline void load_construct_data(
-    Archive & ar, T * t, const unsigned int file_version
-){
-    // default just uses the default constructor to initialize
-    // previously allocated memory. 
-    ::new(t)T();
-}
-</code></pre>
-The default <code style="white-space: normal">load_construct_data</code> invokes the
-default constructor "in-place" to initialize the memory.
-<p>
-If there is no such default constructor, the function templates
-<code style="white-space: normal">load_construct_data</code> and 
-perhaps <code style="white-space: normal">save_construct_data</code>
-will have to be overridden.  Here is a simple example:
-<pre><code>
-class my_class {
-private:
-    friend class boost::serialization::access;
-    const int m_attribute;  // some immutable aspect of the instance
-    int m_state;            // mutable state of this instance
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int file_version){
-        ar & m_state;
-    }
-public:
-    // no default construct guarentees that no invalid object
-    // ever exists
-    my_class(int attribute) :
-        m_attribute(attribute),
-        m_state(0)
-    {}
-};
-</code></pre>
-the overrides would be:
-<pre><code>
-namespace boost { namespace serialization {
-template<class Archive>
-inline void save_construct_data(
-    Archive & ar, const my_class * t, const unsigned int file_version
-){
-    // save data required to construct instance
-    ar << t->m_attribute;
-}
-
-template<class Archive>
-inline void load_construct_data(
-    Archive & ar, my_class * t, const unsigned int file_version
-){
-    // retrieve data from archive required to construct new instance
-    int attribute;
-    ar >> attribute;
-    // invoke inplace constructor to initialize instance of my_class
-    ::new(t)my_class(attribute);
-}
-}} // namespace ...
-</code></pre>
-In addition to the deserialization of pointers, these overrides are used
-in the deserialization of STL containers whose element type has no default
-constructor.
-
-<h3><a name="derivedpointers">Pointers to Objects of Derived Classes</a></h3>
-<h4><a name="registration">Registration</a></h4>
-Consider the following:
-<pre><code>
-class base {
-    ...
-};
-class derived_one : public base {
-    ...
-};
-class derived_two : public base {
-    ...
-};
-main(){
-    ...
-    base *b;
-    ...
-    ar & b; 
-}
-</code></pre>
-When saving <code style="white-space: normal">b</code> what kind of object should be saved? 
-When loading <code style="white-space: normal">b</code> what kind of object should be created? 
-Should it be an object of class <code style="white-space: normal">derived_one</code>,
-<code style="white-space: normal">derived_two</code>, or maybe <code style="white-space: normal">base</code>?
-<p>
-It turns out that the kind of object serialized depends upon whether the base class
-(<code style="white-space: normal">base</code> in this case) is polymophic or not.
-If <code style="white-space: normal">base</code> is not polymorphic, that is if it has no
-virtual functions, then an object of the type <code style="white-space: normal">base</code>
-will be serialized. Information in any derived classes will be lost. If this is what is desired
-(it usually isn't) then no other effort is required.
-<p>
-
-If the base class is polymorphic, an object of the most derived type
-(<code style="white-space: normal">derived_one</code>
-or <code style="white-space: normal">derived_two</code>
-in this case) will be serialized.  The question of which type of object is to be
-serialized is (almost) automatically handled by the library.
-<p>
-The system "registers" each class in an archive the first time an object of that
-class it is serialized and assigns a sequential number to it.  Next time an
-object of that class is serialized in that same archive, this number is written
-in the archive.  So every class is identified uniquely within the archive.  
-When the archive is read back in, each new sequence number is re-associated with 
-the class being read.  Note that this implies that "registration" has to occur
-during both save and load so that the class-integer table built on load
-is identical to the class-integer table built on save. In fact, the key to
-whole serialization system is that things are always saved and loaded in
-the same sequence.  This includes "registration".
-<p>
-Expanding our previous example:
-<pre><code>
-main(){
-    derived_one d1;
-    derived_two d2:
-    ...
-    ar & d1;
-    ar & d2;
-    // A side effect of serialization of objects d1 and d2 is that
-    // the classes derived_one and derived_two become known to the archive.
-    // So subsequent serialization of those classes by base pointer works
-    // without any special considerations.
-    base *b;
-    ...
-    ar & b; 
-}
-</code></pre>
-When <code style="white-space: normal">b</code> is read it is
-preceded by a unique (to the archive) class identifier which
-has previously been related to class <code style="white-space: normal">derived_one</code> or
-<code style="white-space: normal">derived_two</code>.
-<p>
-If a derived class has NOT been automatically "registered" as described
-above, an <a target="detail" href="exceptions.html#unregistered_class">
-<code style="white-space: normal">unregistered_class</code></a> exception 
-will be thrown when serialization is invoked.
-<p>
-This can be addressed by registering the derived class explicitly.  All archives are
-derived from a base class which implements the following template:
-<pre><code>
-template<class T>
-register_type();
-</code></pre>
-So our problem could just as well be addressed by writing:
-<pre><code>
-main(){
-    ...
-    ar.template register_type<derived_one>();
-    ar.template register_type<derived_two>();
-    base *b;
-    ...
-    ar & b; 
-}
-</code></pre>
-Note that if the serialization function is split between save and load, both
-functions must include the registration.  This is required to keep the save
-and corresponding load in syncronization.
-
-<h4><a name="export">Export</a></h4>
-The above will work but may be inconvenient.  We don't always know which derived
-classes we are going to serialize when we write the code to serialize through
-a base class pointer.  Every time a new derived class is written we have to
-go back to all the places where the base class is serialized and update the
-code.
-<p>
-So we have another method:
-<pre><code>
-#include <boost/serialization/export.hpp>
-...
-BOOST_CLASS_EXPORT_GUID(derived_one, "derived_one")
-BOOST_CLASS_EXPORT_GUID(derived_two, "derived_two")
-
-main(){
-    ...
-    base *b;
-    ...
-    ar & b; 
-}
-</code></pre>
-The macro <code style="white-space: normal">BOOST_CLASS_EXPORT_GUID</code> associates a string literal
-with a class. In the above example we've used a string rendering
-of the class name. If a object of such an "exported" class is serialized
-through a pointer and is otherwise unregistered, the "export" string is 
-included in the archive. When the archive 
-is later read, the string literal is used to find the class which 
-should be created by the serialization library.
-This permits each class to be in a separate header file along with its 
-string identifier. There is no need to maintain a separate "pre-registration" 
-of derived classes that might be serialized.  This method of
-registration is referred to as "key export".  More information on this
-topic is found in the section Class Traits - 
-<a target="detail" href="traits.html#export">Export Key</a>.
-<p>
-<h4><a name="instantiation">Instantiation</a></h4>
-Registration by means of any of the above methods fulfill another role 
-whose importance might not be obvious.  This system relies on templated
-functions of the form <code style="white-space: normal">template<class Archive, class T></code>.
-This means that serialization code must be instantiated for each
-combination of archive and data type that is serialized in the program.
-<p>
-Polymorphic pointers of derived classes may never be referred to 
-explictly by the program so normally code to serialize such classes
-would never be instantiated.  So in addition to including export key
-strings in an archive, <code style="white-space: normal">BOOST_CLASS_EXPORT_GUID</code> explicitly
-instantiates the class serialization code for all archive classes used 
-by the program.  
-
-<h4><a name="selectivetracking">Selective Tracking</a></h4>
-Whether or not an object is tracked is determined by its
-<a target="detail" href="traits.html#tracking">object tracking trait</a>.
-The default setting for user defined types is <code style="white-space: normal">track_selectively</code>.
-That is, track objects if and only if they are serialized through pointers anywhere
-in the program. Any  objects that are "registered" by any of the above means are presumed
-to be serialized through pointers somewhere in the program and therefore
-would be tracked. In certain situations this could lead to an inefficiency.
-Suppose we have a class module used by multiple programs.  Because
-some programs serializes polymorphic pointers to objects of this class, we 
-<a target="detail" href="traits.html#export">export</a> a class
-identifier by specifying <code style="white-space: normal">BOOST_CLASS_EXPORT</code> in the
-class header.  When this module is included by another program,
-objects of this class will always be tracked even though it
-may not be necessary.  This situation could be addressed by using 
-<a target="detail" href="traits.html#tracking"><code style="white-space: normal">track_never</code></a>  
-in those programs.
-<p>
-It could also occur that even though a program serializes through 
-a pointer, we are more concerned with efficiency than avoiding the
-the possibility of creating duplicate objects.  It could be
-that we happen to know that there will be no duplicates.  It could
-also be that the creation of a few duplicates is benign and not
-worth avoiding given the runtime cost of tracking duplicates.
-Again, <a target="detail" href="traits.html#tracking"><code style="white-space: normal">track_never</code></a>  
-can be used.
-<h4><a name="runtimecasting">Runtime Casting</a></h4>
-In order to properly translate between base and derived pointers
-at runtime, the system requires each base/derived pair be found
-in a table.  A side effect of serializing a base object with
-<code style="white-space: normal">boost::serialization::base_object<Base>(Derived &)</code>
-is to ensure that the base/derived pair is added to the table
-before the <code style="white-space: normal">main</code> function is entered.
-This is very convenient and results in a clean syntax.  The only
-problem is that it can occur where a derived class serialized
-through a pointer has no need to invoke the serialization of
-its base class.  In such a case, there are two choices.  The obvious
-one is to invoke the base class serialization with <code style="white-space: normal">base_object</code>
-and specify an empty function for the base class serialization.
-The alternative is to "register" the Base/Derived relationship
-explicitly by invoking the template 
-<code style="white-space: normal">void_cast_register<Derived, Base>();</code>.
-Note that this usage of the term "register" is not related
-to its usage in the previous section.  Here is an example of how this is done:
-<pre><code>
-#include <sstream>
-#include <boost/serialization/serialization.hpp>
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/serialization/export.hpp>
-
-class base {
-    friend class boost::serialization::access;
-    //...
-    // only required when using method 1 below
-    // no real serialization required - specify a vestigial one
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int file_version){}
-};
-
-class derived : public base {
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int file_version){
-        // method 1 : invoke base class serialization
-        boost::serialization::base_object<base>(*this);
-        // method 2 : explicitly register base/derived relationship
-        boost::serialization::void_cast_register<derived, base>(
-            static_cast<derived *>=NULL),
-            static_cast<base *>(NULL)
-        )
-    }
-};
-
-BOOST_CLASS_EXPORT_GUID(derived, "derived")
-
-main(){
-    //...
-    std::stringstream ss;
-    boost::archive::text_iarchive ar(ss);
-    base *b;
-    ar >> b; 
-}
-</code></pre>
-<p>
-
-In order for this template to be invoked in code compiled by non-conforming
-compilers, the following syntax may be used:
-<pre><code>
-boost::serialization::void_cast_register(
-    static_cast<Derived *>(NULL),
-    static_cast<Base *>(NULL)
-);
-</code></pre>
-For more information, see <a target="detail" href="implementation.html#tempatesyntax">Template Invocation syntax</a>
-
-<h3><a name="references"></a>References</h3>
-Classes that contain reference members will generally require
-non-default constructors as references can only be set when
-an instance is constructed. The example of the previous section
-is slightly more complex if the class has reference members.
-This raises the question of how and where the objects being
-referred to are stored and how are they created. Also there is the question about
-references to polymorphic base classes.  Basically, these
-are the same questions that arise regarding pointers.  This is
-no surprise as references are really a special kind of pointer.
-We address these questions by serializing references as though
-they were pointers.
-<pre><code>
-class object;
-class my_class {
-private:
-    friend class boost::serialization::access;
-    int member1;
-    object & member2;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int file_version);
-public:
-    my_class(int m, object & o) :
-        member1(m), 
-        member2(o)
-    {}
-};
-</code></pre>
-the overrides would be:
-<pre><code>
-namespace boost { namespace serialization {
-template<class Archive>
-inline void save_construct_data(
-    Archive & ar, const my_class * t, const unsigned int file_version
-){
-    // save data required to construct instance
-    ar << t.member1;
-    // serialize reference to object as a pointer
-    ar << & t.member2;
-}
-
-template<class Archive>
-inline void load_construct_data(
-    Archive & ar, my_class * t, const unsigned int file_version
-){
-    // retrieve data from archive required to construct new instance
-    int m;
-    ar >> m;
-    // create and load data through pointer to object
-    // tracking handles issues of duplicates.
-    object * optr;
-    ar >> optr;
-    // invoke inplace constructor to initialize instance of my_class
-    ::new(t)my_class(m, *optr);
-}
-}} // namespace ...
-</code></pre>
-
-<h3><a name="arrays"></a>Arrays</h3>
-If <code style="white-space: normal">T</code> is a serializable type, 
-then any native C++ array of type T is a serializable type.
-That is, if <code style="white-space: normal">T</code>
-is a serializable type, then the following
-is automatically available and will function as expected:
-<pre><code>
-T t[4];
-ar << t;
-    ...
-ar >> t;
-</code></pre>
-
-<h2><a href="traits.html">Class Serialization Traits</a></h2>
-
-<h2><a href="wrappers.html">Serialization Wrappers</a></h2>
-
-<h2><a name="models"></a>Models - Serialization Implementations Included in the Library</h2>
-The facilities described above are sufficient to implement 
-serialization for all STL containers.  In fact, this has been done
-and has been included in the library.  For example, in order to use
-the included serialization code for <code style="white-space: normal">std::list</code>, use:
-<pre><code>
-#include <boost/serialization/list.hpp>
-</code></pre>
-rather than
-<pre><code>
-#include <list>
-</code></pre>
-Since the former includes the latter, this all that is necessary.
-The same holds true for all STL collections as well as templates
-required to support them (e.g. <code style="white-space: normal">std::pair</code>).
-<p>
-As of this writing, the library contains serialization of the following boost clases:
-<ul>
-  <li>optional
-  <li>variant
-  <li>scoped_ptr
-  <li>shared_ptr
-  <li>auto_ptr (demo)
-</ul>
-Others are being added to the list so check the boost files section and headers for
-new implementations!
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/shared_ptr.html b/SRC/Boost/libs/serialization/doc/shared_ptr.html
deleted file mode 100755
index bcab126..0000000
--- a/SRC/Boost/libs/serialization/doc/shared_ptr.html
+++ /dev/null
@@ -1,233 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Template serialization - shared_ptr</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Template serialization - <code style="white-space: normal">shared_ptr<class T></code></h2>
-    </td>
-  </tr>
-</table>
-<hr>
-All the code snippets included below are defined within the
-<code style="white-space: normal">boost::serialization</code> namespace.
-<p>
-<code style="white-space: normal">shared_ptr<T></code> is defined in
-<a href="../../../boost/shared_ptr.hpp" target=shared_ptr.hpp>shared_ptr.hpp</a>.
-<p>
-The general class outline for a <code style="white-space: normal">shared_ptr<T></code> is:
-<dl>
-    <dt><code style="white-space: normal">shared_ptr<T></code> contains:
-    <dl>
-        <dt><code style="white-space: normal">T *px;</code>
-        <dt><code style="white-space: normal">shared_count pn;</code> which contains a pointer to:
-        <dl>
-            <dt><code style="white-space: normal">sp_counted_base_impl<T, ...></code> which is
-derived from the polymorphic abstract class
-            <dl>
-                <dt><code style="white-space: normal">sp_counted_base</code>
-            </dl>
-        </dl>
-    </dl>
-</dl>
-The serialization process proceeds down the tree above.
-<p>
-The first cut at implementing serialization for <code style="white-space: normal">shared_ptr</code>
-just serializes the relevant members of <code style="white-space: normal">shared_ptr</code>.
-It's almost trivial:
-<pre><code>
-template<class Archive, class T>
-inline void serialize(
-    Archive & ar,
-    shared_ptr<T> & t,
-    const unsigned int file_version,
-    int
-){
-    ar & t.px; // save the raw pointer
-    ar & t.pn; // save the shared reference count
-}
-</code></pre>
-So far so good.  Now for the serialization of <code style="white-space: normal">shared_count</code>:
-<pre><code>
-template<class Archive>
-inline void save(
-    Archive & ar,
-    const boost::detail::shared_count & t,
-    const unsigned int file_version
-){
-    ar << t.pi_;
-}
-
-template<class Archive>
-inline void load(
-    Archive & ar,
-    boost::detail::shared_count & t,
-    const unsigned int file_version
-){
-    ar >> t.pi_;
-}
-</code></pre>
-A key feature of this library is the ability to specify serialization
-of a class or template without changing the class or template declaration
-or definition.  This is referred to as <i>non-intrusive</i> serialization.
-<p>
-The <code style="white-space: normal">pi_</code>member of shared count is a pointer to an 
-instance of <code style="white-space: normal">sp_counted_base_impl<T, ...></code>.  Since this class
-doesn't have a default constructor, serialization requires
-specification of the following overload:
-<pre><code>
-template<class Archive, class P, class D>
-inline void save_construct_data(
-    Archive & ar,
-    const boost::detail::sp_counted_base_impl<P, D> * t, 
-    const unsigned int file_version
-){
-    // variables used for construction
-    ar << t->ptr;
-    ar << *t;
-}
-
-template<class Archive, class P, class D>
-inline void load_construct_data(
-    Archive & ar,
-    boost::detail::sp_counted_base_impl<P, D> * t, 
-    const unsigned int file_version
-){
-    P ptr_;
-    ar >> ptr_;
-    // placement new
-    ::new(t)boost::detail::sp_counted_base_impl<P, D>(ptr_,  D());
-    ar >>; *t;
-}
-</code></pre>
-The statement <code style="white-space: normal">ar >> ptr_</code> is key. This deserializes
-the same pointer deserialzed above.  Default object tracking will ensure
-that no more than one instance of the object is created and that the
-pointer returned by multiple deserializations are all the same. Hence,
-regardless of how many instances of <code style="white-space: normal">shared_ptr/shared_count</code>
-corresponding to a particular object are created, the will all point
-to the same object.
-<p>
-Since <code style="white-space: normal">sp_counted_base_impl<P, D></code> is derived from 
-<code style="white-space: normal">sp_counted_base</code>, the following is needed:
-
-<pre><code>
-template<class Archive, class P, class D>
-inline void serialize(
-    Archive & ar,
-    boost::detail::sp_counted_base_impl<P, D> & t,
-    const unsigned int file_version,
-    int
-){
-    ar & boost::serialization::base_object<
-	boost::detail::sp_counted_base
-    >(*this);
-}
-</code></pre>
-which will in turn require serialization of its base class:
-<pre><code>
-inline void serialize(
-    Archive & ar,
-    boost::detail::sp_counted & t,
-    const unsigned int file_version,
-    int
-){
-}
-</code></pre>
-It would seem we're done, running the test program,
-<a href="../example/demo_shared_ptr.cpp" target="demo_shared_ptr_cpp">
-demo_shared_ptr.cpp
-</a>,
-with this code produces the following output.
-<pre><code>
-a = 0x003017A0 use count = 2
-a1 = 0x003017A0 use count = 2
-unique element count = 1
-a = 0x00000000 use count = 0
-a1 = 0x00000000 use count = 0
-unique element count = 0
-a = 0x00303060 use count = 1
-a1 = 0x00303060 use count = 1
-unique element count = 1
-</code></pre>
-This indicates that we're not quite done.  Due to default object
-tracking, <code style="white-space: normal">sp_counted_base_impl<P, D></code> is only
-created once regardless of how many shared pointers point to the
-same object.  Of course, it has to be this way. The reference
-count starts at 1 and is never incrememented.  Code must be added
-to the serialization functions to maintain the proper reference
-count.
-<p>
-The process of serialization of an empty base class - 
-<code style="white-space: normal">sp_counted_base</code> - seems like additional overhead.
-Examination of code in 
-<a href="../../../boost/serialization/base_object.hpp" target="base_object_hpp">
-base_object.hpp
-</a>
-reveals that <code style="white-space: normal">base_object.hpp</code> provides two functions:
-<ul>
-    <li>invokes serialization of the base class data
-    <li>as a side effect, "registers" the fact base/derived relationship
-so that conversions of pointers between base and derived classes can be
-made at runtime.
-</ul>
-In this case we need only the latter function so we can replace the
-base object serialization with:
-<pre><code>
-// register the relationship between each derived class
-// its polymorphic base
-void_cast_register<
-    boost::detail::sp_counted_base_impl<P, D>
-    boost::detail::sp_counted_base, 
->();
-</code></pre>
-and we don't have to include a trival serializer for <code style="white-space: normal">sp_counted_base</code>
-<p>
-Finally we need to specify name-value pair wrappers if we want to be able
-to use this serialization with XML archives.
-<p>
-Actually, even this is really just a start. Among the issues not addressed in
-this implementation are:
-<ul>
-    <li><code style="white-space: normal">weak_ptr</code> is not addressed.  I haven't even looked into this.
-    <li>Other smart pointers that might interact with <code style="white-space: normal">shared_ptr</code>
-    haven't been addressed at all.  To be confident that the implementation is
-    complete and correct, all these should be addressed as well.
-    <li>Exception handling hasn't been exhaustively considered.
-    <li>Other issues yet to be discovered.
-</ul>
-One thing that has been considered is export of shared_ptr. The header which
-declares shared pointer serialization includes some special macros for exporting
-shared pointers:
-<code><pre>
-BOOST_SHARED_POINTER_EXPORT(T)
-BOOST_SHARED_POINTER_EXPORT_GUID(T, K)
-</pre></code>
-These are specialize versions of the macros used for exporting classes serialized through raw pointers.
-<p>
-Clearly, complete, correct and exception safe serialization of smart pointers is going to
-be a challenge.  I hope that this implementation provides a useful
-starting point for such an effort.
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/shared_ptr2.html b/SRC/Boost/libs/serialization/doc/shared_ptr2.html
deleted file mode 100755
index 5a6bb9d..0000000
--- a/SRC/Boost/libs/serialization/doc/shared_ptr2.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Template serialization - shared_ptr</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center"><code style="white-space: normal">shared_ptr<class T></code> Revisited</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-The previously described serialization of <code style="white-space: normal">shared_ptr</code>
-illustrates the straightforward way of serializing a moderately complicated class structure.
-Unfortunately, this way of doing it suffered from some undesirable features
-<ul>
-  <li>It was dependent on the Boost implementation of <code style="white-space: normal">shared_ptr</code>.
-  The <code style="white-space: normal">shared_ptr</code> interface has been included
-  in <code style="white-space: normal">std::tr1</code> and may someday be included in the standard
-  C++ library. An implementation which depends only on the public interface can be guaranteed to
-  function with any other future implementation of <code style="white-space: normal">shared_ptr</code>.
-  <li>It required extra macros for export.
-</ul>
-
-<pre><code>
-template<class Archive, class T>
-inline void save(
-    Archive & ar,
-    const boost::shared_ptr&ltT> &t,
-    const unsigned int /* file_version */
-){
-    const T * t_ptr = t.get();
-    // just serialize the underlying raw pointer
-    ar <&lt: boost::serialization::make_nvp("px", t_ptr);
-}
-
-template<class Archive, class T&gt
-inline void load(
-    Archive & ar,
-    boost::shared_ptr<T> &t,
-    const unsigned int file_version
-){
-    T* r;
-    // recover the underlying raw pointer
-    ar >> boost::serialization::make_nvp("px", r);
-
-    // To Do - match up with other shared pointers which 
-    // use this same raw pointer.
-    ...
-}
-</code></pre>
-
-In principle, this is very much simpler than the original implementation.  Completion of
-this code requires:
-
-<ol>
-  <li>Filling in the "To Do".  This required making an extra map for
-  <code style="white-space: normal">shared_ptr</code> instances.
-  <li>A method for identifying pointers to the same objects from pointers to their base classes.
-  <li>Backward compatibility with pointers serialized by the previous method.  This exploits
-  the serialization class versioning.
-  <li>Proper handling of <code style="white-space: normal">weak_ptr</code>.
-</ol>
-
-The result of this effort can be found in 
-<a target = serialization_shared_ptr href="../../../boost/serialization/shared_ptr.hpp">
-<code style="white-space: normal">boost::serialization::shared_ptr.hpp</code>
-</a>
-<p>
-Note that if your code needs to read archives created under boost version 1.32, you will
-have to include the following
-
-<pre><code>
-#include <boost/serialization/shared_ptr_132.hpp>
-#include <boost/serialization/shared_ptr.hpp>
-</code></pre>
-rather than just
-<pre><code>
-#include <boost/serialization/shared_ptr.hpp>
-</code></pre>
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/simple_log.html b/SRC/Boost/libs/serialization/doc/simple_log.html
deleted file mode 100755
index 70b6fba..0000000
--- a/SRC/Boost/libs/serialization/doc/simple_log.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-10 Robert Ramey - http://www.rrsd.com .
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Derivation from an Existing Archive</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">A Simple Logging Archive Class</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-The purpose of this example help clarify the usage of the
-<a href="archives.html"><strong>Archive Concept</strong></a> 
-so that one can implement his own archive classes.  
-<a href="../example/simple_log_archive.hpp" target="simple_archive_hpp">
-<code>simple_log_archive.hpp</code></a> implements a simple but useful
-archive class. This class can be used to send any serializable types
-on an output text stream in a readable format. Usage of this facility
-is trivially easy:
-
-<pre><code>
-#include "simple_log_archive.hpp"
-...
-// display the complete schedule
-simple_log_archive log(std::cout);
-log << schedule;
-</code></pre>
-
-and it produces the following output
-
-<pre><code>
-schedule 
- count 6
- item 
-  first 
-   driver bob
-   hour 6
-   minute 24
-  second -> 
-   stops 
-    count 3
-    item -> 
-     latitude 
-      degrees 34
-      minutes 135
-      seconds 52.56
-     longitude 
-      degrees 134
-      minutes 22
-      seconds 78.3
-...
-</code></pre>
-
-The complete example is <a href="../example/demo_simple_log.cpp" target="demo_simple_log_cpp">
-<code>demo_simple_log.cpp</code></a>.  Look at 
-<a href="archive_reference.html#trivial">Trivial Archive</a> to get a 
-better understanding of how this works.
-
-Also, note the following:
-<ul>
-  <li>Only 160 lines of code.
-  <li>Header only - linking with the serialization library not required.
-  <li>Displays ALL <a href="serialization.html"><strong>Serializable</strong></a> types.
-  <li>Lacks some features.
-  <ul>
-    <li>it will not display the data from the derived type given the pointer to a 
-    polymorphic base class.  That is, only displays the information of the base class.
-    To add that see the next example.
-    <li>doesn't display information serialized as binary data
-  </ul>
-</ul>
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2010. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/singleton.html b/SRC/Boost/libs/serialization/doc/singleton.html
deleted file mode 100755
index 71a821e..0000000
--- a/SRC/Boost/libs/serialization/doc/singleton.html
+++ /dev/null
@@ -1,256 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - singleton</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center"><code style="white-space: normal">singleton</code></h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-  <dt><a href="#motivation">Motivation</a>
-  <dt><a href="#features">Features</a>
-  <dt><a href="#classinterface">Class Interface</a>
-  <dt><a href="#requirements">Requirements</a>
-  <dt><a href="#example">Examples</a>
-  <dt><a href="#multithreading">Multi-Threading</a>
-</dl>
-
-<h3><a name="motivation">Motivation</a></h3>
-The serialization library relies on the existence of a number
-of static variables and tables to store information related
-to runtime types.  Examples are tables which relate exported
-names to types and tables which relate base classes to derived
-classes.  Construction, destruction and usage of these variables
-requires consideration of the following issues:
-<ul>
-  <li>Some static data variables and constants  entries refer to others.  
-  The sequence of initialization cannot be arbitrary but must be in proper
-  sequence.</li>
-  <li>A number of static variables aren't referred explicitly and, without
-  special precautions, will be stripped by most code optimizers</li>
-  <li>Many of these variables are created by templates and special care must
-  be taken to be sure that they are instantiated</li>
-  <li>In a multi-threading system, its possible that these static variables
-  will be accessed concurrently by separate threads.  This would create a
-  race condition with unpredictabe behavior</li>
-</ul>
-This singleton class addresses all of the above issues.
-
-<h3><a name="features">Features</a></h3>
-This singleton implementation has the following features:
-<ul>
-  <li>
-    Any instance will be constructed before any attempt is made to access it.</li>
-  <li>
-    Any instance created with a template is guarenteed to be instantiated.
-  <li>
-    Regardless of whether or not an instance has been explicitly
-    referred to, it will not be stripped by the optimizer when the
-    executable is built in release mode.
-  <li>
-    All instances are constructed before 
-    <code style="white-space: normal">main</code> is called
-    regardless of where they might be referenced within the program.
-    In a multi-tasking system, this guarentees that there will be no 
-    race conditions during the construction of any instance.  No
-    thread locking is required to guarentee this.
-  <li>
-    The above implies that any <code style="white-space: normal">const</code>
-    instances are thread-safe during the whole program.  Again, no
-    thread locking is required.
-  <li>
-    If a mutable instance is created, and such an instance is modified
-    after main is called in a mult-threading system, there exists
-    the possibility that a race condition will occur.  The serialization
-    library takes care that in the few places where a mutable
-    singleton is required, it is not altered after 
-    <code style="white-space: normal">main</code> is called.
-    For a more general purpose usage, thread locking on this
-    singleton could easily be implemented.  But as the serialization
-    library didn't require it, it wasn't implemented.
-</ul>
-
-<h3><a name="classinterface">Class Interface</a></h3>
-<pre><code>
-namespace boost { 
-namespace serialization {
-
-template <class T>
-class singleton : public boost::noncopyable
-{
-public:
-    static const T & get_const_instance();
-    static T & get_mutable_instance();
-    static bool is_destroyed();
-};
-
-} // namespace serialization 
-} // namespace boost
-</code></pre>
-
-<dl>
-
-<dt><h4><pre><code>
-static const T & get_const_instance();
-</code></pre></h4></dt>
-<dd>
-Retrieve a constant reference to the singleton for this type.
-</dd>
-
-<dt><h4><pre><code>
-static T & get_mutable_instance();
-</code></pre></h4></dt>
-<dd>
-Retrieve a mutable reference to the singleton for this type.
-</dd>
-
-<dt><h4><pre><code>
-static bool is_destroyed();
-</code></pre></h4></dt>
-<dd>
-Return <code>true</code> if the destructor on this singleton has been 
-called.  Otherwise, return <code>false</code>.
-</dd>
-
-</dl>
-
-<h3><a name="requirements">Requirements</a></h3>
-In order to be used as 
-<a target="singleton.hpp" href = "../../../boost/serialization/singleton.hpp">
-<code style="white-space: normal">
-singleton<T>
-</code> 
-</a>
-, the type T must be default constructable.
-It doesn't require static variables - though it may have them.
-Since the library guarentees that only one instance of 
-<a target="singleton.hpp" href = "../../../boost/serialization/singleton.hpp">
-<code style="white-space: normal">
-singleton<T>
-</code> 
-</a>
-and all accesss is through the above static interface
-functions, common member functions of T become
-the functional equivalent of 
-<code style="white-space: normal">static</code> functions.
-
-<h3><a name="example">Examples</a></h3>
-There are at least two different ways to use this class template.
-Both are used in the serialization library.
-<p>
-The first way is illustrated by and excerpt from the file
-<code style="white-space: normal"><a target="extended_type_info" href="../src/extended_type_info.cpp">extended_type_info.cpp</a></code>.
-which contains the following code:
-
-<pre><code>
-typedef std::set<const extended_type_info *, key_compare> ktmap;
-...
-void
-extended_type_info::key_register(const char *key) {
-    ...
-    result = singleton<ktmap>::get_mutable_instance().insert(this);
-    ...
-}
-</code></pre>
-Just by referring to the singleton instance anywhere in the program
-will guarentee that one and only one instance for the specified
-type (<code style="white-space: normal">ktmap</code> in this example) 
-will exist throughout the program.  There is no need for anyother
-declaration or definition.
-<p>
-A second way is to use 
-<a target="singleton.hpp" href = "../../../boost/serialization/singleton.hpp">
-<code style="white-space: normal">
-singleton<T>
-</code> 
-</a>
-as one of the base classes of the type.  This is illustrated by a simplified
-excerpt from
-<a target="extended_type_info_typeid.hpp" href = "../../../boost/serialization/extended_type_info_typeid.hpp">
-<code style="white-space: normal">
-extended_type_info_typeid.hpp
-</code> 
-</a>
-
-<pre><code>
-template<class T>
-class extended_type_info_typeid : 
-    public detail::extended_type_info_typeid_0,
-    public singleton<extended_type_info_typeid<const T> >
-{
-    friend class singleton<extended_type_info_typeid<const T> >;
-private:
-    // private constructor to inhibit any existence other than the 
-    // static one.  Note: not all compilers support this !!!
-    extended_type_info_typeid() :
-        detail::extended_type_info_typeid_0()
-    {
-        type_register(typeid(T));
-    }
-    ~extended_type_info_typeid(){}
-    ...
-};
-</code></pre>
-
-This usage will permit a more natural syntax to be used:
-<pre><code>
-extended_type_info_typeid<T>::get_const_instance()
-</code></pre>
-
-Again, including one or more of the above statements anywhere
-in the program will guarentee that one and only one instance
-is created and referred to.
-
-<h3><a name="multithreading">Multi-Threading</a></h3>
-This singleton CAN be safely used in multi-threading applications if one
-is careful follow a simple rule:
-<p>
-<b>Do not call get_mutable_instance when more than one thread is running!</b>
-<'>
-All singletons used in the serialization library follow this rule.  
-In order to help detect accidental violations of this rule there
-exists an singleton lock/unlock functions.
-<pre><code>
-void boost::serialization::singleton_module::lock();
-void boost::serialization::singleton_module::unlock();
-bool boost::serialization::singleton_module::is_locked();
-</code></pre>
-In a program compiled for debug, any invocation of 
-<code style="white-space: normal">get_mutable_instance()</code>
-while the library is in a "locked" state will trap in an assertion.
-The singleton module lock state is initialized as "unlocked" to permit
-alteration of static variables before 
-<code style="white-space: normal">main</code> is called. 
-The <code style="white-space: normal">lock()</code> and
-<code style="white-space: normal">unlock()</code> are "global"
-in they affect ALL the singletons defined by this template.
-All serialization tests invoke <code style="white-space: normal">lock()</code>
-at the start of the progam.  For programs compiled in release
-mode these functions have no effect.
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2007. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/smart_cast.html b/SRC/Boost/libs/serialization/doc/smart_cast.html
deleted file mode 100755
index b6e0b7e..0000000
--- a/SRC/Boost/libs/serialization/doc/smart_cast.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - BOOST_STATIC_WARNING</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center"><code>smart_cast</code></h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<h3>Motivation</h3>
-To cast from one type to another related type, C++ provides the following
-operators:
-
-<dl>
-  <dt><code>static_cast<T *<>(U *)<br>static_cast<T &<>(U &)</code></dt>
-  <dd>
-    <ul>
-      <li>required if neither T nor U are not polymorphic
-      <li>permitted in other cases.
-      <li>fails to detect erroneas casts of polymophic pointers/references at runtime.
-      <li>does not permit "cross casting"
-      <li>inline function calls can be optimized away during compile time.
-    </ul>
-  </dd>
-  <p>
-  <dt><code>dynamic_cast<T *<>(U *)<br>dynamic_cast<T &<>(U &)</code></dt>
-  <dd>
-    <ul>
-      <li>permitted if either T or U are polymorphic
-      <li>prohibited in other cases.
-      <li>throws exception on detecting erroneas casts of polymorphic pointers/references
-          at runtime.
-      <li>permits "cross casting"
-      <li>cannot optimise inline virtual functions at compile time.
-    </ul>
-  </dd>
-</dl>
-
-These rules can make it difficult to use casting with a function template argument.
-Consider the following example:
-
-<pre><code>
-#include <boost/serialization/smart_cast.hpp>
-
-struct top {
-};
-
-struct base1 : public top {
-    bool is_storable() const {
-        return true;
-    }
-    virtual ~base1();
-};
-
-struct base2 {
-    virtual ~base2();
-};
-
-struct derived1 :
-    public base1
-{
-    derived1();
-};
-
-struct derived2 :
-    public base1, 
-    public base2
-{
-    derived2();
-};
-
-template<class T>
-bool is_storable(T &t){
-    // what type of cast to use here?
-
-    // this fails at compiler time when T == base2
-    // return static_cast<base1 &>(t).is_storable();
-
-    // this fails at compiler time when T == top
-    // otherwise it works but cannot optimize inline function call
-    // return dynamic_cast<base1 &>(t).is_storable();
-
-    // this always works - and is guarenteed to generate the fastest code !
-    return (boost::smart_cast_reference<base1 &>(t)).is_storable();
-}
-
-int main(){
-    derived1 d1;
-    top & t1 = d1;
-    derived2 d2;
-    base2 & b2 = d2;
-
-    bool result;
-    result = is_storable(d1);   
-    result = is_storable(d2);   
-    result = is_storable(b2);
-    result = is_storable(b2);
-    result = is_storable(t1);
-    return 0;
-}
-</code></pre>
-The serialization library includes a mix of classes which use
-both static polymorphism (<strong>CRTP</strong>) and dynamic
-polymorphism via virtual functions.  <code style="white-space: normal">smart_cast</code> 
-was written to address the more problematic manifestations of the
-situation exmplified above.
-
-<h3>Usage</h3>
-The following syntax is supported:
-<pre><code>
-smart_cast<Target *, Source *>(Source * s);
-smart_cast<Target *>(Source * s);
-smart_cast<Target &, Source &&gt(Source & s);
-</code></pre>
-Note that the above syntax doesn't include 
-<pre><code>
-smart_cast<Target & &gt(Source & s)
-</code></pre>
-but the same functionality is supported the the following special syntax
-<pre><code>
-smart_cast_reference<Target &&gt(Source & s)
-</code></pre>
-
-<h3>Requirements</h3>
-<code style="white-space: normal">smart_cast</code> can be used only on compilers that support partial
-template specialization or on types for which have be specified with the
-macro <code style="white-space: normal">
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(<type>)</code>
-has been applied.
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/special.html b/SRC/Boost/libs/serialization/doc/special.html
deleted file mode 100755
index c36b897..0000000
--- a/SRC/Boost/libs/serialization/doc/special.html
+++ /dev/null
@@ -1,591 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Special Considerations</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Special Considerations</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-  <dt><a href="#objecttracking">Object Tracking</a>
-  <dt><a href="#classinfo">Class Information</a>
-  <dt><a href="#portability">Archive Portability</a>
-  <dl class="page-index">
-    <dt><a href="#numerics">Numerics</a>
-    <dt><a href="#traits">Traits</a>
-  </dl>
-  <dt><a href="#binary_archives">Binary Archives</a>
-  <dt><a href="#xml_archives">XML Archives</a>
-  <dt><a href="#export">Exporting Class Serialization</a>
-  <dt><a href="#static_libraries">Static Libraries and Serialization</a>
-  <dt><a href="#dlls">DLLS - Serialization and Runtime Linking</a>
-  <dt><a href="#plugins">Plugins</a>
-  <dt><a href="#multi_threading">Multi-Threading</a>
-  <dt><a href="#optimizations">Optimizations</a>
-  <dt><a href="exceptions.html">Archive Exceptions</a>
-  <dt><a href="exception_safety.html">Exception Safety</a>
-</dl>
-
-<h3><a name="objecttracking">Object Tracking</a></h3>
-Depending on how the class is used and other factors, serialized objects
-may be tracked by memory address.  This prevents the same object from being
-written to or read from an archive multiple times. These stored addresses
-can also be used to delete objects created during a loading process
-that has been interrupted by throwing of an exception.  
-<p>
-This could cause problems in 
-progams where the copies of different objects are saved from the same address.
-<pre><code>
-template<class Archive>
-void save(boost::basic_oarchive  & ar, const unsigned int version) const
-{
-    for(int i = 0; i < 10; ++i){
-        A x = a[i];
-        ar << x;
-    }
-}
-</code></pre>
-In this case, the data to be saved exists on the stack.  Each iteration
-of the loop updates the value on the stack.  So although the data changes
-each iteration, the address of the data doesn't.  If a[i] is an array of
-objects being tracked by memory address, the library will skip storing
-objects after the first as it will be assumed that objects at the same address
-are really the same object.
-<p>
-To help detect such cases, output archive operators expect to be passed
-<code style="white-space: normal">const</code> reference arguments.
-<p>
-Given this, the above code will invoke a compile time assertion.
-The obvious fix in this example is to use
-<pre><code>
-template<class Archive>
-void save(boost::basic_oarchive & ar, const unsigned int version) const
-{
-    for(int i = 0; i < 10; ++i){
-        ar << a[i];
-    }
-}
-</code></pre>
-which will compile and run without problem.  
-The usage of <code style="white-space: normal">const</code> by the output archive operators
-will ensure that the process of serialization doesn't
-change the state of the objects being serialized.  An attempt to do this
-would constitute augmentation of the concept of saving of state with
-some sort of non-obvious side effect. This would almost surely be a mistake 
-and a likely source of very subtle bugs.
-<p>
-Unfortunately, implementation issues currently prevent the detection of this kind of
-error when the data item is wrapped as a name-value pair.
-<p>
-A similar problem can occur when different objects are loaded to and address
-which is different from the final location:
-<pre><code>
-template<class Archive>
-void load(boost::basic_oarchive  & ar, const unsigned int version) const
-{
-    for(int i = 0; i < 10; ++i){
-        A x;
-        ar >> x;
-        std::m_set.insert(x);
-    }
-}
-</code></pre>
-In this case, the address of <code>x</code> is the one that is tracked rather than
-the address of the new item added to the set.  Left unaddressed
-this will break the features that depend on tracking such as loading object through a pointer.
-Subtle bugs will be introduced into the program.  This can be
-addressed by altering the above code thusly:
-
-<pre><code>
-template<class Archive>
-void load(boost::basic_iarchive  & ar, const unsigned int version) const
-{
-    for(int i = 0; i < 10; ++i){
-        A x;
-        ar >> x;
-        std::pair<std::set::const_iterator, bool> result;
-        result = std::m_set.insert(x);
-        ar.reset_object_address(& (*result.first), &x);
-    }
-}
-</code></pre>
-This will adjust the tracking information to reflect the final resting place of 
-the moved variable and thereby rectify the above problem.
-<p>
-If it is known a priori that no pointer
-values are duplicated, overhead associated with object tracking can
-be eliminated by setting the object tracking class serialization trait
-appropriately.
-<p>
-By default, data types designated primitive by 
-<a target="detail" href="traits.html#level">Implementation Level</a>
-class serialization trait are never tracked. If it is desired to
-track a shared primitive object through a pointer (e.g. a
-<code style="white-space: normal">long</code> used as a reference count), It should be wrapped
-in a class/struct so that it is an identifiable type.
-The alternative of changing the implementation level of a <code style="white-space: normal">long</code>
-would affect all <code style="white-space: normal">long</code>s serialized in the whole
-program - probably not what one would intend.
-<p>
-It is possible that we may want to track addresses even though
-the object is never serialized through a pointer.  For example,
-a virtual base class need be saved/loaded only once.  By setting
-this serialization trait to <code style="white-space: normal">track_always</code>, we can suppress 
-redundant save/load operations.
-<pre><code>
-BOOST_CLASS_TRACKING(my_virtual_base_class, boost::serialization::track_always)
-</code></pre>
-
-<h3><a name="classinfo">Class Information</a></h3>
-By default, for each class serialized, class information is written to the archive.
-This information includes version number, implementation level and tracking
-behavior.  This is necessary so that the archive can be correctly
-deserialized even if a subsequent version of the program changes
-some of the current trait values for a class.  The space overhead for
-this data is minimal.  There is a little bit of runtime overhead
-since each class has to be checked to see if it has already had its
-class information included in the archive.  In some cases, even this
-might be considered too much.  This extra overhead can be eliminated
-by setting the 
-<a target="detail" href="traits.html#level">implementation level</a>
-class trait to: <code style="white-space: normal">boost::serialization::object_serializable</code>. 
-<p>
-<i>Turning off tracking and class information serialization will result
-in pure template inline code that in principle could be optimised down
-to a simple stream write/read.</i>  Elimination of all serialization overhead
-in this manner comes at a cost.  Once archives are released to users, the
-class serialization traits cannot be changed without invalidating the old
-archives.  Including the class information in the archive assures us
-that they will be readable in the future even if the class definition
-is revised.  A light weight structure such as display pixel might be
-declared in a header like this:
-
-<pre><code>
-#include <boost/serialization/serialization.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/tracking.hpp>
-
-// a pixel is a light weight struct which is used in great numbers.
-struct pixel
-{
-    unsigned char red, green, blue;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* version */){
-        ar << red << green << blue;
-    }
-};
-
-// elminate serialization overhead at the cost of
-// never being able to increase the version.
-BOOST_CLASS_IMPLEMENTATION(pixel, boost::serialization::object_serializable);
-
-// eliminate object tracking (even if serialized through a pointer)
-// at the risk of a programming error creating duplicate objects.
-BOOST_CLASS_TRACKING(pixel, boost::serialization::track_never)
-</code></pre>
-
-<h3><a name="portability">Archive Portability</a></h3>
-Several archive classes create their data in the form of text or portable a binary format.  
-It should be possible to save such an of such a class on one platform and load it on another.  
-This is subject to a couple of conditions.
-<h4><a name="numerics">Numerics</a></h4>
-The architecture of the machine reading the archive must be able hold the data
-saved.  For example, the gcc compiler reserves 4 bytes to store a variable of type
-<code style="white-space: normal">wchar_t</code> while other compilers reserve only 2 bytes.  
-So its possible that   a value could be written that couldn't be represented by the loading program.  This is a
-fairly obvious situation and easily handled by using the numeric types in
-<a target="cstding" href="../../../boost/cstdint.hpp"><boost/cstdint.hpp></a>
-<P>
-A special integral type is <code>std::size_t</code> which is a typedef
-of an integral types guaranteed to be large enough
-to hold the size of any collection, but its actual size can differ depending
-on the platform. The 
-<a href="wrappers.html#collection_size_type"><code>collection_size_type</code></a>
-wrapper exists to enable a portable serialization of collection sizes by an archive.
-Recommended choices for a portable serialization of collection sizes are to 
-use either 64-bit or variable length integer representation.
-
-
-<h4><a name="traits">Traits</a></h4>
-Another potential problem is illustrated by the following example:
-<pre><code>
-template<class T>
-struct my_wrapper {
-    template<class Archive>
-    Archive & serialize ...
-};
-
-...
-
-class my_class {
-    wchar_t a;
-    short unsigned b;
-    template<class Archive>
-    Archive & serialize(Archive & ar, unsigned int version){
-        ar & my_wrapper(a);
-        ar & my_wrapper(b);
-    }
-};
-</code></pre>
-If <code style="white-space: normal">my_wrapper</code> uses default serialization
-traits there could be a problem.  With the default traits, each time a new type is
-added to the archive, bookkeeping information is added. So in this example, the
-archive would include such bookkeeping information for 
-<code style="white-space: normal">my_wrapper<wchar_t></code> and for
-<code style="white-space: normal">my_wrapper<short_unsigned></code>.
-Or would it?  What about compilers that treat 
-<code style="white-space: normal">wchar_t</code> as a
-synonym for <code style="white-space: normal">unsigned short</code>?
-In this case there is only one distinct type - not two.  If archives are passed between
-programs with compilers that differ in their treatment 
-of <code style="white-space: normal">wchar_t</code> the load operation will fail
-in a catastrophic way.
-<p>
-One remedy for this is to assign serialization traits to the template
-<code style="white-space: normal">my_template</code> such that class
-information for instantiations of this template is never serialized.  This 
-process is described <a target="detail" href="traits.html#templates">above</a> and
-has been used for <a target="detail" href="wrappers.html#nvp"><strong>Name-Value Pairs</strong></a>.
-Wrappers would typically be assigned such traits.
-<p>
-Another way to avoid this problem is to assign serialization traits
-to all specializations of the template <code style="white-space: normal">my_wrapper</code>
-for all primitive types so that class information is never saved.  This is what has
-been done for our implementation of serializations for STL collections.
-
-<h3><a name="binary_archives">Binary Archives</a></h3>
-Standard stream i/o on some systems will expand linefeed characters to carriage-return/linefeed 
-on output. This creates a problem for binary archives.  The easiest way to handle this is to 
-open streams for binary archives in "binary mode" by using the flag 
-<code style="white-space: normal">ios::binary</code>.  If this is not done, the archive generated
-will be unreadable.
-<p>
-Unfortunately, no way has been found to detect this error before loading the archive.  Debug builds
-will assert when this is detected so that may be helpful in catching this error.
-
-<h3><a name="xml_archives">XML Archives</a></h3>
-XML archives present a somewhat special case. 
-XML format has a nested structure that maps well to the "recursive class member visitor" pattern 
-used by the serialization system. However, XML differs from other formats in that it 
-requires a name for each data member. Our goal is to add this information to the 
-class serialization specification while still permiting the the serialization code to be 
-used with any archive. This is achived by requiring that all data serialized to an XML archive
-be serialized as a <a target="detail" href="wrappers.html#nvp">name-value pair</a>.
-The first member is the name to be used as the XML tag for the
-data item while the second is a reference to the data item itself. Any attempt to serialize data
-not wrapped in a in a <a target="detail" href="wrappers.html#nvp">name-value pair</a> will
-be trapped at compile time. The system is implemented in such a way that for other archive classes,
-just the value portion of the data is serialized. The name portion is discarded during compilation.
-So by always using <a target="detail" href="wrappers.html#nvp">name-value pairs</a>, it will
-be guarenteed that all data can be serialized to all archive classes with maximum efficiency.
-
-<h3><a name="export">Exporting Class Serialization</a></h3>
-<a target="detail" href="traits.html#export">Elsewhere</a> in this manual, we have described 
-<code style="white-space: normal">BOOST_CLASS_EXPORT</code>. 
-Export implies two things:
-<ul>
-<li>Instantiates code which is not otherwise referred to.
-<li>Associates an external identifier with the class to be serialized.
-The fact that the class isn't explicitly referred to implies this
-requirement.
-</ul>
-In C++, usage of code not explicitly referred to is implemented via
-virtual functions.  Hence, the need for export is implied by the 
-usage of a derived class that is manipulated via a pointer or
-reference to it's base class.
-
-<p>
-<code style="white-space: normal">BOOST_CLASS_EXPORT</code> in the same
-source module that includes any of the archive class headers will
-instantiate code required to serialize polymorphic pointers of
-the indicated type to the all those archive classes. If no
-archive class headers are included, then no code will be instantiated.
-
-<p>
-Note that the implemenation of this functionality requires
-that the <code style="white-space: normal">BOOST_CLASS_EXPORT</code>
-macro appear <b>after</b> and the inclusion of any archive
-class headers for which code is to be instantiated.
-So, code that uses <code style="white-space: normal">BOOST_CLASS_EXPORT</code>
-will look like the following:
-<pre><code>
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_oarchive.hpp>
-... // other archives
-
-#include "a.hpp" // header declaration for class a
-BOOST_CLASS_EXPORT(a)
-... // other class headers and exports
-</code></pre>
-This will be true regardless of whether the is part
-of a stand alone executable, a static library or
-a dyanmic or shared library.  
-<p>
-Including
-<code style="white-space: normal">BOOST_CLASS_EXPORT</code>
-in the "a.hpp" header itself as one would do with
-other serialization traits will make it difficult
-or impossible to follow the rule above regarding
-inclusion of archive headers before
-<code style="white-space: normal">BOOST_CLASS_EXPORT</code>
-is invoked. This can best be addressed by using
-<code style="white-space: normal">BOOST_CLASS_EXPORT_KEY</code>
-in the header declarations and
-<code style="white-space: normal">BOOST_CLASS_EXPORT_IMPLEMENT</code>
-in the class definition file.
-
-<p>
-This system has certain implications for placing code in static or shared
-libraries.  Placing <code style="white-space: normal">BOOST_CLASS_EXPORT</code>
-in library code will have no effect unless archive class headers are
-also included.  So when building a library, one should include all headers
-for all the archive classes which he anticipates using. Alternatively,
-one can include headers for just the
-<a href="archive_reference.html#polymorphic">Polymoprhic Archives</a>.
-
-<p>
-Strictly speaking, export should not be necessary if all pointer serialization
-occurs through the most derived class.  However, in order to detect
-what would be catastophic error, the library traps ALL serializations through
-a pointer to a polymorphic which are not exported or otherwise registered.
-So, in practice, be prepared to register or export all classes with one
-or more virtual functions which are serialized through a pointer. 
-
-<p>
-Note that the implementation of this functionality depends upon vendor
-specific extensions to the C++ language.  So, there is no guarenteed portability
-of programs which use this facility.  However, all C++ compilers which
-are tested with boost provide the required extensions.  The library
-includes the extra declarations required by each of these compilers.
-It's reasonable to expect that future C++ compilers will support
-these extensions or something equivalent.
-
-<h3><a name="static_libraries">Static Libraries and Serialization</a></h3>
-Code for serialization of data types can be saved in libraries
-just as it can for the rest of the type implementation.
-This works well, and can save huge amount of compilation time.
-<ul>
-<li>Only compile serialization definitions in the library.
-<li>Explicitly instantiate serialization code for ALL
-archive classes you intend to use in the library.
-<li>For exported types, only use <code style="white-space: normal">BOOST_CLASS_EXPORT_KEY</code>
-in headers.
-<li>For exported types, only use <code style="white-space: normal">BOOST_CLASS_EXPORT_IMPLEMENT</code>
-in definitions compiled in the library.  For any particular type,
-there should be only one file which contains
-<code style="white-space: normal">BOOST_CLASS_EXPORT_IMPLEMENT</code>
-for that type.  This ensures that only one copy
-of serialization code will exist within the program.  It avoids
-wasted space and the possibility of having different
-versions of the serialization code in the same program.
-Including
-<code style="white-space: normal">BOOST_CLASS_EXPORT_IMPLEMENT</code>
-in multiple files could result in a failure
-to link due to duplicated symbols or the throwing
-of a runtime exception.
-<li> Code for serialization should be only in the library,
-<li>Familiarize yourself with the <b>PIMPL</b> idiom.
-</ul>
-This is illustrated by
-<a href = "../example/demo_pimpl.cpp" target="demo_pimpl">
-<code style="white-space: normal">demo_pimpl.cpp</code>
-</a>,
-<a href = "../example/demo_pimpl_A.cpp" target="demo_pimpl">
-<code style="white-space: normal">demo_pimpl_A.cpp</code>
-</a>
-and
-<a href = "../example/demo_pimpl_A.hpp" target="demo_pimpl">
-<code style="white-space: normal">demo_pimpl_A.hpp</code>
-</a>
-where implementation of serializaton is in a static library 
-completely separate from the main program.
-
-<h3><a name="dlls">DLLS - Serialization and Runtime Linking</a></h3>
-Serialization code can be placed in libraries to be linked at runtime.  That is,
-code can be placed in DLLS(Windows) Shared Libraries(*nix), or static libraries
-as well as the main executable.  The best technique is the
-same as that described above for libraries.  The serialization
-library test suite includes the following programs
-to illustrate how this works:
-<p>
-
-<a href = "../test/test_dll_simple.cpp" target="test_dll_simple">
-<code style="white-space: normal">test_dll_simple</code>
-</a>,
-and
-<a href = "../test/dll_a.cpp" target="dll_a">
-<code style="white-space: normal">dll_a.cpp</code>
-</a>
-where implementation of serializaton is also completely separate
-from the main program but the code is loaded at runtime.  In this
-example, this code is loaded automatically when the program which
-uses it starts up, but it could just as well be loaded and unloaded 
-with an OS dependent API call.
-<p>
-Also included are
-<a href = "../test/test_dll_exported.cpp" target="test_dll_exported">
-<code style="white-space: normal">test_dll_exported.cpp</code>
-</a>,
-and
-<a href = "../test/polymorphic_derived2.cpp" target="polymorphic_derived2">
-<code style="white-space: normal">polymorphic_derived2.cpp</code>
-</a>
-which are similar to the above but include tests of the export
-and no_rtti facilities in the context of DLLS.
-<p>
-For best results, write your code to conform to the following
-guidelines:
-<ul>
-  <li>Don't include <code>inline</code> code in classes used in DLLS.
-This will generate duplicate code in the DLLS and mainline. This
-needlessly duplicates code.  Worse, it makes is possible for 
-different versions of the same code exist simultaneously.  This
-type of error turns out to be excruciatingly difficult to debug.
-Finally, it opens the possibility that module being referred to
-might be explictly unloaded which would (hopefully) result in
-a runtime error. This is another bug that is not always 
-reproducible or easy to find. For class member templates use something like
-
-<pre><code>
-template<class Archive>
-void serialize(Archive & ar, const unsigned int version);
-</code></pre>
-in the header, and
-
-<pre><code>
-template<class Archive>
-void myclass::serialize(Archive & ar, const unsigned int version){
-	...
-}
-
-BOOST_EXPORT_CLASS_IMPLEMENT(my_class)
-
-#include <boost/archive/text_oarchive>
-#include <boost/archive/text_iarchive<
-template myclass::serialize(boost::archive::text_oarchive & ar, const unsigned int version);
-template myclass::serialize(boost::archive::text_iarchive & ar, const unsigned int version);
-... // repeat for each archive class to be used.
-</code></pre>
-in the implementation file.  This will result in generation of all code
-required in only one place.  The library does not detect this type of error for you.
-  <li>If DLLS are to be loaded an unloaded explicitly (e.g. using <code>dlopen</code> in *nix or 
-<code>LoadLibrary</code> in Windows).  Try to arrange that they are unloaded in the reverse
-sequence.  This should guarentee that problems are avoided even if the
-above guidline hasn't been followed.
-
-</ul>
-
-<h3><a name="plugins">Plugins</a></h3>
-In order to implement the library, various facilities for runtime
-manipulation of types are runtime were required.  These
-are <a target="detail" href="extended_type_info.html"><code>extended_type_info</code></a>
-for associating classes with external identifying strings (<b>GUID</b>)
-and <a target="detail" href="void_cast.html"><code>void_cast</code></a>
-for casting between pointers of related types.
-
-To complete the functionality of 
-<a target="detail" href="extended_type_info.html"><code>extended_type_info</code></a>
-the ability to construct and destroy corresponding types has been
-added.  In order to use this functionality, one must specify
-how each type is created.  This should be done at the time
-a class is exported.  So, a more complete example of the code above would be:
-
-<pre><code>
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_oarchive.hpp>
-... // other archives
-
-#include "a.hpp" // header declaration for class a
-
-// this class has a default constructor
-BOOST_SERIALIZATION_FACTORY_0(a)
-// as well as one that takes one integer argument
-BOOST_SERIALIZATION_FACTORY_1(a, int)
-
-// specify the GUID for this class
-BOOST_CLASS_EXPORT(a)
-... // other class headers and exports
-</code></pre>
-
-With this in place, one can construct, serialize and destroy
-about which only is know the <b>GUID</b> and a base class.
-
-
-<h3><a name="multi_threading">Multi-Threading</a></h3>
-The fundamental purpose of serialization would conflict with multiple 
-thread concurrently writing/reading from/to a single open archive instance.
-The library implementation presumes that the application avoids such an situtation.
-<p>
-However, Writing/Reading different archives simultaneously
-in different tasks is permitted as each archive instance is (almost) 
-completely independent from any other archive instance.  The only shared 
-information are some type tables which have been implemented using a 
-lock-free thread-safe 
-<a target="detail" href="singleton.html">
-<code style="white-space: normal">singleton</code>
-</a>
-described elsewhere in this documentation.
-<p>
-This singleton implementation guarentees that all of this shared
-information is initialized when the code module which contains
-them is loaded.  The serialization library takes care to
-ensure that these data structures are not subsequently
-modified. The only time there could be a problem would
-be if code is loaded/unloaded while another task is
-serializing data.  This could only occur for types whose 
-serialization is implemented in a dynamically loaded/unload DLL
-or shared library.  So if the following is avoided:
-<ul>
-    <li>Accessing the same archive instance from different tasks.
-    <li>Loading/Unloading DLLS or shared libraries while any archive
-    instances are open.
-</ul>
-The library should be thread safe.
-
-<h3><a name="optimizations">Optimizations</a></h3>
-In performance critical applications that serialize large sets of contiguous data of homogeneous
-types one wants to avoid the overhead of serializing each element individually, which is
-the motivation for the <a href="wrappers.html#arrays"><code>array</code></a>
-wrapper.
-
-Serialization functions for data types containing contiguous arrays of homogeneous
-types, such as for <code>std::vector</code>, <code>std::valarray</code> or  
-<code>boost::multiarray</code> should serialize them using an
-<a href="wrappers.html#arrays"><code>array</code></a> wrapper to make use of 
-these optimizations.
-
-Archive types that can provide optimized serialization for contiguous arrays of 
-homogeneous types should implement these by overloading the serialization of
-the  <a href="wrappers.html#arrays"><code>array</code></a> wrapper, as is done
-for the binary archives.
-
-
-<h3><a href="exceptions.html">Archive Exceptions</a></h3>
-<h3><a href="exception_safety.html">Exception Safety</a></h3>
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/state_saver.html b/SRC/Boost/libs/serialization/doc/state_saver.html
deleted file mode 100755
index c06dc96..0000000
--- a/SRC/Boost/libs/serialization/doc/state_saver.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - <code style="white-space: normal">state_saver</code></title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center"><code style="white-space: normal">state_saver</code</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<p>
-Sometimes a certain value has to change only for a limited scope. 
-This class wrapper saves a copy of the current state of some object, 
-and resets the object's state at destruction time, undoing any change the object 
-may have gone through.  Here is the interface:
-
-<pre><code>
-template<class T>
-// T requirements:
-//  - POD or object semantic (cannot be reference, function, ...)
-//  - copy constructor
-//  - operator = (no-throw one preferred)
-class state_saver : private boost::noncopyable
-{
-private:
-    ... // implementation
-
-public:
-    state_saver(T & object);
-    ~state_saver();
-};
-</code></pre>
-
-The complete implementation can be found
-<a target="state_saver" href="../../../boost/serialization/state_saver.hpp">here</a>
-
-The following illustrates how this is expected to be used.
-
-<pre><code>
-#include <boost/state_saver.hpp>
-
-void func(A & a)
-    boost::state_saver<A> s(a);
-    ... // alter state of a by calling non-const functions
-    ... // call other functions
-    // original state of a automatically restored on exit
-}
-</pre></code>
-
-<h3>History</h3>
-This is a generalization of Daryle Walker's 
-<a href="../../../libs/io/doc/ios_state.html">io_state_saver</a> library.
-<p>
-Robert Ramey made an initial version for the serialization library.
-<p>
-Pavel Vozenilek made several non-obvious refinements to make it more
-secure and boost friendly
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/static_warning.html b/SRC/Boost/libs/serialization/doc/static_warning.html
deleted file mode 100755
index ad1b3ca..0000000
--- a/SRC/Boost/libs/serialization/doc/static_warning.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - BOOST_STATIC_WARNING</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center"><code>BOOST_STATIC_WARNING</code></h2>
-    </td>
-  </tr>
-</table>
-<hr>
-
-The header <code><boost/serialization/static_warning.hpp></code> supplies a single macro 
-<code style="white-space: normal">BOOST_STATIC_WARNING(x)</code>, which generates a compile time warning message if 
-the integral-constant-expression x is not true. 
-<p>
-Note that if the condition is true, then the macro will generate neither 
-code nor data - and the macro can also be used at either namespace, 
-class or function scope. When used in a template, the expression x 
-will be evaluated at the time the template is instantiated; this is 
-particularly useful for validating template parameters. 
-<p>
-It is intended that the functioning of <code style="white-space: normal">BOOST_STATIC_WARNING(x)</code>
-be identical to that of <code style="white-space: normal">BOOST_STATIC_ASSERT(x)</code>
-except that rather than resulting in a compilation error, it will result in
-a compiler warning.  In all other respects it should be the same.  So
-for more information on using <code style="white-space: normal">BOOST_STATIC_WARNING(x)</code>
-consult the documentation for <code style="white-space: normal">BOOST_STATIC_ASSERT(x)</code>
-<a href="../../../doc/html/boost_staticassert.html">here</a>.
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/strong_typedef.html b/SRC/Boost/libs/serialization/doc/strong_typedef.html
deleted file mode 100755
index 4c6cda7..0000000
--- a/SRC/Boost/libs/serialization/doc/strong_typedef.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - BOOST_STATIC_WARNING</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center"><code style="white-space: normal">BOOST_STRONG_TYPEDEF</code></h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<h3>Motivation</h3>
-<code style="white-space: normal">typedef</code> creates an alias for an existing type.  It does not create
-a new type that can be used for matching either function or template parameters.
-This can be shown by trying to compile the following example.
-<pre></code>
-typedef int a;
-void f(int x);  // (1) function to handle simple integers
-void f(a x);    // (2) special function to handle integers of type a 
-int main(){
-    int x = 1;
-    a y;
-    y = x;      // other operations permitted as a is converted as necessary
-    f(x);       // chooses (1)
-    f(y);       // chooses (2)
-}
-</code></pre>
-Since typedef doesn't create a new type, this program can't compile to code
-that implements its obvious intention.  
-<p>
-Usage of BOOST_STRONG_TYPEDEF
-addresses this.
-<pre></code>
-<a target="strong_typedef" href="../../../boost/strong_typedef.hpp">
-#include <boost/serialization/strong_typedef.hpp>
-</a>
-
-BOOST_STRONG_TYPEDEF(int, a)
-void f(int x);  // (1) function to handle simple integers
-void f(a x);    // (2) special function to handle integers of type a 
-int main(){
-    int x = 1;
-    a y;
-    y = x;      // other operations permitted as a is converted as necessary
-    f(x);       // chooses (1)
-    f(y);       // chooses (2)
-}
-</code></pre>
-The program will now compile and run as expected.
-
-<h3>Usage</h3>
-Syntax of <code style="white-space: normal">BOOST_STRONG_TYPEDEF</code>
-has been designed to be similar to the standard
-<code style="white-space: normal">typedef</code>.  So
-
-<pre><code>
-BOOST_STRONG_TYPEDEF(primitive type, name)
-</code></pre>
-
-will create a new type "name" which will be substitutable for the original
-type but still of distinct type.
-
-<h3>Implemenation</h3>
-<code style="white-space: normal">BOOST_STRONG_TYPEDEF</code> is a macro
-which generates a class named "name" wraps and instance of its
-primitive type and provides appropriate conversion operators in order
-to make the new type substitutable for the one that it wraps.
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/style.css b/SRC/Boost/libs/serialization/doc/style.css
deleted file mode 100755
index 943a980..0000000
--- a/SRC/Boost/libs/serialization/doc/style.css
+++ /dev/null
@@ -1,15 +0,0 @@
-pre{
-  BORDER-RIGHT: gray 1pt solid;
-  BORDER-TOP: gray 1pt solid;
-  BORDER-LEFT: gray 1pt solid;
-  BORDER-BOTTOM: gray 1pt solid;
-  MARGIN-LEFT: 0pt;
-  background-color: #EEEEEE;
-}
-
-/*
-(C) Copyright 2008 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
-*/
\ No newline at end of file
diff --git a/SRC/Boost/libs/serialization/doc/todo.html b/SRC/Boost/libs/serialization/doc/todo.html
deleted file mode 100755
index aeb8165..0000000
--- a/SRC/Boost/libs/serialization/doc/todo.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - To Do</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">To Do</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="index">
-  <dt><a href="#portablebinaryarchives">Portable Binary Archives</a></dt>
-  <dt><a href="#performancetesting">Performance Testing and Profiling</a></dt>
-  <dt><a href="#backversioning">Back Versioning</a></dt>
-  <dt><a href="#nortti">Testing for Environments with No RTTI</a></dt>
-  <dt><a href="new_case_studies.html">Additional Case Studies</a></dt>
-</dl>
-
-These are enhancements that the serialization library needs but have not been done.
-Some of these projects, though tricky, are not huge and would be suitable
-for someone who has a limited time to spend on them.  In particular, they
-might be of interest as student projects such as the Google Summer of Code.
-
-<h2><a name="portablebinaryarchives"></a>Portable Binary Archives</h2>
-Currently there is a portable binary archive in the examples directory.
-It is not regularly submitted to the exhaustive boost testing regimen
-but it is tested occasionally and has been used in production code.
-<p>
-Its missing the following:
-<ul>
-  <li>Addition of portable floating point types.  This is not trivial.  In addition to
-  handling floating point types of varying sizes, It requires
-  handling invalid floating point numbers (NaNs) in a portable manner.
-  <li>Some way to test archive portability within the Boost testing regimen.
-  <li>Integration into the Boost testing similar to the other archive classes.
-</ul>
-
-<h2><a name="performancetesting"></a>Performance Testing and Profiling</h2>
-
-I've managed to setup performance profiling using the following:
-<ul>
-  <li>current (as I write this) Boost.Build tools.
-  <li>the gcc compiler.
-  <li>and a shell script - profile.sh
-  <li>library_status program from the tools/regression/src directory
-</ul>
-Invoking profile script produces a 
-<a href="performance_status.html">table</a>
-which shows the results of each test and links to the actual
-profile.
-<p>
-The first thing I did was include some of the serialization library tests.
-It became immediatly apparent that these tests were totally unsuitable
-for performance testing and that new tests needed to be written for this 
-purpose.  These tests would highlight the location of any performance
-bottlenecks in the serialization library.  Whenever I've subjected my
-code in the past to this type of analysis, I've always been suprised
-to find bottlenecks in totally unanticipated places and fixing those
-has always lead to large improvements in performance.  I expect that
-this project would have a huge impact on the utility of the serialization
-library.
-
-<h2><a name="backversioning"></a>Back Versioning</h2>
-
-It has been suggested that a useful feature of the library would be
-the ability to create "older versions" of archives.  Currently,
-the library permits one make programs that are guarenteed
-the ability to load archives with classes of a previous version. 
-But there is not way to save classes in accordance with a
-previous version.  At first I dismissed this a a huge project
-with small demand.  A cursory examination of the code revealed
-that this would not be very difficult.  It would require some
-small changes in code and some additional tests.  Also it
-would require special treatment in the documentation - perhaps
-a case study.
-
-
-<h2><a name="nortti"></a>Environments without RTTI</h2>
-
-I note that some have commented that this library requires RTTI.
-This is not strictly true.  The examples and almost all the
-tests presume the existence of RTTI.  But it should be possible
-to use the library without it.  The example used for testing is an 
-<code style="white-space: normal">extended_typeinfo</code> 
-implemenation which presumes that all classes names have been exported. 
-So, to make this library compatible for platforms without RTTI, 
-a set of tests, examples and new manual section would have to be created
-
-<hr>
-<p>Revised 1 November, 2008 
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2008. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/traits.html b/SRC/Boost/libs/serialization/doc/traits.html
deleted file mode 100755
index 1a9b6e0..0000000
--- a/SRC/Boost/libs/serialization/doc/traits.html
+++ /dev/null
@@ -1,807 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Class Serialization Traits</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Class Serialization Traits</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-  <dt><a href="#version">Version</a>
-  <dt><a href="#level">Implementation Level</a>
-  <dt><a href="#tracking">Object Tracking</a>
-  <dt><a href="#export">Export Key</a>
-  <dt><a href="#abstract">Abstract</a>
-  <dt><a href="#typeinfo">Type Information Implementation</a>
-  <dt><a href="#wrappers">Wrappers</a>
-  <dt><a href="#bitwise">Bitwise Serialization</a>
-  <dt><a href="#templates">Template Serialization Traits</a>
-  <dt><a href="#compiletime_messages">Compile Time Warnings and Errors</a>
-</dl>
-Serialization of data depends on the type of the data.  For example, for
-primitive types such as an <code style="white-space: normal">int</code>, it wouldn't make sense to save
-a version number in the archive. Likewise, for a data type that is never
-serialized through a pointer, it would (almost) never make sense to track
-the address of objects saved to/loaded from the archive as it will never
-be saved/loaded more than once in any case.  Details of
-serialization for a particular data type will vary depending on the
-type, the way it is used and specifications of the programmer. 
-<p>
-One can alter the manner in which a particular data type is serialized
-by specifying one or more <strong>class serialization traits</strong>.
-It is not generally necessary for the programmer to explictly assign
-traits to his classes as there are default values for all traits.
-If the default values are not appropriate they can be assigned by the programmer.
-A template is used to associate a typename with a constant.  For example
-see <a href="../../../boost/serialization/version.hpp" target="version_hpp">
-version.hpp</a>.  
-<h3><a name="version">Version</a></h3>
-This header file includes the following code:
-
-<pre><code>
-namespace boost { 
-namespace serialization {
-template<class T>
-struct version
-{
-    BOOST_STATIC_CONSTANT(unsigned int, value = 0);
-};
-} // namespace serialization
-} // namespace boost
-</code></pre>
-
-For any class <code style="white-space: normal">T</code>, The default definition 
-of <code style="white-space: normal">boost::serialization::version<T>::value</code> is 0. 
-If we want to assign a value of 2 as the version for class <code style="white-space: normal">my_class</code>
-we specialize the version template:
-<pre><code>
-namespace boost { 
-namespace serialization {
-struct version<my_class>
-{
-    BOOST_STATIC_CONSTANT(unsigned int, value = 2);
-};
-} // namespace serialization
-} // namespace boost
-</code></pre>
-Now whenever the version number for class <code style="white-space: normal">my_class</code> is required,
-the value 2 will be returned rather than the default value of 0.
-<p>
-To diminish typing and enhance readability, a macro is defined
-so that instead of the above, we could write:
-<pre><code>
-BOOST_CLASS_VERSION(my_class, 2)
-</code></pre>
-which expands to the code above.
-
-<h3><a name="level">Implementation Level</a></h3>
-In the same manner as the above, the "level" of implementation of serialization is
-specified.  The header file <a href="../../../boost/serialization/level.hpp" 
-target="level_hpp">level.hpp</a> defines the following.
-<pre><code>
-// names for each level
-enum level_type
-{
-    // Don't serialize this type. An attempt to do so should
-    // invoke a compile time assertion.
-    not_serializable = 0,
-    // write/read this type directly to the archive. In this case
-    // serialization code won't be called.  This is the default
-    // case for fundamental types.  It presumes a member function or
-    // template in the archive class that can handle this type.
-    // there is no runtime overhead associated reading/writing
-    // instances of this level
-    primitive_type = 1,
-    // Serialize the objects of this type using the objects "serialize"
-    // function or template. This permits values to be written/read
-    // to/from archives but includes no class or version information. 
-    object_serializable = 2,
-    ///////////////////////////////////////////////////////////////////
-    // once an object is serialized at one of the above levels, the
-    // corresponding archives cannot be read if the implementation level
-    // for the archive object is changed.  
-    ///////////////////////////////////////////////////////////////////
-    // Add class information to the archive.  Class information includes
-    // implementation level, class version and class name if available.
-    object_class_info = 3,
-};
-</code></pre>
-Using a macro defined in <code style="white-space: normal">level.hpp</code> we can specify
-that <code style="white-space: normal">my_class</code> should be serialized along with its version number:
-<pre><code>
-BOOST_CLASS_IMPLEMENTATION(my_class, boost::serialization::object_class_info)
-</code></pre>
-If implementation level is not explicitly assigned, the system uses
-a default according to the following rules.
-<ul>
-  <li>if the data type is <code style="white-space: normal">volatile</code> 
-assign <code style="white-space: normal">not_serializable</code>
-  <li>else if it's an enum or fundamental type assign <code style="white-space: normal">primitive_type</code>
-  <li>else assign <code style="white-space: normal">object_class_info</code>
-</ul>
-That is, for most user defined types, objects will be serialized along with
-class version information. This will permit one to maintain backward
-compatibility with archives which contain previous versions.  However, with this 
-ability comes a small runtime cost.  For types whose definition will "never" 
-change, efficiency can be gained by specifying <code style="white-space: normal">object_serializable</code> 
-to override the default setting of <code style="white-space: normal">object_class_info</code>.  
-For example, 
-this has been done for the  
-<a href="../../../boost/serialization/binary_object.hpp" target="binary_object_hpp">
-binary_object wrapper</a>
-
-<h3><a name="tracking">Object Tracking</a></h3>
-Depending on the way a type is used, it may be necessary or convenient to
-track the address of objects saved and loaded.  For example, this is generally
-necessary while serializing objects through a pointer in order to be sure
-that multiple identical objects are not created when an archive is loaded.
-This "tracking behavior" is controlled by the type trait defined in the header
-file <a href="../../../boost/serialization/tracking.hpp" target="tracking_hpp">tracking.hpp</a>
-which defines the following:
-<pre><code>
-// names for each tracking level
-enum tracking_type
-{
-    // never track this type
-    track_never = 0,
-    // track objects of this type if the object is serialized through a 
-    // pointer.
-    track_selectively = 1,
-    // always track this type
-    track_always = 2
-};
-</code></pre>
-A corresponding macro is defined so that we can use:
-<pre><code>
-BOOST_CLASS_TRACKING(my_class, boost::serialization::track_never)
-</code></pre>
-Default tracking traits are:
-<ul>
-  <li>For primitive, <code style="white-space: normal">track_never</code>.
-  <li>For pointers, <code style="white-space: normal">track_never</code>.
-  That is, addresses of addresses are not tracked by default.
-  <li>All current serialization wrappers such as <code style="white-space: normal">boost::serialization::nvp</code>,
-  <code style="white-space: normal">track_never</code>.
-  <li>For all other types, <code style="white-space: normal">track_selectively</code>.
-  That is addresses of serialized objects are tracked if and only if
-  one or more of the following is true:
-  <ul>
-  <li>an object of this type is anywhere in the program serialized
-  through a pointer.
-  <li>the class is explicitly "exported" - see below.
-  <li>the class is explicitly "registered" in the archive
-  </ul>
-</ul>
-
-<p>
-The default behavior is almost always the most convenient one.  However,
-there a few cases where it would be desirable to override the
-default.  One case is that of a virtual base class. In a diamond
-heritance structure with a virtual base class, object tracking
-will prevent redundant save/load invocations.  So here is one
-case where it might be convenient to override the default tracking
-trait. <i>(Note: in a future version the default will be reimplemented
-to automatically track classes used as virtual bases).</i> This 
-situation is demonstrated by 
-<a href="../test/test_diamond.cpp" target="test_diamond_cpp">test_diamond.cpp</a>
-included with the library.
-
-<h3><a name="export">Export Key</a></h3>
-
-When serializing a derived class through a virtual base class pointer,
-two issues may arise.
-<ul>
-<li> The code in the derived class might never be explicitly
-referred to.  Such code will never be instantiated.
-<p>
-This is addressed by invoking 
-<code style="white-space: normal">BOOST_CLASS_EXPORT_IMPLEMENT(T)</code>
-in the file which defines (implements) the class T.
-This ensures that code for the derived class T will
-be explicity instantiated.
-<li> There needs to be some sort of identifier which can
-be used to select the code to be invoked when the object
-is loaded.
-Standard C++ does implement <code style="white-space: normal">typeid()</code> which can be
-used to return a unique string for the class.  This is not entirely
-statisfactory for our purposes for the following reasons:
-<ul>
-  <li>There is no guarantee that the string is the same across platforms.
-  This would then fail to support portable archives.
-  <li>In using code modules from various sources, classes may have
-  to be wrapped in different namespaces in different programs.
-  <li>There might be classes locally defined in different code modules
-  that have the same name. 
-  <li>There might be classes with different names that we want to
-  consider equivalent for purposes of of serialization.
-</ul>
-<p>
-So in the serialization library, this is addressed by invoking
-<code style="white-space: normal">BOOST_CLASS_EXPORT_KEY2(my_class, "my_class_external_identifier")</code>
-in the header file which declares he class.
-In a large majority of applications, the class name works just fine
-for the external identifier string so the following short cut is
-defined -
-<code style="white-space: normal">BOOST_CLASS_EXPORT_KEY(my_class)</code>.
-</ul>
-For programs which consist of only one module - that is 
-programs which do not use DLLS, one can specify
-<code style="white-space: normal">BOOST_CLASS_EXPORT(my_class)</code>
-or
-<code style="white-space: normal">BOOST_CLASS_EXPORT_GUID(my_class, "my_class_external_identifier")</code>
-in either he declaration header or definition.  These macros
-expand to invocation of the of both of the macros described above.
-<i>(<b>GUID</b> stands for <b>G</b>lobally <b>U</b>nique <b>ID</b>entfier.)</i>
-<p>
-<i>(<a target="detail" href="special.html#export">Elsewhere</a>
-in this manual, the serialization of derived classes is addressed in detail.)</i>
-<p>
-The header file
-<a href="../../../boost/serialization/export.hpp" target="export_hpp">export.hpp</a>
-contains all macro definitions described here.
-The library will throw a runtime exception if
-<ul>
-<li> A type not explicitly referred to is not exported.
-<li> Serialization code for the same type is instantiated
-in more than one module (or DLL).
-</ul>
-
-<h3><a name="abstract">Abstract</a></h3>
-When serializing an object through a pointer to its base class,
-the library needs to determine whether or not the bas is abstract
-(i.e. has at least one virtual function).  The library uses the
-type trait macro <code style="white-space: normal">BOOST_IS_ABSTRACT(T)</code>
-to do this.  Not all compilers support this type trait and corresponding
-macro.  To address this, the macro <code style="white-space: normal">
-BOOST_SERIALIZATION_ASSUME_ABSTRACT(T)</code> has been
-implemented to permit one to explicitly indicate that a specified
-type is in fact abstract.  This will guarentee that
-<code style="white-space: normal">BOOST_IS_ABSTRACT</code>
-will return the correct value for all compilers.
-
-<h3><a name="typeinfo">Type Information Implementation</a></h3>
-This last trait is also related to the serialization of objects
-through a base class pointer.  The implementation of this facility
-requires the ability to determine at run time the true type of the
-object that a base class pointer points to.  Different serialization
-systems do this in different ways.  In our system, the default method
-is to use the function <code style="white-space: normal">typeid(...)</code> which is available 
-in systems which support <b>RTTI</b> (<b>R</b>un <b>T</b>ime 
-<b>T</b>ype <b>I</b>nformation).
-This will be satisfactory in almost all cases and most users of this 
-library will lose nothing in skipping this section of the manual.
-<p>
-However, there are some cases where the default type determination
-system is not convenient.  Some platforms might not support
-RTTI or it may have been disabled in order to speed execution
-or for some other reason.  Some applications, E.G. runtime linking
-of plug-in modules, can't depend on C++ RTTI to determine the
-true derived class.  RTTI only returns the correct type for polymorphic
-classes - classes with at least one virtual function.  If any of these
-situations applies, one may substitute his own implementation of
-<code style="white-space: normal">extended_type_info</code>
-<p>
-The interface to facilities required to implement serialization is defined in
-<a href="../../../boost/serialization/extended_type_info.hpp" 
-target="extended_type_info_hpp">extended_type_info.hpp</a>.
-
-Default implementation of these facilities based on <code style="white-space: normal">typeid(...)</code>
-is defined in
-
-<a href="../../../boost/serialization/extended_type_info_typeid.hpp" 
-target="extended_type_info_typeid_hpp">extended_type_info_typeid.hpp</a>.
-
-An alternative implementation based on exported class identifiers
-is defined in
-<a href="../../../boost/serialization/extended_type_info_no_rtti.hpp" 
-target="extended_type_info_rtti_hpp">extended_type_info_no_rtti.hpp</a>.
-<p>
-By invoking the macro:
-<pre><code>
-BOOST_CLASS_TYPE_INFO(
-    my_class, 
-    extended_type_info_no_rtti<my_class>
-)
-</code></pre>
-we can assign the type information implementation to each class on a case by
-case basis.  There is no requirement that all classes in a program use the same 
-implementation of <code style="white-space: normal">extended_type_info</code>.  This supports the concept
-that serialization of each class is specified "once and for all" in a header
-file that can be included in any project without change.
-<p>
-This is illustrated by the test program
-<a href="../test/test_no_rtti.cpp" target="test_no_rtti_cpp">test_no_rtti.cpp</a>.
-Other implementations are possible and might be necessary for
-certain special cases.
-
-version.hpp</a>.  
-<h3><a name="wrappers">Wrappers</a></h3>
-Archives need to treat wrappers diffently from other types since, for example,
-they usually are non-const object while output archives require that any
-serialized object (with the exception of a wrapper) be const. 
-
-This header file <a href="../../../boost/serialization/wrapper.hpp">wrapper.hpp</a>
-includes the following code:
-
-<pre><code>
-namespace boost { 
-namespace serialization {
-template<class T>
-struct is_wrapper
- : public mpl::false_
-{};
-} // namespace serialization
-} // namespace boost
-</code></pre>
-
-For any class <code style="white-space: normal">T</code>, The default definition 
-of <code style="white-space: normal">boost::serialization::is_wrapper<T>::value</code> is thus false.
- 
-If we want to declare that a class <code style="white-space: normal">my_class</code>
-is a wrapper we specialize the version template:
-<pre><code>
-namespace boost { 
-namespace serialization {
-struct is_wrapper<my_class>
- : mpl::true_
-{};
-} // namespace serialization
-} // namespace boost
-</code></pre>
-<p>
-To diminish typing and enhance readability, a macro is defined
-so that instead of the above, we could write:
-<pre><code>
-BOOST_CLASS_IS_WRAPPER(my_class)
-</code></pre>
-which expands to the code above.
-
-<h3><a name="bitwise">Bitwise Serialization</a></h3>
-Some simple classes could be serialized just by directly copying all bits
-of the class. This is, in particular, the case for POD data types containing
-no pointer members, and which are neither versioned nor tracked. Some archives, 
-such as non-portable binary archives can make us of this information to 
-substantially speed up serialization.
-
-To indicate the possibility of bitwise serialization the type trait defined 
-in the header
-file <a href="../../../boost/serialization/is_bitwise_serializable.hpp" target="is_bitwise_serializable">is_bitwise_serializable.hpp</a>
-is used:
-<pre><code>
-namespace boost { namespace serialization {
-    template<class T>
-    struct is_bitwise_serializable
-     : public is_arithmetic<T>
-    {};
-} }
-</code></pre>
-is used, and can be specialized for other classes. The specialization
-is made easy by the corresponding macro:
-<pre><code>
-BOOST_IS_BITWISE_SERIALIZABLE(my_class)
-</code></pre>
-
-<h3><a name="templates">Template Serialization Traits</a></h3>
-In some instances it might be convenient to assign serialization traits
-to a whole group of classes at once.  Consider, the name-value pair
-wrapper 
-<pre><code>
-template<class T>
-struct nvp : public std::pair<const char *, T *>
-{
-    ...
-};
-</code></pre>
-used by XML archives to associate a name with a data variable of type T.
-These data types are never tracked and never versioned.  So one might
-want to specify:
-<pre><code>
-BOOST_CLASS_IMPLEMENTATION(nvp<T>, boost::serialization::level_type::object_serializable)
-BOOST_CLASS_TRACKING(nvp<T>, boost::serialization::track_never)
-</code></pre>
-Examination of the definition of these macros reveals that they won't expand
-to sensible code when used with a template argument.  So rather than using the
-convenience macros, use the original definitions
-<pre><code>
-template<class T>
-struct implementation_level<nvp<T> >
-{
-    typedef mpl::integral_c_tag tag;
-    typedef mpl::int_<object_serializable> type;
-    BOOST_STATIC_CONSTANT(
-        int,
-        value = implementation_level::type::value
-    );
-};
-
-// nvp objects are generally created on the stack and are never tracked
-template<class T>
-struct tracking_level<nvp<T> >
-{
-    typedef mpl::integral_c_tag tag;
-    typedef mpl::int_<track_never> type;
-    BOOST_STATIC_CONSTANT(
-        int, 
-        value = tracking_level::type::value
-    );
-};
-</code></pre>
-to assign serialization traits to all classes generated by the template
-<code style="white-space: normal">nvp<T></code>
-<p>
-
-Note that it is only possible to use the above method to assign traits to 
-templates when using compilers which correctly support Partial Template Specialization.
-
-One's first impulse might be to do something like:
-
-<pre><code>
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template<class T>
-struct implementation_level<nvp<T> >
-{
-   ... // see above
-};
-
-// nvp objects are generally created on the stack and are never tracked
-template<class T>
-struct tracking_level<nvp<T> >
-{
-   ... // see above
-};
-#endif
-</code></pre>
-This can be problematic when one wants to make his code <strong>and archives</strong>
-portable to other platforms.  It means the she objects will be serialized differently
-depending on the platform used.  This implies that objects saved from one platform
-won't be loaded properly on another.  In other words, archives won't be portable.
-<p>
-This problem is addressed by creating another method of assigning serialization traits
-to user classes.  This is illustrated by the serialization for a 
-<a target="nvp" href="../../../boost/serialization/nvp.hpp"><strong>name-value</strong> pair</a>.
-<p>
-Specifically, this entails deriving the template from a special class
-<a target="traits" href="../../../boost/serialization/traits.hpp">
-<code style="white-space: normal">boost::serialization::traits</code></a> which is specialized for a specific
-combination of serialization traits.  
-When looking up the serialization traits, the library first checks to see if this class has been
-used as a base class. If so, the corresponding traits are used.  Otherwise, the standard defaults
-are used. By deriving from a serialization traits class rather than relying upon Partial Template
-Specializaton, one can a apply serialization traits to a template and those traits will be
-the same across all known platforms.
-<p>
-The signature for the traits template is:
-<pre><code>
-template<
-    class T,       
-    int Level, 
-    int Tracking,
-    unsigned int Version = 0,
-    class ETII = BOOST_SERIALIZATION_DEFAULT_TYPE_INFO(T),
-    class IsWrapper = mpl::false_
->
-struct traits
-</code></pre>
-and template parameters should be assigned according to the following table:
-<p>
-<table border>
-<tr><th align=left>parameter</th><th align=left>description</th><th align=left>permitted values</th><th align=left>default value</th></tr>
-<tr><td><code>T</code></td><td>target class</td><td>class name<T></td><td>none</td></tr>            
-<tr><td><code>Level</code></td><td>implementation level</td><td><code>not_serializable<br>primitive_type<br>object_serializable<br>object_class_info</code></td><td>none</td></tr>  
-<tr><td><code>Tracking</code></td><td>tracking level</td><td><code>track_never<br>track_selectivly<br>track_always</code></td><td>none</td></tr>
-<tr><td><code>Version</code></td><td><code>class version</td><td>unsigned integer</td><td><code>0</code></td></tr>
-<tr><td><code>ETTI</code></td><td><code>type_info</code> implementation</td><td><code>extended_type_info_typeid<br>extended_type_info_no_rtti</code></td><td>default <code>type_info implementation</code></td></tr>
-<tr><td><code>IsWrapper</code></td><td><code></code>is the type a wrapper?</td><td><code>mpl::false_<br>mpl::true_</code></td><td><code>mpl::false_</code></td></tr>
-</table>
-
-<h3><a name="compiletime_messages">Compile Time Warnings and Errors</a></h3>
-Some serialization traits can conflict with other ones.  Sometimes these conflicts
-will result in erroneous behavior (E.G. creating of archives which could not be read)
-and other times they represent a probable misconception on the part of the
-library user which could result in suprising behavior.  The extent possible,
-these conflicts are detected at compile time and errors (BOOST_STATIC_ASSERT) 
-or warnings (BOOST_STATIC_WARNING) are generated. The are generated in a
-compiler dependent way manner which should show an chain of instantiation
-to the point where the error/warning is detected.  Without this capability,
-it would be very hard to track down errors or unexpected behavior in library
-usage.  Here is list of the conflicts trapped:
-
-<dl>
-<dt><h2><a name="object_level">object_level</a> - error</h2></dt>
-<dd>
-This error traps attempts to serialize types whose
-implentation level is set to non_serializable.
-</dd>
-<dt><h2><a name="object_versioning">object_versioning</a> - error</h2></dt>
-<dd>
-It's possible that for efficiency reasons, a type can be
-assigned a serialization level which doesn't include type information 
-in the archive.  This would preclude the assignment
-of a new version number to the type.  This error
-traps attempts to assign a version number in this case.
-This has to be a user error.
-</dd>
-
-<dt><h2><a name="object_tracking">object_tracking</a> - warning</h2></dt>
-<dd>
-The following code will display a message when compiled:
-
-<code style="white-space: normal"><pre>
-T t;
-ar << t;
-</pre></code>
-
-unless the tracking_level serialization trait is set to "track_never". The following
-will compile without problem:
-
-<code style="white-space: normal"><pre>
-const T t
-ar << t;
-</pre></code>
-
-Likewise, the following code will trap at compile time:
-
-<code style="white-space: normal"><pre>
-T * t;
-ar >> t;
-</pre></code>
-
-if the tracking_level serialization trait is set to "track_never".
-<p>
-
-The following case illustrates the function of this message.
-It was originally used as an example in the
-mailing list by Peter Dimov.
-
-<code style="white-space: normal"><pre>
-class construct_from 
-{ 
-    ... 
-}; 
-
-void main(){ 
-    ... 
-    Y y; 
-    construct_from x(y); 
-    ar << x; 
-} 
-</pre></code>
-
-Suppose that the above message is not displayed and the code is used as is.
-<ol>
-  <li>this example compiles and executes fine. No tracking is done because 
-  construct_from has never been serialized through a pointer. Now some time 
-  later, the next programmer(2) comes along and makes an enhancement. He 
-  wants the archive to be sort of a log. 
-
-<code style="white-space: normal"><pre>
-void main(){ 
-    ... 
-    Y y; 
-    construct_from x(y); 
-    ar << x; 
-    ... 
-    x.f(); // change x in some way 
-   ... 
-    ar << x 
-} 
-</pre></code>
-  <p>
-  Again no problem. He gets two different of copies in the archive, each one is different. 
-  That is he gets exactly what he expects and is naturally delighted. 
-  <p>
-  <li>Now sometime later, a third programmer(3) sees construct_from and says - 
-  oh cool, just what I need. He writes a function in a totally disjoint 
-  module. (The project is so big, he doesn't even realize the existence of 
-  the original usage) and writes something like: 
-
-<code style="white-space: normal"><pre>
-class K { 
-    shared_ptr <construct_from> z; 
-    template <class Archive> 
-    void serialize(Archive & ar, const unsigned version){ 
-        ar << z; 
-    } 
-}; 
-</pre></code>
-
-  <p>
-  He builds and runs the program and tests his new functionality. It works 
-  great and he's delighted. 
-  <p>
-  <li>Things continue smoothly as before.  A month goes by and it's 
-  discovered that when loading the archives made in the last month (reading the 
-  log). Things don't work. The second log entry is always the same as the 
-  first. After a series of very long and increasingly acrimonius email exchanges, 
-its discovered 
-  that programmer (3) accidently broke programmer(2)'s code .This is because by 
-  serializing via a pointer, the "log" object now being tracked.  This is because
-  the default tracking behavior is "track_selectively".  This means that class
-  instances are tracked only if they are serialized through pointers anywhere in
-  the program. Now multiple saves from the same address result in only the first one 
-  being written to the archive. Subsequent saves only add the address - even though the 
-  data might have been changed.  When it comes time to load the data, all instances of the log record show the same data.
-  In this way, the behavior of a functioning piece of code is changed due the side
-  effect of a change in an otherwise disjoint module.
-  Worse yet, the data has been lost and cannot not be now recovered from the archives.
-  People are really upset and disappointed with boost (at least the serialization system).
-  <p>
-  <li>
-  After a lot of investigation, it's discovered what the source of the problem
-  and class construct_from is marked "track_never" by including:
-<code style="white-space: normal"><pre>
-BOOST_CLASS_TRACKING(construct_from, track_never) 
-</pre></code>
-  <li>Now everything works again. Or - so it seems.
-  <p>
-  <li><code style="white-space: normal">shared_ptr<construct_from></code>
-is not going to have a single raw pointer shared amongst the instances. Each loaded 
-<code style="white-space: normal">shared_ptr<construct_from></code> is going to 
-have its own distinct raw pointer. This will break 
-<code style="white-space: normal">shared_ptr</code> and cause a memory leak.  Again,
-The cause of this problem is very far removed from the point of discovery.  It could 
-well be that the problem is not even discovered until after the archives are loaded.
-Now we not only have difficult to find and fix program bug, but we have a bunch of
-invalid archives and lost data.
-</ol>
-
-<p>Now consider what happens when the message is displayed:
-
-<ol>
-  <p>
-  <li>Right away, the program traps at 
-<code style="white-space: normal"><pre>
-ar << x; 
-</pre></code>
-  <p>
-  <li>The programmer curses (another %^&*&* hoop to jump through). If he's in a 
-  hurry (and who isn't) and would prefer not to <code style="white-space: normal">const_cast</code>
-  - because it looks bad.  So he'll just make the following change an move on. 
-<code style="white-space: normal"><pre>
-Y y; 
-const construct_from x(y); 
-ar << x; 
-</pre></code>
-  <p>
-  Things work fine and he moves on. 
-  <p>
-  <li>Now programer (2) wants to make his change - and again another 
-  annoying const issue; 
-<code style="white-space: normal"><pre>
-Y y; 
-const construct_from x(y); 
-... 
-x.f(); // change x in some way ; compile error f() is not const 
-... 
-ar << x 
-</pre></code>
-  <p>
-  He's mildly annoyed now he tries the following: 
-  <ul>
-    <li>He considers making f() a const - but presumable that shifts the const 
-    error to somewhere else. And his doesn't want to fiddle with "his" code to 
-    work around a quirk in the serializaition system 
-    <p>
-    <li>He removes the <code style="white-space: normal">const</code>
-    from <code style="white-space: normal">const construct_from</code> above - damn now he 
-    gets the trap. If he looks at the comment code where the 
-    <code style="white-space: normal">BOOST_STATIC_ASSERT</code>
-    occurs, he'll do one of two things 
-    <ol>
-      <p>
-      <li>This is just crazy. Its making my life needlessly difficult and flagging 
-      code that is just fine. So I'll fix this with a <code style="white-space: normal">const_cast</code>
-      and fire off a complaint to the list and mabe they will fix it. 
-      In this case, the story branches off to the previous scenario.
-      <p>
-      <li>Oh, this trap is suggesting that the default serialization isn't really 
-      what I want. Of course in this particular program it doesn't matter. But 
-      then the code in the trap can't really evaluate code in other modules (which 
-      might not even be written yet). OK, I'll add the following to my 
-      construct_from.hpp to solve the problem. 
-<code style="white-space: normal"><pre>
-BOOST_CLASS_TRACKING(construct_from, track_never) 
-</pre></code>
-    </ol>
-  </ul>
-  <p>
-  <li>Now programmer (3) comes along and make his change. The behavior of the 
-  original (and distant module) remains unchanged because the 
-  <code style="white-space: normal">construct_from</code> trait has been set to 
-  "track_never" so he should always get copies and the log should be what we expect.
-  <p>
-  <li>But now he gets another trap - trying to save an object of a 
-  class marked "track_never" through a pointer. So he goes back to 
-  construct_from.hpp and comments out the 
-  <code style="white-space: normal">BOOST_CLASS_TRACKING</code> that 
-  was inserted. Now the second trap is avoided, But damn - the first trap is 
-  popping up again. Eventually, after some code restructuring, the differing
-  requirements of serializating <code style="white-space: normal">construct_from</code>
-  are reconciled.
-</ol>
-Note that in this second scenario
-<ul>
-  <li>all errors are trapped at compile time.
-  <li>no invalid archives are created.
-  <li>no data is lost.
-  <li>no runtime errors occur.
-</ul>
-
-It's true that these messages may sometimes flag code that is currently correct and
-that this may be annoying to some programmers.  However, this example illustrates
-my view that these messages are useful and that any such annoyance is small price to
-pay to avoid particularly vexing programming errors.
-
-</dd>
-
-<dt><h2><a name="pointer_level">pointer_level</a> - warning</h2></dt>
-<dd>
-This trap addresses the following situaion when serializing 
-a pointer:
-<ul>
-<li>A type doesn't save class information in the
-archive. That is, the serialization trait implementation
-level <= object_serializable.
-<li>Tracking for this type is set to "track selectively"
-in this case, indication that an object is tracked is
-not stored in the archive itself - see level == object_serializable.
-Since class information is not saved in the archive, the existence
-or absense of the operation ar << T * anywhere else in the 
-program is used to infer that an object of this type should be tracked.
-<p>
-A problem arises when a program which reads an archive
-includes the operation ar >> T * so that tracking information
-will be included in the archive. When a program which
-creates the archive doesn't include ar << T it is presumed
-that the archive doesn't include tracking information and
-the archive will fail to load.  Also the reverse situation could 
-trigger a similar problem.
-<p>
-Though this situation is unlikely for several reasones, 
-it is possible - hence this warning. 
-</ul>
-So if your program traps here, consider changing the 
-tracking or implementation level traits - or not
-serializing via a pointer.
-</dd>
-
-<dt><h2><a name="pointer_tracking">pointer_tracking</a> - warning</h2></dt>
-<dd>
-Serializing an object of a type marked "track_never" through a pointer
-could result in creating more objects than were saved! There are cases
-in which a user might really want to do this so we leave it as a warning.
-</dd>
-
-<dt><h2><a name="const_loading">const_loading</a> - error</h2></dt>
-<dd>
-One cannot load data into a "const" object unless it's a
-wrapper around some other non-const object.
-</dd>
-</dl>
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004 and Matthias Troyer 2006. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/tutorial.html b/SRC/Boost/libs/serialization/doc/tutorial.html
deleted file mode 100755
index bf01577..0000000
--- a/SRC/Boost/libs/serialization/doc/tutorial.html
+++ /dev/null
@@ -1,584 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Tutorial</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr>
-    <td valign="top" width="300">
-       <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top">
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Tutorial</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-  <dt><a href="#simplecase">A Very Simple Case</a>
-  <dt><a href="#nonintrusiveversion">Non Intrusive Version</a>
-  <dt><a href="#serializablemembers">Serializable Members</a>
-  <dt><a href="#derivedclasses">Derived Classes</a>
-  <dt><a href="#pointers">Pointers</a>
-  <dt><a href="#arrays">Arrays</a>
-  <dt><a href="#stl">STL Collections</a>
-  <dt><a href="#versioning">Class Versioning</a>
-  <dt><a href="#splitting">Splitting <code style="white-space: normal">serialize</code> into <code style="white-space: normal">save/load</code></a>
-  <dt><a href="#archives">Archives</a>
-  <dt><a href="#examples">List of examples</a>
-</dl>
-An output archive is similar to an output data stream. Data can be saved to the archive
-with either the << or the & operator:
-<pre><code>
-ar << data;
-ar & data;
-</code></pre>
-An input archive is similar to an input datastream.  Data can be loaded from the archive
-with either the >> or the & operator.
-<pre><code>
-ar >> data;
-ar & data;
-</code></pre>
-<p>
-When these operators are invoked for primitive data types, the data is simply saved/loaded
-to/from the archive. When invoked for class data types, the class
-<code style="white-space: normal">serialize</code> function is invoked. Each
-<code style="white-space: normal">serialize</code> function is uses the above operators
-to save/load its data members.  This process will continue in a recursive manner until
-all the data contained in the class is saved/loaded.
-
-<h3><a name="simplecase">A Very Simple Case</a></h3>
-These operators are used inside the <code style="white-space: normal">serialize</code>
-function to save and load class data members.
-<p>
-Included in this library is a program called
-<a href="../example/demo.cpp" target="demo_cpp">demo.cpp</a> which illustrates how
-to use this system. Below we excerpt code from this program to
-illustrate with the simplest possible case how this library is
-intended to be used.
-<pre>
-<code>
-#include <fstream>
-
-// include headers that implement a archive in simple text format
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-/////////////////////////////////////////////////////////////
-// gps coordinate
-//
-// illustrates serialization for a simple type
-//
-class gps_position
-{
-private:
-    friend class boost::serialization::access;
-    // When the class Archive corresponds to an output archive, the
-    // & operator is defined similar to <<.  Likewise, when the class Archive
-    // is a type of input archive the & operator is defined similar to >>.
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version)
-    {
-        ar & degrees;
-        ar & minutes;
-        ar & seconds;
-    }
-    int degrees;
-    int minutes;
-    float seconds;
-public:
-    gps_position(){};
-    gps_position(int d, int m, float s) :
-        degrees(d), minutes(m), seconds(s)
-    {}
-};
-
-int main() {
-    // create and open a character archive for output
-    std::ofstream ofs("filename");
-
-    // create class instance
-    const gps_position g(35, 59, 24.567f);
-
-    // save data to archive
-    {
-        boost::archive::text_oarchive oa(ofs);
-        // write class instance to archive
-        oa << g;
-    	// archive and stream closed when destructors are called
-    }
-
-    // ... some time later restore the class instance to its orginal state
-    gps_position newg;
-    {
-        // create and open an archive for input
-        std::ifstream ifs("filename");
-        boost::archive::text_iarchive ia(ifs);
-        // read class state from archive
-        ia >> newg;
-        // archive and stream closed when destructors are called
-    }
-    return 0;
-}
-</code>
-</pre>
-<p>For each class to be saved via serialization, there must exist a function to
-save all the class members which define the state of the class.
-For each class to be loaded via serialization, there must exist a function to
-load theese class members in the same sequence as they were saved.
-In the above example, these functions are generated by the
-template member function <code style="white-space: normal">serialize</code>.
-
-<h3><a name="nonintrusiveversion">Non Intrusive Version</a></h3>
-<p>The above formulation is intrusive. That is, it requires
-that classes whose instances are to be serialized be
-altered. This can be inconvenient in some cases.
-An equivalent alternative formulation permitted by the
-system would be:
-<pre><code>
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-class gps_position
-{
-public:
-    int degrees;
-    int minutes;
-    float seconds;
-    gps_position(){};
-    gps_position(int d, int m, float s) :
-        degrees(d), minutes(m), seconds(s)
-    {}
-};
-
-namespace boost {
-namespace serialization {
-
-template<class Archive>
-void serialize(Archive & ar, gps_position & g, const unsigned int version)
-{
-    ar & g.degrees;
-    ar & g.minutes;
-    ar & g.seconds;
-}
-
-} // namespace serialization
-} // namespace boost
-</code></pre>
-<p>
-In this case the generated serialize functions are not members of the
-<code style="white-space: normal">gps_position</code> class.  The two formulations function
-in exactly the same way.
-<p>
-The main application of non-intrusive serialization is to permit serialization
-to be implemented for classes without changing the class definition.
-In order for this to be possible, the class must expose enough information
-to reconstruct the class state.  In this example, we presumed that the
-class had <code style="white-space: normal">public</code> members - not a common occurence.  Only
-classes which expose enough information to save and restore the class
-state will be serializable without changing the class definition.
-<h3><a name="serializablemembers">Serializable Members</a></h3>
-<p>
-A serializable class with serializable members would look like this:
-<pre><code>
-class bus_stop
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version)
-    {
-        ar & latitude;
-        ar & longitude;
-    }
-    gps_position latitude;
-    gps_position longitude;
-protected:
-    bus_stop(const gps_position & lat_, const gps_position & long_) :
-    latitude(lat_), longitude(long_)
-    {}
-public:
-    bus_stop(){}
-    // See item # 14 in Effective C++ by Scott Meyers.
-    // re non-virtual destructors in base classes.
-    virtual ~bus_stop(){}
-};
-</code></pre>
-<p>That is, members of class type are serialized just as
-members of primitive types are.
-<p>
-Note that saving an instance of the class <code style="white-space: normal">bus_stop</code>
-with one of the archive operators will invoke the
-<code style="white-space: normal">serialize</code> function which saves
-<code style="white-space: normal">latitude</code> and
-<code style="white-space: normal">longitude</code>. Each of these in turn will be saved by invoking
-<code style="white-space: normal">serialize</code> in the definition of
-<code style="white-space: normal">gps_position</code>.  In this manner the whole
-data structure is saved by the application of an archive operator to
-just its root item.
-
-
-<h3><a name="derivedclasses">Derived Classes</a></h3>
-<p>Derived classes should include serializations of their base classes.
-<pre><code>
-#include <boost/serialization/base_object.hpp>
-
-class bus_stop_corner : public bus_stop
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version)
-    {
-        // serialize base class information
-        ar & boost::serialization::base_object<bus_stop>(*this);
-        ar & street1;
-        ar & street2;
-    }
-    std::string street1;
-    std::string street2;
-    virtual std::string description() const
-    {
-        return street1 + " and " + street2;
-    }
-public:
-    bus_stop_corner(){}
-    bus_stop_corner(const gps_position & lat_, const gps_position & long_,
-        const std::string & s1_, const std::string & s2_
-    ) :
-        bus_stop(lat_, long_), street1(s1_), street2(s2_)
-    {}
-};
-</code>
-</pre>
-<p>
-Note the serialization of the base classes from the derived
-class. Do <b>NOT</b> directly call the base class serialize
-functions. Doing so might seem to work but will bypass the code
-that tracks instances written to storage to eliminate redundancies.
-It will also bypass the writing of class version information into
-the archive. For this reason, it is advisable to always make member
-<code style="white-space: normal">serialize</code> functions private.  The declaration
-<code style="white-space: normal">friend boost::serialization::access</code> will grant to the
-serialization library access to private member variables and functions.
-<p>
-<h3><a name="pointers">Pointers</a></h3>
-Suppose we define a bus route as an array of bus stops.  Given that
-<ol>
-    <li>we might have several types of bus stops (remember bus_stop is
-a base class)
-    <li>a given bus_stop might appear in more than one route.
-</ol>
-it's convenient to represent a bus route with an array of pointers
-to <code style="white-space: normal">bus_stop</code>.
-<pre>
-<code>
-class bus_route
-{
-    friend class boost::serialization::access;
-    bus_stop * stops[10];
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version)
-    {
-        int i;
-        for(i = 0; i &lt 10; ++i)
-            ar & stops[i];
-    }
-public:
-    bus_route(){}
-};
-</code>
-</pre>
-Each member of the array <code style="white-space: normal">stops</code> will be serialized.
-But remember each member is a pointer - so what can this really
-mean?  The whole object of this serialization is to permit
-reconstruction of the original data structures at another place
-and time.  In order to accomplish this with a pointer, it is
-not sufficient to save the value of the pointer, rather the
-object it points to must be saved.  When the member is later
-loaded, a new object has to be created and a new pointer has
-to be loaded into the class member.
-<p>
-If the same pointer is serialized more than once, only one instance
-is be added to the archive.  When read back, no data is read back in.
-The only operation that occurs is for the second pointer is set equal to the first
-<p>
-Note that, in this example, the array consists of polymorphic pointers.
-That is, each array element point to one of several possible 
-kinds of bus stops.  So when the pointer is saved, some sort of class
-identifier must be saved.  When the pointer is loaded, the class
-identifier must be read and and instance of the corresponding class
-must be constructed. Finally the data can be loaded to newly created
-instance of the correct type.
-
-As can be seen in 
-<a href="../example/demo.cpp" target="demo_cpp">demo.cpp</a>,
-serialization of pointers to derived classes through a base
-clas pointer may require explicit enumeration of the derived
-classes to be serialized. This is referred to as "registration" or "export"
-of derived classes.  This requirement and the methods of
-satisfying it are explained in detail
-<a href="serialization.html#derivedpointers">here</a>
-<p>
-All this is accomplished automatically by the serialization
-library.  The above code is all that is necessary to accomplish
-the saving and loading of objects accessed through pointers.
-<p>
-<h3><a name="arrays">Arrays</a></h3>
-The above formulation is in fact more complex than necessary.
-The serialization library detects when the object being
-serialized is an array and emits code equivalent to the above.
-So the above can be shortened to:
-<pre>
-<code>
-class bus_route
-{
-    friend class boost::serialization::access;
-    bus_stop * stops[10];
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version)
-    {
-        ar & stops;
-    }
-public:
-    bus_route(){}
-};
-</code>
-</pre>
-<h3><a name="stl">STL Collections</a></h3>
-The above example uses an array of members.  More likely such
-an application would use an STL collection for such a purpose.
-The serialization library contains code for serialization
-of all STL classes.  Hence, the reformulation below will
-also work as one would expect.
-<pre>
-<code>
-#include <boost/serialization/list.hpp>
-
-class bus_route
-{
-    friend class boost::serialization::access;
-    std::list<bus_stop *> stops;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version)
-    {
-        ar & stops;
-    }
-public:
-    bus_route(){}
-};
-</code>
-</pre>
-<h3><a name="versioning">Class Versioning</a></h3>
-<p>
-Suppose we're satisfied with our <code style="white-space: normal">bus_route</code> class, build a program
-that uses it and ship the product.  Some time later, it's decided
-that the program needs enhancement and the <code style="white-space: normal">bus_route</code> class is
-altered to include the name of the driver of the route. So the
-new version looks like:
-<pre>
-<code>
-#include <boost/serialization/list.hpp>
-#include <boost/serialization/string.hpp>
-
-class bus_route
-{
-    friend class boost::serialization::access;
-    std::list<bus_stop *> stops;
-    std::string driver_name;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version)
-    {
-        ar & driver_name;
-        ar & stops;
-    }
-public:
-    bus_route(){}
-};
-</code>
-</pre>
-Great, we're all done. Except... what about people using our application
-who now have a bunch of files created under the previous program.
-How can these be used with our new program version?
-<p>
-In general, the serialization library stores a version number in the
-archive for each class serialized.  By default this version number is 0.
-When the archive is loaded, the version number under which it was saved
-is read.  The above code can be altered to exploit this
-<pre>
-<code>
-#include <boost/serialization/list.hpp>
-#include <boost/serialization/string.hpp>
-#include <boost/serialization/version.hpp>
-
-class bus_route
-{
-    friend class boost::serialization::access;
-    std::list<bus_stop *> stops;
-    std::string driver_name;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version)
-    {
-        // only save/load driver_name for newer archives
-        if(version > 0)
-            ar & driver_name;
-        ar & stops;
-    }
-public:
-    bus_route(){}
-};
-
-BOOST_CLASS_VERSION(bus_route, 1)
-</code>
-</pre>
-By application of versioning to each class, there is no need to
-try to maintain a versioning of files.  That is, a file version
-is the combination of the versions of all its constituent classes.
-
-This system permits programs to be always compatible with archives
-created by all previous versions of a program with no more
-effort than required by this example.
-
-<h3><a name="splitting">Splitting <code style="white-space: normal">serialize</code>
-into <code style="white-space: normal">save/load</code></a></h3>
-The <code style="white-space: normal">serialize</code> function is simple, concise, and guarantees
-that class members are saved and loaded in the same sequence
-- the key to the serialization system.  However, there are cases
-where the load and save operations are not as similar as the examples
-used here.  For example, this could occur with a class that has evolved through
-multiple versions.  The above class can be reformulated as:
-<pre>
-<code>
-#include <boost/serialization/list.hpp>
-#include <boost/serialization/string.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/split_member.hpp>
-
-class bus_route
-{
-    friend class boost::serialization::access;
-    std::list<bus_stop *> stops;
-    std::string driver_name;
-    template<class Archive>
-    void save(Archive & ar, const unsigned int version) const
-    {
-        // note, version is always the latest when saving
-        ar  & driver_name;
-        ar  & stops;
-    }
-    template<class Archive>
-    void load(Archive & ar, const unsigned int version)
-    {
-        if(version > 0)
-            ar & driver_name;
-        ar  & stops;
-    }
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-public:
-    bus_route(){}
-};
-
-BOOST_CLASS_VERSION(bus_route, 1)
-</code>
-</pre>
-The macro <code style="white-space: normal">BOOST_SERIALIZATION_SPLIT_MEMBER()</code> generates
-code which invokes the <code style="white-space: normal">save</code>
-or <code style="white-space: normal">load</code>
-depending on whether the archive is used for saving or loading.
-<h3><a name="archives">Archives</a></h3>
-Our discussion here has focused on adding serialization
-capability to classes.  The actual rendering of the data to be serialized
-is implemented in the archive class.  Thus the stream of serialized
-data is a product of the serialization of the class and the
-archive selected.  It is a key design decision that these two
-components be independent.  This permits any serialization specification
-to be usable with any archive.
-<p>
-In this tutorial, we have used a particular
-archive class - <code style="white-space: normal">text_oarchive</code> for saving and
-<code style="white-space: normal">text_iarchive</code> for loading.
-text archives render data as text and are portable across platforms.  In addition
-to text archives, the library includes archive class for native binary data
-and xml formatted data.  Interfaces to all archive classes are all identical.
-Once serialization has been defined for a class, that class can be serialized to 
-any type of archive.
-<p>
-If the current set of archive classes doesn't provide the
-attributes, format, or behavior needed for a particular application,
-one can either make a new archive class or derive from an existing one.
-This is described later in the manual.
-
-<h3><a name="examples">List of Examples</h3>
-<dl>
-    <dt><a href="../example/demo.cpp" target="demo_cpp">demo.cpp</a>
-    <dd>This is the completed example used in this tutorial.
-    It does the following:
-    <ol>
-        <li>Creates a structure of differing kinds of stops, routes and schedules
-        <li>Displays it
-        <li>Serializes it to a file named "testfile.txt" with one
-        statement
-        <li>Restores to another structure
-        <li>Displays the restored structure
-    </ol>
-    <a href="../example/demo_output.txt" target="demo_output">Output of
-    this program</a> is sufficient to verify that all the
-    originally stated requirements for a serialization system
-    are met with this system. The <a href="../example/demofile.txt"
-    target="test_file">contents of the archive file</a> can
-    also be displayed as serialization files are ASCII text.
-
-    <dt><a href="../example/demo_xml.cpp" target="demo_xml_cpp">demo_xml.cpp</a>
-    <dd>This is a variation the original demo which supports xml archives in addition
-    to the others. The extra wrapping macro, BOOST_SERIALIZATION_NVP(name), is 
-    needed to associate a data item name with the corresponding xml 
-    tag. It is importanted that 'name' be a valid xml tag, else it 
-    will be impossible to restore the archive. 
-    For more information see
-    <a target="detail" href="wrappers.html#nvp">Name-Value Pairs</a>.
-    <a href="../example/demo_save.xml" target="demo_save_xml">Here</a>
-    is what an xml archive looks like.
-
-    <dt><a href="../example/demo_xml_save.cpp" target="demo_xml_save_cpp">demo_xml_save.cpp</a>
-    and <a href="../example/demo_xml_load.cpp" target="demo_xml_load_cpp">demo_xml_load.cpp</a>
-    <dd>Note also that though our examples save and load the program data
-    to an archive within the same program, this merely a convenience
-    for purposes of illustration.  In general, the archive may or may
-    not be loaded by the same program that created it.
-</dl>
-<p>
-The astute reader might notice that these examples contain a subtle but important flaw.
-They leak memory. The bus stops are created in the <code style="white-space: normal">
-main</code> function.  The bus schedules may refer to these bus stops
-any number of times.  At the end of the main function after the bus schedules are destroyed,
-the bus stops are destroyed.  This seems fine.  But what about the structure
-<code style="white-space: normal">new_schedule</code> data item created by the
-process of loading from an archive? This contains its own separate set of bus stops
-that are not referenced outside of the bus schedule.  These won't be destroyed
-anywhere in the program - a memory leak.
-<p>
-There are couple of ways of fixing this.  One way is to explicitly manage the bus stops.
-However, a more robust and transparent is to use 
-<code style="white-space: normal">shared_ptr</code> rather than raw pointers. Along
-with serialization implemenations for the Standard Library, the serialization library
-includes implementation of serialization for 
-<code style="white-space: normal">boost::shared ptr</code>.  Given this, it should be
-easy to alter any of these examples to eliminate the memory leak. This is left 
-as an excercise for the reader.
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/void_cast.html b/SRC/Boost/libs/serialization/doc/void_cast.html
deleted file mode 100755
index a0471ff..0000000
--- a/SRC/Boost/libs/serialization/doc/void_cast.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - BOOST_STATIC_WARNING</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center"><code>void_cast</code></h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<h3>Motivation</h3>
-C++ includes the operator <code style="white-space: normal">dynamic_cast<T>(U * u)</code>
-for casting a pointer at runtime between two related types. However, this can only be 
-used for polymorphic classes.  That is, it can only be used with related classes which have at least one virtual function.
-Limiting the serializaton of pointers to only such class would diminish the applicability
-of the library.
-
-<h3>Usage</h3>
-
-The following functions are defined in the header
-<a target="void_cast" href="../../../boost/serialization/void_cast.hpp">void_cast.hpp</a>.
-They are declared in the namespace
-<code style="white-space: normal">boost::serialization</code>.
-
-<dl>
-<dt><h4><pre><code>
-template<class Derived, class Base>
-const void_cast_detail::void_caster &
-void_cast_register(
-    Derived const * derived = NULL, 
-    Base * const base = NULL
-)
-</code></pre></h4></dt>
-<dd>
-This function "registers" a pair of related types.  It stores the fact that
-<code style="white-space: normal">Derived</code> is immediately derived from 
-<code style="white-space: normal">Base</code> in a global table. 
-<ul>
-  <li>This "registration" can be invoked anywhere in the program.  The table is built at
-  pre-runtime and is available anywhere else in the program.
-  <li>only adjacent base/derived pairs need be registered.  That is,
-  <pre><code>
-  void_cast_register<A, B>();
-  void_cast_register<B, C>();
-  </code></pre>
-  automatically derives the fact that A can be upcast to C and vice-versa.
-</ul>
-</dd>
-
-<dt><h4><pre><code>
-void *
-void_upcast(
-    extended_type_info const & derived_type,
-    extended_type_info const & base_type,
-    void * const t 
-);
-</code></pre></h4></dt>
-
-<dt><h4><pre><code>
-void *
-void_downcast(
-    extended_type_info const & derived_type,
-    extended_type_info const & base_type,
-    void * const t 
-);
-</code></pre></h4></dt>
-<dd>
-These functions cast a void pointer from one type to another.  The source and
-definition types are specified by passing references to the corresponding
-<a href="extended_type_info.html"><code style="white-space: normal">
-extended_type_info</code></a>
-records.  An attempt to cast between types not "registered" with
-<code style="white-space: normal">void_cast_register</code> 
-will throw a
-<a href="exceptions.html"><code style="white-space: normal">boost::archive::archive_exception</code></a>
-with value equal to
-<code style="white-space: normal">unregistered_cast</code>
-</dd>
-</dl>
-
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
diff --git a/SRC/Boost/libs/serialization/doc/wrappers.html b/SRC/Boost/libs/serialization/doc/wrappers.html
deleted file mode 100755
index f8d9ac8..0000000
--- a/SRC/Boost/libs/serialization/doc/wrappers.html
+++ /dev/null
@@ -1,213 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - Serialization Wrappers</title>
-</head>
-<body link="#0000ff" vlink="#800080">
-<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
-  <tr> 
-    <td valign="top" width="300"> 
-      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
-    </td>
-    <td valign="top"> 
-      <h1 align="center">Serialization</h1>
-      <h2 align="center">Serialization Wrappers</h2>
-    </td>
-  </tr>
-</table>
-<hr>
-<dl class="page-index">
-  <dt><a href="#binaryobjects">Binary Objects</a>
-  <dt><a href="#arrays">Arrays</a>
-  <dt><a href="#strong_type"><code style="white-space: normal">BOOST_STRONG_TYPEDEF</code></a>
-  <dt><a href="#collection_size_type">Collection Sizes</a>
-  <dt><a href="#nvp">Name-Value Pairs</a>
-  <dt><a href="#composition">Composition</a>
-</dl>
-Sometimes it convenient to create a temporary object just to support serialization
-of some underlying data. This permits an archive class to define special
-handling of this type.  The library includes several such types for varying 
-purposes.
-<p>
-Wrappers need to be treated in a special way by some archives, and hence
-the <A href="traits.html#wrappers"><code>is_wrapper</code></a> trait for 
-these wrapper classes is set to true.
-
-<h3><a name="binaryobjects">Binary Objects</a></h3>
-A binary object is just an sequence of bytes stored as raw
-binary data.  This would most likely be used for a large amount
-of "light weight" data such as a pixel map or embedded binary file.
-The header file 
-<a href="../../../boost/serialization/binary_object.hpp" target="binary_object_hpp">
-binary_object.hpp
-</a>
-includes the constructors:
-<pre><code>
-boost::serialization::binary_object(void * t, size_t size);
-boost::serialization::make_binary_object(void * t, size_t size);
-</code></pre>
-which will construct a temporary binary object that can be serialized just like any other object.
-Its default serialization is to use archive class primitives 
-<code style="white-space: normal">save_binary</code> and <code>load_binary</code>.  
-Note that it doesn't allocated any storage or create any objects.
-Its sole purpose is to pass the data size and address as pair to the archive class.  
-
-
-<h3><a name="arrays">Arrays</a></h3>
-An array is a contiguous sequence of homogeneous data types, such as a builtin
-C-array, a <code>boost::array<T></code> or a <code>std::vector<T></code>. 
-The purpose of this wrapper is to support archive types (such as binary
-archives) that provide optimized serialization for contiguous sequences of 
-objects of the same type. 
-
-The header file 
-<a href="../../../boost/serialization/array.hpp" target="array_hpp">
-array.hpp
-</a>
-includes the function
-<pre><code>
-template <T>
-boost::serialization::make_array(T* t, std::size_t size);
-</code></pre>
-which will construct a temporary <code>array</code> object
-<pre><code>
-template<class T>
-class array
-{
-public:    
-    typedef T value_type;
-    array(value_type* t, std::size_t s);
-    value_type* address() const;
-    std::size_t count() const;
-};
-</code></pre>
-that can be serialized just like any other object.
-Its default serialization is to use serialize each array element.  
-Note that it doesn't allocated any storage or create any objects.
-Its sole purpose is to pass the data type, size and address to the archive class.
-
-Archive types that can provide optimized implementations for contiguous
-arrays of homogeneous data types should overload the serialization of
-<code>array</code>.
-
- 
-<h3><a name="strong_type"><code style="white-space: normal">BOOST_STRONG_TYPEDEF</code></h3>
-Another example of a serialization wrapper is the 
-<a href="strong_typedef.html"><code style="white-space: normal">BOOST_STRONG_TYPEDEF</code></a> template.
-The serialization libraries uses these to pass particular kinds of integers such
-as object_id, version, etc. to an archive class. Given that these integers
-are now distinguishable according to their type,  XML archives can apply
-special handling to these types.  For example, a version number is rendered
-as an XML attribute in the form "version=12".  In the absence of any specific override,
-these types are automatically converted to the underlying integer type so the
-special overrides used for XML archives aren't needed for other archives.
-
-
-
-<h3><a name="collection_size_type">Collection Sizes</h3>
-An example of a strong typedef is the <code>collection_size_type</code> in the
-header file
-<a href="../../../boost/serialization/collection_size_type.hpp" target="collection_size_type_hpp">
-collection_size_type.hpp
-</a>. This type should be used for serializaing the size of a C++ collection, so
-that the archive can pick the best integral representation for the serialization
-of collection sizes. This is necessary since, although <code>std::size_t</code>
-is guaranteed to be an integral type large enough to represent the size of
-a collection on a specific platform, the archive might want to serialize
-the size differently than this type. For example, the <code>collection_size_type</code>
-might be serialized as a variable length integer in a portable binary archive.
-
-
-
-
-
-
-<h3><a name="nvp">Name-Value Pairs</h3>
-XML archives present a somewhat special case. XML format has a nested
-structure that maps well to the "recursive class member visitor" pattern used
-by the serialization system.  However, XML differs from other formats
-in that it requires a name for each class data member.  Our goal is to
-add this information to the class serialization specification while
-still permiting the the serialization code to be used with any archive.
-<p>
-Our solution is to wrap class members to be serialized in a
-<strong>name-value-pair</strong>. This structure is defined in
-<a href="../../../boost/serialization/nvp.hpp" target="nvp_hpp">nvp.hpp</a>.
-It is just a reference to the data member coupled with a pointer to
-to a <code style="white-space: normal">const char *</code> which 
-corresponds to the XML name.  It implements the default
-serialization functions for a name-value pair.  This default
-action is to just ignore the item name and serialize the
-data value in the normal manner.  For archive classes that
-don't make any special provision for name-value pairs, this
-is the action which will be invoked when the name-value pair
-is serialized.  Hence, wrapping a data value into a name-value
-pair will have no effect when used with archives which
-make no special provision for this wrapper.
-<p>
-The xml archive classes contain code similar to:
-<pre><code>
-// special treatment for name-value pairs.
-template<class T>
-xml_oarchive & operator&(const boost::serialization::nvp<T> & t)
-{
-    // write an xml start tag
-    start_tag(t.name());
-
-    // serialize the data as usual
-    *this & t.value();
-
-    // write an xml end tag
-    end_tag(t.name());
-}
-</code></pre>
-The most obvious and convient name to assign to as the XML data item name
-is - surpise! - the name of the C++ class data member.  So our serialization
-code will look like:
-<pre><code>
-ar & make_nvp("my_variable", my_variable);
-</code></pre>
-To simplify typing and enhance readability a macro is defined so we can write:
-<pre><code>
-ar & BOOST_SERIALIZATION_NVP(my_variable);
-</code></pre>
-Similarly there exists a macro definition that permits us to write:
-<pre><code>
-BOOST_SERIALIZATION_BASE_OBJECT_NVP(my_base_class)
-</code></pre>
-
-Note that these macros must be used in the namespace of the class, 
-and without qualifying the namespace in the argument. 
-
-<p>
-<a href="../example/demo_gps.hpp" target="demo_gps_hpp">demo_gps.hpp<a>
-includes NVP wrappers or all data members.
-<a href="../example/demo_xml.cpp" target="demo_xml_cpp">demo_xml.cpp<a>
-saves and loads data to an XML archive.
-<a href="../example/demo_save.xml" target="demo_save_xml">Here</a>
-is example of the XML Archive corresponding to our tutorial example.
-
-<h3><a name="composition">Composition</h3>
-Wrappers should be designed so that they can be composed as necessary.
-For example, to pass binary data as a name value pair use:
-<pre><code>
-ar & make_nvp("named_binary_object", make_binary_object(address, size));
-</code></pre>
-</html>
-<hr>
-<p><i>© Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
-Distributed under the Boost Software License, Version 1.0. (See
-accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-</i></p>
-</body>
-</html>
-
diff --git a/SRC/Boost/libs/serialization/example/Jamfile.v2 b/SRC/Boost/libs/serialization/example/Jamfile.v2
deleted file mode 100755
index 8032b4e..0000000
--- a/SRC/Boost/libs/serialization/example/Jamfile.v2
+++ /dev/null
@@ -1,57 +0,0 @@
-# Boost serialization Library Build Jamfile
-#  (C) Copyright Robert Ramey 2002-2004.
-#  Use, modification, and distribution are subject to the
-#  Boost Software License, Version 1.0. (See accompanying file
-#  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-#  See http://www.boost.org/libs/serialization for the library home page.
-
-project libs/serialization/example
-    : id serialization_example
-    : requirements <library>../build//boost_serialization
-    ;
-
-rule demo_bsl_run ( demo-name : othersources * : requirements * )
-{
-    return [ run
-        # sources
-            $(demo-name).cpp 
-            $(othersources).cpp
-        : # command
-        : # input files
-        : # requirements
-            # toolset suppress-warnings
-            <toolset>gcc:<cxxflags>"-Wno-non-virtual-dtor -Wno-ctor-dtor-privacy"
-            <toolset>msvc-8.0:<cxxflags>"-wd4996"
-            <toolset>borland:<cxxflags>"-w-8080 -w-8071 -w-8057 -w-8062 -w-8008 -w-0018 -w-8066"
-            # toolset optimizations
-            <toolset>gcc:<cxxflags>"-ftemplate-depth-255"
-            <toolset>msvc:<cxxflags>"-Gy"
-            # toolset shared library support
-            <toolset>como,<runtime-link>shared:<build>no
-            <toolset>msvc,<stdlib>stlport,<runtime-link>shared:<build>no
-            <toolset>cw,<runtime-link>static:<build>no
-            $(requirements)
-         : # test name
-            $(demo-name)
-       ]
-    ;
-}
-
-test-suite "demo-suite" :
-    # demos
-    [ demo_bsl_run demo ]
-    [ demo_bsl_run demo_auto_ptr ]
-    [ demo_bsl_run demo_exception ]
-    [ demo_bsl_run demo_log : log_archive ]
-    [ demo_bsl_run demo_pimpl : demo_pimpl_A ]
-    [ demo_bsl_run demo_polymorphic : demo_polymorphic_A ]
-    [ demo_bsl_run demo_portable_archive : portable_binary_iarchive portable_binary_oarchive ]
-    [ demo_bsl_run demo_shared_ptr ]
-    [ demo_bsl_run demo_simple_log ]
-    [ demo_bsl_run demo_trivial_archive ]
-    [ demo_bsl_run demo_xml ]
-    [ demo_bsl_run demo_xml_save ]
-    [ demo_bsl_run demo_xml_load : : <dependency>demo_xml_save ]
-;
-
diff --git a/SRC/Boost/libs/serialization/example/demo.cpp b/SRC/Boost/libs/serialization/example/demo.cpp
deleted file mode 100755
index d321d71..0000000
--- a/SRC/Boost/libs/serialization/example/demo.cpp
+++ /dev/null
@@ -1,377 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// demo.cpp
-//
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-
-#include <cstddef> // NULL
-#include <iomanip>
-#include <iostream>
-#include <fstream>
-#include <string>
-
-#include <boost/archive/tmpdir.hpp>
-
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/text_oarchive.hpp>
-
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/utility.hpp>
-#include <boost/serialization/list.hpp>
-#include <boost/serialization/assume_abstract.hpp>
-
-/////////////////////////////////////////////////////////////
-// The intent of this program is to serve as a tutorial for
-// users of the serialization package.  An attempt has been made
-// to illustrate most of the facilities of the package.  
-//
-// The intent is to create an example suffciently complete to
-// illustrate the usage and utility of the package while
-// including a minimum of other code. 
-//
-// This illustration models the bus system of a small city.
-// This includes, multiple bus stops,  bus routes and schedules.
-// There are different kinds of stops.  Bus stops in general will
-// will appear on multiple routes.  A schedule will include
-// muliple trips on the same route.
-
-/////////////////////////////////////////////////////////////
-// gps coordinate
-//
-// llustrates serialization for a simple type
-//
-class gps_position
-{
-    friend std::ostream & operator<<(std::ostream &os, const gps_position &gp);
-    friend class boost::serialization::access;
-    int degrees;
-    int minutes;
-    float seconds;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & degrees & minutes & seconds;
-    }
-public:
-    // every serializable class needs a constructor
-    gps_position(){};
-    gps_position(int _d, int _m, float _s) : 
-        degrees(_d), minutes(_m), seconds(_s)
-    {}
-};
-std::ostream & operator<<(std::ostream &os, const gps_position &gp)
-{
-    return os << ' ' << gp.degrees << (unsigned char)186 << gp.minutes << '\'' << gp.seconds << '"';
-}
-
-/////////////////////////////////////////////////////////////
-// One bus stop
-//
-// illustrates serialization of serializable members
-//
-
-class bus_stop
-{
-    friend class boost::serialization::access;
-    friend std::ostream & operator<<(std::ostream &os, const bus_stop &gp);
-    virtual std::string description() const = 0;
-    gps_position latitude;
-    gps_position longitude;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        ar & latitude;
-        ar & longitude;
-    }
-protected:
-    bus_stop(const gps_position & _lat, const gps_position & _long) :
-        latitude(_lat), longitude(_long)
-    {}
-public:
-    bus_stop(){}
-    virtual ~bus_stop(){}
-};
-
-BOOST_SERIALIZATION_ASSUME_ABSTRACT(bus_stop)
-
-std::ostream & operator<<(std::ostream &os, const bus_stop &bs)
-{
-    return os << bs.latitude << bs.longitude << ' ' << bs.description();
-}
-
-/////////////////////////////////////////////////////////////
-// Several kinds of bus stops
-//
-// illustrates serialization of derived types
-//
-class bus_stop_corner : public bus_stop
-{
-    friend class boost::serialization::access;
-    std::string street1;
-    std::string street2;
-    virtual std::string description() const
-    {
-        return street1 + " and " + street2;
-    }
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        // save/load base class information
-        ar & boost::serialization::base_object<bus_stop>(*this);
-        ar & street1 & street2;
-    }
-
-public:
-    bus_stop_corner(){}
-    bus_stop_corner(const gps_position & _lat, const gps_position & _long,
-        const std::string & _s1, const std::string & _s2
-    ) :
-        bus_stop(_lat, _long), street1(_s1), street2(_s2)
-    {
-    }
-};
-
-class bus_stop_destination : public bus_stop
-{
-    friend class boost::serialization::access;
-    std::string name;
-    virtual std::string description() const
-    {
-        return name;
-    }
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        ar & boost::serialization::base_object<bus_stop>(*this) & name;
-    }
-public:
-    
-    bus_stop_destination(){}
-    bus_stop_destination(
-        const gps_position & _lat, const gps_position & _long, const std::string & _name
-    ) :
-        bus_stop(_lat, _long), name(_name)
-    {
-    }
-};
-
-/////////////////////////////////////////////////////////////
-// a bus route is a collection of bus stops
-//
-// illustrates serialization of STL collection templates.
-//
-// illustrates serialzation of polymorphic pointer (bus stop *);
-//
-// illustrates storage and recovery of shared pointers is correct
-// and efficient.  That is objects pointed to by more than one
-// pointer are stored only once.  In such cases only one such
-// object is restored and pointers are restored to point to it
-//
-class bus_route
-{
-    friend class boost::serialization::access;
-    friend std::ostream & operator<<(std::ostream &os, const bus_route &br);
-    typedef bus_stop * bus_stop_pointer;
-    std::list<bus_stop_pointer> stops;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        // in this program, these classes are never serialized directly but rather
-        // through a pointer to the base class bus_stop. So we need a way to be
-        // sure that the archive contains information about these derived classes.
-        //ar.template register_type<bus_stop_corner>();
-        ar.register_type(static_cast<bus_stop_corner *>(NULL));
-        //ar.template register_type<bus_stop_destination>();
-        ar.register_type(static_cast<bus_stop_destination *>(NULL));
-        // serialization of stl collections is already defined
-        // in the header
-        ar & stops;
-    }
-public:
-    bus_route(){}
-    void append(bus_stop *_bs)
-    {
-        stops.insert(stops.end(), _bs);
-    }
-};
-std::ostream & operator<<(std::ostream &os, const bus_route &br)
-{
-    std::list<bus_stop *>::const_iterator it;
-    // note: we're displaying the pointer to permit verification
-    // that duplicated pointers are properly restored.
-    for(it = br.stops.begin(); it != br.stops.end(); it++){
-        os << '\n' << std::hex << "0x" << *it << std::dec << ' ' << **it;
-    }
-    return os;
-}
-
-/////////////////////////////////////////////////////////////
-// a bus schedule is a collection of routes each with a starting time
-//
-// Illustrates serialization of STL objects(pair) in a non-intrusive way.
-// See definition of operator<< <pair<F, S> >(ar, pair) and others in
-// serialization.hpp
-// 
-// illustrates nesting of serializable classes
-//
-// illustrates use of version number to automatically grandfather older
-// versions of the same class.
-
-class bus_schedule
-{
-public:
-    // note: this structure was made public. because the friend declarations
-    // didn't seem to work as expected.
-    struct trip_info
-    {
-        template<class Archive>
-        void serialize(Archive &ar, const unsigned int file_version)
-        {
-            // in versions 2 or later
-            if(file_version >= 2)
-                // read the drivers name
-                ar & driver;
-            // all versions have the follwing info
-            ar & hour & minute;
-        }
-
-        // starting time
-        int hour;
-        int minute;
-        // only after system shipped was the driver's name added to the class
-        std::string driver;
-
-        trip_info(){}
-        trip_info(int _h, int _m, const std::string &_d) :
-            hour(_h), minute(_m), driver(_d)
-        {}
-    };
-private:
-    friend class boost::serialization::access;
-    friend std::ostream & operator<<(std::ostream &os, const bus_schedule &bs);
-    friend std::ostream & operator<<(std::ostream &os, const bus_schedule::trip_info &ti);
-    std::list<std::pair<trip_info, bus_route *> > schedule;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        ar & schedule;
-    }
-public:
-    void append(const std::string &_d, int _h, int _m, bus_route *_br)
-    {
-        schedule.insert(schedule.end(), std::make_pair(trip_info(_h, _m, _d), _br));
-    }
-    bus_schedule(){}
-};
-BOOST_CLASS_VERSION(bus_schedule::trip_info, 2)
-
-std::ostream & operator<<(std::ostream &os, const bus_schedule::trip_info &ti)
-{
-    return os << '\n' << ti.hour << ':' << ti.minute << ' ' << ti.driver << ' ';
-}
-std::ostream & operator<<(std::ostream &os, const bus_schedule &bs)
-{
-    std::list<std::pair<bus_schedule::trip_info, bus_route *> >::const_iterator it;
-    for(it = bs.schedule.begin(); it != bs.schedule.end(); it++){
-        os << it->first << *(it->second);
-    }
-    return os;
-}
-
-void save_schedule(const bus_schedule &s, const char * filename){
-    // make an archive
-    std::ofstream ofs(filename);
-    boost::archive::text_oarchive oa(ofs);
-    oa << s;
-}
-
-void
-restore_schedule(bus_schedule &s, const char * filename)
-{
-    // open the archive
-    std::ifstream ifs(filename);
-    boost::archive::text_iarchive ia(ifs);
-
-    // restore the schedule from the archive
-    ia >> s;
-}
-
-int main(int argc, char *argv[])
-{   
-    // make the schedule
-    bus_schedule original_schedule;
-
-    // fill in the data
-    // make a few stops
-    bus_stop *bs0 = new bus_stop_corner(
-        gps_position(34, 135, 52.560f),
-        gps_position(134, 22, 78.30f),
-        "24th Street", "10th Avenue"
-    );
-    bus_stop *bs1 = new bus_stop_corner(
-        gps_position(35, 137, 23.456f),
-        gps_position(133, 35, 54.12f),
-        "State street", "Cathedral Vista Lane"
-    );
-    bus_stop *bs2 = new bus_stop_destination(
-        gps_position(35, 136, 15.456f),
-        gps_position(133, 32, 15.300f),
-        "White House"
-    );
-    bus_stop *bs3 = new bus_stop_destination(
-        gps_position(35, 134, 48.789f),
-        gps_position(133, 32, 16.230f),
-        "Lincoln Memorial"
-    );
-
-    // make a  routes
-    bus_route route0;
-    route0.append(bs0);
-    route0.append(bs1);
-    route0.append(bs2);
-
-    // add trips to schedule
-    original_schedule.append("bob", 6, 24, &route0);
-    original_schedule.append("bob", 9, 57, &route0);
-    original_schedule.append("alice", 11, 02, &route0);
-
-    // make aother routes
-    bus_route route1;
-    route1.append(bs3);
-    route1.append(bs2);
-    route1.append(bs1);
-
-    // add trips to schedule
-    original_schedule.append("ted", 7, 17, &route1);
-    original_schedule.append("ted", 9, 38, &route1);
-    original_schedule.append("alice", 11, 47, &route1);
-
-    // display the complete schedule
-    std::cout << "original schedule";
-    std::cout << original_schedule;
-    
-    std::string filename(boost::archive::tmpdir());
-    filename += "/demofile.txt";
-
-    // save the schedule
-    save_schedule(original_schedule, filename.c_str());
-
-    // ... some time later
-    // make  a new schedule
-    bus_schedule new_schedule;
-
-    restore_schedule(new_schedule, filename.c_str());
-
-    // and display
-    std::cout << "\nrestored schedule";
-    std::cout << new_schedule;
-    // should be the same as the old one. (except for the pointer values)
-
-    delete bs0;
-    delete bs1;
-    delete bs2;
-    delete bs3;
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/example/demo_auto_ptr.cpp b/SRC/Boost/libs/serialization/example/demo_auto_ptr.cpp
deleted file mode 100755
index e119f30..0000000
--- a/SRC/Boost/libs/serialization/example/demo_auto_ptr.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// demo_auto_ptr.cpp
-
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <list>
-#include <memory>
-#include <fstream>
-#include <string>
-
-#include <cstdio> // remove, std::autoptr inteface wrong in dinkumware
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/archive/tmpdir.hpp>
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-/////////////////////////////////////////////////////////////
-// implement serialization for auto_ptr< T >
-// note: this must be added to the boost namespace in order to
-// be called by the library
-template<class Archive, class T>
-inline void save(
-    Archive & ar,
-    const std::auto_ptr< T > &t,
-    const unsigned int file_version
-){
-    // only the raw pointer has to be saved
-    // the ref count is rebuilt automatically on load
-    const T * const tx = t.get();
-    ar << tx;
-}
-
-template<class Archive, class T>
-inline void load(
-    Archive & ar,
-    std::auto_ptr< T > &t,
-    const unsigned int file_version
-){
-    T *pTarget;
-    ar >> pTarget;
-    // note that the reset automagically maintains the reference count
-    #if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-        t.release();
-        t = std::auto_ptr< T >(pTarget);
-    #else
-        t.reset(pTarget);
-    #endif
-}
-
-// split non-intrusive serialization function member into separate
-// non intrusive save/load member functions
-template<class Archive, class T>
-inline void serialize(
-    Archive & ar,
-    std::auto_ptr< T > &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-/////////////////////////////////////////////////////////////
-// test auto_ptr serialization
-class A
-{
-private:
-    friend class boost::serialization::access;
-    int x;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & x;
-    }
-public:
-    A(){}    // default constructor
-    ~A(){}   // default destructor
-};
-
-void save(const std::auto_ptr<A> & spa, const char *filename)
-{
-    std::ofstream ofs(filename);
-    boost::archive::text_oarchive oa(ofs);
-    oa << spa;
-}
-
-void load(std::auto_ptr<A> & spa, const char *filename)
-{
-    // open the archive
-    std::ifstream ifs(filename);
-    boost::archive::text_iarchive ia(ifs);
-
-    // restore the schedule from the archive
-    ia >> spa;
-}
-
-int main(int argc, char *argv[])
-{
-    std::string filename = boost::archive::tmpdir();
-    filename += "/testfile";
-
-    // create  a new auto pointer to ta new object of type A
-    std::auto_ptr<A> spa(new A);
-    // serialize it
-    save(spa, filename.c_str());
-    // reset the auto pointer to NULL
-    // thereby destroying the object of type A
-    // note that the reset automagically maintains the reference count
-    #if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-        spa.release();
-    #else
-        spa.reset();
-    #endif
-    // restore state to one equivalent to the original
-    // creating a new type A object
-    load(spa, filename.c_str());
-    // obj of type A gets destroyed
-    // as auto_ptr goes out of scope
-    std::remove(filename.c_str());
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/example/demo_dll.cpp b/SRC/Boost/libs/serialization/example/demo_dll.cpp
deleted file mode 100755
index b4483ca..0000000
--- a/SRC/Boost/libs/serialization/example/demo_dll.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_derived_class.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include "B.hpp"
-#include "A.ipp"
-
-int test_main( int argc, char* argv[] )
-{
-  const char * testfile = boost::archive::tmpnam(NULL);
-  
-  BOOST_REQUIRE(NULL != testfile);
-
-    B b, b1;
-
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("b", b);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("b1", b1);
-    }
-    BOOST_CHECK(b == b1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/example/demo_dll_a.hpp b/SRC/Boost/libs/serialization/example/demo_dll_a.hpp
deleted file mode 100755
index 3e2248e..0000000
--- a/SRC/Boost/libs/serialization/example/demo_dll_a.hpp
+++ /dev/null
@@ -1,321 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TEST_A_HPP
-#define BOOST_SERIALIZATION_TEST_A_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// A.hpp    simple class test
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cassert>
-#include <cstdlib> // for rand()
-#include <cmath> // for fabs()
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::rand; 
-    using ::fabs;
-    using ::size_t;
-}
-#endif
-
-//#include <boost/test/test_exec_monitor.hpp>
-#include <boost/limits.hpp>
-#include <boost/cstdint.hpp>
-
-#include <boost/detail/workaround.hpp>
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-#include <boost/archive/dinkumware.hpp>
-#endif
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/string.hpp>
-#include <boost/serialization/access.hpp>
-
-class A
-{
-private:
-    friend class boost::serialization::access;
-    // note: from an aesthetic perspective, I would much prefer to have this
-    // defined out of line.  Unfortunately, this trips a bug in the VC 6.0
-    // compiler. So hold our nose and put it her to permit running of tests.
-    template<class Archive>
-    void serialize(
-        Archive &ar,
-        const unsigned int /* file_version */
-    ){
-        ar & BOOST_SERIALIZATION_NVP(b);
-        #ifndef BOOST_NO_INT64_T
-        ar & BOOST_SERIALIZATION_NVP(f);
-        ar & BOOST_SERIALIZATION_NVP(g);
-        #endif
-        #if BOOST_WORKAROUND(__BORLANDC__,  <= 0x551 )
-            int i;
-            if(BOOST_DEDUCED_TYPENAME Archive::is_saving::value){
-                i = l;
-                ar & BOOST_SERIALIZATION_NVP(i);
-            }
-            else{
-                ar & BOOST_SERIALIZATION_NVP(i);
-                l = i;
-            }
-        #else
-            ar & BOOST_SERIALIZATION_NVP(l);
-        #endif
-        ar & BOOST_SERIALIZATION_NVP(m);
-        ar & BOOST_SERIALIZATION_NVP(n);
-        ar & BOOST_SERIALIZATION_NVP(o);
-        ar & BOOST_SERIALIZATION_NVP(p);
-        ar & BOOST_SERIALIZATION_NVP(q);
-        #ifndef BOOST_NO_CWCHAR
-        ar & BOOST_SERIALIZATION_NVP(r);
-        #endif
-        ar & BOOST_SERIALIZATION_NVP(c);
-        ar & BOOST_SERIALIZATION_NVP(s);
-        ar & BOOST_SERIALIZATION_NVP(t);
-        ar & BOOST_SERIALIZATION_NVP(u);
-        ar & BOOST_SERIALIZATION_NVP(v);
-        ar & BOOST_SERIALIZATION_NVP(w);
-        ar & BOOST_SERIALIZATION_NVP(x);
-        ar & BOOST_SERIALIZATION_NVP(y);
-        #ifndef BOOST_NO_STD_WSTRING
-        ar & BOOST_SERIALIZATION_NVP(z);
-        #endif
-    }
-    bool b;
-    #ifndef BOOST_NO_INT64_T
-    boost::int64_t f;
-    boost::uint64_t g;
-    #endif
-    enum h {
-        i = 0,
-        j,
-        k
-    } l;
-    std::size_t m;
-    signed long n;
-    unsigned long o;
-    signed  short p;
-    unsigned short q;
-    #ifndef BOOST_NO_CWCHAR
-    wchar_t r;
-    #endif
-    char c;
-    signed char s;
-    unsigned char t;
-    signed int u;
-    unsigned int v;
-    float w;
-    double x;
-    std::string y;
-    #ifndef BOOST_NO_STD_WSTRING
-    std::wstring z;
-    #endif
-public:
-    A();
-    bool operator==(const A &rhs) const;
-    bool operator!=(const A &rhs) const;
-    bool operator<(const A &rhs) const; // used by less
-    // hash function for class A
-    operator std::size_t () const;
-    friend std::ostream & operator<<(std::ostream & os, A const & a);
-    friend std::istream & operator>>(std::istream & is, A & a);
-};
-
-//BOOST_TEST_DONT_PRINT_LOG_VALUE(A);
-
-template<class S>
-void randomize(S &x)
-{
-    assert(0 == x.size());
-    for(;;){
-        unsigned int i = std::rand() % 27;
-        if(0 == i)
-            break;
-        x += static_cast<BOOST_DEDUCED_TYPENAME S::value_type>('a' - 1 + i);
-    }
-}
-
-template<class T>
-void accumulate(std::size_t & s, const T & t){
-    const char * tptr = (const char *)(& t);
-    unsigned int count = sizeof(t);
-    while(count-- > 0){
-        s += *tptr++;
-    }
-}
-
-A::operator std::size_t () const {
-    std::size_t retval = 0;
-    accumulate(retval, b);
-    #ifndef BOOST_NO_INT64_T
-    accumulate(retval, f);
-    accumulate(retval, g);
-    #endif
-    accumulate(retval, l);
-    accumulate(retval, m);
-    accumulate(retval, n);
-    accumulate(retval, o);
-    accumulate(retval, p);
-    accumulate(retval, q);
-    #ifndef BOOST_NO_CWCHAR
-    accumulate(retval, r);
-    #endif
-    accumulate(retval, c);
-    accumulate(retval, s);
-    accumulate(retval, t);
-    accumulate(retval, u);
-    accumulate(retval, v);
-    return retval;
-}
-
-inline A::A() :
-    b(true),
-    #ifndef BOOST_NO_INT64_T
-    f(std::rand() * std::rand()),
-    g(std::rand() * std::rand()),
-    #endif
-    l(static_cast<enum h>(std::rand() % 3)),
-    m(std::rand()),
-    n(std::rand()),
-    o(std::rand()),
-    p(std::rand()),
-    q(std::rand()),
-    #ifndef BOOST_NO_CWCHAR
-    r(std::rand()),
-    #endif
-    c(std::rand()),
-    s(std::rand()),
-    t(std::rand()),
-    u(std::rand()),
-    v(std::rand()),
-    w((float)std::rand()),
-    x((double)std::rand())
-{
-    randomize(y);
-    #ifndef BOOST_NO_STD_WSTRING
-    randomize(z);
-    #endif
-}
-
-inline bool A::operator==(const A &rhs) const
-{
-    if(b != rhs.b)
-        return false;
-    if(l != rhs.l)
-        return false;
-    #ifndef BOOST_NO_INT64_T
-    if(f != rhs.f)
-        return false;
-    if(g != rhs.g)
-        return false;
-    #endif
-    if(m != rhs.m)
-        return false;
-    if(n != rhs.n)
-        return false;
-    if(o != rhs.o)
-        return false;
-    if(p != rhs.p)
-        return false; 
-    if(q != rhs.q)
-        return false;
-    #ifndef BOOST_NO_CWCHAR
-    if(r != rhs.r)
-        return false; 
-    #endif
-    if(c != rhs.c)
-        return false;
-    if(s != rhs.s)
-        return false;
-    if(t != rhs.t)
-        return false;
-    if(u != rhs.u)
-        return false; 
-    if(v != rhs.v)
-        return false; 
-    if(w == 0 && std::fabs(rhs.w) > std::numeric_limits<float>::epsilon())
-        return false;
-    if(std::fabs(rhs.w/w - 1.0) > std::numeric_limits<float>::epsilon())
-        return false;
-    if(x == 0 && std::fabs(rhs.x - x) > std::numeric_limits<float>::epsilon())
-        return false;
-    if(std::fabs(rhs.x/x - 1.0) > std::numeric_limits<float>::epsilon())
-        return false;
-    if(0 != y.compare(rhs.y))
-        return false;
-    #ifndef BOOST_NO_STD_WSTRING
-    if(0 != z.compare(rhs.z))
-        return false;
-    #endif      
-    return true;
-}
-
-inline bool A::operator!=(const A &rhs) const
-{
-    return ! (*this == rhs);
-}
-
-inline bool A::operator<(const A &rhs) const
-{
-    if(b != rhs.b)
-        return b < rhs.b;
-    #ifndef BOOST_NO_INT64_T
-    if(f != rhs.f)
-        return f < rhs.f;
-    if(g != rhs.g)
-        return g < rhs.g;
-    #endif
-    if(l != rhs.l )
-        return l < rhs.l;
-    if(m != rhs.m )
-        return m < rhs.m;
-    if(n != rhs.n )
-        return n < rhs.n;
-    if(o != rhs.o )
-        return o < rhs.o;
-    if(p != rhs.p )
-        return p < rhs.p;
-    if(q != rhs.q )
-        return q < rhs.q;
-    #ifndef BOOST_NO_CWCHAR
-    if(r != rhs.r )
-        return r < rhs.r;
-    #endif
-    if(c != rhs.c )
-        return c < rhs.c;
-    if(s != rhs.s )
-        return s < rhs.s;
-    if(t != rhs.t )
-        return t < rhs.t;
-    if(u != rhs.u )
-        return u < rhs.u; 
-    if(v != rhs.v )
-        return v < rhs.v;
-    if(w != rhs.w )
-        return w < rhs.w; 
-    if(x != rhs.x )
-        return x < rhs.x;
-    int i = y.compare(rhs.y);
-    if(i !=  0 )
-        return i < 0;
-    #ifndef BOOST_NO_STD_WSTRING
-    int j = z.compare(rhs.z);
-    if(j !=  0 )
-        return j < 0;
-    #endif
-    return false;
-}
-
-#endif // BOOST_SERIALIZATION_TEST_A_HPP
diff --git a/SRC/Boost/libs/serialization/example/demo_dll_a.ipp b/SRC/Boost/libs/serialization/example/demo_dll_a.ipp
deleted file mode 100755
index 3e2248e..0000000
--- a/SRC/Boost/libs/serialization/example/demo_dll_a.ipp
+++ /dev/null
@@ -1,321 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TEST_A_HPP
-#define BOOST_SERIALIZATION_TEST_A_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// A.hpp    simple class test
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cassert>
-#include <cstdlib> // for rand()
-#include <cmath> // for fabs()
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::rand; 
-    using ::fabs;
-    using ::size_t;
-}
-#endif
-
-//#include <boost/test/test_exec_monitor.hpp>
-#include <boost/limits.hpp>
-#include <boost/cstdint.hpp>
-
-#include <boost/detail/workaround.hpp>
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-#include <boost/archive/dinkumware.hpp>
-#endif
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/string.hpp>
-#include <boost/serialization/access.hpp>
-
-class A
-{
-private:
-    friend class boost::serialization::access;
-    // note: from an aesthetic perspective, I would much prefer to have this
-    // defined out of line.  Unfortunately, this trips a bug in the VC 6.0
-    // compiler. So hold our nose and put it her to permit running of tests.
-    template<class Archive>
-    void serialize(
-        Archive &ar,
-        const unsigned int /* file_version */
-    ){
-        ar & BOOST_SERIALIZATION_NVP(b);
-        #ifndef BOOST_NO_INT64_T
-        ar & BOOST_SERIALIZATION_NVP(f);
-        ar & BOOST_SERIALIZATION_NVP(g);
-        #endif
-        #if BOOST_WORKAROUND(__BORLANDC__,  <= 0x551 )
-            int i;
-            if(BOOST_DEDUCED_TYPENAME Archive::is_saving::value){
-                i = l;
-                ar & BOOST_SERIALIZATION_NVP(i);
-            }
-            else{
-                ar & BOOST_SERIALIZATION_NVP(i);
-                l = i;
-            }
-        #else
-            ar & BOOST_SERIALIZATION_NVP(l);
-        #endif
-        ar & BOOST_SERIALIZATION_NVP(m);
-        ar & BOOST_SERIALIZATION_NVP(n);
-        ar & BOOST_SERIALIZATION_NVP(o);
-        ar & BOOST_SERIALIZATION_NVP(p);
-        ar & BOOST_SERIALIZATION_NVP(q);
-        #ifndef BOOST_NO_CWCHAR
-        ar & BOOST_SERIALIZATION_NVP(r);
-        #endif
-        ar & BOOST_SERIALIZATION_NVP(c);
-        ar & BOOST_SERIALIZATION_NVP(s);
-        ar & BOOST_SERIALIZATION_NVP(t);
-        ar & BOOST_SERIALIZATION_NVP(u);
-        ar & BOOST_SERIALIZATION_NVP(v);
-        ar & BOOST_SERIALIZATION_NVP(w);
-        ar & BOOST_SERIALIZATION_NVP(x);
-        ar & BOOST_SERIALIZATION_NVP(y);
-        #ifndef BOOST_NO_STD_WSTRING
-        ar & BOOST_SERIALIZATION_NVP(z);
-        #endif
-    }
-    bool b;
-    #ifndef BOOST_NO_INT64_T
-    boost::int64_t f;
-    boost::uint64_t g;
-    #endif
-    enum h {
-        i = 0,
-        j,
-        k
-    } l;
-    std::size_t m;
-    signed long n;
-    unsigned long o;
-    signed  short p;
-    unsigned short q;
-    #ifndef BOOST_NO_CWCHAR
-    wchar_t r;
-    #endif
-    char c;
-    signed char s;
-    unsigned char t;
-    signed int u;
-    unsigned int v;
-    float w;
-    double x;
-    std::string y;
-    #ifndef BOOST_NO_STD_WSTRING
-    std::wstring z;
-    #endif
-public:
-    A();
-    bool operator==(const A &rhs) const;
-    bool operator!=(const A &rhs) const;
-    bool operator<(const A &rhs) const; // used by less
-    // hash function for class A
-    operator std::size_t () const;
-    friend std::ostream & operator<<(std::ostream & os, A const & a);
-    friend std::istream & operator>>(std::istream & is, A & a);
-};
-
-//BOOST_TEST_DONT_PRINT_LOG_VALUE(A);
-
-template<class S>
-void randomize(S &x)
-{
-    assert(0 == x.size());
-    for(;;){
-        unsigned int i = std::rand() % 27;
-        if(0 == i)
-            break;
-        x += static_cast<BOOST_DEDUCED_TYPENAME S::value_type>('a' - 1 + i);
-    }
-}
-
-template<class T>
-void accumulate(std::size_t & s, const T & t){
-    const char * tptr = (const char *)(& t);
-    unsigned int count = sizeof(t);
-    while(count-- > 0){
-        s += *tptr++;
-    }
-}
-
-A::operator std::size_t () const {
-    std::size_t retval = 0;
-    accumulate(retval, b);
-    #ifndef BOOST_NO_INT64_T
-    accumulate(retval, f);
-    accumulate(retval, g);
-    #endif
-    accumulate(retval, l);
-    accumulate(retval, m);
-    accumulate(retval, n);
-    accumulate(retval, o);
-    accumulate(retval, p);
-    accumulate(retval, q);
-    #ifndef BOOST_NO_CWCHAR
-    accumulate(retval, r);
-    #endif
-    accumulate(retval, c);
-    accumulate(retval, s);
-    accumulate(retval, t);
-    accumulate(retval, u);
-    accumulate(retval, v);
-    return retval;
-}
-
-inline A::A() :
-    b(true),
-    #ifndef BOOST_NO_INT64_T
-    f(std::rand() * std::rand()),
-    g(std::rand() * std::rand()),
-    #endif
-    l(static_cast<enum h>(std::rand() % 3)),
-    m(std::rand()),
-    n(std::rand()),
-    o(std::rand()),
-    p(std::rand()),
-    q(std::rand()),
-    #ifndef BOOST_NO_CWCHAR
-    r(std::rand()),
-    #endif
-    c(std::rand()),
-    s(std::rand()),
-    t(std::rand()),
-    u(std::rand()),
-    v(std::rand()),
-    w((float)std::rand()),
-    x((double)std::rand())
-{
-    randomize(y);
-    #ifndef BOOST_NO_STD_WSTRING
-    randomize(z);
-    #endif
-}
-
-inline bool A::operator==(const A &rhs) const
-{
-    if(b != rhs.b)
-        return false;
-    if(l != rhs.l)
-        return false;
-    #ifndef BOOST_NO_INT64_T
-    if(f != rhs.f)
-        return false;
-    if(g != rhs.g)
-        return false;
-    #endif
-    if(m != rhs.m)
-        return false;
-    if(n != rhs.n)
-        return false;
-    if(o != rhs.o)
-        return false;
-    if(p != rhs.p)
-        return false; 
-    if(q != rhs.q)
-        return false;
-    #ifndef BOOST_NO_CWCHAR
-    if(r != rhs.r)
-        return false; 
-    #endif
-    if(c != rhs.c)
-        return false;
-    if(s != rhs.s)
-        return false;
-    if(t != rhs.t)
-        return false;
-    if(u != rhs.u)
-        return false; 
-    if(v != rhs.v)
-        return false; 
-    if(w == 0 && std::fabs(rhs.w) > std::numeric_limits<float>::epsilon())
-        return false;
-    if(std::fabs(rhs.w/w - 1.0) > std::numeric_limits<float>::epsilon())
-        return false;
-    if(x == 0 && std::fabs(rhs.x - x) > std::numeric_limits<float>::epsilon())
-        return false;
-    if(std::fabs(rhs.x/x - 1.0) > std::numeric_limits<float>::epsilon())
-        return false;
-    if(0 != y.compare(rhs.y))
-        return false;
-    #ifndef BOOST_NO_STD_WSTRING
-    if(0 != z.compare(rhs.z))
-        return false;
-    #endif      
-    return true;
-}
-
-inline bool A::operator!=(const A &rhs) const
-{
-    return ! (*this == rhs);
-}
-
-inline bool A::operator<(const A &rhs) const
-{
-    if(b != rhs.b)
-        return b < rhs.b;
-    #ifndef BOOST_NO_INT64_T
-    if(f != rhs.f)
-        return f < rhs.f;
-    if(g != rhs.g)
-        return g < rhs.g;
-    #endif
-    if(l != rhs.l )
-        return l < rhs.l;
-    if(m != rhs.m )
-        return m < rhs.m;
-    if(n != rhs.n )
-        return n < rhs.n;
-    if(o != rhs.o )
-        return o < rhs.o;
-    if(p != rhs.p )
-        return p < rhs.p;
-    if(q != rhs.q )
-        return q < rhs.q;
-    #ifndef BOOST_NO_CWCHAR
-    if(r != rhs.r )
-        return r < rhs.r;
-    #endif
-    if(c != rhs.c )
-        return c < rhs.c;
-    if(s != rhs.s )
-        return s < rhs.s;
-    if(t != rhs.t )
-        return t < rhs.t;
-    if(u != rhs.u )
-        return u < rhs.u; 
-    if(v != rhs.v )
-        return v < rhs.v;
-    if(w != rhs.w )
-        return w < rhs.w; 
-    if(x != rhs.x )
-        return x < rhs.x;
-    int i = y.compare(rhs.y);
-    if(i !=  0 )
-        return i < 0;
-    #ifndef BOOST_NO_STD_WSTRING
-    int j = z.compare(rhs.z);
-    if(j !=  0 )
-        return j < 0;
-    #endif
-    return false;
-}
-
-#endif // BOOST_SERIALIZATION_TEST_A_HPP
diff --git a/SRC/Boost/libs/serialization/example/demo_dll_b.hpp b/SRC/Boost/libs/serialization/example/demo_dll_b.hpp
deleted file mode 100755
index 7b5c92d..0000000
--- a/SRC/Boost/libs/serialization/example/demo_dll_b.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TEST_B_HPP
-#define BOOST_SERIALIZATION_TEST_B_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// B.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstdlib> // for rand()
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::rand; 
-}
-#endif
-
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/base_object.hpp>
-
-#include "A.hpp"
-
-///////////////////////////////////////////////////////
-// Derived class test
-class B : public A
-{
-private:
-    friend class boost::serialization::access;
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        // write any base class info to the archive
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-
-        // write out members
-        ar << BOOST_SERIALIZATION_NVP(s);
-        ar << BOOST_SERIALIZATION_NVP(t);
-        ar << BOOST_SERIALIZATION_NVP(u);
-        ar << BOOST_SERIALIZATION_NVP(v);
-        ar << BOOST_SERIALIZATION_NVP(w);
-        ar << BOOST_SERIALIZATION_NVP(x);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int file_version)
-    {
-        // read any base class info to the archive
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-        switch(file_version){
-        case 1:
-        case 2:
-            ar >> BOOST_SERIALIZATION_NVP(s);
-            ar >> BOOST_SERIALIZATION_NVP(t);
-            ar >> BOOST_SERIALIZATION_NVP(u);
-            ar >> BOOST_SERIALIZATION_NVP(v);
-            ar >> BOOST_SERIALIZATION_NVP(w);
-            ar >> BOOST_SERIALIZATION_NVP(x);
-        default:
-            break;
-        }
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-    signed char s;
-    unsigned char t;
-    signed int u;
-    unsigned int v;
-    float w;
-    double x;
-public:
-    B();
-    virtual ~B(){};
-    bool operator==(const B &rhs) const;
-};
-
-B::B() :
-    s(std::rand()),
-    t(std::rand()),
-    u(std::rand()),
-    v(std::rand()),
-    w((float)std::rand() / std::rand()),
-    x((double)std::rand() / std::rand())
-{
-}
-
-BOOST_CLASS_VERSION(B, 2)
-
-inline bool B::operator==(const B &rhs) const
-{
-    return
-        A::operator==(rhs)
-        && s == rhs.s 
-        && t == rhs.t 
-        && u == rhs.u 
-        && v == rhs.v 
-        && std::fabs(w - rhs.w) <= std::numeric_limits<float>::round_error()
-        && std::fabs(x - rhs.x) <= std::numeric_limits<float>::round_error()
-    ;
-}
-
-#endif // BOOST_SERIALIZATION_TEST_B_HPP
diff --git a/SRC/Boost/libs/serialization/example/demo_dll_b.ipp b/SRC/Boost/libs/serialization/example/demo_dll_b.ipp
deleted file mode 100755
index 7b5c92d..0000000
--- a/SRC/Boost/libs/serialization/example/demo_dll_b.ipp
+++ /dev/null
@@ -1,112 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TEST_B_HPP
-#define BOOST_SERIALIZATION_TEST_B_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// B.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstdlib> // for rand()
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::rand; 
-}
-#endif
-
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/base_object.hpp>
-
-#include "A.hpp"
-
-///////////////////////////////////////////////////////
-// Derived class test
-class B : public A
-{
-private:
-    friend class boost::serialization::access;
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        // write any base class info to the archive
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-
-        // write out members
-        ar << BOOST_SERIALIZATION_NVP(s);
-        ar << BOOST_SERIALIZATION_NVP(t);
-        ar << BOOST_SERIALIZATION_NVP(u);
-        ar << BOOST_SERIALIZATION_NVP(v);
-        ar << BOOST_SERIALIZATION_NVP(w);
-        ar << BOOST_SERIALIZATION_NVP(x);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int file_version)
-    {
-        // read any base class info to the archive
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-        switch(file_version){
-        case 1:
-        case 2:
-            ar >> BOOST_SERIALIZATION_NVP(s);
-            ar >> BOOST_SERIALIZATION_NVP(t);
-            ar >> BOOST_SERIALIZATION_NVP(u);
-            ar >> BOOST_SERIALIZATION_NVP(v);
-            ar >> BOOST_SERIALIZATION_NVP(w);
-            ar >> BOOST_SERIALIZATION_NVP(x);
-        default:
-            break;
-        }
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-    signed char s;
-    unsigned char t;
-    signed int u;
-    unsigned int v;
-    float w;
-    double x;
-public:
-    B();
-    virtual ~B(){};
-    bool operator==(const B &rhs) const;
-};
-
-B::B() :
-    s(std::rand()),
-    t(std::rand()),
-    u(std::rand()),
-    v(std::rand()),
-    w((float)std::rand() / std::rand()),
-    x((double)std::rand() / std::rand())
-{
-}
-
-BOOST_CLASS_VERSION(B, 2)
-
-inline bool B::operator==(const B &rhs) const
-{
-    return
-        A::operator==(rhs)
-        && s == rhs.s 
-        && t == rhs.t 
-        && u == rhs.u 
-        && v == rhs.v 
-        && std::fabs(w - rhs.w) <= std::numeric_limits<float>::round_error()
-        && std::fabs(x - rhs.x) <= std::numeric_limits<float>::round_error()
-    ;
-}
-
-#endif // BOOST_SERIALIZATION_TEST_B_HPP
diff --git a/SRC/Boost/libs/serialization/example/demo_exception.cpp b/SRC/Boost/libs/serialization/example/demo_exception.cpp
deleted file mode 100755
index 9cb2345..0000000
--- a/SRC/Boost/libs/serialization/example/demo_exception.cpp
+++ /dev/null
@@ -1,258 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// demo_exception.cpp
-
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Example of safe exception handling for pointer de-serialization
-// 
-// This example was prepared by Robert Ramey to demonstrate and test 
-// safe exception handling during the de-serialization of pointers in
-// a non-trivial example.
-//
-// Hopefully, this addresses exception issues raised by
-// Vahan Margaryan who spent considerable time and effort
-// in the analysis and testing of issues of exception safety 
-// of the serialization library.
-
-#include <algorithm>
-#include <iostream>
-#include <cstddef> // NULL
-#include <fstream>
-#include <string>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/archive/tmpdir.hpp>
-
-#ifndef BOOST_NO_EXCEPTIONS
-#include <exception>
-#endif
-
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/text_oarchive.hpp>
-
-#include <boost/serialization/list.hpp>
-#include <boost/serialization/split_member.hpp>
-
-template<class TPTR>
-struct deleter
-{
-    void operator()(TPTR t){
-        delete t;
-    }
-};
-
-class Course;
-class Student;
-
-class Student
-{
-public:
-    static int count;
-    Student(){
-        count++;
-    }
-    ~Student(){
-        some_courses.clear();
-        count--;
-    }
-    std::list<Course *> some_courses;
-private:
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & some_courses;
-    }
-};
-
-int Student::count = 0;
-
-class Course
-{
-public:
-    static int count;
-    Course(){
-        count++;
-    }
-    ~Course(){
-        // doesnt delete pointers in list
-        // since it doesn't "own" them
-        some_students.clear();
-        count--;
-    }
-    std::list<Student *> some_students;
-private:
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & some_students;
-    }
-};
-
-int Course::count = 0;
-
-class School
-{
-public:
-    ~School(){
-        // must delete all the students because
-        // it "owns" them
-        std::for_each(all_students.begin(), all_students.end(), deleter<Student *>());
-        all_students.clear();
-        // as well as courses
-        std::for_each(all_courses.begin(), all_courses.end(), deleter<Course *>());
-        all_courses.clear();
-    }
-    std::list<Student *> all_students;
-    std::list<Course *> all_courses;
-private:
-    friend class boost::serialization::access;
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-    template<class Archive>
-    void save(Archive & ar, const unsigned int file_version) const;
-    template<class Archive>
-    void load(Archive & ar, const unsigned int file_version);
-};
-
-#if 0
-// case 1:
-template<class Archive>
-void School::serialize(Archive & ar, const unsigned int /* file_version */){
-    // if an exeception occurs while loading courses
-    // the structure courses may have some courses each
-    // with students
-    ar & all_courses;
-    // while all_students will have no members.
-    ar & all_students; // create students that have no courses
-    // so ~School() will delete all members of courses
-    // but this will NOT delete any students - see above
-    // a memory leak will be the result.
-}
-
-// switching the order of serialization doesn't help in this case
-// case 2:
-template<class Archive>
-void School::serialize(Archive & ar, const unsigned int /* file_version */){
-    ar & all_students;
-    ar >> all_courses;  // create any courses that have no students
-}
-#endif
-
-template<class Archive>
-void School::save(Archive & ar, const unsigned int /* file_version */) const {
-    ar << all_students;
-    ar << all_courses;
-}
-
-template<class Archive>
-void School::load(Archive & ar, const unsigned int /* file_version */){
-    // if an exeception occurs while loading courses
-    // the structure courses may have some courses each
-    // with students
-    try{
-        // deserialization of a Course * will in general provoke the
-        // deserialization of Student * which are added to the list of
-        // students for a class.  That is, this process will result
-        // in the copying of a pointer.
-        ar >> all_courses;
-        ar >> all_students; // create students that have no courses
-    }
-    catch(std::exception){
-        // elminate any dangling references
-        all_courses.clear();
-        all_students.clear();
-        throw;
-    }
-}
-
-void init(School *school){
-    Student *bob = new Student();
-    Student *ted = new Student();
-    Student *carol = new Student();
-    Student *alice = new Student();
-
-    school->all_students.push_back(bob);
-    school->all_students.push_back(ted);
-    school->all_students.push_back(carol);
-    school->all_students.push_back(alice);
-
-    Course *math = new Course();
-    Course *history = new Course();
-    Course *literature = new Course();
-    Course *gym = new Course();
-
-    school->all_courses.push_back(math);
-    school->all_courses.push_back(history);
-    school->all_courses.push_back(literature);
-    school->all_courses.push_back(gym);
-
-    bob->some_courses.push_back(math);
-    math->some_students.push_back(bob);
-    bob->some_courses.push_back(literature);
-    literature->some_students.push_back(bob);
-
-    ted->some_courses.push_back(math);
-    math->some_students.push_back(ted);
-    ted->some_courses.push_back(history);
-    history->some_students.push_back(ted);
-
-    alice->some_courses.push_back(literature);
-    literature->some_students.push_back(alice);
-    alice->some_courses.push_back(history);
-    history->some_students.push_back(alice);
-
-    // no students signed up for gym
-    // carol has no courses
-}
-
-void save(const School * const school, const char *filename){
-    std::ofstream ofile(filename);
-    boost::archive::text_oarchive ar(ofile);
-    ar << school;
-}
-
-void load(School * & school, const char *filename){
-    std::ifstream ifile(filename);
-    boost::archive::text_iarchive ar(ifile);
-    try{
-        ar >> school;
-    }
-    catch(std::exception){
-        // eliminate dangling reference
-        school = NULL;
-    }
-}
-
-int main(int argc, char *argv[]){
-    std::string filename(boost::archive::tmpdir());
-    filename += "/demofile.txt";
-
-    School *school = new School();
-    std::cout << "1. student count = " << Student::count << std::endl;
-    std::cout << "2. class count = " << Course::count << std::endl;
-    init(school);
-    std::cout << "3. student count = " << Student::count << std::endl;
-    std::cout << "4. class count = " << Course::count << std::endl;
-    save(school, filename.c_str());
-    delete school;
-    school = NULL;
-    std::cout << "5. student count = " << Student::count << std::endl;
-    std::cout << "6. class count = " << Course::count << std::endl;
-    load(school, filename.c_str());
-    std::cout << "7. student count = " << Student::count << std::endl;
-    std::cout << "8. class count = " << Course::count << std::endl;
-    delete school;
-    std::cout << "9. student count = " << Student::count << std::endl;
-    std::cout << "10. class count = " << Course::count << std::endl;
-    std::remove(filename.c_str());
-    return Student::count + Course::count;
-}
diff --git a/SRC/Boost/libs/serialization/example/demo_fast_archive.cpp b/SRC/Boost/libs/serialization/example/demo_fast_archive.cpp
deleted file mode 100755
index 9aff6c5..0000000
--- a/SRC/Boost/libs/serialization/example/demo_fast_archive.cpp
+++ /dev/null
@@ -1,181 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// demo_fast_binary_archive.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-#include <sstream>
-
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/serialization/pfto.hpp>
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/binary_oarchive_impl.hpp>
-#include <boost/archive/binary_iarchive_impl.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-
-// include template definitions for base classes used.  Otherwise
-// you'll get link failure with undefined symbols
-#include <boost/archive/impl/basic_binary_oprimitive.ipp>
-#include <boost/archive/impl/basic_binary_iprimitive.ipp>
-#include <boost/archive/impl/basic_binary_oarchive.ipp>
-#include <boost/archive/impl/basic_binary_iarchive.ipp>
-
-using namespace boost::archive;
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// "Fast" output binary archive.  This is a variation of the native binary 
-class fast_binary_oarchive :
-    // don't derive from binary_oarchive !!!
-    public binary_oarchive_impl<
-        fast_binary_oarchive, 
-        std::ostream::char_type, 
-        std::ostream::traits_type
-    >
-{
-    typedef fast_binary_oarchive derived_t;
-    typedef binary_oarchive_impl<
-        fast_binary_oarchive, 
-        std::ostream::char_type, 
-        std::ostream::traits_type
-    > base_t;
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class boost::archive::detail::interface_oarchive<derived_t>;
-    friend class basic_binary_oarchive<derived_t>;
-    friend class basic_binary_oprimitive<
-        derived_t, 
-        std::ostream::char_type, 
-        std::ostream::traits_type
-    >;
-    friend class boost::archive::save_access;
-#endif
-    // add base class to the places considered when matching
-    // save function to a specific set of arguments.  Note, this didn't
-    // work on my MSVC 7.0 system using 
-    // binary_oarchive_impl<derived_t>::load_override;
-    // so we use the sure-fire method below.  This failed to work as well
-    template<class T>
-    void save_override(T & t, BOOST_PFTO int){
-        base_t::save_override(t, 0);
-        // verify that this program is in fact working by making sure
-        // that arrays are getting passed here
-        BOOST_STATIC_ASSERT(! (boost::is_array<T>::value) );
-    }
-    template<int N>
-    void save_override(const int (& t)[N] , int){
-        save_binary(t, sizeof(t));
-    }
-    template<int N>
-    void save_override(const unsigned int (& t)[N], int){
-        save_binary(t, sizeof(t));
-    }
-    template<int N>
-    void save_override(const long (& t)[N], int){
-        save_binary(t, sizeof(t));
-    }
-    template<int N>
-    void save_override(const unsigned long (& t)[N], int){
-        save_binary(t, sizeof(t));
-    }
-public:
-    fast_binary_oarchive(std::ostream & os, unsigned flags = 0) :
-       base_t(os, flags)
-    {}
-    fast_binary_oarchive(std::streambuf & bsb, unsigned int flags = 0) :
-        base_t(bsb, flags)
-    {}
-};
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(fast_binary_oarchive)
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// "Fast" input binary archive.  This is a variation of the native binary 
-class fast_binary_iarchive :
-    // don't derive from binary_oarchive !!!
-    public binary_iarchive_impl<
-        fast_binary_iarchive, 
-        std::istream::char_type, 
-        std::istream::traits_type
-    >
-{
-    typedef fast_binary_iarchive derived_t;
-    typedef binary_iarchive_impl<
-        fast_binary_iarchive, 
-        std::istream::char_type, 
-        std::istream::traits_type
-    > base_t;
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend class boost::archive::detail::interface_iarchive<derived_t>;
-    friend class basic_binary_iarchive<derived_t>;
-    friend class basic_binary_iprimitive<
-        derived_t, 
-        std::ostream::char_type, 
-        std::ostream::traits_type
-    >;
-    friend class boost::archive::load_access;
-#endif
-    // add base class to the places considered when matching
-    // save function to a specific set of arguments.  Note, this didn't
-    // work on my MSVC 7.0 system using 
-    // binary_oarchive_impl<derived_t>::load_override;
-    // so we use the sure-fire method below.  This failed to work as well
-    template<class T>
-    void load_override(T & t, BOOST_PFTO int){
-        base_t::load_override(t, 0);
-        BOOST_STATIC_ASSERT(! (boost::is_array<T>::value) );
-    }
-    template<int N>
-    void load_override(int (& t)[N], int){
-        load_binary(t, sizeof(t));
-    }
-    template<int N>
-    void load_override(unsigned int (& t)[N], int){
-        load_binary(t, sizeof(t));
-    }
-    template<int N>
-    void load_override(long (& t)[N], int){
-        load_binary(t, sizeof(t));
-    }
-    template<int N>
-    void load_override(unsigned long (& t)[N], int){
-        load_binary(t, sizeof(t));
-    }
-public:
-    fast_binary_iarchive(std::istream & is, unsigned int flags = 0) :
-        base_t(is, flags)
-    {}
-    fast_binary_iarchive(std::streambuf & bsb, unsigned int flags = 0) :
-        base_t(bsb, flags)
-    {}
-};
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(fast_binary_iarchive)
-
-int main( int argc, char* argv[] )
-{
-    const int a[3] = {1, 2, 3};
-    int a1[3] = {4, 5, 6};
-
-    std::stringstream ss;
-    {   
-        fast_binary_oarchive pboa(ss);
-        pboa << a;
-    }
-    {
-        fast_binary_iarchive pbia(ss);
-        pbia >> a1;
-    }
-    return (a[0] != a1[0]) || (a[1] != a1[1]) || (a[2] != a1[2]);
-}
-
-
diff --git a/SRC/Boost/libs/serialization/example/demo_gps.hpp b/SRC/Boost/libs/serialization/example/demo_gps.hpp
deleted file mode 100755
index 89dc342..0000000
--- a/SRC/Boost/libs/serialization/example/demo_gps.hpp
+++ /dev/null
@@ -1,284 +0,0 @@
-#ifndef BOOST_SERIALIZATION_EXAMPLE_DEMO_GPS_HPP
-#define BOOST_SERIALIZATION_EXAMPLE_DEMO_GPS_HPP
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-//
-// demo_gps.hpp
-//
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <iomanip>
-#include <iostream>
-#include <fstream>
-
-#include <boost/serialization/string.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/utility.hpp>
-#include <boost/serialization/list.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/assume_abstract.hpp>
-
-// This illustration models the bus system of a small city.
-// This includes, multiple bus stops,  bus routes and schedules.
-// There are different kinds of stops.  Bus stops in general will
-// will appear on multiple routes.  A schedule will include
-// muliple trips on the same route.
-
-/////////////////////////////////////////////////////////////
-// gps coordinate
-//
-// llustrates serialization for a simple type
-//
-class gps_position
-{
-    friend class boost::serialization::access;
-    friend std::ostream & operator<<(std::ostream &os, const gps_position &gp);
-
-    int degrees;
-    int minutes;
-    float seconds;
-
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar  & BOOST_SERIALIZATION_NVP(degrees)
-            & BOOST_SERIALIZATION_NVP(minutes)
-            & BOOST_SERIALIZATION_NVP(seconds);
-    }
-
-public:
-    // every serializable class needs a constructor
-    gps_position(){};
-    gps_position(int _d, int _m, float _s) : 
-        degrees(_d), minutes(_m), seconds(_s)
-    {}
-};
-
-std::ostream & operator<<(std::ostream &os, const gps_position &gp)
-{
-    return os << ' ' << gp.degrees << (unsigned char)186 << gp.minutes << '\'' << gp.seconds << '"';
-}
-
-/////////////////////////////////////////////////////////////
-// One bus stop
-//
-// illustrates serialization of serializable members
-//
-
-class bus_stop
-{
-    friend class boost::serialization::access;
-    virtual std::string description() const = 0;
-    gps_position latitude;
-    gps_position longitude;
-
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        ar & BOOST_SERIALIZATION_NVP(latitude);
-        ar & BOOST_SERIALIZATION_NVP(longitude);
-    }
-
-protected:
-    bus_stop(const gps_position & _lat, const gps_position & _long) :
-        latitude(_lat), longitude(_long)
-    {}
-public:
-    bus_stop(){}
-    friend std::ostream & operator<<(std::ostream &os, const bus_stop &gp);
-    virtual ~bus_stop(){}
-};
-
-BOOST_SERIALIZATION_ASSUME_ABSTRACT(bus_stop)
-
-std::ostream & operator<<(std::ostream &os, const bus_stop &bs)
-{
-    return os << bs.latitude << bs.longitude << ' ' << bs.description();
-}
-
-/////////////////////////////////////////////////////////////
-// Several kinds of bus stops
-//
-// illustrates serialization of derived types
-//
-class bus_stop_corner : public bus_stop
-{
-    friend class boost::serialization::access;
-    std::string street1;
-    std::string street2;
-    virtual std::string description() const
-    {
-        return street1 + " and " + street2;
-    }
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        // save/load base class information
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(bus_stop);
-        ar & BOOST_SERIALIZATION_NVP(street1);
-        ar & BOOST_SERIALIZATION_NVP(street2);
-    }
-public:
-    bus_stop_corner(){}
-    bus_stop_corner(const gps_position & _lat, const gps_position & _long,
-        const std::string & _s1, const std::string & _s2
-    ) :
-        bus_stop(_lat, _long), street1(_s1), street2(_s2)
-    {
-    }
-};
-
-class bus_stop_destination : public bus_stop
-{
-    friend class boost::serialization::access;
-    std::string name;
-    virtual std::string description() const
-    {
-        return name;
-    }
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        ar  & BOOST_SERIALIZATION_BASE_OBJECT_NVP(bus_stop)
-            & BOOST_SERIALIZATION_NVP(name);
-    }
-public:
-    bus_stop_destination(){}
-    bus_stop_destination(
-        const gps_position & _lat, const gps_position & _long, const std::string & _name
-    ) :
-        bus_stop(_lat, _long), name(_name)
-    {
-    }
-};
-
-/////////////////////////////////////////////////////////////
-// a bus route is a collection of bus stops
-//
-// illustrates serialization of STL collection templates.
-//
-// illustrates serialzation of polymorphic pointer (bus stop *);
-//
-// illustrates storage and recovery of shared pointers is correct
-// and efficient.  That is objects pointed to by more than one
-// pointer are stored only once.  In such cases only one such
-// object is restored and pointers are restored to point to it
-//
-class bus_route
-{
-    friend class boost::serialization::access;
-    friend std::ostream & operator<<(std::ostream &os, const bus_route &br);
-    typedef bus_stop * bus_stop_pointer;
-    std::list<bus_stop_pointer> stops;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        // in this program, these classes are never serialized directly but rather
-        // through a pointer to the base class bus_stop. So we need a way to be
-        // sure that the archive contains information about these derived classes.
-        //ar.template register_type<bus_stop_corner>();
-        ar.register_type(static_cast<bus_stop_corner *>(NULL));
-        //ar.template register_type<bus_stop_destination>();
-        ar.register_type(static_cast<bus_stop_destination *>(NULL));
-        // serialization of stl collections is already defined
-        // in the header
-        ar & BOOST_SERIALIZATION_NVP(stops);
-    }
-public:
-    bus_route(){}
-    void append(bus_stop *_bs)
-    {
-        stops.insert(stops.end(), _bs);
-    }
-};
-std::ostream & operator<<(std::ostream &os, const bus_route &br)
-{
-    std::list<bus_stop *>::const_iterator it;
-    // note: we're displaying the pointer to permit verification
-    // that duplicated pointers are properly restored.
-    for(it = br.stops.begin(); it != br.stops.end(); it++){
-        os << '\n' << std::hex << "0x" << *it << std::dec << ' ' << **it;
-    }
-    return os;
-}
-
-/////////////////////////////////////////////////////////////
-// a bus schedule is a collection of routes each with a starting time
-//
-// Illustrates serialization of STL objects(pair) in a non-intrusive way.
-// See definition of operator<< <pair<F, S> >(ar, pair)
-// 
-// illustrates nesting of serializable classes
-//
-// illustrates use of version number to automatically grandfather older
-// versions of the same class.
-
-class bus_schedule
-{
-    friend class boost::serialization::access;
-    friend std::ostream & operator<<(std::ostream &os, const bus_schedule &bs);
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        ar & BOOST_SERIALIZATION_NVP(schedule);
-    }
-    // note: this structure was made public. because the friend declarations
-    // didn't seem to work as expected.
-public:
-    struct trip_info
-    {
-        template<class Archive>
-        void serialize(Archive &ar, const unsigned int file_version)
-        {
-            // in versions 2 or later
-            if(file_version >= 2)
-                // read the drivers name
-                ar & BOOST_SERIALIZATION_NVP(driver);
-            // all versions have the follwing info
-            ar  & BOOST_SERIALIZATION_NVP(hour)
-                & BOOST_SERIALIZATION_NVP(minute);
-        }
-
-        // starting time
-        int hour;
-        int minute;
-        // only after system shipped was the driver's name added to the class
-        std::string driver;
-
-        trip_info(){}
-        trip_info(int _h, int _m, const std::string &_d) :
-            hour(_h), minute(_m), driver(_d)
-        {}
-        ~trip_info(){
-        }
-    };
-//  friend std::ostream & operator<<(std::ostream &os, const trip_info &ti);
-private:
-    std::list<std::pair<trip_info, bus_route *> > schedule;
-public:
-    void append(const std::string &_d, int _h, int _m, bus_route *_br)
-    {
-        schedule.insert(schedule.end(), std::make_pair(trip_info(_h, _m, _d), _br));
-    }
-    bus_schedule(){}
-};
-
-BOOST_CLASS_VERSION(bus_schedule::trip_info, 3)
-BOOST_CLASS_VERSION(bus_schedule, 2)
-
-std::ostream & operator<<(std::ostream &os, const bus_schedule::trip_info &ti)
-{
-    return os << '\n' << ti.hour << ':' << ti.minute << ' ' << ti.driver << ' ';
-}
-std::ostream & operator<<(std::ostream &os, const bus_schedule &bs)
-{
-    std::list<std::pair<bus_schedule::trip_info, bus_route *> >::const_iterator it;
-    for(it = bs.schedule.begin(); it != bs.schedule.end(); it++){
-        os << it->first << *(it->second);
-    }
-    return os;
-}
-
-#endif // BOOST_SERIALIZATION_EXAMPLE_DEMO_GPS_HPP
diff --git a/SRC/Boost/libs/serialization/example/demo_log.cpp b/SRC/Boost/libs/serialization/example/demo_log.cpp
deleted file mode 100755
index 638950e..0000000
--- a/SRC/Boost/libs/serialization/example/demo_log.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-//
-// demo_log.cpp
-//
-// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <iostream>
-#include <cstdio>
-
-#include "demo_gps.hpp"
-#include "log_archive.hpp"
-
-int main(int argc, char *argv[])
-{   
-    // make the schedule
-    bus_schedule schedule;
-
-    // fill in the data
-    // make a few stops
-    bus_stop *bs0 = new bus_stop_corner(
-        gps_position(34, 135, 52.560f),
-        gps_position(134, 22, 78.30f),
-        "24th Street", "10th Avenue"
-    );
-    bus_stop *bs1 = new bus_stop_corner(
-        gps_position(35, 137, 23.456f),
-        gps_position(133, 35, 54.12f),
-        "State street", "Cathedral Vista Lane"
-    );
-    bus_stop *bs2 = new bus_stop_destination(
-        gps_position(35, 136, 15.456f),
-        gps_position(133, 32, 15.300f),
-        "White House"
-    );
-    bus_stop *bs3 = new bus_stop_destination(
-        gps_position(35, 134, 48.789f),
-        gps_position(133, 32, 16.230f),
-        "Lincoln Memorial"
-    );
-
-    // make a  routes
-    bus_route route0;
-    route0.append(bs0);
-    route0.append(bs1);
-    route0.append(bs2);
-
-    // add trips to schedule
-    schedule.append("bob", 6, 24, &route0);
-    schedule.append("bob", 9, 57, &route0);
-    schedule.append("alice", 11, 02, &route0);
-
-    // make aother routes
-    bus_route route1;
-    route1.append(bs3);
-    route1.append(bs2);
-    route1.append(bs1);
-
-    // add trips to schedule
-    schedule.append("ted", 7, 17, &route1);
-    schedule.append("ted", 9, 38, &route1);
-    schedule.append("alice", 11, 47, &route1);
-
-    // display the complete schedule
-    log_archive oa(std::cout);
-    //oa << BOOST_SERIALIZATION_NVP(schedule);
-    oa << schedule;
-
-    delete bs0;
-    delete bs1;
-    delete bs2;
-    delete bs3;
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/example/demo_output.txt b/SRC/Boost/libs/serialization/example/demo_output.txt
deleted file mode 100755
index 7fabfc1..0000000
--- a/SRC/Boost/libs/serialization/example/demo_output.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-original schedule
-6:24 bob 
-0x003265C8  34�135'52.56" 134�22'78.3" 24th Street and 10th Avenue
-0x00326648  35�137'23.456" 133�35'54.12" State street and Cathedral Vista Lane
-0x00326768  35�136'15.456" 133�32'15.3" White House
-9:57 bob 
-0x003265C8  34�135'52.56" 134�22'78.3" 24th Street and 10th Avenue
-0x00326648  35�137'23.456" 133�35'54.12" State street and Cathedral Vista Lane
-0x00326768  35�136'15.456" 133�32'15.3" White House
-11:2 alice 
-0x003265C8  34�135'52.56" 134�22'78.3" 24th Street and 10th Avenue
-0x00326648  35�137'23.456" 133�35'54.12" State street and Cathedral Vista Lane
-0x00326768  35�136'15.456" 133�32'15.3" White House
-7:17 ted 
-0x003267D0  35�134'48.789" 133�32'16.23" Lincoln Memorial
-0x00326768  35�136'15.456" 133�32'15.3" White House
-0x00326648  35�137'23.456" 133�35'54.12" State street and Cathedral Vista Lane
-9:38 ted 
-0x003267D0  35�134'48.789" 133�32'16.23" Lincoln Memorial
-0x00326768  35�136'15.456" 133�32'15.3" White House
-0x00326648  35�137'23.456" 133�35'54.12" State street and Cathedral Vista Lane
-11:47 alice 
-0x003267D0  35�134'48.789" 133�32'16.23" Lincoln Memorial
-0x00326768  35�136'15.456" 133�32'15.3" White House
-0x00326648  35�137'23.456" 133�35'54.12" State street and Cathedral Vista Lane
-restored schedule
-6:24  
-0x0032A2F8  34�135'52.56" 134�22'78.3" 24th Street and 10th Avenue
-0x0032A508  35�137'23.456" 133�35'54.12" State street and Cathedral Vista Lane
-0x0032A628  35�136'15.456" 133�32'15.3" White House
-9:57  
-0x0032A2F8  34�135'52.56" 134�22'78.3" 24th Street and 10th Avenue
-0x0032A508  35�137'23.456" 133�35'54.12" State street and Cathedral Vista Lane
-0x0032A628  35�136'15.456" 133�32'15.3" White House
-11:2  
-0x0032A2F8  34�135'52.56" 134�22'78.3" 24th Street and 10th Avenue
-0x0032A508  35�137'23.456" 133�35'54.12" State street and Cathedral Vista Lane
-0x0032A628  35�136'15.456" 133�32'15.3" White House
-7:17  
-0x0032A8C0  35�134'48.789" 133�32'16.23" Lincoln Memorial
-0x0032A628  35�136'15.456" 133�32'15.3" White House
-0x0032A508  35�137'23.456" 133�35'54.12" State street and Cathedral Vista Lane
-9:38  
-0x0032A8C0  35�134'48.789" 133�32'16.23" Lincoln Memorial
-0x0032A628  35�136'15.456" 133�32'15.3" White House
-0x0032A508  35�137'23.456" 133�35'54.12" State street and Cathedral Vista Lane
-11:47  
-0x0032A8C0  35�134'48.789" 133�32'16.23" Lincoln Memorial
-0x0032A628  35�136'15.456" 133�32'15.3" White House
-0x0032A508  35�137'23.456" 133�35'54.12" State street and Cathedral Vista Lane
-*** No errors detected
diff --git a/SRC/Boost/libs/serialization/example/demo_pimpl.cpp b/SRC/Boost/libs/serialization/example/demo_pimpl.cpp
deleted file mode 100755
index da7da87..0000000
--- a/SRC/Boost/libs/serialization/example/demo_pimpl.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// demo_pimpl.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <sstream>
-
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/text_oarchive.hpp>
-
-#include "demo_pimpl_A.hpp"
-
-int main(int argc, char* argv[])
-{
-    std::stringstream ss;
-
-    const A a;
-    {
-        boost::archive::text_oarchive oa(ss);
-        oa << a;
-    }
-    A a1;
-    {
-        boost::archive::text_iarchive ia(ss);
-        ia >> a1;
-    }
-    return 0;
-}
-
diff --git a/SRC/Boost/libs/serialization/example/demo_pimpl_A.cpp b/SRC/Boost/libs/serialization/example/demo_pimpl_A.cpp
deleted file mode 100755
index 7b6b359..0000000
--- a/SRC/Boost/libs/serialization/example/demo_pimpl_A.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// demo_pimpl_A.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/text_oarchive.hpp>
-
-#include "demo_pimpl_A.hpp"
-
-// "hidden" definition of class B
-struct B {
-    int b;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & b;
-    }
-};
-
-A::A() :
-    pimpl(new B)
-{}
-A::~A(){
-    delete pimpl;
-}
-// now we can define the serialization for class A
-template<class Archive>
-void A::serialize(Archive & ar, const unsigned int /* file_version */){
-    ar & pimpl;
-}
- 
-// without the explicit instantiations below, the program will
-// fail to link for lack of instantiantiation of the above function
-// note: the following failed to fix link errors for vc 7.0 !
-template void A::serialize<boost::archive::text_iarchive>(
-    boost::archive::text_iarchive & ar, 
-    const unsigned int file_version
-);
-template void A::serialize<boost::archive::text_oarchive>(
-    boost::archive::text_oarchive & ar, 
-    const unsigned int file_version
-);
diff --git a/SRC/Boost/libs/serialization/example/demo_pimpl_A.hpp b/SRC/Boost/libs/serialization/example/demo_pimpl_A.hpp
deleted file mode 100755
index 37a0cec..0000000
--- a/SRC/Boost/libs/serialization/example/demo_pimpl_A.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef BOOST_SERIALIZATION_EXAMPLE_DEMO_PIMPL_A_HPP
-#define BOOST_SERIALIZATION_EXAMPLE_DEMO_PIMPL_A_HPP
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// demo_pimpl_A.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// class whose declaration is hidden by a pointer
-struct B;
-
-struct A {
-    // class a contains a pointer to a "hidden" declaration
-    B *pimpl;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int file_version);
-    A();
-    ~A();
-};
-
-#endif // BOOST_SERIALIZATION_EXAMPLE_DEMO_PIMPL_A_HPP
diff --git a/SRC/Boost/libs/serialization/example/demo_polymorphic.cpp b/SRC/Boost/libs/serialization/example/demo_polymorphic.cpp
deleted file mode 100755
index 542eef9..0000000
--- a/SRC/Boost/libs/serialization/example/demo_polymorphic.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// demo_polymorphic.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <sstream>
-
-#include <boost/archive/polymorphic_text_iarchive.hpp>
-#include <boost/archive/polymorphic_text_oarchive.hpp>
-
-#include <boost/archive/polymorphic_binary_iarchive.hpp>
-#include <boost/archive/polymorphic_binary_oarchive.hpp>
-
-#include "demo_polymorphic_A.hpp"
-
-int main(int argc, char* argv[])
-{
-    const A a;
-    A a1;
-    {
-        // test with a text archive
-        std::stringstream ss;
-        {
-            // instantiate archive which inhertis polymorphic interface
-            // and the normal text archive implementation
-            boost::archive::polymorphic_text_oarchive oa(ss);
-            boost::archive::polymorphic_oarchive & oa_interface = oa; 
-            // we can just just the interface for saving
-            oa_interface << a;
-        }
-        {
-            // or we can use the implementation directly
-            boost::archive::polymorphic_text_iarchive ia(ss);
-            ia >> a1;
-        }
-    }
-    if(! (a == a1))
-        return 1;
-    {
-        //test with a binary archive
-        std::stringstream ss;
-        {
-            // instantiate archive which inhertis polymorphic interface
-            // and the normal binary archive implementation
-            boost::archive::polymorphic_binary_oarchive oa(ss);
-            oa << a;
-        }
-        {
-            // see above
-            boost::archive::polymorphic_binary_iarchive ia(ss);
-            boost::archive::polymorphic_iarchive & ia_interface = ia; 
-            // use just the polymorphic interface for loading.
-            ia_interface >> a1;
-        }
-    }
-    if(! (a == a1))
-        return 1;
-    return 0;
-}
-
diff --git a/SRC/Boost/libs/serialization/example/demo_polymorphic_A.cpp b/SRC/Boost/libs/serialization/example/demo_polymorphic_A.cpp
deleted file mode 100755
index 1a24476..0000000
--- a/SRC/Boost/libs/serialization/example/demo_polymorphic_A.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// demo_polymorphic_A.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-
-#include <boost/archive/polymorphic_iarchive.hpp>
-#include <boost/archive/polymorphic_oarchive.hpp>
-
-#include "demo_polymorphic_A.hpp"
-
-// explicitly instantiate templates for polymorphic archives
-// used by this demo.
-template
-void A::serialize<boost::archive::polymorphic_iarchive>(
-    boost::archive::polymorphic_iarchive &, 
-    const unsigned int
-);
-template
-void A::serialize<boost::archive::polymorphic_oarchive>(
-    boost::archive::polymorphic_oarchive &, 
-    const unsigned int
-);
diff --git a/SRC/Boost/libs/serialization/example/demo_polymorphic_A.hpp b/SRC/Boost/libs/serialization/example/demo_polymorphic_A.hpp
deleted file mode 100755
index b876bec..0000000
--- a/SRC/Boost/libs/serialization/example/demo_polymorphic_A.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef BOOST_SERIALIZATION_EXAMPLE_DEMO_POLYMORPHIC_A_HPP
-#define BOOST_SERIALIZATION_EXAMPLE_DEMO_POLYMORPHIC_A_HPP
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// demo_polymorphic_A.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-namespace boost {
-namespace archive {
-
-class polymorphic_iarchive;
-class polymorphic_oarchive;
-
-} // namespace archive
-} // namespace boost
-
-struct A {
-    // class a contains a pointer to a "hidden" declaration
-    template<class Archive>
-    void serialize(
-        Archive & ar, 
-        const unsigned int file_version
-    ){
-        ar & data;
-    }
-    int data;
-    bool operator==(const A & rhs) const {
-        return data == rhs.data;
-    }
-    A() :
-        data(0)
-    {}
-};
-
-#endif // BOOST_SERIALIZATION_EXAMPLE_DEMO_POLYMORPHIC_A_HPP
diff --git a/SRC/Boost/libs/serialization/example/demo_portable_archive.cpp b/SRC/Boost/libs/serialization/example/demo_portable_archive.cpp
deleted file mode 100755
index 2fa8e45..0000000
--- a/SRC/Boost/libs/serialization/example/demo_portable_archive.cpp
+++ /dev/null
@@ -1,104 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-//
-// demo_portable_archive.cpp
-//
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-// note:: this example can only be built with the static library
-// (at least with MSVC - due to conflicts related to import of library
-// code and instantiation of templates.
-#include <sstream>
-
-#include "portable_binary_oarchive.hpp"
-#include "portable_binary_iarchive.hpp"
-
-#include <cstdlib>
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ using ::rand; }
-#endif
-
-class A
-{
-    friend class boost::serialization::access;
-    char c;
-    A *pa;
-    int i;
-    int i2; // special tricky case to check sign extension
-    unsigned int ui;
-    long l;
-    unsigned long ul;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* version */){
-        ar & c & i & i2 & ui & l & ul ;
-    }
-public:
-    bool operator==(const A & rhs) const {
-        return
-            c == rhs.c
-            && i == rhs.i
-            && i2 == rhs.i2
-            && ui == rhs.ui 
-            && l == rhs.l 
-            && ul == rhs.ul
-        ;
-    }
-    A() :
-        c(0xFF & std::rand()),
-        pa(0),
-        i(std::rand()),
-        i2(0x80),
-        ui(std::rand()),
-        l(std::rand() * std::rand()),
-        ul(std::rand())
-    {}
-};
-
-int main( int /* argc */, char* /* argv */[] )
-{
-    const A a;
-    A a1;
-
-    std::stringstream ss;
-    {   
-        portable_binary_oarchive pboa(ss);
-        pboa << a;
-    }
-    {
-        portable_binary_iarchive pbia(ss);
-        pbia >> a1;
-    }
-    if(! (a == a1))
-        return 1;
-
-    ss.clear();
-    {   
-        portable_binary_oarchive pboa(ss, endian_big);
-        pboa << a;
-    }
-    {
-        portable_binary_iarchive pbia(ss, endian_big);
-        pbia >> a1;
-    }
-    if(! (a == a1))
-        return 1;
-
-    ss.clear();
-    {   
-        portable_binary_oarchive pboa(ss, endian_big);
-        pboa << a;
-    }
-    {
-        portable_binary_iarchive pbia(ss, endian_big);
-        pbia >> a1;
-    }
-
-    return !(a == a1);
-}
-
-
diff --git a/SRC/Boost/libs/serialization/example/demo_save.xml b/SRC/Boost/libs/serialization/example/demo_save.xml
deleted file mode 100755
index 52ba00b..0000000
--- a/SRC/Boost/libs/serialization/example/demo_save.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<!DOCTYPE boost_serialization>
-<boost_serialization signature="serialization::archive" version="3">
-<s class_id="0" tracking_level="0" version="2">
-	<schedule class_id="1" tracking_level="0">
-		<count>6</count>
-		<item class_id="2" tracking_level="0">
-			<first class_id="3" tracking_level="0" version="3">
-				<driver>bob</driver>
-				<hour>6</hour>
-				<minute>24</minute>
-			</first>
-			<second class_id="4" tracking_level="1" object_id="_0">
-				<stops class_id="7" tracking_level="0">
-					<count>3</count>
-					<item class_id="5" tracking_level="1" object_id="_1">
-						<bus_stop class_id="8" tracking_level="0">
-							<latitude class_id="9" tracking_level="0">
-								<degrees>34</degrees>
-								<minutes>135</minutes>
-								<seconds>52.560001</seconds>
-							</latitude>
-							<longitude>
-								<degrees>134</degrees>
-								<minutes>22</minutes>
-								<seconds>78.300003</seconds>
-							</longitude>
-						</bus_stop>
-						<street1>24th Street</street1>
-						<street2>10th Avenue</street2>
-					</item>
-					<item class_id_reference="5" object_id="_2">
-						<bus_stop>
-							<latitude>
-								<degrees>35</degrees>
-								<minutes>137</minutes>
-								<seconds>23.455999</seconds>
-							</latitude>
-							<longitude>
-								<degrees>133</degrees>
-								<minutes>35</minutes>
-								<seconds>54.119999</seconds>
-							</longitude>
-						</bus_stop>
-						<street1>State street</street1>
-						<street2>Cathedral Vista Lane</street2>
-					</item>
-					<item class_id="6" tracking_level="1" object_id="_3">
-						<bus_stop>
-							<latitude>
-								<degrees>35</degrees>
-								<minutes>136</minutes>
-								<seconds>15.456</seconds>
-							</latitude>
-							<longitude>
-								<degrees>133</degrees>
-								<minutes>32</minutes>
-								<seconds>15.3</seconds>
-							</longitude>
-						</bus_stop>
-						<name>White House</name>
-					</item>
-				</stops>
-			</second>
-		</item>
-		<item>
-			<first>
-				<driver>bob</driver>
-				<hour>9</hour>
-				<minute>57</minute>
-			</first>
-			<second class_id_reference="4" object_id_reference="_0"></second>
-		</item>
-		<item>
-			<first>
-				<driver>alice</driver>
-				<hour>11</hour>
-				<minute>2</minute>
-			</first>
-			<second class_id_reference="4" object_id_reference="_0"></second>
-		</item>
-		<item>
-			<first>
-				<driver>ted</driver>
-				<hour>7</hour>
-				<minute>17</minute>
-			</first>
-			<second class_id_reference="4" object_id="_4">
-				<stops>
-					<count>3</count>
-					<item class_id_reference="6" object_id="_5">
-						<bus_stop>
-							<latitude>
-								<degrees>35</degrees>
-								<minutes>134</minutes>
-								<seconds>48.789001</seconds>
-							</latitude>
-							<longitude>
-								<degrees>133</degrees>
-								<minutes>32</minutes>
-								<seconds>16.23</seconds>
-							</longitude>
-						</bus_stop>
-						<name>Lincoln Memorial</name>
-					</item>
-					<item class_id_reference="6" object_id_reference="_3"></item>
-					<item class_id_reference="5" object_id_reference="_2"></item>
-				</stops>
-			</second>
-		</item>
-		<item>
-			<first>
-				<driver>ted</driver>
-				<hour>9</hour>
-				<minute>38</minute>
-			</first>
-			<second class_id_reference="4" object_id_reference="_4"></second>
-		</item>
-		<item>
-			<first>
-				<driver>alice</driver>
-				<hour>11</hour>
-				<minute>47</minute>
-			</first>
-			<second class_id_reference="4" object_id_reference="_4"></second>
-		</item>
-	</schedule>
-</s>
-</boost_serialization>
diff --git a/SRC/Boost/libs/serialization/example/demo_shared_ptr.cpp b/SRC/Boost/libs/serialization/example/demo_shared_ptr.cpp
deleted file mode 100755
index c96de06..0000000
--- a/SRC/Boost/libs/serialization/example/demo_shared_ptr.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-// demo_shared_ptr.cpp : demonstrates adding serialization to a template
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . Polymorphic
-// derived pointer example by David Tonge.
-
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <iomanip>
-#include <iostream>
-#include <cstddef> // NULL
-#include <fstream>
-#include <string>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/tmpdir.hpp>
-
-#include <boost/serialization/shared_ptr.hpp>
-
-///////////////////////////
-// test shared_ptr serialization
-class A
-{
-private:
-    friend class boost::serialization::access;
-    int x;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & x;
-    }
-public:
-    static int count;
-    A(){++count;}    // default constructor
-    virtual ~A(){--count;}   // default destructor
-};
-
-BOOST_SERIALIZATION_SHARED_PTR(A)
-
-/////////////////
-// ADDITION BY DT
-class B : public A
-{
-private:
-    friend class boost::serialization::access;
-    int x;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & boost::serialization::base_object<A>(*this);
-    }
-public:
-    static int count;
-    B() : A() {};
-    virtual ~B() {};
-};
-
-BOOST_SERIALIZATION_SHARED_PTR(B)
-
-/////////////////
-
-int A::count = 0;
-
-void display(boost::shared_ptr<A> &spa, boost::shared_ptr<A> &spa1)
-{
-    std::cout << "a = 0x" << std::hex << spa.get() << " ";
-    if (spa.get()) std::cout << "is a " << typeid(*(spa.get())).name() << "* ";
-    std::cout << "use count = " << std::dec << spa.use_count() << std::endl;
-    std::cout << "a1 = 0x" << std::hex << spa1.get() << " ";
-    if (spa1.get()) std::cout << "is a " << typeid(*(spa1.get())).name() << "* ";
-    std::cout << "use count = " << std::dec << spa1.use_count() << std::endl;
-    std::cout << "unique element count = " << A::count << std::endl;
-}
-
-int main(int /* argc */, char * /*argv*/[])
-{
-    std::string filename(boost::archive::tmpdir());
-    filename += "/testfile";
-
-    // create  a new shared pointer to ta new object of type A
-    boost::shared_ptr<A> spa(new A);
-    boost::shared_ptr<A> spa1;
-    spa1 = spa;
-    display(spa, spa1);
-    // serialize it
-    {
-        std::ofstream ofs(filename.c_str());
-        boost::archive::text_oarchive oa(ofs);
-        oa << spa;
-        oa << spa1;
-    }
-    // reset the shared pointer to NULL
-    // thereby destroying the object of type A
-    spa.reset();
-    spa1.reset();
-    display(spa, spa1);
-    // restore state to one equivalent to the original
-    // creating a new type A object
-    {
-        // open the archive
-        std::ifstream ifs(filename.c_str());
-        boost::archive::text_iarchive ia(ifs);
-
-        // restore the schedule from the archive
-        ia >> spa;
-        ia >> spa1;
-    }
-    display(spa, spa1);
-    spa.reset();
-    spa1.reset();
-
-    std::cout << std::endl;
-    std::cout << std::endl;
-    std::cout << "New tests" << std::endl;
-
-    /////////////////
-    // ADDITION BY DT
-    // create  a new shared pointer to ta new object of type A
-    spa = boost::shared_ptr<A>(new B);
-    spa1 = spa;
-    display(spa, spa1);
-    // serialize it
-    {
-        std::ofstream ofs(filename.c_str());
-        boost::archive::text_oarchive oa(ofs);
-        oa.register_type(static_cast<B *>(NULL));
-        oa << spa;
-        oa << spa1;
-    }
-    // reset the shared pointer to NULL
-    // thereby destroying the object of type B
-    spa.reset();
-    spa1.reset();
-    display(spa, spa1);
-    // restore state to one equivalent to the original
-    // creating a new type B object
-    {
-        // open the archive
-        std::ifstream ifs(filename.c_str());
-        boost::archive::text_iarchive ia(ifs);
-
-        // restore the schedule from the archive
-        ia.register_type(static_cast<B *>(NULL));
-        ia >> spa;
-        ia >> spa1;
-    }
-    display(spa, spa1);
-    ///////////////
-    std::remove(filename.c_str());
-
-    // obj of type A gets destroyed
-    // as smart_ptr goes out of scope
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/example/demo_simple_log.cpp b/SRC/Boost/libs/serialization/example/demo_simple_log.cpp
deleted file mode 100755
index f29f4c0..0000000
--- a/SRC/Boost/libs/serialization/example/demo_simple_log.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-//
-// demo_log.cpp
-//
-// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <iostream>
-#include <cstdio>
-
-#include "demo_gps.hpp"
-#include "simple_log_archive.hpp"
-
-int main(int argc, char *argv[])
-{   
-    // make the schedule
-    bus_schedule schedule;
-
-    // fill in the data
-    // make a few stops
-    bus_stop *bs0 = new bus_stop_corner(
-        gps_position(34, 135, 52.560f),
-        gps_position(134, 22, 78.30f),
-        "24th Street", "10th Avenue"
-    );
-    bus_stop *bs1 = new bus_stop_corner(
-        gps_position(35, 137, 23.456f),
-        gps_position(133, 35, 54.12f),
-        "State street", "Cathedral Vista Lane"
-    );
-    bus_stop *bs2 = new bus_stop_destination(
-        gps_position(35, 136, 15.456f),
-        gps_position(133, 32, 15.300f),
-        "White House"
-    );
-    bus_stop *bs3 = new bus_stop_destination(
-        gps_position(35, 134, 48.789f),
-        gps_position(133, 32, 16.230f),
-        "Lincoln Memorial"
-    );
-
-    // make a  routes
-    bus_route route0;
-    route0.append(bs0);
-    route0.append(bs1);
-    route0.append(bs2);
-
-    // add trips to schedule
-    schedule.append("bob", 6, 24, &route0);
-    schedule.append("bob", 9, 57, &route0);
-    schedule.append("alice", 11, 02, &route0);
-
-    // make aother routes
-    bus_route route1;
-    route1.append(bs3);
-    route1.append(bs2);
-    route1.append(bs1);
-
-    // add trips to schedule
-    schedule.append("ted", 7, 17, &route1);
-    schedule.append("ted", 9, 38, &route1);
-    schedule.append("alice", 11, 47, &route1);
-
-    // display the complete schedule
-    simple_log_archive log(std::cout);
-    log << schedule;
-
-    delete bs0;
-    delete bs1;
-    delete bs2;
-    delete bs3;
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/example/demo_trivial_archive.cpp b/SRC/Boost/libs/serialization/example/demo_trivial_archive.cpp
deleted file mode 100755
index d50fa06..0000000
--- a/SRC/Boost/libs/serialization/example/demo_trivial_archive.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-//
-// demo_trivial_archive.cpp
-//
-// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <cstddef> // std::size_t
-#include <boost/mpl/bool.hpp>
-
-/////////////////////////////////////////////////////////////////////////
-// class trivial_oarchive
-class trivial_oarchive {
-
-public:
-    //////////////////////////////////////////////////////////
-    // public interface used by programs that use the
-    // serialization library
-    typedef boost::mpl::bool_<true> is_saving; 
-    typedef boost::mpl::bool_<false> is_loading;
-    template<class T> void register_type(){}
-    template<class T> trivial_oarchive & operator<<(const T & t){
-        return *this;
-    }
-    template<class T> trivial_oarchive & operator&(const T & t){
-        return *this << t;
-    }
-    void save_binary(void *address, std::size_t count){};
-};
-
-#include "demo_gps.hpp"
-
-int main(int argc, char *argv[])
-{   
-    // make the schedule
-    bus_schedule schedule;
-
-    // fill in the data
-    // make a few stops
-    bus_stop *bs0 = new bus_stop_corner(
-        gps_position(34, 135, 52.560f),
-        gps_position(134, 22, 78.30f),
-        "24th Street", "10th Avenue"
-    );
-    bus_stop *bs1 = new bus_stop_corner(
-        gps_position(35, 137, 23.456f),
-        gps_position(133, 35, 54.12f),
-        "State street", "Cathedral Vista Lane"
-    );
-    bus_stop *bs2 = new bus_stop_destination(
-        gps_position(35, 136, 15.456f),
-        gps_position(133, 32, 15.300f),
-        "White House"
-    );
-    bus_stop *bs3 = new bus_stop_destination(
-        gps_position(35, 134, 48.789f),
-        gps_position(133, 32, 16.230f),
-        "Lincoln Memorial"
-    );
-
-    // make a  routes
-    bus_route route0;
-    route0.append(bs0);
-    route0.append(bs1);
-    route0.append(bs2);
-
-    // add trips to schedule
-    schedule.append("bob", 6, 24, &route0);
-    schedule.append("bob", 9, 57, &route0);
-    schedule.append("alice", 11, 02, &route0);
-
-    // make aother routes
-    bus_route route1;
-    route1.append(bs3);
-    route1.append(bs2);
-    route1.append(bs1);
-
-    // add trips to schedule
-    schedule.append("ted", 7, 17, &route1);
-    schedule.append("ted", 9, 38, &route1);
-    schedule.append("alice", 11, 47, &route1);
-
-    // display the complete schedule
-    trivial_oarchive ta;
-    ta << schedule;
-
-    delete bs0;
-    delete bs1;
-    delete bs2;
-    delete bs3;
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/example/demo_xml.cpp b/SRC/Boost/libs/serialization/example/demo_xml.cpp
deleted file mode 100755
index e3f1018..0000000
--- a/SRC/Boost/libs/serialization/example/demo_xml.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-//
-// demo_xml.cpp
-//
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <iomanip>
-#include <iostream>
-#include <fstream>
-#include <string>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/archive/tmpdir.hpp>
-#include <boost/archive/xml_iarchive.hpp>
-#include <boost/archive/xml_oarchive.hpp>
-
-#include "demo_gps.hpp"
-
-void save_schedule(const bus_schedule &s, const char * filename){
-    // make an archive
-    std::ofstream ofs(filename);
-    assert(ofs.good());
-    boost::archive::xml_oarchive oa(ofs);
-    oa << BOOST_SERIALIZATION_NVP(s);
-}
-
-void
-restore_schedule(bus_schedule &s, const char * filename)
-{
-    // open the archive
-    std::ifstream ifs(filename);
-    assert(ifs.good());
-    boost::archive::xml_iarchive ia(ifs);
-
-    // restore the schedule from the archive
-    ia >> BOOST_SERIALIZATION_NVP(s);
-}
-
-int main(int argc, char *argv[])
-{   
-    // make the schedule
-    bus_schedule original_schedule;
-
-    // fill in the data
-    // make a few stops
-    bus_stop *bs0 = new bus_stop_corner(
-        gps_position(34, 135, 52.560f),
-        gps_position(134, 22, 78.30f),
-        "24th Street", "10th Avenue"
-    );
-    bus_stop *bs1 = new bus_stop_corner(
-        gps_position(35, 137, 23.456f),
-        gps_position(133, 35, 54.12f),
-        "State street", "Cathedral Vista Lane"
-    );
-    bus_stop *bs2 = new bus_stop_destination(
-        gps_position(35, 136, 15.456f),
-        gps_position(133, 32, 15.300f),
-        "White House"
-    );
-    bus_stop *bs3 = new bus_stop_destination(
-        gps_position(35, 134, 48.789f),
-        gps_position(133, 32, 16.230f),
-        "Lincoln Memorial"
-    );
-
-    // make a  routes
-    bus_route route0;
-    route0.append(bs0);
-    route0.append(bs1);
-    route0.append(bs2);
-
-    // add trips to schedule
-    original_schedule.append("bob", 6, 24, &route0);
-    original_schedule.append("bob", 9, 57, &route0);
-    original_schedule.append("alice", 11, 02, &route0);
-
-    // make aother routes
-    bus_route route1;
-    route1.append(bs3);
-    route1.append(bs2);
-    route1.append(bs1);
-
-    // add trips to schedule
-    original_schedule.append("ted", 7, 17, &route1);
-    original_schedule.append("ted", 9, 38, &route1);
-    original_schedule.append("alice", 11, 47, &route1);
-
-    // display the complete schedule
-    std::cout << "original schedule";
-    std::cout << original_schedule;
-    
-    std::string filename(boost::archive::tmpdir());
-    filename += "/demo.xml";
-
-    // save the schedule
-    save_schedule(original_schedule, filename.c_str());
-
-    // ... some time later
-    // make  a new schedule
-    bus_schedule new_schedule;
-
-    restore_schedule(new_schedule, filename.c_str());
-
-    // and display
-    std::cout << "\nrestored schedule";
-    std::cout << new_schedule;
-    // should be the same as the old one. (except for the pointer values)
-
-    std::remove(filename.c_str());
-
-    delete bs0;
-    delete bs1;
-    delete bs2;
-    delete bs3;
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/example/demo_xml.hpp b/SRC/Boost/libs/serialization/example/demo_xml.hpp
deleted file mode 100755
index 9a8cc3f..0000000
--- a/SRC/Boost/libs/serialization/example/demo_xml.hpp
+++ /dev/null
@@ -1,284 +0,0 @@
-#ifndef BOOST_SERIALIZATION_EXAMPLE_DEMO_XML_HPP
-#define BOOST_SERIALIZATION_EXAMPLE_DEMO_XML_HPP
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-//
-// demo_xml.hpp
-//
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-
-#include <string>
-#include <iomanip>
-#include <iostream>
-#include <fstream>
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/utility.hpp>
-#include <boost/serialization/list.hpp>
-#include <boost/serialization/version.hpp>
-
-// This illustration models the bus system of a small city.
-// This includes, multiple bus stops,  bus routes and schedules.
-// There are different kinds of stops.  Bus stops in general will
-// will appear on multiple routes.  A schedule will include
-// muliple trips on the same route.
-
-/////////////////////////////////////////////////////////////
-// gps coordinate
-//
-// llustrates serialization for a simple type
-//
-class gps_position
-{
-    friend class boost::serialization::access;
-    friend std::ostream & operator<<(std::ostream &os, const gps_position &gp);
-
-    int degrees;
-    int minutes;
-    float seconds;
-
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar  & BOOST_SERIALIZATION_NVP(degrees)
-            & BOOST_SERIALIZATION_NVP(minutes)
-            & BOOST_SERIALIZATION_NVP(seconds);
-    }
-
-public:
-    // every serializable class needs a constructor
-    gps_position(){};
-    gps_position(int _d, int _m, float _s) : 
-        degrees(_d), minutes(_m), seconds(_s)
-    {}
-};
-
-std::ostream & operator<<(std::ostream &os, const gps_position &gp)
-{
-    return os << ' ' << gp.degrees << (unsigned char)186 << gp.minutes << '\'' << gp.seconds << '"';
-}
-
-/////////////////////////////////////////////////////////////
-// One bus stop
-//
-// illustrates serialization of serializable members
-//
-
-class bus_stop
-{
-    friend class boost::serialization::access;
-    virtual std::string description() const = 0;
-    gps_position latitude;
-    gps_position longitude;
-
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        ar & BOOST_SERIALIZATION_NVP(latitude);
-        ar & BOOST_SERIALIZATION_NVP(longitude);
-    }
-
-protected:
-    bus_stop(const gps_position & _lat, const gps_position & _long) :
-        latitude(_lat), longitude(_long)
-    {}
-public:
-    bus_stop(){}
-    friend std::ostream & operator<<(std::ostream &os, const bus_stop &gp);
-    virtual ~bus_stop(){}
-};
-
-BOOST_IS_ABSTRACT(bus_stop)
-
-std::ostream & operator<<(std::ostream &os, const bus_stop &bs)
-{
-    return os << bs.latitude << bs.longitude << ' ' << bs.description();
-}
-
-/////////////////////////////////////////////////////////////
-// Several kinds of bus stops
-//
-// illustrates serialization of derived types
-//
-class bus_stop_corner : public bus_stop
-{
-    friend class boost::serialization::access;
-    std::string street1;
-    std::string street2;
-    virtual std::string description() const
-    {
-        return street1 + " and " + street2;
-    }
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        // save/load base class information
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(bus_stop);
-        ar & BOOST_SERIALIZATION_NVP(street1);
-        ar & BOOST_SERIALIZATION_NVP(street2);
-    }
-public:
-    bus_stop_corner(){}
-    bus_stop_corner(const gps_position & _lat, const gps_position & _long,
-        const std::string & _s1, const std::string & _s2
-    ) :
-        bus_stop(_lat, _long), street1(_s1), street2(_s2)
-    {
-    }
-};
-
-class bus_stop_destination : public bus_stop
-{
-    friend class boost::serialization::access;
-    std::string name;
-    virtual std::string description() const
-    {
-        return name;
-    }
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        ar  & BOOST_SERIALIZATION_BASE_OBJECT_NVP(bus_stop)
-            & BOOST_SERIALIZATION_NVP(name);
-    }
-public:
-    bus_stop_destination(){}
-    bus_stop_destination(
-        const gps_position & _lat, const gps_position & _long, const std::string & _name
-    ) :
-        bus_stop(_lat, _long), name(_name)
-    {
-    }
-};
-
-/////////////////////////////////////////////////////////////
-// a bus route is a collection of bus stops
-//
-// illustrates serialization of STL collection templates.
-//
-// illustrates serialzation of polymorphic pointer (bus stop *);
-//
-// illustrates storage and recovery of shared pointers is correct
-// and efficient.  That is objects pointed to by more than one
-// pointer are stored only once.  In such cases only one such
-// object is restored and pointers are restored to point to it
-//
-class bus_route
-{
-    friend class boost::serialization::access;
-    friend std::ostream & operator<<(std::ostream &os, const bus_route &br);
-    typedef bus_stop * bus_stop_pointer;
-    std::list<bus_stop_pointer> stops;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        // in this program, these classes are never serialized directly but rather
-        // through a pointer to the base class bus_stop. So we need a way to be
-        // sure that the archive contains information about these derived classes.
-        //ar.template register_type<bus_stop_corner>();
-        ar.register_type(static_cast<bus_stop_corner *>(NULL));
-        //ar.template register_type<bus_stop_destination>();
-        ar.register_type(static_cast<bus_stop_destination *>(NULL));
-        // serialization of stl collections is already defined
-        // in the header
-        ar & BOOST_SERIALIZATION_NVP(stops);
-    }
-public:
-    bus_route(){}
-    void append(bus_stop *_bs)
-    {
-        stops.insert(stops.end(), _bs);
-    }
-};
-std::ostream & operator<<(std::ostream &os, const bus_route &br)
-{
-    std::list<bus_stop *>::const_iterator it;
-    // note: we're displaying the pointer to permit verification
-    // that duplicated pointers are properly restored.
-    for(it = br.stops.begin(); it != br.stops.end(); it++){
-        os << '\n' << std::hex << "0x" << *it << std::dec << ' ' << **it;
-    }
-    return os;
-}
-
-/////////////////////////////////////////////////////////////
-// a bus schedule is a collection of routes each with a starting time
-//
-// Illustrates serialization of STL objects(pair) in a non-intrusive way.
-// See definition of operator<< <pair<F, S> >(ar, pair)
-// 
-// illustrates nesting of serializable classes
-//
-// illustrates use of version number to automatically grandfather older
-// versions of the same class.
-
-class bus_schedule
-{
-    friend class boost::serialization::access;
-    friend std::ostream & operator<<(std::ostream &os, const bus_schedule &bs);
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int version)
-    {
-        ar & BOOST_SERIALIZATION_NVP(schedule);
-    }
-    // note: this structure was made public. because the friend declarations
-    // didn't seem to work as expected.
-public:
-    struct trip_info
-    {
-        template<class Archive>
-        void serialize(Archive &ar, const unsigned int file_version)
-        {
-            // in versions 2 or later
-            if(file_version >= 2)
-                // read the drivers name
-                ar & BOOST_SERIALIZATION_NVP(driver);
-            // all versions have the follwing info
-            ar  & BOOST_SERIALIZATION_NVP(hour)
-                & BOOST_SERIALIZATION_NVP(minute);
-        }
-
-        // starting time
-        int hour;
-        int minute;
-        // only after system shipped was the driver's name added to the class
-        std::string driver;
-
-        trip_info(){}
-        trip_info(int _h, int _m, const std::string &_d) :
-            hour(_h), minute(_m), driver(_d)
-        {}
-        ~trip_info(){
-        }
-    };
-//  friend std::ostream & operator<<(std::ostream &os, const trip_info &ti);
-private:
-    std::list<std::pair<trip_info, bus_route *> > schedule;
-public:
-    void append(const std::string &_d, int _h, int _m, bus_route *_br)
-    {
-        schedule.insert(schedule.end(), std::make_pair(trip_info(_h, _m, _d), _br));
-    }
-    bus_schedule(){}
-};
-
-BOOST_CLASS_VERSION(bus_schedule::trip_info, 3)
-BOOST_CLASS_VERSION(bus_schedule, 2)
-
-std::ostream & operator<<(std::ostream &os, const bus_schedule::trip_info &ti)
-{
-    return os << '\n' << ti.hour << ':' << ti.minute << ' ' << ti.driver << ' ';
-}
-std::ostream & operator<<(std::ostream &os, const bus_schedule &bs)
-{
-    std::list<std::pair<bus_schedule::trip_info, bus_route *> >::const_iterator it;
-    for(it = bs.schedule.begin(); it != bs.schedule.end(); it++){
-        os << it->first << *(it->second);
-    }
-    return os;
-}
-
-#endif // BOOST_SERIALIZATION_EXAMPLE_DEMO_XML_HPP
diff --git a/SRC/Boost/libs/serialization/example/demo_xml_load.cpp b/SRC/Boost/libs/serialization/example/demo_xml_load.cpp
deleted file mode 100755
index 542a8c9..0000000
--- a/SRC/Boost/libs/serialization/example/demo_xml_load.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-//
-// demo_xml_load.cpp
-//
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <iostream>
-#include <string>
-#include <boost/archive/tmpdir.hpp>
-
-#include <boost/archive/xml_iarchive.hpp>
-
-#include "demo_gps.hpp"
-
-void
-restore_schedule(bus_schedule &s, const char * filename)
-{
-    // open the archive
-    std::ifstream ifs(filename);
-    assert(ifs.good());
-    boost::archive::xml_iarchive ia(ifs);
-
-    // restore the schedule from the archive
-    ia >> BOOST_SERIALIZATION_NVP(s);
-}
-
-int main(int argc, char *argv[])
-{   
-    // make  a new schedule
-    bus_schedule new_schedule;
-
-    std::string filename(boost::archive::tmpdir());
-    filename += "/demo_save.xml";
-
-    restore_schedule(new_schedule, filename.c_str());
-
-    // and display
-    std::cout << "\nrestored schedule";
-    std::cout << new_schedule;
-
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/example/demo_xml_save.cpp b/SRC/Boost/libs/serialization/example/demo_xml_save.cpp
deleted file mode 100755
index 8ad93e1..0000000
--- a/SRC/Boost/libs/serialization/example/demo_xml_save.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-//
-// demo_xml_save.cpp
-//
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <iostream>
-#include <string>
-#include <boost/archive/tmpdir.hpp>
-
-#include <boost/archive/xml_oarchive.hpp>
-
-#include "demo_gps.hpp"
-
-void save_schedule(const bus_schedule &s, const char * filename){
-    // make an archive
-    std::ofstream ofs(filename);
-    assert(ofs.good());
-    boost::archive::xml_oarchive oa(ofs);
-    oa << BOOST_SERIALIZATION_NVP(s);
-}
-
-int main(int argc, char *argv[])
-{   
-    // make the schedule
-    bus_schedule original_schedule;
-
-    // fill in the data
-    // make a few stops
-    bus_stop *bs0 = new bus_stop_corner(
-        gps_position(34, 135, 52.560f),
-        gps_position(134, 22, 78.30f),
-        "24th Street", "10th Avenue"
-    );
-    bus_stop *bs1 = new bus_stop_corner(
-        gps_position(35, 137, 23.456f),
-        gps_position(133, 35, 54.12f),
-        "State street", "Cathedral Vista Lane"
-    );
-    bus_stop *bs2 = new bus_stop_destination(
-        gps_position(35, 136, 15.456f),
-        gps_position(133, 32, 15.300f),
-        "White House"
-    );
-    bus_stop *bs3 = new bus_stop_destination(
-        gps_position(35, 134, 48.789f),
-        gps_position(133, 32, 16.230f),
-        "Lincoln Memorial"
-    );
-
-    // make a  routes
-    bus_route route0;
-    route0.append(bs0);
-    route0.append(bs1);
-    route0.append(bs2);
-
-    // add trips to schedule
-    original_schedule.append("bob", 6, 24, &route0);
-    original_schedule.append("bob", 9, 57, &route0);
-    original_schedule.append("alice", 11, 02, &route0);
-
-    // make aother routes
-    bus_route route1;
-    route1.append(bs3);
-    route1.append(bs2);
-    route1.append(bs1);
-
-    // add trips to schedule
-    original_schedule.append("ted", 7, 17, &route1);
-    original_schedule.append("ted", 9, 38, &route1);
-    original_schedule.append("alice", 11, 47, &route1);
-
-    // display the complete schedule
-    std::cout << "original schedule";
-    std::cout << original_schedule;
-    
-    std::string filename(boost::archive::tmpdir());
-    filename += "/demo_save.xml";
-
-    // save the schedule
-    save_schedule(original_schedule, filename.c_str());
-
-    delete bs0;
-    delete bs1;
-    delete bs2;
-    delete bs3;
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/example/demofile.txt b/SRC/Boost/libs/serialization/example/demofile.txt
deleted file mode 100755
index 60e056c..0000000
--- a/SRC/Boost/libs/serialization/example/demofile.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-22 serialization::archive 3 0 2 0 0 6 0 0 0 0 6 24 4 1 0
-0 0 0 3 5 1 0
-1 0 0 0 0 34 135 52.560001 134 22 78.300003 11 24th Street 11 10th Avenue 5
-2 35 137 23.455999 133 35 54.119999 12 State street 20 Cathedral Vista Lane 6 1 0
-3 35 136 15.456 133 32 15.3 11 White House 9 57 4
-0 11 2 4
-0 7 17 4
-4 3 6
-5 35 134 48.789001 133 32 16.23 16 Lincoln Memorial 6
-3 5
-2 9 38 4
-4 11 47 4
-4
\ No newline at end of file
diff --git a/SRC/Boost/libs/serialization/example/fix_six.cpp b/SRC/Boost/libs/serialization/example/fix_six.cpp
deleted file mode 100755
index 83df5b8..0000000
--- a/SRC/Boost/libs/serialization/example/fix_six.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <fstream>
-#include <ios>
-#include <iostream>
-#include <boost/integer_traits.hpp>
-#include <boost/archive/binary_iarchive.hpp>
-
-void usage(const char * program_name){
-    std::cout << "usage:";
-    std::cout << program_name << " filename" << std::endl;
-}
-
-int main(int argc, char *argv[]){
-    if(argc != 2){
-        std::cout << "invalid number of arguments" << std::endl;
-        usage(argv[0]);
-        return 1;
-    }
-    std::filebuf fb;
-    fb.open(
-        argv[1], 
-        std::ios_base::binary | std::ios_base::in | std::ios_base::out
-    );
-    if(!fb.is_open()){
-        std::cout << argv[1] <<  " failed to open" << std::endl;
-        return 1;
-    }
-    boost::archive::binary_iarchive ia(fb);
-    boost::archive::library_version_type lvt = ia.get_library_version();
-    if(boost::archive::library_version_type(6) != lvt){
-        std::cout << "library version not equal to six" << std::endl;
-        return 1;
-    }
-    lvt = boost::archive::library_version_type(7);
-    fb.pubseekpos(26, std::ios_base::out);
-    fb.sputn(reinterpret_cast<const char *>(& lvt), sizeof(lvt));
-    fb.close();
-}
diff --git a/SRC/Boost/libs/serialization/example/log_archive.cpp b/SRC/Boost/libs/serialization/example/log_archive.cpp
deleted file mode 100755
index f078342..0000000
--- a/SRC/Boost/libs/serialization/example/log_archive.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// log_archive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-//#define BOOST_ARCHIVE_SOURCE
-#include "log_archive.hpp"
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-// explicitly instantiate for this type of xml stream
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_xml_oarchive.ipp>
-#include <boost/archive/impl/xml_oarchive_impl.ipp>
-
-namespace boost {
-namespace archive {
-
-template class detail::archive_serializer_map<log_archive>;
-template class basic_xml_oarchive<log_archive> ;
-template class xml_oarchive_impl<log_archive> ;
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/example/log_archive.hpp b/SRC/Boost/libs/serialization/example/log_archive.hpp
deleted file mode 100755
index 7240f1b..0000000
--- a/SRC/Boost/libs/serialization/example/log_archive.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-#ifndef LOG_ARCHIVE_HPP
-#define LOG_ARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// log_archive.hpp
-
-// (C) Copyright 2010 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/archive/xml_oarchive.hpp>
-
-/////////////////////////////////////////////////////////////////////////
-// log data to an output stream.  This illustrates a simpler implemenation
-// of text output which is useful for getting a formatted display of
-// any serializable class.  Intended to be useful as a debugging aid.
-class log_archive :
-    /* protected ? */ 
-    public boost::archive::xml_oarchive_impl<log_archive>
-{
-    typedef boost::archive::xml_oarchive_impl<log_archive> base;
-    // give serialization implementation access to this clas
-    friend class boost::archive::detail::interface_oarchive<log_archive>;
-    friend class boost::archive::basic_xml_oarchive<log_archive>;
-    friend class boost::archive::save_access;
-
-    /////////////////////////////////////////////////////////////////////
-    // Override functions defined in basic_xml_oarchive
-
-    // Anything not an attribute and not a name-value pair is an
-    // error and should be trapped here.  Note the usage of
-    // function argument matching (BOOST_PFTO) to permit usage
-    // with compilers which fail to properly support 
-    // function template ordering
-    template<class T>
-    void save_override(T & t, BOOST_PFTO int){
-        // make it a name-value pair and pass it on.
-        // this permits this to be used even with data types which
-        // are not wrapped with the name
-        base::save_override(boost::serialization::make_nvp(NULL, t), 0);
-    }
-    template<class T>
-    void save_override(const boost::serialization::nvp< T > & t, int){
-        // this is here to remove the "const" requirement.  Since
-        // this class is to be used only for output, it's not required.
-        base::save_override(t, 0);
-    }
-    // specific overrides for attributes - not name value pairs so we
-    // want to trap them before the above "fall through"
-    // since we don't want to see these in the output - make them no-ops.
-    void save_override(const boost::archive::object_id_type & t, int){}
-    void save_override(const boost::archive::object_reference_type & t, int){}
-    void save_override(const boost::archive::version_type & t, int){}
-    void save_override(const boost::archive::class_id_type & t, int){}
-    void save_override(const boost::archive::class_id_optional_type & t, int){}
-    void save_override(const boost::archive::class_id_reference_type & t, int){}
-    void save_override(const boost::archive::class_name_type & t, int){}
-    void save_override(const boost::archive::tracking_type & t, int){}
-public:
-    log_archive(std::ostream & os, unsigned int flags = 0) :
-        boost::archive::xml_oarchive_impl<log_archive>(
-            os, 
-            flags | boost::archive::no_header
-        )
-    {}
-};
-
-#endif // LOG_ARCHIVE_HPP
diff --git a/SRC/Boost/libs/serialization/example/polymorphic_portable_binary_iarchive.cpp b/SRC/Boost/libs/serialization/example/polymorphic_portable_binary_iarchive.cpp
deleted file mode 100755
index 44840d3..0000000
--- a/SRC/Boost/libs/serialization/example/polymorphic_portable_binary_iarchive.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_portable_binary_iarchive.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <istream>
-
-#define BOOST_ARCHIVE_SOURCE
-#include "polymorphic_portable_binary_iarchive.hpp"
-
-// explicitly instantiate for this type of text stream
-#include <boost/archive/impl/basic_binary_iarchive.ipp>
-#include <boost/archive/impl/archive_pointer_iserializer.ipp>
-#include <boost/archive/impl/basic_binary_iprimitive.ipp>
-
-namespace boost {
-namespace archive {
-
-template class binary_iarchive_impl<
-    polymorphic_portable_binary_iarchive, 
-    std::istream::char_type, 
-    std::istream::traits_type
->;
-template class detail::archive_pointer_iserializer<
-    polymorphic_portable_binary_iarchive
-> ;
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/example/polymorphic_portable_binary_iarchive.hpp b/SRC/Boost/libs/serialization/example/polymorphic_portable_binary_iarchive.hpp
deleted file mode 100755
index 061e1e5..0000000
--- a/SRC/Boost/libs/serialization/example/polymorphic_portable_binary_iarchive.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_PORTABLE_BINARY_IARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_PORTABLE_BINARY_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_portable_binary_iarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/archive/detail/polymorphic_iarchive_dispatch.hpp>
-#include "portable_binary_iarchive.hpp"
-
-typedef boost::archive::detail::polymorphic_iarchive_dispatch<
-    portable_binary_iarchive
-> polymorphic_portable_binary_iarchive;
-
-#include <boost/version.hpp>
-#if BOOST_VERSION > 103401
-    // required by export
-    BOOST_SERIALIZATION_REGISTER_ARCHIVE(
-        polymorphic_portable_binary_iarchive
-    )
-#endif
-
-#endif // BOOST_ARCHIVE_POLYMORPHIC_PORTABLE_BINARY_OARCHIVE_HPP
-
diff --git a/SRC/Boost/libs/serialization/example/polymorphic_portable_binary_oarchive.cpp b/SRC/Boost/libs/serialization/example/polymorphic_portable_binary_oarchive.cpp
deleted file mode 100755
index dc36d63..0000000
--- a/SRC/Boost/libs/serialization/example/polymorphic_portable_binary_oarchive.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_portable_binary_oarchive.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <ostream>
-
-#define BOOST_ARCHIVE_SOURCE
-#include "polymorphic_portable_binary_oarchive.hpp"
-
-// explicitly instantiate for this type of text stream
-#include <boost/archive/impl/basic_binary_oarchive.ipp>
-#include <boost/archive/impl/archive_pointer_oserializer.ipp>
-#include <boost/archive/impl/basic_binary_oprimitive.ipp>
-
-namespace boost {
-namespace archive {
-
-// explicitly instantiate for this type of binary stream
-template class binary_oarchive_impl<
-    polymorphic_portable_binary_oarchive, 
-    std::ostream::char_type, 
-    std::ostream::traits_type
->;
-template class detail::archive_pointer_oserializer<
-    polymorphic_portable_binary_oarchive
-> ;
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/example/polymorphic_portable_binary_oarchive.hpp b/SRC/Boost/libs/serialization/example/polymorphic_portable_binary_oarchive.hpp
deleted file mode 100755
index 3dc66e9..0000000
--- a/SRC/Boost/libs/serialization/example/polymorphic_portable_binary_oarchive.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_PORTABLE_BINARY_OARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_PORTABLE_BINARY_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_portable_binary_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/archive/detail/polymorphic_oarchive_dispatch.hpp>
-#include "portable_binary_oarchive.hpp"
-
-typedef boost::archive::detail::polymorphic_oarchive_dispatch<
-    portable_binary_oarchive
- > polymorphic_portable_binary_oarchive;
-
-#include <boost/version.hpp>
-#if BOOST_VERSION > 103401
-    // required by export
-    BOOST_SERIALIZATION_REGISTER_ARCHIVE(
-        polymorphic_portable_binary_oarchive
-    )
-#endif
-
-#endif // BOOST_ARCHIVE_POLYMORPHIC_PORTABLE_BINARY_OARCHIVE_HPP
diff --git a/SRC/Boost/libs/serialization/example/portable_binary_archive.hpp b/SRC/Boost/libs/serialization/example/portable_binary_archive.hpp
deleted file mode 100755
index 5a5dc58..0000000
--- a/SRC/Boost/libs/serialization/example/portable_binary_archive.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef PORTABLE_BINARY_ARCHIVE_HPP
-#define PORTABLE_BINARY_ARCHIVE_HPP
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/serialization/pfto.hpp>
-#include <boost/static_assert.hpp>
-
-#include <climits>
-#if CHAR_BIT != 8
-#error This code assumes an eight-bit byte.
-#endif
-
-#include <boost/archive/basic_archive.hpp>
-#include <boost/detail/endian.hpp>
-
-enum portable_binary_archive_flags {
-    endian_big        = 0x4000,
-    endian_little     = 0x8000
-};
-
-//#if ( endian_big <= boost::archive::flags_last )
-//#error archive flags conflict
-//#endif
-
-inline void
-reverse_bytes(char size, char *address){
-    char * first = address;
-    char * last = first + size - 1;
-    for(;first < last;++first, --last){
-        char x = *last;
-        *last = *first;
-        *first = x;
-    }
-}
-
-#endif // PORTABLE_BINARY_ARCHIVE_HPP
diff --git a/SRC/Boost/libs/serialization/example/portable_binary_iarchive.cpp b/SRC/Boost/libs/serialization/example/portable_binary_iarchive.cpp
deleted file mode 100755
index 7d62ca6..0000000
--- a/SRC/Boost/libs/serialization/example/portable_binary_iarchive.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// portable_binary_iarchive.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <istream>
-#include <string>
-
-#include <boost/detail/endian.hpp>
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/archive/archive_exception.hpp>
-
-#include "portable_binary_iarchive.hpp"
-
-void 
-portable_binary_iarchive::load_impl(boost::intmax_t & l, char maxsize){
-    char size;
-    l = 0;
-    this->primitive_base_t::load(size);
-
-    if(0 == size){
-        return;
-    }
-
-    bool negative = (size < 0);
-    if(negative)
-        size = -size;
-
-    if(size > maxsize)
-        boost::serialization::throw_exception(
-            portable_binary_iarchive_exception()
-        );
-
-    char * cptr = reinterpret_cast<char *>(& l);
-    #ifdef BOOST_BIG_ENDIAN
-        cptr += (sizeof(boost::intmax_t) - size);
-    #endif
-    this->primitive_base_t::load_binary(cptr, size);
-
-    #ifdef BOOST_BIG_ENDIAN
-        if(m_flags & endian_little)
-    #else
-        if(m_flags & endian_big)
-    #endif
-            reverse_bytes(size, cptr);
-    
-    if(negative)
-        l = -l;
-}
-
-void
-portable_binary_iarchive::load_override(
-    boost::archive::class_name_type & t, int
-){
-    std::string cn;
-    cn.reserve(BOOST_SERIALIZATION_MAX_KEY_SIZE);
-    load_override(cn, 0);
-    if(cn.size() > (BOOST_SERIALIZATION_MAX_KEY_SIZE - 1))
-        boost::serialization::throw_exception(
-            boost::archive::archive_exception(
-                boost::archive::archive_exception::invalid_class_name)
-            );
-    std::memcpy(t, cn.data(), cn.size());
-    // borland tweak
-    t.t[cn.size()] = '\0';
-}
-
-void 
-portable_binary_iarchive::init(unsigned int flags){
-    if(0 == (flags & boost::archive::no_header)){
-        // read signature in an archive version independent manner
-        std::string file_signature;
-        * this >> file_signature;
-        if(file_signature != boost::archive::BOOST_ARCHIVE_SIGNATURE())
-            boost::serialization::throw_exception(
-                boost::archive::archive_exception(
-                    boost::archive::archive_exception::invalid_signature
-                )
-            );
-        // make sure the version of the reading archive library can
-        // support the format of the archive being read
-        boost::archive::library_version_type input_library_version;
-        * this >> input_library_version;
-
-        // extra little .t is to get around borland quirk
-        if(boost::archive::BOOST_ARCHIVE_VERSION() < input_library_version)
-            boost::serialization::throw_exception(
-                boost::archive::archive_exception(
-                    boost::archive::archive_exception::unsupported_version
-                )
-            );
-        
-        #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
-        this->set_library_version(input_library_version);
-        //#else
-        //#if ! BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
-        //detail::
-        //#endif
-        boost::archive::detail::basic_iarchive::set_library_version(
-            input_library_version
-        );
-        #endif
-    }
-    unsigned char x;
-    load(x);
-    m_flags = x << CHAR_BIT;
-}
-
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_binary_iprimitive.ipp>
-
-namespace boost {
-namespace archive {
-
-namespace detail {
-    template class archive_serializer_map<portable_binary_iarchive>;
-}
-
-template class basic_binary_iprimitive<
-    portable_binary_iarchive,
-    std::istream::char_type, 
-    std::istream::traits_type
-> ;
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/example/portable_binary_iarchive.hpp b/SRC/Boost/libs/serialization/example/portable_binary_iarchive.hpp
deleted file mode 100755
index 27c37f6..0000000
--- a/SRC/Boost/libs/serialization/example/portable_binary_iarchive.hpp
+++ /dev/null
@@ -1,212 +0,0 @@
-#ifndef PORTABLE_BINARY_IARCHIVE_HPP
-#define PORTABLE_BINARY_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#if defined(_MSC_VER)
-#pragma warning( push )
-#pragma warning( disable : 4244 )
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// portable_binary_iarchive.hpp
-
-// (C) Copyright 2002-7 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <istream>
-#include <boost/serialization/string.hpp>
-#include <boost/serialization/item_version_type.hpp>
-#include <boost/archive/archive_exception.hpp>
-#include <boost/archive/basic_binary_iprimitive.hpp>
-#include <boost/archive/detail/common_iarchive.hpp>
-#include <boost/archive/shared_ptr_helper.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-
-#include "portable_binary_archive.hpp"
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// exception to be thrown if integer read from archive doesn't fit
-// variable being loaded
-class portable_binary_iarchive_exception : 
-    public virtual boost::archive::archive_exception
-{
-public:
-    typedef enum {
-        incompatible_integer_size 
-    } exception_code;
-    portable_binary_iarchive_exception(exception_code c = incompatible_integer_size ) :
-        boost::archive::archive_exception(boost::archive::archive_exception::other_exception)
-    {}
-    virtual const char *what( ) const throw( )
-    {
-        const char *msg = "programmer error";
-        switch(code){
-        case incompatible_integer_size:
-            msg = "integer cannot be represented";
-            break;
-        default:
-            msg = boost::archive::archive_exception::what();
-            assert(false);
-            break;
-        }
-        return msg;
-    }
-};
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// "Portable" input binary archive.  It addresses integer size and endienness so 
-// that binary archives can be passed across systems. Note:floating point types
-// not addressed here
-class portable_binary_iarchive :
-    public boost::archive::basic_binary_iprimitive<
-        portable_binary_iarchive,
-        std::istream::char_type, 
-        std::istream::traits_type
-    >,
-    public boost::archive::detail::common_iarchive<
-        portable_binary_iarchive
-    >
-    ,
-    public boost::archive::detail::shared_ptr_helper
-    {
-    typedef boost::archive::basic_binary_iprimitive<
-        portable_binary_iarchive,
-        std::istream::char_type, 
-        std::istream::traits_type
-    > primitive_base_t;
-    typedef boost::archive::detail::common_iarchive<
-        portable_binary_iarchive
-    > archive_base_t;
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend archive_base_t;
-    friend primitive_base_t; // since with override load below
-    friend class boost::archive::detail::interface_iarchive<
-        portable_binary_iarchive
-    >;
-    friend class boost::archive::load_access;
-protected:
-#endif
-    unsigned int m_flags;
-    void load_impl(boost::intmax_t & l, char maxsize);
-
-    // default fall through for any types not specified here
-    template<class T>
-    void load(T & t){
-        boost::intmax_t l;
-        load_impl(l, sizeof(T));
-        // use cast to avoid compile time warning
-        //t = static_cast< T >(l);
-        t = T(l);
-    }
-    void load(boost::serialization::item_version_type & t){
-        boost::intmax_t l;
-        load_impl(l, sizeof(boost::serialization::item_version_type));
-        // use cast to avoid compile time warning
-        t = boost::serialization::item_version_type(l);
-    }
-    void load(boost::archive::version_type & t){
-        boost::intmax_t l;
-        load_impl(l, sizeof(boost::archive::version_type));
-        // use cast to avoid compile time warning
-        t = boost::archive::version_type(l);
-    }
-    void load(boost::archive::class_id_type & t){
-        boost::intmax_t l;
-        load_impl(l, sizeof(boost::archive::class_id_type));
-        // use cast to avoid compile time warning
-        t = boost::archive::class_id_type(static_cast<int>(l));
-    }
-    void load(std::string & t){
-        this->primitive_base_t::load(t);
-    }
-    #ifndef BOOST_NO_STD_WSTRING
-    void load(std::wstring & t){
-        this->primitive_base_t::load(t);
-    }
-    #endif
-    void load(float & t){
-        this->primitive_base_t::load(t);
-        // floats not supported
-        //BOOST_STATIC_ASSERT(false);
-    }
-    void load(double & t){
-        this->primitive_base_t::load(t);
-        // doubles not supported
-        //BOOST_STATIC_ASSERT(false);
-    }
-    void load(char & t){
-        this->primitive_base_t::load(t);
-    }
-    void load(unsigned char & t){
-        this->primitive_base_t::load(t);
-    }
-    // intermediate level to support override of operators
-    // fot templates in the absence of partial function 
-    // template ordering
-    typedef boost::archive::detail::common_iarchive<portable_binary_iarchive> 
-        detail_common_iarchive;
-    template<class T>
-    void load_override(T & t, BOOST_PFTO int){
-        this->detail_common_iarchive::load_override(t, 0);
-    }
-    void load_override(boost::archive::class_name_type & t, int);
-    // binary files don't include the optional information 
-    void load_override(
-        boost::archive::class_id_optional_type & /* t */, 
-        int
-    ){}
-
-    void init(unsigned int flags);
-public:
-    portable_binary_iarchive(std::istream & is, unsigned flags = 0) :
-        primitive_base_t(
-            * is.rdbuf(), 
-            0 != (flags & boost::archive::no_codecvt)
-        ),
-        archive_base_t(flags),
-        m_flags(0)
-    {
-        init(flags);
-    }
-
-    portable_binary_iarchive(
-        std::basic_streambuf<
-            std::istream::char_type, 
-            std::istream::traits_type
-        > & bsb, 
-        unsigned int flags
-    ) :
-        primitive_base_t(
-            bsb, 
-            0 != (flags & boost::archive::no_codecvt)
-        ),
-        archive_base_t(flags),
-        m_flags(0)
-    {
-        init(flags);
-    }
-};
-
-// required by export in boost version > 1.34
-#ifdef BOOST_SERIALIZATION_REGISTER_ARCHIVE
-    BOOST_SERIALIZATION_REGISTER_ARCHIVE(portable_binary_iarchive)
-#endif
-
-// required by export in boost <= 1.34
-#define BOOST_ARCHIVE_CUSTOM_IARCHIVE_TYPES portable_binary_iarchive
-
-#if defined(_MSC_VER)
-#pragma warning( pop )
-#endif
-
-#endif // PORTABLE_BINARY_IARCHIVE_HPP
diff --git a/SRC/Boost/libs/serialization/example/portable_binary_oarchive.cpp b/SRC/Boost/libs/serialization/example/portable_binary_oarchive.cpp
deleted file mode 100755
index f1d5c10..0000000
--- a/SRC/Boost/libs/serialization/example/portable_binary_oarchive.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// portable_binary_oarchive.cpp
-
-// (C) Copyright 2002-7 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <ostream>
-#include <boost/detail/endian.hpp>
-#include "portable_binary_oarchive.hpp"
-
-void 
-portable_binary_oarchive::save_impl(
-    const boost::intmax_t l,
-    const char maxsize
-){
-    char size = 0;
-
-    if(l == 0){
-        this->primitive_base_t::save(size);
-        return;
-    }
-
-    boost::intmax_t ll;
-    bool negative = (l < 0);
-    if(negative)
-        ll = -l;
-    else
-        ll = l;
-
-    do{
-        ll >>= CHAR_BIT;
-        ++size;
-    }while(ll != 0);
-
-    this->primitive_base_t::save(
-        static_cast<char>(negative ? -size : size)
-    );
-
-    if(negative)
-        ll = -l;
-    else
-        ll = l;
-    char * cptr = reinterpret_cast<char *>(& ll);
-    #ifdef BOOST_BIG_ENDIAN
-        cptr += (sizeof(boost::intmax_t) - size);
-        if(m_flags & endian_little)
-            reverse_bytes(size, cptr);
-    #else
-        if(m_flags & endian_big)
-            reverse_bytes(size, cptr);
-    #endif
-    this->primitive_base_t::save_binary(cptr, size);
-}
-
-void 
-portable_binary_oarchive::init(unsigned int flags) {
-    if(m_flags == (endian_big | endian_little)){
-        boost::serialization::throw_exception(
-            portable_binary_oarchive_exception()
-        );
-    }
-    if(0 == (flags & boost::archive::no_header)){
-        // write signature in an archive version independent manner
-        const std::string file_signature(
-            boost::archive::BOOST_ARCHIVE_SIGNATURE()
-        );
-        * this << file_signature;
-        // write library version
-        const boost::archive::library_version_type v(
-            boost::archive::BOOST_ARCHIVE_VERSION()
-        );
-        * this << v;
-    }
-    save(static_cast<unsigned char>(m_flags >> CHAR_BIT));
-}
-
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_binary_oprimitive.ipp>
-
-namespace boost {
-namespace archive {
-
-namespace detail {
-    template class archive_serializer_map<portable_binary_oarchive>;
-}
-
-template class basic_binary_oprimitive<
-    portable_binary_oarchive,
-    std::ostream::char_type, 
-    std::ostream::traits_type
-> ;
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/example/portable_binary_oarchive.hpp b/SRC/Boost/libs/serialization/example/portable_binary_oarchive.hpp
deleted file mode 100755
index b3522e2..0000000
--- a/SRC/Boost/libs/serialization/example/portable_binary_oarchive.hpp
+++ /dev/null
@@ -1,192 +0,0 @@
-#ifndef PORTABLE_BINARY_OARCHIVE_HPP
-#define PORTABLE_BINARY_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#if defined(_MSC_VER)
-#pragma warning( push )
-#pragma warning( disable : 4244 )
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// portable_binary_oarchive.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <ostream>
-#include <boost/serialization/string.hpp>
-#include <boost/archive/archive_exception.hpp>
-#include <boost/archive/basic_binary_oprimitive.hpp>
-#include <boost/archive/detail/common_oarchive.hpp>
-#include <boost/archive/detail/register_archive.hpp>
-
-#include "portable_binary_archive.hpp"
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// exception to be thrown if integer read from archive doesn't fit
-// variable being loaded
-class portable_binary_oarchive_exception : 
-    public virtual boost::archive::archive_exception
-{
-public:
-    typedef enum {
-        invalid_flags 
-    } exception_code;
-    portable_binary_oarchive_exception(exception_code c = invalid_flags )
-    {}
-    virtual const char *what( ) const throw( )
-    {
-        const char *msg = "programmer error";
-        switch(code){
-        case invalid_flags:
-            msg = "cannot be both big and little endian";
-        default:
-            boost::archive::archive_exception::what();
-        }
-        return msg;
-    }
-};
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// "Portable" output binary archive.  This is a variation of the native binary 
-// archive. it addresses integer size and endienness so that binary archives can
-// be passed across systems. Note:floating point types not addressed here
-
-class portable_binary_oarchive :
-    public boost::archive::basic_binary_oprimitive<
-        portable_binary_oarchive,
-        std::ostream::char_type, 
-        std::ostream::traits_type
-    >,
-    public boost::archive::detail::common_oarchive<
-        portable_binary_oarchive
-    >
-{
-    typedef boost::archive::basic_binary_oprimitive<
-        portable_binary_oarchive,
-        std::ostream::char_type, 
-        std::ostream::traits_type
-    > primitive_base_t;
-    typedef boost::archive::detail::common_oarchive<
-        portable_binary_oarchive
-    > archive_base_t;
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-    friend archive_base_t;
-    friend primitive_base_t; // since with override save below
-    friend class boost::archive::detail::interface_oarchive<
-        portable_binary_oarchive
-    >;
-    friend class boost::archive::save_access;
-protected:
-#endif
-    unsigned int m_flags;
-    void save_impl(const boost::intmax_t l, const char maxsize);
-    // add base class to the places considered when matching
-    // save function to a specific set of arguments.  Note, this didn't
-    // work on my MSVC 7.0 system so we use the sure-fire method below
-    // using archive_base_t::save;
-
-    // default fall through for any types not specified here
-    template<class T>
-    void save(const T & t){
-        save_impl(t, sizeof(T));
-    }
-    void save(const std::string & t){
-        this->primitive_base_t::save(t);
-    }
-    #ifndef BOOST_NO_STD_WSTRING
-    void save(const std::wstring & t){
-        this->primitive_base_t::save(t);
-    }
-    #endif
-    void save(const float & t){
-        this->primitive_base_t::save(t);
-        // floats not supported
-        //BOOST_STATIC_ASSERT(false);
-    }
-    void save(const double & t){
-        this->primitive_base_t::save(t);
-        // doubles not supported
-        //BOOST_STATIC_ASSERT(false);
-    }
-    void save(const char & t){
-        this->primitive_base_t::save(t);
-    }
-    void save(const unsigned char & t){
-        this->primitive_base_t::save(t);
-    }
-
-    // default processing - kick back to base class.  Note the
-    // extra stuff to get it passed borland compilers
-    typedef boost::archive::detail::common_oarchive<portable_binary_oarchive> 
-        detail_common_oarchive;
-    template<class T>
-    void save_override(T & t, BOOST_PFTO int){
-        this->detail_common_oarchive::save_override(t, 0);
-    }
-    // explicitly convert to char * to avoid compile ambiguities
-    void save_override(const boost::archive::class_name_type & t, int){
-        const std::string s(t);
-        * this << s;
-    }
-    // binary files don't include the optional information 
-    void save_override(
-        const boost::archive::class_id_optional_type & /* t */, 
-        int
-    ){}
-
-    void init(unsigned int flags);
-public:
-    portable_binary_oarchive(std::ostream & os, unsigned flags = 0) :
-        primitive_base_t(
-            * os.rdbuf(),
-            0 != (flags & boost::archive::no_codecvt)
-        ),
-        archive_base_t(flags),
-        m_flags(flags & (endian_big | endian_little))
-    {
-        init(flags);
-    }
-
-    portable_binary_oarchive(
-        std::basic_streambuf<
-            std::ostream::char_type, 
-            std::ostream::traits_type
-        > & bsb, 
-        unsigned int flags
-    ) :
-        primitive_base_t(
-            bsb, 
-            0 != (flags & boost::archive::no_codecvt)
-        ),
-        archive_base_t(flags),
-        m_flags(0)
-    {
-        init(flags);
-    }
-};
-
-
-// required by export in boost version > 1.34
-#ifdef BOOST_SERIALIZATION_REGISTER_ARCHIVE
-    BOOST_SERIALIZATION_REGISTER_ARCHIVE(portable_binary_oarchive)
-#endif
-
-// required by export in boost <= 1.34
-#define BOOST_ARCHIVE_CUSTOM_OARCHIVE_TYPES portable_binary_oarchive
-
-#if defined(_MSC_VER)
-#pragma warning( pop )
-#endif
-
-#endif // PORTABLE_BINARY_OARCHIVE_HPP
diff --git a/SRC/Boost/libs/serialization/example/simple_log_archive.hpp b/SRC/Boost/libs/serialization/example/simple_log_archive.hpp
deleted file mode 100755
index 27949d8..0000000
--- a/SRC/Boost/libs/serialization/example/simple_log_archive.hpp
+++ /dev/null
@@ -1,167 +0,0 @@
-#ifndef BOOST_SIMPLE_LOG_ARCHIVE_HPP
-#define BOOST_SIMPLE_LOG_ARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// simple_log_archive.hpp
-
-// (C) Copyright 2010 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <ostream>
-#include <cstddef> // std::size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/array.hpp>
-#include <boost/serialization/string.hpp>
-#include <boost/serialization/access.hpp>
-
-/////////////////////////////////////////////////////////////////////////
-// log data to an output stream.  This illustrates a simpler implemenation
-// of text output which is useful for getting a formatted display of
-// any serializable class.  Intended to be useful as a debugging aid.
-class simple_log_archive {
-    std::ostream & m_os;
-    unsigned int m_depth;
-
-    template<class Archive>
-    struct save_enum_type {
-        template<class T>
-        static void invoke(Archive &ar, const T &t){
-            ar.m_os << static_cast<int>(t);
-        }
-    };
-    template<class Archive>
-    struct save_primitive {
-        template<class T>
-        static void invoke(Archive & ar, const T & t){
-            ar.m_os << t;
-        }
-    };
-    template<class Archive>
-    struct save_only {
-        template<class T>
-        static void invoke(Archive & ar, const T & t){
-            // make sure call is routed through the highest interface that might
-            // be specialized by the user.
-            boost::serialization::serialize_adl(
-                ar, 
-                const_cast<T &>(t), 
-                ::boost::serialization::version< T >::value
-            );
-        }
-    };
-    template<class T>
-    void save(const T &t){
-        typedef 
-            BOOST_DEDUCED_TYPENAME boost::mpl::eval_if<boost::is_enum< T >,
-                boost::mpl::identity<save_enum_type<simple_log_archive> >,
-            //else
-            BOOST_DEDUCED_TYPENAME boost::mpl::eval_if<
-                // if its primitive
-                    boost::mpl::equal_to<
-                        boost::serialization::implementation_level< T >,
-                        boost::mpl::int_<boost::serialization::primitive_type>
-                    >,
-                    boost::mpl::identity<save_primitive<simple_log_archive> >,
-            // else
-                boost::mpl::identity<save_only<simple_log_archive> >
-            > >::type typex;
-        typex::invoke(*this, t);
-    }    
-    #ifndef BOOST_NO_STD_WSTRING
-    void save(const std::wstring &ws){
-        m_os << "wide string types not suported in log archive";
-    }
-    #endif
-
-public:
-    ///////////////////////////////////////////////////
-    // Implement requirements for archive concept
-
-    typedef boost::mpl::bool_<false> is_loading;
-    typedef boost::mpl::bool_<true> is_saving;
-
-    // this can be a no-op since we ignore pointer polymorphism
-    template<class T>
-    void register_type(const T * = NULL){}
-
-    unsigned int get_library_version(){
-        return 0;
-    }
-
-    void 
-    save_binary(const void *address, std::size_t count){
-        m_os << "save_binary not implemented";
-    }
-
-    // the << operators 
-    template<class T>
-    simple_log_archive & operator<<(T const & t){
-        m_os << ' ';
-        save(t);
-        return * this;
-    }
-    template<class T>
-    simple_log_archive & operator<<(T * const t){
-        m_os << " ->";
-        if(NULL == t)
-            m_os << " null";
-        else
-            *this << * t;
-        return * this;
-    }
-    template<class T, int N>
-    simple_log_archive & operator<<(const T (&t)[N]){
-        return *this << boost::serialization::make_array(
-            static_cast<const T *>(&t[0]),
-            N
-        );
-    }
-    template<class T>
-    simple_log_archive & operator<<(const boost::serialization::nvp< T > & t){
-        m_os << '\n'; // start line with each named object
-        // indent according to object depth
-        for(unsigned int i = 0; i < m_depth; ++i)
-            m_os << ' ';
-        ++m_depth;
-        m_os << t.name(); // output the name of the object
-        * this << t.const_value();
-        --m_depth;
-        return * this;
-    }
-
-    // the & operator 
-    template<class T>
-    simple_log_archive & operator&(const T & t){
-            return * this << t;
-    }
-    ///////////////////////////////////////////////
-
-    simple_log_archive(std::ostream & os) :
-        m_os(os),
-        m_depth(0)
-    {}
-};
-
-#endif // BOOST_SIMPLE_LOG_ARCHIVE_HPP
diff --git a/SRC/Boost/libs/serialization/index.html b/SRC/Boost/libs/serialization/index.html
deleted file mode 100755
index 1ec946d..0000000
--- a/SRC/Boost/libs/serialization/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
-<meta http-equiv="refresh" content="0; URL=doc/index.html">
-</head>
-<body>
-Automatic redirection failed, please go to
-<a href="doc/index.html">doc/index.html</a>.
-</body>
-</html>
\ No newline at end of file
diff --git a/SRC/Boost/libs/serialization/performance/Jamfile.v2 b/SRC/Boost/libs/serialization/performance/Jamfile.v2
deleted file mode 100755
index 179bff8..0000000
--- a/SRC/Boost/libs/serialization/performance/Jamfile.v2
+++ /dev/null
@@ -1,48 +0,0 @@
-# Boost serialization Library performance test Jamfile
-
-#  (C) Copyright Robert Ramey 2002-2004.
-#  Use, modification, and distribution are subject to the 
-#  Boost Software License, Version 1.0. (See accompanying file 
-#  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-
-project libs/serialization/performance
-    : default-build release
-    : id serialization_performance
-    ;
-
-# import rules from the boost serialization test
-# import ../util/test : test-bsl-run-no-lib ;
-import ../util/test :
-    run-template
-    run-invoke
-    run-winvoke
-    test-bsl-run-no-lib
-    test-bsl-run
-    test-bsl-run_archive
-    test-bsl-run_files
-    test-bsl-run_polymorphic_archive
-;
-
-BOOST_ARCHIVE_LIST = [ modules.peek : BOOST_ARCHIVE_LIST ] ;
-
-test-suite "performance" :
-    [ test-bsl-run_files peformance_array : ../test/A ]
-#    [ test-bsl-run_files performance_binary ]
-#    [ test-bsl-run_files performance_polymorphic ]
-#    [ test-bsl-run_files performance_vector ]
-#    [ test-bsl-run_files performance_no_rtti ]
-#    [ test-bsl-run_files performance_simple_class ]
-#    [ test-bsl-run_polymorphic_archive performance_polymorphic : ../test/test_polymorphic_A ]
-    
-    [ test-bsl-run-no-lib performance_iterators ]
-    [ test-bsl-run-no-lib performance_iterators_base64 ]
-#    [ test-bsl-run-no-lib performance_utf8_codecvt 
-#        : ../src/utf8_codecvt_facet
-#        : # <dependency>../../config/test/all//BOOST_NO_STD_WSTREAMBUF
-#    ]
-#    [ test-bsl-run-no-lib performance_codecvt_null 
-#        : ../src/codecvt_null 
-#        : # <dependency>../../config/test/all//BOOST_NO_STD_WSTREAMBUF
-#    ]
-;
diff --git a/SRC/Boost/libs/serialization/performance/binary_archive.hpp b/SRC/Boost/libs/serialization/performance/binary_archive.hpp
deleted file mode 100755
index 503eda0..0000000
--- a/SRC/Boost/libs/serialization/performance/binary_archive.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// binary_archive
-#include <boost/archive/binary_oarchive.hpp>
-typedef boost::archive::binary_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/binary_iarchive.hpp>
-typedef boost::archive::binary_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-#define TEST_STREAM_FLAGS std::ios::binary
-
diff --git a/SRC/Boost/libs/serialization/performance/binary_warchive.hpp b/SRC/Boost/libs/serialization/performance/binary_warchive.hpp
deleted file mode 100755
index 54b589d..0000000
--- a/SRC/Boost/libs/serialization/performance/binary_warchive.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-// binary_warchive
-#include <boost/archive/binary_woarchive.hpp>
-typedef boost::archive::binary_woarchive test_oarchive;
-typedef std::wofstream test_ostream;
-#include <boost/archive/binary_wiarchive.hpp>
-typedef boost::archive::binary_wiarchive test_iarchive;
-typedef std::wifstream test_istream;
-#define TEST_STREAM_FLAGS std::wios::binary
diff --git a/SRC/Boost/libs/serialization/performance/peformance_array.cpp b/SRC/Boost/libs/serialization/performance/peformance_array.cpp
deleted file mode 100755
index fe2e51d..0000000
--- a/SRC/Boost/libs/serialization/performance/peformance_array.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_array.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <fstream>
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "../test/test_tools.hpp"
-
-#include <boost/preprocessor/stringize.hpp>
-//#include <boost/preprocessor/cat.hpp>
-// the following fails with (only!) gcc 3.4 
-// #include BOOST_PP_STRINGIZE(BOOST_PP_CAT(../test/,BOOST_ARCHIVE_TEST))
-// just copy over the files from the test directory
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
-
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/archive/archive_exception.hpp>
-
-#include <boost/serialization/nvp.hpp>
-#include "../test/A.hpp"
-#include "../test/A.ipp"
-
-struct array_equal_to //: public std::binary_function<T, T, bool>
-{
-template<class T, class U>
-    bool operator()(const T & _Left, const U & _Right) const
-    {
-        // consider alignment
-        int count_left = sizeof(_Left) /    (
-            static_cast<const char *>(static_cast<const void *>(&_Left[1])) 
-            - static_cast<const char *>(static_cast<const void *>(&_Left[0]))
-        );
-        int count_right = sizeof(_Right) /  (
-            static_cast<const char *>(static_cast<const void *>(&_Right[1])) 
-            - static_cast<const char *>(static_cast<const void *>(&_Right[0]))
-        );
-        if(count_right != count_left)
-            return false;
-        while(count_left-- > 0){
-            if(_Left[count_left] == _Right[count_left])
-                continue;
-            return false;
-        }
-        return true;
-    }
-};
-
-template <class T>
-int test_array(T)
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    // test array of objects
-    const T a_array[10]={T(),T(),T(),T(),T(),T(),T(),T(),T(),T()};
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("a_array", a_array);
-    }
-    {
-        T a_array1[10];
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("a_array", a_array1);
-
-        array_equal_to/*<A[10]>*/ Compare;
-        BOOST_CHECK(Compare(a_array, a_array1));
-    }
-    {
-        T a_array1[9];
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        BOOST_TRY {
-            test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-            bool exception_invoked = false;
-            BOOST_TRY {
-                ia >> boost::serialization::make_nvp("a_array", a_array1);
-            }
-            BOOST_CATCH (boost::archive::archive_exception ae){
-                BOOST_CHECK(
-                    boost::archive::archive_exception::array_size_too_short
-                    == ae.code
-                );
-                exception_invoked = true;
-            }
-            BOOST_CATCH_END
-            BOOST_CHECK(exception_invoked);
-        }
-        BOOST_CATCH (boost::archive::archive_exception ae){}
-        BOOST_CATCH_END
-    }
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-   int res = test_array(A());
-    // test an int array for which optimized versions should be available
-   if (res == EXIT_SUCCESS)
-     res = test_array(0);  
-   return res;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/performance/performance_binary.cpp b/SRC/Boost/libs/serialization/performance/performance_binary.cpp
deleted file mode 100755
index 71b0c0f..0000000
--- a/SRC/Boost/libs/serialization/performance/performance_binary.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_simple_class.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <fstream>
-
-#include <cstdlib> // for rand()
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::rand; 
-    using ::remove;
-}
-#endif
-
-#include "../test/test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-// #include <boost/preprocessor/cat.hpp>
-// the following fails with (only!) gcc 3.4 
-// #include BOOST_PP_STRINGIZE(BOOST_PP_CAT(../test/,BOOST_ARCHIVE_TEST))
-// just copy over the files from the test directory
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/binary_object.hpp>
-
-class A {
-    friend class boost::serialization::access;
-    char data[150];
-    // note: from an aesthetic perspective, I would much prefer to have this
-    // defined out of line.  Unfortunately, this trips a bug in the VC 6.0
-    // compiler. So hold our nose and put it her to permit running of tests.
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & boost::serialization::make_nvp(
-            "data",
-            boost::serialization::make_binary_object(data, sizeof(data))
-        );
-    }
-
-public:
-    A();
-    bool operator==(const A & rhs) const;
-};
-
-A::A(){
-    int i = sizeof(data);
-    while(i-- > 0)
-        data[i] = 0xff & std::rand();
-}
-
-bool A::operator==(const A & rhs) const {
-    int i = sizeof(data);
-    while(i-- > 0)
-        if(data[i] != rhs.data[i])
-            return false;
-    return true;
-}
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const A a;
-    A a1;
-    const int i = 12345;
-    int i1 = 34790;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << BOOST_SERIALIZATION_NVP(a);
-        // note: add a little bit on the end of the archive to detect
-        // failure of text mode binary.
-        oa << BOOST_SERIALIZATION_NVP(i);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> BOOST_SERIALIZATION_NVP(a1);
-        ia >> BOOST_SERIALIZATION_NVP(i1);
-    }
-    BOOST_CHECK(i == i1);
-    BOOST_CHECK(a == a1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/performance/performance_codecvt_null.cpp b/SRC/Boost/libs/serialization/performance/performance_codecvt_null.cpp
deleted file mode 100755
index 0a82c75..0000000
--- a/SRC/Boost/libs/serialization/performance/performance_codecvt_null.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_codecvt_null.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution.  Note: compilation with compilers
-// which use wchar_t as 2 byte objects will emit warnings.  These should be
-// ignored.
-
-#include <algorithm>
-#include <fstream>
-#include <iostream>
-#include <iterator>
-#include <locale>
-#include <vector>
-#include <cstddef>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/archive/add_facet.hpp>
-#include <boost/archive/codecvt_null.hpp>
-#include <boost/archive/iterators/ostream_iterator.hpp>
-#include <boost/archive/iterators/istream_iterator.hpp>
-
-template<std::size_t S>
-struct test_data
-{
-    static wchar_t wchar_encoding[];
-};
-
-template<>
-wchar_t test_data<2>::wchar_encoding[] = {
-    0x0001,
-    0x007f,
-    0x0080,
-    0x07ff,
-    0x0800,
-    0x7fff
-};
-
-template<>
-wchar_t test_data<4>::wchar_encoding[] = {
-    0x00000001,
-    0x0000007f,
-    0x00000080,
-    0x000007ff,
-    0x00000800,
-    0x0000ffff,
-    0x00010000,
-    0x0010ffff,
-    0x001fffff,
-    0x00200000,
-    0x03ffffff,
-    0x04000000,
-    0x7fffffff
-};
-
-#include <iostream>
-
-int test_main( int /* argc */, char* /* argv */[] ) {
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    std::locale old_loc;
-    std::locale * null_locale = 
-        boost::archive::add_facet(old_loc, new boost::archive::codecvt_null<wchar_t>);
-
-    typedef test_data<sizeof(wchar_t)> td;
-    {
-        std::wofstream ofs;
-        ofs.imbue(*null_locale);
-        ofs.open(testfile, std::ios::binary);
-        std::copy(
-            td::wchar_encoding,
-            #if ! defined(__BORLANDC__)
-                // borland 5.60 complains about this
-                td::wchar_encoding + sizeof(td::wchar_encoding)/sizeof(wchar_t),
-            #else
-                // so use this instead
-                td::wchar_encoding + 6,
-            #endif
-            boost::archive::iterators::ostream_iterator<wchar_t>(ofs)
-        );
-    }
-    bool ok = false;
-    {
-        std::wifstream ifs;
-        ifs.imbue(*null_locale);
-        ifs.open(testfile, std::ios::binary);
-        ok = std::equal(
-            td::wchar_encoding,
-            #if ! defined(__BORLANDC__)
-                // borland 5.60 complains about this
-                td::wchar_encoding + sizeof(td::wchar_encoding)/sizeof(wchar_t),
-            #else
-                // so use this instead
-                td::wchar_encoding + 6,
-            #endif
-            boost::archive::iterators::istream_iterator<wchar_t>(ifs)
-        );
-    }
-
-    BOOST_CHECK(ok);
-    {
-        std::wofstream ofs("testfile2");
-        ofs.imbue(*null_locale);
-        int i = 10;
-        ofs << i;
-        ofs.close();
-        
-        std::wifstream ifs("testfile2");
-        ifs.imbue(*null_locale);
-        int i2;
-        ifs >> i2;
-        std::cout << "i=" << i << std::endl;
-        std::cout << "i2=" << i2 << std::endl;
-        BOOST_CHECK(i == i2);
-        ifs.close();
-    }
- 
-    delete null_locale;
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
diff --git a/SRC/Boost/libs/serialization/performance/performance_iterators.cpp b/SRC/Boost/libs/serialization/performance/performance_iterators.cpp
deleted file mode 100755
index fe0f920..0000000
--- a/SRC/Boost/libs/serialization/performance/performance_iterators.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_iterators.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <algorithm>
-#include <vector>
-#include <cstdlib> // for rand
-#include <functional>
-#include <sstream> // used to test stream iterators
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{
-    using ::rand; 
-}
-#endif
-
-#include <boost/detail/workaround.hpp>
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-#include <boost/archive/dinkumware.hpp>
-#endif
-
-#ifndef BOOST_NO_CWCHAR
-#include <boost/archive/iterators/mb_from_wchar.hpp>
-#include <boost/archive/iterators/wchar_from_mb.hpp>
-#endif
-#include <boost/archive/iterators/xml_escape.hpp>
-#include <boost/archive/iterators/xml_unescape.hpp>
-#include <boost/archive/iterators/transform_width.hpp>
-#include <boost/archive/iterators/istream_iterator.hpp>
-#include <boost/archive/iterators/ostream_iterator.hpp>
-
-#include "../test/test_tools.hpp"
-
-#ifndef BOOST_NO_CWCHAR
-
-void test_wchar_from_mb(const wchar_t *la, const char * a, const unsigned int size){
-    typedef boost::archive::iterators::wchar_from_mb<const char *> translator;
-    BOOST_CHECK((
-        std::equal(
-            translator(BOOST_MAKE_PFTO_WRAPPER(a)),
-            translator(BOOST_MAKE_PFTO_WRAPPER(a + size)),
-            la
-        )
-    ));
-}
-
-void test_mb_from_wchar(const char * a, const wchar_t *la, const unsigned int size){
-    typedef boost::archive::iterators::mb_from_wchar<const wchar_t *> translator;
-    BOOST_CHECK(
-        std::equal(
-            translator(BOOST_MAKE_PFTO_WRAPPER(la)), 
-            translator(BOOST_MAKE_PFTO_WRAPPER(la + size)), 
-            a
-        )
-    );
-}
-
-#endif
-
-template<class CharType>
-void test_xml_escape(
-    const CharType * xml_escaped, 
-    const CharType * xml, 
-    unsigned int size
-){
-    typedef boost::archive::iterators::xml_escape<const CharType *> translator;
-
-    BOOST_CHECK(
-        std::equal(
-            translator(BOOST_MAKE_PFTO_WRAPPER(xml)),
-            translator(BOOST_MAKE_PFTO_WRAPPER(xml + size)),
-            xml_escaped
-        )
-    );
-}
-
-template<class CharType>
-void test_xml_unescape(
-    const CharType * xml, 
-    const CharType * xml_escaped, 
-    unsigned int size
-){
-
-    // test xml_unescape
-    typedef boost::archive::iterators::xml_unescape<const CharType *> translator;
-
-    BOOST_CHECK(
-        std::equal(
-            translator(BOOST_MAKE_PFTO_WRAPPER(xml_escaped)),
-            translator(BOOST_MAKE_PFTO_WRAPPER(xml_escaped + size)),
-            xml
-        )
-    );
-}
-
-template<int BitsOut, int BitsIn>
-void test_transform_width(unsigned int size){
-    // test transform_width
-    char rawdata[8];
-    
-    char * rptr;
-    for(rptr = rawdata + 6; rptr-- > rawdata;)
-        *rptr = std::rand();
-
-    // convert 8 to 6 bit characters
-    typedef boost::archive::iterators::transform_width<
-        char *, BitsOut, BitsIn 
-    > translator1;
-
-    std::vector<char> v6;
-
-    std::copy(
-        translator1(BOOST_MAKE_PFTO_WRAPPER(static_cast<char *>(rawdata))),
-        translator1(BOOST_MAKE_PFTO_WRAPPER(rawdata + size)),
-        std::back_inserter(v6)
-    );
-
-    // check to see we got the expected # of characters out
-    if(0 ==  size)
-        BOOST_CHECK(v6.size() == 0);
-    else
-        BOOST_CHECK(v6.size() == (size * BitsIn - 1 ) / BitsOut + 1);
-
-    typedef boost::archive::iterators::transform_width<
-        std::vector<char>::iterator, BitsIn, BitsOut
-    > translator2;
-
-    BOOST_CHECK(
-        std::equal(
-            rawdata,
-            rawdata + size,
-            translator2(BOOST_MAKE_PFTO_WRAPPER(v6.begin()))
-        )
-    );
-
-}
-
-template<class CharType>
-void test_stream_iterators(
-    const CharType * test_data, 
-    unsigned int size
-){
-    std::basic_stringstream<CharType> ss;
-    boost::archive::iterators::ostream_iterator<CharType> osi =
-        boost::archive::iterators::ostream_iterator<CharType>(ss);
-    std::copy(test_data, test_data + size, osi);
-
-    BOOST_CHECK(size == ss.str().size());
-
-    boost::archive::iterators::istream_iterator<CharType> isi =
-        boost::archive::iterators::istream_iterator<CharType>(ss);
-    BOOST_CHECK(std::equal(test_data, test_data + size,isi));
-}
-
-int
-test_main(int /* argc */, char* /* argv */ [] )
-{
-    const char xml[] = "<+>+&+\"+'";
-    const char xml_escaped[] = "<+>+&+"+'";
-    test_xml_escape<const char>(
-        xml_escaped, 
-        xml, 
-        sizeof(xml) / sizeof(char) - 1
-    );
-    test_xml_unescape<const char>(
-        xml, 
-        xml_escaped, 
-        sizeof(xml_escaped) / sizeof(char) - 1
-    );
-
-    const char a[] = "abcdefghijklmnopqrstuvwxyz";
-
-    #ifndef BOOST_NO_CWCHAR
-    const wchar_t wxml[] = L"<+>+&+\"+'";
-    const wchar_t wxml_escaped[] = L"<+>+&+"+'";
-    test_xml_escape<const wchar_t>(
-        wxml_escaped, 
-        wxml, 
-        sizeof(wxml) / sizeof(wchar_t) - 1
-    );
-    test_xml_unescape<const wchar_t>(
-        wxml, 
-        wxml_escaped, 
-        sizeof(wxml_escaped) / sizeof(wchar_t) - 1
-    );
-
-    const wchar_t la[] = L"abcdefghijklmnopqrstuvwxyz";
-
-    test_wchar_from_mb(la, a, sizeof(a) / sizeof(char) - 1);
-    test_mb_from_wchar(a, la, sizeof(la) / sizeof(wchar_t) - 1);
-
-    test_stream_iterators<wchar_t>(la, sizeof(la)/sizeof(wchar_t) - 1);
-    #endif
-
-    test_stream_iterators<char>(a, sizeof(a) - 1);
-
-    test_transform_width<6, 8>(0);
-    test_transform_width<6, 8>(1);
-    test_transform_width<6, 8>(2);
-    test_transform_width<6, 8>(3);
-    test_transform_width<6, 8>(4);
-    test_transform_width<6, 8>(5);
-    test_transform_width<6, 8>(6);
-    test_transform_width<6, 8>(7);
-    test_transform_width<6, 8>(8);
-
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/performance/performance_iterators_base64.cpp b/SRC/Boost/libs/serialization/performance/performance_iterators_base64.cpp
deleted file mode 100755
index f3e6172..0000000
--- a/SRC/Boost/libs/serialization/performance/performance_iterators_base64.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_iterators.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <algorithm>
-#include <list>
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <cstdlib>
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{ 
-    using ::rand; 
-    using ::size_t;
-}
-#endif
-
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/archive/iterators/binary_from_base64.hpp>
-#include <boost/archive/iterators/base64_from_binary.hpp>
-#include <boost/archive/iterators/insert_linebreaks.hpp>
-#include <boost/archive/iterators/remove_whitespace.hpp>
-#include <boost/archive/iterators/transform_width.hpp>
-
-#include "../test/test_tools.hpp"
-
-#include <iostream>
-
-template<typename CharType>
-void test_base64(){
-    CharType rawdata[150];
-    std::size_t size = sizeof(rawdata) / sizeof(CharType);
-    CharType * rptr;
-    for(rptr = rawdata + size; rptr-- > rawdata;)
-        *rptr = std::rand();
-
-    // convert to base64
-    typedef std::list<CharType> text_base64_type;
-    text_base64_type text_base64;
-
-    typedef 
-        boost::archive::iterators::insert_linebreaks<
-            boost::archive::iterators::base64_from_binary<
-                boost::archive::iterators::transform_width<
-                    CharType *
-                    ,6
-                    ,sizeof(CharType) * 8
-                >
-            > 
-            ,72
-        > 
-        translate_out;
-
-    std::copy(
-        translate_out(BOOST_MAKE_PFTO_WRAPPER(static_cast<CharType *>(rawdata))),
-        translate_out(BOOST_MAKE_PFTO_WRAPPER(rawdata + size)),
-        std::back_inserter(text_base64)
-    );
-
-    // convert from base64 to binary and compare with the original 
-    typedef 
-        boost::archive::iterators::transform_width<
-            boost::archive::iterators::binary_from_base64<
-                boost::archive::iterators::remove_whitespace<
-                    BOOST_DEDUCED_TYPENAME text_base64_type::iterator
-                >
-            >,
-            sizeof(CharType) * 8,
-            6
-        > translate_in;
-    
-    BOOST_CHECK(
-        std::equal(
-            rawdata,
-            rawdata + size,
-            translate_in(BOOST_MAKE_PFTO_WRAPPER(text_base64.begin()))
-        )
-    );
-
-}
-
-int
-test_main( int argc, char* argv[] )
-{
-    test_base64<char>();
-    #ifndef BOOST_NO_CWCHAR
-    test_base64<wchar_t>();
-    #endif
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/performance/performance_no_rtti.cpp b/SRC/Boost/libs/serialization/performance/performance_no_rtti.cpp
deleted file mode 100755
index 09942ea..0000000
--- a/SRC/Boost/libs/serialization/performance/performance_no_rtti.cpp
+++ /dev/null
@@ -1,222 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_no_rtti.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// note: this program tests the inter-operability of different
-// extended typeinfo systems.  In this example, one class is
-// identified using the default RTTI while the other uses a custom
-// system based on the export key.
-// 
-// As this program uses RTTI for one of the types, the test will fail
-// on a system for which RTTI is not enabled or not existent.
-
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/archive/archive_exception.hpp>
-#include "../test/test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-// #include <boost/preprocessor/cat.hpp>
-// the following fails with (only!) gcc 3.4 
-// #include BOOST_PP_STRINGIZE(BOOST_PP_CAT(../test/,BOOST_ARCHIVE_TEST))
-// just copy over the files from the test directory
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/extended_type_info_no_rtti.hpp>
-
-class polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & /* ar */, const unsigned int /* file_version */){
-    }
-public:
-    virtual const char * get_key() const = 0;
-    virtual ~polymorphic_base(){};
-};
-
-BOOST_IS_ABSTRACT(polymorphic_base)
-BOOST_CLASS_TYPE_INFO(
-    polymorphic_base,
-    extended_type_info_no_rtti<polymorphic_base>
-)
-// note: types which use ...no_rtti MUST be exported
-BOOST_CLASS_EXPORT(polymorphic_base)
-
-class polymorphic_derived1 : public polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int  /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-    }
-public:
-    virtual const char * get_key() const ;
-};
-
-BOOST_CLASS_TYPE_INFO(
-    polymorphic_derived1,
-    extended_type_info_no_rtti<polymorphic_derived1>
-)
-BOOST_CLASS_EXPORT(polymorphic_derived1)
-
-const char * polymorphic_derived1::get_key() const {
-    const boost::serialization::extended_type_info *eti
-        = boost::serialization::type_info_implementation<polymorphic_derived1>
-            ::type::get_instance();
-    return eti->get_key();
-}
-
-class polymorphic_derived2 : public polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-    }
-public:
-    virtual const char * get_key() const ;
-};
-
-// note the mixing of type_info systems is supported.
-BOOST_CLASS_TYPE_INFO(
-    polymorphic_derived2,
-    boost::serialization::extended_type_info_typeid<polymorphic_derived2>
-)
-
-BOOST_CLASS_EXPORT(polymorphic_derived2)
-
-const char * polymorphic_derived2::get_key() const {
-    // use the exported key as the identifier
-    const boost::serialization::extended_type_info *eti
-        = boost::serialization::type_info_implementation<polymorphic_derived2>
-        ::type::get_instance();
-    return eti->get_key();
-}
-
-// save derived polymorphic class
-void save_derived(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_derived1 *rd1 = new polymorphic_derived1;
-    polymorphic_derived2 *rd2 = new polymorphic_derived2;
-
-    oa << BOOST_SERIALIZATION_NVP(rd1);
-    oa << BOOST_SERIALIZATION_NVP(rd2);
-
-    // the above opereration registers the derived classes as a side
-    // effect.  Hence, instances can now be correctly serialized through
-    // a base class pointer.
-    polymorphic_base *rb1 =  rd1;
-    polymorphic_base *rb2 =  rd2;
-    oa << BOOST_SERIALIZATION_NVP(rb1);
-    oa << BOOST_SERIALIZATION_NVP(rb2);
-
-    delete rd1;
-    delete rd2;
-}
-
-// save derived polymorphic class
-void load_derived(const char *testfile)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_derived1 *rd1 = NULL;
-    polymorphic_derived2 *rd2 = NULL;
-
-    ia >> BOOST_SERIALIZATION_NVP(rd1);
-
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<polymorphic_derived1>
-            ::type::get_instance()
-        == boost::serialization::type_info_implementation<polymorphic_derived1>
-            ::type::get_derived_extended_type_info(*rd1),
-        "restored pointer d1 not of correct type"
-    );
-
-    ia >> BOOST_SERIALIZATION_NVP(rd2);
-
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<polymorphic_derived2>
-            ::type::get_instance()
-        == boost::serialization::type_info_implementation<polymorphic_derived2>
-            ::type::get_derived_extended_type_info(*rd2),
-        "restored pointer d2 not of correct type"
-    );
-
-    polymorphic_base *rb1 = NULL;
-    polymorphic_base *rb2 = NULL;
-
-    // the above opereration registers the derived classes as a side
-    // effect.  Hence, instances can now be correctly serialized through
-    // a base class pointer.
-    ia >> BOOST_SERIALIZATION_NVP(rb1);
-
-    BOOST_CHECK_MESSAGE(
-        rb1 == dynamic_cast<polymorphic_base *>(rd1),
-        "serialized pointers not correctly restored"
-    );
-
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<polymorphic_derived1>
-            ::type::get_instance()
-        == boost::serialization::type_info_implementation<polymorphic_base>
-            ::type::get_derived_extended_type_info(*rb1),
-        "restored pointer b1 not of correct type"
-    );
-
-    ia >> BOOST_SERIALIZATION_NVP(rb2);
-
-    BOOST_CHECK_MESSAGE(
-        rb2 ==  dynamic_cast<polymorphic_base *>(rd2),
-        "serialized pointers not correctly restored"
-    );
-
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<polymorphic_derived2>
-            ::type::get_instance()
-        == boost::serialization::type_info_implementation<polymorphic_base>
-            ::type::get_derived_extended_type_info(*rb2),
-        "restored pointer b2 not of correct type"
-    );
-
-    delete rb1;
-    delete rb2;
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    
-    BOOST_REQUIRE(NULL != testfile);
-
-    save_derived(testfile);
-    load_derived(testfile);
-
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/performance/performance_polymorphic.cpp b/SRC/Boost/libs/serialization/performance/performance_polymorphic.cpp
deleted file mode 100755
index eabf2f7..0000000
--- a/SRC/Boost/libs/serialization/performance/performance_polymorphic.cpp
+++ /dev/null
@@ -1,104 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_polymorphic.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "../test/test_tools.hpp"
-
-#if !defined(BOOST_ARCHIVE_TEST)
-#define BOOST_ARCHIVE_TEST polymorphic_text_archive.hpp
-#endif
-
-// the following is to ensure that when one of the libraries changes
-// BJAM rebuilds and relinks the test.
-/*
-#include "polymorphic_text_archive.hpp"
-#include "polymorphic_text_warchive.hpp"
-#include "polymorphic_binary_archive.hpp"
-#include "polymorphic_xml_archive.hpp"
-#include "polymorphic_xml_warchive.hpp"
-*/
-
-#include <boost/preprocessor/stringize.hpp>
-// #include <boost/preprocessor/cat.hpp>
-// the following fails with (only!) gcc 3.4 
-// #include BOOST_PP_STRINGIZE(BOOST_PP_CAT(../test/,BOOST_ARCHIVE_TEST))
-// just copy over the files from the test directory
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
-
-#include <boost/archive/polymorphic_oarchive.hpp>
-#include <boost/archive/polymorphic_iarchive.hpp>
-
-#include <boost/serialization/nvp.hpp>
-#include "../test/test_polymorphic_A.hpp"
-
-int test_main(int /* argc */, char * /* argv */ [])
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    const data d;
-    data d1;
-    // test using using polymorphic interface
-    {
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa_implementation(os);
-        boost::archive::polymorphic_oarchive & oa_interface = oa_implementation;
-        oa_interface << BOOST_SERIALIZATION_NVP(d);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive  ia_implementation(is);
-        boost::archive::polymorphic_iarchive & ia_interface = ia_implementation;
-        ia_interface >> BOOST_SERIALIZATION_NVP(d1);
-    }
-    BOOST_CHECK(d == d1);
-    std::remove(testfile);
-
-    // test using using polymorphic implementation.
-    {
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa_implementation(os);
-        oa_implementation << BOOST_SERIALIZATION_NVP(d);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive  ia_implementation(is);
-        ia_implementation >> BOOST_SERIALIZATION_NVP(d1);
-    }
-    BOOST_CHECK(d == d1);
-    std::remove(testfile);
-
-    // test using using polymorphic implementation.
-    {
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        boost::archive::polymorphic_oarchive * oa_implementation 
-            = new test_oarchive(os);
-        *oa_implementation << BOOST_SERIALIZATION_NVP(d);
-        delete oa_implementation;
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        boost::archive::polymorphic_iarchive * ia_implementation
-            = new test_iarchive(is);
-        *ia_implementation >> BOOST_SERIALIZATION_NVP(d1);
-        delete ia_implementation;
-    }
-    BOOST_CHECK(d == d1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/performance/performance_simple_class.cpp b/SRC/Boost/libs/serialization/performance/performance_simple_class.cpp
deleted file mode 100755
index 0f016d4..0000000
--- a/SRC/Boost/libs/serialization/performance/performance_simple_class.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_simple_class.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-// invoke header for a custom archive test.
-
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "../test/test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-// #include <boost/preprocessor/cat.hpp>
-// the following fails with (only!) gcc 3.4 
-// #include BOOST_PP_STRINGIZE(BOOST_PP_CAT(../test/,BOOST_ARCHIVE_TEST))
-// just copy over the files from the test directory
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
-
-#include <boost/serialization/nvp.hpp>
-#include "../test/A.hpp"
-
-int 
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    A a, a1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("a", a);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("a", a1);
-    }
-    BOOST_CHECK_EQUAL(a, a1);
-    std::remove(testfile);
-    return (a == a1) ? EXIT_SUCCESS : EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/performance/performance_utf8_codecvt.cpp b/SRC/Boost/libs/serialization/performance/performance_utf8_codecvt.cpp
deleted file mode 100755
index 185160c..0000000
--- a/SRC/Boost/libs/serialization/performance/performance_utf8_codecvt.cpp
+++ /dev/null
@@ -1,248 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_utf8_codecvt.cpp
-
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <algorithm>
-#include <fstream>
-#include <iostream>
-#include <iterator>
-#include <locale>
-#include <vector>
-#include <string>
-
-#include <cstddef> // size_t
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <cwchar>
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{ using ::wcslen; }
-#endif
-
-#include "../test/test_tools.hpp"
-#include <boost/archive/iterators/istream_iterator.hpp>
-#include <boost/archive/iterators/ostream_iterator.hpp>
-
-#include <boost/archive/add_facet.hpp>
-#include <boost/archive/detail/utf8_codecvt_facet.hpp>
-
-template<std::size_t s>
-struct test_data
-{
-    static unsigned char utf8_encoding[];
-    static wchar_t wchar_encoding[];
-};
-
-template<>
-unsigned char test_data<2>::utf8_encoding[] = {
-    0x01,
-    0x7f,
-    0xc2, 0x80,
-    0xdf, 0xbf,
-    0xe0, 0xa0, 0x80,
-    0xe7, 0xbf, 0xbf
-};
-
-template<>
-wchar_t test_data<2>::wchar_encoding[] = {
-    0x0001,
-    0x007f,
-    0x0080,
-    0x07ff,
-    0x0800,
-    0x7fff
-};
-
-template<>
-unsigned char test_data<4>::utf8_encoding[] = {
-    0x01,
-    0x7f,
-    0xc2, 0x80,
-    0xdf, 0xbf,
-    0xe0, 0xa0, 0x80,
-    0xef, 0xbf, 0xbf,
-    0xf0, 0x90, 0x80, 0x80,
-    0xf4, 0x8f, 0xbf, 0xbf,
-    0xf7, 0xbf, 0xbf, 0xbf,
-    0xf8, 0x88, 0x80, 0x80, 0x80,
-    0xfb, 0xbf, 0xbf, 0xbf, 0xbf,
-    0xfc, 0x84, 0x80, 0x80, 0x80, 0x80,
-    0xfd, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf
-};
-
-template<>
-wchar_t test_data<4>::wchar_encoding[] = {
-    0x00000001,
-    0x0000007f,
-    0x00000080,
-    0x000007ff,
-    0x00000800,
-    0x0000ffff,
-    0x00010000,
-    0x0010ffff,
-    0x001fffff,
-    0x00200000,
-    0x03ffffff,
-    0x04000000,
-    0x7fffffff
-};
-
-int
-test_main(int /* argc */, char * /* argv */[]) {
-    std::locale old_loc;
-    std::locale * utf8_locale
-        = boost::archive::add_facet(
-            old_loc, 
-            new boost::archive::detail::utf8_codecvt_facet
-        );
-
-    typedef char utf8_t;
-    typedef test_data<sizeof(wchar_t)> td;
-
-    // Send our test UTF-8 data to file
-    {
-        std::ofstream ofs;
-        ofs.open("test.dat", std::ios::binary);
-        std::copy(
-            td::utf8_encoding,
-            #if ! defined(__BORLANDC__)
-                // borland 5.60 complains about this
-                td::utf8_encoding + sizeof(td::utf8_encoding) / sizeof(unsigned char),
-            #else
-                // so use this instead
-                td::utf8_encoding + 12,
-            #endif
-            boost::archive::iterators::ostream_iterator<utf8_t>(ofs)
-        );
-    }
-
-    // Read the test data back in, converting to UCS-4 on the way in
-    std::vector<wchar_t> from_file;
-    {
-        std::wifstream ifs;
-        ifs.imbue(*utf8_locale);
-        ifs.open("test.dat");
-
-        wchar_t item = 0;
-        // note can't use normal vector from iterator constructor because
-        // dinkumware doesn't have it.
-        for(;;){
-            item = ifs.get();
-            if(item == WEOF)
-                break;
-            //ifs >> item;
-            //if(ifs.eof())
-            //    break;
-            from_file.push_back(item);
-        }
-    }
-
-    // compare the data read back in with the orginal
-    #if ! defined(__BORLANDC__)
-        // borland 5.60 complains about this
-        BOOST_CHECK(from_file.size() == sizeof(td::wchar_encoding)/sizeof(wchar_t));
-    #else
-        // so use this instead
-        BOOST_CHECK(from_file.size() == 6);
-    #endif
-
-    BOOST_CHECK(std::equal(from_file.begin(), from_file.end(), td::wchar_encoding));
-  
-    // Send the UCS4_data back out, converting to UTF-8
-    {
-        std::wofstream ofs;
-        ofs.imbue(*utf8_locale);
-        ofs.open("test2.dat");
-        std::copy(
-            from_file.begin(),
-            from_file.end(),
-            boost::archive::iterators::ostream_iterator<wchar_t>(ofs)
-        );
-    }
-
-    // Make sure that both files are the same
-    {
-        typedef boost::archive::iterators::istream_iterator<utf8_t> is_iter;
-        is_iter end_iter;
-
-        std::ifstream ifs1("test.dat");
-        is_iter it1(ifs1);
-        std::vector<utf8_t> data1;
-        std::copy(it1, end_iter, std::back_inserter(data1));
-
-        std::ifstream ifs2("test2.dat");
-        is_iter it2(ifs2);
-        std::vector<utf8_t> data2;
-        std::copy(it2, end_iter, std::back_inserter(data2));
-
-        BOOST_CHECK(data1 == data2);
-    }
-
-    // some libraries have trouble that only shows up with longer strings
-    
-    wchar_t * test3_data = L"\
-    <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\
-    <!DOCTYPE boost_serialization>\
-    <boost_serialization signature=\"serialization::archive\" version=\"3\">\
-    <a class_id=\"0\" tracking_level=\"0\">\
-        <b>1</b>\
-        <f>96953204</f>\
-        <g>177129195</g>\
-        <l>1</l>\
-        <m>5627</m>\
-        <n>23010</n>\
-        <o>7419</o>\
-        <p>16212</p>\
-        <q>4086</q>\
-        <r>2749</r>\
-        <c>-33</c>\
-        <s>124</s>\
-        <t>28</t>\
-        <u>32225</u>\
-        <v>17543</v>\
-        <w>0.84431422</w>\
-        <x>1.0170664757130923</x>\
-        <y>tjbx</y>\
-        <z>cuwjentqpkejp</z>\
-    </a>\
-    </boost_serialization>\
-    ";
-    
-    // Send the UCS4_data back out, converting to UTF-8
-    std::size_t l = std::wcslen(test3_data);
-    {
-        std::wofstream ofs;
-        ofs.imbue(*utf8_locale);
-        ofs.open("test3.dat");
-        std::copy(
-            test3_data,
-            test3_data + l,
-            boost::archive::iterators::ostream_iterator<wchar_t>(ofs)
-        );
-    }
-
-    // Make sure that both files are the same
-    {
-        std::wifstream ifs;
-        ifs.imbue(*utf8_locale);
-        ifs.open("test3.dat");
-        BOOST_CHECK(
-            std::equal(
-                test3_data,
-                test3_data + l,
-                boost::archive::iterators::istream_iterator<wchar_t>(ifs)
-            )
-        );
-    }
-
-    delete utf8_locale;
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/performance/performance_vector.cpp b/SRC/Boost/libs/serialization/performance/performance_vector.cpp
deleted file mode 100755
index a92be05..0000000
--- a/SRC/Boost/libs/serialization/performance/performance_vector.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_vector.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "../test/test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-// #include <boost/preprocessor/cat.hpp>
-// the following fails with (only!) gcc 3.4 
-// #include BOOST_PP_STRINGIZE(BOOST_PP_CAT(../test/,BOOST_ARCHIVE_TEST))
-// just copy over the files from the test directory
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
-#include <boost/serialization/vector.hpp>
-
-#include "../test/A.hpp"
-
-template <class T>
-int test_vector(T)
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    // test array of objects
-    std::vector<T> avector;
-    avector.push_back(T());
-    avector.push_back(T());
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("avector", avector);
-    }
-    std::vector<T> avector1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("avector", avector1);
-    }
-    BOOST_CHECK(avector == avector1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-   int res = test_vector(A());
-    // test an int vector for which optimized versions should be available
-   if (res == EXIT_SUCCESS)
-     res = test_vector(0);  
-    // test a bool vector
-   if (res == EXIT_SUCCESS)
-     res = test_vector(false);  
-   return res;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/performance/polymorphic_array_binary_archive.hpp b/SRC/Boost/libs/serialization/performance/polymorphic_array_binary_archive.hpp
deleted file mode 100755
index 12759cf..0000000
--- a/SRC/Boost/libs/serialization/performance/polymorphic_array_binary_archive.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/archive/polymorphic_binary_oarchive.hpp>
-typedef boost::archive::polymorphic_binary_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/polymorphic_binary_iarchive.hpp>
-typedef boost::archive::polymorphic_binary_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-#define TEST_STREAM_FLAGS std::ios::binary
diff --git a/SRC/Boost/libs/serialization/performance/polymorphic_binary_archive.hpp b/SRC/Boost/libs/serialization/performance/polymorphic_binary_archive.hpp
deleted file mode 100755
index 12759cf..0000000
--- a/SRC/Boost/libs/serialization/performance/polymorphic_binary_archive.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/archive/polymorphic_binary_oarchive.hpp>
-typedef boost::archive::polymorphic_binary_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/polymorphic_binary_iarchive.hpp>
-typedef boost::archive::polymorphic_binary_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-#define TEST_STREAM_FLAGS std::ios::binary
diff --git a/SRC/Boost/libs/serialization/performance/polymorphic_text_archive.hpp b/SRC/Boost/libs/serialization/performance/polymorphic_text_archive.hpp
deleted file mode 100755
index fc916a8..0000000
--- a/SRC/Boost/libs/serialization/performance/polymorphic_text_archive.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/archive/polymorphic_text_oarchive.hpp>
-typedef boost::archive::polymorphic_text_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/polymorphic_text_iarchive.hpp>
-typedef boost::archive::polymorphic_text_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
diff --git a/SRC/Boost/libs/serialization/performance/polymorphic_text_warchive.hpp b/SRC/Boost/libs/serialization/performance/polymorphic_text_warchive.hpp
deleted file mode 100755
index caa8eab..0000000
--- a/SRC/Boost/libs/serialization/performance/polymorphic_text_warchive.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-#include <boost/archive/polymorphic_text_woarchive.hpp>
-typedef boost::archive::polymorphic_text_woarchive test_oarchive;
-typedef std::wofstream test_ostream;
-#include <boost/archive/polymorphic_text_wiarchive.hpp>
-typedef boost::archive::polymorphic_text_wiarchive test_iarchive;
-typedef std::wifstream test_istream;
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
-#endif
diff --git a/SRC/Boost/libs/serialization/performance/polymorphic_xml_archive.hpp b/SRC/Boost/libs/serialization/performance/polymorphic_xml_archive.hpp
deleted file mode 100755
index 19f8e85..0000000
--- a/SRC/Boost/libs/serialization/performance/polymorphic_xml_archive.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/archive/polymorphic_xml_oarchive.hpp>
-typedef boost::archive::polymorphic_xml_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/polymorphic_xml_iarchive.hpp>
-typedef boost::archive::polymorphic_xml_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
diff --git a/SRC/Boost/libs/serialization/performance/polymorphic_xml_warchive.hpp b/SRC/Boost/libs/serialization/performance/polymorphic_xml_warchive.hpp
deleted file mode 100755
index 045f2b6..0000000
--- a/SRC/Boost/libs/serialization/performance/polymorphic_xml_warchive.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/archive/polymorphic_xml_woarchive.hpp>
-typedef boost::archive::polymorphic_xml_woarchive test_oarchive;
-typedef std::wofstream test_ostream;
-#include <boost/archive/polymorphic_xml_wiarchive.hpp>
-typedef boost::archive::polymorphic_xml_wiarchive test_iarchive;
-typedef std::wifstream test_istream;
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
diff --git a/SRC/Boost/libs/serialization/performance/portable_binary_archive.hpp b/SRC/Boost/libs/serialization/performance/portable_binary_archive.hpp
deleted file mode 100755
index 9d5a1f5..0000000
--- a/SRC/Boost/libs/serialization/performance/portable_binary_archive.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.// file includes for testing a custom archive.
-// as an example this tests the portable binary archive
-
-// #include output archive header
-#include "../example/portable_binary_oarchive.hpp"
-// define output archive class to be used 
-typedef portable_binary_oarchive test_oarchive;
-// and corresponding stream
-typedef std::ofstream test_ostream;
-
-// repeat the above for correspondng input archive
-#include "../example/portable_binary_iarchive.hpp"
-typedef portable_binary_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-
-// and stream open flags
-#define TEST_STREAM_FLAGS std::ios::binary
diff --git a/SRC/Boost/libs/serialization/performance/profile.sh b/SRC/Boost/libs/serialization/performance/profile.sh
deleted file mode 100755
index 95ae420..0000000
--- a/SRC/Boost/libs/serialization/performance/profile.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-# build and run the tests leaving the executables in place
-
-# (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-# Use, modification and distribution is subject to the Boost Software
-# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# profile.sh --toolset=gcc preserve-test-targets=on variant=profile
-if test $# -eq 0
-then
-    echo "Usage: $0 <bjam arguments>"
-    echo "Typical bjam arguements are:"
-    echo "  toolset=msvc-7.1,gcc"
-    echo "  link=static,shared"
-    echo "  threading=single,multi"
-    echo "  -sBOOST_ARCHIVE_LIST=<archive name>"
-else
-    bjam --dump-tests variant=profile preserve-test-targets=on $@ >bjam.log 2>&1
-    process_jam_log --v2 <bjam.log
-
-    # for each test directory
-
-    for dir in                                                             \
-        ../../../bin.v2/libs/serialization/performance/*/gcc*/profile   \
-        ../../../bin.v2/libs/serialization/performance/*/gcc*/*/profile
-    do
-        # execute test
-        for exe in $dir/*.exe
-        do
-            # execute the test
-            echo executing $exe
-            $exe
-            # copy profile to test directory
-            gprof $exe gmon.out >$dir/profile.txt
-        done
-    done
-
-    library_status library_status.html links.html
-fi
diff --git a/SRC/Boost/libs/serialization/performance/text_archive.hpp b/SRC/Boost/libs/serialization/performance/text_archive.hpp
deleted file mode 100755
index 7026d9e..0000000
--- a/SRC/Boost/libs/serialization/performance/text_archive.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-// text_archive
-#include <boost/archive/text_oarchive.hpp>
-typedef boost::archive::text_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/text_iarchive.hpp>
-typedef boost::archive::text_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
diff --git a/SRC/Boost/libs/serialization/performance/text_warchive.hpp b/SRC/Boost/libs/serialization/performance/text_warchive.hpp
deleted file mode 100755
index f591605..0000000
--- a/SRC/Boost/libs/serialization/performance/text_warchive.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-// text_warchive
-#include <boost/archive/text_woarchive.hpp>
-typedef boost::archive::text_woarchive test_oarchive;
-typedef std::wofstream test_ostream;
-#include <boost/archive/text_wiarchive.hpp>
-typedef boost::archive::text_wiarchive test_iarchive;
-typedef std::wifstream test_istream;
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
-
-
-
-
-
diff --git a/SRC/Boost/libs/serialization/performance/xml/Jamfile.v2 b/SRC/Boost/libs/serialization/performance/xml/Jamfile.v2
deleted file mode 100755
index 79ec1cf..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/Jamfile.v2
+++ /dev/null
@@ -1,35 +0,0 @@
-################################################################################
-#
-# (C) Copyright 2010 Bryce Lelbach
-#
-# Use, modification and distribution is subject to the Boost Software License,
-# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-# http://www.boost.org/LICENSE_1_0.txt)
-#
-################################################################################
-
-project bsl-xml-benchmark ;
-
-exe int4_test      : int4_test.cpp  
-                   : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
-
-exe int16_test     : int16_test.cpp  
-                   : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
-
-exe int64_test     : int64_test.cpp  
-                   : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
-
-exe int256_test    : int256_test.cpp  
-                   : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
-
-exe string4_test   : string4_test.cpp  
-                   : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
-
-exe string16_test  : string16_test.cpp  
-                   : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
-
-exe string64_test  : string64_test.cpp  
-                   : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
-
-exe string256_test : string256_test.cpp  
-                   : <toolset>gcc:<linkflags>"-lrt -lboost_serialization" ;
diff --git a/SRC/Boost/libs/serialization/performance/xml/harness.hpp b/SRC/Boost/libs/serialization/performance/xml/harness.hpp
deleted file mode 100755
index 6afc03f..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/harness.hpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/* /libs/serialization/xml_performance/harness.hpp *****************************
-
-(C) Copyright 2010 Bryce Lelbach
-
-Use, modification and distribution is subject to the Boost Software License,
-Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-http://www.boost.org/LICENSE_1_0.txt)
-
-*******************************************************************************/
-
-#if !defined(BOOST_SERIALIZATION_XML_PERFORMANCE_HARNESS_HPP)
-#define BOOST_SERIALIZATION_XML_PERFORMANCE_HARNESS_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-  # pragma once
-#endif
-
-#include <cassert>
-#include <cstdio> 
-
-#include <string>
-#include <fstream>
-#include <iostream>
-#include <utility>
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-  namespace std { 
-    using ::remove;
-  }
-#endif 
-
-#include <boost/uuid/uuid.hpp>
-#include <boost/uuid/uuid_io.hpp>
-#include <boost/uuid/random_generator.hpp>
-
-#include <boost/functional/hash.hpp>
-
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/type_traits/is_integral.hpp>
-
-#include <boost/archive/xml_iarchive.hpp>
-#include <boost/archive/xml_oarchive.hpp>
-
-#include <boost/archive/archive_exception.hpp>
-
-#include "high_resolution_timer.hpp" // from /libs/spirit/optimization
-
-#include "node.hpp" // includes macro.hpp
-
-namespace boost {
-namespace archive {
-namespace xml {
-
-template<typename T> T random (void);
-
-template<typename T> T
-random (void) {
-  using namespace boost::uuids;
-
-  hash<uuid> hash;
-  basic_random_generator<mt19937> gen;
-
-  return hash(gen());
-}
-
-template<> std::string
-random<std::string> (void) {
-  using namespace boost::uuids;
-
-  basic_random_generator<mt19937> gen;
-  uuid u = gen();
-
-  return to_string(u);
-}
-
-template<typename T> std::string
-save_archive (T const& s) {
-  std::string fn = random<std::string>() +
-    "-" BOOST_PP_STRINGIZE(BSL_TYPE)
-    BOOST_PP_STRINGIZE(BSL_EXP(BSL_NODE_MAX, BSL_DEPTH))
-    ".xml"
-  ;
-
-  std::ofstream ofs(fn.c_str());
- 
-  assert(ofs.good());
-  
-  xml_oarchive oa(ofs);
-  oa << BOOST_SERIALIZATION_NVP(s);
-
-  ofs.close();
-  return fn;
-}
-
-template<typename T> std::pair<double, T>
-restore_archive (std::string fn) {
-  std::ifstream ifs(fn.c_str());
-  T s;
-
-  assert(ifs.good());
-  
-  high_resolution_timer u;
-  
-  xml_iarchive ia(ifs);
-  ia >> BOOST_SERIALIZATION_NVP(s);
-
-  ifs.close();
-  return std::pair<double, T>(u.elapsed(), s);
-}
-
-class result_set_exception: public virtual archive_exception {
- public:
-  enum exception_code {
-    invalid_archive_metadata
-  };
-
-  result_set_exception (exception_code c = invalid_archive_metadata){ }
-  
-  virtual const char* what() const throw() {
-    const char *msg = "";
-    
-    switch (code) {
-      case invalid_archive_metadata:
-        msg = "result set was not created on this system";
-      default:
-        archive_exception::what();
-    }
-    
-    return msg;
-  }
-};
-
-struct entry {
-  std::string type;
-  std::size_t size;
-  double      data;
-
-  template<class ARC>
-  void serialize (ARC& ar, const unsigned int) {
-    ar & BOOST_SERIALIZATION_NVP(type)
-       & BOOST_SERIALIZATION_NVP(size)
-       & BOOST_SERIALIZATION_NVP(data)
-    ;
-  }
-
-  entry (void) { }
-
-  entry (std::string type, std::size_t size, double data):
-    type(type), size(size), data(data) { }
-};
-
-struct result_set {
-  std::string      compiler;
-  std::string      platform;
-  std::list<entry> entries;
-
-  template<class ARC>
-  void serialize (ARC& ar, const unsigned int) {
-    ar & BOOST_SERIALIZATION_NVP(compiler)
-       & BOOST_SERIALIZATION_NVP(platform)
-       & BOOST_SERIALIZATION_NVP(entries)
-    ;
-
-    if (  (compiler != BOOST_COMPILER)
-       || (platform != BOOST_PLATFORM))
-         throw result_set_exception(); 
-  }
-
-  result_set (void):
-    compiler(BOOST_COMPILER),
-    platform(BOOST_PLATFORM) { }
-
-  result_set (std::list<entry> entries):
-    compiler(BOOST_COMPILER),
-    platform(BOOST_PLATFORM),
-    entries(entries) { }
-};
-
-} // xml
-} // archive
-} // boost
-
-#endif // BOOST_SERIALIZATION_XML_PERFORMANCE_HARNESS_HPP
-
diff --git a/SRC/Boost/libs/serialization/performance/xml/high_resolution_timer.hpp b/SRC/Boost/libs/serialization/performance/xml/high_resolution_timer.hpp
deleted file mode 100755
index 84e0b56..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/high_resolution_timer.hpp
+++ /dev/null
@@ -1,489 +0,0 @@
-//  Copyright (c) 2005-2010 Hartmut Kaiser
-//  Copyright (c) 2009      Edward Grace
-// 
-//  Distributed under the Boost Software License, Version 1.0. (See accompanying 
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#if !defined(HIGH_RESOLUTION_TIMER_MAR_24_2008_1222PM)
-#define HIGH_RESOLUTION_TIMER_MAR_24_2008_1222PM
-
-#include <boost/config.hpp>
-#include <boost/throw_exception.hpp>
-
-#if defined(BOOST_HAS_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <time.h>
-#include <stdexcept>
-#include <limits>
-
-#if defined(BOOST_WINDOWS)
-
-#include <windows.h>
-
-namespace boost {
-namespace archive {
-namespace xml {
-    ///////////////////////////////////////////////////////////////////////////////
-    //
-    //  high_resolution_timer 
-    //      A timer object measures elapsed time.
-    //      CAUTION: Windows only!
-    //
-    ///////////////////////////////////////////////////////////////////////////////
-    class high_resolution_timer
-    {
-    public:
-        high_resolution_timer() 
-        {
-            restart(); 
-        } 
-
-        high_resolution_timer(double t) 
-        {
-            LARGE_INTEGER frequency;
-            if (!QueryPerformanceFrequency(&frequency))
-                boost::throw_exception(std::runtime_error("Couldn't acquire frequency"));
-
-            start_time.QuadPart = (LONGLONG)(t * frequency.QuadPart); 
-        } 
-
-        high_resolution_timer(high_resolution_timer const& rhs) 
-          : start_time(rhs.start_time)
-        {
-        } 
-
-        static double now()
-        {
-            SYSTEMTIME st;
-            GetSystemTime(&st);
-
-            FILETIME ft;
-            SystemTimeToFileTime(&st, &ft);
-
-            LARGE_INTEGER now;
-            now.LowPart = ft.dwLowDateTime;
-            now.HighPart = ft.dwHighDateTime;
-
-            // FileTime is in 100ns increments, result needs to be in [s]
-            return now.QuadPart * 1e-7;
-        }
-
-        void restart() 
-        { 
-            if (!QueryPerformanceCounter(&start_time))
-                boost::throw_exception(std::runtime_error("Couldn't initialize start_time"));
-        } 
-        double elapsed() const                  // return elapsed time in seconds
-        { 
-            LARGE_INTEGER now;
-            if (!QueryPerformanceCounter(&now))
-                boost::throw_exception(std::runtime_error("Couldn't get current time"));
-
-            LARGE_INTEGER frequency;
-            if (!QueryPerformanceFrequency(&frequency))
-                boost::throw_exception(std::runtime_error("Couldn't acquire frequency"));
-
-            return double(now.QuadPart - start_time.QuadPart) / frequency.QuadPart;
-        }
-
-        double elapsed_max() const   // return estimated maximum value for elapsed()
-        {
-            LARGE_INTEGER frequency;
-            if (!QueryPerformanceFrequency(&frequency))
-                boost::throw_exception(std::runtime_error("Couldn't acquire frequency"));
-
-            return double((std::numeric_limits<LONGLONG>::max)() - start_time.QuadPart) / 
-                double(frequency.QuadPart); 
-        }
-
-        double elapsed_min() const            // return minimum value for elapsed()
-        { 
-            LARGE_INTEGER frequency;
-            if (!QueryPerformanceFrequency(&frequency))
-                boost::throw_exception(std::runtime_error("Couldn't acquire frequency"));
-
-            return 1.0 / frequency.QuadPart; 
-        }
-
-    private:
-        LARGE_INTEGER start_time;
-    }; 
-
-} // xml
-} // archive
-} // boost
-
-#elif defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0 && defined(_POSIX_THREAD_CPUTIME)
-
-#if _POSIX_THREAD_CPUTIME > 0   // timer always supported
-
-namespace boost {
-namespace archive {
-namespace xml {
-
-    ///////////////////////////////////////////////////////////////////////////////
-    //
-    //  high_resolution_timer 
-    //      A timer object measures elapsed time.
-    //
-    ///////////////////////////////////////////////////////////////////////////////
-    class high_resolution_timer
-    {
-    public:
-        high_resolution_timer() 
-        {
-            start_time.tv_sec = 0;
-            start_time.tv_nsec = 0;
-
-            restart(); 
-        } 
-
-        high_resolution_timer(double t) 
-        {
-            start_time.tv_sec = time_t(t);
-            start_time.tv_nsec = (t - start_time.tv_sec) * 1e9;
-        }
-
-        high_resolution_timer(high_resolution_timer const& rhs) 
-          : start_time(rhs.start_time)
-        {
-        } 
-
-        static double now()
-        {
-            timespec now;
-            if (-1 == clock_gettime(CLOCK_REALTIME, &now))
-                boost::throw_exception(std::runtime_error("Couldn't get current time"));
-            return double(now.tv_sec) + double(now.tv_nsec) * 1e-9;
-        }
-
-        void restart() 
-        { 
-            if (-1 == clock_gettime(CLOCK_REALTIME, &start_time))
-                boost::throw_exception(std::runtime_error("Couldn't initialize start_time"));
-        } 
-        double elapsed() const                  // return elapsed time in seconds
-        { 
-            timespec now;
-            if (-1 == clock_gettime(CLOCK_REALTIME, &now))
-                boost::throw_exception(std::runtime_error("Couldn't get current time"));
-
-            if (now.tv_sec == start_time.tv_sec)
-                return double(now.tv_nsec - start_time.tv_nsec) * 1e-9;
-
-            return double(now.tv_sec - start_time.tv_sec) + 
-                (double(now.tv_nsec - start_time.tv_nsec) * 1e-9);
-        }
-
-        double elapsed_max() const   // return estimated maximum value for elapsed()
-        {
-            return double((std::numeric_limits<time_t>::max)() - start_time.tv_sec); 
-        }
-
-        double elapsed_min() const            // return minimum value for elapsed()
-        { 
-            timespec resolution;
-            if (-1 == clock_getres(CLOCK_REALTIME, &resolution))
-                boost::throw_exception(std::runtime_error("Couldn't get resolution"));
-            return double(resolution.tv_sec + resolution.tv_nsec * 1e-9); 
-        }
-
-    private:
-        timespec start_time;
-    }; 
-
-} // xml
-} // archive
-} // boost
-
-#else   // _POSIX_THREAD_CPUTIME > 0
-
-#include <boost/timer.hpp>
-
-// availability of high performance timers must be checked at runtime
-namespace boost {
-namespace archive {
-namespace xml {
-    ///////////////////////////////////////////////////////////////////////////////
-    //
-    //  high_resolution_timer 
-    //      A timer object measures elapsed time.
-    //
-    ///////////////////////////////////////////////////////////////////////////////
-    class high_resolution_timer
-    {
-    public:
-        high_resolution_timer() 
-          : use_backup(sysconf(_SC_THREAD_CPUTIME) <= 0)
-        {
-            if (!use_backup) {
-                start_time.tv_sec = 0;
-                start_time.tv_nsec = 0;
-            }
-            restart(); 
-        } 
-
-        high_resolution_timer(double t) 
-          : use_backup(sysconf(_SC_THREAD_CPUTIME) <= 0)
-        {
-            if (!use_backup) {
-                start_time.tv_sec = time_t(t);
-                start_time.tv_nsec = (t - start_time.tv_sec) * 1e9;
-            }
-        }
-        
-        high_resolution_timer(high_resolution_timer const& rhs) 
-          : use_backup(sysconf(_SC_THREAD_CPUTIME) <= 0),
-            start_time(rhs.start_time)
-        {
-        } 
-
-        static double now()
-        {
-            if (sysconf(_SC_THREAD_CPUTIME) <= 0)
-                return double(std::clock());
-
-            timespec now;
-            if (-1 == clock_gettime(CLOCK_REALTIME, &now))
-                boost::throw_exception(std::runtime_error("Couldn't get current time"));
-            return double(now.tv_sec) + double(now.tv_nsec) * 1e-9;
-        }
-
-        void restart() 
-        { 
-            if (use_backup)
-                start_time_backup.restart();
-            else if (-1 == clock_gettime(CLOCK_REALTIME, &start_time))
-                boost::throw_exception(std::runtime_error("Couldn't initialize start_time"));
-        } 
-        double elapsed() const                  // return elapsed time in seconds
-        { 
-            if (use_backup)
-                return start_time_backup.elapsed();
-
-            timespec now;
-            if (-1 == clock_gettime(CLOCK_REALTIME, &now))
-                boost::throw_exception(std::runtime_error("Couldn't get current time"));
-
-            if (now.tv_sec == start_time.tv_sec)
-                return double(now.tv_nsec - start_time.tv_nsec) * 1e-9;
-                
-            return double(now.tv_sec - start_time.tv_sec) + 
-                (double(now.tv_nsec - start_time.tv_nsec) * 1e-9);
-        }
-
-        double elapsed_max() const   // return estimated maximum value for elapsed()
-        {
-            if (use_backup)
-                start_time_backup.elapsed_max();
-
-            return double((std::numeric_limits<time_t>::max)() - start_time.tv_sec); 
-        }
-
-        double elapsed_min() const            // return minimum value for elapsed()
-        { 
-            if (use_backup)
-                start_time_backup.elapsed_min();
-
-            timespec resolution;
-            if (-1 == clock_getres(CLOCK_REALTIME, &resolution))
-                boost::throw_exception(std::runtime_error("Couldn't get resolution"));
-            return double(resolution.tv_sec + resolution.tv_nsec * 1e-9); 
-        }
-
-    private:
-        bool use_backup;
-        timespec start_time;
-        boost::timer start_time_backup;
-    }; 
-
-} // xml
-} // archive
-} // boost
-
-#endif  // _POSIX_THREAD_CPUTIME > 0
-
-#else   //  !defined(BOOST_WINDOWS) && (!defined(_POSIX_TIMERS)
-        //      || _POSIX_TIMERS <= 0
-        //      || !defined(_POSIX_THREAD_CPUTIME)
-        //      || _POSIX_THREAD_CPUTIME <= 0)
-
-#if defined(BOOST_HAS_GETTIMEOFDAY)
-
-// For platforms that do not support _POSIX_TIMERS but do have
-// GETTIMEOFDAY, which is still preferable to std::clock()
-#include <sys/time.h>
-
-namespace boost {
-namespace archive {
-namespace xml {
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    //  high_resolution_timer 
-    //      A timer object measures elapsed time.
-    //
-    //  Implemented with gettimeofday() for platforms that support it,
-    //  such as Darwin (OS X) but do not support the previous options.
-    //
-    //  Copyright (c) 2009 Edward Grace
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    class high_resolution_timer
-    {
-    private:
-        template <typename U>
-        static inline double unsigned_diff(const U &a, const U &b)
-        {
-            if (a > b)
-                return static_cast<double>(a-b);
-            return -static_cast<double>(b-a);
-        }
-
-        // @brief Return the difference between two timeval types.
-        // 
-        // @param t1 The most recent timeval.
-        // @param t0 The historical timeval.
-        // 
-        // @return The difference between the two in seconds.
-        double elapsed(const timeval &t1, const timeval &t0) const
-        { 
-            if (t1.tv_sec == t0.tv_sec)
-                return unsigned_diff(t1.tv_usec,t0.tv_usec) * 1e-6;
-
-            // We do it this way as the result of the difference of the
-            // microseconds can be negative if the clock is implemented so
-            // that the seconds timer increases in large steps.
-            //
-            // Naive subtraction of the unsigned types and conversion to
-            // double can wreak havoc!
-            return unsigned_diff(t1.tv_sec,t0.tv_sec) + 
-                unsigned_diff(t1.tv_usec,t0.tv_usec) * 1e-6; 
-        }
-
-    public:
-        high_resolution_timer() 
-        {
-            start_time.tv_sec = 0;
-            start_time.tv_usec = 0;
-
-            restart(); 
-        } 
-
-        high_resolution_timer(double t) 
-        {
-            start_time.tv_sec = time_t(t);
-            start_time.tv_usec = (t - start_time.tv_sec) * 1e6;
-        }
-
-        high_resolution_timer(high_resolution_timer const& rhs) 
-          : start_time(rhs.start_time)
-        {
-        } 
-
-        static double now()
-        {
-            // Under some implementations gettimeofday() will always
-            // return zero. If it returns anything else however then
-            // we accept this as evidence of an error.  Note we are
-            // not assuming that -1 explicitly indicates the error
-            // condition, just that non zero is indicative of the
-            // error.
-            timeval now;
-            if (gettimeofday(&now, NULL))
-                boost::throw_exception(std::runtime_error("Couldn't get current time"));
-            return double(now.tv_sec) + double(now.tv_usec) * 1e-6;
-        }
-
-        void restart() 
-        { 
-            if (gettimeofday(&start_time, NULL))
-                boost::throw_exception(std::runtime_error("Couldn't initialize start_time"));
-        } 
-
-        double elapsed() const                  // return elapsed time in seconds
-        { 
-            timeval now;
-            if (gettimeofday(&now, NULL))
-                boost::throw_exception(std::runtime_error("Couldn't get current time"));
-            return elapsed(now,start_time);
-        }
-
-        double elapsed_max() const   // return estimated maximum value for elapsed()
-        {
-            return double((std::numeric_limits<time_t>::max)() - start_time.tv_sec); 
-        }
-
-        double elapsed_min() const            // return minimum value for elapsed()
-        { 
-            // On systems without an explicit clock_getres or similar
-            // we can only estimate an upper bound on the resolution
-            // by repeatedly calling the gettimeofday function.  This
-            // is often likely to be indicative of the true
-            // resolution.
-            timeval t0, t1;
-            double delta(0);
-
-            if (gettimeofday(&t0, NULL)) 
-                boost::throw_exception(std::runtime_error("Couldn't get resolution."));
-
-            // Spin around in a tight loop until we observe a change
-            // in the reported timer value.
-            do {
-                if (gettimeofday(&t1, NULL)) 
-                    boost::throw_exception(std::runtime_error("Couldn't get resolution."));
-                delta = elapsed(t1, t0);
-            } while (delta <= 0.0);
-
-            return delta;
-        }
-
-    private:
-        timeval start_time;
-    }; 
-
-} // xml
-} // archive
-} // boost
-
-#else // BOOST_HAS_GETTIMEOFDAY
-
-//  For platforms other than Windows or Linux, or not implementing gettimeofday
-//  simply fall back to boost::timer
-#include <boost/timer.hpp>
-
-namespace boost {
-namespace archive {
-namespace xml {
-
-    struct high_resolution_timer
-        : boost::timer
-    {
-        static double now()
-        {
-            return double(std::clock());
-        }
-    };
-
-} // xml
-} // archive
-} // boost
- 
-
-#endif
-
-#endif
-
-#endif  // HIGH_RESOLUTION_TIMER_AUG_14_2009_0425PM
-
-//
-// $Log: high_resolution_timer.hpp,v $
-// Revision 1.4  2009/08/14 15:28:10  graceej
-// * It is entirely possible for the updating clock to increment the
-// * seconds and *decrement* the microseconds field.  Consequently
-// * when subtracting these unsigned microseconds fields a wrap-around
-// * error can occur.  For this reason elapsed(t1, t0) is used in a
-// * similar maner to cycle.h this preserves the sign of the
-// * difference.
-//
diff --git a/SRC/Boost/libs/serialization/performance/xml/int16_results.xml b/SRC/Boost/libs/serialization/performance/xml/int16_results.xml
deleted file mode 100755
index a3708b3..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/int16_results.xml
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<!DOCTYPE boost_serialization>
-<boost_serialization signature="serialization::archive" version="8">
-<results class_id="0" tracking_level="0" version="0">
-	<compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
-	<platform>linux</platform>
-	<entries class_id="1" tracking_level="0" version="0">
-		<count>256</count>
-		<item_version>0</item_version>
-		<item class_id="2" tracking_level="0" version="0">
-			<type>int</type>
-			<size>16</size>
-			<data>0.0091240829999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039804419999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003975363</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0041283230000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003973201</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039916819999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039507209999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003963243</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039550010000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039774010000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040641210000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040065630000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039576810000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039339209999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039280410000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039456830000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039237630000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039022810000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039720409999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039302410000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040139630000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003958441</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039454820000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003940921</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039098830000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039246010000000007</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039138010000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039268810000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039260830000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039660830000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039050410000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039309610000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039204830000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039173630000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039208010000000007</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039189620000000007</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039035220000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039350030000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039948810000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039946010000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039224820000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039112830000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.00392612</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039826410000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039312010000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003906283</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040008029999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039259610000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039096820000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039164009999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039059230000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039398410000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039865610000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039256410000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039788829999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040020799999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039252410000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039988810000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039786029999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039644430000000007</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039585210000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039494420000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039636020000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039696430000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039952010000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039923210000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003981081</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039232429999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039772010000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040404009999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039756820000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039785230000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040130030000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039342810000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039185610000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003929002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039356030000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039261210000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039248010000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039206010000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003921323</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039623610000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039768010000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039882810000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039450430000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039181229999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039785210000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039770420000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003920242</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040526030000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039671610000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039684009999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003951001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039216429999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039896410000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039810010000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039498020000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039298430000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039901630000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039274410000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039447610000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039199630000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003965283</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.004002121</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040376020000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003977202</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039340830000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039951610000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003941361</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039718420000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039271230000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039771630000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039450810000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039788410000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003906563</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039912430000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039290410000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040306020000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039789200000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039774830000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039634810000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039378010000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039205619999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039250830000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039660609999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039749609999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003934402</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039190830000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039127229999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039247610000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039810010000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039310410000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039226830000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039676010000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039205200000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039862420000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039284430000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.00398292</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039506810000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040586010000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039792030000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040032829999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039780409999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039807620000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039528810000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039343630000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039706810000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039614810000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039668810000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040543630000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039853600000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039722410000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040198410000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039786029999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039824430000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039788010000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039784420000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039569219999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039798429999999829</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003989561</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039734410000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003959522</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039615230000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039729209999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040494010000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003996561</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039343630000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039701229999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039064010000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039213620000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039636419999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039354030000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039401610000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003979481</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039353210000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039471230000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039845210000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040990010000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039887210000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039748830000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039555630000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039723610000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039555220000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039587630000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039941630000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039804410000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039180810000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039247220000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039286830000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003925001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039934810000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003982602</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039627230000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039693430000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003979481</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039772420000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039774830000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039840029999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039316810000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039705210000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040028810000000007</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039730830000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040140410000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039439610000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039728410000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039775629999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039797600000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039672409999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003991802</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039799230000000007</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040010829999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039361209999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039165210000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040524020000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039798030000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003964721</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039675610000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040526010000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039617630000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040681210000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039866010000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039520010000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039534430000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039646030000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039686809999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039310810000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039799610000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039404429999999602</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040029610000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003971161</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039470020000000007</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039831630000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.003932161</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039708410000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039706020000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039416830000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039592830000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039440410000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039856819999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039864810000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039909230000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039244409999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040034810000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039812010000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039719230000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040905210000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039932810000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039387220000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039618029999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040639630000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039436410000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039764420000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039905230000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0040003629999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039767610000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>16</size>
-			<data>0.0039385219999999999</data>
-		</item>
-	</entries>
-</results>
diff --git a/SRC/Boost/libs/serialization/performance/xml/int16_test.cpp b/SRC/Boost/libs/serialization/performance/xml/int16_test.cpp
deleted file mode 100755
index 82d337c..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/int16_test.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-/* /libs/serialization/xml_performance/int25_test.cpp **************************
-
-(C) Copyright 2010 Bryce Lelbach
-
-Use, modification and distribution is subject to the Boost Software License,
-Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-http://www.boost.org/LICENSE_1_0.txt)
-
-*******************************************************************************/
-
-#define BSL_TYPE         int
-#define BSL_DEPTH        2
-#define BSL_ROUNDS       256
-#define BSL_NODE_MAX     4
-#define BSL_SAVE_TMPFILE 0
-
-#include "harness.hpp"
-
-BSL_MAIN
-
diff --git a/SRC/Boost/libs/serialization/performance/xml/int256_results.xml b/SRC/Boost/libs/serialization/performance/xml/int256_results.xml
deleted file mode 100755
index 488ea9a..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/int256_results.xml
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<!DOCTYPE boost_serialization>
-<boost_serialization signature="serialization::archive" version="8">
-<results class_id="0" tracking_level="0" version="0">
-	<compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
-	<platform>linux</platform>
-	<entries class_id="1" tracking_level="0" version="0">
-		<count>256</count>
-		<item_version>0</item_version>
-		<item class_id="2" tracking_level="0" version="0">
-			<type>int</type>
-			<size>256</size>
-			<data>0.15321624699999992</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.08650484</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085920982000000007</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085633820999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16989353200000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.068107577000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16393698700000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.151674061</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085580072000000007</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085237985000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17062496600000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16267781100000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16851917800000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14782741100000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086171551999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.114132571</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.12319324500000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.110353244</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.097322675000000011</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15796201600000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086067782000000009</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.125855732</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.095308130999999907</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085265061000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.109543947</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14504557000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14939509599999989</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.082221090999999968</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.109551042</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.12431112100000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085782263000000011</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15682879900000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.068575454000000008</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15049496400000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.12869196700000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17715746300000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.13313712599999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.08405491100000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16982336199999992</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.1650644779999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.087539541000000012</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.144009527</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.084986318000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15154921200000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.089096928999999991</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.078815780000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15179225900000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.071424974000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17383854799999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15968935400000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15121306300000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17404088399999995</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14575297599999992</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.147578247</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.088792417999999929</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.13412004899999996</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086281149000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.10452476200000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17052829600000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.12843396500000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.24160787</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17276313100000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.08786999299999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.10957144100000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.18513253200000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.12825971899999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14682889500000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14917019100000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.13963762200000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.162242785</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.171921189</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.21192338600000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16182439900000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.075873628999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.091050645999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.090728246000000012</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16790991200000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.131269792</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.147774081</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.075707901000000008</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085849350000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17120687700000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.18270776999999994</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.115657858</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086130823000000009</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.08591346100000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.148075872</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.093777932000000008</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.170032617</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.078983854000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.183002574</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17499062400000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16999298600000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.12343807900000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17547888899999997</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.070078961000000009</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.184841536</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.089750393000000012</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.09077006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14565105699999992</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17549457500000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16971993600000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086169903000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15882590900000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.087636622000000011</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.091248745000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17427003100000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15880698700000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.131337537</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17184867300000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17884059400000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.18736676700000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.13111488800000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.10980652</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.20151995</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.10182866500000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.13558609700000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085793494000000012</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.169369618</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16526854600000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.172801116</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.170604694</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085537078000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.13368856099999993</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.13219763200000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.170200771</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.094924826000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086014382</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.101821225</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.11041902200000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17392156399999992</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14795049999999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17319567400000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.177151848</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17826678499999993</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.18706392999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.097755478999999923</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085452795000000012</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17952716699999993</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.178897155</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17744515400000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.18380319199999995</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.090120586000000003</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.20748273</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.121544734</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.097762067000000008</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17140295499999991</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17661355500000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.123409586</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.18124515800000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17018973100000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16837838000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.090471122000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.18274939500000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.170376201</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086761270000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.07082036600000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.090469033000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17457247199999992</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085507465000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086006947</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.091171989000000009</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.087034903000000011</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.12438318900000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.091942750000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085740925000000009</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.11181491799999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.114592052</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14088795500000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.11735219499999994</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.172994324</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14173148300000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.13917877400000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14680699700000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.10930996100000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.144352757</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.088056063000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086860233000000009</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.1702753629999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086362106000000008</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085859911000000011</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085879831000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.12267887299999991</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.098423322000000008</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.153468932</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.122094645</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.11257624400000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.160093242</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.10990803</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16383646200000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.10992213000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15929886000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14134709300000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.08445474900000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.087441700000000011</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085373326999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16715591000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.151999576</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17614413999999989</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.096750264000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085893666000000007</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17629694000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16497436300000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086379006000000008</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.08848594600000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.068952251000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.177542798</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.12553706100000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15891637</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086406062000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085517463000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.13787316499999991</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085759060000000012</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.156784109</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085655992</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.100888635</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15356141700000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15893653900000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.17356975800000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15669519600000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14556728399999996</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14882284900000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085451261000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.144400527</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14155816700000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14364901800000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16980553100000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.15952327000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.087087096999999947</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.114074747</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.083433352000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.109351719</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.087319604000000009</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16535071099999998</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085455526000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.085924925999999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.088723519000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.11805582100000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.086636225999999983</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.075564457000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.074940988</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.093248515000000004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14556818800000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.12369044300000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14557024000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.1763824719999999</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14606613100000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.14864195300000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.16122792900000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.18750939500000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.159254863</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.12342580800000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.069498242000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.068196053000000006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.08690642400000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>256</size>
-			<data>0.083593906000000009</data>
-		</item>
-	</entries>
-</results>
diff --git a/SRC/Boost/libs/serialization/performance/xml/int256_test.cpp b/SRC/Boost/libs/serialization/performance/xml/int256_test.cpp
deleted file mode 100755
index 61dc8d6..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/int256_test.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-/* /libs/serialization/xml_performance/int25_test.cpp **************************
-
-(C) Copyright 2010 Bryce Lelbach
-
-Use, modification and distribution is subject to the Boost Software License,
-Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-http://www.boost.org/LICENSE_1_0.txt)
-
-*******************************************************************************/
-
-#define BSL_TYPE         int
-#define BSL_DEPTH        4
-#define BSL_ROUNDS       256
-#define BSL_NODE_MAX     4
-#define BSL_SAVE_TMPFILE 0
-
-#include "harness.hpp"
-
-BSL_MAIN
-
diff --git a/SRC/Boost/libs/serialization/performance/xml/int4_results.xml b/SRC/Boost/libs/serialization/performance/xml/int4_results.xml
deleted file mode 100755
index 0c403eb..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/int4_results.xml
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<!DOCTYPE boost_serialization>
-<boost_serialization signature="serialization::archive" version="8">
-<results class_id="0" tracking_level="0" version="0">
-	<compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
-	<platform>linux</platform>
-	<entries class_id="1" tracking_level="0" version="0">
-		<count>256</count>
-		<item_version>0</item_version>
-		<item class_id="2" tracking_level="0" version="0">
-			<type>int</type>
-			<size>4</size>
-			<data>0.0064683200000000005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013484810000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012968400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012938400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001321881</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012813600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012798400000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128432</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013019210000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012802800000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128484</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001293043</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128148</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012812800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012898830000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012836800000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128812</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001305481</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128188</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00129484</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013052410000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012850400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012983600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012958010000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012928400000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012897200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013186410000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128724</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012884400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001303963</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012984000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013423600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00130412</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013056810000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128388</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012844</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012939210000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012815200000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012848800000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012886810000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012767200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012861600000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012976020000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00127812</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128808</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012958430000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012735600000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00129024</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012937630000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001314801</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128812</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012858400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001299681</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128736</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012926400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013075610000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012856</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012841200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013007210000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012770400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012774800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012995630000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012760800000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013167200000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001299803</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00130152</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012791600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128444</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012910810000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012824800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012862000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012863600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012840400000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012963220000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012926400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128604</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001302683</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012925600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012863200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012868000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001301803</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012945600000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012883200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013074010000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128652</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128524</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013003210000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001289</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012887600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012898010000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012779200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001284</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013036830000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012790400000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128232</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012894430000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013535600000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012924400000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001294201</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012804800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128228</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001305081</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012888400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012826000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013026020000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012876400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012842400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001301321</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012849600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012959600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012933600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012845600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012874800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012894</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001298881</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012834000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128652</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013008010000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128472</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128644</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012989620000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012816000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012825200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012950820000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128012</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012857600000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001298883</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00127972</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013221600000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001299283</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012888000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012896400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001294601</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012852</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012851200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001312281</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012859600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00139204</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001303081</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012967200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012925200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012986430000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012917200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012922000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001318963</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128648</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001284</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001299641</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0014884800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012899600000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012945610000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128808</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00137524</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00129112</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012960020000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00127808</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012879200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012991210000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128476</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012820400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001311083</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00136856</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013016800000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012952410000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012880000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128732</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012946000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013174810000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012829200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012948</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001307601</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128432</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012834000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012954820000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128104</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012853200000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013023630000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00127676</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012791600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128604</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00127564</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012862800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012893610000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012794400000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012824800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001308121</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012832000000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012821200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012924810000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012824800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00127892</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001298443</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012879600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012920800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0028338400000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013351200000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013108810000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012887600000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012856</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012970010000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012761200000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00127644</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012980820000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00127684</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012760800000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001297201</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00127648</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012804800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012903230000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012802800000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012727600000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012685050000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012786400000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012832400000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012928410000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012786800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012866400000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012979200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013046820000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012878000000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012865600000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012973220000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012819600000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012832000000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013041630000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012849200000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013826000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013183230000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012816800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012865600000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012882010000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012740000000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00127808</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001292762</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012758000000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00127684</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012998010000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012753200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001276</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012916830000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012774800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012794800000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012958830000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012859200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012798</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001303401</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00128304</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012883200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.001291761</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012875200000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012957600000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.00129184</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0013144820000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012892800000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012874400000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>4</size>
-			<data>0.0012954830000000001</data>
-		</item>
-	</entries>
-</results>
diff --git a/SRC/Boost/libs/serialization/performance/xml/int4_test.cpp b/SRC/Boost/libs/serialization/performance/xml/int4_test.cpp
deleted file mode 100755
index be48e85..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/int4_test.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-/* /libs/serialization/xml_performance/int5_test.cpp ***************************
-
-(C) Copyright 2010 Bryce Lelbach
-
-Use, modification and distribution is subject to the Boost Software License,
-Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-http://www.boost.org/LICENSE_1_0.txt)
-
-*******************************************************************************/
-
-#define BSL_TYPE         int
-#define BSL_DEPTH        1
-#define BSL_ROUNDS       256
-#define BSL_NODE_MAX     4
-#define BSL_SAVE_TMPFILE 0
-
-#include "harness.hpp"
-
-BSL_MAIN
-
diff --git a/SRC/Boost/libs/serialization/performance/xml/int64_results.xml b/SRC/Boost/libs/serialization/performance/xml/int64_results.xml
deleted file mode 100755
index 0234be9..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/int64_results.xml
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<!DOCTYPE boost_serialization>
-<boost_serialization signature="serialization::archive" version="8">
-<results class_id="0" tracking_level="0" version="0">
-	<compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
-	<platform>linux</platform>
-	<entries class_id="1" tracking_level="0" version="0">
-		<count>256</count>
-		<item_version>0</item_version>
-		<item class_id="2" tracking_level="0" version="0">
-			<type>int</type>
-			<size>64</size>
-			<data>0.019669446</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014487284000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014522886</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014541604000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014511724</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014433683000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014422160000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014430572000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014482052</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014466769000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014473404</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014467164000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014443046000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014502884000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014437164000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014470963000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014436202</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014684172000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014476372000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014445972000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014496126000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014419045</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014431766</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014509245</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014461203000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014438964</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014516004000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014467052000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014451089</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014470532000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014495084</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014541806000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014538686</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014557006000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014515684000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014478643000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014463043</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014503089</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014455809000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014486252000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014485492000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014489486000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014524406</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014491006000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014503724000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014480844000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014498644000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014424628</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014758172000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014486449</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014480489000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014488966000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014479684000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014487846</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014490003000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014495404000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014468323000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014482585000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014458649000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014433292</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014510932000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014445526</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014448486000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014487125000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014460044000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014419084</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014461804000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014440065</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014518092000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014421129000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014449812000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014491406</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014498206000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014493726</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014491084000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014521844000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014434484000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.01446416</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014464689000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014509292000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014446532000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014462526000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014507046000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014492486000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014478405000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014495164000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014410804000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014448363000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014446089</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014426529</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014439369000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014481006000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014549005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014524126</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014579886</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014504884000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014479804000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014504883000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014493212</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.01452561199999991</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014501612000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014468292000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014477526000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014580486</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014502485000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014492244000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014523443</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014456803000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014578564</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014513652</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014602012000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014517612000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014438726000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014636246</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014512446000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014496724000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014508804</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014463284000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014476564000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014486652000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014519532000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014501529000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014499489000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014508846000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014486965000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014604445000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014466683000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014418044000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014486163000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014435129000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014433848999999888</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014466412000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014421729000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014503366</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014473445000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014462526000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014440163000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014511683000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014473923000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014486921000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014494692000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014464452000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014510572000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014450526000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014446524000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014475006</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014495605000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014441004</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014513924000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014508523000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014639452000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014492212000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014475649</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014522406000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014492246</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014547646000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014526446</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014550083</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014535804000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014513963000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014525052</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014477651999999952</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014536052000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014505209000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014549046000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014494046000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014543766000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014517763000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014560324000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014490044000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.01452084</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014468092</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014456372</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014464052000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014488444000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014533046000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014455205</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014468363000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014420884</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014514723</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014476803000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014691652000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014528652000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014488212</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014486725000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014492484000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014512206000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014477606000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014445083000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014434764000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014466163000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014462852000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014470572000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014492972000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014462692000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014505326000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014498126</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014515127000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014505484000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014550483000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014492964000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014474105000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014491652000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014511252000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014481772</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014490206</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014557166000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014467925000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014520123000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014490163</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014529804</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014479643</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014665332000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014451529000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014474492</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014458326000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014478766000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014512045000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014480244000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014506004000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014465164000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014486164000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014495092000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014493612000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014517529000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014456050000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014505726</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014472166000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014522446000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014501124000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014496084000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014433204000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.015052948000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014451772000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014503892000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014487729000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014457845</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014468924000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014471005</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014513285000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014458324000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014509163</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014488203000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014733972000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014396972000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014481252000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014464165000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014463646</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014520247000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014405925000000002</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014428203000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014457364</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014505124000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014459212000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014439049000000001</data>
-		</item>
-		<item>
-			<type>int</type>
-			<size>64</size>
-			<data>0.014547252</data>
-		</item>
-	</entries>
-</results>
diff --git a/SRC/Boost/libs/serialization/performance/xml/int64_test.cpp b/SRC/Boost/libs/serialization/performance/xml/int64_test.cpp
deleted file mode 100755
index de5fa66..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/int64_test.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-/* /libs/serialization/xml_performance/int25_test.cpp **************************
-
-(C) Copyright 2010 Bryce Lelbach
-
-Use, modification and distribution is subject to the Boost Software License,
-Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-http://www.boost.org/LICENSE_1_0.txt)
-
-*******************************************************************************/
-
-#define BSL_TYPE         int
-#define BSL_DEPTH        3
-#define BSL_ROUNDS       256
-#define BSL_NODE_MAX     4
-#define BSL_SAVE_TMPFILE 0
-
-#include "harness.hpp"
-
-BSL_MAIN
-
diff --git a/SRC/Boost/libs/serialization/performance/xml/macro.hpp b/SRC/Boost/libs/serialization/performance/xml/macro.hpp
deleted file mode 100755
index 084f17a..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/macro.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-/* /libs/serialization/xml_performance/macro.hpp *******************************
-
-(C) Copyright 2010 Bryce Lelbach
-
-Use, modification and distribution is subject to the Boost Software License,
-Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-http://www.boost.org/LICENSE_1_0.txt)
-
-*******************************************************************************/
-
-#if !defined(BOOST_SERIALIZATION_XML_PERFORMANCE_MACRO_HPP)
-#define BOOST_SERIALIZATION_XML_PERFORMANCE_MACRO_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-  #pragma once
-#endif
-
-#include <boost/preprocessor.hpp>
-
-#if !defined(BSL_NODE_MAX)
-  #define BSL_NODE_MAX 4
-#endif
-
-#if !defined(BSL_DEPTH)
-  #define BSL_DEPTH 2
-#endif
-
-#if !defined(BSL_ROUNDS)
-  #define BSL_ROUNDS 256
-#endif
-
-#if !defined(BSL_TYPE)
-  #define BSL_TYPE int
-#endif
-
-#if !defined(BSL_SAVE_TMPFILE)
-  #define BSL_SAVE_TMPFILE 0
-#endif
-
-#if !defined(BSL_RESULTS_FILE)
-  #define BSL_RESULTS_FILE                                \
-    BOOST_PP_STRINGIZE(BSL_TYPE)                          \
-    BOOST_PP_STRINGIZE(BSL_EXP(BSL_NODE_MAX, BSL_DEPTH))  \
-    "_results.xml"                                        \
-  /**/
-#endif
-
-// utility print macro
-
-#define BSL_PRINT(Z, N, T) T
-
-// preprocessor power function, BSL_EXP
-
-#define BSL_EXP_PRED(B, D) BOOST_PP_TUPLE_ELEM(3, 0, D)
-
-#define BSL_EXP_OP(B, D)                                                       \
-   (                                                                           \
-      BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(3, 0, D)),                              \
-      BOOST_PP_TUPLE_ELEM(3, 1, D),                                            \
-      BOOST_PP_MUL_D(                                                          \
-         B,                                                                    \
-         BOOST_PP_TUPLE_ELEM(3, 2, D),                                         \
-         BOOST_PP_TUPLE_ELEM(3, 1, D)                                          \
-      )                                                                        \
-   )                                                                           \
-   /**/
-
-#define BSL_EXP(X, N)                                                          \
-  BOOST_PP_TUPLE_ELEM(                                                         \
-    3, 2, BOOST_PP_WHILE(BSL_EXP_PRED, BSL_EXP_OP, (N, X, 1))                  \
-  )                                                                            \
-  /**/
-
-// boost::archive::xml::node macros
-
-#define BSL_NODE_DECL_MEMBER(Z, N, _)   T ## N  element ## N  ;
-#define BSL_NODE_DECL_NONE(Z, N, _)     unused_type  element ## N  ;
-#define BSL_NODE_xDECL_CTOR()           node (void) { }
-
-#define BSL_NODE_DECL_CTOR(P)                                                  \
-  BOOST_PP_IF(P,                                                               \
-    BSL_NODE_xDECL_CTOR,                                                       \
-    BOOST_PP_EMPTY                                                             \
-  )()                                                                          \
-  /**/
-
-#define BSL_NODE_SERIALIZE(Z, N, _)                                            \
-  & BOOST_SERIALIZATION_NVP(BOOST_PP_CAT(element, N))                          \
-  /**/
-
-#define BSL_NODE_INIT_LIST(Z, N, _)                                            \
-  BOOST_PP_COMMA_IF(N)  BOOST_PP_CAT(element, N)                               \
-  BOOST_PP_LPAREN() BOOST_PP_CAT(p, N) BOOST_PP_RPAREN()                       \
-  /**/
-
-#define BSL_NODE_DECL(Z, N, _)                                                 \
-  template<BOOST_PP_ENUM_PARAMS_Z(Z, N, typename T)>                           \
-  struct node<                                                                 \
-    BOOST_PP_ENUM_PARAMS_Z(Z, N, T)                                            \
-    BOOST_PP_COMMA_IF(N)                                                       \
-    BOOST_PP_ENUM_ ## Z(BOOST_PP_SUB(BSL_NODE_MAX, N), BSL_PRINT, unused_type) \
-  > {                                                                          \
-    BOOST_PP_REPEAT_ ## Z(N, BSL_NODE_DECL_MEMBER, _)                          \
-                                                                               \
-    BOOST_PP_REPEAT_FROM_TO_ ## Z(N, BSL_NODE_MAX, BSL_NODE_DECL_NONE, _)      \
-                                                                               \
-    template<class ARC>                                                        \
-    void serialize (ARC& ar, const unsigned int) {                             \
-      ar BOOST_PP_REPEAT_ ## Z(N, BSL_NODE_SERIALIZE, _);                      \
-    }                                                                          \
-                                                                               \
-    BSL_NODE_DECL_CTOR(N)                                                      \
-                                                                               \
-    node (BOOST_PP_ENUM_BINARY_PARAMS_Z(Z, N, T, p)):                          \
-      BOOST_PP_REPEAT_ ## Z(N, BSL_NODE_INIT_LIST, _) { }                      \
-  };                                                                           \
-  /**/
-
-// instantiation macros
-
-#define BSL_INST_BASE(Z, N, L)                                                 \
-  T0 T0 ## _ ## N(BOOST_PP_ENUM_ ## Z(                                         \
-    BSL_NODE_MAX, BSL_PRINT,                                                   \
-    boost::archive::xml::random<BSL_TYPE> BOOST_PP_LPAREN() BOOST_PP_RPAREN()  \
-  ));                                                                          \
-  /**/
-
-#define BSL_INST_yNODES(Z, N, L)                                               \
-  BOOST_PP_COMMA_IF(N)                                                         \
-  BOOST_PP_CAT(T,                                                              \
-    BOOST_PP_CAT(BOOST_PP_LIST_AT(L, 1),                                       \
-      BOOST_PP_CAT(_,                                                          \
-        BOOST_PP_ADD(N,                                                        \
-          BOOST_PP_LIST_AT(L, 0)                                               \
-        )                                                                      \
-      )                                                                        \
-    )                                                                          \
-  )                                                                            \
-  /**/
-
-#define BSL_INST_xNODES(Z, N, L)                                               \
-  T ## L T ## L ## _ ## N(                                                     \
-    BOOST_PP_REPEAT_ ## Z(                                                     \
-      BSL_NODE_MAX, BSL_INST_yNODES,                                           \
-      (BOOST_PP_MUL(N, BSL_NODE_MAX), (BOOST_PP_SUB(L, 1), BOOST_PP_NIL))      \
-    )                                                                          \
-  );                                                                           \
-  /**/
-
-#define BSL_INST_NODES(Z, N, L)                                                \
-  BOOST_PP_REPEAT_ ## Z(                                                       \
-    BSL_EXP(BSL_NODE_MAX, BOOST_PP_SUB(BSL_DEPTH, N)),                         \
-    BSL_INST_xNODES, N                                                         \
-  )                                                                            \
-  /**/
-
-#define BSL_TYPEDEF_NODES(Z, N, L)                                             \
-  typedef boost::archive::xml::node<                                           \
-    BOOST_PP_ENUM_ ## Z(                                                       \
-      BSL_NODE_MAX, BSL_PRINT, BOOST_PP_CAT(T, BOOST_PP_SUB(N, 1))             \
-    )                                                                          \
-  > T ## N;                                                                    \
-  /**/
-
-// main macro
-
-#define BSL_MAIN                                                               \
-  int main (void) {                                                            \
-    using namespace boost::archive;                                            \
-    using namespace boost::archive::xml;                                       \
-                                                                               \
-    typedef node<BOOST_PP_ENUM(BSL_NODE_MAX, BSL_PRINT, BSL_TYPE)> T0;         \
-                                                                               \
-    BOOST_PP_REPEAT_FROM_TO(1, BSL_DEPTH, BSL_TYPEDEF_NODES, _)                \
-                                                                               \
-    typedef node<BOOST_PP_ENUM(                                                \
-      BSL_NODE_MAX, BSL_PRINT,                                                 \
-      BOOST_PP_CAT(T, BOOST_PP_SUB(BSL_DEPTH, 1))                              \
-    )> HEAD;                                                                   \
-                                                                               \
-    result_set results;                                                        \
-    std::size_t rounds = BSL_ROUNDS;                                           \
-                                                                               \
-    while (rounds --> 0) {                                                     \
-      BOOST_PP_REPEAT(BSL_EXP(BSL_NODE_MAX, BSL_DEPTH), BSL_INST_BASE, _)      \
-                                                                               \
-      BOOST_PP_REPEAT_FROM_TO(1, BSL_DEPTH, BSL_INST_NODES, _)                 \
-                                                                               \
-      HEAD h(BOOST_PP_ENUM_PARAMS(                                             \
-        BSL_NODE_MAX,                                                          \
-        BOOST_PP_CAT(T, BOOST_PP_CAT(BOOST_PP_SUB(BSL_DEPTH, 1), _))           \
-      ));                                                                      \
-                                                                               \
-      std::string fn = save_archive(h);                                        \
-                                                                               \
-      std::pair<double, HEAD> r = restore_archive<HEAD>(fn);                   \
-                                                                               \
-      std::cout << "round "                                                    \
-                << ((BSL_ROUNDS - 1) - rounds)                                 \
-                << " -> " << fn << "\n";                                       \
-                                                                               \
-      BOOST_PP_IF(BSL_SAVE_TMPFILE,                                            \
-        BOOST_PP_EMPTY(),                                                      \
-        std::remove(fn.c_str());                                               \
-      )                                                                        \
-                                                                               \
-      results.entries.push_back(entry(                                         \
-         BOOST_PP_STRINGIZE(BSL_TYPE),                                         \
-         BSL_EXP(BSL_NODE_MAX, BSL_DEPTH), r.first                             \
-      ));                                                                      \
-    }                                                                          \
-                                                                               \
-    std::fstream fs(BSL_RESULTS_FILE, std::fstream::in);                       \
-                                                                               \
-    if (fs.good()) {                                                           \
-      xml_iarchive ia(fs);                                                     \
-      ia >> BOOST_SERIALIZATION_NVP(results);                                  \
-      fs.close();                                                              \
-    }                                                                          \
-                                                                               \
-    fs.open(BSL_RESULTS_FILE, std::fstream::out | std::fstream::trunc);        \
-    xml_oarchive oa(fs);                                                       \
-    oa << BOOST_SERIALIZATION_NVP(results);                                    \
-                                                                               \
-    fs.close();                                                                \
-  }                                                                            \
-  /**/
-
-#endif // BOOST_SERIALIZATION_XML_PERFORMANCE_MACRO_HPP
diff --git a/SRC/Boost/libs/serialization/performance/xml/node.hpp b/SRC/Boost/libs/serialization/performance/xml/node.hpp
deleted file mode 100755
index 58401f1..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/node.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/* /libs/serialization/xml_performance/node.hpp ********************************
-
-(C) Copyright 2010 Bryce Lelbach
-
-Use, modification and distribution is subject to the Boost Software License,
-Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-http://www.boost.org/LICENSE_1_0.txt)
-
-*******************************************************************************/
-
-#if !defined(BOOST_SERIALIZATION_XML_PERFORMANCE_NODE_HPP)
-#define BOOST_SERIALIZATION_XML_PERFORMANCE_NODE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-  #pragma once
-#endif
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/utility.hpp>
-#include <boost/serialization/list.hpp>
-#include <boost/serialization/version.hpp>
-
-#include "macro.hpp"
-
-namespace boost {
-namespace archive {
-namespace xml {
-
-struct unused_type { };
-
-template<
-  typename T,
-  BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(
-    BOOST_PP_SUB(BSL_NODE_MAX, 1), typename T, unused_type
-  )
-> struct node;
-
-BOOST_PP_REPEAT_FROM_TO(1, BSL_NODE_MAX, BSL_NODE_DECL, _)
-
-template<BOOST_PP_ENUM_PARAMS(BSL_NODE_MAX, typename T)>
-struct node {
-  BOOST_PP_REPEAT(BSL_NODE_MAX, BSL_NODE_DECL_MEMBER, _)
-
-  template<class ARC>                                   
-  void serialize (ARC& ar, const unsigned int) {        
-    ar                                                  
-      BOOST_PP_REPEAT(BSL_NODE_MAX, BSL_NODE_SERIALIZE, _)        
-    ;                                                   
-  }                                                     
-                                                        
-  BSL_NODE_xDECL_CTOR()                                      
-                                                        
-  node (BOOST_PP_ENUM_BINARY_PARAMS(BSL_NODE_MAX, T, p)):     
-    BOOST_PP_REPEAT(BSL_NODE_MAX, BSL_NODE_INIT_LIST, _) 
-  { }
-};                                                      
-
-} // xml
-} // archive
-} // boost
-
-#endif // BOOST_SERIALIZATION_XML_PERFORMANCE_NODE_HPP
-
diff --git a/SRC/Boost/libs/serialization/performance/xml/string16_results.xml b/SRC/Boost/libs/serialization/performance/xml/string16_results.xml
deleted file mode 100755
index 4113087..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/string16_results.xml
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<!DOCTYPE boost_serialization>
-<boost_serialization signature="serialization::archive" version="8">
-<results class_id="0" tracking_level="0" version="0">
-	<compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
-	<platform>linux</platform>
-	<entries class_id="1" tracking_level="0" version="0">
-		<count>256</count>
-		<item_version>0</item_version>
-		<item class_id="2" tracking_level="0" version="0">
-			<type>string</type>
-			<size>16</size>
-			<data>0.012478289</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072560000000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072030420000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071682020000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071778060000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072362460000000009</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071869220000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071878830000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071994860000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007244566</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071920810000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072397640000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071930430000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071888830000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071856820000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071798830000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071797230000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071992860000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072556420000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072098020000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007207321</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072045260000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071889830000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071904010000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071754830000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072048060000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072293660000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072043620000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072351230000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072088830000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071613630000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071968020000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072091630000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071625610000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071758860000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072168020000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072034020000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071784030000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072256860000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072109220000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071665210000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072158430000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072299660000000009</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072064680000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071831220000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071800030000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072292860000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071624430000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071836820000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072084030000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071665620000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072477660000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072076020000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072072030000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072176030000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071833660000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071831220000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071601210000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072026430000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071991260000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072078410000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072082020000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071928830000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071964460000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071826460000000009</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071702020000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071683230000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071388030000000009</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072348860000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071883620000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071758410000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071781630000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071760060000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072201620000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071673630000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071732830000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071706460000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072266420000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072288420000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072125630000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072115630000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071812000000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007202122</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007167362</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072384060000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072055260000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072029620000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071922830000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071877260000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072153660000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072294010000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071974830000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071855230000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071989230000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072465620000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071857230000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072022430000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072071660000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072090020000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072011620000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072017610000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071964060000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072420000000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071690410000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071992430000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071818460000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071558030000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071756420000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072259230000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071872860000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072312860000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072287620000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071818030000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071858810000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071967260000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071914020000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071645210000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071816830000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071695260000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072521220000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072282020000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072272830000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072088460000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071882650000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007179922</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072016430000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071915230000000009</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072753260000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072302020000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007209923</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007189122</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072191260000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072180020000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071952810000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071876430000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071936060000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072690820000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072184420000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072203630000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071952060000000009</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071918810000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071836420000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072154830000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071770830000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072342460000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072119220000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007218683</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072250430000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072196860000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072206420000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072086820000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072429630000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072798060000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072191220000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072123220000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071857230000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071828060000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071980010000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072397220000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072392030000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007219446</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072401210000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072177220000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072424830000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071834030000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072027260000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071956820000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072182430000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071804460000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072502860000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072154820000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072068410000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071990430000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072062060000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072053220000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071906030000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071940830000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072020060000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072318010000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071934820000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072077230000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071936460000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071854800000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071955220000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071776030000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071916830000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072421260000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007211322</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071732020000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071748060000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071980060000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072117220000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072090420000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072236430000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072546460000000009</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071919610000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071797630000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007174723</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071845260000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071910020000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072310020000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072686430000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071835230000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072432400000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007220962</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071698030000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071864460000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071785260000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072036020000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071802010000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071924460000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072578860000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072124820000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072392830000000009</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072244830000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071948460000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071743210000000009</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.007205922</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071905630000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071846830000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072338420000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072037220000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071850030000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071687630000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071699850000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071892820000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071742420000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071893660000000009</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072221260000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071861620000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071887230000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071893630000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071844860000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071784010000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072017230000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072007630000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072040859999998874</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072226420000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072083620000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072103630000000009</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071846830000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072017620000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072684820000000006</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071865230000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071598460000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072246680000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071868820000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071647230000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072765660000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071751260000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071459620000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072247630000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071712020000000007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072490860000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0071670820000000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>16</size>
-			<data>0.0072127220000000004</data>
-		</item>
-	</entries>
-</results>
diff --git a/SRC/Boost/libs/serialization/performance/xml/string16_test.cpp b/SRC/Boost/libs/serialization/performance/xml/string16_test.cpp
deleted file mode 100755
index 8315a62..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/string16_test.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/* /libs/serialization/xml_performance/string25_test.cpp ***********************
-
-(C) Copyright 2010 Bryce Lelbach
-
-Use, modification and distribution is subject to the Boost Software License,
-Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-http://www.boost.org/LICENSE_1_0.txt)
-
-*******************************************************************************/
-
-#include <string>
-
-typedef std::string string;
-
-#define BSL_TYPE         string
-#define BSL_DEPTH        2
-#define BSL_ROUNDS       256
-#define BSL_NODE_MAX     4
-#define BSL_SAVE_TMPFILE 0
-
-#include "harness.hpp"
-
-BSL_MAIN
-
diff --git a/SRC/Boost/libs/serialization/performance/xml/string256_results.xml b/SRC/Boost/libs/serialization/performance/xml/string256_results.xml
deleted file mode 100755
index 09e7cda..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/string256_results.xml
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<!DOCTYPE boost_serialization>
-<boost_serialization signature="serialization::archive" version="8">
-<results class_id="0" tracking_level="0" version="0">
-	<compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
-	<platform>linux</platform>
-	<entries class_id="1" tracking_level="0" version="0">
-		<count>256</count>
-		<item_version>0</item_version>
-		<item class_id="2" tracking_level="0" version="0">
-			<type>string</type>
-			<size>256</size>
-			<data>0.24082843600000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.15478449400000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.14540435600000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.14332035000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.14574748900000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.162143815</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.143199773</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.14591024800000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.148218763</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.26581049599999995</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.15119754200000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.25551917900000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.30426230999999992</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23429972399999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.152736329</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16095108700000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.257406205</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.21526160400000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.310253734</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.30385512799999992</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.277919476</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.15155350300000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.2247563669999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.311096769</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.18083700100000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.25365826600000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.146422422</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31615557699999997</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.17431823499999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.30721216100000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.274691929</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.25493901099999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.24813491900000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.21902227400000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.182308211</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.14080317399999998</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.27130100700000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.141822905</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.234210945</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.18912357100000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23694535000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.30294369100000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23246992800000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.15832027100000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.26319235099999994</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.147053033</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.30371506200000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.306945248</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.34078868499999992</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16450026000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.353907258</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.29755154299999997</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31086977300000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.166196543</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.29479566800000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.29576432800000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.18159834400000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.19346430100000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.15868047100000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.18001983300000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.30650560900000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16728085300000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.28264082199999996</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23873842499999998</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.142975195</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.306175533</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.28568148900000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.27912233200000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.24095708900000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.29895117200000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31077380700000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.22219352000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.17159283699999994</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.18810837300000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31016322400000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.24117843300000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.25069571300000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.35484542899999993</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.25646144200000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23715143800000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.17434978100000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.22196388700000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31783167000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.44040980399999996</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.18985125600000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16910165699999991</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.22861478000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.32245771200000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.18971205300000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.34642208599999991</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16614582600000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.29925598899999994</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.29850647600000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.172233461</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.21215700399999993</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.21100386000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.24862557099999993</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16703737700000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.25782752200000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.26164129199999997</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.57651874200000008</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.36986256299999998</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.21878367700000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.17820567400000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.24184889000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.24552513400000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33087374899999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.344138096</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.25427008900000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33677569699999998</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33239564400000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.29225137200000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23854207300000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.21931018499999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33166821100000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33713559600000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.35802521499999995</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.21386164400000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.35509271800000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16676263400000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23069279500000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33617436300000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.336949834</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.34125201800000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33968717300000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.34125770800000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.32101234700000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33470459899999994</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.18704252400000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.28705466900000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.29912810300000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.17272062800000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.20886833600000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33794845900000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.264968284</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.26913011600000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.25145834900000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33495682699999996</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.26798035000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.24842696600000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33503277800000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.30332787699999997</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.28991897599999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33133644100000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.26798883300000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.291365229</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.34162038900000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.170376363</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.170955098</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.17217529200000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.2625844249999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.25749087800000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.214833564</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.20960021100000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.20222120200000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.28324146</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.303095801</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31430344799999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23109986400000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.20973660100000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.26268180499999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.34926366799999997</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.22327798399999998</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16531669100000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.17791732599999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16743454199999996</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.190363907</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16638140000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31061568700000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.29818055100000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16645938000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16849109600000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.19088629400000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.233309764</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.26293923899999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.20451668599999995</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.18545595400000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33442231900000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.307385672</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23357416</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.287179342</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.20827706400000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.42202693800000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.34912425000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.241049968</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.21442900300000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.34573371899999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31089394199999998</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.26286895299999991</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.28370315699999993</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.17465668500000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.348761398</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.166838869</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.26464613599999998</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.29856266600000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.24585868199999994</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.27416464800000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.33280198300000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23629951400000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31782385300000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.17180628100000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31635188200000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.291131843</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.19067002899999996</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23594924</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.32661452500000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.228596355</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.25246959299999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.34272192000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.24635339900000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23385871399999991</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.168213903</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.27104451799999996</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.28353989400000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.27119438400000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31294787200000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.263878267</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.26840745700000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.19721746600000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.21171784800000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31691192800000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16284852300000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.206485163</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.17293324500000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.30097051599999991</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.18753556099999991</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.352919066</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23880742000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.21931351400000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.30510558200000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.306646945</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.19290866000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31661062500000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.15527985900000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.21309966899999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.25295672000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31927861000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.28013629200000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.23187213000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.241622844</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.28193659500000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.25082649800000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.21928747300000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.213718137</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31063365000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16080174</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.30793034600000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.18621517200000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31502906899999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.20341706500000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16701237700000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.18218058300000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.31295746400000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.22039852299999996</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.16650589500000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>256</size>
-			<data>0.30901178699999998</data>
-		</item>
-	</entries>
-</results>
diff --git a/SRC/Boost/libs/serialization/performance/xml/string256_test.cpp b/SRC/Boost/libs/serialization/performance/xml/string256_test.cpp
deleted file mode 100755
index 6996470..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/string256_test.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/* /libs/serialization/xml_performance/string25_test.cpp ***********************
-
-(C) Copyright 2010 Bryce Lelbach
-
-Use, modification and distribution is subject to the Boost Software License,
-Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-http://www.boost.org/LICENSE_1_0.txt)
-
-*******************************************************************************/
-
-#include <string>
-
-typedef std::string string;
-
-#define BSL_TYPE         string
-#define BSL_DEPTH        4
-#define BSL_ROUNDS       256
-#define BSL_NODE_MAX     4
-#define BSL_SAVE_TMPFILE 0
-
-#include "harness.hpp"
-
-BSL_MAIN
-
diff --git a/SRC/Boost/libs/serialization/performance/xml/string4_results.xml b/SRC/Boost/libs/serialization/performance/xml/string4_results.xml
deleted file mode 100755
index 6381eb6..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/string4_results.xml
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<!DOCTYPE boost_serialization>
-<boost_serialization signature="serialization::archive" version="8">
-<results class_id="0" tracking_level="0" version="0">
-	<compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
-	<platform>linux</platform>
-	<entries class_id="1" tracking_level="0" version="0">
-		<count>256</count>
-		<item_version>0</item_version>
-		<item class_id="2" tracking_level="0" version="0">
-			<type>string</type>
-			<size>4</size>
-			<data>0.0074473220000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021171600000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021249610000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020889610000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020989610000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021022810000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020897610000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207932</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020796</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00206676</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021010830000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020941230000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020960029999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0022728430000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021422430000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021111599999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020897210000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020777199999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207756</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020766400000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020919610000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020888820000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020911620000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002101922</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207456</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020878400000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020859200000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002087963</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021150030000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020946430000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002101323</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020741600000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207048</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020697200000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020688</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020761210000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021957610000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002088922</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020608800000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207632</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020790000000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020759200000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002086563</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020913630000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021061630000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021424030000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020861200000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020792000000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020831199999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020748800000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020908810000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020839210000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020882019999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020667200000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020760000000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020742</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020731200000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002098721</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002094963</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020910030000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021128430000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020812000000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020832800000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020760800000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020872810000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002092801</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020863209999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002081641</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020940020000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020796400000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207428</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020808800000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002087401</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002102881</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020912830000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002095043</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020720000000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021351600000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020774000000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020770000000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020883210000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002102521</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020871209999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020829210000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020788</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0022383620000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021013220000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020742400000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020818799999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00208304</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020769600000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020958030000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002107083</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020970430000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002090083</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020642</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00206924</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020811600000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020840810000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020956010000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021117220000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002084762</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020757600000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020830800000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020730800000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020841200000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021030430000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002085763</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0022383630000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021111630000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020823600000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020833200000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020757200000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020928410000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021011610000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020833610000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020972820000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020638800000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020747600000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020711200000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020848810000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021020430000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002103443</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020883630000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020817600000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020656800000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020790000000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020752000000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002078641</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020934009999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020846810000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020884010000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00208224</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020734400000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020746000000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020917209999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002091561</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002099643</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020947230000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020736000000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021564399999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021086</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020864400000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020888009999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020872410000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021153610000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020850809999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020748800000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020727600000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00206544</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020935610000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020951210000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020952810000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002109203</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020785199999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020814800000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207932</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020870800000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021083600000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020882410000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020863209999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020938810000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020698400000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207412</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020688</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00208376</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020955610000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020943610000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020893610000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020961230000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020729200000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00206996</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021200800000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020985630000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021015600000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002084481</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020864810000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020774400000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020692800000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207136</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020879610000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002089441</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021005609999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021022409999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020743200000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020792800000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020774000000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020765600000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020830830000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020838829999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020982410000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020833610000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020726</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020782800000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020529599999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021279210000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002089161</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020892010000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207544</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020828400000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020691200000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207704</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020880429999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020918429999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021526430000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002085323</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020922810000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020669200000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00215372</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207304</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002076601</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020949620000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002083321</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002073961</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020738000000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020674400000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00207888</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020933230000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020924430000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021093230000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020860030000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020732400000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020663999999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00206828</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020734</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020888009999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020840010000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021071610000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020698800000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002078</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020668800000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020828000000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021036430000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002105923</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002094963</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0022069630000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00209384</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020772</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020736800000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020742</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020923210000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002086081</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020877210000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020729200000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0021266810000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020851610000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.00208464</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020736400000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020819600000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020852399999999999</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020909230000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002100963</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020798030000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.002048865</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020709600000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>4</size>
-			<data>0.0020917600000000002</data>
-		</item>
-	</entries>
-</results>
diff --git a/SRC/Boost/libs/serialization/performance/xml/string4_test.cpp b/SRC/Boost/libs/serialization/performance/xml/string4_test.cpp
deleted file mode 100755
index b38757c..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/string4_test.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/* /libs/serialization/xml_performance/string5_test.cpp ************************
-
-(C) Copyright 2010 Bryce Lelbach
-
-Use, modification and distribution is subject to the Boost Software License,
-Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-http://www.boost.org/LICENSE_1_0.txt)
-
-*******************************************************************************/
-
-#include <string>
-
-typedef std::string string;
-
-#define BSL_TYPE         string
-#define BSL_DEPTH        1
-#define BSL_ROUNDS       256
-#define BSL_NODE_MAX     4
-#define BSL_SAVE_TMPFILE 0
-
-#include "harness.hpp"
-
-BSL_MAIN
-
diff --git a/SRC/Boost/libs/serialization/performance/xml/string64_results.xml b/SRC/Boost/libs/serialization/performance/xml/string64_results.xml
deleted file mode 100755
index 0c6dd61..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/string64_results.xml
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<!DOCTYPE boost_serialization>
-<boost_serialization signature="serialization::archive" version="8">
-<results class_id="0" tracking_level="0" version="0">
-	<compiler>GNU C++ version 4.5.1 20100617 (prerelease)</compiler>
-	<platform>linux</platform>
-	<entries class_id="1" tracking_level="0" version="0">
-		<count>256</count>
-		<item_version>0</item_version>
-		<item class_id="2" tracking_level="0" version="0">
-			<type>string</type>
-			<size>64</size>
-			<data>0.032849208000000005</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027500566000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027451327000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027459310000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027409781000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027785380999999942</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027489781000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027510701000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027549732</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027456249000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027514171</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.02757565</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027492611</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027502767000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027517847000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027530807000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027565327000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027517444000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027542341000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027525541000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027602181000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027534101000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027491539000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027615651000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027528491000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027536010000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027506650000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027591449000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027568327</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027615967000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027532167000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027549087000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027636750000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.033203064000000004</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027562501000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027484821000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027475901</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027442895000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027424131000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027452170000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027489530000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027491611000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027540329000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027551367</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027500207000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027557087000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027513927000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027486718</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027924781000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027442101</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027467501000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027566061000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027441051000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027590011000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027544210000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.02752425</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027618371000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027548727000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027522687000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027526447000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027556727000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027505950000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027557421000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027538700999999888</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027576901000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027507901000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027592498</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027575250000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027515571000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027482651</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027488170000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027652449000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027509127000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027598727000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027549807000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027606287</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027548792000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027512221000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027756460999999955</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027540181</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027546621</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027576093000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027483489000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027560690000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027573130000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027519331000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027563687000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027538127000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027482087000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027507527</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027609726000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027489240000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027490021000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027504140999999982</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027508021000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027476421000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027566891000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027467090000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027596731000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027603850000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027543370000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027497287000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027564527000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027462127000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027475286000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027454365000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027497301000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027490581</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027542981000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027498461000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027499541000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027512971000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027546411000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027550209000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027480250000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027508009000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027507007</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027574567000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027455566000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027504607</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027463672000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027678861000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027500861000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027479541000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027560741000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027520495000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027470051000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027435090000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027529330000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027526049</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027518048000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027476686</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027496167000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027677887000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027653447000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027444680000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027470621000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027427941000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027514701000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027530581000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.02742785</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027486410000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027441931000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027472611000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027543169000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027448767000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027436287</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027571407000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027521287000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027472364000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027511181000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.028075300999999886</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027459541000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027472981</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027476179000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027502249000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027453571000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027541969000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027626410000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027644890000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027532927000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027655526000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027602647000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027518967000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027523947</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027511461000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027583540999999934</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027469901000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027504741000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027594818</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027498931000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.02751605</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027519130000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027566811</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.02766093</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027595167</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027505447000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027495406</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027481407000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027461713000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027512301000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027660660999999975</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027531381000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027476181000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027551693000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.02747109</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027675011000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027477691000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027453569000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027546848000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027615687000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027535927000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027526766000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027491245000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027559138</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027477061000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027517181000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027551421000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027533621000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027495289000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027478930000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027494170000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027549171000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027530529000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027580927000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027560406000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027538047000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027684046</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027510467</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027602541000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027593101000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027597261000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027524541000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027597696000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027612531000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027652890000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027569450000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027542971000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027531930000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027596847000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027515367000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027395526000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027510847000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027532389000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027653221000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027480381000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027523341000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027545901000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027552058000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027556891</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.02759725</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027615211000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027532371000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027467209000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027508167</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027547567000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027625847000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027527047000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027561192000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027590181000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027565781000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027491221000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027549341000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027529575000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027578011000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027560330000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027543449000000001</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027562091</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027551447000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027531247000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027608247000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027568047000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027576647000000003</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027502877000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027854221000000002</data>
-		</item>
-		<item>
-			<type>string</type>
-			<size>64</size>
-			<data>0.027568421000000003</data>
-		</item>
-	</entries>
-</results>
diff --git a/SRC/Boost/libs/serialization/performance/xml/string64_test.cpp b/SRC/Boost/libs/serialization/performance/xml/string64_test.cpp
deleted file mode 100755
index e4553b7..0000000
--- a/SRC/Boost/libs/serialization/performance/xml/string64_test.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/* /libs/serialization/xml_performance/string25_test.cpp ***********************
-
-(C) Copyright 2010 Bryce Lelbach
-
-Use, modification and distribution is subject to the Boost Software License,
-Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 
-http://www.boost.org/LICENSE_1_0.txt)
-
-*******************************************************************************/
-
-#include <string>
-
-typedef std::string string;
-
-#define BSL_TYPE         string
-#define BSL_DEPTH        3
-#define BSL_ROUNDS       256
-#define BSL_NODE_MAX     4
-#define BSL_SAVE_TMPFILE 0
-
-#include "harness.hpp"
-
-BSL_MAIN
-
diff --git a/SRC/Boost/libs/serialization/performance/xml_archive.hpp b/SRC/Boost/libs/serialization/performance/xml_archive.hpp
deleted file mode 100755
index 0212744..0000000
--- a/SRC/Boost/libs/serialization/performance/xml_archive.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-// xml_archive
-#include <boost/archive/xml_oarchive.hpp>
-typedef boost::archive::xml_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/xml_iarchive.hpp>
-typedef boost::archive::xml_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
-
-
diff --git a/SRC/Boost/libs/serialization/performance/xml_warchive.hpp b/SRC/Boost/libs/serialization/performance/xml_warchive.hpp
deleted file mode 100755
index 085c47d..0000000
--- a/SRC/Boost/libs/serialization/performance/xml_warchive.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-// xml_warchive
-#include <boost/archive/xml_woarchive.hpp>
-typedef boost::archive::xml_woarchive test_oarchive;
-typedef std::wofstream test_ostream;
-#include <boost/archive/xml_wiarchive.hpp>
-typedef boost::archive::xml_wiarchive test_iarchive;
-typedef std::wifstream test_istream;
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
-
-
diff --git a/SRC/Boost/libs/serialization/src/archive_exception.cpp b/SRC/Boost/libs/serialization/src/archive_exception.cpp
deleted file mode 100755
index 0bd66a0..0000000
--- a/SRC/Boost/libs/serialization/src/archive_exception.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// archive_exception.cpp:
-
-// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <exception>
-#include <boost/assert.hpp>
-#include <string>
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/archive_exception.hpp>
-
-namespace boost {
-namespace archive {
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-archive_exception::archive_exception(
-    exception_code c, 
-    const char * e1,
-    const char * e2
-) : 
-    code(c)
-{
-    m_msg = "programming error";
-    switch(code){
-    case no_exception:
-        m_msg = "uninitialized exception";
-        break;
-    case unregistered_class:
-        m_msg = "unregistered class";
-        if(NULL != e1){
-            m_msg += " - ";
-            m_msg += e1;
-        }    
-        break;
-    case invalid_signature:
-        m_msg = "invalid signature";
-        break;
-    case unsupported_version:
-        m_msg = "unsupported version";
-        break;
-    case pointer_conflict:
-        m_msg = "pointer conflict";
-        break;
-    case incompatible_native_format:
-        m_msg = "incompatible native format";
-        if(NULL != e1){
-            m_msg += " - ";
-            m_msg += e1;
-        }    
-        break;
-    case array_size_too_short:
-        m_msg = "array size too short";
-        break;
-    case input_stream_error:
-        m_msg = "input stream error";
-        break;
-    case invalid_class_name:
-        m_msg = "class name too long";
-        break;
-    case unregistered_cast:
-        m_msg = "unregistered void cast ";
-        m_msg += (NULL != e1) ? e1 : "?";
-        m_msg += "<-";
-        m_msg += (NULL != e2) ? e2 : "?";
-        break;
-    case unsupported_class_version:
-        m_msg = "class version ";
-        m_msg += (NULL != e1) ? e1 : "<unknown class>";
-        break;
-    case other_exception:
-        // if get here - it indicates a derived exception 
-        // was sliced by passing by value in catch
-        m_msg = "unknown derived exception";
-        break;
-    case multiple_code_instantiation:
-        m_msg = "code instantiated in more than one module";
-        if(NULL != e1){
-            m_msg += " - ";
-            m_msg += e1;
-        }    
-        break;
-    case output_stream_error:
-        m_msg = "output stream error";
-        break;
-    default:
-        BOOST_ASSERT(false);
-        break;
-    }
-}
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-archive_exception::~archive_exception() throw () {}
-
-BOOST_ARCHIVE_DECL(const char *)
-archive_exception::what( ) const throw()
-{
-    return m_msg.c_str();
-}
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-archive_exception::archive_exception() : 
-        code(no_exception)
-{}
-
-} // archive
-} // boost
diff --git a/SRC/Boost/libs/serialization/src/basic_archive.cpp b/SRC/Boost/libs/serialization/src/basic_archive.cpp
deleted file mode 100755
index 5ff13c1..0000000
--- a/SRC/Boost/libs/serialization/src/basic_archive.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_archive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-//////////////////////////////////////////////////////////////////////
-//
-//  objects are stored as
-//
-//      class_id*   // -1 for a null pointer
-//      if a new class id
-//      [
-//          exported key - class name*
-//          tracking level - always/never
-//          class version
-//      ]
-//
-//      if tracking
-//      [
-//          object_id
-//      ]
-//          
-//      [   // if a new object id
-//          data...
-//      ]
-//
-//  * required only for pointers - optional for objects
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/basic_archive.hpp>
-
-namespace boost {
-namespace archive {
-
-///////////////////////////////////////////////////////////////////////
-// constants used in archive signature
-//This should never ever change. note that is not an std::string
-// string.
-BOOST_ARCHIVE_DECL(const char *) 
-BOOST_ARCHIVE_SIGNATURE(){
-    return "serialization::archive";
-}
-
-// this should change if the capabilities are added to the library
-// such that archives can be created which can't be read by previous
-// versions of this library
-// 1 - initial version
-// 2 - made address tracking optional
-// 3 - numerous changes - can't guarentee compatibility with previous versions
-// 4 - Boost 1.34
-//     added item_version to properly support versioning for collections 
-// 5 - Boost 1.36
-//     changed serialization of collections: adding version even for primitive
-//     types caused backwards compatibility breaking change in 1.35
-// 6 - Boost 1.41 17 Nov 2009
-//     serializing collection sizes as std::size_t
-// 7   Boost 1.42 2 Feb 2010
-//     error - changed binary version to 16 bits w/o changing library version #
-//     That is - binary archives are recorded with #6 even though they are
-//     different from the previous versions.  This means that binary archives
-//     created with versions 1.42 and 1.43 will have to be fixed with a special
-//     program which fixes the library version # in the header
-//     Boost 1.43 6 May 2010
-//     no change
-// 8 - Boost 1.44
-//     separated version_type into library_version_type and class_version_type
-//     changed version_type to be stored as 8 bits.
-
-BOOST_ARCHIVE_DECL(library_version_type)
-BOOST_ARCHIVE_VERSION(){
-    return library_version_type(9);
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/basic_iarchive.cpp b/SRC/Boost/libs/serialization/src/basic_iarchive.cpp
deleted file mode 100755
index c155a5a..0000000
--- a/SRC/Boost/libs/serialization/src/basic_iarchive.cpp
+++ /dev/null
@@ -1,576 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_archive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp> // msvc 6.0 needs this to suppress warnings
-
-#include <boost/assert.hpp>
-#include <set>
-#include <list>
-#include <vector>
-#include <cstddef> // size_t, NULL
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/integer_traits.hpp>
-#include <boost/serialization/state_saver.hpp>
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/serialization/tracking.hpp>
-
-#define BOOST_ARCHIVE_SOURCE
-// include this to prevent linker errors when the
-// same modules are marked export and import.
-#define BOOST_SERIALIZATION_SOURCE
-
-#include <boost/archive/archive_exception.hpp>
-
-#include <boost/archive/detail/decl.hpp>
-#include <boost/archive/basic_archive.hpp>
-#include <boost/archive/detail/basic_iserializer.hpp>
-#include <boost/archive/detail/basic_pointer_iserializer.hpp>
-#include <boost/archive/detail/basic_iarchive.hpp>
-
-#include <boost/archive/detail/auto_link_archive.hpp>
-
-using namespace boost::serialization;
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-class basic_iarchive_impl {
-    friend class basic_iarchive;
-    library_version_type m_archive_library_version;
-    unsigned int m_flags;
-
-    //////////////////////////////////////////////////////////////////////
-    // information about each serialized object loaded
-    // indexed on object_id
-    struct aobject
-    {
-        void * address;
-        bool loaded_as_pointer;
-        class_id_type class_id;
-        aobject(
-            void *a,
-            class_id_type class_id_
-        ) :
-            address(a),
-            loaded_as_pointer(false),
-            class_id(class_id_)
-        {}
-        aobject() : 
-            address(NULL),
-            loaded_as_pointer(false),
-            class_id(-2) 
-        {}
-    };
-    typedef std::vector<aobject> object_id_vector_type;
-    object_id_vector_type object_id_vector;
-
-    //////////////////////////////////////////////////////////////////////
-    // used to implement the reset_object_address operation.
-    object_id_type moveable_objects_start;
-    object_id_type moveable_objects_end;
-    object_id_type moveable_objects_recent;
-
-    void reset_object_address(
-        const void * new_address, 
-        const void *old_address
-    );
-
-    //////////////////////////////////////////////////////////////////////
-    // used by load object to look up class id given basic_serializer
-    struct cobject_type
-    {
-        const basic_iserializer * m_bis;
-        const class_id_type m_class_id;
-        cobject_type(
-            std::size_t class_id,
-            const basic_iserializer & bis
-        ) : 
-            m_bis(& bis),
-            m_class_id(class_id)
-        {}
-        cobject_type(const cobject_type & rhs) : 
-            m_bis(rhs.m_bis),
-            m_class_id(rhs.m_class_id)
-        {}
-        // the following cannot be defined because of the const
-        // member.  This will generate a link error if an attempt
-        // is made to assign.  This should never be necessary
-        cobject_type & operator=(const cobject_type & rhs);
-        bool operator<(const cobject_type &rhs) const
-        {
-            return *m_bis < *(rhs.m_bis);
-        }
-    };
-    typedef std::set<cobject_type> cobject_info_set_type;
-    cobject_info_set_type cobject_info_set;
-
-    //////////////////////////////////////////////////////////////////////
-    // information about each serialized class indexed on class_id
-    class cobject_id 
-    {
-    public:
-        cobject_id & operator=(const cobject_id & rhs){
-            bis_ptr = rhs.bis_ptr;
-            bpis_ptr = rhs.bpis_ptr;
-            file_version = rhs.file_version;
-            tracking_level = rhs.tracking_level;
-            initialized = rhs.initialized;
-            return *this;
-        }
-        const basic_iserializer * bis_ptr;
-        const basic_pointer_iserializer * bpis_ptr;
-        version_type file_version;
-        tracking_type tracking_level;
-        bool initialized;
-
-        cobject_id(const basic_iserializer & bis_) :
-            bis_ptr(& bis_),
-            bpis_ptr(NULL),
-            file_version(0),
-            tracking_level(track_never),
-            initialized(false)
-        {}
-        cobject_id(const cobject_id &rhs): 
-            bis_ptr(rhs.bis_ptr),
-            bpis_ptr(rhs.bpis_ptr),
-            file_version(rhs.file_version),
-            tracking_level(rhs.tracking_level),
-            initialized(rhs.initialized)
-        {}
-    };
-    typedef std::vector<cobject_id> cobject_id_vector_type;
-    cobject_id_vector_type cobject_id_vector;
-
-    //////////////////////////////////////////////////////////////////////
-    // address of the most recent object serialized as a poiner
-    // whose data itself is now pending serialization
-    void * pending_object;
-    const basic_iserializer * pending_bis;
-    version_type pending_version;
-
-    basic_iarchive_impl(unsigned int flags) :
-        m_archive_library_version(BOOST_ARCHIVE_VERSION()),
-        m_flags(flags),
-        moveable_objects_start(0),
-        moveable_objects_end(0),
-        moveable_objects_recent(0),
-        pending_object(NULL),
-        pending_bis(NULL),
-        pending_version(0)
-    {}
-    ~basic_iarchive_impl(){}
-    void set_library_version(library_version_type archive_library_version){
-        m_archive_library_version = archive_library_version;
-    }
-    bool
-    track(
-        basic_iarchive & ar,
-        void * & t
-    );
-    void
-    load_preamble(
-        basic_iarchive & ar,
-        cobject_id & co
-    );
-    class_id_type register_type(
-        const basic_iserializer & bis
-    );
-
-    // redirect through virtual functions to load functions for this archive
-    template<class T>
-    void load(basic_iarchive & ar, T & t){
-        ar.vload(t);
-    }
-
-//public:
-    void
-    next_object_pointer(void * t){
-        pending_object = t;
-    }
-    void delete_created_pointers();
-    class_id_type register_type(
-        const basic_pointer_iserializer & bpis
-    );
-    void load_object(
-        basic_iarchive & ar,
-        void * t,
-        const basic_iserializer & bis
-    );
-    const basic_pointer_iserializer * load_pointer(
-        basic_iarchive & ar,
-        void * & t, 
-        const basic_pointer_iserializer * bpis,
-        const basic_pointer_iserializer * (*finder)(
-            const boost::serialization::extended_type_info & type
-        )
-
-    );
-};
-
-inline void 
-basic_iarchive_impl::reset_object_address(
-    const void * new_address, 
-    const void *old_address
-){
-    // this code handles a couple of situations.
-    // a) where reset_object_address is applied to an untracked object.
-    //    In such a case the call is really superfluous and its really an
-    //    an error.  But we don't have access to the types here so we can't
-    //    know that.  However, this code will effectively turn this situation
-    //    into a no-op and every thing will work fine - albeat with a small
-    //    execution time penalty.
-    // b) where the call to reset_object_address doesn't immediatly follow
-    //    the << operator to which it corresponds.  This would be a bad idea
-    //    but the code may work anyway.  Naturally, a bad practice on the part
-    //    of the programmer but we can't detect it - as above.  So maybe we
-    //    can save a few more people from themselves as above.
-    object_id_type i;
-    for(i = moveable_objects_recent; i < moveable_objects_end; ++i){
-        if(old_address == object_id_vector[i].address)
-            break;
-    }
-    for(; i < moveable_objects_end; ++i){
-
-        // calculate displacement from this level
-        // warning - pointer arithmetic on void * is in herently non-portable
-        // but expected to work on all platforms in current usage
-        if(object_id_vector[i].address > old_address){
-            std::size_t member_displacement
-                = reinterpret_cast<std::size_t>(object_id_vector[i].address) 
-                - reinterpret_cast<std::size_t>(old_address);
-            object_id_vector[i].address = reinterpret_cast<void *>(
-                reinterpret_cast<std::size_t>(new_address) + member_displacement
-            );
-        }
-        else{
-            std::size_t member_displacement
-                = reinterpret_cast<std::size_t>(old_address)
-                - reinterpret_cast<std::size_t>(object_id_vector[i].address); 
-            object_id_vector[i].address = reinterpret_cast<void *>(
-                reinterpret_cast<std::size_t>(new_address) - member_displacement
-            );
-       }
-    }
-}
-
-inline void 
-basic_iarchive_impl::delete_created_pointers()
-{
-    object_id_vector_type::iterator i;
-    for(
-        i = object_id_vector.begin();
-        i != object_id_vector.end(); 
-        ++i
-    ){
-        if(i->loaded_as_pointer){
-            // borland complains without this minor hack
-            const int j = i->class_id;
-            const cobject_id & co = cobject_id_vector[j];
-            //const cobject_id & co = cobject_id_vector[i->class_id];
-            // with the appropriate input serializer, 
-            // delete the indicated object
-            co.bis_ptr->destroy(i->address);
-        }
-    }
-}
-
-inline class_id_type
-basic_iarchive_impl::register_type(
-    const basic_iserializer & bis
-){
-    class_id_type cid(cobject_info_set.size());
-    cobject_type co(cid, bis);
-    std::pair<cobject_info_set_type::const_iterator, bool>
-        result = cobject_info_set.insert(co);
-
-    if(result.second){
-        cobject_id_vector.push_back(cobject_id(bis));
-        BOOST_ASSERT(cobject_info_set.size() == cobject_id_vector.size());
-    }
-    cid = result.first->m_class_id;
-    // borland complains without this minor hack
-    const int tid = cid;
-    cobject_id & coid = cobject_id_vector[tid];
-    coid.bpis_ptr = bis.get_bpis_ptr();
-    return cid;
-}
-
-void
-basic_iarchive_impl::load_preamble(
-    basic_iarchive & ar,
-    cobject_id & co
-){
-    if(! co.initialized){
-        if(co.bis_ptr->class_info()){
-            class_id_optional_type cid(class_id_type(0));
-            load(ar, cid);    // to be thrown away
-            load(ar, co.tracking_level);
-            load(ar, co.file_version);
-        }
-        else{
-            // override tracking with indicator from class information
-            co.tracking_level = co.bis_ptr->tracking(m_flags);
-            co.file_version = version_type(
-                co.bis_ptr->version()
-            );
-        }
-        co.initialized = true;
-    }
-}
-
-bool
-basic_iarchive_impl::track(
-    basic_iarchive & ar,
-    void * & t
-){
-    object_id_type oid;
-    load(ar, oid);
-
-    // if its a reference to a old object
-    if(object_id_type(object_id_vector.size()) > oid){
-        // we're done
-        t = object_id_vector[oid].address;
-        return false;
-    }
-    return true;
-}
-
-inline void
-basic_iarchive_impl::load_object(
-    basic_iarchive & ar,
-    void * t,
-    const basic_iserializer & bis
-){
-    // if its been serialized through a pointer and the preamble's been done
-    if(t == pending_object && & bis == pending_bis){
-        // read data
-        (bis.load_object_data)(ar, t, pending_version);
-        return;
-    }
-
-    const class_id_type cid = register_type(bis);
-    const int i = cid;
-    cobject_id & co = cobject_id_vector[i];
-
-    load_preamble(ar, co);
-
-    // save the current move stack position in case we want to truncate it
-    boost::serialization::state_saver<object_id_type> w(moveable_objects_start);
-
-    // note: extra line used to evade borland issue
-    const bool tracking = co.tracking_level;
-
-    object_id_type this_id;
-    moveable_objects_start =
-    this_id = object_id_type(object_id_vector.size());
-
-    // if we tracked this object when the archive was saved
-    if(tracking){ 
-        // if it was already read
-        if(!track(ar, t))
-            // we're done
-            return;
-        // add a new enty into the tracking list
-        object_id_vector.push_back(aobject(t, cid));
-        // and add an entry for this object
-        moveable_objects_end = object_id_type(object_id_vector.size());
-    }
-    // read data
-    (bis.load_object_data)(ar, t, co.file_version);
-    moveable_objects_recent = this_id;
-}
-
-inline const basic_pointer_iserializer *
-basic_iarchive_impl::load_pointer(
-    basic_iarchive &ar,
-    void * & t,
-    const basic_pointer_iserializer * bpis_ptr,
-    const basic_pointer_iserializer * (*finder)(
-        const boost::serialization::extended_type_info & type_
-    )
-
-){
-    class_id_type cid;
-    load(ar, cid);
-
-    if(NULL_POINTER_TAG == cid){
-        t = NULL;
-        return bpis_ptr;
-    }
-
-    // if its a new class type - i.e. never been registered
-    if(class_id_type(cobject_info_set.size()) <= cid){
-        // if its either abstract
-        if(NULL == bpis_ptr
-        // or polymorphic
-        || bpis_ptr->get_basic_serializer().is_polymorphic()){
-            // is must have been exported
-            char key[BOOST_SERIALIZATION_MAX_KEY_SIZE];
-            class_name_type class_name(key);
-            load(ar, class_name);
-            // if it has a class name
-            const serialization::extended_type_info *eti = NULL;
-            if(0 != key[0])
-                eti = serialization::extended_type_info::find(key);
-            if(NULL == eti)
-                boost::serialization::throw_exception(
-                    archive_exception(archive_exception::unregistered_class)
-                );
-            bpis_ptr = (*finder)(*eti);
-        }
-        BOOST_ASSERT(NULL != bpis_ptr);
-        class_id_type new_cid = register_type(bpis_ptr->get_basic_serializer());
-        int i = cid;
-        cobject_id_vector[i].bpis_ptr = bpis_ptr;
-        BOOST_ASSERT(new_cid == cid);
-    }
-    int i = cid;
-    cobject_id & co = cobject_id_vector[i];
-    bpis_ptr = co.bpis_ptr;
-
-    load_preamble(ar, co);
-
-    // extra line to evade borland issue
-    const bool tracking = co.tracking_level;
-    // if we're tracking and the pointer has already been read
-    if(tracking && ! track(ar, t))
-        // we're done
-        return bpis_ptr;
-
-    // save state
-    serialization::state_saver<object_id_type> w_start(moveable_objects_start);
-
-    if(! tracking){
-        bpis_ptr->load_object_ptr(ar, t, co.file_version);
-    }
-    else{
-        serialization::state_saver<void *> x(pending_object);
-        serialization::state_saver<const basic_iserializer *> y(pending_bis);
-        serialization::state_saver<version_type> z(pending_version);
-
-        pending_bis = & bpis_ptr->get_basic_serializer();
-        pending_version = co.file_version;
-
-        // predict next object id to be created
-        const unsigned int ui = object_id_vector.size();
-
-        serialization::state_saver<object_id_type> w_end(moveable_objects_end);
-
-        // because the following operation could move the items
-        // don't use co after this
-        // add to list of serialized objects so that we can properly handle
-        // cyclic strucures
-        object_id_vector.push_back(aobject(t, cid));
-
-        bpis_ptr->load_object_ptr(
-            ar, 
-            object_id_vector[ui].address, 
-            co.file_version
-        );
-        t = object_id_vector[ui].address;
-        object_id_vector[ui].loaded_as_pointer = true;
-        BOOST_ASSERT(NULL != t);
-    }
-
-    return bpis_ptr;
-}
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-//////////////////////////////////////////////////////////////////////
-// implementation of basic_iarchive functions
-namespace boost {
-namespace archive {
-namespace detail {
-
-BOOST_ARCHIVE_DECL(void)
-basic_iarchive::next_object_pointer(void *t){
-    pimpl->next_object_pointer(t);
-}
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_iarchive::basic_iarchive(unsigned int flags) : 
-    pimpl(new basic_iarchive_impl(flags))
-{}
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-basic_iarchive::~basic_iarchive()
-{
-    delete pimpl;
-}
-
-BOOST_ARCHIVE_DECL(void)
-basic_iarchive::set_library_version(library_version_type archive_library_version){
-    pimpl->set_library_version(archive_library_version);
-}
-
-BOOST_ARCHIVE_DECL(void)
-basic_iarchive::reset_object_address(
-    const void * new_address, 
-    const void * old_address
-){
-    pimpl->reset_object_address(new_address, old_address);
-}
-
-BOOST_ARCHIVE_DECL(void)
-basic_iarchive::load_object(
-    void *t, 
-    const basic_iserializer & bis
-){
-    pimpl->load_object(*this, t, bis);
-}
-
-// load a pointer object
-BOOST_ARCHIVE_DECL(const basic_pointer_iserializer *)
-basic_iarchive::load_pointer(
-    void * &t, 
-    const basic_pointer_iserializer * bpis_ptr,
-    const basic_pointer_iserializer * (*finder)(
-        const boost::serialization::extended_type_info & type_
-    )
-
-){
-    return pimpl->load_pointer(*this, t, bpis_ptr, finder);
-}
-
-BOOST_ARCHIVE_DECL(void)
-basic_iarchive::register_basic_serializer(const basic_iserializer & bis){
-    pimpl->register_type(bis);
-}
-
-BOOST_ARCHIVE_DECL(void)
-basic_iarchive::delete_created_pointers()
-{
-    pimpl->delete_created_pointers();
-}
-
-BOOST_ARCHIVE_DECL(boost::archive::library_version_type) 
-basic_iarchive::get_library_version() const{
-    return pimpl->m_archive_library_version;
-}
-
-BOOST_ARCHIVE_DECL(unsigned int) 
-basic_iarchive::get_flags() const{
-    return pimpl->m_flags;
-}
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/basic_iserializer.cpp b/SRC/Boost/libs/serialization/src/basic_iserializer.cpp
deleted file mode 100755
index d848967..0000000
--- a/SRC/Boost/libs/serialization/src/basic_iserializer.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_iserializer.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // NULL
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/detail/basic_iserializer.hpp>
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-basic_iserializer::basic_iserializer(
-    const boost::serialization::extended_type_info & eti
-) :
-    basic_serializer(eti), 
-    m_bpis(NULL)
-{}
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-basic_iserializer::~basic_iserializer(){}
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/basic_oarchive.cpp b/SRC/Boost/libs/serialization/src/basic_oarchive.cpp
deleted file mode 100755
index 9255b9a..0000000
--- a/SRC/Boost/libs/serialization/src/basic_oarchive.cpp
+++ /dev/null
@@ -1,459 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_oarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
-
-#include <boost/assert.hpp>
-#include <set>
-#include <cstddef> // NULL
-
-#include <boost/limits.hpp>
-#include <boost/serialization/state_saver.hpp>
-#include <boost/serialization/throw_exception.hpp>
-
-// including this here to work around an ICC in intel 7.0
-// normally this would be part of basic_oarchive.hpp below.
-#define BOOST_ARCHIVE_SOURCE
-// include this to prevent linker errors when the
-// same modules are marked export and import.
-#define BOOST_SERIALIZATION_SOURCE
-
-#include <boost/archive/detail/decl.hpp>
-#include <boost/archive/basic_archive.hpp>
-#include <boost/archive/detail/basic_oserializer.hpp>
-#include <boost/archive/detail/basic_pointer_oserializer.hpp>
-#include <boost/archive/detail/basic_oarchive.hpp>
-#include <boost/archive/archive_exception.hpp>
-#include <boost/serialization/extended_type_info.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4251 4231 4660 4275)
-#endif
-
-using namespace boost::serialization;
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-class basic_oarchive_impl {
-    friend class basic_oarchive;
-    unsigned int m_flags;
-
-    //////////////////////////////////////////////////////////////////////
-    // information about each serialized object saved
-    // keyed on address, class_id
-    struct aobject
-    {
-        const void * address;
-        class_id_type class_id;
-        object_id_type object_id;
-
-        bool operator<(const aobject &rhs) const
-        {
-            BOOST_ASSERT(NULL != address);
-            BOOST_ASSERT(NULL != rhs.address);
-            if( address < rhs.address )
-                return true;
-            if( address > rhs.address )
-                return false;
-            return class_id < rhs.class_id;
-        }
-        aobject & operator=(const aobject & rhs)
-        {
-            address = rhs.address;
-            class_id = rhs.class_id;
-            object_id = rhs.object_id;
-            return *this;
-        }
-        aobject(
-            const void *a,
-            class_id_type class_id_,
-            object_id_type object_id_
-        ) :
-            address(a),
-            class_id(class_id_),
-            object_id(object_id_)
-        {}
-        aobject() : address(NULL){}
-    };
-    // keyed on class_id, address
-    typedef std::set<aobject> object_set_type;
-    object_set_type object_set;
-
-    //////////////////////////////////////////////////////////////////////
-    // information about each serialized class saved
-    // keyed on type_info
-    struct cobject_type
-    {
-        const basic_oserializer * m_bos_ptr;
-        const class_id_type m_class_id;
-        bool m_initialized;
-        cobject_type(
-            std::size_t class_id,
-            const basic_oserializer & bos
-        ) :
-            m_bos_ptr(& bos),
-            m_class_id(class_id),
-            m_initialized(false)
-        {}
-        cobject_type(const basic_oserializer & bos)
-            : m_bos_ptr(& bos)
-        {}
-        cobject_type(
-            const cobject_type & rhs
-        ) :
-            m_bos_ptr(rhs.m_bos_ptr),
-            m_class_id(rhs.m_class_id),
-            m_initialized(rhs.m_initialized)
-        {}
-        // the following cannot be defined because of the const
-        // member.  This will generate a link error if an attempt
-        // is made to assign.  This should never be necessary
-        // use this only for lookup argument 
-        cobject_type & operator=(const cobject_type &rhs);
-        bool operator<(const cobject_type &rhs) const {
-            return *m_bos_ptr < *(rhs.m_bos_ptr);
-        }
-    };
-    // keyed on type_info
-    typedef std::set<cobject_type> cobject_info_set_type;
-    cobject_info_set_type cobject_info_set;
-
-    // list of objects initially stored as pointers - used to detect errors
-    // keyed on object id
-    std::set<object_id_type> stored_pointers;
-
-    // address of the most recent object serialized as a poiner
-    // whose data itself is now pending serialization
-    const void * pending_object;
-    const basic_oserializer * pending_bos;
-
-    basic_oarchive_impl(unsigned int flags) :
-        m_flags(flags),
-        pending_object(NULL),
-        pending_bos(NULL)
-    {}
-
-    const cobject_type &
-    find(const basic_oserializer & bos);
-    const basic_oserializer *  
-    find(const serialization::extended_type_info &ti) const;
-
-//public:
-    const cobject_type &
-    register_type(const basic_oserializer & bos);
-    void save_object(
-        basic_oarchive & ar,
-        const void *t,
-        const basic_oserializer & bos
-    );
-    void save_pointer(
-        basic_oarchive & ar,
-        const void * t, 
-        const basic_pointer_oserializer * bpos
-    );
-};
-
-//////////////////////////////////////////////////////////////////////
-// basic_oarchive implementation functions
-
-// given a type_info - find its bos
-// return NULL if not found
-inline const basic_oserializer *
-basic_oarchive_impl::find(const serialization::extended_type_info & ti) const {
-    #ifdef BOOST_MSVC
-    #  pragma warning(push)
-    #  pragma warning(disable : 4511 4512)
-    #endif
-    class bosarg : 
-        public basic_oserializer
-    {
-        bool class_info() const {
-            BOOST_ASSERT(false); 
-            return false;
-        }
-        // returns true if objects should be tracked
-        bool tracking(const unsigned int) const {
-            BOOST_ASSERT(false);
-            return false;
-        }
-        // returns class version
-        version_type version() const {
-            BOOST_ASSERT(false);
-            return version_type(0);
-        }
-        // returns true if this class is polymorphic
-        bool is_polymorphic() const{
-            BOOST_ASSERT(false);
-            return false;
-        }
-        void save_object_data(      
-            basic_oarchive & /*ar*/, const void * /*x*/
-        ) const {
-            BOOST_ASSERT(false);
-        }
-    public:
-        bosarg(const serialization::extended_type_info & eti) :
-          boost::archive::detail::basic_oserializer(eti)
-        {}
-    };
-    #ifdef BOOST_MSVC
-    #pragma warning(pop)
-    #endif
-    bosarg bos(ti);
-    cobject_info_set_type::const_iterator cit 
-        = cobject_info_set.find(cobject_type(bos));
-    // it should already have been "registered" - see below
-    if(cit == cobject_info_set.end()){
-        // if an entry is not found in the table it is because a pointer
-        // of a derived class has been serialized through its base class
-        // but the derived class hasn't been "registered" 
-        return NULL;
-    }
-    // return pointer to the real class
-    return cit->m_bos_ptr;
-}
-
-inline const basic_oarchive_impl::cobject_type &
-basic_oarchive_impl::find(const basic_oserializer & bos)
-{
-    std::pair<cobject_info_set_type::iterator, bool> cresult = 
-        cobject_info_set.insert(cobject_type(cobject_info_set.size(), bos));
-    return *(cresult.first);
-}
-
-inline const basic_oarchive_impl::cobject_type &
-basic_oarchive_impl::register_type(
-    const basic_oserializer & bos
-){
-    cobject_type co(cobject_info_set.size(), bos);
-    std::pair<cobject_info_set_type::const_iterator, bool>
-        result = cobject_info_set.insert(co);
-    return *(result.first);
-}
-
-inline void
-basic_oarchive_impl::save_object(
-    basic_oarchive & ar,
-    const void *t,
-    const basic_oserializer & bos
-){
-    // if its been serialized through a pointer and the preamble's been done
-    if(t == pending_object && pending_bos == & bos){
-        // just save the object data
-        ar.end_preamble();
-        (bos.save_object_data)(ar, t);
-        return;
-    }
-
-    // get class information for this object
-    const cobject_type & co = register_type(bos);
-    if(bos.class_info()){
-        if( ! co.m_initialized){
-            ar.vsave(class_id_optional_type(co.m_class_id));
-            ar.vsave(tracking_type(bos.tracking(m_flags)));
-            ar.vsave(version_type(bos.version()));
-            (const_cast<cobject_type &>(co)).m_initialized = true;
-        }
-    }
-
-    // we're not tracking this type of object
-    if(! bos.tracking(m_flags)){
-        // just windup the preamble - no object id to write
-        ar.end_preamble();
-        // and save the data
-        (bos.save_object_data)(ar, t);
-        return;
-    }
-
-    // look for an existing object id
-    object_id_type oid(object_set.size());
-    // lookup to see if this object has already been written to the archive
-    basic_oarchive_impl::aobject ao(t, co.m_class_id, oid);
-    std::pair<basic_oarchive_impl::object_set_type::const_iterator, bool>
-        aresult = object_set.insert(ao);
-    oid = aresult.first->object_id;
-
-    // if its a new object
-    if(aresult.second){
-        // write out the object id
-        ar.vsave(oid);
-        ar.end_preamble();
-        // and data
-        (bos.save_object_data)(ar, t);
-        return;
-    }
-
-    // check that it wasn't originally stored through a pointer
-    if(stored_pointers.end() != stored_pointers.find(oid)){
-        // this has to be a user error.  loading such an archive
-        // would create duplicate objects
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::pointer_conflict)
-        );
-    }
-    // just save the object id
-    ar.vsave(object_reference_type(oid));
-    ar.end_preamble();
-    return;
-}
-
-// save a pointer to an object instance
-inline void
-basic_oarchive_impl::save_pointer(
-    basic_oarchive & ar,
-    const void * t, 
-    const basic_pointer_oserializer * bpos_ptr
-){
-    const basic_oserializer & bos = bpos_ptr->get_basic_serializer();
-    std::size_t original_count = cobject_info_set.size();
-    const cobject_type & co = register_type(bos);
-    if(! co.m_initialized){
-        ar.vsave(co.m_class_id);
-        // if its a previously unregistered class 
-        if((cobject_info_set.size() > original_count)){
-            if(bos.is_polymorphic()){
-                const serialization::extended_type_info *eti = & bos.get_eti();
-                const char * key = NULL;
-                if(NULL != eti)
-                    key = eti->get_key();
-                if(NULL != key){
-                    // the following is required by IBM C++ compiler which
-                    // makes a copy when passing a non-const to a const.  This
-                    // is permitted by the standard but rarely seen in practice
-                    const class_name_type cn(key);
-                    // write out the external class identifier
-                    ar.vsave(cn);
-                }
-                else
-                    // without an external class name
-                    // we won't be able to de-serialize it so bail now
-                    boost::serialization::throw_exception(
-                        archive_exception(archive_exception::unregistered_class)
-                    );
-            }
-        }
-        if(bos.class_info()){
-            ar.vsave(tracking_type(bos.tracking(m_flags)));
-            ar.vsave(version_type(bos.version()));
-        }
-        (const_cast<cobject_type &>(co)).m_initialized = true;
-    }
-    else{
-        ar.vsave(class_id_reference_type(co.m_class_id));
-    }
-
-    // if we're not tracking
-    if(! bos.tracking(m_flags)){
-        // just save the data itself
-        ar.end_preamble();
-        serialization::state_saver<const void *> x(pending_object);
-        serialization::state_saver<const basic_oserializer *> y(pending_bos);
-        pending_object = t;
-        pending_bos = & bpos_ptr->get_basic_serializer();
-        bpos_ptr->save_object_ptr(ar, t);
-        return;
-    }
-
-    object_id_type oid(object_set.size());
-    // lookup to see if this object has already been written to the archive
-    basic_oarchive_impl::aobject ao(t, co.m_class_id, oid);
-    std::pair<basic_oarchive_impl::object_set_type::const_iterator, bool>
-        aresult = object_set.insert(ao);
-    oid = aresult.first->object_id;
-    // if the saved object already exists
-    if(! aresult.second){
-        // append the object id to he preamble
-        ar.vsave(object_reference_type(oid));
-        // and windup.
-        ar.end_preamble();
-        return;
-    }
-
-    // append id of this object to preamble
-    ar.vsave(oid);
-    ar.end_preamble();
-
-    // and save the object itself
-    serialization::state_saver<const void *> x(pending_object);
-    serialization::state_saver<const basic_oserializer *> y(pending_bos);
-    pending_object = t;
-    pending_bos = & bpos_ptr->get_basic_serializer();
-    bpos_ptr->save_object_ptr(ar, t);
-    // add to the set of object initially stored through pointers
-    stored_pointers.insert(oid);
-}
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-//////////////////////////////////////////////////////////////////////
-// implementation of basic_oarchive functions
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-basic_oarchive::basic_oarchive(unsigned int flags)
-    : pimpl(new basic_oarchive_impl(flags))
-{}
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-basic_oarchive::~basic_oarchive()
-{
-    delete pimpl;
-}
-
-BOOST_ARCHIVE_DECL(void) 
-basic_oarchive::save_object(
-    const void *x, 
-    const basic_oserializer & bos
-){
-    pimpl->save_object(*this, x, bos);
-}
-
-BOOST_ARCHIVE_DECL(void) 
-basic_oarchive::save_pointer(
-    const void * t, 
-    const basic_pointer_oserializer * bpos_ptr
-){
-    pimpl->save_pointer(*this, t, bpos_ptr);
-}
-
-BOOST_ARCHIVE_DECL(void) 
-basic_oarchive::register_basic_serializer(const basic_oserializer & bos){
-    pimpl->register_type(bos);
-}
-
-BOOST_ARCHIVE_DECL(library_version_type)
-basic_oarchive::get_library_version() const{
-    return BOOST_ARCHIVE_VERSION();
-}
-
-BOOST_ARCHIVE_DECL(unsigned int)
-basic_oarchive::get_flags() const{
-    return pimpl->m_flags;
-}
-
-BOOST_ARCHIVE_DECL(void) 
-basic_oarchive::end_preamble(){
-}
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
diff --git a/SRC/Boost/libs/serialization/src/basic_oserializer.cpp b/SRC/Boost/libs/serialization/src/basic_oserializer.cpp
deleted file mode 100755
index be7b36c..0000000
--- a/SRC/Boost/libs/serialization/src/basic_oserializer.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_oserializer.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // NULL
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/detail/basic_oserializer.hpp>
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-basic_oserializer::basic_oserializer(
-        const boost::serialization::extended_type_info & eti
-) :
-    basic_serializer(eti), 
-    m_bpos(NULL)
-{}
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-basic_oserializer::~basic_oserializer(){}
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/basic_pointer_iserializer.cpp b/SRC/Boost/libs/serialization/src/basic_pointer_iserializer.cpp
deleted file mode 100755
index 3521960..0000000
--- a/SRC/Boost/libs/serialization/src/basic_pointer_iserializer.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_pointer_iserializer.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/detail/basic_pointer_iserializer.hpp>
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-basic_pointer_iserializer::basic_pointer_iserializer(
-    const boost::serialization::extended_type_info & eti
-) :
-    basic_serializer(eti)
-{}
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-basic_pointer_iserializer::~basic_pointer_iserializer() {}
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/basic_pointer_oserializer.cpp b/SRC/Boost/libs/serialization/src/basic_pointer_oserializer.cpp
deleted file mode 100755
index c642d35..0000000
--- a/SRC/Boost/libs/serialization/src/basic_pointer_oserializer.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_pointer_oserializer.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/detail/basic_pointer_oserializer.hpp>
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-basic_pointer_oserializer::basic_pointer_oserializer(
-    const boost::serialization::extended_type_info & eti
-) :
-    basic_serializer(eti)
-{}
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
-basic_pointer_oserializer::~basic_pointer_oserializer() {}
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/basic_serializer_map.cpp b/SRC/Boost/libs/serialization/src/basic_serializer_map.cpp
deleted file mode 100755
index 8fe83ad..0000000
--- a/SRC/Boost/libs/serialization/src/basic_serializer_map.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// serializer_map.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <set>
-#include <utility>
-
-#define BOOST_ARCHIVE_SOURCE
-// include this to prevent linker errors when the
-// same modules are marked export and import.
-#define BOOST_SERIALIZATION_SOURCE
-
-#include <boost/archive/archive_exception.hpp>
-#include <boost/serialization/throw_exception.hpp>
-
-#include <boost/archive/detail/basic_serializer.hpp>
-#include <boost/archive/detail/basic_serializer_map.hpp>
-
-namespace boost {
-    namespace serialization {
-        class extended_type_info;
-    }
-namespace archive {
-namespace detail {
-
-bool  
-basic_serializer_map::type_info_pointer_compare::operator()(
-    const basic_serializer * lhs, const basic_serializer * rhs
-) const {
-    return *lhs < *rhs;
-}
-
-BOOST_ARCHIVE_DECL(bool) 
-basic_serializer_map::insert(const basic_serializer * bs){
-    // attempt to insert serializer into it's map
-    const std::pair<map_type::iterator, bool> result =
-        m_map.insert(bs);
-    // the following is commented out - rather than being just
-    // deleted as a reminder not to try this.
-
-    // At first it seemed like a good idea.  It enforced the
-    // idea that a type be exported from at most one code module
-    // (DLL or mainline).  This would enforce a "one definition rule" 
-    // across code modules. This seems a good idea to me.  
-    // But it seems that it's just too hard for many users to implement.
-
-    // Ideally, I would like to make this exception a warning -
-    // but there isn't anyway to do that.
-
-    // if this fails, it's because it's been instantiated
-    // in multiple modules - DLLS - a recipe for problems.
-    // So trap this here
-    // if(!result.second){
-    //     boost::serialization::throw_exception(
-    //         archive_exception(
-    //             archive_exception::multiple_code_instantiation,
-    //             bs->get_debug_info()
-    //         )
-    //     );
-    // }
-    return true;
-}
-
-BOOST_ARCHIVE_DECL(void) 
-basic_serializer_map::erase(const basic_serializer * bs){
-    map_type::iterator it = m_map.begin();
-    map_type::iterator it_end = m_map.end();
-
-    while(it != it_end){
-        // note item 9 from Effective STL !!! it++
-        if(*it == bs)
-            m_map.erase(it++);
-        else
-            it++;
-    }
-    // note: we can't do this since some of the eti records
-    // we're pointing to might be expired and the comparison
-    // won't work.  Leave this as a reminder not to "optimize" this.
-    //it = m_map.find(bs);
-    //assert(it != m_map.end());
-    //if(*it == bs)
-    //    m_map.erase(it);
-}
-BOOST_ARCHIVE_DECL(const basic_serializer *)
-basic_serializer_map::find(
-    const boost::serialization::extended_type_info & eti
-) const {
-    const basic_serializer_arg bs(eti);
-    map_type::const_iterator it;
-    it = m_map.find(& bs);
-    if(it == m_map.end()){
-        BOOST_ASSERT(false);
-        return 0;
-    }
-    return *it;
-}
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
diff --git a/SRC/Boost/libs/serialization/src/basic_text_iprimitive.cpp b/SRC/Boost/libs/serialization/src/basic_text_iprimitive.cpp
deleted file mode 100755
index 148a55d..0000000
--- a/SRC/Boost/libs/serialization/src/basic_text_iprimitive.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_text_iprimitive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <istream>
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/impl/basic_text_iprimitive.ipp>
-
-namespace boost {
-namespace archive {
-
-// explicitly instantiate for this type of text stream
-template class basic_text_iprimitive<std::istream> ;
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/basic_text_oprimitive.cpp b/SRC/Boost/libs/serialization/src/basic_text_oprimitive.cpp
deleted file mode 100755
index 584f1bb..0000000
--- a/SRC/Boost/libs/serialization/src/basic_text_oprimitive.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_text_oprimitive.cpp:
-
-// (C) Copyright 2004 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <ostream>
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/archive/impl/basic_text_oprimitive.ipp>
-
-namespace boost {
-namespace archive {
-
-// explicitly instantiate for this type of text stream
-template class basic_text_oprimitive<std::ostream> ;
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/basic_text_wiprimitive.cpp b/SRC/Boost/libs/serialization/src/basic_text_wiprimitive.cpp
deleted file mode 100755
index 4c42ecd..0000000
--- a/SRC/Boost/libs/serialization/src/basic_text_wiprimitive.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_text_wiprimitive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <istream>
-
-#define BOOST_WARCHIVE_SOURCE
-#include <boost/archive/detail/auto_link_warchive.hpp>
-#include <boost/archive/impl/basic_text_iprimitive.ipp>
-
-namespace boost {
-namespace archive {
-
-template class basic_text_iprimitive<std::wistream> ;
-
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Boost/libs/serialization/src/basic_text_woprimitive.cpp b/SRC/Boost/libs/serialization/src/basic_text_woprimitive.cpp
deleted file mode 100755
index 3f9c7f0..0000000
--- a/SRC/Boost/libs/serialization/src/basic_text_woprimitive.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_text_woprimitive.cpp:
-
-// (C) Copyright 2004 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <ostream>
-
-#define BOOST_WARCHIVE_SOURCE
-#include <boost/archive/detail/auto_link_warchive.hpp>
-#include <boost/archive/impl/basic_text_oprimitive.ipp>
-
-namespace boost {
-namespace archive {
-
-template class basic_text_oprimitive<std::wostream> ;
-
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Boost/libs/serialization/src/basic_xml_archive.cpp b/SRC/Boost/libs/serialization/src/basic_xml_archive.cpp
deleted file mode 100755
index 541c316..0000000
--- a/SRC/Boost/libs/serialization/src/basic_xml_archive.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_xml_archive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/basic_xml_archive.hpp>
-
-namespace boost {
-namespace archive {
-
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_OBJECT_ID(){
-    return "object_id";
-}
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_OBJECT_REFERENCE(){
-    return "object_id_reference";
-}
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_CLASS_ID(){
-    return "class_id";
-}
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_CLASS_ID_REFERENCE(){
-    return "class_id_reference";
-}
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_CLASS_NAME(){
-    return "class_name";
-}
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_TRACKING(){
-    return "tracking_level";
-}
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_VERSION(){
-    return "version";
-}
-BOOST_ARCHIVE_DECL(const char *)
-BOOST_ARCHIVE_XML_SIGNATURE(){
-    return "signature";
-}
-
-}// namespace archive
-}// namespace boost
diff --git a/SRC/Boost/libs/serialization/src/basic_xml_grammar.ipp b/SRC/Boost/libs/serialization/src/basic_xml_grammar.ipp
deleted file mode 100755
index 61325b0..0000000
--- a/SRC/Boost/libs/serialization/src/basic_xml_grammar.ipp
+++ /dev/null
@@ -1,468 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_xml_grammar.ipp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <istream>
-#include <algorithm>
-#include <boost/config.hpp> // BOOST_DEDUCED_TYPENAME
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-// spirit stuff
-#include <boost/spirit/include/classic_operators.hpp>
-#include <boost/spirit/include/classic_actions.hpp>
-#include <boost/spirit/include/classic_numerics.hpp>
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-// for head_iterator test
-//#include <boost/bind.hpp> 
-#include <boost/function.hpp>
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/io/ios_state.hpp>
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/archive/impl/basic_xml_grammar.hpp>
-#include <boost/archive/xml_archive_exception.hpp>
-#include <boost/archive/basic_xml_archive.hpp>
-#include <boost/archive/iterators/xml_unescape.hpp>
-
-using namespace boost::spirit::classic;
-
-namespace boost {
-namespace archive {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// template code for basic_xml_grammar of both wchar_t and char types
-
-namespace xml { // anonymous
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-template<class T>
-struct assign_impl {
-    T & t;
-    void operator()(const T t_) const {
-        t = t_;
-    }
-    assign_impl(T &  t_)
-        : t(t_)
-    {}
-};
-
-template<>
-struct assign_impl<std::string> {
-    std::string & t;
-    void operator()(
-        std::string::const_iterator b, 
-        std::string::const_iterator e
-    ) const {
-        t.resize(0);
-        while(b != e){
-            t += * b;
-            ++b;
-        }
-    }
-    assign_impl<std::string> & operator=(
-        assign_impl<std::string> & rhs
-    );
-    assign_impl(std::string & t_)
-        : t(t_)
-    {}
-};
-
-#ifndef BOOST_NO_STD_WSTRING
-template<>
-struct assign_impl<std::wstring> {
-    std::wstring & t;
-    void operator()(
-        std::wstring::const_iterator b, 
-        std::wstring::const_iterator e
-    ) const {
-        t.resize(0);
-        while(b != e){
-            t += * b;
-            ++b;
-        }
-    }
-    assign_impl(std::wstring & t_)
-        : t(t_)
-    {}
-};
-#endif
-
-template<class T>
-assign_impl<T> assign_object(T &t){
-    return assign_impl<T>(t);
-} 
-
-struct assign_level {
-    tracking_type & tracking_level;
-    void operator()(const unsigned int tracking_level_) const {
-        tracking_level = (0 == tracking_level_) ? false : true;
-    }
-    assign_level(tracking_type &  tracking_level_)
-        : tracking_level(tracking_level_)
-    {}
-};
-
-template<class String, class Iterator>
-struct append_string {
-    String & contents;
-    void operator()(Iterator start, Iterator end) const {
-    #if 0
-        typedef boost::archive::iterators::xml_unescape<Iterator> translator;
-        contents.append(
-            translator(BOOST_MAKE_PFTO_WRAPPER(start)), 
-            translator(BOOST_MAKE_PFTO_WRAPPER(end))
-        );
-    #endif
-        contents.append(start, end);
-    }
-    append_string(String & contents_)
-        : contents(contents_)
-    {}
-};
-
-template<class String>
-struct append_char {
-    String & contents;
-    void operator()(const unsigned int char_value) const {
-        const BOOST_DEDUCED_TYPENAME String::value_type z = char_value;
-        contents += z;
-    }
-    append_char(String & contents_)
-        : contents(contents_)
-    {}
-};
-
-template<class String, unsigned int c>
-struct append_lit {
-    String & contents;
-    template<class X, class Y>
-    void operator()(const X & /*x*/, const Y & /*y*/) const {
-        const BOOST_DEDUCED_TYPENAME String::value_type z = c;
-        contents += z;
-    }
-    append_lit(String & contents_)
-        : contents(contents_)
-    {}
-};
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-} // namespace anonymous
-
-template<class CharType>
-bool basic_xml_grammar<CharType>::my_parse(
-    BOOST_DEDUCED_TYPENAME basic_xml_grammar<CharType>::IStream & is,
-    const rule_t & rule_,
-    CharType delimiter
-) const {
-    if(is.fail()){
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::input_stream_error)
-        );
-    }
-    
-    boost::io::ios_flags_saver ifs(is);
-    is >> std::noskipws;
-
-    std::basic_string<CharType> arg;
-    
-    CharType val;
-    do{
-        BOOST_DEDUCED_TYPENAME basic_xml_grammar<CharType>::IStream::int_type
-            result = is.get();
-        if(is.fail())
-            return false;
-        val = static_cast<CharType>(result);
-        arg += val;
-    }
-    while(val != delimiter);
-    
-    // read just one more character.  This will be the newline after the tag
-    // this is so that the next operation will return fail if the archive
-    // is terminated.  This will permit the archive to be used for debug
-    // and transaction data logging in the standard way.
-    
-    parse_info<BOOST_DEDUCED_TYPENAME std::basic_string<CharType>::iterator> 
-        result = boost::spirit::classic::parse(arg.begin(), arg.end(), rule_);
-    return result.hit;
-}
-
-template<class CharType>
-bool basic_xml_grammar<CharType>::parse_start_tag(
-    BOOST_DEDUCED_TYPENAME basic_xml_grammar<CharType>::IStream & is
-){
-    rv.class_name.resize(0);
-    return my_parse(is, STag);
-}
-
-template<class CharType>
-bool basic_xml_grammar<CharType>::parse_end_tag(IStream & is) const {
-    return my_parse(is, ETag);
-}
-
-template<class CharType>
-bool basic_xml_grammar<CharType>::parse_string(IStream & is, StringType & s){
-    rv.contents.resize(0);
-    bool result = my_parse(is, content, '<');
-    // note: unget caused a problem with dinkumware.  replace with
- // is.unget();
-    // putback another dilimiter instead
-    is.putback('<');
-    if(result)
-        s = rv.contents;
-    return result;
-}
-
-template<class CharType>
-basic_xml_grammar<CharType>::basic_xml_grammar(){
-    init_chset();
-
-    S =
-        +(Sch)
-    ;
-
-    // refactoring to workaround template depth on darwin
-    NameHead = (Letter | '_' | ':');
-    NameTail = *NameChar ;
-    Name =
-      NameHead >> NameTail
-    ;
-
-    Eq =
-        !S >> '=' >> !S
-    ;
-
-    AttributeList = 
-        *(S >> Attribute)
-    ;
-    
-    STag =
-        !S
-        >> '<'
-        >> Name  [xml::assign_object(rv.object_name)]
-        >> AttributeList
-        >> !S
-        >> '>'
-    ;
-
-    ETag =
-        !S
-        >> "</"
-        >> Name [xml::assign_object(rv.object_name)]
-        >> !S 
-        >> '>'
-    ;
-
-    // refactoring to workaround template depth on darwin
-    CharDataChars = +(anychar_p - chset_p(L"&<"));
-    CharData =  
-        CharDataChars [
-            xml::append_string<
-                StringType, 
-                BOOST_DEDUCED_TYPENAME std::basic_string<CharType>::const_iterator
-            >(rv.contents)
-        ]
-    ;
-
-    // slight factoring works around ICE in msvc 6.0
-    CharRef1 = 
-        str_p(L"&#") >> uint_p [xml::append_char<StringType>(rv.contents)] >> L';'
-    ;
-    CharRef2 =
-        str_p(L"&#x") >> hex_p [xml::append_char<StringType>(rv.contents)] >> L';'
-    ;
-    CharRef = CharRef1 | CharRef2 ;
-
-    AmpRef = str_p(L"&")[xml::append_lit<StringType, L'&'>(rv.contents)];
-    LTRef = str_p(L"<")[xml::append_lit<StringType, L'<'>(rv.contents)];
-    GTRef = str_p(L">")[xml::append_lit<StringType, L'>'>(rv.contents)];
-    AposRef = str_p(L"'")[xml::append_lit<StringType, L'\''>(rv.contents)];
-    QuoteRef = str_p(L""")[xml::append_lit<StringType, L'"'>(rv.contents)];
-
-    Reference =
-        AmpRef
-        | LTRef
-        | GTRef
-        | AposRef
-        | QuoteRef
-        | CharRef
-    ;
-
-    content = 
-        L"<" // should be end_p
-        | +(Reference | CharData) >> L"<"
-    ;
-
-    ClassIDAttribute = 
-        str_p(BOOST_ARCHIVE_XML_CLASS_ID()) >> NameTail
-        >> Eq 
-        >> L'"'
-        >> int_p [xml::assign_object(rv.class_id)]
-        >> L'"'
-      ;
-
-    ObjectIDAttribute = (
-        str_p(BOOST_ARCHIVE_XML_OBJECT_ID()) 
-        | 
-        str_p(BOOST_ARCHIVE_XML_OBJECT_REFERENCE()) 
-        )
-        >> NameTail
-        >> Eq 
-        >> L'"'
-        >> L'_'
-        >> uint_p [xml::assign_object(rv.object_id)]
-        >> L'"'
-    ;
-        
-    AmpName = str_p(L"&")[xml::append_lit<StringType, L'&'>(rv.class_name)];
-    LTName = str_p(L"<")[xml::append_lit<StringType, L'<'>(rv.class_name)];
-    GTName = str_p(L">")[xml::append_lit<StringType, L'>'>(rv.class_name)];
-    ClassNameChar = 
-        AmpName
-        | LTName
-        | GTName
-        | (anychar_p - chset_p(L"\"")) [xml::append_char<StringType>(rv.class_name)]
-    ;
-    
-    ClassName =
-        * ClassNameChar
-    ;
-    
-    ClassNameAttribute = 
-        str_p(BOOST_ARCHIVE_XML_CLASS_NAME()) 
-        >> Eq 
-        >> L'"'
-        >> ClassName
-        >> L'"'
-    ;
-
-    TrackingAttribute = 
-        str_p(BOOST_ARCHIVE_XML_TRACKING())
-        >> Eq
-        >> L'"'
-        >> uint_p [xml::assign_level(rv.tracking_level)]
-        >> L'"'
-    ;
-
-    VersionAttribute = 
-        str_p(BOOST_ARCHIVE_XML_VERSION())
-        >> Eq
-        >> L'"'
-        >> uint_p [xml::assign_object(rv.version)]
-        >> L'"'
-    ;
-
-    UnusedAttribute = 
-        Name
-        >> Eq
-        >> L'"'
-        >> !CharData
-        >> L'"'
-    ;
-
-    Attribute =
-        ClassIDAttribute
-        | ObjectIDAttribute
-        | ClassNameAttribute
-        | TrackingAttribute
-        | VersionAttribute
-        | UnusedAttribute
-    ;
-
-    XMLDeclChars = *(anychar_p - chset_p(L"?>"));
-    XMLDecl =
-        !S
-        >> str_p(L"<?xml")
-        >> S
-        >> str_p(L"version")
-        >> Eq
-        >> str_p(L"\"1.0\"")
-        >> XMLDeclChars
-        >> !S
-        >> str_p(L"?>")
-    ;
-
-    DocTypeDeclChars = *(anychar_p - chset_p(L">"));
-    DocTypeDecl =
-        !S
-        >> str_p(L"<!DOCTYPE")
-        >> DocTypeDeclChars
-        >> L'>'
-    ;
-
-    SignatureAttribute = 
-        str_p(L"signature") 
-        >> Eq 
-        >> L'"'
-        >> Name [xml::assign_object(rv.class_name)]
-        >> L'"'
-    ;
-    
-    SerializationWrapper =
-        !S
-        >> str_p(L"<boost_serialization")
-        >> S
-        >> ( (SignatureAttribute >> S >> VersionAttribute)
-           | (VersionAttribute >> S >> SignatureAttribute)
-           )
-        >> !S
-        >> L'>'
-    ;
-}
-
-template<class CharType>
-void basic_xml_grammar<CharType>::init(IStream & is){
-    init_chset();
-    if(! my_parse(is, XMLDecl))
-        boost::serialization::throw_exception(
-            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
-        );
-    if(! my_parse(is, DocTypeDecl))
-        boost::serialization::throw_exception(
-            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
-        );
-    if(! my_parse(is, SerializationWrapper))
-        boost::serialization::throw_exception(
-            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
-        );
-    if(! std::equal(rv.class_name.begin(), rv.class_name.end(), BOOST_ARCHIVE_SIGNATURE()))
-        boost::serialization::throw_exception(
-            archive_exception(archive_exception::invalid_signature)
-        );
-}
-
-template<class CharType>
-void basic_xml_grammar<CharType>::windup(IStream & is){
-    if(is.fail())
-        return;
-    // uh-oh - don't throw exception from code called by a destructor !
-    // so just ignore any failure.
-    my_parse(is, ETag);
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/binary_iarchive.cpp b/SRC/Boost/libs/serialization/src/binary_iarchive.cpp
deleted file mode 100755
index 3bcf980..0000000
--- a/SRC/Boost/libs/serialization/src/binary_iarchive.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_iarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <istream>
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/binary_iarchive.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_binary_iprimitive.ipp>
-#include <boost/archive/impl/basic_binary_iarchive.ipp>
-
-namespace boost {
-namespace archive {
-
-// explicitly instantiate for this type of stream
-template class detail::archive_serializer_map<naked_binary_iarchive>;
-template class basic_binary_iprimitive<
-    naked_binary_iarchive,
-    std::istream::char_type, 
-    std::istream::traits_type
->;
-template class basic_binary_iarchive<naked_binary_iarchive> ;
-template class binary_iarchive_impl<
-    naked_binary_iarchive, 
-    std::istream::char_type, 
-    std::istream::traits_type
->;
-
-// explicitly instantiate for this type of stream
-template class detail::archive_serializer_map<binary_iarchive>;
-template class basic_binary_iprimitive<
-    binary_iarchive,
-    std::istream::char_type, 
-    std::istream::traits_type
->;
-template class basic_binary_iarchive<binary_iarchive> ;
-template class binary_iarchive_impl<
-    binary_iarchive, 
-    std::istream::char_type, 
-    std::istream::traits_type
->;
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/binary_oarchive.cpp b/SRC/Boost/libs/serialization/src/binary_oarchive.cpp
deleted file mode 100755
index ac3796c..0000000
--- a/SRC/Boost/libs/serialization/src/binary_oarchive.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_oarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <ostream>
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/binary_oarchive.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-// explicitly instantiate for this type of binary stream
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_binary_oprimitive.ipp>
-#include <boost/archive/impl/basic_binary_oarchive.ipp>
-
-namespace boost {
-namespace archive {
-
-template class detail::archive_serializer_map<binary_oarchive>;
-template class basic_binary_oprimitive<
-    binary_oarchive, 
-    std::ostream::char_type, 
-    std::ostream::traits_type
->;
-template class basic_binary_oarchive<binary_oarchive> ;
-template class binary_oarchive_impl<
-    binary_oarchive, 
-    std::ostream::char_type, 
-    std::ostream::traits_type
->;
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/binary_wiarchive.cpp b/SRC/Boost/libs/serialization/src/binary_wiarchive.cpp
deleted file mode 100755
index d2d707b..0000000
--- a/SRC/Boost/libs/serialization/src/binary_wiarchive.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_wiarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#define BOOST_WARCHIVE_SOURCE
-#include <boost/archive/binary_wiarchive.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-// explicitly instantiate for this type of text stream
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_binary_iprimitive.ipp>
-#include <boost/archive/impl/basic_binary_iarchive.ipp>
-
-namespace boost {
-namespace archive {
-
-template class detail::archive_serializer_map<naked_binary_wiarchive>;
-template class basic_binary_iprimitive<
-    naked_binary_wiarchive,
-    wchar_t, 
-    std::char_traits<wchar_t> 
->;
-template class basic_binary_iarchive<naked_binary_wiarchive> ;
-template class binary_iarchive_impl<
-    naked_binary_wiarchive, 
-    wchar_t, 
-    std::char_traits<wchar_t> 
->;
-
-// explicitly instantiate for this type of text stream
-template class detail::archive_serializer_map<binary_wiarchive>;
-template class basic_binary_iprimitive<
-    binary_wiarchive,
-    wchar_t, 
-    std::char_traits<wchar_t> 
->;
-template class basic_binary_iarchive<binary_wiarchive> ;
-template class binary_iarchive_impl<
-    binary_wiarchive, 
-    wchar_t, 
-    std::char_traits<wchar_t> 
->;
-
-} // namespace archive
-} // namespace boost
-
-#endif  // BOOST_NO_STD_WSTREAMBUF
-
diff --git a/SRC/Boost/libs/serialization/src/binary_woarchive.cpp b/SRC/Boost/libs/serialization/src/binary_woarchive.cpp
deleted file mode 100755
index f72d255..0000000
--- a/SRC/Boost/libs/serialization/src/binary_woarchive.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_woarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#define BOOST_WARCHIVE_SOURCE
-#include <boost/archive/binary_woarchive.hpp>
-
-// explicitly instantiate for this type of text stream
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_binary_oprimitive.ipp>
-#include <boost/archive/impl/basic_binary_oarchive.ipp>
-
-namespace boost {
-namespace archive {
-
-template class detail::archive_serializer_map<binary_woarchive>;
-template class basic_binary_oprimitive<
-    binary_woarchive, 
-    wchar_t, 
-    std::char_traits<wchar_t> 
->;
-template class basic_binary_oarchive<binary_woarchive> ;
-template class binary_oarchive_impl<
-    binary_woarchive, 
-    wchar_t, 
-    std::char_traits<wchar_t> 
->;
-
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Boost/libs/serialization/src/codecvt_null.cpp b/SRC/Boost/libs/serialization/src/codecvt_null.cpp
deleted file mode 100755
index c76d89b..0000000
--- a/SRC/Boost/libs/serialization/src/codecvt_null.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// codecvt_null.cpp
-
-// Copyright (c) 2004 Robert Ramey, Indiana University (garcia at osl.iu.edu)
-// Andrew Lumsdaine, Indiana University (lums at osl.iu.edu). 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_WARCHIVE_SOURCE
-#include <boost/archive/codecvt_null.hpp>
-
-// codecvt implementation for passing wchar_t objects to char output
-// without any translation whatever.  Used to implement binary output
-// of wchar_t objects.
-
-namespace boost {
-namespace archive {
-
-BOOST_WARCHIVE_DECL(std::codecvt_base::result)
-codecvt_null<wchar_t>::do_out(
-    std::mbstate_t & /*state*/,
-    const wchar_t * first1, 
-    const wchar_t * last1,
-    const wchar_t * & next1,
-    char * first2, 
-    char * last2, 
-    char * & next2
-) const {
-    while(first1 != last1){
-        // Per std::22.2.1.5.2/2, we can store no more that
-        // last2-first2 characters. If we need to more encode
-        // next internal char type, return 'partial'.
-        if(static_cast<int>(sizeof(wchar_t)) > (last2 - first2)){
-            next1 = first1;
-            next2 = first2;
-            return std::codecvt_base::partial;
-        }
-        * reinterpret_cast<wchar_t *>(first2) = * first1++;
-        first2 += sizeof(wchar_t);
-
-    }
-    next1 = first1;
-    next2 = first2;
-    return std::codecvt_base::ok;
-}
-
-BOOST_WARCHIVE_DECL(std::codecvt_base::result)
-codecvt_null<wchar_t>::do_in(
-    std::mbstate_t & state,
-    const char * first1, 
-    const char * last1, 
-    const char * & next1,
-    wchar_t * first2,
-    wchar_t * last2,
-    wchar_t * & next2
-) const {
-    // Process input characters until we've run of them,
-    // or the number of remaining characters is not
-    // enough to construct another output character,
-    // or we've run out of place for output characters.
-    while(first2 != last2){
-        // Have we converted all input characters? 
-        // Return with 'ok', if so.
-        if (first1 == last1)
-             break;
-        // Do we have less input characters than needed
-        // for a single output character?        
-        if(static_cast<int>(sizeof(wchar_t)) > (last1 - first1)){
-            next1 = first1;
-            next2 = first2;
-            return std::codecvt_base::partial; 
-        }
-        *first2++ = * reinterpret_cast<const wchar_t *>(first1);
-        first1 += sizeof(wchar_t);
-    }
-    next1 = first1;
-    next2 = first2;
-    return std::codecvt_base::ok;
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/extended_type_info.cpp b/SRC/Boost/libs/serialization/src/extended_type_info.cpp
deleted file mode 100755
index 1a9ebad..0000000
--- a/SRC/Boost/libs/serialization/src/extended_type_info.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// extended_type_info.cpp: implementation for portable version of type_info
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <algorithm>
-#include <set>
-#include <utility>
-#include <boost/assert.hpp>
-#include <cstddef> // NULL
-
-#include <boost/config.hpp> // msvc needs this to suppress warning
-
-#include <cstring>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ using ::strcmp; }
-#endif
-
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/serialization/singleton.hpp>
-#include <boost/serialization/force_include.hpp>
-
-#define BOOST_SERIALIZATION_SOURCE
-#include <boost/serialization/extended_type_info.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace serialization {
-namespace detail {
-
-struct key_compare
-{
-    bool
-    operator()(
-        const extended_type_info * lhs, 
-        const extended_type_info * rhs
-    ) const {
-        // performance shortcut
-        if(lhs == rhs)
-            return false;
-        const char * l = lhs->get_key();
-        BOOST_ASSERT(NULL != l);
-        const char * r = rhs->get_key();
-        BOOST_ASSERT(NULL != r);
-        // performance shortcut
-        // shortcut to exploit string pooling
-        if(l == r)
-            return false;
-        // for exported types, use the string key so that
-        // multiple instances in different translation units
-        // can be matched up
-        return std::strcmp(l, r) < 0;
-    }
-};
-
-typedef std::multiset<const extended_type_info *, key_compare> ktmap;
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-class extended_type_info_arg : public extended_type_info
-{
-    virtual bool
-    is_less_than(const extended_type_info & /*rhs*/) const {
-        BOOST_ASSERT(false);
-        return false;
-    };
-    virtual bool
-    is_equal(const extended_type_info & /*rhs*/) const {
-        BOOST_ASSERT(false);
-        return false;
-    };
-    virtual const char * get_debug_info() const {
-        return get_key();
-    }
-    virtual void * construct(unsigned int /*count*/, ...) const{
-        BOOST_ASSERT(false);
-        return NULL;
-    }
-    virtual void destroy(void const * const /*p*/) const {
-        BOOST_ASSERT(false);
-    }
-public:
-    extended_type_info_arg(const char * key) :
-        extended_type_info(0, key)
-    {}
-
-    ~extended_type_info_arg(){
-    }
-};
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-} // namespace detail
-
-BOOST_SERIALIZATION_DECL(void)  
-extended_type_info::key_register() const{
-    if(NULL == get_key())
-        return;
-    singleton<detail::ktmap>::get_mutable_instance().insert(this);
-}
-
-BOOST_SERIALIZATION_DECL(void)  
-extended_type_info::key_unregister() const{
-    if(NULL == get_key())
-        return;
-    if(! singleton<detail::ktmap>::is_destroyed()){
-        detail::ktmap & x = singleton<detail::ktmap>::get_mutable_instance();
-        detail::ktmap::iterator start = x.lower_bound(this);
-        detail::ktmap::iterator end = x.upper_bound(this);
-        // remove entry in map which corresponds to this type
-        for(;start != end; ++start){
-            if(this == *start){
-                x.erase(start);
-                break;
-            }
-        }
-    }
-}
-
-BOOST_SERIALIZATION_DECL(const extended_type_info *) 
-extended_type_info::find(const char *key) {
-    BOOST_ASSERT(NULL != key);
-    const detail::ktmap & k = singleton<detail::ktmap>::get_const_instance();
-    const detail::extended_type_info_arg eti_key(key);
-    const detail::ktmap::const_iterator it = k.find(& eti_key);
-    if(k.end() == it)
-        return NULL;
-    return *(it);
-}
-
-BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
-extended_type_info::extended_type_info(
-    const unsigned int type_info_key,
-    const char * key
-) :
-    m_type_info_key(type_info_key),
-    m_key(key)
-{
-}
-
-BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) 
-extended_type_info::~extended_type_info(){
-}
-
-BOOST_SERIALIZATION_DECL(bool)  
-extended_type_info::operator<(const extended_type_info &rhs) const {
-    // short cut for a common cases
-    if(this == & rhs)
-        return false;
-    if(m_type_info_key == rhs.m_type_info_key){
-        return is_less_than(rhs);
-    }
-    if(m_type_info_key < rhs.m_type_info_key)
-        return true;
-    return false;
-}
-
-BOOST_SERIALIZATION_DECL(bool)
-extended_type_info::operator==(const extended_type_info &rhs) const {
-    // short cut for a common cases
-    if(this == & rhs)
-        return true;
-    if(m_type_info_key != rhs.m_type_info_key){
-        return false;
-    }
-    return is_equal(rhs);
-}
-
-} // namespace serialization
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/extended_type_info_no_rtti.cpp b/SRC/Boost/libs/serialization/src/extended_type_info_no_rtti.cpp
deleted file mode 100755
index 7fab51f..0000000
--- a/SRC/Boost/libs/serialization/src/extended_type_info_no_rtti.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// extended_type_info_no_rtti.cpp: specific implementation of type info
-// that is NOT based on typeid
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstring>
-#include <cstddef> // NULL
-#include <boost/assert.hpp>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ using ::strcmp; }
-#endif
-
-#define BOOST_SERIALIZATION_SOURCE
-#include <boost/serialization/extended_type_info_no_rtti.hpp>
-
-#define EXTENDED_TYPE_INFO_NO_RTTI_KEY 2
-
-namespace boost { 
-namespace serialization { 
-namespace no_rtti_system { 
-
-BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())  
-extended_type_info_no_rtti_0::extended_type_info_no_rtti_0(
-    const char * key
-) :
-    extended_type_info(EXTENDED_TYPE_INFO_NO_RTTI_KEY, key)
-{}
-
-BOOST_SERIALIZATION_DECL(bool)
-extended_type_info_no_rtti_0::is_less_than(
-    const boost::serialization::extended_type_info &rhs) const 
-{
-    // shortcut for common case
-    if(this == & rhs)
-        return false;
-    const char * l = get_key();
-    const char * r = rhs.get_key();
-    // if this assertion is triggered, it could mean one of the following
-    // a) This class was never exported - make sure all calls which use
-    // this method of type id are in fact exported.
-    // b) This class was used (e.g. serialized through a pointer) before
-    // it was exported.  Make sure that classes which use this method
-    // of type id are NOT "automatically" registered by serializating 
-    // through a pointer to the to most derived class.  OR make sure
-    // that the BOOST_CLASS_EXPORT is included in every file
-    // which does this.
-    BOOST_ASSERT(NULL != l);
-    BOOST_ASSERT(NULL != r);
-    return std::strcmp(l, r) < 0;
-}
-
-BOOST_SERIALIZATION_DECL(bool)
-extended_type_info_no_rtti_0::is_equal(
-    const boost::serialization::extended_type_info &rhs) const 
-{
-    // shortcut for common case
-    if(this == & rhs)
-        return true;
-    // null keys don't match with anything
-    const char * l = get_key();
-    BOOST_ASSERT(NULL != l);
-    if(NULL == l)
-        return false;
-    const char * r = rhs.get_key();
-    BOOST_ASSERT(NULL != r);
-    if(NULL == r)
-        return false;
-    return 0 == std::strcmp(l, r);
-}
-
-BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())  
-extended_type_info_no_rtti_0::~extended_type_info_no_rtti_0()
-{}
-
-} // namespece detail
-} // namespace serialization
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/extended_type_info_typeid.cpp b/SRC/Boost/libs/serialization/src/extended_type_info_typeid.cpp
deleted file mode 100755
index 8b8db9c..0000000
--- a/SRC/Boost/libs/serialization/src/extended_type_info_typeid.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// extended_type_info_typeid.cpp: specific implementation of type info
-// that is based on typeid
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <algorithm>
-#include <set>
-#include <boost/assert.hpp>
-#include <typeinfo>
-#include <cstddef> // NULL
-
-#include <boost/detail/no_exceptions_support.hpp>
-
-#include <boost/serialization/singleton.hpp>
-
-#define BOOST_SERIALIZATION_SOURCE
-#include <boost/serialization/extended_type_info_typeid.hpp>
-
-namespace boost { 
-namespace serialization { 
-namespace typeid_system {
-
-#define EXTENDED_TYPE_INFO_TYPE_KEY 1
-
-struct type_compare
-{
-    bool
-    operator()(
-        const extended_type_info_typeid_0 * lhs,
-        const extended_type_info_typeid_0 * rhs
-    ) const {
-        return lhs->is_less_than(*rhs);
-    }
-};
-
-typedef std::multiset<
-    const extended_type_info_typeid_0 *,
-    type_compare
-> tkmap;
-    
-BOOST_SERIALIZATION_DECL(bool) 
-extended_type_info_typeid_0::is_less_than(
-    const boost::serialization::extended_type_info & rhs
-) const {
-    // shortcut for common case
-    if(this == & rhs)
-        return false;
-    return 0 != m_ti->before(
-        *(static_cast<const extended_type_info_typeid_0 &>(rhs).m_ti)
-    );
-}
-
-BOOST_SERIALIZATION_DECL(bool) 
-extended_type_info_typeid_0::is_equal(
-    const boost::serialization::extended_type_info & rhs
-) const {
-    return 
-        // note: std::type_info == operator returns an int !!!
-        // the following permits conversion to bool without a warning.
-        ! (
-        * m_ti 
-        != *(static_cast<const extended_type_info_typeid_0 &>(rhs).m_ti)
-        )
-    ;
-}
-
-BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
-extended_type_info_typeid_0::extended_type_info_typeid_0(
-    const char * key
-) :
-    extended_type_info(EXTENDED_TYPE_INFO_TYPE_KEY, key),
-    m_ti(NULL)
-{}
-
-BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
-extended_type_info_typeid_0::~extended_type_info_typeid_0()
-{}
-
-BOOST_SERIALIZATION_DECL(void) 
-extended_type_info_typeid_0::type_register(const std::type_info & ti){
-    m_ti = & ti;
-    singleton<tkmap>::get_mutable_instance().insert(this);
-}
-
-BOOST_SERIALIZATION_DECL(void) 
-extended_type_info_typeid_0::type_unregister()
-{
-    if(NULL != m_ti){
-        if(! singleton<tkmap>::is_destroyed()){
-            tkmap & x = singleton<tkmap>::get_mutable_instance();
-            tkmap::iterator start = x.lower_bound(this);
-            tkmap::iterator end = x.upper_bound(this);
-            BOOST_ASSERT(start != end);
-
-            // remove entry in map which corresponds to this type
-            do{
-            if(this == *start)
-                x.erase(start++);
-            else
-                ++start;
-            }while(start != end);
-        }
-    }
-    m_ti = NULL;
-}
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-// this derivation is used for creating search arguments
-class extended_type_info_typeid_arg : 
-    public extended_type_info_typeid_0
-{
-    virtual void * construct(unsigned int /*count*/, ...) const{
-        BOOST_ASSERT(false);
-        return NULL;
-    }
-    virtual void destroy(void const * const /*p*/) const {
-        BOOST_ASSERT(false);
-    }
-public:
-    extended_type_info_typeid_arg(const std::type_info & ti) :
-        extended_type_info_typeid_0(NULL)
-    { 
-        // note absense of self register and key as this is used only as
-        // search argument given a type_info reference and is not to 
-        // be added to the map.
-        m_ti = & ti;
-    }
-    ~extended_type_info_typeid_arg(){
-        m_ti = NULL;
-    }
-};
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-BOOST_SERIALIZATION_DECL(const extended_type_info *)
-extended_type_info_typeid_0::get_extended_type_info(
-    const std::type_info & ti
-) const {
-    typeid_system::extended_type_info_typeid_arg etia(ti);
-    const tkmap & t = singleton<tkmap>::get_const_instance();
-    const tkmap::const_iterator it = t.find(& etia);
-    if(t.end() == it)
-        return NULL;
-    return *(it);
-}
-
-} // namespace detail
-} // namespace serialization
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/polymorphic_iarchive.cpp b/SRC/Boost/libs/serialization/src/polymorphic_iarchive.cpp
deleted file mode 100755
index 1c78636..0000000
--- a/SRC/Boost/libs/serialization/src/polymorphic_iarchive.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_iarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/polymorphic_iarchive.hpp>
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-template class archive_serializer_map<polymorphic_iarchive>;
-
-} // detail
-} // archive
-} // boost
diff --git a/SRC/Boost/libs/serialization/src/polymorphic_oarchive.cpp b/SRC/Boost/libs/serialization/src/polymorphic_oarchive.cpp
deleted file mode 100755
index 7b29f6d..0000000
--- a/SRC/Boost/libs/serialization/src/polymorphic_oarchive.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_oarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/polymorphic_oarchive.hpp>
-
-namespace boost {
-namespace archive {
-namespace detail {
-
-template class archive_serializer_map<polymorphic_oarchive>;
-
-} // detail
-} // archive
-} // boost
diff --git a/SRC/Boost/libs/serialization/src/shared_ptr_helper.cpp b/SRC/Boost/libs/serialization/src/shared_ptr_helper.cpp
deleted file mode 100755
index d1829ad..0000000
--- a/SRC/Boost/libs/serialization/src/shared_ptr_helper.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// shared_ptr_helper.hpp: serialization for boost shared pointern
-
-// (C) Copyright 2004-2009 Robert Ramey, Martin Ecker and Takatoshi Kondo
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <map>
-#include <list>
-#include <utility>
-#include <cstddef> // NULL
-
-#define BOOST_ARCHIVE_SOURCE
-// include this to prevent linker errors when the
-// same modules are marked export and import.
-#define BOOST_SERIALIZATION_SOURCE
-
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/serialization/void_cast.hpp>
-#include <boost/serialization/extended_type_info.hpp>
-#include <boost/archive/shared_ptr_helper.hpp>
-#include <boost/archive/archive_exception.hpp>
-
-namespace boost {
-namespace archive{
-namespace detail {
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// a common class for holding various types of shared pointers
-
-// returns pointer to object and an indicator whether this is a
-// new entry (true) or a previous one (false)
-BOOST_ARCHIVE_DECL(shared_ptr<void>)
-shared_ptr_helper::get_od(
-        const void * t,
-        const boost::serialization::extended_type_info * true_type, 
-        const boost::serialization::extended_type_info * this_type
-){
-    // get void pointer to the most derived type
-    // this uniquely identifies the object referred to
-    const void * od = void_downcast(
-        *true_type, 
-        *this_type, 
-        t
-    );
-    if(NULL == od)
-        boost::serialization::throw_exception(
-            archive_exception(
-                archive_exception::unregistered_cast,
-                true_type->get_debug_info(),
-                this_type->get_debug_info()
-            )
-        );
-
-    // make tracking array if necessary
-    if(NULL == m_pointers)
-        m_pointers = new collection_type;
-
-    //shared_ptr<const void> sp(od, null_deleter()); 
-    shared_ptr<const void> sp(od, null_deleter());
-    collection_type::iterator i = m_pointers->find(sp);
-
-    if(i == m_pointers->end()){
-        shared_ptr<void> np;
-        return np;
-    }
-    od = void_upcast(
-        *true_type, 
-        *this_type,
-        i->get()
-    );
-    if(NULL == od)
-        boost::serialization::throw_exception(
-            archive_exception(
-                archive_exception::unregistered_cast,
-                true_type->get_debug_info(),
-                this_type->get_debug_info()
-            )
-        );
-
-    return shared_ptr<void>(
-        const_pointer_cast<void>(*i), 
-        const_cast<void *>(od)
-    );
-}
-
-BOOST_ARCHIVE_DECL(void)
-shared_ptr_helper::append(const boost::shared_ptr<const void> &sp){
-    // make tracking array if necessary
-    if(NULL == m_pointers)
-        m_pointers = new collection_type;
-
-    collection_type::iterator i = m_pointers->find(sp);
-
-    if(i == m_pointers->end()){
-        std::pair<collection_type::iterator, bool> result;
-        result = m_pointers->insert(sp);
-        BOOST_ASSERT(result.second);
-    }
-}
-
-//  #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
-BOOST_ARCHIVE_DECL(void)
-shared_ptr_helper::append(const boost_132::shared_ptr<const void> & t){
-    if(NULL == m_pointers_132)
-        m_pointers_132 = new std::list<boost_132::shared_ptr<const void> >;
-    m_pointers_132->push_back(t);
-}
-//  #endif
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-shared_ptr_helper::shared_ptr_helper() : 
-    m_pointers(NULL)
-    #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
-        , m_pointers_132(NULL)
-    #endif
-{}
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-shared_ptr_helper::~shared_ptr_helper(){
-    if(NULL != m_pointers)
-        delete m_pointers;
-    #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
-    if(NULL != m_pointers_132)
-        delete m_pointers_132;
-    #endif
-}
-
-} // namespace detail
-} // namespace serialization
-} // namespace boost
-
diff --git a/SRC/Boost/libs/serialization/src/stl_port.cpp b/SRC/Boost/libs/serialization/src/stl_port.cpp
deleted file mode 100755
index 4697752..0000000
--- a/SRC/Boost/libs/serialization/src/stl_port.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// stl_port.cpp: implementation of run-time casting of void pointers
-
-// (C) Copyright 2005 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-# pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-// this befuddles the msvc 6 compiler so we can't use it
-#if ! ((defined _MSC_VER) && (_MSC_VER <= 1300)) \
-&&  ! defined(__BORLANDC__)
-
-#include <boost/config.hpp>
-
-#if defined(__SGI_STL_PORT) && (__SGI_STL_PORT < 0x500)
-
-#include <boost/archive/codecvt_null.hpp>
-
-// explicit instantiation
-
-namespace std {
-
-template
-locale::locale(
-    const locale& __loc, boost::archive::codecvt_null<char> * __f
-);
-
-template
-locale::locale(
-    const locale& __loc, boost::archive::codecvt_null<wchar_t> * __f
-);
-
-} // namespace std
-
-#endif
-
-#endif
diff --git a/SRC/Boost/libs/serialization/src/text_iarchive.cpp b/SRC/Boost/libs/serialization/src/text_iarchive.cpp
deleted file mode 100755
index cc87ed4..0000000
--- a/SRC/Boost/libs/serialization/src/text_iarchive.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// text_iarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-// explicitly instantiate for this type of text stream
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_text_iarchive.ipp>
-#include <boost/archive/impl/text_iarchive_impl.ipp>
-
-namespace boost {
-namespace archive {
-
-template class detail::archive_serializer_map<naked_text_iarchive>;
-template class basic_text_iarchive<naked_text_iarchive> ;
-template class text_iarchive_impl<naked_text_iarchive> ;
-
-template class detail::archive_serializer_map<text_iarchive>;
-template class basic_text_iarchive<text_iarchive> ;
-template class text_iarchive_impl<text_iarchive> ;
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/text_oarchive.cpp b/SRC/Boost/libs/serialization/src/text_oarchive.cpp
deleted file mode 100755
index 6e1b764..0000000
--- a/SRC/Boost/libs/serialization/src/text_oarchive.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// text_oarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-// explicitly instantiate for this type of text stream
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_text_oarchive.ipp>
-#include <boost/archive/impl/text_oarchive_impl.ipp>
-
-namespace boost {
-namespace archive {
-
-//template class basic_text_oprimitive<std::ostream> ;
-template class detail::archive_serializer_map<text_oarchive>;
-template class basic_text_oarchive<text_oarchive> ;
-template class text_oarchive_impl<text_oarchive> ;
-
-} // namespace serialization
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/text_wiarchive.cpp b/SRC/Boost/libs/serialization/src/text_wiarchive.cpp
deleted file mode 100755
index f3b3b23..0000000
--- a/SRC/Boost/libs/serialization/src/text_wiarchive.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// text_wiarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#define BOOST_WARCHIVE_SOURCE
-#include <boost/archive/text_wiarchive.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-// explicitly instantiate for this type of text stream
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_text_iarchive.ipp>
-#include <boost/archive/impl/text_wiarchive_impl.ipp>
-
-namespace boost {
-namespace archive {
-
-template class detail::archive_serializer_map<naked_text_wiarchive>;
-template class basic_text_iarchive<naked_text_wiarchive> ;
-template class text_wiarchive_impl<naked_text_wiarchive> ;
-
-template class detail::archive_serializer_map<text_wiarchive>;
-template class basic_text_iarchive<text_wiarchive> ;
-template class text_wiarchive_impl<text_wiarchive> ;
-
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_NO_STD_WSTREAMBUF
-
diff --git a/SRC/Boost/libs/serialization/src/text_woarchive.cpp b/SRC/Boost/libs/serialization/src/text_woarchive.cpp
deleted file mode 100755
index e7115c4..0000000
--- a/SRC/Boost/libs/serialization/src/text_woarchive.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// text_woarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#define BOOST_WARCHIVE_SOURCE
-#include <boost/archive/text_woarchive.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-// explicitly instantiate for this type of text stream
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_text_oarchive.ipp>
-#include <boost/archive/impl/text_woarchive_impl.ipp>
-
-namespace boost {
-namespace archive {
-
-template class detail::archive_serializer_map<text_woarchive>;
-template class basic_text_oarchive<text_woarchive> ;
-template class text_woarchive_impl<text_woarchive> ;
-
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Boost/libs/serialization/src/utf8_codecvt_facet.cpp b/SRC/Boost/libs/serialization/src/utf8_codecvt_facet.cpp
deleted file mode 100755
index a7a5ccd..0000000
--- a/SRC/Boost/libs/serialization/src/utf8_codecvt_facet.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright Vladimir Prus 2004.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#define BOOST_UTF8_BEGIN_NAMESPACE \
-     namespace boost { namespace archive { namespace detail {
-#define BOOST_UTF8_DECL
-#define BOOST_UTF8_END_NAMESPACE }}}
-#include "../../detail/utf8_codecvt_facet.cpp"
-#undef BOOST_UTF8_END_NAMESPACE
-#undef BOOST_UTF8_DECL
-#undef BOOST_UTF8_BEGIN_NAMESPACE
-
-#endif // BOOST_NO_STD_WSTREAMBUF
-
diff --git a/SRC/Boost/libs/serialization/src/void_cast.cpp b/SRC/Boost/libs/serialization/src/void_cast.cpp
deleted file mode 100755
index aa37f1d..0000000
--- a/SRC/Boost/libs/serialization/src/void_cast.cpp
+++ /dev/null
@@ -1,360 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// void_cast.cpp: implementation of run-time casting of void pointers
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// <gennadiy.rozental at tfn.com>
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-# pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <boost/assert.hpp>
-#include <cstddef> // NULL
-#ifdef BOOST_SERIALIZATION_LOG
-#include <iostream>
-#endif
-
-// STL
-#include <set>
-#include <functional>
-#include <algorithm>
-#include <boost/assert.hpp>
-
-// BOOST
-#define BOOST_SERIALIZATION_SOURCE
-#include <boost/serialization/singleton.hpp>
-#include <boost/serialization/extended_type_info.hpp>
-#include <boost/serialization/void_cast.hpp>
-
-namespace boost { 
-namespace serialization {
-namespace void_cast_detail {
-
-// note that void_casters are keyed on value of
-// member extended type info records - NOT their
-// addresses.  This is necessary in order for the
-// void cast operations to work across dll and exe
-// module boundries.
-bool void_caster::operator<(const void_caster & rhs) const {
-    // include short cut to save time and eliminate
-    // problems when when base class aren't virtual
-    if(m_derived != rhs.m_derived){
-        if(*m_derived < *rhs.m_derived)
-            return true;
-        if(*rhs.m_derived < *m_derived)
-            return false;
-    }
-    // m_derived == rhs.m_derived
-    if(m_base != rhs.m_base)
-        return *m_base < *rhs.m_base;
-    else
-        return false;
-}
-
-struct void_caster_compare {
-    bool operator()(const void_caster * lhs, const void_caster * rhs) const {
-        return *lhs < *rhs;
-    }
-};
-
-typedef std::set<const void_caster *, void_caster_compare> set_type;
-typedef boost::serialization::singleton<set_type> void_caster_registry;
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-// implementation of shortcut void caster
-class void_caster_shortcut : public void_caster
-{
-    bool m_includes_virtual_base;
-
-    void const * 
-    vbc_upcast(
-        void const * const t
-    ) const;
-    void const *
-    vbc_downcast(
-        void const * const t
-    ) const;
-    virtual void const *
-    upcast(void const * const t) const{
-        if(m_includes_virtual_base)
-            return vbc_upcast(t);
-        return static_cast<const char *> ( t ) - m_difference;
-    }
-    virtual void const *
-    downcast(void const * const t) const{
-        if(m_includes_virtual_base)
-            return vbc_downcast(t);
-        return static_cast<const char *> ( t ) + m_difference;
-    }
-    virtual bool is_shortcut() const {
-        return true;
-    }
-    virtual bool has_virtual_base() const {
-        return m_includes_virtual_base;
-    }
-public:
-    void_caster_shortcut(
-        extended_type_info const * derived,
-        extended_type_info const * base,
-        std::ptrdiff_t difference,
-        bool includes_virtual_base,
-        void_caster const * const parent
-    ) :
-        void_caster(derived, base, difference, parent),
-        m_includes_virtual_base(includes_virtual_base)
-    {
-        recursive_register(includes_virtual_base);
-    }
-    virtual ~void_caster_shortcut(){
-        recursive_unregister();
-    }
-};
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-void const * 
-void_caster_shortcut::vbc_downcast(
-    void const * const t
-) const {
-    // try to find a chain that gives us what we want
-    const void_cast_detail::set_type & s
-        = void_cast_detail::void_caster_registry::get_const_instance();
-    void_cast_detail::set_type::const_iterator it;
-    for(it = s.begin(); it != s.end(); ++it){
-        // if the current candidate casts to the desired target type
-        if ((*it)->m_derived == m_derived){
-            // and if it's not us
-            if ((*it)->m_base != m_base){
-                // try to cast from the candidate base to our base
-                const void * t_new;
-                t_new = void_downcast(*(*it)->m_base, *m_base, t);
-                // if we were successful
-                if(NULL != t_new){
-                    // recast to our derived
-                    const void_caster * vc = *it;
-                    return vc->downcast(t_new);
-                }
-            }
-        }
-    }
-    return NULL;
-}
-
-void const * 
-void_caster_shortcut::vbc_upcast(
-    void const * const t
-) const {
-    // try to find a chain that gives us what we want
-    const void_cast_detail::set_type & s
-        = void_cast_detail::void_caster_registry::get_const_instance();
-    void_cast_detail::set_type::const_iterator it;
-    for(it = s.begin(); it != s.end(); ++it){
-        // if the current candidate casts from the desired base type
-        if((*it)->m_base == m_base){
-            // and if it's not us
-            if ((*it)->m_derived != m_derived){
-                // try to cast from the candidate derived to our our derived
-                const void * t_new;
-                t_new = void_upcast(*m_derived, *(*it)->m_derived, t);
-                if(NULL != t_new)
-                    return (*it)->upcast(t_new);
-            }
-        }
-    }
-    return NULL;
-}
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-// just used as a search key
-class void_caster_argument : public void_caster
-{
-    virtual void const *
-    upcast(void const * const /*t*/) const {
-        BOOST_ASSERT(false);
-        return NULL;
-    }
-    virtual void const *
-    downcast( void const * const /*t*/) const {
-        BOOST_ASSERT(false);
-        return NULL;
-    }
-    virtual bool has_virtual_base() const {
-        BOOST_ASSERT(false);
-        return false;
-    }
-public:
-    void_caster_argument(
-        extended_type_info const * derived,
-        extended_type_info const * base
-    ) :
-        void_caster(derived, base)
-    {}
-    virtual ~void_caster_argument(){};
-};
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop)
-#endif
-
-// implementation of void caster base class
-BOOST_SERIALIZATION_DECL(void)
-void_caster::recursive_register(bool includes_virtual_base) const {
-    void_cast_detail::set_type & s
-        = void_cast_detail::void_caster_registry::get_mutable_instance();
-
-    #ifdef BOOST_SERIALIZATION_LOG
-    std::clog << "recursive_register\n";
-    std::clog << m_derived->get_debug_info();
-    std::clog << "<-";
-    std::clog << m_base->get_debug_info();
-    std::clog << "\n";
-    #endif
-
-    std::pair<void_cast_detail::set_type::const_iterator, bool> result;
-    // comment this out for now.  
-    result = s.insert(this);
-    //assert(result.second);
-
-    // generate all implied void_casts.
-    void_cast_detail::set_type::const_iterator it;
-    for(it = s.begin(); it != s.end(); ++it){
-        if(* m_derived == * (*it)->m_base){
-            const void_caster_argument vca(
-                (*it)->m_derived, 
-                m_base
-            );
-            void_cast_detail::set_type::const_iterator i;
-            i = s.find(& vca);
-            if(i == s.end()){
-                new void_caster_shortcut(
-                    (*it)->m_derived, 
-                    m_base,
-                    m_difference + (*it)->m_difference,
-                    (*it)->has_virtual_base() || includes_virtual_base,
-                    this
-                );
-            }
-        }
-        if(* (*it)->m_derived == * m_base){
-            const void_caster_argument vca(
-                m_derived, 
-                (*it)->m_base
-            );
-            void_cast_detail::set_type::const_iterator i;
-            i = s.find(& vca);
-            if(i == s.end()){
-                new void_caster_shortcut(
-                    m_derived, 
-                    (*it)->m_base, 
-                    m_difference + (*it)->m_difference,
-                    (*it)->has_virtual_base() || includes_virtual_base,
-                    this
-                );
-            }
-        }
-    }
-}
-
-BOOST_SERIALIZATION_DECL(void)
-void_caster::recursive_unregister() const {
-    if(void_caster_registry::is_destroyed())
-        return;
-
-    #ifdef BOOST_SERIALIZATION_LOG
-    std::clog << "recursive_unregister\n";
-    std::clog << m_derived->get_debug_info();
-    std::clog << "<-";
-    std::clog << m_base->get_debug_info();
-    std::clog << "\n";
-    #endif
-
-    void_cast_detail::set_type & s 
-        = void_caster_registry::get_mutable_instance();
-
-    // delete all shortcuts which use this primitive
-    void_cast_detail::set_type::iterator it;
-    for(it = s.begin(); it != s.end();){
-        const void_caster * vc = *it;
-        if(vc == this){
-            s.erase(it++);
-        }
-        else
-        if(vc->m_parent == this){
-            s.erase(it);
-            delete vc;
-            it = s.begin();
-        }
-        else
-            it++;
-    }
-}
-
-} // namespace void_cast_detail
-
-// Given a void *, assume that it really points to an instance of one type
-// and alter it so that it would point to an instance of a related type.
-// Return the altered pointer. If there exists no sequence of casts that
-// can transform from_type to to_type, return a NULL.  
-BOOST_SERIALIZATION_DECL(void const *)  
-void_upcast(
-    extended_type_info const & derived,
-    extended_type_info const & base,
-    void const * const t
-){
-    // same types - trivial case
-    if (derived == base)
-        return t;
-
-    // check to see if base/derived pair is found in the registry
-    const void_cast_detail::set_type & s
-        = void_cast_detail::void_caster_registry::get_const_instance();
-    const void_cast_detail::void_caster_argument ca(& derived, & base);
-
-    void_cast_detail::set_type::const_iterator it;
-    it = s.find(& ca);
-    if (s.end() != it)
-        return (*it)->upcast(t);
-
-    return NULL;
-}
-
-BOOST_SERIALIZATION_DECL(void const *)  
-void_downcast(
-    extended_type_info const & derived,
-    extended_type_info const & base,
-    void const * const t
-){
-    // same types - trivial case
-    if (derived == base)
-        return t;
-
-    // check to see if base/derived pair is found in the registry
-    const void_cast_detail::set_type & s
-        = void_cast_detail::void_caster_registry::get_const_instance();
-    const void_cast_detail::void_caster_argument ca(& derived, & base);
-
-    void_cast_detail::set_type::const_iterator it;
-    it = s.find(&ca);
-    if (s.end() != it)
-        return(*it)->downcast(t);
-
-    return NULL;
-}
-
-} // namespace serialization
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/xml_archive_exception.cpp b/SRC/Boost/libs/serialization/src/xml_archive_exception.cpp
deleted file mode 100755
index ef2d746..0000000
--- a/SRC/Boost/libs/serialization/src/xml_archive_exception.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_archive_exception.cpp:
-
-// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-
-#include <exception>
-#include <boost/assert.hpp>
-#include <string>
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/xml_archive_exception.hpp>
-
-namespace boost {
-namespace archive {
-
-BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
-xml_archive_exception::xml_archive_exception(
-        exception_code c, 
-        const char * e1,
-        const char * e2
-    ) : 
-        archive_exception(other_exception, e1, e2)
-    {
-        m_msg = "programming error";
-        switch(c){
-        case xml_archive_parsing_error:
-            m_msg = "unrecognized XML syntax";
-            break;
-        case xml_archive_tag_mismatch:
-            m_msg = "XML start/end tag mismatch";
-            if(NULL != e1){
-                m_msg += " - ";
-                m_msg += e1;
-            }    
-            break;
-        case xml_archive_tag_name_error:
-            m_msg = "Invalid XML tag name";
-            break;
-        default:
-            BOOST_ASSERT(false);
-            break;
-        }
-    }
-
-} // archive
-} // boost
diff --git a/SRC/Boost/libs/serialization/src/xml_grammar.cpp b/SRC/Boost/libs/serialization/src/xml_grammar.cpp
deleted file mode 100755
index dfa5b7f..0000000
--- a/SRC/Boost/libs/serialization/src/xml_grammar.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_grammar.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/impl/basic_xml_grammar.hpp>
-
-using namespace boost::spirit::classic;
-
-#include <boost/config.hpp>
-
-// fixup for borland
-// The following code will be put into Boost.Config in a later revision
-#if ! defined(__SGI_STL_PORT) \
-&& defined(BOOST_RWSTD_VER) && BOOST_RWSTD_VER<=0x020101
-#include <string>
-namespace std {
-    template<>
-    inline string & 
-    string::replace (
-        char * first1, 
-        char * last1,
-        const char * first2,
-        const char * last2
-    ){
-        replace(first1-begin(),last1-first1,first2,last2-first2,0,last2-first2);
-        return *this;
-    }
-} // namespace std
-#endif
-
-namespace boost {
-namespace archive {
-
-typedef basic_xml_grammar<char> xml_grammar;
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// specific definitions for char based XML
-
-template<>
-void xml_grammar::init_chset(){
-    Char = chset_t("\x9\xA\xD\x20-\x7f\x80\x81-\xFF"); 
-    Letter = chset_t("\x41-\x5A\x61-\x7A\xC0-\xD6\xD8-\xF6\xF8-\xFF");
-    Digit = chset_t("0-9");
-    Extender = chset_t('\xB7');
-    Sch = chset_t("\x20\x9\xD\xA");
-    NameChar = Letter | Digit | chset_p("._:-") | Extender ;
-}
-
-} // namespace archive
-} // namespace boost
-
-#include "basic_xml_grammar.ipp"
-
-namespace boost {
-namespace archive {
-
-// explicit instantiation of xml for 8 bit characters
-template class basic_xml_grammar<char>;
-
-} // namespace archive
-} // namespace boost
-
diff --git a/SRC/Boost/libs/serialization/src/xml_iarchive.cpp b/SRC/Boost/libs/serialization/src/xml_iarchive.cpp
deleted file mode 100755
index 6e54138..0000000
--- a/SRC/Boost/libs/serialization/src/xml_iarchive.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_iarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#define BOOST_ARCHIVE_SOURCE
-
-// the following works around an issue between spirit 1.61 and borland.
-// it turns out the the certain spirit stuff must be defined before
-// certain parts of mpl.  including this here makes sure that happens
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x560 )
-#include <boost/archive/impl/basic_xml_grammar.hpp>
-#endif
-
-#include <boost/archive/xml_iarchive.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-// explicitly instantiate for this type of xml stream
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_xml_iarchive.ipp>
-#include <boost/archive/impl/xml_iarchive_impl.ipp>
-
-namespace boost {
-namespace archive {
-
-template class detail::archive_serializer_map<naked_xml_iarchive>;
-template class basic_xml_iarchive<naked_xml_iarchive> ;
-template class xml_iarchive_impl<naked_xml_iarchive> ;
-
-template class detail::archive_serializer_map<xml_iarchive>;
-template class basic_xml_iarchive<xml_iarchive> ;
-template class xml_iarchive_impl<xml_iarchive> ;
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/xml_oarchive.cpp b/SRC/Boost/libs/serialization/src/xml_oarchive.cpp
deleted file mode 100755
index 5959575..0000000
--- a/SRC/Boost/libs/serialization/src/xml_oarchive.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_oarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/xml_oarchive.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-// explicitly instantiate for this type of xml stream
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_xml_oarchive.ipp>
-#include <boost/archive/impl/xml_oarchive_impl.ipp>
-
-namespace boost {
-namespace archive {
-
-template class detail::archive_serializer_map<xml_oarchive>;
-template class basic_xml_oarchive<xml_oarchive> ;
-template class xml_oarchive_impl<xml_oarchive> ;
-
-} // namespace archive
-} // namespace boost
diff --git a/SRC/Boost/libs/serialization/src/xml_wgrammar.cpp b/SRC/Boost/libs/serialization/src/xml_wgrammar.cpp
deleted file mode 100755
index fcf9b0b..0000000
--- a/SRC/Boost/libs/serialization/src/xml_wgrammar.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_wgrammar.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#define BOOST_WARCHIVE_SOURCE
-#include <boost/archive/impl/basic_xml_grammar.hpp>
-
-using namespace boost::spirit::classic;
-
-// fixup for RogueWave
-#include <boost/config.hpp>
-#if ! defined(__SGI_STL_PORT) \
-&& defined(BOOST_RWSTD_VER) && BOOST_RWSTD_VER<=0x020101
-#include <string>
-namespace std {
-    template<>
-    inline wstring & 
-    wstring::replace (
-        wchar_t * first1, 
-        wchar_t * last1,
-        const wchar_t * first2,
-        const wchar_t * last2
-    ){
-        replace(first1-begin(),last1-first1,first2,last2-first2,0,last2-first2);
-        return *this;
-    }
-} // namespace std
-#endif
-
-namespace boost {
-namespace archive {
-
-typedef basic_xml_grammar<wchar_t> xml_wgrammar;
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// specific definitions for wchar_t based XML
-
-template<>
-void xml_wgrammar::init_chset(){
-    Char = chset_t(
-        #if defined(__GNUC__) && defined(linux)
-            L"\x9\xA\xD\x20-\xD7FF\xE000-\xFFFD\x10000-\x10FFFF"
-        #else
-            L"\x9\xA\xD\x20-\xD7FF\xE000-\xFFFD"
-        #endif
-    );
-
-    Sch = chset_t(L"\x20\x9\xD\xA");
-
-    BaseChar = chset_t(
-        L"\x41-\x5A\x61-\x7A\xC0-\xD6\xD8-\xF6\xF8-\xFF\x100-\x131\x134-\x13E"
-        L"\x141-\x148\x14A-\x17E\x180-\x1C3\x1CD-\x1F0\x1F4-\x1F5\x1FA-\x217"
-        L"\x250-\x2A8\x2BB-\x2C1\x386\x388-\x38A\x38C\x38E-\x3A1\x3A3-\x3CE"
-        L"\x3D0-\x3D6\x3DA\x3DC\x3DE\x3E0\x3E2-\x3F3\x401-\x40C\x40E-\x44F"
-        L"\x451-\x45C\x45E-\x481\x490-\x4C4\x4C7-\x4C8\x4CB-\x4CC\x4D0-\x4EB"
-        L"\x4EE-\x4F5\x4F8-\x4F9\x531-\x556\x559\x561-\x586\x5D0-\x5EA"
-        L"\x5F0-\x5F2\x621-\x63A\x641-\x64A\x671-\x6B7\x6BA-\x6BE\x6C0-\x6CE"
-        L"\x6D0-\x6D3\x6D5\x6E5-\x6E6\x905-\x939\x93D\x958-\x961\x985-\x98C"
-        L"\x98F-\x990\x993-\x9A8\x9AA-\x9B0\x9B2\x9B6-\x9B9\x9DC-\x9DD"
-        L"\x9DF-\x9E1\x9F0-\x9F1\xA05-\xA0A\xA0F-\xA10\xA13-\xA28\xA2A-\xA30"
-        L"\xA32-\xA33\xA35-\xA36\xA38-\xA39\xA59-\xA5C\xA5E\xA72-\xA74"
-        L"\xA85-\xA8B\xA8D\xA8F-\xA91\xA93-\xAA8\xAAA-\xAB0\xAB2-\xAB3"
-        L"\xAB5-\xAB9\xABD\xAE0\xB05-\xB0C\xB0F-\xB10\xB13-\xB28\xB2A-\xB30"
-        L"\xB32-\xB33\xB36-\xB39\xB3D\xB5C-\xB5D\xB5F-\xB61\xB85-\xB8A"
-        L"\xB8E-\xB90\xB92-\xB95\xB99-\xB9A\xB9C\xB9E-\xB9F\xBA3-\xBA4"
-        L"\xBA8-\xBAA\xBAE-\xBB5\xBB7-\xBB9\xC05-\xC0C\xC0E-\xC10\xC12-\xC28"
-        L"\xC2A-\xC33\xC35-\xC39\xC60-\xC61\xC85-\xC8C\xC8E-\xC90\xC92-\xCA8"
-        L"\xCAA-\xCB3\xCB5-\xCB9\xCDE\xCE0-\xCE1\xD05-\xD0C\xD0E-\xD10"
-        L"\xD12-\xD28\xD2A-\xD39\xD60-\xD61\xE01-\xE2E\xE30\xE32-\xE33"
-        L"\xE40-\xE45\xE81-\xE82\xE84\xE87-\xE88\xE8A\xE8D\xE94-\xE97"
-        L"\xE99-\xE9F\xEA1-\xEA3\xEA5\xEA7\xEAA-\xEAB\xEAD-\xEAE\xEB0"
-        L"\xEB2-\xEB3\xEBD\xEC0-\xEC4\xF40-\xF47\xF49-\xF69\x10A0-\x10C5"
-        L"\x10D0-\x10F6\x1100\x1102-\x1103\x1105-\x1107\x1109\x110B-\x110C"
-        L"\x110E-\x1112\x113C\x113E\x1140\x114C\x114E\x1150\x1154-\x1155"
-        L"\x1159\x115F-\x1161\x1163\x1165\x1167\x1169\x116D-\x116E"
-        L"\x1172-\x1173\x1175\x119E\x11A8\x11AB\x11AE-\x11AF\x11B7-\x11B8"
-        L"\x11BA\x11BC-\x11C2\x11EB\x11F0\x11F9\x1E00-\x1E9B\x1EA0-\x1EF9"
-        L"\x1F00-\x1F15\x1F18-\x1F1D\x1F20-\x1F45\x1F48-\x1F4D\x1F50-\x1F57"
-        L"\x1F59\x1F5B\x1F5D\x1F5F-\x1F7D\x1F80-\x1FB4\x1FB6-\x1FBC\x1FBE"
-        L"\x1FC2-\x1FC4\x1FC6-\x1FCC\x1FD0-\x1FD3\x1FD6-\x1FDB\x1FE0-\x1FEC"
-        L"\x1FF2-\x1FF4\x1FF6-\x1FFC\x2126\x212A-\x212B\x212E\x2180-\x2182"
-        L"\x3041-\x3094\x30A1-\x30FA\x3105-\x312C\xAC00-\xD7A3"
-    );
-
-    Ideographic = chset_t(L"\x4E00-\x9FA5\x3007\x3021-\x3029");
-
-    Letter = BaseChar | Ideographic;
-
-    CombiningChar = chset_t(
-        L"\x0300-\x0345\x0360-\x0361\x0483-\x0486\x0591-\x05A1\x05A3-\x05B9"
-        L"\x05BB-\x05BD\x05BF\x05C1-\x05C2\x05C4\x064B-\x0652\x0670"
-        L"\x06D6-\x06DC\x06DD-\x06DF\x06E0-\x06E4\x06E7-\x06E8\x06EA-\x06ED"
-        L"\x0901-\x0903\x093C\x093E-\x094C\x094D\x0951-\x0954\x0962-\x0963"
-        L"\x0981-\x0983\x09BC\x09BE\x09BF\x09C0-\x09C4\x09C7-\x09C8"
-        L"\x09CB-\x09CD\x09D7\x09E2-\x09E3\x0A02\x0A3C\x0A3E\x0A3F"
-        L"\x0A40-\x0A42\x0A47-\x0A48\x0A4B-\x0A4D\x0A70-\x0A71\x0A81-\x0A83"
-        L"\x0ABC\x0ABE-\x0AC5\x0AC7-\x0AC9\x0ACB-\x0ACD\x0B01-\x0B03\x0B3C"
-        L"\x0B3E-\x0B43\x0B47-\x0B48\x0B4B-\x0B4D\x0B56-\x0B57\x0B82-\x0B83"
-        L"\x0BBE-\x0BC2\x0BC6-\x0BC8\x0BCA-\x0BCD\x0BD7\x0C01-\x0C03"
-        L"\x0C3E-\x0C44\x0C46-\x0C48\x0C4A-\x0C4D\x0C55-\x0C56\x0C82-\x0C83"
-        L"\x0CBE-\x0CC4\x0CC6-\x0CC8\x0CCA-\x0CCD\x0CD5-\x0CD6\x0D02-\x0D03"
-        L"\x0D3E-\x0D43\x0D46-\x0D48\x0D4A-\x0D4D\x0D57\x0E31\x0E34-\x0E3A"
-        L"\x0E47-\x0E4E\x0EB1\x0EB4-\x0EB9\x0EBB-\x0EBC\x0EC8-\x0ECD"
-        L"\x0F18-\x0F19\x0F35\x0F37\x0F39\x0F3E\x0F3F\x0F71-\x0F84"
-        L"\x0F86-\x0F8B\x0F90-\x0F95\x0F97\x0F99-\x0FAD\x0FB1-\x0FB7\x0FB9"
-        L"\x20D0-\x20DC\x20E1\x302A-\x302F\x3099\x309A"
-    );
-
-    Digit = chset_t(
-        L"\x0030-\x0039\x0660-\x0669\x06F0-\x06F9\x0966-\x096F\x09E6-\x09EF"
-        L"\x0A66-\x0A6F\x0AE6-\x0AEF\x0B66-\x0B6F\x0BE7-\x0BEF\x0C66-\x0C6F"
-        L"\x0CE6-\x0CEF\x0D66-\x0D6F\x0E50-\x0E59\x0ED0-\x0ED9\x0F20-\x0F29"
-    );
-
-    Extender = chset_t(
-        L"\x00B7\x02D0\x02D1\x0387\x0640\x0E46\x0EC6\x3005\x3031-\x3035"
-        L"\x309D-\x309E\x30FC-\x30FE"
-    );
-
-    NameChar =
-        Letter 
-        | Digit 
-        | L'.'
-        | L'-'
-        | L'_'
-        | L':'
-        | CombiningChar 
-        | Extender
-    ;
-}
-} // namespace archive
-} // namespace boost
-
-#include "basic_xml_grammar.ipp"
-
-namespace boost {
-namespace archive {
-
-// explicit instantiation of xml for wide characters
-template class basic_xml_grammar<wchar_t>;
-
-} // namespace archive
-} // namespace boost
-
-#endif
diff --git a/SRC/Boost/libs/serialization/src/xml_wiarchive.cpp b/SRC/Boost/libs/serialization/src/xml_wiarchive.cpp
deleted file mode 100755
index 15ef35b..0000000
--- a/SRC/Boost/libs/serialization/src/xml_wiarchive.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_wiarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#include <boost/detail/workaround.hpp>
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#define BOOST_WARCHIVE_SOURCE
-
-// the following works around an issue between spirit 1.61 and borland.
-// it turns out the the certain spirit stuff must be defined before
-// certain parts of mpl.  including this here makes sure that happens
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x560 )
-#include <boost/archive/impl/basic_xml_grammar.hpp>
-#endif
-
-#include <boost/archive/xml_wiarchive.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-// explicitly instantiate for this type of xml stream
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_xml_iarchive.ipp>
-#include <boost/archive/impl/xml_wiarchive_impl.ipp>
-
-namespace boost {
-namespace archive {
-
-template class detail::archive_serializer_map<naked_xml_wiarchive>;
-template class basic_xml_iarchive<naked_xml_wiarchive> ;
-template class xml_wiarchive_impl<naked_xml_wiarchive> ;
-
-template class detail::archive_serializer_map<xml_wiarchive>;
-template class basic_xml_iarchive<xml_wiarchive> ;
-template class xml_wiarchive_impl<xml_wiarchive> ;
-
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Boost/libs/serialization/src/xml_woarchive.cpp b/SRC/Boost/libs/serialization/src/xml_woarchive.cpp
deleted file mode 100755
index 892f38b..0000000
--- a/SRC/Boost/libs/serialization/src/xml_woarchive.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_woarchive.cpp:
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-
-#define BOOST_WARCHIVE_SOURCE
-#include <boost/archive/xml_woarchive.hpp>
-#include <boost/archive/detail/archive_serializer_map.hpp>
-
-// explicitly instantiate for this type of text stream
-#include <boost/archive/impl/archive_serializer_map.ipp>
-#include <boost/archive/impl/basic_xml_oarchive.ipp>
-#include <boost/archive/impl/xml_woarchive_impl.ipp>
-
-namespace boost {
-namespace archive {
-
-template class detail::archive_serializer_map<xml_woarchive>;
-template class basic_xml_oarchive<xml_woarchive> ;
-template class xml_woarchive_impl<xml_woarchive> ;
-
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Boost/libs/serialization/test/A.cpp b/SRC/Boost/libs/serialization/test/A.cpp
deleted file mode 100755
index 0654f48..0000000
--- a/SRC/Boost/libs/serialization/test/A.cpp
+++ /dev/null
@@ -1,222 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// A.cpp    simple class test
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cassert>
-#include <cstdlib> // rand()
-#include <cmath>   // fabs()
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::rand; 
-    using ::fabs;
-    using ::size_t;
-}
-#endif
-
-#include <boost/detail/workaround.hpp>
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-#include <boost/archive/dinkumware.hpp>
-#endif
-
-#include "A.hpp"
-
-template<class S>
-void randomize(S &x)
-{
-    assert(0 == x.size());
-    for(;;){
-        unsigned int i = std::rand() % 27;
-        if(0 == i)
-            break;
-        x += static_cast<BOOST_DEDUCED_TYPENAME S::value_type>('a' - 1 + i);
-    }
-}
-
-template<class T>
-void accumulate(std::size_t & s, const T & t){
-    const char * tptr = (const char *)(& t);
-    unsigned int count = sizeof(t);
-    while(count-- > 0){
-        s += *tptr++;
-    }
-}
-
-A::operator std::size_t () const {
-    std::size_t retval = 0;
-    accumulate(retval, b);
-    #ifndef BOOST_NO_INT64_T
-    accumulate(retval, f);
-    accumulate(retval, g);
-    #endif
-    accumulate(retval, l);
-    accumulate(retval, m);
-    accumulate(retval, n);
-    accumulate(retval, o);
-    accumulate(retval, p);
-    accumulate(retval, q);
-    #ifndef BOOST_NO_CWCHAR
-    accumulate(retval, r);
-    #endif
-    accumulate(retval, c);
-    accumulate(retval, s);
-    accumulate(retval, t);
-    accumulate(retval, u);
-    accumulate(retval, v);
-    return retval;
-}
-
-#if defined(_MSC_VER)
-#pragma warning(push) // Save warning settings.
-#pragma warning(disable : 4244) // Disable possible loss of data warning
-
-#endif 
-A::A() :
-    b(true),
-    #ifndef BOOST_NO_INT64_T
-    f(std::rand() * std::rand()),
-    g(std::rand() * std::rand()),
-    #endif
-    l(static_cast<enum h>(std::rand() % 3)),
-    m(std::rand()),
-    n(std::rand()),
-    o(std::rand()),
-    p(std::rand()),
-    q(std::rand()),
-    #ifndef BOOST_NO_CWCHAR
-    r(std::rand()),
-    #endif
-    c(0xff & std::rand()),
-    s(0xff & std::rand()),
-    t(0xff & std::rand()),
-    u(std::rand()),
-    v(std::rand()),
-    w((float)std::rand()),
-    x((double)std::rand())
-{
-    randomize(y);
-    #ifndef BOOST_NO_STD_WSTRING
-    randomize(z);
-    #endif
-}
-
-#if defined(_MSC_VER)
-#pragma warning(pop) // Restore warnings to previous state.
-#endif 
-
-bool A::operator==(const A &rhs) const
-{
-    if(b != rhs.b)
-        return false;
-    if(l != rhs.l)
-        return false;
-    #ifndef BOOST_NO_INT64_T
-    if(f != rhs.f)
-        return false;
-    if(g != rhs.g)
-        return false;
-    #endif
-    if(m != rhs.m)
-        return false;
-    if(n != rhs.n)
-        return false;
-    if(o != rhs.o)
-        return false;
-    if(p != rhs.p)
-        return false; 
-    if(q != rhs.q)
-        return false;
-    #ifndef BOOST_NO_CWCHAR
-    if(r != rhs.r)
-        return false; 
-    #endif
-    if(c != rhs.c)
-        return false;
-    if(s != rhs.s)
-        return false;
-    if(t != rhs.t)
-        return false;
-    if(u != rhs.u)
-        return false; 
-    if(v != rhs.v)
-        return false; 
-    if(w == 0 && std::fabs(rhs.w) > std::numeric_limits<float>::epsilon())
-        return false;
-    if(std::fabs(rhs.w/w - 1.0) > std::numeric_limits<float>::epsilon())
-        return false;
-    if(x == 0 && std::fabs(rhs.x - x) > std::numeric_limits<float>::epsilon())
-        return false;
-    if(std::fabs(rhs.x/x - 1.0) > std::numeric_limits<float>::epsilon())
-        return false;
-    if(0 != y.compare(rhs.y))
-        return false;
-    #ifndef BOOST_NO_STD_WSTRING
-    if(0 != z.compare(rhs.z))
-        return false;
-    #endif      
-    return true;
-}
-
-bool A::operator!=(const A &rhs) const
-{
-    return ! (*this == rhs);
-}
-
-bool A::operator<(const A &rhs) const
-{
-    if(b != rhs.b)
-        return b < rhs.b;
-    #ifndef BOOST_NO_INT64_T
-    if(f != rhs.f)
-        return f < rhs.f;
-    if(g != rhs.g)
-        return g < rhs.g;
-    #endif
-    if(l != rhs.l )
-        return l < rhs.l;
-    if(m != rhs.m )
-        return m < rhs.m;
-    if(n != rhs.n )
-        return n < rhs.n;
-    if(o != rhs.o )
-        return o < rhs.o;
-    if(p != rhs.p )
-        return p < rhs.p;
-    if(q != rhs.q )
-        return q < rhs.q;
-    #ifndef BOOST_NO_CWCHAR
-    if(r != rhs.r )
-        return r < rhs.r;
-    #endif
-    if(c != rhs.c )
-        return c < rhs.c;
-    if(s != rhs.s )
-        return s < rhs.s;
-    if(t != rhs.t )
-        return t < rhs.t;
-    if(u != rhs.u )
-        return u < rhs.u; 
-    if(v != rhs.v )
-        return v < rhs.v;
-    if(w != rhs.w )
-        return w < rhs.w; 
-    if(x != rhs.x )
-        return x < rhs.x;
-    int i = y.compare(rhs.y);
-    if(i !=  0 )
-        return i < 0;
-    #ifndef BOOST_NO_STD_WSTRING
-    int j = z.compare(rhs.z);
-    if(j !=  0 )
-        return j < 0;
-    #endif
-    return false;
-}
diff --git a/SRC/Boost/libs/serialization/test/A.hpp b/SRC/Boost/libs/serialization/test/A.hpp
deleted file mode 100755
index 2692cba..0000000
--- a/SRC/Boost/libs/serialization/test/A.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TEST_A_HPP
-#define BOOST_SERIALIZATION_TEST_A_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// A.hpp    simple class test
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <ostream> // for friend output operators
-#include <cstddef> // size_t
-#include <string>
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::size_t;
-}
-#endif
-
-#include <boost/detail/workaround.hpp>
-#include <boost/limits.hpp>
-#include <boost/cstdint.hpp>
-
-#include <boost/serialization/access.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    #include <boost/detail/workaround.hpp>
-    #if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-    #include <boost/archive/dinkumware.hpp>
-    #endif
-#endif
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/string.hpp>
-
-#include <boost/preprocessor/facilities/empty.hpp>
-
-#include "test_decl.hpp"
-
-#if defined(A_IMPORT)
-    #define DLL_DECL IMPORT_DECL
-#elif defined(A_EXPORT)
-    #define DLL_DECL EXPORT_DECL
-#else
-    #define DLL_DECL(x)
-#endif
-
-class DLL_DECL(BOOST_PP_EMPTY()) A
-{
-private:
-    friend class boost::serialization::access;
-    // note: from an aesthetic perspective, I would much prefer to have this
-    // defined out of line.  Unfortunately, this trips a bug in the VC 6.0
-    // compiler. So hold our nose and put it her to permit running of tests.
-    // mscvc 6.0 requires template functions to be implemented. For this
-    // reason we can't make abstract.
-    #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-        template<class Archive>
-        void serialize(
-            Archive &ar,
-            const unsigned int /* file_version */
-        ){
-            ar & BOOST_SERIALIZATION_NVP(b);
-            #ifndef BOOST_NO_INT64_T
-            ar & BOOST_SERIALIZATION_NVP(f);
-            ar & BOOST_SERIALIZATION_NVP(g);
-            #endif
-            #if BOOST_WORKAROUND(__BORLANDC__,  <= 0x551 )
-                int i;
-                if(BOOST_DEDUCED_TYPENAME Archive::is_saving::value){
-                    i = l;
-                    ar & BOOST_SERIALIZATION_NVP(i);
-                }
-                else{
-                    ar & BOOST_SERIALIZATION_NVP(i);
-                    l = i;
-                }
-            #else
-                ar & BOOST_SERIALIZATION_NVP(l);
-            #endif
-            ar & BOOST_SERIALIZATION_NVP(m);
-            ar & BOOST_SERIALIZATION_NVP(n);
-            ar & BOOST_SERIALIZATION_NVP(o);
-            ar & BOOST_SERIALIZATION_NVP(p);
-            ar & BOOST_SERIALIZATION_NVP(q);
-            #ifndef BOOST_NO_CWCHAR
-            ar & BOOST_SERIALIZATION_NVP(r);
-            #endif
-            ar & BOOST_SERIALIZATION_NVP(c);
-            ar & BOOST_SERIALIZATION_NVP(s);
-            ar & BOOST_SERIALIZATION_NVP(t);
-            ar & BOOST_SERIALIZATION_NVP(u);
-            ar & BOOST_SERIALIZATION_NVP(v);
-            ar & BOOST_SERIALIZATION_NVP(w);
-            ar & BOOST_SERIALIZATION_NVP(x);
-            ar & BOOST_SERIALIZATION_NVP(y);
-            #ifndef BOOST_NO_STD_WSTRING
-            ar & BOOST_SERIALIZATION_NVP(z);
-            #endif
-        }
-    #else
-        template<class Archive>
-        void serialize(
-            Archive &ar,
-            const unsigned int /* file_version */
-        );
-    #endif
-    bool b;
-    #ifndef BOOST_NO_INT64_T
-    boost::int64_t f;
-    boost::uint64_t g;
-    #endif
-    enum h {
-        i = 0,
-        j,
-        k
-    } l;
-    std::size_t m;
-    signed long n;
-    unsigned long o;
-    signed  short p;
-    unsigned short q;
-    #ifndef BOOST_NO_CWCHAR
-    wchar_t r;
-    #endif
-    char c;
-    signed char s;
-    unsigned char t;
-    signed int u;
-    unsigned int v;
-    float w;
-    double x;
-    std::string y;
-    #ifndef BOOST_NO_STD_WSTRING
-    std::wstring z;
-    #endif
-public:
-    A();
-    bool check_equal(const A &rhs) const;
-    bool operator==(const A &rhs) const;
-    bool operator!=(const A &rhs) const;
-    bool operator<(const A &rhs) const; // used by less
-    // hash function for class A
-    operator std::size_t () const;
-    friend std::ostream & operator<<(std::ostream & os, A const & a);
-};
-
-#undef DLL_DECL
-
-#endif // BOOST_SERIALIZATION_TEST_A_HPP
diff --git a/SRC/Boost/libs/serialization/test/A.ipp b/SRC/Boost/libs/serialization/test/A.ipp
deleted file mode 100755
index a31716d..0000000
--- a/SRC/Boost/libs/serialization/test/A.ipp
+++ /dev/null
@@ -1,64 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// A.ipp    simple class test
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/detail/workaround.hpp>
-#if ! BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-#include <boost/archive/dinkumware.hpp>
-#endif
-
-#include "A.hpp"
-
-template<class Archive>
-void A::serialize(
-    Archive &ar,
-    const unsigned int /* file_version */
-){
-    ar & BOOST_SERIALIZATION_NVP(b);
-    #ifndef BOOST_NO_INT64_T
-    ar & BOOST_SERIALIZATION_NVP(f);
-    ar & BOOST_SERIALIZATION_NVP(g);
-    #endif
-    #if BOOST_WORKAROUND(__BORLANDC__,  <= 0x551 )
-        int i;
-        if(BOOST_DEDUCED_TYPENAME Archive::is_saving::value){
-            i = l;
-            ar & BOOST_SERIALIZATION_NVP(i);
-        }
-        else{
-            ar & BOOST_SERIALIZATION_NVP(i);
-            l = i;
-        }
-    #else
-        ar & BOOST_SERIALIZATION_NVP(l);
-    #endif
-    ar & BOOST_SERIALIZATION_NVP(m);
-    ar & BOOST_SERIALIZATION_NVP(n);
-    ar & BOOST_SERIALIZATION_NVP(o);
-    ar & BOOST_SERIALIZATION_NVP(p);
-    ar & BOOST_SERIALIZATION_NVP(q);
-    #ifndef BOOST_NO_CWCHAR
-    ar & BOOST_SERIALIZATION_NVP(r);
-    #endif
-    ar & BOOST_SERIALIZATION_NVP(c);
-    ar & BOOST_SERIALIZATION_NVP(s);
-    ar & BOOST_SERIALIZATION_NVP(t);
-    ar & BOOST_SERIALIZATION_NVP(u);
-    ar & BOOST_SERIALIZATION_NVP(v);
-    ar & BOOST_SERIALIZATION_NVP(w);
-    ar & BOOST_SERIALIZATION_NVP(x);
-    ar & BOOST_SERIALIZATION_NVP(y);
-    #ifndef BOOST_NO_STD_WSTRING
-    ar & BOOST_SERIALIZATION_NVP(z);
-    #endif
-}
-
-#endif // workaround BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
diff --git a/SRC/Boost/libs/serialization/test/B.hpp b/SRC/Boost/libs/serialization/test/B.hpp
deleted file mode 100755
index 26eab40..0000000
--- a/SRC/Boost/libs/serialization/test/B.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TEST_B_HPP
-#define BOOST_SERIALIZATION_TEST_B_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// B.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstdlib> // for rand()
-#include <cmath>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::rand; 
-}
-#endif
-
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/base_object.hpp>
-
-#include "A.hpp"
-
-///////////////////////////////////////////////////////
-// Derived class test
-class B : public A
-{
-private:
-    friend class boost::serialization::access;
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        // write any base class info to the archive
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-
-        // write out members
-        ar << BOOST_SERIALIZATION_NVP(s);
-        ar << BOOST_SERIALIZATION_NVP(t);
-        ar << BOOST_SERIALIZATION_NVP(u);
-        ar << BOOST_SERIALIZATION_NVP(v);
-        ar << BOOST_SERIALIZATION_NVP(w);
-        ar << BOOST_SERIALIZATION_NVP(x);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int file_version)
-    {
-        // read any base class info to the archive
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-        switch(file_version){
-        case 1:
-        case 2:
-            ar >> BOOST_SERIALIZATION_NVP(s);
-            ar >> BOOST_SERIALIZATION_NVP(t);
-            ar >> BOOST_SERIALIZATION_NVP(u);
-            ar >> BOOST_SERIALIZATION_NVP(v);
-            ar >> BOOST_SERIALIZATION_NVP(w);
-            ar >> BOOST_SERIALIZATION_NVP(x);
-        default:
-            break;
-        }
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-    signed char s;
-    unsigned char t;
-    signed int u;
-    unsigned int v;
-    float w;
-    double x;
-public:
-    B();
-    virtual ~B(){};
-    bool operator==(const B &rhs) const;
-};
-
-B::B() :
-    s(static_cast<signed char>(std::rand())),
-    t(static_cast<unsigned char>(std::rand())),
-    u(std::rand()),
-    v(std::rand()),
-    w((float)std::rand() / std::rand()),
-    x((double)std::rand() / std::rand())
-{
-}
-
-BOOST_CLASS_VERSION(B, 2)
-
-inline bool B::operator==(const B &rhs) const
-{
-    return
-        A::operator==(rhs)
-        && s == rhs.s 
-        && t == rhs.t 
-        && u == rhs.u 
-        && v == rhs.v 
-        && std::fabs(w - rhs.w) <= std::numeric_limits<float>::round_error()
-        && std::fabs(x - rhs.x) <= std::numeric_limits<float>::round_error()
-    ;
-}
-
-#endif // BOOST_SERIALIZATION_TEST_B_HPP
diff --git a/SRC/Boost/libs/serialization/test/C.hpp b/SRC/Boost/libs/serialization/test/C.hpp
deleted file mode 100755
index ac61efa..0000000
--- a/SRC/Boost/libs/serialization/test/C.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TEST_A_HPP
-#define BOOST_SERIALIZATION_TEST_A_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// C.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/config.hpp>
-#include <boost/serialization/traits.hpp>
-#include <boost/serialization/split.hpp>
-
-#include "B.hpp"
-
-///////////////////////////////////////////////////////
-// Contained class
-class C
-{
-private:
-    friend class boost::serialization::access;
-    template<class Archive>
-    void save(Archive &ar, boost::archive::version_type file_version) const;
-    template<class Archive>
-    void load(Archive & ar, boost::archive::version_type file_version);
-    BOOST_SERIALIZATION_MEMBER_SPLIT()
-    B b;
-public:
-    bool operator==(const C &rhs) const;
-};
-
-BOOST_CLASS_VERSION(C, 1)
-
-inline bool C::operator==(const C &rhs) const
-{
-    return b == rhs.b;
-}
-
-template<class Archive>
-inline void save(Archive &ar, boost::archive::version_type file_version) const
-{
-    ar << b;
-}
-
-template<class Archive>
-inline void load(Archive & ar, boost::archive::version_type file_version){
-{
-    switch(file_version){
-    case 1:
-        ar >> b;
-        break;
-    case 2:
-    default:
-        assert(false);
-        break;
-    }
-}
-
-#endif // BOOST_SERIALIZATION_TEST_C_HPP
diff --git a/SRC/Boost/libs/serialization/test/D.hpp b/SRC/Boost/libs/serialization/test/D.hpp
deleted file mode 100755
index 1bbbefd..0000000
--- a/SRC/Boost/libs/serialization/test/D.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TEST_D_HPP
-#define BOOST_SERIALIZATION_TEST_D_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// D.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // NULL
-
-#include "test_tools.hpp"
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/serialization/split_member.hpp>
-
-#include "B.hpp"
-
-///////////////////////////////////////////////////////
-// Contained class with multiple identical pointers
-class D
-{
-private:
-    friend class boost::serialization::access;
-    B *b1;
-    B *b2;
-    template<class Archive>
-    void save(Archive &ar, const unsigned int file_version) const{
-        ar << BOOST_SERIALIZATION_NVP(b1);
-        ar << BOOST_SERIALIZATION_NVP(b2);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int file_version){
-        BOOST_TRY {
-            ar >> boost::serialization::make_nvp("b", b1);
-            ar >> boost::serialization::make_nvp("b", b2);
-        }
-        BOOST_CATCH (...){
-            // eliminate invalid pointers
-            b1 = NULL;
-            b2 = NULL;
-            BOOST_FAIL( "multiple identical pointers failed to load" );
-        }
-        BOOST_CATCH_END
-        // check that loading was correct
-        BOOST_CHECK(b1 == b2);
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-public:
-    D();
-    ~D();
-    bool operator==(const D &rhs) const;
-};
-
-BOOST_CLASS_VERSION(D, 3)
-
-D::D()
-{
-    b1 = new B();
-    b2 = b1;
-}
-
-D::~D()
-{
-    delete b1;
-}
-
-bool D::operator==(const D &rhs) const
-{
-    if(! (*b1 == *(rhs.b1)) )
-        return false;   
-    if(! (*b2 == *(rhs.b2)) )
-        return false;
-    return true;
-}
-
-#endif // BOOST_SERIALIZATION_TEST_D_HPP
diff --git a/SRC/Boost/libs/serialization/test/J.hpp b/SRC/Boost/libs/serialization/test/J.hpp
deleted file mode 100755
index 6d6a343..0000000
--- a/SRC/Boost/libs/serialization/test/J.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TEST_J_HPP
-#define BOOST_SERIALIZATION_TEST_J_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// J.hpp    simple class test
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/serialization/base_object.hpp>
-
-#include "A.hpp"
-
-///////////////////////////////////////////////////////
-// class with a member which refers to itself
-class J : public A
-{
-private:
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(
-        Archive &ar,
-        const unsigned int /* file_version */
-    ){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-        ar & BOOST_SERIALIZATION_NVP(j);
-    }
-public:
-    bool operator==(const J &rhs) const;
-    J *j;
-    J(J *_j) : j(_j) {}
-    J() : j(NULL){}
-};
-
-BOOST_CLASS_VERSION(J, 6)
-
-bool J::operator==(const J &rhs) const
-{
-    return static_cast<const A &>(*this) == static_cast<const A &>(rhs);
-}
-
-#endif // BOOST_SERIALIZATION_TEST_J_HPP
diff --git a/SRC/Boost/libs/serialization/test/Jamfile.v2 b/SRC/Boost/libs/serialization/test/Jamfile.v2
deleted file mode 100755
index 2affadb..0000000
--- a/SRC/Boost/libs/serialization/test/Jamfile.v2
+++ /dev/null
@@ -1,162 +0,0 @@
-# Boost serialization Library test Jamfile
-
-#  (C) Copyright Robert Ramey 2002-2004.
-#  Use, modification, and distribution are subject to the 
-#  Boost Software License, Version 1.0. (See accompanying file 
-#  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-
-project libs/serialization/test
-    : id serialization_test
-    : requirements <source>/boost/filesystem
-    ;
-
-# import rules from the boost serialization test
-# import ../util/test : test-bsl-run-no-lib ;
-import ../util/test :
-    run-template
-    run-invoke
-    run-winvoke
-    test-bsl-run-no-lib
-    test-bsl-run
-    test-bsl-run_archive
-    test-bsl-run_files
-    test-bsl-run_polymorphic_archive
-;
-
-BOOST_ARCHIVE_LIST = [ modules.peek : BOOST_ARCHIVE_LIST ] ;
-
-lib dll_a_lib 
-    : 
-        dll_a.cpp
-        ../build//boost_serialization
-    : 
-        <link>shared 
-    ;
-
-lib dll_base_lib 
-    : 
-        dll_base.cpp
-        ../build//boost_serialization
-    : 
-        <link>shared 
-    ;
-    
-lib dll_derived2_lib
-    :
-        dll_derived2.cpp 
-        dll_base_lib
-        ../build//boost_serialization
-    : 
-        <link>shared
-    ;
-
-lib dll_polymorphic_derived2_lib
-    :
-        polymorphic_derived2.cpp 
-        ../build//boost_serialization
-    : 
-        <link>shared
-    ;
-
-test-suite "serialization" :
-     [ test-bsl-run_files test_array : A ]
-     [ test-bsl-run_files test_binary ]
-     [ test-bsl-run_files test_bitset ]
-     [ test-bsl-run_files test_complex ]
-     [ test-bsl-run_files test_contained_class : A ]
-     [ test-bsl-run_files test_cyclic_ptrs : A ]
-     [ test-bsl-run_files test_delete_pointer ]
-     [ test-bsl-run_files test_deque : A ]
-     [ test-bsl-run_files test_derived ]
-     [ test-bsl-run_files test_derived_class : A ]
-     [ test-bsl-run_files test_derived_class_ptr : A ]
-     [ test-bsl-run_files test_diamond ]
-     [ test-bsl-run_files test_diamond_complex ]
-     [ test-bsl-run_files test_exported : polymorphic_base ]
-     [ test-bsl-run_files test_class_info_load ]
-     [ test-bsl-run_files test_class_info_save ]
-     [ test-bsl-run_files test_object ]
-     [ test-bsl-run_files test_primitive ]
-     [ test-bsl-run_files test_list : A ]
-     [ test-bsl-run_files test_list_ptrs : A ]
-     [ test-bsl-run_files test_map : A ]
-     [ test-bsl-run_files test_mi ]
-     [ test-bsl-run_files test_multiple_ptrs : A ]
-     [ test-bsl-run_files test_multiple_inheritance ]
-     [ test-bsl-run_files test_no_rtti : polymorphic_base polymorphic_derived1 ]
-     [ test-bsl-run_files test_non_intrusive ]
-     [ test-bsl-run_files test_non_default_ctor ]
-     [ test-bsl-run_files test_non_default_ctor2 ]
-     [ test-bsl-run_files test_null_ptr ]
-     [ test-bsl-run_files test_nvp : A ]
-     [ test-bsl-run_files test_recursion : A ]
-     [ test-bsl-run_files test_registered ]
-     [ test-bsl-run_files test_set : A ]
-     [ test-bsl-run_files test_simple_class : A ]
-     [ test-bsl-run_files test_simple_class_ptr : A ]
-     [ test-bsl-run_files test_split ]
-     [ test-bsl-run_files test_tracking ]
-     [ test-bsl-run_files test_unregistered ]
-     [ test-bsl-run_files test_valarray ]
-     [ test-bsl-run_files test_variant : A ]
-     [ test-bsl-run_files test_vector : A ]
-     [ test-bsl-run_files test_new_operator : A ]
-     [ test-bsl-run_files test_optional ]
-     [ test-bsl-run_files test_shared_ptr ]
-     [ test-bsl-run_files test_shared_ptr_multi_base ]
-     [ test-bsl-run_files test_shared_ptr_132 ]
-     [ test-bsl-run_polymorphic_archive test_polymorphic : test_polymorphic_A A ]
-     [ test-bsl-run_polymorphic_archive test_polymorphic2 : test_polymorphic2imp ]
-    ;
-
-if ! $(BOOST_ARCHIVE_LIST) {
-    test-suite "serialization2" : 
-        [ test-bsl-run test_dll_exported : : dll_polymorphic_derived2_lib : <runtime-link>shared ]
-        [ test-bsl-run test_dll_simple : : dll_a_lib : <runtime-link>shared ]
-        [ compile test_dll_plugin.cpp ]
-        [ test-bsl-run test_private_ctor ]
-        [ test-bsl-run test_reset_object_address : A ]
-        [ test-bsl-run test_void_cast ]
-        [ test-bsl-run test_mult_archive_types ]
-        
-        [ test-bsl-run-no-lib test_iterators ]
-        [ test-bsl-run-no-lib test_iterators_base64 ]
-	    [ test-bsl-run-no-lib test_inclusion ]
-        [ test-bsl-run-no-lib test_smart_cast ]
-        
-        [ test-bsl-run-no-lib test_utf8_codecvt 
-            : ../src/utf8_codecvt_facet
-            : <dependency>../../config/test/all//BOOST_NO_STD_WSTREAMBUF
-        ]
-        [ test-bsl-run-no-lib test_codecvt_null 
-            : ../src/codecvt_null 
-            : <dependency>../../config/test/all//BOOST_NO_STD_WSTREAMBUF
-        ]
-
-        # should fail compilation
-        [ compile-fail test_not_serializable.cpp ]
-        [ compile-fail test_traits_fail.cpp ]
-        [ compile-fail test_const_load_fail1.cpp ]
-        [ compile-fail test_const_load_fail2.cpp ]
-        [ compile-fail test_const_load_fail3.cpp ]
-        [ compile-fail test_const_load_fail1_nvp.cpp ]
-        [ compile-fail test_const_load_fail2_nvp.cpp ]
-        [ compile-fail test_const_load_fail3_nvp.cpp ]
-        [ compile-fail test_check.cpp ]
-
-        # should compile with a warning message
-        [ compile test_static_warning.cpp ]
-        [ compile test_const_save_warn1.cpp ]
-        [ compile test_const_save_warn2.cpp ]
-        [ compile test_const_save_warn3.cpp ]
-        # note - library unable to detect these errors for now
-        #[ compile test_const_save_warn1_nvp.cpp ]
-        #[ compile test_const_save_warn2_nvp.cpp ]
-        #[ compile test_const_save_warn3_nvp.cpp ]
-        
-        # should compile
-        [ compile test_traits_pass.cpp ]
-        [ compile test_const_pass.cpp ]
-    ;
-}
diff --git a/SRC/Boost/libs/serialization/test/base.hpp b/SRC/Boost/libs/serialization/test/base.hpp
deleted file mode 100755
index 996b5a0..0000000
--- a/SRC/Boost/libs/serialization/test/base.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TEST_BASE_HPP
-#define BOOST_SERIALIZATION_TEST_BASE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// base.hpp    simple class test
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/assume_abstract.hpp>
-#include <boost/preprocessor/facilities/empty.hpp>
-
-#include "test_decl.hpp"
-
-#if defined(BASE_IMPORT)
-    #define DLL_DECL IMPORT_DECL
-#elif defined(BASE_EXPORT)
-    #define DLL_DECL EXPORT_DECL
-#else
-    #define DLL_DECL(x)
-#endif
-
-class DLL_DECL(BOOST_PP_EMPTY()) base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & /* ar */, const unsigned int /* file_version */);
-public:
-    virtual ~base(){};
-};
-
-BOOST_SERIALIZATION_ASSUME_ABSTRACT(base)
-
-#undef  DLL_DECL
-
-#endif // BOOST_SERIALIZATION_TEST_BASE_HPP
diff --git a/SRC/Boost/libs/serialization/test/binary_archive.hpp b/SRC/Boost/libs/serialization/test/binary_archive.hpp
deleted file mode 100755
index 6e7751e..0000000
--- a/SRC/Boost/libs/serialization/test/binary_archive.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-// binary_archive
-#include <boost/archive/binary_oarchive.hpp>
-typedef boost::archive::binary_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-
-#include <boost/archive/binary_iarchive.hpp>
-typedef boost::archive::binary_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-
-//#define TEST_STREAM_FLAGS (std::ios::binary | std::ios::in | std::ios::out)
-#define TEST_STREAM_FLAGS (std::ios::binary)
diff --git a/SRC/Boost/libs/serialization/test/binary_warchive.hpp b/SRC/Boost/libs/serialization/test/binary_warchive.hpp
deleted file mode 100755
index 54b589d..0000000
--- a/SRC/Boost/libs/serialization/test/binary_warchive.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-// binary_warchive
-#include <boost/archive/binary_woarchive.hpp>
-typedef boost::archive::binary_woarchive test_oarchive;
-typedef std::wofstream test_ostream;
-#include <boost/archive/binary_wiarchive.hpp>
-typedef boost::archive::binary_wiarchive test_iarchive;
-typedef std::wifstream test_istream;
-#define TEST_STREAM_FLAGS std::wios::binary
diff --git a/SRC/Boost/libs/serialization/test/derived2.hpp b/SRC/Boost/libs/serialization/test/derived2.hpp
deleted file mode 100755
index 3690cdb..0000000
--- a/SRC/Boost/libs/serialization/test/derived2.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TEST_DERIVED2_HPP
-#define BOOST_SERIALIZATION_TEST_DERIVED2_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// derived2.hpp    simple class test
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/access.hpp>
-
-#define BASE_IMPORT
-#include "base.hpp"
-
-#include "test_decl.hpp"
-
-#if defined(DERIVED2_IMPORT)
-    #define DLL_DECL IMPORT_DECL
-#elif defined(DERIVED2_EXPORT)
-    #define DLL_DECL EXPORT_DECL
-#else
-    #define DLL_DECL(x)
-#endif
-
-class DLL_DECL(BOOST_PP_EMPTY()) derived2 : 
-    public base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */);
-public:
-    ~derived2(){}
-};
-
-#undef DLL_DECL
-
-// MWerks users can do this to make their code work
-BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(base, derived2)
-
-#endif // BOOST_SERIALIZATION_TEST_DERIVED2_HPP
diff --git a/SRC/Boost/libs/serialization/test/dll_a.cpp b/SRC/Boost/libs/serialization/test/dll_a.cpp
deleted file mode 100755
index b73e98c..0000000
--- a/SRC/Boost/libs/serialization/test/dll_a.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// dll_a.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Build a dll which contains the serialization for a class A
-// used in testing distribution of serialization code in DLLS
-
-#define A_EXPORT
-#include "A.hpp"
-#include "A.ipp"
-#include "A.cpp"
-
-// instantiate code for text archives
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-template
-EXPORT_DECL(void) A::serialize(
-    boost::archive::text_oarchive &ar,
-    const unsigned int /* file_version */
-);
-template
-EXPORT_DECL(void) A::serialize(
-    boost::archive::text_iarchive &ar,
-    const unsigned int /* file_version */
-);
-
-// instantiate code for polymorphic archives
-
-#include <boost/archive/polymorphic_oarchive.hpp>
-#include <boost/archive/polymorphic_iarchive.hpp>
-
-template
-EXPORT_DECL(void) A::serialize(
-    boost::archive::polymorphic_oarchive &ar,
-    const unsigned int /* file_version */
-);
-template
-EXPORT_DECL(void) A::serialize(
-    boost::archive::polymorphic_iarchive &ar,
-    const unsigned int /* file_version */
-);
-
diff --git a/SRC/Boost/libs/serialization/test/dll_base.cpp b/SRC/Boost/libs/serialization/test/dll_base.cpp
deleted file mode 100755
index 7787778..0000000
--- a/SRC/Boost/libs/serialization/test/dll_base.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// dll_base.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Build a dll which contains the serialization for a class A
-// used in testing distribution of serialization code in DLLS
-#include <boost/serialization/export.hpp>
-
-#define BASE_EXPORT
-#include "base.hpp"
-
-template<class Archive>
-void base::serialize(
-    Archive &ar,
-    const unsigned int /* file_version */){
-}
-
-// for some reason this is required at least by MSVC
-// given that its declared virtual .. = 0;  This 
-// seems wrong to me but here it is.
-//polymorphic_base::~polymorphic_base(){}
-
-// instantiate code for text archives
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-// instantiate code for polymorphic archives
-#include <boost/archive/polymorphic_oarchive.hpp>
-#include <boost/archive/polymorphic_iarchive.hpp>
-
-// note: BOOST_CLASS_EXPORT cannot be used to instantiate
-// serialization code for an abstract base class.  So use
-// explicit instantiation in this case.
-//BOOST_CLASS_EXPORT(polymorphic_base)
-
-template EXPORT_DECL(void) base::serialize(
-    boost::archive::text_oarchive & ar,
-    const unsigned int version
-);
-template EXPORT_DECL(void) base::serialize(
-    boost::archive::text_iarchive & ar,
-    const unsigned int version
-);
-template EXPORT_DECL(void) base::serialize(
-    boost::archive::polymorphic_oarchive & ar,
-    const unsigned int version
-);
-template EXPORT_DECL(void) base::serialize(
-    boost::archive::polymorphic_iarchive & ar,
-    const unsigned int version
-);
diff --git a/SRC/Boost/libs/serialization/test/dll_derived2.cpp b/SRC/Boost/libs/serialization/test/dll_derived2.cpp
deleted file mode 100755
index 6255d39..0000000
--- a/SRC/Boost/libs/serialization/test/dll_derived2.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// dll_derived2.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Build a dll which contains the serialization for a class A
-// used in testing distribution of serialization code in DLLS
-
-#include <boost/serialization/nvp.hpp>
-
-#define DERIVED2_EXPORT
-#include "derived2.hpp"
-
-template<class Archive>
-void derived2::serialize(
-    Archive &ar, 
-    const unsigned int /* file_version */
-){
-    ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
-}
-
-// instantiate code for text archives
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-template EXPORT_DECL(void) derived2::serialize(
-    boost::archive::text_oarchive & ar,
-    const unsigned int version
-);
-template EXPORT_DECL(void) derived2::serialize(
-    boost::archive::text_iarchive & ar,
-    const unsigned int version
-);
-
-#include <boost/archive/polymorphic_oarchive.hpp>
-#include <boost/archive/polymorphic_iarchive.hpp>
-
-template EXPORT_DECL(void) derived2::serialize(
-    boost::archive::polymorphic_oarchive & ar,
-    const unsigned int version
-);
-template EXPORT_DECL(void) derived2::serialize(
-    boost::archive::polymorphic_iarchive & ar,
-    const unsigned int version
-);
-
-// note: export has to be AFTER #includes for all archive classes
-
-#include <boost/serialization/factory.hpp>
-BOOST_SERIALIZATION_FACTORY_0(derived2)
-BOOST_CLASS_EXPORT(derived2)
diff --git a/SRC/Boost/libs/serialization/test/polymorphic_array_binary_archive.hpp b/SRC/Boost/libs/serialization/test/polymorphic_array_binary_archive.hpp
deleted file mode 100755
index 12759cf..0000000
--- a/SRC/Boost/libs/serialization/test/polymorphic_array_binary_archive.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/archive/polymorphic_binary_oarchive.hpp>
-typedef boost::archive::polymorphic_binary_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/polymorphic_binary_iarchive.hpp>
-typedef boost::archive::polymorphic_binary_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-#define TEST_STREAM_FLAGS std::ios::binary
diff --git a/SRC/Boost/libs/serialization/test/polymorphic_base.cpp b/SRC/Boost/libs/serialization/test/polymorphic_base.cpp
deleted file mode 100755
index 60ba490..0000000
--- a/SRC/Boost/libs/serialization/test/polymorphic_base.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_base.cpp   
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/serialization/export.hpp>
-#include "polymorphic_base.hpp"
-
-BOOST_CLASS_EXPORT_IMPLEMENT(polymorphic_base)
-
-const char * polymorphic_base::get_key() const{
-    return
-        boost::serialization::type_info_implementation<
-            polymorphic_base
-        >::type::get_const_instance().get_key();
-}
diff --git a/SRC/Boost/libs/serialization/test/polymorphic_base.hpp b/SRC/Boost/libs/serialization/test/polymorphic_base.hpp
deleted file mode 100755
index 97b257c..0000000
--- a/SRC/Boost/libs/serialization/test/polymorphic_base.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef POLYMORPHIC_BASE_HPP
-#define POLYMORPHIC_BASE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_base.hpp    simple class test
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/assume_abstract.hpp>
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/extended_type_info_no_rtti.hpp>
-
-class polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(
-        Archive & /* ar */, 
-        const unsigned int /* file_version */
-    ){}
-public:
-    // note that since this class uses the "no_rtti"
-    // extended_type_info implementation, it MUST
-    // implement this function
-    virtual const char * get_key() const = 0;
-    virtual ~polymorphic_base(){};
-};
-
-BOOST_SERIALIZATION_ASSUME_ABSTRACT(polymorphic_base)
-
-// the no_rtti system requires this !!!
-BOOST_CLASS_EXPORT_KEY(polymorphic_base)
-
-BOOST_CLASS_TYPE_INFO(
-    polymorphic_base,
-    boost::serialization::extended_type_info_no_rtti<polymorphic_base>
-)
-
-#endif // POLYMORPHIC_BASE_HPP
diff --git a/SRC/Boost/libs/serialization/test/polymorphic_binary_archive.hpp b/SRC/Boost/libs/serialization/test/polymorphic_binary_archive.hpp
deleted file mode 100755
index 12759cf..0000000
--- a/SRC/Boost/libs/serialization/test/polymorphic_binary_archive.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/archive/polymorphic_binary_oarchive.hpp>
-typedef boost::archive::polymorphic_binary_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/polymorphic_binary_iarchive.hpp>
-typedef boost::archive::polymorphic_binary_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-#define TEST_STREAM_FLAGS std::ios::binary
diff --git a/SRC/Boost/libs/serialization/test/polymorphic_derived1.cpp b/SRC/Boost/libs/serialization/test/polymorphic_derived1.cpp
deleted file mode 100755
index b412ce0..0000000
--- a/SRC/Boost/libs/serialization/test/polymorphic_derived1.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_derived1.cpp   
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/export.hpp>
-
-#include "polymorphic_derived1.hpp"
-
-const char * polymorphic_derived1::get_key() const {
-    return 
-        boost::serialization::type_info_implementation<
-            polymorphic_derived1
-        >::type::get_const_instance().get_key();
-}
-
-BOOST_CLASS_EXPORT_IMPLEMENT(polymorphic_derived1)
diff --git a/SRC/Boost/libs/serialization/test/polymorphic_derived1.hpp b/SRC/Boost/libs/serialization/test/polymorphic_derived1.hpp
deleted file mode 100755
index 7dc5408..0000000
--- a/SRC/Boost/libs/serialization/test/polymorphic_derived1.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef POLYMORPHIC_DERIVED1_HPP
-#define POLYMORPHIC_DERIVED1_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_derived1.hpp    simple class test
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/extended_type_info_no_rtti.hpp>
-
-#include "polymorphic_base.hpp"
-
-class polymorphic_derived1 : public polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int  /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-    }
-public:
-    virtual const char * get_key() const ;
-};
-
-BOOST_CLASS_EXPORT_KEY(polymorphic_derived1)
-
-BOOST_CLASS_TYPE_INFO(
-    polymorphic_derived1,
-    extended_type_info_no_rtti<polymorphic_derived1>
-)
-
-#endif // POLYMORPHIC_DERIVED1_HPP
diff --git a/SRC/Boost/libs/serialization/test/polymorphic_derived2.cpp b/SRC/Boost/libs/serialization/test/polymorphic_derived2.cpp
deleted file mode 100755
index 1955da8..0000000
--- a/SRC/Boost/libs/serialization/test/polymorphic_derived2.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_derived2.cpp   
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/extended_type_info_no_rtti.hpp>
-#include <boost/serialization/export.hpp>
-
-#define POLYMORPHIC_DERIVED2_EXPORT
-#include "polymorphic_derived2.hpp"
-
-template<class Archive>
-void polymorphic_derived2::serialize(
-    Archive &ar, 
-    const unsigned int /* file_version */
-){
-    ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-}
-
-// instantiate code for text archives
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-template EXPORT_DECL(void) polymorphic_derived2::serialize(
-    boost::archive::text_oarchive & ar,
-    const unsigned int version
-);
-template EXPORT_DECL(void) polymorphic_derived2::serialize(
-    boost::archive::text_iarchive & ar,
-    const unsigned int version
-);
-
-// instantiate code for polymorphic archives
-#include <boost/archive/polymorphic_iarchive.hpp>
-#include <boost/archive/polymorphic_oarchive.hpp>
-
-template EXPORT_DECL(void) polymorphic_derived2::serialize(
-    boost::archive::polymorphic_oarchive & ar,
-    const unsigned int version
-);
-template EXPORT_DECL(void) polymorphic_derived2::serialize(
-    boost::archive::polymorphic_iarchive & ar,
-    const unsigned int version
-);
-
-// MWerks users can do this to make their code work
-BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(polymorphic_base, polymorphic_derived2)
-
-// note: export has to be AFTER #includes for all archive classes
-BOOST_CLASS_EXPORT_IMPLEMENT(polymorphic_derived2)
-
-#if 0
-#include <boost/serialization/factory.hpp>
-BOOST_SERIALIZATION_FACTORY_0(polymorphic_derived2)
-
-template
-EXPORT_DECL(polymorphic_derived2 *)
-boost::serialization::factory<polymorphic_derived2, 0>(std::va_list ap);
-#endif
diff --git a/SRC/Boost/libs/serialization/test/polymorphic_derived2.hpp b/SRC/Boost/libs/serialization/test/polymorphic_derived2.hpp
deleted file mode 100755
index e2c181c..0000000
--- a/SRC/Boost/libs/serialization/test/polymorphic_derived2.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef POLYMORPHIC_DERIVED2_HPP
-#define POLYMORPHIC_DERIVED2_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_derived2.hpp    simple class test
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/extended_type_info_typeid.hpp>
-
-#include <boost/preprocessor/empty.hpp>
-
-#include "polymorphic_base.hpp"
-
-#include "test_decl.hpp"
-
-#if defined(POLYMORPHIC_DERIVED2_IMPORT)
-    #define DLL_DECL IMPORT_DECL
-#elif defined(POLYMORPHIC_DERIVED2_EXPORT)
-    #define DLL_DECL EXPORT_DECL
-#else
-    #define DLL_DECL(x)
-#endif
-
-class DLL_DECL(BOOST_PP_EMPTY()) polymorphic_derived2 : 
-    public polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(
-        Archive &ar, 
-        const unsigned int /* file_version */
-    );
-    virtual const char * get_key() const {
-        return "polymorphic_derived2";
-    }
-};
-
-// we use this because we want to assign a key to this type
-// but we don't want to explicitly instantiate code every time
-// we do so!!!.  If we don't do this, we end up with the same
-// code in BOTH the DLL which implements polymorphic_derived2
-// as well as the main program.
-BOOST_CLASS_EXPORT_KEY(polymorphic_derived2)
-
-// note the mixing of type_info systems is supported.
-BOOST_CLASS_TYPE_INFO(
-    polymorphic_derived2,
-    boost::serialization::extended_type_info_typeid<polymorphic_derived2>
-)
-
-#undef DLL_DECL
-
-#endif // POLYMORPHIC_DERIVED2_HPP
-
diff --git a/SRC/Boost/libs/serialization/test/polymorphic_text_archive.hpp b/SRC/Boost/libs/serialization/test/polymorphic_text_archive.hpp
deleted file mode 100755
index a1cd128..0000000
--- a/SRC/Boost/libs/serialization/test/polymorphic_text_archive.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/archive/polymorphic_text_oarchive.hpp>
-typedef boost::archive::polymorphic_text_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/polymorphic_text_iarchive.hpp>
-typedef boost::archive::polymorphic_text_iarchive test_iarchive;
-typedef std::ifstream test_istream;
diff --git a/SRC/Boost/libs/serialization/test/polymorphic_text_warchive.hpp b/SRC/Boost/libs/serialization/test/polymorphic_text_warchive.hpp
deleted file mode 100755
index 5670ac7..0000000
--- a/SRC/Boost/libs/serialization/test/polymorphic_text_warchive.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STD_WSTREAMBUF
-#error "wide char i/o not supported on this platform"
-#else
-#include <boost/archive/polymorphic_text_woarchive.hpp>
-typedef boost::archive::polymorphic_text_woarchive test_oarchive;
-typedef std::wofstream test_ostream;
-#include <boost/archive/polymorphic_text_wiarchive.hpp>
-typedef boost::archive::polymorphic_text_wiarchive test_iarchive;
-typedef std::wifstream test_istream;
-#endif
diff --git a/SRC/Boost/libs/serialization/test/polymorphic_xml_archive.hpp b/SRC/Boost/libs/serialization/test/polymorphic_xml_archive.hpp
deleted file mode 100755
index 235e230..0000000
--- a/SRC/Boost/libs/serialization/test/polymorphic_xml_archive.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/archive/polymorphic_xml_oarchive.hpp>
-typedef boost::archive::polymorphic_xml_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/polymorphic_xml_iarchive.hpp>
-typedef boost::archive::polymorphic_xml_iarchive test_iarchive;
-typedef std::ifstream test_istream;
diff --git a/SRC/Boost/libs/serialization/test/polymorphic_xml_warchive.hpp b/SRC/Boost/libs/serialization/test/polymorphic_xml_warchive.hpp
deleted file mode 100755
index 8bd0bd0..0000000
--- a/SRC/Boost/libs/serialization/test/polymorphic_xml_warchive.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-#include <boost/archive/polymorphic_xml_woarchive.hpp>
-typedef boost::archive::polymorphic_xml_woarchive test_oarchive;
-typedef std::wofstream test_ostream;
-#include <boost/archive/polymorphic_xml_wiarchive.hpp>
-typedef boost::archive::polymorphic_xml_wiarchive test_iarchive;
-typedef std::wifstream test_istream;
diff --git a/SRC/Boost/libs/serialization/test/portable_binary_archive.hpp b/SRC/Boost/libs/serialization/test/portable_binary_archive.hpp
deleted file mode 100755
index 8ef5237..0000000
--- a/SRC/Boost/libs/serialization/test/portable_binary_archive.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org for updates, documentation, and revision history.
-// file includes for testing a custom archive.
-// as an example this tests the portable binary archive
-
-#include <fstream>
-
-// #include output archive header
-#include "../example/portable_binary_oarchive.hpp"
-// define output archive class to be used 
-typedef portable_binary_oarchive test_oarchive;
-// and corresponding stream
-typedef std::ofstream test_ostream;
-
-// repeat the above for correspondng input archive
-#include "../example/portable_binary_iarchive.hpp"
-typedef portable_binary_iarchive test_iarchive;
-typedef std::ifstream test_istream;
-
-// since this archive class isn't compiled into the 
-// boost serialization library, include this here
-// so that things get instantiated
-#include "../example/portable_binary_oarchive.cpp"
-#include "../example/portable_binary_iarchive.cpp"
-
-// and stream open flags
-#define TEST_STREAM_FLAGS std::ios::binary
diff --git a/SRC/Boost/libs/serialization/test/test_array.cpp b/SRC/Boost/libs/serialization/test/test_array.cpp
deleted file mode 100755
index d5a027f..0000000
--- a/SRC/Boost/libs/serialization/test/test_array.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_array.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef>
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/archive/archive_exception.hpp>
-#include <boost/array.hpp>
-
-#include "A.hpp"
-#include "A.ipp"
-
-struct array_equal_to //: public std::binary_function<T, T, bool>
-{
-template<class T, class U>
-    bool operator()(const T & _Left, const U & _Right) const
-    {
-        // consider alignment
-        int count_left = sizeof(_Left) /    (
-            static_cast<const char *>(static_cast<const void *>(&_Left[1])) 
-            - static_cast<const char *>(static_cast<const void *>(&_Left[0]))
-        );
-        int count_right = sizeof(_Right) /  (
-            static_cast<const char *>(static_cast<const void *>(&_Right[1])) 
-            - static_cast<const char *>(static_cast<const void *>(&_Right[0]))
-        );
-        if(count_right != count_left)
-            return false;
-        while(count_left-- > 0){
-            if(_Left[count_left] == _Right[count_left])
-                continue;
-            return false;
-        }
-        return true;
-    }
-};
-
-template <class T>
-int test_array(T)
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    // test array of objects
-    const T a_array[10]={T(),T(),T(),T(),T(),T(),T(),T(),T(),T()};
-    const T b_array[2][3]={{T(),T(),T()},{T(),T(),T()}};
-    const boost::array<T,10> c_array = boost::array<T,10>();
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("a_array", a_array);
-        oa << boost::serialization::make_nvp("b_array", b_array);
-        oa << boost::serialization::make_nvp("c_array", c_array);
-    }
-    {
-        T a_array1[10];
-        T b_array1[2][3];
-        boost::array<T,10> c_array1;
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("a_array", a_array1);
-        ia >> boost::serialization::make_nvp("b_array", b_array1);
-        ia >> boost::serialization::make_nvp("c_array", c_array1);
-
-        array_equal_to/*<A[10]>*/ Compare;
-        BOOST_CHECK(Compare(a_array, a_array1));
-        BOOST_CHECK(Compare(b_array[0], b_array1[0]));
-        BOOST_CHECK(Compare(b_array[1], b_array1[1]));
-        BOOST_CHECK(Compare(c_array, c_array1));
-    }
-    {
-        T a_array1[9];
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        BOOST_TRY {
-            test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-            bool exception_invoked = false;
-            BOOST_TRY {
-                ia >> boost::serialization::make_nvp("a_array", a_array1);
-            }
-            BOOST_CATCH (boost::archive::archive_exception ae){
-                BOOST_CHECK(
-                    boost::archive::archive_exception::array_size_too_short
-                    == ae.code
-                );
-                exception_invoked = true;
-            }
-            BOOST_CATCH_END
-            BOOST_CHECK(exception_invoked);
-        }
-        BOOST_CATCH (boost::archive::archive_exception ae){}
-        BOOST_CATCH_END
-    }
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-   int res = test_array(A());
-    // test an int array for which optimized versions should be available
-   if (res == EXIT_SUCCESS)
-     res = test_array(0);  
-   return res;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_binary.cpp b/SRC/Boost/libs/serialization/test/test_binary.cpp
deleted file mode 100755
index f388aa8..0000000
--- a/SRC/Boost/libs/serialization/test/test_binary.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_simple_class.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstdlib> // for rand(), NULL, size_t
-
-#include <fstream>
-#include <boost/config.hpp>
-
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::rand; 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/binary_object.hpp>
-
-class A {
-    friend class boost::serialization::access;
-    char data[150];
-    // note: from an aesthetic perspective, I would much prefer to have this
-    // defined out of line.  Unfortunately, this trips a bug in the VC 6.0
-    // compiler. So hold our nose and put it her to permit running of tests.
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & boost::serialization::make_nvp(
-            "data",
-            boost::serialization::make_binary_object(data, sizeof(data))
-        );
-    }
-
-public:
-    A();
-    bool operator==(const A & rhs) const;
-};
-
-A::A(){
-    int i = sizeof(data);
-    while(i-- > 0)
-        data[i] = static_cast<char>(0xff & std::rand());
-}
-
-bool A::operator==(const A & rhs) const {
-    int i = sizeof(data);
-    while(i-- > 0)
-        if(data[i] != rhs.data[i])
-            return false;
-    return true;
-}
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const A a;
-    char s1[] = "a";
-    char s2[] = "ab";
-    char s3[] = "abc";
-    char s4[] = "abcd";
-    const int i = 12345;
-    A a1;
-    char s1_1[10];
-    char s1_2[10];
-    char s1_3[10];
-    char s1_4[10];
-    int i1 = 34790;
-    {
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        boost::serialization::make_nvp(
-            "s1", 
-            boost::serialization::make_binary_object(
-                s1, 
-                sizeof(s1)
-            )
-        );
-        oa << boost::serialization::make_nvp(
-            "s2", 
-            boost::serialization::make_binary_object(
-                s2, 
-                sizeof(s2)
-            )
-        );
-        oa << boost::serialization::make_nvp(
-            "s3", 
-            boost::serialization::make_binary_object(
-                s3, 
-                sizeof(s3)
-            )
-        );
-        oa << boost::serialization::make_nvp(
-            "s4", 
-            boost::serialization::make_binary_object(
-                s4, 
-                sizeof(s4)
-            )
-        );
-        oa << BOOST_SERIALIZATION_NVP(a);
-        // note: add a little bit on the end of the archive to detect
-        // failure of text mode binary.
-        oa << BOOST_SERIALIZATION_NVP(i);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        boost::serialization::make_nvp(
-            "s1", 
-            boost::serialization::make_binary_object(
-                s1_1, 
-                sizeof(s1)
-            )
-        );
-        ia >> boost::serialization::make_nvp(
-            "s2", 
-            boost::serialization::make_binary_object(
-                s1_2, 
-                sizeof(s2)
-            )
-        );
-        ia >> boost::serialization::make_nvp(
-            "s3", 
-            boost::serialization::make_binary_object(
-                s1_3, 
-                sizeof(s3)
-            )
-        );
-        ia >> boost::serialization::make_nvp(
-            "s4", 
-            boost::serialization::make_binary_object(
-                s1_4, 
-                sizeof(s4)
-            )
-        );
-        ia >> BOOST_SERIALIZATION_NVP(a1);
-        // note: add a little bit on the end of the archive to detect
-        // failure of text mode binary.
-        ia >> BOOST_SERIALIZATION_NVP(i1);
-    }
-    BOOST_CHECK(i == i1);
-    BOOST_CHECK(a == a1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_bitset.cpp b/SRC/Boost/libs/serialization/test/test_bitset.cpp
deleted file mode 100755
index b9296ec..0000000
--- a/SRC/Boost/libs/serialization/test/test_bitset.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//  (C) Copyright 2009 Brian Ravnsgaard and Kenneth Riddile
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version including documentation.
-
-// Test that serialization of std::bitset works.
-// Should pass compilation and execution
-// 16.09.2004, updated 04.03.2009
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-
-#include <boost/config.hpp>
-
-#if defined( BOOST_NO_STDC_NAMESPACE )
-namespace std
-{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/bitset.hpp>
-#include <boost/serialization/nvp.hpp>
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char* testfile = boost::archive::tmpnam( NULL );
-    BOOST_REQUIRE( NULL != testfile );
-
-    std::bitset<8> bitsetA;
-    bitsetA.set( 0, false );
-    bitsetA.set( 1, true  );
-    bitsetA.set( 2, false );
-    bitsetA.set( 3, true  );
-    bitsetA.set( 4, false );
-    bitsetA.set( 5, false );
-    bitsetA.set( 6, true  );
-    bitsetA.set( 7, true  );
-    
-    {
-        test_ostream os( testfile, TEST_STREAM_FLAGS );
-        test_oarchive oa( os );
-        oa << boost::serialization::make_nvp( "bitset", bitsetA );
-    }
-    
-    std::bitset<8> bitsetB;
-    {
-        test_istream is( testfile, TEST_STREAM_FLAGS );
-        test_iarchive ia( is );
-        ia >> boost::serialization::make_nvp( "bitset", bitsetB );
-    }
-    
-    BOOST_CHECK( bitsetA == bitsetB );
-    
-    std::remove( testfile );
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_check.cpp b/SRC/Boost/libs/serialization/test/test_check.cpp
deleted file mode 100755
index 7755882..0000000
--- a/SRC/Boost/libs/serialization/test/test_check.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-//  (C) Copyright 2009 Robert Ramey
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version including documentation.
-
-// note: this is a compile only test.
-#include <sstream>
-#include <boost/config.hpp> // BOOST_STATIC_CONST
-
-#include <boost/serialization/static_warning.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/nvp.hpp>
-
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/text_oarchive.hpp>
-
-// track_selectivly with class information in the archive 
-// is unsafe when used with a pointer and should trigger a warning
-struct check1 {
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version);
-};
-
-BOOST_CLASS_IMPLEMENTATION(check1, boost::serialization::object_serializable)
-BOOST_CLASS_TRACKING(check1, boost::serialization::track_selectively)
-
-// the combination of versioning + no class information
-// should trigger a warning
-struct check2 {
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version);
-};
-
-BOOST_CLASS_IMPLEMENTATION(check2, boost::serialization::object_serializable)
-BOOST_CLASS_VERSION(check2, 1)
-// use track always to turn off warning tested above
-BOOST_CLASS_TRACKING(check2, boost::serialization::track_always)
-
-// serializing a type marked as "track_never" through a pointer
-// is likely an error
-struct check3 {
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version);
-};
-
-BOOST_CLASS_TRACKING(check3, boost::serialization::track_never)
-
-template<class T>
-int f(){
-    BOOST_STATIC_WARNING(T::value);
-    BOOST_STATIC_ASSERT(T::value);
-    return 0;
-}
-
-/////////////////////////////////////////////////////////////////////////
-// compilation of this program should show a total of 10 warning messages
-int main(int /* argc */, char * /* argv */[]){
-    std::stringstream s;
-    {
-        boost::archive::text_oarchive oa(s);
-
-        check1 const c1_out;
-        oa << c1_out;
-
-        check1 c1_non_const_out;
-        oa << c1_non_const_out; // warn check_object_tracking
-
-        check1 * const c1_ptr_out = 0;
-        oa << c1_ptr_out; // warn check_pointer_level
-
-        check2 const * c2_ptr_out;
-        oa << c2_ptr_out; // error check_object_versioning
-
-        check3 * const c3_ptr_out = 0;
-        oa << c3_ptr_out; // warning check_pointer_tracking
-
-        check2 const c2_out;
-        oa << c2_out; // error check_object_versioning
-    }
-    {
-        boost::archive::text_iarchive ia(s);
-
-        check1 const c1_in;
-        ia >> c1_in; // check_const_loading
-
-        check1 * c1_ptr_in = 0;
-        ia >> c1_ptr_in; // warn check_pointer_level
-
-        check2 * c2_ptr_in;
-        ia >> c2_ptr_in; // error check_object_versioning
-
-        check3 * c3_ptr_in = 0;
-        ia >> c3_ptr_in; // warning check_pointer_tracking
-
-        check2 c2_in;
-        ia >> c2_in; // error check_object_versioning
-    }
-    {
-        boost::archive::text_oarchive oa(s);
-
-        check1 const c1_out;
-        oa << BOOST_SERIALIZATION_NVP(c1_out);
-
-        check1 c1_non_const_out;
-        oa << BOOST_SERIALIZATION_NVP(c1_non_const_out); // warn check_object_tracking
-
-        check1 * const c1_ptr_out = 0;
-        oa << BOOST_SERIALIZATION_NVP(c1_ptr_out); // warn check_pointer_level
-
-        check2 const * c2_ptr_out;
-        oa << BOOST_SERIALIZATION_NVP(c2_ptr_out); // error check_object_versioning
-
-        check3 * const c3_ptr_out = 0;
-        oa << BOOST_SERIALIZATION_NVP(c3_ptr_out); // warning check_pointer_tracking
-
-        check2 const c2_out;
-        oa << BOOST_SERIALIZATION_NVP(c2_out); // error check_object_versioning
-    }
-    {
-        boost::archive::text_iarchive ia(s);
-
-        check1 const c1_in;
-        ia >> BOOST_SERIALIZATION_NVP(c1_in); // check_const_loading
-
-        check1 * c1_ptr_in = 0;
-        ia >> BOOST_SERIALIZATION_NVP(c1_ptr_in); // warn check_pointer_level
-
-        check2 * c2_ptr_in;
-        ia >> BOOST_SERIALIZATION_NVP(c2_ptr_in); // error check_object_versioning
-
-        check3 * c3_ptr_in = 0;
-        ia >> BOOST_SERIALIZATION_NVP(c3_ptr_in); // warning check_pointer_tracking
-
-        check2 c2_in;
-        ia >> BOOST_SERIALIZATION_NVP(c2_in); // error check_object_versioning
-    }
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_class_info_load.cpp b/SRC/Boost/libs/serialization/test/test_class_info_load.cpp
deleted file mode 100755
index 717cc8b..0000000
--- a/SRC/Boost/libs/serialization/test/test_class_info_load.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_class_info_load.cpp: test implementation level trait
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// test implementation level "object_class_info"
-// should pass compilation and execution
-
-#include <string>
-#include <fstream>
-
-#include <boost/archive/tmpdir.hpp>
-#include <boost/preprocessor/stringize.hpp>
-#include "test_tools.hpp"
-
-#include <boost/static_assert.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/nvp.hpp>
-
-class A
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & /*ar*/, const unsigned int file_version){
-        // class that don't save class info always have a version number of 0
-        BOOST_CHECK(file_version == 0);
-        BOOST_STATIC_ASSERT(0 == ::boost::serialization::version<A>::value);
-        ++count;
-    }
-public:
-    unsigned int count;
-    A() : count(0) {}
-};
-
-BOOST_CLASS_IMPLEMENTATION(A, ::boost::serialization::object_serializable)
-BOOST_CLASS_TRACKING(A, ::boost::serialization::track_never)
-
-// second case : serialize WITH class information
-class B
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & /*ar*/, const unsigned int file_version){
-        // verify at execution that the version number corresponds to the saved
-        // one
-        BOOST_CHECK(file_version == 2);
-        ++count;
-    }
-public:
-    unsigned int count;
-    B() : count(0) {}
-};
-
-BOOST_CLASS_IMPLEMENTATION(B, ::boost::serialization::object_class_info)
-BOOST_CLASS_TRACKING(B, ::boost::serialization::track_never)
-BOOST_CLASS_VERSION(B, 4)
-
-void in(const char *testfile, A & a, B & b)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    ia >> BOOST_SERIALIZATION_NVP(a);
-    ia >> BOOST_SERIALIZATION_NVP(a);
-    BOOST_CHECK(a.count == 2);  // no tracking => redundant loads
-    ia >> BOOST_SERIALIZATION_NVP(b);
-    ia >> BOOST_SERIALIZATION_NVP(b);
-    // note: archive was saved with tracking so that is what determines
-    // whether tracking is perform on load - regardless of the latest
-    // tracking setting.
-    BOOST_CHECK(b.count == 1);
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    A a;
-    B b;
-    std::string filename;
-    filename += boost::archive::tmpdir();
-    filename += '/';
-    filename += BOOST_PP_STRINGIZE(testfile_);
-    filename += BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST);
-    in(filename.c_str(), a, b);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_class_info_save.cpp b/SRC/Boost/libs/serialization/test/test_class_info_save.cpp
deleted file mode 100755
index a724b2a..0000000
--- a/SRC/Boost/libs/serialization/test/test_class_info_save.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_class_info_save.cpp: test implementation level trait
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// test implementation level "object_class_info"
-// should pass compilation and execution
-
-#include <fstream>
-#include <string>
-
-#include <boost/static_assert.hpp>
-#include <boost/archive/tmpdir.hpp>
-#include <boost/preprocessor/stringize.hpp>
-#include "test_tools.hpp"
-
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/nvp.hpp>
-
-// first case : serialize WITHOUT class information
-class A
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & /*ar*/, const unsigned int file_version){
-        // class that don't save class info always have a version number of 0
-        BOOST_CHECK(file_version == 0);
-        BOOST_STATIC_ASSERT(0 == ::boost::serialization::version<A>::value);
-        ++count;
-    }
-public:
-    unsigned int count;
-    A() : count(0) {}
-};
-
-BOOST_CLASS_IMPLEMENTATION(A, ::boost::serialization::object_serializable)
-BOOST_CLASS_TRACKING(A, ::boost::serialization::track_never)
-
-// second case : serialize WITH class information
-// note: GCC compile fails if this is after the class declaration
-class B;
-BOOST_CLASS_VERSION(B, 2)
-
-class B
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & /*ar*/, const unsigned int file_version){
-        // verify at execution that correct version number is passed on save
-        BOOST_CHECK(
-            static_cast<const int>(file_version) 
-            == ::boost::serialization::version<B>::value
-        );
-        ++count;
-    }
-public:
-    unsigned int count;
-    B() : count(0) {}
-};
-
-BOOST_CLASS_IMPLEMENTATION(B, ::boost::serialization::object_class_info)
-BOOST_CLASS_TRACKING(B, boost::serialization::track_always)
-
-#include <iostream>
-
-void out(const char *testfile, const A & a, const B & b)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    // write object twice to check tracking
-    oa << BOOST_SERIALIZATION_NVP(a);
-    oa << BOOST_SERIALIZATION_NVP(a);
-    BOOST_CHECK(a.count == 2);  // no tracking => redundant saves
-    std::cout << "a.count=" << a.count << '\n' ;
-    oa << BOOST_SERIALIZATION_NVP(b);
-    oa << BOOST_SERIALIZATION_NVP(b);
-    BOOST_CHECK(b.count == 1);  // tracking => no redundant saves
-    std::cout << "b.count=" << b.count << '\n' ;
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    A a;
-    B b;
-    std::string filename;
-    filename += boost::archive::tmpdir();
-    filename += '/';
-    filename += BOOST_PP_STRINGIZE(testfile_);
-    filename += BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST);
-    out(filename.c_str(), a, b);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_codecvt_null.cpp b/SRC/Boost/libs/serialization/test/test_codecvt_null.cpp
deleted file mode 100755
index 0069eae..0000000
--- a/SRC/Boost/libs/serialization/test/test_codecvt_null.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_codecvt_null.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution.  Note: compilation with compilers
-// which use wchar_t as 2 byte objects will emit warnings.  These should be
-// ignored.
-
-#include <algorithm>
-#include <fstream>
-#include <iostream>
-#include <iterator>
-#include <locale>
-#include <vector>
-#include <cstdio> // remove
-#include <cstddef> // NULL, size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/archive/add_facet.hpp>
-#include <boost/archive/codecvt_null.hpp>
-#include <boost/archive/iterators/ostream_iterator.hpp>
-#include <boost/archive/iterators/istream_iterator.hpp>
-
-template<std::size_t S>
-struct test_data
-{
-    static wchar_t wchar_encoding[];
-};
-
-template<>
-wchar_t test_data<2>::wchar_encoding[] = {
-    0x0001,
-    0x007f,
-    0x0080,
-    0x07ff,
-    0x0800,
-    0x7fff
-};
-
-template<>
-wchar_t test_data<4>::wchar_encoding[] = {
-    0x00000001,
-    0x0000007f,
-    0x00000080,
-    0x000007ff,
-    0x00000800,
-    0x0000ffff,
-    0x00010000,
-    0x0010ffff,
-    0x001fffff,
-    0x00200000,
-    0x03ffffff,
-    0x04000000,
-    0x7fffffff
-};
-
-#include <iostream>
-
-int test_main( int /* argc */, char* /* argv */[] ) {
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    std::locale old_loc;
-    std::locale * null_locale = 
-        boost::archive::add_facet(old_loc, new boost::archive::codecvt_null<wchar_t>);
-
-    typedef test_data<sizeof(wchar_t)> td;
-    {
-        std::wofstream ofs;
-        ofs.imbue(*null_locale);
-        ofs.open(testfile, std::ios::binary);
-        std::copy(
-            td::wchar_encoding,
-            #if ! defined(__BORLANDC__)
-                // borland 5.60 complains about this
-                td::wchar_encoding + sizeof(td::wchar_encoding)/sizeof(wchar_t),
-            #else
-                // so use this instead
-                td::wchar_encoding + 6,
-            #endif
-            boost::archive::iterators::ostream_iterator<wchar_t>(ofs)
-        );
-    }
-    bool ok = false;
-    {
-        std::wifstream ifs;
-        ifs.imbue(*null_locale);
-        ifs.open(testfile, std::ios::binary);
-        ok = std::equal(
-            td::wchar_encoding,
-            #if ! defined(__BORLANDC__)
-                // borland 5.60 complains about this
-                td::wchar_encoding + sizeof(td::wchar_encoding)/sizeof(wchar_t),
-            #else
-                // so use this instead
-                td::wchar_encoding + 6,
-            #endif
-            boost::archive::iterators::istream_iterator<wchar_t>(ifs)
-        );
-    }
-
-    BOOST_CHECK(ok);
-    {
-        std::wofstream ofs("testfile2");
-        ofs.imbue(*null_locale);
-        int i = 10;
-        ofs << i;
-        ofs.close();
-        
-        std::wifstream ifs("testfile2");
-        ifs.imbue(*null_locale);
-        int i2;
-        ifs >> i2;
-        std::cout << "i=" << i << std::endl;
-        std::cout << "i2=" << i2 << std::endl;
-        BOOST_CHECK(i == i2);
-        ifs.close();
-    }
- 
-    delete null_locale;
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
diff --git a/SRC/Boost/libs/serialization/test/test_complex.cpp b/SRC/Boost/libs/serialization/test/test_complex.cpp
deleted file mode 100755
index 71d5fc6..0000000
--- a/SRC/Boost/libs/serialization/test/test_complex.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_complex.cpp
-
-// (C) Copyright 2005 Matthias Troyer . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <fstream>
-
-#include <cstddef> // NULL
-#include <cstdlib> // rand
-#include <limits> 
-#include <boost/config.hpp>
-
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-#ifndef UNDER_CE    
-    using ::numeric_limits;
-#endif
-}
-#endif
-
-#include "test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
-
-#include <boost/serialization/complex.hpp>
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    // test array of objects
-    std::complex<float> a(
-        static_cast<float>(std::rand()),
-        static_cast<float>(std::rand())
-    );
-    std::complex<double> b(
-        static_cast<double>(std::rand()),
-        static_cast<double>(std::rand())
-    );
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os);
-        oa << boost::serialization::make_nvp("afloatcomplex", a);
-        oa << boost::serialization::make_nvp("adoublecomplex", b);
-    }
-    std::complex<float> a1;
-    std::complex<double> b1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is);
-        ia >> boost::serialization::make_nvp("afloatcomplex", a1);
-        ia >> boost::serialization::make_nvp("adoublecomplex", b1);
-    }
-
-    BOOST_CHECK(std::abs(a-a1) <= 2.*std::numeric_limits<float>::round_error());
-    BOOST_CHECK(std::abs(b-b1) <= 2.*std::numeric_limits<double>::round_error());
-
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_const_load_fail1.cpp b/SRC/Boost/libs/serialization/test/test_const_load_fail1.cpp
deleted file mode 100755
index 99e8d11..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_load_fail1.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_iarchive.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-void f1(text_iarchive & ia, const A & a){
-    ia >> a;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_const_load_fail1_nvp.cpp b/SRC/Boost/libs/serialization/test/test_const_load_fail1_nvp.cpp
deleted file mode 100755
index 6f61661..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_load_fail1_nvp.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-void f1(text_iarchive & ia, const A & a){
-    ia >> BOOST_SERIALIZATION_NVP(a);
-}
diff --git a/SRC/Boost/libs/serialization/test/test_const_load_fail2.cpp b/SRC/Boost/libs/serialization/test/test_const_load_fail2.cpp
deleted file mode 100755
index 9e0085e..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_load_fail2.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_iarchive.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-void f2(text_iarchive & ia, A * const & a){
-    ia >> a;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_const_load_fail2_nvp.cpp b/SRC/Boost/libs/serialization/test/test_const_load_fail2_nvp.cpp
deleted file mode 100755
index 3256c42..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_load_fail2_nvp.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-void f2(text_iarchive & ia, A * const & a){
-    ia >> BOOST_SERIALIZATION_NVP(a);
-}
-
diff --git a/SRC/Boost/libs/serialization/test/test_const_load_fail3.cpp b/SRC/Boost/libs/serialization/test/test_const_load_fail3.cpp
deleted file mode 100755
index 53962ec..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_load_fail3.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_iarchive.hpp>
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-void f2(text_iarchive & ia, const A * const & a){
-    ia >> a;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_const_load_fail3_nvp.cpp b/SRC/Boost/libs/serialization/test/test_const_load_fail3_nvp.cpp
deleted file mode 100755
index 6a7a369..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_load_fail3_nvp.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-void f2(text_iarchive & ia, const A * const & a){
-    ia >> BOOST_SERIALIZATION_NVP(a);
-}
diff --git a/SRC/Boost/libs/serialization/test/test_const_pass.cpp b/SRC/Boost/libs/serialization/test/test_const_pass.cpp
deleted file mode 100755
index 6cef984..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_pass.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-// should compile w/o problem
-void f1(boost::archive::text_oarchive & oa, const A & a){
-    oa & a;
-    oa & BOOST_SERIALIZATION_NVP(a);
-    oa << a;
-    oa << BOOST_SERIALIZATION_NVP(a);
-}
-void f2(boost::archive::text_oarchive & oa, const A * const & a){
-    oa & a;
-    oa & BOOST_SERIALIZATION_NVP(a);
-    oa << a;
-    oa << BOOST_SERIALIZATION_NVP(a);
-}
-void f3(boost::archive::text_iarchive & ia, A & a){
-    ia & a;
-    ia & BOOST_SERIALIZATION_NVP(a);
-    ia >> a;
-    ia >> BOOST_SERIALIZATION_NVP(a);
-}
-void f4(boost::archive::text_iarchive & ia, A * & a){
-    ia & a;
-    ia & BOOST_SERIALIZATION_NVP(a);
-    ia >> a;
-    ia >> BOOST_SERIALIZATION_NVP(a);
-}
-#if 0
-void f5(boost::archive::text_oarchive & oa, const A * & a){
-    oa & a;
-    oa & BOOST_SERIALIZATION_NVP(a);
-    oa << a;
-    oa << BOOST_SERIALIZATION_NVP(a);
-}
-#endif
-
diff --git a/SRC/Boost/libs/serialization/test/test_const_save_warn1.cpp b/SRC/Boost/libs/serialization/test/test_const_save_warn1.cpp
deleted file mode 100755
index 0a6eb74..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_save_warn1.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-// should fail to compile
-void f1(text_oarchive & oa, A  & a){
-    oa << a;
-}
-
diff --git a/SRC/Boost/libs/serialization/test/test_const_save_warn1_nvp.cpp b/SRC/Boost/libs/serialization/test/test_const_save_warn1_nvp.cpp
deleted file mode 100755
index b1173ae..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_save_warn1_nvp.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/tracking.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-void f1(text_oarchive & oa, A & a){
-    oa << BOOST_SERIALIZATION_NVP(a);
-}
-
diff --git a/SRC/Boost/libs/serialization/test/test_const_save_warn2.cpp b/SRC/Boost/libs/serialization/test/test_const_save_warn2.cpp
deleted file mode 100755
index a7ec45c..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_save_warn2.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-void f2(text_oarchive & oa, A * & a){
-    oa << a;
-}
-
diff --git a/SRC/Boost/libs/serialization/test/test_const_save_warn2_nvp.cpp b/SRC/Boost/libs/serialization/test/test_const_save_warn2_nvp.cpp
deleted file mode 100755
index e79e2b6..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_save_warn2_nvp.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-void f2(text_oarchive & oa, A * & a){
-    oa << BOOST_SERIALIZATION_NVP(a);
-}
-
diff --git a/SRC/Boost/libs/serialization/test/test_const_save_warn3.cpp b/SRC/Boost/libs/serialization/test/test_const_save_warn3.cpp
deleted file mode 100755
index 991c7c2..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_save_warn3.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-void f3(text_oarchive & oa, const A * & a){
-    oa << a;
-}
-
diff --git a/SRC/Boost/libs/serialization/test/test_const_save_warn3_nvp.cpp b/SRC/Boost/libs/serialization/test/test_const_save_warn3_nvp.cpp
deleted file mode 100755
index 550179c..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_save_warn3_nvp.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-void f3(text_oarchive & oa, const A * & a){
-    oa << BOOST_SERIALIZATION_NVP(a);
-}
-
diff --git a/SRC/Boost/libs/serialization/test/test_const_save_warn4.cpp b/SRC/Boost/libs/serialization/test/test_const_save_warn4.cpp
deleted file mode 100755
index d550283..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_save_warn4.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-// comment out this test case as a reminder not to keep inserting it !!!
-// we don't trap this as an error in order to permit things like
-// X * xptr;
-// save(..){
-//     ar << xptr;
-// }
-// 
-// for rational - consider the following example from demo.cpp
-// std::list<pair<trip_info, bus_route_info *> > schedule
-// its not obvious to me how this can be cast to:
-// std::list<pair<trip_info, const bus_route_info * const> > schedule
-
-void f4(text_oarchive & oa, A * const & a){
-    oa << a;
-}
-
diff --git a/SRC/Boost/libs/serialization/test/test_const_save_warn4_nvp.cpp b/SRC/Boost/libs/serialization/test/test_const_save_warn4_nvp.cpp
deleted file mode 100755
index 0f8a7bb..0000000
--- a/SRC/Boost/libs/serialization/test/test_const_save_warn4_nvp.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-
-using namespace boost::archive;
-
-struct A {
-    template<class Archive>
-    void serialize(Archive & ar, unsigned int version) {
-    }
-};
-
-// comment out this test case as a reminder not to keep inserting it !!!
-// we don't trap this as an error in order to permit things like
-// X * xptr;
-// save(..){
-//     ar << xptr;
-// }
-// 
-// for rational - consider the following example from demo.cpp
-// 
-// std::list<pair<trip_info, bus_route_info *> > schedule
-// 
-// its not obvious to me how this can be cast to:
-// 
-// std::list<pair<trip_info, const bus_route_info * const> > schedule
-
-void f4(text_oarchive & oa, A * const & a){
-    oa << BOOST_SERIALIZATION_NVP(a);
-}
diff --git a/SRC/Boost/libs/serialization/test/test_contained_class.cpp b/SRC/Boost/libs/serialization/test/test_contained_class.cpp
deleted file mode 100755
index 743d3f0..0000000
--- a/SRC/Boost/libs/serialization/test/test_contained_class.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_contained_class.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef>
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-#include <boost/serialization/nvp.hpp>
-
-#include "B.hpp"
-#include "A.ipp"
-
-///////////////////////////////////////////////////////
-// Contained class
-class C
-{
-private:
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_NVP(b);
-    }
-    B b;
-public:
-    bool operator==(const C &rhs) const
-    {
-        return b == rhs.b;
-    }
-    C(){}
-};
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const C c;
-    C c1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("c", c);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("c", c1);
-    }
-    BOOST_CHECK(c == c1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_cyclic_ptrs.cpp b/SRC/Boost/libs/serialization/test/test_cyclic_ptrs.cpp
deleted file mode 100755
index 1a7cf15..0000000
--- a/SRC/Boost/libs/serialization/test/test_cyclic_ptrs.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_cyclic_ptrs.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-
-#include "test_tools.hpp"
-#include <boost/detail/no_exceptions_support.hpp>
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/base_object.hpp>
-
-#include "A.hpp"
-#include "A.ipp"
-
-///////////////////////////////////////////////////////
-// class with a member which refers to itself
-class J : public A
-{
-private:
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-        ar & BOOST_SERIALIZATION_NVP(j);
-    }
-public:
-    bool operator==(const J &rhs) const;
-    J *j;
-    J(J *_j) : j(_j) {}
-    J() : j(NULL){}
-};
-
-BOOST_CLASS_VERSION(J, 6)
-
-bool J::operator==(const J &rhs) const
-{
-    return static_cast<const A &>(*this) == static_cast<const A &>(rhs);
-}
-
-///////////////////////////////////////////////////////
-// class with members that refer to each other
-// this is an example of a class that, as written, cannot
-// be serialized with this system.  The problem is that the
-// serialization of the first member - j1 , provokes serialization
-// of those objects which it points to either directly or indirectly.
-// When those objects are subsequently serialized, it is discovered
-// that have already been serialized through pointers.  This is
-// detected by the system and an exception - pointer_conflict - 
-// is thrown.  Permiting this to go undetected would result in the
-// creation of multiple equal objects rather than the original
-// structure.  
-class K
-{
-    J j1;
-    J j2;
-    J j3;
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(
-        Archive &ar,
-        const unsigned int /* file_version */
-    ){
-        ar & BOOST_SERIALIZATION_NVP(j1);
-        ar & BOOST_SERIALIZATION_NVP(j2);
-        ar & BOOST_SERIALIZATION_NVP(j3);
-    }
-public:
-    bool operator==(const K &rhs) const;
-    K();
-};
-
-K::K()
-: j1(&j2), j2(&j3), j3(&j1)
-{
-}
-
-bool K::operator==(const K &rhs) const
-{
-    return
-        j1.j == & j2
-        && j2.j == & j3
-        && j3.j == & j1
-        && j1 == rhs.j1
-        && j2 == rhs.j2
-        && j3 == rhs.j3
-    ;
-}
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    K k;
-    boost::archive::archive_exception exception(
-        boost::archive::archive_exception::no_exception
-    );
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        BOOST_TRY {
-            oa << BOOST_SERIALIZATION_NVP(k);
-        }
-        BOOST_CATCH (boost::archive::archive_exception ae){
-            exception = ae;
-        }
-        BOOST_CATCH_END
-        BOOST_CHECK(
-            exception.code == boost::archive::archive_exception::pointer_conflict
-        );
-    }
-    // if exception wasn't invoked
-    if(exception.code == boost::archive::archive_exception::no_exception){
-        // try to read the archive
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        exception = boost::archive::archive_exception(
-            boost::archive::archive_exception::no_exception
-        );
-        BOOST_TRY {
-            ia >> BOOST_SERIALIZATION_NVP(k);
-        }
-        BOOST_CATCH (boost::archive::archive_exception ae){
-            exception = ae;
-        }
-        BOOST_CATCH_END
-        BOOST_CHECK(
-            exception.code == boost::archive::archive_exception::pointer_conflict
-        );
-    }
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_decl.hpp b/SRC/Boost/libs/serialization/test/test_decl.hpp
deleted file mode 100755
index fe217ce..0000000
--- a/SRC/Boost/libs/serialization/test/test_decl.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef BOOST_TEST_DECL_HPP
-#define BOOST_TEST_DECL_HPP 
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif 
-
-/////////1/////////2///////// 3/////////4/////////5/////////6/////////7/////////8
-//  test_decl.hpp
-//
-//  (c) Copyright Robert Ramey 2004
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See library home page at http://www.boost.org/libs/serialization
-//  export if this is our own source, otherwise import:
-
-// usage:
-//
-// class header declarations should look something like:
-//
-// #include "test_decl.hpp"
-// #if defined(A_CPP)
-//     #define DLL_DECL IMPORT_DECL(BOOST_PP_EMPTY())
-// #else
-//     #define DLL_DECL EXPORT_DECL(BOOST_PP_EMPTY())
-// #endif
-//
-// class DLL_DECL A {
-//     ...
-// };
-//
-// #undef DLL_DECL
-//
-// code which includes such headers should look something like:
-//
-// #include "A.hpp"
-//
-// code which builds dll should like like
-//
-// #define A_CPP
-// #include "A.hpp"
-//
-// A::A(){
-//  ...
-// }
-// ...
-//
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_HAS_DECLSPEC // defined in config system
-    #if ! defined(EXPORT_DECL)
-        #if defined(__BORLANDC__)
-            #define EXPORT_DECL(T)  T __export
-        #else
-            #define EXPORT_DECL(T) __declspec(dllexport) T 
-        #endif
-    #endif
-    #if ! defined(IMPORT_DECL)
-        #if defined(__BORLANDC__)
-            #define IMPORT_DECL(T)    T __import
-        #else
-            #define IMPORT_DECL(T)    __declspec(dllimport) T 
-        #endif
-    #endif
-#else
-    #define IMPORT_DECL(T) T
-    #define EXPORT_DECL(T) T
-#endif // BOOST_HAS_DECLSPEC
-
-#endif // BOOST_TEST_DECL_HPP
diff --git a/SRC/Boost/libs/serialization/test/test_delete_pointer.cpp b/SRC/Boost/libs/serialization/test/test_delete_pointer.cpp
deleted file mode 100755
index 5cbb77f..0000000
--- a/SRC/Boost/libs/serialization/test/test_delete_pointer.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_delete_pointer.cpp
-
-// (C) Copyright 2002 Vahan Margaryan. 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/serialization/throw_exception.hpp>
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/vector.hpp>
-
-//A holds a pointer to another A, but doesn't own the pointer.
-//objCount
-class A
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        ar << BOOST_SERIALIZATION_NVP(next_);
-    }
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        static int i = 0;
-        ar >> BOOST_SERIALIZATION_NVP(next_);
-        if(++i == 3)
-            boost::serialization::throw_exception(boost::archive::archive_exception(
-                boost::archive::archive_exception::no_exception
-            ));
-    }
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-public:
-    A()
-    {
-        next_ = 0;
-        ++objcount;
-    }
-    A(const A& a)
-    {
-        next_ = a.next_; ++objcount;
-    }
-    ~A()
-    {
-        --objcount;
-    }
-    A* next_;
-    static int objcount;
-};
-
-
-int A::objcount = 0;
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    std::vector<A*> vec;
-    A* a = new A;
-    a->next_ = 0;
-    vec.push_back(a);
-
-    //fill the vector with chained A's. The vector is assumed
-    //to own the objects - we will destroy the objects through this vector.
-    unsigned int i;
-    for(i   = 1; i < 10; ++i)
-    {
-        a = new A;
-        vec[i - 1]->next_ = a;
-        a->next_ = 0;
-        vec.push_back(a);
-    }
-
-    const char * testfile = boost::archive::tmpnam(0);
-    BOOST_REQUIRE(NULL != testfile);
-
-    //output the vector
-    {
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << BOOST_SERIALIZATION_NVP(vec);
-    }
-
-    //erase the objects
-    for(i = 0; i < vec.size(); ++i)
-        delete vec[i];
-    vec.clear();
-
-    //read the vector back
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        BOOST_TRY {
-            ia >> BOOST_SERIALIZATION_NVP(vec);
-        }
-        BOOST_CATCH (...){
-            ia.delete_created_pointers();
-            vec.clear();
-        }
-        BOOST_CATCH_END
-    }
-
-    //delete the objects
-    for(i = 0; i < vec.size(); ++i)
-        delete vec[i];
-    vec.clear();
-
-    //identify the leaks
-    BOOST_CHECK(A::objcount == 0);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
diff --git a/SRC/Boost/libs/serialization/test/test_deque.cpp b/SRC/Boost/libs/serialization/test/test_deque.cpp
deleted file mode 100755
index 5c0061f..0000000
--- a/SRC/Boost/libs/serialization/test/test_deque.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_deque.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef>
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/archive/archive_exception.hpp>
-#include "test_tools.hpp"
-
-#include <boost/serialization/deque.hpp>
-
-#include "A.hpp"
-#include "A.ipp"
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    // test array of objects
-    std::deque<A> adeque, adeque1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("adeque",adeque);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("adeque",adeque1);
-    }
-    BOOST_CHECK(adeque == adeque1);
-    
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_derived.cpp b/SRC/Boost/libs/serialization/test/test_derived.cpp
deleted file mode 100755
index 05bccf1..0000000
--- a/SRC/Boost/libs/serialization/test/test_derived.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_derived.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/archive/archive_exception.hpp>
-#include "test_tools.hpp"
-
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-
-class base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & /* ar */, const unsigned int /* file_version */){
-    }
-protected:
-    virtual ~base(){};
-};
-
-class derived1 : public base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
-    }
-};
-
-class derived2 : public base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
-    }
-};
-
-// save non-polymorphic classes through a base class pointer
-void save_derived(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-
-    // registration not necessary when serializing the most derived pointer
-    derived1 *d1 = new derived1;
-    derived2 *d2 = new derived2;
-    oa << BOOST_SERIALIZATION_NVP(d1) << BOOST_SERIALIZATION_NVP(d2);
-
-    // upcasting non-polymorphic pointers may not lead to the expected
-    // result. In the current type id system
-    base *b1 = d1;
-    base *b2 = d2;
-    
-    // Warning, the current type id system does not yield true
-    // type id for non-polymorphic types
-    const boost::serialization::extended_type_info & this_type
-        = boost::serialization::type_info_implementation<base>::type
-            ::get_const_instance();
-    // retrieve the true type of the object pointed to
-    const boost::serialization::extended_type_info & true_type
-        = * boost::serialization::type_info_implementation<base>::type
-            ::get_const_instance().get_derived_extended_type_info(*b1);
-
-    BOOST_WARN_MESSAGE(
-        !(this_type == true_type), 
-        "current type id system does not support non-polymorphic types"
-    );
-
-    oa << BOOST_SERIALIZATION_NVP(b1);
-    oa << BOOST_SERIALIZATION_NVP(b2);
-
-    delete d1;
-    delete d2;
-}
-
-// save non-polymorphic classes through a base class pointer
-void load_derived(const char *testfile)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-
-    // registration not necessary when serializing the most derived pointer
-    derived1 *d1 = NULL;
-    derived2 *d2 = NULL;
-    ia >> BOOST_SERIALIZATION_NVP(d1) >> BOOST_SERIALIZATION_NVP(d2);
-
-    // upcasting non-polymorphic pointers may not lead to the expected
-    // result. In the current type id system
-    base *b1 = NULL;
-    base *b2 = NULL;
-    
-    // note: this will produce incorrect results for non-polymorphic classes
-    ia >> BOOST_SERIALIZATION_NVP(b1);
-    ia >> BOOST_SERIALIZATION_NVP(b2);
-
-    // Warning, the current type id system does not yield true
-    // type id for non-polymorphic types
-    const boost::serialization::extended_type_info & this_type
-        = boost::serialization::type_info_implementation<base>::type
-            ::get_const_instance();
-    // retrieve the true type of the object pointed to
-    const boost::serialization::extended_type_info & true_type
-        = * boost::serialization::type_info_implementation<base>::type
-            ::get_const_instance().get_derived_extended_type_info(*b1);
-            
-    BOOST_WARN_MESSAGE(
-        ! (this_type == true_type), 
-        "current type id system does fails for non-polymorphic types"
-    );
-
-    BOOST_CHECK(b1 == static_cast<base *>(d1));
-    BOOST_CHECK(b2 == static_cast<base *>(d2));
-
-    delete d1;
-    delete d2;
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    save_derived(testfile);
-    load_derived(testfile);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_derived_class.cpp b/SRC/Boost/libs/serialization/test/test_derived_class.cpp
deleted file mode 100755
index ef1bb04..0000000
--- a/SRC/Boost/libs/serialization/test/test_derived_class.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_derived_class.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include "B.hpp"
-#include "A.ipp"
-
-int test_main( int /*argc*/, char* /*argv*/[] )
-{
-  const char * testfile = boost::archive::tmpnam(NULL);
-  
-  BOOST_REQUIRE(NULL != testfile);
-
-    B b, b1;
-
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("b", b);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("b1", b1);
-    }
-    BOOST_CHECK(b == b1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_derived_class_ptr.cpp b/SRC/Boost/libs/serialization/test/test_derived_class_ptr.cpp
deleted file mode 100755
index 5a03e46..0000000
--- a/SRC/Boost/libs/serialization/test/test_derived_class_ptr.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_deriviec_class_.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include "B.hpp"
-#include "A.ipp"
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);  
-    BOOST_REQUIRE(NULL != testfile);
-
-    B * tb = new B;
-    B * tb1 = NULL;
-
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("tb", tb);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("tb",tb1);
-    }
-    BOOST_CHECK(tb != tb1);
-    BOOST_CHECK(*tb == *tb1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_diamond.cpp b/SRC/Boost/libs/serialization/test/test_diamond.cpp
deleted file mode 100755
index 3e9eb2a..0000000
--- a/SRC/Boost/libs/serialization/test/test_diamond.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_diamond.cpp
-
-// (C) Copyright 2002-2009 Vladimir Prus and Robert Ramey. 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// test of serialization library for diamond inheritence situations
-
-#include <cstddef> // NULL
-#include <fstream>
-#include <iostream>
-
-#include <boost/config.hpp>
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/map.hpp>
-#include <boost/serialization/utility.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/export.hpp>
-
-int save_count = 0; // used to detect when base class is saved multiple times
-int load_count = 0; // used to detect when base class is loaded multiple times
-
-class base {
-public:
-    base() : i(0) {}
-    base(int i) : i(i)
-    {
-        m[i] = "text";
-    }
-
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving base\n";
-        ar << BOOST_SERIALIZATION_NVP(i);
-        ar << BOOST_SERIALIZATION_NVP(m);
-        ++save_count;
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring base\n";
-        ar >> BOOST_SERIALIZATION_NVP(i);
-        ar >> BOOST_SERIALIZATION_NVP(m);
-        ++load_count;
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-
-    bool operator==(const base& another) const 
-    {
-        return i == another.i && m == another.m;
-    }
-    // make polymorphic by marking at least one function virtual
-    virtual ~base() {};
-private:
-    int i;
-    std::map<int, std::string> m;    
-};
-
-// note: the default is for object tracking to be performed if and only
-// if and object of the corresponding class is anywhere serialized
-// through a pointer.  In this example, that doesn't occur so 
-// by default, the shared base object wouldn't normally be tracked.
-// This would leave to multiple save/load operation of the data in
-// this shared base class.  This wouldn't cause an error, but it would
-// be a waste of time.  So set the tracking behavior trait of the base
-// class to always track serialized objects of that class.  This permits
-// the system to detect and elminate redundent save/load operations.
-// (It is concievable that this might someday be detected automatically
-// but for now, this is not done so we have to rely on the programmer
-// to specify this trait)
-BOOST_CLASS_TRACKING(base, track_always)
-
-class derived1 : virtual public base {
-public:
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving derived1\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring derived1\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-class derived2 : virtual public base {
-public:    
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving derived2\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring derived2\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-class final : public derived1, public derived2 {
-public:
-    final() {}
-    final(int i) : base(i) {}
-
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving final\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(derived1);    
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(derived2);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring final\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(derived1);  
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(derived2);
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-BOOST_CLASS_EXPORT(final)
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    
-    const final b(3);   
-    {
-        test_ostream ofs(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(ofs);
-        oa << boost::serialization::make_nvp("b", b);
-    }
-
-    final b2;
-    {
-        test_istream ifs(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(ifs);
-        ia >> boost::serialization::make_nvp("b2", b2);
-    }
-    BOOST_CHECK(1 == save_count);
-    BOOST_CHECK(1 == load_count);
-    BOOST_CHECK(b2 == b);
-    std::remove(testfile);
-
-    // do the same test with pointers
-    testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    save_count = 0;
-    load_count = 0;
-
-    const base* bp = new final( 3 );
-    {
-        test_ostream ofs(testfile);    
-        test_oarchive oa(ofs);
-        oa << BOOST_SERIALIZATION_NVP(bp);
-    }
-
-    base* bp2;
-    {
-        test_istream ifs(testfile);
-        test_iarchive ia(ifs);
-        ia >> BOOST_SERIALIZATION_NVP(bp2);
-    }
-
-    BOOST_CHECK(1 == save_count);
-    BOOST_CHECK(1 == load_count);
-    BOOST_CHECK(*bp2 == *bp);
-    std::remove(testfile);
-
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_diamond_complex.cpp b/SRC/Boost/libs/serialization/test/test_diamond_complex.cpp
deleted file mode 100755
index 2cd8417..0000000
--- a/SRC/Boost/libs/serialization/test/test_diamond_complex.cpp
+++ /dev/null
@@ -1,480 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_diamond.cpp
-
-// (C) Copyright 2002-2009 Vladimir Prus, Robert Ramey and Takatoshi Kondo.
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// test of serialization library for diamond inheritence situations
-
-#include <cstddef> // NULL
-#include <fstream>
-#include <iostream>
-
-#include <boost/config.hpp>
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/map.hpp>
-#include <boost/serialization/utility.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/export.hpp>
-
-int save_count = 0; // used to detect when EXnLevel1 class is saved multiple times
-int load_count = 0; // used to detect when EXnLevel1 class is loaded multiple times
-
-// inheritance structure
-//
-// EX1Level1<-+-EX1Level2_A<-+-+-EX1Level3_A
-//            |              | |
-//            +-EX1Level2_B<-+ +-EX1Level3_B<--EX1Level4
-//
-// EXPORT Sequence EX1Level3_A, EX1Level4
-//---------------------------------------------------------
-// EX2Level1<-+-EX2Level2_A<-+-+-EX2Level3_A
-//            |              | |
-//            +-EX2Level2_B<-+ +-EX2Level3_B<--EX2Level4
-//
-// EXPORT Sequence EX2Level4, EX2Level3_A
-
-class EX1Level1 {
-public:
-    EX1Level1() : i(0) {}
-    EX1Level1(int i) : i(i)
-    {
-        m[i] = "text";
-    }
-
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving EX1Level1\n";
-        ar << BOOST_SERIALIZATION_NVP(i);
-        ar << BOOST_SERIALIZATION_NVP(m);
-        ++save_count;
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring EX1Level1\n";
-        ar >> BOOST_SERIALIZATION_NVP(i);
-        ar >> BOOST_SERIALIZATION_NVP(m);
-        ++load_count;
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-
-    bool operator==(const EX1Level1& another) const 
-    {
-        return i == another.i && m == another.m;
-    }
-    // make polymorphic by marking at least one function virtual
-    virtual ~EX1Level1() {};
-private:
-    int i;
-    std::map<int, std::string> m;    
-};
-
-// note: the default is for object tracking to be performed if and only
-// if and object of the corresponding class is anywhere serialized
-// through a pointer.  In this example, that doesn't occur so 
-// by default, the shared EX1Level1 object wouldn't normally be tracked.
-// This would leave to multiple save/load operation of the data in
-// this shared EX1Level1 class.  This wouldn't cause an error, but it would
-// be a waste of time.  So set the tracking behavior trait of the EX1Level1
-// class to always track serialized objects of that class.  This permits
-// the system to detect and elminate redundent save/load operations.
-// (It is concievable that this might someday be detected automatically
-// but for now, this is not done so we have to rely on the programmer
-// to specify this trait)
-BOOST_CLASS_TRACKING(EX1Level1, track_always)
-
-class EX1Level2_A : virtual public EX1Level1 {
-public:
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving EX1Level2_A\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level1);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring EX1Level2_A\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level1);
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-class EX1Level2_B : virtual public EX1Level1 {
-public:    
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving EX1Level2_B\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level1);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring EX1Level2_B\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level1);
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-class EX1Level3_A : public EX1Level2_A, public EX1Level2_B {
-public:
-    EX1Level3_A() {}
-    EX1Level3_A(int i) : EX1Level1(i) {}
-
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving EX1Level3_A\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_A);    
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_B);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring EX1Level3_A\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_A);  
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_B);
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-
-class EX1Level3_B : public EX1Level2_A, public EX1Level2_B {
-public:
-    EX1Level3_B() {}
-    EX1Level3_B(int) {}
-
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving EX1Level3_B\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_A);    
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_B);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring EX1Level3_B\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_A);  
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_B);
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-class EX1Level4 : public EX1Level3_B {
-public:
-    EX1Level4() {}
-    EX1Level4(int i) : EX1Level1(i) {}
-
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving EX1Level4\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level3_B);    
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring EX1Level4\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level3_B);  
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-
-class EX2Level1 {
-public:
-    EX2Level1() : i(0) {}
-    EX2Level1(int i) : i(i)
-    {
-        m[i] = "text";
-    }
-
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving EX2Level1\n";
-        ar << BOOST_SERIALIZATION_NVP(i);
-        ar << BOOST_SERIALIZATION_NVP(m);
-        ++save_count;
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring EX2Level1\n";
-        ar >> BOOST_SERIALIZATION_NVP(i);
-        ar >> BOOST_SERIALIZATION_NVP(m);
-        ++load_count;
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-
-    bool operator==(const EX2Level1& another) const 
-    {
-        return i == another.i && m == another.m;
-    }
-    // make polymorphic by marking at least one function virtual
-    virtual ~EX2Level1() {};
-private:
-    int i;
-    std::map<int, std::string> m;    
-};
-
-// note: the default is for object tracking to be performed if and only
-// if and object of the corresponding class is anywhere serialized
-// through a pointer.  In this example, that doesn't occur so 
-// by default, the shared EX2Level1 object wouldn't normally be tracked.
-// This would leave to multiple save/load operation of the data in
-// this shared EX2Level1 class.  This wouldn't cause an error, but it would
-// be a waste of time.  So set the tracking behavior trait of the EX2Level1
-// class to always track serialized objects of that class.  This permits
-// the system to detect and elminate redundent save/load operations.
-// (It is concievable that this might someday be detected automatically
-// but for now, this is not done so we have to rely on the programmer
-// to specify this trait)
-BOOST_CLASS_TRACKING(EX2Level1, track_always)
-
-class EX2Level2_A : virtual public EX2Level1 {
-public:
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving EX2Level2_A\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level1);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring EX2Level2_A\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level1);
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-class EX2Level2_B : virtual public EX2Level1 {
-public:    
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving EX2Level2_B\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level1);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring EX2Level2_B\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level1);
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-class EX2Level3_A : public EX2Level2_A, public EX2Level2_B {
-public:
-    EX2Level3_A() {}
-    EX2Level3_A(int i) : EX2Level1(i) {}
-
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving EX2Level3_A\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_A);    
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_B);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring EX2Level3_A\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_A);  
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_B);
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-
-class EX2Level3_B : public EX2Level2_A, public EX2Level2_B {
-public:
-    EX2Level3_B() {}
-    EX2Level3_B(int i) : EX2Level1(i) {}
-
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving EX2Level3_B\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_A);    
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_B);
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring EX2Level3_B\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_A);  
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_B);
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-class EX2Level4 : public EX2Level3_B {
-public:
-    EX2Level4() {}
-    EX2Level4(int i) : EX2Level1(i) {}
-
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /* file_version */) const
-    {
-        std::cout << "Saving EX2Level4\n";
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level3_B);    
-    }
-
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */)
-    {
-        std::cout << "Restoring EX2Level4\n";
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level3_B);  
-    }
-
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-BOOST_CLASS_EXPORT(EX1Level4)
-BOOST_CLASS_EXPORT(EX1Level3_A)
-
-BOOST_CLASS_EXPORT(EX2Level3_A)
-BOOST_CLASS_EXPORT(EX2Level4)
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    
-	{
-		save_count = 0;
-		load_count = 0;
-
-		const EX1Level3_A ex1L3a_save(3);
-		const EX1Level1 *ex1L1_save = &ex1L3a_save;
-		{
-			test_ostream ofs(testfile, TEST_STREAM_FLAGS);
-			test_oarchive oa(ofs);
-			oa << boost::serialization::make_nvp("ex1L1_save", ex1L1_save);
-		}
-
-		EX1Level1 *ex1L1_load;
-		{
-			test_istream ifs(testfile, TEST_STREAM_FLAGS);
-			test_iarchive ia(ifs);
-			ia >> boost::serialization::make_nvp("ex1L1_load", ex1L1_load);
-		}
-		BOOST_CHECK(1 == save_count);
-		BOOST_CHECK(1 == load_count);
-		BOOST_CHECK(*ex1L1_save == *ex1L1_load);
-		std::remove(testfile);
-	}
-	{
-		save_count = 0;
-		load_count = 0;
-
-		const EX1Level4 ex1L4_save(3);   
-		const EX1Level1 *ex1L1_save = &ex1L4_save;
-		{
-			test_ostream ofs(testfile, TEST_STREAM_FLAGS);
-			test_oarchive oa(ofs);
-			oa << boost::serialization::make_nvp("ex1L1_save", ex1L1_save);
-		}
-
-		EX1Level1 *ex1L1_load;
-		{
-			test_istream ifs(testfile, TEST_STREAM_FLAGS);
-			test_iarchive ia(ifs);
-			ia >> boost::serialization::make_nvp("ex1L1_load", ex1L1_load);
-		}
-		BOOST_CHECK(1 == save_count);
-		BOOST_CHECK(1 == load_count);
-		BOOST_CHECK(*ex1L1_save == *ex1L1_load);
-		std::remove(testfile);
-	}
-	{
-		save_count = 0;
-		load_count = 0;
-
-		const EX2Level3_A ex2L3a_save(3);
-		const EX2Level1 *ex2L1_save = &ex2L3a_save;
-		{
-			test_ostream ofs(testfile, TEST_STREAM_FLAGS);
-			test_oarchive oa(ofs);
-			oa << boost::serialization::make_nvp("ex2L1_save", ex2L1_save);
-		}
-
-		EX2Level1 *ex2L1_load;
-		{
-			test_istream ifs(testfile, TEST_STREAM_FLAGS);
-			test_iarchive ia(ifs);
-			ia >> boost::serialization::make_nvp("ex2L1_load", ex2L1_load);
-		}
-		BOOST_CHECK(1 == save_count);
-		BOOST_CHECK(1 == load_count);
-		BOOST_CHECK(*ex2L1_save == *ex2L1_load);
-		std::remove(testfile);
-	}
-	{
-		save_count = 0;
-		load_count = 0;
-
-		const EX2Level4 ex2L4_save(3);   
-		const EX2Level1 *ex2L1_save = &ex2L4_save;
-		{
-			test_ostream ofs(testfile, TEST_STREAM_FLAGS);
-			test_oarchive oa(ofs);
-			oa << boost::serialization::make_nvp("ex2L1_save", ex2L1_save);
-		}
-
-		EX2Level1 *ex2L1_load;
-		{
-			test_istream ifs(testfile, TEST_STREAM_FLAGS);
-			test_iarchive ia(ifs);
-			ia >> boost::serialization::make_nvp("ex2L1_load", ex2L1_load);
-		}
-		BOOST_CHECK(1 == save_count);
-		BOOST_CHECK(1 == load_count);
-		BOOST_CHECK(*ex2L1_save == *ex2L1_load);
-		std::remove(testfile);
-	}
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_dll_exported.cpp b/SRC/Boost/libs/serialization/test/test_dll_exported.cpp
deleted file mode 100755
index e44ca5f..0000000
--- a/SRC/Boost/libs/serialization/test/test_dll_exported.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_dll_exported.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-// This is an overly complex test.  The purpose of this test is to
-// demostrate and test the ability to serialize a hiarchy of class
-// through a base class pointer even though those class might be
-// implemente in different dlls and use different extended type info
-// systems.
-//
-// polymorphic_ base is locally declared and defined.  It use the
-// "no_rtti" extended type info system.
-
-// polymorphic_derived1 is locally declared and defined.  It uses
-// the default "type_id" extended type info system
-
-// polymorphic_derived2 is declared in polymorphic_derived.hpp
-// and defined in dll_polymorphic_derived2.  It uses the typeid
-// system.
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-// for now, only test with simple text archive
-#define BOOST_ARCHIVE_TEST text_archive.hpp
-#include "test_tools.hpp"
-
-#include <boost/archive/archive_exception.hpp>
-
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/access.hpp>
-
-#include "polymorphic_base.hpp"
-
-class polymorphic_derived1 : public polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-    }
-    virtual const char * get_key() const { 
-        return "polymorphic_derived1";
-    }
-public:
-    virtual ~polymorphic_derived1(){}
-};
-
-BOOST_CLASS_EXPORT(polymorphic_derived1)
-
-// MWerks users can do this to make their code work
-BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(polymorphic_base, polymorphic_derived1)
-
-#define POLYMORPHIC_DERIVED2_IMPORT
-#include "polymorphic_derived2.hpp"
-
-// save exported polymorphic class
-void save_exported(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_base *rb1 = new polymorphic_derived1;
-    polymorphic_base *rb2 = new polymorphic_derived2;
-    polymorphic_derived2 *rd21 = new polymorphic_derived2;
-
-    // export will permit correct serialization
-    // through a pointer to a base class
-    oa << BOOST_SERIALIZATION_NVP(rb1);
-    oa << BOOST_SERIALIZATION_NVP(rb2);
-    oa << BOOST_SERIALIZATION_NVP(rd21);
-
-    delete rb1;
-    delete rb2;
-}
-
-// save exported polymorphic class
-void load_exported(const char *testfile)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_base *rb1 = NULL;
-    polymorphic_base *rb2 = NULL;
-    polymorphic_derived2 *rd21 = NULL;
-
-    // export will permit correct serialization
-    // through a pointer to a base class
-    ia >> BOOST_SERIALIZATION_NVP(rb1);
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<polymorphic_derived1>
-            ::type::get_const_instance()
-        == 
-        * boost::serialization::type_info_implementation<polymorphic_base>
-            ::type::get_const_instance().get_derived_extended_type_info(*rb1),
-        "restored pointer b1 not of correct type"
-    );
-    ia >> BOOST_SERIALIZATION_NVP(rb2);
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<polymorphic_derived2>
-            ::type::get_const_instance()
-        == 
-        * boost::serialization::type_info_implementation<polymorphic_base>
-            ::type::get_const_instance().get_derived_extended_type_info(*rb2),
-        "restored pointer b2 not of correct type"
-    );
-    ia >> BOOST_SERIALIZATION_NVP(rd21);
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<polymorphic_derived2>
-            ::type::get_const_instance()
-        == 
-        * boost::serialization::type_info_implementation<polymorphic_derived2>
-            ::type::get_const_instance().get_derived_extended_type_info(*rd21),
-        "restored pointer d2 not of correct type"
-    );
-    delete rb1;
-    delete rb2;
-    delete rd21;
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    save_exported(testfile);
-    load_exported(testfile);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_dll_plugin.cpp b/SRC/Boost/libs/serialization/test/test_dll_plugin.cpp
deleted file mode 100755
index f2c8dce..0000000
--- a/SRC/Boost/libs/serialization/test/test_dll_plugin.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_dll_plugin.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-// Note this test creates, serializes, and destroys
-// a class instance while knowing nothing more than its
-// exported class ID (GUID) and a base class from which
-// it is derived.  This is referred to as a "plugin"
-// since the same program could, without recompilation, 
-// manipulate any number of derived types - even those
-// which have not been yet been created.
-
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/archive/archive_exception.hpp>
-
-// for now, only test with simple text and polymorphic archive
-#include "test_tools.hpp"
-
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/void_cast.hpp>
-#include <boost/serialization/extended_type_info.hpp>
-
-#include "polymorphic_base.hpp"
-
-// declare and implement a derived class in our own executable
-class polymorphic_derived1 : public polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-    }
-    const char * get_key() const{
-        return
-            boost::serialization::type_info_implementation<
-                polymorphic_derived1
-            >::type::get_const_instance().get_key();
-    }
-public:
-    virtual ~polymorphic_derived1(){}
-};
-
-// This class is derived from polymorphic_base which uses the no_rtti system
-// rather than the typeid system.  This system uses the exported name as the
-// type identifier key.  This MUST be exported!!!
-BOOST_CLASS_EXPORT(polymorphic_derived1)
-
-// MWerks users can do this to make their code work
-BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(polymorphic_base, polymorphic_derived1)
-
-// save exported polymorphic class
-void save_exported(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_base *rb1 = new polymorphic_derived1;
-
-    // get the eti record for the exported type "polymorphic_derived2"
-    boost::serialization::extended_type_info const * const d2_eti =
-        boost::serialization::extended_type_info::find(
-            "polymorphic_derived2"
-        );
-    assert(NULL != d2_eti);
-
-    // create a new instance of the type referred to by this record.
-    // in this example, we happen to know that the class constructor
-    // takes no arguments.
-    void const * const rd2 = d2_eti->construct();
-    assert(NULL != rd2);
-
-    // transform the pointer to a pointer to the base class
-    polymorphic_base const * const rb2 
-        = static_cast<polymorphic_base const *>(
-            boost::serialization::void_upcast(
-                * d2_eti,
-                boost::serialization::type_info_implementation<polymorphic_base>
-                    ::type::get_const_instance(),
-                rd2
-            )
-        );
-
-    // export will permit correct serialization
-    // through a pointer to a base class
-    oa << BOOST_SERIALIZATION_NVP(rb1);
-    oa << BOOST_SERIALIZATION_NVP(rb2);
-
-    // don't need these any more - don't leak memory
-    delete rb1;
-    // note delete original handle - not runtime cast one !!!
-    //delete rb2;
-    d2_eti->destroy(rd2);
-}
-
-// save exported polymorphic class
-void load_exported(const char *testfile)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_base *rb1 = NULL;
-    polymorphic_base *rb2 = NULL;
-
-    // export will permit correct serialization
-    // through a pointer to a base class
-    ia >> BOOST_SERIALIZATION_NVP(rb1);
-
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<polymorphic_derived1>
-            ::type::get_const_instance()
-        == 
-        * boost::serialization::type_info_implementation<polymorphic_base>
-            ::type::get_const_instance().get_derived_extended_type_info(*rb1),
-        "restored pointer b1 not of correct type"
-    );
-    ia >> BOOST_SERIALIZATION_NVP(rb2);
-
-    // get the eti record for the exported type "polymorphic_derived2"
-    boost::serialization::extended_type_info const * const d2_eti =
-        boost::serialization::extended_type_info::find(
-            "polymorphic_derived2"
-        );
-    assert(NULL != d2_eti);
-
-    BOOST_CHECK_MESSAGE(
-        * d2_eti
-        == 
-        * boost::serialization::type_info_implementation<polymorphic_base>
-            ::type::get_const_instance().get_derived_extended_type_info(*rb2),
-        "restored pointer b2 not of correct type"
-    );
-
-    delete rb1;
-    delete rb2;
-}
-
-#ifdef BOOST_WINDOWS
-
-#define WIN32_LEAN_AND_MEAN
-#include <TCHAR.H>
-#include <windows.h>
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    HINSTANCE hDLL;               // Handle to DLL
-    hDLL = LoadLibrary(_T("plugin_polymorphic_derived2.dll"));
-    BOOST_CHECK_MESSAGE(
-        (0 != hDLL), 
-        "Failed to find/load plugin_polymorphic_derived2"
-    );
-    if(0 == hDLL)
-        return EXIT_FAILURE;
-
-    save_exported(testfile);
-    load_exported(testfile);
-    FreeLibrary(hDLL);
-
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-#else // presume *nix
-
-#include <dlfcn.h>
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    void * hDLL;               // Handle to DLL
-    hDLL = dlopen("plugin_polymorphic_derived2.so", RTLD_NOW | RTLD_GLOBAL);
-    BOOST_CHECK_MESSAGE((0 != hDLL), "Failed to find/load plugin_polymorphic_derived2" );
-    if(0 == hDLL)
-        return EXIT_FAILURE;
-
-    save_exported(testfile);
-    load_exported(testfile);
-    dlclose(hDLL);
-
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-#endif
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_dll_simple.cpp b/SRC/Boost/libs/serialization/test/test_dll_simple.cpp
deleted file mode 100755
index 275c525..0000000
--- a/SRC/Boost/libs/serialization/test/test_dll_simple.cpp
+++ /dev/null
@@ -1,247 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_dll_simple.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-// invoke header for a custom archive test.
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-// for now, only test with simple text and polymorphic archive
-#include "test_tools.hpp"
-#include "text_archive.hpp"
-
-#include <boost/archive/polymorphic_text_oarchive.hpp>
-#include <boost/archive/polymorphic_text_iarchive.hpp>
-
-#define A_IMPORT
-#include "A.hpp"
-
-// simple class with text archive compiled in dll
-void
-test1(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const A a;
-    A a1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        boost::archive::text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("a", a);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        boost::archive::text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("a", a1);
-    }
-    BOOST_CHECK_EQUAL(a, a1);
-
-    std::remove(testfile);
-}
-
-// simple class with polymorphic archive compiled in dll
-void
-test2(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const A a;
-    A a1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        boost::archive::polymorphic_text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        boost::archive::polymorphic_oarchive & poa(oa);
-        poa << boost::serialization::make_nvp("a", a);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        boost::archive::polymorphic_text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        boost::archive::polymorphic_iarchive & pia(ia);
-        pia >> boost::serialization::make_nvp("a", a1);
-    }
-    BOOST_CHECK_EQUAL(a, a1);
-
-    std::remove(testfile);
-}
-
-// simple class pointer with text archive compiled in dll
-void
-test3(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const A *a = new A;
-    A *a1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        boost::archive::text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("a", a);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        boost::archive::text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("a", a1);
-    }
-    BOOST_CHECK_EQUAL(*a, *a1);
-
-    std::remove(testfile);
-    delete a;
-}
-
-// simple class pointer with polymorphic archive compiled in dll
-void
-test4(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const A *a = new A;
-    A *a1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        boost::archive::polymorphic_text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        boost::archive::polymorphic_oarchive & poa(oa);
-        poa << boost::serialization::make_nvp("a", a);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        boost::archive::polymorphic_text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        boost::archive::polymorphic_iarchive & pia(ia);
-        pia >> boost::serialization::make_nvp("a", a1);
-    }
-    BOOST_CHECK_EQUAL(*a, *a1);
-
-    std::remove(testfile);
-    delete a;
-}
-
-#include "B.hpp"
-
-// derived class with base text archive compiled in dll
-void
-test5(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const B b;
-    B b1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        boost::archive::text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("b", b);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        boost::archive::text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("b", b1);
-    }
-    BOOST_CHECK_EQUAL(b, b1);
-
-    std::remove(testfile);
-}
-
-// derived class with base base compiled with polymorphic archive in dll
-void
-test6(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const B b;
-    B b1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        boost::archive::polymorphic_text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        boost::archive::polymorphic_oarchive & poa(oa);
-        poa << boost::serialization::make_nvp("b", b);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        boost::archive::polymorphic_text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        boost::archive::polymorphic_iarchive & pia(ia);
-        pia >> boost::serialization::make_nvp("b", b1);
-    }
-    BOOST_CHECK_EQUAL(b, b1);
-
-    std::remove(testfile);
-}
-
-// derived class pointer with base text archive compiled in dll
-void
-test7(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const B *b = new B;
-    B *b1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        boost::archive::text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("b", b);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        boost::archive::text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("b", b1);
-    }
-    BOOST_CHECK_EQUAL(*b, *b1);
-
-    std::remove(testfile);
-    delete b;
-}
-
-// derived class pointer with base polymorphic archive compiled in dll
-void
-test8(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const B *b = new B;
-    B *b1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        boost::archive::polymorphic_text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        boost::archive::polymorphic_oarchive & poa(oa);
-        poa << boost::serialization::make_nvp("b", b);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        boost::archive::polymorphic_text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        boost::archive::polymorphic_iarchive & pia(ia);
-        pia >> boost::serialization::make_nvp("b", b1);
-    }
-    BOOST_CHECK_EQUAL(*b, *b1);
-
-    std::remove(testfile);
-    delete b;
-}
-
-
-int 
-test_main( int /* argc */, char* /* argv */[] )
-{
-    test1();
-    test2();
-    test3();
-    test4();
-    test5();
-    test6();
-    test7();
-    test8();
-    return EXIT_SUCCESS;
-}
-
diff --git a/SRC/Boost/libs/serialization/test/test_exported.cpp b/SRC/Boost/libs/serialization/test/test_exported.cpp
deleted file mode 100755
index c9977af..0000000
--- a/SRC/Boost/libs/serialization/test/test_exported.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_exported.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef>
-#include <fstream>
-
-#include <boost/config.hpp>
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/extended_type_info_typeid.hpp>
-
-#include <boost/serialization/force_include.hpp>
-
-#include <boost/archive/archive_exception.hpp>
-#include "test_tools.hpp"
-
-#include "polymorphic_base.hpp"
-
-class polymorphic_derived1 : 
-    public polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-    }
-    virtual const char * get_key() const {
-        return "polymorphic_derived1";
-    }
-public:
-    ~polymorphic_derived1(){}
-};
-
-BOOST_CLASS_EXPORT(polymorphic_derived1)
-
-// MWerks users can do this to make their code work
-BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(polymorphic_base, polymorphic_derived1)
-
-#include "polymorphic_derived2.hpp"
-
-// MWerks users can do this to make their code work
-BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(polymorphic_base, polymorphic_derived2)
-
-template<class Archive>
-void polymorphic_derived2::serialize(
-    Archive &ar, 
-    const unsigned int /* file_version */
-){
-    ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-}
-
-BOOST_CLASS_EXPORT_IMPLEMENT(polymorphic_derived2)
-
-template EXPORT_DECL(void) polymorphic_derived2::serialize(
-    test_oarchive & ar,
-    const unsigned int version
-);
-template EXPORT_DECL(void) polymorphic_derived2::serialize(
-    test_iarchive & ar,
-    const unsigned int version
-);
-
-// save exported polymorphic class
-void save_exported(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_base *rb1 = new polymorphic_derived1;
-    polymorphic_base *rb2 = new polymorphic_derived2;
-
-    // export will permit correct serialization
-    // through a pointer to a base class
-    oa << BOOST_SERIALIZATION_NVP(rb1);
-    oa << BOOST_SERIALIZATION_NVP(rb2);
-
-    delete rb1;
-    delete rb2;
-}
-
-// save exported polymorphic class
-void load_exported(const char *testfile)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_base *rb1 = NULL;
-    polymorphic_base *rb2 = NULL;
-
-    // export will permit correct serialization
-    // through a pointer to a base class
-    ia >> BOOST_SERIALIZATION_NVP(rb1);
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<polymorphic_derived1>
-            ::type::get_const_instance()
-        == 
-        * boost::serialization::type_info_implementation<polymorphic_base>
-            ::type::get_const_instance().get_derived_extended_type_info(*rb1),
-        "restored pointer b1 not of correct type"
-    );
-
-    ia >> BOOST_SERIALIZATION_NVP(rb2);
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<polymorphic_derived2>
-            ::type::get_const_instance()
-        == 
-        * boost::serialization::type_info_implementation<polymorphic_base>
-            ::type::get_const_instance().get_derived_extended_type_info(*rb2),
-        "restored pointer b2 not of correct type"
-    );
-
-    delete rb1;
-    delete rb2;
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    save_exported(testfile);
-    load_exported(testfile);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_inclusion.cpp b/SRC/Boost/libs/serialization/test/test_inclusion.cpp
deleted file mode 100755
index 4546fb3..0000000
--- a/SRC/Boost/libs/serialization/test/test_inclusion.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/level_enum.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/tracking_enum.hpp>
-#include <boost/serialization/traits.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/version.hpp> 
-
-struct foo
-{
-    int x;
-private:
-    friend class boost::serialization::access;
-
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version)
-    {
-        // In compilers implementing 2-phase lookup, the call to
-        // make_nvp is resolved even if foo::serialize() is never
-        // instantiated.
-        ar & boost::serialization::make_nvp("x",x);
-    }
-};
-
-int
-main(int /*argc*/, char * /*argv*/[]){
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_iterators.cpp b/SRC/Boost/libs/serialization/test/test_iterators.cpp
deleted file mode 100755
index e95109e..0000000
--- a/SRC/Boost/libs/serialization/test/test_iterators.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_iterators.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <algorithm>
-#include <vector>
-#include <cstdlib> // for rand
-#include <functional>
-#include <sstream> // used to test stream iterators
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{
-    using ::rand; 
-}
-#endif
-
-#include <boost/detail/workaround.hpp>
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-#include <boost/archive/dinkumware.hpp>
-#endif
-
-#ifndef BOOST_NO_CWCHAR
-#include <boost/archive/iterators/mb_from_wchar.hpp>
-#include <boost/archive/iterators/wchar_from_mb.hpp>
-#endif
-#include <boost/archive/iterators/xml_escape.hpp>
-#include <boost/archive/iterators/xml_unescape.hpp>
-#include <boost/archive/iterators/transform_width.hpp>
-#include <boost/archive/iterators/istream_iterator.hpp>
-#include <boost/archive/iterators/ostream_iterator.hpp>
-
-#include "test_tools.hpp"
-
-#ifndef BOOST_NO_CWCHAR
-
-void test_wchar_from_mb(const wchar_t *la, const char * a, const unsigned int size){
-    typedef boost::archive::iterators::wchar_from_mb<const char *> translator;
-    BOOST_CHECK((
-        std::equal(
-            translator(BOOST_MAKE_PFTO_WRAPPER(a)),
-            translator(BOOST_MAKE_PFTO_WRAPPER(a + size)),
-            la
-        )
-    ));
-}
-
-void test_mb_from_wchar(const char * a, const wchar_t *la, const unsigned int size){
-    typedef boost::archive::iterators::mb_from_wchar<const wchar_t *> translator;
-    BOOST_CHECK(
-        std::equal(
-            translator(BOOST_MAKE_PFTO_WRAPPER(la)), 
-            translator(BOOST_MAKE_PFTO_WRAPPER(la + size)), 
-            a
-        )
-    );
-}
-
-#endif
-
-template<class CharType>
-void test_xml_escape(
-    const CharType * xml_escaped, 
-    const CharType * xml, 
-    unsigned int size
-){
-    typedef boost::archive::iterators::xml_escape<const CharType *> translator;
-
-    BOOST_CHECK(
-        std::equal(
-            translator(BOOST_MAKE_PFTO_WRAPPER(xml)),
-            translator(BOOST_MAKE_PFTO_WRAPPER(xml + size)),
-            xml_escaped
-        )
-    );
-}
-
-template<class CharType>
-void test_xml_unescape(
-    const CharType * xml, 
-    const CharType * xml_escaped, 
-    unsigned int size
-){
-
-    // test xml_unescape
-    typedef boost::archive::iterators::xml_unescape<const CharType *> translator;
-
-    BOOST_CHECK(
-        std::equal(
-            translator(BOOST_MAKE_PFTO_WRAPPER(xml_escaped)),
-            translator(BOOST_MAKE_PFTO_WRAPPER(xml_escaped + size)),
-            xml
-        )
-    );
-}
-
-template<int BitsOut, int BitsIn>
-void test_transform_width(unsigned int size){
-    // test transform_width
-    char rawdata[8];
-    
-    char * rptr;
-    for(rptr = rawdata + 6; rptr-- > rawdata;)
-        *rptr = static_cast<char>(0xff & std::rand());
-
-    // convert 8 to 6 bit characters
-    typedef boost::archive::iterators::transform_width<
-        char *, BitsOut, BitsIn 
-    > translator1;
-
-    std::vector<char> v6;
-
-    std::copy(
-        translator1(BOOST_MAKE_PFTO_WRAPPER(static_cast<char *>(rawdata))),
-        translator1(BOOST_MAKE_PFTO_WRAPPER(rawdata + size)),
-        std::back_inserter(v6)
-    );
-
-    // check to see we got the expected # of characters out
-    if(0 ==  size)
-        BOOST_CHECK(v6.size() == 0);
-    else
-        BOOST_CHECK(v6.size() == (size * BitsIn - 1 ) / BitsOut + 1);
-
-    typedef boost::archive::iterators::transform_width<
-        std::vector<char>::iterator, BitsIn, BitsOut
-    > translator2;
-
-    BOOST_CHECK(
-        std::equal(
-            rawdata,
-            rawdata + size,
-            translator2(BOOST_MAKE_PFTO_WRAPPER(v6.begin()))
-        )
-    );
-
-}
-
-template<class CharType>
-void test_stream_iterators(
-    const CharType * test_data, 
-    unsigned int size
-){
-    std::basic_stringstream<CharType> ss;
-    boost::archive::iterators::ostream_iterator<CharType> osi =
-        boost::archive::iterators::ostream_iterator<CharType>(ss);
-    std::copy(test_data, test_data + size, osi);
-
-    BOOST_CHECK(size == ss.str().size());
-
-    boost::archive::iterators::istream_iterator<CharType> isi =
-        boost::archive::iterators::istream_iterator<CharType>(ss);
-    BOOST_CHECK(std::equal(test_data, test_data + size,isi));
-}
-
-int
-test_main(int /* argc */, char* /* argv */ [] )
-{
-    const char xml[] = "<+>+&+\"+'";
-    const char xml_escaped[] = "<+>+&+"+'";
-    test_xml_escape<const char>(
-        xml_escaped, 
-        xml, 
-        sizeof(xml) / sizeof(char) - 1
-    );
-    test_xml_unescape<const char>(
-        xml, 
-        xml_escaped, 
-        sizeof(xml_escaped) / sizeof(char) - 1
-    );
-
-    const char a[] = "abcdefghijklmnopqrstuvwxyz";
-
-    #ifndef BOOST_NO_CWCHAR
-    const wchar_t wxml[] = L"<+>+&+\"+'";
-    const wchar_t wxml_escaped[] = L"<+>+&+"+'";
-    test_xml_escape<const wchar_t>(
-        wxml_escaped, 
-        wxml, 
-        sizeof(wxml) / sizeof(wchar_t) - 1
-    );
-    test_xml_unescape<const wchar_t>(
-        wxml, 
-        wxml_escaped, 
-        sizeof(wxml_escaped) / sizeof(wchar_t) - 1
-    );
-
-    const wchar_t la[] = L"abcdefghijklmnopqrstuvwxyz";
-
-    test_wchar_from_mb(la, a, sizeof(a) / sizeof(char) - 1);
-    test_mb_from_wchar(a, la, sizeof(la) / sizeof(wchar_t) - 1);
-
-    test_stream_iterators<wchar_t>(la, sizeof(la)/sizeof(wchar_t) - 1);
-    #endif
-
-    test_stream_iterators<char>(a, sizeof(a) - 1);
-
-    test_transform_width<6, 8>(0);
-    test_transform_width<6, 8>(1);
-    test_transform_width<6, 8>(2);
-    test_transform_width<6, 8>(3);
-    test_transform_width<6, 8>(4);
-    test_transform_width<6, 8>(5);
-    test_transform_width<6, 8>(6);
-    test_transform_width<6, 8>(7);
-    test_transform_width<6, 8>(8);
-
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_iterators_base64.cpp b/SRC/Boost/libs/serialization/test/test_iterators_base64.cpp
deleted file mode 100755
index 1b6d7c8..0000000
--- a/SRC/Boost/libs/serialization/test/test_iterators_base64.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_iterators.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <algorithm>
-#include <list>
-
-#if (defined _MSC_VER) && (_MSC_VER == 1200)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <cstdlib>
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{ 
-    using ::rand; 
-    using ::size_t;
-}
-#endif
-
-#include <boost/serialization/pfto.hpp>
-
-#include <boost/archive/iterators/binary_from_base64.hpp>
-#include <boost/archive/iterators/base64_from_binary.hpp>
-#include <boost/archive/iterators/insert_linebreaks.hpp>
-#include <boost/archive/iterators/remove_whitespace.hpp>
-#include <boost/archive/iterators/transform_width.hpp>
-
-#include "test_tools.hpp"
-
-#include <iostream>
-
-template<typename CharType>
-void test_base64(){
-    CharType rawdata[150];
-    std::size_t size = sizeof(rawdata) / sizeof(CharType);
-    CharType * rptr;
-    for(rptr = rawdata + size; rptr-- > rawdata;)
-        *rptr = static_cast<CharType>(std::rand());
-
-    // convert to base64
-    typedef std::list<CharType> text_base64_type;
-    text_base64_type text_base64;
-
-    typedef 
-        boost::archive::iterators::insert_linebreaks<
-            boost::archive::iterators::base64_from_binary<
-                boost::archive::iterators::transform_width<
-                    CharType *
-                    ,6
-                    ,sizeof(CharType) * 8
-                >
-            > 
-            ,72
-        > 
-        translate_out;
-
-    std::copy(
-        translate_out(BOOST_MAKE_PFTO_WRAPPER(static_cast<CharType *>(rawdata))),
-        translate_out(BOOST_MAKE_PFTO_WRAPPER(rawdata + size)),
-        std::back_inserter(text_base64)
-    );
-
-    // convert from base64 to binary and compare with the original 
-    typedef 
-        boost::archive::iterators::transform_width<
-            boost::archive::iterators::binary_from_base64<
-                boost::archive::iterators::remove_whitespace<
-                    BOOST_DEDUCED_TYPENAME text_base64_type::iterator
-                >
-            >,
-            sizeof(CharType) * 8,
-            6
-        > translate_in;
-    
-    BOOST_CHECK(
-        std::equal(
-            rawdata,
-            rawdata + size,
-            translate_in(BOOST_MAKE_PFTO_WRAPPER(text_base64.begin()))
-        )
-    );
-
-}
-
-int
-test_main( int /*argc*/, char* /*argv*/[] )
-{
-    test_base64<char>();
-    #ifndef BOOST_NO_CWCHAR
-    test_base64<wchar_t>();
-    #endif
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_list.cpp b/SRC/Boost/libs/serialization/test/test_list.cpp
deleted file mode 100755
index 9b4cbfc..0000000
--- a/SRC/Boost/libs/serialization/test/test_list.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_list.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include <boost/config.hpp>
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/archive/archive_exception.hpp>
-#include "test_tools.hpp"
-
-#include <boost/serialization/list.hpp>
-#ifdef BOOST_HAS_SLIST
-#include <boost/serialization/slist.hpp>
-#endif
-
-#include "A.hpp"
-#include "A.ipp"
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    std::list<A> alist;
-    alist.push_back(A());
-    alist.push_back(A());
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("alist",alist);
-    }
-
-    std::list<A> alist1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("alist",alist1);
-    }
-    BOOST_CHECK(alist == alist1);
-    
-    #ifdef BOOST_HAS_SLIST
-    BOOST_STD_EXTENSION_NAMESPACE::slist<A> aslist;
-    aslist.push_front(A());
-    aslist.push_front(A());
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("aslist", aslist);
-    }
-    BOOST_STD_EXTENSION_NAMESPACE::slist<A> aslist1;{
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("aslist", aslist1);
-   }
-    BOOST_CHECK(aslist == aslist1);
-    
-    #endif
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
-
diff --git a/SRC/Boost/libs/serialization/test/test_list_ptrs.cpp b/SRC/Boost/libs/serialization/test/test_list_ptrs.cpp
deleted file mode 100755
index f7530b4..0000000
--- a/SRC/Boost/libs/serialization/test/test_list_ptrs.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_list.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef>
-#include <fstream>
-
-#include <boost/config.hpp>
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/checked_delete.hpp>
-
-#include <boost/archive/archive_exception.hpp>
-#include "test_tools.hpp"
-
-#include <boost/serialization/list.hpp>
-#ifdef BOOST_HAS_SLIST
-#include <boost/serialization/slist.hpp>
-#endif
-#include <boost/serialization/nvp.hpp>
-
-#include "A.hpp"
-#include "A.ipp"
-
-template<class T>
-struct ptr_equal_to : public std::binary_function<T, T, bool> 
-{
-    BOOST_STATIC_ASSERT(::boost::is_pointer< T >::value);
-    bool operator()(T const _Left, T const _Right) const
-    {
-        if(NULL == _Left && NULL == _Right)
-            return true;
-        if(typeid(*_Left) != typeid(*_Right))
-            return false;
-        return *_Left == *_Right;
-    }
-};
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    std::list<A *> alist;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        A * free_a_ptr = new A;
-        alist.push_back(free_a_ptr);
-        alist.push_back(new A);
-        // verify that first element is the same as the free pointer
-        BOOST_CHECK((*alist.begin()) == free_a_ptr);
-        oa << boost::serialization::make_nvp("alist", alist);
-        oa << boost::serialization::make_nvp("free_a_ptr", free_a_ptr);
-    }
-    std::list<A *> alist1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        A * free_a_ptr1;
-        ia >> boost::serialization::make_nvp("alist", alist1);
-        ia >> boost::serialization::make_nvp("free_a_ptr", free_a_ptr1);
-        BOOST_CHECK(
-            alist.size() == alist1.size() 
-            && std::equal(alist.begin(),alist.end(),alist1.begin(),ptr_equal_to<A *>())
-        );
-        // verify that first element is the same as the free pointer
-        BOOST_CHECK((*alist1.begin()) == free_a_ptr1);
-    }
-
-    std::for_each(
-        alist.begin(), 
-        alist.end(), 
-        boost::checked_deleter<A>()
-    );
-    std::for_each(
-        alist1.begin(), 
-        alist1.end(), 
-        boost::checked_deleter<A>()
-    );
-    
-    #ifdef BOOST_HAS_SLIST
-    std::list<A *> aslist;
-    {   
-        aslist.push_back(new A);
-        aslist.push_back(new A);
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        aslist.push_back(new A);
-        aslist.push_back(new A);
-        oa << boost::serialization::make_nvp("aslist", aslist);
-    }
-    std::list<A *> aslist1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("aslist", aslist1);
-        BOOST_CHECK(aslist.size() == aslist1.size() &&
-            std::equal(aslist.begin(),aslist.end(),aslist1.begin(),ptr_equal_to<A *>())
-        );
-    }
-    std::for_each(
-        aslist.begin(), 
-        aslist.end(), 
-        boost::checked_deleter<A>()
-    );
-    std::for_each(
-        aslist1.begin(), 
-        aslist1.end(), 
-        boost::checked_deleter<A>()
-    );  
-    #endif
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_map.cpp b/SRC/Boost/libs/serialization/test/test_map.cpp
deleted file mode 100755
index 8ce2ea7..0000000
--- a/SRC/Boost/libs/serialization/test/test_map.cpp
+++ /dev/null
@@ -1,229 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_map.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <algorithm>
-#include <vector>
-#include <fstream>
-#include <cstddef> // size_t, NULL
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <cstdio>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::rand; 
-    using ::size_t;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/map.hpp>
-
-#include "A.hpp"
-#include "A.ipp"
-
-///////////////////////////////////////////////////////
-// a key value initialized with a random value for use
-// in testing STL map serialization
-struct random_key {
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(
-        Archive & ar, 
-        const unsigned int /* file_version */
-    ){
-        ar & boost::serialization::make_nvp("random_key", m_i);
-    }
-    int m_i;
-    random_key() : m_i(std::rand()){};
-    bool operator<(const random_key &rhs) const {
-        return m_i < rhs.m_i;
-    }
-    bool operator==(const random_key &rhs) const {
-        return m_i == rhs.m_i;
-    }
-    operator std::size_t () const {    // required by hash_map
-        return m_i;
-    }
-};  
-
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(random_key)
-
-void
-test_map(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    BOOST_MESSAGE("map");
-    // test map of objects
-    std::map<random_key, A> amap;
-    amap.insert(std::make_pair(random_key(), A()));
-    amap.insert(std::make_pair(random_key(), A()));
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("amap", amap);
-    }
-    std::map<random_key, A> amap1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("amap", amap1);
-    }
-    BOOST_CHECK(amap == amap1);
-    std::remove(testfile);
-}
-
-void
-test_map_2(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    BOOST_MESSAGE("map_2");
-    std::pair<int, int> a(11, 22);
-    std::map<int, int> b;
-    b[0] = 0;
-    b[-1] = -1;
-    b[1] = 1;
-    {
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        std::pair<int, int> * const pa = &a;
-        std::map<int, int> * const pb = &b;
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << BOOST_SERIALIZATION_NVP(pb);
-        oa << BOOST_SERIALIZATION_NVP(pa);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        std::pair<int, int> *pa = 0;
-        std::map<int, int> *pb = 0;
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> BOOST_SERIALIZATION_NVP(pb);
-        ia >> BOOST_SERIALIZATION_NVP(pa);
-        delete pa;
-        delete pb;
-    }
-    std::remove(testfile);
-}
-
-void
-test_multimap(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    BOOST_MESSAGE("multimap");
-    std::multimap<random_key, A> amultimap;
-    amultimap.insert(std::make_pair(random_key(), A()));
-    amultimap.insert(std::make_pair(random_key(), A()));
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("amultimap", amultimap);
-    }
-    std::multimap<random_key, A> amultimap1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("amultimap", amultimap1);
-    }
-    BOOST_CHECK(amultimap == amultimap1);
-    std::remove(testfile);
-}
-
-#ifdef BOOST_HAS_HASH
-#include <boost/serialization/hash_map.hpp>
-
-namespace BOOST_STD_EXTENSION_NAMESPACE {
-    template<>
-    struct hash<random_key>{
-        std::size_t operator()(const random_key& r) const {
-            return (std::size_t)r;
-        }
-    };
-} // namespace BOOST_STD_EXTENSION_NAMESPACE 
-
-void
-test_hash_map(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    BOOST_CHECKPOINT("hash_map");
-    // test hash_map of objects
-    BOOST_STD_EXTENSION_NAMESPACE::hash_map<random_key, A> ahash_map;
-    ahash_map.insert(std::make_pair(random_key(), A()));
-    ahash_map.insert(std::make_pair(random_key(), A()));
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("ahashmap",ahash_map);
-    }
-    BOOST_STD_EXTENSION_NAMESPACE::hash_map<random_key, A> ahash_map1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("ahashmap",ahash_map1);
-    }
-
-    std::vector< std::pair<random_key, A> > tvec, tvec1;
-    std::copy(ahash_map.begin(), ahash_map.end(), std::back_inserter(tvec));
-    std::sort(tvec.begin(), tvec.end());
-    std::copy(ahash_map1.begin(), ahash_map1.end(), std::back_inserter(tvec1));
-    std::sort(tvec1.begin(), tvec1.end());
-    BOOST_CHECK(tvec == tvec1);
-
-    std::remove(testfile);
-}
-
-void
-test_hash_multimap(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    BOOST_CHECKPOINT("hash_multimap");
-    BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<random_key, A> ahash_multimap;
-    ahash_multimap.insert(std::make_pair(random_key(), A()));
-    ahash_multimap.insert(std::make_pair(random_key(), A()));
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("ahash_multimap", ahash_multimap);
-    }
-    BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<random_key, A> ahash_multimap1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("ahash_multimap", ahash_multimap1);
-    }
-    std::vector< std::pair<random_key, A> > tvec, tvec1;
-    tvec.clear();
-    tvec1.clear();
-    std::copy(ahash_multimap.begin(), ahash_multimap.end(), std::back_inserter(tvec));
-    std::sort(tvec.begin(), tvec.end());
-    std::copy(ahash_multimap1.begin(), ahash_multimap1.end(), std::back_inserter(tvec1));
-    std::sort(tvec1.begin(), tvec1.end());
-    BOOST_CHECK(tvec == tvec1);
-    std::remove(testfile);
-}
-#endif
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    test_map();
-    test_map_2();
-    test_multimap();
-    #ifdef BOOST_HAS_HASH
-    test_hash_map();
-    test_hash_multimap();
-    #endif
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_mi.cpp b/SRC/Boost/libs/serialization/test/test_mi.cpp
deleted file mode 100755
index 40cdaff..0000000
--- a/SRC/Boost/libs/serialization/test/test_mi.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_mi.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// test of serialization of base classes with multiple inheritance
-// contributed by Peter Dimov
-
-#include <cstddef>
-#include <iostream>
-#include <fstream>
-
-#include <boost/config.hpp>
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/base_object.hpp>
-
-class A
-{
-private:
-    friend class boost::serialization::access;
-    int x;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_NVP(x);
-    }
-public:
-    explicit A(int x = 0): x(x) {}
-    virtual ~A(); // = 0;
-    int get_x() const
-    {
-        return x;
-    }
-};
-
-inline A::~A()
-{
-}
-
-class B
-{
-private:
-    int y;
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_NVP(y);
-    }
-public:
-    explicit B(int y = 0): y(y) {}
-    virtual ~B(){}
-    int get_y() const
-    {
-        return y;
-    }
-};
-
-class C: public A, public B
-{
-private:
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(B);
-    }
-public:
-    C(){}
-    C(int x, int y): A(x), B(y){}
-};
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    C * pc = new C(1, 2);
-    A * pa = pc;
-    B * pb = pc;
-
-    BOOST_CHECK(pa == pc);
-    BOOST_CHECK(pb == pc);
-
-    int x = pa->get_x();
-    int y = pb->get_y();
-
-    std::cout << "pa->get_x(): " << pa->get_x() << std::endl;
-    std::cout << "pb->get_y(): " << pb->get_y() << std::endl;
-
-    {
-        test_ostream ofs(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(ofs);
-        oa << BOOST_SERIALIZATION_NVP(pc);
-        oa << BOOST_SERIALIZATION_NVP(pa);
-        oa << BOOST_SERIALIZATION_NVP(pb);
-    }
-
-    delete pc;
-    pc = NULL;
-    pa = NULL;
-    pb = NULL;
-
-    {
-        test_istream ifs(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(ifs);
-        ia >> BOOST_SERIALIZATION_NVP(pc);
-        ia >> BOOST_SERIALIZATION_NVP(pa);
-        ia >> BOOST_SERIALIZATION_NVP(pb);
-    }
-
-    BOOST_CHECK(pa == pc);
-    BOOST_CHECK(pb == pc);
-
-    BOOST_CHECK(x == pa->get_x());
-    BOOST_CHECK(y == pb->get_y());
-
-    std::cout << "pa->get_x(): " << pa->get_x() << std::endl;
-    std::cout << "pb->get_y(): " << pb->get_y() << std::endl;
-
-    delete pc;
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_mult_archive_types.cpp b/SRC/Boost/libs/serialization/test/test_mult_archive_types.cpp
deleted file mode 100755
index 6117630..0000000
--- a/SRC/Boost/libs/serialization/test/test_mult_archive_types.cpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_mult_archive_types.cpp 
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <cstddef>
-#include <fstream>
-
-#include <boost/config.hpp>
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/xml_oarchive.hpp>
-#include <boost/archive/xml_iarchive.hpp>
-#include "test_tools.hpp"
-
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/nvp.hpp>
-
-// This is a simple class.  It contains a counter of the number
-// of objects of this class which have been instantiated.
-class A
-{
-private:
-    friend class boost::serialization::access;
-    int x;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_NVP(x);
-    }
-public:
-    static int count;
-    A(){++count;}    // default constructor
-    virtual ~A(){--count;}   // default destructor
-};
-
-BOOST_CLASS_EXPORT(A)
-
-// B is a subclass of A
-class B : public A
-{
-private:
-    friend class boost::serialization::access;
-    int y;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-    }
-public:
-    static int count;
-    B() : A() {};
-    virtual ~B() {};
-};
-
-BOOST_CLASS_EXPORT(B)
-
-int A::count = 0;
-
-// Run tests by serializing two shared_ptrs into an archive of type
-// OARCH, clearing them (deleting the objects) and then reloading the
-// objects back from an archive of type OARCH.
-template<class OA, class IA>
-void test_save_and_load(A * first, A * second)
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    // Save
-    {
-        std::ofstream os(testfile);
-        OA oa(os);
-        oa << BOOST_SERIALIZATION_NVP(first);
-        oa << BOOST_SERIALIZATION_NVP(second);
-    }
-
-    // Clear the pointers, thereby destroying the objects they contain
-    first = NULL;
-    second = NULL;
-
-    // Load
-    {
-        std::ifstream is(testfile);
-        IA ia(is);
-        ia >> BOOST_SERIALIZATION_NVP(first);
-        ia >> BOOST_SERIALIZATION_NVP(second);
-    }
-    BOOST_CHECK(first == second);
-    std::remove(testfile);
-}
-
-using namespace boost::archive;
-
-// This does the tests
-int test_main(int /* argc */, char * /* argv */[])
-{
-    // Try to save and load pointers to As, to a text archive
-    A * a = new A;
-    A * a1 = a;
-    test_save_and_load<text_oarchive, text_iarchive>(a, a1);
-
-    // Try to save and load pointers to Bs, to a text archive
-    B * b = new B;
-    B * b1 = b;
-    test_save_and_load<text_oarchive, text_iarchive>(b, b1);
-
-    // Try to save and load pointers to As, to an xml archive
-    test_save_and_load<xml_oarchive, xml_iarchive>(a, a1);
-
-    // Try to save and load pointers to Bs, to an xml archive
-    test_save_and_load<xml_oarchive, xml_iarchive>(b, b1);
-
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_multiple_inheritance.cpp b/SRC/Boost/libs/serialization/test/test_multiple_inheritance.cpp
deleted file mode 100755
index cdac4a9..0000000
--- a/SRC/Boost/libs/serialization/test/test_multiple_inheritance.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_multiple_inheritance.cpp
-
-// (C) Copyright 2009 Robert Ramey. 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// test of serialization library for multiple inheritence situations
-
-#include <cassert>
-#include <fstream>
-
-#include <boost/config.hpp>
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/export.hpp>
-
-struct Base1 {
-    int m_x;
-    Base1(){}
-    Base1(int x) : m_x(1 + x) {}
-    virtual ~Base1() {}
-    bool operator==(Base1 & rhs) const {
-        return m_x == rhs.m_x;
-    }
-    // serialize
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */) {
-        ar & BOOST_SERIALIZATION_NVP(m_x);
-    }
-};
-
-//BOOST_CLASS_EXPORT(Base1)
-
-struct Base2 {
-    int m_x;
-    Base2(){}
-    Base2(int x) : m_x(2 + x) {}
-    virtual ~Base2() {}
-    bool operator==(Base2 & rhs) const {
-        return m_x == rhs.m_x;
-    }
-    // serialize
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */) {
-        ar & BOOST_SERIALIZATION_NVP(m_x);
-    }
-};
-
-//BOOST_CLASS_EXPORT(Base2)
-
-struct Sub :
-    public Base1, 
-    public Base2 
-{
-    int m_x;
-    Sub(){}
-    Sub(int x) :
-        Base1(x),
-        Base2(x),
-        m_x(x) 
-    {}
-    bool operator==(Sub & rhs) const {
-        if(! Base2::operator==(rhs))
-            return false;
-        if(! Base1::operator==(rhs))
-            return false;
-        return m_x == rhs.m_x;
-    }
-    virtual ~Sub() {}
-
-    // serialize
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */)
-    {
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base1);
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base2);
-        ar & BOOST_SERIALIZATION_NVP(m_x);
-    }
-};
-
-BOOST_CLASS_EXPORT(Sub)
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    Base2 * pb2;
-    {
-        // serialize
-        pb2 = new Sub(2);
-
-        test_ostream ofs(testfile);
-        test_oarchive oa(ofs);
-        oa << boost::serialization::make_nvp("Base2", pb2);
-    }
-    Base2 * pb2_1;
-    {
-        // de-serialize
-        test_istream ifs(testfile);
-        test_iarchive ia(ifs);
-        ia >> boost::serialization::make_nvp("Base2", pb2_1);
-    }
-    Sub *s1 = dynamic_cast<Sub *>(pb2);
-    BOOST_CHECK(0 != s1);
-    Sub *s2 = dynamic_cast<Sub *>(pb2_1);
-    BOOST_CHECK(0 != s2);
-    BOOST_CHECK(*s1 == *s2);
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_multiple_ptrs.cpp b/SRC/Boost/libs/serialization/test/test_multiple_ptrs.cpp
deleted file mode 100755
index 4a4fafa..0000000
--- a/SRC/Boost/libs/serialization/test/test_multiple_ptrs.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_archive_derivation.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef>
-#include <fstream>
-
-#include <boost/config.hpp>
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include "D.hpp"
-#include "A.ipp"
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const A a;
-    A a1;
-
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("a", a);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("a", a1);
-    }
-    BOOST_CHECK(a == a1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_new_operator.cpp b/SRC/Boost/libs/serialization/test/test_new_operator.cpp
deleted file mode 100755
index 71d8cf6..0000000
--- a/SRC/Boost/libs/serialization/test/test_new_operator.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_new_operator.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-#include <new>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/serialization/access.hpp>
-
-#include "test_tools.hpp"
-
-#include "A.hpp"
-#include "A.ipp"
-
-class ANew : public A {
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned /*file_version*/){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-    }
-public:
-    static unsigned int m_new_calls;
-    static unsigned int m_delete_calls;
-    // implement class specific new/delete in terms standard
-    // implementation - we're testing serialization 
-    // not "new" here.
-    static void * operator new(size_t s){
-        ++m_new_calls;
-        return  ::operator new(s);
-    }
-    static void operator delete(void *p, std::size_t /*s*/){
-        ++m_delete_calls;
-        ::operator delete(p);
-    }
-};
-
-unsigned int ANew::m_new_calls = 0;
-unsigned int ANew::m_delete_calls = 0;
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    
-    BOOST_REQUIRE(NULL != testfile);
-
-    ANew *ta = new ANew();
-
-    BOOST_CHECK(1 == ANew::m_new_calls);
-    BOOST_CHECK(0 == ANew::m_delete_calls);
-
-    ANew *ta1 = NULL;
-
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("ta", ta);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("ta", ta1);
-    }
-    BOOST_CHECK(ta != ta1);
-    BOOST_CHECK(*ta == *ta1);
-
-    BOOST_CHECK(2 == ANew::m_new_calls);
-    BOOST_CHECK(0 == ANew::m_delete_calls);
-
-    std::remove(testfile);
-
-    delete ta;
-    delete ta1;
-
-    BOOST_CHECK(2 == ANew::m_new_calls);
-    BOOST_CHECK(2 == ANew::m_delete_calls);
-
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_no_rtti.cpp b/SRC/Boost/libs/serialization/test/test_no_rtti.cpp
deleted file mode 100755
index a7f1f1e..0000000
--- a/SRC/Boost/libs/serialization/test/test_no_rtti.cpp
+++ /dev/null
@@ -1,183 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_no_rtti.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// note: this program tests the inter-operability of different
-// extended typeinfo systems.  In this example, one class is
-// identified using the default RTTI while the other uses a custom
-// system based on the export key.
-// 
-// As this program uses RTTI for one of the types, the test will fail
-// on a system for which RTTI is not enabled or not existent.
-
-#include <cstddef>
-#include <fstream>
-#include <iostream>
-
-#include <boost/config.hpp>
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/archive/archive_exception.hpp>
-
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/serialization/extended_type_info_no_rtti.hpp>
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/nvp.hpp>
-
-#include "test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
-
-#include "polymorphic_base.hpp"
-#include "polymorphic_derived1.hpp"
-#include "polymorphic_derived2.hpp"
-
-template<class Archive>
-void polymorphic_derived2::serialize(
-    Archive &ar, 
-    const unsigned int /* file_version */
-){
-    ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-}
-
-template void polymorphic_derived2::serialize(
-    test_oarchive & ar,
-    const unsigned int version
-);
-template void polymorphic_derived2::serialize(
-    test_iarchive & ar,
-    const unsigned int version
-);
-
-// save derived polymorphic class
-void save_derived(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os);
-
-    polymorphic_derived1 *rd1 = new polymorphic_derived1;
-    polymorphic_derived2 *rd2 = new polymorphic_derived2;
-
-    std::cout << "saving polymorphic_derived1 (no_rtti)\n";
-    oa << BOOST_SERIALIZATION_NVP(rd1);
-
-    std::cout << "saving polymorphic_derived2\n";
-    oa << BOOST_SERIALIZATION_NVP(rd2);
-
-    const polymorphic_base *rb1 =  rd1;
-    polymorphic_base *rb2 =  rd2;
-    std::cout << "saving polymorphic_derived1 (no_rtti) through base (no_rtti)\n";
-    oa << BOOST_SERIALIZATION_NVP(rb1);
-    std::cout << "saving polymorphic_derived2 through base\n";
-    oa << BOOST_SERIALIZATION_NVP(rb2);
-
-    delete rd1;
-    delete rd2;
-}
-
-void load_derived(const char *testfile)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is);
-
-    polymorphic_derived1 *rd1 = NULL;
-    polymorphic_derived2 *rd2 = NULL;
-
-    std::cout << "loading polymorphic_derived1 (no_rtti)\n";
-    ia >> BOOST_SERIALIZATION_NVP(rd1);
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<
-            polymorphic_derived1
-        >::type::get_const_instance()
-        == 
-        * boost::serialization::type_info_implementation<
-            polymorphic_derived1
-        >::type::get_const_instance().get_derived_extended_type_info(*rd1)
-        ,
-        "restored pointer d1 not of correct type"
-    );
-
-    std::cout << "loading polymorphic_derived2\n";
-    ia >> BOOST_SERIALIZATION_NVP(rd2);
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<
-            polymorphic_derived2
-        >::type::get_const_instance()
-        == 
-        * boost::serialization::type_info_implementation<
-            polymorphic_derived2
-        >::type::get_const_instance().get_derived_extended_type_info(*rd2)
-        ,
-        "restored pointer d2 not of correct type"
-    );
-    polymorphic_base *rb1 = NULL;
-    polymorphic_base *rb2 = NULL;
-
-    // the above opereration registers the derived classes as a side
-    // effect.  Hence, instances can now be correctly serialized through
-    // a base class pointer.
-    std::cout << "loading polymorphic_derived1 (no_rtti) through base (no_rtti)\n";
-    ia >> BOOST_SERIALIZATION_NVP(rb1);
-
-    BOOST_CHECK_MESSAGE(
-        rb1 == dynamic_cast<polymorphic_base *>(rd1),
-        "serialized pointers not correctly restored"
-    );
-
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<
-            polymorphic_derived1
-        >::type::get_const_instance()
-        == 
-        * boost::serialization::type_info_implementation<
-            polymorphic_base
-        >::type::get_const_instance().get_derived_extended_type_info(*rb1)
-        ,
-        "restored pointer b1 not of correct type"
-    );
-    std::cout << "loading polymorphic_derived2 through base (no_rtti)\n";
-    ia >> BOOST_SERIALIZATION_NVP(rb2);
-
-    BOOST_CHECK_MESSAGE(
-        rb2 ==  dynamic_cast<polymorphic_base *>(rd2),
-        "serialized pointers not correctly restored"
-    );
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<
-            polymorphic_derived2
-        >::type::get_const_instance()
-        == 
-        * boost::serialization::type_info_implementation<
-            polymorphic_base
-        >::type::get_const_instance().get_derived_extended_type_info(*rb2)
-        ,
-        "restored pointer b2 not of correct type"
-    );
-    delete rb1;
-    delete rb2;
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    
-    BOOST_REQUIRE(NULL != testfile);
-
-    save_derived(testfile);
-    load_derived(testfile);
-
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_non_default_ctor.cpp b/SRC/Boost/libs/serialization/test/test_non_default_ctor.cpp
deleted file mode 100755
index dcbdd0e..0000000
--- a/SRC/Boost/libs/serialization/test/test_non_default_ctor.cpp
+++ /dev/null
@@ -1,198 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_non_default_ctor.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-// this tests:
-// a) non-intrusive method of implementing serialization
-// b) usage of a non-default constructor
-
-#include <cstddef> // NULL
-#include <cstdio>  // remove()
-#include <fstream>
-#include <cstdlib> // for rand()
-#include <cmath> // for fabs()
-#include <limits> 
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::rand; 
-    using ::fabs; 
-    using ::remove;
-#ifndef UNDER_CE    
-    using ::numeric_limits;
-#endif
-}
-#endif
-
-#include <boost/archive/archive_exception.hpp>
-#include "test_tools.hpp"
-
-///////////////////////////////////////////////////////
-// simple class test - using non-intrusive syntax
-// illustrates the usage of the non-intrusve syntax
-class A
-{
-    friend class boost::serialization::access;
-
-    // note const values can only be initialized with a non
-    // non-default constructor
-    const int i;
-
-    signed char s;
-    unsigned char t;
-    signed int u;
-    unsigned int v;
-    float w;
-    double x;
-    bool operator==(const A & rhs) const;
-    bool operator<(const A & rhs) const;
-
-    template<class Archive>
-    void serialize(Archive & ar,const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_NVP(s);
-        ar & BOOST_SERIALIZATION_NVP(t);
-        ar & BOOST_SERIALIZATION_NVP(u);
-        ar & BOOST_SERIALIZATION_NVP(v);
-        ar & BOOST_SERIALIZATION_NVP(w);
-        ar & BOOST_SERIALIZATION_NVP(x);
-    }
-    A(const A & rhs);
-    A & operator=(const A & rhs);
-public:
-    static int count;
-    const int & get_i() const {
-        return i;
-    }
-    A(int i_);
-    ~A();
-};
-
-int A::count = 0;
-
-A::A(int i_) : 
-    i(i_),
-    s(static_cast<signed char>(0xff & std::rand())),
-    t(static_cast<signed char>(0xff & std::rand())),
-    u(std::rand()),
-    v(std::rand()),
-    w((float)std::rand() / std::rand()),
-    x((double)std::rand() / std::rand())
-{
-    ++count;
-}
-
-A::~A(){
-    --count;
-}
-
-bool A::operator==(const A &rhs) const
-{
-    return
-        s == rhs.s 
-        && t == rhs.t 
-        && u == rhs.u 
-        && v == rhs.v 
-        && std::fabs(w - rhs.w) <= std::numeric_limits<float>::round_error()
-        && std::fabs(x - rhs.x) <= std::numeric_limits<float>::round_error()
-    ;
-}
-
-bool A::operator<(const A &rhs) const
-{
-    if(! (s == rhs.s) )
-        return s < rhs.s;
-    if(! (t == rhs.t) )
-        return t < rhs.t;
-    if(! (u == rhs.u) )
-        return t < rhs.u; 
-    if(! (v == rhs.v) )
-        return t < rhs.v;
-    if(! (std::fabs(w - rhs.w) < std::numeric_limits<float>::round_error() ) )
-        return t < rhs.w; 
-    if(! (std::fabs(x - rhs.x) < std::numeric_limits<float>::round_error() ) )
-        return t < rhs.x;
-    return false;
-}
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive>
-inline void save_construct_data(
-    Archive & ar, 
-    const A * a, 
-    const BOOST_PFTO unsigned int /* file_version */
-){
-    // variable used for construction
-    ar << boost::serialization::make_nvp("i", a->get_i());
-}
-
-template<class Archive>
-inline void load_construct_data(
-    Archive & ar, 
-    A * a, 
-    const unsigned int /* file_version */
-){
-    int i;
-    ar >> boost::serialization::make_nvp("i", i);
-    ::new(a)A(i);
-}
-
-} // serialization
-} // namespace boost
-
-void save(const char * testfile){
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    A a(2);
-
-    oa << BOOST_SERIALIZATION_NVP(a);
-    
-    // save a copy pointer to this item
-    A *pa1 = &a;
-    oa << BOOST_SERIALIZATION_NVP(pa1);
-
-    // save pointer to a new object
-    A *pa2 = new A(4);
-    oa << BOOST_SERIALIZATION_NVP(pa2);
-
-    delete pa2;
-}
-void load(const char * testfile){
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-
-    A a(4);
-    ia >> BOOST_SERIALIZATION_NVP(a);
-
-    A *pa1;
-    ia >> BOOST_SERIALIZATION_NVP(pa1);
-    BOOST_CHECK_MESSAGE(pa1 == &a, "Copy of pointer not correctly restored");
-
-    A *pa2;
-    ia >> BOOST_SERIALIZATION_NVP(pa2);
-    BOOST_CHECK_MESSAGE(pa2 != &a, "Pointer not correctly restored");
-
-    delete pa2;
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    save(testfile);
-    load(testfile);
-    BOOST_CHECK(0 == A::count);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_non_default_ctor2.cpp b/SRC/Boost/libs/serialization/test/test_non_default_ctor2.cpp
deleted file mode 100755
index b32ce1e..0000000
--- a/SRC/Boost/libs/serialization/test/test_non_default_ctor2.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_non_default_ctor2.cpp
-
-// (C) Copyright 2002 Martin Ecker. 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-// this tests complex usage of non-default constructor.  Specifically
-// the case where a constructor serializes a pointer member.
-
-#include <fstream>
-
-#include <boost/config.hpp>
-
-#include "test_tools.hpp"
-
-class IntValueHolder
-{
-public:
-    IntValueHolder()
-        : value(0)
-    {}
-
-    IntValueHolder(int newvalue)
-        : value(newvalue)
-    {}
-
-    int GetValue() const { return value; }
-
-private:
-    int value;
-
-    friend class boost::serialization::access;
-
-    template <class ArchiveT>
-    void serialize(ArchiveT& ar, const unsigned int /* file_version */)
-    {
-        ar & BOOST_SERIALIZATION_NVP(value);
-    }
-};
-
-class FloatValueHolder
-{
-public:
-    FloatValueHolder()
-        : value(0)
-    {}
-
-    FloatValueHolder(float newvalue)
-        : value(newvalue)
-    {}
-
-    float GetValue() const { return value; }
-
-private:
-    float value;
-
-    friend class boost::serialization::access;
-
-    template <class ArchiveT>
-    void serialize(ArchiveT& ar, const unsigned int /* file_version */)
-    {
-        ar & BOOST_SERIALIZATION_NVP(value);
-    }
-};
-
-class A
-{
-public:
-    A(const IntValueHolder& initialValue)
-        : value(initialValue), floatValue(new FloatValueHolder(10.0f))
-    {}
-
-    ~A()
-    {
-        delete floatValue;
-    }
-
-    IntValueHolder value;
-    FloatValueHolder* floatValue;
-
-private:
-    friend class boost::serialization::access;
-
-    template <class ArchiveT>
-    void serialize(ArchiveT& ar, const unsigned int /* file_version */)
-    {
-        ar & BOOST_SERIALIZATION_NVP(floatValue);
-    }
-};
-
-namespace boost { 
-namespace serialization {
-
-template <class ArchiveT>
-void save_construct_data(
-    ArchiveT& archive, 
-    const A* p, 
-    const BOOST_PFTO unsigned int /*version*/
-){
-    archive & boost::serialization::make_nvp("initialValue", p->value);
-}
-
-template <class ArchiveT>
-void load_construct_data(
-    ArchiveT& archive, 
-    A* p, 
-    const unsigned int /*version*/
-){
-    IntValueHolder initialValue;
-    archive & boost::serialization::make_nvp("initialValue", initialValue);
-
-    ::new (p) A(initialValue);
-}
-
-} // serialization
-} // namespace boost
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    A* a = new A(5);
-
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << BOOST_SERIALIZATION_NVP(a);
-    }
-
-    A* a_new;
-
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> BOOST_SERIALIZATION_NVP(a_new);
-    }
-    delete a;
-    delete a_new;
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_non_intrusive.cpp b/SRC/Boost/libs/serialization/test/test_non_intrusive.cpp
deleted file mode 100755
index 7a2d6e0..0000000
--- a/SRC/Boost/libs/serialization/test/test_non_intrusive.cpp
+++ /dev/null
@@ -1,174 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_non_intrursive.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-// this tests:
-// a) non-intrusive method of implementing serialization
-// b) usage of a non-default constructor
-
-#include <fstream>
-#include <cstdlib> // for rand()
-#include <cstdio>  // remove
-#include <cmath>   // for fabs()
-#include <limits>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::rand;
-    using ::fabs;
-    using ::remove;
-#ifndef UNDER_CE    
-    using ::numeric_limits; 
-#endif
-}
-#endif
-
-#include <boost/archive/archive_exception.hpp>
-#include "test_tools.hpp"
-
-///////////////////////////////////////////////////////
-// simple class test - using non-intrusive syntax
-// illustrates the usage of the non-intrusve syntax
-class A
-{
-public:
-    signed char s;
-    unsigned char t;
-    signed int u;
-    unsigned int v;
-    float w;
-    double x;
-    A();
-    bool operator==(const A & rhs) const;
-    bool operator<(const A & rhs) const;
-};
-
-A::A() : 
-    s(static_cast<signed char>(0xff & std::rand())),
-    t(static_cast<signed char>(0xff & std::rand())),
-    u(std::rand()),
-    v(std::rand()),
-    w((float)std::rand() / std::rand()),
-    x((double)std::rand() / std::rand())
-{
-}
-
-bool A::operator==(const A &rhs) const
-{
-    return
-        s == rhs.s 
-        && t == rhs.t 
-        && u == rhs.u 
-        && v == rhs.v 
-        && std::fabs(w - rhs.w) <= std::numeric_limits<float>::round_error()
-        && std::fabs(x - rhs.x) <= std::numeric_limits<float>::round_error()
-    ;
-}
-
-bool A::operator<(const A &rhs) const
-{
-    if(! (s == rhs.s) )
-        return s < rhs.s;
-    if(! (t == rhs.t) )
-        return t < rhs.t;
-    if(! (u == rhs.u) )
-        return t < rhs.u; 
-    if(! (v == rhs.v) )
-        return t < rhs.v;
-    if(! (std::fabs(w - rhs.w) < std::numeric_limits<float>::round_error() ) )
-        return t < rhs.w; 
-    if(! (std::fabs(x - rhs.x) < std::numeric_limits<float>::round_error() ) )
-        return t < rhs.x;
-    return false;
-}
-
-// note the following:
-
-// function specializations must be defined in the appropriate
-// namespace - boost::serialization
-namespace boost { 
-namespace serialization {
-
-// This first set of overrides should work with all compilers.
-
-// The last argument is int while the default versions
-// defined in serialization.hpp have long as the last argument.
-// This is part of the work around for compilers that don't 
-// support correct function template ordering.  These functions
-// are always called with 0 (i.e. an int) as the last argument.
-// Our specialized versions also have int as the last argument
-// while the default versions have a long as the last argument.
-// This makes our specialized versions a better match than the
-// default ones as no argument conversion is required to make a match
-template<class Archive>
-void serialize(
-    Archive & ar, 
-    A & a, 
-    const unsigned int /* file_version */
-){
-    ar & boost::serialization::make_nvp("s", a.s);
-    ar & boost::serialization::make_nvp("t", a.t);
-    ar & boost::serialization::make_nvp("u", a.u);
-    ar & boost::serialization::make_nvp("v", a.v);
-    ar & boost::serialization::make_nvp("w", a.w);
-    ar & boost::serialization::make_nvp("x", a.x);
-}
-
-} // serialization
-} // namespace boost
-
-void save(const char * testfile){
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    A a;
-
-    oa << BOOST_SERIALIZATION_NVP(a);
-    
-    // save a copy pointer to this item
-    A *pa1 = &a;
-    oa << BOOST_SERIALIZATION_NVP(pa1);
-
-    // save pointer to a new object
-    A *pa2 = new A();
-    oa << BOOST_SERIALIZATION_NVP(pa2);
-
-    delete pa2;
-}
-
-void load(const char * testfile){
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-
-    A a;
-    ia >> BOOST_SERIALIZATION_NVP(a);
-
-    A *pa1;
-    ia >> BOOST_SERIALIZATION_NVP(pa1);
-    BOOST_CHECK_MESSAGE(pa1 == &a, "Copy of pointer not correctly restored");
-
-    A *pa2;
-    ia >> BOOST_SERIALIZATION_NVP(pa2);
-    BOOST_CHECK_MESSAGE(pa2 != &a, "Pointer not correctly restored");
-
-    delete pa2;
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    save(testfile);
-    load(testfile);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_not_serializable.cpp b/SRC/Boost/libs/serialization/test/test_not_serializable.cpp
deleted file mode 100755
index 4470e93..0000000
--- a/SRC/Boost/libs/serialization/test/test_not_serializable.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_non_serializable.cpp: test implementation level trait
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// test implementation level "not_serializable"
-// should fail compilation
-
-#include <fstream>
-
-#include "test_tools.hpp"
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/nvp.hpp>
-
-class A
-{
-};
-
-BOOST_CLASS_IMPLEMENTATION(A, boost::serialization::not_serializable)
-
-void out(A & a)
-{
-    test_ostream os("testfile", TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    oa << BOOST_SERIALIZATION_NVP(a);
-}
-
-void in(A & a)
-{
-    test_istream is("testfile", TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    ia >> BOOST_SERIALIZATION_NVP(a);
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    A a;
-    out(a);
-    in(a);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_null_ptr.cpp b/SRC/Boost/libs/serialization/test/test_null_ptr.cpp
deleted file mode 100755
index e4f098b..0000000
--- a/SRC/Boost/libs/serialization/test/test_null_ptr.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_null_ptr.cpp: test implementation level trait
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-#include <boost/serialization/base_object.hpp>
-
-class polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & /* ar */, const unsigned int /* file_version */){
-    }
-public:
-    virtual ~polymorphic_base(){};
-};
-
-class polymorphic_derived1 : public polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-    }
-};
-
-// save unregistered polymorphic classes
-void save(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_base *rb1 =  NULL;
-    polymorphic_derived1 *rd1 = NULL;
-    
-    oa << BOOST_SERIALIZATION_NVP(rb1);
-    oa << BOOST_SERIALIZATION_NVP(rd1);
-}
-
-// load unregistered polymorphic classes
-void load(const char *testfile)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_derived1 dummy;
-
-    polymorphic_base *rb1 = & dummy;
-    polymorphic_derived1 *rd1 = & dummy;
-
-    ia >> BOOST_SERIALIZATION_NVP(rb1);
-    BOOST_CHECK_MESSAGE(NULL == rb1, "Null pointer not restored");
-
-    ia >> BOOST_SERIALIZATION_NVP(rd1);
-    BOOST_CHECK_MESSAGE(NULL == rd1, "Null pointer not restored");
-
-    delete rb1;
-    delete rd1;
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    save(testfile);
-    load(testfile);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_nvp.cpp b/SRC/Boost/libs/serialization/test/test_nvp.cpp
deleted file mode 100755
index 8ca1226..0000000
--- a/SRC/Boost/libs/serialization/test/test_nvp.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_nvp.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/nvp.hpp>
-
-#include "B.hpp"
-#include "A.ipp"
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    B b, b1;
-
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << BOOST_SERIALIZATION_NVP(b);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> BOOST_SERIALIZATION_NVP(b1);
-    }
-    BOOST_CHECK(b == b1);
-
-    B *bptr = &b;
-    B *bptr1;
-
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << BOOST_SERIALIZATION_NVP(bptr);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> BOOST_SERIALIZATION_NVP(bptr1);
-    }
-    BOOST_CHECK(b == *bptr1);
-
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_object.cpp b/SRC/Boost/libs/serialization/test/test_object.cpp
deleted file mode 100755
index a643534..0000000
--- a/SRC/Boost/libs/serialization/test/test_object.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_object.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// test implementation level "object_serializable"
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/nvp.hpp>
-
-class A
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & /* ar */, const unsigned int /* file_version */){
-    }
-};
-
-BOOST_CLASS_IMPLEMENTATION(A, boost::serialization::object_serializable)
-
-// note: version can be assigned only to objects whose implementation
-// level is object_class_info.  So, doing the following will result in
-// a static assertion
-// BOOST_CLASS_VERSION(A, 2);
-
-void out(const char *testfile, A & a)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    oa << BOOST_SERIALIZATION_NVP(a);
-}
-
-void in(const char *testfile, A & a)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    ia >> BOOST_SERIALIZATION_NVP(a);
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    A a;
-    out(testfile, a);
-    in(testfile, a);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_optional.cpp b/SRC/Boost/libs/serialization/test/test_optional.cpp
deleted file mode 100755
index 020672e..0000000
--- a/SRC/Boost/libs/serialization/test/test_optional.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_optional.cpp
-
-// (C) Copyright 2004 Pavel Vozenilek
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-
-#include <boost/archive/archive_exception.hpp>
-#include "test_tools.hpp"
-
-#include <boost/serialization/optional.hpp>
-
-#include "A.hpp"
-#include "A.ipp"
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    const boost::optional<int> aoptional1;
-    const boost::optional<int> aoptional2(123);
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("aoptional1",aoptional1);
-        oa << boost::serialization::make_nvp("aoptional2",aoptional2);
-    }
-
-    boost::optional<int> aoptional1a(999);
-    boost::optional<int> aoptional2a;
-
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("aoptional1",aoptional1a);
-        ia >> boost::serialization::make_nvp("aoptional2",aoptional2a);
-    }
-    BOOST_CHECK(aoptional1 == aoptional1a);
-    BOOST_CHECK(aoptional2 == aoptional2a);
-    
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_pimpl.cpp b/SRC/Boost/libs/serialization/test/test_pimpl.cpp
deleted file mode 100755
index fd9ccdc..0000000
--- a/SRC/Boost/libs/serialization/test/test_pimpl.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_pimpl.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <boost/compatibility/cpp_c_headers/cstdio> // for tmpnam
-
-#include <fstream>
-#include <boost/serialization/nvp.hpp>
-
-#include "test_tools.hpp"
-
-class B;
-
-class A {
-^    friend boost::serialization::access;
-^    B *pimpl;
-^    template<class Archive>
-^    void serialize(Archive & ar, const unsigned int file_version);
-};
-
-int test_main( int argc, char* argv[] )
-{
-    char testfile[TMP_MAX];
-    std::tmpnam(testfile);
-//    BOOST_REQUIRE(NULL != testfile);
-
-    A a, a1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os);
-        oa << BOOST_SERIALIZATION_NVP(a);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is);
-        BOOST_SERIALIZATION_NVP(a1);
-    }
-//    BOOST_CHECK(a != a1);
-    return 0;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_polymorphic.cpp b/SRC/Boost/libs/serialization/test/test_polymorphic.cpp
deleted file mode 100755
index 98dd58b..0000000
--- a/SRC/Boost/libs/serialization/test/test_polymorphic.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_polymorphic.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-// the following is to ensure that when one of the libraries changes
-// BJAM rebuilds and relinks the test.
-/*
-#include "polymorphic_text_archive.hpp"
-#include "polymorphic_text_warchive.hpp"
-#include "polymorphic_binary_archive.hpp"
-#include "polymorphic_xml_archive.hpp"
-#include "polymorphic_xml_warchive.hpp"
-*/
-
-#include "test_tools.hpp"
-
-#include <boost/archive/polymorphic_oarchive.hpp>
-#include <boost/archive/polymorphic_iarchive.hpp>
-
-#include <boost/serialization/nvp.hpp>
-#include "test_polymorphic_A.hpp"
-
-int test_main(int /* argc */, char * /* argv */ [])
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    const data d;
-    data d1;
-    // test using using polymorphic interface
-    {
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
-        boost::archive::polymorphic_oarchive & oa_interface = oa_implementation;
-        oa_interface << BOOST_SERIALIZATION_NVP(d);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive  ia_implementation(is, TEST_ARCHIVE_FLAGS);
-        boost::archive::polymorphic_iarchive & ia_interface = ia_implementation;
-        ia_interface >> BOOST_SERIALIZATION_NVP(d1);
-    }
-    BOOST_CHECK(d == d1);
-    std::remove(testfile);
-
-    // test using using polymorphic implementation.
-    {
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
-        oa_implementation << BOOST_SERIALIZATION_NVP(d);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive  ia_implementation(is, TEST_ARCHIVE_FLAGS);
-        ia_implementation >> BOOST_SERIALIZATION_NVP(d1);
-    }
-    BOOST_CHECK(d == d1);
-    std::remove(testfile);
-
-    // test using using polymorphic implementation.
-    {
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        boost::archive::polymorphic_oarchive * oa_implementation 
-            = new test_oarchive(os, TEST_ARCHIVE_FLAGS);
-        *oa_implementation << BOOST_SERIALIZATION_NVP(d);
-        delete oa_implementation;
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        boost::archive::polymorphic_iarchive * ia_implementation
-            = new test_iarchive(is, TEST_ARCHIVE_FLAGS);
-        *ia_implementation >> BOOST_SERIALIZATION_NVP(d1);
-        delete ia_implementation;
-    }
-    BOOST_CHECK(d == d1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_polymorphic2.cpp b/SRC/Boost/libs/serialization/test/test_polymorphic2.cpp
deleted file mode 100755
index ad7f787..0000000
--- a/SRC/Boost/libs/serialization/test/test_polymorphic2.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_polymorphic2.cpp
-
-// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-#include <fstream>
-
-#include "test_tools.hpp"
-
-#include "test_polymorphic2.hpp"
-
-int test_main(int /*argc*/, char* /*argv*/[])
-{
-    A *a = new B();
-    a->i = 3;
-
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    {
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
-        boost::archive::polymorphic_oarchive & opa = oa_implementation;
-        opa << BOOST_SERIALIZATION_NVP(a);
-    }
-    A *loaded = 0;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia_implementation(is, TEST_ARCHIVE_FLAGS);
-        boost::archive::polymorphic_iarchive & ipa = ia_implementation;
-        ipa >> BOOST_SERIALIZATION_NVP(loaded);
-    }
-    BOOST_CHECK(a->i == loaded->i);
-    delete a;
-    delete loaded;
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_polymorphic2.hpp b/SRC/Boost/libs/serialization/test/test_polymorphic2.hpp
deleted file mode 100755
index 4f57852..0000000
--- a/SRC/Boost/libs/serialization/test/test_polymorphic2.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_polymorphic2.hpp
-
-// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-namespace boost {
-namespace archive {
-    class polymorphic_oarchive;
-    class polymorphic_iarchive;
-}
-}
-
-struct A {
-public:
-    A() {}
-    virtual ~A() {}
-
-    void serialize(
-        boost::archive::polymorphic_oarchive &ar, 
-        const unsigned int /*version*/
-    );
-    void serialize(
-        boost::archive::polymorphic_iarchive &ar, 
-        const unsigned int /*version*/
-    );
-
-    int i;
-};
-
-struct B : A {
-    void serialize(
-        boost::archive::polymorphic_oarchive &ar, 
-        const unsigned int /*version*/
-    );
-    void serialize(
-        boost::archive::polymorphic_iarchive &ar, 
-        const unsigned int /*version*/
-    );
-};
diff --git a/SRC/Boost/libs/serialization/test/test_polymorphic2imp.cpp b/SRC/Boost/libs/serialization/test/test_polymorphic2imp.cpp
deleted file mode 100755
index 0d2c6d3..0000000
--- a/SRC/Boost/libs/serialization/test/test_polymorphic2imp.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_polymorphic2imp.cpp
-
-// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <boost/serialization/export.hpp>
-#include <boost/archive/polymorphic_oarchive.hpp>
-#include <boost/archive/polymorphic_iarchive.hpp>
-
-#include "test_polymorphic2.hpp"
-
-void A::serialize(
-    boost::archive::polymorphic_oarchive &ar, 
-    const unsigned int /*version*/
-){
-    ar & BOOST_SERIALIZATION_NVP(i);
-}
-void A::serialize(
-    boost::archive::polymorphic_iarchive &ar, 
-    const unsigned int /*version*/
-){
-    ar & BOOST_SERIALIZATION_NVP(i);
-}
-// note: only the most derived classes need be exported
-// BOOST_CLASS_EXPORT(A)
-
-void B::serialize(
-    boost::archive::polymorphic_oarchive &ar, 
-    const unsigned int /*version*/
-){
-    ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-}
-void B::serialize(
-    boost::archive::polymorphic_iarchive &ar, 
-    const unsigned int /*version*/
-){
-    ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-}
-BOOST_CLASS_EXPORT(B)
diff --git a/SRC/Boost/libs/serialization/test/test_polymorphic_A.cpp b/SRC/Boost/libs/serialization/test/test_polymorphic_A.cpp
deleted file mode 100755
index 434ab7f..0000000
--- a/SRC/Boost/libs/serialization/test/test_polymorphic_A.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_polymorphic_A.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test_polymorphic_A.hpp"
-#include <boost/serialization/nvp.hpp>
-
-#include "A.hpp"
-#include "A.ipp"
-
-data::data() :
-    a(new A)
-{}
-data::~data(){
-    delete a;
-}
-
-bool data::operator==(const data & rhs) const {
-    return * (a) == *(rhs.a);
-}
-
-#if 0 // this method fails with msvc 6.0 and borland
-// now we can define the serialization for class A
-template<class Archive>
-void data::serialize(Archive & ar, const unsigned int /* file_version */){
-    ar & BOOST_SERIALIZATION_NVP(a);
-}
-
-// without the explicit instantiations below, the program will
-// fail to link for lack of instantiantiation of the above function
-// note: the following failed to fix link errors for vc 7.0 !
-#include <boost/archive/polymorphic_oarchive.hpp>
-
-template void data::serialize<boost::archive::polymorphic_oarchive>(
-    boost::archive::polymorphic_oarchive & ar, 
-    const unsigned int file_version
-);
-
-#include <boost/archive/polymorphic_iarchive.hpp>
-
-template void data::serialize<boost::archive::polymorphic_iarchive>(
-    boost::archive::polymorphic_iarchive & ar, 
-    const unsigned int file_version
-);
-#endif
-
-// so use this
-void data::serialize(boost::archive::polymorphic_oarchive & ar, const unsigned int /* file_version */){
-    ar & BOOST_SERIALIZATION_NVP(a);
-}
-
-void data::serialize(boost::archive::polymorphic_iarchive & ar, const unsigned int /* file_version */){
-    ar & BOOST_SERIALIZATION_NVP(a);
-}
diff --git a/SRC/Boost/libs/serialization/test/test_polymorphic_A.hpp b/SRC/Boost/libs/serialization/test/test_polymorphic_A.hpp
deleted file mode 100755
index 51e850e..0000000
--- a/SRC/Boost/libs/serialization/test/test_polymorphic_A.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_polymorphic_A.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// class whose declaration is hidden by a pointer
-// #include <boost/serialization/scoped_ptr.hpp>
-
-#include <boost/archive/polymorphic_oarchive.hpp>
-#include <boost/archive/polymorphic_iarchive.hpp>
-
-class A;
-
-struct data {
-    // class a contains a pointer to a "hidden" declaration
-    // borland scoped_ptr doesn't work !!!
-    // boost::scoped_ptr<A> a;
-    A * a;
-//    template<class Archive>
-//    void serialize(Archive & ar, const unsigned int file_version);
-    void serialize(boost::archive::polymorphic_oarchive & ar, const unsigned int file_version);
-    void serialize(boost::archive::polymorphic_iarchive & ar, const unsigned int file_version);
-    data();
-    ~data();
-    bool operator==(const data & rhs) const;
-};
-
diff --git a/SRC/Boost/libs/serialization/test/test_primitive.cpp b/SRC/Boost/libs/serialization/test/test_primitive.cpp
deleted file mode 100755
index d26c7e5..0000000
--- a/SRC/Boost/libs/serialization/test/test_primitive.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_primitive.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// test implementation level "primitive_type"
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/nvp.hpp>
-
-struct A
-{
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        // note: should never fail here
-        BOOST_STATIC_ASSERT(0 == sizeof(Archive));
-    }
-};
-
-std::ostream & operator<<(std::ostream &os, const A & /* a */){ return os;}
-std::istream & operator>>(std::istream &is, A & /* a */){return is;}
-
-#ifndef BOOST_NO_STD_WSTREAMBUF
-std::wostream & operator<<(std::wostream &os, const A & /* a */){ return os;}
-std::wistream & operator>>(std::wistream &is, A & /* a */){return is;}
-#endif
-
-BOOST_CLASS_IMPLEMENTATION(A, boost::serialization::primitive_type)
-
-void out(const char *testfile, A & a)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    oa << BOOST_SERIALIZATION_NVP(a);
-}
-
-void in(const char *testfile, A & a)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    ia >> BOOST_SERIALIZATION_NVP(a);
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    A a;
-    out(testfile, a);
-    in(testfile, a);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_private_base.cpp b/SRC/Boost/libs/serialization/test/test_private_base.cpp
deleted file mode 100755
index 58db0a7..0000000
--- a/SRC/Boost/libs/serialization/test/test_private_base.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_private_base.cpp
-
-// (C) Copyright 2009 Eric Moyer - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-// invoke header for a custom archive test.
-
-#include <fstream>
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/export.hpp>
-
-#include "test_tools.hpp"
-
-class Base {
-    friend class boost::serialization::access;
-    int m_i;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version){
-        ar & m_i;
-    }
-protected:
-    bool operator==(const Base &rhs) const {
-        return m_i == rhs.m_i;
-    }
-    Base(int i = 0) :
-        m_i(i)
-    {}
-    virtual ~Base();
-};
-
-class Derived :  public Base {
-    friend class boost::serialization::access;
-private:
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int version){
-        ar & boost::serialization::base_object<Base>(*this);
-    }
-public:
-    bool operator==(const Derived &rhs) const {
-        return Base::operator==(rhs);
-    }
-    Derived(int i = 0) :
-        Base(i)
-    {}
-};
-
-BOOST_CLASS_EXPORT(Derived)
-
-int 
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    Derived a(1), a1(2);
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("a", a);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("a", a1);
-    }
-    BOOST_CHECK_EQUAL(a, a1);
-    std::remove(testfile);
-
-    Base *ta = new Derived(1);
-    Base *ta1 = NULL;
-
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("ta", ta);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("ta", ta1);
-    }
-    BOOST_CHECK(ta != ta1);
-    BOOST_CHECK(*static_cast<Derived *>(ta) == *static_cast<Derived *>(ta1));
-    std::remove(testfile);
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_private_ctor.cpp b/SRC/Boost/libs/serialization/test/test_private_ctor.cpp
deleted file mode 100755
index ea6fa63..0000000
--- a/SRC/Boost/libs/serialization/test/test_private_ctor.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_private_ctor.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <sstream>
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/vector.hpp>
-
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/text_oarchive.hpp>
-
-class V {
-    friend int test_main(int /* argc */, char * /* argv */[]);
-    friend class boost::serialization::access;
-    int m_i;    
-    V() :
-        m_i(0)
-    {}
-    ~V(){}
-    template<class Archive>
-    void serialize(Archive& ar, unsigned /*version*/)
-    {
-        ar & m_i;
-    }
-    bool operator==(const V & v) const {
-        return m_i == v.m_i;
-    }
-};
-
-int test_main(int /* argc */, char * /* argv */[])
-{
-    std::stringstream ss;
-    const V v;
-    {
-        boost::archive::text_oarchive oa(ss);
-        oa << v;
-    }
-    V v1;
-    {
-        boost::archive::text_iarchive ia(ss);
-        ia >> v1;
-    }
-    BOOST_CHECK(v == v1);
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_recursion.cpp b/SRC/Boost/libs/serialization/test/test_recursion.cpp
deleted file mode 100755
index 89a39f0..0000000
--- a/SRC/Boost/libs/serialization/test/test_recursion.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_recurrsion.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include "J.hpp"
-#include "A.ipp"
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    // test recursive structure
-    J j, j1;
-    j.j = &j;
-
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << BOOST_SERIALIZATION_NVP(j);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> BOOST_SERIALIZATION_NVP(j1);
-    }
-    BOOST_CHECK(j == j1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_registered.cpp b/SRC/Boost/libs/serialization/test/test_registered.cpp
deleted file mode 100755
index a349efc..0000000
--- a/SRC/Boost/libs/serialization/test/test_registered.cpp
+++ /dev/null
@@ -1,239 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_registered.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/archive/archive_exception.hpp>
-#include "test_tools.hpp"
-
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-
-class polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & /* ar */, const unsigned int /* file_version */){
-    }
-public:
-    virtual ~polymorphic_base(){};
-};
-
-class polymorphic_derived1 : public polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-    }
-};
-
-class polymorphic_derived2 : public polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-    }
-};
-
-// save derived polymorphic class
-void save_derived(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_derived1 *rd1 = new polymorphic_derived1;
-    polymorphic_derived2 *rd2 = new polymorphic_derived2;
-
-    // registration IS necessary when serializing pointers of
-    // polymorphic classes
-    oa.register_type(static_cast<polymorphic_derived1 *>(NULL));
-    oa.register_type(static_cast<polymorphic_derived2 *>(NULL));
-    oa << BOOST_SERIALIZATION_NVP(rd1);
-    oa << BOOST_SERIALIZATION_NVP(rd2);
-
-    // the above opereration registers the derived classes as a side
-    // effect.  Hence, instances can now be correctly serialized through
-    // a base class pointer.
-    polymorphic_base *rb1 =  rd1;
-    polymorphic_base *rb2 =  rd2;
-    oa << BOOST_SERIALIZATION_NVP(rb1);
-    oa << BOOST_SERIALIZATION_NVP(rb2);
-
-    delete rd1;
-    delete rd2;
-}
-
-// save derived polymorphic class
-void load_derived(const char *testfile)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_derived1 *rd1 = NULL;
-    polymorphic_derived2 *rd2 = NULL;
-
-    // registration IS necessary when serializing pointers of
-    // polymorphic classes
-    ia.register_type(static_cast<polymorphic_derived1 *>(NULL));
-    ia.register_type(static_cast<polymorphic_derived2 *>(NULL));
-
-    ia >> BOOST_SERIALIZATION_NVP(rd1);
-
-    const boost::serialization::extended_type_info * p1;
-    p1 = & boost::serialization::type_info_implementation<polymorphic_derived1>
-        ::type::get_const_instance();
-
-    BOOST_CHECK(NULL != p1);
-
-    const boost::serialization::extended_type_info * p2;
-    p2 = boost::serialization::type_info_implementation<polymorphic_derived1>
-        ::type::get_const_instance().get_derived_extended_type_info(*rd1);
-
-    BOOST_CHECK(NULL != p2);
-
-    BOOST_CHECK_MESSAGE(p1 == p2, "restored pointer d1 not of correct type");
-
-    ia >> BOOST_SERIALIZATION_NVP(rd2);
-
-    BOOST_CHECK_MESSAGE(
-        & boost::serialization::type_info_implementation<polymorphic_derived2>
-            ::type::get_const_instance()
-        == 
-        boost::serialization::type_info_implementation<polymorphic_derived2>
-            ::type::get_const_instance().get_derived_extended_type_info(*rd2),
-        "restored pointer d2 not of correct type"
-    );
-
-    polymorphic_base *rb1 = NULL;
-    polymorphic_base *rb2 = NULL;
-
-    // the above opereration registers the derived classes as a side
-    // effect.  Hence, instances can now be correctly serialized through
-    // a base class pointer.
-    ia >> BOOST_SERIALIZATION_NVP(rb1);
-
-    BOOST_CHECK_MESSAGE(
-        rb1 == dynamic_cast<polymorphic_base *>(rd1),
-        "serialized pointers not correctly restored"
-    );
-
-    p1 = & boost::serialization::type_info_implementation<polymorphic_derived1>
-        ::type::get_const_instance();
-
-    BOOST_CHECK(NULL != p1);
-
-    p2 = boost::serialization::type_info_implementation<polymorphic_base>
-        ::type::get_const_instance().get_derived_extended_type_info(*rb1);
-
-    BOOST_CHECK(NULL != p2);
-
-    BOOST_CHECK_MESSAGE(p1 == p2, "restored pointer b1 not of correct type");
-
-    ia >> BOOST_SERIALIZATION_NVP(rb2);
-
-    BOOST_CHECK_MESSAGE(
-        rb2 ==  dynamic_cast<polymorphic_base *>(rd2),
-        "serialized pointers not correctly restored"
-    );
-
-    BOOST_CHECK_MESSAGE(
-        & boost::serialization::type_info_implementation<polymorphic_derived2>
-            ::type::get_const_instance()
-        == boost::serialization::type_info_implementation<polymorphic_base>
-            ::type::get_const_instance().get_derived_extended_type_info(*rb2),
-        "restored pointer b2 not of correct type"
-    );
-
-    delete rb1;
-    delete rb2;
-}
-
-// save registered polymorphic class
-void save_registered(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_base *rb1 = new polymorphic_derived1;
-    polymorphic_base *rb2 = new polymorphic_derived2;
-
-    // registration (forward declaration) will permit correct serialization
-    // through a pointer to a base class
-    oa.register_type(static_cast<polymorphic_derived1 *>(NULL));
-    oa.register_type(static_cast<polymorphic_derived2 *>(NULL));
-    oa << BOOST_SERIALIZATION_NVP(rb1) << BOOST_SERIALIZATION_NVP(rb2);
-
-    delete rb1;
-    delete rb2;
-}
-
-// save registered polymorphic class
-void load_registered(const char *testfile)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_base *rb1 = NULL;
-    polymorphic_base *rb2 = NULL;
-
-    // registration (forward declaration) will permit correct serialization
-    // through a pointer to a base class
-    ia.register_type(static_cast<polymorphic_derived1 *>(NULL));
-    ia.register_type(static_cast<polymorphic_derived2 *>(NULL));
-    ia >> BOOST_SERIALIZATION_NVP(rb1) >> BOOST_SERIALIZATION_NVP(rb2);
-
-    BOOST_CHECK_MESSAGE(
-        & boost::serialization::type_info_implementation<polymorphic_derived1>
-            ::type::get_const_instance()
-        == boost::serialization::type_info_implementation<polymorphic_base>
-            ::type::get_const_instance().get_derived_extended_type_info(*rb1),
-        "restored pointer b1 not of correct type"
-    );
-
-    BOOST_CHECK_MESSAGE(
-        & boost::serialization::type_info_implementation<polymorphic_derived2>
-            ::type::get_const_instance()
-        == boost::serialization::type_info_implementation<polymorphic_base>
-            ::type::get_const_instance().get_derived_extended_type_info(*rb2),
-        "restored pointer b2 not of correct type"
-    );
-
-    delete rb1;
-    delete rb2;
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    
-    BOOST_REQUIRE(NULL != testfile);
-
-    save_derived(testfile);
-    load_derived(testfile);
-    save_registered(testfile);
-    load_registered(testfile);
-
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_reset_object_address.cpp b/SRC/Boost/libs/serialization/test/test_reset_object_address.cpp
deleted file mode 100755
index 84f85de..0000000
--- a/SRC/Boost/libs/serialization/test/test_reset_object_address.cpp
+++ /dev/null
@@ -1,412 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_reset_object_address.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <sstream>
-#include <cassert>
-#include <cstdlib> // for rand()
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::rand; 
-    using ::size_t;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/polymorphic_text_oarchive.hpp>
-#include <boost/archive/polymorphic_text_iarchive.hpp>
-
-#include <boost/serialization/list.hpp>
-#include <boost/serialization/access.hpp>
-
-// Someday, maybe all tests will be converted to the unit test framework.
-// but for now use the text execution monitor to be consistent with all
-// the other tests.
-
-// simple test of untracked value
-#include "A.hpp"
-#include "A.ipp"
-
-void test1(){
-    std::stringstream ss;
-    const A a;
-    {
-        boost::archive::text_oarchive oa(ss);
-        oa << a;
-    }
-    A a1;
-    {
-        boost::archive::text_iarchive ia(ss);
-        // load to temporary
-        A a2;
-        ia >> a2;
-        BOOST_CHECK_EQUAL(a, a2);
-        // move to final destination
-        a1 = a2;
-        ia.reset_object_address(& a1, & a2);
-    }
-    BOOST_CHECK_EQUAL(a, a1);
-}
-
-// simple test of tracked value
-class B {
-    friend class boost::serialization::access;
-    int m_i;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /*file_version*/){
-        ar & m_i;
-    }
-public:
-    bool operator==(const B & rhs) const {
-        return m_i == rhs.m_i;
-    }
-    B() :
-        m_i(std::rand())
-    {}
-};
-
-//BOOST_TEST_DONT_PRINT_LOG_VALUE( B )
-
-void test2(){
-    std::stringstream ss;
-    B const b;
-    B const * const b_ptr = & b;
-    BOOST_CHECK_EQUAL(& b, b_ptr);
-    {
-        boost::archive::text_oarchive oa(ss);
-        oa << b;
-        oa << b_ptr;
-    }
-    B b1;
-    B * b1_ptr;
-    {
-        boost::archive::text_iarchive ia(ss);
-        // load to temporary
-        B b2;
-        ia >> b2;
-        BOOST_CHECK_EQUAL(b, b2);
-        // move to final destination
-        b1 = b2;
-        ia.reset_object_address(& b1, & b2);
-        ia >> b1_ptr;
-    }
-    BOOST_CHECK_EQUAL(b, b1);
-    BOOST_CHECK_EQUAL(& b1, b1_ptr);
-}
-
-// check that nested member values are properly moved
-class D {
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /*file_version*/){
-        ar & m_b;
-    }
-public:
-    B m_b;
-    bool operator==(const D & rhs) const {
-        return m_b == rhs.m_b;
-    }
-    D(){}
-};
-
-//BOOST_TEST_DONT_PRINT_LOG_VALUE( D )
-
-void test3(){
-    std::stringstream ss;
-    D const d;
-    B const * const b_ptr = & d.m_b;
-    {
-        boost::archive::text_oarchive oa(ss);
-        oa << d;
-        oa << b_ptr;
-    }
-    D d1;
-    B * b1_ptr;
-    {
-        boost::archive::text_iarchive ia(ss);
-        D d2;
-        ia >> d2;
-        d1 = d2;
-        ia.reset_object_address(& d1, & d2);
-        ia >> b1_ptr;
-    }
-    BOOST_CHECK_EQUAL(d, d1);
-    BOOST_CHECK_EQUAL(* b_ptr, * b1_ptr);
-}
-
-// check that data pointed to by pointer members is NOT moved
-class E {
-    int m_i;
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /*file_version*/){
-        ar & m_i;
-    }
-public:
-    bool operator==(const E &rhs) const {
-        return m_i == rhs.m_i;
-    }
-    E() :
-        m_i(std::rand())
-    {}
-    E(const E & rhs) :
-        m_i(rhs.m_i)
-    {}
-};
-//BOOST_TEST_DONT_PRINT_LOG_VALUE( E )
-
-// check that moves don't move stuff pointed to
-class F {
-    friend class boost::serialization::access;
-    E * m_eptr;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /*file_version*/){
-        ar & m_eptr;
-    }
-public:
-    bool operator==(const F &rhs) const {
-        return *m_eptr == *rhs.m_eptr;
-    }
-    F & operator=(const F & rhs) {
-        * m_eptr = * rhs.m_eptr;
-        return *this;
-    }
-    F(){
-        m_eptr = new E;
-    }
-    F(const F & rhs){
-        *this = rhs;
-    }
-    ~F(){
-        delete m_eptr;
-    }
-};
-
-//BOOST_TEST_DONT_PRINT_LOG_VALUE( F )
-
-void test4(){
-    std::stringstream ss;
-    const F f;
-    {
-        boost::archive::text_oarchive oa(ss);
-        oa << f;
-    }
-    F f1;
-    {
-        boost::archive::text_iarchive ia(ss);
-        F f2;
-        ia >> f2;
-        f1 = f2;
-        ia.reset_object_address(& f1, & f2);
-    }
-    BOOST_CHECK_EQUAL(f, f1);
-}
-
-// check that multiple moves keep track of the correct target
-class G {
-    friend class boost::serialization::access;
-    A m_a1;
-    A m_a2;
-    A *m_pa2;
-    template<class Archive>
-    void save(Archive &ar, const unsigned int /*file_version*/) const {
-        ar << m_a1;
-        ar << m_a2;
-        ar << m_pa2;
-    }
-    template<class Archive>
-    void load(Archive &ar, const unsigned int /*file_version*/){
-        A a; // temporary A
-        ar >> a;
-        m_a1 = a;
-        ar.reset_object_address(& m_a1, & a);
-        ar >> a;
-        m_a2 = a;
-        ar.reset_object_address(& m_a2, & a);
-        ar & m_pa2;
-    }
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-public:
-    bool operator==(const G &rhs) const {
-        return 
-            m_a1 == rhs.m_a1 
-            && m_a2 == rhs.m_a2
-            && *m_pa2 == *rhs.m_pa2;
-    }
-    G & operator=(const G & rhs) {
-        m_a1 = rhs.m_a1;
-        m_a2 = rhs.m_a2;
-        m_pa2 = & m_a2;
-        return *this;
-    }
-    G(){
-        m_pa2 = & m_a2;
-    }
-    G(const G & rhs){
-        *this = rhs;
-    }
-    ~G(){}
-};
-
-//BOOST_TEST_DONT_PRINT_LOG_VALUE( G )
-
-void test5(){
-    std::stringstream ss;
-    const G g;
-    {
-        boost::archive::text_oarchive oa(ss);
-        oa << g;
-    }
-    G g1;
-    {
-        boost::archive::text_iarchive ia(ss);
-        ia >> g1;
-    }
-    BOOST_CHECK_EQUAL(g, g1);
-}
-
-// joaquin's test - this tests the case where rest_object_address
-// is applied to an item which in fact is not tracked so that 
-// the call is in fact superfluous.
-struct foo
-{
-  int x;
-
-private:
-  friend class boost::serialization::access;
-
-  template<class Archive>
-  void serialize(Archive &,const unsigned int)
-  {
-  }
-};
-
-struct bar
-{
-  foo  f[2];
-  foo* pf[2];
-
-private:
-  friend class boost::serialization::access;
-  BOOST_SERIALIZATION_SPLIT_MEMBER()
-
-  template<class Archive>
-  void save(Archive& ar,const unsigned int)const
-  {
-    for(int i=0;i<2;++i){
-      ar<<f[i].x;
-      ar<<f[i];
-    }
-    for(int j=0;j<2;++j){
-      ar<<pf[j];
-    }
-  }
-
-  template<class Archive>
-  void load(Archive& ar,const unsigned int)
-  {
-    for(int i=0;i<2;++i){
-      int x;
-      ar>>x;
-      f[i].x=x;
-      ar.reset_object_address(&f[i].x,&x);
-      ar>>f[i];
-    }
-    for(int j=0;j<2;++j){
-      ar>>pf[j];
-    }
-  }
-};
-
-int test6()
-{
-  bar b;
-  b.f[0].x=0;
-  b.f[1].x=1;
-  b.pf[0]=&b.f[0];
-  b.pf[1]=&b.f[1];
-
-  std::ostringstream oss;
-  {
-    boost::archive::text_oarchive oa(oss);
-    oa<<const_cast<const bar&>(b);
-  }
-
-  bar b1;
-  b1.pf[0]=0;
-  b1.pf[1]=0;
-
-  std::istringstream iss(oss.str());
-  boost::archive::text_iarchive ia(iss);
-  ia>>b1;
-  BOOST_CHECK(b1.pf[0]==&b1.f[0]&&b1.pf[1]==&b1.f[1]);
-
-  return 0;
-}
-
-// test one of the collections
-void test7(){
-    std::stringstream ss;
-    B const b;
-    B const * const b_ptr = & b;
-    BOOST_CHECK_EQUAL(& b, b_ptr);
-    {
-        std::list<const B *> l;
-        l.push_back(b_ptr);
-        boost::archive::text_oarchive oa(ss);
-        oa << const_cast<const std::list<const B *> &>(l);
-    }
-    B b1;
-    {
-        std::list<B *> l;
-        boost::archive::text_iarchive ia(ss);
-        ia >> l;
-        delete l.front(); // prevent memory leak
-    }
-}
-
-// test one of the collections with polymorphic archive
-void test8(){
-    std::stringstream ss;
-    B const b;
-    B const * const b_ptr = & b;
-    BOOST_CHECK_EQUAL(& b, b_ptr);
-    {
-        std::list<const B *> l;
-        l.push_back(b_ptr);
-        boost::archive::polymorphic_text_oarchive oa(ss);
-        boost::archive::polymorphic_oarchive & poa = oa;
-        poa << const_cast<const std::list<const B *> &>(l);
-    }
-    B b1;
-    {
-        std::list<B *> l;
-        boost::archive::polymorphic_text_iarchive ia(ss);
-        boost::archive::polymorphic_iarchive & pia = ia;
-        pia >> l;
-        delete l.front(); // prevent memory leak
-    }
-}
-
-int test_main(int /* argc */, char * /* argv */[])
-{
-    test1();
-    test2();
-    test3();
-    test4();
-    test5();
-    test6();
-    test7();
-    test8();
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_set.cpp b/SRC/Boost/libs/serialization/test/test_set.cpp
deleted file mode 100755
index b76014c..0000000
--- a/SRC/Boost/libs/serialization/test/test_set.cpp
+++ /dev/null
@@ -1,176 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_set.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULLsize_t
-#include <cstdio> // remove
-#include <fstream>
-
-#include <algorithm>
-#include <vector>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
-    using ::size_t;
-}
-#endif
-
-#include <boost/detail/workaround.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/archive/archive_exception.hpp>
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/set.hpp>
-
-#include "A.hpp"
-#include "A.ipp"
-
-void
-test_set(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    // test array of objects
-    std::set<A> aset;
-    aset.insert(A());
-    aset.insert(A());
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("aset", aset);
-    }
-    std::set<A> aset1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("aset", aset1);
-    }
-    BOOST_CHECK(aset == aset1);
-    std::remove(testfile);    
-}
-
-void
-test_multiset(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    std::multiset<A> amultiset;
-    amultiset.insert(A());
-    amultiset.insert(A());
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("amultiset", amultiset);
-    }
-    std::multiset<A> amultiset1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("amultiset", amultiset1);
-    }
-    BOOST_CHECK(amultiset == amultiset1);
-    std::remove(testfile);
-}
-
-#ifdef BOOST_HAS_HASH
-
-#include <boost/serialization/hash_set.hpp>
-
-namespace BOOST_STD_EXTENSION_NAMESPACE {
-    template<>
-    struct hash<A> {
-        std::size_t operator()(const A& a) const {
-            return (std::size_t)a;
-        }
-    };
-}
-
-void
-test_hash_set(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    // test array of objects
-    BOOST_STD_EXTENSION_NAMESPACE::hash_set<A> ahash_set;
-    A a, a1;
-    ahash_set.insert(a);
-    ahash_set.insert(a1);
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("ahash_set", ahash_set);
-    }
-    BOOST_STD_EXTENSION_NAMESPACE::hash_set<A> ahash_set1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("ahash_set", ahash_set1);
-    }
-    std::vector<A> tvec, tvec1;
-    tvec.clear();
-    tvec1.clear();
-    std::copy(ahash_set.begin(), ahash_set.end(), std::back_inserter(tvec));
-    std::sort(tvec.begin(), tvec.end());
-    std::copy(ahash_set1.begin(), ahash_set1.end(), std::back_inserter(tvec1));
-    std::sort(tvec1.begin(), tvec1.end());
-    BOOST_CHECK(tvec == tvec1);
-    std::remove(testfile);
-}
-
-void
-test_hash_multiset(){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<A> ahash_multiset;
-    ahash_multiset.insert(A());
-    ahash_multiset.insert(A());
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("ahash_multiset", ahash_multiset);
-    }
-    BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<A> ahash_multiset1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("ahash_multiset", ahash_multiset1);
-    }
-
-    std::vector<A> tvec, tvec1;
-    tvec.clear();
-    tvec1.clear();
-    std::copy(ahash_multiset.begin(), ahash_multiset.end(), std::back_inserter(tvec));
-    std::sort(tvec.begin(), tvec.end());
-    std::copy(ahash_multiset1.begin(), ahash_multiset1.end(), std::back_inserter(tvec1));
-    std::sort(tvec1.begin(), tvec1.end());
-    BOOST_CHECK(tvec == tvec1);
-
-    std::remove(testfile);
-}
-#endif
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    test_set();
-    test_multiset();
-    #ifdef BOOST_HAS_HASH
-    test_hash_set();
-    test_hash_multiset();
-    #endif
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_shared_ptr.cpp b/SRC/Boost/libs/serialization/test/test_shared_ptr.cpp
deleted file mode 100755
index 2e2a30d..0000000
--- a/SRC/Boost/libs/serialization/test/test_shared_ptr.cpp
+++ /dev/null
@@ -1,301 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_shared_ptr.cpp
-
-// (C) Copyright 2002 Robert Ramey- http://www.rrsd.com - David Tonge  . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-#include <boost/type_traits/broken_compiler_spec.hpp>
-
-#include <boost/serialization/shared_ptr.hpp>
-#include <boost/serialization/weak_ptr.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/export.hpp>
-
-#include "test_tools.hpp"
-
-// This is a simple class.  It contains a counter of the number
-// of objects of this class which have been instantiated.
-class A
-{
-private:
-    friend class boost::serialization::access;
-    int x;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_NVP(x);
-    }
-    A(A const & rhs);
-    A& operator=(A const & rhs);
-public:
-    static int count;
-    bool operator==(const A & rhs) const {
-        return x == rhs.x;
-    }
-    A(){++count;}    // default constructor
-    virtual ~A(){--count;}   // default destructor
-};
-
-BOOST_SERIALIZATION_SHARED_PTR(A)
-
-int A::count = 0;
-
-// B is a subclass of A
-class B : public A
-{
-private:
-    friend class boost::serialization::access;
-    int y;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-    }
-public:
-    static int count;
-    B() : A() {};
-    virtual ~B() {};
-};
-
-// B needs to be exported because its serialized via a base class pointer
-BOOST_CLASS_EXPORT(B)
-BOOST_SERIALIZATION_SHARED_PTR(B)
-
-// test a non-polymorphic class
-class C
-{
-private:
-    friend class boost::serialization::access;
-    int z;
-    template<class Archive>
-    void serialize(Archive & ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_NVP(z);
-    }
-public:
-    static int count;
-    bool operator==(const C & rhs) const {
-        return z == rhs.z;
-    }
-    C() :
-        z(++count)    // default constructor
-    {}
-    virtual ~C(){--count;}   // default destructor
-};
-
-int C::count = 0;
-
-void save(const char * testfile, const boost::shared_ptr<A>& spa)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    oa << BOOST_SERIALIZATION_NVP(spa);
-}
-
-void load(const char * testfile, boost::shared_ptr<A>& spa)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    ia >> BOOST_SERIALIZATION_NVP(spa);
-}
-
-// trivial test
-void save_and_load(boost::shared_ptr<A>& spa)
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    save(testfile, spa);
-    boost::shared_ptr<A> spa1;
-    load(testfile, spa1);
-
-    BOOST_CHECK(
-        (spa.get() == NULL && spa1.get() == NULL)
-        || * spa == * spa1
-    );
-    std::remove(testfile);
-}
-
-void save2(
-    const char * testfile, 
-    const boost::shared_ptr<A>& first, 
-    const boost::shared_ptr<A>& second
-){
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    oa << BOOST_SERIALIZATION_NVP(first);
-    oa << BOOST_SERIALIZATION_NVP(second);
-}
-
-void load2(
-    const char * testfile, 
-    boost::shared_ptr<A>& first, 
-    boost::shared_ptr<A>& second)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    ia >> BOOST_SERIALIZATION_NVP(first);
-    ia >> BOOST_SERIALIZATION_NVP(second);
-}
-
-// Run tests by serializing two shared_ptrs into an archive,
-// clearing them (deleting the objects) and then reloading the
-// objects back from an archive.
-void save_and_load2(boost::shared_ptr<A>& first, boost::shared_ptr<A>& second)
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    save2(testfile, first, second);
-
-    // Clear the pointers, thereby destroying the objects they contain
-    first.reset();
-    second.reset();
-
-    load2(testfile, first, second);
-
-    BOOST_CHECK(first == second);
-    std::remove(testfile);
-}
-
-void save3(
-    const char * testfile, 
-    boost::shared_ptr<A>& first, 
-    boost::shared_ptr<A>& second,
-    boost::weak_ptr<A>& third
-){
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    oa << BOOST_SERIALIZATION_NVP(third);
-    oa << BOOST_SERIALIZATION_NVP(first);
-    oa << BOOST_SERIALIZATION_NVP(second);
-}
-
-void load3(
-    const char * testfile, 
-    boost::shared_ptr<A>& first, 
-    boost::shared_ptr<A>& second,
-    boost::weak_ptr<A>& third
-){
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    // note that we serialize the weak pointer first
-    ia >> BOOST_SERIALIZATION_NVP(third);
-    // inorder to test that a temporarily solitary weak pointer
-    // correcttly restored.
-    ia >> BOOST_SERIALIZATION_NVP(first);
-    ia >> BOOST_SERIALIZATION_NVP(second);
-}
-
-void save_and_load3(
-    boost::shared_ptr<A>& first, 
-    boost::shared_ptr<A>& second,
-    boost::weak_ptr<A>& third
-){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    save3(testfile, first, second, third);
-
-    // Clear the pointers, thereby destroying the objects they contain
-    first.reset();
-    second.reset();
-    third.reset();
-
-    load3(testfile, first, second, third);
-
-    BOOST_CHECK(first == second);
-    BOOST_CHECK(first == third.lock());
-    std::remove(testfile);
-}
-
-void save4(const char * testfile, const boost::shared_ptr<C>& spc)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    oa << BOOST_SERIALIZATION_NVP(spc);
-}
-
-void load4(const char * testfile, boost::shared_ptr<C>& spc)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    ia >> BOOST_SERIALIZATION_NVP(spc);
-}
-
-// trivial test
-void save_and_load4(boost::shared_ptr<C>& spc)
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    save4(testfile, spc);
-    boost::shared_ptr<C> spc1;
-    load4(testfile, spc1);
-
-    BOOST_CHECK(
-        (spc.get() == NULL && spc1.get() == NULL)
-        || * spc == * spc1
-    );
-    std::remove(testfile);
-}
-
-// This does the tests
-int test_main(int /* argc */, char * /* argv */[])
-{
-    {
-        boost::shared_ptr<A> spa;
-        // These are our shared_ptrs
-        spa = boost::shared_ptr<A>(new A);
-        boost::shared_ptr<A> spa1 = spa;
-        spa1 = spa;
-    }
-    {
-        // These are our shared_ptrs
-        boost::shared_ptr<A> spa;
-
-        // trivial test 1
-        save_and_load(spa);
-    
-        //trivival test 2
-        spa = boost::shared_ptr<A>(new A);
-        save_and_load(spa);
-
-        // Try to save and load pointers to As
-        spa = boost::shared_ptr<A>(new A);
-        boost::shared_ptr<A> spa1 = spa;
-        save_and_load2(spa, spa1);
-
-        // Try to save and load pointers to Bs
-        spa = boost::shared_ptr<A>(new B);
-        spa1 = spa;
-        save_and_load2(spa, spa1);
-
-        // test a weak pointer
-        spa = boost::shared_ptr<A>(new A);
-        spa1 = spa;
-        boost::weak_ptr<A> wp = spa;
-        save_and_load3(spa, spa1, wp);
-        
-        // obj of type B gets destroyed
-        // as smart_ptr goes out of scope
-    }
-    BOOST_CHECK(A::count == 0);
-    {
-        // Try to save and load pointers to Cs
-        boost::shared_ptr<C> spc;
-        spc = boost::shared_ptr<C>(new C);
-        save_and_load4(spc);
-    }
-    BOOST_CHECK(C::count == 0);
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_shared_ptr_132.cpp b/SRC/Boost/libs/serialization/test/test_shared_ptr_132.cpp
deleted file mode 100755
index b1ff350..0000000
--- a/SRC/Boost/libs/serialization/test/test_shared_ptr_132.cpp
+++ /dev/null
@@ -1,234 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_shared_ptr.cpp
-
-// (C) Copyright 2002 Robert Ramey- http://www.rrsd.com - David Tonge  . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/shared_ptr_132.hpp>
-#include <boost/serialization/shared_ptr.hpp>
-#include <boost/serialization/weak_ptr.hpp>
-#include <boost/serialization/split_member.hpp>
-
-#include <boost/preprocessor/stringize.hpp>
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/export.hpp>
-#include <boost/type_traits/broken_compiler_spec.hpp>
-
-// This is a simple class.  It contains a counter of the number
-// of objects of this class which have been instantiated.
-class A
-{
-private:
-    friend class boost::serialization::access;
-    int x;
-    template<class Archive>
-    void save(Archive & ar, const unsigned int /* file_version */) const {
-        ar << BOOST_SERIALIZATION_NVP(x);
-    }
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */) {
-        ar >> BOOST_SERIALIZATION_NVP(x);
-    }
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-public:
-    static int count;
-    bool operator==(const A & rhs) const {
-        return x == rhs.x;
-    }
-    A(){++count;}    // default constructor
-    virtual ~A(){--count;}   // default destructor
-};
-
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(A)
-BOOST_SERIALIZATION_SHARED_PTR(A)
-
-// B is a subclass of A
-class B : public A
-{
-private:
-    friend class boost::serialization::access;
-    int y;
-    template<class Archive>
-    void save(Archive & ar, const unsigned int /* file_version */ )const {
-        ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-    }
-    template<class Archive>
-    void load(Archive & ar, const unsigned int /* file_version */){
-        ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-    }
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-public:
-    static int count;
-    B() : A() {};
-    virtual ~B() {};
-};
-
-// B needs to be exported because its serialized via a base class pointer
-BOOST_SHARED_POINTER_EXPORT(B)
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(B)
-BOOST_SERIALIZATION_SHARED_PTR(B)
-
-int A::count = 0;
-
-template<class T>
-void save(const char * testfile, const T & spa)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    oa << BOOST_SERIALIZATION_NVP(spa);
-}
-
-template<class T>
-void load(const char * testfile, T & spa)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    ia >> BOOST_SERIALIZATION_NVP(spa);
-}
-
-// trivial test
-template<class T>
-void save_and_load(const T & spa)
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    save(testfile, spa);
-
-    // note that we're loading to a current version of shared_ptr 
-    // regardless of the orignal saved type - this tests backward
-    // archive compatibility
-    boost::shared_ptr<A> spa1;
-    load(testfile, spa1);
-
-    BOOST_CHECK(
-        (spa.get() == NULL && spa1.get() == NULL)
-        || * spa == * spa1
-    );
-    std::remove(testfile);
-}
-
-template<class T>
-void save2(
-    const char * testfile, 
-    const T & first, 
-    const T & second
-){
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    oa << BOOST_SERIALIZATION_NVP(first);
-    oa << BOOST_SERIALIZATION_NVP(second);
-}
-
-template<class T>
-void load2(
-    const char * testfile, 
-    T & first, 
-    T & second)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    ia >> BOOST_SERIALIZATION_NVP(first);
-    ia >> BOOST_SERIALIZATION_NVP(second);
-}
-
-// Run tests by serializing two shared_ptrs into an archive,
-// clearing them (deleting the objects) and then reloading the
-// objects back from an archive.
-template<class T>
-void save_and_load2(T & first, T & second)
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    save2(testfile, first, second);
-
-    // Clear the pointers, thereby destroying the objects they contain
-    first.reset();
-    second.reset();
-
-    boost::shared_ptr<A> first1, second1;
-    load2(testfile, first1, second1);
-
-    BOOST_CHECK(first1 == second1);
-    std::remove(testfile);
-}
-
-template<class T>
-void save3(
-    const char * testfile, 
-    const T & first, 
-    const T & second,
-    const T & third
-){
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    oa << BOOST_SERIALIZATION_NVP(third);
-    oa << BOOST_SERIALIZATION_NVP(first);
-    oa << BOOST_SERIALIZATION_NVP(second);
-}
-
-template<class T>
-void load3(
-    const char * testfile, 
-    T & first, 
-    T & second,
-    T & third
-){
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    // note that we serialize the weak pointer first
-    ia >> BOOST_SERIALIZATION_NVP(third);
-    // inorder to test that a temporarily solitary weak pointer
-    // correcttly restored.
-    ia >> BOOST_SERIALIZATION_NVP(first);
-    ia >> BOOST_SERIALIZATION_NVP(second);
-}
-
-// This does the tests
-int test_main(int /* argc */, char * /* argv */[])
-{
-    // These are our shared_ptrs
-    boost_132::shared_ptr<A> spa;
-
-    // trivial test 1
-    save_and_load(spa);
-
-    //trivial test 2
-    spa.reset();
-    spa = boost_132::shared_ptr<A>(new A);
-    save_and_load(spa);
-
-    // Try to save and load pointers to As, to a text archive
-    spa = boost_132::shared_ptr<A>(new A);
-    boost_132::shared_ptr<A> spa1 = spa;
-    save_and_load2(spa, spa1);
-    
-    // Try to save and load pointers to Bs, to a text archive
-    spa = boost_132::shared_ptr<A>(new B);
-    save_and_load(spa);
-
-    spa1 = spa;
-    save_and_load2(spa, spa1);
-
-    // obj of type B gets destroyed
-    // as smart_ptr goes out of scope
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_shared_ptr_multi_base.cpp b/SRC/Boost/libs/serialization/test/test_shared_ptr_multi_base.cpp
deleted file mode 100755
index 0362e54..0000000
--- a/SRC/Boost/libs/serialization/test/test_shared_ptr_multi_base.cpp
+++ /dev/null
@@ -1,271 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_shared_ptr_multi_base.cpp
-
-// (C) Copyright 2002 Robert Ramey- http://www.rrsd.com and Takatoshi Kondo.
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-#include <boost/type_traits/broken_compiler_spec.hpp>
-
-#include <boost/serialization/shared_ptr.hpp>
-#include <boost/serialization/weak_ptr.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/export.hpp>
-
-#include "test_tools.hpp"
-
-struct Base1 {
-    Base1() {}
-    Base1(int x) : m_x(1 + x) {}
-    virtual ~Base1(){
-    }
-    int m_x;
-    // serialize
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */)
-    {
-        ar & BOOST_SERIALIZATION_NVP(m_x);
-    }
-};
-
-struct Base2 {
-    Base2() {}
-    Base2(int x) : m_x(2 + x) {}
-    int m_x;
-    virtual ~Base2(){
-    }
-    // serialize
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */)
-    {
-        ar & BOOST_SERIALIZATION_NVP(m_x);
-    }
-};
-
-struct Base3 {
-    Base3() {}
-    Base3(int x) : m_x(3 + x) {}
-    virtual ~Base3(){
-    }
-    int m_x;
-    // serialize
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */)
-    {
-        ar & BOOST_SERIALIZATION_NVP(m_x);
-    }
-};
-
-// Sub is a subclass of Base1, Base1 and Base3.
-struct Sub:public Base1, public Base2, public Base3 {
-    static int count;
-    Sub() {
-        ++count;
-    }
-    Sub(int x) :
-        Base1(x),
-        Base2(x),
-        m_x(x)
-    {   
-        ++count;
-    }
-    Sub(const Sub & rhs) :
-        m_x(rhs.m_x)
-    {
-        ++count;
-    }
-    virtual ~Sub() {
-        assert(0 < count);
-        --count;
-    }
-    int m_x;
-    // serialize
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */)
-    {
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base1);
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base2);
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base3);
-        ar & BOOST_SERIALIZATION_NVP(m_x);
-    }
-};
-
-// Sub needs to be exported because its serialized via a base class pointer
-BOOST_CLASS_EXPORT(Sub)
-BOOST_SERIALIZATION_SHARED_PTR(Sub)
-
-int Sub::count = 0;
-
-template <class FIRST, class SECOND>
-void save2(
-    const char * testfile, 
-    const FIRST& first, 
-    const SECOND& second
-){
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    oa << BOOST_SERIALIZATION_NVP(first);
-    oa << BOOST_SERIALIZATION_NVP(second);
-}
-
-template <class FIRST, class SECOND>
-void load2(
-    const char * testfile, 
-    FIRST& first, 
-    SECOND& second)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    ia >> BOOST_SERIALIZATION_NVP(first);
-    ia >> BOOST_SERIALIZATION_NVP(second);
-}
-
-// Run tests by serializing two shared_ptrs into an archive,
-// clearing them (deleting the objects) and then reloading the
-// objects back from an archive.
-
-// Serialization sequence
-// First,  shared_ptr
-// Second, weak_ptr
-template <class FIRST, class SECOND>
-void shared_weak(
-    boost::shared_ptr<FIRST>& first, 
-    boost::weak_ptr<SECOND>& second
-){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    int firstm = first->m_x;
-    int secondm = second.lock()->m_x;
-    save2(testfile, first, second);
-
-    // Clear the pointers, thereby destroying the objects they contain
-    second.reset();
-    first.reset();
-
-    load2(testfile, first, second);
-
-    // Check data member
-    BOOST_CHECK(firstm == first->m_x);
-    BOOST_CHECK(secondm == second.lock()->m_x);
-    // Check pointer to vtable
-    BOOST_CHECK(boost::dynamic_pointer_cast<Sub>(first));
-    BOOST_CHECK(boost::dynamic_pointer_cast<Sub>(second.lock()));
-
-    std::remove(testfile);
-}
-
-// Serialization sequence
-// First,  weak_ptr
-// Second, shared_ptr
-template <class FIRST, class SECOND>
-void weak_shared(
-    boost::weak_ptr<FIRST>& first, 
-    boost::shared_ptr<SECOND>& second
-){
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    int firstm = first.lock()->m_x;
-    int secondm = second->m_x;
-    save2(testfile, first, second);
-
-    // Clear the pointers, thereby destroying the objects they contain
-    first.reset();
-    second.reset();
-
-    load2(testfile, first, second);
-
-    // Check data member
-    BOOST_CHECK(firstm == first.lock()->m_x);
-    BOOST_CHECK(secondm == second->m_x);
-    // Check pointer to vtable
-    BOOST_CHECK(boost::dynamic_pointer_cast<Sub>(first.lock()));
-    BOOST_CHECK(boost::dynamic_pointer_cast<Sub>(second));
-
-    std::remove(testfile);
-}
-
-// This does the tests
-int test_main(int /* argc */, char * /* argv */[])
-{
-
-    // Both Sub
-    boost::shared_ptr<Sub> tc1_sp(new Sub(10));
-    boost::weak_ptr<Sub> tc1_wp(tc1_sp);
-    shared_weak(tc1_sp, tc1_wp);
-    weak_shared(tc1_wp, tc1_sp);
-    tc1_sp.reset();
-    BOOST_CHECK(0 == Sub::count);
-
-    // Sub and Base1
-    boost::shared_ptr<Sub> tc2_sp(new Sub(10));
-    boost::weak_ptr<Base1> tc2_wp(tc2_sp);
-    shared_weak(tc2_sp, tc2_wp);
-    weak_shared(tc2_wp, tc2_sp);
-    tc2_sp.reset();
-    BOOST_CHECK(0 == Sub::count);
-
-    // Sub and Base2
-    boost::shared_ptr<Sub> tc3_sp(new Sub(10));
-    boost::weak_ptr<Base2> tc3_wp(tc3_sp);
-    shared_weak(tc3_sp, tc3_wp);
-    weak_shared(tc3_wp, tc3_sp);
-    tc3_sp.reset();
-    BOOST_CHECK(0 == Sub::count);
-
-    // Sub and Base3
-    boost::shared_ptr<Sub> tc4_sp(new Sub(10));
-    boost::weak_ptr<Base3> tc4_wp(tc4_sp);
-    shared_weak(tc4_sp, tc4_wp);
-    weak_shared(tc4_wp, tc4_sp);
-    tc4_sp.reset();
-    BOOST_CHECK(0 == Sub::count);
-
-    // Base1 and Base2
-    boost::shared_ptr<Sub> tc5_sp_tmp(new Sub(10));
-    boost::shared_ptr<Base1> tc5_sp(tc5_sp_tmp);
-    boost::weak_ptr<Base2> tc5_wp(tc5_sp_tmp);
-    tc5_sp_tmp.reset();
-    shared_weak(tc5_sp, tc5_wp);
-    weak_shared(tc5_wp, tc5_sp);
-    tc5_sp.reset();
-    BOOST_CHECK(0 == Sub::count);
-
-    // Base2 and Base3
-    boost::shared_ptr<Sub> tc6_sp_tmp(new Sub(10));
-    boost::shared_ptr<Base2> tc6_sp(tc6_sp_tmp);
-    boost::weak_ptr<Base3> tc6_wp(tc6_sp_tmp);
-    tc6_sp_tmp.reset();
-    shared_weak(tc6_sp, tc6_wp);
-    weak_shared(tc6_wp, tc6_sp);
-    tc6_sp.reset();
-    BOOST_CHECK(0 == Sub::count);
-
-    // Base3 and Base1
-    boost::shared_ptr<Sub> tc7_sp_tmp(new Sub(10));
-    boost::shared_ptr<Base3> tc7_sp(tc7_sp_tmp);
-    boost::weak_ptr<Base1> tc7_wp(tc7_sp_tmp);
-    tc7_sp_tmp.reset();
-    shared_weak(tc7_sp, tc7_wp);
-    weak_shared(tc7_wp, tc7_sp);
-    tc7_sp.reset();
-    BOOST_CHECK(0 == Sub::count);
-
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_simple_class.cpp b/SRC/Boost/libs/serialization/test/test_simple_class.cpp
deleted file mode 100755
index a2d6a40..0000000
--- a/SRC/Boost/libs/serialization/test/test_simple_class.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_simple_class.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-// invoke header for a custom archive test.
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-#include <cmath>
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include "A.hpp"
-#include "A.ipp"
-
-bool A::check_equal(const A &rhs) const
-{
-    BOOST_CHECK_EQUAL(b, rhs.b);
-    BOOST_CHECK_EQUAL(l, rhs.l);
-    #ifndef BOOST_NO_INT64_T
-    BOOST_CHECK_EQUAL(f, rhs.f);
-    BOOST_CHECK_EQUAL(g, rhs.g);
-    #endif
-    BOOST_CHECK_EQUAL(m, rhs.m);
-    BOOST_CHECK_EQUAL(n, rhs.n);
-    BOOST_CHECK_EQUAL(o, rhs.o);
-    BOOST_CHECK_EQUAL(p, rhs.p);
-    BOOST_CHECK_EQUAL(q, rhs.q);
-    #ifndef BOOST_NO_CWCHAR
-    BOOST_CHECK_EQUAL(r, rhs.r);
-    #endif
-    BOOST_CHECK_EQUAL(c, rhs.c);
-    BOOST_CHECK_EQUAL(s, rhs.s);
-    BOOST_CHECK_EQUAL(t, rhs.t);
-    BOOST_CHECK_EQUAL(u, rhs.u);
-    BOOST_CHECK_EQUAL(v, rhs.v);
-    BOOST_CHECK_EQUAL(l, rhs.l);
-    BOOST_CHECK(!(
-        w == 0 
-        && std::fabs(rhs.w) > std::numeric_limits<float>::epsilon()
-    ));
-    BOOST_CHECK(!(
-        std::fabs(rhs.w/w - 1.0) > std::numeric_limits<float>::epsilon()
-    ));
-    BOOST_CHECK(!(
-        x == 0 && std::fabs(rhs.x - x) > std::numeric_limits<float>::epsilon()
-    ));
-    BOOST_CHECK(!(
-        std::fabs(rhs.x/x - 1.0) > std::numeric_limits<float>::epsilon()
-    ));
-    BOOST_CHECK(!(0 != y.compare(rhs.y)));
-    #ifndef BOOST_NO_STD_WSTRING
-    BOOST_CHECK(!(0 != z.compare(rhs.z)));
-    #endif      
-    return true;
-}
-
-int 
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    A a, a1;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("a", a);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("a", a1);
-    }
-    a.check_equal(a1);
-    std::remove(testfile);
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_simple_class_ptr.cpp b/SRC/Boost/libs/serialization/test/test_simple_class_ptr.cpp
deleted file mode 100755
index e6d302f..0000000
--- a/SRC/Boost/libs/serialization/test/test_simple_class_ptr.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_simple_class_ptr.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include "A.hpp"
-#include "A.ipp"
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    
-    BOOST_REQUIRE(NULL != testfile);
-
-    const A *ta = new A();
-    A *ta1 = NULL;
-
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("ta", ta);
-    }
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("ta", ta1);
-    }
-    BOOST_CHECK(ta != ta1);
-    BOOST_CHECK(*ta == *ta1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_singleton.cpp b/SRC/Boost/libs/serialization/test/test_singleton.cpp
deleted file mode 100755
index 2c0cdbf..0000000
--- a/SRC/Boost/libs/serialization/test/test_singleton.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_singleton.cpp: test implementation of run-time casting of void pointers
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// <gennadiy.rozental at tfn.com>
-
-#include "test_tools.hpp"
-#include <boost/serialization/singleton.hpp>
-
-class x {
-};
-
-void
-test1(const x & x1, const x & x2){
-    BOOST_CHECK(& x1 == & x2);
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const x & x1 = boost::serialization::singleton<x>::get_const_instance();
-    const x & x2 = boost::serialization::singleton<x>::get_const_instance();
-
-    BOOST_CHECK(& x1 == & x2);
-
-    test1(
-        boost::serialization::singleton<x>::get_const_instance(),
-        boost::serialization::singleton<x>::get_const_instance()
-    );
-
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_smart_cast.cpp b/SRC/Boost/libs/serialization/test/test_smart_cast.cpp
deleted file mode 100755
index abdc96a..0000000
--- a/SRC/Boost/libs/serialization/test/test_smart_cast.cpp
+++ /dev/null
@@ -1,244 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_smart_cast.cpp: 
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// <gennadiy.rozental at tfn.com>
-
-#include <exception>
-#include <boost/serialization/smart_cast.hpp>
-
-#include "test_tools.hpp"
-#include <boost/noncopyable.hpp>
-
-using namespace boost::serialization;
-
-class Base1 : public boost::noncopyable
-{
-    char a;
-};
-
-class Base2
-{
-    int b;
-};
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-class Derived : public Base1, public Base2
-{
-    long c;
-};
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(Base1)
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(Base2)
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(Derived)
-
-// if compiler doesn't support TPS, the smart_cast syntax doesn't
-// work for references.  One has to use the smart_cast_reference
-// syntax (tested below ) instead.
-
-void test_static_reference_cast_2(){
-    Derived d;
-    Base1 & b1 = static_cast<Base1 &>(d);
-    Base2 & b2 = static_cast<Base2 &>(d);
-
-    Base1 & scb1 = smart_cast<Base1 &, Derived &>(d);
-    Base2 & scb2 = smart_cast<Base2 &, Derived &>(d);
-    BOOST_CHECK_EQUAL(& b1, & scb1);
-    BOOST_CHECK_EQUAL(& b2, & scb2);
-
-    // downcast
-//    BOOST_CHECK_EQUAL(& d, & (smart_cast<Derived &, Base1 &>(b1)));
-//    BOOST_CHECK_EQUAL(& d, & (smart_cast<Derived &, Base2 &>(b2)));
-
-    // crosscast pointers fails at compiler time
-    // BOOST_CHECK_EQUAL(pB2,smart_cast<B2 *>(pB1));
-    // though explicit cross cast will always work
-    BOOST_CHECK_EQUAL(& b2,(
-        & smart_cast<Base2 &, Derived &>(
-            smart_cast<Derived &, Base1 &>(b1)
-        ))
-    );
-}
-
-void test_static_reference_cast_1(){
-    Derived d;
-    Base1 & b1 = static_cast<Base1 &>(d);
-    Base2 & b2 = static_cast<Base2 &>(d);
-
-    Base1 & scb1 = smart_cast_reference<Base1 &>(d);
-    Base2 & scb2 = smart_cast_reference<Base2 &>(d);
-    BOOST_CHECK_EQUAL(& b1, & scb1);
-    BOOST_CHECK_EQUAL(& b2, & scb2);
-
-    // downcast
-    BOOST_CHECK_EQUAL(& d, & (smart_cast_reference<Derived &>(b1)));
-    BOOST_CHECK_EQUAL(& d, & (smart_cast_reference<Derived &>(b2)));
-
-    // crosscast pointers fails at compiler time
-    // BOOST_CHECK_EQUAL(pB2,smart_cast<B2 *>(pB1));
-    // though explicit cross cast will always work
-    BOOST_CHECK_EQUAL(& b2,(
-        & smart_cast_reference<Base2 &>(
-            smart_cast_reference<Derived &>(b1)
-        ))
-    );
-}
-
-void test_static_pointer_cast(){
-    // pointers
-    Derived d;
-    Derived *pD = & d;
-    Base1 *pB1 = pD;
-    Base2 *pB2 = pD;
-
-    // upcast
-    BOOST_CHECK_EQUAL(pB1, smart_cast<Base1 *>(pD));
-    BOOST_CHECK_EQUAL(pB2, smart_cast<Base2 *>(pD));
-
-    // downcast
-    BOOST_CHECK_EQUAL(pD, smart_cast<Derived *>(pB1));
-    BOOST_CHECK_EQUAL(pD, smart_cast<Derived *>(pB2));
-
-    // crosscast pointers fails at compiler time
-    // BOOST_CHECK_EQUAL(pB2, smart_cast<Base2 *>(pB1));
-
-    // though explicit cross cast will always work
-    BOOST_CHECK_EQUAL(pB2,
-        smart_cast<Base2 *>(
-            smart_cast<Derived *>(pB1)
-        )
-    );
-}
-
-class VBase1 : public boost::noncopyable
-{
-    char a;
-public:
-    virtual ~VBase1(){};
-};
-
-class VBase2
-{
-    int b;
-public:
-    virtual ~VBase2(){};
-};
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-class VDerived : public VBase1, public VBase2
-{
-    long c;
-public:
-    virtual ~VDerived(){};
-};
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(VBase1)
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(VBase2)
-BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(VDerived)
-
-// see above
-
-void test_dynamic_reference_cast_2(){
-    VDerived d;
-    VBase1 &b1 = dynamic_cast<VBase1 &>(d);
-    VBase2 &b2 = static_cast<VBase2 &>(d);
-
-    VBase1 & vb1 = smart_cast<VBase1 &, VDerived &>(d);
-    BOOST_CHECK_EQUAL(& b1, & vb1);
-    BOOST_CHECK_EQUAL(& b2, (& smart_cast<VBase2 &, VDerived &>(d)));
-
-    // downcast
-    BOOST_CHECK_EQUAL(& d, (& smart_cast<VDerived &, VBase1 &>(b1)));
-    BOOST_CHECK_EQUAL(& d, (& smart_cast<VDerived &, VBase2 &>(b2)));
-
-    // crosscast
-     BOOST_CHECK_EQUAL(& b2, (& smart_cast<VBase2 &, VBase1 &>(b1)));
-
-    // explicit cross cast should always work
-    BOOST_CHECK_EQUAL(& b2, (
-        & smart_cast<VBase2 &, VDerived &>(
-            smart_cast<VDerived &, VBase1 &>(b1)
-        ))
-    );
-}
-
-void test_dynamic_reference_cast_1(){
-    VDerived d;
-    VBase1 &b1 = dynamic_cast<VBase1 &>(d);
-    VBase2 &b2 = static_cast<VBase2 &>(d);
-
-    VBase1 & vb1 = smart_cast_reference<VBase1 &>(d);
-    BOOST_CHECK_EQUAL(& b1, & vb1);
-    BOOST_CHECK_EQUAL(& b2, (& smart_cast_reference<VBase2 &>(d)));
-
-    // downcast
-    BOOST_CHECK_EQUAL(& d, (& smart_cast_reference<VDerived &>(b1)));
-    BOOST_CHECK_EQUAL(& d, (& smart_cast_reference<VDerived &>(b2)));
-
-    // crosscast
-     BOOST_CHECK_EQUAL(& b2, (& smart_cast_reference<VBase2 &>(b1)));
-
-    // explicit cross cast should always work
-    BOOST_CHECK_EQUAL(& b2, (
-        & smart_cast_reference<VBase2 &>(
-            smart_cast_reference<VDerived &>(b1)
-        ))
-    );
-}
-
-void test_dynamic_pointer_cast(){
-    // pointers
-    VDerived d;
-    VDerived *pD = & d;
-    VBase1 *pB1 = pD;
-    VBase2 *pB2 = pD;
-
-    // upcast
-    BOOST_CHECK_EQUAL(pB1, smart_cast<VBase1 *>(pD));
-    BOOST_CHECK_EQUAL(pB2, smart_cast<VBase2 *>(pD));
-
-    // downcast
-    BOOST_CHECK_EQUAL(pD, smart_cast<VDerived *>(pB1));
-    BOOST_CHECK_EQUAL(pD, smart_cast<VDerived *>(pB2));
-
-    // crosscast pointers fails at compiler time
-    BOOST_CHECK_EQUAL(pB2, smart_cast<VBase2 *>(pB1));
-    // though explicit cross cast will always work
-    BOOST_CHECK_EQUAL(pB2,
-        smart_cast<VBase2 *>(
-            smart_cast<VDerived *>(pB1)
-        )
-    );
-}
-
-int
-test_main(int /* argc */, char * /* argv */[])
-{
-    test_static_reference_cast_2();
-    test_static_reference_cast_1();
-    test_static_pointer_cast();
-    test_dynamic_reference_cast_2();
-    test_dynamic_reference_cast_1();
-    test_dynamic_pointer_cast();
-
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_split.cpp b/SRC/Boost/libs/serialization/test/test_split.cpp
deleted file mode 100755
index 0d98c2b..0000000
--- a/SRC/Boost/libs/serialization/test/test_split.cpp
+++ /dev/null
@@ -1,165 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_split.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/split_free.hpp>
-
-class A
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void save(
-        Archive & /* ar */, 
-        const unsigned int /* file_version */
-    ) const {
-        ++(const_cast<A &>(*this).count);
-    }
-    template<class Archive>
-    void load(
-        Archive & /* ar */, 
-        const unsigned int /* file_version */
-    ){
-        --count;
-    }
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-    int count;
-public:
-    A() : count(0) {}
-    ~A() {
-        BOOST_CHECK(0 == count);
-    }
-};
-
-class B
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void save(
-        Archive & /* ar */, 
-        const unsigned int /* file_version */
-    ) const {
-        ++(const_cast<B &>(*this).count);
-    }
-    template<class Archive>
-    void load(
-        Archive & /* ar */, 
-        const unsigned int /* file_version */
-    ){
-        --count;
-    }
-    int count;
-public:
-    B() : count(0) {}
-    ~B() {
-        BOOST_CHECK(0 == count);
-    }
-};
-
-// function specializations must be defined in the appropriate
-// namespace - boost::serialization
-namespace boost { 
-namespace serialization {
-
-template<class Archive>
-void serialize(
-    Archive & ar,
-    B & b,
-    const unsigned int file_version
-){ 
-    boost::serialization::split_member(ar, b, file_version);
-} 
-
-} // serialization
-} // namespace boost
-
-class C
-{
-public:
-    int count;
-    C() : count(0) {}
-    ~C() {
-        BOOST_CHECK(0 == count);
-    }
-};
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive>
-void save(
-    Archive & /* ar */, 
-    const C & c,
-    const unsigned int /* file_version */
-){
-    ++(const_cast<C &>(c).count);
-}
-
-template<class Archive>
-void load(
-    Archive & /* ar */, 
-    C & c,
-    const unsigned int /* file_version */
-){
-    --c.count;
-}
-
-} // serialization
-} // namespace boost
-
-BOOST_SERIALIZATION_SPLIT_FREE(C)
-
-void out(const char *testfile, A & a, B & b, C & c)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    oa << BOOST_SERIALIZATION_NVP(a);
-    oa << BOOST_SERIALIZATION_NVP(b);
-    oa << BOOST_SERIALIZATION_NVP(c);
-}
-
-void in(const char *testfile, A & a, B & b, C & c)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    ia >> BOOST_SERIALIZATION_NVP(a);
-    ia >> BOOST_SERIALIZATION_NVP(b);
-    ia >> BOOST_SERIALIZATION_NVP(c);
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    A a;
-    B b;
-    C c;
-
-    out(testfile, a, b, c);
-    in(testfile, a, b, c);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_static_warning.cpp b/SRC/Boost/libs/serialization/test/test_static_warning.cpp
deleted file mode 100755
index 19cb6f3..0000000
--- a/SRC/Boost/libs/serialization/test/test_static_warning.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-//  (C) Copyright Jonathan Turkanis 2004.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for most recent version including documentation.
-
-// note: this is a compile only test.
-
-#include <boost/config.hpp> // BOOST_STATIC_CONST
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_polymorphic.hpp>
-
-#include <boost/serialization/static_warning.hpp>
-
-typedef char a1[2];
-typedef char a2[3];
-
-class polymorphic {
-    virtual ~polymorphic();
-};
-
-class non_polymorphic {
-};
-
-template<class T>
-int f(){
-    BOOST_STATIC_WARNING(T::value);
-    return 0;
-}
-
-struct A {
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-/////////////////////////////////////////////////////////////////////////
-// compilation of this program should show a total of 10 warning messages
-
-// should show NO warning message
-BOOST_STATIC_WARNING(true);
-
-// the following should show 5 warning message
-int x = f<A>();  // Warn
-int y = f<boost::is_polymorphic<non_polymorphic> >(); // Warn.
-int z = f<boost::is_polymorphic<polymorphic> >();
-
-BOOST_STATIC_WARNING(sizeof(a1) == sizeof(a2)); // Warn.
-BOOST_STATIC_WARNING(sizeof(a1) != sizeof(a1)); // Warn.
-BOOST_STATIC_WARNING(! boost::is_polymorphic<polymorphic>::value); // Warn.
-BOOST_STATIC_WARNING(boost::is_polymorphic<non_polymorphic>::value); // Warn.
-
-int main(int /* argc */, char * /* argv */[]){
-    // should show NO warning message
-    BOOST_STATIC_WARNING(true);
-
-    // the following should show 5 warning message
-    f<A>();
-    BOOST_STATIC_WARNING(sizeof(a1) == sizeof(a2)); // Warn.
-    BOOST_STATIC_WARNING(sizeof(a1) != sizeof(a1)); // Warn.
-    BOOST_STATIC_WARNING(! boost::is_polymorphic<polymorphic>::value); // Warn.
-    BOOST_STATIC_WARNING(boost::is_polymorphic<non_polymorphic>::value); // Warn.
-    return 0;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_tools.hpp b/SRC/Boost/libs/serialization/test/test_tools.hpp
deleted file mode 100755
index f87cc50..0000000
--- a/SRC/Boost/libs/serialization/test/test_tools.hpp
+++ /dev/null
@@ -1,259 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TEST_TOOLS_HPP
-#define BOOST_SERIALIZATION_TEST_TOOLS_HPP
-
-#define BOOST_FILESYSTEM_VERSION 3
-#include <boost/filesystem.hpp>
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_tools.hpp
-//
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef> // size_t
-#ifndef BOOST_NO_EXCEPTION_STD_NAMESPACE
-    #include <exception>
-#endif
-#include <boost/config.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-
-#if defined(UNDER_CE)
-
-// Windows CE does not supply the tmpnam function in its CRT. 
-// Substitute a primitive implementation here.
-namespace boost {
-namespace archive {
-    const char * tmpnam(char * buffer){
-        static char ibuffer [512];
-        if(NULL == buffer)
-            buffer = ibuffer;
-
-        static unsigned short index = 0;
-        std::sprintf(buffer, "\\tmpfile%05X.tmp", index++);
-        return buffer;
-    }
-} // archive
-} // boost
-
-#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
-// win32 has a brain-dead tmpnam implementation.
-// which leaves temp files in root directory 
-// regardless of environmental settings
-
-#include <cstdlib>
-#include <cstring>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-    using ::strcpy;
-    using ::strcat;
-    using ::tmpnam;
-}
-#endif // defined(BOOST_NO_STDC_NAMESPACE)
-
-#include <direct.h>
-#include <boost/archive/tmpdir.hpp>
-
-#if defined(__COMO__)
-    #define chdir _chdir
-#endif
-
-#if defined(NDEBUG) && defined(__BORLANDC__)
-    #define STRCPY strcpy
-#else
-    #define STRCPY std::strcpy
-#endif
-
-namespace boost {
-namespace archive {
-    const char * test_filename(const char * dir = NULL, char *fname = NULL){
-        static char ibuffer [512];
-        std::size_t i;
-        ibuffer[0] = '\0';
-        if(NULL == dir){
-            dir = boost::archive::tmpdir();
-        }
-        STRCPY(ibuffer, dir);
-        std::strcat(ibuffer, "/");
-        i = std::strlen(ibuffer);
-        if(NULL == fname){
-            char old_dir[256];
-            _getcwd(old_dir, sizeof(old_dir) - 1);
-            chdir(dir);
-            // (C) Copyright 2010 Dean Michael Berris. <mikhailberis at gmail.com>
-            // Instead of using std::tmpnam, we use Boost.Filesystem's unique_path
-            boost::filesystem::path tmp_path =
-                boost::filesystem::unique_path("%%%%%");
-            std::strcat(ibuffer, tmp_path.string().c_str());
-            chdir(old_dir);
-        }
-        else{
-            std::strcat(ibuffer, fname);
-        }
-        return ibuffer;
-    }
-    const char * tmpnam(char * buffer){
-        const char * name = test_filename(NULL, NULL);
-        if(NULL != buffer){
-            STRCPY(buffer, name);
-        }
-        return name;
-    }
-} // archive
-} // boost
-
-#else // defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
-#if defined(__hpux)
-// (C) Copyright 2006 Boris Gubenko.
-// HP-UX has a restriction that for multi-thread applications, (i.e.
-// the ones compiled -mt) if argument to tmpnam is a NULL pointer, then,
-// citing the tmpnam(3S) manpage, "the operation is not performed and a
-// NULL pointer is returned". tempnam does not have this restriction, so,
-// let's use tempnam instead.
- 
-#define tmpnam(X) tempnam(NULL,X)
- 
-namespace boost {
-namespace archive {
-    using ::tmpnam;
-} // archive
-} // boost
-
-#else // defined(__hpux)
-
-// (C) Copyright 2010 Dean Michael Berris.
-// Instead of using the potentially dangrous tempnam function that's part
-// of the C standard library, on Unix/Linux we use the more portable and
-// "safe" unique_path function provided in the Boost.Filesystem library.
-
-#include <boost/archive/tmpdir.hpp>
-
-namespace boost {
-namespace archive {
-    char const * tmpnam(char * buffer) {
-        static char name[512] = {0};
-        if (name[0] == 0) {
-            boost::filesystem::path tempdir(tmpdir());
-            boost::filesystem::path tempfilename =
-                boost::filesystem::unique_path("serialization-%%%%");
-            boost::filesystem::path temp = tempdir / tempfilename;
-            std::strcat(name, temp.string().c_str());
-        }
-        if (buffer != 0) std::strcpy(buffer, name);
-        return name;
-    }
-} // archive
-} // boost
-
-#endif // defined(__hpux)
-#endif // defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
-
-//#include <boost/test/test_tools.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#define BOOST_CHECK( P ) \
-    BOOST_TEST( (P) )
-#define BOOST_REQUIRE( P )  \
-    BOOST_TEST( (P) )
-#define BOOST_CHECK_MESSAGE( P, M )  \
-    ((P)? (void)0 : ::boost::detail::error_impl( (M) , __FILE__, __LINE__, BOOST_CURRENT_FUNCTION))
-#define BOOST_REQUIRE_MESSAGE( P, M ) \
-    BOOST_CHECK_MESSAGE( (P), (M) )
-#define BOOST_CHECK_EQUAL( A , B ) \
-    BOOST_TEST( (A) == (B) )
-
-namespace boost { namespace detail {
-inline void msg_impl(char const * msg, char const * file, int line, char const * function)
-{
-    std::cerr << file << "(" << line << "): " << msg << " in function '" << function << "'" << std::endl;
-}
-} } // boost::detail
-
-#define BOOST_WARN_MESSAGE( P, M )  \
-    ((P)? (void)0 : ::boost::detail::msg_impl( (M) , __FILE__, __LINE__, BOOST_CURRENT_FUNCTION))
-#define BOOST_MESSAGE( M ) \
-    BOOST_WARN_MESSAGE( true , (M) )
-
-#define BOOST_CHECKPOINT( M ) \
-    BOOST_WARN_MESSAGE( true , (M) )
-
-//#define BOOST_TEST_DONT_PRINT_LOG_VALUE( T ) 
-
-#define BOOST_FAIL( M ) BOOST_REQUIRE_MESSAGE( false, (M) )
-#define EXIT_SUCCESS 0
-
-int test_main(int argc, char * argv[]);
-
-#include <boost/serialization/singleton.hpp>
-
-int
-main(int argc, char * argv[]){
-    
-    boost::serialization::singleton_module::lock();
-
-    BOOST_TRY{
-        test_main(argc, argv);
-    }
-    #ifndef BOOST_NO_EXCEPTION_STD_NAMESPACE
-        BOOST_CATCH(const std::exception & e){
-            BOOST_ERROR(e.what());
-        }
-    #endif
-    BOOST_CATCH(...){
-        BOOST_ERROR("failed with uncaught exception:");
-    }
-    BOOST_CATCH_END
-
-    boost::serialization::singleton_module::unlock();
-
-    return boost::report_errors();
-}
-
-// the following is to ensure that when one of the libraries changes
-// BJAM rebuilds and relinks the test.
-/*
-#include "text_archive.hpp"
-#include "text_warchive.hpp"
-#include "binary_archive.hpp"
-#include "xml_archive.hpp"
-#include "xml_warchive.hpp"
-*/
-
-/////////////////////////////////////////////
-// invoke header for a custom archive test.
-
-/////////////////////////////////////////////
-// invoke header for a custom archive test.
-#if ! defined(BOOST_ARCHIVE_TEST)
-#define BOOST_ARCHIVE_TEST text_archive.hpp
-#endif
-
-#include <boost/preprocessor/stringize.hpp>
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
-
-#ifndef TEST_STREAM_FLAGS
-    #define TEST_STREAM_FLAGS (std::ios_base::openmode)0
-#endif
-
-#ifndef TEST_ARCHIVE_FLAGS
-    #define TEST_ARCHIVE_FLAGS 0
-#endif
-
-#ifndef TEST_DIRECTORY
-#define TEST_DIRECTORY
-#else
-#define __x__ TEST_DIRECTORY
-#undef TEST_DIRECTORY
-#define TEST_DIRECTORY BOOST_PP_STRINGIZE(__x__)
-#endif
-
-#endif // BOOST_SERIALIZATION_TEST_TOOLS_HPP
diff --git a/SRC/Boost/libs/serialization/test/test_tracking.cpp b/SRC/Boost/libs/serialization/test/test_tracking.cpp
deleted file mode 100755
index 7597374..0000000
--- a/SRC/Boost/libs/serialization/test/test_tracking.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_tracking_save.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include <boost/config.hpp>
-#include <cstdio> // remove
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/nvp.hpp>
-
-#define TEST_CLASS(N, TRACKING) \
-class N \
-{ \
-    friend class boost::serialization::access; \
-    template<class Archive> \
-    void serialize(Archive & /* ar */, const unsigned int /* file_version */){ \
-        ++count; \
-    } \
-public: \
-    static unsigned int count; \
-}; \
-unsigned int N::count = 0;\
-BOOST_CLASS_TRACKING(N, TRACKING)
-
-TEST_CLASS(AN, ::boost::serialization::track_never)
-TEST_CLASS(AS, ::boost::serialization::track_selectively)
-TEST_CLASS(AA, ::boost::serialization::track_always)
-
-// test pointers
-TEST_CLASS(PAN, ::boost::serialization::track_never)
-TEST_CLASS(PAS, ::boost::serialization::track_selectively)
-TEST_CLASS(PAA, ::boost::serialization::track_always)
-
-void out(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-    // write object twice to check tracking
-    AN an;
-    AS as;
-    AA aa;
-    oa << BOOST_SERIALIZATION_NVP(an) << BOOST_SERIALIZATION_NVP(an);
-    BOOST_CHECK(an.count == 2);
-    oa << BOOST_SERIALIZATION_NVP(as) << BOOST_SERIALIZATION_NVP(as);
-    BOOST_CHECK(as.count == 2);
-    oa << BOOST_SERIALIZATION_NVP(aa) << BOOST_SERIALIZATION_NVP(aa);
-    BOOST_CHECK(aa.count == 1);
-
-    PAN *pan = new PAN;
-    PAS *pas = new PAS;
-    PAA *paa = new PAA;
-    oa << BOOST_SERIALIZATION_NVP(pan) << BOOST_SERIALIZATION_NVP(pan);
-    BOOST_CHECK(pan->count == 2);
-    oa << BOOST_SERIALIZATION_NVP(pas) << BOOST_SERIALIZATION_NVP(pas);
-    BOOST_CHECK(pas->count == 1);
-    oa << BOOST_SERIALIZATION_NVP(paa) << BOOST_SERIALIZATION_NVP(paa);
-    BOOST_CHECK(paa->count == 1);
-    delete pan;
-    delete pas;
-    delete paa;
-}
-
-void in(const char *testfile)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-    // read object twice to check tracking
-    AN an;
-    AS as;
-    AA aa;
-
-    AN::count = 0;
-    AS::count = 0;
-    AA::count = 0;
-
-    ia >> BOOST_SERIALIZATION_NVP(an) >> BOOST_SERIALIZATION_NVP(an);
-    BOOST_CHECK(an.count == 2);
-    ia >> BOOST_SERIALIZATION_NVP(as) >> BOOST_SERIALIZATION_NVP(as);
-    BOOST_CHECK(as.count == 2);
-    ia >> BOOST_SERIALIZATION_NVP(aa) >> BOOST_SERIALIZATION_NVP(aa);
-    BOOST_CHECK(aa.count == 1);
-
-    PAN::count = 0;
-    PAS::count = 0;
-    PAA::count = 0;
-
-    PAN *pan = NULL;
-    PAS *pas = NULL;
-    PAA *paa = NULL;
-    ia >> BOOST_SERIALIZATION_NVP(pan);
-    ia >> BOOST_SERIALIZATION_NVP(pan);
-    BOOST_CHECK(pan->count == 2);
-    ia >> BOOST_SERIALIZATION_NVP(pas);
-    ia >> BOOST_SERIALIZATION_NVP(pas);
-    BOOST_CHECK(pas->count == 1);
-    ia >> BOOST_SERIALIZATION_NVP(paa);
-    ia >> BOOST_SERIALIZATION_NVP(paa);
-    BOOST_CHECK(paa->count == 1);
-    delete pan;
-    delete pas;
-    delete paa;
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    out(testfile);
-    in(testfile);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
diff --git a/SRC/Boost/libs/serialization/test/test_traits_fail.cpp b/SRC/Boost/libs/serialization/test/test_traits_fail.cpp
deleted file mode 100755
index bce74e3..0000000
--- a/SRC/Boost/libs/serialization/test/test_traits_fail.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_traits_fail.cpp: test implementation level trait
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile test for traits
-#include "test_tools.hpp"
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/version.hpp>
-
-class A
-{
-};
-
-BOOST_CLASS_IMPLEMENTATION(A, boost::serialization::not_serializable)
-// It can make no sense to assign a version number to a class that 
-// is not serialized with class information
-BOOST_CLASS_VERSION(A, 2) // should fail during compile
-// It can make no sense to assign tracking behavior to a class that 
-// is not serializable. Should fail during compile.
-BOOST_CLASS_TRACKING(A, boost::serialization::track_never) 
-
-class B
-{
-};
-
-BOOST_CLASS_IMPLEMENTATION(B, boost::serialization::object_class_info)
-BOOST_CLASS_VERSION(B, 2)
-BOOST_CLASS_TRACKING(B, boost::serialization::track_always)
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    return boost::exit_failure;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_traits_pass.cpp b/SRC/Boost/libs/serialization/test/test_traits_pass.cpp
deleted file mode 100755
index 3065870..0000000
--- a/SRC/Boost/libs/serialization/test/test_traits_pass.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_traits_pass.cpp: test implementation level trait
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile test for traits
-#include "test_tools.hpp"
-
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/version.hpp>
-
-class B
-{
-};
-
-BOOST_CLASS_IMPLEMENTATION(B, boost::serialization::object_class_info)
-BOOST_CLASS_VERSION(B, 2)
-BOOST_CLASS_TRACKING(B, boost::serialization::track_always)
-
-int
-test_main( int argc, char* argv[] )
-{
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_unregistered.cpp b/SRC/Boost/libs/serialization/test/test_unregistered.cpp
deleted file mode 100755
index f73100f..0000000
--- a/SRC/Boost/libs/serialization/test/test_unregistered.cpp
+++ /dev/null
@@ -1,245 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_unregistered.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <fstream>
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/archive/archive_exception.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-
-class polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive & /* ar */, const unsigned int /* file_version */){
-    }
-public:
-    virtual ~polymorphic_base(){};
-};
-
-class polymorphic_derived1 : public polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-    }
-};
-
-class polymorphic_derived2 : public polymorphic_base
-{
-    friend class boost::serialization::access;
-    template<class Archive>
-    void serialize(Archive &ar, const unsigned int /* file_version */){
-        ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
-    }
-};
-
-// save unregistered polymorphic classes
-void save_unregistered1(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_base *rb1 =  new polymorphic_derived1;
-    
-    // registration IS necessary when serializing a polymorphic class
-    // through pointer to the base class
-    bool except = false;
-    BOOST_TRY {
-        oa << BOOST_SERIALIZATION_NVP(rb1);
-    }
-    BOOST_CATCH(boost::archive::archive_exception aex){
-        except = true;
-    }
-    BOOST_CATCH_END
-    BOOST_CHECK_MESSAGE(except, "lack of registration not detected !");
-
-    delete rb1;
-}
-
-// note: the corresponding save function above will not result in
-// valid archive - hence, the following code which attempts to load
-// and archive will fail.  Leave this as a reminder not to do this
-#if 0
-// load unregistered polymorphic classes
-void load_unregistered1(const char *testfile)
-{
-    std::ifstream is(testfile);
-    boost::archive::iarchive ia(is);
-
-    polymorphic_base *rb1(NULL);
-
-    // registration IS necessary when serializing a polymorphic class
-    // through pointer to the base class
-    bool except = false;
-    BOOST_TRY {
-        ia >> BOOST_SERIALIZATION_NVP(rb1);
-    }
-    BOOST_CATCH(boost::archive::archive_exception aex){
-        except = true;
-        BOOST_CHECK_MESSAGE(
-            NULL == rb1, 
-            "failed load resulted in a non-null pointer"
-        );
-    }
-    BOOST_CATCH_END
-    BOOST_CHECK_MESSAGE(except, "lack of registration not detected !");
-
-    delete rb1;
-}
-#endif
-
-// save unregistered polymorphic classes
-void save_unregistered2(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_derived1 *rd1 = new polymorphic_derived1;
-    
-    // registration is NOT necessary when serializing a polymorphic class
-    // through pointer to a derived class
-    bool except = false;
-    BOOST_TRY {
-        oa << BOOST_SERIALIZATION_NVP(rd1);
-    }
-    BOOST_CATCH(boost::archive::archive_exception aex){
-        except = true;
-    }
-    BOOST_CATCH_END
-    BOOST_CHECK_MESSAGE(! except, "registration not detected !");
-
-    delete rd1;
-}
-
-// note: the corresponding save function above will not result in
-// valid archive - hence, the following code which attempts to load
-// and archive will fail.  Leave this as a reminder not to do this
-// load unregistered polymorphic classes
-void load_unregistered2(const char *testfile)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_derived1 *rd1 = NULL;
-    
-    // registration is NOT necessary when serializing a polymorphic class
-    // or through pointer to a derived class
-    bool except = false;
-    BOOST_TRY {
-        ia >> BOOST_SERIALIZATION_NVP(rd1);
-    }
-    BOOST_CATCH(boost::archive::archive_exception aex){
-        except = true;
-        BOOST_CHECK_MESSAGE(
-            NULL == rd1, 
-            "failed load resulted in a non-null pointer"
-        );
-    }
-    BOOST_CATCH_END
-    BOOST_CHECK_MESSAGE(! except, "registration not detected !");
-
-    delete rd1;
-}
-
-// save registered polymorphic class
-void save_registered(const char *testfile)
-{
-    test_ostream os(testfile, TEST_STREAM_FLAGS);
-    test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_base *rb1 = new polymorphic_derived1;
-    polymorphic_base *rb2 = new polymorphic_derived2;
-
-    // registration (forward declaration) will permit correct serialization
-    // through a pointer to a base class
-    oa.register_type(static_cast<polymorphic_derived1 *>(NULL));
-    oa.register_type(static_cast<polymorphic_derived2 *>(NULL));
-    oa << BOOST_SERIALIZATION_NVP(rb1); 
-    oa << BOOST_SERIALIZATION_NVP(rb2);
-
-    delete rb1;
-    delete rb2;
-}
-
-// load registered polymorphic class
-void load_registered(const char *testfile)
-{
-    test_istream is(testfile, TEST_STREAM_FLAGS);
-    test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-
-    polymorphic_base *rb1 = NULL;
-    polymorphic_base *rb2 = NULL;
-
-    // registration (forward declaration) will permit correct serialization
-    // through a pointer to a base class
-    ia.register_type(static_cast<polymorphic_derived1 *>(NULL));
-    ia.register_type(static_cast<polymorphic_derived2 *>(NULL));
-
-    ia >> BOOST_SERIALIZATION_NVP(rb1);
-
-    BOOST_CHECK_MESSAGE(NULL != rb1, "Load resulted in NULL pointer");
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<
-            polymorphic_derived1
-        >::type::get_const_instance()
-        == 
-        * boost::serialization::type_info_implementation<
-            polymorphic_base
-        >::type::get_const_instance().get_derived_extended_type_info(*rb1),
-        "restored pointer b1 not of correct type"
-    );
-
-    ia >> BOOST_SERIALIZATION_NVP(rb2);
-    BOOST_CHECK_MESSAGE(NULL != rb2, "Load resulted in NULL pointer");
-    BOOST_CHECK_MESSAGE(
-        boost::serialization::type_info_implementation<
-            polymorphic_derived2
-        >::type::get_const_instance()
-        == 
-        * boost::serialization::type_info_implementation<
-            polymorphic_base
-        >::type::get_const_instance().get_derived_extended_type_info(*rb2),
-        "restored pointer b2 not of correct type"
-    );
-
-    delete rb1;
-    delete rb2;
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-    save_unregistered1(testfile);
-//  load_unregistered1(testfile);
-    save_unregistered2(testfile);
-    load_unregistered2(testfile);
-    save_registered(testfile);
-    load_registered(testfile);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_utf8_codecvt.cpp b/SRC/Boost/libs/serialization/test/test_utf8_codecvt.cpp
deleted file mode 100755
index 8a6d70f..0000000
--- a/SRC/Boost/libs/serialization/test/test_utf8_codecvt.cpp
+++ /dev/null
@@ -1,260 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_utf8_codecvt.cpp
-
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <algorithm>
-#include <fstream>
-#include <iostream>
-#include <iterator>
-#include <locale>
-#include <vector>
-#include <string>
-
-#include <cstddef> // size_t
-#include <cwchar>
-#include <boost/config.hpp>
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-    using ::wcslen;
-#ifndef UNDER_CE    
-    using ::w_int;
-#endif    
-} // namespace std
-#endif
-
-// Note: copied from boost/iostreams/char_traits.hpp
-//
-// Dinkumware that comes with QNX Momentics 6.3.0, 4.0.2, incorrectly defines
-// the EOF and WEOF macros to not std:: qualify the wint_t type (and so does
-// Sun C++ 5.8 + STLport 4). Fix by placing the def in this scope.
-// NOTE: Use BOOST_WORKAROUND?
-#if (defined(__QNX__) && defined(BOOST_DINKUMWARE_STDLIB))  \
-    || defined(__SUNPRO_CC)
-using ::std::wint_t;
-#endif
-
-#include "test_tools.hpp"
-#include <boost/archive/iterators/istream_iterator.hpp>
-#include <boost/archive/iterators/ostream_iterator.hpp>
-
-#include <boost/archive/add_facet.hpp>
-#include <boost/archive/detail/utf8_codecvt_facet.hpp>
-
-template<std::size_t s>
-struct test_data
-{
-    static unsigned char utf8_encoding[];
-    static wchar_t wchar_encoding[];
-};
-
-template<>
-unsigned char test_data<2>::utf8_encoding[] = {
-    0x01,
-    0x7f,
-    0xc2, 0x80,
-    0xdf, 0xbf,
-    0xe0, 0xa0, 0x80,
-    0xe7, 0xbf, 0xbf
-};
-
-template<>
-wchar_t test_data<2>::wchar_encoding[] = {
-    0x0001,
-    0x007f,
-    0x0080,
-    0x07ff,
-    0x0800,
-    0x7fff
-};
-
-template<>
-unsigned char test_data<4>::utf8_encoding[] = {
-    0x01,
-    0x7f,
-    0xc2, 0x80,
-    0xdf, 0xbf,
-    0xe0, 0xa0, 0x80,
-    0xef, 0xbf, 0xbf,
-    0xf0, 0x90, 0x80, 0x80,
-    0xf4, 0x8f, 0xbf, 0xbf,
-    0xf7, 0xbf, 0xbf, 0xbf,
-    0xf8, 0x88, 0x80, 0x80, 0x80,
-    0xfb, 0xbf, 0xbf, 0xbf, 0xbf,
-    0xfc, 0x84, 0x80, 0x80, 0x80, 0x80,
-    0xfd, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf
-};
-
-template<>
-wchar_t test_data<4>::wchar_encoding[] = {
-    0x00000001,
-    0x0000007f,
-    0x00000080,
-    0x000007ff,
-    0x00000800,
-    0x0000ffff,
-    0x00010000,
-    0x0010ffff,
-    0x001fffff,
-    0x00200000,
-    0x03ffffff,
-    0x04000000,
-    0x7fffffff
-};
-
-int
-test_main(int /* argc */, char * /* argv */[]) {
-    std::locale old_loc;
-    std::locale * utf8_locale
-        = boost::archive::add_facet(
-            old_loc, 
-            new boost::archive::detail::utf8_codecvt_facet
-        );
-
-    typedef char utf8_t;
-    typedef test_data<sizeof(wchar_t)> td;
-
-    // Send our test UTF-8 data to file
-    {
-        std::ofstream ofs;
-        ofs.open("test.dat", std::ios::binary);
-        std::copy(
-            td::utf8_encoding,
-            #if ! defined(__BORLANDC__)
-                // borland 5.60 complains about this
-                td::utf8_encoding + sizeof(td::utf8_encoding) / sizeof(unsigned char),
-            #else
-                // so use this instead
-                td::utf8_encoding + 12,
-            #endif
-            boost::archive::iterators::ostream_iterator<utf8_t>(ofs)
-        );
-    }
-
-    // Read the test data back in, converting to UCS-4 on the way in
-    std::vector<wchar_t> from_file;
-    {
-        std::wifstream ifs;
-        ifs.imbue(*utf8_locale);
-        ifs.open("test.dat");
-
-        std::wint_t item = 0;
-        // note can't use normal vector from iterator constructor because
-        // dinkumware doesn't have it.
-        for(;;){
-            item = ifs.get();
-            if(item == WEOF)
-                break;
-            //ifs >> item;
-            //if(ifs.eof())
-            //    break;
-            from_file.push_back(item);
-        }
-    }
-
-    // compare the data read back in with the orginal
-    #if ! defined(__BORLANDC__)
-        // borland 5.60 complains about this
-        BOOST_CHECK(from_file.size() == sizeof(td::wchar_encoding)/sizeof(wchar_t));
-    #else
-        // so use this instead
-        BOOST_CHECK(from_file.size() == 6);
-    #endif
-
-    BOOST_CHECK(std::equal(from_file.begin(), from_file.end(), td::wchar_encoding));
-  
-    // Send the UCS4_data back out, converting to UTF-8
-    {
-        std::wofstream ofs;
-        ofs.imbue(*utf8_locale);
-        ofs.open("test2.dat");
-        std::copy(
-            from_file.begin(),
-            from_file.end(),
-            boost::archive::iterators::ostream_iterator<wchar_t>(ofs)
-        );
-    }
-
-    // Make sure that both files are the same
-    {
-        typedef boost::archive::iterators::istream_iterator<utf8_t> is_iter;
-        is_iter end_iter;
-
-        std::ifstream ifs1("test.dat");
-        is_iter it1(ifs1);
-        std::vector<utf8_t> data1;
-        std::copy(it1, end_iter, std::back_inserter(data1));
-
-        std::ifstream ifs2("test2.dat");
-        is_iter it2(ifs2);
-        std::vector<utf8_t> data2;
-        std::copy(it2, end_iter, std::back_inserter(data2));
-
-        BOOST_CHECK(data1 == data2);
-    }
-
-    // some libraries have trouble that only shows up with longer strings
-    
-    const wchar_t * test3_data = L"\
-    <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\
-    <!DOCTYPE boost_serialization>\
-    <boost_serialization signature=\"serialization::archive\" version=\"3\">\
-    <a class_id=\"0\" tracking_level=\"0\">\
-        <b>1</b>\
-        <f>96953204</f>\
-        <g>177129195</g>\
-        <l>1</l>\
-        <m>5627</m>\
-        <n>23010</n>\
-        <o>7419</o>\
-        <p>16212</p>\
-        <q>4086</q>\
-        <r>2749</r>\
-        <c>-33</c>\
-        <s>124</s>\
-        <t>28</t>\
-        <u>32225</u>\
-        <v>17543</v>\
-        <w>0.84431422</w>\
-        <x>1.0170664757130923</x>\
-        <y>tjbx</y>\
-        <z>cuwjentqpkejp</z>\
-    </a>\
-    </boost_serialization>\
-    ";
-    
-    // Send the UCS4_data back out, converting to UTF-8
-    std::size_t l = std::wcslen(test3_data);
-    {
-        std::wofstream ofs;
-        ofs.imbue(*utf8_locale);
-        ofs.open("test3.dat");
-        std::copy(
-            test3_data,
-            test3_data + l,
-            boost::archive::iterators::ostream_iterator<wchar_t>(ofs)
-        );
-    }
-
-    // Make sure that both files are the same
-    {
-        std::wifstream ifs;
-        ifs.imbue(*utf8_locale);
-        ifs.open("test3.dat");
-        BOOST_CHECK(
-            std::equal(
-                test3_data,
-                test3_data + l,
-                boost::archive::iterators::istream_iterator<wchar_t>(ifs)
-            )
-        );
-    }
-
-    delete utf8_locale;
-    return EXIT_SUCCESS;
-}
diff --git a/SRC/Boost/libs/serialization/test/test_valarray.cpp b/SRC/Boost/libs/serialization/test/test_valarray.cpp
deleted file mode 100755
index 011c73a..0000000
--- a/SRC/Boost/libs/serialization/test/test_valarray.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_valarrray.cpp
-
-// (C) Copyright 2005 Matthias Troyer . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/valarray.hpp>
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    // test array of objects
-    std::valarray<int> avalarray(2);
-    avalarray[0] = 42;
-    avalarray[1] = -42;
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("avalarray", avalarray);
-    }
-    std::valarray<int> avalarray1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("avalarray", avalarray1);
-    }
-    bool equal = (    avalarray.size() == avalarray1.size() 
-                   && avalarray[0] == avalarray1[0]
-                   && avalarray[1] == avalarray1[1]
-                 );
-                  
-    BOOST_CHECK(equal);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_variant.cpp b/SRC/Boost/libs/serialization/test/test_variant.cpp
deleted file mode 100755
index 368fa6c..0000000
--- a/SRC/Boost/libs/serialization/test/test_variant.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_variant.cpp
-// test of non-intrusive serialization of variant types
-//
-// copyright (c) 2005   
-// troy d. straszheim <troy at resophonic.com>
-// http://www.resophonic.com
-//
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org for updates, documentation, and revision history.
-//
-// thanks to Robert Ramey and Peter Dimov.
-//
-
-#include <cstddef> // NULL
-#include <cstdio> // remove
-#include <fstream>
-#include <cmath> // for fabs()
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/serialization/throw_exception.hpp>
-
-#if defined(_MSC_VER) && (_MSC_VER <= 1020)
-#  pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/archive/archive_exception.hpp>
-
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/variant.hpp>
-
-#include "A.hpp"
-#include "A.ipp"
-
-class are_equal
-    : public boost::static_visitor<bool>
-{
-public:
-    // note extra rigamorole for compilers which don't support
-    // partial function template ordering - specfically msvc 6.x
-    struct same {
-        template<class T, class U>
-        static bool invoke(const T & t, const U & u){
-            return t == u;
-        }
-    };
-
-    struct not_same {
-        template<class T, class U>
-        static bool invoke(const T &, const U &){
-            return false;
-        }
-    };
-
-    template <class T, class U>
-    bool operator()( const T & t, const U & u) const 
-    {
-        typedef BOOST_DEDUCED_TYPENAME boost::mpl::eval_if<boost::is_same<T, U>,
-            boost::mpl::identity<same>,
-            boost::mpl::identity<not_same>
-        >::type type;
-        return type::invoke(t, u);
-    }
-
-    bool operator()( const float & lhs, const float & rhs ) const
-    {
-        return std::fabs(lhs- rhs) < std::numeric_limits<float>::round_error();
-    }
-    bool operator()( const double & lhs, const double & rhs ) const
-    {
-        return std::fabs(lhs - rhs) < std::numeric_limits<float>::round_error();
-    }
-};
-
-template <class T>
-void test_type(const T& gets_written){
-   const char * testfile = boost::archive::tmpnam(NULL);
-   BOOST_REQUIRE(testfile != NULL);
-   {
-      test_ostream os(testfile, TEST_STREAM_FLAGS);
-      test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-      oa << boost::serialization::make_nvp("written", gets_written);
-   }
-
-   T got_read;
-   {
-      test_istream is(testfile, TEST_STREAM_FLAGS);
-      test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-      ia >> boost::serialization::make_nvp("written", got_read);
-   }
-   BOOST_CHECK(boost::apply_visitor(are_equal(), gets_written, got_read));
-
-   std::remove(testfile);
-}
-
-// this verifies that if you try to read in a variant from a file
-// whose "which" is illegal for the one in memory (that is, you're
-// reading in to a different variant than you wrote out to) the load()
-// operation will throw.  One could concievably add checking for
-// sequence length as well, but this would add size to the archive for
-// dubious benefit.
-//
-void do_bad_read()
-{
-    // Compiling this test invokes and ICE on msvc 6
-    // So, we'll just to skip it for this compiler
-    #if defined(_MSC_VER) && (_MSC_VER <= 1020)
-        boost::variant<bool, float, int, std::string> big_variant;
-        big_variant = std::string("adrenochrome");
-
-        const char * testfile = boost::archive::tmpnam(NULL);
-        BOOST_REQUIRE(testfile != NULL);
-        {
-            test_ostream os(testfile, TEST_STREAM_FLAGS);
-            test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-            oa << BOOST_SERIALIZATION_NVP(big_variant);
-        }
-        boost::variant<bool, float, int> little_variant;
-        {
-            test_istream is(testfile, TEST_STREAM_FLAGS);
-            test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-            bool exception_invoked = false;
-            BOOST_TRY {
-                ia >> BOOST_SERIALIZATION_NVP(little_variant);
-            } BOOST_CATCH (boost::archive::archive_exception e) {
-                BOOST_CHECK(boost::archive::archive_exception::unsupported_version == e.code);
-                exception_invoked = true;
-            }
-            BOOST_CATCH_END
-            BOOST_CHECK(exception_invoked);
-        }
-    #endif
-}
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-   {
-      boost::variant<bool, int, float, double, A, std::string> v;
-      v = false;
-      test_type(v);
-      v = 1;
-      test_type(v);
-      v = (float) 2.3;
-      test_type(v);
-      v = (double) 6.4;
-      test_type(v);
-      v = std::string("we can't stop here, this is Bat Country");
-      test_type(v);
-      v = A();
-      test_type(v);
-   }
-   do_bad_read();
-   return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_vector.cpp b/SRC/Boost/libs/serialization/test/test_vector.cpp
deleted file mode 100755
index 9b2ca15..0000000
--- a/SRC/Boost/libs/serialization/test/test_vector.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_vector.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// should pass compilation and execution
-
-#include <cstddef> // NULL
-#include <fstream>
-
-#include <cstdio> // remove
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::remove;
-}
-#endif
-
-#include "test_tools.hpp"
-
-#include <boost/serialization/vector.hpp>
-
-#include "A.hpp"
-#include "A.ipp"
-
-template <class T>
-int test_vector(T)
-{
-    const char * testfile = boost::archive::tmpnam(NULL);
-    BOOST_REQUIRE(NULL != testfile);
-
-    // test array of objects
-    std::vector< T > avector;
-    avector.push_back(T());
-    avector.push_back(T());
-    {   
-        test_ostream os(testfile, TEST_STREAM_FLAGS);
-        test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
-        oa << boost::serialization::make_nvp("avector", avector);
-    }
-    std::vector< T > avector1;
-    {
-        test_istream is(testfile, TEST_STREAM_FLAGS);
-        test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
-        ia >> boost::serialization::make_nvp("avector", avector1);
-    }
-    BOOST_CHECK(avector == avector1);
-    std::remove(testfile);
-    return EXIT_SUCCESS;
-}
-
-int test_main( int /* argc */, char* /* argv */[] )
-{
-   int res = test_vector(A());
-    // test an int vector for which optimized versions should be available
-   if (res == EXIT_SUCCESS)
-     res = test_vector(0);  
-    // test a bool vector
-   if (res == EXIT_SUCCESS)
-     res = test_vector(false);  
-   return res;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/test_void_cast.cpp b/SRC/Boost/libs/serialization/test/test_void_cast.cpp
deleted file mode 100755
index 16f2b0e..0000000
--- a/SRC/Boost/libs/serialization/test/test_void_cast.cpp
+++ /dev/null
@@ -1,165 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_void_cast.cpp: test implementation of run-time casting of void pointers
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-// <gennadiy.rozental at tfn.com>
-
-#include <cstddef> // NULL
-#include "test_tools.hpp"
-#include <boost/serialization/extended_type_info_typeid.hpp>
-#include <boost/serialization/void_cast.hpp>
-#include <boost/serialization/singleton.hpp>
-
-class Base1
-{
-    char a;
-};
-
-class Base2
-{
-    int b;
-};
-
-class Derived : public Base1, public Base2
-{
-    long c;
-};
-
-class MostDerived : public Derived
-{
-    char d[32];
-};
-
-template<class T>
-const boost::serialization::extended_type_info & eti(){
-    return boost::serialization::singleton<
-        boost::serialization::extended_type_info_typeid< T >
-    >::get_const_instance();
-}
-
-int
-test_main( int /* argc */, char* /* argv */[] )
-{
-    MostDerived md;
-    MostDerived* pmd =& md;
-    Derived* pd = static_cast<Derived*>(pmd);
-
-    Base2* pb2 = static_cast<Base2*>(pmd);
-    Base1* pb1 = static_cast<Base1*>(pd);
-
-    void* vpmd = static_cast<void*>(pmd);
-    void* vpb1 = static_cast<void*>(pb1);
-    void* vpb2 = static_cast<void*>(pb2);
-    void* vpd = static_cast<void*>(pd);
-
-    // simple casts only requiring table lookup
-    BOOST_CHECK(vpd == boost::serialization::void_downcast(
-        eti<Derived>(),
-        eti<Base1>(),
-        vpb1
-    ));
-    BOOST_CHECK(vpb1 == boost::serialization::void_upcast(
-        eti<Derived>(),
-        eti<Base1>(),
-        vpd  
-    ));
-    BOOST_CHECK(vpd == boost::serialization::void_downcast(  
-        eti<Derived>(),
-        eti<Base2>(),
-        vpb2
-    ));
-    BOOST_CHECK(vpb2 == boost::serialization::void_upcast(
-        eti<Derived>(),
-        eti<Base2>(),
-        vpd
-    ));
-    BOOST_CHECK(vpmd == boost::serialization::void_downcast(  
-        eti<MostDerived>(),
-        eti<Derived>(),
-        vpd
-    ));
-    BOOST_CHECK(vpd == boost::serialization::void_upcast(
-        eti<MostDerived>(),
-        eti<Derived>(),
-        vpmd
-    ));
-    // note relationship between MostDerived and Base1 is automatically derived
-    BOOST_CHECK(vpmd == boost::serialization::void_downcast(  
-        eti<MostDerived>(),
-        eti<Base1>(),
-        vpb1
-    ));
-    BOOST_CHECK(vpb1 == boost::serialization::void_upcast(
-        eti<MostDerived>(),
-        eti<Base1>(),
-        vpmd
-    ));
-
-    // note relationship between MostDerived and Base2 is automatically derived
-    BOOST_CHECK(vpmd == boost::serialization::void_downcast(  
-        eti<MostDerived>(),
-        eti<Base2>(),
-        vpb2
-    ));
-    BOOST_CHECK(vpb2 == boost::serialization::void_upcast(
-        eti<MostDerived>(),
-        eti<Base2>(),
-        vpmd
-    ));
-
-    // note: currently derivations are not optimised.  See void_cast.cpp
-    // for and explanation.  These should still work though.
-
-    // need to double check to validate speed up optimization of derivations
-    BOOST_CHECK(vpmd == boost::serialization::void_downcast(  
-        eti<MostDerived>(),
-        eti<Base1>(),
-        vpb1
-    ));
-    BOOST_CHECK(vpb1 == boost::serialization::void_upcast(
-        eti<MostDerived>(),
-        eti<Base1>(),
-        vpmd
-    ));
-    BOOST_CHECK(vpmd == boost::serialization::void_downcast(
-        eti<MostDerived>(),
-        eti<Base2>(),
-        vpb2
-    ));
-    BOOST_CHECK(vpb2 == boost::serialization::void_upcast(
-        eti<MostDerived>(),
-        eti<Base2>(),
-        vpmd
-    ));
-
-    // check things that should fail
-    BOOST_CHECK(NULL == boost::serialization::void_downcast(
-        eti<Base2>(),
-        eti<Base1>(),
-        vpb1
-    ));
-
-    // note that a fundamental feature is that derived/base pairs are created
-    // at compiler time so that all are registered before the main program starts
-    // so leave the registration here at the end to verify this. Note bogus arguments
-    // to workaround msvc 6 bug
-    boost::serialization::void_cast_register<Derived, Base1>(
-        static_cast<Derived *>(NULL),
-        static_cast<Base1 *>(NULL)
-    );
-    boost::serialization::void_cast_register<Derived, Base2>(
-        static_cast<Derived *>(NULL),
-        static_cast<Base2 *>(NULL)
-    );
-    boost::serialization::void_cast_register<MostDerived, Derived>(
-        static_cast<MostDerived *>(NULL),
-        static_cast<Derived *>(NULL)
-    );
-
-    return EXIT_SUCCESS;
-}
-
-// EOF
diff --git a/SRC/Boost/libs/serialization/test/text_archive.hpp b/SRC/Boost/libs/serialization/test/text_archive.hpp
deleted file mode 100755
index 9547950..0000000
--- a/SRC/Boost/libs/serialization/test/text_archive.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-// text_archive
-#include <boost/archive/text_oarchive.hpp>
-typedef boost::archive::text_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/text_iarchive.hpp>
-typedef boost::archive::text_iarchive test_iarchive;
-typedef std::ifstream test_istream;
diff --git a/SRC/Boost/libs/serialization/test/text_warchive.hpp b/SRC/Boost/libs/serialization/test/text_warchive.hpp
deleted file mode 100755
index 8f12b43..0000000
--- a/SRC/Boost/libs/serialization/test/text_warchive.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-// text_warchive
-#include <boost/archive/text_woarchive.hpp>
-typedef boost::archive::text_woarchive test_oarchive;
-typedef std::wofstream test_ostream;
-#include <boost/archive/text_wiarchive.hpp>
-typedef boost::archive::text_wiarchive test_iarchive;
-typedef std::wifstream test_istream;
diff --git a/SRC/Boost/libs/serialization/test/xml_archive.hpp b/SRC/Boost/libs/serialization/test/xml_archive.hpp
deleted file mode 100755
index 418768d..0000000
--- a/SRC/Boost/libs/serialization/test/xml_archive.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-// xml_archive
-#include <boost/archive/xml_oarchive.hpp>
-typedef boost::archive::xml_oarchive test_oarchive;
-typedef std::ofstream test_ostream;
-#include <boost/archive/xml_iarchive.hpp>
-typedef boost::archive::xml_iarchive test_iarchive;
-typedef std::ifstream test_istream;
diff --git a/SRC/Boost/libs/serialization/test/xml_warchive.hpp b/SRC/Boost/libs/serialization/test/xml_warchive.hpp
deleted file mode 100755
index cc01e9e..0000000
--- a/SRC/Boost/libs/serialization/test/xml_warchive.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-// xml_warchive
-#include <boost/archive/xml_woarchive.hpp>
-typedef boost::archive::xml_woarchive test_oarchive;
-typedef std::wofstream test_ostream;
-#include <boost/archive/xml_wiarchive.hpp>
-typedef boost::archive::xml_wiarchive test_iarchive;
-typedef std::wifstream test_istream;
diff --git a/SRC/Boost/libs/serialization/util/test.jam b/SRC/Boost/libs/serialization/util/test.jam
deleted file mode 100755
index ffa8d2d..0000000
--- a/SRC/Boost/libs/serialization/util/test.jam
+++ /dev/null
@@ -1,188 +0,0 @@
-# Boost serialization Library utility test Jamfile
-
-#  (C) Copyright Robert Ramey 2002-2004.
-#  Use, modification, and distribution are subject to the 
-#  Boost Software License, Version 1.0. (See accompanying file 
-#  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-
-# the file contains Jam rules which are used in both the normal
-# boost test, as well as the performance test and comprehensive
-# tests.
-
-BOOST_ARCHIVE_LIST = [ modules.peek : BOOST_ARCHIVE_LIST ] ;
-
-# these are used to shorten testing while in development.  It permits
-# testing to be applied to just a particular type of archive
-if ! $(BOOST_ARCHIVE_LIST) {
-    BOOST_ARCHIVE_LIST = 
-        "text_archive.hpp" 
-        "text_warchive.hpp" 
-        "binary_archive.hpp" 
-        "xml_archive.hpp" 
-        "xml_warchive.hpp" 
-    ;
-    # enable the tests which don't depend on a particular archive
-    BOOST_SERIALIZATION_TEST = true ;
-}
-
-rule run-template ( test-name : sources * : requirements * ) {
-    return [
-        run
-            $(sources)
-        : # command
-        : # input files
-        : # requirements
-            # toolset warnings
-            # <toolset>gcc:<cxxflags>"-Wno-non-virtual-dtor -Wno-ctor-dtor-privacy"
-            <toolset>borland:<cxxflags>"-w-8080 -w-8071 -w-8057 -w-8062 -w-8008 -w-0018 -w-8066"
-            <toolset>gcc:<warnings>all # ?
-            <toolset>gcc:<cxxflags>"-Wno-long-long"
-            <toolset>msvc:<warnings>all # == /W4
-            <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
-            <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
-            <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
-            <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
-            <toolset>msvc:<cxxflags>"-wd4996"
-            # toolset optimizations
-            <toolset>gcc:<cxxflags>"-ftemplate-depth-255"
-            <toolset>msvc:<cxxflags>"-Gy"
-            $(requirements)
-        : # test name
-            $(test-name)
-    ] ;
-}
-
-# Given a name of test, return the 'save' test that must be run
-# before the named test, or empty string if there's no such test.
-rule dependency-save-test ( test )
-{
-    local m = [ MATCH (.*)load(.*) : $(test) ] ;
-    if $(m)
-    {
-        return $(m[1])save$(m[2]) ;
-    }  
-}
-
-# each of the following tests is run with each type of archive
-rule run-invoke ( test-name : sources * : requirements * )
-{
-    local save-test = [ dependency-save-test $(test-name) ] ;
-
-    local tests ;
-    tests += [ 
-        run-template $(test-name)
-        : # sources
-            $(sources)
-            ../build//boost_serialization
-        : # requirements
-            $(requirements)
-            <define>BOOST_LIB_DIAGNOSTIC=1
-            <dependency>$(save-test)
-    ] ;
-    return $(tests) ;
-}
-
-# each of the following tests is run with each type of archive
-rule run-winvoke ( test-name : sources * : requirements * )
-{
-    local save-test = [ dependency-save-test $(test-name) ] ;
-
-    local tests ;
-    tests += [ 
-        run-template $(test-name)
-        : # sources
-            $(sources)
-            ../build//boost_serialization
-            ../build//boost_wserialization
-        : # requirements
-            $(requirements)
-            <define>BOOST_LIB_DIAGNOSTIC=1
-            # both stlport and msvc6 define iswspace
-            <toolset>msvc,<stdlib>stlport:<linkflags>"-force:multiple"
-            <dependency>$(save-test)
-            <dependency>../../config/test/all//BOOST_NO_STD_WSTREAMBUF
-    ] ;
-    return $(tests) ;
-}
-
-# for tests which don't use library code - usually just headers
-rule test-bsl-run-no-lib  ( test-name : sources * : requirements * )
-{
-    local tests ;
-    tests += [ 
-        run-template $(test-name)
-        : # sources
-            $(test-name).cpp $(sources).cpp
-        :
-            $(requirements)
-    ] ;
-    return $(tests) ;
-}
-
-# for tests which are run just once rather than for every archive
-rule test-bsl-run ( test-name : sources * : libs * : requirements * )
-{
-    local tests ;
-    tests +=  [ 
-        run-invoke $(test-name) 
-        : # sources
-            $(test-name).cpp $(sources).cpp $(libs)
-        :
-            $(requirements)
-    ] ;
-    return $(tests) ;
-}
-
-rule test-bsl-run_archive ( test-name : archive-name : sources * : libs * : requirements * ) {
-    local tests ;
-    switch $(archive-name) {
-    case "*_warchive" :
-        tests +=  [
-            run-winvoke $(test-name)_$(archive-name)
-            : 
-                $(sources).cpp $(libs)
-            :
-                <define>BOOST_ARCHIVE_TEST=$(archive-name).hpp
-                $(requirements)
-        ] ;
-    case "*" :
-        tests +=  [
-            run-invoke $(test-name)_$(archive-name)
-            : 
-                $(sources).cpp $(libs)
-            : 
-                <define>BOOST_ARCHIVE_TEST=$(archive-name).hpp
-                $(requirements)
-        ] ;
-    }
-    return $(tests) ;
-}
-
-rule test-bsl-run_files ( test-name : sources * : libs * : requirements * ) {
-    local tests ;
-    for local defn in $(BOOST_ARCHIVE_LIST) {
-        tests += [ 
-            test-bsl-run_archive $(test-name) 
-            : $(defn:LB) 
-            : $(test-name) $(sources) 
-            : $(libs)
-            : $(requirements)
-        ] ;
-    }
-    return $(tests) ;
-}
-    
-rule test-bsl-run_polymorphic_archive ( test-name : sources * ) {
-    local tests ;
-    for local defn in $(BOOST_ARCHIVE_LIST) {
-        tests += [ 
-            test-bsl-run_archive $(test-name)
-            : polymorphic_$(defn:LB)  
-            : $(test-name) $(sources)
-        ] ;
-    }
-    return $(tests) ;
-}
-
-
diff --git a/SRC/Boost/libs/serialization/vc7ide/BoostSerializationLibrary.sln b/SRC/Boost/libs/serialization/vc7ide/BoostSerializationLibrary.sln
deleted file mode 100755
index 85563bb..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/BoostSerializationLibrary.sln
+++ /dev/null
@@ -1,8086 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo", "demo.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_auto_ptr", "demo_auto_ptr.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_dll", "demo_dll.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_exception", "demo_exception.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_fast_archive", "demo_fast_archive.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_log", "demo_log.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_pimpl", "demo_pimpl.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_polymorphic", "demo_polymorphic.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_portable_archive", "demo_portable_archive.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_shared_ptr", "demo_shared_ptr.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_simple_log", "demo_simple_log.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_trivial_archive", "demo_trivial_archive.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_xml", "demo_xml.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_xml_load", "demo_xml_load.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "demo_xml_save", "demo_xml_save.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dll_a", "dll_a.vcproj", "{CED1BD64-563F-485D-AE69-668797013AA0}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dll_base", "dll_base.vcproj", "{CED1BD64-563F-485D-AE69-668797013AA0}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dll_derived2", "dll_derived2.vcproj", "{CED1BD64-563F-485D-AE69-668797013AA0}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fix_six", "fix_six.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Manual", "Manual.vcproj", "{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_array", "test_array.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dll_polymorphic_derived2", "dll_polymorphic_derived2.vcproj", "{CED1BD64-563F-485D-AE69-668797013AA0}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_binary", "test_binary.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_bitset", "test_bitset.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_check", "test_check.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_class_info_load", "test_class_info_load.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_class_info_save", "test_class_info_save.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_codecvt_null", "test_codecvt_null.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_complex", "test_complex.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_const", "test_const.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_const_warn", "test_const_fail.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_const_pass", "test_const_pass.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_contained_class", "test_contained_class.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_cyclic_ptrs", "test_cyclic_ptrs.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_delete_pointer", "test_delete_pointer.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_deque", "test_deque.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_derived", "test_derived.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_derived_class", "test_derived_class.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_derived_class_ptr", "test_derived_class_ptr.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_diamond", "test_diamond.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_diamond_complex", "test_diamond_complex.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_dll_exported", "test_dll_exported.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_dll_plugin", "test_dll_plugin.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_dll_simple", "test_dll_simple.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_exported", "test_exported.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_inclusion", "test_inclusion.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_iterators", "test_iterators.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_iterators_base64", "test_iterators_base64.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_list", "test_list.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_list_ptrs", "test_list_ptrs.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_map", "test_map.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_mi", "test_mi.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_mult_archive_types", "test_mult_archive_types.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_multiple_inheritance", "test_multiple_inheritance.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_multiple_ptrs", "test_multiple_ptrs.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_new_operator", "test_new_operator.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_no_rtti", "test_no_rtti.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_non_default_ctor", "test_non_default_ctor.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_non_default_ctor2", "test_non_default_ctor2.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_non_intrusive", "test_non_intrusive.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_not_serializable", "test_not_serializable.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_null_ptr", "test_null_ptr.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_nvp", "test_nvp.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_object", "test_object.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_optional", "test_optional.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_polymorphic", "test_polymorphic.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_polymorphic2", "test_polymorphic2.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_primitive", "test_primitive.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_private_ctor", "test_private_ctor.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_private_base", "test_private_base.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_recursion", "test_recursion.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_registered", "test_registered.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_reset_object_address", "test_reset_object_addr.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_set", "test_set.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_shared_ptr", "test_shared_ptr.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_shared_ptr_132", "test_shared_ptr_132.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_shared_ptr_multi_base", "test_shared_ptr_multi_base.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_simple_class", "test_simple_class.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_simple_class_ptr", "test_simple_class_ptr.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_singleton", "test_singleton.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_smart_cast", "test_smart_cast.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_split", "test_split.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_static_warning", "test_static_warning.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_strong_typedef", "test_strong_typedef.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_tracking", "test_tracking.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_traits_fail", "test_traits_fail.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_traits_pass", "test_traits_pass.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_unregistered", "test_unregistered.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_utf8_codecvt", "test_utf8_codecvt.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_valarray", "test_valarray.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_variant", "test_variant.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_vector", "test_vector.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_void_cast", "test_void_cast.vcproj", "{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_zmisc", "test_zmisc.vcproj", "{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Serialization", "Serialization.vcproj", "{30E10563-960A-11D7-9FE9-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SerializationW", "SerializationW.vcproj", "{30E10563-960A-11D7-9FE9-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FileSystem", "FileSystem.vcproj", "{30E10563-960A-11D7-9FE9-525400E2CF85}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "System", "System.vcproj", "{30E10563-960A-11D7-9FE9-525400E2CF86}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Global
-	GlobalSection(SolutionConfiguration) = preSolution
-		Debug = Debug
-		Debug runtime-dynamic = Debug runtime-dynamic
-		Debug runtime-dynamic binary_archive = Debug runtime-dynamic binary_archive
-		Debug runtime-dynamic text_archive = Debug runtime-dynamic text_archive
-		Debug runtime-dynamic text_warchive = Debug runtime-dynamic text_warchive
-		Debug runtime-dynamic threading-multi = Debug runtime-dynamic threading-multi
-		Debug runtime-dynamic xml_archive = Debug runtime-dynamic xml_archive
-		Debug runtime-dynamic xml_warchive = Debug runtime-dynamic xml_warchive
-		Debug runtime-static = Debug runtime-static
-		Debug runtime-static binary_archive = Debug runtime-static binary_archive
-		Debug runtime-static text_archive = Debug runtime-static text_archive
-		Debug runtime-static text_warchive = Debug runtime-static text_warchive
-		Debug runtime-static threading-multi = Debug runtime-static threading-multi
-		Debug runtime-static threading-multi binary_archive = Debug runtime-static threading-multi binary_archive
-		Debug runtime-static threading-multi text_archive = Debug runtime-static threading-multi text_archive
-		Debug runtime-static threading-multi text_warchive = Debug runtime-static threading-multi text_warchive
-		Debug runtime-static threading-multi xml_archive = Debug runtime-static threading-multi xml_archive
-		Debug runtime-static threading-multi xml_warchive = Debug runtime-static threading-multi xml_warchive
-		Debug runtime-static xml_archive = Debug runtime-static xml_archive
-		Debug runtime-static xml_warchive = Debug runtime-static xml_warchive
-		Release = Release
-		Release runtime-dynamic = Release runtime-dynamic
-		Release runtime-dynamic binary_archive = Release runtime-dynamic binary_archive
-		Release runtime-dynamic text_archive = Release runtime-dynamic text_archive
-		Release runtime-dynamic text_warchive = Release runtime-dynamic text_warchive
-		Release runtime-dynamic xml_archive = Release runtime-dynamic xml_archive
-		Release runtime-dynamic xml_warchive = Release runtime-dynamic xml_warchive
-		Release runtime-static = Release runtime-static
-		Release runtime-static binary_archive = Release runtime-static binary_archive
-		Release runtime-static text_archive = Release runtime-static text_archive
-		Release runtime-static text_warchive = Release runtime-static text_warchive
-		Release runtime-static threading-multi = Release runtime-static threading-multi
-		Release runtime-static threading-multi binary_archive = Release runtime-static threading-multi binary_archive
-		Release runtime-static threading-multi text_archive = Release runtime-static threading-multi text_archive
-		Release runtime-static threading-multi text_warchive = Release runtime-static threading-multi text_warchive
-		Release runtime-static threading-multi xml_archive = Release runtime-static threading-multi xml_archive
-		Release runtime-static threading-multi xml_warchive = Release runtime-static threading-multi xml_warchive
-		Release runtime-static xml_archive = Release runtime-static xml_archive
-		Release runtime-static xml_warchive = Release runtime-static xml_warchive
-	EndGlobalSection
-	GlobalSection(ProjectConfiguration) = postSolution
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release.ActiveCfg = Release|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release.Build.0 = Release|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release.ActiveCfg = Release|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release.Build.0 = Release|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release.ActiveCfg = Release|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release.Build.0 = Release|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic binary_archive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic text_archive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic text_archive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic text_warchive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic threading-multi.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic xml_archive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-dynamic xml_warchive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static binary_archive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static binary_archive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static text_archive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static text_archive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static text_warchive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static text_warchive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static threading-multi.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static threading-multi.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static threading-multi text_archive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static xml_archive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static xml_archive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static xml_warchive.ActiveCfg = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Debug runtime-static xml_warchive.Build.0 = Debug|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-dynamic.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-dynamic.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-dynamic binary_archive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-dynamic binary_archive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-dynamic text_archive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-dynamic text_archive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-dynamic text_warchive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-dynamic text_warchive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-dynamic xml_archive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-dynamic xml_archive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-dynamic xml_warchive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-dynamic xml_warchive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static binary_archive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static binary_archive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static text_archive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static text_archive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static text_warchive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static text_warchive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static threading-multi.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static threading-multi.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static threading-multi binary_archive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static threading-multi text_archive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static threading-multi text_archive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static threading-multi text_warchive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static threading-multi xml_archive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static threading-multi xml_warchive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static xml_archive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static xml_archive.Build.0 = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static xml_warchive.ActiveCfg = Release|Win32
-		{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}.Release runtime-static xml_warchive.Build.0 = Release|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release.ActiveCfg = Release|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release.Build.0 = Release|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{CED1BD64-563F-485D-AE69-668797013AA0}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic binary_archive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic text_archive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic text_archive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic text_warchive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic threading-multi.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic xml_archive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-dynamic xml_warchive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static binary_archive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static binary_archive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static text_archive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static text_archive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static text_warchive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static text_warchive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static threading-multi.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static threading-multi.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static threading-multi text_archive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static xml_archive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static xml_archive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static xml_warchive.ActiveCfg = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Debug runtime-static xml_warchive.Build.0 = Debug|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-dynamic.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-dynamic.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-dynamic binary_archive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-dynamic binary_archive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-dynamic text_archive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-dynamic text_archive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-dynamic text_warchive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-dynamic text_warchive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-dynamic xml_archive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-dynamic xml_archive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-dynamic xml_warchive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-dynamic xml_warchive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static binary_archive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static binary_archive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static text_archive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static text_archive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static text_warchive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static text_warchive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static threading-multi.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static threading-multi.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static threading-multi binary_archive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static threading-multi text_archive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static threading-multi text_archive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static threading-multi text_warchive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static threading-multi xml_archive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static threading-multi xml_warchive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static xml_archive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static xml_archive.Build.0 = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static xml_warchive.ActiveCfg = Release|Win32
-		{20EE99CF-9CFB-44A9-BDA7-98041BBE737B}.Release runtime-static xml_warchive.Build.0 = Release|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static binary_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static binary_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static text_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static text_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static text_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static text_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static threading-multi.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static threading-multi.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static xml_archive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static xml_archive.Build.0 = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-static|Win32
-		{30E10563-960A-11D7-9FE9-525400E2CF86}.Release runtime-static xml_warchive.Build.0 = Release runtime-static|Win32
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-	EndGlobalSection
-	GlobalSection(ExtensibilityAddIns) = postSolution
-	EndGlobalSection
-EndGlobal
diff --git a/SRC/Boost/libs/serialization/vc7ide/Manual.vcproj b/SRC/Boost/libs/serialization/vc7ide/Manual.vcproj
deleted file mode 100755
index 9501ea5..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/Manual.vcproj
+++ /dev/null
@@ -1,260 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="Manual"
-	ProjectGUID="{15EA5B5E-D649-4C1C-80DD-B3CC7FA6658E}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""$(ProjectDir)/../../..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="5"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/Manual.exe"
-				LinkIncremental="2"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)/Manual.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="3"
-				InlineFunctionExpansion="2"
-				OmitFramePointers="TRUE"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				StringPooling="TRUE"
-				RuntimeLibrary="4"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/Manual.exe"
-				LinkIncremental="1"
-				GenerateDebugInformation="FALSE"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="code"
-			Filter="">
-			<File
-				RelativePath="..\doc\special_void_cast.cpp">
-			</File>
-			<File
-				RelativePath="..\doc\trivial_archive.cpp">
-			</File>
-			<File
-				RelativePath="..\doc\tutorial.cpp">
-			</File>
-			<File
-				RelativePath="..\doc\tutorial_array.cpp">
-			</File>
-			<File
-				RelativePath="..\doc\tutorial_array1.cpp">
-			</File>
-			<File
-				RelativePath="..\doc\tutorial_class_versioning.cpp">
-			</File>
-			<File
-				RelativePath="..\doc\tutorial_class_versioning1.cpp">
-			</File>
-			<File
-				RelativePath="..\doc\tutorial_non_intrusive.cpp">
-			</File>
-			<File
-				RelativePath="..\doc\tutorial_split.cpp">
-			</File>
-			<File
-				RelativePath="..\doc\tutorial_stl_containers.cpp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Docmentation"
-			Filter="">
-			<File
-				RelativePath="..\doc\acknowledgments.html">
-			</File>
-			<File
-				RelativePath="..\doc\advice.html">
-			</File>
-			<File
-				RelativePath="..\doc\archive_reference.html">
-			</File>
-			<File
-				RelativePath="..\doc\archives.html">
-			</File>
-			<File
-				RelativePath="..\doc\bibliography.html">
-			</File>
-			<File
-				RelativePath="..\doc\class_diagram.html">
-			</File>
-			<File
-				RelativePath="..\doc\codecvt.html">
-			</File>
-			<File
-				RelativePath="..\doc\contents.html">
-			</File>
-			<File
-				RelativePath="..\doc\Copy of contents.html">
-			</File>
-			<File
-				RelativePath="..\doc\dataflow.html">
-			</File>
-			<File
-				RelativePath="..\doc\derivation.html">
-			</File>
-			<File
-				RelativePath="..\doc\exception_safety.html">
-			</File>
-			<File
-				RelativePath="..\doc\exceptions.html">
-			</File>
-			<File
-				RelativePath="..\doc\faq.html">
-			</File>
-			<File
-				RelativePath="..\doc\headers.html">
-			</File>
-			<File
-				RelativePath="..\doc\history.html">
-			</File>
-			<File
-				RelativePath="..\doc\implementation.html">
-			</File>
-			<File
-				RelativePath="..\doc\index.html">
-			</File>
-			<File
-				RelativePath="..\doc\newarchive.html">
-			</File>
-			<File
-				RelativePath="..\doc\overview.html">
-			</File>
-			<File
-				RelativePath="..\doc\pimpl.html">
-			</File>
-			<File
-				RelativePath="..\doc\rationale.html">
-			</File>
-			<File
-				RelativePath="..\doc\release.html">
-			</File>
-			<File
-				RelativePath="..\doc\serialization.html">
-			</File>
-			<File
-				RelativePath="..\doc\shared_ptr.html">
-			</File>
-			<File
-				RelativePath="..\doc\smart_cast.html">
-			</File>
-			<File
-				RelativePath="..\doc\special.html">
-			</File>
-			<File
-				RelativePath="..\doc\state_saver.html">
-			</File>
-			<File
-				RelativePath="..\doc\static_warning.html">
-			</File>
-			<File
-				RelativePath="..\doc\strong_typedef.html">
-			</File>
-			<File
-				RelativePath="..\doc\style.css">
-			</File>
-			<File
-				RelativePath="..\doc\traits.html">
-			</File>
-			<File
-				RelativePath="..\doc\tutorial.html">
-			</File>
-			<File
-				RelativePath="..\doc\xml_archives.html">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/Serialization.vcproj b/SRC/Boost/libs/serialization/vc7ide/Serialization.vcproj
deleted file mode 100755
index 6039903..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/Serialization.vcproj
+++ /dev/null
@@ -1,842 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="Serialization"
-	ProjectGUID="{30E10563-960A-11D7-9FE9-525400E2CF85}"
-	RootNamespace="Library"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			UseOfMFC="0"
-			CharacterSet="0">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/Zm800 /Ob0"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="FALSE"
-				BasicRuntimeChecks="0"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(ConfigurationName)\boost_serialization-vc71-mt-gd-1_47.dll"
-				GenerateDebugInformation="TRUE"
-				GenerateMapFile="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBRARYTEST_EXPORTS;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				RuntimeLibrary="2"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(ConfigurationName)\boost_serialization-vc71-mt-1.45.dll"
-				LinkIncremental="1"
-				GenerateDebugInformation="TRUE"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary="$(OutDir)/$(TargetName).lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="0">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/Zm800 /Ob0"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;"
-				MinimalRebuild="FALSE"
-				BasicRuntimeChecks="0"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="'$(ConfigurationName)\libboost_serialization-vc71-mt-sgd-1_47.lib""/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="0">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/Zm800"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;BOOST_TEST_NO_AUTO_LINK=1 "
-				RuntimeLibrary="4"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="$(OutDir)/libboost_serialization-vc71-s-1.45.lib"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Serialization User Headers"
-			Filter="">
-			<File
-				RelativePath="..\..\..\boost\serialization\access.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\archive_exception.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\assume_abstract.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\base_object.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\export.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\level.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\level_enum.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\split_free.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\split_member.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\tracking.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\tracking_enum.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\traits.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\type_info_implementation.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\version.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\wrapper.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\xml_archive_exception.hpp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Serialization Implementations"
-			Filter="">
-			<File
-				RelativePath="..\..\..\boost\serialization\array.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\binary_object.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\bitset.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\collection_size_type.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\collection_traits.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\collections_load_imp.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\collections_save_imp.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\complex.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\deque.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\hash_collections_load_imp.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\hash_collections_save_imp.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\hash_map.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\hash_set.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\is_bitwise_serializable.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\item_version_type.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\list.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\map.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\nvp.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\optional.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\scoped_ptr.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\set.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\shared_ptr.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\shared_ptr_132.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\slist.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\string.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\utility.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\valarray.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\variant.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\vector.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\weak_ptr.hpp">
-			</File>
-			<Filter
-				Name="detail"
-				Filter="">
-				<File
-					RelativePath="..\..\..\boost\serialization\detail\shared_count_132.hpp">
-				</File>
-				<File
-					RelativePath="..\..\..\boost\serialization\detail\shared_ptr_132.hpp">
-				</File>
-				<File
-					RelativePath="..\..\..\boost\archive\shared_ptr_helper.hpp">
-				</File>
-			</Filter>
-		</Filter>
-		<Filter
-			Name="Archive Developer Headers"
-			Filter="">
-			<File
-				RelativePath="..\..\..\boost\archive\basic_archive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\basic_binary_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\basic_binary_iprimitive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\basic_binary_oarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\basic_binary_oprimitive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\basic_streambuf_locale_saver.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\basic_text_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\basic_text_iprimitive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\basic_text_oarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\basic_text_oprimitive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\basic_xml_archive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\basic_xml_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\basic_xml_oarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\polymorphic_iarchive_route.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\polymorphic_oarchive_route.hpp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Archive Detail"
-			Filter="">
-			<File
-				RelativePath="..\..\..\boost\archive\detail\archive_serializer_map.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\auto_link_archive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\basic_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\basic_iserializer.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\basic_oarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\basic_oserializer.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\basic_pointer_iserializer.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\basic_pointer_oserializer.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\basic_serializer.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\basic_serializer_map.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\check.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\common_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\common_oarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\export_archive_serializer_map.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\interface_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\interface_oarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\iserializer.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\oserializer.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\register_archive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\serialization.hpp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Utility Headers"
-			Filter="">
-			<File
-				RelativePath="..\..\..\boost\archive\detail\abi_prefix.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\abi_suffix.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\add_facet.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\codecvt_null.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\config.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\decl.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\dinkumware.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\extended_type_info.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\extended_type_info_no_rtti.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\extended_type_info_typeid.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\factory.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\force_include.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\pfto.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\singleton.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\smart_cast.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\state_saver.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\static_warning.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\strong_typedef.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\throw_exception.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\tmpdir.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\void_cast.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\void_cast_fwd.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\wcslen.hpp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Templates"
-			Filter="">
-			<File
-				RelativePath="..\..\..\boost\archive\impl\archive_serializer_map.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_binary_iarchive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_binary_iprimitive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_binary_oarchive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_binary_oprimitive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_text_iarchive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_text_iprimitive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_text_oarchive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_text_oprimitive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_xml_grammar.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_xml_iarchive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_xml_oarchive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\text_iarchive_impl.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\text_oarchive_impl.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\xml_iarchive_impl.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\xml_oarchive_impl.ipp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Archive Implementations"
-			Filter="">
-			<File
-				RelativePath="..\..\..\boost\archive\binary_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\binary_iarchive_impl.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\binary_oarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\binary_oarchive_impl.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_binary_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_binary_oarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_oarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_text_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_text_oarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_xml_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_xml_oarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\text_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\text_oarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\xml_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\xml_oarchive.hpp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Dataflow Iterators"
-			Filter="">
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\base64_from_binary.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\binary_from_base64.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\dataflow.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\dataflow_exception.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\escape.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\head_iterator.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\insert_linebreaks.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\istream_iterator.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\mb_from_wchar.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\ostream_iterator.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\remove_whitespace.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\transform_width.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\unescape.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\wchar_from_mb.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\xml_escape.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\iterators\xml_unescape.hpp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Source"
-			Filter="">
-			<File
-				RelativePath="..\src\archive_exception.cpp">
-			</File>
-			<File
-				RelativePath="..\src\basic_archive.cpp">
-			</File>
-			<File
-				RelativePath="..\src\basic_iarchive.cpp">
-			</File>
-			<File
-				RelativePath="..\src\basic_iserializer.cpp">
-			</File>
-			<File
-				RelativePath="..\src\basic_oarchive.cpp">
-			</File>
-			<File
-				RelativePath="..\src\basic_oserializer.cpp">
-			</File>
-			<File
-				RelativePath="..\src\basic_pointer_iserializer.cpp">
-			</File>
-			<File
-				RelativePath="..\src\basic_pointer_oserializer.cpp">
-			</File>
-			<File
-				RelativePath="..\src\basic_serializer_map.cpp">
-			</File>
-			<File
-				RelativePath="..\src\basic_text_iprimitive.cpp">
-				<FileConfiguration
-					Name="Release runtime-dynamic|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						CompileAs="0"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release runtime-static|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						CompileAs="0"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\basic_text_oprimitive.cpp">
-			</File>
-			<File
-				RelativePath="..\src\basic_xml_archive.cpp">
-			</File>
-			<File
-				RelativePath="..\src\basic_xml_grammar.ipp">
-			</File>
-			<File
-				RelativePath="..\src\binary_iarchive.cpp">
-			</File>
-			<File
-				RelativePath="..\src\binary_oarchive.cpp">
-			</File>
-			<File
-				RelativePath="..\src\extended_type_info.cpp">
-			</File>
-			<File
-				RelativePath="..\src\extended_type_info_no_rtti.cpp">
-			</File>
-			<File
-				RelativePath="..\src\extended_type_info_typeid.cpp">
-			</File>
-			<File
-				RelativePath="..\src\polymorphic_iarchive.cpp">
-			</File>
-			<File
-				RelativePath="..\src\polymorphic_oarchive.cpp">
-			</File>
-			<File
-				RelativePath="..\src\shared_ptr_helper.cpp">
-			</File>
-			<File
-				RelativePath="..\src\stl_port.cpp">
-			</File>
-			<File
-				RelativePath="..\src\text_iarchive.cpp">
-			</File>
-			<File
-				RelativePath="..\src\text_oarchive.cpp">
-			</File>
-			<File
-				RelativePath="..\src\void_cast.cpp">
-			</File>
-			<File
-				RelativePath="..\src\xml_archive_exception.cpp">
-			</File>
-			<File
-				RelativePath="..\src\xml_grammar.cpp">
-			</File>
-			<File
-				RelativePath="..\src\xml_iarchive.cpp">
-			</File>
-			<File
-				RelativePath="..\src\xml_oarchive.cpp">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/SerializationW.vcproj b/SRC/Boost/libs/serialization/vc7ide/SerializationW.vcproj
deleted file mode 100755
index 3c471e8..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/SerializationW.vcproj
+++ /dev/null
@@ -1,574 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="SerializationW"
-	ProjectGUID="{30E10563-960A-11D7-9FE9-525400E2CF85}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="2"
-			CharacterSet="0">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/Zm800 /Ob0"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="FALSE"
-				BasicRuntimeChecks="0"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				ObjectFile="$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi"
-				ProgramDataBaseFileName="$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multivc70.pdb"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="boost_serialization-vc71-mt-gd-1.45.lib"
-				OutputFile="$(ConfigurationName)\boost_wserialization-vc71-mt-gd-1_45.dll"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SupportUnloadOfDelayLoadedDLL="FALSE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="2"
-			CharacterSet="0">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/Zm800"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBRARYTEST_EXPORTS;BOOST_LIB_DIAGNOSTIC=1"
-				StringPooling="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(ConfigurationName)\boost_wserialization-vc71-mt-1.45.dll"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static threading-multi|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi/link-static""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="4"
-			CharacterSet="0">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/Zm800 /Ob0"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;BOOST_TEST_NO_AUTO_LINK=1"
-				MinimalRebuild="FALSE"
-				BasicRuntimeChecks="0"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="5"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="$(ConfigurationName)\libboost_wserialization-vc71-mt-sgd-1.45.lib"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="4"
-			CharacterSet="0">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/Zm800"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;BOOST_TEST_NO_AUTO_LINK=1 "
-				StringPooling="FALSE"
-				RuntimeLibrary="4"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="$(OutDir)/libboost_wserialization-vc71-s-1.45.lib"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static threading-multi|Win32"
-			OutputDirectory=""$(ProjectDir)..\..\..\bin\boost\libs\serialization\build\libboost_wserialization.lib\msvc-7.1\release\threading-multi\link-static""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="4"
-			CharacterSet="0">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/Zm800"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;BOOST_TEST_NO_AUTO_LINK=1 "
-				StringPooling="FALSE"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="$(OutDir)/libboost_serialization-vc71-s-1.45.lib"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="0">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/Zm800"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;BOOST_TEST_NO_AUTO_LINK=1"
-				MinimalRebuild="FALSE"
-				BasicRuntimeChecks="0"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="5"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="$(ConfigurationName)\libboost_wserialization-vc71-mt-sgd-1.45.lib"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic threading-multi|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="0">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/Zm800 /Ob0"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;BOOST_TEST_NO_AUTO_LINK=1"
-				MinimalRebuild="FALSE"
-				BasicRuntimeChecks="0"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source"
-			Filter="">
-			<File
-				RelativePath="..\src\basic_text_wiprimitive.cpp">
-				<FileConfiguration
-					Name="Debug runtime-dynamic|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\basic_text_woprimitive.cpp">
-				<FileConfiguration
-					Name="Debug runtime-dynamic|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\codecvt_null.cpp">
-				<FileConfiguration
-					Name="Debug runtime-dynamic|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\text_wiarchive.cpp">
-				<FileConfiguration
-					Name="Debug runtime-dynamic|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\text_woarchive.cpp">
-				<FileConfiguration
-					Name="Debug runtime-dynamic|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\utf8_codecvt_facet.cpp">
-				<FileConfiguration
-					Name="Debug runtime-dynamic|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\xml_wgrammar.cpp">
-				<FileConfiguration
-					Name="Debug runtime-dynamic|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\xml_wiarchive.cpp">
-				<FileConfiguration
-					Name="Debug runtime-dynamic|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\xml_woarchive.cpp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Templates"
-			Filter="">
-			<File
-				RelativePath="..\..\..\boost\archive\impl\archive_serializer_map.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_binary_iarchive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_binary_iprimitive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_binary_oarchive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_binary_oprimitive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_text_iarchive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_text_iprimitive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_text_oarchive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_text_oprimitive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_xml_grammar.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_xml_iarchive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\basic_xml_oarchive.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\text_wiarchive_impl.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\text_woarchive_impl.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\xml_wiarchive_impl.ipp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\impl\xml_woarchive_impl.ipp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Headers"
-			Filter="">
-			<File
-				RelativePath="..\..\..\boost\archive\detail\archive_serializer_map.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\auto_link_warchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\binary_wiarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\binary_woarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_binary_wiarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_binary_woarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_text_wiarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_text_woarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_xml_wiarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\polymorphic_xml_woarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\text_wiarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\text_woarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\detail\utf8_codecvt_facet.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\xml_wiarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\archive\xml_woarchive.hpp">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo.vcproj
deleted file mode 100755
index e2fa843..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_auto_ptr.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_auto_ptr.vcproj
deleted file mode 100755
index 7b22172..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_auto_ptr.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_auto_ptr"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_auto_ptr"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo_auto_ptr.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_dll.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_dll.vcproj
deleted file mode 100755
index 3862701..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_dll.vcproj
+++ /dev/null
@@ -1,213 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_dll"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_dll"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Templates"
-			Filter="">
-			<File
-				RelativePath="..\example\demo_dll_a.ipp">
-			</File>
-			<File
-				RelativePath="..\example\demo_dll_b.ipp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Headers"
-			Filter="">
-			<File
-				RelativePath="..\example\demo_dll_a.hpp">
-			</File>
-			<File
-				RelativePath="..\example\demo_dll_b.hpp">
-			</File>
-		</Filter>
-		<File
-			RelativePath="..\example\demo_dll.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_exception.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_exception.vcproj
deleted file mode 100755
index 7c6faf8..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_exception.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_exception"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_exception"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo_exception.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_fast_archive.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_fast_archive.vcproj
deleted file mode 100755
index 4b6ac37..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_fast_archive.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_fast_archive"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_fast_archive"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo_fast_archive.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_log.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_log.vcproj
deleted file mode 100755
index 1086323..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_log.vcproj
+++ /dev/null
@@ -1,201 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_log"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_log"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo_gps.hpp">
-		</File>
-		<File
-			RelativePath="..\example\demo_log.cpp">
-		</File>
-		<File
-			RelativePath="..\example\log_archive.cpp">
-		</File>
-		<File
-			RelativePath="..\example\log_archive.hpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_pimpl.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_pimpl.vcproj
deleted file mode 100755
index 8dedd19..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_pimpl.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_pimpl"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_pimpl"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo_pimpl.cpp">
-		</File>
-		<File
-			RelativePath="..\example\demo_pimpl_A.cpp">
-		</File>
-		<File
-			RelativePath="..\example\demo_pimpl_A.hpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_polymorphic.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_polymorphic.vcproj
deleted file mode 100755
index ca35a6c..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_polymorphic.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_polymorphic"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_polymorphic"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo_polymorphic.cpp">
-		</File>
-		<File
-			RelativePath="..\example\demo_polymorphic_A.cpp">
-		</File>
-		<File
-			RelativePath="..\example\demo_polymorphic_A.hpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_portable_archive.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_portable_archive.vcproj
deleted file mode 100755
index 9d24560..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_portable_archive.vcproj
+++ /dev/null
@@ -1,215 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_portable_archive"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_portable_archive"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Headers"
-			Filter="">
-			<File
-				RelativePath="..\example\portable_binary_archive.hpp">
-			</File>
-			<File
-				RelativePath="..\example\portable_binary_iarchive.hpp">
-			</File>
-			<File
-				RelativePath="..\example\portable_binary_oarchive.hpp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Source"
-			Filter="">
-			<File
-				RelativePath="..\example\demo_portable_archive.cpp">
-			</File>
-			<File
-				RelativePath="..\example\portable_binary_iarchive.cpp">
-			</File>
-			<File
-				RelativePath="..\example\portable_binary_oarchive.cpp">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_shared_ptr.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_shared_ptr.vcproj
deleted file mode 100755
index 1999f11..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_shared_ptr.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_shared_ptr"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_shared_ptr"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo_shared_ptr.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_simple_log.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_simple_log.vcproj
deleted file mode 100755
index dad2b39..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_simple_log.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_simple_log"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_simple_log"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo_gps.hpp">
-		</File>
-		<File
-			RelativePath="..\example\demo_simple_log.cpp">
-		</File>
-		<File
-			RelativePath="..\example\simple_log_archive.hpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_trivial_archive.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_trivial_archive.vcproj
deleted file mode 100755
index 1e3e84b..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_trivial_archive.vcproj
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_trivial_archive"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_trivial_archive"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo_gps.hpp">
-		</File>
-		<File
-			RelativePath="..\example\demo_trivial_archive.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_xml.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_xml.vcproj
deleted file mode 100755
index a8c3fe3..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_xml.vcproj
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_xml"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_xml"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="0">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo_gps.hpp">
-		</File>
-		<File
-			RelativePath="..\example\demo_xml.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_xml_load.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_xml_load.vcproj
deleted file mode 100755
index 83eda4f..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_xml_load.vcproj
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_xml_load"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_xml_load"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo_gps.hpp">
-		</File>
-		<File
-			RelativePath="..\example\demo_xml_load.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/demo_xml_save.vcproj b/SRC/Boost/libs/serialization/vc7ide/demo_xml_save.vcproj
deleted file mode 100755
index de57fe7..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/demo_xml_save.vcproj
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="demo_xml_save"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="demo_xml_save"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\demo_gps.hpp">
-		</File>
-		<File
-			RelativePath="..\example\demo_xml_save.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/dll_a.vcproj b/SRC/Boost/libs/serialization/vc7ide/dll_a.vcproj
deleted file mode 100755
index 70a3731..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/dll_a.vcproj
+++ /dev/null
@@ -1,215 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="dll_a"
-	ProjectGUID="{CED1BD64-563F-485D-AE69-668797013AA0}"
-	RootNamespace="dll_a"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DLL_ONE_EXPORTS"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="3"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/dll_a.dll"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary="$(OutDir)/dll_a.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DLL_ONE_EXPORTS"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="3"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/dll_a.dll"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary="$(OutDir)/dll_a.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;BOOST_ALL_DYN_LINK=1;BOOST_LIB_DIAGNOSTIC=1;"
-				RuntimeLibrary="3"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/$(ProjectName).dll"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;BOOST_ALL_DYN_LINK=1;BOOST_LIB_DIAGNOSTIC=1;"
-				RuntimeLibrary="3"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/$(ProjectName).dll"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\dll_a.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_decl.hpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/dll_base.vcproj b/SRC/Boost/libs/serialization/vc7ide/dll_base.vcproj
deleted file mode 100755
index 2272b8c..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/dll_base.vcproj
+++ /dev/null
@@ -1,306 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="dll_base"
-	ProjectGUID="{CED1BD64-563F-485D-AE69-668797013AA0}"
-	RootNamespace="dll_base"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;"
-				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="5"
-				TreatWChar_tAsBuiltInType="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/dll_base.dll"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)/dll_base.pdb"
-				SubSystem="2"
-				ImportLibrary="$(OutDir)/dll_base.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DLL_ONE_EXPORTS"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="3"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/dll_base.dll"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary="$(OutDir)/dll_base.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic threading-multi|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				TreatWChar_tAsBuiltInType="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				ExpandAttributedSource="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/base.dll"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)/dll_base.pdb"
-				SubSystem="2"
-				ImportLibrary="$(OutDir)/base.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				RuntimeLibrary="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			ReferencesPath="$(ConfigurationName)">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;BOOST_ALL_DYN_LINK=1;BOOST_LIB_DIAGNOSTIC=1;"
-				RuntimeLibrary="3"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DLL_ONE_EXPORTS"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="3"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/dll_base.dll"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary="$(OutDir)/dll_base.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\base.hpp">
-		</File>
-		<File
-			RelativePath="..\test\dll_base.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/dll_derived2.vcproj b/SRC/Boost/libs/serialization/vc7ide/dll_derived2.vcproj
deleted file mode 100755
index a4572bf..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/dll_derived2.vcproj
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="dll_derived2"
-	ProjectGUID="{CED1BD64-563F-485D-AE69-668797013AA0}"
-	RootNamespace="dll_derived2"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				TreatWChar_tAsBuiltInType="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=""
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)/dll_derived2.pdb"
-				SubSystem="2"
-				ImportLibrary="$(OutDir)/dll_derived2.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DLL_ONE_EXPORTS"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="3"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=""
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary="$(OutDir)/dll_derived2.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			ReferencesPath="$(ConfigurationName)">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;BOOST_ALL_DYN_LINK=1;BOOST_LIB_DIAGNOSTIC=1;"
-				RuntimeLibrary="3"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="dll_base.lib"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			ReferencesPath="$(ConfigurationName)">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;BOOST_ALL_DYN_LINK=1;BOOST_LIB_DIAGNOSTIC=1;"
-				RuntimeLibrary="3"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="dll_base.lib"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DLL_ONE_EXPORTS"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="3"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=""
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary="$(OutDir)/dll_derived2.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\derived2.hpp">
-		</File>
-		<File
-			RelativePath="..\test\dll_derived2.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/dll_polymorphic_derived2.vcproj b/SRC/Boost/libs/serialization/vc7ide/dll_polymorphic_derived2.vcproj
deleted file mode 100755
index a4c4ee0..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/dll_polymorphic_derived2.vcproj
+++ /dev/null
@@ -1,267 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="dll_polymorphic_derived2"
-	ProjectGUID="{CED1BD64-563F-485D-AE69-668797013AA0}"
-	RootNamespace="dll_derived2"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				TreatWChar_tAsBuiltInType="TRUE"
-				RuntimeTypeInfo="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=""
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)/dll_derived2.pdb"
-				SubSystem="2"
-				ImportLibrary="$(OutDir)/dll_derived2.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DLL_ONE_EXPORTS"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="3"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=""
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary="$(OutDir)/dll_derived2.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			ReferencesPath="$(ConfigurationName)">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;BOOST_ALL_DYN_LINK=1;BOOST_LIB_DIAGNOSTIC=1;"
-				RuntimeLibrary="3"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			ReferencesPath="$(ConfigurationName)">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;BOOST_ALL_DYN_LINK=1;BOOST_LIB_DIAGNOSTIC=1;"
-				RuntimeLibrary="3"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DLL_ONE_EXPORTS"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="3"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=""
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary="$(OutDir)/dll_derived2.lib"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\polymorphic_base.hpp">
-		</File>
-		<File
-			RelativePath="..\test\polymorphic_derived2.cpp">
-		</File>
-		<File
-			RelativePath="..\test\polymorphic_derived2.hpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/fix_six.vcproj b/SRC/Boost/libs/serialization/vc7ide/fix_six.vcproj
deleted file mode 100755
index 69daca1..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/fix_six.vcproj
+++ /dev/null
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="fix_six"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="fix_six"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="0">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\example\fix_six.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_array.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_array.vcproj
deleted file mode 100755
index d031871..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_array.vcproj
+++ /dev/null
@@ -1,1829 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_array"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_array"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic text_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_text_archive.test/msvc-7.1/debug/threading-multi/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_DYN_LINK=1;BOOST_ARCHIVE_TEST=text_archive.hpp"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static text_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_text_archive.test/msvc-7.1/debug/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=text_archive.hpp"
-				RuntimeLibrary="5"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/link-static""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static threading-multi text_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_text_archive.test/msvc-7.1/debug/threading-multi/link-static""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=text_archive.hpp"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi/link-static""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-dynamic text_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_text_archive.test/msvc-7.1/release/threading-multi/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=text_archive.hpp"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static text_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_text_archive.test/msvc-7.1/release/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=text_archive.hpp"
-				RuntimeLibrary="4"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/link-static""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static threading-multi text_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_text_archive.test/msvc-7.1/release/threading-multi/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=text_archive.hpp"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi/link-static""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic text_warchive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_text_warchive.test/msvc-7.1/debug/threading-multi/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=text_warchive.hpp"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static text_warchive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_text_warchive.test/msvc-7.1/debug/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=text_warchive.hpp"
-				RuntimeLibrary="5"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/link-static""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static threading-multi text_warchive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_text_warchive.test/msvc-7.1/debug/threading-multi/link-static""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=text_warchive.hpp"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi/link-static""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-dynamic text_warchive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_text_warchive.test/msvc-7.1/release/threading-multi/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=text_warchive.hpp"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static text_warchive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_text_warchive.test/msvc-7.1/release/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=text_warchive.hpp"
-				RuntimeLibrary="4"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/link-static""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static threading-multi text_warchive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_text_warchive.test/msvc-7.1/release/threading-multi/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=text_warchive.hpp"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi/link-static""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic xml_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_xml_archive.test/msvc-7.1/debug/threading-multi/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=xml_archive.hpp"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static xml_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_xml_archive.test/msvc-7.1/debug/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=xml_archive.hpp"
-				RuntimeLibrary="5"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/link-static""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static threading-multi xml_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_xml_archive.test/msvc-7.1/debug/threading-multi/link-static""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=xml_archive.hpp"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi/link-static""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-dynamic xml_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_xml_archive.test/msvc-7.1/release/threading-multi/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=xml_archive.hpp"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static xml_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_xml_archive.test/msvc-7.1/release/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=xml_archive.hpp"
-				RuntimeLibrary="4"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/link-static""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static threading-multi xml_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_xml_archive.test/msvc-7.1/release/threading-multi/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=xml_archive.hpp"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi/link-static""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic xml_warchive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_xml_warchive.test/msvc-7.1/debug/threading-multi/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=xml_warchive.hpp"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static xml_warchive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_xml_warchive.test/msvc-7.1/debug/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=xml_warchive.hpp"
-				RuntimeLibrary="5"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/link-static""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static threading-multi xml_warchive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_xml_warchive.test/msvc-7.1/debug/threading-multi/link-static""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=xml_warchive.hpp"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi/link-static""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-dynamic xml_warchive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_xml_warchive.test/msvc-7.1/release/threading-multi/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=xml_warchive.hpp"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static xml_warchive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_xml_warchive.test/msvc-7.1/release/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=xml_warchive.hpp"
-				RuntimeLibrary="4"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/link-static""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static threading-multi xml_warchive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_xml_warchive.test/msvc-7.1/release/threading-multi/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=xml_warchive.hpp"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi/link-static""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic binary_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_binary_archive.test/msvc-7.1/debug/threading-multi""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_DYN_LINK=1"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/threading-multi""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static binary_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_binary_archive.test/msvc-7.1/debug/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ARCHIVE_TEST=binary_archive.hpp"
-				RuntimeLibrary="5"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/link-static""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static threading-multi binary_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_binary_archive.test/msvc-7.1/debug/threading-multi/link-static""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=binary_archive.hpp"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/debug/link-static/threading-multi""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-dynamic binary_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_binary_archive.test/msvc-7.1/release/threading-multi/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=binary_archive.hpp"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static binary_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_binary_archive.test/msvc-7.1/release/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=binary_archive.hpp"
-				RuntimeLibrary="4"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/link-static""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release runtime-static threading-multi binary_archive|Win32"
-			OutputDirectory=""$(ProjectDir)../../../bin.v2/libs/serialization/test/$(ProjectName)_binary_archive.test/msvc-7.1/release/threading-multi/link-static/""
-			IntermediateDirectory="$(OutDir)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_ARCHIVE_TEST=binary_archive.hpp"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi/link-static";"$(ProjectDir)../../../bin.v2/libs/serialization/build/msvc-7.1/release/threading-multi/link-static""
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic threading-multi|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				RuntimeTypeInfo="TRUE"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=text_archive.hpp"
-				BasicRuntimeChecks="0"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="3"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_array.cpp">
-			<FileConfiguration
-				Name="Debug runtime-dynamic threading-multi|Win32">
-				<Tool
-					Name="VCCLCompilerTool"
-					AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_binary.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_binary.vcproj
deleted file mode 100755
index 455db0b..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_binary.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_binary"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_binary"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=binary_archive.hpp"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_binary.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_bitset.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_bitset.vcproj
deleted file mode 100755
index 6858bbc..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_bitset.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_bitset"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_bitset"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_bitset.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_check.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_check.vcproj
deleted file mode 100755
index 307b7e0..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_check.vcproj
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_check"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_check"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_check.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_class_info_load.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_class_info_load.vcproj
deleted file mode 100755
index 7225d13..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_class_info_load.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_class_info_load"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_class_info_load"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=text_warchive.hpp"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_class_info_load.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_class_info_save.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_class_info_save.vcproj
deleted file mode 100755
index 1ed70f6..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_class_info_save.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_class_info_save"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_class_info_save"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=text_warchive.hpp"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_class_info_save.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_codecvt_null.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_codecvt_null.vcproj
deleted file mode 100755
index c9ed1b2..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_codecvt_null.vcproj
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_codecvt_null"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_codecvt_null"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\src\codecvt_null.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_codecvt_null.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_complex.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_complex.vcproj
deleted file mode 100755
index 0a2e418..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_complex.vcproj
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_complex"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_complex"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\..\..\boost\serialization\complex.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_complex.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_const.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_const.vcproj
deleted file mode 100755
index 7c87307..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_const.vcproj
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_const"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_const.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_const_fail.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_const_fail.vcproj
deleted file mode 100755
index 49304c4..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_const_fail.vcproj
+++ /dev/null
@@ -1,225 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_const_warn"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_const_load_fail1.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_const_load_fail1_nvp.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_const_load_fail2.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_const_load_fail2_nvp.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_const_load_fail3.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_const_load_fail3_nvp.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_const_save_warn1.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_const_save_warn1_nvp.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_const_save_warn2.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_const_save_warn2_nvp.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_const_save_warn3.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_const_save_warn3_nvp.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_const_pass.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_const_pass.vcproj
deleted file mode 100755
index 542439a..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_const_pass.vcproj
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_const_pass"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_const_pass.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_contained_class.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_contained_class.vcproj
deleted file mode 100755
index fc942dc..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_contained_class.vcproj
+++ /dev/null
@@ -1,201 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_contained_class"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_contained_class"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\B.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_contained_class.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_cyclic_ptrs.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_cyclic_ptrs.vcproj
deleted file mode 100755
index 521fe5c..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_cyclic_ptrs.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_cyclic_ptrs"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_cyclic_ptrs"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_cyclic_ptrs.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_delete_pointer.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_delete_pointer.vcproj
deleted file mode 100755
index 365889e..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_delete_pointer.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_delete_pointer"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_delete_pointer"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_delete_pointer.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_deque.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_deque.vcproj
deleted file mode 100755
index bdc9ee9..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_deque.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_deque"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_deque"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_deque.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_derived.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_derived.vcproj
deleted file mode 100755
index 441c7dd..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_derived.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_derived"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_derived"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_derived.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_derived_class.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_derived_class.vcproj
deleted file mode 100755
index 9d1e0d2..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_derived_class.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_derived_class"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_derived_class"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\B.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_derived_class.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_derived_class_ptr.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_derived_class_ptr.vcproj
deleted file mode 100755
index acb1818..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_derived_class_ptr.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_derived_class_ptr"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_derived_class_ptr"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\B.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_derived_class_ptr.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_diamond.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_diamond.vcproj
deleted file mode 100755
index a3e2c25..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_diamond.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_diamond"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_diamond"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_diamond.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_diamond_complex.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_diamond_complex.vcproj
deleted file mode 100755
index 8298c30..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_diamond_complex.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_diamond_complex"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_diamond_complex"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=xml_warchive.hpp"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_diamond_complex.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_dll_exported.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_dll_exported.vcproj
deleted file mode 100755
index 819f4cc..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_dll_exported.vcproj
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_dll_exported"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_dll_exported"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="dll_a.lib dll_polymorphic_derived2.lib"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-		<ProjectReference
-			ReferencedProjectIdentifier="{30E10563-960A-11D7-9FE9-525400E2CF85}"
-			Name="Library"/>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\polymorphic_base.hpp">
-		</File>
-		<File
-			RelativePath="..\test\polymorphic_derived2.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_dll_exported.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_dll_plugin.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_dll_plugin.vcproj
deleted file mode 100755
index 43e2542..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_dll_plugin.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_dll_plugin"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_dll_plugin"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\polymorphic_base.hpp">
-		</File>
-		<File
-			RelativePath="..\test\polymorphic_derived2.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_dll_plugin.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_dll_simple.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_dll_simple.vcproj
deleted file mode 100755
index bd8841c..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_dll_simple.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_dll_simple"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_dll_simple"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="dll_a.lib"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-		<ProjectReference
-			ReferencedProjectIdentifier="{CED1BD64-563F-485D-AE69-668797013AA0}"
-			Name="dll_a"/>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\B.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_dll_simple.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_exported.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_exported.vcproj
deleted file mode 100755
index 8785812..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_exported.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_exported"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_exported"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\polymorphic_base.cpp">
-		</File>
-		<File
-			RelativePath="..\test\polymorphic_base.hpp">
-		</File>
-		<File
-			RelativePath="..\test\polymorphic_derived2.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_exported.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_inclusion.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_inclusion.vcproj
deleted file mode 100755
index 4537edf..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_inclusion.vcproj
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_inclusion"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_inclusion.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_iterators.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_iterators.vcproj
deleted file mode 100755
index 4e079bf..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_iterators.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_iterators"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_iterators"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_iterators.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_iterators_base64.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_iterators_base64.vcproj
deleted file mode 100755
index 467eb67..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_iterators_base64.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_iterators_base64"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_iterators_base64"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_iterators_base64.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_list.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_list.vcproj
deleted file mode 100755
index 1f9cf25..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_list.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_list"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_list"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_list.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_list_ptrs.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_list_ptrs.vcproj
deleted file mode 100755
index 24e590e..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_list_ptrs.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_list_ptrs"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_list_ptrs"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_list_ptrs.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_map.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_map.vcproj
deleted file mode 100755
index 9aba9ab..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_map.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_map"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_map"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_map.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_mi.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_mi.vcproj
deleted file mode 100755
index 4dc888d..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_mi.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_mi"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_mi"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_mi.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_mult_archive_types.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_mult_archive_types.vcproj
deleted file mode 100755
index 67e130e..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_mult_archive_types.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_mult_archive_types"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_mult_archive_types"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_mult_archive_types.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_multiple_inheritance.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_multiple_inheritance.vcproj
deleted file mode 100755
index cca6d8c..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_multiple_inheritance.vcproj
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_multiple_inheritance"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_multiple_inheritance"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ARCHIVE_LIST=xml_warchive.hpp"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_multiple_inheritance.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_multiple_ptrs.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_multiple_ptrs.vcproj
deleted file mode 100755
index 5079105..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_multiple_ptrs.vcproj
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_multiple_ptrs"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_multiple_ptrs"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\B.hpp">
-		</File>
-		<File
-			RelativePath="..\test\D.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_multiple_ptrs.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_new_operator.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_new_operator.vcproj
deleted file mode 100755
index 89bf397..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_new_operator.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_new_operator"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_new_operator"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_new_operator.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_no_rtti.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_no_rtti.vcproj
deleted file mode 100755
index 4bd9d31..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_no_rtti.vcproj
+++ /dev/null
@@ -1,205 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_no_rtti"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_no_rtti"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				EnableIntrinsicFunctions="FALSE"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\polymorphic_base.hpp">
-		</File>
-		<File
-			RelativePath="..\test\polymorphic_derived1.cpp">
-		</File>
-		<File
-			RelativePath="..\test\polymorphic_derived1.hpp">
-		</File>
-		<File
-			RelativePath="..\test\polymorphic_derived2.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_no_rtti.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_non_default_ctor.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_non_default_ctor.vcproj
deleted file mode 100755
index a8c315a..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_non_default_ctor.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_non_default_ctor"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_non_default_ctor"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_non_default_ctor.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_non_default_ctor2.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_non_default_ctor2.vcproj
deleted file mode 100755
index 32de69f..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_non_default_ctor2.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_non_default_ctor2"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_non_default_ctor2"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_non_default_ctor2.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_non_intrusive.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_non_intrusive.vcproj
deleted file mode 100755
index 7e3cf52..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_non_intrusive.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_non_intrusive"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_non_intrusive"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_non_intrusive.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_not_serializable.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_not_serializable.vcproj
deleted file mode 100755
index e0e46b9..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_not_serializable.vcproj
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_not_serializable"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_not_serializable.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_null_ptr.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_null_ptr.vcproj
deleted file mode 100755
index 57e533d..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_null_ptr.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_null_ptr"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_null_ptr"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_null_ptr.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_nvp.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_nvp.vcproj
deleted file mode 100755
index 99c9684..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_nvp.vcproj
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_nvp"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_nvp"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_nvp.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_object.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_object.vcproj
deleted file mode 100755
index fcfc1ad..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_object.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_object"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_object"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_object.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_optional.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_optional.vcproj
deleted file mode 100755
index 573d54c..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_optional.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_optional"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_optional"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=xml_archive.hpp"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_optional.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_polymorphic.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_polymorphic.vcproj
deleted file mode 100755
index 086a71b..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_polymorphic.vcproj
+++ /dev/null
@@ -1,208 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_polymorphic"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_polymorphic"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=polymorphic_xml_warchive.hpp"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_polymorphic.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_polymorphic_A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_polymorphic_A.hpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_polymorphic2.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_polymorphic2.vcproj
deleted file mode 100755
index 46e49d2..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_polymorphic2.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_polymorphic2"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_polymorphic2"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=polymorphic_text_archive.hpp"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-		<ProjectReference
-			ReferencedProjectIdentifier="{30E10563-960A-11D7-9FE9-525400E2CF85}"
-			Name="Library"/>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_polymorphic2.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_polymorphic2.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_polymorphic2imp.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_primitive.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_primitive.vcproj
deleted file mode 100755
index 5733784..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_primitive.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_primitive"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_primitive"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_primitive.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_private_base.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_private_base.vcproj
deleted file mode 100755
index d17393e..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_private_base.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_private_base"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_private_base"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_private_base.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_private_ctor.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_private_ctor.vcproj
deleted file mode 100755
index 70fc234..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_private_ctor.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_private_ctor"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_private_ctor"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_private_ctor.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_recursion.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_recursion.vcproj
deleted file mode 100755
index 914128a..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_recursion.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_recursion"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_recursion"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_recursion.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_registered.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_registered.vcproj
deleted file mode 100755
index cda36f9..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_registered.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_registered"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_registered"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_registered.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_reset_object_addr.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_reset_object_addr.vcproj
deleted file mode 100755
index 02a0cae..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_reset_object_addr.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_reset_object_address"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_reset_object_address"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_reset_object_address.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_set.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_set.vcproj
deleted file mode 100755
index a5b5f38..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_set.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_set"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_set"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_set.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_shared_ptr.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_shared_ptr.vcproj
deleted file mode 100755
index 551fe45..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_shared_ptr.vcproj
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_shared_ptr"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_shared_ptr"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/wd4512 /wd4511"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-		<ProjectReference
-			ReferencedProjectIdentifier="{30E10563-960A-11D7-9FE9-525400E2CF85}"
-			Name="Library"/>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\..\..\boost\serialization\shared_ptr.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_shared_ptr.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_shared_ptr_132.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_shared_ptr_132.vcproj
deleted file mode 100755
index db03ffb..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_shared_ptr_132.vcproj
+++ /dev/null
@@ -1,212 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_shared_ptr_132"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_shared_ptr_132"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="OriginalSharePtr"
-			Filter="">
-			<File
-				RelativePath="..\..\..\boost\serialization\detail\shared_count_132.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\detail\shared_ptr_132.hpp">
-			</File>
-			<File
-				RelativePath="..\..\..\boost\serialization\detail\shared_ptr_nmt_132.hpp">
-			</File>
-		</Filter>
-		<File
-			RelativePath="..\..\..\boost\serialization\shared_ptr.hpp">
-		</File>
-		<File
-			RelativePath="..\..\..\boost\serialization\shared_ptr_132.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_shared_ptr_132.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_shared_ptr_multi_base.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_shared_ptr_multi_base.vcproj
deleted file mode 100755
index 4030ee6..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_shared_ptr_multi_base.vcproj
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_shared_ptr_multi_base"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_shared_ptr_multi_base"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=xml_archive.hpp"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-		<ProjectReference
-			ReferencedProjectIdentifier="{30E10563-960A-11D7-9FE9-525400E2CF85}"
-			Name="Library"/>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_shared_ptr_multi_base.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_simple_class.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_simple_class.vcproj
deleted file mode 100755
index 8d6aaba..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_simple_class.vcproj
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_simple_class"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_simple_class"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=binary_archive.hpp"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ConfigurationName)";..\..\stage\lib"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="FALSE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ARCHIVE_TEST=binary_archive.hpp"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories=""$(ConfigurationName)""
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-		<ProjectReference
-			ReferencedProjectIdentifier="{30E10563-960A-11D7-9FE9-525400E2CF85}"
-			Name="Library"/>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_simple_class.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_simple_class_ptr.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_simple_class_ptr.vcproj
deleted file mode 100755
index 00b8927..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_simple_class_ptr.vcproj
+++ /dev/null
@@ -1,208 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_simple_class_ptr"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_simple_class_ptr"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-			<FileConfiguration
-				Name="Debug runtime-dynamic|Win32">
-				<Tool
-					Name="VCCLCompilerTool"
-					SmallerTypeCheck="FALSE"/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_simple_class_ptr.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_singleton.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_singleton.vcproj
deleted file mode 100755
index 5680f58..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_singleton.vcproj
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_singleton"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_singleton"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\..\..\boost\serialization\singleton.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_singleton.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_smart_cast.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_smart_cast.vcproj
deleted file mode 100755
index 8ed9285..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_smart_cast.vcproj
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_smart_cast"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_smart_cast"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\..\..\boost\smart_cast.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_smart_cast.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_split.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_split.vcproj
deleted file mode 100755
index b9aea54..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_split.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_split"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_split"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_split.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_static_warning.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_static_warning.vcproj
deleted file mode 100755
index a259182..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_static_warning.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_static_warning"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_static_warning"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_static_warning.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_strong_typedef.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_strong_typedef.vcproj
deleted file mode 100755
index 788c285..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_strong_typedef.vcproj
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_strong_typedef"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_strong_typedef"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_strong_typedef.cpp">
-		</File>
-		<File
-			RelativePath="..\..\..\boost\serialization\void_cast.hpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_tracking.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_tracking.vcproj
deleted file mode 100755
index 1bd183c..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_tracking.vcproj
+++ /dev/null
@@ -1,225 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_tracking"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_tracking"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=binary_archive.hpp"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_tracking.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_traits_fail.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_traits_fail.vcproj
deleted file mode 100755
index 3c41ad6..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_traits_fail.vcproj
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_traits_fail"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_traits_fail.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_traits_pass.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_traits_pass.vcproj
deleted file mode 100755
index 63ffad9..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_traits_pass.vcproj
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_traits_pass"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_traits_pass"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_traits_pass.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_unregistered.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_unregistered.vcproj
deleted file mode 100755
index d495591..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_unregistered.vcproj
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_unregistered"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_unregistered"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_unregistered.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_utf8_codecvt.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_utf8_codecvt.vcproj
deleted file mode 100755
index 1534259..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_utf8_codecvt.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_utf8_codecvt"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_utf8_codecvt"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\../src/utf8_codecvt_facet.cpp">
-			<FileConfiguration
-				Name="Debug runtime-dynamic|Win32">
-				<Tool
-					Name="VCCLCompilerTool"
-					ObjectFile="$(IntDir)/utf8_codecvt_facet"/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\test\test_utf8_codecvt.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_valarray.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_valarray.vcproj
deleted file mode 100755
index 68b83e1..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_valarray.vcproj
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_valarray"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_valarray"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\test_valarray.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_variant.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_variant.vcproj
deleted file mode 100755
index 89b24da..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_variant.vcproj
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_variant"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_variant"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\test_variant.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_vector.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_vector.vcproj
deleted file mode 100755
index cbe50bd..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_vector.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_vector"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_vector"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=text_archive.hpp"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\A.cpp">
-		</File>
-		<File
-			RelativePath="..\test\A.hpp">
-		</File>
-		<File
-			RelativePath="..\test\A.ipp">
-		</File>
-		<File
-			RelativePath="..\test\test_vector.cpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/serialization/vc7ide/test_void_cast.vcproj b/SRC/Boost/libs/serialization/vc7ide/test_void_cast.vcproj
deleted file mode 100755
index 6522302..0000000
--- a/SRC/Boost/libs/serialization/vc7ide/test_void_cast.vcproj
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="test_void_cast"
-	ProjectGUID="{A7D4CC95-F2AC-11D6-9E47-525400E2CF85}"
-	RootNamespace="test_void_cast"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="FALSE"
-				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
-				EnableFunctionLevelLinking="TRUE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-dynamic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug runtime-static|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				ImproveFloatingPointConsistency="TRUE"
-				AdditionalIncludeDirectories=""$(ProjectDir)..\..\..\""
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1"
-				MinimalRebuild="TRUE"
-				SmallerTypeCheck="TRUE"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="FALSE"
-				TreatWChar_tAsBuiltInType="TRUE"
-				ForceConformanceInForLoopScope="TRUE"
-				RuntimeTypeInfo="TRUE"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="1"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="TRUE"
-				AdditionalDependencies="Library"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="$(ConfigurationName)"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="run $(TargetName) with $(ConfigurationName)"
-				CommandLine=""$(TargetDir)/$(TargetName).exe""/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\test\test_void_cast.cpp">
-		</File>
-		<File
-			RelativePath="..\..\..\boost\serialization\void_cast.hpp">
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/SRC/Boost/libs/smart_ptr/src/sp_collector.cpp b/SRC/Boost/libs/smart_ptr/src/sp_collector.cpp
deleted file mode 100755
index cebc7bf..0000000
--- a/SRC/Boost/libs/smart_ptr/src/sp_collector.cpp
+++ /dev/null
@@ -1,270 +0,0 @@
-//
-//  sp_collector.cpp
-//
-//  Copyright (c) 2002, 2003 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-#include <boost/assert.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/detail/lightweight_mutex.hpp>
-#include <cstdlib>
-#include <map>
-#include <deque>
-#include <iostream>
-
-typedef std::map< void const *, std::pair<void *, size_t> > map_type;
-
-static map_type & get_map()
-{
-    static map_type m;
-    return m;
-}
-
-typedef boost::detail::lightweight_mutex mutex_type;
-
-static mutex_type & get_mutex()
-{
-    static mutex_type m;
-    return m;
-}
-
-static void * init_mutex_before_main = &get_mutex();
-
-namespace
-{
-    class X;
-
-    struct count_layout
-    {
-        boost::detail::sp_counted_base * pi;
-        int id;
-    };
-
-    struct shared_ptr_layout
-    {
-        X * px;
-        count_layout pn;
-    };
-}
-
-// assume 4 byte alignment for pointers when scanning
-size_t const pointer_align = 4;
-
-typedef std::map<void const *, long> map2_type;
-
-static void scan_and_count(void const * area, size_t size, map_type const & m, map2_type & m2)
-{
-    unsigned char const * p = static_cast<unsigned char const *>(area);
-
-    for(size_t n = 0; n + sizeof(shared_ptr_layout) <= size; p += pointer_align, n += pointer_align)
-    {
-        shared_ptr_layout const * q = reinterpret_cast<shared_ptr_layout const *>(p);
-
-        if(q->pn.id == boost::detail::shared_count_id && q->pn.pi != 0 && m.count(q->pn.pi) != 0)
-        {
-            ++m2[q->pn.pi];
-        }
-    }
-}
-
-typedef std::deque<void const *> open_type;
-
-static void scan_and_mark(void const * area, size_t size, map2_type & m2, open_type & open)
-{
-    unsigned char const * p = static_cast<unsigned char const *>(area);
-
-    for(size_t n = 0; n + sizeof(shared_ptr_layout) <= size; p += pointer_align, n += pointer_align)
-    {
-        shared_ptr_layout const * q = reinterpret_cast<shared_ptr_layout const *>(p);
-
-        if(q->pn.id == boost::detail::shared_count_id && q->pn.pi != 0 && m2.count(q->pn.pi) != 0)
-        {
-            open.push_back(q->pn.pi);
-            m2.erase(q->pn.pi);
-        }
-    }
-}
-
-static void find_unreachable_objects_impl(map_type const & m, map2_type & m2)
-{
-    // scan objects for shared_ptr members, compute internal counts
-
-    {
-        std::cout << "... " << m.size() << " objects in m.\n";
-
-        for(map_type::const_iterator i = m.begin(); i != m.end(); ++i)
-        {
-            boost::detail::sp_counted_base const * p = static_cast<boost::detail::sp_counted_base const *>(i->first);
-
-            BOOST_ASSERT(p->use_count() != 0); // there should be no inactive counts in the map
-
-            m2[ i->first ];
-
-            scan_and_count(i->second.first, i->second.second, m, m2);
-        }
-
-        std::cout << "... " << m2.size() << " objects in m2.\n";
-    }
-
-    // mark reachable objects
-
-    {
-        open_type open;
-
-        for(map2_type::iterator i = m2.begin(); i != m2.end(); ++i)
-        {
-            boost::detail::sp_counted_base const * p = static_cast<boost::detail::sp_counted_base const *>(i->first);
-            if(p->use_count() != i->second) open.push_back(p);
-        }
-
-        std::cout << "... " << open.size() << " objects in open.\n";
-
-        for(open_type::iterator j = open.begin(); j != open.end(); ++j)
-        {
-            m2.erase(*j);
-        }
-
-        while(!open.empty())
-        {
-            void const * p = open.front();
-            open.pop_front();
-
-            map_type::const_iterator i = m.find(p);
-            BOOST_ASSERT(i != m.end());
-
-            scan_and_mark(i->second.first, i->second.second, m2, open);
-        }
-    }
-
-    // m2 now contains the unreachable objects
-}
-
-std::size_t find_unreachable_objects(bool report)
-{
-    map2_type m2;
-
-#ifdef BOOST_HAS_THREADS
-
-    // This will work without the #ifdef, but some compilers warn
-    // that lock is not referenced
-
-    mutex_type::scoped_lock lock(get_mutex());
-
-#endif
-
-    map_type const & m = get_map();
-
-    find_unreachable_objects_impl(m, m2);
-
-    if(report)
-    {
-        for(map2_type::iterator j = m2.begin(); j != m2.end(); ++j)
-        {
-            map_type::const_iterator i = m.find(j->first);
-            BOOST_ASSERT(i != m.end());
-            std::cout << "Unreachable object at " << i->second.first << ", " << i->second.second << " bytes long.\n";
-        }
-    }
-
-    return m2.size();
-}
-
-typedef std::deque< boost::shared_ptr<X> > free_list_type;
-
-static void scan_and_free(void * area, size_t size, map2_type const & m2, free_list_type & free)
-{
-    unsigned char * p = static_cast<unsigned char *>(area);
-
-    for(size_t n = 0; n + sizeof(shared_ptr_layout) <= size; p += pointer_align, n += pointer_align)
-    {
-        shared_ptr_layout * q = reinterpret_cast<shared_ptr_layout *>(p);
-
-        if(q->pn.id == boost::detail::shared_count_id && q->pn.pi != 0 && m2.count(q->pn.pi) != 0 && q->px != 0)
-        {
-            boost::shared_ptr<X> * ppx = reinterpret_cast< boost::shared_ptr<X> * >(p);
-            free.push_back(*ppx);
-            ppx->reset();
-        }
-    }
-}
-
-void free_unreachable_objects()
-{
-    free_list_type free;
-
-    {
-        map2_type m2;
-
-#ifdef BOOST_HAS_THREADS
-
-        mutex_type::scoped_lock lock(get_mutex());
-
-#endif
-
-        map_type const & m = get_map();
-
-        find_unreachable_objects_impl(m, m2);
-
-        for(map2_type::iterator j = m2.begin(); j != m2.end(); ++j)
-        {
-            map_type::const_iterator i = m.find(j->first);
-            BOOST_ASSERT(i != m.end());
-            scan_and_free(i->second.first, i->second.second, m2, free);
-        }
-    }
-
-    std::cout << "... about to free " << free.size() << " objects.\n";
-}
-
-// debug hooks
-
-namespace boost
-{
-
-void sp_scalar_constructor_hook(void *)
-{
-}
-
-void sp_scalar_constructor_hook(void * px, std::size_t size, void * pn)
-{
-#ifdef BOOST_HAS_THREADS
-
-    mutex_type::scoped_lock lock(get_mutex());
-
-#endif
-
-    get_map()[pn] = std::make_pair(px, size);
-}
-
-void sp_scalar_destructor_hook(void *)
-{
-}
-
-void sp_scalar_destructor_hook(void *, std::size_t, void * pn)
-{
-#ifdef BOOST_HAS_THREADS
-
-    mutex_type::scoped_lock lock(get_mutex());
-
-#endif
-
-    get_map().erase(pn);
-}
-
-void sp_array_constructor_hook(void *)
-{
-}
-
-void sp_array_destructor_hook(void *)
-{
-}
-
-} // namespace boost
-
-#endif // defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
diff --git a/SRC/Boost/libs/smart_ptr/src/sp_debug_hooks.cpp b/SRC/Boost/libs/smart_ptr/src/sp_debug_hooks.cpp
deleted file mode 100755
index 5fff673..0000000
--- a/SRC/Boost/libs/smart_ptr/src/sp_debug_hooks.cpp
+++ /dev/null
@@ -1,243 +0,0 @@
-//
-//  sp_debug_hooks.cpp
-//
-//  Copyright (c) 2002, 2003 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-#include <boost/assert.hpp>
-#include <new>
-#include <cstdlib>
-
-int const m = 2; // m * sizeof(int) must be aligned appropriately
-
-// magic values to mark heap blocks with
-
-int const allocated_scalar  = 0x1234560C;
-int const allocated_array   = 0x1234560A;
-int const adopted_scalar    = 0x0567890C;
-int const adopted_array     = 0x0567890A;
-int const deleted           = 0x498769DE;
-
-using namespace std; // for compilers where things aren't in std
-
-// operator new
-
-static new_handler get_new_handler()
-{
-    new_handler p = set_new_handler(0);
-    set_new_handler(p);
-    return p;
-}
-
-static void * allocate(size_t n, int mark)
-{
-    int * pm;
-
-    for(;;)
-    {
-        pm = static_cast<int*>(malloc(n + m * sizeof(int)));
-
-        if(pm != 0) break;
-
-        if(new_handler pnh = get_new_handler())
-        {
-            pnh();
-        }
-        else
-        {
-            return 0;
-        }
-    }
-
-    *pm = mark;
-
-    return pm + m;
-}
-
-void * operator new(size_t n) throw(bad_alloc)
-{
-    void * p = allocate(n, allocated_scalar);
-
-#if !defined(BOOST_NO_EXCEPTIONS)
-
-    if(p == 0) throw bad_alloc();
-
-#endif
-
-    return p;
-}
-
-#if !defined(__BORLANDC__) || (__BORLANDC__ > 0x551)
-
-void * operator new(size_t n, nothrow_t const &) throw()
-{
-    return allocate(n, allocated_scalar);
-}
-
-#endif
-
-void * operator new[](size_t n) throw(bad_alloc)
-{
-    void * p = allocate(n, allocated_array);
-
-#if !defined(BOOST_NO_EXCEPTIONS)
-
-    if(p == 0) throw bad_alloc();
-
-#endif
-
-    return p;
-}
-
-#if !defined(__BORLANDC__) || (__BORLANDC__ > 0x551)
-
-void * operator new[](size_t n, nothrow_t const &) throw()
-{
-    return allocate(n, allocated_array);
-}
-
-#endif
-
-// debug hooks
-
-namespace boost
-{
-
-void sp_scalar_constructor_hook(void * p)
-{
-    if(p == 0) return;
-
-    int * pm = static_cast<int*>(p);
-    pm -= m;
-
-    BOOST_ASSERT(*pm != adopted_scalar);    // second smart pointer to the same address
-    BOOST_ASSERT(*pm != allocated_array);   // allocated with new[]
-    BOOST_ASSERT(*pm == allocated_scalar);  // not allocated with new
-
-    *pm = adopted_scalar;
-}
-
-void sp_scalar_constructor_hook(void * px, std::size_t, void *)
-{
-    sp_scalar_constructor_hook(px);
-}
-
-void sp_scalar_destructor_hook(void * p)
-{
-    if(p == 0) return;
-
-    int * pm = static_cast<int*>(p);
-    pm -= m;
-
-    BOOST_ASSERT(*pm == adopted_scalar);    // attempt to destroy nonmanaged block
-
-    *pm = allocated_scalar;
-}
-
-void sp_scalar_destructor_hook(void * px, std::size_t, void *)
-{
-    sp_scalar_destructor_hook(px);
-}
-
-// It is not possible to handle the array hooks in a portable manner.
-// The implementation typically reserves a bit of storage for the number
-// of objects in the array, and the argument of the array hook isn't
-// equal to the return value of operator new[].
-
-void sp_array_constructor_hook(void * /* p */)
-{
-/*
-    if(p == 0) return;
-
-    // adjust p depending on the implementation
-
-    int * pm = static_cast<int*>(p);
-    pm -= m;
-
-    BOOST_ASSERT(*pm != adopted_array);     // second smart array pointer to the same address
-    BOOST_ASSERT(*pm != allocated_scalar);  // allocated with new
-    BOOST_ASSERT(*pm == allocated_array);   // not allocated with new[]
-
-    *pm = adopted_array;
-*/
-}
-
-void sp_array_destructor_hook(void * /* p */)
-{
-/*
-    if(p == 0) return;
-
-    // adjust p depending on the implementation
-
-    int * pm = static_cast<int*>(p);
-    pm -= m;
-
-    BOOST_ASSERT(*pm == adopted_array); // attempt to destroy nonmanaged block
-
-    *pm = allocated_array;
-*/
-}
-
-} // namespace boost
-
-// operator delete
-
-void operator delete(void * p) throw()
-{
-    if(p == 0) return;
-
-    int * pm = static_cast<int*>(p);
-    pm -= m;
-
-    BOOST_ASSERT(*pm != deleted);           // double delete
-    BOOST_ASSERT(*pm != adopted_scalar);    // delete p.get();
-    BOOST_ASSERT(*pm != allocated_array);   // allocated with new[]
-    BOOST_ASSERT(*pm == allocated_scalar);  // not allocated with new
-
-    *pm = deleted;
-
-    free(pm);
-}
-
-#if !defined(__BORLANDC__) || (__BORLANDC__ > 0x551)
-
-void operator delete(void * p, nothrow_t const &) throw()
-{
-    ::operator delete(p);
-}
-
-#endif
-
-void operator delete[](void * p) throw()
-{
-    if(p == 0) return;
-
-    int * pm = static_cast<int*>(p);
-    pm -= m;
-
-    BOOST_ASSERT(*pm != deleted);           // double delete
-    BOOST_ASSERT(*pm != adopted_scalar);    // delete p.get();
-    BOOST_ASSERT(*pm != allocated_scalar);  // allocated with new
-    BOOST_ASSERT(*pm == allocated_array);   // not allocated with new[]
-
-    *pm = deleted;
-
-    free(pm);
-}
-
-#if !defined(__BORLANDC__) || (__BORLANDC__ > 0x551)
-
-void operator delete[](void * p, nothrow_t const &) throw()
-{
-    ::operator delete[](p);
-}
-
-#endif
-
-#endif // defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
diff --git a/SRC/Boost/libs/system/build/Jamfile.v2 b/SRC/Boost/libs/system/build/Jamfile.v2
deleted file mode 100755
index 50a8cab..0000000
--- a/SRC/Boost/libs/system/build/Jamfile.v2
+++ /dev/null
@@ -1,25 +0,0 @@
-# Boost System Library Build Jamfile
-
-# (C) Copyright Beman Dawes 2002, 2006
-
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or www.boost.org/LICENSE_1_0.txt)
-
-# See library home page at http://www.boost.org/libs/system
-
-project boost/system
-    : source-location ../src
-    : usage-requirements  # pass these requirement to dependents (i.e. users)
-      <link>shared:<define>BOOST_SYSTEM_DYN_LINK=1
-      <link>static:<define>BOOST_SYSTEM_STATIC_LINK=1
-    ;
-
-SOURCES = error_code ;
-
-lib boost_system
-   : $(SOURCES).cpp
-   : <link>shared:<define>BOOST_SYSTEM_DYN_LINK=1
-     <link>static:<define>BOOST_SYSTEM_STATIC_LINK=1
-   ;
-
-boost-install boost_system ;
\ No newline at end of file
diff --git a/SRC/Boost/libs/system/src/error_code.cpp b/SRC/Boost/libs/system/src/error_code.cpp
deleted file mode 100755
index 19a9fca..0000000
--- a/SRC/Boost/libs/system/src/error_code.cpp
+++ /dev/null
@@ -1,429 +0,0 @@
-//  error_code support implementation file  ----------------------------------//
-
-//  Copyright Beman Dawes 2002, 2006
-
-//  Distributed under the Boost Software License, Version 1.0. (See accompanying
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/system
-
-//----------------------------------------------------------------------------//
-
-#include <boost/config/warning_disable.hpp>
-
-// define BOOST_SYSTEM_SOURCE so that <boost/system/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_SYSTEM_SOURCE 
-
-#include <boost/system/config.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/cerrno.hpp>
-#include <vector>
-#include <cstdlib>
-#include <cassert>
-
-using namespace boost::system;
-using namespace boost::system::errc;
-
-#include <cstring> // for strerror/strerror_r
-
-# if defined( BOOST_WINDOWS_API )
-#   include <windows.h>
-#   include "local_free_on_destruction.hpp"
-#   ifndef ERROR_INCORRECT_SIZE
-#     define ERROR_INCORRECT_SIZE ERROR_BAD_ARGUMENTS
-#   endif
-# endif
-
-//----------------------------------------------------------------------------//
-
-namespace
-{
-#if defined(__PGI)
-  using boost::system::errc::invalid_argument;
-#endif
-  //  standard error categories  ---------------------------------------------//
-
-  class generic_error_category : public error_category
-  {
-  public:
-    generic_error_category(){}
-    const char *   name() const;
-    std::string    message( int ev ) const;
-  };
-
-  class system_error_category : public error_category
-  {
-  public:
-    system_error_category(){}
-    const char *        name() const;
-    std::string         message( int ev ) const;
-    error_condition     default_error_condition( int ev ) const;
-  };
-
-  //  generic_error_category implementation  ---------------------------------//
-
-  const char * generic_error_category::name() const
-  {
-    return "generic";
-  }
-
-  std::string generic_error_category::message( int ev ) const
-  {
-    static std::string unknown_err( "Unknown error" );
-  // strerror_r is preferred because it is always thread safe,
-  // however, we fallback to strerror in certain cases because:
-  //   -- Windows doesn't provide strerror_r.
-  //   -- HP and Sundo provide strerror_r on newer systems, but there is
-  //      no way to tell if is available at runtime and in any case their
-  //      versions of strerror are thread safe anyhow.
-  //   -- Linux only sometimes provides strerror_r.
-  //   -- Tru64 provides strerror_r only when compiled -pthread.
-  //   -- VMS doesn't provide strerror_r, but on this platform, strerror is
-  //      thread safe.
-  # if defined(BOOST_WINDOWS_API) || defined(__hpux) || defined(__sun)\
-     || (defined(__linux) && (!defined(__USE_XOPEN2K) || defined(BOOST_SYSTEM_USE_STRERROR)))\
-     || (defined(__osf__) && !defined(_REENTRANT))\
-     || (defined(__vms))\
-     || (defined(__QNXNTO__))
-      const char * c_str = std::strerror( ev );
-      return  c_str
-        ? std::string( c_str )
-        : unknown_err;
-  # else  // use strerror_r
-      char buf[64];
-      char * bp = buf;
-      std::size_t sz = sizeof(buf);
-  #  if defined(__CYGWIN__) || defined(__USE_GNU)
-      // Oddball version of strerror_r
-      const char * c_str = strerror_r( ev, bp, sz );
-      return  c_str
-        ? std::string( c_str )
-        : unknown_err;
-  #  else
-      // POSIX version of strerror_r
-      int result;
-      for (;;)
-      {
-        // strerror_r returns 0 on success, otherwise ERANGE if buffer too small,
-        // invalid_argument if ev not a valid error number
-  #  if defined (__sgi)
-        const char * c_str = strerror( ev );
-        result = 0;
-      return  c_str
-        ? std::string( c_str )
-        : unknown_err;
-  #  else
-        result = strerror_r( ev, bp, sz );
-  #  endif
-        if (result == 0 )
-          break;
-        else
-        {
-  #  if defined(__linux)
-          // Linux strerror_r returns -1 on error, with error number in errno
-          result = errno;
-  #  endif
-          if ( result !=  ERANGE ) break;
-          if ( sz > sizeof(buf) ) std::free( bp );
-          sz *= 2;
-          if ( (bp = static_cast<char*>(std::malloc( sz ))) == 0 )
-            return std::string( "ENOMEM" );
-        }
-      }
-      std::string msg;
-      try
-      {
-        msg = ( ( result == invalid_argument ) ? "Unknown error" : bp );
-      }
-
-#   ifndef BOOST_NO_EXCEPTIONS
-      // See ticket #2098
-      catch(...)
-      {
-        // just eat the exception
-      }
-#   endif
-
-      if ( sz > sizeof(buf) ) std::free( bp );
-      sz = 0;
-      return msg;
-  #  endif   // else POSIX version of strerror_r
-  # endif  // else use strerror_r
-  }
-  //  system_error_category implementation  --------------------------------// 
-
-  const char * system_error_category::name() const
-  {
-    return "system";
-  }
-
-  error_condition system_error_category::default_error_condition( int ev ) const
-  {
-    switch ( ev )
-    {
-    case 0: return make_error_condition( success );
-# if defined(BOOST_POSIX_API)
-    // POSIX-like O/S -> posix_errno decode table  ---------------------------//
-    case E2BIG: return make_error_condition( argument_list_too_long );
-    case EACCES: return make_error_condition( permission_denied );
-    case EADDRINUSE: return make_error_condition( address_in_use );
-    case EADDRNOTAVAIL: return make_error_condition( address_not_available );
-    case EAFNOSUPPORT: return make_error_condition( address_family_not_supported );
-    case EAGAIN: return make_error_condition( resource_unavailable_try_again );
-#   if EALREADY != EBUSY  //  EALREADY and EBUSY are the same on QNX Neutrino
-    case EALREADY: return make_error_condition( connection_already_in_progress );
-#   endif
-    case EBADF: return make_error_condition( bad_file_descriptor );
-    case EBADMSG: return make_error_condition( bad_message );
-    case EBUSY: return make_error_condition( device_or_resource_busy );
-    case ECANCELED: return make_error_condition( operation_canceled );
-    case ECHILD: return make_error_condition( no_child_process );
-    case ECONNABORTED: return make_error_condition( connection_aborted );
-    case ECONNREFUSED: return make_error_condition( connection_refused );
-    case ECONNRESET: return make_error_condition( connection_reset );
-    case EDEADLK: return make_error_condition( resource_deadlock_would_occur );
-    case EDESTADDRREQ: return make_error_condition( destination_address_required );
-    case EDOM: return make_error_condition( argument_out_of_domain );
-    case EEXIST: return make_error_condition( file_exists );
-    case EFAULT: return make_error_condition( bad_address );
-    case EFBIG: return make_error_condition( file_too_large );
-    case EHOSTUNREACH: return make_error_condition( host_unreachable );
-    case EIDRM: return make_error_condition( identifier_removed );
-    case EILSEQ: return make_error_condition( illegal_byte_sequence );
-    case EINPROGRESS: return make_error_condition( operation_in_progress );
-    case EINTR: return make_error_condition( interrupted );
-    case EINVAL: return make_error_condition( invalid_argument );
-    case EIO: return make_error_condition( io_error );
-    case EISCONN: return make_error_condition( already_connected );
-    case EISDIR: return make_error_condition( is_a_directory );
-    case ELOOP: return make_error_condition( too_many_symbolic_link_levels );
-    case EMFILE: return make_error_condition( too_many_files_open );
-    case EMLINK: return make_error_condition( too_many_links );
-    case EMSGSIZE: return make_error_condition( message_size );
-    case ENAMETOOLONG: return make_error_condition( filename_too_long );
-    case ENETDOWN: return make_error_condition( network_down );
-    case ENETRESET: return make_error_condition( network_reset );
-    case ENETUNREACH: return make_error_condition( network_unreachable );
-    case ENFILE: return make_error_condition( too_many_files_open_in_system );
-    case ENOBUFS: return make_error_condition( no_buffer_space );
-    case ENODATA: return make_error_condition( no_message_available );
-    case ENODEV: return make_error_condition( no_such_device );
-    case ENOENT: return make_error_condition( no_such_file_or_directory );
-    case ENOEXEC: return make_error_condition( executable_format_error );
-    case ENOLCK: return make_error_condition( no_lock_available );
-    case ENOLINK: return make_error_condition( no_link );
-    case ENOMEM: return make_error_condition( not_enough_memory );
-    case ENOMSG: return make_error_condition( no_message );
-    case ENOPROTOOPT: return make_error_condition( no_protocol_option );
-    case ENOSPC: return make_error_condition( no_space_on_device );
-    case ENOSR: return make_error_condition( no_stream_resources );
-    case ENOSTR: return make_error_condition( not_a_stream );
-    case ENOSYS: return make_error_condition( function_not_supported );
-    case ENOTCONN: return make_error_condition( not_connected );
-    case ENOTDIR: return make_error_condition( not_a_directory );
-  # if ENOTEMPTY != EEXIST // AIX treats ENOTEMPTY and EEXIST as the same value
-    case ENOTEMPTY: return make_error_condition( directory_not_empty );
-  # endif // ENOTEMPTY != EEXIST
-  # if ENOTRECOVERABLE != ECONNRESET // the same on some Broadcom chips 
-    case ENOTRECOVERABLE: return make_error_condition( state_not_recoverable ); 
-  # endif // ENOTRECOVERABLE != ECONNRESET 
-    case ENOTSOCK: return make_error_condition( not_a_socket );
-    case ENOTSUP: return make_error_condition( not_supported );
-    case ENOTTY: return make_error_condition( inappropriate_io_control_operation );
-    case ENXIO: return make_error_condition( no_such_device_or_address );
-  # if EOPNOTSUPP != ENOTSUP
-    case EOPNOTSUPP: return make_error_condition( operation_not_supported );
-  # endif // EOPNOTSUPP != ENOTSUP
-    case EOVERFLOW: return make_error_condition( value_too_large );
-  # if EOWNERDEAD != ECONNABORTED // the same on some Broadcom chips 
-    case EOWNERDEAD: return make_error_condition( owner_dead ); 
-  # endif // EOWNERDEAD != ECONNABORTED 
-    case EPERM: return make_error_condition( operation_not_permitted );
-    case EPIPE: return make_error_condition( broken_pipe );
-    case EPROTO: return make_error_condition( protocol_error );
-    case EPROTONOSUPPORT: return make_error_condition( protocol_not_supported );
-    case EPROTOTYPE: return make_error_condition( wrong_protocol_type );
-    case ERANGE: return make_error_condition( result_out_of_range );
-    case EROFS: return make_error_condition( read_only_file_system );
-    case ESPIPE: return make_error_condition( invalid_seek );
-    case ESRCH: return make_error_condition( no_such_process );
-    case ETIME: return make_error_condition( stream_timeout );
-    case ETIMEDOUT: return make_error_condition( timed_out );
-    case ETXTBSY: return make_error_condition( text_file_busy );
-  # if EAGAIN != EWOULDBLOCK
-    case EWOULDBLOCK: return make_error_condition( operation_would_block );
-  # endif // EAGAIN != EWOULDBLOCK
-    case EXDEV: return make_error_condition( cross_device_link );
-  #else
-    // Windows system -> posix_errno decode table  ---------------------------//
-    // see WinError.h comments for descriptions of errors
-    case ERROR_ACCESS_DENIED: return make_error_condition( permission_denied );
-    case ERROR_ALREADY_EXISTS: return make_error_condition( file_exists );
-    case ERROR_BAD_UNIT: return make_error_condition( no_such_device );
-    case ERROR_BUFFER_OVERFLOW: return make_error_condition( filename_too_long );
-    case ERROR_BUSY: return make_error_condition( device_or_resource_busy );
-    case ERROR_BUSY_DRIVE: return make_error_condition( device_or_resource_busy );
-    case ERROR_CANNOT_MAKE: return make_error_condition( permission_denied );
-    case ERROR_CANTOPEN: return make_error_condition( io_error );
-    case ERROR_CANTREAD: return make_error_condition( io_error );
-    case ERROR_CANTWRITE: return make_error_condition( io_error );
-    case ERROR_CURRENT_DIRECTORY: return make_error_condition( permission_denied );
-    case ERROR_DEV_NOT_EXIST: return make_error_condition( no_such_device );
-    case ERROR_DEVICE_IN_USE: return make_error_condition( device_or_resource_busy );
-    case ERROR_DIR_NOT_EMPTY: return make_error_condition( directory_not_empty );
-    case ERROR_DIRECTORY: return make_error_condition( invalid_argument ); // WinError.h: "The directory name is invalid"
-    case ERROR_DISK_FULL: return make_error_condition( no_space_on_device );
-    case ERROR_FILE_EXISTS: return make_error_condition( file_exists );
-    case ERROR_FILE_NOT_FOUND: return make_error_condition( no_such_file_or_directory );
-    case ERROR_HANDLE_DISK_FULL: return make_error_condition( no_space_on_device );
-    case ERROR_INVALID_ACCESS: return make_error_condition( permission_denied );
-    case ERROR_INVALID_DRIVE: return make_error_condition( no_such_device );
-    case ERROR_INVALID_FUNCTION: return make_error_condition( function_not_supported );
-    case ERROR_INVALID_HANDLE: return make_error_condition( invalid_argument );
-    case ERROR_INVALID_NAME: return make_error_condition( invalid_argument );
-    case ERROR_LOCK_VIOLATION: return make_error_condition( no_lock_available );
-    case ERROR_LOCKED: return make_error_condition( no_lock_available );
-    case ERROR_NEGATIVE_SEEK: return make_error_condition( invalid_argument );
-    case ERROR_NOACCESS: return make_error_condition( permission_denied );
-    case ERROR_NOT_ENOUGH_MEMORY: return make_error_condition( not_enough_memory );
-    case ERROR_NOT_READY: return make_error_condition( resource_unavailable_try_again );
-    case ERROR_NOT_SAME_DEVICE: return make_error_condition( cross_device_link );
-    case ERROR_OPEN_FAILED: return make_error_condition( io_error );
-    case ERROR_OPEN_FILES: return make_error_condition( device_or_resource_busy );
-    case ERROR_OPERATION_ABORTED: return make_error_condition( operation_canceled );
-    case ERROR_OUTOFMEMORY: return make_error_condition( not_enough_memory );
-    case ERROR_PATH_NOT_FOUND: return make_error_condition( no_such_file_or_directory );
-    case ERROR_READ_FAULT: return make_error_condition( io_error );
-    case ERROR_RETRY: return make_error_condition( resource_unavailable_try_again );
-    case ERROR_SEEK: return make_error_condition( io_error );
-    case ERROR_SHARING_VIOLATION: return make_error_condition( permission_denied );
-    case ERROR_TOO_MANY_OPEN_FILES: return make_error_condition( too_many_files_open );
-    case ERROR_WRITE_FAULT: return make_error_condition( io_error );
-    case ERROR_WRITE_PROTECT: return make_error_condition( permission_denied );
-    case WSAEACCES: return make_error_condition( permission_denied );
-    case WSAEADDRINUSE: return make_error_condition( address_in_use );
-    case WSAEADDRNOTAVAIL: return make_error_condition( address_not_available );
-    case WSAEAFNOSUPPORT: return make_error_condition( address_family_not_supported );
-    case WSAEALREADY: return make_error_condition( connection_already_in_progress );
-    case WSAEBADF: return make_error_condition( bad_file_descriptor );
-    case WSAECONNABORTED: return make_error_condition( connection_aborted );
-    case WSAECONNREFUSED: return make_error_condition( connection_refused );
-    case WSAECONNRESET: return make_error_condition( connection_reset );
-    case WSAEDESTADDRREQ: return make_error_condition( destination_address_required );
-    case WSAEFAULT: return make_error_condition( bad_address );
-    case WSAEHOSTUNREACH: return make_error_condition( host_unreachable );
-    case WSAEINPROGRESS: return make_error_condition( operation_in_progress );
-    case WSAEINTR: return make_error_condition( interrupted );
-    case WSAEINVAL: return make_error_condition( invalid_argument );
-    case WSAEISCONN: return make_error_condition( already_connected );
-    case WSAEMFILE: return make_error_condition( too_many_files_open );
-    case WSAEMSGSIZE: return make_error_condition( message_size );
-    case WSAENAMETOOLONG: return make_error_condition( filename_too_long );
-    case WSAENETDOWN: return make_error_condition( network_down );
-    case WSAENETRESET: return make_error_condition( network_reset );
-    case WSAENETUNREACH: return make_error_condition( network_unreachable );
-    case WSAENOBUFS: return make_error_condition( no_buffer_space );
-    case WSAENOPROTOOPT: return make_error_condition( no_protocol_option );
-    case WSAENOTCONN: return make_error_condition( not_connected );
-    case WSAENOTSOCK: return make_error_condition( not_a_socket );
-    case WSAEOPNOTSUPP: return make_error_condition( operation_not_supported );
-    case WSAEPROTONOSUPPORT: return make_error_condition( protocol_not_supported );
-    case WSAEPROTOTYPE: return make_error_condition( wrong_protocol_type );
-    case WSAETIMEDOUT: return make_error_condition( timed_out );
-    case WSAEWOULDBLOCK: return make_error_condition( operation_would_block );
-  #endif
-    default: return error_condition( ev, system_category() );
-    }
-  }
-
-# if !defined( BOOST_WINDOWS_API )
-
-  std::string system_error_category::message( int ev ) const
-  {
-    return generic_category().message( ev );
-  }
-# else
-
-  std::string system_error_category::message( int ev ) const
-  {
-# ifndef BOOST_NO_ANSI_APIS  
-    LPVOID lpMsgBuf = 0;
-    DWORD retval = ::FormatMessageA( 
-        FORMAT_MESSAGE_ALLOCATE_BUFFER | 
-        FORMAT_MESSAGE_FROM_SYSTEM | 
-        FORMAT_MESSAGE_IGNORE_INSERTS,
-        NULL,
-        ev,
-        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
-        (LPSTR) &lpMsgBuf,
-        0,
-        NULL 
-    );
-    detail::local_free_on_destruction lfod(lpMsgBuf);
-    if (retval == 0)
-        return std::string("Unknown error");
-        
-    std::string str( static_cast<LPCSTR>(lpMsgBuf) );
-# else  // WinCE workaround
-    LPVOID lpMsgBuf = 0;
-    DWORD retval = ::FormatMessageW( 
-        FORMAT_MESSAGE_ALLOCATE_BUFFER | 
-        FORMAT_MESSAGE_FROM_SYSTEM | 
-        FORMAT_MESSAGE_IGNORE_INSERTS,
-        NULL,
-        ev,
-        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
-        (LPWSTR) &lpMsgBuf,
-        0,
-        NULL 
-    );
-    detail::local_free_on_destruction lfod(lpMsgBuf);
-    if (retval == 0)
-        return std::string("Unknown error");
-    
-    int num_chars = (wcslen( static_cast<LPCWSTR>(lpMsgBuf) ) + 1) * 2;
-    LPSTR narrow_buffer = (LPSTR)_alloca( num_chars );
-    if (::WideCharToMultiByte(CP_ACP, 0, static_cast<LPCWSTR>(lpMsgBuf), -1, narrow_buffer, num_chars, NULL, NULL) == 0)
-        return std::string("Unknown error");
-
-    std::string str( narrow_buffer );
-# endif
-    while ( str.size()
-      && (str[str.size()-1] == '\n' || str[str.size()-1] == '\r') )
-        str.erase( str.size()-1 );
-    if ( str.size() && str[str.size()-1] == '.' ) 
-      { str.erase( str.size()-1 ); }
-    return str;
-  }
-# endif
-
-} // unnamed namespace
-
-namespace boost
-{
-  namespace system
-  {
-
-# ifndef BOOST_SYSTEM_NO_DEPRECATED
-    BOOST_SYSTEM_DECL error_code throws; // "throw on error" special error_code;
-                                         //  note that it doesn't matter if this
-                                         //  isn't initialized before use since
-                                         //  the only use is to take its
-                                         //  address for comparison purposes
-# endif
-
-    BOOST_SYSTEM_DECL const error_category & system_category()
-    {
-      static const system_error_category  system_category_const;
-      return system_category_const;
-    }
-
-    BOOST_SYSTEM_DECL const error_category & generic_category()
-    {
-      static const generic_error_category generic_category_const;
-      return generic_category_const;
-    }
-
-  } // namespace system
-} // namespace boost
diff --git a/SRC/Boost/libs/system/src/local_free_on_destruction.hpp b/SRC/Boost/libs/system/src/local_free_on_destruction.hpp
deleted file mode 100755
index 3b8e882..0000000
--- a/SRC/Boost/libs/system/src/local_free_on_destruction.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  local_free_on_exit.hpp  ------------------------------------------------------------//
-
-//  Copyright (c) 2003-2010 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//  Copyright (c) 2010 Beman Dawes
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//  This is derived from boost/asio/detail/local_free_on_block_exit.hpp to avoid
-//  a dependency on asio. Thanks to Chris Kohlhoff for pointing it out.
-
-#ifndef BOOST_SYSTEM_LOCAL_FREE_ON_EXIT_HPP
-#define BOOST_SYSTEM_LOCAL_FREE_ON_EXIT_HPP
-
-namespace boost {
-namespace system {
-namespace detail {
-
-class local_free_on_destruction
-{
-public:
-  explicit local_free_on_destruction(void* p)
-    : p_(p) {}
-
-  ~local_free_on_destruction()
-  {
-    ::LocalFree(p_);
-  }
-
-private:
-  void* p_;
-  local_free_on_destruction(const local_free_on_destruction&);  // = deleted
-  local_free_on_destruction& operator=(const local_free_on_destruction&);  // = deleted
-};
-
-} // namespace detail
-} // namespace system
-} // namespace boost
-
-#endif  // BOOST_SYSTEM_LOCAL_FREE_ON_EXIT_HPP
diff --git a/SRC/Boost/libs/test/build/Jamfile.v2 b/SRC/Boost/libs/test/build/Jamfile.v2
deleted file mode 100755
index 4d3a25d..0000000
--- a/SRC/Boost/libs/test/build/Jamfile.v2
+++ /dev/null
@@ -1,111 +0,0 @@
-#  (C) Copyright boost 2004.
-#  Distributed under the Boost Software License, Version 1.0. 
-#  (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)
-#
-#  See http://www.boost.org/libs/test for the library home page.
-
-project boost/test 
-    : source-location ../src
-    : requirements <link>shared:<define>BOOST_TEST_DYN_LINK=1
-                   <toolset>msvc:<asynch-exceptions>on
-                   <toolset>borland:<cxxflags>-w-8080
-                   <toolset>borland:<cxxflags>-w-8001
-                   # Disable Warning about boost::noncopyable not being exported
-                   <link>shared,<toolset>msvc:<cxxflags>-wd4275
-                   <toolset>msvc:<cxxflags>-wd4671
-                   <toolset>msvc:<cxxflags>-wd4673
-                   <warnings>all
-    : usage-requirements
-                   <define>BOOST_TEST_NO_AUTO_LINK=1
-                   # Disable Warning about boost::noncopyable not being exported
-                   <link>shared,<toolset>msvc:<cxxflags>-wd4275
-    ;
-
-PRG_EXEC_MON_SOURCES =
-  execution_monitor
-  debug
-  cpp_main
-  ;
-
-TEST_EXEC_MON_SOURCES =
-  compiler_log_formatter
-  debug
-  execution_monitor
-  framework
-  plain_report_formatter
-  progress_monitor
-  results_collector
-  results_reporter
-  test_main
-  test_tools
-  unit_test_log
-  unit_test_main
-  unit_test_monitor
-  unit_test_parameters
-  unit_test_suite
-  xml_log_formatter
-  xml_report_formatter
-  ;
-
-UTF_SOURCES =
-  compiler_log_formatter
-  debug
-  exception_safety
-  execution_monitor
-  framework
-  interaction_based
-  logged_expectations
-  plain_report_formatter
-  progress_monitor
-  results_collector
-  results_reporter
-  test_tools
-  unit_test_log
-  unit_test_main
-  unit_test_monitor
-  unit_test_parameters
-  unit_test_suite
-  xml_log_formatter
-  xml_report_formatter
-  ;
-
-lib boost_prg_exec_monitor 
-  : # sources
-    $(PRG_EXEC_MON_SOURCES).cpp 
-  : # requirements
-  : # default build
-  : # usage-requirements
-    <link>shared:<define>BOOST_TEST_DYN_LINK=1
-  ;
-
-lib boost_test_exec_monitor
-  : # sources
-    $(TEST_EXEC_MON_SOURCES).cpp
-  : # requirements
-    <link>static
-  : # default build
-  : # usage-requirements
-    <link>shared:<define>BOOST_TEST_DYN_LINK=1
-  ;
-
-lib boost_unit_test_framework
-  : # sources
-    $(UTF_SOURCES).cpp
-  : # requirements
-  : # default build
-  : # usage-requirements
-    <link>shared:<define>BOOST_TEST_DYN_LINK=1
-  ;
-
-alias minimal : : : :
-                   <toolset>msvc:<asynch-exceptions>on
-       ;
-
-alias included : : : :
-                   <toolset>msvc:<asynch-exceptions>on
-       ;
-
-boost-install boost_prg_exec_monitor 
-              boost_test_exec_monitor
-              boost_unit_test_framework ;
-          
\ No newline at end of file
diff --git a/SRC/Boost/libs/test/src/compiler_log_formatter.cpp b/SRC/Boost/libs/test/src/compiler_log_formatter.cpp
deleted file mode 100755
index 2432de5..0000000
--- a/SRC/Boost/libs/test/src/compiler_log_formatter.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/compiler_log_formatter.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/cpp_main.cpp b/SRC/Boost/libs/test/src/cpp_main.cpp
deleted file mode 100755
index e947608..0000000
--- a/SRC/Boost/libs/test/src/cpp_main.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/cpp_main.ipp>
-
-// EOF
-
diff --git a/SRC/Boost/libs/test/src/debug.cpp b/SRC/Boost/libs/test/src/debug.cpp
deleted file mode 100755
index 69cc05c..0000000
--- a/SRC/Boost/libs/test/src/debug.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2006-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/debug.ipp>
-
-// ***************************************************************************
-//  Revision History :
-//  
-//  $Log$
-// ***************************************************************************
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/exception_safety.cpp b/SRC/Boost/libs/test/src/exception_safety.cpp
deleted file mode 100755
index a4597f2..0000000
--- a/SRC/Boost/libs/test/src/exception_safety.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/exception_safety.ipp>
-
-// EOF
-
diff --git a/SRC/Boost/libs/test/src/execution_monitor.cpp b/SRC/Boost/libs/test/src/execution_monitor.cpp
deleted file mode 100755
index 680d3cb..0000000
--- a/SRC/Boost/libs/test/src/execution_monitor.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/execution_monitor.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/framework.cpp b/SRC/Boost/libs/test/src/framework.cpp
deleted file mode 100755
index 7b678d6..0000000
--- a/SRC/Boost/libs/test/src/framework.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/framework.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/interaction_based.cpp b/SRC/Boost/libs/test/src/interaction_based.cpp
deleted file mode 100755
index 67494f7..0000000
--- a/SRC/Boost/libs/test/src/interaction_based.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/interaction_based.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/logged_expectations.cpp b/SRC/Boost/libs/test/src/logged_expectations.cpp
deleted file mode 100755
index 93c7421..0000000
--- a/SRC/Boost/libs/test/src/logged_expectations.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/logged_expectations.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/plain_report_formatter.cpp b/SRC/Boost/libs/test/src/plain_report_formatter.cpp
deleted file mode 100755
index a1e1a4b..0000000
--- a/SRC/Boost/libs/test/src/plain_report_formatter.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/plain_report_formatter.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/progress_monitor.cpp b/SRC/Boost/libs/test/src/progress_monitor.cpp
deleted file mode 100755
index 5534e78..0000000
--- a/SRC/Boost/libs/test/src/progress_monitor.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/progress_monitor.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/results_collector.cpp b/SRC/Boost/libs/test/src/results_collector.cpp
deleted file mode 100755
index 5fc13db..0000000
--- a/SRC/Boost/libs/test/src/results_collector.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/results_collector.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/results_reporter.cpp b/SRC/Boost/libs/test/src/results_reporter.cpp
deleted file mode 100755
index a77005a..0000000
--- a/SRC/Boost/libs/test/src/results_reporter.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/results_reporter.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/test_main.cpp b/SRC/Boost/libs/test/src/test_main.cpp
deleted file mode 100755
index 72c8cc2..0000000
--- a/SRC/Boost/libs/test/src/test_main.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/test_main.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/test_tools.cpp b/SRC/Boost/libs/test/src/test_tools.cpp
deleted file mode 100755
index fbf4832..0000000
--- a/SRC/Boost/libs/test/src/test_tools.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/test_tools.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/unit_test_log.cpp b/SRC/Boost/libs/test/src/unit_test_log.cpp
deleted file mode 100755
index 84df6d3..0000000
--- a/SRC/Boost/libs/test/src/unit_test_log.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/unit_test_log.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/unit_test_main.cpp b/SRC/Boost/libs/test/src/unit_test_main.cpp
deleted file mode 100755
index 77a47a0..0000000
--- a/SRC/Boost/libs/test/src/unit_test_main.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/unit_test_main.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/unit_test_monitor.cpp b/SRC/Boost/libs/test/src/unit_test_monitor.cpp
deleted file mode 100755
index bd9e2d3..0000000
--- a/SRC/Boost/libs/test/src/unit_test_monitor.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/unit_test_monitor.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/unit_test_parameters.cpp b/SRC/Boost/libs/test/src/unit_test_parameters.cpp
deleted file mode 100755
index 1d958c1..0000000
--- a/SRC/Boost/libs/test/src/unit_test_parameters.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/unit_test_parameters.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/unit_test_suite.cpp b/SRC/Boost/libs/test/src/unit_test_suite.cpp
deleted file mode 100755
index d935555..0000000
--- a/SRC/Boost/libs/test/src/unit_test_suite.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/unit_test_suite.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/xml_log_formatter.cpp b/SRC/Boost/libs/test/src/xml_log_formatter.cpp
deleted file mode 100755
index 8650cb9..0000000
--- a/SRC/Boost/libs/test/src/xml_log_formatter.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/xml_log_formatter.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/test/src/xml_report_formatter.cpp b/SRC/Boost/libs/test/src/xml_report_formatter.cpp
deleted file mode 100755
index 2166670..0000000
--- a/SRC/Boost/libs/test/src/xml_report_formatter.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//  (C) Copyright Gennadiy Rozental 2005-2008.
-//  Distributed under the Boost Software License, Version 1.0.
-//  (See accompanying file LICENSE_1_0.txt or copy at 
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/test for the library home page.
-//
-//  File        : $RCSfile$
-//
-//  Version     : $Revision: 49313 $
-//
-//  Description : forwarding source
-// ***************************************************************************
-
-#define BOOST_TEST_SOURCE
-#include <boost/test/impl/xml_report_formatter.ipp>
-
-// EOF
diff --git a/SRC/Boost/libs/type_traits/cxx_type_traits.htm b/SRC/Boost/libs/type_traits/cxx_type_traits.htm
deleted file mode 100755
index 380e03d..0000000
--- a/SRC/Boost/libs/type_traits/cxx_type_traits.htm
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-  <head>
-    <meta http-equiv="refresh" content="0; URL=doc/html/boost_typetraits/background.html">
-    <!-- boostinspect:nounlinked -->
-    </head>
-  <body><P>
-    Automatic redirection failed, please go to
-    <a href="doc/html/boost_typetraits/background.html">doc/html/boost_typetraits/background.html.</a></P>
-      <P>Copyright John Maddock 2006</P>
-      <P>Distributed under the Boost Software License, Version 1.0. (See accompanying file <A href="../../LICENSE_1_0.txt">
-            LICENSE_1_0.txt</A> or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</A>).</P>
-  </body>
-</html>
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/doc/Jamfile.v2 b/SRC/Boost/libs/type_traits/doc/Jamfile.v2
deleted file mode 100755
index d551246..0000000
--- a/SRC/Boost/libs/type_traits/doc/Jamfile.v2
+++ /dev/null
@@ -1,72 +0,0 @@
-
-# Copyright John Maddock 2005. Use, modification, and distribution are
-# subject to the Boost Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import modules ;
-using quickbook ;
-using auto-index ;
-
-path-constant boost-images : ../../../doc/src/images ;
-path-constant here : . ;
-
-xml type_traits : type_traits.qbk ;
-boostbook standalone
-    :
-        type_traits
-    :
-        # Index generation:
-        # Path for links to Boost:
-        <xsl:param>boost.root=../../../..
-        
-        # Some general style settings:
-        <xsl:param>table.footnote.number.format=1
-        <xsl:param>footnote.number.format=1
-
-        # HTML options first:
-        # Use graphics not text for navigation:
-        <xsl:param>navig.graphics=1
-        # How far down we chunk nested sections, basically all of them:
-        <xsl:param>chunk.section.depth=10
-        # Don't put the first section on the same page as the TOC:
-        <xsl:param>chunk.first.sections=1
-        # How far down sections get TOC's
-        <xsl:param>toc.section.depth=10
-        # Max depth in each TOC:
-        <xsl:param>toc.max.depth=4
-        # How far down we go with TOC's
-        <xsl:param>generate.section.toc.level=10
-        
-        # PDF Options:
-        # TOC Generation: this is needed for FOP-0.9 and later:
-        <xsl:param>fop1.extensions=0
-        <xsl:param>xep.extensions=1
-        # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
-        <xsl:param>fop.extensions=0
-        # No indent on body text:
-        <xsl:param>body.start.indent=0pt
-        # Margin size:
-        <xsl:param>page.margin.inner=0.5in
-        # Margin size:
-        <xsl:param>page.margin.outer=0.5in
-        # Paper type = A4
-        <xsl:param>paper.type=A4
-        # Yes, we want graphics for admonishments:
-        <xsl:param>admon.graphics=1
-        # Set this one for PDF generation *only*:
-        # default pnd graphics are awful in PDF form,
-        # better use SVG's instead:
-        <format>pdf:<xsl:param>admon.graphics.extension=".svg"
-        <format>pdf:<xsl:param>admon.graphics.path=$(boost-images)/
-        <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/type_traits/doc/html
-        <format>pdf:<auto-index-internal>off
-        <format>html:<auto-index-internal>on
-        <auto-index-script>$(here)/index.idx
-        <auto-index-prefix>$(here)/../../.. 
-        <auto-index>on
-    ;
-
-install pdf-install : standalone : <install-type>PDF <location>. <name>type_traits.pdf ;
-
-
-
diff --git a/SRC/Boost/libs/type_traits/doc/add_const.qbk b/SRC/Boost/libs/type_traits/doc/add_const.qbk
deleted file mode 100755
index 013861f..0000000
--- a/SRC/Boost/libs/type_traits/doc/add_const.qbk
+++ /dev/null
@@ -1,41 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:add_const add_const]
-
-   template <class T>
-   struct add_const
-   {
-      typedef __below type;
-   };
-  
-__type The same type as `T const` for all `T`.  
-
-__std_ref 3.9.3.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/add_const.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`add_const<int>::type`][`int const`]]
-
-[[`add_const<int&>::type`] [`int&`]]
-
-[[`add_const<int*>::type`] [`int* const`]]
-
-[[`add_const<int const>::type`] [`int const`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/add_cv.qbk b/SRC/Boost/libs/type_traits/doc/add_cv.qbk
deleted file mode 100755
index 981f130..0000000
--- a/SRC/Boost/libs/type_traits/doc/add_cv.qbk
+++ /dev/null
@@ -1,41 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:add_cv add_cv]
-
-   template <class T>
-   struct add_cv
-   {
-      typedef __below type;
-   };
-  
-__type The same type as `T const volatile` for all `T`.  
-
-__std_ref 3.9.3.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/add_cv.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`add_cv<int>::type`][`int const volatile`]]
-
-[[`add_cv<int&>::type`] [`int&`]]
-
-[[`add_cv<int*>::type`] [`int* const volatile`]]
-
-[[`add_cv<int const>::type`] [`int const volatile`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/add_lvalue_reference.qbk b/SRC/Boost/libs/type_traits/doc/add_lvalue_reference.qbk
deleted file mode 100755
index 63df16a..0000000
--- a/SRC/Boost/libs/type_traits/doc/add_lvalue_reference.qbk
+++ /dev/null
@@ -1,47 +0,0 @@
-[/ 
-  Copyright 2010 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:add_lvalue_reference add_lvalue_reference]
-
-   template <class T>
-   struct add_lvalue_reference
-   {
-      typedef __below type;
-   };
-  
-__type If `T` names an object or function type then the member typedef `type`
-shall name `T&`; otherwise, if `T` names a type ['rvalue reference to U] then
-the member typedef type shall name `U&`; otherwise, type shall name `T`.
-
-__std_ref 20.7.6.2.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/add_lvalue_reference.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`add_lvalue_reference<int>::type`][`int&`]]
-
-[[`add_lvalue_reference<int const&>::type`] [`int const&`]]
-
-[[`add_lvalue_reference<int*>::type`] [`int*&`]]
-
-[[`add_lvalue_reference<int*&>::type`] [`int*&`]]
-
-[[`add_lvalue_reference<int&&>::type`][`int&`]]
-
-[[`add_lvalue_reference<void>::type`][`void`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/add_pointer.qbk b/SRC/Boost/libs/type_traits/doc/add_pointer.qbk
deleted file mode 100755
index ab974a7..0000000
--- a/SRC/Boost/libs/type_traits/doc/add_pointer.qbk
+++ /dev/null
@@ -1,45 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:add_pointer add_pointer]
-
-   template <class T>
-   struct add_pointer
-   {
-      typedef __below type;
-   };
-  
-__type The same type as `remove_reference<T>::type*`.  
-
-The rationale for this template
-is that it produces the same type as `TYPEOF(&t)`, 
-where `t` is an object of type `T`.
-
-__std_ref 8.3.1.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/add_pointer.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`add_pointer<int>::type`][`int*`]]
-
-[[`add_pointer<int const&>::type`] [`int const*`]]
-
-[[`add_pointer<int*>::type`] [`int**`]]
-
-[[`add_pointer<int*&>::type`] [`int**`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/add_reference.qbk b/SRC/Boost/libs/type_traits/doc/add_reference.qbk
deleted file mode 100755
index 06e7fa9..0000000
--- a/SRC/Boost/libs/type_traits/doc/add_reference.qbk
+++ /dev/null
@@ -1,47 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:add_reference add_reference]
-
-[note This trait has been made obsolete by __add_lvalue_reference and __add_rvalue_reference, 
-and new code should use these new traits rather than __is_reference which is retained
-for backwards compatibility only.
-]
-
-
-   template <class T>
-   struct add_reference
-   {
-      typedef __below type;
-   };
-  
-__type If `T` is not a reference type then `T&`, otherwise `T`.
-
-__std_ref 8.3.2.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/add_reference.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`add_reference<int>::type`][`int&`]]
-
-[[`add_reference<int const&>::type`] [`int const&`]]
-
-[[`add_reference<int*>::type`] [`int*&`]]
-
-[[`add_reference<int*&>::type`] [`int*&`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/add_rvalue_reference.qbk b/SRC/Boost/libs/type_traits/doc/add_rvalue_reference.qbk
deleted file mode 100755
index 13285f5..0000000
--- a/SRC/Boost/libs/type_traits/doc/add_rvalue_reference.qbk
+++ /dev/null
@@ -1,50 +0,0 @@
-[/ 
-  Copyright 2010 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:add_rvalue_reference add_rvalue_reference]
-
-   template <class T>
-   struct add_rvalue_reference
-   {
-      typedef __below type;
-   };
-  
-__type If `T` names an object or function type then the member typedef type
-shall name `T&&`; otherwise, type shall name `T`. ['\[Note: This rule reflects
-the semantics of reference collapsing. For example, when a type `T` names
-a type U&, the type `add_rvalue_reference<T>::type` is not an rvalue
-reference. -end note\]].
-
-__std_ref 20.7.6.2.
-
-__compat If the compiler does not support partial specialization of class-templates
-and rvalue references
-then this template will compile, but the member `type` will always be the same as 
-type `T`.
-
-__header ` #include <boost/type_traits/add_rvalue_reference.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`add_rvalue_reference<int>::type`][`int&&`]]
-
-[[`add_rvalue_reference<int const&>::type`] [`int const&`]]
-
-[[`add_rvalue_reference<int*>::type`] [`int*&&`]]
-
-[[`add_rvalue_reference<int*&>::type`] [`int*&`]]
-
-[[`add_rvalue_reference<int&&>::type`][`int&&`]]
-
-[[`add_rvalue_reference<void>::type`][`void`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/add_volatile.qbk b/SRC/Boost/libs/type_traits/doc/add_volatile.qbk
deleted file mode 100755
index 973aae0..0000000
--- a/SRC/Boost/libs/type_traits/doc/add_volatile.qbk
+++ /dev/null
@@ -1,41 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:add_volatile add_volatile]
-
-   template <class T>
-   struct add_volatile
-   {
-      typedef __below type;
-   };
-  
-__type The same type as `T volatile` for all `T`.  
-
-__std_ref 3.9.3.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/add_volatile.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`add_volatile<int>::type`][`int volatile`]]
-
-[[`add_volatile<int&>::type`] [`int&`]]
-
-[[`add_volatile<int*>::type`] [`int* volatile`]]
-
-[[`add_volatile<int const>::type`] [`int const volatile`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/aligned_storage.qbk b/SRC/Boost/libs/type_traits/doc/aligned_storage.qbk
deleted file mode 100755
index 214b595..0000000
--- a/SRC/Boost/libs/type_traits/doc/aligned_storage.qbk
+++ /dev/null
@@ -1,22 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:aligned_storage aligned_storage]
-
-   template <std::size_t Size, std::size_t Align>
-   struct aligned_storage
-   {
-      typedef __below type;
-   };
-  
-__type a built-in or POD type with size `Size` and an alignment 
-that is a multiple of `Align`.  
-
-__header ` #include <boost/type_traits/aligned_storage.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/alignment_of.qbk b/SRC/Boost/libs/type_traits/doc/alignment_of.qbk
deleted file mode 100755
index 4235b98..0000000
--- a/SRC/Boost/libs/type_traits/doc/alignment_of.qbk
+++ /dev/null
@@ -1,34 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:alignment_of alignment_of]
-   template <class T>
-   struct alignment_of : public __integral_constant<std::size_t, ALIGNOF(T)> {};
-  
-__inherit Class template `alignment_of` inherits from 
-`__integral_constant<std::size_t, ALIGNOF(T)>`, where `ALIGNOF(T)` is the
-alignment of type T.  
-
-['Note: strictly speaking you should only rely on 
-the value of `ALIGNOF(T)` being a multiple of the true alignment of T, although
-in practice it does compute the correct value in all the cases we know about.]
-
-__header ` #include <boost/type_traits/alignment_of.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`alignment_of<int>` inherits from `__integral_constant<std::size_t, ALIGNOF(int)>`.]
-
-[:`alignment_of<char>::type` is the type `__integral_constant<std::size_t, ALIGNOF(char)>`.]
-
-[:`alignment_of<double>::value` is an integral constant 
-expression with value `ALIGNOF(double)`.]
-
-[:`alignment_of<T>::value_type` is the type `std::size_t`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/alignment_traits.qbk b/SRC/Boost/libs/type_traits/doc/alignment_traits.qbk
deleted file mode 100755
index f5e7a09..0000000
--- a/SRC/Boost/libs/type_traits/doc/alignment_traits.qbk
+++ /dev/null
@@ -1,24 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:alignment Synthesizing Types with Specific Alignments]
-
-Some low level memory management routines need to synthesize a POD type with
-specific alignment properties.  The template `__type_with_alignment` finds the smallest
-type with a specified alignment, while template `__aligned_storage` creates a type 
-with a specific size and alignment.
-
-[*Synopsis]
-
-   template <std::size_t Align>
-   struct __type_with_alignment;
-   
-   template <std::size_t Size, std::size_t Align>
-   struct __aligned_storage;
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/background.qbk b/SRC/Boost/libs/type_traits/doc/background.qbk
deleted file mode 100755
index 6d9a41a..0000000
--- a/SRC/Boost/libs/type_traits/doc/background.qbk
+++ /dev/null
@@ -1,322 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:background Background and Tutorial]
-
-The following is an updated version of the article "C++ Type traits"
-by John Maddock and Steve Cleary that appeared in the October 2000 
-issue of [@http://www.ddj.com Dr Dobb's Journal].
-
-Generic programming (writing code which works with any data type meeting a 
-set of requirements) has become the method of choice for providing reusable code. 
-However, there are times in generic programming when "generic" just isn't 
-good enough - sometimes the differences between types are too large for an 
-efficient generic implementation. This is when the traits technique 
-becomes important - by encapsulating those properties that need to be 
-considered on a type by type basis inside a traits class, we can 
-minimize the amount of code that has to differ from one type to another, 
-and maximize the amount of generic code.
-
-Consider an example: when working with character strings, one common operation is 
-to determine the length of a null terminated string. Clearly it's possible to 
-write generic code that can do this, but it turns out that there are much more 
-efficient methods available: for example, the C library functions `strlen` and 
-`wcslen` are usually written in assembler, and with suitable hardware support 
-can be considerably faster than a generic version written in C++. 
-The authors of the C++ standard library realized this, and abstracted the 
-properties of `char` and `wchar_t` into the class `char_traits`. Generic code 
-that works with character strings can simply use `char_traits<>::length` to 
-determine the length of a null terminated string, safe in the knowledge 
-that specializations of `char_traits` will use the most appropriate method 
-available to them.
-
-[h4 Type Traits]
-
-Class `char_traits` is a classic example of a collection of type specific 
-properties wrapped up in a single class - what Nathan Myers termed a 
-/baggage class/[link background.references \[1\]]. In the Boost type-traits library, we[link background.references \[2\]] have written a 
-set of very specific traits classes, each of which encapsulate a single trait 
-from the C++ type system; for example, is a type a pointer or a reference type? 
-Or does a type have a trivial constructor, or a const-qualifier? 
-The type-traits classes share a unified design: each class inherits from
-the type __true_type if the type has the specified property and inherits from
-__false_type otherwise. As we will show, these classes can be used in 
-generic programming to determine the properties of a given type and introduce 
-optimizations that are appropriate for that case.
-
-The type-traits library also contains a set of classes that perform a 
-specific transformation on a type; for example, they can remove a 
-top-level const or volatile qualifier from a type. Each class that 
-performs a transformation defines a single typedef-member `type` 
-that is the result of the transformation. All of the type-traits 
-classes are defined inside namespace `boost`; for brevity, namespace-qualification 
-is omitted in most of the code samples given.
-
-[h4 Implementation]
-
-There are far too many separate classes contained in the type-traits library 
-to give a full implementation here - see the source code in the Boost library 
-for the full details - however, most of the implementation is fairly repetitive 
-anyway, so here we will just give you a flavor for how some of the classes are 
-implemented. Beginning with possibly the simplest class in the library, 
-`is_void<T>` inherits from `__true_type` only if `T` is `void`.
-
-   template <typename T> 
-   struct __is_void : public __false_type{};
-
-   template <> 
-   struct __is_void<void> : public __true_type{};
-
-Here we define a primary version of the template class `__is_void`, and 
-provide a full-specialization when `T` is `void`. While full specialization 
-of a template class is an important technique, sometimes we need a 
-solution that is halfway between a fully generic solution, and a full 
-specialization. This is exactly the situation for which the standards committee 
-defined partial template-class specialization. As an example, consider the 
-class `boost::is_pointer<T>`: here we needed a primary version that handles 
-all the cases where T is not a pointer, and a partial specialization to 
-handle all the cases where T is a pointer:
-
-   template <typename T> 
-   struct __is_pointer : public __false_type{};
-
-   template <typename T> 
-   struct __is_pointer<T*> : public __true_type{};
-
-The syntax for partial specialization is somewhat arcane and could easily 
-occupy an article in its own right; like full specialization, in order to 
-write a partial specialization for a class, you must first declare the 
-primary template. The partial specialization contains an extra <...> after the 
-class name that contains the partial specialization parameters; these define 
-the types that will bind to that partial specialization rather than the 
-default template. The rules for what can appear in a partial specialization 
-are somewhat convoluted, but as a rule of thumb if you can legally write two 
-function overloads of the form:
-
-   void foo(T);
-   void foo(U);
-
-Then you can also write a partial specialization of the form:
-
-   template <typename T>
-   class c{ /*details*/ };
-
-   template <typename T>
-   class c<U>{ /*details*/ };
-
-This rule is by no means foolproof, but it is reasonably simple to remember 
-and close enough to the actual rule to be useful for everyday use.
-
-As a more complex example of partial specialization consider the class 
-`remove_extent<T>`. This class defines a single typedef-member `type` that 
-is the same type as T but with any top-level array bounds removed; 
-this is an example of a traits class that performs a transformation on a type:
-
-   template <typename T> 
-   struct __remove_extent
-   { typedef T type; };
-
-   template <typename T, std::size_t N> 
-   struct __remove_extent<T[N]>
-   { typedef T type; };
-
-The aim of `__remove_extent` is this: imagine a generic algorithm that is 
-passed an array type as a template parameter, `__remove_extent` provides a 
-means of determining the underlying type of the array. For example 
-`remove_extent<int[4][5]>::type` would evaluate to the type `int[5]`. 
-This example also shows that the number of template parameters in a 
-partial specialization does not have to match the number in the 
-default template. However, the number of parameters that appear after the 
-class name do have to match the number and type of the parameters in the 
-default template.
-
-[h4 Optimized copy]
-
-As an example of how the type traits classes can be used, consider the 
-standard library algorithm copy:
-
-   template<typename Iter1, typename Iter2>
-   Iter2 copy(Iter1 first, Iter1 last, Iter2 out);
-
-Obviously, there's no problem writing a generic version of copy that works 
-for all iterator types `Iter1` and `Iter2`; however, there are some 
-circumstances when the copy operation can best be performed by a call to 
-`memcpy`. In order to implement copy in terms of `memcpy` all of the 
-following conditions need to be met:
-
-* Both of the iterator types `Iter1` and `Iter2` must be pointers. 
-* Both `Iter1` and `Iter2` must point to the same type - excluding const and 
-volatile-qualifiers. 
-* The type pointed to by `Iter1` must have a trivial assignment operator. 
-
-By trivial assignment operator we mean that the type is either a scalar type[link background.references \[3\]] or:
-
-* The type has no user defined assignment operator. 
-* The type does not have any data members that are references. 
-* All base classes, and all data member objects must have trivial assignment operators. 
-
-If all these conditions are met then a type can be copied using `memcpy` 
-rather than using a compiler generated assignment operator. The type-traits 
-library provides a class `__has_trivial_assign`, such that 
-`has_trivial_assign<T>::value` is true only if T has a trivial assignment operator. 
-This class "just works" for scalar types, but has to be explicitly 
-specialised for class/struct types that also happen to have a trivial assignment 
-operator. In other words if __has_trivial_assign gives the wrong answer, 
-it will give the "safe" wrong answer - that trivial assignment is not allowable.
-
-The code for an optimized version of copy that uses `memcpy` where appropriate is 
-given in [link boost_typetraits.examples.copy the examples]. The code begins by defining a template 
-function `do_copy` that performs a "slow but safe" copy.  The last parameter passed
-to this function may be either a `__true_type` or a `__false_type`. Following that 
-there is an overload of do_copy that uses `memcpy`: this time the iterators are required
-to actually be pointers to the same type, and the final parameter must be a 
-`__true_type`.  Finally, the version of `copy` calls `do_copy`, passing 
-`__has_trivial_assign<value_type>()` as the final parameter: this will dispatch
-to the optimized version where appropriate, otherwise it will call the 
-"slow but safe version".
-
-[h4 Was it worth it?]
-
-It has often been repeated in these columns that "premature optimization is the 
-root of all evil" [link background.references \[4\]]. So the question must be asked: was our optimization 
-premature? To put this in perspective the timings for our version of copy 
-compared a conventional generic copy[link background.references \[5\]] are shown in table 1.
-
-Clearly the optimization makes a difference in this case; but, to be fair, 
-the timings are loaded to exclude cache miss effects - without this 
-accurate comparison between algorithms becomes difficult. However, perhaps 
-we can add a couple of caveats to the premature optimization rule:
-
-*If you use the right algorithm for the job in the first place then optimization 
-will not be required; in some cases, memcpy is the right algorithm. 
-*If a component is going to be reused in many places by many people then 
-optimizations may well be worthwhile where they would not be so for a single 
-case - in other words, the likelihood that the optimization will be 
-absolutely necessary somewhere, sometime is that much higher. 
-Just as importantly the perceived value of the stock implementation will be 
-higher: there is no point standardizing an algorithm if users reject it on 
-the grounds that there are better, more heavily optimized versions available. 
-
-[table Time taken to copy 1000 elements using `copy<const T*, T*>` (times in micro-seconds)
-
-[[Version] [T] [Time]]
-[["Optimized" copy] [char] [0.99]]
-[[Conventional copy] [char] [8.07]]
-[["Optimized" copy] [int] [2.52]]
-[[Conventional copy] [int] [8.02]]
-]
-
-[h4 Pair of References]
-The optimized copy example shows how type traits may be used to perform 
-optimization decisions at compile-time. Another important usage of type traits 
-is to allow code to compile that otherwise would not do so unless excessive 
-partial specialization is used. This is possible by delegating partial 
-specialization to the type traits classes. Our example for this form of 
-usage is a pair that can hold references [link background.references \[6\]].
-
-First, let us examine the definition of `std::pair`, omitting the 
-comparison operators, default constructor, and template copy constructor for 
-simplicity:
-
-   template <typename T1, typename T2> 
-   struct pair 
-   {
-   typedef T1 first_type;
-   typedef T2 second_type;
-
-   T1 first;
-   T2 second;
-
-   pair(const T1 & nfirst, const T2 & nsecond)
-   :first(nfirst), second(nsecond) { }
-   };
-
-Now, this "pair" cannot hold references as it currently stands, because the 
-constructor would require taking a reference to a reference, which is 
-currently illegal [link background.references \[7\]]. Let us consider what the constructor's parameters 
-would have to be in order to allow "pair" to hold non-reference types, 
-references, and constant references:
-
-[table Required Constructor Argument Types
-[[Type of `T1`] [Type of parameter to initializing constructor]]
-[[T] [const T &]]
-[[T &] [T &]]
-[[const T &] [const T &]]
-]
-
-A little familiarity with the type traits classes allows us to construct a 
-single mapping that allows us to determine the type of parameter from the 
-type of the contained class. The type traits classes provide a 
-transformation __add_reference, which adds a reference to its type, 
-unless it is already a reference.
-
-[table Using add_reference to synthesize the correct constructor type
-[[Type of `T1`] [Type of `const T1`] [Type of `add_reference<const T1>::type`]]
-[[T] [const T] [const T &]]
-[[T &] [T & \[8\]] [T &]]
-[[const T &] [const T &] [const T &]]
-]
- 
-This allows us to build a primary template definition for `pair` that can 
-contain non-reference types, reference types, and constant reference types:
-
-   template <typename T1, typename T2> 
-   struct pair 
-   {
-   typedef T1 first_type;
-   typedef T2 second_type;
-
-   T1 first;
-   T2 second;
-
-   pair(boost::__add_reference<const T1>::type nfirst,
-         boost::__add_reference<const T2>::type nsecond)
-   :first(nfirst), second(nsecond) { }
-   };
-
-Add back in the standard comparison operators, default constructor, 
-and template copy constructor (which are all the same), and you have a 
-`std::pair` that can hold reference types!
-
-This same extension could have been done using partial template specialization 
-of `pair`, but to specialize `pair` in this way would require three partial 
-specializations, plus the primary template. Type traits allows us to 
-define a single primary template that adjusts itself auto-magically to 
-any of these partial specializations, instead of a brute-force partial 
-specialization approach. Using type traits in this fashion allows 
-programmers to delegate partial specialization to the type traits classes, 
-resulting in code that is easier to maintain and easier to understand.
-
-[h4 Conclusion]
-
-We hope that in this article we have been able to give you some idea of 
-what type-traits are all about. A more complete listing of the available 
-classes are in the boost documentation, along with further examples using 
-type traits. Templates have enabled C++ uses to take the advantage of the 
-code reuse that generic programming brings; hopefully this article has 
-shown that generic programming does not have to sink to the lowest common 
-denominator, and that templates can be optimal as well as generic.
-
-[h4 Acknowledgements]
-
-The authors would like to thank Beman Dawes and Howard Hinnant for their 
-helpful comments when preparing this article.
-
-[h4 [#background.references]References]
-
-# Nathan C. Myers, C++ Report, June 1995. 
-# The type traits library is based upon contributions by Steve Cleary, Beman Dawes, Howard Hinnant and John Maddock: it can be found at www.boost.org. 
-# A scalar type is an arithmetic type (i.e. a built-in integer or floating point type), an enumeration type, a pointer, a pointer to member, or a const- or volatile-qualified version of one of these types. 
-# This quote is from Donald Knuth, ACM Computing Surveys, December 1974, pg 268. 
-# The test code is available as part of the boost utility library (see algo_opt_examples.cpp), the code was compiled with gcc 2.95 with all optimisations turned on, tests were conducted on a 400MHz Pentium II machine running Microsoft Windows 98. 
-# John Maddock and Howard Hinnant have submitted a "compressed_pair" library to Boost, which uses a technique similar to the one described here to hold references. Their pair also uses type traits to determine if any of the types are empty, and will derive instead of contain to conserve space -- hence the name "compressed". 
-# This is actually an issue with the C++ Core Language Working Group (issue #106), submitted by Bjarne Stroustrup. The tentative resolution is to allow a "reference to a reference to T" to mean the same thing as a "reference to T", but only in template instantiation, in a method similar to multiple cv-qualifiers. 
-# For those of you who are wondering why this shouldn't be const-qualified, remember that references are always implicitly constant (for example, you can't re-assign a reference). Remember also that "const T &" is something completely different. For this reason, cv-qualifiers on template type arguments that are references are ignored.
-
-[endsect]
-
-
diff --git a/SRC/Boost/libs/type_traits/doc/common_type.qbk b/SRC/Boost/libs/type_traits/doc/common_type.qbk
deleted file mode 100755
index 8ba47c4..0000000
--- a/SRC/Boost/libs/type_traits/doc/common_type.qbk
+++ /dev/null
@@ -1,227 +0,0 @@
-[/ 
-  Copyright 2008 Howard Hinnant
-  Copyright 2008 Beman Dawes
-  Copyright 2010 John Maddock
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[/===================================================================]
-[section:common_type common_type]
-[/===================================================================]
-
-[def __declval [@../../../utility/doc/html/declval.html declval]]
-
-
-__header ` #include <boost/type_traits/common_type.hpp>` or ` #include <boost/type_traits.hpp>`
-
-    namespace boost {
-      template <class ...T>  struct __common_type;
-    }
-
-
-__common_type is a traits class used to deduce a type common to a several types, useful as the return type of functions 
-operating on multiple input types such as in mixed-mode arithmetic..
-
-The nested typedef `::type` could be defined as follows:
-
-    template <class ...T>
-    struct common_type;
-    
-    template <class T, class U, class ...V>
-    struct common_type<T,U,...V> {
-        typedef typename __common_type<typename __common_type<T, U>::type, V...>::type type;
-    };
-
-    template <class T>
-    struct common_type<T> {
-        typedef T type;
-    };
-
-    template <class T, class U>
-    struct common_type<T, U> {
-        typedef decltype(__declval<bool>() ? __declval<T>() : __declval<U>()) type;
-    };
-
-All parameter types must be complete. This trait is permitted to be specialized by a user if at least one 
-template parameter is a user-defined type. [*Note:] Such specializations are required when only explicit conversions 
-are desired among the __common_type arguments.
-
-Note that when the compiler does not support variadic templates (and the macro BOOST_NO_VARIADIC_TEMPLATES is defined)
-then the maximum number of template arguments is 3.
-
-
-[h4 Configuration macros]
-
-When the compiler does not support static assertions then the user can select the way static assertions are reported. Define
-
-* BOOST_COMMON_TYPE_USES_STATIC_ASSERT: define it if you want to use Boost.StaticAssert
-* BOOST_COMMON_TYPE_USES_MPL_ASSERT: define it if you want to use Boost.MPL static asertions
-
-The default behavior is to use mpl assertions in this case, but setting BOOST_COMMON_TYPE_USES_STATIC_ASSERT may reduce
-compile times and header dependencies somewhat.
-
-Depending on the static assertion used you will have an hint of the failing assertion either through the symbol or through the text.
-
-When possible common_type is implemented using `decltype`. Otherwise when BOOST_COMMON_TYPE_DONT_USE_TYPEOF is not defined 
-it uses Boost.TypeOf.
-
-[h4 Tutorial]
-
-In a nutshell, __common_type is a trait that takes 1 or more types, and returns a type which 
-all of the types will convert to. The default definition demands this conversion be implicit. 
-However the trait can be specialized for user-defined types which want to limit their inter-type conversions to explicit, 
-and yet still want to interoperate with the __common_type facility.
-
-[*Example:]
-
-    template <class T, class U>
-    complex<typename __common_type<T, U>::type>
-    operator+(complex<T>, complex<U>);
-
-
-In the above example, "mixed-mode" complex arithmetic is allowed. The return type is described by __common_type. 
-For example the resulting type of adding a `complex<float>` and `complex<double>` might be a `complex<double>`. 
-
-Here is how someone might produce a variadic comparison function:
-
-    template <class ...T>
-    typename __common_type<T...>::type
-    min(T... t);
-
-This is a very useful and broadly applicable utility. 
-
-[h4 How to get the common type of types with explicit conversions?]
-
-Another choice for the author of the preceding operator could be
-
-    template <class T, class U>
-    typename __common_type<complex<T>, complex<U> >::type
-    operator+(complex<T>, complex<U>);
-
-As the default definition of __common_type demands the conversion be implicit, we need to specialize the trait for complex types as follows.
-
-    template <class T, class U>
-    struct __common_type<complex<T>, complex<U> > {
-        typedef complex< __common_type<T, U> > type;
-    };
-
-[h4 How important is the order of the common_type<> template arguments?]
-
-The order of the template parameters is important. 
-
-`common_type<A,B,C>::type` is not equivalent to `common_type<C,A,B>::type`, but to `common_type<common_type<A,B>::type, C>::type`.
-
-Consider
-
-    struct A {};
-    struct B {};
-    struct C {
-        C() {}
-        C(A const&) {}
-        C(B const&) {}
-        C& operator=(C const&) {
-            return *this;
-        }
-    };
-
-The following doesn't compile
-
-    typedef boost::common_type<A, B, C>::type ABC; // Does not compile
-
-while 
-
-    typedef boost::common_type<C, A, B>::type ABC;
-
-compiles.
-
-Thus, as `common_type<A,B>::type` is undefined,  `common_type<A,B,C>::type` is also undefined.
-
-It is intended that clients who wish for `common_type<A, B>` to be well
-defined to define it themselves:
-
-    namespace boost
-    {
-
-    template <>
-    struct common_type<A, B> {typedef C type;};
-
-    } 
-
-Now this client can ask for `common_type<A, B, C>` (and get
-the same answer).
-
-Clients wanting to ask `common_type<A, B, C>` in any order and get the same result need to add in addition:
-
-    namespace boost
-    {
-
-    template <> struct common_type<B, A>
-    : public common_type<A, B> {};
-
-    } 
-
-This is needed as the specialization of `common_type<A, B>` is not be used implicitly for `common_type<B, A>`.
-
-[h4 Can the common_type of two types be a third type?]
-
-Given the preceding example, one might expect `common_type<A,B>::type` to be `C` without any intervention from the user. 
-But the default `common_type<>` implementation doesn't grant that. It is intended that clients who wish for `common_type<A, B>` 
-to be well defined to define it themselves:
-
-    namespace boost
-    {
-
-    template <>
-    struct common_type<A, B> {typedef C type;};
-
-    template <> struct common_type<B, A>
-    : public common_type<A, B> {};
-
-    } 
-
-Now this client can ask for `common_type<A, B>`.
-
-[h4 How common_type behaves with pointers?]
-
-Consider
-
-    struct C { }:
-    struct B : C { };
-    struct A : C { };
-
-
-Shouldn't `common_type<A*,B*>::type` be `C*`? I would say yes, but the default implementation will make it ill-formed.
-
-The library could add a specialization for pointers, as
-
-    namespace boost
-    {
-
-        template <typename A, typename B>
-        struct common_type<A*, B*> {
-            typedef common_type<A, B>* type;
-        };
-    }
-    
-But in the absence of a motivating use cases, we prefer not to add more than the standard specifies. 
-
-Of course the user can always make this specialization.
-
-[h4 Can you explain the pros/cons of common_type against Boost.Typeof?]
-
-Even if they appear to be close, `__common_type` and `typeof` have
-different purposes. You use `typeof` to get the type of an expression, while
-you use __common_type to set explicitly the type returned of a template
-function. Both are complementary, and indeed __common_type is equivalent to 
-`decltype(__declval<bool>() ? __declval<T>() : __declval<U>())` 
-
-__common_type is also similar to promote_args<class ...T> in boost/math/tools/promotion.hpp, 
-though it is not exactly the same as promote_args either.  __common_type<T1, T2>::type simply represents the result of some 
-operation on T1 and T2, and defaults to the type obtained by putting T1 and T2 into a conditional statement.
-
-It is meant to be customizable (via specialization) if this default is not appropriate.
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/conditional.qbk b/SRC/Boost/libs/type_traits/doc/conditional.qbk
deleted file mode 100755
index f52ec50..0000000
--- a/SRC/Boost/libs/type_traits/doc/conditional.qbk
+++ /dev/null
@@ -1,24 +0,0 @@
-[/ 
-  Copyright 2010 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[/===================================================================]
-[section:conditional conditional]
-[/===================================================================]
-
-
-__header ` #include <boost/type_traits/conditional.hpp>` or ` #include <boost/type_traits.hpp>`
-
-    namespace boost {
-      template <bool B, class T, class U>  struct __conditional;
-    }
-
-If B is true, the member typedef type shall equal T. If B is false, the member typedef type shall equal U.
-
-This trait is really just an alias for `boost::mpl::if_c`.
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/credits.qbk b/SRC/Boost/libs/type_traits/doc/credits.qbk
deleted file mode 100755
index b2256ce..0000000
--- a/SRC/Boost/libs/type_traits/doc/credits.qbk
+++ /dev/null
@@ -1,41 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:credits Credits]
-
-This documentation was pulled together by John Maddock, using 
-[@../../../../doc/html/quickbook.html Boost.Quickbook]
-and [@../../../../doc/html/boostbook.html Boost.DocBook].
- 
-The original version of this library was created by Steve Cleary, 
-Beman Dawes, Howard Hinnant, and John Maddock.  John Maddock is the
-current maintainer of the library.
-
-This version of type traits library is based on contributions by 
-Adobe Systems Inc, David Abrahams, Steve Cleary, 
-Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus, 
-Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey and Jeremy Siek.
-
-Mat Marcus and Jesse Jones invented, and 
-[@http://opensource.adobe.com/project4/project.shtml published a paper describing], 
-the partial specialization workarounds used in this library.
-
-Aleksey Gurtovoy added MPL integration to the library.
-
-The __is_convertible template is based on code originally devised by 
-Andrei Alexandrescu, see 
-"[@http://www.cuj.com/experts/1810/alexandr.htm?topic=experts 
-Generic<Programming>: Mappings between Types and Values]".
-
-The latest version of this library and documentation can be found at 
-[@http://www.boost.org www.boost.org]. Bugs, suggestions and discussion
-should be directed to boost at lists.boost.org 
-(see [@http://www.boost.org/more/mailing_lists.htm#main 
-www.boost.org/more/mailing_lists.htm#main] for subscription details).
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/decay.qbk b/SRC/Boost/libs/type_traits/doc/decay.qbk
deleted file mode 100755
index 0b31362..0000000
--- a/SRC/Boost/libs/type_traits/doc/decay.qbk
+++ /dev/null
@@ -1,40 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:decay decay]
-
-   template <class T>
-   struct decay
-   {
-      typedef __below type;
-   };
-  
-__type Let `U` be the result of `remove_reference<T>::type`, then if `U` is
-an array type, the result is `remove_extent<U>::type*`, otherwise if `U` is a 
-function type then the result is `U*`, otherwise the result is `U`.
-
-__std_ref 3.9.1.
-
-__header ` #include <boost/type_traits/decay.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`decay<int[2][3]>::type`][`int[3]*`]]
-
-[[`decay<int(&)[2]>::type`] [`int*`]]
-
-[[`decay<int(&)(double)>::type`] [`int(*)(double)`]]
-
-[[`int(*)(double`] [`int(*)(double)`]]
-[[`int(double)`] [`int(*)(double)`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/decomposing_func.qbk b/SRC/Boost/libs/type_traits/doc/decomposing_func.qbk
deleted file mode 100755
index 7ba0eed..0000000
--- a/SRC/Boost/libs/type_traits/doc/decomposing_func.qbk
+++ /dev/null
@@ -1,20 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:function Decomposing Function Types]
-
-The class template __function_traits extracts information from function types
-(see also __is_function).  This traits class allows you to tell how many arguments
-a function takes, what those argument types are, and what the return type is.
-
-[*Synopsis]
-
-   template <std::size_t Align>
-   struct __function_traits;
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/examples.qbk b/SRC/Boost/libs/type_traits/doc/examples.qbk
deleted file mode 100755
index d3b65d9..0000000
--- a/SRC/Boost/libs/type_traits/doc/examples.qbk
+++ /dev/null
@@ -1,237 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:examples Examples]
-
-[section:copy An Optimized Version of std::copy]
-
-Demonstrates a version of `std::copy` that uses `__has_trivial_assign` to
-determine whether to use `memcpy` to optimise the copy operation 
-(see [@../../examples/copy_example.cpp copy_example.cpp]):
-
-   //
-   // opt::copy
-   // same semantics as std::copy
-   // calls memcpy where appropriate.
-   //
-
-   namespace detail{
-
-   template<typename I1, typename I2, bool b>
-   I2 copy_imp(I1 first, I1 last, I2 out, const boost::__integral_constant<bool, b>&)
-   {
-      while(first != last)
-      {
-         *out = *first;
-         ++out;
-         ++first;
-      }
-      return out;
-   }
-
-   template<typename T>
-   T* copy_imp(const T* first, const T* last, T* out, const boost::__true_type&)
-   {
-      memmove(out, first, (last-first)*sizeof(T));
-      return out+(last-first);
-   }
-
-
-   }
-
-   template<typename I1, typename I2>
-   inline I2 copy(I1 first, I1 last, I2 out)
-   {
-      //
-      // We can copy with memcpy if T has a trivial assignment operator,
-      // and if the iterator arguments are actually pointers (this last
-      // requirement we detect with overload resolution):
-      //
-      typedef typename std::iterator_traits<I1>::value_type value_type;
-      return detail::copy_imp(first, last, out, boost::__has_trivial_assign<value_type>());
-   }
-
-
-[endsect]
-
-[section:fill An Optimised Version of std::fill]
-
-Demonstrates a version of `std::fill` that uses `__has_trivial_assign` to
-determine whether to use `memset` to optimise the fill operation 
-(see [@../../examples/fill_example.cpp fill_example.cpp]):
-
-   //
-   // fill
-   // same as std::fill, but uses memset where appropriate
-   //
-   namespace detail{
-
-   template <typename I, typename T, bool b>
-   void do_fill(I first, I last, const T& val, const boost::__integral_constant<bool, b>&)
-   {
-      while(first != last)
-      {
-         *first = val;
-         ++first;
-      }
-   }
-
-   template <typename T>
-   void do_fill(T* first, T* last, const T& val, const boost::__true_type&)
-   {
-      std::memset(first, val, last-first);
-   }
-
-   }
-
-   template <class I, class T>
-   inline void fill(I first, I last, const T& val)
-   {
-      //
-      // We can do an optimised fill if T has a trivial assignment 
-      // operator and if it's size is one:
-      //
-      typedef boost::__integral_constant<bool, 
-         ::boost::__has_trivial_assign<T>::value && (sizeof(T) == 1)> truth_type;
-      detail::do_fill(first, last, val, truth_type());
-   }
-
-
-[endsect]
-
-[section:destruct An Example that Omits Destructor Calls For Types with Trivial Destructors]
-
-Demonstrates a simple algorithm that uses `__has_trivial_destruct` to
-determine whether to destructors need to be called 
-(see [@../../examples/trivial_destructor_example.cpp trivial_destructor_example.cpp]):
-
-   //
-   // algorithm destroy_array:
-   // The reverse of std::unitialized_copy, takes a block of
-   // initialized memory and calls destructors on all objects therein.
-   //
-
-   namespace detail{
-
-   template <class T>
-   void do_destroy_array(T* first, T* last, const boost::__false_type&)
-   {
-      while(first != last)
-      {
-         first->~T();
-         ++first;
-      }
-   }
-
-   template <class T>
-   inline void do_destroy_array(T* first, T* last, const boost::__true_type&)
-   {
-   }
-
-   } // namespace detail
-
-   template <class T>
-   inline void destroy_array(T* p1, T* p2)
-   {
-      detail::do_destroy_array(p1, p2, ::boost::__has_trivial_destructor<T>());
-   }
-
-
-[endsect]
-
-[section:iter An improved Version of std::iter_swap]
-
-Demonstrates a version of `std::iter_swap` that use type traits to
-determine whether an it's arguments are proxying iterators or not,
-if they're not then it just does a `std::swap` of it's dereferenced 
-arguments (the
-same as `std::iter_swap` does), however if they are proxying iterators
-then takes special care over the swap to ensure that the algorithm
-works correctly for both proxying iterators, and even iterators of
-different types 
-(see [@../../examples/iter_swap_example.cpp iter_swap_example.cpp]):
-
-   //
-   // iter_swap:
-   // tests whether iterator is a proxying iterator or not, and
-   // uses optimal form accordingly:
-   //
-   namespace detail{
-
-   template <typename I>
-   static void do_swap(I one, I two, const boost::__false_type&)
-   {
-      typedef typename std::iterator_traits<I>::value_type v_t;
-      v_t v = *one;
-      *one = *two;
-      *two = v;
-   }
-   template <typename I>
-   static void do_swap(I one, I two, const boost::__true_type&)
-   {
-      using std::swap;
-      swap(*one, *two);
-   }
-
-   }
-
-   template <typename I1, typename I2>
-   inline void iter_swap(I1 one, I2 two)
-   {
-      //
-      // See is both arguments are non-proxying iterators, 
-      // and if both iterator the same type:
-      //
-      typedef typename std::iterator_traits<I1>::reference r1_t;
-      typedef typename std::iterator_traits<I2>::reference r2_t;
-
-      typedef boost::__integral_constant<bool,
-         ::boost::__is_reference<r1_t>::value
-         && ::boost::__is_reference<r2_t>::value
-         && ::boost::__is_same<r1_t, r2_t>::value> truth_type;
-
-      detail::do_swap(one, two, truth_type());
-   }
-
-
-[endsect]
-
-[section:to_double Convert Numeric Types and Enums to double]
-
-Demonstrates a conversion of
-[@../../../../libs/numeric/conversion/doc/html/boost_numericconversion/definitions.html#boost_numericconversion.definitions.numeric_types
-Numeric Types]
-and enum types to double:
-
-    template<class T>
-    inline double to_double(T const& value)
-    {
-        typedef typename boost::promote<T>::type promoted;
-        return boost::numeric::converter<double,promoted>::convert(value);
-    }
-
-[endsect]
-
-[section:improved_min Improving std::min with common_type]
-
-An improved `std::min` function could be written like this:
-
-   template <class T, class U>
-   typename __common_type<T, U>::type min(T t, T u)
-   {
-      return t < u ? t : u;
-   }
-
-And now expressions such as:
-
-   min(1, 2.0)
-
-will actually compile and return the correct type!
-
-[endsect]
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/extent.qbk b/SRC/Boost/libs/type_traits/doc/extent.qbk
deleted file mode 100755
index 0d46394..0000000
--- a/SRC/Boost/libs/type_traits/doc/extent.qbk
+++ /dev/null
@@ -1,48 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:extent extent]
-   template <class T, std::size_t N = 0>
-   struct extent : public __integral_constant<std::size_t, EXTENT(T,N)> {};
-  
-__inherit Class template extent inherits from `__integral_constant<std::size_t, EXTENT(T,N)>`, 
-where `EXTENT(T,N)` is the number of elements in the N'th array dimension of type `T`.
-
-If `T` is not a (built-in) array type, or if `N > __rank<T>::value`, or if the N'th array bound
-is incomplete, then `EXTENT(T,N)` is zero.
-
-__header ` #include <boost/type_traits/extent.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`extent<int[1]>` inherits from `__integral_constant<std::size_t, 1>`.]
-
-[:`extent<double[2][3][4], 0>::type` is the type `__integral_constant<std::size_t, 2>`.]
-
-[:`extent<double[2][3][4], 1>::type` is the type `__integral_constant<std::size_t, 3>`.]
-
-[:`extent<double[2][3][4], 3>::type` is the type `__integral_constant<std::size_t, 4>`.]
-
-[:`extent<int[4]>::value` is an integral constant 
-expression that evaluates to /4/.]
-
-[:`extent<int[][2]>::value` is an integral constant 
-expression that evaluates to /0/.]
-
-[:`extent<int[][2], 1>::value` is an integral constant 
-expression that evaluates to /2/.]
-
-[:`extent<int*>::value` is an integral constant 
-expression that evaluates to /0/.]
-
-[:`extent<boost::array<int, 3> >::value` is an integral constant 
-expression that evaluates to /0/: `boost::array` is a class type and [*not an array type]!]
-
-[:`extent<T>::value_type` is the type `std::size_t`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/floating_point_promotion.qbk b/SRC/Boost/libs/type_traits/doc/floating_point_promotion.qbk
deleted file mode 100755
index 35be393..0000000
--- a/SRC/Boost/libs/type_traits/doc/floating_point_promotion.qbk
+++ /dev/null
@@ -1,37 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:floating_point_promotion floating_point_promotion]
-
-   template <class T>
-   struct floating_point_promotion
-   {
-      typedef __below type;
-   };
-  
-__type If floating point promotion can be applied to an rvalue of type `T`,
-then applies floating point promotion to `T` and keeps cv-qualifiers of `T`,
-otherwise leaves `T` unchanged.
-
-__std_ref 4.6.
-
-__header ` #include <boost/type_traits/floating_point_promotion.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`floating_point_promotion<float const>::type`][`double const`]]
-
-[[`floating_point_promotion<float&>::type`][`float&`]]
-
-[[`floating_point_promotion<short>::type`][`short`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/function_traits.qbk b/SRC/Boost/libs/type_traits/doc/function_traits.qbk
deleted file mode 100755
index d7973d5..0000000
--- a/SRC/Boost/libs/type_traits/doc/function_traits.qbk
+++ /dev/null
@@ -1,56 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:function_traits function_traits]
-[def __argN '''arg<replaceable>N</replaceable>_type''']
-
-   template <class F>
-   struct function_traits
-   {
-      static const std::size_t    arity = __below;
-      typedef __below           result_type;
-      typedef __below           __argN; 
-   };
-
-The class template function_traits will only compile if:
-
-* The compiler supports partial specialization of class templates.
-* The template argument `F` is a /function type/, note that this ['[*is not]] 
-the same thing as a /pointer to a function/.
-
-[tip
-function_traits is intended to introspect only C++ functions of the 
-form R (), R( A1 ), R ( A1, ... etc. ) and not function pointers or 
-class member functions. To convert a function pointer type to a suitable 
-type use __remove_pointer.]
-
-[table Function Traits Members 
-[[Member] [Description]] 
-[[`function_traits<F>::arity`] 
-   [An integral constant expression that gives the number of arguments accepted by the function type `F`.]]
-[[`function_traits<F>::result_type`] 
-   [The type returned by function type `F`.]]
-[[`function_traits<F>::__argN`] 
-   [The '''<replaceable>N</replaceable>th''' argument type of function type `F`, where `1 <= N <= arity` of `F`.]]
-]
-
-[table Examples
-[[Expression] [Result]] 
-[[`function_traits<void (void)>::arity`] [An integral constant expression that has the value 0.]]
-[[`function_traits<long (int)>::arity`] [An integral constant expression that has the value 1.]]
-[[`function_traits<long (int, long, double, void*)>::arity`] [An integral constant expression that has the value 4.]]
-[[`function_traits<void (void)>::result_type`] [The type `void`.]]
-[[`function_traits<long (int)>::result_type`] [The type `long`.]]
-[[`function_traits<long (int)>::arg1_type`] [The type `int`.]]
-[[`function_traits<long (int, long, double, void*)>::arg4_type`] [The type `void*`.]]
-[[`function_traits<long (int, long, double, void*)>::arg5_type`] [A compiler error: there is no `arg5_type` since there are only four arguments.]]
-[[`function_traits<long (*)(void)>::arity`] [A compiler error: argument type is a /function pointer/, and not a /function type/.]]
-
-]
-   
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_bit_and.qbk b/SRC/Boost/libs/type_traits/doc/has_bit_and.qbk
deleted file mode 100755
index f1b0c20..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_bit_and.qbk
+++ /dev/null
@@ -1,109 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_bit_and has_bit_and]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_bit_and : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs&rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs&rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator&`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs&rhs); // is valid if has_bit_and<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_bit_and.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_bit_and<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_bit_and<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_bit_and<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_bit_and<long>` inherits from `__true_type`.]
-
-[:`has_bit_and<int, int, int>` inherits from `__true_type`.]
-[:`has_bit_and<const int, int>` inherits from `__true_type`.]
-
-[:`has_bit_and<int, double, bool>` inherits from `__false_type`.]
-[:`has_bit_and<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator&` is public or not:
-if `operator&` is defined as a private member of `Lhs` then
-instantiating `has_bit_and<Lhs>` will produce a compiler error.
-For this reason `has_bit_and` cannot be used to determine whether a type has a public `operator&` or not.
-``
-struct A { private: void operator&(const A&); };
-boost::has_bit_and<A>::value; // error: A::operator&(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator&(const A&, const A&);
-struct B { operator A(); };
-boost::has_bit_and<A>::value; // this is fine
-boost::has_bit_and<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator&` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_bit_and.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator&(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_bit_and< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g&g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_bit_and< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b&b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_bit_and_assign.qbk b/SRC/Boost/libs/type_traits/doc/has_bit_and_assign.qbk
deleted file mode 100755
index ef6591c..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_bit_and_assign.qbk
+++ /dev/null
@@ -1,109 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_bit_and_assign has_bit_and_assign]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_bit_and_assign : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs&=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs&=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator&=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs&=rhs); // is valid if has_bit_and_assign<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_bit_and_assign.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_bit_and_assign<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_bit_and_assign<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_bit_and_assign<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_bit_and_assign<long>` inherits from `__true_type`.]
-
-[:`has_bit_and_assign<int, int, int>` inherits from `__true_type`.]
-
-[:`has_bit_and_assign<const int, int>` inherits from `__false_type`.]
-[:`has_bit_and_assign<int, double, bool>` inherits from `__false_type`.]
-[:`has_bit_and_assign<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator&=` is public or not:
-if `operator&=` is defined as a private member of `Lhs` then
-instantiating `has_bit_and_assign<Lhs>` will produce a compiler error.
-For this reason `has_bit_and_assign` cannot be used to determine whether a type has a public `operator&=` or not.
-``
-struct A { private: void operator&=(const A&); };
-boost::has_bit_and_assign<A>::value; // error: A::operator&=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator&=(const A&, const A&);
-struct B { operator A(); };
-boost::has_bit_and_assign<A>::value; // this is fine
-boost::has_bit_and_assign<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator&=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_bit_and_assign.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator&=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_bit_and_assign< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g&=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_bit_and_assign< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b&=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_bit_or.qbk b/SRC/Boost/libs/type_traits/doc/has_bit_or.qbk
deleted file mode 100755
index 5cf8427..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_bit_or.qbk
+++ /dev/null
@@ -1,109 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_bit_or has_bit_or]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_bit_or : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs|rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs|rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator|`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs|rhs); // is valid if has_bit_or<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_bit_or.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_bit_or<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_bit_or<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_bit_or<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_bit_or<long>` inherits from `__true_type`.]
-
-[:`has_bit_or<int, int, int>` inherits from `__true_type`.]
-[:`has_bit_or<const int, int>` inherits from `__true_type`.]
-
-[:`has_bit_or<int, double, bool>` inherits from `__false_type`.]
-[:`has_bit_or<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator|` is public or not:
-if `operator|` is defined as a private member of `Lhs` then
-instantiating `has_bit_or<Lhs>` will produce a compiler error.
-For this reason `has_bit_or` cannot be used to determine whether a type has a public `operator|` or not.
-``
-struct A { private: void operator|(const A&); };
-boost::has_bit_or<A>::value; // error: A::operator|(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator|(const A&, const A&);
-struct B { operator A(); };
-boost::has_bit_or<A>::value; // this is fine
-boost::has_bit_or<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator|` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_bit_or.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator|(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_bit_or< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g|g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_bit_or< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b|b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_bit_or_assign.qbk b/SRC/Boost/libs/type_traits/doc/has_bit_or_assign.qbk
deleted file mode 100755
index 3cf24b0..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_bit_or_assign.qbk
+++ /dev/null
@@ -1,109 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_bit_or_assign has_bit_or_assign]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_bit_or_assign : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs|=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs|=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator|=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs|=rhs); // is valid if has_bit_or_assign<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_bit_or_assign.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_bit_or_assign<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_bit_or_assign<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_bit_or_assign<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_bit_or_assign<long>` inherits from `__true_type`.]
-
-[:`has_bit_or_assign<int, int, int>` inherits from `__true_type`.]
-
-[:`has_bit_or_assign<const int, int>` inherits from `__false_type`.]
-[:`has_bit_or_assign<int, double, bool>` inherits from `__false_type`.]
-[:`has_bit_or_assign<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator|=` is public or not:
-if `operator|=` is defined as a private member of `Lhs` then
-instantiating `has_bit_or_assign<Lhs>` will produce a compiler error.
-For this reason `has_bit_or_assign` cannot be used to determine whether a type has a public `operator|=` or not.
-``
-struct A { private: void operator|=(const A&); };
-boost::has_bit_or_assign<A>::value; // error: A::operator|=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator|=(const A&, const A&);
-struct B { operator A(); };
-boost::has_bit_or_assign<A>::value; // this is fine
-boost::has_bit_or_assign<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator|=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_bit_or_assign.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator|=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_bit_or_assign< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g|=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_bit_or_assign< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b|=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_bit_xor.qbk b/SRC/Boost/libs/type_traits/doc/has_bit_xor.qbk
deleted file mode 100755
index 95a6574..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_bit_xor.qbk
+++ /dev/null
@@ -1,109 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_bit_xor has_bit_xor]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_bit_xor : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs^rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs^rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator^`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs^rhs); // is valid if has_bit_xor<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_bit_xor.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_bit_xor<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_bit_xor<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_bit_xor<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_bit_xor<long>` inherits from `__true_type`.]
-
-[:`has_bit_xor<int, int, int>` inherits from `__true_type`.]
-[:`has_bit_xor<const int, int>` inherits from `__true_type`.]
-
-[:`has_bit_xor<int, double, bool>` inherits from `__false_type`.]
-[:`has_bit_xor<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator^` is public or not:
-if `operator^` is defined as a private member of `Lhs` then
-instantiating `has_bit_xor<Lhs>` will produce a compiler error.
-For this reason `has_bit_xor` cannot be used to determine whether a type has a public `operator^` or not.
-``
-struct A { private: void operator^(const A&); };
-boost::has_bit_xor<A>::value; // error: A::operator^(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator^(const A&, const A&);
-struct B { operator A(); };
-boost::has_bit_xor<A>::value; // this is fine
-boost::has_bit_xor<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator^` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_bit_xor.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator^(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_bit_xor< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g^g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_bit_xor< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b^b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_bit_xor_assign.qbk b/SRC/Boost/libs/type_traits/doc/has_bit_xor_assign.qbk
deleted file mode 100755
index ec63290..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_bit_xor_assign.qbk
+++ /dev/null
@@ -1,109 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_bit_xor_assign has_bit_xor_assign]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_bit_xor_assign : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs^=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs^=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator^=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs^=rhs); // is valid if has_bit_xor_assign<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_bit_xor_assign.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_bit_xor_assign<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_bit_xor_assign<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_bit_xor_assign<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_bit_xor_assign<long>` inherits from `__true_type`.]
-
-[:`has_bit_xor_assign<int, int, int>` inherits from `__true_type`.]
-
-[:`has_bit_xor_assign<const int, int>` inherits from `__false_type`.]
-[:`has_bit_xor_assign<int, double, bool>` inherits from `__false_type`.]
-[:`has_bit_xor_assign<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator^=` is public or not:
-if `operator^=` is defined as a private member of `Lhs` then
-instantiating `has_bit_xor_assign<Lhs>` will produce a compiler error.
-For this reason `has_bit_xor_assign` cannot be used to determine whether a type has a public `operator^=` or not.
-``
-struct A { private: void operator^=(const A&); };
-boost::has_bit_xor_assign<A>::value; // error: A::operator^=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator^=(const A&, const A&);
-struct B { operator A(); };
-boost::has_bit_xor_assign<A>::value; // this is fine
-boost::has_bit_xor_assign<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator^=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_bit_xor_assign.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator^=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_bit_xor_assign< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g^=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_bit_xor_assign< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b^=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_complement.qbk b/SRC/Boost/libs/type_traits/doc/has_complement.qbk
deleted file mode 100755
index 2ad3783..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_complement.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_complement has_complement]
-   template <class Rhs, class Ret=dont_care>
-   struct has_complement : public __tof {};
-
-__inherit
-If (i) `rhs` of type `Rhs` can be used in expression `~rhs`,
-and (ii) `Ret=dont_care` or the result of expression `~rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of prefix `operator~`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Rhs rhs;
-f(~rhs); // is valid if has_complement<Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_complement.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_complement<Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_complement<Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_complement<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_complement<long>` inherits from `__true_type`.]
-
-[:`has_complement<int, int>` inherits from `__true_type`.]
-[:`has_complement<int, long>` inherits from `__true_type`.]
-[:`has_complement<const int>` inherits from `__true_type`.]
-
-[:`has_complement<int*>` inherits from `__false_type`.]
-[:`has_complement<double, double>` inherits from `__false_type`.]
-[:`has_complement<double, int>` inherits from `__false_type`.]
-[:`has_complement<int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether prefix `operator~` is public or not:
-if `operator~` is defined as a private member of `Rhs` then
-instantiating `has_complement<Rhs>` will produce a compiler error.
-For this reason `has_complement` cannot be used to determine whether a type has a public `operator~` or not.
-``
-struct A { private: void operator~(); };
-boost::has_complement<A>::value; // error: A::operator~() is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator~(const A&);
-struct B { operator A(); };
-boost::has_complement<A>::value; // this is fine
-boost::has_complement<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator~` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_complement.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator~(const contains<T> &rhs) {
-	return f(rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_complement< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	~g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_complement< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	~b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_dereference.qbk b/SRC/Boost/libs/type_traits/doc/has_dereference.qbk
deleted file mode 100755
index 17597b0..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_dereference.qbk
+++ /dev/null
@@ -1,114 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_dereference has_dereference]
-   template <class Rhs, class Ret=dont_care>
-   struct has_dereference : public __tof {};
-
-__inherit
-If (i) `rhs` of type `Rhs` can be used in expression `*rhs`,
-and (ii) `Ret=dont_care` or the result of expression `*rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of prefix `operator*`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Rhs rhs;
-f(*rhs); // is valid if has_dereference<Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_dereference.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_dereference<Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_dereference<Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_dereference<int*>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_dereference<long*>` inherits from `__true_type`.]
-
-
-[:`has_dereference<int*, int>` inherits from `__true_type`.]
-[:`has_dereference<int*, const int>` inherits from `__true_type`.]
-[:`has_dereference<int const *>` inherits from `__true_type`.]
-[:`has_dereference<int * const>` inherits from `__true_type`.]
-[:`has_dereference<int const * const>` inherits from `__true_type`.]
-
-[:`has_dereference<int>` inherits from `__false_type`.]
-[:`has_dereference<double>` inherits from `__false_type`.]
-[:`has_dereference<void*>` inherits from `__false_type`.]
-[:`has_dereference<const int*, int&>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether prefix `operator*` is public or not:
-if `operator*` is defined as a private member of `Rhs` then
-instantiating `has_dereference<Rhs>` will produce a compiler error.
-For this reason `has_dereference` cannot be used to determine whether a type has a public `operator*` or not.
-``
-struct A { private: void operator*(); };
-boost::has_dereference<A>::value; // error: A::operator*() is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator*(const A&);
-struct B { operator A(); };
-boost::has_dereference<A>::value; // this is fine
-boost::has_dereference<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator*` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_dereference.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator*(const contains<T> &rhs) {
-	return f(rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_dereference< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	*g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_dereference< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	*b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_divides.qbk b/SRC/Boost/libs/type_traits/doc/has_divides.qbk
deleted file mode 100755
index b1f65c3..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_divides.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_divides has_divides]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_divides : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs/rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs/rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator/`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs/rhs); // is valid if has_divides<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_divides.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_divides<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_divides<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_divides<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_divides<long>` inherits from `__true_type`.]
-
-[:`has_divides<int, int, int>` inherits from `__true_type`.]
-[:`has_divides<int, int, long>` inherits from `__true_type`.]
-[:`has_divides<int, double, double>` inherits from `__true_type`.]
-[:`has_divides<int, double, int>` inherits from `__true_type`.]
-[:`has_divides<const int, int>::value` inherits from `__true_type`.]
-
-[:`has_divides<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator/` is public or not:
-if `operator/` is defined as a private member of `Lhs` then
-instantiating `has_divides<Lhs>` will produce a compiler error.
-For this reason `has_divides` cannot be used to determine whether a type has a public `operator/` or not.
-``
-struct A { private: void operator/(const A&); };
-boost::has_divides<A>::value; // error: A::operator/(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator/(const A&, const A&);
-struct B { operator A(); };
-boost::has_divides<A>::value; // this is fine
-boost::has_divides<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator/` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_divides.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator/(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_divides< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g/g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_divides< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b/b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_divides_assign.qbk b/SRC/Boost/libs/type_traits/doc/has_divides_assign.qbk
deleted file mode 100755
index 810a355..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_divides_assign.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_divides_assign has_divides_assign]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_divides_assign : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs/=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs/=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator/=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs/=rhs); // is valid if has_divides_assign<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_divides_assign.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_divides_assign<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_divides_assign<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_divides_assign<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_divides_assign<long>` inherits from `__true_type`.]
-
-[:`has_divides_assign<int, int, int>` inherits from `__true_type`.]
-[:`has_divides_assign<int, int, long>` inherits from `__true_type`.]
-[:`has_divides_assign<int, double, double>` inherits from `__true_type`.]
-[:`has_divides_assign<int, double, int>` inherits from `__true_type`.]
-
-[:`has_divides_assign<const int, int>::value` inherits from `__false_type`.]
-[:`has_divides_assign<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator/=` is public or not:
-if `operator/=` is defined as a private member of `Lhs` then
-instantiating `has_divides_assign<Lhs>` will produce a compiler error.
-For this reason `has_divides_assign` cannot be used to determine whether a type has a public `operator/=` or not.
-``
-struct A { private: void operator/=(const A&); };
-boost::has_divides_assign<A>::value; // error: A::operator/=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator/=(const A&, const A&);
-struct B { operator A(); };
-boost::has_divides_assign<A>::value; // this is fine
-boost::has_divides_assign<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator/=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_divides_assign.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator/=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_divides_assign< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g/=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_divides_assign< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b/=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_equal_to.qbk b/SRC/Boost/libs/type_traits/doc/has_equal_to.qbk
deleted file mode 100755
index b55b34b..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_equal_to.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_equal_to has_equal_to]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_equal_to : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs==rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs==rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator==`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs==rhs); // is valid if has_equal_to<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_equal_to.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_equal_to<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_equal_to<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_equal_to<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_equal_to<long>` inherits from `__true_type`.]
-
-[:`has_equal_to<int, int, bool>` inherits from `__true_type`.]
-[:`has_equal_to<int, double, bool>` inherits from `__true_type`.]
-[:`has_equal_to<const int>` inherits from `__true_type`.]
-
-[:`has_equal_to<int*, int>` inherits from `__false_type`.]
-[:`has_equal_to<int*, double*>` inherits from `__false_type`.]
-[:`has_equal_to<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator==` is public or not:
-if `operator==` is defined as a private member of `Lhs` then
-instantiating `has_equal_to<Lhs>` will produce a compiler error.
-For this reason `has_equal_to` cannot be used to determine whether a type has a public `operator==` or not.
-``
-struct A { private: void operator==(const A&); };
-boost::has_equal_to<A>::value; // error: A::operator==(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator==(const A&, const A&);
-struct B { operator A(); };
-boost::has_equal_to<A>::value; // this is fine
-boost::has_equal_to<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator==` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_equal_to.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator==(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_equal_to< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g==g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_equal_to< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b==b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_greater.qbk b/SRC/Boost/libs/type_traits/doc/has_greater.qbk
deleted file mode 100755
index 02d84d6..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_greater.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_greater has_greater]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_greater : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs>rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs>rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator>`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs>rhs); // is valid if has_greater<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_greater.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_greater<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_greater<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_greater<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_greater<long>` inherits from `__true_type`.]
-
-[:`has_greater<int, int, bool>` inherits from `__true_type`.]
-[:`has_greater<int, double, bool>` inherits from `__true_type`.]
-[:`has_greater<const int>` inherits from `__true_type`.]
-
-[:`has_greater<int*, int>` inherits from `__false_type`.]
-[:`has_greater<int*, double*>` inherits from `__false_type`.]
-[:`has_greater<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator>` is public or not:
-if `operator>` is defined as a private member of `Lhs` then
-instantiating `has_greater<Lhs>` will produce a compiler error.
-For this reason `has_greater` cannot be used to determine whether a type has a public `operator>` or not.
-``
-struct A { private: void operator>(const A&); };
-boost::has_greater<A>::value; // error: A::operator>(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator>(const A&, const A&);
-struct B { operator A(); };
-boost::has_greater<A>::value; // this is fine
-boost::has_greater<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator>` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_greater.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator>(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_greater< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g>g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_greater< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b>b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_greater_equal.qbk b/SRC/Boost/libs/type_traits/doc/has_greater_equal.qbk
deleted file mode 100755
index 0e5482f..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_greater_equal.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_greater_equal has_greater_equal]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_greater_equal : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs>=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs>=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator>=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs>=rhs); // is valid if has_greater_equal<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_greater_equal.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_greater_equal<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_greater_equal<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_greater_equal<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_greater_equal<long>` inherits from `__true_type`.]
-
-[:`has_greater_equal<int, int, bool>` inherits from `__true_type`.]
-[:`has_greater_equal<int, double, bool>` inherits from `__true_type`.]
-[:`has_greater_equal<const int>` inherits from `__true_type`.]
-
-[:`has_greater_equal<int*, int>` inherits from `__false_type`.]
-[:`has_greater_equal<int*, double*>` inherits from `__false_type`.]
-[:`has_greater_equal<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator>=` is public or not:
-if `operator>=` is defined as a private member of `Lhs` then
-instantiating `has_greater_equal<Lhs>` will produce a compiler error.
-For this reason `has_greater_equal` cannot be used to determine whether a type has a public `operator>=` or not.
-``
-struct A { private: void operator>=(const A&); };
-boost::has_greater_equal<A>::value; // error: A::operator>=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator>=(const A&, const A&);
-struct B { operator A(); };
-boost::has_greater_equal<A>::value; // this is fine
-boost::has_greater_equal<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator>=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_greater_equal.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator>=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_greater_equal< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g>=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_greater_equal< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b>=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_left_shift.qbk b/SRC/Boost/libs/type_traits/doc/has_left_shift.qbk
deleted file mode 100755
index 76a3e85..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_left_shift.qbk
+++ /dev/null
@@ -1,112 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_left_shift has_left_shift]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_left_shift : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs<<rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs<<rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator<<`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs<<rhs); // is valid if has_left_shift<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_left_shift.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_left_shift<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_left_shift<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_left_shift<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_left_shift<long>` inherits from `__true_type`.]
-
-[:`has_left_shift<int, int, int>` inherits from `__true_type`.]
-[:`has_left_shift<const int, int>` inherits from `__true_type`.]
-[:`has_left_shift<std::ostream, int>` inherits from `__true_type`.]
-[:`has_left_shift<std::ostream, char*, std::ostream>` inherits from `__true_type`.]
-[:`has_left_shift<std::ostream, std::string>` inherits from `__true_type`.]
-
-[:`has_left_shift<int, double, bool>` inherits from `__false_type`.]
-[:`has_left_shift<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator<<` is public or not:
-if `operator<<` is defined as a private member of `Lhs` then
-instantiating `has_left_shift<Lhs>` will produce a compiler error.
-For this reason `has_left_shift` cannot be used to determine whether a type has a public `operator<<` or not.
-``
-struct A { private: void operator<<(const A&); };
-boost::has_left_shift<A>::value; // error: A::operator<<(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator<<(const A&, const A&);
-struct B { operator A(); };
-boost::has_left_shift<A>::value; // this is fine
-boost::has_left_shift<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator<<` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_left_shift.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator<<(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_left_shift< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g<<g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_left_shift< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b<<b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_left_shift_assign.qbk b/SRC/Boost/libs/type_traits/doc/has_left_shift_assign.qbk
deleted file mode 100755
index 690cdf9..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_left_shift_assign.qbk
+++ /dev/null
@@ -1,109 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_left_shift_assign has_left_shift_assign]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_left_shift_assign : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs<<=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs<<=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator<<=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs<<=rhs); // is valid if has_left_shift_assign<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_left_shift_assign.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_left_shift_assign<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_left_shift_assign<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_left_shift_assign<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_left_shift_assign<long>` inherits from `__true_type`.]
-
-[:`has_left_shift_assign<int, int, int>` inherits from `__true_type`.]
-
-[:`has_left_shift_assign<const int, int>` inherits from `__false_type`.]
-[:`has_left_shift_assign<int, double, bool>` inherits from `__false_type`.]
-[:`has_left_shift_assign<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator<<=` is public or not:
-if `operator<<=` is defined as a private member of `Lhs` then
-instantiating `has_left_shift_assign<Lhs>` will produce a compiler error.
-For this reason `has_left_shift_assign` cannot be used to determine whether a type has a public `operator<<=` or not.
-``
-struct A { private: void operator<<=(const A&); };
-boost::has_left_shift_assign<A>::value; // error: A::operator<<=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator<<=(const A&, const A&);
-struct B { operator A(); };
-boost::has_left_shift_assign<A>::value; // this is fine
-boost::has_left_shift_assign<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator<<=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_left_shift_assign.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator<<=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_left_shift_assign< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g<<=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_left_shift_assign< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b<<=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_less.qbk b/SRC/Boost/libs/type_traits/doc/has_less.qbk
deleted file mode 100755
index 8f0b926..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_less.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_less has_less]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_less : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs<rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs<rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator<`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs<rhs); // is valid if has_less<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_less.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_less<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_less<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_less<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_less<long>` inherits from `__true_type`.]
-
-[:`has_less<int, int, bool>` inherits from `__true_type`.]
-[:`has_less<int, double, bool>` inherits from `__true_type`.]
-[:`has_less<const int>` inherits from `__true_type`.]
-
-[:`has_less<int*, int>` inherits from `__false_type`.]
-[:`has_less<int*, double*>` inherits from `__false_type`.]
-[:`has_less<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator<` is public or not:
-if `operator<` is defined as a private member of `Lhs` then
-instantiating `has_less<Lhs>` will produce a compiler error.
-For this reason `has_less` cannot be used to determine whether a type has a public `operator<` or not.
-``
-struct A { private: void operator<(const A&); };
-boost::has_less<A>::value; // error: A::operator<(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator<(const A&, const A&);
-struct B { operator A(); };
-boost::has_less<A>::value; // this is fine
-boost::has_less<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator<` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_less.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator<(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_less< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g<g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_less< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b<b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_less_equal.qbk b/SRC/Boost/libs/type_traits/doc/has_less_equal.qbk
deleted file mode 100755
index 946b43c..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_less_equal.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_less_equal has_less_equal]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_less_equal : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs<=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs<=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator<=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs<=rhs); // is valid if has_less_equal<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_less_equal.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_less_equal<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_less_equal<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_less_equal<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_less_equal<long>` inherits from `__true_type`.]
-
-[:`has_less_equal<int, int, bool>` inherits from `__true_type`.]
-[:`has_less_equal<int, double, bool>` inherits from `__true_type`.]
-[:`has_less_equal<const int>` inherits from `__true_type`.]
-
-[:`has_less_equal<int*, int>` inherits from `__false_type`.]
-[:`has_less_equal<int*, double*>` inherits from `__false_type`.]
-[:`has_less_equal<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator<=` is public or not:
-if `operator<=` is defined as a private member of `Lhs` then
-instantiating `has_less_equal<Lhs>` will produce a compiler error.
-For this reason `has_less_equal` cannot be used to determine whether a type has a public `operator<=` or not.
-``
-struct A { private: void operator<=(const A&); };
-boost::has_less_equal<A>::value; // error: A::operator<=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator<=(const A&, const A&);
-struct B { operator A(); };
-boost::has_less_equal<A>::value; // this is fine
-boost::has_less_equal<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator<=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_less_equal.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator<=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_less_equal< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g<=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_less_equal< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b<=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_logical_and.qbk b/SRC/Boost/libs/type_traits/doc/has_logical_and.qbk
deleted file mode 100755
index 21dd5ca..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_logical_and.qbk
+++ /dev/null
@@ -1,110 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_logical_and has_logical_and]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_logical_and : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs&&rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs&&rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator&&`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs&&rhs); // is valid if has_logical_and<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_logical_and.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_logical_and<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_logical_and<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_logical_and<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_logical_and<bool>` inherits from `__true_type`.]
-
-[:`has_logical_and<int, int, bool>` inherits from `__true_type`.]
-[:`has_logical_and<int, int, long>` inherits from `__true_type`.]
-[:`has_logical_and<int, double, bool>` inherits from `__true_type`.]
-[:`has_logical_and<const int, int>::value` inherits from `__true_type`.]
-
-[:`has_logical_and<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator&&` is public or not:
-if `operator&&` is defined as a private member of `Lhs` then
-instantiating `has_logical_and<Lhs>` will produce a compiler error.
-For this reason `has_logical_and` cannot be used to determine whether a type has a public `operator&&` or not.
-``
-struct A { private: void operator&&(const A&); };
-boost::has_logical_and<A>::value; // error: A::operator&&(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator&&(const A&, const A&);
-struct B { operator A(); };
-boost::has_logical_and<A>::value; // this is fine
-boost::has_logical_and<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator&&` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_logical_and.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator&&(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_logical_and< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g&&g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_logical_and< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b&&b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_logical_not.qbk b/SRC/Boost/libs/type_traits/doc/has_logical_not.qbk
deleted file mode 100755
index d4a18af..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_logical_not.qbk
+++ /dev/null
@@ -1,110 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_logical_not has_logical_not]
-   template <class Rhs, class Ret=dont_care>
-   struct has_logical_not : public __tof {};
-
-__inherit
-If (i) `rhs` of type `Rhs` can be used in expression `!rhs`,
-and (ii) `Ret=dont_care` or the result of expression `!rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of prefix `operator!`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Rhs rhs;
-f(!rhs); // is valid if has_logical_not<Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_logical_not.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_logical_not<Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_logical_not<Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_logical_not<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_logical_not<bool>` inherits from `__true_type`.]
-
-[:`has_logical_not<int, bool>` inherits from `__true_type`.]
-[:`has_logical_not<int, long>` inherits from `__true_type`.]
-[:`has_logical_not<double, double>` inherits from `__true_type`.]
-[:`has_logical_not<double, bool>` inherits from `__true_type`.]
-[:`has_logical_not<const bool>` inherits from `__true_type`.]
-
-[:`has_logical_not<int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether prefix `operator!` is public or not:
-if `operator!` is defined as a private member of `Rhs` then
-instantiating `has_logical_not<Rhs>` will produce a compiler error.
-For this reason `has_logical_not` cannot be used to determine whether a type has a public `operator!` or not.
-``
-struct A { private: void operator!(); };
-boost::has_logical_not<A>::value; // error: A::operator!() is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator!(const A&);
-struct B { operator A(); };
-boost::has_logical_not<A>::value; // this is fine
-boost::has_logical_not<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator!` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_logical_not.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator!(const contains<T> &rhs) {
-	return f(rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_logical_not< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	!g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_logical_not< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	!b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_logical_or.qbk b/SRC/Boost/libs/type_traits/doc/has_logical_or.qbk
deleted file mode 100755
index f241971..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_logical_or.qbk
+++ /dev/null
@@ -1,110 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_logical_or has_logical_or]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_logical_or : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs||rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs||rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator||`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs||rhs); // is valid if has_logical_or<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_logical_or.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_logical_or<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_logical_or<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_logical_or<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_logical_or<bool>` inherits from `__true_type`.]
-
-[:`has_logical_or<int, int, bool>` inherits from `__true_type`.]
-[:`has_logical_or<int, int, long>` inherits from `__true_type`.]
-[:`has_logical_or<int, double, bool>` inherits from `__true_type`.]
-[:`has_logical_or<const int, int>::value` inherits from `__true_type`.]
-
-[:`has_logical_or<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator||` is public or not:
-if `operator||` is defined as a private member of `Lhs` then
-instantiating `has_logical_or<Lhs>` will produce a compiler error.
-For this reason `has_logical_or` cannot be used to determine whether a type has a public `operator||` or not.
-``
-struct A { private: void operator||(const A&); };
-boost::has_logical_or<A>::value; // error: A::operator||(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator||(const A&, const A&);
-struct B { operator A(); };
-boost::has_logical_or<A>::value; // this is fine
-boost::has_logical_or<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator||` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_logical_or.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator||(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_logical_or< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g||g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_logical_or< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b||b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_minus.qbk b/SRC/Boost/libs/type_traits/doc/has_minus.qbk
deleted file mode 100755
index c4083e0..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_minus.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_minus has_minus]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_minus : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs-rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs-rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator-`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs-rhs); // is valid if has_minus<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_minus.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_minus<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_minus<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_minus<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_minus<long>` inherits from `__true_type`.]
-
-[:`has_minus<int, int, int>` inherits from `__true_type`.]
-[:`has_minus<int, int, long>` inherits from `__true_type`.]
-[:`has_minus<int, double, double>` inherits from `__true_type`.]
-[:`has_minus<int, double, int>` inherits from `__true_type`.]
-[:`has_minus<const int, int>::value` inherits from `__true_type`.]
-
-[:`has_minus<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator-` is public or not:
-if `operator-` is defined as a private member of `Lhs` then
-instantiating `has_minus<Lhs>` will produce a compiler error.
-For this reason `has_minus` cannot be used to determine whether a type has a public `operator-` or not.
-``
-struct A { private: void operator-(const A&); };
-boost::has_minus<A>::value; // error: A::operator-(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator-(const A&, const A&);
-struct B { operator A(); };
-boost::has_minus<A>::value; // this is fine
-boost::has_minus<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator-` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_minus.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator-(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_minus< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g-g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_minus< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b-b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_minus_assign.qbk b/SRC/Boost/libs/type_traits/doc/has_minus_assign.qbk
deleted file mode 100755
index c1755b1..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_minus_assign.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_minus_assign has_minus_assign]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_minus_assign : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs-=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs-=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator-=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs-=rhs); // is valid if has_minus_assign<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_minus_assign.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_minus_assign<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_minus_assign<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_minus_assign<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_minus_assign<long>` inherits from `__true_type`.]
-
-[:`has_minus_assign<int, int, int>` inherits from `__true_type`.]
-[:`has_minus_assign<int, int, long>` inherits from `__true_type`.]
-[:`has_minus_assign<int, double, double>` inherits from `__true_type`.]
-[:`has_minus_assign<int, double, int>` inherits from `__true_type`.]
-
-[:`has_minus_assign<const int, int>::value` inherits from `__false_type`.]
-[:`has_minus_assign<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator-=` is public or not:
-if `operator-=` is defined as a private member of `Lhs` then
-instantiating `has_minus_assign<Lhs>` will produce a compiler error.
-For this reason `has_minus_assign` cannot be used to determine whether a type has a public `operator-=` or not.
-``
-struct A { private: void operator-=(const A&); };
-boost::has_minus_assign<A>::value; // error: A::operator-=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator-=(const A&, const A&);
-struct B { operator A(); };
-boost::has_minus_assign<A>::value; // this is fine
-boost::has_minus_assign<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator-=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_minus_assign.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator-=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_minus_assign< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g-=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_minus_assign< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b-=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_modulus.qbk b/SRC/Boost/libs/type_traits/doc/has_modulus.qbk
deleted file mode 100755
index d3852d9..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_modulus.qbk
+++ /dev/null
@@ -1,109 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_modulus has_modulus]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_modulus : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs%rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs%rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator%`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs%rhs); // is valid if has_modulus<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_modulus.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_modulus<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_modulus<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_modulus<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_modulus<long>` inherits from `__true_type`.]
-
-[:`has_modulus<int, int, int>` inherits from `__true_type`.]
-[:`has_modulus<int, int, long>` inherits from `__true_type`.]
-[:`has_modulus<const int, int>::value` inherits from `__true_type`.]
-
-[:`has_modulus<int, double>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator%` is public or not:
-if `operator%` is defined as a private member of `Lhs` then
-instantiating `has_modulus<Lhs>` will produce a compiler error.
-For this reason `has_modulus` cannot be used to determine whether a type has a public `operator%` or not.
-``
-struct A { private: void operator%(const A&); };
-boost::has_modulus<A>::value; // error: A::operator%(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator%(const A&, const A&);
-struct B { operator A(); };
-boost::has_modulus<A>::value; // this is fine
-boost::has_modulus<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator%` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_modulus.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator%(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_modulus< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g%g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_modulus< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b%b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_modulus_assign.qbk b/SRC/Boost/libs/type_traits/doc/has_modulus_assign.qbk
deleted file mode 100755
index 3006d34..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_modulus_assign.qbk
+++ /dev/null
@@ -1,109 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_modulus_assign has_modulus_assign]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_modulus_assign : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs%=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs%=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator%=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs%=rhs); // is valid if has_modulus_assign<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_modulus_assign.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_modulus_assign<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_modulus_assign<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_modulus_assign<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_modulus_assign<long>` inherits from `__true_type`.]
-
-[:`has_modulus_assign<int, int, int>` inherits from `__true_type`.]
-[:`has_modulus_assign<int, int, long>` inherits from `__true_type`.]
-
-[:`has_modulus_assign<const int, int>::value` inherits from `__false_type`.]
-[:`has_modulus_assign<int, double>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator%=` is public or not:
-if `operator%=` is defined as a private member of `Lhs` then
-instantiating `has_modulus_assign<Lhs>` will produce a compiler error.
-For this reason `has_modulus_assign` cannot be used to determine whether a type has a public `operator%=` or not.
-``
-struct A { private: void operator%=(const A&); };
-boost::has_modulus_assign<A>::value; // error: A::operator%=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator%=(const A&, const A&);
-struct B { operator A(); };
-boost::has_modulus_assign<A>::value; // this is fine
-boost::has_modulus_assign<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator%=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_modulus_assign.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator%=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_modulus_assign< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g%=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_modulus_assign< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b%=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_multiplies.qbk b/SRC/Boost/libs/type_traits/doc/has_multiplies.qbk
deleted file mode 100755
index 976f2b5..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_multiplies.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_multiplies has_multiplies]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_multiplies : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs*rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs*rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator*`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs*rhs); // is valid if has_multiplies<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_multiplies.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_multiplies<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_multiplies<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_multiplies<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_multiplies<long>` inherits from `__true_type`.]
-
-[:`has_multiplies<int, int, int>` inherits from `__true_type`.]
-[:`has_multiplies<int, int, long>` inherits from `__true_type`.]
-[:`has_multiplies<int, double, double>` inherits from `__true_type`.]
-[:`has_multiplies<int, double, int>` inherits from `__true_type`.]
-[:`has_multiplies<const int, int>::value` inherits from `__true_type`.]
-
-[:`has_multiplies<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator*` is public or not:
-if `operator*` is defined as a private member of `Lhs` then
-instantiating `has_multiplies<Lhs>` will produce a compiler error.
-For this reason `has_multiplies` cannot be used to determine whether a type has a public `operator*` or not.
-``
-struct A { private: void operator*(const A&); };
-boost::has_multiplies<A>::value; // error: A::operator*(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator*(const A&, const A&);
-struct B { operator A(); };
-boost::has_multiplies<A>::value; // this is fine
-boost::has_multiplies<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator*` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_multiplies.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator*(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_multiplies< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g*g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_multiplies< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b*b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_multiplies_assign.qbk b/SRC/Boost/libs/type_traits/doc/has_multiplies_assign.qbk
deleted file mode 100755
index 66a9dcc..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_multiplies_assign.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_multiplies_assign has_multiplies_assign]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_multiplies_assign : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs*=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs*=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator*=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs*=rhs); // is valid if has_multiplies_assign<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_multiplies_assign.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_multiplies_assign<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_multiplies_assign<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_multiplies_assign<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_multiplies_assign<long>` inherits from `__true_type`.]
-
-[:`has_multiplies_assign<int, int, int>` inherits from `__true_type`.]
-[:`has_multiplies_assign<int, int, long>` inherits from `__true_type`.]
-[:`has_multiplies_assign<int, double, double>` inherits from `__true_type`.]
-[:`has_multiplies_assign<int, double, int>` inherits from `__true_type`.]
-
-[:`has_multiplies_assign<const int, int>::value` inherits from `__false_type`.]
-[:`has_multiplies_assign<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator*=` is public or not:
-if `operator*=` is defined as a private member of `Lhs` then
-instantiating `has_multiplies_assign<Lhs>` will produce a compiler error.
-For this reason `has_multiplies_assign` cannot be used to determine whether a type has a public `operator*=` or not.
-``
-struct A { private: void operator*=(const A&); };
-boost::has_multiplies_assign<A>::value; // error: A::operator*=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator*=(const A&, const A&);
-struct B { operator A(); };
-boost::has_multiplies_assign<A>::value; // this is fine
-boost::has_multiplies_assign<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator*=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_multiplies_assign.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator*=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_multiplies_assign< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g*=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_multiplies_assign< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b*=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_negate.qbk b/SRC/Boost/libs/type_traits/doc/has_negate.qbk
deleted file mode 100755
index 620f7d2..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_negate.qbk
+++ /dev/null
@@ -1,110 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_negate has_negate]
-   template <class Rhs, class Ret=dont_care>
-   struct has_negate : public __tof {};
-
-__inherit
-If (i) `rhs` of type `Rhs` can be used in expression `-rhs`,
-and (ii) `Ret=dont_care` or the result of expression `-rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of prefix `operator-`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Rhs rhs;
-f(-rhs); // is valid if has_negate<Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_negate.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_negate<Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_negate<Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_negate<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_negate<long>` inherits from `__true_type`.]
-
-[:`has_negate<int, int>` inherits from `__true_type`.]
-[:`has_negate<int, long>` inherits from `__true_type`.]
-[:`has_negate<double, double>` inherits from `__true_type`.]
-[:`has_negate<double, int>` inherits from `__true_type`.]
-[:`has_negate<const int>` inherits from `__true_type`.]
-
-[:`has_negate<int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether prefix `operator-` is public or not:
-if `operator-` is defined as a private member of `Rhs` then
-instantiating `has_negate<Rhs>` will produce a compiler error.
-For this reason `has_negate` cannot be used to determine whether a type has a public `operator-` or not.
-``
-struct A { private: void operator-(); };
-boost::has_negate<A>::value; // error: A::operator-() is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator-(const A&);
-struct B { operator A(); };
-boost::has_negate<A>::value; // this is fine
-boost::has_negate<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator-` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_negate.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator-(const contains<T> &rhs) {
-	return f(rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_negate< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	-g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_negate< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	-b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_new_operator.qbk b/SRC/Boost/libs/type_traits/doc/has_new_operator.qbk
deleted file mode 100755
index 196c3ae..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_new_operator.qbk
+++ /dev/null
@@ -1,49 +0,0 @@
-[/ 
-  Copyright 2009 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_new_operator has_new_operator]
-   template <class T>
-   struct has_new_operator : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) type with an overloaded new-operator
-then inherits from __true_type, otherwise inherits from __false_type.
-
-__compat Not usable with compilers that do not support "substitution failure is not an error"
-(in which case BOOST_NO_SFINAE will be defined), also known to be broken with 
-the Borland/Codegear compiler.
-
-__std_ref 12.5.
-
-__header ` #include <boost/type_traits/has_new_operator.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-Given:
-
-	class A { void* operator new(std::size_t); };
-	class B { void* operator new(std::size_t, const std::nothrow&); };
-	class C { void* operator new(std::size_t, void*); };
-	class D { void* operator new[](std::size_t); };
-	class E { void* operator new[](std::size_t, const std::nothrow&); };
-	class F { void* operator new[](std::size_t, void*); };
-	
-Then:
-
-[:`has_new_operator<A>` inherits from `__true_type`.]
-
-[:`has_new_operator<B>` inherits from `__true_type`.]
-
-[:`has_new_operator<C>` inherits from `__true_type`.]
-
-[:`has_new_operator<D>` inherits from `__true_type`.]
-
-[:`has_new_operator<E>` inherits from `__true_type`.]
-
-[:`has_new_operator<F>` inherits from `__true_type`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_not_equal_to.qbk b/SRC/Boost/libs/type_traits/doc/has_not_equal_to.qbk
deleted file mode 100755
index eb4bc00..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_not_equal_to.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_not_equal_to has_not_equal_to]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_not_equal_to : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs!=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs!=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator!=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs!=rhs); // is valid if has_not_equal_to<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_not_equal_to.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_not_equal_to<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_not_equal_to<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_not_equal_to<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_not_equal_to<long>` inherits from `__true_type`.]
-
-[:`has_not_equal_to<int, int, bool>` inherits from `__true_type`.]
-[:`has_not_equal_to<int, double, bool>` inherits from `__true_type`.]
-[:`has_not_equal_to<const int>` inherits from `__true_type`.]
-
-[:`has_not_equal_to<int*, int>` inherits from `__false_type`.]
-[:`has_not_equal_to<int*, double*>` inherits from `__false_type`.]
-[:`has_not_equal_to<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator!=` is public or not:
-if `operator!=` is defined as a private member of `Lhs` then
-instantiating `has_not_equal_to<Lhs>` will produce a compiler error.
-For this reason `has_not_equal_to` cannot be used to determine whether a type has a public `operator!=` or not.
-``
-struct A { private: void operator!=(const A&); };
-boost::has_not_equal_to<A>::value; // error: A::operator!=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator!=(const A&, const A&);
-struct B { operator A(); };
-boost::has_not_equal_to<A>::value; // this is fine
-boost::has_not_equal_to<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator!=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_not_equal_to.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator!=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_not_equal_to< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g!=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_not_equal_to< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b!=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_nothrow_assign.qbk b/SRC/Boost/libs/type_traits/doc/has_nothrow_assign.qbk
deleted file mode 100755
index 45a3ee2..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_nothrow_assign.qbk
+++ /dev/null
@@ -1,29 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_nothrow_assign has_nothrow_assign]
-
-   template <class T>
-   struct has_nothrow_assign : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) type with a non-throwing assignment-operator
-then inherits from __true_type, otherwise inherits from __false_type.  Type `T`
-must be a complete type.
-
-__compat If the compiler does not support partial-specialization of class 
-templates, then this template can not be used with function types.
-
-Without some (as yet unspecified) help from the compiler, 
-`has_nothrow_assign` will never report that a class or struct has a 
-non-throwing assignment-operator; this is always safe, if possibly sub-optimal.
-Currently (May 2005) only Visual C++ 8 has the necessary compiler support to ensure that this
-trait "just works".
-
-__header ` #include <boost/type_traits/has_nothrow_assign.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_nothrow_constructor.qbk b/SRC/Boost/libs/type_traits/doc/has_nothrow_constructor.qbk
deleted file mode 100755
index 102cbf7..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_nothrow_constructor.qbk
+++ /dev/null
@@ -1,36 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_nothrow_constructor has_nothrow_constructor]
-
-   template <class T>
-   struct has_nothrow_constructor : public __tof {};
-  
-   template <class T>
-   struct has_nothrow_default_constructor : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) type with a non-throwing default-constructor
-then inherits from __true_type, otherwise inherits from __false_type.  Type `T`
-must be a complete type.
-
-These two traits are synonyms for each other.
-
-__compat If the compiler does not support partial-specialization of class 
-templates, then this template can not be used with function types.
-
-Without some (unspecified) help from the compiler, 
-`has_nothrow_constructor` will never report that a class or struct has a 
-non-throwing default-constructor; this is always safe, if possibly sub-optimal.
-Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, 
-Intel-11.0, and Codegear have the necessary compiler __intrinsics to ensure that this 
-trait "just works".  You may also test to see if the necessary __intrinsics are available 
-by checking to see if the macro `BOOST_HAS_NOTHROW_CONSTRUCTOR` is defined.
-
-__header ` #include <boost/type_traits/has_nothrow_constructor.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_nothrow_copy.qbk b/SRC/Boost/libs/type_traits/doc/has_nothrow_copy.qbk
deleted file mode 100755
index 96ae19e..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_nothrow_copy.qbk
+++ /dev/null
@@ -1,36 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_nothrow_copy has_nothrow_copy]
-
-   template <class T>
-   struct has_nothrow_copy : public __tof {};
-  
-   template <class T>
-   struct has_nothrow_copy_constructor : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) type with a non-throwing copy-constructor
-then inherits from __true_type, otherwise inherits from __false_type.  Type `T`
-must be a complete type.
-
-These two traits are synonyms for each other.
-
-__compat If the compiler does not support partial-specialization of class 
-templates, then this template can not be used with function types.
-
-Without some (as yet unspecified) help from the compiler, 
-`has_nothrow_copy` will never report that a class or struct has a 
-non-throwing copy-constructor; this is always safe, if possibly sub-optimal.
-Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, 
-Intel-11.0, and Codegear have the necessary compiler __intrinsics to ensure that this 
-trait "just works".  You may also test to see if the necessary __intrinsics are available 
-by checking to see if the macro `BOOST_HAS_NOTHROW_COPY` is defined.
-
-__header ` #include <boost/type_traits/has_nothrow_copy.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_plus.qbk b/SRC/Boost/libs/type_traits/doc/has_plus.qbk
deleted file mode 100755
index 7cd58ae..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_plus.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_plus has_plus]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_plus : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs+rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs+rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator+`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs+rhs); // is valid if has_plus<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_plus.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_plus<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_plus<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_plus<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_plus<long>` inherits from `__true_type`.]
-
-[:`has_plus<int, int, int>` inherits from `__true_type`.]
-[:`has_plus<int, int, long>` inherits from `__true_type`.]
-[:`has_plus<int, double, double>` inherits from `__true_type`.]
-[:`has_plus<int, double, int>` inherits from `__true_type`.]
-[:`has_plus<const int, int>::value` inherits from `__true_type`.]
-
-[:`has_plus<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator+` is public or not:
-if `operator+` is defined as a private member of `Lhs` then
-instantiating `has_plus<Lhs>` will produce a compiler error.
-For this reason `has_plus` cannot be used to determine whether a type has a public `operator+` or not.
-``
-struct A { private: void operator+(const A&); };
-boost::has_plus<A>::value; // error: A::operator+(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator+(const A&, const A&);
-struct B { operator A(); };
-boost::has_plus<A>::value; // this is fine
-boost::has_plus<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator+` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_plus.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator+(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_plus< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g+g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_plus< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b+b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_plus_assign.qbk b/SRC/Boost/libs/type_traits/doc/has_plus_assign.qbk
deleted file mode 100755
index 908e2f9..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_plus_assign.qbk
+++ /dev/null
@@ -1,111 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_plus_assign has_plus_assign]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_plus_assign : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs+=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs+=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator+=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs+=rhs); // is valid if has_plus_assign<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_plus_assign.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_plus_assign<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_plus_assign<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_plus_assign<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_plus_assign<long>` inherits from `__true_type`.]
-
-[:`has_plus_assign<int, int, int>` inherits from `__true_type`.]
-[:`has_plus_assign<int, int, long>` inherits from `__true_type`.]
-[:`has_plus_assign<int, double, double>` inherits from `__true_type`.]
-[:`has_plus_assign<int, double, int>` inherits from `__true_type`.]
-
-[:`has_plus_assign<const int, int>::value` inherits from `__false_type`.]
-[:`has_plus_assign<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator+=` is public or not:
-if `operator+=` is defined as a private member of `Lhs` then
-instantiating `has_plus_assign<Lhs>` will produce a compiler error.
-For this reason `has_plus_assign` cannot be used to determine whether a type has a public `operator+=` or not.
-``
-struct A { private: void operator+=(const A&); };
-boost::has_plus_assign<A>::value; // error: A::operator+=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator+=(const A&, const A&);
-struct B { operator A(); };
-boost::has_plus_assign<A>::value; // this is fine
-boost::has_plus_assign<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator+=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_plus_assign.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator+=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_plus_assign< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g+=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_plus_assign< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b+=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_post_decrement.qbk b/SRC/Boost/libs/type_traits/doc/has_post_decrement.qbk
deleted file mode 100755
index ce899c8..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_post_decrement.qbk
+++ /dev/null
@@ -1,112 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_post_decrement has_post_decrement]
-   template <class Lhs, class Ret=dont_care>
-   struct has_post_decrement : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` can be used in expression `lhs--`,
-and (ii) `Ret=dont_care` or the result of expression `lhs--` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of postfix `operator--`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-f(lhs--); // is valid if has_post_decrement<Lhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_post_decrement.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_post_decrement<Lhs, Ret>::value_type` is the type `bool`.]
-[:`has_post_decrement<Lhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_post_decrement<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_post_decrement<long>` inherits from `__true_type`.]
-
-[:`has_post_decrement<int, int>` inherits from `__true_type`.]
-[:`has_post_decrement<int, long>` inherits from `__true_type`.]
-[:`has_post_decrement<double, double>` inherits from `__true_type`.]
-[:`has_post_decrement<double, int>` inherits from `__true_type`.]
-
-[:`has_post_decrement<bool>` inherits from `__false_type`.]
-[:`has_post_decrement<const int>` inherits from `__false_type`.]
-[:`has_post_decrement<void*>` inherits from `__false_type`.]
-[:`has_post_decrement<int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether postfix `operator--` is public or not:
-if `operator--` is defined as a private member of `Lhs` then
-instantiating `has_post_decrement<Lhs>` will produce a compiler error.
-For this reason `has_post_decrement` cannot be used to determine whether a type has a public `operator--` or not.
-``
-struct A { private: void operator--(int); };
-boost::has_post_decrement<A>::value; // error: A::operator--(int) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator--(const A&, int);
-struct B { operator A(); };
-boost::has_post_decrement<A>::value; // this is fine
-boost::has_post_decrement<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator--` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_post_decrement.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator--(const contains<T> &lhs, int) {
-	return f(lhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_post_decrement< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g--; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_post_decrement< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b--; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_post_increment.qbk b/SRC/Boost/libs/type_traits/doc/has_post_increment.qbk
deleted file mode 100755
index 8266585..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_post_increment.qbk
+++ /dev/null
@@ -1,112 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_post_increment has_post_increment]
-   template <class Lhs, class Ret=dont_care>
-   struct has_post_increment : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` can be used in expression `lhs++`,
-and (ii) `Ret=dont_care` or the result of expression `lhs++` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of postfix `operator++`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-f(lhs++); // is valid if has_post_increment<Lhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_post_increment.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_post_increment<Lhs, Ret>::value_type` is the type `bool`.]
-[:`has_post_increment<Lhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_post_increment<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_post_increment<long>` inherits from `__true_type`.]
-
-[:`has_post_increment<int, int>` inherits from `__true_type`.]
-[:`has_post_increment<int, long>` inherits from `__true_type`.]
-[:`has_post_increment<double, double>` inherits from `__true_type`.]
-[:`has_post_increment<double, int>` inherits from `__true_type`.]
-[:`has_post_increment<bool>` inherits from `__true_type`.]
-
-[:`has_post_increment<const int>` inherits from `__false_type`.]
-[:`has_post_increment<void*>` inherits from `__false_type`.]
-[:`has_post_increment<int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether postfix `operator++` is public or not:
-if `operator++` is defined as a private member of `Lhs` then
-instantiating `has_post_increment<Lhs>` will produce a compiler error.
-For this reason `has_post_increment` cannot be used to determine whether a type has a public `operator++` or not.
-``
-struct A { private: void operator++(int); };
-boost::has_post_increment<A>::value; // error: A::operator++(int) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator++(const A&, int);
-struct B { operator A(); };
-boost::has_post_increment<A>::value; // this is fine
-boost::has_post_increment<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator++` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_post_increment.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator++(const contains<T> &lhs, int) {
-	return f(lhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_post_increment< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g++; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_post_increment< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b++; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_pre_decrement.qbk b/SRC/Boost/libs/type_traits/doc/has_pre_decrement.qbk
deleted file mode 100755
index fd3a40a..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_pre_decrement.qbk
+++ /dev/null
@@ -1,112 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_pre_decrement has_pre_decrement]
-   template <class Rhs, class Ret=dont_care>
-   struct has_pre_decrement : public __tof {};
-
-__inherit
-If (i) `rhs` of type `Rhs` can be used in expression `--rhs`,
-and (ii) `Ret=dont_care` or the result of expression `--rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of prefix `operator--`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Rhs rhs;
-f(--rhs); // is valid if has_pre_decrement<Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_pre_decrement.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_pre_decrement<Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_pre_decrement<Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_pre_decrement<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_pre_decrement<long>` inherits from `__true_type`.]
-
-[:`has_pre_decrement<int, int>` inherits from `__true_type`.]
-[:`has_pre_decrement<int, long>` inherits from `__true_type`.]
-[:`has_pre_decrement<double, double>` inherits from `__true_type`.]
-[:`has_pre_decrement<double, int>` inherits from `__true_type`.]
-
-[:`has_pre_decrement<bool>` inherits from `__false_type`.]
-[:`has_pre_decrement<const int>` inherits from `__false_type`.]
-[:`has_pre_decrement<void*>` inherits from `__false_type`.]
-[:`has_pre_decrement<int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether prefix `operator--` is public or not:
-if `operator--` is defined as a private member of `Rhs` then
-instantiating `has_pre_decrement<Rhs>` will produce a compiler error.
-For this reason `has_pre_decrement` cannot be used to determine whether a type has a public `operator--` or not.
-``
-struct A { private: void operator--(); };
-boost::has_pre_decrement<A>::value; // error: A::operator--() is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator--(const A&);
-struct B { operator A(); };
-boost::has_pre_decrement<A>::value; // this is fine
-boost::has_pre_decrement<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator--` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_pre_decrement.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator--(const contains<T> &rhs) {
-	return f(rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_pre_decrement< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	--g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_pre_decrement< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	--b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_pre_increment.qbk b/SRC/Boost/libs/type_traits/doc/has_pre_increment.qbk
deleted file mode 100755
index 6266e9a..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_pre_increment.qbk
+++ /dev/null
@@ -1,112 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_pre_increment has_pre_increment]
-   template <class Rhs, class Ret=dont_care>
-   struct has_pre_increment : public __tof {};
-
-__inherit
-If (i) `rhs` of type `Rhs` can be used in expression `++rhs`,
-and (ii) `Ret=dont_care` or the result of expression `++rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of prefix `operator++`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Rhs rhs;
-f(++rhs); // is valid if has_pre_increment<Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_pre_increment.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_pre_increment<Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_pre_increment<Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_pre_increment<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_pre_increment<long>` inherits from `__true_type`.]
-
-[:`has_pre_increment<int, int>` inherits from `__true_type`.]
-[:`has_pre_increment<int, long>` inherits from `__true_type`.]
-[:`has_pre_increment<double, double>` inherits from `__true_type`.]
-[:`has_pre_increment<double, int>` inherits from `__true_type`.]
-[:`has_pre_increment<bool>` inherits from `__true_type`.]
-
-[:`has_pre_increment<const int>` inherits from `__false_type`.]
-[:`has_pre_increment<void*>` inherits from `__false_type`.]
-[:`has_pre_increment<int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether prefix `operator++` is public or not:
-if `operator++` is defined as a private member of `Rhs` then
-instantiating `has_pre_increment<Rhs>` will produce a compiler error.
-For this reason `has_pre_increment` cannot be used to determine whether a type has a public `operator++` or not.
-``
-struct A { private: void operator++(); };
-boost::has_pre_increment<A>::value; // error: A::operator++() is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator++(const A&);
-struct B { operator A(); };
-boost::has_pre_increment<A>::value; // this is fine
-boost::has_pre_increment<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator++` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_pre_increment.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator++(const contains<T> &rhs) {
-	return f(rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_pre_increment< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	++g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_pre_increment< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	++b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_right_shift.qbk b/SRC/Boost/libs/type_traits/doc/has_right_shift.qbk
deleted file mode 100755
index ae679df..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_right_shift.qbk
+++ /dev/null
@@ -1,112 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_right_shift has_right_shift]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_right_shift : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs>>rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs>>rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator>>`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs>>rhs); // is valid if has_right_shift<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_right_shift.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_right_shift<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_right_shift<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_right_shift<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_right_shift<long>` inherits from `__true_type`.]
-
-[:`has_right_shift<int, int, int>` inherits from `__true_type`.]
-[:`has_right_shift<const int, int>` inherits from `__true_type`.]
-[:`has_right_shift<std::istream, int&>` inherits from `__true_type`.]
-[:`has_right_shift<std::istream, char*, std::ostream>` inherits from `__true_type`.]
-[:`has_right_shift<std::istream, std::string&>` inherits from `__true_type`.]
-
-[:`has_right_shift<int, double, bool>` inherits from `__false_type`.]
-[:`has_right_shift<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator>>` is public or not:
-if `operator>>` is defined as a private member of `Lhs` then
-instantiating `has_right_shift<Lhs>` will produce a compiler error.
-For this reason `has_right_shift` cannot be used to determine whether a type has a public `operator>>` or not.
-``
-struct A { private: void operator>>(const A&); };
-boost::has_right_shift<A>::value; // error: A::operator>>(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator>>(const A&, const A&);
-struct B { operator A(); };
-boost::has_right_shift<A>::value; // this is fine
-boost::has_right_shift<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator>>` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_right_shift.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator>>(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_right_shift< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g>>g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_right_shift< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b>>b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_right_shift_assign.qbk b/SRC/Boost/libs/type_traits/doc/has_right_shift_assign.qbk
deleted file mode 100755
index 1b6e898..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_right_shift_assign.qbk
+++ /dev/null
@@ -1,109 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_right_shift_assign has_right_shift_assign]
-   template <class Lhs, class Rhs=Lhs, class Ret=dont_care>
-   struct has_right_shift_assign : public __tof {};
-
-__inherit
-If (i) `lhs` of type `Lhs` and `rhs` of type `Rhs` can be used in expression `lhs>>=rhs`,
-and (ii) `Ret=dont_care` or the result of expression `lhs>>=rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of binary `operator>>=`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs>>=rhs); // is valid if has_right_shift_assign<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_right_shift_assign.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_right_shift_assign<Lhs, Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_right_shift_assign<Lhs, Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_right_shift_assign<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_right_shift_assign<long>` inherits from `__true_type`.]
-
-[:`has_right_shift_assign<int, int, int>` inherits from `__true_type`.]
-
-[:`has_right_shift_assign<const int, int>` inherits from `__false_type`.]
-[:`has_right_shift_assign<int, double, bool>` inherits from `__false_type`.]
-[:`has_right_shift_assign<int, int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether binary `operator>>=` is public or not:
-if `operator>>=` is defined as a private member of `Lhs` then
-instantiating `has_right_shift_assign<Lhs>` will produce a compiler error.
-For this reason `has_right_shift_assign` cannot be used to determine whether a type has a public `operator>>=` or not.
-``
-struct A { private: void operator>>=(const A&); };
-boost::has_right_shift_assign<A>::value; // error: A::operator>>=(const A&) is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator>>=(const A&, const A&);
-struct B { operator A(); };
-boost::has_right_shift_assign<A>::value; // this is fine
-boost::has_right_shift_assign<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator>>=` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_right_shift_assign.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator>>=(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_right_shift_assign< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g>>=g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_right_shift_assign< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b>>=b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_trivial_assign.qbk b/SRC/Boost/libs/type_traits/doc/has_trivial_assign.qbk
deleted file mode 100755
index eee47b2..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_trivial_assign.qbk
+++ /dev/null
@@ -1,50 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_trivial_assign has_trivial_assign]
-   template <class T>
-   struct has_trivial_assign : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) type with a trivial assignment-operator
-then inherits from __true_type, otherwise inherits from __false_type.
-
-If a type has a trivial assignment-operator then the operator has the same effect
-as copying the bits of one object to the other: 
-calls to the operator can be safely replaced with a call to `memcpy`.
-
-__compat If the compiler does not support partial-specialization of class 
-templates, then this template can not be used with function types.
-
-Without some (as yet unspecified) help from the compiler, 
-has_trivial_assign will never report that a user-defined class or struct has a 
-trivial constructor; this is always safe, if possibly sub-optimal.  
-Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, 
-Intel-11.0, and Codegear have the necessary compiler __intrinsics to ensure that this 
-trait "just works".  You may also test to see if the necessary __intrinsics are available 
-by checking to see if the macro `BOOST_HAS_TRIVIAL_ASSIGN` is defined.
-
-
-__std_ref 12.8p11.
-
-__header ` #include <boost/type_traits/has_trivial_assign.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_trivial_assign<int>` inherits from `__true_type`.]
-
-[:`has_trivial_assign<char*>::type` is the type `__true_type`.]
-
-[:`has_trivial_assign<int (*)(long)>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`has_trivial_assign<MyClass>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`has_trivial_assign<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_trivial_constructor.qbk b/SRC/Boost/libs/type_traits/doc/has_trivial_constructor.qbk
deleted file mode 100755
index bfd2b2d..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_trivial_constructor.qbk
+++ /dev/null
@@ -1,58 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_trivial_constructor has_trivial_constructor]
-
-   template <class T>
-   struct has_trivial_constructor : public __tof {};
-  
-   template <class T>
-   struct has_trivial_default_constructor : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) type with a trivial default-constructor
-then inherits from __true_type, otherwise inherits from __false_type.
-
-These two traits are synonyms for each other.
-
-If a type has a trivial default-constructor then the constructor have no effect: 
-calls to the constructor can be safely omitted.  Note that using meta-programming
-to omit a call to a single trivial-constructor call is of no benefit whatsoever. 
-However, if loops and/or exception handling code can also be omitted, then some
-benefit in terms of code size and speed can be obtained.
-
-__compat If the compiler does not support partial-specialization of class 
-templates, then this template can not be used with function types.
-
-Without some (as yet unspecified) help from the compiler, 
-has_trivial_constructor will never report that a user-defined class or struct has a 
-trivial constructor; this is always safe, if possibly sub-optimal.  
-Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, 
-Intel-11.0, and Codegear have the necessary compiler __intrinsics to ensure that this 
-trait "just works".  You may also test to see if the necessary __intrinsics are available 
-by checking to see if the macro `BOOST_HAS_TRIVIAL_CONSTRUCTOR` is defined.
-
-
-__std_ref 12.1p6.
-
-__header ` #include <boost/type_traits/has_trivial_constructor.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_trivial_constructor<int>` inherits from `__true_type`.]
-
-[:`has_trivial_constructor<char*>::type` is the type `__true_type`.]
-
-[:`has_trivial_constructor<int (*)(long)>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`has_trivial_constructor<MyClass>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`has_trivial_constructor<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_trivial_copy.qbk b/SRC/Boost/libs/type_traits/doc/has_trivial_copy.qbk
deleted file mode 100755
index 297f2af..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_trivial_copy.qbk
+++ /dev/null
@@ -1,56 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_trivial_copy has_trivial_copy]
-
-   template <class T>
-   struct has_trivial_copy : public __tof {};
-  
-   template <class T>
-   struct has_trivial_copy_constructor : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) type with a trivial copy-constructor
-then inherits from __true_type, otherwise inherits from __false_type.
-
-These two traits are synonyms for each other.
-
-If a type has a trivial copy-constructor then the constructor has the same effect
-as copying the bits of one object to the other: 
-calls to the constructor can be safely replaced with a call to `memcpy`.
-
-__compat If the compiler does not support partial-specialization of class 
-templates, then this template can not be used with function types.
-
-Without some (as yet unspecified) help from the compiler, 
-has_trivial_copy will never report that a user-defined class or struct has a 
-trivial constructor; this is always safe, if possibly sub-optimal.  
-Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, 
-Intel-11.0, and Codegear have the necessary compiler __intrinsics to ensure that this 
-trait "just works".  You may also test to see if the necessary __intrinsics are available 
-by checking to see if the macro `BOOST_HAS_TRIVIAL_COPY` is defined.
-
-
-__std_ref 12.8p6.
-
-__header ` #include <boost/type_traits/has_trivial_copy.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_trivial_copy<int>` inherits from `__true_type`.]
-
-[:`has_trivial_copy<char*>::type` is the type `__true_type`.]
-
-[:`has_trivial_copy<int (*)(long)>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`has_trivial_copy<MyClass>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`has_trivial_copy<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_trivial_destructor.qbk b/SRC/Boost/libs/type_traits/doc/has_trivial_destructor.qbk
deleted file mode 100755
index 87cfe55..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_trivial_destructor.qbk
+++ /dev/null
@@ -1,52 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_trivial_destructor has_trivial_destructor]
-   template <class T>
-   struct has_trivial_destructor : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) type with a trivial destructor
-then inherits from __true_type, otherwise inherits from __false_type.
-
-If a type has a trivial destructor then the destructor has no effect: 
-calls to the destructor can be safely omitted.  Note that using meta-programming
-to omit a call to a single trivial-constructor call is of no benefit whatsoever. 
-However, if loops and/or exception handling code can also be omitted, then some
-benefit in terms of code size and speed can be obtained.
-
-__compat If the compiler does not support partial-specialization of class 
-templates, then this template can not be used with function types.
-
-Without some (as yet unspecified) help from the compiler, 
-has_trivial_destructor will never report that a user-defined class or struct has a 
-trivial destructor; this is always safe, if possibly sub-optimal.  
-Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, 
-Intel-11.0, and Codegear have the necessary compiler __intrinsics to ensure that this 
-trait "just works".  You may also test to see if the necessary __intrinsics are available 
-by checking to see if the macro `BOOST_HAS_TRIVIAL_DESTRUCTOR` is defined.
-
-
-__std_ref 12.4p3.
-
-__header ` #include <boost/type_traits/has_trivial_destructor.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_trivial_destructor<int>` inherits from `__true_type`.]
-
-[:`has_trivial_destructor<char*>::type` is the type `__true_type`.]
-
-[:`has_trivial_destructor<int (*)(long)>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`has_trivial_destructor<MyClass>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`has_trivial_destructor<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_unary_minus.qbk b/SRC/Boost/libs/type_traits/doc/has_unary_minus.qbk
deleted file mode 100755
index ee7fc06..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_unary_minus.qbk
+++ /dev/null
@@ -1,110 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_unary_minus has_unary_minus]
-   template <class Rhs, class Ret=dont_care>
-   struct has_unary_minus : public __tof {};
-
-__inherit
-If (i) `rhs` of type `Rhs` can be used in expression `-rhs`,
-and (ii) `Ret=dont_care` or the result of expression `-rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of prefix `operator-`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Rhs rhs;
-f(-rhs); // is valid if has_unary_minus<Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_unary_minus.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_unary_minus<Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_unary_minus<Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_unary_minus<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_unary_minus<long>` inherits from `__true_type`.]
-
-[:`has_unary_minus<int, int>` inherits from `__true_type`.]
-[:`has_unary_minus<int, long>` inherits from `__true_type`.]
-[:`has_unary_minus<double, double>` inherits from `__true_type`.]
-[:`has_unary_minus<double, int>` inherits from `__true_type`.]
-[:`has_unary_minus<const int>` inherits from `__true_type`.]
-
-[:`has_unary_minus<int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether prefix `operator-` is public or not:
-if `operator-` is defined as a private member of `Rhs` then
-instantiating `has_unary_minus<Rhs>` will produce a compiler error.
-For this reason `has_unary_minus` cannot be used to determine whether a type has a public `operator-` or not.
-``
-struct A { private: void operator-(); };
-boost::has_unary_minus<A>::value; // error: A::operator-() is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator-(const A&);
-struct B { operator A(); };
-boost::has_unary_minus<A>::value; // this is fine
-boost::has_unary_minus<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator-` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_unary_minus.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator-(const contains<T> &rhs) {
-	return f(rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_unary_minus< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	-g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_unary_minus< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	-b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_unary_plus.qbk b/SRC/Boost/libs/type_traits/doc/has_unary_plus.qbk
deleted file mode 100755
index fb4f663..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_unary_plus.qbk
+++ /dev/null
@@ -1,110 +0,0 @@
-[/
-  (C) Copyright 2009-2011  Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_unary_plus has_unary_plus]
-   template <class Rhs, class Ret=dont_care>
-   struct has_unary_plus : public __tof {};
-
-__inherit
-If (i) `rhs` of type `Rhs` can be used in expression `+rhs`,
-and (ii) `Ret=dont_care` or the result of expression `+rhs` is convertible to `Ret`
-then inherits from __true_type,
-otherwise inherits from __false_type.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of prefix `operator+`.
-If `Ret` is different from the default `dont_care` type, the return value is checked to be convertible to `Ret`.
-Convertible to `Ret` means that the return value of the operator can be used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Rhs rhs;
-f(+rhs); // is valid if has_unary_plus<Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-__header `#include <boost/type_traits/has_unary_plus.hpp>` or `#include <boost/type_traits/has_operator.hpp>` or `#include <boost/type_traits.hpp>`
-
-__examples
-
-[:`has_unary_plus<Rhs, Ret>::value_type` is the type `bool`.]
-[:`has_unary_plus<Rhs, Ret>::value` is a `bool` integral constant expression.]
-[:`has_unary_plus<int>::value` is a `bool` integral constant expression that evaluates to `true`.]
-[:`has_unary_plus<long>` inherits from `__true_type`.]
-
-[:`has_unary_plus<int, int>` inherits from `__true_type`.]
-[:`has_unary_plus<int, long>` inherits from `__true_type`.]
-[:`has_unary_plus<double, double>` inherits from `__true_type`.]
-[:`has_unary_plus<double, int>` inherits from `__true_type`.]
-[:`has_unary_plus<const int>` inherits from `__true_type`.]
-
-[:`has_unary_plus<int, std::string>` inherits from `__false_type`.]
-
-
-[*See also:] [link boost_typetraits.category.value_traits.operators Operator Type Traits]
-
-[*Limitation:]
-
-* Requires a compiler with working SFINAE.
-
-[*Known issues:]
-
-* This trait cannot detect whether prefix `operator+` is public or not:
-if `operator+` is defined as a private member of `Rhs` then
-instantiating `has_unary_plus<Rhs>` will produce a compiler error.
-For this reason `has_unary_plus` cannot be used to determine whether a type has a public `operator+` or not.
-``
-struct A { private: void operator+(); };
-boost::has_unary_plus<A>::value; // error: A::operator+() is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload.
-``
-struct A { };
-void operator+(const A&);
-struct B { operator A(); };
-boost::has_unary_plus<A>::value; // this is fine
-boost::has_unary_plus<B>::value; // error: ambiguous overload
-``
-
-* There is an issue when applying this trait to template classes.
-If `operator+` is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-Example:
-``
-#include <boost/type_traits/has_unary_plus.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator+(const contains<T> &rhs) {
-	return f(rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_unary_plus< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	+g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_unary_plus< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	+b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/has_virtual_destructor.qbk b/SRC/Boost/libs/type_traits/doc/has_virtual_destructor.qbk
deleted file mode 100755
index 147fb7a..0000000
--- a/SRC/Boost/libs/type_traits/doc/has_virtual_destructor.qbk
+++ /dev/null
@@ -1,32 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:has_virtual_destructor has_virtual_destructor]
-   template <class T>
-   struct has_virtual_destructor : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) type with a virtual destructor
-then inherits from __true_type, otherwise inherits from __false_type.
-
-__compat This trait is provided for completeness, since it's part of the
-Technical Report on C++ Library Extensions.  However, there is currently no 
-way to portably implement this trait.  The default version provided 
-always inherits from __false_type, and has to be explicitly specialized for 
-types with virtual destructors unless the compiler used has compiler __intrinsics
-that enable the trait to do the right thing: 
-Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, 
-Intel-11.0, and Codegear have the necessary compiler __intrinsics to ensure that this 
-trait "just works".  You may also test to see if the necessary __intrinsics are available 
-by checking to see if the macro `BOOST_HAS_VIRTUAL_DESTRUCTOR` is defined.
-
-
-__std_ref 12.4.
-
-__header ` #include <boost/type_traits/has_virtual_destructor.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/history.qbk b/SRC/Boost/libs/type_traits/doc/history.qbk
deleted file mode 100755
index 95b5193..0000000
--- a/SRC/Boost/libs/type_traits/doc/history.qbk
+++ /dev/null
@@ -1,35 +0,0 @@
-[/ 
-  Copyright 2009 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:history History]
-
-[h4 Boost 1.47.0]
-
-* [* Breaking change]: changed __is_convertible to C++0x behaviour when possible.
-* Fixed issues [@https://svn.boost.org/trac/boost/ticket/5271 #5271],
-[@https://svn.boost.org/trac/boost/ticket/4530 #4530].
-
-
-[h4 Boost 1.45.0]
-
-* Added new traits __add_rvalue_reference, __add_lvalue_reference and __common_type.
-* Minor fixes to __is_signed, __is_unsigned and __is_virtual_base_of.
-
-[h4 Boost 1.44.0]
-
-* Added support for rvalue references throughout the library, plus two new traits classes
-__is_rvalue_reference and __is_lvalue_reference.  Fixes [@https://svn.boost.org/trac/boost/ticket/4407 #4407]
-and [@https://svn.boost.org/trac/boost/ticket/3804 #3804].
-* Fixed ticket [@https://svn.boost.org/trac/boost/ticket/3621 #3621].
-
-[h4 Boost 1.42.0]
-
-* Fixed issue [@https://svn.boost.org/trac/boost/ticket/3704 #3704].
-
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/background.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/background.html
deleted file mode 100755
index 10cff5c..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/background.html
+++ /dev/null
@@ -1,687 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Background and Tutorial</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="intro.html" title="Introduction">
-<link rel="next" href="category.html" title="Type Traits by Category">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intro.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="category.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_typetraits.background"></a><a class="link" href="background.html" title="Background and Tutorial">Background and Tutorial</a>
-</h2></div></div></div>
-<p>
-      The following is an updated version of the article "C++ Type traits"
-      by John Maddock and Steve Cleary that appeared in the October 2000 issue of
-      <a href="http://www.ddj.com" target="_top">Dr Dobb's Journal</a>.
-    </p>
-<p>
-      Generic programming (writing code which works with any data type meeting a
-      set of requirements) has become the method of choice for providing reusable
-      code. However, there are times in generic programming when "generic"
-      just isn't good enough - sometimes the differences between types are too large
-      for an efficient generic implementation. This is when the traits technique
-      becomes important - by encapsulating those properties that need to be considered
-      on a type by type basis inside a traits class, we can minimize the amount of
-      code that has to differ from one type to another, and maximize the amount of
-      generic code.
-    </p>
-<p>
-      Consider an example: when working with character strings, one common operation
-      is to determine the length of a null terminated string. Clearly it's possible
-      to write generic code that can do this, but it turns out that there are much
-      more efficient methods available: for example, the C library functions <code class="computeroutput"><span class="identifier">strlen</span></code> and <code class="computeroutput"><span class="identifier">wcslen</span></code>
-      are usually written in assembler, and with suitable hardware support can be
-      considerably faster than a generic version written in C++. The authors of the
-      C++ standard library realized this, and abstracted the properties of <code class="computeroutput"><span class="keyword">char</span></code> and <code class="computeroutput"><span class="keyword">wchar_t</span></code>
-      into the class <code class="computeroutput"><span class="identifier">char_traits</span></code>.
-      Generic code that works with character strings can simply use <code class="computeroutput"><span class="identifier">char_traits</span><span class="special"><>::</span><span class="identifier">length</span></code> to determine the length of a null
-      terminated string, safe in the knowledge that specializations of <code class="computeroutput"><span class="identifier">char_traits</span></code> will use the most appropriate
-      method available to them.
-    </p>
-<a name="boost_typetraits.background.type_traits"></a><h5>
-<a name="boost_typetraits.background.type_traits-heading"></a>
-      <a class="link" href="background.html#boost_typetraits.background.type_traits">Type Traits</a>
-    </h5>
-<p>
-      Class <code class="computeroutput"><span class="identifier">char_traits</span></code> is a classic
-      example of a collection of type specific properties wrapped up in a single
-      class - what Nathan Myers termed a <span class="emphasis"><em>baggage class</em></span><a class="link" href="background.html#background.references">[1]</a>. In the Boost type-traits library,
-      we<a class="link" href="background.html#background.references">[2]</a> have written a set of very
-      specific traits classes, each of which encapsulate a single trait from the
-      C++ type system; for example, is a type a pointer or a reference type? Or does
-      a type have a trivial constructor, or a const-qualifier? The type-traits classes
-      share a unified design: each class inherits from the type <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a>
-      if the type has the specified property and inherits from <a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a>
-      otherwise. As we will show, these classes can be used in generic programming
-      to determine the properties of a given type and introduce optimizations that
-      are appropriate for that case.
-    </p>
-<p>
-      The type-traits library also contains a set of classes that perform a specific
-      transformation on a type; for example, they can remove a top-level const or
-      volatile qualifier from a type. Each class that performs a transformation defines
-      a single typedef-member <code class="computeroutput"><span class="identifier">type</span></code>
-      that is the result of the transformation. All of the type-traits classes are
-      defined inside namespace <code class="computeroutput"><span class="identifier">boost</span></code>;
-      for brevity, namespace-qualification is omitted in most of the code samples
-      given.
-    </p>
-<a name="boost_typetraits.background.implementation"></a><h5>
-<a name="boost_typetraits.background.implementation-heading"></a>
-      <a class="link" href="background.html#boost_typetraits.background.implementation">Implementation</a>
-    </h5>
-<p>
-      There are far too many separate classes contained in the type-traits library
-      to give a full implementation here - see the source code in the Boost library
-      for the full details - however, most of the implementation is fairly repetitive
-      anyway, so here we will just give you a flavor for how some of the classes
-      are implemented. Beginning with possibly the simplest class in the library,
-      <code class="computeroutput"><span class="identifier">is_void</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> inherits
-      from <code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a></code>
-      only if <code class="computeroutput"><span class="identifier">T</span></code> is <code class="computeroutput"><span class="keyword">void</span></code>.
-    </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> 
-<span class="keyword">struct</span> <a class="link" href="reference/is_void.html" title="is_void">is_void</a> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">{};</span>
-
-<span class="keyword">template</span> <span class="special"><></span> 
-<span class="keyword">struct</span> <a class="link" href="reference/is_void.html" title="is_void">is_void</a><span class="special"><</span><span class="keyword">void</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
-</pre>
-<p>
-      Here we define a primary version of the template class <code class="computeroutput"><a class="link" href="reference/is_void.html" title="is_void">is_void</a></code>,
-      and provide a full-specialization when <code class="computeroutput"><span class="identifier">T</span></code>
-      is <code class="computeroutput"><span class="keyword">void</span></code>. While full specialization
-      of a template class is an important technique, sometimes we need a solution
-      that is halfway between a fully generic solution, and a full specialization.
-      This is exactly the situation for which the standards committee defined partial
-      template-class specialization. As an example, consider the class <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_pointer</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>:
-      here we needed a primary version that handles all the cases where T is not
-      a pointer, and a partial specialization to handle all the cases where T is
-      a pointer:
-    </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> 
-<span class="keyword">struct</span> <a class="link" href="reference/is_pointer.html" title="is_pointer">is_pointer</a> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">{};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> 
-<span class="keyword">struct</span> <a class="link" href="reference/is_pointer.html" title="is_pointer">is_pointer</a><span class="special"><</span><span class="identifier">T</span><span class="special">*></span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
-</pre>
-<p>
-      The syntax for partial specialization is somewhat arcane and could easily occupy
-      an article in its own right; like full specialization, in order to write a
-      partial specialization for a class, you must first declare the primary template.
-      The partial specialization contains an extra <...> after the class name
-      that contains the partial specialization parameters; these define the types
-      that will bind to that partial specialization rather than the default template.
-      The rules for what can appear in a partial specialization are somewhat convoluted,
-      but as a rule of thumb if you can legally write two function overloads of the
-      form:
-    </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="identifier">T</span><span class="special">);</span>
-<span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="identifier">U</span><span class="special">);</span>
-</pre>
-<p>
-      Then you can also write a partial specialization of the form:
-    </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">class</span> <span class="identifier">c</span><span class="special">{</span> <span class="comment">/*details*/</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">class</span> <span class="identifier">c</span><span class="special"><</span><span class="identifier">U</span><span class="special">>{</span> <span class="comment">/*details*/</span> <span class="special">};</span>
-</pre>
-<p>
-      This rule is by no means foolproof, but it is reasonably simple to remember
-      and close enough to the actual rule to be useful for everyday use.
-    </p>
-<p>
-      As a more complex example of partial specialization consider the class <code class="computeroutput"><span class="identifier">remove_extent</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>. This
-      class defines a single typedef-member <code class="computeroutput"><span class="identifier">type</span></code>
-      that is the same type as T but with any top-level array bounds removed; this
-      is an example of a traits class that performs a transformation on a type:
-    </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> 
-<span class="keyword">struct</span> <a class="link" href="reference/remove_extent.html" title="remove_extent">remove_extent</a>
-<span class="special">{</span> <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">></span> 
-<span class="keyword">struct</span> <a class="link" href="reference/remove_extent.html" title="remove_extent">remove_extent</a><span class="special"><</span><span class="identifier">T</span><span class="special">[</span><span class="identifier">N</span><span class="special">]></span>
-<span class="special">{</span> <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span> <span class="special">};</span>
-</pre>
-<p>
-      The aim of <code class="computeroutput"><a class="link" href="reference/remove_extent.html" title="remove_extent">remove_extent</a></code>
-      is this: imagine a generic algorithm that is passed an array type as a template
-      parameter, <code class="computeroutput"><a class="link" href="reference/remove_extent.html" title="remove_extent">remove_extent</a></code>
-      provides a means of determining the underlying type of the array. For example
-      <code class="computeroutput"><span class="identifier">remove_extent</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">4</span><span class="special">][</span><span class="number">5</span><span class="special">]>::</span><span class="identifier">type</span></code> would evaluate to the type <code class="computeroutput"><span class="keyword">int</span><span class="special">[</span><span class="number">5</span>< [...]
-      template parameters in a partial specialization does not have to match the
-      number in the default template. However, the number of parameters that appear
-      after the class name do have to match the number and type of the parameters
-      in the default template.
-    </p>
-<a name="boost_typetraits.background.optimized_copy"></a><h5>
-<a name="boost_typetraits.background.optimized_copy-heading"></a>
-      <a class="link" href="background.html#boost_typetraits.background.optimized_copy">Optimized copy</a>
-    </h5>
-<p>
-      As an example of how the type traits classes can be used, consider the standard
-      library algorithm copy:
-    </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iter1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iter2</span><span class="special">></span>
-<span class="identifier">Iter2</span> <span class="identifier">copy</span><span class="special">(</span><span class="identifier">Iter1</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">Iter1</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">Iter2</span> <span class="identifier">out</span><span class="special">);</span>
-</pre>
-<p>
-      Obviously, there's no problem writing a generic version of copy that works
-      for all iterator types <code class="computeroutput"><span class="identifier">Iter1</span></code>
-      and <code class="computeroutput"><span class="identifier">Iter2</span></code>; however, there are
-      some circumstances when the copy operation can best be performed by a call
-      to <code class="computeroutput"><span class="identifier">memcpy</span></code>. In order to implement
-      copy in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code> all
-      of the following conditions need to be met:
-    </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-          Both of the iterator types <code class="computeroutput"><span class="identifier">Iter1</span></code>
-          and <code class="computeroutput"><span class="identifier">Iter2</span></code> must be pointers.
-        </li>
-<li class="listitem">
-          Both <code class="computeroutput"><span class="identifier">Iter1</span></code> and <code class="computeroutput"><span class="identifier">Iter2</span></code> must point to the same type - excluding
-          const and volatile-qualifiers.
-        </li>
-<li class="listitem">
-          The type pointed to by <code class="computeroutput"><span class="identifier">Iter1</span></code>
-          must have a trivial assignment operator.
-        </li>
-</ul></div>
-<p>
-      By trivial assignment operator we mean that the type is either a scalar type<a class="link" href="background.html#background.references">[3]</a> or:
-    </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-          The type has no user defined assignment operator.
-        </li>
-<li class="listitem">
-          The type does not have any data members that are references.
-        </li>
-<li class="listitem">
-          All base classes, and all data member objects must have trivial assignment
-          operators.
-        </li>
-</ul></div>
-<p>
-      If all these conditions are met then a type can be copied using <code class="computeroutput"><span class="identifier">memcpy</span></code> rather than using a compiler generated
-      assignment operator. The type-traits library provides a class <code class="computeroutput"><a class="link" href="reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a></code>,
-      such that <code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code> is true only if T has a trivial assignment
-      operator. This class "just works" for scalar types, but has to be
-      explicitly specialised for class/struct types that also happen to have a trivial
-      assignment operator. In other words if <a class="link" href="reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a>
-      gives the wrong answer, it will give the "safe" wrong answer - that
-      trivial assignment is not allowable.
-    </p>
-<p>
-      The code for an optimized version of copy that uses <code class="computeroutput"><span class="identifier">memcpy</span></code>
-      where appropriate is given in <a class="link" href="examples/copy.html" title="An Optimized Version of std::copy">the
-      examples</a>. The code begins by defining a template function <code class="computeroutput"><span class="identifier">do_copy</span></code> that performs a "slow but safe"
-      copy. The last parameter passed to this function may be either a <code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a></code>
-      or a <code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a></code>.
-      Following that there is an overload of do_copy that uses <code class="computeroutput"><span class="identifier">memcpy</span></code>:
-      this time the iterators are required to actually be pointers to the same type,
-      and the final parameter must be a <code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a></code>.
-      Finally, the version of <code class="computeroutput"><span class="identifier">copy</span></code>
-      calls <code class="computeroutput"><span class="identifier">do_copy</span></code>, passing <code class="computeroutput"><a class="link" href="reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a><span class="special"><</span><span class="identifier">value_type</span><span class="special">>()</span></code> as the final parameter: this will dispatch
-      to the optimized version where appropriate, otherwise it will call the "slow
-      but safe version".
-    </p>
-<a name="boost_typetraits.background.was_it_worth_it_"></a><h5>
-<a name="boost_typetraits.background.was_it_worth_it_-heading"></a>
-      <a class="link" href="background.html#boost_typetraits.background.was_it_worth_it_">Was it worth it?</a>
-    </h5>
-<p>
-      It has often been repeated in these columns that "premature optimization
-      is the root of all evil" <a class="link" href="background.html#background.references">[4]</a>.
-      So the question must be asked: was our optimization premature? To put this
-      in perspective the timings for our version of copy compared a conventional
-      generic copy<a class="link" href="background.html#background.references">[5]</a> are shown in table
-      1.
-    </p>
-<p>
-      Clearly the optimization makes a difference in this case; but, to be fair,
-      the timings are loaded to exclude cache miss effects - without this accurate
-      comparison between algorithms becomes difficult. However, perhaps we can add
-      a couple of caveats to the premature optimization rule:
-    </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-          If you use the right algorithm for the job in the first place then optimization
-          will not be required; in some cases, memcpy is the right algorithm.
-        </li>
-<li class="listitem">
-          If a component is going to be reused in many places by many people then
-          optimizations may well be worthwhile where they would not be so for a single
-          case - in other words, the likelihood that the optimization will be absolutely
-          necessary somewhere, sometime is that much higher. Just as importantly
-          the perceived value of the stock implementation will be higher: there is
-          no point standardizing an algorithm if users reject it on the grounds that
-          there are better, more heavily optimized versions available.
-        </li>
-</ul></div>
-<div class="table">
-<a name="boost_typetraits.background.time_taken_to_copy_1000_elements_using__copy_const_t___t_____times_in_micro_seconds_"></a><p class="title"><b>Table 1.1. Time taken to copy 1000 elements using `copy<const T*, T*>` (times
-      in micro-seconds)</b></p>
-<div class="table-contents"><table class="table" summary="Time taken to copy 1000 elements using `copy<const T*, T*>` (times
-      in micro-seconds)">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-              <p>
-                Version
-              </p>
-            </th>
-<th>
-              <p>
-                T
-              </p>
-            </th>
-<th>
-              <p>
-                Time
-              </p>
-            </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-              <p>
-                "Optimized" copy
-              </p>
-            </td>
-<td>
-              <p>
-                char
-              </p>
-            </td>
-<td>
-              <p>
-                0.99
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                Conventional copy
-              </p>
-            </td>
-<td>
-              <p>
-                char
-              </p>
-            </td>
-<td>
-              <p>
-                8.07
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                "Optimized" copy
-              </p>
-            </td>
-<td>
-              <p>
-                int
-              </p>
-            </td>
-<td>
-              <p>
-                2.52
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                Conventional copy
-              </p>
-            </td>
-<td>
-              <p>
-                int
-              </p>
-            </td>
-<td>
-              <p>
-                8.02
-              </p>
-            </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><a name="boost_typetraits.background.pair_of_references"></a><h5>
-<a name="boost_typetraits.background.pair_of_references-heading"></a>
-      <a class="link" href="background.html#boost_typetraits.background.pair_of_references">Pair of References</a>
-    </h5>
-<p>
-      The optimized copy example shows how type traits may be used to perform optimization
-      decisions at compile-time. Another important usage of type traits is to allow
-      code to compile that otherwise would not do so unless excessive partial specialization
-      is used. This is possible by delegating partial specialization to the type
-      traits classes. Our example for this form of usage is a pair that can hold
-      references <a class="link" href="background.html#background.references">[6]</a>.
-    </p>
-<p>
-      First, let us examine the definition of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>, omitting
-      the comparison operators, default constructor, and template copy constructor
-      for simplicity:
-    </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span> 
-<span class="keyword">struct</span> <span class="identifier">pair</span> 
-<span class="special">{</span>
-<span class="keyword">typedef</span> <span class="identifier">T1</span> <span class="identifier">first_type</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">T2</span> <span class="identifier">second_type</span><span class="special">;</span>
-
-<span class="identifier">T1</span> <span class="identifier">first</span><span class="special">;</span>
-<span class="identifier">T2</span> <span class="identifier">second</span><span class="special">;</span>
-
-<span class="identifier">pair</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T1</span> <span class="special">&</span> <span class="identifier">nfirst</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T2</span> <span class="special">&</span> <span class="identifier">nsecond</span><span class="special">)</span>
-<span class="special">:</span><span class="identifier">first</span><span class="special">(</span><span class="identifier">nfirst</span><span class="special">),</span> <span class="identifier">second</span><span class="special">(</span><span class="identifier">nsecond</span><span class="special">)</span> <span class="special">{</span> <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
-      Now, this "pair" cannot hold references as it currently stands, because
-      the constructor would require taking a reference to a reference, which is currently
-      illegal <a class="link" href="background.html#background.references">[7]</a>. Let us consider what
-      the constructor's parameters would have to be in order to allow "pair"
-      to hold non-reference types, references, and constant references:
-    </p>
-<div class="table">
-<a name="boost_typetraits.background.required_constructor_argument_types"></a><p class="title"><b>Table 1.2. Required Constructor Argument Types</b></p>
-<div class="table-contents"><table class="table" summary="Required Constructor Argument Types">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-              <p>
-                Type of <code class="computeroutput"><span class="identifier">T1</span></code>
-              </p>
-            </th>
-<th>
-              <p>
-                Type of parameter to initializing constructor
-              </p>
-            </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-              <p>
-                T
-              </p>
-            </td>
-<td>
-              <p>
-                const T &
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                T &
-              </p>
-            </td>
-<td>
-              <p>
-                T &
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                const T &
-              </p>
-            </td>
-<td>
-              <p>
-                const T &
-              </p>
-            </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
-      A little familiarity with the type traits classes allows us to construct a
-      single mapping that allows us to determine the type of parameter from the type
-      of the contained class. The type traits classes provide a transformation <a class="link" href="reference/add_reference.html" title="add_reference">add_reference</a>, which
-      adds a reference to its type, unless it is already a reference.
-    </p>
-<div class="table">
-<a name="boost_typetraits.background.using_add_reference_to_synthesize_the_correct_constructor_type"></a><p class="title"><b>Table 1.3. Using add_reference to synthesize the correct constructor type</b></p>
-<div class="table-contents"><table class="table" summary="Using add_reference to synthesize the correct constructor type">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-              <p>
-                Type of <code class="computeroutput"><span class="identifier">T1</span></code>
-              </p>
-            </th>
-<th>
-              <p>
-                Type of <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">T1</span></code>
-              </p>
-            </th>
-<th>
-              <p>
-                Type of <code class="computeroutput"><span class="identifier">add_reference</span><span class="special"><</span><span class="keyword">const</span>
-                <span class="identifier">T1</span><span class="special">>::</span><span class="identifier">type</span></code>
-              </p>
-            </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-              <p>
-                T
-              </p>
-            </td>
-<td>
-              <p>
-                const T
-              </p>
-            </td>
-<td>
-              <p>
-                const T &
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                T &
-              </p>
-            </td>
-<td>
-              <p>
-                T & [8]
-              </p>
-            </td>
-<td>
-              <p>
-                T &
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                const T &
-              </p>
-            </td>
-<td>
-              <p>
-                const T &
-              </p>
-            </td>
-<td>
-              <p>
-                const T &
-              </p>
-            </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
-      This allows us to build a primary template definition for <code class="computeroutput"><span class="identifier">pair</span></code>
-      that can contain non-reference types, reference types, and constant reference
-      types:
-    </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span> 
-<span class="keyword">struct</span> <span class="identifier">pair</span> 
-<span class="special">{</span>
-<span class="keyword">typedef</span> <span class="identifier">T1</span> <span class="identifier">first_type</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">T2</span> <span class="identifier">second_type</span><span class="special">;</span>
-
-<span class="identifier">T1</span> <span class="identifier">first</span><span class="special">;</span>
-<span class="identifier">T2</span> <span class="identifier">second</span><span class="special">;</span>
-
-<span class="identifier">pair</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><a class="link" href="reference/add_reference.html" title="add_reference">add_reference</a><span class="special"><</span><span class="keyword">const</span> <span class="identifier">T1</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">nfirst</span><span class="special">,</span>
-      <span class="identifier">boost</span><span class="special">::</span><a class="link" href="reference/add_reference.html" title="add_reference">add_reference</a><span class="special"><</span><span class="keyword">const</span> <span class="identifier">T2</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">nsecond</span><span class="special">)</span>
-<span class="special">:</span><span class="identifier">first</span><span class="special">(</span><span class="identifier">nfirst</span><span class="special">),</span> <span class="identifier">second</span><span class="special">(</span><span class="identifier">nsecond</span><span class="special">)</span> <span class="special">{</span> <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
-      Add back in the standard comparison operators, default constructor, and template
-      copy constructor (which are all the same), and you have a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code> that
-      can hold reference types!
-    </p>
-<p>
-      This same extension could have been done using partial template specialization
-      of <code class="computeroutput"><span class="identifier">pair</span></code>, but to specialize
-      <code class="computeroutput"><span class="identifier">pair</span></code> in this way would require
-      three partial specializations, plus the primary template. Type traits allows
-      us to define a single primary template that adjusts itself auto-magically to
-      any of these partial specializations, instead of a brute-force partial specialization
-      approach. Using type traits in this fashion allows programmers to delegate
-      partial specialization to the type traits classes, resulting in code that is
-      easier to maintain and easier to understand.
-    </p>
-<a name="boost_typetraits.background.conclusion"></a><h5>
-<a name="boost_typetraits.background.conclusion-heading"></a>
-      <a class="link" href="background.html#boost_typetraits.background.conclusion">Conclusion</a>
-    </h5>
-<p>
-      We hope that in this article we have been able to give you some idea of what
-      type-traits are all about. A more complete listing of the available classes
-      are in the boost documentation, along with further examples using type traits.
-      Templates have enabled C++ uses to take the advantage of the code reuse that
-      generic programming brings; hopefully this article has shown that generic programming
-      does not have to sink to the lowest common denominator, and that templates
-      can be optimal as well as generic.
-    </p>
-<a name="boost_typetraits.background.acknowledgements"></a><h5>
-<a name="boost_typetraits.background.acknowledgements-heading"></a>
-      <a class="link" href="background.html#boost_typetraits.background.acknowledgements">Acknowledgements</a>
-    </h5>
-<p>
-      The authors would like to thank Beman Dawes and Howard Hinnant for their helpful
-      comments when preparing this article.
-    </p>
-<a name="boost_typetraits.background._anchor_id__background_references___references"></a><h5>
-<a name="boost_typetraits.background._anchor_id__background_references___references-heading"></a>
-      <a class="link" href="background.html#boost_typetraits.background._anchor_id__background_references___references"><a name="background.references"></a>References</a>
-    </h5>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
-          Nathan C. Myers, C++ Report, June 1995.
-        </li>
-<li class="listitem">
-          The type traits library is based upon contributions by Steve Cleary, Beman
-          Dawes, Howard Hinnant and John Maddock: it can be found at www.boost.org.
-        </li>
-<li class="listitem">
-          A scalar type is an arithmetic type (i.e. a built-in integer or floating
-          point type), an enumeration type, a pointer, a pointer to member, or a
-          const- or volatile-qualified version of one of these types.
-        </li>
-<li class="listitem">
-          This quote is from Donald Knuth, ACM Computing Surveys, December 1974,
-          pg 268.
-        </li>
-<li class="listitem">
-          The test code is available as part of the boost utility library (see algo_opt_examples.cpp),
-          the code was compiled with gcc 2.95 with all optimisations turned on, tests
-          were conducted on a 400MHz Pentium II machine running Microsoft Windows
-          98.
-        </li>
-<li class="listitem">
-          John Maddock and Howard Hinnant have submitted a "compressed_pair"
-          library to Boost, which uses a technique similar to the one described here
-          to hold references. Their pair also uses type traits to determine if any
-          of the types are empty, and will derive instead of contain to conserve
-          space -- hence the name "compressed".
-        </li>
-<li class="listitem">
-          This is actually an issue with the C++ Core Language Working Group (issue
-          #106), submitted by Bjarne Stroustrup. The tentative resolution is to allow
-          a "reference to a reference to T" to mean the same thing as a
-          "reference to T", but only in template instantiation, in a method
-          similar to multiple cv-qualifiers.
-        </li>
-<li class="listitem">
-          For those of you who are wondering why this shouldn't be const-qualified,
-          remember that references are always implicitly constant (for example, you
-          can't re-assign a reference). Remember also that "const T &"
-          is something completely different. For this reason, cv-qualifiers on template
-          type arguments that are references are ignored.
-        </li>
-</ol></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intro.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="category.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category.html
deleted file mode 100755
index 40de480..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Type Traits by Category</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="background.html" title="Background and Tutorial">
-<link rel="next" href="category/value_traits.html" title="Type Traits that Describe the Properties of a Type">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="background.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="category/value_traits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_typetraits.category"></a><a class="link" href="category.html" title="Type Traits by Category">Type Traits by Category</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="category/value_traits.html">Type Traits that
-      Describe the Properties of a Type</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="category/value_traits/primary.html">Categorizing
-        a Type</a></span></dt>
-<dt><span class="section"><a href="category/value_traits/properties.html">General
-        Type Properties</a></span></dt>
-<dt><span class="section"><a href="category/value_traits/relate.html">Relationships
-        Between Two Types</a></span></dt>
-<dt><span class="section"><a href="category/value_traits/operators.html">Operator
-        Type Traits</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="category/transform.html">Type Traits that
-      Transform One Type to Another</a></span></dt>
-<dt><span class="section"><a href="category/alignment.html">Synthesizing Types
-      with Specific Alignments</a></span></dt>
-<dt><span class="section"><a href="category/function.html">Decomposing Function
-      Types</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="background.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="category/value_traits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/alignment.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/alignment.html
deleted file mode 100755
index 002c444..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/alignment.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Synthesizing Types with Specific Alignments</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../category.html" title="Type Traits by Category">
-<link rel="prev" href="transform.html" title="Type Traits that Transform One Type to Another">
-<link rel="next" href="function.html" title="Decomposing Function Types">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="transform.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../category.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="function.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.category.alignment"></a><a class="link" href="alignment.html" title="Synthesizing Types with Specific Alignments">Synthesizing Types
-      with Specific Alignments</a>
-</h3></div></div></div>
-<p>
-        Some low level memory management routines need to synthesize a POD type with
-        specific alignment properties. The template <code class="computeroutput"><a class="link" href="../reference/type_with_alignment.html" title="type_with_alignment">type_with_alignment</a></code>
-        finds the smallest type with a specified alignment, while template <code class="computeroutput"><a class="link" href="../reference/aligned_storage.html" title="aligned_storage">aligned_storage</a></code>
-        creates a type with a specific size and alignment.
-      </p>
-<p>
-        <span class="bold"><strong>Synopsis</strong></span>
-      </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/type_with_alignment.html" title="type_with_alignment">type_with_alignment</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Size</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/aligned_storage.html" title="aligned_storage">aligned_storage</a><span class="special">;</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="transform.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../category.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="function.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/function.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/function.html
deleted file mode 100755
index 927d019..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/function.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Decomposing Function Types</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../category.html" title="Type Traits by Category">
-<link rel="prev" href="alignment.html" title="Synthesizing Types with Specific Alignments">
-<link rel="next" href="../user_defined.html" title="User Defined Specializations">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="alignment.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../category.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../user_defined.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.category.function"></a><a class="link" href="function.html" title="Decomposing Function Types">Decomposing Function
-      Types</a>
-</h3></div></div></div>
-<p>
-        The class template <a class="link" href="../reference/function_traits.html" title="function_traits">function_traits</a>
-        extracts information from function types (see also <a class="link" href="../reference/is_function.html" title="is_function">is_function</a>).
-        This traits class allows you to tell how many arguments a function takes,
-        what those argument types are, and what the return type is.
-      </p>
-<p>
-        <span class="bold"><strong>Synopsis</strong></span>
-      </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/function_traits.html" title="function_traits">function_traits</a><span class="special">;</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="alignment.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../category.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../user_defined.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/transform.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/transform.html
deleted file mode 100755
index a793794..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/transform.html
+++ /dev/null
@@ -1,179 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Type Traits that Transform One Type to Another</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../category.html" title="Type Traits by Category">
-<link rel="prev" href="value_traits/operators.html" title="Operator Type Traits">
-<link rel="next" href="alignment.html" title="Synthesizing Types with Specific Alignments">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="value_traits/operators.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../category.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="alignment.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.category.transform"></a><a class="link" href="transform.html" title="Type Traits that Transform One Type to Another">Type Traits that
-      Transform One Type to Another</a>
-</h3></div></div></div>
-<p>
-        The following templates transform one type to another, based upon some well-defined
-        rule. Each template has a single member called <code class="computeroutput"><span class="identifier">type</span></code>
-        that is the result of applying the transformation to the template argument
-        <code class="computeroutput"><span class="identifier">T</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Synopsis:</strong></span>
-      </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/add_const.html" title="add_const">add_const</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/add_cv.html" title="add_cv">add_cv</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/add_lvalue_reference.html" title="add_lvalue_reference">add_lvalue_reference</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/add_pointer.html" title="add_pointer">add_pointer</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/add_reference.html" title="add_reference">add_reference</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/add_rvalue_reference.html" title="add_rvalue_reference">add_rvalue_reference</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/add_volatile.html" title="add_volatile">add_volatile</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">bool</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/conditional.html" title="conditional">conditional</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/common_type.html" title="common_type">common_type</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/decay.html" title="decay">decay</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/floating_point_promotion.html" title="floating_point_promotion">floating_point_promotion</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/integral_promotion.html" title="integral_promotion">integral_promotion</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/make_signed.html" title="make_signed">make_signed</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/make_unsigned.html" title="make_unsigned">make_unsigned</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/promote.html" title="promote">promote</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/remove_all_extents.html" title="remove_all_extents">remove_all_extents</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/remove_const.html" title="remove_const">remove_const</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/remove_cv.html" title="remove_cv">remove_cv</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/remove_extent.html" title="remove_extent">remove_extent</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/remove_pointer.html" title="remove_pointer">remove_pointer</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/remove_reference.html" title="remove_reference">remove_reference</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../reference/remove_volatile.html" title="remove_volatile">remove_volatile</a><span class="special">;</span>
-</pre>
-<a name="boost_typetraits.category.transform.broken_compiler_workarounds_"></a><h5>
-<a name="boost_typetraits.category.transform.broken_compiler_workarounds_-heading"></a>
-        <a class="link" href="transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">Broken
-        Compiler Workarounds:</a>
-      </h5>
-<p>
-        For all of these templates support for partial specialization of class templates
-        is required to correctly implement the transformation. On the other hand,
-        practice shows that many of the templates from this category are very useful,
-        and often essential for implementing some generic libraries. Lack of these
-        templates is often one of the major limiting factors in porting those libraries
-        to compilers that do not yet support this language feature. As some of these
-        compilers are going to be around for a while, and at least one of them is
-        very wide-spread, it was decided that the library should provide workarounds
-        where possible.
-      </p>
-<p>
-        The basic idea behind the workaround is to manually define full specializations
-        of all type transformation templates for all fundamental types, and all their
-        1st and 2nd rank cv-[un]qualified derivative pointer types, and to provide
-        a user-level macro that will define all the explicit specializations needed
-        for any user-defined type T.
-      </p>
-<p>
-        The first part guarantees the successful compilation of something like this:
-      </p>
-<pre class="programlisting"><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">char</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">char</span><span class="special">&>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifi [...]
-<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span><span class="s [...]
-<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">volatile</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">volatile</span><span class="special">&>::</span><span class="identifier">type</span><span cl [...]
-<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="s [...]
-<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">char</span><span class="special">*,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">char</span><span class="special">*&>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">value</span><span clas [...]
-<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*&>::</span><span class="identifier">type</span><span class= [...]
-<span class="special">...</span>
-<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">*</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">*</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">,</s [...]
-</pre>
-<p>
-        and the second part provides the library's users with a mechanism to make
-        the above code work not only for <code class="computeroutput"><span class="keyword">char</span></code>,
-        <code class="computeroutput"><span class="keyword">int</span></code> or other built-in type,
-        but for their own types as well:
-      </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">myspace</span><span class="special">{</span>
-   <span class="keyword">struct</span> <span class="identifier">MyClass</span> <span class="special">{};</span>
-<span class="special">}</span>
-<span class="comment">// declare this at global scope:</span>
-<span class="identifier">BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION</span><span class="special">(</span><span class="identifier">myspace</span><span class="special">::</span><span class="identifier">MyClass</span><span class="special">)</span>
-<span class="comment">// transformations on myspace::MyClass now work:</span>
-<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">myspace</span><span class="special">::</span><span class="identifier">MyClass</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">myspace</span><span class="special">::</span><span class="identifier">MyClass</span><span cl [...]
-<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">myspace</span><span class="special">::</span><span class="identifier">MyClass</span><span class="special">,</span> <span class="identifier">remove_const</span><span class="special"><</span><span class="identifier">myspace</span><span class="special">::</span><span class="identifier">MyClass</span> <span class [...]
-<span class="comment">// etc.</span>
-</pre>
-<p>
-        Note that the macro BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION evaluates
-        to nothing on those compilers that <span class="bold"><strong>do</strong></span> support
-        partial specialization.
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="value_traits/operators.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../category.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="alignment.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits.html
deleted file mode 100755
index f12baba..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Type Traits that Describe the Properties of a Type</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../category.html" title="Type Traits by Category">
-<link rel="prev" href="../category.html" title="Type Traits by Category">
-<link rel="next" href="value_traits/primary.html" title="Categorizing a Type">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../category.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../category.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_traits/primary.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.category.value_traits"></a><a class="link" href="value_traits.html" title="Type Traits that Describe the Properties of a Type">Type Traits that
-      Describe the Properties of a Type</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="value_traits/primary.html">Categorizing
-        a Type</a></span></dt>
-<dt><span class="section"><a href="value_traits/properties.html">General
-        Type Properties</a></span></dt>
-<dt><span class="section"><a href="value_traits/relate.html">Relationships
-        Between Two Types</a></span></dt>
-<dt><span class="section"><a href="value_traits/operators.html">Operator
-        Type Traits</a></span></dt>
-</dl></div>
-<p>
-        These traits are all <span class="emphasis"><em>value traits</em></span>, which is to say the
-        traits classes all inherit from <a class="link" href="../reference/integral_constant.html" title="integral_constant">integral_constant</a>,
-        and are used to access some numerical property of a type. Often this is a
-        simple true or false Boolean value, but in a few cases may be some other
-        integer value (for example when dealing with type alignments, or array bounds:
-        see <code class="computeroutput"><a class="link" href="../reference/alignment_of.html" title="alignment_of">alignment_of</a></code>,
-        <code class="computeroutput"><a class="link" href="../reference/rank.html" title="rank">rank</a></code>
-        and <code class="computeroutput"><a class="link" href="../reference/extent.html" title="extent">extent</a></code>).
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../category.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../category.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_traits/primary.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits/operators.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits/operators.html
deleted file mode 100755
index 64cd9ef..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits/operators.html
+++ /dev/null
@@ -1,1445 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Operator Type Traits</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../value_traits.html" title="Type Traits that Describe the Properties of a Type">
-<link rel="prev" href="relate.html" title="Relationships Between Two Types">
-<link rel="next" href="../transform.html" title="Type Traits that Transform One Type to Another">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="relate.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value_traits.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../transform.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_typetraits.category.value_traits.operators"></a><a class="link" href="operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-</h4></div></div></div>
-<a name="boost_typetraits.category.value_traits.operators.introduction"></a><h6>
-<a name="boost_typetraits.category.value_traits.operators.introduction-heading"></a>
-          <a class="link" href="operators.html#boost_typetraits.category.value_traits.operators.introduction">Introduction</a>
-        </h6>
-<p>
-          These traits are all <span class="emphasis"><em>value traits</em></span> inheriting from
-          <a class="link" href="../../reference/integral_constant.html" title="integral_constant">integral_constant</a>
-          and providing a simple <code class="computeroutput"><span class="keyword">true</span></code>
-          or <code class="computeroutput"><span class="keyword">false</span></code> boolean <code class="computeroutput"><span class="identifier">value</span></code> which reflects the fact that given
-          types can or cannot be used with given operators.
-        </p>
-<p>
-          For example, <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is a <code class="computeroutput"><span class="keyword">bool</span></code> which value is
-          <code class="computeroutput"><span class="keyword">true</span></code> because it is possible
-          to add a <code class="computeroutput"><span class="keyword">double</span></code> to an <code class="computeroutput"><span class="keyword">int</span></code> like in the following code: 
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">d</span><span class="special">;</span>
-<span class="identifier">i</span><span class="special">+</span><span class="identifier">d</span><span class="special">;</span>
-</pre>
-<p>
-          It is also possible to know if the result of the operator can be used as
-          function argument of a given type. For example, <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">float</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is <code class="computeroutput"><span class="keyword">true</span></code> because it is possible
-          to add a <code class="computeroutput"><span class="keyword">double</span></code> to an <code class="computeroutput"><span class="keyword">int</span></code> and the result (<code class="computeroutput"><span class="keyword">double</span></code>)
-          can be converted to a <code class="computeroutput"><span class="keyword">float</span></code>
-          argument like in the following code: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">float</span><span class="special">)</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">int</span> <span class="identifier">i</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">d</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">i</span><span class="special">+</span><span class="identifier">d</span><span class="special">);</span>
-</pre>
-<p>
-        </p>
-<a name="boost_typetraits.category.value_traits.operators.example_of_application"></a><h6>
-<a name="boost_typetraits.category.value_traits.operators.example_of_application-heading"></a>
-          <a class="link" href="operators.html#boost_typetraits.category.value_traits.operators.example_of_application">Example
-          of application</a>
-        </h6>
-<p>
-          These traits can be useful to optimize the code for types supporting given
-          operations. For example a function <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">advance</span></code>
-          that increases an iterator of a given number of steps could be implemented
-          as follows:
-        </p>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_plus_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-
-<span class="keyword">namespace</span> <span class="identifier">detail</span> <span class="special">{</span>
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Distance</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">has_plus_assign</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">advance_impl</span><span class="special">;</span>
-
-<span class="comment">// this is used if += exists (efficient)</span>
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Distance</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">advance_impl</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Distance</span><span class="special">,</span> <span class="keyword">true</span><span class="special">></span> <span class="special">{</span>
-   <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Iterator</span> <span class="special">&</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">Distance</span> <span class="identifier">n</span><span class="special">)</span> <span class="special">{</span>
-      <span class="identifier">i</span><span class="special">+=</span><span class="identifier">n</span><span class="special">;</span>
-   <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="comment">// this is use if += does not exists (less efficient but cannot do better)</span>
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Distance</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">advance_impl</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Distance</span><span class="special">,</span> <span class="keyword">false</span><span class="special">></span> <span class="special">{</span>
-   <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Iterator</span> <span class="special">&</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">Distance</span> <span class="identifier">n</span><span class="special">)</span> <span class="special">{</span>
-      <span class="keyword">if</span> <span class="special">(</span><span class="identifier">n</span><span class="special">></span><span class="number">0</span><span class="special">)</span> <span class="special">{</span>
-         <span class="keyword">while</span> <span class="special">(</span><span class="identifier">n</span><span class="special">--)</span> <span class="special">++</span><span class="identifier">i</span><span class="special">;</span>
-      <span class="special">}</span> <span class="keyword">else</span> <span class="special">{</span>
-         <span class="keyword">while</span> <span class="special">(</span><span class="identifier">n</span><span class="special">++)</span> <span class="special">--</span><span class="identifier">i</span><span class="special">;</span>
-      <span class="special">}</span>
-   <span class="special">}</span>
-<span class="special">};</span>
-<span class="special">}</span> <span class="comment">// namespace detail</span>
-
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Distance</span> <span class="special">></span>
-<span class="keyword">inline</span> <span class="keyword">void</span> <span class="identifier">advance</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="special">&</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">Distance</span> <span class="identifier">n</span><span class="special">)</span> <span class="special">{</span>
-   <span class="identifier">detail</span><span class="special">::</span><span class="identifier">advance_impl</span><span class="special"><</span> <span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Distance</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="identifi [...]
-<span class="special">}</span>
-</pre>
-<p>
-        </p>
-<p>
-          Then the compiler chooses the most efficient implementation according to
-          the type's ability to perform <code class="computeroutput"><span class="special">+=</span></code>
-          operation:
-        </p>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">class</span> <span class="identifier">with</span> <span class="special">{</span>
-      <span class="keyword">int</span> <span class="identifier">m_i</span><span class="special">;</span>
-   <span class="keyword">public</span><span class="special">:</span>
-      <span class="identifier">with</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span><span class="special">=</span><span class="number">0</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">m_i</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span> <span class="special">}</span>
-      <span class="identifier">with</span> <span class="special">&</span><span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">int</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">{</span> <span class="identifier">m_i</span><span class="special">+=</span><span class="identifier">rhs</span><span class="special">;</span> <span class="keyword">return</span> <span class="special">*</span><span class="keywo [...]
-      <span class="keyword">operator</span> <span class="keyword">int</span> <span class="keyword">const</span> <span class="special">()</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">m_i</span><span class="special">;</span> <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">class</span> <span class="identifier">without</span> <span class="special">{</span>
-      <span class="keyword">int</span> <span class="identifier">m_i</span><span class="special">;</span>
-   <span class="keyword">public</span><span class="special">:</span>
-      <span class="identifier">without</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span><span class="special">=</span><span class="number">0</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">m_i</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">{</span> <span class="special">}</span>
-      <span class="identifier">without</span> <span class="special">&</span><span class="keyword">operator</span><span class="special">++()</span> <span class="special">{</span> <span class="special">++</span><span class="identifier">m_i</span><span class="special">;</span> <span class="keyword">return</span> <span class="special">*</span><span class="keyword">this</span><span class="special">;</span> <span class="special">}</span>
-      <span class="identifier">without</span> <span class="special">&</span><span class="keyword">operator</span><span class="special">--()</span> <span class="special">{</span> <span class="special">--</span><span class="identifier">m_i</span><span class="special">;</span> <span class="keyword">return</span> <span class="special">*</span><span class="keyword">this</span><span class="special">;</span> <span class="special">}</span>
-      <span class="keyword">operator</span> <span class="keyword">int</span> <span class="keyword">const</span> <span class="special">()</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">m_i</span><span class="special">;</span> <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-   <span class="identifier">with</span> <span class="identifier">i</span><span class="special">=</span><span class="number">0</span><span class="special">;</span>
-   <span class="identifier">advance</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="number">10</span><span class="special">);</span> <span class="comment">// uses +=</span>
-   <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="string">"with: "</span><span class="special"><<</span><span class="identifier">i</span><span class="special"><<</span><span class="char">'\n'</span><span class="special">;</span>
-   <span class="identifier">without</span> <span class="identifier">j</span><span class="special">=</span><span class="number">0</span><span class="special">;</span>
-   <span class="identifier">advance</span><span class="special">(</span><span class="identifier">j</span><span class="special">,</span> <span class="number">10</span><span class="special">);</span> <span class="comment">// uses ++</span>
-   <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="string">"without: "</span><span class="special"><<</span><span class="identifier">j</span><span class="special"><<</span><span class="char">'\n'</span><span class="special">;</span>
-   <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
-        </p>
-<a name="boost_typetraits.category.value_traits.operators.description"></a><h6>
-<a name="boost_typetraits.category.value_traits.operators.description-heading"></a>
-          <a class="link" href="operators.html#boost_typetraits.category.value_traits.operators.description">Description</a>
-        </h6>
-<p>
-          The syntax is the following: 
-</p>
-<pre class="programlisting"><span class="keyword">template</span> <code class="computeroutput"><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span> <span class="special">></span></code> <span class="identifier">has_op</span><span class="special">;</span> <span clas [...]
-<span class="keyword">template</span> <code class="computeroutput"><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span> <span class="special">></span></code> <span class="identifier">has_op</span><span class="special">;</span> <span class="comment">// postfix opera [...]
-<span class="keyword">template</span> <code class="computeroutput"><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier" [...]
-</pre>
-<p>
-          where:
-        </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-              op represents the operator name
-            </li>
-<li class="listitem">
-              <code class="computeroutput"><span class="identifier">Lhs</span></code> is the type used
-              at the left hand side of <code class="computeroutput"><span class="keyword">operator</span>
-              <span class="identifier">op</span></code>,
-            </li>
-<li class="listitem">
-              <code class="computeroutput"><span class="identifier">Rhs</span></code> is the type used
-              at the right hand side of <code class="computeroutput"><span class="keyword">operator</span>
-              <span class="identifier">op</span></code>,
-            </li>
-<li class="listitem">
-              <code class="computeroutput"><span class="identifier">Ret</span></code> is the type for
-              which we want to know if the result of <code class="computeroutput"><span class="keyword">operator</span>
-              <span class="identifier">op</span></code> can be converted to.
-            </li>
-</ul></div>
-<p>
-          The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-          is to not check for the return value of the operator. If <code class="computeroutput"><span class="identifier">Ret</span></code> is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>, the return value is checked
-          to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-          Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-          that the return value can be used as argument to a function expecting
-          <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">+</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_plus<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-          If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-          <code class="computeroutput"><span class="keyword">void</span></code>.
-        </p>
-<p>
-          The following tables give the list of supported binary, prefix and postfix
-          operators.
-        </p>
-<div class="table">
-<a name="boost_typetraits.category.value_traits.operators.supported_prefix_operators"></a><p class="title"><b>Table 1.4. Supported prefix operators</b></p>
-<div class="table-contents"><table class="table" summary="Supported prefix operators">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    prefix operator
-                  </p>
-                </th>
-<th>
-                  <p>
-                    trait name
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">!</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_logical_not.html" title="has_logical_not"><code class="computeroutput"><span class="identifier">has_logical_not</span></code></a> <code class="computeroutput"><span class="special"><</span> <span class="keyword">class</span>
-                    <span class="identifier">Rhs</span><span class="special">,</span>
-                    <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span>
-                    <span class="special">></span></code>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">+</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_unary_plus.html" title="has_unary_plus"><code class="computeroutput"><span class="identifier">has_unary_plus</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">-</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_unary_minus.html" title="has_unary_minus"><code class="computeroutput"><span class="identifier">has_unary_minus</span></code></a> and
-                    <a class="link" href="../../reference/has_negate.html" title="has_negate"><code class="computeroutput"><span class="identifier">has_negate</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">~</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_complement.html" title="has_complement"><code class="computeroutput"><span class="identifier">has_complement</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">*</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_dereference.html" title="has_dereference"><code class="computeroutput"><span class="identifier">has_dereference</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">++</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_pre_increment.html" title="has_pre_increment"><code class="computeroutput"><span class="identifier">has_pre_increment</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">--</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_pre_decrement.html" title="has_pre_decrement"><code class="computeroutput"><span class="identifier">has_pre_decrement</span></code></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="boost_typetraits.category.value_traits.operators.supported_postfix_operators"></a><p class="title"><b>Table 1.5. Supported postfix operators</b></p>
-<div class="table-contents"><table class="table" summary="Supported postfix operators">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    postfix operator
-                  </p>
-                </th>
-<th>
-                  <p>
-                    trait name
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">++</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_post_increment.html" title="has_post_increment"><code class="computeroutput"><span class="identifier">has_post_increment</span></code></a>
-                    <code class="computeroutput"><span class="special"><</span> <span class="keyword">class</span>
-                    <span class="identifier">Lhs</span><span class="special">,</span>
-                    <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span>
-                    <span class="special">></span></code>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">--</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_post_decrement.html" title="has_post_decrement"><code class="computeroutput"><span class="identifier">has_post_decrement</span></code></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="boost_typetraits.category.value_traits.operators.supported_binary_operators"></a><p class="title"><b>Table 1.6. Supported binary operators</b></p>
-<div class="table-contents"><table class="table" summary="Supported binary operators">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    binary operator
-                  </p>
-                </th>
-<th>
-                  <p>
-                    trait name
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">+</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_plus.html" title="has_plus"><code class="computeroutput"><span class="identifier">has_plus</span></code></a> <code class="computeroutput"><span class="special"><</span> <span class="keyword">class</span>
-                    <span class="identifier">Lhs</span><span class="special">,</span>
-                    <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span>
-                    <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span> <span class="special">></span></code>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">-</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_minus.html" title="has_minus"><code class="computeroutput"><span class="identifier">has_minus</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">*</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_multiplies.html" title="has_multiplies"><code class="computeroutput"><span class="identifier">has_multiplies</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">/</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_divides.html" title="has_divides"><code class="computeroutput"><span class="identifier">has_divides</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">%</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_modulus.html" title="has_modulus"><code class="computeroutput"><span class="identifier">has_modulus</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">+=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_plus_assign.html" title="has_plus_assign"><code class="computeroutput"><span class="identifier">has_plus_assign</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">-=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_minus_assign.html" title="has_minus_assign"><code class="computeroutput"><span class="identifier">has_minus_assign</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">*=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_multiplies_assign.html" title="has_multiplies_assign"><code class="computeroutput"><span class="identifier">has_multiplies_assign</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">/=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_divides_assign.html" title="has_divides_assign"><code class="computeroutput"><span class="identifier">has_divides_assign</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">%=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_modulus_assign.html" title="has_modulus_assign"><code class="computeroutput"><span class="identifier">has_modulus_assign</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">&</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_bit_and.html" title="has_bit_and"><code class="computeroutput"><span class="identifier">has_bit_and</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">|</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_bit_or.html" title="has_bit_or"><code class="computeroutput"><span class="identifier">has_bit_or</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">^</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_bit_xor.html" title="has_bit_xor"><code class="computeroutput"><span class="identifier">has_bit_xor</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">&=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_bit_and_assign.html" title="has_bit_and_assign"><code class="computeroutput"><span class="identifier">has_bit_and_assign</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">|=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_bit_or_assign.html" title="has_bit_or_assign"><code class="computeroutput"><span class="identifier">has_bit_or_assign</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">^=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_bit_xor_assign.html" title="has_bit_xor_assign"><code class="computeroutput"><span class="identifier">has_bit_xor_assign</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special"><<</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_left_shift.html" title="has_left_shift"><code class="computeroutput"><span class="identifier">has_left_shift</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">>></span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_right_shift.html" title="has_right_shift"><code class="computeroutput"><span class="identifier">has_right_shift</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special"><<=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_left_shift_assign.html" title="has_left_shift_assign"><code class="computeroutput"><span class="identifier">has_left_shift_assign</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">>>=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_right_shift_assign.html" title="has_right_shift_assign"><code class="computeroutput"><span class="identifier">has_right_shift_assign</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">==</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_equal_to.html" title="has_equal_to"><code class="computeroutput"><span class="identifier">has_equal_to</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">!=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_not_equal_to.html" title="has_not_equal_to"><code class="computeroutput"><span class="identifier">has_not_equal_to</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special"><</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_less.html" title="has_less"><code class="computeroutput"><span class="identifier">has_less</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special"><=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_less_equal.html" title="has_less_equal"><code class="computeroutput"><span class="identifier">has_less_equal</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">></span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_greater.html" title="has_greater"><code class="computeroutput"><span class="identifier">has_greater</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">>=</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_greater_equal.html" title="has_greater_equal"><code class="computeroutput"><span class="identifier">has_greater_equal</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">&&</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_logical_and.html" title="has_logical_and"><code class="computeroutput"><span class="identifier">has_logical_and</span></code></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="special">||</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../../reference/has_logical_or.html" title="has_logical_or"><code class="computeroutput"><span class="identifier">has_logical_or</span></code></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
-          The following operators are not supported because they could not be implemented
-          using the same technique: <code class="computeroutput"><span class="keyword">operator</span><span class="special">=</span></code>, <code class="computeroutput"><span class="keyword">operator</span><span class="special">-></span></code>, <code class="computeroutput"><span class="keyword">operator</span><span class="special">&</span></code>, <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code>, <code class="computeroutput [...]
-          <span class="keyword">new</span></code>.
-        </p>
-<a name="boost_typetraits.category.value_traits.operators.cv_qualifiers_and_references"></a><h6>
-<a name="boost_typetraits.category.value_traits.operators.cv_qualifiers_and_references-heading"></a>
-          <a class="link" href="operators.html#boost_typetraits.category.value_traits.operators.cv_qualifiers_and_references">cv
-          qualifiers and references</a>
-        </h6>
-<p>
-          A reference sign <code class="computeroutput"><span class="special">&</span></code> in
-          the operator argument is ignored so that <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span> <span class="keyword">int</span><span class="special">&,</span> <span class="keyword">double</span><span class="special">&</span> <span class="special">>::</span><span class="identifier">value</span><span class="special">==</span><span class="identifier">has_plus</span><span class="special"><</span>
-          <span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span> <span class="special">>::</span><span class="identifier">value</span></code>. This has been chosen because if
-          the following code works (does not work): 
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">d</span><span class="special">;</span>
-<span class="identifier">i</span><span class="special">+</span><span class="identifier">d</span><span class="special">;</span>
-</pre>
-<p>
-          the following code also works (does not work): 
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="special">&</span><span class="identifier">ir</span><span class="special">=</span><span class="identifier">i</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="special">&</span><span class="identifier">dr</span><span class="special">=</span><span class="identifier">d</span><span class="special">;</span>
-<span class="identifier">ir</span><span class="special">+</span><span class="identifier">dr</span><span class="special">;</span>
-</pre>
-<p>
-        </p>
-<p>
-          It was not possible to handle properly the <code class="computeroutput"><span class="keyword">volatile</span></code>
-          qualifier so that any construct using this qualifier has undefined behavior.
-        </p>
-<p>
-          As a help, the following tables give the necessary conditions over each
-          trait template argument for the trait <code class="computeroutput"><span class="identifier">value</span></code>
-          to be <code class="computeroutput"><span class="keyword">true</span></code>. They are non sufficient
-          conditions because the conditions must be <code class="computeroutput"><span class="keyword">true</span></code>
-          for all arguments and return type for <code class="computeroutput"><span class="identifier">value</span></code>
-          to be <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p>
-<div class="table">
-<a name="boost_typetraits.category.value_traits.operators.necessary_and_non_sufficient_condition_on_operator_argument_for_value_to_be_true"></a><p class="title"><b>Table 1.7. necessary and non sufficient condition on operator argument for
-          value to be true</b></p>
-<div class="table-contents"><table class="table" summary="necessary and non sufficient condition on operator argument for
-          value to be true">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    operator declaration
-                  </p>
-                </th>
-<th>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">has_op</span><span class="special"><</span>
-                    <span class="keyword">void</span> <span class="special">></span></code>
-                  </p>
-                </th>
-<th>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">has_op</span><span class="special"><</span>
-                    <span class="identifier">Arg</span> <span class="special">></span></code>
-                    and <code class="computeroutput"><span class="identifier">has_op</span><span class="special"><</span>
-                    <span class="identifier">Arg</span><span class="special">&</span>
-                    <span class="special">></span></code>
-                  </p>
-                </th>
-<th>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">has_op</span><span class="special"><</span>
-                    <span class="identifier">Arg</span> <span class="keyword">const</span>
-                    <span class="special">></span></code> and <code class="computeroutput"><span class="identifier">has_op</span><span class="special"><</span>
-                    <span class="identifier">Arg</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">></span></code>
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">operator</span></code>@<code class="computeroutput"><span class="special">(</span><span class="identifier">Arg</span><span class="special">)</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">operator</span></code>@<code class="computeroutput"><span class="special">(</span><span class="identifier">Arg</span>
-                    <span class="keyword">const</span><span class="special">)</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">operator</span></code>@<code class="computeroutput"><span class="special">(</span><span class="identifier">Arg</span>
-                    <span class="special">&)</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">operator</span></code>@<code class="computeroutput"><span class="special">(</span><span class="identifier">Arg</span>
-                    <span class="keyword">const</span> <span class="special">&)</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="boost_typetraits.category.value_traits.operators.necessary_and_non_sufficient_condition_on_operator_return_type_for_value_to_be_true"></a><p class="title"><b>Table 1.8. necessary and non sufficient condition on operator return type for
-          value to be true</b></p>
-<div class="table-contents"><table class="table" summary="necessary and non sufficient condition on operator return type for
-          value to be true">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    operator declaration
-                  </p>
-                </th>
-<th>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">has_op</span><span class="special"><</span>
-                    <span class="special">...,</span> <span class="keyword">void</span>
-                    <span class="special">></span></code>
-                  </p>
-                </th>
-<th>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">has_op</span><span class="special"><</span>
-                    <span class="special">...,</span> <span class="identifier">Ret</span>
-                    <span class="special">></span></code>
-                  </p>
-                </th>
-<th>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">has_op</span><span class="special"><</span>
-                    <span class="special">...,</span> <span class="identifier">Ret</span>
-                    <span class="keyword">const</span> <span class="special">></span></code>
-                  </p>
-                </th>
-<th>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">has_op</span><span class="special"><</span>
-                    <span class="special">...,</span> <span class="identifier">Ret</span>
-                    <span class="special">&</span> <span class="special">></span></code>
-                  </p>
-                </th>
-<th>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">has_op</span><span class="special"><</span>
-                    <span class="special">...,</span> <span class="identifier">Ret</span>
-                    <span class="keyword">const</span> <span class="special">&</span>
-                    <span class="special">></span></code>
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="keyword">operator</span></code>@<code class="computeroutput"><span class="special">(...)</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Ret</span> <span class="keyword">operator</span></code>@<code class="computeroutput"><span class="special">(...)</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Ret</span> <span class="keyword">const</span>
-                    <span class="keyword">operator</span></code>@<code class="computeroutput"><span class="special">(...)</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Ret</span> <span class="special">&</span>
-                    <span class="keyword">operator</span></code>@<code class="computeroutput"><span class="special">(...)</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Ret</span> <span class="keyword">const</span>
-                    <span class="special">&</span> <span class="keyword">operator</span></code>@<code class="computeroutput"><span class="special">(...)</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-<td>
-                  <p>
-                    false
-                  </p>
-                </td>
-<td>
-                  <p>
-                    true
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><a name="boost_typetraits.category.value_traits.operators.implementation"></a><h6>
-<a name="boost_typetraits.category.value_traits.operators.implementation-heading"></a>
-          <a class="link" href="operators.html#boost_typetraits.category.value_traits.operators.implementation">Implementation</a>
-        </h6>
-<p>
-          The implementation consists in only header files. The following headers
-          should included first: 
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></pre>
-<p>
-          or 
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_op</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></pre>
-<p>
-          where <code class="literal">op</code> is the textual name chosen for the wanted operator.
-          The first method includes all operator traits.
-        </p>
-<p>
-          All traits are implemented the same way using preprocessor macros to avoid
-          code duplication. The main files are in <code class="literal">boost/type_traits/detail</code>:
-          <code class="literal">has_binary_operator.hpp</code>, <code class="literal">has_prefix_operator.hpp</code>
-          and <code class="literal">has_postfix_operator.hpp</code>. The example of prefix
-          <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code>
-          is presented below:
-        </p>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
-<span class="keyword">namespace</span> <span class="identifier">detail</span> <span class="special">{</span>
-
-<span class="comment">// This namespace ensures that argument-dependent name lookup does not mess things up.</span>
-<span class="keyword">namespace</span> <span class="identifier">has_unary_minus_impl</span> <span class="special">{</span>
-
-<span class="comment">// 1. a function to have an instance of type T without requiring T to be default</span>
-<span class="comment">// constructible</span>
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="identifier">T</span> <span class="special">&</span><span class="identifier">make</span><span class="special">();</span>
-
-
-<span class="comment">// 2. we provide our operator definition for types that do not have one already</span>
-
-<span class="comment">// a type returned from operator- when no such operator is</span>
-<span class="comment">// found in the type's own namespace (our own operator is used) so that we have</span>
-<span class="comment">// a means to know that our operator was used</span>
-<span class="keyword">struct</span> <span class="identifier">no_operator</span> <span class="special">{</span> <span class="special">};</span>
-
-<span class="comment">// this class allows implicit conversions and makes the following operator</span>
-<span class="comment">// definition less-preferred than any other such operators that might be found</span>
-<span class="comment">// via argument-dependent name lookup</span>
-<span class="keyword">struct</span> <span class="identifier">any</span> <span class="special">{</span> <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="identifier">any</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&);</span> <span class="special">};</span>
-
-<span class="comment">// when operator- is not available, this one is used</span>
-<span class="identifier">no_operator</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">any</span><span class="special">&);</span>
-
-
-<span class="comment">// 3. checks if the operator returns void or not</span>
-<span class="comment">// conditions: Rhs!=void</span>
-
-<span class="comment">// we first redefine "operator," so that we have no compilation error if</span>
-<span class="comment">// operator- returns void and we can use the return type of</span>
-<span class="comment">// (-rhs, returns_void_t()) to deduce if operator- returns void or not:</span>
-<span class="comment">// - operator- returns void   -> (-rhs, returns_void_t()) returns returns_void_t</span>
-<span class="comment">// - operator- returns !=void -> (-rhs, returns_void_t()) returns int</span>
-<span class="keyword">struct</span> <span class="identifier">returns_void_t</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">int</span> <span class="keyword">operator</span><span class="special">,(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&,</span> <span class="identifier">returns_void_t</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">int</span> <span class="keyword">operator</span><span class="special">,(</span><span class="keyword">const</span> <span class="keyword">volatile</span> <span class="identifier">T</span><span class="special">&,</span> <span class="identifier">returns_void_t</span><span class="special">);</span>
-
-<span class="comment">// this intermediate trait has member value of type bool:</span>
-<span class="comment">// - value==true  -> operator- returns void</span>
-<span class="comment">// - value==false -> operator- does not return void</span>
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">operator_returns_void</span> <span class="special">{</span>
-   <span class="comment">// overloads of function returns_void make the difference</span>
-   <span class="comment">// yes_type and no_type have different size by construction</span>
-   <span class="keyword">static</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_traits</span><span class="special">::</span><span class="identifier">yes_type</span> <span class="identifier">returns_void</span><span class="special">(</span><span class="identifier">returns_void_t</span><span class="special">);</span>
-   <span class="keyword">static</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_traits</span><span class="special">::</span><span class="identifier">no_type</span> <span class="identifier">returns_void</span><span class="special">(</span><span class="keyword">int</span><span class="special">);</span>
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">sizeof</span><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_traits</span><span class="special">::</span><span class="identifier">yes_type</span><span class="special">)==</span><span class="keyword">sizeof</span [...]
-<span class="special">};</span>
-
-
-<span class="comment">// 4. checks if the return type is Ret or Ret==dont_care</span>
-<span class="comment">// conditions: Rhs!=void</span>
-
-<span class="keyword">struct</span> <span class="identifier">dont_care</span> <span class="special">{</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Ret</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">Returns_void</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">operator_returns_Ret</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">operator_returns_Ret</span> <span class="special"><</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">dont_care</span><span class="special">,</span> <span class="keyword">true</span> <span class="special">></span> <span class="special">{</span>
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">operator_returns_Ret</span> <span class="special"><</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">dont_care</span><span class="special">,</span> <span class="keyword">false</span> <span class="special">></span> <span class="special">{</span>
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">operator_returns_Ret</span> <span class="special"><</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">void</span><span class="special">,</span> <span class="keyword">true</span> <span class="special">></span> <span class="special">{</span>
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">operator_returns_Ret</span> <span class="special"><</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">void</span><span class="special">,</span> <span class="keyword">false</span> <span class="special">></span> <span class="special">{</span>
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">false</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Ret</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">operator_returns_Ret</span> <span class="special"><</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">,</span> <span class="keyword">true</span> <span class="special">></span> <span class="special">{</span>
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">false</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="comment">// otherwise checks if it is convertible to Ret using the sizeof trick</span>
-<span class="comment">// based on overload resolution</span>
-<span class="comment">// condition: Ret!=void and Ret!=dont_care and the operator does not return void</span>
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Ret</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">operator_returns_Ret</span> <span class="special"><</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">,</span> <span class="keyword">false</span> <span class="special">></span> <span class="special">{</span>
-   <span class="keyword">static</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_traits</span><span class="special">::</span><span class="identifier">yes_type</span> <span class="identifier">is_convertible_to_Ret</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span> <span class="comment">// this version is preferred for types convertible to Ret</span>
-   <span class="keyword">static</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_traits</span><span class="special">::</span><span class="identifier">no_type</span> <span class="identifier">is_convertible_to_Ret</span><span class="special">(...);</span> <span class="comment">// this version is used otherwise</span>
-
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">is_convertible_to_Ret</span><span class="special">(-</span><span class="identifier">make</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">>()))==</span><span class="keyword">s [...]
-<span class="special">};</span>
-
-
-<span class="comment">// 5. checks for operator existence</span>
-<span class="comment">// condition: Rhs!=void</span>
-
-<span class="comment">// checks if our definition of operator- is used or an other</span>
-<span class="comment">// existing one;</span>
-<span class="comment">// this is done with redefinition of "operator," that returns no_operator or has_operator</span>
-<span class="keyword">struct</span> <span class="identifier">has_operator</span> <span class="special">{</span> <span class="special">};</span>
-<span class="identifier">no_operator</span> <span class="keyword">operator</span><span class="special">,(</span><span class="identifier">no_operator</span><span class="special">,</span> <span class="identifier">has_operator</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">operator_exists</span> <span class="special">{</span>
-   <span class="keyword">static</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_traits</span><span class="special">::</span><span class="identifier">yes_type</span> <span class="identifier">check</span><span class="special">(</span><span class="identifier">has_operator</span><span class="special">);</span> <span class="comment">// this version is preferred when operator exists</span>
-   <span class="keyword">static</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_traits</span><span class="special">::</span><span class="identifier">no_type</span> <span class="identifier">check</span><span class="special">(</span><span class="identifier">no_operator</span><span class="special">);</span> <span class="comment">// this version is used otherwise</span>
-
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">check</span><span class="special">(((-</span><span class="identifier">make</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">>()),</span><span class="identifier">make</span><sp [...]
-<span class="special">};</span>
-
-
-<span class="comment">// 6. main trait: to avoid any compilation error, this class behaves</span>
-<span class="comment">// differently when operator-(Rhs) is forbidden by the standard.</span>
-<span class="comment">// Forbidden_if is a bool that is:</span>
-<span class="comment">// - true when the operator-(Rhs) is forbidden by the standard</span>
-<span class="comment">//   (would yield compilation error if used)</span>
-<span class="comment">// - false otherwise</span>
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Ret</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">Forbidden_if</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">trait_impl1</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Ret</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">trait_impl1</span> <span class="special"><</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">,</span> <span class="keyword">true</span> <span class="special">></span> <span class="special">{</span>
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">false</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Ret</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">trait_impl1</span> <span class="special"><</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">,</span> <span class="keyword">false</span> <span class="special">></span> <span class="special">{</span>
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span>
-      <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_traits</span><span class="special">::</span><span class="identifier">ice_and</span><span class="special"><</span>
-         <span class="identifier">operator_exists</span> <span class="special"><</span> <span class="identifier">Rhs</span> <span class="special">>::</span><span class="identifier">value</span><span class="special">,</span>
-         <span class="identifier">operator_returns_Ret</span> <span class="special"><</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">,</span> <span class="identifier">operator_returns_void</span> <span class="special"><</span> <span class="identifier">Rhs</span> <span class="special">>::</span><span class="identifier">value</span> <span class="special">>::</span><span class="identifier">value</span>
-      <span class="special">>::</span><span class="identifier">value</span>
-   <span class="special">;</span>
-<span class="special">};</span>
-
-<span class="comment">// specialization needs to be declared for the special void case</span>
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Ret</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">trait_impl1</span> <span class="special"><</span> <span class="keyword">void</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">,</span> <span class="keyword">false</span> <span class="special">></span> <span class="special">{</span>
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">false</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="comment">// defines some typedef for convenience</span>
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Ret</span> <span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">trait_impl</span> <span class="special">{</span>
-   <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">Rhs_noref</span><span class="special">;</span>
-   <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">Rhs_noref</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">Rhs_nocv</span><span class="special">;</span>
-   <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_cv</span><span class="special"><</span> <span class="keyword">typename</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span> <span class="keyword" [...]
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">trait_impl1</span> <span class="special"><</span> <span class="identifier">Rhs_noref</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span> [...]
-<span class="special">};</span>
-
-<span class="special">}</span> <span class="comment">// namespace impl</span>
-<span class="special">}</span> <span class="comment">// namespace detail</span>
-
-<span class="comment">// this is the accessible definition of the trait to end user</span>
-<span class="keyword">template</span> <span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Ret</span><span class="special">=::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">has_unary_minus_impl</span><span class="special"> [...]
-<span class="keyword">struct</span> <span class="identifier">has_unary_minus</span> <span class="special">:</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">integral_constant</span><span class="special"><</span><span class="keyword">bool</span><span class="special">,(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">detail</span><span class="special">:: [...]
-
-<span class="special">}</span> <span class="comment">// namespace boost</span>
-</pre>
-<p>
-        </p>
-<a name="boost_typetraits.category.value_traits.operators.limitation"></a><h6>
-<a name="boost_typetraits.category.value_traits.operators.limitation-heading"></a>
-          <a class="link" href="operators.html#boost_typetraits.category.value_traits.operators.limitation">Limitation</a>
-        </h6>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-              Requires a compiler with working SFINAE.
-            </li></ul></div>
-<a name="boost_typetraits.category.value_traits.operators.known_issues"></a><h6>
-<a name="boost_typetraits.category.value_traits.operators.known_issues-heading"></a>
-          <a class="link" href="operators.html#boost_typetraits.category.value_traits.operators.known_issues">Known
-          issues</a>
-        </h6>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-              These traits cannot detect whether the operators are public or not:
-              if an operator is defined as a private member of type <code class="computeroutput"><span class="identifier">T</span></code> then the instantiation of the corresponding
-              trait will produce a compiler error. For this reason these traits cannot
-              be used to determine whether a type has a public operator or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="identifier">A</span> <span class="keyword">operator</span><span class="special">-();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator-() is private</span>
-</pre>
-            </li>
-<li class="listitem">
-              There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-              is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-              In this case, the compiler will report an ambiguous overload because
-              both the existing operator and the one we provide (with argument of
-              type <code class="computeroutput"><span class="identifier">any</span></code>) need type
-              conversion, so that none is preferred. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload between</span>
-                                  <span class="comment">// operator-(const any&) and</span>
-                                  <span class="comment">// operator-(const A&)</span>
-                                  <span class="comment">// both need type conversion</span>
-</pre>
-              
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="identifier">A</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">B</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload between</span>
-                                  <span class="comment">// operator-(const any&) and</span>
-                                  <span class="comment">// operator-(const A&)</span>
-                                  <span class="comment">// both need type conversion</span>
-</pre>
-            </li>
-<li class="listitem">
-              There is an issue when applying these traits to template classes. If
-              the operator is defined but does not bind for a given template type,
-              it is still detected by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-              instead of <code class="computeroutput"><span class="keyword">false</span></code>. This
-              applies in particular to the containers of the standard library and
-              <code class="computeroutput"><span class="keyword">operator</span><span class="special">==</span></code>.
-              Example: 
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span  [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_equal_to</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">v [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">==</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_equal_to</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">va [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">==</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-            </li>
-<li class="listitem">
-              <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is
-              not properly handled and would lead to undefined behavior
-            </li>
-</ul></div>
-<a name="boost_typetraits.category.value_traits.operators.acknowledgments"></a><h6>
-<a name="boost_typetraits.category.value_traits.operators.acknowledgments-heading"></a>
-          <a class="link" href="operators.html#boost_typetraits.category.value_traits.operators.acknowledgments">Acknowledgments</a>
-        </h6>
-<p>
-          Frederic Bron is very thankful to numerous people from the boost mailing
-          list for their kind help and patience. In particular, the following persons
-          have been very helpful for the implementation: Edward Diener, Eric Niebler,
-          Jeffrey Lee Hellrung (Jr.), Robert Stewart, Roman Perepelitsa, Steven Watanabe,
-          Vicente Botet.
-        </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="relate.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value_traits.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../transform.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits/primary.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits/primary.html
deleted file mode 100755
index b949fac..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits/primary.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Categorizing a Type</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../value_traits.html" title="Type Traits that Describe the Properties of a Type">
-<link rel="prev" href="../value_traits.html" title="Type Traits that Describe the Properties of a Type">
-<link rel="next" href="properties.html" title="General Type Properties">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../value_traits.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value_traits.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="properties.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_typetraits.category.value_traits.primary"></a><a class="link" href="primary.html" title="Categorizing a Type">Categorizing
-        a Type</a>
-</h4></div></div></div>
-<p>
-          These traits identify what "kind" of type some type <code class="computeroutput"><span class="identifier">T</span></code> is. These are split into two groups:
-          primary traits which are all mutually exclusive, and composite traits that
-          are compositions of one or more primary traits.
-        </p>
-<p>
-          For any given type, exactly one primary type trait will inherit from <a class="link" href="../../reference/integral_constant.html" title="integral_constant">true_type</a>,
-          and all the others will inherit from <a class="link" href="../../reference/integral_constant.html" title="integral_constant">false_type</a>,
-          in other words these traits are mutually exclusive.
-        </p>
-<p>
-          This means that <code class="computeroutput"><a class="link" href="../../reference/is_integral.html" title="is_integral">is_integral</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code>
-          and <code class="computeroutput"><a class="link" href="../../reference/is_floating_point.html" title="is_floating_point">is_floating_point</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code>
-          will only ever be true for built-in types; if you want to check for a user-defined
-          class type that behaves "as if" it is an integral or floating
-          point type, then use the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span>
-          <span class="keyword">template</span></code> instead.
-        </p>
-<p>
-          <span class="bold"><strong>Synopsis:</strong></span>
-        </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_array.html" title="is_array">is_array</a><span class="special">;</span>
-  
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_class.html" title="is_class">is_class</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_complex.html" title="is_complex">is_complex</a><span class="special">;</span>
-  
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_enum.html" title="is_enum">is_enum</a><span class="special">;</span>
-  
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_floating_point.html" title="is_floating_point">is_floating_point</a><span class="special">;</span>
-  
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_function.html" title="is_function">is_function</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_integral.html" title="is_integral">is_integral</a><span class="special">;</span>
-  
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_member_function_pointer.html" title="is_member_function_pointer">is_member_function_pointer</a><span class="special">;</span>
-  
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_member_object_pointer.html" title="is_member_object_pointer">is_member_object_pointer</a><span class="special">;</span>
-  
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_pointer.html" title="is_pointer">is_pointer</a><span class="special">;</span>
-  
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_lvalue_reference.html" title="is_lvalue_reference">is_lvalue_reference</a><span class="special">;</span>
-  
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_rvalue_reference.html" title="is_rvalue_reference">is_rvalue_reference</a><span class="special">;</span>
-  
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_union.html" title="is_union">is_union</a><span class="special">;</span>
-  
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_void.html" title="is_void">is_void</a><span class="special">;</span>
-</pre>
-<p>
-          The following traits are made up of the union of one or more type categorizations.
-          A type may belong to more than one of these categories, in addition to
-          one of the primary categories.
-        </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_arithmetic.html" title="is_arithmetic">is_arithmetic</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_compound.html" title="is_compound">is_compound</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_fundamental.html" title="is_fundamental">is_fundamental</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_member_pointer.html" title="is_member_pointer">is_member_pointer</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_object.html" title="is_object">is_object</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_reference.html" title="is_reference">is_reference</a><span class="special">;</span>
-  
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_scalar.html" title="is_scalar">is_scalar</a><span class="special">;</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../value_traits.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value_traits.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="properties.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits/properties.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits/properties.html
deleted file mode 100755
index f49f7af..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits/properties.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>General Type Properties</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../value_traits.html" title="Type Traits that Describe the Properties of a Type">
-<link rel="prev" href="primary.html" title="Categorizing a Type">
-<link rel="next" href="relate.html" title="Relationships Between Two Types">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="primary.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value_traits.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="relate.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_typetraits.category.value_traits.properties"></a><a class="link" href="properties.html" title="General Type Properties">General
-        Type Properties</a>
-</h4></div></div></div>
-<p>
-          The following templates describe the general properties of a type.
-        </p>
-<p>
-          <span class="bold"><strong>Synopsis:</strong></span>
-        </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/alignment_of.html" title="alignment_of">alignment_of</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_new_operator.html" title="has_new_operator">has_new_operator</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_nothrow_assign.html" title="has_nothrow_assign">has_nothrow_assign</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_constructor</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_default_constructor</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_nothrow_copy.html" title="has_nothrow_copy">has_nothrow_copy</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_nothrow_copy.html" title="has_nothrow_copy">has_nothrow_copy_constructor</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_constructor</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_default_constructor</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_trivial_copy.html" title="has_trivial_copy">has_trivial_copy</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_trivial_copy.html" title="has_trivial_copy">has_trivial_copy_constructor</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_trivial_destructor.html" title="has_trivial_destructor">has_trivial_destructor</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/has_virtual_destructor.html" title="has_virtual_destructor">has_virtual_destructor</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_abstract.html" title="is_abstract">is_abstract</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_const.html" title="is_const">is_const</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_empty.html" title="is_empty">is_empty</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_stateless.html" title="is_stateless">is_stateless</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_pod.html" title="is_pod">is_pod</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_polymorphic.html" title="is_polymorphic">is_polymorphic</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_signed.html" title="is_signed">is_signed</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_unsigned.html" title="is_unsigned">is_unsigned</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_volatile.html" title="is_volatile">is_volatile</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span> <span class="special">=</span> <span class="number">0</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/extent.html" title="extent">extent</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/rank.html" title="rank">rank</a><span class="special">;</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="primary.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value_traits.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="relate.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits/relate.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits/relate.html
deleted file mode 100755
index 22638ae..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/category/value_traits/relate.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Relationships Between Two Types</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../value_traits.html" title="Type Traits that Describe the Properties of a Type">
-<link rel="prev" href="properties.html" title="General Type Properties">
-<link rel="next" href="operators.html" title="Operator Type Traits">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="properties.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value_traits.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operators.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_typetraits.category.value_traits.relate"></a><a class="link" href="relate.html" title="Relationships Between Two Types">Relationships
-        Between Two Types</a>
-</h4></div></div></div>
-<p>
-          These templates determine the whether there is a relationship between two
-          types:
-        </p>
-<p>
-          <span class="bold"><strong>Synopsis:</strong></span>
-        </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Base</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_base_of.html" title="is_base_of">is_base_of</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Base</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_virtual_base_of.html" title="is_virtual_base_of">is_virtual_base_of</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">From</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">To</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_convertible.html" title="is_convertible">is_convertible</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="../../reference/is_same.html" title="is_same">is_same</a><span class="special">;</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="properties.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value_traits.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operators.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/credits.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/credits.html
deleted file mode 100755
index f4625c3..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/credits.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Credits</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="history.html" title="History">
-<link rel="next" href="../index/s11.html" title="Class Index">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="history.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../index/s11.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_typetraits.credits"></a><a class="link" href="credits.html" title="Credits">Credits</a>
-</h2></div></div></div>
-<p>
-      This documentation was pulled together by John Maddock, using <a href="../../../../../doc/html/quickbook.html" target="_top">Boost.Quickbook</a>
-      and <a href="../../../../../doc/html/boostbook.html" target="_top">Boost.DocBook</a>.
-    </p>
-<p>
-      The original version of this library was created by Steve Cleary, Beman Dawes,
-      Howard Hinnant, and John Maddock. John Maddock is the current maintainer of
-      the library.
-    </p>
-<p>
-      This version of type traits library is based on contributions by Adobe Systems
-      Inc, David Abrahams, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Thorsten Ottosen, Robert
-      Ramey and Jeremy Siek.
-    </p>
-<p>
-      Mat Marcus and Jesse Jones invented, and <a href="http://opensource.adobe.com/project4/project.shtml" target="_top">published
-      a paper describing</a>, the partial specialization workarounds used in
-      this library.
-    </p>
-<p>
-      Aleksey Gurtovoy added MPL integration to the library.
-    </p>
-<p>
-      The <a class="link" href="reference/is_convertible.html" title="is_convertible">is_convertible</a>
-      template is based on code originally devised by Andrei Alexandrescu, see "<a href="http://www.cuj.com/experts/1810/alexandr.htm?topic=experts" target="_top">Generic<Programming>:
-      Mappings between Types and Values</a>".
-    </p>
-<p>
-      The latest version of this library and documentation can be found at <a href="http://www.boost.org" target="_top">www.boost.org</a>. Bugs, suggestions and discussion
-      should be directed to boost at lists.boost.org (see <a href="http://www.boost.org/more/mailing_lists.htm#main" target="_top">www.boost.org/more/mailing_lists.htm#main</a>
-      for subscription details).
-    </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="history.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../index/s11.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples.html
deleted file mode 100755
index 45c482a..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Examples</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="mpl.html" title="MPL Interoperability">
-<link rel="next" href="examples/copy.html" title="An Optimized Version of std::copy">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="mpl.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples/copy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_typetraits.examples"></a><a class="link" href="examples.html" title="Examples">Examples</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="examples/copy.html">An Optimized Version
-      of std::copy</a></span></dt>
-<dt><span class="section"><a href="examples/fill.html">An Optimised Version
-      of std::fill</a></span></dt>
-<dt><span class="section"><a href="examples/destruct.html">An Example that Omits
-      Destructor Calls For Types with Trivial Destructors</a></span></dt>
-<dt><span class="section"><a href="examples/iter.html">An improved Version of
-      std::iter_swap</a></span></dt>
-<dt><span class="section"><a href="examples/to_double.html">Convert Numeric
-      Types and Enums to double</a></span></dt>
-<dt><span class="section"><a href="examples/improved_min.html">Improving std::min
-      with common_type</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="mpl.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples/copy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/copy.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/copy.html
deleted file mode 100755
index 906976d..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/copy.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>An Optimized Version of std::copy</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../examples.html" title="Examples">
-<link rel="prev" href="../examples.html" title="Examples">
-<link rel="next" href="fill.html" title="An Optimised Version of std::fill">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../examples.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fill.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.examples.copy"></a><a class="link" href="copy.html" title="An Optimized Version of std::copy">An Optimized Version
-      of std::copy</a>
-</h3></div></div></div>
-<p>
-        Demonstrates a version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span></code>
-        that uses <code class="computeroutput"><a class="link" href="../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a></code>
-        to determine whether to use <code class="computeroutput"><span class="identifier">memcpy</span></code>
-        to optimise the copy operation (see <a href="../../../../examples/copy_example.cpp" target="_top">copy_example.cpp</a>):
-      </p>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// opt::copy</span>
-<span class="comment">// same semantics as std::copy</span>
-<span class="comment">// calls memcpy where appropriate.</span>
-<span class="comment">//</span>
-
-<span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
-
-<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">I1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">I2</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">b</span><span class="special">></span>
-<span class="identifier">I2</span> <span class="identifier">copy_imp</span><span class="special">(</span><span class="identifier">I1</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">I1</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">I2</span> <span class="identifier">out</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span cla [...]
-<span class="special">{</span>
-   <span class="keyword">while</span><span class="special">(</span><span class="identifier">first</span> <span class="special">!=</span> <span class="identifier">last</span><span class="special">)</span>
-   <span class="special">{</span>
-      <span class="special">*</span><span class="identifier">out</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">first</span><span class="special">;</span>
-      <span class="special">++</span><span class="identifier">out</span><span class="special">;</span>
-      <span class="special">++</span><span class="identifier">first</span><span class="special">;</span>
-   <span class="special">}</span>
-   <span class="keyword">return</span> <span class="identifier">out</span><span class="special">;</span>
-<span class="special">}</span>
-
-<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-<span class="identifier">T</span><span class="special">*</span> <span class="identifier">copy_imp</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">first</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier"> [...]
-<span class="special">{</span>
-   <span class="identifier">memmove</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">first</span><span class="special">,</span> <span class="special">(</span><span class="identifier">last</span><span class="special">-</span><span class="identifier">first</span><span class="special">)*</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">T</span><span class="special">)) [...]
-   <span class="keyword">return</span> <span class="identifier">out</span><span class="special">+(</span><span class="identifier">last</span><span class="special">-</span><span class="identifier">first</span><span class="special">);</span>
-<span class="special">}</span>
-
-
-<span class="special">}</span>
-
-<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">I1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">I2</span><span class="special">></span>
-<span class="keyword">inline</span> <span class="identifier">I2</span> <span class="identifier">copy</span><span class="special">(</span><span class="identifier">I1</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">I1</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">I2</span> <span class="identifier">out</span><span class="special">)</span>
-<span class="special">{</span>
-   <span class="comment">//</span>
-   <span class="comment">// We can copy with memcpy if T has a trivial assignment operator,</span>
-   <span class="comment">// and if the iterator arguments are actually pointers (this last</span>
-   <span class="comment">// requirement we detect with overload resolution):</span>
-   <span class="comment">//</span>
-   <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">I1</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="identifier">value_type</span><span class="special">;</span>
-   <span class="keyword">return</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">copy_imp</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">out</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/has_trivia [...]
-<span class="special">}</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../examples.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fill.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/destruct.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/destruct.html
deleted file mode 100755
index 2aa47d4..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/destruct.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>An Example that Omits Destructor Calls For Types with Trivial Destructors</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../examples.html" title="Examples">
-<link rel="prev" href="fill.html" title="An Optimised Version of std::fill">
-<link rel="next" href="iter.html" title="An improved Version of std::iter_swap">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="fill.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.examples.destruct"></a><a class="link" href="destruct.html" title="An Example that Omits Destructor Calls For Types with Trivial Destructors">An Example that Omits
-      Destructor Calls For Types with Trivial Destructors</a>
-</h3></div></div></div>
-<p>
-        Demonstrates a simple algorithm that uses <code class="computeroutput"><span class="identifier">__has_trivial_destruct</span></code>
-        to determine whether to destructors need to be called (see <a href="../../../../examples/trivial_destructor_example.cpp" target="_top">trivial_destructor_example.cpp</a>):
-      </p>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// algorithm destroy_array:</span>
-<span class="comment">// The reverse of std::unitialized_copy, takes a block of</span>
-<span class="comment">// initialized memory and calls destructors on all objects therein.</span>
-<span class="comment">//</span>
-
-<span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">void</span> <span class="identifier">do_destroy_array</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a class="link [...]
-<span class="special">{</span>
-   <span class="keyword">while</span><span class="special">(</span><span class="identifier">first</span> <span class="special">!=</span> <span class="identifier">last</span><span class="special">)</span>
-   <span class="special">{</span>
-      <span class="identifier">first</span><span class="special">->~</span><span class="identifier">T</span><span class="special">();</span>
-      <span class="special">++</span><span class="identifier">first</span><span class="special">;</span>
-   <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">inline</span> <span class="keyword">void</span> <span class="identifier">do_destroy_array</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span cla [...]
-<span class="special">{</span>
-<span class="special">}</span>
-
-<span class="special">}</span> <span class="comment">// namespace detail</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">inline</span> <span class="keyword">void</span> <span class="identifier">destroy_array</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">p1</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">p2</span><span class="special">)</span>
-<span class="special">{</span>
-   <span class="identifier">detail</span><span class="special">::</span><span class="identifier">do_destroy_array</span><span class="special">(</span><span class="identifier">p1</span><span class="special">,</span> <span class="identifier">p2</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/has_trivial_destructor.html" title="has_trivial_destructor">has_trivial_destru [...]
-<span class="special">}</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="fill.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/fill.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/fill.html
deleted file mode 100755
index 80c0399..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/fill.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>An Optimised Version of std::fill</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../examples.html" title="Examples">
-<link rel="prev" href="copy.html" title="An Optimized Version of std::copy">
-<link rel="next" href="destruct.html" title="An Example that Omits Destructor Calls For Types with Trivial Destructors">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="copy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destruct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.examples.fill"></a><a class="link" href="fill.html" title="An Optimised Version of std::fill">An Optimised Version
-      of std::fill</a>
-</h3></div></div></div>
-<p>
-        Demonstrates a version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">fill</span></code>
-        that uses <code class="computeroutput"><a class="link" href="../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a></code>
-        to determine whether to use <code class="computeroutput"><span class="identifier">memset</span></code>
-        to optimise the fill operation (see <a href="../../../../examples/fill_example.cpp" target="_top">fill_example.cpp</a>):
-      </p>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// fill</span>
-<span class="comment">// same as std::fill, but uses memset where appropriate</span>
-<span class="comment">//</span>
-<span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">b</span><span class="special">></span>
-<span class="keyword">void</span> <span class="identifier">do_fill</span><span class="special">(</span><span class="identifier">I</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">I</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">val</span><span class="special">,</span> <span class="keyw [...]
-<span class="special">{</span>
-   <span class="keyword">while</span><span class="special">(</span><span class="identifier">first</span> <span class="special">!=</span> <span class="identifier">last</span><span class="special">)</span>
-   <span class="special">{</span>
-      <span class="special">*</span><span class="identifier">first</span> <span class="special">=</span> <span class="identifier">val</span><span class="special">;</span>
-      <span class="special">++</span><span class="identifier">first</span><span class="special">;</span>
-   <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">void</span> <span class="identifier">do_fill</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier [...]
-<span class="special">{</span>
-   <span class="identifier">std</span><span class="special">::</span><span class="identifier">memset</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">val</span><span class="special">,</span> <span class="identifier">last</span><span class="special">-</span><span class="identifier">first</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="special">}</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">inline</span> <span class="keyword">void</span> <span class="identifier">fill</span><span class="special">(</span><span class="identifier">I</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">I</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">val</span><span class="sp [...]
-<span class="special">{</span>
-   <span class="comment">//</span>
-   <span class="comment">// We can do an optimised fill if T has a trivial assignment </span>
-   <span class="comment">// operator and if it's size is one:</span>
-   <span class="comment">//</span>
-   <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span> 
-      <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span> <span class="special">&&</span> <span class="special">(</span><span class="keyword">sizeof</span><span class="special">(</span><spa [...]
-   <span class="identifier">detail</span><span class="special">::</span><span class="identifier">do_fill</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">val</span><span class="special">,</span> <span class="identifier">truth_type</span><span class="special">());</span>
-<span class="special">}</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="copy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destruct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/improved_min.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/improved_min.html
deleted file mode 100755
index 686695e..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/improved_min.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Improving std::min with common_type</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../examples.html" title="Examples">
-<link rel="prev" href="to_double.html" title="Convert Numeric Types and Enums to double">
-<link rel="next" href="../reference.html" title="Alphabetical Reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="to_double.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.examples.improved_min"></a><a class="link" href="improved_min.html" title="Improving std::min with common_type">Improving std::min
-      with common_type</a>
-</h3></div></div></div>
-<p>
-        An improved <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">min</span></code> function could be written like this:
-      </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
-<span class="keyword">typename</span> <a class="link" href="../reference/common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">min</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">,</span> < [...]
-<span class="special">{</span>
-   <span class="keyword">return</span> <span class="identifier">t</span> <span class="special"><</span> <span class="identifier">u</span> <span class="special">?</span> <span class="identifier">t</span> <span class="special">:</span> <span class="identifier">u</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
-        And now expressions such as:
-      </p>
-<pre class="programlisting"><span class="identifier">min</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2.0</span><span class="special">)</span>
-</pre>
-<p>
-        will actually compile and return the correct type!
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="to_double.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/iter.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/iter.html
deleted file mode 100755
index 797667d..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/iter.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>An improved Version of std::iter_swap</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../examples.html" title="Examples">
-<link rel="prev" href="destruct.html" title="An Example that Omits Destructor Calls For Types with Trivial Destructors">
-<link rel="next" href="to_double.html" title="Convert Numeric Types and Enums to double">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="destruct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_double.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.examples.iter"></a><a class="link" href="iter.html" title="An improved Version of std::iter_swap">An improved Version of
-      std::iter_swap</a>
-</h3></div></div></div>
-<p>
-        Demonstrates a version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iter_swap</span></code>
-        that use type traits to determine whether an it's arguments are proxying
-        iterators or not, if they're not then it just does a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">swap</span></code>
-        of it's dereferenced arguments (the same as <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iter_swap</span></code>
-        does), however if they are proxying iterators then takes special care over
-        the swap to ensure that the algorithm works correctly for both proxying iterators,
-        and even iterators of different types (see <a href="../../../../examples/iter_swap_example.cpp" target="_top">iter_swap_example.cpp</a>):
-      </p>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// iter_swap:</span>
-<span class="comment">// tests whether iterator is a proxying iterator or not, and</span>
-<span class="comment">// uses optimal form accordingly:</span>
-<span class="comment">//</span>
-<span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">I</span><span class="special">></span>
-<span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">do_swap</span><span class="special">(</span><span class="identifier">I</span> <span class="identifier">one</span><span class="special">,</span> <span class="identifier">I</span> <span class="identifier">two</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_consta [...]
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="identifier">v_t</span><span class="special">;</span>
-   <span class="identifier">v_t</span> <span class="identifier">v</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">one</span><span class="special">;</span>
-   <span class="special">*</span><span class="identifier">one</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">two</span><span class="special">;</span>
-   <span class="special">*</span><span class="identifier">two</span> <span class="special">=</span> <span class="identifier">v</span><span class="special">;</span>
-<span class="special">}</span>
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">I</span><span class="special">></span>
-<span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">do_swap</span><span class="special">(</span><span class="identifier">I</span> <span class="identifier">one</span><span class="special">,</span> <span class="identifier">I</span> <span class="identifier">two</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_consta [...]
-<span class="special">{</span>
-   <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">swap</span><span class="special">;</span>
-   <span class="identifier">swap</span><span class="special">(*</span><span class="identifier">one</span><span class="special">,</span> <span class="special">*</span><span class="identifier">two</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="special">}</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">I1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">I2</span><span class="special">></span>
-<span class="keyword">inline</span> <span class="keyword">void</span> <span class="identifier">iter_swap</span><span class="special">(</span><span class="identifier">I1</span> <span class="identifier">one</span><span class="special">,</span> <span class="identifier">I2</span> <span class="identifier">two</span><span class="special">)</span>
-<span class="special">{</span>
-   <span class="comment">//</span>
-   <span class="comment">// See is both arguments are non-proxying iterators, </span>
-   <span class="comment">// and if both iterator the same type:</span>
-   <span class="comment">//</span>
-   <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">I1</span><span class="special">>::</span><span class="identifier">reference</span> <span class="identifier">r1_t</span><span class="special">;</span>
-   <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">I2</span><span class="special">>::</span><span class="identifier">reference</span> <span class="identifier">r2_t</span><span class="special">;</span>
-
-   <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span>
-      <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/is_reference.html" title="is_reference">is_reference</a><span class="special"><</span><span class="identifier">r1_t</span><span class="special">>::</span><span class="identifier">value</span>
-      <span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/is_reference.html" title="is_reference">is_reference</a><span class="special"><</span><span class="identifier">r2_t</span><span class="special">>::</span><span class="identifier">value</span>
-      <span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/is_same.html" title="is_same">is_same</a><span class="special"><</span><span class="identifier">r1_t</span><span class="special">,</span> <span class="identifier">r2_t</span><span class="special">>::</span><span class="identifier">value</span><span class="special">></span> <span class="identifier">trut [...]
-
-   <span class="identifier">detail</span><span class="special">::</span><span class="identifier">do_swap</span><span class="special">(</span><span class="identifier">one</span><span class="special">,</span> <span class="identifier">two</span><span class="special">,</span> <span class="identifier">truth_type</span><span class="special">());</span>
-<span class="special">}</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="destruct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_double.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/to_double.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/to_double.html
deleted file mode 100755
index aa60a0f..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/examples/to_double.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Convert Numeric Types and Enums to double</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../examples.html" title="Examples">
-<link rel="prev" href="iter.html" title="An improved Version of std::iter_swap">
-<link rel="next" href="improved_min.html" title="Improving std::min with common_type">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="iter.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="improved_min.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.examples.to_double"></a><a class="link" href="to_double.html" title="Convert Numeric Types and Enums to double">Convert Numeric
-      Types and Enums to double</a>
-</h3></div></div></div>
-<p>
-        Demonstrates a conversion of <a href="../../../../../../libs/numeric/conversion/doc/html/boost_numericconversion/definitions.html#boost_numericconversion.definitions.numeric_types" target="_top">Numeric
-        Types</a> and enum types to double:
-      </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">inline</span> <span class="keyword">double</span> <span class="identifier">to_double</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">value</span><span class="special">)</span>
-<span class="special">{</span>
-    <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">promote</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">promoted</span><span class="special">;</span>
-    <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">numeric</span><span class="special">::</span><span class="identifier">converter</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span><span class="identifier">promoted</span><span class="special">>::</span><span class="identifier">convert</span><span class="special">(</span><span class="identifier">value< [...]
-<span class="special">}</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="iter.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="improved_min.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/history.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/history.html
deleted file mode 100755
index 2b84e6b..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/history.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>History</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="reference/type_with_alignment.html" title="type_with_alignment">
-<link rel="next" href="credits.html" title="Credits">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="reference/type_with_alignment.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_typetraits.history"></a><a class="link" href="history.html" title="History">History</a>
-</h2></div></div></div>
-<a name="boost_typetraits.history.boost_1_47_0"></a><h5>
-<a name="boost_typetraits.history.boost_1_47_0-heading"></a>
-      <a class="link" href="history.html#boost_typetraits.history.boost_1_47_0">Boost 1.47.0</a>
-    </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-          <span class="bold"><strong>Breaking change</strong></span>: changed <a class="link" href="reference/is_convertible.html" title="is_convertible">is_convertible</a>
-          to C++0x behaviour when possible.
-        </li>
-<li class="listitem">
-          Fixed issues <a href="https://svn.boost.org/trac/boost/ticket/5271" target="_top">#5271</a>,
-          <a href="https://svn.boost.org/trac/boost/ticket/4530" target="_top">#4530</a>.
-        </li>
-</ul></div>
-<a name="boost_typetraits.history.boost_1_45_0"></a><h5>
-<a name="boost_typetraits.history.boost_1_45_0-heading"></a>
-      <a class="link" href="history.html#boost_typetraits.history.boost_1_45_0">Boost 1.45.0</a>
-    </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-          Added new traits <a class="link" href="reference/add_rvalue_reference.html" title="add_rvalue_reference">add_rvalue_reference</a>,
-          <a class="link" href="reference/add_lvalue_reference.html" title="add_lvalue_reference">add_lvalue_reference</a>
-          and <a class="link" href="reference/common_type.html" title="common_type">common_type</a>.
-        </li>
-<li class="listitem">
-          Minor fixes to <a class="link" href="reference/is_signed.html" title="is_signed">is_signed</a>,
-          <a class="link" href="reference/is_unsigned.html" title="is_unsigned">is_unsigned</a>
-          and <a class="link" href="reference/is_virtual_base_of.html" title="is_virtual_base_of">is_virtual_base_of</a>.
-        </li>
-</ul></div>
-<a name="boost_typetraits.history.boost_1_44_0"></a><h5>
-<a name="boost_typetraits.history.boost_1_44_0-heading"></a>
-      <a class="link" href="history.html#boost_typetraits.history.boost_1_44_0">Boost 1.44.0</a>
-    </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-          Added support for rvalue references throughout the library, plus two new
-          traits classes <a class="link" href="reference/is_rvalue_reference.html" title="is_rvalue_reference">is_rvalue_reference</a>
-          and <a class="link" href="reference/is_lvalue_reference.html" title="is_lvalue_reference">is_lvalue_reference</a>.
-          Fixes <a href="https://svn.boost.org/trac/boost/ticket/4407" target="_top">#4407</a>
-          and <a href="https://svn.boost.org/trac/boost/ticket/3804" target="_top">#3804</a>.
-        </li>
-<li class="listitem">
-          Fixed ticket <a href="https://svn.boost.org/trac/boost/ticket/3621" target="_top">#3621</a>.
-        </li>
-</ul></div>
-<a name="boost_typetraits.history.boost_1_42_0"></a><h5>
-<a name="boost_typetraits.history.boost_1_42_0-heading"></a>
-      <a class="link" href="history.html#boost_typetraits.history.boost_1_42_0">Boost 1.42.0</a>
-    </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-          Fixed issue <a href="https://svn.boost.org/trac/boost/ticket/3704" target="_top">#3704</a>.
-        </li></ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="reference/type_with_alignment.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/intrinsics.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/intrinsics.html
deleted file mode 100755
index 278d654..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/intrinsics.html
+++ /dev/null
@@ -1,357 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Support for Compiler Intrinsics</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="user_defined.html" title="User Defined Specializations">
-<link rel="next" href="mpl.html" title="MPL Interoperability">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="user_defined.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mpl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_typetraits.intrinsics"></a><a class="link" href="intrinsics.html" title="Support for Compiler Intrinsics">Support for Compiler Intrinsics</a>
-</h2></div></div></div>
-<p>
-      There are some traits that can not be implemented within the current C++ language:
-      to make these traits "just work" with user defined types, some kind
-      of additional help from the compiler is required. Currently (April 2008) Visual
-      C++ 8 and 9, GNU GCC 4.3 and MWCW 9 provide the necessary intrinsics, and other
-      compilers will no doubt follow in due course.
-    </p>
-<p>
-      The Following traits classes always need compiler support to do the right thing
-      for all types (but all have safe fallback positions if this support is unavailable):
-    </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-          <a class="link" href="reference/is_union.html" title="is_union">is_union</a>
-        </li>
-<li class="listitem">
-          <a class="link" href="reference/is_pod.html" title="is_pod">is_pod</a>
-        </li>
-<li class="listitem">
-          <a class="link" href="reference/has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_constructor</a>
-        </li>
-<li class="listitem">
-          <a class="link" href="reference/has_trivial_copy.html" title="has_trivial_copy">has_trivial_copy</a>
-        </li>
-<li class="listitem">
-          <a class="link" href="reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a>
-        </li>
-<li class="listitem">
-          <a class="link" href="reference/has_trivial_destructor.html" title="has_trivial_destructor">has_trivial_destructor</a>
-        </li>
-<li class="listitem">
-          <a class="link" href="reference/has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_constructor</a>
-        </li>
-<li class="listitem">
-          <a class="link" href="reference/has_nothrow_copy.html" title="has_nothrow_copy">has_nothrow_copy</a>
-        </li>
-<li class="listitem">
-          <a class="link" href="reference/has_nothrow_assign.html" title="has_nothrow_assign">has_nothrow_assign</a>
-        </li>
-<li class="listitem">
-          <a class="link" href="reference/has_virtual_destructor.html" title="has_virtual_destructor">has_virtual_destructor</a>
-        </li>
-</ul></div>
-<p>
-      The following traits classes can't be portably implemented in the C++ language,
-      although in practice, the implementations do in fact do the right thing on
-      all the compilers we know about:
-    </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-          <a class="link" href="reference/is_empty.html" title="is_empty">is_empty</a>
-        </li>
-<li class="listitem">
-          <a class="link" href="reference/is_polymorphic.html" title="is_polymorphic">is_polymorphic</a>
-        </li>
-</ul></div>
-<p>
-      The following traits classes are dependent on one or more of the above:
-    </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-          <a class="link" href="reference/is_class.html" title="is_class">is_class</a>
-        </li>
-<li class="listitem">
-          <a class="link" href="reference/is_stateless.html" title="is_stateless">is_stateless</a>
-        </li>
-</ul></div>
-<p>
-      The hooks for compiler-intrinsic support are defined in <a href="../../../../../boost/type_traits/intrinsics.hpp" target="_top">boost/type_traits/intrinsics.hpp</a>,
-      adding support for new compilers is simply a matter of defining one of more
-      of the following macros:
-    </p>
-<div class="table">
-<a name="boost_typetraits.intrinsics.macros_for_compiler_intrinsics"></a><p class="title"><b>Table 1.9. Macros for Compiler Intrinsics</b></p>
-<div class="table-contents"><table class="table" summary="Macros for Compiler Intrinsics">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-              <p>
-                BOOST_IS_UNION(T)
-              </p>
-            </th>
-<th>
-              <p>
-                Should evaluate to true if T is a union type
-              </p>
-            </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-              <p>
-                BOOST_IS_POD(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if T is a POD type
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_IS_EMPTY(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if T is an empty struct or union
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_HAS_TRIVIAL_CONSTRUCTOR(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if the default constructor for T is trivial
-                (i.e. has no effect)
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_HAS_TRIVIAL_COPY(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if T has a trivial copy constructor (and
-                can therefore be replaced by a call to memcpy)
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_HAS_TRIVIAL_ASSIGN(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if T has a trivial assignment operator (and
-                can therefore be replaced by a call to memcpy)
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_HAS_TRIVIAL_DESTRUCTOR(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if T has a trivial destructor (i.e. ~T()
-                has no effect)
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_HAS_NOTHROW_CONSTRUCTOR(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if <code class="computeroutput"><span class="identifier">T</span>
-                <span class="identifier">x</span><span class="special">;</span></code>
-                can not throw
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_HAS_NOTHROW_COPY(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if <code class="computeroutput"><span class="identifier">T</span><span class="special">(</span><span class="identifier">t</span><span class="special">)</span></code> can not throw
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_HAS_NOTHROW_ASSIGN(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if <code class="computeroutput"><span class="identifier">T</span>
-                <span class="identifier">t</span><span class="special">,</span>
-                <span class="identifier">u</span><span class="special">;</span>
-                <span class="identifier">t</span> <span class="special">=</span>
-                <span class="identifier">u</span></code> can not throw
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_HAS_VIRTUAL_DESTRUCTOR(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true T has a virtual destructor
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_IS_ABSTRACT(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if T is an abstract type
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_IS_BASE_OF(T,U)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if T is a base class of U
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_IS_CLASS(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if T is a class type
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_IS_CONVERTIBLE(T,U)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if T is convertible to U
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_IS_ENUM(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true is T is an enum
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_IS_POLYMORPHIC(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to true if T is a polymorphic type
-              </p>
-            </td>
-</tr>
-<tr>
-<td>
-              <p>
-                BOOST_ALIGNMENT_OF(T)
-              </p>
-            </td>
-<td>
-              <p>
-                Should evaluate to the alignment requirements of type T.
-              </p>
-            </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="user_defined.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mpl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/intro.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/intro.html
deleted file mode 100755
index 2e51ff4..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/intro.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Introduction</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="next" href="background.html" title="Background and Tutorial">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="background.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_typetraits.intro"></a><a class="link" href="intro.html" title="Introduction">Introduction</a>
-</h2></div></div></div>
-<p>
-      The Boost type-traits library contains a set of very specific traits classes,
-      each of which encapsulate a single trait from the C++ type system; for example,
-      is a type a pointer or a reference type? Or does a type have a trivial constructor,
-      or a const-qualifier?
-    </p>
-<p>
-      The type-traits classes share a unified design: each class inherits from the
-      type <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a>
-      if the type has the specified property and inherits from <a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a>
-      otherwise.
-    </p>
-<p>
-      The type-traits library also contains a set of classes that perform a specific
-      transformation on a type; for example, they can remove a top-level const or
-      volatile qualifier from a type. Each class that performs a transformation defines
-      a single typedef-member <code class="computeroutput"><span class="identifier">type</span></code>
-      that is the result of the transformation.
-    </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="background.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/mpl.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/mpl.html
deleted file mode 100755
index 2dad062..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/mpl.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>MPL Interoperability</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="intrinsics.html" title="Support for Compiler Intrinsics">
-<link rel="next" href="examples.html" title="Examples">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intrinsics.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_typetraits.mpl"></a><a class="link" href="mpl.html" title="MPL Interoperability">MPL Interoperability</a>
-</h2></div></div></div>
-<p>
-      All the value based traits in this library conform to MPL's requirements for
-      an <a href="../../../../../libs/mpl/doc/refmanual/integral-constant.html" target="_top">Integral
-      Constant type</a>: that includes a number of rather intrusive workarounds
-      for broken compilers.
-    </p>
-<p>
-      Purely as an implementation detail, this means that <code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a></code>
-      inherits from <a href="../../../../../libs/mpl/doc/refmanual/bool.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code></a>,
-      <code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a></code>
-      inherits from <a href="../../../../../libs/mpl/doc/refmanual/bool.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code></a>,
-      and <code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span>
-      <span class="identifier">v</span><span class="special">></span></code>
-      inherits from <a href="../../../../../libs/mpl/doc/refmanual/integral-c.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">integral_c</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">v</span><span class="special">></span></code></a>
-      (provided <code class="computeroutput"><span class="identifier">T</span></code> is not <code class="computeroutput"><span class="keyword">bool</span></code>)
-    </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intrinsics.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference.html
deleted file mode 100755
index aa071f0..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Alphabetical Reference</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="examples/improved_min.html" title="Improving std::min with common_type">
-<link rel="next" href="reference/add_const.html" title="add_const">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="examples/improved_min.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/add_const.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_typetraits.reference"></a><a class="link" href="reference.html" title="Alphabetical Reference">Alphabetical Reference</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="reference/add_const.html">add_const</a></span></dt>
-<dt><span class="section"><a href="reference/add_cv.html">add_cv</a></span></dt>
-<dt><span class="section"><a href="reference/add_lvalue_reference.html">add_lvalue_reference</a></span></dt>
-<dt><span class="section"><a href="reference/add_pointer.html">add_pointer</a></span></dt>
-<dt><span class="section"><a href="reference/add_reference.html">add_reference</a></span></dt>
-<dt><span class="section"><a href="reference/add_rvalue_reference.html">add_rvalue_reference</a></span></dt>
-<dt><span class="section"><a href="reference/add_volatile.html">add_volatile</a></span></dt>
-<dt><span class="section"><a href="reference/aligned_storage.html">aligned_storage</a></span></dt>
-<dt><span class="section"><a href="reference/alignment_of.html">alignment_of</a></span></dt>
-<dt><span class="section"><a href="reference/conditional.html">conditional</a></span></dt>
-<dt><span class="section"><a href="reference/common_type.html">common_type</a></span></dt>
-<dt><span class="section"><a href="reference/decay.html">decay</a></span></dt>
-<dt><span class="section"><a href="reference/extent.html">extent</a></span></dt>
-<dt><span class="section"><a href="reference/floating_point_promotion.html">floating_point_promotion</a></span></dt>
-<dt><span class="section"><a href="reference/function_traits.html">function_traits</a></span></dt>
-<dt><span class="section"><a href="reference/has_bit_and.html">has_bit_and</a></span></dt>
-<dt><span class="section"><a href="reference/has_bit_and_assign.html">has_bit_and_assign</a></span></dt>
-<dt><span class="section"><a href="reference/has_bit_or.html">has_bit_or</a></span></dt>
-<dt><span class="section"><a href="reference/has_bit_or_assign.html">has_bit_or_assign</a></span></dt>
-<dt><span class="section"><a href="reference/has_bit_xor.html">has_bit_xor</a></span></dt>
-<dt><span class="section"><a href="reference/has_bit_xor_assign.html">has_bit_xor_assign</a></span></dt>
-<dt><span class="section"><a href="reference/has_complement.html">has_complement</a></span></dt>
-<dt><span class="section"><a href="reference/has_dereference.html">has_dereference</a></span></dt>
-<dt><span class="section"><a href="reference/has_divides.html">has_divides</a></span></dt>
-<dt><span class="section"><a href="reference/has_divides_assign.html">has_divides_assign</a></span></dt>
-<dt><span class="section"><a href="reference/has_equal_to.html">has_equal_to</a></span></dt>
-<dt><span class="section"><a href="reference/has_greater.html">has_greater</a></span></dt>
-<dt><span class="section"><a href="reference/has_greater_equal.html">has_greater_equal</a></span></dt>
-<dt><span class="section"><a href="reference/has_left_shift.html">has_left_shift</a></span></dt>
-<dt><span class="section"><a href="reference/has_left_shift_assign.html">has_left_shift_assign</a></span></dt>
-<dt><span class="section"><a href="reference/has_less.html">has_less</a></span></dt>
-<dt><span class="section"><a href="reference/has_less_equal.html">has_less_equal</a></span></dt>
-<dt><span class="section"><a href="reference/has_logical_and.html">has_logical_and</a></span></dt>
-<dt><span class="section"><a href="reference/has_logical_not.html">has_logical_not</a></span></dt>
-<dt><span class="section"><a href="reference/has_logical_or.html">has_logical_or</a></span></dt>
-<dt><span class="section"><a href="reference/has_minus.html">has_minus</a></span></dt>
-<dt><span class="section"><a href="reference/has_minus_assign.html">has_minus_assign</a></span></dt>
-<dt><span class="section"><a href="reference/has_modulus.html">has_modulus</a></span></dt>
-<dt><span class="section"><a href="reference/has_modulus_assign.html">has_modulus_assign</a></span></dt>
-<dt><span class="section"><a href="reference/has_multiplies.html">has_multiplies</a></span></dt>
-<dt><span class="section"><a href="reference/has_multiplies_assign.html">has_multiplies_assign</a></span></dt>
-<dt><span class="section"><a href="reference/has_negate.html">has_negate</a></span></dt>
-<dt><span class="section"><a href="reference/has_new_operator.html">has_new_operator</a></span></dt>
-<dt><span class="section"><a href="reference/has_not_equal_to.html">has_not_equal_to</a></span></dt>
-<dt><span class="section"><a href="reference/has_nothrow_assign.html">has_nothrow_assign</a></span></dt>
-<dt><span class="section"><a href="reference/has_nothrow_constructor.html">has_nothrow_constructor</a></span></dt>
-<dt><span class="section"><a href="reference/has_nothrow_copy.html">has_nothrow_copy</a></span></dt>
-<dt><span class="section"><a href="reference/has_nothrow_cp_cons.html">has_nothrow_copy_constructor</a></span></dt>
-<dt><span class="section"><a href="reference/has_no_throw_def_cons.html">has_nothrow_default_constructor</a></span></dt>
-<dt><span class="section"><a href="reference/has_plus.html">has_plus</a></span></dt>
-<dt><span class="section"><a href="reference/has_plus_assign.html">has_plus_assign</a></span></dt>
-<dt><span class="section"><a href="reference/has_post_decrement.html">has_post_decrement</a></span></dt>
-<dt><span class="section"><a href="reference/has_post_increment.html">has_post_increment</a></span></dt>
-<dt><span class="section"><a href="reference/has_pre_decrement.html">has_pre_decrement</a></span></dt>
-<dt><span class="section"><a href="reference/has_pre_increment.html">has_pre_increment</a></span></dt>
-<dt><span class="section"><a href="reference/has_right_shift.html">has_right_shift</a></span></dt>
-<dt><span class="section"><a href="reference/has_right_shift_assign.html">has_right_shift_assign</a></span></dt>
-<dt><span class="section"><a href="reference/has_trivial_assign.html">has_trivial_assign</a></span></dt>
-<dt><span class="section"><a href="reference/has_trivial_constructor.html">has_trivial_constructor</a></span></dt>
-<dt><span class="section"><a href="reference/has_trivial_copy.html">has_trivial_copy</a></span></dt>
-<dt><span class="section"><a href="reference/has_trivial_cp_cons.html">has_trivial_copy_constructor</a></span></dt>
-<dt><span class="section"><a href="reference/has_trivial_def_cons.html">has_trivial_default_constructor</a></span></dt>
-<dt><span class="section"><a href="reference/has_trivial_destructor.html">has_trivial_destructor</a></span></dt>
-<dt><span class="section"><a href="reference/has_unary_minus.html">has_unary_minus</a></span></dt>
-<dt><span class="section"><a href="reference/has_unary_plus.html">has_unary_plus</a></span></dt>
-<dt><span class="section"><a href="reference/has_virtual_destructor.html">has_virtual_destructor</a></span></dt>
-<dt><span class="section"><a href="reference/integral_constant.html">integral_constant</a></span></dt>
-<dt><span class="section"><a href="reference/integral_promotion.html">integral_promotion</a></span></dt>
-<dt><span class="section"><a href="reference/is_abstract.html">is_abstract</a></span></dt>
-<dt><span class="section"><a href="reference/is_arithmetic.html">is_arithmetic</a></span></dt>
-<dt><span class="section"><a href="reference/is_array.html">is_array</a></span></dt>
-<dt><span class="section"><a href="reference/is_base_of.html">is_base_of</a></span></dt>
-<dt><span class="section"><a href="reference/is_class.html">is_class</a></span></dt>
-<dt><span class="section"><a href="reference/is_complex.html">is_complex</a></span></dt>
-<dt><span class="section"><a href="reference/is_compound.html">is_compound</a></span></dt>
-<dt><span class="section"><a href="reference/is_const.html">is_const</a></span></dt>
-<dt><span class="section"><a href="reference/is_convertible.html">is_convertible</a></span></dt>
-<dt><span class="section"><a href="reference/is_empty.html">is_empty</a></span></dt>
-<dt><span class="section"><a href="reference/is_enum.html">is_enum</a></span></dt>
-<dt><span class="section"><a href="reference/is_floating_point.html">is_floating_point</a></span></dt>
-<dt><span class="section"><a href="reference/is_function.html">is_function</a></span></dt>
-<dt><span class="section"><a href="reference/is_fundamental.html">is_fundamental</a></span></dt>
-<dt><span class="section"><a href="reference/is_integral.html">is_integral</a></span></dt>
-<dt><span class="section"><a href="reference/is_lvalue_reference.html">is_lvalue_reference</a></span></dt>
-<dt><span class="section"><a href="reference/is_member_function_pointer.html">is_member_function_pointer</a></span></dt>
-<dt><span class="section"><a href="reference/is_member_object_pointer.html">is_member_object_pointer</a></span></dt>
-<dt><span class="section"><a href="reference/is_member_pointer.html">is_member_pointer</a></span></dt>
-<dt><span class="section"><a href="reference/is_object.html">is_object</a></span></dt>
-<dt><span class="section"><a href="reference/is_pod.html">is_pod</a></span></dt>
-<dt><span class="section"><a href="reference/is_pointer.html">is_pointer</a></span></dt>
-<dt><span class="section"><a href="reference/is_polymorphic.html">is_polymorphic</a></span></dt>
-<dt><span class="section"><a href="reference/is_reference.html">is_reference</a></span></dt>
-<dt><span class="section"><a href="reference/is_rvalue_reference.html">is_rvalue_reference</a></span></dt>
-<dt><span class="section"><a href="reference/is_same.html">is_same</a></span></dt>
-<dt><span class="section"><a href="reference/is_scalar.html">is_scalar</a></span></dt>
-<dt><span class="section"><a href="reference/is_signed.html">is_signed</a></span></dt>
-<dt><span class="section"><a href="reference/is_stateless.html">is_stateless</a></span></dt>
-<dt><span class="section"><a href="reference/is_union.html">is_union</a></span></dt>
-<dt><span class="section"><a href="reference/is_unsigned.html">is_unsigned</a></span></dt>
-<dt><span class="section"><a href="reference/is_virtual_base_of.html">is_virtual_base_of</a></span></dt>
-<dt><span class="section"><a href="reference/is_void.html">is_void</a></span></dt>
-<dt><span class="section"><a href="reference/is_volatile.html">is_volatile</a></span></dt>
-<dt><span class="section"><a href="reference/make_signed.html">make_signed</a></span></dt>
-<dt><span class="section"><a href="reference/make_unsigned.html">make_unsigned</a></span></dt>
-<dt><span class="section"><a href="reference/promote.html">promote</a></span></dt>
-<dt><span class="section"><a href="reference/rank.html">rank</a></span></dt>
-<dt><span class="section"><a href="reference/remove_all_extents.html">remove_all_extents</a></span></dt>
-<dt><span class="section"><a href="reference/remove_const.html">remove_const</a></span></dt>
-<dt><span class="section"><a href="reference/remove_cv.html">remove_cv</a></span></dt>
-<dt><span class="section"><a href="reference/remove_extent.html">remove_extent</a></span></dt>
-<dt><span class="section"><a href="reference/remove_pointer.html">remove_pointer</a></span></dt>
-<dt><span class="section"><a href="reference/remove_reference.html">remove_reference</a></span></dt>
-<dt><span class="section"><a href="reference/remove_volatile.html">remove_volatile</a></span></dt>
-<dt><span class="section"><a href="reference/type_with_alignment.html">type_with_alignment</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="examples/improved_min.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/add_const.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_const.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_const.html
deleted file mode 100755
index 6047c43..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_const.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>add_const</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="../reference.html" title="Alphabetical Reference">
-<link rel="next" href="add_cv.html" title="add_cv">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_cv.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.add_const"></a><a class="link" href="add_const.html" title="add_const">add_const</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">add_const</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span>
-        <span class="keyword">const</span></code> for all <code class="computeroutput"><span class="identifier">T</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">add_const</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.add_const.examples"></a><p class="title"><b>Table 1.10. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_const</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_const</span><span class="special"><</span><span class="keyword">int</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_const</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*</span>
-                  <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_cv.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_cv.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_cv.html
deleted file mode 100755
index f26395a..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_cv.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>add_cv</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="add_const.html" title="add_const">
-<link rel="next" href="add_lvalue_reference.html" title="add_lvalue_reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_const.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_lvalue_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.add_cv"></a><a class="link" href="add_cv.html" title="add_cv">add_cv</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">add_cv</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span>
-        <span class="keyword">const</span> <span class="keyword">volatile</span></code>
-        for all <code class="computeroutput"><span class="identifier">T</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">add_cv</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.add_cv.examples"></a><p class="title"><b>Table 1.11. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_cv</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span>
-                  <span class="keyword">volatile</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_cv</span><span class="special"><</span><span class="keyword">int</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_cv</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*</span>
-                  <span class="keyword">const</span> <span class="keyword">volatile</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_cv</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span>
-                  <span class="keyword">volatile</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_const.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_lvalue_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_lvalue_reference.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_lvalue_reference.html
deleted file mode 100755
index 7245a0a..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_lvalue_reference.html
+++ /dev/null
@@ -1,175 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>add_lvalue_reference</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="add_cv.html" title="add_cv">
-<link rel="next" href="add_pointer.html" title="add_pointer">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_cv.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.add_lvalue_reference"></a><a class="link" href="add_lvalue_reference.html" title="add_lvalue_reference">add_lvalue_reference</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">add_lvalue_reference</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> If <code class="computeroutput"><span class="identifier">T</span></code>
-        names an object or function type then the member typedef <code class="computeroutput"><span class="identifier">type</span></code>
-        shall name <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span></code>;
-        otherwise, if <code class="computeroutput"><span class="identifier">T</span></code> names a type
-        <span class="emphasis"><em>rvalue reference to U</em></span> then the member typedef type shall
-        name <code class="computeroutput"><span class="identifier">U</span><span class="special">&</span></code>;
-        otherwise, type shall name <code class="computeroutput"><span class="identifier">T</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 20.7.6.2.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">add_lvalue_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.add_lvalue_reference.examples"></a><p class="title"><b>Table 1.12. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_lvalue_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_lvalue_reference</span><span class="special"><</span><span class="keyword">int</span>
-                  <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_lvalue_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_lvalue_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">*&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_lvalue_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">&&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_lvalue_reference</span><span class="special"><</span><span class="keyword">void</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">void</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_cv.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_pointer.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_pointer.html
deleted file mode 100755
index 8acfd6a..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_pointer.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>add_pointer</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="add_lvalue_reference.html" title="add_lvalue_reference">
-<link rel="next" href="add_reference.html" title="add_reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_lvalue_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.add_pointer"></a><a class="link" href="add_pointer.html" title="add_pointer">add_pointer</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">add_pointer</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span><span class="special">*</span></code>.
-      </p>
-<p>
-        The rationale for this template is that it produces the same type as <code class="computeroutput"><span class="identifier">TYPEOF</span><span class="special">(&</span><span class="identifier">t</span><span class="special">)</span></code>, where
-        <code class="computeroutput"><span class="identifier">t</span></code> is an object of type <code class="computeroutput"><span class="identifier">T</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.1.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">add_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.add_pointer.examples"></a><p class="title"><b>Table 1.13. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_pointer</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">*</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_pointer</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">**</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_pointer</span><span class="special"><</span><span class="keyword">int</span><span class="special">*&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">**</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_lvalue_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_reference.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_reference.html
deleted file mode 100755
index 9a31d76..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_reference.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>add_reference</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="add_pointer.html" title="add_pointer">
-<link rel="next" href="add_rvalue_reference.html" title="add_rvalue_reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_rvalue_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.add_reference"></a><a class="link" href="add_reference.html" title="add_reference">add_reference</a>
-</h3></div></div></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-          This trait has been made obsolete by <a class="link" href="add_lvalue_reference.html" title="add_lvalue_reference">add_lvalue_reference</a>
-          and <a class="link" href="add_rvalue_reference.html" title="add_rvalue_reference">add_rvalue_reference</a>,
-          and new code should use these new traits rather than <a class="link" href="is_reference.html" title="is_reference">is_reference</a>
-          which is retained for backwards compatibility only.
-        </p></td></tr>
-</table></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">add_reference</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> If <code class="computeroutput"><span class="identifier">T</span></code>
-        is not a reference type then <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span></code>, otherwise <code class="computeroutput"><span class="identifier">T</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.2.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">add_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.add_reference.examples"></a><p class="title"><b>Table 1.14. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_reference</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">*&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*&</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_rvalue_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_rvalue_reference.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_rvalue_reference.html
deleted file mode 100755
index 194e0af..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_rvalue_reference.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>add_rvalue_reference</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="add_reference.html" title="add_reference">
-<link rel="next" href="add_volatile.html" title="add_volatile">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_volatile.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.add_rvalue_reference"></a><a class="link" href="add_rvalue_reference.html" title="add_rvalue_reference">add_rvalue_reference</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">add_rvalue_reference</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> If <code class="computeroutput"><span class="identifier">T</span></code>
-        names an object or function type then the member typedef type shall name
-        <code class="computeroutput"><span class="identifier">T</span><span class="special">&&</span></code>;
-        otherwise, type shall name <code class="computeroutput"><span class="identifier">T</span></code>.
-        <span class="emphasis"><em>[Note: This rule reflects the semantics of reference collapsing.
-        For example, when a type <code class="computeroutput"><span class="identifier">T</span></code>
-        names a type U&, the type <code class="computeroutput"><span class="identifier">add_rvalue_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code> is not an rvalue reference. -end note]</em></span>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 20.7.6.2.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates and rvalue references
-        then this template will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">add_rvalue_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.add_rvalue_reference.examples"></a><p class="title"><b>Table 1.15. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_rvalue_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">&&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_rvalue_reference</span><span class="special"><</span><span class="keyword">int</span>
-                  <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_rvalue_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*&&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_rvalue_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">*&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_rvalue_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">&&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">&&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_rvalue_reference</span><span class="special"><</span><span class="keyword">void</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">void</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_volatile.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_volatile.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_volatile.html
deleted file mode 100755
index 4290423..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/add_volatile.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>add_volatile</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="add_rvalue_reference.html" title="add_rvalue_reference">
-<link rel="next" href="aligned_storage.html" title="aligned_storage">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_rvalue_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="aligned_storage.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.add_volatile"></a><a class="link" href="add_volatile.html" title="add_volatile">add_volatile</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">add_volatile</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span>
-        <span class="keyword">volatile</span></code> for all <code class="computeroutput"><span class="identifier">T</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">add_volatile</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.add_volatile.examples"></a><p class="title"><b>Table 1.16. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_volatile</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">volatile</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_volatile</span><span class="special"><</span><span class="keyword">int</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_volatile</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*</span>
-                  <span class="keyword">volatile</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">add_volatile</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span>
-                  <span class="keyword">volatile</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_rvalue_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="aligned_storage.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/aligned_storage.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/aligned_storage.html
deleted file mode 100755
index 304ee1e..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/aligned_storage.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>aligned_storage</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="add_volatile.html" title="add_volatile">
-<link rel="next" href="alignment_of.html" title="alignment_of">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_volatile.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="alignment_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.aligned_storage"></a><a class="link" href="aligned_storage.html" title="aligned_storage">aligned_storage</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Size</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">aligned_storage</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> a built-in or POD type with size
-        <code class="computeroutput"><span class="identifier">Size</span></code> and an alignment that
-        is a multiple of <code class="computeroutput"><span class="identifier">Align</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">aligned_storage</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="add_volatile.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="alignment_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/alignment_of.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/alignment_of.html
deleted file mode 100755
index 33d5690..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/alignment_of.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>alignment_of</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="aligned_storage.html" title="aligned_storage">
-<link rel="next" href="conditional.html" title="conditional">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="aligned_storage.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conditional.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.alignment_of"></a><a class="link" href="alignment_of.html" title="alignment_of">alignment_of</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">alignment_of</span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">ALIGNOF</span><span class="special">(</span><span class="i [...]
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> Class template <code class="computeroutput"><span class="identifier">alignment_of</span></code>
-        inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">ALIGNOF</span><span class="special">(</span><span class="identifier">T</span><span class="special">)></span></code>,
-        where <code class="computeroutput"><span class="identifier">ALIGNOF</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> is the
-        alignment of type T.
-      </p>
-<p>
-        <span class="emphasis"><em>Note: strictly speaking you should only rely on the value of <code class="computeroutput"><span class="identifier">ALIGNOF</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> being
-        a multiple of the true alignment of T, although in practice it does compute
-        the correct value in all the cases we know about.</em></span>
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">alignment_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">alignment_of</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">ALIGNOF</span><span class="special">(</span><span class="keyword">int</span><span class="special">)></span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">alignment_of</span><span class="special"><</span><span class="keyword">char</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t [...]
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">alignment_of</span><span class="special"><</span><span class="keyword">double</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          with value <code class="computeroutput"><span class="identifier">ALIGNOF</span><span class="special">(</span><span class="keyword">double</span><span class="special">)</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">alignment_of</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="aligned_storage.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conditional.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/common_type.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/common_type.html
deleted file mode 100755
index cee787d..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/common_type.html
+++ /dev/null
@@ -1,353 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>common_type</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="conditional.html" title="conditional">
-<link rel="next" href="decay.html" title="decay">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="conditional.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="decay.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.common_type"></a><a class="link" href="common_type.html" title="common_type">common_type</a>
-</h3></div></div></div>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">common_type</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
-  <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="special">...</span><span class="identifier">T</span><span class="special">></span>  <span class="keyword">struct</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
-        <a class="link" href="common_type.html" title="common_type">common_type</a>
-        is a traits class used to deduce a type common to a several types, useful
-        as the return type of functions operating on multiple input types such as
-        in mixed-mode arithmetic..
-      </p>
-<p>
-        The nested typedef <code class="computeroutput"><span class="special">::</span><span class="identifier">type</span></code>
-        could be defined as follows:
-      </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="special">...</span><span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">...</span><span class="identifier">V</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">U</span><span class="special">,...</span><span class="identifier">V</span><span class="special">></span> <span class="special">{</span>
-    <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">>::</span><span class="identifier">ty [...]
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">{</span>
-    <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">{</span>
-    <span class="keyword">typedef</span> <span class="identifier">decltype</span><span class="special">(</span><a href="../../../../../utility/doc/html/declval.html" target="_top">declval</a><span class="special"><</span><span class="keyword">bool</span><span class="special">>()</span> <span class="special">?</span> <a href="../../../../../utility/doc/html/declval.html" target="_top">declval</a><span class="special"><</span><span class="identifier">T</span><span class="special"> [...]
-<span class="special">};</span>
-</pre>
-<p>
-        All parameter types must be complete. This trait is permitted to be specialized
-        by a user if at least one template parameter is a user-defined type. <span class="bold"><strong>Note:</strong></span> Such specializations are required when only
-        explicit conversions are desired among the <a class="link" href="common_type.html" title="common_type">common_type</a>
-        arguments.
-      </p>
-<p>
-        Note that when the compiler does not support variadic templates (and the
-        macro BOOST_NO_VARIADIC_TEMPLATES is defined) then the maximum number of
-        template arguments is 3.
-      </p>
-<a name="boost_typetraits.reference.common_type.configuration_macros"></a><h5>
-<a name="boost_typetraits.reference.common_type.configuration_macros-heading"></a>
-        <a class="link" href="common_type.html#boost_typetraits.reference.common_type.configuration_macros">Configuration
-        macros</a>
-      </h5>
-<p>
-        When the compiler does not support static assertions then the user can select
-        the way static assertions are reported. Define
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            BOOST_COMMON_TYPE_USES_STATIC_ASSERT: define it if you want to use Boost.StaticAssert
-          </li>
-<li class="listitem">
-            BOOST_COMMON_TYPE_USES_MPL_ASSERT: define it if you want to use Boost.MPL
-            static asertions
-          </li>
-</ul></div>
-<p>
-        The default behavior is to use mpl assertions in this case, but setting BOOST_COMMON_TYPE_USES_STATIC_ASSERT
-        may reduce compile times and header dependencies somewhat.
-      </p>
-<p>
-        Depending on the static assertion used you will have an hint of the failing
-        assertion either through the symbol or through the text.
-      </p>
-<p>
-        When possible common_type is implemented using <code class="computeroutput"><span class="identifier">decltype</span></code>.
-        Otherwise when BOOST_COMMON_TYPE_DONT_USE_TYPEOF is not defined it uses Boost.TypeOf.
-      </p>
-<a name="boost_typetraits.reference.common_type.tutorial"></a><h5>
-<a name="boost_typetraits.reference.common_type.tutorial-heading"></a>
-        <a class="link" href="common_type.html#boost_typetraits.reference.common_type.tutorial">Tutorial</a>
-      </h5>
-<p>
-        In a nutshell, <a class="link" href="common_type.html" title="common_type">common_type</a>
-        is a trait that takes 1 or more types, and returns a type which all of the
-        types will convert to. The default definition demands this conversion be
-        implicit. However the trait can be specialized for user-defined types which
-        want to limit their inter-type conversions to explicit, and yet still want
-        to interoperate with the <a class="link" href="common_type.html" title="common_type">common_type</a>
-        facility.
-      </p>
-<p>
-        <span class="bold"><strong>Example:</strong></span>
-      </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
-<span class="identifier">complex</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">>::</span><span class="identifier">type</span><span class="special">></span>
-<span class="keyword">operator</span><span class="special">+(</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span> <span class="identifier">complex</span><span class="special"><</span><span class="identifier">U</span><span class="special">>);</span>
-</pre>
-<p>
-        In the above example, "mixed-mode" complex arithmetic is allowed.
-        The return type is described by <a class="link" href="common_type.html" title="common_type">common_type</a>.
-        For example the resulting type of adding a <code class="computeroutput"><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span></code> and <code class="computeroutput"><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span></code> might be a <code class="computeroutput"><span class="identifier">complex</span><span [...]
-      </p>
-<p>
-        Here is how someone might produce a variadic comparison function:
-      </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="special">...</span><span class="identifier">T</span><span class="special">></span>
-<span class="keyword">typename</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">T</span><span class="special">...>::</span><span class="identifier">type</span>
-<span class="identifier">min</span><span class="special">(</span><span class="identifier">T</span><span class="special">...</span> <span class="identifier">t</span><span class="special">);</span>
-</pre>
-<p>
-        This is a very useful and broadly applicable utility.
-      </p>
-<a name="boost_typetraits.reference.common_type.how_to_get_the_common_type_of_types_with_explicit_conversions_"></a><h5>
-<a name="boost_typetraits.reference.common_type.how_to_get_the_common_type_of_types_with_explicit_conversions_-heading"></a>
-        <a class="link" href="common_type.html#boost_typetraits.reference.common_type.how_to_get_the_common_type_of_types_with_explicit_conversions_">How
-        to get the common type of types with explicit conversions?</a>
-      </h5>
-<p>
-        Another choice for the author of the preceding operator could be
-      </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
-<span class="keyword">typename</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span> <span class="identifier">complex</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span>
-<span class="keyword">operator</span><span class="special">+(</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span> <span class="identifier">complex</span><span class="special"><</span><span class="identifier">U</span><span class="special">>);</span>
-</pre>
-<p>
-        As the default definition of <a class="link" href="common_type.html" title="common_type">common_type</a>
-        demands the conversion be implicit, we need to specialize the trait for complex
-        types as follows.
-      </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
-<span class="keyword">struct</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span> <span class="identifier">complex</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span>
-    <span class="keyword">typedef</span> <span class="identifier">complex</span><span class="special"><</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<a name="boost_typetraits.reference.common_type.how_important_is_the_order_of_the_common_type_lt__gt__template_arguments_"></a><h5>
-<a name="boost_typetraits.reference.common_type.how_important_is_the_order_of_the_common_type_lt__gt__template_arguments_-heading"></a>
-        <a class="link" href="common_type.html#boost_typetraits.reference.common_type.how_important_is_the_order_of_the_common_type_lt__gt__template_arguments_">How
-        important is the order of the common_type<> template arguments?</a>
-      </h5>
-<p>
-        The order of the template parameters is important.
-      </p>
-<p>
-        <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">>::</span><span class="identifier">type</span></code> is not equivalent to <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="id [...]
-      </p>
-<p>
-        Consider
-      </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{};</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{};</span>
-<span class="keyword">struct</span> <span class="identifier">C</span> <span class="special">{</span>
-    <span class="identifier">C</span><span class="special">()</span> <span class="special">{}</span>
-    <span class="identifier">C</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span><span class="special">&)</span> <span class="special">{}</span>
-    <span class="identifier">C</span><span class="special">(</span><span class="identifier">B</span> <span class="keyword">const</span><span class="special">&)</span> <span class="special">{}</span>
-    <span class="identifier">C</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">C</span> <span class="keyword">const</span><span class="special">&)</span> <span class="special">{</span>
-        <span class="keyword">return</span> <span class="special">*</span><span class="keyword">this</span><span class="special">;</span>
-    <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
-        The following doesn't compile
-      </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">,</span> <span class="identifier">C</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">ABC</span><span class="sp [...]
-</pre>
-<p>
-        while
-      </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">ABC</span><span class="sp [...]
-</pre>
-<p>
-        compiles.
-      </p>
-<p>
-        Thus, as <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">type</span></code>
-        is undefined, <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">>::</span><span class="identifier">type</span></code>
-        is also undefined.
-      </p>
-<p>
-        It is intended that clients who wish for <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span>
-        <span class="identifier">B</span><span class="special">></span></code>
-        to be well defined to define it themselves:
-      </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span>
-<span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special"><></span>
-<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span> <span class="special">{</span><span class="keyword">typedef</span> <span class="identifier">C</span> <span class="identifier">type</span><span class="special">;};</span>
-
-<span class="special">}</span> 
-</pre>
-<p>
-        Now this client can ask for <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span>
-        <span class="identifier">B</span><span class="special">,</span> <span class="identifier">C</span><span class="special">></span></code> (and
-        get the same answer).
-      </p>
-<p>
-        Clients wanting to ask <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span>
-        <span class="identifier">B</span><span class="special">,</span> <span class="identifier">C</span><span class="special">></span></code> in
-        any order and get the same result need to add in addition:
-      </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span>
-<span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special"><></span> <span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">B</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span>
-<span class="special">:</span> <span class="keyword">public</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span> <span class="special">{};</span>
-
-<span class="special">}</span> 
-</pre>
-<p>
-        This is needed as the specialization of <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span>
-        <span class="identifier">B</span><span class="special">></span></code>
-        is not be used implicitly for <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">B</span><span class="special">,</span>
-        <span class="identifier">A</span><span class="special">></span></code>.
-      </p>
-<a name="boost_typetraits.reference.common_type.can_the_common_type_of_two_types_be_a_third_type_"></a><h5>
-<a name="boost_typetraits.reference.common_type.can_the_common_type_of_two_types_be_a_third_type_-heading"></a>
-        <a class="link" href="common_type.html#boost_typetraits.reference.common_type.can_the_common_type_of_two_types_be_a_third_type_">Can
-        the common_type of two types be a third type?</a>
-      </h5>
-<p>
-        Given the preceding example, one might expect <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">type</span></code> to be <code class="computeroutput"><span class="identifier">C</span></code>
-        without any intervention from the user. But the default <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><></span></code> implementation doesn't grant that.
-        It is intended that clients who wish for <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span>
-        <span class="identifier">B</span><span class="special">></span></code>
-        to be well defined to define it themselves:
-      </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span>
-<span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special"><></span>
-<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span> <span class="special">{</span><span class="keyword">typedef</span> <span class="identifier">C</span> <span class="identifier">type</span><span class="special">;};</span>
-
-<span class="keyword">template</span> <span class="special"><></span> <span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">B</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span>
-<span class="special">:</span> <span class="keyword">public</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">></span> <span class="special">{};</span>
-
-<span class="special">}</span> 
-</pre>
-<p>
-        Now this client can ask for <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span>
-        <span class="identifier">B</span><span class="special">></span></code>.
-      </p>
-<a name="boost_typetraits.reference.common_type.how_common_type_behaves_with_pointers_"></a><h5>
-<a name="boost_typetraits.reference.common_type.how_common_type_behaves_with_pointers_-heading"></a>
-        <a class="link" href="common_type.html#boost_typetraits.reference.common_type.how_common_type_behaves_with_pointers_">How
-        common_type behaves with pointers?</a>
-      </h5>
-<p>
-        Consider
-      </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">C</span> <span class="special">{</span> <span class="special">}:</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">:</span> <span class="identifier">C</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">:</span> <span class="identifier">C</span> <span class="special">{</span> <span class="special">};</span>
-</pre>
-<p>
-        Shouldn't <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">*,</span><span class="identifier">B</span><span class="special">*>::</span><span class="identifier">type</span></code>
-        be <code class="computeroutput"><span class="identifier">C</span><span class="special">*</span></code>?
-        I would say yes, but the default implementation will make it ill-formed.
-      </p>
-<p>
-        The library could add a specialization for pointers, as
-      </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span>
-<span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">B</span><span class="special">></span>
-    <span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">*,</span> <span class="identifier">B</span><span class="special">*></span> <span class="special">{</span>
-        <span class="keyword">typedef</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span> <span class="identifier">B</span><span class="special">>*</span> <span class="identifier">type</span><span class="special">;</span>
-    <span class="special">};</span>
-<span class="special">}</span>
-</pre>
-<p>
-        But in the absence of a motivating use cases, we prefer not to add more than
-        the standard specifies.
-      </p>
-<p>
-        Of course the user can always make this specialization.
-      </p>
-<a name="boost_typetraits.reference.common_type.can_you_explain_the_pros_cons_of_common_type_against_boost_typeof_"></a><h5>
-<a name="boost_typetraits.reference.common_type.can_you_explain_the_pros_cons_of_common_type_against_boost_typeof_-heading"></a>
-        <a class="link" href="common_type.html#boost_typetraits.reference.common_type.can_you_explain_the_pros_cons_of_common_type_against_boost_typeof_">Can
-        you explain the pros/cons of common_type against Boost.Typeof?</a>
-      </h5>
-<p>
-        Even if they appear to be close, <code class="computeroutput"><a class="link" href="common_type.html" title="common_type">common_type</a></code>
-        and <code class="computeroutput"><span class="identifier">typeof</span></code> have different
-        purposes. You use <code class="computeroutput"><span class="identifier">typeof</span></code>
-        to get the type of an expression, while you use <a class="link" href="common_type.html" title="common_type">common_type</a>
-        to set explicitly the type returned of a template function. Both are complementary,
-        and indeed <a class="link" href="common_type.html" title="common_type">common_type</a>
-        is equivalent to <code class="computeroutput"><span class="identifier">decltype</span><span class="special">(</span><a href="../../../../../utility/doc/html/declval.html" target="_top">declval</a><span class="special"><</span><span class="keyword">bool</span><span class="special">>()</span>
-        <span class="special">?</span> <a href="../../../../../utility/doc/html/declval.html" target="_top">declval</a><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span>
-        <span class="special">:</span> <a href="../../../../../utility/doc/html/declval.html" target="_top">declval</a><span class="special"><</span><span class="identifier">U</span><span class="special">>())</span></code>
-      </p>
-<p>
-        <a class="link" href="common_type.html" title="common_type">common_type</a>
-        is also similar to promote_args<class ...T> in boost/math/tools/promotion.hpp,
-        though it is not exactly the same as promote_args either. <a class="link" href="common_type.html" title="common_type">common_type</a><T1,
-        T2>::type simply represents the result of some operation on T1 and T2,
-        and defaults to the type obtained by putting T1 and T2 into a conditional
-        statement.
-      </p>
-<p>
-        It is meant to be customizable (via specialization) if this default is not
-        appropriate.
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="conditional.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="decay.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/common_type_hpp.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/common_type_hpp.html
deleted file mode 100755
index cb94763..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/common_type_hpp.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>common_type</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="alignment_of.html" title="alignment_of">
-<link rel="next" href="decay.html" title="decay">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="alignment_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="decay.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.common_type_hpp"></a><a class="link" href="common_type_hpp.html" title="common_type"> common_type</a>
-</h3></div></div></div>
-<p>
-        <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">common_type</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
-  <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="special">...</span><span class="identifier">T</span><span class="special">></span>  <span class="keyword">struct</span> <a class="link" href="../../">common_type</a><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
-        <a class="link" href="../../">common_type</a>
-        is a traits class used to deduce a type common to a several types, useful
-        as the return type of functions operating on multiple input types such as
-        in mixed-mode arithmetic..
-      </p>
-<p>
-        The nested typedef <code class="computeroutput"><span class="special">::</span><span class="identifier">type</span></code>
-        could be defined as follows:
-      </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="special">...</span><span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">...</span><span class="identifier">V</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">U</span><span class="special">,...</span><span class="identifier">V</span><span class="special">></span> <span class="special">{</span>
-    <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">__common_type__</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">__common_type__</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="ide [...]
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">{</span>
-    <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">{</span>
-    <span class="keyword">typedef</span> <span class="identifier">decltype</span><span class="special">(</span><span class="identifier">__declval__</span><span class="special"><</span><span class="keyword">bool</span><span class="special">>()</span> <span class="special">?</span> <span class="identifier">__declval__</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span> <span class="special">:</span> <span class="identifier">__de [...]
-<span class="special">};</span>
-</pre>
-<p>
-        All parameter types must be complete. This trait is permitted to be specialized
-        by a user if at least one template parameter is a user-defined type. <span class="bold"><strong>Note:</strong></span> Such specializations are required when only
-        explicit conversions are desired among the <a class="link" href="../../">common_type</a>
-        arguments.
-      </p>
-<a name="boost_typetraits.reference.common_type_hpp.configuration_macros"></a><h5>
-<a name="id895242"></a>
-        <a class="link" href="common_type_hpp.html#boost_typetraits.reference.common_type_hpp.configuration_macros">Configuration
-        macros</a>
-      </h5>
-<p>
-        When the compiler does not support static assertions then the user can select
-        the way static assertions are reported. Define
-      </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
-            BOOST_COMMON_TYPE_USES_STATIC_ASSERT: define it if you want to use Boost.StaticAssert
-          </li>
-<li>
-            BOOST_COMMON_TYPE_USES_MPL_ASSERT: define it if you want to use Boost.MPL
-            static asertions
-          </li>
-</ul></div>
-<p>
-        The default behavior is to use mpl assertions in this case, but setting BOOST_COMMON_TYPE_USES_STATIC_ASSERT
-        may reduce compile times and header dependencies somewhat.
-      </p>
-<p>
-        Depending on the static assertion used you will have an hint of the failing
-        assertion either through the symbol or through the text.
-      </p>
-<p>
-        When possible common_type is implemented using <code class="computeroutput"><span class="identifier">decltype</span></code>.
-        Otherwise when BOOST_COMMON_TYPE_DONT_USE_TYPEOF is not defined it uses Boost.TypeOf.
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams,
-      Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat
-      Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
-      Ramey and Jeremy Siek<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="alignment_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="decay.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/conditional.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/conditional.html
deleted file mode 100755
index 7854552..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/conditional.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>conditional</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="alignment_of.html" title="alignment_of">
-<link rel="next" href="common_type.html" title="common_type">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="alignment_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="common_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.conditional"></a><a class="link" href="conditional.html" title="conditional">conditional</a>
-</h3></div></div></div>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">conditional</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
-  <span class="keyword">template</span> <span class="special"><</span><span class="keyword">bool</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>  <span class="keyword">struct</span> <a class="link" href="conditional.html" title="conditional">conditional</a><span cl [...]
-<span class="special">}</span>
-</pre>
-<p>
-        If B is true, the member typedef type shall equal T. If B is false, the member
-        typedef type shall equal U.
-      </p>
-<p>
-        This trait is really just an alias for <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_c</span></code>.
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="alignment_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="common_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/decay.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/decay.html
deleted file mode 100755
index 4f986b5..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/decay.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>decay</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="common_type.html" title="common_type">
-<link rel="next" href="extent.html" title="extent">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="common_type.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extent.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.decay"></a><a class="link" href="decay.html" title="decay">decay</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">decay</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> Let <code class="computeroutput"><span class="identifier">U</span></code>
-        be the result of <code class="computeroutput"><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>, then if <code class="computeroutput"><span class="identifier">U</span></code>
-        is an array type, the result is <code class="computeroutput"><span class="identifier">remove_extent</span><span class="special"><</span><span class="identifier">U</span><span class="special">>::</span><span class="identifier">type</span><span class="special">*</span></code>,
-        otherwise if <code class="computeroutput"><span class="identifier">U</span></code> is a function
-        type then the result is <code class="computeroutput"><span class="identifier">U</span><span class="special">*</span></code>, otherwise the result is <code class="computeroutput"><span class="identifier">U</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">decay</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.decay.examples"></a><p class="title"><b>Table 1.17. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">decay</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">]>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">[</span><span class="number">3</span><span class="special">]*</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">decay</span><span class="special"><</span><span class="keyword">int</span><span class="special">(&)[</span><span class="number">2</span><span class="special">]>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">decay</span><span class="special"><</span><span class="keyword">int</span><span class="special">(&)(</span><span class="keyword">double</span><span class="special">)>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">(*)(</span><span class="keyword">double</span><span class="special">)</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">(*)(</span><span class="keyword">double</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">(*)(</span><span class="keyword">double</span><span class="special">)</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">(</span><span class="keyword">double</span><span class="special">)</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">(*)(</span><span class="keyword">double</span><span class="special">)</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="common_type.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extent.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/extent.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/extent.html
deleted file mode 100755
index e7f6435..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/extent.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>extent</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="decay.html" title="decay">
-<link rel="next" href="floating_point_promotion.html" title="floating_point_promotion">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="decay.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="floating_point_promotion.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.extent"></a><a class="link" href="extent.html" title="extent">extent</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span> <span class="special">=</span> <span class="number">0</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">extent</span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">EXTENT</span><span class="special">(</span><span class="identifi [...]
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> Class template extent inherits
-        from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)&g [...]
-        where <code class="computeroutput"><span class="identifier">EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)</span></code> is the number of elements in the N'th array
-        dimension of type <code class="computeroutput"><span class="identifier">T</span></code>.
-      </p>
-<p>
-        If <code class="computeroutput"><span class="identifier">T</span></code> is not a (built-in)
-        array type, or if <code class="computeroutput"><span class="identifier">N</span> <span class="special">></span>
-        <a class="link" href="rank.html" title="rank">rank</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code>, or if the N'th array bound is incomplete,
-        then <code class="computeroutput"><span class="identifier">EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)</span></code> is zero.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">extent</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">1</span><span class="special">]></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="i [...]
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="keyword">double</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">][</span><span class="number">4</span><span class="special">],</span>
-          <span class="number">0</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="number">2</span><span class="special">></span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="keyword">double</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">][</span><span class="number">4</span><span class="special">],</span>
-          <span class="number">1</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="number">3</span><span class="special">></span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="keyword">double</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">][</span><span class="number">4</span><span class="special">],</span>
-          <span class="number">3</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="number">4</span><span class="special">></span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">4</span><span class="special">]>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>4</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="keyword">int</span><span class="special">[][</span><span class="number">2</span><span class="special">]>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>0</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="keyword">int</span><span class="special">[][</span><span class="number">2</span><span class="special">],</span> <span class="number">1</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>2</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>0</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="number">3</span><span class="special">></span> <span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>0</em></span>: <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>
-          is a class type and <span class="bold"><strong>not an array type</strong></span>!
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="decay.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="floating_point_promotion.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/floating_point_promotion.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/floating_point_promotion.html
deleted file mode 100755
index 8c33252..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/floating_point_promotion.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>floating_point_promotion</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="extent.html" title="extent">
-<link rel="next" href="function_traits.html" title="function_traits">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="extent.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="function_traits.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.floating_point_promotion"></a><a class="link" href="floating_point_promotion.html" title="floating_point_promotion">floating_point_promotion</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">floating_point_promotion</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> If floating point promotion can be
-        applied to an rvalue of type <code class="computeroutput"><span class="identifier">T</span></code>,
-        then applies floating point promotion to <code class="computeroutput"><span class="identifier">T</span></code>
-        and keeps cv-qualifiers of <code class="computeroutput"><span class="identifier">T</span></code>,
-        otherwise leaves <code class="computeroutput"><span class="identifier">T</span></code> unchanged.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 4.6.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">floating_point_promotion</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.floating_point_promotion.examples"></a><p class="title"><b>Table 1.18. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">floating_point_promotion</span><span class="special"><</span><span class="keyword">float</span>
-                  <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">double</span> <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">floating_point_promotion</span><span class="special"><</span><span class="keyword">float</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">float</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">floating_point_promotion</span><span class="special"><</span><span class="keyword">short</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">short</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="extent.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="function_traits.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/function_traits.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/function_traits.html
deleted file mode 100755
index b7b510f..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/function_traits.html
+++ /dev/null
@@ -1,285 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>function_traits</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="floating_point_promotion.html" title="floating_point_promotion">
-<link rel="next" href="has_bit_and.html" title="has_bit_and">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="floating_point_promotion.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_bit_and.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.function_traits"></a><a class="link" href="function_traits.html" title="function_traits">function_traits</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">function_traits</span>
-<span class="special">{</span>
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span>    <span class="identifier">arity</span> <span class="special">=</span> <em class="replaceable"><code>see-below</code></em><span class="special">;</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em>           <span class="identifier">result_type</span><span class="special">;</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em>           arg<em class="replaceable"><code>N</code></em>_type<span class="special">;</span> 
-<span class="special">};</span>
-</pre>
-<p>
-        The class template function_traits will only compile if:
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            The compiler supports partial specialization of class templates.
-          </li>
-<li class="listitem">
-            The template argument <code class="computeroutput"><span class="identifier">F</span></code>
-            is a <span class="emphasis"><em>function type</em></span>, note that this <span class="emphasis"><em><span class="bold"><strong>is not</strong></span></em></span> the same thing as a <span class="emphasis"><em>pointer
-            to a function</em></span>.
-          </li>
-</ul></div>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-          function_traits is intended to introspect only C++ functions of the form
-          R (), R( A1 ), R ( A1, ... etc. ) and not function pointers or class member
-          functions. To convert a function pointer type to a suitable type use <a class="link" href="remove_pointer.html" title="remove_pointer">remove_pointer</a>.
-        </p></td></tr>
-</table></div>
-<div class="table">
-<a name="boost_typetraits.reference.function_traits.function_traits_members"></a><p class="title"><b>Table 1.19. Function Traits Members</b></p>
-<div class="table-contents"><table class="table" summary="Function Traits Members">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Member
-                </p>
-              </th>
-<th>
-                <p>
-                  Description
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">function_traits</span><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">arity</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  An integral constant expression that gives the number of arguments
-                  accepted by the function type <code class="computeroutput"><span class="identifier">F</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">function_traits</span><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span><span class="identifier">result_type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The type returned by function type <code class="computeroutput"><span class="identifier">F</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">function_traits</span><span class="special"><</span><span class="identifier">F</span><span class="special">>::</span>arg<em class="replaceable"><code>N</code></em>_type</code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The <em class="replaceable"><code>N</code></em>th argument type of function type <code class="computeroutput"><span class="identifier">F</span></code>,
-                  where <code class="computeroutput"><span class="number">1</span> <span class="special"><=</span>
-                  <span class="identifier">N</span> <span class="special"><=</span>
-                  <span class="identifier">arity</span></code> of <code class="computeroutput"><span class="identifier">F</span></code>.
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="boost_typetraits.reference.function_traits.examples"></a><p class="title"><b>Table 1.20. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">function_traits</span><span class="special"><</span><span class="keyword">void</span>
-                  <span class="special">(</span><span class="keyword">void</span><span class="special">)>::</span><span class="identifier">arity</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  An integral constant expression that has the value 0.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">function_traits</span><span class="special"><</span><span class="keyword">long</span>
-                  <span class="special">(</span><span class="keyword">int</span><span class="special">)>::</span><span class="identifier">arity</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  An integral constant expression that has the value 1.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">function_traits</span><span class="special"><</span><span class="keyword">long</span>
-                  <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">void</span><span class="special">*)>::</span><span class="identifier">arity</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  An integral constant expression that has the value 4.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">function_traits</span><span class="special"><</span><span class="keyword">void</span>
-                  <span class="special">(</span><span class="keyword">void</span><span class="special">)>::</span><span class="identifier">result_type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The type <code class="computeroutput"><span class="keyword">void</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">function_traits</span><span class="special"><</span><span class="keyword">long</span>
-                  <span class="special">(</span><span class="keyword">int</span><span class="special">)>::</span><span class="identifier">result_type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The type <code class="computeroutput"><span class="keyword">long</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">function_traits</span><span class="special"><</span><span class="keyword">long</span>
-                  <span class="special">(</span><span class="keyword">int</span><span class="special">)>::</span><span class="identifier">arg1_type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The type <code class="computeroutput"><span class="keyword">int</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">function_traits</span><span class="special"><</span><span class="keyword">long</span>
-                  <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">void</span><span class="special">*)>::</span><span class="identifier">arg4_type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  The type <code class="computeroutput"><span class="keyword">void</span><span class="special">*</span></code>.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">function_traits</span><span class="special"><</span><span class="keyword">long</span>
-                  <span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">void</span><span class="special">*)>::</span><span class="identifier">arg5_type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  A compiler error: there is no <code class="computeroutput"><span class="identifier">arg5_type</span></code>
-                  since there are only four arguments.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">function_traits</span><span class="special"><</span><span class="keyword">long</span>
-                  <span class="special">(*)(</span><span class="keyword">void</span><span class="special">)>::</span><span class="identifier">arity</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  A compiler error: argument type is a <span class="emphasis"><em>function pointer</em></span>,
-                  and not a <span class="emphasis"><em>function type</em></span>.
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="floating_point_promotion.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_bit_and.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_and.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_and.html
deleted file mode 100755
index d308f7a..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_and.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_bit_and</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="function_traits.html" title="function_traits">
-<link rel="next" href="has_bit_and_assign.html" title="has_bit_and_assign">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="function_traits.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_bit_and_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_bit_and"></a><a class="link" href="has_bit_and.html" title="has_bit_and">has_bit_and</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_bit_and</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">&</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">&</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">&</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">&</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_bit_and<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_bit_and</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_c [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">&</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">&</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_bit_and</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_bit_and</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">&</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">&(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_and</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator&(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">&(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_and</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_and</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">&</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_bit_and</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><sp [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_and</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">va [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">&</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_and</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">val [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">&</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="function_traits.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_bit_and_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_and_assign.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_and_assign.html
deleted file mode 100755
index fe32805..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_and_assign.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_bit_and_assign</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_bit_and.html" title="has_bit_and">
-<link rel="next" href="has_bit_or.html" title="has_bit_or">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_bit_and.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_bit_or.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_bit_and_assign"></a><a class="link" href="has_bit_and_assign.html" title="has_bit_and_assign">has_bit_and_assign</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_bit_and_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">&=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">&=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">&=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">&=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_bit_and_assign<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_bit_and_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and_assign</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and_assign</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_and_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="int [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">&=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">&=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_bit_and_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_bit_and_assign</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">&=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">&=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_and_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator&=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">&=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_and_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_and_assign</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">&=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_bit_and_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><s [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_and_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identif [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">&=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_and_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifi [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">&=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_bit_and.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_bit_or.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_or.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_or.html
deleted file mode 100755
index 45e1249..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_or.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_bit_or</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_bit_and_assign.html" title="has_bit_and_assign">
-<link rel="next" href="has_bit_or_assign.html" title="has_bit_or_assign">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_bit_and_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_bit_or_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_bit_or"></a><a class="link" href="has_bit_or.html" title="has_bit_or">has_bit_or</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_bit_or</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">|</span><span class="identifier">rhs</span></code>, and
-        (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">|</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">|</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">|</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_bit_or<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_bit_or</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_co [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">|</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">|</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_bit_or</span><span class="sp [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_bit_or</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">|</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">|(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_or</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator|(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">|(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_or</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_or</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">|</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_bit_or</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">|(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span c [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_or</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">val [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">|</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_or</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">valu [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">|</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_bit_and_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_bit_or_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_or_assign.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_or_assign.html
deleted file mode 100755
index a7c2639..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_or_assign.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_bit_or_assign</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_bit_or.html" title="has_bit_or">
-<link rel="next" href="has_bit_xor.html" title="has_bit_xor">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_bit_or.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_bit_xor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_bit_or_assign"></a><a class="link" href="has_bit_or_assign.html" title="has_bit_or_assign">has_bit_or_assign</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_bit_or_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">|=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">|=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">|=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">|=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_bit_or_assign<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_bit_or_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or_assign</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or_assign</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_or_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="inte [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">|=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">|=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_bit_or_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_bit_or_assign</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">|=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">|=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_or_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator|=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">|=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_or_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_or_assign</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">|=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_bit_or_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">|=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span  [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_or_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifi [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">|=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_or_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifie [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">|=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_bit_or.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_bit_xor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_xor.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_xor.html
deleted file mode 100755
index 2e9a4e0..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_xor.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_bit_xor</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_bit_or_assign.html" title="has_bit_or_assign">
-<link rel="next" href="has_bit_xor_assign.html" title="has_bit_xor_assign">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_bit_or_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_bit_xor_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_bit_xor"></a><a class="link" href="has_bit_xor.html" title="has_bit_xor">has_bit_xor</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_bit_xor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">^</span><span class="identifier">rhs</span></code>, and
-        (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">^</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">^</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">^</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_bit_xor<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_bit_xor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_c [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">^</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">^</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_bit_xor</span><span class="s [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_bit_xor</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">^</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">^(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_xor</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator^(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">^(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_xor</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_xor</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">^</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_bit_xor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">^(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span c [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_xor</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">va [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">^</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_xor</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">val [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">^</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_bit_or_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_bit_xor_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_xor_assign.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_xor_assign.html
deleted file mode 100755
index 0534e8c..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_bit_xor_assign.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_bit_xor_assign</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_bit_xor.html" title="has_bit_xor">
-<link rel="next" href="has_complement.html" title="has_complement">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_bit_xor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_complement.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_bit_xor_assign"></a><a class="link" href="has_bit_xor_assign.html" title="has_bit_xor_assign">has_bit_xor_assign</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_bit_xor_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">^=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">^=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">^=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">^=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_bit_xor_assign<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_bit_xor_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor_assign</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor_assign</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_bit_xor_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="int [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">^=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">^=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_bit_xor_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_bit_xor_assign</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">^=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">^=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_xor_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator^=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">^=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_xor_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_xor_assign</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">^=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_bit_xor_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">^=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span  [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_xor_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identif [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">^=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_bit_xor_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifi [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">^=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_bit_xor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_complement.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_complement.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_complement.html
deleted file mode 100755
index 09a3961..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_complement.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_complement</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_bit_xor_assign.html" title="has_bit_xor_assign">
-<link rel="next" href="has_dereference.html" title="has_dereference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_bit_xor_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_dereference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_complement"></a><a class="link" href="has_complement.html" title="has_complement">has_complement</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_complement</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">rhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Rhs</span></code> can be used in
-        expression <code class="computeroutput"><span class="special">~</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="special">~</span><span class="identifier">rhs</span></code>
-        is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> then
-        inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">~</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(~</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_complement<Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_complement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_complement</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_complement</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_complement</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_complement</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_complement</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_complement</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_complement</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_complement</span><span class="special"><</span><span class="keyword">int</span><span class="special">*></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_complement</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_complement</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_complement</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">~</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">~</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Rhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_complement</span><span class [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_complement</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">~</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">~();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_complement</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator~() is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">~(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_complement</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_complement</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">~</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_complement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">~(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">rhs</span><span class="special">)</span> <span class="special">{</span>
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_complement</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier" [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="special">~</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_complement</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier"> [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="special">~</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_bit_xor_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_dereference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_dereference.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_dereference.html
deleted file mode 100755
index 009bff3..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_dereference.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_dereference</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_complement.html" title="has_complement">
-<link rel="next" href="has_divides.html" title="has_divides">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_complement.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_divides.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_dereference"></a><a class="link" href="has_dereference.html" title="has_dereference">has_dereference</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_dereference</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">rhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Rhs</span></code> can be used in
-        expression <code class="computeroutput"><span class="special">*</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="special">*</span><span class="identifier">rhs</span></code>
-        is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> then
-        inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(*</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_dereference<Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_dereference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="keyword">long</span><span class="special">*></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">const</span>
-          <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span> <span class="special">*></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="keyword">int</span> <span class="special">*</span> <span class="keyword">const</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="keyword">void</span><span class="special">*></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_dereference</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">*,</span> <span class="keyword">int</span><span class="special">&></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Rhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_dereference</span><span clas [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_dereference</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">*();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_dereference</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator*() is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">*(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_dereference</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_dereference</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_dereference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">*(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">rhs</span><span class="special">)</span> <span class="special">{</span>
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_dereference</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="special">*</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_dereference</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier" [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="special">*</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_complement.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_divides.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_divides.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_divides.html
deleted file mode 100755
index eeb2c3c..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_divides.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_divides</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_dereference.html" title="has_dereference">
-<link rel="next" href="has_divides_assign.html" title="has_divides_assign">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_dereference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_divides_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_divides"></a><a class="link" href="has_divides.html" title="has_divides">has_divides</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_divides</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">/</span><span class="identifier">rhs</span></code>, and
-        (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">/</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">/</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">/</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_divides<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_divides</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_c [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">/</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">/</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_divides</span><span class="s [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_divides</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">/</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_divides</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator/(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_divides</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_divides</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">/</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_divides</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span c [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_divides</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">va [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">/</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_divides</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">val [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">/</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_dereference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_divides_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_divides_assign.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_divides_assign.html
deleted file mode 100755
index 321dd4b..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_divides_assign.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_divides_assign</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_divides.html" title="has_divides">
-<link rel="next" href="has_equal_to.html" title="has_equal_to">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_divides.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_equal_to.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_divides_assign"></a><a class="link" href="has_divides_assign.html" title="has_divides_assign">has_divides_assign</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_divides_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">/=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">/=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">/=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">/=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_divides_assign<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_divides_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="int [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">/=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">/=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_divides_assign</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">/=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">/=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator/=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">/=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_divides_assign</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">/=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_divides_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">/=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span  [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_divides_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identif [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">/=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_divides_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifi [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">/=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_divides.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_equal_to.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_equal_to.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_equal_to.html
deleted file mode 100755
index 812c1c4..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_equal_to.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_equal_to</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_divides_assign.html" title="has_divides_assign">
-<link rel="next" href="has_greater.html" title="has_greater">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_divides_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_greater.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_equal_to"></a><a class="link" href="has_equal_to.html" title="has_equal_to">has_equal_to</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_equal_to</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">==</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">==</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">==</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">==</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_equal_to<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_equal_to</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_equal_to</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_equal_to</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_equal_to</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_equal_to</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_equal_to</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_equal_to</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_equal_to</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_equal_to</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">double</span><span class="special">*></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_equal_to</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_ [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">==</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">==</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_equal_to</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_equal_to</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">==</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_equal_to</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator==(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_equal_to</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_equal_to</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">==</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span  [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_equal_to</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">v [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">==</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_equal_to</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">va [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">==</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_divides_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_greater.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_greater.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_greater.html
deleted file mode 100755
index 23ade8d..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_greater.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_greater</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_equal_to.html" title="has_equal_to">
-<link rel="next" href="has_greater_equal.html" title="has_greater_equal">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_equal_to.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_greater_equal.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_greater"></a><a class="link" href="has_greater.html" title="has_greater">has_greater</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_greater</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">></span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">></span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">></span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">></span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_greater<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_greater</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">double</span><span class="special">*></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_c [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">></span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">></span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_greater</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_greater</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">></span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">>(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_greater</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator>(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">>(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_greater</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_greater</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">></span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_greater</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">>(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><spa [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_greater</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">va [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">></span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_greater</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">val [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">></span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_equal_to.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_greater_equal.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_greater_equal.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_greater_equal.html
deleted file mode 100755
index 74516c8..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_greater_equal.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_greater_equal</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_greater.html" title="has_greater">
-<link rel="next" href="has_left_shift.html" title="has_left_shift">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_greater.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_left_shift.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_greater_equal"></a><a class="link" href="has_greater_equal.html" title="has_greater_equal">has_greater_equal</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_greater_equal</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">>=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">>=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">>=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">>=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_greater_equal<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_greater_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">double</span><span class="special">*></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="inte [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">>=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">>=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_greater_equal</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">>=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">>=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator>=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">>=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_greater_equal</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">>=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_greater_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">>=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><sp [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_greater_equal</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifi [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">>=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_greater_equal</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifie [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">>=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_greater.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_left_shift.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_left_shift.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_left_shift.html
deleted file mode 100755
index e458c7a..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_left_shift.html
+++ /dev/null
@@ -1,204 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_left_shift</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_greater_equal.html" title="has_greater_equal">
-<link rel="next" href="has_left_shift_assign.html" title="has_left_shift_assign">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_greater_equal.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_left_shift_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_left_shift"></a><a class="link" href="has_left_shift.html" title="has_left_shift">has_left_shift</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_left_shift</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special"><<</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special"><<</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special"><<</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special"><<</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_left_shift<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_left_shift</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integra [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special"><<</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special"><<</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_left_shift</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_left_shift</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special"><<</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special"><<(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_left_shift</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator<<(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special"><<(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_left_shift</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_left_shift</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special"><<</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_left_shift</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special"><<(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span> [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_left_shift</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier" [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special"><<</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_left_shift</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier"> [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special"><<</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_greater_equal.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_left_shift_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_left_shift_assign.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_left_shift_assign.html
deleted file mode 100755
index 2aa1318..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_left_shift_assign.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_left_shift_assign</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_left_shift.html" title="has_left_shift">
-<link rel="next" href="has_less.html" title="has_less">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_left_shift.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_less.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_left_shift_assign"></a><a class="link" href="has_left_shift_assign.html" title="has_left_shift_assign">has_left_shift_assign</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_left_shift_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special"><<=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special"><<=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special"><<=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special"><<=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_left_shift_assign<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_left_shift_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift_assign</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift_assign</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_left_shift_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title=" [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special"><<=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special"><<=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_left_shift_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_left_shift_assign</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special"><<=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special"><<=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_left_shift_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator<<=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special"><<=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_left_shift_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_left_shift_assign</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special"><<=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_left_shift_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special"><<=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_left_shift_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="iden [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special"><<=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_left_shift_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="ident [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special"><<=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_left_shift.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_less.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_less.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_less.html
deleted file mode 100755
index e20c44a..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_less.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_less</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_left_shift_assign.html" title="has_left_shift_assign">
-<link rel="next" href="has_less_equal.html" title="has_less_equal">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_left_shift_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_less_equal.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_less"></a><a class="link" href="has_less.html" title="has_less">has_less</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_less</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special"><</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special"><</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special"><</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special"><</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_less<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_less</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">double</span><span class="special">*></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_cons [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special"><</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special"><</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_less</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_less</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special"><</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special"><(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_less</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator<(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special"><(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_less</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_less</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special"><</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_less</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special"><(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><spa [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_less</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">value [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special"><</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_less</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">value< [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special"><</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_left_shift_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_less_equal.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_less_equal.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_less_equal.html
deleted file mode 100755
index 699ac7e..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_less_equal.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_less_equal</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_less.html" title="has_less">
-<link rel="next" href="has_logical_and.html" title="has_logical_and">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_less.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_logical_and.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_less_equal"></a><a class="link" href="has_less_equal.html" title="has_less_equal">has_less_equal</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_less_equal</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special"><=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special"><=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special"><=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special"><=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_less_equal<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_less_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less_equal</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less_equal</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less_equal</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less_equal</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less_equal</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less_equal</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less_equal</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less_equal</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less_equal</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">double</span><span class="special">*></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_less_equal</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integra [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special"><=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special"><=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_less_equal</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_less_equal</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special"><=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special"><=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_less_equal</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator<=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special"><=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_less_equal</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_less_equal</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special"><=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_less_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special"><=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><sp [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_less_equal</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier" [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special"><=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_less_equal</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier"> [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special"><=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_less.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_logical_and.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_logical_and.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_logical_and.html
deleted file mode 100755
index 57d1170..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_logical_and.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_logical_and</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_less_equal.html" title="has_less_equal">
-<link rel="next" href="has_logical_not.html" title="has_logical_not">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_less_equal.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_logical_not.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_logical_and"></a><a class="link" href="has_logical_and.html" title="has_logical_and">has_logical_and</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_logical_and</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">&&</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">&&</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">&&</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">&&</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_logical_and<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_logical_and</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_and</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_and</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_and</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_and</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_and</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_and</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_and</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_and</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_and</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integr [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">&&</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">&&</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_logical_and</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_logical_and</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">&&</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">&&(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_and</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator&&(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">&&(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_and</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_and</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">&&</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_logical_and</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&&(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</spa [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_and</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">&&</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_and</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier" [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">&&</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_less_equal.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_logical_not.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_logical_not.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_logical_not.html
deleted file mode 100755
index 12e6530..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_logical_not.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_logical_not</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_logical_and.html" title="has_logical_and">
-<link rel="next" href="has_logical_or.html" title="has_logical_or">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_logical_and.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_logical_or.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_logical_not"></a><a class="link" href="has_logical_not.html" title="has_logical_not">has_logical_not</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_logical_not</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">rhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Rhs</span></code> can be used in
-        expression <code class="computeroutput"><span class="special">!</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="special">!</span><span class="identifier">rhs</span></code>
-        is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> then
-        inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">!</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(!</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_logical_not<Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_logical_not</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_not</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_not</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_not</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_not</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_not</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_not</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_not</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_not</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_not</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">bool</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_not</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">!</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">!</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Rhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_logical_not</span><span clas [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_logical_not</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">!</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">!();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_not</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator!() is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">!(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_not</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_not</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">!</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_logical_not</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">rhs</span><span class="special">)</span> <span class="special">{</span>
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_not</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="special">!</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_not</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier" [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="special">!</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_logical_and.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_logical_or.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_logical_or.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_logical_or.html
deleted file mode 100755
index caf538b..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_logical_or.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_logical_or</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_logical_not.html" title="has_logical_not">
-<link rel="next" href="has_minus.html" title="has_minus">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_logical_not.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_minus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_logical_or"></a><a class="link" href="has_logical_or.html" title="has_logical_or">has_logical_or</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_logical_or</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">||</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">||</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">||</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">||</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_logical_or<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_logical_or</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_or</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_or</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_or</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_or</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_or</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_or</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_or</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_or</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_logical_or</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integra [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">||</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">||</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_logical_or</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_logical_or</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">||</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">||(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_or</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator||(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">||(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_or</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_or</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">||</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_logical_or</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">||(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span  [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_or</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier" [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">||</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_logical_or</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier"> [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">||</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_logical_not.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_minus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_minus.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_minus.html
deleted file mode 100755
index 36d8af4..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_minus.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_minus</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_logical_or.html" title="has_logical_or">
-<link rel="next" href="has_minus_assign.html" title="has_minus_assign">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_logical_or.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_minus_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_minus"></a><a class="link" href="has_minus.html" title="has_minus">has_minus</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_minus</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">-</span><span class="identifier">rhs</span></code>, and
-        (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">-</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">-</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_minus<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_minus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_con [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_minus</span><span class="spe [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_minus</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_minus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator-(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_minus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_minus</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_minus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span c [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_minus</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">valu [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">-</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_minus</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">value [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">-</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_logical_or.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_minus_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_minus_assign.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_minus_assign.html
deleted file mode 100755
index 3eb8f19..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_minus_assign.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_minus_assign</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_minus.html" title="has_minus">
-<link rel="next" href="has_modulus.html" title="has_modulus">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_minus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_modulus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_minus_assign"></a><a class="link" href="has_minus_assign.html" title="has_minus_assign">has_minus_assign</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_minus_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">-=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">-=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">-=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_minus_assign<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_minus_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integ [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_minus_assign</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">-=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator-=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">-=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_minus_assign</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_minus_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">-=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span  [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_minus_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifie [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">-=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_minus_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">-=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_minus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_modulus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_modulus.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_modulus.html
deleted file mode 100755
index aa55142..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_modulus.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_modulus</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_minus_assign.html" title="has_minus_assign">
-<link rel="next" href="has_modulus_assign.html" title="has_modulus_assign">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_minus_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_modulus_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_modulus"></a><a class="link" href="has_modulus.html" title="has_modulus">has_modulus</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_modulus</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">%</span><span class="identifier">rhs</span></code>, and
-        (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">%</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">%</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">%</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_modulus<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_modulus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">%</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">%</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_modulus</span><span class="s [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_modulus</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">%</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">%(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_modulus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator%(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">%(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_modulus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_modulus</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">%</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_modulus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">%(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span c [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_modulus</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">va [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">%</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_modulus</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">val [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">%</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_minus_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_modulus_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_modulus_assign.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_modulus_assign.html
deleted file mode 100755
index 8730fe0..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_modulus_assign.html
+++ /dev/null
@@ -1,191 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_modulus_assign</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_modulus.html" title="has_modulus">
-<link rel="next" href="has_multiplies.html" title="has_multiplies">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_modulus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_multiplies.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_modulus_assign"></a><a class="link" href="has_modulus_assign.html" title="has_modulus_assign">has_modulus_assign</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_modulus_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">%=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">%=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">%=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_modulus_assign<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_modulus_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus_assign</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus_assign</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_modulus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_modulus_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_modulus_assign</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_modulus_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator%=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_modulus_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_modulus_assign</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_modulus_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span  [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_modulus_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identif [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">%=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_modulus_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifi [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">%=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_modulus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_multiplies.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_multiplies.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_multiplies.html
deleted file mode 100755
index 5c70fd0..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_multiplies.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_multiplies</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_modulus_assign.html" title="has_modulus_assign">
-<link rel="next" href="has_multiplies_assign.html" title="has_multiplies_assign">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_modulus_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_multiplies_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_multiplies"></a><a class="link" href="has_multiplies.html" title="has_multiplies">has_multiplies</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_multiplies</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">*</span><span class="identifier">rhs</span></code>, and
-        (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">*</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">*</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_multiplies<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_multiplies</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integra [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_multiplies</span><span class [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_multiplies</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">*(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_multiplies</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator*(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">*(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_multiplies</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_multiplies</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_multiplies</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">*(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span c [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_multiplies</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier" [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">*</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_multiplies</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier"> [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">*</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_modulus_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_multiplies_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_multiplies_assign.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_multiplies_assign.html
deleted file mode 100755
index 6c3ff2c..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_multiplies_assign.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_multiplies_assign</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_multiplies.html" title="has_multiplies">
-<link rel="next" href="has_negate.html" title="has_negate">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_multiplies.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_negate.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_multiplies_assign"></a><a class="link" href="has_multiplies_assign.html" title="has_multiplies_assign">has_multiplies_assign</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_multiplies_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">*=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">*=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">*=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">*=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_multiplies_assign<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_multiplies_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title=" [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">*=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">*=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_multiplies_assign</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">*=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">*=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator*=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">*=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_multiplies_assign</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">*=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_multiplies_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">*=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span  [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_multiplies_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="iden [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">*=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_multiplies_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="ident [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">*=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_multiplies.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_negate.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_negate.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_negate.html
deleted file mode 100755
index 602512d..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_negate.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_negate</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_multiplies_assign.html" title="has_multiplies_assign">
-<link rel="next" href="has_new_operator.html" title="has_new_operator">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_multiplies_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_new_operator.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_negate"></a><a class="link" href="has_negate.html" title="has_negate">has_negate</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_negate</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">rhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Rhs</span></code> can be used in
-        expression <code class="computeroutput"><span class="special">-</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="special">-</span><span class="identifier">rhs</span></code>
-        is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> then
-        inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(-</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_negate<Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_negate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_negate</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_negate</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_negate</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_negate</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_negate</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_negate</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_negate</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_negate</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_negate</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_negate</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Rhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_negate</span><span class="sp [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_negate</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">-();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_negate</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator-() is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_negate</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_negate</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_negate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">rhs</span><span class="special">)</span> <span class="special">{</span>
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_negate</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">val [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="special">-</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_negate</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">valu [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="special">-</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_multiplies_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_new_operator.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_new_operator.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_new_operator.html
deleted file mode 100755
index 48f0767..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_new_operator.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_new_operator</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_negate.html" title="has_negate">
-<link rel="next" href="has_not_equal_to.html" title="has_not_equal_to">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_negate.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_not_equal_to.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_new_operator"></a><a class="link" href="has_new_operator.html" title="has_new_operator">has_new_operator</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_new_operator</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        type with an overloaded new-operator then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> Not usable with
-        compilers that do not support "substitution failure is not an error"
-        (in which case BOOST_NO_SFINAE will be defined), also known to be broken
-        with the Borland/Codegear compiler.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 12.5.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_new_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<p>
-        Given:
-      </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">);</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">: [...]
-<span class="keyword">class</span> <span class="identifier">C</span> <span class="special">{</span> <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="keyword">void</span><span class="special">*);</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">D</span> <span class="special">{</span> <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">[](</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">);</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">E</span> <span class="special">{</span> <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">[](</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special" [...]
-<span class="keyword">class</span> <span class="identifier">F</span> <span class="special">{</span> <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">[](</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="keyword">void</span><span class="special">*);</span> <span class="special">};</span>
-</pre>
-<p>
-        Then:
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_new_operator</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_new_operator</span><span class="special"><</span><span class="identifier">B</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_new_operator</span><span class="special"><</span><span class="identifier">C</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_new_operator</span><span class="special"><</span><span class="identifier">D</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_new_operator</span><span class="special"><</span><span class="identifier">E</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_new_operator</span><span class="special"><</span><span class="identifier">F</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_negate.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_not_equal_to.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_no_throw_def_cons.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_no_throw_def_cons.html
deleted file mode 100755
index 12336bb..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_no_throw_def_cons.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_nothrow_default_constructor</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_nothrow_cp_cons.html" title="has_nothrow_copy_constructor">
-<link rel="next" href="has_plus.html" title="has_plus">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_nothrow_cp_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_plus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_no_throw_def_cons"></a><a class="link" href="has_no_throw_def_cons.html" title="has_nothrow_default_constructor">has_nothrow_default_constructor</a>
-</h3></div></div></div>
-<p>
-        See <a class="link" href="has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_constructor</a>.
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_nothrow_cp_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_plus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_not_equal_to.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_not_equal_to.html
deleted file mode 100755
index 3fe4587..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_not_equal_to.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_not_equal_to</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_new_operator.html" title="has_new_operator">
-<link rel="next" href="has_nothrow_assign.html" title="has_nothrow_assign">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_new_operator.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_not_equal_to"></a><a class="link" href="has_not_equal_to.html" title="has_not_equal_to">has_not_equal_to</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_not_equal_to</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">!=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">!=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">!=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_not_equal_to<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_not_equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="keyword">int</span><span class="special">*,</span> <span class="keyword">double</span><span class="special">*></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integ [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_not_equal_to</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator!=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_not_equal_to</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_not_equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span  [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_not_equal_to</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifie [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">!=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_not_equal_to</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">!=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_new_operator.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_assign.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_assign.html
deleted file mode 100755
index 6e4429e..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_assign.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_nothrow_assign</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_not_equal_to.html" title="has_not_equal_to">
-<link rel="next" href="has_nothrow_constructor.html" title="has_nothrow_constructor">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_not_equal_to.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_constructor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_nothrow_assign"></a><a class="link" href="has_nothrow_assign.html" title="has_nothrow_assign">has_nothrow_assign</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_nothrow_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        type with a non-throwing assignment-operator then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-        Type <code class="computeroutput"><span class="identifier">T</span></code> must be a complete
-        type.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can not be used with function types.
-      </p>
-<p>
-        Without some (as yet unspecified) help from the compiler, <code class="computeroutput"><span class="identifier">has_nothrow_assign</span></code>
-        will never report that a class or struct has a non-throwing assignment-operator;
-        this is always safe, if possibly sub-optimal. Currently (May 2005) only Visual
-        C++ 8 has the necessary compiler support to ensure that this trait "just
-        works".
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_nothrow_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_not_equal_to.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_constructor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_constructor.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_constructor.html
deleted file mode 100755
index f7c3edc..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_constructor.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_nothrow_constructor</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_nothrow_assign.html" title="has_nothrow_assign">
-<link rel="next" href="has_nothrow_copy.html" title="has_nothrow_copy">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_nothrow_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_copy.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_nothrow_constructor"></a><a class="link" href="has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_constructor</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_nothrow_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_nothrow_default_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        type with a non-throwing default-constructor then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-        Type <code class="computeroutput"><span class="identifier">T</span></code> must be a complete
-        type.
-      </p>
-<p>
-        These two traits are synonyms for each other.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can not be used with function types.
-      </p>
-<p>
-        Without some (unspecified) help from the compiler, <code class="computeroutput"><span class="identifier">has_nothrow_constructor</span></code>
-        will never report that a class or struct has a non-throwing default-constructor;
-        this is always safe, if possibly sub-optimal. Currently (May 2011) compilers
-        more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
-        have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        to ensure that this trait "just works". You may also test to see
-        if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_NOTHROW_CONSTRUCTOR</span></code>
-        is defined.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_nothrow_constructor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_nothrow_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_copy.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_copy.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_copy.html
deleted file mode 100755
index 27d34d0..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_copy.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_nothrow_copy</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_nothrow_constructor.html" title="has_nothrow_constructor">
-<link rel="next" href="has_nothrow_cp_cons.html" title="has_nothrow_copy_constructor">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_nothrow_constructor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_cp_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_nothrow_copy"></a><a class="link" href="has_nothrow_copy.html" title="has_nothrow_copy">has_nothrow_copy</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_nothrow_copy</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_nothrow_copy_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        type with a non-throwing copy-constructor then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-        Type <code class="computeroutput"><span class="identifier">T</span></code> must be a complete
-        type.
-      </p>
-<p>
-        These two traits are synonyms for each other.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can not be used with function types.
-      </p>
-<p>
-        Without some (as yet unspecified) help from the compiler, <code class="computeroutput"><span class="identifier">has_nothrow_copy</span></code>
-        will never report that a class or struct has a non-throwing copy-constructor;
-        this is always safe, if possibly sub-optimal. Currently (May 2011) compilers
-        more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
-        have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        to ensure that this trait "just works". You may also test to see
-        if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_NOTHROW_COPY</span></code>
-        is defined.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_nothrow_copy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_nothrow_constructor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_cp_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_cp_cons.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_cp_cons.html
deleted file mode 100755
index d5f04ed..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_cp_cons.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_nothrow_copy_constructor</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_nothrow_copy.html" title="has_nothrow_copy">
-<link rel="next" href="has_no_throw_def_cons.html" title="has_nothrow_default_constructor">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_nothrow_copy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_no_throw_def_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_nothrow_cp_cons"></a><a class="link" href="has_nothrow_cp_cons.html" title="has_nothrow_copy_constructor">has_nothrow_copy_constructor</a>
-</h3></div></div></div>
-<p>
-        See <a class="link" href="has_nothrow_copy.html" title="has_nothrow_copy">has_nothrow_copy</a>.
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_nothrow_copy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_no_throw_def_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_plus.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_plus.html
deleted file mode 100755
index bb3bbcc..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_plus.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_plus</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_no_throw_def_cons.html" title="has_nothrow_default_constructor">
-<link rel="next" href="has_plus_assign.html" title="has_plus_assign">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_no_throw_def_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_plus_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_plus"></a><a class="link" href="has_plus.html" title="has_plus">has_plus</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_plus</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">+</span><span class="identifier">rhs</span></code>, and
-        (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">+</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">+</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_plus<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_plus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_cons [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_plus</span><span class="spec [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_plus</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_plus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator+(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_plus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_plus</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_plus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span c [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_plus</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">value [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">+</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_plus</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier">value< [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">+</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_no_throw_def_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_plus_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_plus_assign.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_plus_assign.html
deleted file mode 100755
index 2e477ea..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_plus_assign.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_plus_assign</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_plus.html" title="has_plus">
-<link rel="next" href="has_post_decrement.html" title="has_post_decrement">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_plus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_post_decrement.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_plus_assign"></a><a class="link" href="has_plus_assign.html" title="has_plus_assign">has_plus_assign</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_plus_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">+=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">+=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">+=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_plus_assign<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_plus_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integr [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_plus_assign</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator+=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_plus_assign</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_plus_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span  [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_plus_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">+=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_plus_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier" [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">+=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_plus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_post_decrement.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_post_decrement.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_post_decrement.html
deleted file mode 100755
index ab611da..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_post_decrement.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_post_decrement</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_plus_assign.html" title="has_plus_assign">
-<link rel="next" href="has_post_increment.html" title="has_post_increment">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_plus_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_post_increment.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_post_decrement"></a><a class="link" href="has_post_decrement.html" title="has_post_decrement">has_post_decrement</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_post_decrement</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> can be used in
-        expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">--</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">--</span></code>
-        is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> then
-        inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of postfix <code class="computeroutput"><span class="keyword">operator</span><span class="special">--</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">--);</span> <span class="comment">// is valid if has_post_decrement<Lhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_post_decrement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="keyword">void</span><span class="special">*></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether postfix <code class="computeroutput"><span class="keyword">operator</span><span class="special">--</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">--</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_post_decrement</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">--</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">--(</span><span class="keyword">int</span><span class="special">);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator--(int) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">--(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">int</span><span class="special">);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_post_decrement</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">--</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_post_decrement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">--(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span> <span class="special">{</span>
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_post_decrement</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identif [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">--;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_post_decrement</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifi [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">--;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_plus_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_post_increment.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_post_increment.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_post_increment.html
deleted file mode 100755
index 1d27b7d..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_post_increment.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_post_increment</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_post_decrement.html" title="has_post_decrement">
-<link rel="next" href="has_pre_decrement.html" title="has_pre_decrement">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_post_decrement.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_pre_decrement.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_post_increment"></a><a class="link" href="has_post_increment.html" title="has_post_increment">has_post_increment</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_post_increment</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> can be used in
-        expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">++</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">++</span></code>
-        is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> then
-        inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of postfix <code class="computeroutput"><span class="keyword">operator</span><span class="special">++</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">++);</span> <span class="comment">// is valid if has_post_increment<Lhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_post_increment</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="keyword">void</span><span class="special">*></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether postfix <code class="computeroutput"><span class="keyword">operator</span><span class="special">++</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">++</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_post_increment</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_post_increment</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">++</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_post_increment</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator++(int) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">int</span><span class="special">);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_post_increment</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_post_increment</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">++</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_post_increment</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span> <span class="special">{</span>
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_post_increment</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identif [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">++;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_post_increment</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifi [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">++;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_post_decrement.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_pre_decrement.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_pre_decrement.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_pre_decrement.html
deleted file mode 100755
index 68ff11e..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_pre_decrement.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_pre_decrement</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_post_increment.html" title="has_post_increment">
-<link rel="next" href="has_pre_increment.html" title="has_pre_increment">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_post_increment.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_pre_increment.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_pre_decrement"></a><a class="link" href="has_pre_decrement.html" title="has_pre_decrement">has_pre_decrement</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_pre_decrement</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">rhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Rhs</span></code> can be used in
-        expression <code class="computeroutput"><span class="special">--</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="special">--</span><span class="identifier">rhs</span></code>
-        is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> then
-        inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">--</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(--</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_pre_decrement<Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_pre_decrement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="keyword">void</span><span class="special">*></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">--</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">--</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Rhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_pre_decrement</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">--</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">--();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator--() is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">--(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_pre_decrement</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">--</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_pre_decrement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">--(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">rhs</span><span class="special">)</span> <span class="special">{</span>
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_pre_decrement</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifi [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="special">--</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_pre_decrement</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifie [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="special">--</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_post_increment.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_pre_increment.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_pre_increment.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_pre_increment.html
deleted file mode 100755
index 938913a..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_pre_increment.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_pre_increment</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_pre_decrement.html" title="has_pre_decrement">
-<link rel="next" href="has_right_shift.html" title="has_right_shift">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_pre_decrement.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_right_shift.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_pre_increment"></a><a class="link" href="has_pre_increment.html" title="has_pre_increment">has_pre_increment</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_pre_increment</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">rhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Rhs</span></code> can be used in
-        expression <code class="computeroutput"><span class="special">++</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="special">++</span><span class="identifier">rhs</span></code>
-        is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> then
-        inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">++</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(++</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_pre_increment<Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_pre_increment</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="keyword">void</span><span class="special">*></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">++</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">++</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Rhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_pre_increment</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">++</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">++();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator++() is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_pre_increment</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">++</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_pre_increment</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">rhs</span><span class="special">)</span> <span class="special">{</span>
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_pre_increment</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifi [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="special">++</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_pre_increment</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifie [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="special">++</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_pre_decrement.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_right_shift.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_right_shift.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_right_shift.html
deleted file mode 100755
index 5135686..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_right_shift.html
+++ /dev/null
@@ -1,204 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_right_shift</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_pre_increment.html" title="has_pre_increment">
-<link rel="next" href="has_right_shift_assign.html" title="has_right_shift_assign">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_pre_increment.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_right_shift_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_right_shift"></a><a class="link" href="has_right_shift.html" title="has_right_shift">has_right_shift</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_right_shift</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">>></span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">>></span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">>></span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">>></span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_right_shift<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_right_shift</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integr [...]
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">>></span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">>></span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_right_shift</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_right_shift</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">>></span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">>>(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_right_shift</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator>>(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">>>(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_right_shift</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_right_shift</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">>></span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_right_shift</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">>>(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span> [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_right_shift</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">>></span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_right_shift</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier" [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">>></span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_pre_increment.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_right_shift_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_right_shift_assign.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_right_shift_assign.html
deleted file mode 100755
index e5352fb..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_right_shift_assign.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_right_shift_assign</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_right_shift.html" title="has_right_shift">
-<link rel="next" href="has_trivial_assign.html" title="has_trivial_assign">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_right_shift.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_trivial_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_right_shift_assign"></a><a class="link" href="has_right_shift_assign.html" title="has_right_shift_assign">has_right_shift_assign</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">=</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">d [...]
-<span class="keyword">struct</span> <span class="identifier">has_right_shift_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">lhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Lhs</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code> of type <code class="computeroutput"><span class="identifier">Rhs</span></code>
-        can be used in expression <code class="computeroutput"><span class="identifier">lhs</span><span class="special">>>=</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="identifier">lhs</span><span class="special">>>=</span><span class="identifier">rhs</span></code> is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">>>=</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Lhs</span> <span class="identifier">lhs</span><span class="special">;</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">>>=</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_right_shift_assign<Lhs, Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_right_shift_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code>
-          is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is a <code class="computeroutput"><span class="keyword">bool</span></code> integral constant
-          expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is a <code class="computeroutput"><span class="keyword">bool</span></code> integral constant
-          expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift_assign</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span>
-          <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift_assign</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_right_shift_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span>
-          <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">>>=</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">>>=</span></code>
-            is defined as a private member of <code class="computeroutput"><span class="identifier">Lhs</span></code>
-            then instantiating <code class="computeroutput"><span class="identifier">has_right_shift_assign</span><span class="special"><</span><span class="identifier">Lhs</span><span class="special">></span></code> will produce a compiler error. For
-            this reason <code class="computeroutput"><span class="identifier">has_right_shift_assign</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">>>=</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">>>=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_right_shift_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator>>=(const A&) is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">>>=(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_right_shift_assign</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_right_shift_assign</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">>>=</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_right_shift_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">>>=(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span [...]
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&,</span> <span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_right_shift_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="ide [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="identifier">g</span><span class="special">>>=</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_right_shift_assign</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="iden [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="identifier">b</span><span class="special">>>=</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_right_shift.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_trivial_assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_assign.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_assign.html
deleted file mode 100755
index 5fa5d46..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_assign.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_trivial_assign</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_right_shift_assign.html" title="has_right_shift_assign">
-<link rel="next" href="has_trivial_constructor.html" title="has_trivial_constructor">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_right_shift_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_trivial_constructor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_trivial_assign"></a><a class="link" href="has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_trivial_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        type with a trivial assignment-operator then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        If a type has a trivial assignment-operator then the operator has the same
-        effect as copying the bits of one object to the other: calls to the operator
-        can be safely replaced with a call to <code class="computeroutput"><span class="identifier">memcpy</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can not be used with function types.
-      </p>
-<p>
-        Without some (as yet unspecified) help from the compiler, has_trivial_assign
-        will never report that a user-defined class or struct has a trivial constructor;
-        this is always safe, if possibly sub-optimal. Currently (May 2011) compilers
-        more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
-        have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        to ensure that this trait "just works". You may also test to see
-        if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_TRIVIAL_ASSIGN</span></code>
-        is defined.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 12.8p11.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_trivial_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(*)(</span><span class="keyword">long</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special"><</span><span class="identifier">MyClass</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_right_shift_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_trivial_constructor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_constructor.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_constructor.html
deleted file mode 100755
index edfaebb..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_constructor.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_trivial_constructor</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_trivial_assign.html" title="has_trivial_assign">
-<link rel="next" href="has_trivial_copy.html" title="has_trivial_copy">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_trivial_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_trivial_copy.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_trivial_constructor"></a><a class="link" href="has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_constructor</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_trivial_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_trivial_default_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        type with a trivial default-constructor then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        These two traits are synonyms for each other.
-      </p>
-<p>
-        If a type has a trivial default-constructor then the constructor have no
-        effect: calls to the constructor can be safely omitted. Note that using meta-programming
-        to omit a call to a single trivial-constructor call is of no benefit whatsoever.
-        However, if loops and/or exception handling code can also be omitted, then
-        some benefit in terms of code size and speed can be obtained.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can not be used with function types.
-      </p>
-<p>
-        Without some (as yet unspecified) help from the compiler, has_trivial_constructor
-        will never report that a user-defined class or struct has a trivial constructor;
-        this is always safe, if possibly sub-optimal. Currently (May 2011) compilers
-        more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
-        have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        to ensure that this trait "just works". You may also test to see
-        if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_TRIVIAL_CONSTRUCTOR</span></code>
-        is defined.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 12.1p6.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_trivial_constructor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(*)(</span><span class="keyword">long</span><span class="special">)>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special"><</span><span class="identifier">MyClass</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code>
-          is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_trivial_assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_trivial_copy.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_copy.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_copy.html
deleted file mode 100755
index fcedb0b..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_copy.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_trivial_copy</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_trivial_constructor.html" title="has_trivial_constructor">
-<link rel="next" href="has_trivial_cp_cons.html" title="has_trivial_copy_constructor">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_trivial_constructor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_trivial_cp_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_trivial_copy"></a><a class="link" href="has_trivial_copy.html" title="has_trivial_copy">has_trivial_copy</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_trivial_copy</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_trivial_copy_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        type with a trivial copy-constructor then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        These two traits are synonyms for each other.
-      </p>
-<p>
-        If a type has a trivial copy-constructor then the constructor has the same
-        effect as copying the bits of one object to the other: calls to the constructor
-        can be safely replaced with a call to <code class="computeroutput"><span class="identifier">memcpy</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can not be used with function types.
-      </p>
-<p>
-        Without some (as yet unspecified) help from the compiler, has_trivial_copy
-        will never report that a user-defined class or struct has a trivial constructor;
-        this is always safe, if possibly sub-optimal. Currently (May 2011) compilers
-        more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
-        have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        to ensure that this trait "just works". You may also test to see
-        if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_TRIVIAL_COPY</span></code>
-        is defined.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 12.8p6.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_trivial_copy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(*)(</span><span class="keyword">long</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special"><</span><span class="identifier">MyClass</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_trivial_constructor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_trivial_cp_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_cp_cons.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_cp_cons.html
deleted file mode 100755
index 4d84f64..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_cp_cons.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_trivial_copy_constructor</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_trivial_copy.html" title="has_trivial_copy">
-<link rel="next" href="has_trivial_def_cons.html" title="has_trivial_default_constructor">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_trivial_copy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_trivial_def_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_trivial_cp_cons"></a><a class="link" href="has_trivial_cp_cons.html" title="has_trivial_copy_constructor">has_trivial_copy_constructor</a>
-</h3></div></div></div>
-<p>
-        See <a class="link" href="has_trivial_copy.html" title="has_trivial_copy">has_trivial_copy</a>.
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_trivial_copy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_trivial_def_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_def_cons.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_def_cons.html
deleted file mode 100755
index c69c917..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_def_cons.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_trivial_default_constructor</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_trivial_cp_cons.html" title="has_trivial_copy_constructor">
-<link rel="next" href="has_trivial_destructor.html" title="has_trivial_destructor">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_trivial_cp_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_trivial_destructor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_trivial_def_cons"></a><a class="link" href="has_trivial_def_cons.html" title="has_trivial_default_constructor">has_trivial_default_constructor</a>
-</h3></div></div></div>
-<p>
-        See <a class="link" href="has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_constructor</a>.
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_trivial_cp_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_trivial_destructor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_destructor.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_destructor.html
deleted file mode 100755
index cd74bb9..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_trivial_destructor.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_trivial_destructor</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_trivial_def_cons.html" title="has_trivial_default_constructor">
-<link rel="next" href="has_unary_minus.html" title="has_unary_minus">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_trivial_def_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_unary_minus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_trivial_destructor"></a><a class="link" href="has_trivial_destructor.html" title="has_trivial_destructor">has_trivial_destructor</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_trivial_destructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        type with a trivial destructor then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        If a type has a trivial destructor then the destructor has no effect: calls
-        to the destructor can be safely omitted. Note that using meta-programming
-        to omit a call to a single trivial-constructor call is of no benefit whatsoever.
-        However, if loops and/or exception handling code can also be omitted, then
-        some benefit in terms of code size and speed can be obtained.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can not be used with function types.
-      </p>
-<p>
-        Without some (as yet unspecified) help from the compiler, has_trivial_destructor
-        will never report that a user-defined class or struct has a trivial destructor;
-        this is always safe, if possibly sub-optimal. Currently (May 2011) compilers
-        more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
-        have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        to ensure that this trait "just works". You may also test to see
-        if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_TRIVIAL_DESTRUCTOR</span></code>
-        is defined.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 12.4p3.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_trivial_destructor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(*)(</span><span class="keyword">long</span><span class="special">)>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special"><</span><span class="identifier">MyClass</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code>
-          is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_trivial_def_cons.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_unary_minus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_unary_minus.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_unary_minus.html
deleted file mode 100755
index 55d0380..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_unary_minus.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_unary_minus</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_trivial_destructor.html" title="has_trivial_destructor">
-<link rel="next" href="has_unary_plus.html" title="has_unary_plus">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_trivial_destructor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_unary_plus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_unary_minus"></a><a class="link" href="has_unary_minus.html" title="has_unary_minus">has_unary_minus</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_unary_minus</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">rhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Rhs</span></code> can be used in
-        expression <code class="computeroutput"><span class="special">-</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="special">-</span><span class="identifier">rhs</span></code>
-        is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> then
-        inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(-</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_unary_minus<Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_unary_minus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Rhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_unary_minus</span><span clas [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_unary_minus</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">-();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator-() is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_minus</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_unary_minus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">rhs</span><span class="special">)</span> <span class="special">{</span>
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_minus</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="special">-</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_minus</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier" [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="special">-</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_trivial_destructor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_unary_plus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_unary_plus.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_unary_plus.html
deleted file mode 100755
index 54add21..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_unary_plus.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_unary_plus</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_unary_minus.html" title="has_unary_minus">
-<link rel="next" href="has_virtual_destructor.html" title="has_virtual_destructor">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_unary_minus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_virtual_destructor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_unary_plus"></a><a class="link" href="has_unary_plus.html" title="has_unary_plus">has_unary_plus</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_unary_plus</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If (i) <code class="computeroutput"><span class="identifier">rhs</span></code>
-        of type <code class="computeroutput"><span class="identifier">Rhs</span></code> can be used in
-        expression <code class="computeroutput"><span class="special">+</span><span class="identifier">rhs</span></code>,
-        and (ii) <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code> or the result of expression
-        <code class="computeroutput"><span class="special">+</span><span class="identifier">rhs</span></code>
-        is convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> then
-        inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        The default behaviour (<code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="identifier">dont_care</span></code>)
-        is to not check for the return value of prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code>. If <code class="computeroutput"><span class="identifier">Ret</span></code>
-        is different from the default <code class="computeroutput"><span class="identifier">dont_care</span></code>
-        type, the return value is checked to be convertible to <code class="computeroutput"><span class="identifier">Ret</span></code>.
-        Convertible to <code class="computeroutput"><span class="identifier">Ret</span></code> means
-        that the return value of the operator can be used as argument to a function
-        expecting <code class="computeroutput"><span class="identifier">Ret</span></code>: 
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">Ret</span><span class="special">);</span>
-<span class="identifier">Rhs</span> <span class="identifier">rhs</span><span class="special">;</span>
-<span class="identifier">f</span><span class="special">(+</span><span class="identifier">rhs</span><span class="special">);</span> <span class="comment">// is valid if has_unary_plus<Rhs, Ret>::value==true</span>
-</pre>
-<p>
-        If <code class="computeroutput"><span class="identifier">Ret</span><span class="special">=</span><span class="keyword">void</span></code>, the return type is checked to be exactly
-        <code class="computeroutput"><span class="keyword">void</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"><span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_unary_plus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="identifier">Rhs</span><span class="special">,</span> <span class="identifier">Ret</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is a <code class="computeroutput"><span class="keyword">bool</span></code>
-          integral constant expression that evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<p>
-        <span class="bold"><strong>See also:</strong></span> <a class="link" href="../category/value_traits/operators.html" title="Operator Type Traits">Operator
-        Type Traits</a>
-      </p>
-<p>
-        <span class="bold"><strong>Limitation:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-            Requires a compiler with working SFINAE.
-          </li></ul></div>
-<p>
-        <span class="bold"><strong>Known issues:</strong></span>
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            This trait cannot detect whether prefix <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code> is public or not: if <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code> is defined as a private member of <code class="computeroutput"><span class="identifier">Rhs</span></code> then instantiating <code class="computeroutput"><span class="identifier">has_unary_plus</span><span class [...]
-            will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">has_unary_plus</span></code>
-            cannot be used to determine whether a type has a public <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code>
-            or not. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">private</span><span class="special">:</span> <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">+();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: A::operator+() is private</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue if the operator exists only for type <code class="computeroutput"><span class="identifier">A</span></code> and <code class="computeroutput"><span class="identifier">B</span></code>
-            is convertible to <code class="computeroutput"><span class="identifier">A</span></code>.
-            In this case, the compiler will report an ambiguous overload. 
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&);</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">operator</span> <span class="identifier">A</span><span class="special">();</span> <span class="special">};</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// this is fine</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_plus</span><span class="special"><</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">value</span><span class="special">;</span> <span class="comment">// error: ambiguous overload</span>
-</pre>
-          </li>
-<li class="listitem">
-            There is an issue when applying this trait to template classes. If <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code>
-            is defined but does not bind for a given template type, it is still detected
-            by the trait which returns <code class="computeroutput"><span class="keyword">true</span></code>
-            instead of <code class="computeroutput"><span class="keyword">false</span></code>. Example:
-            
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_unary_plus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">contains</span> <span class="special">{</span> <span class="identifier">T</span> <span class="identifier">data</span><span class="special">;</span> <span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <span class="identifier">contains</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">&</span><span class="identifier">rhs</span><span class="special">)</span> <span class="special">{</span>
-	<span class="keyword">return</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">.</span><span class="identifier">data</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">bad</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">class</span> <span class="identifier">good</span> <span class="special">{</span> <span class="special">};</span>
-<span class="keyword">bool</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">good</span><span class="special">&)</span> <span class="special">{</span> <span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">boolalpha</span><span class="special">;</span>
-	<span class="comment">// works fine for contains<good></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_plus</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">good</span> <span class="special">></span> <span class="special">>::</span><span class="identifier" [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">good</span><span class="special">></span> <span class="identifier">g</span><span class="special">;</span>
-	<span class="special">+</span><span class="identifier">g</span><span class="special">;</span> <span class="comment">// ok</span>
-	<span class="comment">// does not work for contains<bad></span>
-	<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special"><<</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_unary_plus</span><span class="special"><</span> <span class="identifier">contains</span><span class="special"><</span> <span class="identifier">bad</span> <span class="special">></span> <span class="special">>::</span><span class="identifier"> [...]
-	<span class="identifier">contains</span><span class="special"><</span><span class="identifier">bad</span><span class="special">></span> <span class="identifier">b</span><span class="special">;</span>
-	<span class="special">+</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">// compile time error</span>
-	<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-          </li>
-<li class="listitem">
-            <code class="computeroutput"><span class="keyword">volatile</span></code> qualifier is not
-            properly handled and would lead to undefined behavior
-          </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_unary_minus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_virtual_destructor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_virtual_destructor.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_virtual_destructor.html
deleted file mode 100755
index 38816d9..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/has_virtual_destructor.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>has_virtual_destructor</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_unary_plus.html" title="has_unary_plus">
-<link rel="next" href="integral_constant.html" title="integral_constant">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_unary_plus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="integral_constant.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.has_virtual_destructor"></a><a class="link" href="has_virtual_destructor.html" title="has_virtual_destructor">has_virtual_destructor</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">has_virtual_destructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        type with a virtual destructor then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> This trait is provided
-        for completeness, since it's part of the Technical Report on C++ Library
-        Extensions. However, there is currently no way to portably implement this
-        trait. The default version provided always inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>,
-        and has to be explicitly specialized for types with virtual destructors unless
-        the compiler used has compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        that enable the trait to do the right thing: Currently (May 2011) compilers
-        more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
-        have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        to ensure that this trait "just works". You may also test to see
-        if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_VIRTUAL_DESTRUCTOR</span></code>
-        is defined.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 12.4.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_virtual_destructor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_unary_plus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="integral_constant.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/integral_constant.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/integral_constant.html
deleted file mode 100755
index ab50819..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/integral_constant.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>integral_constant</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="has_virtual_destructor.html" title="has_virtual_destructor">
-<link rel="next" href="integral_promotion.html" title="integral_promotion">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_virtual_destructor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="integral_promotion.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.integral_constant"></a><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">val</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">integral_constant</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <span class="identifier">integral_constant</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">val</span><span class="special">></span>  <span class="identifier">type</span><span class="special">;</span>
-   <span class="keyword">typedef</span> <span class="identifier">T</span>                          <span class="identifier">value_type</span><span class="special">;</span>
-   <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">val</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">typedef</span> <span class="identifier">integral_constant</span><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span> <span class="keyword">true</span><span class="special">></span>  <span class="identifier">true_type</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">integral_constant</span><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span> <span class="keyword">false</span><span class="special">></span> <span class="identifier">false_type</span><span class="special">;</span>
-</pre>
-<p>
-        Class template <code class="computeroutput"><span class="identifier">integral_constant</span></code>
-        is the common base class for all the value-based type traits. The two typedef's
-        <code class="computeroutput"><span class="identifier">true_type</span></code> and <code class="computeroutput"><span class="identifier">false_type</span></code> are provided for convenience:
-        most of the value traits are Boolean properties and so will inherit from
-        one of these.
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="has_virtual_destructor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="integral_promotion.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/integral_promotion.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/integral_promotion.html
deleted file mode 100755
index 4399fae..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/integral_promotion.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>integral_promotion</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="integral_constant.html" title="integral_constant">
-<link rel="next" href="is_abstract.html" title="is_abstract">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="integral_constant.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_abstract.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.integral_promotion"></a><a class="link" href="integral_promotion.html" title="integral_promotion">integral_promotion</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">integral_promotion</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> If integral promotion can be applied
-        to an rvalue of type <code class="computeroutput"><span class="identifier">T</span></code>, then
-        applies integral promotion to <code class="computeroutput"><span class="identifier">T</span></code>
-        and keeps cv-qualifiers of <code class="computeroutput"><span class="identifier">T</span></code>,
-        otherwise leaves <code class="computeroutput"><span class="identifier">T</span></code> unchanged.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 4.5 except 4.5/3
-        (integral bit-field).
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">integral_promotion</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.integral_promotion.examples"></a><p class="title"><b>Table 1.21. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">integral_promotion</span><span class="special"><</span><span class="keyword">short</span>
-                  <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">integral_promotion</span><span class="special"><</span><span class="keyword">short</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">short</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">integral_promotion</span><span class="special"><</span><span class="keyword">enum</span>
-                  <span class="identifier">std</span><span class="special">::</span><span class="identifier">float_round_style</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="integral_constant.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_abstract.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_abstract.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_abstract.html
deleted file mode 100755
index 2fdc531..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_abstract.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_abstract</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="integral_promotion.html" title="integral_promotion">
-<link rel="next" href="is_arithmetic.html" title="is_arithmetic">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="integral_promotion.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_arithmetic.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_abstract"></a><a class="link" href="is_abstract.html" title="is_abstract">is_abstract</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_abstract</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        abstract type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 10.3.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_abstract</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> The compiler must
-        support DR337 (as of April 2005: GCC 3.4, VC++ 7.1 (and later), Intel C++
-        7 (and later), and Comeau 4.3.2). Otherwise behaves the same as <a class="link" href="is_polymorphic.html" title="is_polymorphic">is_polymorphic</a>;
-        this is the "safe fallback position" for which polymorphic types
-        are always regarded as potentially abstract. The macro BOOST_NO_IS_ABSTRACT
-        is used to signify that the implementation is buggy, users should check for
-        this in their own code if the "safe fallback" is not suitable for
-        their particular use-case.
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          Given: <code class="computeroutput"><span class="keyword">class</span> <span class="identifier">abc</span><span class="special">{</span> <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">abc</span><span class="special">()</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="special">};</span></code>
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_abstract</span><span class="special"><</span><span class="identifier">abc</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_abstract</span><span class="special"><</span><span class="identifier">abc</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_abstract</span><span class="special"><</span><span class="identifier">abc</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_abstract</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="integral_promotion.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_arithmetic.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_arithmetic.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_arithmetic.html
deleted file mode 100755
index 1d82e43..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_arithmetic.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_arithmetic</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_abstract.html" title="is_abstract">
-<link rel="next" href="is_array.html" title="is_array">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_abstract.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_array.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_arithmetic"></a><a class="link" href="is_arithmetic.html" title="is_arithmetic">is_arithmetic</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_arithmetic</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        arithmetic type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-        Arithmetic types include integral and floating point types (see also <a class="link" href="is_integral.html" title="is_integral">is_integral</a> and
-        <a class="link" href="is_floating_point.html" title="is_floating_point">is_floating_point</a>).
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p8.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_arithmetic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_arithmetic</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_arithmetic</span><span class="special"><</span><span class="keyword">char</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_arithmetic</span><span class="special"><</span><span class="keyword">double</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_arithmetic</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_abstract.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_array.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_array.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_array.html
deleted file mode 100755
index 1755679..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_array.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_array</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_arithmetic.html" title="is_arithmetic">
-<link rel="next" href="is_base_of.html" title="is_base_of">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_arithmetic.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_base_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_array"></a><a class="link" href="is_array.html" title="is_array">is_array</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_array</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        array type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.4.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can give the wrong result with function types.
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_array</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">2</span><span class="special">]></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_array</span><span class="special"><</span><span class="keyword">char</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">]>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_array</span><span class="special"><</span><span class="keyword">double</span><span class="special">[]>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_array</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_arithmetic.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_base_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_base_of.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_base_of.html
deleted file mode 100755
index d4fd613..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_base_of.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_base_of</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_array.html" title="is_array">
-<link rel="next" href="is_class.html" title="is_class">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_class.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_base_of"></a><a class="link" href="is_base_of.html" title="is_base_of">is_base_of</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Base</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_base_of</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If Base is base class of type
-        Derived or if both types are the same class type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        This template will detect non-public base classes, and ambiguous base classes.
-      </p>
-<p>
-        Note that <code class="computeroutput"><span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">X</span><span class="special">,</span><span class="identifier">X</span><span class="special">></span></code> will inherit from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>
-        if X is a class type. This is a change in behaviour from Boost-1.39.0 in
-        order to track the emerging C++0x standard.
-      </p>
-<p>
-        Types <code class="computeroutput"><span class="identifier">Base</span></code> and <code class="computeroutput"><span class="identifier">Derived</span></code> must not be incomplete types.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 10.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_base_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can not be used with function types. There are some older compilers which
-        will produce compiler errors if <code class="computeroutput"><span class="identifier">Base</span></code>
-        is a private base class of <code class="computeroutput"><span class="identifier">Derived</span></code>,
-        or if <code class="computeroutput"><span class="identifier">Base</span></code> is an ambiguous
-        base of <code class="computeroutput"><span class="identifier">Derived</span></code>. These compilers
-        include Borland C++, older versions of Sun Forte C++, Digital Mars C++, and
-        older versions of EDG based compilers.
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          Given: <code class="computeroutput"> <span class="keyword">class</span> <span class="identifier">Base</span><span class="special">{};</span> <span class="keyword">class</span> <span class="identifier">Derived</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">Base</span><span class="special">{};</span></code>
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Base</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>: a class is regarded as it's
-          own base.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code>
-          is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_class.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_class.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_class.html
deleted file mode 100755
index d332467..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_class.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_class</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_base_of.html" title="is_base_of">
-<link rel="next" href="is_complex.html" title="is_complex">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_base_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_complex.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_class"></a><a class="link" href="is_class.html" title="is_class">is_class</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_class</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        class type (and not a union type) then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 9.2.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_class</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> Without (some as
-        yet unspecified) help from the compiler, we cannot distinguish between union
-        and class types, as a result this type will erroneously inherit from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a> for
-        union types. See also <a class="link" href="is_union.html" title="is_union">is_union</a>.
-        Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills
-        6.0, Intel-11.0, and Codegear have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        to ensure that this trait "just works". You may also test to see
-        if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_IS_CLASS</span></code>
-        is defined.
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          Given: <code class="computeroutput"><span class="keyword">class</span> <span class="identifier">MyClass</span><span class="special">;</span></code> then:
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">MyClass</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">MyClass</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">MyClass</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">MyClass</span><span class="special">&>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">MyClass</span><span class="special">*>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_base_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_complex.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_complex.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_complex.html
deleted file mode 100755
index 31756fe..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_complex.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_complex</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_class.html" title="is_class">
-<link rel="next" href="is_compound.html" title="is_compound">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_class.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_compound.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_complex"></a><a class="link" href="is_complex.html" title="is_complex">is_complex</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_complex</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If <code class="computeroutput"><span class="identifier">T</span></code>
-        is a complex number type then true (of type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span></code>
-        for some type <code class="computeroutput"><span class="identifier">U</span></code>), otherwise
-        false.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 26.2.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_complex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_class.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_compound.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_compound.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_compound.html
deleted file mode 100755
index a0e8ad1..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_compound.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_compound</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_complex.html" title="is_complex">
-<link rel="next" href="is_const.html" title="is_const">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_complex.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_const.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_compound"></a><a class="link" href="is_compound.html" title="is_compound">is_compound</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_compound</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        compound type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-        Any type that is not a fundamental type is a compound type (see also <a class="link" href="is_fundamental.html" title="is_fundamental">is_fundamental</a>).
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_compound</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_compound</span><span class="special"><</span><span class="identifier">MyClass</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_compound</span><span class="special"><</span><span class="identifier">MyEnum</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_compound</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_compound</span><span class="special"><</span><span class="keyword">int</span><span class="special">&>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_compound</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_compound</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_complex.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_const.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_const.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_const.html
deleted file mode 100755
index 26ce06a..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_const.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_const</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_compound.html" title="is_compound">
-<link rel="next" href="is_convertible.html" title="is_convertible">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_compound.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_convertible.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_const"></a><a class="link" href="is_const.html" title="is_const">is_const</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_const</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (top level) const-qualified
-        type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_const</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_const</span><span class="special"><</span><span class="keyword">int</span><span class="special">*</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">*>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>:
-          the const-qualifier is not at the top level in this case.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>:
-          the const-qualifier is not at the top level in this case.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_const</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_const</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_compound.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_convertible.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_convertible.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_convertible.html
deleted file mode 100755
index e4083e6..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_convertible.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_convertible</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_const.html" title="is_const">
-<link rel="next" href="is_empty.html" title="is_empty">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_const.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_empty.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_convertible"></a><a class="link" href="is_convertible.html" title="is_convertible">is_convertible</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">From</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">To</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_convertible</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If an imaginary rvalue of type
-        <code class="computeroutput"><span class="identifier">From</span></code> is convertible to type
-        <code class="computeroutput"><span class="identifier">To</span></code> then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        Type From must not be an incomplete type.
-      </p>
-<p>
-        Type To must not be an incomplete, or function type.
-      </p>
-<p>
-        No types are considered to be convertible to array types or abstract-class
-        types.
-      </p>
-<p>
-        This template can not detect whether a converting-constructor is <code class="computeroutput"><span class="keyword">public</span></code> or not: if type <code class="computeroutput"><span class="identifier">To</span></code>
-        has a <code class="computeroutput"><span class="keyword">private</span></code> converting constructor
-        from type <code class="computeroutput"><span class="identifier">From</span></code> then instantiating
-        <code class="computeroutput"><span class="identifier">is_convertible</span><span class="special"><</span><span class="identifier">From</span><span class="special">,</span> <span class="identifier">To</span><span class="special">></span></code>
-        will produce a compiler error. For this reason <code class="computeroutput"><span class="identifier">is_convertible</span></code>
-        can not be used to determine whether a type has a <code class="computeroutput"><span class="keyword">public</span></code>
-        copy-constructor or not.
-      </p>
-<p>
-        This template will also produce compiler errors if the conversion is ambiguous,
-        for example:
-      </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{};</span>
-<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">:</span> <span class="identifier">A</span> <span class="special">{};</span>
-<span class="keyword">struct</span> <span class="identifier">C</span> <span class="special">:</span> <span class="identifier">A</span> <span class="special">{};</span>
-<span class="keyword">struct</span> <span class="identifier">D</span> <span class="special">:</span> <span class="identifier">B</span><span class="special">,</span> <span class="identifier">C</span> <span class="special">{};</span>
-<span class="comment">// This produces a compiler error, the conversion is ambiguous:</span>
-<span class="keyword">bool</span> <span class="keyword">const</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_convertible</span><span class="special"><</span><span class="identifier">D</span><span class="special">*,</span><span class="identifier">A</span><span class="special">*>::</span><span class="identifier">value</span><span class="special">;</span>
-</pre>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 4 and 8.5.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> This template is
-        currently broken with Borland C++ Builder 5 (and earlier), for constructor-based
-        conversions, and for the Metrowerks 7 (and earlier) compiler in all cases.
-        If the compiler does not support <code class="computeroutput"><a class="link" href="is_abstract.html" title="is_abstract">is_abstract</a></code>,
-        then the template parameter <code class="computeroutput"><span class="identifier">To</span></code>
-        must not be an abstract type.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_convertible</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_convertible</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_convertible</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_convertible</span><span class="special"><</span><span class="keyword">int</span><span class="special">*</span> <span class="keyword">const</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_convertible</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">*,</span> <span class="keyword">int</span><span class="special">*>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>: the conversion would require
-          a <code class="computeroutput"><span class="keyword">const_cast</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_convertible</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&,</span> <span class="keyword">long</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_convertible</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_convertible</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code>
-          is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_const.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_empty.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_empty.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_empty.html
deleted file mode 100755
index cb7bdd6..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_empty.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_empty</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_convertible.html" title="is_convertible">
-<link rel="next" href="is_enum.html" title="is_enum">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_convertible.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_enum.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_empty"></a><a class="link" href="is_empty.html" title="is_empty">is_empty</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_empty</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is an empty class type (and
-        not a union type) then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 10p5.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_empty</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> In order to correctly
-        detect empty classes this trait relies on either:
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-            the compiler implementing zero sized empty base classes, or
-          </li>
-<li class="listitem">
-            the compiler providing <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-            to detect empty classes - this latter case can be tested for by checking
-            to see if the macro BOOST_IS_EMPTY is defined.
-          </li>
-</ul></div>
-<p>
-        Can not be used with incomplete types.
-      </p>
-<p>
-        Can not be used with union types, until is_union can be made to work.
-      </p>
-<p>
-        If the compiler does not support partial-specialization of class templates,
-        then this template can not be used with abstract types.
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          Given: <code class="computeroutput"><span class="keyword">struct</span> <span class="identifier">empty_class</span>
-          <span class="special">{};</span></code>
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_empty</span><span class="special"><</span><span class="identifier">empty_class</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_empty</span><span class="special"><</span><span class="identifier">empty_class</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_empty</span><span class="special"><</span><span class="identifier">empty_class</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_empty</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_convertible.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_enum.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_enum.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_enum.html
deleted file mode 100755
index 2cf3ec1..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_enum.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_enum</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_empty.html" title="is_empty">
-<link rel="next" href="is_floating_point.html" title="is_floating_point">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_empty.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_floating_point.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_enum"></a><a class="link" href="is_enum.html" title="is_enum">is_enum</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_enum</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        enum type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 7.2.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_enum</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> Requires a correctly
-        functioning <a class="link" href="is_convertible.html" title="is_convertible">is_convertible</a>
-        template; this means that is_enum is currently broken under Borland C++ Builder
-        5, and for the Metrowerks compiler prior to version 8, other compilers should
-        handle this template just fine.
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          Given: <code class="computeroutput"><span class="keyword">enum</span> <span class="identifier">my_enum</span>
-          <span class="special">{</span> <span class="identifier">one</span><span class="special">,</span> <span class="identifier">two</span> <span class="special">};</span></code>
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_enum</span><span class="special"><</span><span class="identifier">my_enum</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_enum</span><span class="special"><</span><span class="identifier">my_enum</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_enum</span><span class="special"><</span><span class="identifier">my_enum</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_enum</span><span class="special"><</span><span class="identifier">my_enum</span><span class="special">&>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_enum</span><span class="special"><</span><span class="identifier">my_enum</span><span class="special">*>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_enum</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_empty.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_floating_point.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_floating_point.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_floating_point.html
deleted file mode 100755
index 40b416c..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_floating_point.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_floating_point</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_enum.html" title="is_enum">
-<link rel="next" href="is_function.html" title="is_function">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_enum.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_function.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_floating_point"></a><a class="link" href="is_floating_point.html" title="is_floating_point">is_floating_point</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_floating_point</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        floating point type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p8.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_floating_point</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_floating_point</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_floating_point</span><span class="special"><</span><span class="keyword">double</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_floating_point</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_floating_point</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_enum.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_function.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_function.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_function.html
deleted file mode 100755
index 1f87bfb..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_function.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_function</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_floating_point.html" title="is_floating_point">
-<link rel="next" href="is_fundamental.html" title="is_fundamental">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_floating_point.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_fundamental.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_function"></a><a class="link" href="is_function.html" title="is_function">is_function</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_function</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        function type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-        Note that this template does not detect <span class="emphasis"><em>pointers to functions</em></span>,
-        or <span class="emphasis"><em>references to functions</em></span>, these are detected by <a class="link" href="is_pointer.html" title="is_pointer">is_pointer</a> and <a class="link" href="is_reference.html" title="is_reference">is_reference</a> respectively:
-      </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">f1</span><span class="special">();</span>      <span class="comment">// f1 is of function type.</span>
-<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="special">(</span><span class="identifier">f2</span><span class="special">*)();</span>   <span class="comment">// f2 is a pointer to a function.</span>
-<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="special">(</span><span class="identifier">f3</span><span class="special">&)();</span>   <span class="comment">// f3 is a reference to a function.</span>
-</pre>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2p1 and 8.3.5.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_function</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_function</span><span class="special"><</span><span class="keyword">long</span> <span class="special">(</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_function</span><span class="special"><</span><span class="keyword">long</span> <span class="special">(</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_function</span><span class="special"><</span><span class="keyword">long</span> <span class="special">(*)(</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>: the argument in this case
-          is a pointer type, not a function type.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_function</span><span class="special"><</span><span class="keyword">long</span> <span class="special">(&)(</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>: the argument in this case
-          is a reference to a function, not a function type.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_function</span><span class="special"><</span><span class="keyword">long</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>: the argument in this case
-          is a pointer to a member function.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_function</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
-          Don't confuse function-types with pointers to functions:
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">typedef</span> <span class="keyword">int</span>
-          <span class="identifier">f</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span></code>
-        </p>
-<p>
-          defines a function type,
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">f</span> <span class="identifier">foo</span><span class="special">;</span></code>
-        </p>
-<p>
-          declares a prototype for a function of type <code class="computeroutput"><span class="identifier">f</span></code>,
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">f</span><span class="special">*</span>
-          <span class="identifier">pf</span> <span class="special">=</span>
-          <span class="identifier">foo</span><span class="special">;</span></code>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">f</span><span class="special">&</span>
-          <span class="identifier">fr</span> <span class="special">=</span>
-          <span class="identifier">foo</span><span class="special">;</span></code>
-        </p>
-<p>
-          declares a pointer and a reference to the function <code class="computeroutput"><span class="identifier">foo</span></code>.
-        </p>
-<p>
-          If you want to detect whether some type is a pointer-to-function then use:
-        </p>
-<p>
-          <code class="computeroutput"><a class="link" href="is_function.html" title="is_function">is_function</a><span class="special"><</span><a class="link" href="remove_pointer.html" title="remove_pointer">remove_pointer</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">value</span>
-          <span class="special">&&</span> <a class="link" href="is_pointer.html" title="is_pointer">is_pointer</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code>
-        </p>
-<p>
-          or for pointers to member functions you can just use <a class="link" href="is_member_function_pointer.html" title="is_member_function_pointer">is_member_function_pointer</a>
-          directly.
-        </p>
-</td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_floating_point.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_fundamental.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_fundamental.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_fundamental.html
deleted file mode 100755
index 5a52d86..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_fundamental.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_fundamental</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_function.html" title="is_function">
-<link rel="next" href="is_integral.html" title="is_integral">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_integral.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_fundamental"></a><a class="link" href="is_fundamental.html" title="is_fundamental">is_fundamental</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_fundamental</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        fundamental type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-        Fundamental types include integral, floating point and void types (see also
-        <a class="link" href="is_integral.html" title="is_integral">is_integral</a>,
-        <a class="link" href="is_floating_point.html" title="is_floating_point">is_floating_point</a>
-        and <a class="link" href="is_void.html" title="is_void">is_void</a>)
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_fundamental</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_fundamental</span><span class="special"><</span><span class="keyword">int</span><span class="special">)></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_fundamental</span><span class="special"><</span><span class="keyword">double</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_fundamental</span><span class="special"><</span><span class="keyword">void</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_fundamental</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_integral.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_integral.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_integral.html
deleted file mode 100755
index a7459aa..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_integral.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_integral</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_fundamental.html" title="is_fundamental">
-<link rel="next" href="is_lvalue_reference.html" title="is_lvalue_reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_fundamental.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_lvalue_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_integral"></a><a class="link" href="is_integral.html" title="is_integral">is_integral</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_integral</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        integral type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p7.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_integral</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_integral</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_integral</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_integral</span><span class="special"><</span><span class="keyword">long</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_integral</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_fundamental.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_lvalue_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_lvalue_reference.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_lvalue_reference.html
deleted file mode 100755
index 81b459d..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_lvalue_reference.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_lvalue_reference</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_integral.html" title="is_integral">
-<link rel="next" href="is_member_function_pointer.html" title="is_member_function_pointer">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_integral.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_member_function_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_lvalue_reference"></a><a class="link" href="is_lvalue_reference.html" title="is_lvalue_reference">is_lvalue_reference</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_lvalue_reference</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is an lvalue reference type
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.2.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        may report the wrong result for function types, and for types that are both
-        const and volatile qualified.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_lvalue_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_lvalue_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">&></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_lvalue_reference</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_lvalue_reference</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&&>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_lvalue_reference</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(&)(</span><span class="keyword">long</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span> (the argument in this case
-          is a reference to a function).
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_lvalue_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_integral.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_member_function_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_member_function_pointer.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_member_function_pointer.html
deleted file mode 100755
index bc29a27..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_member_function_pointer.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_member_function_pointer</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_lvalue_reference.html" title="is_lvalue_reference">
-<link rel="next" href="is_member_object_pointer.html" title="is_member_object_pointer">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_lvalue_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_member_object_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_member_function_pointer"></a><a class="link" href="is_member_function_pointer.html" title="is_member_function_pointer">is_member_function_pointer</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_member_function_pointer</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        pointer to a member function then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.3.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_member_function_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">char</span><span class="special">)>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)</span><span class="keyword">const</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>:
-          the argument in this case is a pointer to a data member and not a member
-          function, see <a class="link" href="is_member_object_pointer.html" title="is_member_object_pointer">is_member_object_pointer</a>
-          and <a class="link" href="is_member_pointer.html" title="is_member_pointer">is_member_pointer</a>
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code>
-          is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_lvalue_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_member_object_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_member_object_pointer.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_member_object_pointer.html
deleted file mode 100755
index 538e28d..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_member_object_pointer.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_member_object_pointer</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_member_function_pointer.html" title="is_member_function_pointer">
-<link rel="next" href="is_member_pointer.html" title="is_member_pointer">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_member_function_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_member_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_member_object_pointer"></a><a class="link" href="is_member_object_pointer.html" title="is_member_object_pointer">is_member_object_pointer</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_member_object_pointer</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        pointer to a member object (a data member) then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.3.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_member_object_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special"><</span><span class="keyword">double</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>:
-          the argument in this case is a pointer to a member function and not a member
-          object, see <a class="link" href="is_member_function_pointer.html" title="is_member_function_pointer">is_member_function_pointer</a>
-          and <a class="link" href="is_member_pointer.html" title="is_member_pointer">is_member_pointer</a>
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code>
-          is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_member_function_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_member_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_member_pointer.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_member_pointer.html
deleted file mode 100755
index e9bf4d8..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_member_pointer.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_member_pointer</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_member_object_pointer.html" title="is_member_object_pointer">
-<link rel="next" href="is_object.html" title="is_object">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_member_object_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_object.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_member_pointer"></a><a class="link" href="is_member_pointer.html" title="is_member_pointer">is_member_pointer</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_member_pointer</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        pointer to a member (either a function or a data member) then inherits from
-        <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.3.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_member_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">char</span><span class="special">)>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)</span><span class="keyword">const</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_member_pointer</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_member_object_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_object.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_object.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_object.html
deleted file mode 100755
index 515567d..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_object.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_object</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_member_pointer.html" title="is_member_pointer">
-<link rel="next" href="is_pod.html" title="is_pod">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_member_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_pod.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_object"></a><a class="link" href="is_object.html" title="is_object">is_object</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_object</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        object type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-        All types are object types except references, void, and function types.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9p9.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_object</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_object</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_object</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(*)(</span><span class="keyword">void</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_object</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)</span><span class="keyword">const</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_object</span><span class="special"><</span><span class="keyword">int</span> <span class="special">&>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>: reference types are not objects
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_object</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="keyword">double</span><span class="special">)>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>:
-          function types are not objects
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_object</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>:
-          void is not an object type
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_object</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_member_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_pod.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_pod.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_pod.html
deleted file mode 100755
index ed046c6..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_pod.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_pod</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_object.html" title="is_object">
-<link rel="next" href="is_pointer.html" title="is_pointer">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_object.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_pod"></a><a class="link" href="is_pod.html" title="is_pod">is_pod</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_pod</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        POD type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        POD stands for "Plain old data". Arithmetic types, and enumeration
-        types, a pointers and pointer to members are all PODs. Classes and unions
-        can also be POD's if they have no non-static data members that are of reference
-        or non-POD type, no user defined constructors, no user defined assignment
-        operators, no private or protected non-static data members, no virtual functions
-        and no base classes. Finally, a cv-qualified POD is still a POD, as is an
-        array of PODs.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9p10 and 9p4 (Note
-        that POD's are also aggregates, see 8.5.1).
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can not be used with function types.
-      </p>
-<p>
-        Without some (as yet unspecified) help from the compiler, is_pod will never
-        report that a class or struct is a POD; this is always safe, if possibly
-        sub-optimal. Currently (May 2011) compilers more recent than Visual C++ 8,
-        GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear have the necessary compiler
-        <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a> to ensure that
-        this trait "just works". You may also test to see if the necessary
-        <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a> are available
-        by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_IS_POD</span></code>
-        is defined.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_pod</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_pod</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_pod</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_pod</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(*)(</span><span class="keyword">long</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_pod</span><span class="special"><</span><span class="identifier">MyClass</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_pod</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_object.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_pointer.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_pointer.html
deleted file mode 100755
index cd8f760..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_pointer.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_pointer</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_pod.html" title="is_pod">
-<link rel="next" href="is_polymorphic.html" title="is_polymorphic">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_pod.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_polymorphic.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_pointer"></a><a class="link" href="is_pointer.html" title="is_pointer">is_pointer</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_pointer</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        pointer type (includes function pointers, but excludes pointers to members)
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2p2 and 8.3.1.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_pointer</span><span class="special"><</span><span class="keyword">int</span><span class="special">*></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_pointer</span><span class="special"><</span><span class="keyword">char</span><span class="special">*</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(*)(</span><span class="keyword">long</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">long</span><span class="special">)>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_pointer</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../doc/src/images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-          <code class="computeroutput"><span class="identifier">is_pointer</span></code> detects "real"
-          pointer types only, and <span class="emphasis"><em>not</em></span> smart pointers. Users
-          should not specialise <code class="computeroutput"><span class="identifier">is_pointer</span></code>
-          for smart pointer types, as doing so may cause Boost (and other third party)
-          code to fail to function correctly. Users wanting a trait to detect smart
-          pointers should create their own. However, note that there is no way in
-          general to auto-magically detect smart pointer types, so such a trait would
-          have to be partially specialised for each supported smart pointer type.
-        </p></td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_pod.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_polymorphic.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_polymorphic.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_polymorphic.html
deleted file mode 100755
index 70d1c45..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_polymorphic.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_polymorphic</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_pointer.html" title="is_pointer">
-<link rel="next" href="is_reference.html" title="is_reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_polymorphic"></a><a class="link" href="is_polymorphic.html" title="is_polymorphic">is_polymorphic</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_polymorphic</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        polymorphic type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-        Type <code class="computeroutput"><span class="identifier">T</span></code> must be a complete
-        type.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 10.3.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> The implementation
-        requires some knowledge of the compilers ABI, it does actually seem to work
-        with the majority of compilers though.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_polymorphic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          Given: <code class="computeroutput"><span class="keyword">class</span> <span class="identifier">poly</span><span class="special">{</span> <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">poly</span><span class="special">();</span> <span class="special">};</span></code>
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_polymorphic</span><span class="special"><</span><span class="identifier">poly</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_polymorphic</span><span class="special"><</span><span class="identifier">poly</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_polymorphic</span><span class="special"><</span><span class="identifier">poly</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_polymorphic</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_reference.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_reference.html
deleted file mode 100755
index 983699f..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_reference.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_reference</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_polymorphic.html" title="is_polymorphic">
-<link rel="next" href="is_rvalue_reference.html" title="is_rvalue_reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_polymorphic.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_rvalue_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_reference"></a><a class="link" href="is_reference.html" title="is_reference">is_reference</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_reference</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a reference type (either
-        an lvalue reference or an rvalue reference) then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.2.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        may report the wrong result for function types, and for types that are both
-        const and volatile qualified.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">&></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_reference</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_reference</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&&>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_reference</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(&)(</span><span class="keyword">long</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span> (the argument in this case
-          is a reference to a function).
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_polymorphic.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_rvalue_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_rvalue_reference.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_rvalue_reference.html
deleted file mode 100755
index 42114d3..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_rvalue_reference.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_rvalue_reference</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_reference.html" title="is_reference">
-<link rel="next" href="is_same.html" title="is_same">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_same.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_rvalue_reference"></a><a class="link" href="is_rvalue_reference.html" title="is_rvalue_reference">is_rvalue_reference</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_rvalue_reference</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is an rvalue reference type
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.2.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        may report the wrong result for function types, and for types that are both
-        const and volatile qualified.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_rvalue_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_rvalue_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">&&></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_rvalue_reference</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&&>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_rvalue_reference</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_rvalue_reference</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(&&)(</span><span class="keyword">long</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span> (the argument in this case
-          is an rvalue reference to a function).
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_rvalue_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_same.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_same.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_same.html
deleted file mode 100755
index b40c215..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_same.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_same</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_rvalue_reference.html" title="is_rvalue_reference">
-<link rel="next" href="is_scalar.html" title="is_scalar">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_rvalue_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_scalar.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_same"></a><a class="link" href="is_same.html" title="is_same">is_same</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_same</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T and U are the same types
-        then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_same</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can not be used with abstract, incomplete or function types.
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">int</span><span class="special">&,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code>
-          is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_rvalue_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_scalar.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_scalar.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_scalar.html
deleted file mode 100755
index d394e41..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_scalar.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_scalar</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_same.html" title="is_same">
-<link rel="next" href="is_signed.html" title="is_signed">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_same.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_signed.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_scalar"></a><a class="link" href="is_scalar.html" title="is_scalar">is_scalar</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_scalar</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        scalar type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-        Scalar types include integral, floating point, enumeration, pointer, and
-        pointer-to-member types.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9p10.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_scalar</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can not be used with function types.
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_scalar</span><span class="special"><</span><span class="keyword">int</span><span class="special">*></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_scalar</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_scalar</span><span class="special"><</span><span class="keyword">double</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_scalar</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(*)(</span><span class="keyword">long</span><span class="special">)>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_scalar</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">long</span><span class="special">)>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_scalar</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_scalar</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_same.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_signed.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_signed.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_signed.html
deleted file mode 100755
index 0a51076..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_signed.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_signed</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_scalar.html" title="is_scalar">
-<link rel="next" href="is_stateless.html" title="is_stateless">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_scalar.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_stateless.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_signed"></a><a class="link" href="is_signed.html" title="is_signed">is_signed</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_signed</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is an signed integer type
-        or an enumerated type with an underlying signed integer type, then inherits
-        from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1, 7.2.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_signed</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_signed</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_signed</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_signed</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_signed</span><span class="special"><</span><span class="identifier">myclass</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_signed</span><span class="special"><</span><span class="keyword">char</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          whose value depends upon the signedness of type <code class="computeroutput"><span class="keyword">char</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_signed</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">long</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_signed</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_scalar.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_stateless.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_stateless.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_stateless.html
deleted file mode 100755
index b86ed4f..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_stateless.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_stateless</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_signed.html" title="is_signed">
-<link rel="next" href="is_union.html" title="is_union">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_signed.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_union.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_stateless"></a><a class="link" href="is_stateless.html" title="is_stateless">is_stateless</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_stateless</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a stateless type then
-        inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        Type T must be a complete type.
-      </p>
-<p>
-        A stateless type is a type that has no storage and whose constructors and
-        destructors are trivial. That means that <code class="computeroutput"><span class="identifier">is_stateless</span></code>
-        only inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>
-        if the following expression is <code class="computeroutput"><span class="keyword">true</span></code>:
-      </p>
-<pre class="programlisting"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_trivial_constructor</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
-<span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_trivial_copy</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
-<span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_trivial_destructor</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
-<span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
-<span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_empty</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
-</pre>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9p10.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_stateless</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial-specialization of class templates, then this template
-        can not be used with function types.
-      </p>
-<p>
-        Without some (as yet unspecified) help from the compiler, is_stateless will
-        never report that a class or struct is stateless; this is always safe, if
-        possibly sub-optimal. Currently (May 2011) compilers more recent than Visual
-        C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear have the necessary
-        compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a> to
-        ensure that this trait "just works".
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_signed.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_union.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_union.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_union.html
deleted file mode 100755
index c7d0f53..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_union.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_union</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_stateless.html" title="is_stateless">
-<link rel="next" href="is_unsigned.html" title="is_unsigned">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_stateless.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_unsigned.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_union"></a><a class="link" href="is_union.html" title="is_union">is_union</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_union</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        union type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-        Currently requires some kind of compiler support, otherwise unions are identified
-        as classes.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 9.5.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> Without (some as
-        yet unspecified) help from the compiler, we cannot distinguish between union
-        and class types using only standard C++, as a result this type will never
-        inherit from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        unless the user explicitly specializes the template for their user-defined
-        union types, or unless the compiler supplies some unspecified intrinsic that
-        implements this functionality. Currently (May 2011) compilers more recent
-        than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear have
-        the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        to ensure that this trait "just works". You may also test to see
-        if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
-        are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_IS_UNION</span></code>
-        is defined.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_union</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<p>
-        Given <code class="computeroutput"><span class="keyword">union</span> <span class="identifier">my_union</span>
-        <span class="special">{};</span></code> then:
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_union</span><span class="special"><</span><span class="identifier">my_union</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_union</span><span class="special"><</span><span class="keyword">const</span> <span class="identifier">my_union</span><span class="special">>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_union</span><span class="special"><</span><span class="identifier">my_union</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_union</span><span class="special"><</span><span class="identifier">my_union</span><span class="special">*>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_union</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_stateless.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_unsigned.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_unsigned.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_unsigned.html
deleted file mode 100755
index bdfb5bb..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_unsigned.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_unsigned</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_union.html" title="is_union">
-<link rel="next" href="is_virtual_base_of.html" title="is_virtual_base_of">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_union.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_virtual_base_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_unsigned"></a><a class="link" href="is_unsigned.html" title="is_unsigned">is_unsigned</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_unsigned</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is an unsigned integer type
-        or an enumerated type with an underlying unsigned integer type, then inherits
-        from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1, 7.2.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_unsigned</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_unsigned</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_unsigned</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_unsigned</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_unsigned</span><span class="special"><</span><span class="identifier">myclass</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_unsigned</span><span class="special"><</span><span class="keyword">char</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          whose value depends upon the signedness of type <code class="computeroutput"><span class="keyword">char</span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_unsigned</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">long</span>
-          <span class="keyword">long</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_unsigned</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_union.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_virtual_base_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_virtual_base_of.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_virtual_base_of.html
deleted file mode 100755
index 80ad594..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_virtual_base_of.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_virtual_base_of</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_unsigned.html" title="is_unsigned">
-<link rel="next" href="is_void.html" title="is_void">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_unsigned.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_void.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_virtual_base_of"></a><a class="link" href="is_virtual_base_of.html" title="is_virtual_base_of">is_virtual_base_of</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Base</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_virtual_base_of</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If Base is a virtual base class
-        of type Derived then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        Types <code class="computeroutput"><span class="identifier">Base</span></code> and <code class="computeroutput"><span class="identifier">Derived</span></code> must not be incomplete types.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 10.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_virtual_base_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> this trait also
-        requires a working <a class="link" href="is_base_of.html" title="is_base_of">is_base_of</a>
-        trait.
-      </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-          There are a small number of cases where it's simply not possible for this
-          trait to work, and where attempting to instantiate the trait will cause
-          compiler errors (see bug report <a href="https://svn.boost.org/trac/boost/ticket/3730" target="_top">#3730</a>).
-          Further more the issues may well be compiler specific. In this situation
-          the user should supply a full specialization of the trait to work around
-          the problem.
-        </p></td></tr>
-</table></div>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          Given: <code class="computeroutput"> <span class="keyword">class</span> <span class="identifier">Base</span><span class="special">{};</span> <span class="keyword">class</span> <span class="identifier">Derived</span> <span class="special">:</span> <span class="keyword">public</span> <span class="keyword">virtual</span>
-          <span class="identifier">Base</span><span class="special">{};</span></code>
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_virtual_base_of</span><span class="special"><</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_virtual_base_of</span><span class="special"><</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_virtual_base_of</span><span class="special"><</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_virtual_base_of</span><span class="special"><</span><span class="identifier">SomeClassType</span><span class="special">,</span>
-          <span class="identifier">SomeClassType</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_virtual_base_of</span><span class="special"><</span><span class="identifier">NotAClassType</span><span class="special">,</span>
-          <span class="identifier">NotAClassType</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_virtual_base_of</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">>::</span><span class="identifier">value_type</span></code>
-          is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_unsigned.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_void.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_void.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_void.html
deleted file mode 100755
index 1ce8ca4..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_void.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_void</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_virtual_base_of.html" title="is_virtual_base_of">
-<link rel="next" href="is_volatile.html" title="is_volatile">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_virtual_base_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_volatile.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_void"></a><a class="link" href="is_void.html" title="is_void">is_void</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_void</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
-        void type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p9.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_void</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_void</span><span class="special"><</span><span class="keyword">void</span><span class="special">></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_void</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">>::</span><span class="identifier">type</span></code>
-          is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_void</span><span class="special"><</span><span class="keyword">void</span><span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_void</span><span class="special"><</span><span class="keyword">void</span><span class="special">*>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>false</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_void</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_virtual_base_of.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_volatile.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_volatile.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_volatile.html
deleted file mode 100755
index 2c62989..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/is_volatile.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>is_volatile</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_void.html" title="is_void">
-<link rel="next" href="make_signed.html" title="make_signed">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_void.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_signed.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.is_volatile"></a><a class="link" href="is_volatile.html" title="is_volatile">is_volatile</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">is_volatile</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> If T is a (top level) volatile-qualified
-        type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
-        otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_volatile</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_volatile</span><span class="special"><</span><span class="keyword">volatile</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_volatile</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">volatile</span>
-          <span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_volatile</span><span class="special"><</span><span class="keyword">int</span><span class="special">*</span> <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>true</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_volatile</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">volatile</span><span class="special">*>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>:
-          the volatile qualifier is not at the top level in this case.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">is_volatile</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="keyword">bool</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_void.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_signed.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/make_signed.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/make_signed.html
deleted file mode 100755
index f19198f..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/make_signed.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>make_signed</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="is_volatile.html" title="is_volatile">
-<link rel="next" href="make_unsigned.html" title="make_unsigned">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_volatile.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_unsigned.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.make_signed"></a><a class="link" href="make_signed.html" title="make_signed">make_signed</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">make_signed</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> If T is a signed integer type then
-        the same type as T, if T is an unsigned integer type then the corresponding
-        signed type. Otherwise if T is an enumerated or character type (char or wchar_t)
-        then a signed integer type with the same width as T.
-      </p>
-<p>
-        If T has any cv-qualifiers then these are also present on the result type.
-      </p>
-<p>
-        <span class="bold"><strong>Requires:</strong></span> T must be an integer or enumerated
-        type, and must not be the type bool.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">make_signed</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.make_signed.examples"></a><p class="title"><b>Table 1.22. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">make_signed</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">make_signed</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">int</span>
-                  <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">make_signed</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">unsigned</span>
-                  <span class="keyword">long</span> <span class="keyword">long</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">const</span> <span class="keyword">long</span>
-                  <span class="keyword">long</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">make_signed</span><span class="special"><</span><span class="identifier">my_enum</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  A signed integer type with the same width as the enum.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">make_signed</span><span class="special"><</span><span class="keyword">wchar_t</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  A signed integer type with the same width as wchar_t.
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="is_volatile.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="make_unsigned.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html
deleted file mode 100755
index c29b9d4..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>make_unsigned</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="make_signed.html" title="make_signed">
-<link rel="next" href="promote.html" title="promote">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="make_signed.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="promote.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.make_unsigned"></a><a class="link" href="make_unsigned.html" title="make_unsigned">make_unsigned</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">make_unsigned</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> If T is a unsigned integer type then
-        the same type as T, if T is an signed integer type then the corresponding
-        unsigned type. Otherwise if T is an enumerated or character type (char or
-        wchar_t) then an unsigned integer type with the same width as T.
-      </p>
-<p>
-        If T has any cv-qualifiers then these are also present on the result type.
-      </p>
-<p>
-        <span class="bold"><strong>Requires:</strong></span> T must be an integer or enumerated
-        type, and must not be the type bool.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">make_unsigned</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.make_unsigned.examples"></a><p class="title"><b>Table 1.23. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">make_unsigned</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">make_unsigned</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">int</span>
-                  <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span>
-                  <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">make_unsigned</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">unsigned</span>
-                  <span class="keyword">long</span> <span class="keyword">long</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">const</span> <span class="keyword">unsigned</span>
-                  <span class="keyword">long</span> <span class="keyword">long</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">make_unsigned</span><span class="special"><</span><span class="identifier">my_enum</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  An unsigned integer type with the same width as the enum.
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">make_unsigned</span><span class="special"><</span><span class="keyword">wchar_t</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  An unsigned integer type with the same width as wchar_t.
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="make_signed.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="promote.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/promote.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/promote.html
deleted file mode 100755
index 37ab4aa..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/promote.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>promote</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="make_unsigned.html" title="make_unsigned">
-<link rel="next" href="rank.html" title="rank">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="make_unsigned.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rank.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.promote"></a><a class="link" href="promote.html" title="promote">promote</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">promote</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> If integral or floating point promotion
-        can be applied to an rvalue of type <code class="computeroutput"><span class="identifier">T</span></code>,
-        then applies integral and floating point promotions to <code class="computeroutput"><span class="identifier">T</span></code>
-        and keeps cv-qualifiers of <code class="computeroutput"><span class="identifier">T</span></code>,
-        otherwise leaves <code class="computeroutput"><span class="identifier">T</span></code> unchanged.
-        See also <a class="link" href="integral_promotion.html" title="integral_promotion">integral_promotion</a>
-        and <a class="link" href="floating_point_promotion.html" title="floating_point_promotion">floating_point_promotion</a>.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 4.5 except 4.5/3
-        (integral bit-field) and 4.6.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">promote</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.promote.examples"></a><p class="title"><b>Table 1.24. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">promote</span><span class="special"><</span><span class="keyword">short</span> <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">volatile</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">promote</span><span class="special"><</span><span class="keyword">float</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">double</span> <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">promote</span><span class="special"><</span><span class="keyword">short</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">short</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="make_unsigned.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rank.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/rank.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/rank.html
deleted file mode 100755
index ff56724..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/rank.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>rank</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="promote.html" title="promote">
-<link rel="next" href="remove_all_extents.html" title="remove_all_extents">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="promote.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_all_extents.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.rank"></a><a class="link" href="rank.html" title="rank">rank</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">rank</span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">RANK</span><span class="special">(</span><span class="identifier"> [...]
-</pre>
-<p>
-        <span class="bold"><strong>Inherits:</strong></span> Class template rank inherits from
-        <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)></span></code>,
-        where <code class="computeroutput"><span class="identifier">RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> is the
-        number of array dimensions in type <code class="computeroutput"><span class="identifier">T</span></code>.
-      </p>
-<p>
-        If <code class="computeroutput"><span class="identifier">T</span></code> is not a (built-in)
-        array type, then <code class="computeroutput"><span class="identifier">RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> is zero.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">rank</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<p>
-        <span class="bold"><strong>Examples:</strong></span>
-      </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">rank</span><span class="special"><</span><span class="keyword">int</span><span class="special">[]></span></code>
-          inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="number">1</span><span class="special">></span></code>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">rank</span><span class="special"><</span><span class="keyword">double</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">][</span><span class="number">4</span><span class="special">]>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" tit [...]
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">rank</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">1</span><span class="special">]>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>1</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">rank</span><span class="special"><</span><span class="keyword">int</span><span class="special">[][</span><span class="number">2</span><span class="special">]>::</span><span class="identifier">value</span></code>
-          is an integral constant expression that evaluates to <span class="emphasis"><em>2</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">rank</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>0</em></span>.
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">rank</span><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="number">3</span><span class="special">></span> <span class="special">>::</span><span class="identifier">value</span></code> is an integral constant expression
-          that evaluates to <span class="emphasis"><em>0</em></span>: <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>
-          is a class type and <span class="bold"><strong>not an array type</strong></span>!
-        </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
-          <code class="computeroutput"><span class="identifier">rank</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value_type</span></code> is the type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>.
-        </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="promote.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_all_extents.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html
deleted file mode 100755
index 77fecd0..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html
+++ /dev/null
@@ -1,160 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>remove_all_extents</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="rank.html" title="rank">
-<link rel="next" href="remove_const.html" title="remove_const">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="rank.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_const.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.remove_all_extents"></a><a class="link" href="remove_all_extents.html" title="remove_all_extents">remove_all_extents</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">remove_all_extents</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> If <code class="computeroutput"><span class="identifier">T</span></code>
-        is an array type, then removes all of the array bounds on <code class="computeroutput"><span class="identifier">T</span></code>,
-        otherwise leaves <code class="computeroutput"><span class="identifier">T</span></code> unchanged.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.4.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_all_extents</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.remove_all_extents.examples"></a><p class="title"><b>Table 1.25. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_all_extents</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_all_extents</span><span class="special"><</span><span class="keyword">int</span>
-                  <span class="keyword">const</span><span class="special">[</span><span class="number">2</span><span class="special">]>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_all_extents</span><span class="special"><</span><span class="keyword">int</span><span class="special">[][</span><span class="number">2</span><span class="special">]>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_all_extents</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">][</span><span class="number">4</span><span class="special">]>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_all_extents</span><span class="special"><</span><span class="keyword">int</span>
-                  <span class="keyword">const</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">*</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="rank.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_const.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_const.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_const.html
deleted file mode 100755
index 1316255..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_const.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>remove_const</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="remove_all_extents.html" title="remove_all_extents">
-<link rel="next" href="remove_cv.html" title="remove_cv">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_all_extents.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_cv.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.remove_const"></a><a class="link" href="remove_const.html" title="remove_const">remove_const</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">remove_const</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span></code>,
-        but with any <span class="emphasis"><em>top level</em></span> const-qualifier removed.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_const</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.remove_const.examples"></a><p class="title"><b>Table 1.26. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span>
-                  <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">volatile</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">*</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_all_extents.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_cv.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_cv.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_cv.html
deleted file mode 100755
index 25c92f8..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_cv.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>remove_cv</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="remove_const.html" title="remove_const">
-<link rel="next" href="remove_extent.html" title="remove_extent">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_const.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_extent.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.remove_cv"></a><a class="link" href="remove_cv.html" title="remove_cv">remove_cv</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">remove_cv</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span></code>,
-        but with any <span class="emphasis"><em>top level</em></span> cv-qualifiers removed.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_cv</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.remove_cv.examples"></a><p class="title"><b>Table 1.27. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span>
-                  <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">*</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_const.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_extent.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_extent.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_extent.html
deleted file mode 100755
index dd56d9b..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_extent.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>remove_extent</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="remove_cv.html" title="remove_cv">
-<link rel="next" href="remove_pointer.html" title="remove_pointer">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_cv.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.remove_extent"></a><a class="link" href="remove_extent.html" title="remove_extent">remove_extent</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">remove_extent</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> If <code class="computeroutput"><span class="identifier">T</span></code>
-        is an array type, then removes the topmost array bound, otherwise leaves
-        <code class="computeroutput"><span class="identifier">T</span></code> unchanged.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.4.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_extent</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.remove_extent.examples"></a><p class="title"><b>Table 1.28. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_extent</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_extent</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">[</span><span class="number">2</span><span class="special">]>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_extent</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">4</span><span class="special">]>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">[</span><span class="number">4</span><span class="special">]</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_extent</span><span class="special"><</span><span class="keyword">int</span><span class="special">[][</span><span class="number">2</span><span class="special">]>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">[</span><span class="number">2</span><span class="special">]</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_extent</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">*</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_cv.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_pointer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html
deleted file mode 100755
index b6ee948..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>remove_pointer</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="remove_extent.html" title="remove_extent">
-<link rel="next" href="remove_reference.html" title="remove_reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_extent.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.remove_pointer"></a><a class="link" href="remove_pointer.html" title="remove_pointer">remove_pointer</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">remove_pointer</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span></code>,
-        but with any pointer modifier removed. Note that pointers to members are
-        left unchanged: removing the pointer decoration would result in an invalid
-        type.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.1.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.remove_pointer.examples"></a><p class="title"><b>Table 1.29. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_pointer</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_pointer</span><span class="special"><</span><span class="keyword">int</span>
-                  <span class="keyword">const</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_pointer</span><span class="special"><</span><span class="keyword">int</span>
-                  <span class="keyword">const</span><span class="special">**>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">*</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_pointer</span><span class="special"><</span><span class="keyword">int</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_pointer</span><span class="special"><</span><span class="keyword">int</span><span class="special">*&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*&</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_extent.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_reference.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_reference.html
deleted file mode 100755
index 11bce01..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_reference.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>remove_reference</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="remove_pointer.html" title="remove_pointer">
-<link rel="next" href="remove_volatile.html" title="remove_volatile">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_volatile.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.remove_reference"></a><a class="link" href="remove_reference.html" title="remove_reference">remove_reference</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">remove_reference</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span></code>,
-        but with any reference modifier removed.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.2.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.remove_reference.examples"></a><p class="title"><b>Table 1.30. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">int</span>
-                  <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">&&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">*&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span><span class="special">*</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_pointer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_volatile.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html
deleted file mode 100755
index fe5d093..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>remove_volatile</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="remove_reference.html" title="remove_reference">
-<link rel="next" href="type_with_alignment.html" title="type_with_alignment">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_with_alignment.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.remove_volatile"></a><a class="link" href="remove_volatile.html" title="remove_volatile">remove_volatile</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">remove_volatile</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> The same type as <code class="computeroutput"><span class="identifier">T</span></code>,
-        but with any <span class="emphasis"><em>top level</em></span> volatile-qualifier removed.
-      </p>
-<p>
-        <span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
-      </p>
-<p>
-        <span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
-        does not support partial specialization of class-templates then this template
-        will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
-        will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
-        except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
-        workarounds</a> have been applied.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">remove_volatile</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-<div class="table">
-<a name="boost_typetraits.reference.remove_volatile.examples"></a><p class="title"><b>Table 1.31. Examples</b></p>
-<div class="table-contents"><table class="table" summary="Examples">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                <p>
-                  Expression
-                </p>
-              </th>
-<th>
-                <p>
-                  Result Type
-                </p>
-              </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_volatile</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_volatile</span><span class="special"><</span><span class="keyword">int</span>
-                  <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_volatile</span><span class="special"><</span><span class="keyword">int</span>
-                  <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_volatile</span><span class="special"><</span><span class="keyword">int</span>
-                  <span class="keyword">volatile</span><span class="special">&>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&</span></code>
-                </p>
-              </td>
-</tr>
-<tr>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="identifier">remove_volatile</span><span class="special"><</span><span class="keyword">int</span>
-                  <span class="keyword">volatile</span><span class="special">*>::</span><span class="identifier">type</span></code>
-                </p>
-              </td>
-<td>
-                <p>
-                  <code class="computeroutput"><span class="keyword">int</span> <span class="keyword">const</span><span class="special">*</span></code>
-                </p>
-              </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_with_alignment.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/type_with_alignment.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/type_with_alignment.html
deleted file mode 100755
index a555445..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/reference/type_with_alignment.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>type_with_alignment</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../reference.html" title="Alphabetical Reference">
-<link rel="prev" href="remove_volatile.html" title="remove_volatile">
-<link rel="next" href="../history.html" title="History">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_volatile.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../history.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_typetraits.reference.type_with_alignment"></a><a class="link" href="type_with_alignment.html" title="type_with_alignment">type_with_alignment</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
-<span class="keyword">struct</span> <span class="identifier">type_with_alignment</span>
-<span class="special">{</span>
-   <span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
-        <span class="bold"><strong>type:</strong></span> a built-in or POD type with an alignment
-        that is a multiple of <code class="computeroutput"><span class="identifier">Align</span></code>.
-      </p>
-<p>
-        <span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
-        <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">type_with_alignment</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-        or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
-      </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remove_volatile.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../history.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/user_defined.html b/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/user_defined.html
deleted file mode 100755
index 6fb26b9..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/boost_typetraits/user_defined.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>User Defined Specializations</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="category/function.html" title="Decomposing Function Types">
-<link rel="next" href="intrinsics.html" title="Support for Compiler Intrinsics">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="category/function.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="intrinsics.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_typetraits.user_defined"></a><a class="link" href="user_defined.html" title="User Defined Specializations">User Defined Specializations</a>
-</h2></div></div></div>
-<p>
-      Occationally the end user may need to provide their own specialization for
-      one of the type traits - typically where intrinsic compiler support is required
-      to implement a specific trait fully. These specializations should derive from
-      boost::<a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a>
-      or boost::<a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a>
-      as appropriate:
-    </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_pod</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_class</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_union</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-
-<span class="keyword">struct</span> <span class="identifier">my_pod</span><span class="special">{};</span>
-<span class="keyword">struct</span> <span class="identifier">my_union</span>
-<span class="special">{</span>
-   <span class="keyword">char</span> <span class="identifier">c</span><span class="special">;</span>
-   <span class="keyword">int</span> <span class="identifier">i</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">namespace</span> <span class="identifier">boost</span>
-<span class="special">{</span>
-   <span class="keyword">template</span><span class="special"><></span>
-   <span class="keyword">struct</span> <a class="link" href="reference/is_pod.html" title="is_pod">is_pod</a><span class="special"><</span><span class="identifier">my_pod</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
-      
-   <span class="keyword">template</span><span class="special"><></span>
-   <span class="keyword">struct</span> <a class="link" href="reference/is_pod.html" title="is_pod">is_pod</a><span class="special"><</span><span class="identifier">my_union</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
-   
-   <span class="keyword">template</span><span class="special"><></span>
-   <span class="keyword">struct</span> <a class="link" href="reference/is_union.html" title="is_union">is_union</a><span class="special"><</span><span class="identifier">my_union</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
-   
-   <span class="keyword">template</span><span class="special"><></span>
-   <span class="keyword">struct</span> <a class="link" href="reference/is_class.html" title="is_class">is_class</a><span class="special"><</span><span class="identifier">my_union</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">{};</span>
-<span class="special">}</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="category/function.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="intrinsics.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/index.html b/SRC/Boost/libs/type_traits/doc/html/index.html
deleted file mode 100755
index 3cd9cf5..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/index.html
+++ /dev/null
@@ -1,221 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Chapter 1. Boost.TypeTraits</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="next" href="boost_typetraits/intro.html" title="Introduction">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center"><a href="../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_typetraits/intro.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
-<div class="chapter">
-<div class="titlepage"><div>
-<div><h2 class="title">
-<a name="boost_typetraits"></a>Chapter 1. Boost.TypeTraits</h2></div>
-<div><div class="author"><h3 class="author">
-<span class="firstname">various</span> <span class="surname">authors</span>
-</h3></div></div>
-<div><p class="copyright">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe</p></div>
-<div><div class="legalnotice">
-<a name="id3164235"></a><p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></div>
-</div></div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="section"><a href="boost_typetraits/intro.html">Introduction</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/background.html">Background and Tutorial</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/category.html">Type Traits by Category</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="boost_typetraits/category/value_traits.html">Type Traits that
-      Describe the Properties of a Type</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="boost_typetraits/category/value_traits/primary.html">Categorizing
-        a Type</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/category/value_traits/properties.html">General
-        Type Properties</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/category/value_traits/relate.html">Relationships
-        Between Two Types</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/category/value_traits/operators.html">Operator
-        Type Traits</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="boost_typetraits/category/transform.html">Type Traits that
-      Transform One Type to Another</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/category/alignment.html">Synthesizing Types
-      with Specific Alignments</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/category/function.html">Decomposing Function
-      Types</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="boost_typetraits/user_defined.html">User Defined Specializations</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/intrinsics.html">Support for Compiler Intrinsics</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/mpl.html">MPL Interoperability</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/examples.html">Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="boost_typetraits/examples/copy.html">An Optimized Version
-      of std::copy</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/examples/fill.html">An Optimised Version
-      of std::fill</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/examples/destruct.html">An Example that Omits
-      Destructor Calls For Types with Trivial Destructors</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/examples/iter.html">An improved Version of
-      std::iter_swap</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/examples/to_double.html">Convert Numeric
-      Types and Enums to double</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/examples/improved_min.html">Improving std::min
-      with common_type</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="boost_typetraits/reference.html">Alphabetical Reference</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="boost_typetraits/reference/add_const.html">add_const</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/add_cv.html">add_cv</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/add_lvalue_reference.html">add_lvalue_reference</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/add_pointer.html">add_pointer</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/add_reference.html">add_reference</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/add_rvalue_reference.html">add_rvalue_reference</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/add_volatile.html">add_volatile</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/aligned_storage.html">aligned_storage</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/alignment_of.html">alignment_of</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/conditional.html">conditional</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/common_type.html">common_type</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/decay.html">decay</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/extent.html">extent</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/floating_point_promotion.html">floating_point_promotion</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/function_traits.html">function_traits</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_bit_and.html">has_bit_and</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_bit_and_assign.html">has_bit_and_assign</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_bit_or.html">has_bit_or</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_bit_or_assign.html">has_bit_or_assign</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_bit_xor.html">has_bit_xor</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_bit_xor_assign.html">has_bit_xor_assign</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_complement.html">has_complement</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_dereference.html">has_dereference</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_divides.html">has_divides</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_divides_assign.html">has_divides_assign</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_equal_to.html">has_equal_to</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_greater.html">has_greater</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_greater_equal.html">has_greater_equal</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_left_shift.html">has_left_shift</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_left_shift_assign.html">has_left_shift_assign</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_less.html">has_less</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_less_equal.html">has_less_equal</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_logical_and.html">has_logical_and</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_logical_not.html">has_logical_not</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_logical_or.html">has_logical_or</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_minus.html">has_minus</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_minus_assign.html">has_minus_assign</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_modulus.html">has_modulus</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_modulus_assign.html">has_modulus_assign</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_multiplies.html">has_multiplies</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_multiplies_assign.html">has_multiplies_assign</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_negate.html">has_negate</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_new_operator.html">has_new_operator</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_not_equal_to.html">has_not_equal_to</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_assign.html">has_nothrow_assign</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_constructor.html">has_nothrow_constructor</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_copy.html">has_nothrow_copy</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_cp_cons.html">has_nothrow_copy_constructor</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_no_throw_def_cons.html">has_nothrow_default_constructor</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_plus.html">has_plus</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_plus_assign.html">has_plus_assign</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_post_decrement.html">has_post_decrement</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_post_increment.html">has_post_increment</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_pre_decrement.html">has_pre_decrement</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_pre_increment.html">has_pre_increment</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_right_shift.html">has_right_shift</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_right_shift_assign.html">has_right_shift_assign</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_assign.html">has_trivial_assign</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_constructor.html">has_trivial_constructor</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_copy.html">has_trivial_copy</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_cp_cons.html">has_trivial_copy_constructor</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_def_cons.html">has_trivial_default_constructor</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_destructor.html">has_trivial_destructor</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_unary_minus.html">has_unary_minus</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_unary_plus.html">has_unary_plus</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/has_virtual_destructor.html">has_virtual_destructor</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/integral_constant.html">integral_constant</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/integral_promotion.html">integral_promotion</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_abstract.html">is_abstract</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_arithmetic.html">is_arithmetic</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_array.html">is_array</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_base_of.html">is_base_of</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_class.html">is_class</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_complex.html">is_complex</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_compound.html">is_compound</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_const.html">is_const</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_convertible.html">is_convertible</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_empty.html">is_empty</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_enum.html">is_enum</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_floating_point.html">is_floating_point</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_function.html">is_function</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_fundamental.html">is_fundamental</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_integral.html">is_integral</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_lvalue_reference.html">is_lvalue_reference</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_member_function_pointer.html">is_member_function_pointer</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_member_object_pointer.html">is_member_object_pointer</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_member_pointer.html">is_member_pointer</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_object.html">is_object</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_pod.html">is_pod</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_pointer.html">is_pointer</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_polymorphic.html">is_polymorphic</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_reference.html">is_reference</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_rvalue_reference.html">is_rvalue_reference</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_same.html">is_same</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_scalar.html">is_scalar</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_signed.html">is_signed</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_stateless.html">is_stateless</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_union.html">is_union</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_unsigned.html">is_unsigned</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_virtual_base_of.html">is_virtual_base_of</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_void.html">is_void</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/is_volatile.html">is_volatile</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/make_signed.html">make_signed</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/make_unsigned.html">make_unsigned</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/promote.html">promote</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/rank.html">rank</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/remove_all_extents.html">remove_all_extents</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/remove_const.html">remove_const</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/remove_cv.html">remove_cv</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/remove_extent.html">remove_extent</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/remove_pointer.html">remove_pointer</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/remove_reference.html">remove_reference</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/remove_volatile.html">remove_volatile</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/reference/type_with_alignment.html">type_with_alignment</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="boost_typetraits/history.html">History</a></span></dt>
-<dt><span class="section"><a href="boost_typetraits/credits.html">Credits</a></span></dt>
-<dt><span class="section"><a href="index/s11.html">Class Index</a></span></dt>
-<dt><span class="section"><a href="index/s12.html">Typedef Index</a></span></dt>
-<dt><span class="section"><a href="index/s13.html">Macro Index</a></span></dt>
-<dt><span class="section"><a href="index/s14.html">Index</a></span></dt>
-</dl>
-</div>
-<p>
-    A printer-friendly <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">PDF
-    version of this manual is also available</a>.
-  </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: October 10, 2011 at 00:28:33 +0200</small></p></td>
-<td align="right"><div class="copyright-footer"></div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_typetraits/intro.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/index/s11.html b/SRC/Boost/libs/type_traits/doc/html/index/s11.html
deleted file mode 100755
index dcb048e..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/index/s11.html
+++ /dev/null
@@ -1,418 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Class Index</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="../boost_typetraits/credits.html" title="Credits">
-<link rel="next" href="s12.html" title="Typedef Index">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../boost_typetraits/credits.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s12.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id3342120"></a>Class Index</h2></div></div></div>
-<p><a class="link" href="s11.html#idx_id_0">A</a> <a class="link" href="s11.html#idx_id_2">C</a> <a class="link" href="s11.html#idx_id_3">D</a> <a class="link" href="s11.html#idx_id_4">E</a> <a class="link" href="s11.html#idx_id_5">F</a> <a class="link" href="s11.html#idx_id_6">H</a> <a class="link" href="s11.html#idx_id_7">I</a> <a class="link" href="s11.html#idx_id_8">M</a> <a class="link" href="s11.html#idx_id_9">N</a> <a class="link" href="s11.html#idx_id_10">O</a> <a class="link" hr [...]
-<div class="variablelist"><dl>
-<dt>
-<a name="idx_id_0"></a><span class="term">A</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_const.html" title="add_const"><span class="index-entry-level-0">add_const</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_cv.html" title="add_cv"><span class="index-entry-level-0">add_cv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_lvalue_reference.html" title="add_lvalue_reference"><span class="index-entry-level-0">add_lvalue_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_pointer.html" title="add_pointer"><span class="index-entry-level-0">add_pointer</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_reference.html" title="add_reference"><span class="index-entry-level-0">add_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_rvalue_reference.html" title="add_rvalue_reference"><span class="index-entry-level-0">add_rvalue_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_volatile.html" title="add_volatile"><span class="index-entry-level-0">add_volatile</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/aligned_storage.html" title="aligned_storage"><span class="index-entry-level-0">aligned_storage</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/alignment_of.html" title="alignment_of"><span class="index-entry-level-0">alignment_of</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">any</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_2"></a><span class="term">C</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">common_type</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/common_type.html" title="common_type"><span class="index-entry-level-1">common_type</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/examples/improved_min.html" title="Improving std::min with common_type"><span class="index-entry-level-1">Improving std::min with common_type</span></a></p></li>
-</ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_3"></a><span class="term">D</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/decay.html" title="decay"><span class="index-entry-level-0">decay</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">dont_care</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and.html" title="has_bit_and"><span class="index-entry-level-1">has_bit_and</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and_assign.html" title="has_bit_and_assign"><span class="index-entry-level-1">has_bit_and_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or.html" title="has_bit_or"><span class="index-entry-level-1">has_bit_or</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or_assign.html" title="has_bit_or_assign"><span class="index-entry-level-1">has_bit_or_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor.html" title="has_bit_xor"><span class="index-entry-level-1">has_bit_xor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor_assign.html" title="has_bit_xor_assign"><span class="index-entry-level-1">has_bit_xor_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_complement.html" title="has_complement"><span class="index-entry-level-1">has_complement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_dereference.html" title="has_dereference"><span class="index-entry-level-1">has_dereference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides.html" title="has_divides"><span class="index-entry-level-1">has_divides</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides_assign.html" title="has_divides_assign"><span class="index-entry-level-1">has_divides_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_equal_to.html" title="has_equal_to"><span class="index-entry-level-1">has_equal_to</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater.html" title="has_greater"><span class="index-entry-level-1">has_greater</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater_equal.html" title="has_greater_equal"><span class="index-entry-level-1">has_greater_equal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift.html" title="has_left_shift"><span class="index-entry-level-1">has_left_shift</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift_assign.html" title="has_left_shift_assign"><span class="index-entry-level-1">has_left_shift_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less.html" title="has_less"><span class="index-entry-level-1">has_less</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less_equal.html" title="has_less_equal"><span class="index-entry-level-1">has_less_equal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_and.html" title="has_logical_and"><span class="index-entry-level-1">has_logical_and</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_not.html" title="has_logical_not"><span class="index-entry-level-1">has_logical_not</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_or.html" title="has_logical_or"><span class="index-entry-level-1">has_logical_or</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus.html" title="has_minus"><span class="index-entry-level-1">has_minus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus_assign.html" title="has_minus_assign"><span class="index-entry-level-1">has_minus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus.html" title="has_modulus"><span class="index-entry-level-1">has_modulus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus_assign.html" title="has_modulus_assign"><span class="index-entry-level-1">has_modulus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies.html" title="has_multiplies"><span class="index-entry-level-1">has_multiplies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies_assign.html" title="has_multiplies_assign"><span class="index-entry-level-1">has_multiplies_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_negate.html" title="has_negate"><span class="index-entry-level-1">has_negate</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_not_equal_to.html" title="has_not_equal_to"><span class="index-entry-level-1">has_not_equal_to</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus.html" title="has_plus"><span class="index-entry-level-1">has_plus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus_assign.html" title="has_plus_assign"><span class="index-entry-level-1">has_plus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_decrement.html" title="has_post_decrement"><span class="index-entry-level-1">has_post_decrement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_increment.html" title="has_post_increment"><span class="index-entry-level-1">has_post_increment</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_decrement.html" title="has_pre_decrement"><span class="index-entry-level-1">has_pre_decrement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_increment.html" title="has_pre_increment"><span class="index-entry-level-1">has_pre_increment</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift.html" title="has_right_shift"><span class="index-entry-level-1">has_right_shift</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift_assign.html" title="has_right_shift_assign"><span class="index-entry-level-1">has_right_shift_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_minus.html" title="has_unary_minus"><span class="index-entry-level-1">has_unary_minus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_plus.html" title="has_unary_plus"><span class="index-entry-level-1">has_unary_plus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_4"></a><span class="term">E</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/extent.html" title="extent"><span class="index-entry-level-0">extent</span></a></p></li></ul></div></dd>
-<dt>
-<a name="idx_id_5"></a><span class="term">F</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/floating_point_promotion.html" title="floating_point_promotion"><span class="index-entry-level-0">floating_point_promotion</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/function_traits.html" title="function_traits"><span class="index-entry-level-0">function_traits</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_6"></a><span class="term">H</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and.html" title="has_bit_and"><span class="index-entry-level-0">has_bit_and</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and_assign.html" title="has_bit_and_assign"><span class="index-entry-level-0">has_bit_and_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or.html" title="has_bit_or"><span class="index-entry-level-0">has_bit_or</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or_assign.html" title="has_bit_or_assign"><span class="index-entry-level-0">has_bit_or_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor.html" title="has_bit_xor"><span class="index-entry-level-0">has_bit_xor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor_assign.html" title="has_bit_xor_assign"><span class="index-entry-level-0">has_bit_xor_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_complement.html" title="has_complement"><span class="index-entry-level-0">has_complement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_dereference.html" title="has_dereference"><span class="index-entry-level-0">has_dereference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides.html" title="has_divides"><span class="index-entry-level-0">has_divides</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides_assign.html" title="has_divides_assign"><span class="index-entry-level-0">has_divides_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_equal_to</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_equal_to.html" title="has_equal_to"><span class="index-entry-level-1">has_equal_to</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater.html" title="has_greater"><span class="index-entry-level-0">has_greater</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater_equal.html" title="has_greater_equal"><span class="index-entry-level-0">has_greater_equal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift.html" title="has_left_shift"><span class="index-entry-level-0">has_left_shift</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift_assign.html" title="has_left_shift_assign"><span class="index-entry-level-0">has_left_shift_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less.html" title="has_less"><span class="index-entry-level-0">has_less</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less_equal.html" title="has_less_equal"><span class="index-entry-level-0">has_less_equal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_and.html" title="has_logical_and"><span class="index-entry-level-0">has_logical_and</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_not.html" title="has_logical_not"><span class="index-entry-level-0">has_logical_not</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_or.html" title="has_logical_or"><span class="index-entry-level-0">has_logical_or</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus.html" title="has_minus"><span class="index-entry-level-0">has_minus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus_assign.html" title="has_minus_assign"><span class="index-entry-level-0">has_minus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus.html" title="has_modulus"><span class="index-entry-level-0">has_modulus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus_assign.html" title="has_modulus_assign"><span class="index-entry-level-0">has_modulus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies.html" title="has_multiplies"><span class="index-entry-level-0">has_multiplies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies_assign.html" title="has_multiplies_assign"><span class="index-entry-level-0">has_multiplies_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_negate.html" title="has_negate"><span class="index-entry-level-0">has_negate</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_new_operator.html" title="has_new_operator"><span class="index-entry-level-0">has_new_operator</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_assign.html" title="has_nothrow_assign"><span class="index-entry-level-0">has_nothrow_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-0">has_nothrow_constructor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_copy.html" title="has_nothrow_copy"><span class="index-entry-level-0">has_nothrow_copy</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_nothrow_copy_constructor</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_copy.html" title="has_nothrow_copy"><span class="index-entry-level-1">has_nothrow_copy</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_nothrow_default_constructor</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-1">has_nothrow_constructor</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_not_equal_to.html" title="has_not_equal_to"><span class="index-entry-level-0">has_not_equal_to</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_operator</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus.html" title="has_plus"><span class="index-entry-level-0">has_plus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus_assign.html" title="has_plus_assign"><span class="index-entry-level-0">has_plus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_decrement.html" title="has_post_decrement"><span class="index-entry-level-0">has_post_decrement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_increment.html" title="has_post_increment"><span class="index-entry-level-0">has_post_increment</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_decrement.html" title="has_pre_decrement"><span class="index-entry-level-0">has_pre_decrement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_increment.html" title="has_pre_increment"><span class="index-entry-level-0">has_pre_increment</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift.html" title="has_right_shift"><span class="index-entry-level-0">has_right_shift</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift_assign.html" title="has_right_shift_assign"><span class="index-entry-level-0">has_right_shift_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_assign.html" title="has_trivial_assign"><span class="index-entry-level-0">has_trivial_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_constructor.html" title="has_trivial_constructor"><span class="index-entry-level-0">has_trivial_constructor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_copy.html" title="has_trivial_copy"><span class="index-entry-level-0">has_trivial_copy</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_trivial_copy_constructor</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_copy.html" title="has_trivial_copy"><span class="index-entry-level-1">has_trivial_copy</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_trivial_default_constructor</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_constructor.html" title="has_trivial_constructor"><span class="index-entry-level-1">has_trivial_constructor</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_destructor.html" title="has_trivial_destructor"><span class="index-entry-level-0">has_trivial_destructor</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_unary_minus</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_unary_minus.html" title="has_unary_minus"><span class="index-entry-level-1">has_unary_minus</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_plus.html" title="has_unary_plus"><span class="index-entry-level-0">has_unary_plus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_virtual_destructor.html" title="has_virtual_destructor"><span class="index-entry-level-0">has_virtual_destructor</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_7"></a><span class="term">I</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">integral_constant</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/alignment_of.html" title="alignment_of"><span class="index-entry-level-1">alignment_of</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/extent.html" title="extent"><span class="index-entry-level-1">extent</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/integral_constant.html" title="integral_constant"><span class="index-entry-level-1">integral_constant</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/rank.html" title="rank"><span class="index-entry-level-1">rank</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/integral_promotion.html" title="integral_promotion"><span class="index-entry-level-0">integral_promotion</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_abstract.html" title="is_abstract"><span class="index-entry-level-0">is_abstract</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_arithmetic.html" title="is_arithmetic"><span class="index-entry-level-0">is_arithmetic</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_array.html" title="is_array"><span class="index-entry-level-0">is_array</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_base_of.html" title="is_base_of"><span class="index-entry-level-0">is_base_of</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_class</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_class.html" title="is_class"><span class="index-entry-level-1">is_class</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/user_defined.html" title="User Defined Specializations"><span class="index-entry-level-1">User Defined Specializations</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_complex.html" title="is_complex"><span class="index-entry-level-0">is_complex</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_compound.html" title="is_compound"><span class="index-entry-level-0">is_compound</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_const.html" title="is_const"><span class="index-entry-level-0">is_const</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_convertible.html" title="is_convertible"><span class="index-entry-level-0">is_convertible</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_empty.html" title="is_empty"><span class="index-entry-level-0">is_empty</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_enum.html" title="is_enum"><span class="index-entry-level-0">is_enum</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_floating_point.html" title="is_floating_point"><span class="index-entry-level-0">is_floating_point</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_function.html" title="is_function"><span class="index-entry-level-0">is_function</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_fundamental.html" title="is_fundamental"><span class="index-entry-level-0">is_fundamental</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_integral.html" title="is_integral"><span class="index-entry-level-0">is_integral</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_lvalue_reference.html" title="is_lvalue_reference"><span class="index-entry-level-0">is_lvalue_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_member_function_pointer.html" title="is_member_function_pointer"><span class="index-entry-level-0">is_member_function_pointer</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_member_object_pointer.html" title="is_member_object_pointer"><span class="index-entry-level-0">is_member_object_pointer</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_member_pointer.html" title="is_member_pointer"><span class="index-entry-level-0">is_member_pointer</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_object.html" title="is_object"><span class="index-entry-level-0">is_object</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_pod</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_pod.html" title="is_pod"><span class="index-entry-level-1">is_pod</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/user_defined.html" title="User Defined Specializations"><span class="index-entry-level-1">User Defined Specializations</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_pointer</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/background.html" title="Background and Tutorial"><span class="index-entry-level-1">Background and Tutorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_pointer.html" title="is_pointer"><span class="index-entry-level-1">is_pointer</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_polymorphic.html" title="is_polymorphic"><span class="index-entry-level-0">is_polymorphic</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_reference.html" title="is_reference"><span class="index-entry-level-0">is_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_rvalue_reference.html" title="is_rvalue_reference"><span class="index-entry-level-0">is_rvalue_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_same.html" title="is_same"><span class="index-entry-level-0">is_same</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_scalar.html" title="is_scalar"><span class="index-entry-level-0">is_scalar</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_signed.html" title="is_signed"><span class="index-entry-level-0">is_signed</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_stateless.html" title="is_stateless"><span class="index-entry-level-0">is_stateless</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_union</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_union.html" title="is_union"><span class="index-entry-level-1">is_union</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/user_defined.html" title="User Defined Specializations"><span class="index-entry-level-1">User Defined Specializations</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_unsigned.html" title="is_unsigned"><span class="index-entry-level-0">is_unsigned</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_virtual_base_of.html" title="is_virtual_base_of"><span class="index-entry-level-0">is_virtual_base_of</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_void</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/background.html" title="Background and Tutorial"><span class="index-entry-level-1">Background and Tutorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_void.html" title="is_void"><span class="index-entry-level-1">is_void</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_volatile.html" title="is_volatile"><span class="index-entry-level-0">is_volatile</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_8"></a><span class="term">M</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/make_signed.html" title="make_signed"><span class="index-entry-level-0">make_signed</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/make_unsigned.html" title="make_unsigned"><span class="index-entry-level-0">make_unsigned</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_9"></a><span class="term">N</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">no_operator</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_10"></a><span class="term">O</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">operator_exists</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">operator_returns_Ret</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">operator_returns_void</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_11"></a><span class="term">P</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/promote.html" title="promote"><span class="index-entry-level-0">promote</span></a></p></li></ul></div></dd>
-<dt>
-<a name="idx_id_12"></a><span class="term">R</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/rank.html" title="rank"><span class="index-entry-level-0">rank</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/remove_all_extents.html" title="remove_all_extents"><span class="index-entry-level-0">remove_all_extents</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/remove_const.html" title="remove_const"><span class="index-entry-level-0">remove_const</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/remove_cv.html" title="remove_cv"><span class="index-entry-level-0">remove_cv</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remove_extent</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/background.html" title="Background and Tutorial"><span class="index-entry-level-1">Background and Tutorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/remove_extent.html" title="remove_extent"><span class="index-entry-level-1">remove_extent</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/remove_pointer.html" title="remove_pointer"><span class="index-entry-level-0">remove_pointer</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/remove_reference.html" title="remove_reference"><span class="index-entry-level-0">remove_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/remove_volatile.html" title="remove_volatile"><span class="index-entry-level-0">remove_volatile</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">returns_void_t</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_13"></a><span class="term">T</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">trait</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and.html" title="has_bit_and"><span class="index-entry-level-1">has_bit_and</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and_assign.html" title="has_bit_and_assign"><span class="index-entry-level-1">has_bit_and_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or.html" title="has_bit_or"><span class="index-entry-level-1">has_bit_or</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or_assign.html" title="has_bit_or_assign"><span class="index-entry-level-1">has_bit_or_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor.html" title="has_bit_xor"><span class="index-entry-level-1">has_bit_xor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor_assign.html" title="has_bit_xor_assign"><span class="index-entry-level-1">has_bit_xor_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_complement.html" title="has_complement"><span class="index-entry-level-1">has_complement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_dereference.html" title="has_dereference"><span class="index-entry-level-1">has_dereference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides.html" title="has_divides"><span class="index-entry-level-1">has_divides</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides_assign.html" title="has_divides_assign"><span class="index-entry-level-1">has_divides_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_equal_to.html" title="has_equal_to"><span class="index-entry-level-1">has_equal_to</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater.html" title="has_greater"><span class="index-entry-level-1">has_greater</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater_equal.html" title="has_greater_equal"><span class="index-entry-level-1">has_greater_equal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift.html" title="has_left_shift"><span class="index-entry-level-1">has_left_shift</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift_assign.html" title="has_left_shift_assign"><span class="index-entry-level-1">has_left_shift_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less.html" title="has_less"><span class="index-entry-level-1">has_less</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less_equal.html" title="has_less_equal"><span class="index-entry-level-1">has_less_equal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_and.html" title="has_logical_and"><span class="index-entry-level-1">has_logical_and</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_not.html" title="has_logical_not"><span class="index-entry-level-1">has_logical_not</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_or.html" title="has_logical_or"><span class="index-entry-level-1">has_logical_or</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus.html" title="has_minus"><span class="index-entry-level-1">has_minus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus_assign.html" title="has_minus_assign"><span class="index-entry-level-1">has_minus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus.html" title="has_modulus"><span class="index-entry-level-1">has_modulus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus_assign.html" title="has_modulus_assign"><span class="index-entry-level-1">has_modulus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies.html" title="has_multiplies"><span class="index-entry-level-1">has_multiplies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies_assign.html" title="has_multiplies_assign"><span class="index-entry-level-1">has_multiplies_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_negate.html" title="has_negate"><span class="index-entry-level-1">has_negate</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_not_equal_to.html" title="has_not_equal_to"><span class="index-entry-level-1">has_not_equal_to</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus.html" title="has_plus"><span class="index-entry-level-1">has_plus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus_assign.html" title="has_plus_assign"><span class="index-entry-level-1">has_plus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_decrement.html" title="has_post_decrement"><span class="index-entry-level-1">has_post_decrement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_increment.html" title="has_post_increment"><span class="index-entry-level-1">has_post_increment</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_decrement.html" title="has_pre_decrement"><span class="index-entry-level-1">has_pre_decrement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_increment.html" title="has_pre_increment"><span class="index-entry-level-1">has_pre_increment</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift.html" title="has_right_shift"><span class="index-entry-level-1">has_right_shift</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift_assign.html" title="has_right_shift_assign"><span class="index-entry-level-1">has_right_shift_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_minus.html" title="has_unary_minus"><span class="index-entry-level-1">has_unary_minus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_plus.html" title="has_unary_plus"><span class="index-entry-level-1">has_unary_plus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">trait_impl</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">trait_impl1</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/type_with_alignment.html" title="type_with_alignment"><span class="index-entry-level-0">type_with_alignment</span></a></p></li>
-</ul></div></dd>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../boost_typetraits/credits.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s12.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/index/s12.html b/SRC/Boost/libs/type_traits/doc/html/index/s12.html
deleted file mode 100755
index d2dad5a..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/index/s12.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Typedef Index</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="s11.html" title="Class Index">
-<link rel="next" href="s13.html" title="Macro Index">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s11.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s13.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id3345483"></a>Typedef Index</h2></div></div></div>
-<p><a class="link" href="s12.html#idx_id_20">F</a> <a class="link" href="s12.html#idx_id_27">R</a> <a class="link" href="s12.html#idx_id_28">T</a></p>
-<div class="variablelist"><dl>
-<dt>
-<a name="idx_id_20"></a><span class="term">F</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">false_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/integral_constant.html" title="integral_constant"><span class="index-entry-level-1">integral_constant</span></a></p></li></ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_27"></a><span class="term">R</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">result_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/function_traits.html" title="function_traits"><span class="index-entry-level-1">function_traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Rhs_nocv</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Rhs_noptr</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Rhs_noref</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_28"></a><span class="term">T</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">true_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/integral_constant.html" title="integral_constant"><span class="index-entry-level-1">integral_constant</span></a></p></li></ul></div>
-</li></ul></div></dd>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s11.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s13.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/index/s13.html b/SRC/Boost/libs/type_traits/doc/html/index/s13.html
deleted file mode 100755
index 6e66106..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/index/s13.html
+++ /dev/null
@@ -1,167 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Macro Index</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="s12.html" title="Typedef Index">
-<link rel="next" href="s14.html" title="Index">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s12.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s14.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id3345720"></a>Macro Index</h2></div></div></div>
-<p><a class="link" href="s13.html#idx_id_31">B</a></p>
-<div class="variablelist"><dl>
-<dt>
-<a name="idx_id_31"></a><span class="term">B</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_ALIGNMENT_OF</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/transform.html" title="Type Traits that Transform One Type to Another"><span class="index-entry-level-1">Type Traits that Transform One Type to Another</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_COMMON_TYPE_DONT_USE_TYPEOF</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/common_type.html" title="common_type"><span class="index-entry-level-1">common_type</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_NOTHROW_ASSIGN</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_NOTHROW_CONSTRUCTOR</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-1">has_nothrow_constructor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_NOTHROW_COPY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_copy.html" title="has_nothrow_copy"><span class="index-entry-level-1">has_nothrow_copy</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_TRIVIAL_ASSIGN</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_assign.html" title="has_trivial_assign"><span class="index-entry-level-1">has_trivial_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_TRIVIAL_CONSTRUCTOR</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_constructor.html" title="has_trivial_constructor"><span class="index-entry-level-1">has_trivial_constructor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_TRIVIAL_COPY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_copy.html" title="has_trivial_copy"><span class="index-entry-level-1">has_trivial_copy</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_TRIVIAL_DESTRUCTOR</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_destructor.html" title="has_trivial_destructor"><span class="index-entry-level-1">has_trivial_destructor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_VIRTUAL_DESTRUCTOR</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_virtual_destructor.html" title="has_virtual_destructor"><span class="index-entry-level-1">has_virtual_destructor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_ABSTRACT</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_BASE_OF</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_CLASS</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_class.html" title="is_class"><span class="index-entry-level-1">is_class</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_CONVERTIBLE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_EMPTY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_empty.html" title="is_empty"><span class="index-entry-level-1">is_empty</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_ENUM</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_POD</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_pod.html" title="is_pod"><span class="index-entry-level-1">is_pod</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_POLYMORPHIC</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_UNION</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_union.html" title="is_union"><span class="index-entry-level-1">is_union</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s12.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s14.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/html/index/s14.html b/SRC/Boost/libs/type_traits/doc/html/index/s14.html
deleted file mode 100755
index 23ef60a..0000000
--- a/SRC/Boost/libs/type_traits/doc/html/index/s14.html
+++ /dev/null
@@ -1,996 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Index</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeTraits">
-<link rel="prev" href="s13.html" title="Macro Index">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s13.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id3346450"></a>Index</h2></div></div></div>
-<p><a class="link" href="s14.html#idx_id_45">A</a> <a class="link" href="s14.html#idx_id_46">B</a> <a class="link" href="s14.html#idx_id_47">C</a> <a class="link" href="s14.html#idx_id_48">D</a> <a class="link" href="s14.html#idx_id_49">E</a> <a class="link" href="s14.html#idx_id_50">F</a> <a class="link" href="s14.html#idx_id_51">H</a> <a class="link" href="s14.html#idx_id_52">I</a> <a class="link" href="s14.html#idx_id_53">M</a> <a class="link" href="s14.html#idx_id_54">N</a> <a class= [...]
-<div class="variablelist"><dl>
-<dt>
-<a name="idx_id_45"></a><span class="term">A</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_const.html" title="add_const"><span class="index-entry-level-0">add_const</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_cv.html" title="add_cv"><span class="index-entry-level-0">add_cv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_lvalue_reference.html" title="add_lvalue_reference"><span class="index-entry-level-0">add_lvalue_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_pointer.html" title="add_pointer"><span class="index-entry-level-0">add_pointer</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_reference.html" title="add_reference"><span class="index-entry-level-0">add_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_rvalue_reference.html" title="add_rvalue_reference"><span class="index-entry-level-0">add_rvalue_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/add_volatile.html" title="add_volatile"><span class="index-entry-level-0">add_volatile</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/aligned_storage.html" title="aligned_storage"><span class="index-entry-level-0">aligned_storage</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">alignment_of</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/alignment_of.html" title="alignment_of"><span class="index-entry-level-1">alignment_of</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/alignment_of.html" title="alignment_of"><span class="index-entry-level-1">integral_constant</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">any</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_46"></a><span class="term">B</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Background and Tutorial</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/background.html" title="Background and Tutorial"><span class="index-entry-level-1">is_pointer</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/background.html" title="Background and Tutorial"><span class="index-entry-level-1">is_void</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/background.html" title="Background and Tutorial"><span class="index-entry-level-1">remove_extent</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_ALIGNMENT_OF</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/transform.html" title="Type Traits that Transform One Type to Another"><span class="index-entry-level-1">Type Traits that Transform One Type to Another</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_COMMON_TYPE_DONT_USE_TYPEOF</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/common_type.html" title="common_type"><span class="index-entry-level-1">common_type</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_NOTHROW_ASSIGN</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_NOTHROW_CONSTRUCTOR</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-1">has_nothrow_constructor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_NOTHROW_COPY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_copy.html" title="has_nothrow_copy"><span class="index-entry-level-1">has_nothrow_copy</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_TRIVIAL_ASSIGN</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_assign.html" title="has_trivial_assign"><span class="index-entry-level-1">has_trivial_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_TRIVIAL_CONSTRUCTOR</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_constructor.html" title="has_trivial_constructor"><span class="index-entry-level-1">has_trivial_constructor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_TRIVIAL_COPY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_copy.html" title="has_trivial_copy"><span class="index-entry-level-1">has_trivial_copy</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_TRIVIAL_DESTRUCTOR</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_destructor.html" title="has_trivial_destructor"><span class="index-entry-level-1">has_trivial_destructor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_VIRTUAL_DESTRUCTOR</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_virtual_destructor.html" title="has_virtual_destructor"><span class="index-entry-level-1">has_virtual_destructor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_ABSTRACT</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_BASE_OF</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_CLASS</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_class.html" title="is_class"><span class="index-entry-level-1">is_class</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_CONVERTIBLE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_EMPTY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_empty.html" title="is_empty"><span class="index-entry-level-1">is_empty</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_ENUM</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_POD</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_pod.html" title="is_pod"><span class="index-entry-level-1">is_pod</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_POLYMORPHIC</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_IS_UNION</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_union.html" title="is_union"><span class="index-entry-level-1">is_union</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_47"></a><span class="term">C</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">check</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">common_type</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/common_type.html" title="common_type"><span class="index-entry-level-1">BOOST_COMMON_TYPE_DONT_USE_TYPEOF</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/common_type.html" title="common_type"><span class="index-entry-level-1">common_type</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/examples/improved_min.html" title="Improving std::min with common_type"><span class="index-entry-level-1">Improving std::min with common_type</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_48"></a><span class="term">D</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/decay.html" title="decay"><span class="index-entry-level-0">decay</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">dont_care</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and.html" title="has_bit_and"><span class="index-entry-level-1">has_bit_and</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and_assign.html" title="has_bit_and_assign"><span class="index-entry-level-1">has_bit_and_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or.html" title="has_bit_or"><span class="index-entry-level-1">has_bit_or</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or_assign.html" title="has_bit_or_assign"><span class="index-entry-level-1">has_bit_or_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor.html" title="has_bit_xor"><span class="index-entry-level-1">has_bit_xor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor_assign.html" title="has_bit_xor_assign"><span class="index-entry-level-1">has_bit_xor_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_complement.html" title="has_complement"><span class="index-entry-level-1">has_complement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_dereference.html" title="has_dereference"><span class="index-entry-level-1">has_dereference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides.html" title="has_divides"><span class="index-entry-level-1">has_divides</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides_assign.html" title="has_divides_assign"><span class="index-entry-level-1">has_divides_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_equal_to.html" title="has_equal_to"><span class="index-entry-level-1">has_equal_to</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater.html" title="has_greater"><span class="index-entry-level-1">has_greater</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater_equal.html" title="has_greater_equal"><span class="index-entry-level-1">has_greater_equal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift.html" title="has_left_shift"><span class="index-entry-level-1">has_left_shift</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift_assign.html" title="has_left_shift_assign"><span class="index-entry-level-1">has_left_shift_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less.html" title="has_less"><span class="index-entry-level-1">has_less</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less_equal.html" title="has_less_equal"><span class="index-entry-level-1">has_less_equal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_and.html" title="has_logical_and"><span class="index-entry-level-1">has_logical_and</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_not.html" title="has_logical_not"><span class="index-entry-level-1">has_logical_not</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_or.html" title="has_logical_or"><span class="index-entry-level-1">has_logical_or</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus.html" title="has_minus"><span class="index-entry-level-1">has_minus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus_assign.html" title="has_minus_assign"><span class="index-entry-level-1">has_minus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus.html" title="has_modulus"><span class="index-entry-level-1">has_modulus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus_assign.html" title="has_modulus_assign"><span class="index-entry-level-1">has_modulus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies.html" title="has_multiplies"><span class="index-entry-level-1">has_multiplies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies_assign.html" title="has_multiplies_assign"><span class="index-entry-level-1">has_multiplies_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_negate.html" title="has_negate"><span class="index-entry-level-1">has_negate</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_not_equal_to.html" title="has_not_equal_to"><span class="index-entry-level-1">has_not_equal_to</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus.html" title="has_plus"><span class="index-entry-level-1">has_plus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus_assign.html" title="has_plus_assign"><span class="index-entry-level-1">has_plus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_decrement.html" title="has_post_decrement"><span class="index-entry-level-1">has_post_decrement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_increment.html" title="has_post_increment"><span class="index-entry-level-1">has_post_increment</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_decrement.html" title="has_pre_decrement"><span class="index-entry-level-1">has_pre_decrement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_increment.html" title="has_pre_increment"><span class="index-entry-level-1">has_pre_increment</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift.html" title="has_right_shift"><span class="index-entry-level-1">has_right_shift</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift_assign.html" title="has_right_shift_assign"><span class="index-entry-level-1">has_right_shift_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_minus.html" title="has_unary_minus"><span class="index-entry-level-1">has_unary_minus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_plus.html" title="has_unary_plus"><span class="index-entry-level-1">has_unary_plus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_49"></a><span class="term">E</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">extent</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/extent.html" title="extent"><span class="index-entry-level-1">extent</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/extent.html" title="extent"><span class="index-entry-level-1">integral_constant</span></a></p></li>
-</ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_50"></a><span class="term">F</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">false_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/integral_constant.html" title="integral_constant"><span class="index-entry-level-1">integral_constant</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/floating_point_promotion.html" title="floating_point_promotion"><span class="index-entry-level-0">floating_point_promotion</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">function_traits</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/function_traits.html" title="function_traits"><span class="index-entry-level-1">function_traits</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/function_traits.html" title="function_traits"><span class="index-entry-level-1">result_type</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_51"></a><span class="term">H</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_bit_and</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and.html" title="has_bit_and"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_bit_and.html" title="has_bit_and"><span class="index-entry-level-1">has_bit_and</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and.html" title="has_bit_and"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_bit_and_assign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and_assign.html" title="has_bit_and_assign"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_bit_and_assign.html" title="has_bit_and_assign"><span class="index-entry-level-1">has_bit_and_assign</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and_assign.html" title="has_bit_and_assign"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_bit_or</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or.html" title="has_bit_or"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_bit_or.html" title="has_bit_or"><span class="index-entry-level-1">has_bit_or</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or.html" title="has_bit_or"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_bit_or_assign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or_assign.html" title="has_bit_or_assign"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_bit_or_assign.html" title="has_bit_or_assign"><span class="index-entry-level-1">has_bit_or_assign</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or_assign.html" title="has_bit_or_assign"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_bit_xor</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor.html" title="has_bit_xor"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_bit_xor.html" title="has_bit_xor"><span class="index-entry-level-1">has_bit_xor</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor.html" title="has_bit_xor"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_bit_xor_assign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor_assign.html" title="has_bit_xor_assign"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_bit_xor_assign.html" title="has_bit_xor_assign"><span class="index-entry-level-1">has_bit_xor_assign</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor_assign.html" title="has_bit_xor_assign"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_complement</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_complement.html" title="has_complement"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_complement.html" title="has_complement"><span class="index-entry-level-1">has_complement</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_complement.html" title="has_complement"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_dereference</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_dereference.html" title="has_dereference"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_dereference.html" title="has_dereference"><span class="index-entry-level-1">has_dereference</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_dereference.html" title="has_dereference"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_divides</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides.html" title="has_divides"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_divides.html" title="has_divides"><span class="index-entry-level-1">has_divides</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides.html" title="has_divides"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_divides_assign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides_assign.html" title="has_divides_assign"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_divides_assign.html" title="has_divides_assign"><span class="index-entry-level-1">has_divides_assign</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides_assign.html" title="has_divides_assign"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_equal_to</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_equal_to.html" title="has_equal_to"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_equal_to.html" title="has_equal_to"><span class="index-entry-level-1">has_equal_to</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_equal_to.html" title="has_equal_to"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_greater</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater.html" title="has_greater"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_greater.html" title="has_greater"><span class="index-entry-level-1">has_greater</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater.html" title="has_greater"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_greater_equal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater_equal.html" title="has_greater_equal"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_greater_equal.html" title="has_greater_equal"><span class="index-entry-level-1">has_greater_equal</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater_equal.html" title="has_greater_equal"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_left_shift</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift.html" title="has_left_shift"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_left_shift.html" title="has_left_shift"><span class="index-entry-level-1">has_left_shift</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift.html" title="has_left_shift"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_left_shift_assign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift_assign.html" title="has_left_shift_assign"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_left_shift_assign.html" title="has_left_shift_assign"><span class="index-entry-level-1">has_left_shift_assign</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift_assign.html" title="has_left_shift_assign"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_less</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less.html" title="has_less"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_less.html" title="has_less"><span class="index-entry-level-1">has_less</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less.html" title="has_less"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_less_equal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less_equal.html" title="has_less_equal"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_less_equal.html" title="has_less_equal"><span class="index-entry-level-1">has_less_equal</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less_equal.html" title="has_less_equal"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_logical_and</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_and.html" title="has_logical_and"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_logical_and.html" title="has_logical_and"><span class="index-entry-level-1">has_logical_and</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_and.html" title="has_logical_and"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_logical_not</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_not.html" title="has_logical_not"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_logical_not.html" title="has_logical_not"><span class="index-entry-level-1">has_logical_not</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_not.html" title="has_logical_not"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_logical_or</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_or.html" title="has_logical_or"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_logical_or.html" title="has_logical_or"><span class="index-entry-level-1">has_logical_or</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_or.html" title="has_logical_or"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_minus</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus.html" title="has_minus"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_minus.html" title="has_minus"><span class="index-entry-level-1">has_minus</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus.html" title="has_minus"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_minus_assign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus_assign.html" title="has_minus_assign"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_minus_assign.html" title="has_minus_assign"><span class="index-entry-level-1">has_minus_assign</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus_assign.html" title="has_minus_assign"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_modulus</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus.html" title="has_modulus"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_modulus.html" title="has_modulus"><span class="index-entry-level-1">has_modulus</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus.html" title="has_modulus"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_modulus_assign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus_assign.html" title="has_modulus_assign"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_modulus_assign.html" title="has_modulus_assign"><span class="index-entry-level-1">has_modulus_assign</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus_assign.html" title="has_modulus_assign"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_multiplies</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies.html" title="has_multiplies"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_multiplies.html" title="has_multiplies"><span class="index-entry-level-1">has_multiplies</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies.html" title="has_multiplies"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_multiplies_assign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies_assign.html" title="has_multiplies_assign"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_multiplies_assign.html" title="has_multiplies_assign"><span class="index-entry-level-1">has_multiplies_assign</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies_assign.html" title="has_multiplies_assign"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_negate</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_negate.html" title="has_negate"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_negate.html" title="has_negate"><span class="index-entry-level-1">has_negate</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_negate.html" title="has_negate"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_new_operator.html" title="has_new_operator"><span class="index-entry-level-0">has_new_operator</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_assign.html" title="has_nothrow_assign"><span class="index-entry-level-0">has_nothrow_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_nothrow_constructor</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-1">BOOST_HAS_NOTHROW_CONSTRUCTOR</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-1">has_nothrow_constructor</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-1">has_nothrow_default_constructor</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_nothrow_copy</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_copy.html" title="has_nothrow_copy"><span class="index-entry-level-1">BOOST_HAS_NOTHROW_COPY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_nothrow_copy.html" title="has_nothrow_copy"><span class="index-entry-level-1">has_nothrow_copy</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_copy.html" title="has_nothrow_copy"><span class="index-entry-level-1">has_nothrow_copy_constructor</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_nothrow_copy_constructor</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_copy.html" title="has_nothrow_copy"><span class="index-entry-level-1">has_nothrow_copy</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_nothrow_default_constructor</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-1">has_nothrow_constructor</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_not_equal_to</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_not_equal_to.html" title="has_not_equal_to"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_not_equal_to.html" title="has_not_equal_to"><span class="index-entry-level-1">has_not_equal_to</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_not_equal_to.html" title="has_not_equal_to"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_operator</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_plus</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus.html" title="has_plus"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_plus.html" title="has_plus"><span class="index-entry-level-1">has_plus</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus.html" title="has_plus"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_plus_assign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus_assign.html" title="has_plus_assign"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_plus_assign.html" title="has_plus_assign"><span class="index-entry-level-1">has_plus_assign</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus_assign.html" title="has_plus_assign"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_post_decrement</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_decrement.html" title="has_post_decrement"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_post_decrement.html" title="has_post_decrement"><span class="index-entry-level-1">has_post_decrement</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_decrement.html" title="has_post_decrement"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_post_increment</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_increment.html" title="has_post_increment"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_post_increment.html" title="has_post_increment"><span class="index-entry-level-1">has_post_increment</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_increment.html" title="has_post_increment"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_pre_decrement</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_decrement.html" title="has_pre_decrement"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_pre_decrement.html" title="has_pre_decrement"><span class="index-entry-level-1">has_pre_decrement</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_decrement.html" title="has_pre_decrement"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_pre_increment</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_increment.html" title="has_pre_increment"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_pre_increment.html" title="has_pre_increment"><span class="index-entry-level-1">has_pre_increment</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_increment.html" title="has_pre_increment"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_right_shift</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift.html" title="has_right_shift"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_right_shift.html" title="has_right_shift"><span class="index-entry-level-1">has_right_shift</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift.html" title="has_right_shift"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_right_shift_assign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift_assign.html" title="has_right_shift_assign"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_right_shift_assign.html" title="has_right_shift_assign"><span class="index-entry-level-1">has_right_shift_assign</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift_assign.html" title="has_right_shift_assign"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_trivial_assign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_assign.html" title="has_trivial_assign"><span class="index-entry-level-1">BOOST_HAS_TRIVIAL_ASSIGN</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_trivial_assign.html" title="has_trivial_assign"><span class="index-entry-level-1">has_trivial_assign</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_trivial_constructor</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_constructor.html" title="has_trivial_constructor"><span class="index-entry-level-1">BOOST_HAS_TRIVIAL_CONSTRUCTOR</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_trivial_constructor.html" title="has_trivial_constructor"><span class="index-entry-level-1">has_trivial_constructor</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_constructor.html" title="has_trivial_constructor"><span class="index-entry-level-1">has_trivial_default_constructor</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_trivial_copy</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_copy.html" title="has_trivial_copy"><span class="index-entry-level-1">BOOST_HAS_TRIVIAL_COPY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_trivial_copy.html" title="has_trivial_copy"><span class="index-entry-level-1">has_trivial_copy</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_copy.html" title="has_trivial_copy"><span class="index-entry-level-1">has_trivial_copy_constructor</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_trivial_copy_constructor</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_copy.html" title="has_trivial_copy"><span class="index-entry-level-1">has_trivial_copy</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_trivial_default_constructor</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_constructor.html" title="has_trivial_constructor"><span class="index-entry-level-1">has_trivial_constructor</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_trivial_destructor</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_destructor.html" title="has_trivial_destructor"><span class="index-entry-level-1">BOOST_HAS_TRIVIAL_DESTRUCTOR</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_trivial_destructor.html" title="has_trivial_destructor"><span class="index-entry-level-1">has_trivial_destructor</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_unary_minus</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_minus.html" title="has_unary_minus"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_unary_minus.html" title="has_unary_minus"><span class="index-entry-level-1">has_unary_minus</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_minus.html" title="has_unary_minus"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_unary_plus</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_plus.html" title="has_unary_plus"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_unary_plus.html" title="has_unary_plus"><span class="index-entry-level-1">has_unary_plus</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_plus.html" title="has_unary_plus"><span class="index-entry-level-1">trait</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">has_virtual_destructor</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_virtual_destructor.html" title="has_virtual_destructor"><span class="index-entry-level-1">BOOST_HAS_VIRTUAL_DESTRUCTOR</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_virtual_destructor.html" title="has_virtual_destructor"><span class="index-entry-level-1">has_virtual_destructor</span></a></strong></span></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_52"></a><span class="term">I</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Improving std::min with common_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/examples/improved_min.html" title="Improving std::min with common_type"><span class="index-entry-level-1">common_type</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">int</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_function.html" title="is_function"><span class="index-entry-level-1">is_function</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">integral_constant</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/alignment_of.html" title="alignment_of"><span class="index-entry-level-1">alignment_of</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/extent.html" title="extent"><span class="index-entry-level-1">extent</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/integral_constant.html" title="integral_constant"><span class="index-entry-level-1">false_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/integral_constant.html" title="integral_constant"><span class="index-entry-level-1">integral_constant</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/rank.html" title="rank"><span class="index-entry-level-1">rank</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/integral_constant.html" title="integral_constant"><span class="index-entry-level-1">true_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/integral_promotion.html" title="integral_promotion"><span class="index-entry-level-0">integral_promotion</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_abstract.html" title="is_abstract"><span class="index-entry-level-0">is_abstract</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_arithmetic.html" title="is_arithmetic"><span class="index-entry-level-0">is_arithmetic</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_array.html" title="is_array"><span class="index-entry-level-0">is_array</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_base_of.html" title="is_base_of"><span class="index-entry-level-0">is_base_of</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_class</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_class.html" title="is_class"><span class="index-entry-level-1">BOOST_IS_CLASS</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_class.html" title="is_class"><span class="index-entry-level-1">is_class</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/user_defined.html" title="User Defined Specializations"><span class="index-entry-level-1">User Defined Specializations</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_complex.html" title="is_complex"><span class="index-entry-level-0">is_complex</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_compound.html" title="is_compound"><span class="index-entry-level-0">is_compound</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_const.html" title="is_const"><span class="index-entry-level-0">is_const</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_convertible.html" title="is_convertible"><span class="index-entry-level-0">is_convertible</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_convertible_to_Ret</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_empty</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_empty.html" title="is_empty"><span class="index-entry-level-1">BOOST_IS_EMPTY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_empty.html" title="is_empty"><span class="index-entry-level-1">is_empty</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_enum.html" title="is_enum"><span class="index-entry-level-0">is_enum</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_floating_point.html" title="is_floating_point"><span class="index-entry-level-0">is_floating_point</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_function</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_function.html" title="is_function"><span class="index-entry-level-1">int</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_function.html" title="is_function"><span class="index-entry-level-1">is_function</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_fundamental.html" title="is_fundamental"><span class="index-entry-level-0">is_fundamental</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_integral.html" title="is_integral"><span class="index-entry-level-0">is_integral</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_lvalue_reference.html" title="is_lvalue_reference"><span class="index-entry-level-0">is_lvalue_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_member_function_pointer.html" title="is_member_function_pointer"><span class="index-entry-level-0">is_member_function_pointer</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_member_object_pointer.html" title="is_member_object_pointer"><span class="index-entry-level-0">is_member_object_pointer</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_member_pointer.html" title="is_member_pointer"><span class="index-entry-level-0">is_member_pointer</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_object.html" title="is_object"><span class="index-entry-level-0">is_object</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_pod</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_pod.html" title="is_pod"><span class="index-entry-level-1">BOOST_IS_POD</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_pod.html" title="is_pod"><span class="index-entry-level-1">is_pod</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/user_defined.html" title="User Defined Specializations"><span class="index-entry-level-1">User Defined Specializations</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_pointer</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/background.html" title="Background and Tutorial"><span class="index-entry-level-1">Background and Tutorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_pointer.html" title="is_pointer"><span class="index-entry-level-1">is_pointer</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_polymorphic.html" title="is_polymorphic"><span class="index-entry-level-0">is_polymorphic</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_reference.html" title="is_reference"><span class="index-entry-level-0">is_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_rvalue_reference.html" title="is_rvalue_reference"><span class="index-entry-level-0">is_rvalue_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_same.html" title="is_same"><span class="index-entry-level-0">is_same</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_scalar.html" title="is_scalar"><span class="index-entry-level-0">is_scalar</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_signed.html" title="is_signed"><span class="index-entry-level-0">is_signed</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_stateless.html" title="is_stateless"><span class="index-entry-level-0">is_stateless</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_union</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_union.html" title="is_union"><span class="index-entry-level-1">BOOST_IS_UNION</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_union.html" title="is_union"><span class="index-entry-level-1">is_union</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/user_defined.html" title="User Defined Specializations"><span class="index-entry-level-1">User Defined Specializations</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_unsigned.html" title="is_unsigned"><span class="index-entry-level-0">is_unsigned</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_virtual_base_of.html" title="is_virtual_base_of"><span class="index-entry-level-0">is_virtual_base_of</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">is_void</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/background.html" title="Background and Tutorial"><span class="index-entry-level-1">Background and Tutorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_void.html" title="is_void"><span class="index-entry-level-1">is_void</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_volatile.html" title="is_volatile"><span class="index-entry-level-0">is_volatile</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_53"></a><span class="term">M</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Macros for Compiler Intrinsics</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_ALIGNMENT_OF</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_HAS_NOTHROW_ASSIGN</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_HAS_NOTHROW_CONSTRUCTOR</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_HAS_NOTHROW_COPY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_HAS_TRIVIAL_ASSIGN</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_HAS_TRIVIAL_CONSTRUCTOR</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_HAS_TRIVIAL_COPY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_HAS_TRIVIAL_DESTRUCTOR</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_HAS_VIRTUAL_DESTRUCTOR</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_ABSTRACT</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_BASE_OF</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_CLASS</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_CONVERTIBLE</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_EMPTY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_ENUM</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_POD</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_POLYMORPHIC</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">BOOST_IS_UNION</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/make_signed.html" title="make_signed"><span class="index-entry-level-0">make_signed</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/make_unsigned.html" title="make_unsigned"><span class="index-entry-level-0">make_unsigned</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_54"></a><span class="term">N</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">no_operator</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_55"></a><span class="term">O</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Operator Type Traits</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">any</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">check</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">dont_care</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">has_equal_to</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">has_operator</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">has_unary_minus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">integral_constant</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">is_convertible_to_Ret</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">no_operator</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">operator_exists</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">operator_returns_Ret</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">operator_returns_void</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">returns_void</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">returns_void_t</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Rhs_nocv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Rhs_noptr</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Rhs_noref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">trait</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">trait_impl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">trait_impl1</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">operator_exists</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">operator_returns_Ret</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">operator_returns_void</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_56"></a><span class="term">P</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/promote.html" title="promote"><span class="index-entry-level-0">promote</span></a></p></li></ul></div></dd>
-<dt>
-<a name="idx_id_57"></a><span class="term">R</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">rank</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/rank.html" title="rank"><span class="index-entry-level-1">integral_constant</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/rank.html" title="rank"><span class="index-entry-level-1">rank</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/remove_all_extents.html" title="remove_all_extents"><span class="index-entry-level-0">remove_all_extents</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/remove_const.html" title="remove_const"><span class="index-entry-level-0">remove_const</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/remove_cv.html" title="remove_cv"><span class="index-entry-level-0">remove_cv</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remove_extent</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/background.html" title="Background and Tutorial"><span class="index-entry-level-1">Background and Tutorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/remove_extent.html" title="remove_extent"><span class="index-entry-level-1">remove_extent</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/remove_pointer.html" title="remove_pointer"><span class="index-entry-level-0">remove_pointer</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/remove_reference.html" title="remove_reference"><span class="index-entry-level-0">remove_reference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/remove_volatile.html" title="remove_volatile"><span class="index-entry-level-0">remove_volatile</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">result_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/function_traits.html" title="function_traits"><span class="index-entry-level-1">function_traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">returns_void</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">returns_void_t</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Rhs_nocv</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Rhs_noptr</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Rhs_noref</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_58"></a><span class="term">T</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">trait</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and.html" title="has_bit_and"><span class="index-entry-level-1">has_bit_and</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_and_assign.html" title="has_bit_and_assign"><span class="index-entry-level-1">has_bit_and_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or.html" title="has_bit_or"><span class="index-entry-level-1">has_bit_or</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_or_assign.html" title="has_bit_or_assign"><span class="index-entry-level-1">has_bit_or_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor.html" title="has_bit_xor"><span class="index-entry-level-1">has_bit_xor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_bit_xor_assign.html" title="has_bit_xor_assign"><span class="index-entry-level-1">has_bit_xor_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_complement.html" title="has_complement"><span class="index-entry-level-1">has_complement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_dereference.html" title="has_dereference"><span class="index-entry-level-1">has_dereference</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides.html" title="has_divides"><span class="index-entry-level-1">has_divides</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_divides_assign.html" title="has_divides_assign"><span class="index-entry-level-1">has_divides_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_equal_to.html" title="has_equal_to"><span class="index-entry-level-1">has_equal_to</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater.html" title="has_greater"><span class="index-entry-level-1">has_greater</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_greater_equal.html" title="has_greater_equal"><span class="index-entry-level-1">has_greater_equal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift.html" title="has_left_shift"><span class="index-entry-level-1">has_left_shift</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_left_shift_assign.html" title="has_left_shift_assign"><span class="index-entry-level-1">has_left_shift_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less.html" title="has_less"><span class="index-entry-level-1">has_less</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_less_equal.html" title="has_less_equal"><span class="index-entry-level-1">has_less_equal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_and.html" title="has_logical_and"><span class="index-entry-level-1">has_logical_and</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_not.html" title="has_logical_not"><span class="index-entry-level-1">has_logical_not</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_logical_or.html" title="has_logical_or"><span class="index-entry-level-1">has_logical_or</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus.html" title="has_minus"><span class="index-entry-level-1">has_minus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_minus_assign.html" title="has_minus_assign"><span class="index-entry-level-1">has_minus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus.html" title="has_modulus"><span class="index-entry-level-1">has_modulus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_modulus_assign.html" title="has_modulus_assign"><span class="index-entry-level-1">has_modulus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies.html" title="has_multiplies"><span class="index-entry-level-1">has_multiplies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_multiplies_assign.html" title="has_multiplies_assign"><span class="index-entry-level-1">has_multiplies_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_negate.html" title="has_negate"><span class="index-entry-level-1">has_negate</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_not_equal_to.html" title="has_not_equal_to"><span class="index-entry-level-1">has_not_equal_to</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus.html" title="has_plus"><span class="index-entry-level-1">has_plus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_plus_assign.html" title="has_plus_assign"><span class="index-entry-level-1">has_plus_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_decrement.html" title="has_post_decrement"><span class="index-entry-level-1">has_post_decrement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_post_increment.html" title="has_post_increment"><span class="index-entry-level-1">has_post_increment</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_decrement.html" title="has_pre_decrement"><span class="index-entry-level-1">has_pre_decrement</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_increment.html" title="has_pre_increment"><span class="index-entry-level-1">has_pre_increment</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift.html" title="has_right_shift"><span class="index-entry-level-1">has_right_shift</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift_assign.html" title="has_right_shift_assign"><span class="index-entry-level-1">has_right_shift_assign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_minus.html" title="has_unary_minus"><span class="index-entry-level-1">has_unary_minus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_unary_plus.html" title="has_unary_plus"><span class="index-entry-level-1">has_unary_plus</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">trait_impl</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">trait_impl1</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">true_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/integral_constant.html" title="integral_constant"><span class="index-entry-level-1">integral_constant</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Type Traits that Transform One Type to Another</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/transform.html" title="Type Traits that Transform One Type to Another"><span class="index-entry-level-1">BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/type_with_alignment.html" title="type_with_alignment"><span class="index-entry-level-0">type_with_alignment</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_59"></a><span class="term">U</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">User Defined Specializations</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/user_defined.html" title="User Defined Specializations"><span class="index-entry-level-1">is_class</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/user_defined.html" title="User Defined Specializations"><span class="index-entry-level-1">is_pod</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/user_defined.html" title="User Defined Specializations"><span class="index-entry-level-1">is_union</span></a></p></li>
-</ul></div>
-</li></ul></div></dd>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
-      Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,
-      Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten
-      Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven
-      Watanabe<p>
-        Distributed under the Boost Software License, Version 1.0. (See accompanying
-        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-      </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s13.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-</body>
-</html>
diff --git a/SRC/Boost/libs/type_traits/doc/index.idx b/SRC/Boost/libs/type_traits/doc/index.idx
deleted file mode 100755
index e78f6ee..0000000
--- a/SRC/Boost/libs/type_traits/doc/index.idx
+++ /dev/null
@@ -1,23 +0,0 @@
-
-!define-scanner class_name "BOOST_TT_AUX_TYPE_TRAIT_DEF\d\s*\(\s*(\w+)\s*[,)]" "(?:class|struct)[^;{]+\\<\1\\>[^;{]+\\{" \1
-!define-scanner class_name "BOOST_TT_AUX_BOOL_TRAIT_DEF\d\s*\(\s*(\w+)\s*[,)]" "(?:class|struct)[^;{]+\\<\1\\>[^;{]+\\{" \1
-!define-scanner class_name "BOOST_TT_AUX_SIZE_T_TRAIT_DEF\d\s*\(\s*(\w+)\s*[,)]" "(?:class|struct)[^;{]+\\<\1\\>[^;{]+\\{" \1
-!define-scanner class_name "BOOST_TT_TRAIT_NAME\s*(\w+)" "(?:class|struct)[^;{]+\\<\1\\>[^;{]+\\{" \1
-
-!define-scanner class_name "^[[:space:]]*(template[[:space:]]*<[^;:{]+>[[:space:]]*)?(class|struct)[[:space:]]*(\<\w+\>([[:blank:]]*\([^)]*\))?[[:space:]]*)*(\<\w*\>)[[:space:]]*(<[^;:{]+>)?[[:space:]]*(\{|:[^;\{()]*\{)" "(?:class|struct)[^;{]+\\<\5\\>[^;{]+\\{" \5
-!define-scanner typedef_name "typedef[^;{}#]+?(\w+)\s*;"  "typedef[^;]+\\<\1\\>\\s*;" "\1"
-!define-scanner "macro_name" "^\s*#\s*define\s+(\w+)" "\\<\1\\>" "\1"
-!define-scanner "function_name" "\w+\s+(\w+)\s*\([^\)]*\)\s*[;{]" "\\<\\w+\\>\\s+\\<\1\\>\\s*\\([^;{]*\\)\\s*[;{]" "\1"
-
-!scan-path boost/type_traits .*\.hpp true
-!scan boost/aligned_storage.hpp
-!scan boost/type_traits.hpp
-
-!exclude type arg1_type arg2_type arg3_type arg4_type arg5_type B D
-!exclude result
-
-!rewrite-name "(?:A|An|The)\s+(.*)" "\1"
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/doc/integral_constant.qbk b/SRC/Boost/libs/type_traits/doc/integral_constant.qbk
deleted file mode 100755
index 64f7208..0000000
--- a/SRC/Boost/libs/type_traits/doc/integral_constant.qbk
+++ /dev/null
@@ -1,26 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:integral_constant integral_constant]
-   template <class T, T val>
-   struct integral_constant
-   {
-      typedef integral_constant<T, val>  type;
-      typedef T                          value_type;
-      static const T value = val;
-   };
-   
-   typedef integral_constant<bool, true>  true_type;
-   typedef integral_constant<bool, false> false_type;
-
-Class template `integral_constant` is the common base class for all the value-based
-type traits.  The two typedef's `true_type` and `false_type` are provided for 
-convenience: most of the value traits are Boolean properties and so will inherit from
-one of these.
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/integral_promotion.qbk b/SRC/Boost/libs/type_traits/doc/integral_promotion.qbk
deleted file mode 100755
index 8b4b335..0000000
--- a/SRC/Boost/libs/type_traits/doc/integral_promotion.qbk
+++ /dev/null
@@ -1,37 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:integral_promotion integral_promotion]
-
-   template <class T>
-   struct integral_promotion
-   {
-      typedef __below type;
-   };
-  
-__type If integral promotion can be applied to an rvalue of type `T`, then
-applies integral promotion to `T` and keeps cv-qualifiers of `T`,
-otherwise leaves `T` unchanged.
-
-__std_ref 4.5 except 4.5/3 (integral bit-field).
-
-__header ` #include <boost/type_traits/integral_promotion.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`integral_promotion<short const>::type`][`int const`]]
-
-[[`integral_promotion<short&>::type`][`short&`]]
-
-[[`integral_promotion<enum std::float_round_style>::type`][`int`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/intrinsics.qbk b/SRC/Boost/libs/type_traits/doc/intrinsics.qbk
deleted file mode 100755
index 2b36b20..0000000
--- a/SRC/Boost/libs/type_traits/doc/intrinsics.qbk
+++ /dev/null
@@ -1,72 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:intrinsics Support for Compiler Intrinsics]
-
-There are some traits that can not be implemented within the current C++ language:
-to make these traits "just work" with user defined types, some kind of additional
-help from the compiler is required.  Currently (April 2008) Visual C++ 8 and 9,
-GNU GCC 4.3 and MWCW 9
-provide the necessary intrinsics, and other compilers will no doubt follow in due 
-course.  
-
-The Following traits classes always need compiler support to do the right thing 
-for all types 
-(but all have safe fallback positions if this support is unavailable):
-
-* __is_union
-* __is_pod
-* __has_trivial_constructor
-* __has_trivial_copy
-* __has_trivial_assign
-* __has_trivial_destructor
-* __has_nothrow_constructor
-* __has_nothrow_copy
-* __has_nothrow_assign
-* __has_virtual_destructor
-
-The following traits classes can't be portably implemented in the C++ language, 
-although in practice, the implementations do in fact do the right thing on all
-the compilers we know about:
-
-* __is_empty
-* __is_polymorphic
-
-The following traits classes are dependent on one or more of the above:
-
-* __is_class
-* __is_stateless
-
-The hooks for compiler-intrinsic support are defined in 
-[@../../../../boost/type_traits/intrinsics.hpp boost/type_traits/intrinsics.hpp], adding support for new compilers is simply
-a matter of defining one of more of the following macros:
-
-[table Macros for Compiler Intrinsics
-   [[BOOST_IS_UNION(T)][Should evaluate to true if T is a union type]]
-   [[BOOST_IS_POD(T)][Should evaluate to true if T is a POD type]]
-   [[BOOST_IS_EMPTY(T)][Should evaluate to true if T is an empty struct or union]]
-   [[BOOST_HAS_TRIVIAL_CONSTRUCTOR(T)][Should evaluate to true if the default constructor for T is trivial (i.e. has no effect)]]
-   [[BOOST_HAS_TRIVIAL_COPY(T)][Should evaluate to true if T has a trivial copy constructor (and can therefore be replaced by a call to memcpy)]]
-   [[BOOST_HAS_TRIVIAL_ASSIGN(T)][Should evaluate to true if T has a trivial assignment operator (and can therefore be replaced by a call to memcpy)]]
-   [[BOOST_HAS_TRIVIAL_DESTRUCTOR(T)][Should evaluate to true if T has a trivial destructor (i.e. ~T() has no effect)]]
-   [[BOOST_HAS_NOTHROW_CONSTRUCTOR(T)][Should evaluate to true if `T x;` can not throw]]
-   [[BOOST_HAS_NOTHROW_COPY(T)][Should evaluate to true if `T(t)` can not throw]]
-   [[BOOST_HAS_NOTHROW_ASSIGN(T)][Should evaluate to true if `T t, u; t = u` can not throw]]
-   [[BOOST_HAS_VIRTUAL_DESTRUCTOR(T)][Should evaluate to true T has a virtual destructor]]
-
-   [[BOOST_IS_ABSTRACT(T)][Should evaluate to true if T is an abstract type]]
-   [[BOOST_IS_BASE_OF(T,U)][Should evaluate to true if T is a base class of U]]
-   [[BOOST_IS_CLASS(T)][Should evaluate to true if T is a class type]]
-   [[BOOST_IS_CONVERTIBLE(T,U)][Should evaluate to true if T is convertible to U]]
-   [[BOOST_IS_ENUM(T)][Should evaluate to true is T is an enum]]
-   [[BOOST_IS_POLYMORPHIC(T)][Should evaluate to true if T is a polymorphic type]]
-   [[BOOST_ALIGNMENT_OF(T)][Should evaluate to the alignment requirements of type T.]]
-   
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_abstract.qbk b/SRC/Boost/libs/type_traits/doc/is_abstract.qbk
deleted file mode 100755
index a422ada..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_abstract.qbk
+++ /dev/null
@@ -1,41 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_abstract is_abstract]
-   template <class T>
-   struct is_abstract : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) abstract type then inherits from 
-__true_type, otherwise inherits from __false_type.  
-
-__std_ref 10.3.
-
-__header ` #include <boost/type_traits/is_abstract.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__compat The compiler must support DR337 (as of April 2005: GCC 3.4, VC++ 7.1 (and later),
- Intel C++ 7 (and later), and Comeau 4.3.2).
-Otherwise behaves the same as __is_polymorphic; 
-this is the "safe fallback position" for which polymorphic types are always 
-regarded as potentially abstract.  The macro BOOST_NO_IS_ABSTRACT is used to 
-signify that the implementation is buggy, users should check for this in their 
-own code if the "safe fallback" is not suitable for their particular use-case.
-
-__examples
-
-[:Given: `class abc{ virtual ~abc() = 0; };` ]
-
-[:`is_abstract<abc>` inherits from `__true_type`.]
-
-[:`is_abstract<abc>::type` is the type `__true_type`.]
-
-[:`is_abstract<abc const>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_abstract<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_arithmetic.qbk b/SRC/Boost/libs/type_traits/doc/is_arithmetic.qbk
deleted file mode 100755
index 7e068f1..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_arithmetic.qbk
+++ /dev/null
@@ -1,32 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_arithmetic is_arithmetic]
-   template <class T>
-   struct is_arithmetic : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) arithmetic type then inherits from 
-__true_type, otherwise inherits from __false_type.  Arithmetic types include 
-integral and floating point types (see also __is_integral and __is_floating_point).
-
-__std_ref 3.9.1p8.
-
-__header ` #include <boost/type_traits/is_arithmetic.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_arithmetic<int>` inherits from `__true_type`.]
-
-[:`is_arithmetic<char>::type` is the type `__true_type`.]
-
-[:`is_arithmetic<double>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_arithmetic<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_array.qbk b/SRC/Boost/libs/type_traits/doc/is_array.qbk
deleted file mode 100755
index 0d93d4c..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_array.qbk
+++ /dev/null
@@ -1,35 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_array is_array]
-   template <class T>
-   struct is_array : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) array type then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.2 and 8.3.4.
-
-__header ` #include <boost/type_traits/is_array.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__compat If the compiler does not support 
-partial-specialization of class templates, then this template 
-can give the wrong result with function types.
-
-__examples
-
-[:`is_array<int[2]>` inherits from `__true_type`.]
-
-[:`is_array<char[2][3]>::type` is the type `__true_type`.]
-
-[:`is_array<double[]>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_array<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_base_of.qbk b/SRC/Boost/libs/type_traits/doc/is_base_of.qbk
deleted file mode 100755
index 59c6829..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_base_of.qbk
+++ /dev/null
@@ -1,53 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_base_of is_base_of]
-
-   template <class Base, class Derived>
-   struct is_base_of : public __tof {};
-  
-__inherit If Base is base class of type Derived or if both types are the same
-class type then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-This template will detect non-public base classes, and ambiguous base classes.
-
-Note that `is_base_of<X,X>` will inherit from __true_type if X is a class type.  
-This is a change in behaviour 
-from Boost-1.39.0 in order to track the emerging C++0x standard.
-
-Types `Base` and `Derived` must not be incomplete types.
-
-__std_ref 10.
-
-__header ` #include <boost/type_traits/is_base_of.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__compat If the compiler does not support partial-specialization of class templates, 
-then this template can not be used with function types.  There are some older compilers
-which will produce compiler errors if `Base` is a private base class of `Derived`, or if
-`Base` is an ambiguous base of `Derived`.  These compilers include Borland C++, older 
-versions of Sun Forte C++, Digital Mars C++, and older versions of EDG based compilers.
-
-__examples
-
-[:Given: ` class Base{}; class Derived : public Base{};` ]
-
-[:`is_base_of<Base, Derived>` inherits from `__true_type`.]
-
-[:`is_base_of<Base, Derived>::type` is the type `__true_type`.]
-
-[:`is_base_of<Base, Derived>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_base_of<Base, Base>::value` is an integral constant 
-expression that evaluates to /true/: a class is regarded as it's own base.]
-
-[:`is_base_of<T, T>::value_type` is the type `bool`.]
-
-[endsect]
-
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_class.qbk b/SRC/Boost/libs/type_traits/doc/is_class.qbk
deleted file mode 100755
index 3175827..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_class.qbk
+++ /dev/null
@@ -1,47 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_class is_class]
-   template <class T>
-   struct is_class : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) class type (and not a union type) then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.2 and 9.2.
-
-__header ` #include <boost/type_traits/is_class.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__compat Without (some as yet unspecified) help from the compiler, 
-we cannot distinguish between union and class types, as a result this type 
-will erroneously inherit from __true_type for union types.  See also __is_union.  
-Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, 
-Intel-11.0, and Codegear have the necessary compiler __intrinsics to ensure that this 
-trait "just works".  You may also test to see if the necessary __intrinsics are available 
-by checking to see if the macro `BOOST_IS_CLASS` is defined.
-
-__examples
-
-[:Given: `class MyClass;` then:]
-
-[:`is_class<MyClass>` inherits from `__true_type`.]
-
-[:`is_class<MyClass const>::type` is the type `__true_type`.]
-
-[:`is_class<MyClass>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_class<MyClass&>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_class<MyClass*>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_class<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_complex.qbk b/SRC/Boost/libs/type_traits/doc/is_complex.qbk
deleted file mode 100755
index 4d0f3a7..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_complex.qbk
+++ /dev/null
@@ -1,21 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_complex is_complex]
-   
-   template <class T>
-   struct is_complex : public __tof {};
-  
-__inherit If `T` is a complex number type then true (of type `std::complex<U>` for
-some type `U`), otherwise false.
-
-__std_ref 26.2.
-
-__header ` #include <boost/type_traits/is_complex.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_compound.qbk b/SRC/Boost/libs/type_traits/doc/is_compound.qbk
deleted file mode 100755
index c927412..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_compound.qbk
+++ /dev/null
@@ -1,38 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_compound is_compound]
-   template <class T>
-   struct is_compound : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) compound type then inherits from __true_type, 
-otherwise inherits from __false_type.  Any type that is not a fundamental type is
-a compound type (see also __is_fundamental).
-
-__std_ref 3.9.2.
-
-__header ` #include <boost/type_traits/is_compound.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_compound<MyClass>` inherits from `__true_type`.]
-
-[:`is_compound<MyEnum>::type` is the type `__true_type`.]
-
-[:`is_compound<int*>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_compound<int&>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_compound<int>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_compound<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_const.qbk b/SRC/Boost/libs/type_traits/doc/is_const.qbk
deleted file mode 100755
index f98536c..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_const.qbk
+++ /dev/null
@@ -1,43 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_const is_const]
-
-   template <class T>
-   struct is_const : public __tof {};
-  
-__inherit If T is a (top level) const-qualified type then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.3.
-
-__header ` #include <boost/type_traits/is_const.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_const<int const>` inherits from `__true_type`.]
-
-[:`is_const<int const volatile>::type` is the type `__true_type`.]
-
-[:`is_const<int* const>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_const<int const*>::value` is an integral constant 
-expression that evaluates to /false/: the const-qualifier is not
-at the top level in this case.]
-
-[:`is_const<int const&>::value` is an integral constant 
-expression that evaluates to /false/: the const-qualifier is not
-at the top level in this case.]
-
-[:`is_const<int>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_const<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_convertible.qbk b/SRC/Boost/libs/type_traits/doc/is_convertible.qbk
deleted file mode 100755
index cc496ad..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_convertible.qbk
+++ /dev/null
@@ -1,67 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_convertible is_convertible]
-   template <class From, class To>
-   struct is_convertible : public __tof {};
-  
-__inherit If an imaginary rvalue of type `From` is convertible to type `To` then 
-inherits from __true_type, otherwise inherits from __false_type.
-
-Type From must not be an incomplete type.
-
-Type To must not be an incomplete, or function type.
-
-No types are considered to be convertible to array types or abstract-class types.
-
-This template can not detect whether a converting-constructor is `public` or not: if
-type `To` has a `private` converting constructor from type `From` then instantiating
-`is_convertible<From, To>` will produce a compiler error.  For this reason `is_convertible`
-can not be used to determine whether a type has a `public` copy-constructor or not.
-
-This template will also produce compiler errors if the conversion is ambiguous, 
-for example:
-
-   struct A {};
-   struct B : A {};
-   struct C : A {};
-   struct D : B, C {};
-   // This produces a compiler error, the conversion is ambiguous:
-   bool const y = boost::is_convertible<D*,A*>::value;
-
-__std_ref 4 and 8.5.
-
-__compat This template is currently broken with Borland C++ Builder 5 (and earlier), 
-for constructor-based conversions, and for the Metrowerks 7 (and earlier) 
-compiler in all cases.  If the compiler does not support `__is_abstract`, then the
-template parameter `To` must not be an abstract type.
-
-__header ` #include <boost/type_traits/is_convertible.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_convertible<int, double>` inherits from `__true_type`.]
-
-[:`is_convertible<const int, double>::type` is the type `__true_type`.]
-
-[:`is_convertible<int* const, int*>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_convertible<int const*, int*>::value` is an integral constant 
-expression that evaluates to /false/: the conversion would require a `const_cast`.]
-
-[:`is_convertible<int const&, long>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_convertible<int, int>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_convertible<T, T>::value_type` is the type `bool`.]
-
-[endsect]
-
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_empty.qbk b/SRC/Boost/libs/type_traits/doc/is_empty.qbk
deleted file mode 100755
index 02fac70..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_empty.qbk
+++ /dev/null
@@ -1,46 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_empty is_empty]
-   template <class T>
-   struct is_empty : public __tof {};
-  
-__inherit If T is an empty class type (and not a union type) then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 10p5.
-
-__header ` #include <boost/type_traits/is_empty.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__compat In order to correctly detect empty classes this trait relies on either:
-
-* the compiler implementing zero sized empty base classes, or
-* the compiler providing __intrinsics to detect empty classes - this latter case can be tested for
-by checking to see if the macro BOOST_IS_EMPTY is defined.
-
-Can not be used with incomplete types.
-
-Can not be used with union types, until is_union can be made to work.
-
-If the compiler does not support partial-specialization of class templates, 
-then this template can not be used with abstract types.
-
-__examples
-
-[:Given: `struct empty_class {};` ]
-
-[:`is_empty<empty_class>` inherits from `__true_type`.]
-
-[:`is_empty<empty_class const>::type` is the type `__true_type`.]
-
-[:`is_empty<empty_class>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_empty<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_enum.qbk b/SRC/Boost/libs/type_traits/doc/is_enum.qbk
deleted file mode 100755
index 151ef48..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_enum.qbk
+++ /dev/null
@@ -1,44 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_enum is_enum]
-   template <class T>
-   struct is_enum : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) enum type then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.2 and 7.2.
-
-__header ` #include <boost/type_traits/is_enum.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__compat Requires a correctly functioning __is_convertible template;
- this means that is_enum is currently broken under Borland C++ Builder 5, 
- and for the Metrowerks compiler prior to version 8, other compilers 
- should handle this template just fine.
-
-__examples
-
-[:Given: `enum my_enum { one, two };` ]
-
-[:`is_enum<my_enum>` inherits from `__true_type`.]
-
-[:`is_enum<my_enum const>::type` is the type `__true_type`.]
-
-[:`is_enum<my_enum>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_enum<my_enum&>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_enum<my_enum*>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_enum<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_floating_point.qbk b/SRC/Boost/libs/type_traits/doc/is_floating_point.qbk
deleted file mode 100755
index c789fde..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_floating_point.qbk
+++ /dev/null
@@ -1,31 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_floating_point is_floating_point]
-   template <class T>
-   struct is_floating_point : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) floating point type then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.1p8.
-
-__header ` #include <boost/type_traits/is_floating_point.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_floating_point<float>` inherits from `__true_type`.]
-
-[:`is_floating_point<double>::type` is the type `__true_type`.]
-
-[:`is_floating_point<long double>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_floating_point<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_function.qbk b/SRC/Boost/libs/type_traits/doc/is_function.qbk
deleted file mode 100755
index c8afc96..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_function.qbk
+++ /dev/null
@@ -1,74 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_function is_function]
-   
-   template <class T>
-   struct is_function : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) function type then inherits from __true_type, 
-otherwise inherits from __false_type.  Note that this template does not detect /pointers
-to functions/, or /references to functions/, these are detected by __is_pointer and 
-__is_reference respectively:
-
-   typedef int f1();      // f1 is of function type.
-   typedef int (f2*)();   // f2 is a pointer to a function.
-   typedef int (f3&)();   // f3 is a reference to a function.
-
-__std_ref 3.9.2p1 and 8.3.5.
-
-__header ` #include <boost/type_traits/is_function.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_function<int (void)>` inherits from `__true_type`.]
-
-[:`is_function<long (double, int)>::type` is the type `__true_type`.]
-
-[:`is_function<long (double, int)>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_function<long (*)(double, int)>::value` is an integral constant 
-expression that evaluates to /false/: the argument in this case is a pointer type,
-not a function type.]
-
-[:`is_function<long (&)(double, int)>::value` is an integral constant 
-expression that evaluates to /false/: the argument in this case is a 
-reference to a function, not a function type.]
-
-[:`is_function<long (MyClass::*)(double, int)>::value` is an integral constant 
-expression that evaluates to /false/: the argument in this case is a pointer
-to a member function.]
-
-[:`is_function<T>::value_type` is the type `bool`.]
-
-[tip Don't confuse function-types with pointers to functions:
-
-`typedef int f(double);`
-
-defines a function type,
-
-`f foo;`
-
-declares a prototype for a function of type `f`,
-
-`f* pf = foo;`
-
-`f& fr = foo;`
-
-declares a pointer and a reference to the function `foo`.
-
-If you want to detect whether some type is a pointer-to-function then use:
-
-`__is_function<__remove_pointer<T>::type>::value && __is_pointer<T>::value`
-
-or for pointers to member functions you can just use 
-__is_member_function_pointer directly.
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_fundamental.qbk b/SRC/Boost/libs/type_traits/doc/is_fundamental.qbk
deleted file mode 100755
index f71df75..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_fundamental.qbk
+++ /dev/null
@@ -1,32 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_fundamental is_fundamental]
-   template <class T>
-   struct is_fundamental : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) fundamental type then inherits from __true_type, 
-otherwise inherits from __false_type.  Fundamental types include integral, floating
-point and void types (see also __is_integral, __is_floating_point and __is_void)
-
-__std_ref 3.9.1.
-
-__header ` #include <boost/type_traits/is_fundamental.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_fundamental<int)>` inherits from `__true_type`.]
-
-[:`is_fundamental<double const>::type` is the type `__true_type`.]
-
-[:`is_fundamental<void>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_fundamental<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_integral.qbk b/SRC/Boost/libs/type_traits/doc/is_integral.qbk
deleted file mode 100755
index fe2197f..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_integral.qbk
+++ /dev/null
@@ -1,31 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_integral is_integral]
-   template <class T>
-   struct is_integral : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) integral type then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.1p7.
-
-__header ` #include <boost/type_traits/is_integral.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_integral<int>` inherits from `__true_type`.]
-
-[:`is_integral<const char>::type` is the type `__true_type`.]
-
-[:`is_integral<long>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_integral<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_lvalue_reference.qbk b/SRC/Boost/libs/type_traits/doc/is_lvalue_reference.qbk
deleted file mode 100755
index deb9ce4..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_lvalue_reference.qbk
+++ /dev/null
@@ -1,40 +0,0 @@
-[/ 
-  Copyright 2010 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_lvalue_reference is_lvalue_reference]
-   template <class T>
-   struct is_lvalue_reference : public __tof {};
-  
-__inherit If T is an lvalue reference type
-then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.2 and 8.3.2.
-
-__compat If the compiler does not 
-support partial-specialization of class templates, 
-then this template may report the wrong result for function types, 
-and for types that are both const and volatile qualified.
-
-__header ` #include <boost/type_traits/is_lvalue_reference.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_lvalue_reference<int&>` inherits from `__true_type`.]
-
-[:`is_lvalue_reference<int const&>::type` is the type `__true_type`.]
-
-[:`is_lvalue_reference<int const&&>::type` is the type `__false_type`.]
-
-[:`is_lvalue_reference<int (&)(long)>::value` is an integral constant 
-expression that evaluates to /true/ (the argument in this case is
-a reference to a function).]
-
-[:`is_lvalue_reference<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_member_function_pointer.qbk b/SRC/Boost/libs/type_traits/doc/is_member_function_pointer.qbk
deleted file mode 100755
index 90f568f..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_member_function_pointer.qbk
+++ /dev/null
@@ -1,37 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_member_function_pointer is_member_function_pointer]
-   template <class T>
-   struct is_member_function_pointer : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) pointer to a member function
-then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.2 and 8.3.3.
-
-__header ` #include <boost/type_traits/is_member_function_pointer.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_member_function_pointer<int (MyClass::*)(void)>` inherits from `__true_type`.]
-
-[:`is_member_function_pointer<int (MyClass::*)(char)>::type` is the type `__true_type`.]
-
-[:`is_member_function_pointer<int (MyClass::*)(void)const>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_member_function_pointer<int (MyClass::*)>::value` is an integral constant 
-expression that evaluates to /false/: the argument in this case is a pointer to
-a data member and not a member function, see __is_member_object_pointer
-and __is_member_pointer]
-
-[:`is_member_function_pointer<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_member_object_pointer.qbk b/SRC/Boost/libs/type_traits/doc/is_member_object_pointer.qbk
deleted file mode 100755
index 7802760..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_member_object_pointer.qbk
+++ /dev/null
@@ -1,37 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_member_object_pointer is_member_object_pointer]
-   template <class T>
-   struct is_member_object_pointer : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) pointer to a member object (a data member)
-then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.2 and 8.3.3.
-
-__header ` #include <boost/type_traits/is_member_object_pointer.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_member_object_pointer<int (MyClass::*)>` inherits from `__true_type`.]
-
-[:`is_member_object_pointer<double (MyClass::*)>::type` is the type `__true_type`.]
-
-[:`is_member_object_pointer<const int (MyClass::*)>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_member_object_pointer<int (MyClass::*)(void)>::value` is an integral constant 
-expression that evaluates to /false/: the argument in this case is a pointer to
-a member function and not a member object, see __is_member_function_pointer 
-and __is_member_pointer]
-
-[:`is_member_object_pointer<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_member_pointer.qbk b/SRC/Boost/libs/type_traits/doc/is_member_pointer.qbk
deleted file mode 100755
index 28d0f27..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_member_pointer.qbk
+++ /dev/null
@@ -1,33 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_member_pointer is_member_pointer]
-   template <class T>
-   struct is_member_pointer : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) pointer to a member (either a function
-or a data member) 
-then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.2 and 8.3.3.
-
-__header ` #include <boost/type_traits/is_member_pointer.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_member_pointer<int (MyClass::*)>` inherits from `__true_type`.]
-
-[:`is_member_pointer<int (MyClass::*)(char)>::type` is the type `__true_type`.]
-
-[:`is_member_pointer<int (MyClass::*)(void)const>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_member_pointer<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_object.qbk b/SRC/Boost/libs/type_traits/doc/is_object.qbk
deleted file mode 100755
index 7fb2da4..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_object.qbk
+++ /dev/null
@@ -1,45 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_object is_object]
-   template <class T>
-   struct is_object : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) object type 
-then inherits from __true_type, 
-otherwise inherits from __false_type.  All types are object types except
-references, void, and function types.
-
-__std_ref 3.9p9.
-
-__header ` #include <boost/type_traits/is_object.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_object<int>` inherits from `__true_type`.]
-
-[:`is_object<int*>::type` is the type `__true_type`.]
-
-[:`is_object<int (*)(void)>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_object<int (MyClass::*)(void)const>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_object<int &>::value` is an integral constant 
-expression that evaluates to /false/: reference types are not objects]
-
-[:`is_object<int (double)>::value` is an integral constant 
-expression that evaluates to /false/: function types are not objects]
-
-[:`is_object<const void>::value` is an integral constant 
-expression that evaluates to /false/: void is not an object type]
-
-[:`is_object<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_pod.qbk b/SRC/Boost/libs/type_traits/doc/is_pod.qbk
deleted file mode 100755
index 0b606c5..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_pod.qbk
+++ /dev/null
@@ -1,55 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_pod is_pod]
-   template <class T>
-   struct is_pod : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) POD type then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-POD stands for "Plain old data".  
-Arithmetic types, and enumeration types, 
-a pointers and pointer to members are all PODs.  Classes and unions can also
-be POD's if they have no non-static data members that are of reference or
-non-POD type, no user defined constructors, no user defined assignment
-operators, no private or protected non-static data members, 
-no virtual functions and no base classes.  Finally, a cv-qualified POD is 
-still a POD, as is an array of PODs.
-
-__std_ref 3.9p10 and 9p4 (Note that POD's are also aggregates, see 8.5.1).
-
-__compat If the compiler does not support partial-specialization 
-of class templates, then this template can not be used with function types.
-
-Without some (as yet unspecified) help from the compiler, is_pod will 
-never report that a class or struct is a POD; this is always safe, 
-if possibly sub-optimal.  
-Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, 
-Intel-11.0, and Codegear have the necessary compiler __intrinsics to ensure that this 
-trait "just works".  You may also test to see if the necessary __intrinsics are available 
-by checking to see if the macro `BOOST_IS_POD` is defined.
-
-
-__header ` #include <boost/type_traits/is_pod.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_pod<int>` inherits from `__true_type`.]
-
-[:`is_pod<char*>::type` is the type `__true_type`.]
-
-[:`is_pod<int (*)(long)>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_pod<MyClass>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_pod<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_pointer.qbk b/SRC/Boost/libs/type_traits/doc/is_pointer.qbk
deleted file mode 100755
index 882a06b..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_pointer.qbk
+++ /dev/null
@@ -1,45 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_pointer is_pointer]
-   template <class T>
-   struct is_pointer : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) pointer type (includes function pointers, 
-but excludes pointers to members) then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.2p2 and 8.3.1.
-
-__header ` #include <boost/type_traits/is_pointer.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_pointer<int*>` inherits from `__true_type`.]
-
-[:`is_pointer<char* const>::type` is the type `__true_type`.]
-
-[:`is_pointer<int (*)(long)>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_pointer<int (MyClass::*)(long)>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_pointer<int (MyClass::*)>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_pointer<T>::value_type` is the type `bool`.]
-
-[important `is_pointer` detects "real" pointer types only, and /not/ smart pointers.
-Users should not specialise `is_pointer` for smart pointer types, as doing so may cause
-Boost (and other third party) code to fail to function correctly.
-Users wanting a trait to detect smart pointers should create their own. 
-However, note that there is no way in general to auto-magically detect smart pointer types, 
-so such a trait would have to be partially specialised for each supported smart pointer type.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_polymorphic.qbk b/SRC/Boost/libs/type_traits/doc/is_polymorphic.qbk
deleted file mode 100755
index 02d591b..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_polymorphic.qbk
+++ /dev/null
@@ -1,37 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_polymorphic is_polymorphic]
-   template <class T>
-   struct is_polymorphic : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) polymorphic type 
-then inherits from __true_type, 
-otherwise inherits from __false_type.  Type `T` must be a complete type.
-
-__std_ref 10.3.
-
-__compat The implementation requires some knowledge of the compilers ABI, 
-it does actually seem to work with the majority of compilers though.
-
-__header ` #include <boost/type_traits/is_polymorphic.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[: Given: `class poly{ virtual ~poly(); };` ]
-
-[:`is_polymorphic<poly>` inherits from `__true_type`.]
-
-[:`is_polymorphic<poly const>::type` is the type `__true_type`.]
-
-[:`is_polymorphic<poly>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_polymorphic<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_reference.qbk b/SRC/Boost/libs/type_traits/doc/is_reference.qbk
deleted file mode 100755
index fb3c2e6..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_reference.qbk
+++ /dev/null
@@ -1,40 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_reference is_reference]
-   template <class T>
-   struct is_reference : public __tof {};
-  
-__inherit If T is a reference type (either an lvalue reference or an rvalue reference)
-then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.2 and 8.3.2.
-
-__compat If the compiler does not 
-support partial-specialization of class templates, 
-then this template may report the wrong result for function types, 
-and for types that are both const and volatile qualified.
-
-__header ` #include <boost/type_traits/is_reference.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_reference<int&>` inherits from `__true_type`.]
-
-[:`is_reference<int const&>::type` is the type `__true_type`.]
-
-[:`is_reference<int const&&>::type` is the type `__true_type`.]
-
-[:`is_reference<int (&)(long)>::value` is an integral constant 
-expression that evaluates to /true/ (the argument in this case is
-a reference to a function).]
-
-[:`is_reference<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_rvalue_reference.qbk b/SRC/Boost/libs/type_traits/doc/is_rvalue_reference.qbk
deleted file mode 100755
index b76808e..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_rvalue_reference.qbk
+++ /dev/null
@@ -1,40 +0,0 @@
-[/ 
-  Copyright 2010 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_rvalue_reference is_rvalue_reference]
-   template <class T>
-   struct is_rvalue_reference : public __tof {};
-  
-__inherit If T is an rvalue reference type
-then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.2 and 8.3.2.
-
-__compat If the compiler does not 
-support partial-specialization of class templates, 
-then this template may report the wrong result for function types, 
-and for types that are both const and volatile qualified.
-
-__header ` #include <boost/type_traits/is_rvalue_reference.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_rvalue_reference<int&&>` inherits from `__true_type`.]
-
-[:`is_rvalue_reference<int const&&>::type` is the type `__true_type`.]
-
-[:`is_rvalue_reference<int const&>::type` is the type `__false_type`.]
-
-[:`is_rvalue_reference<int (&&)(long)>::value` is an integral constant 
-expression that evaluates to /true/ (the argument in this case is
-an rvalue reference to a function).]
-
-[:`is_rvalue_reference<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_same.qbk b/SRC/Boost/libs/type_traits/doc/is_same.qbk
deleted file mode 100755
index 19ff522..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_same.qbk
+++ /dev/null
@@ -1,39 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_same is_same]
-   template <class T, class U>
-   struct is_same : public __tof {};
-  
-__inherit If T and U are the same types then inherits from 
-__true_type, otherwise inherits from __false_type.
-
-__header ` #include <boost/type_traits/is_same.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__compat If the compiler does not support partial-specialization of class templates, 
-then this template can not be used with abstract, incomplete or function types.
-
-__examples
-
-[:`is_same<int, int>` inherits from `__true_type`.]
-
-[:`is_same<int, int>::type` is the type `__true_type`.]
-
-[:`is_same<int, int>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_same<int const, int>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_same<int&, int>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_same<T, T>::value_type` is the type `bool`.]
-
-[endsect]
-
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_scalar.qbk b/SRC/Boost/libs/type_traits/doc/is_scalar.qbk
deleted file mode 100755
index 3f9be13..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_scalar.qbk
+++ /dev/null
@@ -1,44 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_scalar is_scalar]
-   template <class T>
-   struct is_scalar : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) scalar type then inherits from 
-__true_type, otherwise inherits from __false_type.  Scalar types include
-integral, floating point, enumeration, pointer, and pointer-to-member types.
-
-__std_ref 3.9p10.
-
-__header ` #include <boost/type_traits/is_scalar.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__compat If the compiler does not support partial-specialization of class templates, 
-then this template can not be used with function types.
-
-__examples
-
-[:`is_scalar<int*>` inherits from `__true_type`.]
-
-[:`is_scalar<int>::type` is the type `__true_type`.]
-
-[:`is_scalar<double>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_scalar<int (*)(long)>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_scalar<int (MyClass::*)(long)>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_scalar<int (MyClass::*)>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_scalar<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_signed.qbk b/SRC/Boost/libs/type_traits/doc/is_signed.qbk
deleted file mode 100755
index e6d3fb8..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_signed.qbk
+++ /dev/null
@@ -1,42 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_signed is_signed]
-
-   template <class T>
-   struct is_signed : public __tof {};
-  
-__inherit If T is an signed integer type or an enumerated type with an
-underlying signed integer type, then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.1, 7.2.
-
-__header ` #include <boost/type_traits/is_signed.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_signed<int>` inherits from `__true_type`.]
-
-[:`is_signed<int const volatile>::type` is the type `__true_type`.]
-
-[:`is_signed<unsigned int>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_signed<myclass>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_signed<char>::value` is an integral constant 
-expression whose value depends upon the signedness of type `char`.]
-
-[:`is_signed<long long>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_signed<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_stateless.qbk b/SRC/Boost/libs/type_traits/doc/is_stateless.qbk
deleted file mode 100755
index c2b2ca2..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_stateless.qbk
+++ /dev/null
@@ -1,42 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_stateless is_stateless]
-   template <class T>
-   struct is_stateless : public __tof {};
-  
-__inherit If T is a stateless type then inherits from __true_type, otherwise
-from __false_type.
-
-Type T must be a complete type.
-
-A stateless type is a type that has no storage and whose constructors and 
-destructors are trivial. That means that `is_stateless` only inherits from 
-__true_type if the following expression is `true`:
-
-   ::boost::has_trivial_constructor<T>::value
-   && ::boost::has_trivial_copy<T>::value
-   && ::boost::has_trivial_destructor<T>::value
-   && ::boost::is_class<T>::value
-   && ::boost::is_empty<T>::value
-
-__std_ref 3.9p10.
-
-__header ` #include <boost/type_traits/is_stateless.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__compat If the compiler does not support partial-specialization of class templates, 
-then this template can not be used with function types.
-
-Without some (as yet unspecified) help from the compiler, is_stateless will never 
-report that a class or struct is stateless; this is always safe, 
-if possibly sub-optimal.  
-Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, 
-Intel-11.0, and Codegear have the necessary compiler __intrinsics to ensure that this 
-trait "just works".  
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_union.qbk b/SRC/Boost/libs/type_traits/doc/is_union.qbk
deleted file mode 100755
index b9a8720..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_union.qbk
+++ /dev/null
@@ -1,48 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_union is_union]
-   template <class T>
-   struct is_union : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) union type then inherits from __true_type, 
-otherwise inherits from __false_type.  Currently requires some kind of compiler 
-support, otherwise unions are identified as classes.
-
-__std_ref 3.9.2 and 9.5.
-
-__compat Without (some as yet unspecified) help from the 
-compiler, we cannot distinguish between union and class types using only standard C++, 
-as a result this type will never inherit from __true_type, unless the user explicitly
-specializes the template for their user-defined union types, or unless the compiler
-supplies some unspecified intrinsic that implements this functionality.  
-Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, 
-Intel-11.0, and Codegear have the necessary compiler __intrinsics to ensure that this 
-trait "just works".  You may also test to see if the necessary __intrinsics are available 
-by checking to see if the macro `BOOST_IS_UNION` is defined.
-
-
-__header ` #include <boost/type_traits/is_union.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-Given `union my_union {};` then:
-
-[:`is_union<my_union>` inherits from `__true_type`.]
-
-[:`is_union<const my_union>::type` is the type `__true_type`.]
-
-[:`is_union<my_union>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_union<my_union*>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_union<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_unsigned.qbk b/SRC/Boost/libs/type_traits/doc/is_unsigned.qbk
deleted file mode 100755
index 63be36e..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_unsigned.qbk
+++ /dev/null
@@ -1,42 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_unsigned is_unsigned]
-
-   template <class T>
-   struct is_unsigned : public __tof {};
-  
-__inherit If T is an unsigned integer type or an enumerated type with an
-underlying unsigned integer type, then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.1, 7.2.
-
-__header ` #include <boost/type_traits/is_unsigned.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_unsigned<unsigned int>` inherits from `__true_type`.]
-
-[:`is_unsigned<unsigned int const volatile>::type` is the type `__true_type`.]
-
-[:`is_unsigned<int>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_unsigned<myclass>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_unsigned<char>::value` is an integral constant 
-expression whose value depends upon the signedness of type `char`.]
-
-[:`is_unsigned<unsigned long long>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_unsigned<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_virtual_base_of.qbk b/SRC/Boost/libs/type_traits/doc/is_virtual_base_of.qbk
deleted file mode 100755
index 1812156..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_virtual_base_of.qbk
+++ /dev/null
@@ -1,50 +0,0 @@
-[/ 
-  Copyright 2009 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_virtual_base_of is_virtual_base_of]
-   template <class Base, class Derived>
-   struct is_virtual_base_of : public __tof {};
-  
-__inherit If Base is a virtual base class of type Derived then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-Types `Base` and `Derived` must not be incomplete types.
-
-__std_ref 10.
-
-__header ` #include <boost/type_traits/is_virtual_base_of.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__compat this trait also requires a working __is_base_of trait.
-
-[note 
-There are a small number of cases where it's simply not possible for this trait to work, and
-where attempting to instantiate the trait will cause compiler errors (see bug report
-[@https://svn.boost.org/trac/boost/ticket/3730 #3730]).  Further more the issues may well
-be compiler specific.  In this situation the user should supply a full specialization of
-the trait to work around the problem.]
-
-__examples
-
-[:Given: ` class Base{}; class Derived : public virtual Base{};` ]
-
-[:`is_virtual_base_of<Base, Derived>` inherits from `__true_type`.]
-
-[:`is_virtual_base_of<Base, Derived>::type` is the type `__true_type`.]
-
-[:`is_virtual_base_of<Base, Derived>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_virtual_base_of<SomeClassType, SomeClassType>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_virtual_base_of<NotAClassType, NotAClassType>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_virtual_base_of<T, U>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_void.qbk b/SRC/Boost/libs/type_traits/doc/is_void.qbk
deleted file mode 100755
index a9cd6f2..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_void.qbk
+++ /dev/null
@@ -1,34 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_void is_void]
-   template <class T>
-   struct is_void : public __tof {};
-  
-__inherit If T is a (possibly cv-qualified) void type then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.1p9.
-
-__header ` #include <boost/type_traits/is_void.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_void<void>` inherits from `__true_type`.]
-
-[:`is_void<const void>::type` is the type `__true_type`.]
-
-[:`is_void<void>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_void<void*>::value` is an integral constant 
-expression that evaluates to /false/.]
-
-[:`is_void<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/is_volatile.qbk b/SRC/Boost/libs/type_traits/doc/is_volatile.qbk
deleted file mode 100755
index 5e6e476..0000000
--- a/SRC/Boost/libs/type_traits/doc/is_volatile.qbk
+++ /dev/null
@@ -1,35 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:is_volatile is_volatile]
-   template <class T>
-   struct is_volatile : public __tof {};
-  
-__inherit If T is a (top level) volatile-qualified type then inherits from __true_type, 
-otherwise inherits from __false_type.
-
-__std_ref 3.9.3.
-
-__header ` #include <boost/type_traits/is_volatile.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`is_volatile<volatile int>` inherits from `__true_type`.]
-
-[:`is_volatile<const volatile int>::type` is the type `__true_type`.]
-
-[:`is_volatile<int* volatile>::value` is an integral constant 
-expression that evaluates to /true/.]
-
-[:`is_volatile<int volatile*>::value` is an integral constant 
-expression that evaluates to /false/: the volatile qualifier is not
-at the top level in this case.]
-
-[:`is_volatile<T>::value_type` is the type `bool`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/make_signed.qbk b/SRC/Boost/libs/type_traits/doc/make_signed.qbk
deleted file mode 100755
index bdbf650..0000000
--- a/SRC/Boost/libs/type_traits/doc/make_signed.qbk
+++ /dev/null
@@ -1,47 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:make_signed make_signed]
-
-   template <class T>
-   struct make_signed
-   {
-      typedef __below type;
-   };
-  
-__type If T is a signed integer type then the same type as T, if T is an 
-unsigned integer type then the corresponding signed type.  
-Otherwise if T is an enumerated or
-character type (char or wchar_t) then a signed integer type with the same
-width as T.
-
-If T has any cv-qualifiers then these are also present on the result type.
-
-[*Requires:]  T must be an integer or enumerated type, and must not be the type
-bool.
-
-__std_ref 3.9.1.
-
-__header ` #include <boost/type_traits/make_signed.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`make_signed<int>::type`][`int`]]
-
-[[`make_signed<unsigned int const>::type`] [`int const`]]
-
-[[`make_signed<const unsigned long long>::type`] [`const long long`]]
-
-[[`make_signed<my_enum>::type`] [A signed integer type with the same width as the enum.]]
-[[`make_signed<wchar_t>::type`] [A signed integer type with the same width as wchar_t.]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/make_unsigned.qbk b/SRC/Boost/libs/type_traits/doc/make_unsigned.qbk
deleted file mode 100755
index 8188be6..0000000
--- a/SRC/Boost/libs/type_traits/doc/make_unsigned.qbk
+++ /dev/null
@@ -1,47 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:make_unsigned make_unsigned]
-
-   template <class T>
-   struct make_unsigned
-   {
-      typedef __below type;
-   };
-  
-__type If T is a unsigned integer type then the same type as T, if T is an 
-signed integer type then the corresponding unsigned type.  
-Otherwise if T is an enumerated or
-character type (char or wchar_t) then an unsigned integer type with the same
-width as T.
-
-If T has any cv-qualifiers then these are also present on the result type.
-
-[*Requires:]  T must be an integer or enumerated type, and must not be the type
-bool.
-
-__std_ref 3.9.1.
-
-__header ` #include <boost/type_traits/make_unsigned.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`make_unsigned<int>::type`][`unsigned int`]]
-
-[[`make_unsigned<unsigned int const>::type`] [`unsigned int const`]]
-
-[[`make_unsigned<const unsigned long long>::type`] [`const unsigned long long`]]
-
-[[`make_unsigned<my_enum>::type`] [An unsigned integer type with the same width as the enum.]]
-[[`make_unsigned<wchar_t>::type`] [An unsigned integer type with the same width as wchar_t.]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/mpl.qbk b/SRC/Boost/libs/type_traits/doc/mpl.qbk
deleted file mode 100755
index 8ab119c..0000000
--- a/SRC/Boost/libs/type_traits/doc/mpl.qbk
+++ /dev/null
@@ -1,20 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:mpl MPL Interoperability]
-
-All the value based traits in this library conform to MPL's requirements
-for an [@../../../../libs/mpl/doc/refmanual/integral-constant.html Integral Constant type]: that includes a number of rather intrusive
-workarounds for broken compilers.  
-
-Purely as an implementation detail, this
-means that `__true_type` inherits from [@../../../../libs/mpl/doc/refmanual/bool.html `boost::mpl::true_`], `__false_type` inherits
-from [@../../../../libs/mpl/doc/refmanual/bool.html `boost::mpl::false_`], and `__integral_constant<T, v>` inherits from
-[@../../../../libs/mpl/doc/refmanual/integral-c.html `boost::mpl::integral_c<T,v>`] (provided `T` is not `bool`)
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/operators.qbk b/SRC/Boost/libs/type_traits/doc/operators.qbk
deleted file mode 100755
index 1027fd4..0000000
--- a/SRC/Boost/libs/type_traits/doc/operators.qbk
+++ /dev/null
@@ -1,501 +0,0 @@
-[/
-  (C) Copyright 2011 Frederic Bron.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-[c++]
-[def __binary_temp `< class Lhs, class Rhs=Lhs, class Ret=dont_care >`]
-[def __prefix_temp `< class Rhs, class Ret=dont_care >`]
-[def __postfix_temp `< class Lhs, class Ret=dont_care >`]
-
-[section:operators Operator Type Traits]
-
-[heading Introduction]
-
-These traits are all /value traits/ inheriting from __integral_constant
-and providing a simple `true` or `false` boolean `value` which reflects the fact
-that given types can or cannot be used with given operators.
-
-For example, `has_plus<int, double>::value` is a `bool`
-which value is `true` because it is possible to add a `double` to an `int` like
-in the following code:
-``
-int i;
-double d;
-i+d;
-``
-It is also possible to know if the result of the operator can be used as function argument
-of a given type.
-For example, `has_plus<int, double, float>::value` is `true`
-because it is possible to add a `double` to an `int` and
-the result (`double`) can be converted to a `float` argument like in the following code:
-``
-void f(float) { };
-int i;
-double d;
-f(i+d);
-``
-
-[heading Example of application]
-
-These traits can be useful to optimize the code for types supporting given operations.
-For example a function `std::advance` that increases an iterator of a given number of steps
-could be implemented as follows:
-
-``
-#include <boost/type_traits/has_plus_assign.hpp>
-
-namespace detail {
-template < class Iterator, class Distance, bool has_plus_assign >
-struct advance_impl;
-
-// this is used if += exists (efficient)
-template < class Iterator, class Distance >
-struct advance_impl<Iterator, Distance, true> {
-   void operator()(Iterator &i, Distance n) {
-      i+=n;
-   }
-};
-
-// this is use if += does not exists (less efficient but cannot do better)
-template < class Iterator, class Distance >
-struct advance_impl<Iterator, Distance, false> {
-   void operator()(Iterator &i, Distance n) {
-      if (n>0) {
-         while (n--) ++i;
-      } else {
-         while (n++) --i;
-      }
-   }
-};
-} // namespace detail
-
-template < class Iterator, class Distance >
-inline void advance(Iterator &i, Distance n) {
-   detail::advance_impl< Iterator, Distance, ::boost::has_plus_assign<Iterator>::value >()(i, n);
-}
-``
-
-Then the compiler chooses the most efficient implementation according to the type's ability to perform `+=` operation:
-
-``
-#include <iostream>
-
-class with {
-      int m_i;
-   public:
-      with(int i=0) : m_i(i) { }
-      with &operator+=(int rhs) { m_i+=rhs; return *this; }
-      operator int const () { return m_i; }
-};
-
-class without {
-      int m_i;
-   public:
-      without(int i=0) : m_i(i) { }
-      without &operator++() { ++m_i; return *this; }
-      without &operator--() { --m_i; return *this; }
-      operator int const () { return m_i; }
-};
-
-int main() {
-   with i=0;
-   advance(i, 10); // uses +=
-   std::cout<<"with: "<<i<<'\n';
-   without j=0;
-   advance(j, 10); // uses ++
-   std::cout<<"without: "<<j<<'\n';
-   return 0;
-}
-``
-
-[heading Description]
-The syntax is the following:
-``
-template __prefix_temp has_op; // prefix operator
-template __postfix_temp has_op; // postfix operator
-template __binary_temp has_op; // binary operator
-``
-where:
-
-* op represents the operator name
-* `Lhs` is the type used at the left hand side of `operator op`,
-* `Rhs` is the type used at the right hand side of `operator op`,
-* `Ret` is the type for which we want to know if the result of `operator op` can
-  be converted to.
-
-The default behaviour (`Ret=dont_care`) is to not check for the return value of the
-operator.
-If `Ret` is different from the default `dont_care`, the return value is checked to be
-convertible to `Ret`. Convertible to `Ret` means that the return value can be
-used as argument to a function expecting `Ret`:
-``
-void f(Ret);
-Lhs lhs;
-Rhs rhs;
-f(lhs+rhs); // is valid if has_plus<Lhs, Rhs, Ret>::value==true
-``
-If `Ret=void`, the return type is checked to be exactly `void`.
-
-The following tables give the list of supported binary, prefix and postfix
-operators.
-
-[table Supported prefix operators
-   [[prefix operator] [trait name]]
-   [[`!`]      [[link boost_typetraits.reference.has_logical_not `has_logical_not`] __prefix_temp]]
-   [[`+`]      [[link boost_typetraits.reference.has_unary_plus `has_unary_plus`]]]
-   [[`-`]      [[link boost_typetraits.reference.has_unary_minus `has_unary_minus`] and [link boost_typetraits.reference.has_negate `has_negate`]]]
-   [[`~`]      [[link boost_typetraits.reference.has_complement `has_complement`]]]
-   [[`*`]      [[link boost_typetraits.reference.has_dereference `has_dereference`]]]
-   [[`++`]     [[link boost_typetraits.reference.has_pre_increment `has_pre_increment`]]]
-   [[`--`]     [[link boost_typetraits.reference.has_pre_decrement `has_pre_decrement`]]]
-]
-
-[table Supported postfix operators
-   [[postfix operator] [trait name]]
-   [[`++`]     [[link boost_typetraits.reference.has_post_increment `has_post_increment`] __postfix_temp]]
-   [[`--`]     [[link boost_typetraits.reference.has_post_decrement `has_post_decrement`]]]
-]
-
-[table Supported binary operators
-   [[binary operator] [trait name]]
-   [[`+`]      [[link boost_typetraits.reference.has_plus `has_plus`] __binary_temp]]
-   [[`-`]      [[link boost_typetraits.reference.has_minus `has_minus`]]]
-   [[`*`]      [[link boost_typetraits.reference.has_multiplies `has_multiplies`]]]
-   [[`/`]      [[link boost_typetraits.reference.has_divides `has_divides`]]]
-   [[`%`]      [[link boost_typetraits.reference.has_modulus `has_modulus`]]]
-   [[`+=`]     [[link boost_typetraits.reference.has_plus_assign `has_plus_assign`]]]
-   [[`-=`]     [[link boost_typetraits.reference.has_minus_assign `has_minus_assign`]]]
-   [[`*=`]     [[link boost_typetraits.reference.has_multiplies_assign `has_multiplies_assign`]]]
-   [[`/=`]     [[link boost_typetraits.reference.has_divides_assign `has_divides_assign`]]]
-   [[`%=`]     [[link boost_typetraits.reference.has_modulus_assign `has_modulus_assign`]]]
-   [[`&`]      [[link boost_typetraits.reference.has_bit_and `has_bit_and`]]]
-   [[`|`]      [[link boost_typetraits.reference.has_bit_or `has_bit_or`]]]
-   [[`^`]      [[link boost_typetraits.reference.has_bit_xor `has_bit_xor`]]]
-   [[`&=`]     [[link boost_typetraits.reference.has_bit_and_assign `has_bit_and_assign`]]]
-   [[`|=`]     [[link boost_typetraits.reference.has_bit_or_assign `has_bit_or_assign`]]]
-   [[`^=`]     [[link boost_typetraits.reference.has_bit_xor_assign `has_bit_xor_assign`]]]
-   [[`<<`]     [[link boost_typetraits.reference.has_left_shift `has_left_shift`]]]
-   [[`>>`]     [[link boost_typetraits.reference.has_right_shift `has_right_shift`]]]
-   [[`<<=`]    [[link boost_typetraits.reference.has_left_shift_assign `has_left_shift_assign`]]]
-   [[`>>=`]    [[link boost_typetraits.reference.has_right_shift_assign `has_right_shift_assign`]]]
-   [[`==`]     [[link boost_typetraits.reference.has_equal_to `has_equal_to`]]]
-   [[`!=`]     [[link boost_typetraits.reference.has_not_equal_to `has_not_equal_to`]]]
-   [[`<`]      [[link boost_typetraits.reference.has_less `has_less`]]]
-   [[`<=`]     [[link boost_typetraits.reference.has_less_equal `has_less_equal`]]]
-   [[`>`]      [[link boost_typetraits.reference.has_greater `has_greater`]]]
-   [[`>=`]     [[link boost_typetraits.reference.has_greater_equal `has_greater_equal`]]]
-   [[`&&`]     [[link boost_typetraits.reference.has_logical_and `has_logical_and`]]]
-   [[`||`]     [[link boost_typetraits.reference.has_logical_or `has_logical_or`]]]
-]
-
-The following operators are not supported because they could not be implemented using the same technique:
-`operator=`, `operator->`, `operator&`, `operator[]`, `operator,`, `operator()`, `operator new`.
-
-
-[heading cv qualifiers and references]
-
-A reference sign `&` in the operator argument is ignored so that `has_plus< int&, double& >::value==has_plus< int, double >::value`.
-This has been chosen because if the following code works (does not work):
-``
-int i;
-double d;
-i+d;
-``
-the following code also works (does not work):
-``
-int &ir=i;
-double &dr=d;
-ir+dr;
-``
-
-It was not possible to handle properly the `volatile` qualifier so that any construct using this qualifier has undefined behavior.
-
-As a help, the following tables give the necessary conditions over each trait template argument for the trait `value` to be `true`.
-They are non sufficient conditions because the conditions must be `true` for all arguments and return type for `value` to be `true`.
-
-[table necessary and non sufficient condition on operator argument for value to be true
-   [[operator declaration]	[`has_op< void >`]	[`has_op< Arg >` and `has_op< Arg& >`]	[`has_op< Arg const >` and `has_op< Arg const& >`]]
-   [[`operator`@`(Arg)`]	[false]	[true]	[true]]
-   [[`operator`@`(Arg const)`]	[false]	[true]	[true]]
-   [[`operator`@`(Arg &)`]	[false]	[true]	[false]]
-   [[`operator`@`(Arg const &)`]	[false]	[true]	[true]]
-]
-
-[table necessary and non sufficient condition on operator return type for value to be true
-   [[operator declaration]	[`has_op< ..., void >`]	[`has_op< ..., Ret >`]	[`has_op< ..., Ret const >`]	[`has_op< ..., Ret & >`]	[`has_op< ..., Ret const & >`]]
-   [[`void        operator`@`(...)`]	[true]	[false]	[false]	[false]	[false]]
-   [[`Ret         operator`@`(...)`]	[false]	[true]	[true]	[false]	[true]]
-   [[`Ret const   operator`@`(...)`]	[false]	[true]	[true]	[false]	[true]]
-   [[`Ret &       operator`@`(...)`]	[false]	[true]	[true]	[true]	[true]]
-   [[`Ret const & operator`@`(...)`]	[false]	[true]	[true]	[false]	[true]]
-]
-
-
-[heading Implementation]
-
-The implementation consists in only header files.
-The following headers should included first:
-``#include <boost/type_traits/has_operator.hpp>``
-or
-``#include <boost/type_traits/has_op.hpp>``
-where [^op] is the textual name chosen for the wanted operator.
-The first method includes all operator traits.
-
-All traits are implemented the same way using preprocessor macros to avoid code
-duplication.
-The main files are in [^boost/type_traits/detail]: [^has_binary_operator.hpp],
-[^has_prefix_operator.hpp] and [^has_postfix_operator.hpp].
-The example of prefix `operator-` is presented below:
-
-``
-namespace boost {
-namespace detail {
-
-// This namespace ensures that argument-dependent name lookup does not mess things up.
-namespace has_unary_minus_impl {
-
-// 1. a function to have an instance of type T without requiring T to be default
-// constructible
-template <typename T> T &make();
-
-
-// 2. we provide our operator definition for types that do not have one already
-
-// a type returned from operator- when no such operator is
-// found in the type's own namespace (our own operator is used) so that we have
-// a means to know that our operator was used
-struct no_operator { };
-
-// this class allows implicit conversions and makes the following operator
-// definition less-preferred than any other such operators that might be found
-// via argument-dependent name lookup
-struct any { template <class T> any(T const&); };
-
-// when operator- is not available, this one is used
-no_operator operator-(const any&);
-
-
-// 3. checks if the operator returns void or not
-// conditions: Rhs!=void
-
-// we first redefine "operator," so that we have no compilation error if
-// operator- returns void and we can use the return type of
-// (-rhs, returns_void_t()) to deduce if operator- returns void or not:
-// - operator- returns void   -> (-rhs, returns_void_t()) returns returns_void_t
-// - operator- returns !=void -> (-rhs, returns_void_t()) returns int
-struct returns_void_t { };
-template <typename T> int operator,(const T&, returns_void_t);
-template <typename T> int operator,(const volatile T&, returns_void_t);
-
-// this intermediate trait has member value of type bool:
-// - value==true  -> operator- returns void
-// - value==false -> operator- does not return void
-template < typename Rhs >
-struct operator_returns_void {
-   // overloads of function returns_void make the difference
-   // yes_type and no_type have different size by construction
-   static ::boost::type_traits::yes_type returns_void(returns_void_t);
-   static ::boost::type_traits::no_type returns_void(int);
-   static const bool value = sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((-make<Rhs>(),returns_void_t())));
-};
-
-
-// 4. checks if the return type is Ret or Ret==dont_care
-// conditions: Rhs!=void
-
-struct dont_care { };
-
-template < typename Rhs, typename Ret, bool Returns_void >
-struct operator_returns_Ret;
-
-template < typename Rhs >
-struct operator_returns_Ret < Rhs, dont_care, true > {
-   static const bool value = true;
-};
-
-template < typename Rhs >
-struct operator_returns_Ret < Rhs, dont_care, false > {
-   static const bool value = true;
-};
-
-template < typename Rhs >
-struct operator_returns_Ret < Rhs, void, true > {
-   static const bool bool value = true;
-};
-
-template < typename Rhs >
-struct operator_returns_Ret < Rhs, void, false > {
-   static const bool value = false;
-};
-
-template < typename Rhs, typename Ret >
-struct operator_returns_Ret < Rhs, Ret, true > {
-   static const bool value = false;
-};
-
-// otherwise checks if it is convertible to Ret using the sizeof trick
-// based on overload resolution
-// condition: Ret!=void and Ret!=dont_care and the operator does not return void
-template < typename Rhs, typename Ret >
-struct operator_returns_Ret < Rhs, Ret, false > {
-   static ::boost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret
-   static ::boost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise
-
-   static const bool value = sizeof(is_convertible_to_Ret(-make<Rhs>()))==sizeof(::boost::type_traits::yes_type);
-};
-
-
-// 5. checks for operator existence
-// condition: Rhs!=void
-
-// checks if our definition of operator- is used or an other
-// existing one;
-// this is done with redefinition of "operator," that returns no_operator or has_operator
-struct has_operator { };
-no_operator operator,(no_operator, has_operator);
-
-template < typename Rhs >
-struct operator_exists {
-   static ::boost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
-   static ::boost::type_traits::no_type check(no_operator); // this version is used otherwise
-
-   static const bool value = sizeof(check(((-make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type);
-};
-
-
-// 6. main trait: to avoid any compilation error, this class behaves
-// differently when operator-(Rhs) is forbidden by the standard.
-// Forbidden_if is a bool that is:
-// - true when the operator-(Rhs) is forbidden by the standard
-//   (would yield compilation error if used)
-// - false otherwise
-template < typename Rhs, typename Ret, bool Forbidden_if >
-struct trait_impl1;
-
-template < typename Rhs, typename Ret >
-struct trait_impl1 < Rhs, Ret, true > {
-   static const bool value = false;
-};
-
-template < typename Rhs, typename Ret >
-struct trait_impl1 < Rhs, Ret, false > {
-   static const bool value =
-      ::boost::type_traits::ice_and<
-         operator_exists < Rhs >::value,
-         operator_returns_Ret < Rhs, Ret, operator_returns_void < Rhs >::value >::value
-      >::value
-   ;
-};
-
-// specialization needs to be declared for the special void case
-template < typename Ret >
-struct trait_impl1 < void, Ret, false > {
-   static const bool value = false;
-};
-
-// defines some typedef for convenience
-template < typename Rhs, typename Ret >
-struct trait_impl {
-   typedef typename ::boost::remove_reference<Rhs>::type Rhs_noref;
-   typedef typename ::boost::remove_cv<Rhs_noref>::type Rhs_nocv;
-   typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer<Rhs_noref>::type >::type >::type Rhs_noptr;
-   static const bool value = trait_impl1 < Rhs_noref, Ret, ::boost::is_pointer< Rhs_noref >::value >::value;
-};
-
-} // namespace impl
-} // namespace detail
-
-// this is the accessible definition of the trait to end user
-template < typename Rhs, typename Ret=::boost::detail::has_unary_minus_impl::dont_care >
-struct has_unary_minus : ::boost::integral_constant<bool,(::boost::detail::has_unary_minus_impl::trait_impl < Rhs, Ret >::value)> { };
-
-} // namespace boost
-``
-
-[heading Limitation]
-
-* Requires a compiler with working SFINAE.
-
-[heading Known issues]
-
-* These traits cannot detect whether the operators are public or not:
-if an operator is defined as a private member of type `T` then
-the instantiation of the corresponding trait will produce a compiler error.
-For this reason these traits cannot be used to determine whether a type has a
-public operator or not.
-``
-struct A { private: A operator-(); };
-boost::has_unary_minus<A>::value; // error: A::operator-() is private
-``
-
-* There is an issue if the operator exists only for type `A` and `B` is
-convertible to `A`. In this case, the compiler will report an ambiguous overload
-because both the existing operator and the one we provide (with argument of type
-`any`) need type conversion, so that none is preferred.
-``
-struct A { };
-void operator-(const A&);
-struct B { operator A(); };
-boost::has_unary_minus<A>::value; // this is fine
-boost::has_unary_minus<B>::value; // error: ambiguous overload between
-                                  // operator-(const any&) and
-                                  // operator-(const A&)
-                                  // both need type conversion
-``
-``
-struct B { };
-struct A { A(const B&) { } };
-void operator-(const A&);
-boost::has_unary_minus<A>::value; // this is fine
-boost::has_unary_minus<B>::value; // error: ambiguous overload between
-                                  // operator-(const any&) and
-                                  // operator-(const A&)
-                                  // both need type conversion
-``
-
-* There is an issue when applying these traits to template classes.
-If the operator is defined but does not bind for a given template type,
-it is still detected by the trait which returns `true` instead of `false`.
-This applies in particular to the containers of the standard library and `operator==`.
-Example:
-``
-#include <boost/type_traits/has_equal_to.hpp>
-#include <iostream>
-
-template <class T>
-struct contains { T data; };
-
-template <class T>
-bool operator==(const contains<T> &lhs, const contains<T> &rhs) {
-	return f(lhs.data, rhs.data);
-}
-
-class bad { };
-class good { };
-bool f(const good&, const good&) { }
-
-int main() {
-	std::cout<<std::boolalpha;
-	// works fine for contains<good>
-	std::cout<<boost::has_equal_to< contains< good > >::value<<'\n'; // true
-	contains<good> g;
-	g==g; // ok
-	// does not work for contains<bad>
-	std::cout<<boost::has_equal_to< contains< bad > >::value<<'\n'; // true, should be false
-	contains<bad> b;
-	b==b; // compile time error
-	return 0;
-}
-``
-
-* `volatile` qualifier is not properly handled and would lead to undefined behavior
-
-
-[heading Acknowledgments]
-
-Frederic Bron is very thankful to numerous people from the boost mailing list for their kind help and patience.
-In particular, the following persons have been very helpful for the implementation: Edward Diener, Eric Niebler, Jeffrey Lee Hellrung (Jr.), Robert Stewart, Roman Perepelitsa, Steven Watanabe, Vicente Botet.
-
-[endsect]
diff --git a/SRC/Boost/libs/type_traits/doc/promote.qbk b/SRC/Boost/libs/type_traits/doc/promote.qbk
deleted file mode 100755
index 9f71b03..0000000
--- a/SRC/Boost/libs/type_traits/doc/promote.qbk
+++ /dev/null
@@ -1,38 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:promote promote]
-
-   template <class T>
-   struct promote
-   {
-      typedef __below type;
-   };
-  
-__type If integral or floating point promotion can be applied to an rvalue
-of type `T`, then applies integral and floating point promotions to `T` and
-keeps cv-qualifiers of `T`, otherwise leaves `T` unchanged. See also
-__integral_promotion and __floating_point_promotion.
-
-__std_ref 4.5 except 4.5/3 (integral bit-field) and 4.6.
-
-__header ` #include <boost/type_traits/promote.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`promote<short volatile>::type`][`int volatile`]]
-
-[[`promote<float const>::type`][`double const`]]
-
-[[`promote<short&>::type`][`short&`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/rank.qbk b/SRC/Boost/libs/type_traits/doc/rank.qbk
deleted file mode 100755
index 0efaa8e..0000000
--- a/SRC/Boost/libs/type_traits/doc/rank.qbk
+++ /dev/null
@@ -1,40 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:rank rank]
-   template <class T>
-   struct rank : public __integral_constant<std::size_t, RANK(T)> {};
-  
-__inherit Class template rank inherits from `__integral_constant<std::size_t, RANK(T)>`, 
-where `RANK(T)` is the number of array dimensions in type `T`.
-
-If `T` is not a (built-in) array type, then `RANK(T)` is zero.
-
-__header ` #include <boost/type_traits/rank.hpp>` or ` #include <boost/type_traits.hpp>`
-
-__examples
-
-[:`rank<int[]>` inherits from `__integral_constant<std::size_t, 1>`.]
-
-[:`rank<double[2][3][4]>::type` is the type `__integral_constant<std::size_t, 3>`.]
-
-[:`rank<int[1]>::value` is an integral constant 
-expression that evaluates to /1/.]
-
-[:`rank<int[][2]>::value` is an integral constant 
-expression that evaluates to /2/.]
-
-[:`rank<int*>::value` is an integral constant 
-expression that evaluates to /0/.]
-
-[:`rank<boost::array<int, 3> >::value` is an integral constant 
-expression that evaluates to /0/: `boost::array` is a class type and [*not an array type]!]
-
-[:`rank<T>::value_type` is the type `std::size_t`.]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/remove_all_extents.qbk b/SRC/Boost/libs/type_traits/doc/remove_all_extents.qbk
deleted file mode 100755
index 9da1812..0000000
--- a/SRC/Boost/libs/type_traits/doc/remove_all_extents.qbk
+++ /dev/null
@@ -1,44 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:remove_all_extents remove_all_extents]
-
-   template <class T>
-   struct remove_all_extents
-   {
-      typedef __below type;
-   };
-  
-__type If `T` is an array type, then removes all of the array bounds on `T`, otherwise
-leaves `T` unchanged.
-
-__std_ref 8.3.4.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/remove_all_extents.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`remove_all_extents<int>::type`][`int`]]
-
-[[`remove_all_extents<int const[2]>::type`] [`int const`]]
-
-[[`remove_all_extents<int[][2]>::type`] [`int`]]
-
-[[`remove_all_extents<int[2][3][4]>::type`] [`int`]]
-
-[[`remove_all_extents<int const*>::type`] [`int const*`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/remove_const.qbk b/SRC/Boost/libs/type_traits/doc/remove_const.qbk
deleted file mode 100755
index adb5ebe..0000000
--- a/SRC/Boost/libs/type_traits/doc/remove_const.qbk
+++ /dev/null
@@ -1,43 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:remove_const remove_const]
-
-   template <class T>
-   struct remove_const
-   {
-      typedef __below type;
-   };
-  
-__type The same type as `T`, but with any /top level/ const-qualifier removed.
-
-__std_ref 3.9.3.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/remove_const.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`remove_const<int>::type`][`int`]]
-
-[[`remove_const<int const>::type`] [`int`]]
-
-[[`remove_const<int const volatile>::type`] [`int volatile`]]
-
-[[`remove_const<int const&>::type`] [`int const&`]]
-
-[[`remove_const<int const*>::type`] [`int const*`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/remove_cv.qbk b/SRC/Boost/libs/type_traits/doc/remove_cv.qbk
deleted file mode 100755
index 28ec33c..0000000
--- a/SRC/Boost/libs/type_traits/doc/remove_cv.qbk
+++ /dev/null
@@ -1,43 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:remove_cv remove_cv]
-
-   template <class T>
-   struct remove_cv
-   {
-      typedef __below type;
-   };
-  
-__type The same type as `T`, but with any /top level/ cv-qualifiers removed.
-
-__std_ref 3.9.3.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/remove_cv.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`remove_cv<int>::type`][`int`]]
-
-[[`remove_cv<int const>::type`] [`int`]]
-
-[[`remove_cv<int const volatile>::type`] [`int`]]
-
-[[`remove_cv<int const&>::type`] [`int const&`]]
-
-[[`remove_cv<int const*>::type`] [`int const*`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/remove_extent.qbk b/SRC/Boost/libs/type_traits/doc/remove_extent.qbk
deleted file mode 100755
index 909e415..0000000
--- a/SRC/Boost/libs/type_traits/doc/remove_extent.qbk
+++ /dev/null
@@ -1,44 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:remove_extent remove_extent]
-
-   template <class T>
-   struct remove_extent
-   {
-      typedef __below type;
-   };
-  
-__type If `T` is an array type, then removes the topmost array bound, 
-otherwise leaves `T` unchanged.
-
-__std_ref 8.3.4.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/remove_extent.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`remove_extent<int>::type`][`int`]]
-
-[[`remove_extent<int const[2]>::type`] [`int const`]]
-
-[[`remove_extent<int[2][4]>::type`] [`int[4]`]]
-
-[[`remove_extent<int[][2]>::type`] [`int[2]`]]
-
-[[`remove_extent<int const*>::type`] [`int const*`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/remove_pointer.qbk b/SRC/Boost/libs/type_traits/doc/remove_pointer.qbk
deleted file mode 100755
index 53558b8..0000000
--- a/SRC/Boost/libs/type_traits/doc/remove_pointer.qbk
+++ /dev/null
@@ -1,44 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:remove_pointer remove_pointer]
-
-   template <class T>
-   struct remove_pointer
-   {
-      typedef __below type;
-   };
-  
-__type The same type as `T`, but with any pointer modifier removed.  Note that pointers to members are left unchanged: 
-removing the pointer decoration would result in an invalid type.
-
-__std_ref 8.3.1.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/remove_pointer.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`remove_pointer<int>::type`][`int`]]
-
-[[`remove_pointer<int const*>::type`] [`int const`]]
-
-[[`remove_pointer<int const**>::type`] [`int const*`]]
-
-[[`remove_pointer<int&>::type`] [`int&`]]
-
-[[`remove_pointer<int*&>::type`] [`int*&`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/remove_reference.qbk b/SRC/Boost/libs/type_traits/doc/remove_reference.qbk
deleted file mode 100755
index 0c8c68c..0000000
--- a/SRC/Boost/libs/type_traits/doc/remove_reference.qbk
+++ /dev/null
@@ -1,43 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:remove_reference remove_reference]
-
-   template <class T>
-   struct remove_reference
-   {
-      typedef __below type;
-   };
-  
-__type The same type as `T`, but with any reference modifier removed.
-
-__std_ref 8.3.2.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/remove_reference.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`remove_reference<int>::type`][`int`]]
-
-[[`remove_reference<int const&>::type`] [`int const`]]
-
-[[`remove_reference<int&&>::type`] [`int`]]
-
-[[`remove_reference<int*>::type`] [`int*`]]
-
-[[`remove_reference<int*&>::type`] [`int*`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/remove_volatile.qbk b/SRC/Boost/libs/type_traits/doc/remove_volatile.qbk
deleted file mode 100755
index dc33c7f..0000000
--- a/SRC/Boost/libs/type_traits/doc/remove_volatile.qbk
+++ /dev/null
@@ -1,43 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:remove_volatile remove_volatile]
-
-   template <class T>
-   struct remove_volatile
-   {
-      typedef __below type;
-   };
-  
-__type The same type as `T`, but with any /top level/ volatile-qualifier removed.
-
-__std_ref 3.9.3.
-
-__compat If the compiler does not support partial specialization of class-templates
-then this template will compile, but the member `type` will always be the same as 
-type `T` except where __transform_workaround have been applied.
-
-__header ` #include <boost/type_traits/remove_volatile.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[table Examples
-
-[ [Expression] [Result Type]]
-
-[[`remove_volatile<int>::type`][`int`]]
-
-[[`remove_volatile<int volatile>::type`] [`int`]]
-
-[[`remove_volatile<int const volatile>::type`] [`int const`]]
-
-[[`remove_volatile<int volatile&>::type`] [`int const&`]]
-
-[[`remove_volatile<int volatile*>::type`] [`int const*`]]
-
-]
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/transform_traits.qbk b/SRC/Boost/libs/type_traits/doc/transform_traits.qbk
deleted file mode 100755
index 0917492..0000000
--- a/SRC/Boost/libs/type_traits/doc/transform_traits.qbk
+++ /dev/null
@@ -1,130 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:transform Type Traits that Transform One Type to Another]
-
-The following templates transform one type to another, 
-based upon some well-defined rule. 
-Each template has a single member called `type` that is the 
-result of applying the transformation to the template argument `T`.
-
-[*Synopsis:]
-
-   template <class T>
-   struct __add_const;
-
-   template <class T>
-   struct __add_cv;
-
-   template <class T>
-   struct __add_lvalue_reference;
-   
-   template <class T>
-   struct __add_pointer;
-
-   template <class T>
-   struct __add_reference;
-
-   template <class T>
-   struct __add_rvalue_reference;
-   
-   template <class T>
-   struct __add_volatile;
-
-   template <bool B, class T, class U>
-   struct __conditional;
-
-   template <class... T>
-   struct __common_type;
-
-   template <class T>
-   struct __decay;
-
-   template <class T>
-   struct __floating_point_promotion;
-
-   template <class T>
-   struct __integral_promotion;
-
-   template <class T>
-   struct __make_signed;
-
-   template <class T>
-   struct __make_unsigned;
-
-   template <class T>
-   struct __promote;
-
-   template <class T>
-   struct __remove_all_extents;
-
-   template <class T>
-   struct __remove_const;
-
-   template <class T>
-   struct __remove_cv;
-
-   template <class T>
-   struct __remove_extent;
-
-   template <class T>
-   struct __remove_pointer;
-
-   template <class T>
-   struct __remove_reference;
-
-   template <class T>
-   struct __remove_volatile;
-
-[h4 Broken Compiler Workarounds:]
-
-For all of these templates support for partial specialization of class templates is 
-required to correctly implement the transformation. 
-On the other hand, practice shows that many of the templates from this 
-category are very useful, and often essential for implementing some 
-generic libraries. Lack of these templates is often one of the major 
-limiting factors in porting those libraries to compilers that do not yet 
-support this language feature. As some of these compilers are going to be 
-around for a while, and at least one of them is very wide-spread, 
-it was decided that the library should provide workarounds where possible. 
-
-The basic idea behind the workaround is to manually define full 
-specializations of all type transformation templates for all fundamental types, 
-and all their 1st and 2nd rank cv-[un]qualified derivative pointer types, and to 
-provide a user-level macro that will define all the explicit specializations needed 
-for any user-defined type T. 
-
-The first part guarantees the successful compilation of something like this:
-
-   BOOST_STATIC_ASSERT((is_same<char, remove_reference<char&>::type>::value));
-   BOOST_STATIC_ASSERT((is_same<char const, remove_reference<char const&>::type>::value));
-   BOOST_STATIC_ASSERT((is_same<char volatile, remove_reference<char volatile&>::type>::value));
-   BOOST_STATIC_ASSERT((is_same<char const volatile, remove_reference<char const volatile&>::type>::value));
-   BOOST_STATIC_ASSERT((is_same<char*, remove_reference<char*&>::type>::value));
-   BOOST_STATIC_ASSERT((is_same<char const*, remove_reference<char const*&>::type>::value));
-   ...
-   BOOST_STATIC_ASSERT((is_same<char const volatile* const volatile* const volatile, remove_reference<char const volatile* const volatile* const volatile&>::type>::value));
-   
-and the second part provides the library's users with a mechanism to make the 
-above code work not only for `char`, `int` or other built-in type, 
-but for their own types as well:
-
-   namespace myspace{
-      struct MyClass {};
-   }
-   // declare this at global scope:
-   BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(myspace::MyClass)
-   // transformations on myspace::MyClass now work:
-   BOOST_STATIC_ASSERT((is_same<myspace::MyClass, remove_reference<myspace::MyClass&>::type>::value));
-   BOOST_STATIC_ASSERT((is_same<myspace::MyClass, remove_const<myspace::MyClass const>::type>::value));
-   // etc.
-   
-Note that the macro BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION evaluates 
-to nothing on those compilers that *do* support partial specialization.
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/type_traits.qbk b/SRC/Boost/libs/type_traits/doc/type_traits.qbk
deleted file mode 100755
index 812bf4b..0000000
--- a/SRC/Boost/libs/type_traits/doc/type_traits.qbk
+++ /dev/null
@@ -1,308 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[library Boost.TypeTraits
-    [quickbook 1.5]
-    [copyright 2000 2011 Adobe Systems Inc, David Abrahams, Frederic Bron,
-    Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones,
-    Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen,
-    Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven Watanabe]
-    [purpose Meta-programming support library]
-    [license
-         Distributed under the Boost Software License, Version 1.0.
-         (See accompanying file LICENSE_1_0.txt or copy at
-         [@http://www.boost.org/LICENSE_1_0.txt])
-    ]
-    [authors [authors, various]]
-    [category template]
-    [category generic]
-    [last-revision $Date: 2011-10-09 18:28:33 -0400 (Sun, 09 Oct 2011) $]
-]
-
-[include ../../../tools/auto_index/include/auto_index_helpers.qbk]
-
-[def __boost_root ../../../../]
-[def __tof '''<replaceable><link linkend="boost_typetraits.reference.integral_constant">true_type</link>-or-<link linkend="boost_typetraits.reference.integral_constant">false_type</link></replaceable>''']
-[def __below '''<replaceable>see-below</replaceable>''']
-[def __true_type [link boost_typetraits.reference.integral_constant true_type]]
-[def __false_type [link boost_typetraits.reference.integral_constant false_type]]
-[def __integral_constant [link boost_typetraits.reference.integral_constant integral_constant]]
-[def __inherit [*Inherits:]]
-[def __std_ref [*C++ Standard Reference:]]
-[def __header [*Header:]]
-[def __compat [*Compiler Compatibility:]]
-[def __examples [*Examples:]]
-[def __type [*type:]]
-[def __transform_workaround [link boost_typetraits.category.transform.broken_compiler_workarounds_ compiler workarounds]]
-[def __intrinsics [link boost_typetraits.intrinsics intrinsics]]
-
-[def __is_void [link boost_typetraits.reference.is_void is_void]]
-[def __is_integral [link boost_typetraits.reference.is_integral is_integral]]
-[def __is_floating_point [link boost_typetraits.reference.is_floating_point is_floating_point]]
-[def __is_pointer [link boost_typetraits.reference.is_pointer is_pointer]]
-[def __is_reference [link boost_typetraits.reference.is_reference is_reference]]
-[def __is_lvalue_reference [link boost_typetraits.reference.is_lvalue_reference is_lvalue_reference]]
-[def __is_rvalue_reference [link boost_typetraits.reference.is_rvalue_reference is_rvalue_reference]]
-[def __is_member_pointer [link boost_typetraits.reference.is_member_pointer is_member_pointer]]
-[def __is_array [link boost_typetraits.reference.is_array is_array]]
-[def __is_union [link boost_typetraits.reference.is_union is_union]]
-[def __is_class [link boost_typetraits.reference.is_class is_class]]
-[def __is_enum [link boost_typetraits.reference.is_enum is_enum]]
-[def __is_enum [link boost_typetraits.reference.is_enum is_enum]]
-[def __is_function [link boost_typetraits.reference.is_function is_function]]
-
-[def __is_arithmetic [link boost_typetraits.reference.is_arithmetic is_arithmetic]]
-[def __is_fundamental [link boost_typetraits.reference.is_fundamental is_fundamental]]
-[def __is_object [link boost_typetraits.reference.is_object is_object]]
-[def __is_scalar [link boost_typetraits.reference.is_scalar is_scalar]]
-[def __is_compound [link boost_typetraits.reference.is_compound is_compound]]
-[def __is_member_function_pointer [link boost_typetraits.reference.is_member_function_pointer is_member_function_pointer]]
-[def __is_member_object_pointer [link boost_typetraits.reference.is_member_object_pointer is_member_object_pointer]]
-
-[def __alignment_of [link boost_typetraits.reference.alignment_of alignment_of]]
-[def __rank [link boost_typetraits.reference.rank rank]]
-[def __extent [link boost_typetraits.reference.extent extent]]
-[def __is_empty [link boost_typetraits.reference.is_empty is_empty]]
-[def __is_const [link boost_typetraits.reference.is_const is_const]]
-[def __is_volatile [link boost_typetraits.reference.is_volatile is_volatile]]
-[def __is_abstract [link boost_typetraits.reference.is_abstract is_abstract]]
-[def __is_polymorphic [link boost_typetraits.reference.is_polymorphic is_polymorphic]]
-[def __is_signed [link boost_typetraits.reference.is_signed is_signed]]
-[def __is_unsigned [link boost_typetraits.reference.is_unsigned is_unsigned]]
-[def __has_virtual_destructor [link boost_typetraits.reference.has_virtual_destructor has_virtual_destructor]]
-[def __is_pod [link boost_typetraits.reference.is_pod is_pod]]
-[def __has_trivial_constructor [link boost_typetraits.reference.has_trivial_constructor has_trivial_constructor]]
-[def __has_new_operator [link boost_typetraits.reference.has_new_operator has_new_operator]]
-[def __has_trivial_copy [link boost_typetraits.reference.has_trivial_copy has_trivial_copy]]
-[def __has_trivial_default_constructor [link boost_typetraits.reference.has_trivial_constructor has_trivial_default_constructor]]
-[def __has_trivial_copy_constructor [link boost_typetraits.reference.has_trivial_copy has_trivial_copy_constructor]]
-[def __has_trivial_assign [link boost_typetraits.reference.has_trivial_assign has_trivial_assign]]
-[def __has_trivial_destructor [link boost_typetraits.reference.has_trivial_destructor has_trivial_destructor]]
-[def __is_stateless [link boost_typetraits.reference.is_stateless is_stateless]]
-[def __has_nothrow_constructor [link boost_typetraits.reference.has_nothrow_constructor has_nothrow_constructor]]
-[def __has_nothrow_copy [link boost_typetraits.reference.has_nothrow_copy has_nothrow_copy]]
-[def __has_nothrow_default_constructor [link boost_typetraits.reference.has_nothrow_constructor has_nothrow_default_constructor]]
-[def __has_nothrow_copy_constructor [link boost_typetraits.reference.has_nothrow_copy has_nothrow_copy_constructor]]
-[def __has_nothrow_assign [link boost_typetraits.reference.has_nothrow_assign has_nothrow_assign]]
-
-[def __is_base_of [link boost_typetraits.reference.is_base_of is_base_of]]
-[def __is_virtual_base_of [link boost_typetraits.reference.is_virtual_base_of is_virtual_base_of]]
-[def __is_convertible [link boost_typetraits.reference.is_convertible is_convertible]]
-[def __is_same [link boost_typetraits.reference.is_same is_same]]
-
-[def __remove_const [link boost_typetraits.reference.remove_const remove_const]]
-[def __remove_volatile [link boost_typetraits.reference.remove_volatile remove_volatile]]
-[def __remove_cv [link boost_typetraits.reference.remove_cv remove_cv]]
-[def __remove_reference [link boost_typetraits.reference.remove_reference remove_reference]]
-[def __remove_extent [link boost_typetraits.reference.remove_extent remove_extent]]
-[def __remove_all_extents [link boost_typetraits.reference.remove_all_extents remove_all_extents]]
-[def __remove_pointer [link boost_typetraits.reference.remove_pointer remove_pointer]]
-[def __add_reference [link boost_typetraits.reference.add_reference add_reference]]
-[def __add_lvalue_reference [link boost_typetraits.reference.add_lvalue_reference add_lvalue_reference]]
-[def __add_rvalue_reference [link boost_typetraits.reference.add_rvalue_reference add_rvalue_reference]]
-[def __add_pointer [link boost_typetraits.reference.add_pointer add_pointer]]
-[def __add_const [link boost_typetraits.reference.add_const add_const]]
-[def __add_volatile [link boost_typetraits.reference.add_volatile add_volatile]]
-[def __add_cv [link boost_typetraits.reference.add_cv add_cv]]
-[def __common_type [link boost_typetraits.reference.common_type common_type]]
-[def __conditional [link boost_typetraits.reference.conditional conditional]]
-
-[def __type_with_alignment [link boost_typetraits.reference.type_with_alignment type_with_alignment]]
-[def __aligned_storage [link boost_typetraits.reference.aligned_storage aligned_storage]]
-
-[def __function_traits [link boost_typetraits.reference.function_traits function_traits]]
-
-[def __promote [link boost_typetraits.reference.promote promote]]
-[def __integral_promotion [link boost_typetraits.reference.integral_promotion integral_promotion]]
-[def __floating_point_promotion [link boost_typetraits.reference.floating_point_promotion floating_point_promotion]]
-
-[def __make_signed [link boost_typetraits.reference.make_signed make_signed]]
-[def __make_unsigned [link boost_typetraits.reference.make_unsigned make_unsigned]]
-[def __decay [link boost_typetraits.reference.decay decay]]
-[def __is_complex [link boost_typetraits.reference.is_complex is_complex]]
-
-A printer-friendly [@http://sourceforge.net/projects/boost/files/boost-docs/ 
- PDF version of this manual is also available].
-
-[section:intro Introduction]
-
-The Boost type-traits library contains a 
-set of very specific traits classes, each of which encapsulate a single trait 
-from the C++ type system; for example, is a type a pointer or a reference type? 
-Or does a type have a trivial constructor, or a const-qualifier?
- 
-The type-traits classes share a unified design: each class inherits from  
-the type __true_type if the type has the specified property and inherits from
-__false_type otherwise.
-
-The type-traits library also contains a set of classes that perform a 
-specific transformation on a type; for example, they can remove a 
-top-level const or volatile qualifier from a type. Each class that 
-performs a transformation defines a single typedef-member `type` 
-that is the result of the transformation.
-
-[endsect]
-
-[include background.qbk]
-
-[section:category Type Traits by Category]
-
-[include value_traits.qbk]
-[include transform_traits.qbk]
-[include alignment_traits.qbk]
-[include decomposing_func.qbk]
-
-[endsect]
-
-[include user_defined.qbk]
-[include intrinsics.qbk]
-[include mpl.qbk]
-[include examples.qbk]
-
-[section:reference Alphabetical Reference]
-
-[include add_const.qbk]
-[include add_cv.qbk]
-[include add_lvalue_reference.qbk]
-[include add_pointer.qbk]
-[include add_reference.qbk]
-[include add_rvalue_reference.qbk]
-[include add_volatile.qbk]
-[include aligned_storage.qbk]
-[include alignment_of.qbk]
-[include conditional.qbk]
-[include common_type.qbk]
-[include decay.qbk]
-[include extent.qbk]
-[include floating_point_promotion.qbk]
-[include function_traits.qbk]
-
-[include has_bit_and.qbk]
-[include has_bit_and_assign.qbk]
-[include has_bit_or.qbk]
-[include has_bit_or_assign.qbk]
-[include has_bit_xor.qbk]
-[include has_bit_xor_assign.qbk]
-[include has_complement.qbk]
-[include has_dereference.qbk]
-[include has_divides.qbk]
-[include has_divides_assign.qbk]
-[include has_equal_to.qbk]
-[include has_greater.qbk]
-[include has_greater_equal.qbk]
-[include has_left_shift.qbk]
-[include has_left_shift_assign.qbk]
-[include has_less.qbk]
-[include has_less_equal.qbk]
-[include has_logical_and.qbk]
-[include has_logical_not.qbk]
-[include has_logical_or.qbk]
-[include has_minus.qbk]
-[include has_minus_assign.qbk]
-[include has_modulus.qbk]
-[include has_modulus_assign.qbk]
-[include has_multiplies.qbk]
-[include has_multiplies_assign.qbk]
-[include has_negate.qbk]
-[include has_new_operator.qbk]
-[include has_not_equal_to.qbk]
-[include has_nothrow_assign.qbk]
-[include has_nothrow_constructor.qbk]
-[include has_nothrow_copy.qbk]
-[section:has_nothrow_cp_cons has_nothrow_copy_constructor]
-See __has_nothrow_copy.
-[endsect]
-[section:has_no_throw_def_cons has_nothrow_default_constructor]
-See __has_nothrow_constructor.
-[endsect]
-[include has_plus.qbk]
-[include has_plus_assign.qbk]
-[include has_post_decrement.qbk]
-[include has_post_increment.qbk]
-[include has_pre_decrement.qbk]
-[include has_pre_increment.qbk]
-[include has_right_shift.qbk]
-[include has_right_shift_assign.qbk]
-[include has_trivial_assign.qbk]
-[include has_trivial_constructor.qbk]
-[include has_trivial_copy.qbk]
-[section:has_trivial_cp_cons has_trivial_copy_constructor]
-See __has_trivial_copy.
-[endsect]
-[section:has_trivial_def_cons has_trivial_default_constructor]
-See __has_trivial_constructor.
-[endsect]
-[include has_trivial_destructor.qbk]
-[include has_unary_minus.qbk]
-[include has_unary_plus.qbk]
-[include has_virtual_destructor.qbk]
-
-[include integral_constant.qbk]
-[include integral_promotion.qbk]
-
-[include is_abstract.qbk]
-[include is_arithmetic.qbk]
-[include is_array.qbk]
-[include is_base_of.qbk]
-[include is_class.qbk]
-[include is_complex.qbk]
-[include is_compound.qbk]
-[include is_const.qbk]
-[include is_convertible.qbk]
-[include is_empty.qbk]
-[include is_enum.qbk]
-[include is_floating_point.qbk]
-[include is_function.qbk]
-[include is_fundamental.qbk]
-[include is_integral.qbk]
-[include is_lvalue_reference.qbk]
-[include is_member_function_pointer.qbk]
-[include is_member_object_pointer.qbk]
-[include is_member_pointer.qbk]
-[include is_object.qbk]
-[include is_pod.qbk]
-[include is_pointer.qbk]
-[include is_polymorphic.qbk]
-[include is_reference.qbk]
-[include is_rvalue_reference.qbk]
-[include is_same.qbk]
-[include is_scalar.qbk]
-[include is_signed.qbk]
-[include is_stateless.qbk]
-[include is_union.qbk]
-[include is_unsigned.qbk]
-[include is_virtual_base_of.qbk]
-[include is_void.qbk]
-[include is_volatile.qbk]
-
-[include make_signed.qbk]
-[include make_unsigned.qbk]
-
-[include promote.qbk]
-[include rank.qbk]
-
-[include remove_all_extents.qbk]
-[include remove_const.qbk]
-[include remove_cv.qbk]
-[include remove_extent.qbk]
-[include remove_pointer.qbk]
-[include remove_reference.qbk]
-[include remove_volatile.qbk]
-[include type_with_alignment.qbk]
-
-[endsect]
-
-[include history.qbk]
-[include credits.qbk]
-
-[named_index class_name Class Index]
-[named_index typedef_name Typedef Index]
-[named_index macro_name Macro Index]
-[index]
-
-
-
diff --git a/SRC/Boost/libs/type_traits/doc/type_with_alignment.qbk b/SRC/Boost/libs/type_traits/doc/type_with_alignment.qbk
deleted file mode 100755
index ac06ec8..0000000
--- a/SRC/Boost/libs/type_traits/doc/type_with_alignment.qbk
+++ /dev/null
@@ -1,22 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:type_with_alignment type_with_alignment]
-
-   template <std::size_t Align>
-   struct type_with_alignment
-   {
-      typedef __below type;
-   };
-  
-__type a built-in or POD type with an alignment 
-that is a multiple of `Align`.  
-
-__header ` #include <boost/type_traits/type_with_alignment.hpp>` or ` #include <boost/type_traits.hpp>`
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/user_defined.qbk b/SRC/Boost/libs/type_traits/doc/user_defined.qbk
deleted file mode 100755
index 71f7ac5..0000000
--- a/SRC/Boost/libs/type_traits/doc/user_defined.qbk
+++ /dev/null
@@ -1,43 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:user_defined User Defined Specializations]
-
-Occationally the end user may need to provide their own specialization 
-for one of the type traits - typically where intrinsic compiler support 
-is required to implement a specific trait fully.  
-These specializations should derive from boost::__true_type or boost::__false_type 
-as appropriate:
-
-   #include <boost/type_traits/is_pod.hpp>
-   #include <boost/type_traits/is_class.hpp>
-   #include <boost/type_traits/is_union.hpp>
-
-   struct my_pod{};
-   struct my_union
-   {
-      char c;
-      int i;
-   };
-
-   namespace boost
-   {
-      template<>
-      struct __is_pod<my_pod> : public __true_type{};
-         
-      template<>
-      struct __is_pod<my_union> : public __true_type{};
-      
-      template<>
-      struct __is_union<my_union> : public __true_type{};
-      
-      template<>
-      struct __is_class<my_union> : public __false_type{};
-   }
-
-[endsect]
-
diff --git a/SRC/Boost/libs/type_traits/doc/value_traits.qbk b/SRC/Boost/libs/type_traits/doc/value_traits.qbk
deleted file mode 100755
index a5ffb6e..0000000
--- a/SRC/Boost/libs/type_traits/doc/value_traits.qbk
+++ /dev/null
@@ -1,208 +0,0 @@
-[/ 
-  Copyright 2007 John Maddock.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:value_traits Type Traits that Describe the Properties of a Type]
-
-These traits are all /value traits/, which is to say the traits classes all
-inherit from __integral_constant, and are used to access some numerical
-property of a type.  Often this is a simple true or false Boolean value, 
-but in a few cases may be some other integer value (for example when dealing
-with type alignments, or array bounds: see `__alignment_of`, `__rank` and `__extent`).
-
-[section:primary Categorizing a Type]
-
-These traits identify what "kind" of type some type `T` is.  These are split into
-two groups: primary traits which are all mutually exclusive, and composite traits
-that are compositions of one or more primary traits.
-
-For any given type, exactly one primary type trait will inherit from
-__true_type, and all the others will inherit from __false_type, in other
-words these traits are mutually exclusive.
- 
-This means that `__is_integral<T>::value` and `__is_floating_point<T>::value` 
-will only ever be true for built-in types; if you want to check for a 
-user-defined class type that behaves "as if" it is an integral or floating point type, 
-then use the `std::numeric_limits template` instead.
-
-[*Synopsis:]
-
-   template <class T>
-   struct __is_array;
-     
-   template <class T>
-   struct __is_class;
-   
-   template <class T>
-   struct __is_complex;
-     
-   template <class T>
-   struct __is_enum;
-     
-   template <class T>
-   struct __is_floating_point;
-     
-   template <class T>
-   struct __is_function;
-
-   template <class T>
-   struct __is_integral;
-     
-   template <class T>
-   struct __is_member_function_pointer;
-     
-   template <class T>
-   struct __is_member_object_pointer;
-     
-   template <class T>
-   struct __is_pointer;
-     
-   template <class T>
-   struct __is_lvalue_reference;
-     
-   template <class T>
-   struct __is_rvalue_reference;
-     
-   template <class T>
-   struct __is_union;
-     
-   template <class T>
-   struct __is_void;
-     
-The following traits are made up of the union of one or more type
-categorizations. A type may belong to more than one of these categories, 
-in addition to one of the primary categories.
-
-   template <class T>
-   struct __is_arithmetic;
-   
-   template <class T>
-   struct __is_compound;
-   
-   template <class T>
-   struct __is_fundamental;
-   
-   template <class T>
-   struct __is_member_pointer;
-   
-   template <class T>
-   struct __is_object;
-   
-   template <class T>
-   struct __is_reference;
-     
-   template <class T>
-   struct __is_scalar;
-   
-[endsect]
-
-[section:properties General Type Properties]
-
-The following templates describe the general properties of a type.
-
-[*Synopsis:]
-
-   template <class T>
-   struct __alignment_of;
-
-   template <class T>
-   struct __has_new_operator;
-
-   template <class T>
-   struct __has_nothrow_assign;
-
-   template <class T>
-   struct __has_nothrow_constructor;
-
-   template <class T>
-   struct __has_nothrow_default_constructor;
-
-   template <class T>
-   struct __has_nothrow_copy;
-
-   template <class T>
-   struct __has_nothrow_copy_constructor;
-
-   template <class T>
-   struct __has_trivial_assign;
-
-   template <class T>
-   struct __has_trivial_constructor;
-
-   template <class T>
-   struct __has_trivial_default_constructor;
-
-   template <class T>
-   struct __has_trivial_copy;
-
-   template <class T>
-   struct __has_trivial_copy_constructor;
-
-   template <class T>
-   struct __has_trivial_destructor;
-
-   template <class T>
-   struct __has_virtual_destructor;
-
-   template <class T>
-   struct __is_abstract;
-
-   template <class T>
-   struct __is_const;
-
-   template <class T>
-   struct __is_empty;
-
-   template <class T>
-   struct __is_stateless;
-
-   template <class T>
-   struct __is_pod;
-
-   template <class T>
-   struct __is_polymorphic;
-   
-   template <class T>
-   struct __is_signed;
-   
-   template <class T>
-   struct __is_unsigned;
-
-   template <class T>
-   struct __is_volatile;
-
-   template <class T, std::size_t N = 0>
-   struct __extent;
-
-   template <class T>
-   struct __rank;
-
-[endsect]
-
-[section:relate Relationships Between Two Types]
-
-These templates determine the whether there is a relationship 
-between two types:
-
-[*Synopsis:]
-
-   template <class Base, class Derived>
-   struct __is_base_of;
-
-   template <class Base, class Derived>
-   struct __is_virtual_base_of;
-
-   template <class From, class To>
-   struct __is_convertible;
-
-   template <class T, class U>
-   struct __is_same;
-   
-[endsect]
-
-[include operators.qbk]
-
-[endsect]
diff --git a/SRC/Boost/libs/type_traits/examples/copy_example.cpp b/SRC/Boost/libs/type_traits/examples/copy_example.cpp
deleted file mode 100755
index bf47fb1..0000000
--- a/SRC/Boost/libs/type_traits/examples/copy_example.cpp
+++ /dev/null
@@ -1,197 +0,0 @@
-
-/*
- *
- * (C) Copyright John Maddock 1999-2005. 
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- * This file provides some example of type_traits usage -
- * by "optimising" various algorithms:
- *
- * opt::copy - optimised for trivial copy (cf std::copy)
- *
- */
-
-#include <iostream>
-#include <typeinfo>
-#include <algorithm>
-#include <iterator>
-#include <memory>
-
-#include <boost/test/included/prg_exec_monitor.hpp>
-#include <boost/timer.hpp>
-#include <boost/type_traits.hpp>
-
-using std::cout;
-using std::endl;
-using std::cin;
-
-namespace opt{
-
-//
-// opt::copy
-// same semantics as std::copy
-// calls memcpy where appropiate.
-//
-
-namespace detail{
-
-template<typename I1, typename I2, bool b>
-I2 copy_imp(I1 first, I1 last, I2 out, const boost::integral_constant<bool, b>&)
-{
-   while(first != last)
-   {
-      *out = *first;
-      ++out;
-      ++first;
-   }
-   return out;
-}
-
-template<typename T>
-T* copy_imp(const T* first, const T* last, T* out, const boost::true_type&)
-{
-   memmove(out, first, (last-first)*sizeof(T));
-   return out+(last-first);
-}
-
-
-}
-
-template<typename I1, typename I2>
-inline I2 copy(I1 first, I1 last, I2 out)
-{
-   //
-   // We can copy with memcpy if T has a trivial assignment operator,
-   // and if the iterator arguments are actually pointers (this last
-   // requirement we detect with overload resolution):
-   //
-   typedef typename std::iterator_traits<I1>::value_type value_type;
-   return detail::copy_imp(first, last, out, boost::has_trivial_assign<value_type>());
-}
-
-}   // namespace opt
-
-namespace non_opt
-{
-
-template<typename I1, typename I2>
-inline I2 copy(I1 first, I1 last, I2 out)
-{
-   return opt::detail::copy_imp(first, last, out, boost::false_type());
-}
-
-}
-
-//
-// define some global data:
-//
-const int array_size = 1000;
-int i_array_[array_size] = {0,};
-const int ci_array_[array_size] = {0,};
-char c_array_[array_size] = {0,};
-const char cc_array_[array_size] = { 0,};
-//
-// since arrays aren't iterators we define a set of pointer
-// aliases into the arrays (otherwise the compiler is entitled
-// to deduce the type passed to the template functions as
-// T (&)[N] rather than T*).
-int* i_array = i_array_;
-const int* ci_array = ci_array_;
-char* c_array = c_array_;
-const char* cc_array = cc_array_;
-
-const int iter_count = 1000000;
-
-int cpp_main(int argc, char* argv[])
-{
-   boost::timer t;
-   double result;
-   int i;
-   cout << "Measuring times in micro-seconds per 1000 elements processed" << endl << endl;
-   cout << "testing copy...\n"
-   "[Some standard library versions may already perform this optimisation.]" << endl;
-   
-   // cache load:
-   opt::copy(ci_array, ci_array + array_size, i_array);
-
-   // time optimised version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      opt::copy(ci_array, ci_array + array_size, i_array);
-   }
-   result = t.elapsed();
-   cout << "opt::copy<const int*, int*>: " << result << endl;
-
-   // cache load:
-   non_opt::copy(ci_array, ci_array + array_size, i_array);
-
-   // time non-optimised version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      non_opt::copy(ci_array, ci_array + array_size, i_array);
-   }
-   result = t.elapsed();
-   cout << "non_opt::copy<const int*, int*>: " << result << endl;
-
-   // cache load:
-   std::copy(ci_array, ci_array + array_size, i_array);
-
-   // time standard version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      std::copy(ci_array, ci_array + array_size, i_array);
-   }
-   result = t.elapsed();
-   cout << "std::copy<const int*, int*>: " << result << endl;
-
-   // cache load:
-   opt::copy(cc_array, cc_array + array_size, c_array);
-
-   // time optimised version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      opt::copy(cc_array, cc_array + array_size, c_array);
-   }
-   result = t.elapsed();
-   cout << "opt::copy<const char*, char*>: " << result << endl;
-
-   // cache load:
-   non_opt::copy(cc_array, cc_array + array_size, c_array);
-
-   // time optimised version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      non_opt::copy(cc_array, cc_array + array_size, c_array);
-   }
-   result = t.elapsed();
-   cout << "non_opt::copy<const char*, char*>: " << result << endl;
-
-   // cache load:
-   std::copy(cc_array, cc_array + array_size, c_array);
-
-   // time standard version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      std::copy(cc_array, cc_array + array_size, c_array);
-   }
-   result = t.elapsed();
-   cout << "std::copy<const char*, char*>: " << result << endl;
-
-   return 0;
-}
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/examples/fill_example.cpp b/SRC/Boost/libs/type_traits/examples/fill_example.cpp
deleted file mode 100755
index b03ca53..0000000
--- a/SRC/Boost/libs/type_traits/examples/fill_example.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-
-/*
- *
- * (C) Copyright John Maddock 1999-2005. 
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- * This file provides some example of type_traits usage -
- * by "optimising" various algorithms:
- *
- * opt::fill - optimised for trivial copy/small types (cf std::fill)
- *
- */
-
-#include <iostream>
-#include <typeinfo>
-#include <algorithm>
-#include <iterator>
-#include <memory>
-#include <cstring>
-
-#include <boost/test/included/prg_exec_monitor.hpp>
-#include <boost/timer.hpp>
-#include <boost/type_traits.hpp>
-
-#if defined(BOOST_NO_STDC_NAMESPACE) || (defined(std) && defined(__SGI_STL_PORT))
-namespace std{ using :: memset; }
-#endif
-
-using std::cout;
-using std::endl;
-using std::cin;
-
-namespace opt{
-//
-// fill
-// same as std::fill, but uses memset where appropriate
-//
-namespace detail{
-
-template <typename I, typename T, bool b>
-void do_fill(I first, I last, const T& val, const boost::integral_constant<bool, b>&)
-{
-   while(first != last)
-   {
-      *first = val;
-      ++first;
-   }
-}
-
-template <typename T>
-void do_fill(T* first, T* last, const T& val, const boost::true_type&)
-{
-   std::memset(first, val, last-first);
-}
-
-}
-
-template <class I, class T>
-inline void fill(I first, I last, const T& val)
-{
-   //
-   // We can do an optimised fill if T has a trivial assignment 
-   // operator and if it's size is one:
-   //
-   typedef boost::integral_constant<bool, 
-      ::boost::has_trivial_assign<T>::value && (sizeof(T) == 1)> truth_type;
-   detail::do_fill(first, last, val, truth_type());
-}
-
-}   // namespace opt
-
-namespace non_opt{
-
-template <class I, class T>
-inline void fill(I first, I last, const T& val)
-{
-   opt::detail::do_fill(first, last, val, boost::false_type());
-}
-
-}
-
-//
-// define some global data:
-//
-const int array_size = 1000;
-int i_array_[array_size] = {0,};
-const int ci_array_[array_size] = {0,};
-char c_array_[array_size] = {0,};
-const char cc_array_[array_size] = { 0,};
-//
-// since arrays aren't iterators we define a set of pointer
-// aliases into the arrays (otherwise the compiler is entitled
-// to deduce the type passed to the template functions as
-// T (&)[N] rather than T*).
-int* i_array = i_array_;
-const int* ci_array = ci_array_;
-char* c_array = c_array_;
-const char* cc_array = cc_array_;
-
-const int iter_count = 1000000;
-
-int cpp_main(int argc, char* argv[])
-{
-   boost::timer t;
-   double result;
-   int i;
-   //
-   // test destroy_array,
-   // compare destruction time of an array of ints
-   // with unoptimised form.
-   //
-   cout << "Measuring times in micro-seconds per 1000 elements processed" << endl << endl;
-
-   cout << "testing fill(char)...\n"
-   "[Some standard library versions may already perform this optimisation.]" << endl;
-
-   // cache load:
-   opt::fill(c_array, c_array + array_size, (char)3);
-
-   // time optimised version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      opt::fill(c_array, c_array + array_size, (char)3);
-   }
-   result = t.elapsed();
-   cout << "opt::fill<char*, char>: " << result << endl;
-
-   // cache load:
-   non_opt::fill(c_array, c_array + array_size, (char)3);
-
-   // time optimised version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      non_opt::fill(c_array, c_array + array_size, (char)3);
-   }
-   result = t.elapsed();
-   cout << "non_opt::fill<char*, char>: " << result << endl;
-
-   // cache load:
-   std::fill(c_array, c_array + array_size, (char)3);
-
-   // time standard version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      std::fill(c_array, c_array + array_size, (char)3);
-   }
-   result = t.elapsed();
-   cout << "std::fill<char*, char>: " << result << endl << endl;
-
-   cout << "testing fill(int)...\n" << endl;
-
-   // cache load:
-   opt::fill(i_array, i_array + array_size, 3);
-
-   // timer optimised version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      opt::fill(i_array, i_array + array_size, 3);
-   }
-   result = t.elapsed();
-   cout << "opt::fill<int*, int>: " << result << endl;
-
-   // cache load:
-   non_opt::fill(i_array, i_array + array_size, 3);
-
-   // timer optimised version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      non_opt::fill(i_array, i_array + array_size, 3);
-   }
-   result = t.elapsed();
-   cout << "non_opt::fill<int*, int>: " << result << endl;
-
-   // cache load:
-   std::fill(i_array, i_array + array_size, 3);
-
-   // time standard version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      std::fill(i_array, i_array + array_size, 3);
-   }
-   result = t.elapsed();
-   cout << "std::fill<int*, int>: " << result << endl << endl;
-
-   return 0;
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/examples/iter_swap_example.cpp b/SRC/Boost/libs/type_traits/examples/iter_swap_example.cpp
deleted file mode 100755
index a3903c9..0000000
--- a/SRC/Boost/libs/type_traits/examples/iter_swap_example.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-/*
- *
- * (C) Copyright John Maddock 1999-2005. 
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- * This file provides some example of type_traits usage -
- * by "optimising" various algorithms:
- *
- * opt::iter_swap - uses type_traits to determine whether the iterator is a proxy
- *                  in which case it uses a "safe" approach, otherwise calls swap
- *                  on the assumption that swap may be specialised for the pointed-to type.
- *
- */
-
-#include <iostream>
-#include <typeinfo>
-#include <algorithm>
-#include <iterator>
-#include <vector>
-#include <memory>
-
-#include <boost/test/included/prg_exec_monitor.hpp>
-#include <boost/type_traits.hpp>
-
-using std::cout;
-using std::endl;
-using std::cin;
-
-namespace opt{
-
-//
-// iter_swap:
-// tests whether iterator is a proxying iterator or not, and
-// uses optimal form accordingly:
-//
-namespace detail{
-
-template <typename I>
-static void do_swap(I one, I two, const boost::false_type&)
-{
-   typedef typename std::iterator_traits<I>::value_type v_t;
-   v_t v = *one;
-   *one = *two;
-   *two = v;
-}
-template <typename I>
-static void do_swap(I one, I two, const boost::true_type&)
-{
-   using std::swap;
-   swap(*one, *two);
-}
-
-}
-
-template <typename I1, typename I2>
-inline void iter_swap(I1 one, I2 two)
-{
-   //
-   // See is both arguments are non-proxying iterators, 
-   // and if both iterator the same type:
-   //
-   typedef typename std::iterator_traits<I1>::reference r1_t;
-   typedef typename std::iterator_traits<I2>::reference r2_t;
-
-   typedef boost::integral_constant<bool,
-      ::boost::is_reference<r1_t>::value
-      && ::boost::is_reference<r2_t>::value
-      && ::boost::is_same<r1_t, r2_t>::value> truth_type;
-
-   detail::do_swap(one, two, truth_type());
-}
-
-
-};   // namespace opt
-
-int cpp_main(int argc, char* argv[])
-{
-   //
-   // testing iter_swap
-   // really just a check that it does in fact compile...
-   std::vector<int> v1;
-   v1.push_back(0);
-   v1.push_back(1);
-   std::vector<bool> v2;
-   v2.push_back(0);
-   v2.push_back(1);
-   opt::iter_swap(v1.begin(), v1.begin()+1);
-   opt::iter_swap(v2.begin(), v2.begin()+1);
-
-   return 0;
-}
-
-
-
diff --git a/SRC/Boost/libs/type_traits/examples/trivial_destructor_example.cpp b/SRC/Boost/libs/type_traits/examples/trivial_destructor_example.cpp
deleted file mode 100755
index da0dea8..0000000
--- a/SRC/Boost/libs/type_traits/examples/trivial_destructor_example.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-
-/*
- *
- * (C) Copyright John Maddock 1999-2005. 
- * Use, modification and distribution are subject to the 
- * Boost Software License, Version 1.0. (See accompanying file 
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- * This file provides some example of type_traits usage -
- * by "optimising" various algorithms:
- *
- * opt::destroy_array - an example of optimisation based upon omitted destructor calls
- *
- */
-
-
-#include <iostream>
-#include <boost/test/included/prg_exec_monitor.hpp>
-#include <boost/timer.hpp>
-#include <boost/type_traits.hpp>
-
-using std::cout;
-using std::endl;
-using std::cin;
-
-namespace opt{
-
-//
-// algorithm destroy_array:
-// The reverse of std::unitialized_copy, takes a block of
-// initialized memory and calls destructors on all objects therein.
-//
-
-namespace detail{
-
-template <class T>
-void do_destroy_array(T* first, T* last, const boost::false_type&)
-{
-   while(first != last)
-   {
-      first->~T();
-      ++first;
-   }
-}
-
-template <class T>
-inline void do_destroy_array(T* first, T* last, const boost::true_type&)
-{
-}
-
-} // namespace detail
-
-template <class T>
-inline void destroy_array(T* p1, T* p2)
-{
-   detail::do_destroy_array(p1, p2, ::boost::has_trivial_destructor<T>());
-}
-
-//
-// unoptimised versions of destroy_array:
-//
-template <class T>
-void destroy_array1(T* first, T* last)
-{
-   while(first != last)
-   {
-      first->~T();
-      ++first;
-   }
-}
-template <class T>
-void destroy_array2(T* first, T* last)
-{
-   for(; first != last; ++first) first->~T();
-}
-
-} // namespace opt
-
-//
-// define some global data:
-//
-const int array_size = 1000;
-int i_array[array_size] = {0,};
-const int ci_array[array_size] = {0,};
-char c_array[array_size] = {0,};
-const char cc_array[array_size] = { 0,};
-
-const int iter_count = 1000000;
-
-
-int cpp_main(int argc, char* argv[])
-{
-   boost::timer t;
-   double result;
-   int i;
-   //
-   // test destroy_array,
-   // compare destruction time of an array of ints
-   // with unoptimised form.
-   //
-   cout << "Measuring times in micro-seconds per 1000 elements processed" << endl << endl;
-   cout << "testing destroy_array...\n"
-    "[Some compilers may be able to optimise the \"unoptimised\"\n versions as well as type_traits does.]" << endl;
-   
-   // cache load:
-   opt::destroy_array(i_array, i_array + array_size);
-
-   // time optimised version:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      opt::destroy_array(i_array, i_array + array_size);
-   }
-   result = t.elapsed();
-   cout << "destroy_array<int>: " << result << endl;
-
-   // cache load:
-   opt::destroy_array1(i_array, i_array + array_size);
-
-   // time unoptimised version #1:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      opt::destroy_array1(i_array, i_array + array_size);
-   }
-   result = t.elapsed();
-   cout << "destroy_array<int>(unoptimised#1): " << result << endl;
-
-   // cache load:
-   opt::destroy_array2(i_array, i_array + array_size);
-
-   // time unoptimised version #2:
-   t.restart();
-   for(i = 0; i < iter_count; ++i)
-   {
-      opt::destroy_array2(i_array, i_array + array_size);
-   }
-   result = t.elapsed();
-   cout << "destroy_array<int>(unoptimised#2): " << result << endl << endl;
-
-   return 0;
-}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/index.html b/SRC/Boost/libs/type_traits/index.html
deleted file mode 100755
index 4ff86d4..0000000
--- a/SRC/Boost/libs/type_traits/index.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-  <head>
-    <meta http-equiv="refresh" content="0; URL=doc/html/index.html">
-  </head>
-  <body>
-    <P>Automatic redirection failed, please go to
-    <a href="doc/html/index.html">doc/html/index.html</a>.</P>
-      <P>Copyright John Maddock 2001</P>
-      <P>Distributed under the Boost Software License, Version 1.0. (See accompanying file <A href="../../LICENSE_1_0.txt">
-            LICENSE_1_0.txt</A> or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</A>).</P>
-  </body>
-</html>
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/Jamfile.v2 b/SRC/Boost/libs/type_traits/test/Jamfile.v2
deleted file mode 100755
index ad10977..0000000
--- a/SRC/Boost/libs/type_traits/test/Jamfile.v2
+++ /dev/null
@@ -1,39 +0,0 @@
-# copyright John Maddock 2004
-# Use, modification and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-# bring in the rules for testing
-import testing ;
-
-# type_traits in V1 seem to have two modes: standalone, triggered
-# by a command line option, and a regular. For now, just imitate
-# regular  
-
-project : requirements
-   # default to all warnings on:
-   <warnings>all
-   # set warnings as errors for those compilers we know we get warning free:
-   <toolset>gcc:<cxxflags>-Wextra
-   <toolset>gcc:<cxxflags>-Wno-uninitialized
-   <toolset>gcc:<warnings-as-errors>on
-   <toolset>intel:<warnings-as-errors>on
-   <toolset>sun:<warnings-as-errors>on
-   <toolset>msvc:<warnings-as-errors>on
-;             
-
-rule all-tests {
-     local result ;
-     for local source in [ glob *_test.cpp ] udt_specialisations.cpp
-     {
-         result += [ run $(source) ] ;
-     }
-     return $(result) ;     
-}
-            
-test-suite type_traits : [ all-tests ] ;
-
-compile-fail common_type_fail.cpp ;
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/add_const_test.cpp b/SRC/Boost/libs/type_traits/test/add_const_test.cpp
deleted file mode 100755
index 47b12f7..0000000
--- a/SRC/Boost/libs/type_traits/test/add_const_test.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/add_const.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(add_const_test_1, ::tt::add_const, const, const)
-BOOST_DECL_TRANSFORM_TEST(add_const_test_2, ::tt::add_const, volatile, volatile const)
-BOOST_DECL_TRANSFORM_TEST(add_const_test_3, ::tt::add_const, *, *const)
-BOOST_DECL_TRANSFORM_TEST2(add_const_test_4, ::tt::add_const, const)
-BOOST_DECL_TRANSFORM_TEST(add_const_test_7, ::tt::add_const, *volatile, *volatile const)
-BOOST_DECL_TRANSFORM_TEST(add_const_test_10, ::tt::add_const, const*, const*const)
-BOOST_DECL_TRANSFORM_TEST(add_const_test_11, ::tt::add_const, volatile*, volatile*const)
-BOOST_DECL_TRANSFORM_TEST(add_const_test_5, ::tt::add_const, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(add_const_test_6, ::tt::add_const, &, &)
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_DECL_TRANSFORM_TEST(add_const_test_5a, ::tt::add_const, const &&, const&&)
-BOOST_DECL_TRANSFORM_TEST(add_const_test_6a, ::tt::add_const, &&, &&)
-#endif
-BOOST_DECL_TRANSFORM_TEST(add_const_test_8, ::tt::add_const, const [2], const [2])
-BOOST_DECL_TRANSFORM_TEST(add_const_test_9, ::tt::add_const, volatile &, volatile&)
-BOOST_DECL_TRANSFORM_TEST(add_const_test_12, ::tt::add_const, [2][3], const[2][3])
-BOOST_DECL_TRANSFORM_TEST(add_const_test_13, ::tt::add_const, (&)[2], (&)[2])
-
-TT_TEST_BEGIN(add_const)
-
-   add_const_test_1();
-   add_const_test_2();
-   add_const_test_3();
-   add_const_test_4();
-   add_const_test_7();
-   add_const_test_10();
-   add_const_test_11();
-   add_const_test_5();
-   add_const_test_6();
-   add_const_test_8();
-   add_const_test_9();
-   add_const_test_12();
-   add_const_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   add_const_test_5a();
-   add_const_test_6a();
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/add_cv_test.cpp b/SRC/Boost/libs/type_traits/test/add_cv_test.cpp
deleted file mode 100755
index b80f646..0000000
--- a/SRC/Boost/libs/type_traits/test/add_cv_test.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/add_cv.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_1, ::tt::add_cv, const, const volatile)
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_2, ::tt::add_cv, volatile, volatile const)
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_3, ::tt::add_cv, *, *const volatile)
-BOOST_DECL_TRANSFORM_TEST2(add_cv_test_4, ::tt::add_cv, const volatile)
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_7, ::tt::add_cv, *volatile, *volatile const)
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_10, ::tt::add_cv, const*, const*const volatile)
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_11, ::tt::add_cv, volatile*, volatile*const volatile )
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_5, ::tt::add_cv, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_6, ::tt::add_cv, &, &)
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_5a, ::tt::add_cv, const &&, const&&)
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_6a, ::tt::add_cv, &&, &&)
-#endif
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_8, ::tt::add_cv, const [2], const volatile [2])
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_9, ::tt::add_cv, volatile &, volatile&)
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_12, ::tt::add_cv, [2][3], const volatile[2][3])
-BOOST_DECL_TRANSFORM_TEST(add_cv_test_13, ::tt::add_cv, (&)[2], (&)[2])
-
-TT_TEST_BEGIN(add_const)
-
-   add_cv_test_1();
-   add_cv_test_2();
-   add_cv_test_3();
-   add_cv_test_4();
-   add_cv_test_7();
-   add_cv_test_10();
-   add_cv_test_11();
-   add_cv_test_5();
-   add_cv_test_6();
-   add_cv_test_8();
-   add_cv_test_9();
-   add_cv_test_12();
-   add_cv_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   add_cv_test_5a();
-   add_cv_test_6a();
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/add_lvalue_reference_test.cpp b/SRC/Boost/libs/type_traits/test/add_lvalue_reference_test.cpp
deleted file mode 100755
index d7623c0..0000000
--- a/SRC/Boost/libs/type_traits/test/add_lvalue_reference_test.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/add_lvalue_reference.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_1, ::tt::add_lvalue_reference, const, const&)
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_2, ::tt::add_lvalue_reference, volatile, volatile&)
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_3, ::tt::add_lvalue_reference, *, *&)
-BOOST_DECL_TRANSFORM_TEST2(add_lvalue_reference_test_4, ::tt::add_lvalue_reference, &)
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_5, ::tt::add_lvalue_reference, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_6, ::tt::add_lvalue_reference, &, &)
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_7, ::tt::add_lvalue_reference, *volatile, *volatile&)
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_8, ::tt::add_lvalue_reference, const [2], const (&)[2])
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_9, ::tt::add_lvalue_reference, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_10, ::tt::add_lvalue_reference, const*, const*&)
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_11, ::tt::add_lvalue_reference, volatile*, volatile*&)
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_12, ::tt::add_lvalue_reference, const[2][3], const (&)[2][3])
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_13, ::tt::add_lvalue_reference, (&)[2], (&)[2])
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_5a, ::tt::add_lvalue_reference, const &&, const&)
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_6a, ::tt::add_lvalue_reference, &&, &)
-BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_13a, ::tt::add_lvalue_reference, (&&)[2], (&)[2])
-#endif
-
-TT_TEST_BEGIN(add_lvalue_reference)
-
-   add_lvalue_reference_test_1();
-   add_lvalue_reference_test_2();
-   add_lvalue_reference_test_3();
-   add_lvalue_reference_test_4();
-   add_lvalue_reference_test_5();
-   add_lvalue_reference_test_6();
-   add_lvalue_reference_test_7();
-   add_lvalue_reference_test_8();
-   add_lvalue_reference_test_9();
-   add_lvalue_reference_test_10();
-   add_lvalue_reference_test_11();
-   add_lvalue_reference_test_12();
-   add_lvalue_reference_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   add_lvalue_reference_test_5a();
-   add_lvalue_reference_test_6a();
-   add_lvalue_reference_test_13a();
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/add_pointer_test.cpp b/SRC/Boost/libs/type_traits/test/add_pointer_test.cpp
deleted file mode 100755
index bad0355..0000000
--- a/SRC/Boost/libs/type_traits/test/add_pointer_test.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/add_pointer.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_1, ::tt::add_pointer, const, const*)
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_2, ::tt::add_pointer, volatile, volatile*)
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_3, ::tt::add_pointer, *, **)
-BOOST_DECL_TRANSFORM_TEST2(add_pointer_test_4, ::tt::add_pointer, *)
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_7, ::tt::add_pointer, *volatile, *volatile*)
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_10, ::tt::add_pointer, const*, const**)
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_11, ::tt::add_pointer, volatile*, volatile**)
-
-TT_TEST_BEGIN(add_pointer)
-
-   add_pointer_test_1();
-   add_pointer_test_2();
-   add_pointer_test_3();
-   add_pointer_test_4();
-   add_pointer_test_7();
-   add_pointer_test_10();
-   add_pointer_test_11();
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/add_reference_test.cpp b/SRC/Boost/libs/type_traits/test/add_reference_test.cpp
deleted file mode 100755
index 888a124..0000000
--- a/SRC/Boost/libs/type_traits/test/add_reference_test.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/add_reference.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_1, ::tt::add_reference, const, const&)
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_2, ::tt::add_reference, volatile, volatile&)
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_3, ::tt::add_reference, *, *&)
-BOOST_DECL_TRANSFORM_TEST2(add_reference_test_4, ::tt::add_reference, &)
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_5, ::tt::add_reference, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_6, ::tt::add_reference, &, &)
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_7, ::tt::add_reference, *volatile, *volatile&)
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_8, ::tt::add_reference, const [2], const (&)[2])
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_9, ::tt::add_reference, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_10, ::tt::add_reference, const*, const*&)
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_11, ::tt::add_reference, volatile*, volatile*&)
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_12, ::tt::add_reference, const[2][3], const (&)[2][3])
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_13, ::tt::add_reference, (&)[2], (&)[2])
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_5a, ::tt::add_reference, const &&, const&&)
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_6a, ::tt::add_reference, &&, &&)
-BOOST_DECL_TRANSFORM_TEST(add_reference_test_13a, ::tt::add_reference, (&&)[2], (&&)[2])
-#endif
-
-TT_TEST_BEGIN(add_reference)
-
-   add_reference_test_1();
-   add_reference_test_2();
-   add_reference_test_3();
-   add_reference_test_4();
-   add_reference_test_5();
-   add_reference_test_6();
-   add_reference_test_7();
-   add_reference_test_8();
-   add_reference_test_9();
-   add_reference_test_10();
-   add_reference_test_11();
-   add_reference_test_12();
-   add_reference_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   add_reference_test_5a();
-   add_reference_test_6a();
-   add_reference_test_13a();
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/add_rvalue_reference_test.cpp b/SRC/Boost/libs/type_traits/test/add_rvalue_reference_test.cpp
deleted file mode 100755
index 5228c71..0000000
--- a/SRC/Boost/libs/type_traits/test/add_rvalue_reference_test.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "../../type_traits/test/test.hpp"
-#include "../../type_traits/test/check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/add_rvalue_reference.hpp>
-#endif
-
-#ifdef BOOST_NO_RVALUE_REFERENCES
-
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_1, ::tt::add_rvalue_reference, const, const)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_2, ::tt::add_rvalue_reference, volatile, volatile)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_3, ::tt::add_rvalue_reference, *, *)
-BOOST_DECL_TRANSFORM_TEST0(add_rvalue_reference_test_4, ::tt::add_rvalue_reference)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_5, ::tt::add_rvalue_reference, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_6, ::tt::add_rvalue_reference, &, &)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_7, ::tt::add_rvalue_reference, *volatile, *volatile)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_8, ::tt::add_rvalue_reference, const [2], const [2])
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_9, ::tt::add_rvalue_reference, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_10, ::tt::add_rvalue_reference, const*, const*)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_11, ::tt::add_rvalue_reference, volatile*, volatile*)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_12, ::tt::add_rvalue_reference, const[2][3], const [2][3])
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_13, ::tt::add_rvalue_reference, (&)[2], (&)[2])
-#else
-
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_1, ::tt::add_rvalue_reference, const, const&&)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_2, ::tt::add_rvalue_reference, volatile, volatile&&)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_3, ::tt::add_rvalue_reference, *, *&&)
-BOOST_DECL_TRANSFORM_TEST2(add_rvalue_reference_test_4, ::tt::add_rvalue_reference, &&)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_5, ::tt::add_rvalue_reference, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_6, ::tt::add_rvalue_reference, &, &)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_7, ::tt::add_rvalue_reference, *volatile, *volatile&&)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_8, ::tt::add_rvalue_reference, const [2], const (&&) [2])
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_9, ::tt::add_rvalue_reference, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_10, ::tt::add_rvalue_reference, const*, const*&&)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_11, ::tt::add_rvalue_reference, volatile*, volatile*&&)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_12, ::tt::add_rvalue_reference, const[2][3], const (&&) [2][3])
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_13, ::tt::add_rvalue_reference, (&)[2], (&)[2])
-
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_5a, ::tt::add_rvalue_reference, const &&, const&&)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_6a, ::tt::add_rvalue_reference, &&, &&)
-BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_13a, ::tt::add_rvalue_reference, (&&)[2], (&&)[2])
-#endif
-
-TT_TEST_BEGIN(add_rvalue_reference)
-
-   add_rvalue_reference_test_1();
-   add_rvalue_reference_test_2();
-   add_rvalue_reference_test_3();
-   add_rvalue_reference_test_4();
-   add_rvalue_reference_test_5();
-   add_rvalue_reference_test_6();
-   add_rvalue_reference_test_7();
-   add_rvalue_reference_test_8();
-   add_rvalue_reference_test_9();
-   add_rvalue_reference_test_10();
-   add_rvalue_reference_test_11();
-   add_rvalue_reference_test_12();
-   add_rvalue_reference_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   add_rvalue_reference_test_5a();
-   add_rvalue_reference_test_6a();
-   add_rvalue_reference_test_13a();
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/add_volatile_test.cpp b/SRC/Boost/libs/type_traits/test/add_volatile_test.cpp
deleted file mode 100755
index 8b4fd68..0000000
--- a/SRC/Boost/libs/type_traits/test/add_volatile_test.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/add_volatile.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_1, ::tt::add_volatile, const, const volatile)
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_2, ::tt::add_volatile, volatile, volatile)
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_3, ::tt::add_volatile, *, *volatile)
-BOOST_DECL_TRANSFORM_TEST2(add_volatile_test_4, ::tt::add_volatile, volatile)
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_7, ::tt::add_volatile, *volatile, *volatile)
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_10, ::tt::add_volatile, const*, const*volatile)
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_11, ::tt::add_volatile, volatile*, volatile*volatile)
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_5, ::tt::add_volatile, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_6, ::tt::add_volatile, &, &)
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_6a, ::tt::add_volatile, &&, &&)
-#endif
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_8, ::tt::add_volatile, const [2], const volatile [2])
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_9, ::tt::add_volatile, volatile &, volatile&)
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_12, ::tt::add_volatile, [2][3], volatile[2][3])
-BOOST_DECL_TRANSFORM_TEST(add_volatile_test_13, ::tt::add_volatile, (&)[2], (&)[2])
-
-TT_TEST_BEGIN(add_volatile)
-
-   add_volatile_test_1();
-   add_volatile_test_2();
-   add_volatile_test_3();
-   add_volatile_test_4();
-   add_volatile_test_7();
-   add_volatile_test_10();
-   add_volatile_test_11();
-   add_volatile_test_5();
-   add_volatile_test_6();
-   add_volatile_test_8();
-   add_volatile_test_9();
-   add_volatile_test_12();
-   add_volatile_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   add_volatile_test_6a();
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/aligned_storage_empy_test.cpp b/SRC/Boost/libs/type_traits/test/aligned_storage_empy_test.cpp
deleted file mode 100755
index 7ccda4c..0000000
--- a/SRC/Boost/libs/type_traits/test/aligned_storage_empy_test.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-
-//  (C) Copyright Thorsten Ottosen 2009. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#  include <boost/type_traits/type_with_alignment.hpp> // max_align and long_long_type
-#else
-#  include <boost/type_traits/alignment_of.hpp>
-#  include <boost/type_traits/aligned_storage.hpp>
-#  include <boost/type_traits/is_pod.hpp>
-#endif
-
-
-namespace
-{
-    template< unsigned N, unsigned Alignment >
-    struct alignment_implementation1
-    {
-        boost::detail::aligned_storage::aligned_storage_imp<N,Alignment> type;
-        const void* address() const { return type.address(); }
-    };
-    
-    template< unsigned N, unsigned Alignment >
-    struct alignment_implementation2 : 
-#ifndef __BORLANDC__
-       private 
-#else
-       public
-#endif
-       boost::detail::aligned_storage::aligned_storage_imp<N,Alignment>
-    {
-        typedef boost::detail::aligned_storage::aligned_storage_imp<N,Alignment> type;
-        const void* address() const { return static_cast<const type*>(this)->address(); }
-    };
-    
-    template< unsigned N, class T >
-    std::ptrdiff_t get_address1()
-    {
-        static alignment_implementation1<N*sizeof(T), tt::alignment_of<T>::value> imp1;
-        return static_cast<const char*>(imp1.address()) - reinterpret_cast<const char*>(&imp1);
-    }
-
-    template< unsigned N, class T >
-    std::ptrdiff_t get_address2()
-    {
-        static alignment_implementation2<N*sizeof(T), tt::alignment_of<T>::value> imp2;
-        return static_cast<const char*>(imp2.address()) - reinterpret_cast<const char*>(&imp2);
-    }
-
-    template< class T >
-    void do_check()
-    {
-        std::ptrdiff_t addr1 = get_address1<0,T>();
-        std::ptrdiff_t addr2 = get_address2<0,T>();
-        //
-        // @remark: only the empty case differs
-        //
-        BOOST_CHECK( addr1 != addr2 );
-        
-        addr1 = get_address1<1,T>();
-        addr2 = get_address2<1,T>();
-        BOOST_CHECK( addr1 == addr2 );
-
-        addr1 = get_address1<2,T>();
-        addr2 = get_address2<2,T>();
-        BOOST_CHECK( addr1 == addr2 );
-
-        addr1 = get_address1<3,T>();
-        addr2 = get_address2<3,T>();
-        BOOST_CHECK( addr1 == addr2 );
-
-        addr1 = get_address1<4,T>();
-        addr2 = get_address2<4,T>();
-        BOOST_CHECK( addr1 == addr2 );
-
-        addr1 = get_address1<17,T>();
-        addr2 = get_address2<17,T>();
-        BOOST_CHECK( addr1 == addr2 );
-
-        addr1 = get_address1<32,T>();
-        addr2 = get_address2<32,T>();
-        BOOST_CHECK( addr1 == addr2 );
-    }
-}
-
-TT_TEST_BEGIN(type_with_empty_alignment_buffer)
-
-do_check<char>();
-do_check<short>();
-do_check<int>();
-do_check<long>();
-do_check<float>();
-do_check<double>();
-do_check<long double>();
-
-#ifdef BOOST_HAS_MS_INT64
-do_check<__int64>();
-#endif
-#ifdef BOOST_HAS_LONG_LONG
-do_check<boost::long_long_type>();
-#endif
-
-do_check<int(*)(int)>();
-do_check<int*>();
-do_check<VB>();
-do_check<VD>();
-do_check<enum_UDT>();
-do_check<mf2>();
-do_check<POD_UDT>();
-do_check<empty_UDT>();
-do_check<union_UDT>();
-do_check<boost::detail::max_align>();
-
-TT_TEST_END
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/aligned_storage_test.cpp b/SRC/Boost/libs/type_traits/test/aligned_storage_test.cpp
deleted file mode 100755
index 40817c5..0000000
--- a/SRC/Boost/libs/type_traits/test/aligned_storage_test.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#  include <boost/type_traits/type_with_alignment.hpp> // max_align and long_long_type
-#else
-#  include <boost/type_traits/alignment_of.hpp>
-#  include <boost/type_traits/aligned_storage.hpp>
-#  include <boost/type_traits/is_pod.hpp>
-#endif
-
-template <class T>
-union must_be_pod
-{
-   int i;
-   T t;
-};
-
-template <class T>
-inline void no_unused_warning(const volatile T&)
-{
-}
-
-#if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(BOOST_INTEL)
-#pragma GCC diagnostic ignored "-Wmissing-braces"
-#endif
-
-template <class T>
-void do_check(const T&)
-{
-   typedef typename tt::aligned_storage<T::value,T::value>::type t1;
-   t1 as1 = { 0, };
-   must_be_pod<t1> pod1;
-   no_unused_warning(as1);
-   no_unused_warning(pod1);
-   BOOST_TEST_MESSAGE(typeid(t1).name());
-   BOOST_CHECK(::tt::alignment_of<t1>::value == T::value);
-   BOOST_CHECK(sizeof(t1) == T::value);
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-   BOOST_CHECK(::tt::is_pod<t1>::value == true);
-#endif
-   typedef typename tt::aligned_storage<T::value*2,T::value>::type t2;
-   t2 as2 = { 0, };
-   must_be_pod<t2> pod2;
-   no_unused_warning(as2);
-   no_unused_warning(pod2);
-   BOOST_TEST_MESSAGE(typeid(t2).name());
-   BOOST_CHECK(::tt::alignment_of<t2>::value == T::value);
-   BOOST_CHECK(sizeof(t2) == T::value*2);
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-   BOOST_CHECK(::tt::is_pod<t2>::value == true);
-#endif
-
-#ifndef TEST_STD
-   // Non-Tr1 behaviour:
-   typedef typename tt::aligned_storage<T::value, ~static_cast<std::size_t>(0UL)>::type t3;
-   t3 as3 = { 0, };
-   must_be_pod<t3> pod3;
-   no_unused_warning(as3);
-   no_unused_warning(pod3);
-   BOOST_TEST_MESSAGE(typeid(t3).name());
-   BOOST_CHECK(::tt::alignment_of<t3>::value == ::tt::alignment_of< ::boost::detail::max_align>::value);
-   BOOST_CHECK((sizeof(t3) % T::value) == 0);
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-   BOOST_CHECK(::tt::is_pod<t3>::value == true);
-#endif
-   BOOST_CHECK(as3.address() == &as3);
-   const t3 as4 = { 0, };
-   BOOST_CHECK(as4.address() == static_cast<const void*>(&as4));
-#endif
-}
-
-TT_TEST_BEGIN(type_with_alignment)
-
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<char>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<short>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<int>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<long>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<float>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<double>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<long double>::value>());
-
-#ifdef BOOST_HAS_LONG_LONG
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of< ::boost::long_long_type>::value>());
-#endif
-#ifdef BOOST_HAS_MS_INT64
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<__int64>::value>());
-#endif
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<int[4]>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<int(*)(int)>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<int*>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<VB>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<VD>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<enum_UDT>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<mf2>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<POD_UDT>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<empty_UDT>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<union_UDT>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<boost::detail::max_align>::value>());
-
-TT_TEST_END
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/aligned_storage_test_a2.cpp b/SRC/Boost/libs/type_traits/test/aligned_storage_test_a2.cpp
deleted file mode 100755
index 8aa97b9..0000000
--- a/SRC/Boost/libs/type_traits/test/aligned_storage_test_a2.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-
-#ifdef _MSC_VER
-#pragma pack(2)
-#endif
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#  include <boost/type_traits/type_with_alignment.hpp> // max_align and long_long_type
-#else
-#  include <boost/type_traits/alignment_of.hpp>
-#  include <boost/type_traits/aligned_storage.hpp>
-#  include <boost/type_traits/is_pod.hpp>
-#endif
-
-template <class T>
-union must_be_pod
-{
-   int i;
-   T t;
-};
-
-template <class T>
-inline void no_unused_warning(const volatile T&)
-{
-}
-
-template <class T>
-void do_check(const T&)
-{
-   typedef typename tt::aligned_storage<T::value,T::value>::type t1;
-   t1 as1 = { 0, };
-   must_be_pod<t1> pod1;
-   no_unused_warning(as1);
-   no_unused_warning(pod1);
-   BOOST_TEST_MESSAGE(typeid(t1).name());
-   BOOST_CHECK(::tt::alignment_of<t1>::value == T::value);
-   BOOST_CHECK(sizeof(t1) == T::value);
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-   BOOST_CHECK(::tt::is_pod<t1>::value == true);
-#endif
-   typedef typename tt::aligned_storage<T::value*2,T::value>::type t2;
-   t2 as2 = { 0, };
-   must_be_pod<t2> pod2;
-   no_unused_warning(as2);
-   no_unused_warning(pod2);
-   BOOST_TEST_MESSAGE(typeid(t2).name());
-   BOOST_CHECK(::tt::alignment_of<t2>::value == T::value);
-   BOOST_CHECK(sizeof(t2) == T::value*2);
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-   BOOST_CHECK(::tt::is_pod<t2>::value == true);
-#endif
-
-#ifndef TEST_STD
-   // Non-Tr1 behaviour:
-   typedef typename tt::aligned_storage<T::value,-1L>::type t3;
-   t3 as3 = { 0, };
-   must_be_pod<t3> pod3;
-   no_unused_warning(as3);
-   no_unused_warning(pod3);
-   BOOST_TEST_MESSAGE(typeid(t3).name());
-   BOOST_CHECK(::tt::alignment_of<t3>::value == ::tt::alignment_of< ::boost::detail::max_align>::value);
-   BOOST_CHECK((sizeof(t3) % T::value) == 0);
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-   BOOST_CHECK(::tt::is_pod<t3>::value == true);
-#endif
-#endif
-}
-
-TT_TEST_BEGIN(type_with_alignment)
-
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<char>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<short>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<int>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<long>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<float>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<double>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<long double>::value>());
-
-#ifdef BOOST_HAS_LONG_LONG
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of< ::boost::long_long_type>::value>());
-#endif
-#ifdef BOOST_HAS_MS_INT64
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<__int64>::value>());
-#endif
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<int[4]>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<int(*)(int)>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<int*>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<VB>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<VD>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<enum_UDT>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<mf2>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<POD_UDT>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<empty_UDT>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<union_UDT>::value>());
-do_check(tt::integral_constant<std::size_t,::tt::alignment_of<boost::detail::max_align>::value>());
-
-TT_TEST_END
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/alignment_of_a2_test.cpp b/SRC/Boost/libs/type_traits/test/alignment_of_a2_test.cpp
deleted file mode 100755
index 5015c14..0000000
--- a/SRC/Boost/libs/type_traits/test/alignment_of_a2_test.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-
-#ifdef _MSC_VER
-#pragma pack(2)
-#endif
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/alignment_of.hpp>
-#endif
-
-//
-// Need to defined some member functions for empty_UDT,
-// we don't want to put these in the test.hpp as that
-// causes overly-clever compilers to figure out that they can't throw
-// which in turn breaks other tests.
-//
-empty_UDT::empty_UDT(){}
-empty_UDT::~empty_UDT(){}
-empty_UDT::empty_UDT(const empty_UDT&){}
-empty_UDT& empty_UDT::operator=(const empty_UDT&){ return *this; }
-bool empty_UDT::operator==(const empty_UDT&)const{ return true; }
-
-
-//
-// VC++ emits an awful lot of warnings unless we define these:
-#ifdef BOOST_MSVC
-#  pragma warning(disable:4244 4121)
-//
-// What follows here is the test case for issue 1946.
-//
-#include <boost/function.hpp>
-// This kind of packing is set within MSVC 9.0 headers.
-// E.g. std::ostream has it.
-#pragma pack(push,8)
-
-// The issue is gone if Root has no data members
-struct Root { int a; };
-// The issue is gone if Root is inherited non-virtually
-struct A : virtual public Root {};
-
-#pragma pack(pop)
-//
-// This class has 8-byte alignment but is 44 bytes in size, which means 
-// that elements in an array of this type will not actually be 8 byte
-// aligned.  This appears to be an MSVC bug, and throws off our 
-// alignment calculations: causing us to report a non-sensical 12-byte
-// alignment for this type.  This is fixed by using the native __alignof
-// operator.
-//
-class issue1946 :
-    public A
-{
-public:
-    // The issue is gone if the type is not a boost::function. The signature doesn't matter.
-    typedef boost::function0< void > function_type;
-    function_type m_function;
-};
-
-#endif
-
-
-template <class T>
-struct align_calc
-{
-   char padding;
-   T instance;
-   static std::ptrdiff_t get()
-   {
-      static align_calc<T> a;
-      return reinterpret_cast<const char*>(&(a.instance)) - reinterpret_cast<const char*>(&(a.padding));
-   }
-};
-
-#define ALIGNOF(x) align_calc< x>::get()
-
-TT_TEST_BEGIN(alignment_of)
-
-#ifndef TEST_STD
-// This test is not required to work for non-boost implementations:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<void>::value, 0);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<char>::value, ALIGNOF(char));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<short>::value, ALIGNOF(short));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<int>::value, ALIGNOF(int));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<long>::value, ALIGNOF(long));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<float>::value, ALIGNOF(float));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<double>::value, ALIGNOF(double));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<long double>::value, ALIGNOF(long double));
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of< ::boost::long_long_type>::value, ALIGNOF(::boost::long_long_type));
-#endif
-#ifdef BOOST_HAS_MS_INT64
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<__int64>::value, ALIGNOF(__int64));
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<int[4]>::value, ALIGNOF(int[4]));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<int(*)(int)>::value, ALIGNOF(int(*)(int)));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<int*>::value, ALIGNOF(int*));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<VB>::value, ALIGNOF(VB));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<VD>::value, ALIGNOF(VD));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<enum_UDT>::value, ALIGNOF(enum_UDT));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<mf2>::value, ALIGNOF(mf2));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<POD_UDT>::value, ALIGNOF(POD_UDT));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<empty_UDT>::value, ALIGNOF(empty_UDT));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<union_UDT>::value, ALIGNOF(union_UDT));
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400)
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<issue1946>::value, ALIGNOF(issue1946));
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/alignment_of_test.cpp b/SRC/Boost/libs/type_traits/test/alignment_of_test.cpp
deleted file mode 100755
index 67b961a..0000000
--- a/SRC/Boost/libs/type_traits/test/alignment_of_test.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/alignment_of.hpp>
-#endif
-
-//
-// Need to defined some member function for empty_UDT,
-// we don't want to put these in the test.hpp as that
-// causes overly-clever compilers to figure out that they can't throw
-// which in turn breaks other tests.
-//
-empty_UDT::empty_UDT(){}
-empty_UDT::~empty_UDT(){}
-empty_UDT::empty_UDT(const empty_UDT&){}
-empty_UDT& empty_UDT::operator=(const empty_UDT&){ return *this; }
-bool empty_UDT::operator==(const empty_UDT&)const{ return true; }
-
-//
-// VC++ emits an awful lot of warnings unless we define these:
-#ifdef BOOST_MSVC
-#  pragma warning(disable:4244)
-//
-// What follows here is the test case for issue 1946.
-//
-#include <boost/function.hpp>
-// This kind of packing is set within MSVC 9.0 headers.
-// E.g. std::ostream has it.
-#pragma pack(push,8)
-
-// The issue is gone if Root has no data members
-struct Root { int a; };
-// The issue is gone if Root is inherited non-virtually
-struct A : virtual public Root {};
-
-#pragma pack(pop)
-//
-// This class has 8-byte alignment but is 44 bytes in size, which means 
-// that elements in an array of this type will not actually be 8 byte
-// aligned.  This appears to be an MSVC bug, and throws off our 
-// alignment calculations: causing us to report a non-sensical 12-byte
-// alignment for this type.  This is fixed by using the native __alignof
-// operator.
-//
-class issue1946 :
-    public A
-{
-public:
-    // The issue is gone if the type is not a boost::function. The signature doesn't matter.
-    typedef boost::function0< void > function_type;
-    function_type m_function;
-};
-
-#endif
-
-
-template <class T>
-struct align_calc
-{
-   char padding;
-   T instance;
-   static std::ptrdiff_t get()
-   {
-      static align_calc<T> a;
-      return reinterpret_cast<const char*>(&(a.instance)) - reinterpret_cast<const char*>(&(a.padding));
-   }
-};
-
-#define ALIGNOF(x) align_calc< x>::get()
-
-TT_TEST_BEGIN(alignment_of)
-
-#ifndef TEST_STD
-// This test is not required to work for non-boost implementations:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<void>::value, 0);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<char>::value, ALIGNOF(char));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<short>::value, ALIGNOF(short));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<int>::value, ALIGNOF(int));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<long>::value, ALIGNOF(long));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<float>::value, ALIGNOF(float));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<double>::value, ALIGNOF(double));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<long double>::value, ALIGNOF(long double));
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of< ::boost::long_long_type>::value, ALIGNOF(::boost::long_long_type));
-#endif
-#ifdef BOOST_HAS_MS_INT64
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<__int64>::value, ALIGNOF(__int64));
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<int[4]>::value, ALIGNOF(int[4]));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<int(*)(int)>::value, ALIGNOF(int(*)(int)));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<int*>::value, ALIGNOF(int*));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<VB>::value, ALIGNOF(VB));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<VD>::value, ALIGNOF(VD));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<enum_UDT>::value, ALIGNOF(enum_UDT));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<mf2>::value, ALIGNOF(mf2));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<POD_UDT>::value, ALIGNOF(POD_UDT));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<empty_UDT>::value, ALIGNOF(empty_UDT));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<union_UDT>::value, ALIGNOF(union_UDT));
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400)
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<issue1946>::value, ALIGNOF(issue1946));
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/check_integral_constant.hpp b/SRC/Boost/libs/type_traits/test/check_integral_constant.hpp
deleted file mode 100755
index ec9983e..0000000
--- a/SRC/Boost/libs/type_traits/test/check_integral_constant.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_CHECK_INTEGRAL_CONSTANT_HPP
-#define BOOST_CHECK_INTEGRAL_CONSTANT_HPP
-
-#ifdef USE_UNIT_TEST
-#include <boost/test/test_tools.hpp>
-#else
-#include "test.hpp"
-#endif
-
-namespace boost{
-   namespace detail{
-
-      /*
-      macro:
-      BOOST_CHECK_INTEGRAL_CONSTANT(expression, expected_value)
-
-      expression:     an integral constant expression to check.
-      expected_value: the value expected.
-      */
-
-      template <long test_value>
-      struct integral_constant
-      {
-         static long value() { return test_value; }
-      };
-
-      template <class T, class U>
-      bool tt_compare(T found, U expected)
-      { return static_cast<U>(found) == expected; }
-
-#define BOOST_CHECK_INTEGRAL_CONSTANT(expression, expected_value)\
-   if(!::boost::detail::tt_compare(::boost::detail::integral_constant<(int)(expression)>::value(), (int)expression)){\
-      BOOST_CHECK_MESSAGE(false, "The expression: \"" << BOOST_STRINGIZE(expression) << "\" had differing values depending upon whether it was used as an integral constant expression or not");\
-   }else{\
-      BOOST_CHECK_MESSAGE(true, "Validating Integral Constant Expression: \"" << BOOST_STRINGIZE(expression) << "\"");\
-   }\
-   if(!::boost::detail::tt_compare((int)expression, expected_value))\
-      BOOST_CHECK_MESSAGE(false, "The expression: \"" << BOOST_STRINGIZE(expression) << "\" had an invalid value (found " << ::boost::detail::integral_constant<(int)(expression)>::value() << ", expected " << expected_value << ")" )
-
-      /*
-      macro:
-      BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(expression, expected_value, alternate_value)
-
-      expression:      an integral constant expression to check.
-      expected_value:  the value expected.
-      alternate_value: an alternative value that results is a warning not a failure if found.
-      */
-
-#define BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(expression, expected_value, alternate_value)\
-   if(!::boost::detail::tt_compare(::boost::detail::integral_constant<(int)(expression)>::value(), (int)expression)){\
-      BOOST_CHECK_MESSAGE(false, "The expression: \"" << BOOST_STRINGIZE(expression) << "\" had differing values depending upon whether it was used as an integral constant expression or not");\
-   }else{\
-      BOOST_CHECK_MESSAGE(true, "Validating Integral Constant Expression: \"" << BOOST_STRINGIZE(expression) << "\"");\
-   }\
-   if(!::boost::detail::tt_compare((int)expression, expected_value))\
-   {\
-      if(!::boost::detail::tt_compare((int)expression, alternate_value))\
-      {\
-         BOOST_CHECK_MESSAGE(false, "The expression: \"" << BOOST_STRINGIZE(expression) << "\" had an invalid value (found " << ::boost::detail::integral_constant<(int)(expression)>::value() << ", expected " << expected_value << ")" );\
-      }\
-      else\
-      {\
-         BOOST_WARN_MESSAGE(false, "<note>The expression: \"" << BOOST_STRINGIZE(expression) << "\" did not have the value we wish it to have (found " << ::boost::detail::integral_constant<(int)(expression)>::value() << ", expected " << expected_value << ")</note>" );\
-      }\
-    }
-
-
-   }//detail
-}//boost
-
-
-#endif
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/check_type.hpp b/SRC/Boost/libs/type_traits/test/check_type.hpp
deleted file mode 100755
index c9c6adb..0000000
--- a/SRC/Boost/libs/type_traits/test/check_type.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_CHECK_TYPE_HPP
-#define BOOST_CHECK_TYPE_HPP
-
-#ifdef USE_UNIT_TEST
-#include <boost/test/test_tools.hpp>
-#else
-#include "test.hpp"
-#endif
-#include <boost/type_traits/is_same.hpp>
-
-/*
-macro:
-BOOST_CHECK_TYPE(type_expression, expected_type)
-
-type_expression:  an expression that evaluates to a typename.
-expected_value:   the type we expect to find.
-*/
-
-#ifdef __BORLANDC__
-#pragma option -w-8008 -w-8066 -w-8019
-#endif
-
-
-#define BOOST_CHECK_TYPE(type_expression, expected_type)\
-do{\
-   if(!::boost::is_same< type_expression, expected_type >::value){\
-   BOOST_CHECK_MESSAGE(false, "The expression: \"" << BOOST_STRINGIZE(expression)\
-      << "\" did not have the expected type:\n\tevaluating:   boost::is_same<"\
-      << BOOST_STRINGIZE(type_expression) << ", " << BOOST_STRINGIZE(expected_type)\
-      << ">" << "\n\tfound:        "\
-      << typeid(::boost::is_same< type_expression, expected_type >).name());\
-   }else\
-      BOOST_CHECK_MESSAGE(true, "Validating Type Expression: \""\
-         << BOOST_STRINGIZE(expression) << "\"");\
-}while(0)
-
-#define BOOST_CHECK_TYPE3(type_expression, type_expression_suffix, expected_type)\
-do{\
-   if(!::boost::is_same< type_expression, type_expression_suffix, expected_type >::value){\
-   BOOST_CHECK_MESSAGE(false, "The expression: \"" << BOOST_STRINGIZE(expression)\
-      << "\" did not have the expected type:\n\tevaluating:   boost::is_same<"\
-      << BOOST_STRINGIZE((type_expression, type_expression_suffix)) << ", " << BOOST_STRINGIZE(expected_type)\
-      << ">" << "\n\tfound:        "\
-      << typeid(::boost::is_same< type_expression, type_expression_suffix, expected_type >).name());\
-   }else\
-      BOOST_CHECK_MESSAGE(true, "Validating Type Expression: \""\
-         << BOOST_STRINGIZE(expression) << "\"");\
-}while(0)
-
-#define BOOST_CHECK_TYPE4(type_expression, suffix1, suffix2, expected_type)\
-do{\
-   if(!::boost::is_same< type_expression, suffix1, suffix2, expected_type >::value){\
-   BOOST_CHECK_MESSAGE(false, "The expression: \"" << BOOST_STRINGIZE(expression)\
-      << "\" did not have the expected type:\n\tevaluating:   boost::is_same<"\
-      << BOOST_STRINGIZE((type_expression, suffix1, suffix2)) << ", " << BOOST_STRINGIZE(expected_type)\
-      << ">" << "\n\tfound:        "\
-      << typeid(::boost::is_same< type_expression, suffix1, suffix2, expected_type >).name());\
-   }else\
-      BOOST_CHECK_MESSAGE(true, "Validating Type Expression: \""\
-         << BOOST_STRINGIZE(expression) << "\"");\
-}while(0)
-
-#endif
-
-
diff --git a/SRC/Boost/libs/type_traits/test/common_type_2_test.cpp b/SRC/Boost/libs/type_traits/test/common_type_2_test.cpp
deleted file mode 100755
index 25d3c77..0000000
--- a/SRC/Boost/libs/type_traits/test/common_type_2_test.cpp
+++ /dev/null
@@ -1,217 +0,0 @@
-//  common_type_test.cpp  ----------------------------------------------------//
-
-//  Copyright 2010 Beman Dawes
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#define BOOST_COMMON_TYPE_DONT_USE_TYPEOF 1
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/common_type.hpp>
-#endif
-#include <iostream>
-
-#ifdef BOOST_INTEL
-#pragma warning(disable: 304 383)
-#endif
-
-struct C1 {};
-    
-struct C2 {};
-
-    
-struct C3 : C2 {};
-struct C1C2 {
-    C1C2() {}
-    C1C2(C1 const&) {}
-    C1C2(C2 const&) {}
-    C1C2& operator=(C1C2 const&) {
-        return *this;
-    }
-};
-
-template <typename C, typename A>
-void proc2(typename boost::common_type<A, C>::type const& ) {}
-
-template <typename C, typename A, typename B>
-void proc3(typename boost::common_type<C, A, B>::type const& ) {}
-
-template <typename C, typename A>
-void assignation_2() {
-typedef typename boost::common_type<A, C>::type AC;
-    A a;
-    C c;
-    AC ac;
-    ac=a;
-    ac=c;
-
-    proc2<C, A>(a);
-    proc2<C, A>(c);
-    
-}
-
-template <typename C, typename A, typename B>
-void assignation_3() {
-typedef typename boost::common_type<C, A, B>::type ABC;
-    A a;
-    B b;
-    C c;
-    ABC abc;
-    
-    abc=a;
-    abc=b;
-    abc=c;
-    
-    proc3<C, A, B>(a);
-    proc3<C, A, B>(b);
-    proc3<C, A, B>(c);
-}
-
-C1C2 c1c2;
-C1 c1;
-
-int f(C1C2 ) { return 1;}
-int f(C1 ) { return 2;}
-template <typename OSTREAM>
-OSTREAM& operator<<(OSTREAM& os, C1 const&) {return os;}
-
-C1C2& declval_C1C2() {return c1c2;}
-C1& declval_C1(){return c1;}
-bool declval_bool(){return true;}
-
-
-TT_TEST_BEGIN(common_type)
-{
-#ifndef __SUNPRO_CC
-    assignation_2<C1C2, C1>();
-    typedef tt::common_type<C1C2&, C1&>::type T1;
-    typedef tt::common_type<C3*, C2*>::type T2;
-    typedef tt::common_type<int*, int const*>::type T3;
-#if defined(BOOST_NO_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
-    // fails if BOOST_COMMON_TYPE_DONT_USE_TYPEOF:
-    typedef tt::common_type<int volatile*, int const*>::type T4;
-#endif
-    typedef tt::common_type<int*, int volatile*>::type T5;
-
-    assignation_2<C1, C1C2>();
-    assignation_2<C1C2, C2>();
-    assignation_2<C2, C1C2>();
-    assignation_3<C1, C1C2, C2>();
-    assignation_3<C1C2, C1, C2>();
-    assignation_3<C2, C1C2, C1>();
-    assignation_3<C1C2, C2, C1>();
-    //assignation_3<C1, C2, C1C2>(); // fails because the common type is the third
-#endif
-
-    typedef tt::common_type<C1C2, C1>::type t1;
-    BOOST_CHECK_TYPE(t1, C1C2);
-
-    BOOST_CHECK_TYPE(tt::common_type<int>::type, int);
-    BOOST_CHECK_TYPE(tt::common_type<char>::type, char);
-    
-    BOOST_CHECK_TYPE3(tt::common_type<char, char>::type, char);
-    BOOST_CHECK_TYPE3(tt::common_type<char, unsigned char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<char, short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<char, unsigned short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<char, int>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<char, unsigned int>::type, unsigned int);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<char, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<char, boost::ulong_long_type>::type, boost::ulong_long_type);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<char, double>::type, double);
-
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, unsigned char>::type, unsigned char);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, unsigned short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, int>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, unsigned int>::type, unsigned int);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, boost::ulong_long_type>::type, boost::ulong_long_type);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, double>::type, double);
-    
-    BOOST_CHECK_TYPE3(tt::common_type<short, char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<short, unsigned char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<short, short>::type, short);
-    BOOST_CHECK_TYPE3(tt::common_type<short, unsigned short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<short, int>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<short, unsigned int>::type, unsigned int);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<short, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<short, boost::ulong_long_type>::type, boost::ulong_long_type);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<short, double>::type, double);
-
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, unsigned char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, unsigned short>::type, unsigned short);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, int>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, unsigned int>::type, unsigned int);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, boost::ulong_long_type>::type, boost::ulong_long_type);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, double>::type, double);
-
-    BOOST_CHECK_TYPE3(tt::common_type<int, char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<int, unsigned char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<int, short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<int, unsigned short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<int, int>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<int, unsigned int>::type, unsigned int);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<int, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<int, boost::ulong_long_type>::type, boost::ulong_long_type);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<int, double>::type, double);
-
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, char>::type, unsigned int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, unsigned char>::type, unsigned int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, short>::type, unsigned int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, unsigned short>::type, unsigned int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, int>::type, unsigned int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, unsigned int>::type, unsigned int);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, boost::ulong_long_type>::type, boost::ulong_long_type);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, double>::type, double);
-
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, char>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, unsigned char>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, short>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, unsigned short>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, int>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, unsigned int>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, boost::ulong_long_type>::type, boost::ulong_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, double>::type, double);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<double, char>::type, double);
-    BOOST_CHECK_TYPE3(tt::common_type<double, unsigned char>::type, double);
-    BOOST_CHECK_TYPE3(tt::common_type<double, short>::type, double);
-    BOOST_CHECK_TYPE3(tt::common_type<double, unsigned short>::type, double);
-    BOOST_CHECK_TYPE3(tt::common_type<double, int>::type, double);
-    BOOST_CHECK_TYPE3(tt::common_type<double, unsigned int>::type, double);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<double, boost::long_long_type>::type, double);
-    BOOST_CHECK_TYPE3(tt::common_type<double, boost::ulong_long_type>::type, double);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<double, double>::type, double);
-    
-    BOOST_CHECK_TYPE4(tt::common_type<double, char, int>::type, double);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE4(tt::common_type<unsigned, char, boost::long_long_type>::type, boost::long_long_type);
-#endif
-}
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/common_type_fail.cpp b/SRC/Boost/libs/type_traits/test/common_type_fail.cpp
deleted file mode 100755
index 59b0915..0000000
--- a/SRC/Boost/libs/type_traits/test/common_type_fail.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//  common_type_test.cpp  ----------------------------------------------------//
-
-//  Copyright 2010 Beman Dawes
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#define _CRT_SECURE_NO_WARNINGS  // disable VC++ foolishness
-
-#include "test.hpp"
-#ifndef TEST_STD 
-#include <boost/type_traits/common_type.hpp>
-#else
-#include <type_traits>
-#endif
-
-struct C1 {
-    //~ private:
-        //~ C1();
-};
-    
-struct C2 {};
-
-
-
-typedef tt::common_type<C1, C2>::type AC;
-
diff --git a/SRC/Boost/libs/type_traits/test/common_type_test.cpp b/SRC/Boost/libs/type_traits/test/common_type_test.cpp
deleted file mode 100755
index 9b01cca..0000000
--- a/SRC/Boost/libs/type_traits/test/common_type_test.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-//  common_type_test.cpp  ----------------------------------------------------//
-
-//  Copyright 2010 Beman Dawes
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/common_type.hpp>
-#endif
-#include <iostream>
-
-#ifdef BOOST_INTEL
-#pragma warning(disable: 304 383)
-#endif
-
-struct C1 {};
-    
-struct C2 {};
-
-    
-struct C3 : C2 {};
-struct C1C2 {
-    C1C2() {}
-    C1C2(C1 const&) {}
-    C1C2(C2 const&) {}
-    C1C2& operator=(C1C2 const&) {
-        return *this;
-    }
-};
-
-template <typename C, typename A>
-void proc2(typename boost::common_type<A, C>::type const& ) {}
-
-template <typename C, typename A, typename B>
-void proc3(typename boost::common_type<C, A, B>::type const& ) {}
-
-template <typename C, typename A>
-void assignation_2() {
-typedef typename boost::common_type<A, C>::type AC;
-    A a;
-    C c;
-    AC ac;
-    ac=a;
-    ac=c;
-
-    proc2<C, A>(a);
-    proc2<C, A>(c);
-    
-}
-
-template <typename C, typename A, typename B>
-void assignation_3() {
-typedef typename boost::common_type<C, A, B>::type ABC;
-    A a;
-    B b;
-    C c;
-    ABC abc;
-    
-    abc=a;
-    abc=b;
-    abc=c;
-    
-    proc3<C, A, B>(a);
-    proc3<C, A, B>(b);
-    proc3<C, A, B>(c);
-}
-
-C1C2 c1c2;
-C1 c1;
-
-int f(C1C2 ) { return 1;}
-int f(C1 ) { return 2;}
-template <typename OSTREAM>
-OSTREAM& operator<<(OSTREAM& os, C1 const&) {return os;}
-
-C1C2& declval_C1C2() {return c1c2;}
-C1& declval_C1(){return c1;}
-bool declval_bool(){return true;}
-
-
-TT_TEST_BEGIN(common_type)
-{
-    assignation_2<C1C2, C1>();
-    typedef tt::common_type<C1C2&, C1&>::type T1;
-    typedef tt::common_type<C3*, C2*>::type T2;
-    typedef tt::common_type<int*, int const*>::type T3;
-#if defined(BOOST_NO_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
-    // fails if BOOST_COMMON_TYPE_DONT_USE_TYPEOF:
-    typedef tt::common_type<int volatile*, int const*>::type T4;
-#endif
-    typedef tt::common_type<int*, int volatile*>::type T5;
-
-    assignation_2<C1, C1C2>();
-    assignation_2<C1C2, C2>();
-    assignation_2<C2, C1C2>();
-    assignation_3<C1, C1C2, C2>();
-    assignation_3<C1C2, C1, C2>();
-    assignation_3<C2, C1C2, C1>();
-    assignation_3<C1C2, C2, C1>();
-    //assignation_3<C1, C2, C1C2>(); // fails because the common type is the third
-
-    BOOST_CHECK_TYPE(tt::common_type<int>::type, int);
-    BOOST_CHECK_TYPE(tt::common_type<char>::type, char);
-    
-    BOOST_CHECK_TYPE3(tt::common_type<char, char>::type, char);
-    BOOST_CHECK_TYPE3(tt::common_type<char, unsigned char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<char, short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<char, unsigned short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<char, int>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<char, unsigned int>::type, unsigned int);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<char, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<char, boost::ulong_long_type>::type, boost::ulong_long_type);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<char, double>::type, double);
-
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, unsigned char>::type, unsigned char);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, unsigned short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, int>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, unsigned int>::type, unsigned int);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, boost::ulong_long_type>::type, boost::ulong_long_type);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned char, double>::type, double);
-    
-    BOOST_CHECK_TYPE3(tt::common_type<short, char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<short, unsigned char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<short, short>::type, short);
-    BOOST_CHECK_TYPE3(tt::common_type<short, unsigned short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<short, int>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<short, unsigned int>::type, unsigned int);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<short, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<short, boost::ulong_long_type>::type, boost::ulong_long_type);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<short, double>::type, double);
-
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, unsigned char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, unsigned short>::type, unsigned short);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, int>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, unsigned int>::type, unsigned int);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, boost::ulong_long_type>::type, boost::ulong_long_type);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned short, double>::type, double);
-
-    BOOST_CHECK_TYPE3(tt::common_type<int, char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<int, unsigned char>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<int, short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<int, unsigned short>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<int, int>::type, int);
-    BOOST_CHECK_TYPE3(tt::common_type<int, unsigned int>::type, unsigned int);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<int, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<int, boost::ulong_long_type>::type, boost::ulong_long_type);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<int, double>::type, double);
-
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, char>::type, unsigned int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, unsigned char>::type, unsigned int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, short>::type, unsigned int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, unsigned short>::type, unsigned int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, int>::type, unsigned int);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, unsigned int>::type, unsigned int);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, boost::ulong_long_type>::type, boost::ulong_long_type);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<unsigned int, double>::type, double);
-
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, char>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, unsigned char>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, short>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, unsigned short>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, int>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, unsigned int>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, boost::long_long_type>::type, boost::long_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, boost::ulong_long_type>::type, boost::ulong_long_type);
-    BOOST_CHECK_TYPE3(tt::common_type<boost::long_long_type, double>::type, double);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<double, char>::type, double);
-    BOOST_CHECK_TYPE3(tt::common_type<double, unsigned char>::type, double);
-    BOOST_CHECK_TYPE3(tt::common_type<double, short>::type, double);
-    BOOST_CHECK_TYPE3(tt::common_type<double, unsigned short>::type, double);
-    BOOST_CHECK_TYPE3(tt::common_type<double, int>::type, double);
-    BOOST_CHECK_TYPE3(tt::common_type<double, unsigned int>::type, double);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE3(tt::common_type<double, boost::long_long_type>::type, double);
-    BOOST_CHECK_TYPE3(tt::common_type<double, boost::ulong_long_type>::type, double);
-#endif
-    BOOST_CHECK_TYPE3(tt::common_type<double, double>::type, double);
-    
-    BOOST_CHECK_TYPE4(tt::common_type<double, char, int>::type, double);
-#ifndef BOOST_NO_LONG_LONG
-    BOOST_CHECK_TYPE4(tt::common_type<unsigned, char, boost::long_long_type>::type, boost::long_long_type);
-#endif
-}
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/conditional_test.cpp b/SRC/Boost/libs/type_traits/test/conditional_test.cpp
deleted file mode 100755
index b03325f..0000000
--- a/SRC/Boost/libs/type_traits/test/conditional_test.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-//  (C) Copyright John Maddock 2010. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/conditional.hpp>
-#endif
-#include <boost/type_traits/is_same.hpp>
-
-TT_TEST_BEGIN(conditional)
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< ::tt::conditional<true, int, long>::type, int>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< ::tt::conditional<false, int, long>::type, long>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< ::tt::conditional<true, int, long>::type, long>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< ::tt::conditional<false, int, long>::type, int>::value), false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/decay_test.cpp b/SRC/Boost/libs/type_traits/test/decay_test.cpp
deleted file mode 100755
index 2aafb2b..0000000
--- a/SRC/Boost/libs/type_traits/test/decay_test.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-
-//  (C) Copyright John Maddock & Thorsten Ottosen 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/decay.hpp>
-#  include <boost/type_traits/is_same.hpp>
-#endif
-#include <iostream>
-#include <string>
-#include <utility>
-
-#ifdef BOOST_INTEL
-//  remark #383: value copied to temporary, reference to temporary used
-//     std::pair<std::string, int>        p2 = boost::make_pair( "foo", 1 );
-//                                                                      ^
-#pragma warning(disable:383)
-#endif
-
-namespace boost
-{
-
-    int proc1()
-    {
-       return 0;
-    }
-    int proc2(int c)
-    {
-       return c;
-    }
-    
-    //
-    // An almost optimal version of std::make_pair()
-    //
-    template< class F, class S >
-    inline std::pair< BOOST_DEDUCED_TYPENAME tt::decay<const F>::type, 
-                      BOOST_DEDUCED_TYPENAME tt::decay<const S>::type >
-    make_pair( const F& f, const S& s )
-    {
-        return std::pair< BOOST_DEDUCED_TYPENAME tt::decay<const F>::type, 
-                          BOOST_DEDUCED_TYPENAME tt::decay<const S>::type >( f, s ); 
-    }
-
-    /*
-    This overload will mess up vc7.1
-
-    template< class F, class S >
-    inline std::pair< BOOST_DEDUCED_TYPENAME ::tt::decay<F>::type, 
-                      BOOST_DEDUCED_TYPENAME ::tt::decay<S>::type >
-    make_pair( F& f, S& s )
-    {
-        return std::pair< BOOST_DEDUCED_TYPENAME ::tt::decay<F>::type, 
-                          BOOST_DEDUCED_TYPENAME ::tt::decay<S>::type >( f, s ); 
-    }
-    */
-}
-
-TT_TEST_BEGIN(is_class)
-
-   BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< 
-          ::tt::decay<int>::type,int>::value),
-                                  true );
-   BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< 
-          ::tt::decay<char[2]>::type,char*>::value),
-                                 true );
-   BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< 
-          ::tt::decay<char[2][3]>::type,char(*)[3]>::value),
-                                 true );
-   BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< 
-          ::tt::decay<const char[2]>::type,const char*>::value),
-                                  true );
-   BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< 
-          ::tt::decay<wchar_t[2]>::type,wchar_t*>::value),
-                                  true );
-   BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< 
-          ::tt::decay<const wchar_t[2]>::type,const wchar_t*>::value),
-                                  true );
-   BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< 
-          ::tt::decay<const wchar_t[2]>::type,const wchar_t*>::value),
-                                  true );
-
-   typedef int f1_type(void);
-   typedef int f2_type(int);
-
-   BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< 
-          ::tt::decay<f1_type>::type,int (*)(void)>::value),
-                                  true );
-   BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same< 
-          ::tt::decay<f2_type>::type,int (*)(int)>::value),
-                                  true );
-
-   std::pair<std::string,std::string> p  = boost::make_pair( "foo", "bar" );
-   std::pair<std::string, int>        p2 = boost::make_pair( "foo", 1 );
-#ifndef BOOST_NO_STD_WSTRING
-   std::pair<std::wstring,std::string> p3  = boost::make_pair( L"foo", "bar" );
-   std::pair<std::wstring, int>        p4  = boost::make_pair( L"foo", 1 );
-#endif
-
-   //
-   // Todo: make these work sometime. The test id not directly
-   //       related to decay<T>::type and can be avioded for now.
-   // 
-   /*
-   int array[10];
-   std::pair<int*,int*> p5 = boost::make_pair( array, array );
-#ifndef __BORLANDC__
-   std::pair<int(*)(void), int(*)(int)> p6 = boost::make_pair(boost::proc1, boost::proc2);
-   p6.first();
-   p6.second(1);
-#endif
-   */
-   
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/extent_test.cpp b/SRC/Boost/libs/type_traits/test/extent_test.cpp
deleted file mode 100755
index 889ac15..0000000
--- a/SRC/Boost/libs/type_traits/test/extent_test.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/extent.hpp>
-#endif
-
-TT_TEST_BEGIN(extent)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int>::value, 0);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int[]>::value, 0);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int[][10]>::value, 0);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int[5][10]>::value, 5);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int[5][10][40]>::value, 5);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int (&)[5][10]>::value, 0);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int (*)[5][10]>::value, 0);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::extent<int,1>::value), 0);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::extent<int[],1>::value), 0);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::extent<int[][10],1>::value), 10);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::extent<int[5][10],1>::value), 10);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::extent<int[5][10][40],1>::value), 10);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::extent<int (&)[5][10],1>::value), 0);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::extent<int (*)[5][10],1>::value), 0);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::extent<int[5][10],2>::value), 0);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::extent<int[5][10][40],2>::value), 40);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::extent<int[5][10][40],3>::value), 0);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int*>::value, 0);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int&>::value, 0);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int&&>::value, 0);
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/function_traits_test.cpp b/SRC/Boost/libs/type_traits/test/function_traits_test.cpp
deleted file mode 100755
index 0c454f1..0000000
--- a/SRC/Boost/libs/type_traits/test/function_traits_test.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/function_traits.hpp>
-#endif
-
-typedef void(pf_zero1)();
-typedef int(pf_zero2)();
-typedef const int& (pf_zero3)();
-typedef void(pf_one1)(int);
-typedef int(pf_one2)(int);
-typedef const int&(pf_one3)(const int&);
-typedef void(pf_two1)(int,int);
-typedef int(pf_two2)(int,int);
-typedef const int&(pf_two3)(const int&,const int&);
-
-
-TT_TEST_BEGIN(function_traits)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::function_traits<pf_zero1>::arity, 0);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::function_traits<pf_zero2>::arity, 0);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::function_traits<pf_zero3>::arity, 0);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::function_traits<pf_one1>::arity, 1);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::function_traits<pf_one2>::arity, 1);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::function_traits<pf_one3>::arity, 1);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::function_traits<pf_two1>::arity, 2);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::function_traits<pf_two2>::arity, 2);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::function_traits<pf_two3>::arity, 2);
-
-BOOST_CHECK_TYPE(void, ::tt::function_traits<pf_zero1>::result_type);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_zero2>::result_type, int);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_zero3>::result_type, const int&);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_one1>::result_type, void);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_one2>::result_type, int);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_one3>::result_type, const int&);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_two1>::result_type, void);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_two2>::result_type, int);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_two3>::result_type, const int&);
-
-BOOST_CHECK_TYPE(::tt::function_traits<pf_one1>::arg1_type, int);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_one2>::arg1_type, int);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_one3>::arg1_type, const int&);
-
-BOOST_CHECK_TYPE(::tt::function_traits<pf_two1>::arg1_type, int);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_two2>::arg1_type, int);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_two3>::arg1_type, const int&);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_two1>::arg2_type, int);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_two2>::arg2_type, int);
-BOOST_CHECK_TYPE(::tt::function_traits<pf_two3>::arg2_type, const int&);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/has_binary_classes.hpp b/SRC/Boost/libs/type_traits/test/has_binary_classes.hpp
deleted file mode 100755
index e88e63b..0000000
--- a/SRC/Boost/libs/type_traits/test/has_binary_classes.hpp
+++ /dev/null
@@ -1,252 +0,0 @@
-//  (C) Copyright Frederic Bron 2009-2011.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef TT_HAS_BINARY_CLASSES_HPP
-#define TT_HAS_BINARY_CLASSES_HPP
-
-struct ret { };
-ret ret_val;
-
-class C000 { C000(); public: C000(int) { } };
-void operator+(C000, C000) { }
-
-class C001 { C001(); public: C001(int) { } };
-ret  operator+(C001, C001) { return ret_val; }
-
-class C002 { C002(); public: C002(int) { } };
-ret  const operator+(C002, C002) { return ret_val; }
-
-class C005 { C005(); public: C005(int) { } };
-ret  & operator+(C005, C005) { return ret_val; }
-
-class C006 { C006(); public: C006(int) { } };
-ret  const & operator+(C006, C006) { return ret_val; }
-
-class C009 { C009(); public: C009(int) { } };
-void operator+(C009, C009 const) { }
-
-class C010 { C010(); public: C010(int) { } };
-ret  operator+(C010, C010 const) { return ret_val; }
-
-class C011 { C011(); public: C011(int) { } };
-ret  const operator+(C011, C011 const) { return ret_val; }
-
-class C014 { C014(); public: C014(int) { } };
-ret  & operator+(C014, C014 const) { return ret_val; }
-
-class C015 { C015(); public: C015(int) { } };
-ret  const & operator+(C015, C015 const) { return ret_val; }
-
-class C036 { C036(); public: C036(int) { } };
-void operator+(C036, C036 &) { }
-
-class C037 { C037(); public: C037(int) { } };
-ret  operator+(C037, C037 &) { return ret_val; }
-
-class C038 { C038(); public: C038(int) { } };
-ret  const operator+(C038, C038 &) { return ret_val; }
-
-class C041 { C041(); public: C041(int) { } };
-ret  & operator+(C041, C041 &) { return ret_val; }
-
-class C042 { C042(); public: C042(int) { } };
-ret  const & operator+(C042, C042 &) { return ret_val; }
-
-class C045 { C045(); public: C045(int) { } };
-void operator+(C045, C045 const &) { }
-
-class C046 { C046(); public: C046(int) { } };
-ret  operator+(C046, C046 const &) { return ret_val; }
-
-class C047 { C047(); public: C047(int) { } };
-ret  const operator+(C047, C047 const &) { return ret_val; }
-
-class C050 { C050(); public: C050(int) { } };
-ret  & operator+(C050, C050 const &) { return ret_val; }
-
-class C051 { C051(); public: C051(int) { } };
-ret  const & operator+(C051, C051 const &) { return ret_val; }
-
-class C072 { C072(); public: C072(int) { } };
-void operator+(C072 const, C072) { }
-
-class C073 { C073(); public: C073(int) { } };
-ret  operator+(C073 const, C073) { return ret_val; }
-
-class C074 { C074(); public: C074(int) { } };
-ret  const operator+(C074 const, C074) { return ret_val; }
-
-class C077 { C077(); public: C077(int) { } };
-ret  & operator+(C077 const, C077) { return ret_val; }
-
-class C078 { C078(); public: C078(int) { } };
-ret  const & operator+(C078 const, C078) { return ret_val; }
-
-class C081 { C081(); public: C081(int) { } };
-void operator+(C081 const, C081 const) { }
-
-class C082 { C082(); public: C082(int) { } };
-ret  operator+(C082 const, C082 const) { return ret_val; }
-
-class C083 { C083(); public: C083(int) { } };
-ret  const operator+(C083 const, C083 const) { return ret_val; }
-
-class C086 { C086(); public: C086(int) { } };
-ret  & operator+(C086 const, C086 const) { return ret_val; }
-
-class C087 { C087(); public: C087(int) { } };
-ret  const & operator+(C087 const, C087 const) { return ret_val; }
-
-class C108 { C108(); public: C108(int) { } };
-void operator+(C108 const, C108 &) { }
-
-class C109 { C109(); public: C109(int) { } };
-ret  operator+(C109 const, C109 &) { return ret_val; }
-
-class C110 { C110(); public: C110(int) { } };
-ret  const operator+(C110 const, C110 &) { return ret_val; }
-
-class C113 { C113(); public: C113(int) { } };
-ret  & operator+(C113 const, C113 &) { return ret_val; }
-
-class C114 { C114(); public: C114(int) { } };
-ret  const & operator+(C114 const, C114 &) { return ret_val; }
-
-class C117 { C117(); public: C117(int) { } };
-void operator+(C117 const, C117 const &) { }
-
-class C118 { C118(); public: C118(int) { } };
-ret  operator+(C118 const, C118 const &) { return ret_val; }
-
-class C119 { C119(); public: C119(int) { } };
-ret  const operator+(C119 const, C119 const &) { return ret_val; }
-
-class C122 { C122(); public: C122(int) { } };
-ret  & operator+(C122 const, C122 const &) { return ret_val; }
-
-class C123 { C123(); public: C123(int) { } };
-ret  const & operator+(C123 const, C123 const &) { return ret_val; }
-
-class C288 { C288(); public: C288(int) { } };
-void operator+(C288 &, C288) { }
-
-class C289 { C289(); public: C289(int) { } };
-ret  operator+(C289 &, C289) { return ret_val; }
-
-class C290 { C290(); public: C290(int) { } };
-ret  const operator+(C290 &, C290) { return ret_val; }
-
-class C293 { C293(); public: C293(int) { } };
-ret  & operator+(C293 &, C293) { return ret_val; }
-
-class C294 { C294(); public: C294(int) { } };
-ret  const & operator+(C294 &, C294) { return ret_val; }
-
-class C297 { C297(); public: C297(int) { } };
-void operator+(C297 &, C297 const) { }
-
-class C298 { C298(); public: C298(int) { } };
-ret  operator+(C298 &, C298 const) { return ret_val; }
-
-class C299 { C299(); public: C299(int) { } };
-ret  const operator+(C299 &, C299 const) { return ret_val; }
-
-class C302 { C302(); public: C302(int) { } };
-ret  & operator+(C302 &, C302 const) { return ret_val; }
-
-class C303 { C303(); public: C303(int) { } };
-ret  const & operator+(C303 &, C303 const) { return ret_val; }
-
-class C324 { C324(); public: C324(int) { } };
-void operator+(C324 &, C324 &) { }
-
-class C325 { C325(); public: C325(int) { } };
-ret  operator+(C325 &, C325 &) { return ret_val; }
-
-class C326 { C326(); public: C326(int) { } };
-ret  const operator+(C326 &, C326 &) { return ret_val; }
-
-class C329 { C329(); public: C329(int) { } };
-ret  & operator+(C329 &, C329 &) { return ret_val; }
-
-class C330 { C330(); public: C330(int) { } };
-ret  const & operator+(C330 &, C330 &) { return ret_val; }
-
-class C333 { C333(); public: C333(int) { } };
-void operator+(C333 &, C333 const &) { }
-
-class C334 { C334(); public: C334(int) { } };
-ret  operator+(C334 &, C334 const &) { return ret_val; }
-
-class C335 { C335(); public: C335(int) { } };
-ret  const operator+(C335 &, C335 const &) { return ret_val; }
-
-class C338 { C338(); public: C338(int) { } };
-ret  & operator+(C338 &, C338 const &) { return ret_val; }
-
-class C339 { C339(); public: C339(int) { } };
-ret  const & operator+(C339 &, C339 const &) { return ret_val; }
-
-class C360 { C360(); public: C360(int) { } };
-void operator+(C360 const &, C360) { }
-
-class C361 { C361(); public: C361(int) { } };
-ret  operator+(C361 const &, C361) { return ret_val; }
-
-class C362 { C362(); public: C362(int) { } };
-ret  const operator+(C362 const &, C362) { return ret_val; }
-
-class C365 { C365(); public: C365(int) { } };
-ret  & operator+(C365 const &, C365) { return ret_val; }
-
-class C366 { C366(); public: C366(int) { } };
-ret  const & operator+(C366 const &, C366) { return ret_val; }
-
-class C369 { C369(); public: C369(int) { } };
-void operator+(C369 const &, C369 const) { }
-
-class C370 { C370(); public: C370(int) { } };
-ret  operator+(C370 const &, C370 const) { return ret_val; }
-
-class C371 { C371(); public: C371(int) { } };
-ret  const operator+(C371 const &, C371 const) { return ret_val; }
-
-class C374 { C374(); public: C374(int) { } };
-ret  & operator+(C374 const &, C374 const) { return ret_val; }
-
-class C375 { C375(); public: C375(int) { } };
-ret  const & operator+(C375 const &, C375 const) { return ret_val; }
-
-class C396 { C396(); public: C396(int) { } };
-void operator+(C396 const &, C396 &) { }
-
-class C397 { C397(); public: C397(int) { } };
-ret  operator+(C397 const &, C397 &) { return ret_val; }
-
-class C398 { C398(); public: C398(int) { } };
-ret  const operator+(C398 const &, C398 &) { return ret_val; }
-
-class C401 { C401(); public: C401(int) { } };
-ret  & operator+(C401 const &, C401 &) { return ret_val; }
-
-class C402 { C402(); public: C402(int) { } };
-ret  const & operator+(C402 const &, C402 &) { return ret_val; }
-
-class C405 { C405(); public: C405(int) { } };
-void operator+(C405 const &, C405 const &) { }
-
-class C406 { C406(); public: C406(int) { } };
-ret  operator+(C406 const &, C406 const &) { return ret_val; }
-
-class C407 { C407(); public: C407(int) { } };
-ret  const operator+(C407 const &, C407 const &) { return ret_val; }
-
-class C410 { C410(); public: C410(int) { } };
-ret  & operator+(C410 const &, C410 const &) { return ret_val; }
-
-class C411 { C411(); public: C411(int) { } };
-ret  const & operator+(C411 const &, C411 const &) { return ret_val; }
-
-#endif
diff --git a/SRC/Boost/libs/type_traits/test/has_binary_classes0_test.cpp b/SRC/Boost/libs/type_traits/test/has_binary_classes0_test.cpp
deleted file mode 100755
index f7af36b..0000000
--- a/SRC/Boost/libs/type_traits/test/has_binary_classes0_test.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_binary_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000, C000, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000, C000 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000, C000 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000, C000 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000, C000 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 const, C000, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 const, C000 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 const, C000 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 const, C000 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 const, C000 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 &, C000, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 &, C000, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 &, C000, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 &, C000 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 &, C000 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 &, C000 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 const &, C000, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 const &, C000 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 const &, C000 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 const &, C000 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C000 const &, C000 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001, C001, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001, C001 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001, C001 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001, C001 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const, C001 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const, C001 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const, C001 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const, C001 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const, C001 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 &, C001, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 &, C001, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 &, C001, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 &, C001, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 &, C001 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 &, C001 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 &, C001 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 &, C001 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const &, C001, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const &, C001 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const &, C001 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const &, C001 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const &, C001 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const &, C001 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const &, C001 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const &, C001 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const &, C001 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const &, C001 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C001 const &, C001 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002, C002, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002, C002 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002, C002 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002, C002 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002, C002 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002, C002 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002, C002 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002, C002 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002, C002 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const, C002, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const, C002 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const, C002 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const, C002 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const, C002 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const, C002 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 &, C002, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 &, C002, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 &, C002, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 &, C002, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 &, C002 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 &, C002 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 &, C002 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 &, C002 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 &, C002 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 &, C002 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const &, C002, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const &, C002, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const &, C002, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const &, C002 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const &, C002 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const &, C002 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const &, C002 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const &, C002 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const &, C002 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C002 const &, C002 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005, C005, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005, C005, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005, C005, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005, C005 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005, C005 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005, C005 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005, C005 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005, C005 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005, C005 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005, C005 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005, C005 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const, C005, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const, C005, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const, C005 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const, C005 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const, C005 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const, C005 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 &, C005, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 &, C005, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 &, C005, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 &, C005, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 &, C005 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 &, C005 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 &, C005 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 &, C005 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const &, C005 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const &, C005 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const &, C005 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const &, C005 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const &, C005 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const &, C005 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const &, C005 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const &, C005 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const &, C005 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C005 const &, C005 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006, C006, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006, C006 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006, C006 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const, C006, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const, C006, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const, C006, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const, C006 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const, C006 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const, C006 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const, C006 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const, C006 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const, C006 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 &, C006, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 &, C006, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 &, C006, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 &, C006 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 &, C006 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 &, C006 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 &, C006 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const &, C006, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const &, C006 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const &, C006 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const &, C006 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const &, C006 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C006 const &, C006 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009, C009, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009, C009, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009, C009 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009, C009 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009, C009 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009, C009 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009, C009 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const, C009, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const, C009 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const, C009 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const, C009 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const, C009 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const, C009 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const, C009 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 &, C009, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 &, C009, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 &, C009, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 &, C009 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 &, C009 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 &, C009 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 &, C009 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 &, C009 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const &, C009 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const &, C009 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const &, C009 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const &, C009 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const &, C009 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const &, C009 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const &, C009 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C009 const &, C009 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010, C010, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010, C010 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010, C010 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010, C010 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010, C010 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010, C010 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010, C010 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010, C010 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const, C010, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const, C010, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const, C010, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const, C010, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const, C010 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const, C010 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const, C010 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 &, C010, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 &, C010, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 &, C010 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 &, C010 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 &, C010 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const &, C010, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const &, C010, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const &, C010 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const &, C010 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const &, C010 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const &, C010 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C010 const &, C010 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011, C011, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011, C011, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011, C011, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011, C011 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011, C011 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011, C011 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011, C011 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011, C011 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011, C011 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011, C011 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011, C011 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const, C011, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const, C011, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const, C011, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const, C011 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const, C011 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const, C011 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const, C011 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const, C011 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const, C011 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 &, C011, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 &, C011, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 &, C011, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 &, C011 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 &, C011 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 &, C011 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 &, C011 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 &, C011 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 &, C011 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 &, C011 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 &, C011 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const &, C011, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const &, C011, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const &, C011 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const &, C011 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const &, C011 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const &, C011 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const &, C011 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C011 const &, C011 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014, C014, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014, C014, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014, C014 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014, C014 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014, C014 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014, C014 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014, C014 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014, C014 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014, C014 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const, C014, ret const >::value), 1);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_binary_classes1_test.cpp b/SRC/Boost/libs/type_traits/test/has_binary_classes1_test.cpp
deleted file mode 100755
index 969a1b3..0000000
--- a/SRC/Boost/libs/type_traits/test/has_binary_classes1_test.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_binary_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const, C014, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const, C014 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const, C014 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const, C014 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const, C014 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const, C014 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 &, C014, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 &, C014, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 &, C014 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 &, C014 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 &, C014 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 &, C014 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 &, C014 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 &, C014 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 &, C014 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const &, C014, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const &, C014, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const &, C014, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const &, C014 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const &, C014 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const &, C014 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const &, C014 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const &, C014 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const &, C014 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const &, C014 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const &, C014 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C014 const &, C014 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015, C015, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015, C015, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015, C015 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015, C015 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015, C015 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 const, C015, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 const, C015, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 const, C015 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 const, C015 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 const, C015 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 const, C015 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 const, C015 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 &, C015, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 &, C015, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 &, C015 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 &, C015 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 &, C015 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 const &, C015, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 const &, C015 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 const &, C015 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 const &, C015 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C015 const &, C015 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036, C036, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036, C036 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036, C036 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036, C036 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036, C036 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036, C036 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036, C036 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const, C036, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const, C036, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const, C036 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const, C036 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const, C036 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const, C036 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 &, C036, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 &, C036, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 &, C036 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 &, C036 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 &, C036 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 &, C036 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 &, C036 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 &, C036 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const &, C036, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const &, C036, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const &, C036 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const &, C036 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const &, C036 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const &, C036 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const &, C036 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const &, C036 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const &, C036 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C036 const &, C036 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037, C037, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037, C037, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037, C037, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037, C037 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037, C037 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037, C037 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037, C037 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037, C037 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037, C037 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const, C037, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const, C037, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const, C037, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const, C037 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const, C037 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const, C037 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const, C037 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const, C037 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const, C037 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 &, C037, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 &, C037, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 &, C037, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 &, C037, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 &, C037 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 &, C037 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 &, C037 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 &, C037 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const &, C037, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const &, C037, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const &, C037 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const &, C037 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const &, C037 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C037 const &, C037 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038, C038, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038, C038, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038, C038, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038, C038 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038, C038 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038, C038 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038, C038 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038, C038 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038, C038 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038, C038 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const, C038, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const, C038, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const, C038 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const, C038 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const, C038 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const, C038 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const, C038 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const, C038 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const, C038 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const, C038 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 &, C038, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 &, C038, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 &, C038 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 &, C038 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 &, C038 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 &, C038 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 &, C038 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const &, C038, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const &, C038, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const &, C038, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C038 const &, C038 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041, C041, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041, C041 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041, C041 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041, C041 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041, C041 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041, C041 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041, C041 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const, C041, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const, C041 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const, C041 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const, C041 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const, C041 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const, C041 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const, C041 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 &, C041 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 &, C041 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 &, C041 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 &, C041 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 &, C041 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const &, C041, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const &, C041 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const &, C041 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const &, C041 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const &, C041 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const &, C041 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const &, C041 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const &, C041 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C041 const &, C041 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042, C042, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042, C042, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042, C042, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042, C042 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042, C042 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042, C042 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042, C042 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042, C042 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042, C042 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const, C042, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const, C042, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const, C042, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const, C042 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const, C042 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const, C042 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const, C042 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 &, C042, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 &, C042 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 &, C042 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 &, C042 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 &, C042 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 &, C042 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const &, C042, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const &, C042, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const &, C042 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const &, C042 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const &, C042 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const &, C042 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const &, C042 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const &, C042 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const &, C042 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C042 const &, C042 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045, C045 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045, C045 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045, C045 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const, C045, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const, C045, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const, C045, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const, C045 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const, C045 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const, C045 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const, C045 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const, C045 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const, C045 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 &, C045, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 &, C045, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 &, C045, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 &, C045, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 &, C045 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 &, C045 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 &, C045 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 &, C045 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const &, C045 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const &, C045 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const &, C045 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const &, C045 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C045 const &, C045 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046, C046 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046, C046 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046, C046 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const, C046, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const, C046 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const, C046 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const, C046 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const, C046 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const, C046 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const, C046 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 &, C046 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 &, C046 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 &, C046 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 &, C046 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 &, C046 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const &, C046, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const &, C046, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const &, C046 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const &, C046 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const &, C046 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const &, C046 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const &, C046 &, ret const >::value), 1);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_binary_classes2_test.cpp b/SRC/Boost/libs/type_traits/test/has_binary_classes2_test.cpp
deleted file mode 100755
index ee7723e..0000000
--- a/SRC/Boost/libs/type_traits/test/has_binary_classes2_test.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_binary_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const &, C046 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const &, C046 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const &, C046 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C046 const &, C046 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047, C047, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047, C047, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047, C047, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047, C047 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047, C047 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047, C047 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047, C047 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const, C047, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const, C047, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const, C047, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const, C047 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const, C047 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const, C047 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const, C047 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const, C047 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const, C047 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const, C047 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 &, C047, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 &, C047, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 &, C047 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 &, C047 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 &, C047 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 &, C047 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 &, C047 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 &, C047 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const &, C047, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const &, C047 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const &, C047 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const &, C047 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const &, C047 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const &, C047 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C047 const &, C047 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050, C050, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050, C050 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050, C050 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050, C050 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050, C050 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050, C050 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050, C050 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const, C050, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const, C050, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const, C050, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const, C050 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const, C050 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const, C050 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const, C050 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 &, C050, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 &, C050, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 &, C050, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 &, C050 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 &, C050 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 &, C050 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 &, C050 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 &, C050 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const &, C050, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const &, C050, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const &, C050 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const &, C050 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const &, C050 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const &, C050 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const &, C050 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const &, C050 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const &, C050 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const &, C050 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C050 const &, C050 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051, C051, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051, C051, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051, C051, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051, C051 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051, C051 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051, C051 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051, C051 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051, C051 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051, C051 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051, C051 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 const, C051, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 const, C051 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 const, C051 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 const, C051 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 const, C051 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 const, C051 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 &, C051, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 &, C051 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 &, C051 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 &, C051 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 &, C051 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 &, C051 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 const &, C051, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 const &, C051, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 const &, C051 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 const &, C051 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 const &, C051 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C051 const &, C051 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072, C072 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072, C072 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072, C072 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072, C072 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072, C072 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072, C072 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072, C072 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072, C072 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const, C072, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const, C072, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const, C072, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const, C072 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const, C072 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const, C072 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const, C072 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 &, C072, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 &, C072, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 &, C072, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 &, C072 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 &, C072 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 &, C072 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 &, C072 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 &, C072 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 &, C072 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 &, C072 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 &, C072 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const &, C072, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const &, C072, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const &, C072 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const &, C072 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const &, C072 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const &, C072 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const &, C072 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C072 const &, C072 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073, C073, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073, C073, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073, C073, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073, C073 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073, C073 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073, C073 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073, C073 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073, C073 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073, C073 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const, C073, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const, C073 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const, C073 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const, C073 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const, C073 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 &, C073, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 &, C073, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 &, C073, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 &, C073 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 &, C073 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const &, C073, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const &, C073, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const &, C073, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const &, C073 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const &, C073 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const &, C073 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const &, C073 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const &, C073 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C073 const &, C073 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074, C074, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074, C074 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074, C074 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074, C074 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074, C074 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074, C074 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074, C074 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074, C074 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074, C074 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074, C074 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const, C074, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const, C074, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const, C074 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const, C074 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const, C074 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const, C074 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const, C074 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 &, C074, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 &, C074, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 &, C074, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 &, C074, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 &, C074 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 &, C074 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 &, C074 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 &, C074 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const &, C074, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const &, C074, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const &, C074 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const &, C074 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const &, C074 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const &, C074 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const &, C074 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const &, C074 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C074 const &, C074 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077, C077, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077, C077 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077, C077 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077, C077 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077, C077 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077, C077 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077, C077 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077, C077 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const, C077, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const, C077, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const, C077 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const, C077 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const, C077 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const, C077 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const, C077 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const, C077 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const, C077 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const, C077 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const, C077 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 &, C077, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 &, C077 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 &, C077 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 &, C077 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C077 const &, C077 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078, C078, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078, C078 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078, C078 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078, C078 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078, C078 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078, C078 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078, C078 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078, C078 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078, C078 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078, C078 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078, C078 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const, C078, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const, C078, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const, C078, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const, C078 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const, C078 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const, C078 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const, C078 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 &, C078, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 &, C078, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 &, C078 const, void >::value), 0);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_binary_classes3_test.cpp b/SRC/Boost/libs/type_traits/test/has_binary_classes3_test.cpp
deleted file mode 100755
index 951506a..0000000
--- a/SRC/Boost/libs/type_traits/test/has_binary_classes3_test.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_binary_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 &, C078 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 &, C078 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 &, C078 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 &, C078 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 &, C078 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 &, C078 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 &, C078 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 &, C078 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const &, C078, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const &, C078 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const &, C078 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const &, C078 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const &, C078 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const &, C078 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const &, C078 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const &, C078 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C078 const &, C078 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081, C081 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const, C081, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const, C081, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const, C081, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const, C081 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const, C081 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const, C081 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const, C081 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const, C081 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const, C081 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const, C081 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const, C081 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 &, C081, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 &, C081, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 &, C081, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 &, C081, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 &, C081 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 &, C081 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 &, C081 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 &, C081 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 &, C081 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 &, C081 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const &, C081 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const &, C081 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const &, C081 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const &, C081 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C081 const &, C081 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082, C082, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082, C082, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082, C082, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082, C082 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082, C082 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082, C082 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082, C082 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const, C082, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const, C082 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const, C082 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const, C082 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const, C082 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const, C082 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const, C082 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const, C082 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 &, C082, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 &, C082, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 &, C082, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 &, C082 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 &, C082 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 &, C082 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 &, C082 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 &, C082 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 &, C082 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 &, C082 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const &, C082, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const &, C082 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const &, C082 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const &, C082 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const &, C082 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const &, C082 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const &, C082 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const &, C082 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const &, C082 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C082 const &, C082 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083, C083, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083, C083, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083, C083 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083, C083 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083, C083 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083, C083 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083, C083 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const, C083, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const, C083, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const, C083, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const, C083 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const, C083 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const, C083 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const, C083 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const, C083 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const, C083 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const, C083 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 &, C083, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 &, C083, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 &, C083, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 &, C083 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 &, C083 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 &, C083 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const &, C083, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const &, C083, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const &, C083, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const &, C083 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const &, C083 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const &, C083 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const &, C083 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C083 const &, C083 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086, C086, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086, C086 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086, C086 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086, C086 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086, C086 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086, C086 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086, C086 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086, C086 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const, C086, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const, C086, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const, C086 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const, C086 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const, C086 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const, C086 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const, C086 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const, C086 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const, C086 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 &, C086, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 &, C086 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 &, C086 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 &, C086 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 &, C086 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 &, C086 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const &, C086 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const &, C086 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const &, C086 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const &, C086 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const &, C086 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const &, C086 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const &, C086 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C086 const &, C086 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087, C087, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087, C087, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087, C087, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087, C087 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087, C087 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087, C087 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087, C087 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 const, C087, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 const, C087, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 const, C087 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 const, C087 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 &, C087, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 &, C087, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 &, C087, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 &, C087 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 &, C087 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 &, C087 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 const &, C087, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 const &, C087, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 const &, C087, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 const &, C087 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 const &, C087 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C087 const &, C087 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108, C108, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108, C108, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108, C108, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108, C108, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108, C108 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108, C108 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108, C108 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108, C108 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108, C108 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108, C108 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const, C108, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const, C108, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const, C108 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const, C108 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const, C108 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const, C108 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const, C108 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const, C108 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 &, C108, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 &, C108 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 &, C108 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 &, C108 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 &, C108 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 &, C108 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 &, C108 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 &, C108 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const &, C108, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const &, C108 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const &, C108 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const &, C108 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C108 const &, C108 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109, C109, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109, C109 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109, C109 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109, C109 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109, C109 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109, C109 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109, C109 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const, C109 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 &, C109, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 &, C109 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 &, C109 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 &, C109 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 &, C109 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 &, C109 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 &, C109 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const &, C109, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const &, C109 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const &, C109 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const &, C109 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const &, C109 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const &, C109 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const &, C109 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const &, C109 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C109 const &, C109 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110, C110, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110, C110, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110, C110, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110, C110 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110, C110 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110, C110 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const, C110, ret >::value), 1);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_binary_classes4_test.cpp b/SRC/Boost/libs/type_traits/test/has_binary_classes4_test.cpp
deleted file mode 100755
index 628161d..0000000
--- a/SRC/Boost/libs/type_traits/test/has_binary_classes4_test.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_binary_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const, C110, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const, C110, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const, C110, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const, C110 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const, C110 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const, C110 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const, C110 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const, C110 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const, C110 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const, C110 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 &, C110, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 &, C110, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 &, C110 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 &, C110 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 &, C110 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 &, C110 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const &, C110, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const &, C110, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const &, C110 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const &, C110 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const &, C110 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const &, C110 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const &, C110 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const &, C110 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C110 const &, C110 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113, C113, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113, C113, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113, C113, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113, C113 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113, C113 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113, C113 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113, C113 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113, C113 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113, C113 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113, C113 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113, C113 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const, C113, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const, C113 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const, C113 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const, C113 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const, C113 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const, C113 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const, C113 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const, C113 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 &, C113, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 &, C113, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 &, C113 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 &, C113 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 &, C113 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 &, C113 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 &, C113 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const &, C113, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const &, C113 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const &, C113 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const &, C113 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const &, C113 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const &, C113 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const &, C113 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C113 const &, C113 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114, C114 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114, C114 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114, C114 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114, C114 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114, C114 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114, C114 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114, C114 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114, C114 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114, C114 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114, C114 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114, C114 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const, C114, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const, C114, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const, C114 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const, C114 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const, C114 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const, C114 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const, C114 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const, C114 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 &, C114, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 &, C114 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 &, C114 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 &, C114 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const &, C114, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const &, C114, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const &, C114 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const &, C114 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const &, C114 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C114 const &, C114 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117, C117, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117, C117, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117, C117 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117, C117 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117, C117 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117, C117 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const, C117, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const, C117, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const, C117 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const, C117 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const, C117 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const, C117 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const, C117 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 &, C117, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 &, C117 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 &, C117 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 &, C117 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 &, C117 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 &, C117 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const &, C117, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const &, C117 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const &, C117 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const &, C117 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const &, C117 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const &, C117 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const &, C117 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const &, C117 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const &, C117 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C117 const &, C117 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118, C118, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118, C118, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118, C118 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118, C118 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118, C118 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118, C118 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118, C118 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118, C118 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118, C118 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118, C118 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const, C118, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const, C118 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const, C118 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const, C118 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const, C118 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const, C118 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 &, C118, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 &, C118, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 &, C118, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 &, C118 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 &, C118 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 &, C118 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 &, C118 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 &, C118 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 &, C118 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const &, C118, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const &, C118, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const &, C118 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const &, C118 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const &, C118 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const &, C118 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const &, C118 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const &, C118 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const &, C118 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C118 const &, C118 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119, C119, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119, C119, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119, C119 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119, C119 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119, C119 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119, C119 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119, C119 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119, C119 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119, C119 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119, C119 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const, C119, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const, C119 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const, C119 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const, C119 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const, C119 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const, C119 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 &, C119, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 &, C119 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 &, C119 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 &, C119 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 &, C119 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 &, C119 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 &, C119 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 &, C119 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 &, C119 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 &, C119 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const &, C119, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const &, C119, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const &, C119 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const &, C119 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const &, C119 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const &, C119 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const &, C119 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const &, C119 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C119 const &, C119 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122, C122, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122, C122 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122, C122 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122, C122 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const, C122, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const, C122, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const, C122 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const, C122 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const, C122 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const, C122 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const, C122 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const, C122 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const, C122 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 &, C122 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 &, C122 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 &, C122 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const &, C122, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const &, C122, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const &, C122, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const &, C122 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const &, C122 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const &, C122 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const &, C122 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const &, C122 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C122 const &, C122 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123, C123, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123, C123, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123, C123 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123, C123 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123, C123 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const, C123 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const, C123 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const, C123 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const, C123 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const, C123 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const, C123 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const, C123 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 &, C123, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 &, C123 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 &, C123 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 &, C123 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 &, C123 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const &, C123, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const &, C123, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const &, C123 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const &, C123 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const &, C123 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const &, C123 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C123 const &, C123 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288, C288, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288, C288, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288, C288, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288, C288 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288, C288 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288, C288 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288, C288 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288, C288 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288, C288 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const, C288, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const, C288, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const, C288 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const, C288 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const, C288 &, ret const >::value), 0);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_binary_classes5_test.cpp b/SRC/Boost/libs/type_traits/test/has_binary_classes5_test.cpp
deleted file mode 100755
index 7f3d9a1..0000000
--- a/SRC/Boost/libs/type_traits/test/has_binary_classes5_test.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_binary_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const, C288 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const, C288 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 &, C288, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 &, C288, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 &, C288, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 &, C288 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 &, C288 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 &, C288 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 &, C288 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 &, C288 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 &, C288 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 &, C288 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 &, C288 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const &, C288, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const &, C288, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const &, C288, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const &, C288 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const &, C288 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const &, C288 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C288 const &, C288 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289, C289, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289, C289 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289, C289 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289, C289 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const, C289, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const, C289, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const, C289 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const, C289 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const, C289 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const, C289 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const, C289 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const, C289 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const, C289 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const, C289 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 &, C289, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 &, C289, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 &, C289 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 &, C289 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 &, C289 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 &, C289 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 &, C289 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 &, C289 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const &, C289, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const &, C289 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const &, C289 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C289 const &, C289 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290, C290, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290, C290, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290, C290 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290, C290 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290, C290 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290, C290 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const, C290, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const, C290, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const, C290 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const, C290 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const, C290 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const, C290 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const, C290 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 &, C290, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 &, C290, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 &, C290, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 &, C290 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 &, C290 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 &, C290 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 &, C290 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const &, C290, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const &, C290, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const &, C290 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const &, C290 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const &, C290 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const &, C290 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const &, C290 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const &, C290 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const &, C290 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C290 const &, C290 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293, C293, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293, C293, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293, C293, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293, C293 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293, C293 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293, C293 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293, C293 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293, C293 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293, C293 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const, C293, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const, C293 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const, C293 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const, C293 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const, C293 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const, C293 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const, C293 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 &, C293, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 &, C293, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 &, C293 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 &, C293 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 &, C293 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 &, C293 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 &, C293 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 &, C293 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 &, C293 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const &, C293 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const &, C293 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const &, C293 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const &, C293 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const &, C293 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const &, C293 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C293 const &, C293 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294, C294, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294, C294, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294, C294 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294, C294 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294, C294 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294, C294 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294, C294 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294, C294 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294, C294 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294, C294 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294, C294 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294, C294 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const, C294, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const, C294, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const, C294 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const, C294 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const, C294 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const, C294 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const, C294 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const, C294 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 &, C294, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 &, C294, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 &, C294, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 &, C294 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 &, C294 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 &, C294 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 &, C294 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 &, C294 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 &, C294 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 &, C294 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C294 const &, C294 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297, C297, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297, C297, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297, C297, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297, C297 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297, C297 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297, C297 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297, C297 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const, C297, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const, C297, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const, C297, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const, C297 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const, C297 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const, C297 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const, C297 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const, C297 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 &, C297, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 &, C297, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 &, C297, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 &, C297 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 &, C297 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 &, C297 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 &, C297 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 &, C297 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 &, C297 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const &, C297, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const &, C297, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const &, C297 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const &, C297 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const &, C297 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C297 const &, C297 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298, C298, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298, C298, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298, C298, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298, C298 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298, C298 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298, C298 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298, C298 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298, C298 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298, C298 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298, C298 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298, C298 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298, C298 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const, C298, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const, C298, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const, C298 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const, C298 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const, C298 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 &, C298, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 &, C298, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 &, C298 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 &, C298 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 &, C298 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const &, C298, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const &, C298, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const &, C298, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const &, C298, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const &, C298 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const &, C298 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const &, C298 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const &, C298 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C298 const &, C298 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299, C299, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299, C299, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299, C299 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299, C299 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299, C299 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299, C299 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299, C299 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const, C299 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const, C299 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const, C299 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const, C299 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 &, C299, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 &, C299 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 &, C299 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 &, C299 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 &, C299 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 &, C299 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const &, C299, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const &, C299, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const &, C299, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const &, C299 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const &, C299 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const &, C299 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const &, C299 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const &, C299 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const &, C299 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const &, C299 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C299 const &, C299 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302, C302 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302, C302 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302, C302 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302, C302 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302, C302 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302, C302 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302, C302 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302, C302 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const, C302, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const, C302, ret const >::value), 0);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_binary_classes6_test.cpp b/SRC/Boost/libs/type_traits/test/has_binary_classes6_test.cpp
deleted file mode 100755
index 3be5d9d..0000000
--- a/SRC/Boost/libs/type_traits/test/has_binary_classes6_test.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_binary_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const, C302, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const, C302, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const, C302 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const, C302 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const, C302 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const, C302 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const, C302 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const, C302 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const, C302 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const, C302 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 &, C302, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 &, C302 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 &, C302 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 &, C302 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 &, C302 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const &, C302, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const &, C302, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const &, C302 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const &, C302 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const &, C302 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const &, C302 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const &, C302 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const &, C302 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C302 const &, C302 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303, C303, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303, C303, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303, C303 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303, C303 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303, C303 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303, C303 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303, C303 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303, C303 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303, C303 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303, C303 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const, C303, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const, C303, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const, C303, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const, C303 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const, C303 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const, C303 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const, C303 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const, C303 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const, C303 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 &, C303, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 &, C303, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 &, C303 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 &, C303 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 &, C303 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 &, C303 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 &, C303 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 &, C303 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 &, C303 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const &, C303, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const &, C303, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const &, C303 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const &, C303 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const &, C303 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const &, C303 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const &, C303 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const &, C303 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const &, C303 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const &, C303 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C303 const &, C303 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324, C324, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324, C324, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324, C324, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324, C324 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324, C324 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324, C324 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324, C324 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324, C324 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324, C324 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const, C324, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const, C324, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const, C324 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const, C324 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const, C324 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const, C324 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const, C324 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const, C324 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const, C324 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 &, C324, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 &, C324, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 &, C324 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 &, C324 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 &, C324 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 &, C324 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 &, C324 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 &, C324 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const &, C324, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const &, C324, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const &, C324, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const &, C324 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const &, C324 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const &, C324 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const &, C324 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const &, C324 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C324 const &, C324 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325, C325, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325, C325 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325, C325 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325, C325 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const, C325, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const, C325, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const, C325 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const, C325 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const, C325 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const, C325 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const, C325 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const, C325 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const, C325 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const, C325 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 &, C325, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 &, C325 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 &, C325 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 &, C325 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 &, C325 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const &, C325, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const &, C325, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const &, C325, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const &, C325 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const &, C325 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const &, C325 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C325 const &, C325 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326, C326, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326, C326, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326, C326 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326, C326 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326, C326 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326, C326 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326, C326 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const, C326, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const, C326, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const, C326 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const, C326 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const, C326 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const, C326 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const, C326 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const, C326 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const, C326 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 &, C326, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 &, C326, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 &, C326 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 &, C326 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 &, C326 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 &, C326 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 &, C326 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 &, C326 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 &, C326 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 &, C326 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const &, C326, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const &, C326 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const &, C326 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const &, C326 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C326 const &, C326 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329, C329, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329, C329, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329, C329 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329, C329 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329, C329 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329, C329 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329, C329 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329, C329 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329, C329 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329, C329 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 const, C329, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 const, C329, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 const, C329 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 const, C329 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 const, C329 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 const, C329 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 &, C329, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 &, C329, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 &, C329 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 &, C329 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 &, C329 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 &, C329 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 &, C329 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 &, C329 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 &, C329 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 const &, C329 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 const &, C329 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C329 const &, C329 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330, C330, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330, C330, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330, C330, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330, C330 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330, C330 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330, C330 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330, C330 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330, C330 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330, C330 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330, C330 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 const, C330, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 const, C330, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 const, C330 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 const, C330 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 const, C330 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 const, C330 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 &, C330, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 &, C330, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 &, C330 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 &, C330 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 &, C330 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 &, C330 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 &, C330 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 &, C330 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 &, C330 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 &, C330 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 const &, C330 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 const &, C330 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C330 const &, C330 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333, C333, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333, C333, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333, C333, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333, C333 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333, C333 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333, C333 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333, C333 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333, C333 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const, C333 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const, C333 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const, C333 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const, C333 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const, C333 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const, C333 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 &, C333, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 &, C333, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 &, C333, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 &, C333 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 &, C333 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 &, C333 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 &, C333 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const &, C333, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const &, C333, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const &, C333 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const &, C333 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const &, C333 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const &, C333 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const &, C333 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C333 const &, C333 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334, C334, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334, C334 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334, C334 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334, C334 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334, C334 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334, C334 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334, C334 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334, C334 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const, C334, ret const >::value), 0);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_binary_classes7_test.cpp b/SRC/Boost/libs/type_traits/test/has_binary_classes7_test.cpp
deleted file mode 100755
index be9b15d..0000000
--- a/SRC/Boost/libs/type_traits/test/has_binary_classes7_test.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_binary_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const, C334 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const, C334 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const, C334 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const, C334 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const, C334 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 &, C334, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 &, C334, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 &, C334, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 &, C334 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 &, C334 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 &, C334 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 &, C334 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 &, C334 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 &, C334 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 &, C334 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 &, C334 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 &, C334 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const &, C334, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const &, C334, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const &, C334, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const &, C334, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const &, C334 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const &, C334 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const &, C334 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C334 const &, C334 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335, C335, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335, C335 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335, C335 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335, C335 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335, C335 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const, C335, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const, C335, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const, C335 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const, C335 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const, C335 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const, C335 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const, C335 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const, C335 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const, C335 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const, C335 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const, C335 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const, C335 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 &, C335, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 &, C335, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 &, C335, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 &, C335 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 &, C335 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 &, C335 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 &, C335 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 &, C335 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 &, C335 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const &, C335, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const &, C335, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const &, C335 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const &, C335 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const &, C335 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const &, C335 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const &, C335 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const &, C335 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const &, C335 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const &, C335 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C335 const &, C335 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338, C338, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338, C338, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338, C338, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338, C338 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338, C338 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338, C338 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338, C338 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const, C338, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const, C338, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const, C338, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const, C338 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const, C338 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const, C338 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const, C338 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const, C338 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const, C338 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 &, C338, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 &, C338 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 &, C338 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 &, C338 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 &, C338 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 &, C338 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const &, C338, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const &, C338 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const &, C338 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const &, C338 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const &, C338 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const &, C338 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C338 const &, C338 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339, C339, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339, C339 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339, C339 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339, C339 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339, C339 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339, C339 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339, C339 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const, C339, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const, C339 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const, C339 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const, C339 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const, C339 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const, C339 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const, C339 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const, C339 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const, C339 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const, C339 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 &, C339, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 &, C339, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 &, C339 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 &, C339 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 &, C339 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 &, C339 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 &, C339 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 &, C339 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 &, C339 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const &, C339, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const &, C339, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const &, C339 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const &, C339 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const &, C339 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const &, C339 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const &, C339 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C339 const &, C339 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360, C360, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360, C360 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360, C360 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360, C360 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360, C360 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 const, C360, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 const, C360 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 const, C360 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 const, C360 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 &, C360, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 &, C360 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 &, C360 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 &, C360 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 &, C360 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 &, C360 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 &, C360 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 &, C360 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 const &, C360, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 const &, C360, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 const &, C360 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 const &, C360 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 const &, C360 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 const &, C360 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C360 const &, C360 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361, C361, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361, C361, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361, C361 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361, C361 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361, C361 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361, C361 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const, C361, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const, C361, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const, C361 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const, C361 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const, C361 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const, C361 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const, C361 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const, C361 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 &, C361, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 &, C361, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 &, C361 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 &, C361 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 &, C361 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 &, C361 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 &, C361 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 &, C361 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 &, C361 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const &, C361, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const &, C361, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const &, C361 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const &, C361 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const &, C361 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const &, C361 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const &, C361 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const &, C361 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const &, C361 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const &, C361 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C361 const &, C361 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362, C362, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362, C362, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362, C362 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362, C362 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362, C362 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362, C362 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362, C362 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362, C362 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const, C362, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const, C362, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const, C362, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const, C362 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const, C362 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const, C362 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const, C362 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const, C362 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const, C362 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 &, C362 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 &, C362 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 &, C362 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 &, C362 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 &, C362 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 &, C362 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const &, C362, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const &, C362, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const &, C362 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const &, C362 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const &, C362 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const &, C362 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const &, C362 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C362 const &, C362 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365, C365, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365, C365, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365, C365 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365, C365 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365, C365 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365, C365 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const, C365, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const, C365, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const, C365, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const, C365 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const, C365 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const, C365 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const, C365 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const, C365 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const, C365 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 &, C365, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 &, C365, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 &, C365, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 &, C365 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 &, C365 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 &, C365 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 &, C365 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const &, C365 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const &, C365 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const &, C365 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C365 const &, C365 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366, C366, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366, C366, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366, C366, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366, C366 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366, C366 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366, C366 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366, C366 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const, C366, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const, C366, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const, C366, ret const & >::value), 1);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_binary_classes8_test.cpp b/SRC/Boost/libs/type_traits/test/has_binary_classes8_test.cpp
deleted file mode 100755
index 70cf1f1..0000000
--- a/SRC/Boost/libs/type_traits/test/has_binary_classes8_test.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_binary_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const, C366 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const, C366 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const, C366 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const, C366 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const, C366 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 &, C366, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 &, C366, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 &, C366, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 &, C366, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 &, C366 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 &, C366 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 &, C366 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 &, C366 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 &, C366 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 &, C366 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const &, C366, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const &, C366, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const &, C366, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const &, C366 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const &, C366 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const &, C366 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const &, C366 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const &, C366 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const &, C366 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C366 const &, C366 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369, C369, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369, C369, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369, C369, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369, C369, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369, C369 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369, C369 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369, C369 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369, C369 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const, C369, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const, C369 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const, C369 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const, C369 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const, C369 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const, C369 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const, C369 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 &, C369, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 &, C369, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 &, C369, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 &, C369 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 &, C369 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 &, C369 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 &, C369 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const &, C369, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const &, C369, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const &, C369, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const &, C369 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const &, C369 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const &, C369 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const &, C369 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C369 const &, C369 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370, C370, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370, C370 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370, C370 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370, C370 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370, C370 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370, C370 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370, C370 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370, C370 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const, C370 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const, C370 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const, C370 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const, C370 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const, C370 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const, C370 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 &, C370, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 &, C370 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 &, C370 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 &, C370 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 &, C370 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 &, C370 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 &, C370 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 &, C370 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const &, C370, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const &, C370, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const &, C370, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const &, C370 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const &, C370 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const &, C370 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const &, C370 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const &, C370 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C370 const &, C370 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371, C371, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371, C371 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371, C371 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371, C371 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371, C371 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371, C371 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371, C371 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371, C371 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371, C371 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 const, C371 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 const, C371 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 const, C371 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 &, C371, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 &, C371, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 &, C371 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 &, C371 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 &, C371 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 &, C371 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 &, C371 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 &, C371 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 &, C371 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 &, C371 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 &, C371 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 const &, C371, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 const &, C371, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 const &, C371 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 const &, C371 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 const &, C371 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 const &, C371 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 const &, C371 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 const &, C371 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C371 const &, C371 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374, C374, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374, C374, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374, C374 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374, C374 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374, C374 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374, C374 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374, C374 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374, C374 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374, C374 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const, C374, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const, C374, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const, C374, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const, C374 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const, C374 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const, C374 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const, C374 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const, C374 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const, C374 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const, C374 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const, C374 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 &, C374, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 &, C374 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 &, C374 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 &, C374 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 &, C374 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 &, C374 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 &, C374 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const &, C374, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const &, C374, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const &, C374 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C374 const &, C374 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375, C375, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375, C375, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375, C375, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375, C375 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375, C375 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375, C375 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375, C375 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375, C375 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375, C375 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const, C375, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const, C375, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const, C375, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const, C375, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const, C375 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const, C375 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const, C375 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const, C375 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const, C375 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 &, C375, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 &, C375, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 &, C375, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 &, C375, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 &, C375 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 &, C375 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 &, C375 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 &, C375 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 &, C375 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 &, C375 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 &, C375 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 &, C375 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const &, C375, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const &, C375 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const &, C375 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const &, C375 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const &, C375 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C375 const &, C375 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396, C396, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396, C396, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396, C396, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396, C396, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396, C396 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396, C396 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396, C396 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396, C396 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396, C396 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396, C396 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396, C396 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const, C396, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const, C396, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const, C396, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const, C396 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const, C396 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const, C396 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const, C396 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const, C396 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const, C396 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const, C396 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const, C396 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 &, C396, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 &, C396 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 &, C396 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 &, C396 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 &, C396 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 &, C396 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 &, C396 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 &, C396 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 &, C396 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 &, C396 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const &, C396, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const &, C396, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const &, C396, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const &, C396 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C396 const &, C396 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397, C397, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397, C397 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397, C397 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397, C397 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397, C397 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397, C397 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const, C397, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const, C397, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const, C397 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const, C397 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const, C397 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const, C397 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const, C397 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const, C397 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const, C397 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 &, C397, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 &, C397, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 &, C397 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 &, C397 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 &, C397 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 &, C397 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 &, C397 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 &, C397 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const &, C397, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const &, C397, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const &, C397 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const &, C397 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const &, C397 const, ret const & >::value), 0);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_binary_classes9_test.cpp b/SRC/Boost/libs/type_traits/test/has_binary_classes9_test.cpp
deleted file mode 100755
index 87d1b3d..0000000
--- a/SRC/Boost/libs/type_traits/test/has_binary_classes9_test.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_binary_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const &, C397 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const &, C397 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const &, C397 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C397 const &, C397 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398, C398, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398, C398, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398, C398, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398, C398, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398, C398 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398, C398 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398, C398 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398, C398 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398, C398 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const, C398, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const, C398, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const, C398 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const, C398 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const, C398 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const, C398 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 &, C398, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 &, C398, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 &, C398, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 &, C398, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 &, C398 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 &, C398 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 &, C398 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 &, C398 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 &, C398 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 &, C398 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 &, C398 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const &, C398, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const &, C398, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const &, C398 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const &, C398 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const &, C398 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const &, C398 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C398 const &, C398 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401, C401 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401, C401 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401, C401 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401, C401 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401, C401 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401, C401 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const, C401, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const, C401, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const, C401 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const, C401 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const, C401 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const, C401 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const, C401 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const, C401 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const, C401 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const, C401 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const, C401 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 &, C401, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 &, C401, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 &, C401 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 &, C401 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 &, C401 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const &, C401, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const &, C401, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const &, C401 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C401 const &, C401 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402, C402, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402, C402 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402, C402 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402, C402 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402, C402 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402, C402 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402, C402 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const, C402, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const, C402, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const, C402 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const, C402 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const, C402 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const, C402 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const, C402 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const, C402 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const, C402 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const, C402 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const, C402 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const, C402 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 &, C402, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 &, C402, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 &, C402, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 &, C402 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 &, C402 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 &, C402 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 &, C402 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 &, C402 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 &, C402 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const &, C402, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const &, C402, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const &, C402 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const &, C402 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const &, C402 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C402 const &, C402 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405, C405, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405, C405, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405, C405 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405, C405 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405, C405 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405, C405 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const, C405 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 &, C405, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 &, C405, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 &, C405, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 &, C405, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 &, C405 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 &, C405 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 &, C405 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 &, C405 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 &, C405 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const &, C405, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const &, C405, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const &, C405, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const &, C405 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const &, C405 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const &, C405 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const &, C405 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const &, C405 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const &, C405 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C405 const &, C405 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406, C406, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406, C406, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406, C406 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406, C406 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406, C406 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406, C406 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 const, C406, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 const, C406, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 const, C406 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 const, C406 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 const, C406 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 const, C406 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 const, C406 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 &, C406, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 &, C406, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 &, C406 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 &, C406 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 &, C406 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 &, C406 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 const &, C406, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 const &, C406 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C406 const &, C406 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407, C407, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407, C407, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407, C407, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407, C407 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407, C407 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407, C407 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407, C407 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407, C407 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407, C407 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407, C407 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const, C407, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const, C407, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const, C407, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const, C407 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const, C407 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const, C407 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const, C407 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const, C407 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const, C407 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const, C407 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const, C407 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 &, C407, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 &, C407, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 &, C407 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 &, C407 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 &, C407 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 &, C407 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 &, C407 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 &, C407 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const &, C407, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const &, C407, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const &, C407, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const &, C407 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const &, C407 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const &, C407 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const &, C407 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const &, C407 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C407 const &, C407 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410, C410, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410, C410 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410, C410 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410, C410 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410, C410 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410, C410 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const, C410, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const, C410, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const, C410 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const, C410 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const, C410 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const, C410 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const, C410 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const, C410 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 &, C410, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 &, C410 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 &, C410 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 &, C410 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 &, C410 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 &, C410 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const &, C410, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const &, C410, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const &, C410 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const &, C410 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const &, C410 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const &, C410 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C410 const &, C410 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411, C411, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411, C411 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411, C411 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411, C411 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const, C411, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const, C411, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const, C411 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const, C411 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const, C411 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const, C411 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const, C411 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const, C411 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 &, C411, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 &, C411, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 &, C411, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 &, C411 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 &, C411 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 &, C411 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 &, C411 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 &, C411 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const &, C411, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const &, C411 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const &, C411 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const &, C411 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const &, C411 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const &, C411 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const &, C411 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_plus< C411 const &, C411 const &, ret & >::value), 0);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_binary_operators.hpp b/SRC/Boost/libs/type_traits/test/has_binary_operators.hpp
deleted file mode 100755
index 5f03c9d..0000000
--- a/SRC/Boost/libs/type_traits/test/has_binary_operators.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-//  (C) Copyright Frederic Bron 2009-2011.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef TT_HAS_BINARY_OPERATORS_HPP
-#define TT_HAS_BINARY_OPERATORS_HPP
-
-// test with one template parameter
-#define TEST_T(TYPE,RESULT) BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME<TYPE>::value), RESULT)
-// test with one template parameter plus return value
-#define TEST_TR(TYPE,RET,RESULT) BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME<TYPE,TYPE,RET>::value), RESULT)
-// test with two template parameters
-#define TEST_TT(TYPE1,TYPE2,RESULT) BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME<TYPE1,TYPE2>::value), RESULT)
-// test with two template parameters plus return value
-#define TEST_TTR(TYPE1,TYPE2,RET,RESULT) BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME<TYPE1,TYPE2,RET>::value), RESULT)
-
-namespace {
-
-struct without { };
-
-struct ret { };
-
-struct internal { ret operator BOOST_TT_TRAIT_OP (const internal&) const; };
-
-struct external { };
-ret operator BOOST_TT_TRAIT_OP (const external&, const external&);
-
-struct comma1_ret { };
-struct ret_with_comma1 { comma1_ret operator,(int); };
-
-struct internal_comma1 { ret_with_comma1 operator BOOST_TT_TRAIT_OP (const internal_comma1&) const; };
-
-struct external_comma1 { };
-ret_with_comma1 operator BOOST_TT_TRAIT_OP (const external_comma1&, const external_comma1&);
-
-struct ret_with_comma2 { void operator,(int); };
-
-struct internal_comma2 { ret_with_comma2 operator BOOST_TT_TRAIT_OP (const internal_comma2&) const; };
-
-struct external_comma2 { };
-ret_with_comma2 operator BOOST_TT_TRAIT_OP (const external_comma2&, const external_comma2&);
-
-struct returns_int { int operator BOOST_TT_TRAIT_OP (const returns_int&); };
-
-struct returns_void { void operator BOOST_TT_TRAIT_OP (const returns_void&); };
-
-struct returns_void_star { void *operator BOOST_TT_TRAIT_OP (const returns_void_star&); };
-
-struct returns_double { double operator BOOST_TT_TRAIT_OP (const returns_double&); };
-
-struct ret1 { };
-struct convertible_to_ret1 { operator ret1 () const; };
-struct returns_convertible_to_ret1 { convertible_to_ret1 operator BOOST_TT_TRAIT_OP (const returns_convertible_to_ret1&); };
-
-struct convertible_to_ret2 { };
-struct ret2 { ret2(const convertible_to_ret2); };
-struct returns_convertible_to_ret2 { convertible_to_ret2 operator BOOST_TT_TRAIT_OP (const returns_convertible_to_ret2&); };
-
-class Base1 { };
-class Derived1 : public Base1 { };
-
-bool operator BOOST_TT_TRAIT_OP (const Base1&, const Base1&) { return true; }
-
-class Base2 { };
-struct Derived2 : public Base2 {
-   Derived2(int); // to check if it works with a class that is not default constructible
-};
-
-bool operator BOOST_TT_TRAIT_OP (const Derived2&, const Derived2&) { return true; }
-
-struct tag { };
-
-struct A { };
-struct B : public A { };
-
-struct C { };
-struct D { };
-bool operator BOOST_TT_TRAIT_OP (const C&, void*) { return true; }
-bool operator BOOST_TT_TRAIT_OP (void*, const D&) { return true; }
-bool operator BOOST_TT_TRAIT_OP (const C&, const D&) { return true; }
-
-//class internal_private { ret operator BOOST_TT_TRAIT_OP (const internal_private&) const; };
-
-void common() {
-   TEST_T(void, false);
-   TEST_TT(void, void, false);
-   TEST_TTR(void, void, void, false);
-   TEST_TTR(void, void, int, false);
-
-   TEST_T(without, false);
-   TEST_T(internal, true);
-   TEST_T(external, true);
-   TEST_T(internal_comma1, true);
-   TEST_T(external_comma1, true);
-   TEST_T(internal_comma2, true);
-   TEST_T(external_comma2, true);
-   TEST_T(returns_int, true);
-   TEST_T(returns_void, true);
-   TEST_T(returns_void_star, true);
-   TEST_T(returns_double, true);
-   TEST_T(returns_convertible_to_ret1, true);
-   TEST_T(returns_convertible_to_ret2, true);
-   TEST_T(Base1, true);
-   TEST_T(Derived1, true);
-   TEST_T(Base2, false);
-   TEST_T(Derived2, true);
-
-   TEST_TR(without, void, false);
-   TEST_TR(without, bool, false);
-   TEST_TR(internal, void, false);
-   TEST_TR(internal, bool, false);
-   TEST_TR(internal, ret, true);
-   TEST_TR(internal_comma1, void, false);
-   TEST_TR(internal_comma1, bool, false);
-   TEST_TR(internal_comma1, ret_with_comma1, true);
-   TEST_TR(internal_comma2, void, false);
-   TEST_TR(internal_comma2, bool, false);
-   TEST_TR(internal_comma2, ret_with_comma2, true);
-   TEST_TR(external, void, false);
-   TEST_TR(external, bool, false);
-   TEST_TR(external, ret, true);
-   TEST_TR(returns_int, void, false);
-   TEST_TR(returns_int, bool, true);
-   TEST_TR(returns_int, int, true);
-   TEST_TR(returns_void, void, true);
-   TEST_TR(returns_void, bool, false);
-   TEST_TR(returns_void_star, bool, true);
-   TEST_TR(returns_double, void, false);
-   TEST_TR(returns_double, bool, true);
-   TEST_TR(returns_double, double, true);
-   TEST_TR(returns_convertible_to_ret1, void, false);
-   TEST_TR(returns_convertible_to_ret1, ret1, true);
-   TEST_TR(returns_convertible_to_ret2, ret2, true);
-   TEST_TR(Base1, bool, true);
-   TEST_TR(Derived1, bool, true);
-   TEST_TR(Base2, bool, false);
-   TEST_TR(Derived2, bool, true);
-// compile time error
-// TEST_T(internal_private, false);
-}
-
-}
-
-#endif
diff --git a/SRC/Boost/libs/type_traits/test/has_bit_and_assign_test.cpp b/SRC/Boost/libs/type_traits/test/has_bit_and_assign_test.cpp
deleted file mode 100755
index ef6f25c..0000000
--- a/SRC/Boost/libs/type_traits/test/has_bit_and_assign_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_bit_and_assign.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_bit_and_assign
-#define BOOST_TT_TRAIT_OP &=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_bit_and_test.cpp b/SRC/Boost/libs/type_traits/test/has_bit_and_test.cpp
deleted file mode 100755
index 627d3a1..0000000
--- a/SRC/Boost/libs/type_traits/test/has_bit_and_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_bit_and.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_bit_and
-#define BOOST_TT_TRAIT_OP &
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_bit_or_assign_test.cpp b/SRC/Boost/libs/type_traits/test/has_bit_or_assign_test.cpp
deleted file mode 100755
index efa681b..0000000
--- a/SRC/Boost/libs/type_traits/test/has_bit_or_assign_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_bit_or_assign.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_bit_or_assign
-#define BOOST_TT_TRAIT_OP |=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_bit_or_test.cpp b/SRC/Boost/libs/type_traits/test/has_bit_or_test.cpp
deleted file mode 100755
index b4c73f8..0000000
--- a/SRC/Boost/libs/type_traits/test/has_bit_or_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_bit_or.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_bit_or
-#define BOOST_TT_TRAIT_OP |
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_bit_xor_assign_test.cpp b/SRC/Boost/libs/type_traits/test/has_bit_xor_assign_test.cpp
deleted file mode 100755
index a859d6f..0000000
--- a/SRC/Boost/libs/type_traits/test/has_bit_xor_assign_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_bit_xor_assign.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_bit_xor_assign
-#define BOOST_TT_TRAIT_OP ^=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_bit_xor_test.cpp b/SRC/Boost/libs/type_traits/test/has_bit_xor_test.cpp
deleted file mode 100755
index 6db3345..0000000
--- a/SRC/Boost/libs/type_traits/test/has_bit_xor_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_bit_xor.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_bit_xor
-#define BOOST_TT_TRAIT_OP ^
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_complement_test.cpp b/SRC/Boost/libs/type_traits/test/has_complement_test.cpp
deleted file mode 100755
index dfa56b4..0000000
--- a/SRC/Boost/libs/type_traits/test/has_complement_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_complement.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_complement
-#define BOOST_TT_TRAIT_OP ~
-
-
-#include "has_prefix_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_dereference_test.cpp b/SRC/Boost/libs/type_traits/test/has_dereference_test.cpp
deleted file mode 100755
index c1dab13..0000000
--- a/SRC/Boost/libs/type_traits/test/has_dereference_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_dereference.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_dereference
-#define BOOST_TT_TRAIT_OP *
-
-
-#include "has_prefix_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool*, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool*, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool*, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool*, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double*, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double*, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double* const &, int const & >::value), 1);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_divides_assign_test.cpp b/SRC/Boost/libs/type_traits/test/has_divides_assign_test.cpp
deleted file mode 100755
index e788d50..0000000
--- a/SRC/Boost/libs/type_traits/test/has_divides_assign_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_divides_assign.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_divides_assign
-#define BOOST_TT_TRAIT_OP /=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_divides_test.cpp b/SRC/Boost/libs/type_traits/test/has_divides_test.cpp
deleted file mode 100755
index e14b80a..0000000
--- a/SRC/Boost/libs/type_traits/test/has_divides_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_divides.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_divides
-#define BOOST_TT_TRAIT_OP /
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_equal_to_test.cpp b/SRC/Boost/libs/type_traits/test/has_equal_to_test.cpp
deleted file mode 100755
index 79f66e8..0000000
--- a/SRC/Boost/libs/type_traits/test/has_equal_to_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_equal_to.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_equal_to
-#define BOOST_TT_TRAIT_OP ==
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 1);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_greater_equal_test.cpp b/SRC/Boost/libs/type_traits/test/has_greater_equal_test.cpp
deleted file mode 100755
index 3f2875b..0000000
--- a/SRC/Boost/libs/type_traits/test/has_greater_equal_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_greater_equal.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_greater_equal
-#define BOOST_TT_TRAIT_OP >=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 1);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_greater_test.cpp b/SRC/Boost/libs/type_traits/test/has_greater_test.cpp
deleted file mode 100755
index 729930d..0000000
--- a/SRC/Boost/libs/type_traits/test/has_greater_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_greater.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_greater
-#define BOOST_TT_TRAIT_OP >
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 1);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_left_shift_assign_test.cpp b/SRC/Boost/libs/type_traits/test/has_left_shift_assign_test.cpp
deleted file mode 100755
index a56dd18..0000000
--- a/SRC/Boost/libs/type_traits/test/has_left_shift_assign_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_left_shift_assign.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_left_shift_assign
-#define BOOST_TT_TRAIT_OP <<=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_left_shift_test.cpp b/SRC/Boost/libs/type_traits/test/has_left_shift_test.cpp
deleted file mode 100755
index ea72524..0000000
--- a/SRC/Boost/libs/type_traits/test/has_left_shift_test.cpp
+++ /dev/null
@@ -1,250 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_left_shift.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_left_shift
-#define BOOST_TT_TRAIT_OP <<
-
-#include <ostream>
-#include <string>
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 0);
-
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, long, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, unsigned long, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, bool, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, short, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, unsigned short, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, int, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, unsigned int, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, double, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, float, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, void*, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, char, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, signed char, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, unsigned char, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, const char*, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, char*, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, const signed char*, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, signed char*, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, const unsigned char*, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, unsigned char*, std::ostream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, std::string, std::ostream& >::value), 1);
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_less_equal_test.cpp b/SRC/Boost/libs/type_traits/test/has_less_equal_test.cpp
deleted file mode 100755
index 4685bfa..0000000
--- a/SRC/Boost/libs/type_traits/test/has_less_equal_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_less_equal.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_less_equal
-#define BOOST_TT_TRAIT_OP <=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 1);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_less_test.cpp b/SRC/Boost/libs/type_traits/test/has_less_test.cpp
deleted file mode 100755
index 910470a..0000000
--- a/SRC/Boost/libs/type_traits/test/has_less_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_less.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_less
-#define BOOST_TT_TRAIT_OP <
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 1);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_logical_and_test.cpp b/SRC/Boost/libs/type_traits/test/has_logical_and_test.cpp
deleted file mode 100755
index 334654c..0000000
--- a/SRC/Boost/libs/type_traits/test/has_logical_and_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_logical_and.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_logical_and
-#define BOOST_TT_TRAIT_OP &&
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 1);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_logical_not_test.cpp b/SRC/Boost/libs/type_traits/test/has_logical_not_test.cpp
deleted file mode 100755
index 4769c49..0000000
--- a/SRC/Boost/libs/type_traits/test/has_logical_not_test.cpp
+++ /dev/null
@@ -1,231 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_logical_not.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_logical_not
-#define BOOST_TT_TRAIT_OP !
-
-#include <iostream>
-
-#include "has_prefix_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const & >::value), 1);
-
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::ostream, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, bool >::value), 1);
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_logical_or_test.cpp b/SRC/Boost/libs/type_traits/test/has_logical_or_test.cpp
deleted file mode 100755
index 995f2c7..0000000
--- a/SRC/Boost/libs/type_traits/test/has_logical_or_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_logical_or.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_logical_or
-#define BOOST_TT_TRAIT_OP ||
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 1);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_minus_assign_test.cpp b/SRC/Boost/libs/type_traits/test/has_minus_assign_test.cpp
deleted file mode 100755
index 4861781..0000000
--- a/SRC/Boost/libs/type_traits/test/has_minus_assign_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_minus_assign.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_minus_assign
-#define BOOST_TT_TRAIT_OP -=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_minus_test.cpp b/SRC/Boost/libs/type_traits/test/has_minus_test.cpp
deleted file mode 100755
index 14a303b..0000000
--- a/SRC/Boost/libs/type_traits/test/has_minus_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_minus.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_minus
-#define BOOST_TT_TRAIT_OP -
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const >::value), 1);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_modulus_assign_test.cpp b/SRC/Boost/libs/type_traits/test/has_modulus_assign_test.cpp
deleted file mode 100755
index 9815ec9..0000000
--- a/SRC/Boost/libs/type_traits/test/has_modulus_assign_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_modulus_assign.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_modulus_assign
-#define BOOST_TT_TRAIT_OP %=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_modulus_test.cpp b/SRC/Boost/libs/type_traits/test/has_modulus_test.cpp
deleted file mode 100755
index 43df31c..0000000
--- a/SRC/Boost/libs/type_traits/test/has_modulus_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_modulus.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_modulus
-#define BOOST_TT_TRAIT_OP %
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_multiplies_assign_test.cpp b/SRC/Boost/libs/type_traits/test/has_multiplies_assign_test.cpp
deleted file mode 100755
index 33b28be..0000000
--- a/SRC/Boost/libs/type_traits/test/has_multiplies_assign_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_multiplies_assign.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_multiplies_assign
-#define BOOST_TT_TRAIT_OP *=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_multiplies_test.cpp b/SRC/Boost/libs/type_traits/test/has_multiplies_test.cpp
deleted file mode 100755
index 088ce5b..0000000
--- a/SRC/Boost/libs/type_traits/test/has_multiplies_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_multiplies.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_multiplies
-#define BOOST_TT_TRAIT_OP *
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_negate_test.cpp b/SRC/Boost/libs/type_traits/test/has_negate_test.cpp
deleted file mode 100755
index ec3c9ca..0000000
--- a/SRC/Boost/libs/type_traits/test/has_negate_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_negate.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_negate
-#define BOOST_TT_TRAIT_OP -
-
-
-#include "has_prefix_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_not_equal_to_test.cpp b/SRC/Boost/libs/type_traits/test/has_not_equal_to_test.cpp
deleted file mode 100755
index f3be59a..0000000
--- a/SRC/Boost/libs/type_traits/test/has_not_equal_to_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_not_equal_to.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_not_equal_to
-#define BOOST_TT_TRAIT_OP !=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 1);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_nothrow_assign_test.cpp b/SRC/Boost/libs/type_traits/test/has_nothrow_assign_test.cpp
deleted file mode 100755
index 0acb0c5..0000000
--- a/SRC/Boost/libs/type_traits/test/has_nothrow_assign_test.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_nothrow_assign.hpp>
-#endif
-
-TT_TEST_BEGIN(has_nothrow_assign)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<bool>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<bool const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<bool volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<bool const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<signed char>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<signed char const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<signed char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<signed char const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<char>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned char const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<char const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned char const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<char const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<short>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned short const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<short const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned short volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<short volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned short const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<short const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned int const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned int volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned int const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<long>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned long const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<long const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned long volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<long volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned long const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<long const volatile>::value, false);
-#endif
-
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign< ::boost::ulong_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign< ::boost::long_long_type>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign< ::boost::ulong_long_type const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign< ::boost::long_long_type const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign< ::boost::ulong_long_type volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign< ::boost::long_long_type volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign< ::boost::ulong_long_type const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign< ::boost::long_long_type const volatile>::value, false);
-#endif
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int8>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int8 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int8 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int8 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int8 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int8 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int8 const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int16>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int16 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int16 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int16 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int16 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int16 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int16 const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int32>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int32 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int32 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int32 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int32 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int32 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int32 const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int64>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int64 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int64 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int64 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int64 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<unsigned __int64 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<__int64 const volatile>::value, false);
-#endif
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<float>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<float const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<float volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<float const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<double>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<double const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<double volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<double const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<long double>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<long double const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<long double volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<long double const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<void*>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int*const>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<f1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<f2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<f3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<mf1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<mf2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<cmf>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<enum_UDT>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int[3][2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int[2][4][5][6][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<void>::value, false);
-// cases we would like to succeed but can't implement in the language:
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<empty_POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<POD_union_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<empty_POD_union_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<nothrow_assign_UDT>::value, true, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<nothrow_copy_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<nothrow_construct_UDT>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<test_abc1>::value, false);
-
-TT_TEST_END
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/has_nothrow_constr_test.cpp b/SRC/Boost/libs/type_traits/test/has_nothrow_constr_test.cpp
deleted file mode 100755
index 488f218..0000000
--- a/SRC/Boost/libs/type_traits/test/has_nothrow_constr_test.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_nothrow_constructor.hpp>
-#endif
-
-TT_TEST_BEGIN(has_nothrow_constructor)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<bool>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<bool const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<bool volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<bool const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<signed char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<signed char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<signed char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<signed char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<char const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned short const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<short const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned int const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned long const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<long const volatile>::value, true);
-
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor< ::boost::ulong_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor< ::boost::long_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor< ::boost::ulong_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor< ::boost::long_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor< ::boost::ulong_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor< ::boost::long_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor< ::boost::ulong_long_type const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor< ::boost::long_long_type const volatile>::value, true);
-
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int8 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int8 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int16 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int16 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int32 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int32 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<unsigned __int64 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<__int64 const volatile>::value, true);
-
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<float>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<float const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<float volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<float const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<double const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<long double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<long double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<long double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<long double const volatile>::value, true);
-
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<void*>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int*const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<f1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<f2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<f3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<mf1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<mf2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<cmf>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<enum_UDT>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int[3][2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int[2][4][5][6][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<void>::value, false);
-// cases we would like to succeed but can't implement in the language:
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<empty_POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<POD_union_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<empty_POD_union_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<nothrow_construct_UDT>::value, true, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<nothrow_assign_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<nothrow_copy_UDT>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<test_abc1>::value, false);
-
-TT_TEST_END
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/has_nothrow_copy_test.cpp b/SRC/Boost/libs/type_traits/test/has_nothrow_copy_test.cpp
deleted file mode 100755
index 08b04bb..0000000
--- a/SRC/Boost/libs/type_traits/test/has_nothrow_copy_test.cpp
+++ /dev/null
@@ -1,207 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_nothrow_copy.hpp>
-#endif
-
-TT_TEST_BEGIN(has_nothrow_copy)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<bool>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<bool const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<bool volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<bool const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<signed char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<signed char const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<signed char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<signed char const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<char const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned char const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<char const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<short const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned short volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<short volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned short const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<short const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned int volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned int const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<long const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned long volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<long volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned long const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<long const volatile>::value, false);
-#endif
-
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy< ::boost::ulong_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy< ::boost::long_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy< ::boost::ulong_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy< ::boost::long_long_type const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy< ::boost::ulong_long_type volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy< ::boost::long_long_type volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy< ::boost::ulong_long_type const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy< ::boost::long_long_type const volatile>::value, false);
-#endif
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int8 const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int8 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int8 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int8 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int8 const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int16 const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int16 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int16 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int16 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int16 const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int32 const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int32 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int32 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int32 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int32 const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int64 const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int64 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int64 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<unsigned __int64 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<__int64 const volatile>::value, false);
-#endif
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<float>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<float const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<float volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<float const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<double const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<double volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<double const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<long double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<long double const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<long double volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<long double const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<void*>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int*const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<f1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<f2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<f3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<mf1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<mf2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<cmf>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<enum_UDT>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int[3][2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int[2][4][5][6][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<void>::value, false);
-// cases we would like to succeed but can't implement in the language:
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<empty_POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<POD_union_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<empty_POD_union_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<nothrow_copy_UDT>::value, true, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<nothrow_assign_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<nothrow_construct_UDT>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<test_abc1>::value, false);
-
-TT_TEST_END
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/has_operator_new_test.cpp b/SRC/Boost/libs/type_traits/test/has_operator_new_test.cpp
deleted file mode 100755
index f420d27..0000000
--- a/SRC/Boost/libs/type_traits/test/has_operator_new_test.cpp
+++ /dev/null
@@ -1,202 +0,0 @@
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#include <boost/type_traits/has_new_operator.hpp>
-
-#ifdef BOOST_INTEL
-//  remark #1720: function "class_with_new_op::operator new" has no corresponding member operator delete (to be called if an exception is thrown during initialization of an allocated object)
-//      void * operator new(std::size_t);
-//             ^
-#pragma warning(disable:1720)
-#endif
-
-struct class_with_new_op {
-    void * operator new(std::size_t);
-};
-
-struct derived_class_with_new_op : public class_with_new_op {};
-
-struct class_with_new_op2 {
-   void* operator new(std::size_t size, const std::nothrow_t&);
-};
-
-struct class_with_new_op3 {
-   void* operator new[](std::size_t size);
-};
-
-struct class_with_new_op4 {
-   void* operator new[](std::size_t size, const std::nothrow_t&);
-};
-
-struct class_with_new_op5 {
-   void* operator new (std::size_t size, void* ptr);
-};
-
-struct class_with_new_op6 {
-   void* operator new[] (std::size_t size, void* ptr);
-};
-
-struct class_with_all_ops
-{
-   void * operator new(std::size_t);
-   void* operator new(std::size_t size, const std::nothrow_t&);
-   void* operator new[](std::size_t size);
-   void* operator new[](std::size_t size, const std::nothrow_t&);
-   void* operator new (std::size_t size, void* ptr);
-   void* operator new[] (std::size_t size, void* ptr);
-};
-
-TT_TEST_BEGIN(has_new_operator)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<class_with_new_op>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<derived_class_with_new_op>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<class_with_new_op2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<class_with_new_op3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<class_with_new_op4>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<class_with_new_op5>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<class_with_new_op6>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<class_with_all_ops>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<bool>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<bool const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<bool volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<bool const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<signed char>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<signed char const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<signed char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<signed char const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned char>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<char>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned char const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<char const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned char const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<char const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned short>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<short>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned short const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<short const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned short volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<short volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned short const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<short const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned int const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned int volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned int const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned long>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<long>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned long const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<long const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned long volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<long volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned long const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<long const volatile>::value, false);
-
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator< ::boost::ulong_long_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator< ::boost::long_long_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator< ::boost::ulong_long_type const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator< ::boost::long_long_type const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator< ::boost::ulong_long_type volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator< ::boost::long_long_type volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator< ::boost::ulong_long_type const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator< ::boost::long_long_type const volatile>::value, false);
-
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int8>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int8>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int8 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int8 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int8 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int8 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int8 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int8 const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int16>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int16>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int16 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int16 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int16 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int16 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int16 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int16 const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int32>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int32>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int32 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int32 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int32 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int32 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int32 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int32 const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int64>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int64>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int64 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int64 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int64 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int64 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<unsigned __int64 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<__int64 const volatile>::value, false);
-
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<float>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<float const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<float volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<float const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<double>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<double const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<double volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<double const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<long double>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<long double const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<long double volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<long double const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<void*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int*const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<f1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<f2>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<f3>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<mf1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<mf2>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<mf3>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<mp>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<cmf>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<enum_UDT>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int[3][2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int[2][4][5][6][3]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<void>::value, false);
-
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_plus_assign_test.cpp b/SRC/Boost/libs/type_traits/test/has_plus_assign_test.cpp
deleted file mode 100755
index 3547937..0000000
--- a/SRC/Boost/libs/type_traits/test/has_plus_assign_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_plus_assign.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_plus_assign
-#define BOOST_TT_TRAIT_OP +=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_plus_test.cpp b/SRC/Boost/libs/type_traits/test/has_plus_test.cpp
deleted file mode 100755
index a9477a4..0000000
--- a/SRC/Boost/libs/type_traits/test/has_plus_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_plus.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_plus
-#define BOOST_TT_TRAIT_OP +
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, double const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_post_decrement_test.cpp b/SRC/Boost/libs/type_traits/test/has_post_decrement_test.cpp
deleted file mode 100755
index baa547f..0000000
--- a/SRC/Boost/libs/type_traits/test/has_post_decrement_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_post_decrement.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_post_decrement
-#define BOOST_TT_TRAIT_OP --
-
-
-#include "has_postfix_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_post_increment_test.cpp b/SRC/Boost/libs/type_traits/test/has_post_increment_test.cpp
deleted file mode 100755
index 2d88232..0000000
--- a/SRC/Boost/libs/type_traits/test/has_post_increment_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_post_increment.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_post_increment
-#define BOOST_TT_TRAIT_OP ++
-
-
-#include "has_postfix_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_postfix_classes.hpp b/SRC/Boost/libs/type_traits/test/has_postfix_classes.hpp
deleted file mode 100755
index 63a52f6..0000000
--- a/SRC/Boost/libs/type_traits/test/has_postfix_classes.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//  (C) Copyright Frederic Bron 2009-2011.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef TT_HAS_POSTFIX_CLASSES_HPP
-#define TT_HAS_POSTFIX_CLASSES_HPP
-
-struct ret { };
-ret ret_val;
-
-class C000 { C000(); public: C000(int) { } };
-void operator++(C000, int) { }
-
-class C001 { C001(); public: C001(int) { } };
-ret  operator++(C001, int) { return ret_val; }
-
-class C002 { C002(); public: C002(int) { } };
-ret  const operator++(C002, int) { return ret_val; }
-
-class C005 { C005(); public: C005(int) { } };
-ret  & operator++(C005, int) { return ret_val; }
-
-class C006 { C006(); public: C006(int) { } };
-ret  const & operator++(C006, int) { return ret_val; }
-
-class C009 { C009(); public: C009(int) { } };
-void operator++(C009 const, int) { }
-
-class C010 { C010(); public: C010(int) { } };
-ret  operator++(C010 const, int) { return ret_val; }
-
-class C011 { C011(); public: C011(int) { } };
-ret  const operator++(C011 const, int) { return ret_val; }
-
-class C014 { C014(); public: C014(int) { } };
-ret  & operator++(C014 const, int) { return ret_val; }
-
-class C015 { C015(); public: C015(int) { } };
-ret  const & operator++(C015 const, int) { return ret_val; }
-
-class C036 { C036(); public: C036(int) { } };
-void operator++(C036 &, int) { }
-
-class C037 { C037(); public: C037(int) { } };
-ret  operator++(C037 &, int) { return ret_val; }
-
-class C038 { C038(); public: C038(int) { } };
-ret  const operator++(C038 &, int) { return ret_val; }
-
-class C041 { C041(); public: C041(int) { } };
-ret  & operator++(C041 &, int) { return ret_val; }
-
-class C042 { C042(); public: C042(int) { } };
-ret  const & operator++(C042 &, int) { return ret_val; }
-
-class C045 { C045(); public: C045(int) { } };
-void operator++(C045 const &, int) { }
-
-class C046 { C046(); public: C046(int) { } };
-ret  operator++(C046 const &, int) { return ret_val; }
-
-class C047 { C047(); public: C047(int) { } };
-ret  const operator++(C047 const &, int) { return ret_val; }
-
-class C050 { C050(); public: C050(int) { } };
-ret  & operator++(C050 const &, int) { return ret_val; }
-
-class C051 { C051(); public: C051(int) { } };
-ret  const & operator++(C051 const &, int) { return ret_val; }
-
-#endif
diff --git a/SRC/Boost/libs/type_traits/test/has_postfix_classes0_test.cpp b/SRC/Boost/libs/type_traits/test/has_postfix_classes0_test.cpp
deleted file mode 100755
index 0c2c36a..0000000
--- a/SRC/Boost/libs/type_traits/test/has_postfix_classes0_test.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_postfix_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C000 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C001 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C002 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C005 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C006 const &, ret const & >::value), 1);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_postfix_classes1_test.cpp b/SRC/Boost/libs/type_traits/test/has_postfix_classes1_test.cpp
deleted file mode 100755
index fd7882e..0000000
--- a/SRC/Boost/libs/type_traits/test/has_postfix_classes1_test.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_postfix_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C009 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C010 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C011 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C014 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C015 const &, ret const & >::value), 1);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_postfix_classes2_test.cpp b/SRC/Boost/libs/type_traits/test/has_postfix_classes2_test.cpp
deleted file mode 100755
index 7db1492..0000000
--- a/SRC/Boost/libs/type_traits/test/has_postfix_classes2_test.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_postfix_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C036 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C037 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C038 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C041 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C042 const &, ret const & >::value), 0);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_postfix_classes3_test.cpp b/SRC/Boost/libs/type_traits/test/has_postfix_classes3_test.cpp
deleted file mode 100755
index 6a0a4ba..0000000
--- a/SRC/Boost/libs/type_traits/test/has_postfix_classes3_test.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_postfix_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C045 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C046 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C047 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C050 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_post_increment< C051 const &, ret const & >::value), 1);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_postfix_operators.hpp b/SRC/Boost/libs/type_traits/test/has_postfix_operators.hpp
deleted file mode 100755
index 0558aaa..0000000
--- a/SRC/Boost/libs/type_traits/test/has_postfix_operators.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-//  (C) Copyright Frederic Bron 2009-2011.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef TT_HAS_POSTFIX_OPERATORS_HPP
-#define TT_HAS_POSTFIX_OPERATORS_HPP
-
-// test with one template parameter
-#define TEST_T(TYPE,RESULT) BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME<TYPE>::value), RESULT)
-// test with one template parameter plus return value
-#define TEST_TR(TYPE,RET,RESULT) BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME<TYPE,RET>::value), RESULT)
-
-namespace {
-
-struct without { };
-
-struct ret { };
-
-struct internal { ret operator BOOST_TT_TRAIT_OP (int) const; };
-
-struct external { };
-ret operator BOOST_TT_TRAIT_OP (const external&, int);
-
-struct comma1_ret { };
-struct ret_with_comma1 { comma1_ret operator,(int); };
-
-struct internal_comma1 { ret_with_comma1 operator BOOST_TT_TRAIT_OP (int) const; };
-
-struct external_comma1 { };
-ret_with_comma1 operator BOOST_TT_TRAIT_OP (const external_comma1&, int);
-
-struct ret_with_comma2 { void operator,(int); };
-
-struct internal_comma2 { ret_with_comma2 operator BOOST_TT_TRAIT_OP (int) const; };
-
-struct external_comma2 { };
-ret_with_comma2 operator BOOST_TT_TRAIT_OP (const external_comma2&, int);
-
-struct returns_int { int operator BOOST_TT_TRAIT_OP (int); };
-
-struct returns_void { void operator BOOST_TT_TRAIT_OP (int); };
-
-struct returns_void_star { void *operator BOOST_TT_TRAIT_OP (int); };
-
-struct returns_double { double operator BOOST_TT_TRAIT_OP (int); };
-
-struct ret1 { };
-struct convertible_to_ret1 { operator ret1 () const; };
-struct returns_convertible_to_ret1 { convertible_to_ret1 operator BOOST_TT_TRAIT_OP (int); };
-
-struct convertible_to_ret2 { };
-struct ret2 { ret2(const convertible_to_ret2); };
-struct returns_convertible_to_ret2 { convertible_to_ret2 operator BOOST_TT_TRAIT_OP (int); };
-
-class Base1 { };
-class Derived1 : public Base1 { };
-
-bool operator BOOST_TT_TRAIT_OP (const Base1&, int) { return true; }
-
-class Base2 { };
-struct Derived2 : public Base2 {
-   Derived2(int); // to check if it works with a class that is not default constructible
-};
-
-bool operator BOOST_TT_TRAIT_OP (const Derived2&, int) { return true; }
-
-struct tag { };
-
-//class internal_private { ret operator BOOST_TT_TRAIT_OP (int) const; };
-
-void common() {
-   TEST_T(void, false);
-   TEST_TR(void, void, false);
-   TEST_TR(void, int, false);
-
-   TEST_T(without, false);
-   TEST_T(internal, true);
-   TEST_T(external, true);
-   TEST_T(internal_comma1, true);
-   TEST_T(external_comma1, true);
-   TEST_T(internal_comma2, true);
-   TEST_T(external_comma2, true);
-   TEST_T(returns_int, true);
-   TEST_T(returns_void, true);
-   TEST_T(returns_void_star, true);
-   TEST_T(returns_double, true);
-   TEST_T(returns_convertible_to_ret1, true);
-   TEST_T(returns_convertible_to_ret2, true);
-   TEST_T(Base1, true);
-   TEST_T(Derived1, true);
-   TEST_T(Base2, false);
-   TEST_T(Derived2, true);
-
-   TEST_TR(without, void, false);
-   TEST_TR(without, bool, false);
-   TEST_TR(internal, void, false);
-   TEST_TR(internal, bool, false);
-   TEST_TR(internal, ret, true);
-   TEST_TR(internal_comma1, void, false);
-   TEST_TR(internal_comma1, bool, false);
-   TEST_TR(internal_comma1, ret_with_comma1, true);
-   TEST_TR(internal_comma2, void, false);
-   TEST_TR(internal_comma2, bool, false);
-   TEST_TR(internal_comma2, ret_with_comma2, true);
-   TEST_TR(external, void, false);
-   TEST_TR(external, bool, false);
-   TEST_TR(external, ret, true);
-   TEST_TR(returns_int, void, false);
-   TEST_TR(returns_int, bool, true);
-   TEST_TR(returns_int, int, true);
-   TEST_TR(returns_void, void, true);
-   TEST_TR(returns_void, bool, false);
-   TEST_TR(returns_void_star, bool, true);
-   TEST_TR(returns_double, void, false);
-   TEST_TR(returns_double, bool, true);
-   TEST_TR(returns_double, double, true);
-   TEST_TR(returns_convertible_to_ret1, void, false);
-   TEST_TR(returns_convertible_to_ret1, ret1, true);
-   TEST_TR(returns_convertible_to_ret2, ret2, true);
-   TEST_TR(Base1, bool, true);
-   TEST_TR(Derived1, bool, true);
-   TEST_TR(Base2, bool, false);
-   TEST_TR(Derived2, bool, true);
-// compile time error
-// TEST_T(internal_private, false);
-}
-
-}
-
-#endif
diff --git a/SRC/Boost/libs/type_traits/test/has_pre_decrement_test.cpp b/SRC/Boost/libs/type_traits/test/has_pre_decrement_test.cpp
deleted file mode 100755
index 71255fc..0000000
--- a/SRC/Boost/libs/type_traits/test/has_pre_decrement_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_pre_decrement.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_pre_decrement
-#define BOOST_TT_TRAIT_OP --
-
-
-#include "has_prefix_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_pre_increment_test.cpp b/SRC/Boost/libs/type_traits/test/has_pre_increment_test.cpp
deleted file mode 100755
index 2d8ab64..0000000
--- a/SRC/Boost/libs/type_traits/test/has_pre_increment_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_pre_increment.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_pre_increment
-#define BOOST_TT_TRAIT_OP ++
-
-
-#include "has_prefix_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_prefix_classes.hpp b/SRC/Boost/libs/type_traits/test/has_prefix_classes.hpp
deleted file mode 100755
index 4b85d75..0000000
--- a/SRC/Boost/libs/type_traits/test/has_prefix_classes.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//  (C) Copyright Frederic Bron 2009-2011.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef TT_HAS_PREFIX_CLASSES_HPP
-#define TT_HAS_PREFIX_CLASSES_HPP
-
-struct ret { };
-ret ret_val;
-
-class C000 { C000(); public: C000(int) { } };
-void operator++(C000) { }
-
-class C001 { C001(); public: C001(int) { } };
-ret  operator++(C001) { return ret_val; }
-
-class C002 { C002(); public: C002(int) { } };
-ret  const operator++(C002) { return ret_val; }
-
-class C005 { C005(); public: C005(int) { } };
-ret  & operator++(C005) { return ret_val; }
-
-class C006 { C006(); public: C006(int) { } };
-ret  const & operator++(C006) { return ret_val; }
-
-class C009 { C009(); public: C009(int) { } };
-void operator++(C009 const) { }
-
-class C010 { C010(); public: C010(int) { } };
-ret  operator++(C010 const) { return ret_val; }
-
-class C011 { C011(); public: C011(int) { } };
-ret  const operator++(C011 const) { return ret_val; }
-
-class C014 { C014(); public: C014(int) { } };
-ret  & operator++(C014 const) { return ret_val; }
-
-class C015 { C015(); public: C015(int) { } };
-ret  const & operator++(C015 const) { return ret_val; }
-
-class C036 { C036(); public: C036(int) { } };
-void operator++(C036 &) { }
-
-class C037 { C037(); public: C037(int) { } };
-ret  operator++(C037 &) { return ret_val; }
-
-class C038 { C038(); public: C038(int) { } };
-ret  const operator++(C038 &) { return ret_val; }
-
-class C041 { C041(); public: C041(int) { } };
-ret  & operator++(C041 &) { return ret_val; }
-
-class C042 { C042(); public: C042(int) { } };
-ret  const & operator++(C042 &) { return ret_val; }
-
-class C045 { C045(); public: C045(int) { } };
-void operator++(C045 const &) { }
-
-class C046 { C046(); public: C046(int) { } };
-ret  operator++(C046 const &) { return ret_val; }
-
-class C047 { C047(); public: C047(int) { } };
-ret  const operator++(C047 const &) { return ret_val; }
-
-class C050 { C050(); public: C050(int) { } };
-ret  & operator++(C050 const &) { return ret_val; }
-
-class C051 { C051(); public: C051(int) { } };
-ret  const & operator++(C051 const &) { return ret_val; }
-
-#endif
diff --git a/SRC/Boost/libs/type_traits/test/has_prefix_classes0_test.cpp b/SRC/Boost/libs/type_traits/test/has_prefix_classes0_test.cpp
deleted file mode 100755
index 13062d6..0000000
--- a/SRC/Boost/libs/type_traits/test/has_prefix_classes0_test.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_prefix_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C000 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C001 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C002 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C005 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C006 const &, ret const & >::value), 1);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_prefix_classes1_test.cpp b/SRC/Boost/libs/type_traits/test/has_prefix_classes1_test.cpp
deleted file mode 100755
index b275b3d..0000000
--- a/SRC/Boost/libs/type_traits/test/has_prefix_classes1_test.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_prefix_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C009 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C010 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C011 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C014 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C015 const &, ret const & >::value), 1);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_prefix_classes2_test.cpp b/SRC/Boost/libs/type_traits/test/has_prefix_classes2_test.cpp
deleted file mode 100755
index 32a7e55..0000000
--- a/SRC/Boost/libs/type_traits/test/has_prefix_classes2_test.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_prefix_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C036 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C037 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C038 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C041 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C042 const &, ret const & >::value), 0);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_prefix_classes3_test.cpp b/SRC/Boost/libs/type_traits/test/has_prefix_classes3_test.cpp
deleted file mode 100755
index 655bb9d..0000000
--- a/SRC/Boost/libs/type_traits/test/has_prefix_classes3_test.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#include <boost/type_traits/has_operator.hpp>
-#include "has_prefix_classes.hpp"
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 const, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 const, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 const, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 const, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 const &, void >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 const &, ret >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 const &, ret const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C045 const &, ret const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C046 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C047 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 const, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 const &, ret & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C050 const &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 const, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 const, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 const, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 const, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 &, ret const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 const &, ret >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 const &, ret const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 const &, ret & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::has_pre_increment< C051 const &, ret const & >::value), 1);
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_prefix_operators.hpp b/SRC/Boost/libs/type_traits/test/has_prefix_operators.hpp
deleted file mode 100755
index 950d6a0..0000000
--- a/SRC/Boost/libs/type_traits/test/has_prefix_operators.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-//  (C) Copyright Frederic Bron 2009-2011.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef TT_HAS_PREFIX_OPERATORS_HPP
-#define TT_HAS_PREFIX_OPERATORS_HPP
-
-// test with one template parameter
-#define TEST_T(TYPE,RESULT) BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME<TYPE>::value), RESULT)
-// test with one template parameter plus return value
-#define TEST_TR(TYPE,RET,RESULT) BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME<TYPE,RET>::value), RESULT)
-
-namespace {
-
-struct without { };
-
-struct ret { };
-
-struct internal { ret operator BOOST_TT_TRAIT_OP () const; };
-
-struct external { };
-ret operator BOOST_TT_TRAIT_OP (const external&);
-
-struct comma1_ret { };
-struct ret_with_comma1 { comma1_ret operator,(int); };
-
-struct internal_comma1 { ret_with_comma1 operator BOOST_TT_TRAIT_OP () const; };
-
-struct external_comma1 { };
-ret_with_comma1 operator BOOST_TT_TRAIT_OP (const external_comma1&);
-
-struct ret_with_comma2 { void operator,(int); };
-
-struct internal_comma2 { ret_with_comma2 operator BOOST_TT_TRAIT_OP () const; };
-
-struct external_comma2 { };
-ret_with_comma2 operator BOOST_TT_TRAIT_OP (const external_comma2&);
-
-struct returns_int { int operator BOOST_TT_TRAIT_OP (); };
-
-struct returns_void { void operator BOOST_TT_TRAIT_OP (); };
-
-struct returns_void_star { void *operator BOOST_TT_TRAIT_OP (); };
-
-struct returns_double { double operator BOOST_TT_TRAIT_OP (); };
-
-struct ret1 { };
-struct convertible_to_ret1 { operator ret1 () const; };
-struct returns_convertible_to_ret1 { convertible_to_ret1 operator BOOST_TT_TRAIT_OP (); };
-
-struct convertible_to_ret2 { };
-struct ret2 { ret2(const convertible_to_ret2); };
-struct returns_convertible_to_ret2 { convertible_to_ret2 operator BOOST_TT_TRAIT_OP (); };
-
-class Base1 { };
-class Derived1 : public Base1 { };
-
-bool operator BOOST_TT_TRAIT_OP (const Base1&) { return true; }
-
-class Base2 { };
-struct Derived2 : public Base2 {
-   Derived2(int); // to check if it works with a class that is not default constructible
-};
-
-bool operator BOOST_TT_TRAIT_OP (const Derived2&) { return true; }
-
-struct tag { };
-
-//class internal_private { ret operator BOOST_TT_TRAIT_OP () const; };
-
-void common() {
-   TEST_T(void, false);
-   TEST_TR(void, void, false);
-   TEST_TR(void, int, false);
-
-   TEST_T(without, false);
-   TEST_T(internal, true);
-   TEST_T(external, true);
-   TEST_T(internal_comma1, true);
-   TEST_T(external_comma1, true);
-   TEST_T(internal_comma2, true);
-   TEST_T(external_comma2, true);
-   TEST_T(returns_int, true);
-   TEST_T(returns_void, true);
-   TEST_T(returns_void_star, true);
-   TEST_T(returns_double, true);
-   TEST_T(returns_convertible_to_ret1, true);
-   TEST_T(returns_convertible_to_ret2, true);
-   TEST_T(Base1, true);
-   TEST_T(Derived1, true);
-   TEST_T(Base2, false);
-   TEST_T(Derived2, true);
-
-   TEST_TR(without, void, false);
-   TEST_TR(without, bool, false);
-   TEST_TR(internal_comma1, void, false);
-   TEST_TR(internal_comma1, bool, false);
-   TEST_TR(internal_comma1, ret_with_comma1, true);
-   TEST_TR(internal_comma2, void, false);
-   TEST_TR(internal_comma2, bool, false);
-   TEST_TR(internal_comma2, ret_with_comma2, true);
-   TEST_TR(external, void, false);
-   TEST_TR(external, bool, false);
-   TEST_TR(external, ret, true);
-   TEST_TR(returns_int, void, false);
-   TEST_TR(returns_int, bool, true);
-   TEST_TR(returns_int, int, true);
-   TEST_TR(returns_void, void, true);
-   TEST_TR(returns_void, bool, false);
-   TEST_TR(returns_void_star, bool, true);
-   TEST_TR(returns_double, void, false);
-   TEST_TR(returns_double, bool, true);
-   TEST_TR(returns_double, double, true);
-   TEST_TR(returns_convertible_to_ret1, void, false);
-   TEST_TR(returns_convertible_to_ret1, ret1, true);
-   TEST_TR(returns_convertible_to_ret2, ret2, true);
-   TEST_TR(Base1, bool, true);
-   TEST_TR(Derived1, bool, true);
-   TEST_TR(Base2, bool, false);
-   TEST_TR(Derived2, bool, true);
-// compile time error
-// TEST_T(internal_private, false);
-}
-
-}
-
-#endif
diff --git a/SRC/Boost/libs/type_traits/test/has_right_shift_assign_test.cpp b/SRC/Boost/libs/type_traits/test/has_right_shift_assign_test.cpp
deleted file mode 100755
index 053da2b..0000000
--- a/SRC/Boost/libs/type_traits/test/has_right_shift_assign_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_right_shift_assign.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_right_shift_assign
-#define BOOST_TT_TRAIT_OP >>=
-
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_right_shift_test.cpp b/SRC/Boost/libs/type_traits/test/has_right_shift_test.cpp
deleted file mode 100755
index 4e2c860..0000000
--- a/SRC/Boost/libs/type_traits/test/has_right_shift_test.cpp
+++ /dev/null
@@ -1,247 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_right_shift.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_right_shift
-#define BOOST_TT_TRAIT_OP >>
-
-#include <istream>
-#include <string>
-
-#include "has_binary_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, double const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, double, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, double const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, double const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, double &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, double const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int* const &, int const & >::value), 0);
-
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, bool&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, short&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, unsigned short&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, int&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, unsigned int&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, long&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, unsigned long&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, float&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, double&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, void*&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, char&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, signed char&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, unsigned char&, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, char*, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, signed char*, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, unsigned char*, std::istream& >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, std::string&, std::istream& >::value), 1);
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_trivial_assign_test.cpp b/SRC/Boost/libs/type_traits/test/has_trivial_assign_test.cpp
deleted file mode 100755
index 3142833..0000000
--- a/SRC/Boost/libs/type_traits/test/has_trivial_assign_test.cpp
+++ /dev/null
@@ -1,209 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_trivial_assign.hpp>
-#endif
-
-TT_TEST_BEGIN(has_trivial_assign)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<bool>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<bool const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<bool volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<bool const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<signed char>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<signed char const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<signed char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<signed char const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<char>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned char const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<char const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned char const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<char const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<short>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned short const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<short const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned short volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<short volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned short const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<short const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned int const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned int volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned int const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<long>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned long const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<long const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned long volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<long volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned long const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<long const volatile>::value, false);
-#endif
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign< ::boost::ulong_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign< ::boost::long_long_type>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign< ::boost::ulong_long_type const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign< ::boost::long_long_type const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign< ::boost::ulong_long_type volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign< ::boost::long_long_type volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign< ::boost::ulong_long_type const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign< ::boost::long_long_type const volatile>::value, false);
-#endif
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int8>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int8 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int8 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int8 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int8 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int8 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int8 const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int16>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int16 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int16 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int16 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int16 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int16 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int16 const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int32>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int32 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int32 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int32 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int32 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int32 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int32 const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int64>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int64 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int64 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int64 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int64 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<unsigned __int64 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<__int64 const volatile>::value, false);
-#endif
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<float>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<float const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<float volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<float const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<double>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<double const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<double volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<double const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<long double>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<long double const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<long double volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<long double const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<void*>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int*const>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<f1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<f2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<f3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<mf1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<mf2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<cmf>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<enum_UDT>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int[3][2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int[2][4][5][6][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<void>::value, false);
-// cases we would like to succeed but can't implement in the language:
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_assign<empty_POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_assign<POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_assign<POD_union_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_assign<empty_POD_union_UDT>::value, true, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<trivial_except_assign>::value, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_assign<trivial_except_destroy>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_assign<trivial_except_construct>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_assign<trivial_except_copy>::value, true, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<wrap<trivial_except_assign> >::value, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_assign<wrap<trivial_except_destroy> >::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_assign<wrap<trivial_except_construct> >::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_assign<wrap<trivial_except_copy> >::value, true, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<test_abc1>::value, false);
-
-TT_TEST_END
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/has_trivial_constr_test.cpp b/SRC/Boost/libs/type_traits/test/has_trivial_constr_test.cpp
deleted file mode 100755
index a6079f1..0000000
--- a/SRC/Boost/libs/type_traits/test/has_trivial_constr_test.cpp
+++ /dev/null
@@ -1,181 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_trivial_constructor.hpp>
-#endif
-
-TT_TEST_BEGIN(has_trivial_constructor)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<bool>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<bool const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<bool volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<bool const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<signed char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<signed char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<signed char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<signed char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<char const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned short const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<short const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned int const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned long const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<long const volatile>::value, true);
-
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor< ::boost::ulong_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor< ::boost::long_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor< ::boost::ulong_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor< ::boost::long_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor< ::boost::ulong_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor< ::boost::long_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor< ::boost::ulong_long_type const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor< ::boost::long_long_type const volatile>::value, true);
-
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int8 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int8 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int16 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int16 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int32 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int32 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<unsigned __int64 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<__int64 const volatile>::value, true);
-
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<float>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<float const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<float volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<float const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<double const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<long double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<long double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<long double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<long double const volatile>::value, true);
-
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<void*>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int*const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<f1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<f2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<f3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<mf1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<mf2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<cmf>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<enum_UDT>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int[3][2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int[2][4][5][6][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<void>::value, true);
-// cases we would like to succeed but can't implement in the language:
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<empty_POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<POD_union_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<empty_POD_union_UDT>::value, true, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<trivial_except_construct>::value, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<trivial_except_destroy>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<trivial_except_assign>::value, true, false);
-//BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<trivial_except_copy>::value, true, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<wrap<trivial_except_construct> >::value, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<wrap<trivial_except_destroy> >::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<wrap<trivial_except_assign> >::value, true, false);
-//BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<wrap<trivial_except_copy> >::value, true, false);
-
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<test_abc1>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/has_trivial_copy_test.cpp b/SRC/Boost/libs/type_traits/test/has_trivial_copy_test.cpp
deleted file mode 100755
index 1287a87..0000000
--- a/SRC/Boost/libs/type_traits/test/has_trivial_copy_test.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_trivial_copy.hpp>
-#endif
-
-TT_TEST_BEGIN(has_trivial_copy)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<bool>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<bool const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<bool volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<bool const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<signed char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<signed char const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<signed char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<signed char const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<char const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned char const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<char const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<short const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned short volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<short volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned short const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<short const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned int volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned int const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<long const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned long volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<long volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned long const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<long const volatile>::value, false);
-#endif
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy< ::boost::ulong_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy< ::boost::long_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy< ::boost::ulong_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy< ::boost::long_long_type const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy< ::boost::ulong_long_type volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy< ::boost::long_long_type volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy< ::boost::ulong_long_type const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy< ::boost::long_long_type const volatile>::value, false);
-#endif
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int8 const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int8 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int8 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int8 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int8 const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int16 const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int16 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int16 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int16 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int16 const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int32 const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int32 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int32 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int32 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int32 const volatile>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int64 const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int64 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int64 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<unsigned __int64 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<__int64 const volatile>::value, false);
-#endif
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<float>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<float const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<float volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<float const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<double const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<double volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<double const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<long double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<long double const>::value, true);
-#ifndef TEST_STD
-// unspecified behaviour:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<long double volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<long double const volatile>::value, false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<void*>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int*const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<f1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<f2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<f3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<mf1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<mf2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<cmf>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<enum_UDT>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int[3][2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int[2][4][5][6][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<void>::value, false);
-// cases we would like to succeed but can't implement in the language:
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_copy<empty_POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_copy<POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_copy<POD_union_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_copy<empty_POD_union_UDT>::value, true, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<trivial_except_copy>::value, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_copy<trivial_except_destroy>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_copy<trivial_except_construct>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_copy<trivial_except_assign>::value, true, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<wrap<trivial_except_copy> >::value, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_copy<wrap<trivial_except_destroy> >::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_copy<wrap<trivial_except_construct> >::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_copy<wrap<trivial_except_assign> >::value, true, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<test_abc1>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/has_trivial_destructor_test.cpp b/SRC/Boost/libs/type_traits/test/has_trivial_destructor_test.cpp
deleted file mode 100755
index 2d6812f..0000000
--- a/SRC/Boost/libs/type_traits/test/has_trivial_destructor_test.cpp
+++ /dev/null
@@ -1,176 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_trivial_destructor.hpp>
-#endif
-
-TT_TEST_BEGIN(has_trivial_destructor)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<bool>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<bool const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<bool volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<bool const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<signed char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<signed char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<signed char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<signed char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<char const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned short const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<short const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned int const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<int const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned long const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<long const volatile>::value, true);
-
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor< ::boost::ulong_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor< ::boost::long_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor< ::boost::ulong_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor< ::boost::long_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor< ::boost::ulong_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor< ::boost::long_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor< ::boost::ulong_long_type const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor< ::boost::long_long_type const volatile>::value, true);
-
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int8 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int8 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int16 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int16 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int32 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int32 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<unsigned __int64 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<__int64 const volatile>::value, true);
-
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<float>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<float const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<float volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<float const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<double const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<long double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<long double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<long double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<long double const volatile>::value, true);
-
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<void*>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<int*const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<f1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<f2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<f3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<mf1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<mf2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<cmf>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<enum_UDT>::value, true);
-
-//
-// These are commented out for now because it's not clear what the semantics should be:
-// on the one hand references always have trivial destructors (in the sence that there is
-// nothing to destruct), on the other hand the thing referenced may not have a trivial
-// destructor, it really depends upon the users code as to what should happen here:
-//
-//BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<int&>::value, false);
-//BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<int[3][2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<int[2][4][5][6][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<void>::value, false);
-// cases we would like to succeed but can't implement in the language:
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<empty_POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<POD_union_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<empty_POD_union_UDT>::value, true, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<trivial_except_destroy>::value, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<trivial_except_copy>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<trivial_except_construct>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<trivial_except_assign>::value, true, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<wrap<trivial_except_destroy> >::value, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<wrap<trivial_except_copy> >::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<wrap<trivial_except_construct> >::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<wrap<trivial_except_assign> >::value, true, false);
-
-TT_TEST_END
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/has_unary_minus_test.cpp b/SRC/Boost/libs/type_traits/test/has_unary_minus_test.cpp
deleted file mode 100755
index b74b047..0000000
--- a/SRC/Boost/libs/type_traits/test/has_unary_minus_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_unary_minus.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_unary_minus
-#define BOOST_TT_TRAIT_OP -
-
-
-#include "has_prefix_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_unary_plus_test.cpp b/SRC/Boost/libs/type_traits/test/has_unary_plus_test.cpp
deleted file mode 100755
index 61f9bd8..0000000
--- a/SRC/Boost/libs/type_traits/test/has_unary_plus_test.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//  (C) Copyright 2009-2011 Frederic Bron.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (See accompanying file
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_unary_plus.hpp>
-#endif
-
-#define BOOST_TT_TRAIT_NAME has_unary_plus
-#define BOOST_TT_TRAIT_OP +
-
-
-#include "has_prefix_operators.hpp"
-
-void specific() {
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* &, int const & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, void >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, bool const & >::value), 1);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int & >::value), 0);
-   BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int* const &, int const & >::value), 0);
-
-}
-
-TT_TEST_BEGIN(BOOST_TT_TRAIT_NAME)
-   common();
-   specific();
-TT_TEST_END
diff --git a/SRC/Boost/libs/type_traits/test/has_virtual_destructor_test.cpp b/SRC/Boost/libs/type_traits/test/has_virtual_destructor_test.cpp
deleted file mode 100755
index 5ff06e9..0000000
--- a/SRC/Boost/libs/type_traits/test/has_virtual_destructor_test.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/has_virtual_destructor.hpp>
-#endif
-
-#include <iostream>
-#include <stdexcept>
-#include <new>
-
-class polymorphic_no_virtual_destructor
-{
-public:
-   virtual void method() = 0;
-};
-
-TT_TEST_BEGIN(has_virtual_destructor)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<const int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<volatile int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<int*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<int* const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<int[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<mf4>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<f1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<enum_UDT>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<empty_UDT>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<UDT*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<UDT[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<UDT&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<UDT&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<void>::value, false);
-
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<VB>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<VD>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<test_abc1>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<test_abc2>::value, true, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<polymorphic_no_virtual_destructor>::value, false);
-#ifndef BOOST_NO_STD_LOCALE
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<std::iostream>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<std::basic_streambuf<char> >::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<std::basic_ios<char> >::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<std::basic_istream<char> >::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<std::basic_streambuf<char> >::value, true, false);
-#endif
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<std::exception>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<std::bad_alloc>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<std::runtime_error>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<std::out_of_range>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<std::range_error>::value, true, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/init.cpp b/SRC/Boost/libs/type_traits/test/init.cpp
deleted file mode 100755
index 242dc76..0000000
--- a/SRC/Boost/libs/type_traits/test/init.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-
-boost::unit_test::test_suite* get_master_unit(const char* name)
-{
-   static boost::unit_test::test_suite* ptest_suite = 0;
-   if(0 == ptest_suite)
-      ptest_suite = BOOST_TEST_SUITE( name ? name : "" );
-   return ptest_suite;
-}
-
-boost::unit_test::test_suite* init_unit_test_suite ( int , char* [] )
-{
-   return get_master_unit();
-}
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_abstract_test.cpp b/SRC/Boost/libs/type_traits/test/is_abstract_test.cpp
deleted file mode 100755
index ad8bc33..0000000
--- a/SRC/Boost/libs/type_traits/test/is_abstract_test.cpp
+++ /dev/null
@@ -1,445 +0,0 @@
-
-//  (C) Copyright Rani Sharoni,Robert Ramey, Pavel Vozenilek and Christoph Ludwig 2004. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_abstract.hpp>
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(disable: 4505)
-#endif
-
-
-struct TestA {};
-struct TestB { virtual void foo(void) = 0; };
-struct TestC { private: virtual void foo(void) = 0; };
-struct TestD : public TestA {};
-struct TestE : public TestB {};
-struct TestF : public TestC {};
-struct TestG : public TestB { virtual void foo(void) {} };
-struct TestH : public TestC { private: virtual void foo(void) {} };
-struct TestI : public TestB, public TestC {};
-struct TestJ : public TestI { virtual void foo(void) {} };
-struct TestK : public TestB { virtual void foo(void); virtual void foo2(void) = 0; };
-struct TestL : public TestK { virtual void foo2(void) {} };
-struct TestM : public virtual TestB {};
-struct TestN : public virtual TestC {};
-struct TestO : public TestM, public TestN {};
-struct TestP : public TestO { virtual void foo(void) {} };
-struct TestQ : public TestB { virtual void foo(void) = 0; };
-struct TestR : public TestC { private: virtual void foo(void) = 0; };
-struct TestS { virtual void foo(void) {} };
-struct TestT { virtual ~TestT(void) {} virtual void foo(void) {} };
-struct TestU : public TestT { virtual void foo(void) = 0; };
-struct TestV : public TestT { virtual void foo(void) {} };
-struct TestW { virtual void foo1(void) = 0; virtual void foo2(void) = 0; };
-struct TestX : public TestW { virtual void foo1(void) {}  virtual void foo2(void) {} };
-struct TestY { virtual ~TestY(void) = 0; };
-struct TestZ { virtual ~TestZ(void) = 0; }; TestZ::~TestZ(void) {}
-struct TestAA : public TestZ { virtual ~TestAA(void) = 0; }; TestAA::~TestAA(void) {}
-struct TestAB : public TestAA { virtual ~TestAB(void) {} }; 
-struct TestAC { virtual void foo(void) = 0; }; void TestAC::foo(void) {}
-struct TestAD : public TestAC {};
-struct TestAE : public TestAD { virtual void foo() {} };
-struct TestAF : public TestAD { virtual void foo(); }; void TestAF::foo(void) {}
-struct TestAG : public virtual TestA {};
-
-// template test types:
-template <class T> struct TTestA {};
-template <class T> struct TTestB { virtual void foo(void) = 0; };
-template <class T> struct TTestC { private: virtual void foo(void) = 0; };
-template <class T> struct TTestD : public TTestA<T> {};
-template <class T> struct TTestE : public TTestB<T> {};
-template <class T> struct TTestF : public TTestC<T> {};
-template <class T> struct TTestG : public TTestB<T> { virtual void foo(void) {} };
-template <class T> struct TTestH : public TTestC<T> { private: virtual void foo(void) {} };
-template <class T> struct TTestI : public TTestB<T>, public TTestC<T> {};
-template <class T> struct TTestJ : public TTestI<T> { virtual void foo(void) {} };
-template <class T> struct TTestK : public TTestB<T> { virtual void foo(void); virtual void foo2(void) = 0; };
-template <class T> struct TTestL : public TTestK<T> { virtual void foo2(void) {} };
-template <class T> struct TTestM : public virtual TTestB<T> {};
-template <class T> struct TTestN : public virtual TTestC<T> {};
-template <class T> struct TTestO : public TTestM<T>, public TTestN<T> {};
-template <class T> struct TTestP : public TTestO<T> { virtual void foo(void) {} };
-template <class T> struct TTestQ : public TTestB<T> { virtual void foo(void) = 0; };
-template <class T> struct TTestR : public TTestC<T> { private: virtual void foo(void) = 0; };
-template <class T> struct TTestS { virtual void foo(void) {} };
-template <class T> struct TTestT { virtual ~TTestT(void) {} virtual void foo(void) {} };
-template <class T> struct TTestU : public TTestT<T> { virtual void foo(void) = 0; };
-template <class T> struct TTestV : public TTestT<T> { virtual void foo(void) {} };
-template <class T> struct TTestW { virtual void foo1(void) = 0; virtual void foo2(void) = 0; };
-template <class T> struct TTestX : public TTestW<T> { virtual void foo1(void) {}  virtual void foo2(void) {} };
-template <class T> struct TTestY { virtual ~TTestY(void) = 0; };
-template <class T> struct TTestZ { virtual ~TTestZ(void) = 0; }; template <class T> TTestZ<T>::~TTestZ(void) {}
-template <class T> struct TTestAA : public TTestZ<T> { virtual ~TTestAA(void) = 0; }; template <class T> TTestAA<T>::~TTestAA(void) {}
-template <class T> struct TTestAB : public TTestAA<T> { virtual ~TTestAB(void) {} }; 
-template <class T> struct TTestAC { virtual void foo(void) = 0; }; template <class T> void TTestAC<T>::foo(void) {}
-template <class T> struct TTestAD : public TTestAC<T> {};
-template <class T> struct TTestAE : public TTestAD<T> { virtual void foo() {} };
-template <class T> struct TTestAF : public TTestAD<T> { virtual void foo(); }; template <class T> void TTestAF<T>::foo(void) {}
-template <class T> struct TTestAG : public virtual TTestA<T> {};
-
-
-TT_TEST_BEGIN(is_abstract)
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestA>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestB>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestC>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestD>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestE>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestF>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestG>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestH>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestI>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestJ>::value), false); // only one method implemented!
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestK>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestL>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestM>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestN>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestO>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestP>::value), false); // ???
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestQ>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestR>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestS>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestT>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestU>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestV>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestW>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestX>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestY>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestZ>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAA>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAB>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAC>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAD>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAE>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAF>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAG>::value), false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestA>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestB>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestC>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestD>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestE>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestF>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestG>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestH>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestI>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestJ>::value), false); // only one method implemented!
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestK>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestL>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestM>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestN>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestO>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestP>::value), false); // ???
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestQ>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestR>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestS>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestT>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestU>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestV>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestW>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestX>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestY>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestZ>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestAA>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestAB>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestAC>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestAD>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestAE>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestAF>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TestAG>::value), false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestA>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestB>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestC>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestD>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestE>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestF>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestG>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestH>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestI>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestJ>::value), false); // only one method implemented!
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestK>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestL>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestM>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestN>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestO>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestP>::value), false); // ???
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestQ>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestR>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestS>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestT>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestU>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestV>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestW>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestX>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestY>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestZ>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestAA>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestAB>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestAC>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestAD>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestAE>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestAF>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TestAG>::value), false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestA>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestB>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestC>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestD>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestE>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestF>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestG>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestH>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestI>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestJ>::value), false); // only one method implemented!
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestK>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestL>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestM>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestN>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestO>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestP>::value), false); // ???
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestQ>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestR>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestS>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestT>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestU>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestV>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestW>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestX>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestY>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestZ>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestAA>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestAB>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestAC>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestAD>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestAE>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestAF>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestAG>::value), false);
-
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestA&&>::value), false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestA&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestB&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestC&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestD&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestE&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestF&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestG&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestH&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestI&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestJ&>::value), false); // only one method implemented!
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestK&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestL&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestM&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestN&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestO&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestP&>::value), false); // ???
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestQ&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestR&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestS&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestT&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestU&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestV&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestW&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestX&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestY&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestZ&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAA&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAB&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAC&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAD&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAE&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAF&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestAG&>::value), false);
-#if !(defined(BOOST_MSVC) && (BOOST_MSVC < 1310))
-// MSVC prior to VC7.1 always runs out of swap space trying to
-// compile these, so leave them out for now (the test fails anyway).
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestA<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestB<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestC<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestD<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestE<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestF<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestG<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestH<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestI<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestJ<int> >::value), false); // only one method implemented!
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestK<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestL<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestM<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestN<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestO<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestP<int> >::value), false); // ???
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestQ<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestR<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestS<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestT<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestU<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestV<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestW<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestX<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestY<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestZ<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAA<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAB<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAC<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAD<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAE<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAF<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAG<int> >::value), false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestA<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestB<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestC<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestD<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestE<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestF<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestG<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestH<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestI<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestJ<int> >::value), false); // only one method implemented!
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestK<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestL<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestM<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestN<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestO<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestP<int> >::value), false); // ???
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestQ<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestR<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestS<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestT<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestU<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestV<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestW<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestX<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestY<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestZ<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestAA<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestAB<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestAC<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestAD<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestAE<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestAF<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<const TTestAG<int> >::value), false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestA<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestB<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestC<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestD<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestE<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestF<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestG<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestH<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestI<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestJ<int> >::value), false); // only one method implemented!
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestK<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestL<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestM<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestN<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestO<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestP<int> >::value), false); // ???
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestQ<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestR<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestS<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestT<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestU<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestV<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestW<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestX<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestY<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestZ<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestAA<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestAB<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestAC<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestAD<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestAE<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestAF<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile TTestAG<int> >::value), false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestA<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestB<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestC<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestD<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestE<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestF<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestG<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestH<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestI<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestJ<int> >::value), false); // only one method implemented!
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestK<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestL<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestM<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestN<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestO<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestP<int> >::value), false); // ???
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestQ<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestR<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestS<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestT<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestU<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestV<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestW<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestX<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestY<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestZ<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestAA<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestAB<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestAC<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestAD<int> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestAE<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestAF<int> >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TTestAG<int> >::value), false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestA<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestB<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestC<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestD<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestE<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestF<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestG<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestH<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestI<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestJ<int>& >::value), false); // only one method implemented!
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestK<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestL<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestM<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestN<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestO<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestP<int>& >::value), false); // ???
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestQ<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestR<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestS<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestT<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestU<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestV<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestW<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestX<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestY<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestZ<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAA<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAB<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAC<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAD<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAE<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAF<int>& >::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TTestAG<int>& >::value), false);
-#endif
-TT_TEST_END
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_arithmetic_test.cpp b/SRC/Boost/libs/type_traits/test/is_arithmetic_test.cpp
deleted file mode 100755
index 224f4a0..0000000
--- a/SRC/Boost/libs/type_traits/test/is_arithmetic_test.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_arithmetic.hpp>
-#endif
-
-TT_TEST_BEGIN(is_arithmetic)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<bool>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<bool const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<bool volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<bool const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<signed char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<signed char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<signed char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<signed char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<char const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned short const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<short const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned int const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<int const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned long const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<long const volatile>::value, true);
-
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic< ::boost::ulong_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic< ::boost::long_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic< ::boost::ulong_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic< ::boost::long_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic< ::boost::ulong_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic< ::boost::long_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic< ::boost::ulong_long_type const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic< ::boost::long_long_type const volatile>::value, true);
-
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int8 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int8 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int16 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int16 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int32 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int32 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<unsigned __int64 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<__int64 const volatile>::value, true);
-
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<float>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<float const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<float volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<float const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<double const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<long double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<long double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<long double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<long double const volatile>::value, true);
-
-//
-// cases that should not be true:
-//
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<float*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<float&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<float&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<const float&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<float[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<incomplete_type>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_array_test.cpp b/SRC/Boost/libs/type_traits/test/is_array_test.cpp
deleted file mode 100755
index 6e2c281..0000000
--- a/SRC/Boost/libs/type_traits/test/is_array_test.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_array.hpp>
-#endif
-
-struct convertible_to_pointer
-{
-    operator char*() const;
-};
-
-TT_TEST_BEGIN(is_array)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<int*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<const int*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<const volatile int*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<int*const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<const int*volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<const volatile int*const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<const int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<const volatile int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<int[2][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<UDT[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<int(&)[2]>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<int(&&)[2]>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<f1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<convertible_to_pointer>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<incomplete_type>::value, false);
-
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_base_and_derived_test.cpp b/SRC/Boost/libs/type_traits/test/is_base_and_derived_test.cpp
deleted file mode 100755
index 2babf41..0000000
--- a/SRC/Boost/libs/type_traits/test/is_base_and_derived_test.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_base_and_derived.hpp>
-#endif
-
-//
-// Additional tests added for VC7.1 bug, 2005/04/21
-//
-struct marker{};
-struct foo{ int x; };
-
-template<class Class,typename Type,Type Class::*PtrToMember>
-struct class_member{};
-template<class Class,typename Type,Type Class::*PtrToMember>
-struct class_member2 : public marker{};
-
-
-TT_TEST_BEGIN(is_base_and_derived)
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Derived,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Derived,Derived>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Base,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<const Base,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Base,Derived>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Base,MultiBase>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Derived,MultiBase>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Derived2,MultiBase>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Base,PrivateBase>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<NonDerived,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Base,void>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<Base,const void>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<void,Derived>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<const void,Derived>::value), false);
-#if defined(TEST_STD) && (TEST_STD < 2006)
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<int, int>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<const int, int>::value), true);
-#else
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<int, int>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<const int, int>::value), false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<VB,VD>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<VD,VB>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<test_abc1,test_abc3>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<test_abc3,test_abc1>::value), false);
-
-typedef class_member<foo,int,&foo::x> mem_type;
-typedef class_member2<foo,int,&foo::x> mem2_type;
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<marker, mem_type>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_and_derived<marker, mem2_type>::value), true);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_base_of_test.cpp b/SRC/Boost/libs/type_traits/test/is_base_of_test.cpp
deleted file mode 100755
index 67db041..0000000
--- a/SRC/Boost/libs/type_traits/test/is_base_of_test.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_base_of.hpp>
-#endif
-
-
-
-TT_TEST_BEGIN(is_base_of)
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Derived,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Derived,Derived>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Derived,const Derived>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,Base>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,Derived>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<const Base,Derived>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,const Derived>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,MultiBase>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Derived,MultiBase>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Derived2,MultiBase>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,PrivateBase>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<NonDerived,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,void>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,const void>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<void,Derived>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<const void,Derived>::value), false);
-#if defined(TEST_STD) && (TEST_STD < 2006)
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<int, int>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<const int, int>::value), true);
-#else
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<int, int>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<const int, int>::value), false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<VB,VD>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<VD,VB>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<test_abc1,test_abc3>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<test_abc3,test_abc1>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,virtual_inherit1>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<virtual_inherit1,Base>::value), false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_class_test.cpp b/SRC/Boost/libs/type_traits/test/is_class_test.cpp
deleted file mode 100755
index 4090f93..0000000
--- a/SRC/Boost/libs/type_traits/test/is_class_test.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_class.hpp>
-#endif
-#include <iostream>
-
-TT_TEST_BEGIN(is_class)
-
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<int>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<const int>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<volatile int>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<int*>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<int* const>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<int[2]>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<int const[2]>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<int&&>::value, false);
-#endif
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<mf4>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<f1>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<enum_UDT>::value, false);
-
-#if defined(BOOST_HAS_TYPE_TRAITS_INTRINSICS) && !defined(__sgi)
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<union_UDT>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<POD_union_UDT>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<empty_union_UDT>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<empty_POD_union_UDT>::value, false);
-#else
-   std::cout <<
-   "\n<note>\n"
-   "This compiler version does not provide support for is_class on\n"
-   "union types. Such support is not currently required by the\n"
-   "C++ Standard. It will be required to support the upcoming\n"
-   "Standard Library Technical Report.\n"
-   "</note>\n";
-#endif
-
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<UDT>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<UDT const>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<UDT volatile>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<empty_UDT>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<std::iostream>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<test_abc1>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<test_abc1 const>::value, true);
-
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<UDT*>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<UDT[2]>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<UDT&>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<void>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_complex_test.cpp b/SRC/Boost/libs/type_traits/test/is_complex_test.cpp
deleted file mode 100755
index 8e03564..0000000
--- a/SRC/Boost/libs/type_traits/test/is_complex_test.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-//  (C) Copyright John Maddock 2007. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_complex.hpp>
-#endif
-#include <iostream>
-
-struct bad_struct
-{
-   operator std::complex<double> ()const;
-};
-
-struct derived_complex : public std::complex<double>
-{
-};
-
-TT_TEST_BEGIN(is_complex)
-
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex<int>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex<double>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex<float>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex<bad_struct>::value, false);
-   //BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex<derived_complex>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex<std::complex<long double> >::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex<std::complex<double> >::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex<std::complex<float> >::value, true);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_compound_test.cpp b/SRC/Boost/libs/type_traits/test/is_compound_test.cpp
deleted file mode 100755
index d7a629f..0000000
--- a/SRC/Boost/libs/type_traits/test/is_compound_test.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_compound.hpp>
-#endif
-
-TT_TEST_BEGIN(is_compound)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<UDT>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<void*>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<test_abc1>::value, true);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_const_test.cpp b/SRC/Boost/libs/type_traits/test/is_const_test.cpp
deleted file mode 100755
index 4d2b654..0000000
--- a/SRC/Boost/libs/type_traits/test/is_const_test.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_const.hpp>
-#endif
-
-TT_TEST_BEGIN(is_const)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const void>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const test_abc1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const UDT>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const volatile UDT>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<cr_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<incomplete_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<int[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<volatile int[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const volatile int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const volatile int[]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<volatile int[]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const int[]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<int[]>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_convertible_test.cpp b/SRC/Boost/libs/type_traits/test/is_convertible_test.cpp
deleted file mode 100755
index fc64033..0000000
--- a/SRC/Boost/libs/type_traits/test/is_convertible_test.cpp
+++ /dev/null
@@ -1,191 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_convertible.hpp>
-#endif
-#include <boost/utility/enable_if.hpp>
-
-
-template <class T>
-struct convertible_from
-{
-    convertible_from(T);
-};
-
-struct base2 { };
-struct middle2 : public virtual base2 { };
-struct derived2 : public middle2 { };
-
-#if !defined(BOOST_NO_RVALUE_REFERENCES)
-
-template<typename T>
-struct test_bug_4530
-{
-	template<typename A>
-	test_bug_4530(A&&, typename boost::enable_if<boost::is_convertible<A&&, T> >::type* =0);
-};
-
-struct A4530
-{
-   template <class T>
-   A4530(T);
-};
-
-#endif
-
-#ifdef BOOST_MSVC
-
-struct bug_5271a
-{
-    __declspec(align(16)) int value;
-};
-
-struct bug_5271b
-{
-    __declspec(align(16)) int value;
-    bug_5271b(int v) : value(v) {}
-};
-
-#endif
-
-TT_TEST_BEGIN(is_convertible)
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<Derived,Base>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<Derived,Derived>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<Base,Base>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<Base,Derived>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<Derived,Derived>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<NonDerived,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,int>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<virtual_inherit2,virtual_inherit1>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<VD,VB>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<polymorphic_derived1,polymorphic_base>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<polymorphic_derived2,polymorphic_base>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<polymorphic_base,polymorphic_derived1>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<polymorphic_base,polymorphic_derived2>::value), false);
-#ifndef TEST_STD
-// Ill-formed behaviour, supported by Boost as an extension:
-#ifndef BOOST_NO_IS_ABSTRACT
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<test_abc1,test_abc1>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<Base,test_abc1>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<polymorphic_derived2,test_abc1>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int,test_abc1>::value), false);
-#endif
-#endif
-
-// The following four do not compile without member template support:
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,void>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<void,void>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<void,float>::value), false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<enum1, int>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<Derived*, Base*>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<Base*, Derived*>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<Derived&, Base&>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<Base&, Derived&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const Derived*, const Base*>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const Base*, const Derived*>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const Derived&, const Base&>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const Base&, const Derived&>::value), false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const int *, int*>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const int&, int&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const int*, int[3]>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const int&, int>::value), true);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const int&&, int>::value), true);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int(&)[4], const int*>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int(&)(int), int(*)(int)>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int *, const int*>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int&, const int&>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int[2], int*>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int[2], const int*>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const int[2], int*>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int*, int[3]>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<test_abc3, const test_abc1&>::value), true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<non_pointer, void*>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<non_pointer, int*>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<non_int_pointer, int*>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<non_int_pointer, void*>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<test_abc1&, test_abc2&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<test_abc1&, int_constructible>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int_constructible, test_abc1&>::value), false);
-#if !defined(BOOST_NO_IS_ABSTRACT) && !(defined(__hppa) && defined(__HP_aCC))
-//
-// This doesn't work with aCC on PA RISC even though the is_abstract tests do
-// all pass, this may indicate a deeper problem...
-//
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<test_abc1&, test_abc2>::value), false);
-#endif
-
-//
-// the following tests all involve user defined conversions which do
-// not compile with Borland C++ Builder 5:
-//
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int, int_constructible>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,convertible_from<float> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,convertible_from<float const&> >::value), true);
-//
-// These two tests give different results with different compilers, we used to require *true* results
-// from these, but C++0x behaviour requires *false*:
-//
-//BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,convertible_from<float&> >::value), false);
-//BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<char,convertible_from<char&> >::value), false);
-
-#if !(defined(__GNUC__) && (__GNUC__ < 4))
-// GCC 3.x emits warnings here, which causes the tests to fail when we compile with warnings-as-errors:
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,convertible_from<char> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,convertible_from<char const&> >::value), true);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,convertible_from<char&> >::value), false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<char,convertible_from<char> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<char,convertible_from<char const&> >::value), true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float&,convertible_from<float> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float const&,convertible_from<float> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float&,convertible_from<float&> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float const&,convertible_from<float const&> >::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float&,convertible_from<float const&> >::value), true);
-
-//
-// the following all generate warnings unless we can find a way to
-// suppress them:
-//
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<float,int>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<double,int>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<double,float>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<long,int>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int,char>::value), true);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<boost::long_long_type,int>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<boost::long_long_type,char>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<boost::long_long_type,float>::value), true);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<__int64,int>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<__int64,char>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<__int64,float>::value), true);
-#endif
-
-#ifndef BOOST_NO_RVALUE_REFERENCES
-// Test bug case 4530:
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<test_bug_4530<A4530>,A4530>::value), true);
-#endif
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC > 1310)
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int, bug_5271a>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int, bug_5271b>::value), true);
-#endif
-
-TT_TEST_END
-
diff --git a/SRC/Boost/libs/type_traits/test/is_empty_test.cpp b/SRC/Boost/libs/type_traits/test/is_empty_test.cpp
deleted file mode 100755
index af6d3f2..0000000
--- a/SRC/Boost/libs/type_traits/test/is_empty_test.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_empty.hpp>
-#endif
-
-struct non_default_constructable_UDT
-{
-   non_default_constructable_UDT(const non_default_constructable_UDT&){}
-private:
-   non_default_constructable_UDT(){}
-};
-
-TT_TEST_BEGIN(is_empty)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<int*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<int[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<f1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<mf1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<UDT>::value, false);
-
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_empty<empty_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_empty<empty_POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_empty<non_default_constructable_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_empty<boost::noncopyable>::value, true, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<enum_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<non_empty>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<const non_empty&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<foo4_t>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_enum_test.cpp b/SRC/Boost/libs/type_traits/test/is_enum_test.cpp
deleted file mode 100755
index 47f717b..0000000
--- a/SRC/Boost/libs/type_traits/test/is_enum_test.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_enum.hpp>
-#endif
-
-TT_TEST_BEGIN(is_enum)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<enum_UDT>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<int_convertible>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<boost::noncopyable>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<test_abc1>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_float_test.cpp b/SRC/Boost/libs/type_traits/test/is_float_test.cpp
deleted file mode 100755
index 1a3afd3..0000000
--- a/SRC/Boost/libs/type_traits/test/is_float_test.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_float.hpp>
-#endif
-
-TT_TEST_BEGIN(is_float)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<float>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<float const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<float volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<float const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<double const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<long double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<long double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<long double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<long double const volatile>::value, true);
-
-//
-// cases that should not be true:
-//
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<float*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<float&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<float&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<const float&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<float[2]>::value, false);
-
-//
-// tricky cases:
-//
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<foo1_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<foo2_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<foo3_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<foo4_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<incomplete_type>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_floating_point_test.cpp b/SRC/Boost/libs/type_traits/test/is_floating_point_test.cpp
deleted file mode 100755
index 89b1301..0000000
--- a/SRC/Boost/libs/type_traits/test/is_floating_point_test.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_floating_point.hpp>
-#endif
-
-TT_TEST_BEGIN(is_floating_point)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<float>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<float const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<float volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<float const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<double const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<long double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<long double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<long double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<long double const volatile>::value, true);
-
-//
-// cases that should not be true:
-//
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<float*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<float&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<float&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<const float&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<float[2]>::value, false);
-
-//
-// tricky cases:
-//
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<foo1_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<foo2_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<foo3_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<foo4_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<incomplete_type>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_function_test.cpp b/SRC/Boost/libs/type_traits/test/is_function_test.cpp
deleted file mode 100755
index 6e97c75..0000000
--- a/SRC/Boost/libs/type_traits/test/is_function_test.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_function.hpp>
-#endif
-
-TT_TEST_BEGIN(is_function)
-
-typedef void foo0_t();
-typedef void foo1_t(int);
-typedef void foo2_t(int&, double);
-typedef void foo3_t(int&, bool, int, int);
-typedef void foo4_t(int, bool, int*, int[], int, int, int, int, int);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo0_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo1_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo2_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo3_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo4_t>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<int>::value, false);
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<int&&>::value, false);
-#endif
-#else
-std::cout << 
-"<note>is_function will fail with some types (references for example)"
-"if the compiler doesn't support partial specialisation of class templates."
-"These are *not* tested here</note>" << std::endl;
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<int*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<int[]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<int (*)(int)>::value, false);
-
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-typedef void __stdcall sfoo0_t();
-typedef void __stdcall sfoo1_t(int);
-typedef void __stdcall sfoo2_t(int&, double);
-typedef void __stdcall sfoo3_t(int&, bool, int, int);
-typedef void __stdcall sfoo4_t(int, bool, int*, int[], int, int, int, int, int);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<sfoo0_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<sfoo1_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<sfoo2_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<sfoo3_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<sfoo4_t>::value, true);
-
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_fundamental_test.cpp b/SRC/Boost/libs/type_traits/test/is_fundamental_test.cpp
deleted file mode 100755
index 682f591..0000000
--- a/SRC/Boost/libs/type_traits/test/is_fundamental_test.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_fundamental.hpp>
-#endif
-
-TT_TEST_BEGIN(is_fundamental)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<void>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<void const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<void volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<void const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<bool>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<bool const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<bool volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<bool const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<signed char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<signed char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<signed char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<signed char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<char const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned short const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<short const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned int const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<int const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned long const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<long const volatile>::value, true);
-
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental< ::boost::ulong_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental< ::boost::long_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental< ::boost::ulong_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental< ::boost::long_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental< ::boost::ulong_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental< ::boost::long_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental< ::boost::ulong_long_type const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental< ::boost::long_long_type const volatile>::value, true);
-
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int8 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int8 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int16 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int16 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int32 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int32 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<unsigned __int64 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<__int64 const volatile>::value, true);
-
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<float>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<float const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<float volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<float const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<double const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<long double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<long double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<long double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<long double const volatile>::value, true);
-
-//
-// cases that should not be true:
-//
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<float*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<float&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<float&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<const float&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<float[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<incomplete_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<foo0_t>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_integral_test.cpp b/SRC/Boost/libs/type_traits/test/is_integral_test.cpp
deleted file mode 100755
index ee425f5..0000000
--- a/SRC/Boost/libs/type_traits/test/is_integral_test.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_integral.hpp>
-#endif
-
-TT_TEST_BEGIN(is_integral)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<bool>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<bool const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<bool volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<bool const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<signed char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<signed char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<signed char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<signed char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<char const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned short const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<short const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned int const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<int const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned long const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<long const volatile>::value, true);
-
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral< ::boost::ulong_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral< ::boost::long_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral< ::boost::ulong_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral< ::boost::long_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral< ::boost::ulong_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral< ::boost::long_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral< ::boost::ulong_long_type const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral< ::boost::long_long_type const volatile>::value, true);
-
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int8 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int8 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int16 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int16 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int32 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int32 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<unsigned __int64 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int64 const volatile>::value, true);
-
-#endif
-
-//
-// cases that should not be true:
-//
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<float>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<int*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<int[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<foo1_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<foo2_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<foo3_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<foo4_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<incomplete_type>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_lvalue_reference_test.cpp b/SRC/Boost/libs/type_traits/test/is_lvalue_reference_test.cpp
deleted file mode 100755
index 11028fe..0000000
--- a/SRC/Boost/libs/type_traits/test/is_lvalue_reference_test.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_lvalue_reference.hpp>
-#endif
-
-TT_TEST_BEGIN(is_lvalue_reference)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<int&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<const int&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<volatile int &>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<const volatile int &>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<r_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<cr_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<UDT&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<const UDT&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<volatile UDT&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<const volatile UDT&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<int (&)(int)>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<int (&)[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<int [2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<const int [2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<volatile int [2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<const volatile int [2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<bool>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<incomplete_type>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<int&&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<UDT&&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<const UDT&&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<volatile UDT&&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<const volatile UDT&&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<int (&&)(int)>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<int (&&)[2]>::value, false);
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_member_func_test.cpp b/SRC/Boost/libs/type_traits/test/is_member_func_test.cpp
deleted file mode 100755
index 11b2d62..0000000
--- a/SRC/Boost/libs/type_traits/test/is_member_func_test.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_member_function_pointer.hpp>
-#endif
-
-TT_TEST_BEGIN(is_member_function_pointer)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<f1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<f2>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<f3>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<void*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<mf1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<mf2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<mf4>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<cmf>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<mp>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<const int[2] >::value, false);
-#ifndef __IBMCPP__
-// this test may not be strictly legal:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<const int[] >::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<void>::value, false);
-
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-typedef void (__stdcall test_abc1::*scall_proc)();
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<scall_proc>::value, true);
-typedef void (__fastcall test_abc1::*fcall_proc)(int);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<fcall_proc>::value, true);
-typedef void (__cdecl test_abc1::*ccall_proc)(int, long, double);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<ccall_proc>::value, true);
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_member_obj_test.cpp b/SRC/Boost/libs/type_traits/test/is_member_obj_test.cpp
deleted file mode 100755
index 9c35161..0000000
--- a/SRC/Boost/libs/type_traits/test/is_member_obj_test.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_member_object_pointer.hpp>
-#endif
-
-typedef const double (UDT::*mp2) ;
-
-TT_TEST_BEGIN(is_member_object_pointer)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<f1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<f2>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<f3>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<void*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<mf1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<mf2>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<mf3>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<mf4>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<cmf>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<mp2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<foo0_t>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_member_pointer_test.cpp b/SRC/Boost/libs/type_traits/test/is_member_pointer_test.cpp
deleted file mode 100755
index af92aef..0000000
--- a/SRC/Boost/libs/type_traits/test/is_member_pointer_test.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_member_pointer.hpp>
-#endif
-
-TT_TEST_BEGIN(is_member_pointer)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<f1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<f2>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<f3>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<void*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<mf1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<mf2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<mf4>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<cmf>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<foo0_t>::value, false);
-
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-typedef void (__stdcall test_abc1::*scall_proc)();
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<scall_proc>::value, true);
-typedef void (__fastcall test_abc1::*fcall_proc)(int);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<fcall_proc>::value, true);
-typedef void (__cdecl test_abc1::*ccall_proc)(int, long, double);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<ccall_proc>::value, true);
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_object_test.cpp b/SRC/Boost/libs/type_traits/test/is_object_test.cpp
deleted file mode 100755
index 5651f0f..0000000
--- a/SRC/Boost/libs/type_traits/test/is_object_test.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_object.hpp>
-#endif
-
-TT_TEST_BEGIN(is_object)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<UDT>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<foo4_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<test_abc1>::value, true);
-// this one is only partly correct:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<incomplete_type>::value, true);
-
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_pod_test.cpp b/SRC/Boost/libs/type_traits/test/is_pod_test.cpp
deleted file mode 100755
index 061ed5c..0000000
--- a/SRC/Boost/libs/type_traits/test/is_pod_test.cpp
+++ /dev/null
@@ -1,181 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_pod.hpp>
-#endif
-
-TT_TEST_BEGIN(is_pod)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<bool>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<bool const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<bool volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<bool const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<signed char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<signed char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<signed char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<signed char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<char const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned short const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<short const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned int const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned long const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long const volatile>::value, true);
-
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod< ::boost::ulong_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod< ::boost::long_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod< ::boost::ulong_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod< ::boost::long_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod< ::boost::ulong_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod< ::boost::long_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod< ::boost::ulong_long_type const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod< ::boost::long_long_type const volatile>::value, true);
-
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int8 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int8 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int16 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int16 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int32 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int32 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<unsigned __int64 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<__int64 const volatile>::value, true);
-
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<float>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<float const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<float volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<float const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<double const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<long double const volatile>::value, true);
-
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<void*>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int*const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<f1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<f2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<f3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<mf1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<mf2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<cmf>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<enum_UDT>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int[3][2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int[2][4][5][6][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<void>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<test_abc1>::value, false);
-
-// cases we would like to succeed but can't implement in the language:
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_pod<empty_POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_pod<POD_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_pod<POD_union_UDT>::value, true, false);
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_pod<empty_POD_union_UDT>::value, true, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<trivial_except_copy>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<trivial_except_destroy>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<trivial_except_assign>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<trivial_except_construct>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<wrap<trivial_except_copy> >::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<wrap<trivial_except_assign> >::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<wrap<trivial_except_destroy> >::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<wrap<trivial_except_construct> >::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_pointer_test.cpp b/SRC/Boost/libs/type_traits/test/is_pointer_test.cpp
deleted file mode 100755
index 239213a..0000000
--- a/SRC/Boost/libs/type_traits/test/is_pointer_test.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_pointer.hpp>
-#endif
-
-TT_TEST_BEGIN(is_pointer)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int*>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<const int*>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<volatile int*>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<non_pointer*>::value, true);
-   // these were false in previous versions (JM 20 Dec 2000):
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int*const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int*volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int*const volatile>::value, true);
-   // JM 02 Oct 2000:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<non_pointer>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int*&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int(&)[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<char[sizeof(void*)]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<void>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<f1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<f2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<f3>::value, true);
-   // Steve: was 'true', should be 'false', via 3.9.2p3
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<mf1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<mf2>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<mf3>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<mf4>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<test_abc1>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<foo1_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<foo2_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<foo3_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<foo4_t>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<test_abc1>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_polymorphic_test.cpp b/SRC/Boost/libs/type_traits/test/is_polymorphic_test.cpp
deleted file mode 100755
index 2cfae36..0000000
--- a/SRC/Boost/libs/type_traits/test/is_polymorphic_test.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_polymorphic.hpp>
-#endif
-
-#include <exception>
-#include <new>
-#include <stdexcept>
-
-#if defined(BOOST_WINDOWS) && !defined(BOOST_DISABLE_WIN32)
-#include <windows.h> // more things to test
-#endif
-
-// this test was added to check for bug reported on 21 May 2003:
-struct poly_bug { virtual int foo() = 0; };
-
-TT_TEST_BEGIN(is_polymorphic)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<const int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<volatile int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<int*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<int* const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<int[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<mf4>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<f1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<enum_UDT>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<empty_UDT>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<UDT*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<UDT[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<UDT&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<void>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<VB>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<VD>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<test_abc1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<test_abc2>::value, true);
-#ifndef BOOST_NO_STD_LOCALE
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<std::iostream>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<std::basic_streambuf<char> >::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<std::basic_ios<char> >::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<std::basic_istream<char> >::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<std::basic_streambuf<char> >::value, true);
-// some libraries don't make this one a polymorphic class, since this is a library
-// rather than a type traits issue we won't test this for now...
-//BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<std::ios_base>::value, true);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<std::exception>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<std::bad_alloc>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<std::runtime_error>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<std::out_of_range>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<std::range_error>::value, true);
-
-#if defined(BOOST_WINDOWS) && !defined(BOOST_DISABLE_WIN32)
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<IUnknown>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<ITypeInfo>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<ITypeComp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<IDispatch>::value, true);
-#endif
-
-//
-// this test was added to check for bug reported on 21 May 2003:
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<poly_bug>::value, true);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_reference_test.cpp b/SRC/Boost/libs/type_traits/test/is_reference_test.cpp
deleted file mode 100755
index a431a2e..0000000
--- a/SRC/Boost/libs/type_traits/test/is_reference_test.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_reference.hpp>
-#endif
-
-TT_TEST_BEGIN(is_reference)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<int&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<const int&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<volatile int &>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<const volatile int &>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<r_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<cr_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<UDT&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<const UDT&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<volatile UDT&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<const volatile UDT&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<int (&)(int)>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<int (&)[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<int [2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<const int [2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<volatile int [2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<const volatile int [2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<bool>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<incomplete_type>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<int&&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<UDT&&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<const UDT&&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<volatile UDT&&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<const volatile UDT&&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<int (&&)[2]>::value, true);
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_rvalue_reference_test.cpp b/SRC/Boost/libs/type_traits/test/is_rvalue_reference_test.cpp
deleted file mode 100755
index c73dce3..0000000
--- a/SRC/Boost/libs/type_traits/test/is_rvalue_reference_test.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_rvalue_reference.hpp>
-#endif
-
-TT_TEST_BEGIN(is_rvalue_reference)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<volatile int &>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<const volatile int &>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<r_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<cr_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<UDT&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<const UDT&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<volatile UDT&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<const volatile UDT&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<int (&)[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<int [2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<const int [2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<volatile int [2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<const volatile int [2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<bool>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<incomplete_type>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<int&&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<UDT&&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<const UDT&&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<volatile UDT&&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<const volatile UDT&&>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<int (&&)[2]>::value, true);
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_same_test.cpp b/SRC/Boost/libs/type_traits/test/is_same_test.cpp
deleted file mode 100755
index 170c1e4..0000000
--- a/SRC/Boost/libs/type_traits/test/is_same_test.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_same.hpp>
-#endif
-
-TT_TEST_BEGIN(is_same)
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int, int>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int&, int&>::value), true);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int&&, int&&>::value), true);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int, const int>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int, int&>::value), false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int, int&&>::value), false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<const int, int&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int, const int&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int*, const int*>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int*, int*const>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int, int[2]>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int*, int[2]>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int[4], int[2]>::value), false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_scalar_test.cpp b/SRC/Boost/libs/type_traits/test/is_scalar_test.cpp
deleted file mode 100755
index 73b6479..0000000
--- a/SRC/Boost/libs/type_traits/test/is_scalar_test.cpp
+++ /dev/null
@@ -1,160 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_scalar.hpp>
-#endif
-
-TT_TEST_BEGIN(is_scalar)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<bool>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<bool const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<bool volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<bool const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<signed char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<signed char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<signed char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<signed char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<char const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<char volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned char const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<char const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<short const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<short volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned short const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<short const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<int const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<int volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned int const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<int const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<long const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<long volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned long const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<long const volatile>::value, true);
-
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar< ::boost::ulong_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar< ::boost::long_long_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar< ::boost::ulong_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar< ::boost::long_long_type const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar< ::boost::ulong_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar< ::boost::long_long_type volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar< ::boost::ulong_long_type const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar< ::boost::long_long_type const volatile>::value, true);
-
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int8>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int8 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int8 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int8 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int8 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int16>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int16 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int16 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int16 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int16 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int32>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int32 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int32 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int32 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int32 const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int64>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int64 const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int64 volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<unsigned __int64 const volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<__int64 const volatile>::value, true);
-
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<float>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<float const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<float volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<float const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<double const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<long double>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<long double const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<long double volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<long double const volatile>::value, true);
-
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<void*>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<int*const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<f1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<f2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<f3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<mf1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<mf2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<cmf>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<enum_UDT>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<test_abc1>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_signed_test.cpp b/SRC/Boost/libs/type_traits/test/is_signed_test.cpp
deleted file mode 100755
index 1e1d7e7..0000000
--- a/SRC/Boost/libs/type_traits/test/is_signed_test.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_signed.hpp>
-#endif
-
-TT_TEST_BEGIN(is_signed)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<signed char>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<unsigned int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<unsigned long>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<unsigned short>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<unsigned char>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<int*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<int[2]>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_stateless_test.cpp b/SRC/Boost/libs/type_traits/test/is_stateless_test.cpp
deleted file mode 100755
index fb97f2f..0000000
--- a/SRC/Boost/libs/type_traits/test/is_stateless_test.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_stateless.hpp>
-#endif
-
-TT_TEST_BEGIN(is_stateless)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<bool>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<bool const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<bool volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<bool const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<signed char>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<signed char const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<signed char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<signed char const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned char>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<char>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned char const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<char const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<char volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned char const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<char const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned short>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<short>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned short const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<short const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned short volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<short volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned short const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<short const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned int const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned int volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned int const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned long>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<long>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned long const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<long const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned long volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<long volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned long const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<long const volatile>::value, false);
-
-#ifdef BOOST_HAS_LONG_LONG
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless< ::boost::ulong_long_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless< ::boost::long_long_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless< ::boost::ulong_long_type const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless< ::boost::long_long_type const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless< ::boost::ulong_long_type volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless< ::boost::long_long_type volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless< ::boost::ulong_long_type const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless< ::boost::long_long_type const volatile>::value, false);
-
-#endif
-
-#ifdef BOOST_HAS_MS_INT64
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int8>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int8>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int8 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int8 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int8 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int8 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int8 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int8 const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int16>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int16>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int16 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int16 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int16 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int16 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int16 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int16 const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int32>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int32>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int32 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int32 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int32 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int32 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int32 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int32 const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int64>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int64>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int64 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int64 const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int64 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int64 volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<unsigned __int64 const volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<__int64 const volatile>::value, false);
-
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<float>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<float const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<float volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<float const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<double>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<double const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<double volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<double const volatile>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<long double>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<long double const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<long double volatile>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<long double const volatile>::value, false);
-
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<void*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int*const>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<f1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<f2>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<f3>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<mf1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<mf2>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<mf3>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<mp>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<cmf>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<enum_UDT>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int[3][2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int[2][4][5][6][3]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<void>::value, false);
-
-// cases we would like to succeed but can't implement in the language:
-BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::is_stateless<empty_POD_UDT>::value, true, false);
-
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_union_test.cpp b/SRC/Boost/libs/type_traits/test/is_union_test.cpp
deleted file mode 100755
index a4dda5f..0000000
--- a/SRC/Boost/libs/type_traits/test/is_union_test.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_union.hpp>
-#endif
-#include <iostream>
-
-TT_TEST_BEGIN(is_union)
-
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<int>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<const int>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<volatile int>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<int*>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<int* const>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<int[2]>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<int&&>::value, false);
-#endif
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<mf4>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<f1>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<enum_UDT>::value, false);
-
-#if defined(BOOST_HAS_TYPE_TRAITS_INTRINSICS) && !defined(__sgi)
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<union_UDT>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<POD_union_UDT>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<empty_union_UDT>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<empty_POD_union_UDT>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<union_UDT const>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<POD_union_UDT volatile>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<empty_union_UDT const volatile>::value, true);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<empty_POD_union_UDT const>::value, true);
-#else
-   std::cout <<
-   "\n<note>\n"
-   "This compiler version does not provide support for is_union on\n"
-   "union types. Such support is not currently required by the\n"
-   "C++ Standard. It will be required to support the upcoming\n"
-   "Standard Library Technical Report.\n"
-   "</note>\n";
-#endif
-
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<UDT>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<UDT const>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<UDT volatile>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<empty_UDT>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<std::iostream>::value, false);
-
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<UDT*>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<UDT[2]>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<UDT&>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<void>::value, false);
-
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<test_abc1>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<foo0_t>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<foo1_t>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<foo2_t>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<foo3_t>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<foo4_t>::value, false);
-   BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<incomplete_type>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_unsigned_test.cpp b/SRC/Boost/libs/type_traits/test/is_unsigned_test.cpp
deleted file mode 100755
index 5479f43..0000000
--- a/SRC/Boost/libs/type_traits/test/is_unsigned_test.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_unsigned.hpp>
-#endif
-
-TT_TEST_BEGIN(is_signed)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<long>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<short>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<signed char>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned long>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned short>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned char>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned&&>::value, false);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned[2]>::value, false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_virtual_base_of_test.cpp b/SRC/Boost/libs/type_traits/test/is_virtual_base_of_test.cpp
deleted file mode 100755
index b77c1cc..0000000
--- a/SRC/Boost/libs/type_traits/test/is_virtual_base_of_test.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-
-//  (C) Copyright John Maddock 2009. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#include <boost/type_traits/is_virtual_base_of.hpp>
-
-// for bug report 3317: https://svn.boost.org/trac/boost/ticket/3317
-class B
-{
-public:
-   B();
-   virtual ~B()throw();
-};
-
-class D : public B
-{
-public:
-   D();
-   virtual ~D()throw();
-};
-
-// for bug report 4453: https://svn.boost.org/trac/boost/ticket/4453
-class non_virtual_base
-{
-public:
-   non_virtual_base();
-};
-class non_virtual_derived : public non_virtual_base
-{
-public:
-   non_virtual_derived();
-   virtual int Y();
-   virtual int X();
-};
-
-TT_TEST_BEGIN(is_virtual_base_of)
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Derived,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Derived,Derived>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Base,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Base,Derived>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Base,MultiBase>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Derived,MultiBase>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Derived2,MultiBase>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Base,PrivateBase>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<NonDerived,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Base,void>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Base,const void>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<void,Derived>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<const void,Derived>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<int, int>::value), false);  // really it is!!!!!
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<const int, int>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<VB,VD>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<VD,VB>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<test_abc1,test_abc3>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<test_abc3,test_abc1>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Base,virtual_inherit1>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<virtual_inherit1,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Base,virtual_inherit2>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<virtual_inherit2,Base>::value), false);
-#ifndef BOOST_BROKEN_IS_BASE_AND_DERIVED
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Base,virtual_inherit3>::value), true);
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<virtual_inherit3,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<boost::noncopyable,virtual_inherit4>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<virtual_inherit4,boost::noncopyable>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<int_convertible,virtual_inherit5>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<virtual_inherit5,int_convertible>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<Base,virtual_inherit6>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<virtual_inherit6,Base>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<B,D>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_virtual_base_of<non_virtual_base,non_virtual_derived>::value), false);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_void_test.cpp b/SRC/Boost/libs/type_traits/test/is_void_test.cpp
deleted file mode 100755
index f06b5be..0000000
--- a/SRC/Boost/libs/type_traits/test/is_void_test.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_void.hpp>
-#endif
-
-TT_TEST_BEGIN(is_void)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<void>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<void const>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<void volatile>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<void const volatile>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<void*>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<foo1_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<foo2_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<foo3_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<foo4_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<incomplete_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<int&&>::value, false);
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/is_volatile_test.cpp b/SRC/Boost/libs/type_traits/test/is_volatile_test.cpp
deleted file mode 100755
index e07e8c8..0000000
--- a/SRC/Boost/libs/type_traits/test/is_volatile_test.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_volatile.hpp>
-#endif
-
-TT_TEST_BEGIN(is_volatile)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<void>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<volatile void>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<test_abc1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<volatile test_abc1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<int>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<volatile int>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<volatile UDT>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<volatile const UDT>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<incomplete_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<volatile int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<int[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<const int[2]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<const volatile int[2]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<const volatile int[]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<const int[]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<volatile int[]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<int[]>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<volatile int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<int&&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<volatile int&&>::value, false);
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/make_signed_test.cpp b/SRC/Boost/libs/type_traits/test/make_signed_test.cpp
deleted file mode 100755
index 2a3666f..0000000
--- a/SRC/Boost/libs/type_traits/test/make_signed_test.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-
-//  (C) Copyright John Maddock 2007. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/make_signed.hpp>
-#endif
-
-TT_TEST_BEGIN(make_signed)
-// signed types:
-BOOST_CHECK_TYPE(::tt::make_signed<signed char>::type, signed char);
-BOOST_CHECK_TYPE(::tt::make_signed<short>::type, short);
-BOOST_CHECK_TYPE(::tt::make_signed<int>::type, int);
-BOOST_CHECK_TYPE(::tt::make_signed<long>::type, long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_signed<boost::long_long_type>::type, boost::long_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_signed<__int64>::type, __int64);
-#endif
-// const signed types:
-BOOST_CHECK_TYPE(::tt::make_signed<const signed char>::type, const signed char);
-BOOST_CHECK_TYPE(::tt::make_signed<const short>::type, const short);
-BOOST_CHECK_TYPE(::tt::make_signed<const int>::type, const int);
-BOOST_CHECK_TYPE(::tt::make_signed<const long>::type, const long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_signed<const boost::long_long_type>::type, const boost::long_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_signed<const __int64>::type, const __int64);
-#endif
-// volatile signed types:
-BOOST_CHECK_TYPE(::tt::make_signed<volatile signed char>::type, volatile signed char);
-BOOST_CHECK_TYPE(::tt::make_signed<volatile short>::type, volatile short);
-BOOST_CHECK_TYPE(::tt::make_signed<volatile int>::type, volatile int);
-BOOST_CHECK_TYPE(::tt::make_signed<volatile long>::type, volatile long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_signed<volatile boost::long_long_type>::type, volatile boost::long_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_signed<volatile __int64>::type, volatile __int64);
-#endif
-// const volatile signed types:
-BOOST_CHECK_TYPE(::tt::make_signed<const volatile signed char>::type, const volatile signed char);
-BOOST_CHECK_TYPE(::tt::make_signed<const volatile short>::type, const volatile short);
-BOOST_CHECK_TYPE(::tt::make_signed<const volatile int>::type, const volatile int);
-BOOST_CHECK_TYPE(::tt::make_signed<const volatile long>::type, const volatile long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_signed<const volatile boost::long_long_type>::type, const volatile boost::long_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_signed<const volatile __int64>::type, const volatile __int64);
-#endif
-
-// unsigned types:
-BOOST_CHECK_TYPE(::tt::make_signed<unsigned char>::type, signed char);
-BOOST_CHECK_TYPE(::tt::make_signed<unsigned short>::type, short);
-BOOST_CHECK_TYPE(::tt::make_signed<unsigned int>::type, int);
-BOOST_CHECK_TYPE(::tt::make_signed<unsigned long>::type, long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_signed<boost::ulong_long_type>::type, boost::long_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_signed<unsigned __int64>::type, __int64);
-#endif
-// const unsigned types:
-BOOST_CHECK_TYPE(::tt::make_signed<const unsigned char>::type, const signed char);
-BOOST_CHECK_TYPE(::tt::make_signed<const unsigned short>::type, const short);
-BOOST_CHECK_TYPE(::tt::make_signed<const unsigned int>::type, const int);
-BOOST_CHECK_TYPE(::tt::make_signed<const unsigned long>::type, const long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_signed<const boost::ulong_long_type>::type, const boost::long_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_signed<const unsigned __int64>::type, const __int64);
-#endif
-// volatile unsigned types:
-BOOST_CHECK_TYPE(::tt::make_signed<volatile unsigned char>::type, volatile signed char);
-BOOST_CHECK_TYPE(::tt::make_signed<volatile unsigned short>::type, volatile short);
-BOOST_CHECK_TYPE(::tt::make_signed<volatile unsigned int>::type, volatile int);
-BOOST_CHECK_TYPE(::tt::make_signed<volatile unsigned long>::type, volatile long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_signed<volatile boost::ulong_long_type>::type, volatile boost::long_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_signed<volatile unsigned __int64>::type, volatile __int64);
-#endif
-// const volatile unsigned types:
-BOOST_CHECK_TYPE(::tt::make_signed<const volatile unsigned char>::type, const volatile signed char);
-BOOST_CHECK_TYPE(::tt::make_signed<const volatile unsigned short>::type, const volatile short);
-BOOST_CHECK_TYPE(::tt::make_signed<const volatile unsigned int>::type, const volatile int);
-BOOST_CHECK_TYPE(::tt::make_signed<const volatile unsigned long>::type, const volatile long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_signed<const volatile boost::ulong_long_type>::type, const volatile boost::long_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_signed<const volatile unsigned __int64>::type, const volatile __int64);
-#endif
-
-// character types:
-BOOST_CHECK_TYPE(::tt::make_signed<char>::type, signed char);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral< ::tt::make_signed<wchar_t>::type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed< ::tt::make_signed<wchar_t>::type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral< ::tt::make_signed<enum_UDT>::type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed< ::tt::make_signed<enum_UDT>::type>::value, true);
-TT_TEST_END
-
-
diff --git a/SRC/Boost/libs/type_traits/test/make_unsigned_test.cpp b/SRC/Boost/libs/type_traits/test/make_unsigned_test.cpp
deleted file mode 100755
index e97b908..0000000
--- a/SRC/Boost/libs/type_traits/test/make_unsigned_test.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-
-//  (C) Copyright John Maddock 2007. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/make_unsigned.hpp>
-#endif
-
-TT_TEST_BEGIN(make_unsigned)
-// signed types:
-BOOST_CHECK_TYPE(::tt::make_unsigned<signed char>::type, unsigned char);
-BOOST_CHECK_TYPE(::tt::make_unsigned<short>::type, unsigned short);
-BOOST_CHECK_TYPE(::tt::make_unsigned<int>::type, unsigned int);
-BOOST_CHECK_TYPE(::tt::make_unsigned<long>::type, unsigned long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_unsigned<boost::long_long_type>::type, boost::ulong_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_unsigned<__int64>::type, unsigned __int64);
-#endif
-// const signed types:
-BOOST_CHECK_TYPE(::tt::make_unsigned<const signed char>::type, const unsigned char);
-BOOST_CHECK_TYPE(::tt::make_unsigned<const short>::type, const unsigned short);
-BOOST_CHECK_TYPE(::tt::make_unsigned<const int>::type, const unsigned int);
-BOOST_CHECK_TYPE(::tt::make_unsigned<const long>::type, const unsigned long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_unsigned<const boost::long_long_type>::type, const boost::ulong_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_unsigned<const __int64>::type, const unsigned __int64);
-#endif
-// volatile signed types:
-BOOST_CHECK_TYPE(::tt::make_unsigned<volatile signed char>::type, volatile unsigned char);
-BOOST_CHECK_TYPE(::tt::make_unsigned<volatile short>::type, volatile unsigned short);
-BOOST_CHECK_TYPE(::tt::make_unsigned<volatile int>::type, volatile unsigned int);
-BOOST_CHECK_TYPE(::tt::make_unsigned<volatile long>::type, volatile unsigned long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_unsigned<volatile boost::long_long_type>::type, volatile boost::ulong_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_unsigned<volatile __int64>::type, volatile unsigned __int64);
-#endif
-// const volatile signed types:
-BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile signed char>::type, const volatile unsigned char);
-BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile short>::type, const volatile unsigned short);
-BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile int>::type, const volatile unsigned int);
-BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile long>::type, const volatile unsigned long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile boost::long_long_type>::type, const volatile boost::ulong_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile __int64>::type, const volatile unsigned __int64);
-#endif
-
-// unsigned types:
-BOOST_CHECK_TYPE(::tt::make_unsigned<unsigned char>::type, unsigned char);
-BOOST_CHECK_TYPE(::tt::make_unsigned<unsigned short>::type, unsigned short);
-BOOST_CHECK_TYPE(::tt::make_unsigned<unsigned int>::type, unsigned int);
-BOOST_CHECK_TYPE(::tt::make_unsigned<unsigned long>::type, unsigned long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_unsigned<boost::ulong_long_type>::type, boost::ulong_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_unsigned<unsigned __int64>::type, unsigned __int64);
-#endif
-// const unsigned types:
-BOOST_CHECK_TYPE(::tt::make_unsigned<const unsigned char>::type, const unsigned char);
-BOOST_CHECK_TYPE(::tt::make_unsigned<const unsigned short>::type, const unsigned short);
-BOOST_CHECK_TYPE(::tt::make_unsigned<const unsigned int>::type, const unsigned int);
-BOOST_CHECK_TYPE(::tt::make_unsigned<const unsigned long>::type, const unsigned long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_unsigned<const boost::ulong_long_type>::type, const boost::ulong_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_unsigned<const unsigned __int64>::type, const unsigned __int64);
-#endif
-// volatile unsigned types:
-BOOST_CHECK_TYPE(::tt::make_unsigned<volatile unsigned char>::type, volatile unsigned char);
-BOOST_CHECK_TYPE(::tt::make_unsigned<volatile unsigned short>::type, volatile unsigned short);
-BOOST_CHECK_TYPE(::tt::make_unsigned<volatile unsigned int>::type, volatile unsigned int);
-BOOST_CHECK_TYPE(::tt::make_unsigned<volatile unsigned long>::type, volatile unsigned long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_unsigned<volatile boost::ulong_long_type>::type, volatile boost::ulong_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_unsigned<volatile unsigned __int64>::type, volatile unsigned __int64);
-#endif
-// const volatile unsigned types:
-BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile unsigned char>::type, const volatile unsigned char);
-BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile unsigned short>::type, const volatile unsigned short);
-BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile unsigned int>::type, const volatile unsigned int);
-BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile unsigned long>::type, const volatile unsigned long);
-#ifdef BOOST_HAS_LONG_LONG
-BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile boost::ulong_long_type>::type, const volatile boost::ulong_long_type);
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile unsigned __int64>::type, const volatile unsigned __int64);
-#endif
-
-// character types:
-BOOST_CHECK_TYPE(::tt::make_unsigned<char>::type, unsigned char);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral< ::tt::make_unsigned<wchar_t>::type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned< ::tt::make_unsigned<wchar_t>::type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral< ::tt::make_unsigned<enum_UDT>::type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned< ::tt::make_unsigned<enum_UDT>::type>::value, true);
-TT_TEST_END
-
-
diff --git a/SRC/Boost/libs/type_traits/test/promote_basic_test.cpp b/SRC/Boost/libs/type_traits/test/promote_basic_test.cpp
deleted file mode 100755
index 4532ad9..0000000
--- a/SRC/Boost/libs/type_traits/test/promote_basic_test.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-// Copyright 2005 Alexander Nasonov.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <climits>
-
-#if !defined(BOOST_NO_CWCHAR)
-#include <cwchar>
-#endif
-
-#include "promote_util.hpp"
-
-struct Struct {};
-
-int main()
-{
-    // char types
-
-#if CHAR_MAX <= INT_MAX
-    test_cv< char, int >();
-#else
-    // TODO: dead branch?
-    test_cv< char, unsigned int >();
-#endif
-
-    test_cv< signed char, int >();
-
-#if UCHAR_MAX <= INT_MAX
-    test_cv< unsigned char, int >();
-#else
-    test_cv< unsigned char, unsigned int >();
-#endif
-
-
-    // short types
-
-    test_cv< short int, int >();
-
-#if USHRT_MAX <= INT_MAX
-    test_cv< unsigned short, int >();
-#else
-    test_cv< unsigned short, unsigned int >();
-#endif
-
-
-    // int and long
-
-    test_cv< int,           int           >();
-    test_cv< unsigned int,  unsigned int  >();
-    test_cv< long,          long          >();
-    test_cv< unsigned long, unsigned long >();
-
-    // wchar_t
-
-#if !defined(BOOST_NO_CWCHAR) && defined(WCHAR_MAX) && defined(WCHAR_MIN)
-
-// Version prior to VC8 didn't allow WCHAR_MAX in #if expressions
-#if defined(BOOST_MSVC) && BOOST_MSVC < 1400
-#  define BOOST_TT_AUX_WCHAR_MAX USHORT_MAX // force test_cv< wchar_t, int >
-#elif defined(WCHAR_MAX) && !defined(__APPLE__)
-#  define BOOST_TT_AUX_WCHAR_MAX WCHAR_MAX
-#elif defined(__BORLANDC__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__BEOS__) && defined(__GNUC__))
-    // No WCHAR_MIN and WCHAR_MAX, whar_t is short and unsigned:
-#  define BOOST_TT_AUX_WCHAR_MAX USHORT_MAX // force test_cv< wchar_t, int >
-#elif (defined(__sgi) && (!defined(__SGI_STL_PORT) || __SGI_STL_PORT < 0x400))\
-    || (defined __APPLE__)\
-    || (defined(__OpenBSD__) && defined(__GNUC__))\
-    || (defined(__NetBSD__) && defined(__GNUC__))\
-    || (defined(__FreeBSD__) && defined(__GNUC__))\
-    || (defined(__DragonFly__) && defined(__GNUC__))\
-    || (defined(__hpux) && defined(__GNUC__) && (__GNUC__ == 3) && !defined(__SGI_STL_PORT))
-    // No WCHAR_MIN and WCHAR_MAX, wchar_t has the same range as int.
-    //  - SGI MIPSpro with native library
-    //  - gcc 3.x on HP-UX
-    //  - Mac OS X with native library
-    //  - gcc on FreeBSD, OpenBSD and NetBSD
-#  define BOOST_TT_AUX_WCHAR_MAX INT_MAX // force test_cv< wchar_t, int >
-#elif defined(__hpux) && defined(__GNUC__) && (__GNUC__ == 2) && !defined(__SGI_STL_PORT)
-    // No WCHAR_MIN and WCHAR_MAX, wchar_t has the same range as unsigned int.
-    //  - gcc 2.95.x on HP-UX
-    // (also, std::numeric_limits<wchar_t> appears to return the wrong values).
-#  define BOOST_TT_AUX_WCHAR_MAX UINT_MAX // force test_cv< wchar_t, int >
-#endif
-
-// For this PP-logic to work we need a valid WCHAR_MAX etc:
-#if defined(BOOST_TT_AUX_WCHAR_MAX) \
-   && !defined(__DECCXX) \
-   && !defined(__hpux) \
-   && !defined(_WIN32_WCE)
-
-#if BOOST_TT_AUX_WCHAR_MAX <= INT_MAX
-    test_cv< wchar_t, int >();
-#elif WCHAR_MIN == 0 && BOOST_TT_AUX_WCHAR_MAX <= UINT_MAX
-    test_cv< wchar_t, unsigned int >();
-#elif BOOST_TT_AUX_WCHAR_MAX <= LONG_MAX
-    test_cv< wchar_t, long >();
-#else
-    test_cv< wchar_t, unsigned long >();
-#endif
-
-#endif
-
-#undef BOOST_TT_AUX_WCHAR_MAX
-
-#endif
-
-
-    // floating point promotion
-
-    test_cv< float , double >();
-    test_cv< double, double >();
-
-
-    // Other types
-
-    test_cv< Struct, Struct >();
-    test_cv< void  , void   >();
-    test_cv< void* , void*  >();
-
-    // Array types
-
-    typedef int arr[3];
-    typedef int (&arr_ref)[3];
-    typedef int (*arr_ptr)[3];
-
-    test_cv< arr    , arr     >();
-    test_cv< arr_ptr, arr_ptr >();
-
-    test_no_cv<arr_ref,arr_ref>();
-
-
-    // Function types
-
-    typedef int (fun)();
-    typedef int (&fun_ref)();
-    typedef int (*fun_ptr)();
-
-    test_no_cv< fun    , fun     >();
-    test_no_cv< fun_ref, fun_ref >();
-    test_no_cv< fun_ptr, fun_ptr >();
-
-    // Member pointer types
-
-    typedef int (Struct::*mem_fun_ptr)();
-    typedef int Struct::*mem_ptr;
-
-    test_no_cv< mem_ptr,     mem_ptr     >();
-    test_no_cv< mem_fun_ptr, mem_fun_ptr >();
-
-    return 0;
-}
-
diff --git a/SRC/Boost/libs/type_traits/test/promote_enum_msvc_bug_test.cpp b/SRC/Boost/libs/type_traits/test/promote_enum_msvc_bug_test.cpp
deleted file mode 100755
index 2ec6b4e..0000000
--- a/SRC/Boost/libs/type_traits/test/promote_enum_msvc_bug_test.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2009 Alexander Nasonov.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Test bug 99776 'enum UIntEnum { value = UINT_MAX } is promoted to int'
-// http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=22b0a6b7-120f-4ca0-9136-fa1b25b26efe
-//
-// Intel 9.0.028 for Windows has a similar problem:
-// https://premier.intel.com/IssueDetail.aspx?IssueID=365073
-
-#include <boost/type_traits/promote.hpp>
-
-#include <climits>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-#include "promote_util.hpp"
-
-#ifdef BOOST_INTEL
-//  remark #1418: external function definition with no prior declaration
-#pragma warning(disable:1418)
-#endif
-
-
-enum UIntEnum { UIntEnum_max = UINT_MAX };
-
-template<class T>
-void assert_is_uint(T)
-{
-    BOOST_STATIC_ASSERT((boost::is_same<T, unsigned int>::value));
-}
-
-void test_promote_to_uint()
-{
-    assert_is_uint(+UIntEnum_max);
-    test_cv< UIntEnum, unsigned int >();
-}
-
-int main()
-{
-    return 0;
-}
-
diff --git a/SRC/Boost/libs/type_traits/test/promote_enum_test.cpp b/SRC/Boost/libs/type_traits/test/promote_enum_test.cpp
deleted file mode 100755
index d73009e..0000000
--- a/SRC/Boost/libs/type_traits/test/promote_enum_test.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-// Copyright 2005-2006 Alexander Nasonov.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Status of some compilers:
-//
-// Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
-// /Za (disable extentions) is totally broken.
-// /Ze (enable extentions) promotes UIntEnum incorrectly to int.
-// See http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=22b0a6b7-120f-4ca0-9136-fa1b25b26efe
-//
-// Intel 9.0.028 for Windows has a similar problem:
-// https://premier.intel.com/IssueDetail.aspx?IssueID=365073
-//
-// gcc 3.4.4 with -fshort-enums option on x86
-// Dummy value is required, otherwise gcc promotes Enum1
-// to unsigned int although USHRT_MAX <= INT_MAX.
-// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24063
-// 
-// CC: Sun WorkShop 6 update 2 C++ 5.3 Patch 111685-20 2004/03/19
-// on SPARC V9 64-bit processor (-xarch=v9 flag)
-// Dummy values are required for LongEnum3 and LongEnum4.
-//
-// CC: Sun C++ 5.7 Patch 117830-03 2005/07/21
-// ICE in boost/type_traits/is_enum.hpp at line 67.
-
-
-#include <climits>
-
-#include "promote_util.hpp"
-#include <boost/detail/workaround.hpp>
-
-#ifdef BOOST_INTEL
-//  remark #1418: external function definition with no prior declaration
-#pragma warning(disable:1418)
-#endif
-
-enum IntEnum1 { IntEnum1_min = -5      , IntEnum1_max = 5        };
-enum IntEnum2 { IntEnum2_min = SHRT_MIN, IntEnum2_max = SHRT_MAX };
-enum IntEnum3 { IntEnum3_min = INT_MIN , IntEnum3_max = INT_MAX  };
-enum IntEnum4 { IntEnum4_value = INT_MAX };
-enum IntEnum5 { IntEnum5_value = INT_MIN };
-
-void test_promote_to_int()
-{
-    test_cv<IntEnum1,int>();
-    test_cv<IntEnum2,int>();
-    test_cv<IntEnum3,int>();
-    test_cv<IntEnum4,int>();
-    test_cv<IntEnum5,int>();
-}
-
-
-#if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ == 4 && USHRT_MAX <= INT_MAX)
-
-enum Enum1 { Enum1_value = USHRT_MAX };
-
-#else
-
-// workaround for bug #24063 in gcc 3.4
-// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24063
-namespace gcc_short_enums_workaround {
-
-enum short_enum { value = 1 };
-
-template<bool ShortEnumsIsOn>
-struct select
-{
-    // Adding negative dummy value doesn't change
-    // promoted type because USHRT_MAX <= INT_MAX.
-    enum type { dummy = -1, value = USHRT_MAX };
-};
-
-template<>
-struct select<false>
-{
-    // No dummy value
-    enum type { value = USHRT_MAX };
-};
-
-} // namespace gcc_short_enums_workaround
-
-typedef gcc_short_enums_workaround::select<
-    sizeof(gcc_short_enums_workaround::short_enum) != sizeof(int)
-  >::type Enum1;
-
-#endif
-
-void test_promote_to_int_or_uint()
-{
-#if USHRT_MAX <= INT_MAX
-    test_cv<Enum1, int>();
-#else
-    test_cv<Enum1, unsigned int>();
-#endif
-}
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500) ) || \
-    BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(1000))
-// Don't test UIntEnum on VC++ 8.0 and Intel for Windows 9.0,
-// they are broken. More info is on top of this file.
-#else
-
-enum UIntEnum { UIntEnum_max = UINT_MAX };
-
-void test_promote_to_uint()
-{
-    test_cv< UIntEnum, unsigned int >();
-}
-
-#endif
-
-// Enums can't be promoted to [unsigned] long if sizeof(int) == sizeof(long).
-#if INT_MAX < LONG_MAX
-
-enum LongEnum1 { LongEnum1_min = -1      , LongEnum1_max  = UINT_MAX };
-enum LongEnum2 { LongEnum2_min = LONG_MIN, LongEnum2_max  = LONG_MAX };
-
-enum LongEnum3
-{
-   LongEnum3_value = LONG_MAX
-#if defined(__SUNPRO_CC) && __SUNPRO_CC <= 0x530
- , LongEnum3_dummy = -1
-#endif
-};
-
-enum LongEnum4
-{
-    LongEnum4_value = LONG_MIN
-#if defined(__SUNPRO_CC) && __SUNPRO_CC <= 0x530
-  , LongEnum4_dummy = 1
-#endif
-};  
-
-void test_promote_to_long()
-{
-    test_cv< LongEnum1, long >();
-    test_cv< LongEnum2, long >();
-    test_cv< LongEnum3, long >();
-    test_cv< LongEnum4, long >();
-}
-
-enum ULongEnum { ULongEnum_value = ULONG_MAX };
-
-void test_promote_to_ulong()
-{
-    test_cv< ULongEnum, unsigned long >();
-}
-
-#endif // #if INT_MAX < LONG_MAX
-
-int main()
-{
-    return 0;
-}
-
diff --git a/SRC/Boost/libs/type_traits/test/promote_mpl_test.cpp b/SRC/Boost/libs/type_traits/test/promote_mpl_test.cpp
deleted file mode 100755
index d4e5228..0000000
--- a/SRC/Boost/libs/type_traits/test/promote_mpl_test.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2005 Alexander Nasonov.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/transform.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/promote.hpp>
-
-namespace mpl = boost::mpl;
-
-int main()
-{
-    using namespace mpl::placeholders;
-
-    typedef mpl::vector< char
-                       , signed char          // 1
-                       , unsigned char
-                       , short int const      // 3
-                       , unsigned short int
-                       , int volatile         // 5
-                       , unsigned int         // 6
-                       , long                 // 7
-                       , unsigned long        // 8
-                       , float const          // 9
-                       > types;
-
-    typedef mpl::transform< types
-                          , mpl::lambda< boost::promote<_> >::type
-                          >::type promoted;
-
-    BOOST_STATIC_ASSERT(( ::boost::is_same< mpl::at_c<promoted,1>::type, int           >::value ));
-    BOOST_STATIC_ASSERT(( ::boost::is_same< mpl::at_c<promoted,3>::type, int const     >::value ));
-    BOOST_STATIC_ASSERT(( ::boost::is_same< mpl::at_c<promoted,5>::type, int volatile  >::value ));
-    BOOST_STATIC_ASSERT(( ::boost::is_same< mpl::at_c<promoted,6>::type, unsigned int  >::value ));
-    BOOST_STATIC_ASSERT(( ::boost::is_same< mpl::at_c<promoted,7>::type, long          >::value ));
-    BOOST_STATIC_ASSERT(( ::boost::is_same< mpl::at_c<promoted,8>::type, unsigned long >::value ));
-    BOOST_STATIC_ASSERT(( ::boost::is_same< mpl::at_c<promoted,9>::type, double const  >::value ));
-
-    return 0;
-}
-
diff --git a/SRC/Boost/libs/type_traits/test/promote_util.hpp b/SRC/Boost/libs/type_traits/test/promote_util.hpp
deleted file mode 100755
index 5c1385b..0000000
--- a/SRC/Boost/libs/type_traits/test/promote_util.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2005 Alexander Nasonov.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef FILE_boost_libs_type_traits_test_promote_util_hpp_INCLUDED
-#define FILE_boost_libs_type_traits_test_promote_util_hpp_INCLUDED
-
-#include <boost/type_traits/promote.hpp>
-
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-template<class T, class Promoted>
-inline void test_no_cv()
-{
-    typedef BOOST_DEDUCED_TYPENAME boost::promote<T>::type promoted;
-    BOOST_STATIC_ASSERT((  boost::is_same<promoted,Promoted>::value ));
-}
-
-template<class T, class Promoted>
-inline void test_cv()
-{
-    typedef BOOST_DEDUCED_TYPENAME boost::promote<T               >::type promoted;
-    typedef BOOST_DEDUCED_TYPENAME boost::promote<T const         >::type promoted_c;
-    typedef BOOST_DEDUCED_TYPENAME boost::promote<T       volatile>::type promoted_v;
-    typedef BOOST_DEDUCED_TYPENAME boost::promote<T const volatile>::type promoted_cv;
-
-    BOOST_STATIC_ASSERT(( ::boost::is_same< promoted   , Promoted                >::value ));
-    BOOST_STATIC_ASSERT(( ::boost::is_same< promoted_c , Promoted const          >::value ));
-    BOOST_STATIC_ASSERT(( ::boost::is_same< promoted_v , Promoted       volatile >::value ));
-    BOOST_STATIC_ASSERT(( ::boost::is_same< promoted_cv, Promoted const volatile >::value ));
-}
-
-#endif // #ifndef FILE_boost_libs_type_traits_test_promote_util_hpp_INCLUDED
-
diff --git a/SRC/Boost/libs/type_traits/test/rank_test.cpp b/SRC/Boost/libs/type_traits/test/rank_test.cpp
deleted file mode 100755
index 4ed9d38..0000000
--- a/SRC/Boost/libs/type_traits/test/rank_test.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/rank.hpp>
-#endif
-
-TT_TEST_BEGIN(rank)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::rank<int>::value, 0);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::rank<int[]>::value, 1);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::rank<int[][10]>::value, 2);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::rank<int[5][10]>::value, 2);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::rank<int[5][10][40]>::value, 3);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::rank<int (&)[5][10]>::value, 0);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::rank<int (*)[5][10]>::value, 0);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::rank<int (&&)[5][10]>::value, 0);
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/remove_all_extents_test.cpp b/SRC/Boost/libs/type_traits/test/remove_all_extents_test.cpp
deleted file mode 100755
index 2705700..0000000
--- a/SRC/Boost/libs/type_traits/test/remove_all_extents_test.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/remove_all_extents.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_1, ::tt::remove_all_extents, const, const)
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_2, ::tt::remove_all_extents, volatile, volatile)
-BOOST_DECL_TRANSFORM_TEST3(remove_all_extents_test_3, ::tt::remove_all_extents, [2])
-BOOST_DECL_TRANSFORM_TEST0(remove_all_extents_test_4, ::tt::remove_all_extents)
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_5, ::tt::remove_all_extents, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_6, ::tt::remove_all_extents, *, *)
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_7, ::tt::remove_all_extents, *volatile, *volatile)
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_8, ::tt::remove_all_extents, const [2], const)
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_9, ::tt::remove_all_extents, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_10, ::tt::remove_all_extents, const*, const*)
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_11, ::tt::remove_all_extents, volatile*, volatile*)
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_12, ::tt::remove_all_extents, const[2][3], const)
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_13, ::tt::remove_all_extents, (&)[2], (&)[2])
-BOOST_DECL_TRANSFORM_TEST3(remove_all_extents_test_14, ::tt::remove_all_extents, [])
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_15, ::tt::remove_all_extents, const [], const)
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_16, ::tt::remove_all_extents, const[][3], const)
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_5a, ::tt::remove_all_extents, const &&, const&&)
-BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_13a, ::tt::remove_all_extents, (&&)[2], (&&)[2])
-#endif
-
-TT_TEST_BEGIN(remove_all_extents)
-
-   remove_all_extents_test_1();
-   remove_all_extents_test_2();
-   remove_all_extents_test_3();
-   remove_all_extents_test_4();
-   remove_all_extents_test_5();
-   remove_all_extents_test_6();
-   remove_all_extents_test_7();
-   remove_all_extents_test_8();
-   remove_all_extents_test_9();
-   remove_all_extents_test_10();
-   remove_all_extents_test_11();
-   remove_all_extents_test_12();
-   remove_all_extents_test_13();
-   remove_all_extents_test_14();
-   remove_all_extents_test_15();
-   remove_all_extents_test_16();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   remove_all_extents_test_5a();
-   remove_all_extents_test_13a();
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/remove_bounds_test.cpp b/SRC/Boost/libs/type_traits/test/remove_bounds_test.cpp
deleted file mode 100755
index ca96f5b..0000000
--- a/SRC/Boost/libs/type_traits/test/remove_bounds_test.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/remove_bounds.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_1, ::tt::remove_bounds, const, const)
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_2, ::tt::remove_bounds, volatile, volatile)
-BOOST_DECL_TRANSFORM_TEST3(remove_bounds_test_3, ::tt::remove_bounds, [2])
-BOOST_DECL_TRANSFORM_TEST0(remove_bounds_test_4, ::tt::remove_bounds)
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_5, ::tt::remove_bounds, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_6, ::tt::remove_bounds, *, *)
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_7, ::tt::remove_bounds, *volatile, *volatile)
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_8, ::tt::remove_bounds, const [2], const)
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_9, ::tt::remove_bounds, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_10, ::tt::remove_bounds, const*, const*)
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_11, ::tt::remove_bounds, volatile*, volatile*)
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_12, ::tt::remove_bounds, const[2][3], const[3])
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_13, ::tt::remove_bounds, (&)[2], (&)[2])
-BOOST_DECL_TRANSFORM_TEST3(remove_bounds_test_14, ::tt::remove_bounds, [])
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_15, ::tt::remove_bounds, const [], const)
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_16, ::tt::remove_bounds, const[][3], const[3])
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_5a, ::tt::remove_bounds, const &&, const&&)
-BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_13a, ::tt::remove_bounds, (&&)[2], (&&)[2])
-#endif
-
-TT_TEST_BEGIN(remove_bounds)
-
-   remove_bounds_test_1();
-   remove_bounds_test_2();
-   remove_bounds_test_3();
-   remove_bounds_test_4();
-   remove_bounds_test_5();
-   remove_bounds_test_6();
-   remove_bounds_test_7();
-   remove_bounds_test_8();
-   remove_bounds_test_9();
-   remove_bounds_test_10();
-   remove_bounds_test_11();
-   remove_bounds_test_12();
-   remove_bounds_test_13();
-   remove_bounds_test_14();
-   remove_bounds_test_15();
-   remove_bounds_test_16();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   remove_bounds_test_5a();
-   remove_bounds_test_13a();
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/remove_const_test.cpp b/SRC/Boost/libs/type_traits/test/remove_const_test.cpp
deleted file mode 100755
index 9c3ea5c..0000000
--- a/SRC/Boost/libs/type_traits/test/remove_const_test.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/remove_const.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST3(remove_const_test_1, ::tt::remove_const, const)
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_2, ::tt::remove_const, volatile, volatile)
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_3, ::tt::remove_const, const volatile, volatile)
-BOOST_DECL_TRANSFORM_TEST0(remove_const_test_4, ::tt::remove_const)
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_6, ::tt::remove_const, *const, *)
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_7, ::tt::remove_const, *volatile, *volatile)
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_8, ::tt::remove_const, *const volatile, *volatile)
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_9, ::tt::remove_const, *, *)
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_11, ::tt::remove_const, volatile*, volatile*)
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_12, ::tt::remove_const, const[2], [2])
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_13, ::tt::remove_const, volatile[2], volatile[2])
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_14, ::tt::remove_const, const volatile[2], volatile[2])
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_15, ::tt::remove_const, [2], [2])
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_16, ::tt::remove_const, const*, const*)
-BOOST_DECL_TRANSFORM_TEST(remove_const_test_17, ::tt::remove_const, const*const, const*)
-
-TT_TEST_BEGIN(remove_const)
-
-BOOST_CHECK_TYPE(int, int);   
-
-   remove_const_test_1();
-   remove_const_test_2();
-   remove_const_test_3();
-   remove_const_test_4();
-   remove_const_test_6();
-   remove_const_test_7();
-   remove_const_test_8();
-   remove_const_test_9();
-   remove_const_test_11();
-   remove_const_test_12();
-   remove_const_test_13();
-   remove_const_test_14();
-   remove_const_test_15();
-   remove_const_test_16();
-   remove_const_test_17();
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/remove_cv_test.cpp b/SRC/Boost/libs/type_traits/test/remove_cv_test.cpp
deleted file mode 100755
index 6eacb81..0000000
--- a/SRC/Boost/libs/type_traits/test/remove_cv_test.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/remove_cv.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST3(remove_cv_test_1, ::tt::remove_cv, const)
-BOOST_DECL_TRANSFORM_TEST3(remove_cv_test_2, ::tt::remove_cv, volatile)
-BOOST_DECL_TRANSFORM_TEST3(remove_cv_test_3, ::tt::remove_cv, const volatile)
-BOOST_DECL_TRANSFORM_TEST0(remove_cv_test_4, ::tt::remove_cv)
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_5, ::tt::remove_cv, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_6, ::tt::remove_cv, *const, *)
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_7, ::tt::remove_cv, *volatile, *)
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_8, ::tt::remove_cv, *const volatile, *)
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_9, ::tt::remove_cv, *, *)
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_10, ::tt::remove_cv, const*, const*)
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_11, ::tt::remove_cv, volatile*, volatile*)
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_12, ::tt::remove_cv, const[2], [2])
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_13, ::tt::remove_cv, volatile[2], [2])
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_14, ::tt::remove_cv, const volatile[2], [2])
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_15, ::tt::remove_cv, [2], [2])
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_16, ::tt::remove_cv, const*, const*)
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_17, ::tt::remove_cv, const*volatile, const*)
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_DECL_TRANSFORM_TEST(remove_cv_test_5a, ::tt::remove_cv, const &&, const&&)
-#endif
-
-TT_TEST_BEGIN(remove_cv)
-
-   remove_cv_test_1();
-   remove_cv_test_2();
-   remove_cv_test_3();
-   remove_cv_test_4();
-   remove_cv_test_5();
-   remove_cv_test_6();
-   remove_cv_test_7();
-   remove_cv_test_8();
-   remove_cv_test_9();
-   remove_cv_test_10();
-   remove_cv_test_11();
-   remove_cv_test_12();
-   remove_cv_test_13();
-   remove_cv_test_14();
-   remove_cv_test_15();
-   remove_cv_test_16();
-   remove_cv_test_17();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   remove_cv_test_5a();
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/remove_extent_test.cpp b/SRC/Boost/libs/type_traits/test/remove_extent_test.cpp
deleted file mode 100755
index 58f3eb1..0000000
--- a/SRC/Boost/libs/type_traits/test/remove_extent_test.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-//  (C) Copyright John Maddock 2005. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/remove_extent.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_1, ::tt::remove_extent, const, const)
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_2, ::tt::remove_extent, volatile, volatile)
-BOOST_DECL_TRANSFORM_TEST3(remove_extent_test_3, ::tt::remove_extent, [2])
-BOOST_DECL_TRANSFORM_TEST0(remove_extent_test_4, ::tt::remove_extent)
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_5, ::tt::remove_extent, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_6, ::tt::remove_extent, *, *)
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_7, ::tt::remove_extent, *volatile, *volatile)
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_8, ::tt::remove_extent, const [2], const)
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_9, ::tt::remove_extent, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_10, ::tt::remove_extent, const*, const*)
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_11, ::tt::remove_extent, volatile*, volatile*)
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_12, ::tt::remove_extent, const[2][3], const[3])
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_13, ::tt::remove_extent, (&)[2], (&)[2])
-BOOST_DECL_TRANSFORM_TEST3(remove_extent_test_14, ::tt::remove_extent, [])
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_15, ::tt::remove_extent, const [], const)
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_16, ::tt::remove_extent, const[][3], const[3])
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_9a, ::tt::remove_extent, const &&, const&&)
-BOOST_DECL_TRANSFORM_TEST(remove_extent_test_13a, ::tt::remove_extent, (&&)[2], (&&)[2])
-#endif
-
-TT_TEST_BEGIN(remove_extent)
-
-   remove_extent_test_1();
-   remove_extent_test_2();
-   remove_extent_test_3();
-   remove_extent_test_4();
-   remove_extent_test_5();
-   remove_extent_test_6();
-   remove_extent_test_7();
-   remove_extent_test_8();
-   remove_extent_test_9();
-   remove_extent_test_10();
-   remove_extent_test_11();
-   remove_extent_test_12();
-   remove_extent_test_13();
-   remove_extent_test_14();
-   remove_extent_test_15();
-   remove_extent_test_16();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   remove_extent_test_9a();
-   remove_extent_test_13a();
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/remove_pointer_test.cpp b/SRC/Boost/libs/type_traits/test/remove_pointer_test.cpp
deleted file mode 100755
index ec40a77..0000000
--- a/SRC/Boost/libs/type_traits/test/remove_pointer_test.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/remove_pointer.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_1, ::tt::remove_pointer, const, const)
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_2, ::tt::remove_pointer, volatile, volatile)
-BOOST_DECL_TRANSFORM_TEST3(remove_pointer_test_3, ::tt::remove_pointer, *)
-BOOST_DECL_TRANSFORM_TEST3(remove_pointer_test_3b, ::tt::remove_pointer, *const)
-BOOST_DECL_TRANSFORM_TEST0(remove_pointer_test_4, ::tt::remove_pointer)
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_5, ::tt::remove_pointer, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_6, ::tt::remove_pointer, &, &)
-BOOST_DECL_TRANSFORM_TEST3(remove_pointer_test_7, ::tt::remove_pointer, *volatile)
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_8, ::tt::remove_pointer, const [2], const[2])
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_9, ::tt::remove_pointer, const &, const&)
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_10, ::tt::remove_pointer, const*, const)
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_11, ::tt::remove_pointer, volatile*, volatile)
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_12, ::tt::remove_pointer, const[2][3], const[2][3])
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_13, ::tt::remove_pointer, (&)[2], (&)[2])
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_5a, ::tt::remove_pointer, const &&, const&&)
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_6a, ::tt::remove_pointer, &&, &&)
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_13a, ::tt::remove_pointer, (&&)[2], (&&)[2])
-#endif
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_14, ::tt::remove_pointer, (*)(long), (long))
-BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_14b, ::tt::remove_pointer, (*const)(long), (long))
-
-TT_TEST_BEGIN(remove_pointer)
-
-   remove_pointer_test_1();
-   remove_pointer_test_2();
-   remove_pointer_test_3();
-   remove_pointer_test_3b();
-   remove_pointer_test_4();
-   remove_pointer_test_5();
-   remove_pointer_test_6();
-   remove_pointer_test_7();
-   remove_pointer_test_8();
-   remove_pointer_test_9();
-   remove_pointer_test_10();
-   remove_pointer_test_11();
-   remove_pointer_test_12();
-   remove_pointer_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   remove_pointer_test_5a();
-   remove_pointer_test_6a();
-   remove_pointer_test_13a();
-#endif
-   remove_pointer_test_14();
-   remove_pointer_test_14b();
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/remove_reference_test.cpp b/SRC/Boost/libs/type_traits/test/remove_reference_test.cpp
deleted file mode 100755
index 1a9ebda..0000000
--- a/SRC/Boost/libs/type_traits/test/remove_reference_test.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/remove_reference.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_1, ::tt::remove_reference, const, const)
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_2, ::tt::remove_reference, volatile, volatile)
-BOOST_DECL_TRANSFORM_TEST3(remove_reference_test_3, ::tt::remove_reference, &)
-BOOST_DECL_TRANSFORM_TEST0(remove_reference_test_4, ::tt::remove_reference)
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_5, ::tt::remove_reference, const &, const)
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_6, ::tt::remove_reference, *, *)
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_7, ::tt::remove_reference, *volatile, *volatile)
-BOOST_DECL_TRANSFORM_TEST3(remove_reference_test_8, ::tt::remove_reference, &)
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_9, ::tt::remove_reference, const &, const)
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_10, ::tt::remove_reference, const*, const*)
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_11, ::tt::remove_reference, volatile*, volatile*)
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_12, ::tt::remove_reference, const[2], const[2])
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_13, ::tt::remove_reference, (&)[2], [2])
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_DECL_TRANSFORM_TEST3(remove_reference_test_3a, ::tt::remove_reference, &&)
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_5a, ::tt::remove_reference, const &&, const)
-BOOST_DECL_TRANSFORM_TEST3(remove_reference_test_8a, ::tt::remove_reference, &&)
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_9a, ::tt::remove_reference, const &&, const)
-BOOST_DECL_TRANSFORM_TEST(remove_reference_test_13a, ::tt::remove_reference, (&&)[2], [2])
-#endif
-
-TT_TEST_BEGIN(remove_reference)
-
-   remove_reference_test_1();
-   remove_reference_test_2();
-   remove_reference_test_3();
-   remove_reference_test_4();
-   remove_reference_test_5();
-   remove_reference_test_6();
-   remove_reference_test_7();
-   remove_reference_test_8();
-   remove_reference_test_9();
-   remove_reference_test_10();
-   remove_reference_test_11();
-   remove_reference_test_12();
-   remove_reference_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   remove_reference_test_3a();
-   remove_reference_test_5a();
-   remove_reference_test_8a();
-   remove_reference_test_9a();
-   remove_reference_test_13a();
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/remove_volatile_test.cpp b/SRC/Boost/libs/type_traits/test/remove_volatile_test.cpp
deleted file mode 100755
index 9934bb2..0000000
--- a/SRC/Boost/libs/type_traits/test/remove_volatile_test.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/remove_volatile.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_1, ::tt::remove_volatile, const, const)
-BOOST_DECL_TRANSFORM_TEST3(remove_volatile_test_2, ::tt::remove_volatile, volatile)
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_3, ::tt::remove_volatile, const volatile, const)
-BOOST_DECL_TRANSFORM_TEST0(remove_volatile_test_4, ::tt::remove_volatile)
-BOOST_DECL_TRANSFORM_TEST0(remove_volatile_test_5, ::tt::remove_volatile)
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_6, ::tt::remove_volatile, *const, *const)
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_7, ::tt::remove_volatile, *volatile, *)
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_8, ::tt::remove_volatile, *const volatile, *const)
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_9, ::tt::remove_volatile, *, *)
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_10, ::tt::remove_volatile, *, *)
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_11, ::tt::remove_volatile, volatile*, volatile*)
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_12, ::tt::remove_volatile, const[2], const[2])
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_13, ::tt::remove_volatile, volatile[2], [2])
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_14, ::tt::remove_volatile, const volatile[2], const[2])
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_15, ::tt::remove_volatile, [2], [2])
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_16, ::tt::remove_volatile, const*, const*)
-BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_17, ::tt::remove_volatile, const*volatile, const*)
-
-TT_TEST_BEGIN(remove_volatile)
-
-   remove_volatile_test_1();
-   remove_volatile_test_2();
-   remove_volatile_test_3();
-   remove_volatile_test_4();
-   remove_volatile_test_5();
-   remove_volatile_test_6();
-   remove_volatile_test_7();
-   remove_volatile_test_8();
-   remove_volatile_test_9();
-   remove_volatile_test_10();
-   remove_volatile_test_11();
-   remove_volatile_test_12();
-   remove_volatile_test_13();
-   remove_volatile_test_14();
-   remove_volatile_test_15();
-   remove_volatile_test_16();
-   remove_volatile_test_17();
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/test.hpp b/SRC/Boost/libs/type_traits/test/test.hpp
deleted file mode 100755
index 0ff36f9..0000000
--- a/SRC/Boost/libs/type_traits/test/test.hpp
+++ /dev/null
@@ -1,442 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef TT_TEST_HPP
-#define TT_TEST_HPP
-
-#include <boost/config.hpp>
-
-#if defined(_WIN32_WCE) && defined(BOOST_MSVC)
-#pragma warning(disable:4201)
-#endif
-
-#ifdef USE_UNIT_TEST
-#  include <boost/test/unit_test.hpp>
-#endif
-#include <boost/utility.hpp>
-#include <iostream>
-#include <typeinfo>
-
-#ifdef __BORLANDC__
-// we have to turn off these warnings overwise we get swamped by the things:
-#pragma option -w-8008 -w-8066
-#endif
-
-#ifdef _MSC_VER
-// We have to turn off warnings that occur within the test suite:
-#pragma warning(disable:4127)
-#endif
-#ifdef BOOST_INTEL
-// remark #1418: external function definition with no prior declaration
-// remark #981: operands are evaluated in unspecified order
-#pragma warning(disable:1418 981)
-#endif
-
-#ifdef BOOST_INTEL
-// turn off warnings from this header:
-#pragma warning(push)
-#pragma warning(disable:444)
-#endif
-
-//
-// basic configuration:
-//
-#ifdef TEST_STD
-
-#define tt std::tr1
-
-//#define TYPE_TRAITS(x) <type_traits>
-//#define TYPE_COMPARE(x) <type_compare>
-//#define TYPE_TRANSFORM(x) <type_transform>
-
-#else
-
-#define tt boost
-
-//#define TYPE_TRAITS(x) BOOST_STRINGIZE(boost/type_traits/x.hpp)
-//#define TYPE_COMPARE(x) BOOST_STRINGIZE(boost/type_traits/x.hpp)
-//#define TYPE_TRANSFORM(x) BOOST_STRINGIZE(boost/type_traits/x.hpp)
-
-#endif
-
-#ifdef USE_UNIT_TEST
-//
-// global unit, this is not safe, but until the unit test framework uses
-// shared_ptr throughout this is about as good as it gets :-(
-//
-boost::unit_test::test_suite* get_master_unit(const char* name = 0);
-
-//
-// initialisation class:
-//
-class unit_initialiser
-{
-public:
-   unit_initialiser(void (*f)(), const char* /*name*/)
-   {
-      get_master_unit("Type Traits")->add( BOOST_TEST_CASE(f) );
-   }
-};
-
-#define TT_TEST_BEGIN(trait_name)\
-   namespace{\
-   void trait_name();\
-   unit_initialiser init(trait_name, BOOST_STRINGIZE(trait_name));\
-   void trait_name(){
-
-#define TT_TEST_END }}
-
-#else
-
-//
-// replacements for Unit test macros:
-//
-int error_count = 0;
-
-#define BOOST_CHECK_MESSAGE(pred, message)\
-   do{\
-   if(!(pred))\
-   {\
-      std::cerr << __FILE__ << ":" << __LINE__ << ": " << message << std::endl;\
-      ++error_count;\
-   }\
-   }while(0)
-
-#define BOOST_WARN_MESSAGE(pred, message)\
-   do{\
-   if(!(pred))\
-   {\
-      std::cerr << __FILE__ << ":" << __LINE__ << ": " << message << std::endl;\
-   }\
-   }while(0)
-
-#define BOOST_TEST_MESSAGE(message)\
-   do{ std::cout << __FILE__ << ":" << __LINE__ << ": " << message << std::endl; }while(0)
-
-#define BOOST_CHECK(pred)\
-   do{ \
-      if(!(pred)){\
-         std::cout << __FILE__ << ":" << __LINE__ << ": Error in " << BOOST_STRINGIZE(pred) << std::endl;\
-         ++error_count;\
-      } \
-   }while(0)
-
-#define TT_TEST_BEGIN(trait_name)\
-   int main(){
-#define TT_TEST_END return error_count; }
-
-#endif
-
-#define TRANSFORM_CHECK(name, from_suffix, to_suffix)\
-   BOOST_CHECK_TYPE(bool to_suffix, name<bool from_suffix>::type);\
-   BOOST_CHECK_TYPE(char to_suffix, name<char from_suffix>::type);\
-   BOOST_CHECK_TYPE(wchar_t to_suffix, name<wchar_t from_suffix>::type);\
-   BOOST_CHECK_TYPE(signed char to_suffix, name<signed char from_suffix>::type);\
-   BOOST_CHECK_TYPE(unsigned char to_suffix, name<unsigned char from_suffix>::type);\
-   BOOST_CHECK_TYPE(short to_suffix, name<short from_suffix>::type);\
-   BOOST_CHECK_TYPE(unsigned short to_suffix, name<unsigned short from_suffix>::type);\
-   BOOST_CHECK_TYPE(int to_suffix, name<int from_suffix>::type);\
-   BOOST_CHECK_TYPE(unsigned int to_suffix, name<unsigned int from_suffix>::type);\
-   BOOST_CHECK_TYPE(long to_suffix, name<long from_suffix>::type);\
-   BOOST_CHECK_TYPE(unsigned long to_suffix, name<unsigned long from_suffix>::type);\
-   BOOST_CHECK_TYPE(float to_suffix, name<float from_suffix>::type);\
-   BOOST_CHECK_TYPE(long double to_suffix, name<long double from_suffix>::type);\
-   BOOST_CHECK_TYPE(double to_suffix, name<double from_suffix>::type);\
-   BOOST_CHECK_TYPE(UDT to_suffix, name<UDT from_suffix>::type);\
-   BOOST_CHECK_TYPE(enum1 to_suffix, name<enum1 from_suffix>::type);
-
-#define BOOST_DUMMY_MACRO_PARAM /**/
-
-#define BOOST_DECL_TRANSFORM_TEST(name, type, from, to)\
-void name(){ TRANSFORM_CHECK(type, from, to) }
-#define BOOST_DECL_TRANSFORM_TEST3(name, type, from)\
-void name(){ TRANSFORM_CHECK(type, from, BOOST_DUMMY_MACRO_PARAM) }
-#define BOOST_DECL_TRANSFORM_TEST2(name, type, to)\
-void name(){ TRANSFORM_CHECK(type, BOOST_DUMMY_MACRO_PARAM, to) }
-#define BOOST_DECL_TRANSFORM_TEST0(name, type)\
-void name(){ TRANSFORM_CHECK(type, BOOST_DUMMY_MACRO_PARAM, BOOST_DUMMY_MACRO_PARAM) }
-
-
-
-//
-// VC++ emits an awful lot of warnings unless we define these:
-#ifdef BOOST_MSVC
-#  pragma warning(disable:4800)
-#endif
-
-//
-// define some test types:
-//
-enum enum_UDT{ one, two, three };
-struct UDT
-{
-   UDT();
-   ~UDT();
-   UDT(const UDT&);
-   UDT& operator=(const UDT&);
-   int i;
-
-   void f1();
-   int f2();
-   int f3(int);
-   int f4(int, float);
-};
-
-typedef void(*f1)();
-typedef int(*f2)(int);
-typedef int(*f3)(int, bool);
-typedef void (UDT::*mf1)();
-typedef int (UDT::*mf2)();
-typedef int (UDT::*mf3)(int);
-typedef int (UDT::*mf4)(int, float);
-typedef int (UDT::*mp);
-typedef int (UDT::*cmf)(int) const;
-
-// cv-qualifiers applied to reference types should have no effect
-// declare these here for later use with is_reference and remove_reference:
-# ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable: 4181)
-# elif defined(BOOST_INTEL)
-#  pragma warning(push)
-#  pragma warning(disable: 21)
-# endif
-//
-// This is intentional:
-// r_type and cr_type should be the same type
-// but some compilers wrongly apply cv-qualifiers
-// to reference types (this may generate a warning
-// on some compilers):
-//
-typedef int& r_type;
-#ifndef BOOST_INTEL
-typedef const r_type cr_type;
-#else
-// recent Intel compilers generate a hard error on the above:
-typedef r_type cr_type;
-#endif
-# ifdef BOOST_MSVC
-#  pragma warning(pop)
-# elif defined(BOOST_INTEL)
-#  pragma warning(pop)
-#  pragma warning(disable: 985) // identifier truncated in debug information
-# endif
-
-struct POD_UDT { int x; };
-struct empty_UDT
-{
-   empty_UDT();
-   empty_UDT(const empty_UDT&);
-   ~empty_UDT();
-   empty_UDT& operator=(const empty_UDT&);
-   bool operator==(const empty_UDT&)const;
-};
-struct empty_POD_UDT
-{
-   bool operator==(const empty_POD_UDT&)const
-   { return true; }
-};
-union union_UDT
-{
-  int x;
-  double y;
-  ~union_UDT(){}
-};
-union POD_union_UDT
-{
-  int x;
-  double y;
-};
-union empty_union_UDT
-{
-   ~empty_union_UDT(){}
-};
-union empty_POD_union_UDT{};
-
-struct nothrow_copy_UDT
-{
-   nothrow_copy_UDT();
-   nothrow_copy_UDT(const nothrow_copy_UDT&)throw();
-   ~nothrow_copy_UDT(){};
-   nothrow_copy_UDT& operator=(const nothrow_copy_UDT&);
-   bool operator==(const nothrow_copy_UDT&)const
-   { return true; }
-};
-
-struct nothrow_assign_UDT
-{
-   nothrow_assign_UDT();
-   nothrow_assign_UDT(const nothrow_assign_UDT&);
-   ~nothrow_assign_UDT(){};
-   nothrow_assign_UDT& operator=(const nothrow_assign_UDT&)throw(){ return *this; }
-   bool operator==(const nothrow_assign_UDT&)const
-   { return true; }
-};
-
-struct nothrow_construct_UDT
-{
-   nothrow_construct_UDT()throw();
-   nothrow_construct_UDT(const nothrow_construct_UDT&);
-   ~nothrow_construct_UDT(){};
-   nothrow_construct_UDT& operator=(const nothrow_construct_UDT&){ return *this; }
-   bool operator==(const nothrow_construct_UDT&)const
-   { return true; }
-};
-
-class Base { };
-
-class Derived : public Base { };
-class Derived2 : public Base { };
-class MultiBase : public Derived, public Derived2 {};
-class PrivateBase : private Base {};
-
-class NonDerived { };
-
-enum enum1
-{
-   one_,two_
-};
-
-enum enum2
-{
-   three_,four_
-};
-
-struct VB
-{
-   virtual ~VB(){};
-};
-
-struct VD : public VB
-{
-   ~VD(){};
-};
-//
-// struct non_pointer:
-// used to verify that is_pointer does not return
-// true for class types that implement operator void*()
-//
-struct non_pointer
-{
-   operator void*(){return this;}
-};
-struct non_int_pointer
-{
-   int i;
-   operator int*(){return &i;}
-};
-struct int_constructible
-{
-   int_constructible(int);
-};
-struct int_convertible
-{
-   operator int();
-};
-//
-// struct non_empty:
-// used to verify that is_empty does not emit
-// spurious warnings or errors.
-//
-struct non_empty : private boost::noncopyable
-{
-   int i;
-};
-//
-// abstract base classes:
-struct test_abc1
-{
-   test_abc1();
-   virtual ~test_abc1();
-   test_abc1(const test_abc1&);
-   test_abc1& operator=(const test_abc1&);
-   virtual void foo() = 0;
-   virtual void foo2() = 0;
-};
-
-struct test_abc2
-{
-   virtual ~test_abc2();
-   virtual void foo() = 0;
-   virtual void foo2() = 0;
-};
-
-struct test_abc3 : public test_abc1
-{
-   virtual void foo3() = 0;
-};
-
-struct incomplete_type;
-
-struct polymorphic_base
-{
-   virtual ~polymorphic_base();
-   virtual void method();
-};
-
-struct polymorphic_derived1 : public polymorphic_base
-{
-};
-
-struct polymorphic_derived2 : public polymorphic_base
-{
-   virtual void method();
-};
-
-struct virtual_inherit1 : public virtual Base { };
-struct virtual_inherit2 : public virtual_inherit1 { };
-struct virtual_inherit3 : private virtual Base {};
-struct virtual_inherit4 : public virtual boost::noncopyable {};
-struct virtual_inherit5 : public virtual int_convertible {};
-struct virtual_inherit6 : public virtual Base { virtual ~virtual_inherit6()throw(); };
-
-typedef void foo0_t();
-typedef void foo1_t(int);
-typedef void foo2_t(int&, double);
-typedef void foo3_t(int&, bool, int, int);
-typedef void foo4_t(int, bool, int*, int[], int, int, int, int, int);
-
-struct trivial_except_construct
-{
-   trivial_except_construct();
-   int i;
-};
-
-struct trivial_except_destroy
-{
-   ~trivial_except_destroy();
-   int i;
-};
-
-struct trivial_except_copy
-{
-   trivial_except_copy(trivial_except_copy const&);
-   int i;
-};
-
-struct trivial_except_assign
-{
-   trivial_except_assign& operator=(trivial_except_assign const&);
-   int i;
-};
-
-template <class T>
-struct wrap
-{
-   T t;
-   int j;
-protected:
-   wrap();
-   wrap(const wrap&);
-   wrap& operator=(const wrap&);
-};
-
-#ifdef BOOST_INTEL
-#pragma warning(pop)
-#endif
-
-#endif
-
diff --git a/SRC/Boost/libs/type_traits/test/tricky_abstract_type_test.cpp b/SRC/Boost/libs/type_traits/test/tricky_abstract_type_test.cpp
deleted file mode 100755
index 4c79664..0000000
--- a/SRC/Boost/libs/type_traits/test/tricky_abstract_type_test.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_empty.hpp>
-#  include <boost/type_traits/is_stateless.hpp>
-#endif
-
-TT_TEST_BEGIN(tricky_abstract_type_test)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<test_abc1>::value, false);
-#ifndef TEST_STD
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<test_abc1>::value, false);
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/tricky_add_pointer_test.cpp b/SRC/Boost/libs/type_traits/test/tricky_add_pointer_test.cpp
deleted file mode 100755
index d35490d..0000000
--- a/SRC/Boost/libs/type_traits/test/tricky_add_pointer_test.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-//  (C) Copyright John Maddock 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_type.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/add_pointer.hpp>
-#endif
-
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_5, ::tt::add_pointer, const &, const*)
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_6, ::tt::add_pointer, &, *)
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_8, ::tt::add_pointer, const [2], const (*)[2])
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_9, ::tt::add_pointer, const &, const*)
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_12, ::tt::add_pointer, const[2][3], const (*)[2][3])
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_13, ::tt::add_pointer, (&)[2], (*)[2])
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_5a, ::tt::add_pointer, const &&, const*)
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_6a, ::tt::add_pointer, &&, *)
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_9a, ::tt::add_pointer, const &&, const*)
-BOOST_DECL_TRANSFORM_TEST(add_pointer_test_13a, ::tt::add_pointer, (&&)[2], (*)[2])
-#endif
-
-TT_TEST_BEGIN(tricky_add_pointer_test)
-
-   add_pointer_test_5();
-   add_pointer_test_6();
-   add_pointer_test_8();
-   add_pointer_test_9();
-   add_pointer_test_12();
-   add_pointer_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
-   add_pointer_test_5a();
-   add_pointer_test_6a();
-   add_pointer_test_9a();
-   add_pointer_test_13a();
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/tricky_function_type_test.cpp b/SRC/Boost/libs/type_traits/test/tricky_function_type_test.cpp
deleted file mode 100755
index 21d86f3..0000000
--- a/SRC/Boost/libs/type_traits/test/tricky_function_type_test.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-
-//  (C) Copyright John Maddock 2002. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_function.hpp>
-#  include <boost/type_traits/is_float.hpp>
-#  include <boost/type_traits/is_enum.hpp>
-#  include <boost/type_traits/is_class.hpp>
-#  include <boost/type_traits/is_scalar.hpp>
-#  include <boost/type_traits/is_pod.hpp>
-#  include <boost/type_traits/has_trivial_constructor.hpp>
-#  include <boost/type_traits/has_trivial_copy.hpp>
-#  include <boost/type_traits/has_trivial_assign.hpp>
-#  include <boost/type_traits/has_trivial_destructor.hpp>
-#  include <boost/type_traits/is_compound.hpp>
-#  include <boost/type_traits/is_base_of.hpp>
-#  include <boost/type_traits/is_convertible.hpp>
-#endif
-
-TT_TEST_BEGIN(tricky_function_type_test)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<const int&>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<int (&)(int)>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<foo0_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<foo0_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<foo0_t>::value, false);
-#if defined(TEST_STD) && (TEST_STD < 2006)
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<foo0_t, foo0_t>::value), true); // TR1 required behaviour (new to 1.34)
-#else
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<foo0_t, foo0_t>::value), false); // C++0x required behaviour (new to 1.40)
-#endif
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<foo0_t, int>::value), false);
-
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<foo1_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<foo1_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<foo1_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<foo1_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<foo1_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<foo1_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<foo1_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<foo1_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<foo1_t>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<foo2_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<foo2_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<foo2_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<foo2_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<foo2_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<foo2_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<foo2_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<foo2_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<foo2_t>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<foo3_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<foo3_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<foo3_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<foo3_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<foo3_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<foo3_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<foo3_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<foo3_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<foo3_t>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<foo4_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<foo4_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<foo4_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<foo4_t>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<foo4_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<foo4_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<foo4_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<foo4_t>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<foo4_t>::value, false);
-
-typedef void foo5_t(int, bool, int*, int[], int, int, int, int, int ...);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo5_t>::value, true);
-
-typedef void (test_abc1::*vproc1)(...);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<vproc1>::value, true);
-typedef void (test_abc1::*vproc2)(int, char, long, ...);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<vproc2>::value, true);
-typedef void (test_abc1::*vproc3)(int, char, long, long, ...)const;
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<vproc3>::value, true);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/tricky_incomplete_type_test.cpp b/SRC/Boost/libs/type_traits/test/tricky_incomplete_type_test.cpp
deleted file mode 100755
index a12f8a1..0000000
--- a/SRC/Boost/libs/type_traits/test/tricky_incomplete_type_test.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits.hpp>
-#endif
-
-TT_TEST_BEGIN(tricky_incomplete_type_test)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<incomplete_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_compound<incomplete_type>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<incomplete_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<incomplete_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<int[]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<int[][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<const int[]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<const int[][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<volatile int[]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<volatile int[][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<const volatile int[]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<const volatile int[][3]>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<incomplete_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<incomplete_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<incomplete_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<incomplete_type>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<incomplete_type>::value, false);
-
-TT_TEST_END
-
-
diff --git a/SRC/Boost/libs/type_traits/test/tricky_is_enum_test.cpp b/SRC/Boost/libs/type_traits/test/tricky_is_enum_test.cpp
deleted file mode 100755
index b2722cb..0000000
--- a/SRC/Boost/libs/type_traits/test/tricky_is_enum_test.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-//  (C) Copyright Dave Abrahams 2003. Use, modification and distribution is
-//  subject to the Boost Software License, Version 1.0. (See accompanying
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_enum.hpp>
-#endif
-
-struct convertible_to_anything
-{
-    template<typename T> operator T() { return 0; }
-};
-
-
-TT_TEST_BEGIN(is_enum)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<convertible_to_anything>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<int[] >::value, false);
-
-TT_TEST_END
-
-
diff --git a/SRC/Boost/libs/type_traits/test/tricky_partial_spec_test.cpp b/SRC/Boost/libs/type_traits/test/tricky_partial_spec_test.cpp
deleted file mode 100755
index b70d634..0000000
--- a/SRC/Boost/libs/type_traits/test/tricky_partial_spec_test.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/type_traits/has_nothrow_assign.hpp>
-#include <boost/type_traits/has_nothrow_constructor.hpp>
-#include <boost/type_traits/has_nothrow_copy.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_polymorphic.hpp>
-#include <boost/type_traits/is_member_pointer.hpp>
-#include <boost/type_traits/is_member_object_pointer.hpp>
-#include <boost/type_traits/is_member_function_pointer.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#endif
-#include <stdexcept>
-#include <new>
-#include <exception>
-
-//
-// VC++ emits an awful lot of warnings unless we define these:
-#ifdef BOOST_MSVC
-#  pragma warning(disable:4244)
-#endif
-
-
-template <class T>
-struct align_calc
-{
-   char padding;
-   T instance;
-   static std::ptrdiff_t get()
-   {
-      static align_calc<T> a;
-      return reinterpret_cast<const char*>(&(a.instance)) - reinterpret_cast<const char*>(&(a.padding));
-   }
-};
-
-#define ALIGNOF(x) align_calc<x>::get()
-
-
-TT_TEST_BEGIN(tricky_partial_specialization_test)
-//
-// corner cases which don't compile without partial specialization
-// support:
-//
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<char&>::value, ALIGNOF(void*));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<char (&)(int)>::value, ALIGNOF(void*));
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<char(&)[4]>::value, ALIGNOF(void*));
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base&,Derived>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base&,Derived&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,Derived&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,void>::value), false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base&&,Derived>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base&&,Derived&&>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,Derived&&>::value), false);
-#endif
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<void, int>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<void, void>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<void, const void>::value), false);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<test_abc1, test_abc1>::value), true);
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<test_abc1, const test_abc1>::value), false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<void,float>::value), false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<const UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<volatile empty_UDT>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<const VB>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<const volatile VD>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<const test_abc1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<volatile test_abc2>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<const std::exception>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<const std::bad_alloc>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<const std::runtime_error>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<const std::out_of_range>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<const std::range_error>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<const f1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<volatile f1>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<const volatile f1>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<const f1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<const mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<volatile mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<const volatile mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<const mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<volatile mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<const volatile mf3>::value, true);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<const f1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<const mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<volatile mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<const volatile mp>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<const mf3>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<volatile mf3>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_object_pointer<const volatile mf3>::value, false);
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<const f1>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<const mp>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<volatile mp>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<const volatile mp>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<const mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<volatile mf3>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<const volatile mf3>::value, true);
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/tricky_rvalue_test.cpp b/SRC/Boost/libs/type_traits/test/tricky_rvalue_test.cpp
deleted file mode 100755
index 96604fb..0000000
--- a/SRC/Boost/libs/type_traits/test/tricky_rvalue_test.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-//  (C) Copyright John Maddock 2010. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_lvalue_reference.hpp>
-#  include <boost/type_traits/is_rvalue_reference.hpp>
-#  include <boost/type_traits/is_reference.hpp>
-#endif
-
-TT_TEST_BEGIN(rvalue_reference_test)
-
-#ifndef BOOST_NO_RVALUE_REFERENCES
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<int (&&)(int)>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<int (&)(int)>::value, false);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<int (&&)(int)>::value, true);
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/type_traits_test.cpp b/SRC/Boost/libs/type_traits/test/type_traits_test.cpp
deleted file mode 100755
index 3fff924..0000000
--- a/SRC/Boost/libs/type_traits/test/type_traits_test.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-
-//  (C) Copyright John Maddock 2010. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/type_traits.hpp>
-
-//
-// Just check that each trait actually exists, not
-// that it gives the correct answer, we do that elsewhere:
-//
-
-typedef boost::add_const<int>::type t1;
-typedef boost::add_cv<int>::type t2;
-typedef boost::add_lvalue_reference<int>::type t3;
-typedef boost::add_pointer<int>::type t4;
-typedef boost::add_reference<int>::type t5;
-typedef boost::add_rvalue_reference<int>::type t6;
-typedef boost::add_volatile<int>::type t7;
-
-typedef boost::aligned_storage<2>::type t8;
-typedef boost::alignment_of<int>::type t9;
-typedef boost::conditional<true, int, long>::type t10;
-typedef boost::common_type<int, long>::type t11;
-typedef boost::decay<int[2] >::type t12;
-typedef boost::extent<int[3] >::type t13;
-typedef boost::floating_point_promotion<int>::type t14;
-typedef boost::function_traits<int (int) > t15;
-
-typedef boost::has_new_operator<int> t16;
-typedef boost::has_nothrow_assign<int> t17;
-typedef boost::has_nothrow_constructor<int> t18;
-typedef boost::has_nothrow_copy<int> t19;
-typedef boost::has_nothrow_copy_constructor<int> t20;
-typedef boost::has_nothrow_default_constructor<int> t21;
-typedef boost::has_trivial_assign<int> t22;
-typedef boost::has_trivial_constructor<int> t23;
-typedef boost::has_trivial_copy<int> t24;
-typedef boost::has_trivial_copy_constructor<int> t25;
-typedef boost::has_trivial_default_constructor<int> t26;
-typedef boost::has_trivial_destructor<int> t27;
-typedef boost::has_virtual_destructor<int> t28;
-
-typedef boost::integral_constant<int, 2> t29;
-typedef boost::integral_promotion<short>::type t30;
-
-typedef boost::is_abstract<int>::type t31;
-typedef boost::is_arithmetic<int>::type t32;
-typedef boost::is_array<int>::type t33;
-typedef boost::is_base_of<int, long>::type t34;
-typedef boost::is_class<int>::type t35;
-typedef boost::is_complex<int>::type t36;
-typedef boost::is_compound<int>::type t37;
-typedef boost::is_const<int>::type t38;
-typedef boost::is_convertible<int, long>::type t39;
-typedef boost::is_empty<int>::type t40;
-typedef boost::is_enum<int>::type t41;
-typedef boost::is_floating_point<int>::type t42;
-typedef boost::is_function<int>::type t43;
-typedef boost::is_fundamental<int>::type t44;
-typedef boost::is_integral<int>::type t45;
-typedef boost::is_lvalue_reference<int>::type t46;
-typedef boost::is_member_function_pointer<int>::type t47;
-typedef boost::is_member_object_pointer<int>::type t48;
-typedef boost::is_member_pointer<int>::type t49;
-typedef boost::is_object<int>::type t50;
-typedef boost::is_pod<int>::type t51;
-typedef boost::is_pointer<int>::type t52;
-typedef boost::is_polymorphic<int>::type t53;
-typedef boost::is_reference<int>::type t54;
-typedef boost::is_rvalue_reference<int>::type t55;
-typedef boost::is_same<int, int>::type t56;
-typedef boost::is_scalar<int>::type t57;
-typedef boost::is_signed<int>::type t58;
-typedef boost::is_stateless<int>::type t59;
-typedef boost::is_union<int>::type t60;
-typedef boost::is_unsigned<int>::type t61;
-typedef boost::is_virtual_base_of<int, int>::type t62;
-typedef boost::is_void<int>::type t63;
-typedef boost::is_volatile<int>::type t64;
-typedef boost::make_signed<int>::type t65;
-typedef boost::make_unsigned<int>::type t66;
-typedef boost::promote<int>::type t67;
-typedef boost::rank<int>::type t68;
-
-typedef boost::remove_all_extents<int>::type t69;
-typedef boost::remove_const<int>::type t70;
-typedef boost::remove_cv<int>::type t71;
-typedef boost::remove_extent<int>::type t72;
-typedef boost::remove_pointer<int>::type t73;
-typedef boost::remove_reference<int>::type t74;
-typedef boost::remove_volatile<int>::type t75;
-typedef boost::type_with_alignment<4>::type t76;
-
-int main()
-{
-   return 0;
-}
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/type_with_alignment_test.cpp b/SRC/Boost/libs/type_traits/test/type_with_alignment_test.cpp
deleted file mode 100755
index 5f65ce6..0000000
--- a/SRC/Boost/libs/type_traits/test/type_with_alignment_test.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/alignment_of.hpp>
-#  include <boost/type_traits/type_with_alignment.hpp>
-#  include <boost/type_traits/is_pod.hpp>
-#endif
-
-#if defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))
-#if (_MSC_VER >= 1400) && defined(_M_IX86)
-#include <xmmintrin.h>
-#endif
-struct __declspec(align(8)) a8 { char m[8]; };
-struct __declspec(align(16)) a16 { char m[16]; };
-struct __declspec(align(32)) a32 { char m[32]; };
-struct __declspec(align(64)) a64 { char m[64]; };
-struct __declspec(align(128)) a128 { char m[128]; };
-#endif
-
-void check_call2(...){}
-
-template <class T>
-void check_call(const T& v)
-{
-   check_call2(v);
-}
-
-#define TYPE_WITH_ALIGNMENT_TEST(T)\
-{\
-std::cout << "\ntesting type " << typeid(T).name() << std::endl;\
-std::cout << "Alignment of T is " << ::tt::alignment_of< T >::value << std::endl;\
-std::cout << "Aligned type is " << typeid(::tt::type_with_alignment< ::tt::alignment_of< T >::value>::type).name() << std::endl;\
-std::cout << "Alignment of aligned type is " << ::tt::alignment_of<\
-   ::tt::type_with_alignment<\
-      ::tt::alignment_of< T >::value\
-   >::type\
->::value << std::endl;\
-BOOST_CHECK(::tt::alignment_of<\
-               ::tt::type_with_alignment<\
-                  ::tt::alignment_of< T >::value\
-               >::type\
-            >::value == ::boost::alignment_of< T >::value);\
-BOOST_CHECK(::tt::is_pod<\
-               ::tt::type_with_alignment<\
-                  ::tt::alignment_of< T >::value>::type\
-            >::value);\
-}
-#define TYPE_WITH_ALIGNMENT_TEST_EX(T)\
-   TYPE_WITH_ALIGNMENT_TEST(T)\
-{\
-   ::tt::type_with_alignment<\
-      ::tt::alignment_of< T >::value\
-   >::type val;\
-   check_call(val);\
-}
-
-
-TT_TEST_BEGIN(type_with_alignment)
-
-TYPE_WITH_ALIGNMENT_TEST_EX(char)
-TYPE_WITH_ALIGNMENT_TEST_EX(short)
-TYPE_WITH_ALIGNMENT_TEST_EX(int)
-TYPE_WITH_ALIGNMENT_TEST_EX(long)
-TYPE_WITH_ALIGNMENT_TEST_EX(float)
-TYPE_WITH_ALIGNMENT_TEST_EX(double)
-TYPE_WITH_ALIGNMENT_TEST_EX(long double)
-
-#ifdef BOOST_HAS_LONG_LONG
-TYPE_WITH_ALIGNMENT_TEST_EX(::boost::long_long_type)
-#endif
-#ifdef BOOST_HAS_MS_INT64
-TYPE_WITH_ALIGNMENT_TEST_EX(__int64)
-#endif
-TYPE_WITH_ALIGNMENT_TEST_EX(int[4])
-TYPE_WITH_ALIGNMENT_TEST_EX(int(*)(int))
-TYPE_WITH_ALIGNMENT_TEST_EX(int*)
-TYPE_WITH_ALIGNMENT_TEST_EX(VB)
-TYPE_WITH_ALIGNMENT_TEST_EX(VD)
-TYPE_WITH_ALIGNMENT_TEST_EX(enum_UDT)
-TYPE_WITH_ALIGNMENT_TEST_EX(mf2)
-TYPE_WITH_ALIGNMENT_TEST_EX(POD_UDT)
-TYPE_WITH_ALIGNMENT_TEST_EX(empty_UDT)
-TYPE_WITH_ALIGNMENT_TEST_EX(union_UDT)
-
-#if defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))
-#if (_MSC_VER >= 1400) && defined(_M_IX86)
-TYPE_WITH_ALIGNMENT_TEST(__m128)
-TYPE_WITH_ALIGNMENT_TEST(__m64)
-#endif
-TYPE_WITH_ALIGNMENT_TEST(a8)
-TYPE_WITH_ALIGNMENT_TEST(a16)
-TYPE_WITH_ALIGNMENT_TEST(a32)
-#endif
-
-TT_TEST_END
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/libs/type_traits/test/udt_specialisations.cpp b/SRC/Boost/libs/type_traits/test/udt_specialisations.cpp
deleted file mode 100755
index a7e5007..0000000
--- a/SRC/Boost/libs/type_traits/test/udt_specialisations.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-//  (C) Copyright John Maddock 2004. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test.hpp"
-#include "check_integral_constant.hpp"
-#ifdef TEST_STD
-#  include <type_traits>
-#else
-#  include <boost/type_traits/is_pod.hpp>
-#  include <boost/type_traits/is_class.hpp>
-#  include <boost/type_traits/is_union.hpp>
-#endif
-
-struct my_pod{};
-struct my_union
-{
-   char c;
-   int i;
-};
-
-namespace tt
-{
-template<>
-struct is_pod<my_pod> 
-   : public mpl::true_{};
-template<>
-struct is_pod<my_union> 
-   : public mpl::true_{};
-template<>
-struct is_union<my_union> 
-   : public mpl::true_{};
-template<>
-struct is_class<my_union> 
-   : public mpl::false_{};
-}
-
-TT_TEST_BEGIN(is_pod)
-
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<my_pod>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<my_union>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<my_union>::value, true);
-BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<my_union>::value, false);
-
-TT_TEST_END
-
diff --git a/SRC/Boost/libs/type_traits/tools/specialisations.cpp b/SRC/Boost/libs/type_traits/tools/specialisations.cpp
deleted file mode 100755
index 1d257ce..0000000
--- a/SRC/Boost/libs/type_traits/tools/specialisations.cpp
+++ /dev/null
@@ -1,122 +0,0 @@
-
-//  (C) Copyright John Maddock 2000. 
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//
-// Simple program to output some template specialisations for the type_traits library.
-//
-
-#include <fstream>
-
-using namespace std;
-
-unsigned specializations = 30;
-
-int main()
-{
-   unsigned i, j;
-   ofstream os("specialisations");
-
-   //
-   // generate is_function tester prototypes:
-   for(i = 0; i <= specializations; ++i)
-   {
-      os << "template <class R";
-      for(j = 0; j < i; ++j)
-      {
-         os << ", class A" << j;
-      }
-      os << ">\n::boost::type_traits::yes_type is_function_tester(R (*)(";
-      if(i == 0)
-         os << "void";
-      else
-      {
-         for(j = 0; j < i; ++j)
-         {
-            if(j) os << ", ";
-            os << "A" << j;
-         }
-      }
-      os << "));" << endl;
-   }
-   os << endl << endl;
-   //
-   // generate is_function_helper partial specialisations:
-   //
-   for(i = 0; i < specializations; ++i)
-   {
-      os << "template <class R";
-      for(j = 0; j < i; ++j)
-      {
-         os << ", class A" << j;
-      }
-      os << ">\nstruct is_function_helper_base<R (*)(";
-      if(i == 0)
-         os << "void";
-      else
-      {
-         for(j = 0; j < i; ++j)
-         {
-            if(j) os << ", ";
-            os << "A" << j;
-         }
-      }
-      os << ")>{ BOOST_STATIC_CONSTANT(bool, value = true); };" << endl;
-   }
-   os << endl << endl;
-
-
-   //
-   // generate is_member_pointer_helper tester prototypes:
-   for(i = 0; i <= specializations; ++i)
-   {
-      os << "template <class R, class T";
-      for(j = 0; j < i; ++j)
-      {
-         os << ", class A" << j;
-      }
-      os << ">\n::boost::type_traits::yes_type is_member_pointer_helper(R (T::*)(";
-      if(i == 0)
-         os << "void";
-      else
-      {
-         for(j = 0; j < i; ++j)
-         {
-            if(j) os << ", ";
-            os << "A" << j;
-         }
-      }
-      os << "));" << endl;
-   }
-   os << endl << endl;
-   //
-   // generate is_member_pointer partial specialisations:
-   //
-   for(i = 0; i < specializations; ++i)
-   {
-      os << "template <class R, class T";
-      for(j = 0; j < i; ++j)
-      {
-         os << ", class A" << j;
-      }
-      os << ">\nstruct is_member_pointer<R (T::*)(";
-      if(i == 0)
-         os << "void";
-      else
-      {
-         for(j = 0; j < i; ++j)
-         {
-            if(j) os << ", ";
-            os << "A" << j;
-         }
-      }
-      os << ")>{ BOOST_STATIC_CONSTANT(bool, value = true); };" << endl;
-   }
-   os << endl << endl;
-
-
-   return 0;
-}
-
diff --git a/SRC/Boost/tools/build/boost.css b/SRC/Boost/tools/build/boost.css
deleted file mode 100755
index 0acfa79..0000000
--- a/SRC/Boost/tools/build/boost.css
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright 2002 David Abrahams.
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
- */
-H1
-{
-    FONT-SIZE: 200%
-    COLOR: #00007f
-}
-H2
-{
-    FONT-SIZE: 150%;
-}
-H3
-{
-    FONT-SIZE: 125%;
-}
-H4
-{
-    FONT-SIZE: 108%;
-}
-BODY
-{
-    FONT-SIZE: 100%;
-    BACKGROUND-COLOR: #ffffff
-}
-PRE
-{
-    MARGIN-LEFT: 2pc;
-    FONT-SIZE: 80%;
-    BACKGROUND-COLOR: #dfffff
-}
-CODE
-{
-    FONT-SIZE: 95%;
-     white-space: pre
-}
-.index
-{
-    TEXT-ALIGN: left
-}
-.page-index
-{
-	TEXT-ALIGN: left
-}
-.definition
-{
-	TEXT-ALIGN: left
-}
-.footnote
-{
-    FONT-SIZE: 66%;
-    VERTICAL-ALIGN: super;
-    TEXT-DECORATION: none
-}
-.function-semantics
-{
-    CLEAR: left
-}
-.metafunction-semantics
-{
-    CLEAR: left
-}
diff --git a/SRC/Boost/tools/build/index.html b/SRC/Boost/tools/build/index.html
deleted file mode 100755
index 428ef1f..0000000
--- a/SRC/Boost/tools/build/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<!-- 
-  Copyright 2003 Rene Rivera.
-  Distributed under the Boost Software License, Version 1.0.
-  (See accompanying file LICENSE_1_0.txt or copy at
-  http://www.boost.org/LICENSE_1_0.txt)
-   -->
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="refresh" content="0; URL=v2/index.html" />
-
-  <title></title>
-</head>
-
-<body>
-  Automatic redirection failed, please go to <a href=
-  "v2/index.html">v2/index.html</a>.
-</body>
-</html>
diff --git a/SRC/Boost/tools/build/v2/Jamroot.jam b/SRC/Boost/tools/build/v2/Jamroot.jam
deleted file mode 100755
index a7414b7..0000000
--- a/SRC/Boost/tools/build/v2/Jamroot.jam
+++ /dev/null
@@ -1,47 +0,0 @@
-
-path-constant SELF : . ;
-
-import path ;
-import package ;
-import os ;
-
-local ext = "" ;
-if [ os.on-windows ]
-{
-    ext = ".exe" ;
-}
-
-
-package.install boost-build-engine boost-build
-  : # properties
-  : # binaries
-    b2$(ext) bjam$(ext)
-  ;
-
-local e1 = [ path.glob-tree $(SELF)/example : * : . .svn ] ;
-local e2 ;
-for e in $(e1)
-{
-    e = [ path.native $(e) ] ;
-    if [ CHECK_IF_FILE $(e) ]
-    {
-        e2 += $(e) ;
-    }    
-}
-
-package.install-data boost-build-core
-  : # Which subdir of $prefix/share
-    boost-build  
-  : # What to install
-    $(SELF)/boost-build.jam
-    $(SELF)/build-system.jam
-    [ path.glob-tree $(SELF)/build : *.jam *.py ]
-    [ path.glob-tree $(SELF)/kernel : *.jam *.py ]
-    [ path.glob-tree $(SELF)/util : *.jam *.py ]
-    [ path.glob-tree $(SELF)/tools : *.jam *.py ]
-    $(e2)
-  : # What is the root of the directory
-    <install-source-root>.
-  ;
-  
-alias install : boost-build-engine boost-build-core ;
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/boost-build.jam b/SRC/Boost/tools/build/v2/boost-build.jam
deleted file mode 100755
index 1882095..0000000
--- a/SRC/Boost/tools/build/v2/boost-build.jam
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright 2001, 2002 Dave Abrahams
-# Copyright 2002 Rene Rivera
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-
-boost-build kernel ;
diff --git a/SRC/Boost/tools/build/v2/boost.css b/SRC/Boost/tools/build/v2/boost.css
deleted file mode 100755
index cd97a3a..0000000
--- a/SRC/Boost/tools/build/v2/boost.css
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2002 Dave Abrahams */
-/* Distributed under the Boost Software License, Version 1.0. */
-/* (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) */
-
-H1
-{
-    FONT-SIZE: 200%
-    COLOR: #00007f
-}
-H2
-{
-    FONT-SIZE: 150%;
-}
-H3
-{
-    FONT-SIZE: 125%;
-}
-H4
-{
-    FONT-SIZE: 108%;
-}
-BODY
-{
-    FONT-SIZE: 100%;
-    BACKGROUND-COLOR: #ffffff
-}
-PRE
-{
-    MARGIN-LEFT: 2pc;
-    FONT-SIZE: 80%;
-    BACKGROUND-COLOR: #dfffff
-}
-CODE
-{
-    FONT-SIZE: 95%;
-     white-space: pre
-}
-.index
-{
-    TEXT-ALIGN: left
-}
-.page-index
-{
-	TEXT-ALIGN: left
-}
-.definition
-{
-	TEXT-ALIGN: left
-}
-.footnote
-{
-    FONT-SIZE: 66%;
-    VERTICAL-ALIGN: super;
-    TEXT-DECORATION: none
-}
-.function-semantics
-{
-    CLEAR: left
-}
-.metafunction-semantics
-{
-    CLEAR: left
-}
diff --git a/SRC/Boost/tools/build/v2/boost_build.png b/SRC/Boost/tools/build/v2/boost_build.png
deleted file mode 100755
index 3a9e64d..0000000
Binary files a/SRC/Boost/tools/build/v2/boost_build.png and /dev/null differ
diff --git a/SRC/Boost/tools/build/v2/boost_build.svg b/SRC/Boost/tools/build/v2/boost_build.svg
deleted file mode 100755
index 8a3302f..0000000
--- a/SRC/Boost/tools/build/v2/boost_build.svg
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="744.09448819"
-   height="1052.3622047"
-   id="svg5675"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="boost_build.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape">
-  <defs
-     id="defs5677">
-    <linearGradient
-       id="linearGradient7594">
-      <stop
-         style="stop-color:#ff0000;stop-opacity:1.0000000;"
-         offset="0.0000000"
-         id="stop7596" />
-      <stop
-         style="stop-color:#d6611e;stop-opacity:1.0000000;"
-         offset="1.0000000"
-         id="stop7598" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient7594"
-       id="linearGradient3895"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(43.41842,0,0,0.471599,-2940.9332,-1070.4566)"
-       x1="69.430504"
-       y1="2520.6421"
-       x2="81.027824"
-       y2="2520.6421" />
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 526.18109 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="744.09448 : 526.18109 : 1"
-       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
-       id="perspective5683" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     gridtolerance="10000"
-     guidetolerance="10"
-     objecttolerance="10"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.35"
-     inkscape:cx="375"
-     inkscape:cy="520"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:window-width="640"
-     inkscape:window-height="667"
-     inkscape:window-x="1032"
-     inkscape:window-y="308" />
-  <metadata
-     id="metadata5680">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1">
-    <text
-       inkscape:export-ydpi="72"
-       inkscape:export-xdpi="72"
-       inkscape:export-filename="/tmp/boost_build_logo2.png"
-       font-size="101.123"
-       id="text3879"
-       style="font-size:78.68063354px;font-style:normal;font-variant:normal;font-weight:200;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#4a6484;font-family:Denmark"
-       sodipodi:linespacing="100%"
-       x="114.2328"
-       y="103.41737">boost.build</text>
-    <rect
-       inkscape:export-ydpi="72.000000"
-       inkscape:export-xdpi="72.000000"
-       inkscape:export-filename="/tmp/boost_build_logo2.png"
-       y="96.838783"
-       x="-111.20226"
-       height="3.9837062"
-       width="12.670265"
-       id="rect3881"
-       style="fill:#090909;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.51475425pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       transform="matrix(-0.9999989,-1.4738959e-3,-8.0436748e-4,0.9999997,0,0)"
-       rx="0.98714525"
-       ry="0.98714548" />
-    <rect
-       inkscape:export-ydpi="72.000000"
-       inkscape:export-xdpi="72.000000"
-       inkscape:export-filename="/tmp/boost_build_logo2.png"
-       y="64.848404"
-       x="-111.1769"
-       height="3.9837253"
-       width="12.670281"
-       id="rect3883"
-       style="fill:#090909;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.51475577pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       transform="matrix(-0.9999989,-1.4738959e-3,-8.0436268e-4,0.9999997,0,0)"
-       rx="0.9871462"
-       ry="0.98715025" />
-    <rect
-       inkscape:export-ydpi="72.000000"
-       inkscape:export-xdpi="72.000000"
-       inkscape:export-filename="/tmp/boost_build_logo2.png"
-       y="96.915825"
-       x="-592.73004"
-       height="3.9841042"
-       width="50.977173"
-       id="rect3885"
-       style="fill:#090909;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.0325552pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       transform="matrix(-0.9999999,-3.6633946e-4,-3.2359694e-3,0.9999948,0,0)"
-       rx="0.98712909"
-       ry="0.98716646" />
-    <rect
-       inkscape:export-ydpi="72.000000"
-       inkscape:export-xdpi="72.000000"
-       inkscape:export-filename="/tmp/boost_build_logo2.png"
-       y="64.725166"
-       x="-568.02655"
-       height="3.9839954"
-       width="27.076828"
-       id="rect3887"
-       style="fill:#090909;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.75251908pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       transform="matrix(-0.9999998,-6.89702e-4,-1.7187672e-3,0.9999985,0,0)"
-       rx="0.9871875"
-       ry="0.98721254" />
-    <path
-       inkscape:export-ydpi="72"
-       inkscape:export-xdpi="72"
-       inkscape:export-filename="/tmp/boost_build_logo2.png"
-       style="fill:#090909;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:4.44999981;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
-       d="M 567.03942,67.12677 L 590.59895,97.79227"
-       id="path3889"
-       sodipodi:nodetypes="cc" />
-    <path
-       inkscape:export-ydpi="72"
-       inkscape:export-xdpi="72"
-       inkscape:export-filename="/tmp/boost_build_logo2.png"
-       style="fill:#090909;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.95000005;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
-       d="M 566.93498,67.12677 L 542.24692,97.31967"
-       id="path3891"
-       sodipodi:nodetypes="cc" />
-    <rect
-       inkscape:export-ydpi="72"
-       inkscape:export-xdpi="72"
-       inkscape:export-filename="/tmp/boost_build_logo2.png"
-       y="116.76698"
-       x="98.71344"
-       height="7.0450115"
-       width="494.58636"
-       id="rect3893"
-       style="fill:url(#linearGradient3895);fill-opacity:1;fill-rule:nonzero;stroke:#b2b2b2;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block" />
-  </g>
-</svg>
diff --git a/SRC/Boost/tools/build/v2/bootstrap.bat b/SRC/Boost/tools/build/v2/bootstrap.bat
deleted file mode 100755
index 14c95a6..0000000
--- a/SRC/Boost/tools/build/v2/bootstrap.bat
+++ /dev/null
@@ -1,49 +0,0 @@
- at ECHO OFF
-
-REM Copyright (C) 2009 Vladimir Prus
-REM
-REM Distributed under the Boost Software License, Version 1.0.
-REM (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-ECHO Bootstrapping the build engine
-if exist ".\engine\bin.ntx86\bjam.exe" del engine\bin.ntx86\bjam.exe
-if exist ".\engine\bin.ntx86_64\bjam.exe" del engine\bin.ntx86_64\bjam.exe
-cd engine
-
-call .\build.bat %* > ..\..\bootstrap.log
- at ECHO OFF
-cd ..
-
-if exist ".\engine\bin.ntx86\b2.exe" (
-   copy .\engine\bin.ntx86\b2.exe . > nul
-   copy .\engine\bin.ntx86\bjam.exe . > nul
-   goto :bjam_built)
-
-if exist ".\engine\bin.ntx86_64\b2.exe" (
-   copy .\engine\bin.ntx86_64\b2.exe . > nul
-   copy .\engine\bin.ntx86_64\bjam.exe . > nul
-   goto :bjam_built)
-
-goto :bjam_failure
-
-:bjam_built
-
-ECHO.
-ECHO Bootstrapping is done. To build, run:
-ECHO.
-ECHO     .\b2 --prefix=DIR install
-ECHO.
-
-goto :end
-
-:bjam_failure
-
-ECHO.
-ECHO Failed to bootstrap the build engine
-ECHO Please consult bootstrap.log for furter diagnostics.
-ECHO.
-
-
-goto :end
-
-:end
diff --git a/SRC/Boost/tools/build/v2/bootstrap.jam b/SRC/Boost/tools/build/v2/bootstrap.jam
deleted file mode 100755
index 7f5ba88..0000000
--- a/SRC/Boost/tools/build/v2/bootstrap.jam
+++ /dev/null
@@ -1,18 +0,0 @@
-#  Copyright (c) 2003 Vladimir Prus.
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-# This file handles initial phase of Boost.Build loading.
-# Boost.Jam has already figured out where Boost.Build is
-# and loads this file, which is responsible for initialization
-# of basic facilities such a module system and loading the
-# main Boost.Build module, build-system.jam.
-#
-# Exact operation of this module is not interesting, it makes
-# sense to look at build-system.jam right away.
-
-# Load the kernel/bootstrap.jam, which does all the work.
-.bootstrap-file = $(.bootstrap-file:D)/kernel/bootstrap.jam ;
-include $(.bootstrap-file) ;
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/bootstrap.sh b/SRC/Boost/tools/build/v2/bootstrap.sh
deleted file mode 100755
index c977e55..0000000
--- a/SRC/Boost/tools/build/v2/bootstrap.sh
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2005, 2006 Douglas Gregor.
-# Copyright (C) 2006 The Trustees of Indiana University
-# Copyright (C) 2010 Bryce Lelbach 
-#
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# boostinspect:notab - Tabs are required for the Makefile.
-
-BJAM=""
-TOOLSET=""
-BJAM_CONFIG=""
-
-for option
-do
-    case $option in
-
-    -help | --help | -h)
-      want_help=yes ;;
-
-    -with-toolset=* | --with-toolset=* )
-      TOOLSET=`expr "x$option" : "x-*with-toolset=\(.*\)"`
-      ;;
-
-    -*)
-      { echo "error: unrecognized option: $option
-Try \`$0 --help' for more information." >&2
-      { (exit 1); exit 1; }; }
-      ;; 
-
-    esac
-done
-
-if test "x$want_help" = xyes; then
-  cat <<EOF
-\`./bootstrap.sh' creates minimal Boost.Build, which can install itself.
-
-Usage: $0 [OPTION]... 
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help                display this help and exit
-  --with-bjam=BJAM          use existing Boost.Jam executable (bjam)
-                            [automatically built]
-  --with-toolset=TOOLSET    use specific Boost.Build toolset
-                            [automatically detected]
-EOF
-fi
-test -n "$want_help" && exit 0
-
-# TBD: Determine where the script is located
-my_dir="."
-
-# Determine the toolset, if not already decided
-if test "x$TOOLSET" = x; then
-  guessed_toolset=`$my_dir/engine/build.sh --guess-toolset`
-  case $guessed_toolset in
-    acc | darwin | gcc | como | mipspro | pathscale | pgi | qcc | vacpp )
-    TOOLSET=$guessed_toolset
-    ;;
-    
-    intel-* )
-    TOOLSET=intel
-    ;;
-    
-    mingw )
-    TOOLSET=gcc
-    ;;
-    
-    clang* )
-    TOOLSET=clang
-    ;;
-
-    sun* )
-    TOOLSET=sun
-    ;;
-    
-    * )
-    # Not supported by Boost.Build
-    ;;
-  esac
-fi
-
-case $TOOLSET in 
-  clang*)
-  TOOLSET=clang
-  ;;
-esac
-
-
-rm -f config.log
-
-# Build bjam
-if test "x$BJAM" = x; then
-  echo -n "Bootstrapping the build engine with toolset $TOOLSET... "
-  pwd=`pwd`
-  (cd "$my_dir/engine" && ./build.sh "$TOOLSET") > bootstrap.log 2>&1
-  if [ $? -ne 0 ]; then
-      echo
-      echo "Failed to bootstrap the build engine" 
-      echo "Consult 'bootstrap.log' for more details"
-      exit 1
-  fi
-  cd "$pwd"
-  arch=`cd $my_dir/engine && ./bootstrap/jam0 -d0 -f build.jam --toolset=$TOOLSET --toolset-root= --show-locate-target && cd ..`
-  BJAM="$my_dir/engine/$arch/b2"
-  echo "engine/$arch/bjam"
-  cp "$BJAM" .
-  cp "$my_dir/engine/$arch/bjam" .
-fi
-
-cat << EOF
-
-Bootstrapping is done. To build and install, run:
-
-    ./b2 install --prefix=<DIR>
-
-EOF
diff --git a/SRC/Boost/tools/build/v2/build-system.jam b/SRC/Boost/tools/build/v2/build-system.jam
deleted file mode 100755
index 9fa0642..0000000
--- a/SRC/Boost/tools/build/v2/build-system.jam
+++ /dev/null
@@ -1,1008 +0,0 @@
-# Copyright 2003, 2005, 2007 Dave Abrahams
-# Copyright 2006, 2007 Rene Rivera
-# Copyright 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This file is part of Boost Build version 2. You can think of it as forming the
-# main() routine. It is invoked by the bootstrapping code in bootstrap.jam.
-
-import build-request ;
-import builtin ;
-import "class" : new ;
-import errors ;
-import feature ;
-import make ;
-import modules ;
-import os ;
-import path ;
-import project ;
-import property-set ;
-import regex ;
-import sequence ;
-import targets ;
-import toolset ;
-import utility ;
-import version ;
-import virtual-target ;
-import generators ;
-import configure ;
-
-################################################################################
-#
-# Module global data.
-#
-################################################################################
-
-# Shortcut used in this module for accessing used command-line parameters.
-.argv = [ modules.peek : ARGV ] ;
-
-# Flag indicating we should display additional debugging information related to
-# locating and loading Boost Build configuration files.
-.debug-config = [ MATCH ^(--debug-configuration)$ : $(.argv) ] ;
-
-# Legacy option doing too many things, some of which are not even documented.
-# Should be phased out.
-#   * Disables loading site and user configuration files.
-#   * Disables auto-configuration for toolsets specified explicitly on the
-#     command-line.
-#   * Causes --toolset command-line options to be ignored.
-#   * Prevents the default toolset from being used even if no toolset has been
-#     configured at all.
-.legacy-ignore-config = [ MATCH ^(--ignore-config)$ : $(.argv) ] ;
-
-# The cleaning is tricky. Say, if user says 'bjam --clean foo' where 'foo' is a
-# directory, then we want to clean targets which are in 'foo' as well as those
-# in any children Jamfiles under foo but not in any unrelated Jamfiles. To
-# achieve this we collect a list of projects under which cleaning is allowed.
-.project-targets = ;
-
-# Virtual targets obtained when building main targets references on the command
-# line. When running 'bjam --clean main_target' we want to clean only files
-# belonging to that main target so we need to record which targets are produced
-# for it.
-.results-of-main-targets = ;
-
-# Was an XML dump requested?
-.out-xml = [ MATCH ^--out-xml=(.*)$ : $(.argv) ] ;
-
-# Default toolset & version to be used in case no other toolset has been used
-# explicitly by either the loaded configuration files, the loaded project build
-# scripts or an explicit toolset request on the command line. If not specified,
-# an arbitrary default will be used based on the current host OS. This value,
-# while not strictly necessary, has been added to allow testing Boost-Build's
-# default toolset usage functionality.
-.default-toolset = ;
-.default-toolset-version = ;
-
-
-################################################################################
-#
-# Public rules.
-#
-################################################################################
-
-# Returns the property set with the free features from the currently processed
-# build request.
-#
-rule command-line-free-features ( )
-{
-    return $(.command-line-free-features) ;
-}
-
-
-# Returns the location of the build system. The primary use case is building
-# Boost where it is sometimes needed to get the location of other components
-# (e.g. BoostBook files) and it is convenient to use locations relative to the
-# Boost Build path.
-#
-rule location ( )
-{
-    local r = [ modules.binding build-system ] ;
-    return $(r:P) ;
-}
-
-
-# Sets the default toolset & version to be used in case no other toolset has
-# been used explicitly by either the loaded configuration files, the loaded
-# project build scripts or an explicit toolset request on the command line. For
-# more detailed information see the comment related to used global variables.
-#
-rule set-default-toolset ( toolset : version ? )
-{
-    .default-toolset = $(toolset) ;
-    .default-toolset-version = $(version) ;
-}
-
-rule set-pre-build-hook ( function )
-{
-    .pre-build-hook = $(function) ;
-}
-
-rule set-post-build-hook ( function )
-{
-    .post-build-hook = $(function) ;
-}
-
-################################################################################
-#
-# Local rules.
-#
-################################################################################
-
-# Returns actual Jam targets to be used for executing a clean request.
-#
-local rule actual-clean-targets ( )
-{
-    # Construct a list of projects explicitly detected as targets on this build
-    # system run. These are the projects under which cleaning is allowed.
-    for local t in $(targets)
-    {
-        if [ class.is-a $(t) : project-target ]
-        {
-            .project-targets += [ $(t).project-module ] ;
-        }
-    }
-
-    # Construct a list of targets explicitly detected on this build system run
-    # as a result of building main targets.
-    local targets-to-clean ;
-    for local t in $(.results-of-main-targets)
-    {
-        # Do not include roots or sources.
-        targets-to-clean += [ virtual-target.traverse $(t) ] ;
-    }
-    targets-to-clean = [ sequence.unique $(targets-to-clean) ] ;
-
-    local to-clean ;
-    for local t in [ virtual-target.all-targets ]
-    {
-        local p = [ $(t).project ] ;
-
-        # Remove only derived targets.
-        if [ $(t).action ]
-        {
-            if $(t) in $(targets-to-clean) ||
-                [ should-clean-project [ $(p).project-module ] ] = true
-            {
-                to-clean += $(t) ;
-            }
-        }
-    }
-
-    local to-clean-actual ;
-    for local t in $(to-clean)
-    {
-        to-clean-actual += [ $(t).actualize ] ;
-    }
-    return $(to-clean-actual) ;
-}
-
-
-# Given a target id, try to find and return the corresponding target. This is
-# only invoked when there is no Jamfile in ".". This code somewhat duplicates
-# code in project-target.find but we can not reuse that code without a
-# project-targets instance.
-#
-local rule find-target ( target-id )
-{
-    local split = [ MATCH (.*)//(.*) : $(target-id) ] ;
-
-    local pm ;
-    if $(split)
-    {
-        pm = [ project.find $(split[1]) : "." ] ;
-    }
-    else
-    {
-        pm = [ project.find $(target-id) : "." ] ;
-    }
-
-    local result ;
-    if $(pm)
-    {
-        result = [ project.target $(pm) ] ;
-    }
-
-    if $(split)
-    {
-        result = [ $(result).find $(split[2]) ] ;
-    }
-
-    return $(result) ;
-}
-
-
-# Initializes a new configuration module.
-#
-local rule initialize-config-module ( module-name : location ? )
-{
-    project.initialize $(module-name) : $(location) ;
-    if USER_MODULE in [ RULENAMES ]
-    {
-        USER_MODULE $(module-name) ;
-    }
-}
-
-
-# Helper rule used to load configuration files. Loads the first configuration
-# file with the given 'filename' at 'path' into module with name 'module-name'.
-# Not finding the requested file may or may not be treated as an error depending
-# on the must-find parameter. Returns a normalized path to the loaded
-# configuration file or nothing if no file was loaded.
-#
-local rule load-config ( module-name : filename : path + : must-find ? )
-{
-    if $(.debug-config)
-    {
-        ECHO "notice: Searching" "$(path)" "for" "$(module-name)"
-            "configuration file" "$(filename)" "." ;
-    }
-    local where = [ GLOB $(path) : $(filename) ] ;
-    if $(where)
-    {
-        where = [ NORMALIZE_PATH $(where[1]) ] ;
-        if $(.debug-config)
-        {
-            ECHO "notice: Loading" "$(module-name)" "configuration file"
-                "$(filename)" "from" $(where) "." ;
-        }
-
-        # Set source location so that path-constant in config files
-        # with relative paths work. This is of most importance
-        # for project-config.jam, but may be used in other
-        # config files as well.
-        local attributes = [ project.attributes $(module-name) ] ;
-        $(attributes).set source-location : $(where:D) : exact ;
-        modules.load $(module-name) : $(filename) : $(path) ;
-        project.load-used-projects $(module-name) ;
-    }
-    else
-    {
-        if $(must-find)
-        {
-            errors.user-error "Configuration file" "$(filename)" "not found in"
-                "$(path)" "." ;
-        }
-        if $(.debug-config)
-        {
-            ECHO "notice:" "Configuration file" "$(filename)" "not found in"
-                "$(path)" "." ;
-        }
-    }
-    return $(where) ;
-}
-
-
-# Loads all the configuration files used by Boost Build in the following order:
-#
-#   -- test-config --
-#   Loaded only if specified on the command-line using the --test-config
-# command-line parameter. It is ok for this file not to exist even if specified.
-# If this configuration file is loaded, regular site and user configuration
-# files will not be. If a relative path is specified, file is searched for in
-# the current folder.
-#
-#   -- site-config --
-#   Always named site-config.jam. Will only be found if located on the system
-# root path (Windows), /etc (non-Windows), user's home folder or the Boost Build
-# path, in that order. Not loaded in case the test-config configuration file is
-# loaded or either the --ignore-site-config or the --ignore-config command-line
-# option is specified.
-#
-#   -- user-config --
-#   Named user-config.jam by default or may be named explicitly using the
-# --user-config command-line option or the BOOST_BUILD_USER_CONFIG environment
-# variable. If named explicitly the file is looked for from the current working
-# directory and if the default one is used then it is searched for in the
-# user's home directory and the Boost Build path, in that order. Not loaded in
-# case either the test-config configuration file is loaded, --ignore-config
-# command-line option is specified or an empty file name is explicitly
-# specified. If the file name has been given explicitly then the file must
-# exist.
-#
-# Test configurations have been added primarily for use by Boost Build's
-# internal unit testing system but may be used freely in other places as well.
-#
-local rule load-configuration-files
-{
-    # Flag indicating that site configuration should not be loaded.
-    local ignore-site-config =
-        [ MATCH ^(--ignore-site-config)$ : $(.argv) ] ;
-
-    if $(.legacy-ignore-config) && $(.debug-config)
-    {
-        ECHO "notice: Regular site and user configuration files will be ignored" ;
-        ECHO "notice: due to the --ignore-config command-line option." ;
-    }
-
-    initialize-config-module test-config ;
-    local test-config = [ MATCH ^--test-config=(.*)$ : $(.argv) ] ;
-    local uq = [ MATCH \"(.*)\" : $(test-config) ] ;
-    if $(uq)
-    {
-        test-config = $(uq) ;
-    }
-    if $(test-config)
-    {
-        local where =
-            [ load-config test-config : $(test-config:BS) : $(test-config:D) ] ;
-        if $(where)
-        {
-            if $(.debug-config) && ! $(.legacy-ignore-config)
-            {
-                ECHO "notice: Regular site and user configuration files will" ;
-                ECHO "notice: be ignored due to the test configuration being"
-                    "loaded." ;
-            }
-        }
-        else
-        {
-            test-config = ;
-        }
-    }
-
-    local user-path = [ os.home-directories ] [ os.environ BOOST_BUILD_PATH ] ;
-    local site-path = /etc $(user-path) ;
-    if [ os.name ] in NT CYGWIN
-    {
-        site-path = [ modules.peek : SystemRoot ] $(user-path) ;
-    }
-
-    if $(ignore-site-config) && !$(.legacy-ignore-config)
-    {
-        ECHO "notice: Site configuration files will be ignored due to the" ;
-        ECHO "notice: --ignore-site-config command-line option." ;
-    }
-
-    initialize-config-module site-config ;
-    if ! $(test-config) && ! $(ignore-site-config) && ! $(.legacy-ignore-config)
-    {
-        load-config site-config : site-config.jam : $(site-path) ;
-    }
-
-    initialize-config-module user-config ;
-    if ! $(test-config) && ! $(.legacy-ignore-config)
-    {
-        local user-config = [ MATCH ^--user-config=(.*)$ : $(.argv) ] ;
-        user-config = $(user-config[-1]) ;
-        user-config ?= [ os.environ BOOST_BUILD_USER_CONFIG ] ;
-        # Special handling for the case when the OS does not strip the quotes
-        # around the file name, as is the case when using Cygwin bash.
-        user-config = [ utility.unquote $(user-config) ] ;
-        local explicitly-requested = $(user-config) ;
-        user-config ?= user-config.jam ;
-
-        if $(user-config)
-        {
-            if $(explicitly-requested)
-            {
-                # Treat explicitly entered user paths as native OS path
-                # references and, if non-absolute, root them at the current
-                # working directory.
-                user-config = [ path.make $(user-config) ] ;
-                user-config = [ path.root $(user-config) [ path.pwd ] ] ;
-                user-config = [ path.native $(user-config) ] ;
-
-                if $(.debug-config)
-                {
-                    ECHO "notice: Loading explicitly specified user"
-                        "configuration file:" ;
-                    ECHO "    $(user-config)" ;
-                }
-
-                load-config user-config : $(user-config:BS) : $(user-config:D)
-                    : must-exist ;
-            }
-            else
-            {
-                load-config user-config : $(user-config) : $(user-path) ;
-            }
-        }
-        else if $(.debug-config)
-        {
-            ECHO "notice: User configuration file loading explicitly disabled." ;
-        }
-    }
-        
-    # We look for project-config.jam from "." upward.
-    # I am not sure this is 100% right decision, we might as well check for
-    # it only alonside the Jamroot file. However:
-    #
-    # - We need to load project-root.jam before Jamroot
-    # - We probably would need to load project-root.jam even if there's no
-    #   Jamroot - e.g. to implement automake-style out-of-tree builds.
-    local file = [ path.glob "." : project-config.jam ] ;
-    if ! $(file)
-    {
-        file = [ path.glob-in-parents "." : project-config.jam ] ;
-    }
-    if $(file)
-    {
-        initialize-config-module project-config : $(file:D) ;
-        load-config project-config : project-config.jam : $(file:D) ;        
-    }   
-}
-
-
-# Autoconfigure toolsets based on any instances of --toolset=xx,yy,...zz or
-# toolset=xx,yy,...zz in the command line. May return additional properties to
-# be processed as if they had been specified by the user.
-#
-local rule process-explicit-toolset-requests
-{
-    local extra-properties ;
-
-    local option-toolsets  = [ regex.split-list [ MATCH ^--toolset=(.*)$ : $(.argv) ] : "," ] ;
-    local feature-toolsets = [ regex.split-list [ MATCH   ^toolset=(.*)$ : $(.argv) ] : "," ] ;
-
-    for local t in $(option-toolsets) $(feature-toolsets)
-    {
-        # Parse toolset-version/properties.
-        local (t-v,t,v) = [ MATCH (([^-/]+)-?([^/]+)?)/?.* : $(t) ] ;
-        local toolset-version = $((t-v,t,v)[1]) ;
-        local toolset = $((t-v,t,v)[2]) ;
-        local version = $((t-v,t,v)[3]) ;
-
-        if $(.debug-config)
-        {
-            ECHO notice: [cmdline-cfg] Detected command-line request for
-                $(toolset-version): "toolset=" $(toolset) "version="
-                $(version) ;
-        }
-
-        # If the toolset is not known, configure it now.
-        local known ;
-        if $(toolset) in [ feature.values <toolset> ]
-        {
-            known = true ;
-        }
-        if $(known) && $(version) && ! [ feature.is-subvalue toolset
-            : $(toolset) : version : $(version) ]
-        {
-            known = ;
-        }
-        # TODO: we should do 'using $(toolset)' in case no version has been
-        # specified and there are no versions defined for the given toolset to
-        # allow the toolset to configure its default version. For this we need
-        # to know how to detect whether a given toolset has any versions
-        # defined. An alternative would be to do this whenever version is not
-        # specified but that would require that toolsets correctly handle the
-        # case when their default version is configured multiple times which
-        # should be checked for all existing toolsets first.
-
-        if ! $(known)
-        {
-            if $(.debug-config)
-            {
-                ECHO "notice: [cmdline-cfg] toolset $(toolset-version) not"
-                    "previously configured; attempting to auto-configure now" ;
-            }
-            toolset.using $(toolset) : $(version) ;
-        }
-        else
-        {
-            if $(.debug-config)
-            {
-                ECHO notice: [cmdline-cfg] toolset $(toolset-version) already
-                    configured ;
-            }
-        }
-
-        # Make sure we get an appropriate property into the build request in
-        # case toolset has been specified using the "--toolset=..." command-line
-        # option form.
-        if ! $(t) in $(.argv) && ! $(t) in $(feature-toolsets)
-        {
-            if $(.debug-config)
-            {
-                ECHO notice: [cmdline-cfg] adding toolset=$(t) to the build
-                    request. ;
-            }
-            extra-properties += toolset=$(t) ;
-        }
-    }
-
-    return $(extra-properties) ;
-}
-
-
-# Returns 'true' if the given 'project' is equal to or is a (possibly indirect)
-# child to any of the projects requested to be cleaned in this build system run.
-# Returns 'false' otherwise. Expects the .project-targets list to have already
-# been constructed.
-#
-local rule should-clean-project ( project )
-{
-    if ! $(.should-clean-project.$(project))
-    {
-        local r = false ;
-        if $(project) in $(.project-targets)
-        {
-            r = true ;
-        }
-        else
-        {
-            local parent = [ project.attribute $(project) parent-module ] ;
-            if $(parent) && $(parent) != user-config
-            {
-                r = [ should-clean-project $(parent) ] ;
-            }
-        }
-        .should-clean-project.$(project) = $(r) ;
-    }
-
-    return $(.should-clean-project.$(project)) ;
-}
-
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-{    
-    if --version in $(.argv)
-    {
-        version.print ;
-        EXIT ;
-    }
-    
-    version.verify-engine-version ;    
-    
-    load-configuration-files ;
-
-    local extra-properties ;
-    # Note that this causes --toolset options to be ignored if --ignore-config
-    # is specified.
-    if ! $(.legacy-ignore-config)
-    {
-        extra-properties = [ process-explicit-toolset-requests ] ;
-    }
-
-
-    # We always load project in "." so that 'use-project' directives have any
-    # chance of being seen. Otherwise, we would not be able to refer to
-    # subprojects using target ids.
-    local current-project ;
-    if [ project.find "." : "." ]
-    {
-        current-project = [ project.target [ project.load "." ] ] ;
-    }
-
-
-    # In case there are no toolsets currently defined makes the build run using
-    # the default toolset.
-    if ! $(.legacy-ignore-config) && ! [ feature.values <toolset> ]
-    {
-        local default-toolset = $(.default-toolset) ;
-        local default-toolset-version = ;
-        if $(default-toolset)
-        {
-            default-toolset-version = $(.default-toolset-version) ;
-        }
-        else
-        {
-            default-toolset = gcc ;
-            if [ os.name ] = NT
-            {
-                default-toolset = msvc ;
-            }
-            else if [ os.name ] = MACOSX
-            {
-                default-toolset = darwin ;
-            }                        
-        }
-
-        ECHO "warning: No toolsets are configured." ;
-        ECHO "warning: Configuring default toolset" \"$(default-toolset)\". ;
-        ECHO "warning: If the default is wrong, your build may not work correctly." ;
-        ECHO "warning: Use the \"toolset=xxxxx\" option to override our guess." ;
-        ECHO "warning: For more configuration options, please consult" ;
-        ECHO "warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html" ;
-
-        toolset.using $(default-toolset) : $(default-toolset-version) ;
-    }
-
-
-    # Parse command line for targets and properties. Note that this requires
-    # that all project files already be loaded.
-    local build-request = [ build-request.from-command-line $(.argv)
-        $(extra-properties) ] ;
-    local target-ids = [ $(build-request).get-at 1 ] ;
-    local properties = [ $(build-request).get-at 2 ] ;
-
-
-    # Expand properties specified on the command line into multiple property
-    # sets consisting of all legal property combinations. Each expanded property
-    # set will be used for a single build run. E.g. if multiple toolsets are
-    # specified then requested targets will be built with each of them.
-    if $(properties)
-    {
-        expanded = [ build-request.expand-no-defaults $(properties) ] ;
-        local xexpanded ;
-        for local e in $(expanded)
-        {
-            xexpanded += [ property-set.create [ feature.split $(e) ] ] ;
-        }
-        expanded = $(xexpanded) ;
-    }
-    else
-    {
-        expanded = [ property-set.empty ] ;
-    }
-
-
-    # Check that we actually found something to build.
-    if ! $(current-project) && ! $(target-ids)
-    {
-        errors.user-error "error: no Jamfile in current directory found, and no"
-            "target references specified." ;
-        EXIT ;
-    }
-
-
-    # Flags indicating that this build system run has been started in order to
-    # clean existing instead of create new targets. Note that these are not the
-    # final flag values as they may get changed later on due to some special
-    # targets being specified on the command line.
-    local clean    ; if "--clean"     in $(.argv) { clean    = true ; }
-    local cleanall ; if "--clean-all" in $(.argv) { cleanall = true ; }
-
-
-    # List of explicitly requested files to build. Any target references read
-    # from the command line parameter not recognized as one of the targets
-    # defined in the loaded Jamfiles will be interpreted as an explicitly
-    # requested file to build. If any such files are explicitly requested then
-    # only those files and the targets they depend on will be built and they
-    # will be searched for among targets that would have been built had there
-    # been no explicitly requested files.
-    local explicitly-requested-files
-
-
-    # List of Boost Build meta-targets, virtual-targets and actual Jam targets
-    # constructed in this build system run.
-    local targets ;
-    local virtual-targets ;
-    local actual-targets ;
-
-
-    # Process each target specified on the command-line and convert it into
-    # internal Boost Build target objects. Detect special clean target. If no
-    # main Boost Build targets were explictly requested use the current project
-    # as the target.
-    for local id in $(target-ids)
-    {
-        if $(id) = clean
-        {
-            clean = true ;
-        }
-        else
-        {
-            local t ;
-            if $(current-project)
-            {
-                t = [ $(current-project).find $(id) : no-error ] ;
-            }
-            else
-            {
-                t = [ find-target $(id) ] ;
-            }
-
-            if ! $(t)
-            {
-                ECHO "notice: could not find main target" $(id) ;
-                ECHO "notice: assuming it is a name of file to create." ;
-                explicitly-requested-files += $(id) ;
-            }
-            else
-            {
-                targets += $(t) ;
-            }
-        }
-    }
-    if ! $(targets)
-    {
-        targets += [ project.target [ project.module-name "." ] ] ;
-    }
-    
-    if [ option.get dump-generators : : true ] 
-    {
-        generators.dump ;
-    }
-    
-    # We wish to put config.log in the build directory corresponding
-    # to Jamroot, so that the location does not differ depending on
-    # directory where we do build.  The amount of indirection necessary
-    # here is scary.
-    local first-project = [ $(targets[0]).project ] ;
-    local first-project-root-location = [ $(first-project).get project-root ] ;
-    local first-project-root-module = [ project.load $(first-project-root-location) ] ;
-    local first-project-root = [ project.target  $(first-project-root-module) ] ;
-    local first-build-build-dir = [ $(first-project-root).build-dir ] ;
-    configure.set-log-file $(first-build-build-dir)/config.log ;
-    
-    # Now that we have a set of targets to build and a set of property sets to
-    # build the targets with, we can start the main build process by using each
-    # property set to generate virtual targets from all of our listed targets
-    # and any of their dependants.
-    for local p in $(expanded)
-    {
-        .command-line-free-features = [ property-set.create [ $(p).free ] ] ;
-        for local t in $(targets)
-        {
-            local g = [ $(t).generate $(p) ] ;
-            if ! [ class.is-a $(t) : project-target ]
-            {
-                .results-of-main-targets += $(g[2-]) ;
-            }
-            virtual-targets += $(g[2-]) ;
-        }
-    }
-
-
-    # Convert collected virtual targets into actual raw Jam targets.
-    for t in $(virtual-targets)
-    {
-        actual-targets += [ $(t).actualize ] ;
-    }
-
-
-    # If XML data output has been requested prepare additional rules and targets
-    # so we can hook into Jam to collect build data while its building and have
-    # it trigger the final XML report generation after all the planned targets
-    # have been built.
-    if $(.out-xml)
-    {
-        # Get a qualified virtual target name.
-        rule full-target-name ( target )
-        {
-            local name = [ $(target).name ] ;
-            local project = [ $(target).project ] ;
-            local project-path = [ $(project).get location ] ;
-            return $(project-path)//$(name) ;
-        }
-
-        # Generate an XML file containing build statistics for each constituent.
-        #
-        rule out-xml ( xml-file : constituents * )
-        {
-            # Prepare valid XML header and footer with some basic info.
-            local nl = "
-" ;
-            local os        = [ modules.peek : OS OSPLAT JAMUNAME ] "" ;
-            local timestamp = [ modules.peek : JAMDATE ] ;
-            local cwd       = [ PWD ] ;
-            local command   = $(.argv) ;
-            local bb-version = [ version.boost-build ] ;
-            .header on $(xml-file) =
-                "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
-                "$(nl)<build format=\"1.0\" version=\"$(bb-version)\">"
-                "$(nl)  <os name=\"$(os[1])\" platform=\"$(os[2])\"><![CDATA[$(os[3-]:J= )]]></os>"
-                "$(nl)  <timestamp><![CDATA[$(timestamp)]]></timestamp>"
-                "$(nl)  <directory><![CDATA[$(cwd)]]></directory>"
-                "$(nl)  <command><![CDATA[\"$(command:J=\" \")\"]]></command>"
-                ;
-            .footer on $(xml-file) =
-                "$(nl)</build>" ;
-
-            # Generate the target dependency graph.
-            .contents on $(xml-file) +=
-                "$(nl)  <targets>" ;
-            for local t in [ virtual-target.all-targets ]
-            {
-                local action = [ $(t).action ] ;
-                if $(action)
-                    # If a target has no action, it has no dependencies.
-                {
-                    local name = [ full-target-name $(t) ] ;
-                    local sources = [ $(action).sources ] ;
-                    local dependencies ;
-                    for local s in $(sources)
-                    {
-                        dependencies += [ full-target-name $(s) ] ;
-                    }
-
-                    local path = [ $(t).path ] ;
-                    local jam-target = [ $(t).actual-name ] ;
-
-                    .contents on $(xml-file) +=
-                        "$(nl)    <target>"
-                        "$(nl)      <name><![CDATA[$(name)]]></name>"
-                        "$(nl)      <dependencies>"
-                        "$(nl)        <dependency><![CDATA[$(dependencies)]]></dependency>"
-                        "$(nl)      </dependencies>"
-                        "$(nl)      <path><![CDATA[$(path)]]></path>"
-                        "$(nl)      <jam-target><![CDATA[$(jam-target)]]></jam-target>"
-                        "$(nl)    </target>"
-                        ;
-                }
-            }
-            .contents on $(xml-file) +=
-                "$(nl)  </targets>" ;
-
-            # Build $(xml-file) after $(constituents). Do so even if a
-            # constituent action fails and regenerate the xml on every bjam run.
-            INCLUDES $(xml-file) : $(constituents) ;
-            ALWAYS $(xml-file) ;
-            __ACTION_RULE__ on $(xml-file) = build-system.out-xml.generate-action ;
-            out-xml.generate $(xml-file) ;
-        }
-
-        # The actual build actions are here; if we did this work in the actions
-        # clause we would have to form a valid command line containing the
-        # result of @(...) below (the name of the XML file).
-        #
-        rule out-xml.generate-action ( args * : xml-file
-            : command status start end user system : output ? )
-        {
-            local contents =
-                [ on $(xml-file) return $(.header) $(.contents) $(.footer) ] ;
-            local f = @($(xml-file):E=$(contents)) ;
-        }
-
-        # Nothing to do here; the *real* actions happen in
-        # out-xml.generate-action.
-        actions quietly out-xml.generate { }
-
-        # Define the out-xml file target, which depends on all the targets so
-        # that it runs the collection after the targets have run.
-        out-xml $(.out-xml) : $(actual-targets) ;
-
-        # Set up a global __ACTION_RULE__ that records all the available
-        # statistics about each actual target in a variable "on" the --out-xml
-        # target.
-        #
-        rule out-xml.collect ( xml-file : target : command status start end user
-            system : output ? )
-        {
-            local nl = "
-" ;
-            # Open the action with some basic info.
-            .contents on $(xml-file) +=
-                "$(nl)  <action status=\"$(status)\" start=\"$(start)\" end=\"$(end)\" user=\"$(user)\" system=\"$(system)\">" ;
-
-            # If we have an action object we can print out more detailed info.
-            local action = [ on $(target) return $(.action) ] ;
-            if $(action)
-            {
-                local action-name    = [ $(action).action-name ] ;
-                local action-sources = [ $(action).sources     ] ;
-                local action-props   = [ $(action).properties  ] ;
-
-                # The qualified name of the action which we created the target.
-                .contents on $(xml-file) +=
-                    "$(nl)    <name><![CDATA[$(action-name)]]></name>" ;
-
-                # The sources that made up the target.
-                .contents on $(xml-file) +=
-                    "$(nl)    <sources>" ;
-                for local source in $(action-sources)
-                {
-                    local source-actual = [ $(source).actual-name ] ;
-                    .contents on $(xml-file) +=
-                        "$(nl)      <source><![CDATA[$(source-actual)]]></source>" ;
-                }
-                .contents on $(xml-file) +=
-                    "$(nl)    </sources>" ;
-
-                # The properties that define the conditions under which the
-                # target was built.
-                .contents on $(xml-file) +=
-                    "$(nl)    <properties>" ;
-                for local prop in [ $(action-props).raw ]
-                {
-                    local prop-name = [ MATCH ^<(.*)>$ : $(prop:G) ] ;
-                    .contents on $(xml-file) +=
-                        "$(nl)      <property name=\"$(prop-name)\"><![CDATA[$(prop:G=)]]></property>" ;
-                }
-                .contents on $(xml-file) +=
-                    "$(nl)    </properties>" ;
-            }
-
-            local locate = [ on $(target) return $(LOCATE) ] ;
-            locate ?= "" ;
-            .contents on $(xml-file) +=
-                "$(nl)    <jam-target><![CDATA[$(target)]]></jam-target>"
-                "$(nl)    <path><![CDATA[$(target:G=:R=$(locate))]]></path>"
-                "$(nl)    <command><![CDATA[$(command)]]></command>"
-                "$(nl)    <output><![CDATA[$(output)]]></output>" ;
-            .contents on $(xml-file) +=
-                "$(nl)  </action>" ;
-        }
-
-        # When no __ACTION_RULE__ is set "on" a target, the search falls back to
-        # the global module.
-        module
-        {
-            __ACTION_RULE__ = build-system.out-xml.collect
-                [ modules.peek build-system : .out-xml ] ;
-        }
-        
-        IMPORT
-            build-system :
-            out-xml.collect
-            out-xml.generate-action
-            : :
-            build-system.out-xml.collect
-            build-system.out-xml.generate-action
-            ;
-    }
-
-    local j = [ option.get jobs ] ;
-    if $(j)
-    {
-        modules.poke : PARALLELISM : $(j) ;
-    }
-    
-    local k = [ option.get keep-going : true : true ] ;
-    if $(k) in "on" "yes" "true"
-    {
-        modules.poke : KEEP_GOING : 1 ;
-    }
-    else if $(k) in "off" "no" "false"
-    {
-        modules.poke : KEEP_GOING : 0 ;
-    }
-    else
-    {
-        ECHO "error: Invalid value for the --keep-going option" ;
-        EXIT ;
-    }
-                
-    # The 'all' pseudo target is not strictly needed expect in the case when we
-    # use it below but people often assume they always have this target
-    # available and do not declare it themselves before use which may cause
-    # build failures with an error message about not being able to build the
-    # 'all' target.
-    NOTFILE all ;
-
-    # And now that all the actual raw Jam targets and all the dependencies
-    # between them have been prepared all that is left is to tell Jam to update
-    # those targets.
-    if $(explicitly-requested-files)
-    {
-        # Note that this case can not be joined with the regular one when only
-        # exact Boost Build targets are requested as here we do not build those
-        # requested targets but only use them to construct the dependency tree
-        # needed to build the explicitly requested files.
-        UPDATE $(explicitly-requested-files:G=e) $(.out-xml) ;
-    }
-    else if $(cleanall)
-    {
-        UPDATE clean-all ;
-    }
-    else if $(clean)
-    {
-        common.Clean clean : [ actual-clean-targets ] ;
-        UPDATE clean ;
-    }
-    else
-    {      
-        configure.print-configure-checks-summary ;        
-        
-        if $(.pre-build-hook)
-        {
-            $(.pre-build-hook) ;
-        }
-        
-        DEPENDS all : $(actual-targets) ;
-        if UPDATE_NOW in [ RULENAMES ]
-        {            
-            local ok = [ UPDATE_NOW all $(.out-xml) ] ;
-            if $(.post-build-hook)
-            {
-                $(.post-build-hook) $(ok) ;
-            }
-            # Prevent automatic update of the 'all' target, now that
-            # we have explicitly updated what we wanted.
-            UPDATE ;
-        }
-        else
-        {
-            UPDATE all $(.out-xml) ;
-        }            
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/build/__init__.py b/SRC/Boost/tools/build/v2/build/__init__.py
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/build/ac.jam b/SRC/Boost/tools/build/v2/build/ac.jam
deleted file mode 100755
index 0004300..0000000
--- a/SRC/Boost/tools/build/v2/build/ac.jam
+++ /dev/null
@@ -1,198 +0,0 @@
-# Copyright (c) 2010 Vladimir Prus.
-#
-# Use, modification and distribution is subject to the Boost Software
-# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-# http://www.boost.org/LICENSE_1_0.txt)
-
-import property-set ;
-import path ;
-import modules ;
-import "class" ; 
-import errors ;
-import configure ;
-
-rule find-include-path ( variable : properties : header 
-    : provided-path ? )
-{
-    # FIXME: document which properties affect this function by
-    # default.
-    local target-os = [ $(properties).get <target-os> ] ;
-    properties = [ property-set.create <target-os>$(toolset) ] ;    
-    if $($(variable)-$(properties))
-    {
-        return $($(variable)-$(properties)) ;
-    }
-    else
-    {
-        provided-path ?= [ modules.peek : $(variable) ] ;
-        includes = $(provided-path) ;
-        includes += [ $(properties).get <include> ] ;
-        if [ $(properties).get <target-os> ] != windows
-        {
-            # FIXME: use sysroot
-            includes += /usr/include ;
-        }
-        
-        local result ;
-        while ! $(result) && $(includes)
-        {            
-            local f = [ path.root $(header) $(includes[1]) ] ;
-            ECHO "Checking " $(f) ;
-            if [ path.exists $(f) ]
-            {
-                result = $(includes[1]) ;
-            }
-            else if $(provided-path)
-            {
-                errors.user-error "Could not find header" $(header)
-                  : "in the user-specified directory" $(provided-path) ;
-            }            
-            includes = $(includes[2-]) ;                
-        }        
-        $(variable)-$(properties) = $(result) ;
-        return $(result) ;
-    }        
-}
-
-rule find-library ( variable : properties : names + : provided-path ? )
-{
-    local target-os = [ $(properties).get <target-os> ] ;
-    properties = [ property-set.create <target-os>$(toolset) ] ;
-    if $($(variable)-$(properties))
-    {
-        return $($(variable)-$(properties)) ;
-    }
-    else
-    {
-        provided-path ?= [ modules.peek : $(variable) ] ;
-        paths = $(provided-path) ;
-        paths += [ $(properties).get <library-path> ] ;
-        if [ $(properties).get <target-os> ] != windows
-        {
-            paths += /usr/lib /usr/lib32 /usr/lib64 ;
-        }
-        
-        local result ;               
-        while ! $(result) && $(paths)
-        {   
-            while ! $(result) && $(names)
-            {
-                local f ;
-                if $(target-os) = windows
-                {         
-                    f = $(paths[1])/$(names[1]).lib ;                
-                    if [ path.exists $(f) ] 
-                    {
-                        result = $(f) ;
-                    }
-                }
-                else
-                {
-                    # FIXME: check for .a as well, depending on
-                    # the 'link' feature.
-                    f = $(paths[1])/lib$(names[1]).so ;                
-                    ECHO "CHECKING $(f) " ;
-                    if [ path.exists $(f) ] 
-                    {
-                        result = $(f) ;
-                    }
-                }
-                if ! $(result) && $(provided-path)
-                {
-                    errors.user-error "Could not find either of: " $(names)
-                      : "in the user-specified directory" $(provided-path) ;
-                    
-                }                
-                names = $(names[2-]) ;
-            }
-            paths = $(paths[2-]) ;
-        }        
-        $(variable)-$(properties) = $(result) ;
-        return $(result) ;
-    }
-}
-
-class ac-library : basic-target
-{
-    import errors ;
-    import indirect ;
-    import virtual-target ;
-    import ac ;
-    import configure ;
-
-    rule __init__ ( name : project : * : * )
-    {
-        basic-target.__init__ $(name) : $(project) : $(sources)
-          : $(requirements) ;
-        
-        reconfigure $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ; 
-    }
-    
-    rule set-header ( header )
-    {
-        self.header = $(header) ; 
-    }
-        
-    rule set-default-names ( names + )
-    {
-        self.default-names = $(names) ;
-    }
-        
-    rule reconfigure ( * : * )
-    {
-        ECHO "XXX" $(1) ;
-        if ! $(1)
-        {
-            # This is 'using xxx ;'. Nothing to configure, really.
-        }
-        else
-        {
-            for i in 1 2 3 4 5 6 7 8 9             
-            {
-                # FIXME: this naming is inconsistent with XXX_INCLUDE/XXX_LIBRARY
-                if ! ( $($(i)[1]) in root include-path library-path library-name condition )
-                {
-                    errors.user-error "Invalid named parameter" $($(i)[1]) ;
-                }   
-                local name = $($(i)[1]) ;
-                local value = $($(i)[2-]) ;
-                if $($(name)) && $($(name)) != $(value)
-                {
-                    errors.user-error "Attempt to change value of '$(name)'" ;
-                }
-                $(name) = $(value) ;
-            }
-            
-            include-path ?= $(root)/include ;
-            library-path ?= $(root)/lib ;            
-        }        
-    }
-    
-    rule construct ( name : sources * : property-set )
-    {
-        # FIXME: log results.
-        local libnames = $(library-name) ;
-        if ! $(libnames) && ! $(include-path) && ! $(library-path)
-        {
-            libnames = [ modules.peek : $(name:U)_NAME ] ;
-            # Backward compatibility only.
-            libnames ?= [ modules.peek : $(name:U)_BINARY ] ;
-        }
-        libnames ?= $(self.default-names) ;
-                        
-        local includes = [ 
-          ac.find-include-path $(name:U)_INCLUDE : $(property-set) : $(self.header) : $(include-path) ] ;
-        local library = [ ac.find-library $(name:U)_LIBRARY : $(property-set) : $(libnames) : $(library-path) ] ;
-        if $(includes) && $(library)
-        {
-            library = [ virtual-target.from-file $(library) : . : $(self.project) ] ;
-            configure.log-library-search-result $(name) : "found" ;
-            return [ property-set.create <include>$(includes) <source>$(library) ] ;
-        }
-        else
-        {
-            configure.log-library-search-result $(name) : "no found" ;
-        }        
-    }
-}
-
diff --git a/SRC/Boost/tools/build/v2/build/alias.jam b/SRC/Boost/tools/build/v2/build/alias.jam
deleted file mode 100755
index 73e3628..0000000
--- a/SRC/Boost/tools/build/v2/build/alias.jam
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2003, 2004, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This module defines the 'alias' rule and the associated target class.
-#
-# Alias is just a main target which returns its source targets without any
-# processing. For example:
-#
-#   alias bin : hello test_hello ;
-#   alias lib : helpers xml_parser ;
-#
-# Another important use of 'alias' is to conveniently group source files:
-#
-#   alias platform-src : win.cpp : <os>NT ;
-#   alias platform-src : linux.cpp : <os>LINUX ;
-#   exe main : main.cpp platform-src ;
-#
-# Lastly, it is possible to create a local alias for some target, with different
-# properties:
-#
-#   alias big_lib : : @/external_project/big_lib/<link>static ;
-#
-
-import "class" : new ;
-import project ;
-import property-set ;
-import targets ;
-
-
-class alias-target-class : basic-target
-{
-    rule __init__ ( name : project : sources * : requirements *
-        : default-build * : usage-requirements * )
-    {
-        basic-target.__init__ $(name) : $(project) : $(sources) :
-            $(requirements) : $(default-build) : $(usage-requirements) ;
-    }
-
-    rule construct ( name : source-targets * : property-set )
-    {
-        return [ property-set.empty ] $(source-targets) ;
-    }
-
-    rule compute-usage-requirements ( subvariant )
-    {
-        local base = [ basic-target.compute-usage-requirements $(subvariant) ] ;
-        return [ $(base).add [ $(subvariant).sources-usage-requirements ] ] ;
-    }
-}
-
-
-# Declares the 'alias' target. It will process its sources virtual-targets by
-# returning them unaltered as its own constructed virtual-targets.
-#
-rule alias ( name : sources * : requirements * : default-build * :
-    usage-requirements * )
-{
-    local project = [ project.current ] ;
-
-    targets.main-target-alternative
-        [ new alias-target-class $(name) : $(project)
-            : [ targets.main-target-sources $(sources) : $(name) : no-renaming ]
-            : [ targets.main-target-requirements $(requirements) : $(project) ]
-            : [ targets.main-target-default-build $(default-build) : $(project)
-                ]
-            : [ targets.main-target-usage-requirements $(usage-requirements) :
-                $(project) ]
-        ] ;
-}
-
-
-IMPORT $(__name__) : alias : : alias ;
diff --git a/SRC/Boost/tools/build/v2/build/alias.py b/SRC/Boost/tools/build/v2/build/alias.py
deleted file mode 100755
index 570e1b9..0000000
--- a/SRC/Boost/tools/build/v2/build/alias.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2003, 2004, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Status: ported (danielw)
-# Base revision: 56043
-
-#  This module defines the 'alias' rule and associated class.
-#
-#  Alias is just a main target which returns its source targets without any 
-#  processing. For example::
-#
-#    alias bin : hello test_hello ;
-#    alias lib : helpers xml_parser ;
-#
-#  Another important use of 'alias' is to conveniently group source files::
-#
-#    alias platform-src : win.cpp : <os>NT ;
-#    alias platform-src : linux.cpp : <os>LINUX ;
-#    exe main : main.cpp platform-src ;
-# 
-#  Lastly, it's possible to create local alias for some target, with different
-#  properties::
-#
-#    alias big_lib : : @/external_project/big_lib/<link>static ;
-#
-
-import targets
-import property_set
-from b2.manager import get_manager
-
-from b2.util import metatarget
-
-class AliasTarget(targets.BasicTarget):
-
-    def __init__(self, *args):
-        targets.BasicTarget.__init__(self, *args)
-
-    def construct(self, name, source_targets, properties):
-        return [property_set.empty(), source_targets]
-
-    def compute_usage_requirements(self, subvariant):
-        base = targets.BasicTarget.compute_usage_requirements(self, subvariant)
-        # Add source's usage requirement. If we don't do this, "alias" does not
-        # look like 100% alias.
-        return base.add(subvariant.sources_usage_requirements())
-
- at metatarget
-def alias(name, sources=[], requirements=[], default_build=[], usage_requirements=[]):
-
-    project = get_manager().projects().current()
-    targets = get_manager().targets()
-
-    targets.main_target_alternative(AliasTarget(
-        name, project,
-        targets.main_target_sources(sources, name, no_renaming=True),
-        targets.main_target_requirements(requirements or [], project),
-        targets.main_target_default_build(default_build, project),
-        targets.main_target_usage_requirements(usage_requirements or [], project)))
-
-# Declares the 'alias' target. It will build sources, and return them unaltered.
-get_manager().projects().add_rule("alias", alias)
-
diff --git a/SRC/Boost/tools/build/v2/build/build-request.jam b/SRC/Boost/tools/build/v2/build/build-request.jam
deleted file mode 100755
index 200f158..0000000
--- a/SRC/Boost/tools/build/v2/build/build-request.jam
+++ /dev/null
@@ -1,322 +0,0 @@
-# Copyright 2002 Dave Abrahams
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import "class" : new ;
-import sequence ;
-import set ;
-import regex ;
-import feature ;
-import property ;
-import container ;
-import string ;
-
-
-# Transform property-set by applying f to each component property.
-#
-local rule apply-to-property-set ( f property-set )
-{
-    local properties = [ feature.split $(property-set) ] ;
-    return [ string.join [ $(f) $(properties) ] : / ] ;
-}
-
-
-# Expand the given build request by combining all property-sets which do not
-# specify conflicting non-free features. Expects all the project files to
-# already be loaded.
-#
-rule expand-no-defaults ( property-sets * )
-{
-    # First make all features and subfeatures explicit.
-    local expanded-property-sets = [ sequence.transform apply-to-property-set
-        feature.expand-subfeatures : $(property-sets) ] ;
-
-    # Now combine all of the expanded property-sets
-    local product = [ x-product $(expanded-property-sets) : $(feature-space) ] ;
-
-    return $(product) ;
-}
-
-
-# Implementation of x-product, below. Expects all the project files to already
-# be loaded.
-#
-local rule x-product-aux ( property-sets + )
-{
-    local result ;
-    local p = [ feature.split $(property-sets[1]) ] ;
-    local f = [ set.difference $(p:G) : [ feature.free-features ] ] ;
-    local seen ;
-    # No conflict with things used at a higher level?
-    if ! [ set.intersection $(f) : $(x-product-used) ]
-    {
-        local x-product-seen ;
-        {
-            # Do not mix in any conflicting features.
-            local x-product-used = $(x-product-used) $(f) ;
-
-            if $(property-sets[2])
-            {
-                local rest = [ x-product-aux $(property-sets[2-]) : $(feature-space) ] ;
-                result = $(property-sets[1])/$(rest) ;
-            }
-
-            result ?= $(property-sets[1]) ;
-        }
-
-        # If we did not encounter a conflicting feature lower down, do not
-        # recurse again.
-        if ! [ set.intersection $(f) : $(x-product-seen) ]
-        {
-            property-sets = ;
-        }
-
-        seen = $(x-product-seen) ;
-    }
-
-    if $(property-sets[2])
-    {
-        result += [ x-product-aux $(property-sets[2-]) : $(feature-space) ] ;
-    }
-
-    # Note that we have seen these features so that higher levels will recurse
-    # again without them set.
-    x-product-seen += $(f) $(seen) ;
-    return $(result) ;
-}
-
-
-# Return the cross-product of all elements of property-sets, less any that would
-# contain conflicting values for single-valued features. Expects all the project
-# files to already be loaded.
-#
-local rule x-product ( property-sets * )
-{
-    if $(property-sets).non-empty
-    {
-        # Prepare some "scoped globals" that can be used by the implementation
-        # function, x-product-aux.
-        local x-product-seen x-product-used ;
-        return [ x-product-aux $(property-sets) : $(feature-space) ] ;
-    }
-    # Otherwise return empty.
-}
-
-
-# Returns true if either 'v' or the part of 'v' before the first '-' symbol is
-# an implicit value. Expects all the project files to already be loaded.
-#
-local rule looks-like-implicit-value ( v )
-{
-    if [ feature.is-implicit-value $(v) ]
-    {
-        return true ;
-    }
-    else
-    {
-        local split = [ regex.split $(v) - ] ;
-        if [ feature.is-implicit-value $(split[1]) ]
-        {
-            return true ;
-        }
-    }
-}
-
-
-# Takes the command line tokens (such as taken from the ARGV rule) and
-# constructs a build request from them. Returns a vector of two vectors (where
-# "vector" means container.jam's "vector"). First is the set of targets
-# specified in the command line, and second is the set of requested build
-# properties. Expects all the project files to already be loaded.
-#
-rule from-command-line ( command-line * )
-{
-    local targets ;
-    local properties ;
-
-    command-line = $(command-line[2-]) ;
-    local skip-next = ;
-    for local e in $(command-line)
-    {
-        if $(skip-next)
-        {
-            skip-next = ;
-        }
-        else if ! [ MATCH "^(-).*" : $(e) ]
-        {
-            # Build request spec either has "=" in it or completely consists of
-            # implicit feature values.
-            local fs = feature-space ;
-            if [ MATCH "(.*=.*)" : $(e) ]
-                || [ looks-like-implicit-value $(e:D=) : $(feature-space) ]
-            {
-                properties += [ convert-command-line-element $(e) :
-                    $(feature-space) ] ;
-            }
-            else
-            {
-                targets += $(e) ;
-            }
-        }
-        else if [ MATCH "^(-[-ldjfsto])$" : $(e) ]
-        {
-            skip-next = true ;
-        }
-    }
-    return [ new vector
-        [ new vector $(targets) ]
-        [ new vector $(properties) ] ] ;
-}
-
-
-# Converts one element of command line build request specification into internal
-# form. Expects all the project files to already be loaded.
-#
-local rule convert-command-line-element ( e )
-{
-    local result ;
-    local parts = [ regex.split $(e) "/" ] ;
-    while $(parts)
-    {
-        local p = $(parts[1]) ;
-        local m = [ MATCH "([^=]*)=(.*)" : $(p) ] ;
-        local lresult ;
-        local feature ;
-        local values ;
-        if $(m)
-        {
-            feature = $(m[1]) ;
-            values = [ regex.split $(m[2]) "," ] ;
-            lresult = <$(feature)>$(values) ;
-        }
-        else
-        {
-            lresult = [ regex.split $(p) "," ] ;
-        }
-        
-        if $(feature) && free in [ feature.attributes $(feature) ]
-        {
-            # If we have free feature, then the value is everything
-            # until the end of the command line token. Slashes in
-            # the following string are not taked to mean separation
-            # of properties. Commas are also not interpreted specially.
-            values = $(values:J=,) ;
-            values = $(values) $(parts[2-]) ;
-            values = $(values:J=/) ;
-            lresult = <$(feature)>$(values) ;
-            parts = ;
-        }
-        
-        if ! [ MATCH (.*-.*) : $(p) ]
-        {
-            # property.validate cannot handle subfeatures, so we avoid the check
-            # here.
-            for local p in $(lresult)
-            {
-                property.validate $(p) : $(feature-space) ;
-            }
-        }
-
-        if ! $(result)
-        {
-            result = $(lresult) ;
-        }
-        else
-        {
-            result = $(result)/$(lresult) ;
-        }
-        
-        parts = $(parts[2-]) ;
-    }
-
-    return $(result) ;
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-    import feature ;
-
-    feature.prepare-test build-request-test-temp ;
-
-    import build-request ;
-    import build-request : expand-no-defaults : build-request.expand-no-defaults ;
-    import errors : try catch ;
-    import feature : feature subfeature ;
-
-    feature toolset : gcc msvc borland : implicit ;
-    subfeature toolset gcc : version : 2.95.2 2.95.3 2.95.4
-      3.0 3.0.1 3.0.2 : optional ;
-
-    feature variant : debug release : implicit composite ;
-    feature inlining : on off ;
-    feature "include" : : free ;
-
-    feature stdlib : native stlport : implicit ;
-
-    feature runtime-link : dynamic static : symmetric ;
-
-    # Empty build requests should expand to empty.
-    assert.result
-        : build-request.expand-no-defaults ;
-
-    assert.result
-        <toolset>gcc/<toolset-gcc:version>3.0.1/<stdlib>stlport/<variant>debug
-        <toolset>msvc/<stdlib>stlport/<variant>debug
-        <toolset>msvc/<variant>debug
-        : build-request.expand-no-defaults gcc-3.0.1/stlport msvc/stlport msvc debug ;
-
-    assert.result
-        <toolset>gcc/<toolset-gcc:version>3.0.1/<stdlib>stlport/<variant>debug
-        <toolset>msvc/<variant>debug
-        <variant>debug/<toolset>msvc/<stdlib>stlport
-        : build-request.expand-no-defaults gcc-3.0.1/stlport msvc debug msvc/stlport ;
-
-    assert.result
-        <toolset>gcc/<toolset-gcc:version>3.0.1/<stdlib>stlport/<variant>debug/<inlining>off
-        <toolset>gcc/<toolset-gcc:version>3.0.1/<stdlib>stlport/<variant>release/<inlining>off
-        : build-request.expand-no-defaults gcc-3.0.1/stlport debug release <inlining>off ;
-
-    assert.result
-        <include>a/b/c/<toolset>gcc/<toolset-gcc:version>3.0.1/<stdlib>stlport/<variant>debug/<include>x/y/z
-        <include>a/b/c/<toolset>msvc/<stdlib>stlport/<variant>debug/<include>x/y/z
-        <include>a/b/c/<toolset>msvc/<variant>debug/<include>x/y/z
-        : build-request.expand-no-defaults <include>a/b/c gcc-3.0.1/stlport msvc/stlport msvc debug  <include>x/y/z ;
-
-    local r ;
-
-    r = [ build-request.from-command-line bjam debug runtime-link=dynamic ] ;
-    assert.equal [ $(r).get-at 1 ] : ;
-    assert.equal [ $(r).get-at 2 ] : debug <runtime-link>dynamic ;
-
-    try ;
-    {
-        build-request.from-command-line bjam gcc/debug runtime-link=dynamic/static ;
-    }
-    catch \"static\" is not a value of an implicit feature ;
-
-    r = [ build-request.from-command-line bjam -d2 --debug debug target runtime-link=dynamic ] ;
-    assert.equal [ $(r).get-at 1 ] : target ;
-    assert.equal [ $(r).get-at 2 ] : debug <runtime-link>dynamic ;
-
-    r = [ build-request.from-command-line bjam debug runtime-link=dynamic,static ] ;
-    assert.equal [ $(r).get-at 1 ] : ;
-    assert.equal [ $(r).get-at 2 ] : debug <runtime-link>dynamic <runtime-link>static ;
-
-    r = [ build-request.from-command-line bjam debug gcc/runtime-link=dynamic,static ] ;
-    assert.equal [ $(r).get-at 1 ] : ;
-    assert.equal [ $(r).get-at 2 ] : debug gcc/<runtime-link>dynamic
-        gcc/<runtime-link>static ;
-
-    r = [ build-request.from-command-line bjam msvc gcc,borland/runtime-link=static ] ;
-    assert.equal [ $(r).get-at 1 ] : ;
-    assert.equal [ $(r).get-at 2 ] : msvc gcc/<runtime-link>static
-        borland/<runtime-link>static ;
-
-    r = [ build-request.from-command-line bjam gcc-3.0 ] ;
-    assert.equal [ $(r).get-at 1 ] : ;
-    assert.equal [ $(r).get-at 2 ] : gcc-3.0 ;
-
-    feature.finish-test build-request-test-temp ;
-}
diff --git a/SRC/Boost/tools/build/v2/build/build_request.py b/SRC/Boost/tools/build/v2/build/build_request.py
deleted file mode 100755
index b84ed6b..0000000
--- a/SRC/Boost/tools/build/v2/build/build_request.py
+++ /dev/null
@@ -1,216 +0,0 @@
-# Status: being ported by Vladimir Prus
-# TODO: need to re-compare with mainline of .jam
-# Base revision: 40480
-#
-#  (C) Copyright David Abrahams 2002. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-
-import b2.build.feature
-feature = b2.build.feature
-
-from b2.util.utility import *
-import b2.build.property_set as property_set
-
-def expand_no_defaults (property_sets):
-    """ Expand the given build request by combining all property_sets which don't
-        specify conflicting non-free features.
-    """
-    # First make all features and subfeatures explicit
-    expanded_property_sets = [ps.expand_subfeatures() for ps in property_sets]
-    
-    # Now combine all of the expanded property_sets
-    product = __x_product (expanded_property_sets)
-    
-    return [property_set.create(p) for p in product]
-
-
-def __x_product (property_sets):
-    """ Return the cross-product of all elements of property_sets, less any
-        that would contain conflicting values for single-valued features.
-    """
-    x_product_seen = set()
-    return __x_product_aux (property_sets, x_product_seen)[0]
-
-def __x_product_aux (property_sets, seen_features):
-    """Returns non-conflicting combinations of property sets.
-
-    property_sets is a list of PropertySet instances. seen_features is a set of Property
-    instances.
-
-    Returns a tuple of:
-    - list of lists of Property instances, such that within each list, no two Property instance
-    have the same feature, and no Property is for feature in seen_features.
-    - set of features we saw in property_sets      
-    """
-    if not property_sets:
-        return ([], set())
-
-    properties = property_sets[0].all()
-
-    these_features = set()
-    for p in property_sets[0].non_free():
-        these_features.add(p.feature())
-
-    # Note: the algorithm as implemented here, as in original Jam code, appears to
-    # detect conflicts based on features, not properties. For example, if command
-    # line build request say:
-    #
-    # <a>1/<b>1 c<1>/<b>1
-    #
-    # It will decide that those two property sets conflict, because they both specify
-    # a value for 'b' and will not try building "<a>1 <c1> <b1>", but rather two
-    # different property sets. This is a topic for future fixing, maybe.
-    if these_features & seen_features:
-
-        (inner_result, inner_seen) = __x_product_aux(property_sets[1:], seen_features)
-        return (inner_result, inner_seen | these_features)
-
-    else:
-
-        result = []
-        (inner_result, inner_seen) = __x_product_aux(property_sets[1:], seen_features | these_features)
-        if inner_result:
-            for inner in inner_result:
-                result.append(properties + inner)
-        else:
-            result.append(properties)
-        
-        if inner_seen & these_features:
-            # Some of elements in property_sets[1:] conflict with elements of property_sets[0],
-            # Try again, this time omitting elements of property_sets[0]
-            (inner_result2, inner_seen2) = __x_product_aux(property_sets[1:], seen_features)
-            result.extend(inner_result2)
-
-        return (result, inner_seen | these_features)
-
-    
-
-def looks_like_implicit_value(v):
-    """Returns true if 'v' is either implicit value, or
-    the part before the first '-' symbol is implicit value."""
-    if feature.is_implicit_value(v):
-        return 1
-    else:
-        split = v.split("-")
-        if feature.is_implicit_value(split[0]):
-            return 1
-
-    return 0
-
-def from_command_line(command_line):
-    """Takes the command line tokens (such as taken from ARGV rule)
-    and constructs build request from it. Returns a list of two
-    lists. First is the set of targets specified in the command line,
-    and second is the set of requested build properties."""
-
-    targets = []
-    properties = []
-
-    for e in command_line:
-        if e[0] != "-":
-            # Build request spec either has "=" in it, or completely
-            # consists of implicit feature values.
-            if e.find("=") != -1 or looks_like_implicit_value(e.split("/")[0]):                
-                properties += convert_command_line_element(e)
-            else:
-                targets.append(e)
-
-    return [targets, properties]
- 
-# Converts one element of command line build request specification into
-# internal form.
-def convert_command_line_element(e):
-
-    result = None
-    parts = e.split("/")
-    for p in parts:
-        m = p.split("=")
-        if len(m) > 1:
-            feature = m[0]
-            values = m[1].split(",")
-            lresult = [("<%s>%s" % (feature, v)) for v in values]
-        else:
-            lresult = p.split(",")
-            
-        if p.find('-') == -1:
-            # FIXME: first port property.validate
-            # property.validate cannot handle subfeatures,
-            # so we avoid the check here.
-            #for p in lresult:
-            #    property.validate(p)
-            pass
-
-        if not result:
-            result = lresult
-        else:
-            result = [e1 + "/" + e2 for e1 in result for e2 in lresult]
-
-    return [property_set.create(b2.build.feature.split(r)) for r in result]
-
-### 
-### rule __test__ ( )
-### {
-###     import assert feature ;
-###     
-###     feature.prepare-test build-request-test-temp ;
-###     
-###     import build-request ;
-###     import build-request : expand_no_defaults : build-request.expand_no_defaults ;
-###     import errors : try catch ;
-###     import feature : feature subfeature ;
-### 
-###     feature toolset : gcc msvc borland : implicit ;
-###     subfeature toolset gcc : version : 2.95.2 2.95.3 2.95.4
-###       3.0 3.0.1 3.0.2 : optional ;
-### 
-###     feature variant : debug release : implicit composite ;
-###     feature inlining : on off ;
-###     feature "include" : : free ;
-### 
-###     feature stdlib : native stlport : implicit ;
-### 
-###     feature runtime-link : dynamic static : symmetric ;
-### 
-### 
-###     local r ;
-### 
-###     r = [ build-request.from-command-line bjam debug runtime-link=dynamic ] ;              
-###     assert.equal [ $(r).get-at 1 ] : ;
-###     assert.equal [ $(r).get-at 2 ] : debug <runtime-link>dynamic ;
-### 
-###     try ;
-###     {
-### 
-###         build-request.from-command-line bjam gcc/debug runtime-link=dynamic/static ;
-###     }
-###     catch \"static\" is not a value of an implicit feature ;
-### 
-### 
-###     r = [ build-request.from-command-line bjam -d2 --debug debug target runtime-link=dynamic ] ;
-###     assert.equal [ $(r).get-at 1 ] : target ;
-###     assert.equal [ $(r).get-at 2 ] : debug <runtime-link>dynamic ;
-### 
-###     r = [ build-request.from-command-line bjam debug runtime-link=dynamic,static ] ;
-###     assert.equal [ $(r).get-at 1 ] : ;
-###     assert.equal [ $(r).get-at 2 ] : debug <runtime-link>dynamic <runtime-link>static ;
-### 
-###     r = [ build-request.from-command-line bjam debug gcc/runtime-link=dynamic,static ] ;
-###     assert.equal [ $(r).get-at 1 ] : ;
-###     assert.equal [ $(r).get-at 2 ] : debug gcc/<runtime-link>dynamic 
-###                  gcc/<runtime-link>static ;
-### 
-###     r = [ build-request.from-command-line bjam msvc gcc,borland/runtime-link=static ] ;
-###     assert.equal [ $(r).get-at 1 ] : ;
-###     assert.equal [ $(r).get-at 2 ] : msvc gcc/<runtime-link>static 
-###                     borland/<runtime-link>static ;
-### 
-###     r = [ build-request.from-command-line bjam gcc-3.0 ] ;
-###     assert.equal [ $(r).get-at 1 ] : ;
-###     assert.equal [ $(r).get-at 2 ] : gcc-3.0 ;
-### 
-###     feature.finish-test build-request-test-temp ;
-### }
-### 
-### 
diff --git a/SRC/Boost/tools/build/v2/build/configure.jam b/SRC/Boost/tools/build/v2/build/configure.jam
deleted file mode 100755
index 148d2b5..0000000
--- a/SRC/Boost/tools/build/v2/build/configure.jam
+++ /dev/null
@@ -1,237 +0,0 @@
-# Copyright (c) 2010 Vladimir Prus.
-#
-# Use, modification and distribution is subject to the Boost Software
-# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# This module defines function to help with two main tasks:
-#
-# - Discovering build-time configuration for the purposes of adjusting
-#   build process.  
-# - Reporting what is built, and how it is configured.
-
-import targets ; 
-import errors ;
-import targets ;
-import sequence ;
-import property ;
-import property-set ;
-import "class" : new ;
-import common ;
-import path ;
-
-rule log-summary ( )
-{
-    
-}
-
-.width = 30 ;
-
-rule set-width ( width )
-{
-    .width = $(width) ;
-}
-
-# Declare that the components specified by the parameter exist.
-rule register-components ( components * )
-{
-    .components += $(components) ;
-}
-
-# Declare that the components specified by the parameters will
-# be build.
-rule components-building ( components * )
-{
-    .built-components += $(components) ;
-}
-
-# Report something about component configuration that the
-# user should better know.
-rule log-component-configuration ( component : message )
-{
-    # FIXME: implement per-property-set logs
-    .component-logs.$(component) += $(message) ;
-}
-
-
-
-rule log-check-result ( result )
-{
-    if ! $(.announced-checks)
-    {
-        ECHO "Performing configuration checks\n" ;
-        .announced-checks = 1 ;
-    }
-    
-    ECHO $(result) ;    
-    #.check-results += $(result) ;
-}
-
-rule log-library-search-result ( library : result )
-{
-    local x = [ PAD "    - $(library) : $(result)" : $(.width) ] ;
-    log-check-result "$(x)" ;
-}
-
-rule print-component-configuration ( )
-{
-    local c = [ sequence.unique $(.components) ] ;
-    
-    ECHO "\nComponent configuration:\n" ;
-    for c in $(.components)
-    {
-        local s ;
-        if $(c) in $(.built-components)
-        {
-            s = "building" ;
-        }
-        else
-        {
-            s = "not building" ;
-        }
-        ECHO [ PAD "    - $(c)" : $(.width) ] ": $(s)" ;
-        for local m in $(.component-logs.$(c))
-        {
-            ECHO "        -" $(m) ;
-        }        
-    }
-    ECHO ;
-}
-
-rule print-configure-checks-summary ( )
-{
-    # FIXME: the problem with that approach is tha
-    # the user sees checks summary when all checks are
-    # done, and has no progress reporting while the
-    # checks are being executed.    
-    if $(.check-results)
-    {        
-        ECHO "Configuration checks summary\n" ;
-    
-        for local r in $(.check-results)
-        {
-            ECHO $(r) ;
-        }
-        ECHO ;
-    }    
-}
-
-# Attempt to build a metatarget named by 'metatarget-reference'
-# in context of 'project' with properties 'ps'.
-# Returns non-empty value if build is OK.
-rule builds-raw ( metatarget-reference : project : ps : what : retry ? )
-{   
-    local result ;
-           
-    if ! $(retry) && ! $(.$(what)-tested.$(ps))
-    {        
-        .$(what)-tested.$(ps) = true ;
-        
-        local targets = [ targets.generate-from-reference 
-            $(metatarget-reference) : $(project) : $(ps) ] ;
-        
-        local jam-targets ;
-        for local t in $(targets[2-])
-        {
-            jam-targets += [ $(t).actualize ] ;
-        }
-                    
-        if ! UPDATE_NOW in [ RULENAMES ]
-        {
-            # Cannot determine. Assume existance.
-        }
-        else 
-        {           
-            local x = [ PAD "    - $(what)" : $(.width) ] ;            
-            if [ UPDATE_NOW $(jam-targets) :
-                 $(.log-fd) : ignore-minus-n : ignore-minus-q ] 
-            {
-                .$(what)-supported.$(ps) = yes ;
-                result = true ;
-                log-check-result "$(x) : yes" ;
-            }        
-            else
-            {
-                log-check-result "$(x) : no" ;
-            }
-        }        
-        return $(result) ;
-    }    
-    else
-    {
-        return $(.$(what)-supported.$(ps)) ;
-    }
-}
-
-rule builds ( metatarget-reference : properties * : what ? : retry ? )
-{
-    what ?= "$(metatarget-reference) builds" ;
-    
-    # FIXME: this should not be hardcoded. Other checks might
-    # want to consider different set of features as relevant.
-    local toolset = [ property.select <toolset> : $(properties) ] ;
-    local toolset-version-property = "<toolset-$(toolset:G=):version>" ;
-    local relevant = [ property.select <target-os> <toolset> $(toolset-version-property)
-      <address-model> <architecture>
-      : $(properties) ] ;
-    local ps = [ property-set.create $(relevant) ] ;        
-    local t = [ targets.current ] ;
-    local p = [ $(t).project ] ;
-
-    return [ builds-raw $(metatarget-reference) : $(p) : $(ps) : $(what) : $(retry) ] ;
-}
-
-
-# Called by Boost.Build startup code to specify name of a file
-# that will receive results of configure checks.  This
-# should never be called by users.
-rule set-log-file ( log-file )
-{
-    path.makedirs [ path.parent $(log-file) ] ;
-    
-    .log-fd = [ FILE_OPEN $(log-file) : "w" ] ;
-}
-
-# Frontend rules
-
-class check-target-builds-worker
-{
-    import configure ;
-    import property-set ;
-    import targets ;
-    import property ; 
-    
-    rule __init__ ( target message ? : true-properties * : false-properties * )    
-    {
-        self.target = $(target) ;
-        self.message = $(message) ;     
-        self.true-properties = $(true-properties) ;
-        self.false-properties = $(false-properties) ;
-    }
-        
-    rule check ( properties * )
-    {
-        local choosen ;
-        if [ configure.builds $(self.target) : $(properties) : $(self.message) ]
-        {
-            choosen = $(self.true-properties) ;
-        }        
-        else
-        {
-            choosen = $(self.false-properties) ;
-        }        
-        return [ property.evaluate-conditionals-in-context $(choosen) : $(properties) ] ;
-    }    
-}
-
-
-rule check-target-builds ( target message ? : true-properties * : false-properties * )
-{
-    local instance = [ new check-target-builds-worker $(target) $(message) : $(true-properties)
-      : $(false-properties) ] ;
-    return <conditional>@$(instance).check ;
-}
-
-IMPORT $(__name__) : check-target-builds :  : check-target-builds ;
-
-
diff --git a/SRC/Boost/tools/build/v2/build/configure.py b/SRC/Boost/tools/build/v2/build/configure.py
deleted file mode 100755
index f3199b9..0000000
--- a/SRC/Boost/tools/build/v2/build/configure.py
+++ /dev/null
@@ -1,164 +0,0 @@
-# Status: ported.
-# Base revison: 64488
-#
-# Copyright (c) 2010 Vladimir Prus.
-#
-# Use, modification and distribution is subject to the Boost Software
-# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# This module defines function to help with two main tasks:
-#
-# - Discovering build-time configuration for the purposes of adjusting
-#   build process.  
-# - Reporting what is built, and how it is configured.
-
-import b2.build.property as property
-import b2.build.property_set as property_set
-
-import b2.build.targets
-
-from b2.manager import get_manager
-from b2.util.sequence import unique
-from b2.util import bjam_signature, value_to_jam
-
-import bjam
-import os
-
-__width = 30
-
-def set_width(width):
-    global __width
-    __width = 30
-
-__components = []
-__built_components = []
-__component_logs = {}
-__announced_checks = False
-
-__log_file = None
-__log_fd = -1
-
-def register_components(components):
-    """Declare that the components specified by the parameter exist."""
-    __components.extend(components)
-    
-def components_building(components):
-    """Declare that the components specified by the parameters will be build."""
-    __built_components.extend(components)
-
-def log_component_configuration(component, message):
-    """Report something about component configuration that the user should better know."""
-    __component_logs.setdefault(component, []).append(message)
-
-def log_check_result(result):
-    global __announced_checks
-    if not __announced_checks:
-        print "Performing configuration checks"
-        __announced_checks = True
-
-    print result
-
-def log_library_search_result(library, result):
-    log_check_result(("    - %(library)s : %(result)s" % locals()).rjust(width))
-
-
-def print_component_configuration():
-
-    print "\nComponent configuration:"
-    for c in __components:
-        if c in __built_components:
-            s = "building"
-        else:
-            s = "not building"
-        message = "    - %s)" % c
-        message = message.rjust(__width)
-        message += " : " + s
-        for m in __component_logs.get(c, []):
-            print "        -" + m
-    print ""
-
-__builds_cache = {}
-
-def builds(metatarget_reference, project, ps, what):
-    # Attempt to build a metatarget named by 'metatarget-reference'
-    # in context of 'project' with properties 'ps'.
-    # Returns non-empty value if build is OK.
-
-    result = []
-
-    existing = __builds_cache.get((what, ps), None)
-    if existing is None:
-
-        result = False
-        __builds_cache[(what, ps)] = False
-
-        targets = b2.build.targets.generate_from_reference(
-            metatarget_reference, project, ps).targets()
-        jam_targets = []
-        for t in targets:
-            jam_targets.append(t.actualize())
-        
-        x = ("    - %s" % what).rjust(__width)
-        if bjam.call("UPDATE_NOW", jam_targets, str(__log_fd), "ignore-minus-n"):
-            __builds_cache[(what, ps)] = True
-            result = True
-            log_check_result("%s: yes" % x)
-        else:
-            log_check_result("%s: no" % x)
-
-        return result
-    else:
-        return existing
-
-def set_log_file(log_file_name):
-    # Called by Boost.Build startup code to specify name of a file
-    # that will receive results of configure checks.  This
-    # should never be called by users.
-    global __log_file, __log_fd
-    dirname = os.path.dirname(log_file_name)
-    if not os.path.exists(dirname):
-        os.makedirs(dirname)
-    # Make sure to keep the file around, so that it's not
-    # garbage-collected and closed
-    __log_file = open(log_file_name, "w")
-    __log_fd = __log_file.fileno()
-
-# Frontend rules
-
-class CheckTargetBuildsWorker:
-
-    def __init__(self, target, true_properties, false_properties):
-        self.target = target
-        self.true_properties = property.create_from_strings(true_properties, True)
-        self.false_properties = property.create_from_strings(false_properties, True)
-
-    def check(self, ps):
-        
-        # FIXME: this should not be hardcoded. Other checks might
-        # want to consider different set of features as relevant.
-        toolset = ps.get('toolset')[0]
-        toolset_version_property = "<toolset-" + toolset + ":version>" ;
-        relevant = ps.get_properties('target-os') + \
-                   ps.get_properties("toolset") + \
-                   ps.get_properties(toolset_version_property) + \
-                   ps.get_properties("address-model") + \
-                   ps.get_properties("architecture")
-        rps = property_set.create(relevant)
-        t = get_manager().targets().current()
-        p = t.project()        
-        if builds(self.target, p, rps, "%s builds" % self.target):
-            choosen = self.true_properties
-        else:
-            choosen = self.false_properties
-        return property.evaluate_conditionals_in_context(choosen, ps)
-
- at bjam_signature((["target"], ["true_properties", "*"], ["false_properties", "*"]))
-def check_target_builds(target, true_properties, false_properties):
-    worker = CheckTargetBuildsWorker(target, true_properties, false_properties)
-    value = value_to_jam(worker.check)
-    return "<conditional>" + value
-
-get_manager().projects().add_rule("check-target-builds", check_target_builds)
-
-
diff --git a/SRC/Boost/tools/build/v2/build/engine.py b/SRC/Boost/tools/build/v2/build/engine.py
deleted file mode 100755
index 330b3f6..0000000
--- a/SRC/Boost/tools/build/v2/build/engine.py
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright Pedro Ferreira 2005.
-# Copyright Vladimir Prus 2007.
-# Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-bjam_interface = __import__('bjam')
-
-import operator
-import re
-
-import b2.build.property_set as property_set
-import b2.util
-
-class BjamAction:
-    """Class representing bjam action defined from Python."""
-    
-    def __init__(self, action_name, function):
-        self.action_name = action_name
-        self.function = function
-            
-    def __call__(self, targets, sources, property_set):
-        if self.function:
-            self.function(targets, sources, property_set)
-
-        # Bjam actions defined from Python have only the command
-        # to execute, and no associated jam procedural code. So
-        # passing 'property_set' to it is not necessary.
-        bjam_interface.call("set-update-action", self.action_name,
-                            targets, sources, [])
-
-class BjamNativeAction:
-    """Class representing bjam action defined by Jam code.
-
-    We still allow to associate a Python callable that will
-    be called when this action is installed on any target.
-    """
-    
-    def __init__(self, action_name, function):
-        self.action_name = action_name
-        self.function = function
-        
-    def __call__(self, targets, sources, property_set):
-        if self.function:
-            self.function(targets, sources, property_set)
-        
-        p = []
-        if property_set:
-            p = property_set.raw()
-
-        b2.util.set_jam_action(self.action_name, targets, sources, p)
-        
-action_modifiers = {"updated": 0x01,
-                    "together": 0x02,
-                    "ignore": 0x04,
-                    "quietly": 0x08,
-                    "piecemeal": 0x10,
-                    "existing": 0x20}
-
-class Engine:
-    """ The abstract interface to a build engine.
-
-    For now, the naming of targets, and special handling of some
-    target variables like SEARCH and LOCATE make this class coupled
-    to bjam engine.
-    """
-    def __init__ (self):
-        self.actions = {}
-
-    def add_dependency (self, targets, sources):
-        """Adds a dependency from 'targets' to 'sources'
-
-        Both 'targets' and 'sources' can be either list
-        of target names, or a single target name.
-        """
-        if isinstance (targets, str):
-            targets = [targets]
-        if isinstance (sources, str):
-            sources = [sources]
-
-        for target in targets:
-            for source in sources:
-                self.do_add_dependency (target, source)
-    
-    def set_target_variable (self, targets, variable, value, append=0):
-        """ Sets a target variable.
-
-        The 'variable' will be available to bjam when it decides
-        where to generate targets, and will also be available to
-        updating rule for that 'taret'.
-        """
-        if isinstance (targets, str): 
-            targets = [targets]
-
-        for target in targets:
-            self.do_set_target_variable (target, variable, value, append)
-
-    def set_update_action (self, action_name, targets, sources, properties=property_set.empty()):
-        """ Binds a target to the corresponding update action.
-            If target needs to be updated, the action registered
-            with action_name will be used.
-            The 'action_name' must be previously registered by
-            either 'register_action' or 'register_bjam_action'
-            method.
-        """
-        assert(isinstance(properties, property_set.PropertySet))
-        if isinstance (targets, str): 
-            targets = [targets]
-        self.do_set_update_action (action_name, targets, sources, properties)
-
-    def register_action (self, action_name, command, bound_list = [], flags = [],
-                         function = None):
-        """Creates a new build engine action.
-
-        Creates on bjam side an action named 'action_name', with
-        'command' as the command to be executed, 'bound_variables'
-        naming the list of variables bound when the command is executed
-        and specified flag.
-        If 'function' is not None, it should be a callable taking three
-        parameters:
-            - targets
-            - sources
-            - instance of the property_set class
-        This function will be called by set_update_action, and can
-        set additional target variables.
-        """
-        if self.actions.has_key(action_name):
-            raise "Bjam action %s is already defined" % action_name
-
-        assert(isinstance(flags, list))
-
-        bjam_flags = reduce(operator.or_,
-                            (action_modifiers[flag] for flag in flags), 0)
-
-        bjam_interface.define_action(action_name, command, bound_list, bjam_flags)
-
-        self.actions[action_name] = BjamAction(action_name, function)
-
-    def register_bjam_action (self, action_name, function=None):
-        """Informs self that 'action_name' is declared in bjam.
-
-        From this point, 'action_name' is a valid argument to the
-        set_update_action method. The action_name should be callable
-        in the global module of bjam.
-        """
-
-        # We allow duplicate calls to this rule for the same
-        # action name.  This way, jamfile rules that take action names
-        # can just register them without specially checking if
-        # action is already registered.
-        if not self.actions.has_key(action_name):
-            self.actions[action_name] = BjamNativeAction(action_name, function)
-    
-    # Overridables
-
-
-    def do_set_update_action (self, action_name, targets, sources, property_set):
-        action = self.actions.get(action_name)
-        if not action:
-            raise Exception("No action %s was registered" % action_name)
-        action(targets, sources, property_set)
-
-    def do_set_target_variable (self, target, variable, value, append):
-        if append:
-            bjam_interface.call("set-target-variable", target, variable, value, "true")
-        else:
-            bjam_interface.call("set-target-variable", target, variable, value)
-        
-    def do_add_dependency (self, target, source):
-        bjam_interface.call("DEPENDS", target, source)
-         
-        
diff --git a/SRC/Boost/tools/build/v2/build/errors.py b/SRC/Boost/tools/build/v2/build/errors.py
deleted file mode 100755
index 98b9cdc..0000000
--- a/SRC/Boost/tools/build/v2/build/errors.py
+++ /dev/null
@@ -1,127 +0,0 @@
-# Status: being written afresh by Vladimir Prus
-
-# Copyright 2007 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# This file is supposed to implement error reporting for Boost.Build.
-# Experience with jam version has shown that printing full backtrace
-# on each error is buffling. Further, for errors printed after parsing --
-# during target building, the stacktrace does not even mention what
-# target is being built.
-
-# This module implements explicit contexts -- where other code can
-# communicate which projects/targets are being built, and error
-# messages will show those contexts. For programming errors,
-# Python assertions are to be used.
-
-import bjam
-import traceback
-import sys
-
-def format(message, prefix=""):
-    parts = str(message).split("\n")
-    return "\n".join(prefix+p for p in parts)
-    
-
-class Context:
-
-    def __init__(self, message, nested=None):
-        self.message_ = message
-        self.nested_ = nested
-
-    def report(self, indent=""):
-        print indent + "    -", self.message_
-        if self.nested_:
-            print indent + "        declared at:"
-            for n in self.nested_:
-                n.report(indent + "    ")
-
-class JamfileContext:
-
-    def __init__(self):
-        raw = bjam.backtrace()
-        self.raw_ = raw
-
-    def report(self, indent=""):
-        for r in self.raw_:
-            print indent + "    - %s:%s" % (r[0], r[1])
-
-class ExceptionWithUserContext(Exception):
-
-    def __init__(self, message, context,
-                 original_exception=None, original_tb=None, stack=None):
-        Exception.__init__(self, message)
-        self.context_ = context
-        self.original_exception_ = original_exception
-        self.original_tb_ = original_tb
-        self.stack_ = stack
-
-    def report(self):
-        print "error:", self.args[0]
-        if self.original_exception_:
-            print format(str(self.original_exception_), "    ")
-        print
-        print "    error context (most recent first):"
-        for c in self.context_[::-1]:
-            c.report()
-        print
-        if "--stacktrace" in bjam.variable("ARGV"):
-            if self.original_tb_:
-                traceback.print_tb(self.original_tb_)
-            elif self.stack_:
-                for l in traceback.format_list(self.stack_):
-                    print l,                
-        else:
-            print "    use the '--stacktrace' option to get Python stacktrace"
-        print
-
-def user_error_checkpoint(callable):
-    def wrapper(self, *args):
-        errors = self.manager().errors()
-        try:
-            return callable(self, *args)
-        except ExceptionWithUserContext, e:
-            raise
-        except Exception, e:
-            errors.handle_stray_exception(e)
-        finally:
-            errors.pop_user_context()
-            
-    return wrapper
-                            
-class Errors:
-
-    def __init__(self):
-        self.contexts_ = []
-        self._count = 0
-
-    def count(self):
-        return self._count
-
-    def push_user_context(self, message, nested=None):
-        self.contexts_.append(Context(message, nested))
-
-    def pop_user_context(self):
-        del self.contexts_[-1]
-
-    def push_jamfile_context(self):
-        self.contexts_.append(JamfileContext())
-
-    def pop_jamfile_context(self):
-        del self.contexts_[-1]
-
-    def capture_user_context(self):
-        return self.contexts_[:]
-
-    def handle_stray_exception(self, e):
-        raise ExceptionWithUserContext("unexpected exception", self.contexts_[:],
-                                       e, sys.exc_info()[2])    
-    def __call__(self, message):
-        self._count = self._count + 1
-        raise ExceptionWithUserContext(message, self.contexts_[:], 
-                                       stack=traceback.extract_stack())
-
-        
-
-    
diff --git a/SRC/Boost/tools/build/v2/build/feature.jam b/SRC/Boost/tools/build/v2/build/feature.jam
deleted file mode 100755
index 528505a..0000000
--- a/SRC/Boost/tools/build/v2/build/feature.jam
+++ /dev/null
@@ -1,1335 +0,0 @@
-# Copyright 2001, 2002, 2003 Dave Abrahams
-# Copyright 2002, 2006 Rene Rivera
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import assert : * ;
-import "class" : * ;
-import errors : lol->list ;
-import indirect ;
-import modules ;
-import regex ;
-import sequence ;
-import set ;
-import utility ;
-
-
-local rule setup ( )
-{
-    .all-attributes =
-        implicit
-        composite
-        optional
-        symmetric
-        free
-        incidental
-        path
-        dependency
-        propagated
-        link-incompatible
-        subfeature
-        order-sensitive
-    ;
-
-    .all-features = ;
-    .all-subfeatures = ;
-    .all-top-features = ;  # non-subfeatures
-    .all-implicit-values = ;
-}
-setup ;
-
-
-# Prepare a fresh space to test in by moving all global variable settings into
-# the given temporary module and erasing them here.
-#
-rule prepare-test ( temp-module )
-{
-    DELETE_MODULE $(temp-module) ;
-
-    # Transfer globals to temp-module.
-    for local v in [ VARNAMES feature ]
-    {
-        if [ MATCH (\\.) : $(v) ]
-        {
-            modules.poke $(temp-module) : $(v) : $($(v)) ;
-            $(v) = ;
-        }
-    }
-    setup ;
-}
-
-
-# Clear out all global variables and recover all variables from the given
-# temporary module.
-#
-rule finish-test ( temp-module )
-{
-    # Clear globals.
-    for local v in [ VARNAMES feature ]
-    {
-        if [ MATCH (\\.) : $(v) ]
-        {
-            $(v) = ;
-        }
-    }
-
-    for local v in [ VARNAMES $(temp-module) ]
-    {
-        $(v) = [ modules.peek $(temp-module) : $(v) ] ;
-    }
-    DELETE_MODULE $(temp-module) ;
-}
-
-
-# Transform features by bracketing any elements which are not already bracketed
-# by "<>".
-#
-local rule grist ( features * )
-{
-    local empty = "" ;
-    return $(empty:G=$(features)) ;
-}
-
-
-# Declare a new feature with the given name, values, and attributes.
-#
-rule feature (
-      name          # Feature name.
-    : values *      # Allowable values - may be extended later using feature.extend.
-    : attributes *  # Feature attributes (e.g. implicit, free, propagated...).
-)
-{
-    name = [ grist $(name) ] ;
-
-    local error ;
-
-    # Check for any unknown attributes.
-    if ! ( $(attributes) in $(.all-attributes) )
-    {
-        error = unknown attributes:
-            [ set.difference $(attributes) : $(.all-attributes) ] ;
-    }
-    else if $(name) in $(.all-features)
-    {
-        error = feature already defined: ;
-    }
-    else if implicit in $(attributes) && free in $(attributes)
-    {
-        error = free features cannot also be implicit ;
-    }
-    else if free in $(attributes) && propagated in $(attributes)
-    {
-        error = free features cannot be propagated ;
-    }
-    else
-    {
-        local m = [ MATCH (.*=.*) : $(values) ] ;
-        if $(m[1])
-        {
-            error = "feature value may not contain '='" ;
-        }
-    }
-
-    if $(error)
-    {
-        errors.error $(error)
-              : "in" feature declaration:
-              : feature [ lol->list $(1) : $(2) : $(3) ] ;
-    }
-
-    $(name).values ?= ;
-    $(name).attributes = $(attributes) ;
-    $(name).subfeatures ?= ;
-    $(attributes).features += $(name) ;
-
-    .all-features += $(name) ;
-    if subfeature in $(attributes)
-    {
-        .all-subfeatures += $(name) ;
-    }
-    else
-    {
-        .all-top-features += $(name) ;
-    }
-    extend $(name) : $(values) ;
-}
-
-
-# Sets the default value of the given feature, overriding any previous default.
-#
-rule set-default ( feature : value )
-{
-    local f = [ grist $(feature) ] ;
-    local a = $($(f).attributes) ;
-    local bad-attribute = ;
-    if free in $(a)
-    {
-        bad-attribute = free ;
-    }
-    else if optional in $(a)
-    {
-        bad-attribute = optional ;
-    }
-    if $(bad-attribute)
-    {
-        errors.error "$(bad-attribute) property $(f) cannot have a default." ;
-    }
-    if ! $(value) in $($(f).values)
-    {
-        errors.error "The specified default value, '$(value)' is invalid"
-          : "allowed values are: " $($(f).values) ;
-    }
-    $(f).default = $(value) ;
-}
-
-
-# Returns the default property values for the given features.
-#
-rule defaults ( features * )
-{
-    local result ;
-    for local f in $(features)
-    {
-        local gf = $(:E=:G=$(f)) ;
-        local a = $($(gf).attributes) ;
-        if ( free in $(a) ) || ( optional in $(a) )
-        {
-        }
-        else
-        {
-            result += $(gf)$($(gf).default) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Returns true iff all 'names' elements are valid features.
-#
-rule valid ( names + )
-{
-    if $(names) in $(.all-features)
-    {
-        return true ;
-    }
-}
-
-
-# Returns the attibutes of the given feature.
-#
-rule attributes ( feature )
-{
-    return $($(:E=:G=$(feature)).attributes) ;
-}
-
-
-# Returns the values of the given feature.
-#
-rule values ( feature )
-{
-    return $($(:E=:G=$(feature)).values) ;
-}
-
-
-# Returns true iff 'value-string' is a value-string of an implicit feature.
-#
-rule is-implicit-value ( value-string )
-{
-    local v = [ regex.split $(value-string) - ] ;
-    local failed ;
-    if ! $(v[1]) in $(.all-implicit-values)
-    {
-        failed = true ;
-    }
-    else
-    {
-        local feature = $($(v[1]).implicit-feature) ;
-        for local subvalue in $(v[2-])
-        {
-            if ! [ find-implied-subfeature $(feature) $(subvalue) : $(v[1]) ]
-            {
-                failed = true ;
-            }
-        }
-    }
-
-    if ! $(failed)
-    {
-        return true ;
-    }
-}
-
-
-# Returns the implicit feature associated with the given implicit value.
-#
-rule implied-feature ( implicit-value )
-{
-    local components = [ regex.split $(implicit-value) "-" ] ;
-
-    local feature = $($(components[1]).implicit-feature) ;
-    if ! $(feature)
-    {
-        errors.error \"$(implicit-value)\" is not a value of an implicit feature ;
-        feature = "" ;  # Keep testing happy; it expects a result.
-    }
-    return $(feature) ;
-}
-
-
-local rule find-implied-subfeature ( feature subvalue : value-string ? )
-{
-    # Feature should be of the form <feature-name>.
-    if $(feature) != $(feature:G)
-    {
-        errors.error invalid feature $(feature) ;
-    }
-
-    return $($(feature)$(value-string:E="")<>$(subvalue).subfeature) ;
-}
-
-
-# Given a feature and a value of one of its subfeatures, find the name of the
-# subfeature. If value-string is supplied, looks for implied subfeatures that
-# are specific to that value of feature
-#
-rule implied-subfeature (
-      feature         # The main feature name.
-      subvalue        # The value of one of its subfeatures.
-    : value-string ?  # The value of the main feature.
-)
-{
-    local subfeature = [ find-implied-subfeature $(feature) $(subvalue)
-        : $(value-string) ] ;
-    if ! $(subfeature)
-    {
-        value-string ?= "" ;
-        errors.error \"$(subvalue)\" is not a known subfeature value of
-            $(feature)$(value-string) ;
-    }
-    return $(subfeature) ;
-}
-
-
-# Generate an error if the feature is unknown.
-#
-local rule validate-feature ( feature )
-{
-    if ! $(feature) in $(.all-features)
-    {
-        errors.error unknown feature \"$(feature)\" ;
-    }
-}
-
-
-# Given a feature and its value or just a value corresponding to an implicit
-# feature, returns a property set consisting of all component subfeatures and
-# their values. For example all the following calls:
-#
-#   expand-subfeatures-aux <toolset>gcc-2.95.2-linux-x86
-#   expand-subfeatures-aux gcc-2.95.2-linux-x86
-#
-# return:
-#
-#   <toolset>gcc <toolset-version>2.95.2 <toolset-os>linux <toolset-cpu>x86
-#
-local rule expand-subfeatures-aux (
-      feature ?        # Feature name or empty if value corresponds to an
-                       # implicit property.
-    : value            # Feature value.
-    : dont-validate ?  # If set, no value string validation will be done.
-)
-{
-    if $(feature)
-    {
-        feature = $(feature) ;
-    }
-
-    if ! $(feature)
-    {
-        feature = [ implied-feature $(value) ] ;
-    }
-    else
-    {
-        validate-feature $(feature) ;
-    }
-    if ! $(dont-validate)
-    {
-        validate-value-string $(feature) $(value) ;
-    }
-
-    local components = [ regex.split $(value) "-" ] ;
-
-    # Get the top-level feature's value.
-    local value = $(components[1]:G=) ;
-
-    local result = $(components[1]:G=$(feature)) ;
-
-    local subvalues = $(components[2-]) ;
-    while $(subvalues)
-    {
-        local subvalue = $(subvalues[1]) ;  # Pop the head off of subvalues.
-        subvalues = $(subvalues[2-]) ;
-
-        local subfeature = [ find-implied-subfeature $(feature) $(subvalue) :
-            $(value) ] ;
-
-        # If no subfeature was found reconstitute the value string and use that.
-        if ! $(subfeature)
-        {
-            result = $(components:J=-) ;
-            result = $(result:G=$(feature)) ;
-            subvalues = ;  # Stop looping.
-        }
-        else
-        {
-            local f = [ MATCH ^<(.*)>$ : $(feature) ] ;
-            result += $(subvalue:G=$(f)-$(subfeature)) ;
-        }
-    }
-
-    return $(result) ;
-}
-
-
-# Make all elements of properties corresponding to implicit features explicit,
-# and express all subfeature values as separate properties in their own right.
-# For example, all of the following properties
-#
-#    gcc-2.95.2-linux-x86
-#    <toolset>gcc-2.95.2-linux-x86
-#
-# might expand to
-#
-#   <toolset>gcc <toolset-version>2.95.2 <toolset-os>linux <toolset-cpu>x86
-#
-rule expand-subfeatures (
-    properties *       # Property set with elements of the form
-                       # <feature>value-string or just value-string in the case
-                       # of implicit features.
-    : dont-validate ?
-)
-{
-    local result ;
-    for local p in $(properties)
-    {
-        # Don't expand subfeatures in subfeatures
-        if ! [ MATCH "(:)" : $(p:G) ]
-        {
-            result += [ expand-subfeatures-aux $(p:G) : $(p:G=) : $(dont-validate) ] ;
-        }
-        else
-        {
-            result += $(p) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Helper for extend, below. Handles the feature case.
-#
-local rule extend-feature ( feature : values * )
-{
-    feature = [ grist $(feature) ] ;
-    validate-feature $(feature) ;
-    if implicit in $($(feature).attributes)
-    {
-        for local v in $(values)
-        {
-            if $($(v).implicit-feature)
-            {
-                errors.error $(v) is already associated with the \"$($(v).implicit-feature)\" feature ;
-            }
-            $(v).implicit-feature = $(feature) ;
-        }
-
-        .all-implicit-values += $(values) ;
-    }
-    if ! $($(feature).values)
-    {
-        # This is the first value specified for this feature so make it be the
-        # default.
-        $(feature).default = $(values[1]) ;
-    }
-    $(feature).values += $(values) ;
-}
-
-
-# Checks that value-string is a valid value-string for the given feature.
-#
-rule validate-value-string ( feature value-string )
-{
-    if ! (
-        free in $($(feature).attributes)
-        || ( $(value-string) in $(feature).values )
-    )
-    {
-        local values = $(value-string) ;
-
-        if $($(feature).subfeatures)
-        {
-            if ! ( $(value-string) in $($(feature).values) )
-               && ! ( $(value-string) in $($(feature).subfeatures) ) 
-            {
-                values = [ regex.split $(value-string) - ] ;
-            }
-        }
-
-        if ! ( $(values[1]) in $($(feature).values) ) &&
-
-            # An empty value is allowed for optional features.
-            ( $(values[1]) || ! ( optional in $($(feature).attributes) ) )
-        {
-            errors.error \"$(values[1])\" is not a known value of feature $(feature)
-                : legal values: \"$($(feature).values)\" ;
-        }
-
-        for local v in $(values[2-])
-        {
-            # This will validate any subfeature values in value-string.
-            implied-subfeature $(feature) $(v) : $(values[1]) ;
-        }
-    }
-}
-
-
-# A helper that computes:
-#  * name(s) of module-local variable(s) used to record the correspondence
-#    between subvalue(s) and a subfeature
-#  * value of that variable when such a subfeature/subvalue has been defined and
-# returns a list consisting of the latter followed by the former.
-#
-local rule subvalue-var (
-    feature         # Main feature name.
-    value-string ?  # If supplied, specifies a specific value of the main
-                    # feature for which the subfeature values are valid.
-    : subfeature    # Subfeature name.
-    : subvalues *   # Subfeature values.
-)
-{
-    feature = [ grist $(feature) ] ;
-    validate-feature $(feature) ;
-    if $(value-string)
-    {
-        validate-value-string $(feature) $(value-string) ;
-    }
-
-    local subfeature-name = [ get-subfeature-name $(subfeature) $(value-string) ] ;
-
-    return $(subfeature-name)
-    $(feature)$(value-string:E="")<>$(subvalues).subfeature ;
-}
-
-
-# Extends the given subfeature with the subvalues. If the optional value-string
-# is provided, the subvalues are only valid for the given value of the feature.
-# Thus, you could say that <target-platform>mingw is specific to
-# <toolset>gcc-2.95.2 as follows:
-#
-#       extend-subfeature toolset gcc-2.95.2 : target-platform : mingw ;
-#
-rule extend-subfeature (
-    feature         # The feature whose subfeature is being extended.
-
-    value-string ?  # If supplied, specifies a specific value of the main
-                    # feature for which the new subfeature values are valid.
-
-    : subfeature    # Subfeature name.
-    : subvalues *   # Additional subfeature values.
-)
-{
-    local subfeature-vars = [ subvalue-var $(feature) $(value-string)
-        : $(subfeature) : $(subvalues) ] ;
-
-    local f = [ utility.ungrist [ grist $(feature) ] ] ;
-    extend $(f)-$(subfeature-vars[1]) : $(subvalues) ;
-
-    # Provide a way to get from the given feature or property and subfeature
-    # value to the subfeature name.
-    $(subfeature-vars[2-]) = $(subfeature-vars[1]) ;
-}
-
-
-# Returns true iff the subvalues are valid for the feature. When the optional
-# value-string is provided, returns true iff the subvalues are valid for the
-# given value of the feature.
-#
-rule is-subvalue ( feature : value-string ? : subfeature : subvalue )
-{
-    local subfeature-vars = [ subvalue-var $(feature) $(value-string)
-        : $(subfeature) : $(subvalue) ] ;
-
-    if $($(subfeature-vars[2])) = $(subfeature-vars[1])
-    {
-        return true ;
-    }
-}
-
-
-# Can be called three ways:
-#
-#    1. extend feature : values *
-#    2. extend <feature> subfeature : values *
-#    3. extend <feature>value-string subfeature : values *
-#
-# * Form 1 adds the given values to the given feature.
-# * Forms 2 and 3 add subfeature values to the given feature.
-# * Form 3 adds the subfeature values as specific to the given property
-#   value-string.
-#
-rule extend ( feature-or-property subfeature ? : values * )
-{
-    local feature ;       # If a property was specified this is its feature.
-    local value-string ;  # E.g., the gcc-2.95-2 part of <toolset>gcc-2.95.2.
-
-    # If a property was specified.
-    if $(feature-or-property:G) && $(feature-or-property:G=)
-    {
-        # Extract the feature and value-string, if any.
-        feature = $(feature-or-property:G) ;
-        value-string = $(feature-or-property:G=) ;
-    }
-    else
-    {
-        feature = [ grist $(feature-or-property) ] ;
-    }
-
-    # Dispatch to the appropriate handler.
-    if $(subfeature)
-    {
-        extend-subfeature $(feature) $(value-string) : $(subfeature)
-            : $(values) ;
-    }
-    else
-    {
-        # If no subfeature was specified, we do not expect to see a
-        # value-string.
-        if $(value-string)
-        {
-            errors.error can only specify a property as the first argument when
-                extending a subfeature
-                : usage:
-                : "    extend" feature ":" values...
-                : "  | extend" <feature>value-string subfeature ":" values...
-                ;
-        }
-
-        extend-feature $(feature) : $(values) ;
-    }
-}
-
-
-local rule get-subfeature-name ( subfeature value-string ? )
-{
-    local prefix = $(value-string): ;
-    return $(prefix:E="")$(subfeature) ;
-}
-
-
-# Declares a subfeature.
-#
-rule subfeature (
-    feature         # Root feature that is not a subfeature.
-    value-string ?  # A value-string specifying which feature or subfeature
-                    # values this subfeature is specific to, if any.
-    : subfeature    # The name of the subfeature being declared.
-    : subvalues *   # The allowed values of this subfeature.
-    : attributes *  # The attributes of the subfeature.
-)
-{
-    feature = [ grist $(feature) ] ;
-    validate-feature $(feature) ;
-
-    # Add grist to the subfeature name if a value-string was supplied.
-    local subfeature-name = [ get-subfeature-name $(subfeature) $(value-string) ] ;
-
-    if $(subfeature-name) in $($(feature).subfeatures)
-    {
-        errors.error \"$(subfeature)\" already declared as a subfeature of \"$(feature)\"
-            "specific to "$(value-string) ;
-    }
-    $(feature).subfeatures += $(subfeature-name) ;
-
-    # First declare the subfeature as a feature in its own right.
-    local f = [ utility.ungrist $(feature) ] ;
-    feature $(f)-$(subfeature-name) : $(subvalues) : $(attributes) subfeature ;
-
-    # Now make sure the subfeature values are known.
-    extend-subfeature $(feature) $(value-string) : $(subfeature) : $(subvalues) ;
-}
-
-
-# Set components of the given composite property.
-#
-rule compose ( composite-property : component-properties * )
-{
-    local feature = $(composite-property:G) ;
-    if ! ( composite in [ attributes $(feature) ] )
-    {
-        errors.error "$(feature)" is not a composite feature ;
-    }
-
-    $(composite-property).components ?= ;
-    if $($(composite-property).components)
-    {
-        errors.error components of "$(composite-property)" already set:
-            $($(composite-property).components) ;
-    }
-
-    if $(composite-property) in $(component-properties)
-    {
-        errors.error composite property "$(composite-property)" cannot have itself as a component ;
-    }
-    $(composite-property).components = $(component-properties) ;
-}
-
-
-local rule expand-composite ( property )
-{
-    return $(property)
-        [ sequence.transform expand-composite : $($(property).components) ] ;
-}
-
-
-# Return all values of the given feature specified by the given property set.
-#
-rule get-values ( feature : properties * )
-{
-    local result ;
-
-    feature = $(:E=:G=$(feature)) ;  # Add <> if necessary.
-    for local p in $(properties)
-    {
-        if $(p:G) = $(feature)
-        {
-            # Use MATCH instead of :G= to get the value, in order to preserve
-            # the value intact instead of having bjam treat it as a decomposable
-            # path.
-            result += [ MATCH ">(.*)" : $(p) ] ;
-        }
-    }
-    return $(result) ;
-}
-
-
-rule free-features ( )
-{
-    return $(free.features) ;
-}
-
-
-# Expand all composite properties in the set so that all components are
-# explicitly expressed.
-#
-rule expand-composites ( properties * )
-{
-    local explicit-features = $(properties:G) ;
-    local result ;
-
-    # Now expand composite features.
-    for local p in $(properties)
-    {
-        local expanded = [ expand-composite $(p) ] ;
-
-        for local x in $(expanded)
-        {
-            if ! $(x) in $(result)
-            {
-                local f = $(x:G) ;
-
-                if $(f) in $(free.features)
-                {
-                    result += $(x) ;
-                }
-                else if ! $(x) in $(properties)  # x is the result of expansion
-                {
-                    if ! $(f) in $(explicit-features)  # not explicitly-specified
-                    {
-                        if $(f) in $(result:G)
-                        {
-                            errors.error expansions of composite features result
-                                in conflicting values for $(f)
-                                : values: [ get-values $(f) : $(result) ] $(x:G=)
-                                : one contributing composite property was $(p) ;
-                        }
-                        else
-                        {
-                            result += $(x) ;
-                        }
-                    }
-                }
-                else if $(f) in $(result:G)
-                {
-                    errors.error explicitly-specified values of non-free feature
-                        $(f) conflict :
-                        "existing values:" [ get-values $(f) : $(properties) ] :
-                        "value from expanding " $(p) ":" $(x:G=) ;
-                }
-                else
-                {
-                    result += $(x) ;
-                }
-            }
-        }
-    }
-    return $(result) ;
-}
-
-
-# Return true iff f is an ordinary subfeature of the parent-property's feature,
-# or if f is a subfeature of the parent-property's feature specific to the
-# parent-property's value.
-#
-local rule is-subfeature-of ( parent-property f )
-{
-    if subfeature in $($(f).attributes)
-    {
-        local specific-subfeature = [ MATCH <(.*):(.*)> : $(f) ] ;
-        if $(specific-subfeature)
-        {
-            # The feature has the form <topfeature-topvalue:subfeature>, e.g.
-            # <toolset-msvc:version>.
-            local feature-value = [ split-top-feature $(specific-subfeature[1])
-                ] ;
-            if <$(feature-value[1])>$(feature-value[2]) = $(parent-property)
-            {
-                return true ;
-            }
-        }
-        else
-        {
-            # The feature has the form <topfeature-subfeature>, e.g.
-            # <toolset-version>
-            local top-sub = [ split-top-feature [ utility.ungrist $(f) ] ] ;
-            if $(top-sub[2]) && <$(top-sub[1])> = $(parent-property:G)
-            {
-                return true ;
-            }
-        }
-    }
-}
-
-
-# As for is-subfeature-of but for subproperties.
-#
-local rule is-subproperty-of ( parent-property p )
-{
-    return [ is-subfeature-of $(parent-property) $(p:G) ] ;
-}
-
-
-# Given a property, return the subset of features consisting of all ordinary
-# subfeatures of the property's feature, and all specific subfeatures of the
-# property's feature which are conditional on the property's value.
-#
-local rule select-subfeatures ( parent-property : features * )
-{
-    return [ sequence.filter is-subfeature-of $(parent-property) : $(features) ] ;
-}
-
-
-# As for select-subfeatures but for subproperties.
-#
-local rule select-subproperties ( parent-property : properties * )
-{
-    return [ sequence.filter is-subproperty-of $(parent-property) : $(properties) ] ;
-}
-
-
-# Given a property set which may consist of composite and implicit properties
-# and combined subfeature values, returns an expanded, normalized property set
-# with all implicit features expressed explicitly, all subfeature values
-# individually expressed, and all components of composite properties expanded.
-# Non-free features directly expressed in the input properties cause any values
-# of those features due to composite feature expansion to be dropped. If two
-# values of a given non-free feature are directly expressed in the input, an
-# error is issued.
-#
-rule expand ( properties * )
-{
-    local expanded = [ expand-subfeatures $(properties) ] ;
-    return [ expand-composites $(expanded) ] ;
-}
-
-
-# Helper rule for minimize. Returns true iff property's feature is present in
-# the contents of the variable named by feature-set-var.
-#
-local rule in-features ( feature-set-var property )
-{
-    if $(property:G) in $($(feature-set-var))
-    {
-        return true ;
-    }
-}
-
-
-# Helper rule for minimize. Returns the list with the same properties, but with
-# all subfeatures moved to the end of the list.
-#
-local rule move-subfeatures-to-the-end ( properties * )
-{
-    local x1 ;
-    local x2 ;
-    for local p in $(properties)
-    {
-        if subfeature in $($(p:G).attributes)
-        {
-            x2 += $(p) ;
-        }
-        else
-        {
-            x1 += $(p) ;
-        }
-    }
-    return $(x1) $(x2) ;
-}
-
-
-# Given an expanded property set, eliminate all redundancy: properties that are
-# elements of other (composite) properties in the set will be eliminated.
-# Non-symmetric properties equal to default values will be eliminated unless
-# they override a value from some composite property. Implicit properties will
-# be expressed without feature grist, and sub-property values will be expressed
-# as elements joined to the corresponding main property.
-#
-rule minimize ( properties * )
-{
-    # Precondition checking
-    local implicits = [ set.intersection $(p:G=) : $(p:G) ] ;
-    if $(implicits)
-    {
-        errors.error minimize requires an expanded property set, but
-            \"$(implicits[1])\" appears to be the value of an un-expanded
-            implicit feature ;
-    }
-
-    # Remove properties implied by composite features.
-    local components = $($(properties).components) ;
-    local x = [ set.difference $(properties) : $(components) ] ;
-
-    # Handle subfeatures and implicit features.
-    x = [ move-subfeatures-to-the-end $(x) ] ;
-    local result ;
-    while $(x)
-    {
-        local p fullp = $(x[1]) ;
-        local f = $(p:G) ;
-        local v = $(p:G=) ;
-
-        # Eliminate features in implicit properties.
-        if implicit in [ attributes $(f) ]
-        {
-            p = $(v) ;
-        }
-
-        # Locate all subproperties of $(x[1]) in the property set.
-        local subproperties = [ select-subproperties $(fullp) : $(x) ] ;
-        if $(subproperties)
-        {
-            # Reconstitute the joined property name.
-            local sorted = [ sequence.insertion-sort $(subproperties) ] ;
-            result += $(p)-$(sorted:G="":J=-) ;
-
-            x = [ set.difference $(x[2-]) : $(subproperties) ] ;
-        }
-        else
-        {
-            # Eliminate properties whose value is equal to feature's default,
-            # which are not symmetric and which do not contradict values implied
-            # by composite properties.
-
-            # Since all component properties of composites in the set have been
-            # eliminated, any remaining property whose feature is the same as a
-            # component of a composite in the set must have a non-redundant
-            # value.
-            if $(fullp) != [ defaults $(f) ]
-                || symmetric in [ attributes $(f) ]
-                || $(fullp:G) in $(components:G)
-            {
-                result += $(p) ;
-            }
-
-            x = $(x[2-]) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Combine all subproperties into their parent properties
-#
-# Requires: for every subproperty, there is a parent property. All features are
-# explicitly expressed.
-#
-# This rule probably should not be needed, but build-request.expand-no-defaults
-# is being abused for unintended purposes and it needs help.
-#
-rule compress-subproperties ( properties * )
-{
-    local all-subs ;
-    local matched-subs ;
-    local result ;
-
-    for local p in $(properties)
-    {
-        if ! $(p:G)
-        {
-            # Expecting fully-gristed properties.
-            assert.variable-not-empty p:G ;
-        }
-
-        if ! subfeature in $($(p:G).attributes)
-        {
-            local subs = [ sequence.insertion-sort
-                [ sequence.filter is-subproperty-of $(p) : $(properties) ] ] ;
-
-            matched-subs += $(subs) ;
-
-            local subvalues = -$(subs:G=:J=-) ;
-            subvalues ?= "" ;
-            result += $(p)$(subvalues) ;
-        }
-        else
-        {
-            all-subs += $(p) ;
-        }
-    }
-    assert.result true : set.equal $(all-subs) : $(matched-subs) ;
-    return $(result) ;
-}
-
-
-# Given an ungristed string, finds the longest prefix which is a top-level
-# feature name followed by a dash, and return a pair consisting of the parts
-# before and after that dash. More interesting than a simple split because
-# feature names may contain dashes.
-#
-local rule split-top-feature ( feature-plus )
-{
-    local e = [ regex.split $(feature-plus) - ] ;
-    local f = $(e[1]) ;
-    local v ;
-    while $(e)
-    {
-        if <$(f)> in $(.all-top-features)
-        {
-            v = $(f) $(e[2-]:J=-) ;
-        }
-        e = $(e[2-]) ;
-        f = $(f)-$(e[1]) ;
-    }
-    return $(v) ;
-}
-
-
-# Given a set of properties, add default values for features not represented in
-# the set.
-#
-# Note: if there's an ordinary feature F1 and a composite feature F2 which
-# includes some value for F1 and both feature have default values then the
-# default value of F1 will be added (as opposed to the value in F2). This might
-# not be the right idea, e.g. consider:
-#
-#   feature variant : debug ... ;
-#        <variant>debug : .... <runtime-debugging>on
-#   feature <runtime-debugging> : off on ;
-#
-#   Here, when adding default for an empty property set, we'll get
-#
-#     <variant>debug <runtime_debugging>off
-#
-#   and that's kind of strange.
-#
-rule add-defaults ( properties * )
-{
-    for local v in $(properties:G=)
-    {
-        if $(v) in $(properties)
-        {
-            errors.error add-defaults requires explicitly specified features,
-                but \"$(v)\" appears to be the value of an un-expanded implicit
-                feature ;
-        }
-    }
-    # We don't add default for elements with ":" inside. This catches:
-    # 1. Conditional properties --- we don't want <variant>debug:<define>DEBUG
-    #    to be takes as specified value for <variant>
-    # 2. Free properties with ":" in values. We don't care, since free
-    #    properties don't have defaults.
-    local xproperties = [ MATCH "^([^:]+)$" : $(properties) ] ;
-    local missing-top = [ set.difference $(.all-top-features) : $(xproperties:G) ] ;
-    local more =  [ defaults $(missing-top) ] ;
-    properties += $(more) ;
-    xproperties += $(more) ;
-
-    # Add defaults for subfeatures of features which are present.
-    for local p in $(xproperties)
-    {
-        local s = $($(p:G).subfeatures) ;
-        local f = [ utility.ungrist $(p:G) ] ;
-        local missing-subs = [ set.difference <$(f)-$(s)> : $(properties:G) ] ;
-        properties += [ defaults [ select-subfeatures $(p) : $(missing-subs) ] ] ;
-    }
-
-    return $(properties)  ;
-}
-
-
-# Given a property-set of the form
-#       v1/v2/...vN-1/<fN>vN/<fN+1>vN+1/...<fM>vM
-#
-# Returns
-#       v1 v2 ... vN-1 <fN>vN <fN+1>vN+1 ... <fM>vM
-#
-# Note that vN...vM may contain slashes. This needs to be resilient to the
-# substitution of backslashes for slashes, since Jam, unbidden, sometimes swaps
-# slash direction on NT.
-#
-rule split ( property-set )
-{
-    local pieces = [ regex.split $(property-set) [\\/] ] ;
-    local result ;
-
-    for local x in $(pieces)
-    {
-        if ( ! $(x:G) ) && $(result[-1]:G)
-        {
-            result = $(result[1--2]) $(result[-1])/$(x) ;
-        }
-        else
-        {
-            result += $(x) ;
-        }
-    }
-
-    return $(result) ;
-}
-
-
-# Tests of module feature.
-#
-rule __test__ ( )
-{
-    # Use a fresh copy of the feature module.
-    prepare-test feature-test-temp ;
-
-    import assert ;
-    import errors : try catch ;
-
-    # These are local rules and so must be explicitly reimported into the
-    # testing module.
-    import feature : extend-feature validate-feature select-subfeatures ;
-
-    feature toolset : gcc : implicit ;
-    feature define : : free ;
-    feature runtime-link : dynamic static : symmetric ;
-    feature optimization : on off ;
-    feature variant : debug release profile : implicit composite symmetric ;
-    feature stdlib : native stlport ;
-    feature magic : : free ;
-
-    compose <variant>debug : <define>_DEBUG <optimization>off ;
-    compose <variant>release : <define>NDEBUG <optimization>on ;
-
-    assert.result dynamic static : values <runtime-link> ;
-    assert.result dynamic static : values runtime-link ;
-
-    try ;
-    {
-        compose <variant>profile : <variant>profile ;
-    }
-    catch composite property <variant>profile cannot have itself as a component ;
-
-    extend-feature toolset : msvc metrowerks ;
-    subfeature toolset gcc : version : 2.95.2 2.95.3 2.95.4 3.0 3.0.1 3.0.2 ;
-
-    assert.true is-subvalue toolset : gcc : version : 2.95.3 ;
-    assert.false is-subvalue toolset : gcc : version : 1.1 ;
-
-    assert.false is-subvalue toolset : msvc : version : 2.95.3 ;
-    assert.false is-subvalue toolset : : version : yabba ;
-
-    feature yabba ;
-    subfeature yabba : version : dabba ;
-    assert.true is-subvalue yabba : : version : dabba ;
-
-    subfeature toolset gcc : platform : linux cygwin : optional ;
-
-    assert.result <toolset-gcc:version>
-        : select-subfeatures <toolset>gcc
-        : <toolset-gcc:version>
-          <toolset-msvc:version>
-          <toolset-version>
-          <stdlib> ;
-
-    subfeature stdlib : version : 3 4 : optional ;
-
-    assert.result <stdlib-version>
-        : select-subfeatures <stdlib>native
-        : <toolset-gcc:version>
-          <toolset-msvc:version>
-          <toolset-version>
-          <stdlib-version> ;
-
-    assert.result <toolset>gcc <toolset-gcc:version>3.0.1
-        : expand-subfeatures <toolset>gcc-3.0.1 ;
-
-    assert.result <toolset>gcc <toolset-gcc:version>3.0.1 <toolset-gcc:platform>linux
-        : expand-subfeatures <toolset>gcc-3.0.1-linux ;
-
-    assert.result <toolset>gcc <toolset-gcc:version>3.0.1
-        : expand <toolset>gcc <toolset-gcc:version>3.0.1  ;
-
-    assert.result <define>foo=x-y
-        : expand-subfeatures <define>foo=x-y ;
-
-    assert.result <toolset>gcc <toolset-gcc:version>3.0.1
-        : expand-subfeatures gcc-3.0.1 ;
-
-    assert.result a c e
-        : get-values <x> : <x>a <y>b <x>c <y>d <x>e ;
-
-    assert.result <toolset>gcc <toolset-gcc:version>3.0.1
-        <variant>debug <define>_DEBUG <optimization>on
-        : expand gcc-3.0.1 debug <optimization>on ;
-
-    assert.result <variant>debug <define>_DEBUG <optimization>on
-        : expand debug <optimization>on ;
-
-    assert.result <optimization>on <variant>debug <define>_DEBUG
-        : expand <optimization>on debug ;
-
-    assert.result <runtime-link>dynamic <optimization>on
-        : defaults <runtime-link> <define> <optimization> ;
-
-    # Make sure defaults is resilient to missing grist.
-    assert.result <runtime-link>dynamic <optimization>on
-        : defaults runtime-link define optimization ;
-
-    feature dummy : dummy1 dummy2 ;
-    subfeature dummy : subdummy : x y z : optional ;
-
-    feature fu : fu1 fu2 : optional ;
-    subfeature fu : subfu : x y z : optional ;
-    subfeature fu : subfu2 : q r s ;
-
-    assert.result optional : attributes <fu> ;
-    assert.result optional : attributes fu ;
-
-    assert.result <runtime-link>static <define>foobar <optimization>on
-        <toolset>gcc:<define>FOO <toolset>gcc <variant>debug <stdlib>native
-        <dummy>dummy1 <toolset-gcc:version>2.95.2
-        : add-defaults <runtime-link>static <define>foobar <optimization>on
-          <toolset>gcc:<define>FOO ;
-
-    assert.result <runtime-link>static <define>foobar <optimization>on
-        <toolset>gcc:<define>FOO <fu>fu1 <toolset>gcc <variant>debug
-        <stdlib>native <dummy>dummy1 <fu-subfu2>q <toolset-gcc:version>2.95.2
-        : add-defaults <runtime-link>static <define>foobar <optimization>on
-          <toolset>gcc:<define>FOO <fu>fu1 ;
-
-    set-default <runtime-link> : static ;
-    assert.result <runtime-link>static : defaults <runtime-link> ;
-
-    assert.result gcc-3.0.1 debug <optimization>on
-        : minimize [ expand gcc-3.0.1 debug <optimization>on <stdlib>native ] ;
-
-    assert.result gcc-3.0.1 debug <runtime-link>dynamic
-        : minimize
-          [ expand gcc-3.0.1 debug <optimization>off <runtime-link>dynamic ] ;
-
-    assert.result gcc-3.0.1 debug
-        : minimize [ expand gcc-3.0.1 debug <optimization>off ] ;
-
-    assert.result debug <optimization>on
-        : minimize [ expand debug <optimization>on ] ;
-
-    assert.result gcc-3.0
-        : minimize <toolset>gcc <toolset-gcc:version>3.0 ;
-
-    assert.result gcc-3.0
-        : minimize <toolset-gcc:version>3.0 <toolset>gcc ;
-
-    assert.result <x>y/z <a>b/c <d>e/f
-        : split <x>y/z/<a>b/c/<d>e/f ;
-
-    assert.result <x>y/z <a>b/c <d>e/f
-        : split <x>y\\z\\<a>b\\c\\<d>e\\f ;
-
-    assert.result a b c <d>e/f/g <h>i/j/k
-        : split a/b/c/<d>e/f/g/<h>i/j/k ;
-
-    assert.result a b c <d>e/f/g <h>i/j/k
-        : split a\\b\\c\\<d>e\\f\\g\\<h>i\\j\\k ;
-
-    # Test error checking.
-
-    try ;
-    {
-        expand release <optimization>off <optimization>on ;
-    }
-    catch explicitly-specified values of non-free feature <optimization> conflict ;
-
-    try ;
-    {
-        validate-feature <foobar> ;
-    }
-    catch unknown feature ;
-
-    validate-value-string <toolset> gcc ;
-    validate-value-string <toolset> gcc-3.0.1 ;
-
-    try ;
-    {
-        validate-value-string <toolset> digital_mars ;
-    }
-    catch \"digital_mars\" is not a known value of <toolset> ;
-
-    try ;
-    {
-        feature foobar : : baz ;
-    }
-    catch unknown attributes: baz ;
-
-    feature feature1 ;
-    try ;
-    {
-        feature feature1 ;
-    }
-    catch feature already defined: ;
-
-    try ;
-    {
-        feature feature2 : : free implicit ;
-    }
-    catch free features cannot also be implicit ;
-
-    try ;
-    {
-        feature feature3 : : free propagated ;
-    }
-    catch free features cannot be propagated ;
-
-    try ;
-    {
-        implied-feature lackluster ;
-    }
-    catch \"lackluster\" is not a value of an implicit feature ;
-
-    try ;
-    {
-        implied-subfeature <toolset> 3.0.1 ;
-    }
-    catch \"3.0.1\" is not a known subfeature value of <toolset> ;
-
-    try ;
-    {
-        implied-subfeature <toolset> not-a-version : gcc ;
-    }
-    catch \"not-a-version\" is not a known subfeature value of <toolset>gcc ;
-
-    # Leave a clean copy of the features module behind.
-    finish-test feature-test-temp ;
-}
diff --git a/SRC/Boost/tools/build/v2/build/feature.py b/SRC/Boost/tools/build/v2/build/feature.py
deleted file mode 100755
index 1ffc4e4..0000000
--- a/SRC/Boost/tools/build/v2/build/feature.py
+++ /dev/null
@@ -1,905 +0,0 @@
-# Status: ported, except for unit tests.
-# Base revision: 64488
-#
-# Copyright 2001, 2002, 2003 Dave Abrahams 
-# Copyright 2002, 2006 Rene Rivera 
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import re
-
-from b2.util import utility, bjam_signature
-import b2.util.set
-from b2.util.utility import add_grist, get_grist, ungrist, replace_grist, to_seq
-from b2.exceptions import *
-
-__re_split_subfeatures = re.compile ('<(.*):(.*)>')
-__re_no_hyphen = re.compile ('^([^:]+)$')
-__re_slash_or_backslash = re.compile (r'[\\/]')
-
-class Feature(object):
-
-    # Map from string attribute names to integers bit flags.
-    # This will be initialized after declaration of the class.
-    _attribute_name_to_integer = {}
-
-    def __init__(self, name, values, attributes):
-        self._name = name
-        self._values = values
-        self._default = None
-        self._attributes = 0
-        for a in attributes:
-            self._attributes = self._attributes | Feature._attribute_name_to_integer[a]
-        self._attributes_string_list = attributes
-        self._subfeatures = []
-        self._parent = None
-
-    def name(self):
-        return self._name
-
-    def values(self):
-        return self._values
-
-    def add_values(self, values):
-        self._values.extend(values)
-
-    def attributes(self):
-        return self._attributes
-
-    def set_default(self, value):
-        self._default = value
-
-    def default(self):
-        return self._default
-
-    # FIXME: remove when we fully move to using classes for features/properties
-    def attributes_string_list(self):
-        return self._attributes_string_list
-
-    def subfeatures(self):
-        return self._subfeatures
-
-    def add_subfeature(self, name):
-        self._subfeatures.append(name)
-
-    def parent(self):
-        """For subfeatures, return pair of (parent_feature, value).
-
-        Value may be None if this subfeature is not specific to any
-        value of the parent feature.
-        """
-        return self._parent
-
-    def set_parent(self, feature, value):
-        self._parent = (feature, value)
-
-    def __str__(self):
-        return self._name
-
-    
-def reset ():
-    """ Clear the module state. This is mainly for testing purposes.
-    """
-    global __all_attributes, __all_features, __implicit_features, __composite_properties
-    global __features_with_attributes, __subfeature_from_value, __all_top_features, __free_features
-    global __all_subfeatures
-        
-    # The list with all attribute names.
-    __all_attributes = [ 'implicit',
-                        'composite',
-                        'optional',
-                        'symmetric',
-                        'free',
-                        'incidental',
-                        'path',
-                        'dependency',
-                        'propagated',
-                        'link-incompatible',
-                        'subfeature',
-                        'order-sensitive'
-                       ]
-    i = 1
-    for a in __all_attributes:
-        setattr(Feature, a.upper(), i)
-        Feature._attribute_name_to_integer[a] = i
-        def probe(self, flag=i):
-            return getattr(self, "_attributes") & flag
-        setattr(Feature, a.replace("-", "_"), probe)
-        i = i << 1
-    
-    # A map containing all features. The key is the feature name.
-    # The value is an instance of Feature class.
-    __all_features = {}
-    
-    # All non-subfeatures.
-    __all_top_features = []
-    
-    # Maps valus to the corresponding implicit feature
-    __implicit_features = {}
-    
-    # A map containing all composite properties. The key is a Property instance,
-    # and the value is a list of Property instances
-    __composite_properties = {}
-    
-    __features_with_attributes = {}
-    for attribute in __all_attributes:
-        __features_with_attributes [attribute] = []
-    
-    # Maps a value to the corresponding subfeature name.
-    __subfeature_from_value = {}
-    
-    # All free features
-    __free_features = []
-
-    __all_subfeatures = []
-
-reset ()
-
-def enumerate ():
-    """ Returns an iterator to the features map.
-    """
-    return __all_features.iteritems ()
-
-def get(name):
-    """Return the Feature instance for the specified name.
-
-    Throws if no feature by such name exists
-    """
-    return __all_features[name]
-
-# FIXME: prepare-test/finish-test?
-
- at bjam_signature((["name"], ["values", "*"], ["attributes", "*"]))
-def feature (name, values, attributes = []):
-    """ Declares a new feature with the given name, values, and attributes.
-        name: the feature name
-        values: a sequence of the allowable values - may be extended later with feature.extend
-        attributes: a sequence of the feature's attributes (e.g. implicit, free, propagated, ...)
-    """
-    __validate_feature_attributes (name, attributes)
-
-    feature = Feature(name, [], attributes)
-    __all_features[name] = feature
-    # Temporary measure while we have not fully moved from 'gristed strings'
-    __all_features["<" + name + ">"] = feature
-        
-    for attribute in attributes:
-        __features_with_attributes [attribute].append (name)
-
-    name = add_grist(name)
-        
-    if 'subfeature' in attributes:
-        __all_subfeatures.append(name)
-    else:
-        __all_top_features.append(feature)
-
-    extend (name, values)
-
-    # FIXME: why his is needed.
-    if 'free' in attributes:
-        __free_features.append (name)
-
-    return feature
-
- at bjam_signature((["feature"], ["value"]))
-def set_default (feature, value):
-    """ Sets the default value of the given feature, overriding any previous default.
-        feature: the name of the feature
-        value: the default value to assign
-    """
-    f = __all_features[feature]
-    attributes = f.attributes()
-    bad_attribute = None
-
-    if attributes & Feature.FREE:
-        bad_attribute = "free"
-    elif attributes & Feature.OPTIONAL:
-        bad_attribute = "optional"
-        
-    if bad_attribute:
-        raise InvalidValue ("%s property %s cannot have a default" % (bad_attribute, feature.name()))
-        
-    if not value in f.values():
-        raise InvalidValue ("The specified default value, '%s' is invalid.\n" % value + "allowed values are: %s" % values)
-
-    f.set_default(value)
-
-def defaults(features):
-    """ Returns the default property values for the given features.
-    """
-    # FIXME: should merge feature and property modules.
-    import property
-    
-    result = []
-    for f in features:
-        if not f.free() and not f.optional() and f.default():
-            result.append(property.Property(f, f.default()))
-
-    return result
-
-def valid (names):
-    """ Returns true iff all elements of names are valid features.
-    """
-    def valid_one (name): return __all_features.has_key (name)
-        
-    if isinstance (names, str):
-        return valid_one (names)
-    else:
-        return [ valid_one (name) for name in names ]
-
-def attributes (feature):
-    """ Returns the attributes of the given feature.
-    """
-    return __all_features[feature].attributes_string_list()
-        
-def values (feature):
-    """ Return the values of the given feature.
-    """
-    validate_feature (feature)
-    return __all_features[feature].values()
-
-def is_implicit_value (value_string):
-    """ Returns true iff 'value_string' is a value_string
-    of an implicit feature.
-    """
-
-    if __implicit_features.has_key(value_string):
-        return __implicit_features[value_string]
-    
-    v = value_string.split('-')
-
-    if not __implicit_features.has_key(v[0]):
-        return False
-
-    feature = __implicit_features[v[0]]
-    
-    for subvalue in (v[1:]):
-        if not __find_implied_subfeature(feature, subvalue, v[0]):
-            return False
-            
-    return True
-
-def implied_feature (implicit_value):
-    """ Returns the implicit feature associated with the given implicit value.
-    """
-    components = implicit_value.split('-')
-    
-    if not __implicit_features.has_key(components[0]):
-        raise InvalidValue ("'%s' is not a value of an implicit feature" % implicit_value)
-        
-    return __implicit_features[components[0]]
-
-def __find_implied_subfeature (feature, subvalue, value_string):
-    
-    #if value_string == None: value_string = ''
-
-    if not __subfeature_from_value.has_key(feature) \
-        or not __subfeature_from_value[feature].has_key(value_string) \
-        or not __subfeature_from_value[feature][value_string].has_key (subvalue):
-        return None
-        
-    return __subfeature_from_value[feature][value_string][subvalue]
-
-# Given a feature and a value of one of its subfeatures, find the name
-# of the subfeature. If value-string is supplied, looks for implied
-# subfeatures that are specific to that value of feature
-#  feature             # The main feature name
-#  subvalue            # The value of one of its subfeatures
-#  value-string        # The value of the main feature
-
-def implied_subfeature (feature, subvalue, value_string):
-    result = __find_implied_subfeature (feature, subvalue, value_string)
-    if not result:
-        raise InvalidValue ("'%s' is not a known subfeature value of '%s%s'" % (subvalue, feature, value_string))
-
-    return result
-
-def validate_feature (name):
-    """ Checks if all name is a valid feature. Otherwise, raises an exception.
-    """
-    if not __all_features.has_key(name):
-        raise InvalidFeature ("'%s' is not a valid feature name" % name)
-    else:
-        return __all_features[name]
-
-def valid (names):
-    """ Returns true iff all elements of names are valid features.
-    """
-    def valid_one (name): return __all_features.has_key (name)
-        
-    if isinstance (names, str):
-        return valid_one (names)
-    else:
-        return [ valid_one (name) for name in names ]
-
-# Uses Property
-def __expand_subfeatures_aux (property, dont_validate = False):
-    """ Helper for expand_subfeatures.
-        Given a feature and value, or just a value corresponding to an
-        implicit feature, returns a property set consisting of all component
-        subfeatures and their values. For example:
-        
-          expand_subfeatures <toolset>gcc-2.95.2-linux-x86
-              -> <toolset>gcc <toolset-version>2.95.2 <toolset-os>linux <toolset-cpu>x86
-          equivalent to:
-              expand_subfeatures gcc-2.95.2-linux-x86
-
-        feature:        The name of the feature, or empty if value corresponds to an implicit property
-        value:          The value of the feature.
-        dont_validate:  If True, no validation of value string will be done.
-    """
-    f = property.feature()
-    v = property.value()
-    if not dont_validate:
-        validate_value_string(f, v)
-
-    components = v.split ("-")
-    
-    v = components[0]
-
-    import property
-
-    result = [property.Property(f, components[0])] 
-    
-    subvalues = components[1:]
-
-    while len(subvalues) > 0:
-        subvalue = subvalues [0]    # pop the head off of subvalues
-        subvalues = subvalues [1:]
-        
-        subfeature = __find_implied_subfeature (f, subvalue, v)
-        
-        # If no subfeature was found, reconstitute the value string and use that
-        if not subfeature:
-            return [property.Property(f, '-'.join(components))]
-            
-        result.append(property.Property(subfeature, subvalue))
-    
-    return result
-
-def expand_subfeatures(properties, dont_validate = False):
-    """
-    Make all elements of properties corresponding to implicit features
-    explicit, and express all subfeature values as separate properties
-    in their own right. For example, the property
-    
-       gcc-2.95.2-linux-x86
-    
-    might expand to
-    
-      <toolset>gcc <toolset-version>2.95.2 <toolset-os>linux <toolset-cpu>x86
-
-    properties:     A sequence with elements of the form
-                    <feature>value-string or just value-string in the
-                    case of implicit features.
-  : dont_validate:  If True, no validation of value string will be done.
-    """
-    result = []
-    for p in properties:
-        # Don't expand subfeatures in subfeatures
-        if p.feature().subfeature():
-            result.append (p)
-        else:
-            result.extend(__expand_subfeatures_aux (p, dont_validate))
-
-    return result
-
-
-
-# rule extend was defined as below:
-    # Can be called three ways:
-    #
-    #    1. extend feature : values *
-    #    2. extend <feature> subfeature : values *
-    #    3. extend <feature>value-string subfeature : values *
-    #
-    # * Form 1 adds the given values to the given feature
-    # * Forms 2 and 3 add subfeature values to the given feature
-    # * Form 3 adds the subfeature values as specific to the given
-    #   property value-string.
-    #
-    #rule extend ( feature-or-property subfeature ? : values * )
-#
-# Now, the specific rule must be called, depending on the desired operation:
-#   extend_feature
-#   extend_subfeature
-
-def extend (name, values):
-    """ Adds the given values to the given feature.
-    """
-    name = add_grist (name)
-    __validate_feature (name)
-    feature = __all_features [name]
-
-    if feature.implicit():
-        for v in values:
-            if __implicit_features.has_key(v):
-                raise BaseException ("'%s' is already associated with the feature '%s'" % (v, __implicit_features [v]))
-
-            __implicit_features[v] = feature
-
-    if len (feature.values()) == 0 and len (values) > 0:
-        # This is the first value specified for this feature,
-        # take it as default value
-        feature.set_default(values[0])
-
-    feature.add_values(values)
-
-def validate_value_string (f, value_string):
-    """ Checks that value-string is a valid value-string for the given feature.
-    """
-    if f.free() or value_string in f.values():
-        return
-
-    values = [value_string]
-
-    if f.subfeatures():
-        if not value_string in f.values() and \
-               not value_string in f.subfeatures():
-            values = value_string.split('-')
-
-    # An empty value is allowed for optional features
-    if not values[0] in f.values() and \
-           (values[0] or not f.optional()):
-        raise InvalidValue ("'%s' is not a known value of feature '%s'\nlegal values: '%s'" % (values [0], feature, f.values()))
-
-    for v in values [1:]:
-        # this will validate any subfeature values in value-string
-        implied_subfeature(f, v, values[0])
-
-
-""" Extends the given subfeature with the subvalues.  If the optional
-    value-string is provided, the subvalues are only valid for the given
-    value of the feature. Thus, you could say that
-    <target-platform>mingw is specifc to <toolset>gcc-2.95.2 as follows:
-    
-          extend-subfeature toolset gcc-2.95.2 : target-platform : mingw ;
-
-    feature:        The feature whose subfeature is being extended.
-    
-    value-string:   If supplied, specifies a specific value of the
-                    main feature for which the new subfeature values
-                    are valid.
-    
-    subfeature:     The name of the subfeature.
-    
-    subvalues:      The additional values of the subfeature being defined.
-"""
-def extend_subfeature (feature_name, value_string, subfeature_name, subvalues):
-
-    feature = validate_feature(feature_name)
-    
-    if value_string:
-        validate_value_string(feature, value_string)
-
-    subfeature_name = feature_name + '-' + __get_subfeature_name (subfeature_name, value_string)
-    
-    extend(subfeature_name, subvalues) ;
-    subfeature = __all_features[subfeature_name]
-
-    if value_string == None: value_string = ''
-    
-    if not __subfeature_from_value.has_key(feature):
-        __subfeature_from_value [feature] = {}
-        
-    if not __subfeature_from_value[feature].has_key(value_string):
-        __subfeature_from_value [feature][value_string] = {}
-        
-    for subvalue in subvalues:
-        __subfeature_from_value [feature][value_string][subvalue] = subfeature
-
- at bjam_signature((["feature_name", "value_string", "?"], ["subfeature"],
-                 ["subvalues", "*"], ["attributes", "*"]))
-def subfeature (feature_name, value_string, subfeature, subvalues, attributes = []):
-    """ Declares a subfeature.
-        feature_name:   Root feature that is not a subfeature.
-        value_string:   An optional value-string specifying which feature or
-                        subfeature values this subfeature is specific to,
-                        if any.                
-        subfeature:     The name of the subfeature being declared.
-        subvalues:      The allowed values of this subfeature.
-        attributes:     The attributes of the subfeature.
-    """
-    parent_feature = validate_feature (feature_name)
-    
-    # Add grist to the subfeature name if a value-string was supplied
-    subfeature_name = __get_subfeature_name (subfeature, value_string)
-    
-    if subfeature_name in __all_features[feature_name].subfeatures():
-        message = "'%s' already declared as a subfeature of '%s'" % (subfeature, feature_name)
-        message += " specific to '%s'" % value_string
-        raise BaseException (message)
-
-    # First declare the subfeature as a feature in its own right
-    f = feature (feature_name + '-' + subfeature_name, subvalues, attributes + ['subfeature'])
-    f.set_parent(parent_feature, value_string)
-    
-    parent_feature.add_subfeature(f)
-
-    # Now make sure the subfeature values are known.
-    extend_subfeature (feature_name, value_string, subfeature, subvalues)
-
-
- at bjam_signature((["composite_property_s"], ["component_properties_s", "*"]))
-def compose (composite_property_s, component_properties_s):
-    """ Sets the components of the given composite property.
-
-    All paremeters are <feature>value strings
-    """
-    import property
-
-    component_properties_s = to_seq (component_properties_s)
-    composite_property = property.create_from_string(composite_property_s)
-    f = composite_property.feature()
-
-    if len(component_properties_s) > 0 and isinstance(component_properties_s[0], property.Property):
-        component_properties = component_properties_s
-    else:
-        component_properties = [property.create_from_string(p) for p in component_properties_s]
-                                       
-    if not f.composite():
-        raise BaseException ("'%s' is not a composite feature" % f)
-
-    if __composite_properties.has_key(property):
-        raise BaseException ('components of "%s" already set: %s' % (composite_property, str (__composite_properties[composite_property])))
-
-    if composite_property in component_properties:
-        raise BaseException ('composite property "%s" cannot have itself as a component' % composite_property)
-
-    __composite_properties[composite_property] = component_properties
-
-
-def expand_composite(property):
-    result = [ property ]
-    if __composite_properties.has_key(property):
-        for p in __composite_properties[property]:
-            result.extend(expand_composite(p))
-    return result
-
-
-def get_values (feature, properties):
-    """ Returns all values of the given feature specified by the given property set.
-    """
-    result = []
-    for p in properties:
-        if get_grist (p) == feature:
-            result.append (replace_grist (p, ''))
-    
-    return result
-
-def free_features ():
-    """ Returns all free features.
-    """
-    return __free_features
-
-def expand_composites (properties):
-    """ Expand all composite properties in the set so that all components
-        are explicitly expressed.
-    """
-    explicit_features = set(p.feature() for p in properties)
-
-    result = []
-
-    # now expand composite features
-    for p in properties:
-        expanded = expand_composite(p)
-
-        for x in expanded:
-            if not x in result:
-                f = x.feature()
-
-                if f.free():
-                    result.append (x)
-                elif not x in properties:  # x is the result of expansion
-                    if not f in explicit_features:  # not explicitly-specified
-                        if any(r.feature() == f for r in result):
-                            raise FeatureConflict(
-                                "expansions of composite features result in "
-                                "conflicting values for '%s'\nvalues: '%s'\none contributing composite property was '%s'" %
-                                (f.name(), [r.value() for r in result if r.feature() == f] + [x.value()], p))
-                        else:
-                            result.append (x)
-                elif any(r.feature() == f for r in result):
-                    raise FeatureConflict ("explicitly-specified values of non-free feature '%s' conflict\n"
-                    "existing values: '%s'\nvalue from expanding '%s': '%s'" % (f, 
-                    [r.value() for r in result if r.feature() == f], p, x.value()))
-                else:
-                    result.append (x)
-
-    return result
-
-# Uses Property
-def is_subfeature_of (parent_property, f):
-    """ Return true iff f is an ordinary subfeature of the parent_property's
-        feature, or if f is a subfeature of the parent_property's feature
-        specific to the parent_property's value.
-    """
-    if not f.subfeature():
-        return False
-
-    p = f.parent()
-    if not p:
-        return False
-
-    parent_feature = p[0]
-    parent_value = p[1]
-
-    if parent_feature != parent_property.feature():
-        return False
-
-    if parent_value and parent_value != parent_property.value():
-        return False
-
-    return True
-
-def __is_subproperty_of (parent_property, p):
-    """ As is_subfeature_of, for subproperties.
-    """
-    return is_subfeature_of (parent_property, p.feature())
-
-    
-# Returns true iff the subvalue is valid for the feature.  When the
-# optional value-string is provided, returns true iff the subvalues
-# are valid for the given value of the feature.
-def is_subvalue(feature, value_string, subfeature, subvalue):
-
-    if not value_string:
-        value_string = ''
-
-    if not __subfeature_from_value.has_key(feature):
-        return False
-        
-    if not __subfeature_from_value[feature].has_key(value_string):
-        return False
-        
-    if not __subfeature_from_value[feature][value_string].has_key(subvalue):
-        return False
-
-    if __subfeature_from_value[feature][value_string][subvalue]\
-           != subfeature:
-        return False
-
-    return True
-
-def implied_subfeature (feature, subvalue, value_string):
-    result = __find_implied_subfeature (feature, subvalue, value_string)
-    if not result:
-        raise InvalidValue ("'%s' is not a known subfeature value of '%s%s'" % (subvalue, feature, value_string))
-
-    return result
-
-
-# Uses Property
-def expand (properties):
-    """ Given a property set which may consist of composite and implicit
-        properties and combined subfeature values, returns an expanded,
-        normalized property set with all implicit features expressed
-        explicitly, all subfeature values individually expressed, and all
-        components of composite properties expanded. Non-free features
-        directly expressed in the input properties cause any values of
-        those features due to composite feature expansion to be dropped. If
-        two values of a given non-free feature are directly expressed in the
-        input, an error is issued.
-    """
-    expanded = expand_subfeatures(properties)
-    return expand_composites (expanded)
-    
-# Accepts list of Property objects
-def add_defaults (properties):
-    """ Given a set of properties, add default values for features not
-        represented in the set. 
-        Note: if there's there's ordinary feature F1 and composite feature
-        F2, which includes some value for F1, and both feature have default values,
-        then the default value of F1 will be added, not the value in F2. This might
-        not be right idea: consider
-        
-          feature variant : debug ... ;
-               <variant>debug : .... <runtime-debugging>on
-          feature <runtime-debugging> : off on ;
-          
-          Here, when adding default for an empty property set, we'll get
-        
-            <variant>debug <runtime_debugging>off
-         
-          and that's kind of strange.        
-    """
-    result = [x for x in properties]
-    
-    handled_features = set()
-    for p in properties:
-        # We don't add default for conditional properties.  We don't want
-        # <variant>debug:<define>DEBUG to be takes as specified value for <variant>
-        if not p.condition():
-            handled_features.add(p.feature())
-        
-    missing_top = [f for f in __all_top_features if not f in handled_features]    
-    more = defaults(missing_top)
-    result.extend(more)
-    for p in more:
-        handled_features.add(p.feature())
-       
-    # Add defaults for subfeatures of features which are present
-    for p in result[:]:
-        s = p.feature().subfeatures()
-        more = defaults([s for s in p.feature().subfeatures() if not s in handled_features])
-        for p in more:
-            handled_features.add(p.feature())
-        result.extend(more)
-    
-    return result
-
-def minimize (properties):
-    """ Given an expanded property set, eliminate all redundancy: properties
-        which are elements of other (composite) properties in the set will
-        be eliminated. Non-symmetric properties equal to default values will be
-        eliminated, unless the override a value from some composite property.
-        Implicit properties will be expressed without feature
-        grist, and sub-property values will be expressed as elements joined
-        to the corresponding main property.
-    """    
-    
-    # remove properties implied by composite features
-    components = []
-    for property in properties:
-        if __composite_properties.has_key (property):
-            components.extend(__composite_properties[property])
-    properties = b2.util.set.difference (properties, components)
-    
-    # handle subfeatures and implicit features
-
-    # move subfeatures to the end of the list
-    properties = [p for p in properties if not p.feature().subfeature()] +\
-        [p for p in properties if p.feature().subfeature()]
-    
-    result = []
-    while properties:
-        p = properties[0]
-        f = p.feature()
-        
-        # locate all subproperties of $(x[1]) in the property set
-        subproperties = __select_subproperties (p, properties)
-        
-        if subproperties:
-            # reconstitute the joined property name
-            subproperties.sort ()
-            joined = b2.build.property.Property(p.feature(), p.value() + '-' + '-'.join ([sp.value() for sp in subproperties]))
-            result.append(joined)
-
-            properties = b2.util.set.difference(properties[1:], subproperties)
-
-        else:
-            # eliminate properties whose value is equal to feature's
-            # default and which are not symmetric and which do not
-            # contradict values implied by composite properties.
-            
-            # since all component properties of composites in the set
-            # have been eliminated, any remaining property whose
-            # feature is the same as a component of a composite in the
-            # set must have a non-redundant value.
-            if p.value() != f.default() or f.symmetric():
-                result.append (p)
-                  #\
-                   #or get_grist (fullp) in get_grist (components):
-                   # FIXME: restore above
-                  
-
-            properties = properties[1:]
-
-    return result
-
-
-def split (properties):
-    """ Given a property-set of the form
-        v1/v2/...vN-1/<fN>vN/<fN+1>vN+1/...<fM>vM
-
-    Returns
-        v1 v2 ... vN-1 <fN>vN <fN+1>vN+1 ... <fM>vM
-
-    Note that vN...vM may contain slashes. This is resilient to the
-    substitution of backslashes for slashes, since Jam, unbidden,
-    sometimes swaps slash direction on NT.
-    """
-
-    def split_one (properties):
-        pieces = re.split (__re_slash_or_backslash, properties)
-        result = []
-        
-        for x in pieces:
-            if not get_grist (x) and len (result) > 0 and get_grist (result [-1]):
-                result = result [0:-1] + [ result [-1] + '/' + x ]
-            else:
-                result.append (x)
-        
-        return result
-
-    if isinstance (properties, str):
-        return split_one (properties)
-
-    result = []
-    for p in properties:
-        result += split_one (p)
-    return result
-    
-
-def compress_subproperties (properties):
-    """ Combine all subproperties into their parent properties
-
-        Requires: for every subproperty, there is a parent property.  All
-        features are explicitly expressed.
-        
-        This rule probably shouldn't be needed, but
-        build-request.expand-no-defaults is being abused for unintended
-        purposes and it needs help
-    """
-    result = []
-    matched_subs = set()
-    all_subs = set()
-    for p in properties:
-        f = p.feature()
-        
-        if not f.subfeature():
-            subs = __select_subproperties (p, properties)
-            if subs:
-            
-                matched_subs.update(subs)
-
-                subvalues = '-'.join (sub.value() for sub in subs)
-                result.append(b2.build.property.Property(
-                    p.feature(), p.value() + '-' + subvalues,
-                    p.condition()))
-            else:
-                result.append(p)
-
-        else:
-            all_subs.add(p)
-
-    # TODO: this variables are used just for debugging. What's the overhead?
-    assert all_subs == matched_subs
-
-    return result
-
-######################################################################################
-# Private methods
-
-def __select_subproperties (parent_property, properties):
-    return [ x for x in properties if __is_subproperty_of (parent_property, x) ]
-
-def __get_subfeature_name (subfeature, value_string):
-    if value_string == None: 
-        prefix = ''
-    else:
-        prefix = value_string + ':'
-
-    return prefix + subfeature
-
-
-def __validate_feature_attributes (name, attributes):
-    for attribute in attributes:
-        if not attribute in __all_attributes:
-            raise InvalidAttribute ("unknown attributes: '%s' in feature declaration: '%s'" % (str (b2.util.set.difference (attributes, __all_attributes)), name))
-    
-    if name in __all_features:
-            raise AlreadyDefined ("feature '%s' already defined" % name)
-    elif 'implicit' in attributes and 'free' in attributes:
-        raise InvalidAttribute ("free features cannot also be implicit (in declaration of feature '%s')" % name)
-    elif 'free' in attributes and 'propagated' in attributes:
-        raise InvalidAttribute ("free features cannot also be propagated (in declaration of feature '%s')" % name)
-
-    
-def __validate_feature (feature):
-    """ Generates an error if the feature is unknown.
-    """
-    if not __all_features.has_key (feature):
-        raise BaseException ('unknown feature "%s"' % feature)
-
-
-def __select_subfeatures (parent_property, features):
-    """ Given a property, return the subset of features consisting of all
-        ordinary subfeatures of the property's feature, and all specific
-        subfeatures of the property's feature which are conditional on the
-        property's value.
-    """
-    return [f for f in features if is_subfeature_of (parent_property, f)]
-  
-# FIXME: copy over tests.
diff --git a/SRC/Boost/tools/build/v2/build/generators.jam b/SRC/Boost/tools/build/v2/build/generators.jam
deleted file mode 100755
index 7e18a2f..0000000
--- a/SRC/Boost/tools/build/v2/build/generators.jam
+++ /dev/null
@@ -1,1408 +0,0 @@
-# Copyright Vladimir Prus 2002.
-# Copyright Rene Rivera 2006.
-#
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-# Manages 'generators' --- objects which can do transformation between different
-# target types and contain algorithm for finding transformation from sources to
-# targets.
-#
-# The main entry point to this module is generators.construct rule. It is given
-# a list of source targets, desired target type and a set of properties. It
-# starts by selecting 'viable generators', which have any chances of producing
-# the desired target type with the required properties. Generators are ranked
-# and a set of the most specific ones is selected.
-#
-# The most specific generators have their 'run' methods called, with the
-# properties and list of sources. Each one selects a target which can be
-# directly consumed, and tries to convert the remaining ones to the types it can
-# consume. This is done by recursively calling 'construct' with all consumable
-# types.
-#
-# If the generator has collected all the targets it needs, it creates targets
-# corresponding to result, and returns it. When all generators have been run,
-# results of one of them are selected and returned as a result.
-#
-# It is quite possible for 'construct' to return more targets that it was asked
-# for. For example, if it were asked to generate a target of type EXE, but the
-# only found generator produces both EXE and TDS (file with debug) information.
-# The extra target will be returned.
-#
-# Likewise, when generator tries to convert sources to consumable types, it can
-# get more targets that it was asked for. The question is what to do with extra
-# targets. Boost.Build attempts to convert them to requested types, and attempts
-# that as early as possible. Specifically, this is done after invoking each
-# generator. TODO: An example is needed to document the rationale for trying
-# extra target conversion at that point.
-#
-# In order for the system to be able to use a specific generator instance 'when
-# needed', the instance needs to be registered with the system using
-# generators.register() or one of its related rules. Unregistered generators may
-# only be run explicitly and will not be considered by Boost.Build when when
-# converting between given target types.
-
-import "class" : new ;
-import errors ;
-import property-set ;
-import sequence ;
-import set ;
-import type ;
-import utility ;
-import virtual-target ;
-
-
-if "--debug-generators" in [ modules.peek : ARGV ]
-{
-    .debug = true ;
-}
-
-
-# Updated cached viable source target type information as needed after a new
-# target type gets defined. This is needed because if a target type is a viable
-# source target type for some generator then all of the target type's derived
-# target types should automatically be considered as viable source target types
-# for the same generator as well. Does nothing if a non-derived target type is
-# passed to it.
-#
-rule update-cached-information-with-a-new-type ( type )
-{
-    local base-type = [ type.base $(type) ] ;
-    if $(base-type)
-    {
-        for local g in $(.vstg-cached-generators)
-        {
-            if $(base-type) in $(.vstg.$(g))
-            {
-                .vstg.$(g) += $(type) ;
-            }
-        }
-
-        for local t in $(.vst-cached-types)
-        {
-            if $(base-type) in $(.vst.$(t))
-            {
-                .vst.$(t) += $(type) ;
-            }
-        }
-    }
-}
-
-
-# Clears cached viable source target type information except for target types
-# and generators with all source types listed as viable. Should be called when
-# something invalidates those cached values by possibly causing some new source
-# types to become viable.
-#
-local rule invalidate-extendable-viable-source-target-type-cache ( )
-{
-    local generators-with-cached-source-types = $(.vstg-cached-generators) ;
-    .vstg-cached-generators = ;
-    for local g in $(generators-with-cached-source-types)
-    {
-        if $(.vstg.$(g)) = *
-        {
-            .vstg-cached-generators += $(g) ;
-        }
-        else
-        {
-            .vstg.$(g) = ;
-        }
-    }
-
-    local types-with-cached-source-types = $(.vst-cached-types) ;
-    .vst-cached-types = ;
-    for local t in $(types-with-cached-source-types)
-    {
-        if $(.vst.$(t)) = *
-        {
-            .vst-cached-types += $(t) ;
-        }
-        else
-        {
-            .vst.$(t) = ;
-        }
-    }
-}
-
-
-# Outputs a debug message if generators debugging is on. Each element of
-# 'message' is checked to see if it is a class instance. If so, instead of the
-# value, the result of 'str' call is output.
-#
-local rule generators.dout ( message * )
-{
-    if $(.debug)
-    {
-        ECHO [ sequence.transform utility.str : $(message) ] ;
-    }
-}
-
-
-local rule indent ( )
-{
-    return $(.indent:J="") ;
-}
-
-
-local rule increase-indent ( )
-{
-    .indent += "    " ;
-}
-
-
-local rule decrease-indent ( )
-{
-    .indent = $(.indent[2-]) ;
-}
-
-
-# Models a generator.
-#
-class generator
-{
-    import generators : indent increase-indent decrease-indent generators.dout ;
-    import set ;
-    import utility ;
-    import feature ;
-    import errors ;
-    import sequence ;
-    import type ;
-    import virtual-target ;
-    import "class" : new ;
-    import property ;
-    import path ;
-
-    EXPORT class at generator : indent increase-indent decrease-indent
-        generators.dout ;
-
-    rule __init__ (
-        id                          # Identifies the generator - should be name
-                                    # of the rule which sets up the build
-                                    # actions.
-
-        composing ?                 # Whether generator processes each source
-                                    # target in turn, converting it to required
-                                    # types. Ordinary generators pass all
-                                    # sources together to the recursive
-                                    # generators.construct-types call.
-
-        : source-types *            # Types that this generator can handle. If
-                                    # empty, the generator can consume anything.
-
-        : target-types-and-names +  # Types the generator will create and,
-                                    # optionally, names for created targets.
-                                    # Each element should have the form
-                                    # type["(" name-pattern ")"], for example,
-                                    # obj(%_x). Generated target name will be
-                                    # found by replacing % with the name of
-                                    # source, provided an explicit name was not
-                                    # specified.
-
-        : requirements *
-    )
-    {
-        self.id = $(id) ;
-        self.rule-name = $(id) ;
-        self.composing = $(composing) ;
-        self.source-types = $(source-types) ;
-        self.target-types-and-names = $(target-types-and-names) ;
-        self.requirements = $(requirements) ;
-
-        for local e in $(target-types-and-names)
-        {
-            # Create three parallel lists: one with the list of target types,
-            # and two other with prefixes and postfixes to be added to target
-            # name. We use parallel lists for prefix and postfix (as opposed to
-            # mapping), because given target type might occur several times, for
-            # example "H H(%_symbols)".
-            local m = [ MATCH ([^\\(]*)(\\((.*)%(.*)\\))? : $(e) ] ;
-            self.target-types += $(m[1]) ;
-            self.name-prefix += $(m[3]:E="") ;
-            self.name-postfix += $(m[4]:E="") ;
-        }
-
-        # Note that 'transform' here, is the same as 'for_each'.
-        sequence.transform type.validate : $(self.source-types) ;
-        sequence.transform type.validate : $(self.target-types) ;
-    }
-
-    ################# End of constructor #################
-
-    rule id ( )
-    {
-        return $(self.id) ;
-    }
-
-    # Returns the list of target type the generator accepts.
-    #
-    rule source-types ( )
-    {
-        return $(self.source-types) ;
-    }
-
-    # Returns the list of target types that this generator produces. It is
-    # assumed to be always the same -- i.e. it can not change depending on some
-    # provided list of sources.
-    #
-    rule target-types ( )
-    {
-        return $(self.target-types) ;
-    }
-
-    # Returns the required properties for this generator. Properties in returned
-    # set must be present in build properties if this generator is to be used.
-    # If result has grist-only element, that build properties must include some
-    # value of that feature.
-    #
-    # XXX: remove this method?
-    #
-    rule requirements ( )
-    {
-        return $(self.requirements) ;
-    }
-    
-    rule set-rule-name ( rule-name )
-    {
-        self.rule-name = $(rule-name) ;
-    }
-    
-    rule rule-name ( )
-    {
-        return $(self.rule-name) ;
-    }
-        
-    # Returns a true value if the generator can be run with the specified
-    # properties.
-    #
-    rule match-rank ( property-set-to-match )
-    {
-        # See if generator requirements are satisfied by 'properties'. Treat a
-        # feature name in requirements (i.e. grist-only element), as matching
-        # any value of the feature.
-        local all-requirements = [ requirements ] ;
-
-        local property-requirements feature-requirements ;
-        for local r in $(all-requirements)
-        {
-            if $(r:G=)
-            {
-                property-requirements += $(r) ;
-            }
-            else
-            {
-                feature-requirements += $(r) ;
-            }
-        }
-
-        local properties-to-match = [ $(property-set-to-match).raw ] ;
-        if $(property-requirements) in $(properties-to-match) &&
-            $(feature-requirements) in $(properties-to-match:G)
-        {
-            return true ;
-        }
-        else
-        {
-            return ;
-        }
-    }
-
-    # Returns another generator which differs from $(self) in
-    #   - id
-    #   - value to <toolset> feature in properties
-    #
-    rule clone ( new-id : new-toolset-properties + )
-    {
-        local g = [ new $(__class__) $(new-id) $(self.composing) :
-            $(self.source-types) : $(self.target-types-and-names) :
-            # Note: this does not remove any subfeatures of <toolset> which
-            # might cause problems.
-            [ property.change $(self.requirements) : <toolset> ]
-            $(new-toolset-properties) ] ;       
-        return $(g) ;
-    }
-
-    # Creates another generator that is the same as $(self), except that if
-    # 'base' is in target types of $(self), 'type' will in target types of the
-    # new generator.
-    #
-    rule clone-and-change-target-type ( base : type )
-    {
-        local target-types ;
-        for local t in $(self.target-types-and-names)
-        {
-            local m = [ MATCH ([^\\(]*)(\\(.*\\))? : $(t) ] ;
-            if $(m) = $(base)
-            {
-                target-types += $(type)$(m[2]:E="") ;
-            }
-            else
-            {
-                target-types += $(t) ;
-            }
-        }
-
-        local g = [ new $(__class__) $(self.id) $(self.composing) :
-            $(self.source-types) : $(target-types) : $(self.requirements) ] ;
-        if $(self.rule-name)
-        {            
-            $(g).set-rule-name $(self.rule-name) ;
-        }        
-        return $(g) ;        
-    }
-
-    # Tries to invoke this generator on the given sources. Returns a list of
-    # generated targets (instances of 'virtual-target') and optionally a set of
-    # properties to be added to the usage-requirements for all the generated
-    # targets. Returning nothing from run indicates that the generator was
-    # unable to create the target.
-    #
-    rule run
-    (
-        project         # Project for which the targets are generated.
-        name ?          # Used when determining the 'name' attribute for all
-                        # generated targets. See the 'generated-targets' method.
-        : property-set  # Desired properties for generated targets.
-        : sources +     # Source targets.
-    )
-    {
-        generators.dout [ indent ] "  ** generator" $(self.id) ;
-        generators.dout [ indent ] "  composing:" $(self.composing) ;
-
-        if ! $(self.composing) && $(sources[2]) && $(self.source-types[2])
-        {
-            errors.error "Unsupported source/source-type combination" ;
-        }
-
-        # We do not run composing generators if no name is specified. The reason
-        # is that composing generator combines several targets, which can have
-        # different names, and it cannot decide which name to give for produced
-        # target. Therefore, the name must be passed.
-        #
-        # This in effect, means that composing generators are runnable only at
-        # the top-level of a transformation graph, or if their name is passed
-        # explicitly. Thus, we dissallow composing generators in the middle. For
-        # example, the transformation CPP -> OBJ -> STATIC_LIB -> RSP -> EXE
-        # will not be allowed as the OBJ -> STATIC_LIB generator is composing.
-        if ! $(self.composing) || $(name)
-        {
-            run-really $(project) $(name) : $(property-set) : $(sources) ;
-        }
-    }
-
-    rule run-really ( project name ? : property-set : sources + )
-    {
-        # Targets that this generator will consume directly.
-        local consumed = ;
-        # Targets that can not be consumed and will be returned as-is.
-        local bypassed = ;
-
-        if $(self.composing)
-        {
-            convert-multiple-sources-to-consumable-types $(project)
-                : $(property-set) : $(sources) : consumed bypassed ;
-        }
-        else
-        {
-            convert-to-consumable-types $(project) $(name) : $(property-set)
-                : $(sources) : : consumed bypassed ;
-        }
-
-        local result ;
-        if $(consumed)
-        {
-            result = [ construct-result $(consumed) : $(project) $(name) :
-                $(property-set) ] ;
-        }
-
-        if $(result)
-        {
-            generators.dout [ indent ] "  SUCCESS: " $(result) ;
-        }
-        else
-        {
-            generators.dout [ indent ] "  FAILURE" ;
-        }
-        generators.dout ;
-        return $(result) ;
-    }
-
-    # Constructs the dependency graph to be returned by this generator.
-    #
-    rule construct-result
-    (
-        consumed +        # Already prepared list of consumable targets.
-                          # Composing generators may receive multiple sources
-                          # all of which will have types matching those in
-                          # $(self.source-types). Non-composing generators with
-                          # multiple $(self.source-types) will receive exactly
-                          # len $(self.source-types) sources with types matching
-                          # those in $(self.source-types). And non-composing
-                          # generators with only a single source type may
-                          # receive multiple sources with all of them of the
-                          # type listed in $(self.source-types).
-        : project name ?
-        : property-set    # Properties to be used for all actions created here.
-    )
-    {
-        local result ;
-        # If this is 1->1 transformation, apply it to all consumed targets in
-        # order.
-        if ! $(self.source-types[2]) && ! $(self.composing)
-        {
-            for local r in $(consumed)
-            {
-                result += [ generated-targets $(r) : $(property-set) :
-                    $(project) $(name) ] ;
-            }
-        }
-        else if $(consumed)
-        {
-            result += [ generated-targets $(consumed) : $(property-set) :
-                $(project) $(name) ] ;
-        }
-        return $(result) ;
-    }
-
-    # Determine target name from fullname (maybe including path components)
-    # Place optional prefix and postfix around basename
-    #
-    rule determine-target-name ( fullname  : prefix ? : postfix ? )
-    {
-        # See if we need to add directory to the target name.
-        local dir  = $(fullname:D) ;            
-        local name = $(fullname:B) ; 
-        
-        name = $(prefix:E=)$(name) ;
-        name = $(name)$(postfix:E=) ;
-
-        if $(dir) && 
-          # Never append '..' to target path.
-          ! [ MATCH .*(\\.\\.).* : $(dir) ] 
-            && 
-          ! [ path.is-rooted $(dir) ]
-        {
-            # Relative path is always relative to the source
-            # directory. Retain it, so that users can have files
-            # with the same in two different subdirectories.
-            name = $(dir)/$(name) ;                
-        }            
-        return $(name) ;
-    }
-
-    # Determine the name of the produced target from the names of the sources.
-    #
-    rule determine-output-name ( sources + )
-    {
-        # The simple case if when a name of source has single dot. Then, we take
-        # the part before dot. Several dots can be caused by:
-        #   - using source file like a.host.cpp, or
-        #   - a type whose suffix has a dot. Say, we can type 'host_cpp' with
-        #     extension 'host.cpp'.
-        # In the first case, we want to take the part up to the last dot. In the
-        # second case -- not sure, but for now take the part up to the last dot
-        # too.
-        name = [ utility.basename [ $(sources[1]).name ] ] ;
-
-        for local s in $(sources[2])
-        {
-            local n2 = [ utility.basename [ $(s).name ] ] ;
-            if $(n2) != $(name)
-            {
-                errors.error "$(self.id): source targets have different names: cannot determine target name" ;
-            }
-        }
-        name = [ determine-target-name [ $(sources[1]).name ] ] ;
-        return $(name) ;
-    }
-
-    # Constructs targets that are created after consuming 'sources'. The result
-    # will be the list of virtual-target, which has the same length as the
-    # 'target-types' attribute and with corresponding types.
-    #
-    # When 'name' is empty, all source targets must have the same 'name'
-    # attribute value, which will be used instead of the 'name' argument.
-    #
-    # The 'name' attribute value for each generated target will be equal to
-    # the 'name' parameter if there is no name pattern for this type. Otherwise,
-    # the '%' symbol in the name pattern will be replaced with the 'name'
-    # parameter to obtain the 'name' attribute.
-    #
-    # For example, if targets types are T1 and T2 (with name pattern "%_x"),
-    # suffixes for T1 and T2 are .t1 and .t2, and source is foo.z, then created
-    # files would be "foo.t1" and "foo_x.t2". The 'name' attribute actually
-    # determines the basename of a file.
-    #
-    # Note that this pattern mechanism has nothing to do with implicit patterns
-    # in make. It is a way to produce a target whose name is different than the
-    # name of its source.
-    #
-    rule generated-targets ( sources + : property-set : project name ? )
-    {
-        if ! $(name)
-        {
-            name = [ determine-output-name $(sources) ] ;
-        }
-
-        # Assign an action for each target.
-        local action = [ action-class ] ;
-        local a = [ class.new $(action) $(sources) : $(self.rule-name) :
-                    $(property-set) ] ;
-
-        # Create generated target for each target type.
-        local targets ;
-        local pre = $(self.name-prefix) ;
-        local post = $(self.name-postfix) ;
-        for local t in $(self.target-types)
-        {
-            local generated-name = $(pre[1])$(name:BS)$(post[1]) ;
-            generated-name = $(generated-name:R=$(name:D)) ;
-            pre = $(pre[2-]) ;
-            post = $(post[2-]) ;
-
-            targets += [ class.new file-target $(generated-name) : $(t) :
-                $(project) : $(a) ] ;
-        }
-
-        return [ sequence.transform virtual-target.register : $(targets) ] ;
-    }
-
-    # Attempts to convert 'sources' to targets of types that this generator can
-    # handle. The intention is to produce the set of targets that can be used
-    # when the generator is run.
-    #
-    rule convert-to-consumable-types
-    (
-        project name ?
-        : property-set
-        : sources +
-        : only-one ?    # Convert 'source' to only one of the source types. If
-                        # there is more that one possibility, report an error.
-        : consumed-var  # Name of the variable which receives all targets which
-                        # can be consumed.
-          bypassed-var  # Name of the variable which receives all targets which
-                        # can not be consumed.
-    )
-    {
-        # We are likely to be passed 'consumed' and 'bypassed' var names. Use
-        # '_' to avoid name conflicts.
-        local _consumed ;
-        local _bypassed ;
-        local missing-types ;
-
-        if $(sources[2])
-        {
-            # Do not know how to handle several sources yet. Just try to pass
-            # the request to other generator.
-            missing-types = $(self.source-types) ;
-        }
-        else
-        {
-            consume-directly $(sources) : _consumed : missing-types ;
-        }
-
-        # No need to search for transformation if some source type has consumed
-        # source and no more source types are needed.
-        if $(only-one) && $(_consumed)
-        {
-            missing-types = ;
-        }
-
-        # TODO: we should check that only one source type if create of
-        # 'only-one' is true.
-        # TODO: consider if consumed/bypassed separation should be done by
-        # 'construct-types'.
-
-        if $(missing-types)
-        {
-            local transformed = [ generators.construct-types $(project) $(name)
-                : $(missing-types) : $(property-set) : $(sources) ] ;
-
-            # Add targets of right type to 'consumed'. Add others to 'bypassed'.
-            # The 'generators.construct' rule has done its best to convert
-            # everything to the required type. There is no need to rerun it on
-            # targets of different types.
-
-            # NOTE: ignoring usage requirements.
-            for local t in $(transformed[2-])
-            {
-                if [ $(t).type ] in $(missing-types)
-                {
-                    _consumed += $(t) ;
-                }
-                else
-                {
-                    _bypassed += $(t) ;
-                }
-            }
-        }
-
-        _consumed = [ sequence.unique $(_consumed) ] ;
-        _bypassed = [ sequence.unique $(_bypassed) ] ;
-
-        # Remove elements of '_bypassed' that are in '_consumed'.
-
-        # Suppose the target type of current generator, X is produced from X_1
-        # and X_2, which are produced from Y by one generator. When creating X_1
-        # from Y, X_2 will be added to 'bypassed'. Likewise, when creating X_2
-        # from Y, X_1 will be added to 'bypassed', but they are also in
-        # 'consumed'. We have to remove them from bypassed, so that generators
-        # up the call stack do not try to convert them.
-
-        # In this particular case, X_1 instance in 'consumed' and X_1 instance
-        # in 'bypassed' will be the same: because they have the same source and
-        # action name, and 'virtual-target.register' will not allow two
-        # different instances. Therefore, it is OK to use 'set.difference'.
-
-        _bypassed = [ set.difference $(_bypassed) : $(_consumed) ] ;
-
-        $(consumed-var) += $(_consumed) ;
-        $(bypassed-var) += $(_bypassed) ;
-    }
-
-    # Converts several files to consumable types. Called for composing
-    # generators only.
-    #
-    rule convert-multiple-sources-to-consumable-types ( project : property-set :
-        sources * : consumed-var bypassed-var )
-    {
-        # We process each source one-by-one, trying to convert it to a usable
-        # type.
-        for local source in $(sources)
-        {
-            local _c ;
-            local _b ;
-            # TODO: need to check for failure on each source.
-            convert-to-consumable-types $(project) : $(property-set) : $(source)
-                : true : _c _b ;
-            if ! $(_c)
-            {
-                generators.dout [ indent ] " failed to convert " $(source) ;
-            }
-            $(consumed-var) += $(_c) ;
-            $(bypassed-var) += $(_b) ;
-        }
-    }
-
-    rule consume-directly ( source : consumed-var : missing-types-var )
-    {
-        local real-source-type = [ $(source).type ] ;
-
-        # If there are no source types, we can consume anything.
-        local source-types = $(self.source-types) ;
-        source-types ?= $(real-source-type) ;
-
-        for local st in $(source-types)
-        {
-            # The 'source' if of the right type already.
-            if $(real-source-type) = $(st) || [ type.is-derived
-                $(real-source-type) $(st) ]
-            {
-                $(consumed-var) += $(source) ;
-            }
-            else
-            {
-                $(missing-types-var) += $(st) ;
-            }
-        }
-    }
-
-    # Returns the class to be used to actions. Default implementation returns
-    # "action".
-    #
-    rule action-class ( )
-    {
-        return "action" ;
-    }
-}
-
-
-# Registers a new generator instance 'g'.
-#
-rule register ( g )
-{
-    .all-generators += $(g) ;
-        
-    # A generator can produce several targets of the same type. We want unique
-    # occurrence of that generator in .generators.$(t) in that case, otherwise,
-    # it will be tried twice and we will get a false ambiguity.
-    for local t in [ sequence.unique [ $(g).target-types ] ]
-    {
-        .generators.$(t) += $(g) ;
-    }
-
-    # Update the set of generators for toolset.
-
-    # TODO: should we check that generator with this id is not already
-    # registered. For example, the fop.jam module intentionally declared two
-    # generators with the same id, so such check will break it.
-    local id = [ $(g).id ] ;
-
-    # Some generators have multiple periods in their name, so a simple $(id:S=)
-    # will not generate the right toolset name. E.g. if id = gcc.compile.c++,
-    # then .generators-for-toolset.$(id:S=) will append to
-    # .generators-for-toolset.gcc.compile, which is a separate value from
-    # .generators-for-toolset.gcc. Correcting this makes generator inheritance
-    # work properly. See also inherit-generators in the toolset module.
-    local base = $(id) ;
-    while $(base:S)
-    {
-        base = $(base:B) ;
-    }
-    .generators-for-toolset.$(base) += $(g) ;
-
-
-    # After adding a new generator that can construct new target types, we need
-    # to clear the related cached viable source target type information for
-    # constructing a specific target type or using a specific generator. Cached
-    # viable source target type lists affected by this are those containing any
-    # of the target types constructed by the new generator or any of their base
-    # target types.
-    #
-    # A more advanced alternative to clearing that cached viable source target
-    # type information would be to expand it with additional source types or
-    # even better - mark it as needing to be expanded on next use.
-    #
-    # Also see the http://thread.gmane.org/gmane.comp.lib.boost.build/19077
-    # mailing list thread for an even more advanced idea of how we could convert
-    # Boost Build's Jamfile processing, target selection and generator selection
-    # into separate steps which would prevent these caches from ever being
-    # invalidated.
-    #
-    # For now we just clear all the cached viable source target type information
-    # that does not simply state 'all types' and may implement a more detailed
-    # algorithm later on if it becomes needed.
-
-    invalidate-extendable-viable-source-target-type-cache ;
-}
-
-
-# Creates a new non-composing 'generator' class instance and registers it.
-# Returns the created instance. Rationale: the instance is returned so that it
-# is possible to first register a generator and then call its 'run' method,
-# bypassing the whole generator selection process.
-#
-rule register-standard ( id : source-types * : target-types + : requirements * )
-{
-    local g = [ new generator $(id) : $(source-types) : $(target-types) :
-        $(requirements) ] ;
-    register $(g) ;
-    return $(g) ;
-}
-
-
-# Creates a new composing 'generator' class instance and registers it.
-#
-rule register-composing ( id : source-types * : target-types + : requirements *
-    )
-{
-    local g = [ new generator $(id) true : $(source-types) : $(target-types) :
-        $(requirements) ] ;
-    register $(g) ;
-    return $(g) ;
-}
-
-
-# Returns all generators belonging to the given 'toolset', i.e. whose ids are
-# '$(toolset).<something>'.
-#
-rule generators-for-toolset ( toolset )
-{
-    return $(.generators-for-toolset.$(toolset)) ;
-}
-
-
-# Make generator 'overrider-id' be preferred to 'overridee-id'. If, when
-# searching for generators that could produce a target of a certain type, both
-# those generators are among viable generators, the overridden generator is
-# immediately discarded.
-#
-# The overridden generators are discarded immediately after computing the list
-# of viable generators but before running any of them.
-#
-rule override ( overrider-id : overridee-id )
-{
-    .override.$(overrider-id) += $(overridee-id) ;
-}
-
-
-# Returns a list of source type which can possibly be converted to 'target-type'
-# by some chain of generator invocation.
-#
-# More formally, takes all generators for 'target-type' and returns a union of
-# source types for those generators and result of calling itself recursively on
-# source types.
-#
-# Returns '*' in case any type should be considered a viable source type for the
-# given type.
-#
-local rule viable-source-types-real ( target-type )
-{
-    local result ;
-
-    # 't0' is the initial list of target types we need to process to get a list
-    # of their viable source target types. New target types will not be added to
-    # this list.
-    local t0 = [ type.all-bases $(target-type) ] ;
-
-    # 't' is the list of target types which have not yet been processed to get a
-    # list of their viable source target types. This list will get expanded as
-    # we locate more target types to process.
-    local t = $(t0) ;
-
-    while $(t)
-    {
-        # Find all generators for the current type. Unlike
-        # 'find-viable-generators' we do not care about the property-set.
-        local generators = $(.generators.$(t[1])) ;
-        t = $(t[2-]) ;
-
-        while $(generators)
-        {
-            local g = $(generators[1]) ;
-            generators = $(generators[2-]) ;
-
-            if ! [ $(g).source-types ]
-            {
-                # Empty source types -- everything can be accepted.
-                result = * ;
-                # This will terminate this loop.
-                generators = ;
-                # This will terminate the outer loop.
-                t = ;
-            }
-
-            for local source-type in [ $(g).source-types ]
-            {
-                if ! $(source-type) in $(result)
-                {
-                    # If a generator accepts a 'source-type' it will also
-                    # happily accept any type derived from it.
-                    for local n in [ type.all-derived $(source-type) ]
-                    {
-                        if ! $(n) in $(result)
-                        {
-                            # Here there is no point in adding target types to
-                            # the list of types to process in case they are or
-                            # have already been on that list. We optimize this
-                            # check by realizing that we only need to avoid the
-                            # original target type's base types. Other target
-                            # types that are or have been on the list of target
-                            # types to process have been added to the 'result'
-                            # list as well and have thus already been eliminated
-                            # by the previous if.
-                            if ! $(n) in $(t0)
-                            {
-                                t += $(n) ;
-                            }
-                            result += $(n) ;
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    return $(result) ;
-}
-
-
-# Helper rule, caches the result of 'viable-source-types-real'.
-#
-rule viable-source-types ( target-type )
-{
-    local key = .vst.$(target-type) ;
-    if ! $($(key))
-    {
-        .vst-cached-types += $(target-type) ;
-        local v = [ viable-source-types-real $(target-type) ] ;
-        if ! $(v)
-        {
-            v = none ;
-        }
-        $(key) = $(v) ;
-    }
-
-    if $($(key)) != none
-    {
-        return $($(key)) ;
-    }
-}
-
-
-# Returns the list of source types, which, when passed to 'run' method of
-# 'generator', has some change of being eventually used (probably after
-# conversion by other generators).
-#
-# Returns '*' in case any type should be considered a viable source type for the
-# given generator.
-#
-rule viable-source-types-for-generator-real ( generator )
-{
-    local source-types = [ $(generator).source-types ] ;
-    if ! $(source-types)
-    {
-        # If generator does not specify any source types, it might be a special
-        # generator like builtin.lib-generator which just relays to other
-        # generators. Return '*' to indicate that any source type is possibly
-        # OK, since we do not know for sure.
-        return * ;
-    }
-    else
-    {
-        local result ;
-        while $(source-types)
-        {
-            local s = $(source-types[1]) ;
-            source-types = $(source-types[2-]) ;
-            local viable-sources = [ generators.viable-source-types $(s) ] ;
-            if $(viable-sources) = *
-            {
-                result = * ;
-                source-types = ;  # Terminate the loop.
-            }
-            else
-            {
-                result += [ type.all-derived $(s) ] $(viable-sources) ;
-            }
-        }
-        return [ sequence.unique $(result) ] ;
-    }
-}
-
-
-# Helper rule, caches the result of 'viable-source-types-for-generator'.
-#
-local rule viable-source-types-for-generator ( generator )
-{
-    local key = .vstg.$(generator) ;
-    if ! $($(key))
-    {
-        .vstg-cached-generators += $(generator) ;
-        local v = [ viable-source-types-for-generator-real $(generator) ] ;
-        if ! $(v)
-        {
-            v = none ;
-        }
-        $(key) = $(v) ;
-    }
-
-    if $($(key)) != none
-    {
-        return $($(key)) ;
-    }
-}
-
-
-# Returns usage requirements + list of created targets.
-#
-local rule try-one-generator-really ( project name ? : generator : target-type
-    : property-set : sources * )
-{
-    local targets =
-        [ $(generator).run $(project) $(name) : $(property-set) : $(sources) ] ;
-
-    local usage-requirements ;
-    local success ;
-
-    generators.dout [ indent ] returned $(targets) ;
-
-    if $(targets)
-    {
-        success = true ;
-
-        if  [ class.is-a $(targets[1]) : property-set ]
-        {
-            usage-requirements = $(targets[1]) ;
-            targets = $(targets[2-]) ;
-        }
-        else
-        {
-            usage-requirements = [ property-set.empty ] ;
-        }
-    }
-
-    generators.dout [ indent ] "  generator" [ $(generator).id ] " spawned " ;
-    generators.dout [ indent ] " " $(targets) ;
-    if $(usage-requirements)
-    {
-        generators.dout [ indent ] "  with usage requirements:" $(x) ;
-    }
-
-    if $(success)
-    {
-        return $(usage-requirements) $(targets) ;
-    }
-}
-
-
-# Checks if generator invocation can be pruned, because it is guaranteed to
-# fail. If so, quickly returns an empty list. Otherwise, calls
-# try-one-generator-really.
-#
-local rule try-one-generator ( project name ? : generator : target-type
-    : property-set : sources * )
-{
-    local source-types ;
-    for local s in $(sources)
-    {
-        source-types += [ $(s).type ] ;
-    }
-    local viable-source-types = [ viable-source-types-for-generator $(generator)
-        ] ;
-
-    if  $(source-types) && $(viable-source-types) != * &&
-        ! [ set.intersection $(source-types) : $(viable-source-types) ]
-    {
-        local id = [ $(generator).id ] ;
-        generators.dout [ indent ] "  ** generator '$(id)' pruned" ;
-        #generators.dout [ indent ] "source-types" '$(source-types)' ;
-        #generators.dout [ indent ] "viable-source-types" '$(viable-source-types)' ;
-    }
-    else
-    {
-        return [ try-one-generator-really $(project) $(name) : $(generator) :
-            $(target-type) : $(property-set) : $(sources) ] ;
-    }
-}
-
-
-rule construct-types ( project name ? : target-types + : property-set
-    : sources + )
-{
-    local result ;
-    local matched-types ;
-    local usage-requirements = [ property-set.empty ] ;
-    for local t in $(target-types)
-    {
-        local r = [ construct $(project) $(name) : $(t) : $(property-set) :
-            $(sources) ] ;
-        if $(r)
-        {
-            usage-requirements = [ $(usage-requirements).add $(r[1]) ] ;
-            result += $(r[2-]) ;
-            matched-types += $(t) ;
-        }
-    }
-    # TODO: have to introduce parameter controlling if several types can be
-    # matched and add appropriate checks.
-
-    # TODO: need to review the documentation for 'construct' to see if it should
-    # return $(source) even if nothing can be done with it. Currents docs seem
-    # to imply that, contrary to the behaviour.
-    if $(result)
-    {
-        return $(usage-requirements) $(result) ;
-    }
-    else
-    {
-        return $(usage-requirements) $(sources) ;
-    }
-}
-
-
-# Ensures all 'targets' have their type. If this is not so, exists with error.
-#
-local rule ensure-type ( targets * )
-{
-    for local t in $(targets)
-    {
-        if ! [ $(t).type ]
-        {
-            errors.error "target" [ $(t).str ] "has no type" ;
-        }
-    }
-}
-
-
-# Returns generators which can be used to construct target of specified type
-# with specified properties. Uses the following algorithm:
-# - iterates over requested target-type and all its bases (in the order returned
-#   by type.all-bases).
-# - for each type find all generators that generate that type and whose
-#   requirements are satisfied by properties.
-# - if the set of generators is not empty, returns that set.
-#
-# Note: this algorithm explicitly ignores generators for base classes if there
-# is at least one generator for the requested target-type.
-#
-local rule find-viable-generators-aux ( target-type : property-set )
-{
-    # Select generators that can create the required target type.
-    local viable-generators = ;
-    local generator-rank = ;
-
-    import type ;
-    local t = [ type.all-bases $(target-type) ] ;
-
-    generators.dout [ indent ] find-viable-generators target-type= $(target-type)
-        property-set= [ $(property-set).as-path ] ;
-
-    # Get the list of generators for the requested type. If no generator is
-    # registered, try base type, and so on.
-    local generators ;
-    while $(t[1])
-    {
-        generators.dout [ indent ] "trying type" $(t[1]) ;
-        if $(.generators.$(t[1]))
-        {
-            generators.dout [ indent ] "there are generators for this type" ;
-            generators = $(.generators.$(t[1])) ;
-
-            if $(t[1]) != $(target-type)
-            {
-                # We are here because there were no generators found for
-                # target-type but there are some generators for its base type.
-                # We will try to use them, but they will produce targets of
-                # base type, not of 'target-type'. So, we clone the generators
-                # and modify the list of target types.
-                local generators2 ;
-                for local g in $(generators)
-                {
-                    # generators.register adds a generator to the list of
-                    # generators for toolsets, which is a bit strange, but
-                    # should work. That list is only used when inheriting a
-                    # toolset, which should have been done before running
-                    # generators.
-                    generators2 += [ $(g).clone-and-change-target-type $(t[1]) :
-                        $(target-type) ] ;
-                    generators.register $(generators2[-1]) ;
-                }
-                generators = $(generators2) ;
-            }
-            t = ;
-        }
-        t = $(t[2-]) ;
-    }
-
-    for local g in $(generators)
-    {
-        generators.dout [ indent ] "trying generator" [ $(g).id ] "(" [ $(g).source-types ] -> [ $(g).target-types ] ")" ;
-
-        local m = [ $(g).match-rank $(property-set) ] ;
-        if $(m)
-        {
-            generators.dout [ indent ] "  is viable" ;
-            viable-generators += $(g) ;
-        }
-    }
-
-    return $(viable-generators) ;
-}
-
-
-rule find-viable-generators ( target-type : property-set )
-{
-    local key = $(target-type).$(property-set) ;
-    local l = $(.fv.$(key)) ;
-    if ! $(l)
-    {
-        l = [ find-viable-generators-aux $(target-type) : $(property-set) ] ;
-        if ! $(l)
-        {
-            l = none ;
-        }
-        .fv.$(key) = $(l) ;
-    }
-
-    if $(l) = none
-    {
-        l = ;
-    }
-
-    local viable-generators ;
-    for local g in $(l)
-    {
-        # Avoid trying the same generator twice on different levels.
-        if ! $(g) in $(.active-generators)
-        {
-            viable-generators += $(g) ;
-        }
-        else
-        {
-            generators.dout [ indent ] "   generator " [ $(g).id ] "is active, discaring" ;
-        }        
-    }
-
-    # Generators which override 'all'.
-    local all-overrides ;
-    # Generators which are overriden.
-    local overriden-ids ;
-    for local g in $(viable-generators)
-    {
-        local id = [ $(g).id ] ;
-        local this-overrides = $(.override.$(id)) ;
-        overriden-ids += $(this-overrides) ;
-        if all in $(this-overrides)
-        {
-            all-overrides += $(g) ;
-        }
-    }
-    if $(all-overrides)
-    {
-        viable-generators = $(all-overrides) ;
-    }
-    local result ;
-    for local g in $(viable-generators)
-    {
-        if ! [ $(g).id ] in $(overriden-ids)
-        {
-            result += $(g) ;
-        }
-    }
-
-    return $(result) ;
-}
-
-
-.construct-stack = ;
-
-
-# Attempts to construct a target by finding viable generators, running them and
-# selecting the dependency graph.
-#
-local rule construct-really ( project name ? : target-type : property-set :
-    sources * )
-{
-    viable-generators = [ find-viable-generators $(target-type) :
-        $(property-set) ] ;
-
-    generators.dout [ indent ] "*** " [ sequence.length $(viable-generators) ]
-        " viable generators" ;
-
-    local result ;
-    local generators-that-succeeded ;
-    for local g in $(viable-generators)
-    {
-        # This variable will be restored on exit from this scope.
-        local .active-generators = $(g) $(.active-generators) ;
-
-        local r = [ try-one-generator $(project) $(name) : $(g) : $(target-type)
-            : $(property-set) : $(sources) ] ;
-
-        if $(r)
-        {
-            generators-that-succeeded += $(g) ;
-            if $(result)
-            {
-                ECHO "Error: ambiguity found when searching for best transformation" ;
-                ECHO "Trying to produce type '$(target-type)' from: " ;
-                for local s in $(sources)
-                {
-                    ECHO " - " [ $(s).str ] ;
-                }
-                ECHO "Generators that succeeded:" ;
-                for local g in $(generators-that-succeeded)
-                {
-                    ECHO " - " [ $(g).id ] ;
-                }
-                ECHO "First generator produced: " ;
-                for local t in $(result[2-])
-                {
-                    ECHO " - " [ $(t).str ] ;
-                }
-                ECHO "Second generator produced: " ;
-                for local t in $(r[2-])
-                {
-                    ECHO " - " [ $(t).str ] ;
-                }
-                EXIT ;
-            }
-            else
-            {
-                result = $(r) ;
-            }
-        }
-    }
-
-    return $(result) ;
-}
-
-
-# Attempts to create a target of 'target-type' with 'properties' from 'sources'.
-# The 'sources' are treated as a collection of *possible* ingridients, i.e.
-# there is no obligation to consume them all.
-#
-# Returns a list of targets. When this invocation is first instance of
-# 'construct' in stack, returns only targets of requested 'target-type',
-# otherwise, returns also unused sources and additionally generated targets.
-#
-# If 'top-level' is set, does not suppress generators that are already
-# used in the stack. This may be useful in cases where a generator
-# has to build a metatargets -- for example a target corresponding to
-# built tool.
-#
-rule construct ( project name ? : target-type : property-set * : sources * : top-level ? )
-{
-    local saved-stack ;
-    if $(top-level)
-    {
-        saved-active = $(.active-generators) ;
-        .active-generators = ;
-    }
-        
-    if (.construct-stack)
-    {
-        ensure-type $(sources) ;
-    }
-
-    .construct-stack += 1 ;
-
-    increase-indent ;
-
-    if $(.debug)
-    {
-        generators.dout [ indent ] "*** construct" $(target-type) ;
-
-        for local s in $(sources)
-        {
-            generators.dout [ indent ] "    from" $(s) ;
-        }
-        generators.dout [ indent ] "    properties:" [ $(property-set).raw ] ;
-    }
-
-    local result = [ construct-really $(project) $(name) : $(target-type) :
-        $(property-set) : $(sources) ] ;
-
-    decrease-indent ;
-
-    .construct-stack = $(.construct-stack[2-]) ;
-    
-    if $(top-level)
-    {
-        .active-generators = $(saved-active) ;
-    }
-
-    return $(result) ;
-}
-
-# Given 'result', obtained from some generator or generators.construct, adds
-# 'raw-properties' as usage requirements to it. If result already contains usage
-# requirements -- that is the first element of result of an instance of the
-# property-set class, the existing usage requirements and 'raw-properties' are
-# combined.
-#
-rule add-usage-requirements ( result * : raw-properties * )
-{
-    if $(result)
-    {
-        if [ class.is-a $(result[1]) : property-set ]
-        {
-            return [ $(result[1]).add-raw $(raw-properties) ] $(result[2-]) ;
-        }
-        else
-        {
-            return [ property-set.create $(raw-properties) ] $(result) ;
-        }
-    }
-}
-
-rule dump ( )
-{
-    for local g in $(.all-generators)
-    {
-        ECHO [ $(g).id ] ":" [ $(g).source-types ] -> [ $(g).target-types ] ;            
-    }    
-}
-
diff --git a/SRC/Boost/tools/build/v2/build/generators.py b/SRC/Boost/tools/build/v2/build/generators.py
deleted file mode 100755
index 66a38c6..0000000
--- a/SRC/Boost/tools/build/v2/build/generators.py
+++ /dev/null
@@ -1,1089 +0,0 @@
-# Status: being ported by Vladimir Prus
-# Base revision: 48649
-# TODO: replace the logging with dout
-
-# Copyright Vladimir Prus 2002.
-# Copyright Rene Rivera 2006.
-#
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-#  Manages 'generators' --- objects which can do transformation between different
-#  target types and contain algorithm for finding transformation from sources
-#  to targets.
-#
-#  The main entry point to this module is generators.construct rule. It is given
-#  a list of source targets, desired target type and a set of properties.
-#  It starts by selecting 'viable generators', which have any chances of producing
-#  the desired target type with the required properties. Generators are ranked and
-#  a set of most specific ones is selected.
-# 
-#  The most specific generators have their 'run' methods called, with the properties
-#  and list of sources. Each one selects target which can be directly consumed, and
-#  tries to convert the remaining ones to the types it can consume. This is done
-#  by recursively calling 'construct' with all consumable types.
-#
-#  If the generator has collected all the targets it needs, it creates targets 
-#  corresponding to result, and returns it. When all generators have been run,
-#  results of one of them are selected and returned as result.
-#
-#  It's quite possible that 'construct' returns more targets that it was asked for.
-#  For example, it was asked to target type EXE, but the only found generators produces
-#  both EXE and TDS (file with debug) information. The extra target will be returned.
-#
-#  Likewise, when generator tries to convert sources to consumable types, it can get
-#  more targets that it was asked for. The question is what to do with extra targets.
-#  Boost.Build attempts to convert them to requested types, and attempts as early as
-#  possible. Specifically, this is done after invoking each generator. (Later I'll 
-#  document the rationale for trying extra target conversion at that point).
-#
-#  That early conversion is not always desirable. Suppose a generator got a source of
-#  type Y and must consume one target of type X_1 and one target of type X_2.
-#  When converting Y to X_1 extra target of type Y_2 is created. We should not try to
-#  convert it to type X_1, because if we do so, the generator will get two targets
-#  of type X_1, and will be at loss as to which one to use. Because of that, the
-#  'construct' rule has a parameter, telling if multiple targets can be returned. If
-#  the parameter is false, conversion of extra targets is not performed.
-
-
-import re
-import cStringIO
-import os.path
-
-from virtual_target import Subvariant
-import virtual_target, type, property_set, property
-from b2.util.logger import *
-from b2.util.utility import *
-from b2.util import set
-from b2.util.sequence import unique
-import b2.util.sequence as sequence
-from b2.manager import get_manager
-import b2.build.type
-
-def reset ():
-    """ Clear the module state. This is mainly for testing purposes.
-    """
-    global __generators, __type_to_generators, __generators_for_toolset, __construct_stack
-    global __overrides, __active_generators
-    global __viable_generators_cache, __viable_source_types_cache
-    global __vstg_cached_generators, __vst_cached_types
-
-    __generators = {}
-    __type_to_generators = {}
-    __generators_for_toolset = {}
-    __overrides = {}
-    
-    # TODO: can these be global? 
-    __construct_stack = []
-    __viable_generators_cache = {}
-    __viable_source_types_cache = {}
-    __active_generators = []
-
-    __vstg_cached_generators = []
-    __vst_cached_types = []
-
-reset ()
-
-_re_separate_types_prefix_and_postfix = re.compile ('([^\\(]*)(\\((.*)%(.*)\\))?')
-_re_match_type = re.compile('([^\\(]*)(\\(.*\\))?')
-
-
-__debug = None
-__indent = ""
-
-def debug():
-    global __debug
-    if __debug is None:
-        __debug = "--debug-generators" in bjam.variable("ARGV")        
-    return __debug
-
-def increase_indent():
-    global __indent
-    __indent += "    "
-
-def decrease_indent():
-    global __indent
-    __indent = __indent[0:-4]
-
-
-# Updated cached viable source target type information as needed after a new
-# derived target type gets added. This is needed because if a target type is a
-# viable source target type for some generator then all of the target type's
-# derived target types are automatically viable as source target types for the
-# same generator. Does nothing if a non-derived target type is passed to it.
-#
-def update_cached_information_with_a_new_type(type):
-
-    base_type = b2.build.type.base(type)
-
-    if base_type:
-        for g in __vstg_cached_generators:
-            if base_type in __viable_source_types_cache.get(g, []):
-                __viable_source_types_cache[g].append(type)
-
-        for t in __vst_cached_types:
-            if base_type in __viable_source_types_cache.get(t, []):
-                __viable_source_types_cache[t].append(type)
-
-# Clears cached viable source target type information except for target types
-# and generators with all source types listed as viable. Should be called when
-# something invalidates those cached values by possibly causing some new source
-# types to become viable.
-#
-def invalidate_extendable_viable_source_target_type_cache():
-
-    global __vstg_cached_generators
-    generators_with_cached_source_types = __vstg_cached_generators
-    __vstg_cached_generators = []
-
-    for g in generators_with_cached_source_types:
-        if __viable_source_types_cache.has_key(g):
-            if __viable_source_types_cache[g] == ["*"]:
-                __vstg_cached_generators.append(g)
-            else:
-                del __viable_source_types_cache[g]
-
-    global __vst_cached_types
-    types_with_cached_sources_types = __vst_cached_types
-    __vst_cached_types = []
-    for t in types_with_cached_sources_types:
-        if __viable_source_types_cache.has_key(t):
-            if __viable_source_types_cache[t] == ["*"]:
-                __vst_cached_types.append(t)
-            else:
-                del __viable_source_types_cache[t]
- 
-def dout(message):
-    if debug():
-        print __indent + message
-
-class Generator:
-    """ Creates a generator.
-            manager:                 the build manager.
-            id:                      identifies the generator
-            
-            rule:                    the rule which sets up build actions.
-
-            composing:               whether generator processes each source target in
-                                     turn, converting it to required types.
-                                     Ordinary generators pass all sources together to
-                                     recusrive generators.construct_types call.
-
-            source_types (optional): types that this generator can handle
-    
-            target_types_and_names:  types the generator will create and, optionally, names for
-                                     created targets. Each element should have the form
-                                         type["(" name-pattern ")"]
-                                     for example, obj(%_x). Name of generated target will be found
-                                     by replacing % with the name of source, provided explicit name
-                                     was not specified.
-    
-            requirements (optional)
-            
-            NOTE: all subclasses must have a similar signature for clone to work!
-    """
-    def __init__ (self, id, composing, source_types, target_types_and_names, requirements = []):
-        assert(not isinstance(source_types, str))
-        assert(not isinstance(target_types_and_names, str))
-        self.id_ = id
-        self.composing_ = composing
-        self.source_types_ = source_types
-        self.target_types_and_names_ = target_types_and_names
-        self.requirements_ = requirements
-        
-        self.target_types_ = []
-        self.name_prefix_ = []
-        self.name_postfix_ = []
-        
-        for e in target_types_and_names:
-            # Create three parallel lists: one with the list of target types,
-            # and two other with prefixes and postfixes to be added to target 
-            # name. We use parallel lists for prefix and postfix (as opposed
-            # to mapping), because given target type might occur several times,
-            # for example "H H(%_symbols)".
-            m = _re_separate_types_prefix_and_postfix.match (e)
-            
-            if not m:
-                raise BaseException ("Invalid type and name '%s' in declaration of type '%s'" % (e, id))
-            
-            target_type = m.group (1)
-            if not target_type: target_type = ''
-            prefix = m.group (3)
-            if not prefix: prefix = ''
-            postfix = m.group (4)
-            if not postfix: postfix = ''
-            
-            self.target_types_.append (target_type)
-            self.name_prefix_.append (prefix)
-            self.name_postfix_.append (postfix)
-
-        for x in self.source_types_:
-            type.validate (x)
-
-        for x in self.target_types_:
-            type.validate (x)
-
-    def clone (self, new_id, new_toolset_properties):
-        """ Returns another generator which differers from $(self) in
-              - id
-              - value to <toolset> feature in properties
-        """
-        return self.__class__ (new_id, 
-                               self.composing_, 
-                               self.source_types_, 
-                               self.target_types_and_names_,
-                               # Note: this does not remove any subfeatures of <toolset>
-                               # which might cause problems
-                               property.change (self.requirements_, '<toolset>') + new_toolset_properties)
-
-    def clone_and_change_target_type(self, base, type):
-        """Creates another generator that is the same as $(self), except that
-        if 'base' is in target types of $(self), 'type' will in target types
-        of the new generator."""
-        target_types = []
-        for t in self.target_types_and_names_:
-            m = _re_match_type.match(t)
-            assert m
-            
-            if m.group(1) == base:
-                if m.group(2):
-                    target_types.append(type + m.group(2))
-                else:
-                    target_types.append(type)
-            else:
-                target_types.append(t)
-
-        return self.__class__(self.id_, self.composing_,
-                              self.source_types_,
-                              target_types,
-                              self.requirements_)
-                              
-
-    def id(self):
-        return self.id_
-
-    def source_types (self):
-        """ Returns the list of target type the generator accepts.
-        """
-        return self.source_types_
-
-    def target_types (self):
-        """ Returns the list of target types that this generator produces.
-            It is assumed to be always the same -- i.e. it cannot change depending
-            list of sources.    
-        """
-        return self.target_types_
-
-    def requirements (self):
-        """ Returns the required properties for this generator. Properties
-            in returned set must be present in build properties if this 
-            generator is to be used. If result has grist-only element,
-            that build properties must include some value of that feature.
-        """
-        return self.requirements_
-
-    def match_rank (self, ps):
-        """ Returns true if the generator can be run with the specified 
-            properties.
-        """
-        # See if generator's requirements are satisfied by
-        # 'properties'.  Treat a feature name in requirements
-        # (i.e. grist-only element), as matching any value of the
-        # feature.
-        all_requirements = self.requirements ()
-        
-        property_requirements = []
-        feature_requirements = []
-        # This uses strings because genenator requirements allow
-        # the '<feature>' syntax without value and regular validation
-        # is not happy about that.
-        for r in all_requirements:
-            if get_value (r):
-                property_requirements.append (r)
-
-            else:
-                feature_requirements.append (r)
-                
-        return all(ps.get(get_grist(s)) == [get_value(s)] for s in property_requirements) \
-               and all(ps.get(get_grist(s)) for s in feature_requirements)
-        
-    def run (self, project, name, prop_set, sources):
-        """ Tries to invoke this generator on the given sources. Returns a
-            list of generated targets (instances of 'virtual-target').
-
-            project:        Project for which the targets are generated.
-            
-            name:           Determines the name of 'name' attribute for 
-                            all generated targets. See 'generated_targets' method.
-                            
-            prop_set:       Desired properties for generated targets.
-            
-            sources:        Source targets.
-        """
-        
-        if project.manager ().logger ().on ():
-            project.manager ().logger ().log (__name__, "  generator '%s'" % self.id_)
-            project.manager ().logger ().log (__name__, "  composing: '%s'" % self.composing_)
-        
-        if not self.composing_ and len (sources) > 1 and len (self.source_types_) > 1:
-            raise BaseException ("Unsupported source/source_type combination")
-                
-        # We don't run composing generators if no name is specified. The reason
-        # is that composing generator combines several targets, which can have
-        # different names, and it cannot decide which name to give for produced
-        # target. Therefore, the name must be passed.
-        #
-        # This in effect, means that composing generators are runnable only
-        # at top-level of transofrmation graph, or if name is passed explicitly.
-        # Thus, we dissallow composing generators in the middle. For example, the
-        # transofrmation CPP -> OBJ -> STATIC_LIB -> RSP -> EXE won't be allowed 
-        # (the OBJ -> STATIC_LIB generator is composing)
-        if not self.composing_ or name:
-            return self.run_really (project, name, prop_set, sources)
-        else:
-            return []
-
-    def run_really (self, project, name, prop_set, sources):
-
-        # consumed: Targets that this generator will consume directly.
-        # bypassed: Targets that can't be consumed and will be returned as-is.
-        
-        if self.composing_:
-            (consumed, bypassed) = self.convert_multiple_sources_to_consumable_types (project, prop_set, sources)
-        else:
-            (consumed, bypassed) = self.convert_to_consumable_types (project, name, prop_set, sources)
-                
-        result = []
-        if consumed:
-            result = self.construct_result (consumed, project, name, prop_set)
-            result.extend (bypassed)
-
-        if result:
-            if project.manager ().logger ().on ():
-                project.manager ().logger ().log (__name__, "  SUCCESS: ", result)
-
-        else:
-                project.manager ().logger ().log (__name__, "  FAILURE")
-
-        return result
-
-    def construct_result (self, consumed, project, name, prop_set):
-        """ Constructs the dependency graph that will be returned by this 
-            generator.
-                consumed:        Already prepared list of consumable targets
-                                 If generator requires several source files will contain 
-                                 exactly len $(self.source_types_) targets with matching types
-                                 Otherwise, might contain several targets with the type of 
-                                 self.source_types_ [0]
-                project:
-                name:
-                prop_set:        Properties to be used for all actions create here
-        """
-        result = []
-        # If this is 1->1 transformation, apply it to all consumed targets in order.
-        if len (self.source_types_) < 2 and not self.composing_:
-
-            for r in consumed:
-                result.extend (self.generated_targets ([r], prop_set, project, name))
-
-        else:
-
-            if consumed:
-                result.extend (self.generated_targets (consumed, prop_set, project, name))
-
-        return result
-
-    def determine_target_name(self, fullname):
-        # Determine target name from fullname (maybe including path components)
-        # Place optional prefix and postfix around basename
-
-        dir = os.path.dirname(fullname)
-        name = os.path.basename(fullname)
-
-        if dir and not ".." in dir and not os.path.isabs(dir):
-            # Relative path is always relative to the source
-            # directory. Retain it, so that users can have files
-            # with the same in two different subdirectories.
-            name = dir + "/" + name
-
-        return name
-
-    def determine_output_name(self, sources):
-        """Determine the name of the produced target from the
-        names of the sources."""
-        
-        # The simple case if when a name
-        # of source has single dot. Then, we take the part before
-        # dot. Several dots can be caused by:
-        # - Using source file like a.host.cpp
-        # - A type which suffix has a dot. Say, we can
-        #   type 'host_cpp' with extension 'host.cpp'.
-        # In the first case, we want to take the part till the last
-        # dot. In the second case -- no sure, but for now take
-        # the part till the last dot too.
-        name = os.path.splitext(sources[0].name())[0]
-                        
-        for s in sources[1:]:
-            n2 = os.path.splitext(s.name())
-            if n2 != name:
-                get_manager().errors()(
-                    "%s: source targets have different names: cannot determine target name"
-                    % (self.id_))
-                        
-        # Names of sources might include directory. We should strip it.
-        return self.determine_target_name(sources[0].name())
-        
-        
-    def generated_targets (self, sources, prop_set, project, name):
-        """ Constructs targets that are created after consuming 'sources'.
-            The result will be the list of virtual-target, which the same length
-            as 'target_types' attribute and with corresponding types.
-            
-            When 'name' is empty, all source targets must have the same value of 
-            the 'name' attribute, which will be used instead of the 'name' argument.
-            
-            The value of 'name' attribute for each generated target will be equal to
-            the 'name' parameter if there's no name pattern for this type. Otherwise,
-            the '%' symbol in the name pattern will be replaced with the 'name' parameter 
-            to obtain the 'name' attribute.
-            
-            For example, if targets types are T1 and T2(with name pattern "%_x"), suffixes
-            for T1 and T2 are .t1 and t2, and source if foo.z, then created files would
-            be "foo.t1" and "foo_x.t2". The 'name' attribute actually determined the
-            basename of a file.
-            
-            Note that this pattern mechanism has nothing to do with implicit patterns
-            in make. It's a way to produce target which name is different for name of 
-            source.
-        """
-        if not name:
-            name = self.determine_output_name(sources)
-        
-        # Assign an action for each target
-        action = self.action_class()
-        a = action(project.manager(), sources, self.id_, prop_set)
-                
-        # Create generated target for each target type.
-        targets = []
-        pre = self.name_prefix_
-        post = self.name_postfix_
-        for t in self.target_types_:
-            basename = os.path.basename(name)
-            idx = basename.find(".")
-            if idx != -1:
-                basename = basename[:idx]
-            generated_name = pre[0] + basename + post[0]
-            generated_name = os.path.join(os.path.dirname(name), generated_name)
-            pre = pre[1:]
-            post = post[1:]
-            
-            targets.append(virtual_target.FileTarget(generated_name, t, project, a))
-        
-        return [ project.manager().virtual_targets().register(t) for t in targets ]
-
-    def convert_to_consumable_types (self, project, name, prop_set, sources, only_one=False):
-        """ Attempts to convert 'source' to the types that this generator can
-            handle. The intention is to produce the set of targets can should be
-            used when generator is run.
-            only_one:   convert 'source' to only one of source types
-                        if there's more that one possibility, report an
-                        error.
-                        
-            Returns a pair:
-                consumed: all targets that can be consumed. 
-                bypassed: all targets that cannot be consumed.
-        """
-        consumed = []
-        bypassed = []
-        missing_types = [] 
-
-        if len (sources) > 1:
-            # Don't know how to handle several sources yet. Just try 
-            # to pass the request to other generator
-            missing_types = self.source_types_
-
-        else:
-            (c, m) = self.consume_directly (sources [0])
-            consumed += c
-            missing_types += m
-        
-        # No need to search for transformation if
-        # some source type has consumed source and
-        # no more source types are needed.
-        if only_one and consumed:
-            missing_types = []
-            
-        #TODO: we should check that only one source type
-        #if create of 'only_one' is true.
-        # TODO: consider if consuned/bypassed separation should
-        # be done by 'construct_types'.
-                    
-        if missing_types:
-            transformed = construct_types (project, name, missing_types, prop_set, sources)
-                                
-            # Add targets of right type to 'consumed'. Add others to
-            # 'bypassed'. The 'generators.construct' rule has done
-            # its best to convert everything to the required type.
-            # There's no need to rerun it on targets of different types.
-                
-            # NOTE: ignoring usage requirements
-            for t in transformed[1]:
-                if t.type() in missing_types:
-                    consumed.append(t)
-
-                else:
-                    bypassed.append(t)
-        
-        consumed = unique(consumed)
-        bypassed = unique(bypassed)
-        
-        # remove elements of 'bypassed' that are in 'consumed'
-        
-        # Suppose the target type of current generator, X is produced from 
-        # X_1 and X_2, which are produced from Y by one generator.
-        # When creating X_1 from Y, X_2 will be added to 'bypassed'
-        # Likewise, when creating X_2 from Y, X_1 will be added to 'bypassed'
-        # But they are also in 'consumed'. We have to remove them from
-        # bypassed, so that generators up the call stack don't try to convert
-        # them. 
-
-        # In this particular case, X_1 instance in 'consumed' and X_1 instance
-        # in 'bypassed' will be the same: because they have the same source and
-        # action name, and 'virtual-target.register' won't allow two different
-        # instances. Therefore, it's OK to use 'set.difference'.
-        
-        bypassed = set.difference(bypassed, consumed)
-
-        return (consumed, bypassed)
-    
-
-    def convert_multiple_sources_to_consumable_types (self, project, prop_set, sources):
-        """ Converts several files to consumable types.
-        """        
-        consumed = []
-        bypassed = []
-
-        # We process each source one-by-one, trying to convert it to
-        # a usable type.
-        for s in sources:
-            # TODO: need to check for failure on each source.
-            (c, b) = self.convert_to_consumable_types (project, None, prop_set, [s], True)
-            if not c:
-                project.manager ().logger ().log (__name__, " failed to convert ", s)
-
-            consumed.extend (c)
-            bypassed.extend (b)
-
-        return (consumed, bypassed)
-
-    def consume_directly (self, source):
-        real_source_type = source.type ()
-
-        # If there are no source types, we can consume anything
-        source_types = self.source_types()
-        if not source_types:
-            source_types = [real_source_type]            
-
-        consumed = []
-        missing_types = []
-        for st in source_types:
-            # The 'source' if of right type already)
-            if real_source_type == st or type.is_derived (real_source_type, st):
-                consumed.append (source)
-
-            else:
-               missing_types.append (st)
-
-        return (consumed, missing_types)
-    
-    def action_class (self):
-        """ Returns the class to be used to actions. Default implementation 
-            returns "action".
-        """
-        return virtual_target.Action
-
-
-def find (id):
-    """ Finds the generator with id. Returns None if not found.
-    """
-    return __generators.get (id, None)
-
-def register (g):
-    """ Registers new generator instance 'g'.
-    """
-    id = g.id()
-
-    __generators [id] = g
-
-    # A generator can produce several targets of the
-    # same type. We want unique occurence of that generator
-    # in .generators.$(t) in that case, otherwise, it will
-    # be tried twice and we'll get false ambiguity.
-    for t in sequence.unique(g.target_types()):
-        __type_to_generators.setdefault(t, []).append(g)
-
-    # Update the set of generators for toolset
-
-    # TODO: should we check that generator with this id
-    # is not already registered. For example, the fop.jam
-    # module intentionally declared two generators with the
-    # same id, so such check will break it.
-
-    # Some generators have multiple periods in their name, so the
-    # normal $(id:S=) won't generate the right toolset name.
-    # e.g. if id = gcc.compile.c++, then
-    # .generators-for-toolset.$(id:S=) will append to
-    # .generators-for-toolset.gcc.compile, which is a separate
-    # value from .generators-for-toolset.gcc. Correcting this
-    # makes generator inheritance work properly.
-    # See also inherit-generators in module toolset
-    base = id.split ('.', 100) [0]
-
-    __generators_for_toolset.setdefault(base, []).append(g)
-
-    # After adding a new generator that can construct new target types, we need
-    # to clear the related cached viable source target type information for
-    # constructing a specific target type or using a specific generator. Cached
-    # viable source target type lists affected by this are those containing any
-    # of the target types constructed by the new generator or any of their base
-    # target types.
-    #
-    # A more advanced alternative to clearing that cached viable source target
-    # type information would be to expand it with additional source types or
-    # even better - mark it as needing to be expanded on next use.
-    #
-    # For now we just clear all the cached viable source target type information
-    # that does not simply state 'all types' and may implement a more detailed
-    # algorithm later on if it becomes needed.
-
-    invalidate_extendable_viable_source_target_type_cache()
-
-
-def register_standard (id, source_types, target_types, requirements = []):
-    """ Creates new instance of the 'generator' class and registers it.
-        Returns the creates instance.
-        Rationale: the instance is returned so that it's possible to first register
-        a generator and then call 'run' method on that generator, bypassing all
-        generator selection.
-    """
-    g = Generator (id, False, source_types, target_types, requirements)
-    register (g)
-    return g
-
-def register_composing (id, source_types, target_types, requirements = []):
-    g = Generator (id, True, source_types, target_types, requirements)
-    register (g)
-    return g
-
-def generators_for_toolset (toolset):
-    """ Returns all generators which belong to 'toolset'.
-    """
-    return __generators_for_toolset.get(toolset, [])
-
-def override (overrider_id, overridee_id):
-    """Make generator 'overrider-id' be preferred to
-    'overridee-id'. If, when searching for generators
-    that could produce a target of certain type,
-    both those generators are amoung viable generators,
-    the overridden generator is immediately discarded.
-    
-    The overridden generators are discarded immediately
-    after computing the list of viable generators, before
-    running any of them."""
-    
-    __overrides.get(overrider_id, []).append(overridee_id)
-
-def __viable_source_types_real (target_type):
-    """ Returns a list of source type which can possibly be converted
-        to 'target_type' by some chain of generator invocation.
-        
-        More formally, takes all generators for 'target_type' and
-        returns union of source types for those generators and result
-        of calling itself recusrively on source types.
-    """
-    generators = []
-
-    # 't0' is the initial list of target types we need to process to get a list
-    # of their viable source target types. New target types will not be added to
-    # this list.         
-    t0 = type.all_bases (target_type)
-
-
-    # 't' is the list of target types which have not yet been processed to get a
-    # list of their viable source target types. This list will get expanded as
-    # we locate more target types to process.
-    t = t0
-    
-    result = []
-    while t:
-        # Find all generators for current type. 
-        # Unlike 'find_viable_generators' we don't care about prop_set.
-        generators = __type_to_generators.get (t [0], [])
-        t = t[1:]
-        
-        for g in generators:
-            if not g.source_types():
-                # Empty source types -- everything can be accepted
-                result = "*"
-                # This will terminate outer loop.
-                t = None
-                break
-            
-            for source_type in g.source_types ():
-                if not source_type in result:
-                    # If generator accepts 'source_type' it
-                    # will happily accept any type derived from it
-                    all = type.all_derived (source_type)
-                    for n in all:
-                        if not n in result:
-
-                            # Here there is no point in adding target types to
-                            # the list of types to process in case they are or
-                            # have already been on that list. We optimize this
-                            # check by realizing that we only need to avoid the
-                            # original target type's base types. Other target
-                            # types that are or have been on the list of target
-                            # types to process have been added to the 'result'
-                            # list as well and have thus already been eliminated
-                            # by the previous if.
-                            if not n in t0:
-                                t.append (n)
-                            result.append (n)
-           
-    return result
-
-
-def viable_source_types (target_type):
-    """ Helper rule, caches the result of '__viable_source_types_real'.
-    """
-    if not __viable_source_types_cache.has_key(target_type):
-        __vst_cached_types.append(target_type)
-        __viable_source_types_cache [target_type] = __viable_source_types_real (target_type)
-    return __viable_source_types_cache [target_type]
-
-def viable_source_types_for_generator_real (generator):
-    """ Returns the list of source types, which, when passed to 'run'
-        method of 'generator', has some change of being eventually used
-        (probably after conversion by other generators)
-    """
-    source_types = generator.source_types ()
-
-    if not source_types:
-        # If generator does not specify any source types,
-        # it might be special generator like builtin.lib-generator
-        # which just relays to other generators. Return '*' to
-        # indicate that any source type is possibly OK, since we don't
-        # know for sure.
-        return ['*']
-
-    else:
-        result = []
-        for s in source_types:
-            viable_sources = viable_source_types(s)
-            if viable_sources == "*":
-                result = ["*"]
-                break
-            else:
-                result.extend(type.all_derived(s) + viable_sources)
-        return unique(result)
-
-def viable_source_types_for_generator (generator):
-    """ Caches the result of 'viable_source_types_for_generator'.
-    """
-    if not __viable_source_types_cache.has_key(generator):
-        __vstg_cached_generators.append(generator)
-        __viable_source_types_cache[generator] = viable_source_types_for_generator_real (generator)
-    
-    return __viable_source_types_cache[generator]
-
-def try_one_generator_really (project, name, generator, target_type, properties, sources):
-    """ Returns usage requirements + list of created targets.
-    """
-    targets = generator.run (project, name, properties, sources)
-
-    usage_requirements = []
-    success = False
-
-    dout("returned " + str(targets))
-
-    if targets:
-        success = True;
-        
-        if isinstance (targets[0], property_set.PropertySet):
-            usage_requirements = targets [0]
-            targets = targets [1]
-
-        else:
-            usage_requirements = property_set.empty ()
-
-    dout(  "  generator" + generator.id() + " spawned ")
-    #    generators.dout [ indent ] " " $(targets) ; 
-#    if $(usage-requirements)
-#    {
-#        generators.dout [ indent ] "  with usage requirements:" $(x) ;
-#    }
-
-    if success:
-        return (usage_requirements, targets)
-    else:
-        return None
-
-def try_one_generator (project, name, generator, target_type, properties, sources):
-    """ Checks if generator invocation can be pruned, because it's guaranteed
-        to fail. If so, quickly returns empty list. Otherwise, calls
-        try_one_generator_really.
-    """
-    source_types = []
-
-    for s in sources:
-        source_types.append (s.type ())
-
-    viable_source_types = viable_source_types_for_generator (generator)
-    
-    if source_types and viable_source_types != ['*'] and\
-           not set.intersection (source_types, viable_source_types):
-        if project.manager ().logger ().on ():
-            id = generator.id ()            
-            project.manager ().logger ().log (__name__, "generator '%s' pruned" % id)
-            project.manager ().logger ().log (__name__, "source_types" '%s' % source_types)
-            project.manager ().logger ().log (__name__, "viable_source_types '%s'" % viable_source_types)
-        
-        return []
-
-    else:
-        return try_one_generator_really (project, name, generator, target_type, properties, sources)
-
-
-def construct_types (project, name, target_types, prop_set, sources):
-    
-    result = []
-    usage_requirements = property_set.empty()
-    
-    for t in target_types:
-        r = construct (project, name, t, prop_set, sources)
-
-        if r:
-            (ur, targets) = r
-            usage_requirements = usage_requirements.add(ur)
-            result.extend(targets)
-
-    # TODO: have to introduce parameter controlling if
-    # several types can be matched and add appropriate
-    # checks 
-
-    # TODO: need to review the documentation for
-    # 'construct' to see if it should return $(source) even
-    # if nothing can be done with it. Currents docs seem to
-    # imply that, contrary to the behaviour.
-    if result:
-        return (usage_requirements, result)
-
-    else:
-        return (usage_requirements, sources)
-
-def __ensure_type (targets):
-    """ Ensures all 'targets' have types. If this is not so, exists with 
-        error.
-    """
-    for t in targets:
-        if not t.type ():
-            get_manager().errors()("target '%s' has no type" % str (t))
-
-def find_viable_generators_aux (target_type, prop_set):
-    """ Returns generators which can be used to construct target of specified type
-        with specified properties. Uses the following algorithm:
-        - iterates over requested target_type and all it's bases (in the order returned bt
-          type.all-bases.
-        - for each type find all generators that generate that type and which requirements
-          are satisfied by properties.
-        - if the set of generators is not empty, returns that set.
-        
-        Note: this algorithm explicitly ignores generators for base classes if there's
-        at least one generator for requested target_type.
-    """
-    # Select generators that can create the required target type.
-    viable_generators = []
-    initial_generators = []
-
-    import type
-
-    # Try all-type generators first. Assume they have
-    # quite specific requirements.
-    all_bases = type.all_bases(target_type)
-        
-    for t in all_bases:
-        
-        initial_generators = __type_to_generators.get(t, [])
-        
-        if initial_generators:
-            dout("there are generators for this type")
-            if t != target_type:
-                # We're here, when no generators for target-type are found,
-                # but there are some generators for a base type.
-                # We'll try to use them, but they will produce targets of
-                # base type, not of 'target-type'. So, we clone the generators
-                # and modify the list of target types.
-                generators2 = []
-                for g in initial_generators[:]:
-                    # generators.register adds generator to the list of generators
-                    # for toolsets, which is a bit strange, but should work.
-                    # That list is only used when inheriting toolset, which
-                    # should have being done before generators are run.
-                    ng = g.clone_and_change_target_type(t, target_type)
-                    generators2.append(ng)
-                    register(ng)
-                    
-                initial_generators = generators2
-            break
-    
-    for g in initial_generators:
-        dout("trying generator " + g.id()
-             + "(" + str(g.source_types()) + "->" + str(g.target_types()) + ")")
-        
-        m = g.match_rank(prop_set)
-        if m:
-            dout("  is viable")
-            viable_generators.append(g)            
-                            
-    return viable_generators
-
-def find_viable_generators (target_type, prop_set):
-    key = target_type + '.' + str (prop_set)
-
-    l = __viable_generators_cache.get (key, None)
-    if not l:
-        l = []
-
-    if not l:
-        l = find_viable_generators_aux (target_type, prop_set)
-
-        __viable_generators_cache [key] = l
-
-    viable_generators = []
-    for g in l:
-        # Avoid trying the same generator twice on different levels.
-        # TODO: is this really used?
-        if not g in __active_generators:
-            viable_generators.append (g)
-        else:
-            dout("      generator %s is active, discarding" % g.id())
-
-    # Generators which override 'all'.
-    all_overrides = []
-    
-    # Generators which are overriden
-    overriden_ids = [] 
-       
-    for g in viable_generators:
-        id = g.id ()
-        
-        this_overrides = __overrides.get (id, [])
-        
-        if this_overrides:
-            overriden_ids.extend (this_overrides)
-            if 'all' in this_overrides:
-                all_overrides.append (g)
-
-    if all_overrides:
-        viable_generators = all_overrides
-
-    result = []
-    for g in viable_generators:
-        if not g.id () in overriden_ids:
-            result.append (g)
-
-        
-    return result
-    
-def __construct_really (project, name, target_type, prop_set, sources):
-    """ Attempts to construct target by finding viable generators, running them
-        and selecting the dependency graph.
-    """
-    viable_generators = find_viable_generators (target_type, prop_set)
-                    
-    result = []
-
-    project.manager ().logger ().log (__name__, "*** %d viable generators" % len (viable_generators))
-
-    generators_that_succeeded = []
-    
-    for g in viable_generators:
-        __active_generators.append(g)        
-        r = try_one_generator (project, name, g, target_type, prop_set, sources)
-        del __active_generators[-1]
-        
-        if r:
-            generators_that_succeeded.append(g)
-            if result:
-                output = cStringIO.StringIO()
-                print >>output, "ambiguity found when searching for best transformation"
-                print >>output, "Trying to produce type '%s' from: " % (target_type)
-                for s in sources:
-                    print >>output, " - " + s.str()
-                print >>output, "Generators that succeeded:"
-                for g in generators_that_succeeded:
-                    print >>output, " - " + g.id()
-                print >>output, "First generator produced: "
-                for t in result[1:]:
-                    print >>output, " - " + str(t)
-                print >>output, "Second generator produced:"
-                for t in r[1:]:
-                    print >>output, " - " + str(t)
-                get_manager().errors()(output.getvalue())
-            else:
-                result = r;
-            
-    return result;
-
-
-def construct (project, name, target_type, prop_set, sources, top_level=False):
-    """ Attempts to create target of 'target-type' with 'properties'
-        from 'sources'. The 'sources' are treated as a collection of
-        *possible* ingridients -- i.e. it is not required to consume
-        them all. If 'multiple' is true, the rule is allowed to return
-        several targets of 'target-type'.          
-        
-        Returns a list of target. When this invocation is first instance of
-        'construct' in stack, returns only targets of requested 'target-type',
-        otherwise, returns also unused sources and additionally generated
-        targets.
-        
-        If 'top-level' is set, does not suppress generators that are already
-        used in the stack. This may be useful in cases where a generator
-        has to build a metatarget -- for example a target corresponding to
-        built tool.        
-    """
-
-    global __active_generators
-    if top_level:
-        saved_active = __active_generators
-        __active_generators = []
-
-    global __construct_stack
-    if not __construct_stack:
-        __ensure_type (sources)
-        
-    __construct_stack.append (1)
-
-    if project.manager().logger().on():
-        increase_indent ()
-        
-        dout( "*** construct " + target_type)
-        
-        for s in sources:
-            dout("    from " + str(s))
-
-        project.manager().logger().log (__name__, "    properties: ", prop_set.raw ())
-             
-    result = __construct_really(project, name, target_type, prop_set, sources)
-
-    project.manager().logger().decrease_indent()
-        
-    __construct_stack = __construct_stack [1:]
-
-    if top_level:
-        __active_generators = saved_active
-
-    return result
-    
diff --git a/SRC/Boost/tools/build/v2/build/modifiers.jam b/SRC/Boost/tools/build/v2/build/modifiers.jam
deleted file mode 100755
index 00d5060..0000000
--- a/SRC/Boost/tools/build/v2/build/modifiers.jam
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright 2003 Rene Rivera
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Modifiers are generalized generators that mutate targets in specific ways.
-# This structure allows for grouping a variety of functionality in an
-# orthogonal way to the functionality in toolsets, and without specifying
-# more target variations. In turn the modifiers can be used as building
-# blocks to implement simple requests, like the <version> feature.
-
-import modules ;
-import feature ;
-import errors ;
-import type ;
-import "class" : new ;
-import generators ;
-import property ;
-import virtual-target ;
-import numbers ;
-import sequence ;
-import symlink ;
-import property-set ;
-
-# Base generator for creating targets that are modifications of existing
-# targets.
-#
-class modifier : generator
-{
-    rule __init__ (
-        id
-        composing ?
-        : source-types *
-        : target-types-and-names +
-        : requirements *
-        )
-    {
-        generator.__init__ $(id) $(composing)
-            : $(source-types)
-            : $(target-types-and-names)
-            : $(requirements) ;
-
-        self.targets-in-progress = ;
-    }
-
-    # Wraps the generation of the target to call before and after rules to
-    # affect the real target.
-    #
-    rule run ( project name ? : property-set : sources + )
-    {
-        local result ;
-        local current-target = $(project)^$(name) ;
-        if ! $(current-target) in $(self.targets-in-progress)
-        {
-            # Before modifications...
-            local project_ =
-                [ modify-project-before
-                    $(project) $(name) : $(property-set) : $(sources) ] ;
-            local name_ =
-                [ modify-name-before
-                    $(project) $(name) : $(property-set) : $(sources) ] ;
-            local property-set_ =
-                [ modify-properties-before
-                    $(project) $(name) : $(property-set) : $(sources) ] ;
-            local sources_ =
-                [ modify-sources-before
-                    $(project) $(name) : $(property-set) : $(sources) ] ;
-            project = $(project_) ;
-            name = $(name_) ;
-            property-set = $(property-set_) ;
-            sources = $(sources_) ;
-
-            # Generate the real target...
-            local target-type-p =
-                [ property.select <main-target-type> : [ $(property-set).raw ] ] ;
-            self.targets-in-progress += $(current-target) ;
-            result =
-                [ generators.construct $(project) $(name)
-                    : $(target-type-p:G=)
-                    : $(property-set)
-                    : $(sources) ] ;
-            self.targets-in-progress = $(self.targets-in-progress[1--2]) ;
-
-            # After modifications...
-            result =
-                [ modify-target-after $(result)
-                    : $(project) $(name)
-                    : $(property-set)
-                    : $(sources) ] ;
-        }
-        return $(result) ;
-    }
-
-    rule modify-project-before ( project name ? : property-set : sources + )
-    {
-        return $(project) ;
-    }
-
-    rule modify-name-before ( project name ? : property-set : sources + )
-    {
-        return $(name) ;
-    }
-
-    rule modify-properties-before ( project name ? : property-set : sources + )
-    {
-        return $(property-set) ;
-    }
-
-    rule modify-sources-before ( project name ? : property-set : sources + )
-    {
-        return $(sources) ;
-    }
-
-    rule modify-target-after ( target : project name ? : property-set : sources + )
-    {
-        return $(target) ;
-    }
-
-    # Utility, clones a file-target with optional changes to the name, type and
-    # project of the target.
-    # NOTE: This functionality should be moved, and generalized, to
-    # virtual-targets.
-    #
-    rule clone-file-target ( target : new-name ? : new-type ? : new-project ? )
-    {
-        # Need a MUTCH better way to clone a target...
-        new-name ?= [ $(target).name ] ;
-        new-type ?= [ $(target).type ] ;
-        new-project ?= [ $(target).project ] ;
-        local result = [ new file-target $(new-name) : $(new-type) : $(new-project) ] ;
-
-        if [ $(target).dependencies ] { $(result).depends [ $(target).dependencies ] ; }
-        $(result).root [ $(target).root ] ;
-        $(result).set-usage-requirements [ $(target).usage-requirements ] ;
-
-        local action = [ $(target).action ] ;
-        local action-class = [ modules.peek $(action) : __class__ ] ;
-
-        local ps = [ $(action).properties ] ;
-        local cloned-action = [ new $(action-class) $(result) :
-          [ $(action).sources ] : [ $(action).action-name ] : $(ps) ] ;
-        $(result).action $(cloned-action) ;
-
-        return $(result) ;
-    }
-}
-
-
-# A modifier that changes the name of a target, after it's generated, given a
-# regular expression to split the name, and a set of token to insert between the
-# split tokens of the name. This also exposes the target for other uses with a
-# symlink to the original name (optionally).
-#
-class name-modifier : modifier
-{
-    rule __init__ ( )
-    {
-        # Apply ourselves to EXE targets, for now.
-        modifier.__init__ name.modifier : : EXE LIB : <name-modify>yes ;
-    }
-
-    # Modifies the name, by cloning the target with the new name.
-    #
-    rule modify-target-after ( target : project name ? : property-set : sources + )
-    {
-        local result = $(target) ;
-
-        local name-mod-p = [ property.select <name-modifier> : [ $(property-set).raw ] ] ;
-        if $(name-mod-p)
-        {
-            local new-name = [ modify-name [ $(target).name ] : $(name-mod-p:G=) ] ;
-            if $(new-name) != [ $(target).name ]
-            {
-                result = [ clone-file-target $(target) : $(new-name) ] ;
-            }
-            local expose-original-as-symlink = [ MATCH "<symlink>(.*)" : $(name-mod-p) ] ;
-            if $(expose-original-as-symlink)
-            {
-                local symlink-t = [ new symlink-targets $(project) : $(name) : [ $(result).name ] ] ;
-                result = [ $(symlink-t).construct $(result)
-                    : [ property-set.create [ $(property-set).raw ] <symlink-location>build-relative ] ] ;
-            }
-        }
-
-        return $(result) ;
-    }
-
-    # Do the transformation of the name.
-    #
-    rule modify-name ( name : modifier-spec + )
-    {
-        local match = [ MATCH "<match>(.*)" : $(modifier-spec) ] ;
-        local name-parts = [ MATCH $(match) : $(name) ] ;
-        local insertions = [ sequence.insertion-sort [ MATCH "(<[0123456789]+>.*)" : $(modifier-spec) ] ] ;
-        local new-name-parts ;
-        local insert-position = 1 ;
-        while $(insertions)
-        {
-            local insertion = [ MATCH "<$(insert-position)>(.*)" : $(insertions[1]) ] ;
-            if $(insertion)
-            {
-                new-name-parts += $(insertion) ;
-                insertions = $(insertions[2-]) ;
-            }
-            new-name-parts += $(name-parts[1]) ;
-            name-parts = $(name-parts[2-]) ;
-            insert-position = [ numbers.increment $(insert-position) ] ;
-        }
-        new-name-parts += $(name-parts) ;
-        return [ sequence.join $(new-name-parts) ] ;
-    }
-
-    rule optional-properties ( )
-    {
-        return <name-modify>yes ;
-    }
-}
-feature.feature name-modifier : : free ;
-feature.feature name-modify : no yes : incidental optional ;
-generators.register [ new name-modifier ] ;
-
-# Translates <version> property to a set of modification properties
-# that are applied by the name-modifier, and symlink-modifier.
-#
-rule version-to-modifier ( property : properties * )
-{
-    return
-        <name-modify>yes
-            <name-modifier><match>"^([^.]*)(.*)" <name-modifier><2>.$(property:G=)
-            <name-modifier><symlink>yes
-        ;
-}
-feature.action <version> : version-to-modifier ;
diff --git a/SRC/Boost/tools/build/v2/build/project.ann.py b/SRC/Boost/tools/build/v2/build/project.ann.py
deleted file mode 100755
index 6547668..0000000
--- a/SRC/Boost/tools/build/v2/build/project.ann.py
+++ /dev/null
@@ -1,996 +0,0 @@
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000   1) # Status: being ported by Vladimir Prus
-ddc17f01 (vladimir_prus 2007-10-26 14:57:56 +0000   2) # Base revision: 40480
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000   3) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000   4) # Copyright 2002, 2003 Dave Abrahams 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000   5) # Copyright 2002, 2005, 2006 Rene Rivera 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000   6) # Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000   7) # Distributed under the Boost Software License, Version 1.0. 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000   8) # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000   9) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  10) #  Implements project representation and loading.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  11) #   Each project is represented by 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  12) #   - a module where all the Jamfile content live. 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  13) #   - an instance of 'project-attributes' class.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  14) #     (given module name, can be obtained by 'attributes' rule)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  15) #   - an instance of 'project-target' class (from targets.jam)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  16) #     (given a module name, can be obtained by 'target' rule)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  17) #
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  18) #  Typically, projects are created as result of loading Jamfile, which is
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  19) #  do by rules 'load' and 'initialize', below. First, module for Jamfile
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  20) #  is loaded and new project-attributes instance is created. Some rules
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  21) #  necessary for project are added to the module (see 'project-rules' module)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  22) #  at the bottom of this file.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  23) #  Default project attributes are set (inheriting attributes of parent project, if
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  24) #  it exists). After that, Jamfile is read. It can declare its own attributes,
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  25) #  via 'project' rule, which will be combined with already set attributes.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  26) #
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  27) #
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  28) #  The 'project' rule can also declare project id, which will be associated with 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  29) #  the project module.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  30) #
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  31) #  There can also be 'standalone' projects. They are created by calling 'initialize'
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  32) #  on arbitrary module, and not specifying location. After the call, the module can
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  33) #  call 'project' rule, declare main target and behave as regular projects. However,
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  34) #  since it's not associated with any location, it's better declare only prebuilt 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  35) #  targets.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  36) #
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  37) #  The list of all loaded Jamfile is stored in variable .project-locations. It's possible
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  38) #  to obtain module name for a location using 'module-name' rule. The standalone projects
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  39) #  are not recorded, the only way to use them is by project id.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  40) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  41) import b2.util.path
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000  42) from b2.build import property_set, property
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000  43) from b2.build.errors import ExceptionWithUserContext
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  44) import b2.build.targets
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  45) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  46) import bjam
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  47) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  48) import re
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  49) import sys
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  50) import os
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  51) import string
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000  52) import imp
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000  53) import traceback
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  54) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  55) class ProjectRegistry:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  56) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  57)     def __init__(self, manager, global_build_dir):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  58)         self.manager = manager
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  59)         self.global_build_dir = None
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000  60)         self.project_rules_ = ProjectRules(self)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  61) 
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000  62)         # The target corresponding to the project being loaded now
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  63)         self.current_project = None
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  64)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  65)         # The set of names of loaded project modules
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  66)         self.jamfile_modules = {}
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  67) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  68)         # Mapping from location to module name
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  69)         self.location2module = {}
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  70) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  71)         # Mapping from project id to project module
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  72)         self.id2module = {}
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  73) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  74)         # Map from Jamfile directory to parent Jamfile/Jamroot
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  75)         # location.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  76)         self.dir2parent_jamfile = {}
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  77) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  78)         # Map from directory to the name of Jamfile in
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  79)         # that directory (or None).
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  80)         self.dir2jamfile = {}
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  81) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  82)         # Map from project module to attributes object.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  83)         self.module2attributes = {}
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  84) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  85)         # Map from project module to target for the project
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  86)         self.module2target = {}
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  87) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000  88)         # Map from names to Python modules, for modules loaded
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000  89)         # via 'using' and 'import' rules in Jamfiles.
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000  90)         self.loaded_tool_modules_ = {}
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000  91) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000  92)         # Map from project target to the list of
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000  93)         # (id,location) pairs corresponding to all 'use-project'
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000  94)         # invocations.
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000  95)         # TODO: should not have a global map, keep this
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000  96)         # in ProjectTarget.
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000  97)         self.used_projects = {}
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000  98) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000  99)         self.saved_current_project = []
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 100) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 101)         self.JAMROOT = self.manager.getenv("JAMROOT");
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 102) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 103)         # Note the use of character groups, as opposed to listing
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 104)         # 'Jamroot' and 'jamroot'. With the latter, we'd get duplicate
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 105)         # matches on windows and would have to eliminate duplicates.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 106)         if not self.JAMROOT:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 107)             self.JAMROOT = ["project-root.jam", "[Jj]amroot", "[Jj]amroot.jam"]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 108) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 109)         # Default patterns to search for the Jamfiles to use for build
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 110)         # declarations.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 111)         self.JAMFILE = self.manager.getenv("JAMFILE")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 112) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 113)         if not self.JAMFILE:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 114)             self.JAMFILE = ["[Bb]uild.jam", "[Jj]amfile.v2", "[Jj]amfile",
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 115)                             "[Jj]amfile.jam"]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 116) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 117) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 118)     def load (self, jamfile_location):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 119)         """Loads jamfile at the given location. After loading, project global
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 120)         file and jamfile needed by the loaded one will be loaded recursively.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 121)         If the jamfile at that location is loaded already, does nothing.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 122)         Returns the project module for the Jamfile."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 123) 
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 124)         absolute = os.path.join(os.getcwd(), jamfile_location)
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 125)         absolute = os.path.normpath(absolute)
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 126)         jamfile_location = b2.util.path.relpath(os.getcwd(), absolute)
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 127) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 128)         if "--debug-loading" in self.manager.argv():
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 129)             print "Loading Jamfile at '%s'" % jamfile_location
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 130) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 131)             
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 132)         mname = self.module_name(jamfile_location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 133)         # If Jamfile is already loaded, don't try again.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 134)         if not mname in self.jamfile_modules:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 135)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 136)             self.load_jamfile(jamfile_location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 137)                 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 138)             # We want to make sure that child project are loaded only
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 139)             # after parent projects. In particular, because parent projects
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 140)             # define attributes whch are inherited by children, and we don't
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 141)             # want children to be loaded before parents has defined everything.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 142)             #
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 143)             # While "build-project" and "use-project" can potentially refer
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 144)             # to child projects from parent projects, we don't immediately
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 145)             # load child projects when seing those attributes. Instead,
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 146)             # we record the minimal information that will be used only later.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 147)             
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 148)             self.load_used_projects(mname)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 149)              
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 150)         return mname
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 151) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 152)     def load_used_projects(self, module_name):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 153)         # local used = [ modules.peek $(module-name) : .used-projects ] ;
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 154)         used = self.used_projects[module_name]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 155)     
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 156)         location = self.attribute(module_name, "location")
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 157)         for u in used:
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 158)             id = u[0]
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 159)             where = u[1]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 160) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 161)             self.use(id, os.path.join(location, where))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 162) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 163)     def load_parent(self, location):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 164)         """Loads parent of Jamfile at 'location'.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 165)         Issues an error if nothing is found."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 166) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 167)         found = b2.util.path.glob_in_parents(
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 168)             location, self.JAMROOT + self.JAMFILE) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 169) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 170)         if not found:
-1674e2d9 (jhunold       2008-08-08 19:52:05 +0000 171)             print "error: Could not find parent for project at '%s'" % location
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 172)             print "error: Did not find Jamfile or project-root.jam in any parent directory."
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 173)             sys.exit(1)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 174)     
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 175)         return self.load(os.path.dirname(found[0]))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 176) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 177)     def act_as_jamfile(self, module, location):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 178)         """Makes the specified 'module' act as if it were a regularly loaded Jamfile 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 179)         at 'location'. If Jamfile is already located for that location, it's an 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 180)         error."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 181) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 182)         if self.module_name(location) in self.jamfile_modules:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 183)             self.manager.errors()(
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 184)                 "Jamfile was already loaded for '%s'" % location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 185)     
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 186)         # Set up non-default mapping from location to module.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 187)         self.location2module[location] = module
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 188)     
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 189)         # Add the location to the list of project locations
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 190)         # so that we don't try to load Jamfile in future
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 191)         self.jamfile_modules.append(location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 192)     
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 193)         self.initialize(module, location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 194) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 195)     def find(self, name, current_location):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 196)         """Given 'name' which can be project-id or plain directory name,
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 197)         return project module corresponding to that id or directory.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 198)         Returns nothing of project is not found."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 199) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 200)         project_module = None
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 201) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 202)         # Try interpreting name as project id.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 203)         if name[0] == '/':
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 204)             project_module = self.id2module.get(name)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 205) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 206)         if not project_module:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 207)             location = os.path.join(current_location, name)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 208)             # If no project is registered for the given location, try to
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 209)             # load it. First see if we have Jamfile. If not we might have project
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 210)             # root, willing to act as Jamfile. In that case, project-root
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 211)             # must be placed in the directory referred by id.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 212)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 213)             project_module = self.module_name(location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 214)             if not project_module in self.jamfile_modules and \
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 215)                b2.util.path.glob([location], self.JAMROOT + self.JAMFILE):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 216)                 project_module = self.load(location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 217) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 218)         return project_module
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 219) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 220)     def module_name(self, jamfile_location):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 221)         """Returns the name of module corresponding to 'jamfile-location'.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 222)         If no module corresponds to location yet, associates default
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 223)         module name with that location."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 224)         module = self.location2module.get(jamfile_location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 225)         if not module:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 226)             # Root the path, so that locations are always umbiguious.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 227)             # Without this, we can't decide if '../../exe/program1' and '.'
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 228)             # are the same paths, or not.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 229)             jamfile_location = os.path.realpath(
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 230)                 os.path.join(os.getcwd(), jamfile_location))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 231)             module = "Jamfile<%s>" % jamfile_location
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 232)             self.location2module[jamfile_location] = module
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 233)         return module
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 234) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 235)     def find_jamfile (self, dir, parent_root=0, no_errors=0):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 236)         """Find the Jamfile at the given location. This returns the
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 237)         exact names of all the Jamfiles in the given directory. The optional
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 238)         parent-root argument causes this to search not the given directory
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 239)         but the ones above it up to the directory given in it."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 240)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 241)         # Glob for all the possible Jamfiles according to the match pattern.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 242)         #
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 243)         jamfile_glob = None
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 244)         if parent_root:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 245)             parent = self.dir2parent_jamfile.get(dir)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 246)             if not parent:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 247)                 parent = b2.util.path.glob_in_parents(dir,
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 248)                                                                self.JAMFILE)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 249)                 self.dir2parent_jamfile[dir] = parent
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 250)             jamfile_glob = parent
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 251)         else:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 252)             jamfile = self.dir2jamfile.get(dir)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 253)             if not jamfile:
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 254)                 jamfile = b2.util.path.glob([dir], self.JAMFILE)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 255)                 self.dir2jamfile[dir] = jamfile
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 256)             jamfile_glob = jamfile
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 257) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 258)         if len(jamfile_glob):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 259)             # Multiple Jamfiles found in the same place. Warn about this.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 260)             # And ensure we use only one of them.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 261)             # As a temporary convenience measure, if there's Jamfile.v2 amount
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 262)             # found files, suppress the warning and use it.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 263)             #
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 264)             pattern = "(.*[Jj]amfile\\.v2)|(.*[Bb]uild\\.jam)"
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 265)             v2_jamfiles = [x for x in jamfile_glob if re.match(pattern, x)]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 266)             if len(v2_jamfiles) == 1:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 267)                 jamfile_glob = v2_jamfiles
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 268)             else:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 269)                 print """warning: Found multiple Jamfiles at '%s'!
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 270) Loading the first one: '%s'.""" % (dir, jamfile_glob[0])
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 271)     
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 272)         # Could not find it, error.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 273)         if not no_errors and not jamfile_glob:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 274)             self.manager.errors()(
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 275)                 """Unable to load Jamfile.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 276) Could not find a Jamfile in directory '%s'
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 277) Attempted to find it with pattern '%s'.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 278) Please consult the documentation at 'http://boost.org/b2.'."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 279)                 % (dir, string.join(self.JAMFILE)))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 280) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 281)         return jamfile_glob[0]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 282)     
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 283)     def load_jamfile(self, dir):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 284)         """Load a Jamfile at the given directory. Returns nothing.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 285)         Will attempt to load the file as indicated by the JAMFILE patterns.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 286)         Effect of calling this rule twice with the same 'dir' is underfined."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 287)       
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 288)         # See if the Jamfile is where it should be.
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 289)         jamfile_to_load = b2.util.path.glob([dir], self.JAMROOT)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 290)         if not jamfile_to_load:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 291)             jamfile_to_load = self.find_jamfile(dir)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 292)         else:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 293)             jamfile_to_load = jamfile_to_load[0]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 294)             
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 295)         # The module of the jamfile.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 296)         dir = os.path.realpath(os.path.dirname(jamfile_to_load))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 297)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 298)         jamfile_module = self.module_name (dir)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 299) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 300)         # Initialize the jamfile module before loading.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 301)         #    
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 302)         self.initialize(jamfile_module, dir, os.path.basename(jamfile_to_load))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 303) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 304)         saved_project = self.current_project
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 305) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 306)         self.used_projects[jamfile_module] = []
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 307)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 308)         # Now load the Jamfile in it's own context.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 309)         # Initialization might have load parent Jamfiles, which might have
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 310)         # loaded the current Jamfile with use-project. Do a final check to make
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 311)         # sure it's not loaded already.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 312)         if not jamfile_module in self.jamfile_modules:
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 313)             self.jamfile_modules[jamfile_module] = True
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 314) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 315)             # FIXME:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 316)             # mark-as-user $(jamfile-module) ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 317) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 318)             bjam.call("load", jamfile_module, jamfile_to_load)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 319)             basename = os.path.basename(jamfile_to_load)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 320)                         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 321)         # Now do some checks
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 322)         if self.current_project != saved_project:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 323)             self.manager.errors()(
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 324) """The value of the .current-project variable
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 325) has magically changed after loading a Jamfile.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 326) This means some of the targets might be defined a the wrong project.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 327) after loading %s
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 328) expected value %s
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 329) actual value %s""" % (jamfile_module, saved_project, self.current_project))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 330)           
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 331)         if self.global_build_dir:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 332)             id = self.attribute(jamfile_module, "id")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 333)             project_root = self.attribute(jamfile_module, "project-root")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 334)             location = self.attribute(jamfile_module, "location")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 335) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 336)             if location and project_root == dir:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 337)                 # This is Jamroot
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 338)                 if not id:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 339)                     # FIXME: go via errors module, so that contexts are
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 340)                     # shown?
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 341)                     print "warning: the --build-dir option was specified"
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 342)                     print "warning: but Jamroot at '%s'" % dir
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 343)                     print "warning: specified no project id"
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 344)                     print "warning: the --build-dir option will be ignored"
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 345) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 346) 
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 347)     def load_standalone(self, jamfile_module, file):
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 348)         """Loads 'file' as standalone project that has no location
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 349)         associated with it.  This is mostly useful for user-config.jam,
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 350)         which should be able to define targets, but although it has
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 351)         some location in filesystem, we don't want any build to
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 352)         happen in user's HOME, for example.
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 353) 
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 354)         The caller is required to never call this method twice on
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 355)         the same file.
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 356)         """
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 357) 
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 358)         self.initialize(jamfile_module)
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 359)         self.used_projects[jamfile_module] = []
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 360)         bjam.call("load", jamfile_module, file)
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 361)         self.load_used_projects(jamfile_module)
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 362)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 363)     def is_jamroot(self, basename):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 364)         match = [ pat for pat in self.JAMROOT if re.match(pat, basename)]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 365)         if match:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 366)             return 1
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 367)         else:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 368)             return 0
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 369) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 370)     def initialize(self, module_name, location=None, basename=None):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 371)         """Initialize the module for a project.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 372)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 373)         module-name is the name of the project module.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 374)         location is the location (directory) of the project to initialize.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 375)                  If not specified, stanalone project will be initialized
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 376)         """
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 377) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 378)         if "--debug-loading" in self.manager.argv():
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 379)             print "Initializing project '%s'" % module_name
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 380) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 381)         # TODO: need to consider if standalone projects can do anything but defining
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 382)         # prebuilt targets. If so, we need to give more sensible "location", so that
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 383)         # source paths are correct.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 384)         if not location:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 385)             location = ""
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 386)         else:
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 387)             location = b2.util.path.relpath(os.getcwd(), location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 388) 
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 389)         attributes = ProjectAttributes(self.manager, location, module_name)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 390)         self.module2attributes[module_name] = attributes
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 391) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 392)         if location:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 393)             attributes.set("source-location", location, exact=1)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 394)         else:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 395)             attributes.set("source-location", "", exact=1)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 396) 
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 397)         attributes.set("requirements", property_set.empty(), exact=True)
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 398)         attributes.set("usage-requirements", property_set.empty(), exact=True)
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 399)         attributes.set("default-build", [], exact=True)
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 400)         attributes.set("projects-to-build", [], exact=True)
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 401)         attributes.set("project-root", None, exact=True)
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 402)         attributes.set("build-dir", None, exact=True)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 403)         
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 404)         self.project_rules_.init_project(module_name)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 405) 
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 406)         jamroot = False
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 407) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 408)         parent_module = None;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 409)         if module_name == "site-config":
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 410)             # No parent
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 411)             pass
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 412)         elif module_name == "user-config":
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 413)             parent_module = "site-config"
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 414)         elif location and not self.is_jamroot(basename):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 415)             # We search for parent/project-root only if jamfile was specified 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 416)             # --- i.e
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 417)             # if the project is not standalone.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 418)             parent_module = self.load_parent(location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 419)         else:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 420)             # It's either jamroot, or standalone project.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 421)             # If it's jamroot, inherit from user-config.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 422)             if location:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 423)                 parent_module = "user-config" ;                
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 424)                 jamroot = True ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 425)                 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 426)         if parent_module:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 427)             self.inherit_attributes(module_name, parent_module)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 428)             attributes.set("parent-module", parent_module, exact=1)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 429) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 430)         if jamroot:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 431)             attributes.set("project-root", location, exact=1)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 432)                                 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 433)         parent = None
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 434)         if parent_module:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 435)             parent = self.target(parent_module)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 436) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 437)         if not self.module2target.has_key(module_name):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 438)             target = b2.build.targets.ProjectTarget(self.manager,
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 439)                 module_name, module_name, parent,
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 440)                 self.attribute(module_name,"requirements"),
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 441)                 # FIXME: why we need to pass this? It's not
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 442)                 # passed in jam code.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 443)                 self.attribute(module_name, "default-build"))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 444)             self.module2target[module_name] = target
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 445) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 446)         self.current_project = self.target(module_name)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 447) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 448)     def inherit_attributes(self, project_module, parent_module):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 449)         """Make 'project-module' inherit attributes of project
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 450)         root and parent module."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 451) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 452)         attributes = self.module2attributes[project_module]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 453)         pattributes = self.module2attributes[parent_module]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 454)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 455)         # Parent module might be locationless user-config.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 456)         # FIXME:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 457)         #if [ modules.binding $(parent-module) ]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 458)         #{        
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 459)         #    $(attributes).set parent : [ path.parent 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 460)         #                                 [ path.make [ modules.binding $(parent-module) ] ] ] ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 461)         #    }
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 462)         
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 463)         attributes.set("project-root", pattributes.get("project-root"), exact=True)
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 464)         attributes.set("default-build", pattributes.get("default-build"), exact=True)
-49c03622 (jhunold       2008-07-23 09:57:41 +0000 465)         attributes.set("requirements", pattributes.get("requirements"), exact=True)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 466)         attributes.set("usage-requirements",
-cde6f09a (vladimir_prus 2007-10-19 23:12:33 +0000 467)                        pattributes.get("usage-requirements"), exact=1)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 468) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 469)         parent_build_dir = pattributes.get("build-dir")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 470)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 471)         if parent_build_dir:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 472)         # Have to compute relative path from parent dir to our dir
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 473)         # Convert both paths to absolute, since we cannot
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 474)         # find relative path from ".." to "."
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 475) 
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 476)              location = attributes.get("location")
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 477)              parent_location = pattributes.get("location")
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 478) 
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 479)              our_dir = os.path.join(os.getcwd(), location)
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 480)              parent_dir = os.path.join(os.getcwd(), parent_location)
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 481) 
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 482)              build_dir = os.path.join(parent_build_dir,
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 483)                                       b2.util.path.relpath(parent_dir,
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 484)                                                                     our_dir))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 485) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 486)     def register_id(self, id, module):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 487)         """Associate the given id with the given project module."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 488)         self.id2module[id] = module
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 489) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 490)     def current(self):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 491)         """Returns the project which is currently being loaded."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 492)         return self.current_project
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 493) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 494)     def push_current(self, project):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 495)         """Temporary changes the current project to 'project'. Should
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 496)         be followed by 'pop-current'."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 497)         self.saved_current_project.append(self.current_project)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 498)         self.current_project = project
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 499) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 500)     def pop_current(self):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 501)         self.current_project = self.saved_current_project[-1]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 502)         del self.saved_current_project[-1]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 503) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 504)     def attributes(self, project):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 505)         """Returns the project-attribute instance for the
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 506)         specified jamfile module."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 507)         return self.module2attributes[project]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 508) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 509)     def attribute(self, project, attribute):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 510)         """Returns the value of the specified attribute in the
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 511)         specified jamfile module."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 512)         return self.module2attributes[project].get(attribute)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 513) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 514)     def target(self, project_module):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 515)         """Returns the project target corresponding to the 'project-module'."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 516)         if not self.module2target[project_module]:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 517)             self.module2target[project_module] = \
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 518)                 ProjectTarget(project_module, project_module,
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 519)                               self.attribute(project_module, "requirements"))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 520)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 521)         return self.module2target[project_module]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 522) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 523)     def use(self, id, location):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 524)         # Use/load a project.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 525)         saved_project = self.current_project
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 526)         project_module = self.load(location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 527)         declared_id = self.attribute(project_module, "id")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 528) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 529)         if not declared_id or declared_id != id:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 530)             # The project at 'location' either have no id or
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 531)             # that id is not equal to the 'id' parameter.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 532)             if self.id2module[id] and self.id2module[id] != project_module:
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 533)                 self.manager.errors()(
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 534) """Attempt to redeclare already existing project id '%s'""" % id)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 535)             self.id2module[id] = project_module
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 536) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 537)         self.current_module = saved_project
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 538) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 539)     def add_rule(self, name, callable):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 540)         """Makes rule 'name' available to all subsequently loaded Jamfiles.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 541) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 542)         Calling that rule wil relay to 'callable'."""
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 543)         self.project_rules_.add_rule(name, callable)
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 544) 
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 545)     def project_rules(self):
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 546)         return self.project_rules_
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 547) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 548)     def glob_internal(self, project, wildcards, excludes, rule_name):
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 549)         location = project.get("source-location")
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 550) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 551)         result = []
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 552)         callable = b2.util.path.__dict__[rule_name]
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 553)         
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 554)         paths = callable(location, wildcards, excludes)
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 555)         has_dir = 0
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 556)         for w in wildcards:
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 557)             if os.path.dirname(w):
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 558)                 has_dir = 1
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 559)                 break
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 560) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 561)         if has_dir or rule_name != "glob":
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 562)             # The paths we've found are relative to current directory,
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 563)             # but the names specified in sources list are assumed to
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 564)             # be relative to source directory of the corresponding
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 565)             # prject. So, just make the name absolute.
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 566)             result = [os.path.join(os.getcwd(), p) for p in paths]
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 567)         else:
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 568)             # There were not directory in wildcard, so the files are all
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 569)             # in the source directory of the project. Just drop the
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 570)             # directory, instead of making paths absolute.
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 571)             result = [os.path.basename(p) for p in paths]
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 572)             
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 573)         return result
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 574) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 575)     def load_module(self, name, extra_path=None):
-53b0faa2 (jhunold       2008-08-10 18:25:50 +0000 576)         """Classic Boost.Build 'modules' are in fact global variables.
-53b0faa2 (jhunold       2008-08-10 18:25:50 +0000 577)         Therefore, try to find an already loaded Python module called 'name' in sys.modules. 
-53b0faa2 (jhunold       2008-08-10 18:25:50 +0000 578)         If the module ist not loaded, find it Boost.Build search
-53b0faa2 (jhunold       2008-08-10 18:25:50 +0000 579)         path and load it.  The new module is not entered in sys.modules.
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 580)         The motivation here is to have disjoint namespace of modules
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 581)         loaded via 'import/using' in Jamfile, and ordinary Python
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 582)         modules. We don't want 'using foo' in Jamfile to load ordinary
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 583)         Python module 'foo' which is going to not work. And we
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 584)         also don't want 'import foo' in regular Python module to
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 585)         accidentally grab module named foo that is internal to
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 586)         Boost.Build and intended to provide interface to Jamfiles."""
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 587) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 588)         existing = self.loaded_tool_modules_.get(name)
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 589)         if existing:
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 590)             return existing
-53b0faa2 (jhunold       2008-08-10 18:25:50 +0000 591) 
-53b0faa2 (jhunold       2008-08-10 18:25:50 +0000 592)         modules = sys.modules
-53b0faa2 (jhunold       2008-08-10 18:25:50 +0000 593)         for class_name in modules:
-53b0faa2 (jhunold       2008-08-10 18:25:50 +0000 594)             if name in class_name:
-53b0faa2 (jhunold       2008-08-10 18:25:50 +0000 595)                 module = modules[class_name]
-53b0faa2 (jhunold       2008-08-10 18:25:50 +0000 596)                 self.loaded_tool_modules_[name] = module
-53b0faa2 (jhunold       2008-08-10 18:25:50 +0000 597)                 return module
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 598)         
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 599)         path = extra_path
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 600)         if not path:
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 601)             path = []
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 602)         path.extend(self.manager.b2.path())
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 603)         location = None
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 604)         for p in path:
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 605)             l = os.path.join(p, name + ".py")
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 606)             if os.path.exists(l):
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 607)                 location = l
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 608)                 break
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 609) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 610)         if not location:
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 611)             self.manager.errors()("Cannot find module '%s'" % name)
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 612) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 613)         mname = "__build_build_temporary__"
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 614)         file = open(location)
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 615)         try:
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 616)             # TODO: this means we'll never make use of .pyc module,
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 617)             # which might be a problem, or not.
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 618)             module = imp.load_module(mname, file, os.path.basename(location),
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 619)                                      (".py", "r", imp.PY_SOURCE))
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 620)             del sys.modules[mname]
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 621)             self.loaded_tool_modules_[name] = module
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 622)             return module
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 623)         finally:
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 624)             file.close()
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 625)         
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 626) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 627) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 628) # FIXME:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 629) # Defines a Boost.Build extension project. Such extensions usually
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 630) # contain library targets and features that can be used by many people.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 631) # Even though extensions are really projects, they can be initialize as
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 632) # a module would be with the "using" (project.project-rules.using)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 633) # mechanism.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 634) #rule extension ( id : options * : * )
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 635) #{
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 636) #    # The caller is a standalone module for the extension.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 637) #    local mod = [ CALLER_MODULE ] ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 638) #    
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 639) #    # We need to do the rest within the extension module.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 640) #    module $(mod)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 641) #    {
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 642) #        import path ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 643) #        
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 644) #        # Find the root project.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 645) #        local root-project = [ project.current ] ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 646) #        root-project = [ $(root-project).project-module ] ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 647) #        while
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 648) #            [ project.attribute $(root-project) parent-module ] &&
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 649) #            [ project.attribute $(root-project) parent-module ] != user-config
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 650) #        {
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 651) #            root-project = [ project.attribute $(root-project) parent-module ] ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 652) #        }
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 653) #        
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 654) #        # Create the project data, and bring in the project rules
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 655) #        # into the module.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 656) #        project.initialize $(__name__) :
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 657) #            [ path.join [ project.attribute $(root-project) location ] ext $(1:L) ] ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 658) #        
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 659) #        # Create the project itself, i.e. the attributes.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 660) #        # All extensions are created in the "/ext" project space.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 661) #        project /ext/$(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 662) #        local attributes = [ project.attributes $(__name__) ] ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 663) #        
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 664) #        # Inherit from the root project of whomever is defining us.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 665) #        project.inherit-attributes $(__name__) : $(root-project) ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 666) #        $(attributes).set parent-module : $(root-project) : exact ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 667) #    }
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 668) #}
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 669)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 670) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 671) class ProjectAttributes:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 672)     """Class keeping all the attributes of a project.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 673) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 674)     The standard attributes are 'id', "location", "project-root", "parent"
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 675)     "requirements", "default-build", "source-location" and "projects-to-build".
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 676)     """
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 677)         
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 678)     def __init__(self, manager, location, project_module):
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 679)         self.manager = manager
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 680)         self.location = location
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 681)         self.project_module = project_module
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 682)         self.attributes = {}
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 683)         self.usage_requirements = None
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 684)         
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 685)     def set(self, attribute, specification, exact):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 686)         """Set the named attribute from the specification given by the user.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 687)         The value actually set may be different."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 688) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 689)         if exact:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 690)             self.__dict__[attribute] = specification
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 691)             
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 692)         elif attribute == "requirements":
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 693)             self.requirements = property_set.refine_from_user_input(
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 694)                 self.requirements, specification,
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 695)                 self.project_module, self.location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 696)             
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 697)         elif attribute == "usage-requirements":
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 698)             unconditional = []
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 699)             for p in specification:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 700)                 split = property.split_conditional(p)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 701)                 if split:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 702)                     unconditional.append(split[1])
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 703)                 else:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 704)                     unconditional.append(p)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 705) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 706)             non_free = property.remove("free", unconditional)
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 707)             if non_free:                
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 708)                 pass
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 709)                 # FIXME:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 710)                 #errors.error "usage-requirements" $(specification) "have non-free properties" $(non-free) ;
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 711) 
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 712)             t = property.translate_paths(specification, self.location)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 713) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 714)             existing = self.__dict__.get("usage-requirements")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 715)             if existing:
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 716)                 new = property_set.create(existing.raw() +  t)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 717)             else:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 718)                 new = property_set.create(t)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 719)             self.__dict__["usage-requirements"] = new
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 720) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 721)                 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 722)         elif attribute == "default-build":
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 723)             self.__dict__["default-build"] = property_set.create(specification)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 724)             
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 725)         elif attribute == "source-location":
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 726)             source_location = []
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 727)             for path in specification:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 728)                 source_location += os.path.join(self.location, path)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 729)             self.__dict__["source-location"] = source_location
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 730)                 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 731)         elif attribute == "build-dir":
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 732)             self.__dict__["build-dir"] = os.path.join(self.location, specification)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 733)                  
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 734)         elif not attribute in ["id", "default-build", "location",
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 735)                                "source-location", "parent",
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 736)                                "projects-to-build", "project-root"]:
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 737)             self.manager.errors()(
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 738) """Invalid project attribute '%s' specified
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 739) for project at '%s'""" % (attribute, self.location))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 740)         else:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 741)             self.__dict__[attribute] = specification
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 742) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 743)     def get(self, attribute):
-cde6f09a (vladimir_prus 2007-10-19 23:12:33 +0000 744)         return self.__dict__[attribute]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 745) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 746)     def dump(self):
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 747)         """Prints the project attributes."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 748)         id = self.get("id")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 749)         if not id:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 750)             id = "(none)"
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 751)         else:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 752)             id = id[0]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 753) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 754)         parent = self.get("parent")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 755)         if not parent:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 756)             parent = "(none)"
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 757)         else:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 758)             parent = parent[0]
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 759) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 760)         print "'%s'" % id
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 761)         print "Parent project:%s", parent
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 762)         print "Requirements:%s", self.get("requirements")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 763)         print "Default build:%s", string.join(self.get("debuild-build"))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 764)         print "Source location:%s", string.join(self.get("source-location"))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 765)         print "Projects to build:%s", string.join(self.get("projects-to-build").sort());
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 766) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 767) class ProjectRules:
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 768)     """Class keeping all rules that are made available to Jamfile."""
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 769) 
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 770)     def __init__(self, registry):
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 771)         self.registry = registry
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 772)         self.manager_ = registry.manager
-38d984eb (vladimir_prus 2007-10-13 17:52:25 +0000 773)         self.rules = {}
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 774)         self.local_names = [x for x in self.__class__.__dict__
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 775)                             if x not in ["__init__", "init_project", "add_rule",
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 776)                                          "error_reporting_wrapper", "add_rule_for_type"]]
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 777)         self.all_names_ = [x for x in self.local_names]
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 778) 
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 779)     def add_rule_for_type(self, type):
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 780)         rule_name = type.lower();
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 781) 
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 782)         def xpto (name, sources, requirements = [], default_build = None, usage_requirements = []):
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 783)             return self.manager_.targets().create_typed_target(
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 784)                 type, self.registry.current(), name[0], sources,
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 785)                 requirements, default_build, usage_requirements) 
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 786) 
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 787)         self.add_rule(type.lower(), xpto)
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 788)     
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 789)     def add_rule(self, name, callable):
-38d984eb (vladimir_prus 2007-10-13 17:52:25 +0000 790)         self.rules[name] = callable
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 791)         self.all_names_.append(name)
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 792) 
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 793)     def all_names(self):
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 794)         return self.all_names_
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 795) 
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 796)     def call_and_report_errors(self, callable, *args):
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 797)         result = None
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 798)         try:
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 799)             self.manager_.errors().push_jamfile_context()
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 800)             result = callable(*args)
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 801)         except ExceptionWithUserContext, e:
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 802)             e.report()
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 803)         except Exception, e:
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 804)             try:
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 805)                 self.manager_.errors().handle_stray_exception (e)
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 806)             except ExceptionWithUserContext, e:
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 807)                 e.report()
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 808)         finally:                
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 809)             self.manager_.errors().pop_jamfile_context()
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 810)                                         
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 811)         return result
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 812) 
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 813)     def make_wrapper(self, callable):
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 814)         """Given a free-standing function 'callable', return a new
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 815)         callable that will call 'callable' and report all exceptins,
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 816)         using 'call_and_report_errors'."""
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 817)         def wrapper(*args):
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 818)             self.call_and_report_errors(callable, *args)
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 819)         return wrapper
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 820) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 821)     def init_project(self, project_module):
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 822) 
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 823)         for n in self.local_names:            
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 824)             # Using 'getattr' here gives us a bound method,
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 825)             # while using self.__dict__[r] would give unbound one.
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 826)             v = getattr(self, n)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 827)             if callable(v):
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 828)                 if n == "import_":
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 829)                     n = "import"
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 830)                 else:
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 831)                     n = string.replace(n, "_", "-")
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 832)                     
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 833)                 bjam.import_rule(project_module, n,
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 834)                                  self.make_wrapper(v))
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 835) 
-38d984eb (vladimir_prus 2007-10-13 17:52:25 +0000 836)         for n in self.rules:
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 837)             bjam.import_rule(project_module, n,
-0317671e (vladimir_prus 2007-10-28 14:02:06 +0000 838)                              self.make_wrapper(self.rules[n]))
-38d984eb (vladimir_prus 2007-10-13 17:52:25 +0000 839) 
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 840)     def project(self, *args):
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 841) 
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 842)         jamfile_module = self.registry.current().project_module()
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 843)         attributes = self.registry.attributes(jamfile_module)
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 844)         
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 845)         id = None
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 846)         if args and args[0]:
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 847)             id = args[0][0]
-092119e3 (vladimir_prus 2007-10-16 05:45:31 +0000 848)             args = args[1:]
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 849) 
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 850)         if id:
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 851)             if id[0] != '/':
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 852)                 id = '/' + id
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 853)             self.registry.register_id (id, jamfile_module)
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 854) 
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 855)         explicit_build_dir = None
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 856)         for a in args:
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 857)             if a:
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 858)                 attributes.set(a[0], a[1:], exact=0)
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 859)                 if a[0] == "build-dir":
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 860)                     explicit_build_dir = a[1]
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 861)         
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 862)         # If '--build-dir' is specified, change the build dir for the project.
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 863)         if self.registry.global_build_dir:
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 864) 
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 865)             location = attributes.get("location")
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 866)             # Project with empty location is 'standalone' project, like
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 867)             # user-config, or qt.  It has no build dir.
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 868)             # If we try to set build dir for user-config, we'll then
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 869)             # try to inherit it, with either weird, or wrong consequences.
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 870)             if location and location == attributes.get("project-root"):
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 871)                 # This is Jamroot.
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 872)                 if id:
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 873)                     if explicit_build_dir and os.path.isabs(explicit_build_dir):
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 874)                         self.register.manager.errors()(
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 875) """Absolute directory specified via 'build-dir' project attribute
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 876) Don't know how to combine that with the --build-dir option.""")
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 877) 
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 878)                     rid = id
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 879)                     if rid[0] == '/':
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 880)                         rid = rid[1:]
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 881) 
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 882)                     p = os.path.join(self.registry.global_build_dir,
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 883)                                      rid, explicit_build_dir)
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 884)                     attributes.set("build-dir", p, exact=1)
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 885)             elif explicit_build_dir:
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 886)                 self.registry.manager.errors()(
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 887) """When --build-dir is specified, the 'build-project'
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 888) attribute is allowed only for top-level 'project' invocations""")
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 889) 
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 890)     def constant(self, name, value):
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 891)         """Declare and set a project global constant.
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 892)         Project global constants are normal variables but should
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 893)         not be changed. They are applied to every child Jamfile."""
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 894)         m = "Jamfile</home/ghost/Work/Boost/boost-svn/tools/build/v2_python/python/tests/bjam/make>"
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 895)         self.registry.current().add_constant(name[0], value)
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 896) 
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 897)     def path_constant(self, name, value):
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 898)         """Declare and set a project global constant, whose value is a path. The
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 899)         path is adjusted to be relative to the invocation directory. The given
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 900)         value path is taken to be either absolute, or relative to this project
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 901)         root."""
-0ed8e16d (vladimir_prus 2007-10-13 21:34:05 +0000 902)         self.registry.current().add_constant(name[0], value, path=1)
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 903) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 904)     def use_project(self, id, where):
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 905)         # See comment in 'load' for explanation why we record the
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 906)         # parameters as opposed to loading the project now.
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 907)         m = self.registry.current().project_module();
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 908)         self.registry.used_projects[m].append((id, where))
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 909)         
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 910)     def build_project(self, dir):
-1674e2d9 (jhunold       2008-08-08 19:52:05 +0000 911)         assert(isinstance(dir, list))
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 912)         jamfile_module = self.registry.current().project_module()
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 913)         attributes = self.registry.attributes(jamfile_module)
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 914)         now = attributes.get("projects-to-build")
-1674e2d9 (jhunold       2008-08-08 19:52:05 +0000 915)         attributes.set("projects-to-build", now + dir, exact=True)
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 916) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 917)     def explicit(self, target_names):
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 918)         t = self.registry.current()
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 919)         for n in target_names:
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 920)             t.mark_target_as_explicit(n)
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 921) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 922)     def glob(self, wildcards, excludes=None):
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 923)         return self.registry.glob_internal(self.registry.current(),
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 924)                                            wildcards, excludes, "glob")
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 925) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 926)     def glob_tree(self, wildcards, excludes=None):
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 927)         bad = 0
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 928)         for p in wildcards:
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 929)             if os.path.dirname(p):
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 930)                 bad = 1
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 931) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 932)         if excludes:
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 933)             for p in excludes:
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 934)                 if os.path.dirname(p):
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 935)                     bad = 1
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 936) 
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 937)         if bad:
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 938)             self.registry.manager().errors()(
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 939) "The patterns to 'glob-tree' may not include directory")
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 940)         return self.registry.glob_internal(self.registry.current(),
-2a36874b (vladimir_prus 2007-10-14 07:20:55 +0000 941)                                            wildcards, excludes, "glob_tree")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 942)     
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 943) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 944)     def using(self, toolset, *args):
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 945)         # The module referred by 'using' can be placed in
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 946)         # the same directory as Jamfile, and the user
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 947)         # will expect the module to be found even though
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 948)         # the directory is not in BOOST_BUILD_PATH.
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 949)         # So temporary change the search path.
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 950)         jamfile_module = self.registry.current().project_module()
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 951)         attributes = self.registry.attributes(jamfile_module)
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 952)         location = attributes.get("location")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 953) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 954)         m = self.registry.load_module(toolset[0], [location])
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 955)         if not m.__dict__.has_key("init"):
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 956)             self.registry.manager.errors()(
-7da7f9c1 (vladimir_prus 2008-05-18 04:29:53 +0000 957)                 "Tool module '%s' does not define the 'init' method" % toolset[0])
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 958)         m.init(*args)
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 959) 
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 960) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 961)     def import_(self, name, names_to_import=None, local_names=None):
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 962) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 963)         name = name[0]
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 964)         jamfile_module = self.registry.current().project_module()
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 965)         attributes = self.registry.attributes(jamfile_module)
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 966)         location = attributes.get("location")
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 967) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 968)         m = self.registry.load_module(name, [location])
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 969) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 970)         for f in m.__dict__:
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 971)             v = m.__dict__[f]
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 972)             if callable(v):
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 973)                 bjam.import_rule(jamfile_module, name + "." + f, v)
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 974) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 975)         if names_to_import:
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 976)             if not local_names:
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 977)                 local_names = names_to_import
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 978) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 979)             if len(names_to_import) != len(local_names):
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 980)                 self.registry.manager.errors()(
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 981) """The number of names to import and local names do not match.""")
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 982) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 983)             for n, l in zip(names_to_import, local_names):
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 984)                 bjam.import_rule(jamfile_module, l, m.__dict__[n])
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 985)         
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 986)     def conditional(self, condition, requirements):
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 987)         """Calculates conditional requirements for multiple requirements
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 988)         at once. This is a shorthand to be reduce duplication and to
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 989)         keep an inline declarative syntax. For example:
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 990) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 991)             lib x : x.cpp : [ conditional <toolset>gcc <variant>debug :
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 992)                 <define>DEBUG_EXCEPTION <define>DEBUG_TRACE ] ;
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 993)         """
-f049766b (vladimir_prus 2007-10-10 09:31:06 +0000 994) 
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 995)         c = string.join(condition, ",")
-f2aef897 (vladimir_prus 2007-10-14 09:19:52 +0000 996)         return [c + ":" + r for r in requirements]
diff --git a/SRC/Boost/tools/build/v2/build/project.jam b/SRC/Boost/tools/build/v2/build/project.jam
deleted file mode 100755
index 9351747..0000000
--- a/SRC/Boost/tools/build/v2/build/project.jam
+++ /dev/null
@@ -1,1110 +0,0 @@
-# Copyright 2002, 2003 Dave Abrahams
-# Copyright 2002, 2005, 2006 Rene Rivera
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Implements project representation and loading. Each project is represented by:
-#  - a module where all the Jamfile content live.
-#  - an instance of 'project-attributes' class.
-#    (given a module name, can be obtained using the 'attributes' rule)
-#  - an instance of 'project-target' class (from targets.jam)
-#    (given a module name, can be obtained using the 'target' rule)
-#
-# Typically, projects are created as result of loading a Jamfile, which is done
-# by rules 'load' and 'initialize', below. First, module for Jamfile is loaded
-# and new project-attributes instance is created. Some rules necessary for
-# project are added to the module (see 'project-rules' module) at the bottom of
-# this file. Default project attributes are set (inheriting attributes of parent
-# project, if it exists). After that the Jamfile is read. It can declare its own
-# attributes using the 'project' rule which will be combined with any already
-# set attributes.
-#
-# The 'project' rule can also declare a project id which will be associated with
-# the project module.
-#
-# There can also be 'standalone' projects. They are created by calling
-# 'initialize' on an arbitrary module and not specifying their location. After
-# the call, the module can call the 'project' rule, declare main targets and
-# behave as a regular project except that, since it is not associated with any
-# location, it should not declare targets that are not prebuilt.
-#
-# The list of all loaded Jamfile is stored in the .project-locations variable.
-# It is possible to obtain a module name for a location using the 'module-name'
-# rule. Standalone projects are not recorded and can only be referenced using
-# their project id.
-
-import "class" : new ;
-import errors ;
-import modules ;
-import path ;
-import print ;
-import property-set ;
-import sequence ;
-
-
-# Loads the Jamfile at the given location. After loading, project global file
-# and Jamfiles needed by the requested one will be loaded recursively. If the
-# Jamfile at that location is loaded already, does nothing. Returns the project
-# module for the Jamfile.
-#
-rule load ( jamfile-location )
-{
-    if --debug-loading in [ modules.peek : ARGV ]
-    {
-        ECHO "Loading Jamfile at" '$(jamfile-location)' ;
-    }
-
-    local module-name = [ module-name $(jamfile-location) ] ;
-    # If Jamfile is already loaded, don't try again.
-    if ! $(module-name) in $(.jamfile-modules)
-    {
-        load-jamfile $(jamfile-location) : $(module-name) ;
-
-        # We want to make sure that child project are loaded only after parent
-        # projects. In particular, because parent projects define attributes
-        # which are inherited by children, and we don't want children to be
-        # loaded before parent has defined everything.
-        #
-        # While "build-project" and "use-project" can potentially refer to child
-        # projects from parent projects, we don't immediately load child
-        # projects when seeing those attributes. Instead, we record the minimal
-        # information to be used only later.
-        load-used-projects $(module-name) ;
-    }
-    return $(module-name) ;
-}
-
-
-rule load-used-projects ( module-name )
-{
-    local used = [ modules.peek $(module-name) : .used-projects ] ;
-    local location = [ attribute $(module-name) location ] ;
-    import project ;
-    while $(used)
-    {
-        local id = $(used[1]) ;
-        local where = $(used[2]) ;
-
-        project.use $(id) : [ path.root [ path.make $(where) ] $(location) ] ;
-        used = $(used[3-]) ;
-    }
-}
-
-
-# Note the use of character groups, as opposed to listing 'Jamroot' and
-# 'jamroot'. With the latter, we would get duplicate matches on Windows and
-# would have to eliminate duplicates.
-JAMROOT ?= [ modules.peek : JAMROOT ] ;
-JAMROOT ?= project-root.jam [Jj]amroot [Jj]amroot.jam ;
-
-
-# Loads parent of Jamfile at 'location'. Issues an error if nothing is found.
-#
-rule load-parent ( location )
-{
-    local found = [ path.glob-in-parents $(location) : $(JAMROOT) $(JAMFILE) ] ;
-
-    if ! $(found)
-    {
-        ECHO error: Could not find parent for project at '$(location)' ;
-        EXIT error: Did not find Jamfile.jam or Jamroot.jam in any parent
-            directory. ;
-    }
-
-    return [ load $(found[1]:D) ] ;
-}
-
-
-# Makes the specified 'module' act as if it were a regularly loaded Jamfile at
-# 'location'. Reports an error if a Jamfile has already been loaded for that
-# location.
-#
-rule act-as-jamfile ( module : location )
-{
-    if [ module-name $(location) ] in $(.jamfile-modules)
-    {
-        errors.error "Jamfile was already loaded for '$(location)'" ;
-    }
-    # Set up non-default mapping from location to module.
-    .module.$(location) = $(module) ;
-
-    # Add the location to the list of project locations so that we don't try to
-    # reload the same Jamfile in the future.
-    .jamfile-modules += [ module-name $(location) ] ;
-
-    initialize $(module) : $(location) ;
-}
-
-
-# Returns the project module corresponding to the given project-id or plain
-# directory name. Returns nothing if such a project can not be found.
-#
-rule find ( name : current-location )
-{
-    local project-module ;
-
-    # Try interpreting name as project id.
-    if [ path.is-rooted $(name) ]
-    {
-        project-module = $($(name).jamfile-module) ;
-    }
-
-    if ! $(project-module)
-    {
-        local location = [ path.root [ path.make $(name) ] $(current-location) ]
-            ;
-
-        # If no project is registered for the given location, try to load it.
-        # First see if we have a Jamfile. If not, then see if we might have a
-        # project root willing to act as a Jamfile. In that case, project root
-        # must be placed in the directory referred by id.
-
-        project-module = [ module-name $(location) ] ;
-        if ! $(project-module) in $(.jamfile-modules)
-        {
-            if [ path.glob $(location) : $(JAMROOT) $(JAMFILE) ]
-            {
-                project-module = [ load $(location) ] ;
-            }
-            else
-            {
-                project-module = ;
-            }
-        }
-    }
-
-    return $(project-module) ;
-}
-
-
-# Returns the name of the module corresponding to 'jamfile-location'. If no
-# module corresponds to that location yet, associates the default module name
-# with that location.
-#
-rule module-name ( jamfile-location )
-{
-    if ! $(.module.$(jamfile-location))
-    {
-        # Root the path, so that locations are always unambiguous. Without this,
-        # we can't decide if '../../exe/program1' and '.' are the same paths.
-        jamfile-location = [ path.root $(jamfile-location) [ path.pwd ] ] ;
-        .module.$(jamfile-location) = Jamfile<$(jamfile-location)> ;
-    }
-    return $(.module.$(jamfile-location)) ;
-}
-
-
-# Default patterns to search for the Jamfiles to use for build declarations.
-#
-JAMFILE = [ modules.peek : JAMFILE ] ;
-JAMFILE ?= [Bb]uild.jam [Jj]amfile.v2 [Jj]amfile [Jj]amfile.jam ;
-
-
-# Find the Jamfile at the given location. This returns the exact names of all
-# the Jamfiles in the given directory. The optional parent-root argument causes
-# this to search not the given directory but the ones above it up to the
-# directory given in it.
-#
-rule find-jamfile (
-    dir # The directory(s) to look for a Jamfile.
-    parent-root ? # Optional flag indicating to search for the parent Jamfile.
-    : no-errors ?
-    )
-{
-    # Glob for all the possible Jamfiles according to the match pattern.
-    #
-    local jamfile-glob = ;
-    if $(parent-root)
-    {
-        if ! $(.parent-jamfile.$(dir))
-        {
-            .parent-jamfile.$(dir) = [ path.glob-in-parents $(dir) : $(JAMFILE)
-                ] ;
-        }
-        jamfile-glob = $(.parent-jamfile.$(dir)) ;
-    }
-    else
-    {
-        if ! $(.jamfile.$(dir))
-        {
-            .jamfile.$(dir) = [ path.glob $(dir) : $(JAMFILE) ] ;
-        }
-        jamfile-glob = $(.jamfile.$(dir)) ;
-
-    }
-
-    local jamfile-to-load = $(jamfile-glob) ;
-    # Multiple Jamfiles found in the same place. Warn about this and ensure we
-    # use only one of them. As a temporary convenience measure, if there is
-    # Jamfile.v2 among found files, suppress the warning and use it.
-    #
-    if $(jamfile-to-load[2-])
-    {
-        local v2-jamfiles = [ MATCH (.*[Jj]amfile\\.v2)|(.*[Bb]uild\\.jam) : $(jamfile-to-load) ] ;
-
-        if $(v2-jamfiles) && ! $(v2-jamfiles[2])
-        {
-            jamfile-to-load = $(v2-jamfiles) ;
-        }
-        else
-        {
-            local jamfile = [ path.basename $(jamfile-to-load[1]) ] ;
-            ECHO "warning: Found multiple Jamfiles at '"$(dir)"'!"
-                "Loading the first one: '$(jamfile)'." ;
-        }
-
-        jamfile-to-load = $(jamfile-to-load[1]) ;
-    }
-
-    # Could not find it, error.
-    #
-    if ! $(no-errors) && ! $(jamfile-to-load)
-    {
-        errors.error Unable to load Jamfile.
-            : Could not find a Jamfile in directory '$(dir)'.
-            : Attempted to find it with pattern '"$(JAMFILE:J=" ")"'.
-            : Please consult the documentation at 'http://www.boost.org'. ;
-    }
-
-    return $(jamfile-to-load) ;
-}
-
-
-# Load a Jamfile at the given directory. Returns nothing. Will attempt to load
-# the file as indicated by the JAMFILE patterns. Effect of calling this rule
-# twice with the same 'dir' is undefined.
-#
-local rule load-jamfile (
-    dir  # The directory of the project Jamfile.
-    : jamfile-module
-    )
-{
-    # See if the Jamfile is where it should be.
-    #
-    local jamfile-to-load = [ path.glob $(dir) : $(JAMROOT) ] ;
-    if ! $(jamfile-to-load)
-    {
-        jamfile-to-load = [ find-jamfile $(dir) ] ;
-    }
-    
-    if $(jamfile-to-load[2])
-    {
-        errors.error "Multiple Jamfiles found at '$(dir)'" 
-          :  "Filenames are: " $(jamfile-to-load:D=) ;
-    }
-    
-    # Now load the Jamfile in it's own context. 
-    # The call to 'initialize' may load parent Jamfile, which might have
-    # 'use-project' statement that causes a second attempt to load the
-    # same project we're loading now.  Checking inside .jamfile-modules
-    # prevents that second attempt from messing up.
-    if ! $(jamfile-module) in $(.jamfile-modules)
-    {
-        .jamfile-modules += $(jamfile-module) ;
-
-        # Initialize the Jamfile module before loading.
-        #
-        initialize $(jamfile-module) : [ path.parent $(jamfile-to-load) ]
-            : $(jamfile-to-load:BS) ;
-
-        local saved-project = $(.current-project) ;
-
-        mark-as-user $(jamfile-module) ;
-        modules.load $(jamfile-module) : [ path.native $(jamfile-to-load) ] : . ;
-        if [ MATCH ($(JAMROOT)) : $(jamfile-to-load:BS) ]
-        {
-            jamfile = [ find-jamfile $(dir) : no-errors ] ;
-            if $(jamfile)
-            {
-                load-aux $(jamfile-module) : [ path.native $(jamfile) ] ;
-            }
-        }
-
-    # Now do some checks.
-    if $(.current-project) != $(saved-project)
-    {
-        errors.error "The value of the .current-project variable has magically"
-            : "changed after loading a Jamfile. This means some of the targets"
-            : "might be defined in the wrong project."
-            : "after loading" $(jamfile-module)
-            : "expected value" $(saved-project)
-            : "actual value" $(.current-project) ;
-    }
-
-    if $(.global-build-dir)
-    {
-        local id           = [ attribute $(jamfile-module) id           ] ;
-        local project-root = [ attribute $(jamfile-module) project-root ] ;
-        local location     = [ attribute $(jamfile-module) location     ] ;
-
-        if $(location) && $(project-root) = $(dir)
-        {
-            # This is Jamroot.
-            if ! $(id)
-            {
-                ECHO "warning: the --build-dir option was specified" ;
-                ECHO "warning: but Jamroot at '$(dir)'" ;
-                ECHO "warning: specified no project id" ;
-                ECHO "warning: the --build-dir option will be ignored" ;
-            }
-        }
-    }
-    }
-}
-
-
-rule mark-as-user ( module-name )
-{
-    if USER_MODULE in [ RULENAMES ]
-    {
-        USER_MODULE $(module-name) ;
-    }
-}
-
-
-rule load-aux ( module-name : file )
-{
-    mark-as-user $(module-name) ;
-
-    module $(module-name)
-    {
-        include $(2) ;
-        local rules = [ RULENAMES $(1) ] ;
-        IMPORT $(1) : $(rules) : $(1) : $(1).$(rules) ;
-    }
-}
-
-
-.global-build-dir = [ MATCH --build-dir=(.*) : [ modules.peek : ARGV ] ] ;
-if $(.global-build-dir)
-{
-    # If the option is specified several times, take the last value.
-    .global-build-dir = [ path.make $(.global-build-dir[-1]) ] ;
-}
-
-
-# Initialize the module for a project.
-#
-rule initialize (
-    module-name   # The name of the project module.
-    : location ?  # The location (directory) of the project to initialize. If
-                  # not specified, a standalone project will be initialized.
-    : basename ?
-    )
-{
-    if --debug-loading in [ modules.peek : ARGV ]
-    {
-        ECHO "Initializing project '$(module-name)'" ;
-    }
-
-    # TODO: need to consider if standalone projects can do anything but define
-    # prebuilt targets. If so, we need to give it a more sensible "location", so
-    # that source paths are correct.
-    location ?= "" ;
-    # Create the module for the Jamfile first.
-    module $(module-name)
-    {
-    }
-    $(module-name).attributes = [ new project-attributes $(location)
-        $(module-name) ] ;
-    local attributes = $($(module-name).attributes) ;
-
-    if $(location)
-    {
-        $(attributes).set source-location : [ path.make $(location) ] : exact ;
-    }
-    else if ! $(module-name) in test-config site-config user-config project-config
-    {
-        # This is a standalone project with known location. Set source location
-        # so that it can declare targets. This is intended so that you can put
-        # a .jam file in your sources and use it via 'using'. Standard modules
-        # (in 'tools' subdir) may not assume source dir is set.
-        local s = [ modules.binding $(module-name) ] ;
-        if ! $(s)
-        {
-            errors.error "Could not determine project location $(module-name)" ;
-        }        
-        $(attributes).set source-location : $(s:D) : exact ;
-    }
-
-    $(attributes).set requirements       : [ property-set.empty ] : exact ;
-    $(attributes).set usage-requirements : [ property-set.empty ] : exact ;
-
-    # Import rules common to all project modules from project-rules module,
-    # defined at the end of this file.
-    local rules = [ RULENAMES project-rules ] ;
-    IMPORT project-rules : $(rules) : $(module-name) : $(rules) ;
-
-    local jamroot ;
-
-    local parent-module ;
-    if $(module-name) = test-config
-    {
-        # No parent.
-    }
-    else if $(module-name) = site-config
-    {
-        parent-module = test-config ;
-    }
-    else if $(module-name) = user-config
-    {
-        parent-module = site-config ;
-    }
-    else if $(module-name) = project-config
-    {
-        parent-module = user-config ;
-    }    
-    else
-    {
-        # We search for parent/project-root only if Jamfile was specified, i.e.
-        # if the project is not standalone.
-        if $(location) && ! [ MATCH ($(JAMROOT)) : $(basename) ]
-        {
-            parent-module = [ load-parent $(location) ] ;
-        }
-        else
-        {
-            # It's either jamroot or standalone project. If it's jamroot,
-            # inherit from user-config.
-            if $(location)
-            {
-                # If project-config module exist, inherit from it.
-                if $(project-config.attributes)
-                {   
-                    parent-module = project-config ;
-                }
-                else
-                {                    
-                    parent-module = user-config ;
-                }                
-                jamroot = true ;
-            }
-        }
-    }
-
-    if $(parent-module)
-    {
-        inherit-attributes $(module-name) : $(parent-module) ;
-        $(attributes).set parent-module : $(parent-module) : exact ;
-    }
-
-    if $(jamroot)
-    {
-        $(attributes).set project-root : $(location) : exact ;
-    }
-
-    local parent ;
-    if $(parent-module)
-    {
-        parent = [ target $(parent-module) ] ;
-    }
-
-    if ! $(.target.$(module-name))
-    {
-        .target.$(module-name) = [ new project-target $(module-name)
-            : $(module-name) $(parent)
-            : [ attribute $(module-name) requirements ] ] ;
-
-        if --debug-loading in [ modules.peek : ARGV ]
-        {
-            ECHO "Assigned project target" $(.target.$(module-name))
-                "to '$(module-name)'" ;
-        }
-    }
-
-    .current-project = [ target $(module-name) ] ;
-}
-
-
-# Make 'project-module' inherit attributes of project root and parent module.
-#
-rule inherit-attributes ( project-module : parent-module )
-{
-    local attributes = $($(project-module).attributes) ;
-    local pattributes = [ attributes $(parent-module) ] ;
-    # Parent module might be locationless configuration module.
-    if [ modules.binding $(parent-module) ]
-    {
-        $(attributes).set parent : [ path.parent
-            [ path.make [ modules.binding $(parent-module) ] ] ] ;
-    }
-    local v = [ $(pattributes).get project-root ] ;
-    $(attributes).set project-root : $(v) : exact ;
-    $(attributes).set default-build
-        : [ $(pattributes).get default-build ] ;
-    $(attributes).set requirements
-        : [ $(pattributes).get requirements ] : exact ;
-    $(attributes).set usage-requirements
-        : [ $(pattributes).get usage-requirements ] : exact ;
-
-    local parent-build-dir = [ $(pattributes).get build-dir ] ;
-    if $(parent-build-dir)
-    {
-        # Have to compute relative path from parent dir to our dir. Convert both
-        # paths to absolute, since we cannot find relative path from ".." to
-        # ".".
-
-        local location = [ attribute $(project-module) location ] ;
-        local parent-location = [ attribute $(parent-module) location ] ;
-
-        local pwd = [ path.pwd ] ;
-        local parent-dir = [ path.root $(parent-location) $(pwd) ] ;
-        local our-dir = [ path.root $(location) $(pwd) ] ;
-        $(attributes).set build-dir : [ path.join $(parent-build-dir)
-            [ path.relative $(our-dir) $(parent-dir) ] ] : exact ;
-    }
-}
-
-
-# Associate the given id with the given project module.
-#
-rule register-id ( id : module )
-{
-    $(id).jamfile-module = $(module) ;
-}
-
-
-# Class keeping all the attributes of a project.
-#
-# The standard attributes are "id", "location", "project-root", "parent"
-# "requirements", "default-build", "source-location" and "projects-to-build".
-#
-class project-attributes
-{
-    import property ;
-    import property-set ;
-    import errors ;
-    import path ;
-    import print ;
-    import sequence ;
-    import project ;
-
-    rule __init__ ( location project-module )
-    {
-        self.location = $(location) ;
-        self.project-module = $(project-module) ;
-    }
-
-    # Set the named attribute from the specification given by the user. The
-    # value actually set may be different.
-    #
-    rule set ( attribute : specification *
-        : exact ?  # Sets value from 'specification' without any processing.
-        )
-    {
-        if $(exact)
-        {
-            self.$(attribute) = $(specification) ;
-        }
-        else if $(attribute) = "requirements"
-        {
-            local result = [ property-set.refine-from-user-input
-                $(self.requirements) : $(specification)
-                : $(self.project-module) : $(self.location) ] ;
-
-            if $(result[1]) = "@error"
-            {
-                errors.error Requirements for project at '$(self.location)'
-                    conflict with parent's. : Explanation: $(result[2-]) ;
-            }
-            else
-            {
-                self.requirements = $(result) ;
-            }
-        }
-        else if $(attribute) = "usage-requirements"
-        {
-            local unconditional ;
-            for local p in $(specification)
-            {
-                local split = [ property.split-conditional $(p) ] ;
-                split ?= nothing $(p) ;
-                unconditional += $(split[2]) ;
-            }
-
-            local non-free = [ property.remove free : $(unconditional) ] ;
-            if $(non-free)
-            {
-                errors.error usage-requirements $(specification) have non-free
-                    properties $(non-free) ;
-            }
-            local t = [ property.translate-paths $(specification)
-                                      : $(self.location) ] ;
-            if $(self.usage-requirements)
-            {
-                self.usage-requirements = [ property-set.create
-                    [ $(self.usage-requirements).raw ] $(t) ] ;
-            }
-            else
-            {
-                self.usage-requirements = [ property-set.create $(t) ] ;
-            }
-        }
-        else if $(attribute) = "default-build"
-        {
-            self.default-build = [ property.make $(specification) ] ;
-        }
-        else if $(attribute) = "source-location"
-        {
-            self.source-location = ;
-            for local src-path in $(specification)
-            {
-                self.source-location += [ path.root [ path.make $(src-path) ]
-                    $(self.location) ] ;
-            }
-        }
-        else if $(attribute) = "build-dir"
-        {
-            self.build-dir = [ path.root
-                [ path.make $(specification) ] $(self.location) ] ;
-        }
-        else if $(attribute) = "id"
-        {
-            id = [ path.root $(specification) / ] ;
-            project.register-id $(id) : $(self.project-module) ;
-            self.id = $(id) ;
-        }
-        else if ! $(attribute) in "default-build" "location" "parent"
-            "projects-to-build" "project-root" "source-location"
-        {
-            errors.error Invalid project attribute '$(attribute)' specified for
-                project at '$(self.location)' ;
-        }
-        else
-        {
-            self.$(attribute) = $(specification) ;
-        }
-    }
-
-    # Returns the value of the given attribute.
-    #
-    rule get ( attribute )
-    {
-        return $(self.$(attribute)) ;
-    }
-
-    # Prints the project attributes.
-    #
-    rule print ( )
-    {
-        local id = $(self.id) ; id ?= (none) ;
-        local parent = $(self.parent) ; parent ?= (none) ;
-        print.section "'"$(id)"'" ;
-        print.list-start ;
-        print.list-item "Parent project:" $(parent) ;
-        print.list-item "Requirements:" [ $(self.requirements).raw ] ;
-        print.list-item "Default build:" $(self.default-build) ;
-        print.list-item "Source location:" $(self.source-location) ;
-        print.list-item "Projects to build:"
-                        [ sequence.insertion-sort $(self.projects-to-build) ] ;
-        print.list-end ;
-    }
-}
-
-
-# Returns the project which is currently being loaded.
-#
-rule current ( )
-{
-    return $(.current-project) ;
-}
-
-
-# Temporarily changes the current project to 'project'. Should be followed by
-# 'pop-current'.
-#
-rule push-current ( project )
-{
-    .saved-current-project += $(.current-project) ;
-    .current-project = $(project) ;
-}
-
-
-rule pop-current ( )
-{
-    .current-project = $(.saved-current-project[-1]) ;
-    .saved-current-project = $(.saved-current-project[1--2]) ;
-}
-
-
-# Returns the project-attribute instance for the specified Jamfile module.
-#
-rule attributes ( project )
-{
-    return $($(project).attributes) ;
-}
-
-
-# Returns the value of the specified attribute in the specified Jamfile module.
-#
-rule attribute ( project attribute )
-{
-    return [ $($(project).attributes).get $(attribute) ] ;
-}
-
-
-# Returns the project target corresponding to the 'project-module'.
-#
-rule target ( project-module )
-{
-    if ! $(.target.$(project-module))
-    {
-        .target.$(project-module) = [ new project-target $(project-module)
-            : $(project-module)
-            : [ attribute $(project-module) requirements ] ] ;
-    }
-    return $(.target.$(project-module)) ;
-}
-
-
-# Use/load a project.
-#
-rule use ( id : location )
-{
-    local saved-project = $(.current-project) ;
-    local project-module = [ project.load $(location) ] ;
-    local declared-id = [ project.attribute $(project-module) id ] ;
-
-    if ! $(declared-id) || $(declared-id) != $(id)
-    {
-        # The project at 'location' either has no id or that id is not equal to
-        # the 'id' parameter.
-        if $($(id).jamfile-module) && ( $($(id).jamfile-module) !=
-            $(project-module) )
-        {
-            errors.user-error Attempt to redeclare already existing project id
-                '$(id)' 
-                location '$(location)' ;
-        }
-        $(id).jamfile-module = $(project-module) ;
-    }
-    .current-project = $(saved-project) ;
-}
-
-
-# Defines a Boost.Build extension project. Such extensions usually contain
-# library targets and features that can be used by many people. Even though
-# extensions are really projects, they can be initialized as a module would be
-# with the "using" (project.project-rules.using) mechanism.
-#
-rule extension ( id : options * : * )
-{
-    # The caller is a standalone module for the extension.
-    local mod = [ CALLER_MODULE ] ;
-
-    # We need to do the rest within the extension module.
-    module $(mod)
-    {
-        import path ;
-
-        # Find the root project.
-        local root-project = [ project.current ] ;
-        root-project = [ $(root-project).project-module ] ;
-        while
-            [ project.attribute $(root-project) parent-module ] &&
-            [ project.attribute $(root-project) parent-module ] != user-config
-        {
-            root-project = [ project.attribute $(root-project) parent-module ] ;
-        }
-
-        # Create the project data, and bring in the project rules into the
-        # module.
-        project.initialize $(__name__) : [ path.join [ project.attribute
-            $(root-project) location ] ext $(1:L) ] ;
-
-        # Create the project itself, i.e. the attributes. All extensions are
-        # created in the "/ext" project space.
-        project /ext/$(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) :
-            $(9) ;
-        local attributes = [ project.attributes $(__name__) ] ;
-
-        # Inherit from the root project of whomever is defining us.
-        project.inherit-attributes $(__name__) : $(root-project) ;
-        $(attributes).set parent-module : $(root-project) : exact ;
-    }
-}
-
-
-rule glob-internal ( project : wildcards + : excludes * : rule-name )
-{
-    local location = [ $(project).get source-location ] ;
-
-    local result ;
-    local paths = [ path.$(rule-name) $(location) :
-        [ sequence.transform path.make : $(wildcards) ] :
-        [ sequence.transform path.make : $(excludes) ] ] ;
-    if $(wildcards:D) || $(rule-name) != glob
-    {
-        # The paths we have found are relative to the current directory, but the
-        # names specified in the sources list are assumed to be relative to the
-        # source directory of the corresponding project. So, just make the names
-        # absolute.
-        for local p in $(paths)
-        {
-            # If the path is below source location, use relative path.
-            # Otherwise, use full path just to avoid any ambiguities.
-            local rel = [ path.relative $(p) $(location) : no-error ] ;
-            if $(rel) = not-a-child
-            {                   
-                result += [ path.root $(p) [ path.pwd ] ] ;
-            }
-            else
-            {
-                result += $(rel) ;
-            }                
-        }
-    }
-    else
-    {
-        # There were no wildcards in the directory path, so the files are all in
-        # the source directory of the project. Just drop the directory, instead
-        # of making paths absolute.
-        result = $(paths:D="") ;
-    }
-
-    return $(result) ;
-}
-
-
-# This module defines rules common to all projects.
-#
-module project-rules
-{
-    rule using ( toolset-module : * )
-    {
-        import toolset ;
-        import modules ;
-        import project ;
-
-        # Temporarily change the search path so the module referred to by
-        # 'using' can be placed in the same directory as Jamfile. User will
-        # expect the module to be found even though the directory is not in
-        # BOOST_BUILD_PATH.
-        local x = [ modules.peek : BOOST_BUILD_PATH ] ;
-        local caller = [ CALLER_MODULE ] ;
-        local caller-location = [ modules.binding $(caller) ] ;
-        modules.poke : BOOST_BUILD_PATH : $(caller-location:D) $(x) ;
-        toolset.using $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-        modules.poke : BOOST_BUILD_PATH : $(x) ;
-
-        # The above might have clobbered .current-project. Restore the correct
-        # value.
-        modules.poke project : .current-project
-            : [ project.target $(caller) ] ;
-    }
-
-    import modules ;
-
-    rule import ( * : * : * )
-    {
-        modules.import project ;
-
-        local caller = [ CALLER_MODULE ] ;
-        local saved = [ modules.peek project : .current-project ] ;
-        module $(caller)
-        {
-            modules.import $(1) : $(2) : $(3) ;
-        }
-        modules.poke project : .current-project : $(saved) ;
-    }
-
-    rule project ( id ? : options * : * )
-    {
-        import errors ;
-        import path ;
-        import project ;
-
-        local caller = [ CALLER_MODULE ] ;
-        local attributes = [ project.attributes $(caller) ] ;
-        if $(id)
-        {
-           $(attributes).set id : $(id) ;
-        }
-
-        local explicit-build-dir ;
-
-        for n in 2 3 4 5 6 7 8 9
-        {
-            local option = $($(n)) ;
-            if $(option)
-            {
-                $(attributes).set $(option[1]) : $(option[2-]) ;
-            }
-            if $(option[1]) = "build-dir"
-            {
-                explicit-build-dir = [ path.make $(option[2-]) ] ;
-            }
-        }
-
-        # If '--build-dir' is specified, change the build dir for the project.
-        local global-build-dir =
-            [ modules.peek project : .global-build-dir ] ;
-
-        if $(global-build-dir)
-        {
-            local location = [ $(attributes).get location ] ;
-            # Project with an empty location is a 'standalone' project such as
-            # user-config or qt. It has no build dir. If we try to set build dir
-            # for user-config, we shall then try to inherit it, with either
-            # weird or wrong consequences.
-            if $(location) && $(location) = [ $(attributes).get project-root ]
-            {
-                # Re-read the project id, since it might have been changed in
-                # the project's attributes.
-                id = [ $(attributes).get id ] ;
-                # This is Jamroot.
-                if $(id)
-                {
-                    if $(explicit-build-dir) &&
-                        [ path.is-rooted $(explicit-build-dir) ]
-                    {
-                        errors.user-error Absolute directory specified via
-                            'build-dir' project attribute : Do not know how to
-                            combine that with the --build-dir option. ;
-                    }
-                    # Strip the leading slash from id.
-                    local rid = [ MATCH /(.*) : $(id) ] ;
-                    local p = [ path.join
-                        $(global-build-dir) $(rid) $(explicit-build-dir) ] ;
-
-                    $(attributes).set build-dir : $(p) : exact ;
-                }
-            }
-            else
-            {
-                # Not Jamroot.
-                if $(explicit-build-dir)
-                {
-                    errors.user-error When --build-dir is specified, the
-                        'build-dir' project : attribute is allowed only for
-                        top-level 'project' invocations ;
-                }
-            }
-        }
-    }
-
-    # Declare and set a project global constant. Project global constants are
-    # normal variables but should not be changed. They are applied to every
-    # child Jamfile.
-    #
-    rule constant (
-        name  # Variable name of the constant.
-        : value +  # Value of the constant.
-    )
-    {
-        import project ;
-        local caller = [ CALLER_MODULE ] ;
-        local p = [ project.target $(caller) ] ;
-        $(p).add-constant $(name) : $(value) ;
-    }
-
-    # Declare and set a project global constant, whose value is a path. The path
-    # is adjusted to be relative to the invocation directory. The given value
-    # path is taken to be either absolute, or relative to this project root.
-    #
-    rule path-constant (
-        name  # Variable name of the constant.
-        : value +  # Value of the constant.
-        )
-    {
-        import project ;
-        local caller = [ CALLER_MODULE ] ;
-        local p = [ project.target $(caller) ] ;
-        $(p).add-constant $(name) : $(value) : path ;
-    }
-
-    rule use-project ( id : where )
-    {
-        import modules ;
-        # See comment in 'load' for explanation.
-        local caller = [ CALLER_MODULE ] ;
-        modules.poke $(caller) : .used-projects :
-            [ modules.peek $(caller) : .used-projects ]
-            $(id) $(where) ;
-    }
-
-    rule build-project ( dir )
-    {
-        import project ;
-        local caller = [ CALLER_MODULE ] ;
-        local attributes = [ project.attributes $(caller) ] ;
-
-        local now = [ $(attributes).get projects-to-build ] ;
-        $(attributes).set projects-to-build : $(now) $(dir) ;
-    }
-
-    rule explicit ( target-names * )
-    {
-        import project ;
-        # If 'explicit' is used in a helper rule defined in Jamroot and
-        # inherited by children, then most of the time we want 'explicit' to
-        # operate on the Jamfile where the helper rule is invoked.
-        local t = [ project.current ] ;
-        for local n in $(target-names)
-        {
-            $(t).mark-target-as-explicit $(n) ;
-        }
-    }
-
-    rule always ( target-names * )
-    {
-        import project ;
-        local t = [ project.current ] ;
-        for local n in $(target-names)
-        {
-            $(t).mark-target-as-always $(n) ;
-        }        
-    }
-    
-    rule glob ( wildcards + : excludes * )
-    {
-        import project ;
-        return [ project.glob-internal [ project.current ] : $(wildcards) :
-            $(excludes) : glob ] ;
-    }
-
-    rule glob-tree ( wildcards + : excludes * )
-    {
-        import project ;
-
-        if $(wildcards:D) || $(excludes:D)
-        {
-            errors.user-error The patterns to 'glob-tree' may not include
-                directory ;
-        }
-        return [ project.glob-internal [ project.current ] : $(wildcards) :
-            $(excludes) : glob-tree ] ;
-    }
-
-    # Calculates conditional requirements for multiple requirements at once.
-    # This is a shorthand to reduce duplication and to keep an inline
-    # declarative syntax. For example:
-    #
-    #   lib x : x.cpp : [ conditional <toolset>gcc <variant>debug :
-    #       <define>DEBUG_EXCEPTION <define>DEBUG_TRACE ] ;
-    #
-    rule conditional ( condition + : requirements * )
-    {
-        local condition = $(condition:J=,) ;
-        if [ MATCH (:) : $(condition) ]
-        {
-            return $(condition)$(requirements) ;
-        }
-        else
-        {
-            return $(condition):$(requirements) ;
-        }
-    }
-    
-    rule option ( name : value )
-    {
-        if $(__name__) != site-config && $(__name__) != user-config && $(__name__) != project-config
-        {
-            import errors ;
-            errors.error "The 'option' rule may be used only in site-config or user-config" ;
-        }        
-        import option ;
-        option.set $(name) : $(value) ;
-    }    
-}
diff --git a/SRC/Boost/tools/build/v2/build/project.py b/SRC/Boost/tools/build/v2/build/project.py
deleted file mode 100755
index f77ccfe..0000000
--- a/SRC/Boost/tools/build/v2/build/project.py
+++ /dev/null
@@ -1,1120 +0,0 @@
-# Status: ported.
-# Base revision: 64488
-
-# Copyright 2002, 2003 Dave Abrahams 
-# Copyright 2002, 2005, 2006 Rene Rivera 
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-#  Implements project representation and loading.
-#   Each project is represented by 
-#   - a module where all the Jamfile content live. 
-#   - an instance of 'project-attributes' class.
-#     (given module name, can be obtained by 'attributes' rule)
-#   - an instance of 'project-target' class (from targets.jam)
-#     (given a module name, can be obtained by 'target' rule)
-#
-#  Typically, projects are created as result of loading Jamfile, which is
-#  do by rules 'load' and 'initialize', below. First, module for Jamfile
-#  is loaded and new project-attributes instance is created. Some rules
-#  necessary for project are added to the module (see 'project-rules' module)
-#  at the bottom of this file.
-#  Default project attributes are set (inheriting attributes of parent project, if
-#  it exists). After that, Jamfile is read. It can declare its own attributes,
-#  via 'project' rule, which will be combined with already set attributes.
-#
-#
-#  The 'project' rule can also declare project id, which will be associated with 
-#  the project module.
-#
-#  There can also be 'standalone' projects. They are created by calling 'initialize'
-#  on arbitrary module, and not specifying location. After the call, the module can
-#  call 'project' rule, declare main target and behave as regular projects. However,
-#  since it's not associated with any location, it's better declare only prebuilt 
-#  targets.
-#
-#  The list of all loaded Jamfile is stored in variable .project-locations. It's possible
-#  to obtain module name for a location using 'module-name' rule. The standalone projects
-#  are not recorded, the only way to use them is by project id.
-
-import b2.util.path
-from b2.build import property_set, property
-from b2.build.errors import ExceptionWithUserContext
-import b2.build.targets
-
-import bjam
-
-import re
-import sys
-import os
-import string
-import imp
-import traceback
-import b2.util.option as option
-
-from b2.util import record_jam_to_value_mapping, qualify_jam_action
-
-class ProjectRegistry:
-
-    def __init__(self, manager, global_build_dir):
-        self.manager = manager
-        self.global_build_dir = global_build_dir
-        self.project_rules_ = ProjectRules(self)
-
-        # The target corresponding to the project being loaded now
-        self.current_project = None
-        
-        # The set of names of loaded project modules
-        self.jamfile_modules = {}
-
-        # Mapping from location to module name
-        self.location2module = {}
-
-        # Mapping from project id to project module
-        self.id2module = {}
-
-        # Map from Jamfile directory to parent Jamfile/Jamroot
-        # location.
-        self.dir2parent_jamfile = {}
-
-        # Map from directory to the name of Jamfile in
-        # that directory (or None).
-        self.dir2jamfile = {}
-
-        # Map from project module to attributes object.
-        self.module2attributes = {}
-
-        # Map from project module to target for the project
-        self.module2target = {}
-
-        # Map from names to Python modules, for modules loaded
-        # via 'using' and 'import' rules in Jamfiles.
-        self.loaded_tool_modules_ = {}
-
-        self.loaded_tool_module_path_ = {}
-
-        # Map from project target to the list of
-        # (id,location) pairs corresponding to all 'use-project'
-        # invocations.
-        # TODO: should not have a global map, keep this
-        # in ProjectTarget.
-        self.used_projects = {}
-
-        self.saved_current_project = []
-
-        self.JAMROOT = self.manager.getenv("JAMROOT");
-
-        # Note the use of character groups, as opposed to listing
-        # 'Jamroot' and 'jamroot'. With the latter, we'd get duplicate
-        # matches on windows and would have to eliminate duplicates.
-        if not self.JAMROOT:
-            self.JAMROOT = ["project-root.jam", "[Jj]amroot", "[Jj]amroot.jam"]
-
-        # Default patterns to search for the Jamfiles to use for build
-        # declarations.
-        self.JAMFILE = self.manager.getenv("JAMFILE")
-
-        if not self.JAMFILE:
-            self.JAMFILE = ["[Bb]uild.jam", "[Jj]amfile.v2", "[Jj]amfile",
-                            "[Jj]amfile.jam"]
-
-
-    def load (self, jamfile_location):
-        """Loads jamfile at the given location. After loading, project global
-        file and jamfile needed by the loaded one will be loaded recursively.
-        If the jamfile at that location is loaded already, does nothing.
-        Returns the project module for the Jamfile."""
-
-        absolute = os.path.join(os.getcwd(), jamfile_location)
-        absolute = os.path.normpath(absolute)
-        jamfile_location = b2.util.path.relpath(os.getcwd(), absolute)
-
-        if "--debug-loading" in self.manager.argv():
-            print "Loading Jamfile at '%s'" % jamfile_location
-
-            
-        mname = self.module_name(jamfile_location)
-        # If Jamfile is already loaded, don't try again.
-        if not mname in self.jamfile_modules:
-        
-            self.load_jamfile(jamfile_location, mname)
-                
-            # We want to make sure that child project are loaded only
-            # after parent projects. In particular, because parent projects
-            # define attributes whch are inherited by children, and we don't
-            # want children to be loaded before parents has defined everything.
-            #
-            # While "build-project" and "use-project" can potentially refer
-            # to child projects from parent projects, we don't immediately
-            # load child projects when seing those attributes. Instead,
-            # we record the minimal information that will be used only later.
-            
-            self.load_used_projects(mname)
-             
-        return mname
-
-    def load_used_projects(self, module_name):
-        # local used = [ modules.peek $(module-name) : .used-projects ] ;
-        used = self.used_projects[module_name]
-    
-        location = self.attribute(module_name, "location")
-        for u in used:
-            id = u[0]
-            where = u[1]
-
-            self.use(id, os.path.join(location, where))
-
-    def load_parent(self, location):
-        """Loads parent of Jamfile at 'location'.
-        Issues an error if nothing is found."""
-
-        found = b2.util.path.glob_in_parents(
-            location, self.JAMROOT + self.JAMFILE) 
-
-        if not found:
-            print "error: Could not find parent for project at '%s'" % location
-            print "error: Did not find Jamfile or project-root.jam in any parent directory."
-            sys.exit(1)
-    
-        return self.load(os.path.dirname(found[0]))
-
-    def act_as_jamfile(self, module, location):
-        """Makes the specified 'module' act as if it were a regularly loaded Jamfile 
-        at 'location'. If Jamfile is already located for that location, it's an 
-        error."""
-
-        if self.module_name(location) in self.jamfile_modules:
-            self.manager.errors()(
-                "Jamfile was already loaded for '%s'" % location)
-    
-        # Set up non-default mapping from location to module.
-        self.location2module[location] = module
-    
-        # Add the location to the list of project locations
-        # so that we don't try to load Jamfile in future
-        self.jamfile_modules.append(location)
-    
-        self.initialize(module, location)
-
-    def find(self, name, current_location):
-        """Given 'name' which can be project-id or plain directory name,
-        return project module corresponding to that id or directory.
-        Returns nothing of project is not found."""
-
-        project_module = None
-
-        # Try interpreting name as project id.
-        if name[0] == '/':
-            project_module = self.id2module.get(name)
-
-        if not project_module:
-            location = os.path.join(current_location, name)
-            # If no project is registered for the given location, try to
-            # load it. First see if we have Jamfile. If not we might have project
-            # root, willing to act as Jamfile. In that case, project-root
-            # must be placed in the directory referred by id.
-        
-            project_module = self.module_name(location)
-            if not project_module in self.jamfile_modules:
-                if b2.util.path.glob([location], self.JAMROOT + self.JAMFILE):
-                    project_module = self.load(location)
-                else:
-                    project_module = None
-
-        return project_module
-
-    def module_name(self, jamfile_location):
-        """Returns the name of module corresponding to 'jamfile-location'.
-        If no module corresponds to location yet, associates default
-        module name with that location."""
-        module = self.location2module.get(jamfile_location)
-        if not module:
-            # Root the path, so that locations are always umbiguious.
-            # Without this, we can't decide if '../../exe/program1' and '.'
-            # are the same paths, or not.
-            jamfile_location = os.path.realpath(
-                os.path.join(os.getcwd(), jamfile_location))
-            module = "Jamfile<%s>" % jamfile_location
-            self.location2module[jamfile_location] = module
-        return module
-
-    def find_jamfile (self, dir, parent_root=0, no_errors=0):
-        """Find the Jamfile at the given location. This returns the
-        exact names of all the Jamfiles in the given directory. The optional
-        parent-root argument causes this to search not the given directory
-        but the ones above it up to the directory given in it."""
-        
-        # Glob for all the possible Jamfiles according to the match pattern.
-        #
-        jamfile_glob = None
-        if parent_root:
-            parent = self.dir2parent_jamfile.get(dir)
-            if not parent:
-                parent = b2.util.path.glob_in_parents(dir,
-                                                               self.JAMFILE)
-                self.dir2parent_jamfile[dir] = parent
-            jamfile_glob = parent
-        else:
-            jamfile = self.dir2jamfile.get(dir)
-            if not jamfile:
-                jamfile = b2.util.path.glob([dir], self.JAMFILE)
-                self.dir2jamfile[dir] = jamfile
-            jamfile_glob = jamfile
-
-        if len(jamfile_glob) > 1:
-            # Multiple Jamfiles found in the same place. Warn about this.
-            # And ensure we use only one of them.
-            # As a temporary convenience measure, if there's Jamfile.v2 amount
-            # found files, suppress the warning and use it.
-            #
-            pattern = "(.*[Jj]amfile\\.v2)|(.*[Bb]uild\\.jam)"
-            v2_jamfiles = [x for x in jamfile_glob if re.match(pattern, x)]
-            if len(v2_jamfiles) == 1:
-                jamfile_glob = v2_jamfiles
-            else:
-                print """warning: Found multiple Jamfiles at '%s'!""" % (dir)
-                for j in jamfile_glob:
-                    print "    -", j
-                print "Loading the first one"
-    
-        # Could not find it, error.
-        if not no_errors and not jamfile_glob:
-            self.manager.errors()(
-                """Unable to load Jamfile.
-Could not find a Jamfile in directory '%s'
-Attempted to find it with pattern '%s'.
-Please consult the documentation at 'http://boost.org/boost-build2'."""
-                % (dir, string.join(self.JAMFILE)))
-
-        if jamfile_glob:
-            return jamfile_glob[0]
-    
-    def load_jamfile(self, dir, jamfile_module):
-        """Load a Jamfile at the given directory. Returns nothing.
-        Will attempt to load the file as indicated by the JAMFILE patterns.
-        Effect of calling this rule twice with the same 'dir' is underfined."""
-      
-        # See if the Jamfile is where it should be.
-        is_jamroot = False
-        jamfile_to_load = b2.util.path.glob([dir], self.JAMROOT)
-        if not jamfile_to_load:
-            jamfile_to_load = self.find_jamfile(dir)
-        else:
-            if len(jamfile_to_load) > 1:
-                get_manager().errors()("Multiple Jamfiles found at '%s'\n" +\
-                                       "Filenames are: %s"
-                                       % (dir, [os.path.basename(j) for j in jamfile_to_load]))
-
-            is_jamroot = True
-            jamfile_to_load = jamfile_to_load[0]
-
-        dir = os.path.dirname(jamfile_to_load)
-        if not dir:
-            dir = "."
-
-        self.used_projects[jamfile_module] = []
-        
-        # Now load the Jamfile in it's own context. 
-        # The call to 'initialize' may load parent Jamfile, which might have
-        # 'use-project' statement that causes a second attempt to load the
-        # same project we're loading now.  Checking inside .jamfile-modules
-        # prevents that second attempt from messing up.
-        if not jamfile_module in self.jamfile_modules:
-            self.jamfile_modules[jamfile_module] = True
-
-            # Initialize the jamfile module before loading.
-            #    
-            self.initialize(jamfile_module, dir, os.path.basename(jamfile_to_load))
-
-            saved_project = self.current_project
-
-            bjam.call("load", jamfile_module, jamfile_to_load)
-            basename = os.path.basename(jamfile_to_load)
-
-            if is_jamroot:
-                jamfile = self.find_jamfile(dir, no_errors=True)
-                if jamfile:
-                    bjam.call("load", jamfile_module, jamfile)
-                                    
-        # Now do some checks
-        if self.current_project != saved_project:
-            self.manager.errors()(
-"""The value of the .current-project variable
-has magically changed after loading a Jamfile.
-This means some of the targets might be defined a the wrong project.
-after loading %s
-expected value %s
-actual value %s""" % (jamfile_module, saved_project, self.current_project))
-          
-        if self.global_build_dir:
-            id = self.attributeDefault(jamfile_module, "id", None)
-            project_root = self.attribute(jamfile_module, "project-root")
-            location = self.attribute(jamfile_module, "location")
-
-            if location and project_root == dir:
-                # This is Jamroot
-                if not id:
-                    # FIXME: go via errors module, so that contexts are
-                    # shown?
-                    print "warning: the --build-dir option was specified"
-                    print "warning: but Jamroot at '%s'" % dir
-                    print "warning: specified no project id"
-                    print "warning: the --build-dir option will be ignored"
-
-
-    def load_standalone(self, jamfile_module, file):
-        """Loads 'file' as standalone project that has no location
-        associated with it.  This is mostly useful for user-config.jam,
-        which should be able to define targets, but although it has
-        some location in filesystem, we don't want any build to
-        happen in user's HOME, for example.
-
-        The caller is required to never call this method twice on
-        the same file.
-        """
-
-        self.used_projects[jamfile_module] = []
-        bjam.call("load", jamfile_module, file)
-        self.load_used_projects(jamfile_module)
-        
-    def is_jamroot(self, basename):
-        match = [ pat for pat in self.JAMROOT if re.match(pat, basename)]
-        if match:
-            return 1
-        else:
-            return 0
-
-    def initialize(self, module_name, location=None, basename=None):
-        """Initialize the module for a project.
-        
-        module-name is the name of the project module.
-        location is the location (directory) of the project to initialize.
-                 If not specified, stanalone project will be initialized
-        """
-
-        if "--debug-loading" in self.manager.argv():
-            print "Initializing project '%s'" % module_name
-
-        # TODO: need to consider if standalone projects can do anything but defining
-        # prebuilt targets. If so, we need to give more sensible "location", so that
-        # source paths are correct.
-        if not location:
-            location = ""
-
-        attributes = ProjectAttributes(self.manager, location, module_name)
-        self.module2attributes[module_name] = attributes
-
-        python_standalone = False
-        if location:
-            attributes.set("source-location", [location], exact=1)
-        elif not module_name in ["test-config", "site-config", "user-config", "project-config"]:
-            # This is a standalone project with known location. Set source location
-            # so that it can declare targets. This is intended so that you can put
-            # a .jam file in your sources and use it via 'using'. Standard modules
-            # (in 'tools' subdir) may not assume source dir is set.
-            module = sys.modules[module_name]          
-            attributes.set("source-location", self.loaded_tool_module_path_[module_name], exact=1)
-            python_standalone = True
-
-        attributes.set("requirements", property_set.empty(), exact=True)
-        attributes.set("usage-requirements", property_set.empty(), exact=True)
-        attributes.set("default-build", property_set.empty(), exact=True)
-        attributes.set("projects-to-build", [], exact=True)
-        attributes.set("project-root", None, exact=True)
-        attributes.set("build-dir", None, exact=True)
-        
-        self.project_rules_.init_project(module_name, python_standalone)
-
-        jamroot = False
-
-        parent_module = None;
-        if module_name == "test-config":
-            # No parent
-            pass
-        elif module_name == "site-config":
-            parent_module = "test-config"
-        elif module_name == "user-config":
-            parent_module = "site-config"
-        elif module_name == "project-config":
-            parent_module = "user-config"
-        elif location and not self.is_jamroot(basename):
-            # We search for parent/project-root only if jamfile was specified 
-            # --- i.e
-            # if the project is not standalone.
-            parent_module = self.load_parent(location)
-        else:
-            # It's either jamroot, or standalone project.
-            # If it's jamroot, inherit from user-config.
-            if location:
-                # If project-config module exist, inherit from it.
-                if self.module2attributes.has_key("project-config"):
-                    parent_module = "project-config"
-                else:
-                    parent_module = "user-config" ;
-                
-                jamroot = True ;
-                
-        if parent_module:
-            self.inherit_attributes(module_name, parent_module)
-            attributes.set("parent-module", parent_module, exact=1)
-
-        if jamroot:
-            attributes.set("project-root", location, exact=1)
-                                
-        parent = None
-        if parent_module:
-            parent = self.target(parent_module)
-
-        if not self.module2target.has_key(module_name):
-            target = b2.build.targets.ProjectTarget(self.manager,
-                module_name, module_name, parent,
-                self.attribute(module_name,"requirements"),
-                # FIXME: why we need to pass this? It's not
-                # passed in jam code.
-                self.attribute(module_name, "default-build"))
-            self.module2target[module_name] = target
-
-        self.current_project = self.target(module_name)
-
-    def inherit_attributes(self, project_module, parent_module):
-        """Make 'project-module' inherit attributes of project
-        root and parent module."""
-
-        attributes = self.module2attributes[project_module]
-        pattributes = self.module2attributes[parent_module]
-        
-        # Parent module might be locationless user-config.
-        # FIXME:
-        #if [ modules.binding $(parent-module) ]
-        #{        
-        #    $(attributes).set parent : [ path.parent 
-        #                                 [ path.make [ modules.binding $(parent-module) ] ] ] ;
-        #    }
-        
-        attributes.set("project-root", pattributes.get("project-root"), exact=True)
-        attributes.set("default-build", pattributes.get("default-build"), exact=True)
-        attributes.set("requirements", pattributes.get("requirements"), exact=True)
-        attributes.set("usage-requirements",
-                       pattributes.get("usage-requirements"), exact=1)
-
-        parent_build_dir = pattributes.get("build-dir")
-        
-        if parent_build_dir:
-        # Have to compute relative path from parent dir to our dir
-        # Convert both paths to absolute, since we cannot
-        # find relative path from ".." to "."
-
-             location = attributes.get("location")
-             parent_location = pattributes.get("location")
-
-             our_dir = os.path.join(os.getcwd(), location)
-             parent_dir = os.path.join(os.getcwd(), parent_location)
-
-             build_dir = os.path.join(parent_build_dir,
-                                      os.path.relpath(our_dir, parent_dir))
-             attributes.set("build-dir", build_dir, exact=True)
-
-    def register_id(self, id, module):
-        """Associate the given id with the given project module."""
-        self.id2module[id] = module
-
-    def current(self):
-        """Returns the project which is currently being loaded."""
-        return self.current_project
-
-    def set_current(self, c):
-        self.current_project = c
-
-    def push_current(self, project):
-        """Temporary changes the current project to 'project'. Should
-        be followed by 'pop-current'."""
-        self.saved_current_project.append(self.current_project)
-        self.current_project = project
-
-    def pop_current(self):
-        self.current_project = self.saved_current_project[-1]
-        del self.saved_current_project[-1]
-
-    def attributes(self, project):
-        """Returns the project-attribute instance for the
-        specified jamfile module."""
-        return self.module2attributes[project]
-
-    def attribute(self, project, attribute):
-        """Returns the value of the specified attribute in the
-        specified jamfile module."""
-        return self.module2attributes[project].get(attribute)
-        try:    
-            return self.module2attributes[project].get(attribute)
-        except:
-            raise BaseException("No attribute '%s' for project" % (attribute, project))
-
-    def attributeDefault(self, project, attribute, default):
-        """Returns the value of the specified attribute in the
-        specified jamfile module."""
-        return self.module2attributes[project].getDefault(attribute, default)
-
-    def target(self, project_module):
-        """Returns the project target corresponding to the 'project-module'."""
-        if not self.module2target.has_key(project_module):
-            self.module2target[project_module] = \
-                b2.build.targets.ProjectTarget(project_module, project_module,
-                              self.attribute(project_module, "requirements"))
-        
-        return self.module2target[project_module]
-
-    def use(self, id, location):
-        # Use/load a project.
-        saved_project = self.current_project
-        project_module = self.load(location)
-        declared_id = self.attributeDefault(project_module, "id", "")
-
-        if not declared_id or declared_id != id:
-            # The project at 'location' either have no id or
-            # that id is not equal to the 'id' parameter.
-            if self.id2module.has_key(id) and self.id2module[id] != project_module:
-                self.manager.errors()(
-"""Attempt to redeclare already existing project id '%s' at location '%s'""" % (id, location))
-            self.id2module[id] = project_module
-
-        self.current_module = saved_project
-
-    def add_rule(self, name, callable):
-        """Makes rule 'name' available to all subsequently loaded Jamfiles.
-
-        Calling that rule wil relay to 'callable'."""
-        self.project_rules_.add_rule(name, callable)
-
-    def project_rules(self):
-        return self.project_rules_
-
-    def glob_internal(self, project, wildcards, excludes, rule_name):
-        location = project.get("source-location")[0]
-
-        result = []
-        callable = b2.util.path.__dict__[rule_name]
-        
-        paths = callable([location], wildcards, excludes)
-        has_dir = 0
-        for w in wildcards:
-            if os.path.dirname(w):
-                has_dir = 1
-                break
-
-        if has_dir or rule_name != "glob":
-            result = []
-            # The paths we've found are relative to current directory,
-            # but the names specified in sources list are assumed to
-            # be relative to source directory of the corresponding
-            # prject. Either translate them or make absolute.
-
-            for p in paths:
-                rel = os.path.relpath(p, location)
-                # If the path is below source location, use relative path.
-                if not ".." in rel:
-                    result.append(rel)
-                else:
-                    # Otherwise, use full path just to avoid any ambiguities.
-                    result.append(os.path.abspath(p))
-                    
-        else:
-            # There were not directory in wildcard, so the files are all
-            # in the source directory of the project. Just drop the
-            # directory, instead of making paths absolute.
-            result = [os.path.basename(p) for p in paths]
-            
-        return result
-
-    def load_module(self, name, extra_path=None):
-        """Load a Python module that should be useable from Jamfiles.
-
-        There are generally two types of modules Jamfiles might want to
-        use:
-        - Core Boost.Build. Those are imported using plain names, e.g.
-        'toolset', so this function checks if we have module named
-        b2.package.module already.
-        - Python modules in the same directory as Jamfile. We don't
-        want to even temporary add Jamfile's directory to sys.path,
-        since then we might get naming conflicts between standard
-        Python modules and those.
-        """
-
-        # See if we loaded module of this name already
-        existing = self.loaded_tool_modules_.get(name)
-        if existing:
-            return existing
-
-        # See if we have a module b2.whatever.<name>, where <name>
-        # is what is passed to this function
-        modules = sys.modules
-        for class_name in modules:
-            parts = class_name.split('.')
-            if name is class_name or parts[0] == "b2" \
-            and parts[-1] == name.replace("-", "_"):
-                module = modules[class_name]
-                self.loaded_tool_modules_[name] = module
-                return module
-
-        # Lookup a module in BOOST_BUILD_PATH
-        path = extra_path
-        if not path:
-            path = []
-        path.extend(self.manager.boost_build_path())
-        location = None
-        for p in path:
-            l = os.path.join(p, name + ".py")
-            if os.path.exists(l):
-                location = l
-                break
-
-        if not location:
-            self.manager.errors()("Cannot find module '%s'" % name)
-
-        mname = name + "__for_jamfile"
-        file = open(location)
-        try:            
-            # TODO: this means we'll never make use of .pyc module,
-            # which might be a problem, or not.
-            self.loaded_tool_module_path_[mname] = location
-            module = imp.load_module(mname, file, os.path.basename(location),
-                                     (".py", "r", imp.PY_SOURCE))
-            self.loaded_tool_modules_[name] = module
-            return module
-        finally:
-            file.close()
-        
-
-
-# FIXME:
-# Defines a Boost.Build extension project. Such extensions usually
-# contain library targets and features that can be used by many people.
-# Even though extensions are really projects, they can be initialize as
-# a module would be with the "using" (project.project-rules.using)
-# mechanism.
-#rule extension ( id : options * : * )
-#{
-#    # The caller is a standalone module for the extension.
-#    local mod = [ CALLER_MODULE ] ;
-#    
-#    # We need to do the rest within the extension module.
-#    module $(mod)
-#    {
-#        import path ;
-#        
-#        # Find the root project.
-#        local root-project = [ project.current ] ;
-#        root-project = [ $(root-project).project-module ] ;
-#        while
-#            [ project.attribute $(root-project) parent-module ] &&
-#            [ project.attribute $(root-project) parent-module ] != user-config
-#        {
-#            root-project = [ project.attribute $(root-project) parent-module ] ;
-#        }
-#        
-#        # Create the project data, and bring in the project rules
-#        # into the module.
-#        project.initialize $(__name__) :
-#            [ path.join [ project.attribute $(root-project) location ] ext $(1:L) ] ;
-#        
-#        # Create the project itself, i.e. the attributes.
-#        # All extensions are created in the "/ext" project space.
-#        project /ext/$(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-#        local attributes = [ project.attributes $(__name__) ] ;
-#        
-#        # Inherit from the root project of whomever is defining us.
-#        project.inherit-attributes $(__name__) : $(root-project) ;
-#        $(attributes).set parent-module : $(root-project) : exact ;
-#    }
-#}
-        
-
-class ProjectAttributes:
-    """Class keeping all the attributes of a project.
-
-    The standard attributes are 'id', "location", "project-root", "parent"
-    "requirements", "default-build", "source-location" and "projects-to-build".
-    """
-        
-    def __init__(self, manager, location, project_module):
-        self.manager = manager
-        self.location = location
-        self.project_module = project_module
-        self.attributes = {}
-        self.usage_requirements = None
-        
-    def set(self, attribute, specification, exact=False):
-        """Set the named attribute from the specification given by the user.
-        The value actually set may be different."""
-
-        if exact:
-            self.__dict__[attribute] = specification
-            
-        elif attribute == "requirements":
-            self.requirements = property_set.refine_from_user_input(
-                self.requirements, specification,
-                self.project_module, self.location)
-            
-        elif attribute == "usage-requirements":
-            unconditional = []
-            for p in specification:
-                split = property.split_conditional(p)
-                if split:
-                    unconditional.append(split[1])
-                else:
-                    unconditional.append(p)
-
-            non_free = property.remove("free", unconditional)
-            if non_free:                
-                get_manager().errors()("usage-requirements %s have non-free properties %s" \
-                                       % (specification, non_free))
-
-            t = property.translate_paths(
-                    property.create_from_strings(specification, allow_condition=True),
-                    self.location)
-
-            existing = self.__dict__.get("usage-requirements")
-            if existing:
-                new = property_set.create(existing.all() +  t)
-            else:
-                new = property_set.create(t)
-            self.__dict__["usage-requirements"] = new
-
-                
-        elif attribute == "default-build":
-            self.__dict__["default-build"] = property_set.create(specification)
-            
-        elif attribute == "source-location":
-            source_location = []
-            for path in specification:
-                source_location.append(os.path.join(self.location, path))
-            self.__dict__["source-location"] = source_location
-                
-        elif attribute == "build-dir":
-            self.__dict__["build-dir"] = os.path.join(self.location, specification[0])
-
-        elif attribute == "id":
-            id = specification[0]
-            if id[0] != '/':
-                id = "/" + id
-            self.manager.projects().register_id(id, self.project_module)
-            self.__dict__["id"] = id
-                
-        elif not attribute in ["default-build", "location",
-                               "source-location", "parent",
-                               "projects-to-build", "project-root"]:
-            self.manager.errors()(
-"""Invalid project attribute '%s' specified
-for project at '%s'""" % (attribute, self.location))
-        else:
-            self.__dict__[attribute] = specification
-
-    def get(self, attribute):
-        return self.__dict__[attribute]
-
-    def getDefault(self, attribute, default):
-        return self.__dict__.get(attribute, default)
-
-    def dump(self):
-        """Prints the project attributes."""
-        id = self.get("id")
-        if not id:
-            id = "(none)"
-        else:
-            id = id[0]
-
-        parent = self.get("parent")
-        if not parent:
-            parent = "(none)"
-        else:
-            parent = parent[0]
-
-        print "'%s'" % id
-        print "Parent project:%s", parent
-        print "Requirements:%s", self.get("requirements")
-        print "Default build:%s", string.join(self.get("debuild-build"))
-        print "Source location:%s", string.join(self.get("source-location"))
-        print "Projects to build:%s", string.join(self.get("projects-to-build").sort());
-
-class ProjectRules:
-    """Class keeping all rules that are made available to Jamfile."""
-
-    def __init__(self, registry):
-        self.registry = registry
-        self.manager_ = registry.manager
-        self.rules = {}
-        self.local_names = [x for x in self.__class__.__dict__
-                            if x not in ["__init__", "init_project", "add_rule",
-                                         "error_reporting_wrapper", "add_rule_for_type", "reverse"]]
-        self.all_names_ = [x for x in self.local_names]
-
-    def _import_rule(self, bjam_module, name, callable):
-        if hasattr(callable, "bjam_signature"):
-            bjam.import_rule(bjam_module, name, self.make_wrapper(callable), callable.bjam_signature)
-        else:
-            bjam.import_rule(bjam_module, name, self.make_wrapper(callable))
-        
-
-    def add_rule_for_type(self, type):
-        rule_name = type.lower().replace("_", "-")
-
-        def xpto (name, sources = [], requirements = [], default_build = [], usage_requirements = []):
-            return self.manager_.targets().create_typed_target(
-                type, self.registry.current(), name[0], sources,
-                requirements, default_build, usage_requirements) 
-
-        self.add_rule(rule_name, xpto)
-    
-    def add_rule(self, name, callable):
-        self.rules[name] = callable
-        self.all_names_.append(name)
-
-        # Add new rule at global bjam scope. This might not be ideal,
-        # added because if a jamroot does 'import foo' where foo calls
-        # add_rule, we need to import new rule to jamroot scope, and
-        # I'm lazy to do this now.
-        self._import_rule("", name, callable)
-
-    def all_names(self):
-        return self.all_names_
-
-    def call_and_report_errors(self, callable, *args, **kw):
-        result = None
-        try:
-            self.manager_.errors().push_jamfile_context()
-            result = callable(*args, **kw)
-        except ExceptionWithUserContext, e:
-            e.report()
-        except Exception, e:
-            try:
-                self.manager_.errors().handle_stray_exception (e)
-            except ExceptionWithUserContext, e:
-                e.report()
-        finally:                
-            self.manager_.errors().pop_jamfile_context()
-
-        return result
-
-    def make_wrapper(self, callable):
-        """Given a free-standing function 'callable', return a new
-        callable that will call 'callable' and report all exceptins,
-        using 'call_and_report_errors'."""
-        def wrapper(*args, **kw):
-            return self.call_and_report_errors(callable, *args, **kw)
-        return wrapper
-
-    def init_project(self, project_module, python_standalone=False):
-
-        if python_standalone:
-            m = sys.modules[project_module]
-
-            for n in self.local_names:
-                if n != "import_":
-                    setattr(m, n, getattr(self, n))
-                            
-            for n in self.rules:
-                setattr(m, n, self.rules[n])
-
-            return
-                        
-        for n in self.local_names:            
-            # Using 'getattr' here gives us a bound method,
-            # while using self.__dict__[r] would give unbound one.
-            v = getattr(self, n)
-            if callable(v):
-                if n == "import_":
-                    n = "import"
-                else:
-                    n = string.replace(n, "_", "-")
-                    
-                self._import_rule(project_module, n, v)
-
-        for n in self.rules:
-            self._import_rule(project_module, n, self.rules[n])
-
-    def project(self, *args):
-
-        jamfile_module = self.registry.current().project_module()
-        attributes = self.registry.attributes(jamfile_module)
-        
-        id = None
-        if args and args[0]:
-            id = args[0][0]
-            args = args[1:]
-
-        if id:
-            attributes.set('id', [id])
-
-        explicit_build_dir = None
-        for a in args:
-            if a:
-                attributes.set(a[0], a[1:], exact=0)
-                if a[0] == "build-dir":
-                    explicit_build_dir = a[1]
-        
-        # If '--build-dir' is specified, change the build dir for the project.
-        if self.registry.global_build_dir:
-
-            location = attributes.get("location")
-            # Project with empty location is 'standalone' project, like
-            # user-config, or qt.  It has no build dir.
-            # If we try to set build dir for user-config, we'll then
-            # try to inherit it, with either weird, or wrong consequences.
-            if location and location == attributes.get("project-root"):
-                # Re-read the project id, since it might have been changed in
-                # the project's attributes.
-                id = attributes.get('id')
-
-                # This is Jamroot.
-                if id:
-                    if explicit_build_dir and os.path.isabs(explicit_build_dir):
-                        self.registry.manager.errors()(
-"""Absolute directory specified via 'build-dir' project attribute
-Don't know how to combine that with the --build-dir option.""")
-
-                    rid = id
-                    if rid[0] == '/':
-                        rid = rid[1:]
-                    
-                    p = os.path.join(self.registry.global_build_dir, rid)
-                    if explicit_build_dir:
-                        p = os.path.join(p, explicit_build_dir)
-                    attributes.set("build-dir", p, exact=1)
-            elif explicit_build_dir:
-                self.registry.manager.errors()(
-"""When --build-dir is specified, the 'build-dir'
-attribute is allowed only for top-level 'project' invocations""")
-
-    def constant(self, name, value):
-        """Declare and set a project global constant.
-        Project global constants are normal variables but should
-        not be changed. They are applied to every child Jamfile."""
-        m = "Jamfile</home/ghost/Work/Boost/boost-svn/tools/build/v2_python/python/tests/bjam/make>"
-        self.registry.current().add_constant(name[0], value)
-
-    def path_constant(self, name, value):
-        """Declare and set a project global constant, whose value is a path. The
-        path is adjusted to be relative to the invocation directory. The given
-        value path is taken to be either absolute, or relative to this project
-        root."""
-        if len(value) > 1:
-            self.registry.manager.error()("path constant should have one element")
-        self.registry.current().add_constant(name[0], value[0], path=1)
-
-    def use_project(self, id, where):
-        # See comment in 'load' for explanation why we record the
-        # parameters as opposed to loading the project now.
-        m = self.registry.current().project_module();
-        self.registry.used_projects[m].append((id[0], where[0]))
-        
-    def build_project(self, dir):
-        assert(isinstance(dir, list))
-        jamfile_module = self.registry.current().project_module()
-        attributes = self.registry.attributes(jamfile_module)
-        now = attributes.get("projects-to-build")
-        attributes.set("projects-to-build", now + dir, exact=True)
-
-    def explicit(self, target_names):
-        self.registry.current().mark_targets_as_explicit(target_names)
-
-    def always(self, target_names):
-        self.registry.current().mark_targets_as_alays(target_names)
-
-    def glob(self, wildcards, excludes=None):
-        return self.registry.glob_internal(self.registry.current(),
-                                           wildcards, excludes, "glob")
-
-    def glob_tree(self, wildcards, excludes=None):
-        bad = 0
-        for p in wildcards:
-            if os.path.dirname(p):
-                bad = 1
-
-        if excludes:
-            for p in excludes:
-                if os.path.dirname(p):
-                    bad = 1
-
-        if bad:
-            self.registry.manager.errors()(
-"The patterns to 'glob-tree' may not include directory")
-        return self.registry.glob_internal(self.registry.current(),
-                                           wildcards, excludes, "glob_tree")
-    
-
-    def using(self, toolset, *args):
-        # The module referred by 'using' can be placed in
-        # the same directory as Jamfile, and the user
-        # will expect the module to be found even though
-        # the directory is not in BOOST_BUILD_PATH.
-        # So temporary change the search path.
-        current = self.registry.current()
-        location = current.get('location')
-
-        m = self.registry.load_module(toolset[0], [location])
-        if not m.__dict__.has_key("init"):
-            self.registry.manager.errors()(
-                "Tool module '%s' does not define the 'init' method" % toolset[0])
-        m.init(*args)
-
-        # The above might have clobbered .current-project. Restore the correct
-        # value.
-        self.registry.set_current(current)
-
-    def import_(self, name, names_to_import=None, local_names=None):
-
-        name = name[0]
-        py_name = name
-        if py_name == "os":
-            py_name = "os_j"
-        jamfile_module = self.registry.current().project_module()
-        attributes = self.registry.attributes(jamfile_module)
-        location = attributes.get("location")
-
-        saved = self.registry.current()
-
-        m = self.registry.load_module(py_name, [location])
-
-        for f in m.__dict__:
-            v = m.__dict__[f]
-            f = f.replace("_", "-")
-            if callable(v):
-                qn = name + "." + f
-                self._import_rule(jamfile_module, qn, v)
-                record_jam_to_value_mapping(qualify_jam_action(qn, jamfile_module), v)
-
-
-        if names_to_import:
-            if not local_names:
-                local_names = names_to_import
-
-            if len(names_to_import) != len(local_names):
-                self.registry.manager.errors()(
-"""The number of names to import and local names do not match.""")
-
-            for n, l in zip(names_to_import, local_names):
-                self._import_rule(jamfile_module, l, m.__dict__[n])
-                
-        self.registry.set_current(saved)
-        
-    def conditional(self, condition, requirements):
-        """Calculates conditional requirements for multiple requirements
-        at once. This is a shorthand to be reduce duplication and to
-        keep an inline declarative syntax. For example:
-
-            lib x : x.cpp : [ conditional <toolset>gcc <variant>debug :
-                <define>DEBUG_EXCEPTION <define>DEBUG_TRACE ] ;
-        """
-
-        c = string.join(condition, ",")
-        if c.find(":") != -1:
-            return [c + r for r in requirements]
-        else:
-            return [c + ":" + r for r in requirements]
-
-    def option(self, name, value):
-        name = name[0]
-        if not name in ["site-config", "user-config", "project-config"]:
-            get_manager().errors()("The 'option' rule may be used only in site-config or user-config")
-
-        option.set(name, value[0])
diff --git a/SRC/Boost/tools/build/v2/build/property-set.jam b/SRC/Boost/tools/build/v2/build/property-set.jam
deleted file mode 100755
index a766429..0000000
--- a/SRC/Boost/tools/build/v2/build/property-set.jam
+++ /dev/null
@@ -1,481 +0,0 @@
-# Copyright 2003 Dave Abrahams
-# Copyright 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import "class" : new ;
-import feature ;
-import path ;
-import project ;
-import property ;
-import sequence ;
-import set ;
-import option ;
-
-# Class for storing a set of properties.
-#
-#   There is 1<->1 correspondence between identity and value. No two instances
-# of the class are equal. To maintain this property, the 'property-set.create'
-# rule should be used to create new instances. Instances are immutable.
-#
-#   Each property is classified with regard to its effect on build results.
-# Incidental properties have no effect on build results, from Boost.Build's
-# point of view. Others are either free, or non-free and we refer to non-free
-# ones as 'base'. Each property belongs to exactly one of those categories.
-#
-#   It is possible to get a list of properties belonging to each category as
-# well as a list of properties with a specific attribute.
-#
-#   Several operations, like and refine and as-path are provided. They all use
-# caching whenever possible.
-#
-class property-set
-{
-    import errors ;
-    import feature ;
-    import path ;
-    import property ;
-    import property-set ;
-    import set ;
-    
-    rule __init__ ( raw-properties * )
-    {
-        self.raw = $(raw-properties) ;
-
-        for local p in $(raw-properties)
-        {
-            if ! $(p:G)
-            {
-                errors.error "Invalid property: '$(p)'" ;
-            }
-
-            local att = [ feature.attributes $(p:G) ] ;
-            # A feature can be both incidental and free, in which case we add it
-            # to incidental.
-            if incidental in $(att)
-            {
-                self.incidental += $(p) ;
-            }
-            else if free in $(att)
-            {
-                self.free += $(p) ;
-            }
-            else
-            {
-                self.base += $(p) ;
-            }
-
-            if dependency in $(att)
-            {
-                self.dependency += $(p) ;
-            }
-            else
-            {
-                self.non-dependency += $(p) ;
-            }
-
-            if [ MATCH (:) : $(p:G=) ]
-            {
-                self.conditional += $(p) ;
-            }
-            else
-            {
-                self.non-conditional += $(p) ;
-            }
-
-            if propagated in $(att)
-            {
-                self.propagated += $(p) ;
-            }
-            if link-incompatible in $(att)
-            {
-                self.link-incompatible += $(p) ;
-            }
-        }
-    }
-
-    # Returns Jam list of stored properties.
-    #
-    rule raw ( )
-    {
-        return $(self.raw) ;
-    }
-
-    rule str ( )
-    {
-        return "[" $(self.raw) "]" ;
-    }
-
-    # Returns properties that are neither incidental nor free.
-    #
-    rule base ( )
-    {
-        return $(self.base) ;
-    }
-
-    # Returns free properties which are not incidental.
-    #
-    rule free ( )
-    {
-        return $(self.free) ;
-    }
-
-    # Returns dependency properties.
-    #
-    rule dependency ( )
-    {
-        return $(self.dependency) ;
-    }
-
-    rule non-dependency ( )
-    {
-        return $(self.non-dependency) ;
-    }
-
-    rule conditional ( )
-    {
-        return $(self.conditional) ;
-    }
-
-    rule non-conditional ( )
-    {
-        return $(self.non-conditional) ;
-    }
-
-    # Returns incidental properties.
-    #
-    rule incidental ( )
-    {
-        return $(self.incidental) ;
-    }
-
-    rule refine ( ps )
-    {
-        if ! $(self.refined.$(ps))
-        {
-            local r = [ property.refine $(self.raw) : [ $(ps).raw ] ] ;
-            if $(r[1]) != "@error"
-            {
-                self.refined.$(ps) = [ property-set.create $(r) ] ;
-            }
-            else
-            {
-                self.refined.$(ps) = $(r) ;
-            }
-        }
-        return $(self.refined.$(ps)) ;
-    }
-
-    rule expand ( )
-    {
-        if ! $(self.expanded)
-        {
-            self.expanded = [ property-set.create [ feature.expand $(self.raw) ] ] ;
-        }
-        return $(self.expanded) ;
-    }
-
-    rule expand-composites ( )
-    {
-        if ! $(self.composites)
-        {
-            self.composites = [ property-set.create
-                [ feature.expand-composites $(self.raw) ] ] ;
-        }
-        return $(self.composites) ;
-    }
-
-    rule evaluate-conditionals ( context ? )
-    {
-        context ?= $(__name__) ;
-        if ! $(self.evaluated.$(context))
-        {
-            self.evaluated.$(context) = [ property-set.create
-                [ property.evaluate-conditionals-in-context $(self.raw) : [ $(context).raw ] ] ] ;
-        }
-        return $(self.evaluated.$(context)) ;
-    }
-
-    rule propagated ( )
-    {
-        if ! $(self.propagated-ps)
-        {
-            self.propagated-ps = [ property-set.create $(self.propagated) ] ;
-        }
-        return $(self.propagated-ps) ;
-    }
-
-    rule link-incompatible ( )
-    {
-        if ! $(self.link-incompatible-ps)
-        {
-            self.link-incompatible-ps =
-              [ property-set.create $(self.link-incompatible) ] ;
-        }
-        return $(self.link-incompatible-ps) ;
-    }
-
-    rule run-actions ( )
-    {
-        if ! $(self.run)
-        {
-            self.run = [ property-set.create [ feature.run-actions $(self.raw) ] ] ;
-        }
-        return $(self.run) ;
-    }
-
-    rule add-defaults ( )
-    {
-        if ! $(self.defaults)
-        {
-            self.defaults = [ property-set.create
-                [ feature.add-defaults $(self.raw) ] ] ;
-        }
-        return $(self.defaults) ;
-    }
-
-    rule as-path ( )
-    {
-        if ! $(self.as-path)
-        {
-            self.as-path = [ property.as-path $(self.base) ] ;
-        }
-        return $(self.as-path) ;
-    }
-
-    # Computes the path to be used for a target with the given properties.
-    # Returns a list of
-    #   - the computed path
-    #   - if the path is relative to the build directory, a value of 'true'.
-    #
-    rule target-path ( )
-    {
-        if ! $(self.target-path)
-        {
-            # The <location> feature can be used to explicitly change the
-            # location of generated targets.
-            local l = [ get <location> ] ;
-            if $(l)
-            {
-                self.target-path = $(l) ;
-            }
-            else
-            {
-                local p = [ as-path ] ;
-                p = [ property-set.hash-maybe $(p) ] ;
-                
-                # A real ugly hack. Boost regression test system requires
-                # specific target paths, and it seems that changing it to handle
-                # other directory layout is really hard. For that reason, we
-                # teach V2 to do the things regression system requires. The
-                # value of '<location-prefix>' is prepended to the path.
-                local prefix = [ get <location-prefix> ] ;
-                if $(prefix)
-                {
-                    self.target-path = [ path.join $(prefix) $(p) ] ;
-                }
-                else
-                {
-                    self.target-path = $(p) ;
-                }
-                if ! $(self.target-path)
-                {
-                    self.target-path = . ;
-                }
-                # The path is relative to build dir.
-                self.target-path += true ;
-            }
-        }
-        return $(self.target-path) ;
-    }
-
-    rule add ( ps )
-    {
-        if ! $(self.added.$(ps))
-        {
-            self.added.$(ps) = [ property-set.create $(self.raw) [ $(ps).raw ] ] ;
-        }
-        return $(self.added.$(ps)) ;
-    }
-
-    rule add-raw ( properties * )
-    {
-        return [ add [ property-set.create $(properties) ] ] ;
-    }
-
-    rule link-incompatible-with ( ps )
-    {
-        if ! $(.li.$(ps))
-        {
-            local li1 = [ $(__name__).link-incompatible ] ;
-            local li2 = [ $(ps).link-incompatible ] ;
-            if [ set.equal $(li1) : $(li2) ]
-            {
-                .li.$(ps) = false ;
-            }
-            else
-            {
-                .li.$(ps) = true ;
-            }
-        }
-        if $(.li.$(ps)) = true
-        {
-            return true ;
-        }
-        else
-        {
-            return ;
-        }
-    }
-
-    # Returns all values of 'feature'.
-    #
-    rule get ( feature )
-    {
-        if ! $(self.map-built)
-        {
-            # For each feature, create a member var and assign all values to it.
-            # Since all regular member vars start with 'self', there will be no
-            # conflicts between names.
-            self.map-built = true ;
-            for local v in $(self.raw)
-            {
-                $(v:G) += $(v:G=) ;
-            }
-        }
-        return $($(feature)) ;
-    }
-}
-
-
-# Creates a new 'property-set' instance for the given raw properties or returns
-# an already existing ones.
-#
-rule create ( raw-properties * )
-{
-    raw-properties = [ sequence.unique
-        [ sequence.insertion-sort $(raw-properties) ] ] ;
-
-    local key = $(raw-properties:J=-:E=) ;
-
-    if ! $(.ps.$(key))
-    {
-        .ps.$(key) = [ new property-set $(raw-properties) ] ;
-    }
-    return $(.ps.$(key)) ;
-}
-NATIVE_RULE property-set : create ;
-
-
-# Creates a new 'property-set' instance after checking that all properties are
-# valid and converting incidental properties into gristed form.
-#
-rule create-with-validation ( raw-properties * )
-{
-    property.validate $(raw-properties) ;
-    return [ create [ property.make $(raw-properties) ] ] ;
-}
-
-
-# Creates a property-set from the input given by the user, in the context of
-# 'jamfile-module' at 'location'.
-#
-rule create-from-user-input ( raw-properties * : jamfile-module location )
-{
-    local specification = [ property.translate-paths $(raw-properties)
-        : $(location) ] ;
-    specification = [ property.translate-indirect $(specification)
-        : $(jamfile-module) ] ;
-    local project-id = [ project.attribute $(jamfile-module) id ] ;
-    project-id ?= [ path.root $(location) [ path.pwd ] ] ;
-    specification = [ property.translate-dependencies
-                      $(specification) : $(project-id) : $(location) ] ;
-    specification =
-        [ property.expand-subfeatures-in-conditions $(specification) ] ;
-    specification = [ property.make $(specification) ] ;
-    return [ property-set.create $(specification) ] ;
-}
-
-
-# Refines requirements with requirements provided by the user. Specially handles
-# "-<property>value" syntax in specification to remove given requirements.
-# - parent-requirements -- property-set object with requirements to refine.
-# - specification       -- string list of requirements provided by the user.
-# - project-module      -- module to which context indirect features will be
-#                          bound.
-# - location            -- path to which path features are relative.
-#
-rule refine-from-user-input ( parent-requirements : specification * :
-    project-module : location )
-{
-    if ! $(specification)
-    {
-        return $(parent-requirements) ;
-    }
-    else
-    {
-        local add-requirements ;
-        local remove-requirements ;
-
-        for local r in $(specification)
-        {
-            local m = [ MATCH "^-(.*)" : $(r) ] ;
-            if $(m)
-            {
-                remove-requirements += $(m) ;
-            }
-            else
-            {
-                add-requirements += $(r) ;
-            }
-        }
-
-        if $(remove-requirements)
-        {
-            # Need to create a property set, so that path features and indirect
-            # features are translated just like they are in project
-            # requirements.
-            local ps = [ property-set.create-from-user-input
-                $(remove-requirements) : $(project-module) $(location) ] ;
-
-            parent-requirements = [ property-set.create
-                [ set.difference [ $(parent-requirements).raw ]
-                : [ $(ps).raw ] ] ] ;
-            specification = $(add-requirements) ;
-        }
-
-        local requirements = [ property-set.create-from-user-input
-            $(specification) : $(project-module) $(location) ] ;
-
-        return [ $(parent-requirements).refine $(requirements) ] ;
-    }
-}
-
-
-# Returns a property-set with an empty set of properties.
-#
-rule empty ( )
-{
-    if ! $(.empty)
-    {
-        .empty = [ create ] ;
-    }
-    return $(.empty) ;
-}
-
-if [ option.get hash : : yes ] = yes
-{    
-    rule hash-maybe ( path ? )
-    {
-        path ?= "" ;
-        return [ MD5 $(path) ] ;
-    }
-}
-else
-{
-    rule hash-maybe ( path ? )
-    {
-        return $(path) ;
-    }    
-}
-
diff --git a/SRC/Boost/tools/build/v2/build/property.jam b/SRC/Boost/tools/build/v2/build/property.jam
deleted file mode 100755
index 9e6c0c7..0000000
--- a/SRC/Boost/tools/build/v2/build/property.jam
+++ /dev/null
@@ -1,788 +0,0 @@
-# Copyright 2001, 2002, 2003 Dave Abrahams
-# Copyright 2006 Rene Rivera
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import errors ;
-import feature ;
-import indirect ;
-import path ;
-import regex ;
-import string ;
-import sequence ;
-import set ;
-import utility ;
-
-
-# Refines 'properties' by overriding any non-free and non-conditional properties
-# for which a different value is specified in 'requirements'. Returns the
-# resulting list of properties.
-#
-rule refine ( properties * : requirements * )
-{
-    local result ;
-    local error ;
-
-    # All the 'requirements' elements should be present in the result. Record
-    # them so that we can handle 'properties'.
-    for local r in $(requirements)
-    {
-        # Do not consider conditional requirements.
-        if ! [ MATCH (:) : $(r:G=) ]
-        {
-            # Note: cannot use a local variable here, so use an ugly name.
-            __require__$(r:G) = $(r:G=) ;
-        }
-    }
-
-    for local p in $(properties)
-    {
-        if [ MATCH (:) : $(p:G=) ]
-        {
-            # Do not modify conditional properties.
-            result += $(p) ;
-        }
-        else if free in [ feature.attributes $(p:G) ]
-        {
-            # Do not modify free properties.
-            result += $(p) ;
-        }
-        else
-        {
-            local required-value = $(__require__$(p:G)) ;
-            if $(required-value)
-            {
-                if $(p:G=) != $(required-value)
-                {
-                    result += $(p:G)$(required-value) ;
-                }
-                else
-                {
-                    result += $(p) ;
-                }
-            }
-            else
-            {
-                result += $(p) ;
-            }
-        }
-    }
-
-    # Unset our ugly map.
-    for local r in $(requirements)
-    {
-        __require__$(r:G) = ;
-    }
-
-    if $(error)
-    {
-        return $(error) ;
-    }
-    else
-    {
-        return [ sequence.unique $(result) $(requirements) ] ;
-    }
-}
-
-
-# Removes all conditional properties whose conditions are not met. For those
-# with met conditions, removes the condition. Properties in conditions are
-# looked up in 'context'.
-#
-rule evaluate-conditionals-in-context ( properties * : context * )
-{
-    local base ;
-    local conditionals ;
-    for local p in $(properties)
-    {
-        if [ MATCH (:<) : $(p) ]
-        {
-            conditionals += $(p) ;
-        }
-        else
-        {
-            base += $(p) ;
-        }
-    }
-
-    local result = $(base) ;
-    for local p in $(conditionals)
-    {
-        # Separate condition and property.
-        local s = [ MATCH (.*):(<.*) : $(p) ] ;
-        # Split condition into individual properties.
-        local condition = [ regex.split $(s[1]) "," ] ;
-        # Evaluate condition.
-        if ! [ MATCH (!).* : $(condition:G=) ]
-        {
-            # Only positive checks
-            if $(condition) in $(context)
-            {
-                result += $(s[2]) ;
-            }
-        }
-        else
-        {
-            # Have negative checks
-            local fail ;
-            while $(condition)
-            {
-                local c = $(condition[1]) ;
-                local m = [ MATCH !(.*) : $(c) ] ;
-                if $(m)
-                {
-                    local p = $(m:G=$(c:G)) ;
-                    if $(p) in $(context)
-                    {
-                        fail = true ;
-                        c = ;
-                    }                    
-                }    
-                else
-                {
-                    if ! $(c) in $(context)
-                    {
-                        fail = true ;
-                        c = ;
-                    }                    
-                }
-                condition = $(condition[2-]) ;
-            }
-            if ! $(fail)
-            {
-                result += $(s[2]) ;
-            }            
-        }                
-    }
-    return $(result) ;
-}
-
-
-rule expand-subfeatures-in-conditions ( properties * )
-{
-    local result ;
-    for local p in $(properties)
-    {
-        local s = [ MATCH (.*):(<.*) : $(p) ] ;
-        if ! $(s)
-        {
-            result += $(p) ;
-        }
-        else
-        {
-            local condition = $(s[1]) ;
-            local value     = $(s[2]) ;
-            # Condition might include several elements.
-            condition = [ regex.split $(condition) "," ] ;
-            local e ;
-            for local c in $(condition)
-            {
-                # It is common for a condition to include a toolset or
-                # subfeatures that have not been defined. In that case we want
-                # the condition to simply 'never be satisfied' and validation
-                # would only produce a spurious error so we prevent it by
-                # passing 'true' as the second parameter.
-                e += [ feature.expand-subfeatures $(c) : true ] ;
-            }
-            if $(e) = $(condition)
-            {
-                # (todo)
-                #   This is just an optimization and possibly a premature one at
-                # that.
-                #                             (todo) (12.07.2008.) (Jurko)
-                result += $(p) ;
-            }
-            else
-            {
-                result += $(e:J=,):$(value) ;
-            }
-        }
-    }
-    return $(result) ;
-}
-
-
-# Helper for as-path, below. Orders properties with the implicit ones first, and
-# within the two sections in alphabetical order of feature name.
-#
-local rule path-order ( x y )
-{
-    if $(y:G) && ! $(x:G)
-    {
-        return true ;
-    }
-    else if $(x:G) && ! $(y:G)
-    {
-        return ;
-    }
-    else
-    {
-        if ! $(x:G)
-        {
-            x = [ feature.expand-subfeatures $(x) ] ;
-            y = [ feature.expand-subfeatures $(y) ] ;
-        }
-
-        if $(x[1]) < $(y[1])
-        {
-            return true ;
-        }
-    }
-}
-
-
-local rule abbreviate-dashed ( string )
-{
-    local r ;
-    for local part in [ regex.split $(string) - ]
-    {
-        r += [ string.abbreviate $(part) ] ;
-    }
-    return $(r:J=-) ;
-}
-
-
-local rule identity ( string )
-{
-    return $(string) ;
-}
-
-
-if --abbreviate-paths in [ modules.peek : ARGV ]
-{
-    .abbrev = abbreviate-dashed ;
-}
-else
-{
-    .abbrev = identity ;
-}
-
-
-# Returns a path representing the given expanded property set.
-#
-rule as-path ( properties * )
-{
-    local entry = .result.$(properties:J=-) ;
-
-    if ! $($(entry))
-    {
-        # Trim redundancy.
-        properties = [ feature.minimize $(properties) ] ;
-
-        # Sort according to path-order.
-        properties = [ sequence.insertion-sort $(properties) : path-order ] ;
-
-        local components ;
-        for local p in $(properties)
-        {
-            if $(p:G)
-            {
-                local f = [ utility.ungrist $(p:G) ] ;
-                p = $(f)-$(p:G=) ;
-            }
-            components += [ $(.abbrev) $(p) ] ;
-        }
-
-        $(entry) = $(components:J=/) ;
-    }
-
-    return $($(entry)) ;
-}
-
-
-# Exit with error if property is not valid.
-#
-local rule validate1 ( property )
-{
-    local msg ;
-    if $(property:G)
-    {
-        local feature = $(property:G) ;
-        local value = $(property:G=) ;
-
-        if ! [ feature.valid $(feature) ]
-        {
-            # Ungrist for better error messages.
-            feature = [ utility.ungrist $(property:G) ] ;
-            msg = "unknown feature '$(feature)'" ;
-        }
-        else if $(value) && ! free in [ feature.attributes $(feature) ]
-        {
-            feature.validate-value-string $(feature) $(value) ;
-        }
-        else if ! ( $(value) || ( optional in [ feature.attributes $(feature) ] ) )
-        {
-            # Ungrist for better error messages.
-            feature = [ utility.ungrist $(property:G) ] ;
-            msg = "No value specified for feature '$(feature)'" ;
-        }
-    }
-    else
-    {
-        local feature = [ feature.implied-feature $(property) ] ;
-        feature.validate-value-string $(feature) $(property) ;
-    }
-    if $(msg)
-    {
-        errors.error "Invalid property "'$(property:J=" ")'": "$(msg:J=" "). ;
-    }
-}
-
-
-rule validate ( properties * )
-{
-    for local p in $(properties)
-    {
-        validate1 $(p) ;
-    }
-}
-
-
-rule validate-property-sets ( property-sets * )
-{
-    for local s in $(property-sets)
-    {
-        validate [ feature.split $(s) ] ;
-    }
-}
-
-
-# Expands any implicit property values in the given property 'specification' so
-# they explicitly state their feature.
-#
-rule make ( specification * )
-{
-    local result ;
-    for local e in $(specification)
-    {
-        if $(e:G)
-        {
-            result += $(e) ;
-        }
-        else if [ feature.is-implicit-value $(e) ]
-        {
-            local feature = [ feature.implied-feature $(e) ] ;
-            result += $(feature)$(e) ;
-        }
-        else
-        {
-            errors.error "'$(e)' is not a valid property specification" ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Returns a property set containing all the elements in 'properties' that do not
-# have their attributes listed in 'attributes'.
-#
-rule remove ( attributes + : properties * )
-{
-    local result ;
-    for local e in $(properties)
-    {
-        if ! [ set.intersection $(attributes) : [ feature.attributes $(e:G) ] ]
-        {
-            result += $(e) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Returns a property set containing all the elements in 'properties' that have
-# their attributes listed in 'attributes'.
-#
-rule take ( attributes + : properties * )
-{
-    local result ;
-    for local e in $(properties)
-    {
-        if [ set.intersection $(attributes) : [ feature.attributes $(e:G) ] ]
-        {
-            result += $(e) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Selects properties corresponding to any of the given features.
-#
-rule select ( features * : properties * )
-{
-    local result ;
-
-    # Add any missing angle brackets.
-    local empty = "" ;
-    features = $(empty:G=$(features)) ;
-
-    for local p in $(properties)
-    {
-        if $(p:G) in $(features)
-        {
-            result += $(p) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Returns a modified version of properties with all values of the given feature
-# replaced by the given value. If 'value' is empty the feature will be removed.
-#
-rule change ( properties * : feature value ? )
-{
-    local result ;
-    for local p in $(properties)
-    {
-        if $(p:G) = $(feature)
-        {
-            result += $(value:G=$(feature)) ;
-        }
-        else
-        {
-            result += $(p) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# If 'property' is a conditional property, returns the condition and the
-# property. E.g. <variant>debug,<toolset>gcc:<inlining>full will become
-# <variant>debug,<toolset>gcc <inlining>full. Otherwise, returns an empty
-# string.
-#
-rule split-conditional ( property )
-{
-    local m = [ MATCH "(.+):<(.+)" : $(property) ] ;
-    if $(m)
-    {
-        return $(m[1]) <$(m[2]) ;
-    }
-}
-
-
-# Interpret all path properties in 'properties' as relative to 'path'. The
-# property values are assumed to be in system-specific form, and will be
-# translated into normalized form.
-#
-rule translate-paths ( properties * : path )
-{
-    local result ;
-    for local p in $(properties)
-    {
-        local split = [ split-conditional $(p) ] ;
-        local condition = "" ;
-        if $(split)
-        {
-            condition = $(split[1]): ;
-            p = $(split[2]) ;
-        }
-
-        if path in [ feature.attributes $(p:G) ]
-        {
-            local values = [ regex.split $(p:TG=) "&&" ] ;
-            local t ;
-            for local v in $(values)
-            {
-                t += [ path.root [ path.make $(v) ] $(path) ] ;
-            }
-            t = $(t:J="&&") ;
-            result += $(condition)$(t:TG=$(p:G)) ;
-        }
-        else
-        {
-            result += $(condition)$(p) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Assumes that all feature values that start with '@' are names of rules, used
-# in 'context-module'. Such rules can be either local to the module or global.
-# Converts such values into 'indirect-rule' format (see indirect.jam), so they
-# can be called from other modules. Does nothing for such values that are
-# already in the 'indirect-rule' format.
-#
-rule translate-indirect ( specification * : context-module )
-{
-    local result ;
-    for local p in $(specification)
-    {
-        local m = [ MATCH ^@(.+) : $(p:G=) ] ;
-        if $(m)
-        {
-            local v ;
-            if [ MATCH "^([^%]*)%([^%]+)$" : $(m) ]
-            {
-                # Rule is already in the 'indirect-rule' format.
-                v = $(m) ;
-            }
-            else
-            {
-                if ! [ MATCH ".*([.]).*" : $(m) ]
-                {
-                    # This is an unqualified rule name. The user might want to
-                    # set flags on this rule name and toolset.flag
-                    # auto-qualifies it. Need to do the same here so flag
-                    # setting works. We can arrange for toolset.flag to *not*
-                    # auto-qualify the argument but then two rules defined in
-                    # two Jamfiles would conflict.
-                    m = $(context-module).$(m) ;
-                }
-                v = [ indirect.make $(m) : $(context-module) ] ;
-            }
-
-            v = @$(v) ;
-            result += $(v:G=$(p:G)) ;
-        }
-        else
-        {
-            result += $(p) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Binds all dependency properties in a list relative to the given project.
-# Targets with absolute paths will be left unchanged and targets which have a
-# project specified will have the path to the project interpreted relative to
-# the specified location.
-#
-rule translate-dependencies ( specification * : project-id : location )
-{
-    local result ;
-    for local p in $(specification)
-    {
-        local split = [ split-conditional $(p) ] ;
-        local condition = "" ;
-        if $(split)
-        {
-            condition = $(split[1]): ;
-            p = $(split[2]) ;
-        }
-        if dependency in [ feature.attributes $(p:G) ]
-        {
-            local split-target = [ regex.match (.*)//(.*) : $(p:G=) ] ;
-            if $(split-target)
-            {
-                local rooted = [ path.root [ path.make $(split-target[1]) ]
-                     [ path.root $(location) [ path.pwd ] ] ] ;
-                result += $(condition)$(p:G)$(rooted)//$(split-target[2]) ;
-            }
-            else if [ path.is-rooted $(p:G=) ]
-            {
-                result += $(condition)$(p) ;
-            }
-            else
-            {
-                result += $(condition)$(p:G)$(project-id)//$(p:G=) ;
-            }
-        }
-        else
-        {
-            result += $(condition)$(p) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Class maintaining a property set -> string mapping.
-#
-class property-map
-{
-    import errors ;
-    import numbers ;
-    import sequence ;
-
-    rule __init__ ( )
-    {
-        self.next-flag = 1 ;
-    }
-
-    # Associate 'value' with 'properties'.
-    #
-    rule insert ( properties + : value )
-    {
-        self.all-flags += $(self.next-flag) ;
-        self.properties.$(self.next-flag) = $(properties) ;
-        self.value.$(self.next-flag) = $(value) ;
-
-        self.next-flag = [ numbers.increment $(self.next-flag) ] ;
-    }
-
-    # Returns the value associated with 'properties' or any subset of it. If
-    # more than one subset has a value assigned to it, returns the value for the
-    # longest subset, if it is unique.
-    #
-    rule find ( properties + )
-    {
-        return [ find-replace $(properties) ] ;
-    }
-
-    # Returns the value associated with 'properties'. If 'value' parameter is
-    # given, replaces the found value.
-    #
-    rule find-replace ( properties + : value ? )
-    {
-        # First find all matches.
-        local matches ;
-        local match-ranks ;
-        for local i in $(self.all-flags)
-        {
-            if $(self.properties.$(i)) in $(properties)
-            {
-                matches += $(i) ;
-                match-ranks += [ sequence.length $(self.properties.$(i)) ] ;
-            }
-        }
-        local best = [ sequence.select-highest-ranked $(matches)
-            : $(match-ranks) ] ;
-        if $(best[2])
-        {            
-            errors.error "Ambiguous key $(properties:J= :E=)" ;
-        }
-        local original = $(self.value.$(best)) ;
-        if $(value)
-        {
-            self.value.$(best) = $(value) ;
-        }
-        return $(original) ;
-    }
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-    import "class" : new ;
-    import errors : try catch ;
-    import feature ;
-
-    # Local rules must be explicitly re-imported.
-    import property : path-order abbreviate-dashed ;
-
-    feature.prepare-test property-test-temp ;
-
-    feature.feature toolset : gcc : implicit symmetric ;
-    feature.subfeature toolset gcc : version : 2.95.2 2.95.3 2.95.4 3.0 3.0.1
-        3.0.2 : optional ;
-    feature.feature define : : free ;
-    feature.feature runtime-link : dynamic static : symmetric link-incompatible ;
-    feature.feature optimization : on off ;
-    feature.feature variant : debug release : implicit composite symmetric ;
-    feature.feature rtti : on off : link-incompatible ;
-
-    feature.compose <variant>debug : <define>_DEBUG <optimization>off ;
-    feature.compose <variant>release : <define>NDEBUG <optimization>on ;
-
-    validate <toolset>gcc <toolset>gcc-3.0.1 : $(test-space) ;
-
-    assert.true  path-order $(test-space) debug <define>foo ;
-    assert.false path-order $(test-space) <define>foo debug ;
-    assert.true  path-order $(test-space) gcc debug ;
-    assert.false path-order $(test-space) debug gcc ;
-    assert.true  path-order $(test-space) <optimization>on <rtti>on ;
-    assert.false path-order $(test-space) <rtti>on <optimization>on ;
-
-    assert.result-set-equal <toolset>gcc <rtti>off <define>FOO
-        : refine <toolset>gcc <rtti>off
-        : <define>FOO
-        : $(test-space) ;
-
-    assert.result-set-equal <toolset>gcc <optimization>on
-        : refine <toolset>gcc <optimization>off
-        : <optimization>on
-        : $(test-space) ;
-
-    assert.result-set-equal <toolset>gcc <rtti>off
-        : refine <toolset>gcc : <rtti>off : $(test-space) ;
-
-    assert.result-set-equal <toolset>gcc <rtti>off <rtti>off:<define>FOO
-        : refine <toolset>gcc : <rtti>off <rtti>off:<define>FOO
-        : $(test-space) ;
-
-    assert.result-set-equal <toolset>gcc:<define>foo <toolset>gcc:<define>bar
-        : refine <toolset>gcc:<define>foo : <toolset>gcc:<define>bar
-        : $(test-space) ;
-
-    assert.result <define>MY_RELEASE
-        : evaluate-conditionals-in-context
-          <variant>release,<rtti>off:<define>MY_RELEASE
-        : <toolset>gcc <variant>release <rtti>off ;
-
-    assert.result debug
-        : as-path <optimization>off <variant>debug
-        : $(test-space) ;
-
-    assert.result gcc/debug/rtti-off
-        : as-path <toolset>gcc <optimization>off <rtti>off <variant>debug
-        : $(test-space) ;
-
-    assert.result optmz-off : abbreviate-dashed optimization-off ;
-    assert.result rntm-lnk-sttc : abbreviate-dashed runtime-link-static ;
-
-    try ;
-        validate <feature>value : $(test-space) ;
-    catch "Invalid property '<feature>value': unknown feature 'feature'." ;
-
-    try ;
-        validate <rtti>default : $(test-space) ;
-    catch \"default\" is not a known value of feature <rtti> ;
-
-    validate <define>WHATEVER : $(test-space) ;
-
-    try ;
-        validate <rtti> : $(test-space) ;
-    catch "Invalid property '<rtti>': No value specified for feature 'rtti'." ;
-
-    try ;
-        validate value : $(test-space) ;
-    catch "value" is not a value of an implicit feature ;
-
-    assert.result-set-equal <rtti>on
-        : remove free implicit : <toolset>gcc <define>foo <rtti>on : $(test-space) ;
-
-    assert.result-set-equal <include>a
-        : select include : <include>a <toolset>gcc ;
-
-    assert.result-set-equal <include>a
-        : select include bar : <include>a <toolset>gcc ;
-
-    assert.result-set-equal <include>a <toolset>gcc
-        : select include <bar> <toolset> : <include>a <toolset>gcc ;
-
-    assert.result-set-equal <toolset>kylix <include>a
-        : change <toolset>gcc <include>a : <toolset> kylix ;
-
-    pm = [ new property-map ] ;
-    $(pm).insert <toolset>gcc : o ;
-    $(pm).insert <toolset>gcc <os>NT : obj ;
-    $(pm).insert <toolset>gcc <os>CYGWIN : obj ;
-
-    assert.equal o : [ $(pm).find <toolset>gcc ] ;
-
-    assert.equal obj : [ $(pm).find <toolset>gcc <os>NT ] ;
-
-    try ;
-        $(pm).find <toolset>gcc <os>NT <os>CYGWIN ;
-    catch "Ambiguous key <toolset>gcc <os>NT <os>CYGWIN" ;
-
-    # Test ordinary properties.
-    assert.result : split-conditional <toolset>gcc ;
-
-    # Test properties with ":".
-    assert.result : split-conditional <define>FOO=A::B ;
-
-    # Test conditional feature.
-    assert.result-set-equal <toolset>gcc,<toolset-gcc:version>3.0 <define>FOO
-        : split-conditional <toolset>gcc,<toolset-gcc:version>3.0:<define>FOO ;
-
-    feature.finish-test property-test-temp ;
-}
diff --git a/SRC/Boost/tools/build/v2/build/property.py b/SRC/Boost/tools/build/v2/build/property.py
deleted file mode 100755
index ba9ce1a..0000000
--- a/SRC/Boost/tools/build/v2/build/property.py
+++ /dev/null
@@ -1,593 +0,0 @@
-# Status: ported, except for tests and --abbreviate-paths.
-# Base revision: 64070
-#
-# Copyright 2001, 2002, 2003 Dave Abrahams 
-# Copyright 2006 Rene Rivera 
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import re
-from b2.util.utility import *
-from b2.build import feature
-from b2.util import sequence, qualify_jam_action
-import b2.util.set
-from b2.manager import get_manager
-
-__re_two_ampersands = re.compile ('&&')
-__re_comma = re.compile (',')
-__re_split_condition = re.compile ('(.*):(<.*)')
-__re_split_conditional = re.compile (r'(.+):<(.+)')
-__re_colon = re.compile (':')
-__re_has_condition = re.compile (r':<')
-__re_separate_condition_and_property = re.compile (r'(.*):(<.*)')
-
-class Property(object):
-
-    __slots__ = ('_feature', '_value', '_condition')
-
-    def __init__(self, f, value, condition = []):
-        if type(f) == type(""):
-            f = feature.get(f)
-        # At present, single property has a single value.
-        assert type(value) != type([])
-        assert(f.free() or value.find(':') == -1)
-        self._feature = f
-        self._value = value
-        self._condition = condition
-        
-    def feature(self):
-        return self._feature
-
-    def value(self):
-        return self._value
-
-    def condition(self):
-        return self._condition
-
-    def to_raw(self):
-        result = "<" + self._feature.name() + ">" + str(self._value)
-        if self._condition:
-            result = ",".join(str(p) for p in self._condition) + ':' + result
-        return result
-
-    def __str__(self):
-        return self.to_raw()
-
-    def __hash__(self):
-        # FIXME: consider if this class should be value-is-identity one
-        return hash((self._feature, self._value, tuple(self._condition)))
-
-    def __cmp__(self, other):
-        return cmp((self._feature, self._value, self._condition),
-                   (other._feature, other._value, other._condition))
-                           
-
-def create_from_string(s, allow_condition=False):
-
-    condition = []
-    import types
-    if not isinstance(s, types.StringType):
-        print type(s)
-    if __re_has_condition.search(s):
-
-        if not allow_condition:
-            raise BaseException("Conditional property is not allowed in this context")
-
-        m = __re_separate_condition_and_property.match(s)
-        condition = m.group(1)
-        s = m.group(2)
-
-    # FIXME: break dependency cycle
-    from b2.manager import get_manager
-
-    feature_name = get_grist(s)
-    if not feature_name:
-        if feature.is_implicit_value(s):
-            f = feature.implied_feature(s)
-            value = s
-        else:        
-            raise get_manager().errors()("Invalid property '%s' -- unknown feature" % s)
-    else:
-        f = feature.get(feature_name)        
-
-        value = get_value(s)
-        if not value:
-            get_manager().errors()("Invalid property '%s' -- no value specified" % s)
-
-
-    if condition:
-        condition = [create_from_string(x) for x in condition.split(',')]
-                   
-    return Property(f, value, condition)
-
-def create_from_strings(string_list, allow_condition=False):
-
-    return [create_from_string(s, allow_condition) for s in string_list]
-
-def reset ():
-    """ Clear the module state. This is mainly for testing purposes.
-    """
-    global __results
-
-    # A cache of results from as_path
-    __results = {}
-    
-reset ()
-
-        
-def path_order (x, y):
-    """ Helper for as_path, below. Orders properties with the implicit ones
-        first, and within the two sections in alphabetical order of feature
-        name.
-    """
-    if x == y:
-        return 0
-        
-    xg = get_grist (x)
-    yg = get_grist (y)
-
-    if yg and not xg:
-        return -1
-
-    elif xg and not yg:
-        return 1
-
-    else:
-        if not xg:            
-            x = feature.expand_subfeatures([x])
-            y = feature.expand_subfeatures([y])
-        
-        if x < y:
-            return -1
-        elif x > y:
-            return 1
-        else:
-            return 0
-
-def identify(string):
-    return string 
-
-# Uses Property
-def refine (properties, requirements):
-    """ Refines 'properties' by overriding any non-free properties 
-        for which a different value is specified in 'requirements'. 
-        Conditional requirements are just added without modification.
-        Returns the resulting list of properties.
-    """
-    # The result has no duplicates, so we store it in a set
-    result = set()
-    
-    # Records all requirements.
-    required = {}
-    
-    # All the elements of requirements should be present in the result
-    # Record them so that we can handle 'properties'.
-    for r in requirements:
-        # Don't consider conditional requirements.
-        if not r.condition():
-            required[r.feature()] = r
-
-    for p in properties:
-        # Skip conditional properties
-        if p.condition():
-            result.add(p)
-        # No processing for free properties
-        elif p.feature().free():
-            result.add(p)
-        else:
-            if required.has_key(p.feature()):
-                result.add(required[p.feature()])
-            else:
-                result.add(p)
-
-    return sequence.unique(list(result) + requirements)
-
-def translate_paths (properties, path):
-    """ Interpret all path properties in 'properties' as relative to 'path'
-        The property values are assumed to be in system-specific form, and
-        will be translated into normalized form.
-        """
-    result = []
-
-    for p in properties:
-
-        if p.feature().path():
-            values = __re_two_ampersands.split(p.value())
-            
-            new_value = "&&".join(os.path.join(path, v) for v in values)
-
-            if new_value != p.value():
-                result.append(Property(p.feature(), new_value, p.condition()))
-            else:
-                result.append(p)
-            
-        else:
-            result.append (p)
-
-    return result
-
-def translate_indirect(properties, context_module):
-    """Assumes that all feature values that start with '@' are
-    names of rules, used in 'context-module'. Such rules can be
-    either local to the module or global. Qualified local rules
-    with the name of the module."""
-    result = []
-    for p in properties:
-        if p.value()[0] == '@':
-            q = qualify_jam_action(p.value()[1:], context_module)
-            get_manager().engine().register_bjam_action(q)
-            result.append(Property(p.feature(), '@' + q, p.condition()))
-        else:
-            result.append(p)
-
-    return result
-
-def validate (properties):
-    """ Exit with error if any of the properties is not valid.
-        properties may be a single property or a sequence of properties.
-    """
-    
-    if isinstance (properties, str):
-        __validate1 (properties)
-    else:
-        for p in properties:
-            __validate1 (p)
-
-def expand_subfeatures_in_conditions (properties):
-
-    result = []
-    for p in properties:
-
-        if not p.condition():
-            result.append(p)
-        else:
-            expanded = []
-            for c in p.condition():
-
-                if c.feature().name().startswith("toolset") or c.feature().name() == "os":
-                    # It common that condition includes a toolset which
-                    # was never defined, or mentiones subfeatures which
-                    # were never defined. In that case, validation will
-                    # only produce an spirious error, so don't validate.
-                    expanded.extend(feature.expand_subfeatures ([c], True))
-                else:
-                    expanded.extend(feature.expand_subfeatures([c]))
-
-            result.append(Property(p.feature(), p.value(), expanded))
-
-    return result
-
-# FIXME: this should go
-def split_conditional (property):
-    """ If 'property' is conditional property, returns
-        condition and the property, e.g
-        <variant>debug,<toolset>gcc:<inlining>full will become
-        <variant>debug,<toolset>gcc <inlining>full.
-        Otherwise, returns empty string.
-    """
-    m = __re_split_conditional.match (property)
-    
-    if m:
-        return (m.group (1), '<' + m.group (2))
-
-    return None
-
-
-def select (features, properties):
-    """ Selects properties which correspond to any of the given features.
-    """
-    result = []
-    
-    # add any missing angle brackets
-    features = add_grist (features)
-
-    return [p for p in properties if get_grist(p) in features]
-
-def validate_property_sets (sets):
-    for s in sets:
-        validate(s.all())
-
-def evaluate_conditionals_in_context (properties, context):
-    """ Removes all conditional properties which conditions are not met
-        For those with met conditions, removes the condition. Properies
-        in conditions are looked up in 'context'
-    """
-    base = []
-    conditional = []
-
-    for p in properties:
-        if p.condition():
-            conditional.append (p)
-        else:
-            base.append (p)
-
-    result = base[:]
-    for p in conditional:
-
-        # Evaluate condition
-        # FIXME: probably inefficient
-        if all(x in context for x in p.condition()):
-            result.append(Property(p.feature(), p.value()))
-
-    return result
-
-
-def change (properties, feature, value = None):
-    """ Returns a modified version of properties with all values of the
-        given feature replaced by the given value.
-        If 'value' is None the feature will be removed.
-    """
-    result = []
-    
-    feature = add_grist (feature)
-
-    for p in properties:
-        if get_grist (p) == feature:
-            if value:
-                result.append (replace_grist (value, feature))
-
-        else:
-            result.append (p)
-
-    return result
-
-
-################################################################
-# Private functions
-
-def __validate1 (property):
-    """ Exit with error if property is not valid.
-    """        
-    msg = None
-
-    if not property.feature().free():
-        feature.validate_value_string (property.feature(), property.value())
-
-
-###################################################################
-# Still to port.
-# Original lines are prefixed with "#   "
-#
-#   
-#   import utility : ungrist ;
-#   import sequence : unique ;
-#   import errors : error ;
-#   import feature ;
-#   import regex ;
-#   import sequence ;
-#   import set ;
-#   import path ;
-#   import assert ;
-#   
-#   
-
-
-#   rule validate-property-sets ( property-sets * )
-#   {
-#       for local s in $(property-sets)
-#       {
-#           validate [ feature.split $(s) ] ;
-#       }
-#   }
-#
-
-def remove(attributes, properties):
-    """Returns a property sets which include all the elements
-    in 'properties' that do not have attributes listed in 'attributes'."""
-    
-    result = []
-    for e in properties:
-        attributes_new = feature.attributes(get_grist(e))
-        has_common_features = 0
-        for a in attributes_new:
-            if a in attributes:
-                has_common_features = 1
-                break
-
-        if not has_common_features:
-            result += e
-
-    return result
-
-
-def take(attributes, properties):
-    """Returns a property set which include all
-    properties in 'properties' that have any of 'attributes'."""
-    result = []
-    for e in properties:
-        if b2.util.set.intersection(attributes, feature.attributes(get_grist(e))):
-            result.append(e)
-    return result
-
-def translate_dependencies(properties, project_id, location):
-
-    result = []
-    for p in properties:
-
-        if not p.feature().dependency():
-            result.append(p)
-        else:
-            v = p.value()
-            m = re.match("(.*)//(.*)", v)
-            if m:
-                rooted = m.group(1)
-                if rooted[0] == '/':
-                    # Either project id or absolute Linux path, do nothing.
-                    pass
-                else:
-                    rooted = os.path.join(os.getcwd(), location, rooted)
-                    
-                result.append(Property(p.feature(), rooted + "//" + m.group(2), p.condition()))
-                
-            elif os.path.isabs(v):                
-                result.append(p)
-            else:
-                result.append(Property(p.feature(), project_id + "//" + v, p.condition()))
-
-    return result
-
-
-class PropertyMap:
-    """ Class which maintains a property set -> string mapping.
-    """
-    def __init__ (self):
-        self.__properties = []
-        self.__values = []
-    
-    def insert (self, properties, value):
-        """ Associate value with properties.
-        """
-        self.__properties.append(properties)
-        self.__values.append(value)
-
-    def find (self, properties):
-        """ Return the value associated with properties
-        or any subset of it. If more than one
-        subset has value assigned to it, return the
-        value for the longest subset, if it's unique.
-        """
-        return self.find_replace (properties)
-
-    def find_replace(self, properties, value=None):
-        matches = []
-        match_ranks = []
-        
-        for i in range(0, len(self.__properties)):
-            p = self.__properties[i]
-                        
-            if b2.util.set.contains (p, properties):
-                matches.append (i)
-                match_ranks.append(len(p))
-
-        best = sequence.select_highest_ranked (matches, match_ranks)
-
-        if not best:
-            return None
-
-        if len (best) > 1:
-            raise NoBestMatchingAlternative ()
-
-        best = best [0]
-            
-        original = self.__values[best]
-
-        if value:
-            self.__values[best] = value
-
-        return original
-
-#   local rule __test__ ( )
-#   {
-#       import errors : try catch ;
-#       import feature ;
-#       import feature : feature subfeature compose ;
-#       
-#       # local rules must be explicitly re-imported
-#       import property : path-order ;
-#       
-#       feature.prepare-test property-test-temp ;
-#   
-#       feature toolset : gcc : implicit symmetric ;
-#       subfeature toolset gcc : version : 2.95.2 2.95.3 2.95.4
-#         3.0 3.0.1 3.0.2 : optional ;
-#       feature define : : free ;
-#       feature runtime-link : dynamic static : symmetric link-incompatible ;
-#       feature optimization : on off ;
-#       feature variant : debug release : implicit composite symmetric ;
-#       feature rtti : on off : link-incompatible ;
-#   
-#       compose <variant>debug : <define>_DEBUG <optimization>off ;
-#       compose <variant>release : <define>NDEBUG <optimization>on ;
-#   
-#       import assert ;
-#       import "class" : new ;
-#       
-#       validate <toolset>gcc  <toolset>gcc-3.0.1 : $(test-space) ;
-#       
-#       assert.result <toolset>gcc <rtti>off <define>FOO
-#           : refine <toolset>gcc <rtti>off
-#           : <define>FOO
-#           : $(test-space)
-#           ;
-#   
-#       assert.result <toolset>gcc <optimization>on
-#           : refine <toolset>gcc <optimization>off
-#           : <optimization>on
-#           : $(test-space)
-#           ;
-#   
-#       assert.result <toolset>gcc <rtti>off
-#           : refine <toolset>gcc : <rtti>off : $(test-space)
-#           ;
-#   
-#       assert.result <toolset>gcc <rtti>off <rtti>off:<define>FOO
-#           : refine <toolset>gcc : <rtti>off <rtti>off:<define>FOO 
-#           : $(test-space)
-#           ;
-#       
-#       assert.result <toolset>gcc:<define>foo <toolset>gcc:<define>bar 
-#           : refine <toolset>gcc:<define>foo : <toolset>gcc:<define>bar 
-#           : $(test-space)
-#           ;
-#   
-#       assert.result <define>MY_RELEASE
-#           : evaluate-conditionals-in-context 
-#             <variant>release,<rtti>off:<define>MY_RELEASE
-#             : <toolset>gcc <variant>release <rtti>off
-#                    
-#           ;
-#   
-#       try ;
-#           validate <feature>value : $(test-space) ;
-#       catch "Invalid property '<feature>value': unknown feature 'feature'." ;
-#   
-#       try ;
-#           validate <rtti>default : $(test-space) ;
-#       catch \"default\" is not a known value of feature <rtti> ;
-#       
-#       validate <define>WHATEVER : $(test-space) ;
-#   
-#       try ;
-#           validate <rtti> : $(test-space) ;
-#       catch "Invalid property '<rtti>': No value specified for feature 'rtti'." ;
-#   
-#       try ;
-#           validate value : $(test-space) ;
-#       catch "value" is not a value of an implicit feature ;
-#              
-#   
-#       assert.result <rtti>on 
-#           : remove free implicit : <toolset>gcc <define>foo <rtti>on : $(test-space) ;
-#   
-#       assert.result <include>a 
-#           : select include : <include>a <toolset>gcc ;
-#   
-#       assert.result <include>a 
-#           : select include bar : <include>a <toolset>gcc ;
-#   
-#       assert.result <include>a <toolset>gcc
-#           : select include <bar> <toolset> : <include>a <toolset>gcc ;
-#       
-#       assert.result <toolset>kylix <include>a 
-#           : change <toolset>gcc <include>a : <toolset> kylix ;
-#   
-#       # Test ordinary properties 
-#       assert.result 
-#         : split-conditional <toolset>gcc 
-#         ;
-#       
-#       # Test properties with ":"
-#       assert.result
-#         : split-conditional <define>FOO=A::B
-#         ;
-#       
-#       # Test conditional feature
-#       assert.result <toolset>gcc,<toolset-gcc:version>3.0 <define>FOO
-#         : split-conditional <toolset>gcc,<toolset-gcc:version>3.0:<define>FOO
-#         ;
-#       
-#       feature.finish-test property-test-temp ;
-#   }
-#   
-    
diff --git a/SRC/Boost/tools/build/v2/build/property_set.py b/SRC/Boost/tools/build/v2/build/property_set.py
deleted file mode 100755
index 0e697c1..0000000
--- a/SRC/Boost/tools/build/v2/build/property_set.py
+++ /dev/null
@@ -1,449 +0,0 @@
-# Status: ported.
-# Base revision: 40480
-
-#  Copyright (C) Vladimir Prus 2002. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-
-from b2.util.utility import *
-import property, feature, string
-import b2.build.feature
-from b2.exceptions import *
-from b2.util.sequence import unique
-from b2.util.set import difference
-from b2.util import cached
-
-from b2.manager import get_manager
-
-
-def reset ():
-    """ Clear the module state. This is mainly for testing purposes.
-    """
-    global __cache
-
-    # A cache of property sets
-    # TODO: use a map of weak refs?
-    __cache = {}
-    
-reset ()
-
-
-def create (raw_properties = []):
-    """ Creates a new 'PropertySet' instance for the given raw properties,
-        or returns an already existing one.
-    """
-    # FIXME: propagate to callers.
-    if len(raw_properties) > 0 and isinstance(raw_properties[0], property.Property):
-        x = raw_properties
-    else:        
-        x = [property.create_from_string(ps) for ps in raw_properties]
-    x.sort()
-    x = unique (x)
-
-    # FIXME: can we do better, e.g. by directly computing
-    # has value of the list?
-    key = tuple(x)
-
-    if not __cache.has_key (key):
-        __cache [key] = PropertySet(x)
-
-    return __cache [key]
-
-def create_with_validation (raw_properties):
-    """ Creates new 'PropertySet' instances after checking
-        that all properties are valid and converting incidental
-        properties into gristed form.
-    """
-    properties = [property.create_from_string(s) for s in raw_properties]
-    property.validate(properties)
-    
-    return create(properties)
-
-def empty ():
-    """ Returns PropertySet with empty set of properties.
-    """
-    return create ()
-
-def create_from_user_input(raw_properties, jamfile_module, location):
-    """Creates a property-set from the input given by the user, in the
-    context of 'jamfile-module' at 'location'"""
-
-    properties = property.create_from_strings(raw_properties, True)
-    properties = property.translate_paths(properties, location)
-    properties = property.translate_indirect(properties, jamfile_module)
-
-    project_id = get_manager().projects().attributeDefault(jamfile_module, 'id', None)
-    if not project_id:
-        project_id = os.path.abspath(location)    
-    properties = property.translate_dependencies(properties, project_id, location)
-    properties = property.expand_subfeatures_in_conditions(properties)
-    return create(properties)
-
-
-def refine_from_user_input(parent_requirements, specification, jamfile_module,
-                           location):
-    """Refines requirements with requirements provided by the user.
-    Specially handles "-<property>value" syntax in specification
-     to remove given requirements.
-     - parent-requirements -- property-set object with requirements
-       to refine
-     - specification -- string list of requirements provided by the use
-     - project-module -- the module to which context indirect features
-       will be bound.
-     - location -- the path to which path features are relative."""
-
-
-    if not specification:
-        return parent_requirements
-
-    
-    add_requirements = []
-    remove_requirements = []
-
-    for r in specification:
-        if r[0] == '-':
-            remove_requirements.append(r[1:])
-        else:
-            add_requirements.append(r)
-        
-    if remove_requirements:
-        # Need to create property set, so that path features
-        # and indirect features are translated just like they
-        # are in project requirements.
-        ps = create_from_user_input(remove_requirements,
-                                    jamfile_module, location)
-        
-        parent_requirements = create(difference(parent_requirements.all(),
-                                                ps.all()))
-        specification = add_requirements
-
-    requirements = create_from_user_input(specification,
-                                          jamfile_module, location)
-        
-    return parent_requirements.refine(requirements)
-    
-class PropertySet:
-    """ Class for storing a set of properties.
-        - there's 1<->1 correspondence between identity and value. No
-          two instances of the class are equal. To maintain this property,
-          the 'PropertySet.create' rule should be used to create new instances.
-          Instances are immutable.
-
-        - each property is classified with regard to it's effect on build
-          results. Incidental properties have no effect on build results, from
-          Boost.Build point of view. Others are either free, or non-free, which we
-          call 'base'. Each property belong to exactly one of those categories and
-          it's possible to get list of properties in each category.
-
-          In addition, it's possible to get list of properties with specific
-          attribute.
-
-        - several operations, like and refine and as_path are provided. They all use
-          caching whenever possible.
-    """
-    def __init__ (self, properties = []):
-
-
-        raw_properties = []
-        for p in properties:
-            raw_properties.append(p.to_raw())
-
-        self.all_ = properties
-        self.all_raw_ = raw_properties
-        self.all_set_ = set(properties)
-        
-        self.incidental_ = []
-        self.free_ = []
-        self.base_ = []
-        self.dependency_ = []
-        self.non_dependency_ = []
-        self.conditional_ = []
-        self.non_conditional_ = []
-        self.propagated_ = []
-        self.link_incompatible = []
-        
-        # A cache of refined properties.
-        self.refined_ = {}
-        
-        # A cache of property sets created by adding properties to this one.
-        self.added_ = {}
-
-        # Cache for the default properties.
-        self.defaults_ = None
-
-        # Cache for the expanded properties.
-        self.expanded_ = None
-
-        # Cache for the expanded composite properties
-        self.composites_ = None
-
-        # Cache for property set with expanded subfeatures
-        self.subfeatures_ = None
-
-        # Cache for the property set containing propagated properties.
-        self.propagated_ps_ = None
-        
-        # A map of features to its values.
-        self.feature_map_ = None
-        
-        # A tuple (target path, is relative to build directory)
-        self.target_path_ = None
-        
-        self.as_path_ = None
-        
-        # A cache for already evaluated sets.
-        self.evaluated_ = {}
-        
-        for p in raw_properties:
-            if not get_grist (p):
-                raise BaseException ("Invalid property: '%s'" % p)
-            
-            att = feature.attributes (get_grist (p))
-                                                                   
-            if 'propagated' in att:
-                self.propagated_.append (p)
-
-            if 'link_incompatible' in att:
-                self.link_incompatible.append (p)
-
-        for p in properties:
-
-            # A feature can be both incidental and free,
-            # in which case we add it to incidental.
-            if p.feature().incidental():
-                self.incidental_.append(p)
-            elif p.feature().free():
-                self.free_.append(p)
-            else:
-                self.base_.append(p)
-
-            if p.condition():
-                self.conditional_.append(p)
-            else:
-                self.non_conditional_.append(p)
-
-            if p.feature().dependency():
-                self.dependency_.append (p)
-            else:
-                self.non_dependency_.append (p)
-                
-
-    def all(self):
-        return self.all_
-    
-    def raw (self):
-        """ Returns the list of stored properties.
-        """
-        return self.all_raw_
-
-    def __str__(self):
-        return ' '.join(str(p) for p in self.all_)
-    
-    def base (self):
-        """ Returns properties that are neither incidental nor free.
-        """
-        return self.base_
-    
-    def free (self):
-        """ Returns free properties which are not dependency properties.
-        """
-        return self.free_
-
-    def non_free(self):
-        return self.base_ + self.incidental_
-
-    def dependency (self):
-        """ Returns dependency properties.
-        """
-        return self.dependency_
-    
-    def non_dependency (self):
-        """ Returns properties that are not dependencies.
-        """
-        return self.non_dependency_
-    
-    def conditional (self):
-        """ Returns conditional properties.
-        """
-        return self.conditional_
-        
-    def non_conditional (self):
-        """ Returns properties that are not conditional.
-        """
-        return self.non_conditional_
-              
-    def incidental (self):
-        """ Returns incidental properties.
-        """
-        return self.incidental_
-    
-    def refine (self, requirements):
-        """ Refines this set's properties using the requirements passed as an argument.
-        """
-        assert isinstance(requirements, PropertySet)
-        if not self.refined_.has_key (requirements):
-            r = property.refine(self.all_, requirements.all_)
-
-            self.refined_[requirements] = create(r)
-
-        return self.refined_[requirements]
-
-    def expand (self):
-        if not self.expanded_:
-            expanded = feature.expand(self.all_)
-            self.expanded_ = create(expanded)
-        return self.expanded_
-
-    def expand_subfeatures(self):
-        if not self.subfeatures_:
-            self.subfeatures_ = create(feature.expand_subfeatures(self.all_))
-        return self.subfeatures_
-
-    def evaluate_conditionals(self, context=None):
-        if not context:
-            context = self
-
-        if not self.evaluated_.has_key(context):
-            # FIXME: figure why the call messes up first parameter
-            self.evaluated_[context] = create(
-                property.evaluate_conditionals_in_context(self.all(), context))
-
-        return self.evaluated_[context]
-
-    def propagated (self):
-        if not self.propagated_ps_:
-            self.propagated_ps_ = create (self.propagated_)
-        return self.propagated_ps_
-
-    def add_defaults (self):
-        # FIXME: this caching is invalidated when new features
-        # are declare inside non-root Jamfiles.
-        if not self.defaults_:
-            expanded = feature.add_defaults(self.all_)
-            self.defaults_ = create(expanded)
-        return self.defaults_
-
-    def as_path (self):
-        if not self.as_path_:
-
-            def path_order (p1, p2):
-
-                i1 = p1.feature().implicit()
-                i2 = p2.feature().implicit()
-
-                if i1 != i2:
-                    return i2 - i1
-                else:
-                    return cmp(p1.feature().name(), p2.feature().name())
-
-            # trim redundancy
-            properties = feature.minimize(self.base_)
-                
-            # sort according to path_order
-            properties.sort (path_order)
-                
-            components = []
-            for p in properties:
-                if p.feature().implicit():
-                    components.append(p.value())
-                else:
-                    components.append(p.feature().name() + "-" + p.value())
-
-            self.as_path_ = '/'.join (components)
-
-        return self.as_path_
-
-    def target_path (self):
-        """ Computes the target path that should be used for 
-            target with these properties.
-            Returns a tuple of
-              - the computed path
-              - if the path is relative to build directory, a value of
-                'true'. 
-        """
-        if not self.target_path_:
-            # The <location> feature can be used to explicitly
-            # change the location of generated targets
-            l = self.get ('<location>')
-            if l:
-                computed = l[0]
-                is_relative = False
-
-            else:
-                p = self.as_path ()
-                
-                # Really, an ugly hack. Boost regression test system requires
-                # specific target paths, and it seems that changing it to handle
-                # other directory layout is really hard. For that reason,
-                # we teach V2 to do the things regression system requires.
-                # The value o '<location-prefix>' is predended to the path.
-                prefix = self.get ('<location-prefix>')
-                
-                if prefix:
-                    if len (prefix) > 1:
-                        raise AlreadyDefined ("Two <location-prefix> properties specified: '%s'" % prefix)
-                        
-                    computed = os.path.join(prefix[0], p)
-
-                else:
-                    computed = p
-
-                if not computed:
-                    computed = "."
-
-                is_relative = True
-
-            self.target_path_ = (computed, is_relative)
-
-        return self.target_path_
-                    
-    def add (self, ps):
-        """ Creates a new property set containing the properties in this one,
-            plus the ones of the property set passed as argument.
-        """
-        if not self.added_.has_key(ps):
-            self.added_[ps] = create(self.all_ + ps.all())
-        return self.added_[ps]
-    
-    def add_raw (self, properties):
-        """ Creates a new property set containing the properties in this one,
-            plus the ones passed as argument.
-        """
-        return self.add (create (properties))
-
-    
-    def get (self, feature):
-        """ Returns all values of 'feature'.
-        """
-        if type(feature) == type([]):
-            feature = feature[0]
-        if not isinstance(feature, b2.build.feature.Feature):
-            feature = b2.build.feature.get(feature)
-        
-        if not self.feature_map_:
-            self.feature_map_ = {}
-
-            for v in self.all_:
-                if not self.feature_map_.has_key(v.feature()):
-                    self.feature_map_[v.feature()] = []
-                self.feature_map_[v.feature()].append(v.value())
-        
-        return self.feature_map_.get(feature, [])
-
-    @cached
-    def get_properties(self, feature):
-        """Returns all contained properties associated with 'feature'"""
-
-        if not isinstance(feature, b2.build.feature.Feature):
-            feature = b2.build.feature.get(feature)
-
-        result = []        
-        for p in self.all_:
-            if p.feature() == feature:
-                result.append(p)
-        return result
-    
-    def __contains__(self, item):
-        return item in self.all_set_
-    
diff --git a/SRC/Boost/tools/build/v2/build/readme.txt b/SRC/Boost/tools/build/v2/build/readme.txt
deleted file mode 100755
index 91e4eff..0000000
--- a/SRC/Boost/tools/build/v2/build/readme.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright 2001, 2002 Dave Abrahams 
-Copyright 2002 Vladimir Prus 
-Distributed under the Boost Software License, Version 1.0. 
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-Development code for new build system. To run unit tests for jam code, execute:
-
-  bjam --debug --build-system=test
-
-Comprehensive tests require Python. See ../test/readme.txt
-
-
-
diff --git a/SRC/Boost/tools/build/v2/build/scanner.jam b/SRC/Boost/tools/build/v2/build/scanner.jam
deleted file mode 100755
index ed56097..0000000
--- a/SRC/Boost/tools/build/v2/build/scanner.jam
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 2003 Dave Abrahams 
-# Copyright 2002, 2003, 2004, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-#  Implements scanners: objects that compute implicit dependencies for
-#  files, such as includes in C++.
-#
-#  Scanner has a regular expression used to find dependencies, some
-#  data needed to interpret those dependencies (for example, include
-#  paths), and a code which actually established needed relationship
-#  between actual jam targets.
-#
-#  Scanner objects are created by actions, when they try to actualize
-#  virtual targets, passed to 'virtual-target.actualize' method and are
-#  then associated with actual targets. It is possible to use
-#  several scanners for a virtual-target. For example, a single source
-#  might be used by to compile actions, with different include paths.
-#  In this case, two different actual targets will be created, each 
-#  having scanner of its own.
-#
-#  Typically, scanners are created from target type and action's 
-#  properties, using the rule 'get' in this module. Directly creating
-#  scanners is not recommended, because it might create many equvivalent
-#  but different instances, and lead in unneeded duplication of
-#  actual targets. However, actions can also create scanners in a special
-#  way, instead of relying on just target type.
-
-import "class" : new ;
-import property virtual-target property-set ;
-import errors : error ;
-
-#  Base scanner class. 
-class scanner 
-{
-    rule __init__ ( )
-    {
-    }
-    
-    # Returns a pattern to use for scanning
-    rule pattern ( )
-    {
-        error "method must be overriden" ;
-    }
-
-    # Establish necessary relationship between targets,
-    # given actual target beeing scanned, and a list of
-    # pattern matches in that file.
-    rule process ( target : matches * )
-    {
-        error "method must be overriden" ;
-    }        
-}
-
-# Registers a new generator class, specifying a set of 
-# properties relevant to this scanner.  Ctor for that class
-# should have one parameter: list of properties.
-rule register ( scanner-class : relevant-properties * )
-{
-    .registered += $(scanner-class) ;
-    .relevant-properties.$(scanner-class) = $(relevant-properties) ;
-}
-
-# Common scanner class, which can be used when there's only one
-# kind of includes (unlike C, where "" and <> includes have different
-# search paths).
-class common-scanner : scanner 
-{
-    import scanner ;
-    rule __init__ ( includes * )
-    {
-        scanner.__init__ ;
-        self.includes = $(includes) ;
-    }
-            
-    rule process ( target : matches * : binding )
-    {
-        local target_path = [ NORMALIZE_PATH $(binding:D) ] ;
-
-        NOCARE $(matches) ;
-        INCLUDES $(target) : $(matches) ;
-        SEARCH on $(matches) = $(target_path) $(self.includes:G=) ;
-        ISFILE $(matches) ;
-    
-        scanner.propagate $(__name__) : $(matches) : $(target) ;     
-    }
-}
-
-
-# Returns an instance of previously registered scanner,
-# with the specified properties.
-rule get ( scanner-class : property-set ) 
-{
-    if ! $(scanner-class) in $(.registered)
-    {
-        error "attempt to get unregisted scanner" ;
-    }
-    
-    local r = $(.rv-cache.$(property-set)) ;
-    if ! $(r)
-    {
-        r = [ property-set.create 
-            [ property.select $(.relevant-properties.$(scanner-class)) :
-              [ $(property-set).raw ] ] ] ;        
-        .rv-cache.$(property-set) = $(r) ;
-    }
-        
-    if ! $(scanner.$(scanner-class).$(r:J=-))
-    {
-        scanner.$(scanner-class).$(r:J=-) = [ new $(scanner-class) [ $(r).raw ] ] ;
-    }
-    return $(scanner.$(scanner-class).$(r:J=-)) ;    
-}
-
-
-# Installs the specified scanner on actual target 'target'. 
-rule install ( scanner : target 
-    vtarget # virtual target from which 'target' was actualized
-)
-{
-    HDRSCAN on $(target) = [ $(scanner).pattern ] ;
-    SCANNER on $(target) = $(scanner) ;
-    HDRRULE on $(target) = scanner.hdrrule ;
-    
-    # scanner reflects difference in properties affecting    
-    # binding of 'target', which will be known when processing
-    # includes for it, will give information on how to
-    # interpret quoted includes.
-    HDRGRIST on $(target) = $(scanner) ;
-}
-
-# Propagate scanner setting from 'including-target' to 'targets'.
-rule propagate ( scanner : targets * : including-target )
-{
-    HDRSCAN on $(targets) = [ on $(including-target) return $(HDRSCAN) ] ;
-    SCANNER on $(targets) = $(scanner) ;
-    HDRRULE on $(targets) = scanner.hdrrule ;
-    HDRGRIST on $(targets) = [ on $(including-target) return $(HDRGRIST) ] ;
-}
-
-
-rule hdrrule ( target : matches * : binding )
-{
-    local scanner = [ on $(target) return $(SCANNER) ] ;
-    $(scanner).process $(target) : $(matches) : $(binding) ;
-}
-# hdrrule must be available at global scope so that it can be invoked
-# by header scanning
-IMPORT scanner : hdrrule : : scanner.hdrrule ;
-
-
-
-
diff --git a/SRC/Boost/tools/build/v2/build/scanner.py b/SRC/Boost/tools/build/v2/build/scanner.py
deleted file mode 100755
index 91c683c..0000000
--- a/SRC/Boost/tools/build/v2/build/scanner.py
+++ /dev/null
@@ -1,158 +0,0 @@
-# Status: ported.
-# Base revision: 45462
-# 
-# Copyright 2003 Dave Abrahams 
-# Copyright 2002, 2003, 2004, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-#  Implements scanners: objects that compute implicit dependencies for
-#  files, such as includes in C++.
-#
-#  Scanner has a regular expression used to find dependencies, some
-#  data needed to interpret those dependencies (for example, include
-#  paths), and a code which actually established needed relationship
-#  between actual jam targets.
-#
-#  Scanner objects are created by actions, when they try to actualize
-#  virtual targets, passed to 'virtual-target.actualize' method and are
-#  then associated with actual targets. It is possible to use
-#  several scanners for a virtual-target. For example, a single source
-#  might be used by to compile actions, with different include paths.
-#  In this case, two different actual targets will be created, each 
-#  having scanner of its own.
-#
-#  Typically, scanners are created from target type and action's 
-#  properties, using the rule 'get' in this module. Directly creating
-#  scanners is not recommended, because it might create many equvivalent
-#  but different instances, and lead in unneeded duplication of
-#  actual targets. However, actions can also create scanners in a special
-#  way, instead of relying on just target type.
-
-import property
-import bjam
-import os
-from b2.exceptions import *
-from b2.manager import get_manager
-
-def reset ():
-    """ Clear the module state. This is mainly for testing purposes.
-    """
-    global __scanners, __rv_cache, __scanner_cache
-
-    # Maps registered scanner classes to relevant properties
-    __scanners = {}
-    
-    # A cache of scanners.
-    # The key is: class_name.properties_tag, where properties_tag is the concatenation 
-    # of all relevant properties, separated by '-'
-    __scanner_cache = {}
-    
-reset ()
-
-
-def register(scanner_class, relevant_properties):
-    """ Registers a new generator class, specifying a set of 
-        properties relevant to this scanner.  Ctor for that class
-        should have one parameter: list of properties.
-    """
-    __scanners[str(scanner_class)] = relevant_properties
-
-def registered(scanner_class):
-    """ Returns true iff a scanner of that class is registered
-    """
-    return __scanners.has_key(str(scanner_class))
-    
-def get(scanner_class, properties):
-    """ Returns an instance of previously registered scanner
-        with the specified properties.
-    """
-    scanner_name = str(scanner_class)
-    
-    if not registered(scanner_name):
-        raise BaseException ("attempt to get unregisted scanner: %s" % scanner_name)
-
-    relevant_properties = __scanners[scanner_name]
-    r = property.select(relevant_properties, properties)
-
-    scanner_id = scanner_name + '.' + '-'.join(r)
-    
-    if not __scanner_cache.has_key(scanner_name):
-        __scanner_cache[scanner_name] = scanner_class(r)
-
-    return __scanner_cache[scanner_name]
-
-class Scanner:
-    """ Base scanner class.
-    """
-    def __init__ (self):
-        pass
-    
-    def pattern (self):
-        """ Returns a pattern to use for scanning.
-        """
-        raise BaseException ("method must be overriden")
-
-    def process (self, target, matches):
-        """ Establish necessary relationship between targets,
-            given actual target beeing scanned, and a list of
-            pattern matches in that file.
-        """
-        raise BaseException ("method must be overriden")
-
-
-# Common scanner class, which can be used when there's only one
-# kind of includes (unlike C, where "" and <> includes have different
-# search paths).
-class CommonScanner(Scanner):
-
-    def __init__ (self, includes):
-        Scanner.__init__(self)
-        self.includes = includes
-
-    def process(self, target, matches, binding):
-
-        target_path = os.path.normpath(os.path.dirname(binding[0]))
-        bjam.call("mark-included", target, matches)
-
-        get_manager().engine().set_target_variable(matches, "SEARCH",
-                                                   [target_path] + self.includes)
-        get_manager().scanners().propagate(self, matches)
-
-class ScannerRegistry:
-    
-    def __init__ (self, manager):
-        self.manager_ = manager
-        self.count_ = 0
-        self.exported_scanners_ = {}
-
-    def install (self, scanner, target, vtarget):
-        """ Installs the specified scanner on actual target 'target'. 
-            vtarget: virtual target from which 'target' was actualized.
-        """
-        engine = self.manager_.engine()
-        engine.set_target_variable(target, "HDRSCAN", scanner.pattern())
-        if not self.exported_scanners_.has_key(scanner):
-            exported_name = "scanner_" + str(self.count_)
-            self.count_ = self.count_ + 1
-            self.exported_scanners_[scanner] = exported_name
-            bjam.import_rule("", exported_name, scanner.process)
-        else:
-            exported_name = self.exported_scanners_[scanner]
-
-        engine.set_target_variable(target, "HDRRULE", exported_name)
-        
-        # scanner reflects difference in properties affecting    
-        # binding of 'target', which will be known when processing
-        # includes for it, will give information on how to
-        # interpret quoted includes.
-        engine.set_target_variable(target, "HDRGRIST", str(id(scanner)))
-        pass
-
-    def propagate(self, scanner, targets):
-        engine = self.manager_.engine()
-        engine.set_target_variable(targets, "HDRSCAN", scanner.pattern())
-        engine.set_target_variable(targets, "HDRRULE",
-                                   self.exported_scanners_[scanner])
-        engine.set_target_variable(targets, "HDRGRIST", str(id(scanner)))
-
diff --git a/SRC/Boost/tools/build/v2/build/targets.jam b/SRC/Boost/tools/build/v2/build/targets.jam
deleted file mode 100755
index 73457bf..0000000
--- a/SRC/Boost/tools/build/v2/build/targets.jam
+++ /dev/null
@@ -1,1659 +0,0 @@
-# Copyright Vladimir Prus 2002.
-# Copyright Rene Rivera 2006.
-#
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-# Supports 'abstract' targets, which are targets explicitly defined in a
-# Jamfile.
-#
-# Abstract targets are represented by classes derived from 'abstract-target'
-# class. The first abstract target is 'project-target', which is created for
-# each Jamfile, and can be obtained by the 'target' rule in the Jamfile's module
-# (see project.jam).
-#
-# Project targets keep a list of 'main-target' instances. A main target is what
-# the user explicitly defines in a Jamfile. It is possible to have several
-# definitions for a main target, for example to have different lists of sources
-# for different platforms. So, main targets keep a list of alternatives.
-#
-# Each alternative is an instance of 'abstract-target'. When a main target
-# subvariant is defined by some rule, that rule will decide what class to use,
-# create an instance of that class and add it to the list of alternatives for
-# the main target.
-#
-# Rules supplied by the build system will use only targets derived from
-# 'basic-target' class, which will provide some default behaviour. There will be
-# different classes derived from it such as 'make-target', created by the 'make'
-# rule, and 'typed-target', created by rules such as 'exe' and 'lib'.
-
-#
-#                         +------------------------+
-#                         |abstract-target         |
-#                         +========================+
-#                         |name                    |
-#                         |project                 |
-#                         |                        |
-#                         |generate(properties) = 0|
-#                         +-----------+------------+
-#                                     |
-#                                     ^
-#                                    / \
-#                                   +-+-+
-#                                     |
-#                                     |
-#            +------------------------+------+------------------------------+
-#            |                               |                              |
-#            |                               |                              |
-# +----------+-----------+            +------+------+                +------+-------+
-# | project-target       |            | main-target |                | basic-target |
-# +======================+ 1        * +=============+  alternatives  +==============+
-# | generate(properties) |o-----------+ generate    |<>------------->| generate     |
-# | main-target          |            +-------------+                | construct = 0|
-# +----------------------+                                           +--------------+
-#                                                                           |
-#                                                                           ^
-#                                                                          / \
-#                                                                         +-+-+
-#                                                                           |
-#                                                                           |
-#                 ...--+----------------+------------------+----------------+---+
-#                      |                |                  |                    |
-#                      |                |                  |                    |
-#               ... ---+-----+   +------+-------+   +------+------+    +--------+-----+
-#                            |   | typed-target |   | make-target |    | stage-target |
-#                            .   +==============+   +=============+    +==============+
-#                            .   | construct    |   | construct   |    | construct    |
-#                                +--------------+   +-------------+    +--------------+
-
-import assert ;
-import "class" : new ;
-import errors ;
-import feature ;
-import indirect ;
-import path ;
-import property ;
-import property-set ;
-import sequence ;
-import set ;
-import toolset ;
-import build-request ;
-
-
-# Base class for all abstract targets.
-#
-class abstract-target
-{
-    import project ;
-    import assert ;
-    import "class" ;
-    import errors ;
-
-    rule __init__ ( name  # Name of the target in Jamfile.
-        : project-target  # The project target to which this one belongs.
-    )
-    {
-        # Note: it might seem that we don't need either name or project at all.
-        # However, there are places where we really need it. One example is
-        # error messages which should name problematic targets. Another is
-        # setting correct paths for sources and generated files.
-
-        self.name = $(name) ;
-        self.project = $(project-target) ;
-        self.location = [ errors.nearest-user-location ] ;
-    }
-
-    # Returns the name of this target.
-    rule name ( )
-    {
-        return $(self.name) ;
-    }
-
-    # Returns the project for this target.
-    rule project ( )
-    {
-        return $(self.project) ;
-    }
-
-    # Return the location where the target was declared.
-    rule location ( )
-    {
-        return $(self.location) ;
-    }
-
-    # Returns a user-readable name for this target.
-    rule full-name ( )
-    {
-        local location = [ $(self.project).get location ] ;
-        return $(location)/$(self.name) ;
-    }
-
-    # Generates virtual targets for this abstract target using the specified
-    # properties, unless a different value of some feature is required by the
-    # target.
-    # On success, returns:
-    # - a property-set with the usage requirements to be applied to dependants
-    # - a list of produced virtual targets, which may be empty.
-    # If 'property-set' is empty, performs the default build of this target, in
-    # a way specific to the derived class.
-    #
-    rule generate ( property-set )
-    {
-        errors.error "method should be defined in derived classes" ;
-    }
-
-    rule rename ( new-name )
-    {
-        self.name = $(new-name) ;
-    }
-}
-
-
-if --debug-building in [ modules.peek : ARGV ]
-{
-    modules.poke : .debug-building : true ;
-}
-
-
-rule indent ( )
-{
-    return $(.indent:J="") ;
-}
-
-
-rule increase-indent ( )
-{
-    .indent += "    " ;
-}
-
-
-rule decrease-indent ( )
-{
-    .indent = $(.indent[2-]) ;
-}
-
-
-#  Project target class (derived from 'abstract-target').
-#
-#  This class has the following responsibilities:
-#  - Maintaining a list of main targets in this project and building them.
-#
-#  Main targets are constructed in two stages:
-#  - When Jamfile is read, a number of calls to 'add-alternative' is made. At
-#    that time, alternatives can also be renamed to account for inline targets.
-#  - The first time 'main-target' or 'has-main-target' rule is called, all
-#    alternatives are enumerated and main targets are created.
-#
-class project-target : abstract-target
-{
-    import project ;
-    import targets ;
-    import path ;
-    import print ;
-    import property-set ;
-    import set ;
-    import sequence ;
-    import "class" : new ;
-    import errors ;
-
-    rule __init__ ( name : project-module parent-project ?
-        : requirements * : default-build * )
-    {
-        abstract-target.__init__ $(name) : $(__name__) ;
-
-        self.project-module = $(project-module) ;
-        self.location = [ project.attribute $(project-module) location ] ;
-        self.requirements = $(requirements) ;
-        self.default-build = $(default-build) ;
-
-        if $(parent-project)
-        {
-            inherit $(parent-project) ;
-        }
-    }
-
-    # This is needed only by the 'make' rule. Need to find the way to make
-    # 'make' work without this method.
-    #
-    rule project-module ( )
-    {
-        return $(self.project-module) ;
-    }
-
-    rule get ( attribute )
-    {
-        return [ project.attribute $(self.project-module) $(attribute) ] ;
-    }
-
-    rule build-dir ( )
-    {
-        if ! $(self.build-dir)
-        {
-            self.build-dir = [ get build-dir ] ;
-            if ! $(self.build-dir)
-            {
-                self.build-dir = [ path.join [ $(self.project).get location ]
-                    bin ] ;
-            }
-        }
-        return $(self.build-dir) ;
-    }
-
-    # Generates all possible targets contained in this project.
-    #
-    rule generate ( property-set * )
-    {
-        if [ modules.peek : .debug-building ]
-        {
-            ECHO [ targets.indent ] "building project" [ name ] " ('$(__name__)') with" [ $(property-set).raw ] ;
-            targets.increase-indent ;
-        }
-
-        local usage-requirements = [ property-set.empty ] ;
-        local targets ;
-
-        for local t in [ targets-to-build ]
-        {
-            local g = [ $(t).generate $(property-set) ] ;
-            usage-requirements = [ $(usage-requirements).add $(g[1]) ] ;
-            targets += $(g[2-]) ;
-        }
-        targets.decrease-indent ;
-        return $(usage-requirements) [ sequence.unique $(targets) ] ;
-    }
-
-    # Computes and returns a list of abstract-target instances which must be
-    # built when this project is built.
-    #
-    rule targets-to-build ( )
-    {
-        local result ;
-
-        if ! $(self.built-main-targets)
-        {
-            build-main-targets ;
-        }
-
-        # Collect all main targets here, except for "explicit" ones.
-        for local t in $(self.main-targets)
-        {
-            if ! [ $(t).name ] in $(self.explicit-targets)
-            {
-                result += $(t) ;
-            }
-        }
-
-        # Collect all projects referenced via "projects-to-build" attribute.
-        local self-location = [ get location ] ;
-        for local pn in [ get projects-to-build ]
-        {
-            result += [ find $(pn)/ ] ;
-        }
-
-        return $(result) ;
-    }
-
-    # Add 'target' to the list of targets in this project that should be build
-    # only by explicit request
-    #
-    rule mark-target-as-explicit ( target-name * )
-    {
-        # Record the name of the target, not instance, since this rule is called
-        # before main target instances are created.
-        self.explicit-targets += $(target-name) ;
-    }
-    
-    rule mark-target-as-always ( target-name * )
-    {
-        # Record the name of the target, not instance, since this rule is called
-        # before main target instances are created.
-        self.always-targets += $(target-name) ;
-    }
-
-    # Add new target alternative
-    #
-    rule add-alternative ( target-instance )
-    {
-        if $(self.built-main-targets)
-        {
-            errors.error add-alternative called when main targets are already
-                created. : in project [ full-name ] ;
-        }
-        self.alternatives += $(target-instance) ;
-    }
-
-    # Returns a 'main-target' class instance corresponding to 'name'.
-    #
-    rule main-target ( name )
-    {
-        if ! $(self.built-main-targets)
-        {
-            build-main-targets ;
-        }
-        return $(self.main-target.$(name)) ;
-    }
-
-    # Returns whether a main target with the specified name exists.
-    #
-    rule has-main-target ( name )
-    {
-        if ! $(self.built-main-targets)
-        {
-            build-main-targets ;
-        }
-
-        if $(self.main-target.$(name))
-        {
-            return true ;
-        }
-    }
-
-    # Worker function for the find rule not implementing any caching and simply
-    # returning nothing in case the target can not be found.
-    #
-    rule find-really ( id )
-    {
-        local result ;
-        local current-location = [ get location ] ;
-
-        local split = [ MATCH (.*)//(.*) : $(id) ] ;
-        local project-part = $(split[1]) ;
-        local target-part = $(split[2]) ;
-
-        local extra-error-message ;
-        if $(project-part)
-        {
-            # There is an explicitly specified project part in id. Looks up the
-            # project and passes the request to it.
-            local pm = [ project.find $(project-part) : $(current-location) ] ;
-            if $(pm)
-            {
-                project-target = [ project.target $(pm) ] ;
-                result = [ $(project-target).find $(target-part) : no-error ] ;
-            }
-            else
-            {
-                # TODO: This extra error message will not get displayed most
-                # likely due to some buggy refactoring. Refactor the code so the
-                # message gets diplayed again.
-                extra-error-message = error: could not find project
-                    '$(project-part)' ;
-            }
-        }
-        else
-        {
-            # Interpret target-name as name of main target. Need to do this
-            # before checking for file. Consider the following scenario with a
-            # toolset not modifying its executable's names, e.g. gcc on
-            # Unix-like platforms:
-            #
-            #  exe test : test.cpp ;
-            #  install s : test : <location>. ;
-            #
-            # After the first build we would have a target named 'test' in the
-            # Jamfile and a file named 'test' on the disk. We need the target to
-            # override the file.
-            result = [ main-target $(id) ] ;
-            
-            # Interpret id as an existing file reference.
-            if ! $(result)
-            {
-                result = [ new file-reference [ path.make $(id) ] :
-                    $(self.project) ] ;
-                if ! [ $(result).exists ]
-                {
-                    result = ;
-                }
-            }
-
-            # Interpret id as project-id.
-            if ! $(result)
-            {
-                local project-module = [ project.find $(id) :
-                    $(current-location) ] ;
-                if $(project-module)
-                {
-                    result = [ project.target $(project-module) ] ;
-                }
-            }
-        }
-
-        return $(result) ;
-    }
-
-    # Find and return the target with the specified id, treated relative to
-    # self. Id may specify either a target or a file name with the target taking
-    # priority. May report an error or return nothing if the target is not found
-    # depending on the 'no-error' parameter.
-    #
-    rule find ( id : no-error ? )
-    {
-        local v = $(.id.$(id)) ;
-        if ! $(v)
-        {
-            v = [ find-really $(id) ] ;
-            if ! $(v)
-            {
-                v = none ;
-            }
-            .id.$(id) = $(v) ;
-        }
-
-        if $(v) != none
-        {
-            return $(v) ;
-        }
-        else
-        {
-            if ! $(no-error)
-            {
-                local current-location = [ get location ] ;
-                ECHO "error: Unable to find file or target named" ;
-                ECHO "error:     '$(id)'" ;
-                ECHO "error: referred from project at" ;
-                ECHO "error:     '$(current-location)'" ;
-                ECHO $(extra-error-message) ;
-                EXIT ;
-            }
-        }
-    }
-
-    rule build-main-targets ( )
-    {
-        self.built-main-targets = true ;
-        for local a in $(self.alternatives)
-        {
-            local name = [ $(a).name ] ;
-            local target = $(self.main-target.$(name)) ;
-            if ! $(target)
-            {
-                local t = [ new main-target $(name) : $(self.project) ] ;
-                self.main-target.$(name) = $(t) ;
-                self.main-targets += $(t) ;
-                target = $(self.main-target.$(name)) ;
-            }
-            
-            if $(name) in $(self.always-targets)
-            {
-                $(a).always ;
-            }                
-
-            $(target).add-alternative $(a) ;
-        }
-    }
-
-    # Accessor, add a constant.
-    #
-    rule add-constant (
-        name       # Variable name of the constant.
-        : value +  # Value of the constant.
-        : type ?   # Optional type of value.
-        )
-    {
-        switch $(type)
-        {
-            case path :
-              local r ;
-              for local v in $(value)
-              {
-                local l = $(self.location) ;
-                if ! $(l)
-                {
-                    # Project corresponding to config files do not have 
-                    # 'location' attribute, but do have source location.
-                    # It might be more reasonable to make every project have
-                    # a location and use some other approach to prevent buildable
-                    # targets in config files, but that's for later.
-                    l = [ get source-location ] ;
-                }                
-                v = [ path.root [ path.make $(v) ] $(l) ] ;
-                # Now make the value absolute path.
-                v = [ path.root $(v) [ path.pwd ] ] ;
-                # Constants should be in platform-native form.
-                v = [ path.native $(v) ] ;
-                r += $(v) ;
-              }
-              value = $(r) ;
-        }
-        if ! $(name) in $(self.constants)
-        {
-            self.constants += $(name) ;
-        }
-        self.constant.$(name) = $(value) ;
-        # Inject the constant in the scope of the Jamroot module.
-        modules.poke $(self.project-module) : $(name) : $(value) ;
-    }
-
-    rule inherit ( parent )
-    {
-        for local c in [ modules.peek $(parent) : self.constants ]
-        {
-            # No need to pass the type. Path constants were converted to
-            # absolute paths already by parent.
-            add-constant $(c)
-              : [ modules.peek $(parent) : self.constant.$(c) ] ;
-        }
-
-        # Import rules from parent.
-        local this-module = [ project-module ] ;
-        local parent-module = [ $(parent).project-module ] ;
-        # Do not import rules coming from 'project-rules' as they must be
-        # imported localized.
-        local user-rules = [ set.difference
-            [ RULENAMES $(parent-module) ] :
-            [ RULENAMES project-rules ] ] ;
-        IMPORT $(parent-module) : $(user-rules) : $(this-module) : $(user-rules) ;
-        EXPORT $(this-module) : $(user-rules) ;
-    }
-}
-
-
-# Helper rules to detect cycles in main target references.
-#
-local rule start-building ( main-target-instance )
-{
-    if $(main-target-instance) in $(.targets-being-built)
-    {
-        local names ;
-        for local t in $(.targets-being-built) $(main-target-instance)
-        {
-            names += [ $(t).full-name ] ;
-        }
-
-        errors.error "Recursion in main target references"
-          : "the following target are being built currently:"
-          : $(names) ;
-    }
-    .targets-being-built += $(main-target-instance) ;
-}
-
-
-local rule end-building ( main-target-instance )
-{
-    .targets-being-built = $(.targets-being-built[1--2]) ;
-}
-
-
-# A named top-level target in Jamfile.
-#
-class main-target : abstract-target
-{
-    import assert ;
-    import errors ;
-    import feature ;
-    import print ;
-    import property-set ;
-    import sequence ;
-    import targets : start-building end-building ;
-
-    rule __init__ ( name : project )
-    {
-        abstract-target.__init__ $(name) : $(project) ;
-    }
-
-    # Add a new alternative for this target
-    rule add-alternative ( target )
-    {
-        local d = [ $(target).default-build ] ;
-        if $(self.alternatives) && ( $(self.default-build) != $(d) )
-        {
-            errors.error "default build must be identical in all alternatives"
-              : "main target is" [ full-name ]
-              : "with" [ $(d).raw ]
-              : "differing from previous default build" [ $(self.default-build).raw ] ;
-        }
-        else
-        {
-            self.default-build = $(d) ;
-        }
-        self.alternatives += $(target) ;
-    }
-
-    # Returns the best viable alternative for this property-set. See the
-    # documentation for selection rules.
-    #
-    local rule select-alternatives ( property-set debug ? )
-    {
-        # When selecting alternatives we have to consider defaults, for example:
-        #    lib l : l.cpp : <variant>debug ;
-        #    lib l : l_opt.cpp : <variant>release ;
-        # won't work unless we add default value <variant>debug.
-        property-set = [ $(p).add-defaults ] ;
-
-        # The algorithm: we keep the current best viable alternative. When we've
-        # got a new best viable alternative, we compare it with the current one.
-
-        local best ;
-        local best-properties ;
-
-        if $(self.alternatives[2-])
-        {
-            local bad ;
-            local worklist = $(self.alternatives) ;
-            while $(worklist) && ! $(bad)
-            {
-                local v = $(worklist[1]) ;
-                local properties = [ $(v).match $(property-set) $(debug) ] ;
-
-                if $(properties) != no-match
-                {
-                    if ! $(best)
-                    {
-                        best = $(v) ;
-                        best-properties = $(properties) ;
-                    }
-                    else
-                    {
-                        if $(properties) = $(best-properties)
-                        {
-                            bad = true ;
-                        }
-                        else if $(properties) in $(best-properties)
-                        {
-                            # Do nothing, this alternative is worse
-                        }
-                        else if $(best-properties) in $(properties)
-                        {
-                            best = $(v) ;
-                            best-properties = $(properties) ;
-                        }
-                        else
-                        {
-                            bad = true ;
-                        }
-                    }
-                }
-                worklist = $(worklist[2-]) ;
-            }
-            if ! $(bad)
-            {
-                return $(best) ;
-            }
-        }
-        else
-        {
-            return $(self.alternatives) ;
-        }
-    }
-
-    rule apply-default-build ( property-set )
-    {
-        return [ targets.apply-default-build $(property-set) 
-          : $(self.default-build) ] ;
-    }
-
-    # Select an alternative for this main target, by finding all alternatives
-    # which requirements are satisfied by 'properties' and picking the one with
-    # the longest requirements set. Returns the result of calling 'generate' on
-    # that alternative.
-    #
-    rule generate ( property-set )
-    {
-        start-building $(__name__) ;
-
-        # We want composite properties in build request act as if all the
-        # properties it expands too are explicitly specified.
-        property-set = [ $(property-set).expand ] ;
-
-        local all-property-sets = [ apply-default-build $(property-set) ] ;
-        local usage-requirements = [ property-set.empty ] ;
-        local result ;
-        for local p in $(all-property-sets)
-        {
-            local r = [ generate-really $(p) ] ;
-            if $(r)
-            {
-                usage-requirements = [ $(usage-requirements).add $(r[1]) ] ;
-                result += $(r[2-]) ;
-            }
-        }
-        end-building $(__name__) ;
-        return $(usage-requirements) [ sequence.unique $(result) ] ;
-    }
-
-    # Generates the main target with the given property set and returns a list
-    # which first element is property-set object containing usage-requirements
-    # of generated target and with generated virtual target in other elements.
-    # It is possible that no targets are generated.
-    #
-    local rule generate-really ( property-set )
-    {
-        local best-alternatives = [ select-alternatives $(property-set) ] ;
-        if ! $(best-alternatives)
-        {
-            ECHO "error: No best alternative for" [ full-name ] ;
-            select-alternatives $(property-set) debug ;
-            return [ property-set.empty ] ;
-        }
-        else
-        {
-            # Now return virtual targets for the only alternative.
-            return [ $(best-alternatives).generate $(property-set) ] ;
-        }
-    }
-
-    rule rename ( new-name )
-    {
-        abstract-target.rename $(new-name) ;
-        for local a in $(self.alternatives)
-        {
-            $(a).rename $(new-name) ;
-        }
-    }
-}
-
-
-# Abstract target refering to a source file. This is an artificial entity
-# allowing sources to a target to be represented using a list of abstract target
-# instances.
-#
-class file-reference : abstract-target
-{
-    import virtual-target ;
-    import property-set ;
-    import path ;
-
-    rule __init__ ( file : project )
-    {
-        abstract-target.__init__ $(file) : $(project) ;
-    }
-
-    rule generate ( properties )
-    {
-        return [ property-set.empty ] [ virtual-target.from-file $(self.name) :
-            [ location ] : $(self.project) ] ;
-    }
-
-    # Returns true if the referred file really exists.
-    rule exists ( )
-    {
-        location ;
-        return $(self.file-path) ;
-    }
-
-    # Returns the location of target. Needed by 'testing.jam'.
-    rule location ( )
-    {
-        if ! $(self.file-location)
-        {
-            local source-location = [ $(self.project).get source-location ] ;
-            for local src-dir in $(source-location)
-            {
-                if ! $(self.file-location)
-                {
-                    local location = [ path.root $(self.name) $(src-dir) ] ;
-                    if [ CHECK_IF_FILE [ path.native $(location) ] ]
-                    {
-                         self.file-location = $(src-dir) ;
-                         self.file-path = $(location) ;
-                    }
-                }
-            }
-        }
-        return $(self.file-location) ;
-    }
-}
-
-
-# Given a target-reference, made in context of 'project', returns the
-# abstract-target instance that is referred to, as well as properties explicitly
-# specified for this reference.
-#
-rule resolve-reference ( target-reference : project )
-{
-    # Separate target name from properties override.
-    local split = [ MATCH "^([^<]*)(/(<.*))?$" : $(target-reference) ] ;
-    local id = $(split[1]) ;
-    local sproperties = ;
-    if $(split[3])
-    {
-        sproperties = [ property.make [ feature.split $(split[3]) ] ] ;
-        sproperties = [ feature.expand-composites $(sproperties) ] ;
-    }
-
-    # Find the target.
-    local target = [ $(project).find $(id) ] ;
-
-    return $(target) [ property-set.create $(sproperties) ] ;
-}
-
-
-# Attempts to generate the target given by target reference, which can refer
-# both to a main target or to a file. Returns a list consisting of
-# - usage requirements
-# - generated virtual targets, if any
-#
-rule generate-from-reference (
-    target-reference  # Target reference.
-    : project         # Project where the reference is made.
-    : property-set    # Properties of the main target that makes the reference.
-)
-{
-    local r = [ resolve-reference $(target-reference) : $(project) ] ;
-    local target = $(r[1]) ;
-    local sproperties = $(r[2]) ;
-
-    # Take properties which should be propagated and refine them with
-    # source-specific requirements.
-    local propagated = [ $(property-set).propagated ] ;
-    local rproperties = [ $(propagated).refine $(sproperties) ] ;
-    if $(rproperties[1]) = "@error"
-    {
-        errors.error
-            "When building" [ full-name ] " with properties " $(properties) :
-            "Invalid properties specified for " $(source) ":"
-            $(rproperties[2-]) ;
-    }
-    return [ $(target).generate $(rproperties) ] ;
-}
-
-rule apply-default-build ( property-set : default-build )
-{
-    # 1. First, see what properties from default-build are already present
-    # in property-set.
-
-    local raw = [ $(property-set).raw ] ;
-    local specified-features = $(raw:G) ;
-
-    local defaults-to-apply ;
-    for local d in [ $(default-build).raw ]
-    {
-        if ! $(d:G) in $(specified-features)
-        {
-            defaults-to-apply += $(d) ;
-        }
-    }
-
-    # 2. If there are any defaults to be applied, form a new build request.
-    # Pass it through to 'expand-no-defaults' since default-build might
-    # contain "release debug" resulting in two property-sets.
-    local result ;
-    if $(defaults-to-apply)
-    {
-        properties = [
-          build-request.expand-no-defaults
-
-            # We have to compress subproperties here to prevent property
-            # lists like:
-            #
-            #    <toolset>msvc <toolset-msvc:version>7.1 <threading>multi
-            #
-            # from being expanded into:
-            #
-            #    <toolset-msvc:version>7.1/<threading>multi
-            #    <toolset>msvc/<toolset-msvc:version>7.1/<threading>multi
-            #
-            # due to a cross-product property combination. That may be an
-            # indication that build-request.expand-no-defaults is the wrong
-            # rule to use here.
-            [ feature.compress-subproperties $(raw) ]
-              $(defaults-to-apply)
-        ] ;
-
-        if $(properties)
-        {
-            for local p in $(properties)
-            {
-                result += [ property-set.create
-                    [ feature.expand [ feature.split $(p) ] ] ] ;
-            }
-        }
-        else
-        {
-            result = [ property-set.empty ] ;
-        }
-    }
-    else
-    {
-        result = $(property-set) ;
-    }
-    return $(result) ;
-}
-
-
-# Given a build request and requirements, return properties common to dependency
-# build request and target requirements.
-#
-# TODO: Document exactly what 'common properties' are, whether they should
-# include default property values, whether they should contain any conditional
-# properties or should those be already processed, etc. See whether there are
-# any differences between use cases with empty and non-empty build-request as
-# well as with requirements containing and those not containing any non-free
-# features.
-#
-rule common-properties ( build-request requirements )
-{
-    # For optimization, we add free requirements directly, without using a
-    # complex algorithm. This gives the complex algorithm a better chance of
-    # caching results.
-    local free = [ $(requirements).free ] ;
-    local non-free = [ property-set.create [ $(requirements).base ]
-        [ $(requirements).incidental ] ] ;
-
-    local key = .rp.$(build-request)-$(non-free) ;
-    if ! $($(key))
-    {
-        $(key) = [ common-properties2 $(build-request) $(non-free) ] ;
-    }
-    result = [ $($(key)).add-raw $(free) ] ;
-}
-
-
-# Given a 'context' -- a set of already present properties, and 'requirements',
-# decide which extra properties should be applied to 'context'. For conditional
-# requirements, this means evaluating the condition. For indirect conditional
-# requirements, this means calling a rule. Ordinary requirements are always
-# applied.
-#
-# Handles the situation where evaluating one conditional requirement affects
-# conditions of another conditional requirements, such as:
-#     <toolset>gcc:<variant>release <variant>release:<define>RELEASE
-#
-# If 'what' is 'refined' returns context refined with new requirements. If
-# 'what' is 'added' returns just the requirements to be applied.
-#
-rule evaluate-requirements ( requirements : context : what )
-{
-    # Apply non-conditional requirements. It is possible that further
-    # conditional requirement change a value set by non-conditional
-    # requirements. For example:
-    #
-    #    exe a : a.cpp : <threading>single <toolset>foo:<threading>multi ;
-    #
-    # I am not sure if this should be an error, or not, especially given that
-    #
-    #    <threading>single
-    #
-    # might come from project's requirements.
-
-    local unconditional = [ feature.expand [ $(requirements).non-conditional ] ] ;
- 
-    local raw = [ $(context).raw ] ;
-    raw = [ property.refine $(raw) : $(unconditional) ] ;
-
-    # We have collected properties that surely must be present in common
-    # properties. We now try to figure out what other properties should be added
-    # in order to satisfy rules (4)-(6) from the docs.
-
-    local conditionals = [ $(requirements).conditional ] ;
-    # The 'count' variable has one element for each conditional feature and for
-    # each occurrence of '<indirect-conditional>' feature. It is used as a loop
-    # counter: for each iteration of the loop before we remove one element and
-    # the property set should stabilize before we are done. It is assumed that
-    # #conditionals iterations should be enough for properties to propagate
-    # along conditions in any direction.
-    local count = $(conditionals)
-                  [ $(requirements).get <conditional> ]
-                  and-once-more ;
-
-    local added-requirements ;
-
-    local current = $(raw) ;
-
-    # It is assumed that ordinary conditional requirements can not add
-    # <conditional> properties (a.k.a. indirect conditional properties), and
-    # that rules referred to by <conditional> properties can not add new
-    # <conditional> properties. So the list of indirect conditionals does not
-    # change.
-    local indirect = [ $(requirements).get <conditional> ] ;
-    indirect = [ MATCH ^@(.*) : $(indirect) ] ;
-
-    local ok ;
-    while $(count)
-    {
-        # Evaluate conditionals in context of current properties.
-        local e = [ property.evaluate-conditionals-in-context $(conditionals)
-            : $(current) ] ;
-
-        # Evaluate indirect conditionals.
-        for local i in $(indirect)
-        {
-            e += [ indirect.call $(i) $(current) ] ;
-        }
-
-        if $(e) = $(added-requirements)
-        {
-            # If we got the same result, we have found the final properties.
-            count = ;
-            ok = true ;
-        }
-        else
-        {
-            # Oops, conditional evaluation results have changed. Also 'current'
-            # contains leftovers from a previous evaluation. Recompute 'current'
-            # using initial properties and conditional requirements.
-            added-requirements = $(e) ;
-            current = [ property.refine $(raw) : [ feature.expand $(e) ] ] ;
-        }
-        count = $(count[2-]) ;
-    }
-    if ! $(ok)
-    {
-        errors.error "Can not evaluate conditional properties " $(conditionals) ;
-    }
-
-    if $(what) = added
-    {
-        return [ property-set.create $(unconditional) $(added-requirements) ] ;
-    }
-    else if $(what) = refined
-    {
-        return [ property-set.create $(current) ] ;
-    }
-    else
-    {
-        errors.error "Invalid value of the 'what' parameter." ;
-    }
-}
-
-
-rule common-properties2 ( build-request requirements )
-{
-    # This guarantees that default properties are present in the result, unless
-    # they are overriden by some requirement. FIXME: There is possibility that
-    # we have added <foo>bar, which is composite and expands to <foo2>bar2, but
-    # default value of <foo2> is not bar2, in which case it is not clear what to
-    # do.
-    #
-    build-request = [ $(build-request).add-defaults ] ;
-    # Features added by 'add-default' can be composite and expand to features
-    # without default values -- so they are not added yet. It could be clearer/
-    # /faster to expand only newly added properties but that is not critical.
-    build-request = [ $(build-request).expand ] ;
-
-    return [ evaluate-requirements $(requirements) : $(build-request) :
-        refined ] ;
-}
-
-rule push-target ( target )
-{
-    .targets = $(target) $(.targets) ;
-}
-
-rule pop-target ( )
-{
-    .targets = $(.targets[2-]) ;
-}
-
-# Return the metatarget that is currently being generated.
-rule current ( )
-{
-    return $(.targets[1]) ;
-}
-
-
-# Implements the most standard way of constructing main target alternative from
-# sources. Allows sources to be either file or other main target and handles
-# generation of those dependency targets.
-#
-class basic-target : abstract-target
-{
-    import build-request ;
-    import build-system ;
-    import "class" : new ;
-    import errors ;
-    import feature ;
-    import property ;
-    import property-set ;
-    import sequence ;
-    import set ;
-    import targets ;
-    import virtual-target ;
-
-    rule __init__ ( name : project : sources * : requirements *
-        : default-build * : usage-requirements * )
-    {
-        abstract-target.__init__ $(name) : $(project) ;
-
-        self.sources = $(sources) ;
-        if ! $(requirements) {
-            requirements = [ property-set.empty ] ;
-        }
-        self.requirements = $(requirements) ;
-        if ! $(default-build)
-        {
-            default-build = [ property-set.empty ] ;
-        }
-        self.default-build = $(default-build) ;
-        if ! $(usage-requirements)
-        {
-            usage-requirements = [ property-set.empty ] ;
-        }
-        self.usage-requirements = $(usage-requirements) ;
-
-        if $(sources:G)
-        {
-            errors.user-error properties found in the 'sources' parameter for
-                [ full-name ] ;
-        }
-    }
-    
-    rule always ( )
-    {
-        self.always = 1 ;
-    }
-    
-    # Returns the list of abstract-targets which are used as sources. The extra
-    # properties specified for sources are not represented. The only user for
-    # this rule at the moment is the "--dump-tests" feature of the test system.
-    #
-    rule sources ( )
-    {
-        if ! $(self.source-targets)
-        {
-            for local s in $(self.sources)
-            {
-                self.source-targets +=
-                  [ targets.resolve-reference $(s) : $(self.project) ] ;
-            }
-        }
-        return $(self.source-targets) ;
-    }
-
-    rule requirements ( )
-    {
-        return $(self.requirements) ;
-    }
-
-    rule default-build ( )
-    {
-        return $(self.default-build) ;
-    }
-
-    # Returns the alternative condition for this alternative, if the condition
-    # is satisfied by 'property-set'.
-    #
-    rule match ( property-set debug ? )
-    {
-        # The condition is composed of all base non-conditional properties. It
-        # is not clear if we should expand 'self.requirements' or not. For one
-        # thing, it would be nice to be able to put
-        #    <toolset>msvc-6.0
-        # in requirements. On the other hand, if we have <variant>release as a
-        # condition it does not make sense to require <optimization>full to be
-        # in the build request just to select this variant.
-        local bcondition = [ $(self.requirements).base ] ;
-        local ccondition = [ $(self.requirements).conditional ] ;
-        local condition = [ set.difference $(bcondition) : $(ccondition) ] ;
-        if $(debug)
-        {
-            ECHO "    next alternative: required properties:" $(condition:E=(empty)) ;
-        }
-
-        if $(condition) in [ $(property-set).raw ]
-        {
-            if $(debug)
-            {
-                ECHO "        matched" ;
-            }
-            return $(condition) ;
-        }
-        else
-        {
-            if $(debug)
-            {
-                ECHO "        not matched" ;
-            }
-            return no-match ;
-        }
-    }
-
-    # Takes a target reference, which might be either target id or a dependency
-    # property, and generates that target using 'property-set' as build request.
-    #
-    # The results are added to the variable called 'result-var'. Usage
-    # requirements are added to the variable called 'usage-requirements-var'.
-    #
-    rule generate-dependencies ( dependencies * : property-set
-        : result-var usage-requirements-var )
-    {
-        for local dependency in $(dependencies)
-        {
-            local grist = $(dependency:G) ;
-            local id = $(dependency:G=) ;
-
-            local result = [ targets.generate-from-reference $(id) :
-                $(self.project) : $(property-set) ] ;
-
-            $(result-var) += $(result[2-]:G=$(grist)) ;
-            $(usage-requirements-var) += [ $(result[1]).raw ] ;
-        }
-    }
-
-    # Determines final build properties, generates sources, and calls
-    # 'construct'. This method should not be overridden.
-    #
-    rule generate ( property-set )
-    {
-        if [ modules.peek : .debug-building ]
-        {
-            ECHO ;
-            local fn = [ full-name ] ;
-            ECHO [ targets.indent ] "Building target '$(fn)'" ;
-            targets.increase-indent ;
-            ECHO [ targets.indent ] "Build request: " $(property-set) [ $(property-set).raw ] ;
-            local cf = [ build-system.command-line-free-features ] ;
-            ECHO [ targets.indent ] "Command line free features: " [ $(cf).raw ] ;
-            ECHO [ targets.indent ] "Target requirements: " [ $(self.requirements).raw ] ;
-        }
-        targets.push-target $(__name__) ;
-
-        if ! $(self.generated.$(property-set))
-        {
-            # Apply free features from the command line. If user said
-            #   define=FOO
-            # he most likely wants this define to be set for all compiles.
-            property-set = [ $(property-set).refine
-                [ build-system.command-line-free-features ] ] ;
-            local rproperties = [ targets.common-properties $(property-set)
-                $(self.requirements) ] ;
-
-            if [ modules.peek : .debug-building ]
-            {
-                ECHO ;
-                ECHO [ targets.indent ] "Common properties: " [ $(rproperties).raw ] ;
-            }
-
-            if ( $(rproperties[1]) != "@error" ) && ( [ $(rproperties).get
-                <build> ] != no )
-            {
-                local source-targets ;
-                local properties = [ $(rproperties).non-dependency ] ;
-                local usage-requirements ;
-
-                generate-dependencies [ $(rproperties).dependency ] :
-                    $(rproperties) : properties usage-requirements ;
-
-                generate-dependencies $(self.sources) : $(rproperties) :
-                    source-targets usage-requirements ;
-
-                if [ modules.peek : .debug-building ]
-                {
-                    ECHO ;
-                    ECHO [ targets.indent ] "Usage requirements for"
-                        $(self.name)": " $(usage-requirements) ;
-                }
-
-                rproperties = [ property-set.create $(properties)
-                    $(usage-requirements) ] ;
-                usage-requirements = [ property-set.create $(usage-requirements) ] ;
-
-                if [ modules.peek : .debug-building ]
-                {
-                    ECHO [ targets.indent ] "Build properties: "
-                        [ $(rproperties).raw ] ;
-                }
-
-                local extra = [ $(rproperties).get <source> ] ;
-                source-targets += $(extra:G=) ;
-                # We might get duplicate sources, for example if we link to two
-                # libraries having the same <library> usage requirement.
-                # Use stable sort, since for some targets the order is
-                # important. E.g. RUN_PY target need python source to come
-                # first.
-                source-targets = [ sequence.unique $(source-targets) : stable ] ;
-
-                local result = [ construct $(self.name) : $(source-targets) :
-                    $(rproperties) ] ;
-
-                if $(result)
-                {
-                    local gur = $(result[1]) ;
-                    result = $(result[2-]) ;
-                    
-                    if $(self.always)
-                    {
-                        for local t in $(result)
-                        {
-                            $(t).always ;
-                        }                        
-                    }
-                    
-                    local s = [ create-subvariant $(result)
-                        : [ virtual-target.recent-targets ]
-                        : $(property-set) : $(source-targets)
-                        : $(rproperties) : $(usage-requirements) ] ;
-                    virtual-target.clear-recent-targets ;
-
-                    local ur = [ compute-usage-requirements $(s) ] ;
-                    ur = [ $(ur).add $(gur) ] ;
-                    $(s).set-usage-requirements $(ur) ;
-                    if [ modules.peek : .debug-building ]
-                    {
-                        ECHO [ targets.indent ] "Usage requirements from"
-                            $(self.name)": " [ $(ur).raw ] ;
-                    }
-
-                    self.generated.$(property-set) = $(ur) $(result) ;
-                }
-            }
-            else
-            {
-                if $(rproperties[1]) = "@error"
-                {
-                    ECHO [ targets.indent ] "Skipping build of:" [ full-name ]
-                        "cannot compute common properties" ;
-                }
-                else if [ $(rproperties).get <build> ] = no
-                {
-                    # If we just see <build>no, we cannot produce any reasonable
-                    # diagnostics. The code that adds this property is expected
-                    # to explain why a target is not built, for example using
-                    # the configure.log-component-configuration function.
-                }
-                else
-                {
-                    ECHO [ targets.indent ] "Skipping build of: " [ full-name ]
-                        " unknown reason" ;
-                }
-
-                # We are here either because there has been an error computing
-                # properties or there is <build>no in properties. In the latter
-                # case we do not want any diagnostic. In the former case, we
-                # need diagnostics. FIXME
-
-                # If this target fails to build, add <build>no to properties to
-                # cause any parent target to fail to build. Except that it
-                # - does not work now, since we check for <build>no only in
-                #   common properties, but not in properties that came from
-                #   dependencies
-                # - it is not clear if that is a good idea anyway. The alias
-                #   target, for example, should not fail to build if a
-                #   dependency fails.
-                self.generated.$(property-set) = [ property-set.create <build>no ] ;
-            }
-        }
-        else
-        {
-            if [ modules.peek : .debug-building ]
-            {
-                ECHO [ targets.indent ] "Already built" ;
-                local ur = $(self.generated.$(property-set)) ;
-                ur = $(ur[0]) ;
-                targets.increase-indent ;
-                ECHO [ targets.indent ] "Usage requirements from"
-                    $(self.name)": " [ $(ur).raw ] ;
-                targets.decrease-indent ;
-            }
-        }
-
-        targets.pop-target ;
-        targets.decrease-indent ;
-        return $(self.generated.$(property-set)) ;
-    }
-
-    # Given the set of generated targets, and refined build properties,
-    # determines and sets appropriate usage requirements on those targets.
-    #
-    rule compute-usage-requirements ( subvariant )
-    {
-        local rproperties = [ $(subvariant).build-properties ] ;
-        xusage-requirements = [ targets.evaluate-requirements
-            $(self.usage-requirements) : $(rproperties) : added ] ;
-
-        # We generate all dependency properties and add them, as well as their
-        # usage requirements, to the result.
-        local extra ;
-        generate-dependencies [ $(xusage-requirements).dependency ] :
-            $(rproperties) : extra extra ;
-
-        local result = [ property-set.create
-            [ $(xusage-requirements).non-dependency ] $(extra) ] ;
-
-        # Propagate usage requirements we got from sources, except for the
-        # <pch-header> and <pch-file> features.
-        #
-        # That feature specifies which pch file to use, and should apply only to
-        # direct dependents. Consider:
-        #
-        #   pch pch1 : ...
-        #   lib lib1 : ..... pch1 ;
-        #   pch pch2 :
-        #   lib lib2 : pch2 lib1 ;
-        #
-        # Here, lib2 should not get <pch-header> property from pch1.
-        #
-        # Essentially, when those two features are in usage requirements, they
-        # are propagated only to direct dependents. We might need a more general
-        # mechanism, but for now, only those two features are special.
-        #
-        # TODO - Actually there are more possible candidates like for instance
-        # when listing static library X as a source for another static library.
-        # Then static library X will be added as a <source> property to the
-        # second library's usage requirements but those requirements should last
-        # only up to the first executable or shared library that actually links
-        # to it.
-        local raw = [ $(subvariant).sources-usage-requirements ] ;
-        raw = [ $(raw).raw ] ;
-        raw = [ property.change $(raw) : <pch-header> ] ;
-        raw = [ property.change $(raw) : <pch-file> ] ;
-        return [ $(result).add [ property-set.create $(raw) ] ] ;
-    }
-
-    # Creates new subvariant instances for 'targets'.
-    # 'root-targets'  - virtual targets to be returned to dependants
-    # 'all-targets'   - virtual targets created while building this main target
-    # 'build-request' - property-set instance with requested build properties
-    #
-    local rule create-subvariant ( root-targets * : all-targets * :
-        build-request : sources * : rproperties : usage-requirements )
-    {
-        for local e in $(root-targets)
-        {
-            $(e).root true ;
-        }
-
-        # Process all virtual targets that will be created if this main target
-        # is created.
-        local s = [ new subvariant $(__name__) : $(build-request) : $(sources) :
-            $(rproperties) : $(usage-requirements) : $(all-targets) ] ;
-        for local v in $(all-targets)
-        {
-            if ! [ $(v).creating-subvariant ]
-            {
-                $(v).creating-subvariant $(s) ;
-            }
-        }
-        return $(s) ;
-    }
-
-    # Constructs virtual targets for this abstract target and the dependency
-    # graph. Returns a usage-requirements property-set and a list of virtual
-    # targets. Should be overriden in derived classes.
-    #
-    rule construct ( name : source-targets * : properties * )
-    {
-        errors.error "method should be defined in derived classes" ;
-    }
-}
-
-
-class typed-target : basic-target
-{
-    import generators ;
-
-    rule __init__ ( name : project : type : sources * : requirements * :
-         default-build * : usage-requirements * )
-    {
-        basic-target.__init__ $(name) : $(project) : $(sources) :
-            $(requirements) : $(default-build) : $(usage-requirements) ;
-
-        self.type = $(type) ;
-    }
-
-    rule type ( )
-    {
-        return $(self.type) ;
-    }
-
-    rule construct ( name : source-targets * : property-set )
-    {
-        local r = [ generators.construct $(self.project) $(name:S=) : $(self.type)
-            : [ property-set.create [ $(property-set).raw ]
-                <main-target-type>$(self.type) ]
-            : $(source-targets) : true ] ;
-        if ! $(r)
-        {
-            ECHO "warn: Unable to construct" [ full-name ] ;
-
-            # Are there any top-level generators for this type/property set.
-            if ! [ generators.find-viable-generators $(self.type)
-                : $(property-set) ]
-            {
-                ECHO "error: no generators were found for type '$(self.type)'" ;
-                ECHO "error: and the requested properties" ;
-                ECHO "error: make sure you've configured the needed tools" ;
-                ECHO "See http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html" ;
-                ECHO "To debug this problem, try the --debug-generators option." ;
-                EXIT ;
-            }
-        }
-        return $(r) ;
-    }
-}
-
-
-# Return the list of sources to use, if main target rule is invoked with
-# 'sources'. If there are any objects in 'sources', they are treated as main
-# target instances, and the name of such targets are adjusted to be
-# '<name_of_this_target>__<name_of_source_target>'. Such renaming is disabled if
-# a non-empty value is passed as the 'no-renaming' parameter.
-#
-rule main-target-sources ( sources * : main-target-name : no-renaming ? )
-{
-    local result ;
-    for local t in $(sources)
-    {
-        if [ class.is-instance $(t) ]
-        {
-            local name = [ $(t).name ] ;
-            if ! $(no-renaming)
-            {
-                name = $(main-target-name)__$(name) ;
-                $(t).rename $(name) ;
-            }
-            # Inline targets are not built by default.
-            local p = [ $(t).project ] ;
-            $(p).mark-target-as-explicit $(name) ;
-            result += $(name) ;
-        }
-        else
-        {
-            result += $(t) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Returns the requirements to use when declaring a main target, obtained by
-# translating all specified property paths and refining project requirements
-# with the ones specified for the target.
-#
-rule main-target-requirements (
-    specification *  # Properties explicitly specified for the main target.
-    : project        # Project where the main target is to be declared.
-)
-{
-    specification += [ toolset.requirements ] ;
-
-    local requirements = [ property-set.refine-from-user-input
-        [ $(project).get requirements ] : $(specification) :
-        [ $(project).project-module ] : [ $(project).get location ] ] ;
-    if $(requirements[1]) = "@error"
-    {
-        errors.error "Conflicting requirements for target:" $(requirements) ;
-    }
-    return $(requirements) ;
-}
-
-
-# Returns the usage requirements to use when declaring a main target, which are
-# obtained by translating all specified property paths and adding project's
-# usage requirements.
-#
-rule main-target-usage-requirements (
-    specification *  # Use-properties explicitly specified for a main target.
-    : project        # Project where the main target is to be declared.
-)
-{
-    local project-usage-requirements = [ $(project).get usage-requirements ] ;
-
-    # We do not use 'refine-from-user-input' because:
-    # - I am not sure if removing parent's usage requirements makes sense
-    # - refining usage requirements is not needed, since usage requirements are
-    #   always free.
-    local usage-requirements = [ property-set.create-from-user-input
-        $(specification)
-        : [ $(project).project-module ] [ $(project).get location ] ] ;
-
-    return [ $(project-usage-requirements).add $(usage-requirements) ] ;
-}
-
-
-# Return the default build value to use when declaring a main target, which is
-# obtained by using the specified value if not empty and parent's default build
-# attribute otherwise.
-#
-rule main-target-default-build (
-    specification *  # Default build explicitly specified for a main target.
-    : project        # Project where the main target is to be declared.
-)
-{
-    local result ;
-    if $(specification)
-    {
-        result = $(specification) ;
-    }
-    else
-    {
-        result = [ $(project).get default-build ] ;
-    }
-    return [ property-set.create-with-validation $(result) ] ;
-}
-
-
-# Registers the specified target as a main target alternative and returns it.
-#
-rule main-target-alternative ( target )
-{
-    local ptarget = [ $(target).project ] ;
-    $(ptarget).add-alternative $(target) ;
-    return $(target) ;
-}
-
-# Creates a new metargets with the specified properties, using 'klass' as
-# the class. The 'name', 'sources',
-# 'requirements', 'default-build' and 'usage-requirements' are assumed to be in
-# the form specified by the user in Jamfile corresponding to 'project'.
-#
-rule create-metatarget ( klass : project : name : sources * : requirements * :
-    default-build * : usage-requirements * )
-{
-    return [
-        targets.main-target-alternative
-        [ new $(klass) $(name) : $(project)
-            : [ targets.main-target-sources $(sources) : $(name) ]
-            : [ targets.main-target-requirements $(requirements) : $(project) ]
-            : [ targets.main-target-default-build $(default-build) : $(project) ]
-            : [ targets.main-target-usage-requirements $(usage-requirements) : $(project) ]
-        ] ] ;
-}
-
-# Creates a typed-target with the specified properties. The 'name', 'sources',
-# 'requirements', 'default-build' and 'usage-requirements' are assumed to be in
-# the form specified by the user in Jamfile corresponding to 'project'.
-#
-rule create-typed-target ( type : project : name : sources * : requirements * :
-    default-build * : usage-requirements * )
-{
-    return [
-        targets.main-target-alternative
-        [ new typed-target $(name) : $(project) : $(type)
-            : [ targets.main-target-sources $(sources) : $(name) ]
-            : [ targets.main-target-requirements $(requirements) : $(project) ]
-            : [ targets.main-target-default-build $(default-build) : $(project) ]
-            : [ targets.main-target-usage-requirements $(usage-requirements) : $(project) ]
-        ] ] ;
-}
diff --git a/SRC/Boost/tools/build/v2/build/targets.py b/SRC/Boost/tools/build/v2/build/targets.py
deleted file mode 100755
index 4dd2804..0000000
--- a/SRC/Boost/tools/build/v2/build/targets.py
+++ /dev/null
@@ -1,1401 +0,0 @@
-# Status: ported.
-# Base revision: 64488
-
-# Copyright Vladimir Prus 2002-2007.
-# Copyright Rene Rivera 2006.
-#
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-#   Supports 'abstract' targets, which are targets explicitly defined in Jamfile.
-#
-#   Abstract targets are represented by classes derived from 'AbstractTarget' class. 
-#   The first abstract target is 'project_target', which is created for each
-#   Jamfile, and can be obtained by the 'target' rule in the Jamfile's module.
-#   (see project.jam). 
-#
-#   Project targets keep a list of 'MainTarget' instances.
-#   A main target is what the user explicitly defines in a Jamfile. It is
-#   possible to have several definitions for a main target, for example to have
-#   different lists of sources for different platforms. So, main targets
-#   keep a list of alternatives.
-#
-#   Each alternative is an instance of 'AbstractTarget'. When a main target
-#   subvariant is defined by some rule, that rule will decide what class to
-#   use, create an instance of that class and add it to the list of alternatives
-#   for the main target.
-#
-#   Rules supplied by the build system will use only targets derived
-#   from 'BasicTarget' class, which will provide some default behaviour.
-#   There will be two classes derived from it, 'make-target', created by the
-#   'make' rule, and 'TypedTarget', created by rules such as 'exe' and 'dll'.
-
-#
-#                         +------------------------+
-#                         |AbstractTarget          |
-#                         +========================+
-#                         |name                    |
-#                         |project                 |                                   
-#                         |                        |                                   
-#                         |generate(properties) = 0|                                   
-#                         +-----------+------------+                                   
-#                                     |                                                
-#                                     ^                                                
-#                                    / \                                               
-#                                   +-+-+                                              
-#                                     |                                                
-#                                     |                                                
-#            +------------------------+------+------------------------------+          
-#            |                               |                              |          
-#            |                               |                              |          
-# +----------+-----------+            +------+------+                +------+-------+  
-# | project_target       |            | MainTarget  |                | BasicTarget  |  
-# +======================+ 1        * +=============+  alternatives  +==============+  
-# | generate(properties) |o-----------+ generate    |<>------------->| generate     |  
-# | main-target          |            +-------------+                | construct = 0|
-# +----------------------+                                           +--------------+  
-#                                                                           |          
-#                                                                           ^          
-#                                                                          / \         
-#                                                                         +-+-+        
-#                                                                           |          
-#                                                                           |          
-#                 ...--+----------------+------------------+----------------+---+      
-#                      |                |                  |                    |      
-#                      |                |                  |                    |      
-#               ... ---+-----+   +------+-------+   +------+------+    +--------+-----+
-#                            |   | TypedTarget  |   | make-target |    | stage-target |
-#                            .   +==============+   +=============+    +==============+
-#                            .   | construct    |   | construct   |    | construct    |
-#                                +--------------+   +-------------+    +--------------+
-
-import re
-import os.path
-import sys
-
-from b2.manager import get_manager
-
-from b2.util.utility import *
-import property, project, virtual_target, property_set, feature, generators, toolset
-from virtual_target import Subvariant
-from b2.exceptions import *
-from b2.util.sequence import unique
-from b2.util import path, bjam_signature
-from b2.build.errors import user_error_checkpoint
-
-import b2.build.build_request as build_request
-
-import b2.util.set
-_re_separate_target_from_properties = re.compile (r'^([^<]*)(/(<.*))?$')
-
-class TargetRegistry:
-    
-    def __init__ (self):
-        # All targets that are currently being built.
-        # Only the key is id (target), the value is the actual object.
-        self.targets_being_built_ = {}
-
-        # Current indent for debugging messages
-        self.indent_ = ""
-
-        self.debug_building_ = "--debug-building" in bjam.variable("ARGV")
-
-        self.targets_ = []
-
-    def main_target_alternative (self, target):
-        """ Registers the specified target as a main target alternatives.
-            Returns 'target'.
-        """
-        target.project ().add_alternative (target)
-        return target
-
-    def main_target_sources (self, sources, main_target_name, no_renaming=0):
-        """Return the list of sources to use, if main target rule is invoked
-        with 'sources'. If there are any objects in 'sources', they are treated
-        as main target instances, and the name of such targets are adjusted to
-        be '<name_of_this_target>__<name_of_source_target>'. Such renaming
-        is disabled is non-empty value is passed for 'no-renaming' parameter."""
-        result = []
-
-        for t in sources:
-
-            t = b2.util.jam_to_value_maybe(t)
-            
-            if isinstance (t, AbstractTarget):
-                name = t.name ()
-
-                if not no_renaming:
-                    name = main_target_name + '__' + name
-                    t.rename (name)
-
-                # Inline targets are not built by default.
-                p = t.project()
-                p.mark_targets_as_explicit([name])                    
-                result.append(name)
-
-            else:
-                result.append (t)
-
-        return result
-
-
-    def main_target_requirements(self, specification, project):
-        """Returns the requirement to use when declaring a main target,
-         which are obtained by
-         - translating all specified property paths, and
-         - refining project requirements with the one specified for the target
-        
-         'specification' are the properties xplicitly specified for a
-          main target
-         'project' is the project where the main taret is to be declared."""
-
-        specification.extend(toolset.requirements())
-
-        requirements = property_set.refine_from_user_input(
-            project.get("requirements"), specification,
-            project.project_module(), project.get("location"))
-
-        return requirements
-
-    def main_target_usage_requirements (self, specification, project):
-        """ Returns the use requirement to use when declaraing a main target,
-            which are obtained by
-            - translating all specified property paths, and
-            - adding project's usage requirements
-            specification:  Use-properties explicitly specified for a main target
-            project:        Project where the main target is to be declared
-        """
-        project_usage_requirements = project.get ('usage-requirements')
-
-        # We don't use 'refine-from-user-input' because I'm not sure if:
-        # - removing of parent's usage requirements makes sense
-        # - refining of usage requirements is not needed, since usage requirements
-        #   are always free.
-        usage_requirements = property_set.create_from_user_input(
-            specification, project.project_module(), project.get("location"))
-        
-        return project_usage_requirements.add (usage_requirements)
-
-    def main_target_default_build (self, specification, project):
-        """ Return the default build value to use when declaring a main target,
-            which is obtained by using specified value if not empty and parent's
-            default build attribute otherwise.
-            specification:  Default build explicitly specified for a main target
-            project:        Project where the main target is to be declared
-        """
-        if specification:
-            return property_set.create_with_validation(specification)
-        else:
-            return project.get ('default-build')
-
-    def start_building (self, main_target_instance):
-        """ Helper rules to detect cycles in main target references.
-        """
-        if self.targets_being_built_.has_key(id(main_target_instance)):
-            names = []
-            for t in self.targets_being_built_.values() + [main_target_instance]:
-                names.append (t.full_name())
-            
-            get_manager().errors()("Recursion in main target references\n")
-        
-        self.targets_being_built_[id(main_target_instance)] = main_target_instance
-
-    def end_building (self, main_target_instance):
-        assert (self.targets_being_built_.has_key (id (main_target_instance)))
-        del self.targets_being_built_ [id (main_target_instance)]
-
-    def create_typed_target (self, type, project, name, sources, requirements, default_build, usage_requirements):
-        """ Creates a TypedTarget with the specified properties.
-            The 'name', 'sources', 'requirements', 'default_build' and
-            'usage_requirements' are assumed to be in the form specified
-            by the user in Jamfile corresponding to 'project'.
-        """
-        return self.main_target_alternative (TypedTarget (name, project, type,
-            self.main_target_sources (sources, name),
-            self.main_target_requirements (requirements, project),
-            self.main_target_default_build (default_build, project),
-            self.main_target_usage_requirements (usage_requirements, project)))
-
-    def increase_indent(self):
-        self.indent_ += "    "
-
-    def decrease_indent(self):
-        self.indent_ = self.indent_[0:-4]
-
-    def logging(self):
-        return self.debug_building_
-
-    def log(self, message):
-        if self.debug_building_:
-            print self.indent_ + message
-
-    def push_target(self, target):
-        self.targets_.append(target)
-
-    def pop_target(self):
-        self.targets_ = self.targets_[:-1]
-
-    def current(self):
-        return self.targets_[0]
-
-
-class GenerateResult:
-    
-    def __init__ (self, ur=None, targets=None):
-        if not targets:
-            targets = []
-        
-        self.__usage_requirements = ur
-        self.__targets = targets
-        assert all(isinstance(t, virtual_target.VirtualTarget) for t in targets)
-
-        if not self.__usage_requirements:
-            self.__usage_requirements = property_set.empty ()
-
-    def usage_requirements (self):
-        return self.__usage_requirements
-
-    def targets (self):
-        return self.__targets
-    
-    def extend (self, other):
-        assert (isinstance (other, GenerateResult))
-        
-        self.__usage_requirements = self.__usage_requirements.add (other.usage_requirements ())
-        self.__targets.extend (other.targets ())
-
-class AbstractTarget:
-    """ Base class for all abstract targets.
-    """
-    def __init__ (self, name, project, manager = None):
-        """ manager:     the Manager object
-            name:        name of the target
-            project:     the project target to which this one belongs
-            manager:the manager object. If none, uses project.manager ()
-        """
-        assert (isinstance (project, ProjectTarget))
-        # Note: it might seem that we don't need either name or project at all.
-        # However, there are places where we really need it. One example is error
-        # messages which should name problematic targets. Another is setting correct
-        # paths for sources and generated files.
-        
-        # Why allow manager to be specified? Because otherwise project target could not derive
-        # from this class.
-        if manager:
-            self.manager_ = manager
-        else:
-            self.manager_ = project.manager ()
-
-        self.name_ = name
-        self.project_ = project        
-    
-    def manager (self):
-        return self.manager_
-    
-    def name (self):
-        """ Returns the name of this target.
-        """
-        return self.name_
-    
-    def project (self):
-        """ Returns the project for this target.
-        """
-        return self.project_
-    
-    def location (self):
-        """ Return the location where the target was declared.
-        """
-        return self.location_
-            
-    def full_name (self):
-        """ Returns a user-readable name for this target.
-        """
-        location = self.project ().get ('location')
-        return location + '/' + self.name_
-        
-    def generate (self, property_set):
-        """ Takes a property set.  Generates virtual targets for this abstract
-            target, using the specified properties, unless a different value of some
-            feature is required by the target. 
-            On success, returns a GenerateResult instance with:
-                - a property_set with the usage requirements to be
-                  applied to dependents 
-                - a list of produced virtual targets, which may be
-                   empty.  
-            If 'property_set' is empty, performs default build of this
-            target, in a way specific to derived class.
-        """
-        raise BaseException ("method should be defined in derived classes")
-    
-    def rename (self, new_name):
-        self.name_ = new_name
-
-class ProjectTarget (AbstractTarget):
-    """ Project target class (derived from 'AbstractTarget')
-
-        This class these responsibilities:
-        - maintaining a list of main target in this project and
-          building it
-
-        Main targets are constructed in two stages:
-        - When Jamfile is read, a number of calls to 'add_alternative' is made.
-          At that time, alternatives can also be renamed to account for inline
-          targets.
-        - The first time 'main-target' or 'has-main-target' rule is called,
-          all alternatives are enumerated an main targets are created.
-    """
-    def __init__ (self, manager, name, project_module, parent_project, requirements, default_build):
-        AbstractTarget.__init__ (self, name, self, manager)
-        
-        self.project_module_ = project_module
-        self.location_ = manager.projects().attribute (project_module, 'location')
-        self.requirements_ = requirements
-        self.default_build_ = default_build
-       
-        self.build_dir_ = None
-        
-        # A cache of IDs
-        self.ids_cache_ = {}
-        
-        # True is main targets have already been built.
-        self.built_main_targets_ = False
-        
-        # A list of the registered alternatives for this project.
-        self.alternatives_ = []
-
-        # A map from main target name to the target corresponding
-        # to it.
-        self.main_target_ = {}
-        
-        # Targets marked as explicit.
-        self.explicit_targets_ = set()
-
-        # Targets marked as always
-        self.always_targets_ = set()
-
-        # The constants defined for this project.
-        self.constants_ = {}
-
-        # Whether targets for all main target are already created.
-        self.built_main_targets_ = 0
-
-        if parent_project:
-            self.inherit (parent_project)
-
-
-    # TODO: This is needed only by the 'make' rule. Need to find the
-    # way to make 'make' work without this method.
-    def project_module (self):
-        return self.project_module_
-    
-    def get (self, attribute):
-        return self.manager().projects().attribute(
-            self.project_module_, attribute)
-
-    def build_dir (self):
-        if not self.build_dir_:
-            self.build_dir_ = self.get ('build-dir')
-            if not self.build_dir_:
-                self.build_dir_ = os.path.join(self.project_.get ('location'), 'bin')
-
-        return self.build_dir_
-
-    def generate (self, ps):
-        """ Generates all possible targets contained in this project.
-        """
-        self.manager_.targets().log(
-            "Building project '%s' with '%s'" % (self.name (), str(ps)))
-        self.manager_.targets().increase_indent ()
-        
-        result = GenerateResult ()
-                
-        for t in self.targets_to_build ():
-            g = t.generate (ps)
-            result.extend (g)
-            
-        self.manager_.targets().decrease_indent ()
-        return result
-
-    def targets_to_build (self):
-        """ Computes and returns a list of AbstractTarget instances which
-            must be built when this project is built.
-        """
-        result = []
-        
-        if not self.built_main_targets_:
-            self.build_main_targets ()
-        
-        # Collect all main targets here, except for "explicit" ones.
-        for n, t  in self.main_target_.iteritems ():
-            if not t.name () in self.explicit_targets_:
-                result.append (t)
-
-        # Collect all projects referenced via "projects-to-build" attribute.
-        self_location = self.get ('location')
-        for pn in self.get ('projects-to-build'):
-            result.append (self.find(pn + "/"))
-                        
-        return result
-
-    def mark_targets_as_explicit (self, target_names):
-        """Add 'target' to the list of targets in this project
-        that should be build only by explicit request."""
-        
-        # Record the name of the target, not instance, since this
-        # rule is called before main target instaces are created.
-        self.explicit_targets_.update(target_names)
-
-    def mark_targets_as_always(self, target_names):
-        self.always_targets_.update(target_names)
-    
-    def add_alternative (self, target_instance):
-        """ Add new target alternative.
-        """
-        if self.built_main_targets_:
-            raise IllegalOperation ("add-alternative called when main targets are already created for project '%s'" % self.full_name ())
-
-        self.alternatives_.append (target_instance)
-
-    def main_target (self, name):
-        if not self.built_main_targets_:
-            self.build_main_targets()
-
-        return self.main_target_[name]
-
-    def has_main_target (self, name):
-        """Tells if a main target with the specified name exists."""
-        if not self.built_main_targets_:
-            self.build_main_targets()
-
-        return self.main_target_.has_key(name)
-            
-    def create_main_target (self, name):
-        """ Returns a 'MainTarget' class instance corresponding to the 'name'.
-        """
-        if not self.built_main_targets_:
-            self.build_main_targets ()
-                        
-        return self.main_targets_.get (name, None)
-
-
-    def find_really(self, id):
-        """ Find and return the target with the specified id, treated
-            relative to self.
-        """
-        result = None        
-        current_location = self.get ('location')
-
-        __re_split_project_target = re.compile (r'(.*)//(.*)')
-        split = __re_split_project_target.match (id)
-
-        project_part = None
-        target_part = None
-
-        if split:
-            project_part = split.group (1)
-            target_part = split.group (2)
-
-        project_registry = self.project_.manager ().projects ()
-        
-        extra_error_message = ''
-        if project_part:
-            # There's explicit project part in id. Looks up the
-            # project and pass the request to it.
-            pm = project_registry.find (project_part, current_location)
-            
-            if pm:
-                project_target = project_registry.target (pm)
-                result = project_target.find (target_part, no_error=1)
-
-            else:
-                extra_error_message = "error: could not find project '$(project_part)'"
-
-        else:
-            # Interpret target-name as name of main target
-            # Need to do this before checking for file. Consider this:
-            #
-            #  exe test : test.cpp ;
-            #  install s : test : <location>. ;
-            #
-            # After first build we'll have target 'test' in Jamfile and file
-            # 'test' on the disk. We need target to override the file.
-            
-            result = None
-            if self.has_main_target(id):
-                result = self.main_target(id)
-
-            if not result:
-                result = FileReference (self.manager_, id, self.project_)
-                if not result.exists ():
-                    # File actually does not exist.
-                    # Reset 'target' so that an error is issued.
-                    result = None
-                    
-
-            if not result:
-                # Interpret id as project-id
-                project_module = project_registry.find (id, current_location)
-                if project_module:
-                    result = project_registry.target (project_module)
-                                    
-        return result
-
-    def find (self, id, no_error = False):
-        v = self.ids_cache_.get (id, None)
-        
-        if not v:
-            v = self.find_really (id)
-            self.ids_cache_ [id] = v
-
-        if v or no_error:
-            return v
-
-        raise BaseException ("Unable to find file or target named '%s'\nreferred from project at '%s'" % (id, self.get ('location')))
-
-    
-    def build_main_targets (self):
-        self.built_main_targets_ = True
-        
-        for a in self.alternatives_:
-            name = a.name ()
-            if not self.main_target_.has_key (name):
-                t = MainTarget (name, self.project_)
-                self.main_target_ [name] = t
-
-            if name in self.always_targets_:
-                a.always()
-            
-            self.main_target_ [name].add_alternative (a)
-
-    def add_constant(self, name, value, path=0):
-        """Adds a new constant for this project.
-
-        The constant will be available for use in Jamfile
-        module for this project. If 'path' is true,
-        the constant will be interpreted relatively
-        to the location of project.
-        """
-
-        if path:
-            l = self.location_
-            if not l:
-                # Project corresponding to config files do not have 
-                # 'location' attribute, but do have source location.
-                # It might be more reasonable to make every project have
-                # a location and use some other approach to prevent buildable
-                # targets in config files, but that's for later.
-                l = get('source-location')
-                
-            value = os.path.join(l, value)
-            # Now make the value absolute path
-            value = os.path.join(os.getcwd(), value)
-
-        self.constants_[name] = value
-        bjam.call("set-variable", self.project_module(), name, value)
-
-    def inherit(self, parent_project):
-        for c in parent_project.constants_:
-            # No need to pass the type. Path constants were converted to
-            # absolute paths already by parent.
-            self.add_constant(c, parent_project.constants_[c])
-        
-        # Import rules from parent 
-        this_module = self.project_module()
-        parent_module = parent_project.project_module()
-
-        rules = bjam.call("RULENAMES", parent_module)
-        if not rules:
-            rules = []
-        user_rules = [x for x in rules
-                      if x not in self.manager().projects().project_rules().all_names()]
-        if user_rules:
-            bjam.call("import-rules-from-parent", parent_module, this_module, user_rules)
-        
-class MainTarget (AbstractTarget):
-    """ A named top-level target in Jamfile.
-    """
-    def __init__ (self, name, project):
-        AbstractTarget.__init__ (self, name, project)    
-        self.alternatives_ = []
-        self.default_build_ = property_set.empty ()
-        
-    def add_alternative (self, target):
-        """ Add a new alternative for this target.
-        """
-        d = target.default_build ()
-        
-        if self.alternatives_ and self.default_build_ != d:
-            get_manager().errors()("default build must be identical in all alternatives\n"
-              "main target is '%s'\n"
-              "with '%s'\n"
-              "differing from previous default build: '%s'" % (self.full_name (), d.raw (), self.default_build_.raw ()))
-
-        else:
-            self.default_build_ = d
-
-        self.alternatives_.append (target)
-
-    def __select_alternatives (self, property_set, debug):
-        """ Returns the best viable alternative for this property_set
-            See the documentation for selection rules.
-            # TODO: shouldn't this be 'alternative' (singular)?
-        """
-        # When selecting alternatives we have to consider defaults,
-        # for example:
-        #    lib l : l.cpp : <variant>debug ;
-        #    lib l : l_opt.cpp : <variant>release ;
-        # won't work unless we add default value <variant>debug.
-        property_set = property_set.add_defaults ()
-        
-        # The algorithm: we keep the current best viable alternative.
-        # When we've got new best viable alternative, we compare it
-        # with the current one. 
-        best = None
-        best_properties = None
-                        
-        if len (self.alternatives_) == 0:
-            return None
-
-        if len (self.alternatives_) == 1:
-            return self.alternatives_ [0]
-
-        if debug:
-            print "Property set for selection:", property_set
-
-        for v in self.alternatives_:
-            properties = v.match (property_set, debug)
-                       
-            if properties is not None:
-                if not best:
-                    best = v
-                    best_properties = properties
-
-                else:
-                    if b2.util.set.equal (properties, best_properties):
-                        return None
-
-                    elif b2.util.set.contains (properties, best_properties):
-                        # Do nothing, this alternative is worse
-                        pass
-
-                    elif b2.util.set.contains (best_properties, properties):
-                        best = v
-                        best_properties = properties
-
-                    else:
-                        return None
-
-        return best
-
-    def apply_default_build (self, property_set):
-        return apply_default_build(property_set, self.default_build_)
-
-    def generate (self, ps):
-        """ Select an alternative for this main target, by finding all alternatives
-            which requirements are satisfied by 'properties' and picking the one with
-            longest requirements set.
-            Returns the result of calling 'generate' on that alternative.
-        """
-        self.manager_.targets ().start_building (self)
-
-        # We want composite properties in build request act as if
-        # all the properties it expands too are explicitly specified.
-        ps = ps.expand ()
-        
-        all_property_sets = self.apply_default_build (ps)
-
-        result = GenerateResult ()
-        
-        for p in all_property_sets:
-            result.extend (self.__generate_really (p))
-
-        self.manager_.targets ().end_building (self)
-
-        return result
-        
-    def __generate_really (self, prop_set):
-        """ Generates the main target with the given property set
-            and returns a list which first element is property_set object
-            containing usage_requirements of generated target and with
-            generated virtual target in other elements. It's possible
-            that no targets are generated.
-        """
-        best_alternative = self.__select_alternatives (prop_set, debug=0)
-
-        if not best_alternative:
-            # FIXME: revive.
-            # self.__select_alternatives(prop_set, debug=1)
-            self.manager_.errors()(
-                "No best alternative for '%s'.\n"
-                  % (self.full_name(),))
-
-        result = best_alternative.generate (prop_set)
-                    
-        # Now return virtual targets for the only alternative
-        return result
-    
-    def rename(self, new_name):
-        AbstractTarget.rename(self, new_name)
-        for a in self.alternatives_:
-            a.rename(new_name)
-
-class FileReference (AbstractTarget):
-    """ Abstract target which refers to a source file.
-        This is artificial creature; it's usefull so that sources to 
-        a target can be represented as list of abstract target instances.
-    """
-    def __init__ (self, manager, file, project):
-        AbstractTarget.__init__ (self, file, project)
-        self.file_location_ = None
-    
-    def generate (self, properties):
-         return GenerateResult (None, [
-             self.manager_.virtual_targets ().from_file (
-             self.name_, self.location(), self.project_) ])
-
-    def exists (self):
-        """ Returns true if the referred file really exists.
-        """
-        if self.location ():
-            return True
-        else:
-            return False
-
-    def location (self):
-        # Returns the location of target. Needed by 'testing.jam'
-        if not self.file_location_:
-            source_location = self.project_.get('source-location')
-            
-            for src_dir in source_location:
-                location = os.path.join(src_dir, self.name())
-                if os.path.isfile(location):
-                    self.file_location_ = src_dir
-                    self.file_path = location
-                    break
-
-        return self.file_location_
-
-def resolve_reference(target_reference, project):
-    """ Given a target_reference, made in context of 'project',
-    returns the AbstractTarget instance that is referred to, as well
-    as properties explicitly specified for this reference.
-    """
-    # Separate target name from properties override
-    split = _re_separate_target_from_properties.match (target_reference)
-    if not split:
-        raise BaseException ("Invalid reference: '%s'" % target_reference)
-    
-    id = split.group (1)
-    
-    sproperties = []
-    
-    if split.group (3):
-        sproperties = property.create_from_strings(feature.split(split.group(3)))
-        sproperties = feature.expand_composites(sproperties)
-        
-    # Find the target
-    target = project.find (id)
-    
-    return (target, property_set.create(sproperties))
-
-def generate_from_reference(target_reference, project, property_set):
-    """ Attempts to generate the target given by target reference, which
-    can refer both to a main target or to a file.
-    Returns a list consisting of
-    - usage requirements
-    - generated virtual targets, if any
-    target_reference:  Target reference
-    project:           Project where the reference is made
-    property_set:      Properties of the main target that makes the reference
-    """
-    target, sproperties = resolve_reference(target_reference, project)
-    
-    # Take properties which should be propagated and refine them
-    # with source-specific requirements.
-    propagated = property_set.propagated()
-    rproperties = propagated.refine(sproperties)
-    
-    return target.generate(rproperties)
-
-
-
-class BasicTarget (AbstractTarget):
-    """ Implements the most standard way of constructing main target
-        alternative from sources. Allows sources to be either file or
-        other main target and handles generation of those dependency
-        targets.
-    """
-    def __init__ (self, name, project, sources, requirements = None, default_build = None, usage_requirements = None):
-        AbstractTarget.__init__ (self, name, project)
-    
-        for s in sources:
-            if get_grist (s):
-                raise InvalidSource ("property '%s' found in the 'sources' parameter for '%s'" % (s, name))
-    
-        self.sources_ = sources
-        
-        if not requirements: requirements = property_set.empty ()
-        self.requirements_ = requirements
-
-        if not default_build: default_build = property_set.empty ()
-        self.default_build_ = default_build
-
-        if not usage_requirements: usage_requirements = property_set.empty ()
-        self.usage_requirements_ = usage_requirements
-        
-        # A cache for resolved references
-        self.source_targets_ = None
-        
-        # A cache for generated targets
-        self.generated_ = {}
-        
-        # A cache for build requests
-        self.request_cache = {}
-
-        # Result of 'capture_user_context' has everything. For example, if this
-        # target is declare as result of loading Jamfile which was loaded when
-        # building target B which was requested from A, then we'll have A, B and
-        # Jamroot location in context. We only care about Jamroot location, most
-        # of the times.
-        self.user_context_ = self.manager_.errors().capture_user_context()[-1:]
-
-        self.always_ = False
-
-    def always(self):
-        self.always_ = True
-        
-    def sources (self):
-        """ Returns the list of AbstractTargets which are used as sources.
-            The extra properties specified for sources are not represented.
-            The only used of this rule at the moment is the '--dump-tests'
-            feature of the test system.            
-        """
-        if self.source_targets_ == None:
-            self.source_targets_ = []
-            for s in self.sources_:
-                self.source_targets_.append(resolve_reference(s, self.project_)[0])
-
-        return self.source_targets_
-
-    def requirements (self):
-        return self.requirements_
-                        
-    def default_build (self):
-        return self.default_build_
-
-    def common_properties (self, build_request, requirements):
-        """ Given build request and requirements, return properties
-            common to dependency build request and target build
-            properties.
-        """
-        # For optimization, we add free unconditional requirements directly,
-        # without using complex algorithsm.
-        # This gives the complex algorithm better chance of caching results.        
-        # The exact effect of this "optimization" is no longer clear
-        free_unconditional = []
-        other = []
-        for p in requirements.all():
-            if p.feature().free() and not p.condition() and p.feature().name() != 'conditional':
-                free_unconditional.append(p)
-            else:
-                other.append(p)
-        other = property_set.create(other)
-                
-        key = (build_request, other)
-        if not self.request_cache.has_key(key):
-            self.request_cache[key] = self.__common_properties2 (build_request, other)
-
-        return self.request_cache[key].add_raw(free_unconditional)
-
-    # Given 'context' -- a set of already present properties, and 'requirements',
-    # decide which extra properties should be applied to 'context'. 
-    # For conditional requirements, this means evaluating condition. For 
-    # indirect conditional requirements, this means calling a rule. Ordinary
-    # requirements are always applied.
-    #
-    # Handles situation where evaluating one conditional requirements affects
-    # condition of another conditional requirements, for example:
-    #
-    #     <toolset>gcc:<variant>release <variant>release:<define>RELEASE
-    #
-    # If 'what' is 'refined' returns context refined with new requirements. 
-    # If 'what' is 'added' returns just the requirements that must be applied.
-    def evaluate_requirements(self, requirements, context, what):
-        # Apply non-conditional requirements. 
-        # It's possible that that further conditional requirement change 
-        # a value set by non-conditional requirements. For example:
-        #
-        #    exe a : a.cpp : <threading>single <toolset>foo:<threading>multi ;
-        # 
-        # I'm not sure if this should be an error, or not, especially given that
-        #
-        #    <threading>single 
-        #
-        # might come from project's requirements.
-        unconditional = feature.expand(requirements.non_conditional())
-
-        context = context.refine(property_set.create(unconditional))
-
-        # We've collected properties that surely must be present in common
-        # properties. We now try to figure out what other properties
-        # should be added in order to satisfy rules (4)-(6) from the docs.
-    
-        conditionals = property_set.create(requirements.conditional())
-
-        # It's supposed that #conditionals iterations
-        # should be enough for properties to propagate along conditions in any
-        # direction.
-        max_iterations = len(conditionals.all()) +\
-                         len(requirements.get("<conditional>")) + 1
-    
-        added_requirements = []
-        current = context
-    
-        # It's assumed that ordinary conditional requirements can't add
-        # <indirect-conditional> properties, and that rules referred
-        # by <indirect-conditional> properties can't add new 
-        # <indirect-conditional> properties. So the list of indirect conditionals
-        # does not change.
-        indirect = requirements.get("<conditional>")
-    
-        ok = 0
-        for i in range(0, max_iterations):
-
-            e = conditionals.evaluate_conditionals(current).all()[:]
-        
-            # Evaluate indirect conditionals.
-            for i in indirect:
-                i = b2.util.jam_to_value_maybe(i)
-                if callable(i):
-                    # This is Python callable, yeah.
-                    e.extend(i(current))
-                else:
-                    # Name of bjam function. Because bjam is unable to handle
-                    # list of Property, pass list of strings.
-                    br = b2.util.call_jam_function(i[1:], [str(p) for p in current.all()])
-                    if br:
-                        e.extend(property.create_from_strings(br))
-
-            if e == added_requirements:
-                # If we got the same result, we've found final properties.
-                ok = 1
-                break
-            else:
-                # Oops, results of evaluation of conditionals has changed.
-                # Also 'current' contains leftover from previous evaluation.
-                # Recompute 'current' using initial properties and conditional
-                # requirements.
-                added_requirements = e
-                current = context.refine(property_set.create(feature.expand(e)))
-
-        if not ok:
-            self.manager().errors()("Can't evaluate conditional properties "
-                                    + str(conditionals))
-
-    
-        if what == "added":
-            return property_set.create(unconditional + added_requirements)
-        elif what == "refined":
-            return current
-        else:
-            self.manager().errors("Invalid value of the 'what' parameter")
-
-    def __common_properties2(self, build_request, requirements):
-        # This guarantees that default properties are present
-        # in result, unless they are overrided by some requirement.
-        # TODO: There is possibility that we've added <foo>bar, which is composite
-        # and expands to <foo2>bar2, but default value of <foo2> is not bar2,
-        # in which case it's not clear what to do.
-        #
-        build_request = build_request.add_defaults()
-        # Featured added by 'add-default' can be composite and expand
-        # to features without default values -- so they are not added yet.
-        # It could be clearer/faster to expand only newly added properties
-        # but that's not critical.
-        build_request = build_request.expand()
-      
-        return self.evaluate_requirements(requirements, build_request,
-                                          "refined")
-    
-    def match (self, property_set, debug):
-        """ Returns the alternative condition for this alternative, if
-            the condition is satisfied by 'property_set'.
-        """
-        # The condition is composed of all base non-conditional properties.
-        # It's not clear if we should expand 'self.requirements_' or not.
-        # For one thing, it would be nice to be able to put
-        #    <toolset>msvc-6.0 
-        # in requirements.
-        # On the other hand, if we have <variant>release in condition it 
-        # does not make sense to require <optimization>full to be in
-        # build request just to select this variant.
-        bcondition = self.requirements_.base ()
-        ccondition = self.requirements_.conditional ()
-        condition = b2.util.set.difference (bcondition, ccondition)
-
-        if debug:
-            print "    next alternative: required properties:", [str(p) for p in condition]
-        
-        if b2.util.set.contains (condition, property_set.all()):
-
-            if debug:
-                print "        matched"
-            
-            return condition
-
-        else:
-            return None
-
-
-    def generate_dependency_targets (self, target_ids, property_set):
-        targets = []
-        usage_requirements = []
-        for id in target_ids:
-                    
-            result = generate_from_reference(id, self.project_, property_set)
-            targets += result.targets()
-            usage_requirements += result.usage_requirements().all()
-
-        return (targets, usage_requirements)        
-    
-    def generate_dependency_properties(self, properties, ps):
-        """ Takes a target reference, which might be either target id
-            or a dependency property, and generates that target using
-            'property_set' as build request.
-
-            Returns a tuple (result, usage_requirements).
-        """
-        result_properties = []
-        usage_requirements = []
-        for p in properties:
-                   
-            result = generate_from_reference(p.value(), self.project_, ps)
-
-            for t in result.targets():
-                result_properties.append(property.Property(p.feature(), t))
-            
-            usage_requirements += result.usage_requirements().all()
-
-        return (result_properties, usage_requirements)        
-
-        
-
-
-    @user_error_checkpoint
-    def generate (self, ps):
-        """ Determines final build properties, generates sources,
-        and calls 'construct'. This method should not be
-        overridden.
-        """
-        self.manager_.errors().push_user_context(
-            "Generating target " + self.full_name(), self.user_context_)
-        
-        if self.manager().targets().logging():
-            self.manager().targets().log(
-                "Building target '%s'" % self.name_)
-            self.manager().targets().increase_indent ()
-            self.manager().targets().log(
-                "Build request: '%s'" % str (ps.raw ()))
-            cf = self.manager().command_line_free_features()
-            self.manager().targets().log(
-                "Command line free features: '%s'" % str (cf.raw ()))            
-            self.manager().targets().log(
-                "Target requirements: %s'" % str (self.requirements().raw ()))
-            
-        self.manager().targets().push_target(self)
-
-        if not self.generated_.has_key(ps):
-
-            # Apply free features form the command line.  If user
-            # said 
-            #   define=FOO
-            # he most likely want this define to be set for all compiles.
-            ps = ps.refine(self.manager().command_line_free_features())            
-            rproperties = self.common_properties (ps, self.requirements_)
-
-            self.manager().targets().log(
-                "Common properties are '%s'" % str (rproperties))
-          
-            if rproperties.get("<build>") != ["no"]:
-                
-                result = GenerateResult ()
-
-                properties = rproperties.non_dependency ()
-
-                (p, u) = self.generate_dependency_properties (rproperties.dependency (), rproperties)
-                properties += p
-                assert all(isinstance(p, property.Property) for p in properties)
-                usage_requirements = u
-
-                (source_targets, u) = self.generate_dependency_targets (self.sources_, rproperties)
-                usage_requirements += u
-
-                self.manager_.targets().log(
-                    "Usage requirements for '%s' are '%s'" % (self.name_, usage_requirements))
-
-                # FIXME:
-
-                rproperties = property_set.create(properties + usage_requirements)
-                usage_requirements = property_set.create (usage_requirements)
-
-                self.manager_.targets().log(
-                    "Build properties: '%s'" % str(rproperties))
-                
-                source_targets += rproperties.get('<source>')
-                
-                # We might get duplicate sources, for example if
-                # we link to two library which have the same <library> in
-                # usage requirements.
-                # Use stable sort, since for some targets the order is
-                # important. E.g. RUN_PY target need python source to come
-                # first.
-                source_targets = unique(source_targets, stable=True)
-
-                # FIXME: figure why this call messes up source_targets in-place
-                result = self.construct (self.name_, source_targets[:], rproperties)
-
-                if result:
-                    assert len(result) == 2
-                    gur = result [0]
-                    result = result [1]
-
-                    if self.always_:
-                        for t in result:
-                            t.always()
-
-                    s = self.create_subvariant (
-                        result,
-                        self.manager().virtual_targets().recent_targets(), ps,
-                        source_targets, rproperties, usage_requirements)
-                    self.manager().virtual_targets().clear_recent_targets()
-                    
-                    ur = self.compute_usage_requirements (s)
-                    ur = ur.add (gur)
-                    s.set_usage_requirements (ur)
-
-                    self.manager_.targets().log (
-                        "Usage requirements from '%s' are '%s'" %
-                        (self.name(), str(rproperties)))
-                    
-                    self.generated_[ps] = GenerateResult (ur, result)
-                else:
-                    self.generated_[ps] = GenerateResult (property_set.empty(), [])
-            else:
-                # If we just see <build>no, we cannot produce any reasonable
-                # diagnostics. The code that adds this property is expected
-                # to explain why a target is not built, for example using
-                # the configure.log-component-configuration function.
-
-                # If this target fails to build, add <build>no to properties
-                # to cause any parent target to fail to build.  Except that it
-                # - does not work now, since we check for <build>no only in
-                #   common properties, but not in properties that came from
-                #   dependencies
-                # - it's not clear if that's a good idea anyway.  The alias
-                #   target, for example, should not fail to build if a dependency
-                #   fails.                
-                self.generated_[ps] = GenerateResult(
-                    property_set.create(["<build>no"]), [])
-        else:
-            self.manager().targets().log ("Already built")
-
-        self.manager().targets().pop_target()
-        self.manager().targets().decrease_indent()
-
-        return self.generated_[ps]
-    
-    def compute_usage_requirements (self, subvariant):
-        """ Given the set of generated targets, and refined build 
-            properties, determines and sets appripriate usage requirements
-            on those targets.
-        """
-        rproperties = subvariant.build_properties ()
-        xusage_requirements =self.evaluate_requirements(
-            self.usage_requirements_, rproperties, "added")
-        
-        # We generate all dependency properties and add them,
-        # as well as their usage requirements, to result.
-        (r1, r2) = self.generate_dependency_properties(xusage_requirements.dependency (), rproperties)
-        extra = r1 + r2
-                
-        result = property_set.create (xusage_requirements.non_dependency () + extra)
-
-        # Propagate usage requirements we've got from sources, except
-        # for the <pch-header> and <pch-file> features.
-        #
-        # That feature specifies which pch file to use, and should apply
-        # only to direct dependents. Consider:
-        #
-        #   pch pch1 : ...
-        #   lib lib1 : ..... pch1 ;
-        #   pch pch2 : 
-        #   lib lib2 : pch2 lib1 ;
-        #
-        # Here, lib2 should not get <pch-header> property from pch1.
-        #
-        # Essentially, when those two features are in usage requirements,
-        # they are propagated only to direct dependents. We might need
-        # a more general mechanism, but for now, only those two
-        # features are special.
-        raw = subvariant.sources_usage_requirements().raw()
-        raw = property.change(raw, "<pch-header>", None);
-        raw = property.change(raw, "<pch-file>", None);              
-        result = result.add(property_set.create(raw))
-        
-        return result
-
-    def create_subvariant (self, root_targets, all_targets,
-                           build_request, sources,
-                           rproperties, usage_requirements):
-        """Creates a new subvariant-dg instances for 'targets'
-         - 'root-targets' the virtual targets will be returned to dependents
-         - 'all-targets' all virtual 
-              targets created while building this main target
-         - 'build-request' is property-set instance with
-         requested build properties"""
-         
-        for e in root_targets:
-            e.root (True)
-
-        s = Subvariant (self, build_request, sources,
-                        rproperties, usage_requirements, all_targets)
-        
-        for v in all_targets:
-            if not v.creating_subvariant():
-                v.creating_subvariant(s)
-                
-        return s
-        
-    def construct (self, name, source_targets, properties):
-        """ Constructs the virtual targets for this abstract targets and
-            the dependecy graph. Returns a tuple consisting of the properties and the list of virtual targets.
-            Should be overrided in derived classes.
-        """
-        raise BaseException ("method should be defined in derived classes")
-
-
-class TypedTarget (BasicTarget):
-    import generators
-    
-    def __init__ (self, name, project, type, sources, requirements, default_build, usage_requirements):
-        BasicTarget.__init__ (self, name, project, sources, requirements, default_build, usage_requirements)
-        self.type_ = type
-
-    def __jam_repr__(self):
-        return b2.util.value_to_jam(self)
-    
-    def type (self):
-        return self.type_
-            
-    def construct (self, name, source_targets, prop_set):
-
-        r = generators.construct (self.project_, name, self.type_, 
-                                  prop_set.add_raw(['<main-target-type>' + self.type_]),
-                                  source_targets, True)
-
-        if not r:
-            print "warning: Unable to construct '%s'" % self.full_name ()
-
-            # Are there any top-level generators for this type/property set.
-            if not generators.find_viable_generators (self.type_, prop_set):
-                print "error: no generators were found for type '" + self.type_ + "'"
-                print "error: and the requested properties"
-                print "error: make sure you've configured the needed tools"
-                print "See http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html"
-                
-                print "To debug this problem, try the --debug-generators option."
-                sys.exit(1)
-        
-        return r
-
-def apply_default_build(property_set, default_build):
-    # 1. First, see what properties from default_build
-    # are already present in property_set. 
-
-    specified_features = set(p.feature() for p in property_set.all())
-
-    defaults_to_apply = []
-    for d in default_build.all():
-        if not d.feature() in specified_features:
-            defaults_to_apply.append(d)
-
-    # 2. If there's any defaults to be applied, form the new
-    # build request. Pass it throw 'expand-no-defaults', since
-    # default_build might contain "release debug", which will
-    # result in two property_sets.
-    result = []
-    if defaults_to_apply:
-
-        # We have to compress subproperties here to prevent
-        # property lists like:
-        #
-        #    <toolset>msvc <toolset-msvc:version>7.1 <threading>multi
-        #
-        # from being expanded into:
-        #
-        #    <toolset-msvc:version>7.1/<threading>multi
-        #    <toolset>msvc/<toolset-msvc:version>7.1/<threading>multi
-        #
-        # due to cross-product property combination.  That may
-        # be an indication that
-        # build_request.expand-no-defaults is the wrong rule
-        # to use here.
-        compressed = feature.compress_subproperties(property_set.all())
-
-        result = build_request.expand_no_defaults(
-            b2.build.property_set.create([p]) for p in (compressed + defaults_to_apply))
-
-    else:
-        result.append (property_set)
-
-    return result
-
-
-def create_typed_metatarget(name, type, sources, requirements, default_build, usage_requirements):
-    
-    from b2.manager import get_manager
-    t = get_manager().targets()
-    
-    project = get_manager().projects().current()
-        
-    return t.main_target_alternative(
-        TypedTarget(name, project, type,
-                    t.main_target_sources(sources, name),
-                    t.main_target_requirements(requirements, project),
-                    t.main_target_default_build(default_build, project),
-                    t.main_target_usage_requirements(usage_requirements, project)))
-
-
-def create_metatarget(klass, name, sources, requirements=[], default_build=[], usage_requirements=[]):
-    from b2.manager import get_manager
-    t = get_manager().targets()
-    
-    project = get_manager().projects().current()
-        
-    return t.main_target_alternative(
-        klass(name, project,
-              t.main_target_sources(sources, name),
-              t.main_target_requirements(requirements, project),
-              t.main_target_default_build(default_build, project),
-              t.main_target_usage_requirements(usage_requirements, project)))    
-
-def metatarget_function_for_class(class_):
-
-    @bjam_signature((["name"], ["sources", "*"], ["requirements", "*"],
-                     ["default_build", "*"], ["usage_requirements", "*"]))
-    def create_metatarget(name, sources, requirements = [], default_build = None, usage_requirements = []):
-
-        from b2.manager import get_manager
-        t = get_manager().targets()
-
-        project = get_manager().projects().current()
-        
-        return t.main_target_alternative(
-            class_(name, project,
-                   t.main_target_sources(sources, name),
-                   t.main_target_requirements(requirements, project),
-                   t.main_target_default_build(default_build, project),
-                   t.main_target_usage_requirements(usage_requirements, project)))
-
-    return create_metatarget
diff --git a/SRC/Boost/tools/build/v2/build/toolset.jam b/SRC/Boost/tools/build/v2/build/toolset.jam
deleted file mode 100755
index d5c2d2c..0000000
--- a/SRC/Boost/tools/build/v2/build/toolset.jam
+++ /dev/null
@@ -1,502 +0,0 @@
-# Copyright 2003 Dave Abrahams
-# Copyright 2005 Rene Rivera
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-#  Support for toolset definition.
-
-import errors ;
-import feature ;
-import generators ;
-import numbers ;
-import path ;
-import property ;
-import regex ;
-import sequence ;
-import set ;
-
-
-.flag-no = 1 ;
-
-.ignore-requirements = ;
-
-# This is used only for testing, to make sure we do not get random extra
-# elements in paths.
-if --ignore-toolset-requirements in [ modules.peek : ARGV ]
-{
-    .ignore-requirements = 1 ;
-}
-
-
-# Initializes an additional toolset-like module. First load the 'toolset-module'
-# and then calls its 'init' rule with trailing arguments.
-#
-rule using ( toolset-module : * )
-{
-    import $(toolset-module) ;
-    $(toolset-module).init $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-}
-
-
-# Expands subfeatures in each property sets, e.g. '<toolset>gcc-3.2' will be
-# converted to '<toolset>gcc/<toolset-version>3.2'.
-#
-local rule normalize-condition ( property-sets * )
-{
-    local result ;
-    for local p in $(property-sets)
-    {
-        local split = [ feature.split $(p) ] ;
-        local expanded = [ feature.expand-subfeatures [ feature.split $(p) ] ] ;
-        result += $(expanded:J=/) ;
-    }
-    return $(result) ;
-}
-
-
-# Specifies if the 'flags' rule should check that the invoking module is the
-# same as the module we are setting the flag for. 'v' can be either 'checked' or
-# 'unchecked'. Subsequent call to 'pop-checking-for-flags-module' will restore
-# the setting that was in effect before calling this rule.
-#
-rule push-checking-for-flags-module ( v )
-{
-    .flags-module-checking = $(v) $(.flags-module-checking) ;
-}
-
-rule pop-checking-for-flags-module ( )
-{
-    .flags-module-checking = $(.flags-module-checking[2-]) ;
-}
-
-
-# Specifies the flags (variables) that must be set on targets under certain
-# conditions, described by arguments.
-#
-rule flags (
-    rule-or-module   # If contains a dot, should be a rule name. The flags will
-                     # be applied when that rule is used to set up build
-                     # actions.
-                     #
-                     # If does not contain dot, should be a module name. The
-                     # flag will be applied for all rules in that module. If
-                     # module for rule is different from the calling module, an
-                     # error is issued.
-
-    variable-name    # Variable that should be set on target.
-    condition * :    # A condition when this flag should be applied. Should be a
-                     # set of property sets. If one of those property sets is
-                     # contained in the build properties, the flag will be used.
-                     # Implied values are not allowed: "<toolset>gcc" should be
-                     # used, not just "gcc". Subfeatures, like in
-                     # "<toolset>gcc-3.2" are allowed. If left empty, the flag
-                     # will be used unconditionally.
-                     #
-                     # Propery sets may use value-less properties ('<a>'  vs.
-                     # '<a>value') to match absent properties. This allows to
-                     # separately match:
-                     #
-                     #   <architecture>/<address-model>64
-                     #   <architecture>ia64/<address-model>
-                     #
-                     # Where both features are optional. Without this syntax
-                     # we would be forced to define "default" values.
-
-    values * :       # The value to add to variable. If <feature> is specified,
-                     # then the value of 'feature' will be added.
-    unchecked ?      # If value 'unchecked' is passed, will not test that flags
-                     # are set for the calling module.
-    : hack-hack ?    # For
-                     #   flags rule OPTIONS <cxx-abi> : -model ansi
-                     # Treat <cxx-abi> as condition
-                     # FIXME: ugly hack.
-)
-{
-    local caller = [ CALLER_MODULE ] ;
-    if ! [ MATCH ".*([.]).*" : $(rule-or-module) ]
-       && [ MATCH "(Jamfile<.*)" : $(caller) ]
-    {
-        # Unqualified rule name, used inside Jamfile. Most likely used with
-        # 'make' or 'notfile' rules. This prevents setting flags on the entire
-        # Jamfile module (this will be considered as rule), but who cares?
-        # Probably, 'flags' rule should be split into 'flags' and
-        # 'flags-on-module'.
-        rule-or-module = $(caller).$(rule-or-module) ;
-    }
-    else
-    {
-        local module_ = [ MATCH "([^.]*).*" : $(rule-or-module) ] ;
-        if $(unchecked) != unchecked
-            && $(.flags-module-checking[1]) != unchecked
-            && $(module_) != $(caller)
-        {
-            errors.error "Module $(caller) attempted to set flags for module $(module_)" ;
-        }
-    }
-
-    if $(condition) && ! $(condition:G=) && ! $(hack-hack)
-    {
-        # We have condition in the form '<feature>', that is, without value.
-        # That is an older syntax:
-        #   flags gcc.link RPATH <dll-path> ;
-        # for compatibility, convert it to
-        #   flags gcc.link RPATH : <dll-path> ;
-        values = $(condition) ;
-        condition = ;
-    }
-
-    if $(condition)
-    {
-        property.validate-property-sets $(condition) ;
-        condition = [ normalize-condition $(condition) ] ;
-    }
-
-    add-flag $(rule-or-module) : $(variable-name) : $(condition) : $(values) ;
-}
-
-
-# Adds a new flag setting with the specified values. Does no checking.
-#
-local rule add-flag ( rule-or-module : variable-name : condition * : values * )
-{
-    .$(rule-or-module).flags += $(.flag-no) ;
-
-    # Store all flags for a module.
-    local module_ = [ MATCH "([^.]*).*" : $(rule-or-module) ] ;
-    .module-flags.$(module_) += $(.flag-no) ;
-    # Store flag-no -> rule-or-module mapping.
-    .rule-or-module.$(.flag-no) = $(rule-or-module) ;
-
-    .$(rule-or-module).variable.$(.flag-no) += $(variable-name) ;
-    .$(rule-or-module).values.$(.flag-no) += $(values) ;
-    .$(rule-or-module).condition.$(.flag-no) += $(condition) ;
-
-    .flag-no = [ numbers.increment $(.flag-no) ] ;
-}
-
-
-# Returns the first element of 'property-sets' which is a subset of
-# 'properties' or an empty list if no such element exists.
-#
-rule find-property-subset ( property-sets * : properties * )
-{
-    # Cut property values off.
-    local prop-keys = $(properties:G) ;
-
-    local result ;
-    for local s in $(property-sets)
-    {
-        if ! $(result)
-        {
-            # Handle value-less properties like '<architecture>' (compare with
-            # '<architecture>x86').
-
-            local set = [ feature.split $(s) ] ;
-
-            # Find the set of features that
-            # - have no property specified in required property set
-            # - are omitted in the build property set.
-            local default-props ;
-            for local i in $(set)
-            {
-                # If $(i) is a value-less property it should match default value
-                # of an optional property. See the first line in the example
-                # below:
-                #
-                #  property set     properties     result
-                # <a> <b>foo      <b>foo           match
-                # <a> <b>foo      <a>foo <b>foo    no match
-                # <a>foo <b>foo   <b>foo           no match
-                # <a>foo <b>foo   <a>foo <b>foo    match
-                if ! ( $(i:G=) || ( $(i:G) in $(prop-keys) ) )
-                {
-                    default-props += $(i) ;
-                }
-            }
-
-            if $(set) in $(properties) $(default-props)
-            {
-                result = $(s) ;
-            }
-        }
-    }
-    return $(result) ;
-}
-
-
-# Returns a value to be added to some flag for some target based on the flag's
-# value definition and the given target's property set.
-#
-rule handle-flag-value ( value * : properties * )
-{
-    local result ;
-    if $(value:G)
-    {
-        local matches = [ property.select $(value) : $(properties) ] ;
-        for local p in $(matches)
-        {
-            local att = [ feature.attributes $(p:G) ] ;
-            if dependency in $(att)
-            {
-                # The value of a dependency feature is a target and needs to be
-                # actualized.
-                result += [ $(p:G=).actualize ] ;
-            }
-            else if path in $(att) || free in $(att)
-            {
-                local values ;
-                # Treat features with && in the value specially -- each
-                # &&-separated element is considered a separate value. This is
-                # needed to handle searched libraries or include paths, which
-                # may need to be in a specific order.
-                if ! [ MATCH (&&) : $(p:G=) ]
-                {
-                    values = $(p:G=) ;
-                }
-                else
-                {
-                    values = [ regex.split $(p:G=) "&&" ] ;
-                }
-                if path in $(att)
-                {
-                    result += [ sequence.transform path.native : $(values) ] ;
-                }
-                else
-                {
-                    result += $(values) ;
-                }
-            }
-            else
-            {
-                result += $(p:G=) ;
-            }
-        }
-    }
-    else
-    {
-        result += $(value) ;
-    }
-    return $(result) ;
-}
-
-
-# Given a rule name and a property set, returns a list of interleaved variables
-# names and values which must be set on targets for that rule/property-set
-# combination.
-#
-rule set-target-variables-aux ( rule-or-module : property-set )
-{
-    local result ;
-    properties = [ $(property-set).raw ] ;
-    for local f in $(.$(rule-or-module).flags)
-    {
-        local variable = $(.$(rule-or-module).variable.$(f)) ;
-        local condition = $(.$(rule-or-module).condition.$(f)) ;
-        local values = $(.$(rule-or-module).values.$(f)) ;
-
-        if ! $(condition) ||
-            [ find-property-subset $(condition) : $(properties) ]
-        {
-            local processed ;
-            for local v in $(values)
-            {
-                # The value might be <feature-name> so needs special treatment.
-                processed += [ handle-flag-value $(v) : $(properties) ] ;
-            }
-            for local r in $(processed)
-            {
-                result += $(variable) $(r) ;
-            }
-        }
-    }
-
-    # Strip away last dot separated part and recurse.
-    local next = [ MATCH ^(.+)\\.([^\\.])* : $(rule-or-module) ] ;
-    if $(next)
-    {
-        result += [ set-target-variables-aux $(next[1]) : $(property-set) ] ;
-    }
-    return $(result) ;
-}
-
-
-rule set-target-variables ( rule-or-module targets + : property-set )
-{
-    properties = [ $(property-set).raw ] ;
-    local key = $(rule-or-module).$(property-set) ;
-    local settings = $(.stv.$(key)) ;
-    if ! $(settings)
-    {
-        settings = [ set-target-variables-aux $(rule-or-module) :
-            $(property-set) ] ;
-
-        if ! $(settings)
-        {
-            settings = none ;
-        }
-        .stv.$(key) = $(settings) ;
-    }
-
-    if $(settings) != none
-    {
-        local var-name = ;
-        for local name-or-value in $(settings)
-        {
-            if $(var-name)
-            {
-                $(var-name) on $(targets) += $(name-or-value) ;
-                var-name = ;
-            }
-            else
-            {
-                var-name = $(name-or-value) ;
-            }
-        }
-    }
-}
-
-
-# Make toolset 'toolset', defined in a module of the same name, inherit from
-# 'base'.
-# 1. The 'init' rule from 'base' is imported into 'toolset' with full name.
-#    Another 'init' is called, which forwards to the base one.
-# 2. All generators from 'base' are cloned. The ids are adjusted and <toolset>
-#    property in requires is adjusted too.
-# 3. All flags are inherited.
-# 4. All rules are imported.
-#
-rule inherit ( toolset : base )
-{
-    import $(base) ;
-    inherit-generators $(toolset) : $(base) ;
-    inherit-flags      $(toolset) : $(base) ;
-    inherit-rules      $(toolset) : $(base) ;
-}
-
-
-rule inherit-generators ( toolset properties * : base : generators-to-ignore * )
-{
-    properties ?= <toolset>$(toolset) ;
-    local base-generators = [ generators.generators-for-toolset $(base) ] ;
-    for local g in $(base-generators)
-    {
-        local id = [ $(g).id ] ;
-
-        if ! $(id) in $(generators-to-ignore)
-        {
-            # Some generator names have multiple periods in their name, so
-            # $(id:B=$(toolset)) does not generate the right new-id name. E.g.
-            # if id = gcc.compile.c++ then $(id:B=darwin) = darwin.c++, which is
-            # not what we want. Manually parse the base and suffix. If there is
-            # a better way to do this, I would love to see it. See also the
-            # register() rule in the generators module.
-            local base = $(id) ;
-            local suffix = "" ;
-            while $(base:S)
-            {
-                suffix = $(base:S)$(suffix) ;
-                base = $(base:B) ;
-            }
-            local new-id = $(toolset)$(suffix) ;
-
-            generators.register [ $(g).clone $(new-id) : $(properties) ] ;
-        }
-    }
-}
-
-
-# Brings all flag definitions from the 'base' toolset into the 'toolset'
-# toolset. Flag definitions whose conditions make use of properties in
-# 'prohibited-properties' are ignored. Do not confuse property and feature, for
-# example <debug-symbols>on and <debug-symbols>off, so blocking one of them does
-# not block the other one.
-#
-# The flag conditions are not altered at all, so if a condition includes a name,
-# or version of a base toolset, it will not ever match the inheriting toolset.
-# When such flag settings must be inherited, define a rule in base toolset
-# module and call it as needed.
-#
-rule inherit-flags ( toolset : base : prohibited-properties * : prohibited-vars * )
-{
-    for local f in $(.module-flags.$(base))
-    {
-        local rule-or-module = $(.rule-or-module.$(f)) ;
-        if ( [ set.difference
-            $(.$(rule-or-module).condition.$(f)) :
-                  $(prohibited-properties) ] 
-                  || ! $(.$(rule-or-module).condition.$(f)) 
-        ) && ( ! $(.$(rule-or-module).variable.$(f)) in $(prohibited-vars) )
-        {
-            local rule_ = [ MATCH "[^.]*\.(.*)" : $(rule-or-module) ] ;
-            local new-rule-or-module ;
-            if $(rule_)
-            {
-                new-rule-or-module = $(toolset).$(rule_) ;
-            }
-            else
-            {
-                new-rule-or-module = $(toolset) ;
-            }
-
-            add-flag
-                $(new-rule-or-module)
-                : $(.$(rule-or-module).variable.$(f))
-                : $(.$(rule-or-module).condition.$(f))
-                : $(.$(rule-or-module).values.$(f)) ;
-        }
-    }
-}
-
-
-rule inherit-rules ( toolset : base : localize ? )
-{
-    # It appears that "action" creates a local rule.
-    local base-generators = [ generators.generators-for-toolset $(base) ] ;
-    local rules ;
-    for local g in $(base-generators)
-    {
-        rules += [ MATCH "[^.]*\.(.*)" : [ $(g).rule-name ] ] ;
-    }
-    rules = [ sequence.unique $(rules) ] ;
-    IMPORT $(base) : $(rules) : $(toolset) : $(rules) : $(localize) ;
-    IMPORT $(toolset) : $(rules) : : $(toolset).$(rules) ;
-}
-
-
-# Return the list of global 'toolset requirements'. Those requirements will be
-# automatically added to the requirements of any main target.
-#
-rule requirements ( )
-{
-    return $(.requirements) ;
-}
-
-
-# Adds elements to the list of global 'toolset requirements'. The requirements
-# will be automatically added to the requirements for all main targets, as if
-# they were specified literally. For best results, all requirements added should
-# be conditional or indirect conditional.
-#
-rule add-requirements ( requirements * )
-{
-    if ! $(.ignore-requirements)
-    {
-        .requirements += $(requirements) ;
-    }
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-    local p = <b>0 <c>1 <d>2 <e>3 <f>4 ;
-    assert.result <c>1/<d>2/<e>3 : find-property-subset <c>1/<d>2/<e>3 <a>0/<b>0/<c>1 <d>2/<e>5 <a>9 : $(p) ;
-    assert.result : find-property-subset <a>0/<b>0/<c>9/<d>9/<e>5 <a>9 : $(p) ;
-
-    local p-set = <a>/<b> <a>0/<b> <a>/<b>1 <a>0/<b>1 ;
-    assert.result <a>/<b>   : find-property-subset $(p-set) :                ;
-    assert.result <a>0/<b>  : find-property-subset $(p-set) : <a>0      <c>2 ;
-    assert.result <a>/<b>1  : find-property-subset $(p-set) : <b>1      <c>2 ;
-    assert.result <a>0/<b>1 : find-property-subset $(p-set) : <a>0 <b>1      ;
-}
diff --git a/SRC/Boost/tools/build/v2/build/toolset.py b/SRC/Boost/tools/build/v2/build/toolset.py
deleted file mode 100755
index a21f4cd..0000000
--- a/SRC/Boost/tools/build/v2/build/toolset.py
+++ /dev/null
@@ -1,398 +0,0 @@
-# Status: being ported by Vladimir Prus
-# Base revision:  40958
-#
-# Copyright 2003 Dave Abrahams 
-# Copyright 2005 Rene Rivera 
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-""" Support for toolset definition.
-"""
-
-import feature, property, generators, property_set
-import b2.util.set
-from b2.util import cached, qualify_jam_action
-from b2.util.utility import *
-from b2.util import bjam_signature
-from b2.manager import get_manager
-
-__re_split_last_segment = re.compile (r'^(.+)\.([^\.])*')
-__re_two_ampersands = re.compile ('(&&)')
-__re_first_segment = re.compile ('([^.]*).*')
-__re_first_group = re.compile (r'[^.]*\.(.*)')
-
-# Flag is a mechanism to set a value 
-# A single toolset flag. Specifies that when certain
-# properties are in build property set, certain values
-# should be appended to some variable.
-#
-# A flag applies to a specific action in specific module.
-# The list of all flags for a module is stored, and each
-# flag further contains the name of the rule it applies
-# for, 
-class Flag:
-
-    def __init__(self, variable_name, values, condition, rule = None):
-        self.variable_name = variable_name
-        self.values = values
-        self.condition = condition        
-        self.rule = rule
-
-    def __str__(self):
-        return("Flag(" + str(self.variable_name) + ", " + str(self.values) +\
-               ", " + str(self.condition) + ", " + str(self.rule) + ")")
-
-def reset ():
-    """ Clear the module state. This is mainly for testing purposes.
-    """
-    global __module_flags, __flags, __stv
-    
-    # Mapping from module name to a list of all flags that apply
-    # to either that module directly, or to any rule in that module.
-    # Each element of the list is Flag instance.
-    # So, for module named xxx this might contain flags for 'xxx',
-    # for 'xxx.compile', for 'xxx.compile.c++', etc.
-    __module_flags = {}
-
-    # Mapping from specific rule or module name to a list of Flag instances
-    # that apply to that name.
-    # Say, it might contain flags for 'xxx.compile.c++'. If there are
-    # entries for module name 'xxx', they are flags for 'xxx' itself,
-    # not including any rules in that module.
-    __flags = {}
-    
-    # A cache for varaible settings. The key is generated from the rule name and the properties.
-    __stv = {}
-    
-reset ()
-
-# FIXME: --ignore-toolset-requirements
-# FIXME: using
-    
-# FIXME push-checking-for-flags-module ....
-# FIXME: investigate existing uses of 'hack-hack' parameter
-# in jam code.
-    
- at bjam_signature((["rule_or_module", "variable_name", "condition", "*"],
-                 ["values", "*"]))
-def flags(rule_or_module, variable_name, condition, values = []):
-    """ Specifies the flags (variables) that must be set on targets under certain
-        conditions, described by arguments.
-        rule_or_module:   If contains dot, should be a rule name.
-                          The flags will be applied when that rule is
-                          used to set up build actions.
-                          
-                          If does not contain dot, should be a module name.
-                          The flags will be applied for all rules in that
-                          module.
-                          If module for rule is different from the calling
-                          module, an error is issued.
-
-         variable_name:   Variable that should be set on target
-         
-         condition        A condition when this flag should be applied.
-                          Should be set of property sets. If one of
-                          those property sets is contained in build
-                          properties, the flag will be used.
-                          Implied values are not allowed:
-                          "<toolset>gcc" should be used, not just
-                          "gcc". Subfeatures, like in "<toolset>gcc-3.2"
-                          are allowed. If left empty, the flag will
-                          always used.
-                          
-                          Propery sets may use value-less properties 
-                          ('<a>'  vs. '<a>value') to match absent 
-                          properties. This allows to separately match
-                          
-                             <architecture>/<address-model>64
-                             <architecture>ia64/<address-model>
-                          
-                          Where both features are optional. Without this
-                          syntax we'd be forced to define "default" value.
-
-         values:          The value to add to variable. If <feature>
-                          is specified, then the value of 'feature' 
-                          will be added.
-    """
-    caller = bjam.caller()[:-1]
-    if not '.' in rule_or_module and caller.startswith("Jamfile"):
-        # Unqualified rule name, used inside Jamfile. Most likely used with
-        # 'make' or 'notfile' rules. This prevents setting flags on the entire
-        # Jamfile module (this will be considered as rule), but who cares?
-        # Probably, 'flags' rule should be split into 'flags' and
-        # 'flags-on-module'.
-        rule_or_module = qualify_jam_action(rule_or_module, caller)
-    else:
-        # FIXME: revive checking that we don't set flags for a different
-        # module unintentionally
-        pass
-                          
-    if condition and not replace_grist (condition, ''):
-        # We have condition in the form '<feature>', that is, without
-        # value. That's a previous syntax:
-        #
-        #   flags gcc.link RPATH <dll-path> ;
-        # for compatibility, convert it to
-        #   flags gcc.link RPATH : <dll-path> ;                
-        values = [ condition ]
-        condition = None
-    
-    if condition:
-        transformed = []
-        for c in condition:
-            # FIXME: 'split' might be a too raw tool here.
-            pl = [property.create_from_string(s) for s in c.split('/')]
-            pl = feature.expand_subfeatures(pl);
-            transformed.append(property_set.create(pl))
-        condition = transformed
-
-        property.validate_property_sets(condition)
-    
-    __add_flag (rule_or_module, variable_name, condition, values)
-
-def set_target_variables (manager, rule_or_module, targets, ps):
-    """
-    """
-    settings = __set_target_variables_aux(manager, rule_or_module, ps)
-        
-    if settings:
-        for s in settings:
-            for target in targets:
-                manager.engine ().set_target_variable (target, s [0], s[1], True)
-
-def find_satisfied_condition(conditions, ps):
-    """Returns the first element of 'property-sets' which is a subset of
-    'properties', or an empty list if no such element exists."""
-
-    features = set(p.feature() for p in ps.all())
-
-    for condition in conditions:
-
-        found_all = True
-        for i in condition.all():
-
-            found = False
-            if i.value():
-                found = i.value() in ps.get(i.feature())
-            else:            
-                # Handle value-less properties like '<architecture>' (compare with 
-                # '<architecture>x86').
-                # If $(i) is a value-less property it should match default 
-                # value of an optional property. See the first line in the 
-                # example below:
-                #
-                #  property set     properties     result
-                # <a> <b>foo      <b>foo           match
-                # <a> <b>foo      <a>foo <b>foo    no match
-                # <a>foo <b>foo   <b>foo           no match
-                # <a>foo <b>foo   <a>foo <b>foo    match
-                found = not i.feature() in features
-
-            found_all = found_all and found
-
-        if found_all:
-            return condition
-
-    return None
-    
-
-def register (toolset):
-    """ Registers a new toolset.
-    """
-    feature.extend('toolset', [toolset])
-
-def inherit_generators (toolset, properties, base, generators_to_ignore = []):
-    if not properties:
-        properties = [replace_grist (toolset, '<toolset>')]
-        
-    base_generators = generators.generators_for_toolset(base)
-    
-    for g in base_generators:
-        id = g.id()
-        
-        if not id in generators_to_ignore:
-            # Some generator names have multiple periods in their name, so
-            # $(id:B=$(toolset)) doesn't generate the right new_id name.
-            # e.g. if id = gcc.compile.c++, $(id:B=darwin) = darwin.c++,
-            # which is not what we want. Manually parse the base and suffix
-            # (if there's a better way to do this, I'd love to see it.)
-            # See also register in module generators.
-            (base, suffix) = split_action_id(id)
-
-            new_id = toolset + '.' + suffix
-
-            generators.register(g.clone(new_id, properties))
-
-def inherit_flags(toolset, base, prohibited_properties = []):
-    """Brings all flag definitions from the 'base' toolset into the 'toolset'
-    toolset. Flag definitions whose conditions make use of properties in
-    'prohibited-properties' are ignored. Don't confuse property and feature, for
-    example <debug-symbols>on and <debug-symbols>off, so blocking one of them does
-    not block the other one.
-    
-    The flag conditions are not altered at all, so if a condition includes a name,
-    or version of a base toolset, it won't ever match the inheriting toolset. When
-    such flag settings must be inherited, define a rule in base toolset module and
-    call it as needed."""
-    for f in __module_flags.get(base, []):
-        
-        if not f.condition or b2.util.set.difference(f.condition, prohibited_properties):
-            match = __re_first_group.match(f.rule)
-            rule_ = None
-            if match:
-                rule_ = match.group(1)
-
-            new_rule_or_module = ''
-
-            if rule_:
-                new_rule_or_module = toolset + '.' + rule_
-            else:
-                new_rule_or_module = toolset
-
-            __add_flag (new_rule_or_module, f.variable_name, f.condition, f.values)
-
-def inherit_rules (toolset, base):
-    pass
-    # FIXME: do something about this.
-#    base_generators = generators.generators_for_toolset (base)
-
-#    import action
-
-#    ids = []
-#    for g in base_generators:
-#        (old_toolset, id) = split_action_id (g.id ())
-#        ids.append (id) ;
-
-#    new_actions = []
-
-#    engine = get_manager().engine()
-    # FIXME: do this!
-#    for action in engine.action.values():
-#        pass
-#        (old_toolset, id) = split_action_id(action.action_name)
-#    
-#        if old_toolset == base:
-#            new_actions.append ((id, value [0], value [1]))
-#
-#    for a in new_actions:
-#        action.register (toolset + '.' + a [0], a [1], a [2])
-        
-    # TODO: how to deal with this?
-#       IMPORT $(base) : $(rules) : $(toolset) : $(rules) : localized ;
-#       # Import the rules to the global scope
-#       IMPORT $(toolset) : $(rules) : : $(toolset).$(rules) ;
-#   }
-#   
-
-######################################################################################
-# Private functions
-
- at cached
-def __set_target_variables_aux (manager, rule_or_module, ps):
-    """ Given a rule name and a property set, returns a list of tuples of
-        variables names and values, which must be set on targets for that
-        rule/properties combination. 
-    """
-    result = []
-
-    for f in __flags.get(rule_or_module, []):
-           
-        if not f.condition or find_satisfied_condition (f.condition, ps):
-            processed = []
-            for v in f.values:
-                # The value might be <feature-name> so needs special
-                # treatment.
-                processed += __handle_flag_value (manager, v, ps)
-
-            for r in processed:
-                result.append ((f.variable_name, r))
-    
-    # strip away last dot separated part and recurse.
-    next = __re_split_last_segment.match(rule_or_module)
-    
-    if next:
-        result.extend(__set_target_variables_aux(
-            manager, next.group(1), ps))
-
-    return result
-
-def __handle_flag_value (manager, value, ps):
-    result = []
-    
-    if get_grist (value):
-        f = feature.get(value)
-        values = ps.get(f)
-        
-        for value in values:
-
-            if f.dependency():
-                # the value of a dependency feature is a target
-                # and must be actualized
-                result.append(value.actualize())
-
-            elif f.path() or f.free():
-                
-                # Treat features with && in the value
-                # specially -- each &&-separated element is considered
-                # separate value. This is needed to handle searched
-                # libraries, which must be in specific order.
-                if not __re_two_ampersands.search(value):
-                    result.append(value)
-
-                else:
-                    result.extend(value.split ('&&'))
-            else:
-                result.append (ungristed)
-    else:
-        result.append (value)
-
-    return result
-
-def __add_flag (rule_or_module, variable_name, condition, values):
-    """ Adds a new flag setting with the specified values.
-        Does no checking.
-    """
-    f = Flag(variable_name, values, condition, rule_or_module)
-    
-    # Grab the name of the module
-    m = __re_first_segment.match (rule_or_module)
-    assert m
-    module = m.group(1)
-
-    __module_flags.setdefault(m, []).append(f)
-    __flags.setdefault(rule_or_module, []).append(f)
-
-__requirements = []
-
-def requirements():
-    """Return the list of global 'toolset requirements'.
-    Those requirements will be automatically added to the requirements of any main target."""
-    return __requirements
-
-def add_requirements(requirements):
-    """Adds elements to the list of global 'toolset requirements'. The requirements
-    will be automatically added to the requirements for all main targets, as if
-    they were specified literally. For best results, all requirements added should
-    be conditional or indirect conditional."""
-    
-    #if ! $(.ignore-requirements)
-    #{
-    print "XXXX", requirements
-    __requirements.extend(requirements)
-    #}
-         
-# Make toolset 'toolset', defined in a module of the same name,
-# inherit from 'base'
-# 1. The 'init' rule from 'base' is imported into 'toolset' with full
-#    name. Another 'init' is called, which forwards to the base one.
-# 2. All generators from 'base' are cloned. The ids are adjusted and 
-#    <toolset> property in requires is adjusted too
-# 3. All flags are inherited
-# 4. All rules are imported.
-def inherit(toolset, base):
-    get_manager().projects().load_module(base, []);
-
-    inherit_generators(toolset, [], base)
-    inherit_flags(toolset, base)
-    inherit_rules(toolset, base)
diff --git a/SRC/Boost/tools/build/v2/build/type.jam b/SRC/Boost/tools/build/v2/build/type.jam
deleted file mode 100755
index 6efda81..0000000
--- a/SRC/Boost/tools/build/v2/build/type.jam
+++ /dev/null
@@ -1,425 +0,0 @@
-# Copyright 2002, 2003 Dave Abrahams
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-#  Deals with target type declaration and defines target class which supports
-#  typed targets.
-
-import "class" : new ;
-import errors ;
-import feature ;
-import generators : * ;
-import project ;
-import property ;
-import scanner ;
-import os ;
-
-# The following import would create a circular dependency:
-# project -> project-root -> builtin -> type -> targets -> project
-# import targets ;
-
-# The feature is optional so it would never get added implicitly. It is used
-# only for internal purposes and in all cases we want to use it explicitly.
-feature.feature target-type : : composite optional ;
-
-feature.feature main-target-type : : optional incidental ;
-feature.feature base-target-type : : composite optional free ;
-
-
-# Registers a target type, possible derived from a 'base-type'. Providing a list
-# of 'suffixes' here is a shortcut for separately calling the register-suffixes
-# rule with the given suffixes and the set-generated-target-suffix rule with the
-# first given suffix.
-#
-rule register ( type : suffixes * : base-type ? )
-{
-    # Type names cannot contain hyphens, because when used as feature-values
-    # they would be interpreted as composite features which need to be
-    # decomposed.
-    switch $(type)
-    {
-        case *-* : errors.error "type name \"$(type)\" contains a hyphen" ;
-    }
-
-    if $(type) in $(.types)
-    {
-        errors.error "Type $(type) is already registered." ;
-    }
-    else
-    {
-        .types += $(type) ;
-        .base.$(type) = $(base-type) ;
-        .derived.$(base-type) += $(type) ;
-
-        if $(suffixes)-is-not-empty
-        {
-            # Specify mapping from suffixes to type.
-            register-suffixes $(suffixes) : $(type) ;
-            # By default generated targets of 'type' will use the first of
-            #'suffixes'. This may be overriden.
-            set-generated-target-suffix $(type) : : $(suffixes[1]) ;
-        }
-
-        feature.extend target-type      : $(type) ;
-        feature.extend main-target-type : $(type) ;
-        feature.extend base-target-type : $(type) ;
-
-        feature.compose <target-type>$(type) : $(base-type:G=<base-target-type>) ;
-        feature.compose <base-target-type>$(type) : <base-target-type>$(base-type) ;
-
-        # We used to declare the main target rule only when a 'main' parameter
-        # has been specified. However, it is hard to decide that a type will
-        # *never* need a main target rule and so from time to time we needed to
-        # make yet another type 'main'. So now a main target rule is defined for
-        # each type.
-        main-rule-name = [ type-to-rule-name $(type) ] ;
-        .main-target-type.$(main-rule-name) = $(type) ;
-        IMPORT $(__name__) : main-target-rule : : $(main-rule-name) ;
-
-        # Adding a new derived type affects generator selection so we need to
-        # make the generator selection module update any of its cached
-        # information related to a new derived type being defined.
-        generators.update-cached-information-with-a-new-type $(type) ;
-    }
-}
-
-
-# Given a type, returns the name of the main target rule which creates targets
-# of that type.
-#
-rule type-to-rule-name ( type )
-{
-    # Lowercase everything. Convert underscores to dashes.
-    import regex ;
-    local n = [ regex.split $(type:L) "_" ] ;
-    return $(n:J=-) ;
-}
-
-
-# Given a main target rule name, returns the type for which it creates targets.
-#
-rule type-from-rule-name ( rule-name )
-{
-    return $(.main-target-type.$(rule-name)) ;
-}
-
-
-# Specifies that files with suffix from 'suffixes' be recognized as targets of
-# type 'type'. Issues an error if a different type is already specified for any
-# of the suffixes.
-#
-rule register-suffixes ( suffixes + : type )
-{
-    for local s in $(suffixes)
-    {
-        if ! $(.type.$(s))
-        {
-            .type.$(s) = $(type) ;
-        }
-        else if $(.type.$(s)) != $(type)
-        {
-            errors.error Attempting to specify multiple types for suffix
-                \"$(s)\" : "Old type $(.type.$(s)), New type $(type)" ;
-        }
-    }
-}
-
-
-# Returns true iff type has been registered.
-#
-rule registered ( type )
-{
-    if $(type) in $(.types)
-    {
-        return true ;
-    }
-}
-
-
-# Issues an error if 'type' is unknown.
-#
-rule validate ( type )
-{
-    if ! [ registered $(type) ]
-    {
-        errors.error "Unknown target type $(type)" ;
-    }
-}
-
-
-# Sets a scanner class that will be used for this 'type'.
-#
-rule set-scanner ( type : scanner )
-{
-    validate $(type) ;
-    .scanner.$(type) = $(scanner) ;
-}
-
-
-# Returns a scanner instance appropriate to 'type' and 'properties'.
-#
-rule get-scanner ( type : property-set )
-{
-    if $(.scanner.$(type))
-    {
-        return [ scanner.get $(.scanner.$(type)) : $(property-set) ] ;
-    }
-}
-
-
-# Returns a base type for the given type or nothing in case the given type is
-# not derived.
-#
-rule base ( type )
-{
-    return $(.base.$(type)) ;
-}
-
-
-# Returns the given type and all of its base types in order of their distance
-# from type.
-#
-rule all-bases ( type )
-{
-    local result = $(type) ;
-    while $(type)
-    {
-        type = [ base $(type) ] ;
-        result += $(type) ;
-    }
-    return $(result) ;
-}
-
-
-# Returns the given type and all of its derived types in order of their distance
-# from type.
-#
-rule all-derived ( type )
-{
-    local result = $(type) ;
-    for local d in $(.derived.$(type))
-    {
-        result += [ all-derived $(d) ] ;
-    }
-    return $(result) ;
-}
-
-
-# Returns true if 'type' is equal to 'base' or has 'base' as its direct or
-# indirect base.
-#
-rule is-derived ( type base )
-{
-    if $(base) in [ all-bases $(type) ]
-    {
-        return true ;
-    }
-}
-
-# Returns true if 'type' is either derived from or is equal to 'base'.
-#
-# TODO: It might be that is-derived and is-subtype were meant to be different
-# rules - one returning true for type = base and one not, but as currently
-# implemented they are actually the same. Clean this up.
-#
-rule is-subtype ( type base )
-{
-    return [ is-derived $(type) $(base) ] ;
-}
-
-
-# Store suffixes for generated targets.
-.suffixes = [ new property-map ] ;
-
-# Store prefixes for generated targets (e.g. "lib" for library).
-.prefixes = [ new property-map ] ;
-
-
-# Sets a file suffix to be used when generating a target of 'type' with the
-# specified properties. Can be called with no properties if no suffix has
-# already been specified for the 'type'. The 'suffix' parameter can be an empty
-# string ("") to indicate that no suffix should be used.
-#
-# Note that this does not cause files with 'suffix' to be automatically
-# recognized as being of 'type'. Two different types can use the same suffix for
-# their generated files but only one type can be auto-detected for a file with
-# that suffix. User should explicitly specify which one using the
-# register-suffixes rule.
-#
-rule set-generated-target-suffix ( type : properties * : suffix )
-{
-    set-generated-target-ps suffix : $(type) : $(properties) : $(suffix) ;
-}
-
-
-# Change the suffix previously registered for this type/properties combination.
-# If suffix is not yet specified, sets it.
-#
-rule change-generated-target-suffix ( type : properties * : suffix )
-{
-    change-generated-target-ps suffix : $(type) : $(properties) : $(suffix) ;
-}
-
-
-# Returns the suffix used when generating a file of 'type' with the given
-# properties.
-#
-rule generated-target-suffix ( type : property-set )
-{
-    return [ generated-target-ps suffix : $(type) : $(property-set) ] ;
-}
-
-
-# Sets a target prefix that should be used when generating targets of 'type'
-# with the specified properties. Can be called with empty properties if no
-# prefix for 'type' has been specified yet.
-#
-# The 'prefix' parameter can be empty string ("") to indicate that no prefix
-# should be used.
-#
-# Usage example: library names use the "lib" prefix on unix.
-#
-rule set-generated-target-prefix ( type : properties * : prefix )
-{
-    set-generated-target-ps prefix : $(type) : $(properties) : $(prefix) ;
-}
-
-
-# Change the prefix previously registered for this type/properties combination.
-# If prefix is not yet specified, sets it.
-#
-rule change-generated-target-prefix ( type : properties * : prefix )
-{
-    change-generated-target-ps prefix : $(type) : $(properties) : $(prefix) ;
-}
-
-
-rule generated-target-prefix ( type : property-set )
-{
-    return [ generated-target-ps prefix : $(type) : $(property-set) ] ;
-}
-
-
-# Common rules for prefix/suffix provisioning follow.
-
-local rule set-generated-target-ps ( ps : type : properties * : psval )
-{
-    properties = <target-type>$(type) $(properties) ;
-    $(.$(ps)es).insert $(properties) : $(psval) ;
-}
-
-
-local rule change-generated-target-ps ( ps : type : properties * : psval )
-{
-    properties = <target-type>$(type) $(properties) ;
-    local prev = [ $(.$(ps)es).find-replace $(properties) : $(psval) ] ;
-    if ! $(prev)
-    {
-        set-generated-target-ps $(ps) : $(type) : $(properties) : $(psval) ;
-    }
-}
-
-
-# Returns either prefix or suffix (as indicated by 'ps') that should be used
-# when generating a target of 'type' with the specified properties. Parameter
-# 'ps' can be either "prefix" or "suffix".  If no prefix/suffix is specified for
-# 'type', returns prefix/suffix for base type, if any.
-#
-local rule generated-target-ps-real ( ps : type : properties * )
-{
-    local result ;
-    local found ;
-    while $(type) && ! $(found)
-    {
-        result = [ $(.$(ps)es).find <target-type>$(type) $(properties) ] ;
-        # If the prefix/suffix is explicitly set to an empty string, we consider
-        # prefix/suffix to be found. If we were not to compare with "", there
-        # would be no way to specify an empty prefix/suffix.
-        if $(result)-is-not-empty
-        {
-            found = true ;
-        }
-        type = $(.base.$(type)) ;
-    }
-    if $(result) = ""
-    {
-        result = ;
-    }
-    return $(result) ;
-}
-
-
-local rule generated-target-ps ( ps : type : property-set )
-{
-    local key = .$(ps).$(type).$(property-set) ;
-    local v = $($(key)) ;
-    if ! $(v)
-    {
-        v = [ generated-target-ps-real $(ps) : $(type) : [ $(property-set).raw ]
-            ] ;
-        if ! $(v)
-        {
-            v = none ;
-        }
-        $(key) = $(v) ;
-    }
-
-    if $(v) != none
-    {
-        return $(v) ;
-    }
-}
-
-
-# Returns file type given its name. If there are several dots in filename, tries
-# each suffix. E.g. for name of "file.so.1.2" suffixes "2", "1", and "so" will
-# be tried.
-#
-rule type ( filename )
-{
-    if [ os.name ] in NT CYGWIN
-    {
-        filename = $(filename:L) ;
-    }    
-    local type ;
-    while ! $(type) && $(filename:S)
-    {
-        local suffix = $(filename:S) ;
-        type = $(.type$(suffix)) ;
-        filename = $(filename:S=) ;
-    }
-    return $(type) ;
-}
-
-
-# Rule used to construct all main targets. Note that this rule gets imported
-# into the global namespace under different alias names and the exact target
-# type to construct is selected based on the alias used to actually invoke this
-# rule.
-#
-rule main-target-rule ( name : sources * : requirements * : default-build * :
-    usage-requirements * )
-{
-    # First discover the required target type based on the exact alias used to
-    # invoke this rule.
-    local bt = [ BACKTRACE 1 ] ;
-    local rulename = $(bt[4]) ;
-    local target-type = [ type-from-rule-name $(rulename) ] ;
-
-    # This is a circular module dependency and so must be imported here.
-    import targets ;
-
-    return [ targets.create-typed-target $(target-type) : [ project.current ] :
-        $(name) : $(sources) : $(requirements) : $(default-build) :
-        $(usage-requirements) ] ;
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-
-    # TODO: Add tests for all the is-derived, is-base & related type relation
-    # checking rules.
-}
diff --git a/SRC/Boost/tools/build/v2/build/type.py b/SRC/Boost/tools/build/v2/build/type.py
deleted file mode 100755
index d089964..0000000
--- a/SRC/Boost/tools/build/v2/build/type.py
+++ /dev/null
@@ -1,313 +0,0 @@
-# Status: ported.
-# Base revision: 45462.
-
-#  Copyright (C) Vladimir Prus 2002. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-
-
-
-import re
-import os
-import os.path
-from b2.util.utility import replace_grist, os_name
-from b2.exceptions import *
-from b2.build import feature, property, scanner
-from b2.util import bjam_signature
-
-
-__re_hyphen = re.compile ('-')
-
-def __register_features ():
-    """ Register features need by this module.
-    """
-    # The feature is optional so that it is never implicitly added.
-    # It's used only for internal purposes, and in all cases we
-    # want to explicitly use it.
-    feature.feature ('target-type', [], ['composite', 'optional'])
-    feature.feature ('main-target-type', [], ['optional', 'incidental'])
-    feature.feature ('base-target-type', [], ['composite', 'optional', 'free'])
-
-def reset ():
-    """ Clear the module state. This is mainly for testing purposes.
-        Note that this must be called _after_ resetting the module 'feature'.
-    """    
-    global __prefixes_suffixes, __suffixes_to_types, __types, __rule_names_to_types, __target_suffixes_cache
-    
-    __register_features ()
-
-    # Stores suffixes for generated targets.
-    __prefixes_suffixes = [property.PropertyMap(), property.PropertyMap()]
-    
-    # Maps suffixes to types
-    __suffixes_to_types = {}
-    
-    # A map with all the registered types, indexed by the type name
-    # Each entry is a dictionary with following values:
-    # 'base': the name of base type or None if type has no base
-    # 'derived': a list of names of type which derive from this one
-    # 'scanner': the scanner class registered for this type, if any
-    __types = {}
-
-    # Caches suffixes for targets with certain properties.
-    __target_suffixes_cache = {}
-    
-reset ()
-
- at bjam_signature((["type"], ["suffixes", "*"], ["base_type", "?"]))
-def register (type, suffixes = [], base_type = None):
-    """ Registers a target type, possibly derived from a 'base-type'. 
-        If 'suffixes' are provided, they list all the suffixes that mean a file is of 'type'.
-        Also, the first element gives the suffix to be used when constructing and object of
-        'type'.
-        type: a string
-        suffixes: None or a sequence of strings
-        base_type: None or a string
-    """
-    # Type names cannot contain hyphens, because when used as
-    # feature-values they will be interpreted as composite features
-    # which need to be decomposed.
-    if __re_hyphen.search (type):
-        raise BaseException ('type name "%s" contains a hyphen' % type)
-    
-    if __types.has_key (type):
-        raise BaseException ('Type "%s" is already registered.' % type)
-
-    entry = {}
-    entry ['base'] = base_type
-    entry ['derived'] = []
-    entry ['scanner'] = None
-    __types [type] = entry
-    
-    if base_type:
-        __types [base_type]['derived'].append (type)
-
-    if len (suffixes) > 0:
-        # Generated targets of 'type' will use the first of 'suffixes'
-        # (this may be overriden)
-        set_generated_target_suffix (type, [], suffixes [0])
-        
-        # Specify mapping from suffixes to type
-        register_suffixes (suffixes, type)
-    
-    feature.extend('target-type', [type])
-    feature.extend('main-target-type', [type])
-    feature.extend('base-target-type', [type])
-
-    if base_type:
-        feature.compose ('<target-type>' + type, replace_grist (base_type, '<base-target-type>'))
-        feature.compose ('<base-target-type>' + type, '<base-target-type>' + base_type)
-
-    import b2.build.generators as generators
-    # Adding a new derived type affects generator selection so we need to
-    # make the generator selection module update any of its cached
-    # information related to a new derived type being defined.
-    generators.update_cached_information_with_a_new_type(type)
-
-    # FIXME: resolving recursive dependency.
-    from b2.manager import get_manager
-    get_manager().projects().project_rules().add_rule_for_type(type)
-
-# FIXME: quick hack.
-def type_from_rule_name(rule_name):
-    return rule_name.upper().replace("-", "_")
-
-
-def register_suffixes (suffixes, type):
-    """ Specifies that targets with suffix from 'suffixes' have the type 'type'. 
-        If a different type is already specified for any of syffixes, issues an error.
-    """
-    for s in suffixes:
-        if __suffixes_to_types.has_key (s):
-            old_type = __suffixes_to_types [s]
-            if old_type != type:
-                raise BaseException ('Attempting to specify type for suffix "%s"\nOld type: "%s", New type "%s"' % (s, old_type, type))
-        else:
-            __suffixes_to_types [s] = type
-
-def registered (type):
-    """ Returns true iff type has been registered.
-    """
-    return __types.has_key (type)
-
-def validate (type):
-    """ Issues an error if 'type' is unknown.
-    """
-    if not registered (type):
-        raise BaseException ("Unknown target type '%s'" % type)
-
-def set_scanner (type, scanner):
-    """ Sets a scanner class that will be used for this 'type'.
-    """
-    validate (type)
-    __types [type]['scanner'] = scanner
-
-def get_scanner (type, prop_set):
-    """ Returns a scanner instance appropriate to 'type' and 'property_set'.
-    """
-    if registered (type):
-        scanner_type = __types [type]['scanner']
-        if scanner_type:
-            return scanner.get (scanner_type, prop_set.raw ())
-            pass
-            
-    return None
-
-def base(type):
-    """Returns a base type for the given type or nothing in case the given type is
-    not derived."""
-
-    return __types[type]['base']
-
-def all_bases (type):
-    """ Returns type and all of its bases, in the order of their distance from type.
-    """
-    result = []
-    while type:
-        result.append (type)
-        type = __types [type]['base']
-
-    return result
-
-def all_derived (type):
-    """ Returns type and all classes that derive from it, in the order of their distance from type.
-    """
-    result = [type]
-    for d in __types [type]['derived']:
-        result.extend (all_derived (d))
-
-    return result
-
-def is_derived (type, base):
-    """ Returns true if 'type' is 'base' or has 'base' as its direct or indirect base.
-    """
-    # TODO: this isn't very efficient, especially for bases close to type
-    if base in all_bases (type):
-        return True
-    else: 
-        return False
-
-def is_subtype (type, base):
-    """ Same as is_derived. Should be removed.
-    """
-    # TODO: remove this method
-    return is_derived (type, base)
-
- at bjam_signature((["type"], ["properties", "*"], ["suffix"]))
-def set_generated_target_suffix (type, properties, suffix):
-    """ Sets a target suffix that should be used when generating target 
-        of 'type' with the specified properties. Can be called with
-        empty properties if no suffix for 'type' was specified yet.
-        This does not automatically specify that files 'suffix' have
-        'type' --- two different types can use the same suffix for
-        generating, but only one type should be auto-detected for
-        a file with that suffix. User should explicitly specify which
-        one.
-
-        The 'suffix' parameter can be empty string ("") to indicate that
-        no suffix should be used.
-    """
-    set_generated_target_ps(1, type, properties, suffix)
-
-
-    
-def change_generated_target_suffix (type, properties, suffix):
-    """ Change the suffix previously registered for this type/properties 
-        combination. If suffix is not yet specified, sets it.
-    """
-    change_generated_target_ps(1, type, properties, suffix)
-
-def generated_target_suffix(type, properties):
-    return generated_target_ps(1, type, properties)
-
-# Sets a target prefix that should be used when generating targets of 'type'
-# with the specified properties. Can be called with empty properties if no
-# prefix for 'type' has been specified yet.
-#
-# The 'prefix' parameter can be empty string ("") to indicate that no prefix
-# should be used.
-#
-# Usage example: library names use the "lib" prefix on unix.
- at bjam_signature((["type"], ["properties", "*"], ["suffix"]))
-def set_generated_target_prefix(type, properties, prefix):
-    set_generated_target_ps(0, type, properties, prefix)
-
-# Change the prefix previously registered for this type/properties combination.
-# If prefix is not yet specified, sets it.
-def change_generated_target_prefix(type, properties, prefix):
-    change_generated_target_ps(0, type, properties, prefix)
-
-def generated_target_prefix(type, properties):
-    return generated_target_ps(0, type, properties)
-
-def set_generated_target_ps(is_suffix, type, properties, val):
-    properties.append ('<target-type>' + type)
-    __prefixes_suffixes[is_suffix].insert (properties, val)
-
-def change_generated_target_ps(is_suffix, type, properties, val):
-    properties.append ('<target-type>' + type)
-    prev = __prefixes_suffixes[is_suffix].find_replace(properties, val)
-    if not prev:
-        set_generated_target_ps(is_suffix, type, properties, val)
-
-# Returns either prefix or suffix (as indicated by 'is_suffix') that should be used
-# when generating a target of 'type' with the specified properties.
-# If no prefix/suffix is specified for 'type', returns prefix/suffix for
-# base type, if any.
-def generated_target_ps_real(is_suffix, type, properties):
-
-    result = ''
-    found = False
-    while type and not found:
-        result = __prefixes_suffixes[is_suffix].find (['<target-type>' + type] + properties)
-
-        # Note that if the string is empty (""), but not null, we consider
-        # suffix found.  Setting prefix or suffix to empty string is fine.
-        if result is not None:
-            found = True
-
-        type = __types [type]['base']
-
-    if not result:
-        result = ''
-    return result
-
-def generated_target_ps(is_suffix, type, prop_set):
-    """ Returns suffix that should be used when generating target of 'type',
-        with the specified properties. If not suffix were specified for
-        'type', returns suffix for base type, if any.
-    """
-    key = (is_suffix, type, prop_set)
-    v = __target_suffixes_cache.get(key, None)
-
-    if not v:
-        v = generated_target_ps_real(is_suffix, type, prop_set.raw())
-        __target_suffixes_cache [key] = v
-
-    return v
-
-def type(filename):
-    """ Returns file type given it's name. If there are several dots in filename,
-        tries each suffix. E.g. for name of "file.so.1.2" suffixes "2", "1", and 
-        "so"  will be tried.
-    """
-    while 1:
-        filename, suffix = os.path.splitext (filename)
-        if not suffix: return None
-        suffix = suffix[1:]
-        
-        if __suffixes_to_types.has_key(suffix):
-            return __suffixes_to_types[suffix]
-
-# NOTE: moved from tools/types/register
-def register_type (type, suffixes, base_type = None, os = []):
-    """ Register the given type on the specified OSes, or on remaining OSes
-        if os is not specified.  This rule is injected into each of the type
-        modules for the sake of convenience.
-    """
-    if registered (type):
-        return
-
-    if not os or os_name () in os:
-        register (type, suffixes, base_type)
diff --git a/SRC/Boost/tools/build/v2/build/version.jam b/SRC/Boost/tools/build/v2/build/version.jam
deleted file mode 100755
index 7401397..0000000
--- a/SRC/Boost/tools/build/v2/build/version.jam
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright 2002, 2003, 2004, 2006 Vladimir Prus
-# Copyright 2008 Jurko Gospodnetic
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import errors ;
-import numbers ;
-
-major = "2011" ;
-minor = "04" ;
-
-rule boost-build ( )
-{
-    return "$(major).$(minor)-svn" ;
-}
-
-rule print ( )
-{
-    if [ verify-engine-version ]
-    {        
-        ECHO "Boost.Build" [ boost-build ] ;
-    }    
-}
-
-rule verify-engine-version ( )
-{
-    local v = [ modules.peek : JAM_VERSION ] ;
-    
-    if $(v[1]) != $(major) || $(v[2]) != $(minor)
-    {
-        local argv = [ modules.peek : ARGV ] ;
-        local e = $(argv[1]) ;
-        local l = [ modules.binding version ] ;
-        l = $(l:D) ;
-        l = $(l:D) ;
-        ECHO "warning: mismatched versions of Boost.Build engine and core" ;
-        ECHO "warning: Boost.Build engine ($(e)) is $(v:J=.)" ;
-        ECHO "warning: Boost.Build core (at $(l)) is" [ boost-build ] ;
-    }
-    else
-    {
-        return true ;
-    }    
-}
-
-
-
-# Utility rule for testing whether all elements in a sequence are equal to 0.
-#
-local rule is-all-zeroes ( sequence * )
-{
-    local result = "true" ;
-    for local e in $(sequence)
-    {
-        if $(e) != "0"
-        {
-            result = "" ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Returns "true" if the first version is less than the second one.
-#
-rule version-less ( lhs + : rhs + )
-{
-    numbers.check $(lhs) ;
-    numbers.check $(rhs) ;
-
-    local done ;
-    local result ;
-
-    while ! $(done) && $(lhs) && $(rhs)
-    {
-        if [ numbers.less $(lhs[1]) $(rhs[1]) ]
-        {
-            done = "true" ;
-            result = "true" ;
-        }
-        else if [ numbers.less $(rhs[1]) $(lhs[1])  ]
-        {
-            done = "true" ;
-        }
-        else
-        {
-            lhs = $(lhs[2-]) ;
-            rhs = $(rhs[2-]) ;
-        }
-    }
-    if ( ! $(done) && ! $(lhs) && ! [ is-all-zeroes $(rhs) ] )
-    {
-        result = "true" ;
-    }
-    
-    return $(result) ;
-}
-
-
-# Returns "true" if the current JAM version version is at least the given
-# version.
-#
-rule check-jam-version ( version + )
-{
-    local version-tag = $(version:J=.) ;
-    if ! $(version-tag)
-    {
-        errors.error Invalid version specifier: : $(version:E="(undefined)") ;
-    }
-
-    if ! $(.jam-version-check.$(version-tag))-is-not-empty
-    {
-        local jam-version = [ modules.peek : JAM_VERSION ] ;
-        if ! $(jam-version)
-        {
-            errors.error "Unable to deduce Boost Jam version. Your Boost Jam"
-                "installation is most likely terribly outdated." ;
-        }
-        .jam-version-check.$(version-tag) = "true" ;
-        if [ version-less [ modules.peek : JAM_VERSION ] : $(version) ]
-        {
-            .jam-version-check.$(version-tag) = "" ;
-        }
-    }
-    return $(.jam-version-check.$(version-tag)) ;
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-    
-    local jam-version = [ modules.peek : JAM_VERSION ] ;
-    local future-version = $(jam-version) ;
-    future-version += "1" ;
-
-    assert.true  check-jam-version $(jam-version)    ;
-    assert.false check-jam-version $(future-version) ;
-
-    assert.true  version-less  0          :  1          ;
-    assert.false version-less  0          :  0          ;
-    assert.true  version-less  1          :  2          ;
-    assert.false version-less  1          :  1          ;
-    assert.false version-less  2          :  1          ;
-    assert.true  version-less  3 1 20     :  3 4 10     ;
-    assert.false version-less  3 1 10     :  3 1 10     ;
-    assert.false version-less  3 4 10     :  3 1 20     ;
-    assert.true  version-less  3 1 20 5 1 :  3 4 10     ;
-    assert.false version-less  3 1 10 5 1 :  3 1 10     ;
-    assert.false version-less  3 4 10 5 1 :  3 1 20     ;
-    assert.true  version-less  3 1 20     :  3 4 10 5 1 ;
-    assert.true  version-less  3 1 10     :  3 1 10 5 1 ;
-    assert.false version-less  3 4 10     :  3 1 20 5 1 ;
-    assert.false version-less  3 1 10     :  3 1 10 0 0 ;
-    assert.false version-less  3 1 10 0 0 :  3 1 10     ;
-    assert.false version-less  3 1 10 0   :  3 1 10 0 0 ;
-    assert.false version-less  3 1 10 0   : 03 1 10 0 0 ;
-    assert.false version-less 03 1 10 0   :  3 1 10 0 0 ;
-
-    # TODO: Add tests for invalid input data being sent to version-less.
-}
diff --git a/SRC/Boost/tools/build/v2/build/virtual-target.jam b/SRC/Boost/tools/build/v2/build/virtual-target.jam
deleted file mode 100755
index 502572d..0000000
--- a/SRC/Boost/tools/build/v2/build/virtual-target.jam
+++ /dev/null
@@ -1,1317 +0,0 @@
-# Copyright 2003 Dave Abrahams
-# Copyright 2005, 2006 Rene Rivera
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Implements virtual targets, which correspond to actual files created during a
-# build, but are not yet targets in Jam sense. They are needed, for example,
-# when searching for possible transformation sequences, when it is not yet known
-# whether a particular target should be created at all.
-
-import "class" : new ;
-import errors ;
-import path ;
-import sequence ;
-import set ;
-import type ;
-import utility ;
-
-
-#                       +--------------------------+
-#                       | virtual-target           |
-#                       +==========================+
-#                       | actualize                |
-#                       +--------------------------+
-#                       | actualize-action() = 0   |
-#                       | actualize-location() = 0 |
-#                       +----------------+---------+
-#                                        |
-#                                        ^
-#                                       / \
-#                                      +-+-+
-#                                        |
-#    +---------------------+     +-------+--------------+
-#    | action              |     | abstract-file-target |
-#    +=====================|   * +======================+
-#    | action-name         |  +--+ action               |
-#    | properties          |  |  +----------------------+
-#    +---------------------+--+  | actualize-action()   |
-#    | actualize()         |0..1 +-----------+----------+
-#    | path()              |                 |
-#    | adjust-properties() | sources         |
-#    | actualize-sources() | targets         |
-#    +------+--------------+                 ^
-#           |                               / \
-#           ^                              +-+-+
-#          / \                               |
-#         +-+-+                +-------------+-------------+
-#           |                  |                           |
-#           |           +------+---------------+  +--------+-------------+
-#           |           | file-target          |  | searched-lib-target  |
-#           |           +======================+  +======================+
-#           |           | actualize-location() |  | actualize-location() |
-#           |           +----------------------+  +----------------------+
-#           |
-#         +-+------------------------------+
-#         |                                |
-#    +----+----------------+     +---------+-----------+
-#    | compile-action      |     | link-action         |
-#    +=====================+     +=====================+
-#    | adjust-properties() |     | adjust-properties() |
-#    +---------------------+     | actualize-sources() |
-#                                +---------------------+
-#
-# The 'compile-action' and 'link-action' classes are not defined here but in
-# builtin.jam modules. They are shown in the diagram to give the big picture.
-
-
-# Models a potential target. It can be converted into a Jam target and used in
-# building, if needed. However, it can be also dropped, which allows us to
-# search for different transformations and select only one.
-#
-class virtual-target
-{
-    import scanner ;
-    import sequence ;
-    import utility ;
-    import virtual-target ;
-
-    rule __init__ (
-          name     # Target/project name.
-        : project  # Project to which this target belongs.
-    )
-    {
-        self.name = $(name) ;
-        self.project = $(project) ;
-        self.dependencies = ;
-    }
-
-    # Name of this target.
-    #
-    rule name ( )
-    {
-        return $(self.name) ;
-    }
-
-    # Project of this target.
-    #
-    rule project ( )
-    {
-        return $(self.project) ;
-    }
-
-    # Adds additional 'virtual-target' instances this one depends on.
-    #
-    rule depends ( d + )
-    {
-        self.dependencies = [ sequence.merge $(self.dependencies) :
-            [ sequence.insertion-sort $(d) ] ] ;
-    }
-
-    rule dependencies ( )
-    {
-        return $(self.dependencies) ;
-    }
-    
-    rule always ( )
-    {
-        .always = 1 ;
-    }
-    
-    # Generates all the actual targets and sets up build actions for this
-    # target.
-    #
-    # If 'scanner' is specified, creates an additional target with the same
-    # location as the actual target, which will depend on the actual target and
-    # be associated with a 'scanner'. That additional target is returned. See
-    # the docs (#dependency_scanning) for rationale. Target must correspond to a
-    # file if 'scanner' is specified.
-    #
-    # If scanner is not specified then the actual target is returned.
-    #
-    rule actualize ( scanner ? )
-    {
-        local actual-name = [ actualize-no-scanner ] ;
-        
-        if $(.always)
-        {
-            ALWAYS $(actual-name) ;
-        }
-        
-        if ! $(scanner)
-        {
-            return $(actual-name) ;
-        }
-        else
-        {
-            # Add the scanner instance to the grist for name.
-            local g = [ sequence.join
-                [ utility.ungrist $(actual-name:G) ] $(scanner) : - ] ;
-            local name = $(actual-name:G=$(g)) ;
-
-            if ! $(self.made.$(name))
-            {
-                self.made.$(name) = true ;
-
-                DEPENDS $(name) : $(actual-name) ;
-
-                actualize-location $(name) ;
-
-                scanner.install $(scanner) : $(name) $(__name__) ;
-            }
-            return $(name) ;
-        }
-    }
-
-# private: (overridables)
-
-    # Sets up build actions for 'target'. Should call appropriate rules and set
-    # target variables.
-    #
-    rule actualize-action ( target )
-    {
-        errors.error "method should be defined in derived classes" ;
-    }
-
-    # Sets up variables on 'target' which specify its location.
-    #
-    rule actualize-location ( target )
-    {
-        errors.error "method should be defined in derived classes" ;
-    }
-
-    # If the target is a generated one, returns the path where it will be
-    # generated. Otherwise, returns an empty list.
-    #
-    rule path ( )
-    {
-        errors.error "method should be defined in derived classes" ;
-    }
-
-    # Returns the actual target name to be used in case when no scanner is
-    # involved.
-    #
-    rule actual-name ( )
-    {
-        errors.error "method should be defined in derived classes" ;
-    }
-
-# implementation
-    rule actualize-no-scanner ( )
-    {
-        # In fact, we just need to merge virtual-target with
-        # abstract-file-target as the latter is the only class derived from the
-        # former. But that has been left for later.
-	
-        errors.error "method should be defined in derived classes" ;
-    }
-}
-
-
-# Target corresponding to a file. The exact mapping for file is not yet
-# specified in this class. (TODO: Actually, the class name could be better...)
-#
-# May be a source file (when no action is specified) or a derived file
-# (otherwise).
-#
-# The target's grist is a concatenation of its project's location, action
-# properties (for derived targets) and, optionally, value identifying the main
-# target.
-#
-class abstract-file-target : virtual-target
-{
-    import project ;
-    import regex ;
-    import sequence ;
-    import path ;
-    import type ;
-    import property-set ;
-    import indirect ;
-
-    rule __init__ (
-         name     # Target's name.
-         exact ?  # If non-empty, the name is exactly the name created file
-                  # should have. Otherwise, the '__init__' method will add a
-                  # suffix obtained from 'type' by calling
-                  # 'type.generated-target-suffix'.
-        : type ?  # Target's type.
-        : project
-        : action ?
-    )
-    {
-        virtual-target.__init__ $(name) : $(project) ;
-
-        self.type = $(type) ;
-        self.action = $(action) ;
-        if $(action)
-        {
-            $(action).add-targets $(__name__) ;
-
-            if $(self.type) && ! $(exact)
-            {
-                _adjust-name $(name) ;
-            }
-        }
-    }
-
-    rule type ( )
-    {
-        return $(self.type) ;
-    }
-
-    # Sets the path. When generating target name, it will override any path
-    # computation from properties.
-    #
-    rule set-path ( path )
-    {
-        self.path = [ path.native $(path) ] ;
-    }
-
-    # Returns the currently set action.
-    #
-    rule action ( )
-    {
-        return $(self.action) ;
-    }
-
-    # Sets/gets the 'root' flag. Target is root if it directly corresponds to
-    # some variant of a main target.
-    #
-    rule root ( set ? )
-    {
-        if $(set)
-        {
-            self.root = true ;
-        }
-        return $(self.root) ;
-    }
-
-    # Gets or sets the subvariant which created this target. Subvariant is set
-    # when target is brought into existance and is never changed after that. In
-    # particular, if a target is shared by a subvariant, only the first is
-    # stored.
-    #
-    rule creating-subvariant ( s ?  # If specified, specifies the value to set,
-                                    # which should be a 'subvariant' class
-                                    # instance.
-                             )
-    {
-        if $(s) && ! $(self.creating-subvariant)
-        {
-            self.creating-subvariant = $(s) ;
-        }
-        return $(self.creating-subvariant) ;
-    }
-
-    rule actualize-action ( target )
-    {
-        if $(self.action)
-        {
-            $(self.action).actualize ;
-        }
-    }
-
-    # Return a human-readable representation of this target. If this target has
-    # an action, that is:
-    #
-    #    { <action-name>-<self.name>.<self.type> <action-sources>... }
-    #
-    # otherwise, it is:
-    #
-    #    { <self.name>.<self.type> }
-    #
-    rule str ( )
-    {
-        local action = [ action ] ;
-        local name-dot-type = [ sequence.join $(self.name) "." $(self.type) ] ;
-
-        if $(action)
-        {
-            local sources     = [ $(action).sources     ] ;
-            local action-name = [ $(action).action-name ] ;
-
-            local ss ;
-            for local s in $(sources)
-            {
-                ss += [ $(s).str ] ;
-            }
-
-            return "{" $(action-name)-$(name-dot-type) $(ss) "}" ;
-        }
-        else
-        {
-            return "{" $(name-dot-type) "}" ;
-        }
-    }
-
-    rule less ( a )
-    {
-        if [ str ] < [ $(a).str ]
-        {
-            return true ;
-        }
-    }
-
-    rule equal ( a )
-    {
-        if [ str ] = [ $(a).str ]
-        {
-            return true ;
-        }
-    }
-
-# private:
-    rule actual-name ( )
-    {
-        if ! $(self.actual-name)
-        {
-            local grist = [ grist ] ;
-            local basename = [ path.native $(self.name) ] ;
-            self.actual-name = <$(grist)>$(basename) ;
-        }
-        return $(self.actual-name) ;
-    }
-
-    # Helper to 'actual-name', above. Computes a unique prefix used to
-    # distinguish this target from other targets with the same name creating
-    # different files.
-    #
-    rule grist ( )
-    {
-        # Depending on target, there may be different approaches to generating
-        # unique prefixes. We generate prefixes in the form:
-        # <one letter approach code> <the actual prefix>
-        local path = [ path ] ;
-        if $(path)
-        {
-            # The target will be generated to a known path. Just use the path
-            # for identification, since path is as unique as it can get.
-            return p$(path) ;
-        }
-        else
-        {
-            # File is either source, which will be searched for, or is not a
-            # file at all. Use the location of project for distinguishing.
-            local project-location = [ $(self.project).get location ] ;
-            local location-grist = [ sequence.join [ regex.split
-                $(project-location) "/" ] : "!" ] ;
-
-            if $(self.action)
-            {
-                local ps = [ $(self.action).properties ] ;
-                local property-grist = [ $(ps).as-path ] ;
-                # 'property-grist' can be empty when 'ps' is an empty property
-                # set.
-                if $(property-grist)
-                {
-                    location-grist = $(location-grist)/$(property-grist) ;
-                }
-            }
-
-            return l$(location-grist) ;
-        }
-    }
-
-    # Given the target name specified in constructor, returns the name which
-    # should be really used, by looking at the <tag> properties. Tag properties
-    # need to be specified as <tag>@rule-name. This makes Boost Build call the
-    # specified rule with the target name, type and properties to get the new
-    # name. If no <tag> property is specified or the rule specified by <tag>
-    # returns nothing, returns the result of calling
-    # virtual-target.add-prefix-and-suffix.
-    #
-    rule _adjust-name ( specified-name )
-    {
-        local ps ;
-        if $(self.action)
-        {
-            ps = [ $(self.action).properties ] ;
-        }
-        else
-        {
-            ps = [ property-set.empty ] ;
-        }
-
-        # We add ourselves to the properties so that any tag rule can get more
-        # direct information about the target than just that available through
-        # the properties. This is useful in implementing name changes based on
-        # the sources of the target. For example to make unique names of object
-        # files based on the source file.  --grafik
-        ps = [ property-set.create [ $(ps).raw ] <target>$(__name__) ] ;
-
-        local tag = [ $(ps).get <tag> ] ;
-
-        if $(tag)
-        {
-            local rule-name = [ MATCH ^@(.*) : $(tag) ] ;
-            if $(rule-name)
-            {
-                if $(tag[2])
-                {
-                    errors.error "<tag>@rulename is present but is not the only"
-                        "<tag> feature" ;
-                }
-
-                self.name = [ indirect.call $(rule-name) $(specified-name)
-                    : $(self.type) : $(ps) ] ;
-            }
-            else
-            {
-                errors.error
-                    "The value of the <tag> feature must be '@rule-name'" ;
-            }
-        }
-
-        # If there is no tag or the tag rule returned nothing.
-        if ! $(tag) || ! $(self.name)
-        {
-            self.name = [ virtual-target.add-prefix-and-suffix $(specified-name)
-                : $(self.type) : $(ps) ] ;
-        }
-    }
-
-    rule actualize-no-scanner ( )
-    {
-        local name = [ actual-name ] ;
-
-        # Do anything only on the first invocation.
-        if ! $(self.made.$(name))
-        {
-            self.made.$(name) = true ;
-
-            if $(self.action)
-            {
-                # For non-derived target, we do not care if there are several
-                # virtual targets that refer to the same name. One case when
-                # this is unavoidable is when the file name is main.cpp and two
-                # targets have types CPP (for compiling) and MOCCABLE_CPP (for
-                # conversion to H via Qt tools).
-                virtual-target.register-actual-name $(name) : $(__name__) ;
-            }
-
-            for local i in $(self.dependencies)
-            {
-                DEPENDS $(name) : [ $(i).actualize ] ;
-            }
-
-            actualize-location $(name) ;
-            actualize-action $(name) ;
-        }
-        return $(name) ;
-    }
-}
-
-
-# Appends the suffix appropriate to 'type/property-set' combination to the
-# specified name and returns the result.
-#
-rule add-prefix-and-suffix ( specified-name : type ? : property-set )
-{
-    local suffix = [ type.generated-target-suffix $(type) : $(property-set) ] ;
-
-    # Handle suffixes for which no leading dot is desired. Those are specified
-    # by enclosing them in <...>.  Needed by python so it can create "_d.so"
-    # extensions, for example.
-    if $(suffix:G)
-    {
-        suffix = [ utility.ungrist $(suffix) ] ;
-    }
-    else
-    {
-        suffix = .$(suffix) ;
-    }
-
-    local prefix = [ type.generated-target-prefix $(type) : $(property-set) ] ;
-
-    if  [ MATCH ^($(prefix)) : $(specified-name) ]
-    {
-        prefix = ;
-    }
-    return $(prefix:E="")$(specified-name)$(suffix:E="") ;
-}
-
-
-# File targets with explicitly known location.
-#
-# The file path is determined as
-#    * Value passed to the 'set-path' method, if any.
-#    * For derived files, project's build dir, joined with components that
-#      describe action properties. If free properties are not equal to the
-#      project's reference properties an element with the name of the main
-#      target is added.
-#    * For source files, project's source dir.
-#
-# The file suffix is determined as:
-#     * The value passed to the 'suffix' method, if any.
-#     * The suffix corresponding to the target's type.
-#
-class file-target : abstract-file-target
-{
-    import "class" : new ;
-    import common ;
-    import errors ;
-
-    rule __init__ (
-        name exact ?
-        : type ?  # Optional type for this target.
-        : project
-        : action ?
-        : path ?
-    )
-    {
-        abstract-file-target.__init__ $(name) $(exact) : $(type) : $(project) :
-            $(action) ;
-
-        self.path = $(path) ;
-    }
-
-    rule clone-with-different-type ( new-type )
-    {
-        return [ new file-target $(self.name) exact : $(new-type) :
-            $(self.project) : $(self.action) : $(self.path) ] ;
-    }
-
-    rule actualize-location ( target )
-    {
-        if $(self.action)
-        {
-            # This is a derived file.
-            local path = [ path ] ;
-            LOCATE on $(target) = $(path) ;
-
-            # Make sure the path exists.
-            DEPENDS $(target) : $(path) ;
-            common.MkDir $(path) ;
-
-            # It is possible that the target name includes a directory too, for
-            # example when installing headers. Create that directory.
-            if $(target:D)
-            {
-                local d = $(target:D) ;
-                d = $(d:R=$(path)) ;
-                DEPENDS $(target) : $(d) ;
-                common.MkDir $(d) ;
-            }
-
-            # For a real file target, we create a fake target depending on the
-            # real target. This allows us to run
-            #
-            #    bjam hello.o
-            #
-            # without trying to guess the name of the real target. Note that the
-            # target has no directory name and uses a special <e> grist.
-            #
-            # First, that means that "bjam hello.o" will build all known hello.o
-            # targets. Second, the <e> grist makes sure this target will not be
-            # confused with other targets, for example, if we have subdir 'test'
-            # with target 'test' in it that includes a 'test.o' file, then the
-            # target for directory will be just 'test' the target for test.o
-            # will be <ptest/bin/gcc/debug>test.o and the target we create below
-            # will be <e>test.o
-            DEPENDS $(target:G=e) : $(target) ;
-            # Allow bjam <path-to-file>/<file> to work. This will not catch all
-            # possible ways to refer to the path (relative/absolute, extra ".",
-            # various "..", but should help in obvious cases.
-            DEPENDS $(target:G=e:R=$(path)) : $(target) ;
-        }
-        else
-        {
-            SEARCH on $(target) = [ path.native $(self.path) ] ;
-        }
-    }
-
-    # Returns the directory for this target.
-    #
-    rule path ( )
-    {
-        if ! $(self.path)
-        {
-            if $(self.action)
-            {
-                local p = [ $(self.action).properties ] ;
-                local path,relative-to-build-dir = [ $(p).target-path ] ;
-                local path = $(path,relative-to-build-dir[1]) ;
-                local relative-to-build-dir = $(path,relative-to-build-dir[2]) ;
-
-                if $(relative-to-build-dir)
-                {
-                    path = [ path.join [ $(self.project).build-dir ] $(path) ] ;
-                }
-
-                self.path = [ path.native $(path) ] ;
-            }
-        }
-        return $(self.path) ;
-     }
-}
-
-
-class notfile-target : abstract-file-target
-{
-    rule __init__ ( name : project : action ? )
-    {
-        abstract-file-target.__init__ $(name) : : $(project) : $(action) ;
-    }
-
-    # Returns nothing to indicate that the target's path is not known.
-    #
-    rule path ( )
-    {
-        return ;
-    }
-
-    rule actualize-location ( target )
-    {
-        NOTFILE $(target) ;
-        ALWAYS $(target) ;
-        # TEMPORARY $(target) ;
-        NOUPDATE $(target) ;
-    }
-}
-
-
-# Class representing an action. Both 'targets' and 'sources' should list
-# instances of 'virtual-target'. Action name should name a rule with this
-# prototype:
-#     rule action-name ( targets + : sources * : properties * )
-# Targets and sources are passed as actual Jam targets. The rule may not
-# establish additional dependency relationships.
-#
-class action
-{
-    import "class" ;
-    import errors ;
-    import type ;
-    import toolset ;
-    import property-set ;
-    import indirect ;
-    import path ;
-    import set : difference ;
-
-    rule __init__ ( sources * : action-name + : property-set ? )
-    {
-        self.sources = $(sources) ;
-
-        self.action-name = [ indirect.make-qualified $(action-name) ] ;
-
-        if ! $(property-set)
-        {
-            property-set = [ property-set.empty ] ;
-        }
-
-        if ! [ class.is-instance $(property-set) ]
-        {
-            errors.error "Property set instance required" ;
-        }
-
-        self.properties = $(property-set) ;
-    }
-
-    rule add-targets ( targets * )
-    {
-        self.targets += $(targets) ;
-    }
-
-    rule replace-targets ( old-targets * : new-targets * )
-    {
-        self.targets = [ set.difference $(self.targets) : $(old-targets) ] ;
-        self.targets += $(new-targets) ;
-    }
-
-    rule targets ( )
-    {
-        return $(self.targets) ;
-    }
-
-    rule sources ( )
-    {
-        return $(self.sources) ;
-    }
-
-    rule action-name ( )
-    {
-        return $(self.action-name) ;
-    }
-
-    rule properties ( )
-    {
-        return $(self.properties) ;
-    }
-
-    # Generates actual build instructions.
-    #
-    rule actualize ( )
-    {
-        if ! $(self.actualized)
-        {
-            self.actualized = true ;
-
-            local ps = [ properties ] ;
-            local properties = [ adjust-properties $(ps) ] ;
-
-            local actual-targets ;
-            for local i in [ targets ]
-            {
-                actual-targets += [ $(i).actualize ] ;
-            }
-
-            actualize-sources [ sources ] : $(properties) ;
-
-            DEPENDS $(actual-targets) : $(self.actual-sources)
-                $(self.dependency-only-sources) ;
-            
-            # This works around a bug with -j and actions that
-            # produce multiple target, where:
-            # - dependency on the first output is found, and
-            #   the action is started
-            # - dependency on the second output is found, and
-            #   bjam noticed that command is already running
-            # - instead of waiting for the command, dependents
-            #   of the second targets are immediately updated.
-            if $(actual-targets[2])
-            {                
-                INCLUDES $(actual-targets) : $(actual-targets) ;
-            }
-            
-            # Action name can include additional argument to rule, which should
-            # not be passed to 'set-target-variables'
-            toolset.set-target-variables
-                [ indirect.get-rule $(self.action-name[1]) ] $(actual-targets)
-                : $(properties) ;
-
-            # Reflect ourselves in a variable for the target. This allows
-            # looking up additional info for the action given the raw target.
-            # For example to debug or output action information from action
-            # rules.
-            .action on $(actual-targets) = $(__name__) ;
-
-            indirect.call $(self.action-name) $(actual-targets)
-                : $(self.actual-sources) : [ $(properties).raw ] ;
-
-            # Since we set up the creating action here, we set up the action for
-            # cleaning up as well.
-            common.Clean clean-all : $(actual-targets) ;
-        }
-    }
-
-    # Helper for 'actualize-sources'. For each passed source, actualizes it with
-    # the appropriate scanner. Returns the actualized virtual targets.
-    #
-    rule actualize-source-type ( sources * : property-set )
-    {
-        local result = ;
-        for local i in $(sources)
-        {
-            local scanner ;
-            if [ $(i).type ]
-            {
-                scanner = [ type.get-scanner [ $(i).type ] : $(property-set) ] ;
-            }
-            result += [ $(i).actualize $(scanner) ] ;
-        }
-        return $(result) ;
-    }
-
-    # Creates actual Jam targets for sources. Initializes the following member
-    # variables:
-    #   'self.actual-sources'          -- sources passed to the updating action.
-    #   'self.dependency-only-sources' -- sources marked as dependencies, but
-    #                                     are not used otherwise.
-    #
-    # New values will be *appended* to the variables. They may be non-empty if
-    # caller wants it.
-    #
-    rule actualize-sources ( sources * : property-set )
-    {
-        local dependencies = [ $(self.properties).get <dependency> ] ;
-
-        self.dependency-only-sources +=
-            [ actualize-source-type $(dependencies) : $(property-set) ] ;
-        self.actual-sources +=
-            [ actualize-source-type $(sources) : $(property-set) ] ;
-
-        # This is used to help bjam find dependencies in generated headers and
-        # other main targets, e.g. in:
-        #
-        #   make a.h : ....... ;
-        #   exe hello : hello.cpp : <implicit-dependency>a.h ;
-        #
-        # For bjam to find the dependency the generated target must be
-        # actualized (i.e. have its Jam target constructed). In the above case,
-        # if we are building just hello ("bjam hello"), 'a.h' will not be
-        # actualized unless we do it here.
-        local implicit = [ $(self.properties).get <implicit-dependency> ] ;
-        for local i in $(implicit)
-        {
-            $(i:G=).actualize ;
-        }
-    }
-
-    # Determines real properties when trying to build with 'properties'. This is
-    # the last chance to fix properties, for example to adjust includes to get
-    # generated headers correctly. Default implementation simply returns its
-    # argument.
-    #
-    rule adjust-properties ( property-set )
-    {
-        return $(property-set) ;
-    }
-}
-
-
-# Action class which does nothing --- it produces the targets with specific
-# properties out of nowhere. It is needed to distinguish virtual targets with
-# different properties that are known to exist and have no actions which create
-# them.
-#
-class null-action : action
-{
-    rule __init__ ( property-set ? )
-    {
-        action.__init__ : .no-action : $(property-set) ;
-    }
-
-    rule actualize ( )
-    {
-        if ! $(self.actualized)
-        {
-            self.actualized = true ;
-            for local i in [ targets ]
-            {
-                $(i).actualize ;
-            }
-        }
-    }
-}
-
-
-# Class which acts exactly like 'action', except that its sources are not
-# scanned for dependencies.
-#
-class non-scanning-action : action
-{
-    rule __init__ ( sources * : action-name + : property-set ? )
-    {
-        action.__init__ $(sources) : $(action-name) : $(property-set) ;
-    }
-
-    rule actualize-source-type ( sources * : property-set )
-    {
-        local result ;
-        for local i in $(sources)
-        {
-            result += [ $(i).actualize ] ;
-        }
-        return $(result) ;
-    }
-}
-
-
-# Creates a virtual target with an appropriate name and type from 'file'. If a
-# target with that name in that project already exists, returns that already
-# created target.
-#
-# FIXME: a more correct way would be to compute the path to the file, based on
-# name and source location for the project, and use that path to determine if
-# the target has already been created. This logic should be shared with how we
-# usually find targets identified by a specific target id. It should also be
-# updated to work correctly when the file is specified using both relative and
-# absolute paths.
-#
-# TODO: passing a project with all virtual targets is starting to be annoying.
-#
-rule from-file ( file : file-loc : project )
-{
-    import type ;  # Had to do this here to break a circular dependency.
-
-    # Check whether we already created a target corresponding to this file.
-    local path = [ path.root [ path.root $(file) $(file-loc) ] [ path.pwd ] ] ;
-
-    if $(.files.$(path))
-    {
-        return $(.files.$(path)) ;
-    }
-    else
-    {
-        local name = [ path.make $(file) ] ;
-        local type = [ type.type $(file) ] ;
-        local result ;
-
-        result = [ new file-target $(file) : $(type) : $(project) : :
-            $(file-loc) ] ;
-
-        .files.$(path) = $(result) ;
-        return $(result) ;
-    }
-}
-
-
-# Registers a new virtual target. Checks if there is already a registered target
-# with the same name, type, project and subvariant properties as well as the
-# same sources and equal action. If such target is found it is returned and a
-# new 'target' is not registered. Otherwise, 'target' is registered and
-# returned.
-#
-rule register ( target )
-{
-    local signature = [ sequence.join
-        [ $(target).path ] [ $(target).name ] : - ] ;
-
-    local result ;
-    for local t in $(.cache.$(signature))
-    {
-        local a1 = [ $(t).action ] ;
-        local a2 = [ $(target).action ] ;
-
-        if ! $(result)
-        {
-            if ! $(a1) && ! $(a2)
-            {
-                result = $(t) ;
-            }
-            else
-            {
-                if $(a1) && $(a2) &&
-                    ( [ $(a1).action-name ] = [ $(a2).action-name ] ) &&
-                    ( [ $(a1).sources     ] = [ $(a2).sources     ] )
-                {
-                    local ps1 = [ $(a1).properties ] ;
-                    local ps2 = [ $(a2).properties ] ;
-                    local p1 = [ $(ps1).base ] [ $(ps1).free ] [ set.difference
-                        [ $(ps1).dependency ] : [ $(ps1).incidental ] ] ;
-                    local p2 = [ $(ps2).base ] [ $(ps2).free ] [ set.difference
-                        [ $(ps2).dependency ] : [ $(ps2).incidental ] ] ;
-                    if $(p1) = $(p2)
-                    {
-                        result = $(t) ;
-                    }
-                }
-            }
-        }
-    }
-
-    if ! $(result)
-    {
-        .cache.$(signature) += $(target) ;
-        result = $(target) ;
-    }
-
-    .recent-targets += $(result) ;
-    .all-targets += $(result) ;
-
-    return $(result) ;
-}
-
-
-# Each target returned by 'register' is added to the .recent-targets list,
-# returned by this function. This allows us to find all virtual targets created
-# when building a specific main target, even those constructed only as
-# intermediate targets.
-#
-rule recent-targets ( )
-{
-    return $(.recent-targets) ;
-}
-
-
-rule clear-recent-targets ( )
-{
-    .recent-targets = ;
-}
-
-
-# Returns all virtual targets ever created.
-#
-rule all-targets ( )
-{
-    return $(.all-targets) ;
-}
-
-
-# Returns all targets from 'targets' with types equal to 'type' or derived from
-# it.
-#
-rule select-by-type ( type : targets * )
-{
-    local result ;
-    for local t in $(targets)
-    {
-        if [ type.is-subtype [ $(t).type ] $(type) ]
-        {
-            result += $(t) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-rule register-actual-name ( actual-name : virtual-target )
-{
-    if $(.actual.$(actual-name))
-    {
-        local cs1 = [ $(.actual.$(actual-name)).creating-subvariant ] ;
-        local cs2 = [ $(virtual-target).creating-subvariant ] ;
-        local cmt1 = [ $(cs1).main-target ] ;
-        local cmt2 = [ $(cs2).main-target ] ;
-
-        local action1 = [ $(.actual.$(actual-name)).action ] ;
-        local action2 = [ $(virtual-target).action ] ;
-        local properties-added ;
-        local properties-removed ;
-        if $(action1) && $(action2)
-        {
-            local p1 = [ $(action1).properties ] ;
-            p1 = [ $(p1).raw ] ;
-            local p2 = [ $(action2).properties ] ;
-            p2 = [ $(p2).raw ] ;
-            properties-removed = [ set.difference $(p1) : $(p2) ] ;
-            properties-removed ?= "none" ;
-            properties-added = [ set.difference $(p2) : $(p1) ] ;
-            properties-added ?= "none" ;
-        }
-        errors.error "Duplicate name of actual target:" $(actual-name)
-            : "previous virtual target" [ $(.actual.$(actual-name)).str ]
-            : "created from"            [ $(cmt1).full-name ]
-            : "another virtual target"  [ $(virtual-target).str ]
-            : "created from"            [ $(cmt2).full-name ]
-            : "added properties:"       $(properties-added)
-            : "removed properties:"     $(properties-removed) ;
-    }
-    else
-    {
-        .actual.$(actual-name) = $(virtual-target) ;
-    }
-}
-
-
-# Traverses the dependency graph of 'target' and return all targets that will be
-# created before this one is created. If the root of some dependency graph is
-# found during traversal, it is either included or not, depending on the
-# 'include-roots' value. In either case traversal stops at root targets, i.e.
-# root target sources are not traversed.
-#
-rule traverse ( target : include-roots ? : include-sources ? )
-{
-    local result ;
-    if [ $(target).action ]
-    {
-        local action = [ $(target).action ] ;
-        # This includes the 'target' as well.
-        result += [ $(action).targets ] ;
-
-        for local t in [ $(action).sources ]
-        {
-            if ! [ $(t).root ]
-            {
-                result += [ traverse $(t) : $(include-roots) : $(include-sources) ] ;
-            }
-            else if $(include-roots)
-            {
-                result += $(t) ;
-            }
-        }
-    }
-    else if $(include-sources)
-    {
-        result = $(target) ;
-    }
-    return $(result) ;
-}
-
-
-# Takes an 'action' instance and creates a new instance of it and all targets
-# produced by the action. The rule-name and properties are set to
-# 'new-rule-name' and 'new-properties', if those are specified. Returns the
-# cloned action.
-#
-rule clone-action ( action : new-project : new-action-name ? : new-properties ? )
-{
-    if ! $(new-action-name)
-    {
-        new-action-name = [ $(action).action-name ] ;
-    }
-    if ! $(new-properties)
-    {
-        new-properties = [ $(action).properties ] ;
-    }
-
-    local action-class = [ modules.peek $(action) : __class__ ] ;
-    local cloned-action = [ class.new $(action-class)
-        [ $(action).sources ] : $(new-action-name) : $(new-properties) ] ;
-
-    local cloned-targets ;
-    for local target in [ $(action).targets ]
-    {
-        local n = [ $(target).name ] ;
-        # Do not modify produced target names.
-        local cloned-target = [ class.new file-target $(n) exact :
-            [ $(target).type ] : $(new-project) : $(cloned-action) ] ;
-        local d = [ $(target).dependencies ] ;
-        if $(d)
-        {
-            $(cloned-target).depends $(d) ;
-        }
-        $(cloned-target).root [ $(target).root ] ;
-        $(cloned-target).creating-subvariant [ $(target).creating-subvariant ] ;
-
-        cloned-targets += $(cloned-target) ;
-    }
-
-    return $(cloned-action) ;
-}
-
-
-class subvariant
-{
-    import sequence ;
-    import type ;
-
-    rule __init__ ( main-target       # The instance of main-target class.
-        : property-set                # Properties requested for this target.
-        : sources *
-        : build-properties            # Actually used properties.
-        : sources-usage-requirements  # Properties propagated from sources.
-        : created-targets * )         # Top-level created targets.
-    {
-        self.main-target = $(main-target) ;
-        self.properties = $(property-set) ;
-        self.sources = $(sources) ;
-        self.build-properties = $(build-properties) ;
-        self.sources-usage-requirements = $(sources-usage-requirements) ;
-        self.created-targets = $(created-targets) ;
-
-        # Pre-compose a list of other dependency graphs this one depends on.
-        local deps = [ $(build-properties).get <implicit-dependency> ] ;
-        for local d in $(deps)
-        {
-            self.other-dg += [ $(d:G=).creating-subvariant ] ;
-        }
-
-        self.other-dg = [ sequence.unique $(self.other-dg) ] ;
-    }
-
-    rule main-target ( )
-    {
-        return $(self.main-target) ;
-    }
-
-    rule created-targets ( )
-    {
-        return $(self.created-targets) ;
-    }
-
-    rule requested-properties ( )
-    {
-        return $(self.properties) ;
-    }
-
-    rule build-properties ( )
-    {
-        return $(self.build-properties) ;
-    }
-
-    rule sources-usage-requirements ( )
-    {
-        return $(self.sources-usage-requirements) ;
-    }
-
-    rule set-usage-requirements ( usage-requirements )
-    {
-        self.usage-requirements = $(usage-requirements) ;
-    }
-
-    rule usage-requirements ( )
-    {
-        return $(self.usage-requirements) ;
-    }
-
-    # Returns all targets referenced by this subvariant, either directly or
-    # indirectly, and either as sources, or as dependency properties. Targets
-    # referred to using the dependency property are returned as properties, not
-    # targets.
-    #
-    rule all-referenced-targets ( theset )
-    {
-        # Find directly referenced targets.
-        local deps = [ $(self.build-properties).dependency ] ;
-        local all-targets = $(self.sources) $(deps) ;
-
-        # Find other subvariants.
-        local r ;
-        for local t in $(all-targets)
-        {
-            if ! [ $(theset).contains $(t) ]
-            {
-                $(theset).add $(t) ;
-                r += [ $(t:G=).creating-subvariant ] ;
-            }            
-        }
-        r = [ sequence.unique $(r) ] ;
-        for local s in $(r)
-        {
-            if $(s) != $(__name__)
-            {
-                $(s).all-referenced-targets $(theset) ;
-            }
-        }
-    }
-
-    # Returns the properties specifying implicit include paths to generated
-    # headers. This traverses all targets in this subvariant and subvariants
-    # referred by <implcit-dependecy> properties. For all targets of type
-    # 'target-type' (or for all targets, if 'target-type' is not specified), the
-    # result will contain <$(feature)>path-to-that-target.
-    #
-    rule implicit-includes ( feature : target-type ? )
-    {
-        local key = ii$(feature)-$(target-type:E="") ;
-        if ! $($(key))-is-not-empty
-        {
-            local target-paths = [ all-target-directories $(target-type) ] ;
-            target-paths = [ sequence.unique $(target-paths) ] ;
-            local result = $(target-paths:G=$(feature)) ;
-            if ! $(result)
-            {
-                result = "" ;
-            }
-            $(key) = $(result) ;
-        }
-        if $($(key)) = ""
-        {
-            return ;
-        }
-        else
-        {
-            return $($(key)) ;
-        }
-    }
-
-    rule all-target-directories ( target-type ? )
-    {
-        if ! $(self.target-directories)
-        {
-            compute-target-directories $(target-type) ;
-        }
-        return $(self.target-directories) ;
-    }
-
-    rule compute-target-directories ( target-type ? )
-    {
-        local result ;
-        for local t in $(self.created-targets)
-        {
-            # Skip targets of the wrong type.
-            if ! $(target-type) ||
-                [ type.is-derived [ $(t).type ] $(target-type) ]
-            {
-                result = [ sequence.merge $(result) : [ $(t).path ] ] ;
-            }
-        }
-        for local d in $(self.other-dg)
-        {
-            result += [ $(d).all-target-directories $(target-type) ] ;
-        }
-        self.target-directories = $(result) ;
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/build/virtual_target.py b/SRC/Boost/tools/build/v2/build/virtual_target.py
deleted file mode 100755
index 3a312a3..0000000
--- a/SRC/Boost/tools/build/v2/build/virtual_target.py
+++ /dev/null
@@ -1,1118 +0,0 @@
-# Status: ported.
-# Base revision: 64488.
-# 
-#  Copyright (C) Vladimir Prus 2002. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-
-#  Implements virtual targets, which correspond to actual files created during
-#  build, but are not yet targets in Jam sense. They are needed, for example,
-#  when searching for possible transormation sequences, when it's not known
-#  if particular target should be created at all.
-#
-#
-#                       +--------------------------+
-#                       | VirtualTarget           |
-#                       +==========================+
-#                       | actualize                |
-#                       +--------------------------+
-#                       | actualize_action() = 0   |
-#                       | actualize_location() = 0 |
-#                       +----------------+---------+
-#                                        |
-#                                        ^
-#                                       / \
-#                                      +-+-+
-#                                        |
-#    +---------------------+     +-------+--------------+
-#    | Action              |     | AbstractFileTarget   |
-#    +=====================|   * +======================+
-#    | action_name         |  +--+ action               |
-#    | properties          |  |  +----------------------+
-#    +---------------------+--+  | actualize_action()   |
-#    | actualize()         |0..1 +-----------+----------+
-#    | path()              |                 |
-#    | adjust_properties() | sources         |
-#    | actualize_sources() | targets         |
-#    +------+--------------+                 ^
-#           |                               / \
-#           ^                              +-+-+
-#          / \                               |
-#         +-+-+                +-------------+-------------+
-#           |                  |                           |
-#           |           +------+---------------+  +--------+-------------+
-#           |           | FileTarget           |  | SearchedLibTarget    |
-#           |           +======================+  +======================+
-#           |           | actualize-location() |  | actualize-location() |
-#           |           +----------------------+  +----------------------+
-#           |
-#         +-+------------------------------+
-#         |                                |
-#    +----+----------------+     +---------+-----------+
-#    | CompileAction       |     | LinkAction          |
-#    +=====================+     +=====================+
-#    | adjust_properties() |     | adjust_properties() |
-#    +---------------------+     | actualize_sources() |
-#                                +---------------------+
-#
-# The 'CompileAction' and 'LinkAction' classes are defined not here,
-# but in builtin.jam modules. They are shown in the diagram to give
-# the big picture.
-
-import bjam
-
-import re
-import os.path
-import string
-import types
-
-from b2.util import path, utility, set
-from b2.util.utility import add_grist, get_grist, ungrist, replace_grist, get_value
-from b2.util.sequence import unique
-from b2.tools import common
-from b2.exceptions import *
-import b2.build.type
-import b2.build.property_set as property_set
-
-import b2.build.property as property
-
-from b2.manager import get_manager
-from b2.util import bjam_signature
-
-__re_starts_with_at = re.compile ('^@(.*)')
-
-class VirtualTargetRegistry:
-    def __init__ (self, manager):
-        self.manager_ = manager
-        
-        # A cache for FileTargets
-        self.files_ = {}
-
-        # A cache for targets.
-        self.cache_ = {}
-
-        # A map of actual names to virtual targets.
-        # Used to make sure we don't associate same
-        # actual target to two virtual targets.
-        self.actual_ = {}
-
-        self.recent_targets_ = []
-        
-        # All targets ever registed
-        self.all_targets_ = []
-
-        self.next_id_ = 0
-        
-    def register (self, target):
-        """ Registers a new virtual target. Checks if there's already registered target, with the same
-            name, type, project and subvariant properties, and also with the same sources
-            and equal action. If such target is found it is retured and 'target' is not registered.
-            Otherwise, 'target' is registered and returned.
-        """
-        if target.path():
-            signature = target.path() + "-" + target.name()
-        else:
-            signature = "-" + target.name()
-
-        result = None
-        if not self.cache_.has_key (signature):
-            self.cache_ [signature] = []
-
-        for t in self.cache_ [signature]:
-            a1 = t.action ()
-            a2 = target.action ()
-
-            # TODO: why are we checking for not result?
-            if not result:
-                if not a1 and not a2:
-                    result = t
-                else:
-                    if a1 and a2 and a1.action_name () == a2.action_name () and a1.sources () == a2.sources ():
-                        ps1 = a1.properties ()
-                        ps2 = a2.properties ()
-                        p1 = ps1.base () + ps1.free () +\
-                            b2.util.set.difference(ps1.dependency(), ps1.incidental())
-                        p2 = ps2.base () + ps2.free () +\
-                            b2.util.set.difference(ps2.dependency(), ps2.incidental())
-                        if p1 == p2:
-                            result = t
-        
-        if not result:
-            self.cache_ [signature].append (target)
-            result = target
-
-        # TODO: Don't append if we found pre-existing target?
-        self.recent_targets_.append(result)
-        self.all_targets_.append(result)
-    
-        return result
-
-    def from_file (self, file, file_location, project):
-        """ Creates a virtual target with appropriate name and type from 'file'.
-            If a target with that name in that project was already created, returns that already
-            created target.
-            TODO: more correct way would be to compute path to the file, based on name and source location
-            for the project, and use that path to determine if the target was already created.
-            TODO: passing project with all virtual targets starts to be annoying.
-        """
-        # Check if we've created a target corresponding to this file.
-        path = os.path.join(os.getcwd(), file_location, file)
-        path = os.path.normpath(path)
-
-        if self.files_.has_key (path):
-            return self.files_ [path]
-
-        file_type = b2.build.type.type (file)
-
-        result = FileTarget (file, file_type, project,
-                             None, file_location)       
-        self.files_ [path] = result
-                
-        return result
-
-    def recent_targets(self):
-        """Each target returned by 'register' is added to a list of
-        'recent-target', returned by this function. So, this allows
-        us to find all targets created when building a given main
-        target, even if the target."""
-
-        return self.recent_targets_
-
-    def clear_recent_targets(self):
-        self.recent_targets_ = []
-
-    def all_targets(self):
-        # Returns all virtual targets ever created
-        return self.all_targets_
-
-    # Returns all targets from 'targets' with types
-    # equal to 'type' or derived from it.
-    def select_by_type(self, type, targets):
-        return [t for t in targets if b2.build.type.is_sybtype(t.type(), type)]
-
-    def register_actual_name (self, actual_name, virtual_target):
-        if self.actual_.has_key (actual_name):
-            cs1 = self.actual_ [actual_name].creating_subvariant ()
-            cs2 = virtual_target.creating_subvariant ()
-            cmt1 = cs1.main_target ()
-            cmt2 = cs2.main_target ()            
-            
-            action1 = self.actual_ [actual_name].action ()
-            action2 = virtual_target.action ()
-            
-            properties_added = []
-            properties_removed = []
-            if action1 and action2:
-                p1 = action1.properties ()
-                p1 = p1.raw ()
-                p2 = action2.properties ()
-                p2 = p2.raw ()
-                
-                properties_removed = set.difference (p1, p2)
-                if not properties_removed: properties_removed = "none"
-
-                properties_added = set.difference (p2, p1)
-                if not properties_added: properties_added = "none"
-
-            # FIXME: Revive printing of real location.
-            get_manager().errors()(
-                "Duplicate name of actual target: '%s'\n" 
-                "previous virtual target '%s'\n"
-                "created from '%s'\n"
-                "another virtual target '%s'\n"
-                "created from '%s'\n"
-                "added properties: '%s'\n"
-                "removed properties: '%s'\n"
-                % (actual_name,
-                   self.actual_ [actual_name], "loc", #cmt1.location (),
-                   virtual_target, 
-                   "loc", #cmt2.location (),
-                   properties_added, properties_removed))
-
-        else:
-            self.actual_ [actual_name] = virtual_target
-    
-
-    def add_suffix (self, specified_name, file_type, prop_set):
-        """ Appends the suffix appropriate to 'type/property_set' combination
-            to the specified name and returns the result.
-        """
-        suffix = b2.build.type.generated_target_suffix (file_type, prop_set)
-
-        if suffix:
-            return specified_name + '.' + suffix
-
-        else:
-            return specified_name
-    
-class VirtualTarget:
-    """ Potential target. It can be converted into jam target and used in
-        building, if needed. However, it can be also dropped, which allows
-        to search for different transformation and select only one.
-        name:    name of this target.
-        project: project to which this target belongs.
-    """
-    def __init__ (self, name, project):
-        self.name_ = name
-        self.project_ = project
-        self.dependencies_ = []
-        self.always_ = False
-        
-        # Caches if dapendencies for scanners have already been set.
-        self.made_ = {}
-
-    def manager(self):
-        return self.project_.manager()
-
-    def virtual_targets(self):
-        return self.manager().virtual_targets()
-
-    def name (self):
-        """ Name of this target.
-        """
-        return self.name_
-
-    def project (self):
-        """ Project of this target.
-        """
-        return self.project_
-
-    def depends (self, d):
-        """ Adds additional instances of 'VirtualTarget' that this
-            one depends on.
-        """
-        self.dependencies_ = unique (self.dependencies_ + d).sort ()
-
-    def dependencies (self):
-        return self.dependencies_
-
-    def always(self):
-        self.always_ = True
-
-    def actualize (self, scanner = None):
-        """ Generates all the actual targets and sets up build actions for
-            this target.
-            
-            If 'scanner' is specified, creates an additional target
-            with the same location as actual target, which will depend on the
-            actual target and be associated with 'scanner'. That additional
-            target is returned. See the docs (#dependency_scanning) for rationale.
-            Target must correspond to a file if 'scanner' is specified.
-            
-            If scanner is not specified, then actual target is returned.
-        """
-        actual_name = self.actualize_no_scanner ()
-
-        if self.always_:
-            bjam.call("ALWAYS", actual_name)
-
-        if not scanner:
-            return actual_name
-
-        else:
-            # Add the scanner instance to the grist for name.
-            g = '-'.join ([ungrist(get_grist(actual_name)), str(id(scanner))])
-
-            name = replace_grist (actual_name, '<' + g + '>')
-
-            if not self.made_.has_key (name):
-                self.made_ [name] = True
-
-                self.project_.manager ().engine ().add_dependency (name, actual_name)
-
-                self.actualize_location (name)
-
-                self.project_.manager ().scanners ().install (scanner, name, str (self))
-
-            return name
-
-# private: (overridables)
-
-    def actualize_action (self, target):
-        """ Sets up build actions for 'target'. Should call appropriate rules
-            and set target variables.
-        """
-        raise BaseException ("method should be defined in derived classes")
-
-    def actualize_location (self, target):
-        """ Sets up variables on 'target' which specify its location.
-        """
-        raise BaseException ("method should be defined in derived classes")
-    
-    def path (self):
-        """ If the target is generated one, returns the path where it will be
-            generated. Otherwise, returns empty list.
-        """
-        raise BaseException ("method should be defined in derived classes")
-    
-    def actual_name (self):
-        """ Return that actual target name that should be used
-            (for the case where no scanner is involved)
-        """
-        raise BaseException ("method should be defined in derived classes")
-
-
-class AbstractFileTarget (VirtualTarget):
-    """ Target which correspond to a file. The exact mapping for file
-        is not yet specified in this class. (TODO: Actually, the class name
-        could be better...)
-        
-        May be a source file (when no action is specified), or
-        derived file (otherwise).
-        
-        The target's grist is concatenation of project's location,
-        properties of action (for derived files), and, optionally,
-        value identifying the main target.
-        
-        exact:  If non-empty, the name is exactly the name
-                created file should have. Otherwise, the '__init__'
-                method will add suffix obtained from 'type' by
-                calling 'type.generated-target-suffix'.
-                  
-        type:   optional type of this target.
-    """
-    def __init__ (self, name, type, project, action = None, exact=False):
-        VirtualTarget.__init__ (self, name, project)
-            
-        self.type_ = type
-
-        self.action_ = action
-        self.exact_ = exact
-        
-        if action:
-            action.add_targets ([self])
- 
-            if self.type and not exact:
-                self.__adjust_name (name)
-
-        
-        self.actual_name_ = None
-        self.path_ = None
-        self.intermediate_ = False
-        self.creating_subvariant_ = None
-        
-        # True if this is a root target.
-        self.root_ = False
-
-    def type (self):
-        return self.type_
-
-    def set_path (self, path):
-        """ Sets the path. When generating target name, it will override any path
-            computation from properties.
-        """
-        self.path_ = path
-
-    def action (self):
-        """ Returns the action.
-        """
-        return self.action_
-
-    def root (self, set = None):
-        """ Sets/gets the 'root' flag. Target is root is it directly correspods to some
-            variant of a main target.
-        """
-        if set:
-            self.root_ = True
-        return self.root_
-
-    def creating_subvariant (self, s = None):
-        """ Gets or sets the subvariant which created this target. Subvariant
-        is set when target is brought into existance, and is never changed
-        after that. In particual, if target is shared by subvariant, only 
-        the first is stored.
-        s:  If specified, specified the value to set,
-                which should be instance of 'subvariant' class.
-        """
-        if s and not self.creating_subvariant ():
-            if self.creating_subvariant ():
-                raise BaseException ("Attempt to change 'dg'")
-
-            else:
-                self.creating_subvariant_ = s
-
-        return self.creating_subvariant_
-
-    def actualize_action (self, target):
-        if self.action_:
-            self.action_.actualize ()
-
-    # Return a human-readable representation of this target
-    #
-    # If this target has an action, that's:
-    #
-    #    { <action-name>-<self.name>.<self.type> <action-sources>... }
-    #
-    # otherwise, it's:
-    #
-    #    { <self.name>.<self.type> }
-    #
-    def str(self):
-        a = self.action()
-
-        name_dot_type = self.name_ + "." + self.type_
-
-        if a:
-            action_name = a.action_name()
-            ss = [ s.str() for s in a.sources()]
-                       
-            return "{ %s-%s %s}" % (action_name, name_dot_type, str(ss))
-        else:
-            return "{ " + name_dot_type + " }"
-        
-# private:
-
-    def actual_name (self):
-        if not self.actual_name_:
-            self.actual_name_ = '<' + self.grist() + '>' + self.name_
-
-        return self.actual_name_
-
-    def grist (self):
-        """Helper to 'actual_name', above. Compute unique prefix used to distinguish
-            this target from other targets with the same name which create different
-            file.
-        """
-        # Depending on target, there may be different approaches to generating
-        # unique prefixes. We'll generate prefixes in the form 
-        # <one letter approach code> <the actual prefix>
-        path = self.path ()
-        
-        if path:
-            # The target will be generated to a known path. Just use the path
-            # for identification, since path is as unique as it can get.
-            return 'p' + path
-
-        else:
-            # File is either source, which will be searched for, or is not a file at
-            # all. Use the location of project for distinguishing.
-            project_location = self.project_.get ('location')
-            path_components = b2.util.path.split(project_location)
-            location_grist = '!'.join (path_components)
-            
-            if self.action_:
-                ps = self.action_.properties ()
-                property_grist = ps.as_path ()
-                # 'property_grist' can be empty when 'ps' is an empty
-                # property set.
-                if property_grist:
-                    location_grist = location_grist + '/' + property_grist
-                        
-            return 'l' + location_grist
-
-    def __adjust_name(self, specified_name):
-        """Given the target name specified in constructor, returns the
-        name which should be really used, by looking at the <tag> properties.
-        The tag properties come in two flavour:
-          - <tag>value, 
-          - <tag>@rule-name
-        In the first case, value is just added to name
-        In the second case, the specified rule is called with specified name,
-        target type and properties and should return the new name.
-        If not <tag> property is specified, or the rule specified by
-        <tag> returns nothing, returns the result of calling 
-        virtual-target.add-suffix"""
-
-        if self.action_:
-            ps = self.action_.properties()
-        else:
-            ps = property_set.empty()
-
-        # FIXME: I'm not sure how this is used, need to check with
-        # Rene to figure out how to implement
-        #~ We add ourselves to the properties so that any tag rule can get
-        #~ more direct information about the target than just that available
-        #~ through the properties. This is useful in implementing
-        #~ name changes based on the sources of the target. For example to
-        #~ make unique names of object files based on the source file.
-        #~ --grafik
-        #ps = property_set.create(ps.raw() + ["<target>%s" % "XXXX"])
-        #ps = [ property-set.create [ $(ps).raw ] <target>$(__name__) ] ;
-        
-        tag = ps.get("<tag>")
-        
-        if tag:
-
-            if len(tag) > 1:
-                get_manager().errors()(
-                    """<tag>@rulename is present but is not the only <tag> feature""")
-
-            tag = tag[0]
-            if callable(tag):
-                self.name_ = tag(specified_name, self.type_, ps)
-            else:
-                if not tag[0] == '@':
-                    self.manager_.errors()("""The value of the <tag> feature must be '@rule-nane'""")
-
-                exported_ps = b2.util.value_to_jam(ps, methods=True)
-                self.name_ = b2.util.call_jam_function(
-                    tag[1:], specified_name, self.type_, exported_ps)
-                if self.name_:
-                    self.name_ = self.name_[0]
-        
-        # If there's no tag or the tag rule returned nothing.
-        if not tag or not self.name_:
-            self.name_ = add_prefix_and_suffix(specified_name, self.type_, ps)
-
-    def actualize_no_scanner(self):
-        name = self.actual_name()
-
-        # Do anything only on the first invocation
-        if not self.made_:
-            self.made_[name] = True
-
-            if self.action_:  
-                # For non-derived target, we don't care if there
-                # are several virtual targets that refer to the same name.
-                # One case when this is unavoidable is when file name is
-                # main.cpp and two targets have types CPP (for compiling)
-                # and MOCCABLE_CPP (for convertion to H via Qt tools).
-                self.virtual_targets().register_actual_name(name, self)
-
-            for i in self.dependencies_:
-                self.manager_.engine().add_dependency(name, i.actualize())
-
-            self.actualize_location(name)
-            self.actualize_action(name)
-            
-        return name
-
- at bjam_signature((["specified_name"], ["type"], ["property_set"]))
-def add_prefix_and_suffix(specified_name, type, property_set):
-    """Appends the suffix appropriate to 'type/property-set' combination
-    to the specified name and returns the result."""
-
-    property_set = b2.util.jam_to_value_maybe(property_set)
-
-    suffix = ""
-    if type:
-        suffix = b2.build.type.generated_target_suffix(type, property_set)
-    
-    # Handle suffixes for which no leading dot is desired.  Those are
-    # specified by enclosing them in <...>.  Needed by python so it
-    # can create "_d.so" extensions, for example.
-    if get_grist(suffix):
-        suffix = ungrist(suffix)
-    elif suffix:
-        suffix = "." + suffix
-
-    prefix = ""
-    if type:
-        prefix = b2.build.type.generated_target_prefix(type, property_set)
-
-    if specified_name.startswith(prefix):
-        prefix = ""
-
-    if not prefix:
-        prefix = ""
-    if not suffix:
-        suffix = ""
-    return prefix + specified_name + suffix
-
-
-class FileTarget (AbstractFileTarget):
-    """ File target with explicitly known location.
-
-        The file path is determined as
-           - value passed to the 'set_path' method, if any
-           - for derived files, project's build dir, joined with components
-             that describe action's properties. If the free properties
-             are not equal to the project's reference properties
-             an element with name of main target is added.
-           - for source files, project's source dir
-        
-        The file suffix is
-            - the value passed to the 'suffix' method, if any, or
-            - the suffix which correspond to the target's type.
-    """
-    def __init__ (self, name, type, project, action = None, path=None, exact=False):
-        AbstractFileTarget.__init__ (self, name, type, project, action, exact)
-
-        self.path_ = path
-
-    def __str__(self):
-        if self.type_:
-            return self.name_ + "." + self.type_
-        else:
-            return self.name_
-
-    def clone_with_different_type(self, new_type):
-        return FileTarget(self.name_, new_type, self.project_,
-                          self.action_, self.path_, exact=True)
-        
-    def actualize_location (self, target):
-        engine = self.project_.manager_.engine ()
-
-        if self.action_:
-            # This is a derived file.
-            path = self.path ()
-            engine.set_target_variable (target, 'LOCATE', path)
-
-            # Make sure the path exists.
-            engine.add_dependency (target, path)
-            common.mkdir(engine, path)
-
-            # It's possible that the target name includes a directory
-            # too, for example when installing headers. Create that
-            # directory.
-            d = os.path.dirname(get_value(target))
-            if d:
-                d = os.path.join(path, d)
-                engine.add_dependency(target, d)
-                common.mkdir(engine, d)
-
-            # For real file target, we create a fake target that
-            # depends on the real target. This allows to run
-            #
-            #    bjam hello.o
-            #
-            # without trying to guess the name of the real target.            
-            # Note the that target has no directory name, and a special
-            # grist <e>.
-            #
-            # First, that means that "bjam hello.o" will build all
-            # known hello.o targets.
-            # Second, the <e> grist makes sure this target won't be confused
-            # with other targets, for example, if we have subdir 'test'
-            # with target 'test' in it that includes 'test.o' file,
-            # then the target for directory will be just 'test' the target
-            # for test.o will be <ptest/bin/gcc/debug>test.o and the target
-            # we create below will be <e>test.o
-            engine.add_dependency("<e>%s" % get_value(target), target)
-
-            # Allow bjam <path-to-file>/<file> to work.  This won't catch all
-            # possible ways to refer to the path (relative/absolute, extra ".",
-            # various "..", but should help in obvious cases.
-            engine.add_dependency("<e>%s" % (os.path.join(path, get_value(target))), target)
-            
-        else:
-            # This is a source file.
-            engine.set_target_variable (target, 'SEARCH', self.project_.get ('source-location'))
-    
-
-    def path (self):
-        """ Returns the directory for this target.
-        """
-        if not self.path_:
-            if self.action_:
-                p = self.action_.properties ()            
-                (target_path, relative_to_build_dir) = p.target_path ()
-                
-                if relative_to_build_dir:
-                    # Indicates that the path is relative to
-                    # build dir.
-                    target_path = os.path.join (self.project_.build_dir (), target_path)
-                                
-                # Store the computed path, so that it's not recomputed
-                # any more
-                self.path_ = target_path
-
-        return self.path_
-
-
-class NotFileTarget(AbstractFileTarget):
-
-    def __init__(self, name, project, action):
-        AbstractFileTarget.__init__(self, name, None, project, action)
-
-    def path(self):
-        """Returns nothing, to indicate that target path is not known."""
-        return None
-
-    def actualize_location(self, target):
-        bjam.call("NOTFILE", target)
-        bjam.call("ALWAYS", target)
-        bjam.call("NOUPDATE", target)
-
-
-class Action:
-    """ Class which represents an action.
-        Both 'targets' and 'sources' should list instances of 'VirtualTarget'.
-        Action name should name a rule with this prototype
-            rule action_name ( targets + : sources * : properties * )
-        Targets and sources are passed as actual jam targets. The rule may
-        not establish dependency relationship, but should do everything else.
-    """
-    def __init__ (self, manager, sources, action_name, prop_set):
-        assert(isinstance(prop_set, property_set.PropertySet))
-        assert type(sources) == types.ListType
-        self.sources_ = sources
-        self.action_name_ = action_name
-        if not prop_set:
-            prop_set = property_set.empty()
-        self.properties_ = prop_set
-        if not all(isinstance(v, VirtualTarget) for v in prop_set.get('implicit-dependency')):
-            import pdb
-            pdb.set_trace()
-
-        self.manager_ = manager
-        self.engine_ = self.manager_.engine ()
-        self.targets_ = []
-
-        # Indicates whether this has been actualized or not.
-        self.actualized_ = False
-        
-        self.dependency_only_sources_ = []
-        self.actual_sources_ = []
-        
-        
-    def add_targets (self, targets):
-        self.targets_ += targets
-
-
-    def replace_targets (old_targets, new_targets):
-        self.targets_ = [t for t in targets if not t in old_targets] + new_targets
-
-    def targets (self):
-        return self.targets_
-
-    def sources (self):
-        return self.sources_
-
-    def action_name (self):
-        return self.action_name_
-
-    def properties (self):
-        return self.properties_
-
-    def actualize (self):
-        """ Generates actual build instructions.
-        """
-        if self.actualized_:
-            return
-            
-        self.actualized_ = True
-
-        ps = self.properties ()
-        properties = self.adjust_properties (ps)
-
-
-        actual_targets = []
-        
-        for i in self.targets ():
-            actual_targets.append (i.actualize ())
-
-        self.actualize_sources (self.sources (), properties)
-
-        self.engine_.add_dependency (actual_targets, self.actual_sources_ + self.dependency_only_sources_)
-
-        # This works around a bug with -j and actions that
-        # produce multiple target, where:
-        # - dependency on the first output is found, and
-        #   the action is started
-        # - dependency on the second output is found, and
-        #   bjam noticed that command is already running
-        # - instead of waiting for the command, dependents
-        #   of the second targets are immediately updated.
-        if len(actual_targets) > 1:
-            bjam.call("INCLUDES", actual_targets, actual_targets)
-
-        # FIXME: check the comment below. Was self.action_name_ [1]
-        # Action name can include additional argument to rule, which should not
-        # be passed to 'set-target-variables'
-        # FIXME: breaking circular dependency
-        import toolset
-        toolset.set_target_variables (self.manager_, self.action_name_, actual_targets, properties)
-             
-        engine = self.manager_.engine ()
-
-        # FIXME: this is supposed to help --out-xml option, but we don't
-        # implement that now, and anyway, we should handle it in Python,
-        # not but putting variables on bjam-level targets.
-        bjam.call("set-target-variable", actual_targets, ".action", repr(self))
-        
-        self.manager_.engine ().set_update_action (self.action_name_, actual_targets, self.actual_sources_,
-                                                   properties)
-        
-        # Since we set up creating action here, we also set up
-        # action for cleaning up
-        self.manager_.engine ().set_update_action ('common.Clean', 'clean-all',
-                                                   actual_targets)
-
-        return actual_targets
-
-    def actualize_source_type (self, sources, prop_set):
-        """ Helper for 'actualize_sources'.
-            For each passed source, actualizes it with the appropriate scanner.
-            Returns the actualized virtual targets.
-        """
-        result = []
-        for i in sources:
-            scanner = None
-
-# FIXME: what's this?
-#            if isinstance (i, str):
-#                i = self.manager_.get_object (i)
-                
-            if i.type ():
-                scanner = b2.build.type.get_scanner (i.type (), prop_set)
-
-            r = i.actualize (scanner)
-            result.append (r)
-        
-        return result
-    
-    def actualize_sources (self, sources, prop_set):
-        """ Creates actual jam targets for sources. Initializes two member
-            variables:
-            'self.actual_sources_' -- sources which are passed to updating action
-            'self.dependency_only_sources_' -- sources which are made dependencies, but
-            are not used otherwise.
-            
-            New values will be *appended* to the variables. They may be non-empty,
-            if caller wants it.
-        """
-        dependencies = self.properties_.get ('<dependency>')
-                
-        self.dependency_only_sources_ += self.actualize_source_type (dependencies, prop_set)
-        self.actual_sources_ += self.actualize_source_type (sources, prop_set)
-
-        # This is used to help bjam find dependencies in generated headers
-        # in other main targets.
-        # Say:
-        #
-        #   make a.h : ....... ;
-        #   exe hello : hello.cpp : <implicit-dependency>a.h ;
-        #
-        # However, for bjam to find the dependency the generated target must
-        # be actualized (i.e. have the jam target). In the above case,
-        # if we're building just hello ("bjam hello"), 'a.h' won't be
-        # actualized unless we do it here.
-        implicit = self.properties_.get("<implicit-dependency>")
-
-        for i in implicit:
-            i.actualize()
-
-    def adjust_properties (self, prop_set):
-        """ Determines real properties when trying building with 'properties'.
-            This is last chance to fix properties, for example to adjust includes
-            to get generated headers correctly. Default implementation returns
-            its argument.
-        """
-        return prop_set
-
-
-class NullAction (Action):
-    """ Action class which does nothing --- it produces the targets with
-        specific properties out of nowhere. It's needed to distinguish virtual
-        targets with different properties that are known to exist, and have no 
-        actions which create them.
-    """
-    def __init__ (self, manager, prop_set):
-        Action.__init__ (self, manager, [], None, prop_set)
-        
-    def actualize (self):
-        if not self.actualized_:
-            self.actualized_ = True
-
-            for i in self.targets ():
-                i.actualize ()
-
-class NonScanningAction(Action):
-    """Class which acts exactly like 'action', except that the sources
-    are not scanned for dependencies."""
-
-    def __init__(self, sources, action_name, property_set):
-        #FIXME: should the manager parameter of Action.__init__
-        #be removed? -- Steven Watanabe
-        Action.__init__(self, b2.manager.get_manager(), sources, action_name, property_set)
-
-    def actualize_source_type(self, sources, property_set):
-
-        result = []
-        for s in sources:
-            result.append(s.actualize())
-        return result
-
-def traverse (target, include_roots = False, include_sources = False):
-    """ Traverses the dependency graph of 'target' and return all targets that will
-        be created before this one is created. If root of some dependency graph is
-        found during traversal, it's either included or not, dependencing of the
-        value of 'include_roots'. In either case, sources of root are not traversed.
-    """
-    result = []
-    
-    if target.action ():
-        action = target.action ()
-        
-        # This includes 'target' as well
-        result += action.targets ()
-
-        for t in action.sources ():
-
-            # FIXME:
-            # TODO: see comment in Manager.register_object ()
-            #if not isinstance (t, VirtualTarget):
-            #    t = target.project_.manager_.get_object (t)
-                
-            if not t.root ():
-                result += traverse (t, include_roots, include_sources)
-
-            elif include_roots:
-                result.append (t)
-
-    elif include_sources:
-        result.append (target)
-
-    return result
-
-def clone_action (action, new_project, new_action_name, new_properties):
-    """Takes an 'action' instances and creates new instance of it
-    and all produced target. The rule-name and properties are set
-    to 'new-rule-name' and 'new-properties', if those are specified.
-    Returns the cloned action."""
-
-    if not new_action_name:
-        new_action_name = action.action_name()
-
-    if not new_properties:
-        new_properties = action.properties()
-
-    cloned_action = action.__class__(action.manager_, action.sources(), new_action_name,
-                                     new_properties)
-                          
-    cloned_targets = []
-    for target in action.targets():
-
-        n = target.name()
-        # Don't modify the name of the produced targets. Strip the directory f
-        cloned_target = FileTarget(n, target.type(), new_project,
-                                   cloned_action, exact=True)
-
-        d = target.dependencies()
-        if d:
-            cloned_target.depends(d)
-        cloned_target.root(target.root())
-        cloned_target.creating_subvariant(target.creating_subvariant())
-
-        cloned_targets.append(cloned_target)
-
-    return cloned_action
-
-class Subvariant:
-    
-    def __init__ (self, main_target, prop_set, sources, build_properties, sources_usage_requirements, created_targets):
-        """ 
-        main_target:                 The instance of MainTarget class
-        prop_set:                    Properties requested for this target
-        sources:
-        build_properties:            Actually used properties
-        sources_usage_requirements:  Properties propagated from sources
-        created_targets:             Top-level created targets
-        """
-        self.main_target_ = main_target
-        self.properties_ = prop_set
-        self.sources_ = sources
-        self.build_properties_ = build_properties
-        self.sources_usage_requirements_ = sources_usage_requirements
-        self.created_targets_ = created_targets
-
-        self.usage_requirements_ = None
-        
-        # Pre-compose the list of other dependency graphs, on which this one
-        # depends
-        deps = build_properties.get('<implicit-dependency>')
-        
-        self.other_dg_ = []
-        for d in deps:
-            self.other_dg_.append(d.creating_subvariant ())
-
-        self.other_dg_ = unique (self.other_dg_)
-
-        self.implicit_includes_cache_ = {}
-        self.target_directories_ = None
-               
-    def main_target (self):
-        return self.main_target_
-    
-    def created_targets (self):
-        return self.created_targets_
-    
-    def requested_properties (self):
-        return self.properties_
-    
-    def build_properties (self):
-        return self.build_properties_
-    
-    def sources_usage_requirements (self):
-        return self.sources_usage_requirements_
-    
-    def set_usage_requirements (self, usage_requirements):
-        self.usage_requirements_ = usage_requirements
-    
-    def usage_requirements (self):
-        return self.usage_requirements_
-
-    def all_referenced_targets(self, result):
-        """Returns all targets referenced by this subvariant,
-        either directly or indirectly, and either as sources,
-        or as dependency properties. Targets referred with
-        dependency property are returned a properties, not targets."""
-
-        # Find directly referenced targets.
-        deps = self.build_properties().dependency()
-        all_targets = self.sources_ + deps
-        
-        # Find other subvariants.
-        r = []
-        for e in all_targets:
-            if not e in result:
-                result.add(e)
-                if isinstance(e, property.Property):
-                    t = e.value()
-                else:
-                    t = e
-                                    
-                # FIXME: how can this be?
-                cs = t.creating_subvariant()
-                if cs:
-                    r.append(cs)
-        r = unique(r)
-        for s in r:
-            if s != self:
-                s.all_referenced_targets(result)
-
-
-    def implicit_includes (self, feature, target_type):
-        """ Returns the properties which specify implicit include paths to
-            generated headers. This traverses all targets in this subvariant,
-            and subvariants referred by <implcit-dependecy>properties.
-            For all targets which are of type 'target-type' (or for all targets,
-            if 'target_type' is not specified), the result will contain
-            <$(feature)>path-to-that-target.
-        """
-
-        if not target_type:
-            key = feature
-        else:
-            key = feature + "-" + target_type
-
-            
-        result = self.implicit_includes_cache_.get(key)
-        if not result:
-            target_paths = self.all_target_directories(target_type)
-            target_paths = unique(target_paths)
-            result = ["<%s>%s" % (feature, p) for p in target_paths]
-            self.implicit_includes_cache_[key] = result
-
-        return result
-
-    def all_target_directories(self, target_type = None):
-        # TODO: does not appear to use target_type in deciding
-        # if we've computed this already.
-        if not self.target_directories_:
-            self.target_directories_ = self.compute_target_directories(target_type)
-        return self.target_directories_
-
-    def compute_target_directories(self, target_type=None):
-        result = []
-        for t in self.created_targets():
-            if not target_type or b2.build.type.is_derived(t.type(), target_type):
-                result.append(t.path())
-
-        for d in self.other_dg_:
-            result.extend(d.all_target_directories(target_type))
-
-        result = unique(result)
-        return result
diff --git a/SRC/Boost/tools/build/v2/build_system.py b/SRC/Boost/tools/build/v2/build_system.py
deleted file mode 100755
index 3fd913d..0000000
--- a/SRC/Boost/tools/build/v2/build_system.py
+++ /dev/null
@@ -1,872 +0,0 @@
-# Status: mostly ported. Missing is --out-xml support, 'configure' integration
-# and some FIXME.
-# Base revision: 64351
-
-# Copyright 2003, 2005 Dave Abrahams 
-# Copyright 2006 Rene Rivera 
-# Copyright 2003, 2004, 2005, 2006, 2007 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-
-from b2.build.engine import Engine
-from b2.manager import Manager
-from b2.util.path import glob
-from b2.build import feature, property_set
-import b2.build.virtual_target
-from b2.build.targets import ProjectTarget
-from b2.util.sequence import unique
-import b2.build.build_request
-from b2.build.errors import ExceptionWithUserContext
-import b2.tools.common
-
-import b2.build.project as project
-import b2.build.virtual_target as virtual_target
-import b2.build.build_request as build_request
-
-import b2.util.regex
-
-from b2.manager import get_manager
-from b2.util import cached
-from b2.util import option
-
-
-import bjam
-
-import os
-import sys
-import re
-
-################################################################################
-#
-# Module global data.
-#
-################################################################################
-
-# Flag indicating we should display additional debugging information related to
-# locating and loading Boost Build configuration files.
-debug_config = False
-
-# Legacy option doing too many things, some of which are not even documented.
-# Should be phased out.
-#   * Disables loading site and user configuration files.
-#   * Disables auto-configuration for toolsets specified explicitly on the
-#     command-line.
-#   * Causes --toolset command-line options to be ignored.
-#   * Prevents the default toolset from being used even if no toolset has been
-#     configured at all.
-legacy_ignore_config = False
-
-# The cleaning is tricky. Say, if user says 'bjam --clean foo' where 'foo' is a
-# directory, then we want to clean targets which are in 'foo' as well as those
-# in any children Jamfiles under foo but not in any unrelated Jamfiles. To
-# achieve this we collect a list of projects under which cleaning is allowed.
-project_targets = []
-
-# Virtual targets obtained when building main targets references on the command
-# line. When running 'bjam --clean main_target' we want to clean only files
-# belonging to that main target so we need to record which targets are produced
-# for it.
-results_of_main_targets = []
-
-# Was an XML dump requested?
-out_xml = False
-
-# Default toolset & version to be used in case no other toolset has been used
-# explicitly by either the loaded configuration files, the loaded project build
-# scripts or an explicit toolset request on the command line. If not specified,
-# an arbitrary default will be used based on the current host OS. This value,
-# while not strictly necessary, has been added to allow testing Boost-Build's
-# default toolset usage functionality.
-default_toolset = None
-default_toolset_version = None
-
-################################################################################
-#
-# Public rules.
-#
-################################################################################
-
-# Returns the property set with the free features from the currently processed
-# build request.
-#
-def command_line_free_features():
-    return command_line_free_features
-
-# Sets the default toolset & version to be used in case no other toolset has
-# been used explicitly by either the loaded configuration files, the loaded
-# project build scripts or an explicit toolset request on the command line. For
-# more detailed information see the comment related to used global variables.
-#
-def set_default_toolset(toolset, version=None):
-    default_toolset = toolset
-    default_toolset_version = version
-
-    
-pre_build_hook = []
-
-def add_pre_build_hook(callable):
-    pre_build_hook.append(callable)
-
-post_build_hook = None
-
-def set_post_build_hook(callable):
-    post_build_hook = callable
-
-################################################################################
-#
-# Local rules.
-#
-################################################################################
-
-# Returns actual Jam targets to be used for executing a clean request.
-#
-def actual_clean_targets(targets):
-
-    # Construct a list of projects explicitly detected as targets on this build
-    # system run. These are the projects under which cleaning is allowed.
-    for t in targets:
-        if isinstance(t, b2.build.targets.ProjectTarget):
-            project_targets.append(t.project_module())
-
-    # Construct a list of targets explicitly detected on this build system run
-    # as a result of building main targets.
-    targets_to_clean = set()
-    for t in results_of_main_targets:
-        # Do not include roots or sources.
-        targets_to_clean.update(virtual_target.traverse(t))
-
-    to_clean = []
-    for t in get_manager().virtual_targets().all_targets():
-
-        # Remove only derived targets.
-        if t.action():
-            p = t.project()
-            if t in targets_to_clean or should_clean_project(p.project_module()):
-                to_clean.append(t)
-
-    return [t.actualize() for t in to_clean]
-
-_target_id_split = re.compile("(.*)//(.*)")
-
-# Given a target id, try to find and return the corresponding target. This is
-# only invoked when there is no Jamfile in ".". This code somewhat duplicates
-# code in project-target.find but we can not reuse that code without a
-# project-targets instance.
-#
-def find_target(target_id):
-
-    projects = get_manager().projects()
-    m = _target_id_split.match(target_id)
-    if m:
-        pm = projects.find(m.group(1), ".")
-    else:
-        pm = projects.find(target_id, ".")
-
-    if pm:
-        result = projects.target(pm)
-
-    if m:
-        result = result.find(m.group(2))
-
-    return result
-
-def initialize_config_module(module_name, location=None):
-
-    get_manager().projects().initialize(module_name, location)
-
-# Helper rule used to load configuration files. Loads the first configuration
-# file with the given 'filename' at 'path' into module with name 'module-name'.
-# Not finding the requested file may or may not be treated as an error depending
-# on the must-find parameter. Returns a normalized path to the loaded
-# configuration file or nothing if no file was loaded.
-#
-def load_config(module_name, filename, paths, must_find=False):
-
-    if debug_config:
-        print "notice: Searching  '%s' for '%s' configuration file '%s." \
-              % (paths, module_name, filename)
-
-    where = None
-    for path in paths:
-        t = os.path.join(path, filename)
-        if os.path.exists(t):
-            where = t
-            break
-
-    if where:
-        where = os.path.realpath(where)
-        
-        if debug_config:
-            print "notice: Loading '%s' configuration file '%s' from '%s'." \
-                  % (module_name, filename, where)
-
-        # Set source location so that path-constant in config files
-        # with relative paths work. This is of most importance
-        # for project-config.jam, but may be used in other
-        # config files as well.
-        attributes = get_manager().projects().attributes(module_name) ;
-        attributes.set('source-location', os.path.dirname(where), True)
-        get_manager().projects().load_standalone(module_name, where)
-        
-    else:
-        msg = "Configuration file '%s' not found in '%s'." % (filename, path)
-        if must_find:
-            get_manager().errors()(msg)
-
-        elif debug_config:
-            print msg
-
-    return where
-
-# Loads all the configuration files used by Boost Build in the following order:
-#
-#   -- test-config --
-#   Loaded only if specified on the command-line using the --test-config
-# command-line parameter. It is ok for this file not to exist even if specified.
-# If this configuration file is loaded, regular site and user configuration
-# files will not be. If a relative path is specified, file is searched for in
-# the current folder.
-#
-#   -- site-config --
-#   Always named site-config.jam. Will only be found if located on the system
-# root path (Windows), /etc (non-Windows), user's home folder or the Boost Build
-# path, in that order. Not loaded in case the test-config configuration file is
-# loaded or either the --ignore-site-config or the --ignore-config command-line
-# option is specified.
-#
-#   -- user-config --
-#   Named user-config.jam by default or may be named explicitly using the
-# --user-config command-line option or the BOOST_BUILD_USER_CONFIG environment
-# variable. If named explicitly the file is looked for from the current working
-# directory and if the default one is used then it is searched for in the
-# user's home directory and the Boost Build path, in that order. Not loaded in
-# case either the test-config configuration file is loaded, --ignore-config
-# command-line option is specified or an empty file name is explicitly
-# specified. If the file name has been given explicitly then the file must
-# exist.
-#
-# Test configurations have been added primarily for use by Boost Build's
-# internal unit testing system but may be used freely in other places as well.
-#
-def load_configuration_files():
-    
-    # Flag indicating that site configuration should not be loaded.
-    ignore_site_config = "--ignore-site-config" in sys.argv
-
-    if legacy_ignore_config and debug_config:
-        print "notice: Regular site and user configuration files will be ignored"
-        print "notice: due to the --ignore-config command-line option."
-
-    initialize_config_module("test-config")
-    test_config = None
-    for a in sys.argv:
-        m = re.match("--test-config=(.*)$", a)
-        if m:
-            test_config = b2.util.unquote(m.group(1))
-            break
-
-    if test_config:
-        where = load_config("test-config", os.path.basename(test_config), [os.path.dirname(test_config)])
-        if where:
-            if debug_config and not legacy_ignore_config:
-                print "notice: Regular site and user configuration files will"
-                print "notice: be ignored due to the test configuration being loaded."
-
-    user_path = [os.path.expanduser("~")] + bjam.variable("BOOST_BUILD_PATH")
-    site_path = ["/etc"] + user_path
-    if os.name in ["nt"]:
-        site_path = [os.getenv("SystemRoot")] + user_path
-
-    if ignore_site_config and not legacy_ignore_config:
-        print "notice: Site configuration files will be ignored due to the"
-        print "notice: --ignore-site-config command-line option."
-
-    initialize_config_module("site-config")
-    if not test_config and not ignore_site_config and not legacy_ignore_config:
-        load_config('site-config', 'site-config.jam', site_path)
-
-    initialize_config_module('user-config')
-    if not test_config and not legacy_ignore_config:
-
-        user_config = None
-        for a in sys.argv:
-            m = re.match("--user-config=(.*)$", a)
-            if m:
-                user_config = m.group(1)
-                break
-
-        if not user_config:
-            user_config = os.getenv("BOOST_BUILD_USER_CONFIG")
-            
-        # Special handling for the case when the OS does not strip the quotes
-        # around the file name, as is the case when using Cygwin bash.
-        user_config = b2.util.unquote(user_config)
-        explicitly_requested = user_config
-        if not user_config:
-            user_config = "user-config.jam"
-
-        if explicitly_requested:
-
-            user_config = os.path.abspath(user_config)
-            
-            if debug_config:
-                print "notice: Loading explicitly specified user configuration file:"
-                print "    " + user_config
-            
-            load_config('user-config', os.path.basename(user_config), [os.path.dirname(user_config)], True)
-        else:
-            load_config('user-config', os.path.basename(user_config), user_path)
-
-    elif debug_config:
-        print "notice: User configuration file loading explicitly disabled." ;
-        
-    # We look for project-config.jam from "." upward.
-    # I am not sure this is 100% right decision, we might as well check for
-    # it only alonside the Jamroot file. However:
-    #
-    # - We need to load project-root.jam before Jamroot
-    # - We probably would need to load project-root.jam even if there's no
-    #   Jamroot - e.g. to implement automake-style out-of-tree builds.
-    if os.path.exists("project-config.jam"):
-        file = ["project-config.jam"]
-    else:
-        file = b2.util.path.glob_in_parents(".", ["project-config.jam"])
-
-    if file:
-        initialize_config_module('project-config', os.path.dirname(file[0]))
-        load_config('project-config', "project-config.jam", [os.path.dirname(file[0])], True)
-
-
-# Autoconfigure toolsets based on any instances of --toolset=xx,yy,...zz or
-# toolset=xx,yy,...zz in the command line. May return additional properties to
-# be processed as if they had been specified by the user.
-#
-def process_explicit_toolset_requests():
-
-    extra_properties = []
-
-    option_toolsets = [e for option in b2.util.regex.transform(sys.argv, "^--toolset=(.*)$")
-                       for e in option.split(',')]
-    feature_toolsets = [e for option in b2.util.regex.transform(sys.argv, "^toolset=(.*)$")
-                       for e in option.split(',')]
-
-    for t in option_toolsets + feature_toolsets:
-        
-        # Parse toolset-version/properties.
-        (toolset_version, toolset, version) = re.match("(([^-/]+)-?([^/]+)?)/?.*", t).groups()
-
-        if debug_config:
-            print "notice: [cmdline-cfg] Detected command-line request for '%s': toolset= %s version=%s" \
-            % (toolset_version, toolset, version)
-
-        # If the toolset is not known, configure it now.
-        known = False
-        if toolset in feature.values("toolset"):
-            known = True
-
-        if known and version and not feature.is_subvalue("toolset", toolset, "version", version):
-            known = False
-        # TODO: we should do 'using $(toolset)' in case no version has been
-        # specified and there are no versions defined for the given toolset to
-        # allow the toolset to configure its default version. For this we need
-        # to know how to detect whether a given toolset has any versions
-        # defined. An alternative would be to do this whenever version is not
-        # specified but that would require that toolsets correctly handle the
-        # case when their default version is configured multiple times which
-        # should be checked for all existing toolsets first.
-
-        if not known:
-
-            if debug_config:
-                print "notice: [cmdline-cfg] toolset '%s' not previously configured; attempting to auto-configure now" % toolset_version
-            toolset.using(toolset, version)
-
-        else:
-
-            if debug_config:
-
-                print "notice: [cmdline-cfg] toolset '%s' already configured" % toolset_version
-
-        # Make sure we get an appropriate property into the build request in
-        # case toolset has been specified using the "--toolset=..." command-line
-        # option form.
-        if not t in sys.argv and not t in feature_toolsets:
-
-            if debug_config:
-                print "notice: [cmdline-cfg] adding toolset=%s) to the build request." % t ;
-            extra_properties += "toolset=%s" % t
-
-    return extra_properties
-
-
-
-# Returns 'true' if the given 'project' is equal to or is a (possibly indirect)
-# child to any of the projects requested to be cleaned in this build system run.
-# Returns 'false' otherwise. Expects the .project-targets list to have already
-# been constructed.
-#
- at cached
-def should_clean_project(project):
-
-    if project in project_targets:
-        return True
-    else:
-
-        parent = get_manager().projects().attribute(project, "parent-module")
-        if parent and parent != "user-config":
-            return should_clean_project(parent)
-        else:
-            return False
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-def main():
-
-    sys.argv = bjam.variable("ARGV")
-
-    # FIXME: document this option.
-    if "--profiling" in sys.argv:
-        import cProfile
-        r = cProfile.runctx('main_real()', globals(), locals(), "stones.prof")
-
-        import pstats
-        stats = pstats.Stats("stones.prof")
-        stats.strip_dirs()
-        stats.sort_stats('time', 'calls')
-        stats.print_callers(20)
-        return r
-    else:
-        try:
-            return main_real()
-        except ExceptionWithUserContext, e:
-            e.report()
-
-def main_real():
-
-    global debug_config, legacy_ignore_config, out_xml
-
-    debug_config = "--debug-configuration" in sys.argv
-    legacy_ignore_config = "--ignore_config" in sys.argv
-    out_xml = any(re.match("^--out-xml=(.*)$", a) for a in sys.argv)
-        
-    engine = Engine()
-
-    global_build_dir = option.get("build-dir")
-    manager = Manager(engine, global_build_dir)
-
-    import b2.build.configure as configure
-
-    if "--version" in sys.argv:
-
-        version.report()
-        return
-
-    # This module defines types and generator and what not,
-    # and depends on manager's existence
-    import b2.tools.builtin
-
-    b2.tools.common.init(manager)
-
-    load_configuration_files()
-
-    extra_properties = []
-    # Note that this causes --toolset options to be ignored if --ignore-config
-    # is specified.
-    if not legacy_ignore_config:
-        extra_properties = process_explicit_toolset_requests()
-
-    # We always load project in "." so that 'use-project' directives have any
-    # chance of being seen. Otherwise, we would not be able to refer to
-    # subprojects using target ids.
-    current_project = None
-    projects = get_manager().projects()
-    if projects.find(".", "."):
-        current_project = projects.target(projects.load("."))
-
-    # In case there are no toolsets currently defined makes the build run using
-    # the default toolset.
-    if not legacy_ignore_config and not feature.values("toolset"):
-
-        dt = default_toolset
-        dtv = None
-        if default_toolset:
-            dtv = default_toolset_version
-        else:
-            dt = "gcc"
-            if os.name == 'nt':
-                dt = "msvc"
-            # FIXME:    
-            #else if [ os.name ] = MACOSX
-            #{
-            #    default-toolset = darwin ;
-            #}                        
-
-        print "warning: No toolsets are configured."
-        print "warning: Configuring default toolset '%s'." % dt
-        print "warning: If the default is wrong, your build may not work correctly."
-        print "warning: Use the \"toolset=xxxxx\" option to override our guess."
-        print "warning: For more configuration options, please consult"
-        print "warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html"
-
-        toolset.using(dt, dtv)
-
-    # Parse command line for targets and properties. Note that this requires
-    # that all project files already be loaded.
-    (target_ids, properties) = build_request.from_command_line(sys.argv[1:] + extra_properties)
-
-    # Expand properties specified on the command line into multiple property
-    # sets consisting of all legal property combinations. Each expanded property
-    # set will be used for a single build run. E.g. if multiple toolsets are
-    # specified then requested targets will be built with each of them.
-    if properties:
-        expanded = build_request.expand_no_defaults(properties)
-    else:
-        expanded = [property_set.empty()]
-
-    # Check that we actually found something to build.
-    if not current_project and not target_ids:
-        get_manager().errors()("no Jamfile in current directory found, and no target references specified.")
-        # FIXME:
-        # EXIT
-
-    # Flags indicating that this build system run has been started in order to
-    # clean existing instead of create new targets. Note that these are not the
-    # final flag values as they may get changed later on due to some special
-    # targets being specified on the command line.
-    clean = "--clean" in sys.argv
-    cleanall = "--clean-all" in sys.argv
-
-    # List of explicitly requested files to build. Any target references read
-    # from the command line parameter not recognized as one of the targets
-    # defined in the loaded Jamfiles will be interpreted as an explicitly
-    # requested file to build. If any such files are explicitly requested then
-    # only those files and the targets they depend on will be built and they
-    # will be searched for among targets that would have been built had there
-    # been no explicitly requested files.
-    explicitly_requested_files = []
-
-    # List of Boost Build meta-targets, virtual-targets and actual Jam targets
-    # constructed in this build system run.
-    targets = []
-    virtual_targets = []
-    actual_targets = []
-
-    explicitly_requested_files = []
-
-    # Process each target specified on the command-line and convert it into
-    # internal Boost Build target objects. Detect special clean target. If no
-    # main Boost Build targets were explictly requested use the current project
-    # as the target.
-    for id in target_ids:
-        if id == "clean":
-            clean = 1
-        else:
-            t = None
-            if current_project:
-                t = current_project.find(id, no_error=1)
-            else:
-                t = find_target(id)
-
-            if not t:
-                print "notice: could not find main target '%s'" % id
-                print "notice: assuming it's a name of file to create " ;
-                explicitly_requested_files.append(id)
-            else:
-                targets.append(t)
-
-    if not targets:
-        targets = [projects.target(projects.module_name("."))]
-
-    # FIXME: put this BACK.
-    
-    ## if [ option.get dump-generators : : true ] 
-    ## {
-    ##     generators.dump ;
-    ## }
-
-    
-    # We wish to put config.log in the build directory corresponding
-    # to Jamroot, so that the location does not differ depending on
-    # directory where we do build.  The amount of indirection necessary
-    # here is scary.
-    first_project = targets[0].project()
-    first_project_root_location = first_project.get('project-root')
-    first_project_root_module = manager.projects().load(first_project_root_location)
-    first_project_root = manager.projects().target(first_project_root_module)
-    first_build_build_dir = first_project_root.build_dir()
-    configure.set_log_file(os.path.join(first_build_build_dir, "config.log"))
-
-    virtual_targets = []
-
-    global results_of_main_targets
-
-    # Now that we have a set of targets to build and a set of property sets to
-    # build the targets with, we can start the main build process by using each
-    # property set to generate virtual targets from all of our listed targets
-    # and any of their dependants.
-    for p in expanded:
-        manager.set_command_line_free_features(property_set.create(p.free()))
-        
-        for t in targets:
-            try:
-                g = t.generate(p)
-                if not isinstance(t, ProjectTarget):
-                    results_of_main_targets.extend(g.targets())
-                virtual_targets.extend(g.targets())
-            except ExceptionWithUserContext, e:
-                e.report()
-            except Exception:                
-                raise
-
-    # Convert collected virtual targets into actual raw Jam targets.
-    for t in virtual_targets:
-        actual_targets.append(t.actualize())
-
-
-     # FIXME: restore
-##     # If XML data output has been requested prepare additional rules and targets
-##     # so we can hook into Jam to collect build data while its building and have
-##     # it trigger the final XML report generation after all the planned targets
-##     # have been built.
-##     if $(.out-xml)
-##     {
-##         # Get a qualified virtual target name.
-##         rule full-target-name ( target )
-##         {
-##             local name = [ $(target).name ] ;
-##             local project = [ $(target).project ] ;
-##             local project-path = [ $(project).get location ] ;
-##             return $(project-path)//$(name) ;
-##         }
-
-##         # Generate an XML file containing build statistics for each constituent.
-##         #
-##         rule out-xml ( xml-file : constituents * )
-##         {
-##             # Prepare valid XML header and footer with some basic info.
-##             local nl = "
-## " ;
-##             local jam       = [ version.jam ] ;
-##             local os        = [ modules.peek : OS OSPLAT JAMUNAME ] "" ;
-##             local timestamp = [ modules.peek : JAMDATE ] ;
-##             local cwd       = [ PWD ] ;
-##             local command   = $(.sys.argv) ;
-##             local bb-version = [ version.boost-build ] ;
-##             .header on $(xml-file) =
-##                 "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
-##                 "$(nl)<build format=\"1.0\" version=\"$(bb-version)\">"
-##                 "$(nl)  <jam version=\"$(jam:J=.)\" />"
-##                 "$(nl)  <os name=\"$(os[1])\" platform=\"$(os[2])\"><![CDATA[$(os[3-]:J= )]]></os>"
-##                 "$(nl)  <timestamp><![CDATA[$(timestamp)]]></timestamp>"
-##                 "$(nl)  <directory><![CDATA[$(cwd)]]></directory>"
-##                 "$(nl)  <command><![CDATA[\"$(command:J=\" \")\"]]></command>"
-##                 ;
-##             .footer on $(xml-file) =
-##                 "$(nl)</build>" ;
-
-##             # Generate the target dependency graph.
-##             .contents on $(xml-file) +=
-##                 "$(nl)  <targets>" ;
-##             for local t in [ virtual-target.all-targets ]
-##             {
-##                 local action = [ $(t).action ] ;
-##                 if $(action)
-##                     # If a target has no action, it has no dependencies.
-##                 {
-##                     local name = [ full-target-name $(t) ] ;
-##                     local sources = [ $(action).sources ] ;
-##                     local dependencies ;
-##                     for local s in $(sources)
-##                     {
-##                         dependencies += [ full-target-name $(s) ] ;
-##                     }
-
-##                     local path = [ $(t).path ] ;
-##                     local jam-target = [ $(t).actual-name ] ;
-
-##                     .contents on $(xml-file) +=
-##                         "$(nl)    <target>"
-##                         "$(nl)      <name><![CDATA[$(name)]]></name>"
-##                         "$(nl)      <dependencies>"
-##                         "$(nl)        <dependency><![CDATA[$(dependencies)]]></dependency>"
-##                         "$(nl)      </dependencies>"
-##                         "$(nl)      <path><![CDATA[$(path)]]></path>"
-##                         "$(nl)      <jam-target><![CDATA[$(jam-target)]]></jam-target>"
-##                         "$(nl)    </target>"
-##                         ;
-##                 }
-##             }
-##             .contents on $(xml-file) +=
-##                 "$(nl)  </targets>" ;
-
-##             # Build $(xml-file) after $(constituents). Do so even if a
-##             # constituent action fails and regenerate the xml on every bjam run.
-##             INCLUDES $(xml-file) : $(constituents) ;
-##             ALWAYS $(xml-file) ;
-##             __ACTION_RULE__ on $(xml-file) = build-system.out-xml.generate-action ;
-##             out-xml.generate $(xml-file) ;
-##         }
-
-##         # The actual build actions are here; if we did this work in the actions
-##         # clause we would have to form a valid command line containing the
-##         # result of @(...) below (the name of the XML file).
-##         #
-##         rule out-xml.generate-action ( args * : xml-file
-##             : command status start end user system : output ? )
-##         {
-##             local contents =
-##                 [ on $(xml-file) return $(.header) $(.contents) $(.footer) ] ;
-##             local f = @($(xml-file):E=$(contents)) ;
-##         }
-
-##         # Nothing to do here; the *real* actions happen in
-##         # out-xml.generate-action.
-##         actions quietly out-xml.generate { }
-
-##         # Define the out-xml file target, which depends on all the targets so
-##         # that it runs the collection after the targets have run.
-##         out-xml $(.out-xml) : $(actual-targets) ;
-
-##         # Set up a global __ACTION_RULE__ that records all the available
-##         # statistics about each actual target in a variable "on" the --out-xml
-##         # target.
-##         #
-##         rule out-xml.collect ( xml-file : target : command status start end user
-##             system : output ? )
-##         {
-##             local nl = "
-## " ;
-##             # Open the action with some basic info.
-##             .contents on $(xml-file) +=
-##                 "$(nl)  <action status=\"$(status)\" start=\"$(start)\" end=\"$(end)\" user=\"$(user)\" system=\"$(system)\">" ;
-
-##             # If we have an action object we can print out more detailed info.
-##             local action = [ on $(target) return $(.action) ] ;
-##             if $(action)
-##             {
-##                 local action-name    = [ $(action).action-name ] ;
-##                 local action-sources = [ $(action).sources     ] ;
-##                 local action-props   = [ $(action).properties  ] ;
-
-##                 # The qualified name of the action which we created the target.
-##                 .contents on $(xml-file) +=
-##                     "$(nl)    <name><![CDATA[$(action-name)]]></name>" ;
-
-##                 # The sources that made up the target.
-##                 .contents on $(xml-file) +=
-##                     "$(nl)    <sources>" ;
-##                 for local source in $(action-sources)
-##                 {
-##                     local source-actual = [ $(source).actual-name ] ;
-##                     .contents on $(xml-file) +=
-##                         "$(nl)      <source><![CDATA[$(source-actual)]]></source>" ;
-##                 }
-##                 .contents on $(xml-file) +=
-##                     "$(nl)    </sources>" ;
-
-##                 # The properties that define the conditions under which the
-##                 # target was built.
-##                 .contents on $(xml-file) +=
-##                     "$(nl)    <properties>" ;
-##                 for local prop in [ $(action-props).raw ]
-##                 {
-##                     local prop-name = [ MATCH ^<(.*)>$ : $(prop:G) ] ;
-##                     .contents on $(xml-file) +=
-##                         "$(nl)      <property name=\"$(prop-name)\"><![CDATA[$(prop:G=)]]></property>" ;
-##                 }
-##                 .contents on $(xml-file) +=
-##                     "$(nl)    </properties>" ;
-##             }
-
-##             local locate = [ on $(target) return $(LOCATE) ] ;
-##             locate ?= "" ;
-##             .contents on $(xml-file) +=
-##                 "$(nl)    <jam-target><![CDATA[$(target)]]></jam-target>"
-##                 "$(nl)    <path><![CDATA[$(target:G=:R=$(locate))]]></path>"
-##                 "$(nl)    <command><![CDATA[$(command)]]></command>"
-##                 "$(nl)    <output><![CDATA[$(output)]]></output>" ;
-##             .contents on $(xml-file) +=
-##                 "$(nl)  </action>" ;
-##         }
-
-##         # When no __ACTION_RULE__ is set "on" a target, the search falls back to
-##         # the global module.
-##         module
-##         {
-##             __ACTION_RULE__ = build-system.out-xml.collect
-##                 [ modules.peek build-system : .out-xml ] ;
-##         }
-        
-##         IMPORT
-##             build-system :
-##             out-xml.collect
-##             out-xml.generate-action
-##             : :
-##             build-system.out-xml.collect
-##             build-system.out-xml.generate-action
-##             ;
-##     }
-
-    j = option.get("jobs")
-    if j:
-        bjam.call("set-variable", PARALLELISM, j)
-        
-    k = option.get("keep-going", "true", "true")
-    if k in ["on", "yes", "true"]:
-        bjam.call("set-variable", "KEEP_GOING", "1")
-    elif k in ["off", "no", "false"]:
-        bjam.call("set-variable", "KEEP_GOING", "0")
-    else:
-        print "error: Invalid value for the --keep-going option"
-        sys.exit()
-                
-    # The 'all' pseudo target is not strictly needed expect in the case when we
-    # use it below but people often assume they always have this target
-    # available and do not declare it themselves before use which may cause
-    # build failures with an error message about not being able to build the
-    # 'all' target.
-    bjam.call("NOTFILE", "all")
-
-    # And now that all the actual raw Jam targets and all the dependencies
-    # between them have been prepared all that is left is to tell Jam to update
-    # those targets.
-    if explicitly_requested_files:
-        # Note that this case can not be joined with the regular one when only
-        # exact Boost Build targets are requested as here we do not build those
-        # requested targets but only use them to construct the dependency tree
-        # needed to build the explicitly requested files.
-        # FIXME: add $(.out-xml)
-        bjam.call("UPDATE", ["<e>%s" % x for x in explicitly_requested_files])
-    elif cleanall:
-        bjam.call("UPDATE", "clean-all")
-    elif clean:
-        manager.engine().set_update_action("common.Clean", "clean",
-                                           actual_clean_targets(targets))
-        bjam.call("UPDATE", "clean")
-    else:
-        # FIXME:
-        #configure.print-configure-checks-summary ;
-
-        if pre_build_hook:
-            for h in pre_build_hook:
-                h()
-
-        bjam.call("DEPENDS", "all", actual_targets)
-        ok = bjam.call("UPDATE_NOW", "all") # FIXME: add out-xml
-        if post_build_hook:
-            post_build_hook(ok)
-        # Prevent automatic update of the 'all' target, now that
-        # we have explicitly updated what we wanted.            
-        bjam.call("UPDATE")
-
-    if manager.errors().count() == 0:
-        return ["ok"]
-    else:
-        return []
diff --git a/SRC/Boost/tools/build/v2/changes.txt b/SRC/Boost/tools/build/v2/changes.txt
deleted file mode 100755
index 64dc229..0000000
--- a/SRC/Boost/tools/build/v2/changes.txt
+++ /dev/null
@@ -1,317 +0,0 @@
-Copyright 2004-2007 Vladimir Prus 
-Distributed under the Boost Software License, Version 1.0. 
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-Milestone 13 (in development)
-
-Changes in this release:
-
-The following bugs were fixed:
-
-    - gcc suport did not work on HP-UX systems
-
-Milestone 12 (Oct 1, 2007)
-
-Changes in this release:
-
-    - The Pathscale, PGI and mipspro compilers are now supported.    
-    - Support for autoconfiguration of toolset based on command-line
-      toolset=xxxx request, and for default toolset
-      configuration as a fallback.
-    - Support for precompiled headers for gcc toolset,
-      and improvements for msvc.
-    - Mechanism for removing inherited requirements.
-    - The 'make' rule support specifying usage-requirements.
-    - New 'project.extension' rule for declaring standalone
-      projects.
-    - New 'conditional' convenience rule.
-    - New 'glob-tree' rule.
-    - The 'glob' rule accepts patterns to exclude.
-    - Inline targets are now marked explicit automatically.
-    - Toolsets can now implicitly add requirements to
-    all targets.
-    - New 'generate' rule.
-    - The executables produced by the 'run' rule are automatically
-    removed after run.
-    - The gcc toolset uses the version obtained by running
-    the compiler, if no explicit one is provided.    
-    - The sun toolset now supports the 'address-model' feature,
-    and uses -KPIC for shared libraries.
-    - Free features on command line affect all targets, not
-    just 'directly requested' ones.
-
-
-Documentation changes:
-
-    - Installation instructions for Linux distributors.
-    - Configuration options for all supported C++ compilers
-    are now documented.
-
-The following bugs were fixed:
-
-    - The 'cflags' and 'linkflags' now work on Darwin.o
-    - The intel toolset now works on Windows.
-    - Fix library search options for CodeWarriour toolset.
-    - The <install-source-root> could cause duplicate
-    mkdir commands.
-    - Numerious fixes in Boost autolink support
-    - Numerious fixes in Boost.Python support.
-    - Indirect properties not evaluated in usage requirements.
-    - Generator that returns a property set but not target is
-    considered successful.
-    - On Darwin, when several compiler versions
-    are configured, -fcoalesce-templates is applied only to
-    versions that need it.
-
-
-Milestone 11 (Jule 20, 2006)
-
-Changes in this release:
-
-    - New C++ compilers: IBM xlf, HP aCC, HP CXX, Intel fortran compiler.
-    - New tools: Qt4 support, MS message compiler and IDL compiler.
-    - New main targets: 'notfile' and 'cast'.
-
-    - Core changes:
-
-        - Only one file required at top level of a project, named Jamroot.
-        - Jamfiles can now contain project-specific help messages.
-        - "Indirect conditional requirements" introduced
-          (http://tinyurl.com/mn3jp)
-        - Strip suffix in main target names when computing names of generated 
-          files (URL) 
-        - The 'source-location' project attribute can contain 
-          several directories.
-        - Usage requirements are propagated not only direct dependents, 
-          but to indirect dependents.
-
-    - Command line option changes (see http://tinyurl.com/zbycz)
-        - New option --build-dir
-        - The --clean option cleans only target below the current directory,
-          not globally. 
-        - New --clean-all option was added.
-        - New option --debug-building
-        - Running "bjam some_directory" works even if there's no Jamfile 
-          in the current directory.
-
-    - Toolset improvements:
-        - Assembling support with gcc, borland and msvc.
-        - Support amd64/ia64 cross-compiling with msvc.
-        - Improved, registry-based autodetection for msvc.
-        - Serialize execution of gcc.link actions  
-        - Precompiled headers supported on MSVC 
-          (Need documentation)
-
-    - New features <warnings> and <warnings-as-errors>           
-    - The 'glob' rule accepts wildcards in directory names.
-    - The 'stage' rule was renamed to 'install' 
-      (the old name still available for compatibility)
-    - The <tag> feature can accept user-defined function as value
-      (URL)
-    - The 'install' rule can install a directory hierarchy preserving relative
-      paths.
-    - The 'install' rule no longer allows to change library 
-      name during install.
-    - The Jamfile referred via 'use-project' may declare project id different
-      from the one in 'use-project'.
-    - The 'using' rule now searches the directory of containing Jamfile.
-     
-
-The following bugs were fixed:
-
-    - The <library> feature was ignored for static linking
-    - Fix #include scanning for C files.
-    - Child projects were sometimes loaded before parent projects.
-    - Fix project references with absolute paths on Windows. 
-    - The <dependency> feature was ignored for 'install' targets.
-    - A generator having the same type in sources and targets was causing hang.
-    - Use 'icpc' command for Intel, fixing errors with 8.1 and higher. 
-    - Generation of PS files with the FOP tool really produces .PS files.
-    - No dependency scanning was done for C files.
-    - The 'constant' and 'path-constant' rules did not accept multi-element
-      value.
-    - Don't pass -fcoalesce-templates to gcc on OSX 10.4
-    - Fix static lib suffix on OSX.
-    - Fix rpath setting on Intel/Linux.
-    - The 'install' rule don't unnecessary scans #includes in installed
-      headers.
-       
-
-Developer visible changes:
-
-    - Ability to customize type's prefix depending on build properties.
-    - Generator's 'run' method can return usage-requirements.  
-    - Main target rule is automatically declared for each new target type.
-    - 'Link incompatible' feature attribute was removed
-    - Generators no longer bypass unhandled sources, they just ignore them.
-    - If there are several applicable generators, immediately report ambiguity.
-      Provide a way to explicitly resolve conflicts between generators.
-    - The 'flags' rule can match absense of feature.
-    - Great improvement in response files handling
-    - The 'toolset.flags' rules allows value-less feature to signify
-      absense of this feature (fix hack-hack).
-    - Automatically declare main target rule for each declared target type.
-    - When inheriting types, inherit generators for the base type, as opposed
-      to using various hacks to invoke base generators when needed.
-    - Improve diagnostic for "duplicate actual target" and generator ambiguity.
-
-
-Milestone 10 (October 29, 2004)
-
-Changes in this release:
-
-    Many toolsets were added: Intel, Metrowerks, Comeau, aCC, vacpp.
-    Documentation was converted to BoostBook and improved.
-    Performance was improved.
- 
-    - Toolsets initialization syntax is much more uniform. Compiler and linker
-      flags can now be specified.
-    - The algorithm for computing build properties was improved. Conditional
-      requirements can be chained, and a number of bugs were fixed.
-    - Specific order of properties can be specified.
-    - The main target rules can be called from everywhere, not necessary from
-      Jamfile.
-    - Check for "unused sources" removed.
-    - The <library> feature affects only linking now.
-    - The <file> feature now works only for libraries.
-    - Simpler syntax for "searched" libraries was added.
-    - New <dependency> feature.
-    
-
-    Unix: 
-        The right order of static libraries on Unix is automatically
-        computed. 
-        The <hardcode-dll-paths> feature is the default.
-    gcc: 
-         The -fPIC option is passed when creating shared libraries. 
-         Problems with distcc were solved.
-    Sun:         
-         It's now possible to use the sun linker (as opposed to gnu), and
-         to compile C files.
-    Darwin:
-         Shared libraries are now supported.
-    MSVC: Before resource files compilation, the setup script is invoked.
-          Options deprecated in 8.0 are not longer used.
-
-
-The following bugs were fixed:
-
-    - The <unit-test> rule did not handle the <library> property (!!!!!!)
-    - Don't add "bin" to the build directory explicitly specified by the user.
-    - Allow <include-type> to select staged targets,
-      even with <traverse-dependencies>off.
-    - Includes for the form '# include <whatever>" did not work.
-    - (Qt) Add paths to all dependent libs to uic command
-      line, which helps if the UI files uses plugins.
-    - Using <toolset-msvc:version>xxx in requirements was broken.
-    - Error message printed when target can be found is much more clear.
-    - Inline targets in sources of 'stage' did not work.
-    - Don't produce 'independent target' warnings on Windows
-    - (gcc) The <link-runtime>static did not work.
-    - (gcc) Suppress warnings from the 'ar' tool on some systems.
-    - (gcc) Don't try to set soname on NT.
-
-Developer visible changes:
-
-    - Generator priorities are gone, explicit overrides are used.
-    - 'Active' features were removed
-    - Support for VMS paths was added.
-
-Thanks to Christopher Currie, Pedro Ferreira, Philipp Frauenfelder,
-Andre Hentz, Jurgen Hunold, Toon Knapen, Johan Nilsson, Alexey Pakhunov, 
-Brock Peabody, Michael Stevens and Zbynek Winkler who contributed 
-code to this release.
- 
-
-Milestone 9.1 (Nov 6, 2003)
-
-The following bugs were fixed:
-
-    - The 'unit-test' rule used to ignore <library> properties.
-    - The gcc toolset used to ignore <threading> property.
-
-Milestone 9 (Nov 6, 2003)
-
-Changes in this release
-
-    - Putting library in sources of other library now works even for static
-      linking, which makes expressing library->library dependency much
-      simpler.
-    - Performance was considerably improved.      
-    - Regression testing framework now works on windows.
-    - The "alias" rule can have usage requirements and passes on usage
-      requirements of sources.
-    - The "stage" rule can traverse dependencies.
-    - Support for "def files" was implemented.
-    - Targets paths are now shorter.
-    - Darwin toolset was improved.
-
-The following bugs were fixed:
-
-    - It was not possible to specify empty suffix for a target type derived
-      from other type.
-    - The stage rules used to generate incorrect suffix in some cases.
-    - It was possible to load Jamfile twice. 
-    - The 'use-project' rule was broken when referring to a child project.
-    - Use of composite properties in requirements did not work.
-
-Developer visible changes:
-
-    - New CALC builtin, which considerable improves performance.
-    - Source layout was reorganized.
-    - Handling of response file was simplified.
-
-Thanks to Pedro Ferreira, Kirill Lapshin, Andre Hentz, Paul Lin, 
-Jurgen Hunold, Christopher Currie, and Brock Peabody, who contributed to 
-this release.
-
-Milestone 8 (Oct 15, 2003)
-
-Changes in this release:
- 
-    - A regression testing framework was implemented.
-    - New <implicit-dependency> feature was added for better handling 
-      of dependencies to generated headers.
-    - The link-compatibility checks not longer cause projects to be skipped,
-      and issue warning, not error, for main targets.    
-    - Algorithm for selecting main target alternative was improved.
-    - The <dependency> feature was renamed to <use>.
-    - Project root constants were made available in project root itself.
-
-The following bugs were fixed:
-
-    - failure to recognize shared libraries with version as such
-    - the 'path-constant' rule was mishandling absolute paths on Windows.
-
-
-Milestone 7 (Sep 11, 2003)
-
-Changes in this release:
-
-    - Performance was improved.
-    - Support for Sun and Darwin toolsets was added.    
-    - <tag> feature, which changes the name of target depending of build
-      variant, was implemented.
-    - Old-style targets-ids are no longer supported.
-    - New 'glob' rule allows to easily perform wildcard matching in Jamfile.
-    - Improve bison/flex support to understand C++.
-
-The following bugs were fixed:
-
-    - bogus error on use of project default-build attribute with several
-      main target alternatives.
-    - broken toolset inheritance
-    - hard error after skipping a target due to incompatible requirements
-    - incorrect behaviour of a generator when producing several targets of 
-      the same type
-    - errors on use of the 'project-root' rule in Jamfile context
-    - inability to require specific compiler version for a main target.    
-    - incorrect behaviour of "bjam msvc" when msvc is configured with explicit
-      version.
-    
-Thanks to Christopher Currie, Pedro Ferreira and Michael Stevens, who
-contributed to this release.
-
-
-    
-
diff --git a/SRC/Boost/tools/build/v2/contrib/boost.jam b/SRC/Boost/tools/build/v2/contrib/boost.jam
deleted file mode 100755
index d020951..0000000
--- a/SRC/Boost/tools/build/v2/contrib/boost.jam
+++ /dev/null
@@ -1,321 +0,0 @@
-# $Id: boost.jam 63913 2010-07-12 07:37:43Z vladimir_prus $
-# Copyright 2008 Roland Schwarz
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Boost library support module.
-# 
-# This module allows to use the boost library from boost-build projects.
-# The location of a boost source tree or the path to a pre-built
-# version of the library can be configured from either site-config.jam
-# or user-config.jam. If no location  is configured the module looks for
-# a BOOST_ROOT environment variable, which should point to a boost source
-# tree. As a last resort it tries to use pre-built libraries from the standard
-# search path of the compiler.
-#
-# If the location to a source tree is known, the module can be configured 
-# from the *-config.jam files:
-#
-# using boost : 1.35 : <root>/path-to-boost-root ;
-#
-# If the location to a pre-built version is known:
-#
-# using boost : 1.34 
-#   : <include>/usr/local/include/boost_1_34 
-#     <library>/usr/local/lib
-#   ;
-#
-# It is legal to configure more than one boost library version in the config
-# files. The version identifier is used to disambiguate between them.
-# The first configured version becomes the default.
-#
-# To use a boost library you need to put a 'use' statement into your
-# Jamfile:
-#
-# import boost ;
-#
-# boost.use-project 1.35 ;
-#
-# If you don't care about a specific version you just can omit the version
-# part, in which case the default is picked up:
-#
-# boost.use-project ;
-#
-# The library can be referenced with the project identifier '/boost'. To 
-# reference the program_options you would specify:
-#
-# exe myexe : mysrc.cpp : <library>/boost//program_options ;
-#
-# Note that the requirements are automatically transformed into suitable
-# tags to find the correct pre-built library.
-#
-
-import modules ;
-import errors ;
-import project ;
-import string ;
-import toolset ;
-import property-set ;
-import regex ;
-import common ;
-import option ;
-import numbers ;
-
-.boost.auto_config = [ property-set.create <layout>system ] ;
-
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-    .debug-configuration = true ;
-}
-
-# Configuration of the boost library to use.
-#
-# This can either be a boost source tree or
-# pre-built libraries. The 'version' parameter must be a valid boost
-# version number, e.g. 1.35, if specifying a pre-built version with
-# versioned layout. It may be a symbolic name, e.g. 'trunk' if specifying
-# a source tree. The options are specified as named parameters (like
-# properties). The following paramters are available:
-#
-# <root>/path-to-boost-root: Specify a source tree.
-#
-# <include>/path-to-include: The include directory to search.
-#
-# <library>/path-to-library: The library directory to search.
-# 
-# <layout>system or <layout>versioned.
-# 
-# <build-id>my_build_id: The custom build id to use.
-#
-rule init 
-( 
-    version     # Version identifier.
-    : options * # Set the option properties.
-)
-{
-    if $(.boost.$(version)) {
-        errors.user-error 
-            "Boost " $(version) "already configured." ;
-    }
-    else {
-        if $(.debug-configuration) {
-            if ! $(.boost_default) {
-                echo notice: configuring default boost library $(version) ;
-            }
-            echo notice: configuring boost library $(version) ;
-        }
-        .boost_default ?= $(version) ; # the first configured is default
-        .boost.$(version) = [ property-set.create $(options) ] ;
-    }
-}
-
-# Use a certain version of the library.
-#
-# The use-project rule causes the module to define a boost project of
-# searchable pre-built boost libraries, or references a source tree
-# of the boost library. If the 'version' parameter is omitted either
-# the configured default (first in config files) is used or an auto
-# configuration will be attempted.
-# 
-rule use-project 
-( 
-    version ? # The version of the library to use.
-)
-{
-    project.push-current [ project.current ] ;
-    version ?= $(.boost_default) ;
-    version ?= auto_config ;
-    
-    if $(.initialized) {
-        if $(.initialized) != $(version) {
-            errors.user-error
-                "Attempt to use" $(__name__) "with different parameters" ;
-        }
-    }
-    else {
-        if $(.boost.$(version)) {
-            local opt  = $(.boost.$(version)) ;
-            local root = [ $(opt).get <root> ] ;
-            local inc  = [ $(opt).get <include> ] ;
-            local lib  = [ $(opt).get <library> ] ;
-            
-            if $(.debug-configuration) {
-                echo notice: using boost library $(version) [ $(opt).raw ] ;
-            }
-            
-            .layout = [ $(opt).get <layout> ] ;
-            .layout ?= versioned ;
-            .build_id = [ $(opt).get <build-id> ] ;
-            .version_tag = [ regex.replace $(version) "[*\\/:.\"\' ]" "_" ] ;
-            .initialized = $(version) ;
-
-            if  ( $(root) && $(inc) ) 
-                || ( $(root) && $(lib) )
-                || ( $(lib) && ! $(inc) )
-                || ( ! $(lib) && $(inc) ) {
-                errors.user-error
-                    "Ambiguous parameters,"
-                    "use either <root> or <inlude> with <library>." ;
-            }
-            else if ! $(root) && ! $(inc) {
-                root = [ modules.peek : BOOST_ROOT ] ;
-            }
-
-            local prj = [ project.current ] ;
-            local mod = [ $(prj).project-module ] ;
-
-            if $(root) {
-                modules.call-in $(mod) : use-project boost : $(root) ;
-            }
-            else {
-                project.initialize $(__name__) ;
-                # It is possible to overide the setup of the searched
-                # libraries per version. The (unlikely) tag 0.0.1 is
-                # meant as an example template only.
-                switch $(version) {
-                    case 0.0.1 : boost_0_0_1 $(inc) $(lib) ;
-                    case *    : boost_std $(inc) $(lib) ;
-                }
-            }
-        }
-        else {
-            errors.user-error 
-                "Reference to unconfigured boost version." ;
-        }
-    }
-    project.pop-current ;
-}
-
-rule boost_std ( inc ? lib ? )
-{
-#   The default definitions for pre-built libraries.
-
-    project boost
-        : usage-requirements <include>$(inc) <define>BOOST_ALL_NO_LIB
-        : requirements <tag>@tag_std <search>$(lib)
-        ;
-
-    alias headers ;
-    lib date_time        : : : : 
-        <link>shared:<define>BOOST_DATE_TIME_DYN_LINK ;
-    lib filesystem       : : : : 
-        <link>shared:<define>BOOST_FILE_SYSTEM_DYN_LINK ;
-    lib graph            : : : : 
-        <link>shared:<define>BOOST_GRAPH_DYN_LINK ;
-    lib graph_parallel   : : : : 
-        <link>shared:<define>BOOST_GRAPH_DYN_LINK ;
-    lib iostreams        : : : :
-        <link>shared:<define>BOOST_IOSTREAMS_DYN_LINK ;
-    lib math_tr1         : : : :
-        <link>shared:<define>BOOST_MATH_TR1_DYN_LINK ;
-    lib math_tr1f         : : : :
-        <link>shared:<define>BOOST_MATH_TR1_DYN_LINK ;
-    lib math_tr1l        : : : :
-        <link>shared:<define>BOOST_MATH_TR1_DYN_LINK ;
-    lib math_c99         : : : :
-        <link>shared:<define>BOOST_MATH_TR1_DYN_LINK ;
-    lib math_c99f         : : : :
-        <link>shared:<define>BOOST_MATH_TR1_DYN_LINK ;
-    lib math_c99l        : : : :
-        <link>shared:<define>BOOST_MATH_TR1_DYN_LINK ;
-    lib mpi              : : : : 
-        <link>shared:<define>BOOST_MPI_DYN_LINK  ;    
-    lib program_options  : : : : 
-        <link>shared:<define>BOOST_PROGRAM_OPTIONS_DYN_LINK ;
-    lib python           : : : : 
-        <link>shared:<define>BOOST_PYTHON_DYN_LINK ;
-    lib random           : : : :
-        <link>shared:<define>BOOST_RANDOM_DYN_LINK ;
-    lib regex            : : : : 
-        <link>shared:<define>BOOST_REGEX_DYN_LINK  ;
-    lib serialization    : : : :
-        <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK ;
-    lib wserialization   : : : :
-        <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK ;
-    lib signals          : : : : 
-        <link>shared:<define>BOOST_SIGNALS_DYN_LINK  ;
-    lib system           : : : : 
-        <link>shared:<define>BOOST_SYSTEM_DYN_LINK  ;
-    lib unit_test_framework : : : : 
-        <link>shared:<define>BOOST_TEST_DYN_LINK  ;
-    lib prg_exec_monitor : : : :
-        <link>shared:<define>BOOST_TEST_DYN_LINK ;
-    lib test_exec_monitor : : : :
-        <link>shared:<define>BOOST_TEST_DYN_LINK ;
-    lib thread           : : : : 
-        <link>shared:<define>BOOST_THREAD_DYN_DLL  ;
-    lib wave             : : : : 
-        <link>shared:<define>BOOST_WAVE_DYN_LINK  ;
-}
-
-rule boost_0_0_1 ( inc ? lib ? )
-{
-    echo "You are trying to use an example placeholder for boost libs." ;
-    # Copy this template to another place (in the file boost.jam)
-    # and define a project and libraries modelled after the
-    # boost_std rule. Please note that it is also possible to have
-    # a per version taging rule in case they are different between
-    # versions.
-}
-
-rule tag_std ( name : type ? : property-set )
-{
-    name = boost_$(name) ;
-    if  ( [ $(property-set).get <link> ] in static ) &&
-        ( [ $(property-set).get <target-os> ] in windows )
-    {
-        name = lib$(name) ;
-    }
-
-    local result ;
-    if $(.layout) = system
-    {
-        local version = [ MATCH ^([0-9]+)_([0-9]+) : $(.version_tag) ] ;
-        if $(version[1]) = "1" && [ numbers.less $(version[2]) 39 ]
-        {
-            result = [ tag_tagged $(name) : $(type) : $(property-set) ] ;
-        }
-        else
-        {
-            result = [ tag_system $(name) : $(type) : $(property-set) ] ;
-        }
-    }
-    else if $(.layout) = tagged
-    {
-        result = [ tag_tagged $(name) : $(type) : $(property-set) ] ;
-    }
-    else if $(.layout) = versioned
-    {
-        result = [ tag_versioned $(name) : $(type) : $(property-set) ] ;
-    }
-    else
-    {
-        errors.error "Missing layout" ;
-    }
-
-    return $(result) ;
-}
-
-rule tag_system ( name : type ? : property-set )
-{
-    return [ common.format-name
-             <base> 
-             -$(.build_id)
-             : $(name) : $(type) : $(property-set) ] ;
-}
-
-rule tag_tagged ( name : type ? : property-set )
-{
-    return [ common.format-name
-             <base> <threading> <runtime>
-             -$(.build_id)
-             : $(name) : $(type) : $(property-set) ] ; 
-}
-
-rule tag_versioned ( name : type ? : property-set )
-{
-    return [ common.format-name
-             <base> <toolset> <threading> <runtime> -$(.version_tag)
-             -$(.build_id)
-             : $(name) : $(type) : $(property-set) ] ;
-}
diff --git a/SRC/Boost/tools/build/v2/contrib/tntnet.jam b/SRC/Boost/tools/build/v2/contrib/tntnet.jam
deleted file mode 100755
index 687b09b..0000000
--- a/SRC/Boost/tools/build/v2/contrib/tntnet.jam
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright 2008 Eduardo Gurgel
-#
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-#
-
-# Support for creating components for the Tntnet web application
-# server (http://tntnet.org)
-#
-# Example:
-#
-#   using tntnet : /usr ;
-#   lib index : index.png index.js index.css index.ecpp otherclass.cpp
-#   /tntnnet//tntnet /tntnet//cxxtools ;
-#
-#
-
-import modules ;
-import feature ;
-import errors ;
-import "class" : new ;
-import generators ;
-import project ;
-import toolset : flags ;
-import os ;
-import virtual-target ;
-import scanner ;
-import type ;
-
-type.register ECPP : ecpp ;
-type.register JPEG : jpeg ;
-type.register JPG : jpg ;
-type.register PNG : png ;
-type.register JS : js ;
-type.register CSS : css ;
-type.register GIF : gif ;
-
-project.initialize $(__name__) ;
-project tntnet ;
-
-# Save the project so that we tolerate 'import + using' combo.
-.project = [ project.current ] ;
-# Initialized the Tntnet support module. The 'prefix' parameter 
-# tells where Tntnet is installed.
-rule init ( prefix : full_bin ? : full_inc ? : full_lib ? )
-{
-    project.push-current $(.project) ;
-
-    # pre-build paths to detect reinitializations changes
-    local inc_prefix lib_prefix bin_prefix ;
-    if $(full_inc)
-    {
-        inc_prefix = $(full_inc) ; 
-    }
-    else
-    {
-        inc_prefix = $(prefix)/include ;
-    }
-    if $(full_lib)
-    {
-        lib_prefix = $(full_lib) ;
-    }
-    else
-    {
-        lib_prefix = $(prefix)/lib ;
-    }
-    if $(full_bin)
-    {
-        bin_prefix = $(full_bin) ;
-    }
-    else
-    {
-        bin_prefix = $(prefix)/bin ;
-    }
-
-    if $(.initialized)
-    {
-        if $(prefix) != $(.prefix)
-        {
-            errors.error
-                "Attempt the reinitialize Tntnet with different installation prefix" ;
-        }
-        if $(inc_prefix) != $(.incprefix)
-        {
-            errors.error
-                "Attempt the reinitialize Tntnet with different include path" ;
-        }
-        if $(lib_prefix) != $(.libprefix)
-        {
-            errors.error
-                "Attempt the reinitialize Tntnet with different library path" ;
-        }
-        if $(bin_prefix) != $(.binprefix)
-        {
-            errors.error
-                "Attempt the reinitialize Tntnet with different bin path" ;
-        }
-    }
-    else
-    {
-        .initialized = true ;
-        .prefix = $(prefix) ;
-
-        # Setup prefixes for include, binaries and libs.
-        .incprefix = $(.prefix)/include ;
-        .libprefix = $(.prefix)/lib ;
-        .binprefix = $(.prefix)/bin ;
-
-        # Generates cpp files from ecpp files using "ecppc" tool
-        generators.register-standard tntnet.ecpp : ECPP : CPP ;
-        # Generates cpp files from jpeg files using "ecppc" tool
-        generators.register-standard tntnet.jpeg : JPEG : CPP ;
-        # Generates cpp files from jpg files using "ecppc" tool
-        generators.register-standard tntnet.jpg : JPG : CPP ;
-        # Generates cpp files from png files using "ecppc" tool
-        generators.register-standard tntnet.png : PNG : CPP ;
-        # Generates cpp files from js files using "ecppc" tool
-        generators.register-standard tntnet.js : JS : CPP ;
-        # Generates cpp files from gif files using "ecppc" tool
-        generators.register-standard tntnet.gif : GIF : CPP ;
-        # Generates cpp files from css files using "ecppc" tool
-        generators.register-standard tntnet.css : CSS : CPP ;
-      	# Scanner for ecpp includes
-        type.set-scanner ECPP : ecpp-scanner ;
-
-	
-	local usage-requirements =
-		<include>$(.incprefix)
-		<library-path>$(.libprefix)
-		<dll-path>$(.libprefix)
-		<threading>multi
-		<allow>tntnet ;
-	lib cxxtools : $(main)
-		:
-		:
-		: 
-		<include>$(.incprefix)/cxxtools
-		$(usage-requiriments) 
-		;
-	lib tntnet : $(main)
-		:
-		:
-		: 
-		<include>$(.incprefix)/tntnet
-		$(usage-requiriments)
-		;
-		
-    }
-    project.pop-current ;
-
-}
-
-rule directory
-{
-    return $(.prefix) ;
-}
-
-rule initialized ( )
-{
-    return $(.initialized) ;
-}
-
-# Get <include> from current toolset.
-flags tntnet.ecpp INCLUDES <include> ;
-
-actions ecpp
-{
-	$(.binprefix)/ecppc -I " $(INCLUDES) " -o $(<) $(>)
-}
-
-actions jpeg
-{
-	$(.binprefix)/ecppc -b -m image/jpeg -o $(<) $(>)
-}
-
-actions jpg
-{
-	$(.binprefix)/ecppc -b -m image/jpeg -o $(<) $(>)
-}
-
-actions js
-{
-	$(.binprefix)/ecppc -b -m application/x-javascript -o $(<) $(>)
-}
-
-actions png
-{
-	$(.binprefix)/ecppc -b -m image/png -o $(<) $(>)
-}
-actions gif
-{
-	$(.binprefix)/ecppc -b -m image/gif -o $(<) $(>)
-}
-actions css
-{
-	$(.binprefix)/ecppc -b -m text/css -o $(<) $(>)
-}
-
-class ecpp-scanner : common-scanner
-{
-	rule pattern ( )
-	{
-		return  "<%include.*>(.*)</%include>" ;
-	}
-}
-
-scanner.register ecpp-scanner : include ;
diff --git a/SRC/Boost/tools/build/v2/contrib/wxFormBuilder.jam b/SRC/Boost/tools/build/v2/contrib/wxFormBuilder.jam
deleted file mode 100755
index 8dd6e3f..0000000
--- a/SRC/Boost/tools/build/v2/contrib/wxFormBuilder.jam
+++ /dev/null
@@ -1,195 +0,0 @@
-################################################################################
-#
-# Copyright (c) 2007-2008 Dario Senic, Jurko Gospodnetic.
-#
-# Use, modification and distribution is subject to the Boost Software
-# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-# http://www.boost.org/LICENSE_1_0.txt)
-#
-################################################################################
-
-################################################################################
-#
-#   Boost Build wxFormBuilder generator tool module.
-#
-#   wxFormBuilder is a GUI designer tool for the wxWidgets library. It can then
-# generate C++ sources modeling the designed GUI using the wxWidgets library
-# APIs.
-#
-#   This module defines a wxFormBuilder project file type and rules needed to
-# generate C++ source files from those projects. With it you can simply list
-# wxFormBuilder projects as sources for some target and Boost Build will
-# automatically convert them to C++ sources and process from there.
-#
-#   The wxFormBuilder executable location may be provided as a parameter when
-# configuring this toolset. Otherwise the default wxFormBuilder.exe executable
-# name is used located in the folder pointed to by the WXFORMBUILDER environment
-# variable.
-#
-#   Current limitations:
-#
-#   * Works only on Windows.
-#   * Works only when run via Boost Jam using the native Windows cmd.exe command
-#     interpreter, i.e. the default native Windows Boost Jam build.
-#   * Used wxFormBuilder projects need to have their output file names defined
-#     consistently with target names assumed by this build script. This means
-#     that their target names must use the prefix 'wxFormBuilderGenerated_' and
-#     have no output folder defined where the base name is equal to the .fpb
-#     project file's name.
-#
-################################################################################
-
-################################################################################
-#
-# Implementation note:
-#
-#   Avoiding the limitation on the generated target file names can be done but
-# would require depending on external tools to copy the wxFormBuilder project to
-# a temp location and then modify it in-place to set its target file names. On
-# the other hand wxFormBuilder is expected to add command-line options for
-# choosing the target file names from the command line which will allow us to
-# remove this limitation in a much cleaner way.
-#                                                    (23.08.2008.) (Jurko)
-#
-################################################################################
-
-import generators ;
-import os         ;
-import path       ;
-import toolset    ;
-import type       ;
-
-
-################################################################################
-#
-# wxFormBuilder.generate()
-# ------------------------
-#
-#   Action for processing WX_FORM_BUILDER_PROJECT types.
-#
-################################################################################
-#
-# Implementation notes:
-#
-#   wxFormBuilder generated CPP and H files need to be moved to the location
-# where the Boost Build target system expects them so that the generated CPP
-# file can be included into the compile process and that the clean rule
-# succesfully deletes both CPP and H files. We expect wxFormBuilder to generate
-# files in the same location where the provided WX_FORM_BUILDER_PROJECT file is
-# located.
-#                                                    (15.05.2007.) (Dario)
-#
-################################################################################
-
-actions generate
-{
-    start "" /wait "$(EXECUTABLE)" /g "$(2)"
-    move "$(1[1]:BSR=$(2:P))" "$(1[1]:P)"
-    move "$(1[2]:BSR=$(2:P))" "$(1[2]:P)"
-}
-
-
-################################################################################
-#
-# wxFormBuilder.init()
-# --------------------
-#
-#   Main toolset initialization rule called via the toolset.using rule.
-#
-################################################################################
-
-rule init ( executable ? )
-{
-    if $(.initialized)
-    {
-        if $(.debug-configuration)
-        {
-            ECHO notice: [wxFormBuilder-cfg] Repeated initialization request
-                (executable \"$(executable:E="")\") detected and ignored. ;
-        }
-    }
-    else
-    {
-        local environmentVariable = WXFORMBUILDER ;
-
-        if $(.debug-configuration)
-        {
-            ECHO notice: [wxFormBuilder-cfg] Configuring wxFormBuilder... ;
-        }
-
-        # Deduce the path to the used wxFormBuilder executable.
-        if ! $(executable)
-        {
-            executable = "wxFormBuilder.exe" ;
-            local executable-path = [ os.environ $(environmentVariable) ] ;
-            if $(executable-path)-is-not-empty
-            {
-                executable = [ path.root $(executable) $(executable-path) ] ;
-            }
-            else if $(.debug-configuration)
-            {
-                ECHO notice: [wxFormBuilder-cfg] No wxFormBuilder path
-                    configured either explicitly or using the
-                    $(environmentVariable) environment variable. ;
-                ECHO notice: [wxFormBuilder-cfg] To avoid complications please
-                    update your configuration to includes a correct path to the
-                    wxFormBuilder executable. ;
-                ECHO notice: [wxFormBuilder-cfg] wxFormBuilder executable will
-                    be searched for on the system path. ;
-            }
-        }
-        if $(.debug-configuration)
-        {
-            ECHO notice: [wxFormBuilder-cfg] Will use wxFormBuilder executable
-                \"$(executable)\". ;
-        }
-
-        # Now we are sure we have everything we need to initialize this toolset.
-        .initialized = true ;
-
-        # Store the path to the used wxFormBuilder executable.
-        .executable = $(executable) ;
-
-        # Type registration.
-        type.register WX_FORM_BUILDER_PROJECT : fbp ;
-
-        # Parameters to be forwarded to the action rule.
-        toolset.flags wxFormBuilder.generate EXECUTABLE : $(.executable) ;
-
-        # Generator definition and registration.
-        generators.register-standard wxFormBuilder.generate :
-            WX_FORM_BUILDER_PROJECT : CPP(wxFormBuilderGenerated_%)
-            H(wxFormBuilderGenerated_%) ;
-    }
-}
-
-
-################################################################################
-#
-# wxFormBuilder.is-initialized()
-# ------------------------------
-#
-#   Returns whether this toolset has been initialized.
-#
-################################################################################
-
-rule is-initialized ( )
-{
-    return $(.initialized) ;
-}
-
-
-################################################################################
-#
-#   Startup code executed when loading this module.
-#
-################################################################################
-
-# Global variables for this module.
-.executable = ;
-.initialized = ;
-
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-    .debug-configuration = true ;
-}
diff --git a/SRC/Boost/tools/build/v2/debian/boost-build.docs b/SRC/Boost/tools/build/v2/debian/boost-build.docs
deleted file mode 100755
index 4cf6c7a..0000000
--- a/SRC/Boost/tools/build/v2/debian/boost-build.docs
+++ /dev/null
@@ -1,4 +0,0 @@
-boost_build_v2.html
-index_v2.html
-boost.png
-doc
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/debian/boost-build.examples b/SRC/Boost/tools/build/v2/debian/boost-build.examples
deleted file mode 100755
index e5a7b8d..0000000
--- a/SRC/Boost/tools/build/v2/debian/boost-build.examples
+++ /dev/null
@@ -1 +0,0 @@
-example/*
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/debian/changelog b/SRC/Boost/tools/build/v2/debian/changelog
deleted file mode 100755
index fd47d25..0000000
--- a/SRC/Boost/tools/build/v2/debian/changelog
+++ /dev/null
@@ -1,6 +0,0 @@
-boost-build (2.0.m10-1) unstable; urgency=low
-
-  * Initial Release.
-
- -- Vladimir Prus <ghost at cs.msu.su>  Wed, 14 Aug 2002 14:08:00 +0400
-
diff --git a/SRC/Boost/tools/build/v2/debian/conffiles b/SRC/Boost/tools/build/v2/debian/conffiles
deleted file mode 100755
index fbbb6b6..0000000
--- a/SRC/Boost/tools/build/v2/debian/conffiles
+++ /dev/null
@@ -1 +0,0 @@
-/etc/site-config.jam
diff --git a/SRC/Boost/tools/build/v2/debian/control b/SRC/Boost/tools/build/v2/debian/control
deleted file mode 100755
index 5b0d836..0000000
--- a/SRC/Boost/tools/build/v2/debian/control
+++ /dev/null
@@ -1,13 +0,0 @@
-Source: boost-build
-Section: devel
-Priority: optional
-Maintainer: Vladimir Prus <ghost at cs.msu.su>
-Build-Depends: debhelper (>> 3.0.0), docbook-to-man, bison
-Standards-Version: 3.5.2
-
-Package: boost-build
-Architecture: all
-Depends: ${shlibs:Depends}, bjam (>> 3.1.9-1)
-Description: Build system
- Boost.Build is a build system with a simple and high-level language.   
- It supports build variants, and several different compilers and tools. 
diff --git a/SRC/Boost/tools/build/v2/debian/copyright b/SRC/Boost/tools/build/v2/debian/copyright
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/debian/excludes b/SRC/Boost/tools/build/v2/debian/excludes
deleted file mode 100755
index 65bbf16..0000000
--- a/SRC/Boost/tools/build/v2/debian/excludes
+++ /dev/null
@@ -1,14 +0,0 @@
-boost.css
-boost_build_v2.html
-index_v2.html
-boost.png
-generators_prototype.py
-hacking.txt
-release_procedure.txt
-site-config.jam
-roll.sh
-debian
-doc
-example
-test
-CVS
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/debian/rules b/SRC/Boost/tools/build/v2/debian/rules
deleted file mode 100755
index cee86fe..0000000
--- a/SRC/Boost/tools/build/v2/debian/rules
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/make -f
-# Sample debian/rules that uses debhelper.
-# This file is public domain software, originally written by Joey Hess. 
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-build:
-clean:
-binary-arch: 
-
-binary-indep: 
-	dh_testdir
-	dh_testroot
-
-	dh_clean -k
-	dh_installdirs usr/share/boost-build etc
-
-	# Add here commands to install the package into debian/<packagename>
-	(tar --exclude-from debian/excludes -cpf - * ) | (cd `pwd`/debian/tmp/usr/share/boost-build && tar xpf - )
-	chmod a-x -R `pwd`/debian/tmp/usr/share/boost-build
-
-	dh_installchangelogs
-	dh_installdocs -XCVS
-	mv `pwd`/debian/tmp/usr/share/doc/boost-build/index_v2.html `pwd`/debian/tmp/usr/share/doc/boost-build/index.html 
-
-	(tar --exclude make --exclude CVS -cpf - example/* ) | ( cd `pwd`/debian/tmp/usr/share/doc/boost-build && tar xpf - )
-
-	sed 's/#  using gcc ;/using gcc ;/' user-config.jam > `pwd`/debian/tmp/etc/site-config.jam
-
-#	dh_install
-#	dh_installmenu
-#	dh_installdebconf	
-#	dh_installlogrotate
-#	dh_installemacsen
-#	dh_installcatalogs
-#	dh_installpam
-#	dh_installmime
-#	dh_installinit
-#	dh_installcron
-#	dh_installinfo
-#	dh_undocumented
-	dh_installman
-	dh_link
-	dh_compress
-	dh_fixperms
-#	dh_perl
-#	dh_python
-#	dh_makeshlibs
-	dh_installdeb
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install
diff --git a/SRC/Boost/tools/build/v2/doc/bjam.qbk b/SRC/Boost/tools/build/v2/doc/bjam.qbk
deleted file mode 100755
index b7beed5..0000000
--- a/SRC/Boost/tools/build/v2/doc/bjam.qbk
+++ /dev/null
@@ -1,1696 +0,0 @@
-[article Boost.Jam
-    [quickbook 1.3]
-    [version: 3.1.19]
-    [authors [Rivera, Rene], [Abrahams, David], [Prus, Vladimir]]
-    [copyright 2003 2004 2005 2006 2007 Rene Rivera, David Abrahams, Vladimir Prus]
-    [category tool-build]
-    [id jam]
-    [dirname jam]
-    [purpose
-        Jam is a make(1) replacement that makes building simple things simple 
-        and building complicated things manageable.
-    ]
-    [license
-        Distributed under the Boost Software License, Version 1.0.
-        (See accompanying file LICENSE_1_0.txt or copy at
-        [@http://www.boost.org/LICENSE_1_0.txt])
-    ]
-]
-
-[/ QuickBook Document version 1.3 ]
-
-[/ Shortcuts ]
-
-[def :version: 3.1.19]
-
-[/ Images ]
-
-[def :NOTE:                 [$images/note.png]]
-[def :ALERT:                [$images/caution.png]]
-[def :DETAIL:               [$images/note.png]]
-[def :TIP:                  [$images/tip.png]]
-
-[/ Links ]
-
-[def :Boost:                [@http://www.boost.org Boost]]
-[def :Perforce_Jam:         [@http://www.perforce.com/jam/jam.html Perforce Jam]]
-
-[/ Templates ]
-
-[template literal[text]'''<literallayout><literal>'''[text]'''</literal></literallayout>''']
-[template list[items]'''<itemizedlist>'''[items]'''</itemizedlist>''']
-[template orderedlist[items]'''<orderedlist>'''[items]'''</orderedlist>''']
-[template li[text]'''<listitem>'''[text]'''</listitem>''']
-[template lines[items]'''<simplelist type='vert' columns='1'>'''[items]'''</simplelist>''']
-[template line[text]'''<member>'''[text]'''</member>''']
-
-[section:building Building BJam]
-
-Installing =BJam= after building it is simply a matter of copying the
-generated executables someplace in your =PATH=. For building the executables
-there are a set of =build= bootstrap scripts to accomodate particular
-environments. The scripts take one optional argument, the name of the toolset
-to build with. When the toolset is not given an attempt is made to detect an
-available toolset and use that. The build scripts accept these arguments:
-
-[pre
-/build/ \[/toolset/\]
-]
-
-Running the scripts without arguments will give you the best chance of success. On Windows platforms from a command console do:
-
-[pre
-cd /jam source location/
-.\\build.bat
-]
-
-On Unix type platforms do:
-
-[pre
-cd /jam source location/
-sh ./build.sh
-]
-
-For the Boost.Jam source included with the Boost distribution the /jam source location/ is =BOOST_ROOT/tools/jam/src=.
-
-If the scripts fail to detect an appropriate toolset to build with your particular toolset may not be auto-detectable. In that case, you can specify the toolset as the first argument, this assumes that the toolset is readily available in the =PATH=.
-
-[note
-The toolset used to build Boost.Jam is independent of the toolsets used for Boost.Build. Only one version of Boost.Jam is needed to use Boost.Build.
-]
-
-The supported toolsets, and whether they are auto-detected, are:
-
-[table Supported Toolsets
-
-[[Script] [Platform] [Toolset] [Detection and Notes]]
-
-[   [=build.bat=] [Windows NT, 2000, and XP]
-    [[lines
-        [line [@http://www.codegear.com/downloads/free/cppbuilder =borland=]]
-        [line [@http://www.borland.com/ Borland] C++Builder (BCC 5.5)]
-        ]]
-    [[list
-        [li Common install location: "=C:\Borland\BCC55="]
-        [li =BCC32.EXE= in =PATH=]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://www.comeaucomputing.com/ =como=]]
-        [line Comeau Computing C/C++]
-        ]]
-    []
-]
-
-[   [] []
-    [[lines
-        [line [@http://gcc.gnu.org/ =gcc=]]
-        [line GNU GCC]
-        ]]
-    []
-]
-
-[   [] []
-    [[lines
-        [line [@http://gcc.gnu.org/ =gcc-nocygwin=]]
-        [line GNU GCC]
-        ]]
-    []
-]
-
-[   [] []
-    [[lines
-        [line [@http://www.intel.com/software/products/compilers/c60 =intel-win32=]]
-        [line Intel C++ Compiler for Windows]
-        ]]
-    [[list
-        [li =ICL.EXE= in =PATH=]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://www.metrowerks.com/ =metrowerks=]]
-        [line MetroWerks CodeWarrior C/C++ 7.x, 8.x, 9.x]
-        ]]
-    [[list
-        [li =CWFolder= variable configured]
-        [li =MWCC.EXE= in =PATH=]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://www.mingw.org/ =mingw=]]
-        [line GNU [@http://gcc.gnu.org/ GCC] as the [@http://www.mingw.org/ MinGW] configuration]
-        ]]
-    [[list
-        [li Common install location: "=C:\MinGW="]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://msdn.microsoft.com/visualc/ =msvc=]]
-        [line Microsoft Visual C++ 6.x]
-        ]]
-    [[list
-        [li =VCVARS32.BAT= already configured]
-        [li =%MSVCDir%= is present in environment]
-        [li Common install locations: "=%ProgramFiles%\Microsoft Visual Studio=", "=%ProgramFiles%\Microsoft Visual C++="]
-        [li =CL.EXE= in =PATH=]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://msdn.microsoft.com/visualc/ =vc7=]]
-        [line Microsoft Visual C++ 7.x]
-        ]]
-    [[list
-        [li =VCVARS32.BAT= or =VSVARS32.BAT= already configured]
-        [li =%VS71COMNTOOLS%= is present in environment]
-        [li =%VCINSTALLDIR%= is present in environment]
-        [li Common install locations: "=%ProgramFiles%\Microsoft Visual Studio .NET=", "=%ProgramFiles%\Microsoft Visual Studio .NET 2003="]
-        [li =CL.EXE= in =PATH=]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://msdn.microsoft.com/visualc/ =vc8= and =vc9=]]
-        [line Microsoft Visual C++ 8.x and 9.x]
-        ]]
-    [Detection:
-        [list
-            [li =VCVARSALL.BAT= already configured]
-            [li =%VS90COMNTOOLS%= is present in environment]
-            [li Common install location: "=%ProgramFiles%\Microsoft Visual Studio 9="]
-            [li =%VS80COMNTOOLS%= is present in environment]
-            [li Common install location: "=%ProgramFiles%\Microsoft Visual Studio 8="]
-            [li =CL.EXE= in =PATH=]
-            ]
-    
-    Notes:
-        [list
-            [li If =VCVARSALL.BAT= is called to set up the toolset, it is passed all the extra arguments, see below for what those arguments are. This can be used to build, for example, a Win64 specific version of =bjam=. Consult the VisualStudio documentation for what the possible argument values to the =VCVARSALL.BAT= are.]
-            ]
-        ]
-]
-
-[   [=build.sh=] [Unix, Linux, Cygwin, etc.]
-    [[lines
-        [line [@http://www.hp.com/go/c++ =acc=]]
-        [line HP-UX aCC]
-        ]]
-    [[list
-        [li =aCC= in =PATH=]
-        [li =uname= is "HP-UX"]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://www.comeaucomputing.com/ =como=]]
-        [line Comeau Computing C/C++]
-        ]]
-    [[list
-        [li como in =PATH=]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://gcc.gnu.org/ =gcc=]]
-        [line GNU GCC]
-        ]]
-    [[list
-        [li gcc in =PATH=]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://www.intel.com/software/products/compilers/c60l/ =intel-linux=]]
-        [line Intel C++ for Linux]
-        ]]
-    [[list
-        [li =icc= in =PATH=]
-        [li Common install locations: "=/opt/intel/cc/9.0=", "=/opt/intel_cc_80=", "=/opt/intel/compiler70=", "=/opt/intel/compiler60=", "=/opt/intel/compiler50="]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line =kcc=]
-        [line Intel KAI C++]
-        ]]
-    [[list
-        [li =KCC= in =PATH=]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://www.codegear.com/downloads/free/cppbuilder =kylix=]]
-        [line [@http://www.borland.com/ Borland] C++Builder]
-        ]]
-    [[list
-        [li bc++ in PATH]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://www.sgi.com/developers/devtools/languages/mipspro.html =mipspro=]]
-        [line SGI MIPSpro C]
-        ]]
-    [[list
-        [li =uname= is "=IRIX=" or "=IRIX64="]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line =sunpro=]
-        [line Sun Workshop 6 C++]
-        ]]
-    [[list
-        [li Standard install location: "=/opt/SUNWspro="]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line =qcc=]
-        [line [@http://www.qnx.com/ QNX Neutrino]]
-        ]]
-    [[list
-        [li =uname= is "=QNX=" and =qcc= in =PATH=]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://www.tru64unix.compaq.com/cplus/ =true64cxx=]]
-        [line Compaq C++ Compiler for True64 UNIX]
-        ]]
-    [[list
-        [li =uname= is "=OSF1="]
-        ]]
-]
-
-[   [] []
-    [[lines
-        [line [@http://www.ibm.com/software/awdtools/vacpp/ =vacpp=]]
-        [line IBM VisualAge C++]
-        ]]
-    [[list
-        [li =xlc= in =PATH=]
-        ]]
-]
-
-[   [] [MacOS X]
-    [[lines
-        [line [@http://developer.apple.com/tools/compilers.html =darwin=]]
-        [line Apple MacOS X GCC]
-        ]]
-    [[list
-        [li =uname= is "=Darwin="]
-        ]]
-]
-
-[   [] [Windows NT, 2000, and XP]
-    [[lines
-        [line [@http://www.mingw.org/ =mingw=]]
-        [line GNU [@http://gcc.gnu.org/ GCC] as the [@http://www.mingw.org/ MinGW] configuration with the MSYS shell]
-        ]]
-    [[list
-        [li Common install location: "=/mingw="]
-        ]]
-]
-
-]
-
-The built executables are placed in a subdirectory specific to your platform. For example, in Linux running on an Intel x86 compatible chip, the executables are placed in: "=bin.linuxx86=". The =bjam[.exe]= executable can be used to invoke Boost.Build.
-
-The build scripts support additional invocation arguments for use by developers of Boost.Jam and for additional setup of the toolset. The extra arguments come after the toolset:
-
-* Arguments not in the form of an option, before option arguments, are used for extra setup to toolset configuration scripts.
-* Arguments of the form "=--option=", which are passed to the =build.jam= build script.
-* Arguments not in the form of an option, after the options, which are targets for the =build.jam= script.
-
-[pre
-/build/ \[/toolset/\] \[/setup/\*\] \[--/option/+ /target/\*\]
-]
-
-The arguments immediately after the toolset are passed directly to the setup script of the toolset, if available and if it needs to be invoked. This allows one to configure the toolset ass needed to do non-default builds of =bjam=. For example to build a Win64 version with =vc8=. See the toolset descriptiona above for when particular toolsets support this.
-
-The arguments starting with the "=--option=" forms are passed to the =build.jam= script and are used to further customize what gets built. Options and targets supported by the =build.jam= script:
-
-[variablelist
-    [[[literal ---]]
-        [Empty option when one wants to only specify a target.]]
-    [[[literal --release]]
-        [The default, builds the optimized executable.]]
-    [[[literal --debug]]
-        [Builds debugging versions of the executable. When built they are placed in their own directory "=bin./platform/.debug=".]]
-    [[[literal --grammar]]
-        [Normally the Jam language grammar parsing files are not regenerated. This forces building of the grammar, although it may not force the regeneration of the grammar parser. If the parser is out of date it will be regenerated and subsequently built.]]
-    [[[literal --with-python=/path/]]
-        [Enables Python integration, given a path to the Python libraries.]]
-    [[[literal --gc]]
-        [Enables use of the Boehm Garbage Collector. The build will look for the Boehm-GC source in a "boehm_gc" subdirectory from the =bjam= sources.]]
-    [[[literal --duma]]
-        [Enables use of the DUMA (Detect Uintended Memory Access) debugging memory allocator. The build expects to find the DUMA source files in a "duma" subdirectory from the =bjam= sources.]]
-    [[[literal --toolset-root=/path/]]
-        [Indicates where the toolset used to build is located. This option is passed in by the bootstrap (=build.bat= or =build.sh=) script.]]
-    [[[literal --show-locate-target]]
-        [For information, prints out where it will put the built executable.]]
-    [[[literal --noassert]]
-        [Disable debug assertions, even if building the debug version of the executable.]]
-    [[[literal dist]]
-        [Generate packages (compressed archives) as appropriate for distribution in the platform, if possible.]]
-    [[[literal clean]]
-        [Remove all the built executables and objects.]]
-]
-
-[endsect]
-
-[section:language Language]
-
-=BJam= has an interpreted, procedural language. Statements in =bjam= are rule (procedure) definitions, rule invocations, flow-of-control structures, variable assignments, and sundry language support.
-
-[section:lexical Lexical Features]
-
-=BJam= treats its input files as whitespace-separated tokens, with two exceptions: double quotes (") can enclose whitespace to embed it into a token, and everything between the matching curly braces ({}) in the definition of a rule action is treated as a single string. A backslash (\\) can escape a double quote, or any single whitespace character.
-
-=BJam= requires whitespace (blanks, tabs, or newlines) to surround all tokens, including the colon (:) and semicolon (;) tokens.
-
-=BJam= keywords (an mentioned in this document) are reserved and generally
-must be quoted with double quotes (") to be used as arbitrary tokens, such as
-variable or target names. 
-
-Comments start with the [^#] character and extend until the end of line.
-
-[endsect]
-
-[section:target Targets]
-
-The essential =bjam= data entity is a target. Build targets are files to be updated. Source targets are the files used in updating built targets. Built targets and source targets are collectively referred to as file targets, and frequently built targets are source targets for other built targets. Pseudotargets are symbols which represent dependencies on other targets, but which are not themselves associated with any real file.
-
-A file target's identifier is generally the file's name, which can be absolutely rooted, relative to the directory of =bjam='s invocation, or simply local (no directory). Most often it is the last case, and the actual file path is bound using the =$(SEARCH)= and =$(LOCATE)= special variables. See [link jam.language.variables.builtins.search SEARCH and LOCATE Variables] below. A local filename is optionally qualified with grist, a string value used to assure uniqueness. A file target with [...]
-
-[section Binding Detection]
-
-Whenever a target is bound to a location in the filesystem, Boost Jam will look for a variable called =BINDRULE= (first "on" the target being bound, then in the global module). If non-empty, =$(BINDRULE[1])= names a rule which is called with the name of the target and the path it is being bound to. The signature of the rule named by =$(BINDRULE[1])= should match the following:
-
-[pre
-rule /bind-rule/ ( /target/ : /path/ )
-]
-
-This facility is useful for correct header file scanning, since many compilers will search for `#include` files first in the directory containing the file doing the `#include` directive. =$(BINDRULE)= can be used to make a record of that directory.
-
-[endsect]
-
-[endsect]
-
-[section:rules Rules]
-
-The basic =bjam= language entity is called a rule. A rule is defined in two parts: the procedure and the actions. The procedure is a body of jam statements to be run when the rule is invoked; the actions are the OS shell commands to execute when updating the built targets of the rule.
-
-Rules can return values, which can be expanded into a list with "[ /rule/ /args/ ... ]". A rule's value is the value of its last statement, though only the following statements have values: 'if' (value of the leg chosen), 'switch' (value of the case chosen), set (value of the resulting variable), and 'return' (value of its arguments). Note that 'return' doesn't actually cause a return, i.e., is a no-op unless it is the last statement of the last block executed within rule body.
-
-The =bjam= statements for defining and invoking rules are as follows:
-
-Define a rule's procedure, replacing any previous definition.
-
-[pre
-rule /rulename/ { /statements/ }
-]
-
-Define a rule's updating actions, replacing any previous definition.
-
-[pre
-actions \[ /modifiers/ \] /rulename/ { /commands/ }
-]
-
-Invoke a rule.
-
-[pre
-/rulename/ /field1/ : /field2/ : /.../ : /fieldN/ ;
-]
-
-Invoke a rule under the influence of target's specific variables..
-
-[pre
-on /target/ /rulename/ /field1/ : /field2/ : /.../ : /fieldN/ ;
-]
-
-Used as an argument, expands to the return value of the rule invoked.
-
-[pre
-\[ /rulename/ /field1/ : /field2/ : /.../ : /fieldN/ \]
-\[ on /target/ /rulename/ /field1/ : /field2/ : /.../ : /fieldN/ \]
-]
-
-A rule is invoked with values in /field1/ through /fieldN/. They may be referenced in the procedure's statements as [^$(1)] through [^$(['N])] (9 max), and the first two only may be referenced in the action's /commands/ as [^$(1)] and [^$(2)]. [^$(<)] and [^$(>)] are synonymous with [^$(1)] and [^$(2)].
-
-Rules fall into two categories: updating rules (with actions), and pure procedure rules (without actions). Updating rules treat arguments [^$(1)] and [^$(2)] as built targets and sources, respectively, while pure procedure rules can take arbitrary arguments.
-
-When an updating rule is invoked, its updating actions are added to those associated with its built targets ([^$(1)]) before the rule's procedure is run. Later, to build the targets in the updating phase, /commands/ are passed to the OS command shell, with [^$(1)] and [^$(2)] replaced by bound versions of the target names. See Binding above.
-
-Rule invocation may be indirected through a variable:
-
-[pre
-$(/var/) /field1/ : /field2/ : /.../ : /fieldN/ ;
-
-on /target/ $(/var/) /field1/ : /field2/ : /.../ : /fieldN/ ;
-
-\[ $(/var/) /field1/ : /field2/ : /.../ : /fieldN/ \]
-\[ on /target/ $(/var/) /field1/ : /field2/ : /.../ : /fieldN/ \]
-]
-
-The variable's value names the rule (or rules) to be invoked. A rule is
-invoked for each element in the list of [^$(/var/)]'s values. The fields
-[^/field1/ : /field2/ : /.../] are passed as arguments for each
-invokation. For the [ ... ] forms, the return value is the concatenation of
-the return values for all of the invocations.
-
-[section Action Modifiers]
-
-The following action modifiers are understood:
-
-[variablelist
-
-[[[^actions bind /vars/]]
- [[^$(/vars/)] will be replaced with bound values.]]
-
-[[[^actions existing]]
- [[^$(>)] includes only source targets currently existing.]]
-
-[[[^actions ignore]]
- [The return status of the commands is ignored.]]
-
-[[[^actions piecemeal]]
- [commands are repeatedly invoked with a subset of [^$(>)] small enough to fit in the command buffer on this OS.]]
-
-[[[^actions quietly]]
- [The action is not echoed to the standard output.]]
-
-[[[^actions together]]
- [The [^$(>)] from multiple invocations of the same action on the same built target are glommed together.]]
-
-[[[^actions updated]]
- [[^$(>)] includes only source targets themselves marked for updating.]]
-
-]
-
-[endsect]
-
-[section Argument lists]
-
-You can describe the arguments accepted by a rule, and refer to them by name within the rule. For example, the following prints "I'm sorry, Dave" to the console:
-
-[pre
-rule report ( pronoun index ? : state : names + )
-{
-    local he.suffix she.suffix it.suffix = s ;
-    local I.suffix = m ;
-    local they.suffix you.suffix = re ;
-    ECHO $(pronoun)'$($(pronoun).suffix) $(state), $(names\[$(index)\]) ;
-}
-report I 2 : sorry : Joe Dave Pete ;
-]
-
-Each name in a list of formal arguments (separated by "=:=" in the rule declaration) is bound to a single element of the corresponding actual argument unless followed by one of these modifiers:
-
-[table
-[[Symbol] [Semantics of preceding symbol]]
-[[=?=] [optional]]
-[[=*=] [Bind to zero or more unbound elements of the actual argument. When =*= appears where an argument name is expected, any number of additional arguments are accepted. This feature can be used to implement "varargs" rules.]]
-[[=+=] [Bind to one or more unbound elements of the actual argument.]]
-]
-
-The actual and formal arguments are checked for inconsistencies, which cause Jam to exit with an error code:
-
-[pre
-### argument error
-# rule report ( pronoun index ?  : state  : names + )
-# called with: ( I 2 foo  : sorry  : Joe Dave Pete )
-# extra argument foo
-### argument error
-# rule report ( pronoun index ?  : state  : names + )
-# called with: ( I 2  : sorry )
-# missing argument names
-]
-
-If you omit the list of formal arguments, all checking is bypassed as in "classic" Jam. Argument lists drastically improve the reliability and readability of your rules, however, and are *strongly recommended* for any new Jam code you write.
-
-[endsect]
-
-[section:builtins Built-in Rules]
-
-=BJam= has a growing set of built-in rules, all of which are pure procedure rules without updating actions. They are in three groups: the first builds the dependency graph; the second modifies it; and the third are just utility rules.
-
-[section Dependency Building]
-
-[section =DEPENDS= ]
-
-[pre
-rule DEPENDS ( /targets1/ * : /targets2/ * )
-]
-
-Builds a direct dependency: makes each of /targets1/ depend on each of /targets2/. Generally, /targets1/ will be rebuilt if /targets2/ are themselves rebuilt or are newer than /targets1/.
-
-[endsect]
-
-[section =INCLUDES= ]
-
-[pre
-rule INCLUDES ( /targets1/ * : /targets2/ * )
-]
-
-Builds a sibling dependency: makes any target that depends on any of /targets1/ also depend on each of /targets2/. This reflects the dependencies that arise when one source file includes another: the object built from the source file depends both on the original and included source file, but the two sources files don't depend on each other. For example:
-
-[pre
-DEPENDS foo.o : foo.c ;
-INCLUDES foo.c : foo.h ;
-]
-
-"=foo.o=" depends on "=foo.c=" and "=foo.h=" in this example.
-
-[endsect]
-
-[endsect]
-
-[section Modifying Binding]
-
-The six rules =ALWAYS=, =LEAVES=, =NOCARE=, =NOTFILE=, =NOUPDATE=, and =TEMPORARY= modify the dependency graph so that =bjam= treats the targets differently during its target binding phase. See Binding above. Normally, =bjam= updates a target if it is missing, if its filesystem modification time is older than any of its dependencies (recursively), or if any of its dependencies are being updated. This basic behavior can be changed by invoking the following rules:
-
-[section =ALWAYS= ]
-
-[pre
-rule ALWAYS ( /targets/ * )
-]
-
-Causes /targets/ to be rebuilt regardless of whether they are up-to-date (they must still be in the dependency graph). This is used for the clean and uninstall targets, as they have no dependencies and would otherwise appear never to need building. It is best applied to targets that are also =NOTFILE= targets, but it can also be used to force a real file to be updated as well.
-
-[endsect]
-
-[section =LEAVES= ]
-
-[pre
-rule LEAVES ( /targets/ * )
-]
-
-Makes each of /targets/ depend only on its leaf sources, and not on any intermediate targets. This makes it immune to its dependencies being updated, as the "leaf" dependencies are those without their own dependencies and without updating actions. This allows a target to be updated only if original source files change.
-
-[endsect]
-
-[section =NOCARE= ]
-
-[pre
-rule NOCARE ( /targets/ * )
-]
-
-Causes =bjam= to ignore /targets/ that neither can be found nor have updating actions to build them. Normally for such targets =bjam= issues a warning and then skips other targets that depend on these missing targets. The =HdrRule= in =Jambase= uses =NOCARE= on the header file names found during header file scanning, to let =bjam= know that the included files may not exist. For example, if an `#include` is within an `#ifdef`, the included file may not actually be around.
-
-[warning For targets with build actions: if their build actions exit with a nonzero return code, dependent targets will still be built.]
-
-[endsect]
-
-[section =NOTFILE= ]
-
-[pre
-rule NOTFILE ( /targets/ * )
-]
-
-Marks /targets/ as pseudotargets and not real files. No timestamp is checked, and so the actions on such a target are only executed if the target's dependencies are updated, or if the target is also marked with =ALWAYS=. The default =bjam= target "=all=" is a pseudotarget. In =Jambase=, =NOTFILE= is used to define several addition convenient pseudotargets.
-
-[endsect]
-
-[section =NOUPDATE= ]
-
-[pre
-rule NOUPDATE ( /targets/ * )
-]
-
-Causes the timestamps on /targets/ to be ignored. This has two effects: first, once the target has been created it will never be updated; second, manually updating target will not cause other targets to be updated. In =Jambase=, for example, this rule is applied to directories by the =MkDir= rule, because =MkDir= only cares that the target directory exists, not when it has last been updated.
-
-[endsect]
-
-[section =TEMPORARY= ]
-
-[pre
-rule TEMPORARY ( /targets/ * )
-]
-
-Marks /targets/ as temporary, allowing them to be removed after other targets that depend upon them have been updated. If a =TEMPORARY= target is missing, =bjam= uses the timestamp of the target's parent. =Jambase= uses =TEMPORARY= to mark object files that are archived in a library after they are built, so that they can be deleted after they are archived.
-
-[endsect]
-
-[section =FAIL_EXPECTED= ]
-
-[pre
-rule FAIL_EXPECTED ( /targets/ * )
-]
-
-For handling targets whose build actions are expected to fail (e.g. when testing
-that assertions or compile-time type checking work properly), Boost Jam supplies
-the =FAIL_EXPECTED= rule in the same style as =NOCARE=, et. al. During target
-updating, the return code of the build actions for arguments to =FAIL_EXPECTED=
-is inverted: if it fails, building of dependent targets continues as though it
-succeeded. If it succeeds, dependent targets are skipped.
-
-[endsect]
-
-[section =RMOLD= ]
-
-[pre
-rule RMOLD ( /targets/ * )
-]
-
-=BJam= removes any target files that may exist on disk when the rule used to build those targets fails. However, targets whose dependencies fail to build are not removed by default. The =RMOLD= rule causes its arguments to be removed if any of their dependencies fail to build.
-
-[endsect]
-
-[section =ISFILE= ]
-
-[pre
-rule ISFILE ( /targets/ * )
-]
-
-=ISFILE= marks targets as required to be files. This changes the way =bjam= searches for the target such that it ignores mathes for file system items that are not file, like directories. This makes it possible to avoid `#include "exception"` matching if one happens to have a directory named exception in the header search path.
-
-[warning This is currently not fully implemented.]
-
-[endsect]
-
-[endsect]
-
-[section Utility]
-
-The two rules =ECHO= and =EXIT= are utility rules, used only in =bjam='s parsing phase.
-
-[section =ECHO= ]
-
-[pre
-rule ECHO ( /args/ * )
-]
-
-Blurts out the message /args/ to stdout.
-
-[endsect]
-
-[section =EXIT= ]
-
-[pre
-rule EXIT ( /message/ * : /result-value/ ? )
-]
-
-Blurts out the /message/ to stdout and then exits with a failure status if no /result-value/ is given, otherwise it exits with the given /result-value/.
-
-"=Echo=", "=echo=", "=Exit=", and "=exit=" are accepted as aliases for =ECHO= and =EXIT=, since it is hard to tell that these are built-in rules and not part of the language, like "=include=". 
-
-[endsect]
-
-[section =GLOB= ]
-
-The =GLOB= rule does filename globbing.
-
-[pre
-rule GLOB ( /directories/ * : /patterns/ * : /downcase-opt/ ? )
-]
-
-Using the same wildcards as for the patterns in the switch statement. It is invoked by being used as an argument to a rule invocation inside of "=[ ]=". For example: "[^FILES = \[ GLOB dir1 dir2 : *.c *.h \]]" sets =FILES= to the list of C source and header files in =dir1= and =dir2=. The resulting filenames are the full pathnames, including the directory, but the pattern is applied only to the file name without the directory.
-
-If /downcase-opt/ is supplied, filenames are converted to all-lowercase before matching against the pattern; you can use this to do case-insensitive matching using lowercase patterns. The paths returned will still have mixed case if the OS supplies them. On Windows NT and Cygwin, filenames are always downcased before matching. 
-
-[endsect]
-
-[section =MATCH= ]
-
-The =MATCH= rule does pattern matching.
-
-[pre
-rule MATCH ( /regexps/ + : /list/ * )
-]
-
-Matches the =egrep=(1) style regular expressions /regexps/ against the strings in /list/. The result is the concatenation of matching =()= subexpressions for each string in /list/, and for each regular expression in /regexps/. Only useful within the "=[ ]=" construct, to change the result into a list.
-
-[endsect]
-
-[section =BACKTRACE= ]
-
-[pre
-rule BACKTRACE ( )
-]
-
-Returns a list of quadruples: /filename/ /line/ /module/ /rulename/..., describing each shallower level of the call stack. This rule can be used to generate useful diagnostic messages from Jam rules.
-
-[endsect]
-
-[section =UPDATE= ]
-
-[pre
-rule UPDATE ( /targets/ * )
-]
-
-Classic jam treats any non-option element of command line as a name of target to be updated. This prevented more sophisticated handling of command line. This is now enabled again but with additional changes to the =UPDATE= rule to allow for the flexibility of changing the list of targets to update. The UPDATE rule has two effects:
-
-# It clears the list of targets to update, and
-# Causes the specified targets to be updated.
-
-If no target was specified with the =UPDATE= rule, no targets will be updated. To support changing of the update list in more useful ways, the rule also returns the targets previously in the update list. This makes it possible to add targets as such:
-
-[pre
-local previous-updates = \[ UPDATE \] ;
-UPDATE $(previous-updates) a-new-target ;
-]
-
-[endsect]
-
-[section =W32_GETREG= ]
-
-[pre
-rule W32_GETREG ( /path/ : /data/ ? )
-]
-
-Defined only for win32 platform. It reads the registry of Windows. '/path/' is the location of the information, and '/data/' is the name of the value which we want to get. If '/data/' is omitted, the default value of '/path/' will be returned. The '/path/' value must conform to MS key path format and must be prefixed with one of the predefined root keys. As usual,
-
-* '=HKLM=' is equivalent to '=HKEY_LOCAL_MACHINE='.
-* '=HKCU=' is equivalent to '=HKEY_CURRENT_USER='.
-* '=HKCR=' is equivalent to '=HKEY_CLASSES_ROOT='.
-
-Other predefined root keys are not supported.
-
-Currently supported data types : '=REG_DWORD=', '=REG_SZ=', '=REG_EXPAND_SZ=', '=REG_MULTI_SZ='. The data with '=REG_DWORD=' type will be turned into a string, '=REG_MULTI_SZ=' into a list of strings, and for those with '=REG_EXPAND_SZ=' type environment variables in it will be replaced with their defined values. The data with '=REG_SZ=' type and other unsupported types will be put into a string without modification. If it can't receive the value of the data, it just return an empty list [...]
-
-[pre
-local PSDK-location =
-  \[ W32_GETREG HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\MicrosoftSDK\\\\Directories : "Install Dir" \] ;
-]
-
-[endsect]
-
-[section =W32_GETREGNAMES= ]
-
-[pre
-rule W32_GETREGNAMES ( /path/ : /result-type/ )
-]
-
-Defined only for win32 platform. It reads the registry of Windows. '/path/' is the location of the information, and '/result-type/' is either '=subkeys=' or '=values='. For more information on '/path/' format and constraints, please see =W32_GETREG=.
-
-Depending on '/result-type/', the rule returns one of the following:
-
-[variablelist
-    [[=subkeys=] [Names of all direct subkeys of '/path/'.]]
-    [[=values=] [Names of values contained in registry key given by '/path/'. The "default" value of the key appears in the returned list only if its value has been set in the registry.]]
-]
-
-If '/result-type/' is not recognized, or requested data cannot be retrieved, the rule returns an empty list.
-Example:
-
-[pre 
-local key = "HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\App Paths" ;
-local subkeys = \[ W32_GETREGNAMES "$(key)" : subkeys \] ;
-for local subkey in $(subkeys)
-{
-    local values = \[ W32_GETREGNAMES "$(key)\\\\$(subkey)" : values \] ;
-    for local value in $(values)
-    {
-        local data = \[ W32_GETREG "$(key)\\\\$(subkey)" : "$(value)" \] ;
-        ECHO "Registry path: " $(key)\\\\$(subkey) ":" $(value) "=" $(data) ;
-    }
-}
-]
-
-[endsect]
-
-[section =SHELL= ]
-
-[pre
-rule SHELL ( /command/ : * )
-]
-
-=SHELL= executes /command/, and then returns the standard output of /command/. =SHELL= only works on platforms with a =popen()= function in the C library. On platforms without a working =popen()= function, =SHELL= is implemented as a no-op. =SHELL= works on Unix, MacOS X, and most Windows compilers. =SHELL= is a no-op on Metrowerks compilers under Windows. There is a variable set of allowed options as additional arguments:
-
-[variablelist
-    [[=exit-status=] [In addition to the output the result status of the executed command is returned as a second element of the result.]]
-    [[=no-output=] [Don't capture the output of the command. Instead an empty ("") string value is returned in place of the output.]]
-]
-
-Because the Perforce/Jambase defines a =SHELL= rule which hides the
-builtin rule, =COMMAND= can be used as an alias for =SHELL= in such a case.
-
-[endsect]
-
-[section =MD5= ]
-
-[pre
-rule MD5 ( /string/ )
-]
-
-=MD5= computes the MD5 hash of the string passed as paramater and returns it.
-
-[endsect]
-
-[section =SPLIT_BY_CHARACTERS= ]
-
-[pre
-rule SPLIT_BY_CHARACTERS ( /string/ : /delimiters/ )
-]
-
-=SPLIT_BY_CHARACTERS= splits the specified /string/ on any delimiter character
-present in /delimiters/ and returns the resulting list.
-
-[endsect]
-
-[section =PRECIOUS= ]
-
-[pre
-rule PRECIOUS ( /targets/ * )
-]
-
-The =PRECIOUS= rule specifies that each of the targets passed as the arguments
-should not be removed even if the command updating that target fails.
-
-[endsect]
-
-[section =PAD= ]
-
-[pre
-rule PAD ( /string/ : /width/ )
-]
-
-If /string/ is shorter than /width/ characters, pads it with whitespace
-characters on the right, and returns the result.  Otherwise, returns
-/string/ unmodified.
-
-[endsect]
-
-[section =FILE_OPEN= ]
-
-[pre
-rule FILE_OPEN ( /filename/ : /mode/ )
-]
-
-The =FILE_OPEN= rule opens the specified file and returns a file
-descriptor. The /mode/ parameter can be either "w" or "r". Note
-that at present, only the =UPDATE_NOW= rule can use the resulting
-file descriptor number.
-
-[endsect]
-
-[section =UPDATE_NOW= ]
-
-[pre
-rule UPDATE_NOW ( /targets/ * : /log/ ? : /ignore-minus-n/ ? )
-]
-
-The =UPDATE_NOW= caused the specified targets to be updated immediately.
-If update was successfull, non-empty string is returned. The /log/ parameter,
-if present, specifies a descriptor of a file where all output from building
-is redirected. If the /ignore-minus-n/ parameter is specified, the targets
-are updated even if the =-n= parameter is specified on the command line.
-
-[endsect]
-
-[endsect]
-
-[endsect]
-
-[endsect]
-
-[section Flow-of-Control]
-
-=BJam= has several simple flow-of-control statements:
-
-[pre
-for /var/ in /list/ { /statements/ }
-]
-
-Executes /statements/ for each element in /list/, setting the variable /var/ to the element value.
-
-[pre
-if /cond/ { /statements/ }
-\[ else { /statements/ } \]
-]
-
-Does the obvious; the =else= clause is optional. /cond/ is built of:
-
-[variablelist
-
-[[[^['a]]]
- [true if any ['a] element is a non-zero-length string]]
-
-[[[^['a] = ['b]]]
- [list ['a] matches list ['b] string-for-string]]
-
-[[[^['a] != ['b]]]
- [list ['a] does not match list ['b]]]
-
-[[[^['a] < ['b]]]
- [['a\[i\]] string is less than ['b\[i\]] string, where ['i] is first mismatched element in lists ['a] and ['b]]]
-
-[[[^['a] <= ['b]]]
- [every ['a] string is less than or equal to its ['b] counterpart]]
-
-[[[^['a] > ['b]]]
- [['a\[i\]] string is greater than ['b\[i\]] string, where ['i] is first mismatched element]]
-
-[[[^['a] >= ['b]]]
- [every ['a] string is greater than or equal to its ['b] counterpart]]
-
-[[[^['a] in ['b]]]
- [true if all elements of ['a] can be found in ['b], or if ['a] has no elements]]
-
-[[[^! ['cond]]]
- [condition not true]]
-
-[[[^['cond] && ['cond]]]
- [conjunction]]
-
-[[[^['cond] || ['cond]]]
- [disjunction]]
-
-[[[^( ['cond] )]]
- [precedence grouping]]
-
-]
-
-[pre
-include /file/ ;
-]
-
-Causes =bjam= to read the named /file/. The /file/ is bound like a regular target (see Binding above) but unlike a regular target the include /file/ cannot be built.
-
-The include /file/ is inserted into the input stream during the parsing phase. The primary input file and all the included file(s) are treated as a single file; that is, jam infers no scope boundaries from included files.
-
-[pre
-local /vars/ \[ = /values/ \] ;
-]
-
-Creates new /vars/ inside to the enclosing ={}= block, obscuring any previous values they might have. The previous values for vars are restored when the current block ends. Any rule called or file included will see the local and not the previous value (this is sometimes called Dynamic Scoping). The local statement may appear anywhere, even outside of a block (in which case the previous value is restored when the input ends). The /vars/ are initialized to /values/ if present, or left unin [...]
-
-[pre
-return /values/ ;
-]
-
-Within a rule body, the return statement sets the return value for an invocation of the rule. It does *not* cause the rule to return; a rule's value is actually the value of the last statement executed, so a return should be the last statement executed before the rule "naturally" returns.
-
-[pre
-switch /value/
-{
-    case /pattern1/ : /statements/ ;
-    case /pattern2/ : /statements/ ;
-    ...
-}
-]
-
-The switch statement executes zero or one of the enclosed /statements/, depending on which, if any, is the first case whose /pattern/ matches /value/. The /pattern/ values are not variable-expanded. The pattern values may include the following wildcards:
-
-[variablelist
-
-[[[^?]]
- [match any single character]]
-
-[[[^*]]
- [match zero or more characters]]
-
-[[[^\[/chars/\]]]
- [match any single character in /chars/]]
-
-[[[^\[\^/chars/\]]]
- [match any single character not in /chars/]]
-
-[[[^\\/x/]]
- [match /x/ (escapes the other wildcards)]]
-
-]
-
-[pre
-while /cond/ { /statements/ }
-]
-
-Repeatedly execute /statements/ while /cond/ remains true upon entry. (See the description of /cond/ expression syntax under if, above). 
-
-[endsect]
-
-[section Variables]
-
-=BJam= variables are lists of zero or more elements, with each element being a string value. An undefined variable is indistinguishable from a variable with an empty list, however, a defined variable may have one more elements which are null strings. All variables are referenced as [^$(/variable/)].
-
-Variables are either global or target-specific. In the latter case, the variable takes on the given value only during the updating of the specific target.
-
-A variable is defined with:
-
-[pre
-/variable/ = /elements/ ;
-/variable/ += /elements/ ;
-/variable/ on /targets/ = /elements/ ;
-/variable/ on /targets/ += /elements/ ;
-/variable/ default = /elements/ ;
-/variable/ ?= /elements/ ;
-]
-
-The first two forms set /variable/ globally. The third and forth forms set a target-specific variable. The [^\=] operator replaces any previous elements of /variable/ with /elements/; the [^+=] operation adds /elements/ to /variable/'s list of elements. The final two forms are synonymous: they set /variable/ globally, but only if it was previously unset.
-
-Variables referenced in updating commands will be replaced with their values; target-specific values take precedence over global values. Variables passed as arguments (=$(1)= and =$(2)=) to actions are replaced with their bound values; the "=bind=" modifier can be used on actions to cause other variables to be replaced with bound values. See Action Modifiers above.
-
-=BJam= variables are not re-exported to the environment of the shell that executes the updating actions, but the updating actions can reference =bjam= variables with [^$(/variable/)]. 
-
-[section:expansion Variable Expansion]
-
-During parsing, =bjam= performs variable expansion on each token that is not a keyword or rule name. Such tokens with embedded variable references are replaced with zero or more tokens. Variable references are of the form [^$(/v/)] or [^$(/vm/)], where ['v] is the variable name, and ['m] are optional modifiers.
-
-Variable expansion in a rule's actions is similar to variable expansion in statements, except that the action string is tokenized at whitespace regardless of quoting.
-
-The result of a token after variable expansion is the /product/ of the components of the token, where each component is a literal substring or a list substituting a variable reference. For example:
-
-[pre
-$(X) -> a b c
-t$(X) -> ta tb tc
-$(X)z -> az bz cz
-$(X)-$(X) -> a-a a-b a-c b-a b-b b-c c-a c-b c-c
-]
-
-The variable name and modifiers can themselves contain a variable reference, and this partakes of the product as well:
-
-[pre
-$(X) -> a b c
-$(Y) -> 1 2
-$(Z) -> X Y
-$($(Z)) -> a b c 1 2
-]
-
-Because of this product expansion, if any variable reference in a token is undefined, the result of the expansion is an empty list. If any variable element is a null string, the result propagates the non-null elements:
-
-[pre
-$(X) -> a ""
-$(Y) -> "" 1
-$(Z) ->
--$(X)$(Y)- -> -a- -a1- -- -1-
--$(X)$(Z)- ->
-]
-
-A variable element's string value can be parsed into grist and filename-related components. Modifiers to a variable are used to select elements, select components, and replace components. The modifiers are:
-
-[variablelist
-
-[[[^\[['n]\]]] [Select element number ['n] (starting at 1). If the variable
- contains fewer than ['n] elements, the result is a zero-element list. ['n]
- can be negative in which case the element number ['n] from the last leftward
- is returned.]]
-
-[[[^\[['n]-['m]\]]]
- [Select elements number ['n] through ['m]. ['n] and ['m] can be negative in which case they refer to elements counting from the last leftward.]]
-
-[[[^\[['n]-\]]]
- [Select elements number ['n] through the last. ['n] can be negative in which case it refers to the element counting from the last leftward.]]
-
-[[[^:B]]
- [Select filename base.]]
-
-[[[^:S]]
- [Select (last) filename suffix.]]
-
-[[[^:M]]
- [Select archive member name.]]
-
-[[[^:D]]
- [Select directory path.]]
-
-[[[^:P]]
- [Select parent directory.]]
-
-[[[^:G]]
- [Select grist.]]
-
-[[[^:U]]
- [Replace lowercase characters with uppercase.]]
-
-[[[^:L]]
- [Replace uppercase characters with lowercase.]]
-
-[[[^:T]]
- [Converts all back-slashes ("\\") to forward slashes ("/"). For example
-`` 
- x = "C:\\Program Files\\Borland" ; ECHO $(x:T) ;
-``
-prints [^"C:/Program Files/Borland"]
-]]
-
-[[[^:W]]
- [When invoking Windows-based tools from [@http://www.cygwin.com/ Cygwin] 
-  it can be important to pass them true windows-style paths. The =:W= 
-  modifier, *under Cygwin only*, turns a cygwin path into a Win32 path using
- the  [@http://www.cygwin.com/cygwin-api/func-cygwin-conv-to-win32-path.html
- =cygwin_conv_to_win32_path=] function. On other platforms, the string is
- unchanged. For example
-`` 
- x = "/cygdrive/c/Program Files/Borland" ; ECHO $(x:W) ;
-``
-prints [^"C:\\Program Files\\Borland"] on Cygwin
-]]
-
-[[[^:['chars]]]
- [Select the components listed in ['chars].]]
-
-[[[^:G=['grist]]]
- [Replace grist with ['grist].]]
-
-[[[^:D=['path]]]
- [Replace directory with ['path].]]
-
-[[[^:B=['base]]]
- [Replace the base part of file name with ['base].]]
-
-[[[^:S=['suf]]]
- [Replace the suffix of file name with ['suf].]]
-
-[[[^:M=['mem]]]
- [Replace the archive member name with ['mem].]]
-
-[[[^:R=['root]]]
- [Prepend ['root] to the whole file name, if not already rooted.]]
-
-[[[^:E=['value]]]
- [Assign ['value] to the variable if it is unset.]]
-
-[[[^:J=['joinval]]]
- [Concatentate list elements into single element, separated by ['joinval]'.]]
-
-]
-
-On VMS, [^$(var:P)] is the parent directory of [^$(var:D)].
-
-[endsect]
-
-[section Local For Loop Variables]
-
-Boost Jam allows you to declare a local for loop control variable right in the loop:
-
-[pre
-x = 1 2 3 ;
-y = 4 5 6 ;
-for *local* y in $(x)
-{
-    ECHO $(y) ; # prints "1", "2", or "3"
-}
-ECHO $(y) ;     # prints "4 5 6"
-]
-
-[endsect]
-
-[section:atfile Generated File Expansion]
-
-During expansion of expressions =bjam= also looks for subexpressions of the form
-=@(filename:E=filecontents)= and replaces the expression with =filename= after
-creating the given file with the contents set to =filecontents=. This is useful
-for creating compiler response files, and other "internal" files. The expansion
-works both during parsing and action execution. Hence it is possible to create
-files during any of the three build phases.
-
-[endsect]
-
-[section:builtins Built-in Variables]
-
-This section discusses variables that have special meaning to =bjam=. All of
-these must be defined or used in the global module -- using those variables
-inside a named module will not have the desired effect.
-See [link jam.language.modules Modules].
-
-[section:search SEARCH and LOCATE]
-
-These two variables control the binding of file target names to locations in
-the file system. Generally, =$(SEARCH)= is used to find existing sources
-while =$(LOCATE)= is used to fix the location for built targets.
-
-Rooted (absolute path) file targets are bound as is. Unrooted file target names are also normally bound as is, and thus relative to the current directory, but the settings of =$(LOCATE)= and =$(SEARCH)= alter this:
-
-* If =$(LOCATE)= is set then the target is bound relative to the first directory in =$(LOCATE)=. Only the first element is used for binding.
-* If =$(SEARCH)= is set then the target is bound to the first directory in =$(SEARCH)= where the target file already exists.
-* If the =$(SEARCH)= search fails, the target is bound relative to the current directory anyhow. 
-
-Both =$(SEARCH)= and =$(LOCATE)= should be set target-specific and not globally. If they were set globally, =bjam= would use the same paths for all file binding, which is not likely to produce sane results. When writing your own rules, especially ones not built upon those in Jambase, you may need to set =$(SEARCH)= or =$(LOCATE)= directly. Almost all of the rules defined in Jambase set =$(SEARCH)= and =$(LOCATE)= to sensible values for sources they are looking for and targets they create [...]
-
-[endsect]
-
-[section:hdrscan HDRSCAN and HDRRULE]
-
-These two variables control header file scanning. =$(HDRSCAN)= is an
-=egrep(1)= pattern, with ()'s surrounding the file name, used to find file
-inclusion statements in source files. =Jambase= uses =$(HDRPATTERN)= as the
-pattern for =$(HDRSCAN)=. =$(HDRRULE)= is the name of a rule to invoke with
-the results of the scan: the scanned file is the target, the found files are
-the sources. This is the only place where =bjam= invokes a rule through a
-variable setting.
-
-Both =$(HDRSCAN)= and =$(HDRRULE)= must be set for header file scanning to take place, and they should be set target-specific and not globally. If they were set globally, all files, including executables and libraries, would be scanned for header file include statements.
-
-The scanning for header file inclusions is not exact, but it is at least dynamic, so there is no need to run something like =makedepend(GNU)= to create a static dependency file. The scanning mechanism errs on the side of inclusion (i.e., it is more likely to return filenames that are not actually used by the compiler than to miss include files) because it can't tell if `#include` lines are inside `#ifdefs` or other conditional logic. In =Jambase=, =HdrRule= applies the =NOCARE= rule to e [...]
-
-Also, scanning for regular expressions only works where the included file name is literally in the source file. It can't handle languages that allow including files using variable names (as the =Jam= language itself does). 
-
-[endsect]
-
-[section Semaphores]
-
-It is sometimes desirable to disallow parallel execution of some actions. For example:
-
-* Old versions of yacc use files with fixed names. So, running two yacc actions is dangerous.
-* One might want to perform parallel compiling, but not do parallel linking, because linking is i/o bound and only gets slower.
-
-Craig McPeeters has extended Perforce Jam to solve such problems, and that extension was integrated in Boost.Jam.
-
-Any target can be assigned a /semaphore/, by setting a variable called =SEMAPHORE= on that target. The value of the variable is the semaphore name. It must be different from names of any declared target, but is arbitrary otherwise.
-
-The semantic of semaphores is that in a group of targets which have the same semaphore, only one can be updated at the moment, regardless of "=-j=" option.
-
-[endsect]
-
-[section Platform Identifier]
-
-A number of Jam built-in variables can be used to identify runtime platform:
-
-[variablelist
-[[=OS=]                     [OS identifier string]]
-[[=OSPLAT=]                 [Underlying architecture, when applicable]]
-[[=MAC=]                    [true on MAC platform]]
-[[=NT=]                     [true on NT platform]]
-[[=OS2=]                    [true on OS2 platform]]
-[[=UNIX=]                   [true on Unix platforms]]
-[[=VMS=]                    [true on VMS platform]]
-]
-
-[endsect]
-
-[section Jam Version]
-
-[variablelist
-[[=JAMDATE=]                [Time and date at =bjam= start-up as an ISO-8601 UTC value.]]
-[[=JAMUNAME=]               [Ouput of uname(1) command (Unix only)]]
-[[=JAMVERSION=]             [=bjam= version, currently ":version:"]]
-[[=JAM_VERSION=]            [A predefined global variable with two elements indicates the version number of Boost Jam. Boost Jam versions start at "=03=" "=00=". Earlier versions of =Jam= do not automatically define =JAM_VERSION=.]]
-]
-
-[endsect]
-
-[section JAMSHELL]
-
-When =bjam= executes a rule's action block, it forks and execs a shell, passing the action block as an argument to the shell. The invocation of the shell can be controlled by =$(JAMSHELL)=. The default on Unix is, for example:
-
-[pre
-JAMSHELL = /bin/sh -c % ;
-]
-
-The =%= is replaced with the text of the action block.
-
-=BJam= does not directly support building in parallel across multiple hosts, since that is heavily dependent on the local environment. To build in parallel across multiple hosts, you need to write your own shell that provides access to the multiple hosts. You then reset =$(JAMSHELL)= to reference it.
-
-Just as =bjam= expands a =%= to be the text of the rule's action block, it expands a =!= to be the multi-process slot number. The slot number varies between 1 and the number of concurrent jobs permitted by the =-j= flag given on the command line. Armed with this, it is possible to write a multiple host shell. For example:
-
-[pre
-#!/bin/sh
-
-# This sample JAMSHELL uses the SunOS on(1) command to execute a
-# command string with an identical environment on another host.
-
-# Set JAMSHELL = jamshell ! %
-#
-# where jamshell is the name of this shell file.
-#
-# This version handles up to -j6; after that they get executed
-# locally.
-
-case $1 in
-1|4) on winken sh -c "$2";;
-2|5) on blinken sh -c "$2";;
-3|6) on nod sh -c "$2";;
-*) eval "$2";;
-esac
-]
-
-[endsect]
-
-[section:actionrule =__TIMING_RULE__= and =__ACTION_RULE__=]
-
-The =__TIMING_RULE__= and =__ACTION_RULE__= can be set to the name of a rule
-for =bjam= to call *after* an action completes for a target. They both give
-diagnostic information about the action that completed. For =__TIMING_RULE__=
-the rule is called as:
-
-    rule timing-rule ( args * : target : start end user system )
-
-And =__ACTION_RULE__= is called as:
-
-    rule action-rule ( args * : target : command status start end user system : output ? )
-
-The arguments for both are:
-
-[variablelist
-    [[[^args]]
-        [Any values following the rule name in the =__TIMING_RULE__= or =__ACTION_RULE__=
-        are passed along here.]]
-    [[[^target]]
-        [The =bjam= target that was built.]]
-    [[[^command]]
-        [The text of the executed command in the action body.]]
-    [[[^status]]
-        [The integer result of the executed command.]]
-    [[[^start]]
-        [The starting timestamp of the executed command as a ISO-8601 UTC value.]]
-    [[[^end]]
-        [The completion timestamp of the executed command as a ISO-8601 UTC value.]]
-    [[[^user]]
-        [The number of user CPU seconds the executed command spent as a floating
-        point value.]]
-    [[[^system]]
-        [The number of system CPU seconds the executed command spent as a floating
-        point value.]]
-    [[[^output]]
-        [The output of the command as a single string. The content of the output
-        reflects the use of the =-pX= option.]]
-]
-
-[note
-    If both variables are set for a target both are called, first =__TIMING_RULE__=
-    then =__ACTION_RULE__=. ]
-
-[endsect]
-
-[endsect]
-
-[endsect]
-
-[section Modules]
-
-Boost Jam introduces support for modules, which provide some rudimentary namespace protection for rules and variables. A new keyword, "=module=" was also introduced. The features described in this section are primitives, meaning that they are meant to provide the operations needed to write Jam rules which provide a more elegant module interface.
-
-[section Declaration]
-
-[pre
-module /expression/ { ... }
-]
-
-Code within the [^{ ... }] executes within the module named by evaluating expression. Rule definitions can be found in the module's own namespace, and in the namespace of the global module as /module-name/./rule-name/, so within a module, other rules in that module may always be invoked without qualification:
-
-[pre
-*module my_module*
-*{*
-    rule salute ( x ) { ECHO $(x), world ; }
-    rule greet ( ) { salute hello ; }
-    greet ;
-*}*
-*my_module.salute* goodbye ;
-]
-
-When an invoked rule is not found in the current module's namespace, it is looked up in the namespace of the global module, so qualified calls work across modules:
-
-[pre
-module your_module
-{
-    rule bedtime ( ) { *my_module.salute* goodnight ; }
-}
-]
-
-[endsect]
-
-[section Variable Scope]
-
-Each module has its own set of dynamically nested variable scopes. When execution passes from module A to module B, all the variable bindings from A become unavailable, and are replaced by the bindings that belong to B. This applies equally to local and global variables:
-
-[pre
-module A
-{
-    x = 1 ;
-    rule f ( )
-    {
-        local y = 999 ; # becomes visible again when B.f calls A.g
-        B.f ;
-    }
-    rule g ( )
-    {
-        ECHO $(y) ;     # prints "999"
-    }
-}
-module B
-{
-    y = 2 ;
-    rule f ( )
-    {
-        ECHO $(y) ; # always prints "2"
-        A.g ;
-    }
-}
-]
-
-The only way to access another module's variables is by entering that module:
-
-[pre
-rule peek ( module-name ? : variables + )
-{
-    module $(module-name)
-    {
-        return $($(>)) ;
-    }
-}
-]
-
-Note that because existing variable bindings change whenever a new module scope is entered, argument bindings become unavailable. That explains the use of "=$(>)=" in the peek rule above.
-
-[endsect]
-
-[section Local Rules]
-
-[pre
-local rule /rulename/...
-]
-
-The rule is declared locally to the current module. It is not entered in the global module with qualification, and its name will not appear in the result of:
-
-[pre
-\[ RULENAMES /module-name/ \]
-]
-
-[endsect]
-
-[section The =RULENAMES= Rule]
-
-[pre
-rule RULENAMES ( /module/ ? )
-]
-
-Returns a list of the names of all non-local rules in the given module. If /module/ is omitted, the names of all non-local rules in the global module are returned.
-
-[endsect]
-
-[section The =VARNAMES= Rule]
-
-[pre
-rule VARNAMES ( /module/ ? )
-]
-
-Returns a list of the names of all variable bindings in the given module. If /module/ is omitted, the names of all variable bindings in the global module are returned.
-
-[note This includes any local variables in rules from the call stack which have not returned at the time of the =VARNAMES= invocation.]
-
-[endsect]
-
-[section The =IMPORT= Rule]
-
-=IMPORT= allows rule name aliasing across modules:
-
-[pre
-rule IMPORT ( /source_module/ ? : /source_rules/ *
-            : /target_module/ ? : /target_rules/ * )
-]
-
-The =IMPORT= rule copies rules from the /source_module/ into the /target_module/ as local rules. If either /source_module/ or /target_module/ is not supplied, it refers to the global module. /source_rules/ specifies which rules from the /source_module/ to import; /target_rules/ specifies the names to give those rules in /target_module/. If /source_rules/ contains a name which doesn't correspond to a rule in /source_module/, or if it contains a different number of items than /target_rules [...]
-
-[pre
-# import m1.rule1 into m2 as local rule m1-rule1.
-IMPORT m1 : rule1 : m2 : m1-rule1 ;
-# import all non-local rules from m1 into m2
-IMPORT m1 : \[ RULENAMES m1 \] : m2 : \[ RULENAMES m1 \] ;
-]
-
-[endsect]
-
-[section The =EXPORT= Rule]
-
-=EXPORT= allows rule name aliasing across modules:
-
-[pre
-rule EXPORT ( /module/ ? : /rules/ * )
-]
-
-The =EXPORT= rule marks /rules/ from the =source_module= as non-local (and thus exportable). If an element of /rules/ does not name a rule in /module/, an error is issued. For example,
-
-[pre
-module X {
-  local rule r { ECHO X.r ; }
-}
-IMPORT X : r : : r ; # error - r is local in X
-EXPORT X : r ;
-IMPORT X : r : : r ; # OK.
-]
-
-[endsect]
-
-[section The =CALLER_MODULE= Rule]
-
-[pre
-rule CALLER_MODULE ( /levels/ ? )
-]
-
-=CALLER_MODULE= returns the name of the module scope enclosing the call to its caller (if levels is supplied, it is interpreted as an integer number of additional levels of call stack to traverse to locate the module). If the scope belongs to the global module, or if no such module exists, returns the empty list. For example, the following prints "{Y} {X}":
-
-[pre
-module X {
-    rule get-caller { return \[ CALLER_MODULE \] ; }
-    rule get-caller's-caller { return \[ CALLER_MODULE 1 \] ; }
-    rule call-Y { return Y.call-X2 ; }
-}
-module Y {
-    rule call-X { return X.get-caller ; }
-    rule call-X2 { return X.get-caller's-caller ; }
-}
-callers = \[ X.get-caller \] \[ Y.call-X \] \[ X.call-Y \] ;
-ECHO {$(callers)} ;
-]
-
-[endsect]
-
-[section The =DELETE_MODULE= Rule]
-
-[pre
-rule DELETE_MODULE ( /module/ ? )
-]
-
-=DELETE_MODULE= removes all of the variable bindings and otherwise-unreferenced rules from the given module (or the global module, if no module is supplied), and returns their memory to the system.
-
-[note Though it won't affect rules that are currently executing until they complete, =DELETE_MODULE= should be used with extreme care because it will wipe out any others and all variable (including locals in that module) immediately. Because of the way dynamic binding works, variables which are shadowed by locals will not be destroyed, so the results can be really unpredictable.]
-
-[endsect]
-
-[endsect]
-
-[endsect]
-
-[section Miscellaneous]
-
-[section Diagnostics]
-
-In addition to generic error messages, =bjam= may emit one of the following:
-
-[pre warning: unknown rule X]
-
-A rule was invoked that has not been defined with an "=actions=" or "=rule=" statement.
-
-[pre using N temp target(s)]
-
-Targets marked as being temporary (but nonetheless present) have been found.
-
-[pre updating N target(s)]
-
-Targets are out-of-date and will be updated.
-
-[pre can't find N target(s)]
-
-Source files can't be found and there are no actions to create them.
-
-[pre can't make N target(s)]
-
-Due to sources not being found, other targets cannot be made.
-
-[pre warning: X depends on itself]
-
-A target depends on itself either directly or through its sources.
-
-[pre don't know how to make X]
-
-A target is not present and no actions have been defined to create it.
-
-[pre X skipped for lack of Y]
-
-A source failed to build, and thus a target cannot be built.
-
-[pre warning: using independent target X]
-
-A target that is not a dependency of any other target is being referenced with =$(<)= or =$(>)=.
-
-[pre X removed]
-
-=BJam= removed a partially built target after being interrupted.
-
-[endsect]
-
-[section Bugs, Limitations]
-
-For parallel building to be successful, the dependencies among files must be properly spelled out, as targets tend to get built in a quickest-first ordering. Also, beware of un-parallelizable commands that drop fixed-named files into the current directory, like =yacc(1)= does.
-
-A poorly set =$(JAMSHELL)= is likely to result in silent failure. 
-
-[endsect]
-
-[section Fundamentals]
-
-This section is derived from the official Jam documentation and from experience using it and reading the Jambase rules. We repeat the information here mostly because it is essential to understanding and using Jam, but is not consolidated in a single place. Some of it is missing from the official documentation altogether. We hope it will be useful to anyone wishing to become familiar with Jam and the Boost build system.
-
-* Jam "=rules=" are actually simple procedural entities. Think of them as functions. Arguments are separated by colons.
-
-* A Jam *target* is an abstract entity identified by an arbitrary string. The build-in =DEPENDS= rule creates a link in the dependency graph between the named targets.
-
-* Note that the original Jam documentation for the built-in =INCLUDES= rule is incorrect: [^INCLUDES ['targets1] : ['targets2]] causes everything that depends on a member of /targets1/ to depend on all members of /targets2/. It does this in an odd way, by tacking /targets2/ onto a special tail section in the dependency list of everything in /targets1/. It seems to be OK to create circular dependencies this way; in fact, it appears to be the "right thing to do" when a single build action  [...]
-
-* When a rule is invoked, if there are =actions= declared with the same name as the rule, the actions are added to the updating actions for the target identified by the rule's first argument. It is actually possible to invoke an undeclared rule if corresponding actions are declared: the rule is treated as empty.
-
-* Targets (other than =NOTFILE= targets) are associated with paths in the file system through a process called binding. Binding is a process of searching for a file with the same name as the target (sans grist), based on the settings of the target-specific =SEARCH= and =LOCATE= variables.
-
-* In addition to local and global variables, jam allows you to set a variable =on= a target. Target-specific variable values can usually not be read, and take effect only in the following contexts:
-
-    * In updating actions, variable values are first looked up =on= the target named by the first argument (the target being updated). Because Jam builds its entire dependency tree before executing actions, Jam rules make target-specific variable settings as a way of supplying parameters to the corresponding actions.
-    * Binding is controlled /entirely/ by the target-specific setting of the =SEARCH= and =LOCATE= variables, as described here.
-    * In the special rule used for header file scanning, variable values are first looked up =on= the target named by the rule's first argument (the source file being scanned).
-
-* The "bound value" of a variable is the path associated with the target named by the variable. In build actions, the first two arguments are automatically replaced with their bound values. Target-specific variables can be selectively replaced by their bound values using the =bind= action modifier.
-
-* Note that the term "binding" as used in the Jam documentation indicates a phase of processing that includes three sub-phases: /binding/ (yes!), update determination, and header file scanning. The repetition of the term "binding" can lead to some confusion. In particular, the Modifying Binding section in the Jam documentation should probably be titled "Modifying Update Determination".
-
-* "Grist" is just a string prefix of the form </characters/>. It is used in Jam to create unique target names based on simpler names. For example, the file name "=test.exe=" may be used by targets in separate subprojects, or for the debug and release variants of the "same" abstract target. Each distinct target bound to a file called "test.exe" has its own unique grist prefix. The Boost build system also takes full advantage of Jam's ability to divide strings on grist boundaries, sometime [...]
-
-   # The location of targets cannot always be derived solely from what the user puts in a Jamfile, but sometimes depends also on the binding process. Some mechanism to distinctly identify targets with the same name is still needed.
-   # Grist allows us to use a uniform abstract identifier for each built target, regardless of target file location (as allowed by setting ALL_LOCATE_TARGET).
-
-* When grist is extracted from a name with $(var:G), the result includes the leading and trailing angle brackets. When grist is added to a name with $(var:G=expr), existing grist is first stripped. Then, if expr is non-empty, leading <s and trailing >s are added if necessary to form an expression of the form <expr2>; <expr2> is then prepended.
-
-* When Jam is invoked it imports all environment variable settings into corresponding Jam variables, followed by all command-line (-s...) variable settings. Variables whose name ends in PATH, Path, or path are split into string lists on OS-specific path-list separator boundaries (e.g. ":" for UNIX and ";" for Windows). All other variables are split on space (" ") boundaries. Boost Jam modifies that behavior by allowing variables to be quoted.
-
-* A variable whose value is an empty list or which consists entirely of empty
- strings has a negative logical value. Thus, for example, code like the
- following allows a sensible non-empty default which can easily be overridden
- by the user: 
- ``
-MESSAGE ?\= starting jam... ;
-if $(MESSAGE) { ECHO The message is: $(MESSAGE) ; }
-``
- If the user wants a specific message, he invokes jam with [^"-sMESSAGE\=message text"]. If he wants no message, he invokes jam with [^-sMESSAGE\=] and nothing at all is printed.
-
-* The parsing of command line options in Jam can be rather unintuitive, with regards to how other Unix programs accept options. There are two variants accepted as valid for an option:
-
-   # =-xvalue=, and
-   # =-x value=.
-
-[endsect]
-
-[endsect]
-
-
-[section History]
-[include history.qbk]
-[endsect]
diff --git a/SRC/Boost/tools/build/v2/doc/development_plan.html b/SRC/Boost/tools/build/v2/doc/development_plan.html
deleted file mode 100755
index f0141e6..0000000
--- a/SRC/Boost/tools/build/v2/doc/development_plan.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<!-- Copyright 2004 Aleksey Gurtovoy -->
-<!-- Copyright 2003, 2004 Vladimir Prus -->
-<!-- Distributed under the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) -->
-
-<html>
-  <head>
-    <meta name="generator" content=
-    "HTML Tidy for Linux/x86 (vers 1st April 2002), see www.w3.org">
-    <meta name="generator" content="Microsoft FrontPage 5.0">
-    <meta http-equiv="Content-Type" content=
-    "text/html; charset=windows-1252">
-    <!-- tidy options: ‐‐tidy-mark false -i -wrap 78 !-->
-
-    <title>Boost Build System V2</title>
-  </head>
-
-  <body bgcolor="#FFFFFF" text="#000000">
-    <img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="center"
-    width="277" height="86"> <!-- sf logo -->
-     
-
-    <h1>Boost Build Development Plan</h1>
-
-    <ul>
-      <li>
-        <b>Milestone 2</b> (October 25, 2002) 
-
-        <p>Boost buildable with gcc and also usable as part of another
-        project.</p>
-      </li>
-
-      <li>
-        <b>Milestone 3</b> (May 21, 2003) 
-
-        <p>Two gcc versions and two other compilers are supported. Some other
-        tools (e.g. lex and BoostBook) are implemented.</p>
-      </li>
-
-      <li>
-        <b>Milestone 4</b> (June 18, 2003) 
-
-        <p>More tools implemented.</p>
-      </li>
-
-      <li>
-        <b>Milestone 5</b> (Jule 2, 2003) 
-
-        <p>Improvements and bugfixes with dependency scanning. Support for
-        i18n tools. Testing framework for Boost.</p>
-      </li>
-
-      <li>
-        <b>Milestone 6</b> (Jule 22, 2003)
-
-        <p>Bugfixes.</p>
-      </li>
-
-      <li>
-        <b>Milestone 7</b> (Aug 1, 2003)
-
-        <p>Optimizations.</p>
-      </li>
-
-      <li>
-        <b>Milestone 8</b> (Oct 15, 2003)
-
-        <p>Implementation of regression testing framework was
-          implemented. Handling of dependencies to generated headers was
-          optimized. Algorithms for link-compatibility checking and selecting
-          main target alternatives were improved.</p>
-      </li>
-
-      <li>
-        <b>Milestone 9.1</b> (Nov 06, 2003)
-
-        <p>Performance was considerably improved. The syntax for linking a
-        library into a library was simplified. The 'stage' rule can traverse
-        dependencies of the targets it installs. Regression testing support
-        now works on Windows. Some toolsets were improved. Bugs in project
-        loading and suffix determination were fixed.
-      </li>
-
-      <li>
-        <b>Milestone 10</b> (TBD)
-
-        <p>Remaining features for <a href="http://boost.org">C++ Boost</a>:
-        improved installation, Python support. Uniform toolset initialization
-        scheme. Many bugfixes</p>
-      </li>
-
-      
-      <li>
-        <b>Alpha</b> (TBD) 
-
-        <p>Optimization. Using buildable tools: consider using bison, which
-        is itself built with Boost.Build.</p>
-      </li>
-
-      <li>
-        <b>Beta</b> (TBD) 
-
-        <p>Feature-complete milestone.</p>
-      </li>
-
-      <li>
-        <b>2.0 Release</b> (TBD) 
-
-        <p>Bugfixes</p>
-      </li>
-    </ul>
-    <hr>
-
-    <p>© Copyright Vladimir Prus 2002-2003. Permission to copy, use,
-    modify, sell and distribute this document is granted provided this
-    copyright notice appears in all copies. This document is provided "as is"
-    without express or implied warranty, and with no claim as to its
-    suitability for any purpose.</p>
-
-    <p>Revised 
-    <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan
-                                        -->23 Aug, 2004 
-    <!--webbot bot="Timestamp" endspan i-checksum="13972"
-                                        -->
-    </p>
-  </body>
-</html>
-
diff --git a/SRC/Boost/tools/build/v2/doc/history.qbk b/SRC/Boost/tools/build/v2/doc/history.qbk
deleted file mode 100755
index c0de5ed..0000000
--- a/SRC/Boost/tools/build/v2/doc/history.qbk
+++ /dev/null
@@ -1,377 +0,0 @@
-[variablelist
-
-[[3.1.18] [
-
-After years of bjam developments.. This is going to be the last unbundled release of the
-3.1.x series. From this point forward bjam will only be bundled as part of the larger
-Boost Build system. And hence will likely change name at some point. As a side effect
-of this move people will get more frequent release of bjam (or whatever it ends up being
-called).
-
-[list
-    [li New built-ins, MD5, SPLIT_BY_CHARACTERS, PRECIOUS, PAD, FILE_OPEN, and UPDATE_NOW.
-        -- ['Vladimir P.]
-        ]
-    [li Ensure all file descriptors are closed when executing actions complete on *nix.
-        -- ['Noel B.]
-        ]
-    [li Fix warnings, patch from Mateusz Loskot.
-        -- ['Vladimir P.]
-        ]
-    [li Add KEEP_GOING var to programatically override the '-q' option.
-        -- ['Vladimir P.]
-        ]
-    [li Add more parameters, up to 19 from 9, to rule invocations. Patch from
-        Jonathan Biggar.
-        -- ['Vladimir P.]
-        ]
-    [li Print failed command output even if the normally quite '-d0' option.
-        -- ['Vladimir P.]
-        ]
-    [li Build of bjam with vc10, aka Visual Studio 2010.
-        -- ['Vladimir P.]
-        ]
-    [li More macros for detection of OSPLAT, patch from John W. Bito.
-        -- ['Vladimir P.]
-        ]
-    [li Add PARALLELISM var to programatically override the '-j' option.
-        -- ['Vladimir P.]
-        ]
-    [li Tweak doc building to allow for PDF generation of docs.
-        -- ['John M.]
-        ]
-]
-
-]]
-
-[[3.1.17] [
-
-A year in the making this release has many stability improvements and various performance
-improvements. And because of the efforts of Jurko the code is considerably more readable!
-
-[list
-    [li Reflect the results of calling bjam from Python.
-        -- ['Rene R.]
-        ]
-    [li For building on Windows: Rework how arguments are parsed and tested to fix handling
-        of quoted arguments, options arguments, and arguments with "=".
-        -- ['Rene R.]
-        ]
-    [li Try to work around at least one compiler bug with GCC and variable aliasing that
-        causes crashes with hashing file cache entries.
-        -- ['Rene R.]
-        ]
-    [li Add -Wc,-fno-strict-aliasing for QCC/QNX to avoid the same aliasing crashes as in
-        the general GCC 4.x series (thanks to Niklas Angare for the fix).
-        -- ['Rene R.]
-        ]
-    [li On Windows let the child bjam commands inherit stdin, as some commands assume
-        it's available.
-        -- ['Rene R.]
-        ]
-    [li On Windows don't limit bjam output to ASCII as some tools output characters in
-        extended character sets.
-        -- ['Rene R.]
-        ]
-    [li Isolate running of bjam tests to individual bjam instances to prevent possible
-        spillover errors from one test affecting another test. Separate the bjam used to run
-        the tests vs. the bjam being tested. And add automatic re-building of the bjam being
-        tested.
-        -- ['Rene R.]
-        ]
-    [li Fix some possible overrun issues revealed by Fortify build. Thanks to Steven Robbins
-        for pointing out the issues.
-        -- ['Rene R.]
-        ]
-    [li Handle \\n and \\r escape sequences.
-        -- ['Vladimir P.]
-        ]
-    [li Minor edits to remove -Wall warnings.
-        -- ['Rene R.]
-        ]
-    [li Dynamically adjust pwd buffer query size to allow for when PATH_MAX is default
-        defined instead of being provided by the system C library.
-        -- ['Rene R.]
-        ]
-    [li Minor perf improvement for bjam by replacing hash function with faster version. Only
-        1% diff for Boost tree.
-        -- ['Rene R.]
-        ]
-    [li Updated Boost Jam's error location reporting when parsing Jamfiles. Now it reports
-        the correct error location information when encountering an unexpected EOF. It now
-        also reports where an invalid lexical token being read started instead of finished
-        which makes it much easier to find errors like unclosed quotes or curly braces.
-        -- ['Jurko G.]
-        ]
-    [li Removed the -xarch=generic architecture from build.jam
-        as this option is unknown so the Sun compilers on Linux.
-        -- ['Noel B.]
-        ]
-    [li Fixed a bug with T_FATE_ISTMP getting reported as T_FATE_ISTMP & T_FATE_NEEDTMP at
-        the same time due to a missing break in a switch statement.
-        -- ['Jurko G.]
-        ]
-    [li Fixed a Boost Jam bug causing it to sometimes trigger actions depending on targets
-        that have not been built yet.
-        -- ['Jurko G.]
-        ]
-    [li Added missing documentation for Boost Jam's :T variable expansion modifier which
-        converts all back-slashes ('\\') to forward slashed ('/').
-        -- ['Jurko G.]
-        ]
-    [li Added Boost Jam support for executing command lines longer than 2047 characters (up
-        to 8191) characters when running on Windows XP or later OS version.
-        -- ['Jurko G.]
-        ]
-    [li Fixed a Boost Jam bug on Windows causing its SHELL command not to work correctly with
-        some commands containing quotes.
-        -- ['Jurko G.]
-        ]
-    [li Corrected a potential memory leak in Boost Jam's builtin_shell() function that would
-        appear should Boost Jam ever start to release its allocated string objects.
-        -- ['Jurko G.]
-        ]
-    [li Made all Boost Jam's ECHO commands automatically flush the standard output to make
-        that output more promptly displayed to the user.
-        -- ['Jurko G.]
-        ]
-    [li Made Boost Jam tests quote their bjam executable name when calling it allowing those
-        executables to contain spaces in their name and/or path.
-        -- ['Jurko G.]
-        ]
-    [li Change execunix.c to always use fork() instead of
-        vfork() on the Mac.  This works around known issues
-        with bjam on PPC under Tiger and a problem reported
-        by Rene with bjam on x86 under Leopard.
-        -- ['Noel B.]
-        ]
-    [li Corrected a bug in Boost Jam's base Jambase script causing it to trim the error
-        message displayed when its boost-build rule gets called multiple times.
-        -- ['Jurko G.]
-        ]
-    [li When importing from Python into an module with empty string as name,
-        import into root module.
-        -- ['Vladimir P.]
-        ]
-    [li Patch for the NORMALIZE_PATH builtin Boost Jam rule as well as an appropriate update
-        for the path.jam Boost Build module where that rule was being used to implement path
-        join and related operations.
-        -- ['Jurko G.]
-        ]
-    [li Fixed a bug causing Boost Jam not to handle target file names specified as both short
-        and long file names correctly.
-        -- ['Jurko G.]
-        ]
-    [li Relaxed test, ignoring case of drive letter.
-        -- ['Roland S.]
-        ]
-    [li Implemented a patch contributed by Igor Nazarenko reimplementing the list_sort()
-        function to use a C qsort() function instead of a hand-crafted merge-sort algorithm.
-        Makes some list sortings (e.g. 1,2,1,2,1,2,1,2, \.\.\.) extremely faster, in turn
-        significantly speeding up some project builds.
-        -- ['Jurko G.]
-        ]
-    [li Fixed a bug with bjam not handling the '\' root Windows path correctly without its
-        drive letter being specified.
-        -- ['Jurko G.]
-        ]
-    [li Solved the problem with child process returning the value 259 (Windows constant
-        STILL_ACTIVE) causing bjam never to detect that it exited and therefore keep running
-        in an endless loop.
-        -- ['Jurko G.]
-        ]
-    [li Solved the problem with bjam going into an active wait state, hogging up processor
-        resources, when waiting for one of its child processes to terminate while not all of
-        its available child process slots are being used.
-        -- ['Jurko G.]
-        ]
-    [li Solved a race condition between bjam's output reading/child process termination
-        detection and the child process's output generation/termination which could have
-        caused bjam not to collect the terminated process's final output.
-        -- ['Jurko G.]
-        ]
-    [li Change from vfork to fork for executing actions on Darwin to improve stability.
-        -- ['Noel B.]
-        ]
-    [li Code reformatting and cleanups.
-        -- ['Jurko G.]
-        ]
-    [li Implement ISFILE built-in.
-        -- ['Vladimir P.]
-        ]
-]
-
-]]
-
-[[3.1.16] [
-
-This is mostly a bug fix release.
-
-[list
-    [li Work around some Windows CMD.EXE programs that will fail executing a totally
-        empty batch file.
-        -- ['Rene R.]
-        ]
-    [li Add support for detection and building with =vc9=.
-        -- ['John P.]
-        ]
-    [li Plug memory leak when closing out actions. Thanks to Martin Kortmann for finding this.
-        -- ['Rene R.]
-        ]
-    [li Various improvements to =__TIMING_RULE__= and =__ACTION_RULE__= target variable
-        hooks.
-        -- ['Rene R.]
-        ]
-    [li Change [^JAMDATE] to use common ISO date format.
-        -- ['Rene R.]
-        ]
-    [li Add test for result status values of simple actions, i.e. empty actions.
-        -- ['Rene R.]
-        ]
-    [li Fix buffer overrun bug in expanding [^@()] subexpressions.
-        -- ['Rene R.]
-        ]
-    [li Check empty string invariants, instead of assuming all strings are allocated.
-        And reset strings when they are freed.
-        -- ['Rene R.]
-        ]
-    [li Add [^OSPLAT=PARISC] for HP-UX PA-RISC.
-        -- ['Boris G.]
-        ]
-    [li Make quietly actions really quiet by not printing the command output. The
-        output for the quietly actions is still available through =__ACTION_RULE__=.
-        -- ['Rene R.]
-        ]
-    [li Switch intel-win32 to use static multi thread runtime since the single
-        thread static runtime is no longer available.
-        -- ['Rene R.]
-        ]
-    [li When setting =OSPLAT=, check =__ia64= macro.
-        -- ['Boris G.]
-        ]
-    [li Get the unix timing working correctly.
-        -- ['Noel B.]
-        ]
-    [li Add =-fno-strict-aliasing= to compilation with gcc. Which works around
-        GCC-4.2 crash problems.
-        -- ['Boris G.]
-        ]
-    [li Increased support for Python integration.
-        -- ['Vladimir P.], ['Daniel W.]
-        ]
-    [li Allow specifying options with quotes, i.e. [^--with-python=xyz], to work
-        around the CMD shell using [^=] as an argument separator.
-        -- ['Rene R.]
-        ]
-    [li Add values of variables specified with -s to .EVNRION
-        module, so that we can override environment on
-        command line.
-        -- ['Vladimir P.]
-        ]
-    [li Make NORMALIZE_PATH convert \\ to /.
-        -- ['Vladimir P.]
-        ]
-]
-
-]]
-
-[[3.1.15] [
-
-This release sees a variety of fixes for long standing Perforce/Jam problems. Most of
-them relating to running actions in parallel with the -jN option. The end result of the
-changes is that running parallel actions is now reliably possible in Unix and Windows
-environments. Many thanks to Noel for joining the effort, to implement and fix the Unix
-side of stuff.
-
-[list
-    [li Add support for building bjam with pgi and pathscale toolsets.
-        -- ['Noel B.]
-        ]
-    [li Implement running action commands through pipes (-p option) to fix jumbled
-        output when using parallel execution with -j option. This is implemented
-        for Unix variants, and Windows (Win32/NT).
-        -- ['Rene R.], ['Noel B.]
-        ]
-    [li Add "sun" as alias to Sun Workshop compiler tools.
-        -- ['Rene R.]
-        ]
-    [li Set MAXLINE in jam.h to 23k bytes for AIX.  The piecemeal archive action
-        was broken with the default MAXLINE of 102400.  Because the AIX shell uses
-        some of the 24k default buffer size for its own use, I reduced it to 23k.
-        -- ['Noel B.]
-        ]
-    [li Make use of output dir options of msvc to not polute src dir with compiled files.
-        -- ['Rene R.]
-        ]
-    [li A small fix, so -d+2 will always show the "real" commands being executed
-        instead of casually the name of a temporary batch file.
-        -- ['Roland S.]
-        ]
-    [li Add test to check 'bjam -n'.
-        -- ['Rene R.]
-        ]
-    [li Add test to check 'bjam -d2'.
-        -- ['Rene R.]
-        ]
-    [li Bring back missing output of -n option. The -o option continues to be
-        broken as it has been for a long time now because of the @ file feature.
-        -- ['Rene R.]
-        ]
-    [li Update GC support to work with Boehm GC 7.0.
-        -- ['Rene R.]
-        ]
-    [li Revert the BOOST_BUILD_PATH change, since the directory passed to
-        boost-build should be first in searched paths, else project local
-        build system will not be picked correctly. The order had been changed to
-        allow searching of alternate user-config.jam files from boost build. This
-        better should be done with --user-config= switch or similar. 
-        -- ['Roland S.]
-        ]
-    [li Initial support for defining action body from Python.
-        -- ['Vladimir P.]
-        ]
-    [li Implement @() expansion during parse phase.
-        -- ['Rene R.]
-        ]
-    [li Define OSPLAT var unconditionally, and more generically, when possible.
-        -- ['Rene R.]
-        ]
-    [li Fix undeclared INT_MAX on some platforms, i.e. Linux.
-        -- ['Rene R.]
-        ]
-    [li Modified execunix.c to add support for terminating
-        processes that consume too much cpu or that hang and
-        fail to consume cpu at all.  This in support of the
-        bjam -lx option.
-        -- ['Noel B.]
-        ]
-    [li Add internal dependencies for multi-file generating actions to indicate
-        that the targets all only appear when the first target appears. This fixes
-        the long standing problem Perforce/Jam has with multi-file actions and
-        parallel execution (-jN).
-        -- ['Rene R.]
-        ]
-    [li Add test of -l limit option now that it's implemented on windows and unix.
-        -- ['Rene R.]
-        ]
-    [li Add test for no-op @() expansion.
-        -- ['Rene R.]
-        ]
-    [li Handle invalid formats of @() as doing a straight substitution instead of
-        erroring out.
-        -- ['Rene R.]
-        ]
-    [li Various fixes to compile on SGI/Irix.
-        -- ['Noel B.]
-        ]
-    [li Add output for when actions timeout with -lN option.
-        -- ['Rene R.], ['Noel B.]
-        ]
-    [li Add needed include (according to XOPEN) for definition of WIFEXITED and WEXITSTATUS.
-        -- ['Markus S.]
-        ]
-]
-
-]]
-
-]
diff --git a/SRC/Boost/tools/build/v2/doc/jamfile.jam b/SRC/Boost/tools/build/v2/doc/jamfile.jam
deleted file mode 100755
index 800c1f5..0000000
--- a/SRC/Boost/tools/build/v2/doc/jamfile.jam
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2004,2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import quickbook
-    ;
-
-project tools/build/v2/doc 
-    ;
-
-boostbook userman : src/standalone.xml 
-   : <xsl:param>toc.section.depth=1
-     <xsl:param>doc.standalone=true 
-     <xsl:param>nav.layout=none
-     <implicit-dependency>jam_docs
-     <dependency>jam_docs
-     <xsl:param>boost.root=../../../../..
-     <xsl:param>boost.defaults=Boost
-   ;
-   
-xml jam_docs : bjam.qbk ;   
-   
-if ! $(BOOST_ROOT)
-{   
-    BOOST_ROOT = [ modules.peek : BOOST_ROOT ] ;   
-}    
diff --git a/SRC/Boost/tools/build/v2/doc/src/architecture.xml b/SRC/Boost/tools/build/v2/doc/src/architecture.xml
deleted file mode 100755
index 72368cc..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/architecture.xml
+++ /dev/null
@@ -1,636 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE appendix PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-  <appendix id="bbv2.arch">
-    <title>Boost.Build v2 architecture</title>
-
-  <sidebar>
-    <para>This document is work-in progress. Don't expect much from it
-      yet.</para>
-  </sidebar>
-  
-  <section id="bbv2.arch.overview">
-    <title>Overview</title>
-
-    <para>The Boost.Build code is structured in four different components:
-    "kernel", "util", "build" and "tools". The first two are relatively
-    uninteresting, so we'll focus on the remaining pair. The "build" component
-    provides classes necessary to declare targets, determine which properties
-    should be used for their building, and for creating the dependency
-    graph. The "tools" component provides user-visible functionality. It
-    mostly allows to declare specific kind of main targets, and declare
-    avaiable tools, which are then used when creating the dependency graph.
-    </para>
-    
-  </section>
-
-  <section id="bbv2.arch.build">
-    <title>The build layer</title>
-
-      <para>The build layer has just four main parts -- metatargets (abstract targets),
-        virtual targets, generators and properties. 
-        <itemizedlist>
-          <listitem><para>Metatargets (see the "targets.jam" module) represent
-              all the user-defined entities which can be built. The "meta" prefix
-              signify that they don't really corrspond to files -- depending of
-              build request, they can produce different set of
-              files. Metatargets are created when Jamfiles are loaded. Each
-              metagarget has a <code>generate</code> method which is given a
-              property set and produces virtual targets for the passed properties.
-            </para></listitem>
-          <listitem><para>Virtual targets (see the "virtual-targets.jam"
-              module) correspond to the atomic things which can be updated --
-              most typically files. 
-            </para></listitem>
-          <listitem><para>Properties are just (name, value) pairs, specified
-              by the user and describing how the targets should be
-              built. Properties are stored using the <code>property-set</code> class.
-              </para></listitem>
-          <listitem><para>Generators are the objects which encapsulate tools
-              -- they can take a list of source virtual targets and produce new
-              virtual targets from them.
-            </para></listitem>
-        </itemizedlist>
-      </para>
-
-      <para>The build process includes those steps:
-        <orderedlist>
-          <listitem><para>Top-level code calls the <code>generate</code>
-              method of a metatarget with some properties.  </para></listitem>
-
-
-          <listitem><para>The metatarget combines the requested properties
-              with requirements and passes the result, together with the list
-              of sources, to the <code>generators.construct</code>
-              function</para></listitem> 
-
-          
-          <listitem><para>A generator appropriate for the build properties is
-              selected and its <code>run</code> method is
-              called. The method returns a list of virtual targets
-            </para></listitem>
-
-          <listitem><para>The targets are returned to the top level code. They
-              are converted into bjam targets (via
-              <code>virtual-target.actualize</code>) and passed to bjam for building.
-            </para></listitem>
-        </orderedlist>
-      </para>
-
-      <section id="bbv2.arch.metatargets">
-        <title>Metatargets</title>
-
-        <para>There are several classes derived from "abstract-target". The
-          "main-target" class represents top-level main target, the "project-target"
-          acts like container for all main targets, and "basic-target" class is a
-          base class for all further target types.
-        </para>
-        
-        <para>Since each main target can have several alternatives, all top-level
-          target objects are just containers, referring to "real" main target
-          classes. The type is that container is "main-target". For example, given:
-<programlisting>
-alias a ;
-lib a : a.cpp : <toolset>gcc ;
-</programlisting>
-          we would have one-top level instance of "main-target-class", which will
-          contain one instance of "alias-target-class" and one instance of
-          "lib-target-class". The "generate" method of "main-target" decides
-          which of the alternative should be used, and call "generate" on the
-          corresponding instance.
-        </para>
-
-        <para>Each alternative is a instance of a class derived from
-          "basic-target". The "basic-target.generate" does several things that are
-          always should be done:
-          <itemizedlist>
-            <listitem>
-              <para>Determines what properties should be used for building the
-                target. This includes looking at requested properties, requirements,
-                and usage requirements of all sources.</para>
-            </listitem>
-            <listitem>
-              <para>Builds all sources</para>
-            </listitem>
-            <listitem>
-              <para>Computes the usage requirements which should be passes back.</para>
-            </listitem>
-          </itemizedlist>
-          For the real work of constructing virtual target, a new method
-          "construct" is called.
-        </para>
-
-        <para>The "construct" method can be implemented in any way by classes
-          derived from "basic-target", but one specific derived class plays the
-          central role -- "typed-target". That class holds the desired type of file
-          to be produces, and calls the generators modules to do the job.
-        </para>
-
-        <para>This means that a specific metatarget subclass may avoid using
-          generators at all. However, this is deprecated and we're trying to
-          eliminate all such subsclasses at the moment.
-        </para>
-
-        <para>Note that the <filename>build/targets.jam</filename> file contains
-            an UML diagram which might help.</para>
-
-      </section>
-
-      <section id="bbv2.arch.virtual">
-        <title>Virtual targets</title>
-
-        <para>Virtual targets correspond to the atomic things which can be
-          updated. Each virtual target can be assigned an updating action --
-          instance of the <code>action</code> class. The action class, in
-          turn, contains a list of source targets, properties, and a name of
-          bjam action block which should be executed.
-        </para>
-
-        <para>We try hard to never create equal instances of the
-          <code>virtual-target</code> class. Each code which creates virtual
-          targets passes them though the <code>virtual-target.register</code>
-          function, which detects if a target with the same name, sources, and
-          properties was created. In that case, existing target is returned.
-        </para>
-        
-        <para>When all virtual targets are produced, they are
-          "actualized". This means that the real file names are computed, and
-          the commands that should be run are generated. This is done by the
-          <code>virtual-target.actualize</code> method and the
-          <code>action.actualize</code> methods. The first is conceptually
-          simple, while the second need additional explanation. The commands
-          in bjam are generated in two-stage process. First, a rule with the
-          appropriate name (for example
-          "gcc.compile") is called and is given the names of targets. The rule
-          sets some variables, like "OPTIONS". After that, the command string
-          is taken, and variable are substitutes, so use of OPTIONS inside the
-          command string become the real compile options.
-        </para>
-
-        <para>Boost.Build added a third stage to simplify things. It's now
-          possible to automatically convert properties to appropriate assignments to
-          variables. For example, <debug-symbols>on would add "-g" to the
-          OPTIONS variable, without requiring to manually add this logic to
-          gcc.compile. This functionality is part of the "toolset" module.
-        </para>
-
-        <para>Note that the <filename>build/virtual-targets.jam</filename> file
-            contains an UML diagram which might help.</para>
-      </section>
-
-      <section id="bbv2.arch.properties">
-        <para>Above, we noted that metatargets are built with a set of
-          properties. That set is represented with the
-          <code>property-set</code> class. An important point is that handling
-          of property sets can get very expensive. For that reason, we make
-          sure that for each set of (name, value) pairs only one
-          <code>property-set</code> instance is created. The
-          <code>property-set</code> uses extensive caching for all operation,
-          so most work is avoided. The <code>property-set.create</code> is the 
-          factory function which should be used to create instances of the
-          <code>property-set</code> class.
-        </para>
-      </section>
-      
-        
-  </section>
-
-  <section id="bbv2.arch.tools">
-    <title>The tools layer</title>
-
-    <para>Write me!</para>
-
-  </section>
-  
-    <section id="bbv2.arch.targets">
-      <title>Targets</title>
-
-  <para>NOTE: THIS SECTION IS NOT EXPECTED TO BE READ!
-        There are two user-visible kinds of targets in Boost.Build.
-  First are "abstract" &#x2014; they correspond to things declared
-  by user, for example, projects and executable files. The primary
-  thing about abstract target is that it's possible to request them
-  to be build with a particular values of some properties. Each
-  combination of properties may possible yield different set of
-  real file, so abstract target do not have a direct correspondence
-  with files.</para>
-
-  <para>File targets, on the contary, are associated with concrete
-  files. Dependency graphs for abstract targets with specific
-  properties are constructed from file targets. User has no was to
-  create file targets, however it can specify rules that detect
-  file type for sources, and also rules for transforming between
-  file targets of different types. That information is used in
-  constructing dependency graph, as desribed in the "next section".
-  [ link? ] <emphasis role="bold">Note:</emphasis>File targets are not
-  the same as targets in Jam sense; the latter are created from
-  file targets at the latest possible moment. <emphasis role="bold">Note:</emphasis>"File
-  target" is a proposed name for what we call virtual targets. It
-  it more understandable by users, but has one problem: virtual
-  targets can potentially be "phony", and not correspond to any
-  file.</para>
-
-    <section id="bbv2.arch.depends">
-      <title>Dependency scanning</title>
-
-  <para>Dependency scanning is the process of finding implicit
-  dependencies, like "#include" statements in C++. The requirements
-  for right dependency scanning mechanism are:</para>
-
-  <itemizedlist>
-    <listitem>
-      <simpara>
-        Support for different scanning algorithms. C++ and XML have
-    quite different syntax for includes and rules for looking up
-    included files.
-      </simpara>
-    </listitem>
-
-    <listitem>
-      <simpara>
-        Ability to scan the same file several times. For example,
-    single C++ file can be compiled with different include
-    paths.
-      </simpara>
-    </listitem>
-
-    <listitem>
-      <simpara>
-        Proper detection of dependencies on generated files.
-      </simpara>
-    </listitem>
-
-    <listitem>
-      <simpara>
-        Proper detection of dependencies from generated file.
-      </simpara>
-    </listitem>
-  </itemizedlist>
-
-      <section>
-        <title>Support for different scanning algorithms</title>
-
-  <para>Different scanning algorithm are encapsulated by objects
-  called "scanners". Please see the documentation for "scanner"
-  module for more details.</para>
-
-      </section>
-
-      <section>
-        <title>Ability to scan the same file several times</title>
-
-  <para>As said above, it's possible to compile a C++ file twice, with
-  different include paths. Therefore, include dependencies for
-  those compilations can be different. The problem is that bjam
-  does not allow several scans of the same target.</para>
-
-  <para>The solution in Boost.Build is straigtforward. When a virtual
-  target is converted to bjam target (via
-  <literal>virtual-target.actualize</literal> method), we specify the scanner
-  object to be used. The actualize method will create different
-  bjam targets for different scanners.</para>
-
-  <para>All targets with specific scanner are made dependent on target
-  without scanner, which target is always created. This is done in
-  case the target is updated. The updating action will be
-  associated with target without scanner, but if sources for that
-  action are touched, all targets &#x2014; with scanner and without
-  should be considered outdated.</para>
-
-  <para>For example, assume that "a.cpp" is compiled by two compilers
-  with different include path. It's also copied into some install
-  location. In turn, it's produced from "a.verbatim". The
-  dependency graph will look like:</para>
-
-<programlisting>
-a.o (<toolset>gcc)  <--(compile)-- a.cpp (scanner1) ----+
-a.o (<toolset>msvc) <--(compile)-- a.cpp (scanner2) ----|
-a.cpp (installed copy)    <--(copy) ----------------------- a.cpp (no scanner)
-                                                                 ^
-                                                                 |
-                       a.verbose --------------------------------+
-</programlisting>
-
-      </section>
-      <section>
-        <title>Proper detection of dependencies on generated files.</title>
-
-  <para>This requirement breaks down to the following ones.</para>
-
-  <orderedlist>
-    <listitem>
-      <simpara>
-        If when compiling "a.cpp" there's include of "a.h", the
-    "dir" directory is in include path, and a target called "a.h"
-    will be generated to "dir", then bjam should discover the
-    include, and create "a.h" before compiling "a.cpp".
-      </simpara>
-    </listitem>
-
-    <listitem>
-      <simpara>
-      Since almost always Boost.Build generates targets to a
-    "bin" directory, it should be supported as well. I.e. in the
-    scanario above, Jamfile in "dir" might create a main target,
-    which generates "a.h". The file will be generated to "dir/bin"
-    directory, but we still have to recognize the dependency.
-      </simpara>
-    </listitem>
-  </orderedlist>
-
-  <para>The first requirement means that when determining what "a.h"
-  means, when found in "a.cpp", we have to iterate over all
-  directories in include paths, checking for each one:</para>
-
-  <orderedlist>
-    <listitem>
-      <simpara>
-        If there's file "a.h" in that directory, or
-      </simpara>
-    </listitem>
-
-    <listitem>
-      <simpara>
-        If there's a target called "a.h", which will be generated
-    to that directory.
-      </simpara>
-    </listitem>
-  </orderedlist>
-
-  <para>Classic Jam has built-in facilities for point (1) above, but
-  that's not enough. It's hard to implement the right semantic
-  without builtin support. For example, we could try to check if
-  there's targer called "a.h" somewhere in dependency graph, and
-  add a dependency to it. The problem is that without search in
-  include path, the semantic may be incorrect. For example, one can
-  have an action which generated some "dummy" header, for system
-  which don't have the native one. Naturally, we don't want to
-  depend on that generated header on platforms where native one is
-  included.</para>
-
-  <para>There are two design choices for builtin support. Suppose we
-  have files a.cpp and b.cpp, and each one includes header.h,
-  generated by some action. Dependency graph created by classic jam
-  would look like:</para>
-
-<programlisting>
-a.cpp -----> <scanner1>header.h  [search path: d1, d2, d3]
-
-
-                  <d2>header.h  --------> header.y
-                  [generated in d2]
-           
-b.cpp -----> <scanner2>header.h [ search path: d1, d2, d4]
-</programlisting>
-
-    <para>
-In this case, Jam thinks all header.h target are not
-realated. The right dependency graph might be:
-
-<programlisting>
-a.cpp ---- 
-          \
-           \     
-            >---->  <d2>header.h  --------> header.y
-           /       [generated in d2]
-          / 
-b.cpp ----
-</programlisting>
-
-or
-
-<programlisting>
-a.cpp -----> <scanner1>header.h  [search path: d1, d2, d3]
-                          |
-                       (includes)
-                          V
-                  <d2>header.h  --------> header.y
-                  [generated in d2]
-                          ^
-                      (includes)  
-                          |
-b.cpp -----> <scanner2>header.h [ search path: d1, d2, d4]
-</programlisting>
-        </para>
-
-        <para>
-The first alternative was used for some time. The problem
-however is: what include paths should be used when scanning
-header.h? The second alternative was suggested by Matt Armstrong.
-It has similiar effect: add targets which depend on
-<scanner1>header.h will also depend on <d2>header.h.
-But now we have two different target with two different scanners,
-and those targets can be scanned independently. The problem of
-first alternative is avoided, so the second alternative is
-implemented now.
-        </para>
-
-  <para>The second sub-requirements is that targets generated to "bin"
-  directory are handled as well. Boost.Build implements
-  semi-automatic approach. When compiling C++ files the process
-  is:</para>
-
-  <orderedlist>
-    <listitem>
-      <simpara>
-        The main target to which compiled file belongs is found.
-      </simpara>
-    </listitem>
-
-    <listitem>
-      <simpara>
-        All other main targets that the found one depends on are
-    found. Those include main target which are used as sources, or
-    present as values of "dependency" features.
-      </simpara>
-    </listitem>
-
-    <listitem>
-      <simpara>
-        All directories where files belonging to those main target
-    will be generated are added to the include path.
-      </simpara>
-    </listitem>
-  </orderedlist>
-
-  <para>After this is done, dependencies are found by the approach
-  explained previously.</para>
-
-  <para>Note that if a target uses generated headers from other main
-  target, that main target should be explicitly specified as
-  dependency property. It would be better to lift this requirement,
-  but it seems not very problematic in practice.</para>
-
-  <para>For target types other than C++, adding of include paths must
-  be implemented anew.</para>
-
-      </section>
-      <section>
-        <title>Proper detection of dependencies from generated files</title>
-
-  <para>Suppose file "a.cpp" includes "a.h" and both are generated by
-  some action. Note that classic jam has two stages. In first stage
-  dependency graph graph is build and actions which should be run
-  are determined. In second stage the actions are executed.
-  Initially, neither file exists, so the include is not found. As
-  the result, jam might attempt to compile a.cpp before creating
-  a.h, and compilation will fail.</para>
-
-  <para>The solution in Boost.Jam is to perform additional dependency
-  scans after targets are updated. This break separation between
-  build stages in jam &#x2014; which some people consider a good
-  thing &#x2014; but I'm not aware of any better solution.</para>
-
-  <para>In order to understand the rest of this section, you better
-  read some details about jam dependency scanning, available
-  <ulink url=
-  "http://public.perforce.com:8080/@md=d&cd=//public/jam/src/&ra=s&c=kVu@//2614?ac=10">
-  at this link</ulink>.</para>
-
-  <para>Whenever a target is updated, Boost.Jam rescans it for
-  includes. Consider this graph, created before any actions are
-  run.</para>
-
-<programlisting>
-A -------> C ----> C.pro
-     /
-B --/         C-includes   ---> D
-</programlisting>
-
-        <para>
-Both A and B have dependency on C and C-includes (the latter
-dependency is not shown). Say during building we've tried to create
-A, then tried to create C and successfully created C.
-        </para>
-
-  <para>In that case, the set of includes in C might well have
-  changed. We do not bother to detect precisely which includes were
-  added or removed. Instead we create another internal node
-  C-includes-2. Then we determine what actions should be run to
-  update the target. In fact this mean that we perform logic of
-  first stage while already executing stage.</para>
-
-  <para>After actions for C-includes-2 are determined, we add
-  C-includes-2 to the list of A's dependents, and stage 2 proceeds
-  as usual. Unfortunately, we can't do the same with target B,
-  since when it's not visited, C target does not know B depends on
-  it. So, we add a flag to C which tells and it was rescanned. When
-  visiting B target, the flag is notices and C-includes-2 will be
-  added to the list of B's dependencies.</para>
-
-  <para>Note also that internal nodes are sometimes updated too.
-  Consider this dependency graph:</para>
-
-<programlisting>
-a.o ---> a.cpp
-            a.cpp-includes -->  a.h (scanned)
-                                   a.h-includes ------> a.h (generated)
-                                                                 |
-                                                                 |
-            a.pro <-------------------------------------------+
-</programlisting>
-
-  <para>Here, out handling of generated headers come into play. Say
-  that a.h exists but is out of date with respect to "a.pro", then
-  "a.h (generated)" and "a.h-includes" will be marking for
-  updating, but "a.h (scanned)" won't be marked. We have to rescan
-  "a.h" file after it's created, but since "a.h (generated)" has no
-  scanner associated with it, it's only possible to rescan "a.h"
-  after "a.h-includes" target was updated.</para>
-
-  <para>Tbe above consideration lead to decision that we'll rescan a
-  target whenever it's updated, no matter if this target is
-  internal or not.</para>
-
-  <warning>
-    <para>
-    The remainder of this document is not indended to be read at
-    all. This will be rearranged in future.
-    </para>
-  </warning>
-
-        <section>
-          <title>File targets</title>
-  
-          <para>
-  As described above, file targets corresponds
-  to files that Boost.Build manages. User's may be concerned about
-  file targets in three ways: when declaring file target types,
-  when declaring transformations between types, and when
-  determining where file target will be placed. File targets can
-  also be connected with actions, that determine how the target is
-  created. Both file targets and actions are implemented in the
-  <literal>virtual-target</literal> module.
-          </para>
-
-            <section> 
-              <title>Types</title>
-              
-              <para>A file target can be given a file, which determines
-  what transformations can be applied to the file. The
-  <literal>type.register</literal> rule declares new types. File type can
-  also be assigned a scanner, which is used to find implicit
-  dependencies. See "dependency scanning" [ link? ] below.</para>
-            </section>
-          </section>
-
-          <section>
-            <title>Target paths</title>
-
-  <para>To distinguish targets build with different properties, they
-  are put in different directories. Rules for determining target
-  paths are given below:</para>
-
-  <orderedlist>
-    <listitem>
-      <simpara>
-        All targets are placed under directory corresponding to the
-    project where they are defined.
-      </simpara>
-        </listitem>
-
-    <listitem>
-      <simpara>
-        Each non free, non incidental property cause an additional
-    element to be added to the target path. That element has the
-    form <literal><feature-name>-<feature-value></literal> for
-    ordinary features and <literal><feature-value></literal> for
-    implicit ones. [Note about composite features].
-      </simpara>
-        </listitem>
-
-    <listitem>
-      <simpara>
-        If the set of free, non incidental properties is different
-    from the set of free, non incidental properties for the project
-    in which the main target that uses the target is defined, a
-    part of the form <literal>main_target-<name></literal> is added to
-    the target path. <emphasis role="bold">Note:</emphasis>It would be nice to completely
-    track free features also, but this appears to be complex and
-    not extremely needed.
-      </simpara>
-        </listitem>
-  </orderedlist>
-
-  <para>For example, we might have these paths:</para>
-
-<programlisting>
-debug/optimization-off
-debug/main-target-a
-</programlisting>
-
-          </section>
-        </section>
-      </section>
-    </section>
-  </appendix>
-
-<!--
-     Local Variables:
-     mode: xml
-     sgml-indent-data: t     
-     sgml-parent-document: ("userman.xml" "chapter")
-     sgml-set-face: t
-     End:
--->
diff --git a/SRC/Boost/tools/build/v2/doc/src/catalog.xml b/SRC/Boost/tools/build/v2/doc/src/catalog.xml
deleted file mode 100755
index f008015..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/catalog.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE catalog 
-  PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN"
-  "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
-  <rewriteURI uriStartString="http://www.boost.org/tools/boostbook/dtd/" rewritePrefix="file:///home/ccurrie/src/boost/tools/boostbook/dtd//"/>
-  <rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl/current/" rewritePrefix="file:///shared/ccurrie/share/sgml/docbook/docbook-xsl-1.64.1/"/>
-  <rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.2/" rewritePrefix="file:///shared/ccurrie/share/sgml/docbook/docbook-dtd-4.2/"/>
-</catalog>
diff --git a/SRC/Boost/tools/build/v2/doc/src/extending.xml b/SRC/Boost/tools/build/v2/doc/src/extending.xml
deleted file mode 100755
index f2804bc..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/extending.xml
+++ /dev/null
@@ -1,1207 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE appendix PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-  <chapter id="bbv2.extender">
-    <title>Extender Manual</title>
-
-    <section id="bbv2.extender.intro">
-      <title>Introduction</title>
-
-      <para>
-        This section explains how to extend Boost.Build to accomodate your
-        local requirements—primarily to add support for non-standard
-        tools you have. Before we start, be sure you have read and understoon
-        the concept of metatarget, <xref linkend="bbv2.overview.concepts"/>,
-        which is critical to understanding the remaining material.
-      </para>
-
-      <para>
-        The current version of Boost.Build has three levels of targets, listed
-        below.
-      </para>
-
-      <variablelist>
-        
-        <varlistentry>
-          <term>metatarget</term>
-          <listitem>
-            <para>
-              Object that is created from declarations in Jamfiles. May
-              be called with a set of properties to produce concrete
-              targets.
-            </para>
-          </listitem>
-        </varlistentry>
-        
-        <varlistentry>
-          <term>concrete target</term>
-          <listitem>
-            <para>
-              Object that corresponds to a file or an action.
-            </para>
-          </listitem>
-        </varlistentry>
-        
-        <varlistentry>
-          <term>jam target</term>
-          <listitem>
-            <para>
-              Low-level concrete target that is specific to Boost.Jam build
-              engine. Essentially a string—most often a name of file.                
-            </para>
-          </listitem>
-        </varlistentry>
-        
-      </variablelist>
-
-      <para>
-        In most cases, you will only have to deal with concrete targets and
-        the process that creates concrete targets from
-        metatargets. Extending metatarget level is rarely required. The jam
-        targets are typically only used inside the command line patterns.
-      </para>
-
-      <warning>
-        <para>All of the Boost.Jam target-related builtin functions, like
-        <code>DEPENDS</code> or <code>ALWAYS</code> operate on jam
-        targets. Applying them to metatargets or concrete targets has no
-        effect.</para>
-      </warning>
-            
-      <section id="bbv2.extender.overview.metatargets">
-        <title>Metatargets</title>
-        
-        <para>Metatarget is an object that records information specified
-        in Jamfile, such as metatarget kind, name, sources and properties,
-        and can be called with specific properties to generate concrete
-        targets. At the code level it is represented by an instance of
-        class derived from <classname>abstract-target</classname>. 
-        <footnote><para>This name is historic, and will be eventuall changed to 
-        <code>metatarget</code></para></footnote>
-        </para>
-        
-        <para>The <methodname>generate</methodname> method takes the build properties
-        (as an instance of the <classname>property-set</classname> class) and returns
-        a list containing:</para>
-        <itemizedlist>
-          <listitem><para>As front element—Usage-requirements from this invocation
-          (an instance of <classname>property-set</classname>)</para></listitem>
-          <listitem><para>As subsequent elements—created concrete targets (
-          instances of the <classname>virtual-target</classname> class.)</para></listitem>
-        </itemizedlist>
-        
-        <para>It's possible to lookup a metataget by target-id using the 
-        <code>targets.resolve-reference</code> function, and the
-        <code>targets.generate-from-reference</code> function can both
-        lookup and generate a metatarget.</para>
-        
-        <para>The <classname>abstract-target</classname> class has three immediate
-        derived classes:</para>
-        <itemizedlist>
-          
-          <listitem><para><classname>project-target</classname> that
-          corresponds to a project and is not intended for further
-          subclassing. The <methodname>generate</methodname> method of this
-          class builds all targets in the project that are not marked as
-          explicit.</para></listitem>
-          
-          <listitem><para><classname>main-target</classname> corresponds to a target in a project
-          and contains one or more target alternatives. This class also should not be 
-          subclassed. The <methodname>generate</methodname> method of this class selects 
-          an alternative to build, and calls the <methodname>generate</methodname> method of that
-          alternative.</para></listitem>
-          
-          <listitem><para><classname>basic-target</classname> corresponds to a
-          specific target alternative. This is base class, with a number of
-          derived classes.  The <methodname>generate</methodname> method
-          processes the target requirements and requested build properties to
-          determine final properties for the target, builds all sources, and
-          finally calls the abstract <classname>construct</classname> method with the list
-          of source virtual targets, and the final properties.
-          </para></listitem>
-          
-        </itemizedlist>
-        
-        <para>The instances of the <classname>project-target</classname> and
-        <classname>main-target</classname> classes are created
-        implicitly—when loading a new Jamfiles, or when a new target
-        alternative with as-yet unknown name is created.  The instances of the
-        classes derived from <classname>basic-target</classname> are typically
-        created when Jamfile calls a <firstterm>metatarget rule</firstterm>,
-        such as such as <code>exe</code>.
-        </para>
-        
-        <para>It it permissible to create a custom class derived from
-        <classname>basic-target</classname> and create new metatarget rule
-        that creates instance of such target. However, in the majority
-        of cases, a specific subclass of <classname>basic-target</classname>—
-        <classname>typed-target</classname> is used. That class is associated
-        with a <firstterm>type</firstterm> and relays to <firstterm>generators</firstterm>
-        to construct concrete targets of that type. This process will be explained below.
-        When a new type is declared, a new metatarget rule is automatically defined.
-        That rule creates new instance of type-target, associated with that type.                
-        </para>
-        
-      </section>
-
-      <section id="bbv2.extender.overview.targets">
-        <title>Concrete targets</title>
-
-        <para>Concrete targets are represented by instance of classes derived
-        from <classname>virtual-target</classname>. The most commonly used
-        subclass is <classname>file-target</classname>. A file target is associated
-        with an action that creates it— an instance of the <classname>action</classname>
-        class. The action, in turn, hold a list of source targets. It also holds the 
-        <classname>property-set</classname> instance with the build properties that
-        should be used for the action.</para>
-
-        <para>Here's an example of creating a target from another target, <code>source</code></para>
-<programlisting>
-local a = [ new action $(source) : common.copy : $(property-set) ] ;
-local t = [ new file-target $(name) : CPP : $(project) : $(a) ] ;
-</programlisting>
-        <para>The first line creates an instance of the <classname>action></classname> class.
-        The first parameter is the list of sources. The second parameter is the name
-        a jam-level <link linkend="bbv2.overview.jam_language.actions">action</link>.
-        The third parameter is the property-set applying to this action. The second line
-        creates a target. We specifie a name, a type and a project. We also pass the
-        action object created earlier.  If the action creates several targets, we can repeat
-        the second line several times.</para>
-
-        <para>In some cases, code that creates concrete targets may be invoked more than
-        once with the same properties. Returning to different instance of <classname>file-target</classname>
-        that correspond to the same file clearly will result in problems. Therefore, whenever
-        returning targets you should pass them via the <code>virtual-target.register</code>
-        function, that will replace targets with previously created identical ones, as
-        necessary.<footnote><para>This create-then-register pattern is caused by limitations 
-        of the Boost.Jam language. Python port is likely to never create duplicate targets.</para></footnote>
-        Here are a couple of examples:
-<programlisting>
-return [ virtual-target.register $(t) ] ;
-return [ sequence.transform virtual-target.register : $(targets) ] ;
-</programlisting>
-        </para>
-
-      </section>
-      
-      <section id="bbv2.extender.overview.generators">
-        <title>Generators</title>
-
-        <para>In theory, every kind of metatarget in Boost.Build (like <code>exe</code>, 
-        <code>lib</code> or <code>obj</code>) could be implemented
-        by writing a new metatarget class that, independently of the other code, figures
-        what files to produce and what commands to use. However, that would be rather inflexible.
-        For example, adding support for a new compiler would require editing several metatargets.
-        </para>
-
-        <para>In practice, most files have specific types, and most tools
-        consume and produce files of specific type. To take advantage of this
-        fact, Boost.Build defines concept of target type and
-        <indexterm><primary>generators</primary></indexterm>
-        <firstterm>generators</firstterm>, and has special metatarget class
-        <classname>typed-target</classname>.  Target type is merely an
-        identifier. It is associated with a set of file extensions that
-        correspond to that type. Generator is an abstraction of a tool. It advertises
-        the types it produces and, if called with a set of input target, tries to construct
-        output targets of the advertised types. Finally, <classname>typed-target</classname>
-        is associated with specific target type, and relays the generator (or generators)
-        for that type.
-        </para>
-
-        <para>A generator is an instance of a class derived from <classname>generator</classname>.
-        The <classname>generator</classname> class itself is suitable for common cases.
-        You can define derived classes for custom scenarios.</para>
-
-        <!--
-        <para>Given a set of generators, the fundamental operation is to
-        construct a target of a given type, with given properties, from a
-        set of targets. That operation is performed by rule
-        <literal>generators.construct</literal> and the used algorithm is described
-        below.</para>
-
-        <section>
-          <title>Selecting and ranking viable generators</title>
-
-          <para>Each generator, in addition to target types that it can
-          produce, have attribute that affects its applicability in
-          particular sitiation. Those attributes are:</para>
-
-          <orderedlist>
-            <listitem>
-              <simpara>
-                Required properties, which are properties absolutely
-                necessary for the generator to work. For example, generator
-                encapsulating the gcc compiler would have <toolset>gcc as
-                required property.
-              </simpara>
-            </listitem>
-
-            <listitem>
-              <simpara>
-                Optional properties, which increase the generators
-                suitability for a particual build.
-              </simpara>
-            </listitem>
-          </orderedlist>
-
-          <para>
-            Generator's required and optional properties may not include
-            either free or incidental properties. (Allowing this would
-            greatly complicate caching targets).
-          </para>
-
-          <para>When trying to construct a target, the first step is to select
-          all possible generators for the requested target type, which
-          required properties are a subset of requested properties.
-          Generators that were already selected up the call stack are
-          excluded. In addition, if any composing generators were selected
-          up the call stack, all other composing generators are ignored
-          (TODO: define composing generators). The found generators
-          are assigned a rank, which is the number of optional properties
-          present in requested properties. Finally, generators with highest
-          rank are selected for futher processing.</para>
-
-        </section>
-        <section>
-          <title>Running generators</title>
-
-          <para>When generators are selected, each is run to produce a list of
-          created targets. This list might include targets that are not of
-          requested types, because generators create the same targets as
-          some tool, and tool's behaviour is fixed. (Note: should specify
-          that in some cases we actually want extra targets). If generator
-          fails, it returns an empty list. Generator is free to call
-          'construct' again, to convert sources to the types it can handle.
-          It also can pass modified properties to 'construct'. However, a
-          generator is not allowed to modify any propagated properties,
-          otherwise when actually consuming properties we might discover
-          that the set of propagated properties is different from what was
-          used for building sources.</para>
-
-          <para>For all targets that are not of requested types, we try to
-          convert them to requested type, using a second call to
-          <literal>construct</literal>. This is done in order to support
-          transformation sequences where single source file expands to
-          several later. See <ulink url=
-          "http://groups.yahoo.com/group/jamboost/message/1667">this
-          message</ulink> for details.</para>
-
-        </section>
-
-        -->
-
-        <!-- FIXME: review the below content. Maybe, some of it is
-             still useful.
-        <section>
-          <title>Property adjustment</title>
-
-          <para>Because target location is determined by the build system, it
-          is sometimes necessary to adjust properties, in order to not
-          break actions. For example, if there's an action that generates
-          a header, say "a_parser.h", and a source file "a.cpp" which
-          includes that file, we must make everything work as if a_parser.h
-          is generated in the same directory where it would be generated
-          without any subvariants.</para>
-
-          <para>Correct property adjustment can be done only after all targets
-          are created, so the approach taken is:</para>
-
-          <orderedlist>
-            <listitem>
-              <para>
-                When dependency graph is constructed, each action can be
-                assigned a rule for property adjustment.
-              </para>
-            </listitem>
-
-            <listitem>
-              <para>
-                When virtual target is actualized, that rule is run and
-                return the final set of properties. At this stage it can use
-                information of all created virtual targets.
-              </para>
-            </listitem>
-          </orderedlist>
-
-          <para>In case of quoted includes, no adjustment can give 100% correct
-          results. If target dirs are not changed by build system, quoted
-          includes are searched in "." and then in include path, while angle
-          includes are searched only in include path. When target dirs are
-          changed, we'd want to make quoted includes to be search in "." then in
-          additional dirs and then in the include path and make angle includes
-          be searched in include path, probably with additional paths added at
-          some position. Unless, include path already has "." as the first
-          element, this is not possible. So, either generated headers should not
-          be included with quotes, or first element of include path should be
-          ".", which essentially erases the difference between quoted and angle
-          includes. <emphasis role="bold">Note:</emphasis> the only way to get
-          "." as include path into compiler command line is via verbatim
-          compiler option. In all other case, Boost.Build will convert "." into
-          directory where it occurs.</para> 
-
-        </section>
-
-        -->
-
-      </section>
-      
-    </section>
-
-    <section id="bbv2.extender.example">
-      <title>Example: 1-to-1 generator</title>
-
-      <para>Say you're writing an application that generates C++ code. If
-      you ever did this, you know that it's not nice. Embedding large
-      portions of C++ code in string literals is very awkward. A much
-      better solution is:</para>
-
-      <orderedlist>
-        <listitem>
-          <simpara>
-            Write the template of the code to be generated, leaving
-            placeholders at the points that will change
-          </simpara>
-        </listitem>
-        
-        <listitem>
-          <simpara>
-            Access the template in your application and replace
-            placeholders with appropriate text.
-          </simpara>
-        </listitem>
-        
-        <listitem>
-          <simpara>Write the result.</simpara>
-        </listitem>
-      </orderedlist>
-      
-      <para>It's quite easy to achieve. You write special verbatim files that are
-      just C++, except that the very first line of the file contains the name of a
-      variable that should be generated. A simple tool is created that takes a
-      verbatim file and creates a cpp file with a single <code>char*</code> variable
-      whose name is taken from the first line of the verbatim file and whose value
-      is the file's properly quoted content.</para>
-
-      <para>Let's see what Boost.Build can do.</para>
-      
-      <para>First off, Boost.Build has no idea about "verbatim files". So, you must
-      register a new target type. The following code does it:</para>
-      
-<programlisting>
-import type ;
-type.register VERBATIM : verbatim ;
-</programlisting>
-
-      <para>The first parameter to <functionname>type.register</functionname> gives
-      the name of the declared type. By convention, it's uppercase. The second
-      parameter is the suffix for files of this type. So, if Boost.Build sees
-      <filename>code.verbatim</filename> in a list of sources, it knows that it's of
-      type <code>VERBATIM</code>.</para>
-
-      <para>Next, you tell Boost.Build that the verbatim files can be
-      transformed into C++ files in one build step.  A
-      <firstterm>generator</firstterm> is a template for a build step that
-      transforms targets of one type (or set of types) into another.  Our
-      generator will be called <code>verbatim.inline-file</code>; it
-      transforms <code>VERBATIM</code> files into <code>CPP</code> files:
-
-<programlisting>
-import generators ;
-generators.register-standard verbatim.inline-file : VERBATIM : CPP ;
-</programlisting>
-  </para>
-
-       <para>Lastly, you have to inform Boost.Build about the shell
-       commands used to make that transformation.  That's done with an
-       <code>actions</code> declaration.
-
-<programlisting>
-actions inline-file
-{
-    "./inline-file.py" $(<) $(>)
-}
-</programlisting>
-
-<!-- You need to explain all the parameters to an "actions" and
-     describe the accompanying rule declaration: the user has no clue
-     what $(<) and $(>) are, and doesn't know about the third
-     parameter that gets passed to the rule. -->
-
-<!-- We use verbatim.inline-file in one place and just inline-file in
-             another. Is this confusing for user?
-        -->
-</para>
-
-  <para>
-    Now, we're ready to tie it all together. Put all the code above in file
-    <filename>verbatim.jam</filename>, add <code>import verbatim ;</code> to
-    <filename>Jamroot.jam</filename>, and it's possible to write the following
-    in your Jamfile:
-  </para>
-
-<programlisting>
-exe codegen : codegen.cpp class_template.verbatim usage.verbatim ;
-</programlisting>
-
-  <para>
-    The listed verbatim files will be automatically converted into C++ source
-    files, compiled and then linked to the codegen executable.
-  </para>
-
-  <para>
-    In subsequent sections, we will extend this example, and review all the
-    mechanisms in detail. The complete code is available in the
-    <filename>example/customization</filename> directory.
-  </para>
-  </section>
-
-  <section id="bbv2.extending.targets">
-    <title>Target types</title>
-      <para>The first thing we did in the <link
-          linkend="bbv2.extender.intro">intruduction</link> was declaring a
-      new target type:
-<programlisting>
-import type ;
-type.register VERBATIM : verbatim ;
-</programlisting>
-        The type is the most important property of a target. Boost.Build can
-        automatically generate necessary build actions only because you
-        specify the desired type (using the different main target rules), and
-        because Boost.Build can guess the type of sources from their
-        extensions.
-      </para>
-
-      <para>The first two parameters for the <code>type.register</code> rule
-        are the name of new type and the list of extensions associated with
-        it. A file with an extension from the list will have the given target
-        type. In the case where a target of the declared type is generated
-        from other sources, the first specified extension will be used.
-      </para>
-
-    <para>Sometimes you want to change the suffix used for generated targets
-      depending on build properties, such as toolset. For example, some compiler
-      uses extension <literal>elf</literal> for executable files. You can use the
-      <code>type.set-generated-target-suffix</code> rule:
-<programlisting>
-type.set-generated-target-suffix EXE : <toolset>elf : elf ;
-</programlisting>
-    </para>
-
-    <para>A new target type can be inherited from an existing one.
-<programlisting>
-type.register PLUGIN : : SHARED_LIB ;
-</programlisting>
-      The above code defines a new type derived from
-      <code>SHARED_LIB</code>. Initially, the new type inherits all the
-      properties of the base type - in particular generators and suffix.
-      Typically, you'll change the new type in some way. For example, using
-      <code>type.set-generated-target-suffix</code> you can set the suffix for
-      the new type. Or you can write special a generator for the new type. For
-      example, it can generate additional metainformation for the plugin.
-      In either way, the <code>PLUGIN</code> type can be used whenever
-      <code>SHARED_LIB</code> can. For example, you can directly link plugins
-      to an application.
-    </para>
-
-    <para>A type can be defined as "main", in which case Boost.Build will
-      automatically declare a main target rule for building targets of that
-      type. More details can be found <link
-      linkend="bbv2.extending.rules.main-type">later</link>.
-    </para>
-
-      <section id="bbv2.extending.scanners">
-        <title>Scanners</title>
-        <para>
-          Sometimes, a file can refer to other files via some include system. To
-          make Boost.Build track dependencies between included files, you need
-          to provide a scanner. The primary limitation is that only one scanner
-          can be assigned to a target type.
-        </para>
-
-        <para>First, we need to declare a new class for the scanner:
-<programlisting>
-class verbatim-scanner : common-scanner
-{
-    rule pattern ( )
-    {
-        return "//###include[ ]*\"([^\"]*)\"" ;
-    }
-}
-</programlisting>
-          All the complex logic is in the <code>common-scanner</code>
-          class, and you only need to override the method that returns
-          the regular expression to be used for scanning. The
-          parentheses in the regular expression indicate which part
-          of the string is the name of the included file.  Only the
-          first parenthesized group in the regular expression will be
-          recognized; if you can't express everything you want that
-          way, you can return multiple regular expressions, each of
-          which contains a parenthesized group to be matched.
-        </para>
-
-        <para>After that, we need to register our scanner class:
-<programlisting>
-scanner.register verbatim-scanner : include ;
-</programlisting>
-            The value of the second parameter, in this case
-            <code>include</code>, specifies the properties that contain the list
-            of paths that should be searched for the included files.
-         </para>
-
-        <para>Finally, we assign the new scanner to the <code>VERBATIM</code>
-        target type:
-<programlisting>
-type.set-scanner VERBATIM : verbatim-scanner ;
-</programlisting>
-          That's enough for scanning include dependencies.
-        </para>
-
-      </section>
-
-  </section>
-
-  <section id="bbv2.extending.tools">
-    <title>Tools and generators</title>
-      <para>
-        This section will describe how Boost.Build can be extended to support
-        new tools.
-      </para>
-
-      <para>For each additional tool, a Boost.Build object called generator
-        must be created. That object has specific types of targets that it
-        accepts and produces. Using that information, Boost.Build is able
-        to automatically invoke the generator. For example, if you declare a
-        generator that takes a target of the type <literal>D</literal> and
-        produces a target of the type <literal>OBJ</literal>, when placing a
-        file with extention <literal>.d</literal> in a list of sources will
-        cause Boost.Build to invoke your generator, and then to link the
-        resulting object file into an application. (Of course, this requires
-        that you specify that the <literal>.d</literal> extension corresponds
-        to the <literal>D</literal> type.)
-      </para>
-
-      <para>Each generator should be an instance of a class derived from the
-        <code>generator</code> class. In the simplest case, you don't need to
-        create a derived class, but simply create an instance of the
-        <code>generator</code> class. Let's review the example we've seen in the
-        <link linkend="bbv2.extender.intro">introduction</link>.
-        <!-- Is the following supposed to be verbatim.jam?  Tell the
-             user so.  You also need to describe the meanings of $(<)
-             and $(>); this is the first time they're encountered. -->
-<programlisting>
-import generators ;
-generators.register-standard verbatim.inline-file : VERBATIM : CPP ;
-actions inline-file
-{
-    "./inline-file.py" $(<) $(>)
-}
-</programlisting>
-      </para>
-
-      <para>We declare a standard generator, specifying its id, the source type
-        and the target type. When invoked, the generator will create a target
-        of type <literal>CPP</literal> with a source target of
-        type <literal>VERBATIM</literal> as the only source. But what command
-        will be used to actually generate the file? In bjam, actions are
-        specified using named "actions" blocks and the name of the action
-        block should be specified when creating targets. By convention,
-        generators use the same name of the action block as their own id. So,
-        in above example, the "inline-file" actions block will be used to
-        convert the source into the target.
-      </para>
-
-      <para>
-        There are two primary kinds of generators: standard and composing,
-        which are registered with the
-        <code>generators.register-standard</code> and the
-        <code>generators.register-composing</code> rules, respectively. For
-        example:
-<programlisting>
-generators.register-standard verbatim.inline-file : VERBATIM : CPP ;
-generators.register-composing mex.mex : CPP LIB : MEX ;
-</programlisting>
-        The first (standard) generator takes a <emphasis>single</emphasis>
-        source of type <code>VERBATIM</code> and produces a result. The second
-        (composing) generator takes any number of sources, which can have either
-        the <code>CPP</code> or the <code>LIB</code> type. Composing generators
-        are typically used for generating top-level target type. For example,
-        the first generator invoked when building an <code>exe</code> target is
-        a composing generator corresponding to the proper linker.
-      </para>
-
-      <para>You should also know about two specific functions for registering
-        generators: <code>generators.register-c-compiler</code> and
-        <code>generators.register-linker</code>. The first sets up header
-        dependecy scanning for C files, and the seconds handles various
-        complexities like searched libraries. For that reason, you should always
-        use those functions when adding support for compilers and linkers.
-      </para>
-
-      <para>(Need a note about UNIX)</para>
-      <!-- What kind of note?  Either write the note or don't, but remove this dross. -->
-      <bridgehead>Custom generator classes</bridgehead>
-
-      <para>The standard generators allows you to specify source and target
-        types, an action, and a set of flags. If you need anything more complex,
-        <!-- What sort of flags?  Command-line flags?  What does the system do with them? -->
-        you need to create a new generator class with your own logic. Then,
-        you have to create an instance of that class and register it. Here's
-        an example how you can create your own generator class:
-<programlisting>
-class custom-generator : generator
-{
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-<!-- What is the point of this __init__ function?? -->
-}
-
-generators.register
-  [ new custom-generator verbatim.inline-file : VERBATIM : CPP ] ;
-</programlisting>
-        This generator will work exactly like the
-        <code>verbatim.inline-file</code> generator we've defined above, but
-        it's possible to customize the behaviour by overriding methods of the
-        <code>generator</code> class.
-      </para>
-
-      <para>There are two methods of interest. The <code>run</code> method is
-        responsible for the overall process - it takes a number of source targets,
-        converts them to the right types, and creates the result. The
-        <code>generated-targets</code> method is called when all sources are
-        converted to the right types to actually create the result.
-      </para>
-
-      <para>The <code>generated-targets</code> method can be overridden when you
-        want to add additional properties to the generated targets or use
-        additional sources. For a real-life example, suppose you have a program
-        analysis tool that should be given a name of executable and the list of
-        all sources. Naturally, you don't want to list all source files
-        manually. Here's how the <code>generated-targets</code> method can find
-        the list of sources automatically:
-<programlisting>
-class itrace-generator : generator {
-....
-    rule generated-targets ( sources + : property-set : project name ? )
-    {
-        local leaves ;
-        local temp = [ virtual-target.traverse $(sources[1]) : : include-sources ] ;<!-- You must explain include-sources! -->
-        for local t in $(temp)
-        {
-            if ! [ $(t).action<!-- In what namespace is this evaluated? --> ]
-            {
-                leaves += $(t) ;
-            }
-        }
-        return [ generator.generated-targets $(sources) $(leafs)
-          : $(property-set) : $(project) $(name) ] ;
-    }
-}
-generators.register [ new itrace-generator nm.itrace : EXE : ITRACE ] ;
-</programlisting>
-        The <code>generated-targets</code> method will be called with a single
-        source target of type <literal>EXE</literal>. The call to
-        <code>virtual-target.traverse</code> will return all targets the
-        executable depends on, and we further find files that are not
-        produced from anything. <!-- What does "not produced from anything" mean? -->
-        The found targets are added to the sources.
-      </para>
-
-      <para>The <code>run</code> method can be overriden to completely
-        customize the way the generator works. In particular, the conversion of
-        sources to the desired types can be completely customized. Here's
-        another real example. Tests for the Boost Python library usually
-        consist of two parts: a Python program and a C++ file. The C++ file is
-        compiled to Python extension that is loaded by the Python
-        program. But in the likely case that both files have the same name,
-        the created Python extension must be renamed. Otherwise, the Python
-        program will import itself, not the extension. Here's how it can be
-        done:
-<programlisting>
-rule run ( project name ? : property-set : sources * )
-{
-    local python ;
-    for local s in $(sources)
-    {
-        if [ $(s).type ] = PY
-        {
-            python = $(s) ;
-        }
-    }
-    <!-- This is horrible code.  Use a filter function, or at _least_ consolidate the two loops! -->
-    local libs ;
-    for local s in $(sources)
-    {
-        if [ type.is-derived [ $(s).type ] LIB ]
-        {
-            libs += $(s) ;
-        }
-    }
-
-    local new-sources ;
-    for local s in $(sources)
-    {
-        if [ type.is-derived [ $(s).type ] CPP ]
-        {
-            local name = [ $(s).name ] ;    # get the target's basename
-            if $(name) = [ $(python).name ]
-            {
-                name = $(name)_ext ;        # rename the target
-            }
-            new-sources += [ generators.construct $(project) $(name) :
-              PYTHON_EXTENSION : $(property-set) : $(s) $(libs) ] ;
-        }
-    }
-
-    result = [ construct-result $(python) $(new-sources) : $(project) $(name)
-                 : $(property-set) ] ;
-}
-</programlisting>
-        <!-- Why are we doing this with a generator??? It seems
-             insane.  We could just use a nice front-end rule that
-             calls some normal target-creation rules. No? -->
-
-        First, we separate all source into python files, libraries and C++
-        sources. For each C++ source we create a separate Python extension by
-        calling <code>generators.construct</code> and passing the C++ source
-        and the libraries. At this point, we also change the extension's name,
-        if necessary.
-      </para>
-
-
-    </section>
-
-    <section id="bbv2.extending.features">
-      <title>Features</title>
-      <para>
-        Often, we need to control the options passed the invoked tools. This
-        is done with features. Consider an example:
-<programlisting>
-# Declare a new free feature
-import feature : feature ;
-feature verbatim-options : : free ;
-
-# Cause the value of the 'verbatim-options' feature to be
-# available as 'OPTIONS' variable inside verbatim.inline-file
-import toolset : flags ;
-flags verbatim.inline-file OPTIONS <verbatim-options> ;<!-- You must tell the reader what the syntax of the flags rule is -->
-
-# Use the "OPTIONS" variable
-actions inline-file
-{
-    "./inline-file.py" $(OPTIONS) $(<) $(>)
-}
-</programlisting>
-        We first define a new feature. Then, the <code>flags</code> invocation
-        says that whenever verbatin.inline-file action is run, the value of
-        the <code>verbatim-options</code> feature will be added to the
-        <code>OPTIONS</code> variable, and can be used inside the action body.
-        You'd need to consult online help (--help) to find all the features of
-        the <code>toolset.flags</code> rule.
-        <!-- It's been a while since I wrote these notes, so I don't
-             remember what I meant.  But right here, I wrote "bad" and
-             circled it.  Maybe you can figure out what I meant. ;-)
-             -->
-      </para>
-
-    <para>
-      Although you can define any set of features and interpret their values
-      in any way, Boost.Build suggests the following coding standard for
-      designing features.
-    </para>
-
-    <para>Most features should have a fixed set of values that is portable
-      (tool neutral) across the class of tools they are designed to work
-      with. The user does not have to adjust the values for a exact tool.  For
-      example, <code><optimization>speed</code> has the same meaning for
-      all C++ compilers and the user does not have to worry about the exact
-      options passed to the compiler's command line.
-    </para>
-
-    <para>
-      Besides such portable features there are special 'raw' features that
-      allow the user to pass any value to the command line parameters for a
-      particular tool, if so desired. For example, the
-      <code><cxxflags></code> feature allows you to pass any command line
-      options to a C++ compiler. The <code><include></code> feature
-      allows you to pass any string preceded by <code>-I</code> and the interpretation
-      is tool-specific. <!-- It's really tool-specific?  That surprises me --> (See <xref
-      linkend="bbv2.faq.external"/> for an example of very smart usage of that
-      feature).  Of course one should always strive to use portable
-      features, but these are still be provided as a backdoor just to make
-      sure Boost.Build does not take away any control from the user.
-    </para>
-
-    <para>
-      Using portable features is a good idea because:
-      <itemizedlist>
-        <listitem>
-          <para>When a portable feature is given a fixed set of
-          values, you can build your project with two different
-          settings of the feature and Boost.Build will automatically
-          use two different directories for generated files.
-          Boost.Build does not try to separate targets built with
-          different raw options.
-            <!-- It's a computer program.  It doesn't "care" about options -->
-          </para>
-        </listitem>
-
-        <listitem>
-          <para>Unlike with “raw” features, you don't need to use
-          specific command-line flags in your Jamfile, and it will be
-          more likely to work with other tools.
-          </para>
-        </listitem>
-      </itemizedlist>
-    </para>
-
-      <bridgehead>Steps for adding a feauture</bridgehead>
-      <!-- This section is redundant with the previous one -->
-      <para>Adding a feature requires three steps:
-
-        <orderedlist>
-          <listitem><para>Declaring a feature. For that, the "feature.feature"
-              rule is used. You have to decide on the set of <link
-              linkend="bbv2.reference.features.attributes">feature
-              attributes</link>:
-
-              <itemizedlist>
-                <listitem><para>if you want a feature value set for one target
-                to automaticaly propagate to its dependant targets then make it
-                “propagated”. <!-- Examples needed. --></para></listitem>
-
-                <listitem><para>if a feature does not have a fixed list of
-                values, it must be “free.”  For example, the <code>include
-                </code> feature is a free feature.</para></listitem>
-
-                <listitem><para>if a feature is used to refer to a path relative
-                to the Jamfile, it must be a “path” feature. Such features will
-                also get their values automatically converted to Boost Build's
-                internal path representation. For example, <code>include</code>
-                is a path feature.</para></listitem>
-
-                <listitem><para>if feature is used to refer to some target, it
-                must be a “dependency” feature. <!-- for example? --></para>
-
-                <!-- Any other feature attributes? -->
-                </listitem>
-              </itemizedlist>
-              </para>
-          </listitem>
-
-          <listitem><para>Representing the feature value in a
-          target-specific variable. Build actions are command
-          templates modified by Boost.Jam variable expansions.  The
-          <code>toolset.flags</code> rule sets a target-specific
-          variable to the value of a feature.</para></listitem>
-
-                <listitem><para>Using the variable. The variable set in step 2 can
-              be used in a build action to form command parameters or
-              files.</para></listitem>
-
-        </orderedlist>
-      </para>
-
-      <bridgehead>Another example</bridgehead>
-
-      <para>Here's another example.
-        Let's see how we can make a feature that refers to a target. For example,
-        when linking dynamic libraries on Windows, one sometimes needs to
-        specify a "DEF file", telling what functions should be exported. It
-        would be nice to use this file like this:
-<programlisting>
-        lib a : a.cpp : <def-file>a.def ;
-</programlisting>
-<!-- Why would that be nice?  It seems to me that having a.def in the sources is the obvious and much nicer thing to do:
-
-        lib a : a.cpp a.def ;
--->
-        Actually, this feature is already supported, but anyway...
-        <!-- Something about saying that is very off-putting.  I'm
-             sorry that I can't put my finger on it -->
-      </para>
-
-      <orderedlist>
-        <listitem>
-          <para>Since the feature refers to a target, it must be "dependency".
-<programlisting>
-feature def-file : : free dependency ;
-</programlisting>
-            </para></listitem>
-
-        <listitem><para>One of the toolsets that cares about
-        <!-- The toolset doesn't "care." What do your really mean? -->
-        DEF files is msvc. The following line should be added to it.
-        <!-- Are you saying the msvc toolset is broken (or that it
-             doesn't use DEF files) as-shipped and the reader needs to
-             fix it? -->
-
-<programlisting>
-flags msvc.link DEF_FILE <def-file> ;
-</programlisting>
-            <!-- And that line does... what? -->
-            </para></listitem>
-
-        <listitem><para>Since the DEF_FILE variable is not used by the
-msvc.link action,
-<!-- It's not?  You just told us that MSVC "cares" about DEF files. I
-     presume that means that it uses them in some appropriate way? -->
-we need to modify it to be:
-
-<programlisting>
-actions link bind DEF_FILE
-{
-    $(.LD) .... /DEF:$(DEF_FILE) ....
-}
-</programlisting>
-            </para>
-
-
-          <para> Note the <code>bind DEF_FILE</code> part. It tells
-          bjam to translate the internal target name in
-          <varname>DEF_FILE</varname> to a corresponding filename in
-          the <code>link</code> action.  Without it the expansion of
-          <code>$(DEF_FILE)</code> would be a strange symbol that is
-          not likely to make sense for the linker.
-          </para>
-
-          <!-- I have a note here that says: "none of this works for
-               targets in general, only source files."  I'm not sure
-               what I meant by that; maybe you can figure it out. -->
-          <para>
-            We are almost done, but we should stop for a small workaround. Add the following
-            code to msvc.jam
-
-<programlisting>
-rule link
-{
-    DEPENDS $(<) : [ on $(<) return $(DEF_FILE) ] ;
-}
-</programlisting>
-<!-- You *must* explain the part in [...] above. It's completely opaque to the casual reader -->
-
-            This is needed to accomodate some bug in bjam, which hopefully
-            will be fixed one day.
-            <!-- This is *NOT* a bug!!  Anyway, BBv2 shouild handle this automatically. Why doesn't it? -->
-</para></listitem>
-
-      </orderedlist>
-
-      <bridgehead>Variants and composite features.</bridgehead>
-
-      <para>Sometimes you want to create a shortcut for some set of
-        features. For example, <code>release</code> is a value of
-        <code><variant></code> and is a shortcut for a set of features.
-      </para>
-
-      <para>It is possible to define your own build variants. For example:
-<programlisting>
-variant crazy : <optimization>speed <inlining>off
-                <debug-symbols>on <profiling>on ;
-</programlisting>
-        will define a new variant with the specified set of properties. You
-        can also extend an existing variant:
-<programlisting>
-variant super_release : release : <define>USE_ASM ;
-</programlisting>
-        In this case, <code>super_release</code> will expand to all properties
-        specified by <code>release</code>, and the additional one you've specified.
-      </para>
-
-      <para>You are not restricted to using the <code>variant</code> feature
-      only.
-      <!-- What do you mean by that?  How is defining a new feature related to what came before? -->
-      Here's example that defines a brand new feature:
-<programlisting>
-feature parallelism : mpi fake none : composite link-incompatible ;
-feature.compose <parallelism>mpi : <library>/mpi//mpi/<parallelism>none ;
-feature.compose <parallelism>fake : <library>/mpi//fake/<parallelism>none ;
-</programlisting>
-<!-- The use of the <library>/mpi//mpi/<parallelism>none construct
-     above is at best confusing and unexplained -->
-        This will allow you to specify the value of feature
-        <code>parallelism</code>, which will expand to link to the necessary
-        library.
-      </para>
-
-  </section>
-
-  <section id="bbv2.extending.rules">
-    <title>Main target rules</title>
-    <para>
-      A main target rule (e.g “<functionname>exe</functionname>”
-      Or “<functionname>lib</functionname>”) creates a top-level target. It's quite likely that you'll want to declare your own and
-      there are two ways to do that.
-      <!-- Why did "that" get changed to "this" above? -->
-    </para>
-
-    <para id="bbv2.extending.rules.main-type">The first way applies when
-<!-- This is not a "way of defining a main target rule."  Rephrase this and the previous sentence. -->
-      your target rule should just produce a target of specific type. In that case, a
-      rule is already defined for you! When you define a new type, Boost.Build
-      automatically defines a corresponding rule. The name of the rule is
-      obtained from the name of the type, by downcasing all letters and
-      replacing underscores with dashes.
-      <!-- This strikes me as needless complexity, and confusing.  Why
-           do we have the uppercase-underscore convention for target
-           types?  If we just dropped that, the rule names could be
-           the same as the type names. -->
-      For example, if you create a module
-      <filename>obfuscate.jam</filename> containing:
-
-<programlisting>
-import type ;
-type.register OBFUSCATED_CPP  : ocpp ;
-
-import generators ;
-generators.register-standard obfuscate.file : CPP : OBFUSCATED_CPP ;
-</programlisting>
-      and import that module, you'll be able to use the rule "obfuscated-cpp"
-      in Jamfiles, which will convert source to the OBFUSCATED_CPP type.
-    </para>
-
-    <para>
-      The second way is to write a wrapper rule that calls any of the existing
-      rules. For example, suppose you have only one library per directory and
-      want all cpp files in the directory to be compiled into that library. You
-      can achieve this effect using:
-<programlisting>
-lib codegen : [ glob *.cpp ] ;
-</programlisting>
-      If you want to make it even simpler, you could add the following
-      definition to the <filename>Jamroot.jam</filename> file:
-<programlisting>
-rule glib ( name : extra-sources * : requirements * )
-{
-    lib $(name) : [ glob *.cpp ] $(extra-sources) : $(requirements) ;
-}
-</programlisting>
-      allowing you to reduce the Jamfile to just
-<programlisting>
-glib codegen ;
-</programlisting>
-    </para>
-
-    <para>
-      Note that because you can associate a custom generator with a target type,
-      the logic of building can be rather complicated. For example, the
-      <code>boostbook</code> module declares a target type
-      <code>BOOSTBOOK_MAIN</code> and a custom generator for that type. You can
-      use that as example if your main target rule is non-trivial.
-    </para>
-  </section>
-
-  <section id="bbv2.extending.toolset_modules">
-
-    <title>Toolset modules</title>
-
-    <para>
-      If your extensions will be used only on one project, they can be placed in
-      a separate <filename>.jam</filename> file and imported by your
-      <filename>Jamroot.jam</filename>. If the extensions will be used on many
-      projects, users will thank you for a finishing touch.
-    </para>
-
-    <para>The <code>using</code> rule provides a standard mechanism
-    for loading and configuring extensions.  To make it work, your module
-    <!-- "module" hasn't been defined yet.  Furthermore you haven't
-         said anything about where that module file must be
-         placed. -->
-    should provide an <code>init</code> rule. The rule will be called
-    with the same parameters that were passed to the
-    <code>using</code> rule. The set of allowed parameters is
-    determined by you. For example, you can allow the user to specify
-    paths, tool versions, and other options.
-    <!-- But it's not entirely arbitrary.  We have a standard
-         parameter order which you should describe here for
-         context. -->
-    </para>
-
-    <para>Here are some guidelines that help to make Boost.Build more
-      consistent:
-      <itemizedlist>
-        <listitem><para>The <code>init</code> rule should never fail. Even if
-          the user provided an incorrect path, you should emit a warning and go
-          on. Configuration may be shared between different machines, and
-          wrong values on one machine can be OK on another.
-          <!-- So why shouldn't init fail on machines where it's wrong?? -->
-          </para></listitem>
-
-        <listitem><para>Prefer specifying the command to be executed
-        to specifying the tool's installation path. First of all, this
-        gives more control: it's possible to specify
-<programlisting>
-/usr/bin/g++-snapshot
-time g++
-<!-- Is this meant to be a single command?  If not, insert "or" -->
-</programlisting>
-            as the command. Second, while some tools have a logical
-            "installation root", it's better if the user doesn't have to remember whether
-            a specific tool requires a full command or a path.
-            <!-- But many tools are really collections: e.g. a
-                 compiler, a linker, and others.  The idea that the
-                 "command to invoke" has any significance may be
-                 completely bogus.  Plus if you want to allow "time
-                 /usr/bin/g++" the toolset may need to somehow parse
-                 the command and find the path when it needs to invoke
-                 some related executable.  And in that case, will the
-                 command be ignored?  This scheme doesn't scale and
-                 should be fixed. -->
-          </para></listitem>
-
-        <listitem><para>Check for multiple initialization. A user can try to
-            initialize the module several times. You need to check for this
-            and decide what to do. Typically, unless you support several
-            versions of a tool, duplicate initialization is a user error.
-            <!-- Why should that be typical? -->
-            If the
-            tool's version can be specified during initialization, make sure the
-            version is either always specified, or never specified (in which
-            case the tool is initialied only once). For example, if you allow:
-<programlisting>
-using yfc ;
-using yfc : 3.3 ;
-using yfc : 3.4 ;
-</programlisting>
-            Then it's not clear if the first initialization corresponds to
-            version 3.3 of the tool, version 3.4 of the tool, or some other
-            version. This can lead to building twice with the same version.
-            <!-- That would not be so terrible, and is much less harmful
-                 than this restriction, IMO.  It makes site-config
-                 harder to maintain than necessary. -->
-            </para></listitem>
-
-        <listitem><para>If possible, <code>init</code> must be callable
-          with no parameters. In which case, it should try to autodetect all
-          the necessary information, for example, by looking for a tool in
-          <envar>PATH</envar> or in common installation locations. Often this
-          is possible and allows the user to simply write:
-<programlisting>
-using yfc ;
-</programlisting>
-          </para></listitem>
-
-        <listitem><para>Consider using facilities in the
-          <code>tools/common</code> module. You can take a look at how
-          <code>tools/gcc.jam</code> uses that module in the <code>init</code> rule.
-          </para></listitem>
-
-      </itemizedlist>
-    </para>
-
-
-
-
-  </section>
-
-  </chapter>
-
-<!--
-     Local Variables:
-     sgml-indent-data: t
-     sgml-parent-document: ("userman.xml" "chapter")
-     sgml-set-face: t
-     End:
--->
diff --git a/SRC/Boost/tools/build/v2/doc/src/faq.xml b/SRC/Boost/tools/build/v2/doc/src/faq.xml
deleted file mode 100755
index 97822a1..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/faq.xml
+++ /dev/null
@@ -1,458 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-     "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-<chapter id="bbv2.faq">
-  <title>Frequently Asked Questions</title>
-
-  <section>
-    <title>
-      How do I get the current value of feature in Jamfile?
-    </title>
-
-    <para>
-      This is not possible, since Jamfile does not have "current" value of any
-      feature, be it toolset, build variant or anything else. For a single
-      invocation of <filename>bjam</filename>, any given main target can be
-      built with several property sets. For example, user can request two build
-      variants on the command line. Or one library is built as shared when used
-      from one application, and as static when used from another. Each Jamfile
-      is read only once so generally there is no single value of a feature you
-      can access in Jamfile.
-    </para>
-
-    <para>
-      A feature has a specific value only when building a target, and there are
-      two ways you can use that value:
-    </para>
-
-    <itemizedlist>
-      <listitem>
-        <simpara>
-          Use conditional requirements or indirect conditional requirements. See
-          <xref linkend="bbv2.overview.targets.requirements.conditional"/>.
-        </simpara>
-      </listitem>
-      <listitem>
-        Define a custom generator and a custom main target type. The custom
-        generator can do arbitrary processing or properties. See the <xref
-        linkend="bbv2.extender">extender manual</xref>.
-      </listitem>
-    </itemizedlist>
-  </section>
-
-  <section>
-    <title>
-      I am getting a "Duplicate name of actual target" error. What does that
-      mean?
-    </title>
-
-    <para>
-      The most likely case is that you are trying to compile the same file
-      twice, with almost the same, but differing properties. For example:
-<programlisting>
-exe a : a.cpp : <include>/usr/local/include ;
-exe b : a.cpp ;
-</programlisting>
-    </para>
-
-    <para>
-      The above snippet requires two different compilations of
-      <code>a.cpp</code>, which differ only in their <literal>include</literal>
-      property. Since the <literal>include</literal> feature is declared as
-      <literal>free</literal> Boost.Build does not create a separate build
-      directory for each of its values and those two builds would both produce
-      object files generated in the same build directory. Ignoring this and
-      compiling the file only once would be dangerous as different includes
-      could potentially cause completely different code to be compiled.
-    </para>
-
-    <para>
-      To solve this issue, you need to decide if the file should be compiled
-      once or twice.
-    </para>
-
-    <orderedlist>
-      <listitem>
-        <para>
-          To compile the file only once, make sure that properties are the same
-          for both target requests:
-<programlisting>
-exe a : a.cpp : <include>/usr/local/include ;
-exe b : a.cpp : <include>/usr/local/include ;
-</programlisting>
-          or:
-<programlisting>
-alias a-with-include : a.cpp : <include>/usr/local/include ;
-exe a : a-with-include ;
-exe b : a-with-include ;
-</programlisting>
-          or if you want the <literal>includes</literal> property not to affect
-          how any other sources added for the built <code>a</code> and
-          <code>b</code> executables would be compiled:
-<programlisting>
-obj a-obj : a.cpp : <include>/usr/local/include ;
-exe a : a-obj ;
-exe b : a-obj ;
-</programlisting>
-        </para>
-        <para>
-          Note that in both of these cases the <literal>include</literal>
-          property will be applied only for building these object files and not
-          any other sources that might be added for targets <code>a</code> and
-          <code>b</code>.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          To compile the file twice, you can tell Boost.Build to compile it to
-          two separate object files like so:
-<programlisting>
-      obj a_obj : a.cpp : <include>/usr/local/include ;
-      obj b_obj : a.cpp ;
-      exe a : a_obj ;
-      exe b : b_obj ;
-</programlisting>
-          or you can make the object file targets local to the main target:
-<programlisting>
-      exe a : [ obj a_obj : a.cpp : <include>/usr/local/include ] ;
-      exe b : [ obj a_obj : a.cpp ] ;
-</programlisting>
-          which will cause Boost.Build to actually change the generated object
-          file names a bit for you and thus avoid any conflicts.
-        </para>
-        <para>
-          Note that in both of these cases the <literal>include</literal>
-          property will be applied only for building these object files and not
-          any other sources that might be added for targets <code>a</code> and
-          <code>b</code>.
-        </para>
-      </listitem>
-    </orderedlist>
-
-    <para>
-      A good question is why Boost.Build can not use some of the above
-      approaches automatically. The problem is that such magic would only help
-      in half of the cases, while in the other half it would be silently doing
-      the wrong thing. It is simpler and safer to ask the user to clarify his
-      intention in such cases.
-    </para>
-  </section>
-
-  <section id="bbv2.faq.envar">
-    <title>
-      Accessing environment variables
-    </title>
-
-    <para>
-      Many users would like to use environment variables in Jamfiles, for
-      example, to control the location of external libraries. In many cases it
-      is better to declare those external libraries in the site-config.jam file,
-      as documented in the <link linkend="bbv2.recipies.site-config">recipes
-      section</link>. However, if the users already have the environment
-      variables set up, it may not be convenient for them to set up their
-      site-config.jam files as well and using the environment variables might be
-      reasonable.
-    </para>
-
-    <para>
-      Boost.Jam automatically imports all environment variables into its
-      built-in .ENVIRON module so user can read them from there directly or by
-      using the helper os.environ rule. For example:
-<programlisting>
-import os ;
-local unga-unga = [ os.environ UNGA_UNGA ] ;
-ECHO $(unga-unga) ;
-</programlisting>
-      or a bit more realistic:
-<programlisting>
-import os ;
-local SOME_LIBRARY_PATH = [ os.environ SOME_LIBRARY_PATH ] ;
-exe a : a.cpp : <include>$(SOME_LIBRARY_PATH) ;
-</programlisting>
-    </para>
-  </section>
-
-  <section>
-    <title>
-      How to control properties order?
-    </title>
-
-    <para>
-      For internal reasons, Boost.Build sorts all the properties alphabetically.
-      This means that if you write:
-<programlisting>
-exe a : a.cpp : <include>b <include>a ;
-</programlisting>
-      then the command line with first mention the <code>a</code> include
-      directory, and then <code>b</code>, even though they are specified in the
-      opposite order. In most cases, the user does not care. But sometimes the
-      order of includes, or other properties, is important. For such cases, a
-      special syntax is provided:
-<programlisting>
-exe a : a.cpp : <include>a&&b ;
-</programlisting>
-    </para>
-
-    <para>
-      The <code>&&</code> symbols separate property values and specify
-      that their order should be preserved. You are advised to use this feature
-      only when the order of properties really matters and not as a convenient
-      shortcut. Using it everywhere might negatively affect performance.
-    </para>
-  </section>
-
-  <section>
-    <title>
-      How to control the library linking order on Unix?
-    </title>
-
-    <para>
-      On Unix-like operating systems, the order in which static libraries are
-      specified when invoking the linker is important, because by default, the
-      linker uses one pass though the libraries list. Passing the libraries in
-      the incorrect order will lead to a link error. Further, this behaviour is
-      often used to make one library override symbols from another. So,
-      sometimes it is necessary to force specific library linking order.
-    </para>
-
-    <para>
-      Boost.Build tries to automatically compute the right order. The primary
-      rule is that if library <code>a</code> "uses" library <code>b</code>, then
-      library <code>a</code> will appear on the command line before library
-      <code>b</code>. Library <code>a</code> is considered to use <code>b</code>
-      if <code>b</code> is present either in the <code>a</code> library's
-      sources or its usage is listed in its requirements. To explicitly specify
-      the <literal>use</literal> relationship one can use the
-      <literal><use></literal> feature. For example, both of the following
-      lines will cause <code>a</code> to appear before <code>b</code> on the
-      command line:
-<programlisting>
-lib a : a.cpp b ;
-lib a : a.cpp : <use>b ;
-</programlisting>
-    </para>
-
-    <para>
-      The same approach works for searched libraries as well:
-<programlisting>
-lib z ;
-lib png : : <use>z ;
-exe viewer : viewer png z ;
-</programlisting>
-    </para>
-  </section>
-
-  <section id="bbv2.faq.external">
-    <title>
-      Can I get capture external program output using a Boost.Jam variable?
-    </title>
-
-    <para>
-      The <literal>SHELL</literal> builtin rule may be used for this purpose:
-<programlisting>
-local gtk_includes = [ SHELL "gtk-config --cflags" ] ;
-</programlisting>
-    </para>
-  </section>
-
-  <section>
-    <title>
-      How to get the project root (a.k.a. Jamroot) location?
-    </title>
-
-    <para>
-      You might want to use your project's root location in your Jamfiles. To
-      access it just declare a path constant in your Jamroot.jam file using:
-<programlisting>
-path-constant TOP : . ;
-</programlisting>
-      After that, the <code>TOP</code> variable can be used in every Jamfile.
-    </para>
-  </section>
-
-  <section>
-    <title>
-      How to change compilation flags for one file?
-    </title>
-
-    <para>
-      If one file must be compiled with special options, you need to explicitly
-      declare an <code>obj</code> target for that file and then use that target
-      in your <code>exe</code> or <code>lib</code> target:
-<programlisting>
-exe a : a.cpp b ;
-obj b : b.cpp : <optimization>off ;
-</programlisting>
-      Of course you can use other properties, for example to specify specific
-      C/C++ compiler options:
-<programlisting>
-exe a : a.cpp b ;
-obj b : b.cpp : <cflags>-g ;
-</programlisting>
-      You can also use <link linkend="bbv2.tutorial.conditions">conditional
-      properties</link> for finer control:
-<programlisting>
-exe a : a.cpp b ;
-obj b : b.cpp : <variant>release:<optimization>off ;
-</programlisting>
-    </para>
-  </section>
-
-  <section id="bbv2.faq.dll-path">
-    <title>
-      Why are the <literal>dll-path</literal> and <literal>hardcode-dll-paths
-      </literal> properties useful?
-    </title>
-    <note>
-      <para>
-        This entry is specific to Unix systems.
-      </para>
-    </note>
-    <para>
-      Before answering the questions, let us recall a few points about shared
-      libraries. Shared libraries can be used by several applications, or other
-      libraries, without physically including the library in the application
-      which can greatly decrease the total application size. It is also possible
-      to upgrade a shared library when the application is already installed.
-    </para>
-
-    <para>
-      However, in order for application depending on shared libraries to be
-      started the OS may need to find the shared library when the application is
-      started. The dynamic linker will search in a system-defined list of paths,
-      load the library and resolve the symbols. Which means that you should
-      either change the system-defined list, given by the <envar>LD_LIBRARY_PATH
-      </envar> environment variable, or install the libraries to a system
-      location. This can be inconvenient when developing, since the libraries
-      are not yet ready to be installed, and cluttering system paths may be
-      undesirable. Luckily, on Unix there is another way.
-    </para>
-
-    <para>
-      An executable can include a list of additional library paths, which will
-      be searched before system paths. This is excellent for development because
-      the build system knows the paths to all libraries and can include them in
-      the executables. That is done when the <literal>hardcode-dll-paths
-      </literal> feature has the <literal>true</literal> value, which is the
-      default. When the executables should be installed, the story is different.
-    </para>
-
-    <para>
-      Obviously, installed executable should not contain hardcoded paths to your
-      development tree. <!-- Make the following parenthised sentence a footer
-      note --> (The <literal>install</literal> rule explicitly disables the
-      <literal>hardcode-dll-paths</literal> feature for that reason.) However,
-      you can use the <literal>dll-path</literal> feature to add explicit paths
-      manually. For example:
-<programlisting>
-install installed : application : <dll-path>/usr/lib/snake
-                                  <location>/usr/bin ;
-</programlisting>
-      will allow the application to find libraries placed in the <filename>
-      /usr/lib/snake</filename> directory.
-    </para>
-
-    <para>
-      If you install libraries to a nonstandard location and add an explicit
-      path, you get more control over libraries which will be used. A library of
-      the same name in a system location will not be inadvertently used. If you
-      install libraries to a system location and do not add any paths, the
-      system administrator will have more control. Each library can be
-      individually upgraded, and all applications will use the new library.
-    </para>
-
-    <para>
-      Which approach is best depends on your situation. If the libraries are
-      relatively standalone and can be used by third party applications, they
-      should be installed in the system location. If you have lots of libraries
-      which can be used only by your application, it makes sense to install them
-      to a nonstandard directory and add an explicit path, like the example
-      above shows. Please also note that guidelines for different systems differ
-      in this respect. For example, the Debian GNU guidelines prohibit any
-      additional search paths while Solaris guidelines suggest that they should
-      always be used.
-    </para>
-  </section>
-
-  <section id="bbv2.recipies.site-config">
-    <title>Targets in site-config.jam</title>
-
-    <para>
-      It is desirable to declare standard libraries available on a given system.
-      Putting target declaration in a specific project's Jamfile is not really
-      good, since locations of the libraries can vary between different
-      development machines and then such declarations would need to be
-      duplicated in different projects. The solution is to declare the targets
-      in Boost.Build's <filename>site-config.jam</filename> configuration file:
-<programlisting>
-project site-config ;
-lib zlib : : <name>z ;
-</programlisting>
-    </para>
-
-    <para>
-      Recall that both <filename>site-config.jam</filename> and
-      <filename>user-config.jam</filename> are projects, and everything you can
-      do in a Jamfile you can do in those files as well. So, you declare a
-      project id and a target. Now, one can write:
-<programlisting>
-exe hello : hello.cpp /site-config//zlib ;
-</programlisting>
-      in any Jamfile.
-    </para>
-  </section>
-
-  <section id="bbv2.faq.header-only-libraries">
-    <title>Header-only libraries</title>
-
-    <para>
-      In modern C++, libraries often consist of just header files, without any
-      source files to compile. To use such libraries, you need to add proper
-      includes and possibly defines to your project. But with a large number of
-      external libraries it becomes problematic to remember which libraries are
-      header only, and which ones you have to link to. However, with Boost.Build
-      a header-only library can be declared as Boost.Build target and all
-      dependents can use such library without having to remeber whether it is a
-      header-only library or not.
-    </para>
-
-    <para>
-      Header-only libraries may be declared using the <code>alias</code> rule,
-      specifying their include path as a part of its usage requirements, for
-      example:
-<programlisting>
-alias my-lib
-    : # no sources
-    : # no build requirements
-    : # no default build
-    : <include>whatever ;
-</programlisting>
-      The includes specified in usage requirements of <code>my-lib</code> are
-      automatically added to all of its dependants' build properties. The
-      dependants need not care if <code>my-lib</code> is a header-only or not,
-      and it is possible to later make <code>my-lib</code> into a regular
-      compiled library without having to that its dependants' declarations.
-    </para>
-
-    <para>
-      If you already have proper usage requirements declared for a project where
-      a header-only library is defined, you do not need to duplicate them for
-      the <code>alias</code> target:
-<programlisting>
-project my : usage-requirements <include>whatever ;
-alias mylib ;
-</programlisting>
-    </para>
-  </section>
-</chapter>
-
-<!--
-     Local Variables:
-     mode: nxml
-     sgml-indent-data: t
-     sgml-parent-document: ("userman.xml" "chapter")
-     sgml-set-face: t
-     End:
--->
diff --git a/SRC/Boost/tools/build/v2/doc/src/fragments.xml b/SRC/Boost/tools/build/v2/doc/src/fragments.xml
deleted file mode 100755
index 3b5e37c..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/fragments.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-<chapter>
-  <section id="root_option">
-    <varlistentry>
-      <term><literal>root</literal></term>
-
-      <!-- At present, this option is only used to set LD_LIBRARY_PATH when
-      running tests, and matters only if compiler's lib directory is not in
-      LD_LIBRARY_PATH. -->
-
-      <listitem><para>Specifies root directory of the compiler installation.
-      This option is necessary only if it is not possible to detect this
-      information from the compiler command&#x2014;for example if the specified
-      compiler command is a user script.</para></listitem>
-    </varlistentry>
-  </section>
-
-  <section id="common_options">
-
-    <!-- This most likely needs splitting into common_options,
-    common_cxx_options & common_fortran_options or something similar. We also
-    need to document the fortran specific fflags option. Possibly related Boost
-    Build code should be updated as well so that fortran options may not be
-    specified for non-fortran toolsets and C/C++ options may not be specified
-    for non-C/C++ ones. -->
-
-    <varlistentry>
-      <term><literal>cflags</literal></term>
-
-      <listitem><para>Specifies additional compiler flags that will be used when
-      compiling C sources.</para></listitem>
-    </varlistentry>
-
-    <varlistentry>
-      <term><literal>cxxflags</literal></term>
-
-      <listitem><para>Specifies additional compiler flags that will be used when
-      compiling C++ sources.</para></listitem>
-    </varlistentry>
-
-    <varlistentry>
-      <term><literal>compileflags</literal></term>
-
-      <listitem><para>Specifies additional compiler flags that will be used when
-      compiling both C and C++ sources.</para></listitem>
-    </varlistentry>
-
-    <varlistentry>
-      <term><literal>linkflags</literal></term>
-
-      <listitem><para>Specifies additional command line options that will be
-      passed to the linker.</para>
-      </listitem>
-    </varlistentry>
-  </section>
-</chapter>
diff --git a/SRC/Boost/tools/build/v2/doc/src/howto.xml b/SRC/Boost/tools/build/v2/doc/src/howto.xml
deleted file mode 100755
index 84c7cb7..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/howto.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-  <chapter id="bbv2.howto">
-    <title>How to use this document</title>
-
-    <para>
-      If you've just found out about Boost.Build V2 and want to know
-      if it will work for you, start with <xref linkend=
-      "bbv2.tutorial" />. You can continue with <xref
-      linkend="bbv2.overview" />. When you're ready to try Boost.Build
-      in practice, go to <xref linkend="bbv2.installation"/>.
-    </para>
-
-    <para>
-      If you are about to use Boost.Build on your project, or already
-      using it and have a problem, look at <xref linkend=
-      "bbv2.overview"/>.
-    </para>
-
-    <para>
-      If you're trying to build a project which uses Boost.Build,
-      see <xref linkend="bbv2.installation"/> and then read about
-      <xref linkend="bbv2.overview.invocation"/>.
-    </para>
-
-    <para>
-      If you have questions, please post them to our mailing list (<ulink
-      url="http://boost.org/more/mailing_lists.htm#jamboost"/>). The mailing list is
-      also mirrowed to newsgroup <ulink url="news://news.gmane.org/gmane.comp.lib.boost.build"/>.
-    </para>
-
-  </chapter>
diff --git a/SRC/Boost/tools/build/v2/doc/src/install.xml b/SRC/Boost/tools/build/v2/doc/src/install.xml
deleted file mode 100755
index 27f2cc3..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/install.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-  <chapter id="bbv2.installation">
-    <title>Installation</title>
-
-    <para>
-      To install Boost.Build from an official release or a nightly build, as
-      available on the <ulink url="http://boost.org/boost-build2">official web site</ulink>,
-      follow these steps:
-    </para>
-
-    <orderedlist>
-      <listitem>
-        <simpara>
-          Unpack the release. On the command line, go to the root of the
-          unpacked tree.
-        </simpara>
-      </listitem>
-
-      <listitem>
-        <simpara>
-          Run either <command>.\bootstrap.bat</command> (on Windows), or
-          <command>./bootstrap.sh</command> (on other operating systems).
-        </simpara>
-      </listitem>
-
-      <listitem>
-        <simpara>
-          Run 
-          <screen>./bjam install --prefix=<replaceable>PREFIX</replaceable></screen>
-          where <replaceable>PREFIX</replaceable> is a directory where you
-          want Boost.Build to be installed.
-        </simpara>
-      </listitem>
-
-      <listitem>
-        <simpara>
-          Optionally, add <filename><replaceable>PREFIX</replaceable>/bin</filename>
-          to your <envar>PATH</envar> environment variable.
-        </simpara>
-      </listitem>
-    </orderedlist>
-
-    <para>If you are not using Boost.Build package, but rather the version
-    bundled with the Boost C++ Libraries, the above commands should be run
-    in the <filename>tools/build/v2</filename> directory.</para>
-
-    <para>
-      Now that Boost.Build is installed, you can try some of examples. Copy
-      <filename><replaceable>PREFIX</replaceable>/share/boost-build/examples/hello</filename>
-      to a different directory, then change to that directory and run:
-<screen><filename><replaceable>PREFIX</replaceable>/bin/bjam</filename></screen>
-      A simple executable should be built.
-    </para>
-
-      <!--
-      <simpara>
-          Configure Boost.Build to recognize the build resources (such
-          as compilers and libraries) you have installed on your
-          system.  Open the
-          <filename>user-config.jam</filename> file in the Boost.Build
-          root directory and follow the instructions there to describe
-          your toolsets and libraries, and, if necessary, where they
-          are located.
-        </simpara>
-      </listitem>
-      -->
-
-    <!-- This part should not go into intoduction docs, but we need to
-         place it somewhere. 
-
-    <para>It is slighly better way is to copy
-    <filename>new/user-config.jam</filename> into one of the locations
-    where it can be found (given in <link linkend=
-    "bbv2.reference.init.config">this table</link>). This prevent you
-    from accidentally overwriting your config when updating.</para>
-
-    -->
-
-    <!--
-    <bridgehead>Information for distributors</bridgehead>
-
-        <para>
-          If you're planning to package Boost.Build for a Linux distribution,
-          please follow these guidelines:
-
-          <itemizedlist>
-            <listitem><para>Create a separate package for Boost.Jam.</para></listitem>
-
-            <listitem>
-              <para>Create another package for Boost.Build, and make
-              this package install all Boost.Build files to
-              <filename>/usr/share/boost-build</filename> directory. After
-              install, that directory should contain everything you see in
-              Boost.Build release package, except for
-              <filename>jam_src</filename> directory.  If you're using Boost CVS
-              to obtain Boost.Build, as opposed to release package, take
-              everything from the <filename>tools/build/v2</filename> directory.
-              For a check, make sure that
-              <filename>/usr/share/boost-build/boost-build.jam</filename> is installed.
-              </para>
-
-              <para>Placing Boost.Build into <filename>/usr/share/boost-build</filename>
-              will make sure that <command>bjam</command> will find Boost.Build
-              without any additional setup.</para>
-            </listitem>
-
-            <listitem><para>Provide a
-            <filename>/etc/site-config.jam</filename> configuration file that will
-            contain:
-<programlisting>
-using gcc ;
-</programlisting>
-             You might want to add dependency from Boost.Build package to gcc,
-             to make sure that users can always build Boost.Build examples.
-            </para></listitem>
-          </itemizedlist>
-        </para>
-
-        <para>If those guidelines are met, users will be able to invoke
-        <command>bjam</command> without any explicit configuration.
-        </para>
-
-    
-      -->
-
-
-  </chapter>
-
-<!--
-     Local Variables:
-     mode: nxml
-     sgml-indent-data:t
-     sgml-parent-document:("userman.xml" "chapter")
-     sgml-set-face: t
-     sgml-omittag:nil
-     sgml-shorttag:nil
-     sgml-namecase-general:t
-     sgml-general-insert-case:lower
-     sgml-minimize-attributes:nil
-     sgml-always-quote-attributes:t
-     sgml-indent-step:2
-     sgml-exposed-tags:nil
-     sgml-local-catalogs:nil
-     sgml-local-ecat-files:nil
-     End:
--->
-
diff --git a/SRC/Boost/tools/build/v2/doc/src/overview.xml b/SRC/Boost/tools/build/v2/doc/src/overview.xml
deleted file mode 100755
index c1c86ff..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/overview.xml
+++ /dev/null
@@ -1,1682 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-  <chapter id="bbv2.overview">
-    <title>Overview</title>
-
-    <para>
-      This section will provide the information necessary to create your own
-      projects using Boost.Build. The information provided here is relatively
-      high-level, and <xref linkend="bbv2.reference"/> as well as the on-line
-      help system must be used to obtain low-level documentation (see <xref
-      linkend="bbv2.reference.init.options.help"/>).
-    </para>
-
-    <para>
-      Boost.Build actually consists of two parts - Boost.Jam, a build engine
-      with its own interpreted language, and Boost.Build itself, implemented in
-      Boost.Jam's language. The chain of events when you type
-      <command>bjam</command> on the command line is as follows:
-      <orderedlist>
-        <listitem>
-          <para>
-            Boost.Jam tries to find Boost.Build and loads the top-level module.
-            The exact process is described in <xref linkend=
-            "bbv2.reference.init"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            The top-level module loads user-defined configuration files,
-            <filename>user-config.jam</filename> and <filename>site-config.jam
-            </filename>, which define available toolsets.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            The Jamfile in the current directory is read. That in turn might
-            cause reading of further Jamfiles. As a result, a tree of projects
-            is created, with targets inside projects.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Finally, using the build request specified on the command line,
-            Boost.Build decides which targets should be built and how. That
-            information is passed back to Boost.Jam, which takes care of
-            actually running the scheduled build action commands.
-          </para>
-        </listitem>
-      </orderedlist>
-    </para>
-
-    <para>
-      So, to be able to successfully use Boost.Build, you need to know only four
-      things:
-      <itemizedlist>
-        <listitem>
-          <para>
-            <link linkend="bbv2.overview.configuration">How to configure
-            Boost.Build</link>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            <link linkend="bbv2.overview.targets">How to declare targets in
-              Jamfiles</link>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            <link linkend="bbv2.overview.build_process">How the build process
-              works</link>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Some Basics about the Boost.Jam language. See <xref linkend=
-            "bbv2.overview.jam_language"/>.
-          </para>
-        </listitem>
-      </itemizedlist>
-    </para>
-
-    <section id="bbv2.overview.concepts">
-      <title>Concepts</title>
-
-      <para>Boost.Build has a few unique concepts that are introduced in this section. The best
-      way to explain the concepts is by comparison with more classical build tools.</para>
-
-      <para>
-        When using any flavour of make, you directly specify <firstterm>targets</firstterm>
-        and commands that are used to create them from other target. The below example
-        creates <filename>a.o</filename> from <filename>a.c</filename> using a hardcoded
-        compiler invocation command.
-<programlisting>
-a.o: a.c
-    g++ -o a.o -g a.c
-</programlisting>
-        This is rather low-level description mechanism and it's hard to adjust commands, options,
-        and sets of created targets depending on the used compiler and operating system.        
-      </para>
-
-      <para>
-        To improve portability, most modern build system provide a set of higher-level 
-        functions that can be used in build description files. Consider this example:
-<programlisting>
-add_program ("a", "a.c")
-</programlisting>
-        This is a function call that creates targets necessary to create executable file
-        from source file <filename>a.c</filename>. Depending on configured properties,
-        different commands line may be used. However, <code>add_program</code> is higher-level,
-        but rather thin level. All targets are created immediately when build description
-        is parsed, which makes it impossible to perform multi-variant builds. Often, change
-        in any build property requires complete reconfiguration of the build tree.        
-      </para>
-
-      <para>
-        In order to support true multivariant builds, Boost.Build introduces the concept of
-        <indexterm> <primary>metatarget</primary> <secondary>definition</secondary></indexterm>
-        <indexterm> <primary>main target</primary> <see>metataget</see> </indexterm>
-        <firstterm>metatarget</firstterm>—object that is created when build description
-        is parsed and can be later called with specific build properties to generate
-        actual targets. 
-      </para>
-
-      <para>
-        Consider an example:
-<programlisting>
-exe a : a.cpp ;
-</programlisting>
-        When this declaration is parsed, Boost.Build creates a metatarget, but does not
-        yet decides what files must be created, or what commands must be used. After
-        all build files are parsed, Boost.Build considers properties requested on the
-        command line. Supposed you have invoked Boost.Build with:
-<screen>
-bjam toolset=gcc toolset=msvc
-</screen>
-        In that case, the metatarget will be called twice, once with <code>toolset=gcc</code>
-        and once with <code>toolset=msvc</code>. Both invocations will produce concrete
-        targets, that will have different extensions and use different command lines.
-      </para>
-
-      <para>
-        Another key concept is 
-        <indexterm><primary>property</primary><secondary>definition</secondary></indexterm>
-        <firstterm>build property</firstterm>. Build property is a variable
-        that affects the build process. It can be specified on the command line, and is
-        passed when calling a metatarget. While all build tools have a similar mechanism,
-        Boost.Build differs by requiring that all build properties are declared in advance,
-        and providing a large set of properties with portable semantics.
-      </para>
-
-      <para>
-        The final concept is <indexterm><primary>property</primary><secondary>propagation</secondary></indexterm>
-        <firstterm>property propagation</firstterm>. Boost.Build does not require that every
-        metatarget is called with the same properties. Instead, the 
-        "top-level" metatargets are called with the properties specified on the command line.
-        Each metatarget can elect to augment or override some properties (in particular,
-        using the requirements mechanism, see <xref linkend="bbv2.overview.targets.requirements"/>).
-        Then, the dependency metatargets are called with modified properties and produce
-        concrete targets that are then used in build process. Of course, dependency metatargets
-        maybe in turn modify build properties and have dependencies of their own.
-      </para>
-
-      <para>For more in-depth treatment of the requirements and concepts, you may refer 
-      to <ulink url="http://syrcose.ispras.ru/2009/files/04_paper.pdf">SYRCoSE 2009 Boost.Build article</ulink>.
-      </para>
-           
-    </section>
-
-    <section id="bbv2.overview.jam_language">
-      <title>Boost.Jam Language</title>
-
-      <para>
-        This section will describe the basics of the Boost.Jam language&#x2014;
-        just enough for writing Jamfiles. For more information, please see the
-        <link linkend="bbv2.jam">Boost.Jam</link> documentation.
-      </para>
-
-      <para>
-        <link linkend="bbv2.jam">Boost.Jam</link> has an interpreted, procedural
-        language. On the lowest level, a <link linkend="bbv2.jam">Boost.Jam
-        </link> program consists of variables and <indexterm><primary>rule
-        </primary></indexterm> <firstterm>rules</firstterm> (Jam term for
-        function). They are grouped into modules&#x2014;there is one global
-        module and a number of named modules. Besides that, a <link linkend=
-        "bbv2.jam">Boost.Jam</link> program contains classes and class
-        instances.
-      </para>
-
-      <para>
-        Syntantically, a <link linkend="bbv2.jam">Boost.Jam</link> program
-        consists of two kind of elements&#x2014;keywords (which have a special
-        meaning to <link linkend="bbv2.jam">Boost.Jam</link>) and literals.
-        Consider this code:
-<programlisting>
-a = b ;
-</programlisting>
-        which assigns the value <literal>b</literal> to the variable <literal>a
-        </literal>. Here, <literal>=</literal> and <literal>;</literal> are
-        keywords, while <literal>a</literal> and <literal>b</literal> are
-        literals.
-        <warning>
-          <para>
-            All syntax elements, even keywords, must be separated by spaces. For
-            example, omitting the space character before <literal>;</literal>
-            will lead to a syntax error.
-          </para>
-        </warning>
-        If you want to use a literal value that is the same as some keyword, the
-        value can be quoted:
-<programlisting>
-a = "=" ;
-</programlisting>
-      </para>
-
-      <para>
-        All variables in <link linkend="bbv2.jam">Boost.Jam</link> have the same
-        type&#x2014;list of strings. To define a variable one assigns a value to
-        it, like in the previous example. An undefined variable is the same as a
-        variable with an empty value. Variables can be accessed using the
-        <code>$(<replaceable>variable</replaceable>)</code> syntax. For example:
-<programlisting>
-a = $(b) $(c) ;
-</programlisting>
-      </para>
-
-      <para>
-        Rules are defined by specifying the rule name, the parameter names, and
-        the allowed value list size for each parameter.
-<programlisting>
-rule <replaceable>example</replaceable>
- (
-     <replaceable>parameter1</replaceable> :
-     <replaceable>parameter2 ?</replaceable> :
-     <replaceable>parameter3 +</replaceable> :
-     <replaceable>parameter4 *</replaceable>
- )
- {
-    # rule body
- }
- </programlisting>
-        When this rule is called, the list passed as the first argument must
-        have exactly one value. The list passed as the second argument can
-        either have one value of be empty. The two remaining arguments can be
-        arbitrarily long, but the third argument may not be empty.
-      </para>
-
-      <para>
-        The overview of <link linkend="bbv2.jam">Boost.Jam</link> language
-        statements is given below:
-<programlisting>
-helper 1 : 2 : 3 ;
-x = [ helper 1 : 2 : 3 ] ;
-</programlisting>
-        This code calls the named rule with the specified arguments. When the
-        result of the call must be used inside some expression, you need to add
-        brackets around the call, like shown on the second line.
-<programlisting>
-if cond { statements } [ else { statements } ]
-</programlisting>
-        This is a regular if-statement. The condition is composed of:
-        <itemizedlist>
-          <listitem>
-            <para>
-              Literals (true if at least one string is not empty)
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              Comparisons: <code>a <replaceable>operator</replaceable> b</code>
-              where <replaceable>operator</replaceable> is one of
-              <code>=</code>, <code>!=</code>, <code><</code>,
-              <code>></code>, <code><=</code> or <code>>=</code>. The
-              comparison is done pairwise between each string in the left and
-              the right arguments.
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              Logical operations: <code>! a</code>, <code>a && b</code>,
-              <code>a || b</code>
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              Grouping: <code>( cond )</code>
-            </para>
-          </listitem>
-        </itemizedlist>
-<programlisting>
-for var in list { statements }
-</programlisting>
-        Executes statements for each element in list, setting the variable
-        <varname>var</varname> to the element value.
-<programlisting>
-while cond { statements }
-</programlisting>
-        Repeatedly execute statements while cond remains true upon entry.
-<programlisting>
-return values ;
-</programlisting>
-        This statement should be used only inside a rule and assigns
-        <code>values</code> to the return value of the rule.
-        <warning>
-          <para>
-            The <code>return</code> statement does not exit the rule. For
-            example:
-<programlisting>
-rule test ( )
-{
-   if 1 = 1
-   {
-      return "reasonable" ;
-   }
-   return "strange" ;
-}
-</programlisting>
-            will return <literal>strange</literal>, not
-            <literal>reasonable</literal>.
-          </para>
-        </warning>
-<programlisting>
-import <replaceable>module</replaceable> ;
-import <replaceable>module</replaceable> : <replaceable>rule</replaceable> ;
-</programlisting>
-        The first form imports the specified bjam module. All rules from that
-        module are made available using the qualified name: <code><replaceable>
-        module</replaceable>.<replaceable>rule</replaceable></code>. The second
-        form imports the specified rules only, and they can be called using
-        unqualified names.
-      </para>
-
-      <para id="bbv2.overview.jam_language.actions">
-        Sometimes, you'd need to specify the actual command lines to be used
-        when creating targets. In jam language, you use named actions to do
-        this. For example:
-<programlisting>
-actions create-file-from-another
-{
-    create-file-from-another $(<) $(>)
-}
-</programlisting>
-        This specifies a named action called <literal>
-        create-file-from-another</literal>. The text inside braces is the
-        command to invoke. The <literal>$(<)</literal> variable will be
-        expanded to a list of generated files, and the <literal>$(>)
-        </literal> variable will be expanded to a list of source files.
-      </para>
-
-      <para>
-        To flexibly adjust the command line, you can define a rule with the same
-        name as the action and taking three parameters -- targets, sources and
-        properties. For example:
-<programlisting>
-rule create-file-from-another ( targets * : sources * : properties * )
-{
-   if <variant>debug in $(properties)
-   {
-       OPTIONS on $(targets) = --debug ;
-   }
-}
-actions create-file-from-another
-{
-    create-file-from-another $(OPTIONS) $(<) $(>)
-}
-</programlisting>
-        In this example, the rule checks if certain build property is specified.
-        If so, it sets variable <varname>OPIONS</varname> that is then used
-        inside the action. Note that the variables set "on a target" will be
-        visible only inside actions building that target, not globally. Were
-        they set globally, using variable named <varname>OPTIONS</varname> in
-        two unrelated actions would be impossible.
-      </para>
-
-      <para>
-        More details can be found in Jam reference, <xref
-        linkend="jam.language.rules"/>.
-      </para>
-    </section>
-
-  <section id="bbv2.overview.configuration">
-    <title>Configuration</title>
-
-    <para>
-      On startup, Boost.Build searches and reads two configuration files: 
-      <filename>site-config.jam</filename> and <filename>user-config.jam</filename>.
-      The first one is usually installed and maintained by system administrator, and
-      the second is for user to modify.  You can edit the one in the top-level
-      directory of Boost.Build installation or create a copy in your home
-      directory and edit the copy.  The following table explains where both files
-      are searched.
-    </para>
-    
-    <table id="bbv2.reference.init.config">
-      <title>Search paths for configuration files</title>
-      
-      <tgroup cols="3">
-        <thead>
-          
-          <row>
-            <entry></entry>
-            
-            <entry>site-config.jam</entry>
-            
-            <entry>user-config.jam</entry>
-          </row>
-          
-        </thead>
-        <tbody>
-          
-          <row>
-            <entry>Linux</entry>
-            
-            <entry>
-              <simpara><code>/etc</code></simpara>
-              <simpara><code>$HOME</code></simpara>
-              <simpara><code>$BOOST_BUILD_PATH</code></simpara>
-            </entry>
-            
-            <entry>
-              <simpara><code>$HOME</code></simpara>
-              <simpara><code>$BOOST_BUILD_PATH</code></simpara>
-            </entry>
-          </row>
-          
-          <row>
-            <entry>Windows</entry>
-            
-            <entry>
-              <simpara><code>%SystemRoot%</code></simpara>
-              <simpara><code>%HOMEDRIVE%%HOMEPATH%</code></simpara>
-              <simpara><code>%HOME%</code></simpara>
-              <simpara><code>%BOOST_BUILD_PATH%</code></simpara>
-            </entry>
-            
-            <entry>
-              <simpara><code>%HOMEDRIVE%%HOMEPATH%</code></simpara>
-              <simpara><code>%HOME%</code></simpara>
-              <simpara><code>%BOOST_BUILD_PATH%</code></simpara>
-            </entry>
-          </row>
-        </tbody>
-      </tgroup>
-    </table>
-    
-    <tip>    
-      <para>
-        You can use the <command>--debug-configuration</command> option to
-        find which configuration files are actually loaded.
-      </para>
-    </tip>
-
-    <para>
-      Usually, <filename>user-config.jam</filename> just defines available compilers
-      and other tools (see <xref linkend="bbv2.recipies.site-config"/> for more advanced
-      usage). A tool is configured using the following syntax:
-    </para>
-
-<programlisting>
-using <replaceable>tool-name</replaceable> : ... ;
-</programlisting>
-<para>
-      The <functionname>using</functionname> rule is given a name of tool, and
-      will make that tool available to Boost.Build. For example,
-<programlisting>
-using gcc ;
-</programlisting> will make the <ulink url="http://gcc.gnu.org">GCC</ulink> compiler available.
-    </para>
-
-    <para>
-      All the supported tools are documented in <xref linkend="bbv2.reference.tools"/>,
-      including the specific options they take. Some general notes that apply to most
-      C++ compilers are below.
-    </para>
-
-    <para>
-      For all the C++ compiler toolsets Boost.Build supports
-      out-of-the-box, the list of parameters to
-      <functionname>using</functionname> is the same: <parameter
-      class="function">toolset-name</parameter>, <parameter
-      class="function">version</parameter>, <parameter
-      class="function">invocation-command</parameter>, and <parameter
-      class="function">options</parameter>.
-    </para>
-
-    <para>If you have a single compiler, and the compiler executable
-      <itemizedlist>
-      <listitem><para>has its &#x201C;usual name&#x201D; and is in the
-      <envar>PATH</envar>, or</para></listitem>
-      <listitem><para>was installed in a standard &#x201C;installation
-      directory&#x201D;, or</para></listitem>
-      <listitem><para>can be found using a global system like the Windows
-      registry.</para></listitem>
-      </itemizedlist>
-    it can be configured by simply:</para>
-<programlisting>
-using <replaceable>tool-name</replaceable> ;
-</programlisting>
-    <!-- TODO: mention auto-configuration? -->
-
-    <para>If the compiler is installed in a custom directory, you should provide the
-    command that invokes the compiler, for example:</para>
-<programlisting>
-using gcc : : g++-3.2 ;
-using msvc : : "Z:/Programs/Microsoft Visual Studio/vc98/bin/cl" ;
-</programlisting>
-    <para>
-      Some Boost.Build toolsets will use that path to take additional actions
-      required before invoking the compiler, such as calling vendor-supplied
-      scripts to set up its required environment variables. When compiler
-      executables for C and C++ are different, path to the C++ compiler
-      executable must be specified. The command can
-      be any command allowed by the operating system. For example:
-<programlisting>
-using msvc : : echo Compiling &#x26;&#x26; foo/bar/baz/cl ;
-</programlisting>
-      will work.
-    </para>
-
-    <para>
-      To configure several versions of a toolset, simply invoke the
-      <functionname>using</functionname> rule multiple times:
-<programlisting>
-using gcc : 3.3 ;
-using gcc : 3.4 : g++-3.4 ;
-using gcc : 3.2 : g++-3.2 ;
-</programlisting>
-      Note that in the first call to <functionname>using</functionname>, the
-      compiler found in the <envar>PATH</envar> will be used, and there is no
-      need to explicitly specify the command.
-    </para>
-
-<!-- TODO: This is not actually relevant for gcc now, and we need to rethink this
-    <para>As shown above, both the <parameter
-    class="function">version</parameter> and <parameter
-    class="function">invocation-command</parameter> parameters are
-    optional, but there's an important restriction: if you configure
-    the same toolset more than once, you must pass the <parameter
-    class="function">version</parameter>
-    parameter every time. For example, the following is not allowed:
-<programlisting>
-using gcc ;
-using gcc : 3.4 : g++-3.4 ;
-</programlisting>
-      because the first <functionname>using</functionname> call does
-      not specify a <parameter class="function">version</parameter>.
-    </para>  -->
-
-    <para>
-      Many of toolsets have an <parameter class="function">options</parameter>
-      parameter to fine-tune the configuration. All of
-      Boost.Build's standard compiler toolsets accept four options
-      <varname>cflags</varname>, <varname>cxxflags</varname>, 
-      <varname>compileflags</varname> and <varname>linkflags</varname> as <parameter
-      class="function">options</parameter> specifying flags that will be
-      always passed to the corresponding tools. Values of the
-      <varname>cflags</varname> feature are passed directly to the C
-      compiler, values of the <varname>cxxflags</varname> feature are
-      passed directly to the C++ compiler, and values of the
-      <varname>compileflags</varname> feature are passed to both. For
-      example, to configure a <command>gcc</command> toolset so that it
-      always generates 64-bit code you could write:
-<programlisting>
-        using gcc : 3.4 : : <compileflags>-m64 <linkflags>-m64 ;
-</programlisting>
-    </para>
-
-    <warning>
-      <para>
-        Although the syntax used to specify toolset options is very similar
-        to syntax used to specify requirements in Jamfiles, the toolset options
-        are not the same as features. Don't try to specify a feature value
-        in toolset initialization.
-      </para>
-    </warning>
-
-    </section>
-
-    <section id="bbv2.overview.invocation">
-      <title>Invocation</title>
-
-      <para>To invoke Boost.Build, type <command>bjam</command> on the command line. Three kinds
-      of command-line tokens are accepted, in any order:</para>
-      <variablelist>
-        <varlistentry>
-          <term>options</term>
-
-          <listitem><para>Options start with either dash, or two dashes.  The standard options
-          are listed below, and each project may add additional options</para></listitem>
-        </varlistentry>
-
-        <varlistentry>
-          <term>properties</term>
-
-          <listitem><para>Properties specify details of what you want to build (e.g. debug
-          or release variant).  Syntactically, all command line tokens with equal sign in them
-          are considered to specify properties.  In the simplest form, property looks like
-          <command><replaceable>feature</replaceable>=<replaceable>value</replaceable></command>
-          </para></listitem>
-        </varlistentry>
-
-        <varlistentry>
-          <term>target</term>
-
-          <listitem><para>All tokens that are neither options nor properties specify 
-          what targets to build.  The available targets entirely depend on the project
-          you are building.</para></listitem>
-        </varlistentry>
-      </variablelist>
-
-      <section id="bbv2.overview.invocation.examples">
-        <title>Examples</title>
-       
-        <para>To build all targets defined in Jamfile in the current directory with default properties, run:
-<screen>
-bjam
-</screen>
-        </para>
-
-        <para>To build specific targets, specify them on the command line:
-<screen>
-bjam lib1 subproject//lib2
-</screen>
-        </para>
-
-        <para>To request a certain value for some property, add <literal>
-        <replaceable>property</replaceable>=<replaceable>value</replaceable></literal> to the command line:
-<screen>
-bjam toolset=gcc variant=debug optimization=space
-</screen>
-        </para>
-      </section>
-
-      <section id="bbv2.overview.invocation.options">
-        <title>Options</title>
-      
-        <para>Boost.Build recognizes the following command line options.</para>
-
-        <variablelist>
-
-          <varlistentry id="bbv2.reference.init.options.help">
-            <term><option>--help</option></term>
-            <listitem>
-              <para>Invokes the online help system. This prints general
-              information on how to use the help system with additional
-              --help* options.
-              </para>
-            </listitem>
-          </varlistentry>
-          
-          <varlistentry>
-            <term><option>--clean</option></term>
-            <listitem>
-              <para>Cleans all targets in the current directory and
-              in any subprojects. Note that unlike the <literal>clean</literal>
-              target in make, you can use <literal>--clean</literal>
-              together with target names to clean specific targets.</para>
-            </listitem>
-          </varlistentry>
-          
-          <varlistentry>
-            <term><option>--clean-all</option></term>
-            <listitem>
-              <para>Cleans all targets,
-              no matter where they are defined. In particular, it will clean targets
-              in parent Jamfiles, and targets defined under other project roots.
-              </para>
-            </listitem>
-          </varlistentry>
-          
-          <varlistentry>
-            <term><option>--build-dir</option></term>
-            <listitem>
-              <para>Changes build directories for all project roots being built. When
-              this option is specified, all Jamroot files should declare project name.
-              The build directory for the project root will be computed by concatanating
-              the value of the <option>--build-dir</option> option, the project name
-              specified in Jamroot, and the build dir specified in Jamroot
-              (or <literal>bin</literal>, if none is specified).
-              </para>
-              
-              <para>The option is primarily useful when building from read-only
-              media, when you can't modify Jamroot.
-              </para>
-            </listitem>
-          </varlistentry>
-          
-          <varlistentry>
-            <term><option>--version</option></term>
-            <listitem>
-              <para>Prints information on Boost.Build and Boost.Jam
-              versions.
-              </para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>-a</option></term>
-            <listitem>
-              <para>Causes all files to be rebuilt.</para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>-n</option></term>
-            <listitem>
-              <para>Do no execute the commands, only print them.</para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>-q</option></term>
-            <listitem>
-              <para>Stop at first error, as opposed to continuing to build targets
-              that don't depend on the failed ones.</para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>-j <replaceable>N</replaceable></option></term>
-            <listitem>
-              <para>Run up to <replaceable>N</replaceable> commands in parallel.</para>
-            </listitem>
-          </varlistentry>
-         
-          <varlistentry>
-            <term><option>--debug-configuration</option></term>
-            <listitem>
-              <para>Produces debug information about loading of Boost.Build
-              and toolset files.</para>
-            </listitem>
-          </varlistentry>
-          
-          <varlistentry>
-            <term><option>--debug-building</option></term>
-            <listitem>
-              <para>Prints what targets are being built and with what properties.
-              </para>
-            </listitem>
-          </varlistentry>
-          
-          <varlistentry>
-            <term><option>--debug-generators</option></term>
-            <listitem>
-              <para>Produces debug output from generator search process.
-              Useful for debugging custom generators.
-              </para>
-            </listitem>
-          </varlistentry>
-          
-          <varlistentry>
-            <term><option>--ignore-config</option></term>
-            <listitem>
-              <para>Do not load <literal>site-config.jam</literal> and
-              <literal>user-config.jam</literal> configuration files.
-              </para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>-d0</option></term>
-            <listitem>
-              <para>Supress all informational messages.</para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>-d <replaceable>N</replaceable></option></term>
-            <listitem>
-              <para>Enable cummulative debugging levels from 1 to n. Values are: 
-              <orderedlist>
-                <listitem>Show the actions taken for building targets, as they are executed (the default).</listitem>
-                <listitem>Show "quiet" actions and display all action text, as they are executed.</listitem>
-                <listitem>Show dependency analysis, and target/source timestamps/paths.</listitem>
-                <listitem>Show arguments and timming of shell invocations.</listitem>
-                <listitem>Show rule invocations and variable expansions.</listitem>
-                <listitem>Show directory/header file/archive scans, and attempts at binding to targets.</listitem>
-                <listitem>Show variable settings.</listitem>
-                <listitem>Show variable fetches, variable expansions, and evaluation of '"if"' expressions.</listitem>
-                <listitem>Show variable manipulation, scanner tokens, and memory usage.</listitem>
-                <listitem>Show profile information for rules, both timing and memory.</listitem>
-                <listitem>Show parsing progress of Jamfiles.</listitem>
-                <listitem>Show graph of target dependencies.</listitem>
-                <listitem>Show change target status (fate).</listitem>
-              </orderedlist>
-              </para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>-d +<replaceable>N</replaceable></option></term>
-            <listitem>
-              <para>Enable debugging level <replaceable>N</replaceable>.</para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>-o <replaceable>file</replaceable></option></term>
-            <listitem>
-              <para>Write the updating actions to the specified file instead of running them.
-              </para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>-s <replaceable>var</replaceable>=<replaceable>value</replaceable></option></term>
-            <listitem>
-              <para>Set the variable <replaceable>var</replaceable> to
-              <replaceable>value</replaceable> in the global scope of the jam
-              language interpreter, overriding variables imported from the
-              environment.
-              </para>
-            </listitem>
-          </varlistentry>
-        </variablelist>
-      </section>
-
-      <section id="bbv2.overview.invocation.properties">
-        <title>Properties</title>
-
-        <para>In the simplest case, the build is performed with a single set of properties,
-        that you specify on the command line with elements in the form
-        <command><replaceable>feature</replaceable>=<replaceable>value</replaceable></command>.
-        The complete list of features can be found in <xref linkend="bbv2.overview.builtins.features"/>. 
-        The most common features are summarized below.</para>
-
-        <table>
-          <tgroup cols="3">
-            <thead>
-              
-              <row>
-                <entry>Feature</entry>
-                
-                <entry>Allowed values</entry>
-                
-                <entry>Notes</entry>
-              </row>
-              
-            </thead>
-            <tbody>
-              
-              <row>
-                <entry>variant</entry>
-                
-                <entry>debug,release</entry>
-                
-                <entry></entry>
-              </row>
-
-              <row>
-                <entry>link</entry>
-                
-                <entry>shared,static</entry>
-                
-                <entry>Determines if Boost.Build creates shared or static libraries</entry>
-              </row>
-
-              <row>
-                <entry>threading</entry>
-                
-                <entry>single,multi</entry>
-                
-                <entry>Cause the produced binaries to be thread-safe.  This requires proper support in the source code itself.</entry>
-              </row>
-
-              <row>
-                <entry>address-model</entry>
-                
-                <entry>32,64</entry>
-                
-                <entry>Explicitly request either 32-bit or 64-bit code generation. This typically
-                requires that your compiler is appropriately configured. Please refer to
-                <xref linkend="bbv2.reference.tools.compilers"/> and your compiler documentation
-                in case of problems.</entry>
-              </row>
-
-              <row>
-                <entry>toolset</entry>
-                
-                <entry>(Depends on configuration)</entry>
-                
-                <entry>The C++ compiler to use. See <xref linkend="bbv2.reference.tools.compilers"/> for a detailed list.</entry>
-              </row>
-
-              <row>
-                <entry>include</entry>
-                
-                <entry>(Arbitrary string)</entry>
-                
-                <entry>Additional include paths for C and C++ compilers.</entry>
-              </row>
-
-              <row>
-                <entry>define</entry>
-                
-                <entry>(Arbitrary string)</entry>
-                
-                <entry>Additional macro definitions for C and C++ compilers. The string should be either
-                <code>SYMBOL</code> or <code>SYMBOL=VALUE</code></entry>
-              </row>
-
-              <row>
-                <entry>cxxflags</entry>
-                
-                <entry>(Arbitrary string)</entry>
-                
-                <entry>Custom options to pass to the C++ compiler.</entry>
-              </row>
-
-              <row>
-                <entry>cflags</entry>
-                
-                <entry>(Arbitrary string)</entry>
-                
-                <entry>Custom options to pass to the C compiler.</entry>
-              </row>
-
-              <row>
-                <entry>linkflags</entry>
-                
-                <entry>(Arbitrary string)</entry>
-                
-                <entry>Custom options to pass to the C++ linker.</entry>
-              </row>
-
-              <row>
-                <entry>runtime-link</entry>
-                
-                <entry>shared,static</entry>
-                
-                <entry>Determines if shared or static version of C and C++ runtimes should be used.</entry>
-              </row>
-              
-            </tbody>
-          </tgroup>          
-        </table>
-
-        If you have more than one version of a given C++ toolset (e.g. configured in
-        <filename>user-config.jam</filename>, or autodetected, as happens with msvc), you can
-        request the specific version by passing 
-        <code><replaceable>toolset</replaceable>-<replaceable>version</replaceable></code> as
-        the value of the <code>toolset</code> feature, for example <code>toolset=msvc-8.0</code>.
-
-
-        <para>
-          If a feature has a fixed set of values it can be specified more than 
-          once on the command line. <!-- define 'base' and link to it -->
-          In which case, everything will be built several times --
-          once for each specified value of a feature.  For example, if you use
-        </para>
-<screen>
-bjam link=static link=shared threading=single threading=multi
-</screen>
-        <para>
-          Then a total of 4 builds will be performed.  For convenience, 
-          instead of specifying all requested values of a feature in separate command line elements,
-          you can separate the values with commands, for example:
-        </para>
-<screen>
-bjam link=static,shared threading=single,multi
-</screen>
-        <para>
-          The comma has special meaning only if the feature has a fixed set of values, so
-        </para>
-<screen>
-bjam include=static,shared
-</screen>
-        <para>is not treated specially.</para>
-                
-      </section>
-
-      <section id="bbv2.overview.invocation.targets">
-        <title>Targets</title>
-
-        <para>All command line elements that are neither options nor properties are the names of the
-        targets to build. See <xref linkend="bbv2.reference.ids"/>. If no target is specified,
-        the project in the current directory is built.</para>
-      </section>
-
-    </section>
-
-    <section id="bbv2.overview.targets">
-      <title>Declaring Targets</title>
-
-      <para id="bbv2.overview.targets.main">
-        A <firstterm>Main target</firstterm> is a user-defined named
-        entity that can be built, for example an executable file.
-        Declaring a main target is usually done using one of the main
-        target rules described in <xref linkend=
-        "bbv2.reference.rules"/>.  The user can also declare
-        custom main target rules as shown in <xref
-        linkend="bbv2.extending.rules"/>.
-      </para>
-
-      <indexterm><primary>main target</primary><secondary>declaration
-      syntax</secondary></indexterm>
-      <para>Most main target rules in Boost.Build have the same common
-      signature:</para>
-
-      <!-- I think we maybe ought to be talking about a common
-           _signature_ here, having already explained Boost.Jam function
-           signatures at the beginning of this chapter.  Then we could show
-           ( main-target-name : sources * : requirements * : default-build * : usage-requirements * )
-           instead.  More precise.
-
-           Also, I suggest replacing "default-build" by "default-properties" everywhere.
-      -->
-
-<indexterm><primary>common signature</primary></indexterm>
-<anchor id="bbv2.main-target-rule-syntax"/>
-<programlisting>
-rule <replaceable>rule-name</replaceable> (
-     main-target-name :
-     sources + :
-     requirements * :
-     default-build * :
-     usage-requirements * )
-</programlisting>
-
-      <itemizedlist>
-        <listitem>
-          <simpara>
-            <parameter>main-target-name</parameter> is the name used
-            to request the target on command line and to use it from
-            other main targets. A main target name may contain
-            alphanumeric characters, dashes
-            (&#x2018;<code>-</code>&#x2019;), and underscores
-            (&#x2018;<code>_</code>&#x2019;).
-          </simpara>
-        </listitem>
-
-        <listitem>
-          <simpara>
-            <parameter>sources</parameter> is the list of source files and other main
-            targets that must be combined.
-          </simpara>
-        </listitem>
-
-        <listitem>
-          <simpara>
-            <parameter>requirements</parameter> is the list of properties that must always
-            be present when this main target is built.
-          </simpara>
-        </listitem>
-
-        <listitem>
-          <simpara>
-            <parameter>default-build</parameter> is the list of properties that will be used
-            unless some other value of the same feature is already
-            specified, e.g. on the command line or by propagation from a dependent target.
-          </simpara>
-        </listitem>
-
-        <listitem>
-          <simpara>
-            <parameter>usage-requirements</parameter> is the list of properties that will be
-            propagated to all main targets that use this one, i.e. to all its
-            dependents.
-          </simpara>
-        </listitem>
-      </itemizedlist>
-
-      <para>
-        Some main target rules have a different list of parameters as explicitly
-        stated in their documentation.
-      </para>
-
-      <para>The actual requirements for a target are obtained by refining
-      requirements of the project where a target is declared with the
-      explicitly specified requirements. The same is true for
-      usage-requirements. More details can be found in
-      <xref linkend="bbv2.reference.variants.proprefine"/>
-      </para>
-
-      <section>
-        <title>Name</title>
-
-        <!-- perphaps we should use 'name-target-name' to closer
-        bind this description to the rule's signature. Here, and for
-        other parameters.  -->
-        <para>The name of main target has two purposes. First, it's used to refer to this target from
-        other targets and from command line. Second, it's used to compute the names of the generated files.
-        Typically, filenames are obtained from main target name by appending system-dependent suffixes and
-        prefixes.
-        </para>
-
-        <para>The name of a main target can contain alphanumeric characters,
-        dashes, undescores and dots. The entire
-        name is significant when resolving references from other targets. For determining filenames, only the
-        part before the first dot is taken. For example:</para>
-<programlisting>
-obj test.release : test.cpp : <variant>release ;
-obj test.debug : test.cpp : <variant>debug ;
-</programlisting>
-        <para>will generate two files named <filename>test.obj</filename> (in two different directories), not
-        two files named <filename>test.release.obj</filename> and <filename>test.debug.obj</filename>.
-        </para>
-
-      </section>
-
-      <section>
-        <title>Sources</title>
-
-        <para>The list of sources specifies what should be processed to
-        get the resulting targets. Most of the time, it's just a list of
-        files. Sometimes, you'll want to automatically construct the
-        list of source files rather than having to spell it out
-        manually, in which case you can use the
-        <functionname>glob</functionname> rule. Here are two examples:</para>
-<programlisting>
-exe a : a.cpp ;           # a.cpp is the only source file
-exe b : [ glob *.cpp ] ;  # all .cpp files in this directory are sources
-</programlisting>
-        <para>
-        Unless you specify a file with an absolute path, the name is
-        considered relative to the source directory&#x200A;&#x2014;&#x200A;which is typically
-        the directory where the Jamfile is located, but can be changed as
-        described in <xref linkend=
-          "bbv2.overview.projects.attributes.projectrule"/>.
-        </para>
-
-        <para>
-          <!-- use "project-id" here? -->
-          The list of sources can also refer to other main targets. Targets in
-          the same project can be referred to by name, while targets in other
-          projects must be qualified with a directory or a symbolic project
-          name. The directory/project name is separated from the target name by
-          a double forward slash. There is no special syntax to distinguish the
-          directory name from the project name&#x2014;the part before the double
-          slash is first looked up as project name, and then as directory name.
-          For example:
-        </para>
-<programlisting>
-lib helper : helper.cpp ;
-exe a : a.cpp helper ;
-# Since all project ids start with slash, ".." is a directory name.
-exe b : b.cpp ..//utils ;
-exe c : c.cpp /boost/program_options//program_options ;
-</programlisting>
-        <para>
-          The first exe uses the library defined in the same project. The second
-          one uses some target (most likely a library) defined by a Jamfile one
-          level higher. Finally, the third target uses a <ulink url=
-          "http://boost.org">C++ Boost</ulink> library, referring to it using
-          its absolute symbolic name. More information about target references
-          can be found in <xref linkend="bbv2.tutorial.libs"/> and <xref
-          linkend="bbv2.reference.ids"/>.
-        </para>
-      </section>
-
-      <section id="bbv2.overview.targets.requirements">
-        <title>Requirements</title>
-        <indexterm><primary>requirements</primary></indexterm>
-        <para>Requirements are the properties that should always be present when
-        building a target. Typically, they are includes and defines:
-<programlisting>
-exe hello : hello.cpp : <include>/opt/boost <define>MY_DEBUG ;
-</programlisting>
-        There is a number of other features, listed in
-        <xref linkend="bbv2.overview.builtins.features"/>. For example if
-        a library can only be built statically, or a file can't be compiled
-        with optimization due to a compiler bug, one can use
-<programlisting>
-lib util : util.cpp : <link>static ;
-obj main : main.cpp : <optimization>off ;
-</programlisting>
-        </para>
-
-        <para id="bbv2.overview.targets.requirements.conditional">Sometimes, particular relationships need to be maintained
-        among a target's build properties. This can be achieved with
-        <firstterm>conditional
-        requirements</firstterm>. For example, you might want to set
-        specific <code>#defines</code> when a library is built as shared,
-        or when a target's <code>release</code> variant is built in
-        release mode.
-<programlisting>
-lib network : network.cpp
-    : <emphasis role="bold"><link>shared:<define>NEWORK_LIB_SHARED</emphasis>
-     <variant>release:<define>EXTRA_FAST
-    ;
-</programlisting>
-
-        In the example above, whenever <filename>network</filename> is
-        built with <code><link>shared</code>,
-        <code><define>NEWORK_LIB_SHARED</code> will be in its
-        properties, too.
-        </para>
-
-        <para>You can use several properties in the condition, for example:
-<programlisting>
-lib network : network.cpp
-    : <toolset>gcc,<optimization>speed:<define>USE_INLINE_ASSEMBLER
-    ;
-</programlisting>
-        </para>
-
-        <para id="bbv2.overview.targets.requirements.indirect">
-          A more powerful variant of conditional requirements
-          is <firstterm>indirect conditional requirements</firstterm>.
-          You can provide a rule that will be called with the current build properties and can compute additional properties
-          to be added. For example:
-<programlisting>
-lib network : network.cpp
-    : <conditional>@my-rule
-    ;
-rule my-rule ( properties * )
-{
-    local result ;
-    if <toolset>gcc <optimization>speed in $(properties)
-    {
-        result += <define>USE_INLINE_ASSEMBLER ;
-    }
-    return $(result) ;
-}
-</programlisting>
-        This example is equivalent to the previous one, but for complex cases, indirect conditional
-        requirements can be easier to write and understand.
-        </para>
-
-        <para>Requirements explicitly specified for a target are usually
-        combined with the requirements specified for the containing project. You
-        can cause a target to completely ignore specific project's requirement
-        using the syntax by adding a minus sign before a property, for example:
-<programlisting>
-exe main : main.cpp : <emphasis role="bold">-<define>UNNECESSARY_DEFINE</emphasis> ;
-</programlisting>
-        This syntax is the only way to ignore free properties from a parent,
-        such as defines. It can be also useful for ordinary properties. Consider
-        this example:
-<programlisting>
-project test : requirements <threading>multi ;
-exe test1 : test1.cpp ;
-exe test2 : test2.cpp : <threading>single ;
-exe test3 : test3.cpp : -<threading>multi ;
-</programlisting>
-        Here, <code>test1</code> inherits project requirements and will always
-        be built in multi-threaded mode. The <code>test2</code> target
-        <emphasis>overrides</emphasis> project's requirements and will
-        always be built in single-threaded mode. In contrast, the
-        <code>test3</code> target <emphasis>removes</emphasis> a property
-        from project requirements and will be built either in single-threaded or
-        multi-threaded mode depending on which variant is requested by the
-        user.</para>
-
-        <para>Note that the removal of requirements is completely textual:
-        you need to specify exactly the same property to remove it.</para>
-
-      </section>
-
-      <section>
-        <title>Default Build</title>
-
-        <para>The <varname>default-build</varname> parameter
-        is a set of properties to be used if the build request does
-        not otherwise specify a value for features in the set. For example:
-<programlisting>
-exe hello : hello.cpp : : <threading>multi ;
-</programlisting>
-        would build a multi-threaded target unless the user
-        explicitly requests a single-threaded version. The difference between
-        requirements and default-build is that requirements cannot be
-        overridden in any way.
-        </para>
-      </section>
-
-      <section>
-        <title>Additional Information</title>
-
-        <para>
-          The ways a target is built can be so different that
-          describing them using conditional requirements would be
-          hard. For example, imagine that a library actually uses
-          different source files depending on the toolset used to build
-          it. We can express this situation using <firstterm>target
-          alternatives</firstterm>:
-<programlisting>
-lib demangler : dummy_demangler.cpp ;                      # alternative 1
-lib demangler : demangler_gcc.cpp : <toolset>gcc ;   # alternative 2
-lib demangler : demangler_msvc.cpp : <toolset>msvc ; # alternative 3
-</programlisting>
-          In the example above, when built with <literal>gcc</literal>
-          or <literal>msvc</literal>, <filename>demangler</filename>
-          will use a source file specific to the toolset.  Otherwise, it
-          will use a generic source file,
-          <filename>dummy_demangler.cpp</filename>.
-        </para>
-
-        <para>It is possible to declare a target inline, i.e. the "sources"
-        parameter may include calls to other main rules. For example:</para>
-
-<programlisting>
-exe hello : hello.cpp
-    [ obj helpers : helpers.cpp : <optimization>off ] ;</programlisting>
-
-         <para>
-           Will cause "helpers.cpp" to be always compiled without
-           optimization. When referring to an inline main target, its declared
-           name must be prefixed by its parent target's name and two dots. In
-           the example above, to build only helpers, one should run
-           <code>bjam hello..helpers</code>.
-         </para>
-
-         <para>When no target is requested on the command line, all targets in the
-         current project will be built. If a target should be built only by
-         explicit request, this can be expressed by the
-         <functionname>explicit</functionname> rule:
-         <programlisting>
-explicit install_programs ;</programlisting>
-         </para>
-
-      </section>
-    </section>
-
-    <section id="bbv2.overview.projects">
-      <title>Projects</title>
-
-      <para>As mentioned before, targets are grouped into projects,
-      and each Jamfile is a separate project. Projects are useful
-      because they allow us to group related targets together, define
-      properties common to all those targets, and assign a symbolic
-      name to the project that can be used in referring to its
-      targets.
-      </para>
-
-      <para>Projects are named using the
-      <functionname>project</functionname> rule, which has the
-      following syntax:
-<programlisting>
-project <replaceable>id</replaceable> : <replaceable>attributes</replaceable> ;
-</programlisting>
-        Here, <replaceable>attributes</replaceable> is a sequence of
-        rule arguments, each of which begins with an attribute-name
-        and is followed by any number of build properties. The list
-        of attribute names along with its handling is also shown in
-        the table below. For example, it is possible to write:
-<programlisting>
-project tennis
-    : requirements <threading>multi
-    : default-build release
-    ;
-</programlisting>
-      </para>
-
-      <para>The possible attributes are listed below.</para>
-
-      <para><emphasis>Project id</emphasis> is a short way to denote a project, as
-        opposed to the Jamfile's pathname. It is a hierarchical path,
-        unrelated to filesystem, such as "boost/thread". <link linkend=
-          "bbv2.reference.ids">Target references</link> make use of project ids to
-        specify a target.</para>
-        <!--
-             This is actually spelled "project-id," isn't it?  You
-             have to fix all of these and use a code font.  Also below
-             in the table.
-        -->
-
-      <para><emphasis>Source location</emphasis> specifies the directory where sources
-        for the project are located.</para>
-
-      <para><emphasis>Project requirements</emphasis> are requirements that apply to
-        all the targets in the projects as well as all subprojects.</para>
-
-      <para><emphasis>Default build</emphasis> is the build request that should be
-        used when no build request is specified explicitly.</para>
-        <!--
-             This contradicts your earlier description of default
-             build and I believe it is incorrect.  Specifying a build
-             request does not neccessarily render default build
-             ineffective, because it may cover different features.
-             This description is repeated too many times in the
-             documentation; you almost *had* to get it wrong once.
-        -->
-
-      <para id="bbv2.overview.projects.attributes.projectrule">
-        The default values for those attributes are
-        given in the table below.
-
-        <table>
-          <title/>
-          <tgroup cols="4">
-            <thead>
-              <row>
-                <entry>Attribute</entry>
-
-                <entry>Name</entry>
-
-                <entry>Default value</entry>
-
-                <entry>Handling by the <functionname>project</functionname>
-                rule</entry>
-
-              </row>
-            </thead>
-
-            <tbody>
-
-              <row>
-                <entry>Project id</entry>
-
-                <entry>none</entry>
-
-                <entry>none</entry>
-
-                <entry>Assigned from the first parameter of the 'project' rule.
-                  It is assumed to denote absolute project id.</entry>
-              </row>
-
-              <row>
-                <entry>Source location</entry>
-
-                <entry><literal>source-location</literal></entry>
-
-                <entry>The location of jamfile for the project</entry>
-
-                <entry>Sets to the passed value</entry>
-              </row>
-
-              <row>
-                <entry>Requirements</entry>
-
-                <entry><literal>requirements</literal></entry>
-
-                <entry>The parent's requirements</entry>
-
-                <entry>The parent's requirements are refined with the passed
-                  requirement and the result is used as the project
-                  requirements.</entry>
-              </row>
-
-              <row>
-                <entry>Default build</entry>
-
-                <entry><literal>default-build</literal></entry>
-
-                <entry>none</entry>
-
-                <entry>Sets to the passed value</entry>
-              </row>
-
-              <row>
-                <entry>Build directory</entry>
-
-                <entry><literal>build-dir</literal></entry>
-
-                <entry>Empty if the parent has no build directory set.
-                Otherwise, the parent's build directory with the
-                relative path from parent to the current project
-                appended to it.
-                </entry>
-
-                <entry>Sets to the passed value, interpreted as relative to the
-                  project's location.</entry>
-              </row>
-            </tbody>
-          </tgroup>
-        </table>
-        </para>
-
-      <para>Besides defining projects and main targets, Jamfiles
-      often invoke various utility rules. For the full list of rules
-      that can be directly used in Jamfile see
-      <xref linkend="bbv2.reference.rules"/>.
-      </para>
-
-      <para>Each subproject inherits attributes, constants and rules
-      from its parent project, which is defined by the nearest
-      Jamfile in an ancestor directory above
-      the subproject.  The top-level project is declared in a file
-      called <filename>Jamroot</filename> rather than
-      <filename>Jamfile</filename>.  When loading a project,
-      Boost.Build looks for either <filename>Jamroot</filename> or
-      <code>Jamfile</code>.  They are handled identically, except
-      that if the file is called <filename>Jamroot</filename>, the
-      search for a parent project is not performed.
-      </para>
-
-      <para>Even when building in a subproject directory, parent
-      project files are always loaded before those of their
-      subprojects, so that every definition made in a parent project
-      is always available to its children. The loading order of any
-      other projects is unspecified.  Even if one project refers to
-      another via the <code>use-project</code> or a target reference,
-      no specific order should be assumed.
-      </para>
-
-      <note>
-        <para>Giving the root project the special name
-        &#x201C;<filename>Jamroot</filename>&#x201D; ensures that
-        Boost.Build won't misinterpret a directory above it as the
-        project root just because the directory contains a Jamfile.
-        <!-- The logic of the previous reasoning didn't hang together -->
-        </para>
-      </note>
-
-      <!-- All this redundancy with the tutorial is bad.  The tutorial
-           should just be made into the introductory sections of this
-           document, which should be called the "User Guide."  It's
-           perfectly appropriate to start a user guide with that kind
-           of material. -->
-    </section>
-
-  <section id="bbv2.overview.build_process">
-    <title>The Build Process</title>
-
-    <para>When you've described your targets, you want Boost.Build to run the
-      right tools and create the needed targets.
-      <!-- That sentence is awkward and doesn't add much. -->
-      This section will describe
-      two things: how you specify what to build, and how the main targets are
-      actually constructed.
-    </para>
-
-    <para>The most important thing to note is that in Boost.Build, unlike
-      other build tools, the targets you declare do not correspond to specific
-      files. What you declare in a Jamfile is more like a “metatarget.”
-      <!-- Do we need a new word?  We already have “main target.” If
-           you're going to introduce “metatarget” you should at least
-           tie it together with the main target concept. It's too
-           strange to have been saying “main target” all along and now
-           suddenly start saying “what you declare in a jamfile” -->
-      Depending on the properties you specify on the command line,
-      each metatarget will produce a set of real targets corresponding
-      to the requested properties. It is quite possible that the same
-      metatarget is built several times with different properties,
-      producing different files.
-    </para>
-    <tip>
-      <para>
-        This means that for Boost.Build, you cannot directly obtain a build
-        variant from a Jamfile. There could be several variants requested by the
-        user, and each target can be built with different properties.
-      </para>
-    </tip>
-
-    <section id="bbv2.overview.build_request">
-      <title>Build Request</title>
-
-      <para>
-        The command line specifies which targets to build and with which
-        properties. For example:
-<programlisting>
-bjam app1 lib1//lib1 toolset=gcc variant=debug optimization=full
-</programlisting>
-        would build two targets, "app1" and "lib1//lib1" with the specified
-        properties. You can refer to any targets, using
-        <link linkend="bbv2.reference.ids">target id</link> and specify arbitrary
-        properties. Some of the properties are very common, and for them the name
-        of the property can be omitted. For example, the above can be written as:
-<programlisting>
-bjam app1 lib1//lib1 gcc debug optimization=full
-</programlisting>
-        The complete syntax, which has some additional shortcuts, is
-        described in <xref linkend="bbv2.overview.invocation"/>.
-      </para>
-    </section>
-
-    <section><title>Building a main target</title>
-
-      <para>When you request, directly or indirectly, a build of a main target
-        with specific requirements, the following steps are done. Some brief
-        explanation is provided, and more details are given in <xref
-        linkend="bbv2.reference.buildprocess"/>.
-        <orderedlist>
-
-          <listitem><para>Applying default build. If the default-build
-          property of a target specifies a value of a feature that is not
-          present in the build request, that value is added.</para>
-          <!--
-              Added to what?  Don't say “the build request!” The
-              request is what was requested; if its meaning changes
-              the reader will be confused.
-          -->
-          </listitem>
-
-          <listitem><para>Selecting the main target alternative to use. For
-              each alternative we look how many properties are present both in
-              alternative's requirements, and in build request. The
-              alternative with large number of matching properties is selected.
-            </para></listitem>
-
-          <listitem><para>Determining "common" properties.
-          <!-- It would be nice to have a better name for this.  But
-               even more importantly, unless you say something about
-               the reason for choosing whatever term you use, the
-               reader is going to wonder what it means. -->
-              The build request
-              is <link linkend="bbv2.reference.variants.proprefine">refined</link>
-              with target's requirements.
-              <!-- It's good that you have the links here and below,
-                   but I'm concerned that it doesn't communicate well
-                   in print and there's not enough information for the
-                   print reader.  Maybe we need separate XSL for PDF
-                   printing that generates a readable footnote. -->
-              The conditional properties in
-              requirements are handled as well. Finally, default values of
-              features are added.
-            </para></listitem>
-
-          <listitem><para>Building targets referred by the sources list and
-              dependency properties. The list of sources and the properties
-              can refer to other target using <link
-              linkend="bbv2.reference.ids">target references</link>. For each
-              reference, we take all <link
-              linkend="bbv2.reference.features.attributes.propagated">propagated</link>
-              properties, refine them by explicit properties specified in the
-              target reference, and pass the resulting properties as build
-              request to the other target.
-            </para></listitem>
-
-          <listitem><para>Adding the usage requirements produced when building
-              dependencies to the "common" properties. When dependencies are
-              built in the previous step, they return
-              <!-- don't assume reader has a mental model for BB internals! -->
-              both the set of created
-              "real" targets, and usage requirements. The usage requirements
-              are added to the common properties and the resulting property
-              set will be used for building the current target.
-            </para></listitem>
-
-          <listitem><para>Building the target using generators. To convert the
-              sources to the desired type, Boost.Build uses "generators" ---
-              objects that correspond to tools like compilers and linkers. Each
-              generator declares what type of targets it can produce and what
-              type of sources it requires. Using this information, Boost.Build
-              determines which generators must be run to produce a specific
-              target from specific sources. When generators are run, they return
-              the "real" targets.
-            </para></listitem>
-
-          <listitem><para>Computing the usage requirements to be returned. The
-          conditional properties in usage requirements are expanded
-          <!-- what does "expanded" mean? -->
-          and the result is returned.</para></listitem>
-        </orderedlist>
-      </para>
-    </section>
-
-    <section><title>Building a Project</title>
-
-      <para>Often, a user builds a complete project, not just one main
-      target. In fact, invoking <command>bjam</command> without
-      arguments
-      <!-- do you know the difference between parameters and
-           arguments?  I only learned this year -->
-      builds the project defined in the current
-      directory.</para>
-
-      <para>When a project is built, the build request is passed without
-        modification to all main targets in that project.
-        <!-- What does it mean to pass a build request to a target?
-             -->
-        It's is possible to
-        prevent implicit building of a target in a project with the
-        <code>explicit</code> rule:
-<programlisting>
-explicit hello_test ;
-</programlisting>
-        would cause the <code>hello_test</code> target to be built only if
-        explicitly requested by the user or by some other target.
-      </para>
-
-      <para>The Jamfile for a project can include a number of
-      <code>build-project</code> rule calls that specify additional projects to
-      be built.
-      </para>
-
-    </section>
-
-  </section>
-
-  </chapter>
-
-<!--
-     Local Variables:
-     mode: nxml
-     sgml-indent-data: t
-     sgml-parent-document: ("userman.xml" "chapter")
-     sgml-set-face: t
-     End:
--->
diff --git a/SRC/Boost/tools/build/v2/doc/src/recipes.xml b/SRC/Boost/tools/build/v2/doc/src/recipes.xml
deleted file mode 100755
index abd9998..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/recipes.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE appendix PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-  <!-- The file is empty. It's not clear if it will be needed in
-       future or FAQ completely supercedes it. -->
-
-  <appendix id="bbv2.recipies">
-    <title>Boost Build System V2 recipes</title>
-
-  </appendix>
diff --git a/SRC/Boost/tools/build/v2/doc/src/reference.xml b/SRC/Boost/tools/build/v2/doc/src/reference.xml
deleted file mode 100755
index 3e6dfb1..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/reference.xml
+++ /dev/null
@@ -1,2325 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"
-[
-<!ENTITY toolset_ops "<optional><replaceable>version</replaceable></optional> : <optional><replaceable>c++-compile-command</replaceable></optional> : <optional><replaceable>compiler options</replaceable></optional>">
-<!ENTITY option_list_intro "<para>The following options can be provided, using <literal><<replaceable>option-name</replaceable>><replaceable>option-value</replaceable></literal> syntax:</para>">
-<!ENTITY using_repeation "<para>This statement may be repeated several times, if you want to configure several versions of the compiler.</para>">
-]>
-
-<chapter id="bbv2.reference"
-         xmlns:xi="http://www.w3.org/2001/XInclude">
-  <title>Reference</title>
-
-  <section id="bbv2.reference.general">
-    <title>General information</title>
-
-    <section id="bbv2.reference.init">
-      <title>Initialization</title>
-
-      <para>bjam's first job upon startup is to load the Jam code that
-        implements the build system. To do this, it searches for a file
-        called <filename>boost-build.jam</filename>, first in the invocation directory, then
-        in its parent and so forth up to the filesystem root, and finally
-        in the directories specified by the environment variable
-        BOOST_BUILD_PATH. When found, the file is interpreted, and should
-        specify the build system location by calling the boost-build
-        rule:</para>
-
-<programlisting>
-rule boost-build ( location ? )
-</programlisting>
-
-      <para>
-        If location is a relative path, it is treated as relative to
-        the directory of <filename>boost-build.jam</filename>. The directory specified by
-        that location and the directories in BOOST_BUILD_PATH are then searched for
-        a file called <filename>bootstrap.jam</filename>, which is expected to
-        bootstrap the build system. This arrangement allows the build
-        system to work without any command-line or environment variable
-        settings. For example, if the build system files were located in a
-        directory "build-system/" at your project root, you might place a
-        <filename>boost-build.jam</filename> at the project root containing:
-
-<programlisting>
-boost-build build-system ;
-</programlisting>
-
-        In this case, running bjam anywhere in the project tree will
-        automatically find the build system.</para>
-
-      <para>The default <filename>bootstrap.jam</filename>, after loading some standard
-        definitions, loads two <filename>site-config.jam</filename> and <filename>user-config.jam</filename>.</para>
-
-    </section>
-
-  </section>
-
-  <section id="bbv2.reference.rules">
-    <title>Builtin rules</title>
-
-    <para>This section contains the list of all rules that
-    can be used in Jamfile&#x2014;both rules that define new
-    targets and auxiliary rules.</para>
-
-    <variablelist>
-      <varlistentry>
-        <term><literal>exe</literal></term>
-
-        <listitem><para>Creates an executable file. See
-        <xref linkend="bbv2.tasks.programs"/>.</para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>lib</literal></term>
-
-        <listitem><para>Creates an library file. See
-        <xref linkend="bbv2.tasks.libraries"/>.</para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>install</literal></term>
-
-        <listitem><para>Installs built targets and other files. See
-        <xref linkend="bbv2.tasks.installing"/>.</para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>alias</literal></term>
-
-        <listitem><para>Creates an alias for other targets. See
-        <xref linkend="bbv2.tasks.alias"/>.</para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>unit-test</literal></term>
-
-        <listitem><para>Creates an executable that will be automatically run. See
-        <xref linkend="bbv2.builtins.testing"/>.</para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>compile</literal></term>
-        <term><literal>compile-fail</literal></term>
-        <term><literal>link</literal></term>
-        <term><literal>link-fail</literal></term>
-        <term><literal>run</literal></term>
-        <term><literal>run-fail</literal></term>
-
-        <listitem><para>Specialized rules for testing. See
-        <xref linkend="bbv2.builtins.testing"/>.</para></listitem>
-      </varlistentry>
-
-
-      <varlistentry>
-        <term><literal>obj</literal></term>
-
-        <listitem><para>Creates an object file. Useful when a single source
-        file must be compiled with special properties.</para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>preprocessed</literal></term>
-        <indexterm><primary>preprocessed</primary></indexterm>
-
-        <listitem><para>Creates an preprocessed source file. The arguments follow the
-        <link linkend="bbv2.main-target-rule-syntax">common syntax</link>.</para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>glob</literal></term>
-
-        <listitem><para>The <code>glob</code> rule takes a list shell pattern
-        and returns the list of files in the project's source directory that
-        match the pattern. For example:
-        <programlisting>
-lib tools : [ glob *.cpp ] ;
-        </programlisting>
-        It is possible to also pass a second argument&#x2014;the list of
-        exclude patterns. The result will then include the list of
-        files patching any of include patterns, and not matching any
-        of the exclude patterns. For example:
-        <programlisting>
-lib tools : [ glob *.cpp : file_to_exclude.cpp bad*.cpp ] ;
-        </programlisting>
-        </para></listitem>
-      </varlistentry>
-
-      <varlistentry id="bbv2.reference.glob-tree">
-        <indexterm><primary>glob-tree</primary></indexterm>
-        <term><literal>glob-tree</literal></term>
-
-        <listitem><para>The <code>glob-tree</code> is similar to the
-        <code>glob</code> except that it operates recursively from
-        the directory of the containing Jamfile. For example:
-        <programlisting>
-ECHO [ glob-tree *.cpp : .svn ] ;
-        </programlisting>
-        will print the names of all C++ files in your project. The
-        <literal>.svn</literal> exclude pattern prevents the
-        <code>glob-tree</code> rule from entering administrative
-        directories of the Subversion version control system.
-        </para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>project</literal></term>
-
-        <listitem><para>Declares project id and attributes, including
-        project requirements. See <xref linkend="bbv2.overview.projects"/>.
-        </para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>use-project</literal></term>
-
-        <listitem><para>Assigns a symbolic project ID to a project at
-        a given path. This rule must be better documented!
-        </para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>explicit</literal></term>
-
-        <listitem><para>The <literal>explicit</literal> rule takes a single
-        parameter&#x2014;a list of target names. The named targets will
-        be marked explicit, and will be built only if they are explicitly
-        requested on the command line, or if their dependents are built.
-        Compare this to ordinary targets, that are built implicitly when
-        their containing project is built.</para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>always</literal></term>
-        <indexterm><primary>always building a metatarget</primary></indexterm>
-
-        <listitem><para>The <literal>always</literal> funciton takes a single
-        parameter&#x2014;a list of metatarget names. The top-level targets produced
-        by the named metatargets will be always considered out of date. Consider this example:
-        </para>
-<programlisting>
-exe hello : hello.cpp ;
-exe bye : bye.cpp ;
-always hello ;
-</programlisting>
-        <para>If a build of <filename>hello</filename> is requested, then the binary will
-        always be relinked. The object files will not be recompiled, though. Note that if
-        a build of <filename>hello</filename> is not requested, for example you specify just
-        <filename>bye</filename> on the command line, <filename>hello</filename> will not
-        be relinked.</para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>constant</literal></term>
-
-        <listitem><para>Sets project-wide constant. Takes two
-        parameters: variable name and a value and makes the specified
-        variable name accessible in this Jamfile and any child Jamfiles.
-        For example:
-        <programlisting>
-constant VERSION : 1.34.0 ;
-        </programlisting>
-        </para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>path-constant</literal></term>
-
-        <listitem><para>Same as <literal>constant</literal> except that
-        the value is treated as path relative to Jamfile location. For example,
-        if <command>bjam</command> is invoked in the current directory,
-        and Jamfile in <filename>helper</filename> subdirectory has:
-        <programlisting>
-path-constant DATA : data/a.txt ;
-        </programlisting>
-        then the variable <varname>DATA</varname> will be set to
-        <literal>helper/data/a.txt</literal>, and if <command>bjam</command>
-        is invoked from the <filename>helper</filename> directory, then
-        the variable <varname>DATA</varname> will be set to
-        <literal>data/a.txt</literal>.
-        </para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>build-project</literal></term>
-
-        <listitem><para>Cause some other project to be built. This rule
-        takes a single parameter&#x2014;a directory name relative to
-        the containing Jamfile. When the containing Jamfile is built,
-        the project located at that directory will be built as well.
-        At the moment, the parameter to this rule should be a directory
-        name. Project ID or general target references are not allowed.
-        </para></listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>test-suite</literal></term>
-
-        <listitem><para>This rule is deprecated and equivalent to
-        <code>alias</code>.</para></listitem>
-      </varlistentry>
-
-    </variablelist>
-
-  </section>
-
-  <section id="bbv2.overview.builtins.features">
-    <title>Builtin features</title>
-
-    <para>This section documents the features that are built-in into
-    Boost.Build. For features with a fixed set of values, that set is
-    provided, with the default value listed first.</para>
-
-    <indexterm><primary>features</primary><secondary>builtin</secondary></indexterm>
-
-    <variablelist>
-      <varlistentry><term><literal>variant</literal></term>
-        <indexterm><primary>variant</primary></indexterm>
-
-        <listitem>
-          <para>
-            A feature combining several low-level features, making it easy to
-            request common build configurations.
-          </para>
-
-          <para>
-            <emphasis role="bold">Allowed values:</emphasis>
-            <literal>debug</literal>, <literal>release</literal>,
-            <literal>profile</literal>.
-          </para>
-
-          <para>
-            The value <literal>debug</literal> expands to
-          </para>
-
-<programlisting>
-<optimization>off <debug-symbols>on <inlining>off <runtime-debugging>on
-</programlisting>
-
-          <para>
-            The value <literal>release</literal> expands to
-          </para>
-
-<programlisting>
-<optimization>speed <debug-symbols>off <inlining>full <runtime-debugging>off
-</programlisting>
-
-          <para>
-            The value <literal>profile</literal> expands to the same as
-            <literal>release</literal>, plus:
-          </para>
-
-<programlisting>
-<profiling>on <debug-symbols>on
-</programlisting>
-
-          <para>
-            Users can define their own build variants using the
-            <code>variant</code> rule from the <code>common</code> module.
-          </para>
-
-          <para>
-            <emphasis role="bold">Note:</emphasis> Runtime debugging is on in
-            debug builds to suit the expectations of people used to various
-            IDEs.
-            <!-- Define "runtime debugging". Why will those people expect it to
-            be on in debug builds? -->
-          </para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="bbv2.overview.builtins.features.link">
-        <term><literal>link</literal></term>
-        <indexterm><primary>link</primary></indexterm>
-
-        <listitem>
-
-          <para><emphasis role="bold">Allowed values:</emphasis> <literal>shared</literal>,
-            <literal>static</literal></para>
-
-          <simpara>
-            A feature controling how libraries are built.
-          </simpara>
-
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="bbv2.overview.builtins.features.runtime-link">
-        <indexterm><primary>runtime linking</primary></indexterm>
-        <term><literal>runtime-link</literal></term>
-
-        <listitem>
-          <para><emphasis role="bold">Allowed values:</emphasis> <literal>shared</literal>,
-            <literal>static</literal></para>
-
-          <simpara>
-            Controls if a static or shared C/C++ runtime should be used. There
-            are some restrictions how this feature can be used, for example
-            on some compilers an application using static runtime should
-            not use shared libraries at all, and on some compilers,
-            mixing static and shared runtime requires extreme care.  Check
-            your compiler documentation for more details.
-          </simpara>
-
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>threading</literal></term>
-        <indexterm><primary>threading</primary></indexterm>
-
-        <listitem>
-
-          <para><emphasis role="bold">Allowed values:</emphasis> <literal>single</literal>,
-            <literal>multi</literal></para>
-
-          <simpara>
-            Controls if the project should be built in multi-threaded mode.  This feature does not
-            necessary change code generation in the compiler, but it causes the compiler to link
-            to additional or different runtime libraries, and define additional preprocessor 
-            symbols (for example, <code>_MT</code> on Windows and <code>_REENTRANT</code> on Linux). 
-            How those symbols affect the compiled code depends on the code itself.
-          </simpara>
-
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>source</literal></term>
-        <indexterm><primary>source</primary></indexterm>
-
-        <listitem>
-          <simpara>
-            The <code><source>X</code> feature has the same effect on
-            building a target as putting X in the list of sources. It is useful
-            when you want to add the same source to all targets in the project
-            (you can put <source> in requirements) or to conditionally
-            include a source (using conditional requirements, see <xref linkend=
-            "bbv2.tutorial.conditions"/>). See also the <code><library>
-            </code> feature.
-          </simpara>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>library</literal></term>
-        <indexterm><primary>library</primary></indexterm>
-
-        <listitem>
-          <simpara>
-            This feature is almost equivalent to the <code><source></code>
-            feature, except that it takes effect only for linking. When you want
-            to link all targets in a Jamfile to certain library, the
-            <code><library></code> feature is preferred over
-            <code><source>X</code> -- the latter will add the library to
-            all targets, even those that have nothing to do with libraries.
-          </simpara>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry><term><anchor id="bbv2.builtin.features.dependency"/>
-          <literal>dependency</literal></term>
-          <indexterm><primary>dependency</primary></indexterm>
-
-        <listitem>
-          <simpara>
-            Introduces a dependency on the target named by the value of this
-            feature (so it will be brought up-to-date whenever the target being
-            declared is). The dependency is not used in any other way.
-
-            <!--
-            ====================================================================
-            An example and a motivation is needed here. Below is some commented
-            out content that used to be here but did not make any sense and
-            seems to have been left unfinished in some previous revision. Should
-            be fixed and this whole feature should be retested and fixed as
-            needed.
-            ====================================================================
-            For example, in application with plugins, the plugins are not used
-            when linking the application, application might have a dependency on
-            its plugins, even though
-
-            and
-            adds its usage requirements to the build properties
-            of the target being declared.
-
-            The primary use case is when you want
-            the usage requirements (such as <code>#include</code> paths) of some
-            library to be applied, but do not want to link to it.
-
-            It is hard to picture why anyone would want to do that. Please flesh
-            out this motivation.
-            ====================================================================
-            -->
-          </simpara>
-        </listitem>
-      </varlistentry>
-
-
-      <varlistentry><term><anchor id="bbv2.builtin.features.use"/>
-          <literal>use</literal></term>
-          <indexterm><primary>use</primary></indexterm>
-
-        <listitem>
-          <simpara>
-            Introduces a dependency on the target named by the value of this
-            feature (so it will be brought up-to-date whenever the target being
-            declared is), and adds its usage requirements to the build
-            properties
-            <!-- Do you really mean "to the requirements?" -->
-            of the target being declared. The dependency is not used in any
-            other way. The primary use case is when you want the usage
-            requirements (such as <code>#include</code> paths) of some library
-            to be applied, but do not want to link to it.
-            <!-- It is hard to picture why anyone would want to do that. Please
-            flesh out this motivation. -->
-          </simpara>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><anchor id="bbv2.reference.features.dll-path"/>
-        <literal>dll-path</literal></term>
-        <indexterm><primary>dll-path</primary></indexterm>
-
-        <listitem>
-          <simpara>
-            Specify an additional directory where the system should
-            look for shared libraries when the executable or shared
-            library is run. This feature only affects Unix
-            compilers. Plase see <xref linkend="bbv2.faq.dll-path"/>
-            in <xref linkend="bbv2.faq"/> for details.
-          </simpara>
-        </listitem></varlistentry>
-
-      <varlistentry>
-        <term><literal>hardcode-dll-paths</literal></term>
-        <indexterm><primary>hardcode-dll-paths</primary></indexterm>
-
-        <listitem>
-          <simpara>
-            Controls automatic generation of dll-path properties.
-          </simpara>
-
-          <para><emphasis role="bold">Allowed values:</emphasis>
-            <literal>true</literal>, <literal>false</literal>.  This property is
-            specific to Unix systems. If an executable is built with
-            <code><hardcode-dll-paths>true</code>, the generated binary
-            will contain the list of all the paths to the used shared libraries.
-            As the result, the executable can be run without changing system
-            paths to shared libraries or installing the libraries to system
-            paths. This <!-- you need an antecedent.  This _what_? --> is very
-            convenient during development. Plase see the <link linkend=
-            "bbv2.faq.dll-path">FAQ entry</link> for details. Note that on Mac
-            OSX, the paths are unconditionally hardcoded by the linker, and it
-            is not possible to disable that behaviour.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>cflags</literal></term>
-        <term><literal>cxxflags</literal></term>
-        <term><literal>linkflags</literal></term>
-
-        <listitem>
-          <simpara>
-            The value of those features is passed without modification to the
-            corresponding tools. For <code>cflags</code> that is both the C and
-            C++ compilers, for <code>cxxflags</code> that is the C++ compiler
-            and for <code>linkflags</code> that is the linker. The features are
-            handy when you are trying to do something special that cannot be
-            achieved by a higher-level feature in Boost.Build.
-          </simpara>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>include</literal></term>
-        <indexterm><primary>include</primary></indexterm>
-
-        <listitem>
-          <simpara>
-            Specifies an additional include path that is to be passed to C and
-            C++ compilers.
-          </simpara>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><literal>define</literal></term>
-        <indexterm><primary>define</primary></indexterm>
-
-        <listitem>
-          <simpara>
-            Specifies an preprocessor symbol that should be defined on the command
-            line. You may either specify just the symbol, which will be defined
-            without any value, or both the symbol and the value, separated by
-            equal sign.
-          </simpara>
-        </listitem>
-      </varlistentry>
-
-
-      <varlistentry><term><literal>warnings</literal></term>
-        <listitem>
-          <simpara>
-            The <code><warnings></code> feature controls the warning level
-            of compilers. It has the following values:
-            <itemizedlist>
-              <listitem><para><code>off</code> - disables all warnings.</para></listitem>
-              <listitem><para><code>on</code> - enables default warning level for the tool.</para></listitem>
-              <listitem><para><code>all</code> - enables all warnings.</para></listitem>
-            </itemizedlist>
-            Default value is <code>all</code>.
-          </simpara>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry><term><literal>warnings-as-errors</literal></term>
-        <listitem>
-          <simpara>
-            The <code><warnings-as-errors></code> makes it possible to
-            treat warnings as errors and abort compilation on a warning. The
-            value <code>on</code> enables this behaviour. The default value is
-            <code>off</code>.
-          </simpara>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry><term><literal>build</literal></term>
-
-        <listitem>
-          <para><emphasis role="bold">Allowed values:</emphasis> <literal>no</literal></para>
-
-          <para>
-            The <code>build</code> feature is used to conditionally disable
-            build of a target. If <code><build>no</code> is in properties
-            when building a target, build of that target is skipped. Combined
-            with conditional requirements this allows you to skip building some
-            target in configurations where the build is known to fail.
-          </para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry><term><literal>tag</literal></term>
-
-        <listitem><para>The <literal>tag</literal> feature is used to customize
-        the name of the generated files. The value should have the form:
-<programlisting>@<replaceable>rulename</replaceable></programlisting> where
-        <replaceable>rulename</replaceable> should be a name of a rule with the
-        following signature:
-<programlisting>rule tag ( name : type ? : property-set )</programlisting>
-        The rule will be called for each target with the default name computed
-        by Boost.Build, the type of the target, and property set. The rule can
-        either return a string that must be used as the name of the target, or
-        an empty string, in which case the default name will be used.
-        </para>
-
-        <para>Most typical use of the <literal>tag</literal> feature is to
-        encode build properties, or library version in library target names. You
-        should take care to return non-empty string from the tag rule only for
-        types you care about &#x2014; otherwise, you might end up modifying
-        names of object files, generated header file and other targets for which
-        changing names does not make sense.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry><term><literal>debug-symbols</literal></term>
-
-        <listitem>
-          <para><emphasis role="bold">Allowed values:</emphasis> <literal>on</literal>, <literal>off</literal>.</para>
-
-          <para>The <literal>debug-symbols</literal> feature specifies if
-          produced object files, executables and libraries should include
-          debug information.
-          Typically, the value of this feature is implicitly set by the
-          <literal>variant</literal> feature, but it can be explicitly
-          specified by the user. The most common usage is to build
-          release variant with debugging information.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry><term><literal>target-os</literal></term>
-        <listitem>
-
-          <anchor id="bbv2.reference.features.target-os"/>
-
-          <para>
-            The operating system for which the code is to be generated. The
-            compiler you used should be the compiler for that operating
-            system. This option causes Boost.Build to use naming conventions
-            suitable for that operating system, and adjust build process
-            accordingly. For example, with gcc, it controls if import
-            libraries are produced for shared libraries or not.                       
-          </para>
-
-          <para>The complete list of possible values for this feature is: 
-            aix, bsd, cygwin, darwin, freebsd, hpux, iphone, linux, netbsd,
-            openbsd, osf, qnx, qnxnto, sgi, solaris, unix, unixware, windows.
-          </para>
-
-          <para>See <xref linkend="bbv2.tasks.crosscompile"/> for details of
-          crosscompilation</para>
-
-        </listitem>
-      </varlistentry>
-
-
-      <varlistentry><term><literal>architecture</literal></term>
-        <listitem>
-
-          <para>The <literal>architecture</literal> features specifies
-          the general processor familty to generate code for.</para>
-
-        </listitem>
-      </varlistentry>
-
-      <varlistentry><term><literal>instruction-set</literal></term>
-        <indexterm><primary>instruction-set</primary></indexterm>
-        <listitem>
-          <para>
-            <emphasis role="bold">Allowed values:</emphasis> depend on the used
-            toolset.
-          </para>
-
-          <para>The <literal>instruction-set</literal> specifies for which
-          specific instruction set the code should be generated.  The
-          code in general might not run on processors with older/different
-          instruction sets.</para>
-
-          <para>While Boost.Build allows a large set of possible values
-          for this features, whether a given value works depends on which
-          compiler you use. Please see
-          <xref linkend="bbv2.reference.tools.compilers"/> for details.
-          </para>
-
-        </listitem>
-      </varlistentry>
-
-      <varlistentry><term><literal>address-model</literal></term>
-        <indexterm><primary>64-bit compilation</primary></indexterm>
-        <listitem>
-          <para><emphasis role="bold">Allowed values:</emphasis> <literal>32</literal>, <literal>64</literal>.</para>
-
-          <para>The <literal>address-model</literal> specifies if 32-bit or
-          64-bit code should be generated by the compiler. Whether this feature
-          works depends on the used compiler, its version, how the compiler is
-          configured, and the values of the <literal>architecture</literal>
-          <literal>instruction-set</literal>
-          features. Please see <xref linkend="bbv2.reference.tools.compilers"/>
-          for details.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry><term><literal>c++-template-depth</literal></term>
-        <listitem>
-          <para>
-            <emphasis role="bold">Allowed values:</emphasis> Any positive
-            integer.
-          </para>
-
-          <para>
-            This feature allows configuring a C++ compiler with the maximal
-            template instantiation depth parameter. Specific toolsets may or may
-            not provide support for this feature depending on whether their
-            compilers provide a corresponding command-line option.
-          </para>
-
-          <para>
-            <emphasis role="bold">Note:</emphasis> Due to some internal details
-            in the current Boost Build implementation it is not possible to have
-            features whose valid values are all positive integer. As a
-            workaround a large set of allowed values has been defined for this
-            feature and, if a different one is needed, user can easily add it by
-            calling the feature.extend rule.
-          </para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry><term><literal>embed-manifest</literal></term>
-        <listitem>
-
-          <indexterm><primary>manifest file</primary><secondary>embedding</secondary></indexterm>
-          <indexterm><primary>embed-manifest</primary></indexterm>
-
-          <para>
-            <emphasis role="bold">Allowed values:</emphasis> on, off.
-          </para>
-
-          <para>This feature is specific to the msvc toolset (see
-          <xref linkend="bbv2.reference.tools.compiler.msvc"/>),
-          and controls whether the manifest files should be embedded inside
-          executables and shared libraries, or placed alongside them.  This
-          feature corresponds to the IDE option found in the project settings dialog,
-          under <menuchoice><guimenu>Configuration Properties</guimenu> 
-            <guisubmenu>Manifest Tool</guisubmenu>
-            <guisubmenu>Input and Output</guisubmenu>
-            <guimenuitem>Embed manifest</guimenuitem> </menuchoice>.
-          </para>
-
-        </listitem>
-      </varlistentry>
-
-
-    </variablelist>
-  </section>
-
-    <section id="bbv2.reference.tools">
-      <title>Builtin tools</title>
-
-      <para>Boost.Build comes with support for a large number of C++ compilers,
-      and other tools. This section documents how to use those tools.</para>
-
-      <para>Before using any tool, you must declare your intention, and possibly
-      specify additional information about the tool's configuration. This is
-      done by calling the <code>using</code> rule, typically in your
-      <filename>user-config.jam</filename>, for example:</para>
-<programlisting>
-using gcc ;
-</programlisting>
-    <para>additional parameters can be passed just like for other rules, for example:</para>
-<programlisting>
-using gcc : 4.0 : g++-4.0 ;
-</programlisting>
-      
-
-
-      <para>The options that can be passed to each tool are documented in the
-      subsequent sections.</para>
-
-      <section id="bbv2.reference.tools.compilers">
-
-        <title>C++ Compilers</title>
-
-        <para>This section lists all Boost.Build modules that support C++
-          compilers and documents how each one can be initialized.  The name
-          of support module for compiler is also the value for
-          the <code>toolset</code> feature that can be used to explicitly
-          request that compiler. </para>
-
-        <section id="bbv2.reference.tools.compiler.gcc">
-
-          <title>GNU C++</title>
-
-          <para>The <code>gcc</code> module supports the
-          <ulink url="http://gcc.gnu.org">GNU C++ compiler</ulink>
-          on Linux, a number of Unix-like system including SunOS and on Windows 
-          (either <ulink url="http://www.cygwin.com">Cygwin</ulink> or 
-          <ulink url="http://www.mingw.org">MinGW</ulink>). On Mac OSX, it is recommended
-          to use system gcc, see <xref linkend="bbv2.reference.tools.compiler.darwin"/>.
-          </para>
-
-          <para>The <code>gcc</code> module is initialized using the following
-          syntax:</para>
-          <programlisting>
-using gcc : &toolset_ops; ;</programlisting>
-
-          &using_repeation;
-
-          <!-- FIXME: mention everywhere what is the semantic
-          of version is -->
-
-          <para>
-          If the version is not explicitly specified, it will be
-          automatically detected by running the compiler with the <code>-v</code>
-          option. If the command is not specified, the <command>g++</command>
-          binary will be searched in <envar>PATH</envar>.</para>
-
-          &option_list_intro;
-          <variablelist>
-
-            <xi:include href="fragments.xml" xpointer="xpointer(id('common_options')/*)"
-                        parse="xml"/>
-
-            <xi:include href="fragments.xml" xpointer="xpointer(id('root_option')/*)"
-                        parse="xml"/>
-
-            <varlistentry>
-              <term><literal>rc</literal></term>
-
-              <listitem>
-                <para>Specifies the resource compiler command
-                that will be used with the version of gcc that is being
-                configured. This setting makes sense only for Windows and only
-                if you plan to use resource files. By
-                default <command>windres</command> will be used.</para>
-              </listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <term><literal>rc-type</literal></term>
-
-              <listitem>
-                <para>Specifies the type of resource compiler. The value can
-                be either <code>windres</code> for msvc resource compiler,
-                or <code>rc</code> for borland's resource compiler.</para>
-              </listitem>
-            </varlistentry>
-
-          </variablelist>
-
-          <indexterm><primary>64-bit compilation</primary>
-          <secondary>gcc</secondary></indexterm>
-
-          In order to compile 64-bit applications, you have to specify
-          <code>address-model=64</code>, and the <code>instruction-set</code>
-          feature should refer to a 64 bit processor. Currently, those
-          include <literal>nocona</literal>, <literal>opteron</literal>,
-          <literal>athlon64</literal> and <literal>athlon-fx</literal>.
-
-        </section>
-
-        <section id="bbv2.reference.tools.compiler.darwin">
-
-          <title>Apple Darwin gcc</title>
-
-          <para>The <code>darwin</code> module supports the version of gcc that is
-          modified and provided by Apple. The configuration is essentially identical
-          to that of the gcc module.
-          </para>
-
-          <para>
-          <indexterm><primary>fat binaries</primary></indexterm>
-          The darwin toolset can generate so called "fat"
-          binaries&#x2014;binaries that can run support more than one
-          architecture, or address mode. To build a binary that can run both
-          on Intel and PowerPC processors, specify
-          <code>architecture=combined</code>. To build a binary that can run
-          both in 32-bit and 64-bit modes, specify
-          <code>address-model=32_64</code>. If you specify both of those
-          properties, a "4-way" fat binary will be generated.
-          </para>
-
-        </section>
-
-        <section id="bbv2.reference.tools.compiler.msvc">
-
-          <title>Microsoft Visual C++</title>
-
-          <para>The <code>msvc</code> module supports the
-          <ulink url="http://msdn.microsoft.com/visualc/">Microsoft Visual
-          C++</ulink> command-line tools on Microsoft Windows. The supported
-          products and versions of command line tools are listed below:</para>
-          <itemizedlist>
-            <listitem><para>Visual Studio 2010&#x2014;10.0</para></listitem>
-            <listitem><para>Visual Studio 2008&#x2014;9.0</para></listitem>
-            <listitem><para>Visual Studio 2005&#x2014;8.0</para></listitem>
-            <listitem><para>Visual Studio .NET 2003&#x2014;7.1</para></listitem>
-            <listitem><para>Visual Studio .NET&#x2014;7.0</para></listitem>
-            <listitem><para>Visual Studio 6.0, Service Pack 5&#x2014;6.5</para></listitem>
-          </itemizedlist>
-
-          <para>The <code>msvc</code> module is initialized using the following
-          syntax:</para>
-          <programlisting>
-using msvc : &toolset_ops; ;
-          </programlisting>
-          &using_repeation;
-          <para>If the version is not explicitly specified, the most recent
-          version found in the registry will be used instead. If the special
-          value <code>all</code> is passed as the version, all versions found in
-          the registry will be configured. If a version is specified, but the
-          command is not, the compiler binary will be searched in standard
-          installation paths for that version, followed by <envar>PATH</envar>.
-          </para>
-
-          <para>The compiler command should be specified using forward slashes,
-          and quoted.</para>
-
-          &option_list_intro;
-          <variablelist>
-
-            <xi:include href="fragments.xml" xpointer="xpointer(id('common_options')/*)"
-                        parse="xml"/>
-
-            <varlistentry>
-              <term><literal>assembler</literal></term>
-
-              <listitem><para>The command that compiles assembler sources. If
-              not specified, <command>ml</command> will be used. The command
-              will be invoked after the setup script was executed and adjusted
-              the <envar>PATH</envar> variable.</para></listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <term><literal>compiler</literal></term>
-
-              <listitem><para>The command that compiles C and C++ sources. If
-              not specified, <command>cl</command> will be used. The command
-              will be invoked after the setup script was executed and adjusted
-              the <envar>PATH</envar> variable.</para></listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <term><literal>compiler-filter</literal></term>
-
-              <listitem><para>Command through which to pipe the output of
-              running the compiler. For example to pass the output to STLfilt.
-              </para></listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <term><literal>idl-compiler</literal></term>
-
-              <listitem><para>The command that compiles Microsoft COM interface
-              definition files. If not specified, <command>midl</command> will
-              be used. The command will be invoked after the setup script was
-              executed and adjusted the <envar>PATH</envar> variable.</para>
-              </listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <term><literal>linker</literal></term>
-
-              <listitem><para>The command that links executables and dynamic
-              libraries. If not specified, <command>link</command> will be used.
-              The command will be invoked after the setup script was executed
-              and adjusted the <envar>PATH</envar> variable.</para></listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <term><literal>mc-compiler</literal></term>
-
-              <listitem><para>The command that compiles Microsoft message
-              catalog files. If not specified, <command>mc</command> will be
-              used. The command will be invoked after the setup script was
-              executed and adjusted the <envar>PATH</envar> variable.</para>
-              </listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <term><literal>resource-compiler</literal></term>
-
-              <listitem><para>The command that compiles resource files. If not
-              specified, <command>rc</command> will be used. The command will be
-              invoked after the setup script was executed and adjusted the
-              <envar>PATH</envar> variable.</para></listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <term><literal>setup</literal></term>
-
-              <listitem><para>The filename of the global environment setup
-              script to run before invoking any of the tools defined in this
-              toolset. Will not be used in case a target platform specific
-              script has been explicitly specified for the current target
-              platform. Used setup script will be passed the target platform
-              identifier (x86, x86_amd64, x86_ia64, amd64 or ia64) as a
-              arameter. If not specified a default script is chosen based on the
-              used compiler binary, e.g. <command>vcvars32.bat</command> or
-              <command>vsvars32.bat</command>.</para></listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <term><literal>setup-amd64</literal></term>
-              <term><literal>setup-i386</literal></term>
-              <term><literal>setup-ia64</literal></term>
-
-              <listitem><para>The filename of the target platform specific
-              environment setup script to run before invoking any of the tools
-              defined in this toolset. If not specified the global environment
-              setup script is used.</para></listitem>
-            </varlistentry>
-        </variablelist>
-
-          <section id="v2.reference.tools.compiler.msvc.64">
-            <title>64-bit support</title>
-
-            <indexterm><primary>64-bit compilation</primary>
-            <secondary>Microsoft Visual Studio</secondary></indexterm>
-
-            <para>Starting with version 8.0, Microsoft Visual Studio can
-            generate binaries for 64-bit processor, both 64-bit flavours of x86
-            (codenamed AMD64/EM64T), and Itanium (codenamed IA64). In addition,
-            compilers that are itself run in 64-bit mode, for better
-            performance, are provided. The complete list of compiler
-            configurations are as follows (we abbreviate AMD64/EM64T to just
-            AMD64):</para>
-
-            <itemizedlist>
-              <listitem><para>32-bit x86 host, 32-bit x86 target</para>
-              </listitem>
-              <listitem><para>32-bit x86 host, 64-bit AMD64 target</para>
-              </listitem>
-              <listitem><para>32-bit x86 host, 64-bit IA64 target</para>
-              </listitem>
-              <listitem><para>64-bit AMD64 host, 64-bit AMD64 target</para>
-              </listitem>
-              <listitem><para>64-bit IA64 host, 64-bit IA64 target</para>
-              </listitem>
-            </itemizedlist>
-            <para>
-            The 32-bit host compilers can be always used, even on 64-bit
-            Windows. On the contrary, 64-bit host compilers require both 64-bit
-            host processor and 64-bit Windows, but can be faster. By default,
-            only 32-bit host, 32-bit target compiler is installed, and
-            additional compilers need to be installed explicitly.
-            </para>
-
-            <para>To use 64-bit compilation you should:</para>
-            <orderedlist>
-              <listitem><para>Configure you compiler as usual. If you provide a
-              path to the compiler explicitly, provide the path to the 32-bit
-              compiler. If you try to specify the path to any of 64-bit
-              compilers, configuration will not work.</para></listitem>
-
-              <listitem><para>When compiling, use <code>address-model=64</code>,
-              to generate AMD64 code.</para></listitem>
-
-              <listitem><para>To generate IA64 code, use
-              <code>architecture=ia64</code></para></listitem>
-            </orderedlist>
-
-            <para>The (AMD64 host, AMD64 target) compiler will be used
-            automatically when you are generating AMD64 code and are running
-            64-bit Windows on AMD64. The (IA64 host, IA64 target) compiler will
-            never be used, since nobody has an IA64 machine to test.</para>
-
-            <para>It is believed that AMD64 and EM64T targets are essentially
-            compatible. The compiler options <code>/favor:AMD64</code> and
-            <code>/favor:EM64T</code>, which are accepted only by AMD64
-            targeting compilers, cause the generated code to be tuned to a
-            specific flavor of 64-bit x86. Boost.Build will make use of those
-            options depending on the value of the<code>instruction-set</code>
-            feature.</para>
-          </section>
-        </section>
-
-        <section id="bbv2.reference.tools.compiler.intel">
-
-          <title>Intel C++</title>
-
-          <para>The <code>intel-linux</code> and <code>intel-win</code> modules
-          support the Intel C++ command-line compiler&#x2014;the <ulink url=
-          "http://www.intel.com/software/products/compilers/clin/index.htm">Linux</ulink>
-          and <ulink url=
-          "http://www.intel.com/cd/software/products/asmo-na/eng/compilers/284527.htm">
-          Windows</ulink> versions respectively.</para>
-
-          <para>The module is initialized using the following syntax:</para>
-          <programlisting>
-using intel-linux : &toolset_ops; ;</programlisting>
-          <para>or</para>
-          <programlisting>
-using intel-win : &toolset_ops; ;</programlisting>
-          <para>respectively.</para>
-
-          &using_repeation;
-
-          <para>
-          If compiler command is not specified, then Boost.Build will
-          look in <envar>PATH</envar> for an executable <command>icpc</command>
-          (on Linux), or <command>icc.exe</command> (on Windows).
-          </para>
-
-          &option_list_intro;
-          <variablelist>
-
-            <xi:include href="fragments.xml" xpointer="xpointer(id('common_options')/*)"
-                        parse="xml"/>
-
-          </variablelist>
-
-          <para>The Linux version supports the following additional options:</para>
-          <variablelist>
-
-            <xi:include href="fragments.xml" xpointer="xpointer(id('root_option')/*)"
-                        parse="xml"/>
-
-          </variablelist>
-
-          <!-- the compatibility option appears to be messed up -->
-
-        </section>
-
-        <section id="bbv2.reference.tools.compiler.acc">
-
-          <title>HP aC++ compiler</title>
-
-          <para>The <code>acc</code> module supports the
-<ulink url="http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,1740,00.html">HP aC++ compiler</ulink>
-          for the HP-UX operating system.</para>
-
-          <para>The module is initialized using the following
-          syntax:</para>
-          <programlisting>
-using acc : &toolset_ops; ;</programlisting>
-
-          &using_repeation;
-
-
-          <para>
-            If the command is not specified, the <command>aCC</command>
-          binary will be searched in <envar>PATH</envar>.</para>
-
-          &option_list_intro;
-          <variablelist>
-            <xi:include href="fragments.xml" xpointer="xpointer(id('common_options')/*)"
-                        parse="xml"/>
-          </variablelist>
-
-        </section>
-
-        <section id="bbv2.reference.tools.compiler.borland">
-
-          <title>Borland C++ Compiler</title>
-
-          <para>The <code>borland</code> module supports the command line
-          C++ compiler included in
-          <ulink url="http://www.borland.com/us/products/cbuilder/index.html">C++ Builder 2006</ulink>
-          product and earlier version of it, running on Microsoft Windows.</para>
-
-          <para>The supported products are listed below. The version reported
-          by the command lines tools is also listed for reference.:</para>
-          <itemizedlist>
-            <listitem><para>C++ Builder 2006&#x2014;5.8.2</para></listitem>
-            <listitem><para>CBuilderX&#x2014;5.6.5, 5.6.4 (depending on release)</para></listitem>
-            <listitem><para>CBuilder6&#x2014;5.6.4</para></listitem>
-            <listitem><para>Free command line tools&#x2014;5.5.1</para></listitem>
-          </itemizedlist>
-
-          <para>The module is initialized using the following syntax:</para>
-          <programlisting>
-using borland : &toolset_ops; ;</programlisting>
-
-          &using_repeation;
-
-          <para>If the command is not specified, Boost.Build will search for
-          a binary named <command>bcc32</command> in <envar>PATH</envar>.</para>
-
-          &option_list_intro;
-          <variablelist>
-            <xi:include href="fragments.xml" xpointer="xpointer(id('common_options')/*)"
-                        parse="xml"/>
-          </variablelist>
-
-        </section>
-
-        <section id="bbv2.reference.tools.compiler.como">
-
-          <title>Comeau C/C++ Compiler</title>
-
-          <para>The <code>como-linux</code> and the <code>como-win</code>
-          modules supports the
-          <ulink url="http://www.comeaucomputing.com/">Comeau C/C++ Compiler</ulink>
-          on Linux and Windows respectively.</para>
-
-          <para>The module is initialized using the following syntax:</para>
-          <programlisting>
-using como-linux : &toolset_ops; ;</programlisting>
-
-          &using_repeation;
-
-          <para>If the command is not specified, Boost.Build will search for
-          a binary named <command>como</command> in
-          <envar>PATH</envar>.</para>
-
-          &option_list_intro;
-          <variablelist>
-            <xi:include href="fragments.xml" xpointer="xpointer(id('common_options')/*)"
-                        parse="xml"/>
-          </variablelist>
-
-          <para>Before using the Windows version of the compiler, you need to
-          setup necessary environment variables per compiler's documentation. In
-          particular, the <envar>COMO_XXX_INCLUDE</envar> variable should be
-          set, where <envar>XXX</envar> corresponds to the used backend C
-          compiler.</para>
-        </section>
-
-        <section id="bbv2.reference.tools.compiler.cw">
-
-          <title>Code Warrior</title>
-
-          <para>The <code>cw</code> module support CodeWarrior compiler,
-          originally produced by Metrowerks and presently developed by
-          Freescale. Boost.Build supports only the versions of the compiler that
-          target x86 processors. All such versions were released by Metrowerks
-          before aquisition and are not sold any longer. The last version known
-          to work is 9.4.</para>
-
-          <para>The module is initialized using the following syntax:</para>
-          <programlisting>
-using cw : &toolset_ops; ;</programlisting>
-
-          &using_repeation;
-
-          <para>If the command is not specified, Boost.Build will search for a
-          binary named <command>mwcc</command> in default installation paths and
-          in <envar>PATH</envar>.</para>
-
-          &option_list_intro;
-          <variablelist>
-
-            <xi:include href="fragments.xml" xpointer="xpointer(id('common_options')/*)"
-                        parse="xml"/>
-
-            <xi:include href="fragments.xml" xpointer="xpointer(id('root_option')/*)"
-                        parse="xml"/>
-
-            <varlistentry>
-              <term><literal>setup</literal></term>
-
-              <listitem><para>The command that sets up environment variables
-              prior to invoking the compiler. If not specified,
-              <command>cwenv.bat</command> alongside the compiler binary
-              will be used.</para>
-              </listitem>
-            </varlistentry>
-
-
-            <varlistentry>
-              <term><literal>compiler</literal></term>
-
-              <listitem><para>The command that compiles C and C++ sources.
-              If not specified, <command>mwcc</command> will be used. The
-              command will be invoked after the setup script was
-              executed and adjusted the <envar>PATH</envar> variable.</para>
-              </listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <term><literal>linker</literal></term>
-
-              <listitem><para>The command that links executables and dynamic
-              libraries.
-              If not specified, <command>mwld</command> will be used. The
-              command will be invoked after the setup script was
-              executed and adjusted the <envar>PATH</envar> variable.</para>
-              </listitem>
-            </varlistentry>
-
-          </variablelist>
-
-        </section>
-
-        <section id="bbv2.reference.tools.compiler.dmc">
-
-          <title>Digital Mars C/C++ Compiler</title>
-
-          <para>The <code>dmc</code> module supports the
-          <ulink url="http://www.digitalmars.com/">Digital Mars C++ compiler.</ulink>
-          </para>
-
-          <para>The module is initialized using the following syntax:</para>
-          <programlisting>
-using dmc : &toolset_ops; ;</programlisting>
-
-          &using_repeation;
-
-          <para>If the command is not specified, Boost.Build will search for
-          a binary named <command>dmc</command> in
-          <envar>PATH</envar>.</para>
-
-          &option_list_intro;
-          <variablelist>
-            <xi:include href="fragments.xml" xpointer="xpointer(id('common_options')/*)"
-                        parse="xml"/>
-          </variablelist>
-
-        </section>
-
-        <section id="bbv2.reference.tools.compiler.hp_cxx">
-
-          <title>HP C++ Compiler for Tru64 Unix</title>
-
-          <para>The <code>hp_cxx</code> modules supports the
-          <ulink url="http://h30097.www3.hp.com/cplus/?jumpid=reg_R1002_USEN">
-            HP C++ Compiler</ulink> for Tru64 Unix.</para>
-
-          <para>The module is initialized using the following syntax:</para>
-          <programlisting>
-using hp_cxx : &toolset_ops; ;</programlisting>
-
-          &using_repeation;
-
-          <para>If the command is not specified, Boost.Build will search for
-          a binary named <command>hp_cxx</command> in <envar>PATH</envar>.</para>
-
-          &option_list_intro;
-          <variablelist>
-            <xi:include href="fragments.xml" xpointer="xpointer(id('common_options')/*)"
-                        parse="xml"/>
-          </variablelist>
-
-        </section>
-
-        <section id="bbv2.reference.tools.compiler.sun">
-
-          <title>Sun Studio</title>
-
-          <para>The <code>sun</code> module supports the
-          <ulink url="http://developers.sun.com/sunstudio/index.jsp">
-          Sun Studio</ulink> C++ compilers for the Solaris OS.</para>
-
-          <para>The module is initialized using the following syntax:</para>
-          <programlisting>
-using sun : &toolset_ops; ;</programlisting>
-
-          &using_repeation;
-
-          <para>If the command is not specified, Boost.Build will search for
-          a binary named <command>CC</command>
-          in <filename>/opt/SUNWspro/bin</filename> and in
-          <envar>PATH</envar>.</para>
-
-          <para>When using this compiler on complex C++ code, such as the
-          <ulink url="http://boost.org">Boost C++ library</ulink>, it is
-          recommended to specify the following options when intializing the
-          <code>sun</code> module:
-          <screen>
--library=stlport4 -features=tmplife -features=tmplrefstatic
-          </screen> See the <ulink url="http://blogs.sun.com/sga/entry/command_line_options">
-          Sun C++ Frontend Tales</ulink> for details.</para>
-
-          &option_list_intro;
-          <variablelist>
-            <xi:include href="fragments.xml" xpointer="xpointer(id('common_options')/*)"
-                        parse="xml"/>
-          </variablelist>
-
-          <indexterm><primary>64-bit compilation</primary>
-          <secondary>Sun Studio</secondary></indexterm>
-          Starting with Sun Studio 12, you can create 64-bit applications
-          by using the <code>address-model=64</code> property.
-
-        </section>
-
-        <section id="bbv2.reference.tools.compiler.vacpp">
-
-          <title>IBM Visual Age</title>
-          <para>The <code>vacpp</code> module supports the
-          <ulink url="http://www.ibm.com/software/ad/vacpp">IBM Visual
-          Age</ulink> C++ Compiler, for the AIX operating system. Versions
-          7.1 and 8.0 are known to work.</para>
-
-          <para>The module is initialized using the following
-          syntax:</para>
-          <programlisting>
-using vacpp ;</programlisting>
-
-          <para>The module does not accept any initialization options. The
-          compiler should be installed in the <filename>/usr/vacpp/bin</filename>
-          directory.</para>
-
-          <para>Later versions of Visual Age are known as XL C/C++. They
-          were not tested with the the <code>vacpp</code> module.</para>
-
-        </section>
-
-      </section>
-
-      <section>
-        <title>Third-party libraries</title>
-
-        <para>Boost.Build provides special support for some
-        third-party C++ libraries, documented below.</para>
-
-        <section id="bbv2.reference.tools.libraries.stlport">
-          <title>STLport library</title>
-          <indexterm><primary>STLport</primary></indexterm>
-
-          <para>The <ulink url="http://stlport.org">STLport</ulink> library
-          is an alternative implementation of C++ runtime library. Boost.Build
-          supports using that library on Windows platfrom.  Linux is
-          hampered by different naming of libraries in each STLport
-          version and is not officially supported.</para>
-
-          <para>Before using STLport, you need to configure it in
-          <filename>user-config.jam</filename> using the following syntax:
-          </para>
-          <programlisting>
-using stlport : <optional><replaceable>version</replaceable></optional> : <replaceable>header-path</replaceable> : <optional><replaceable>library-path</replaceable></optional> ;
-</programlisting>
-          <para>
-          Where <replaceable>version</replaceable> is the version of
-          STLport, for example <literal>5.1.4</literal>,
-          <replaceable>headers</replaceable> is the location where
-          STLport headers can be found, and <replaceable>libraries</replaceable>
-          is the location where STLport libraries can be found.
-          The version should always be provided, and the library path should
-          be provided if you're using STLport's implementation of
-          iostreams. Note that STLport 5.* always uses its own iostream
-          implementation, so the library path is required.
-          </para>
-
-          <para>When STLport is configured, you can build with STLport by
-          requesting <literal>stdlib=stlport</literal> on the command line.
-          </para>
-
-        </section>
-
-      </section>
-
-      <section>
-        <title>Documentation tools</title>
-
-        <para>Boost.Build support for the Boost documentation tools is
-        documented below.
-        </para>
-
-        <section id="bbv2.reference.tools.doc.xsltproc">
-          <title>xsltproc</title>
-          <indexterm><primary>xsltproc</primary></indexterm>
-
-          <para>To use xsltproc, you first need to configure it using the following syntax:</para>
-          <programlisting>
-using xsltproc : <optional><replaceable>xsltproc</replaceable></optional> ;
-</programlisting>
-          <para>
-          Where <replaceable>xsltproc</replaceable> is the xsltproc executable.
-          If <replaceable>xsltproc</replaceable> is not specified, and the
-          variable XSLTPROC is set, the value of XSLTPROC will be used.
-          Otherwise, xsltproc will be searched for in PATH.
-          </para>
-
-          
-          &option_list_intro;
-          <variablelist>
-
-            <varlistentry>
-              <indexterm><primary>xsl:param</primary></indexterm>
-              <term><literal>xsl:param</literal></term>
-              <listitem>
-                <para>Values should have the form
-                <replaceable>name</replaceable>=<replaceable>value</replaceable></para>
-              </listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <indexterm><primary>xsl:path</primary></indexterm>
-              <term><literal>xsl:path</literal></term>
-              <listitem>
-                <para>Sets an additional search path for xi:include elements.</para>
-              </listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <indexterm><primary>catalog</primary></indexterm>
-              <term><literal>catalog</literal></term>
-              <listitem>
-                <para>A catalog file used to rewrite remote URL's to a local copy.</para>
-              </listitem>
-            </varlistentry>
-
-          </variablelist>
-
-          <para>The xsltproc module provides the following rules.  Note that
-          these operate on jam targets and are intended to be used by another
-          toolset, such as boostbook, rather than directly by users.
-          </para>
-          <variablelist>
-
-            <varlistentry>
-              <indexterm><primary>xslt</primary></indexterm>
-              <term><literal>xslt</literal></term>
-              <listitem>
-                <programlisting>
-rule xslt ( target : source stylesheet : properties * )
-</programlisting>
-                <para>Runs xsltproc to create a single output file.</para>
-              </listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <indexterm><primary>xslt-dir</primary></indexterm>
-              <term><literal>xslt-dir</literal></term>
-              <listitem>
-                <programlisting>
-rule xslt-dir ( target : source stylesheet : properties * : dirname )
-</programlisting>
-                <para>Runs xsltproc to create multiple outputs in a directory.
-                <literal>dirname</literal> is unused, but exists for
-                historical reasons.  The output directory is determined from the
-                target.
-                </para>
-              </listitem>
-            </varlistentry>
-
-          </variablelist>
-
-        </section>
-
-        <section id="bbv2.reference.tools.doc.boostbook">
-          <title>boostbook</title>
-          <indexterm><primary>boostbook</primary><secondary>module</secondary></indexterm>
-
-          <para>To use boostbook, you first need to configure it using the following syntax:</para>
-          <programlisting>
-using boostbook : <optional><replaceable>docbook-xsl-dir</replaceable></optional> : <optional><replaceable>docbook-dtd-dir</replaceable></optional> : <optional><replaceable>boostbook-dir</replaceable></optional> ;
-</programlisting>
-          <para>
-          <replaceable>docbook-xsl-dir</replaceable> is the DocBook XSL stylesheet
-          directory. If not provided, we use DOCBOOK_XSL_DIR from the environment
-          (if available) or look in standard locations.  Otherwise, we let the
-          XML processor load the stylesheets remotely.
-          </para>
-
-          <para>
-          <replaceable>docbook-dtd-dir</replaceable> is the DocBook DTD directory.
-          If not provided, we use DOCBOOK_DTD_DIR From the environment (if
-          available) or look in standard locations.  Otherwise, we let the XML
-          processor load the DTD remotely.
-          </para>
-
-          <para>
-          <replaceable>boostbook-dir</replaceable> is the BoostBook directory
-          with the DTD and XSL subdirs.
-          </para>
-
-          <para>The boostbook module depends on xsltproc.  For pdf or ps output,
-          it also depends on fop.
-          </para>
-          
-          &option_list_intro;
-          <variablelist>
-
-            <varlistentry>
-              <indexterm><primary>format</primary></indexterm>
-              <indexterm><primary>html</primary></indexterm>
-              <indexterm><primary>xhtml</primary></indexterm>
-              <indexterm><primary>htmlhelp</primary></indexterm>
-              <indexterm><primary>onehtml</primary></indexterm>
-              <indexterm><primary>man</primary></indexterm>
-              <indexterm><primary>pdf</primary></indexterm>
-              <indexterm><primary>ps</primary></indexterm>
-              <indexterm><primary>docbook</primary></indexterm>
-              <indexterm><primary>fo</primary></indexterm>
-              <indexterm><primary>tests</primary></indexterm>
-              <term><literal>format</literal></term>
-              <listitem>
-                <para>
-                  <emphasis role="bold">Allowed values:</emphasis>
-                  <literal>html</literal>, <literal>xhtml</literal>,
-                  <literal>htmlhelp</literal>, <literal>onehtml</literal>,
-                  <literal>man</literal>, <literal>pdf</literal>,
-                  <literal>ps</literal>, <literal>docbook</literal>,
-                  <literal>fo</literal>, <literal>tests</literal>.
-                </para>
-
-
-                <para>The <literal>format</literal> feature determines the type
-                of output produced by the boostbook rule.</para>
-              </listitem>
-            </varlistentry>
-
-          </variablelist>
-
-          <para>The boostbook module defines a rule for creating a target
-          following the common syntax.</para>
-
-          <variablelist>
-
-            <varlistentry>
-              <indexterm><primary>boostbook</primary><secondary>rule</secondary></indexterm>
-              <term><literal>boostbook</literal></term>
-              <listitem>
-                <programlisting>
-rule boostbook ( target-name : sources * : requirements * : default-build * )
-</programlisting>
-                <para>Creates a boostbook target.</para>
-              </listitem>
-            </varlistentry>
-
-          </variablelist>
-
-        </section>
-
-        <section id="bbv2.reference.tools.doc.doxygen">
-          <title>doxygen</title>
-          <indexterm><primary>doxygen</primary></indexterm>
-
-          <para>To use doxygen, you first need to configure it using the following syntax:</para>
-          <programlisting>
-using doxygen : <optional><replaceable>name</replaceable></optional> ;
-</programlisting>
-          <para>
-          <replaceable>name</replaceable> is the doxygen command.
-          If it is not specified, it will be found in the PATH.
-          </para>
-
-          <para>The doxygen module depends on the boostbook module when
-          generating BoostBook XML.
-          </para>
-
-          &option_list_intro;
-          <variablelist>
-
-            <varlistentry>
-              <indexterm><primary>doxygen:param</primary></indexterm>
-              <term><literal>doxygen:param</literal></term>
-              <listitem>
-                <para>All the values of <literal>doxygen:param</literal>
-                 are added to the doxyfile.</para>
-              </listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <indexterm><primary>prefix</primary></indexterm>
-              <term><literal>prefix</literal></term>
-              <listitem>
-                <para>Specifies the common prefix of all headers
-                when generating BoostBook XML.  Everything before
-                this will be stripped off.
-                </para>
-              </listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <indexterm><primary>reftitle</primary></indexterm>
-              <term><literal>reftitle</literal></term>
-              <listitem>
-                <para>Specifies the title of the library-reference section,
-                when generating BoostBook XML.</para>
-              </listitem>
-            </varlistentry>
-
-            <varlistentry>
-              <indexterm><primary>doxygen:xml-imagedir</primary></indexterm>
-              <term><literal>doxygen:xml-imagedir</literal></term>
-              <listitem>
-                <para>When generating BoostBook XML, specifies the
-                directory in which to place the images generated
-                from LaTex formulae.</para>
-                <warning><para>The path is interpreted relative to the
-                current working directory, not relative to the Jamfile.
-                This is necessary to match the behavior of BoostBook.
-                </para></warning>
-              </listitem>
-            </varlistentry>
-
-          </variablelist>
-
-          <para>The doxygen module defines a rule for creating a target
-          following the common syntax.</para>
-
-          <variablelist>
-
-            <varlistentry>
-              <indexterm><primary>doxygen</primary><secondary>rule</secondary></indexterm>
-              <term><literal>doxygen</literal></term>
-              <listitem>
-                <programlisting>
-rule doxygen ( target : sources * : requirements * : default-build * : usage-requirements * )
-</programlisting>
-                <para>Creates a doxygen target.  If the target name
-                ends with .html, then this will generate an html
-                directory.  Otherwise it will generate BoostBook XML.
-                </para>
-              </listitem>
-            </varlistentry>
-
-          </variablelist>
-
-        </section>
-
-        <section id="bbv2.reference.tools.doc.quickbook">
-          <title>quickbook</title>
-          <indexterm><primary>quickbook</primary></indexterm>
-
-          <para>The quickbook module provides a generator to convert from
-          Quickbook to BoostBook XML.</para>
-
-          <para>To use quickbook, you first need to configure it using the following syntax:</para>
-          <programlisting>
-using quickbook : <optional><replaceable>command</replaceable></optional> ;
-</programlisting>
-          <para>
-          <replaceable>command</replaceable> is the quickbook executable.
-          If it is not specified, Boost.Build will compile it from source.
-          If it is unable to find the source it will search for a quickbook
-          executable in PATH.
-          </para>
-
-        </section>
-
-        <section id="bbv2.reference.tools.doc.fop">
-          <title>fop</title>
-          <indexterm><primary>fop</primary></indexterm>
-
-          <para>The fop module provides generators to convert from
-          XSL formatting objects to Postscript and PDF.</para>
-
-          <para>To use fop, you first need to configure it using the following syntax:</para>
-          <programlisting>
-using fop : <optional><replaceable>fop-command</replaceable></optional> : <optional><replaceable>java-home</replaceable></optional> : <optional><replaceable>java</replaceable></optional> ;
-</programlisting>
-          <para>
-          <replaceable>fop-command</replaceable> is the command to run fop.
-          If it is not specified, Boost.Build will search for it in PATH and
-          FOP_HOME.
-          </para>
-          <para>
-          Either <replaceable>java-home</replaceable> or
-          <replaceable>java</replaceable>
-          can be used to specify where to find java.
-          </para>
-
-        </section>
-
-      </section>
-
-    </section>
-
-  <section id="bbv2.reference.buildprocess">
-    <title>Build process</title>
-
-    <para>The general overview of the build process was given in the
-      <link linkend="bbv2.overview.build_process">user documentation</link>.
-      This section provides additional details, and some specific rules.
-    </para>
-
-    <para>To recap, building a target with specific properties includes the
-      following steps:
-      <orderedlist>
-
-        <listitem><para>applying default build,</para></listitem>
-
-        <listitem><para>selecting the main target alternative to use,
-          </para></listitem>
-
-        <listitem><para>determining "common" properties,</para></listitem>
-
-        <listitem><para>building targets referred by the sources list and
-            dependency properties,</para></listitem>
-
-        <listitem><para>adding the usage requirements produces when building
-            dependencies to the "common" properties,</para></listitem>
-
-        <listitem><para>building the target using generators,</para></listitem>
-
-        <listitem><para>computing the usage requirements to be returned.</para></listitem>
-
-      </orderedlist>
-    </para>
-
-    <section id="bbv2.reference.buildprocess.alternatives">
-      <title>Alternative selection</title>
-
-      <para>When there are several alternatives, one of them must be
-        selected. The process is as follows:</para>
-
-      <orderedlist>
-        <listitem>
-          <simpara>
-            For each alternative <emphasis>condition</emphasis> is defined as
-            the set of base properties in requirements. [Note: it might be
-            better to specify the condition explicitly, as in conditional
-            requirements].
-          </simpara>
-        </listitem>
-
-        <listitem>
-          <simpara>
-            An alternative is viable only if all properties in condition
-            are present in build request.
-          </simpara>
-        </listitem>
-
-        <listitem>
-          <simpara>
-            If there's one viable alternative, it's choosen. Otherwise,
-            an attempt is made to find one best alternative. An alternative
-            a is better than another alternative b, iff the set of properties
-            in b's condition is a strict subset of the set of properities of
-            'a's condition. If there's one viable alternative, which is
-            better than all others, it's selected. Otherwise, an error is
-            reported.
-          </simpara>
-        </listitem>
-      </orderedlist>
-
-    </section>
-
-    <section id="bbv2.reference.buildprocess.common">
-      <title>Determining common properties</title>
-
-      <para>The "common" properties is a somewhat artificial term. Those are
-        the intermediate property set from which both the build request for
-        dependencies and properties for building the target are derived.
-      </para>
-
-      <para>Since default build and alternatives are already handled, we have
-        only two inputs: build requests and requirements. Here are the rules
-        about common properties.
-      </para>
-
-      <orderedlist>
-        <listitem><para>Non-free feature can have only one
-            value</para></listitem>
-
-        <listitem><para>A non-conditional property in requirement in always
-            present in common properties.</para></listitem>
-
-        <listitem><para>A property in build request is present in
-            common properties, unless (2) tells otherwise.</para></listitem>
-
-        <listitem><para>If either build request, or requirements (non-conditional
-            or conditional) include an expandable property (either composite,
-            or property with specified subfeature value), the behaviour is
-            equivalent to explicitly adding all expanded properties to build
-            request or requirements.</para></listitem>
-
-        <listitem><para>If requirements include a conditional property, and
-            condiiton of this property is true in context of common
-            properties, then the conditional property should be in common
-            properties as well.</para></listitem>
-
-        <listitem><para>If no value for a feature is given by other rules
-            here, it has default value in common properties.</para></listitem>
-      </orderedlist>
-
-      <para>Those rules are declarative, they don't specify how to compute the
-        common properties. However, they provide enough information for the
-        user. The important point is the handling of conditional
-        requirements. The condition can be satisfied either by property in
-        build request, by non-conditional requirements, or even by another
-        conditional property. For example, the following example works as
-        expected:
-<programlisting>
-exe a : a.cpp
-      : <toolset>gcc:<variant>release
-        <variant>release:<define>FOO ;
-</programlisting>
-      </para>
-
-  </section>
-
-  </section>
-
-
-
-  <section id="bbv2.reference.definitions">
-
-    <title>Definitions</title>
-
-    <section id="bbv2.reference.features">
-      <title>Features and properties</title>
-
-      <para>A <emphasis>feature</emphasis> is a normalized (toolset-independent)
-        aspect of a build configuration, such as whether inlining is
-        enabled. Feature names may not contain the '<literal>></literal>'
-        character.</para>
-
-  <!--
-    And what about dash?
-  -->
-
-      <para>Each feature in a build configuration has one or more
-        associated <emphasis>value</emphasis>s. Feature values for non-free features
-        may not contain the '<literal><</literal>', '<literal>:</literal>', or
-        '<literal>=</literal>' characters. Feature values for free features may not
-        contain the '<literal><</literal>' character.</para>
-
-      <para>A <emphasis>property</emphasis> is a (feature,value) pair, expressed as
-        <feature>value.</para>
-
-      <para>A <emphasis>subfeature</emphasis> is a feature that only exists in the
-        presence of its parent feature, and whose identity can be derived
-        (in the context of its parent) from its value. A subfeature's
-        parent can never be another subfeature. Thus, features and their
-        subfeatures form a two-level hierarchy.</para>
-
-      <para>A <emphasis>value-string</emphasis> for a feature <emphasis role="bold">F</emphasis> is a string of
-        the form
-        <literal>value-subvalue1-subvalue2</literal>...<literal>-subvalueN</literal>, where
-        <literal>value</literal> is a legal value for <emphasis role="bold">F</emphasis> and
-        <literal>subvalue1</literal>...<literal>subvalueN</literal> are legal values of some
-        of <emphasis role="bold">F</emphasis>'s subfeatures. For example, the properties
-        <literal><toolset>gcc <toolset-version>3.0.1</literal> can be
-        expressed more conscisely using a value-string, as
-        <literal><toolset>gcc-3.0.1</literal>.</para>
-
-      <para>A <emphasis>property set</emphasis> is a set of properties (i.e. a
-        collection without duplicates), for instance:
-        <literal><toolset>gcc <runtime-link>static</literal>.</para>
-
-      <para>A <emphasis>property path</emphasis> is a property set whose elements have
-        been joined into a single string separated by slashes. A property
-        path representation of the previous example would be
-        <literal><toolset>gcc/<runtime-link>static</literal>.</para>
-
-      <para>A <emphasis>build specification</emphasis> is a property set that fully
-        describes the set of features used to build a target.</para>
-
-      <section id="bbv2.reference.features.validity">
-        <title>Property Validity</title>
-
-        <para>
-          For <link linkend=
-            "bbv2.reference.features.attributes.free">free</link>
-            features, all values are valid. For all other features,
-          the valid values are explicitly specified, and the build
-          system will report an error for the use of an invalid
-          feature-value. Subproperty validity may be restricted so
-          that certain values are valid only in the presence of
-          certain other subproperties. For example, it is possible
-          to specify that the <code><gcc-target>mingw</code>
-          property is only valid in the presence of
-          <code><gcc-version>2.95.2</code>.
-        </para>
-
-      </section>
-      <section id="bbv2.reference.features.attributes">
-        <title>Feature Attributes</title>
-
-        <para>Each feature has a collection of zero or more of the following
-          attributes. Feature attributes are low-level descriptions of how the
-          build system should interpret a feature's values when they appear in
-          a build request. We also refer to the attributes of properties, so
-          that an <emphasis>incidental</emphasis> property, for example, is
-          one whose feature has the <emphasis>incidental</emphasis>
-          attribute.</para>
-
-        <itemizedlist>
-          <listitem>
-            <para><emphasis>incidental</emphasis></para>
-
-            <para>Incidental features are assumed not to affect build
-              products at all. As a consequence, the build system may use
-              the same file for targets whose build specification differs
-              only in incidental features. A feature that controls a
-              compiler's warning level is one example of a likely
-              incidental feature.</para>
-
-            <para>Non-incidental features are assumed to affect build
-              products, so the files for targets whose build specification
-              differs in non-incidental features are placed in different
-              directories as described in "target paths" below. [ where? ]
-            </para>
-          </listitem>
-
-          <listitem>
-            <para>
-              <anchor id="bbv2.reference.features.attributes.propagated"/>
-              <emphasis>propagated</emphasis>
-            </para>
-
-            <para>Features of this kind are
-              propagated to dependencies. That is, if a <link linkend=
-                "bbv2.overview.targets.main">main target</link> is built using a
-              propagated
-              property, the build systems attempts to use the same property
-              when building any of its dependencies as part of that main
-              target. For instance, when an optimized exectuable is
-              requested, one usually wants it to be linked with optimized
-              libraries. Thus, the <literal><optimization></literal> feature is
-              propagated.</para>
-          </listitem>
-
-          <listitem>
-            <para>
-              <anchor id="bbv2.reference.features.attributes.free"/>
-              <emphasis>free</emphasis>
-            </para>
-
-            <para>Most features have a finite set of allowed values, and can
-              only take on a single value from that set in a given build
-              specification. Free features, on the other hand, can have
-              several values at a time and each value can be an arbitrary
-              string. For example, it is possible to have several
-              preprocessor symbols defined simultaneously:</para>
-
-<programlisting>
-<define>NDEBUG=1 <define>HAS_CONFIG_H=1
-</programlisting>
-
-          </listitem>
-
-          <listitem>
-            <para><emphasis>optional</emphasis></para>
-
-            <para>An optional feature is a feature that is not required to
-              appear in a build specification. Every non-optional non-free
-              feature has a default value that is used when a value for
-              the feature is not otherwise specified, either in a target's
-              requirements or in the user's build request. [A feature's
-              default value is given by the first value listed in the
-              feature's declaration. -- move this elsewhere - dwa]</para>
-          </listitem>
-
-          <listitem>
-            <para><emphasis>symmetric</emphasis></para>
-
-            <para>A symmetric feature's default value is not automatically
-              included in <link linkend=
-                "bbv2.reference.variants">build variants</link>.  Normally
-              a feature only generates a subvariant directory when its
-              value differs from the value specified by the build variant,
-              leading to an assymmetric subvariant directory structure for
-              certain values of the feature. A symmetric feature, when
-              relevant to the toolset, always generates a corresponding
-              subvariant directory.</para>
-          </listitem>
-
-          <listitem>
-            <para><emphasis>path</emphasis></para>
-
-            <para>The value of a path feature specifies a path. The path is
-              treated as relative to the directory of Jamfile where path
-              feature is used and is translated appropriately by the build
-              system when the build is invoked from a different
-              directory</para>
-          </listitem>
-
-          <listitem>
-            <para><emphasis>implicit</emphasis></para>
-
-            <para>Values of implicit features alone identify the feature.
-              For example, a user is not required to write
-              "<toolset>gcc", but can simply write "gcc". Implicit
-              feature names also don't appear in variant paths, although
-              the values do. Thus: bin/gcc/... as opposed to
-              bin/toolset-gcc/.... There should typically be only a few
-              such features, to avoid possible name clashes.</para>
-          </listitem>
-
-          <listitem>
-            <para><emphasis>composite</emphasis></para>
-
-            <para>Composite features actually correspond to groups of
-              properties. For example, a build variant is a composite
-              feature. When generating targets from a set of build
-              properties, composite features are recursively expanded and
-              <emphasis>added</emphasis> to the build property set, so rules can find
-              them if necessary. Non-composite non-free features override
-              components of composite features in a build property set.</para>
-          </listitem>
-
-          <listitem>
-            <para><emphasis>dependency</emphasis></para>
-
-            <para>The value of a dependency feature is a target reference.
-              When used for building of a main target, the value of
-              dependency feature is treated as additional dependency.</para>
-
-            <para>For example, dependency features allow to state that
-              library A depends on library B. As the result, whenever an
-              application will link to A, it will also link to B.
-              Specifying B as dependency of A is different from adding B to
-              the sources of A. <!-- Need to clarify this. --></para>
-          </listitem>
-        </itemizedlist>
-
-        <para>Features that are neither free nor incidental are called
-          <emphasis>base</emphasis> features.</para>
-
-
-      </section>
-      <section id="bbv2.reference.features.declaration">
-        <title>Feature Declaration</title>
-
-        <para>The low-level feature declaration interface is the
-          <literal>feature</literal> rule from the
-          <literal>feature</literal> module:
-
-<programlisting>
-rule feature ( name : allowed-values * : attributes * )
-</programlisting>
-
-          A feature's allowed-values may be extended with the
-          <code>feature.extend</code> rule.
-        </para>
-
-      </section>
-    </section>
-
-    <section id="bbv2.reference.variants">
-      <title>Build Variants</title>
-
-      <para>
-        A build variant, or (simply variant) is a special kind of composite
-        feature that automatically incorporates the default values of
-        features that . Typically you'll want at least two separate
-        variants: one for debugging, and one for your release code. [
-        Volodya says: "Yea, we'd need to mention that it's a composite
-        feature and describe how they are declared, in pacticular that
-        default values of non-optional features are incorporated into
-        build variant automagically. Also, do we wan't some variant
-        inheritance/extension/templates. I don't remember how it works in
-        V1, so can't document this for V2.". Will clean up soon -DWA ]
-      </para>
-
-      </section>
-
-    <section id="bbv2.reference.variants.proprefine">
-      <title>Property refinement</title>
-
-      <para>When a target with certain properties is requested, and that
-        target requires some set of properties, it is needed to find the
-        set of properties to use for building. This process is called
-        <emphasis>property refinement</emphasis> and is performed by these rules</para>
-
-      <orderedlist>
-
-        <listitem>
-          <simpara>
-            Each property in the required set is added to the original
-            property set
-          </simpara>
-        </listitem>
-
-        <listitem>
-          <simpara>
-            If the original property set includes property with a different
-            value of non free feature, that property is removed.
-          </simpara>
-        </listitem>
-      </orderedlist>
-    </section>
-
-    <section id="bbv2.reference.variants.propcond">
-      <title>Conditional properties</title>
-
-      <para>Sometime it's desirable to apply certain requirements only for
-        a specific combination of other properties. For example, one of
-        compilers that you use issues a pointless warning that you want to
-        suppress by passing a command line option to it. You would not
-        want to pass that option to other compilers. Conditional
-        properties allow you to do just that. Their syntax is:</para>
-
-      <programlisting>
-        property ( "," property ) * ":" property
-      </programlisting>
-
-      <para>
-        For example, the problem above would be solved by:
-
-<programlisting>
-exe hello : hello.cpp : <toolset>yfc:<cxxflags>-disable-pointless-warning ;
-</programlisting>
-      </para>
-
-      <para>The syntax also allows several properties in the condition, for
-        example:
-<programlisting>
-exe hello : hello.cpp : <os>NT,<toolset>gcc:<link>static ;
-</programlisting>
-      </para>
-
-    </section>
-
-    <section id="bbv2.reference.ids">
-      <title>Target identifiers and references</title>
-
-      <para><emphasis>Target identifier</emphasis> is used to denote a
-        target. The syntax is:</para>
-
-<programlisting>
-target-id -> (project-id | target-name | file-name )
-              | (project-id | directory-name) "//" target-name
-project-id -> path
-target-name -> path
-file-name -> path
-directory-name -> path
-</programlisting>
-
-      <para>
-        This grammar allows some elements to be recognized as either
-
-        <itemizedlist>
-          <listitem>
-            <simpara>
-              project id (at this point, all project ids start with slash).
-            </simpara>
-          </listitem>
-
-          <listitem>
-            <simpara>
-              name of target declared in current Jamfile (note that target
-              names may include slash).
-            </simpara>
-          </listitem>
-
-          <listitem>
-            <simpara>
-              a regular file, denoted by absolute name or name relative to
-              project's sources location.
-            </simpara>
-          </listitem>
-        </itemizedlist>
-
-        To determine the real meaning a check is made if project-id
-        by the specified name exists, and then if main target of that
-        name exists. For example, valid target ids might be:
-
-<screen>
-a                                    -- target in current project
-lib/b.cpp                            -- regular file
-/boost/thread                        -- project "/boost/thread"
-/home/ghost/build/lr_library//parser -- target in specific project
-</screen>
-
-      </para>
-
-      <para><emphasis role="bold">Rationale:</emphasis>Target is separated from project by special
-        separator (not just slash), because:</para>
-
-      <itemizedlist>
-        <listitem>
-          <simpara>
-            It emphasises that projects and targets are different things.
-          </simpara>
-        </listitem>
-
-        <listitem>
-          <simpara>
-            It allows to have main target names with slashes.
-
-            <!-- The motivation for which is:
-
-            So, to summarize:
-
-            1. The project that extract tarfile may extract all possible kinds
-            of targets, and it's reasonable to use them directly from other
-            project.
-
-            2. The rule for unpacking tar is inplemented in terms of
-            "patch-file", for maintainability, and therefore, must use main
-            target name that contains slashes?
-
-            3. Using sub-Jamfile in "foo" to declare extracted file "foo/b" is
-            not an option, because you should not change existing tree
-
-            That makes good rationale for why main target must contain names.
-            -->
-          </simpara>
-        </listitem>
-      </itemizedlist>
-
-      <para id="bbv2.reference.targets.references">
-        <emphasis>Target reference</emphasis> is used to
-        specify a source target, and may additionally specify desired
-        properties for that target. It has this syntax:</para>
-
-<programlisting>
-target-reference -> target-id [ "/" requested-properties ]
-requested-properties -> property-path
-</programlisting>
-
-      <para>
-        For example,
-
-        <programlisting>
-          exe compiler : compiler.cpp libs/cmdline/<optimization>space ;
-        </programlisting>
-
-        would cause the version of <literal>cmdline</literal> library,
-        optimized for space, to be linked in even if the
-        <literal>compiler</literal> executable is build with optimization for
-        speed.
-      </para>
-    </section>
-
-  </section>
-
-</chapter>
-
-<!--
-     Local Variables:
-     mode: nxml
-     sgml-indent-data: t
-     sgml-parent-document: ("userman.xml" "chapter")
-     sgml-set-face: t
-     End:
--->
diff --git a/SRC/Boost/tools/build/v2/doc/src/standalone.xml b/SRC/Boost/tools/build/v2/doc/src/standalone.xml
deleted file mode 100755
index bfca06a..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/standalone.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-<book xmlns:xi="http://www.w3.org/2001/XInclude"
-      id="bbv2" last-revision="$Date: 2011-01-25 13:06:12 -0500 (Tue, 25 Jan 2011) $">
-  <bookinfo>
-    <copyright>
-      <year>2006</year>
-      <year>2007</year>
-      <year>2008</year>
-      <year>2009</year>
-      <holder>Vladimir Prus</holder>
-    </copyright>
-
-    <legalnotice>
-      <para>Distributed under the Boost Software License, Version 1.0.
-      (See accompanying file <filename>LICENSE_1_0.txt</filename> or copy at 
-      <ulink
-      url="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</ulink>)
-      </para>
-    </legalnotice>  
-  </bookinfo>
-
-  <title>Boost.Build V2 User Manual</title>
-
-  <!-- Chapters -->
-  <xi:include href="howto.xml"/>
-  <xi:include href="install.xml"/>
-  <xi:include href="tutorial.xml"/>
-  <xi:include href="overview.xml"/>
-  <xi:include href="tasks.xml"/>
-  <xi:include href="reference.xml"/>
-  <xi:include href="extending.xml"/>
-  <xi:include href="faq.xml"/>
-
-  <!-- Appendicies -->
-<!--  <xi:include href="architecture.xml"/> -->
-  <appendix id="bbv2.jam">
-    <title>Boost.Jam Documentation</title>
-    <xi:include href="jam_docs.xml" parse="xml" 
-	xpointer="xpointer(id('jam.building')|id('jam.building')/following-sibling::*)"/>
-  </appendix>    
-  
-  <index/>
-
-</book>
diff --git a/SRC/Boost/tools/build/v2/doc/src/tasks.xml b/SRC/Boost/tools/build/v2/doc/src/tasks.xml
deleted file mode 100755
index 2f81c3c..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/tasks.xml
+++ /dev/null
@@ -1,774 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-<!-- Copyright 2006 Vladimir Prus -->
-<!-- Distributed under the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) -->
-
-<chapter id="bbv2.tasks">
-  <title>Common tasks</title>
-
-  <para>
-    This section describes main targets types that Boost.Build supports
-    out-of-the-box. Unless otherwise noted, all mentioned main target rules have
-    the common signature, described in <xref linkend="bbv2.overview.targets"/>.
-  </para>
-
-  <section id="bbv2.tasks.programs">
-    <title>Programs</title>
-
-    <indexterm><primary>exe</primary></indexterm>
-    <para>
-      Programs are created using the <code>exe</code> rule, which follows the
-      <link linkend="bbv2.main-target-rule-syntax">common syntax</link>. For
-      example:
-<programlisting>
-exe hello : hello.cpp some_library.lib /some_project//library
-          : <threading>multi
-          ;
-</programlisting>
-      This will create an executable file from the sources -- in this case, one
-      C++ file, one library file present in the same directory, and another
-      library that is created by Boost.Build. Generally, sources can include C
-      and C++ files, object files and libraries. Boost.Build will automatically
-      try to convert targets of other types.
-    </para>
-
-    <tip>
-      <para>
-        On Windows, if an application uses shared libraries, and both the
-        application and the libraries are built using Boost.Build, it is not
-        possible to immediately run the application, because the <literal>PATH
-        </literal> environment variable should include the path to the
-        libraries. It means you have to either add the paths manually, or have
-        the build place the application and the libraries into the same
-        directory. See <xref linkend="bbv2.tasks.installing"/>.
-      </para>
-      <!-- We should be emphasizing the use of the built-in testing rules
-           rather than continually discussing these quirks of running programs
-           with shared libraries. -->
-    </tip>
-  </section>
-
-  <section id="bbv2.tasks.libraries">
-    <title>Libraries</title>
-
-    <para>
-      Library targets are created using the <code>lib</code> rule, which
-      follows the <link linkend="bbv2.main-target-rule-syntax">common syntax
-      </link>. For example:
-<programlisting>
-lib helpers : helpers.cpp ;
-</programlisting>
-      This will define a library target named <code>helpers</code> built from
-      the <code>helpers.cpp</code> source file.
-    </para>
-    <para>
-      Depending on the given <link> feature value the library will be
-      either static or shared.
-    </para>
-    <para>
-      Library targets may be used to represent:
-      <itemizedlist>
-        <listitem>
-          <para>
-            <code>Built libraries</code> that get built from specified sources,
-            as is the one in the example above. <!-- add link -->
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            <code>Prebuilt libraries</code> which already exist on the system
-            and are just supposed to be used by the build system. Such
-            libraries may be searched for by the tools using them (typically
-            linkers referencing the library using the <option>-l</option>
-            option) or their path may be known in advance by the build system.
-            <!-- We need examples for this. -->
-          </para>
-        </listitem>
-      </itemizedlist>
-    </para>
-
-    <para>
-      The syntax for these case is given below:
-<programlisting>
-lib z : : <name>z <search>/home/ghost ;
-lib compress : : <file>/opt/libs/compress.a ;
-</programlisting>
-      The <code>name</code> property specifies the name that should be passed to
-      the <option>-l</option> option, and the <code>file</code> property
-      specifies the file location. The <varname>search</varname> feature
-      specifies paths in which to search for the library. That feature can be
-      specified several times or it can be omitted, in which case only the
-      default compiler paths will be searched.
-    </para>
-
-    <para>
-      The difference between using the <varname>file</varname> feature as
-      opposed to the <varname>name</varname> feature together with the <varname>
-      search</varname> feature is that <varname>file</varname> is more precise.
-      A specific file will be used as opposed to the <varname>search</varname>
-      feature only adding a library path, or the <varname>name</varname> feature
-      giving only the basic name of the library. The search rules are specific
-      to the linker used. For example, given these definition:
-<programlisting>
-lib a : : <variant>release <file>/pool/release/a.so ;
-lib a : : <variant>debug <file>/pool/debug/a.so ;
-lib b : : <variant>release <file>/pool/release/b.so ;
-lib b : : <variant>debug <file>/pool/debug/b.so ;
-</programlisting>
-      It is possible to use a release version of <code>a</code> and debug
-      version of <code>b</code>. Had we used the <varname>name</varname> and
-      <varname>search</varname> features, the linker would have always picked
-      either the release or the debug versions.
-      <!-- explain -->
-    </para>
-
-    <para>
-      For convenience, the following syntax is allowed:
-<programlisting>
-lib z ;
-lib gui db aux ;
-</programlisting>
-      which has exactly the same effect as:
-<programlisting>
-lib z : : <name>z ;
-lib gui : : <name>gui ;
-lib db : : <name>db ;
-lib aux : : <name>aux ;
-</programlisting>
-    </para>
-
-    <para>
-      When a library references another library you should put that other
-      library in its list of sources. This will do the right thing in all cases.
-      <!--Add a link to the notes below. --> For portability, you should specify
-      library dependencies even for searched and prebuilt libraries, othewise,
-      static linking on Unix will not work. For example:
-<programlisting>
-lib z ;
-lib png : z : <name>png ;
-</programlisting>
-    </para>
-
-    <note>
-      <para>
-        When a library has a shared library defined as its source, or a static
-        library has another static library defined as its source then any target
-        linking to the first library with automatically link to its source
-        library as well.
-      </para>
-      <para>
-        On the other hand, when a shared library has a static library defined as
-        its source then the first library will be built so that it completely
-        includes the second one.
-      </para>
-      <para>
-        If you do not want shared libraries to include all libraries specified
-        in its sources (especially statically linked ones), you would need to
-        use the following:
-<programlisting>
-lib b : a.cpp ;
-lib a : a.cpp : <use>b : : <library>b ;
-</programlisting>
-        This specifies that library <code>a</code> uses library <code>b</code>,
-        and causes all executables that link to <code>a</code> also link to
-        <code>b</code>. In this case, even for shared linking, the
-        <code>a</code> library will not even refer to <code>b</code>.
-      </para>
-    </note>
-
-    <para>
-      One Boost.Build feature that is often very useful for defining library
-      targets are usage requirements. <!-- Rephrase that. But then, it is much
-      too late for an introduction of usage requirements - you have already
-      discussed them many times. Also, add references to the sections describing
-      requirements and usage-requirements here. --> For example, imagine that
-      you want you build a <code>helpers</code> library and its interface is
-      described in its <code>helpers.hpp</code> header file located in the same
-      directory as the <code>helpers.cpp</code> source file. Then you could add
-      the following to the Jamfile located in that same directory:
-<programlisting>
-lib helpers : helpers.cpp : : : <include>. ;
-</programlisting>
-      which would automatically add the directory where the target has been
-      defined (and where the library's header file is located) to the compiler's
-      include path for all targets using the <code>helpers</code> library. This
-      feature greatly simplifies Jamfiles.
-    </para>
-  </section>
-
-  <section id="bbv2.tasks.alias">
-    <title>Alias</title>
-
-    <para>
-      The <functionname>alias</functionname> rule gives an alternative name to a
-      group of targets. For example, to give the name <filename>core</filename>
-      to a group of three other targets with the following code:
-<programlisting>
-alias core : im reader writer ;
-</programlisting>
-      Using <filename>core</filename> on the command line, or in the source list
-      of any other target is the same as explicitly using <filename>im
-      </filename>, <filename>reader</filename>, and <filename>writer</filename>.
-    </para>
-
-    <para>
-      Another use of the <code>alias</code> rule is to change build properties.
-      For example, if you want to use link statically to the Boost Threads
-      library, you can write the following:
-<programlisting>
-alias threads : /boost/thread//boost_thread : <link>static ;
-</programlisting>
-      and use only the <code>threads</code> alias in your Jamfiles.
-    </para>
-
-    <para>
-      You can also specify usage requirements for the <code>alias</code> target.
-      If you write the following:
-<programlisting>
-alias header_only_library : : : :  <include>/usr/include/header_only_library ;
-</programlisting>
-      then using <code>header_only_library</code> in sources will only add an
-      include path. Also note that when an alias has sources, their usage
-      requirements are propagated as well. For example:
-<programlisting>
-lib library1 : library1.cpp : : : <include>/library/include1 ;
-lib library2 : library2.cpp : : : <include>/library/include2 ;
-alias static_libraries : library1 library2 : <link>static ;
-exe main : main.cpp static_libraries ;
-</programlisting>
-      will compile <filename>main.cpp</filename> with additional includes
-      required for using the specified static libraries.
-    </para>
-  </section>
-
-  <section id="bbv2.tasks.installing">
-    <title>Installing</title>
-
-    <para>
-      This section describes various ways to install built target and arbitrary
-      files.
-    </para>
-
-    <bridgehead>Basic install</bridgehead>
-
-    <para>
-      For installing a built target you should use the <code>install</code>
-      rule, which follows the <link linkend="bbv2.main-target-rule-syntax">
-      common syntax</link>. For example:
-<programlisting>
-install dist : hello helpers ;
-</programlisting>
-      will cause the targets <code>hello</code> and <code>helpers</code> to be
-      moved to the <filename>dist</filename> directory, relative to the
-      Jamfile's directory. The directory can be changed using the
-      <code>location</code> property:
-<programlisting>
-install dist : hello helpers : <location>/usr/bin ;
-</programlisting>
-      While you can achieve the same effect by changing the target name to
-      <filename>/usr/bin</filename>, using the <code>location</code> property is
-      better as it allows you to use a mnemonic target name.
-    </para>
-
-    <para>
-      The <code>location</code> property is especially handy when the location
-      is not fixed, but depends on the build variant or environment variables:
-<programlisting>
-install dist : hello helpers :
-    <variant>release:<location>dist/release
-    <variant>debug:<location>dist/debug ;
-install dist2 : hello helpers : <location>$(DIST) ;
-</programlisting>
-      See also <link linkend="bbv2.reference.variants.propcond">conditional
-      properties</link> and <link linkend="bbv2.faq.envar">environment
-      variables</link>
-    </para>
-
-    <bridgehead>Installing with all dependencies</bridgehead>
-
-    <para>
-      Specifying the names of all libraries to install can be boring. The
-      <code>install</code> allows you to specify only the top-level executable
-      targets to install, and automatically install all dependencies:
-<programlisting>
-install dist : hello
-           : <install-dependencies>on <install-type>EXE
-             <install-type>LIB
-           ;
-</programlisting>
-      will find all targets that <code>hello</code> depends on, and install all
-      of those which are either executables or libraries. More specifically, for
-      each target, other targets that were specified as sources or as dependency
-      properties, will be recursively found. One exception is that targets
-      referred with the <link linkend="bbv2.builtin.features.use">
-      <code>use</code></link> feature are not considered, as that feature is
-      typically used to refer to header-only libraries. If the set of target
-      types is specified, only targets of that type will be installed,
-      otherwise, all found target will be installed.
-    </para>
-
-    <bridgehead>Preserving Directory Hierarchy</bridgehead>
-
-    <indexterm><primary>install-source-root</primary></indexterm>
-
-    <para>
-      By default, the <code>install</code> rule will strip paths from its
-      sources. So, if sources include <filename>a/b/c.hpp</filename>, the
-      <filename>a/b</filename> part will be ignored. To make the
-      <code>install</code> rule preserve the directory hierarchy you need to
-      use the <literal><install-source-root></literal> feature to specify
-      the root of the hierarchy you are installing. Relative paths from that
-      root will be preserved. For example, if you write:
-<programlisting>
-install headers
-    : a/b/c.h
-    : <location>/tmp <install-source-root>a
-    ;
-</programlisting>
-      the a file named <filename>/tmp/b/c.h</filename> will be created.
-    </para>
-
-    <para>
-      The <link linkend="bbv2.reference.glob-tree">glob-tree</link> rule can be
-      used to find all files below a given directory, making it easy to install
-      an entire directory tree.
-    </para>
-
-    <bridgehead>Installing into Several Directories</bridgehead>
-
-    <para>
-      The <link linkend="bbv2.tasks.alias"><code>alias</code></link> rule can be
-      used when targets need to be installed into several directories:
-<programlisting>
-alias install : install-bin install-lib ;
-install install-bin : applications : /usr/bin ;
-install install-lib : helper : /usr/lib ;
-</programlisting>
-    </para>
-
-    <para>
-      Because the <code>install</code> rule just copies targets, most free
-      features <footnote><para>see the definition of "free" in <xref
-      linkend="bbv2.reference.features.attributes"/>.</para></footnote> have no
-      effect when used in requirements of the <code>install</code> rule. The
-      only two that matter are <link linkend="bbv2.builtin.features.dependency">
-      <varname>dependency</varname></link> and, on Unix, <link
-      linkend="bbv2.reference.features.dll-path"><varname>dll-path</varname>
-      </link>.
-    </para>
-
-    <note>
-      <para>
-        (Unix specific) On Unix, executables built using Boost.Build typically
-        contain the list of paths to all used shared libraries. For installing,
-        this is not desired, so Boost.Build relinks the executable with an empty
-        list of paths. You can also specify additional paths for installed
-        executables using the <varname>dll-path</varname> feature.
-      </para>
-    </note>
-  </section>
-
-  <section id="bbv2.builtins.testing">
-    <title>Testing</title>
-
-    <para>
-      Boost.Build has convenient support for running unit tests. The simplest
-      way is the <code>unit-test</code> rule, which follows the <link
-      linkend="bbv2.main-target-rule-syntax">common syntax</link>. For example:
-<programlisting>
-unit-test helpers_test : helpers_test.cpp helpers ;
-</programlisting>
-    </para>
-
-    <para>
-      The <functionname>unit-test</functionname> rule behaves like the
-      <functionname>exe</functionname> rule, but after the executable is created
-      it is also run. If the executable returns an error code, the build system
-      will also return an error and will try running the executable on the next
-      invocation until it runs successfully. This behaviour ensures that you can
-      not miss a unit test failure.
-    </para>
-
-    <para>
-      By default, the executable is run directly. Sometimes, it is desirable to
-      run the executable using some helper command. You should use the <literal>
-      testing.launcher</literal> property to specify the name of the helper
-      command. For example, if you write:
-<programlisting>
-unit-test helpers_test
-   : helpers_test.cpp helpers
-   : <emphasis role="bold"><testing.launcher>valgrind</emphasis>
-   ;
-</programlisting>
-      The command used to run the executable will be:
-<screen>
-<emphasis role="bold">valgrind</emphasis> bin/$toolset/debug/helpers_test
-</screen>
-    </para>
-
-    <para>
-       There are few specialized testing rules, listed below:
-<programlisting>
-rule compile ( sources : requirements * : target-name ? )
-rule compile-fail ( sources : requirements * : target-name ? )
-rule link ( sources + : requirements * : target-name ? )
-rule link-fail ( sources + : requirements * : target-name ? )
-</programlisting>
-      They are given a list of sources and requirements. If the target name is
-      not provided, the name of the first source file is used instead. The
-      <literal>compile*</literal> tests try to compile the passed source. The
-      <literal>link*</literal> rules try to compile and link an application from
-      all the passed sources. The <literal>compile</literal> and <literal>link
-      </literal> rules expect that compilation/linking succeeds. The <literal>
-      compile-fail</literal> and <literal>link-fail</literal> rules expect that
-      the compilation/linking fails.
-    </para>
-
-    <para>
-      There are two specialized rules for running applications, which are more
-      powerful than the <code>unit-test</code> rule. The <code>run</code> rule
-      has the following signature:
-<programlisting>
-rule run ( sources + : args * : input-files * : requirements * : target-name ?
-    : default-build * )
-</programlisting>
-      The rule builds application from the provided sources and runs it, passing
-      <varname>args</varname> and <varname>input-files</varname> as command-line
-      arguments. The <varname>args</varname> parameter is passed verbatim and
-      the values of the <varname>input-files</varname> parameter are treated as
-      paths relative to containing Jamfile, and are adjusted if <command>bjam
-      </command> is invoked from a different directory. The
-      <code>run-fail</code> rule is identical to the <code>run</code> rule,
-      except that it expects that the run fails.
-    </para>
-
-    <para>
-      All rules described in this section, if executed successfully, create a
-      special manifest file to indicate that the test passed. For the
-      <code>unit-test</code> rule the files is named <filename><replaceable>
-      target-name</replaceable>.passed</filename> and for the other rules it is
-      called <filename><replaceable>target-name</replaceable>.test</filename>.
-      The <code>run*</code> rules also capture all output from the program, and
-      store it in a file named <filename><replaceable>
-      target-name</replaceable>.output</filename>.
-    </para>
-
-    <para>
-      <indexterm><primary>preserve-test-targets</primary></indexterm>
-      If the <literal>preserve-test-targets</literal> feature has the value
-      <literal>off</literal>, then <code>run</code> and the <code>run-fail</code>
-      rules will remove the executable after running it.  This somewhat decreases
-      disk space requirements for continuous testing environments. The default 
-      value of <literal>preserve-test-targets</literal> feature is <literal>on</literal>.      
-    </para>
-
-    <para>
-      It is possible to print the list of all test targets (except for
-      <code>unit-test</code>) declared in your project, by passing the <literal>
-      --dump-tests</literal> command-line option. The output will consist of
-      lines of the form:
-<screen>
-boost-test(<replaceable>test-type</replaceable>) <replaceable>path</replaceable> : <replaceable>sources</replaceable>
-</screen>
-    </para>
-
-    <para>
-      It is possible to process the list of tests, the output of bjam during
-      command run, and the presense/absense of the <filename>*.test</filename>
-      files created when test passes into human-readable status table of tests.
-      Such processing utilities are not included in Boost.Build.
-    </para>
-  </section>
-
-  <section id="bbv2.builtins.raw">
-    <title>Custom commands</title>
-
-    <para>
-      When you use most of main target rules, Boost.Build automatically figures
-      what commands to run and it what order. As soon as you want to use new
-      file types or support new tools, one approach is to extend Boost.Build to
-      smoothly support them, as documented in <xref linkend="bbv2.extender"/>.
-      However, if there is only a single place where the new tool is used, it
-      might be easier to just explicitly specify the commands to run.
-    </para>
-
-    <para>
-      <!-- This paragraph requires links to where the terms 'virtual target' &
-      'target' are defined. -->
-      Three main target rules can be used for that. The <functionname>make
-      </functionname> rule allows you to construct a single file from any number
-      of source file, by running a command you specify. The <functionname>
-      notfile</functionname> rule allows you to run an arbitrary command,
-      without creating any files. And finaly, the <functionname>generate
-      </functionname> rule allows you to describe transformation using
-      Boost.Build's virtual targets. This is higher-level than file names that
-      the <functionname>make</functionname> rule operates with and allows you to
-      create more than one target, create differently named targets depending on
-      properties or use more than one tool.
-    </para>
-
-    <para>
-      The <functionname>make</functionname> rule is used when you want to create
-      one file from a number of sources using some specific command. The
-      <functionname>notfile</functionname> is used to unconditionally run a
-      command.
-    </para>
-
-    <!-- We need to specify somewhere that the user can get rules like make,
-    notfile & generate defined in his Jamfiles by importing an appropriate
-    Boost.Build module. Also, each of those rules should get a separate
-    documentation page explicitly listing which module needs to be imported for
-    them to become accessible. -->
-
-    <para>
-      Suppose you want to create file <filename>file.out</filename> from file
-      <filename>file.in</filename> by running command <command>
-      in2out</command>. Here is how you would do this in Boost.Build:
-<programlisting>
-make file.out : file.in : @in2out ;
-actions in2out
-{
-    in2out $(<) $(>)
-}
-</programlisting>
-      If you run <command>bjam</command> and <filename>file.out</filename> does
-      not exist, Boost.Build will run the <command>in2out</command> command to
-      create that file. For more details on specifying actions, see <xref
-      linkend="bbv2.overview.jam_language.actions"/>.
-    </para>
-
-    <para>
-      It could be that you just want to run some command unconditionally, and
-      that command does not create any specific files. For that you can use the
-      <functionname>notfile</functionname> rule. For example:
-<programlisting>
-notfile echo_something : @echo ;
-actions echo
-{
-    echo "something"
-}
-</programlisting>
-      The only difference from the <functionname>make</functionname> rule is
-      that the name of the target is not considered a name of a file, so
-      Boost.Build will unconditionally run the action.
-    </para>
-
-    <para>
-      <!-- This paragraph requires links to where terms like 'virtual target',
-      'target', 'project-target' & 'property-set' are defined. -->
-      The <functionname>generate</functionname> rule is used when you want to
-      express transformations using Boost.Build's virtual targets, as opposed to
-      just filenames. The <functionname>generate</functionname> rule has the
-      standard main target rule signature, but you are required to specify the
-      <literal>generating-rule</literal> property. The value of the property
-      should be in the form <literal>
-      @<replaceable>rule-name</replaceable></literal>, the named rule should
-      have the following signature:
-<programlisting>
-rule generating-rule ( project name : property-set : sources * )
-</programlisting>
-      and will be called with an instance of the <code>project-target</code>
-      class, the name of the main target, an instance of the
-      <code>property-set</code> class containing build properties, and the list
-      of instances of the <code>virtual-target</code> class corresponding to
-      sources. The rule must return a list of <code>virtual-target</code>
-      instances. The interface of the <code>virtual-target</code> class can be
-      learned by looking at the <filename>build/virtual-target.jam</filename>
-      file. The <filename>generate</filename> example contained in the
-      Boost.Build distribution illustrates how the <literal>generate</literal>
-      rule can be used.
-    </para>
-  </section>
-
-  <section id="bbv2.reference.precompiled_headers">
-    <title>Precompiled Headers</title>
-
-    <para>
-      Precompiled headers is a mechanism to speed up compilation by creating a
-      partially processed version of some header files, and then using that
-      version during compilations rather then repeatedly parsing the original
-      headers. Boost.Build supports precompiled headers with gcc and msvc
-      toolsets.
-    </para>
-
-    <para>
-      To use precompiled headers, follow the following steps:
-    </para>
-
-    <orderedlist>
-      <listitem>
-        <para>
-          Create a header that includes headers used by your project that you
-          want precompiled. It is better to include only headers that are
-          sufficiently stable &#x2014; like headers from the compiler and
-          external libraries. Please wrap the header in <code>#ifdef
-          BOOST_BUILD_PCH_ENABLED</code>, so that the potentially expensive
-          inclusion of headers is not done when PCH is not enabled. Include the
-          new header at the top of your source files.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          Declare a new Boost.Build target for the precompiled header and add
-          that precompiled header to the sources of the target whose compilation
-          you want to speed up:
-<programlisting>
-cpp-pch pch : pch.hpp ;
-exe main : main.cpp pch ;
-</programlisting>
-          You can use the <functionname>c-pch</functionname> rule if you want to
-          use the precompiled header in C programs.
-        </para></listitem>
-    </orderedlist>
-
-    <para>
-      The <filename>pch</filename> example in Boost.Build distribution can be
-      used as reference.
-    </para>
-
-    <para>
-      Please note the following:
-    </para>
-
-    <itemizedlist>
-      <listitem>
-        <para>
-          The inclusion of the precompiled header must be the first thing in a
-          source file, before any code or preprocessor directives.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          The build properties used to compile the source files and the
-          precompiled header must be the same. Consider using project
-          requirements to assure this.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          Precompiled headers must be used purely as a way to improve
-          compilation time, not to save the number of <code>#include</code>
-          statements. If a source file needs to include some header, explicitly
-          include it in the source file, even if the same header is included
-          from the precompiled header. This makes sure that your project will
-          build even if precompiled headers are not supported.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          On the gcc compiler, the name of the header being precompiled must be
-          equal to the name of the <code>cpp-pch</code> target. This is a gcc
-          requirement.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          Prior to version 4.2, the gcc compiler did not allow anonymous
-          namespaces in precompiled headers, which limits their utility. See the
-          <ulink url="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29085"> bug
-          report</ulink> for details.
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-
-  <section id="bbv2.reference.generated_headers">
-    <title>Generated headers</title>
-
-    <para>
-      Usually, Boost.Build handles implicit dependendies completely
-      automatically. For example, for C++ files, all <literal>#include</literal>
-      statements are found and handled. The only aspect where user help might be
-      needed is implicit dependency on generated files.
-    </para>
-
-    <para>
-      By default, Boost.Build handles such dependencies within one main target.
-      For example, assume that main target "app" has two sources, "app.cpp" and
-      "parser.y". The latter source is converted into "parser.c" and "parser.h".
-      Then, if "app.cpp" includes "parser.h", Boost.Build will detect this
-      dependency. Moreover, since "parser.h" will be generated into a build
-      directory, the path to that directory will automatically added to include
-      path.
-    </para>
-
-    <para>
-      Making this mechanism work across main target boundaries is possible, but
-      imposes certain overhead. For that reason, if there is implicit dependency
-      on files from other main targets, the <literal><implicit-dependency>
-      </literal> [ link ] feature must be used, for example:
-<programlisting>
-lib parser : parser.y ;
-exe app : app.cpp : <implicit-dependency>parser ;
-</programlisting>
-      The above example tells the build system that when scanning all sources of
-      "app" for implicit-dependencies, it should consider targets from "parser"
-      as potential dependencies.
-    </para>
-  </section>
-
-  <section id="bbv2.tasks.crosscompile">
-    <title>Cross-compilation</title>
-
-    <indexterm><primary>cross compilation</primary></indexterm>
-
-    <para>Boost.Build supports cross compilation with the gcc and msvc
-    toolsets.</para>
-    
-    <para>
-      When using gcc, you first need to specify your cross compiler
-      in <filename>user-config.jam</filename> (see <xref linkend="bbv2.overview.configuration"/>), 
-      for example:</para>
-<programlisting>
-using gcc : arm : arm-none-linux-gnueabi-g++ ;
-</programlisting>
-    <para>
-      After that, if the host and target os are the same, for example Linux, you can
-      just request that this compiler version to be used:
-    </para>
-<screen>
-bjam toolset=gcc-arm
-</screen>
-
-    <para>
-      If you want to target different operating system from the host, you need
-      to additionally specify the value for the <code>target-os</code> feature, for
-      example:
-    </para>
-<screen>
-# On windows box
-bjam toolset=gcc-arm <emphasis role="bold">target-os=linux</emphasis>
-# On Linux box
-bjam toolset=gcc-mingw <emphasis role="bold">target-os=windows</emphasis>
-</screen>
-    <para>
-      For the complete list of allowed opeating system names, please see the documentation for 
-      <link linkend="bbv2.reference.features.target-os">target-os feature</link>.
-    </para>
-
-    <para>
-      When using the msvc compiler, it's only possible to cross-compiler to a 64-bit system
-      on a 32-bit host. Please see <xref linkend="v2.reference.tools.compiler.msvc.64"/> for
-      details.
-    </para>
-         
-  </section>
-
-</chapter>
-
-<!--
-     Local Variables:
-     mode: nxml
-     sgml-indent-data: t
-     sgml-parent-document: ("userman.xml" "chapter")
-     sgml-set-face: t
-     End:
--->
diff --git a/SRC/Boost/tools/build/v2/doc/src/tutorial.xml b/SRC/Boost/tools/build/v2/doc/src/tutorial.xml
deleted file mode 100755
index e4efcdc..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/tutorial.xml
+++ /dev/null
@@ -1,681 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-<?psgml nofill screen programlisting literallayout?>
-
-<chapter id="bbv2.tutorial">
-  <title>Tutorial</title>
-
-<!--   You can't launch into this stuff without describing how to configure -->
-<!--   Boost.Build... unless of course you think it's likely to work with -->
-<!--   no configuration.  But even if you do you have to tell people how to -->
-<!--   configure their installation in case it doesn't work. -->
-<!--
-    VP: need also mention the examples which correspond to specific
-    sections.
--->
-
-  <para>
-    This section will guide you though the most basic features of Boost.Build
-    V2. We will start with the &#x201C;Hello, world&#x201D; example, learn how
-    to use libraries, and finish with testing and installing features.
-  </para>
-
-  <section id="bbv2.tutorial.hello">
-    <title>Hello, world</title>
-
-    <para>
-      The simplest project that Boost.Build can construct is stored in
-      <filename>example/hello/</filename> directory. The project is described by
-      a file called <filename>Jamroot</filename> that contains:
-
-<programlisting>
-exe hello : hello.cpp ;
-</programlisting>
-
-      Even with this simple setup, you can do some interesting things. First of
-      all, just invoking <command>bjam</command> will build the <filename>hello
-      </filename> executable by compiling and linking <filename>hello.cpp
-      </filename>. By default, debug variant is built. Now, to build the release
-      variant of <filename>hello</filename>, invoke
-
-<screen>
-bjam release
-</screen>
-
-      Note that debug and release variants are created in different directories,
-      so you can switch between variants or even build multiple variants at
-      once, without any unnecessary recompilation. Let us extend the example by
-      adding another line to our project's <filename>Jamroot</filename>:
-
-<programlisting>
-exe hello2 : hello.cpp ;
-</programlisting>
-
-      Now let us build both the debug and release variants of our project again:
-
-<screen>
-bjam debug release
-</screen>
-
-      Note that two variants of <filename>hello2</filename> are linked. Since we
-      have already built both variants of <filename>hello</filename>, hello.cpp
-      will not be recompiled; instead the existing object files will just be
-      linked into the corresponding variants of <filename>hello2</filename>. Now
-      let us remove all the built products:
-
-<screen>
-bjam --clean debug release
-</screen>
-
-      It is also possible to build or clean specific targets. The following two
-      commands, respectively, build or clean only the debug version of
-      <filename>hello2</filename>.
-
-<screen>
-bjam hello2
-bjam --clean hello2
-</screen>
-    </para>
-  </section>
-
-  <section id="bbv2.tutorial.properties">
-    <title>Properties</title>
-
-    <para>
-      To portably represent aspects of target configuration such as
-      debug and release variants, or single- and multi-threaded
-      builds, Boost.Build uses <firstterm>features</firstterm> with
-      associated <firstterm>values</firstterm>.  For
-      example, the <code>debug-symbols</code> feature can have a value of <code>on</code> or
-      <code>off</code>.  A <firstterm>property</firstterm> is just a (feature,
-      value) pair.  When a user initiates a build, Boost.Build
-      automatically translates the requested properties into appropriate
-      command-line flags for invoking toolset components like compilers
-      and linkers.
-    </para>
-
-    <para>
-      There are many built-in features that can be combined to
-      produce arbitrary build configurations.  The following command
-      builds the project's <code>release</code> variant with inlining
-      disabled and debug symbols enabled:
-<screen>
-bjam release inlining=off debug-symbols=on
-</screen>
-    </para>
-
-    <para>
-      Properties on the command-line are specified with the syntax:
-
-<screen>
-<replaceable>feature-name</replaceable>=<replaceable>feature-value</replaceable>
-</screen>
-    </para>
-
-    <para>
-      The <option>release</option> and <option>debug</option> that we have seen
-      in <command>bjam</command> invocations are just a shorthand way to specify
-      values of the <varname>variant</varname> feature.  For example, the
-      command above could also have been written this way:
-
-      <screen>
-bjam variant=release inlining=off debug-symbols=on
-      </screen>
-    </para>
-
-    <para>
-      <varname>variant</varname> is so commonly-used that it has been given
-      special status as an <firstterm>implicit</firstterm> feature&#x2014;
-      Boost.Build will deduce the its identity just from the name of one of its
-      values.
-    </para>
-
-    <para>
-      A complete description of features can be found in <xref linkend="bbv2.reference.features"/>.
-    </para>
-
-    <section id="bbv2.tutorial.properties.requirements">
-      <title>Build Requests and Target Requirements</title>
-
-      <para>
-        The set of properties specified on the command line constitute
-        a <firstterm>build request</firstterm>&#x2014;a description of
-        the desired properties for building the requested targets (or,
-        if no targets were explicitly requested, the project in the
-        current directory). The <emphasis>actual</emphasis>
-        properties used for building targets are typically a
-        combination of the build request and properties derived from
-        the project's <filename>Jamroot</filename> (and its other
-        Jamfiles, as described in <xref
-        linkend="bbv2.tutorial.hierarchy"/>). For example, the
-        locations of <code>#include</code>d header files are normally
-        not specified on the command-line, but described in
-        Jamfiles as <firstterm>target
-        requirements</firstterm> and automatically combined with the
-        build request for those targets. Multithread-enabled
-        compilation is another example of a typical target
-        requirement. The Jamfile fragment below
-        illustrates how these requirements might be specified.
-      </para>
-
-<programlisting>
-exe hello
-    : hello.cpp
-    : <include>boost <threading>multi
-    ;
-</programlisting>
-
-      <para>
-        When <filename>hello</filename> is built, the two requirements specified
-        above will always be present. If the build request given on the
-        <command>bjam</command> command-line explictly contradicts a target's
-        requirements, the target requirements usually override (or, in the case
-        of &#x201C;free”&#x201D; features like
-        <varname><include></varname>,
-        <footnote>
-          <para>
-             See <xref linkend="bbv2.reference.features.attributes"/>
-          </para>
-        </footnote>
-        augments) the build request.
-      </para>
-
-      <tip>
-        <para>
-          The value of the <varname><include></varname> feature is
-          relative to the location of <filename>Jamroot</filename> where it is
-          used.
-        </para>
-      </tip>
-    </section>
-
-    <section id="bbv2.tutorial.properties.project_attributes">
-      <title>Project Attributes</title>
-
-      <para>
-        If we want the same requirements for our other target, <filename>hello2
-        </filename>, we could simply duplicate them. However, as projects grow,
-        that approach leads to a great deal of repeated boilerplate in Jamfiles.
-
-        Fortunately, there's a better way. Each project can specify a set of
-        <firstterm>attributes</firstterm>, including requirements:
-
-<programlisting>
-project
-    : requirements <include>/home/ghost/Work/boost <threading>multi
-    ;
-
-exe hello : hello.cpp ;
-exe hello2 : hello.cpp ;</programlisting>
-
-        The effect would be as if we specified the same requirement for both
-        <filename>hello</filename> and <filename>hello2</filename>.
-      </para>
-    </section>
-  </section>
-
-  <section id="bbv2.tutorial.hierarchy">
-    <title>Project Hierarchies</title>
-
-    <para>
-      So far we have only considered examples with one project &#x2014;a. with
-      one user-written Boost.Jam file, <filename>Jamroot</filename>). A typical
-      large codebase would be composed of many projects organized into a tree.
-      The top of the tree is called the <firstterm>project root</firstterm>.
-      Every subproject is defined by a file called <filename>Jamfile</filename>
-      in a descendant directory of the project root. The parent project of a
-      subproject is defined by the nearest <filename>Jamfile</filename> or
-      <filename>Jamroot</filename> file in an ancestor directory. For example,
-      in the following directory layout:
-
-<screen>
-top/
-  |
-  +-- Jamroot
-  |
-  +-- app/
-  |    |
-  |    +-- Jamfile
-  |    `-- app.cpp
-  |
-  `-- util/
-       |
-       +-- foo/
-       .    |
-       .    +-- Jamfile
-       .    `-- bar.cpp
-</screen>
-
-      the project root is <filename>top/</filename>. The projects in
-      <filename>top/app/</filename> and <filename>top/util/foo/</filename> are
-      immediate children of the root project.
-
-      <note>
-        <para>
-          When we refer to a &#x201C;Jamfile,&#x201D; set in normal
-          type, we mean a file called either
-          <filename>Jamfile</filename> or
-          <filename>Jamroot</filename>.  When we need to be more
-          specific, the filename will be set as
-          &#x201C;<filename>Jamfile</filename>&#x201D; or
-          &#x201C;<filename>Jamroot</filename>.&#x201D;
-        </para>
-      </note>
-    </para>
-
-    <para>
-      Projects inherit all attributes (such as requirements)
-      from their parents.  Inherited requirements are combined with
-      any requirements specified by the subproject.
-      For example, if <filename>top/Jamroot</filename> has
-
-<programlisting>
-<include>/home/ghost/local
-</programlisting>
-
-      in its requirements, then all of its subprojects will have it
-      in their requirements, too.  Of course, any project can add
-      include paths to those specified by its parents. <footnote>
-      <para>Many
-      features will be overridden,
-      rather than added-to, in subprojects.  See <xref
-      linkend="bbv2.reference.features.attributes"/> for more
-      information</para>
-    </footnote>
-    More details can be found in
-      <xref linkend= "bbv2.overview.projects"/>.
-    </para>
-
-    <para>
-      Invoking <command>bjam</command> without explicitly specifying
-      any targets on the command line builds the project rooted in the
-      current directory.  Building a project does not automatically
-      cause its subprojects to be built unless the parent project's
-      Jamfile explicitly requests it. In our example,
-      <filename>top/Jamroot</filename> might contain:
-
-<programlisting>
-build-project app ;
-</programlisting>
-
-      which would cause the project in <filename>top/app/</filename>
-      to be built whenever the project in <filename>top/</filename> is
-      built. However, targets in <filename>top/util/foo/</filename>
-      will be built only if they are needed by targets in
-      <filename>top/</filename> or <filename>top/app/</filename>.
-    </para>
-  </section>
-
-  <section id="bbv2.tutorial.libs">
-    <title>Dependent Targets</title>
-
-    <para>
-      When a building a target <filename>X</filename> depends on first
-      building another target <filename>Y</filename> (such as a
-      library that must be linked with <firstterm>X</firstterm>),
-      <filename>Y</filename> is called a
-      <firstterm>dependency</firstterm> of <filename>X</filename> and
-      <filename>X</filename> is termed a
-      <firstterm>dependent</firstterm> of <filename>Y</filename>.
-    </para>
-
-    <para>To get a feeling of target dependencies, let's continue the
-      above example and see how <filename>top/app/Jamfile</filename> can
-      use libraries from <filename>top/util/foo</filename>.  If
-      <filename>top/util/foo/Jamfile</filename> contains
-
-<programlisting>
-lib bar : bar.cpp ;
-</programlisting>
-
-      then to use this library in <filename>top/app/Jamfile</filename>, we can
-      write:
-
-<programlisting>
-exe app : app.cpp ../util/foo//bar ;
-</programlisting>
-
-      While <code>app.cpp</code> refers to a regular source file,
-      <code>../util/foo//bar</code> is a reference to another target:
-      a library <filename>bar</filename> declared in the Jamfile at
-      <filename>../util/foo</filename>.
-    </para>
-
-    <tip>
-      <para>Some other build system have special syntax for listing dependent
-      libraries, for example <varname>LIBS</varname> variable. In Boost.Build,
-      you just add the library to the list of sources.
-      </para>
-    </tip>
-
-    <para>Suppose we build <filename>app</filename> with:
-    <screen>
-bjam app optimization=full define=USE_ASM
-    </screen>
-    Which properties will be used to build <code>foo</code>? The answer is
-    that some features are
-    <firstterm>propagated</firstterm>&#x2014;Boost.Build attempts to use
-    dependencies with the same value of propagated features. The
-    <varname><optimization></varname> feature is propagated, so both
-    <filename>app</filename> and <filename>foo</filename> will be compiled
-    with full optimization. But <varname><define></varname> is not
-    propagated: its value will be added as-is to the compiler flags for
-    <filename>a.cpp</filename>, but won't affect <filename>foo</filename>.
-    </para>
-
-
-    <para>
-      Let's improve this project further. The library probably has some headers
-      that must be used when compiling <filename>app.cpp</filename>. We could
-      manually add the necessary <code>#include</code> paths to <filename>app
-      </filename>'s requirements as values of the <varname><include>
-      </varname> feature, but then this work will be repeated for all programs
-      that use <filename>foo</filename>. A better solution is to modify
-      <filename>util/foo/Jamfile</filename> in this way:
-
-      <programlisting>
-project
-    : usage-requirements <include>.
-    ;
-
-lib foo : foo.cpp ;</programlisting>
-
-      Usage requirements are applied not to the target being declared but to its
-      dependants. In this case, <literal><include>.</literal> will be
-      applied to all targets that directly depend on <filename>foo</filename>.
-    </para>
-
-    <para>
-      Another improvement is using symbolic identifiers to refer to the library,
-      as opposed to <filename>Jamfile</filename> location. In a large project, a
-      library can be used by many targets, and if they all use <filename>Jamfile
-      </filename> location, a change in directory organization entails much
-      work. The solution is to use project ids&#x2014;symbolic names not tied to
-      directory layout. First, we need to assign a project id by adding this
-      code to <filename>Jamroot</filename>:
-    </para>
-
-    <programlisting>
-use-project /library-example/foo : util/foo ;</programlisting>
-
-    <para>
-      Second, we modify <filename>app/Jamfile</filename> to use the project id:
-      <programlisting>
-exe app : app.cpp /library-example/foo//bar ;</programlisting>
-
-      The <filename>/library-example/foo//bar</filename> syntax is used to refer
-      to the target <filename>bar</filename> in the project with id <filename>
-      /library-example/foo</filename>. We've achieved our goal&#x2014;if the
-      library is moved to a different directory, only <filename>Jamroot
-      </filename> must be modified. Note that project ids are global&#x2014;two
-      Jamfiles are not allowed to assign the same project id to different
-      directories.
-    </para>
-
-    <tip>
-      <para>If you want all applications in some project to link to a certain
-        library, you can avoid having to specify it directly the sources of
-        every target by using the <varname><library></varname> property.
-        For example, if <filename>/boost/filesystem//fs</filename> should be
-        linked to all applications in your project, you can add
-        <code><library>/boost/filesystem//fs</code> to the project's
-        requirements, like this:
-      </para>
-
-      <programlisting>
-project
-   : requirements <library>/boost/filesystem//fs
-   ;</programlisting>
-    </tip>
-  </section>
-
-  <section id="bbv2.tutorial.linkage">
-    <title>Static and shared libaries</title>
-
-    <para>
-      Libraries can be either <emphasis>static</emphasis>, which means they are
-      included in executable files that use them, or <emphasis>shared</emphasis>
-      (a.k.a. <emphasis>dynamic</emphasis>), which are only referred to from
-      executables, and must be available at run time. Boost.Build can create and
-      use both kinds.
-    </para>
-
-    <para>
-      The kind of library produced from a <code>lib</code> target is determined
-      by the value of the <varname>link</varname> feature. Default value is
-      <literal>shared</literal>, and to build a static library, the value should
-      be <literal>static</literal>. You can request a static build either on the
-      command line:
-      <programlisting>bjam link=static</programlisting>
-      or in the library's requirements:
-      <programlisting>lib l : l.cpp : <link>static ;</programlisting>
-    </para>
-
-    <para>
-      We can also use the <varname><link></varname> property to express
-      linking requirements on a per-target basis. For example, if a particular
-      executable can be correctly built only with the static version of a
-      library, we can qualify the executable's <link
-      linkend="bbv2.reference.targets.references">target reference</link> to the
-      library as follows:
-
-<!-- There has been no earlier indication that target references can contain
-     properties. You can't assume that the reader will recognize that strange
-     incantation as a target reference, or that she'll know what it means. You
-     also can't assume that hyperlinks will help the reader, because she may be
-     working from a printout, as I was.
-     VP: to be addressed when this section is moved. See comment below.
--->
-
-      <programlisting>
-exe important : main.cpp helpers/<link>static ;</programlisting>
-
-      No matter what arguments are specified on the <command>bjam</command>
-      command line, <filename>important</filename> will only be linked with the
-      static version of <filename>helpers</filename>.
-    </para>
-
-    <para>
-      Specifying properties in target references is especially useful if you use
-      a library defined in some other project (one you can't change) but you
-      still want static (or dynamic) linking to that library in all cases. If
-      that library is used by many targets, you <emphasis>could</emphasis> use
-      target references everywhere:
-
-      <programlisting>
-exe e1 : e1.cpp /other_project//bar/<link>static ;
-exe e10 : e10.cpp /other_project//bar/<link>static ;</programlisting>
-
-      but that's far from being convenient. A better approach is to introduce a
-      level of indirection. Create a local <type>alias</type> target that refers
-      to the static (or dynamic) version of <filename>foo</filename>:
-
-      <programlisting>
-alias foo : /other_project//bar/<link>static ;
-exe e1 : e1.cpp foo ;
-exe e10 : e10.cpp foo ;</programlisting>
-
-      The <link linkend="bbv2.tasks.alias"><functionname>alias</functionname>
-      </link> rule is specifically used to rename a reference to a target and
-      possibly change the properties.
-
-      <!-- You should introduce the alias rule in an earlier section, before
-           describing how it applies to this specific use-case, and the
-           foregoing sentence should go there.
-           VP: we've agreed that this section should be moved further in the
-           docs, since it's more like advanced reading. When I move it, I'll
-           make sure 'alias' is already mentioned.
-      -->
-    </para>
-
-    <tip>
-      <para>
-        When one library uses another, you put the second library in the source
-        list of the first. For example:
-        <programlisting>
-lib utils : utils.cpp /boost/filesystem//fs ;
-lib core : core.cpp utils ;
-exe app : app.cpp core ;</programlisting>
-        This works no matter what kind of linking is used. When <filename>core
-        </filename> is built as a shared library, it is linked directly into
-        <filename>utils</filename>. Static libraries can't link to other
-        libraries, so when <filename>core</filename> is built as a static
-        library, its dependency on <filename>utils</filename> is passed along to
-        <filename>core</filename>'s dependents, causing <filename>app</filename>
-        to be linked with both <filename>core</filename> and <filename>utils
-        </filename>.
-      </para>
-    </tip>
-
-    <note>
-      <para>
-        (Note for non-UNIX system). Typically, shared libraries must be
-        installed to a directory in the dynamic linker's search path. Otherwise,
-        applications that use shared libraries can't be started. On Windows, the
-        dynamic linker's search path is given by the <envar>PATH</envar>
-        environment variable. This restriction is lifted when you use
-        Boost.Build testing facilities&#x2014;the <envar>PATH</envar> variable
-        will be automatically adjusted before running the executable.
-        <!-- Need ref here to 'testing facilities' -->
-      </para>
-    </note>
-  </section>
-
-  <section id="bbv2.tutorial.conditions">
-    <title>Conditions and alternatives</title>
-
-    <para>
-      Sometimes, particular relationships need to be maintained among a target's
-      build properties. For example, you might want to set specific <code>
-      #define</code> when a library is built as shared, or when a target's
-      <code>release</code> variant is built. This can be achieved using
-      <firstterm>conditional requirements</firstterm>.
-
-      <programlisting>
-lib network : network.cpp
-    : <emphasis role="bold"><link>shared:<define>NEWORK_LIB_SHARED</emphasis>
-     <variant>release:<define>EXTRA_FAST
-    ;</programlisting>
-
-      In the example above, whenever <filename>network</filename> is built with
-      <code><link>shared</code>, <code><define>NEWORK_LIB_SHARED
-      </code> will be in its properties, too. Also, whenever its release variant
-      is built, <code><define>EXTRA_FAST</code> will appear in its
-      properties.
-    </para>
-
-    <para>
-      Sometimes the ways a target is built are so different that describing them
-      using conditional requirements would be hard. For example, imagine that a
-      library actually uses different source files depending on the toolset used
-      to build it. We can express this situation using <firstterm>target
-      alternatives</firstterm>:
-      <programlisting>
-lib demangler : dummy_demangler.cpp ;                      # alternative 1
-lib demangler : demangler_gcc.cpp : <toolset>gcc ;   # alternative 2
-lib demangler : demangler_msvc.cpp : <toolset>msvc ; # alternative 3</programlisting>
-      When building <filename>demangler</filename>, Boost.Build will compare
-      requirements for each alternative with build properties to find the best
-      match. For example, when building with <code><toolset>gcc</code>
-      alternative 2, will be selected, and when building with
-      <code><toolset>msvc</code> alternative 3 will be selected. In all
-      other cases, the most generic alternative 1 will be built.
-    </para>
-  </section>
-
-  <section id="bbv2.tutorial.prebuilt">
-    <title>Prebuilt targets</title>
-
-    <para>
-      To link to libraries whose build instructions aren't given in a Jamfile,
-      you need to create <code>lib</code> targets with an appropriate
-      <varname>file</varname> property.  Target alternatives can be used to
-      associate multiple library files with a single conceptual target. For
-      example:
-      <programlisting>
-# util/lib2/Jamfile
-lib lib2
-    :
-    : <file>lib2_release.a <variant>release
-    ;
-
-lib lib2
-    :
-    : <file>lib2_debug.a <variant>debug
-    ;</programlisting>
-
-      This example defines two alternatives for <filename>lib2</filename>, and
-      for each one names a prebuilt file.  Naturally, there are no sources.
-      Instead, the <varname><file></varname> feature is used to specify
-      the file name.
-    </para>
-
-    <para>
-      Once a prebuilt target has been declared, it can be used just like any
-      other target:
-
-      <programlisting>
-exe app : app.cpp ../util/lib2//lib2 ;</programlisting>
-
-      As with any target, the alternative selected depends on the properties
-      propagated from <filename>lib2</filename>'s dependants. If we build the
-      release and debug versions of <filename>app</filename> will be linked
-      with <filename>lib2_release.a</filename> and <filename>lib2_debug.a
-      </filename>, respectively.
-    </para>
-
-    <para>
-      System libraries&#x2014;those that are automatically found by the toolset
-      by searching through some set of predetermined paths&#x2014;should be
-      declared almost like regular ones:
-
-      <programlisting>
-lib pythonlib : : <name>python22 ;</programlisting>
-
-      We again don't specify any sources, but give a <varname>name</varname>
-      that should be passed to the compiler. If the gcc toolset were used to
-      link an executable target to <filename>pythonlib</filename>,
-      <option>-lpython22</option> would appear in the command line (other
-      compilers may use different options).
-    </para>
-
-    <para>
-      We can also specify where the toolset should look for the library:
-
-      <programlisting>
-lib pythonlib : : <name>python22 <search>/opt/lib ;</programlisting>
-
-      And, of course, target alternatives can be used in the usual way:
-
-      <programlisting>
-lib pythonlib : : <name>python22 <variant>release ;
-lib pythonlib : : <name>python22_d <variant>debug ;</programlisting>
-    </para>
-
-    <para>
-      A more advanced use of prebuilt targets is described in <xref linkend=
-      "bbv2.recipies.site-config"/>.
-    </para>
-  </section>
-</chapter>
-
-<!--
-     Local Variables:
-     mode: nxml
-     sgml-indent-data:t
-     sgml-parent-document:("userman.xml" "chapter")
-     sgml-set-face: t
-     sgml-omittag:nil
-     sgml-shorttag:nil
-     sgml-namecase-general:t
-     sgml-general-insert-case:lower
-     sgml-minimize-attributes:nil
-     sgml-always-quote-attributes:t
-     sgml-indent-step:2
-     sgml-exposed-tags:nil
-     sgml-local-catalogs:nil
-     sgml-local-ecat-files:nil
-     End:
--->
diff --git a/SRC/Boost/tools/build/v2/doc/src/userman.xml b/SRC/Boost/tools/build/v2/doc/src/userman.xml
deleted file mode 100755
index 60e9b77..0000000
--- a/SRC/Boost/tools/build/v2/doc/src/userman.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE part PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-<part xmlns:xi="http://www.w3.org/2001/XInclude"
-      id="bbv2" last-revision="$Date: 2011-01-25 13:06:12 -0500 (Tue, 25 Jan 2011) $">
-  <partinfo>
-    <copyright>
-      <year>2006</year>
-      <year>2007</year>
-      <year>2008</year>
-      <year>2009</year>
-      <holder>Vladimir Prus</holder>
-    </copyright>
-
-    <legalnotice>
-      <para>Distributed under the Boost Software License, Version 1.0.
-      (See accompanying file <filename>LICENSE_1_0.txt</filename> or copy at 
-      <ulink
-      url="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</ulink>)
-      </para>
-    </legalnotice>  
-  </partinfo>
-
-  <title>Boost.Build V2 User Manual</title>
-
-  <!-- Chapters -->
-  <xi:include href="howto.xml"/>
-  <xi:include href="install.xml"/>
-  <xi:include href="tutorial.xml"/>
-  <xi:include href="overview.xml"/>
-  <xi:include href="tasks.xml"/>
-  <xi:include href="reference.xml"/>
-  <xi:include href="extending.xml"/>
-  <xi:include href="faq.xml"/>
-
-  <!-- Appendicies -->
-<!--  <xi:include href="architecture.xml"/> -->
-
-</part>
diff --git a/SRC/Boost/tools/build/v2/doc/tools.html b/SRC/Boost/tools/build/v2/doc/tools.html
deleted file mode 100755
index 867518c..0000000
--- a/SRC/Boost/tools/build/v2/doc/tools.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<!-- Copyright 2004 Aleksey Gurtovoy -->
-<!-- Copyright 2003, 2004 Vladimir Prus -->
-<!-- Distributed under the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) -->
-
-<html>
-  <head>
-    <meta name="generator" content=
-    "HTML Tidy for Linux/x86 (vers 1st April 2002), see www.w3.org">
-    <meta name="generator" content="Microsoft FrontPage 5.0">
-    <meta http-equiv="Content-Type" content=
-    "text/html; charset=windows-1252">
-    <!-- tidy options: ‐‐tidy-mark false -i -wrap 78 !-->
-
-    <title>Boost Build System V2 — supported tools</title>
-  </head>
-
-  <body bgcolor="#FFFFFF" text="#000000">
-    <img src="../../../../boost.png" alt="boost.png (6897 bytes)" align="center"
-    width="277" height="86"> <a href="http://sourceforge.net"><img src=
-    "http://sourceforge.net/sflogo.php?group_id=7586&type=1" width="88"
-    height="31" border="0" alt="SourceForge.net Logo" align="right"></a> 
-
-    <h1>Boost Build System V2 — supported tools</h1>
-
-    <h2>Compilers</h2>
-
-    <p>The following compilers are supported:</p>
-
-    <ul>
-      <li>GNU gcc (various versions), on Linux, NT, Cygwin and Darwin.</li>
-
-      <li>Microsoft VC++ compiler (various version), on NT and Cygwin.</li>
-
-      <li>Borland's compiler, on NT and Cygwin.</li>
-
-      <li>Metrowerks Code Warrior, on NT.</li>
-
-      <li>Intel C++ Compiler, on Linux and NT.</li>
-
-      <li>Sun's C++ Compiler.</li>
-        
-    </ul>
-
-    <h2>Libraries</h2>
-
-    <p>Some important libraries have special support in Boost.Build:</p>
-
-    <ul>
-      <li><a href="http://stlport.sourceforge.net">STLport</a> — on gcc and
-      msvc.</li>
-
-      <li><a href="http://www.trolltech.com/products/qt/index.html">QT</a>,
-      including the <tt>moc</tt> and <tt>uic</tt> tools — on gcc and msvc.</li>
-    </ul>
-
-    <h2>Other tools</h2>
-
-    <ul>
-      <li>Parser/lexer generators <tt>bison</tt> and <tt>lex</tt>.</li>
-
-      <li>XSLT processor <a href=
-      "http://xmlsoft.org/XSLT/">xsltproc</a>.</li>
-
-      <li>The Apache <a href="http://xml.apache.org/fop/index.html">FOP</a>
-      tool.</li>
-
-      <li>BoostBook documentation format.</li>
-
-      <li>GNU <a href=
-      "http://www.gnu.org/software/gettext/gettext.html">gettext</a>
-      internationalization tools.</li>
-    </ul>
-    <hr>
-
-    <p>© Copyright Vladimir Prus 2003. Permission to copy, use, modify,
-    sell and distribute this document is granted provided this copyright
-    notice appears in all copies. This document is provided "as is" without
-    express or implied warranty, and with no claim as to its suitability for
-    any purpose.</p>
-
-    <p>Revised 
-    <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan
-                                        -->Jule 3, 2003 
-    <!--webbot bot="Timestamp" endspan i-checksum="13972"
-                                        -->
-    </p>
-  </body>
-</html>
-
diff --git a/SRC/Boost/tools/build/v2/engine/Jambase b/SRC/Boost/tools/build/v2/engine/Jambase
deleted file mode 100755
index 9538ae7..0000000
--- a/SRC/Boost/tools/build/v2/engine/Jambase
+++ /dev/null
@@ -1,2473 +0,0 @@
-#
-# /+\
-# +\    Copyright 1993, 2000 Christopher Seiwald.
-# \+/
-#
-# This file is part of Jam - see jam.c for Copyright information.
-#
-
-# This file is ALSO:
-# Copyright 2001-2004 David Abrahams.
-# Copyright 2002-2004 Rene Rivera.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-if $(NT)
-{
-    SLASH ?= \\ ;
-}
-SLASH ?= / ;
-
-
-# Glob for patterns in the directories starting from the given start directory,
-# up to and including the root of the file-system. We stop globbing as soon as
-# we find at least one match.
-#
-rule find-to-root ( dir : patterns + )
-{
-    local globs = [ GLOB $(dir) : $(patterns) ] ;
-    while ! $(globs) && $(dir:P) != $(dir)
-    {
-        dir = $(dir:P) ;
-        globs = [ GLOB $(dir) : $(patterns) ] ;
-    }
-    return $(globs) ;
-}
-
-
-# This global will hold the location of the user's boost-build.jam file.
-.boost-build-file = ;
-
-# This global will hold the location of the build system bootstrap file.
-.bootstrap-file = ;
-
-# Remember the value of $(BOOST_BUILD_PATH) supplied to us by the user.
-BOOST_BUILD_PATH.user-value = $(BOOST_BUILD_PATH) ;
-
-# On Unix only, when BOOST_BUILD_PATH is not supplied by the user, set it to a
-# sensible default value. This allows Boost.Build to work without any
-# environment variables, which is good in itself and also required by the Debian
-# Policy.
-if ! $(BOOST_BUILD_PATH) && $(UNIX)
-{
-    BOOST_BUILD_PATH = /usr/share/boost-build ;
-}
-
-
-rule _poke ( module-name ? : variables + : value * )
-{
-    module $(<)
-    {
-        $(>) = $(3) ;
-    }
-}
-
-
-# This rule can be invoked from an optional user's boost-build.jam file to both
-# indicate where to find the build system files, and to load them. The path
-# indicated is relative to the location of the boost-build.jam file.
-#
-rule boost-build ( dir ? )
-{
-    if $(.bootstrap-file)
-    {
-        ECHO "Error: Illegal attempt to re-bootstrap the build system by invoking" ;
-        ECHO ;
-        ECHO "   'boost-build" $(dir) ";'" ;
-        ECHO ;
-        EXIT "Please consult the documentation at 'http://www.boost.org'." ;
-    }
-
-    # Add the given directory to the path so we can find the build system. If
-    # dir is empty, has no effect.
-    BOOST_BUILD_PATH = $(dir:R=$(.boost-build-file:D)) $(BOOST_BUILD_PATH) ;
-
-    # We might have just modified the *global* value of BOOST_BUILD_PATH. The
-    # code that loads the rest of Boost.Build, in particular the site-config.jam
-    # and user-config.jam configuration files uses os.environ, so we need to
-    # update the value there.
-    _poke .ENVIRON : BOOST_BUILD_PATH : $(BOOST_BUILD_PATH) ;
-
-    # Try to find the build system bootstrap file 'bootstrap.jam'.
-    local bootstrap-file = [ GLOB $(BOOST_BUILD_PATH) : bootstrap.jam ] ;
-    .bootstrap-file = $(bootstrap-file[1]) ;
-
-    # There is no bootstrap.jam we can find, exit with an error.
-    if ! $(.bootstrap-file)
-    {
-        ECHO "Unable to load Boost.Build: could not find build system." ;
-        ECHO --------------------------------------------------------- ;
-        ECHO "$(.boost-build-file) attempted to load the build system by invoking" ;
-        ECHO ;
-        ECHO "   'boost-build" $(dir) ";'" ;
-        ECHO ;
-        ECHO "but we were unable to find \"bootstrap.jam\" in the specified directory" ;
-        ECHO "or in BOOST_BUILD_PATH (searching "$(BOOST_BUILD_PATH:J=", ")")." ;
-        ECHO ;
-        EXIT "Please consult the documentation at 'http://www.boost.org'." ;
-    }
-
-    if [ MATCH .*(--debug-configuration).* : $(ARGV) ]
-    {
-        ECHO "notice: loading Boost.Build from"
-            [ NORMALIZE_PATH $(.bootstrap-file:D) ] ;
-    }
-
-    # Load the build system, now that we know where to start from.
-    include $(.bootstrap-file) ;
-}
-
-
-if [ MATCH .*(b2).* : $(ARGV[1]:BL) ] 
-  || [ MATCH .*(bjam).* : $(ARGV[1]:BL) ]
-  || $(BOOST_ROOT)    # A temporary measure so Jam works with Boost.Build v1.
-{
-    # We attempt to load "boost-build.jam" by searching from the current
-    # invocation directory up to the root of the file-system.
-    #
-    # boost-build.jam is expected to invoke the "boost-build" rule to load the
-    # Boost.Build files.
-
-    local search-path = $(BOOST_BUILD_PATH) $(BOOST_ROOT) ;
-    local self = [ SELF_PATH ] ;
-    local boost-build-relative = ../../share/boost-build ;
-    local self-based-path = [ NORMALIZE_PATH $(boost-build-relative:R=$(self)) ] ;
-
-    local boost-build-files =
-        [ find-to-root [ PWD ] : boost-build.jam ]
-        [ GLOB $(self-based-path) : boost-build.jam ]
-        # Another temporary measure so Jam works with Boost.Build v1.
-        [ GLOB $(search-path) : boost-build.jam ] ;
-
-    .boost-build-file = $(boost-build-files[1]) ;
-
-    # There is no boost-build.jam we can find, exit with an error, and
-    # information.
-    if ! $(.boost-build-file)
-    {
-        ECHO "Unable to load Boost.Build: could not find \"boost-build.jam\"" ;
-        ECHO --------------------------------------------------------------- ;
-
-        if ! [ MATCH .*(bjam).* : $(ARGV[1]:BL) ]
-        {
-            ECHO "BOOST_ROOT must be set, either in the environment, or " ;
-            ECHO "on the command-line with -sBOOST_ROOT=..., to the root" ;
-            ECHO "of the boost installation." ;
-            ECHO ;
-        }
-
-        ECHO "Attempted search from" [ PWD ] "up to the root" ;
-        ECHO "at" $(self-based-path) ;
-        ECHO "and in these directories from BOOST_BUILD_PATH and BOOST_ROOT: "$(search-path:J=", ")"." ;
-        EXIT "Please consult the documentation at 'http://www.boost.org'." ;
-    }
-
-    if [ MATCH .*(--debug-configuration).* : $(ARGV) ]
-    {
-        ECHO "notice: found boost-build.jam at"
-            [ NORMALIZE_PATH $(.boost-build-file) ] ;
-    }
-
-    # Now load the boost-build.jam to get the build system loaded. This
-    # incidentaly loads the users jamfile and attempts to build targets.
-    #
-    # We also set it up so we can tell whether we are loading the new V2 system
-    # or the the old V1 system.
-    include $(.boost-build-file) ;
-
-    # Check that, at minimum, the bootstrap file was found.
-    if ! $(.bootstrap-file)
-    {
-        ECHO "Unable to load Boost.Build" ;
-        ECHO -------------------------- ;
-        ECHO "\"$(.boost-build-file)\" was found by searching from" [ PWD ] "up to the root" ;
-        ECHO "and in these directories from BOOST_BUILD_PATH and BOOST_ROOT: "$(search-path:J=", ")"." ;
-        ECHO ;
-        ECHO "However, it failed to call the \"boost-build\" rule to indicate" ;
-        ECHO "the location of the build system." ;
-        ECHO ;
-        EXIT "Please consult the documentation at 'http://www.boost.org'." ;
-    }
-}
-else
-{
-
-#
-# JAMBASE - jam 2.3 ruleset providing make(1)-like functionality
-#
-# Supports UNIX, NT, and VMS.
-#
-# 12/27/93 (seiwald) - purturb library sources with SOURCE_GRIST
-# 04/18/94 (seiwald) - use '?=' when setting OS specific vars
-# 04/21/94 (seiwald) - do RmTemps together
-# 05/05/94 (seiwald) - all supported C compilers support -o: relegate
-#              RELOCATE as an option; set Ranlib to "" to disable it
-# 06/01/94 (seiwald) - new 'actions existing' to do existing sources
-# 08/25/94 (seiwald) - new ObjectCcFlags rule to append to per-target CCFLAGS
-# 08/29/94 (seiwald) - new ObjectHdrs rule to append to per-target HDRS
-# 09/19/94 (seiwald) - LinkLibraries and Undefs now append
-#            - Rule names downshifted.
-# 10/06/94 (seiwald) - Dumb yyacc stuff moved into Jamfile.
-# 10/14/94 (seiwald) - (Crude) support for .s, .C, .cc, .cpp, and .f files.
-# 01/08/95 (seiwald) - Shell now handled with awk, not sed
-# 01/09/95 (seiwald) - Install* now take dest directory as target
-# 01/10/95 (seiwald) - All entries sorted.
-# 01/10/95 (seiwald) - NT support moved in, with LauraW's help.
-# 01/10/95 (seiwald) - VMS support moved in.
-# 02/06/95 (seiwald) - ObjectC++Flags and SubDirC++Flags added.
-# 02/07/95 (seiwald) - Iron out when HDRSEARCH uses "" or SEARCH_SOURCE.
-# 02/08/95 (seiwald) - SubDir works on VMS.
-# 02/14/95 (seiwald) - MkDir and entourage.
-# 04/30/95 (seiwald) - Use install -c flag so that it copies, not moves.
-# 07/10/95 (taylor) - Support for Microsoft C++.
-# 11/21/96 (peterk) - Support for BeOS
-# 07/19/99 (sickel) - Support for Mac OS X Server (and maybe client)
-# 02/18/00 (belmonte)- Support for Cygwin.
-
-# Special targets defined in this file:
-#
-# all       - parent of first, shell, files, lib, exe
-# first     - first dependency of 'all', for potential initialization
-# shell     - parent of all Shell targets
-# files     - parent of all File targets
-# lib       - parent of all Library targets
-# exe       - parent of all Main targets
-# dirs      - parent of all MkDir targets
-# clean     - removes all Shell, File, Library, and Main targets
-# uninstall - removes all Install targets
-#
-
-# Rules defined by this file:
-#
-# as obj.o : source.s ;         .s -> .o
-# Bulk dir : files ;            populate directory with many files
-# Cc obj.o : source.c ;         .c -> .o
-# C++ obj.o : source.cc ;       .cc -> .o
-# Clean clean : sources ;       remove sources with 'jam clean'
-# File dest : source ;          copy file
-# Fortran obj.o : source.f ;        .f -> .o
-# GenFile source.c : program args ; make custom file
-# Hardlink target : source ;        make link from source to target
-# HdrRule source : headers ;        handle #includes
-# InstallInto dir : sources ;       install any files
-# InstallBin dir : sources ;        install binaries
-# InstallLib dir : sources ;        install files
-# InstallFile dir : sources ;       install files
-# InstallMan dir : sources ;        install man pages
-# InstallShell dir : sources ;      install shell scripts
-# Lex source.c : source.l ;     .l -> .c
-# Library lib : source ;        archive library from compiled sources
-# LibraryFromObjects lib : objects ;    archive library from objects
-# LinkLibraries images : libraries ;    bag libraries onto Mains
-# Main image : source ;         link executable from compiled sources
-# MainFromObjects image : objects ; link executable from objects
-# MkDir dir ;               make a directory, if not there
-# Object object : source ;      compile object from source
-# ObjectCcFlags source : flags ;    add compiler flags for object
-# ObjectC++Flags source : flags ;   add compiler flags for object
-# ObjectHdrs source : dirs ;        add include directories for object
-# Objects sources ;         compile sources
-# RmTemps target : sources ;        remove temp sources after target made
-# Setuid images ;           mark executables Setuid
-# SubDir TOP d1 d2 ... ;        start a subdirectory Jamfile
-# SubDirCcFlags flags ;         add compiler flags until next SubDir
-# SubDirC++Flags flags ;        add compiler flags until next SubDir
-# SubDirHdrs dirs ;         add include dirs until next SubDir
-# SubInclude TOP d1 d2 ... ;        include a subdirectory Jamfile
-# Shell exe : source ;          make a shell executable
-# Undefines images : symbols ;      save undef's for linking
-# UserObject object : source ;      handle unknown suffixes for Object
-# Yacc source.c : source.y ;        .y -> .c
-#
-# Utility rules that have no side effects (not supported):
-#
-# FAppendSuffix f1 f2 ... : $(SUF) ;    return $(<) with suffixes
-# FConcat value ... ;               return contatenated values
-# FDirName d1 d2 ... ;          return path from root to dir
-# FGrist d1 d2 ... ;            return d1!d2!...
-# FGristFiles value ;           return $(value:G=$(SOURCE_GRIST))
-# FGristSourceFiles value ;     return $(value:G=$(SOURCE_GRIST))
-# FRelPath d1 : d2 ;            return rel path from d1 to d2
-# FSubDir d1 d2 ... ;           return path to root
-#
-
-
-# Brief review of the jam language:
-#
-# Statements:
-#   rule RULE - statements to process a rule
-#   actions RULE - system commands to carry out target update
-#
-# Modifiers on actions:
-#   together - multiple instances of same rule on target get executed
-#          once with their sources ($(>)) concatenated
-#   updated - refers to updated sources ($(>)) only
-#   ignore - ignore return status of command
-#   quietly - don't trace its execution unless verbose
-#   piecemeal - iterate command each time with a small subset of $(>)
-#   existing - refers to currently existing sources ($(>)) only
-#   bind vars - subject to binding before expanding in actions
-#
-# Special rules:
-#   ALWAYS - always build a target
-#   DEPENDS - builds the dependency graph
-#   ECHO - blurt out targets on stdout
-#   EXIT - blurt out targets and exit
-#   INCLUDES - marks sources as headers for target (a codependency)
-#   NOCARE - don't panic if the target can't be built
-#   NOUPDATE - create the target if needed but never update it
-#   NOTFILE - ignore the timestamp of the target (it's not a file)
-#   TEMPORARY - target need not be present if sources haven't changed
-#
-# Special variables set by jam:
-#   $(<) - targets of a rule (to the left of the :)
-#   $(>) - sources of a rule (to the right of the :)
-#   $(xxx) - true on xxx (UNIX, VMS, NT, OS2, MAC)
-#   $(OS) - name of OS - varies wildly
-#   $(JAMVERSION) - version number (2.3)
-#
-# Special variables used by jam:
-#   SEARCH - where to find something (used during binding and actions)
-#   LOCATE - where to plop something not found with SEARCH
-#   HDRRULE - rule to call to handle include files
-#   HDRSCAN - egrep regex to extract include files
-#
-# Special targets:
-#   all - default if none given on command line
-#
-
-# Initialize variables
-#
-
-#
-# OS specific variable settings
-#
-if $(NT)
-{
-    # the list of supported toolsets on Windows NT and Windows 95/98
-    #
-    local SUPPORTED_TOOLSETS = "BORLANDC" "VC7" "VISUALC" "VISUALC16" "INTELC" "WATCOM"
-                               "MINGW" "LCC" ;
-
-    # this variable holds the current toolset
-    #
-    TOOLSET = "" ;
-
-    # if the JAM_TOOLSET environment variable is defined, check that it is
-    # one of our supported values
-    #
-    if $(JAM_TOOLSET)
-    {
-      local t ;
-
-      for t in $(SUPPORTED_TOOLSETS)
-      {
-        $(t) = $($(t):J=" ") ; # reconstitute paths with spaces in them
-        if $(t) = $(JAM_TOOLSET) { TOOLSET = $(t) ; }
-      }
-
-      if ! $(TOOLSET)
-      {
-        ECHO  "The JAM_TOOLSET environment variable is defined but its value" ;
-        ECHO  "is invalid, please use one of the following:" ;
-        ECHO  ;
-
-        for t in $(SUPPORTED_TOOLSETS) { ECHO "  " $(t) ; }
-        EXIT ;
-      }
-    }
-
-    # if TOOLSET is empty, we'll try to detect the toolset from other
-    # environment variables to remain backwards compatible with Jam 2.3
-    #
-    if ! $(TOOLSET)
-    {
-      if $(BCCROOT)
-      {
-        TOOLSET  = BORLANDC ;
-        BORLANDC = $(BCCROOT:J=" ") ;
-      }
-      else if $(MSVC)
-      {
-        TOOLSET   = VISUALC16 ;
-        VISUALC16 = $(MSVC:J=" ") ;
-      }
-      else if $(MSVCNT)
-      {
-        TOOLSET = VISUALC ;
-        VISUALC = $(MSVCNT:J=" ") ;
-      }
-      else if $(MSVCDir)
-      {
-        TOOLSET = VISUALC ;
-        VISUALC = $(MSVCDir:J=" ") ;
-      }
-      else if $(MINGW)
-      {
-        TOOLSET = MINGW ;
-      }
-      else
-      {
-        ECHO  "Jam cannot be run because, either:" ;
-        ECHO  "   a. You didn't set BOOST_ROOT to indicate the root of your" ;
-        ECHO  "      Boost installation." ;
-        ECHO  "   b. You are trying to use stock Jam but didn't indicate which" ;
-        ECHO  "      compilation toolset to use. To do so, follow these simple" ;
-        ECHO  "      instructions:" ;
-        ECHO  ;
-        ECHO  "  - define one of the following environment variable, with the" ;
-        ECHO  "    appropriate value according to this list:" ;
-        ECHO  ;
-        ECHO  "   Variable    Toolset                      Description" ;
-        ECHO  ;
-        ECHO  "   BORLANDC    Borland C++                  BC++ install path" ;
-        ECHO  "   VISUALC     Microsoft Visual C++         VC++ install path" ;
-        ECHO  "   VISUALC16   Microsoft Visual C++ 16 bit  VC++ 16 bit install" ;
-        ECHO  "   INTELC      Intel C/C++                  IC++ install path" ;
-        ECHO  "   WATCOM      Watcom C/C++                 Watcom install path" ;
-        ECHO  "   MINGW       MinGW (gcc)                  MinGW install path" ;
-        ECHO  "   LCC         Win32-LCC                    LCC-Win32 install path" ;
-        ECHO  ;
-        ECHO  "  - define the JAM_TOOLSET environment variable with the *name*" ;
-        ECHO  "    of the toolset variable you want to use." ;
-        ECHO  ;
-        ECHO  "  e.g.:  set VISUALC=C:\\Visual6" ;
-        ECHO  "         set JAM_TOOLSET=VISUALC" ;
-        EXIT  ;
-      }
-    }
-
-    CP          ?= copy ;
-    RM          ?= del /f/q ;
-    SLASH       ?= \\ ;
-    SUFLIB      ?= .lib ;
-    SUFOBJ      ?= .obj ;
-    SUFEXE      ?= .exe ;
-
-    if $(TOOLSET) = BORLANDC
-    {
-    ECHO "Compiler is Borland C++" ;
-
-    AR          ?= tlib /C /P64 ;
-    CC          ?= bcc32 ;
-    CCFLAGS     ?= -q -y -d -v -w-par -w-ccc -w-rch -w-pro -w-aus ;
-    C++         ?= bcc32 ;
-    C++FLAGS    ?= -q -y -d -v -w-par -w-ccc -w-rch -w-pro -w-aus -P ;
-    LINK        ?= $(CC) ;
-    LINKFLAGS   ?= $(CCFLAGS) ;
-    STDLIBPATH  ?= $(BORLANDC)\\lib ;
-    STDHDRS     ?= $(BORLANDC)\\include ;
-    NOARSCAN    ?= true ;
-    }
-    else if $(TOOLSET) = VISUALC16
-    {
-    ECHO "Compiler is Microsoft Visual C++ 16 bit" ;
-
-    AR          ?= lib /nologo ;
-    CC          ?= cl /nologo ;
-    CCFLAGS     ?= /D \"WIN\" ;
-    C++         ?= $(CC) ;
-    C++FLAGS    ?= $(CCFLAGS) ;
-    LINK        ?= $(CC) ;
-    LINKFLAGS   ?= $(CCFLAGS) ;
-    LINKLIBS    ?=
-                \"$(VISUALC16)\\lib\\mlibce.lib\"
-                \"$(VISUALC16)\\lib\\oldnames.lib\"
-                ;
-    LINKLIBS    ?= ;
-    NOARSCAN    ?= true ;
-    OPTIM       ?= "" ;
-    STDHDRS     ?= $(VISUALC16)\\include ;
-    UNDEFFLAG   ?= "/u _" ;
-    }
-    else if $(TOOLSET) = VISUALC
-    {
-    ECHO "Compiler is Microsoft Visual C++" ;
-
-    AR          ?= lib ;
-    AS          ?= masm386 ;
-    CC          ?= cl /nologo ;
-    CCFLAGS     ?= "" ;
-    C++         ?= $(CC) ;
-    C++FLAGS    ?= $(CCFLAGS) ;
-    LINK        ?= link /nologo ;
-    LINKFLAGS   ?= "" ;
-    LINKLIBS    ?= \"$(VISUALC)\\lib\\advapi32.lib\"
-                   # $(VISUALC)\\lib\\libc.lib
-                   # $(VISUALC)\\lib\\oldnames.lib
-                   \"$(VISUALC)\\lib\\gdi32.lib\"
-                   \"$(VISUALC)\\lib\\user32.lib\"
-                   \"$(VISUALC)\\lib\\kernel32.lib\" ;
-    OPTIM       ?= "" ;
-    STDHDRS     ?= $(VISUALC)\\include ;
-    UNDEFFLAG   ?= "/u _" ;
-    }
-    else if $(TOOLSET) = VC7
-    {
-    ECHO "Compiler is Microsoft Visual C++ .NET" ;
-
-    AR          ?= lib ;
-    AS          ?= masm386 ;
-    CC          ?= cl /nologo ;
-    CCFLAGS     ?= "" ;
-    C++         ?= $(CC) ;
-    C++FLAGS    ?= $(CCFLAGS) ;
-    LINK        ?= link /nologo ;
-    LINKFLAGS   ?= "" ;
-    LINKLIBS    ?= \"$(VISUALC)\\PlatformSDK\\lib\\advapi32.lib\"
-                   # $(VISUALC)\\lib\\libc.lib
-                   # $(VISUALC)\\lib\\oldnames.lib
-                   \"$(VISUALC)\\PlatformSDK\\lib\\gdi32.lib\"
-                   \"$(VISUALC)\\PlatformSDK\\lib\\user32.lib\"
-                   \"$(VISUALC)\\PlatformSDK\\lib\\kernel32.lib\" ;
-    OPTIM       ?= "" ;
-    STDHDRS     ?= \"$(VISUALC)\\include\"
-									 \"$(VISUALC)\\PlatformSDK\\include\" ;
-    UNDEFFLAG   ?= "/u _" ;
-    }
-    else if $(TOOLSET) = INTELC
-    {
-    ECHO "Compiler is Intel C/C++" ;
-
-        if ! $(VISUALC)
-        {
-          ECHO "As a special exception, when using the Intel C++ compiler, you need" ;
-          ECHO "to define the VISUALC environment variable to indicate the location" ;
-          ECHO "of your Visual C++ installation. Aborting.." ;
-          EXIT ;
-        }
-
-    AR          ?= lib ;
-    AS          ?= masm386 ;
-    CC          ?= icl /nologo ;
-    CCFLAGS     ?= "" ;
-    C++         ?= $(CC) ;
-    C++FLAGS    ?= $(CCFLAGS) ;
-    LINK        ?= link /nologo ;
-    LINKFLAGS   ?= "" ;
-    LINKLIBS    ?= $(VISUALC)\\lib\\advapi32.lib
-                   # $(VISUALC)\\lib\\libc.lib
-                   # $(VISUALC)\\lib\\oldnames.lib
-                   $(VISUALC)\\lib\\kernel32.lib
-                   ;
-    OPTIM       ?= "" ;
-    STDHDRS     ?= $(INTELC)\include $(VISUALC)\\include ;
-    UNDEFFLAG   ?= "/u _" ;
-    }
-    else if $(TOOLSET) = WATCOM
-    {
-        ECHO "Compiler is Watcom C/C++" ;
-
-    AR          ?= wlib ;
-    CC          ?= wcc386 ;
-    CCFLAGS     ?= /zq /DWIN32 /I$(WATCOM)\\h ; # zq=quiet
-    C++         ?= wpp386 ;
-    C++FLAGS    ?= $(CCFLAGS) ;
-    CP          ?= copy ;
-    DOT         ?= . ;
-    DOTDOT      ?= .. ;
-    LINK        ?= wcl386 ;
-    LINKFLAGS   ?= /zq ; # zq=quiet
-    LINKLIBS    ?= ;
-    MV          ?= move ;
-    NOARSCAN    ?= true ;
-    OPTIM       ?= ;
-    RM          ?= del /f ;
-    SLASH       ?= \\ ;
-    STDHDRS     ?= $(WATCOM)\\h $(WATCOM)\\h\\nt ;
-    SUFEXE      ?= .exe ;
-    SUFLIB      ?= .lib ;
-    SUFOBJ      ?= .obj ;
-    UNDEFFLAG   ?= "/u _" ;
-    }
-    else if $(TOOLSET) = MINGW
-    {
-        ECHO "Compiler is GCC with Mingw" ;
-
-        AR              ?= ar -ru ;
-        CC              ?= gcc ;
-        CCFLAGS         ?= "" ;
-        C++             ?= $(CC) ;
-        C++FLAGS        ?= $(CCFLAGS) ;
-        LINK            ?= $(CC) ;
-        LINKFLAGS       ?= "" ;
-        LINKLIBS        ?= "" ;
-        OPTIM           ?= ;
-        SUFOBJ           = .o ;
-        SUFLIB           = .a ;
-        SLASH            = / ;
-#       NOARSCAN        ?= true ;
-    }
-    else if $(TOOLSET) = LCC
-    {
-        ECHO "Compiler is Win32-LCC" ;
-
-        AR              ?= lcclib ;
-        CC              ?= lcc ;
-        CCFLAGS         ?= "" ;
-        C++             ?= $(CC) ;
-        C++FLAGS        ?= $(CCFLAGS) ;
-        LINK            ?= lcclnk ;
-        LINKFLAGS       ?= "" ;
-        LINKLIBS        ?= "" ;
-        OPTIM           ?= ;
-        NOARSCAN         = true ;
-    }
-    else
-    {
-#
-# XXX: We need better comments here !!
-#
-    EXIT On NT, set BCCROOT, MSVCNT, MINGW or MSVC to the root of the
-        Borland or Microsoft directories. ;
-    }
-
-}
-else if $(OS2)
-{
-    # the list of supported toolsets on Windows NT and Windows 95/98
-    #
-    local SUPPORTED_TOOLSETS = "EMX" "WATCOM" ;
-
-    # this variable holds the current toolset
-    #
-    TOOLSET = "" ;
-
-    # if the JAM_TOOLSET environment variable is defined, check that it is
-    # one of our supported values
-    #
-    if $(JAM_TOOLSET)
-    {
-      local t ;
-
-      for t in $(SUPPORTED_TOOLSETS)
-      {
-        $(t) = $($(t):J=" ") ; # reconstitute paths with spaces in them
-        if $(t) = $(JAM_TOOLSET) { TOOLSET = $(t) ; }
-      }
-
-      if ! $(TOOLSET)
-      {
-        ECHO  "The JAM_TOOLSET environment variable is defined but its value" ;
-        ECHO  "is invalid, please use one of the following:" ;
-        ECHO  ;
-
-        for t in $(SUPPORTED_TOOLSETS) { ECHO "  " $(t) ; }
-        EXIT ;
-      }
-    }
-
-    # if TOOLSET is empty, we'll try to detect the toolset from other
-    # environment variables to remain backwards compatible with Jam 2.3
-    #
-    if ! $(TOOLSET)
-    {
-      if $(watcom)
-      {
-        WATCOM   = $(watcom:J=" ") ;
-        TOOLSET  = WATCOM ;
-      }
-      else
-      {
-        ECHO  "Jam cannot be run because you didn't indicate which compilation toolset" ;
-        ECHO  "to use. To do so, follow these simple instructions:" ;
-        ECHO  ;
-        ECHO  "  - define one of the following environment variable, with the" ;
-        ECHO  "    appropriate value according to this list:" ;
-        ECHO  ;
-        ECHO  "   Variable    Toolset                      Description" ;
-        ECHO  ;
-        ECHO  "   WATCOM      Watcom C/C++                 Watcom install path" ;
-        ECHO  "   EMX         EMX (gcc)                    EMX install path" ;
-        ECHO  "   VISUALAGE   IBM Visual Age C/C++         VisualAge install path" ;
-        ECHO  ;
-        ECHO  "  - define the JAM_TOOLSET environment variable with the *name*" ;
-        ECHO  "    of the toolset variable you want to use." ;
-        ECHO  ;
-        ECHO  "  e.g.:  set WATCOM=C:\WATCOM" ;
-        ECHO  "         set JAM_TOOLSET=WATCOM" ;
-        ECHO  ;
-        EXIT  ;
-      }
-    }
-
-    RM       = del /f ;
-    CP       = copy ;
-    MV      ?= move ;
-    DOT     ?= . ;
-    DOTDOT  ?= .. ;
-    SUFLIB  ?= .lib ;
-    SUFOBJ  ?= .obj ;
-    SUFEXE  ?= .exe ;
-
-    if $(TOOLSET) = WATCOM
-    {
-       AR           ?= wlib ;
-       BINDIR       ?= \\os2\\apps ;
-       CC           ?= wcc386 ;
-       CCFLAGS      ?= /zq /DOS2 /I$(WATCOM)\\h ; # zq=quiet
-       C++          ?= wpp386 ;
-       C++FLAGS     ?= $(CCFLAGS) ;
-       LINK         ?= wcl386 ;
-       LINKFLAGS    ?= /zq ; # zq=quiet
-       LINKLIBS     ?= ;
-       NOARSCAN     ?= true ;
-       OPTIM        ?= ;
-       SLASH        ?= \\ ;
-       STDHDRS      ?= $(WATCOM)\\h ;
-       UNDEFFLAG    ?= "/u _" ;
-    }
-    else if $(TOOLSET) = EMX
-    {
-      ECHO "Compiler is GCC-EMX" ;
-      AR            ?= ar -ru ;
-      CC            ?= gcc ;
-      CCFLAGS       ?= "" ;
-      C++           ?= $(CC) ;
-      C++FLAGS      ?= $(CCFLAGS) ;
-      LINK          ?= $(CC) ;
-      LINKFLAGS     ?= "" ;
-      LINKLIBS      ?= "" ;
-      OPTIM         ?= ;
-      SUFOBJ         = .o ;
-      SUFLIB         = .a ;
-      UNDEFFLAG     ?= "-U" ;
-      SLASH          = / ;
-#     NOARSCAN      ?= true ;
-    }
-    else
-    {
-      # should never happen
-      EXIT  "Sorry, but the $(JAM_TOOLSET) toolset isn't supported for now" ;
-    }
-}
-else if $(VMS)
-{
-    C++         ?= cxx ;
-    C++FLAGS    ?= ;
-    CC          ?= cc ;
-    CCFLAGS     ?= ;
-    CHMOD       ?= set file/prot= ;
-    CP          ?= copy/replace ;
-    CRELIB      ?= true ;
-    DOT         ?= [] ;
-    DOTDOT      ?= [-] ;
-    EXEMODE     ?= (w:e) ;
-    FILEMODE    ?= (w:r) ;
-    HDRS        ?= ;
-    LINK        ?= link ;
-    LINKFLAGS   ?= "" ;
-    LINKLIBS    ?= ;
-    MKDIR       ?= create/dir ;
-    MV          ?= rename ;
-    OPTIM       ?= "" ;
-    RM          ?= delete ;
-    RUNVMS      ?= mcr ;
-    SHELLMODE   ?= (w:er) ;
-    SLASH       ?= . ;
-    STDHDRS     ?= decc$library_include ;
-    SUFEXE      ?= .exe ;
-    SUFLIB      ?= .olb ;
-    SUFOBJ      ?= .obj ;
-
-    switch $(OS)
-    {
-    case OPENVMS : CCFLAGS  ?= /stand=vaxc ;
-    case VMS     : LINKLIBS ?= sys$library:vaxcrtl.olb/lib ;
-    }
-}
-else if $(MAC)
-{
-    local OPT ;
-
-    CW  ?= "{CW}" ;
-
-    MACHDRS ?=
-        "$(UMACHDRS):Universal:Interfaces:CIncludes"
-        "$(CW):MSL:MSL_C:MSL_Common:Include"
-        "$(CW):MSL:MSL_C:MSL_MacOS:Include" ;
-
-    MACLIBS ?=
-        "$(CW):MacOS Support:Universal:Libraries:StubLibraries:Interfacelib"
-        "$(CW):MacOS Support:Universal:Libraries:StubLibraries:Mathlib" ;
-
-    MPWLIBS ?=
-        "$(CW):MacOS Support:Libraries:Runtime:Runtime PPC:MSL MPWCRuntime.lib"
-        "$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL C.PPC MPW.Lib" ;
-
-    MPWNLLIBS ?=
-        "$(CW):MacOS Support:Libraries:Runtime:Runtime PPC:MSL MPWCRuntime.lib"
-        "$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL C.PPC MPW(NL).Lib" ;
-
-    SIOUXHDRS ?= ;
-
-    SIOUXLIBS ?=
-        "$(CW):MacOS Support:Libraries:Runtime:Runtime PPC:MSL RuntimePPC.lib"
-        "$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL SIOUX.PPC.Lib"
-        "$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL C.PPC.Lib" ;
-
-    C++         ?= mwcppc ;
-    C++FLAGS    ?= -w off -nomapcr ;
-    CC          ?= mwcppc ;
-    CCFLAGS     ?= -w off -nomapcr ;
-    CP          ?= duplicate -y ;
-    DOT         ?= ":" ;
-    DOTDOT      ?= "::" ;
-    HDRS        ?= $(MACHDRS) $(MPWHDRS) ;
-    LINK        ?= mwlinkppc ;
-    LINKFLAGS   ?= -mpwtool -warn ;
-    LINKLIBS    ?= $(MACLIBS) $(MPWLIBS) ;
-    MKDIR       ?= newfolder ;
-    MV          ?= rename -y ;
-    NOARSCAN    ?= true ;
-    OPTIM       ?= ;
-    RM          ?= delete -y ;
-    SLASH       ?= ":" ;
-    STDHDRS     ?= ;
-    SUFLIB      ?= .lib ;
-    SUFOBJ      ?= .o ;
-}
-else if $(OS) = BEOS && $(METROWERKS)
-{
-    AR          ?= mwld -xml -o ;
-    BINDIR      ?= /boot/apps ;
-    CC          ?= mwcc ;
-    CCFLAGS     ?= -nosyspath ;
-    C++         ?= $(CC) ;
-    C++FLAGS    ?= -nosyspath ;
-    FORTRAN     ?= "" ;
-    LIBDIR      ?= /boot/develop/libraries ;
-    LINK        ?= mwld ;
-    LINKFLAGS   ?= "" ;
-    MANDIR      ?= /boot/documentation/"Shell Tools"/HTML ;
-    NOARSCAN    ?= true ;
-    STDHDRS     ?= /boot/develop/headers/posix ;
-}
-else if $(OS) = BEOS
-{
-    BINDIR      ?= /boot/apps ;
-    CC          ?= gcc ;
-    C++         ?= $(CC) ;
-    FORTRAN     ?= "" ;
-    LIBDIR      ?= /boot/develop/libraries ;
-    LINK        ?= gcc ;
-    LINKLIBS    ?= -lnet ;
-    NOARSCAN    ?= true ;
-    STDHDRS     ?= /boot/develop/headers/posix ;
-}
-else if $(UNIX)
-{
-    switch $(OS)
-    {
-    case AIX :
-    LINKLIBS    ?= -lbsd ;
-
-    case AMIGA :
-    CC          ?= gcc ;
-    YACC        ?= "bison -y" ;
-
-    case CYGWIN :
-    CC          ?= gcc ;
-    CCFLAGS     += -D__cygwin__ ;
-    LEX         ?= flex ;
-    RANLIB      ?= "" ;
-    SUFEXE      ?= .exe ;
-    YACC        ?= "bison -y" ;
-
-    case DGUX :
-    RANLIB      ?= "" ;
-    RELOCATE    ?= true ;
-
-    case HPUX :
-    YACC        = ;
-    CFLAGS      += -Ae ;
-    CCFLAGS     += -Ae ;
-    RANLIB      ?= "" ;
-
-    case INTERIX :
-    CC          ?= gcc ;
-    RANLIB      ?= "" ;
-
-    case IRIX :
-    RANLIB      ?= "" ;
-
-    case MPEIX :
-    CC          ?= gcc ;
-    C++         ?= gcc ;
-    CCFLAGS     += -D_POSIX_SOURCE ;
-    HDRS        += /usr/include ;
-    RANLIB      ?= "" ;
-    NOARSCAN    ?= true ;
-    NOARUPDATE  ?= true ;
-
-    case MVS :
-    RANLIB      ?= "" ;
-
-    case NEXT :
-    AR          ?= libtool -o ;
-    RANLIB      ?= "" ;
-
-    case MACOSX :
-    AR          ?= libtool -o ;
-    C++         ?= c++ ;
-    MANDIR      ?= /usr/local/share/man ;
-    RANLIB      ?= "" ;
-
-    case NCR :
-    RANLIB      ?= "" ;
-
-    case PTX :
-    RANLIB      ?= "" ;
-
-    case QNX :
-    AR          ?= wlib ;
-    CC          ?= cc ;
-    CCFLAGS     ?= -Q ; # quiet
-    C++         ?= $(CC) ;
-    C++FLAGS    ?= -Q ; # quiet
-    LINK        ?= $(CC) ;
-    LINKFLAGS   ?= -Q ; # quiet
-    NOARSCAN    ?= true ;
-    RANLIB      ?= "" ;
-
-    case SCO :
-    RANLIB      ?= "" ;
-    RELOCATE    ?= true ;
-
-    case SINIX :
-    RANLIB      ?= "" ;
-
-    case SOLARIS :
-    RANLIB      ?= "" ;
-    AR          ?= "/usr/ccs/bin/ar ru" ;
-
-    case UNICOS :
-    NOARSCAN    ?= true ;
-    OPTIM       ?= -O0 ;
-
-    case UNIXWARE :
-    RANLIB      ?= "" ;
-    RELOCATE    ?= true ;
-    }
-
-    # UNIX defaults
-
-    CCFLAGS     ?= ;
-    C++FLAGS    ?= $(CCFLAGS) ;
-    CHMOD       ?= chmod ;
-    CHGRP       ?= chgrp ;
-    CHOWN       ?= chown ;
-    LEX         ?= lex ;
-    LINKFLAGS   ?= $(CCFLAGS) ;
-    LINKLIBS    ?= ;
-    OPTIM       ?= -O ;
-    RANLIB      ?= ranlib ;
-    YACC        ?= yacc ;
-    YACCFILES   ?= y.tab ;
-    YACCFLAGS   ?= -d ;
-}
-
-#
-# General defaults; a lot like UNIX
-#
-
-    AR          ?= ar ru ;
-    AS          ?= as ;
-    ASFLAGS     ?= ;
-    AWK         ?= awk ;
-    BINDIR      ?= /usr/local/bin ;
-    C++         ?= cc ;
-    C++FLAGS    ?= ;
-    CC          ?= cc ;
-    CCFLAGS     ?= ;
-    CP          ?= cp -f ;
-    CRELIB      ?= ;
-    DOT         ?= . ;
-    DOTDOT      ?= .. ;
-    EXEMODE     ?= 711 ;
-    FILEMODE    ?= 644 ;
-    FORTRAN     ?= f77 ;
-    FORTRANFLAGS ?= ;
-    HDRS        ?= ;
-    INSTALLGRIST ?= installed ;
-    JAMFILE     ?= Jamfile ;
-    JAMRULES    ?= Jamrules ;
-    LEX         ?= ;
-    LIBDIR      ?= /usr/local/lib ;
-    LINK        ?= $(CC) ;
-    LINKFLAGS   ?= ;
-    LINKLIBS    ?= ;
-    LN          ?= ln ;
-    MANDIR      ?= /usr/local/man ;
-    MKDIR       ?= mkdir ;
-    MV          ?= mv -f ;
-    OPTIM       ?= ;
-    RCP         ?= rcp ;
-    RM          ?= rm -f ;
-    RSH         ?= rsh ;
-    SED         ?= sed ;
-    SHELLHEADER ?= "#!/bin/sh" ;
-    SHELLMODE   ?= 755 ;
-    SLASH       ?= / ;
-    STDHDRS     ?= /usr/include ;
-    SUFEXE      ?= "" ;
-    SUFLIB      ?= .a ;
-    SUFOBJ      ?= .o ;
-    UNDEFFLAG   ?= "-u _" ;
-    YACC        ?= ;
-    YACCFILES   ?= ;
-    YACCFLAGS   ?= ;
-
-    HDRPATTERN =
-            "^[     ]*#[    ]*include[  ]*[<\"]([^\">]*)[\">].*$" ;
-
-    OSFULL = $(OS)$(OSVER)$(OSPLAT) $(OS)$(OSPLAT) $(OS)$(OSVER) $(OS) ;
-
-
-#
-# Base dependencies - first for "bootstrap" kinds of rules
-#
-
-DEPENDS all : shell files lib exe obj ;
-DEPENDS all shell files lib exe obj : first ;
-NOTFILE all first shell files lib exe obj dirs clean uninstall ;
-ALWAYS clean uninstall ;
-
-#
-# Rules
-#
-
-rule As
-{
-    DEPENDS $(<) : $(>) ;
-    ASFLAGS on $(<) += $(ASFLAGS) $(SUBDIRASFLAGS) ;
-}
-
-rule Bulk
-{
-    local i ;
-
-    for i in $(>)
-    {
-        File $(i:D=$(<)) : $(i) ;
-    }
-}
-
-rule Cc
-{
-    local _h ;
-
-    DEPENDS $(<) : $(>) ;
-
-    # Just to clarify here: this sets the per-target CCFLAGS to
-    # be the current value of (global) CCFLAGS and SUBDIRCCFLAGS.
-
-    CCFLAGS on $(<) += $(CCFLAGS) $(SUBDIRCCFLAGS) ;
-
-    # If the compiler's -o flag doesn't work, relocate the .o
-
-    if $(RELOCATE)
-    {
-        CcMv $(<) : $(>) ;
-    }
-
-    _h = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;
-
-    if $(VMS) && $(_h)
-    {
-        SLASHINC on $(<) = "/inc=(" $(_h[1]) ,$(_h[2-]) ")" ;
-    }
-    else if $(MAC) && $(_h)
-    {
-        local _i _j ;
-        _j = $(_h[1]) ;
-        for _i in $(_h[2-])
-        {
-            _j = $(_j),$(_i) ;
-        }
-        MACINC on $(<) = \"$(_j)\" ;
-    }
-}
-
-rule C++
-{
-    local _h ;
-
-    DEPENDS $(<) : $(>) ;
-    C++FLAGS on $(<) += $(C++FLAGS) $(SUBDIRC++FLAGS) ;
-
-    if $(RELOCATE)
-    {
-        CcMv $(<) : $(>) ;
-    }
-
-    _h = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;
-
-    if $(VMS) && $(_h)
-    {
-        SLASHINC on $(<) = "/inc=(" $(_h[1]) ,$(_h[2-]) ")" ;
-    }
-    else if $(MAC) && $(_h)
-    {
-        local _i _j ;
-        _j = $(_h[1]) ;
-        for _i in $(_h[2-])
-        {
-            _j = $(_j),$(_i) ;
-        }
-        MACINC on $(<) = \"$(_j)\" ;
-    }
-}
-
-rule Chmod
-{
-    if $(CHMOD) { Chmod1 $(<) ; }
-}
-
-rule File
-{
-    DEPENDS files : $(<) ;
-    DEPENDS $(<) : $(>) ;
-    SEARCH on $(>) = $(SEARCH_SOURCE) ;
-    MODE on $(<) = $(FILEMODE) ;
-    Chmod $(<) ;
-}
-
-rule Fortran
-{
-    DEPENDS $(<) : $(>) ;
-}
-
-rule GenFile
-{
-    local _t = [ FGristSourceFiles $(<) ] ;
-    local _s = [ FAppendSuffix $(>[1]) : $(SUFEXE) ] ;
-    Depends $(_t) : $(_s) $(>[2-]) ;
-    GenFile1 $(_t) : $(_s) $(>[2-]) ;
-    Clean clean : $(_t) ;
-}
-
-rule GenFile1
-{
-    MakeLocate $(<) : $(LOCATE_SOURCE) ;
-    SEARCH on $(>) = $(SEARCH_SOURCE) ;
-}
-
-rule HardLink
-{
-    DEPENDS files : $(<) ;
-    DEPENDS $(<) : $(>) ;
-    SEARCH on $(>) = $(SEARCH_SOURCE) ;
-}
-
-rule HdrMacroFile
-{
-  # HdrMacroFile file ;
-  #
-  # this rule is used to indicate that a given file contains definitions
-  # for filename macros (e.g. "#define  MYFILE_H <myfile.h>") that can
-  # later be used in #include statements in the rest of the source
-  #
-  # theses files must be parsed before any make is tried..
-  #
-  HDRMACRO $(<) ;
-}
-
-rule HdrRule
-{
-    # HdrRule source : headers ;
-
-    # N.B.  This rule is called during binding, potentially after
-    # the fate of many targets has been determined, and must be
-    # used with caution: don't add dependencies to unrelated
-    # targets, and don't set variables on $(<).
-
-    # Tell Jam that anything depending on $(<) also depends on $(>),
-    # set SEARCH so Jam can find the headers, but then say we don't
-    # care if we can't actually find the headers (they may have been
-    # within ifdefs),
-
-    local s ;
-
-    if $(HDRGRIST)
-    {
-        s = $(>:G=$(HDRGRIST)) ;
-    } else {
-        s = $(>) ;
-    }
-
-    INCLUDES $(<) : $(s) ;
-    SEARCH on $(s) = $(HDRSEARCH) ;
-    NOCARE $(s) ;
-
-    # Propagate on $(<) to $(>)
-
-    HDRSEARCH on $(s) = $(HDRSEARCH) ;
-    HDRSCAN on $(s) = $(HDRSCAN) ;
-    HDRRULE on $(s) = $(HDRRULE) ;
-    HDRGRIST on $(s) = $(HDRGRIST) ;
-}
-
-rule InstallInto
-{
-    # InstallInto dir : sources ;
-
-    local i t ;
-
-    t = $(>:G=$(INSTALLGRIST)) ;
-
-    # Arrange for jam install
-    # Arrange for jam uninstall
-    # sources are in SEARCH_SOURCE
-    # targets are in dir
-
-    Depends install : $(t) ;
-    Clean uninstall : $(t) ;
-    SEARCH on $(>) = $(SEARCH_SOURCE) ;
-    MakeLocate $(t) : $(<) ;
-
-    # For each source, make gristed target name
-    # and Install, Chmod, Chown, and Chgrp
-
-    for i in $(>)
-    {
-        local tt = $(i:G=$(INSTALLGRIST)) ;
-
-        Depends $(tt) : $(i) ;
-        Install $(tt) : $(i) ;
-        Chmod $(tt) ;
-
-        if $(OWNER) && $(CHOWN)
-        {
-        Chown $(tt) ;
-        OWNER on $(tt) = $(OWNER) ;
-        }
-
-        if $(GROUP) && $(CHGRP)
-        {
-        Chgrp $(tt) ;
-        GROUP on $(tt) = $(GROUP) ;
-        }
-    }
-}
-
-rule InstallBin
-{
-    local _t = [ FAppendSuffix $(>) : $(SUFEXE) ] ;
-
-    InstallInto $(<) : $(_t) ;
-    MODE on $(_t:G=installed) = $(EXEMODE) ;
-}
-
-rule InstallFile
-{
-    InstallInto $(<) : $(>) ;
-    MODE on $(>:G=installed) = $(FILEMODE) ;
-}
-
-rule InstallLib
-{
-    InstallInto $(<) : $(>) ;
-    MODE on $(>:G=installed) = $(FILEMODE) ;
-}
-
-rule InstallMan
-{
-    # Really this just strips the . from the suffix
-
-    local i s d ;
-
-    for i in $(>)
-    {
-        switch $(i:S)
-        {
-        case .1 : s = 1 ; case .2 : s = 2 ; case .3 : s = 3 ;
-        case .4 : s = 4 ; case .5 : s = 5 ; case .6 : s = 6 ;
-        case .7 : s = 7 ; case .8 : s = 8 ; case .l : s = l ;
-        case .n : s = n ; case .man : s = 1 ;
-        }
-
-        d = man$(s) ;
-
-        InstallInto $(d:R=$(<)) : $(i) ;
-    }
-
-    MODE on $(>:G=installed) = $(FILEMODE) ;
-}
-
-rule InstallShell
-{
-    InstallInto $(<) : $(>) ;
-    MODE on $(>:G=installed) = $(SHELLMODE) ;
-}
-
-rule Lex
-{
-    LexMv $(<) : $(>) ;
-    DEPENDS $(<) : $(>) ;
-    MakeLocate $(<) : $(LOCATE_SOURCE) ;
-    Clean clean : $(<) ;
-}
-
-rule Library
-{
-    LibraryFromObjects $(<) : $(>:S=$(SUFOBJ)) ;
-    Objects $(>) ;
-}
-
-rule LibraryFromObjects
-{
-    local _i _l _s ;
-
-    # Add grist to file names
-
-    _s = [ FGristFiles $(>) ] ;
-    _l = $(<:S=$(SUFLIB)) ;
-
-    # library depends on its member objects
-
-    if $(KEEPOBJS)
-    {
-        DEPENDS obj : $(_s) ;
-    }
-    else
-    {
-        DEPENDS lib : $(_l) ;
-    }
-
-    # Set LOCATE for the library and its contents.  The bound
-    # value shows up as $(NEEDLIBS) on the Link actions.
-    # For compatibility, we only do this if the library doesn't
-    # already have a path.
-
-    if ! $(_l:D)
-    {
-        MakeLocate $(_l) $(_l)($(_s:BS)) : $(LOCATE_TARGET) ;
-    }
-
-    if $(NOARSCAN)
-    {
-        # If we can't scan the library to timestamp its contents,
-        # we have to just make the library depend directly on the
-        # on-disk object files.
-
-        DEPENDS $(_l) : $(_s) ;
-    }
-    else
-    {
-        # If we can scan the library, we make the library depend
-        # on its members and each member depend on the on-disk
-        # object file.
-
-        DEPENDS $(_l) : $(_l)($(_s:BS)) ;
-
-        for _i in $(_s)
-        {
-        DEPENDS $(_l)($(_i:BS)) : $(_i) ;
-        }
-    }
-
-    Clean clean : $(_l) ;
-
-    if $(CRELIB) { CreLib $(_l) : $(_s[1]) ; }
-
-    Archive $(_l) : $(_s) ;
-
-    if $(RANLIB) { Ranlib $(_l) ; }
-
-    # If we can't scan the library, we have to leave the .o's around.
-
-    if ! ( $(NOARSCAN) || $(KEEPOBJS) ) { RmTemps $(_l) : $(_s) ; }
-}
-
-rule Link
-{
-    MODE on $(<) = $(EXEMODE) ;
-    Chmod $(<) ;
-}
-
-rule LinkLibraries
-{
-    # make library dependencies of target
-    # set NEEDLIBS variable used by 'actions Main'
-
-    local _t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;
-
-    DEPENDS $(_t) : $(>:S=$(SUFLIB)) ;
-    NEEDLIBS on $(_t) += $(>:S=$(SUFLIB)) ;
-}
-
-rule Main
-{
-    MainFromObjects $(<) : $(>:S=$(SUFOBJ)) ;
-    Objects $(>) ;
-}
-
-rule MainFromObjects
-{
-    local _s _t ;
-
-    # Add grist to file names
-    # Add suffix to exe
-
-    _s = [ FGristFiles $(>) ] ;
-    _t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;
-
-    if $(_t) != $(<)
-    {
-        DEPENDS $(<) : $(_t) ;
-        NOTFILE $(<) ;
-    }
-
-    # make compiled sources a dependency of target
-
-    DEPENDS exe : $(_t) ;
-    DEPENDS $(_t) : $(_s) ;
-    MakeLocate $(_t) : $(LOCATE_TARGET) ;
-
-    Clean clean : $(_t) ;
-
-    Link $(_t) : $(_s) ;
-}
-
-rule MakeLocate
-{
-    if $(>)
-    {
-        LOCATE on $(<) = $(>) ;
-        Depends $(<) : $(>[1]) ;
-        MkDir $(>[1]) ;
-    }
-}
-
-rule MkDir
-{
-    # If dir exists, don't update it
-    # Do this even for $(DOT).
-
-    NOUPDATE $(<) ;
-
-    if $(<) != $(DOT) && ! $($(<)-mkdir)
-    {
-        local s ;
-
-        # Cheesy gate to prevent multiple invocations on same dir
-        # MkDir1 has the actions
-        # Arrange for jam dirs
-
-        $(<)-mkdir = true ;
-        MkDir1 $(<) ;
-        Depends dirs : $(<) ;
-
-        # Recursively make parent directories.
-        # $(<:P) = $(<)'s parent, & we recurse until root
-
-        s = $(<:P) ;
-
-        if $(NT)
-        {
-            switch $(s)
-        {
-        case *:   : s = ;
-        case *:\\ : s = ;
-        }
-        }
-
-        if $(s) && $(s) != $(<)
-        {
-        Depends $(<) : $(s) ;
-        MkDir $(s) ;
-        }
-        else if $(s)
-        {
-            NOTFILE $(s) ;
-        }
-
-    }
-}
-
-rule Object
-{
-    local h ;
-
-    # locate object and search for source, if wanted
-
-    Clean clean : $(<) ;
-
-    MakeLocate $(<) : $(LOCATE_TARGET) ;
-    SEARCH on $(>) = $(SEARCH_SOURCE) ;
-
-    # Save HDRS for -I$(HDRS) on compile.
-    # We shouldn't need -I$(SEARCH_SOURCE) as cc can find headers
-    # in the .c file's directory, but generated .c files (from
-    # yacc, lex, etc) are located in $(LOCATE_TARGET), possibly
-    # different from $(SEARCH_SOURCE).
-
-    HDRS on $(<) = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;
-
-    # handle #includes for source: Jam scans for headers with
-    # the regexp pattern $(HDRSCAN) and then invokes $(HDRRULE)
-    # with the scanned file as the target and the found headers
-    # as the sources.  HDRSEARCH is the value of SEARCH used for
-    # the found header files.  Finally, if jam must deal with
-    # header files of the same name in different directories,
-    # they can be distinguished with HDRGRIST.
-
-    # $(h) is where cc first looks for #include "foo.h" files.
-    # If the source file is in a distant directory, look there.
-    # Else, look in "" (the current directory).
-
-    if $(SEARCH_SOURCE)
-    {
-        h = $(SEARCH_SOURCE) ;
-    }
-    else
-    {
-        h = "" ;
-    }
-
-    HDRRULE on $(>) = HdrRule ;
-    HDRSCAN on $(>) = $(HDRPATTERN) ;
-    HDRSEARCH on $(>) = $(HDRS) $(SUBDIRHDRS) $(h) $(STDHDRS) ;
-    HDRGRIST on $(>) = $(HDRGRIST) ;
-
-    # if source is not .c, generate .c with specific rule
-
-    switch $(>:S)
-    {
-        case .asm : As $(<) : $(>) ;
-        case .c :   Cc $(<) : $(>) ;
-        case .C :   C++ $(<) : $(>) ;
-        case .cc :  C++ $(<) : $(>) ;
-        case .cpp : C++ $(<) : $(>) ;
-        case .f :   Fortran $(<) : $(>) ;
-        case .l :   Cc $(<) : $(<:S=.c) ;
-                    Lex $(<:S=.c) : $(>) ;
-        case .s :   As $(<) : $(>) ;
-        case .y :   Cc $(<) : $(<:S=.c) ;
-                    Yacc $(<:S=.c) : $(>) ;
-        case * :    UserObject $(<) : $(>) ;
-    }
-}
-
-
-rule ObjectCcFlags
-{
-    CCFLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;
-}
-
-rule ObjectC++Flags
-{
-    C++FLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;
-}
-
-rule ObjectHdrs
-{
-    HDRS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;
-}
-
-rule Objects
-{
-    local _i ;
-
-    for _i in [ FGristFiles $(<) ]
-    {
-        Object $(_i:S=$(SUFOBJ)) : $(_i) ;
-        DEPENDS obj : $(_i:S=$(SUFOBJ)) ;
-    }
-}
-
-rule RmTemps
-{
-    TEMPORARY $(>) ;
-}
-
-rule Setuid
-{
-    MODE on [ FAppendSuffix $(<) : $(SUFEXE) ] = 4711 ;
-}
-
-rule Shell
-{
-    DEPENDS shell : $(<) ;
-    DEPENDS $(<) : $(>) ;
-    SEARCH on $(>) = $(SEARCH_SOURCE) ;
-    MODE on $(<) = $(SHELLMODE) ;
-    Clean clean : $(<) ;
-    Chmod $(<) ;
-}
-
-rule SubDir
-{
-    local _r _s ;
-
-    #
-    # SubDir TOP d1 [ ... ]
-    #
-    # This introduces a Jamfile that is part of a project tree
-    # rooted at $(TOP).  It (only once) includes the project-specific
-    # rules file $(TOP)/Jamrules and then sets search & locate stuff.
-    #
-    # If the variable $(TOPRULES) is set (where TOP is the first arg
-    # to SubDir), that file is included instead of $(TOP)/Jamrules.
-    #
-    # d1 ... are the directory elements that lead to this directory
-    # from $(TOP).  We construct the system dependent path from these
-    # directory elements in order to set search & locate stuff.
-    #
-
-    if ! $($(<[1]))
-    {
-        if ! $(<[1])
-        {
-            EXIT SubDir syntax error ;
-        }
-
-        $(<[1]) = [ FSubDir $(<[2-]) ] ;
-    }
-
-    #
-    # If $(TOP)/Jamrules hasn't been included, do so.
-    #
-
-    if ! $($(<[1])-included)
-    {
-        # Gated entry.
-
-        $(<[1])-included = TRUE ;
-
-        # File is $(TOPRULES) or $(TOP)/Jamrules.
-
-        _r = $($(<[1])RULES) ;
-
-        if ! $(_r)
-        {
-        _r = $(JAMRULES:R=$($(<[1]))) ;
-        }
-
-        # Include it.
-
-        include $(_r) ;
-    }
-
-    # Get path to current directory from root using SubDir.
-    # Save dir tokens for other potential uses.
-
-    _s = [ FDirName $(<[2-]) ] ;
-    SUBDIR = $(_s:R=$($(<[1]))) ;
-        SUBDIR_TOKENS = $(<[2-]) ;
-
-    # Now set up SEARCH_SOURCE, LOCATE_TARGET, SOURCE_GRIST
-    # These can be reset if needed.  For example, if the source
-    # directory should not hold object files, LOCATE_TARGET can
-    # subsequently be redefined.
-
-    SEARCH_SOURCE = $(SUBDIR) ;
-    LOCATE_SOURCE = $(ALL_LOCATE_TARGET) $(SUBDIR) ;
-    LOCATE_TARGET = $(ALL_LOCATE_TARGET) $(SUBDIR) ;
-    SOURCE_GRIST = [ FGrist $(<[2-]) ] ;
-
-    # Reset per-directory ccflags, hdrs
-
-    SUBDIRCCFLAGS = ;
-    SUBDIRC++FLAGS = ;
-    SUBDIRHDRS = ;
-}
-
-rule SubDirCcFlags
-{
-    SUBDIRCCFLAGS += $(<) ;
-}
-
-rule SubDirC++Flags
-{
-    SUBDIRC++FLAGS += $(<) ;
-}
-
-rule SubDirHdrs
-{
-    SUBDIRHDRS += $(<) ;
-}
-
-rule SubInclude
-{
-    local _s ;
-
-    # That's
-    #   SubInclude TOP d1 [ d2 [ d3 [ d4 ] ] ]
-    #
-    # to include a subdirectory's Jamfile.
-
-    if ! $($(<[1]))
-    {
-        EXIT Top level of source tree has not been set with $(<[1]) ;
-    }
-
-    _s = [ FDirName $(<[2-]) ] ;
-
-    include $(JAMFILE:D=$(_s):R=$($(<[1]))) ;
-}
-
-rule Undefines
-{
-    UNDEFS on [ FAppendSuffix $(<) : $(SUFEXE) ] += $(UNDEFFLAG)$(>) ;
-}
-
-rule UserObject
-{
-    EXIT "Unknown suffix on" $(>) "- see UserObject rule in Jamfile(5)." ;
-}
-
-rule Yacc
-{
-    local _h ;
-
-    _h = $(<:BS=.h) ;
-
-    # Some places don't have a yacc.
-
-    MakeLocate $(<) $(_h) : $(LOCATE_SOURCE) ;
-
-    if $(YACC)
-    {
-        DEPENDS $(<) $(_h) : $(>) ;
-        Yacc1 $(<) $(_h) : $(>) ;
-        YaccMv $(<) $(_h) : $(>) ;
-        Clean clean : $(<) $(_h) ;
-    }
-
-    # Make sure someone includes $(_h) else it will be a deadly independent
-    # target.
-    INCLUDES $(<) : $(_h) ;
-}
-
-#
-# Utility rules; no side effects on these.
-#
-
-rule FGrist
-{
-    # Turn individual elements in $(<) into grist.
-
-    local _g _i ;
-
-    _g = $(<[1]) ;
-
-    for _i in $(<[2-])
-    {
-        _g = $(_g)!$(_i) ;
-    }
-
-    return $(_g) ;
-}
-
-rule FGristFiles
-{
-    if ! $(SOURCE_GRIST)
-    {
-        return $(<) ;
-    }
-    else
-    {
-        return $(<:G=$(SOURCE_GRIST)) ;
-    }
-}
-
-rule FGristSourceFiles
-{
-    # Produce source file name name with grist in it,
-    # if SOURCE_GRIST is set.
-
-    # Leave header files alone, because they have a global
-    # visibility.
-
-    if ! $(SOURCE_GRIST)
-    {
-        return $(<) ;
-    }
-    else
-    {
-        local _i _o ;
-
-        for _i in $(<)
-        {
-        switch $(_i)
-        {
-        case *.h :  _o += $(_i) ;
-        case * :    _o += $(_i:G=$(SOURCE_GRIST)) ;
-        }
-        }
-
-        return $(_o) ;
-    }
-}
-
-rule FConcat
-{
-    # Puts the variables together, removing spaces.
-
-    local _t _r ;
-
-    $(_r) = $(<[1]) ;
-
-    for _t in $(<[2-])
-    {
-        $(_r) = $(_r)$(_t) ;
-    }
-
-    return $(_r) ;
-}
-
-rule FSubDir
-{
-    local _i _d ;
-
-    # If $(>) is the path to the current directory, compute the
-    # path (using ../../ etc) back to that root directory.
-    # Sets result in $(<)
-
-    if ! $(<[1])
-    {
-        _d = $(DOT) ;
-    }
-    else
-    {
-        _d = $(DOTDOT) ;
-
-        for _i in $(<[2-])
-        {
-        _d = $(_d:R=$(DOTDOT)) ;
-        }
-    }
-
-    return $(_d) ;
-}
-
-rule FDirName
-{
-    local _s _i ;
-
-    # Turn individual elements in $(<) into a usable path.
-
-    if ! $(<)
-    {
-        _s = $(DOT) ;
-    }
-    else if $(VMS)
-    {
-        # This handles the following cases:
-        #   a -> [.a]
-        #   a b c -> [.a.b.c]
-        #   x: -> x:
-        #   x: a -> x:[a]
-        #   x:[a] b -> x:[a.b]
-
-        switch $(<[1])
-        {
-        case *:* : _s = $(<[1]) ;
-        case \\[*\\] : _s = $(<[1]) ;
-        case * : _s = [.$(<[1])] ;
-        }
-
-        for _i in [.$(<[2-])]
-        {
-        _s = $(_i:R=$(_s)) ;
-        }
-    }
-    else if $(MAC)
-    {
-        _s = $(DOT) ;
-
-        for _i in $(<)
-        {
-            _s = $(_i:R=$(_s)) ;
-        }
-    }
-    else
-    {
-        _s = $(<[1]) ;
-
-        for _i in $(<[2-])
-        {
-        _s = $(_i:R=$(_s)) ;
-        }
-    }
-
-    return $(_s) ;
-}
-
-
-rule _makeCommon
-{
-    # strip common initial elements
-
-    if $($(<)[1]) && $($(<)[1]) = $($(>)[1])
-    {
-        $(<) = $($(<)[2-]) ;
-        $(>) = $($(>)[2-]) ;
-        _makeCommon $(<) : $(>) ;
-    }
-}
-
-
-rule FRelPath
-{
-    local _l _r ;
-
-    # first strip off common parts
-
-    _l = $(<) ;
-    _r = $(>) ;
-
-    _makeCommon _l : _r ;
-
-    # now make path to root and path down
-
-    _l = [ FSubDir $(_l) ] ;
-    _r = [ FDirName $(_r) ] ;
-
-    # Concatenate and save
-
-    # XXX This should be better
-
-    if $(_r) = $(DOT) {
-        return $(_l) ;
-    } else {
-        return $(_r:R=$(_l)) ;
-    }
-}
-
-rule FAppendSuffix
-{
-       # E.g., "FAppendSuffix yacc lex foo.bat : $(SUFEXE) ;"
-       # returns (yacc,lex,foo.bat) on Unix and
-       # (yacc.exe,lex.exe,foo.bat) on NT.
-
-    if $(>)
-    {
-        local _i _o ;
-
-        for _i in $(<)
-        {
-        if $(_i:S)
-        {
-            _o += $(_i) ;
-        }
-        else
-        {
-            _o += $(_i:S=$(>)) ;
-        }
-        }
-        return $(_o) ;
-    }
-    else
-    {
-        return $(<) ;
-    }
-}
-
-rule unmakeDir
-{
-    if $(>[1]:D) && $(>[1]:D) != $(>[1]) && $(>[1]:D) != \\\\
-    {
-        unmakeDir $(<) : $(>[1]:D) $(>[1]:BS) $(>[2-]) ;
-    }
-    else
-    {
-        $(<) = $(>) ;
-    }
-}
-
-
-rule FConvertToSlashes
-{
-  local _d, _s, _i ;
-
-  unmakeDir _d : $(<) ;
-
-  _s = $(_d[1]) ;
-  for _i in $(_d[2-])
-  {
-    _s = $(_s)/$(_i) ;
-  }
-  return $(_s) ;
-}
-
-
-#
-# Actions
-#
-
-#
-# First the defaults
-#
-
-actions updated together piecemeal Archive
-{
-    $(AR) $(<) $(>)
-}
-
-actions As
-{
-    $(AS) $(ASFLAGS) -I$(HDRS) -o $(<) $(>)
-}
-
-actions C++
-{
-    $(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o $(<) $(>)
-}
-
-actions Cc
-{
-    $(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o $(<) $(>)
-}
-
-actions Chgrp
-{
-    $(CHGRP) $(GROUP) $(<)
-}
-
-actions Chmod1
-{
-    $(CHMOD) $(MODE) $(<)
-}
-
-actions Chown
-{
-    $(CHOWN) $(OWNER) $(<)
-}
-
-actions piecemeal together existing Clean
-{
-    $(RM) $(>)
-}
-
-actions File
-{
-    $(CP) $(>) $(<)
-}
-
-actions GenFile1
-{
-    $(>[1]) $(<) $(>[2-])
-}
-
-actions Fortran
-{
-    $(FORTRAN) $(FORTRANFLAGS) -o $(<) $(>)
-}
-
-actions HardLink
-{
-    $(RM) $(<) && $(LN) $(>) $(<)
-}
-
-actions Install
-{
-    $(CP) $(>) $(<)
-}
-
-actions Lex
-{
-    $(LEX) $(>)
-}
-
-actions LexMv
-{
-    $(MV) lex.yy.c $(<)
-}
-
-actions Link bind NEEDLIBS
-{
-    $(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)
-}
-
-actions MkDir1
-{
-    $(MKDIR) $(<)
-}
-
-actions together Ranlib
-{
-    $(RANLIB) $(<)
-}
-
-actions quietly updated piecemeal together RmTemps
-{
-    $(RM) $(>)
-}
-
-actions Shell
-{
-    $(AWK) '
-        NR == 1 { print "$(SHELLHEADER)" }
-        NR == 1 && /^[#:]/ { next }
-        /^##/ { next }
-        { print }
-    ' < $(>) > $(<)
-}
-
-actions Yacc1
-{
-    $(YACC) $(YACCFLAGS) $(>)
-}
-
-actions YaccMv
-{
-    $(MV) $(YACCFILES).c $(<[1])
-    $(MV) $(YACCFILES).h $(<[2])
-}
-
-#
-# RELOCATE - for compilers with broken -o flags
-#
-
-if $(RELOCATE)
-{
-    actions C++
-    {
-    $(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) $(>)
-    }
-
-    actions Cc
-    {
-    $(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) $(>)
-    }
-
-    actions ignore CcMv
-    {
-    [ $(<) != $(>:BS=$(SUFOBJ)) ] && $(MV) $(>:BS=$(SUFOBJ)) $(<)
-    }
-}
-
-#
-# NOARUPDATE - can't update an archive
-#
-
-if $(NOARUPDATE)
-{
-    actions Archive
-    {
-    $(AR) $(<) $(>)
-    }
-}
-
-#
-# NT specific actions
-#
-
-if $(NT)
-{
-  if $(TOOLSET) = VISUALC || $(TOOLSET) = VC7 || $(TOOLSET) = INTELC
-  {
-    actions updated together piecemeal Archive
-    {
-    if exist $(<) set _$(<:B)_=$(<)
-    $(AR) /out:$(<) %_$(<:B)_% $(>)
-    }
-
-    actions As
-    {
-    $(AS) /Ml /p /v /w2 $(>) $(<) ,nul,nul;
-    }
-
-    actions Cc
-    {
-    $(CC) /c $(CCFLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /I$(STDHDRS) $(>)
-    }
-
-    actions C++
-    {
-    $(C++) /c $(C++FLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /I$(STDHDRS) /Tp$(>)
-    }
-
-    actions Link bind NEEDLIBS
-    {
-    $(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)
-    }
-  }
-  else if $(TOOLSET) = VISUALC16
-  {
-    actions updated together piecemeal Archive
-    {
-    $(AR) $(<) -+$(>)
-    }
-
-    actions Cc
-    {
-    $(CC) /c $(CCFLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) $(>)
-    }
-
-    actions C++
-    {
-    $(C++) /c $(C++FLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /Tp$(>)
-    }
-
-    actions Link bind NEEDLIBS
-    {
-    $(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)
-    }
-  }
-  else if $(TOOLSET) = BORLANDC
-  {
-    actions updated together piecemeal Archive
-    {
-    $(AR) $(<) -+$(>)
-    }
-
-    actions Link bind NEEDLIBS
-    {
-    $(LINK) -e$(<) $(LINKFLAGS) $(UNDEFS) -L$(LINKLIBS) $(NEEDLIBS) $(>)
-    }
-
-    actions C++
-    {
-    $(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)
-    }
-
-    actions Cc
-    {
-    $(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)
-    }
-
-  }
-  else if $(TOOLSET) = MINGW
-  {
-    actions together piecemeal Archive
-    {
-      $(AR) $(<) $(>:T)
-    }
-
-    actions Cc
-    {
-    $(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)
-    }
-
-    actions C++
-    {
-    $(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)
-    }
-  }
-  else if $(TOOLSET) = WATCOM
-  {
-    actions together piecemeal Archive
-    {
-    $(AR) $(<) +-$(>)
-    }
-
-    actions Cc
-    {
-    $(CC) $(CCFLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)
-    }
-
-    actions C++
-    {
-    $(C++) $(C++FLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)
-    }
-
-    actions Link bind NEEDLIBS
-    {
-    $(LINK) $(LINKFLAGS) /Fe=$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)
-    }
-
-    actions Shell
-    {
-    $(CP) $(>) $(<)
-    }
-  }
-  else if $(TOOLSET) = LCC
-  {
-    actions together piecemeal Archive
-    {
-    $(AR) /out:$(<) $(>)
-    }
-
-    actions Cc
-    {
-    $(CC) $(CCFLAGS) $(OPTIM) -Fo$(<) -I$(HDRS) $(>)
-    }
-
-    actions Link bind NEEDLIBS
-    {
-    $(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)
-    }
-
-    actions Shell
-    {
-    $(CP) $(>) $(<)
-    }
-  }
-}
-
-#
-# OS2 specific actions
-#
-
-else if $(OS2)
-{
-  if $(TOOLSET) = WATCOM
-  {
-    actions together piecemeal Archive
-    {
-    $(AR) $(<) +-$(>)
-    }
-
-    actions Cc
-    {
-    $(CC) $(CCFLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)
-    }
-
-    actions C++
-    {
-    $(C++) $(C++FLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)
-    }
-
-    actions Link bind NEEDLIBS
-    {
-    $(LINK) $(LINKFLAGS) /Fe=$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)
-    }
-
-    actions Shell
-    {
-    $(CP) $(>) $(<)
-    }
-  }
-  else if $(TOOLSET) = EMX
-  {
-    actions together piecemeal Archive
-    {
-      $(AR) $(<) $(>:T)
-    }
-
-    actions Cc
-    {
-    $(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)
-    }
-
-    actions C++
-    {
-    $(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)
-    }
-  }
-}
-
-#
-# VMS specific actions
-#
-
-else if $(VMS)
-{
-    actions updated together piecemeal Archive
-    {
-    lib/replace $(<) $(>[1]) ,$(>[2-])
-    }
-
-    actions Cc
-    {
-    $(CC)/obj=$(<) $(CCFLAGS) $(OPTIM) $(SLASHINC) $(>)
-    }
-
-    actions C++
-    {
-    $(C++)/obj=$(<) $(C++FLAGS) $(OPTIM) $(SLASHINC) $(>)
-    }
-
-    actions piecemeal together existing Clean
-    {
-    $(RM) $(>[1]);* ,$(>[2-]);*
-    }
-
-    actions together quietly CreLib
-    {
-    if f$search("$(<)") .eqs. "" then lib/create $(<)
-    }
-
-    actions GenFile1
-    {
-    mcr $(>[1]) $(<) $(>[2-])
-    }
-
-    actions Link bind NEEDLIBS
-    {
-    $(LINK)/exe=$(<) $(LINKFLAGS) $(>[1]) ,$(>[2-]) ,$(NEEDLIBS)/lib ,$(LINKLIBS)
-    }
-
-    actions quietly updated piecemeal together RmTemps
-    {
-    $(RM) $(>[1]);* ,$(>[2-]);*
-    }
-
-    actions Shell
-    {
-    $(CP) $(>) $(<)
-    }
-}
-
-#
-# Mac specifc actions
-#
-
-else if $(MAC)
-{
-    actions together Archive
-    {
-    $(LINK) -library -o $(<) $(>)
-    }
-
-    actions Cc
-    {
-    set -e MWCincludes $(MACINC)
-    $(CC) -o $(<) $(CCFLAGS) $(OPTIM) $(>)
-    }
-
-    actions C++
-    {
-    set -e MWCincludes $(MACINC)
-    $(CC) -o $(<) $(C++FLAGS) $(OPTIM) $(>)
-    }
-
-    actions Link bind NEEDLIBS
-    {
-    $(LINK) -o $(<) $(LINKFLAGS) $(>) $(NEEDLIBS) "$(LINKLIBS)"
-    }
-}
-
-#
-# Backwards compatibility with jam 1, where rules were uppercased.
-#
-
-rule BULK { Bulk $(<) : $(>) ; }
-rule FILE { File $(<) : $(>) ; }
-rule HDRRULE { HdrRule $(<) : $(>) ; }
-rule INSTALL { Install $(<) : $(>) ; }
-rule LIBRARY { Library $(<) : $(>) ; }
-rule LIBS { LinkLibraries $(<) : $(>) ; }
-rule LINK { Link $(<) : $(>) ; }
-rule MAIN { Main $(<) : $(>) ; }
-rule SETUID { Setuid $(<) ; }
-rule SHELL { Shell $(<) : $(>) ; }
-rule UNDEFINES { Undefines $(<) : $(>) ; }
-
-# Old INSTALL* didn't take dest directory.
-
-rule INSTALLBIN { InstallBin $(BINDIR) : $(<) ; }
-rule INSTALLLIB { InstallLib $(LIBDIR) : $(<) ; }
-rule INSTALLMAN { InstallMan $(MANDIR) : $(<) ; }
-
-# Compatibility with jam 2.2.
-
-rule addDirName { $(<) += [ FDirName $(>) ] ; }
-rule makeDirName { $(<) = [ FDirName $(>) ] ; }
-rule makeGristedName { $(<) = [ FGristSourceFiles $(>) ] ; }
-rule makeRelPath { $(<[1]) = [ FRelPath $(<[2-]) : $(>) ] ; }
-rule makeSuffixed { $(<[1]) = [ FAppendSuffix $(>) : $(<[2]) ] ; }
-
-#
-# Now include the user's Jamfile.
-#
-
-{
-    if $(JAMFILE) { include $(JAMFILE) ; }
-}
-
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/AmigaOS.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/AmigaOS.c
deleted file mode 100755
index 392ea2a..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/AmigaOS.c
+++ /dev/null
@@ -1,623 +0,0 @@
-
-
-/******************************************************************
-
-  AmigaOS-spesific routines for GC.
-  This file is normally included from os_dep.c
-
-******************************************************************/
-
-
-#if !defined(GC_AMIGA_DEF) && !defined(GC_AMIGA_SB) && !defined(GC_AMIGA_DS) && !defined(GC_AMIGA_AM)
-# include "gc_priv.h"
-# include <stdio.h>
-# include <signal.h>
-# define GC_AMIGA_DEF
-# define GC_AMIGA_SB
-# define GC_AMIGA_DS
-# define GC_AMIGA_AM
-#endif
-
-
-#ifdef GC_AMIGA_DEF
-
-# ifndef __GNUC__
-#   include <exec/exec.h>
-# endif
-# include <proto/exec.h>
-# include <proto/dos.h>
-# include <dos/dosextens.h>
-# include <workbench/startup.h>
-
-#endif
-
-
-
-
-#ifdef GC_AMIGA_SB
-
-/******************************************************************
-   Find the base of the stack.
-******************************************************************/
-
-ptr_t GC_get_main_stack_base()
-{
-    struct Process *proc = (struct Process*)SysBase->ThisTask;
- 
-    /* Reference: Amiga Guru Book Pages: 42,567,574 */
-    if (proc->pr_Task.tc_Node.ln_Type==NT_PROCESS
-        && proc->pr_CLI != NULL) {
-	/* first ULONG is StackSize */
-	/*longPtr = proc->pr_ReturnAddr;
-	size = longPtr[0];*/
-
-	return (char *)proc->pr_ReturnAddr + sizeof(ULONG);
-    } else {
-	return (char *)proc->pr_Task.tc_SPUpper;
-    }
-}
-
-#if 0 /* old version */
-ptr_t GC_get_stack_base()
-{
-    extern struct WBStartup *_WBenchMsg;
-    extern long __base;
-    extern long __stack;
-    struct Task *task;
-    struct Process *proc;
-    struct CommandLineInterface *cli;
-    long size;
-
-    if ((task = FindTask(0)) == 0) {
-	GC_err_puts("Cannot find own task structure\n");
-	ABORT("task missing");
-    }
-    proc = (struct Process *)task;
-    cli = BADDR(proc->pr_CLI);
-
-    if (_WBenchMsg != 0 || cli == 0) {
-	size = (char *)task->tc_SPUpper - (char *)task->tc_SPLower;
-    } else {
-	size = cli->cli_DefaultStack * 4;
-    }
-    return (ptr_t)(__base + GC_max(size, __stack));
-}
-#endif
-
-
-#endif
-
-
-#ifdef GC_AMIGA_DS
-/******************************************************************
-   Register data segments.
-******************************************************************/
-
-   void GC_register_data_segments()
-   {
-     struct Process	*proc;
-     struct CommandLineInterface *cli;
-     BPTR myseglist;
-     ULONG *data;
- 
-     int	num;
-
-
-#    ifdef __GNUC__
-        ULONG dataSegSize;
-        GC_bool found_segment = FALSE;
-	extern char __data_size[];
-
-	dataSegSize=__data_size+8;
-	/* Can`t find the Location of __data_size, because
-           it`s possible that is it, inside the segment. */
-
-#     endif
-
-	proc= (struct Process*)SysBase->ThisTask;
-
-	/* Reference: Amiga Guru Book Pages: 538ff,565,573
-		     and XOper.asm */
-	if (proc->pr_Task.tc_Node.ln_Type==NT_PROCESS) {
-	  if (proc->pr_CLI == NULL) {
-	    myseglist = proc->pr_SegList;
-	  } else {
-	    /* ProcLoaded	'Loaded as a command: '*/
-	    cli = BADDR(proc->pr_CLI);
-	    myseglist = cli->cli_Module;
-	  }
-	} else {
-	  ABORT("Not a Process.");
- 	}
-
-	if (myseglist == NULL) {
-	    ABORT("Arrrgh.. can't find segments, aborting");
- 	}
-
-	/* xoper hunks Shell Process */
-
-	num=0;
-        for (data = (ULONG *)BADDR(myseglist); data != NULL;
-             data = (ULONG *)BADDR(data[0])) {
-	  if (((ULONG) GC_register_data_segments < (ULONG) &data[1]) ||
-	      ((ULONG) GC_register_data_segments > (ULONG) &data[1] + data[-1])) {
-#             ifdef __GNUC__
-		if (dataSegSize == data[-1]) {
-		  found_segment = TRUE;
-		}
-# 	      endif
-	      GC_add_roots_inner((char *)&data[1],
-				 ((char *)&data[1]) + data[-1], FALSE);
-          }
-          ++num;
-        } /* for */
-# 	ifdef __GNUC__
-	   if (!found_segment) {
-	     ABORT("Can`t find correct Segments.\nSolution: Use an newer version of ixemul.library");
-	   }
-# 	endif
-  }
-
-#if 0 /* old version */
-  void GC_register_data_segments()
-  {
-    extern struct WBStartup *_WBenchMsg;
-    struct Process	*proc;
-    struct CommandLineInterface *cli;
-    BPTR myseglist;
-    ULONG *data;
-
-    if ( _WBenchMsg != 0 ) {
-	if ((myseglist = _WBenchMsg->sm_Segment) == 0) {
-	    GC_err_puts("No seglist from workbench\n");
-	    return;
-	}
-    } else {
-	if ((proc = (struct Process *)FindTask(0)) == 0) {
-	    GC_err_puts("Cannot find process structure\n");
-	    return;
-	}
-	if ((cli = BADDR(proc->pr_CLI)) == 0) {
-	    GC_err_puts("No CLI\n");
-	    return;
-	}
-	if ((myseglist = cli->cli_Module) == 0) {
-	    GC_err_puts("No seglist from CLI\n");
-	    return;
-	}
-    }
-
-    for (data = (ULONG *)BADDR(myseglist); data != 0;
-         data = (ULONG *)BADDR(data[0])) {
-#        ifdef AMIGA_SKIP_SEG
-           if (((ULONG) GC_register_data_segments < (ULONG) &data[1]) ||
-           ((ULONG) GC_register_data_segments > (ULONG) &data[1] + data[-1])) {
-#	 else
-      	   {
-#	 endif /* AMIGA_SKIP_SEG */
-          GC_add_roots_inner((char *)&data[1],
-          		     ((char *)&data[1]) + data[-1], FALSE);
-         }
-    }
-  }
-#endif /* old version */
-
-
-#endif
-
-
-
-#ifdef GC_AMIGA_AM
-
-#ifndef GC_AMIGA_FASTALLOC
-
-void *GC_amiga_allocwrapper(size_t size,void *(*AllocFunction)(size_t size2)){
-	return (*AllocFunction)(size);
-}
-
-void *(*GC_amiga_allocwrapper_do)(size_t size,void *(*AllocFunction)(size_t size2))
-	=GC_amiga_allocwrapper;
-
-#else
-
-
-
-
-void *GC_amiga_allocwrapper_firsttime(size_t size,void *(*AllocFunction)(size_t size2));
-
-void *(*GC_amiga_allocwrapper_do)(size_t size,void *(*AllocFunction)(size_t size2))
-	=GC_amiga_allocwrapper_firsttime;
-
-
-/******************************************************************
-   Amiga-spesific routines to obtain memory, and force GC to give
-   back fast-mem whenever possible.
-	These hacks makes gc-programs go many times faster when
-   the amiga is low on memory, and are therefore strictly necesarry.
-
-   -Kjetil S. Matheussen, 2000.
-******************************************************************/
-
-
-
-/* List-header for all allocated memory. */
-
-struct GC_Amiga_AllocedMemoryHeader{
-	ULONG size;
-	struct GC_Amiga_AllocedMemoryHeader *next;
-};
-struct GC_Amiga_AllocedMemoryHeader *GC_AMIGAMEM=(struct GC_Amiga_AllocedMemoryHeader *)(int)~(NULL);
-
-
-
-/* Type of memory. Once in the execution of a program, this might change to MEMF_ANY|MEMF_CLEAR */
-
-ULONG GC_AMIGA_MEMF = MEMF_FAST | MEMF_CLEAR;
-
-
-/* Prevents GC_amiga_get_mem from allocating memory if this one is TRUE. */
-#ifndef GC_AMIGA_ONLYFAST
-BOOL GC_amiga_dontalloc=FALSE;
-#endif
-
-#ifdef GC_AMIGA_PRINTSTATS
-int succ=0,succ2=0;
-int nsucc=0,nsucc2=0;
-int nullretries=0;
-int numcollects=0;
-int chipa=0;
-int allochip=0;
-int allocfast=0;
-int cur0=0;
-int cur1=0;
-int cur10=0;
-int cur50=0;
-int cur150=0;
-int cur151=0;
-int ncur0=0;
-int ncur1=0;
-int ncur10=0;
-int ncur50=0;
-int ncur150=0;
-int ncur151=0;
-#endif
-
-/* Free everything at program-end. */
-
-void GC_amiga_free_all_mem(void){
-	struct GC_Amiga_AllocedMemoryHeader *gc_am=(struct GC_Amiga_AllocedMemoryHeader *)(~(int)(GC_AMIGAMEM));
-	struct GC_Amiga_AllocedMemoryHeader *temp;
-
-#ifdef GC_AMIGA_PRINTSTATS
-	printf("\n\n"
-		"%d bytes of chip-mem, and %d bytes of fast-mem where allocated from the OS.\n",
-		allochip,allocfast
-	);
-	printf(
-		"%d bytes of chip-mem were returned from the GC_AMIGA_FASTALLOC supported allocating functions.\n",
-		chipa
-	);
-	printf("\n");
-	printf("GC_gcollect was called %d times to avoid returning NULL or start allocating with the MEMF_ANY flag.\n",numcollects);
-	printf("%d of them was a success. (the others had to use allocation from the OS.)\n",nullretries);
-	printf("\n");
-	printf("Succeded forcing %d gc-allocations (%d bytes) of chip-mem to be fast-mem.\n",succ,succ2);
-	printf("Failed forcing %d gc-allocations (%d bytes) of chip-mem to be fast-mem.\n",nsucc,nsucc2);
-	printf("\n");
-	printf(
-		"Number of retries before succeding a chip->fast force:\n"
-		"0: %d, 1: %d, 2-9: %d, 10-49: %d, 50-149: %d, >150: %d\n",
-		cur0,cur1,cur10,cur50,cur150,cur151
-	);
-	printf(
-		"Number of retries before giving up a chip->fast force:\n"
-		"0: %d, 1: %d, 2-9: %d, 10-49: %d, 50-149: %d, >150: %d\n",
-		ncur0,ncur1,ncur10,ncur50,ncur150,ncur151
-	);
-#endif
-
-	while(gc_am!=NULL){
-		temp=gc_am->next;
-		FreeMem(gc_am,gc_am->size);
-		gc_am=(struct GC_Amiga_AllocedMemoryHeader *)(~(int)(temp));
-	}
-}
-
-#ifndef GC_AMIGA_ONLYFAST
-
-/* All memory with address lower than this one is chip-mem. */
-
-char *chipmax;
-
-
-/*
- * Allways set to the last size of memory tried to be allocated.
- * Needed to ensure allocation when the size is bigger than 100000.
- *
- */
-size_t latestsize;
-
-#endif
-
-
-/*
- * The actual function that is called with the GET_MEM macro.
- *
- */
-
-void *GC_amiga_get_mem(size_t size){
-	struct GC_Amiga_AllocedMemoryHeader *gc_am;
-
-#ifndef GC_AMIGA_ONLYFAST
-	if(GC_amiga_dontalloc==TRUE){
-//		printf("rejected, size: %d, latestsize: %d\n",size,latestsize);
-		return NULL;
-	}
-
-	// We really don't want to use chip-mem, but if we must, then as little as possible.
-	if(GC_AMIGA_MEMF==(MEMF_ANY|MEMF_CLEAR) && size>100000 && latestsize<50000) return NULL;
-#endif
-
-	gc_am=AllocMem((ULONG)(size + sizeof(struct GC_Amiga_AllocedMemoryHeader)),GC_AMIGA_MEMF);
-	if(gc_am==NULL) return NULL;
-
-	gc_am->next=GC_AMIGAMEM;
-	gc_am->size=size + sizeof(struct GC_Amiga_AllocedMemoryHeader);
-	GC_AMIGAMEM=(struct GC_Amiga_AllocedMemoryHeader *)(~(int)(gc_am));
-
-//	printf("Allocated %d (%d) bytes at address: %x. Latest: %d\n",size,tot,gc_am,latestsize);
-
-#ifdef GC_AMIGA_PRINTSTATS
-	if((char *)gc_am<chipmax){
-		allochip+=size;
-	}else{
-		allocfast+=size;
-	}
-#endif
-
-	return gc_am+1;
-
-}
-
-
-
-
-#ifndef GC_AMIGA_ONLYFAST
-
-/* Tries very hard to force GC to find fast-mem to return. Done recursively
- * to hold the rejected memory-pointers reachable from the collector in an
- * easy way.
- *
- */
-#ifdef GC_AMIGA_RETRY
-void *GC_amiga_rec_alloc(size_t size,void *(*AllocFunction)(size_t size2),const int rec){
-	void *ret;
-
-	ret=(*AllocFunction)(size);
-
-#ifdef GC_AMIGA_PRINTSTATS
-	if((char *)ret>chipmax || ret==NULL){
-		if(ret==NULL){
-			nsucc++;
-			nsucc2+=size;
-			if(rec==0) ncur0++;
-			if(rec==1) ncur1++;
-			if(rec>1 && rec<10) ncur10++;
-			if(rec>=10 && rec<50) ncur50++;
-			if(rec>=50 && rec<150) ncur150++;
-			if(rec>=150) ncur151++;
-		}else{
-			succ++;
-			succ2+=size;
-			if(rec==0) cur0++;
-			if(rec==1) cur1++;
-			if(rec>1 && rec<10) cur10++;
-			if(rec>=10 && rec<50) cur50++;
-			if(rec>=50 && rec<150) cur150++;
-			if(rec>=150) cur151++;
-		}
-	}
-#endif
-
-	if (((char *)ret)<=chipmax && ret!=NULL && (rec<(size>500000?9:size/5000))){
-		ret=GC_amiga_rec_alloc(size,AllocFunction,rec+1);
-//		GC_free(ret2);
-	}
-
-	return ret;
-}
-#endif
-
-
-/* The allocating-functions defined inside the amiga-blocks in gc.h is called
- * via these functions.
- */
-
-
-void *GC_amiga_allocwrapper_any(size_t size,void *(*AllocFunction)(size_t size2)){
-	void *ret,*ret2;
-
-	GC_amiga_dontalloc=TRUE;	// Pretty tough thing to do, but its indeed necesarry.
-	latestsize=size;
-
-	ret=(*AllocFunction)(size);
-
-	if(((char *)ret) <= chipmax){
-		if(ret==NULL){
-			//Give GC access to allocate memory.
-#ifdef GC_AMIGA_GC
-			if(!GC_dont_gc){
-				GC_gcollect();
-#ifdef GC_AMIGA_PRINTSTATS
-				numcollects++;
-#endif
-				ret=(*AllocFunction)(size);
-			}
-#endif
-			if(ret==NULL){
-				GC_amiga_dontalloc=FALSE;
-				ret=(*AllocFunction)(size);
-				if(ret==NULL){
-					WARN("Out of Memory!  Returning NIL!\n", 0);
-				}
-			}
-#ifdef GC_AMIGA_PRINTSTATS
-			else{
-				nullretries++;
-			}
-			if(ret!=NULL && (char *)ret<=chipmax) chipa+=size;
-#endif
-		}
-#ifdef GC_AMIGA_RETRY
-		else{
-			/* We got chip-mem. Better try again and again and again etc., we might get fast-mem sooner or later... */
-			/* Using gctest to check the effectiviness of doing this, does seldom give a very good result. */
-			/* However, real programs doesn't normally rapidly allocate and deallocate. */
-//			printf("trying to force... %d bytes... ",size);
-			if(
-				AllocFunction!=GC_malloc_uncollectable
-#ifdef ATOMIC_UNCOLLECTABLE
-				&& AllocFunction!=GC_malloc_atomic_uncollectable
-#endif
-			){
-				ret2=GC_amiga_rec_alloc(size,AllocFunction,0);
-			}else{
-				ret2=(*AllocFunction)(size);
-#ifdef GC_AMIGA_PRINTSTATS
-				if((char *)ret2<chipmax || ret2==NULL){
-					nsucc++;
-					nsucc2+=size;
-					ncur0++;
-				}else{
-					succ++;
-					succ2+=size;
-					cur0++;
-				}
-#endif
-			}
-			if(((char *)ret2)>chipmax){
-//				printf("Succeeded.\n");
-				GC_free(ret);
-				ret=ret2;
-			}else{
-				GC_free(ret2);
-//				printf("But did not succeed.\n");
-			}
-		}
-#endif
-	}
-
-	GC_amiga_dontalloc=FALSE;
-
-	return ret;
-}
-
-
-
-void (*GC_amiga_toany)(void)=NULL;
-
-void GC_amiga_set_toany(void (*func)(void)){
-	GC_amiga_toany=func;
-}
-
-#endif // !GC_AMIGA_ONLYFAST
-
-
-void *GC_amiga_allocwrapper_fast(size_t size,void *(*AllocFunction)(size_t size2)){
-	void *ret;
-
-	ret=(*AllocFunction)(size);
-
-	if(ret==NULL){
-		// Enable chip-mem allocation.
-//		printf("ret==NULL\n");
-#ifdef GC_AMIGA_GC
-		if(!GC_dont_gc){
-			GC_gcollect();
-#ifdef GC_AMIGA_PRINTSTATS
-			numcollects++;
-#endif
-			ret=(*AllocFunction)(size);
-		}
-#endif
-		if(ret==NULL){
-#ifndef GC_AMIGA_ONLYFAST
-			GC_AMIGA_MEMF=MEMF_ANY | MEMF_CLEAR;
-			if(GC_amiga_toany!=NULL) (*GC_amiga_toany)();
-			GC_amiga_allocwrapper_do=GC_amiga_allocwrapper_any;
-			return GC_amiga_allocwrapper_any(size,AllocFunction);
-#endif
-		}
-#ifdef GC_AMIGA_PRINTSTATS
-		else{
-			nullretries++;
-		}
-#endif
-	}
-
-	return ret;
-}
-
-void *GC_amiga_allocwrapper_firsttime(size_t size,void *(*AllocFunction)(size_t size2)){
-	atexit(&GC_amiga_free_all_mem);
-	chipmax=(char *)SysBase->MaxLocMem;		// For people still having SysBase in chip-mem, this might speed up a bit.
-	GC_amiga_allocwrapper_do=GC_amiga_allocwrapper_fast;
-	return GC_amiga_allocwrapper_fast(size,AllocFunction);
-}
-
-
-#endif //GC_AMIGA_FASTALLOC
-
-
-
-/*
- * The wrapped realloc function.
- *
- */
-void *GC_amiga_realloc(void *old_object,size_t new_size_in_bytes){
-#ifndef GC_AMIGA_FASTALLOC
-	return GC_realloc(old_object,new_size_in_bytes);
-#else
-	void *ret;
-	latestsize=new_size_in_bytes;
-	ret=GC_realloc(old_object,new_size_in_bytes);
-	if(ret==NULL && GC_AMIGA_MEMF==(MEMF_FAST | MEMF_CLEAR)){
-		/* Out of fast-mem. */
-#ifdef GC_AMIGA_GC
-		if(!GC_dont_gc){
-			GC_gcollect();
-#ifdef GC_AMIGA_PRINTSTATS
-			numcollects++;
-#endif
-			ret=GC_realloc(old_object,new_size_in_bytes);
-		}
-#endif
-		if(ret==NULL){
-#ifndef GC_AMIGA_ONLYFAST
-			GC_AMIGA_MEMF=MEMF_ANY | MEMF_CLEAR;
-			if(GC_amiga_toany!=NULL) (*GC_amiga_toany)();
-			GC_amiga_allocwrapper_do=GC_amiga_allocwrapper_any;
-			ret=GC_realloc(old_object,new_size_in_bytes);
-#endif
-		}
-#ifdef GC_AMIGA_PRINTSTATS
-		else{
-			nullretries++;
-		}
-#endif
-	}
-	if(ret==NULL){
-		WARN("Out of Memory!  Returning NIL!\n", 0);
-	}
-#ifdef GC_AMIGA_PRINTSTATS
-	if(((char *)ret)<chipmax && ret!=NULL){
-		chipa+=new_size_in_bytes;
-	}
-#endif
-	return ret;
-#endif
-}
-
-#endif //GC_AMIGA_AM
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/BCC_MAKEFILE b/SRC/Boost/tools/build/v2/engine/boehm_gc/BCC_MAKEFILE
deleted file mode 100755
index b49d6b9..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/BCC_MAKEFILE
+++ /dev/null
@@ -1,87 +0,0 @@
-# Makefile for Borland C++ 5.5 on NT
-# If you have the Borland assembler, remove "-DUSE_GENERIC"
-#
-bc=	   c:\Borland\BCC55
-bcbin=	   $(bc)\bin
-bclib=	   $(bc)\lib
-bcinclude= $(bc)\include
-
-gcinclude1 = $(bc)\gc6.2\include
-gcinclude2 = $(bc)\gc6.2\cord
-
-cc=	 $(bcbin)\bcc32
-rc=	 $(bcbin)\brc32
-lib=	 $(bcbin)\tlib
-link=	 $(bcbin)\ilink32
-cflags=  -O2 -R -v- -vi -H -H=gc.csm -I$(bcinclude);$(gcinclude1);$(gcinclude2) -L$(bclib) \
-	 -w-pro -w-aus -w-par -w-ccc -w-rch -a4 -D__STDC__=0
-defines= -DALL_INTERIOR_POINTERS -DUSE_GENERIC -DNO_GETENV -DJAVA_FINALIZATION -DGC_OPERATOR_NEW_ARRAY
-
-.c.obj:
-	$(cc) @&&|
-	$(cdebug) $(cflags) $(cvars) $(defines) -o$* -c $*.c
-|
-
-.cpp.obj:
-	$(cc) @&&|
-	$(cdebug) $(cflags) $(cvars) $(defines) -o$* -c $*.cpp
-|
-
-.rc.res:
-    $(rc) -i$(bcinclude) -r -fo$* $*.rc
-
-XXXOBJS= XXXalloc.obj XXXreclaim.obj XXXallchblk.obj XXXmisc.obj \
-    XXXmach_dep.obj XXXos_dep.obj XXXmark_rts.obj XXXheaders.obj XXXmark.obj \
-    XXXobj_map.obj XXXblacklst.obj XXXfinalize.obj XXXnew_hblk.obj \
-    XXXdbg_mlc.obj XXXmalloc.obj XXXstubborn.obj XXXdyn_load.obj \
-    XXXtypd_mlc.obj XXXptr_chck.obj XXXgc_cpp.obj XXXmallocx.obj
-
-OBJS= $(XXXOBJS:XXX=)
-
-all: gctest.exe cord\de.exe test_cpp.exe
-
-$(OBJS) test.obj: include\private\gc_priv.h include\private\gc_hdrs.h include\gc.h include\private\gcconfig.h MAKEFILE
-
-gc.lib: $(OBJS)
-	del gc.lib
-	$(lib) $* @&&|
-	$(XXXOBJS:XXX=+)
-|
-
-gctest.exe: tests\test.obj gc.lib
-    $(cc) @&&|
-	$(cflags) -W -e$* tests\test.obj gc.lib
-|
-
-cord\de.obj cord\de_win.obj: include\cord.h include\private\cord_pos.h cord\de_win.h \
-    cord\de_cmds.h
-
-cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj \
-	cord\de_win.res gc.lib
-	$(cc) @&&|
-	$(cflags) -W -e$* cord\cordbscs.obj cord\cordxtra.obj \
-	cord\de.obj cord\de_win.obj gc.lib
-|
-    $(rc) cord\de_win.res cord\de.exe
-
-gc_cpp.obj: include\gc_cpp.h include\gc.h
-
-gc_cpp.cpp: gc_cpp.cc
-	copy gc_cpp.cc gc_cpp.cpp
-
-test_cpp.cpp: tests\test_cpp.cc
-	copy tests\test_cpp.cc test_cpp.cpp
-
-test_cpp.exe: test_cpp.obj include\gc_cpp.h include\gc.h gc.lib
-    $(cc) @&&|
-	$(cflags) -W -e$* test_cpp.obj gc.lib
-|
-
-scratch:
-    -del *.obj *.res *.exe *.csm cord\*.obj cord\*.res cord\*.exe cord\*.csm
-
-clean:
-      del gc.lib
-      del *.obj
-      del tests\test.obj
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/ChangeLog b/SRC/Boost/tools/build/v2/engine/boehm_gc/ChangeLog
deleted file mode 100755
index 9d68611..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/ChangeLog
+++ /dev/null
@@ -1,363 +0,0 @@
-2007-07-02  Hans Boehm <Hans.Boehm at hp.com>
-
-	* gc_config_macros.h: Also check for IA64 when setting
-	GC_HPUX_THREADS.
-	* mallocx.c: Change my_bytes_allocd to signed_word.
-	* include/pthread_redirects.h: Remove obsolete Solaris threads
-	(as opposed to pthreads) support.
-
-2007-07-02  Hans Boehm <Hans.Boehm at hp.com>
-
-	* mach_dep.c (GC_with_callee_saves_pushed): Don't use getcontext()
-	on ARM/Linux.  Check getcontext() return value.
-
-2007-06-29  Hans Boehm <Hans.Boehm at hp.com>
-
-	* backgraph.c (per_object_func): Make argument types consistent.
-	(GC_traverse_back_graph): Mark GC_deepest_obj.
-	
-2007-06-29  Hans Boehm <Hans.Boehm at hp.com>
-
-	* finalize.c (GC_finalize): Change dl_size and fo_size to size_t.
-	* os_dep.c (GC_win32_get_mem): Add GC_mem_top_down option.
-
-2007-06-28  Hans Boehm <Hans.Boehm at hp.com>
-
-	* doc/README.win32, doc/README, README.QUICK: Fix some of the worst
-	anachronisms.
-	* dyn_load.c: Partially support cygwin, but don't enable it yet.
-
-2007-06-28  Hans Boehm <Hans.Boehm at hp.com>
-
-	* Makefile.am: Use -no-undefined for libgc.
-	* Makefile.in: Regenerate.
-	* Makefile.direct: Document USE_PROC_FOR_LIBRARIES.
-	* dyn_load.c (GC_register_map_entries): Rename prot_buf to prot
-	consistently.
-	* misc.c: Fix some WARN calls.  Move GC_is_initialized setting and
-	GC_thr_init() call.
-	* os_dep.c: Consistently use WARN where appropriate.
-	* thread_local_alloc.c: Revert change to GC_WIN32_THREADS test.  Instead
-	remove inappropriate pthread.h include.
-	* doc/README.linux: Remove some anachronisms.
-
-2007-06-23  Hans Boehm <Hans.Boehm at hp.com>
-
-	* alloc.c: Also use GC_check_tls on non-Linux systems.
-	* mallocx.c (GC_reclaim_generic): Remove bogus declaration.
-	* include/private/gc_priv.h (GC_reclaim_generic): Declare correctly
-	with prototype.
-
-2007-06-19  Hans Boehm <Hans.Boehm at hp.com>
-
-	* alloc.c (GC_adj_bytes_allocd): Avoid (long) casts, fix comment.
-	(GC_print_heap_sects): Use size_t instead of unsigned long.
-	* thread_local_alloc.c (GC_lookup_thread): Define in the correct
-	context.
-	* win32_threads.c, include/gc_config_macros.h: The last of Romano
-	Paolo Tenca's patch.  Move stdint.h include to gc_config_macros.h.
-	* include/gc_inline.h: Avoid gc_priv.h dependencies.
-	* tests/test.c (check_heap_stats): Replace unsigned long with size_t.
-
-2007-06-12  Hans Boehm <Hans.Boehm at hp.com>
-
-	* aclocal.m4: Regenerate to update date.
-
-2007-06-10  Hans Boehm <Hans.Boehm at hp.com>
-
-	* NT_X64_STATIC_THREADS_MAKEFILE: Replace obsolete -debugtype:cv.
-	* mark_rts.c (GC_push_roots): Fix kind type.
-
-2007-06-06  Hans Boehm <Hans.Boehm at hp.com>
-
-	* doc/README.win64: New file.
-	* doc/doc.am, Makefile.direct: Add README.win64.
-	* Makefile.in: Regenerate.
-
-2007-06-06  Hans Boehm <Hans.Boehm at hp.com>
-
-	* Makefile.am, Makefile.direct: Add NT_X64_STATIC_THREADS_MAKEFILE.
-	* Makefile.in: Regenerate.
-	* NT_X64_STATIC_THREADS_MAKEFILE: Fix warning flags.
-	* allochblk.c, alloc.c, blacklst.c, dbg_malc.c, dyn_load.c,
-	finalize.c, headers.c, mach_dep.c, malloc.c, mark.c, misc.c,
-	obj_map.c, os_dep.c, ptr_chck.c, reclaim.c, typd_mlc.c,
-	win32_threads.c, cord/de_win.c, include/gc_mark.h,
-	include/private/gc_hdrs.h, include/private/gc_pmark.h,
-	include/private/gc_priv.h, tests/test_cpp.cc:
-	Replace old style function declarations.  Clean up integral types.
-	Remove register declarations.  The change in malloc.c and the
-	"int descr" declaration in mark.c are the most likely to have
-	been real bugs outside of win64.
-	* msvc_dbg.c: Disable on win64.
-	* win32_threads.c: Add AMD64 support.
-	* include/gc.h: no backtrace on AMD64 for now.
-
-2007-06-06  Hans Boehm <Hans.Boehm at hp.com>
-
-	* msvc_dbg.c(GetModuleBase): Replace strcat with strcat_s.
-
-2007-06-06  Hans Boehm <Hans.Boehm at hp.com>
-	
-	* include/gc.h: (GC_word, GC_signed_word): Fix win64 definitions.
-	Don't include windows.h in an extern "C" context.
-	* include/private/gcconfig.h: Fix win64/X86_64 configuration.
-	* tests/test.c: Eliminate more old style function definitions.
-	Cleanup pointer and integer casts for win64.
-	* tests/test_cpp.cc: Don't include gc_priv.h.
-	* NT_STATIC_THREADS_MAKEFILE: Restrict suffixes for VC++ 2005.
-	* NT_X64_STATIC_THREADS_MAKEFILE: New.
-
-2007-06-06  Hans Boehm <Hans.Boehm at hp.com> (Really mostly Romano Paolo Tenca)
-
-	* win32_threads.c: Separate out DEBUG_WIN32_PTHREADS_STACK.  Ignore
-	FINISHED threads for suspension.  (GC_pthread_join): Add
-	pthread_self() cast.  (GC_pthread_start_inner): Execute cleanup
-	handler when popping it.
-	* include/private/gc_locks.h: Inline THREAD_EQUAL for
-	GC_WIN32_PTHREADS.  Define USE_PTHREAD_LOCKS only if we have
-	pthreads.
-
-2007-05-23  Hans Boehm <Hans.Boehm at hp.com> (Really mostly Romano Paolo Tenca)
-
-	* gc_dlopen.c, thread_local_alloc.c, threadlibs.c, win32_threads.c,
-	tests/test.c: Accomodate GC_WIN32_PTHREADS.
-	* include/gc.h: Don't include windows.h for GC_WIN32_PTHREADS.
-	* include/gc_config_macros.h: Define both PTHREADS and
-	GC_WIN32_THREADS.
-	* include/private/gc_locks.h: Nonstandard definitions of
-	NUMERIC_THREAD_ID for GC_WIN32_PTHREADS.
-	* doc/README.win32, Makefile.direct: Include documentation
-	for GC_WIN32_PTHREADS.
-	* Makefile.direct: Remove some anachronisms in the documentation.
-
-2007-05-23  Hans Boehm <Hans.Boehm at hp.com>
-
-	* Makefile.am: Move includes to bottom.  Add better library
-	dependencies.  Increment library version.  Remove "SUBDIRS += .".
-	* cord/cord.am, tests/tests.am: Add better library dependencies.
-	Remove now unnecessary dependencies.
-	* Makefile.in: Regenerate.
-	* include/gc.h (GC_begin_thread_ex, GC_endthreadex, GC_ExitThread):
-	Move to define on all Windows platforms.  (_beginthread): define
-	to generate error if used.
-
-2007-05-22  Hans Boehm <Hans.Boehm at hp.com>
-
-	* include/private/gc_locks.h: Format to 80 columns.
-
-2007-05-22  Hans Boehm <Hans.Boehm at hp.com>
-	
-	* malloc.c(GC_free): Ignore bad frees on MSWIN32 with REDIRECT_MALLOC.
-	* NT_MAKEFILE: msvc_dbg.h is in include/private.  Don't use cvars
-	rc.
-	* misc.c (WIN32 GC_write): Define GC_need_to_lock in single-threaded
-	case.
-	* win32_threads.c: Test for __MINGW32__ in addition to _MINGW_VER.
-	(GC_CreateThread, GC_beginthreadex): Deallocate args even if we fail.
-	* include/gc.h: Add GC_reachable_here().  (GC_WinMain): Add GC_API.
-	(GC_beginthreadex, GC_endthreadex, GC_ExitThread): Declare.
-	* tests/test.c: Add GC_reachable_here() call.
-
-2007-05-21  Hans Boehm <Hans.Boehm at hp.com>
-
-	* alloc.c (GC_try_to_collect): Call GC_init if necessary.
-	* tests/thread_leak_test.c: Don't unconditionally define
-	GC_LINUX_THREADS.
-
-2007-05-21  Andreas Tobler  <a.tobler at schweiz.org>
-
-	* Makefile.am: Remove extra_ldflags_libgc definition.
-	* Makefile.in: Regenerate.
-
-2007-05-17  Hans Boehm <Hans.Boehm at hp.com>
-
-	* include/private/gc_priv.h: Define AO_REQUIRE_CAS.
-
-2007-05-16  Hans Boehm <Hans.Boehm at hp.com>
-
-	* finalize.c (GC_unreachable_finalize_mark_proc): Don't return void
-	value.
-
-2007-05-15  Hans Boehm <Hans.Boehm at hp.com>
-
-	* configure.ac, version.h, doc/README: Change version to 7.0alpha10.
-	* configure: Regenerate.
-
-[7.0alpha9 release]
-
-2007-05-15  Hans Boehm <Hans.Boehm at hp.com>
-
-	* configure.ac, version.h, doc/README: Change version to 7.0alpha9.
-	* configure: Regenerate.
-
-2007-05-15  Hans Boehm <Hans.Boehm at hp.com>
-
-	* Makefile.am: Include NT_STSTIC_THREADS_MAKEFILE in dist.
-	* Makefile.in: Regenerate.
-	* include/private/gc_locks.h: GC_compare_and_exchange, GC_atomic_add:
-	remove. NUMERIC_THREAD_ID, THREAD_EQUAL: New.  GC_lock_holder: now
-	unsigned long.  I_DONT_HOLD_LOCK, I_HOLD_LOCK: Update.
-	* pthread_stop_world.c, pthread_support.c, win32_threads.c: Use
-	NUMERIC_THREAD_ID, THREAD_EQUAL.
-	* include/private/gcconfig.h: GENERIC_COMPARE_AND_SWAP: Remove.
-	* include/private/thread_local_alloc.h: Don't USE_COMPILER_TLS on
-	ARM.
-
-2007-05-11  Hans Boehm <Hans.Boehm at hp.com>
-
-	* dbg_mlc.c, include/gc.h, finalize.c: Merge Alexandre Oliva's
-	GC_debug_register_finalizer_unreachable() patch from gcc tree.
-	* thread_local_alloc.c (GC_malloc, GC_malloc_atomic): Add assertions
-	to check GC has been initialized.
-
-2007-05-10  Hans Boehm <Hans.Boehm at hp.com>
-
-	* include/gc_cpp.h: Documentation updates.
-	* include/gc_config_macros.h: Don't check for __ppc__ to set
-	DARWIN_THREADS.
-	* Makefile.am: Include configure_atomic_ops.sh in dist.
-	* Makefile.in: Regenerate.
-
-2007-05-08  Hans Boehm <Hans.Boehm at hp.com>
-
-	* Makefile.am: Dont distribute copied atomic_ops files.  Include
-	libatomic_ops with "make dist".
-	* Makefile.in: Regenerate.
-	* configure: Regenerate.
-	* configure.ac: Enable THREAD_LOCAL_ALLOC for Cygwin with threads.
-	* win32_threads.c: Report error for Cygwin + GC_DLL.
-
-2007-05-08  Hans Boehm <Hans.Boehm at hp.com>
-
-	* Makefile.direct: Update THREAD_LOCAL_ALLOC documentation.
-	* cord/de_win.c: Rename and move AboutBox.  Call GC_INIT.  Remove
-	MakeProcInstance anachronism.
-	* doc/README.macros: Officially remove elif prohibition.
-	Remove documentation for defunct SRC_M3 support.
-	* include/gc.h: Remove more SRC_M3 references.
-	* include/private/gcconfig.h: Remove still more SRC_M3 references.
-	GC_SOLARIS_THREADS no longer needs to be checked separately.
-	
-2007-05-08  Hans Boehm <Hans.Boehm at hp.com>
-
-	* thread_local_alloc.c, include/private/thread_local_alloc.h:
-	Spell __declspec correctly.
-	* NT_STATIC_THREADS_MAKEFILE: Enable thread-local allocation.
-
-2007-05-07  Hans Boehm <Hans.Boehm at hp.com>
-
-	* doc/README.win32: Adjust GC_win32_dll_threads rules again.
-
-2007-05-07  Hans Boehm <Hans.Boehm at hp.com>
-
-	* mark.c (GC_mark_some wrapper): Restructure for readability, handle
-	GC_started_thread_while_stopped.
-	* misc.c (Win32 GC_write): Lock GC_write_cs only if needed.
-	* win32_threads.c: (client_has_run): remove,
-	GC_started_thread_while_stopped, GC_attached_thread: add.
-	(GC_push_all_stacks): Add verbose output.
-	(DllMain): Avoid initializing collector or the like.
-	Never update both thread tables.
-	* doc/README.win32: Adjust GC_win32_dll_threads rules.
-
-2007-05-07  Hans Boehm <Hans.Boehm at hp.com>
-
-	* pthread_stop_world.c (GC_push_all_stacks): Print thread count with
-	GC_PRINT_VERBOSE_STATS.
-
-2007-05-01  Hans Boehm <Hans.Boehm at hp.com>
-		(and Manuel Serrano, Craig McDaniel)
-
-	* configure.ac: Comment out redundant
-	  AC_DEFINE(NO_EXECUTE_PERMISSION).
-	* configure: Regenerate.
-	* sparc_mach_dep.S: Remove single quote in comment.
-	* include/private/gcconfig.h: Fix DATAEND for NONSTOP.
-	* win32_threads.c: Include stdint.h for Mingw.  Add GC_API for DllMain.
-	(GC_use_DllMain): Fix assertion.
-
-2007-02-14  Andreas Tobler  <a.tobler at schweiz.org>
-
-	* configure.ac: Introduce extra_ldflags_libgc. Use it for Darwin.
-	* configure: Regenerate.
-	* Makefile.am (libgc_la_LDFLAGS): Use extra_ldflags_libgc.
-	* Makefile.in: Regenerate.
-	* include/private/gcconfig.h: Enable MPROTECT_VDB for all Darwin
-	targets. Remove comments.
-	Prepare ppc64 support for Darwin.
-
-2007-01-29  Andreas Tobler  <a.tobler at schweiz.org>
-
-	* darwin_stop_world.c: Clean up and reformat code.
-
-2007-01-28  Andreas Tobler  <a.tobler at schweiz.org>
-
-	* darwin_stop_world.c (GC_push_all_stacks): Fix compiler warnings.
-	Make i unsigned.
-	(GC_stop_world): Likewise. Remove unused GC_thread p.
-	(GC_start_world): Likewise.
-
-	* os_dep.c: Define GC_darwin_register_mach_handler_thread extern.
-	Remove double SIG_HNDLR_PTR definition.
-	(GC_forward_exception): Fix compiler warnings, make i unsigned.
-	Initialize thread_state to NULL.
-	(catch_exception_raise): Fix compiler warnings, make i unsigned.
-
-2007-01-25  Petr Salinger and Hans Boehm <Hans.Boehm at hp.com>
-
-	* include/private/gc_priv.h (NEED_FIND_LIMIT, FREEBSD variant):
-	also define for X86_64.
-	* configure.ac: Move generic gnu (Hurd) case to below kfreebsd case.
-	* configure: Regenerate.
-	* README.changes: Point to ChangeLog.
-
-2007-01-25  Andreas Tobler  <a.tobler at schweiz.org>
-
-	* darwin_stop_world.c: Move THREAD_FLD defines to ...
-	* include/private/gc_priv.h: ... here.
-	Fix THREAD_STATE definitions for ppc64.
-	* os_dep.c (catch_exception_raise): Use THREAD_FLD for exc_state member
-	access.
-
-2007-01-18  Andreas Tobler  <a.tobler at schweiz.org>
-
-	* os_dep.c (if defined(MPROTECT_VDB) && defined(DARWIN)): Clean up and
-	reformat code.
-	Correct email reference.
-
-2007-01-11  Andreas Tobler  <a.tobler at schweiz.org>
-
-	* configure.ac (i?86*-*-darwin*): Replaced HAS_I386_THREAD_STATE_* with
-	HAS_X86_THREAD_STATE32_*.
-	(x86_64-*-darwin*): Extended the above check for x86_64-*-darwin* with
-	HAS_X86_THREAD_STATE64_*.
-	Added value 1 in the above AC_DEFINE's. Important for the upcoming
-	Leopard.
-	* configure: Regenerated.
-	* include/private/gcconfig.h: Modified X86_64 define for Darwin.
-	Removed __x86_64__ check in POWERPC section. Added base definitions
-	for the X86_64 Darwin port.
-	* include/private/gc_priv.h: Added GC_MACH_HEADER and GC_MACH_SECTION
-	to distinguish between 32 and 64-bit applications. Added definitions
-	for X86_64 Darwin.
-	* darwin_stop_world.c: Added HAS_X86_THREAD_STATE64___RAX. And
-	replaced HAS_I386_THREAD_STATE___EAX with HAS_X86_THREAD_STATE32___EAX.
-	(GC_push_all_stacks): Added code for X86_64 Darwin. Even for the
-	!DARWIN_DONT_PARSE_STACK. Maybe obsolete.
-	* dyn_load.c (GC_dyld_name_for_hdr): Use GC_MACH_HEADER.
-	(GC_dyld_image_add): Use GC_MACH_HEADER and GC_MACH_SECTION.
-	Distinguish between getsectbynamefromheader_64 and
-	getsectbynamefromheader.
-	* os_dep.c (catch_exception_raise): Introduce exception definition for
-	X86_64 Darwin. Replaced old i386_EXCEPTION_STATE_* definition with
-	x86_EXCEPTION_STATE32_*. Add X86_64 for exc_state.faultvaddr.
-
-2007-01-09  Andreas Tobler  <a.tobler at schweiz.org>
-
-	* libtool.m4: Update to version from libtool-1.5.22.
-	* ltmain.sh: Likewise.
-	* ChangeLog: Created.
-
-See doc/README.changes for earlier changes.
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/EMX_MAKEFILE b/SRC/Boost/tools/build/v2/engine/boehm_gc/EMX_MAKEFILE
deleted file mode 100755
index 0675757..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/EMX_MAKEFILE
+++ /dev/null
@@ -1,140 +0,0 @@
-#
-#  OS/2 specific Makefile for the EMX environment
-#
-#  You need GNU Make 3.71, gcc 2.5.7, emx 0.8h and GNU fileutils 3.9
-#  or similar tools. C++ interface and de.exe weren't tested.
-#
-#  Rename this file "Makefile".
-#
-
-# Primary targets:
-# gc.a - builds basic library
-# c++ - adds C++ interface to library and include directory
-# cords - adds cords (heavyweight strings) to library and include directory
-# test - prints porting information, then builds basic version of gc.a, and runs
-#        some tests of collector and cords.  Does not add cords or c++ interface to gc.a
-# cord/de.exe - builds dumb editor based on cords.
-CC= gcc
-CXX=g++
-# Needed only for "make c++", which adds the c++ interface
-
-CFLAGS= -O -DALL_INTERIOR_POINTERS
-# Setjmp_test may yield overly optimistic results when compiled
-# without optimization.
-# -DCHECKSUMS reports on erroneously clear dirty bits, and unexpectedly
-#   altered stubborn objects, at substantial performance cost.
-# -DFIND_LEAK causes the collector to assume that all inaccessible
-#   objects should have been explicitly deallocated, and reports exceptions
-# -DSOLARIS_THREADS enables support for Solaris (thr_) threads.
-#   (Clients should also define SOLARIS_THREADS and then include
-#   gc.h before performing thr_ or GC_ operations.)
-# -DALL_INTERIOR_POINTERS allows all pointers to the interior
-#   of objects to be recognized.  (See gc_private.h for consequences.)
-# -DSMALL_CONFIG tries to tune the collector for small heap sizes,
-#   usually causing it to use less space in such situations.
-#   Incremental collection no longer works in this case.
-# -DDONT_ADD_BYTE_AT_END is meaningful only with
-#   -DALL_INTERIOR_POINTERS.  Normally -DALL_INTERIOR_POINTERS
-#   causes all objects to be padded so that pointers just past the end of
-#   an object can be recognized.  This can be expensive.  (The padding
-#   is normally more than one byte due to alignment constraints.)
-#   -DDONT_ADD_BYTE_AT_END disables the padding.
-
-AR= ar
-RANLIB= ar s
-
-# Redefining srcdir allows object code for the nonPCR version of the collector
-# to be generated in different directories
-srcdir = .
-VPATH = $(srcdir)
-
-OBJS= alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o dyn_load.o dbg_mlc.o malloc.o stubborn.o checksums.o typd_mlc.o ptr_chck.o mallocx.o
-
-CORD_OBJS=  cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o
-
-CORD_INCLUDE_FILES= $(srcdir)/gc.h $(srcdir)/cord/cord.h $(srcdir)/cord/ec.h \
-           $(srcdir)/cord/cord_pos.h
-
-# Libraries needed for curses applications.  Only needed for de.
-CURSES= -lcurses -ltermlib
-
-# The following is irrelevant on most systems.  But a few
-# versions of make otherwise fork the shell specified in
-# the SHELL environment variable.
-SHELL= bash
-
-SPECIALCFLAGS = 
-# Alternative flags to the C compiler for mach_dep.c.
-# Mach_dep.c often doesn't like optimization, and it's
-# not time-critical anyway.
-
-all: gc.a gctest.exe
-
-$(OBJS) test.o: $(srcdir)/gc_priv.h $(srcdir)/gc_hdrs.h $(srcdir)/gc.h \
-    $(srcdir)/gcconfig.h $(srcdir)/gc_typed.h
-# The dependency on Makefile is needed.  Changing
-# options affects the size of GC_arrays,
-# invalidating all .o files that rely on gc_priv.h
-
-mark.o typd_mlc.o finalize.o: $(srcdir)/include/gc_mark.h $(srcdir)/include/private/gc_pmark.h
-
-gc.a: $(OBJS)
-	$(AR) ru gc.a $(OBJS)
-	$(RANLIB) gc.a
-
-cords: $(CORD_OBJS) cord/cordtest.exe
-	$(AR) ru gc.a $(CORD_OBJS)
-	$(RANLIB) gc.a
-	cp $(srcdir)/cord/cord.h include/cord.h
-	cp $(srcdir)/cord/ec.h include/ec.h
-	cp $(srcdir)/cord/cord_pos.h include/cord_pos.h
-
-gc_cpp.o: $(srcdir)/gc_cpp.cc $(srcdir)/gc_cpp.h
-	$(CXX) -c -O $(srcdir)/gc_cpp.cc
-	
-c++: gc_cpp.o $(srcdir)/gc_cpp.h
-	$(AR) ru gc.a gc_cpp.o
-	$(RANLIB) gc.a
-	cp $(srcdir)/gc_cpp.h include/gc_cpp.h 
-
-mach_dep.o: $(srcdir)/mach_dep.c
-	$(CC) -o mach_dep.o -c $(SPECIALCFLAGS) $(srcdir)/mach_dep.c
-
-mark_rts.o: $(srcdir)/mark_rts.c
-	$(CC) -o mark_rts.o -c $(CFLAGS) $(srcdir)/mark_rts.c
-
-cord/cordbscs.o: $(srcdir)/cord/cordbscs.c $(CORD_INCLUDE_FILES)
-	$(CC) $(CFLAGS) -c $(srcdir)/cord/cordbscs.c -o  cord/cordbscs.o
-
-cord/cordxtra.o: $(srcdir)/cord/cordxtra.c $(CORD_INCLUDE_FILES)
-	$(CC) $(CFLAGS) -c $(srcdir)/cord/cordxtra.c -o  cord/cordxtra.o
-
-cord/cordprnt.o: $(srcdir)/cord/cordprnt.c $(CORD_INCLUDE_FILES)
-	$(CC) $(CFLAGS) -c $(srcdir)/cord/cordprnt.c -o cord/cordprnt.o
-
-cord/cordtest.exe: $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a
-	$(CC) $(CFLAGS) -o cord/cordtest.exe $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a
-
-cord/de.exe: $(srcdir)/cord/de.c $(srcdir)/cord/cordbscs.o $(srcdir)/cord/cordxtra.o gc.a
-	$(CC) $(CFLAGS) -o cord/de.exe $(srcdir)/cord/de.c $(srcdir)/cord/cordbscs.o $(srcdir)/cord/cordxtra.o gc.a $(CURSES)
-
-clean: 
-	rm -f gc.a tests/test.o gctest.exe output-local output-diff $(OBJS) \
-	      setjmp_test  mon.out gmon.out a.out core \
-	      $(CORD_OBJS) cord/cordtest.exe cord/de.exe
-	-rm -f *~
-
-gctest.exe: tests/test.o gc.a
-	$(CC) $(CFLAGS) -o gctest.exe tests/test.o gc.a
-
-# If an optimized setjmp_test generates a segmentation fault,
-# odds are your compiler is broken.  Gctest may still work.
-# Try compiling setjmp_t.c unoptimized.
-setjmp_test.exe: $(srcdir)/setjmp_t.c $(srcdir)/gc.h
-	$(CC) $(CFLAGS) -o setjmp_test.exe $(srcdir)/setjmp_t.c
-
-test: setjmp_test.exe gctest.exe
-	./setjmp_test
-	./gctest
-	make cord/cordtest.exe
-	cord/cordtest
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/MacOS.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/MacOS.c
deleted file mode 100755
index 5d09e38..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/MacOS.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-	MacOS.c
-	
-	Some routines for the Macintosh OS port of the Hans-J. Boehm, Alan J. Demers
-	garbage collector.
-	
-	<Revision History>
-	
-	11/22/94  pcb  StripAddress the temporary memory handle for 24-bit mode.
-	11/30/94  pcb  Tracking all memory usage so we can deallocate it all at once.
-	02/10/96  pcb  Added routine to perform a final collection when
-unloading shared library.
-	
-	by Patrick C. Beard.
- */
-/* Boehm, February 15, 1996 2:55 pm PST */
-
-#include <Resources.h>
-#include <Memory.h>
-#include <LowMem.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "gc.h"
-#include "gc_priv.h"
-
-// use 'CODE' resource 0 to get exact location of the beginning of global space.
-
-typedef struct {
-	unsigned long aboveA5;
-	unsigned long belowA5;
-	unsigned long JTSize;
-	unsigned long JTOffset;
-} *CodeZeroPtr, **CodeZeroHandle;
-
-void* GC_MacGetDataStart()
-{
-	CodeZeroHandle code0 = (CodeZeroHandle)GetResource('CODE', 0);
-	if (code0) {
-		long belowA5Size = (**code0).belowA5;
-		ReleaseResource((Handle)code0);
-		return (LMGetCurrentA5() - belowA5Size);
-	}
-	fprintf(stderr, "Couldn't load the jump table.");
-	exit(-1);
-	return 0;
-}
-
-/* track the use of temporary memory so it can be freed all at once. */
-
-typedef struct TemporaryMemoryBlock TemporaryMemoryBlock, **TemporaryMemoryHandle;
-
-struct TemporaryMemoryBlock {
-	TemporaryMemoryHandle nextBlock;
-	char data[];
-};
-
-static TemporaryMemoryHandle theTemporaryMemory = NULL;
-static Boolean firstTime = true;
-
-void GC_MacFreeTemporaryMemory(void);
-
-Ptr GC_MacTemporaryNewPtr(size_t size, Boolean clearMemory)
-{
-	static Boolean firstTime = true;
-	OSErr result;
-	TemporaryMemoryHandle tempMemBlock;
-	Ptr tempPtr = nil;
-
-	tempMemBlock = (TemporaryMemoryHandle)TempNewHandle(size + sizeof(TemporaryMemoryBlock), &result);
-	if (tempMemBlock && result == noErr) {
-		HLockHi((Handle)tempMemBlock);
-		tempPtr = (**tempMemBlock).data;
-		if (clearMemory) memset(tempPtr, 0, size);
-		tempPtr = StripAddress(tempPtr);
-
-		// keep track of the allocated blocks.
-		(**tempMemBlock).nextBlock = theTemporaryMemory;
-		theTemporaryMemory = tempMemBlock;
-	}
-	
-#     if !defined(SHARED_LIBRARY_BUILD)
-	// install an exit routine to clean up the memory used at the end.
-	if (firstTime) {
-		atexit(&GC_MacFreeTemporaryMemory);
-		firstTime = false;
-	}
-#     endif
-	
-	return tempPtr;
-}
-
-extern word GC_fo_entries; 
-
-static void perform_final_collection()
-{
-  unsigned i;
-  word last_fo_entries = 0;
-  
-  /* adjust the stack bottom, because CFM calls us from another stack
-     location. */
-     GC_stackbottom = (ptr_t)&i;
-
-  /* try to collect and finalize everything in sight */
-    for (i = 0; i < 2 || GC_fo_entries < last_fo_entries; i++) {
-        last_fo_entries = GC_fo_entries;
-        GC_gcollect();
-    }
-}
-
-
-void GC_MacFreeTemporaryMemory()
-{
-# if defined(SHARED_LIBRARY_BUILD)
-    /* if possible, collect all memory, and invoke all finalizers. */
-      perform_final_collection();
-# endif
-
-    if (theTemporaryMemory != NULL) {
-	long totalMemoryUsed = 0;
-	TemporaryMemoryHandle tempMemBlock = theTemporaryMemory;
-	while (tempMemBlock != NULL) {
-		TemporaryMemoryHandle nextBlock = (**tempMemBlock).nextBlock;
-		totalMemoryUsed += GetHandleSize((Handle)tempMemBlock);
-		DisposeHandle((Handle)tempMemBlock);
-		tempMemBlock = nextBlock;
-	}
-	theTemporaryMemory = NULL;
-
-#       if !defined(SHARED_LIBRARY_BUILD)
-	  if (GC_print_stats) {
-            fprintf(stdout, "[total memory used:  %ld bytes.]\n",
-                  totalMemoryUsed);
-            fprintf(stdout, "[total collections:  %ld.]\n", GC_gc_no);
-	  }
-#       endif
-    }
-}
-
-#if __option(far_data)
-
-  void* GC_MacGetDataEnd()
-  {
-	CodeZeroHandle code0 = (CodeZeroHandle)GetResource('CODE', 0);
-	if (code0) {
-		long aboveA5Size = (**code0).aboveA5;
-		ReleaseResource((Handle)code0);
-		return (LMGetCurrentA5() + aboveA5Size);
-	}
-	fprintf(stderr, "Couldn't load the jump table.");
-	exit(-1);
-	return 0;
-  }
-
-#endif /* __option(far_data) */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/MacProjects.sit.hqx b/SRC/Boost/tools/build/v2/engine/boehm_gc/MacProjects.sit.hqx
deleted file mode 100755
index 7a92d82..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/MacProjects.sit.hqx
+++ /dev/null
@@ -1,886 +0,0 @@
-(This file must be converted with BinHex 4.0)
-
-:$deKBe"bEfTPBh4c,R0TG!"6594%8dP8)3#3"&)e!!!"4UiT8dP8)3!(!!"50A*
-
--BA8#ZJ#3!aB"#3d0#'GM,MBi5bkjBf038%-ZZ3#3%)Zi!*!8"@`!N!6rN!4069"
-
-568e$3`%!UbqAD+X`19S!!!Ba!!!,*J!!!F%!!!-PfTmj1`#3"PET)d31)LTH6H4
-
-#*AqG5b5HI*)QjY$IIb00%ReTJSi6rG$jG(bZ,"Rc,9Umf[IRj)6FZ-j`GfGR)#!
-
-m-#qLqB#cj'G%46qffB3q8AppLXKc+P&*il4FMJMq3N32r[U,(PlSNdrQm-J(4!p
-
-jK)NHmKJSHY!,&chS$4)pk%8mL3I)B0'$AU6S3'q)k%%[5[5J&ffa#68)0ZM&#T!
-
-!*fHC-2dFZ3i83[Vr[4Xh'+DNQrm'J)rrpqe%ST`,FeVi6b,*qHH")4eQc28NFMN
-
-ZT*m,L"Y%-`pdAk6RLHDaeVV0a,, at P(4UUK66rUM'8bf91llS("lTh81)MBQ+4*q
-
-rfHENEhD)Ke#3!09'M%bL[P1+G88fa$3e)5Gpf0kARpBf*6eIH*0`ZBHR%ii"PbN
-
-+D&*)688M)Sm$Bm[cCdDjh2YIjmAc`(TVpi*Vka((A*&Yl@'LTSH1M*AMP#,2[A$
-
-(FHA at S"dL4dER#3b!EfBYem(C9P5iGH"a-bb-AL(F"bb-AL,F6)%a9pJUL,(hf%B
-
-TeQb["X5ib4DQXV!-fa6&mZf&3,(C&UDd-((SpeMBEIB`8Zc,BcZR3A5'X+jYj$'
-
-6)6HVV+R[!`#3!`X!(E@*MFQ%R4d"))`m[3JM[c)bBS54Tj'M(AP+MK&f%VD5SdG
-
-SANFB at 3Rqc$Am83(+)`"G(D%A'9!bBQ6!b)b4Sq3SH8D1NDGNX$)bBi54!51--$*
-
-Kj0L!M"KKK"dC--,)-h+-6#KKC-$)-F)NamL!!Z06#X!!b&%bBUHp8RcN'%%6!b,
-
-i!!kV"`"DLHFaK*!!"Ym4K,,2i2X4c[,`c5!GIPf!ZcNi'8'VfJFpSfdpq+CY$8j
-
--V'f-DZr2[36#1(ael5hmfT at 1cSU66D5pqDSA89pdTP-`Z[jj6T&!PmZBFZjal"&
-
-5iG6#blE$+&kLh#QZ118&(0T1J(hZ,9)5MJ9ic*qPI!ac'RJ96QMZjSbkMq()Ui6
-
-B+f,,#'N1icbM4N"aaBr1`3Z9U'8RY'XAiVXFKp#&k2D5Be%VCdh4%,+2QS'b"Q2
-
-%0PNT4rE#%kTUFqYDM56bVjfe!p8MqmL)1VmjVkJY`U[*$&*L3AMSpB at LCQ*U&l%
-
-T+3890rL,V9klFN*4 at f0UTf8Z&&afN!"4GC6G8p3fN9$4+4[- at DAeK%lej"@eAAL
-
-eU@&4[Tm28%mqqUkS(F+VDa#lB&'rlRAllRP&l460Qc,)MHR$jMh@$8Y4Xc'e`cd
-
-ZE2AUUiH+fK96feb$epq&'RAQeLG&lCDjmP+"Kr8k9#qp'eI8RPf[6R$dS+$UcqI
-
-ELYSV[*ETFL&j[@lr803qd9I2A#bi4Vei3*d[+ at Urk*!!&abe0HTVm%44"i4A6JN
-
-c(2I!kjRl6a9e813DK"A6p(LjRZZGaGH+1L5SiBT[(6ekd2*ILMSXU(l)#m3QMDB
-
-V+QTG!r*NG#RQai#DNh4,l0&!Ie`dYi98Y1%1A$5hKP4,`d9cHdKP'LkD at q4hYC*
-
-%dfdLeCCNN at i9UIBNLh5l5(8N68qhM&4R`d9cfdKP'bkD at dHU+qe&XRfNZSqc10j
-
-#8Me*&ZNfNZT0hSYd+dP&ri-FGM6G6P,p5D,rPNT0`dQLk5+6'NLb5"HDe'$L)Pe
-
-X8N2bj-Z'$r$6-$NZjLGC)1lB-"jQSff@[ak%LJ[rI#%p2ddAGREN(@"V+,S6CI!
-
-I!!!0$3KRBbj38%-ZZ at 0M8&"$,VN!N"#$BJ#3%4B!!!d'!*!%rj!%68e38Ne33d-
-
-"!+X[PfqV-$P*!!!'-3!!&UB!!!(&!!!&C80(jji!N!BMM#0%$L)UANhN3L9rV at 9
-
-B`f#c2p$XpAVVCc-[`k20Y5bJ+CTHPScj`Z'!lmr*#EPaRH(ZcR!J!!rqMKG"q)#
-
-cj'G%46qffB3q8Aqp4R6FA83PM6`KUjaYD&IlZ at jDrY"pk[b&AZrdH*kFbb9PM*S
-
-`4Kh$c8Lf0bVe+Y`Q$amM6mc%*C1(jF&1bFSdGIlLpc*04b#X&D8[&6R%+-#6HhJ
-
-kX"#A+Bp6%6RGkB&kM%'jh$ZLmam[1Irq,r82rGM"5H4bh1ZB+b"Z%&-pD)5CL9(
-
-AP(4UUK6$!(lkH+UPFXFARF-MIHHMXf!5Nd%SZYRQj'pfL)G3N!$94X#(q25G8U`
-
-VXL'QU3Njk8[phV2 at 0Q92J#d6rA2N1["[!%c(M4X-8p,0IcYJf2lRBmD2c)*RQEF
-
-68m'9jqq*MjHTji&GqDp$kh501r9fqVPJe4iQDRS)L!)ELqiX08i#@40jpP1+F at p
-
-iC&))L)Qq4Bk-cK-i*h`cDlN1cMBUbZA3+beKhX*-&UD`X%ME%F91fHB3BaCC''Y
-
-KNba-C@(,"-40Yl"l,#c8`YCDf%#"XGD%F4m3'*i'k"iah[Ddam+k"Xd3eV at 02'B
-
-bj'D90I9p!!!-q)[jAU2HhQ[NiCQC&f(Ne`JR!hlN1''4Sjc`)hcL5IK+f(@8(q&
-
-(1&Nj2XreTBI[M!0dGB4'MK01#CFF2c,JK"*1MNZ1(q&(11 at 5ii5EKimF*ja``Np
-
-#bA(#bBL6BpQ6jq5imT-m2mQ!dq2N'H&2RT2M%Nii'6$J,PF!#N#jGS3IS9Uba%G
-
-'A-)*8[#%!j-9'#r3 at EpUPQ9+NL6$ldj*kVS6INIK@`*q'q$hGRJCPb,`pUJm(fQ
-
-3!#mGrdQqe$Nm22hkJ2cerNp"i3$m4Z62S5YA40V([V`MbHF@)QPT2IN at 3@$ceHm
-
-I&dT3GqF9K,'&&8[6LKMTbQ6 at -*%bJE#4RM,b'FA*'VC5`0BBdTa"@aNXM#)mU'"
-
-N at d@XSIKMMiMh#RbbLSjLT49GG9"F84)Q8QfN&![N1hK"A'V5F,,dJIF at +`iNJEb
-
-H-(5Nar84j!"*Q54MH+j&08dYQc,(ipT9I+aFqIQc-XP313&803UUPPD4*+UAIlj
-
-$U+jMAP1QUSfEYV2Qp4HKfZ#TYQTCT)hEaCbp+ZXH0"m5USfHDV1HbL4cCT at 41rr
-
-5+d+eL4&+'hR90)iLRp$LYcm)e5McQN at UMR#&$kKqr%eHU-DBejbUCC-k+P4N5r%
-
-Iha+Uc5aj)kVfm*'ej*8Dali5ULfHDLah-l$Zfer1#G9 at 6l8TTf*r,RKTZ2#Q8'h
-
-MA2&i%MYq(0aCicHKfPlfDYLeJ3*FFEG3l@"HmfJbqFrdHU&IU+jRHE95BmQFkJF
-
-29)qp)93hX!aCGLfYP0!jSEU4HF9)-e8M9rADGfC4U(BbVVC66+8XR2Hj2RAmGk'
-
-kLDNk8`@p0[6F"hrG,e3h`kmm(BhDMQjBm@`ejDH1pG)YbUXYM'Y'5aD`-H(VPZ)
-
-,*i6A,Nqe)D1Y'5 at UV@HM3VAE)a3$3MT+9jAGa)HI#%*E at 9ie+jmf-PA9dY#66`Z
-
-[fkMA!l&$eZ3)bP996crcal6`ZRdT$9NG0S#+V([`rRZ&eae,A%dMGB2V4H%9YPL
-
-LfZ3B194,NC[ik!QKZSYlaE"deVc1$3[9(XVeFJIG0T,9**@'AVXJZ2Db$%'!,$a
-
-e+d2+8SES`Z&RD1(C`m,VlM*Aj)cP#M at ZlJI#Djp(U28`fl)VL9dKY+IXeFM!HRJ
-
-MVc0#YCpj6@!,M0VrHYh,CMQN!FBjl1ZVEPhjaCK)``"6,6JiU@@ekMjdmEEPI at M
-
-3DpXKj3pi+f`LFFpIUPrF058)N4X)f4ZQ*P5c1[&!pGhC4i at Ue2BCE"bRL&haLRk
-
-Thb#ZUK&ZK-Kc9k4Z-[QKhdaf&1KhN!#*#IdZ-XfJhdPQ)I6l#![SYjD'HXp$hdA
-
-f$1LhNlN-r4DbV8$I8iS[RSEqj#URqY@$9b3dJG1XG))%khUHJMX,Vh896Z%"I%B
-
-PFK1MejpP2[@,$LpbTe[Q%h#[hhai0BBHF+r-MrTeL9G6k!!IKHa1rmf2qMf,9c6
-
-d)%I[5Hq$1hVVq60(`H at -9fb&cfkb$BBDc1-Ck@@#jrVH%0cXH$@cIK[C#F&2Q9X
-
-[qpl(HTpEQ9F`KqVA3&iYS3Pl6#ARpIXMVpCP6[+ma`PkbJPkbJPkbJPkbJPkbJP
-
-kbJPkbJPkbJPk1MHKTlbJTlbJpqGlF2RNe4CD`1XDTfUZEYjDHE@[F0T$,KbK"Vc
-
-mA!9AAPiGS3Qjm[HQi+l-LraVj'p1i3&mcNKce1 at eZ4pFX(PY at 1(66rD18)Im"eF
-
-YAJ1K#AYcK92peXpVBfM#AZAIKi*r&r$U$"h)dkhp2[JI!kp0S3GjhdZZV))A!43
-
-jH4kk(TLQKF4pTXhHI!ITRb%hcX3KfeN#**1EI54a"'@Z8(9Dm%D at b"Y#qhm!N!-
-
-0!!PRBfaTBLda,VPM8&"$,VN!N"#ah3#3%!9X!!!I``#3"2q3"&"56dT,38K-!3#
-
-TY1))Uc!eD!!!@F-!N!B563#3"2$I!*!)22J1`2KbNQaPEr+hGEX``Jk!Vpa0&eT
-
-RDl*eSGZ&%EEAc at iGG+hAYBDRapHZd6ETQH'lV2AbpMVJ4lN,ck0G4lMb)fcKAQi
-
-*AeLhm1)VRfPGM,"Zi8pBG1%a3VYZi at m, at rM#2'iAfhjHacE,K"[bJGYB,ZcNP&#
-
-"$cqJ[fRG`SmXR'aMC-H6r-)AXTaNHE+Fj"HkN!"0"R[G!H4jITB&`!(!dKX"PZ#
-
-Z+PX+S(dCS&YGZI3,cN3L+P4H)V5R at D3p,54$JD"3'!j')mhRcl%mUJ)9e2PVUaF
-
-j[6lNX)ll!4,jajb6UrZK!hSTX[caD`$ZIHl,pdeVm&EaLeKG-YjQB6AKT)84pF,
-
-kB$+55%ID`b-4QF0T19ckfSl,d['15$X-4cTr0"2!dIR5%1j[S4JQa0,J4lT!pkc
-
-"EjcQ2ZmmNDF36,1DH)X!8($N3ihbR+mcX1GC!E!0fi)+ra)rCUL`#HU&V9)ke`6
-
-IhTB!b&RK%B!&4fA8Ecr8+8IBcr)4Z8L+$bmVaA0$-Lr)$3+SMf0Xkh!%1L(hiM$
-
-H56i!P'Q(V3ZXrmCRE,f[6f'0N!"Z$E6%fl(AqCL20Ka-#kRdjh`qA&CRACe[!5i
-
-+PSiKjh)6PJM4H$#5%&U%HF#GqF0F$MM6fH)T68dFSQ!hQ*["e3hGME'TS#e`Fmq
-
-Sl`'0qRTZMfEcM at b8M`(hV,a,kqB4N8iZ[4Sh5b!9ddQpT9YP#5UK!NX`BDbr,"E
-
-!TME)X#08Bm,*$)fP2Ci at G1bTGUbETe@@q%4QL60h[2d5)BQGX-U5,*6)q)99'NX
-
-bP3a1pJZTH#BC&"!P%4'5XP`!Fm82LidDE@#h&eejC#m'cSQd"k1C&S(CD`*"Va"
-
-S%C+TmmkE6aJ*6S3kTd8)4GS&PNjQ"#DY1419T&!JQT+cV-0*5@'9$$5+K-58Y"%
-
-N8Ea'&)q3!*!!UeBZ'qd'!&14D",LQVJ'$qTI1DUU3$%0cAD!e9HMkl`KaGAASBj
-
-TJ#pMhSb5Rq0c+LJ3l3LJkD2dcrJM2Q%3Kh&mZL-JR(&m+L$L-)j29b,%B4br8)j
-
-X!Y$j4ZUh`)[eI!A!R(d!4AHG`LH[d[f at re6*b2mAI`)H5F0aI+2XYq2iC)+N`6M
-
-qC$b5"Z2ij,N%KHI*24K!$k at Plm*Hm'Rd8-bci0h@*rK6m%JDM[-[aZ1Nhq+IKNH
-
-UJA&mE-V&'KM(2a129!2Mq2,5(2qIrSHmNfTSR2rTH+3D'XHRfL81irM8FE,Ep4r
-
-eTUeM[5Ra8bilkJJ6f!)lF0e(0'p*Cke+2Nq9ccEjh#UIZq6c&[RmM(3ZV*!!cL0
-
-k&5l"Jp4$Ilc)-m$9BDMqeV0m$l6LhM(EAX9A,10lG,aR)2GNb6Sm29&b0 at CfmMd
-
-&Mr!pHLh'hX&p"qiPVV#h)jIcaN(YAHVY!-im,lH&lp&Fc$pX!KD$+,qKqbMQh",
-
- at BjDAX[M-KFF0&bH!le%r'GC at E`LVXP9mKXdeG)3QcED[U18Vq4jY2c-fD8XFl$a
-
-Jb0pEdXPRCYXVR!e1c(f%qF`GKAUQcPT3T6E-YjCF2GYHhq#[aqa0'*p at XJl4r*8
-
-qM(Fa(e1(MAb2DUZDVTq-SD2mJ+kFAj*ldAQmX-KFQf"C5i,E1fA&P2jHj`!8*c4
-
-Cbq,eU+LUqmriLrQ-H$8"RJ(GXC,YKXYCKk(M!EcN!3MV-HG3b at DB@MEAd"P5,9[
-
-2CjDYplkH1ckr$1D5aNf'jH[,p0ehXaPCKe@(eI0#11SC',UQT)X9K3qD(G8hK#c
-
-C at GQUfADhU*AQPE#2X"A&i-9KaAUdDe$"bpQU)@mfJNfL,U61YQ4RBFiKFac+[hC
-
-Y at 49Fi(Ye4UjKII9Fl[b`UM[(Ca+6ZhF[@mq`0Seer)R3*#Y$$IcK`pPc%EI6FKZ
-
-I`IV"'%bLZK'Mdl!5jqQ+3J!feU'k*f(FZf(EGY@@N!!CGAmMqd9 at CrDD68d'jf(
-
-3TlQV6AYhAEJlGh4$epjV3bSqBiDXKA!BPjeTVUYp1pI,DPfESAK1"2eSD[B-elh
-
-H#"KCEIFl0K-Um0E-CFr[,$HC6Hhc`fDr-eb-HmN5*`iSE-8)!#TL+mfKpUV"jrc
-
-$X6fMXIlRYZ5'5$I94YXX-&C(`""L$Dkf)VmVe*%)GZr'mh(#3i3EqlYKNKblRf*
-
-'9fi`h"aV43`ejERI0DPfA"MDB``XX)HHa#bYS3h1c!hCcPlQ0+mDh0Yr`mEU8Hk
-
-YrAmUXCIMj8SFBkA%6iNVCjRI%C(IMj&E3 at l3G[C&a#hGId-rBQbXrT)c0e6q'2p
-
-eC)89`[fJmPd62,qrh"5fBCA-$%rb1d1R5hbj`ddQ1G,60%Q1l'T#EqB1)110@)h
-
-%i!95M+ekEiM0HfqSHM1k9UQY&%V$jTQPB&VZFVm*4FmG"[Acbff$#qbZ,a3IKUr
-
-B"VZ2A1J-[B%elK$paa&k8Z63JaakNVNdL$c1fP%+A`QGIJ'bm6iH0ZklkX(0S"E
-
-8jP*3Mb,[3pbE@&fLD'2RS at ZY1`pG"kj1X1j#2R9*X*QX*TAMbYcVef*YX2)T6FA
-
-Q at D$Hf'AE5 at VBGSP+2*elSqN#9T4Gc"`I)"SMr!P3K8hPL)Se-- at E+!*#j8qBAdA
-
-F)f`H'*JMT!TSH at V*`'V2IZI1K at DpeEljYRXA2YJ9eU,IcfjLaVQJjXS%LTUELM'
-
-UNU1Q*M at HTVX(FV[-AA`QqadqFr3i9[JU81PlSB$r%d$A3iqhZfXV+KG!GjBeeU(
-
-[-cfI+9deX0(XqqDqeeCrEqGcqm6iUPf$i$#AQd`B at p0rSjJ6NR2d'hX'fX5-"MQ
-
-MU,pRS%(-F-NCDZeUk[$*BA*h$2XG9RaZHj-D6bq3!1YJC6AD61 at QEFZ@lXi09,[
-
-#3r`40LMRE"V0'C!!FecYKJh1Q(D[`hN%90BLbX@@Y!c8C8j3QmY!ApD)[GhVGTJ
-
-**CcApF6MTA!ZjkemqUrh9AKG,PI[cVeVI+q#h6`$QIm$kKcXmZ"@c&ph+[pbaRf
-
-+-2[6I1-)JqV1YQR9UpZ-&Cd9Uc'6i5P6JCdV6"8c-TKV%$1eQ*@af2(L22GJCe"
-
-VaTDFcfaEffcXh1Pef-$Pm$Vic)0VQmqbL$(+mRVQJpGcr8kVcZZakIJ-9F5"VJ2
-
-A)XVacTfpDfd&ZhSY"9l2XleH6rpD3Epa6E1D10FlQJjH!G34SPGS&qM3*fC3Pe2
-
-L`2L%lVY,CV!*T39qcpXH[fHHVQRU'%UAhk2&Qk`VKaD[,i2ZHk`cX2[6K&iQRrQ
-
-lbPXmS at QX)1Y!&RH`da"Y"8BfPYDc4GPC#3lV4AhlG+E(2&HTGaMM!VD)&65CaPL
-
-Dr4lQB&J09`k9kE(,mhf[0f[T[[2#[mfpH2-6*6k4bk,U5Z`kcd%Ia$UcfEZ2Z!G
-
-1&'%PEF2B1aKl$'0hBH`R',X1BjX`pP1-h6AD-aHa8TJD0Z"T@[KdIJ$5L*0!R+1
-
-)NmCi#mDEj(J5i`fS4KaV[49[Y[ASjjGJCfSIkdaR)f+)e-#cLpMMH4iTJQFE+B$
-
-RFiN4RXfXNFpBZGXAc[3QM,G2Yh*CMh at 3!(q8lFE6#ID-P'YZ"AefKT9M99N2Re%
-
-Z5UJ[cKd0UjR$Y@%N5eQr[bVdDANH1X3[2[#XjcJ0%Se1!jKa'U#f[M%BE`p&`TC
-
- at -mfEF*1J""c`J'Sc4b0!`0Q1cH9X!e(3aCl!)H`k4qIhpfYS1)*',+EMMLJR'JM
-
-*XAVRp4,L3*6EFHJLENI+bThcfZ at BBX$BV8U1Sr- at +@iljX&F'M+D6*J-'5#(%1k
-
-[1&EhlT'("@L3!%(&RA-a6V0,2#9X9%3D8*&8fT'k`V(k5V),NCZX$kh*MY at GDYV
-
-4Y-8%c[bAlh!l-U6&69c*e at N4Mj-C)C2d+XbiMLZjUSJ3--Aq8HQ-$[R0RcMaPa8
-
-e&lLqlpUj[TGS[iMVqri'VZr9AUl[KhZi[J-YA0r"GUl[d&eFhq'YA0rr0h*pEml
-
-RqYlHa2Ap"212)[Ba!pGh2-6e$Gc+p3dqbr80[FMe`hbZAjA&I4IA2aN0'##DQ-I
-
-F0B%8$M1bX*!!6V&dUi!$KD&N2-DNDAZFBic&F2BrKF2r6-!j%"D+4)8c'q,aD,f
-
-3!-3j51B9SJP at RdlLA(j+(8X++A at L25E3BD9ki@,HV9l at i1F0$6KDbP$RC(bL'2*
-
-%ikP8)(QCZL15MXe30%"dDAVbI)DMURqBCV&i5b4dfDrbrk!LN!!@@#SGL#9B+*j
-
-N3JH#Y3HLV#@5r"fhhq at IS5Jp9LM&BLQF6+PSMTk2cbS%9c)KQ at 5a90K#Sf4N5PN
-
-S5M[3da4hiQK)k+XiA(ND$YpSYSe-m)LIZ,6N5rL%!p$M"e)Z2G at JJJ8FXU,((EM
-
-pQ)@$C4*&(*ZN6`SqKSGP)q02Q+F@[iqA at RaFJFBHbCM4qfMF%h!%89`D('LN6e`
-
-k'KDkIh4i5)XM8r4*4)JcM9hKZ+)%Kcj2Rl4%aj+pAcSALTmN,qQmF&6[3Z`$k*0
-
-%H%M18RJEF-b22R&0qM&+6, at P[&-a!BIik*1U!BGKe64B611lY)`iBNHI9"S+Ab9
-
-l)JjKd5HT3V25,H+!P%`9Z`rkT%9kNCS1THY!pHQ6Q&%@$8)T99L%Sfhd5H*hI$J
-
-64C28Y,C`Djl#m$6b!XGfTmrR*X8$d at L`Y6QkdK+%4i(E8[b59GP&,"cqQPC3ih4
-
-MlA''N6k&X1iVfl4IfC%6%hNG3kaD8[4Nmd+LGcpXR+[Xb-XNFZZYEkLS`Q4G+Yd
-
-5L413!'S-T`$1NR'U9P55`+R)+U%aM8!K9-"b-+[Xk$GR5FTkh)hN*rJB5 at -L'EP
-
-%j(6IK+GdbSlH-e9"XT!!TkM$335*3-%BFqd`miD+#P4)M`VKJ,5STAS-5DFJ,A9
-
-lRF6mdQ"V)#Q+K-c,[YUNl&M9XNEZ at PkXmY(k8'eCj+P3G[5T%69*)e+cY5 at CqV"
-
-#$%SP0969B)9`fR3N*L#-jAfF#50kqURL8%pU-)M3+FmipZBILqkTH!E9YJip)aj
-
-%`mKhi"GMeDhkeqSZq1IU*VIi[,SeRcM3"dM$M['C$j!!BhcZ!m11mCN2&2k,$aK
-
-qi32[Hr5%Rh[d,hX-I&T(k6&F2UIBBc4(!m'9d93k(d+2NBr*-djj`D*SpBJAZ,f
-
-9j!86F'3iZ$+9LDAqShqJf[jh,cLPbr2V[SPKZ8BUA*j'UT'@jR"M,2UIAFerUC*
-
-hbU&Hqqk24KaUB492qKV`$C4!&+Z"V#$rQ"GJ24rmKPrCa6X4KAZ0c$d at 5+lmTal
-
-hVejS(qNI[*91V#iSP&p#b,2 at 2paR1A6E52mJe6FBBMJ1dGJL*2+9p3qIhj!![Bp
-
-M('C8fB"h)XK)5,I&%TpfThIZ`BHa&(9Vm2+9kL#QA,kQIZdYiIaLYrARRVV2f2q
-
-YNG[k'UGr%8DeBN-EK0EmEAlarTd(p5,rIHIa&j&hIpETLXk#R at jbC@-b,9jkj$[
-
-SG20dc3jaep#MG,*Rm*9,kClGd#jFfLM2Qq at TmibVrRcNcU2@95h1CX5Efl"&%5r
-
-8mURGV at U5ZdHGS,k4EYRemG4[EPCrFjZ4PqYQYFV$Li`LB4cI%5Ak4CIabTc4cV5
-
-Z`5pfTSPdXM(B'Xb,d*RQlCVl-6rbfNK(iUpddhemB9))4J14@"k%hM42efh'efl
-
-%*i192U1qBE',qSa81Y2F(%qfjbIV-mbRlM2Dk!QiiGN-X at CeBXhQjHJG2R%#l)P
-
-%*m$r!"'46R)DGS+2k[XNTp(qiGGq at r81$FI)IYZ`[)lZM!cTba)YbQKh2VHq(T'
-
-iYATPahXMf583L9i#-b!5'SA3JP$LMk5FV"eL5P&e,)!2AM(fqq[&rAqqJEX3ZJ0
-
-4GUAcq1#I[$MlrpXrj3jb$ZiY+2BkkdRM at qKR3r"mcb,mia%m2lM89dZ[Vqh!-,f
-
-QqNbpVjjZ29qJCq04M`2d!b+N'UT5MqGLqX832%q[Aej$mA2Gr%)2D,J,T!VQVUK
-
-`%6jhAB9V+HAI4,rjJHFl+Pb,m4eQEZZ5 at KrPp5aF@N9GqC2+ql1S&YkPdTmG6Gr
-
-!qEV`09U+&4c&223NLQNk-DpALZNdR1mDqVXNM'QAB`crlBKL%mp(M*G"*FCZ`&J
-
-DZ&cZG*Ki-f,J at mmLMhX`*R29E-FB[Qe,XDNr4DlPFZc[1GrDKlkqQYkKeBBaYUl
-
-YEqK(@E3aM+N[HKM14ThU%2X*Hb(-`McNHXhpB"3j2BDaPJB6I!Ne%&qEaD`r`V`
-
-YU-G"k"3ar)MaKKaEKl'$NQC6hd1-Lq4B$Q0G-XB+e-BRajCJ,+'*V3bd4NrqAp,
-
-B[bJT[kddmXG*R(e#AIa5)9RRT[cr!`!!$3!*Cf0XD@)Y-LkjBe"33bkj!*!3qL)
-
-!N"!0"J!!,h3!N!6rN!438Np+5d&)6!%!UE6L#+X`0A!!!#*k!*!'$d%!N!43[J#
-
-3#1j"$F$iCXbcEQ9ffFS2dS@*jbZl63NYVcACZY$0##1XPDZ$V[@ke[$dmVQ6K5h
-
-FYGEmE+(Rmc at 246PGf0D9hF)@VNAi`VhS`KGM(GQA+lmmdfiI)f`c`Tq`63P23V[
-
-Y`VEH`KHqX)9f(@(E*!Zrf-)@IZi)AhKXi3[E,M3j*432"&!HrHaD@&$M#f(,qq3
-
- at XL1hN!$"3Rk6AcKCb%+1%di at J&@""TeG+a&(42abSQ*m9@@VL(4[%29TUPEGj%S
-
-NfN09'd1a&"q0T8,*F(-`0#85E)pZZ-eZrEB+Z[80G6A,A6ir2'5jYd$i*mlPdrI
-
-- at 8-1XA6I6r6dUG[h&cAjUSAPI(dbhQEPDb0*+mqX6fN-*U1*9$3@'8GN$c0%(%0
-
-GelfTH&Fd4Q0)jLrR%MNc2aM&pcf8d``Y,Ak!B(cHb*GQH1E2Phb'JLQq0Yi5)P*
-
-IZ&DMccNrDX`mDiN1BLbSE&MC!)B+3p!!(FM4Z3"pmf##5,64Fd39&fA9Eck6N4(
-
-q-Kr+TK`qGQ`-&dGPAb51%'Q'J"dB3bK$iZYMHPIm%$'QJ`j8f2l6cq5j at TmTYD&
-
-8Dh0,2)CCjkGqG*&J+Y5CqU at IDmIQUUrh9q!`X*4GG$59b(1#DBYLrXT3Hc`B6B4
-
-D3NZ)Zr'(SNLFq4ETPX+0#01J at -c9Mci&E"ETe"lZK'B2D682F5pVpcl#6cM0`cF
-
-VIh2RdI%LA6N'$6l at jXi1I@kfp+LX3395 at i-*Bq1p(FdBDS-m*N)0#&FB at QXXRJV
-
-TqHr&d$F[UDca!YiDjchaf-C3%T1`bTUFNM26%1V@@T1GbH#dKP"R2*d-KU#5L)D
-
-5FVQ)&NXr0"XEY)Prh,6j`NN!Fk+aB(Zk*F3lDTZ$[P"c5bMC1Arq8UD4i#5T15f
-
-KF$3 at iP2*G)M2RB8&#LRFh0iTXfaMT'5S at aDD8))aK6DZ*"9[2BV(P+51c4hG,L+
-
-c53S*k44Xa8Acmd49U9R$Xk-p6,4P'e,Rh4bZH3"e6"(G$Pjab5Ikh&MNk*3JKBH
-
-am`[rd,p4KJ)IdrpGAkQ!SYrdArSB+K6p(4q-kaYR%DeiK at MHTTrT+airpFpf(!c
-
-C6D6hMrH[fSGq[SpSi at NLdj2ApC8!q05rrM0pH5A%p,FGr*AqP!RpYPrTjl,kIr)
-
-Mrc0p)kiXJcl9Cb(1%'6hP`BRQ0MP'EU4U`lF at CCrSLp0(%#3!"HAp98B52*lSGq
-
-&ZrfkrM3CD5 at kEp'%2R+m!*ldPFM#f(9p0R-`C#rdT5&)cLr`#Kk#rMULrlIXZ[j
-
-d'6P$Y0N+!(Y!54rDdc&h'$"brDYqB3l4$[hhr$0$4PE$2eXNb2ieb2fErJLM)1T
-
-RZCa*(rQIH68r2Xk[*I+#iKreEj!!r52r-kc1XRmYjSpI3ai at B(RaKIqI,BSqG$#
-
-E'MkH69X[ckB'iJEe$Qi`RhhAFB-&cq&lKKZFKRc"-D9m50)#'Z6Fp%2+jFLffS0
-
-N5Tj%4 at C5"GI&cC(ZFcD,h$e838lFZmM*m-eX'F$dP%A,,mqff[SF8$&N-KPiM91
-
-9NF2XSa0J at f1fH(J8"hGPCVYkTSRLJ,V55r6R486P'%J,"U5PdFrVi(p*UM20Z#1
-
-AjGIGE[0r"EdLeqdcjp[mNSplX,Y)hCYJ5aj0I@@G*jb-Gm65lHf-'iiR1d+aG!I
-
-M4Q-YACfKpTEfZ,40CpQLY-XkZ5B+lNFp6BS(cVppFXHLm)JE3biI%jRZ4TD29iR
-
-SY!R1P$QEBbjeBD*lqi'1GccMbIje'bEC1H at a56dI1a@*I at 9pEqBF-qYcdaaAM`b
-
-5FjP9B(QLVT*e4Aa$'kXN*T*FX[j[jrbLXcJ8Me at X&Eh%AL-JTT!!Gd4B3#S&rjI
-
-6(0UBDSje*M'BT4+G-9BhC9*@-5jcH$[1@!XpJKl'$ZGDCHXmRb03ICB4reapCC!
-
-!(Mqj("6&rGSNfp+B at FQGKfZV'cfXb6ZLR8&V%2h"l5[mJ8hjJPR%eT0&kPUA"r-
-
-MPcHq*D-)FI[,GTp4[[$$5jiqJ&BGP+G#UkjaI6!H#dFM9NbNa28pDebXI1(,,(N
-
-ED'bUV!CChjPULFDCN!"U8NG00mXke at ZV@1Ge4VY$ke-3#PpeT"PAmJT`"+9)V,N
-
-pTl6IHLkVI,'RZ6PAIkpR2HXM[+GCRdK'0dVZpqGr6kpmXC'CT5KCd3'NL33K%LA
-
-eT(2pQ21Q5[3dR+GDX116UUkC9$)S5UXm2KGcINq`Y6NTP421bhiMS(ba5j&Vj+N
-
-6f#aTQ1JNeElPhNVPLj`GVbDV%DYQDdZbmeS[j5Xpee4GLelLG+PS4`JbeUXka[&
-
-k0V$H4$f6H2FMHFHjNP0bI"Sd(Fh4'2DERk5`R-%10TmaEFjrI`$I68b$mrG)kq6
-
-aHBBP*&LlQC0%8Xl9HQQfr9b!L@&XcMHPT*eJ*QI3,1Ibj`$iNqZ&q at YbPJ1Ha&!
-
-Tc3P+,rc(E-IjIaGE%9QEH at 4l"'92bccba&FiN!#)&l6[jHikPAbI*GrYmVe9[[I
-
-)phhbr86Z2U8bGeIk!)'b%TGV)mAiNDCMGeGHc9GI%IUT&GqZ"BjUSA+ed+mA[-2
-
-LXC)(FAZaC"ZB'D&IrCc3Ep!"HarI&r!YF8GmAD,SLj2'YmVA4CaPLEK2k0IH*6a
-
-V*Vk$fS9GI4I"H5aL!-[(@%*ka9$HA3N5qMA()VUDA4&9YPT)mi[cZX*6&cM at eJP
-
-93VpZN!!h"R3P6RiqmI$[+mN)k3 at 15PH6#pcRH,qPD`T@&9NVUY3'[UeNf`)(%Um
-
-4l0h!LdSHK&T$P4pi$qrR04'Md+mkS'(0E3aI&)EejF*+mAAAd"56T5l"Ckd*lZ6
-
-dYG-("ec$9*M3CUehlN4&9Aer+0`PT+AR#H3GeRp3FMK[%pq9er8Y223JLKM!HEY
-
-N,mdU at jbA#DY at la65UhIkhK'(PTE4BPEM30kDR@@'[UIiiUc6TNIh["CTp`k2hPr
-
-5`jXLjbc1QSI$eZbmE28#KdHUPIB[)RkQV95-AKqV@,pZ+bUiLHmHp@@M''(eB8f
-
-f*6X2R,FYF5Vrc4ePeE6)rfDaf,5cCM&h at d69*`VTa,5qikYhmZK0Ble`+6c9aU-
-
-'$C(cf9ZKQl&q68LMIi$490Bh%PU%6PbL0f'aB1Hl9(X5aT1l$Kj at l3YE82GhXer
-
-JkbdqLcQ3!1Fk6iB8YmemmZL+iq,&A6dRGi493YT#@5[6iERXA%YphBr&!El1[CF
-
-+&dD44l1b0lLIpNA*b0Ie[@mhS`,[c9hpkT&bXm8F at aUa0,JLKIL at V(3KLJm!)8*
-
-&l+8LDUmD1G8`KVdmJ3fHfLH1XVUTHZhcb&J6TE``hq4Z-c at i`ef*B0pah)HB(K3
-
-H'HbMU6,f$BBChH*)C%0(+c3dM1IjL9Re`SV`bmEQ#NIi'&Lk[$Dk84behl,DCHN
-
-H16RiF'r0K2I@`Gr,ZCIaFJ8(9XVm+EKbPreGN!$mr6 at mUF84qbhVQ,I8i-1$d1L
-
-YqD*,(#erAVJEVY!Kh&Y92c(6UfI+c4%lZQ4ZC'U$+c`cjjFl(c$,5(pJUS`F$5#
-
-EZE0`h)YZC!jHBaAMZcmFjCGm1&U$M9+Ne&j+T4(,h&)bVh&lrSC-Tmk6jY8epT%
-
-+KrZQ`[0dKhfNlm)+9rKGp,K6bKpRq*MNS4mHqT0LLL3I0lp35RH%Cbk#'pph)mE
-
-6[h0S,fP#'NXTD5D86d2hbhap`Y5EHAZ(lFME$j!!1d1fSr"6Rb5lf at C@BB2jcJl
-
-d"Pmq29"SQ8HDhKll%9B0qe'T%Lq*l`B at mDEXREcc)d9M9,K%USLj(+VSJHQqK)Q
-
-BUR$*mLCd,r",+)phKPA01S'YCFRQb(lRkmXX"TYMlpHHARDS*k*$hLm)m'`$`C@
-
-&''S*&!*9bDJjS-&YYQGB2'VT%G,Cl`MTLd2Sm'j5'3C),I`f)I at 3!2%1,)HU+UJ
-
-[bkq[4qlc"L&GfMhFDr(rrZQrf[,p)kG15hMhd4&b at XV0CQ"E"aq41''CBqMY(fk
-
-6'%db`c6B2p`N-G`b3k2E`LC4PM$L%f0jKiiA$`FdZ,h'8JHGYGjZ,MFIA,hUZ$K
-
-Fiik-#KIi%CQcHi)c,(2FXEaGVJlG5DIV!UPX*XE&5&T'QM)AD5aPC#KEMpRZ(3F
-
- at d#@FcrhLGd[T9XjApG)IRkldZGhZJ5-RYrVI*)HP'-lr3A8KTMck#[J2AZG[`VV
-
-Jha3 at r)a[((G3NfNVUYR5CUc-9'i"NmFYABR*P at C*M$5iH4*6"eEDLVfl+"l+"(8
-
- at M14#qZ$f$FE-%Cr66QkRcbQN$fhIF,09`KM,jee+2Zp$4fakRpHZ&p+X)mlfR0d
-
-"PD(-NB(YG[A4!D[DjheP`1FGh"ibp'lGS''H'jf"FrF4Q`L4&ES+2A+LQ%dj*8l
-
-JqAe2P46cqDAU"Zq2[3hH*IV!V%Q9RJD[$Y[IcD0hlLbM[MffBNarf[!E,'IqV1S
-
-aElL)9fHGF2%%2`0UDi(dPMEbbl2c%Kck4I2iE0i!RV[80kDaL&r1U`2Q5CH@"Lr
-
-[j0%0QdI,$*Mbr0mIb&Vl[VlL6mAA(hfaa#pj at 9j6KDPc$R)3I at Chp&h`$&mbSC-
-
-1!RXIf22!RJ6fYm!H!,BEf0m"Hh*LCMEaT63VNSGE8 at 5Q-%`Tk#5JFa%k+H!Y`!-
-
-bRJ6HK'V%dHZYf,SBN!$R'c'C1LBRd`93$,0Ui1jQlR&I`LU#Zje9!2GEQ52F,Ia
-
-k)@hM(PmfejF`2MlEaQ at pYK(Kfraah#la*h*F5bXCXX8fMUr1HS at dXLKKFl&i-D,
-
-KRHjGikbVar'Y9la$l2RB6pmR,LdS'+0CVLaC,H`"dT at r%Z!F2cScr3P3LVMhU0$
-
-RDQ6lXmIBIJ6h2FZaT-(pd#Tr(GX$[`!BEfIS4+1rNEepHBe0*1LCXfaR!QFkYKh
-
-"[C!!E89`RpfiTTEKYhU%C9l5FSYb1eVZ[NShdqFHU(5[B[`[Xmd%lNp8ZZr%``V
-
-Z`-Sk2q2e,eY9c6DeamCH2MPq""hf),AJ0Z`'mAk4BHU,`2"fN@(D$$6B3eKJHLe
-
-ijh+BEJhfCmrNX"X at BR0iMP35pJI3b"!RLM2TKUm#`jj4mR%B@%X1Qrhh`&k8X3q
-
-"I82'4(M5h,f&[F[64H#l[1e2f"XKA3FdhPMh,0f#,XX(PR*-SARJ23cXC6*+rTj
-
-($GBeQHQ,U+Ad,JkXA`G[(hJpP*%d'S#PC1a"B'rNDPDX"RC'a[6!hT)eeX&I3XE
-
-f-%rDMYpUEQfrmLafmJQYmYTfr+%XjmL[Mpm65YCl'2rr!!d!#'GMG'9cG#kjZ at 0
-
-38%-ZZ3#3%%0D!*!3(m-!!%+&!*!%rj!%8&*25NY"5%`"!+QdiJLV-$9B!!"5l3#
-
-3"K+K!*!%$I3!N!Me"!i!pCQCc1abX2*Ef-,&mj8EA at KjV4fRQfkf--,fZP@[Eld
-
-Z$dq2VmN'A5Bp-hbAY9lHAJFXfQdl+AG,Z2)ME*&GEJRrA-libQIDl at -,fic`*fc
-
-6K5HKhAEKE`YIq-)mEQiRK(pXXmb at iapGq-+kKCfFELT3q1c,IZ&ZXPf1 at pl#b%)
-
-ffjdZC,)F at FK#&m,)B+r,!D4[CPq-FBbaqZ at -eH&@A,@%-I9,M(@V+THFE3i'I@,
-
-PFV%p`R[E)f,)lA5*'SmV)SBMaKm`"H(DkkSAQQdeb1%*lP8%I"Kcj(3rX&H6m0M
-
-IZTkaqjrj`UCT$PZ9X*!!V`m&fSamV5GNj#ReR!CAb"Z-H0XpDBqF`ePa(%eGaiT
-
-)S-2EcP+HcTr1B+bXmm9Kh'q$6Mf`X[$"KF4R$RhYV2*CXk3m49H%V`fdL)`T"cl
-
-J+-2j13Fpcq at -E8&E8'&IE%H%!Ne3,pZF#1HDf2Hf""Q,&l1('*Yr8%EphJ1GXSF
-
-r%JrNr)3rGBV*(aq at mf,a)FC8Kq$ER2+`6KCr)B9h0"r'+0,%0Xm[rQdqSqFB2cQ
-
-eBU69f4*S4krcbhc8LClZG$iIR'*cIAh0I"abUXM3iXkAEq$(ilQ,49r!j3f+,H)
-
-maNhp56c112ejNK@"P6JkPXIB&fjK8aKcR!drZX6iG+jqq&li[TdQiqM4U(!CR@&
-
-rGU+(,&FBA8QAdZJ+kKT at q*eSAPdm1Mm9!Sj'C"RE!a%aQhqm(IAaK-)B'-FE!ha
-
-jS(fj'%,(Uc#'FK,*f- at 9@FC3113DEaI$J at M)*3)Pk"9$i'!+Qm`pccf[0,(*#J2
-
-h%ZcNS8*JE#k(6ij38,[0q$[cVaRB"FIjhRDA,pSLmUCDTmXQ1P[%8(M at V%X))mK
-
-*81HhL'j[ZmK(3P'46jb,ab@$h%jI@)iU6J@&a*8bd!J5%NZ'TC%NDKY",5%K9lA
-
-%%1kQ%f8Z9IE(4kQ5X*9Mq!UPK%dirih2+53-k[E(m!QELQ!-Rl#ccq$6B)6Z-I`
-
-FQ(52iC0Hd6f'2a&QlKPm`YDG`5GX%V)aI-*'%r+rq)3prJ`qB9260)C2f"21i"-
-
-feI!B2QRI@@I`#A[5'Ic*-1NH`dIV+GeMrFY8Q(52j8mG(mdXar#TGUKe(X1R`pq
-
-T1G'EYSlfTT4IFZ446jL-RfpLA2G!eYX*@kf3!1dTXPdLfkfbh5AE'fAlbB5G8j'
-
-`4rJkCZFXKT(SUhpj-0jKc0+KVIl1dd)2DmAG-GY8*93X&AUb"HYJr,'#0E!H,EJ
-
-1NCe#Mr)KS8HMKZmGh)rJ,V"iE"haZ#h!9,BPYJl''HE&0`Sp at 9F+$qSClfFqB9h
-
-h3F6FlY%JbNC43[653pSVJdcS86hQ89H[mbKL98+8Rk[YF1I00PeH*e3+2HTqAYH
-
-N,LMMCc%HqGX+1SASE&1&f@&'l%0mMD%M4m1VBND`e)EiiS,VCTXD(2B'40m'rl5
-
-#08#c9pE!hmAAm#U26ZK4E&E48%VR2LJ-CTF+Lq-[Q!rPj"[UJRc-'14f6EKm3Rq
-
-[HC!!63aQaBb,eS*44IHY`T9#9"TN-1YJpRX&fl4AmahDMZpMp-1B4i1Br38Ef*5
-
-LZGT1Yf,T at L'kG+hYpILK5iVBA1+i5A[CfL*0plhmp&KCF6DUCir(CadF[VkJLmr
-
-hl$189GrN0XCQaUTQQmSPVV*HpY33GT)apN++X4le+M"i0Epbf"EcSZR0GUYL,E'
-
-CL0P[#,$5,pp39-AQe,`b2HjB at cfAZmLMk)i,dH$ilTe,er+S69fpF0LG9mb$!l[
-
-R31a#i(BDla#LU"ri@"l9MH5GKNUFPjh[CUb%le$F&p6Y at VGPQf+Mf`$HhiaG`0F
-
-EE!CpNpCmJ'NLh(AkA6XZh4NrZ+jVe`eZK4!eX*L4F(JZ0X03ArHcH#pICpR!*Pl
-
-XK4j0L8ffh'rc-KeIere1L4i-[$eMkE2E5r8'IIXP(S2Gl*Q)Zf#a'@X,Qq&K$)b
-
-8&-E"[@,S'A[+pp5)VrqCMI&KiNfa[Q3Qde9lQGE01baYqAD,Zb2SkYi*qa$K!H(
-
-QrQk@*rZq5ckG*6lNDIDh!N0&FHA[kK at 2A1Tq5ZHFEh)rKLLeYSe0M3qAR,I8E&J
-
-jY+[rT[A9)lQhp[p4)R[CAjVd`eG)q5Ap59[1Ed$+lfq3!*Xb2P4bhK at 8@k6rTRj
-
-JV+rq[$NqA2U`m"9NK3VKAUem9mqHIDj8lbP"PFc`j0R0lNQ*I,N$6AVCdp18*hY
-
-f0%'EZEh)H$fUN6,B3ica+pmIjZHp2ebp!DT9@&,)#Mf''B9-IjQPr#f at rm`"TRV
-
-fXT+Kq5E,f4-2X#q@$(82A'Tf[iND,j2dTmcpQ*4$$h,S#F8M6-VMR%F+f4IGNqB
-
-J'pZ22,VGhpLkJDP%PD'3!+P'N!"h!rF@[MkB[ljcr`h&frIIb#bGV(J(mUN2X4*
-
-pX9j4GNhmp4Y3'hcTK+D*KTP-YEkVC$Za8E*$BZ+*q*Y0FrMmf#+ql$LLcLXFCJU
-
-2[K5SU)%*YQ!q)e6KX1%9i!l`mjL@,h-VR'U"@M4 at E)Vpm1i&"NfaDF-GpbrBfZ9
-
-43qpR0r'kZ8c&&BRN0640K&FKHr90+PMRPJr'GaLkK'MXKd,di#&8q%UQd23bTI"
-
-9"Y@$aT[+kbSUjl2Z'0pB$phR08+dF1AJHN20YhDrGZhcfjrC,IPAlKKLCBC5[4k
-
-q9Idh5c&Z18Dc[QH`6BT`b"(jr6f$$LR#)NHSe0H#a(a5Q2KG+Ee$aFHh0DPJl5(
-
-93 at 8ePZK,p9Z@,YNC(kbfH)D&!Aj)MVPY*'C3MV'dDpHCrHTGCHB"TLM1TeLdU%9
-
--9 at 4Q+N-4da3eSVGlhF4QX!,1CRRd4iAX3Xj at qF4Il+k`@5b at hZfl9Y@m`Nb'kFM
-
-m(e%[4TI(rJ6aDdl'AmecRb,-rM4HPmkJZV0Y@[@eEEU+cSTV%FR$LPDJFf96T)J
-
-SBV95T"T4851Qcr(ieNkAfS!@ABKZ at GfXkpaZ+bYKPM*EQ4$GZVVj(+2NSbLEp4*
-
-QXhjcHh'fc9U5,85T)[CflEd"+)FkYrHZ,P(Zk$8UEGDRHfh at rY@LC[fUCKAPh&$
-
- at Y1rVM$T#D)9kIMCdBMTe139Pm1GfheX`RFmY90UY2l2DVI1bQkD-SR6CVHVV',Y
-
-QH0(D)YCpAr&dG(pClTG)CrkkmRDVHaU[M*8KLl[iXi"f16cV#a[iKE'C33leSVV
-
-cA&k$1%ZK,B8aKer)+j[dSeNDl&DqM%FeA$0FT%'A9r0mEmcBIIHPIa9riGZ2&Y4
-
-)Z5bXVN6AH6jd%(9 at BZSH+"mmR)p+fJ,I1r!p$0mpm2dGI$I#GaYmI`rI25-pFcj
-
-Ib+CiY,#QH5B*Jb`#R#"`$J)R!Rm,r%fb2`5r!f`%81ZYQ*CVS1I,dCQD4M[6f8"
-
-d%aZ`,C3pl(R%#1`5BJ$fKC34E!2I+%5,Z6XAc,!&GAHH at mc&V-9$`JriRE!1mdm
-
-QBJfY6"1EAXca96'V%%d15UJ[MKrdU2JbblTde+I(r2fRV)GU*0F[GKFZ'6FZ&@C
-
-!@&e$S`1V*BfZ3,[Ekc'f'QM#1TGaI6mfFAd[dRd&lTYa2mhe[DcQqPkGarAYVFD
-
-pRq[EGj!!kh[Gb2 at pdFVerHebVZqYjlLqJ6bZladIehI`(Ul[(a4Fhf(J[@rMqRk
-
-qJHZ,jh2ph!,FAqIkPGrNqY at YA,rQDG`$A2piD5R$)dE#I+49a0+%1a6`miQp3Qa
-
-bq2hBFJaMcC%A-H[Lh9kI1084#2JDa"!f3ALEk![b$C%30K$$+Rp)$+Z#lAk4M'@
-
-U"BZ%FY95Keh3%Y-m5!m&aNNZUbm3$MY$+e3GhSKrHRQY-ib9%UaRb2XM&r&Bb[Q
-
-$#1m2Y(MG+riPr[FUR"'4$dHFrL$[$S4iX30Jl8iIhq)0r5khhm926M)p at LJ6T9)
-
-i'P,4l,[)jI1kP[&L+-6l`aiMMHaaP!k@(kR(!$5jIF64)2HV9c"fkm2Bb8M[NA,
-
-5*ahe$KKB9T9'TSPBKI4**`H4UR2Kk*+M&9J[`FHC*Q&NUD#pVUA83F[45Jadk'0
-
-F3Yf1$dpTM65,Hfl&AGM3!#1U'a&eQabGKF82I&eA%c-D$%HjjT%"U4TMFAb*[&A
-
-h)@)HETXFRBf&$h`V0NVHj1U3!,`K#cY(qL511H*j`3MI14L%iN0H')LU%pY at kEb
-
-e at +I!ap@!&jDr$K6[395bNR+a,%&ISM6!LST at Uj*V5MUX3Y#A)"$4+kM at NKY`il$
-
-S30pF$R`T#q at S*(BHeKMSieHp#Flf)`,0AQTaDcb@&2)PHQQ)5fb5Xdb1cXF+!Vj
-
-N8DB2,Ic5f4Kjid'T!M!XRlE0,$48%8&NcjVeLhiPLG[pfVbedR#BF'qX0CFl+(-
-
-SP#2N$)DCki1*FLTMEYAMF%qMfLlECUkT+5IZR$kIUlACYmcS)YhC12(&iZ3YB9'
-
- at 5Q5*+ZHdkID)X$BCAmp+hXKTKT6AHm#U3r4C*hSQB(BrU*ZE[*&EJ[hH"NF&f1H
-
-b`j%@Ei"`&+-i5TRYhSDUbbZ*lE"hTGJB!9#%@0JA5pj3Yh-5l&V,'fQFRq0a03C
-
-$hZ956TYb(mp1hP#k+8NN)bQBbZ-#L*FT4c0ATc*h9&5!)3dB`XSCTF08SdMC5D3
-
-Pj6BcCAk9Up8CNNK#jN9IDNVH8!QCSr)k39+0G(N`aFD&eSVN$99-XdNF%CZY,D(
-
-`"a at L69D5SkS@&F+T)ekr#"MM-CcF0*pfUMM`5Hd-*A450pjlk`mPT8VU"Y9h0R3
-
-Mi#,4b)#J'D-9V[Mh#PIqZX**-8jAH0BrUp"aT*4UR0)#8Sh6 at T!!8Se6 at T!!maX
-
-Yd(kN"FGd1[HIG2TA[3DH,8Mf'TBDXp4V02ZFVQ8q2,U3!#'KemM%T"XRp@#KVcU
-
-Y"q at f5Y+$A#aMZCD&Srj`4S3qiL3hckljPY445pa8 at +b09#FYcCj'[bpc at BGcr'Q
-
-!%69iq@)m[C*8URU(RG4!'ib%'PfYVS`*8j,-6"h[aReIXbG[D8k5c,e at cYh[$#h
-
-lT)pilFFr65[(JLU"+N',p`QF2Y40KM[Pq2-plHN1e&CT4R at a((P61 at 0C"rU4'Q`
-
-blVmMh8FNDTaTr9MRD@`4JjR-qSM6-pGM1,T84T8160L3!*%BDI-(2jh'hIh8YR5
-
-r8BZ42Y@"2cR5GhfQ,m$+0,B(FZ(*qFCchdR[JG5Dl3[K98[0EFBhc6Jf!k'Hj$p
-
-R)(rUIIG)ebZT#lVHd,,'8%3DJQ5UfdlEP"@LKiU5A8P9!ff at U2hH-(@biF`FQ[(
-
-KV+6++NJeiI9JS(a#A at K@FPTGe,p at Pj4QR&)AdSc6kT,5M&2U3T15dqU5QT4mULl
-
-T5FPrl#eaeipXJ`L95k4YN!"fmDV'M(FlXp`hrMJpBDZc9%XlCB(Q0M6#dJJhdpT
-
-%2bZdFd30'KTT[d-6#2rA22prCQFCZHEjar[pNj2C69PYp)K at DM)V+8'fT!3C%RU
-
-0$!Sc%%F&0K8NII&jQb at NScQPp1@%DKc0DD4,rDbV-ccd at PV(lCAPY$H4%a*G2UI
-
-ARl'MdM)(c3+5MpDF8)f1Rr4*kNc)faB*9I4DMcVDlZfJPej1UXfAEck8RMde1"C
-
-Ci0@')p(QjN#S(A*Mr%a[J*8"E)T3G!%pL5YhHBl+"RVj4bhpa)5,Y at G#d)*M[FH
-
-rp at 3IGap(N9*kF+TlbrUSQrlA5IIaD[aidXeYj&CVNMH83&CM+!&9RaC+%&Q"[`%
-
-!PM5C'9(,)ph(*fUTr9!YMqT9DV2iP&iGfErj4+r'r8D[mMkHFibb02iMPNjf1PA
-
-[d("$VLh(CI8d(p1LX&VN*cJbP(8k[pfF2kE#ZPqTX(51-%LC%ZXU[a22)[*i8[E
-
-rZJ[cIcUGL4G#pHMBk,e2kCF0VX,2PP#E5Iik[#T1$qmHrqXJc[6'Fa2`XLUETTM
-
-$*YV-$D3cYp12%m#qEb(qhJ$feL8eGE5PqJMF0!YqXU&'QZAY39+9b(8[r8`"-MX
-
-Ah$6![T!!ITF!pTb'bfV*EbNA&PMaKL[H#UA+i at kTX"!qGeH&C3R&EkCI&X"$k6d
-
-9PN9 at f#m[VUY"R%+aB%N90%@4PhahPUZj([c3IkY-$A%eUr''+[Q8"m(LQS3[kcE
-
-1G+!PiF[1j8b6mBiYqG4I![EZK'rFji"Ab"55leDmdYV+9*,[$[MHa&2kj,XIH(K
-
-90KkIa-Ep'I$!Tj5(&h&2b4cN`,G2pSf$$kqZ5Vi*m(hh+pHLCV(B#pqMEAp*2`L
-
-K$S-ce482X[1!F4&mDd`jE#EL`-(e-DD6q,X(FCd12IXm1+#IdU#-2SFi1q)HB*d
-
-54KI`ANVie'C`8jVJFZTNa%85A%ip'ebqP1"bkZr$jj-acJ0'8-Di!,i@'@-Q-2E
-
-*q68KTiMXZ`ja[9RqCFj at hp%rG"RpQjINMlqNrpQ&-qA@"ki53rAP&2rr!!!0$3p
-
-YGbpRBh4PFh3Z0MK,,VN!N""453#3%#pd!!"+8`#3"2q3"%e08&*0680$!3#V,jH
-
-ZUc!jB!!!"M%!!"R%!!!"V3!!"E(*MaZS!*!'[VXM4!iL+Pj0j%)PIdhl9fbRBC!
-
-!DR1(JAFp3hUJ2KNcZ@(k&LeHlIYc*cMM1X2GRCf"!*`N(81C&iAQNTm4&Ifii1"
-
-EpGII4h6#PiP+'R-jb[e$&IeM12rA3hh-XBk+D2XK9#@U!P9e!@eRU22XRT!!%ar
-
-%6jaP3[FjFKhiIjQ at hidE$&25cAm$`-IrIXai*1U*jZd88q%pXX1%F$M`RNJbAQS
-
-ih%%N0J*@A""6p[pE#%1,cL9X%K8j[Z%i38$F)*'R%8!QpTQQT&06TCMf4amme9+
-
-jii[1iC(HE43E%aa#QlrCjZ4[GSL(8*!!e8D-E"#r6LR@&GN3aF6F'028K*cdTGk
-
-aT$fkUhhK6F,P(Tj11!CFTLJ+QQSXDINp,M$RL-+Cm9q6j"VK+Hr'rhrjXB16b1@
-
-iec&AC&Z,)bAP)A[QZNkT`brFF9bj0 at L(b*(4H3)$i*YCbh9`YK90aj%$0a!Gm&!
-
-,de[B3!XlC'%$"-Eme,D0'(Z229-8DlB`9Q$FC!Y6 at 9L'KA%@PQm[")V0YM#PKBP
-
-$[mI#m!L#i#MfjAH50i4eE512Q3bj@@90I4m!N!--!'XcXfpJlh2Ij$4lRaZHF-P
-
-a`Tr-D)4&@%FjIAiV9hi5rZ3i at 3NqRhV5`hI'm8m[3MNjENHi%AjN`!NMR"`rbB$
-
-bTrc)FA,m$%r*F51Fm*03FTa`FTa`-Q#%%hlN'4R`Pa`RA(+FF+mMamRa)mq2m$2
-
-#bB!#GjN8B'@Y6-+0iUpN*rl)-F)*2m)*8[#%!j-9H"9SN!!()1QkKK#+`Hm at K$S
-
-HJ&m,rN[#E`hmIJLEJ,q0bk)PQTCS@&q4J at q@4d"9U,FU)md-(0Yrf-'kLSC3Ech
-
-QTZ6PDfM!,6kXTJh48"8c3%-B$Af2ZR8CG9Ip2$-35k-p#&9[4Zd)$4`EE%%G46!
-
-,R0"9-23T99CN34j4,-#2%@HJ4P(6T'aDQa#N[iMDX5G2a3J5j8hqU`G8AI)J-HU
-
-[2pc+8DXTel3Q5K1DDDe`rC'MeMLS#5QV5"2QC-jFKV@(Y,XiDUf$'TI6Q941+fY
-
-NIrEXmabeMLSdTZC&6Ae8m48krm8h(, at HFXdUSU`BRMk!q[lRHBlD3,RQ4#QENT@
-
-#"cXRI2X+4ie6jif)dMfM+mkEUadrc9%E(G5'h+TKlGFqRHHS#3He,LFDrPe`h($
-
-QCBlDa(3e*P+'jG["RP9riDM0,PI9V"`8d09SikJYP'YH1C5kHVfHlZ'SDkKIpI4
-
-i+LIkaJ28)bpbe,88e9!N694cCG6ZNqFjkMUUN!"T6DE6ZT(h&AViKGmikRVU"NX
-
-TAdR(H9q1FY4 at bY@D,XL9SfF2rY6286HiPp,*+'9G,aJIFG50p#Uce14Gj3Y'd81
-
-Ek"h5cFV&)blrQ+1f8B8b8UTJU&0#eN-9cVh+8GXGe*U-j!-kU)P6p4b9*UB'dj*
-
-PCDb-E#IIrF$K4qBkCkfIRK)eFi at ZrFEXr4ae-h@$T1I(e%`C&K,!AUi3T&L#1U`
-
-I'P&bCG3h(rRp#Fje+d8&50fBrKHeFp&j at 4Q5M3GV$pea1eGSfk+(0$9pa80R1GF
-
-ZCkfce*a5FDbGI1mKMRSpifUSq482fFRj!BlD6Id+#UPkaDr(MfcMU0YGVSSeRLY
-
-8Z0V[F05H43q4)19lk0aM"lL(GMKViS"LkT1'T(MH+rPeTkZ3!*U"!([&H8FjkLl
-
-+0 at RS306mKfX[64ZJ+`31D"5 at fGUaCaUiVRd8Y@!C+5NVP42Ef6h&a0E[S,D5e*Z
-
-k$e*4k[,4R"1qUq at S0cKV-k$Hk86c at fiEqT2V*rYSlLHcfePEppip1YM9Hl2Del9
-
-2!&`"@TQ,U#F1&[Z''jdelZ4b1(ZHmdimH"0(45eR)(&!*q9f)f6q6PCX0VTUBad
-
-IAd$pf!@`[ik1Br'KUlR)+fakrN"cHF(H36)2h%jb&H(+NrX0&jMF9VMIj$*$&L)
-
-T"p)0cLf`Yq1%"AXR6JQ`Yq'FKMf0GB,GdbRXPYLiZ+lq4#IBL8k`%jeJ*cV"6R5
-
-#RHJ%1p%*GU)6l%3Rf)P1h%qc#+[@Y15RS-eL8qhT&"fJcd&k4dVkK,dC'pb'AVi
-
-MRZjKXmB'HccD3(IrcJ8G(KYmfk)&p1R"5Hkrqa'fKQc`$Bdfm0&Ek'dF5*Cm&25
-
-6E"T+qQc(16M5i"iI4FpKHCCb3p#-XSR6I3[1YF$(e at dVrAm(hAhGA,f#1a4fVQ`
-
-D)a0bM1IcX19PNiJXd-QrQrjp$rTP0Nh4$ljDEE6C0*GdfSPEQNJ$[AaI"9dkQjE
-
-)"&rjZ5PSlpQXL6c)65I42'&jkHi((6HE659pGY(F%GhJrk#CBp-AQC!!QcfG`RF
-
-BE0C'2GbTm18(Qh at 4"hI+cbI"'a-fkb-2I05,Qq*VI86`ZS90Dq6"IEUNPpZrZ6d
-
-IkmP at hp@`f9$5UmK,"LjZ2dGjKIdd'pTRSrf,Re6[[[HdcbYXX0R3aK[KcVI)#mr
-
-A-dm"R8jJFcLjAc2T0r!1Xr%Ph(NRKdhm"Y1PM9qd9#9(PFc#![X)[SNKr!e at jAm
-
-!N!-0$3pYGbpRBh4PFh3Z8&"$,VN!N"!4c!#3%%+&!*!)rj!%68e38Ne33d-"!+X
-
-[PkkV-$P&!!!'-3!!'Z!!!!'T!!!&bE5F%03!N!B"fL0%$L)UANhN3L9r6IYAE+G
-
-KN!"UFiH"Gce$HU!q'61jBIV#iB$[cjhJM1X-GhH'!`%ib6Q'-Lm+c58r)bVkFF(
-
-"YqU[[irS4$#9MENFjIkKL[iaR2rVS6lQ@%G&Y2d3UK*9JDUkJ,Bce(Pf6fJm&6R
-
-b2Z8HRJiXa'A+ir""h#2TreqK*11PKX-G4'@dI[MrP at fl(cXiL9b1Haec4BbeKmP
-
-aeJj"iNA$iL1d#Y1J+HR89#QQrG%86l98l[LLFhLNlhad)NaL2JK&0pZFr-d1m4!
-
-+XYS)fcSm[diTeKAC%-A8h"M6e)5Fp+AHXD3p1ZNm1FY%rabj$[`E!$0bi`E$P26
-
-rG@!p"$aQr-JXH*CjLX,-Um9UPGj1-5VH)fY@`*(4VHaDSf,&r6CPrlq&--R1K6X
-
-*#r!9a`Q#"HZ at 0$hdcLR&Z$Fm-LN%a%6I)NG'j`NF&EkCY9`(CaX9iFL4(fpK!IC
-
-B8#c-*P,XP1dG- at D4KE%@0XR#9"C'PcdhhF,ZXE"3#eYVB3-&a[CDHNU"FB- at YXI
-
-#PPJD!bcX5f0T(aH0)DaV'hR-C-M0+Q[Uq``!Da0l'f3fmMSr"jhCCQZ%N3NRNdf
-
-14LJRP"rPR[a at 3Sqr%8D1NjAJmk5Hp2#G-Ic6Le"1MJm)Pachb(2###I(6c*J%8k
-
-j%8k1RiHRj,J46[K*+$P11$P11"P3`JNrmS`-q)!-Z'6!D6eKj2L4C`f-F$+J`(8
-
-Q"D$m9QE4e,T1r"&qK,q%%k6J#3FQ+c!qS%%HJ+LU#N)S",rE%'S`i2Fjq"D$ha,
-
-iI4qf+2P[K53BJQi)Q['&0I#IjBQL)Y4CP"42pjcUHm,'ZSf'8'HBF--Ck at qdLS0
-
-b3K-d'HXH'L*+S#ZS9C93Dp(hThY##E32SH*'Y!@KRP2p0 at MV!TJ"6QM*DZUi,'%
-
-T+JeJ!r"$PM03TD!SBLUKM%E&Qd60d0-c)3Z*mVDqK3&9&I13!!6eTfr[iUM&P'Y
-
-#%F4446G at Z(l(88YXe)LB`Z+S2TE at Pf(0!mTp(,A84Uf3!",*H&STD'4qmZcc(,@
-
--+M3XC`4&IJbl#Phql%Z1'UCF8eL3!,#@e`G3hrdd`e(,+GHd)+EL%XlQBDHLAlh
-
--85ZSm`B%mB'K&HG0PBjFj+L90QTjHXf`jUXI6h28L)eDPKBdpblBE[Mm*BjDaA6
-
-94Z1DiGV"R*4rj+M9$PGCAcdSS+ZfQD2 at 8+iCI$4qqhSpdmj4DkPIeF4)2#fiaJ2
-
-8Bbpbe(889F1L)XMT!QVVKFXFYBiUT"YMLB5UC9b&(RhKCikkRVV"`)8VDEQKZf-
-
-V4kfRA)f*V,4kp-cqUedFGB0c+Hf-8Y$eQ[B"4pe)Vc*,6IQVI%eEm0!QHSG8IIA
-
-L at 5lrN!#MEUCQhhrr8(p,Ec3 at kie#4,V"pIbK)a`9-T!!GBlk-`E at KJ84,f%LG'i
-
-f[T!!!'KLUKNie$XiPM(N0&lQH[KU'dGYS"j+L['X*Sp(8hPGSl0R1'UMM9U5&&e
-
-!'c8b%qDSN!"L,3rTKL6Ki3+b'A[l2CZI0G[Y06`a,LMk#PhcpFQ(1'S6pDZSCSE
-
-PC!&fUR[r&Uj3-eASS(Td!+F,U1H1r2)8jpT#83&5e5EZS1kBGej+JZb9Kc82h(-
-
-h9kKehN1+R,MPS8ZFDjZpPPPABF at aCZbG`abeRA(9j-b+KmcBG!p(lD"q"B9NGG@
-
-[CimeFp5G$PGXM+5cUec0YcMUVRN2 at 9(2pG$Xii2F3jhf'KR%ZMUQL6M[[CaIGcX
-
-+b8Q)f,HFGj+MGP'Z-8d&S[SrA2I32!5k3L5#cQ1CV4NkAXjer4pehS"JT*BMJmh
-
-eq+jHMVUAFXdD at Pa-LB8NHQRI3K)PI3p-0D6jHqhb!-,0lkJIrAq#kpTYIkZh1S$
-
-iJj!!%H0,"hSUqR8TjiTU6d$LH!3qd"l'QVp5(*Z0MQj%N5IR8$IK#2YVk#b4%AU
-
-KAhRjVG*[D*cA0T*HB1mJp`hf9R+*B at mR9a,f0R*MBGp1mJVX655"`0j)XK,X1mL
-
-pKlf"*+irG2*l,$B1E[#"6T2S$,#X@[56ejba+FlV&"bJcm2dMZ6dm6Xk0U4jAES
-
-MHGhp&Sp0DH#"lZkGmrT#0Q@"!rVX)TRXhr[K0j4X`S%(2RS$[3RXDKCpj(@KE-T
-
-cqZ`NL6E3i"kI4160319LE["D@$B9G'mQ#4Ai1,Ued1qGG(GeFr6blT!!hqqbU3a
-
--b$&jRrZ0-TY)B)&1lYedll[ACE1T#Rl`e9TlcUBkTp0ZdVF%-H4Z[lGR8a1Bi#X
-
-h0hN["GM8"KlNTJYSfQ*jrHjlI6UE66PpZQMZ#'l`[pH at XGNEQ*!!Qr-kq at mqf+`
-
-,HVK6rLX60R@""hI+c5IHHaBfk`-2I,5(G,jrpK(H5aSfpB%(pqQkANlrj[4mV#G
-
-EHm2$CN01V`9H%R"aqMR+bhpj`iDqe%&p8bAIR!qTj%[4$kpFY(MK'lcmYcPXk&Z
-
-H1lcmlTi0lIT[mPVbJIFUL!elGjRM4BM8c8"+#$@"@kr%qK5GrJGH8d5JeDSp%6Z
-
-S`aY94TZmpLQ+$H(Nh"cl%r`RK-KrL#Vr!3#3!aq$!!!"!*!$!43!N!-8!*!$-Tr
-
-lRLe!rr#`!,K[$#eZd!6rm2rdd"lm`FAKdkSV8FY+$deKBe"bEfTPBh4c,R0TG!)
-
-!N!06594%8dP8)3#3"P0*9%46593K!*!BUc!jI3!!8M8!!!&'"1"2l'mDG at 6JrHc
-
-K at 5U#NI*HN at GK!Z"2kQ`FG&2UN!"S!!,L at 5[48(adA`CdC!EJ6qj[8hJS!!EJEHl
-
-LEe5!)D$!FJC1ANl!*IrX51FI-#D`jL63G!*&0K!+1Li!&Ri!)VX-S"lbUKQJ(Z`
-
-3!+SDI!$!#3ZT8,aIE!!!Q$!'8!6"aG!!N!-3!#X!"3%B!J#3"`-!N!-"!*!$!43
-
-!N!-8!*!$-J$j(l!@#J#3!a`!-J!!8f9dC`#3!`S!!2rr!*!&q at G%'@B:
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/Mac_files/MacOS_Test_config.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/Mac_files/MacOS_Test_config.h
deleted file mode 100755
index caf23a6..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/Mac_files/MacOS_Test_config.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-	MacOS_Test_config.h
-	
-	Configuration flags for Macintosh development systems.
-	
-	Test version.
-	
- 	<Revision History>
-
- 	11/16/95  pcb  Updated compilation flags to reflect latest 4.6 Makefile.
-	
-	by Patrick C. Beard.
- */
-/* Boehm, November 17, 1995 12:05 pm PST */
-
-#ifdef __MWERKS__
-
-// for CodeWarrior Pro with Metrowerks Standard Library (MSL).
-// #define MSL_USE_PRECOMPILED_HEADERS 0
-#include <ansi_prefix.mac.h>
-#ifndef __STDC__
-#define __STDC__ 0
-#endif
-
-#endif
-
-// these are defined again in gc_priv.h.
-#undef TRUE
-#undef FALSE
-
-#define ALL_INTERIOR_POINTERS	// follows interior pointers.
-//#define SILENT				// want collection messages.
-//#define DONT_ADD_BYTE_AT_END	// no padding.
-//#define SMALL_CONFIG			// whether to a smaller heap.
-#define NO_SIGNALS				// signals aren't real on the Macintosh.
-#define USE_TEMPORARY_MEMORY	// use Macintosh temporary memory.
-
-// CFLAGS= -O -DNO_SIGNALS -DALL_INTERIOR_POINTERS -DSILENT
-//
-//LIBGC_CFLAGS= -O -DNO_SIGNALS -DSILENT \
-//    -DREDIRECT_MALLOC=GC_malloc_uncollectable \
-//    -DDONT_ADD_BYTE_AT_END -DALL_INTERIOR_POINTERS
-//   Flags for building libgc.a -- the last two are required.
-//
-// Setjmp_test may yield overly optimistic results when compiled
-// without optimization.
-// -DSILENT disables statistics printing, and improves performance.
-// -DCHECKSUMS reports on erroneously clear dirty bits, and unexpectedly
-//   altered stubborn objects, at substantial performance cost.
-//   Use only for incremental collector debugging.
-// -DFIND_LEAK causes the collector to assume that all inaccessible
-//   objects should have been explicitly deallocated, and reports exceptions.
-//   Finalization and the test program are not usable in this mode.
-// -DSOLARIS_THREADS enables support for Solaris (thr_) threads.
-//   (Clients should also define SOLARIS_THREADS and then include
-//   gc.h before performing thr_ or GC_ operations.)
-//   This is broken on nonSPARC machines.
-// -DALL_INTERIOR_POINTERS allows all pointers to the interior
-//   of objects to be recognized.  (See gc_priv.h for consequences.)
-// -DSMALL_CONFIG tries to tune the collector for small heap sizes,
-//   usually causing it to use less space in such situations.
-//   Incremental collection no longer works in this case.
-// -DLARGE_CONFIG tunes the collector for unusually large heaps.
-//   Necessary for heaps larger than about 500 MB on most machines.
-//   Recommended for heaps larger than about 64 MB.
-// -DDONT_ADD_BYTE_AT_END is meaningful only with
-//   -DALL_INTERIOR_POINTERS.  Normally -DALL_INTERIOR_POINTERS
-//   causes all objects to be padded so that pointers just past the end of
-//   an object can be recognized.  This can be expensive.  (The padding
-//   is normally more than one byte due to alignment constraints.)
-//   -DDONT_ADD_BYTE_AT_END disables the padding.
-// -DNO_SIGNALS does not disable signals during critical parts of
-//   the GC process.  This is no less correct than many malloc 
-//   implementations, and it sometimes has a significant performance
-//   impact.  However, it is dangerous for many not-quite-ANSI C
-//   programs that call things like printf in asynchronous signal handlers.
-// -DGC_OPERATOR_NEW_ARRAY declares that the C++ compiler supports the
-//   new syntax "operator new[]" for allocating and deleting arrays.
-//   See gc_cpp.h for details.  No effect on the C part of the collector.
-//   This is defined implicitly in a few environments.
-// -DREDIRECT_MALLOC=X causes malloc, realloc, and free to be defined
-//   as aliases for X, GC_realloc, and GC_free, respectively.
-//   Calloc is redefined in terms of the new malloc.  X should
-//   be either GC_malloc or GC_malloc_uncollectable.
-//   The former is occasionally useful for working around leaks in code
-//   you don't want to (or can't) look at.  It may not work for
-//   existing code, but it often does.  Neither works on all platforms,
-//   since some ports use malloc or calloc to obtain system memory.
-//   (Probably works for UNIX, and win32.)
-// -DNO_DEBUG removes GC_dump and the debugging routines it calls.
-//   Reduces code size slightly at the expense of debuggability.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/Mac_files/MacOS_config.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/Mac_files/MacOS_config.h
deleted file mode 100755
index c1c8182..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/Mac_files/MacOS_config.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-	MacOS_config.h
-	
-	Configuration flags for Macintosh development systems.
-	
- 	<Revision History>
- 	
- 	11/16/95  pcb  Updated compilation flags to reflect latest 4.6 Makefile.
-	
-	by Patrick C. Beard.
- */
-/* Boehm, November 17, 1995 12:10 pm PST */
-
-#ifdef __MWERKS__
-
-// for CodeWarrior Pro with Metrowerks Standard Library (MSL).
-// #define MSL_USE_PRECOMPILED_HEADERS 0
-#include <ansi_prefix.mac.h>
-#ifndef __STDC__
-#define __STDC__ 0
-#endif
-
-#endif /* __MWERKS__ */
-
-// these are defined again in gc_priv.h.
-#undef TRUE
-#undef FALSE
-
-#define ALL_INTERIOR_POINTERS	// follows interior pointers.
-#define SILENT			// no collection messages.
-//#define DONT_ADD_BYTE_AT_END	// no padding.
-//#define SMALL_CONFIG		// whether to use a smaller heap.
-#define NO_SIGNALS		// signals aren't real on the Macintosh.
-#define USE_TEMPORARY_MEMORY	// use Macintosh temporary memory.
-
-// CFLAGS= -O -DNO_SIGNALS -DSILENT -DALL_INTERIOR_POINTERS
-//
-//LIBGC_CFLAGS= -O -DNO_SIGNALS -DSILENT \
-//    -DREDIRECT_MALLOC=GC_malloc_uncollectable \
-//    -DDONT_ADD_BYTE_AT_END -DALL_INTERIOR_POINTERS
-//   Flags for building libgc.a -- the last two are required.
-//
-// Setjmp_test may yield overly optimistic results when compiled
-// without optimization.
-// -DSILENT disables statistics printing, and improves performance.
-// -DCHECKSUMS reports on erroneously clear dirty bits, and unexpectedly
-//   altered stubborn objects, at substantial performance cost.
-//   Use only for incremental collector debugging.
-// -DFIND_LEAK causes the collector to assume that all inaccessible
-//   objects should have been explicitly deallocated, and reports exceptions.
-//   Finalization and the test program are not usable in this mode.
-// -DSOLARIS_THREADS enables support for Solaris (thr_) threads.
-//   (Clients should also define SOLARIS_THREADS and then include
-//   gc.h before performing thr_ or GC_ operations.)
-//   This is broken on nonSPARC machines.
-// -DALL_INTERIOR_POINTERS allows all pointers to the interior
-//   of objects to be recognized.  (See gc_priv.h for consequences.)
-// -DSMALL_CONFIG tries to tune the collector for small heap sizes,
-//   usually causing it to use less space in such situations.
-//   Incremental collection no longer works in this case.
-// -DLARGE_CONFIG tunes the collector for unusually large heaps.
-//   Necessary for heaps larger than about 500 MB on most machines.
-//   Recommended for heaps larger than about 64 MB.
-// -DDONT_ADD_BYTE_AT_END is meaningful only with
-//   -DALL_INTERIOR_POINTERS.  Normally -DALL_INTERIOR_POINTERS
-//   causes all objects to be padded so that pointers just past the end of
-//   an object can be recognized.  This can be expensive.  (The padding
-//   is normally more than one byte due to alignment constraints.)
-//   -DDONT_ADD_BYTE_AT_END disables the padding.
-// -DNO_SIGNALS does not disable signals during critical parts of
-//   the GC process.  This is no less correct than many malloc 
-//   implementations, and it sometimes has a significant performance
-//   impact.  However, it is dangerous for many not-quite-ANSI C
-//   programs that call things like printf in asynchronous signal handlers.
-// -DGC_OPERATOR_NEW_ARRAY declares that the C++ compiler supports the
-//   new syntax "operator new[]" for allocating and deleting arrays.
-//   See gc_cpp.h for details.  No effect on the C part of the collector.
-//   This is defined implicitly in a few environments.
-// -DREDIRECT_MALLOC=X causes malloc, realloc, and free to be defined
-//   as aliases for X, GC_realloc, and GC_free, respectively.
-//   Calloc is redefined in terms of the new malloc.  X should
-//   be either GC_malloc or GC_malloc_uncollectable.
-//   The former is occasionally useful for working around leaks in code
-//   you don't want to (or can't) look at.  It may not work for
-//   existing code, but it often does.  Neither works on all platforms,
-//   since some ports use malloc or calloc to obtain system memory.
-//   (Probably works for UNIX, and win32.)
-// -DNO_DEBUG removes GC_dump and the debugging routines it calls.
-//   Reduces code size slightly at the expense of debuggability.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/Mac_files/dataend.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/Mac_files/dataend.c
deleted file mode 100755
index 5125bf4..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/Mac_files/dataend.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-	dataend.c
-	
-	A hack to get the extent of global data for the Macintosh.
-	
-	by Patrick C. Beard.
- */
-
-long __dataend;
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/Mac_files/datastart.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/Mac_files/datastart.c
deleted file mode 100755
index 36bfd19..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/Mac_files/datastart.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-	datastart.c
-	
-	A hack to get the extent of global data for the Macintosh.
-	
-	by Patrick C. Beard.
- */
-
-long __datastart;
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.DLLs b/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.DLLs
deleted file mode 100755
index 88653d4..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.DLLs
+++ /dev/null
@@ -1,107 +0,0 @@
-#-----------------------------------------------------------------------------#
-
-# Makefile.DLLs, version 0.4.
-
-# Contributed by Fergus Henderson.
-
-# This Makefile contains rules for creating DLLs on Windows using gnu-win32.
-
-#-----------------------------------------------------------------------------#
-
-# This rule creates a `.def' file, which lists the symbols that are exported
-# from the DLL.  We use `nm' to get a list of all the exported text (`T')
-# symbols and data symbols -- including uninitialized data (`B'),
-# initialized data (`D'), read-only data (`R'), and common blocks (`C').
-%.def: %.a
-	echo EXPORTS > $@
-	nm $< | grep '^........ [BCDRT] _' | sed 's/[^_]*_//' >> $@
-
-# We need to use macros to access global data:
-# the user of the DLL must refer to `foo' as `(*__imp_foo)'.
-# This rule creates a `_globals.h' file, which contains macros
-# for doing this.
-
-SYM_PREFIX = $(firstword $(SYM_PREFIX-$*) $*)
-DLL_MACRO = $(SYM_PREFIX)_USE_DLL
-IMP_MACRO = $(SYM_PREFIX)_IMP
-GLOBAL_MACRO = $(SYM_PREFIX)_GLOBAL
-
-%_globals.h: %.a
-	echo "/* automatically generated by Makefile.DLLs */"	> $@
-	echo "#if defined(__GNUC__) && defined(_WIN32) \\"	>> $@
-	echo "	&& defined($(DLL_MACRO))"			>> $@
-	echo "#  define $(IMP_MACRO)(name)	__imp_##name" 	>> $@
-	echo "#  define $(GLOBAL_MACRO)(name)	(*$(IMP_MACRO)(name))" >> $@
-	echo "#else"						>> $@
-	echo "#  define $(GLOBAL_MACRO)(name)	name"		>> $@
-	echo "#endif"						>> $@
-	echo ""							>> $@
-	for sym in `nm $< | grep '^........ [BCDR] _' | sed 's/[^_]*_//'`; do \
-		echo "#define $$sym	$(GLOBAL_MACRO)($$sym)"	>> $@; \
-	done
-
-# This rule creates the export object file (`foo.exp') which contains the
-# jump table array; this export object file becomes part of the DLL. 
-# This rule also creates the import library (`foo_dll.a') which contains small
-# stubs for all the functions exported by the DLL which jump to them via the
-# jump table.  Executables that will use the DLL must be linked against this
-# stub library.
-%.exp %_dll.a : %.def
-	dlltool $(DLLTOOLFLAGS) $(DLLTOOLFLAGS-$*)		\
-		--def $<					\
-		--dllname $*.dll				\
-		--output-exp $*.exp				\
-		--output-lib $*_dll.a
-
-# The `sed' commands below are to convert DOS-style `C:\foo\bar'
-# pathnames into Unix-style `//c/foo/bar' pathnames.
-CYGWIN32_LIBS = $(shell echo					\
-	-L`dirname \`gcc -print-file-name=libgcc.a |		\
-	sed -e 's@^\\\\([A-Za-z]\\\\):@//\\\\1 at g' -e 's@\\\\\\\\@/@g' \` ` \
-	-L`dirname \`gcc -print-file-name=libcygwin.a |	\
-	sed -e 's@^\\\\([A-Za-z]\\\\):@//\\\\1 at g' -e 's@\\\\\\\\@/@g' \` ` \
-	-L`dirname \`gcc -print-file-name=libkernel32.a | \
-	sed -e 's@^\\\\([A-Za-z]\\\\):@//\\\\1 at g' -e 's@\\\\\\\\@/@g' \` ` \
-	-lgcc -lcygwin -lkernel32 -lgcc)
-
-RELOCATABLE=yes
-
-ifeq "$(strip $(RELOCATABLE))" "yes"
-
-# to create relocatable DLLs, we need to do two passes
-%.dll: %.exp %.a dll_fixup.o dll_init.o
-	$(LD) $(LDFLAGS) $(LDFLAGS-$*) --dll -o $*.base			\
-		-e _dll_entry at 12 dll_init.o				\
-		dll_fixup.o $*.exp $*.a					\
-		$(LDLIBS) $(LDLIBS-$*)					\
-		$(CYGWIN32_LIBS)
-	$(LD) $(LDFLAGS) $(LDFLAGS-$*) --dll --base-file $*.base -o $@	\
-		-e _dll_entry at 12 dll_init.o				\
-		dll_fixup.o $*.exp $*.a					\
-		$(LDLIBS) $(LDLIBS-$*)					\
-		$(CYGWIN32_LIBS)
-	rm -f $*.base
-else
-
-%.dll: %.exp %.a dll_fixup.o dll_init.o
-	$(LD) $(LDFLAGS) $(LDFLAGS-$*) --dll -o $@			\
-		-e _dll_entry at 12 dll_init.o				\
-		dll_fixup.o $*.exp $*.a					\
-		$(LDLIBS) $(LDLIBS-$*)					\
-		$(CYGWIN32_LIBS)
-
-endif
-
-# This black magic piece of assembler needs to be linked in in order to
-# properly terminate the list of imported DLLs.
-dll_fixup.s:
-	echo '.section .idata$$3' 	> dll_fixup.s
-	echo '.long 0,0,0,0, 0,0,0,0'	>> dll_fixup.s
-
-# This bit is necessary to provide an initialization function for the DLL.
-dll_init.c:
-	echo '__attribute__((stdcall))' > dll_init.c
-	echo 'int dll_entry(int handle, int reason, void *ptr)' >> dll_init.c
-	echo '{return 1; }' >> dll_init.c
-
-dont_throw_away: dll_fixup.o dll_init.o
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.am b/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.am
deleted file mode 100755
index 033cb30..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.am
+++ /dev/null
@@ -1,206 +0,0 @@
-# Copyright (c) 1999-2001 by Red Hat, Inc. All rights reserved.
-# 
-# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-# OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-# 
-# Permission is hereby granted to use or copy this program
-# for any purpose,  provided the above notices are retained on all copies.
-# Permission to modify the code and to distribute modified code is granted,
-# provided the above notices are retained, and a notice that the code was
-# modified is included with the above copyright notice.
-#
-# Original author: Tom Tromey
-# Severely truncated by Hans-J. Boehm
-# Modified by: Grzegorz Jakacki <jakacki at acm dot org>
-# Modified by: Petter Urkedal <petter.urkedal at nordita.dk> (2005-04)
-
-## Process this file with automake to produce Makefile.in.
-
-## FIXME: `make distcheck' in this directory will not currently work.
-##     This is most likely to the explicit flags passed to submakes.
-
-# We currently use the source files directly from libatomic_ops, if we
-# use the internal version.  This is done since libatomic_ops doesn't
-# use libtool, since it has no real use for it.  But that seems to make
-# it hard to use either the resulting object files or libraries.
-# Thus there seems too be no real reason to recusively build in the
-# libatomic_ops directory.
-# if USE_INTERNAL_LIBATOMICS_OPS
-# SUBDIRS = @maybe_libatomic_ops@
-# else
-# SUBDIRS =
-# endif
-SUBDIRS =
-
-# Initialize variables so that we can declare files locally.
-EXTRA_DIST = 
-lib_LTLIBRARIES =
-include_HEADERS =
-pkginclude_HEADERS =
-dist_noinst_HEADERS =
-check_PROGRAMS =
-TESTS =
-
-pkgconfigdir = $(libdir)/pkgconfig
-dist_pkgconfig_DATA = bdw-gc.pc
-
-# C Library
-# ---------
-
-lib_LTLIBRARIES += libgc.la
-libgc_la_SOURCES = \
-	allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
-	dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c \
-	malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
-	obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
-	specific.c stubborn.c typd_mlc.c \
-	backgraph.c thread_local_alloc.c
-
-# C Library: Architecture Dependent
-# ---------------------------------
-
-if PTHREADS
-libgc_la_SOURCES += pthread_support.c pthread_stop_world.c
-endif
-
-if DARWIN_THREADS
-libgc_la_SOURCES += darwin_stop_world.c
-endif
-
-if WIN32_THREADS
-libgc_la_SOURCES += win32_threads.c
-endif
-
-if USE_INTERNAL_LIBATOMIC_OPS
-nodist_libgc_la_SOURCES = atomic_ops.c
-endif
-
-if NEED_ATOMIC_OPS_ASM
-nodist_libgc_la_SOURCES = atomic_ops_sysdeps.S
-endif
-
-# Include THREADDLLIBS here to ensure that the correct versions of
-# linuxthread semaphore functions get linked:
-libgc_la_LIBADD = @addobjs@ $(THREADDLLIBS) $(UNWINDLIBS)
-libgc_la_DEPENDENCIES = @addobjs@
-libgc_la_LDFLAGS = $(extra_ldflags_libgc) -version-info 1:3:0 -no-undefined
-
-EXTRA_libgc_la_SOURCES = alpha_mach_dep.S \
-    mips_sgi_mach_dep.s mips_ultrix_mach_dep.s \
-    rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
-    sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
-
-
-# C++ Interface
-# -------------
-
-if CPLUSPLUS
-lib_LTLIBRARIES += libgccpp.la
-pkginclude_HEADERS += include/gc_cpp.h include/gc_allocator.h
-libgccpp_la_SOURCES = gc_cpp.cc
-libgccpp_la_LIBADD = $(top_builddir)/libgc.la
-libgccpp_la_LDFLAGS = -version-info 1:3:0 -no-undefined
-endif
-
-# FIXME: If Visual C++ users use Makefile.am, this should go into
-# pkginclude_HEADERS with proper AM_CONDITIONALization.  Otherwise
-# delete this comment.
-EXTRA_DIST += gc_cpp.cpp
-
-
-# Misc
-# ----
-
-AM_CXXFLAGS = @GC_CFLAGS@
-AM_CFLAGS = @GC_CFLAGS@
-
-## FIXME: relies on internal code generated by automake.
-## FIXME: ./configure --enable-dependency-tracking should be used 
-#all_objs = @addobjs@ $(libgc_la_OBJECTS)
-#$(all_objs) : include/private/gcconfig.h include/private/gc_priv.h \
-#include/private/gc_hdrs.h include/gc.h include/gc_gcj.h \
-#include/gc_pthread_redirects.h include/gc_config_macros.h \
-#include/private/thread_local_alloc.h include/private_support.h \
-#include/private/pthread_stop_world.h \
-#include/gc_mark.h @addincludes@
-
-## FIXME: we shouldn't have to do this, but automake forces us to.
-## We use -Wp,-P to strip #line directives.  Irix `as' chokes on
-## these.
-if COMPILER_XLC
-  ## XLC neither requires nor tolerates the unnecessary assembler goop
-  ASM_CPP_OPTIONS =
-else
-  ## We use -Wp,-P to strip #line directives.  Irix `as' chokes on
-  ## these.
-  ASM_CPP_OPTIONS = -Wp,-P -x assembler-with-cpp
-endif
-.s.lo:
-	$(LTCOMPILE) $(ASM_CPP_OPTIONS) -c $<
-
-.S.lo:
-	$(LTCOMPILE) $(ASM_CPP_OPTIONS) -c $<
-
-## We need to add DEFS to assembler flags
-## :FIXME: what if assembler does not accept -D... ?
-##     (use Autoconf to prepare ASDEFS ???)
-
-CCASFLAGS += $(DEFS)
-
-dist_noinst_SCRIPTS = callprocs configure.host
-    ## callprocs --- used by Makefile.{dj,direct}
-    ## configure.host --- used by Makefile.{am,dj,direct}
-
-# headers which are not installed
-# (see include/include.am for more)
-#
-dist_noinst_HEADERS += version.h
-
-# documentation which is not installed
-#
-EXTRA_DIST += README.QUICK
-
-# other makefiles
-# :GOTCHA: deliberately we do not include 'Makefile'
-EXTRA_DIST += BCC_MAKEFILE NT_MAKEFILE NT_THREADS_MAKEFILE \
-    OS2_MAKEFILE PCR-Makefile digimars.mak EMX_MAKEFILE	\
-    Makefile.direct Makefile.dj	Makefile.DLLs SMakefile.amiga \
-    WCC_MAKEFILE configure_atomic_ops.sh \
-    NT_STATIC_THREADS_MAKEFILE NT_X64_STATIC_THREADS_MAKEFILE
-
-# files used by makefiles other than Makefile.am
-#
-EXTRA_DIST += add_gc_prefix.c gcname.c if_mach.c if_not_there.c \
-    hpux_test_and_clear.s gc.mak MacOS.c \
-    MacProjects.sit.hqx mach_dep.c setjmp_t.c \
-    threadlibs.c AmigaOS.c \
-    Mac_files/datastart.c Mac_files/dataend.c \
-    Mac_files/MacOS_config.h Mac_files/MacOS_Test_config.h \
-    include/private/msvc_dbg.h msvc_dbg.c
-
-# The libatomic_ops library.  This is not ideal, since we pick up junk from
-# there.  The hard-coded version number should also go.
-EXTRA_DIST += libatomic_ops-1.2
-
-# this is an auxiliary shell file used by Makefile and Makefile.direct
-#
-CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host
-
-# :FIXME: why do we distribute this one???
-#
-EXTRA_DIST += libtool.m4
-
-#
-# :GOTCHA: GNU make rule for making .s out of .S is flawed, 
-# it will not remove dest if building fails
-.S.s:
-	if $(CPP) $< >$@ ; then :; else rm -f $@; fi
-
-include include/include.am
-include cord/cord.am
-include tests/tests.am
-include doc/doc.am
-# Putting these at the top causes cord to be built first, and not find libgc.a
-# on HP/UX.  There may be a better fix.
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.direct b/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.direct
deleted file mode 100755
index d001279..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.direct
+++ /dev/null
@@ -1,737 +0,0 @@
-# This is the original manually generated Makefile.  It may still be used
-# to build the collector.
-#
-# Primary targets:
-# gc.a - builds basic library
-# c++ - adds C++ interface to library
-# cords - adds cords (heavyweight strings) to library
-# test - prints porting information, then builds basic version of gc.a,
-#      	 and runs some tests of collector and cords.  Does not add cords or
-#	 c++ interface to gc.a
-# cord/de - builds dumb editor based on cords.
-ABI_FLAG= 
-# ABI_FLAG should be the cc flag that specifies the ABI.  On most
-# platforms this will be the empty string.  Possible values:
-# +DD64 for 64-bit executable on HP/UX.
-# -n32, -n64, -o32 for SGI/MIPS ABIs.
-
-AS_ABI_FLAG=$(ABI_FLAG)
-# ABI flag for assembler.  On HP/UX this is +A64 for 64 bit
-# executables.
-
-CC=cc $(ABI_FLAG)
-CXX=g++ $(ABI_FLAG)
-AS=as $(AS_ABI_FLAG)
-#  The above doesn't work with gas, which doesn't run cpp.
-#  Define AS as `gcc -c -x assembler-with-cpp' instead.
-
-# Redefining srcdir allows object code for the nonPCR version of the collector
-# to be generated in different directories.
-srcdir= .
-VPATH= $(srcdir)
-
-# Atomic_ops installation directory.  If this doesn't exist, we create
-# it from the included libatomic_ops distribution.
-AO_VERSION=1.2
-AO_SRC_DIR=$(srcdir)/libatomic_ops-$(AO_VERSION)
-AO_INSTALL_DIR=$(srcdir)/libatomic_ops-install
-
-CFLAGS= -O -I$(srcdir)/include -I$(AO_INSTALL_DIR)/include -DATOMIC_UNCOLLECTABLE -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS
-
-# To build the parallel collector on Linux, add to the above:
-# -DGC_LINUX_THREADS -DPARALLEL_MARK -DTHREAD_LOCAL_ALLOC
-# To build the thread-capable preload library that intercepts
-# malloc, add -DGC_USE_DLOPEN_WRAP -DREDIRECT_MALLOC=GC_malloc -fpic
-# To build the parallel collector in a static library on HP/UX,
-# add to the above:
-# -DGC_HPUX_THREADS -DTHREAD_LOCAL_ALLOC -D_POSIX_C_SOURCE=199506L -mt
-# FIXME: PARALLEL_MARK currently broken on HP/UX.
-# To build the thread-safe collector on Tru64, add to the above:
-# -pthread -DGC_OSF1_THREADS
-
-# HOSTCC and HOSTCFLAGS are used to build executables that will be run as
-# part of the build process, i.e. on the build machine.  These will usually
-# be the same as CC and CFLAGS, except in a cross-compilation environment.
-# Note that HOSTCFLAGS should include any -D flags that affect thread support.
-HOSTCC=$(CC)
-HOSTCFLAGS=$(CFLAGS)
-
-# For dynamic library builds, it may be necessary to add flags to generate
-# PIC code, e.g. -fPIC on Linux.
-
-# Setjmp_test may yield overly optimistic results when compiled
-# without optimization.
-
-# These define arguments influence the collector configuration:
-# -DFIND_LEAK causes GC_find_leak to be initially set.
-#   This causes the collector to assume that all inaccessible
-#   objects should have been explicitly deallocated, and reports exceptions.
-#   Finalization and the test program are not usable in this mode.
-#
-# IMPORTANT: Any of the _THREADS options must normally also be defined in
-# the client before including gc.h.  This redefines thread primitives to
-# invoke the GC_ versions instead.  Alternatively, linker-based symbol
-# interception can be used on a few platforms.
-# -DGC_THREADS should set the appropriate one of the below macros,
-#   except -DGC_WIN32_PTHREADS, which must be set explicitly.
-# -DGC_SOLARIS_PTHREADS enables support for Solaris pthreads.
-#   (Clients should also define GC_SOLARIS_THREADS and then include
-#   gc.h before performing thr_ or dl* or GC_ operations.)
-#   Must also define -D_REENTRANT.
-# -DGC_IRIX_THREADS enables support for Irix pthreads.  See README.irix.
-# -DGC_HPUX_THREADS enables support for HP/UX 11 pthreads.
-#   Also requires -D_REENTRANT or -D_POSIX_C_SOURCE=199506L. See README.hp.
-# -DGC_LINUX_THREADS enables support for Xavier Leroy's Linux threads
-#   or NPTL threads. See README.linux.  -D_REENTRANT may also be required.
-# -DGC_OSF1_THREADS enables support for Tru64 pthreads.
-# -DGC_FREEBSD_THREADS enables support for FreeBSD pthreads.
-#   Appeared to run into some underlying thread problems.
-# -DGC_DARWIN_THREADS enables support for Mac OS X pthreads.
-# -DGC_AIX_THREADS enables support for IBM AIX threads.
-# -DGC_DGUX386_THREADS enables support for DB/UX on I386 threads.
-#   See README.DGUX386.  (Probably has not been tested recently.)
-# -DGC_WIN32_THREADS enables support for win32 threads.  That makes sense
-#   for this Makefile only under Cygwin.
-# -DGC_WIN32_PTHREADS enables support for Ming32 pthreads.  This cannot be
-#   enabled automatically by GC_THREADS, which would assume Win32 native
-#   threads.
-# -DPTW32_STATIC_LIB causes the static version of the Mingw pthreads library
-#   to be used.  Requires -DGC_WIN32_PTHREADS.
-#   
-# -DALL_INTERIOR_POINTERS allows all pointers to the interior
-#   of objects to be recognized.  (See gc_priv.h for consequences.)
-#   Alternatively, GC_all_interior_pointers can be set at process
-#   initialization time.
-# -DSMALL_CONFIG tries to tune the collector for small heap sizes,
-#   usually causing it to use less space in such situations.
-#   Incremental collection no longer works in this case.
-# -DLARGE_CONFIG tunes the collector for unusually large heaps.
-#   Necessary for heaps larger than about 500 MB on most machines.
-#   Recommended for heaps larger than about 64 MB.
-# -DDONT_ADD_BYTE_AT_END is meaningful only with -DALL_INTERIOR_POINTERS or
-#   GC_all_interior_pointers = 1.  Normally -DALL_INTERIOR_POINTERS
-#   causes all objects to be padded so that pointers just past the end of
-#   an object can be recognized.  This can be expensive.  (The padding
-#   is normally more than one byte due to alignment constraints.)
-#   -DDONT_ADD_BYTE_AT_END disables the padding.
-# -DNO_EXECUTE_PERMISSION may cause some or all of the heap to not
-#   have execute permission, i.e. it may be impossible to execute
-#   code from the heap.  Currently this only affects the incremental
-#   collector on UNIX machines.  It may greatly improve its performance,
-#   since this may avoid some expensive cache synchronization.
-# -DGC_NO_OPERATOR_NEW_ARRAY declares that the C++ compiler does not support
-#   the  new syntax "operator new[]" for allocating and deleting arrays.
-#   See gc_cpp.h for details.  No effect on the C part of the collector.
-#   This is defined implicitly in a few environments.  Must also be defined
-#   by clients that use gc_cpp.h.
-# -DREDIRECT_MALLOC=X causes malloc to be defined as alias for X.
-#   Unless the following macros are defined, realloc is also redirected
-#   to GC_realloc, and free is redirected to GC_free.
-#   Calloc and strdup are redefined in terms of the new malloc.  X should
-#   be either GC_malloc or GC_malloc_uncollectable, or
-#   GC_debug_malloc_replacement.  (The latter invokes GC_debug_malloc
-#   with dummy source location information, but still results in
-#   properly remembered call stacks on Linux/X86 and Solaris/SPARC.
-#   It requires that the following two macros also be used.)
-#   The former is occasionally useful for working around leaks in code
-#   you don't want to (or can't) look at.  It may not work for
-#   existing code, but it often does.  Neither works on all platforms,
-#   since some ports use malloc or calloc to obtain system memory.
-#   (Probably works for UNIX, and win32.)  If you build with DBG_HDRS_ALL,
-#   you should only use GC_debug_malloc_replacement as a malloc
-#   replacement.
-# -DREDIRECT_REALLOC=X causes GC_realloc to be redirected to X.
-#   The canonical use is -DREDIRECT_REALLOC=GC_debug_realloc_replacement,
-#   together with -DREDIRECT_MALLOC=GC_debug_malloc_replacement to
-#   generate leak reports with call stacks for both malloc and realloc.
-#   This also requires the following:
-# -DREDIRECT_FREE=X causes free to be redirected to X.  The
-#   canonical use is -DREDIRECT_FREE=GC_debug_free.
-# -DIGNORE_FREE turns calls to free into a noop.  Only useful with
-#   -DREDIRECT_MALLOC.
-# -DNO_DEBUGGING removes GC_dump and the debugging routines it calls.
-#   Reduces code size slightly at the expense of debuggability.
-# -DJAVA_FINALIZATION makes it somewhat safer to finalize objects out of
-#   order by specifying a nonstandard finalization mark procedure  (see
-#   finalize.c).  Objects reachable from finalizable objects will be marked
-#   in a separate postpass, and hence their memory won't be reclaimed.
-#   Not recommended unless you are implementing a language that specifies
-#   these semantics.  Since 5.0, determines only the initial value
-#   of GC_java_finalization variable.
-# -DFINALIZE_ON_DEMAND causes finalizers to be run only in response
-#   to explicit GC_invoke_finalizers() calls.
-#   In 5.0 this became runtime adjustable, and this only determines the
-#   initial value of GC_finalize_on_demand.
-# -DATOMIC_UNCOLLECTABLE includes code for GC_malloc_atomic_uncollectable.
-#   This is useful if either the vendor malloc implementation is poor,
-#   or if REDIRECT_MALLOC is used.
-# -DMARK_BIT_PER_GRANULE requests that a mark bit (or often byte)
-#   be allocated for each allocation granule, as opposed to each object.
-#   This often improves speed, possibly at some cost in space and/or
-#   cache footprint.  Normally it is best to let this decision be
-#   made automatically depending on platform.
-# -DMARK_BIT_PER_OBJ requests that a mark bit be allocated for each
-#   object instead of allocation granule.  The opposiet of
-#   MARK_BIT_PER_GRANULE.
-# -DHBLKSIZE=ddd, where ddd is a power of 2 between 512 and 16384, explicitly
-#   sets the heap block size.  Each heap block is devoted to a single size and
-#   kind of object.  For the incremental collector it makes sense to match
-#   the most likely page size.  Otherwise large values result in more
-#   fragmentation, but generally better performance for large heaps.
-# -DUSE_MMAP use MMAP instead of sbrk to get new memory.
-#   Works for Solaris and Irix.
-# -DUSE_MUNMAP causes memory to be returned to the OS under the right
-#   circumstances.  This currently disables VM-based incremental collection.
-#   This is currently experimental, and works only under some Unix,
-#   Linux and Windows versions.
-# -DMMAP_STACKS (for Solaris threads) Use mmap from /dev/zero rather than
-#   GC_scratch_alloc() to get stack memory.
-# -DPRINT_BLACK_LIST Whenever a black list entry is added, i.e. whenever
-#   the garbage collector detects a value that looks almost, but not quite,
-#   like a pointer, print both the address containing the value, and the
-#   value of the near-bogus-pointer.  Can be used to identifiy regions of
-#   memory that are likely to contribute misidentified pointers.
-# -DKEEP_BACK_PTRS Add code to save back pointers in debugging headers
-#   for objects allocated with the debugging allocator.  If all objects
-#   through GC_MALLOC with GC_DEBUG defined, this allows the client
-#   to determine how particular or randomly chosen objects are reachable
-#   for debugging/profiling purposes.  The gc_backptr.h interface is
-#   implemented only if this is defined.
-# -DGC_ASSERTIONS Enable some internal GC assertion checking.  Currently
-#   this facility is only used in a few places.  It is intended primarily
-#   for debugging of the garbage collector itself, but could also
-# -DDBG_HDRS_ALL Make sure that all objects have debug headers.  Increases
-#   the reliability (from 99.9999% to 100% mod. bugs) of some of the debugging
-#   code (especially KEEP_BACK_PTRS).  Makes -DSHORT_DBG_HDRS possible.
-#   Assumes that all client allocation is done through debugging
-#   allocators.
-# -DSHORT_DBG_HDRS Assume that all objects have debug headers.  Shorten
-#   the headers to minimize object size, at the expense of checking for
-#   writes past the end of an object.  This is intended for environments
-#   in which most client code is written in a "safe" language, such as
-#   Scheme or Java.  Assumes that all client allocation is done using
-#   the GC_debug_ functions, or through the macros that expand to these,
-#   or by redirecting malloc to GC_debug_malloc_replacement.
-#   (Also eliminates the field for the requested object size.)
-#   occasionally be useful for debugging of client code.  Slows down the
-#   collector somewhat, but not drastically.
-# -DSAVE_CALL_COUNT=<n> Set the number of call frames saved with objects
-#   allocated through the debugging interface.  Affects the amount of
-#   information generated in leak reports.  Only matters on platforms
-#   on which we can quickly generate call stacks, currently Linux/(X86 & SPARC)
-#   and Solaris/SPARC and platforms that provide execinfo.h.
-#   Default is zero.  On X86, client
-#   code should NOT be compiled with -fomit-frame-pointer.
-# -DSAVE_CALL_NARGS=<n> Set the number of functions arguments to be
-#   saved with each call frame.  Default is zero.  Ignored if we
-#   don't know how to retrieve arguments on the platform.
-# -DCHECKSUMS reports on erroneously clear dirty bits, and unexpectedly
-#   altered stubborn objects, at substantial performance cost.
-#   Use only for debugging of the incremental collector.
-# -DGC_GCJ_SUPPORT includes support for gcj (and possibly other systems
-#   that include a pointer to a type descriptor in each allocated object).
-#   Building this way requires an ANSI C compiler.
-# -DUSE_I686_PREFETCH causes the collector to issue Pentium III style
-#   prefetch instructions.  No effect except on X86 Linux platforms.
-#   Assumes a very recent gcc-compatible compiler and assembler.
-#   (Gas prefetcht0 support was added around May 1999.)
-#   Empirically the code appears to still run correctly on Pentium II
-#   processors, though with no performance benefit.  May not run on other
-#   X86 processors?  In some cases this improves performance by
-#   15% or so.
-# -DUSE_3DNOW_PREFETCH causes the collector to issue AMD 3DNow style
-#   prefetch instructions.  Same restrictions as USE_I686_PREFETCH.
-#   Minimally tested.  Didn't appear to be an obvious win on a K6-2/500.
-# -DUSE_PPC_PREFETCH causes the collector to issue PowerPC style
-#   prefetch instructions.  No effect except on PowerPC OS X platforms.
-#   Performance impact untested.
-# -DGC_USE_LD_WRAP in combination with the old flags listed in README.linux
-#   causes the collector some system and pthread calls in a more transparent
-#   fashion than the usual macro-based approach.  Requires GNU ld, and
-#   currently probably works only with Linux.
-# -DGC_USE_DLOPEN_WRAP causes the collector to redefine malloc and intercepted
-#   pthread routines with their real names, and causes it to use dlopen
-#   and dlsym to refer to the original versions.  This makes it possible to
-#   build an LD_PRELOADable malloc replacement library.
-# -DTHREAD_LOCAL_ALLOC defines GC_malloc(), GC_malloc_atomic()
-#   and GC_gcj_malloc() to use a per-thread set of free-lists.
-#   These then allocate  in a way that usually does not involve
-#   acquisition of a global lock.  Currently supported only on platforms
-#   such as Linux that use pthread_support.c.  Recommended for multiprocessors.
-#   Requires explicit GC_INIT() call, unless REDIRECT_MALLOC is
-#   defined and GC_malloc is used first.
-# -DUSE_COMPILER_TLS causes thread local allocation to use compiler-supported
-#   "__thread" thread-local variables.  This is the default in HP/UX.  It
-#   may help performance on recent Linux installations.  (It failed for
-#   me on RedHat 8, but appears to work on RedHat 9.)
-# -DPARALLEL_MARK allows the marker to run in multiple threads.  Recommended
-#   for multiprocessors.  Currently requires Linux on X86 or IA64, though
-#   support for other Posix platforms should be fairly easy to add,
-#   if the thread implementation is otherwise supported.
-# -DNO_GETENV prevents the collector from looking at environment variables.
-#   These may otherwise alter its configuration, or turn off GC altogether.
-#   I don't know of a reason to disable this, except possibly if the
-#   resulting process runs as a privileged user?
-# -DUSE_GLOBAL_ALLOC.  Win32 only.  Use GlobalAlloc instead of
-#   VirtualAlloc to allocate the heap.  May be needed to work around
-#   a Windows NT/2000 issue.  Incompatible with USE_MUNMAP.
-#   See README.win32 for details.
-# -DMAKE_BACK_GRAPH. Enable GC_PRINT_BACK_HEIGHT environment variable.
-#   See README.environment for details.  Experimental. Limited platform
-#   support.  Implies DBG_HDRS_ALL.  All allocation should be done using
-#   the debug interface.
-# -DSTUBBORN_ALLOC allows allocation of "hard to change" objects, and thus
-#   makes incremental collection easier.  Was enabled by default until 6.0.
-#   Rarely used, to my knowledge.
-# -DHANDLE_FORK attempts to make GC_malloc() work in a child process fork()ed
-#   from a multithreaded parent.  Currently only supported by pthread_support.c.
-#   (Similar code should work on Solaris or Irix, but it hasn't been tried.)
-# -DTEST_WITH_SYSTEM_MALLOC causes gctest to allocate (and leak) large chunks
-#   of memory with the standard system malloc.  This will cause the root
-#   set and collected heap to grow significantly if malloced memory is
-#   somehow getting traced by the collector.  This has no impact on the
-#   generated library; it only affects the test.
-# -DNO_INCREMENTAL cases the gctest program to not invoke the incremental
-#   collector.  This has no impact on the generated library, only on the
-#   test program.  (This is often useful for debugging failures unrelated
-#   to incremental GC.)
-# -DPOINTER_MASK=0x... causes candidate pointers to be ANDed with the
-#   given mask before being considered.  If either this or the following
-#   macro is defined, it will be assumed that all pointers stored in
-#   the heap need to be processed this way.  Stack and register pointers
-#   will be considered both with and without processing.
-#   These macros are normally needed only to support systems that use
-#   high-order pointer tags. EXPERIMENTAL.
-# -DPOINTER_SHIFT=n causes the collector to left shift candidate pointers
-#   by the indicated amount before trying to interpret them.  Applied
-#   after POINTER_MASK. EXPERIMENTAL.  See also the preceding macro.
-# -DENABLE_TRACE enables the GC_TRACE=addr environment setting to do its
-#   job.  By default this is not supported in order to keep the marker as fast
-#   as possible.
-# -DDARWIN_DONT_PARSE_STACK Causes the Darwin port to discover thread
-#   stack bounds in the same way as other pthread ports, without trying to
-#   walk the frames onthe stack.  This is recommended only as a fallback
-#   for applications that don't support proper stack unwinding.
-# -DUSE_PROC_FOR_LIBRARIES Causes the Linux collector to treat writable
-#   memory mappings (as reported by /proc) as roots, if it doesn't have
-#   otherinformation about them.  It no longer traverses dynamic loader
-#   data structures to find dynamic library static data.  This may be
-#   required for applications that store pointers in mmapped segments without
-#   informaing the collector.  But it typically performs poorly, especially
-#   since it will scan inactive but cached NPTL thread stacks completely.
-#
-
-CXXFLAGS= $(CFLAGS) 
-AR= ar
-RANLIB= ranlib
-
-
-OBJS= alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o \
-  headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o dbg_mlc.o  \
-  malloc.o stubborn.o checksums.o pthread_support.o pthread_stop_world.o \
-  darwin_stop_world.o typd_mlc.o ptr_chck.o mallocx.o gcj_mlc.o specific.o \
-  gc_dlopen.o backgraph.o win32_threads.o thread_local_alloc.o
-
-CSRCS= reclaim.c allchblk.c misc.c alloc.c mach_dep.c os_dep.c mark_rts.c \
-  headers.c mark.c obj_map.c pcr_interface.c blacklst.c finalize.c \
-  new_hblk.c real_malloc.c dyn_load.c dbg_mlc.c malloc.c stubborn.c \
-  checksums.c pthread_support.c pthread_stop_world.c darwin_stop_world.c \
-  typd_mlc.c ptr_chck.c mallocx.c gcj_mlc.c specific.c gc_dlopen.c \
-  backgraph.c win32_threads.c thread_local_alloc.c
-
-CORD_SRCS=  cord/cordbscs.c cord/cordxtra.c cord/cordprnt.c cord/de.c cord/cordtest.c include/cord.h include/ec.h include/private/cord_pos.h cord/de_win.c cord/de_win.h cord/de_cmds.h cord/de_win.ICO cord/de_win.RC
-
-CORD_OBJS=  cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o
-
-SRCS= $(CSRCS) mips_sgi_mach_dep.s rs6000_mach_dep.s alpha_mach_dep.S \
-    sparc_mach_dep.S include/gc.h include/gc_typed.h include/gc_tiny_fl.h \
-    include/private/gc_hdrs.h include/private/gc_priv.h \
-    include/private/gcconfig.h include/private/gc_pmark.h \
-    include/gc_inline.h include/gc_mark.h \
-    threadlibs.c if_mach.c if_not_there.c gc_cpp.cc include/gc_cpp.h \
-    gcname.c include/weakpointer.h include/private/gc_locks.h \
-    mips_ultrix_mach_dep.s \
-    include/new_gc_alloc.h include/gc_allocator.h \
-    include/javaxfc.h sparc_sunos4_mach_dep.s sparc_netbsd_mach_dep.s \
-    include/gc_backptr.h \
-    hpux_test_and_clear.s include/gc_gcj.h \
-    include/private/dbg_mlc.h \
-    include/private/specific.h \
-    include/leak_detector.h include/gc_amiga_redirects.h \
-    include/gc_pthread_redirects.h ia64_save_regs_in_stack.s \
-    include/gc_config_macros.h include/private/pthread_support.h \
-    include/private/pthread_stop_world.h include/private/darwin_semaphore.h \
-    include/private/darwin_stop_world.h include/private/thread_local_alloc.h \
-    $(CORD_SRCS)
-
-DOC_FILES= README.QUICK doc/README.Mac doc/README.MacOSX doc/README.OS2 \
-	doc/README.amiga doc/README.cords doc/debugging.html \
-	doc/porting.html doc/overview.html \
-	doc/README.dj doc/README.hp doc/README.linux doc/README.rs6000 \
-	doc/README.sgi doc/README.solaris2 doc/README.uts \
-	doc/README.win32 doc/barrett_diagram doc/README \
-        doc/README.contributors doc/README.changes doc/gc.man \
-	doc/README.environment doc/tree.html doc/gcdescr.html \
-	doc/README.autoconf doc/README.macros doc/README.ews4800 \
-	doc/README.DGUX386 doc/README.arm.cross doc/leak.html \
-	doc/scale.html doc/gcinterface.html doc/README.darwin \
-	doc/simple_example.html doc/README.win64
-
-TESTS= tests/test.c tests/test_cpp.cc tests/trace_test.c \
-	tests/leak_test.c tests/thread_leak_test.c tests/middle.c
-
-GNU_BUILD_FILES= configure.ac Makefile.am configure acinclude.m4 \
-		 libtool.m4 install-sh configure.host Makefile.in \
-		 aclocal.m4 config.sub config.guess \
-		 include/include.am doc/doc.am \
-		 ltmain.sh mkinstalldirs depcomp missing \
-		 cord/cord.am tests/tests.am autogen.sh \
-		 bdw-gc.pc.in compile
-
-OTHER_MAKEFILES= OS2_MAKEFILE NT_MAKEFILE NT_THREADS_MAKEFILE gc.mak \
-		 BCC_MAKEFILE EMX_MAKEFILE WCC_MAKEFILE Makefile.dj \
-		 PCR-Makefile SMakefile.amiga Makefile.DLLs \
-		 digimars.mak Makefile.direct NT_STATIC_THREADS_MAKEFILE \
-		 NT_X64_STATIC_THREADS_MAKEFILE configure_atomic_ops.sh
-#	Makefile and Makefile.direct are copies of each other.
-
-OTHER_FILES= Makefile setjmp_t.c callprocs \
-           MacProjects.sit.hqx MacOS.c \
-           Mac_files/datastart.c Mac_files/dataend.c \
-           Mac_files/MacOS_config.h Mac_files/MacOS_Test_config.h \
-           add_gc_prefix.c gc_cpp.cpp \
-	   version.h AmigaOS.c mscvc_dbg.c include/private/msvc_dbg.h \
-	   $(TESTS) $(GNU_BUILD_FILES) $(OTHER_MAKEFILES)
-
-CORD_INCLUDE_FILES= $(srcdir)/include/gc.h $(srcdir)/include/cord.h \
-	$(srcdir)/include/ec.h $(srcdir)/include/private/cord_pos.h
-
-UTILS= if_mach if_not_there threadlibs
-
-# Libraries needed for curses applications.  Only needed for de.
-CURSES= -lcurses -ltermlib
-
-# The following is irrelevant on most systems.  But a few
-# versions of make otherwise fork the shell specified in
-# the SHELL environment variable.
-SHELL= /bin/sh
-
-SPECIALCFLAGS = -I$(srcdir)/include -I$(AO_INSTALL_DIR)/include
-# Alternative flags to the C compiler for mach_dep.c.
-# Mach_dep.c often doesn't like optimization, and it's
-# not time-critical anyway.
-# Set SPECIALCFLAGS to -q nodirect_code on Encore.
-
-all: gc.a gctest
-
-# if AO_INSTALL_DIR doesn't exist, we assume that it is pointing to
-# the default location, and we need to build
-$(AO_INSTALL_DIR): 
-	CC=$(CC) $(srcdir)/configure_atomic_ops.sh
-	cd $(AO_SRC_DIR); make CC=$(CC) install
-
-LEAKFLAGS=$(CFLAGS) -DFIND_LEAK
-
-BSD-pkg-all: bsd-libgc.a bsd-libleak.a
-
-bsd-libgc.a:
-	$(MAKE) CFLAGS="$(CFLAGS)" clean c++-t
-	mv gc.a bsd-libgc.a
-
-bsd-libleak.a:
-	$(MAKE) -f Makefile.direct CFLAGS="$(LEAKFLAGS)" clean c++-nt
-	mv gc.a bsd-libleak.a
-
-BSD-pkg-install: BSD-pkg-all
-	${CP} bsd-libgc.a libgc.a
-	${INSTALL_DATA} libgc.a ${PREFIX}/lib
-	${INSTALL_DATA} gc.h gc_cpp.h ${PREFIX}/include
-	${INSTALL_MAN} doc/gc.man ${PREFIX}/man/man3/gc.3
-
-pcr: PCR-Makefile include/private/gc_private.h include/private/gc_hdrs.h \
-include/private/gc_locks.h include/gc.h include/private/gcconfig.h \
-mach_dep.o $(SRCS)
-	$(MAKE) -f PCR-Makefile depend
-	$(MAKE) -f PCR-Makefile
-
-$(OBJS) tests/test.o dyn_load.o dyn_load_sunos53.o: \
-    $(srcdir)/include/private/gc_priv.h \
-    $(srcdir)/include/private/gc_hdrs.h $(srcdir)/include/private/gc_locks.h \
-    $(srcdir)/include/gc.h $(srcdir)/include/gc_pthread_redirects.h \
-    $(srcdir)/include/private/gcconfig.h $(srcdir)/include/gc_typed.h \
-    $(srcdir)/include/gc_config_macros.h Makefile $(AO_INSTALL_DIR)
-# The dependency on Makefile is needed.  Changing
-# options affects the size of GC_arrays,
-# invalidating all .o files that rely on gc_priv.h
-
-mark.o typd_mlc.o finalize.o ptr_chck.o: $(srcdir)/include/gc_mark.h \
-					 $(srcdir)/include/private/gc_pmark.h
-
-specific.o pthread_support.o thread_local_alloc.o win32_threads.o: \
-	$(srcdir)/include/private/specific.h $(srcdir)/include/gc_inline.h \
-	$(srcdir)/include/private/thread_local_alloc.h
-
-dbg_mlc.o gcj_mlc.o: $(srcdir)/include/private/dbg_mlc.h
-
-tests/test.o: tests $(srcdir)/tests/test.c
-	$(CC) $(CFLAGS) -c $(srcdir)/tests/test.c
-	mv test.o tests/test.o
-
-tests:
-	mkdir tests
-
-base_lib gc.a: $(OBJS) dyn_load.o $(UTILS)
-	echo > base_lib
-	rm -f dont_ar_1
-	cp $(AO_INSTALL_DIR)/lib/libatomic_ops.a gc.a
-	./if_mach SPARC SOLARIS touch dont_ar_1
-	./if_mach SPARC SOLARIS $(AR) rus gc.a $(OBJS) dyn_load.o
-	./if_mach M68K AMIGA touch dont_ar_1
-	./if_mach M68K AMIGA $(AR) -vrus gc.a $(OBJS) dyn_load.o
-	./if_not_there dont_ar_1 $(AR) ru gc.a $(OBJS) dyn_load.o
-	./if_not_there dont_ar_1 $(RANLIB) gc.a || cat /dev/null
-#	ignore ranlib failure; that usually means it doesn't exist, and isn't needed
-
-cords: $(CORD_OBJS) cord/cordtest $(UTILS)
-	rm -f dont_ar_3
-	./if_mach SPARC SOLARIS touch dont_ar_3
-	./if_mach SPARC SOLARIS $(AR) rus gc.a $(CORD_OBJS)
-	./if_mach M68K AMIGA touch dont_ar_3
-	./if_mach M68K AMIGA $(AR) -vrus gc.a $(CORD_OBJS)
-	./if_not_there dont_ar_3 $(AR) ru gc.a $(CORD_OBJS)
-	./if_not_there dont_ar_3 $(RANLIB) gc.a || cat /dev/null
-
-gc_cpp.o: $(srcdir)/gc_cpp.cc $(srcdir)/include/gc_cpp.h $(srcdir)/include/gc.h Makefile
-	$(CXX) -c $(CXXFLAGS) $(srcdir)/gc_cpp.cc
-
-test_cpp: $(srcdir)/tests/test_cpp.cc $(srcdir)/include/gc_cpp.h gc_cpp.o $(srcdir)/include/gc.h \
-base_lib $(UTILS)
-	rm -f test_cpp
-	./if_mach HP_PA HPUX $(CXX) $(CXXFLAGS) -o test_cpp $(srcdir)/tests/test_cpp.cc gc_cpp.o gc.a -ldld `./threadlibs`
-	./if_not_there test_cpp $(CXX) $(CXXFLAGS) -o test_cpp $(srcdir)/tests/test_cpp.cc gc_cpp.o gc.a `./threadlibs`
-
-c++-t: c++
-	./test_cpp 1
-
-c++-nt: c++
-	@echo "Use ./test_cpp 1 to test the leak library"
-
-c++: gc_cpp.o $(srcdir)/include/gc_cpp.h test_cpp
-	rm -f dont_ar_4
-	./if_mach SPARC SOLARIS touch dont_ar_4
-	./if_mach SPARC SOLARIS $(AR) rus gc.a gc_cpp.o
-	./if_mach M68K AMIGA touch dont_ar_4
-	./if_mach M68K AMIGA $(AR) -vrus gc.a gc_cpp.o
-	./if_not_there dont_ar_4 $(AR) ru gc.a gc_cpp.o
-	./if_not_there dont_ar_4 $(RANLIB) gc.a || cat /dev/null
-	./test_cpp 1
-	echo > c++
-
-dyn_load_sunos53.o: dyn_load.c
-	$(CC) $(CFLAGS) -DSUNOS53_SHARED_LIB -c $(srcdir)/dyn_load.c -o $@
-
-# SunOS5 shared library version of the collector
-sunos5gc.so: $(OBJS) dyn_load_sunos53.o
-	$(CC) -G -o sunos5gc.so $(OBJS) dyn_load_sunos53.o $(AO_INSTALL_DIR)/lib/libatomic_ops.a -ldl
-	ln sunos5gc.so libgc.so
-
-# Alpha/OSF shared library version of the collector
-libalphagc.so: $(OBJS)
-	ld -shared -o libalphagc.so $(OBJS) dyn_load.o -lc
-	ln libalphagc.so libgc.so
-
-# IRIX shared library version of the collector
-libirixgc.so: $(OBJS) dyn_load.o
-	ld -shared $(ABI_FLAG) -o libirixgc.so $(OBJS) dyn_load.o -lc
-	ln libirixgc.so libgc.so
-
-# Linux shared library version of the collector
-liblinuxgc.so: $(OBJS) dyn_load.o
-	gcc -shared -o liblinuxgc.so $(OBJS) dyn_load.o
-	ln liblinuxgc.so libgc.so
-
-# Build gctest with dynamic library
-dyn_test:
-	$(CC) $(CFLAGS) -o gctest tests/test.c libgc.so `./threadlibs`
-	./gctest
-
-# Alternative Linux rule.  This is preferable, but is likely to break the
-# Makefile for some non-linux platforms.
-# LIBOBJS= $(patsubst %.o, %.lo, $(OBJS))
-#
-#.SUFFIXES: .lo $(SUFFIXES)
-#
-#.c.lo:
-#	$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c $< -o $@
-#
-# liblinuxgc.so: $(LIBOBJS) dyn_load.lo
-# 	gcc -shared -Wl,-soname=libgc.so.0 -o libgc.so.0 $(LIBOBJS) dyn_load.lo
-#	touch liblinuxgc.so
-
-mach_dep.o: $(srcdir)/mach_dep.c $(srcdir)/mips_sgi_mach_dep.s \
-	    $(srcdir)/mips_ultrix_mach_dep.s \
-            $(srcdir)/rs6000_mach_dep.s \
-	    $(srcdir)/sparc_mach_dep.S $(srcdir)/sparc_sunos4_mach_dep.s \
-	    $(srcdir)/ia64_save_regs_in_stack.s \
-	    $(srcdir)/sparc_netbsd_mach_dep.s $(UTILS)
-	rm -f mach_dep.o
-	./if_mach SPARC SOLARIS $(CC) -c -o mach_dep2.o $(srcdir)/sparc_mach_dep.S
-	./if_mach SPARC OPENBSD $(AS) -o mach_dep2.o $(srcdir)/sparc_sunos4_mach_dep.s
-	./if_mach SPARC NETBSD $(AS) -o mach_dep2.o $(srcdir)/sparc_netbsd_mach_dep.s
-	./if_mach SPARC "" $(CC) -c -o mach_dep1.o $(SPECIALCFLAGS) $(srcdir)/mach_dep.c
-	./if_mach SPARC "" ld -r -o mach_dep.o mach_dep1.o mach_dep2.o
-	./if_mach IA64 "" as $(AS_ABI_FLAG) -o ia64_save_regs_in_stack.o $(srcdir)/ia64_save_regs_in_stack.s
-	./if_mach IA64 "" $(CC) -c -o mach_dep1.o $(SPECIALCFLAGS) $(srcdir)/mach_dep.c
-	./if_mach IA64 "" ld -r -o mach_dep.o mach_dep1.o ia64_save_regs_in_stack.o
-	./if_not_there mach_dep.o $(CC) -c $(SPECIALCFLAGS) $(srcdir)/mach_dep.c
-
-mark_rts.o: $(srcdir)/mark_rts.c $(UTILS)
-	rm -f mark_rts.o
-	-./if_mach ALPHA OSF1 $(CC) -c $(CFLAGS) -Wo,-notail $(srcdir)/mark_rts.c
-	./if_not_there mark_rts.o $(CC) -c $(CFLAGS) $(srcdir)/mark_rts.c
-#	Work-around for DEC optimizer tail recursion elimination bug.
-#  The ALPHA-specific line should be removed if gcc is used.
-
-alloc.o: version.h
-
-cord:
-	mkdir cord
-
-cord/cordbscs.o: cord $(srcdir)/cord/cordbscs.c $(CORD_INCLUDE_FILES)
-	$(CC) $(CFLAGS) -c -I$(srcdir) $(srcdir)/cord/cordbscs.c
-	mv cordbscs.o cord/cordbscs.o
-#  not all compilers understand -o filename
-
-cord/cordxtra.o: cord $(srcdir)/cord/cordxtra.c $(CORD_INCLUDE_FILES)
-	$(CC) $(CFLAGS) -c -I$(srcdir) $(srcdir)/cord/cordxtra.c
-	mv cordxtra.o cord/cordxtra.o
-
-cord/cordprnt.o: cord $(srcdir)/cord/cordprnt.c $(CORD_INCLUDE_FILES)
-	$(CC) $(CFLAGS) -c -I$(srcdir) $(srcdir)/cord/cordprnt.c
-	mv cordprnt.o cord/cordprnt.o
-
-cord/cordtest: $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a $(UTILS)
-	rm -f cord/cordtest
-	./if_mach SPARC DRSNX $(CC) $(CFLAGS) -o cord/cordtest $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a -lucb
-	./if_mach HP_PA HPUX $(CC) $(CFLAGS) -o cord/cordtest $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a -ldld `./threadlibs`
-	./if_mach M68K AMIGA $(CC) $(CFLAGS) -UGC_AMIGA_MAKINGLIB -o cord/cordtest $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a `./threadlibs`
-	./if_not_there cord/cordtest $(CC) $(CFLAGS) -o cord/cordtest $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a `./threadlibs`
-
-cord/de: $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a $(UTILS)
-	rm -f cord/de
-	./if_mach SPARC DRSNX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a $(CURSES) -lucb `./threadlibs`
-	./if_mach HP_PA HPUX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a $(CURSES) -ldld `./threadlibs`
-	./if_mach POWERPC AIX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a -lcurses
-	./if_mach POWERPC DARWIN $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a
-	./if_mach I386 LINUX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a -lcurses `./threadlibs`
-	./if_mach ALPHA LINUX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a -lcurses `./threadlibs`
-	./if_mach IA64 LINUX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a -lcurses `./threadlibs`
-	./if_mach M68K AMIGA $(CC) $(CFLAGS) -UGC_AMIGA_MAKINGLIB -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a -lcurses
-	./if_not_there cord/de $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a $(CURSES) `./threadlibs`
-
-if_mach: $(srcdir)/if_mach.c $(srcdir)/include/private/gcconfig.h
-	$(HOSTCC) $(HOSTCFLAGS) -o if_mach $(srcdir)/if_mach.c
-
-threadlibs: $(srcdir)/threadlibs.c $(srcdir)/include/private/gcconfig.h Makefile
-	$(HOSTCC) $(HOSTCFLAGS) -o threadlibs $(srcdir)/threadlibs.c
-
-if_not_there: $(srcdir)/if_not_there.c
-	$(HOSTCC) $(HOSTCFLAGS) -o if_not_there $(srcdir)/if_not_there.c
-
-clean: 
-	rm -f gc.a *.o *.exe tests/*.o gctest gctest_dyn_link test_cpp \
-	      setjmp_test  mon.out gmon.out a.out core if_not_there if_mach \
-	      threadlibs $(CORD_OBJS) cord/cordtest cord/de 
-	-rm -f *~
-
-gctest: tests/test.o gc.a $(UTILS)
-	rm -f gctest
-	./if_mach SPARC DRSNX $(CC) $(CFLAGS) -o gctest  tests/test.o gc.a -lucb
-	./if_mach HP_PA HPUX $(CC) $(CFLAGS) -o gctest  tests/test.o gc.a -ldld `./threadlibs`
-	./if_mach M68K AMIGA $(CC) $(CFLAGS) -UGC_AMIGA_MAKINGLIB -o gctest  tests/test.o gc.a `./threadlibs`
-	./if_not_there gctest $(CC) $(CFLAGS) -o gctest tests/test.o gc.a `./threadlibs`
-
-# If an optimized setjmp_test generates a segmentation fault,
-# odds are your compiler is broken.  Gctest may still work.
-# Try compiling setjmp_t.c unoptimized.
-setjmp_test: $(srcdir)/setjmp_t.c $(srcdir)/include/gc.h $(UTILS) $(AO_INSTALL_DIR)
-	$(CC) $(CFLAGS) -o setjmp_test $(srcdir)/setjmp_t.c
-
-test:  KandRtest cord/cordtest
-	cord/cordtest
-
-# Those tests that work even with a K&R C compiler:
-KandRtest: setjmp_test gctest
-	./setjmp_test
-	./gctest
-
-add_gc_prefix: $(srcdir)/add_gc_prefix.c $(srcdir)/version.h
-	$(CC) -o add_gc_prefix $(srcdir)/add_gc_prefix.c
-
-gcname: $(srcdir)/gcname.c $(srcdir)/version.h
-	$(CC) -o gcname $(srcdir)/gcname.c
-
-#We assume this is being done from source directory.
-dist gc.tar: $(SRCS) $(DOC_FILES) $(OTHER_FILES) add_gc_prefix gcname
-	cp Makefile Makefile.old
-	cp Makefile.direct Makefile
-	CC=$(CC) ./configure_atomic_ops.sh
-	cd $(AO_SRC_DIR); make dist
-	if test $(srcdir)/libatomic_ops-$(AO_VERSION) = $(AO_SRC_DIR); \
-	then \
-	  mv $(AO_SRC_DIR) $(AO_SRC_DIR).bak ; \
-	  tar xvfz $(AO_SRC_DIR).bak/libatomic_ops-$(AO_VERSION).tar.gz ; \
-	else \
-	  tar xvfz $(AO_SRC_DIR)/libatomic_ops-$(AO_VERSION).tar.gz ; \
-	fi
-	rm -f `./gcname`
-	ln -s . `./gcname`
-	./add_gc_prefix $(SRCS) $(DOC_FILES) $(OTHER_FILES) libatomic_ops-$(AO_VERSION) > /tmp/gc.tar-files
-	tar cvfh gc.tar `cat /tmp/gc.tar-files`
-	cp gc.tar `./gcname`.tar
-	gzip `./gcname`.tar
-	rm `./gcname`
-
-gc.tar.Z: gc.tar
-	compress gc.tar
-
-gc.tar.gz: gc.tar
-	gzip gc.tar
-
-lint: $(CSRCS) tests/test.c
-	lint -DLINT $(CSRCS) tests/test.c | egrep -v "possible pointer alignment problem|abort|exit|sbrk|mprotect|syscall|change in ANSI|improper alignment"
-
-# BTL: added to test shared library version of collector.
-# Currently works only under SunOS5.  Requires GC_INIT call from statically
-# loaded client code.
-ABSDIR = `pwd`
-gctest_dyn_link: tests/test.o libgc.so
-	$(CC) -L$(ABSDIR) -R$(ABSDIR) -o gctest_dyn_link tests/test.o -lgc -ldl -lthread
-
-gctest_irix_dyn_link: tests/test.o libirixgc.so
-	$(CC) -L$(ABSDIR) -o gctest_irix_dyn_link tests/test.o -lirixgc
-
-# The following appear to be dead, especially since libgc_globals.h
-# is apparently lost.
-test_dll.o: tests/test.c libgc_globals.h
-	$(CC) $(CFLAGS) -DGC_USE_DLL -c tests/test.c -o test_dll.o
-
-test_dll: test_dll.o libgc_dll.a libgc.dll
-	$(CC) test_dll.o -L$(ABSDIR) -lgc_dll -o test_dll
-
-SYM_PREFIX-libgc=GC
-
-# Uncomment the following line to build a GNU win32 DLL
-# include Makefile.DLLs
-
-reserved_namespace: $(SRCS)
-	for file in $(SRCS) tests/test.c tests/test_cpp.cc; do \
-		sed s/GC_/_GC_/g < $$file > tmp; \
-		cp tmp $$file; \
-		done
-
-user_namespace: $(SRCS)
-	for file in $(SRCS) tests/test.c tests/test_cpp.cc; do \
-		sed s/_GC_/GC_/g < $$file > tmp; \
-		cp tmp $$file; \
-		done
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.dj b/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.dj
deleted file mode 100755
index 7640118..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.dj
+++ /dev/null
@@ -1,428 +0,0 @@
-# This Makefile is intended only for DJGPP use.
-# It is mainly a copy of the main Makefile, but tends to get out of sync
-# with it.  A merge would probably be appropriate.
-
-# Primary targets:
-# gc.a - builds basic library
-# libgc.a - builds library for use with g++ "-fgc-keyword" extension
-#	    -fgc-keyword was never really available.  Historical
-#	    interest only.
-# c++ - adds C++ interface to library
-# cords - adds cords (heavyweight strings) to library
-# test - prints porting information, then builds basic version of gc.a,
-#      	 and runs some tests of collector and cords.  Does not add cords or
-#	 c++ interface to gc.a
-# cord/de$(EXE_SUFFIX) - builds dumb editor based on cords.
-ABI_FLAG=
-CC=gcc $(ABI_FLAG)
-CXX=gxx $(ABI_FLAG)
-AS=gcc -c -x assembler-with-cpp $(ABI_FLAG)
-#  The above doesn't work with gas, which doesn't run cpp.
-#  Define AS as `gcc -c -x assembler-with-cpp' instead.
-#  Under Irix 6, you will have to specify the ABI (-o32, -n32, or -64)
-#  if you use something other than the default ABI on your machine.
-
-# special defines for DJGPP
-CXXLD=gxx $(ABI_FLAG)
-EXE_SUFFIX=.exe
-
-srcdir= .
-VPATH= $(srcdir)
-
-CFLAGS= -gstabs+ -O2 -I$(srcdir)/include -DATOMIC_UNCOLLECTABLE -DALL_INTERIOR_POINTERS -DNO_EXECUTE_PERMISSION
-
-# Setjmp_test may yield overly optimistic results when compiled
-# without optimization.
-# -DFIND_LEAK causes GC_find_leak to be initially set.
-#   This causes the collector to assume that all inaccessible
-#   objects should have been explicitly deallocated, and reports exceptions.
-#   Finalization and the test program are not usable in this mode.
-# -DALL_INTERIOR_POINTERS allows all pointers to the interior
-#   of objects to be recognized.  (See gc_priv.h for consequences.)
-# -DSMALL_CONFIG tries to tune the collector for small heap sizes,
-#   usually causing it to use less space in such situations.
-#   Incremental collection no longer works in this case.
-# -DLARGE_CONFIG tunes the collector for unusually large heaps.
-#   Necessary for heaps larger than about 500 MB on most machines.
-#   Recommended for heaps larger than about 64 MB.
-# -DDONT_ADD_BYTE_AT_END is meaningful only with
-#   -DALL_INTERIOR_POINTERS.  Normally -DALL_INTERIOR_POINTERS
-#   causes all objects to be padded so that pointers just past the end of
-#   an object can be recognized.  This can be expensive.  (The padding
-#   is normally more than one byte due to alignment constraints.)
-#   -DDONT_ADD_BYTE_AT_END disables the padding.
-# -DNO_SIGNALS does not disable signals during critical parts of
-#   the GC process.  This is no less correct than many malloc 
-#   implementations, and it sometimes has a significant performance
-#   impact.  However, it is dangerous for many not-quite-ANSI C
-#   programs that call things like printf in asynchronous signal handlers.
-#   This is on by default.  Turning it off has not been extensively tested with
-#   compilers that reorder stores.  It should have been.
-# -DNO_EXECUTE_PERMISSION may cause some or all of the heap to not
-#   have execute permission, i.e. it may be impossible to execute
-#   code from the heap.  Currently this only affects the incremental
-#   collector on UNIX machines.  It may greatly improve its performance,
-#   since this may avoid some expensive cache synchronization.
-# -DGC_NO_OPERATOR_NEW_ARRAY declares that the C++ compiler does not support
-#   the  new syntax "operator new[]" for allocating and deleting arrays.
-#   See gc_cpp.h for details.  No effect on the C part of the collector.
-#   This is defined implicitly in a few environments.  Must also be defined
-#   by clients that use gc_cpp.h.
-# -DREDIRECT_MALLOC=X causes malloc, realloc, and free to be defined
-#   as aliases for X, GC_realloc, and GC_free, respectively.
-#   Calloc is redefined in terms of the new malloc.  X should
-#   be either GC_malloc or GC_malloc_uncollectable.
-#   The former is occasionally useful for working around leaks in code
-#   you don't want to (or can't) look at.  It may not work for
-#   existing code, but it often does.  Neither works on all platforms,
-#   since some ports use malloc or calloc to obtain system memory.
-#   (Probably works for UNIX, and win32.)
-# -DIGNORE_FREE turns calls to free into a noop.  Only useful with
-#   -DREDIRECT_MALLOC.
-# -DNO_DEBUGGING removes GC_dump and the debugging routines it calls.
-#   Reduces code size slightly at the expense of debuggability.
-# -DJAVA_FINALIZATION makes it somewhat safer to finalize objects out of
-#   order by specifying a nonstandard finalization mark procedure  (see
-#   finalize.c).  Objects reachable from finalizable objects will be marked
-#   in a sepearte postpass, and hence their memory won't be reclaimed.
-#   Not recommended unless you are implementing a language that specifies
-#   these semantics.  Since 5.0, determines only only the initial value
-#   of GC_java_finalization variable.
-# -DFINALIZE_ON_DEMAND causes finalizers to be run only in response
-#   to explicit GC_invoke_finalizers() calls.
-#   In 5.0 this became runtime adjustable, and this only determines the
-#   initial value of GC_finalize_on_demand.
-# -DATOMIC_UNCOLLECTABLE includes code for GC_malloc_atomic_uncollectable.
-#   This is useful if either the vendor malloc implementation is poor,
-#   or if REDIRECT_MALLOC is used.
-# -DHBLKSIZE=ddd, where ddd is a power of 2 between 512 and 16384, explicitly
-#   sets the heap block size.  Each heap block is devoted to a single size and
-#   kind of object.  For the incremental collector it makes sense to match
-#   the most likely page size.  Otherwise large values result in more
-#   fragmentation, but generally better performance for large heaps.
-# -DPRINT_BLACK_LIST Whenever a black list entry is added, i.e. whenever
-#   the garbage collector detects a value that looks almost, but not quite,
-#   like a pointer, print both the address containing the value, and the
-#   value of the near-bogus-pointer.  Can be used to identifiy regions of
-#   memory that are likely to contribute misidentified pointers.
-# -DKEEP_BACK_PTRS Add code to save back pointers in debugging headers
-#   for objects allocated with the debugging allocator.  If all objects
-#   through GC_MALLOC with GC_DEBUG defined, this allows the client
-#   to determine how particular or randomly chosen objects are reachable
-#   for debugging/profiling purposes.  The gc_backptr.h interface is
-#   implemented only if this is defined.
-# -DGC_ASSERTIONS Enable some internal GC assertion checking.  Currently
-#   this facility is only used in a few places.  It is intended primarily
-#   for debugging of the garbage collector itself, but could also
-# -DDBG_HDRS_ALL Make sure that all objects have debug headers.  Increases
-#   the reliability (from 99.9999% to 100%) of some of the debugging
-#   code (especially KEEP_BACK_PTRS).  Makes -DSHORT_DBG_HDRS possible.
-#   Assumes that all client allocation is done through debugging
-#   allocators.
-# -DSHORT_DBG_HDRS Assume that all objects have debug headers.  Shorten
-#   the headers to minimize object size, at the expense of checking for
-#   writes past the end of an object.  This is intended for environments
-#   in which most client code is written in a "safe" language, such as
-#   Scheme or Java.  Assumes that all client allocation is done using
-#   the GC_debug_ functions (or through the macros that expand to these.
-#   (Also eliminates the field for the requested object size.)
-#   occasionally be useful for debugging of client code.  Slows down the
-#   collector somewhat, but not drastically.
-# -DCHECKSUMS reports on erroneously clear dirty bits, and unexpectedly
-#   altered stubborn objects, at substantial performance cost.
-#   Use only for debugging of the incremental collector.
-# -DGC_GCJ_SUPPORT includes support for gcj (and possibly other systems
-#   that include a pointer to a type descriptor in each allocated object).
-#   Building this way requires an ANSI C compiler.
-# -DUSE_I686_PREFETCH causes the collector to issue Pentium III style
-#   prefetch instructions.  No effect except on X86 Linux platforms.
-#   Assumes a very recent gcc-compatible compiler and assembler.
-#   (Gas prefetcht0 support was added around May 1999.)
-#   Empirically the code appears to still run correctly on Pentium II
-#   processors, though with no performance benefit.  May not run on other
-#   X86 processors?  In some cases this improves performance by
-#   15% or so.
-# -DUSE_3DNOW_PREFETCH causes the collector to issue AMD 3DNow style
-#   prefetch instructions.  Same restrictions as USE_I686_PREFETCH.
-#   UNTESTED!!
-# -DGC_USE_LD_WRAP in combination with the gld flags listed in README.linux
-#   causes the collector some system and pthread calls in a more transparent
-#   fashion than the usual macro-based approach.  Requires GNU ld, and
-#   currently probably works only with Linux.
-
-
-CXXFLAGS= $(CFLAGS) -DGC_OPERATOR_NEW_ARRAY
-AR= ar
-RANLIB= ranlib
-
-
-OBJS= alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o dbg_mlc.o malloc.o stubborn.o checksums.o solaris_threads.o typd_mlc.o ptr_chck.o mallocx.o solaris_pthreads.o gcj_mlc.o specific.o
-
-CSRCS= reclaim.c allchblk.c misc.c alloc.c mach_dep.c os_dep.c mark_rts.c headers.c mark.c obj_map.c pcr_interface.c blacklst.c finalize.c new_hblk.c real_malloc.c dyn_load.c dbg_mlc.c malloc.c stubborn.c checksums.c solaris_threads.c typd_mlc.c ptr_chck.c mallocx.c solaris_pthreads.c gcj_mlc.c specific.c
-
-CORD_SRCS=  cord/cordbscs.c cord/cordxtra.c cord/cordprnt.c cord/de.c cord/cordtest.c include/cord.h include/ec.h include/private/cord_pos.h cord/de_win.c cord/de_win.h cord/de_cmds.h cord/de_win.ICO cord/de_win.RC cord/SCOPTIONS.amiga cord/SMakefile.amiga
-
-CORD_OBJS=  cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o
-
-SRCS= $(CSRCS) mips_sgi_mach_dep.S rs6000_mach_dep.s alpha_mach_dep.S \
-    sparc_mach_dep.S include/gc.h include/gc_typed.h \
-    include/private/gc_hdrs.h include/private/gc_priv.h \
-    include/private/gcconfig.h include/private/gc_mark.h \
-    include/gc_inline.h gc.man \
-    threadlibs.c if_mach.c if_not_there.c gc_cpp.cc include/gc_cpp.h \
-    include/weakpointer.h include/private/gc_locks.h \
-    gcc_support.c mips_ultrix_mach_dep.s include/gc_alloc.h \
-    include/new_gc_alloc.h include/javaxfc.h sparc_sunos4_mach_dep.s \
-    include/private/solaris_threads.h include/gc_backptr.h \
-    hpux_test_and_clear.s include/gc_gcj.h \
-    include/gc_local_alloc.h include/private/dbg_mlc.h \
-    include/private/specific.h \
-    include/leak_detector.h $(CORD_SRCS)
-
-OTHER_FILES= Makefile PCR-Makefile OS2_MAKEFILE NT_MAKEFILE BCC_MAKEFILE \
-           README tests/test.c test_cpp.cc setjmp_t.c SMakefile.amiga \
-           SCoptions.amiga README.amiga README.win32 cord/README \
-	   README.rs6000 README.QUICK callprocs pc_excludes \
-           barrett_diagram README.OS2 README.Mac MacProjects.sit.hqx \
-           MacOS.c EMX_MAKEFILE README.debugging \
-           Mac_files/datastart.c Mac_files/dataend.c \
-           Mac_files/MacOS_config.h Mac_files/MacOS_Test_config.h \
-           add_gc_prefix.c README.solaris2 README.sgi README.hp README.uts \
-	   win32_threads.c NT_THREADS_MAKEFILE gc.mak README.dj Makefile.dj \
-	   README.alpha README.linux README.MacOSX version.h Makefile.DLLs \
-	   WCC_MAKEFILE nursery.c include/gc_nursery.h include/gc_copy_descr.h
-
-CORD_INCLUDE_FILES= $(srcdir)/include/gc.h $(srcdir)/include/cord.h \
-	$(srcdir)/include/ec.h $(srcdir)/include/private/cord_pos.h
-
-UTILS= if_mach$(EXE_SUFFIX) if_not_there$(EXE_SUFFIX)
-
-# Libraries needed for curses applications.  Only needed for de.
-CURSES= -lcurses -ltermlib
-
-# The following is irrelevant on most systems.  But a few
-# versions of make otherwise fork the shell specified in
-# the SHELL environment variable.
-SHELL= /bin/sh
-
-SPECIALCFLAGS = -I$(srcdir)/include
-# Alternative flags to the C compiler for mach_dep.c.
-# Mach_dep.c often doesn't like optimization, and it's
-# not time-critical anyway.
-# Set SPECIALCFLAGS to -q nodirect_code on Encore.
-
-all: gc.a gctest$(EXE_SUFFIX)
-
-$(OBJS) test.o dyn_load.o dyn_load_sunos53.o: \
-    $(srcdir)/include/private/gc_priv.h \
-    $(srcdir)/include/private/gc_hdrs.h $(srcdir)/include/private/gc_locks.h \
-    $(srcdir)/include/gc.h \
-    $(srcdir)/include/private/gcconfig.h $(srcdir)/include/gc_typed.h \
-    Makefile
-# The dependency on Makefile is needed.  Changing
-# options affects the size of GC_arrays,
-# invalidating all .o files that rely on gc_priv.h
-
-mark.o typd_mlc.o finalize.o: $(srcdir)/include/gc_mark.h
-
-base_lib gc.a: $(OBJS) dyn_load.o $(UTILS)
-	echo > base_lib
-	rm -f on_sparc_sunos5_1
-	./if_mach SPARC SOLARIS touch on_sparc_sunos5_1
-	./if_mach SPARC SOLARIS $(AR) rus gc.a $(OBJS) dyn_load.o
-	./if_not_there on_sparc_sunos5_1 $(AR) ru gc.a $(OBJS) dyn_load.o
-	-./if_not_there on_sparc_sunos5_1 $(RANLIB) gc.a
-#	ignore ranlib failure; that usually means it doesn't exist, and isn't needed
-
-cords: $(CORD_OBJS) cord/cordtest$(EXE_SUFFIX) $(UTILS)
-	rm -f on_sparc_sunos5_3
-	./if_mach SPARC SOLARIS touch on_sparc_sunos5_3
-	./if_mach SPARC SOLARIS $(AR) rus gc.a $(CORD_OBJS)
-	./if_not_there on_sparc_sunos5_3 $(AR) ru gc.a $(CORD_OBJS)
-	-./if_not_there on_sparc_sunos5_3 $(RANLIB) gc.a
-
-gc_cpp.o: $(srcdir)/gc_cpp.cc $(srcdir)/include/gc_cpp.h $(srcdir)/include/gc.h Makefile
-	$(CXX) -c $(CXXFLAGS) $(srcdir)/gc_cpp.cc
-
-test_cpp$(EXE_SUFFIX): $(srcdir)/test_cpp.cc $(srcdir)/include/gc_cpp.h gc_cpp.o $(srcdir)/include/gc.h \
-base_lib $(UTILS)
-	rm -f test_cpp test_cpp$(EXE_SUFFIX)
-	./if_mach HP_PA "" $(CXX) $(CXXFLAGS) -o test_cpp $(srcdir)/test_cpp.cc gc_cpp.o gc.a -ldld
-	./if_not_there test_cpp$(EXE_SUFFIX) $(CXXLD) $(CXXFLAGS) -o test_cpp$(EXE_SUFFIX) $(srcdir)/test_cpp.cc gc_cpp.o gc.a
-	rm -f test_cpp
-
-c++: gc_cpp.o $(srcdir)/include/gc_cpp.h test_cpp$(EXE_SUFFIX)
-	rm -f on_sparc_sunos5_4
-	./if_mach SPARC SOLARIS touch on_sparc_sunos5_4
-	./if_mach SPARC SOLARIS $(AR) rus gc.a gc_cpp.o
-	./if_not_there on_sparc_sunos5_4 $(AR) ru gc.a gc_cpp.o
-	-./if_not_there on_sparc_sunos5_4 $(RANLIB) gc.a
-	./test_cpp$(EXE_SUFFIX) 1
-	echo > c++
-
-dyn_load_sunos53.o: dyn_load.c
-	$(CC) $(CFLAGS) -DSUNOS53_SHARED_LIB -c $(srcdir)/dyn_load.c -o $@
-
-# SunOS5 shared library version of the collector
-sunos5gc.so: $(OBJS) dyn_load_sunos53.o
-	$(CC) -G -o sunos5gc.so $(OBJS) dyn_load_sunos53.o -ldl
-	ln sunos5gc.so libgc.so
-
-# Alpha/OSF shared library version of the collector
-libalphagc.so: $(OBJS)
-	ld -shared -o libalphagc.so $(OBJS) dyn_load.o -lc
-	ln libalphagc.so libgc.so
-
-# IRIX shared library version of the collector
-libirixgc.so: $(OBJS) dyn_load.o
-	ld -shared $(ABI_FLAG) -o libirixgc.so $(OBJS) dyn_load.o -lc
-	ln libirixgc.so libgc.so
-
-# Linux shared library version of the collector
-liblinuxgc.so: $(OBJS) dyn_load.o
-	gcc -shared -o liblinuxgc.so $(OBJS) dyn_load.o -lo
-	ln liblinuxgc.so libgc.so
-
-mach_dep.o: $(srcdir)/mach_dep.c $(srcdir)/mips_sgi_mach_dep.S $(srcdir)/mips_ultrix_mach_dep.s \
-            $(srcdir)/rs6000_mach_dep.s $(UTILS)
-	rm -f mach_dep.o
-	./if_mach MIPS IRIX5 $(AS) -o mach_dep.o $(srcdir)/mips_sgi_mach_dep.S
-	./if_mach MIPS RISCOS $(AS) -o mach_dep.o $(srcdir)/mips_ultrix_mach_dep.s
-	./if_mach MIPS ULTRIX $(AS) -o mach_dep.o $(srcdir)/mips_ultrix_mach_dep.s
-	./if_mach POWERPC AIX $(AS) -o mach_dep.o $(srcdir)/rs6000_mach_dep.s
-	./if_mach ALPHA "" $(AS) -o mach_dep.o $(srcdir)/alpha_mach_dep.S
-	./if_mach SPARC SOLARIS $(AS) -o mach_dep.o $(srcdir)/sparc_mach_dep.S
-	./if_mach SPARC SUNOS4 $(AS) -o mach_dep.o $(srcdir)/sparc_sunos4_mach_dep.s
-	./if_not_there mach_dep.o $(CC) -c $(SPECIALCFLAGS) $(srcdir)/mach_dep.c
-
-mark_rts.o: $(srcdir)/mark_rts.c if_mach if_not_there $(UTILS)
-	rm -f mark_rts.o
-	-./if_mach ALPHA OSF1 $(CC) -c $(CFLAGS) -Wo,-notail $(srcdir)/mark_rts.c
-	./if_not_there mark_rts.o $(CC) -c $(CFLAGS) $(srcdir)/mark_rts.c
-#	Work-around for DEC optimizer tail recursion elimination bug.
-#  The ALPHA-specific line should be removed if gcc is used.
-
-alloc.o: version.h
-
-cord/cordbscs.o: $(srcdir)/cord/cordbscs.c $(CORD_INCLUDE_FILES)
-	$(CC) $(CFLAGS) -c -I$(srcdir) $(srcdir)/cord/cordbscs.c
-	mv cordbscs.o cord/cordbscs.o
-#  not all compilers understand -o filename
-
-cord/cordxtra.o: $(srcdir)/cord/cordxtra.c $(CORD_INCLUDE_FILES)
-	$(CC) $(CFLAGS) -c -I$(srcdir) $(srcdir)/cord/cordxtra.c
-	mv cordxtra.o cord/cordxtra.o
-
-cord/cordprnt.o: $(srcdir)/cord/cordprnt.c $(CORD_INCLUDE_FILES)
-	$(CC) $(CFLAGS) -c -I$(srcdir) $(srcdir)/cord/cordprnt.c
-	mv cordprnt.o cord/cordprnt.o
-
-cord/cordtest$(EXE_SUFFIX): $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a $(UTILS) /tmp
-	rm -f cord/cordtest$(EXE_SUFFIX)
-	./if_mach SPARC DRSNX $(CC) $(CFLAGS) -o cord/cordtest$(EXE_SUFFIX) $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a -lucb
-	./if_mach HP_PA "" $(CC) $(CFLAGS) -o cord/cordtest$(EXE_SUFFIX) $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a -ldld
-	./if_not_there cord/cordtest$(EXE_SUFFIX) $(CC) $(CFLAGS) -o cord/cordtest $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a
-	rm -f cord/cordtest cordtest
-	-mv cordtest$(EXE_SUFFIX) cord/
-
-/tmp: $(UTILS)
-	./if_not_there /tmp mkdir /tmp
-
-cord/de$(EXE_SUFFIX): $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a $(UTILS)
-	rm -f cord/de cord/de$(EXE_SUFFIX)
-	./if_mach SPARC DRSNX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a $(CURSES) -lucb `./threadlibs`
-	./if_mach HP_PA "" $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a $(CURSES) -ldld
-	./if_mach RS6000 "" $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a -lcurses
-	./if_mach I386 LINUX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a -lcurses `./threadlibs`
-	./if_mach ALPHA LINUX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a -lcurses
-	./if_not_there cord/de$(EXE_SUFFIX) $(CC) $(CFLAGS) -o cord/de$(EXE_SUFFIX) $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a $(CURSES)
-
-if_mach$(EXE_SUFFIX): $(srcdir)/if_mach.c $(srcdir)/include/private/gcconfig.h
-	rm -f if_mach if_mach$(EXE_SUFFIX)
-	$(CC) $(CFLAGS) -o if_mach $(srcdir)/if_mach.c
-
-threadlibs$(EXE_SUFFIX): $(srcdir)/threadlibs.c $(srcdir)include/private/gcconfig.h Makefile
-	rm -f threadlibs threadlibs$(EXE_SUFFIX)
-	$(CC) $(CFLAGS) -o threadlibs $(srcdir)/threadlibs.c
-
-if_not_there$(EXE_SUFFIX): $(srcdir)/if_not_there.c
-	rm -f if_not_there if_not_there$(EXE_SUFFIX)
-	$(CC) $(CFLAGS) -o if_not_there $(srcdir)/if_not_there.c
-
-# Clean removes *.o several times,
-# because as the first one doesn't seem to get them all!
-clean: 
-	rm -f gc.a *.o
-	rm -f *.o
-	rm -f *.o
-	rm -f cord/*.o
-	rm -f gctest gctest_dyn_link test_cpp
-	rm -f setjmp_test  mon.out gmon.out a.out core if_not_there if_mach
-	rm -f threadlibs $(CORD_OBJS) cordtest cord/cordtest de cord/de
-	rm -f gctest$(EXE_SUFFIX) gctest_dyn_link$(EXE_SUFFIX) test_cpp$(EXE_SUFFIX)
-	rm -f setjmp_test$(EXE_SUFFIX) if_not_there$(EXE_SUFFIX) if_mach$(EXE_SUFFIX)
-	rm -f threadlibs$(EXE_SUFFIX) cord/cordtest$(EXE_SUFFIX)
-	-rm -f *~
-
-gctest$(EXE_SUFFIX): tests/test.o gc.a if_mach$(EXE_SUFFIX) if_not_there$(EXE_SUFFIX)
-	rm -f gctest gctest$(EXE_SUFFIX)
-	./if_mach SPARC DRSNX $(CC) $(CFLAGS) -o gctest  tests/test.o gc.a -lucb
-	./if_mach HP_PA "" $(CC) $(CFLAGS) -o gctest  tests/test.o gc.a -ldld
-	./if_not_there gctest$(EXE_SUFFIX) $(CC) $(CFLAGS) -o gctest$(EXE_SUFFIX) tests/test.o gc.a
-	rm -f gctest
-
-# If an optimized setjmp_test generates a segmentation fault,
-# odds are your compiler is broken.  Gctest may still work.
-# Try compiling setjmp_t.c unoptimized.
-setjmp_test$(EXE_SUFFIX): $(srcdir)/setjmp_t.c $(srcdir)/include/gc.h \
-		if_mach$(EXE_SUFFIX) if_not_there$(EXE_SUFFIX)
-	rm -f setjmp_test$(EXE_SUFFIX)
-	$(CC) $(CFLAGS) -o setjmp_test $(srcdir)/setjmp_t.c
-	rm -f setjmp_test
-
-test:  KandRtest cord/cordtest$(EXE_SUFFIX)
-	./cord/cordtest$(EXE_SUFFIX)
-
-# Those tests that work even with a K&R C compiler:
-KandRtest: setjmp_test$(EXE_SUFFIX) gctest$(EXE_SUFFIX)
-	./setjmp_test$(EXE_SUFFIX)
-	./gctest$(EXE_SUFFIX)
-
-add_gc_prefix$(EXE_SUFFIX): add_gc_prefix.c
-	$(CC) -o add_gc_prefix$(EXE_SUFFIX) $(srcdir)/add_gc_prefix.c
-	rm -f add_gc_prefix
-
-gc.tar: $(SRCS) $(OTHER_FILES) add_gc_prefix
-	./add_gc_prefix$(EXE_SUFFIX) $(SRCS) $(OTHER_FILES) > /tmp/gc.tar-files
-	(cd $(srcdir)/.. ; tar cvfh - `cat /tmp/gc.tar-files`) > gc.tar
-
-pc_gc.tar: $(SRCS) $(OTHER_FILES)
-	tar cvfX pc_gc.tar pc_excludes $(SRCS) $(OTHER_FILES)
-
-gc.tar.Z: gc.tar
-	compress gc.tar
-
-gc.tar.gz: gc.tar
-	gzip gc.tar
-
-lint: $(CSRCS) tests/test.c
-	lint -DLINT $(CSRCS) tests/test.c | egrep -v "possible pointer alignment problem|abort|exit|sbrk|mprotect|syscall"
-
-# BTL: added to test shared library version of collector.
-# Currently works only under SunOS5.  Requires GC_INIT call from statically
-# loaded client code.
-ABSDIR = `pwd`
-gctest_dyn_link: test.o libgc.so
-	$(CC) -L$(ABSDIR) -R$(ABSDIR) -o gctest_dyn_link test.o -lgc -ldl -lthread
-
-test_dll.o: tests/test.c libgc_globals.h
-	$(CC) $(CFLAGS) -DGC_USE_DLL -c tests/test.c -o test_dll.o
-
-test_dll: test_dll.o libgc_dll.a libgc.dll
-	$(CC) test_dll.o -L$(ABSDIR) -lgc_dll -o test_dll
-
-SYM_PREFIX-libgc=GC
-
-# Uncomment the following line to build a GNU win32 DLL
-# include Makefile.DLLs
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.in b/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.in
deleted file mode 100755
index 1e61043..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/Makefile.in
+++ /dev/null
@@ -1,1405 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005  Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-# Copyright (c) 1999-2001 by Red Hat, Inc. All rights reserved.
-# 
-# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-# OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-# 
-# Permission is hereby granted to use or copy this program
-# for any purpose,  provided the above notices are retained on all copies.
-# Permission to modify the code and to distribute modified code is granted,
-# provided the above notices are retained, and a notice that the code was
-# modified is included with the above copyright notice.
-#
-# Original author: Tom Tromey
-# Severely truncated by Hans-J. Boehm
-# Modified by: Grzegorz Jakacki <jakacki at acm dot org>
-# Modified by: Petter Urkedal <petter.urkedal at nordita.dk> (2005-04)
-
-# 
-# 
-# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-# OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-# 
-# Permission is hereby granted to use or copy this program
-# for any purpose,  provided the above notices are retained on all copies.
-# Permission to modify the code and to distribute modified code is granted,
-# provided the above notices are retained, and a notice that the code was
-# modified is included with the above copyright notice.
-#
-# Modified by: Grzegorz Jakacki <jakacki at acm dot org>
-# Modified by: Petter Urkedal <petter.urkedal at nordita.dk>
-
-#
-#
-# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-# OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-#
-# Permission is hereby granted to use or copy this program
-# for any purpose,  provided the above notices are retained on all copies.
-# Permission to modify the code and to distribute modified code is granted,
-# provided the above notices are retained, and a notice that the code was
-# modified is included with the above copyright notice.
-
-# 
-# 
-# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-# OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-# 
-# Permission is hereby granted to use or copy this program
-# for any purpose,  provided the above notices are retained on all copies.
-# Permission to modify the code and to distribute modified code is granted,
-# provided the above notices are retained, and a notice that the code was
-# modified is included with the above copyright notice.
-#
-# Modified by: Grzegorz Jakacki <jakacki at acm dot org>
-# Modified by: Petter Urkedal <petter.urkedal at nordita.dk>
-
-
-
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = .
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-check_PROGRAMS = gctest$(EXEEXT) leaktest$(EXEEXT) middletest$(EXEEXT) \
-	$(am__EXEEXT_1) $(am__EXEEXT_2)
-
-# C Library: Architecture Dependent
-# ---------------------------------
- at PTHREADS_TRUE@am__append_1 = pthread_support.c pthread_stop_world.c
- at DARWIN_THREADS_TRUE@am__append_2 = darwin_stop_world.c
- at WIN32_THREADS_TRUE@am__append_3 = win32_threads.c
-
-# C++ Interface
-# -------------
- at CPLUSPLUS_TRUE@am__append_4 = libgccpp.la
- at CPLUSPLUS_TRUE@am__append_5 = include/gc_cpp.h include/gc_allocator.h
-DIST_COMMON = $(am__configure_deps) $(am__pkginclude_HEADERS_DIST) \
-	$(dist_noinst_HEADERS) $(dist_noinst_SCRIPTS) \
-	$(dist_pkgconfig_DATA) $(dist_pkgdata_DATA) $(include_HEADERS) \
-	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-	$(srcdir)/bdw-gc.pc.in $(srcdir)/cord/cord.am \
-	$(srcdir)/doc/doc.am $(srcdir)/include/include.am \
-	$(srcdir)/tests/tests.am $(top_srcdir)/configure ChangeLog \
-	compile config.guess config.sub depcomp install-sh ltmain.sh \
-	missing mkinstalldirs
-
-#TESTS += tracetest$(EXEEXT)
-#check_PROGRAMS += tracetest
-#tracetest_SOURCES = tests/trace_test.c
-#tracetest_LDADD = $(test_ldadd)
- at THREADS_TRUE@am__append_6 = threadleaktest$(EXEEXT)
- at THREADS_TRUE@am__append_7 = threadleaktest
- at CPLUSPLUS_TRUE@am__append_8 = test_cpp$(EXEEXT)
- at CPLUSPLUS_TRUE@am__append_9 = test_cpp
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
-	$(top_srcdir)/libtool.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno configure.status.lineno
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_CLEAN_FILES = bdw-gc.pc
-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)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
-	"$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(includedir)" \
-	"$(DESTDIR)$(pkgincludedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-libcord_la_DEPENDENCIES = $(top_builddir)/libgc.la
-am__dirstamp = $(am__leading_dot)dirstamp
-am_libcord_la_OBJECTS = cord/cordbscs.lo cord/cordprnt.lo \
-	cord/cordtest.lo cord/cordxtra.lo
-libcord_la_OBJECTS = $(am_libcord_la_OBJECTS)
-am__DEPENDENCIES_1 =
-am__libgc_la_SOURCES_DIST = allchblk.c alloc.c blacklst.c checksums.c \
-	dbg_mlc.c dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c \
-	headers.c malloc.c mallocx.c mark.c mark_rts.c misc.c \
-	new_hblk.c obj_map.c os_dep.c pcr_interface.c ptr_chck.c \
-	real_malloc.c reclaim.c specific.c stubborn.c typd_mlc.c \
-	backgraph.c thread_local_alloc.c pthread_support.c \
-	pthread_stop_world.c darwin_stop_world.c win32_threads.c
- at PTHREADS_TRUE@am__objects_1 = pthread_support.lo \
- at PTHREADS_TRUE@	pthread_stop_world.lo
- at DARWIN_THREADS_TRUE@am__objects_2 = darwin_stop_world.lo
- at WIN32_THREADS_TRUE@am__objects_3 = win32_threads.lo
-am_libgc_la_OBJECTS = allchblk.lo alloc.lo blacklst.lo checksums.lo \
-	dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo \
-	headers.lo malloc.lo mallocx.lo mark.lo mark_rts.lo misc.lo \
-	new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo ptr_chck.lo \
-	real_malloc.lo reclaim.lo specific.lo stubborn.lo typd_mlc.lo \
-	backgraph.lo thread_local_alloc.lo $(am__objects_1) \
-	$(am__objects_2) $(am__objects_3)
- at NEED_ATOMIC_OPS_ASM_FALSE@@USE_INTERNAL_LIBATOMIC_OPS_TRUE at nodist_libgc_la_OBJECTS = atomic_ops.lo
- at NEED_ATOMIC_OPS_ASM_TRUE@nodist_libgc_la_OBJECTS =  \
- at NEED_ATOMIC_OPS_ASM_TRUE@	atomic_ops_sysdeps.lo
-libgc_la_OBJECTS = $(am_libgc_la_OBJECTS) $(nodist_libgc_la_OBJECTS)
- at CPLUSPLUS_TRUE@libgccpp_la_DEPENDENCIES = $(top_builddir)/libgc.la
-am__libgccpp_la_SOURCES_DIST = gc_cpp.cc
- at CPLUSPLUS_TRUE@am_libgccpp_la_OBJECTS = gc_cpp.lo
-libgccpp_la_OBJECTS = $(am_libgccpp_la_OBJECTS)
- at CPLUSPLUS_TRUE@am_libgccpp_la_rpath = -rpath $(libdir)
- at THREADS_TRUE@am__EXEEXT_1 = threadleaktest$(EXEEXT)
- at CPLUSPLUS_TRUE@am__EXEEXT_2 = test_cpp$(EXEEXT)
-am_gctest_OBJECTS = tests/test.$(OBJEXT)
-gctest_OBJECTS = $(am_gctest_OBJECTS)
-am__DEPENDENCIES_2 = $(top_builddir)/libgc.la $(am__DEPENDENCIES_1)
-am_leaktest_OBJECTS = tests/leak_test.$(OBJEXT)
-leaktest_OBJECTS = $(am_leaktest_OBJECTS)
-leaktest_DEPENDENCIES = $(am__DEPENDENCIES_2)
-am_middletest_OBJECTS = tests/middle.$(OBJEXT)
-middletest_OBJECTS = $(am_middletest_OBJECTS)
-middletest_DEPENDENCIES = $(am__DEPENDENCIES_2)
-am__test_cpp_SOURCES_DIST = tests/test_cpp.cc
- at CPLUSPLUS_TRUE@am_test_cpp_OBJECTS = tests/test_cpp.$(OBJEXT)
-test_cpp_OBJECTS = $(am_test_cpp_OBJECTS)
- at CPLUSPLUS_TRUE@test_cpp_DEPENDENCIES = libgccpp.la \
- at CPLUSPLUS_TRUE@	$(am__DEPENDENCIES_2)
-am__threadleaktest_SOURCES_DIST = tests/thread_leak_test.c
- at THREADS_TRUE@am_threadleaktest_OBJECTS =  \
- at THREADS_TRUE@	tests/thread_leak_test.$(OBJEXT)
-threadleaktest_OBJECTS = $(am_threadleaktest_OBJECTS)
- at THREADS_TRUE@threadleaktest_DEPENDENCIES = $(am__DEPENDENCIES_2)
-SCRIPTS = $(dist_noinst_SCRIPTS)
-DEFAULT_INCLUDES = 
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCCASCOMPILE = $(LIBTOOL) --mode=compile $(CCAS) $(AM_CCASFLAGS) \
-	$(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libcord_la_SOURCES) $(libgc_la_SOURCES) \
-	$(EXTRA_libgc_la_SOURCES) $(nodist_libgc_la_SOURCES) \
-	$(libgccpp_la_SOURCES) $(gctest_SOURCES) $(leaktest_SOURCES) \
-	$(middletest_SOURCES) $(test_cpp_SOURCES) \
-	$(threadleaktest_SOURCES)
-DIST_SOURCES = $(libcord_la_SOURCES) $(am__libgc_la_SOURCES_DIST) \
-	$(EXTRA_libgc_la_SOURCES) $(am__libgccpp_la_SOURCES_DIST) \
-	$(gctest_SOURCES) $(leaktest_SOURCES) $(middletest_SOURCES) \
-	$(am__test_cpp_SOURCES_DIST) \
-	$(am__threadleaktest_SOURCES_DIST)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-	html-recursive info-recursive install-data-recursive \
-	install-exec-recursive install-info-recursive \
-	install-recursive installcheck-recursive installdirs-recursive \
-	pdf-recursive ps-recursive uninstall-info-recursive \
-	uninstall-recursive
-dist_pkgconfigDATA_INSTALL = $(INSTALL_DATA)
-dist_pkgdataDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(dist_pkgconfig_DATA) $(dist_pkgdata_DATA)
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
-am__pkginclude_HEADERS_DIST = include/gc_cpp.h include/gc_allocator.h \
-	include/gc.h include/gc_typed.h include/gc_inline.h \
-	include/gc_mark.h include/weakpointer.h include/new_gc_alloc.h \
-	include/gc_backptr.h include/gc_gcj.h include/leak_detector.h \
-	include/gc_amiga_redirects.h include/gc_pthread_redirects.h \
-	include/gc_config_macros.h include/gc_tiny_fl.h
-pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(dist_noinst_HEADERS) $(include_HEADERS) \
-	$(pkginclude_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d $(distdir) \
-    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr $(distdir); }; }
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@ $(DEFS)
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-COMPILER_XLC_FALSE = @COMPILER_XLC_FALSE@
-COMPILER_XLC_TRUE = @COMPILER_XLC_TRUE@
-CPLUSPLUS_FALSE = @CPLUSPLUS_FALSE@
-CPLUSPLUS_TRUE = @CPLUSPLUS_TRUE@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CXXINCLUDES = @CXXINCLUDES@
-CYGPATH_W = @CYGPATH_W@
-DARWIN_THREADS_FALSE = @DARWIN_THREADS_FALSE@
-DARWIN_THREADS_TRUE = @DARWIN_THREADS_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ENABLE_GCJ_SUPPORT_FALSE = @ENABLE_GCJ_SUPPORT_FALSE@
-ENABLE_GCJ_SUPPORT_TRUE = @ENABLE_GCJ_SUPPORT_TRUE@
-EXEEXT = @EXEEXT@
-EXTRA_TEST_LIBS = @EXTRA_TEST_LIBS@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GC_CFLAGS = @GC_CFLAGS@
-GC_VERSION = @GC_VERSION@
-GREP = @GREP@
-INCLUDES = @INCLUDES@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-NEED_ATOMIC_OPS_ASM_FALSE = @NEED_ATOMIC_OPS_ASM_FALSE@
-NEED_ATOMIC_OPS_ASM_TRUE = @NEED_ATOMIC_OPS_ASM_TRUE@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PTHREADS_FALSE = @PTHREADS_FALSE@
-PTHREADS_TRUE = @PTHREADS_TRUE@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-THREADDLLIBS = @THREADDLLIBS@
-THREADS_FALSE = @THREADS_FALSE@
-THREADS_TRUE = @THREADS_TRUE@
-UNWINDLIBS = @UNWINDLIBS@
-USE_INTERNAL_LIBATOMIC_OPS_FALSE = @USE_INTERNAL_LIBATOMIC_OPS_FALSE@
-USE_INTERNAL_LIBATOMIC_OPS_TRUE = @USE_INTERNAL_LIBATOMIC_OPS_TRUE@
-USE_LIBDIR_FALSE = @USE_LIBDIR_FALSE@
-USE_LIBDIR_TRUE = @USE_LIBDIR_TRUE@
-VERSION = @VERSION@
-WIN32_THREADS_FALSE = @WIN32_THREADS_FALSE@
-WIN32_THREADS_TRUE = @WIN32_THREADS_TRUE@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-addlibs = @addlibs@
-addobjs = @addobjs@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-atomic_ops_libs = @atomic_ops_libs@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-extra_ldflags_libgc = @extra_ldflags_libgc@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_all = @target_all@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-
-# We currently use the source files directly from libatomic_ops, if we
-# use the internal version.  This is done since libatomic_ops doesn't
-# use libtool, since it has no real use for it.  But that seems to make
-# it hard to use either the resulting object files or libraries.
-# Thus there seems too be no real reason to recusively build in the
-# libatomic_ops directory.
-# if USE_INTERNAL_LIBATOMICS_OPS
-# SUBDIRS = @maybe_libatomic_ops@
-# else
-# SUBDIRS =
-# endif
-SUBDIRS = 
-
-# Initialize variables so that we can declare files locally.
-
-# FIXME: If Visual C++ users use Makefile.am, this should go into
-# pkginclude_HEADERS with proper AM_CONDITIONALization.  Otherwise
-# delete this comment.
-
-# documentation which is not installed
-#
-
-# other makefiles
-# :GOTCHA: deliberately we do not include 'Makefile'
-
-# files used by makefiles other than Makefile.am
-#
-
-# The libatomic_ops library.  This is not ideal, since we pick up junk from
-# there.  The hard-coded version number should also go.
-
-# :FIXME: why do we distribute this one???
-#
-EXTRA_DIST = gc_cpp.cpp README.QUICK BCC_MAKEFILE NT_MAKEFILE \
-	NT_THREADS_MAKEFILE OS2_MAKEFILE PCR-Makefile digimars.mak \
-	EMX_MAKEFILE Makefile.direct Makefile.dj Makefile.DLLs \
-	SMakefile.amiga WCC_MAKEFILE configure_atomic_ops.sh \
-	NT_STATIC_THREADS_MAKEFILE NT_X64_STATIC_THREADS_MAKEFILE \
-	add_gc_prefix.c gcname.c if_mach.c if_not_there.c \
-	hpux_test_and_clear.s gc.mak MacOS.c MacProjects.sit.hqx \
-	mach_dep.c setjmp_t.c threadlibs.c AmigaOS.c \
-	Mac_files/datastart.c Mac_files/dataend.c \
-	Mac_files/MacOS_config.h Mac_files/MacOS_Test_config.h \
-	include/private/msvc_dbg.h msvc_dbg.c libatomic_ops-1.2 \
-	libtool.m4 cord/cordbscs.c cord/cordtest.c cord/de.c \
-	cord/cordprnt.c cord/cordxtra.c cord/de_cmds.h cord/de_win.h \
-	cord/de_win.c cord/de_win.RC cord/de_win.ICO
-
-# C Library
-# ---------
-lib_LTLIBRARIES = libgc.la $(am__append_4) libcord.la
-include_HEADERS = 
-
-# installed headers
-#
-pkginclude_HEADERS = $(am__append_5) include/gc.h include/gc_typed.h \
-	include/gc_inline.h include/gc_mark.h include/gc_cpp.h \
-	include/weakpointer.h include/new_gc_alloc.h \
-	include/gc_allocator.h include/gc_backptr.h include/gc_gcj.h \
-	include/leak_detector.h include/gc_amiga_redirects.h \
-	include/gc_pthread_redirects.h include/gc_config_macros.h \
-	include/gc_tiny_fl.h
-
-# headers which are not installed
-# (see include/include.am for more)
-#
-
-# headers which are not installed
-#
-dist_noinst_HEADERS = version.h include/private/gc_hdrs.h \
-	include/private/gc_priv.h include/private/gcconfig.h \
-	include/private/gc_pmark.h include/private/gc_locks.h \
-	include/private/dbg_mlc.h include/private/specific.h \
-	include/private/cord_pos.h include/private/pthread_support.h \
-	include/private/pthread_stop_world.h \
-	include/private/darwin_semaphore.h \
-	include/private/darwin_stop_world.h \
-	include/private/thread_local_alloc.h include/cord.h \
-	include/ec.h include/javaxfc.h
-TESTS = gctest$(EXEEXT) leaktest$(EXEEXT) middletest$(EXEEXT) \
-	$(am__append_6) $(am__append_8)
-pkgconfigdir = $(libdir)/pkgconfig
-dist_pkgconfig_DATA = bdw-gc.pc
-libgc_la_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
-	dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c malloc.c \
-	mallocx.c mark.c mark_rts.c misc.c new_hblk.c obj_map.c \
-	os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
-	specific.c stubborn.c typd_mlc.c backgraph.c \
-	thread_local_alloc.c $(am__append_1) $(am__append_2) \
-	$(am__append_3)
- at NEED_ATOMIC_OPS_ASM_TRUE@nodist_libgc_la_SOURCES = atomic_ops_sysdeps.S
- at USE_INTERNAL_LIBATOMIC_OPS_TRUE@nodist_libgc_la_SOURCES = atomic_ops.c
-
-# Include THREADDLLIBS here to ensure that the correct versions of
-# linuxthread semaphore functions get linked:
-libgc_la_LIBADD = @addobjs@ $(THREADDLLIBS) $(UNWINDLIBS)
-libgc_la_DEPENDENCIES = @addobjs@
-libgc_la_LDFLAGS = $(extra_ldflags_libgc) -version-info 1:3:0 -no-undefined
-EXTRA_libgc_la_SOURCES = alpha_mach_dep.S \
-    mips_sgi_mach_dep.s mips_ultrix_mach_dep.s \
-    rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
-    sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
-
- at CPLUSPLUS_TRUE@libgccpp_la_SOURCES = gc_cpp.cc
- at CPLUSPLUS_TRUE@libgccpp_la_LIBADD = $(top_builddir)/libgc.la
- at CPLUSPLUS_TRUE@libgccpp_la_LDFLAGS = -version-info 1:3:0 -no-undefined
-
-# Misc
-# ----
-AM_CXXFLAGS = @GC_CFLAGS@
-AM_CFLAGS = @GC_CFLAGS@
- at COMPILER_XLC_FALSE@ASM_CPP_OPTIONS = -Wp,-P -x assembler-with-cpp
-
-#all_objs = @addobjs@ $(libgc_la_OBJECTS)
-#$(all_objs) : include/private/gcconfig.h include/private/gc_priv.h \
-#include/private/gc_hdrs.h include/gc.h include/gc_gcj.h \
-#include/gc_pthread_redirects.h include/gc_config_macros.h \
-#include/private/thread_local_alloc.h include/private_support.h \
-#include/private/pthread_stop_world.h \
-#include/gc_mark.h @addincludes@
- at COMPILER_XLC_TRUE@ASM_CPP_OPTIONS = 
-dist_noinst_SCRIPTS = callprocs configure.host
-
-# this is an auxiliary shell file used by Makefile and Makefile.direct
-#
-CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host
-libcord_la_LIBADD = $(top_builddir)/libgc.la
-libcord_la_LDFLAGS = -version-info 1:3:0 -no-undefined
-libcord_la_SOURCES = \
-	cord/cordbscs.c				\
-	cord/cordprnt.c				\
-	cord/cordtest.c				\
-	cord/cordxtra.c				
-
-
-# Common libs to _LDADD for all tests.
-test_ldadd = $(top_builddir)/libgc.la $(EXTRA_TEST_LIBS)
-gctest_SOURCES = tests/test.c
-gctest_LDADD = $(test_ldadd)
-gctest_DEPENDENCIES = $(top_builddir)/libgc.la
-leaktest_SOURCES = tests/leak_test.c
-leaktest_LDADD = $(test_ldadd)
-middletest_SOURCES = tests/middle.c
-middletest_LDADD = $(test_ldadd)
- at THREADS_TRUE@threadleaktest_SOURCES = tests/thread_leak_test.c
- at THREADS_TRUE@threadleaktest_LDADD = $(test_ldadd)
- at CPLUSPLUS_TRUE@test_cpp_SOURCES = tests/test_cpp.cc
- at CPLUSPLUS_TRUE@test_cpp_LDADD = libgccpp.la $(test_ldadd)
-
-# installed documentation
-#
-dist_pkgdata_DATA = \
-	doc/barrett_diagram \
-	doc/debugging.html \
-	doc/gc.man \
-	doc/gcdescr.html \
-	doc/README \
-	doc/README.amiga \
-	doc/README.arm.cross \
-	doc/README.autoconf \
-	doc/README.changes \
-	doc/README.contributors \
-	doc/README.cords \
-	doc/README.DGUX386 \
-	doc/README.dj \
-	doc/README.environment \
-	doc/README.ews4800 \
-	doc/README.hp \
-	doc/README.linux \
-	doc/README.Mac \
-	doc/README.MacOSX \
-	doc/README.macros \
-	doc/README.OS2 \
-	doc/README.rs6000 \
-	doc/README.sgi \
-	doc/README.solaris2 \
-	doc/README.uts \
-	doc/README.win32 \
-	doc/README.win64 \
-	doc/overview.html \
-	doc/tree.html \
-	doc/leak.html \
-	doc/gcinterface.html \
-	doc/scale.html \
-	doc/README.darwin \
-	doc/simple_example.html \
-	doc/porting.html
-
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .S .c .cc .lo .o .obj .s
-am--refresh:
-	@:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/include/include.am $(srcdir)/cord/cord.am $(srcdir)/tests/tests.am $(srcdir)/doc/doc.am $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
-	      cd $(srcdir) && $(AUTOMAKE) --foreign  \
-		&& exit 0; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    echo ' $(SHELL) ./config.status'; \
-	    $(SHELL) ./config.status;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	$(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-	cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-bdw-gc.pc: $(top_builddir)/config.status $(srcdir)/bdw-gc.pc.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-	@$(NORMAL_INSTALL)
-	test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  if test -f $$p; then \
-	    f=$(am__strip_dir) \
-	    echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
-	    $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
-	  else :; fi; \
-	done
-
-uninstall-libLTLIBRARIES:
-	@$(NORMAL_UNINSTALL)
-	@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  p=$(am__strip_dir) \
-	  echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
-	  $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
-	done
-
-clean-libLTLIBRARIES:
-	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
-cord/$(am__dirstamp):
-	@$(mkdir_p) cord
-	@: > cord/$(am__dirstamp)
-cord/$(DEPDIR)/$(am__dirstamp):
-	@$(mkdir_p) cord/$(DEPDIR)
-	@: > cord/$(DEPDIR)/$(am__dirstamp)
-cord/cordbscs.lo: cord/$(am__dirstamp) cord/$(DEPDIR)/$(am__dirstamp)
-cord/cordprnt.lo: cord/$(am__dirstamp) cord/$(DEPDIR)/$(am__dirstamp)
-cord/cordtest.lo: cord/$(am__dirstamp) cord/$(DEPDIR)/$(am__dirstamp)
-cord/cordxtra.lo: cord/$(am__dirstamp) cord/$(DEPDIR)/$(am__dirstamp)
-libcord.la: $(libcord_la_OBJECTS) $(libcord_la_DEPENDENCIES) 
-	$(LINK) -rpath $(libdir) $(libcord_la_LDFLAGS) $(libcord_la_OBJECTS) $(libcord_la_LIBADD) $(LIBS)
-libgc.la: $(libgc_la_OBJECTS) $(libgc_la_DEPENDENCIES) 
-	$(LINK) -rpath $(libdir) $(libgc_la_LDFLAGS) $(libgc_la_OBJECTS) $(libgc_la_LIBADD) $(LIBS)
-libgccpp.la: $(libgccpp_la_OBJECTS) $(libgccpp_la_DEPENDENCIES) 
-	$(CXXLINK) $(am_libgccpp_la_rpath) $(libgccpp_la_LDFLAGS) $(libgccpp_la_OBJECTS) $(libgccpp_la_LIBADD) $(LIBS)
-
-clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
-tests/$(am__dirstamp):
-	@$(mkdir_p) tests
-	@: > tests/$(am__dirstamp)
-tests/$(DEPDIR)/$(am__dirstamp):
-	@$(mkdir_p) tests/$(DEPDIR)
-	@: > tests/$(DEPDIR)/$(am__dirstamp)
-tests/test.$(OBJEXT): tests/$(am__dirstamp) \
-	tests/$(DEPDIR)/$(am__dirstamp)
-gctest$(EXEEXT): $(gctest_OBJECTS) $(gctest_DEPENDENCIES) 
-	@rm -f gctest$(EXEEXT)
-	$(LINK) $(gctest_LDFLAGS) $(gctest_OBJECTS) $(gctest_LDADD) $(LIBS)
-tests/leak_test.$(OBJEXT): tests/$(am__dirstamp) \
-	tests/$(DEPDIR)/$(am__dirstamp)
-leaktest$(EXEEXT): $(leaktest_OBJECTS) $(leaktest_DEPENDENCIES) 
-	@rm -f leaktest$(EXEEXT)
-	$(LINK) $(leaktest_LDFLAGS) $(leaktest_OBJECTS) $(leaktest_LDADD) $(LIBS)
-tests/middle.$(OBJEXT): tests/$(am__dirstamp) \
-	tests/$(DEPDIR)/$(am__dirstamp)
-middletest$(EXEEXT): $(middletest_OBJECTS) $(middletest_DEPENDENCIES) 
-	@rm -f middletest$(EXEEXT)
-	$(LINK) $(middletest_LDFLAGS) $(middletest_OBJECTS) $(middletest_LDADD) $(LIBS)
-tests/test_cpp.$(OBJEXT): tests/$(am__dirstamp) \
-	tests/$(DEPDIR)/$(am__dirstamp)
-test_cpp$(EXEEXT): $(test_cpp_OBJECTS) $(test_cpp_DEPENDENCIES) 
-	@rm -f test_cpp$(EXEEXT)
-	$(CXXLINK) $(test_cpp_LDFLAGS) $(test_cpp_OBJECTS) $(test_cpp_LDADD) $(LIBS)
-tests/thread_leak_test.$(OBJEXT): tests/$(am__dirstamp) \
-	tests/$(DEPDIR)/$(am__dirstamp)
-threadleaktest$(EXEEXT): $(threadleaktest_OBJECTS) $(threadleaktest_DEPENDENCIES) 
-	@rm -f threadleaktest$(EXEEXT)
-	$(LINK) $(threadleaktest_LDFLAGS) $(threadleaktest_OBJECTS) $(threadleaktest_LDADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-	-rm -f cord/cordbscs.$(OBJEXT)
-	-rm -f cord/cordbscs.lo
-	-rm -f cord/cordprnt.$(OBJEXT)
-	-rm -f cord/cordprnt.lo
-	-rm -f cord/cordtest.$(OBJEXT)
-	-rm -f cord/cordtest.lo
-	-rm -f cord/cordxtra.$(OBJEXT)
-	-rm -f cord/cordxtra.lo
-	-rm -f tests/leak_test.$(OBJEXT)
-	-rm -f tests/middle.$(OBJEXT)
-	-rm -f tests/test.$(OBJEXT)
-	-rm -f tests/test_cpp.$(OBJEXT)
-	-rm -f tests/thread_leak_test.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/allchblk.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/alloc.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/atomic_ops.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/backgraph.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/blacklst.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/checksums.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/darwin_stop_world.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dbg_mlc.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dyn_load.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/finalize.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gc_cpp.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gc_dlopen.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gcj_mlc.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/headers.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/malloc.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mallocx.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mark.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mark_rts.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/misc.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/new_hblk.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/obj_map.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/os_dep.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pcr_interface.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pthread_stop_world.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pthread_support.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ptr_chck.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/real_malloc.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reclaim.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/specific.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/stubborn.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/thread_local_alloc.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/typd_mlc.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/win32_threads.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at cord/$(DEPDIR)/cordbscs.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at cord/$(DEPDIR)/cordprnt.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at cord/$(DEPDIR)/cordtest.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at cord/$(DEPDIR)/cordxtra.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at tests/$(DEPDIR)/leak_test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at tests/$(DEPDIR)/middle.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at tests/$(DEPDIR)/test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at tests/$(DEPDIR)/test_cpp.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at tests/$(DEPDIR)/thread_leak_test.Po at am__quote@
-
-.S.o:
-	$(CCASCOMPILE) -c $<
-
-.S.obj:
-	$(CCASCOMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.o:
- at am__fastdepCC_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \
- at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
- at am__fastdepCC_TRUE@	then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(COMPILE) -c -o $@ $<
-
-.c.obj:
- at am__fastdepCC_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \
- at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
- at am__fastdepCC_TRUE@	then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
- at am__fastdepCC_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \
- at am__fastdepCC_TRUE@	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
- at am__fastdepCC_TRUE@	then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
-
-.cc.o:
- at am__fastdepCXX_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \
- at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
- at am__fastdepCXX_TRUE@	then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \
- at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
- at am__fastdepCXX_TRUE@	then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \
- at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
- at am__fastdepCXX_TRUE@	then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
-
-.s.o:
-	$(CCASCOMPILE) -c $<
-
-.s.obj:
-	$(CCASCOMPILE) -c `$(CYGPATH_W) '$<'`
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-	-rm -rf cord/.libs cord/_libs
-
-distclean-libtool:
-	-rm -f libtool
-uninstall-info-am:
-install-dist_pkgconfigDATA: $(dist_pkgconfig_DATA)
-	@$(NORMAL_INSTALL)
-	test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)"
-	@list='$(dist_pkgconfig_DATA)'; for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(dist_pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
-	  $(dist_pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
-	done
-
-uninstall-dist_pkgconfigDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(dist_pkgconfig_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
-	done
-install-dist_pkgdataDATA: $(dist_pkgdata_DATA)
-	@$(NORMAL_INSTALL)
-	test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
-	@list='$(dist_pkgdata_DATA)'; for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(dist_pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
-	  $(dist_pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
-	done
-
-uninstall-dist_pkgdataDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(dist_pkgdata_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
-	done
-install-includeHEADERS: $(include_HEADERS)
-	@$(NORMAL_INSTALL)
-	test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)"
-	@list='$(include_HEADERS)'; for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
-	  $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
-	done
-
-uninstall-includeHEADERS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(include_HEADERS)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(includedir)/$$f"; \
-	done
-install-pkgincludeHEADERS: $(pkginclude_HEADERS)
-	@$(NORMAL_INSTALL)
-	test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)"
-	@list='$(pkginclude_HEADERS)'; for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(pkgincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \
-	  $(pkgincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \
-	done
-
-uninstall-pkgincludeHEADERS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(pkginclude_HEADERS)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \
-	done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
-	@failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	rev=''; for subdir in $$list; do \
-	  if test "$$subdir" = "."; then :; else \
-	    rev="$$subdir $$rev"; \
-	  fi; \
-	done; \
-	rev="$$rev ."; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-ctags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-	done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-	  include_option=--etags-include; \
-	  empty_fix=.; \
-	else \
-	  include_option=--include; \
-	  empty_fix=; \
-	fi; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
-	  fi; \
-	done; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
-	fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
-	srcdir=$(srcdir); export srcdir; \
-	list='$(TESTS)'; \
-	if test -n "$$list"; then \
-	  for tst in $$list; do \
-	    if test -f ./$$tst; then dir=./; \
-	    elif test -f $$tst; then dir=; \
-	    else dir="$(srcdir)/"; fi; \
-	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
-	      all=`expr $$all + 1`; \
-	      case " $(XFAIL_TESTS) " in \
-	      *" $$tst "*) \
-		xpass=`expr $$xpass + 1`; \
-		failed=`expr $$failed + 1`; \
-		echo "XPASS: $$tst"; \
-	      ;; \
-	      *) \
-		echo "PASS: $$tst"; \
-	      ;; \
-	      esac; \
-	    elif test $$? -ne 77; then \
-	      all=`expr $$all + 1`; \
-	      case " $(XFAIL_TESTS) " in \
-	      *" $$tst "*) \
-		xfail=`expr $$xfail + 1`; \
-		echo "XFAIL: $$tst"; \
-	      ;; \
-	      *) \
-		failed=`expr $$failed + 1`; \
-		echo "FAIL: $$tst"; \
-	      ;; \
-	      esac; \
-	    else \
-	      skip=`expr $$skip + 1`; \
-	      echo "SKIP: $$tst"; \
-	    fi; \
-	  done; \
-	  if test "$$failed" -eq 0; then \
-	    if test "$$xfail" -eq 0; then \
-	      banner="All $$all tests passed"; \
-	    else \
-	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
-	    fi; \
-	  else \
-	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all tests failed"; \
-	    else \
-	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
-	    fi; \
-	  fi; \
-	  dashes="$$banner"; \
-	  skipped=""; \
-	  if test "$$skip" -ne 0; then \
-	    skipped="($$skip tests were not run)"; \
-	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
-	      dashes="$$skipped"; \
-	  fi; \
-	  report=""; \
-	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
-	    report="Please report to $(PACKAGE_BUGREPORT)"; \
-	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
-	      dashes="$$report"; \
-	  fi; \
-	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  echo "$$dashes"; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes"; \
-	  test "$$failed" -eq 0; \
-	else :; fi
-
-distdir: $(DISTFILES)
-	$(am__remove_distdir)
-	mkdir $(distdir)
-	$(mkdir_p) $(distdir)/. $(distdir)/Mac_files $(distdir)/cord $(distdir)/doc $(distdir)/include $(distdir)/include/private $(distdir)/tests
-	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
-	list='$(DISTFILES)'; for file in $$list; do \
-	  case $$file in \
-	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
-	  esac; \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
-	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkdir_p) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
-	  fi; \
-	  if test -d $$d/$$file; then \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
-	    || exit 1; \
-	  fi; \
-	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    test -d "$(distdir)/$$subdir" \
-	    || $(mkdir_p) "$(distdir)/$$subdir" \
-	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
-	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
-	        distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-	-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 \
-	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
-	|| chmod -R a+r $(distdir)
-dist-gzip: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
-dist-bzip2: distdir
-	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-	$(am__remove_distdir)
-
-dist-tarZ: distdir
-	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-	$(am__remove_distdir)
-
-dist-shar: distdir
-	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-	$(am__remove_distdir)
-
-dist-zip: distdir
-	-rm -f $(distdir).zip
-	zip -rq $(distdir).zip $(distdir)
-	$(am__remove_distdir)
-
-dist dist-all: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-	$(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-	case '$(DIST_ARCHIVES)' in \
-	*.tar.gz*) \
-	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
-	*.tar.bz2*) \
-	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
-	*.tar.Z*) \
-	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-	*.shar.gz*) \
-	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
-	*.zip*) \
-	  unzip $(distdir).zip ;;\
-	esac
-	chmod -R a-w $(distdir); chmod a+w $(distdir)
-	mkdir $(distdir)/_build
-	mkdir $(distdir)/_inst
-	chmod a-w $(distdir)
-	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-	  && cd $(distdir)/_build \
-	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-	    $(DISTCHECK_CONFIGURE_FLAGS) \
-	  && $(MAKE) $(AM_MAKEFLAGS) \
-	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
-	  && $(MAKE) $(AM_MAKEFLAGS) check \
-	  && $(MAKE) $(AM_MAKEFLAGS) install \
-	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-	        distuninstallcheck \
-	  && chmod -R a-w "$$dc_install_base" \
-	  && ({ \
-	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
-	  && rm -rf "$$dc_destdir" \
-	  && $(MAKE) $(AM_MAKEFLAGS) dist \
-	  && rm -rf $(DIST_ARCHIVES) \
-	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
-	$(am__remove_distdir)
-	@(echo "$(distdir) archives ready for distribution: "; \
-	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
-distuninstallcheck:
-	@cd $(distuninstallcheck_dir) \
-	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-	   || { echo "ERROR: files left after uninstall:" ; \
-	        if test -n "$(DESTDIR)"; then \
-	          echo "  (check DESTDIR support)"; \
-	        fi ; \
-	        $(distuninstallcheck_listfiles) ; \
-	        exit 1; } >&2
-distcleancheck: distclean
-	@if test '$(srcdir)' = . ; then \
-	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-	  exit 1 ; \
-	fi
-	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-	  || { echo "ERROR: files left in build directory after distclean:" ; \
-	       $(distcleancheck_listfiles) ; \
-	       exit 1; } >&2
-check-am: all-am
-	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
-	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-recursive
-all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(DATA) $(HEADERS)
-installdirs: installdirs-recursive
-installdirs-am:
-	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(pkgincludedir)"; do \
-	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
-	done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-rm -f cord/$(DEPDIR)/$(am__dirstamp)
-	-rm -f cord/$(am__dirstamp)
-	-rm -f tests/$(DEPDIR)/$(am__dirstamp)
-	-rm -f tests/$(am__dirstamp)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-checkPROGRAMS clean-generic clean-libLTLIBRARIES \
-	clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
-	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -rf ./$(DEPDIR) cord/$(DEPDIR) tests/$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-dist_pkgconfigDATA install-dist_pkgdataDATA \
-	install-includeHEADERS install-pkgincludeHEADERS
-
-install-exec-am: install-libLTLIBRARIES
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -rf $(top_srcdir)/autom4te.cache
-	-rm -rf ./$(DEPDIR) cord/$(DEPDIR) tests/$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-dist_pkgconfigDATA uninstall-dist_pkgdataDATA \
-	uninstall-includeHEADERS uninstall-info-am \
-	uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
-	check-TESTS check-am clean clean-checkPROGRAMS clean-generic \
-	clean-libLTLIBRARIES clean-libtool clean-recursive ctags \
-	ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
-	dist-tarZ dist-zip distcheck distclean distclean-compile \
-	distclean-generic distclean-libtool distclean-recursive \
-	distclean-tags distcleancheck distdir distuninstallcheck dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-data install-data-am install-dist_pkgconfigDATA \
-	install-dist_pkgdataDATA install-exec install-exec-am \
-	install-includeHEADERS install-info install-info-am \
-	install-libLTLIBRARIES install-man install-pkgincludeHEADERS \
-	install-strip installcheck installcheck-am installdirs \
-	installdirs-am maintainer-clean maintainer-clean-generic \
-	maintainer-clean-recursive mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
-	pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
-	uninstall-dist_pkgconfigDATA uninstall-dist_pkgdataDATA \
-	uninstall-includeHEADERS uninstall-info-am \
-	uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS
-
-.s.lo:
-	$(LTCOMPILE) $(ASM_CPP_OPTIONS) -c $<
-
-.S.lo:
-	$(LTCOMPILE) $(ASM_CPP_OPTIONS) -c $<
-
-#
-# :GOTCHA: GNU make rule for making .s out of .S is flawed, 
-# it will not remove dest if building fails
-.S.s:
-	if $(CPP) $< >$@ ; then :; else rm -f $@; fi
-
-# Putting these at the top causes cord to be built first, and not find libgc.a
-# on HP/UX.  There may be a better fix.
-# 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/SRC/Boost/tools/build/v2/engine/boehm_gc/NT_MAKEFILE b/SRC/Boost/tools/build/v2/engine/boehm_gc/NT_MAKEFILE
deleted file mode 100755
index 82db3fd..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/NT_MAKEFILE
+++ /dev/null
@@ -1,60 +0,0 @@
-# Makefile for Windows NT.  Assumes Microsoft compiler, and a single thread.
-# DLLs are included in the root set under NT, but not under win32S.
-# Use "nmake nodebug=1 all" for optimized versions of library, gctest and editor.
-
-MY_CPU=X86
-CPU=$(MY_CPU)
-!include <ntwin32.mak>
-
-OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj obj_map.obj blacklst.obj finalize.obj new_hblk.obj dbg_mlc.obj malloc.obj stubborn.obj dyn_load.obj typd_mlc.obj ptr_chck.obj gc_cpp.obj mallocx.obj msvc_dbg.obj
-
-all: gctest.exe cord\de.exe test_cpp.exe
-
-.c.obj:
-	$(cc) $(cdebug) $(cflags) $(cvars) -Iinclude -DALL_INTERIOR_POINTERS -D__STDC__ -DGC_NOT_DLL -DGC_BUILD $*.c /Fo$*.obj
-
-.cpp.obj:
-	$(cc) $(cdebug) $(cflags) $(cvars) -Iinclude -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_BUILD $*.CPP /Fo$*.obj
-
-$(OBJS) tests\test.obj: include\private\gc_priv.h include\private\gc_hdrs.h include\gc.h include\private\gcconfig.h include\private\gc_locks.h include\private\gc_pmark.h include\gc_mark.h include\private\msvc_dbg.h
-
-gc.lib: $(OBJS)
-	lib /MACHINE:i386 /out:gc.lib $(OBJS)
-# The original NT SDK used lib32 instead of lib
-
-gctest.exe: tests\test.obj gc.lib
-#	The following works for win32 debugging.  For win32s debugging use debugtype:coff
-#	and add mapsympe line.
-#  This produces a "GUI" applications that opens no windows and writes to the log file
-#  "gc.log".  This is done to make the result runnable under win32s.
-	$(link) -debug:full -debugtype:cv $(guiflags) -stack:131072 -out:$*.exe tests\test.obj $(guilibs) gc.lib
-#	mapsympe -n -o gctest.sym gctest.exe
-
-cord\de_win.rbj: cord\de_win.res
-	cvtres /MACHINE:$(MY_CPU) /OUT:cord\de_win.rbj cord\de_win.res
-
-cord\de.obj cord\de_win.obj: include\cord.h include\private\cord_pos.h cord\de_win.h cord\de_cmds.h
-
-cord\de_win.res: cord\de_win.rc cord\de_win.h cord\de_cmds.h
-	$(rc) $(rcvars) -r -fo cord\de_win.res cord\de_win.rc
-
-# Cord/de is a real win32 gui application.
-cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib
-	$(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:cord\de.exe  cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib $(guilibs)
-
-gc_cpp.obj: include\gc_cpp.h include\gc.h
-
-gc_cpp.cpp: gc_cpp.cc
-	copy gc_cpp.cc gc_cpp.cpp
-
-test_cpp.cpp: tests\test_cpp.cc
-	copy tests\test_cpp.cc test_cpp.cpp
-
-# This generates the C++ test executable.  The executable expects
-# a single numeric argument, which is the number of iterations.
-# The output appears in the file "gc.log".
-test_cpp.exe: test_cpp.obj include\gc_cpp.h include\gc.h gc.lib
-	$(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:test_cpp.exe test_cpp.obj gc.lib $(guilibs)
-
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/NT_STATIC_THREADS_MAKEFILE b/SRC/Boost/tools/build/v2/engine/boehm_gc/NT_STATIC_THREADS_MAKEFILE
deleted file mode 100755
index c553812..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/NT_STATIC_THREADS_MAKEFILE
+++ /dev/null
@@ -1,74 +0,0 @@
-# Makefile for Windows NT.  Assumes Microsoft compiler.
-# DLLs are included in the root set under NT, but not under win32S.
-# Use "nmake nodebug=1 all" for optimized versions of library, gctest and editor.
-
-MY_CPU=X86
-CPU=$(MY_CPU)
-!include <ntwin32.mak>
-
-# Make sure that .cc is not viewed as a suffix.  It is for VC++2005, but
-# not earlier versions.  We can deal with either, but not inconsistency.
-.SUFFIXES:
-.SUFFIXES: .obj .cpp .c
-
-# Atomic_ops installation directory.  For win32, the source directory
-# should do, since we only need the headers.
-# We assume this was manually unpacked, since I'm not sure there is
-# a Windows standard command line tool to do this.
-AO_VERSION=1.2
-AO_SRC_DIR=libatomic_ops-$(AO_VERSION)/src
-AO_INCLUDE_DIR=$(AO_SRC_DIR)
-
-OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj obj_map.obj blacklst.obj finalize.obj new_hblk.obj dbg_mlc.obj malloc.obj stubborn.obj dyn_load.obj typd_mlc.obj ptr_chck.obj gc_cpp.obj mallocx.obj win32_threads.obj msvc_dbg.obj thread_local_alloc.obj
-
-all: gctest.exe cord\de.exe test_cpp.exe
-
-.c.obj:
-	$(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -D__STDC__ -DGC_NOT_DLL -DGC_WIN32_THREADS -DTHREAD_LOCAL_ALLOC $*.c /Fo$*.obj
-
-.cpp.obj:
-	$(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL $*.CPP -DGC_WIN32_THREADS -DTHREAD_LOCAL_ALLOC /Fo$*.obj
-
-$(OBJS) tests\test.obj: include\private\gc_priv.h include\private\gc_hdrs.h include\gc.h include\private\gcconfig.h include\private\gc_locks.h include\private\gc_pmark.h include\gc_mark.h include\private\msvc_dbg.h
-
-gc.lib: $(OBJS)
-	lib /MACHINE:i386 /out:gc.lib $(OBJS)
-# The original NT SDK used lib32 instead of lib
-
-gctest.exe: tests\test.obj gc.lib
-#	The following works for win32 debugging.  For win32s debugging use debugtype:coff
-#	and add mapsympe line.
-#  This produces a "GUI" applications that opens no windows and writes to the log file
-#  "gc.log".  This is done to make the result runnable under win32s.
-	$(link) -debug:full -debugtype:cv $(guiflags) -stack:131072 -out:$*.exe tests\test.obj $(guilibs) gc.lib
-#	mapsympe -n -o gctest.sym gctest.exe
-
-cord\de_win.rbj: cord\de_win.res
-	cvtres /MACHINE:$(MY_CPU) /OUT:cord\de_win.rbj cord\de_win.res
-
-cord\de.obj cord\de_win.obj: include\cord.h include\private\cord_pos.h cord\de_win.h cord\de_cmds.h
-
-cord\de_win.res: cord\de_win.rc cord\de_win.h cord\de_cmds.h
-	$(rc) $(rcvars) -r -fo cord\de_win.res cord\de_win.rc
-
-# Cord/de is a real win32 gui application.
-cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib
-	$(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:cord\de.exe  cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib $(guilibs)
-
-gc_cpp.obj: include\gc_cpp.h include\gc.h
-
-gc_cpp.cpp: gc_cpp.cc
-	copy gc_cpp.cc gc_cpp.cpp
-
-test_cpp.cpp: tests\test_cpp.cc
-	copy tests\test_cpp.cc test_cpp.cpp
-
-# This generates the C++ test executable.  The executable expects
-# a single numeric argument, which is the number of iterations.
-# The output appears in the file "gc.log".
-test_cpp.exe: test_cpp.obj include\gc_cpp.h include\gc.h gc.lib
-	$(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:test_cpp.exe test_cpp.obj gc.lib $(guilibs)
-
-AO_SCR_DIR:
-	        tar xvfz $(AO_SRC_DIR).tar.gz;
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/NT_THREADS_MAKEFILE b/SRC/Boost/tools/build/v2/engine/boehm_gc/NT_THREADS_MAKEFILE
deleted file mode 100755
index 04f8421..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/NT_THREADS_MAKEFILE
+++ /dev/null
@@ -1,2220 +0,0 @@
-# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10
-# This has been hand-edited way too many times.
-# A clean, manually generated makefile would be an improvement.
-
-# TARGTYPE "Win32 (x86) Application" 0x0101
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-AO_VERSION=1.2
-!IF "$(CFG)" == ""
-CFG=gctest - Win32 Release
-!MESSAGE No configuration specified.  Defaulting to cord - Win32 Debug.
-!ENDIF 
-
-!IF "$(CFG)" != "gc - Win32 Release" && "$(CFG)" != "gc - Win32 Debug" &&\
- "$(CFG)" != "gctest - Win32 Release" && "$(CFG)" != "gctest - Win32 Debug" &&\
- "$(CFG)" != "cord - Win32 Release" && "$(CFG)" != "cord - Win32 Debug"
-!MESSAGE Invalid configuration "$(CFG)" specified.
-!MESSAGE You can specify a configuration when running NMAKE on this makefile
-!MESSAGE by defining the macro CFG on the command line.  For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "gc.mak" CFG="cord - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "gc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "gc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "gctest - Win32 Release" (based on "Win32 (x86) Application")
-!MESSAGE "gctest - Win32 Debug" (based on "Win32 (x86) Application")
-!MESSAGE "cord - Win32 Release" (based on "Win32 (x86) Application")
-!MESSAGE "cord - Win32 Debug" (based on "Win32 (x86) Application")
-!MESSAGE 
-!ERROR An invalid configuration is specified.
-!ENDIF 
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-################################################################################
-# Begin Project
-# PROP Target_Last_Scanned "gctest - Win32 Debug"
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-OUTDIR=.\Release
-INTDIR=.\Release
-
-ALL : ".\Release\gc.dll" ".\Release\gc.bsc"
-
-CLEAN : 
-	- at erase ".\Release\allchblk.obj"
-	- at erase ".\Release\allchblk.sbr"
-	- at erase ".\Release\alloc.obj"
-	- at erase ".\Release\alloc.sbr"
-	- at erase ".\Release\blacklst.obj"
-	- at erase ".\Release\blacklst.sbr"
-	- at erase ".\Release\checksums.obj"
-	- at erase ".\Release\checksums.sbr"
-	- at erase ".\Release\dbg_mlc.obj"
-	- at erase ".\Release\dbg_mlc.sbr"
-	- at erase ".\Release\dyn_load.obj"
-	- at erase ".\Release\dyn_load.sbr"
-	- at erase ".\Release\finalize.obj"
-	- at erase ".\Release\finalize.sbr"
-	- at erase ".\Release\gc.bsc"
-	- at erase ".\Release\gc_cpp.obj"
-	- at erase ".\Release\gc_cpp.sbr"
-	- at erase ".\Release\gc.dll"
-	- at erase ".\Release\gc.exp"
-	- at erase ".\Release\gc.lib"
-	- at erase ".\Release\headers.obj"
-	- at erase ".\Release\headers.sbr"
-	- at erase ".\Release\mach_dep.obj"
-	- at erase ".\Release\mach_dep.sbr"
-	- at erase ".\Release\malloc.obj"
-	- at erase ".\Release\malloc.sbr"
-	- at erase ".\Release\mallocx.obj"
-	- at erase ".\Release\mallocx.sbr"
-	- at erase ".\Release\mark.obj"
-	- at erase ".\Release\mark.sbr"
-	- at erase ".\Release\mark_rts.obj"
-	- at erase ".\Release\mark_rts.sbr"
-	- at erase ".\Release\misc.obj"
-	- at erase ".\Release\misc.sbr"
-	- at erase ".\Release\new_hblk.obj"
-	- at erase ".\Release\new_hblk.sbr"
-	- at erase ".\Release\obj_map.obj"
-	- at erase ".\Release\obj_map.sbr"
-	- at erase ".\Release\os_dep.obj"
-	- at erase ".\Release\os_dep.sbr"
-	- at erase ".\Release\ptr_chck.obj"
-	- at erase ".\Release\ptr_chck.sbr"
-	- at erase ".\Release\reclaim.obj"
-	- at erase ".\Release\reclaim.sbr"
-	- at erase ".\Release\stubborn.obj"
-	- at erase ".\Release\stubborn.sbr"
-	- at erase ".\Release\typd_mlc.obj"
-	- at erase ".\Release\typd_mlc.sbr"
-	- at erase ".\Release\win32_threads.obj"
-	- at erase ".\Release\win32_threads.sbr"
-	- at erase ".\Release\msvc_dbg.obj"
-	- at erase ".\Release\msvc_dbg.sbr"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I include /D "NDEBUG" /D "GC_BUILD" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "GC_WIN32_THREADS" /FR /YX /c
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I include /D "NDEBUG" /D "GC_BUILD" /D\
- "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D\
- "GC_WIN32_THREADS" /FR"$(INTDIR)/" /Fp"$(INTDIR)/gc.pch" \
- /Ilibatomic_ops-$(AO_VERSION)/src /YX /Fo"$(INTDIR)/" /c 
-CPP_OBJS=.\Release/
-CPP_SBRS=.\Release/
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.c{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /win32
-MTL_PROJ=/nologo /D "NDEBUG" /win32 
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "NDEBUG"
-# ADD RSC /l 0x809 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/gc.bsc" 
-BSC32_SBRS= \
-	".\Release\allchblk.sbr" \
-	".\Release\alloc.sbr" \
-	".\Release\blacklst.sbr" \
-	".\Release\checksums.sbr" \
-	".\Release\dbg_mlc.sbr" \
-	".\Release\dyn_load.sbr" \
-	".\Release\finalize.sbr" \
-	".\Release\gc_cpp.sbr" \
-	".\Release\headers.sbr" \
-	".\Release\mach_dep.sbr" \
-	".\Release\malloc.sbr" \
-	".\Release\mallocx.sbr" \
-	".\Release\mark.sbr" \
-	".\Release\mark_rts.sbr" \
-	".\Release\misc.sbr" \
-	".\Release\new_hblk.sbr" \
-	".\Release\obj_map.sbr" \
-	".\Release\os_dep.sbr" \
-	".\Release\ptr_chck.sbr" \
-	".\Release\reclaim.sbr" \
-	".\Release\stubborn.sbr" \
-	".\Release\typd_mlc.sbr" \
-	".\Release\msvc_dbg.sbr" \
-	".\Release\win32_threads.sbr"
-
-".\Release\gc.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
-    $(BSC32) @<<
-  $(BSC32_FLAGS) $(BSC32_SBRS)
-<<
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\
- /pdb:"$(OUTDIR)/gc.pdb" /machine:I386 /out:"$(OUTDIR)/gc.dll"\
- /implib:"$(OUTDIR)/gc.lib" 
-LINK32_OBJS= \
-	".\Release\allchblk.obj" \
-	".\Release\alloc.obj" \
-	".\Release\blacklst.obj" \
-	".\Release\checksums.obj" \
-	".\Release\dbg_mlc.obj" \
-	".\Release\dyn_load.obj" \
-	".\Release\finalize.obj" \
-	".\Release\gc_cpp.obj" \
-	".\Release\headers.obj" \
-	".\Release\mach_dep.obj" \
-	".\Release\malloc.obj" \
-	".\Release\mallocx.obj" \
-	".\Release\mark.obj" \
-	".\Release\mark_rts.obj" \
-	".\Release\misc.obj" \
-	".\Release\new_hblk.obj" \
-	".\Release\obj_map.obj" \
-	".\Release\os_dep.obj" \
-	".\Release\ptr_chck.obj" \
-	".\Release\reclaim.obj" \
-	".\Release\stubborn.obj" \
-	".\Release\typd_mlc.obj" \
-	".\Release\msvc_dbg.obj" \
-	".\Release\win32_threads.obj"
-
-".\Release\gc.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-OUTDIR=.\Debug
-INTDIR=.\Debug
-
-ALL : ".\Debug\gc.dll" ".\Debug\gc.bsc"
-
-CLEAN : 
-	- at erase ".\Debug\allchblk.obj"
-	- at erase ".\Debug\allchblk.sbr"
-	- at erase ".\Debug\alloc.obj"
-	- at erase ".\Debug\alloc.sbr"
-	- at erase ".\Debug\blacklst.obj"
-	- at erase ".\Debug\blacklst.sbr"
-	- at erase ".\Debug\checksums.obj"
-	- at erase ".\Debug\checksums.sbr"
-	- at erase ".\Debug\dbg_mlc.obj"
-	- at erase ".\Debug\dbg_mlc.sbr"
-	- at erase ".\Debug\dyn_load.obj"
-	- at erase ".\Debug\dyn_load.sbr"
-	- at erase ".\Debug\finalize.obj"
-	- at erase ".\Debug\finalize.sbr"
-	- at erase ".\Debug\gc_cpp.obj"
-	- at erase ".\Debug\gc_cpp.sbr"
-	- at erase ".\Debug\gc.bsc"
-	- at erase ".\Debug\gc.dll"
-	- at erase ".\Debug\gc.exp"
-	- at erase ".\Debug\gc.lib"
-	- at erase ".\Debug\gc.map"
-	- at erase ".\Debug\gc.pdb"
-	- at erase ".\Debug\headers.obj"
-	- at erase ".\Debug\headers.sbr"
-	- at erase ".\Debug\mach_dep.obj"
-	- at erase ".\Debug\mach_dep.sbr"
-	- at erase ".\Debug\malloc.obj"
-	- at erase ".\Debug\malloc.sbr"
-	- at erase ".\Debug\mallocx.obj"
-	- at erase ".\Debug\mallocx.sbr"
-	- at erase ".\Debug\mark.obj"
-	- at erase ".\Debug\mark.sbr"
-	- at erase ".\Debug\mark_rts.obj"
-	- at erase ".\Debug\mark_rts.sbr"
-	- at erase ".\Debug\misc.obj"
-	- at erase ".\Debug\misc.sbr"
-	- at erase ".\Debug\new_hblk.obj"
-	- at erase ".\Debug\new_hblk.sbr"
-	- at erase ".\Debug\obj_map.obj"
-	- at erase ".\Debug\obj_map.sbr"
-	- at erase ".\Debug\os_dep.obj"
-	- at erase ".\Debug\os_dep.sbr"
-	- at erase ".\Debug\ptr_chck.obj"
-	- at erase ".\Debug\ptr_chck.sbr"
-	- at erase ".\Debug\reclaim.obj"
-	- at erase ".\Debug\reclaim.sbr"
-	- at erase ".\Debug\stubborn.obj"
-	- at erase ".\Debug\stubborn.sbr"
-	- at erase ".\Debug\typd_mlc.obj"
-	- at erase ".\Debug\typd_mlc.sbr"
-	- at erase ".\Debug\vc40.idb"
-	- at erase ".\Debug\vc40.pdb"
-	- at erase ".\Debug\win32_threads.obj"
-	- at erase ".\Debug\win32_threads.sbr"
-	- at erase ".\Debug\msvc_dbg.obj"
-	- at erase ".\Debug\msvc_dbg.sbr"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I include /D "_DEBUG" /D "GC_BUILD" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "GC_WIN32_THREADS" /FR /YX /c
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I include /D "_DEBUG" /D "GC_BUILD"\
- /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" \
- /D "GC_ASSERTIONS" /D "__STDC__" /D\
- "GC_WIN32_THREADS" /FR"$(INTDIR)/" /Fp"$(INTDIR)/gc.pch" /YX /Fo"$(INTDIR)/"\
- /Ilibatomic_ops-$(AO_VERSION)/src /Fd"$(INTDIR)/" /c 
-CPP_OBJS=.\Debug/
-CPP_SBRS=.\Debug/
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.c{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /win32
-MTL_PROJ=/nologo /D "_DEBUG" /win32 
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "_DEBUG"
-# ADD RSC /l 0x809 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/gc.bsc" 
-BSC32_SBRS= \
-	".\Debug\allchblk.sbr" \
-	".\Debug\alloc.sbr" \
-	".\Debug\blacklst.sbr" \
-	".\Debug\checksums.sbr" \
-	".\Debug\dbg_mlc.sbr" \
-	".\Debug\dyn_load.sbr" \
-	".\Debug\finalize.sbr" \
-	".\Debug\gc_cpp.sbr" \
-	".\Debug\headers.sbr" \
-	".\Debug\mach_dep.sbr" \
-	".\Debug\malloc.sbr" \
-	".\Debug\mallocx.sbr" \
-	".\Debug\mark.sbr" \
-	".\Debug\mark_rts.sbr" \
-	".\Debug\misc.sbr" \
-	".\Debug\new_hblk.sbr" \
-	".\Debug\obj_map.sbr" \
-	".\Debug\os_dep.sbr" \
-	".\Debug\ptr_chck.sbr" \
-	".\Debug\reclaim.sbr" \
-	".\Debug\stubborn.sbr" \
-	".\Debug\typd_mlc.sbr" \
-	".\Debug\msvc_dbg.sbr" \
-	".\Debug\win32_threads.sbr"
-
-".\Debug\gc.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
-    $(BSC32) @<<
-  $(BSC32_FLAGS) $(BSC32_SBRS)
-<<
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\
- /pdb:"$(OUTDIR)/gc.pdb" /map:"$(INTDIR)/gc.map" /debug /machine:I386\
- /out:"$(OUTDIR)/gc.dll" /implib:"$(OUTDIR)/gc.lib" 
-LINK32_OBJS= \
-	".\Debug\allchblk.obj" \
-	".\Debug\alloc.obj" \
-	".\Debug\blacklst.obj" \
-	".\Debug\checksums.obj" \
-	".\Debug\dbg_mlc.obj" \
-	".\Debug\dyn_load.obj" \
-	".\Debug\finalize.obj" \
-	".\Debug\gc_cpp.obj" \
-	".\Debug\headers.obj" \
-	".\Debug\mach_dep.obj" \
-	".\Debug\malloc.obj" \
-	".\Debug\mallocx.obj" \
-	".\Debug\mark.obj" \
-	".\Debug\mark_rts.obj" \
-	".\Debug\misc.obj" \
-	".\Debug\new_hblk.obj" \
-	".\Debug\obj_map.obj" \
-	".\Debug\os_dep.obj" \
-	".\Debug\ptr_chck.obj" \
-	".\Debug\reclaim.obj" \
-	".\Debug\stubborn.obj" \
-	".\Debug\typd_mlc.obj" \
-	".\Debug\msvc_dbg.obj" \
-	".\Debug\win32_threads.obj"
-
-".\Debug\gc.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "gctest - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "gctest\Release"
-# PROP BASE Intermediate_Dir "gctest\Release"
-# PROP BASE Target_Dir "gctest"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "gctest\Release"
-# PROP Intermediate_Dir "gctest\Release"
-# PROP Target_Dir "gctest"
-OUTDIR=.\gctest\Release
-INTDIR=.\gctest\Release
-
-ALL : "gc - Win32 Release" ".\Release\gctest.exe"
-
-CLEAN : 
-	- at erase ".\gctest\Release\test.obj"
-	- at erase ".\Release\gctest.exe"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-test.c : tests\test.c
-	copy tests\test.c test.c
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I include /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "GC_WIN32_THREADS" /YX /c
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I include /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D\
- "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "GC_WIN32_THREADS"\
- /Ilibatomic_ops-$(AO_VERSION)/src /Fp"$(INTDIR)/gctest.pch" \
- /YX /Fo"$(INTDIR)/" /c 
-CPP_OBJS=.\gctest\Release/
-CPP_SBRS=.\.
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.c{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /win32
-MTL_PROJ=/nologo /D "NDEBUG" /win32 
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "NDEBUG"
-# ADD RSC /l 0x809 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/gctest.bsc" 
-BSC32_SBRS= \
-	
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"Release/gctest.exe"
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /incremental:no\
- /pdb:"$(OUTDIR)/gctest.pdb" /machine:I386 /out:"Release/gctest.exe" 
-LINK32_OBJS= \
-	".\gctest\Release\test.obj" \
-	".\Release\gc.lib"
-
-".\Release\gctest.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "gctest - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "gctest\Debug"
-# PROP BASE Intermediate_Dir "gctest\Debug"
-# PROP BASE Target_Dir "gctest"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "gctest\Debug"
-# PROP Intermediate_Dir "gctest\Debug"
-# PROP Target_Dir "gctest"
-OUTDIR=.\gctest\Debug
-INTDIR=.\gctest\Debug
-
-ALL : "gc - Win32 Debug" ".\Debug\gctest.exe" ".\gctest\Debug\gctest.bsc"
-
-CLEAN : 
-	- at erase ".\Debug\gctest.exe"
-	- at erase ".\gctest\Debug\gctest.bsc"
-	- at erase ".\gctest\Debug\gctest.map"
-	- at erase ".\gctest\Debug\gctest.pdb"
-	- at erase ".\gctest\Debug\test.obj"
-	- at erase ".\gctest\Debug\test.sbr"
-	- at erase ".\gctest\Debug\vc40.idb"
-	- at erase ".\gctest\Debug\vc40.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "GC_WIN32_THREADS" /FR /YX /c
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I include /D "_DEBUG" /D "WIN32" /D "_WINDOWS"\
- /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "GC_WIN32_THREADS" /FR"$(INTDIR)/"\
- /Ilibatomic_ops-$(AO_VERSION)/src /Fp"$(INTDIR)/gctest.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c 
-CPP_OBJS=.\gctest\Debug/
-CPP_SBRS=.\gctest\Debug/
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.c{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /win32
-MTL_PROJ=/nologo /D "_DEBUG" /win32 
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "_DEBUG"
-# ADD RSC /l 0x809 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/gctest.bsc" 
-BSC32_SBRS= \
-	".\gctest\Debug\test.sbr"
-
-".\gctest\Debug\gctest.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
-    $(BSC32) @<<
-  $(BSC32_FLAGS) $(BSC32_SBRS)
-<<
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:no /map /debug /machine:I386 /out:"Debug/gctest.exe"
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /incremental:no\
- /pdb:"$(OUTDIR)/gctest.pdb" /map:"$(INTDIR)/gctest.map" /debug /machine:I386\
- /out:"Debug/gctest.exe" 
-LINK32_OBJS= \
-	".\Debug\gc.lib" \
-	".\gctest\Debug\test.obj"
-
-".\Debug\gctest.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "cord\Release"
-# PROP BASE Intermediate_Dir "cord\Release"
-# PROP BASE Target_Dir "cord"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "cord\Release"
-# PROP Intermediate_Dir "cord\Release"
-# PROP Target_Dir "cord"
-OUTDIR=.\cord\Release
-INTDIR=.\cord\Release
-
-ALL : "gc - Win32 Release" ".\Release\de.exe"
-
-CLEAN : 
-	- at erase ".\cord\Release\cordbscs.obj"
-	- at erase ".\cord\Release\cordxtra.obj"
-	- at erase ".\cord\Release\de.obj"
-	- at erase ".\cord\Release\de_win.obj"
-	- at erase ".\cord\Release\de_win.res"
-	- at erase ".\Release\de.exe"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /YX /c
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "." /I include /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D\
- /Ilibatomic_ops-$(AO_VERSION)/src "ALL_INTERIOR_POINTERS" /Fp"$(INTDIR)/cord.pch" /YX /Fo"$(INTDIR)/" /c 
-CPP_OBJS=.\cord\Release/
-CPP_SBRS=.\.
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.c{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /win32
-MTL_PROJ=/nologo /D "NDEBUG" /win32 
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "NDEBUG"
-# ADD RSC /l 0x809 /d "NDEBUG"
-RSC_PROJ=/l 0x809 /fo"$(INTDIR)/de_win.res" /d "NDEBUG" 
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/cord.bsc" 
-BSC32_SBRS= \
-	
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"Release/de.exe"
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /incremental:no /pdb:"$(OUTDIR)/de.pdb"\
- /machine:I386 /out:"Release/de.exe" 
-LINK32_OBJS= \
-	".\cord\Release\cordbscs.obj" \
-	".\cord\Release\cordxtra.obj" \
-	".\cord\Release\de.obj" \
-	".\cord\Release\de_win.obj" \
-	".\cord\Release\de_win.res" \
-	".\Release\gc.lib"
-
-".\Release\de.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "cord\Debug"
-# PROP BASE Intermediate_Dir "cord\Debug"
-# PROP BASE Target_Dir "cord"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "cord\Debug"
-# PROP Intermediate_Dir "cord\Debug"
-# PROP Target_Dir "cord"
-OUTDIR=.\cord\Debug
-INTDIR=.\cord\Debug
-
-ALL : "gc - Win32 Debug" ".\Debug\de.exe"
-
-CLEAN : 
-	- at erase ".\cord\Debug\cordbscs.obj"
-	- at erase ".\cord\Debug\cordxtra.obj"
-	- at erase ".\cord\Debug\de.obj"
-	- at erase ".\cord\Debug\de.pdb"
-	- at erase ".\cord\Debug\de_win.obj"
-	- at erase ".\cord\Debug\de_win.res"
-	- at erase ".\cord\Debug\vc40.idb"
-	- at erase ".\cord\Debug\vc40.pdb"
-	- at erase ".\Debug\de.exe"
-	- at erase ".\Debug\de.ilk"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /YX /c
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I "." /I include /D "_DEBUG" /D "WIN32" /D\
- "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /Fp"$(INTDIR)/cord.pch" /YX\
- /Ilibatomic_ops-$(AO_VERSION)/src /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c 
-CPP_OBJS=.\cord\Debug/
-CPP_SBRS=.\.
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.c{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /win32
-MTL_PROJ=/nologo /D "_DEBUG" /win32 
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "_DEBUG"
-# ADD RSC /l 0x809 /d "_DEBUG"
-RSC_PROJ=/l 0x809 /fo"$(INTDIR)/de_win.res" /d "_DEBUG" 
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/cord.bsc" 
-BSC32_SBRS= \
-	
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /out:"Debug/de.exe"
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /incremental:yes\
- /pdb:"$(OUTDIR)/de.pdb" /debug /machine:I386 /out:"Debug/de.exe" 
-LINK32_OBJS= \
-	".\cord\Debug\cordbscs.obj" \
-	".\cord\Debug\cordxtra.obj" \
-	".\cord\Debug\de.obj" \
-	".\cord\Debug\de_win.obj" \
-	".\cord\Debug\de_win.res" \
-	".\Debug\gc.lib"
-
-".\Debug\de.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ENDIF 
-
-################################################################################
-# Begin Target
-
-# Name "gc - Win32 Release"
-# Name "gc - Win32 Debug"
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-!ENDIF 
-
-################################################################################
-# Begin Source File
-
-SOURCE=.\gc_cpp.cpp
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_RECLA=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	".\include\gc_cpp.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_RECLA=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\gc_cpp.obj" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-".\Release\gc_cpp.sbr" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_RECLA=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	".\include\gc_cpp.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_RECLA=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\gc_cpp.obj" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-".\Debug\gc_cpp.sbr" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\reclaim.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_RECLA=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_RECLA=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\reclaim.obj" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-".\Release\reclaim.sbr" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_RECLA=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_RECLA=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\reclaim.obj" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-".\Debug\reclaim.sbr" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-
-################################################################################
-# Begin Source File
-
-SOURCE=.\os_dep.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_OS_DE=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\STAT.H"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_OS_DE=\
-	".\il\PCR_IL.h"\
-	".\mm\PCR_MM.h"\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	".\vd\PCR_VD.h"\
-	
-
-".\Release\os_dep.obj" : $(SOURCE) $(DEP_CPP_OS_DE) "$(INTDIR)"
-
-".\Release\os_dep.sbr" : $(SOURCE) $(DEP_CPP_OS_DE) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_OS_DE=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\STAT.H"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_OS_DE=\
-	".\il\PCR_IL.h"\
-	".\mm\PCR_MM.h"\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	".\vd\PCR_VD.h"\
-	
-
-".\Debug\os_dep.obj" : $(SOURCE) $(DEP_CPP_OS_DE) "$(INTDIR)"
-
-".\Debug\os_dep.sbr" : $(SOURCE) $(DEP_CPP_OS_DE) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\misc.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MISC_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MISC_=\
-	".\il\PCR_IL.h"\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\misc.obj" : $(SOURCE) $(DEP_CPP_MISC_) "$(INTDIR)"
-
-".\Release\misc.sbr" : $(SOURCE) $(DEP_CPP_MISC_) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MISC_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MISC_=\
-	".\il\PCR_IL.h"\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\misc.obj" : $(SOURCE) $(DEP_CPP_MISC_) "$(INTDIR)"
-
-".\Debug\misc.sbr" : $(SOURCE) $(DEP_CPP_MISC_) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\mark_rts.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MARK_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MARK_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\mark_rts.obj" : $(SOURCE) $(DEP_CPP_MARK_) "$(INTDIR)"
-
-".\Release\mark_rts.sbr" : $(SOURCE) $(DEP_CPP_MARK_) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MARK_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MARK_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\mark_rts.obj" : $(SOURCE) $(DEP_CPP_MARK_) "$(INTDIR)"
-
-".\Debug\mark_rts.sbr" : $(SOURCE) $(DEP_CPP_MARK_) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\mach_dep.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MACH_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MACH_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\mach_dep.obj" : $(SOURCE) $(DEP_CPP_MACH_) "$(INTDIR)"
-
-".\Release\mach_dep.sbr" : $(SOURCE) $(DEP_CPP_MACH_) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MACH_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MACH_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\mach_dep.obj" : $(SOURCE) $(DEP_CPP_MACH_) "$(INTDIR)"
-
-".\Debug\mach_dep.sbr" : $(SOURCE) $(DEP_CPP_MACH_) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\headers.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_HEADE=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_HEADE=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\headers.obj" : $(SOURCE) $(DEP_CPP_HEADE) "$(INTDIR)"
-
-".\Release\headers.sbr" : $(SOURCE) $(DEP_CPP_HEADE) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_HEADE=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_HEADE=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\headers.obj" : $(SOURCE) $(DEP_CPP_HEADE) "$(INTDIR)"
-
-".\Debug\headers.sbr" : $(SOURCE) $(DEP_CPP_HEADE) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\alloc.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_ALLOC=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_ALLOC=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\alloc.obj" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)"
-
-".\Release\alloc.sbr" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_ALLOC=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_ALLOC=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\alloc.obj" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)"
-
-".\Debug\alloc.sbr" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\allchblk.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_ALLCH=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_ALLCH=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\allchblk.obj" : $(SOURCE) $(DEP_CPP_ALLCH) "$(INTDIR)"
-
-".\Release\allchblk.sbr" : $(SOURCE) $(DEP_CPP_ALLCH) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_ALLCH=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_ALLCH=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\allchblk.obj" : $(SOURCE) $(DEP_CPP_ALLCH) "$(INTDIR)"
-
-".\Debug\allchblk.sbr" : $(SOURCE) $(DEP_CPP_ALLCH) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\stubborn.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_STUBB=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_STUBB=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\stubborn.obj" : $(SOURCE) $(DEP_CPP_STUBB) "$(INTDIR)"
-
-".\Release\stubborn.sbr" : $(SOURCE) $(DEP_CPP_STUBB) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_STUBB=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_STUBB=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\stubborn.obj" : $(SOURCE) $(DEP_CPP_STUBB) "$(INTDIR)"
-
-".\Debug\stubborn.sbr" : $(SOURCE) $(DEP_CPP_STUBB) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\obj_map.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_OBJ_M=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_OBJ_M=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\obj_map.obj" : $(SOURCE) $(DEP_CPP_OBJ_M) "$(INTDIR)"
-
-".\Release\obj_map.sbr" : $(SOURCE) $(DEP_CPP_OBJ_M) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_OBJ_M=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_OBJ_M=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\obj_map.obj" : $(SOURCE) $(DEP_CPP_OBJ_M) "$(INTDIR)"
-
-".\Debug\obj_map.sbr" : $(SOURCE) $(DEP_CPP_OBJ_M) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\new_hblk.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_NEW_H=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_NEW_H=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\new_hblk.obj" : $(SOURCE) $(DEP_CPP_NEW_H) "$(INTDIR)"
-
-".\Release\new_hblk.sbr" : $(SOURCE) $(DEP_CPP_NEW_H) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_NEW_H=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_NEW_H=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\new_hblk.obj" : $(SOURCE) $(DEP_CPP_NEW_H) "$(INTDIR)"
-
-".\Debug\new_hblk.sbr" : $(SOURCE) $(DEP_CPP_NEW_H) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\mark.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MARK_C=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MARK_C=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\mark.obj" : $(SOURCE) $(DEP_CPP_MARK_C) "$(INTDIR)"
-
-".\Release\mark.sbr" : $(SOURCE) $(DEP_CPP_MARK_C) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MARK_C=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MARK_C=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\mark.obj" : $(SOURCE) $(DEP_CPP_MARK_C) "$(INTDIR)"
-
-".\Debug\mark.sbr" : $(SOURCE) $(DEP_CPP_MARK_C) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\malloc.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MALLO=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MALLO=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)"
-
-".\Release\malloc.sbr" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MALLO=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MALLO=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)"
-
-".\Debug\malloc.sbr" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\mallocx.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MALLX=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MALLX=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\mallocx.obj" : $(SOURCE) $(DEP_CPP_MALLX) "$(INTDIR)"
-
-".\Release\mallocx.sbr" : $(SOURCE) $(DEP_CPP_MALLX) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MALLX=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MALLX=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\mallocx.obj" : $(SOURCE) $(DEP_CPP_MALLX) "$(INTDIR)"
-
-".\Debug\mallocx.sbr" : $(SOURCE) $(DEP_CPP_MALLX) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\finalize.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_FINAL=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_FINAL=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\finalize.obj" : $(SOURCE) $(DEP_CPP_FINAL) "$(INTDIR)"
-
-".\Release\finalize.sbr" : $(SOURCE) $(DEP_CPP_FINAL) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_FINAL=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_FINAL=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\finalize.obj" : $(SOURCE) $(DEP_CPP_FINAL) "$(INTDIR)"
-
-".\Debug\finalize.sbr" : $(SOURCE) $(DEP_CPP_FINAL) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\dbg_mlc.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_DBG_M=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_DBG_M=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\dbg_mlc.obj" : $(SOURCE) $(DEP_CPP_DBG_M) "$(INTDIR)"
-
-".\Release\dbg_mlc.sbr" : $(SOURCE) $(DEP_CPP_DBG_M) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_DBG_M=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_DBG_M=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\dbg_mlc.obj" : $(SOURCE) $(DEP_CPP_DBG_M) "$(INTDIR)"
-
-".\Debug\dbg_mlc.sbr" : $(SOURCE) $(DEP_CPP_DBG_M) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\blacklst.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_BLACK=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_BLACK=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\blacklst.obj" : $(SOURCE) $(DEP_CPP_BLACK) "$(INTDIR)"
-
-".\Release\blacklst.sbr" : $(SOURCE) $(DEP_CPP_BLACK) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_BLACK=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_BLACK=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\blacklst.obj" : $(SOURCE) $(DEP_CPP_BLACK) "$(INTDIR)"
-
-".\Debug\blacklst.sbr" : $(SOURCE) $(DEP_CPP_BLACK) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\typd_mlc.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_TYPD_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	".\include\gc_typed.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_TYPD_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\typd_mlc.obj" : $(SOURCE) $(DEP_CPP_TYPD_) "$(INTDIR)"
-
-".\Release\typd_mlc.sbr" : $(SOURCE) $(DEP_CPP_TYPD_) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_TYPD_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	".\include\gc_typed.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_TYPD_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\typd_mlc.obj" : $(SOURCE) $(DEP_CPP_TYPD_) "$(INTDIR)"
-
-".\Debug\typd_mlc.sbr" : $(SOURCE) $(DEP_CPP_TYPD_) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\ptr_chck.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_PTR_C=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_PTR_C=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\ptr_chck.obj" : $(SOURCE) $(DEP_CPP_PTR_C) "$(INTDIR)"
-
-".\Release\ptr_chck.sbr" : $(SOURCE) $(DEP_CPP_PTR_C) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_PTR_C=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_PTR_C=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\ptr_chck.obj" : $(SOURCE) $(DEP_CPP_PTR_C) "$(INTDIR)"
-
-".\Debug\ptr_chck.sbr" : $(SOURCE) $(DEP_CPP_PTR_C) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\dyn_load.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_DYN_L=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\STAT.H"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_DYN_L=\
-	".\il\PCR_IL.h"\
-	".\mm\PCR_MM.h"\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\dyn_load.obj" : $(SOURCE) $(DEP_CPP_DYN_L) "$(INTDIR)"
-
-".\Release\dyn_load.sbr" : $(SOURCE) $(DEP_CPP_DYN_L) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_DYN_L=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\STAT.H"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_DYN_L=\
-	".\il\PCR_IL.h"\
-	".\mm\PCR_MM.h"\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\dyn_load.obj" : $(SOURCE) $(DEP_CPP_DYN_L) "$(INTDIR)"
-
-".\Debug\dyn_load.sbr" : $(SOURCE) $(DEP_CPP_DYN_L) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\win32_threads.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_WIN32=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_WIN32=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\win32_threads.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-".\Release\win32_threads.sbr" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_WIN32=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_WIN32=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\win32_threads.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-".\Debug\win32_threads.sbr" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\msvc_dbg.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_WIN32=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	".\include\private\msvc_dbg.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_WIN32=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\msvc_dbg.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-".\Release\msvc_dbg.sbr" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_WIN32=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	".\include\private\msvc_dbg.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_WIN32=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\msvc_dbg.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-".\Debug\msvc_dbg.sbr" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\checksums.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_CHECK=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_CHECK=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\checksums.obj" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
-
-".\Release\checksums.sbr" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_CHECK=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_CHECK=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\checksums.obj" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
-
-".\Debug\checksums.sbr" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-# End Target
-################################################################################
-# Begin Target
-
-# Name "gctest - Win32 Release"
-# Name "gctest - Win32 Debug"
-
-!IF  "$(CFG)" == "gctest - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "gctest - Win32 Debug"
-
-!ENDIF 
-
-################################################################################
-# Begin Project Dependency
-
-# Project_Dep_Name "gc"
-
-!IF  "$(CFG)" == "gctest - Win32 Release"
-
-"gc - Win32 Release" : 
-   $(MAKE) /$(MAKEFLAGS) /F ".\gc.mak" CFG="gc - Win32 Release" 
-
-!ELSEIF  "$(CFG)" == "gctest - Win32 Debug"
-
-"gc - Win32 Debug" : 
-   $(MAKE) /$(MAKEFLAGS) /F ".\gc.mak" CFG="gc - Win32 Debug" 
-
-!ENDIF 
-
-# End Project Dependency
-################################################################################
-# Begin Source File
-
-SOURCE=.\tests\test.c
-DEP_CPP_TEST_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	".\include\gc_typed.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_TEST_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-!IF  "$(CFG)" == "gctest - Win32 Release"
-
-
-".\gctest\Release\test.obj" : $(SOURCE) $(DEP_CPP_TEST_) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gctest - Win32 Debug"
-
-
-".\gctest\Debug\test.obj" : $(SOURCE) $(DEP_CPP_TEST_) "$(INTDIR)"
-
-".\gctest\Debug\test.sbr" : $(SOURCE) $(DEP_CPP_TEST_) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-# End Target
-################################################################################
-# Begin Target
-
-# Name "cord - Win32 Release"
-# Name "cord - Win32 Debug"
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-!ENDIF 
-
-################################################################################
-# Begin Project Dependency
-
-# Project_Dep_Name "gc"
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-"gc - Win32 Release" : 
-   $(MAKE) /$(MAKEFLAGS) /F ".\gc.mak" CFG="gc - Win32 Release" 
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-"gc - Win32 Debug" : 
-   $(MAKE) /$(MAKEFLAGS) /F ".\gc.mak" CFG="gc - Win32 Debug" 
-
-!ENDIF 
-
-# End Project Dependency
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\de_win.c
-DEP_CPP_DE_WI=\
-	".\include\cord.h"\
-	".\cord\de_cmds.h"\
-	".\cord\de_win.h"\
-	".\include\private\cord_pos.h"\
-	
-NODEP_CPP_DE_WI=\
-	".\include\gc.h"\
-	
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\de_win.obj" : $(SOURCE) $(DEP_CPP_DE_WI) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\de_win.obj" : $(SOURCE) $(DEP_CPP_DE_WI) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\de.c
-DEP_CPP_DE_C2e=\
-	".\include\cord.h"\
-	".\cord\de_cmds.h"\
-	".\cord\de_win.h"\
-	".\include\private\cord_pos.h"\
-	
-NODEP_CPP_DE_C2e=\
-	".\include\gc.h"\
-	
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\de.obj" : $(SOURCE) $(DEP_CPP_DE_C2e) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\de.obj" : $(SOURCE) $(DEP_CPP_DE_C2e) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\cordxtra.c
-DEP_CPP_CORDX=\
-	".\include\cord.h"\
-	".\include\ec.h"\
-	".\include\private\cord_pos.h"\
-	
-NODEP_CPP_CORDX=\
-	".\include\gc.h"\
-	
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\cordxtra.obj" : $(SOURCE) $(DEP_CPP_CORDX) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\cordxtra.obj" : $(SOURCE) $(DEP_CPP_CORDX) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\cordbscs.c
-DEP_CPP_CORDB=\
-	".\include\cord.h"\
-	".\include\private\cord_pos.h"\
-	
-NODEP_CPP_CORDB=\
-	".\include\gc.h"\
-	
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\cordbscs.obj" : $(SOURCE) $(DEP_CPP_CORDB) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\cordbscs.obj" : $(SOURCE) $(DEP_CPP_CORDB) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\de_win.RC
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\de_win.res" : $(SOURCE) "$(INTDIR)"
-   $(RSC) /l 0x809 /fo"$(INTDIR)/de_win.res" /i "cord" /d "NDEBUG" $(SOURCE)
-
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\de_win.res" : $(SOURCE) "$(INTDIR)"
-   $(RSC) /l 0x809 /fo"$(INTDIR)/de_win.res" /i "cord" /d "_DEBUG" $(SOURCE)
-
-
-!ENDIF 
-
-# End Source File
-# End Target
-# End Project
-################################################################################
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/NT_X64_STATIC_THREADS_MAKEFILE b/SRC/Boost/tools/build/v2/engine/boehm_gc/NT_X64_STATIC_THREADS_MAKEFILE
deleted file mode 100755
index c9f67c4..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/NT_X64_STATIC_THREADS_MAKEFILE
+++ /dev/null
@@ -1,74 +0,0 @@
-# Makefile for Windows NT.  Assumes Microsoft compiler.
-# DLLs are included in the root set under NT, but not under win32S.
-# Use "nmake nodebug=1 all" for optimized versions of library, gctest and editor.
-
-MY_CPU=AMD64
-CPU=$(MY_CPU)
-!include <ntwin32.mak>
-
-# Make sure that .cc is not viewed as a suffix.  It is for VC++2005, but
-# not earlier versions.  We can deal with either, but not inconsistency.
-.SUFFIXES:
-.SUFFIXES: .obj .cpp .c
-
-# Atomic_ops installation directory.  For win32, the source directory
-# should do, since we only need the headers.
-# We assume this was manually unpacked, since I'm not sure there is
-# a Windows standard command line tool to do this.
-AO_VERSION=1.2
-AO_SRC_DIR=libatomic_ops-$(AO_VERSION)/src
-AO_INCLUDE_DIR=$(AO_SRC_DIR)
-
-OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj obj_map.obj blacklst.obj finalize.obj new_hblk.obj dbg_mlc.obj malloc.obj stubborn.obj dyn_load.obj typd_mlc.obj ptr_chck.obj gc_cpp.obj mallocx.obj win32_threads.obj msvc_dbg.obj thread_local_alloc.obj
-
-all: gctest.exe cord\de.exe test_cpp.exe
-
-.c.obj:
-	$(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -D__STDC__ -DGC_NOT_DLL -DGC_WIN32_THREADS -DTHREAD_LOCAL_ALLOC $*.c /Fo$*.obj /wd4701 -D_CRT_SECURE_NO_DEPRECATE
-# Disable "may not be initialized" warnings.  They're too approximate.
-# Disable crt security warnings, since unfortunately they warn about all sorts
-# of safe uses of strncpy.  It would be nice to leave the rest enabled.
-
-.cpp.obj:
-	$(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL $*.CPP -DGC_WIN32_THREADS -DTHREAD_LOCAL_ALLOC /Fo$*.obj -D_CRT_SECURE_NO_DEPRECATE
-
-$(OBJS) tests\test.obj: include\private\gc_priv.h include\private\gc_hdrs.h include\gc.h include\private\gcconfig.h include\private\gc_locks.h include\private\gc_pmark.h include\gc_mark.h include\private\msvc_dbg.h
-
-gc.lib: $(OBJS)
-	lib /MACHINE:X64 /out:gc.lib $(OBJS)
-
-gctest.exe: tests\test.obj gc.lib
-#  This produces a "GUI" applications that opens no windows and writes to the log file
-#  "gc.log".  This was done to make the result runnable under win32s and
-#  should be fixed.
-	$(link) $(ldebug) $(guiflags) -stack:131072 -out:$*.exe tests\test.obj $(guilibs) gc.lib
-
-cord\de_win.rbj: cord\de_win.res
-	cvtres /MACHINE:$(MY_CPU) /OUT:cord\de_win.rbj cord\de_win.res
-
-cord\de.obj cord\de_win.obj: include\cord.h include\private\cord_pos.h cord\de_win.h cord\de_cmds.h
-
-cord\de_win.res: cord\de_win.rc cord\de_win.h cord\de_cmds.h
-	$(rc) $(rcvars) -r -fo cord\de_win.res cord\de_win.rc
-
-# Cord/de is a real win32 gui application.
-cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib
-	$(link) $(ldebug) $(guiflags) -stack:16384 -out:cord\de.exe  cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib $(guilibs)
-
-gc_cpp.obj: include\gc_cpp.h include\gc.h
-
-gc_cpp.cpp: gc_cpp.cc
-	copy gc_cpp.cc gc_cpp.cpp
-
-test_cpp.cpp: tests\test_cpp.cc
-	copy tests\test_cpp.cc test_cpp.cpp
-
-# This generates the C++ test executable.  The executable expects
-# a single numeric argument, which is the number of iterations.
-# The output appears in the file "gc.log".
-test_cpp.exe: test_cpp.obj include\gc_cpp.h include\gc.h gc.lib
-	$(link) $(ldebug) $(guiflags) -stack:16384 -out:test_cpp.exe test_cpp.obj gc.lib $(guilibs)
-
-AO_SCR_DIR:
-	        tar xvfz $(AO_SRC_DIR).tar.gz;
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/OS2_MAKEFILE b/SRC/Boost/tools/build/v2/engine/boehm_gc/OS2_MAKEFILE
deleted file mode 100755
index cb2bb98..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/OS2_MAKEFILE
+++ /dev/null
@@ -1,45 +0,0 @@
-# Makefile for OS/2.  Assumes IBM's compiler, static linking, and a single thread.
-# Adding dynamic linking support seems easy, but takes a little bit of work.
-# Adding thread support may be nontrivial, since we haven't yet figured out how to
-# look at another thread's registers.
-
-# Significantly revised for GC version 4.4 by Mark Boulter (Jan 1994).
-
-OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj obj_map.obj blacklst.obj finalize.obj new_hblk.obj dbg_mlc.obj malloc.obj stubborn.obj typd_mlc.obj ptr_chck.obj mallocx.obj
-
-CORDOBJS= cord\cordbscs.obj cord\cordxtra.obj cord\cordprnt.obj
-
-CC= icc
-CFLAGS= /O /Q /DSMALL_CONFIG /DALL_INTERIOR_POINTERS
-# Use /Ti instead of /O for debugging
-# Setjmp_test may yield overly optimistic results when compiled
-# without optimization.
-
-all: $(OBJS) gctest.exe cord\cordtest.exe
-
-$(OBJS) test.obj: include\private\gc_priv.h include\private\gc_hdrs.h include\gc.h include\private\gcconfig.h
-
-## ERASE THE LIB FIRST - if it is already there then this command will fail
-## (make sure its there or erase will fail!)
-gc.lib: $(OBJS)
-        echo . > gc.lib
-        erase gc.lib
-        LIB gc.lib $(OBJS), gc.lst
-
-mach_dep.obj: mach_dep.c
-        $(CC) $(CFLAGS) /C mach_dep.c
-
-gctest.exe: test.obj gc.lib
-        $(CC) $(CFLAGS) /B"/STACK:524288" /Fegctest test.obj gc.lib
-
-cord\cordbscs.obj: cord\cordbscs.c include\cord.h include\private\cord_pos.h
-        $(CC) $(CFLAGS) /C /Focord\cordbscs cord\cordbscs.c
-
-cord\cordxtra.obj: cord\cordxtra.c include\cord.h include\private\cord_pos.h include\ec.h
-        $(CC) $(CFLAGS) /C /Focord\cordxtra cord\cordxtra.c
-
-cord\cordprnt.obj: cord\cordprnt.c include\cord.h include\private\cord_pos.h include\ec.h
-        $(CC) $(CFLAGS) /C /Focord\cordprnt cord\cordprnt.c
-
-cord\cordtest.exe: cord\cordtest.c include\cord.h include\private\cord_pos.h include\ec.h $(CORDOBJS) gc.lib
-        $(CC) $(CFLAGS) /B"/STACK:65536" /Fecord\cordtest cord\cordtest.c gc.lib $(CORDOBJS)
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/PCR-Makefile b/SRC/Boost/tools/build/v2/engine/boehm_gc/PCR-Makefile
deleted file mode 100755
index b6cd4c1..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/PCR-Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# Default target
-#
-
-default: gc.o
-
-include ../config/common.mk
-
-#
-# compilation flags, etc.
-#
-
-
-CPPFLAGS = $(INCLUDE) $(CONFIG_CPPFLAGS) \
-	-DPCR_NO_RENAME -DPCR_NO_HOSTDEP_ERR
-#CFLAGS	= -DPCR $(CONFIG_CFLAGS)
-CFLAGS	= -DPCR $(CONFIG_CFLAGS)
-SPECIALCFLAGS = 	# For code involving asm's
-
-ASPPFLAGS  = $(INCLUDE) $(CONFIG_ASPPFLAGS) \
-	-DPCR_NO_RENAME -DPCR_NO_HOSTDEP_ERR -DASM
-
-ASFLAGS	= $(CONFIG_ASFLAGS)
-
-LDRFLAGS = $(CONFIG_LDRFLAGS)
-
-LDFLAGS = $(CONFIG_LDFLAGS)
-
-#
-#
-#
-#
-# BEGIN PACKAGE-SPECIFIC PART
-#
-#
-#
-#
-
-# Fix to point to local pcr installation directory.
-PCRDIR= ..
-
-COBJ= alloc.o reclaim.o allchblk.o misc.o os_dep.o mark_rts.o headers.o mark.o obj_map.o pcr_interface.o blacklst.o finalize.o new_hblk.o real_malloc.o dyn_load.o dbg_mlc.o malloc.o stubborn.o checksums.o solaris_threads.o typd_mlc.o ptr_chck.o mallocx.o
-
-CSRC= reclaim.c allchblk.c misc.c alloc.c mach_dep.c os_dep.c mark_rts.c headers.c mark.c obj_map.c pcr_interface.c blacklst.c finalize.c new_hblk.c real_malloc.c dyn_load.c dbg_mlc.c malloc.c stubborn.c checksums.c solaris_threads.c typd_mlc.c ptr_chck.c mallocx.c
-
-SHELL= /bin/sh
-
-default: gc.o
-
-gc.o: $(COBJ) mach_dep.o
-	$(LDR) $(CONFIG_LDRFLAGS) -o gc.o $(COBJ) mach_dep.o
-
-
-mach_dep.o: mach_dep.c mips_mach_dep.s rs6000_mach_dep.s if_mach if_not_there
-	rm -f mach_dep.o
-	./if_mach MIPS "" as -o mach_dep.o mips_mach_dep.s
-	./if_mach POWERPC AIX as -o mach_dep.o rs6000_mach_dep.s
-	./if_mach ALPHA "" as -o mach_dep.o alpha_mach_dep.s
-	./if_mach SPARC SOLARIS as -o mach_dep.o sparc_mach_dep.s
-	./if_not_there mach_dep.o $(CC) -c $(SPECIALCFLAGS) mach_dep.c
-
-if_mach: if_mach.c gcconfig.h
-	$(CC) $(CFLAGS) -o if_mach if_mach.c
-
-if_not_there: if_not_there.c
-	$(CC) $(CFLAGS) -o if_not_there if_not_there.c
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/README.QUICK b/SRC/Boost/tools/build/v2/engine/boehm_gc/README.QUICK
deleted file mode 100755
index da29d69..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/README.QUICK
+++ /dev/null
@@ -1,88 +0,0 @@
-Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
-Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
-Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
-Copyright (c) 1999-2001 by Hewlett-Packard. All rights reserved.
-
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-Permission is hereby granted to use or copy this program
-for any purpose,  provided the above notices are retained on all copies.
-Permission to modify the code and to distribute modified code is granted,
-provided the above notices are retained, and a notice that the code was
-modified is included with the above copyright notice.
-
-A few files have other copyright holders. A few of the files needed
-to use the GNU-style build procedure come with a modified GPL license
-that appears not to significantly restrict use of the collector, though
-use of those files for a purpose other than building the collector may
-require the resulting code to be covered by the GPL.
-
-For more details and the names of other contributors, see the
-doc/README* files and include/gc.h.  This file describes typical use of
-the collector on a machine that is already supported.
-
-For the version number, see doc/README or version.h.
-
-INSTALLATION:
-Under UN*X, Linux:
-Alternative 1 (the old way): type "make test" in this directory.
-	Link against gc.a.  With the most recent GC distributions
-	you may have to copy Makefile.direct to Makefile first.
-
-Alternative 2 (the new way): type
-	"./configure --prefix=<dir>; make; make check; make install".
-	Link against <dir>/lib/libgc.a or <dir>/lib/libgc.so.
-	See README.autoconf for details
-
-Under Windows 95, 98, Me, NT, or 2000:
-copy the appropriate makefile to MAKEFILE, read it, and type "nmake test".
-(Under Windows, this assumes you have Microsoft command-line tools
-installed, and suitably configured.)
-Read the machine specific README in the doc directory if one exists.
-
-If you need thread support, you will need to follow the special
-platform-dependent instructions (win32), or define GC_THREADS
-as described in Makefile (Makefile.direct), or possibly use
---enable-threads=posix when running the configure script.
-
-If you wish to use the cord (structured string) library with the stand-alone
-Makefile.direct, type "make cords", after copying to "Makefile".
-(This requires an ANSI C compiler.  You may
-need to redefine CC in the Makefile. The CORD_printf implementation in
-cordprnt.c is known to be less than perfectly portable.  The rest of the
-package should still work.)
-
-If you wish to use the collector from C++, type "make c++", or use
---enable-cplusplus with the configure script.   With Makefile.direct,
-hese add further files to gc.a and to the include subdirectory.  With the
-alternat build process,this generates libgccpp.
-See cord/cord.h and include/gc_cpp.h.
-
-TYPICAL USE:
-Include "gc.h" from the include subdirectory.  Link against the
-appropriate library ("gc.a" under UN*X).  Replace calls to malloc
-by calls to GC_MALLOC, and calls to realloc by calls to GC_REALLOC.
-If the object is known to never contain pointers, use GC_MALLOC_ATOMIC
-instead of GC_MALLOC.
-
-Define GC_DEBUG before including gc.h for additional checking.
-
-More documentation on the collector interface can be found at
-http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html,
-in doc/README and other files in the doc directory, and in include/gc.h .
-
-WARNINGS:
-
-Do not store the only pointer to an object in memory allocated
-with system malloc, since the collector usually does not scan
-memory allocated in this way.
-
-Use with threads may be supported on your system, but requires the
-collector to be built with thread support.  See Makefile.  The collector
-does not guarantee to scan thread-local storage (e.g. of the kind
-accessed with pthread_getspecific()).  The collector does scan
-thread stacks though, so generally the best solution is to ensure that
-any pointers stored in thread-local storage are also stored on the
-thread's stack for the duration of their lifetime.
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/SMakefile.amiga b/SRC/Boost/tools/build/v2/engine/boehm_gc/SMakefile.amiga
deleted file mode 100755
index 2d2912d..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/SMakefile.amiga
+++ /dev/null
@@ -1,177 +0,0 @@
-
-# Rewritten smakefile for amiga / sas/c. -Kjetil M.
-# Dont use the cord-package if you define parm=both or parm=reg.
-
-
-#----------------TOOLS--------------------------------
-CC=sc
-LINKER=slink
-LIBER=oml
-
-#----------------CPU OPTIONS--------------------------
-
-CPU=68060
-
-#----------------FPU OPTIONS--------------------------
-
-MATH=8
-MATHLIB=LIB:scm881.lib
-
-#----------------COMPILER OPTIONS---------------------
-
-IGNORE= IGNORE=85 IGNORE=154 IGNORE=161 IGNORE=100 
-
-OPTIMIZE=optimize optimizetime optglobal optimizerdepth=100 optimizerpeephole optloop OPTSCHED optimizerinlocal optimizerrecurdepth=100
-# optimizerinline optimizercomplexity=100
-
-OPT= $(OPTIMIZE) CPU=$(CPU) math=$(MATH) NOSTACKCHECK VERBOSE \
-MAPHUNK NOVERSION NOICONS nodebug \
-parm=reg \
-DEFINE __USE_SYSBASE
-
-
-SOPT= $(OPT) $(IGNORE) \
-DEFINE AMIGA_SKIP_SEG \
-DEFINE ATOMIC_UNCOLLECTABLE \
-DEFINE GC_AMIGA_FASTALLOC \
-DEFINE GC_AMIGA_RETRY \
-DEFINE GC_AMIGA_PRINTSTATS \
-DEFINE GC_AMIGA_GC
-
-
-#DEFINE ALL_INTERIOR_POINTERS \
-
-
-SCOPT= $(SOPT) define GC_AMIGA_MAKINGLIB
-
-CSCOPT= $(OPT) DEFINE AMIGA IGNORE=100 IGNORE=161 
-
-#------------------LINKING----------------------------
-
-
-all: gctest setjmp_t cord/cordtest
-
-clean:
-   delete *.lib gctest setjmp_t *.o *.lnk cord/*.o cord/*.lib cord/*.lnk cord/cordtest
-	smake
-
-test: setjmp_t gctest cord/cordtest
-   setjmp_t
-   gctest
-   cord/cordtest
-
-gctest: gc$(CPU).lib GCAmigaOS$(CPU).lib test.o
-   $(LINKER) LIB:c.o test.o TO gctest LIB gc$(CPU).lib LIB:sc.lib $(MATHLIB)
-
-setjmp_t: setjmp_t.o gc.h
-   $(LINKER) LIB:c.o setjmp_t.o to setjmp_t lib LIB:sc.lib
-
-cord/cordtest: cord/cordtest.o cord/cord$(CPU).lib gc$(CPU).lib
-	slink LIB:c.o cord/cordtest.o LIB $(MATHLIB) gc$(CPU).lib cord/cord$(CPU).lib LIB:sc.lib TO cord/cordtest
-
-
-#------------------LIBBING----------------------------
-
-OBJS= alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o real_malloc.o dyn_load.o dbg_mlc.o malloc.o stubborn.o checksums.o typd_mlc.o ptr_chck.o mallocx.o
-
-gc$(CPU).lib: $(OBJS)
-   $(LIBER) gc$(CPU).lib r $(OBJS)
-
-
-COBJS = cord/cordbscs.o cord/cordprnt.o cord/cordxtra.o
-
-cord/cord$(CPU).lib: $(COBJS)
-	oml cord/cord$(CPU).lib r $(COBJS)
-
-#------------------COMPILING--------------------------
-
-INC=  gc_private.h gc_hdrs.h gc.h gcconfig.h
-
-alloc.o : alloc.c $(INC)
-	$(CC) alloc.c $(SCOPT) ignore=7
-
-reclaim.o : reclaim.c $(INC)
-	$(CC) reclaim.c $(SCOPT)
-
-allchblk.o : allchblk.c $(INC)
-	$(CC) allchblk.c $(SCOPT)
-
-misc.o : misc.c $(INC)
-	$(CC) misc.c $(SCOPT)
-
-os_dep.o : os_dep.c $(INC) AmigaOS.c
-	$(CC) os_dep.c $(SCOPT)
-
-mark_rts.o : mark_rts.c $(INC)
-	$(CC) mark_rts.c $(SCOPT)
-
-headers.o : headers.c $(INC)
-	$(CC) headers.c $(SCOPT)
-
-mark.o : mark.c $(INC)
-	$(CC) mark.c $(SCOPT)
-
-obj_map.o : obj_map.c $(INC)
-	$(CC) obj_map.c $(SCOPT)
-
-blacklst.o : blacklst.c $(INC)
-	$(CC) blacklst.c $(SCOPT)
-
-finalize.o : finalize.c $(INC)
-	$(CC) finalize.c $(SCOPT) noopt	#Could sas/c still have problems with this one? Gctest sometimes fails to finalize all.
-
-new_hblk.o : new_hblk.c $(INC)
-	$(CC) new_hblk.c $(SCOPT)
-
-real_malloc.o : real_malloc.c $(INC)
-	$(CC) real_malloc.c $(SCOPT)
-
-dyn_load.o : dyn_load.c $(INC)
-	$(CC) dyn_load.c $(SCOPT)
-
-dbg_mlc.o : dbg_mlc.c $(INC)
-	$(CC) dbg_mlc.c $(SCOPT)
-
-malloc.o : malloc.c $(INC)
-	$(CC) malloc.c $(SCOPT)
-
-mallocx.o : mallocx.c $(INC)
-	$(CC) mallocx.c $(SCOPT)
-
-stubborn.o : stubborn.c $(INC)
-	$(CC) stubborn.c $(SCOPT)
-
-checksums.o : checksums.c $(INC)
-	$(CC) checksums.c $(SCOPT)
-
-typd_mlc.o: typd_mlc.c $(INC)
-	$(CC) typd_mlc.c $(SCOPT)
-
-mach_dep.o : mach_dep.c $(INC)
-	$(CC) mach_dep.c $(SCOPT)
-
-ptr_chck.o: ptr_chck.c $(INC)
-	$(CC) ptr_chck.c $(SCOPT)
-
-test.o : test.c $(INC)
-	$(CC) test.c $(SOPT)
-
-setjmp_t: setjmp_t.c gc.h
-   $(CC) setjmp_t.c $(SOPT)
-
-
-# cords:
-
-cord/cordbscs.o: cord/cordbscs.c
-	sc cord/cordbscs.c $(CSCOPT)
-
-cord/cordprnt.o: cord/cordprnt.c
-	sc cord/cordprnt.c $(CSCOPT)
-
-cord/cordxtra.o: cord/cordxtra.c
-	sc cord/cordxtra.c $(CSCOPT)
-
-cord/cordtest.o: cord/cordtest.c
-	sc cord/cordtest.c $(CSCOPT)
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/WCC_MAKEFILE b/SRC/Boost/tools/build/v2/engine/boehm_gc/WCC_MAKEFILE
deleted file mode 100755
index 4c1e063..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/WCC_MAKEFILE
+++ /dev/null
@@ -1,196 +0,0 @@
-# Makefile for Watcom C/C++ 10.5, 10.6, 11.0 on NT, OS2 and DOS4GW.
-# May work with Watcom 10.0.
-
-# Uncoment one of the lines below for cross compilation.
-SYSTEM=MSWIN32
-#SYSTEM=DOS4GW
-#SYSTEM=OS2
-
-# The collector can be built either as dynamic or as static library.
-# Select the library type you need.
-#MAKE_AS_DLL=1
-MAKE_AS_LIB=1
-
-# Select calling conventions.
-# Possible choices are r and s.
-CALLING=s
-
-# Select target CPU.
-# Possible choices are 3, 4, 5, and 6.
-# The last choice available only since version 11.0.
-CPU=5
-
-# Set optimization options.
-# Watcom before 11.0 does not support option "-oh".
-OPTIM=-oneatx -s
-#OPTIM=-ohneatx -s
-
-DEFS=-DALL_INTERIOR_POINTERS #-DSMALL_CONFIG #-DGC_DEBUG
-
-
-#####
-
-!ifndef SYSTEM
-!ifdef __MSDOS__
-SYSTEM=DOS4GW
-!else ifdef __NT__
-SYSTEM=MSWIN32
-!else ifdef __OS2__
-SYSTEM=OS2
-!else
-SYSTEM=Unknown
-!endif
-!endif
-
-!define $(SYSTEM)
-
-!ifdef DOS4GW
-SYSFLAG=-DDOS4GW -bt=dos
-!else ifdef MSWIN32
-SYSFLAG=-DMSWIN32 -bt=nt
-!else ifdef OS2
-SYSFLAG=-DOS2 -bt=os2
-!else
-!error undefined or unsupported target platform: $(SYSTEM)
-!endif
-!ifdef MAKE_AS_DLL
-DLLFLAG=-bd -DGC_DLL
-TEST_DLLFLAG=-DGC_DLL
-!else ifdef MAKE_AS_LIB
-DLLFLAG=
-TEST_DLLFLAG=
-!else
-!error Either MAKE_AS_LIB or MAKE_AS_DLL should be defined
-!endif
-
-CC=wcc386
-CXX=wpp386
-
-# -DUSE_GENERIC is required !
-CFLAGS=-$(CPU)$(CALLING) $(OPTIM) -zp4 -zc $(SYSFLAG) $(DLLFLAG) -DGC_BUILD -DUSE_GENERIC $(DEFS)
-CXXFLAGS= $(CFLAGS)
-TEST_CFLAGS=-$(CPU)$(CALLING) $(OPTIM) -zp4 -zc $(SYSFLAG) $(TEST_DLLFLAG) $(DEFS)
-TEST_CXXFLAGS= $(TEST_CFLAGS)
-
-OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj &
-      mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj &
-      obj_map.obj blacklst.obj finalize.obj new_hblk.obj &
-      dbg_mlc.obj malloc.obj stubborn.obj dyn_load.obj &
-      typd_mlc.obj ptr_chck.obj mallocx.obj
-
-all: gc.lib gctest.exe test_cpp.exe
-
-!ifdef MAKE_AS_DLL
-
-gc.lib: gc.dll gc_cpp.obj
-        *wlib -b -c -n -p=512 $@ +gc.dll +gc_cpp.obj
-
-gc.dll: $(OBJS) .AUTODEPEND
-        @%create $*.lnk
-!ifdef DOS4GW
-        @%append $*.lnk sys os2v2_dll
-!else ifdef MSWIN32
-        @%append $*.lnk sys nt_dll
-!else ifdef OS2
-        @%append $*.lnk sys os2v2_dll
-!endif
-        @%append $*.lnk name $*
-        @for %i in ($(OBJS)) do @%append $*.lnk file '%i'
-!ifeq CALLING s
-      @%append $*.lnk export GC_is_marked
-      @%append $*.lnk export GC_incr_bytes_allocd
-      @%append $*.lnk export GC_incr_bytes_freed
-      @%append $*.lnk export GC_generic_malloc_words_small
-!else
-      @%append $*.lnk export GC_is_marked_
-      @%append $*.lnk export GC_incr_bytes_allocd_
-      @%append $*.lnk export GC_incr_bytes_freed_
-      @%append $*.lnk export GC_generic_malloc_words_small_
-!endif
-        *wlink @$*.lnk
-!else
-gc.lib: $(OBJS) gc_cpp.obj
-        @%create $*.lb1
-        @for %i in ($(OBJS)) do @%append $*.lb1 +'%i'
-      @%append $*.lb1 +'gc_cpp.obj'
-        *wlib -b -c -n -p=512 $@ @$*.lb1
-
-!endif
-
-
-gctest.exe: test.obj gc.lib
-        %create $*.lnk
-!ifdef DOS4GW
-        @%append $*.lnk sys dos4g
-!else ifdef MSWIN32
-        @%append $*.lnk sys nt
-!else ifdef OS2
-        @%append $*.lnk sys os2v2
-!endif
-        @%append $*.lnk op case
-        @%append $*.lnk op stack=256K
-        @%append $*.lnk name $*
-        @%append $*.lnk file test.obj
-        @%append $*.lnk library gc.lib
-!ifdef MAKE_AS_DLL
-!ifeq CALLING s
-      @%append $*.lnk import GC_is_marked gc
-!else
-      @%append $*.lnk import GC_is_marked_ gc
-!endif
-!endif
-        *wlink @$*.lnk
-test_cpp.exe: test_cpp.obj gc.lib
-        %create $*.lnk
-!ifdef DOS4GW
-        @%append $*.lnk sys dos4g
-!else ifdef MSWIN32
-        @%append $*.lnk sys nt
-!else ifdef OS2
-        @%append $*.lnk sys os2v2
-!endif
-        @%append $*.lnk op case
-        @%append $*.lnk op stack=256K
-        @%append $*.lnk name $*
-        @%append $*.lnk file test_cpp.obj
-        @%append $*.lnk library gc.lib
-!ifdef MAKE_AS_DLL
-!ifeq CALLING s
-      @%append $*.lnk import GC_incr_bytes_allocd gc
-      @%append $*.lnk import GC_incr_bytes_freed gc
-      @%append $*.lnk import GC_generic_malloc_words_small gc
-!else
-      @%append $*.lnk import GC_incr_bytes_allocd_ gc
-      @%append $*.lnk import GC_incr_bytes_freed_ gc
-      @%append $*.lnk import GC_generic_malloc_words_small_ gc
-!endif
-!endif
-        *wlink @$*.lnk
-
-gc_cpp.obj: gc_cpp.cc .AUTODEPEND
-        $(CXX) $(TEST_CXXFLAGS) -iinclude $*.cc
-test.obj: tests\test.c .AUTODEPEND
-        $(CC) $(TEST_CFLAGS) $*.c
-test_cpp.obj: tests\test_cpp.cc .AUTODEPEND
-        $(CXX) $(TEST_CXXFLAGS) -iinclude $*.cc
-
-
-.c.obj: .AUTODEPEND
-        $(CC) $(CFLAGS) $*.c
-
-.cc.obj: .AUTODEPEND
-        $(CXX) $(CXXFLAGS) $*.cc
-
-clean : .SYMBOLIC
-    @if exist *.obj del *.obj
-    @if exist *.map del *.map
-    @if exist *.lnk del *.lnk
-    @if exist *.lb1 del *.lb1
-    @if exist *.sym del *.sym
-    @if exist *.err del *.err
-    @if exist *.tmp del *.tmp
-    @if exist *.lst del *.lst
-    @if exist *.exe del *.exe
-    @if exist *.log del *.log
-    @if exist *.lib del *.lib
-    @if exist *.dll del *.dll
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/acinclude.m4 b/SRC/Boost/tools/build/v2/engine/boehm_gc/acinclude.m4
deleted file mode 100755
index 657bcc1..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/acinclude.m4
+++ /dev/null
@@ -1,49 +0,0 @@
-# 
-# 
-# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-# OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-# 
-# Permission is hereby granted to use or copy this program
-# for any purpose,  provided the above notices are retained on all copies.
-# Permission to modify the code and to distribute modified code is granted,
-# provided the above notices are retained, and a notice that the code was
-# modified is included with the above copyright notice.
-#
-# Modified by: Grzegorz Jakacki <jakacki at acm dot org>
-
-# GC_SET_VERSION
-# sets and AC_DEFINEs GC_VERSION_MAJOR, GC_VERSION_MINOR and GC_ALPHA_VERSION
-# based on the contents of PACKAGE_VERSION; PACKAGE_VERSION must conform to
-# [0-9]+[.][0-9]+(alpha[0.9]+)? 
-# in lex syntax; if there is no alpha number, GC_ALPHA_VERSION is empty
-#
-AC_DEFUN(GC_SET_VERSION, [
-  AC_MSG_CHECKING(GC version numbers)
-  GC_VERSION_MAJOR=`echo $PACKAGE_VERSION | sed 's/^\([[0-9]][[0-9]]*\)[[.]].*$/\1/g'`
-  GC_VERSION_MINOR=`echo $PACKAGE_VERSION | sed 's/^[[^.]]*[[.]]\([[0-9]][[0-9]]*\).*$/\1/g'`
-  GC_ALPHA_VERSION=`echo $PACKAGE_VERSION | sed 's/^[[^.]]*[[.]][[0-9]]*//'`
-
-  case "$GC_ALPHA_VERSION" in
-    alpha*) 
-      GC_ALPHA_VERSION=`echo $GC_ALPHA_VERSION \
-      | sed 's/alpha\([[0-9]][[0-9]]*\)/\1/'` ;;
-    *)  GC_ALPHA_MAJOR='' ;;
-  esac
-
-  if test :$GC_VERSION_MAJOR: = :: \
-     -o   :$GC_VERSION_MINOR: = :: ;
-  then
-    AC_MSG_RESULT(invalid)
-    AC_MSG_ERROR([nonconforming PACKAGE_VERSION='$PACKAGE_VERSION'])
-  fi
-  
-  AC_DEFINE_UNQUOTED(GC_VERSION_MAJOR, $GC_VERSION_MAJOR)
-  AC_DEFINE_UNQUOTED(GC_VERSION_MINOR, $GC_VERSION_MINOR)
-  if test :$GC_ALPHA_VERSION: != :: ; then
-    AC_DEFINE_UNQUOTED(GC_ALPHA_VERSION, $GC_ALPHA_VERSION)
-  fi
-  AC_MSG_RESULT(major=$GC_VERSION_MAJOR minor=$GC_VERSION_MINOR \
-${GC_ALPHA_VERSION:+alpha=}$GC_ALPHA_VERSION)
-])
-
-sinclude(libtool.m4)
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/aclocal.m4 b/SRC/Boost/tools/build/v2/engine/boehm_gc/aclocal.m4
deleted file mode 100755
index c6b1f72..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/aclocal.m4
+++ /dev/null
@@ -1,929 +0,0 @@
-# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005  Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION so it can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-	 [AM_AUTOMAKE_VERSION([1.9.6])])
-
-# Figure out how to run the assembler.                      -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2004, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_PROG_AS
-# ----------
-AC_DEFUN([AM_PROG_AS],
-[# By default we simply use the C compiler to build assembly code.
-AC_REQUIRE([AC_PROG_CC])
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-AC_ARG_VAR([CCAS],      [assembler compiler command (defaults to CC)])
-AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
-])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 7
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_$1_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-  fi
-  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/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_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 3
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # So let's grep whole file.
-  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
-    dirpart=`AS_DIRNAME("$mf")`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`AS_DIRNAME(["$file"])`
-    AS_MKDIR_P([$dirpart/$fdir])
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
-  done
-done
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 12
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.58])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
-   test -f $srcdir/config.status; then
-  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-	      		     [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-                  [_AM_DEPENDENCIES(CC)],
-                  [define([AC_PROG_CC],
-                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                  [_AM_DEPENDENCIES(CXX)],
-                  [define([AC_PROG_CXX],
-                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-])
-])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $1 | $1:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-AC_DEFUN([AM_MAINTAINER_MODE],
-[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
-  dnl maintainer-mode is disabled by default
-  AC_ARG_ENABLE(maintainer-mode,
-[  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      USE_MAINTAINER_MODE=$enableval,
-      USE_MAINTAINER_MODE=no)
-  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
-  AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
-  MAINT=$MAINTAINER_MODE_TRUE
-  AC_SUBST(MAINT)dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Check to see how 'make' treats includes.	            -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-	@echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# 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
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Copyright (C) 1999, 2000, 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-#
-# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
-# created by `make install' are always world readable, even if the
-# installer happens to have an overly restrictive umask (e.g. 077).
-# This was a mistake.  There are at least two reasons why we must not
-# use `-m 0755':
-#   - it causes special bits like SGID to be ignored,
-#   - it may be too restrictive (some setups expect 775 directories).
-#
-# Do not use -m 0755 and let people choose whatever they expect by
-# setting umask.
-#
-# We cannot accept any implementation of `mkdir' that recognizes `-p'.
-# Some implementations (such as Solaris 8's) are not thread-safe: if a
-# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
-# concurrently, both version can detect that a/ is missing, but only
-# one can create it and the other will error out.  Consequently we
-# restrict ourselves to GNU make (using the --version option ensures
-# this.)
-AC_DEFUN([AM_PROG_MKDIR_P],
-[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
-  # We used to keeping the `.' as first argument, in order to
-  # allow $(mkdir_p) to be used without argument.  As in
-  #   $(mkdir_p) $(somedir)
-  # where $(somedir) is conditionally defined.  However this is wrong
-  # for two reasons:
-  #  1. if the package is installed by a user who cannot write `.'
-  #     make install will fail,
-  #  2. the above comment should most certainly read
-  #     $(mkdir_p) $(DESTDIR)$(somedir)
-  #     so it does not work when $(somedir) is undefined and
-  #     $(DESTDIR) is not.
-  #  To support the latter case, we have to write
-  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
-  #  so the `.' trick is pointless.
-  mkdir_p='mkdir -p --'
-else
-  # On NextStep and OpenStep, the `mkdir' command does not
-  # recognize any option.  It will interpret all options as
-  # directories to create, and then abort because `.' already
-  # exists.
-  for d in ./-p ./--version;
-  do
-    test -d $d && rmdir $d
-  done
-  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
-  if test -f "$ac_aux_dir/mkinstalldirs"; then
-    mkdir_p='$(mkinstalldirs)'
-  else
-    mkdir_p='$(install_sh) -d'
-  fi
-fi
-AC_SUBST([mkdir_p])])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t $srcdir/configure conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
-
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
-
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([acinclude.m4])
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/add_gc_prefix.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/add_gc_prefix.c
deleted file mode 100755
index 9ac2f81..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/add_gc_prefix.c
+++ /dev/null
@@ -1,20 +0,0 @@
-# include <stdio.h>
-# include "version.h"
- 
-int main(argc, argv, envp)
-int argc;
-char ** argv;
-char ** envp;
-{
-    int i;
-    
-    for (i = 1; i < argc; i++) {
-      if (GC_ALPHA_VERSION == GC_NOT_ALPHA) {
-	printf("gc%d.%d/%s ", GC_VERSION_MAJOR, GC_VERSION_MINOR, argv[i]);
-      } else {
-	printf("gc%d.%dalpha%d/%s ", GC_VERSION_MAJOR,
-	       GC_VERSION_MINOR, GC_ALPHA_VERSION, argv[i]);
-      }
-    }
-    return(0);
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/allchblk.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/allchblk.c
deleted file mode 100755
index 4fe0a14..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/allchblk.c
+++ /dev/null
@@ -1,850 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1998-1999 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 1999 by Hewlett-Packard Company. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/* #define DEBUG */
-#include <stdio.h>
-#include "private/gc_priv.h"
-
-GC_bool GC_use_entire_heap = 0;
-
-/*
- * Free heap blocks are kept on one of several free lists,
- * depending on the size of the block.  Each free list is doubly linked.
- * Adjacent free blocks are coalesced.
- */
-
- 
-# define MAX_BLACK_LIST_ALLOC (2*HBLKSIZE)
-		/* largest block we will allocate starting on a black   */
-		/* listed block.  Must be >= HBLKSIZE.			*/
-
-
-# define UNIQUE_THRESHOLD 32
-	/* Sizes up to this many HBLKs each have their own free list    */
-# define HUGE_THRESHOLD 256
-	/* Sizes of at least this many heap blocks are mapped to a	*/
-	/* single free list.						*/
-# define FL_COMPRESSION 8
-	/* In between sizes map this many distinct sizes to a single	*/
-	/* bin.								*/
-
-# define N_HBLK_FLS (HUGE_THRESHOLD - UNIQUE_THRESHOLD)/FL_COMPRESSION \
-				 + UNIQUE_THRESHOLD
-
-struct hblk * GC_hblkfreelist[N_HBLK_FLS+1] = { 0 };
-
-#ifndef USE_MUNMAP
-
-  word GC_free_bytes[N_HBLK_FLS+1] = { 0 };
-	/* Number of free bytes on each list.	*/
-
-  /* Is bytes + the number of free bytes on lists n .. N_HBLK_FLS 	*/
-  /* > GC_max_large_allocd_bytes?					*/
-# ifdef __GNUC__
-  __inline__
-# endif
-  static GC_bool GC_enough_large_bytes_left(word bytes, int n)
-  {
-    int i;
-    for (i = N_HBLK_FLS; i >= n; --i) {
-	bytes += GC_free_bytes[i];
-	if (bytes > GC_max_large_allocd_bytes) return TRUE;
-    }
-    return FALSE;
-  }
-
-# define INCR_FREE_BYTES(n, b) GC_free_bytes[n] += (b);
-
-# define FREE_ASSERT(e) GC_ASSERT(e)
-
-#else /* USE_MUNMAP */
-
-# define INCR_FREE_BYTES(n, b)
-# define FREE_ASSERT(e)
-
-#endif /* USE_MUNMAP */
-
-/* Map a number of blocks to the appropriate large block free list index. */
-int GC_hblk_fl_from_blocks(word blocks_needed)
-{
-    if (blocks_needed <= UNIQUE_THRESHOLD) return (int)blocks_needed;
-    if (blocks_needed >= HUGE_THRESHOLD) return N_HBLK_FLS;
-    return (int)(blocks_needed - UNIQUE_THRESHOLD)/FL_COMPRESSION
-					+ UNIQUE_THRESHOLD;
-    
-}
-
-# define PHDR(hhdr) HDR(hhdr -> hb_prev)
-# define NHDR(hhdr) HDR(hhdr -> hb_next)
-
-# ifdef USE_MUNMAP
-#   define IS_MAPPED(hhdr) (((hhdr) -> hb_flags & WAS_UNMAPPED) == 0)
-# else  /* !USE_MMAP */
-#   define IS_MAPPED(hhdr) 1
-# endif /* USE_MUNMAP */
-
-# if !defined(NO_DEBUGGING)
-void GC_print_hblkfreelist()
-{
-    struct hblk * h;
-    word total_free = 0;
-    hdr * hhdr;
-    word sz;
-    unsigned i;
-    
-    for (i = 0; i <= N_HBLK_FLS; ++i) {
-      h = GC_hblkfreelist[i];
-#     ifdef USE_MUNMAP
-        if (0 != h) GC_printf("Free list %ld:\n",
-		              (unsigned long)i);
-#     else
-        if (0 != h) GC_printf("Free list %lu (Total size %lu):\n",
-		              i, (unsigned long)GC_free_bytes[i]);
-#     endif
-      while (h != 0) {
-        hhdr = HDR(h);
-        sz = hhdr -> hb_sz;
-    	GC_printf("\t%p size %lu ", h, (unsigned long)sz);
-    	total_free += sz;
-        if (GC_is_black_listed(h, HBLKSIZE) != 0) {
-             GC_printf("start black listed\n");
-        } else if (GC_is_black_listed(h, hhdr -> hb_sz) != 0) {
-             GC_printf("partially black listed\n");
-        } else {
-             GC_printf("not black listed\n");
-        }
-        h = hhdr -> hb_next;
-      }
-    }
-#   ifndef USE_MUNMAP
-      if (total_free != GC_large_free_bytes) {
-	GC_printf("GC_large_free_bytes = %lu (INCONSISTENT!!)\n",
-		  (unsigned long) GC_large_free_bytes);
-      }
-#   endif
-    GC_printf("Total of %lu bytes on free list\n", (unsigned long)total_free);
-}
-
-/* Return the free list index on which the block described by the header */
-/* appears, or -1 if it appears nowhere.				 */
-int free_list_index_of(hdr *wanted)
-{
-    struct hblk * h;
-    hdr * hhdr;
-    int i;
-    
-    for (i = 0; i <= N_HBLK_FLS; ++i) {
-      h = GC_hblkfreelist[i];
-      while (h != 0) {
-        hhdr = HDR(h);
-	if (hhdr == wanted) return i;
-        h = hhdr -> hb_next;
-      }
-    }
-    return -1;
-}
-
-void GC_dump_regions()
-{
-    unsigned i;
-    ptr_t start, end;
-    ptr_t p;
-    size_t bytes;
-    hdr *hhdr;
-    for (i = 0; i < GC_n_heap_sects; ++i) {
-	start = GC_heap_sects[i].hs_start;
-	bytes = GC_heap_sects[i].hs_bytes;
-	end = start + bytes;
-	/* Merge in contiguous sections.	*/
-	  while (i+1 < GC_n_heap_sects && GC_heap_sects[i+1].hs_start == end) {
-	    ++i;
-	    end = GC_heap_sects[i].hs_start + GC_heap_sects[i].hs_bytes;
-	  }
-	GC_printf("***Section from %p to %p\n", start, end);
-	for (p = start; p < end;) {
-	    hhdr = HDR(p);
-	    GC_printf("\t%p ", p);
-	    if (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
-		GC_printf("Missing header!!(%d)\n", hhdr);
-		p += HBLKSIZE;
-		continue;
-	    }
-	    if (HBLK_IS_FREE(hhdr)) {
-                int correct_index = GC_hblk_fl_from_blocks(
-					divHBLKSZ(hhdr -> hb_sz));
-	        int actual_index;
-		
-		GC_printf("\tfree block of size 0x%lx bytes",
-			  (unsigned long)(hhdr -> hb_sz));
-	 	if (IS_MAPPED(hhdr)) {
-		    GC_printf("\n");
-		} else {
-		    GC_printf("(unmapped)\n");
-		}
-		actual_index = free_list_index_of(hhdr);
-		if (-1 == actual_index) {
-		    GC_printf("\t\tBlock not on free list %d!!\n",
-			      correct_index);
-		} else if (correct_index != actual_index) {
-		    GC_printf("\t\tBlock on list %d, should be on %d!!\n",
-			      actual_index, correct_index);
-		}
-		p += hhdr -> hb_sz;
-	    } else {
-		GC_printf("\tused for blocks of size 0x%lx bytes\n",
-			  (unsigned long)(hhdr -> hb_sz));
-		p += HBLKSIZE * OBJ_SZ_TO_BLOCKS(hhdr -> hb_sz);
-	    }
-	}
-    }
-}
-
-# endif /* NO_DEBUGGING */
-
-/* Initialize hdr for a block containing the indicated size and 	*/
-/* kind of objects.							*/
-/* Return FALSE on failure.						*/
-static GC_bool setup_header(hdr * hhdr, struct hblk *block, size_t byte_sz,
-			    int kind, unsigned flags)
-{
-    word descr;
-    size_t granules;
-    
-    /* Set size, kind and mark proc fields */
-      hhdr -> hb_sz = byte_sz;
-      hhdr -> hb_obj_kind = (unsigned char)kind;
-      hhdr -> hb_flags = (unsigned char)flags;
-      hhdr -> hb_block = block;
-      descr = GC_obj_kinds[kind].ok_descriptor;
-      if (GC_obj_kinds[kind].ok_relocate_descr) descr += byte_sz;
-      hhdr -> hb_descr = descr;
-    
-#   ifdef MARK_BIT_PER_OBJ
-     /* Set hb_inv_sz as portably as possible. 				*/
-     /* We set it to the smallest value such that sz * inv_sz > 2**32    */
-     /* This may be more precision than necessary.			*/
-      if (byte_sz > MAXOBJBYTES) {
-	 hhdr -> hb_inv_sz = LARGE_INV_SZ;
-      } else {
-	word inv_sz;
-
-#       if CPP_WORDSZ == 64
-          inv_sz = ((word)1 << 32)/byte_sz;
-	  if (((inv_sz*byte_sz) >> 32) == 0) ++inv_sz;
-#	else  /* 32 bit words */
-	  GC_ASSERT(byte_sz >= 4);
-	  inv_sz = ((unsigned)1 << 31)/byte_sz;
-	  inv_sz *= 2;
-	  while (inv_sz*byte_sz > byte_sz) ++inv_sz;
-#	endif
-	hhdr -> hb_inv_sz = inv_sz;
-      }
-#   else /* MARK_BIT_PER_GRANULE */
-      hhdr -> hb_large_block = (unsigned char)(byte_sz > MAXOBJBYTES);
-      granules = BYTES_TO_GRANULES(byte_sz);
-      if (EXPECT(!GC_add_map_entry(granules), FALSE)) {
-        /* Make it look like a valid block. */
-        hhdr -> hb_sz = HBLKSIZE;
-        hhdr -> hb_descr = 0;
-        hhdr -> hb_large_block = TRUE;
-        hhdr -> hb_map = 0;
-        return FALSE;
-      } else {
-        size_t index = (hhdr -> hb_large_block? 0 : granules);
-        hhdr -> hb_map = GC_obj_map[index];
-      }
-#   endif /* MARK_BIT_PER_GRANULE */
-      
-    /* Clear mark bits */
-      GC_clear_hdr_marks(hhdr);
-      
-    hhdr -> hb_last_reclaimed = (unsigned short)GC_gc_no;
-    return(TRUE);
-}
-
-#define FL_UNKNOWN -1
-/*
- * Remove hhdr from the appropriate free list.
- * We assume it is on the nth free list, or on the size
- * appropriate free list if n is FL_UNKNOWN.
- */
-void GC_remove_from_fl(hdr *hhdr, int n)
-{
-    int index;
-
-    GC_ASSERT(((hhdr -> hb_sz) & (HBLKSIZE-1)) == 0);
-#   ifndef USE_MUNMAP
-      /* We always need index to mainatin free counts.	*/
-      if (FL_UNKNOWN == n) {
-          index = GC_hblk_fl_from_blocks(divHBLKSZ(hhdr -> hb_sz));
-      } else {
-	  index = n;
-      }
-#   endif
-    if (hhdr -> hb_prev == 0) {
-#	ifdef USE_MUNMAP
-	  if (FL_UNKNOWN == n) {
-            index = GC_hblk_fl_from_blocks(divHBLKSZ(hhdr -> hb_sz));
-	  } else {
-	    index = n;
-	  }
-#	endif
-	GC_ASSERT(HDR(GC_hblkfreelist[index]) == hhdr);
-	GC_hblkfreelist[index] = hhdr -> hb_next;
-    } else {
-	hdr *phdr;
-	GET_HDR(hhdr -> hb_prev, phdr);
-	phdr -> hb_next = hhdr -> hb_next;
-    }
-    FREE_ASSERT(GC_free_bytes[index] >= hhdr -> hb_sz);
-    INCR_FREE_BYTES(index, - (signed_word)(hhdr -> hb_sz));
-    if (0 != hhdr -> hb_next) {
-	hdr * nhdr;
-	GC_ASSERT(!IS_FORWARDING_ADDR_OR_NIL(NHDR(hhdr)));
-	GET_HDR(hhdr -> hb_next, nhdr);
-	nhdr -> hb_prev = hhdr -> hb_prev;
-    }
-}
-
-/*
- * Return a pointer to the free block ending just before h, if any.
- */
-struct hblk * GC_free_block_ending_at(struct hblk *h)
-{
-    struct hblk * p = h - 1;
-    hdr * phdr;
-
-    GET_HDR(p, phdr);
-    while (0 != phdr && IS_FORWARDING_ADDR_OR_NIL(phdr)) {
-	p = FORWARDED_ADDR(p,phdr);
-	phdr = HDR(p);
-    }
-    if (0 != phdr) {
-        if(HBLK_IS_FREE(phdr)) {
-	    return p;
-	} else {
-	    return 0;
-	}
-    }
-    p = GC_prev_block(h - 1);
-    if (0 != p) {
-      phdr = HDR(p);
-      if (HBLK_IS_FREE(phdr) && (ptr_t)p + phdr -> hb_sz == (ptr_t)h) {
-	return p;
-      }
-    }
-    return 0;
-}
-
-/*
- * Add hhdr to the appropriate free list.
- * We maintain individual free lists sorted by address.
- */
-void GC_add_to_fl(struct hblk *h, hdr *hhdr)
-{
-    int index = GC_hblk_fl_from_blocks(divHBLKSZ(hhdr -> hb_sz));
-    struct hblk *second = GC_hblkfreelist[index];
-    hdr * second_hdr;
-#   ifdef GC_ASSERTIONS
-      struct hblk *next = (struct hblk *)((word)h + hhdr -> hb_sz);
-      hdr * nexthdr = HDR(next);
-      struct hblk *prev = GC_free_block_ending_at(h);
-      hdr * prevhdr = HDR(prev);
-      GC_ASSERT(nexthdr == 0 || !HBLK_IS_FREE(nexthdr) || !IS_MAPPED(nexthdr));
-      GC_ASSERT(prev == 0 || !HBLK_IS_FREE(prevhdr) || !IS_MAPPED(prevhdr));
-#   endif
-    GC_ASSERT(((hhdr -> hb_sz) & (HBLKSIZE-1)) == 0);
-    GC_hblkfreelist[index] = h;
-    INCR_FREE_BYTES(index, hhdr -> hb_sz);
-    FREE_ASSERT(GC_free_bytes[index] <= GC_large_free_bytes)
-    hhdr -> hb_next = second;
-    hhdr -> hb_prev = 0;
-    if (0 != second) {
-      GET_HDR(second, second_hdr);
-      second_hdr -> hb_prev = h;
-    }
-    hhdr -> hb_flags |= FREE_BLK;
-}
-
-#ifdef USE_MUNMAP
-
-/* Unmap blocks that haven't been recently touched.  This is the only way */
-/* way blocks are ever unmapped.					  */
-void GC_unmap_old(void)
-{
-    struct hblk * h;
-    hdr * hhdr;
-    word sz;
-    unsigned short last_rec, threshold;
-    int i;
-#   define UNMAP_THRESHOLD 6
-    
-    for (i = 0; i <= N_HBLK_FLS; ++i) {
-      for (h = GC_hblkfreelist[i]; 0 != h; h = hhdr -> hb_next) {
-        hhdr = HDR(h);
-	if (!IS_MAPPED(hhdr)) continue;
-	threshold = (unsigned short)(GC_gc_no - UNMAP_THRESHOLD);
-	last_rec = hhdr -> hb_last_reclaimed;
-	if ((last_rec > GC_gc_no || last_rec < threshold)
-	    && threshold < GC_gc_no /* not recently wrapped */) {
-          sz = hhdr -> hb_sz;
-	  GC_unmap((ptr_t)h, sz);
-	  hhdr -> hb_flags |= WAS_UNMAPPED;
-    	}
-      }
-    }  
-}
-
-/* Merge all unmapped blocks that are adjacent to other free		*/
-/* blocks.  This may involve remapping, since all blocks are either	*/
-/* fully mapped or fully unmapped.					*/
-void GC_merge_unmapped(void)
-{
-    struct hblk * h, *next;
-    hdr * hhdr, *nexthdr;
-    word size, nextsize;
-    int i;
-    
-    for (i = 0; i <= N_HBLK_FLS; ++i) {
-      h = GC_hblkfreelist[i];
-      while (h != 0) {
-	GET_HDR(h, hhdr);
-	size = hhdr->hb_sz;
-	next = (struct hblk *)((word)h + size);
-	GET_HDR(next, nexthdr);
-	/* Coalesce with successor, if possible */
-	  if (0 != nexthdr && HBLK_IS_FREE(nexthdr)) {
-	    nextsize = nexthdr -> hb_sz;
-	    if (IS_MAPPED(hhdr)) {
-	      GC_ASSERT(!IS_MAPPED(nexthdr));
-	      /* make both consistent, so that we can merge */
-	        if (size > nextsize) {
-		  GC_remap((ptr_t)next, nextsize);
-		} else {
-		  GC_unmap((ptr_t)h, size);
-		  hhdr -> hb_flags |= WAS_UNMAPPED;
-		}
-	    } else if (IS_MAPPED(nexthdr)) {
-	      GC_ASSERT(!IS_MAPPED(hhdr));
-	      if (size > nextsize) {
-		GC_unmap((ptr_t)next, nextsize);
-	      } else {
-		GC_remap((ptr_t)h, size);
-		hhdr -> hb_flags &= ~WAS_UNMAPPED;
-		hhdr -> hb_last_reclaimed = nexthdr -> hb_last_reclaimed;
-	      }
-	    } else {
-	      /* Unmap any gap in the middle */
-		GC_unmap_gap((ptr_t)h, size, (ptr_t)next, nexthdr -> hb_sz);
-	    }
-	    /* If they are both unmapped, we merge, but leave unmapped. */
-	    GC_remove_from_fl(hhdr, i);
-	    GC_remove_from_fl(nexthdr, FL_UNKNOWN);
-	    hhdr -> hb_sz += nexthdr -> hb_sz; 
-	    GC_remove_header(next);
-	    GC_add_to_fl(h, hhdr); 
-	    /* Start over at beginning of list */
-	    h = GC_hblkfreelist[i];
-	  } else /* not mergable with successor */ {
-	    h = hhdr -> hb_next;
-	  }
-      } /* while (h != 0) ... */
-    } /* for ... */
-}
-
-#endif /* USE_MUNMAP */
-
-/*
- * Return a pointer to a block starting at h of length bytes.
- * Memory for the block is mapped.
- * Remove the block from its free list, and return the remainder (if any)
- * to its appropriate free list.
- * May fail by returning 0.
- * The header for the returned block must be set up by the caller.
- * If the return value is not 0, then hhdr is the header for it.
- */
-struct hblk * GC_get_first_part(struct hblk *h, hdr *hhdr,
-			        size_t bytes, int index)
-{
-    word total_size = hhdr -> hb_sz;
-    struct hblk * rest;
-    hdr * rest_hdr;
-
-    GC_ASSERT((total_size & (HBLKSIZE-1)) == 0);
-    GC_remove_from_fl(hhdr, index);
-    if (total_size == bytes) return h;
-    rest = (struct hblk *)((word)h + bytes);
-    rest_hdr = GC_install_header(rest);
-    if (0 == rest_hdr) {
-	/* FIXME: This is likely to be very bad news ... */
-	WARN("Header allocation failed: Dropping block.\n", 0);
-	return(0);
-    }
-    rest_hdr -> hb_sz = total_size - bytes;
-    rest_hdr -> hb_flags = 0;
-#   ifdef GC_ASSERTIONS
-      /* Mark h not free, to avoid assertion about adjacent free blocks. */
-        hhdr -> hb_flags &= ~FREE_BLK;
-#   endif
-    GC_add_to_fl(rest, rest_hdr);
-    return h;
-}
-
-/*
- * H is a free block.  N points at an address inside it.
- * A new header for n has already been set up.  Fix up h's header
- * to reflect the fact that it is being split, move it to the
- * appropriate free list.
- * N replaces h in the original free list.
- *
- * Nhdr is not completely filled in, since it is about to allocated.
- * It may in fact end up on the wrong free list for its size.
- * (Hence adding it to a free list is silly.  But this path is hopefully
- * rare enough that it doesn't matter.  The code is cleaner this way.)
- */
-void GC_split_block(struct hblk *h, hdr *hhdr, struct hblk *n,
-		    hdr *nhdr, int index /* Index of free list */)
-{
-    word total_size = hhdr -> hb_sz;
-    word h_size = (word)n - (word)h;
-    struct hblk *prev = hhdr -> hb_prev;
-    struct hblk *next = hhdr -> hb_next;
-
-    /* Replace h with n on its freelist */
-      nhdr -> hb_prev = prev;
-      nhdr -> hb_next = next;
-      nhdr -> hb_sz = total_size - h_size;
-      nhdr -> hb_flags = 0;
-      if (0 != prev) {
-	HDR(prev) -> hb_next = n;
-      } else {
-        GC_hblkfreelist[index] = n;
-      }
-      if (0 != next) {
-	HDR(next) -> hb_prev = n;
-      }
-      INCR_FREE_BYTES(index, -(signed_word)h_size);
-      FREE_ASSERT(GC_free_bytes[index] > 0);
-#     ifdef GC_ASSERTIONS
-	nhdr -> hb_flags &= ~FREE_BLK;
-				/* Don't fail test for consecutive	*/
-				/* free blocks in GC_add_to_fl.		*/
-#     endif
-#   ifdef USE_MUNMAP
-      hhdr -> hb_last_reclaimed = (unsigned short)GC_gc_no;
-#   endif
-    hhdr -> hb_sz = h_size;
-    GC_add_to_fl(h, hhdr);
-    nhdr -> hb_flags |= FREE_BLK;
-}
-	
-struct hblk *
-GC_allochblk_nth(size_t sz/* bytes */, int kind, unsigned flags, int n);
-
-/*
- * Allocate (and return pointer to) a heap block
- *   for objects of size sz bytes, searching the nth free list.
- *
- * NOTE: We set obj_map field in header correctly.
- *       Caller is responsible for building an object freelist in block.
- *
- * The client is responsible for clearing the block, if necessary.
- */
-struct hblk *
-GC_allochblk(size_t sz, int kind, unsigned flags/* IGNORE_OFF_PAGE or 0 */)
-{
-    word blocks;
-    int start_list;
-    int i;
-
-    GC_ASSERT((sz & (GRANULE_BYTES - 1)) == 0);
-    blocks = OBJ_SZ_TO_BLOCKS(sz);
-    start_list = GC_hblk_fl_from_blocks(blocks);
-    for (i = start_list; i <= N_HBLK_FLS; ++i) {
-	struct hblk * result = GC_allochblk_nth(sz, kind, flags, i);
-	if (0 != result) {
-	    return result;
-	}
-    }
-    return 0;
-}
-/*
- * The same, but with search restricted to nth free list.
- * Flags is IGNORE_OFF_PAGE or zero.
- * Unlike the above, sz is in bytes.
- */
-struct hblk *
-GC_allochblk_nth(size_t sz, int kind, unsigned flags, int n)
-{
-    struct hblk *hbp;
-    hdr * hhdr;		/* Header corr. to hbp */
-    			/* Initialized after loop if hbp !=0 	*/
-    			/* Gcc uninitialized use warning is bogus.	*/
-    struct hblk *thishbp;
-    hdr * thishdr;		/* Header corr. to hbp */
-    signed_word size_needed;    /* number of bytes in requested objects */
-    signed_word size_avail;	/* bytes available in this block	*/
-
-    size_needed = HBLKSIZE * OBJ_SZ_TO_BLOCKS(sz);
-
-    /* search for a big enough block in free list */
-	hbp = GC_hblkfreelist[n];
-	for(; 0 != hbp; hbp = hhdr -> hb_next) {
-	    GET_HDR(hbp, hhdr);
-	    size_avail = hhdr->hb_sz;
-	    if (size_avail < size_needed) continue;
-	    if (size_avail != size_needed
-		&& !GC_use_entire_heap
-		&& !GC_dont_gc
-		&& USED_HEAP_SIZE >= GC_requested_heapsize
-		&& !TRUE_INCREMENTAL && GC_should_collect()) {
-#		ifdef USE_MUNMAP
-		    continue;
-#		else
-		    /* If we have enough large blocks left to cover any	*/
-		    /* previous request for large blocks, we go ahead	*/
-		    /* and split.  Assuming a steady state, that should	*/
-		    /* be safe.  It means that we can use the full 	*/
-		    /* heap if we allocate only small objects.		*/
-		    if (!GC_enough_large_bytes_left(GC_large_allocd_bytes, n)) {
-		      continue;
-		    } 
-		    /* If we are deallocating lots of memory from	*/
-		    /* finalizers, fail and collect sooner rather	*/
-		    /* than later.					*/
-		    if (GC_finalizer_bytes_freed > (GC_heapsize >> 4))  {
-		      continue;
-		    }
-#		endif /* !USE_MUNMAP */
-	    }
-	    /* If the next heap block is obviously better, go on.	*/
-	    /* This prevents us from disassembling a single large block */
-	    /* to get tiny blocks.					*/
-	    {
-	      signed_word next_size;
-	      
-	      thishbp = hhdr -> hb_next;
-	      if (thishbp != 0) {
-		GET_HDR(thishbp, thishdr);
-	        next_size = (signed_word)(thishdr -> hb_sz);
-	        if (next_size < size_avail
-	          && next_size >= size_needed
-	          && !GC_is_black_listed(thishbp, (word)size_needed)) {
-	          continue;
-	        }
-	      }
-	    }
-	    if ( !IS_UNCOLLECTABLE(kind) &&
-	         (kind != PTRFREE || size_needed > MAX_BLACK_LIST_ALLOC)) {
-	      struct hblk * lasthbp = hbp;
-	      ptr_t search_end = (ptr_t)hbp + size_avail - size_needed;
-	      signed_word orig_avail = size_avail;
-	      signed_word eff_size_needed = ((flags & IGNORE_OFF_PAGE)?
-	      					HBLKSIZE
-	      					: size_needed);
-	      
-	      
-	      while ((ptr_t)lasthbp <= search_end
-	             && (thishbp = GC_is_black_listed(lasthbp,
-	             				      (word)eff_size_needed))
-		        != 0) {
-	        lasthbp = thishbp;
-	      }
-	      size_avail -= (ptr_t)lasthbp - (ptr_t)hbp;
-	      thishbp = lasthbp;
-	      if (size_avail >= size_needed) {
-	        if (thishbp != hbp &&
-		    0 != (thishdr = GC_install_header(thishbp))) {
-		  /* Make sure it's mapped before we mangle it. */
-#		    ifdef USE_MUNMAP
-		      if (!IS_MAPPED(hhdr)) {
-		        GC_remap((ptr_t)hbp, hhdr -> hb_sz);
-		        hhdr -> hb_flags &= ~WAS_UNMAPPED;
-		      }
-#		    endif
-	          /* Split the block at thishbp */
-		      GC_split_block(hbp, hhdr, thishbp, thishdr, n);
-		  /* Advance to thishbp */
-		      hbp = thishbp;
-		      hhdr = thishdr;
-		      /* We must now allocate thishbp, since it may	*/
-		      /* be on the wrong free list.			*/
-		}
-	      } else if (size_needed > (signed_word)BL_LIMIT
-	                 && orig_avail - size_needed
-			    > (signed_word)BL_LIMIT) {
-	        /* Punt, since anything else risks unreasonable heap growth. */
-		if (++GC_large_alloc_warn_suppressed
-		    >= GC_large_alloc_warn_interval) {
-	          WARN("Repeated allocation of very large block "
-		       "(appr. size %ld):\n"
-		       "\tMay lead to memory leak and poor performance.\n",
-		       size_needed);
-		  GC_large_alloc_warn_suppressed = 0;
-		}
-	        size_avail = orig_avail;
-	      } else if (size_avail == 0 && size_needed == HBLKSIZE
-			 && IS_MAPPED(hhdr)) {
-		if (!GC_find_leak) {
-	      	  static unsigned count = 0;
-	      	  
-	      	  /* The block is completely blacklisted.  We need 	*/
-	      	  /* to drop some such blocks, since otherwise we spend */
-	      	  /* all our time traversing them if pointerfree	*/
-	      	  /* blocks are unpopular.				*/
-	          /* A dropped block will be reconsidered at next GC.	*/
-	          if ((++count & 3) == 0) {
-	            /* Allocate and drop the block in small chunks, to	*/
-	            /* maximize the chance that we will recover some	*/
-	            /* later.						*/
-		      word total_size = hhdr -> hb_sz;
-	              struct hblk * limit = hbp + divHBLKSZ(total_size);
-	              struct hblk * h;
-		      struct hblk * prev = hhdr -> hb_prev;
-	              
-		      GC_large_free_bytes -= total_size;
-		      GC_remove_from_fl(hhdr, n);
-	              for (h = hbp; h < limit; h++) {
-	                if (h == hbp || 0 != (hhdr = GC_install_header(h))) {
-	                  (void) setup_header(
-	                	  hhdr, h,
-	              		  HBLKSIZE,
-	              		  PTRFREE, 0); /* Cant fail */
-	              	  if (GC_debugging_started) {
-	              	    BZERO(h, HBLKSIZE);
-	              	  }
-	                }
-	              }
-	            /* Restore hbp to point at free block */
-		      hbp = prev;
-		      if (0 == hbp) {
-			return GC_allochblk_nth(sz, kind, flags, n);
-		      }
-	   	      hhdr = HDR(hbp);
-	          }
-		}
-	      }
-	    }
-	    if( size_avail >= size_needed ) {
-#		ifdef USE_MUNMAP
-		  if (!IS_MAPPED(hhdr)) {
-		    GC_remap((ptr_t)hbp, hhdr -> hb_sz);
-		    hhdr -> hb_flags &= ~WAS_UNMAPPED;
-		  }
-#	        endif
-		/* hbp may be on the wrong freelist; the parameter n	*/
-		/* is important.					*/
-		hbp = GC_get_first_part(hbp, hhdr, size_needed, n);
-		break;
-	    }
-	}
-
-    if (0 == hbp) return 0;
-	
-    /* Add it to map of valid blocks */
-    	if (!GC_install_counts(hbp, (word)size_needed)) return(0);
-    	/* This leaks memory under very rare conditions. */
-    		
-    /* Set up header */
-        if (!setup_header(hhdr, hbp, sz, kind, flags)) {
-            GC_remove_counts(hbp, (word)size_needed);
-            return(0); /* ditto */
-        }
-
-    /* Notify virtual dirty bit implementation that we are about to write.  */
-    /* Ensure that pointerfree objects are not protected if it's avoidable. */
-    	GC_remove_protection(hbp, divHBLKSZ(size_needed),
-			     (hhdr -> hb_descr == 0) /* pointer-free */);
-        
-    /* We just successfully allocated a block.  Restart count of	*/
-    /* consecutive failures.						*/
-    {
-	extern unsigned GC_fail_count;
-	
-	GC_fail_count = 0;
-    }
-
-    GC_large_free_bytes -= size_needed;
-    
-    GC_ASSERT(IS_MAPPED(hhdr));
-    return( hbp );
-}
- 
-struct hblk * GC_freehblk_ptr = 0;  /* Search position hint for GC_freehblk */
-
-/*
- * Free a heap block.
- *
- * Coalesce the block with its neighbors if possible.
- *
- * All mark words are assumed to be cleared.
- */
-void
-GC_freehblk(struct hblk *hbp)
-{
-struct hblk *next, *prev;
-hdr *hhdr, *prevhdr, *nexthdr;
-signed_word size;
-
-
-    GET_HDR(hbp, hhdr);
-    size = hhdr->hb_sz;
-    size = HBLKSIZE * OBJ_SZ_TO_BLOCKS(size);
-    GC_remove_counts(hbp, (word)size);
-    hhdr->hb_sz = size;
-#   ifdef USE_MUNMAP
-      hhdr -> hb_last_reclaimed = (unsigned short)GC_gc_no;
-#   endif
-    
-    /* Check for duplicate deallocation in the easy case */
-      if (HBLK_IS_FREE(hhdr)) {
-        GC_printf("Duplicate large block deallocation of %p\n", hbp);
-	ABORT("Duplicate large block deallocation");
-      }
-
-    GC_ASSERT(IS_MAPPED(hhdr));
-    hhdr -> hb_flags |= FREE_BLK;
-    next = (struct hblk *)((word)hbp + size);
-    GET_HDR(next, nexthdr);
-    prev = GC_free_block_ending_at(hbp);
-    /* Coalesce with successor, if possible */
-      if(0 != nexthdr && HBLK_IS_FREE(nexthdr) && IS_MAPPED(nexthdr)) {
-	GC_remove_from_fl(nexthdr, FL_UNKNOWN);
-	hhdr -> hb_sz += nexthdr -> hb_sz; 
-	GC_remove_header(next);
-      }
-    /* Coalesce with predecessor, if possible. */
-      if (0 != prev) {
-	prevhdr = HDR(prev);
-	if (IS_MAPPED(prevhdr)) {
-	  GC_remove_from_fl(prevhdr, FL_UNKNOWN);
-	  prevhdr -> hb_sz += hhdr -> hb_sz;
-#	  ifdef USE_MUNMAP
-	    prevhdr -> hb_last_reclaimed = (unsigned short)GC_gc_no;
-#	  endif
-	  GC_remove_header(hbp);
-	  hbp = prev;
-	  hhdr = prevhdr;
-	}
-      }
-    /* FIXME: It is not clear we really always want to do these merges	*/
-    /* with -DUSE_MUNMAP, since it updates ages and hence prevents	*/
-    /* unmapping. 							*/
-
-    GC_large_free_bytes += size;
-    GC_add_to_fl(hbp, hhdr);    
-}
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/alloc.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/alloc.c
deleted file mode 100755
index e97f60c..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/alloc.c
+++ /dev/null
@@ -1,1023 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1996 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1998 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 1999-2004 Hewlett-Packard Development Company, L.P.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-
-
-# include "private/gc_priv.h"
-
-# include <stdio.h>
-# if !defined(MACOS) && !defined(MSWINCE)
-#   include <signal.h>
-#   include <sys/types.h>
-# endif
-
-/*
- * Separate free lists are maintained for different sized objects
- * up to MAXOBJBYTES.
- * The call GC_allocobj(i,k) ensures that the freelist for
- * kind k objects of size i points to a non-empty
- * free list. It returns a pointer to the first entry on the free list.
- * In a single-threaded world, GC_allocobj may be called to allocate
- * an object of (small) size i as follows:
- *
- *            opp = &(GC_objfreelist[i]);
- *            if (*opp == 0) GC_allocobj(i, NORMAL);
- *            ptr = *opp;
- *            *opp = obj_link(ptr);
- *
- * Note that this is very fast if the free list is non-empty; it should
- * only involve the execution of 4 or 5 simple instructions.
- * All composite objects on freelists are cleared, except for
- * their first word.
- */
-
-/*
- *  The allocator uses GC_allochblk to allocate large chunks of objects.
- * These chunks all start on addresses which are multiples of
- * HBLKSZ.   Each allocated chunk has an associated header,
- * which can be located quickly based on the address of the chunk.
- * (See headers.c for details.) 
- * This makes it possible to check quickly whether an
- * arbitrary address corresponds to an object administered by the
- * allocator.
- */
-
-word GC_non_gc_bytes = 0;  /* Number of bytes not intended to be collected */
-
-word GC_gc_no = 0;
-
-#ifndef SMALL_CONFIG
-  int GC_incremental = 0;  /* By default, stop the world.	*/
-#endif
-
-int GC_parallel = FALSE;   /* By default, parallel GC is off.	*/
-
-int GC_full_freq = 19;	   /* Every 20th collection is a full	*/
-			   /* collection, whether we need it 	*/
-			   /* or not.			        */
-
-GC_bool GC_need_full_gc = FALSE;
-			   /* Need full GC do to heap growth.	*/
-
-#ifdef THREADS
-  GC_bool GC_world_stopped = FALSE;
-# define IF_THREADS(x) x
-#else
-# define IF_THREADS(x)
-#endif
-
-word GC_used_heap_size_after_full = 0;
-
-char * GC_copyright[] =
-{"Copyright 1988,1989 Hans-J. Boehm and Alan J. Demers ",
-"Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved. ",
-"Copyright (c) 1996-1998 by Silicon Graphics.  All rights reserved. ",
-"Copyright (c) 1999-2001 by Hewlett-Packard Company.  All rights reserved. ",
-"THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY",
-" EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.",
-"See source code for details." };
-
-# include "version.h"
-
-/* some more variables */
-
-extern signed_word GC_bytes_found; /* Number of reclaimed bytes		*/
-				  /* after garbage collection      	*/
-
-GC_bool GC_dont_expand = 0;
-
-word GC_free_space_divisor = 3;
-
-extern GC_bool GC_collection_in_progress();
-		/* Collection is in progress, or was abandoned.	*/
-
-int GC_never_stop_func (void) { return(0); }
-
-unsigned long GC_time_limit = TIME_LIMIT;
-
-CLOCK_TYPE GC_start_time;  	/* Time at which we stopped world.	*/
-				/* used only in GC_timeout_stop_func.	*/
-
-int GC_n_attempts = 0;		/* Number of attempts at finishing	*/
-				/* collection within GC_time_limit.	*/
-
-#if defined(SMALL_CONFIG) || defined(NO_CLOCK)
-#   define GC_timeout_stop_func GC_never_stop_func
-#else
-  int GC_timeout_stop_func (void)
-  {
-    CLOCK_TYPE current_time;
-    static unsigned count = 0;
-    unsigned long time_diff;
-    
-    if ((count++ & 3) != 0) return(0);
-    GET_TIME(current_time);
-    time_diff = MS_TIME_DIFF(current_time,GC_start_time);
-    if (time_diff >= GC_time_limit) {
-	if (GC_print_stats) {
-	    GC_log_printf("Abandoning stopped marking after ");
-	    GC_log_printf("%lu msecs", time_diff);
-	    GC_log_printf("(attempt %d)\n", GC_n_attempts);
-	}
-    	return(1);
-    }
-    return(0);
-  }
-#endif /* !SMALL_CONFIG */
-
-/* Return the minimum number of words that must be allocated between	*/
-/* collections to amortize the collection cost.				*/
-static word min_bytes_allocd()
-{
-#   ifdef THREADS
- 	/* We punt, for now. */
- 	signed_word stack_size = 10000;
-#   else
-        int dummy;
-        signed_word stack_size = (ptr_t)(&dummy) - GC_stackbottom;
-#   endif
-    word total_root_size;  	    /* includes double stack size,	*/
-    				    /* since the stack is expensive	*/
-    				    /* to scan.				*/
-    word scan_size;		/* Estimate of memory to be scanned 	*/
-				/* during normal GC.			*/
-    
-    if (stack_size < 0) stack_size = -stack_size;
-    total_root_size = 2 * stack_size + GC_root_size;
-    scan_size = 2 * GC_composite_in_use + GC_atomic_in_use
-		+ total_root_size;
-    if (TRUE_INCREMENTAL) {
-        return scan_size / (2 * GC_free_space_divisor);
-    } else {
-        return scan_size / GC_free_space_divisor;
-    }
-}
-
-/* Return the number of bytes allocated, adjusted for explicit storage	*/
-/* management, etc..  This number is used in deciding when to trigger	*/
-/* collections.								*/
-word GC_adj_bytes_allocd(void)
-{
-    signed_word result;
-    signed_word expl_managed =
-    		(signed_word)GC_non_gc_bytes
-		- (signed_word)GC_non_gc_bytes_at_gc;
-    
-    /* Don't count what was explicitly freed, or newly allocated for	*/
-    /* explicit management.  Note that deallocating an explicitly	*/
-    /* managed object should not alter result, assuming the client	*/
-    /* is playing by the rules.						*/
-    result = (signed_word)GC_bytes_allocd
-    	     - (signed_word)GC_bytes_freed 
-	     + (signed_word)GC_finalizer_bytes_freed
-	     - expl_managed;
-    if (result > (signed_word)GC_bytes_allocd) {
-        result = GC_bytes_allocd;
-    	/* probably client bug or unfortunate scheduling */
-    }
-    result += GC_bytes_finalized;
-    	/* We count objects enqueued for finalization as though they	*/
-    	/* had been reallocated this round. Finalization is user	*/
-    	/* visible progress.  And if we don't count this, we have	*/
-    	/* stability problems for programs that finalize all objects.	*/
-    if (result < (signed_word)(GC_bytes_allocd >> 3)) {
-    	/* Always count at least 1/8 of the allocations.  We don't want	*/
-    	/* to collect too infrequently, since that would inhibit	*/
-    	/* coalescing of free storage blocks.				*/
-    	/* This also makes us partially robust against client bugs.	*/
-        return(GC_bytes_allocd >> 3);
-    } else {
-        return(result);
-    }
-}
-
-
-/* Clear up a few frames worth of garbage left at the top of the stack.	*/
-/* This is used to prevent us from accidentally treating garbade left	*/
-/* on the stack by other parts of the collector as roots.  This 	*/
-/* differs from the code in misc.c, which actually tries to keep the	*/
-/* stack clear of long-lived, client-generated garbage.			*/
-void GC_clear_a_few_frames()
-{
-#   define NWORDS 64
-    word frames[NWORDS];
-    int i;
-    
-    for (i = 0; i < NWORDS; i++) frames[i] = 0;
-}
-
-/* Heap size at which we need a collection to avoid expanding past	*/
-/* limits used by blacklisting.						*/
-static word GC_collect_at_heapsize = (word)(-1);
-
-/* Have we allocated enough to amortize a collection? */
-GC_bool GC_should_collect(void)
-{
-    return(GC_adj_bytes_allocd() >= min_bytes_allocd()
-	   || GC_heapsize >= GC_collect_at_heapsize);
-}
-
-
-void GC_notify_full_gc(void)
-{
-    if (GC_start_call_back != (void (*) (void))0) {
-	(*GC_start_call_back)();
-    }
-}
-
-GC_bool GC_is_full_gc = FALSE;
-
-/* 
- * Initiate a garbage collection if appropriate.
- * Choose judiciously
- * between partial, full, and stop-world collections.
- * Assumes lock held, signals disabled.
- */
-void GC_maybe_gc(void)
-{
-    static int n_partial_gcs = 0;
-
-    if (GC_should_collect()) {
-        if (!GC_incremental) {
-            GC_gcollect_inner();
-            n_partial_gcs = 0;
-            return;
-        } else {
-#   	  ifdef PARALLEL_MARK
-	    GC_wait_for_reclaim();
-#   	  endif
-	  if (GC_need_full_gc || n_partial_gcs >= GC_full_freq) {
-	    if (GC_print_stats) {
-	        GC_log_printf(
-	          "***>Full mark for collection %lu after %ld allocd bytes\n",
-     		  (unsigned long)GC_gc_no+1,
-		  (long)GC_bytes_allocd);
-	    }
-	    GC_promote_black_lists();
-	    (void)GC_reclaim_all((GC_stop_func)0, TRUE);
-	    GC_clear_marks();
-            n_partial_gcs = 0;
-	    GC_notify_full_gc();
- 	    GC_is_full_gc = TRUE;
-          } else {
-            n_partial_gcs++;
-          }
-	}
-        /* We try to mark with the world stopped.	*/
-        /* If we run out of time, this turns into	*/
-        /* incremental marking.			*/
-#	ifndef NO_CLOCK
-          if (GC_time_limit != GC_TIME_UNLIMITED) { GET_TIME(GC_start_time); }
-#	endif
-        if (GC_stopped_mark(GC_time_limit == GC_TIME_UNLIMITED? 
-			    GC_never_stop_func : GC_timeout_stop_func)) {
-#           ifdef SAVE_CALL_CHAIN
-                GC_save_callers(GC_last_stack);
-#           endif
-            GC_finish_collection();
-        } else {
-	    if (!GC_is_full_gc) {
-		/* Count this as the first attempt */
-	        GC_n_attempts++;
-	    }
-	}
-    }
-}
-
-
-/*
- * Stop the world garbage collection.  Assumes lock held, signals disabled.
- * If stop_func is not GC_never_stop_func, then abort if stop_func returns TRUE.
- * Return TRUE if we successfully completed the collection.
- */
-GC_bool GC_try_to_collect_inner(GC_stop_func stop_func)
-{
-    CLOCK_TYPE start_time, current_time;
-    if (GC_dont_gc) return FALSE;
-    if (GC_incremental && GC_collection_in_progress()) {
-      if (GC_print_stats) {
-	GC_log_printf(
-	    "GC_try_to_collect_inner: finishing collection in progress\n");
-      }
-      /* Just finish collection already in progress.	*/
-    	while(GC_collection_in_progress()) {
-    	    if (stop_func()) return(FALSE);
-    	    GC_collect_a_little_inner(1);
-    	}
-    }
-    if (stop_func == GC_never_stop_func) GC_notify_full_gc();
-    if (GC_print_stats) {
-        GET_TIME(start_time);
-	GC_log_printf(
-	   "Initiating full world-stop collection %lu after %ld allocd bytes\n",
-	   (unsigned long)GC_gc_no+1, (long)GC_bytes_allocd);
-    }
-    GC_promote_black_lists();
-    /* Make sure all blocks have been reclaimed, so sweep routines	*/
-    /* don't see cleared mark bits.					*/
-    /* If we're guaranteed to finish, then this is unnecessary.		*/
-    /* In the find_leak case, we have to finish to guarantee that 	*/
-    /* previously unmarked objects are not reported as leaks.		*/
-#       ifdef PARALLEL_MARK
-	    GC_wait_for_reclaim();
-#       endif
- 	if ((GC_find_leak || stop_func != GC_never_stop_func)
-	    && !GC_reclaim_all(stop_func, FALSE)) {
-	    /* Aborted.  So far everything is still consistent.	*/
-	    return(FALSE);
-	}
-    GC_invalidate_mark_state();  /* Flush mark stack.	*/
-    GC_clear_marks();
-#   ifdef SAVE_CALL_CHAIN
-        GC_save_callers(GC_last_stack);
-#   endif
-    GC_is_full_gc = TRUE;
-    if (!GC_stopped_mark(stop_func)) {
-      if (!GC_incremental) {
-    	/* We're partially done and have no way to complete or use 	*/
-    	/* current work.  Reestablish invariants as cheaply as		*/
-    	/* possible.							*/
-    	GC_invalidate_mark_state();
-	GC_unpromote_black_lists();
-      } /* else we claim the world is already still consistent.  We'll 	*/
-        /* finish incrementally.					*/
-      return(FALSE);
-    }
-    GC_finish_collection();
-    if (GC_print_stats) {
-        GET_TIME(current_time);
-        GC_log_printf("Complete collection took %lu msecs\n",
-                  MS_TIME_DIFF(current_time,start_time));
-    }
-    return(TRUE);
-}
-
-
-
-/*
- * Perform n units of garbage collection work.  A unit is intended to touch
- * roughly GC_RATE pages.  Every once in a while, we do more than that.
- * This needs to be a fairly large number with our current incremental
- * GC strategy, since otherwise we allocate too much during GC, and the
- * cleanup gets expensive.
- */
-# define GC_RATE 10 
-# define MAX_PRIOR_ATTEMPTS 1
- 	/* Maximum number of prior attempts at world stop marking	*/
- 	/* A value of 1 means that we finish the second time, no matter */
- 	/* how long it takes.  Doesn't count the initial root scan	*/
- 	/* for a full GC.						*/
-
-int GC_deficit = 0;	/* The number of extra calls to GC_mark_some	*/
-			/* that we have made.				*/
-
-void GC_collect_a_little_inner(int n)
-{
-    int i;
-    
-    if (GC_dont_gc) return;
-    if (GC_incremental && GC_collection_in_progress()) {
-    	for (i = GC_deficit; i < GC_RATE*n; i++) {
-    	    if (GC_mark_some((ptr_t)0)) {
-    	        /* Need to finish a collection */
-#     		ifdef SAVE_CALL_CHAIN
-        	    GC_save_callers(GC_last_stack);
-#     		endif
-#		ifdef PARALLEL_MARK
-		    GC_wait_for_reclaim();
-#		endif
-		if (GC_n_attempts < MAX_PRIOR_ATTEMPTS
-		    && GC_time_limit != GC_TIME_UNLIMITED) {
-		  GET_TIME(GC_start_time);
-		  if (!GC_stopped_mark(GC_timeout_stop_func)) {
-		    GC_n_attempts++;
-		    break;
-		  }
-		} else {
-		  (void)GC_stopped_mark(GC_never_stop_func);
-		}
-    	        GC_finish_collection();
-    	        break;
-    	    }
-    	}
-    	if (GC_deficit > 0) GC_deficit -= GC_RATE*n;
-	if (GC_deficit < 0) GC_deficit = 0;
-    } else {
-        GC_maybe_gc();
-    }
-}
-
-int GC_collect_a_little(void)
-{
-    int result;
-    DCL_LOCK_STATE;
-
-    LOCK();
-    GC_collect_a_little_inner(1);
-    result = (int)GC_collection_in_progress();
-    UNLOCK();
-    if (!result && GC_debugging_started) GC_print_all_smashed();
-    return(result);
-}
-
-/*
- * Assumes lock is held, signals are disabled.
- * We stop the world.
- * If stop_func() ever returns TRUE, we may fail and return FALSE.
- * Increment GC_gc_no if we succeed.
- */
-GC_bool GC_stopped_mark(GC_stop_func stop_func)
-{
-    unsigned i;
-    int dummy;
-    CLOCK_TYPE start_time, current_time;
-	
-    if (GC_print_stats)
-	GET_TIME(start_time);
-
-#   if defined(REGISTER_LIBRARIES_EARLY)
-        GC_cond_register_dynamic_libraries();
-#   endif
-    STOP_WORLD();
-    IF_THREADS(GC_world_stopped = TRUE);
-    if (GC_print_stats) {
-	GC_log_printf("--> Marking for collection %lu ",
-		  (unsigned long)GC_gc_no + 1);
-	GC_log_printf("after %lu allocd bytes\n",
-	   	   (unsigned long) GC_bytes_allocd);
-    }
-#   ifdef MAKE_BACK_GRAPH
-      if (GC_print_back_height) {
-        GC_build_back_graph();
-      }
-#   endif
-
-    /* Mark from all roots.  */
-        /* Minimize junk left in my registers and on the stack */
-            GC_clear_a_few_frames();
-            GC_noop(0,0,0,0,0,0);
-	GC_initiate_gc();
-	for(i = 0;;i++) {
-	    if ((*stop_func)()) {
-		    if (GC_print_stats) {
-		    	GC_log_printf("Abandoned stopped marking after ");
-			GC_log_printf("%u iterations\n", i);
-		    }
-		    GC_deficit = i; /* Give the mutator a chance. */
-                    IF_THREADS(GC_world_stopped = FALSE);
-	            START_WORLD();
-	            return(FALSE);
-	    }
-	    if (GC_mark_some((ptr_t)(&dummy))) break;
-	}
-	
-    GC_gc_no++;
-    if (GC_print_stats) {
-      GC_log_printf("Collection %lu reclaimed %ld bytes",
-		    (unsigned long)GC_gc_no - 1,
-	   	    (long)GC_bytes_found);
-      GC_log_printf(" ---> heapsize = %lu bytes\n",
-      	        (unsigned long) GC_heapsize);
-        /* Printf arguments may be pushed in funny places.  Clear the	*/
-        /* space.							*/
-      GC_log_printf("");
-    }
-
-    /* Check all debugged objects for consistency */
-        if (GC_debugging_started) {
-            (*GC_check_heap)();
-        }
-    
-    IF_THREADS(GC_world_stopped = FALSE);
-    START_WORLD();
-    if (GC_print_stats) {
-      GET_TIME(current_time);
-      GC_log_printf("World-stopped marking took %lu msecs\n",
-	            MS_TIME_DIFF(current_time,start_time));
-    }
-    return(TRUE);
-}
-
-/* Set all mark bits for the free list whose first entry is q	*/
-void GC_set_fl_marks(ptr_t q)
-{
-   ptr_t p;
-   struct hblk * h, * last_h = 0;
-   hdr *hhdr;  /* gcc "might be uninitialized" warning is bogus. */
-   IF_PER_OBJ(size_t sz;)
-   unsigned bit_no;
-
-   for (p = q; p != 0; p = obj_link(p)){
-	h = HBLKPTR(p);
-	if (h != last_h) {
-	  last_h = h; 
-	  hhdr = HDR(h);
-	  IF_PER_OBJ(sz = hhdr->hb_sz;)
-	}
-	bit_no = MARK_BIT_NO((ptr_t)p - (ptr_t)h, sz);
-	if (!mark_bit_from_hdr(hhdr, bit_no)) {
-      	  set_mark_bit_from_hdr(hhdr, bit_no);
-          ++hhdr -> hb_n_marks;
-        }
-   }
-}
-
-#ifdef GC_ASSERTIONS
-/* Check that all mark bits for the free list whose first entry is q	*/
-/* are set.								*/
-void GC_check_fl_marks(ptr_t q)
-{
-   ptr_t p;
-
-   for (p = q; p != 0; p = obj_link(p)){
-	if (!GC_is_marked(p)) {
-	    GC_err_printf("Unmarked object %p on list %p\n", p, q);
-	    ABORT("Unmarked local free list entry.");
-	}
-   }
-}
-#endif
-
-/* Clear all mark bits for the free list whose first entry is q	*/
-/* Decrement GC_bytes_found by number of bytes on free list.	*/
-void GC_clear_fl_marks(ptr_t q)
-{
-   ptr_t p;
-   struct hblk * h, * last_h = 0;
-   hdr *hhdr;
-   size_t sz;
-   unsigned bit_no;
-
-   for (p = q; p != 0; p = obj_link(p)){
-	h = HBLKPTR(p);
-	if (h != last_h) {
-	  last_h = h; 
-	  hhdr = HDR(h);
-	  sz = hhdr->hb_sz;  /* Normally set only once. */
-	}
-	bit_no = MARK_BIT_NO((ptr_t)p - (ptr_t)h, sz);
-	if (mark_bit_from_hdr(hhdr, bit_no)) {
-	  size_t n_marks = hhdr -> hb_n_marks - 1;
-      	  clear_mark_bit_from_hdr(hhdr, bit_no);
-#	  ifdef PARALLEL_MARK
-	    /* Appr. count, don't decrement to zero! */
-	    if (0 != n_marks) {
-              hhdr -> hb_n_marks = n_marks;
-	    }
-#	  else
-            hhdr -> hb_n_marks = n_marks;
-#	  endif
-        }
-	GC_bytes_found -= sz;
-   }
-}
-
-#if defined(GC_ASSERTIONS) && defined(THREADS) && defined(THREAD_LOCAL_ALLOC)
-extern void GC_check_tls(void);
-#endif
-
-/* Finish up a collection.  Assumes lock is held, signals are disabled,	*/
-/* but the world is otherwise running.					*/
-void GC_finish_collection()
-{
-    CLOCK_TYPE start_time;
-    CLOCK_TYPE finalize_time;
-    CLOCK_TYPE done_time;
-	
-#   if defined(GC_ASSERTIONS) && defined(THREADS) \
-       && defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
-	/* Check that we marked some of our own data.  		*/
-        /* FIXME: Add more checks.				*/
-        GC_check_tls();
-#   endif
-
-    if (GC_print_stats)
-      GET_TIME(start_time);
-
-    GC_bytes_found = 0;
-#   if defined(LINUX) && defined(__ELF__) && !defined(SMALL_CONFIG)
-	if (getenv("GC_PRINT_ADDRESS_MAP") != 0) {
-	  GC_print_address_map();
-	}
-#   endif
-    COND_DUMP;
-    if (GC_find_leak) {
-      /* Mark all objects on the free list.  All objects should be */
-      /* marked when we're done.				   */
-	{
-	  word size;		/* current object size		*/
-	  unsigned kind;
-	  ptr_t q;
-
-	  for (kind = 0; kind < GC_n_kinds; kind++) {
-	    for (size = 1; size <= MAXOBJGRANULES; size++) {
-	      q = GC_obj_kinds[kind].ok_freelist[size];
-	      if (q != 0) GC_set_fl_marks(q);
-	    }
-	  }
-	}
-	GC_start_reclaim(TRUE);
-	  /* The above just checks; it doesn't really reclaim anything. */
-    }
-
-    GC_finalize();
-#   ifdef STUBBORN_ALLOC
-      GC_clean_changing_list();
-#   endif
-
-    if (GC_print_stats)
-      GET_TIME(finalize_time);
-
-    if (GC_print_back_height) {
-#     ifdef MAKE_BACK_GRAPH
-	GC_traverse_back_graph();
-#     else
-#	ifndef SMALL_CONFIG
-	  GC_err_printf("Back height not available: "
-		        "Rebuild collector with -DMAKE_BACK_GRAPH\n");
-#  	endif
-#     endif
-    }
-
-    /* Clear free list mark bits, in case they got accidentally marked   */
-    /* (or GC_find_leak is set and they were intentionally marked).	 */
-    /* Also subtract memory remaining from GC_bytes_found count.         */
-    /* Note that composite objects on free list are cleared.             */
-    /* Thus accidentally marking a free list is not a problem;  only     */
-    /* objects on the list itself will be marked, and that's fixed here. */
-      {
-	word size;		/* current object size		*/
-	ptr_t q;	/* pointer to current object	*/
-	unsigned kind;
-
-	for (kind = 0; kind < GC_n_kinds; kind++) {
-	  for (size = 1; size <= MAXOBJGRANULES; size++) {
-	    q = GC_obj_kinds[kind].ok_freelist[size];
-	    if (q != 0) GC_clear_fl_marks(q);
-	  }
-	}
-      }
-
-
-    if (GC_print_stats == VERBOSE)
-	GC_log_printf("Bytes recovered before sweep - f.l. count = %ld\n",
-	          (long)GC_bytes_found);
-    
-    /* Reconstruct free lists to contain everything not marked */
-        GC_start_reclaim(FALSE);
-	if (GC_print_stats) {
-	  GC_log_printf("Heap contains %lu pointer-containing "
-		        "+ %lu pointer-free reachable bytes\n",
-		        (unsigned long)GC_composite_in_use,
-		        (unsigned long)GC_atomic_in_use);
-	}
-        if (GC_is_full_gc)  {
-	    GC_used_heap_size_after_full = USED_HEAP_SIZE;
-	    GC_need_full_gc = FALSE;
-	} else {
-	    GC_need_full_gc =
-		 USED_HEAP_SIZE - GC_used_heap_size_after_full
-		 > min_bytes_allocd();
-	}
-
-    if (GC_print_stats == VERBOSE) {
-	GC_log_printf(
-		  "Immediately reclaimed %ld bytes in heap of size %lu bytes",
-	          (long)GC_bytes_found,
-	          (unsigned long)GC_heapsize);
-#	ifdef USE_MUNMAP
-	  GC_log_printf("(%lu unmapped)", (unsigned long)GC_unmapped_bytes);
-#	endif
-	GC_log_printf("\n");
-    }
-
-    /* Reset or increment counters for next cycle */
-      GC_n_attempts = 0;
-      GC_is_full_gc = FALSE;
-      GC_bytes_allocd_before_gc += GC_bytes_allocd;
-      GC_non_gc_bytes_at_gc = GC_non_gc_bytes;
-      GC_bytes_allocd = 0;
-      GC_bytes_freed = 0;
-      GC_finalizer_bytes_freed = 0;
-      
-#   ifdef USE_MUNMAP
-      GC_unmap_old();
-#   endif
-    if (GC_print_stats) {
-	GET_TIME(done_time);
-	GC_log_printf("Finalize + initiate sweep took %lu + %lu msecs\n",
-	              MS_TIME_DIFF(finalize_time,start_time),
-	              MS_TIME_DIFF(done_time,finalize_time));
-    }
-}
-
-/* Externally callable routine to invoke full, stop-world collection */
-int GC_try_to_collect(GC_stop_func stop_func)
-{
-    int result;
-    DCL_LOCK_STATE;
-    
-    if (!GC_is_initialized) GC_init();
-    if (GC_debugging_started) GC_print_all_smashed();
-    GC_INVOKE_FINALIZERS();
-    LOCK();
-    ENTER_GC();
-    if (!GC_is_initialized) GC_init_inner();
-    /* Minimize junk left in my registers */
-      GC_noop(0,0,0,0,0,0);
-    result = (int)GC_try_to_collect_inner(stop_func);
-    EXIT_GC();
-    UNLOCK();
-    if(result) {
-        if (GC_debugging_started) GC_print_all_smashed();
-        GC_INVOKE_FINALIZERS();
-    }
-    return(result);
-}
-
-void GC_gcollect(void)
-{
-    (void)GC_try_to_collect(GC_never_stop_func);
-    if (GC_have_errors) GC_print_all_errors();
-}
-
-word GC_n_heap_sects = 0;	/* Number of sections currently in heap. */
-
-/*
- * Use the chunk of memory starting at p of size bytes as part of the heap.
- * Assumes p is HBLKSIZE aligned, and bytes is a multiple of HBLKSIZE.
- */
-void GC_add_to_heap(struct hblk *p, size_t bytes)
-{
-    hdr * phdr;
-    
-    if (GC_n_heap_sects >= MAX_HEAP_SECTS) {
-    	ABORT("Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS");
-    }
-    phdr = GC_install_header(p);
-    if (0 == phdr) {
-    	/* This is extremely unlikely. Can't add it.  This will		*/
-    	/* almost certainly result in a	0 return from the allocator,	*/
-    	/* which is entirely appropriate.				*/
-    	return;
-    }
-    GC_heap_sects[GC_n_heap_sects].hs_start = (ptr_t)p;
-    GC_heap_sects[GC_n_heap_sects].hs_bytes = bytes;
-    GC_n_heap_sects++;
-    phdr -> hb_sz = bytes;
-    phdr -> hb_flags = 0;
-    GC_freehblk(p);
-    GC_heapsize += bytes;
-    if ((ptr_t)p <= (ptr_t)GC_least_plausible_heap_addr
-        || GC_least_plausible_heap_addr == 0) {
-        GC_least_plausible_heap_addr = (void *)((ptr_t)p - sizeof(word));
-        	/* Making it a little smaller than necessary prevents	*/
-        	/* us from getting a false hit from the variable	*/
-        	/* itself.  There's some unintentional reflection	*/
-        	/* here.						*/
-    }
-    if ((ptr_t)p + bytes >= (ptr_t)GC_greatest_plausible_heap_addr) {
-        GC_greatest_plausible_heap_addr = (void *)((ptr_t)p + bytes);
-    }
-}
-
-# if !defined(NO_DEBUGGING)
-void GC_print_heap_sects(void)
-{
-    unsigned i;
-    
-    GC_printf("Total heap size: %lu\n", (unsigned long) GC_heapsize);
-    for (i = 0; i < GC_n_heap_sects; i++) {
-        ptr_t start = GC_heap_sects[i].hs_start;
-        size_t len = GC_heap_sects[i].hs_bytes;
-        struct hblk *h;
-        unsigned nbl = 0;
-        
-    	GC_printf("Section %d from %p to %p ", i,
-    		   start, start + len);
-    	for (h = (struct hblk *)start; h < (struct hblk *)(start + len); h++) {
-    	    if (GC_is_black_listed(h, HBLKSIZE)) nbl++;
-    	}
-    	GC_printf("%lu/%lu blacklisted\n", (unsigned long)nbl,
-    		   (unsigned long)(len/HBLKSIZE));
-    }
-}
-# endif
-
-void * GC_least_plausible_heap_addr = (void *)ONES;
-void * GC_greatest_plausible_heap_addr = 0;
-
-static INLINE ptr_t GC_max(ptr_t x, ptr_t y)
-{
-    return(x > y? x : y);
-}
-
-static INLINE ptr_t GC_min(ptr_t x, ptr_t y)
-{
-    return(x < y? x : y);
-}
-
-void GC_set_max_heap_size(GC_word n)
-{
-    GC_max_heapsize = n;
-}
-
-GC_word GC_max_retries = 0;
-
-/*
- * this explicitly increases the size of the heap.  It is used
- * internally, but may also be invoked from GC_expand_hp by the user.
- * The argument is in units of HBLKSIZE.
- * Tiny values of n are rounded up.
- * Returns FALSE on failure.
- */
-GC_bool GC_expand_hp_inner(word n)
-{
-    word bytes;
-    struct hblk * space;
-    word expansion_slop;	/* Number of bytes by which we expect the */
-    				/* heap to expand soon.			  */
-
-    if (n < MINHINCR) n = MINHINCR;
-    bytes = n * HBLKSIZE;
-    /* Make sure bytes is a multiple of GC_page_size */
-      {
-	word mask = GC_page_size - 1;
-	bytes += mask;
-	bytes &= ~mask;
-      }
-    
-    if (GC_max_heapsize != 0 && GC_heapsize + bytes > GC_max_heapsize) {
-        /* Exceeded self-imposed limit */
-        return(FALSE);
-    }
-    space = GET_MEM(bytes);
-    if( space == 0 ) {
-	if (GC_print_stats) {
-	    GC_log_printf("Failed to expand heap by %ld bytes\n",
-		          (unsigned long)bytes);
-	}
-	return(FALSE);
-    }
-    if (GC_print_stats) {
-	GC_log_printf("Increasing heap size by %lu after %lu allocated bytes\n",
-	              (unsigned long)bytes,
-	              (unsigned long)GC_bytes_allocd);
-    }
-    expansion_slop = min_bytes_allocd() + 4*MAXHINCR*HBLKSIZE;
-    if ((GC_last_heap_addr == 0 && !((word)space & SIGNB))
-        || (GC_last_heap_addr != 0 && GC_last_heap_addr < (ptr_t)space)) {
-        /* Assume the heap is growing up */
-        GC_greatest_plausible_heap_addr =
-            (void *)GC_max((ptr_t)GC_greatest_plausible_heap_addr,
-                           (ptr_t)space + bytes + expansion_slop);
-    } else {
-        /* Heap is growing down */
-        GC_least_plausible_heap_addr =
-            (void *)GC_min((ptr_t)GC_least_plausible_heap_addr,
-                           (ptr_t)space - expansion_slop);
-    }
-#   if defined(LARGE_CONFIG)
-      if (((ptr_t)GC_greatest_plausible_heap_addr <= (ptr_t)space + bytes
-           || (ptr_t)GC_least_plausible_heap_addr >= (ptr_t)space)
-	  && GC_heapsize > 0) {
-	/* GC_add_to_heap will fix this, but ... */
-	WARN("Too close to address space limit: blacklisting ineffective\n", 0);
-      }
-#   endif
-    GC_prev_heap_addr = GC_last_heap_addr;
-    GC_last_heap_addr = (ptr_t)space;
-    GC_add_to_heap(space, bytes);
-    /* Force GC before we are likely to allocate past expansion_slop */
-      GC_collect_at_heapsize =
-         GC_heapsize + expansion_slop - 2*MAXHINCR*HBLKSIZE;
-#     if defined(LARGE_CONFIG)
-        if (GC_collect_at_heapsize < GC_heapsize /* wrapped */)
-         GC_collect_at_heapsize = (word)(-1);
-#     endif
-    return(TRUE);
-}
-
-/* Really returns a bool, but it's externally visible, so that's clumsy. */
-/* Arguments is in bytes.						*/
-int GC_expand_hp(size_t bytes)
-{
-    int result;
-    DCL_LOCK_STATE;
-    
-    LOCK();
-    if (!GC_is_initialized) GC_init_inner();
-    result = (int)GC_expand_hp_inner(divHBLKSZ((word)bytes));
-    if (result) GC_requested_heapsize += bytes;
-    UNLOCK();
-    return(result);
-}
-
-unsigned GC_fail_count = 0;  
-			/* How many consecutive GC/expansion failures?	*/
-			/* Reset by GC_allochblk.			*/
-
-GC_bool GC_collect_or_expand(word needed_blocks, GC_bool ignore_off_page)
-{
-    if (!GC_incremental && !GC_dont_gc &&
-	((GC_dont_expand && GC_bytes_allocd > 0) || GC_should_collect())) {
-      GC_gcollect_inner();
-    } else {
-      word blocks_to_get = GC_heapsize/(HBLKSIZE*GC_free_space_divisor)
-      			   + needed_blocks;
-      
-      if (blocks_to_get > MAXHINCR) {
-          word slop;
-          
-	  /* Get the minimum required to make it likely that we		*/
-	  /* can satisfy the current request in the presence of black-	*/
-	  /* listing.  This will probably be more than MAXHINCR.	*/
-          if (ignore_off_page) {
-              slop = 4;
-          } else {
-	      slop = 2*divHBLKSZ(BL_LIMIT);
-	      if (slop > needed_blocks) slop = needed_blocks;
-	  }
-          if (needed_blocks + slop > MAXHINCR) {
-              blocks_to_get = needed_blocks + slop;
-          } else {
-              blocks_to_get = MAXHINCR;
-          }
-      }
-      if (!GC_expand_hp_inner(blocks_to_get)
-        && !GC_expand_hp_inner(needed_blocks)) {
-      	if (GC_fail_count++ < GC_max_retries) {
-      	    WARN("Out of Memory!  Trying to continue ...\n", 0);
-	    GC_gcollect_inner();
-	} else {
-#	    if !defined(AMIGA) || !defined(GC_AMIGA_FASTALLOC)
-	      WARN("Out of Memory!  Returning NIL!\n", 0);
-#	    endif
-	    return(FALSE);
-	}
-      } else {
-          if (GC_fail_count && GC_print_stats) {
-	      GC_printf("Memory available again ...\n");
-	  }
-      }
-    }
-    return(TRUE);
-}
-
-/*
- * Make sure the object free list for size gran (in granules) is not empty.
- * Return a pointer to the first object on the free list.
- * The object MUST BE REMOVED FROM THE FREE LIST BY THE CALLER.
- * Assumes we hold the allocator lock and signals are disabled.
- *
- */
-ptr_t GC_allocobj(size_t gran, int kind)
-{
-    void ** flh = &(GC_obj_kinds[kind].ok_freelist[gran]);
-    GC_bool tried_minor = FALSE;
-    
-    if (gran == 0) return(0);
-
-    while (*flh == 0) {
-      ENTER_GC();
-      /* Do our share of marking work */
-        if(TRUE_INCREMENTAL) GC_collect_a_little_inner(1);
-      /* Sweep blocks for objects of this size */
-        GC_continue_reclaim(gran, kind);
-      EXIT_GC();
-      if (*flh == 0) {
-        GC_new_hblk(gran, kind);
-      }
-      if (*flh == 0) {
-        ENTER_GC();
-	if (GC_incremental && GC_time_limit == GC_TIME_UNLIMITED
-	    && ! tried_minor ) {
-	    GC_collect_a_little_inner(1);
-	    tried_minor = TRUE;
-	} else {
-          if (!GC_collect_or_expand((word)1,FALSE)) {
-	    EXIT_GC();
-	    return(0);
-	  }
-	}
-	EXIT_GC();
-      }
-    }
-    /* Successful allocation; reset failure count.	*/
-    GC_fail_count = 0;
-    
-    return(*flh);
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/alpha_mach_dep.S b/SRC/Boost/tools/build/v2/engine/boehm_gc/alpha_mach_dep.S
deleted file mode 100755
index 5464815..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/alpha_mach_dep.S
+++ /dev/null
@@ -1,86 +0,0 @@
-	.arch ev6
-
-        .text
-        .align  4
-        .globl  GC_push_regs
-        .ent    GC_push_regs 2
-GC_push_regs:
-	ldgp    $gp, 0($27)
-	lda     $sp, -16($sp)
-	stq     $26, 0($sp)
-        .mask   0x04000000, 0
-        .frame  $sp, 16, $26, 0
-
-/* $0		integer result                                                */
-/* $1-$8	temp regs - not preserved cross calls                         */
-/* $9-$15	call saved regs                                               */
-/* $16-$21	argument regs - not preserved cross calls                     */
-/* $22-$28	temp regs - not preserved cross calls                         */
-/* $29		global pointer - not preserved cross calls                    */
-/* $30		stack pointer                                                 */
-
-# define call_push(x)			\
-	mov   x, $16;			\
-	jsr   $26, GC_push_one;		\
-	ldgp  $gp, 0($26)
-	
-        call_push($9)
-        call_push($10)
-        call_push($11)
-        call_push($12)
-        call_push($13)
-        call_push($14)
-        call_push($15)
-
-/* $f0-$f1	floating point results                                        */
-/* $f2-$f9	call saved regs                                               */
-/* $f10-$f30	temp regs - not preserved cross calls                         */
-
-	/* Use the most efficient transfer method for this hardware. */
-	/* Bit 1 detects the FIX extension, which includes ftoit. */
-	amask	2, $0
-	bne	$0, $use_stack
-
-#undef call_push
-#define call_push(x)			\
-	ftoit	x, $16;			\
-	jsr	$26, GC_push_one;	\
-	ldgp	$gp, 0($26)
-
-	call_push($f2)
-	call_push($f3)
-	call_push($f4)
-	call_push($f5)
-	call_push($f6)
-	call_push($f7)
-	call_push($f8)
-	call_push($f9)
-
-	ldq     $26, 0($sp)
-	lda     $sp, 16($sp)
-	ret     $31, ($26), 1
-
-	.align	4
-$use_stack:
-
-#undef call_push
-#define call_push(x)			\
-	stt	x, 8($sp);		\
-	ldq	$16, 8($sp);		\
-	jsr	$26, GC_push_one;	\
-	ldgp	$gp, 0($26)
-
-	call_push($f2)
-	call_push($f3)
-	call_push($f4)
-	call_push($f5)
-	call_push($f6)
-	call_push($f7)
-	call_push($f8)
-	call_push($f9)
-
-	ldq     $26, 0($sp)
-	lda     $sp, 16($sp)
-	ret     $31, ($26), 1
-
-	.end    GC_push_regs
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/backgraph.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/backgraph.c
deleted file mode 100755
index 5dee37e..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/backgraph.c
+++ /dev/null
@@ -1,469 +0,0 @@
-/*
- * Copyright (c) 2001 by Hewlett-Packard Company. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-
-/*
- * This implements a full, though not well-tuned, representation of the
- * backwards points-to graph.  This is used to test for non-GC-robust
- * data structures; the code is not used during normal garbage collection.
- *
- * One restriction is that we drop all back-edges from nodes with very
- * high in-degree, and simply add them add them to a list of such
- * nodes.  They are then treated as permanent roots.  Id this by itself
- * doesn't introduce a space leak, then such nodes can't contribute to
- * a growing space leak.
- */
-
-#ifdef MAKE_BACK_GRAPH
-
-#define MAX_IN	10	/* Maximum in-degree we handle directly */
-
-#include "private/dbg_mlc.h"
-#include <unistd.h>
-
-#if !defined(DBG_HDRS_ALL) || (ALIGNMENT != CPP_WORDSZ/8) || !defined(UNIX_LIKE)
-# error Configuration doesnt support MAKE_BACK_GRAPH
-#endif
-
-/* We store single back pointers directly in the object's oh_bg_ptr field.   */
-/* If there is more than one ptr to an object, we store q | FLAG_MANY, 	     */
-/* where q is a pointer to a back_edges object.				     */
-/* Every once in a while we use a back_edges object even for a single	     */
-/* pointer, since we need the other fields in the back_edges structure to    */
-/* be present in some fraction of the objects.  Otherwise we get serious     */
-/* performance issues.							     */
-#define FLAG_MANY 2
-
-typedef struct back_edges_struct {
-  word n_edges;	/* Number of edges, including those in continuation	*/
-  		/* structures.						*/
-  unsigned short flags;
-#	define RETAIN 1	/* Directly points to a reachable object;	*/
-  			/* retain for next GC.				*/
-  unsigned short height_gc_no;
-  		/* If height > 0, then the GC_gc_no value when it	*/
-  		/* was computed.  If it was computed this cycle, then	*/
-  		/* it is current.  If it was computed during the	*/
-  		/* last cycle, then it represents the old height,	*/
-  		/* which is only saved for live objects referenced by	*/
-  		/* dead ones.  This may grow due to refs from newly	*/
-		/* dead objects.				        */
-  signed_word height;
-  		/* Longest path through unreachable nodes to this node	*/
-  		/* that we found using depth first search.		*/
-  
-#   define HEIGHT_UNKNOWN ((signed_word)(-2))
-#   define HEIGHT_IN_PROGRESS ((signed_word)(-1))
-  ptr_t edges[MAX_IN];
-  struct back_edges_struct *cont;
-  		/* Pointer to continuation structure; we use only the	*/
-  		/* edges field in the continuation.			*/
-  		/* also used as free list link.				*/
-} back_edges;
-
-/* Allocate a new back edge structure.  Should be more sophisticated	*/
-/* if this were production code.					*/
-#define MAX_BACK_EDGE_STRUCTS 100000
-static back_edges *back_edge_space = 0;
-int GC_n_back_edge_structs = 0;	/* Serves as pointer to never used	*/
-				/* back_edges space.			*/
-static back_edges *avail_back_edges = 0;
-				/* Pointer to free list of deallocated	*/
-				/* back_edges structures.		*/
-
-static back_edges * new_back_edges(void)
-{
-  if (0 == back_edge_space) {
-    back_edge_space = (back_edges *)
-	    		GET_MEM(MAX_BACK_EDGE_STRUCTS*sizeof(back_edges));
-  }
-  if (0 != avail_back_edges) {
-    back_edges * result = avail_back_edges;
-    avail_back_edges = result -> cont;
-    result -> cont = 0;
-    return result;
-  }
-  if (GC_n_back_edge_structs >= MAX_BACK_EDGE_STRUCTS - 1) {
-    ABORT("needed too much space for back edges: adjust "
-	  "MAX_BACK_EDGE_STRUCTS");
-  }
-  return back_edge_space + (GC_n_back_edge_structs++);
-}
-
-/* Deallocate p and its associated continuation structures.	*/
-static void deallocate_back_edges(back_edges *p)
-{
-   back_edges *last = p;
-
-   while (0 != last -> cont) last = last -> cont;
-   last -> cont = avail_back_edges;
-   avail_back_edges = p;
-}
-
-/* Table of objects that are currently on the depth-first search	*/
-/* stack.  Only objects with in-degree one are in this table.		*/
-/* Other objects are identified using HEIGHT_IN_PROGRESS.		*/
-/* FIXME: This data structure NEEDS IMPROVEMENT.			*/
-#define INITIAL_IN_PROGRESS 10000
-static ptr_t * in_progress_space = 0;
-static size_t in_progress_size = 0;
-static size_t n_in_progress = 0;
-
-static void push_in_progress(ptr_t p)
-{
-  if (n_in_progress >= in_progress_size) 
-    if (in_progress_size == 0) {
-      in_progress_size = INITIAL_IN_PROGRESS;
-      in_progress_space = (ptr_t *)GET_MEM(in_progress_size * sizeof(ptr_t));
-    } else {
-      ptr_t * new_in_progress_space;
-      in_progress_size *= 2;
-      new_in_progress_space = (ptr_t *)
-	      			GET_MEM(in_progress_size * sizeof(ptr_t));
-      BCOPY(in_progress_space, new_in_progress_space,
-	    n_in_progress * sizeof(ptr_t));
-      in_progress_space = new_in_progress_space;
-      /* FIXME: This just drops the old space.	*/
-    }
-  if (in_progress_space == 0)
-      ABORT("MAKE_BACK_GRAPH: Out of in-progress space: "
-	    "Huge linear data structure?");
-  in_progress_space[n_in_progress++] = p;
-}
-
-static GC_bool is_in_progress(ptr_t p)
-{
-  int i;
-  for (i = 0; i < n_in_progress; ++i) {
-    if (in_progress_space[i] == p) return TRUE;
-  }
-  return FALSE;
-}
-
-static void pop_in_progress(ptr_t p)
-{
-  --n_in_progress;
-  GC_ASSERT(in_progress_space[n_in_progress] == p);
-}
-
-#define GET_OH_BG_PTR(p) \
-		(ptr_t)REVEAL_POINTER(((oh *)(p)) -> oh_bg_ptr)
-#define SET_OH_BG_PTR(p,q) (((oh *)(p)) -> oh_bg_ptr) = HIDE_POINTER(q)
-
-/* Execute s once for each predecessor q of p in the points-to graph. 	*/
-/* s should be a bracketed statement.  We declare q.			*/
-#define FOR_EACH_PRED(q, p, s) \
-  { \
-    ptr_t q = GET_OH_BG_PTR(p); \
-    if (!((word)q & FLAG_MANY)) { \
-      if (q && !((word)q & 1)) s \
-	      /* !((word)q & 1) checks for a misnterpreted freelist link */ \
-    } else { \
-      back_edges *orig_be_ = (back_edges *)((word)q & ~FLAG_MANY); \
-      back_edges *be_ = orig_be_; \
-      int total_, local_; \
-      int n_edges_ = be_ -> n_edges; \
-      for (total_ = 0, local_ = 0; total_ < n_edges_; ++local_, ++total_) { \
-	  if (local_ == MAX_IN) { \
-	      be_ = be_ -> cont; \
-	      local_ = 0; \
-	  } \
-	  q = be_ -> edges[local_]; s \
-      } \
-    } \
-  }
-
-/* Ensure that p has a back_edges structure associated with it.	*/
-static void ensure_struct(ptr_t p)
-{
-  ptr_t old_back_ptr = GET_OH_BG_PTR(p);
-
-  if (!((word)old_back_ptr & FLAG_MANY)) {
-    back_edges *be = new_back_edges();
-    be -> flags = 0;
-    if (0 == old_back_ptr) {
-      be -> n_edges = 0;
-    } else {
-      be -> n_edges = 1;
-      be -> edges[0] = old_back_ptr;
-    }
-    be -> height = HEIGHT_UNKNOWN;
-    be -> height_gc_no = GC_gc_no - 1;
-    GC_ASSERT(be >= back_edge_space);
-    SET_OH_BG_PTR(p, (word)be | FLAG_MANY);
-  }
-}
-
-/* Add the (forward) edge from p to q to the backward graph.  Both p	*/
-/* q are pointers to the object base, i.e. pointers to an oh.		*/
-static void add_edge(ptr_t p,  ptr_t q)
-{
-    ptr_t old_back_ptr = GET_OH_BG_PTR(q);
-    back_edges * be, *be_cont;
-    word i;
-    static unsigned random_number = 13;
-#   define GOT_LUCKY_NUMBER (((++random_number) & 0x7f) == 0)
-      /* A not very random number we use to occasionally allocate a	*/
-      /* back_edges structure even for a single backward edge.  This	*/
-      /* prevents us from repeatedly tracing back through very long	*/
-      /* chains, since we will have some place to store height and	*/
-      /* in_progress flags along the way.				*/
-
-    GC_ASSERT(p == GC_base(p) && q == GC_base(q));
-    if (!GC_HAS_DEBUG_INFO(q) || !GC_HAS_DEBUG_INFO(p)) {
-      /* This is really a misinterpreted free list link, since we saw */
-      /* a pointer to a free list.  Dont overwrite it!		      */
-      return;
-    }
-    if (0 == old_back_ptr) {
-	SET_OH_BG_PTR(q, p);
-	if (GOT_LUCKY_NUMBER) ensure_struct(q);
-	return;
-    }
-    /* Check whether it was already in the list of predecessors. */
-      FOR_EACH_PRED(pred, q, { if (p == pred) return; });
-    ensure_struct(q);
-    old_back_ptr = GET_OH_BG_PTR(q);
-    be = (back_edges *)((word)old_back_ptr & ~FLAG_MANY);
-    for (i = be -> n_edges, be_cont = be; i > MAX_IN;
-	be_cont = be_cont -> cont, i -= MAX_IN) {}
-    if (i == MAX_IN) {
-	be_cont -> cont = new_back_edges();
-	be_cont = be_cont -> cont;
-	i = 0;
-    }
-    be_cont -> edges[i] = p;
-    be -> n_edges++;
-    if (be -> n_edges == 100) {
-#       if 0
-	  if (GC_print_stats) {
-	    GC_err_printf("The following object has in-degree >= 100:\n");
-	    GC_print_heap_obj(q);
-	  }
-#	endif
-    }
-}
-
-typedef void (*per_object_func)(ptr_t p, size_t n_bytes, word gc_descr);
-
-static void per_object_helper(struct hblk *h, word fn)
-{
-  hdr * hhdr = HDR(h);
-  size_t sz = hhdr -> hb_sz;
-  word descr = hhdr -> hb_descr;
-  per_object_func f = (per_object_func)fn;
-  int i = 0;
-
-  do {
-    f((ptr_t)(h -> hb_body + i), sz, descr);
-    i += sz;
-  } while (i + sz <= BYTES_TO_WORDS(HBLKSIZE));
-}
-
-void GC_apply_to_each_object(per_object_func f)
-{
-  GC_apply_to_all_blocks(per_object_helper, (word)f);
-}
-
-static void reset_back_edge(ptr_t p, size_t n_bytes, word gc_descr)
-{
-  /* Skip any free list links, or dropped blocks */
-  if (GC_HAS_DEBUG_INFO(p)) {
-    ptr_t old_back_ptr = GET_OH_BG_PTR(p);
-    if ((word)old_back_ptr & FLAG_MANY) {
-      back_edges *be = (back_edges *)((word)old_back_ptr & ~FLAG_MANY);
-      if (!(be -> flags & RETAIN)) {
-	deallocate_back_edges(be);
-        SET_OH_BG_PTR(p, 0); 
-      } else {
-        word *currentp;
-
-	GC_ASSERT(GC_is_marked(p));
-
-	/* Back edges may point to objects that will not be retained. 	*/
-	/* Delete them for now, but remember the height.		*/
-	/* Some will be added back at next GC.				*/
-	  be -> n_edges = 0;
-	  if (0 != be -> cont) {
-	    deallocate_back_edges(be -> cont);
-	    be -> cont = 0;
-	  }
-
-	GC_ASSERT(GC_is_marked(p));
-
-	/* We only retain things for one GC cycle at a time.		*/
-	  be -> flags &= ~RETAIN;
-      }
-    } else /* Simple back pointer */ {
-      /* Clear to avoid dangling pointer. */
-      SET_OH_BG_PTR(p, 0);
-    }
-  }
-}
-
-static void add_back_edges(ptr_t p, size_t n_bytes, word gc_descr)
-{
-  word *currentp = (word *)(p + sizeof(oh));
-
-  /* For now, fix up non-length descriptors conservatively.	*/
-    if((gc_descr & GC_DS_TAGS) != GC_DS_LENGTH) {
-      gc_descr = n_bytes;
-    }
-  while (currentp < (word *)(p + gc_descr)) {
-    word current = *currentp++;
-    FIXUP_POINTER(current);
-    if (current >= (word)GC_least_plausible_heap_addr && 
-	current <= (word)GC_greatest_plausible_heap_addr) {
-       ptr_t target = GC_base((void *)current);
-       if (0 != target) {
-	 add_edge(p, target);
-       }
-    }
-  }
-}
-
-/* Rebuild the representation of the backward reachability graph.	*/
-/* Does not examine mark bits.  Can be called before GC.		*/
-void GC_build_back_graph(void)
-{
-  GC_apply_to_each_object(add_back_edges);
-}
-
-/* Return an approximation to the length of the longest simple path	*/
-/* through unreachable objects to p.  We refer to this as the height	*/
-/* of p.								*/
-static word backwards_height(ptr_t p)
-{
-  word result;
-  ptr_t back_ptr = GET_OH_BG_PTR(p);
-  back_edges *be;
-
-  if (0 == back_ptr) return 1;
-  if (!((word)back_ptr & FLAG_MANY)) {
-    if (is_in_progress(p)) return 0;  /* DFS back edge, i.e. we followed  */
-    				      /* an edge to an object already	  */
-    				      /* on our stack: ignore		  */
-    push_in_progress(p);
-    result = backwards_height(back_ptr)+1;
-    pop_in_progress(p);
-    return result;
-  }
-  be = (back_edges *)((word)back_ptr & ~FLAG_MANY);
-  if (be -> height >= 0 && be -> height_gc_no == GC_gc_no)
-      return be -> height;
-  /* Ignore back edges in DFS */
-    if (be -> height == HEIGHT_IN_PROGRESS) return 0;
-  result = (be -> height > 0? be -> height : 1);
-  be -> height = HEIGHT_IN_PROGRESS;
-  FOR_EACH_PRED(q, p, {
-    word this_height;
-    if (GC_is_marked(q) && !(FLAG_MANY & (word)GET_OH_BG_PTR(p))) {
-      if (GC_print_stats)
-	  GC_log_printf("Found bogus pointer from 0x%lx to 0x%lx\n", q, p);
-	/* Reachable object "points to" unreachable one.		*/
-	/* Could be caused by our lax treatment of GC descriptors.	*/
-      this_height = 1;
-    } else {
-        this_height = backwards_height(q);
-    }
-    if (this_height >= result) result = this_height + 1;
-  });
-  be -> height = result;
-  be -> height_gc_no = GC_gc_no;
-  return result;
-}
-
-word GC_max_height;
-ptr_t GC_deepest_obj;
-
-/* Compute the maximum height of every unreachable predecessor p of  a 	*/
-/* reachable object.  Arrange to save the heights of all such objects p	*/
-/* so that they can be used in calculating the height of objects in the	*/
-/* next GC.								*/
-/* Set GC_max_height to be the maximum height we encounter, and 	*/
-/* GC_deepest_obj to be the corresponding object.			*/
-static void update_max_height(ptr_t p, size_t n_bytes, word gc_descr)
-{
-  if (GC_is_marked(p) && GC_HAS_DEBUG_INFO(p)) {
-    int i;
-    word p_height = 0;
-    ptr_t p_deepest_obj = 0;
-    ptr_t back_ptr;
-    back_edges *be = 0;
-
-    /* If we remembered a height last time, use it as a minimum.	*/
-    /* It may have increased due to newly unreachable chains pointing	*/
-    /* to p, but it can't have decreased.				*/
-    back_ptr = GET_OH_BG_PTR(p);
-    if (0 != back_ptr && ((word)back_ptr & FLAG_MANY)) {
-      be = (back_edges *)((word)back_ptr & ~FLAG_MANY);
-      if (be -> height != HEIGHT_UNKNOWN) p_height = be -> height;
-    }
-    FOR_EACH_PRED(q, p, {
-      if (!GC_is_marked(q) && GC_HAS_DEBUG_INFO(q)) {
-        word q_height;
-
-        q_height = backwards_height(q);
-	if (q_height > p_height) {
-	  p_height = q_height;
-	  p_deepest_obj = q;
-	}
-      }
-    });
-    if (p_height > 0) {
-      /* Remember the height for next time. */
-	if (be == 0) {
-    	  ensure_struct(p);
-    	  back_ptr = GET_OH_BG_PTR(p);
-  	  be = (back_edges *)((word)back_ptr & ~FLAG_MANY);
-	}
-	be -> flags |= RETAIN;
-	be -> height = p_height;
-	be -> height_gc_no = GC_gc_no;
-    }
-    if (p_height > GC_max_height) {
-	GC_max_height = p_height;
-	GC_deepest_obj = p_deepest_obj;
-    }
-  }
-}
-
-word GC_max_max_height = 0;
-
-void GC_traverse_back_graph(void)
-{
-  GC_max_height = 0;
-  GC_apply_to_each_object(update_max_height);
-  if (0 != GC_deepest_obj)
-    GC_set_mark_bit(GC_deepest_obj);  /* Keep it until we can print it. */
-}
-
-void GC_print_back_graph_stats(void)
-{
-  GC_printf("Maximum backwards height of reachable objects at GC %lu is %ld\n",
-	    (unsigned long) GC_gc_no, (unsigned long)GC_max_height);
-  if (GC_max_height > GC_max_max_height) {
-    GC_max_max_height = GC_max_height;
-    GC_printf("The following unreachable object is last in a longest chain "
-	      "of unreachable objects:\n");
-    GC_print_heap_obj(GC_deepest_obj);
-  }
-  if (GC_print_stats) {
-    GC_log_printf("Needed max total of %ld back-edge structs\n",
-	          GC_n_back_edge_structs);
-  }
-  GC_apply_to_each_object(reset_back_edge);
-  GC_deepest_obj = 0;
-}
-
-#endif /* MAKE_BACK_GRAPH */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/bdw-gc.pc b/SRC/Boost/tools/build/v2/engine/boehm_gc/bdw-gc.pc
deleted file mode 100755
index 0a2250b..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/bdw-gc.pc
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=/usr/local
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: Boehm-Demers-Weiser Conservative Garbage Collector
-Description: A garbage collector for C and C++
-Version: 7.0
-Libs: -L${libdir} -lgc
-Cflags: -I${includedir}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/bdw-gc.pc.in b/SRC/Boost/tools/build/v2/engine/boehm_gc/bdw-gc.pc.in
deleted file mode 100755
index 0a2eb67..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/bdw-gc.pc.in
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: Boehm-Demers-Weiser Conservative Garbage Collector
-Description: A garbage collector for C and C++
-Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -lgc
-Cflags: -I${includedir}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/blacklst.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/blacklst.c
deleted file mode 100755
index 3a69c94..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/blacklst.c
+++ /dev/null
@@ -1,285 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, August 9, 1995 6:09 pm PDT */
-# include "private/gc_priv.h"
-
-/*
- * We maintain several hash tables of hblks that have had false hits.
- * Each contains one bit per hash bucket;  If any page in the bucket
- * has had a false hit, we assume that all of them have.
- * See the definition of page_hash_table in gc_private.h.
- * False hits from the stack(s) are much more dangerous than false hits
- * from elsewhere, since the former can pin a large object that spans the
- * block, eventhough it does not start on the dangerous block.
- */
- 
-/*
- * Externally callable routines are:
- 
- * GC_add_to_black_list_normal
- * GC_add_to_black_list_stack
- * GC_promote_black_lists
- * GC_is_black_listed
- *
- * All require that the allocator lock is held.
- */
-
-/* Pointers to individual tables.  We replace one table by another by 	*/
-/* switching these pointers. 						*/
-word * GC_old_normal_bl;
-		/* Nonstack false references seen at last full		*/
-		/* collection.						*/
-word * GC_incomplete_normal_bl;
-		/* Nonstack false references seen since last		*/
-		/* full collection.					*/
-word * GC_old_stack_bl;
-word * GC_incomplete_stack_bl;
-
-word GC_total_stack_black_listed;
-
-word GC_black_list_spacing = MINHINCR*HBLKSIZE;  /* Initial rough guess */
-
-void GC_clear_bl(word *);
-
-void GC_default_print_heap_obj_proc(ptr_t p)
-{
-    ptr_t base = GC_base(p);
-
-    GC_err_printf("start: %p, appr. length: %ld", base,
-		  (unsigned long)GC_size(base));
-}
-
-void (*GC_print_heap_obj) (ptr_t p) = GC_default_print_heap_obj_proc;
-
-void GC_print_source_ptr(ptr_t p)
-{
-    ptr_t base = GC_base(p);
-    if (0 == base) {
-	if (0 == p) {
-	    GC_err_printf("in register");
-	} else {
-	    GC_err_printf("in root set");
-	}
-    } else {
-	GC_err_printf("in object at ");
-	(*GC_print_heap_obj)(base);
-    }
-}
-
-void GC_bl_init(void)
-{
-    if (!GC_all_interior_pointers) {
-      GC_old_normal_bl = (word *)
-    			 GC_scratch_alloc((word)(sizeof (page_hash_table)));
-      GC_incomplete_normal_bl = (word *)GC_scratch_alloc
-    					((word)(sizeof(page_hash_table)));
-      if (GC_old_normal_bl == 0 || GC_incomplete_normal_bl == 0) {
-        GC_err_printf("Insufficient memory for black list\n");
-        EXIT();
-      }
-      GC_clear_bl(GC_old_normal_bl);
-      GC_clear_bl(GC_incomplete_normal_bl);
-    }
-    GC_old_stack_bl = (word *)GC_scratch_alloc((word)(sizeof(page_hash_table)));
-    GC_incomplete_stack_bl = (word *)GC_scratch_alloc
-    					((word)(sizeof(page_hash_table)));
-    if (GC_old_stack_bl == 0 || GC_incomplete_stack_bl == 0) {
-        GC_err_printf("Insufficient memory for black list\n");
-        EXIT();
-    }
-    GC_clear_bl(GC_old_stack_bl);
-    GC_clear_bl(GC_incomplete_stack_bl);
-}
-		
-void GC_clear_bl(word *doomed)
-{
-    BZERO(doomed, sizeof(page_hash_table));
-}
-
-void GC_copy_bl(word *old, word *new)
-{
-    BCOPY(old, new, sizeof(page_hash_table));
-}
-
-static word total_stack_black_listed(void);
-
-/* Signal the completion of a collection.  Turn the incomplete black	*/
-/* lists into new black lists, etc.					*/			 
-void GC_promote_black_lists(void)
-{
-    word * very_old_normal_bl = GC_old_normal_bl;
-    word * very_old_stack_bl = GC_old_stack_bl;
-    
-    GC_old_normal_bl = GC_incomplete_normal_bl;
-    GC_old_stack_bl = GC_incomplete_stack_bl;
-    if (!GC_all_interior_pointers) {
-      GC_clear_bl(very_old_normal_bl);
-    }
-    GC_clear_bl(very_old_stack_bl);
-    GC_incomplete_normal_bl = very_old_normal_bl;
-    GC_incomplete_stack_bl = very_old_stack_bl;
-    GC_total_stack_black_listed = total_stack_black_listed();
-    if (GC_print_stats == VERBOSE)
-  	GC_log_printf("%ld bytes in heap blacklisted for interior pointers\n",
-  		      (unsigned long)GC_total_stack_black_listed);
-    if (GC_total_stack_black_listed != 0) {
-        GC_black_list_spacing =
-		HBLKSIZE*(GC_heapsize/GC_total_stack_black_listed);
-    }
-    if (GC_black_list_spacing < 3 * HBLKSIZE) {
-    	GC_black_list_spacing = 3 * HBLKSIZE;
-    }
-    if (GC_black_list_spacing > MAXHINCR * HBLKSIZE) {
-	GC_black_list_spacing = MAXHINCR * HBLKSIZE;
-	/* Makes it easier to allocate really huge blocks, which otherwise */
-	/* may have problems with nonuniform blacklist distributions.	   */
-	/* This way we should always succeed immediately after growing the */ 
-	/* heap.							   */
-    }
-}
-
-void GC_unpromote_black_lists(void)
-{
-    if (!GC_all_interior_pointers) {
-      GC_copy_bl(GC_old_normal_bl, GC_incomplete_normal_bl);
-    }
-    GC_copy_bl(GC_old_stack_bl, GC_incomplete_stack_bl);
-}
-
-/* P is not a valid pointer reference, but it falls inside	*/
-/* the plausible heap bounds.					*/
-/* Add it to the normal incomplete black list if appropriate.	*/
-#ifdef PRINT_BLACK_LIST
-  void GC_add_to_black_list_normal(word p, ptr_t source)
-#else
-  void GC_add_to_black_list_normal(word p)
-#endif
-{
-    if (!(GC_modws_valid_offsets[p & (sizeof(word)-1)])) return;
-    {
-        word index = PHT_HASH((word)p);
-        
-        if (HDR(p) == 0 || get_pht_entry_from_index(GC_old_normal_bl, index)) {
-#   	    ifdef PRINT_BLACK_LIST
-		if (!get_pht_entry_from_index(GC_incomplete_normal_bl, index)) {
-	    	  GC_err_printf(
-			"Black listing (normal) %p referenced from %p ",
-	    	        (ptr_t) p, source);
-		  GC_print_source_ptr(source);
-		  GC_err_puts("\n");
-	    	}
-#           endif
-            set_pht_entry_from_index(GC_incomplete_normal_bl, index);
-        } /* else this is probably just an interior pointer to an allocated */
-          /* object, and isn't worth black listing.			    */
-    }
-}
-
-/* And the same for false pointers from the stack. */
-#ifdef PRINT_BLACK_LIST
-  void GC_add_to_black_list_stack(word p, ptr_t source)
-  ptr_t source;
-#else
-  void GC_add_to_black_list_stack(word p)
-#endif
-{
-    word index = PHT_HASH((word)p);
-        
-    if (HDR(p) == 0 || get_pht_entry_from_index(GC_old_stack_bl, index)) {
-#   	ifdef PRINT_BLACK_LIST
-	    if (!get_pht_entry_from_index(GC_incomplete_stack_bl, index)) {
-	    	  GC_err_printf(
-			"Black listing (stack) %p referenced from %p ",
-	    	        (ptr_t)p, source);
-		  GC_print_source_ptr(source);
-		  GC_err_puts("\n");
-	    }
-#       endif
-	set_pht_entry_from_index(GC_incomplete_stack_bl, index);
-    }
-}
-
-/*
- * Is the block starting at h of size len bytes black listed?   If so,
- * return the address of the next plausible r such that (r, len) might not
- * be black listed.  (R may not actually be in the heap.  We guarantee only
- * that every smaller value of r after h is also black listed.)
- * If (h,len) is not black listed, return 0.
- * Knows about the structure of the black list hash tables.
- */
-struct hblk * GC_is_black_listed(struct hblk *h, word len)
-{
-    word index = PHT_HASH((word)h);
-    word i;
-    word nblocks = divHBLKSZ(len);
-
-    if (!GC_all_interior_pointers) {
-      if (get_pht_entry_from_index(GC_old_normal_bl, index)
-          || get_pht_entry_from_index(GC_incomplete_normal_bl, index)) {
-        return(h+1);
-      }
-    }
-    
-    for (i = 0; ; ) {
-        if (GC_old_stack_bl[divWORDSZ(index)] == 0
-            && GC_incomplete_stack_bl[divWORDSZ(index)] == 0) {
-            /* An easy case */
-            i += WORDSZ - modWORDSZ(index);
-        } else {
-          if (get_pht_entry_from_index(GC_old_stack_bl, index)
-              || get_pht_entry_from_index(GC_incomplete_stack_bl, index)) {
-            return(h+i+1);
-          }
-          i++;
-        }
-        if (i >= nblocks) break;
-        index = PHT_HASH((word)(h+i));
-    }
-    return(0);
-}
-
-
-/* Return the number of blacklisted blocks in a given range.	*/
-/* Used only for statistical purposes.				*/
-/* Looks only at the GC_incomplete_stack_bl.			*/
-word GC_number_stack_black_listed(struct hblk *start, struct hblk *endp1)
-{
-    register struct hblk * h;
-    word result = 0;
-    
-    for (h = start; h < endp1; h++) {
-        word index = PHT_HASH((word)h);
-        
-        if (get_pht_entry_from_index(GC_old_stack_bl, index)) result++;
-    }
-    return(result);
-}
-
-
-/* Return the total number of (stack) black-listed bytes. */
-static word total_stack_black_listed(void)
-{
-    register unsigned i;
-    word total = 0;
-    
-    for (i = 0; i < GC_n_heap_sects; i++) {
-    	struct hblk * start = (struct hblk *) GC_heap_sects[i].hs_start;
-    	size_t len = (word) GC_heap_sects[i].hs_bytes;
-    	struct hblk * endp1 = start + len/HBLKSIZE;
-    	
-    	total += GC_number_stack_black_listed(start, endp1);
-    }
-    return(total * HBLKSIZE);
-}
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/callprocs b/SRC/Boost/tools/build/v2/engine/boehm_gc/callprocs
deleted file mode 100755
index 0ec188c..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/callprocs
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-GC_DEBUG=1
-export GC_DEBUG
-$* 2>&1 | awk '{print "0x3e=c\""$0"\""};/^\t##PC##=/ {if ($2 != 0) {print $2"?i"}}' | adb $1 | sed "s/^		>/>/"
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/checksums.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/checksums.c
deleted file mode 100755
index a5795b7..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/checksums.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (c) 1992-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, March 29, 1995 12:51 pm PST */
-# ifdef CHECKSUMS
-
-# include "private/gc_priv.h"
-
-/* This is debugging code intended to verify the results of dirty bit	*/
-/* computations. Works only in a single threaded environment.		*/
-/* We assume that stubborn objects are changed only when they are 	*/
-/* enabled for writing.  (Certain kinds of writing are actually		*/
-/* safe under other conditions.)					*/
-# define NSUMS 10000
-
-# define OFFSET 0x10000
-
-typedef struct {
-	GC_bool new_valid;
-	word old_sum;
-	word new_sum;
-	struct hblk * block;	/* Block to which this refers + OFFSET  */
-				/* to hide it from collector.		*/
-} page_entry;
-
-page_entry GC_sums [NSUMS];
-
-word GC_checksum(h)
-struct hblk *h;
-{
-    register word *p = (word *)h;
-    register word *lim = (word *)(h+1);
-    register word result = 0;
-    
-    while (p < lim) {
-        result += *p++;
-    }
-    return(result | 0x80000000 /* doesn't look like pointer */);
-}
-
-# ifdef STUBBORN_ALLOC
-/* Check whether a stubborn object from the given block appears on	*/
-/* the appropriate free list.						*/
-GC_bool GC_on_free_list(struct hblk *h)
-struct hblk *h;
-{
-    hdr * hhdr = HDR(h);
-    int sz = BYTES_TO_WORDS(hhdr -> hb_sz);
-    ptr_t p;
-    
-    if (sz > MAXOBJWORDS) return(FALSE);
-    for (p = GC_sobjfreelist[sz]; p != 0; p = obj_link(p)) {
-        if (HBLKPTR(p) == h) return(TRUE);
-    }
-    return(FALSE);
-}
-# endif
- 
-int GC_n_dirty_errors;
-int GC_n_changed_errors;
-int GC_n_clean;
-int GC_n_dirty;
-
-void GC_update_check_page(struct hblk *h, int index)
-{
-    page_entry *pe = GC_sums + index;
-    register hdr * hhdr = HDR(h);
-    struct hblk *b;
-    
-    if (pe -> block != 0 && pe -> block != h + OFFSET) ABORT("goofed");
-    pe -> old_sum = pe -> new_sum;
-    pe -> new_sum = GC_checksum(h);
-#   if !defined(MSWIN32) && !defined(MSWINCE)
-        if (pe -> new_sum != 0x80000000 && !GC_page_was_ever_dirty(h)) {
-            GC_printf("GC_page_was_ever_dirty(%p) is wrong\n", h);
-        }
-#   endif
-    if (GC_page_was_dirty(h)) {
-    	GC_n_dirty++;
-    } else {
-    	GC_n_clean++;
-    }
-    b = h;
-    while (IS_FORWARDING_ADDR_OR_NIL(hhdr) && hhdr != 0) {
-	b -= (word)hhdr;
-	hhdr = HDR(b);
-    }
-    if (pe -> new_valid
-	&& hhdr != 0 && hhdr -> hb_descr != 0 /* may contain pointers */
-	&& pe -> old_sum != pe -> new_sum) {
-    	if (!GC_page_was_dirty(h) || !GC_page_was_ever_dirty(h)) {
-    	    /* Set breakpoint here */GC_n_dirty_errors++;
-    	}
-#	ifdef STUBBORN_ALLOC
-    	  if (!HBLK_IS_FREE(hhdr)
-    	    && hhdr -> hb_obj_kind == STUBBORN
-    	    && !GC_page_was_changed(h)
-    	    && !GC_on_free_list(h)) {
-    	    /* if GC_on_free_list(h) then reclaim may have touched it	*/
-    	    /* without any allocations taking place.			*/
-    	    /* Set breakpoint here */GC_n_changed_errors++;
-    	  }
-#	endif
-    }
-    pe -> new_valid = TRUE;
-    pe -> block = h + OFFSET;
-}
-
-unsigned long GC_bytes_in_used_blocks;
-
-void GC_add_block(h, dummy)
-struct hblk *h;
-word dummy;
-{
-   hdr * hhdr = HDR(h);
-   bytes = hhdr -> hb_sz;
-   
-   bytes += HBLKSIZE-1;
-   bytes &= ~(HBLKSIZE-1);
-   GC_bytes_in_used_blocks += bytes;
-}
-
-void GC_check_blocks()
-{
-    unsigned long bytes_in_free_blocks = GC_large_free_bytes;
-    
-    GC_bytes_in_used_blocks = 0;
-    GC_apply_to_all_blocks(GC_add_block, (word)0);
-    GC_printf("GC_bytes_in_used_blocks = %lu, bytes_in_free_blocks = %lu ",
-    	      GC_bytes_in_used_blocks, bytes_in_free_blocks);
-    GC_printf("GC_heapsize = %lu\n", (unsigned long)GC_heapsize);
-    if (GC_bytes_in_used_blocks + bytes_in_free_blocks != GC_heapsize) {
-    	GC_printf("LOST SOME BLOCKS!!\n");
-    }
-}
-
-/* Should be called immediately after GC_read_dirty and GC_read_changed. */
-void GC_check_dirty()
-{
-    register int index;
-    register unsigned i;
-    register struct hblk *h;
-    register ptr_t start;
-    
-    GC_check_blocks();
-    
-    GC_n_dirty_errors = 0;
-    GC_n_changed_errors = 0;
-    GC_n_clean = 0;
-    GC_n_dirty = 0;
-    
-    index = 0;
-    for (i = 0; i < GC_n_heap_sects; i++) {
-    	start = GC_heap_sects[i].hs_start;
-        for (h = (struct hblk *)start;
-             h < (struct hblk *)(start + GC_heap_sects[i].hs_bytes);
-             h++) {
-             GC_update_check_page(h, index);
-             index++;
-             if (index >= NSUMS) goto out;
-        }
-    }
-out:
-    GC_printf("Checked %lu clean and %lu dirty pages\n",
-    	      (unsigned long) GC_n_clean, (unsigned long) GC_n_dirty);
-    if (GC_n_dirty_errors > 0) {
-        GC_printf("Found %lu dirty bit errors\n",
-        	  (unsigned long)GC_n_dirty_errors);
-    }
-    if (GC_n_changed_errors > 0) {
-    	GC_printf("Found %lu changed bit errors\n",
-        	  (unsigned long)GC_n_changed_errors);
-	GC_printf("These may be benign (provoked by nonpointer changes)\n");
-#	ifdef THREADS
-	    GC_printf(
-	    "Also expect 1 per thread currently allocating a stubborn obj.\n");
-#	endif
-    }
-}
-
-# else
-
-extern int GC_quiet;
-	/* ANSI C doesn't allow translation units to be empty.	*/
-	/* So we guarantee this one is nonempty.		*/
-
-# endif /* CHECKSUMS */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/compile b/SRC/Boost/tools/build/v2/engine/boehm_gc/compile
deleted file mode 100755
index 734bf95..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/compile
+++ /dev/null
@@ -1,142 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
-
-scriptversion=2004-10-12.08
-
-# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey at cygnus.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake at gnu.org> or send patches to
-# <automake-patches at gnu.org>.
-
-case $1 in
-  '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
-
-Report bugs to <bug-automake at gnu.org>.
-EOF
-    exit 0
-    ;;
-  -v | --v*)
-    echo "compile $scriptversion"
-    exit 0
-    ;;
-esac
-
-ofile=
-cfile=
-eat=
-
-for arg
-do
-  if test -n "$eat"; then
-    eat=
-  else
-    case $1 in
-      -o)
-	# configure might choose to run compile as `compile cc -o foo foo.c'.
-	# So we strip `-o arg' only if arg is an object.
-	eat=1
-	case $2 in
-	  *.o | *.obj)
-	    ofile=$2
-	    ;;
-	  *)
-	    set x "$@" -o "$2"
-	    shift
-	    ;;
-	esac
-	;;
-      *.c)
-	cfile=$1
-	set x "$@" "$1"
-	shift
-	;;
-      *)
-	set x "$@" "$1"
-	shift
-	;;
-    esac
-  fi
-  shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
-  # If no `-o' option was seen then we might have been invoked from a
-  # pattern rule where we don't need one.  That is ok -- this is a
-  # normal compilation that the losing compiler can handle.  If no
-  # `.c' file was seen then we are probably linking.  That is also
-  # ok.
-  exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
-# that we are using for the .o file.  Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
-while true; do
-  if mkdir "$lockdir" >/dev/null 2>&1; then
-    break
-  fi
-  sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
-  mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
-  mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/configure b/SRC/Boost/tools/build/v2/engine/boehm_gc/configure
deleted file mode 100755
index e2092d1..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/configure
+++ /dev/null
@@ -1,23503 +0,0 @@
-#! /bin/sh
-# From configure.ac Revision: 1.25 .
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for gc 7.0.
-#
-# Report bugs to <Hans.Boehm at hp.com>.
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# 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
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" ""	$as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-  fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-if test "x$CONFIG_SHELL" = x; then
-  if (eval ":") 2>/dev/null; then
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-
-  if test $as_have_required = yes && 	 (eval ":
-(as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0) || { (exit 1); exit 1; }
-
-(
-  as_lineno_1=\$LINENO
-  as_lineno_2=\$LINENO
-  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
-  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
-  :
-else
-  as_candidate_shells=
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  case $as_dir in
-	 /*)
-	   for as_base in sh bash ksh sh5; do
-	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
-	   done;;
-       esac
-done
-IFS=$as_save_IFS
-
-
-      for as_shell in $as_candidate_shells $SHELL; do
-	 # Try only shells that exist, to save several forks.
-	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-		{ ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-_ASEOF
-}; then
-  CONFIG_SHELL=$as_shell
-	       as_have_required=yes
-	       if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-(as_func_return () {
-  (exit $1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
-  break
-fi
-
-fi
-
-      done
-
-      if test "x$CONFIG_SHELL" != x; then
-  for as_var in BASH_ENV ENV
-        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-        done
-        export CONFIG_SHELL
-        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
-    if test $as_have_required = no; then
-  echo This script requires a shell more modern than all the
-      echo shells that I found on your system.  Please install a
-      echo modern shell, or manually run the script under such a
-      echo shell if you do have one.
-      { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
-  echo No shell found that supports shell functions.
-  echo Please tell autoconf at gnu.org about your system,
-  echo including any error possibly output before this
-  echo message
-}
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
-  case `echo 'x\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s='ln -s'
-  # ... but there are two gotchas:
-  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-  # In both cases, we have to default to `cp -p'.
-  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-    as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s=ln
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-        test -d "$1/.";
-      else
-	case $1 in
-        -*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-
-
-# 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
-
-
-
-
-tagnames=${tagnames+${tagnames},}CXX
-
-tagnames=${tagnames+${tagnames},}F77
-
-exec 7<&0 </dev/null 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Identity of this package.
-PACKAGE_NAME='gc'
-PACKAGE_TARNAME='gc'
-PACKAGE_VERSION='7.0'
-PACKAGE_STRING='gc 7.0'
-PACKAGE_BUGREPORT='Hans.Boehm at hp.com'
-
-ac_unique_file="gcj_mlc.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-target
-target_cpu
-target_vendor
-target_os
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-CYGPATH_W
-PACKAGE
-VERSION
-ACLOCAL
-AUTOCONF
-AUTOMAKE
-AUTOHEADER
-MAKEINFO
-install_sh
-STRIP
-INSTALL_STRIP_PROGRAM
-mkdir_p
-AWK
-SET_MAKE
-am__leading_dot
-AMTAR
-am__tar
-am__untar
-MAINTAINER_MODE_TRUE
-MAINTAINER_MODE_FALSE
-MAINT
-GC_VERSION
-CC
-CFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CC
-EXEEXT
-OBJEXT
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-CXX
-CXXFLAGS
-ac_ct_CXX
-CXXDEPMODE
-am__fastdepCXX_TRUE
-am__fastdepCXX_FALSE
-CCAS
-CCASFLAGS
-AR
-RANLIB
-GC_CFLAGS
-THREADDLLIBS
-THREADS_TRUE
-THREADS_FALSE
-PTHREADS_TRUE
-PTHREADS_FALSE
-DARWIN_THREADS_TRUE
-DARWIN_THREADS_FALSE
-WIN32_THREADS_TRUE
-WIN32_THREADS_FALSE
-COMPILER_XLC_TRUE
-COMPILER_XLC_FALSE
-extra_ldflags_libgc
-EXTRA_TEST_LIBS
-target_all
-CPLUSPLUS_TRUE
-CPLUSPLUS_FALSE
-INCLUDES
-CXXINCLUDES
-addobjs
-addlibs
-GREP
-EGREP
-LN_S
-ECHO
-CPP
-CXXCPP
-F77
-FFLAGS
-ac_ct_F77
-LIBTOOL
-ENABLE_GCJ_SUPPORT_TRUE
-ENABLE_GCJ_SUPPORT_FALSE
-UNWINDLIBS
-USE_LIBDIR_TRUE
-USE_LIBDIR_FALSE
-subdirs
-USE_INTERNAL_LIBATOMIC_OPS_TRUE
-USE_INTERNAL_LIBATOMIC_OPS_FALSE
-NEED_ATOMIC_OPS_ASM_TRUE
-NEED_ATOMIC_OPS_ASM_FALSE
-atomic_ops_libs
-LIBOBJS
-LTLIBOBJS'
-ac_subst_files=''
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CXX
-CXXFLAGS
-CCC
-CCAS
-CCASFLAGS
-CPP
-CXXCPP
-F77
-FFLAGS'
-ac_subdirs_all='libatomic_ops'
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-   { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-    eval enable_$ac_feature=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-   { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-    eval enable_$ac_feature=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid package name: $ac_package" >&2
-   { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-    eval with_$ac_package=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid package name: $ac_package" >&2
-   { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-    eval with_$ac_package=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; }
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
-   { (exit 1); exit 1; }; }
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  { echo "$as_me: error: missing argument to $ac_option" >&2
-   { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute directory names.
-for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
-		datadir sysconfdir sharedstatedir localstatedir includedir \
-		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; }
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  { echo "$as_me: error: Working directory cannot be determined" >&2
-   { (exit 1); exit 1; }; }
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  { echo "$as_me: error: pwd does not report name of working directory" >&2
-   { (exit 1); exit 1; }; }
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$0" : 'X\(//\)[^/]' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-   { (exit 1); exit 1; }; }
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
-   { (exit 1); exit 1; }; }
-	pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures gc 7.0 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-			  [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-			  [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR           user executables [EPREFIX/bin]
-  --sbindir=DIR          system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR       program executables [EPREFIX/libexec]
-  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
-  --libdir=DIR           object code libraries [EPREFIX/lib]
-  --includedir=DIR       C header files [PREFIX/include]
-  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
-  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR          info documentation [DATAROOTDIR/info]
-  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR           man documentation [DATAROOTDIR/man]
-  --docdir=DIR           documentation root [DATAROOTDIR/doc/gc]
-  --htmldir=DIR          html documentation [DOCDIR]
-  --dvidir=DIR           dvi documentation [DOCDIR]
-  --pdfdir=DIR           pdf documentation [DOCDIR]
-  --psdir=DIR            ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of gc 7.0:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-threads=TYPE   choose threading package
-  --enable-parallel-mark  parallelize marking and free list construction
-  --enable-cplusplus      install C++ support
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --disable-gcj-support   Disable support for gcj.
-  --disable-java-finalization
-                          Disable support for java finalization.
-  --disable-atomic-uncollectible
-                          Disable support for atomic uncollectible allocation.
-  --enable-redirect-malloc
-                          Redirect malloc and friends to GC routines
-  --enable-large-config   Optimize for large (> 100 MB) heap or root set
-  --enable-gc-debug       include full support for pointer backtracing etc.
-  --enable-gc-assertions  collector-internal assertion checking
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-ecos             enable runtime eCos target support
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-tags[=TAGS]      include additional configurations [automatic]
-  --with-target-subdir=SUBDIR
-                          configuring with a cross compiler
-  --with-cross-host=HOST  configuring with a cross compiler
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CXX         C++ compiler command
-  CXXFLAGS    C++ compiler flags
-  CCAS        assembler compiler command (defaults to CC)
-  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-  CPP         C preprocessor
-  CXXCPP      C++ preprocessor
-  F77         Fortran 77 compiler command
-  FFLAGS      Fortran 77 compiler flags
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <Hans.Boehm at hp.com>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" || continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-gc configure 7.0
-generated by GNU Autoconf 2.61
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-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 gc $as_me 7.0, which was
-generated by GNU Autoconf 2.61.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  echo "PATH: $as_dir"
-done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
-    2)
-      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-	ac_must_keep_next=false # Got value, back to normal.
-      else
-	case $ac_arg in
-	  *=* | --config-cache | -C | -disable-* | --disable-* \
-	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-	  | -with-* | --with-* | -without-* | --without-* | --x)
-	    case "$ac_configure_args0 " in
-	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-	    esac
-	    ;;
-	  -* ) ac_must_keep_next=true ;;
-	esac
-      fi
-      ac_configure_args="$ac_configure_args '$ac_arg'"
-      ;;
-    esac
-  done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      *) $as_unset $ac_var ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-	"s/'\''/'\''\\\\'\'''\''/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
-      echo
-      for ac_var in $ac_subst_files
-      do
-	eval ac_val=\$$ac_var
-	case $ac_val in
-	*\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-	esac
-	echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      echo "$as_me: caught signal $ac_signal"
-    echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -n "$CONFIG_SITE"; then
-  set x "$CONFIG_SITE"
-elif test "x$prefix" != xNONE; then
-  set x "$prefix/share/config.site" "$prefix/etc/config.site"
-else
-  set x "$ac_default_prefix/share/config.site" \
-	"$ac_default_prefix/etc/config.site"
-fi
-shift
-for ac_site_file
-do
-  if test -r "$ac_site_file"; then
-    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
-    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
-echo "$as_me:   former value:  $ac_old_val" >&2;}
-	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
-echo "$as_me:   current value: $ac_new_val" >&2;}
-	ac_cache_corrupted=:
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-    ## version must conform to [0-9]+[.][0-9]+(alpha[0-9]+)?
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
-   { (exit 1); exit 1; }; }
-
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
-if test "${ac_cv_build+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
-   { (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
-if test "${ac_cv_host+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ echo "$as_me:$LINENO: checking target system type" >&5
-echo $ECHO_N "checking target system type... $ECHO_C" >&6; }
-if test "${ac_cv_target+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5
-echo "${ECHO_T}$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5
-echo "$as_me: error: invalid value of canonical target" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-
-
-  { echo "$as_me:$LINENO: checking GC version numbers" >&5
-echo $ECHO_N "checking GC version numbers... $ECHO_C" >&6; }
-  GC_VERSION_MAJOR=`echo $PACKAGE_VERSION | sed 's/^\([0-9][0-9]*\)[.].*$/\1/g'`
-  GC_VERSION_MINOR=`echo $PACKAGE_VERSION | sed 's/^[^.]*[.]\([0-9][0-9]*\).*$/\1/g'`
-  GC_ALPHA_VERSION=`echo $PACKAGE_VERSION | sed 's/^[^.]*[.][0-9]*//'`
-
-  case "$GC_ALPHA_VERSION" in
-    alpha*)
-      GC_ALPHA_VERSION=`echo $GC_ALPHA_VERSION \
-      | sed 's/alpha\([0-9][0-9]*\)/\1/'` ;;
-    *)  GC_ALPHA_MAJOR='' ;;
-  esac
-
-  if test :$GC_VERSION_MAJOR: = :: \
-     -o   :$GC_VERSION_MINOR: = :: ;
-  then
-    { echo "$as_me:$LINENO: result: invalid" >&5
-echo "${ECHO_T}invalid" >&6; }
-    { { echo "$as_me:$LINENO: error: nonconforming PACKAGE_VERSION='$PACKAGE_VERSION'" >&5
-echo "$as_me: error: nonconforming PACKAGE_VERSION='$PACKAGE_VERSION'" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-
-  cat >>confdefs.h <<_ACEOF
-#define GC_VERSION_MAJOR $GC_VERSION_MAJOR
-_ACEOF
-
-  cat >>confdefs.h <<_ACEOF
-#define GC_VERSION_MINOR $GC_VERSION_MINOR
-_ACEOF
-
-  if test :$GC_ALPHA_VERSION: != :: ; then
-    cat >>confdefs.h <<_ACEOF
-#define GC_ALPHA_VERSION $GC_ALPHA_VERSION
-_ACEOF
-
-  fi
-  { echo "$as_me:$LINENO: result: major=$GC_VERSION_MAJOR minor=$GC_VERSION_MINOR \
-${GC_ALPHA_VERSION:+alpha=}$GC_ALPHA_VERSION" >&5
-echo "${ECHO_T}major=$GC_VERSION_MAJOR minor=$GC_VERSION_MINOR \
-${GC_ALPHA_VERSION:+alpha=}$GC_ALPHA_VERSION" >&6; }
-
-am__api_version="1.9"
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
-  ./ | .// | /cC/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # program-specific install script used by HP pwplus--don't use.
-	    :
-	  else
-	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-	    break 3
-	  fi
-	fi
-      done
-    done
-    ;;
-esac
-done
-IFS=$as_save_IFS
-
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t $srcdir/configure conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" >&2;}
-   { (exit 1); exit 1; }; }
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.  echo might interpret backslashes.
-# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm -f conftest.sed
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
-  # We used to keeping the `.' as first argument, in order to
-  # allow $(mkdir_p) to be used without argument.  As in
-  #   $(mkdir_p) $(somedir)
-  # where $(somedir) is conditionally defined.  However this is wrong
-  # for two reasons:
-  #  1. if the package is installed by a user who cannot write `.'
-  #     make install will fail,
-  #  2. the above comment should most certainly read
-  #     $(mkdir_p) $(DESTDIR)$(somedir)
-  #     so it does not work when $(somedir) is undefined and
-  #     $(DESTDIR) is not.
-  #  To support the latter case, we have to write
-  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
-  #  so the `.' trick is pointless.
-  mkdir_p='mkdir -p --'
-else
-  # On NextStep and OpenStep, the `mkdir' command does not
-  # recognize any option.  It will interpret all options as
-  # directories to create, and then abort because `.' already
-  # exists.
-  for d in ./-p ./--version;
-  do
-    test -d $d && rmdir $d
-  done
-  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
-  if test -f "$ac_aux_dir/mkinstalldirs"; then
-    mkdir_p='$(mkinstalldirs)'
-  else
-    mkdir_p='$(install_sh) -d'
-  fi
-fi
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-	@echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  SET_MAKE=
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
-   test -f $srcdir/config.status; then
-  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='gc'
- VERSION='7.0'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    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_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
-
-
-if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-
-
-
-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.
-{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&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
-
-
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_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
-
-
-
-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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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"
-    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
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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"
-    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
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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"
-    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
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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"
-    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
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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"
-    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
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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"
-    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
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-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.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-
-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
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort.  b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions.  Remove them first so a
-# subsequent execution test works.
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { (ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
-	;;
-    [ab].out )
-	# We found the default executable, but exeext='' is most
-	# certainly right.
-	break;;
-    *.* )
-        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-	then :; else
-	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	fi
-	# We set ac_cv_exeext here because the later test for it is not
-	# safe: cross compilers may not add the suffix if given an `-o'
-	# argument, so we may need to know it at that point already.
-	# Even if this section looks crufty: it has the advantage of
-	# actually working.
-	break;;
-    * )
-	break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
-if test -z "$ac_file"; then
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-    fi
-  fi
-fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6; }
-
-{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  break;;
-    * ) break;;
-  esac
-done
-else
-  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
-if test "${ac_cv_objext+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 "echo \"\$as_me:$LINENO: $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
-  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
-  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
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 "echo \"\$as_me:$LINENO: $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
-  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
-  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 "echo \"\$as_me:$LINENO: $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
-  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
-  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 "echo \"\$as_me:$LINENO: $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
-  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
-  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
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$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
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 "echo \"\$as_me:$LINENO: $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
-  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
-  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)
-    { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
-  xno)
-    { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$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=
-
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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/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
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$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
-
-
-if test "x$CC" != xcc; then
-  { echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5
-echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6; }
-else
-  { echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5
-echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6; }
-fi
-set dummy $CC; ac_cc=`echo $2 |
-		      sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-   test -f conftest2.$ac_objext && { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 test -f conftest2.$ac_objext && { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); };
-      then
-	# cc works too.
-	:
-      else
-	# cc exists but doesn't like -o.
-	eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define NO_MINUS_C_MINUS_O 1
-_ACEOF
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-    test -n "$CXX" && break
-  done
-fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    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_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CXX" && break
-done
-
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    CXX=$ac_ct_CXX
-  fi
-fi
-
-  fi
-fi
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 "echo \"\$as_me:$LINENO: $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
-  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_compiler_gnu=yes
-else
-  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_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat >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 "echo \"\$as_me:$LINENO: $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
-  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_prog_cxx_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	CXXFLAGS=""
-      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 "echo \"\$as_me:$LINENO: $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
-  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
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-	 CXXFLAGS="-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 "echo \"\$as_me:$LINENO: $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
-  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_prog_cxx_g=yes
-else
-  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_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CXX"  am_compiler_list=
-
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CXX_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  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/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_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
-
-
-if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
-else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
-fi
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-## FIXME: really needed? (AC_LIBTOOL already provides this)
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
-  ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
-    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_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_AR" = x; then
-    AR=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-else
-  AR="$ac_cv_prog_AR"
-fi
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    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_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-  # :)
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
-  ./ | .// | /cC/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # program-specific install script used by HP pwplus--don't use.
-	    :
-	  else
-	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-	    break 3
-	  fi
-	fi
-      done
-    done
-    ;;
-esac
-done
-IFS=$as_save_IFS
-
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-. ${srcdir}/configure.host
-
-GC_CFLAGS=${gc_cflags}
-
-
-# Check whether --enable-threads was given.
-if test "${enable_threads+set}" = set; then
-  enableval=$enable_threads; THREADS=$enableval
-else
-   { echo "$as_me:$LINENO: checking for thread model used by GCC" >&5
-echo $ECHO_N "checking for thread model used by GCC... $ECHO_C" >&6; }
-    THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
-    if test -z "$THREADS"; then
-      THREADS=no
-    fi
-    { echo "$as_me:$LINENO: result: $THREADS" >&5
-echo "${ECHO_T}$THREADS" >&6; }
-fi
-
-
-# Check whether --enable-parallel-mark was given.
-if test "${enable_parallel_mark+set}" = set; then
-  enableval=$enable_parallel_mark; case "$THREADS" in
-      no | none | single)
-	{ { echo "$as_me:$LINENO: error: Parallel mark requires --enable-threads=x spec" >&5
-echo "$as_me: error: Parallel mark requires --enable-threads=x spec" >&2;}
-   { (exit 1); exit 1; }; }
-	;;
-    esac
-
-fi
-
-
-# Check whether --enable-cplusplus was given.
-if test "${enable_cplusplus+set}" = set; then
-  enableval=$enable_cplusplus;
-fi
-
-
-INCLUDES=-I${srcdir}/include
-THREADDLLIBS=
-need_atomic_ops_asm=false
-## Libraries needed to support dynamic loading and/or threads.
-case "$THREADS" in
- no | none | single)
-    THREADS=none
-    ;;
- posix | pthreads)
-    THREADS=posix
-    THREADDLLIBS=-lpthread
-    case "$host" in
-     x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* | alpha-*-linux*)
-	cat >>confdefs.h <<\_ACEOF
-#define GC_LINUX_THREADS 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define _REENTRANT 1
-_ACEOF
-
-        if test "${enable_parallel_mark}" = yes; then
-	  cat >>confdefs.h <<\_ACEOF
-#define PARALLEL_MARK 1
-_ACEOF
-
-	fi
-	cat >>confdefs.h <<\_ACEOF
-#define THREAD_LOCAL_ALLOC 1
-_ACEOF
-
-	{ echo "$as_me:$LINENO: WARNING: \"Explict GC_INIT() calls may be required.\"" >&5
-echo "$as_me: WARNING: \"Explict GC_INIT() calls may be required.\"" >&2;};
-	;;
-     *-*-linux*)
-	cat >>confdefs.h <<\_ACEOF
-#define GC_LINUX_THREADS 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define _REENTRANT 1
-_ACEOF
-
-	;;
-     *-*-aix*)
-	cat >>confdefs.h <<\_ACEOF
-#define GC_AIX_THREADS 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define _REENTRANT 1
-_ACEOF
-
-	;;
-     *-*-hpux11*)
-	{ echo "$as_me:$LINENO: WARNING: \"Only HP/UX 11 POSIX threads are supported.\"" >&5
-echo "$as_me: WARNING: \"Only HP/UX 11 POSIX threads are supported.\"" >&2;}
-	cat >>confdefs.h <<\_ACEOF
-#define GC_HPUX_THREADS 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define _POSIX_C_SOURCE 199506L
-_ACEOF
-
-	if test "${enable_parallel_mark}" = yes; then
-	  cat >>confdefs.h <<\_ACEOF
-#define PARALLEL_MARK 1
-_ACEOF
-
-	fi
-	cat >>confdefs.h <<\_ACEOF
-#define THREAD_LOCAL_ALLOC 1
-_ACEOF
-
-	{ echo "$as_me:$LINENO: WARNING: \"Explict GC_INIT() calls may be required.\"" >&5
-echo "$as_me: WARNING: \"Explict GC_INIT() calls may be required.\"" >&2;};
-	THREADDLLIBS="-lpthread -lrt"
-	# HPUX needs REENTRANT for the _r calls.
-
-cat >>confdefs.h <<\_ACEOF
-#define _REENTRANT 1
-_ACEOF
-
-	;;
-     *-*-hpux10*)
-	{ echo "$as_me:$LINENO: WARNING: \"Only HP-UX 11 POSIX threads are supported.\"" >&5
-echo "$as_me: WARNING: \"Only HP-UX 11 POSIX threads are supported.\"" >&2;}
-	;;
-     *-*-freebsd*)
-	{ echo "$as_me:$LINENO: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&5
-echo "$as_me: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&2;}
-	cat >>confdefs.h <<\_ACEOF
-#define GC_FREEBSD_THREADS 1
-_ACEOF
-
-	INCLUDES="$INCLUDES -pthread"
-      	;;
-     *-*-kfreebsd*-gnu)
-	cat >>confdefs.h <<\_ACEOF
-#define GC_FREEBSD_THREADS 1
-_ACEOF
-
-	INCLUDES="$INCLUDES -pthread"
-	THREADDLLIBS=-pthread
-	cat >>confdefs.h <<\_ACEOF
-#define _REENTRANT 1
-_ACEOF
-
-        if test "${enable_parallel_mark}" = yes; then
-	  cat >>confdefs.h <<\_ACEOF
-#define PARALLEL_MARK 1
-_ACEOF
-
-	fi
-	cat >>confdefs.h <<\_ACEOF
-#define THREAD_LOCAL_ALLOC 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define USE_COMPILER_TLS 1
-_ACEOF
-
-      	;;
-     *-*-gnu*)
-	cat >>confdefs.h <<\_ACEOF
-#define GC_GNU_THREADS 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define _REENTRANT 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define THREAD_LOCAL_ALLOC 1
-_ACEOF
-
-	;;
-     *-*-netbsd*)
-	{ echo "$as_me:$LINENO: WARNING: \"Only on NetBSD 2.0 or later.\"" >&5
-echo "$as_me: WARNING: \"Only on NetBSD 2.0 or later.\"" >&2;}
-	cat >>confdefs.h <<\_ACEOF
-#define GC_NETBSD_THREADS 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define _REENTRANT 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define _PTHREADS 1
-_ACEOF
-
-	THREADDLLIBS="-lpthread -lrt"
-	;;
-     *-*-solaris*)
-	cat >>confdefs.h <<\_ACEOF
-#define GC_SOLARIS_THREADS 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define THREAD_LOCAL_ALLOC 1
-_ACEOF
-
-	THREADDLLIBS="-lpthread -lrt"
-	if test "$GCC" != yes; then
-          CFLAGS="$CFLAGS -O"
-          need_atomic_ops_asm=true
-        fi
-	;;
-     *-*-irix*)
-	cat >>confdefs.h <<\_ACEOF
-#define GC_IRIX_THREADS 1
-_ACEOF
-
-	;;
-     *-*-cygwin*)
-	cat >>confdefs.h <<\_ACEOF
-#define GC_WIN32_THREADS 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define THREAD_LOCAL_ALLOC 1
-_ACEOF
-
-	win32_threads=true
-	;;
-     *-*-darwin*)
-	cat >>confdefs.h <<\_ACEOF
-#define GC_DARWIN_THREADS 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define THREAD_LOCAL_ALLOC 1
-_ACEOF
-
-	{ echo "$as_me:$LINENO: WARNING: \"Explict GC_INIT() calls may be required.\"" >&5
-echo "$as_me: WARNING: \"Explict GC_INIT() calls may be required.\"" >&2;};
-	if test "${enable_parallel_mark}" = yes; then
-	  cat >>confdefs.h <<\_ACEOF
-#define PARALLEL_MARK 1
-_ACEOF
-
-	fi
-	darwin_threads=true
-	;;
-     *-*-osf*)
-	cat >>confdefs.h <<\_ACEOF
-#define GC_OSF1_THREADS 1
-_ACEOF
-
-        if test "${enable_parallel_mark}" = yes; then
-	  cat >>confdefs.h <<\_ACEOF
-#define PARALLEL_MARK 1
-_ACEOF
-
-	  cat >>confdefs.h <<\_ACEOF
-#define THREAD_LOCAL_ALLOC 1
-_ACEOF
-
-	  { echo "$as_me:$LINENO: WARNING: \"Explict GC_INIT() calls may be required.\"" >&5
-echo "$as_me: WARNING: \"Explict GC_INIT() calls may be required.\"" >&2;};
-	  # May want to enable it in other cases, too.
-	  # Measurements havent yet been done.
-	fi
-	INCLUDES="$INCLUDES -pthread"
-	THREADDLLIBS="-lpthread -lrt"
-	;;
-      *)
-	{ { echo "$as_me:$LINENO: error: \"Pthreads not supported by the GC on this platform.\"" >&5
-echo "$as_me: error: \"Pthreads not supported by the GC on this platform.\"" >&2;}
-   { (exit 1); exit 1; }; }
-	;;
-    esac
-    ;;
- win32)
-    cat >>confdefs.h <<\_ACEOF
-#define GC_WIN32_THREADS 1
-_ACEOF
-
-        cat >>confdefs.h <<\_ACEOF
-#define NO_GETENV 1
-_ACEOF
-
-    ;;
- dgux386)
-    THREADS=dgux386
-    { echo "$as_me:$LINENO: result: $THREADDLLIBS" >&5
-echo "${ECHO_T}$THREADDLLIBS" >&6; }
-    # Use pthread GCC  switch
-    THREADDLLIBS=-pthread
-    if test "${enable_parallel_mark}" = yes; then
-        cat >>confdefs.h <<\_ACEOF
-#define PARALLEL_MARK 1
-_ACEOF
-
-    fi
-    cat >>confdefs.h <<\_ACEOF
-#define THREAD_LOCAL_ALLOC 1
-_ACEOF
-
-    { echo "$as_me:$LINENO: WARNING: \"Explict GC_INIT() calls may be required.\"" >&5
-echo "$as_me: WARNING: \"Explict GC_INIT() calls may be required.\"" >&2;};
-    cat >>confdefs.h <<\_ACEOF
-#define GC_DGUX386_THREADS 1
-_ACEOF
-
-    cat >>confdefs.h <<\_ACEOF
-#define DGUX_THREADS 1
-_ACEOF
-
-    # Enable _POSIX4A_DRAFT10_SOURCE with flag -pthread
-    INCLUDES="-pthread $INCLUDES"
-    ;;
- aix)
-    THREADS=posix
-    THREADDLLIBS=-lpthread
-    cat >>confdefs.h <<\_ACEOF
-#define GC_AIX_THREADS 1
-_ACEOF
-
-    cat >>confdefs.h <<\_ACEOF
-#define _REENTRANT 1
-_ACEOF
-
-    ;;
- decosf1 | irix | mach | os2 | solaris | dce | vxworks)
-    { { echo "$as_me:$LINENO: error: thread package $THREADS not yet supported" >&5
-echo "$as_me: error: thread package $THREADS not yet supported" >&2;}
-   { (exit 1); exit 1; }; }
-    ;;
- *)
-    { { echo "$as_me:$LINENO: error: $THREADS is an unknown thread package" >&5
-echo "$as_me: error: $THREADS is an unknown thread package" >&2;}
-   { (exit 1); exit 1; }; }
-    ;;
-esac
-
-
-
-if test x$THREADS != xnone; then
-  THREADS_TRUE=
-  THREADS_FALSE='#'
-else
-  THREADS_TRUE='#'
-  THREADS_FALSE=
-fi
-
-
-
-if test x$THREADS = xposix; then
-  PTHREADS_TRUE=
-  PTHREADS_FALSE='#'
-else
-  PTHREADS_TRUE='#'
-  PTHREADS_FALSE=
-fi
-
-
-
-if test x$darwin_threads = xtrue; then
-  DARWIN_THREADS_TRUE=
-  DARWIN_THREADS_FALSE='#'
-else
-  DARWIN_THREADS_TRUE='#'
-  DARWIN_THREADS_FALSE=
-fi
-
-
-
-if test x$win32_threads = xtrue; then
-  WIN32_THREADS_TRUE=
-  WIN32_THREADS_FALSE='#'
-else
-  WIN32_THREADS_TRUE='#'
-  WIN32_THREADS_FALSE=
-fi
-
-
-case "$host" in
-   powerpc-*-darwin*)
-      powerpc_darwin=true
-      ;;
-esac
-
-# Darwin needs a few extra special tests to deal with variation in the
-# system headers.
-case "$host" in
-  powerpc*-*-darwin*)
-
-{ echo "$as_me:$LINENO: checking for ppc_thread_state_t.r0" >&5
-echo $ECHO_N "checking for ppc_thread_state_t.r0... $ECHO_C" >&6; }
-if test "${ac_cv_member_ppc_thread_state_t_r0+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 <mach/thread_status.h>
-
-int
-main ()
-{
-static ppc_thread_state_t ac_aggr;
-if (ac_aggr.r0)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_ppc_thread_state_t_r0=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <mach/thread_status.h>
-
-int
-main ()
-{
-static ppc_thread_state_t ac_aggr;
-if (sizeof ac_aggr.r0)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_ppc_thread_state_t_r0=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_member_ppc_thread_state_t_r0=no
-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
-{ echo "$as_me:$LINENO: result: $ac_cv_member_ppc_thread_state_t_r0" >&5
-echo "${ECHO_T}$ac_cv_member_ppc_thread_state_t_r0" >&6; }
-if test $ac_cv_member_ppc_thread_state_t_r0 = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAS_PPC_THREAD_STATE_R0 1
-_ACEOF
-
-fi
-
-    { echo "$as_me:$LINENO: checking for ppc_thread_state_t.__r0" >&5
-echo $ECHO_N "checking for ppc_thread_state_t.__r0... $ECHO_C" >&6; }
-if test "${ac_cv_member_ppc_thread_state_t___r0+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 <mach/thread_status.h>
-
-int
-main ()
-{
-static ppc_thread_state_t ac_aggr;
-if (ac_aggr.__r0)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_ppc_thread_state_t___r0=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <mach/thread_status.h>
-
-int
-main ()
-{
-static ppc_thread_state_t ac_aggr;
-if (sizeof ac_aggr.__r0)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_ppc_thread_state_t___r0=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_member_ppc_thread_state_t___r0=no
-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
-{ echo "$as_me:$LINENO: result: $ac_cv_member_ppc_thread_state_t___r0" >&5
-echo "${ECHO_T}$ac_cv_member_ppc_thread_state_t___r0" >&6; }
-if test $ac_cv_member_ppc_thread_state_t___r0 = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAS_PPC_THREAD_STATE___R0 1
-_ACEOF
-
-fi
-
-    { echo "$as_me:$LINENO: checking for ppc_thread_state64_t.r0" >&5
-echo $ECHO_N "checking for ppc_thread_state64_t.r0... $ECHO_C" >&6; }
-if test "${ac_cv_member_ppc_thread_state64_t_r0+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 <mach/thread_status.h>
-
-int
-main ()
-{
-static ppc_thread_state64_t ac_aggr;
-if (ac_aggr.r0)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_ppc_thread_state64_t_r0=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <mach/thread_status.h>
-
-int
-main ()
-{
-static ppc_thread_state64_t ac_aggr;
-if (sizeof ac_aggr.r0)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_ppc_thread_state64_t_r0=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_member_ppc_thread_state64_t_r0=no
-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
-{ echo "$as_me:$LINENO: result: $ac_cv_member_ppc_thread_state64_t_r0" >&5
-echo "${ECHO_T}$ac_cv_member_ppc_thread_state64_t_r0" >&6; }
-if test $ac_cv_member_ppc_thread_state64_t_r0 = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAS_PPC_THREAD_STATE64_R0 1
-_ACEOF
-
-fi
-
-    { echo "$as_me:$LINENO: checking for ppc_thread_state64_t.__r0" >&5
-echo $ECHO_N "checking for ppc_thread_state64_t.__r0... $ECHO_C" >&6; }
-if test "${ac_cv_member_ppc_thread_state64_t___r0+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 <mach/thread_status.h>
-
-int
-main ()
-{
-static ppc_thread_state64_t ac_aggr;
-if (ac_aggr.__r0)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_ppc_thread_state64_t___r0=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <mach/thread_status.h>
-
-int
-main ()
-{
-static ppc_thread_state64_t ac_aggr;
-if (sizeof ac_aggr.__r0)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_ppc_thread_state64_t___r0=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_member_ppc_thread_state64_t___r0=no
-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
-{ echo "$as_me:$LINENO: result: $ac_cv_member_ppc_thread_state64_t___r0" >&5
-echo "${ECHO_T}$ac_cv_member_ppc_thread_state64_t___r0" >&6; }
-if test $ac_cv_member_ppc_thread_state64_t___r0 = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAS_PPC_THREAD_STATE64___R0 1
-_ACEOF
-
-fi
-
-    ;;
-  i?86*-*-darwin*)
-    { echo "$as_me:$LINENO: checking for x86_thread_state32_t.eax" >&5
-echo $ECHO_N "checking for x86_thread_state32_t.eax... $ECHO_C" >&6; }
-if test "${ac_cv_member_x86_thread_state32_t_eax+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/cdefs.h>
-      #include <mach/thread_status.h>
-
-int
-main ()
-{
-static x86_thread_state32_t ac_aggr;
-if (ac_aggr.eax)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_x86_thread_state32_t_eax=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/cdefs.h>
-      #include <mach/thread_status.h>
-
-int
-main ()
-{
-static x86_thread_state32_t ac_aggr;
-if (sizeof ac_aggr.eax)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_x86_thread_state32_t_eax=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_member_x86_thread_state32_t_eax=no
-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
-{ echo "$as_me:$LINENO: result: $ac_cv_member_x86_thread_state32_t_eax" >&5
-echo "${ECHO_T}$ac_cv_member_x86_thread_state32_t_eax" >&6; }
-if test $ac_cv_member_x86_thread_state32_t_eax = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAS_X86_THREAD_STATE32_EAX 1
-_ACEOF
-
-fi
-
-    { echo "$as_me:$LINENO: checking for x86_thread_state32_t.__eax" >&5
-echo $ECHO_N "checking for x86_thread_state32_t.__eax... $ECHO_C" >&6; }
-if test "${ac_cv_member_x86_thread_state32_t___eax+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/cdefs.h>
-      #include <mach/thread_status.h>
-
-int
-main ()
-{
-static x86_thread_state32_t ac_aggr;
-if (ac_aggr.__eax)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_x86_thread_state32_t___eax=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/cdefs.h>
-      #include <mach/thread_status.h>
-
-int
-main ()
-{
-static x86_thread_state32_t ac_aggr;
-if (sizeof ac_aggr.__eax)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_x86_thread_state32_t___eax=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_member_x86_thread_state32_t___eax=no
-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
-{ echo "$as_me:$LINENO: result: $ac_cv_member_x86_thread_state32_t___eax" >&5
-echo "${ECHO_T}$ac_cv_member_x86_thread_state32_t___eax" >&6; }
-if test $ac_cv_member_x86_thread_state32_t___eax = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAS_X86_THREAD_STATE32___EAX 1
-_ACEOF
-
-fi
-
-    ;;
-  x86_64-*-darwin*)
-    { echo "$as_me:$LINENO: checking for x86_thread_state64_t.rax" >&5
-echo $ECHO_N "checking for x86_thread_state64_t.rax... $ECHO_C" >&6; }
-if test "${ac_cv_member_x86_thread_state64_t_rax+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/cdefs.h>
-      #include <mach/thread_status.h>
-
-int
-main ()
-{
-static x86_thread_state64_t ac_aggr;
-if (ac_aggr.rax)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_x86_thread_state64_t_rax=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/cdefs.h>
-      #include <mach/thread_status.h>
-
-int
-main ()
-{
-static x86_thread_state64_t ac_aggr;
-if (sizeof ac_aggr.rax)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_x86_thread_state64_t_rax=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_member_x86_thread_state64_t_rax=no
-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
-{ echo "$as_me:$LINENO: result: $ac_cv_member_x86_thread_state64_t_rax" >&5
-echo "${ECHO_T}$ac_cv_member_x86_thread_state64_t_rax" >&6; }
-if test $ac_cv_member_x86_thread_state64_t_rax = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAS_X86_THREAD_STATE64_RAX 1
-_ACEOF
-
-fi
-
-    { echo "$as_me:$LINENO: checking for x86_thread_state64_t.__rax" >&5
-echo $ECHO_N "checking for x86_thread_state64_t.__rax... $ECHO_C" >&6; }
-if test "${ac_cv_member_x86_thread_state64_t___rax+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/cdefs.h>
-      #include <mach/thread_status.h>
-
-int
-main ()
-{
-static x86_thread_state64_t ac_aggr;
-if (ac_aggr.__rax)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_x86_thread_state64_t___rax=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/cdefs.h>
-      #include <mach/thread_status.h>
-
-int
-main ()
-{
-static x86_thread_state64_t ac_aggr;
-if (sizeof ac_aggr.__rax)
-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 "echo \"\$as_me:$LINENO: $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
-  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_member_x86_thread_state64_t___rax=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_member_x86_thread_state64_t___rax=no
-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
-{ echo "$as_me:$LINENO: result: $ac_cv_member_x86_thread_state64_t___rax" >&5
-echo "${ECHO_T}$ac_cv_member_x86_thread_state64_t___rax" >&6; }
-if test $ac_cv_member_x86_thread_state64_t___rax = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAS_X86_THREAD_STATE64___RAX 1
-_ACEOF
-
-fi
-
-     ;;
-  *) ;;
-esac
-
-{ echo "$as_me:$LINENO: checking for xlc" >&5
-echo $ECHO_N "checking for xlc... $ECHO_C" >&6; }
-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 __xlC__
- # error
- #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 "echo \"\$as_me:$LINENO: $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
-  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
-  compiler_xlc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	compiler_xlc=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $compiler_xlc" >&5
-echo "${ECHO_T}$compiler_xlc" >&6; }
-
-
-if test $compiler_xlc = yes; then
-  COMPILER_XLC_TRUE=
-  COMPILER_XLC_FALSE='#'
-else
-  COMPILER_XLC_TRUE='#'
-  COMPILER_XLC_FALSE=
-fi
-
-if test $compiler_xlc = yes -a "$powerpc_darwin" = true; then
-  # the darwin stack-frame-walking code is completely broken on xlc
-  cat >>confdefs.h <<\_ACEOF
-#define DARWIN_DONT_PARSE_STACK 1
-_ACEOF
-
-fi
-
-# We never want libdl on darwin. It is a fake libdl that just ends up making
-# dyld calls anyway
-case "$host" in
-  *-*-darwin*) ;;
-  *)
-    { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-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 "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dl_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
-  THREADDLLIBS="$THREADDLLIBS -ldl"
-fi
-
-    ;;
-esac
-
-# extra LD Flags which are required for targets
-case "${host}" in
-  *-*-darwin*)
-    extra_ldflags_libgc=-Wl,-single_module
-    ;;
-esac
-
-
-
-
-target_all=libgc.la
-
-
-TARGET_ECOS="no"
-
-# Check whether --with-ecos was given.
-if test "${with_ecos+set}" = set; then
-  withval=$with_ecos; TARGET_ECOS="$with_ecos"
-
-fi
-
-
-addobjs=
-addlibs=
-CXXINCLUDES=
-case "$TARGET_ECOS" in
-   no)
-      ;;
-   *)
-      cat >>confdefs.h <<\_ACEOF
-#define ECOS 1
-_ACEOF
-
-      CXXINCLUDES="-I${TARGET_ECOS}/include"
-      addobjs="$addobjs ecos.lo"
-      ;;
-esac
-
-
-
-if test "${enable_cplusplus}" = yes; then
-  CPLUSPLUS_TRUE=
-  CPLUSPLUS_FALSE='#'
-else
-  CPLUSPLUS_TRUE='#'
-  CPLUSPLUS_FALSE=
-fi
-
-
-
-
-
-
-
-# Configuration of shared libraries
-#
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-# Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_shared=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-case "$host" in
- alpha-*-openbsd*)
-     enable_shared=no
-     { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-     ;;
- *)
-     { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-     ;;
-esac
-
-# Configuration of machine-dependent code
-#
-{ echo "$as_me:$LINENO: checking which machine-dependent code should be used" >&5
-echo $ECHO_N "checking which machine-dependent code should be used... $ECHO_C" >&6; }
-machdep=
-case "$host" in
- alpha-*-openbsd*)
-    machdep="mach_dep.lo"
-    if test x"${ac_cv_lib_dl_dlopen}" != xyes ; then
-       { echo "$as_me:$LINENO: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&5
-echo "$as_me: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&2;}
-    fi
-    ;;
- alpha*-*-linux*)
-    machdep="mach_dep.lo"
-    ;;
- i?86-*-solaris2.[89] | i?86-*-solaris2.1?)
-    cat >>confdefs.h <<\_ACEOF
-#define SOLARIS25_PROC_VDB_BUG_FIXED 1
-_ACEOF
-
-    ;;
- mipstx39-*-elf*)
-    machdep="mach_dep.lo"
-    cat >>confdefs.h <<\_ACEOF
-#define STACKBASE __stackbase
-_ACEOF
-
-    cat >>confdefs.h <<\_ACEOF
-#define DATASTART_IS_ETEXT 1
-_ACEOF
-
-    ;;
- mips-dec-ultrix*)
-    machdep="mach-dep.lo"
-    ;;
- mips-nec-sysv*|mips-unknown-sysv*)
-    ;;
- mips*-*-linux*)
-    ;;
- mips-*-*)
-    machdep="mach_dep.lo"
-                ;;
- sparc-*-netbsd*)
-    machdep="mach_dep.lo sparc_netbsd_mach_dep.lo"
-    ;;
- sparc-sun-solaris2.3)
-    machdep="mach_dep.lo sparc_mach_dep.lo"
-    cat >>confdefs.h <<\_ACEOF
-#define SUNOS53_SHARED_LIB 1
-_ACEOF
-
-    ;;
- sparc*-sun-solaris2.*)
-    machdep="mach_dep.lo sparc_mach_dep.lo"
-    ;;
- ia64-*-*)
-    machdep="mach_dep.lo ia64_save_regs_in_stack.lo"
-    ;;
-esac
-if test x"$machdep" = x; then
-{ echo "$as_me:$LINENO: result: $machdep" >&5
-echo "${ECHO_T}$machdep" >&6; }
-   machdep="mach_dep.lo"
-fi
-addobjs="$addobjs $machdep"
-
-
-
-# Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_static=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-# Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_fast_install=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
-if test "${lt_cv_path_SED+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # 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
-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
-
-fi
-
-SED=$lt_cv_path_SED
-{ echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6; }
-
-{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
-if test "${ac_cv_path_GREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_path_GREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in grep ggrep; do
-  for ac_exec_ext in '' $ac_executable_extensions; do
-    ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-    { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-    # Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-
-    $ac_path_GREP_found && break 3
-  done
-done
-
-done
-IFS=$as_save_IFS
-
-
-fi
-
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
-  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_path_EGREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in egrep; do
-  for ac_exec_ext in '' $ac_executable_extensions; do
-    ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-    { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-    # Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-
-    $ac_path_EGREP_found && break 3
-  done
-done
-
-done
-IFS=$as_save_IFS
-
-
-fi
-
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
-  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-
-   fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
-else
-  { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
-if test "${lt_cv_path_NM+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	# Tru64's nm complains that /dev/null is an invalid object file
-	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-	*/dev/null* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break
-	    ;;
-	  *)
-	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	    continue # so that we can try to find one that supports BSD flags
-	    ;;
-	  esac
-	  ;;
-	esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6; }
-NM="$lt_cv_path_NM"
-
-{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6; }
-fi
-
-{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
-echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix4* | aix5*)
-  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'.
-  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | kfreebsd*-gnu | 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
-  ;;
-
-interix3*)
-  # 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*)
-  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
-  ;;
-
-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
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; 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 6857 "configure"' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; 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-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case `/usr/bin/file conftest.o` in
-    *32-bit*)
-      case $host in
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_i386"
-          ;;
-        ppc64-*linux*|powerpc64-*linux*)
-          LD="${LD-ld} -m elf32ppclinux"
-          ;;
-        s390x-*linux*)
-          LD="${LD-ld} -m elf_s390"
-          ;;
-        sparc64-*linux*)
-          LD="${LD-ld} -m elf32_sparc"
-          ;;
-      esac
-      ;;
-    *64-bit*)
-      case $host in
-        x86_64-*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"
-  { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat >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 conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  lt_cv_cc_needs_belf=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	lt_cv_cc_needs_belf=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)    LD="${LD-ld} -64" ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-
-esac
-
-need_locks="$enable_libtool_lock"
-
-
-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
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
-else
-  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.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 "echo \"\$as_me:$LINENO: $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
-  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_header_stdc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_header_stdc=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then
-  :
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  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>
-_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 "echo \"\$as_me:$LINENO: $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
-  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
-  eval "$as_ac_Header=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-	       { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-for ac_header in dlfcn.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-	       { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-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>
-_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 "echo \"\$as_me:$LINENO: $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
-  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_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-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>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## -------------------------------- ##
-## Report this to Hans.Boehm at hp.com ##
-## -------------------------------- ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-	       { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
-if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
-fi
-
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
-  CXXCPP=$ac_cv_prog_CXXCPP
-else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
-else
-  { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-fi
-
-
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
-  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
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$F77"; then
-  ac_cv_prog_F77="$F77" # 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_F77="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-F77=$ac_cv_prog_F77
-if test -n "$F77"; then
-  { echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-    test -n "$F77" && break
-  done
-fi
-if test -z "$F77"; then
-  ac_ct_F77=$F77
-  for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_F77"; then
-  ac_cv_prog_ac_ct_F77="$ac_ct_F77" # 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_F77="$ac_prog"
-    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_F77=$ac_cv_prog_ac_ct_F77
-if test -n "$ac_ct_F77"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$ac_ct_F77" && break
-done
-
-  if test "x$ac_ct_F77" = x; then
-    F77=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    F77=$ac_ct_F77
-  fi
-fi
-
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-rm -f a.out
-
-# If we don't use `.F' as extension, the preprocessor is not run on the
-# input file.  (Note that this only needs to work for GNU compilers.)
-ac_save_ext=$ac_ext
-ac_ext=F
-{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; }
-if test "${ac_cv_f77_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-      program main
-#ifndef __GNUC__
-       choke me
-#endif
-
-      end
-_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 "echo \"\$as_me:$LINENO: $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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_f77_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  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_f77_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; }
-ac_ext=$ac_save_ext
-ac_test_FFLAGS=${FFLAGS+set}
-ac_save_FFLAGS=$FFLAGS
-FFLAGS=
-{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_f77_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  FFLAGS=-g
-cat >conftest.$ac_ext <<_ACEOF
-      program main
-
-      end
-_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 "echo \"\$as_me:$LINENO: $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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_f77_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_f77_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_prog_f77_g=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; }
-if test "$ac_test_FFLAGS" = set; then
-  FFLAGS=$ac_save_FFLAGS
-elif test $ac_cv_prog_f77_g = yes; then
-  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
-    FFLAGS="-g -O2"
-  else
-    FFLAGS="-g"
-  fi
-else
-  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
-    FFLAGS="-O2"
-  else
-    FFLAGS=
-  fi
-fi
-
-G77=`test $ac_compiler_gnu = yes && echo yes`
-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
-
-
-
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-
-# find the maximum length of command line arguments
-{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw*)
-    # 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
-    ;;
-  *)
-    # If test is not a shell built-in, we'll probably end up computing a
-    # maximum length that is only half of the actual maximum length, but
-    # we can't tell.
-    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`
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6; }
-fi
-
-
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# 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*)
-  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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && 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_prog_compiler_no_builtin_flag"
-	  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext}; then
-	    pipe_works=yes
-	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&5
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -f conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
-else
-  { echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6; }
-fi
-
-{ echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
-if test "${lt_cv_objdir+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-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"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
-  ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
-    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_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-else
-  AR="$ac_cv_prog_AR"
-fi
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    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_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    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_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-
-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_deplibs'
-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
-
-for cc_temp in $compiler""; 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-%%"`
-
-
-# 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
-    { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<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
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<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
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-enable_dlopen=no
-enable_win32_dll=no
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$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 conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-  ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9120: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:9124: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "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
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-      ;;
-
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | 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).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    interix3*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic=-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_prog_compiler_pic='-fPIC'
-	;;
-      esac
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static='-Bstatic'
-      else
-	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-      darwin*)
-        # PIC is the default on this platform
-        # Common symbols not allowed in MH_DYLIB files
-       case $cc_basename in
-         xlc*)
-         lt_prog_compiler_pic='-qnocommon'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-
-    mingw* | 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).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	lt_prog_compiler_pic='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    linux*)
-      case $cc_basename in
-      icc* | ecc*)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-KPIC'
-	lt_prog_compiler_static='-static'
-        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-fpic'
-	lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      esac
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-	lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-	lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	lt_prog_compiler_pic='-Kconform_pic'
-	lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_prog_compiler_pic_works=no
-  ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9388: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:9392: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "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
-       lt_prog_compiler_pic_works=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $echo "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
-         lt_prog_compiler_static_works=yes
-       fi
-     else
-       lt_prog_compiler_static_works=yes
-     fi
-   fi
-   $rm conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
-
-if test x"$lt_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   printf "$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:9492: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:9496: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "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_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  enable_shared_with_static_runtimes=no
-  archive_cmds=
-  archive_expsym_cmds=
-  old_archive_From_new_cmds=
-  old_archive_from_expsyms_cmds=
-  export_dynamic_flag_spec=
-  whole_archive_flag_spec=
-  thread_safe_flag_spec=
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_direct=no
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  link_all_deplibs=unknown
-  hardcode_automatic=no
-  module_cmds=
-  module_expsym_cmds=
-  always_export_symbols=no
-  export_symbols_cmds='$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
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
-  # 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.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  for cc_temp in $compiler""; 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-%%"`
-
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-	whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-  	whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>/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
-    aix3* | aix4* | aix5*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-	ld_shlibs=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*)
-      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-
-      # 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.
-      ld_shlibs=no
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	allow_undefined_flag=unsupported
-	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    interix3*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    linux*)
-      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
-	  whole_archive_flag_spec='${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
-	  whole_archive_flag_spec='${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
-	archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-	if test $supports_anon_versioning = yes; then
-	  archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	fi
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-	ld_shlibs=no
-	cat <<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
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-	ld_shlibs=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-	;;
-	*)
-	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	    hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
-	  else
-	    ld_shlibs=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix4* | aix5*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	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
-	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-	else
-	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-	fi
-	aix_use_runtimelinking=no
-
-	# Test if we are trying to use run time linking or normal
-	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
-	# need to do runtime linking.
-	case $host_os in aix4.[23]|aix4.[23].*|aix5*)
-	  for ld_flag in $LDFLAGS; do
-  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-  	    aix_use_runtimelinking=yes
-  	    break
-  	  fi
-	  done
-	  ;;
-	esac
-
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=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
-  	  hardcode_direct=yes
-	  else
-  	  # We have old collect2
-  	  hardcode_direct=unsupported
-  	  # It fails to find uninstalled libraries when the uninstalled
-  	  # path is not listed in the libpath.  Setting hardcode_minus_L
-  	  # to unsupported forces relinking
-  	  hardcode_minus_L=yes
-  	  hardcode_libdir_flag_spec='-L$libdir'
-  	  hardcode_libdir_separator=
-	  fi
-	  ;;
-	esac
-	shared_flag='-shared'
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag="$shared_flag "'${wl}-G'
-	fi
-      else
-	# not using gcc
-	if test "$host_cpu" = ia64; then
-  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-  	# chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-	else
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag='${wl}-G'
-	  else
-	    shared_flag='${wl}-bM:SRE'
-	  fi
-	fi
-      fi
-
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	allow_undefined_flag='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       cat >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 conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-       hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-	archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-       else
-	if test "$host_cpu" = ia64; then
-	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-	  allow_undefined_flag="-z nodefs"
-	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an empty executable.
-	 cat >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 conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  no_undefined_flag=' ${wl}-bernotok'
-	  allow_undefined_flag=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  whole_archive_flag_spec='$convenience'
-	  archive_cmds_need_lc=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-	fi
-      fi
-      ;;
-
-    amigaos*)
-      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      # see comment about different semantics on the GNU ld section
-      ld_shlibs=no
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-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.
-      hardcode_libdir_flag_spec=' '
-      allow_undefined_flag=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_From_new_cmds='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes=yes
-      ;;
-
-    darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[012])
-         allow_undefined_flag='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[012])
-               allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      archive_cmds_need_lc=no
-      hardcode_direct=no
-      hardcode_automatic=yes
-      hardcode_shlibpath_var=unsupported
-      whole_archive_flag_spec=''
-      link_all_deplibs=yes
-    if test "$GCC" = yes ; then
-    	output_verbose_link_cmd='echo'
-        archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      module_cmds='$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
-      archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-      module_expsym_cmds='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}'
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
-         module_cmds='$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
-         archive_expsym_cmds='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 $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          module_expsym_cmds='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}'
-          ;;
-       *)
-         ld_shlibs=no
-          ;;
-      esac
-    fi
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu | dragonfly*)
-      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-	archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-	archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-	hardcode_libdir_separator=:
-
-	hardcode_direct=yes
-	export_dynamic_flag_spec='${wl}-E'
-
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds='$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
-	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-	hardcode_libdir_separator=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  hardcode_libdir_flag_spec_ld='+b $libdir'
-	  hardcode_direct=no
-	  hardcode_shlibpath_var=no
-	  ;;
-	*)
-	  hardcode_direct=yes
-	  export_dynamic_flag_spec='${wl}-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  hardcode_minus_L=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	hardcode_libdir_flag_spec_ld='-rpath $libdir'
-      fi
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    openbsd*)
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec='${wl}-E'
-      else
-       case $host_os in
-	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	   archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	   hardcode_libdir_flag_spec='-R$libdir'
-	   ;;
-	 *)
-	   archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	   hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-	   ;;
-       esac
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$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
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$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'
-	archive_expsym_cmds='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
-	hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z text'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
-      else
-	wlarc=''
-	archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
- 	# The compiler driver will combine linker options so we
- 	# cannot just pass the convience library names through
- 	# without $wl, iff we do not link with $LD.
- 	# Luckily, gcc supports the same syntax we need for Sun Studio.
- 	# Supported since Solaris 2.6 (maybe 2.5.1?)
- 	case $wlarc in
- 	'')
- 	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
- 	*)
- 	  whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- 	esac ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  reload_cmds='$CC -r -o $output$reload_objs'
-	  hardcode_direct=no
-        ;;
-	motorola)
-	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	hardcode_shlibpath_var=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
-      $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl
-	pic_flag=$lt_prog_compiler_pic
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag
-        allow_undefined_flag=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-	  archive_cmds_need_lc=no
-        else
-	  archive_cmds_need_lc=yes
-        fi
-        allow_undefined_flag=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
-  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 ';' >/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.
-    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
-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'
-  ;;
-
-aix4* | aix5*)
-  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`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
-  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
-  ;;
-
-kfreebsd*-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
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
-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
-    ;;
-  freebsd*) # from 4.6 on
-    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'
-  ;;
-
-interix3*)
-  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*)
-  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
-
-  # 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)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-knetbsd*-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
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU 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"
-  ;;
-
-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
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
-   test -n "$runpath_var" || \
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6; }
-
-if test "$hardcode_action" = 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
-
-striplib=
-old_striplib=
-{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-       else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-       ;;
-   *)
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-    ;;
-  esac
-fi
-
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32*)
-    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
-    { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-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 "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dl_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-   ;;
-
-  *)
-    { echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
-if test "${ac_cv_func_shl_load+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 shl_load to an innocuous variant, in case <limits.h> declares shl_load.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shl_load (); 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 shl_load
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-/* 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_shl_load || defined __stub___shl_load
-choke me
-#endif
-
-int
-main ()
-{
-return shl_load ();
-  ;
-  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 "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_func_shl_load=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_func_shl_load=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
-if test $ac_cv_func_shl_load = yes; then
-  lt_cv_dlopen="shl_load"
-else
-  { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-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 "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_dld_shl_load=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dld_shl_load=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
-if test $ac_cv_lib_dld_shl_load = yes; then
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
-else
-  { echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
-if test "${ac_cv_func_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&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 dlopen to an innocuous variant, in case <limits.h> declares dlopen.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char dlopen (); 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 dlopen
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-/* 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_dlopen || defined __stub___dlopen
-choke me
-#endif
-
-int
-main ()
-{
-return dlopen ();
-  ;
-  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 "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_func_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_func_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
-if test $ac_cv_func_dlopen = yes; then
-  lt_cv_dlopen="dlopen"
-else
-  { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-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 "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dl_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-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 "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_svld_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_svld_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
-if test $ac_cv_lib_svld_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-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 "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_dld_dld_link=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dld_dld_link=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
-if test $ac_cv_lib_dld_dld_link = yes; then
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  	  if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-#line 11800 "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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  	  if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-#line 11900 "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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-# Report which library types will actually be built
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-
-aix4* | aix5*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-    ;;
-esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
-
-# 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 \
-    compiler \
-    CC \
-    LD \
-    lt_prog_compiler_wl \
-    lt_prog_compiler_pic \
-    lt_prog_compiler_static \
-    lt_prog_compiler_no_builtin_flag \
-    export_dynamic_flag_spec \
-    thread_safe_flag_spec \
-    whole_archive_flag_spec \
-    enable_shared_with_static_runtimes \
-    old_archive_cmds \
-    old_archive_from_new_cmds \
-    predep_objects \
-    postdep_objects \
-    predeps \
-    postdeps \
-    compiler_lib_search_path \
-    archive_cmds \
-    archive_expsym_cmds \
-    postinstall_cmds \
-    postuninstall_cmds \
-    old_archive_from_expsyms_cmds \
-    allow_undefined_flag \
-    no_undefined_flag \
-    export_symbols_cmds \
-    hardcode_libdir_flag_spec \
-    hardcode_libdir_flag_spec_ld \
-    hardcode_libdir_separator \
-    hardcode_automatic \
-    module_cmds \
-    module_expsym_cmds \
-    lt_cv_prog_compiler_c_o \
-    exclude_expsyms \
-    include_expsyms; do
-
-    case $var in
-    old_archive_cmds | \
-    old_archive_from_new_cmds | \
-    archive_cmds | \
-    archive_expsym_cmds | \
-    module_cmds | \
-    module_expsym_cmds | \
-    old_archive_from_expsyms_cmds | \
-    export_symbols_cmds | \
-    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
-
-cfgfile="${ofile}T"
-  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
-  $rm -f "$cfgfile"
-  { echo "$as_me:$LINENO: creating $ofile" >&5
-echo "$as_me: creating $ofile" >&6;}
-
-  cat <<__EOF__ >> "$cfgfile"
-#! $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
-# 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
-
-# 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=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# 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_compiler
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# 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_prog_compiler_wl
-
-# 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_prog_compiler_pic
-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_cv_prog_compiler_c_o
-
-# 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_prog_compiler_static
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec
-
-# 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_old_archive_cmds
-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_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-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_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# 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_predep_objects
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-
-# 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_allow_undefined_flag
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# 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=$hardcode_action
-
-# 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_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic
-
-# 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=$link_all_deplibs
-
-# 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="$fix_srcfile_path"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# 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_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# ### END LIBTOOL CONFIG
-
-__EOF__
-
-
-  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_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
-
-CC="$lt_save_CC"
-
-
-# Check whether --with-tags was given.
-if test "${with_tags+set}" = set; then
-  withval=$with_tags; tagnames="$withval"
-fi
-
-
-if test -f "$ltmain" && test -n "$tagnames"; then
-  if test ! -f "${ofile}"; then
-    { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
-  fi
-
-  if test -z "$LTCC"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
-    if test -z "$LTCC"; then
-      { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
-    else
-      { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
-    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
-    "") ;;
-    *)  { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
-echo "$as_me: error: invalid tag name: $tagname" >&2;}
-   { (exit 1); exit 1; }; }
-	;;
-    esac
-
-    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
-    then
-      { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
-echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
-   { (exit 1); exit 1; }; }
-    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_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-
-archive_cmds_need_lc_CXX=no
-allow_undefined_flag_CXX=
-always_export_symbols_CXX=no
-archive_expsym_cmds_CXX=
-export_dynamic_flag_spec_CXX=
-hardcode_direct_CXX=no
-hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
-hardcode_libdir_separator_CXX=
-hardcode_minus_L_CXX=no
-hardcode_shlibpath_var_CXX=unsupported
-hardcode_automatic_CXX=no
-module_cmds_CXX=
-module_expsym_cmds_CXX=
-link_all_deplibs_CXX=unknown
-old_archive_cmds_CXX=$old_archive_cmds
-no_undefined_flag_CXX=
-whole_archive_flag_spec_CXX=
-enable_shared_with_static_runtimes_CXX=no
-
-# Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-objext_CXX=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$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 conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
-  $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
-  lt_cv_path_LD=$lt_cv_path_LDCXX
-else
-  $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-compiler_CXX=$CC
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
-  lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-else
-  lt_prog_compiler_no_builtin_flag_CXX=
-fi
-
-if test "$GXX" = yes; then
-  # Set up default GNU C++ configuration
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
-else
-  { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-  # Check if GNU C++ uses GNU ld as the underlying linker, since the
-  # archiving commands below assume that GNU ld is being used.
-  if test "$with_gnu_ld" = yes; then
-    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-    hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-    #     investigate it a little bit more. (MM)
-    wlarc='${wl}'
-
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
-	grep 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec_CXX=
-    fi
-  else
-    with_gnu_ld=no
-    wlarc=
-
-    # A generic and very simple default shared library creation
-    # command for GNU C++ for the case where it uses the native
-    # linker, instead of GNU ld.  If possible, this setting should
-    # overridden to take advantage of the native linker features on
-    # the platform it is being used on.
-    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-  fi
-
-  # Commands to make compiler produce verbose output that lists
-  # what "hidden" libraries, object files and flags are used when
-  # linking a shared library.
-  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
-  GXX=no
-  with_gnu_ld=no
-  wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-ld_shlibs_CXX=yes
-case $host_os in
-  aix3*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  aix4* | aix5*)
-    if test "$host_cpu" = ia64; then
-      # On IA64, the linker does run time linking by default, so we don't
-      # have to do anything special.
-      aix_use_runtimelinking=no
-      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].*|aix5*)
-	for ld_flag in $LDFLAGS; do
-	  case $ld_flag in
-	  *-brtl*)
-	    aix_use_runtimelinking=yes
-	    break
-	    ;;
-	  esac
-	done
-	;;
-      esac
-
-      exp_sym_flag='-bexport'
-      no_entry_flag='-bnoentry'
-    fi
-
-    # When large executables or shared objects are built, AIX ld can
-    # have problems creating the table of contents.  If linking a library
-    # or program results in "error TOC overflow" add -mminimal-toc to
-    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-    archive_cmds_CXX=''
-    hardcode_direct_CXX=yes
-    hardcode_libdir_separator_CXX=':'
-    link_all_deplibs_CXX=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
-	  hardcode_direct_CXX=yes
-	else
-	  # We have old collect2
-	  hardcode_direct_CXX=unsupported
-	  # It fails to find uninstalled libraries when the uninstalled
-	  # path is not listed in the libpath.  Setting hardcode_minus_L
-	  # to unsupported forces relinking
-	  hardcode_minus_L_CXX=yes
-	  hardcode_libdir_flag_spec_CXX='-L$libdir'
-	  hardcode_libdir_separator_CXX=
-	fi
-	;;
-      esac
-      shared_flag='-shared'
-      if test "$aix_use_runtimelinking" = yes; then
-	shared_flag="$shared_flag "'${wl}-G'
-      fi
-    else
-      # not using gcc
-      if test "$host_cpu" = ia64; then
-	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	# chokes on -Wl,-G. The following line is correct:
-	shared_flag='-G'
-      else
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag='${wl}-G'
-	else
-	  shared_flag='${wl}-bM:SRE'
-	fi
-      fi
-    fi
-
-    # It seems that -bexpall does not export symbols beginning with
-    # underscore (_), so it is better to generate a list of symbols to export.
-    always_export_symbols_CXX=yes
-    if test "$aix_use_runtimelinking" = yes; then
-      # Warning - without using the other runtime loading flags (-brtl),
-      # -berok will link without error, but may produce a broken library.
-      allow_undefined_flag_CXX='-berok'
-      # Determine the default libpath from the value encoded in an empty executable.
-      cat >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 conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-      hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-      archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-     else
-      if test "$host_cpu" = ia64; then
-	hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
-	allow_undefined_flag_CXX="-z nodefs"
-	archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-      else
-	# Determine the default libpath from the value encoded in an empty executable.
-	cat >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 conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-	hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-	# Warning - without using the other run time loading flags,
-	# -berok will link without error, but may produce a broken library.
-	no_undefined_flag_CXX=' ${wl}-bernotok'
-	allow_undefined_flag_CXX=' ${wl}-berok'
-	# Exported symbols can be pulled into shared objects from archives
-	whole_archive_flag_spec_CXX='$convenience'
-	archive_cmds_need_lc_CXX=yes
-	# This is similar to how AIX traditionally builds its shared libraries.
-	archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-      fi
-    fi
-    ;;
-
-  beos*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-      allow_undefined_flag_CXX=unsupported
-      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-      # support --undefined.  This deserves some investigation.  FIXME
-      archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    else
-      ld_shlibs_CXX=no
-    fi
-    ;;
-
-  chorus*)
-    case $cc_basename in
-      *)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-    esac
-    ;;
-
-  cygwin* | mingw* | pw32*)
-    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
-    # as there is no search path for DLLs.
-    hardcode_libdir_flag_spec_CXX='-L$libdir'
-    allow_undefined_flag_CXX=unsupported
-    always_export_symbols_CXX=no
-    enable_shared_with_static_runtimes_CXX=yes
-
-    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-      archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      # If the export-symbols file already is a .def file (1st line
-      # is EXPORTS), use it as is; otherwise, prepend...
-      archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	cp $export_symbols $output_objdir/$soname.def;
-      else
-	echo EXPORTS > $output_objdir/$soname.def;
-	cat $export_symbols >> $output_objdir/$soname.def;
-      fi~
-      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-    else
-      ld_shlibs_CXX=no
-    fi
-  ;;
-      darwin* | rhapsody*)
-        case $host_os in
-        rhapsody* | darwin1.[012])
-         allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[012])
-               allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-        esac
-      archive_cmds_need_lc_CXX=no
-      hardcode_direct_CXX=no
-      hardcode_automatic_CXX=yes
-      hardcode_shlibpath_var_CXX=unsupported
-      whole_archive_flag_spec_CXX=''
-      link_all_deplibs_CXX=yes
-
-    if test "$GXX" = yes ; then
-      lt_int_apple_cc_single_mod=no
-      output_verbose_link_cmd='echo'
-      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
-       lt_int_apple_cc_single_mod=yes
-      fi
-      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-       archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      else
-          archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-        fi
-        module_cmds_CXX='$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
-          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          else
-            archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          fi
-            module_expsym_cmds_CXX='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}'
-      else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-          archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
-          module_cmds_CXX='$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
-          archive_expsym_cmds_CXX='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 $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          module_expsym_cmds_CXX='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}'
-          ;;
-       *)
-         ld_shlibs_CXX=no
-          ;;
-      esac
-      fi
-        ;;
-
-  dgux*)
-    case $cc_basename in
-      ec++*)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      ghcx*)
-	# Green Hills C++ Compiler
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-    esac
-    ;;
-  freebsd[12]*)
-    # C++ shared libraries reported to be fairly broken before switch to ELF
-    ld_shlibs_CXX=no
-    ;;
-  freebsd-elf*)
-    archive_cmds_need_lc_CXX=no
-    ;;
-  freebsd* | kfreebsd*-gnu | dragonfly*)
-    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-    # conventions
-    ld_shlibs_CXX=yes
-    ;;
-  gnu*)
-    ;;
-  hpux9*)
-    hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-    hardcode_libdir_separator_CXX=:
-    export_dynamic_flag_spec_CXX='${wl}-E'
-    hardcode_direct_CXX=yes
-    hardcode_minus_L_CXX=yes # Not in the search PATH,
-				# but as the default
-				# location of the library.
-
-    case $cc_basename in
-    CC*)
-      # FIXME: insert proper C++ library support
-      ld_shlibs_CXX=no
-      ;;
-    aCC*)
-      archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      #
-      # There doesn't appear to be a way to prevent this compiler from
-      # explicitly linking system object files so we need to strip them
-      # from the output so that they don't get included in the library
-      # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | 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
-        archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-      fi
-      ;;
-    esac
-    ;;
-  hpux10*|hpux11*)
-    if test $with_gnu_ld = no; then
-      hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator_CXX=:
-
-      case $host_cpu in
-      hppa*64*|ia64*)
-	hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
-        ;;
-      *)
-	export_dynamic_flag_spec_CXX='${wl}-E'
-        ;;
-      esac
-    fi
-    case $host_cpu in
-    hppa*64*|ia64*)
-      hardcode_direct_CXX=no
-      hardcode_shlibpath_var_CXX=no
-      ;;
-    *)
-      hardcode_direct_CXX=yes
-      hardcode_minus_L_CXX=yes # Not in the search PATH,
-					      # but as the default
-					      # location of the library.
-      ;;
-    esac
-
-    case $cc_basename in
-      CC*)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      aCC*)
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	esac
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes; then
-	  if test $with_gnu_ld = no; then
-	    case $host_cpu in
-	    hppa*64*)
-	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    ia64*)
-	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    *)
-	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    esac
-	  fi
-	else
-	  # FIXME: insert proper C++ library support
-	  ld_shlibs_CXX=no
-	fi
-	;;
-    esac
-    ;;
-  interix3*)
-    hardcode_direct_CXX=no
-    hardcode_shlibpath_var_CXX=no
-    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-    export_dynamic_flag_spec_CXX='${wl}-E'
-    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-    # Instead, shared libraries are loaded at an image base (0x10000000 by
-    # default) and relocated if they conflict, which is a slow very memory
-    # consuming and fragmenting process.  To avoid this, we pick a random,
-    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-    archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    ;;
-  irix5* | irix6*)
-    case $cc_basename in
-      CC*)
-	# SGI C++
-	archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && 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.
-	old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	;;
-      *)
-	if test "$GXX" = yes; then
-	  if test "$with_gnu_ld" = no; then
-	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	  else
-	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
-	  fi
-	fi
-	link_all_deplibs_CXX=yes
-	;;
-    esac
-    hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator_CXX=:
-    ;;
-  linux*)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
-	hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
-	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
-	# Archives containing C++ object files must be created using
-	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
-	;;
-      icpc*)
-	# Intel C++
-	with_gnu_ld=yes
-	# version 8.0 and above of icpc choke on multiply defined symbols
-	# if we add $predep_objects and $postdep_objects, however 7.1 and
-	# earlier do not add the objects themselves.
-	case `$CC -V 2>&1` in
-	*"Version 7."*)
-  	  archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-  	  archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  ;;
-	*)  # Version 8.0 or newer
-	  tmp_idyn=
-	  case $host_cpu in
-	    ia64*) tmp_idyn=' -i_dynamic';;
-	  esac
-  	  archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	  archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  ;;
-	esac
-	archive_cmds_need_lc_CXX=no
-	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	;;
-      pgCC*)
-        # Portland Group C++ compiler
-	archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-  	archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
-	hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
-	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-        ;;
-      cxx*)
-	# Compaq C++
-	archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-	runpath_var=LD_RUN_PATH
-	hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-	hardcode_libdir_separator_CXX=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`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'
-	;;
-    esac
-    ;;
-  lynxos*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  m88k*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  mvs*)
-    case $cc_basename in
-      cxx*)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-    esac
-    ;;
-  netbsd*)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-      wlarc=
-      hardcode_libdir_flag_spec_CXX='-R$libdir'
-      hardcode_direct_CXX=yes
-      hardcode_shlibpath_var_CXX=no
-    fi
-    # Workaround some broken pre-1.5 toolchains
-    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-    ;;
-  openbsd2*)
-    # C++ shared libraries are fairly broken
-    ld_shlibs_CXX=no
-    ;;
-  openbsd*)
-    hardcode_direct_CXX=yes
-    hardcode_shlibpath_var_CXX=no
-    archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-      export_dynamic_flag_spec_CXX='${wl}-E'
-      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    fi
-    output_verbose_link_cmd='echo'
-    ;;
-  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.
-	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	hardcode_libdir_separator_CXX=:
-
-	# Archives containing C++ object files must be created using
-	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
-
-	;;
-      RCC*)
-	# Rational C++ 2.4.1
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      cxx*)
-	allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-	hardcode_libdir_separator_CXX=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# 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
-	  allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-	  archive_cmds_CXX='$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'
-
-	  hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-	  hardcode_libdir_separator_CXX=:
-
-	  # Commands to make compiler produce verbose output that lists
-	  # what "hidden" libraries, object files and flags are used when
-	  # linking a shared library.
-	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-	else
-	  # FIXME: insert proper C++ library support
-	  ld_shlibs_CXX=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.
-	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	hardcode_libdir_separator_CXX=:
-
-	# Archives containing C++ object files must be created using
-	# the KAI C++ compiler.
-	old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
-	;;
-      RCC*)
-	# Rational C++ 2.4.1
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      cxx*)
-	allow_undefined_flag_CXX=' -expect_unresolved \*'
-	archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-	  echo "-hidden">> $lib.exp~
-	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
-	  $rm $lib.exp'
-
-	hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-	hardcode_libdir_separator_CXX=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`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
-	  allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-	 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-	  hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-	  hardcode_libdir_separator_CXX=:
-
-	  # Commands to make compiler produce verbose output that lists
-	  # what "hidden" libraries, object files and flags are used when
-	  # linking a shared library.
-	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-	else
-	  # FIXME: insert proper C++ library support
-	  ld_shlibs_CXX=no
-	fi
-	;;
-    esac
-    ;;
-  psos*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  sunos4*)
-    case $cc_basename in
-      CC*)
-	# Sun C++ 4.x
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      lcc*)
-	# Lucid
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-    esac
-    ;;
-  solaris*)
-    case $cc_basename in
-      CC*)
-	# Sun C++ 4.2, 5.x and Centerline C++
-        archive_cmds_need_lc_CXX=yes
-	no_undefined_flag_CXX=' -zdefs'
-	archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	hardcode_libdir_flag_spec_CXX='-R$libdir'
-	hardcode_shlibpath_var_CXX=no
-	case $host_os in
-	  solaris2.[0-5] | solaris2.[0-5].*) ;;
-	  *)
-	    # The C++ compiler is used as linker so we must use $wl
-	    # flag to pass the commands to the underlying system
-	    # linker. We must also pass each convience library through
-	    # to the system linker between allextract/defaultextract.
-	    # The C++ compiler will combine linker options so we
-	    # cannot just pass the convience library names through
-	    # without $wl.
-	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
-	    ;;
-	esac
-	link_all_deplibs_CXX=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.
-	old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-	;;
-      gcx*)
-	# Green Hills C++ Compiler
-	archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-	# The C++ compiler must be used to create the archive.
-	old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	;;
-      *)
-	# GNU C++ compiler with Solaris linker
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
-	  if $CC --version | grep -v '^2\.7' > /dev/null; then
-	    archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	    archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-	  else
-	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
-	    # platform.
-	    archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	    archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-	  fi
-
-	  hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
-	fi
-	;;
-    esac
-    ;;
-  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-    no_undefined_flag_CXX='${wl}-z,text'
-    archive_cmds_need_lc_CXX=no
-    hardcode_shlibpath_var_CXX=no
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-	archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      *)
-	archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-    esac
-    ;;
-  sysv5* | sco3.2v5* | sco5v6*)
-    # Note: We can NOT use -z defs as we might desire, because we do not
-    # link with -lc, and that would cause any symbols used from libc to
-    # always be unresolved, which means just about no library would
-    # ever link correctly.  If we're not using GNU ld we use -z text
-    # though, which does catch some bad symbols but isn't as heavy-handed
-    # as -z defs.
-    # 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.
-    no_undefined_flag_CXX='${wl}-z,text'
-    allow_undefined_flag_CXX='${wl}-z,nodefs'
-    archive_cmds_need_lc_CXX=no
-    hardcode_shlibpath_var_CXX=no
-    hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-    hardcode_libdir_separator_CXX=':'
-    link_all_deplibs_CXX=yes
-    export_dynamic_flag_spec_CXX='${wl}-Bexport'
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-	archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      *)
-	archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_CXX='$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
-	ld_shlibs_CXX=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-    esac
-    ;;
-  vxworks*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  *)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-esac
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-GCC_CXX="$GXX"
-LD_CXX="$LD"
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-
-cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-EOF
-
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; 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 "$compiler_lib_search_path_CXX"; then
-	     compiler_lib_search_path_CXX="${prev}${p}"
-	   else
-	     compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$postdeps_CXX"; then
-	   postdeps_CXX="${prev}${p}"
-	 else
-	   postdeps_CXX="${postdeps_CXX} ${prev}${p}"
-	 fi
-       fi
-       ;;
-
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 if test -z "$predep_objects_CXX"; then
-	   predep_objects_CXX="$p"
-	 else
-	   predep_objects_CXX="$predep_objects_CXX $p"
-	 fi
-       else
-	 if test -z "$postdep_objects_CXX"; then
-	   postdep_objects_CXX="$p"
-	 else
-	   postdep_objects_CXX="$postdep_objects_CXX $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling CXX test program"
-fi
-
-$rm -f confest.$objext
-
-# PORTME: override above test on systems where it is broken
-case $host_os in
-interix3*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  predep_objects_CXX=
-  postdep_objects_CXX=
-  postdeps_CXX=
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC*)
-    # 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.
-    postdeps_CXX='-lCstd -lCrun'
-    ;;
-  esac
-  ;;
-esac
-
-
-case " $postdeps_CXX " in
-*" -lc "*) archive_cmds_need_lc_CXX=no ;;
-esac
-
-lt_prog_compiler_wl_CXX=
-lt_prog_compiler_pic_CXX=
-lt_prog_compiler_static_CXX=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    lt_prog_compiler_wl_CXX='-Wl,'
-    lt_prog_compiler_static_CXX='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static_CXX='-Bstatic'
-      fi
-      ;;
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
-      ;;
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | 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).
-      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_CXX='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      lt_prog_compiler_pic_CXX=
-      ;;
-    interix3*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic_CXX=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	;;
-      *)
-	lt_prog_compiler_pic_CXX='-fPIC'
-	;;
-      esac
-      ;;
-    *)
-      lt_prog_compiler_pic_CXX='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix4* | aix5*)
-	# All AIX code is PIC.
-	if test "$host_cpu" = ia64; then
-	  # AIX 5 now supports IA64 processor
-	  lt_prog_compiler_static_CXX='-Bstatic'
-	else
-	  lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-       darwin*)
-         # PIC is the default on this platform
-         # Common symbols not allowed in MH_DYLIB files
-         case $cc_basename in
-           xlc*)
-           lt_prog_compiler_pic_CXX='-qnocommon'
-           lt_prog_compiler_wl_CXX='-Wl,'
-           ;;
-         esac
-       ;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | kfreebsd*-gnu | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
-	    if test "$host_cpu" != ia64; then
-	      lt_prog_compiler_pic_CXX='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      lt_prog_compiler_pic_CXX='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux*)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    lt_prog_compiler_wl_CXX='--backend -Wl,'
-	    lt_prog_compiler_pic_CXX='-fPIC'
-	    ;;
-	  icpc* | ecpc*)
-	    # Intel C++
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-static'
-	    ;;
-	  pgCC*)
-	    # Portland Group C++ compiler.
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-fpic'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    lt_prog_compiler_pic_CXX=
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    lt_prog_compiler_pic_CXX='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd*)
-	;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    lt_prog_compiler_wl_CXX='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    lt_prog_compiler_pic_CXX=
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    lt_prog_compiler_wl_CXX='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    lt_prog_compiler_pic_CXX='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    lt_prog_compiler_pic_CXX='-pic'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	lt_prog_compiler_can_build_shared_CXX=no
-	;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_CXX"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_prog_compiler_pic_works_CXX=no
-  ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14240: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:14244: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "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
-       lt_prog_compiler_pic_works_CXX=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
-
-if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
-    case $lt_prog_compiler_pic_CXX in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
-     esac
-else
-    lt_prog_compiler_pic_CXX=
-     lt_prog_compiler_can_build_shared_CXX=no
-fi
-
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_CXX=
-    ;;
-  *)
-    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_prog_compiler_static_works_CXX=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $echo "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
-         lt_prog_compiler_static_works_CXX=yes
-       fi
-     else
-       lt_prog_compiler_static_works_CXX=yes
-     fi
-   fi
-   $rm conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
-
-if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
-    :
-else
-    lt_prog_compiler_static_CXX=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_c_o_CXX=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   printf "$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:14344: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:14348: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "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_cv_prog_compiler_c_o_CXX=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
-  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  case $host_os in
-  aix4* | aix5*)
-    # 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
-      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-    else
-      export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    export_symbols_cmds_CXX="$ltdll_cmds"
-  ;;
-  cygwin* | mingw*)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  *)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  esac
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_CXX" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_CXX=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds_CXX in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
-      $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl_CXX
-	pic_flag=$lt_prog_compiler_pic_CXX
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
-        allow_undefined_flag_CXX=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-	  archive_cmds_need_lc_CXX=no
-        else
-	  archive_cmds_need_lc_CXX=yes
-        fi
-        allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
-  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 ';' >/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.
-    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
-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'
-  ;;
-
-aix4* | aix5*)
-  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`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
-  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
-  ;;
-
-kfreebsd*-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
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
-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
-    ;;
-  freebsd*) # from 4.6 on
-    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'
-  ;;
-
-interix3*)
-  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*)
-  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
-
-  # 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)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-knetbsd*-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
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU 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"
-  ;;
-
-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
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" || \
-   test -n "$runpath_var_CXX" || \
-   test "X$hardcode_automatic_CXX" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct_CXX" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
-     test "$hardcode_minus_L_CXX" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_CXX=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_CXX=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_CXX=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6; }
-
-if test "$hardcode_action_CXX" = 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
-
-
-# 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 \
-    compiler_CXX \
-    CC_CXX \
-    LD_CXX \
-    lt_prog_compiler_wl_CXX \
-    lt_prog_compiler_pic_CXX \
-    lt_prog_compiler_static_CXX \
-    lt_prog_compiler_no_builtin_flag_CXX \
-    export_dynamic_flag_spec_CXX \
-    thread_safe_flag_spec_CXX \
-    whole_archive_flag_spec_CXX \
-    enable_shared_with_static_runtimes_CXX \
-    old_archive_cmds_CXX \
-    old_archive_from_new_cmds_CXX \
-    predep_objects_CXX \
-    postdep_objects_CXX \
-    predeps_CXX \
-    postdeps_CXX \
-    compiler_lib_search_path_CXX \
-    archive_cmds_CXX \
-    archive_expsym_cmds_CXX \
-    postinstall_cmds_CXX \
-    postuninstall_cmds_CXX \
-    old_archive_from_expsyms_cmds_CXX \
-    allow_undefined_flag_CXX \
-    no_undefined_flag_CXX \
-    export_symbols_cmds_CXX \
-    hardcode_libdir_flag_spec_CXX \
-    hardcode_libdir_flag_spec_ld_CXX \
-    hardcode_libdir_separator_CXX \
-    hardcode_automatic_CXX \
-    module_cmds_CXX \
-    module_expsym_cmds_CXX \
-    lt_cv_prog_compiler_c_o_CXX \
-    exclude_expsyms_CXX \
-    include_expsyms_CXX; do
-
-    case $var in
-    old_archive_cmds_CXX | \
-    old_archive_from_new_cmds_CXX | \
-    archive_cmds_CXX | \
-    archive_expsym_cmds_CXX | \
-    module_cmds_CXX | \
-    module_expsym_cmds_CXX | \
-    old_archive_from_expsyms_cmds_CXX | \
-    export_symbols_cmds_CXX | \
-    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
-
-cfgfile="$ofile"
-
-  cat <<__EOF__ >> "$cfgfile"
-# ### 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=$archive_cmds_need_lc_CXX
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
-
-# 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_compiler_CXX
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_CXX
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-
-# 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_prog_compiler_wl_CXX
-
-# 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_prog_compiler_pic_CXX
-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_cv_prog_compiler_c_o_CXX
-
-# 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_prog_compiler_static_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
-
-# 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_old_archive_cmds_CXX
-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_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-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_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# 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_predep_objects_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_CXX
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# 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_allow_undefined_flag_CXX
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# 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=$hardcode_action_CXX
-
-# 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_hardcode_libdir_flag_spec_CXX
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_CXX
-
-# 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=$link_all_deplibs_CXX
-
-# 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="$fix_srcfile_path_CXX"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# 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_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-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_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
-
-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
-
-	else
-	  tagname=""
-	fi
-	;;
-
-      F77)
-	if test -n "$F77" && test "X$F77" != "Xno"; then
-
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-
-
-archive_cmds_need_lc_F77=no
-allow_undefined_flag_F77=
-always_export_symbols_F77=no
-archive_expsym_cmds_F77=
-export_dynamic_flag_spec_F77=
-hardcode_direct_F77=no
-hardcode_libdir_flag_spec_F77=
-hardcode_libdir_flag_spec_ld_F77=
-hardcode_libdir_separator_F77=
-hardcode_minus_L_F77=no
-hardcode_automatic_F77=no
-module_cmds_F77=
-module_expsym_cmds_F77=
-link_all_deplibs_F77=unknown
-old_archive_cmds_F77=$old_archive_cmds
-no_undefined_flag_F77=
-whole_archive_flag_spec_F77=
-enable_shared_with_static_runtimes_F77=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-objext_F77=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="      program t\n      end\n"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$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 conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-compiler_F77=$CC
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-aix4* | aix5*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-  ;;
-esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
-
-GCC_F77="$G77"
-LD_F77="$LD"
-
-lt_prog_compiler_wl_F77=
-lt_prog_compiler_pic_F77=
-lt_prog_compiler_static_F77=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl_F77='-Wl,'
-    lt_prog_compiler_static_F77='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static_F77='-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_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
-      ;;
-
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | 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).
-      lt_prog_compiler_pic_F77='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_F77='-fno-common'
-      ;;
-
-    interix3*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared_F77=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic_F77=-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_prog_compiler_pic_F77='-fPIC'
-	;;
-      esac
-      ;;
-
-    *)
-      lt_prog_compiler_pic_F77='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static_F77='-Bstatic'
-      else
-	lt_prog_compiler_static_F77='-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_prog_compiler_pic_F77='-qnocommon'
-         lt_prog_compiler_wl_F77='-Wl,'
-         ;;
-       esac
-       ;;
-
-    mingw* | 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).
-      lt_prog_compiler_pic_F77='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	lt_prog_compiler_pic_F77='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static_F77='-non_shared'
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic_F77='-KPIC'
-      lt_prog_compiler_static_F77='-Bstatic'
-      ;;
-
-    linux*)
-      case $cc_basename in
-      icc* | ecc*)
-	lt_prog_compiler_wl_F77='-Wl,'
-	lt_prog_compiler_pic_F77='-KPIC'
-	lt_prog_compiler_static_F77='-static'
-        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	lt_prog_compiler_wl_F77='-Wl,'
-	lt_prog_compiler_pic_F77='-fpic'
-	lt_prog_compiler_static_F77='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl_F77='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static_F77='-non_shared'
-        ;;
-      esac
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static_F77='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic_F77='-KPIC'
-      lt_prog_compiler_static_F77='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-	lt_prog_compiler_wl_F77='-Qoption ld ';;
-      *)
-	lt_prog_compiler_wl_F77='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl_F77='-Qoption ld '
-      lt_prog_compiler_pic_F77='-PIC'
-      lt_prog_compiler_static_F77='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      lt_prog_compiler_pic_F77='-KPIC'
-      lt_prog_compiler_static_F77='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	lt_prog_compiler_pic_F77='-Kconform_pic'
-	lt_prog_compiler_static_F77='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      lt_prog_compiler_pic_F77='-KPIC'
-      lt_prog_compiler_static_F77='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      lt_prog_compiler_can_build_shared_F77=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic_F77='-pic'
-      lt_prog_compiler_static_F77='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared_F77=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_F77"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_prog_compiler_pic_works_F77=no
-  ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_F77"
-   # 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:15914: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:15918: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "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
-       lt_prog_compiler_pic_works_F77=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
-
-if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
-    case $lt_prog_compiler_pic_F77 in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
-     esac
-else
-    lt_prog_compiler_pic_F77=
-     lt_prog_compiler_can_build_shared_F77=no
-fi
-
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_F77=
-    ;;
-  *)
-    lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_prog_compiler_static_works_F77=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $echo "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
-         lt_prog_compiler_static_works_F77=yes
-       fi
-     else
-       lt_prog_compiler_static_works_F77=yes
-     fi
-   fi
-   $rm conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
-
-if test x"$lt_prog_compiler_static_works_F77" = xyes; then
-    :
-else
-    lt_prog_compiler_static_F77=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_c_o_F77=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   printf "$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:16018: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:16022: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "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_cv_prog_compiler_c_o_F77=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
-  runpath_var=
-  allow_undefined_flag_F77=
-  enable_shared_with_static_runtimes_F77=no
-  archive_cmds_F77=
-  archive_expsym_cmds_F77=
-  old_archive_From_new_cmds_F77=
-  old_archive_from_expsyms_cmds_F77=
-  export_dynamic_flag_spec_F77=
-  whole_archive_flag_spec_F77=
-  thread_safe_flag_spec_F77=
-  hardcode_libdir_flag_spec_F77=
-  hardcode_libdir_flag_spec_ld_F77=
-  hardcode_libdir_separator_F77=
-  hardcode_direct_F77=no
-  hardcode_minus_L_F77=no
-  hardcode_shlibpath_var_F77=unsupported
-  link_all_deplibs_F77=unknown
-  hardcode_automatic_F77=no
-  module_cmds_F77=
-  module_expsym_cmds_F77=
-  always_export_symbols_F77=no
-  export_symbols_cmds_F77='$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
-  include_expsyms_F77=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
-  # 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.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  for cc_temp in $compiler""; 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-%%"`
-
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs_F77=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
-    hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec_F77='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-	whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-  	whole_archive_flag_spec_F77=
-    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
-    aix3* | aix4* | aix5*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-	ld_shlibs_F77=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*)
-      archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      hardcode_minus_L_F77=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.
-      ld_shlibs_F77=no
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	allow_undefined_flag_F77=unsupported
-	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	ld_shlibs_F77=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      allow_undefined_flag_F77=unsupported
-      always_export_symbols_F77=no
-      enable_shared_with_static_runtimes_F77=yes
-      export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	ld_shlibs_F77=no
-      fi
-      ;;
-
-    interix3*)
-      hardcode_direct_F77=no
-      hardcode_shlibpath_var_F77=no
-      hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec_F77='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds_F77='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'
-      ;;
-
-    linux*)
-      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
-	  whole_archive_flag_spec_F77='${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
-	  whole_archive_flag_spec_F77='${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
-	archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-	if test $supports_anon_versioning = yes; then
-	  archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	fi
-      else
-	ld_shlibs_F77=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-	ld_shlibs_F77=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
-	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs_F77=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-	ld_shlibs_F77=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
-	    hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-	    archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-	    archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
-	  else
-	    ld_shlibs_F77=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs_F77=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs_F77" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec_F77=
-      export_dynamic_flag_spec_F77=
-      whole_archive_flag_spec_F77=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag_F77=unsupported
-      always_export_symbols_F77=yes
-      archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L_F77=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	hardcode_direct_F77=unsupported
-      fi
-      ;;
-
-    aix4* | aix5*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	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
-	  export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-	else
-	  export_symbols_cmds_F77='$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].*|aix5*)
-	  for ld_flag in $LDFLAGS; do
-  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-  	    aix_use_runtimelinking=yes
-  	    break
-  	  fi
-	  done
-	  ;;
-	esac
-
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds_F77=''
-      hardcode_direct_F77=yes
-      hardcode_libdir_separator_F77=':'
-      link_all_deplibs_F77=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
-  	  hardcode_direct_F77=yes
-	  else
-  	  # We have old collect2
-  	  hardcode_direct_F77=unsupported
-  	  # It fails to find uninstalled libraries when the uninstalled
-  	  # path is not listed in the libpath.  Setting hardcode_minus_L
-  	  # to unsupported forces relinking
-  	  hardcode_minus_L_F77=yes
-  	  hardcode_libdir_flag_spec_F77='-L$libdir'
-  	  hardcode_libdir_separator_F77=
-	  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.
-      always_export_symbols_F77=yes
-      if test "$aix_use_runtimelinking" = yes; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	allow_undefined_flag_F77='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       cat >conftest.$ac_ext <<_ACEOF
-      program main
-
-      end
-_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 "echo \"\$as_me:$LINENO: $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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_f77_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-       hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
-	archive_expsym_cmds_F77="\$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
-	  hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
-	  allow_undefined_flag_F77="-z nodefs"
-	  archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an empty executable.
-	 cat >conftest.$ac_ext <<_ACEOF
-      program main
-
-      end
-_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 "echo \"\$as_me:$LINENO: $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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_f77_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-	 hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  no_undefined_flag_F77=' ${wl}-bernotok'
-	  allow_undefined_flag_F77=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  whole_archive_flag_spec_F77='$convenience'
-	  archive_cmds_need_lc_F77=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  archive_expsym_cmds_F77="\$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*)
-      archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      hardcode_minus_L_F77=yes
-      # see comment about different semantics on the GNU ld section
-      ld_shlibs_F77=no
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec_F77=-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.
-      hardcode_libdir_flag_spec_F77=' '
-      allow_undefined_flag_F77=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds_F77='$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.
-      old_archive_From_new_cmds_F77='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes_F77=yes
-      ;;
-
-    darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[012])
-         allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[012])
-               allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      archive_cmds_need_lc_F77=no
-      hardcode_direct_F77=no
-      hardcode_automatic_F77=yes
-      hardcode_shlibpath_var_F77=unsupported
-      whole_archive_flag_spec_F77=''
-      link_all_deplibs_F77=yes
-    if test "$GCC" = yes ; then
-    	output_verbose_link_cmd='echo'
-        archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      module_cmds_F77='$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
-      archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-      module_expsym_cmds_F77='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}'
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
-         module_cmds_F77='$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
-         archive_expsym_cmds_F77='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 $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          module_expsym_cmds_F77='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}'
-          ;;
-       *)
-         ld_shlibs_F77=no
-          ;;
-      esac
-    fi
-      ;;
-
-    dgux*)
-      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs_F77=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec_F77='-R$libdir'
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_F77=yes
-      hardcode_minus_L_F77=yes
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu | dragonfly*)
-      archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec_F77='-R$libdir'
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-	archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-	archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator_F77=:
-      hardcode_direct_F77=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L_F77=yes
-      export_dynamic_flag_spec_F77='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
-	hardcode_libdir_separator_F77=:
-
-	hardcode_direct_F77=yes
-	export_dynamic_flag_spec_F77='${wl}-E'
-
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	hardcode_minus_L_F77=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds_F77='$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
-	hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
-	hardcode_libdir_separator_F77=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  hardcode_libdir_flag_spec_ld_F77='+b $libdir'
-	  hardcode_direct_F77=no
-	  hardcode_shlibpath_var_F77=no
-	  ;;
-	*)
-	  hardcode_direct_F77=yes
-	  export_dynamic_flag_spec_F77='${wl}-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  hardcode_minus_L_F77=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	archive_cmds_F77='$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
-	archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
-      fi
-      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_F77=:
-      link_all_deplibs_F77=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec_F77='-R$libdir'
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    newsos6)
-      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_F77=yes
-      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_F77=:
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    openbsd*)
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec_F77='${wl}-E'
-      else
-       case $host_os in
-	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	   archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	   hardcode_libdir_flag_spec_F77='-R$libdir'
-	   ;;
-	 *)
-	   archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	   hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
-	   ;;
-       esac
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      hardcode_minus_L_F77=yes
-      allow_undefined_flag_F77=unsupported
-      archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-	allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds_F77='$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
-	allow_undefined_flag_F77=' -expect_unresolved \*'
-	archive_cmds_F77='$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
-      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_F77=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds_F77='$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'
-	hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
-      else
-	allow_undefined_flag_F77=' -expect_unresolved \*'
-	archive_cmds_F77='$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'
-	archive_expsym_cmds_F77='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
-	hardcode_libdir_flag_spec_F77='-rpath $libdir'
-      fi
-      hardcode_libdir_separator_F77=:
-      ;;
-
-    solaris*)
-      no_undefined_flag_F77=' -z text'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_F77='$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=''
-	archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	archive_expsym_cmds_F77='$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
-      hardcode_libdir_flag_spec_F77='-R$libdir'
-      hardcode_shlibpath_var_F77=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
- 	# The compiler driver will combine linker options so we
- 	# cannot just pass the convience library names through
- 	# without $wl, iff we do not link with $LD.
- 	# Luckily, gcc supports the same syntax we need for Sun Studio.
- 	# Supported since Solaris 2.6 (maybe 2.5.1?)
- 	case $wlarc in
- 	'')
- 	  whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
- 	*)
- 	  whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- 	esac ;;
-      esac
-      link_all_deplibs_F77=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      hardcode_direct_F77=yes
-      hardcode_minus_L_F77=yes
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct_F77=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  reload_cmds_F77='$CC -r -o $output$reload_objs'
-	  hardcode_direct_F77=no
-        ;;
-	motorola)
-	  archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var_F77=no
-      export_dynamic_flag_spec_F77='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	hardcode_shlibpath_var_F77=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	ld_shlibs_F77=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
-      no_undefined_flag_F77='${wl}-z,text'
-      archive_cmds_need_lc_F77=no
-      hardcode_shlibpath_var_F77=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag_F77='${wl}-z,text'
-      allow_undefined_flag_F77='${wl}-z,nodefs'
-      archive_cmds_need_lc_F77=no
-      hardcode_shlibpath_var_F77=no
-      hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      hardcode_libdir_separator_F77=':'
-      link_all_deplibs_F77=yes
-      export_dynamic_flag_spec_F77='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    *)
-      ld_shlibs_F77=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6; }
-test "$ld_shlibs_F77" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_F77" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_F77=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds_F77 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.
-      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
-      $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl_F77
-	pic_flag=$lt_prog_compiler_pic_F77
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag_F77
-        allow_undefined_flag_F77=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-	  archive_cmds_need_lc_F77=no
-        else
-	  archive_cmds_need_lc_F77=yes
-        fi
-        allow_undefined_flag_F77=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
-  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 ';' >/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.
-    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
-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'
-  ;;
-
-aix4* | aix5*)
-  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`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
-  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
-  ;;
-
-kfreebsd*-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
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
-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
-    ;;
-  freebsd*) # from 4.6 on
-    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'
-  ;;
-
-interix3*)
-  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*)
-  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
-
-  # 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)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-knetbsd*-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
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU 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"
-  ;;
-
-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
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_F77=
-if test -n "$hardcode_libdir_flag_spec_F77" || \
-   test -n "$runpath_var_F77" || \
-   test "X$hardcode_automatic_F77" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct_F77" != 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, F77)" != no &&
-     test "$hardcode_minus_L_F77" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_F77=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_F77=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_F77=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6; }
-
-if test "$hardcode_action_F77" = 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
-
-
-# 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 \
-    compiler_F77 \
-    CC_F77 \
-    LD_F77 \
-    lt_prog_compiler_wl_F77 \
-    lt_prog_compiler_pic_F77 \
-    lt_prog_compiler_static_F77 \
-    lt_prog_compiler_no_builtin_flag_F77 \
-    export_dynamic_flag_spec_F77 \
-    thread_safe_flag_spec_F77 \
-    whole_archive_flag_spec_F77 \
-    enable_shared_with_static_runtimes_F77 \
-    old_archive_cmds_F77 \
-    old_archive_from_new_cmds_F77 \
-    predep_objects_F77 \
-    postdep_objects_F77 \
-    predeps_F77 \
-    postdeps_F77 \
-    compiler_lib_search_path_F77 \
-    archive_cmds_F77 \
-    archive_expsym_cmds_F77 \
-    postinstall_cmds_F77 \
-    postuninstall_cmds_F77 \
-    old_archive_from_expsyms_cmds_F77 \
-    allow_undefined_flag_F77 \
-    no_undefined_flag_F77 \
-    export_symbols_cmds_F77 \
-    hardcode_libdir_flag_spec_F77 \
-    hardcode_libdir_flag_spec_ld_F77 \
-    hardcode_libdir_separator_F77 \
-    hardcode_automatic_F77 \
-    module_cmds_F77 \
-    module_expsym_cmds_F77 \
-    lt_cv_prog_compiler_c_o_F77 \
-    exclude_expsyms_F77 \
-    include_expsyms_F77; do
-
-    case $var in
-    old_archive_cmds_F77 | \
-    old_archive_from_new_cmds_F77 | \
-    archive_cmds_F77 | \
-    archive_expsym_cmds_F77 | \
-    module_cmds_F77 | \
-    module_expsym_cmds_F77 | \
-    old_archive_from_expsyms_cmds_F77 | \
-    export_symbols_cmds_F77 | \
-    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
-
-cfgfile="$ofile"
-
-  cat <<__EOF__ >> "$cfgfile"
-# ### 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=$archive_cmds_need_lc_F77
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
-
-# 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_compiler_F77
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_F77
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_F77
-
-# 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_prog_compiler_wl_F77
-
-# 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_prog_compiler_pic_F77
-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_cv_prog_compiler_c_o_F77
-
-# 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_prog_compiler_static_F77
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
-
-# 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_old_archive_cmds_F77
-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_old_archive_from_new_cmds_F77
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_F77
-archive_expsym_cmds=$lt_archive_expsym_cmds_F77
-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_module_cmds_F77
-module_expsym_cmds=$lt_module_expsym_cmds_F77
-
-# 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_predep_objects_F77
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_F77
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_F77
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_F77
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_F77
-
-# 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_allow_undefined_flag_F77
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_F77
-
-# 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=$hardcode_action_F77
-
-# 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_hardcode_libdir_flag_spec_F77
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_F77
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_F77
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_F77
-
-# 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=$link_all_deplibs_F77
-
-# 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="$fix_srcfile_path_F77"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_F77
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_F77
-
-# 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_exclude_expsyms_F77
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_F77
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-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_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
-
-CC="$lt_save_CC"
-
-	else
-	  tagname=""
-	fi
-	;;
-
-      GCJ)
-	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-objext_GCJ=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$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 conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-compiler_GCJ=$CC
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-archive_cmds_need_lc_GCJ=no
-
-old_archive_cmds_GCJ=$old_archive_cmds
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-
-lt_prog_compiler_no_builtin_flag_GCJ=
-
-if test "$GCC" = yes; then
-  lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-  ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:18220: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:18224: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "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
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-lt_prog_compiler_wl_GCJ=
-lt_prog_compiler_pic_GCJ=
-lt_prog_compiler_static_GCJ=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl_GCJ='-Wl,'
-    lt_prog_compiler_static_GCJ='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static_GCJ='-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_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
-      ;;
-
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | 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).
-      lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_GCJ='-fno-common'
-      ;;
-
-    interix3*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared_GCJ=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic_GCJ=-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_prog_compiler_pic_GCJ='-fPIC'
-	;;
-      esac
-      ;;
-
-    *)
-      lt_prog_compiler_pic_GCJ='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static_GCJ='-Bstatic'
-      else
-	lt_prog_compiler_static_GCJ='-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_prog_compiler_pic_GCJ='-qnocommon'
-         lt_prog_compiler_wl_GCJ='-Wl,'
-         ;;
-       esac
-       ;;
-
-    mingw* | 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).
-      lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	lt_prog_compiler_pic_GCJ='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static_GCJ='-non_shared'
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    linux*)
-      case $cc_basename in
-      icc* | ecc*)
-	lt_prog_compiler_wl_GCJ='-Wl,'
-	lt_prog_compiler_pic_GCJ='-KPIC'
-	lt_prog_compiler_static_GCJ='-static'
-        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	lt_prog_compiler_wl_GCJ='-Wl,'
-	lt_prog_compiler_pic_GCJ='-fpic'
-	lt_prog_compiler_static_GCJ='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl_GCJ='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static_GCJ='-non_shared'
-        ;;
-      esac
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static_GCJ='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-	lt_prog_compiler_wl_GCJ='-Qoption ld ';;
-      *)
-	lt_prog_compiler_wl_GCJ='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl_GCJ='-Qoption ld '
-      lt_prog_compiler_pic_GCJ='-PIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	lt_prog_compiler_pic_GCJ='-Kconform_pic'
-	lt_prog_compiler_static_GCJ='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      lt_prog_compiler_can_build_shared_GCJ=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic_GCJ='-pic'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared_GCJ=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_GCJ"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_prog_compiler_pic_works_GCJ=no
-  ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
-   # 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:18488: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:18492: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "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
-       lt_prog_compiler_pic_works_GCJ=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
-
-if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
-    case $lt_prog_compiler_pic_GCJ in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
-     esac
-else
-    lt_prog_compiler_pic_GCJ=
-     lt_prog_compiler_can_build_shared_GCJ=no
-fi
-
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_GCJ=
-    ;;
-  *)
-    lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_prog_compiler_static_works_GCJ=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $echo "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
-         lt_prog_compiler_static_works_GCJ=yes
-       fi
-     else
-       lt_prog_compiler_static_works_GCJ=yes
-     fi
-   fi
-   $rm conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
-
-if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
-    :
-else
-    lt_prog_compiler_static_GCJ=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_c_o_GCJ=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   printf "$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:18592: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:18596: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "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_cv_prog_compiler_c_o_GCJ=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
-  runpath_var=
-  allow_undefined_flag_GCJ=
-  enable_shared_with_static_runtimes_GCJ=no
-  archive_cmds_GCJ=
-  archive_expsym_cmds_GCJ=
-  old_archive_From_new_cmds_GCJ=
-  old_archive_from_expsyms_cmds_GCJ=
-  export_dynamic_flag_spec_GCJ=
-  whole_archive_flag_spec_GCJ=
-  thread_safe_flag_spec_GCJ=
-  hardcode_libdir_flag_spec_GCJ=
-  hardcode_libdir_flag_spec_ld_GCJ=
-  hardcode_libdir_separator_GCJ=
-  hardcode_direct_GCJ=no
-  hardcode_minus_L_GCJ=no
-  hardcode_shlibpath_var_GCJ=unsupported
-  link_all_deplibs_GCJ=unknown
-  hardcode_automatic_GCJ=no
-  module_cmds_GCJ=
-  module_expsym_cmds_GCJ=
-  always_export_symbols_GCJ=no
-  export_symbols_cmds_GCJ='$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
-  include_expsyms_GCJ=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
-  # 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.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  for cc_temp in $compiler""; 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-%%"`
-
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs_GCJ=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
-    hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-	whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-  	whole_archive_flag_spec_GCJ=
-    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
-    aix3* | aix4* | aix5*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-	ld_shlibs_GCJ=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*)
-      archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_minus_L_GCJ=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.
-      ld_shlibs_GCJ=no
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	allow_undefined_flag_GCJ=unsupported
-	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	ld_shlibs_GCJ=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      allow_undefined_flag_GCJ=unsupported
-      always_export_symbols_GCJ=no
-      enable_shared_with_static_runtimes_GCJ=yes
-      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	ld_shlibs_GCJ=no
-      fi
-      ;;
-
-    interix3*)
-      hardcode_direct_GCJ=no
-      hardcode_shlibpath_var_GCJ=no
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec_GCJ='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds_GCJ='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'
-      ;;
-
-    linux*)
-      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
-	  whole_archive_flag_spec_GCJ='${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
-	  whole_archive_flag_spec_GCJ='${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
-	archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-	if test $supports_anon_versioning = yes; then
-	  archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	fi
-      else
-	ld_shlibs_GCJ=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-	ld_shlibs_GCJ=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
-	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs_GCJ=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-	ld_shlibs_GCJ=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
-	    hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-	    archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-	    archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
-	  else
-	    ld_shlibs_GCJ=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs_GCJ=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs_GCJ" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec_GCJ=
-      export_dynamic_flag_spec_GCJ=
-      whole_archive_flag_spec_GCJ=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag_GCJ=unsupported
-      always_export_symbols_GCJ=yes
-      archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L_GCJ=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	hardcode_direct_GCJ=unsupported
-      fi
-      ;;
-
-    aix4* | aix5*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	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
-	  export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-	else
-	  export_symbols_cmds_GCJ='$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].*|aix5*)
-	  for ld_flag in $LDFLAGS; do
-  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-  	    aix_use_runtimelinking=yes
-  	    break
-  	  fi
-	  done
-	  ;;
-	esac
-
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds_GCJ=''
-      hardcode_direct_GCJ=yes
-      hardcode_libdir_separator_GCJ=':'
-      link_all_deplibs_GCJ=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
-  	  hardcode_direct_GCJ=yes
-	  else
-  	  # We have old collect2
-  	  hardcode_direct_GCJ=unsupported
-  	  # It fails to find uninstalled libraries when the uninstalled
-  	  # path is not listed in the libpath.  Setting hardcode_minus_L
-  	  # to unsupported forces relinking
-  	  hardcode_minus_L_GCJ=yes
-  	  hardcode_libdir_flag_spec_GCJ='-L$libdir'
-  	  hardcode_libdir_separator_GCJ=
-	  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.
-      always_export_symbols_GCJ=yes
-      if test "$aix_use_runtimelinking" = yes; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	allow_undefined_flag_GCJ='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       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 conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-       hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
-	archive_expsym_cmds_GCJ="\$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
-	  hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
-	  allow_undefined_flag_GCJ="-z nodefs"
-	  archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an empty executable.
-	 cat >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 conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-	 hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  no_undefined_flag_GCJ=' ${wl}-bernotok'
-	  allow_undefined_flag_GCJ=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  whole_archive_flag_spec_GCJ='$convenience'
-	  archive_cmds_need_lc_GCJ=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  archive_expsym_cmds_GCJ="\$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*)
-      archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_minus_L_GCJ=yes
-      # see comment about different semantics on the GNU ld section
-      ld_shlibs_GCJ=no
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec_GCJ=-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.
-      hardcode_libdir_flag_spec_GCJ=' '
-      allow_undefined_flag_GCJ=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds_GCJ='$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.
-      old_archive_From_new_cmds_GCJ='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes_GCJ=yes
-      ;;
-
-    darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[012])
-         allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[012])
-               allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      archive_cmds_need_lc_GCJ=no
-      hardcode_direct_GCJ=no
-      hardcode_automatic_GCJ=yes
-      hardcode_shlibpath_var_GCJ=unsupported
-      whole_archive_flag_spec_GCJ=''
-      link_all_deplibs_GCJ=yes
-    if test "$GCC" = yes ; then
-    	output_verbose_link_cmd='echo'
-        archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      module_cmds_GCJ='$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
-      archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-      module_expsym_cmds_GCJ='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}'
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
-         module_cmds_GCJ='$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
-         archive_expsym_cmds_GCJ='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 $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          module_expsym_cmds_GCJ='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}'
-          ;;
-       *)
-         ld_shlibs_GCJ=no
-          ;;
-      esac
-    fi
-      ;;
-
-    dgux*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs_GCJ=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_GCJ=yes
-      hardcode_minus_L_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu | dragonfly*)
-      archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-	archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-	archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      hardcode_direct_GCJ=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L_GCJ=yes
-      export_dynamic_flag_spec_GCJ='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-	hardcode_libdir_separator_GCJ=:
-
-	hardcode_direct_GCJ=yes
-	export_dynamic_flag_spec_GCJ='${wl}-E'
-
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	hardcode_minus_L_GCJ=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds_GCJ='$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
-	hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-	hardcode_libdir_separator_GCJ=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
-	  hardcode_direct_GCJ=no
-	  hardcode_shlibpath_var_GCJ=no
-	  ;;
-	*)
-	  hardcode_direct_GCJ=yes
-	  export_dynamic_flag_spec_GCJ='${wl}-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  hardcode_minus_L_GCJ=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	archive_cmds_GCJ='$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
-	archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
-      fi
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      link_all_deplibs_GCJ=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    newsos6)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_GCJ=yes
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    openbsd*)
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec_GCJ='${wl}-E'
-      else
-       case $host_os in
-	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	   archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	   hardcode_libdir_flag_spec_GCJ='-R$libdir'
-	   ;;
-	 *)
-	   archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	   hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-	   ;;
-       esac
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_minus_L_GCJ=yes
-      allow_undefined_flag_GCJ=unsupported
-      archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-	allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds_GCJ='$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
-	allow_undefined_flag_GCJ=' -expect_unresolved \*'
-	archive_cmds_GCJ='$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
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds_GCJ='$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'
-	hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      else
-	allow_undefined_flag_GCJ=' -expect_unresolved \*'
-	archive_cmds_GCJ='$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'
-	archive_expsym_cmds_GCJ='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
-	hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
-      fi
-      hardcode_libdir_separator_GCJ=:
-      ;;
-
-    solaris*)
-      no_undefined_flag_GCJ=' -z text'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$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=''
-	archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	archive_expsym_cmds_GCJ='$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
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_shlibpath_var_GCJ=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
- 	# The compiler driver will combine linker options so we
- 	# cannot just pass the convience library names through
- 	# without $wl, iff we do not link with $LD.
- 	# Luckily, gcc supports the same syntax we need for Sun Studio.
- 	# Supported since Solaris 2.6 (maybe 2.5.1?)
- 	case $wlarc in
- 	'')
- 	  whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
- 	*)
- 	  whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- 	esac ;;
-      esac
-      link_all_deplibs_GCJ=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_minus_L_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct_GCJ=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  reload_cmds_GCJ='$CC -r -o $output$reload_objs'
-	  hardcode_direct_GCJ=no
-        ;;
-	motorola)
-	  archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var_GCJ=no
-      export_dynamic_flag_spec_GCJ='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	hardcode_shlibpath_var_GCJ=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	ld_shlibs_GCJ=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
-      no_undefined_flag_GCJ='${wl}-z,text'
-      archive_cmds_need_lc_GCJ=no
-      hardcode_shlibpath_var_GCJ=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag_GCJ='${wl}-z,text'
-      allow_undefined_flag_GCJ='${wl}-z,nodefs'
-      archive_cmds_need_lc_GCJ=no
-      hardcode_shlibpath_var_GCJ=no
-      hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      hardcode_libdir_separator_GCJ=':'
-      link_all_deplibs_GCJ=yes
-      export_dynamic_flag_spec_GCJ='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    *)
-      ld_shlibs_GCJ=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
-test "$ld_shlibs_GCJ" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_GCJ" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_GCJ=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds_GCJ 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.
-      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
-      $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl_GCJ
-	pic_flag=$lt_prog_compiler_pic_GCJ
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
-        allow_undefined_flag_GCJ=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-	  archive_cmds_need_lc_GCJ=no
-        else
-	  archive_cmds_need_lc_GCJ=yes
-        fi
-        allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
-  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 ';' >/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.
-    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
-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'
-  ;;
-
-aix4* | aix5*)
-  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`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
-  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
-  ;;
-
-kfreebsd*-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
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
-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
-    ;;
-  freebsd*) # from 4.6 on
-    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'
-  ;;
-
-interix3*)
-  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*)
-  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
-
-  # 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)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-knetbsd*-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
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU 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"
-  ;;
-
-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
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
-   test -n "$runpath_var_GCJ" || \
-   test "X$hardcode_automatic_GCJ" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct_GCJ" != 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, GCJ)" != no &&
-     test "$hardcode_minus_L_GCJ" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_GCJ=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_GCJ=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_GCJ=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
-
-if test "$hardcode_action_GCJ" = 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
-
-
-# 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 \
-    compiler_GCJ \
-    CC_GCJ \
-    LD_GCJ \
-    lt_prog_compiler_wl_GCJ \
-    lt_prog_compiler_pic_GCJ \
-    lt_prog_compiler_static_GCJ \
-    lt_prog_compiler_no_builtin_flag_GCJ \
-    export_dynamic_flag_spec_GCJ \
-    thread_safe_flag_spec_GCJ \
-    whole_archive_flag_spec_GCJ \
-    enable_shared_with_static_runtimes_GCJ \
-    old_archive_cmds_GCJ \
-    old_archive_from_new_cmds_GCJ \
-    predep_objects_GCJ \
-    postdep_objects_GCJ \
-    predeps_GCJ \
-    postdeps_GCJ \
-    compiler_lib_search_path_GCJ \
-    archive_cmds_GCJ \
-    archive_expsym_cmds_GCJ \
-    postinstall_cmds_GCJ \
-    postuninstall_cmds_GCJ \
-    old_archive_from_expsyms_cmds_GCJ \
-    allow_undefined_flag_GCJ \
-    no_undefined_flag_GCJ \
-    export_symbols_cmds_GCJ \
-    hardcode_libdir_flag_spec_GCJ \
-    hardcode_libdir_flag_spec_ld_GCJ \
-    hardcode_libdir_separator_GCJ \
-    hardcode_automatic_GCJ \
-    module_cmds_GCJ \
-    module_expsym_cmds_GCJ \
-    lt_cv_prog_compiler_c_o_GCJ \
-    exclude_expsyms_GCJ \
-    include_expsyms_GCJ; do
-
-    case $var in
-    old_archive_cmds_GCJ | \
-    old_archive_from_new_cmds_GCJ | \
-    archive_cmds_GCJ | \
-    archive_expsym_cmds_GCJ | \
-    module_cmds_GCJ | \
-    module_expsym_cmds_GCJ | \
-    old_archive_from_expsyms_cmds_GCJ | \
-    export_symbols_cmds_GCJ | \
-    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
-
-cfgfile="$ofile"
-
-  cat <<__EOF__ >> "$cfgfile"
-# ### 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=$archive_cmds_need_lc_GCJ
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
-
-# 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_compiler_GCJ
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_GCJ
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_GCJ
-
-# 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_prog_compiler_wl_GCJ
-
-# 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_prog_compiler_pic_GCJ
-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_cv_prog_compiler_c_o_GCJ
-
-# 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_prog_compiler_static_GCJ
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
-
-# 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_old_archive_cmds_GCJ
-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_old_archive_from_new_cmds_GCJ
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_GCJ
-archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
-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_module_cmds_GCJ
-module_expsym_cmds=$lt_module_expsym_cmds_GCJ
-
-# 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_predep_objects_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_GCJ
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_GCJ
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
-
-# 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_allow_undefined_flag_GCJ
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_GCJ
-
-# 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=$hardcode_action_GCJ
-
-# 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_hardcode_libdir_flag_spec_GCJ
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_GCJ
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_GCJ
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_GCJ
-
-# 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=$link_all_deplibs_GCJ
-
-# 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="$fix_srcfile_path_GCJ"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_GCJ
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_GCJ
-
-# 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_exclude_expsyms_GCJ
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_GCJ
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-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_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
-
-CC="$lt_save_CC"
-
-	else
-	  tagname=""
-	fi
-	;;
-
-      RC)
-
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-objext_RC=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
-
-# 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.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$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 conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-compiler_RC=$CC
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-lt_cv_prog_compiler_c_o_RC=yes
-
-# 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 \
-    compiler_RC \
-    CC_RC \
-    LD_RC \
-    lt_prog_compiler_wl_RC \
-    lt_prog_compiler_pic_RC \
-    lt_prog_compiler_static_RC \
-    lt_prog_compiler_no_builtin_flag_RC \
-    export_dynamic_flag_spec_RC \
-    thread_safe_flag_spec_RC \
-    whole_archive_flag_spec_RC \
-    enable_shared_with_static_runtimes_RC \
-    old_archive_cmds_RC \
-    old_archive_from_new_cmds_RC \
-    predep_objects_RC \
-    postdep_objects_RC \
-    predeps_RC \
-    postdeps_RC \
-    compiler_lib_search_path_RC \
-    archive_cmds_RC \
-    archive_expsym_cmds_RC \
-    postinstall_cmds_RC \
-    postuninstall_cmds_RC \
-    old_archive_from_expsyms_cmds_RC \
-    allow_undefined_flag_RC \
-    no_undefined_flag_RC \
-    export_symbols_cmds_RC \
-    hardcode_libdir_flag_spec_RC \
-    hardcode_libdir_flag_spec_ld_RC \
-    hardcode_libdir_separator_RC \
-    hardcode_automatic_RC \
-    module_cmds_RC \
-    module_expsym_cmds_RC \
-    lt_cv_prog_compiler_c_o_RC \
-    exclude_expsyms_RC \
-    include_expsyms_RC; do
-
-    case $var in
-    old_archive_cmds_RC | \
-    old_archive_from_new_cmds_RC | \
-    archive_cmds_RC | \
-    archive_expsym_cmds_RC | \
-    module_cmds_RC | \
-    module_expsym_cmds_RC | \
-    old_archive_from_expsyms_cmds_RC | \
-    export_symbols_cmds_RC | \
-    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
-
-cfgfile="$ofile"
-
-  cat <<__EOF__ >> "$cfgfile"
-# ### 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=$archive_cmds_need_lc_RC
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
-
-# 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_compiler_RC
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_RC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_RC
-
-# 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_prog_compiler_wl_RC
-
-# 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_prog_compiler_pic_RC
-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_cv_prog_compiler_c_o_RC
-
-# 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_prog_compiler_static_RC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
-
-# 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_old_archive_cmds_RC
-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_old_archive_from_new_cmds_RC
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_RC
-archive_expsym_cmds=$lt_archive_expsym_cmds_RC
-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_module_cmds_RC
-module_expsym_cmds=$lt_module_expsym_cmds_RC
-
-# 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_predep_objects_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_RC
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_RC
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
-
-# 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_allow_undefined_flag_RC
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_RC
-
-# 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=$hardcode_action_RC
-
-# 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_hardcode_libdir_flag_spec_RC
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_RC
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_RC
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_RC
-
-# 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=$link_all_deplibs_RC
-
-# 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="$fix_srcfile_path_RC"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_RC
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_RC
-
-# 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_exclude_expsyms_RC
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_RC
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-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_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
-
-CC="$lt_save_CC"
-
-	;;
-
-      *)
-	{ { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
-   { (exit 1); exit 1; }; }
-	;;
-      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"
-    { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
-echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-fi
-
-
-
-# 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'
-
-# Prevent multiple expansion
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check for AViiON Machines running DGUX
-#
-ac_is_dgux=no
-if test "${ac_cv_header_sys_dg_sys_info_h+set}" = set; then
-  { echo "$as_me:$LINENO: checking for sys/dg_sys_info.h" >&5
-echo $ECHO_N "checking for sys/dg_sys_info.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_sys_dg_sys_info_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_dg_sys_info_h" >&5
-echo "${ECHO_T}$ac_cv_header_sys_dg_sys_info_h" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking sys/dg_sys_info.h usability" >&5
-echo $ECHO_N "checking sys/dg_sys_info.h usability... $ECHO_C" >&6; }
-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 <sys/dg_sys_info.h>
-_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 "echo \"\$as_me:$LINENO: $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
-  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_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking sys/dg_sys_info.h presence" >&5
-echo $ECHO_N "checking sys/dg_sys_info.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/dg_sys_info.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: sys/dg_sys_info.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: sys/dg_sys_info.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: sys/dg_sys_info.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: sys/dg_sys_info.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: sys/dg_sys_info.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: sys/dg_sys_info.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: sys/dg_sys_info.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: sys/dg_sys_info.h: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## -------------------------------- ##
-## Report this to Hans.Boehm at hp.com ##
-## -------------------------------- ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for sys/dg_sys_info.h" >&5
-echo $ECHO_N "checking for sys/dg_sys_info.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_sys_dg_sys_info_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_header_sys_dg_sys_info_h=$ac_header_preproc
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_dg_sys_info_h" >&5
-echo "${ECHO_T}$ac_cv_header_sys_dg_sys_info_h" >&6; }
-
-fi
-if test $ac_cv_header_sys_dg_sys_info_h = yes; then
-  ac_is_dgux=yes;
-fi
-
-
-
-    ## :GOTCHA: we do not check anything but sys/dg_sys_info.h
-if test $ac_is_dgux = yes; then
-    if test "$enable_full_debug" = "yes"; then
-      CFLAGS="-g -mstandard -DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2"
-      CXXFLAGS="-g -mstandard -DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2"
-    else
-      CFLAGS="-DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2"
-      CXXFLAGS="-DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2"
-    fi
-
-
-fi
-
-
-# Check whether --with-target-subdir was given.
-if test "${with_target_subdir+set}" = set; then
-  withval=$with_target_subdir;
-fi
-
-
-# Check whether --with-cross-host was given.
-if test "${with_cross_host+set}" = set; then
-  withval=$with_cross_host;
-fi
-
-
-# automake wants to see AC_EXEEXT.  But we don't need it.  And having
-# it is actually a problem, because the compiler we're passed can't
-# necessarily do a full link.  So we fool automake here.
-if false; then
-  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
-  # to nothing, so nothing would remain between `then' and `fi' if it
-  # were not for the `:' below.
-  :
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether Solaris gcc optimization fix is necessary" >&5
-echo $ECHO_N "checking whether Solaris gcc optimization fix is necessary... $ECHO_C" >&6; }
-case "$host" in
- *aix*)
-    if test "$GCC" = yes; then
-       { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-       new_CFLAGS=
-       for i in $CFLAGS; do
-	  case "$i" in
-	   -O*)
-	      ;;
-	   *)
-	      new_CFLAGS="$new_CFLAGS $i"
-	      ;;
-	  esac
-       done
-       CFLAGS="$new_CFLAGS"
-    else
-       { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-    fi
-    ;;
- *) { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; } ;;
-esac
-
-cat >>confdefs.h <<\_ACEOF
-#define NO_EXECUTE_PERMISSION 1
-_ACEOF
-
-cat >>confdefs.h <<\_ACEOF
-#define ALL_INTERIOR_POINTERS 1
-_ACEOF
-
-
-
-# Check whether --enable-gcj-support was given.
-if test "${enable_gcj_support+set}" = set; then
-  enableval=$enable_gcj_support;
-fi
-
-
-
-if test x"$enable_gcj_support" != xno; then
-  ENABLE_GCJ_SUPPORT_TRUE=
-  ENABLE_GCJ_SUPPORT_FALSE='#'
-else
-  ENABLE_GCJ_SUPPORT_TRUE='#'
-  ENABLE_GCJ_SUPPORT_FALSE=
-fi
-
-if test x"$enable_gcj_support" != xno; then
-
-cat >>confdefs.h <<\_ACEOF
-#define GC_GCJ_SUPPORT 1
-_ACEOF
-
-fi
-
-# Check whether --enable-java-finalization was given.
-if test "${enable_java_finalization+set}" = set; then
-  enableval=$enable_java_finalization;
-fi
-
-if test x"$enable_java_finalization" != xno; then
-    cat >>confdefs.h <<\_ACEOF
-#define JAVA_FINALIZATION 1
-_ACEOF
-
-fi
-
-# Check whether --enable-atomic-uncollectable was given.
-if test "${enable_atomic_uncollectable+set}" = set; then
-  enableval=$enable_atomic_uncollectable;
-fi
-
-if test x"$enable_atomic_uncollectible" != x"no"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define ATOMIC_UNCOLLECTABLE 1
-_ACEOF
-
-fi
-
-# Check whether --enable-redirect-malloc was given.
-if test "${enable_redirect_malloc+set}" = set; then
-  enableval=$enable_redirect_malloc;
-fi
-
-
-if test "${enable_redirect_malloc}" = yes; then
-    if test "${enable_full_debug}" = yes; then
-	cat >>confdefs.h <<\_ACEOF
-#define REDIRECT_MALLOC GC_debug_malloc_replacement
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define REDIRECT_REALLOC GC_debug_realloc_replacement
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define REDIRECT_FREE GC_debug_free
-_ACEOF
-
-    else
-	cat >>confdefs.h <<\_ACEOF
-#define REDIRECT_MALLOC GC_malloc
-_ACEOF
-
-    fi
-fi
-
-# Check whether --enable-large-config was given.
-if test "${enable_large_config+set}" = set; then
-  enableval=$enable_large_config;
-fi
-
-
-if test "${enable_large_config}" = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define LARGE_CONFIG 1
-_ACEOF
-
-fi
-
-if test -n "${with_cross_host}"; then
-   cat >>confdefs.h <<\_ACEOF
-#define NO_CLOCK 1
-_ACEOF
-
-   cat >>confdefs.h <<\_ACEOF
-#define SMALL_CONFIG 1
-_ACEOF
-
-   cat >>confdefs.h <<\_ACEOF
-#define NO_DEBUGGING 1
-_ACEOF
-
-fi
-
-
-
-UNWINDLIBS=
-# Check whether --enable-gc-debug was given.
-if test "${enable_gc_debug+set}" = set; then
-  enableval=$enable_gc_debug;  if test "$enable_gc_debug" = "yes"; then
-    { echo "$as_me:$LINENO: WARNING: \"Should define GC_DEBUG and use debug alloc. in clients.\"" >&5
-echo "$as_me: WARNING: \"Should define GC_DEBUG and use debug alloc. in clients.\"" >&2;}
-    cat >>confdefs.h <<\_ACEOF
-#define KEEP_BACK_PTRS 1
-_ACEOF
-
-    cat >>confdefs.h <<\_ACEOF
-#define DBG_HDRS_ALL 1
-_ACEOF
-
-    case $host in
-      ia64-*-linux* )
-	cat >>confdefs.h <<\_ACEOF
-#define MAKE_BACK_GRAPH 1
-_ACEOF
-
-	cat >>confdefs.h <<\_ACEOF
-#define SAVE_CALL_COUNT 8
-_ACEOF
-
-        { echo "$as_me:$LINENO: checking for backtrace in -lunwind" >&5
-echo $ECHO_N "checking for backtrace in -lunwind... $ECHO_C" >&6; }
-if test "${ac_cv_lib_unwind_backtrace+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lunwind  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char backtrace ();
-int
-main ()
-{
-return backtrace ();
-  ;
-  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 "echo \"\$as_me:$LINENO: $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
-  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 &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_unwind_backtrace=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_unwind_backtrace=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_unwind_backtrace" >&5
-echo "${ECHO_T}$ac_cv_lib_unwind_backtrace" >&6; }
-if test $ac_cv_lib_unwind_backtrace = yes; then
-
-	  cat >>confdefs.h <<\_ACEOF
-#define GC_HAVE_BUILTIN_BACKTRACE 1
-_ACEOF
-
-	  UNWINDLIBS=-lunwind
-	  { echo "$as_me:$LINENO: WARNING: \"Client code may need to link against libunwind.\"" >&5
-echo "$as_me: WARNING: \"Client code may need to link against libunwind.\"" >&2;}
-
-fi
-
-      ;;
-      x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
-	cat >>confdefs.h <<\_ACEOF
-#define MAKE_BACK_GRAPH 1
-_ACEOF
-
-	{ echo "$as_me:$LINENO: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&5
-echo "$as_me: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&2;}
-	cat >>confdefs.h <<\_ACEOF
-#define SAVE_CALL_COUNT 8
-_ACEOF
-
-      ;;
-      i345686-*-dgux*)
-	cat >>confdefs.h <<\_ACEOF
-#define MAKE_BACK_GRAPH 1
-_ACEOF
-
-      ;;
-    esac
-  fi
-fi
-
-
-
-
-# Check whether --enable-gc-assertions was given.
-if test "${enable_gc_assertions+set}" = set; then
-  enableval=$enable_gc_assertions;
-fi
-
-if test "${enable_gc_assertions}" = yes; then
-    cat >>confdefs.h <<\_ACEOF
-#define GC_ASSERTIONS 1
-_ACEOF
-
-fi
-
-
-
-if test -z "$with_cross_host"; then
-  USE_LIBDIR_TRUE=
-  USE_LIBDIR_FALSE='#'
-else
-  USE_LIBDIR_TRUE='#'
-  USE_LIBDIR_FALSE=
-fi
-
-
-
-
-atomic_ops_libs=-latomic_ops
-if test "${ac_cv_header_atomic_ops_h+set}" = set; then
-  { echo "$as_me:$LINENO: checking for atomic_ops.h" >&5
-echo $ECHO_N "checking for atomic_ops.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_atomic_ops_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_atomic_ops_h" >&5
-echo "${ECHO_T}$ac_cv_header_atomic_ops_h" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking atomic_ops.h usability" >&5
-echo $ECHO_N "checking atomic_ops.h usability... $ECHO_C" >&6; }
-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 <atomic_ops.h>
-_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 "echo \"\$as_me:$LINENO: $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
-  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_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking atomic_ops.h presence" >&5
-echo $ECHO_N "checking atomic_ops.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <atomic_ops.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (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
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: atomic_ops.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: atomic_ops.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: atomic_ops.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: atomic_ops.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: atomic_ops.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: atomic_ops.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: atomic_ops.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: atomic_ops.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: atomic_ops.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: atomic_ops.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: atomic_ops.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: atomic_ops.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: atomic_ops.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: atomic_ops.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: atomic_ops.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: atomic_ops.h: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## -------------------------------- ##
-## Report this to Hans.Boehm at hp.com ##
-## -------------------------------- ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for atomic_ops.h" >&5
-echo $ECHO_N "checking for atomic_ops.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_atomic_ops_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_header_atomic_ops_h=$ac_header_preproc
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_atomic_ops_h" >&5
-echo "${ECHO_T}$ac_cv_header_atomic_ops_h" >&6; }
-
-fi
-if test $ac_cv_header_atomic_ops_h = yes; then
-   { echo "$as_me:$LINENO: Using pre-installed libatomic_ops" >&5
-echo "$as_me: Using pre-installed libatomic_ops" >&6;}
-else
-   ao_dir=
-    for candidate in ${srcdir}/libatomic_ops*; do
-	case $candidate in
-	    *.tar.gz)
-		;;
-	    *install)
-	    			;;
-	    *)
-		if test -e "$candidate"; then
-		    ao_dir="$candidate"
-		fi
-		;;
-	esac
-    done
-    if test -z "$ao_dir"; then
-	{ { echo "$as_me:$LINENO: error: Missig libatomic_ops." >&5
-echo "$as_me: error: Missig libatomic_ops." >&2;}
-   { (exit 1); exit 1; }; }
-    fi
-    ao_version="${ao_dir#*libatomic_ops-}"
-    { echo "$as_me:$LINENO: Using internal version of libatomic_ops" >&5
-echo "$as_me: Using internal version of libatomic_ops" >&6;}
-
-        test -e ${srcdir}/libatomic_ops \
-	|| ln -s ${ao_dir} ${srcdir}/libatomic_ops
-    subdirs="$subdirs libatomic_ops"
-
-
-        test -e ${srcdir}/atomic_ops.c \
-    	|| ln -s ${srcdir}/libatomic_ops/src/atomic_ops.c \
-		 ${srcdir}/atomic_ops.c
-
-    test -e ${srcdir}/atomic_ops_sysdeps.S \
-    	|| ln -s ${srcdir}/libatomic_ops/src/atomic_ops_sysdeps.S \
-		 ${srcdir}/atomic_ops_sysdeps.S
-
-            GC_CFLAGS="${GC_CFLAGS} -I \$(top_srcdir)/libatomic_ops/src"
-    maybe_libatomic_ops="libatomic_ops"
-
-fi
-
-
-
-
-
-if test -n "$maybe_libatomic_ops" -a "$THREADS" != "none"; then
-  USE_INTERNAL_LIBATOMIC_OPS_TRUE=
-  USE_INTERNAL_LIBATOMIC_OPS_FALSE='#'
-else
-  USE_INTERNAL_LIBATOMIC_OPS_TRUE='#'
-  USE_INTERNAL_LIBATOMIC_OPS_FALSE=
-fi
-
-
-
-if test -n "$maybe_libatomic_ops" -a x$need_atomic_ops_asm = xtrue; then
-  NEED_ATOMIC_OPS_ASM_TRUE=
-  NEED_ATOMIC_OPS_ASM_FALSE='#'
-else
-  NEED_ATOMIC_OPS_ASM_TRUE='#'
-  NEED_ATOMIC_OPS_ASM_FALSE=
-fi
-
-
-
-
-ac_config_files="$ac_config_files Makefile bdw-gc.pc"
-
-
-ac_config_commands="$ac_config_commands default"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      *) $as_unset $ac_var ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes (double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \).
-      sed -n \
-	"s/'/'\\\\''/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
-      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
-  else
-    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then branch to the quote section.  Otherwise,
-# look for a macro that doesn't take arguments.
-ac_script='
-t clear
-:clear
-s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\)/-D\1=\2/g
-t quote
-s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)/-D\1=\2/g
-t quote
-b any
-:quote
-s/[	 `~#$^&*(){}\\|;'\''"<>?]/\\&/g
-s/\[/\\&/g
-s/\]/\\&/g
-s/\$/$$/g
-H
-:any
-${
-	g
-	s/^\n//
-	s/\n/ /g
-	p
-}
-'
-DEFS=`sed -n "$ac_script" confdefs.h`
-
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" 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
-  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-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__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${THREADS_TRUE}" && test -z "${THREADS_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"THREADS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"THREADS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${PTHREADS_TRUE}" && test -z "${PTHREADS_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"PTHREADS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"PTHREADS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${DARWIN_THREADS_TRUE}" && test -z "${DARWIN_THREADS_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"DARWIN_THREADS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"DARWIN_THREADS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${WIN32_THREADS_TRUE}" && test -z "${WIN32_THREADS_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"WIN32_THREADS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"WIN32_THREADS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${COMPILER_XLC_TRUE}" && test -z "${COMPILER_XLC_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"COMPILER_XLC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"COMPILER_XLC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${CPLUSPLUS_TRUE}" && test -z "${CPLUSPLUS_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"CPLUSPLUS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"CPLUSPLUS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_GCJ_SUPPORT_TRUE}" && test -z "${ENABLE_GCJ_SUPPORT_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_GCJ_SUPPORT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ENABLE_GCJ_SUPPORT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${USE_LIBDIR_TRUE}" && test -z "${USE_LIBDIR_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"USE_LIBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"USE_LIBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${USE_INTERNAL_LIBATOMIC_OPS_TRUE}" && test -z "${USE_INTERNAL_LIBATOMIC_OPS_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"USE_INTERNAL_LIBATOMIC_OPS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"USE_INTERNAL_LIBATOMIC_OPS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${NEED_ATOMIC_OPS_ASM_TRUE}" && test -z "${NEED_ATOMIC_OPS_ASM_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"NEED_ATOMIC_OPS_ASM\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"NEED_ATOMIC_OPS_ASM\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# 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
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" ""	$as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-  fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
-  case `echo 'x\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s='ln -s'
-  # ... but there are two gotchas:
-  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-  # In both cases, we have to default to `cp -p'.
-  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-    as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s=ln
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-        test -d "$1/.";
-      else
-	case $1 in
-        -*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-
-# Save the log message, to keep $[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by gc $as_me 7.0, which was
-generated by GNU Autoconf 2.61.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-  -q, --quiet      do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-  --file=FILE[:TEMPLATE]
-		   instantiate the configuration file FILE
-
-Configuration files:
-$config_files
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf at gnu.org>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-gc config.status 7.0
-configured by $0, generated by GNU Autoconf 2.61,
-  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2006 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value.  By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    echo "$ac_cs_version"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
-    ac_need_defaults=false;;
-  --he | --h |  --help | --hel | -h )
-    echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) { echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; } ;;
-
-  *) ac_config_targets="$ac_config_targets $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
-  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  CONFIG_SHELL=$SHELL
-  export CONFIG_SHELL
-  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
- srcdir=${srcdir}
-    host=${host}
-    CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-    CC="${CC}"
-    DEFS="$DEFS"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "bdw-gc.pc") CONFIG_FILES="$CONFIG_FILES bdw-gc.pc" ;;
-    "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
-
-  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
-   { (exit 1); exit 1; }; };;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp=
-  trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
-  trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} ||
-{
-   echo "$me: cannot create a temporary directory in ." >&2
-   { (exit 1); exit 1; }
-}
-
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "$CONFIG_FILES"; then
-
-_ACEOF
-
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-target!$target$ac_delim
-target_cpu!$target_cpu$ac_delim
-target_vendor!$target_vendor$ac_delim
-target_os!$target_os$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-CYGPATH_W!$CYGPATH_W$ac_delim
-PACKAGE!$PACKAGE$ac_delim
-VERSION!$VERSION$ac_delim
-ACLOCAL!$ACLOCAL$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-AUTOMAKE!$AUTOMAKE$ac_delim
-AUTOHEADER!$AUTOHEADER$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-install_sh!$install_sh$ac_delim
-STRIP!$STRIP$ac_delim
-INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-mkdir_p!$mkdir_p$ac_delim
-AWK!$AWK$ac_delim
-SET_MAKE!$SET_MAKE$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-AMTAR!$AMTAR$ac_delim
-am__tar!$am__tar$ac_delim
-am__untar!$am__untar$ac_delim
-MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-MAINT!$MAINT$ac_delim
-GC_VERSION!$GC_VERSION$ac_delim
-CC!$CC$ac_delim
-CFLAGS!$CFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-CPPFLAGS!$CPPFLAGS$ac_delim
-ac_ct_CC!$ac_ct_CC$ac_delim
-EXEEXT!$EXEEXT$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-CXX!$CXX$ac_delim
-CXXFLAGS!$CXXFLAGS$ac_delim
-ac_ct_CXX!$ac_ct_CXX$ac_delim
-CXXDEPMODE!$CXXDEPMODE$ac_delim
-am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
-am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
-CCAS!$CCAS$ac_delim
-_ACEOF
-
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
-    break
-  elif $ac_last_try; then
-    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
-  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
-  ac_eof=`expr $ac_eof + 1`
-fi
-
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
-_ACEOF
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  cat >conf$$subs.sed <<_ACEOF
-CCASFLAGS!$CCASFLAGS$ac_delim
-AR!$AR$ac_delim
-RANLIB!$RANLIB$ac_delim
-GC_CFLAGS!$GC_CFLAGS$ac_delim
-THREADDLLIBS!$THREADDLLIBS$ac_delim
-THREADS_TRUE!$THREADS_TRUE$ac_delim
-THREADS_FALSE!$THREADS_FALSE$ac_delim
-PTHREADS_TRUE!$PTHREADS_TRUE$ac_delim
-PTHREADS_FALSE!$PTHREADS_FALSE$ac_delim
-DARWIN_THREADS_TRUE!$DARWIN_THREADS_TRUE$ac_delim
-DARWIN_THREADS_FALSE!$DARWIN_THREADS_FALSE$ac_delim
-WIN32_THREADS_TRUE!$WIN32_THREADS_TRUE$ac_delim
-WIN32_THREADS_FALSE!$WIN32_THREADS_FALSE$ac_delim
-COMPILER_XLC_TRUE!$COMPILER_XLC_TRUE$ac_delim
-COMPILER_XLC_FALSE!$COMPILER_XLC_FALSE$ac_delim
-extra_ldflags_libgc!$extra_ldflags_libgc$ac_delim
-EXTRA_TEST_LIBS!$EXTRA_TEST_LIBS$ac_delim
-target_all!$target_all$ac_delim
-CPLUSPLUS_TRUE!$CPLUSPLUS_TRUE$ac_delim
-CPLUSPLUS_FALSE!$CPLUSPLUS_FALSE$ac_delim
-INCLUDES!$INCLUDES$ac_delim
-CXXINCLUDES!$CXXINCLUDES$ac_delim
-addobjs!$addobjs$ac_delim
-addlibs!$addlibs$ac_delim
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-LN_S!$LN_S$ac_delim
-ECHO!$ECHO$ac_delim
-CPP!$CPP$ac_delim
-CXXCPP!$CXXCPP$ac_delim
-F77!$F77$ac_delim
-FFLAGS!$FFLAGS$ac_delim
-ac_ct_F77!$ac_ct_F77$ac_delim
-LIBTOOL!$LIBTOOL$ac_delim
-ENABLE_GCJ_SUPPORT_TRUE!$ENABLE_GCJ_SUPPORT_TRUE$ac_delim
-ENABLE_GCJ_SUPPORT_FALSE!$ENABLE_GCJ_SUPPORT_FALSE$ac_delim
-UNWINDLIBS!$UNWINDLIBS$ac_delim
-USE_LIBDIR_TRUE!$USE_LIBDIR_TRUE$ac_delim
-USE_LIBDIR_FALSE!$USE_LIBDIR_FALSE$ac_delim
-subdirs!$subdirs$ac_delim
-USE_INTERNAL_LIBATOMIC_OPS_TRUE!$USE_INTERNAL_LIBATOMIC_OPS_TRUE$ac_delim
-USE_INTERNAL_LIBATOMIC_OPS_FALSE!$USE_INTERNAL_LIBATOMIC_OPS_FALSE$ac_delim
-NEED_ATOMIC_OPS_ASM_TRUE!$NEED_ATOMIC_OPS_ASM_TRUE$ac_delim
-NEED_ATOMIC_OPS_ASM_FALSE!$NEED_ATOMIC_OPS_ASM_FALSE$ac_delim
-atomic_ops_libs!$atomic_ops_libs$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
-
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 47; then
-    break
-  elif $ac_last_try; then
-    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
-  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
-  ac_eof=`expr $ac_eof + 1`
-fi
-
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
-_ACEOF
-
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
-s/:*$//
-s/^[^=]*=[	 ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-fi # test -n "$CONFIG_FILES"
-
-
-for ac_tag in  :F $CONFIG_FILES      :C $CONFIG_COMMANDS
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
-   { (exit 1); exit 1; }; };;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
-	 # because $ac_f cannot contain `:'.
-	 test -f "$ac_f" ||
-	   case $ac_f in
-	   [\\/$]*) false;;
-	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-	   esac ||
-	   { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
-   { (exit 1); exit 1; }; };;
-      esac
-      ac_file_inputs="$ac_file_inputs $ac_f"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input="Generated from "`IFS=:
-	  echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    fi
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin";;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$ac_file" : 'X\(//\)[^/]' \| \
-	 X"$ac_file" : 'X\(//\)$' \| \
-	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-  { as_dir="$ac_dir"
-  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=`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 ||
-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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-
-case `sed -n '/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p
-' $ac_file_inputs` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-    s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
-  sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
-
-  rm -f "$tmp/stdin"
-  case $ac_file in
-  -) cat "$tmp/out"; rm -f "$tmp/out";;
-  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
-  esac
- ;;
-
-
-  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "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/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # So let's grep whole file.
-  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
-    dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$mf" : 'X\(//\)[^/]' \| \
-	 X"$mf" : 'X\(//\)$' \| \
-	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$file" : 'X\(//\)[^/]' \| \
-	 X"$file" : 'X\(//\)$' \| \
-	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-    { as_dir=$dirpart/$fdir
-  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=`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 ||
-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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
-  done
-done
- ;;
-
-  esac
-done # for ac_tag
-
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || { (exit 1); exit 1; }
-fi
-
-#
-# CONFIG_SUBDIRS section.
-#
-if test "$no_recursion" != yes; then
-
-  # Remove --cache-file and --srcdir arguments so they do not pile up.
-  ac_sub_configure_args=
-  ac_prev=
-  eval "set x $ac_configure_args"
-  shift
-  for ac_arg
-  do
-    if test -n "$ac_prev"; then
-      ac_prev=
-      continue
-    fi
-    case $ac_arg in
-    -cache-file | --cache-file | --cache-fil | --cache-fi \
-    | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-      ac_prev=cache_file ;;
-    -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-    | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
-    | --c=*)
-      ;;
-    --config-cache | -C)
-      ;;
-    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-      ac_prev=srcdir ;;
-    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-      ;;
-    -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-      ac_prev=prefix ;;
-    -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-      ;;
-    *)
-      case $ac_arg in
-      *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-      esac
-      ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;;
-    esac
-  done
-
-  # Always prepend --prefix to ensure using the same prefix
-  # in subdir configurations.
-  ac_arg="--prefix=$prefix"
-  case $ac_arg in
-  *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-  esac
-  ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args"
-
-  # Pass --silent
-  if test "$silent" = yes; then
-    ac_sub_configure_args="--silent $ac_sub_configure_args"
-  fi
-
-  ac_popdir=`pwd`
-  for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
-
-    # Do not complain, so a configure script can configure whichever
-    # parts of a large source tree are present.
-    test -d "$srcdir/$ac_dir" || continue
-
-    ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
-    echo "$as_me:$LINENO: $ac_msg" >&5
-    echo "$ac_msg" >&6
-    { 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=`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 ||
-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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-    cd "$ac_dir"
-
-    # Check for guested configure; otherwise get Cygnus style configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      ac_sub_configure=$ac_srcdir/configure.gnu
-    elif test -f "$ac_srcdir/configure"; then
-      ac_sub_configure=$ac_srcdir/configure
-    elif test -f "$ac_srcdir/configure.in"; then
-      # This should be Cygnus configure.
-      ac_sub_configure=$ac_aux_dir/configure
-    else
-      { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5
-echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
-      ac_sub_configure=
-    fi
-
-    # The recursion is here.
-    if test -n "$ac_sub_configure"; then
-      # Make the cache file name correct relative to the subdirectory.
-      case $cache_file in
-      [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;;
-      *) # Relative name.
-	ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
-      esac
-
-      { echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
-echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
-      # The eval makes quoting arguments work.
-      eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
-	   --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
-	{ { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5
-echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;}
-   { (exit 1); exit 1; }; }
-    fi
-
-    cd "$ac_popdir"
-  done
-fi
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/configure.ac b/SRC/Boost/tools/build/v2/engine/boehm_gc/configure.ac
deleted file mode 100755
index 7922b13..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/configure.ac
+++ /dev/null
@@ -1,658 +0,0 @@
-# Copyright (c) 1999-2001 by Red Hat, Inc. All rights reserved.
-# 
-# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-# OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-# 
-# Permission is hereby granted to use or copy this program
-# for any purpose,  provided the above notices are retained on all copies.
-# Permission to modify the code and to distribute modified code is granted,
-# provided the above notices are retained, and a notice that the code was
-# modified is included with the above copyright notice.
-#
-# Original author: Tom Tromey
-# Modified by: Grzegorz Jakacki <jakacki at acm dot org>
-
-dnl Process this file with autoconf to produce configure.
-
-# Initialization
-# ==============
-
-AC_INIT(gc,7.0,Hans.Boehm at hp.com) 
-    ## version must conform to [0-9]+[.][0-9]+(alpha[0-9]+)?
-AC_CONFIG_SRCDIR(gcj_mlc.c)
-AC_CANONICAL_TARGET 
-AC_PREREQ(2.53)
-AC_REVISION($Revision: 1.25 $)
-GC_SET_VERSION
-AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects nostdinc])
-AM_MAINTAINER_MODE
-
-AC_SUBST(PACKAGE)
-AC_SUBST(GC_VERSION)
-
-AM_PROG_CC_C_O
-AC_PROG_CXX
-
-AM_PROG_AS
-## FIXME: really needed? (AC_LIBTOOL already provides this)
-AC_CHECK_TOOL(AR, ar)
-AC_CHECK_TOOL(RANLIB, ranlib, :)  # :)
-
-AC_PROG_INSTALL
-
-. ${srcdir}/configure.host
-
-GC_CFLAGS=${gc_cflags}
-AC_SUBST(GC_CFLAGS)
-
-AC_ARG_ENABLE(threads,
-  [AC_HELP_STRING([--enable-threads=TYPE], [choose threading package])],
-  THREADS=$enableval,
-  [ AC_MSG_CHECKING([for thread model used by GCC])
-    THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
-    if test -z "$THREADS"; then
-      THREADS=no
-    fi
-    AC_MSG_RESULT([$THREADS]) ])
-
-AC_ARG_ENABLE(parallel-mark,
-   [AC_HELP_STRING([--enable-parallel-mark],
-	[parallelize marking and free list construction])],
-   [case "$THREADS" in
-      no | none | single)
-	AC_MSG_ERROR([Parallel mark requires --enable-threads=x spec])
-	;;
-    esac ]
-)
-
-AC_ARG_ENABLE(cplusplus,
-    [AC_HELP_STRING([--enable-cplusplus], [install C++ support])])
-
-INCLUDES=-I${srcdir}/include
-THREADDLLIBS=
-need_atomic_ops_asm=false
-## Libraries needed to support dynamic loading and/or threads.
-case "$THREADS" in
- no | none | single)
-    THREADS=none
-    ;;
- posix | pthreads)
-    THREADS=posix
-    THREADDLLIBS=-lpthread
-    case "$host" in
-     x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* | alpha-*-linux*)
-	AC_DEFINE(GC_LINUX_THREADS)
-	AC_DEFINE(_REENTRANT)
-        if test "${enable_parallel_mark}" = yes; then
-	  AC_DEFINE(PARALLEL_MARK)
-	fi
-	AC_DEFINE(THREAD_LOCAL_ALLOC)
-	AC_MSG_WARN("Explict GC_INIT() calls may be required.");
-	;;
-     *-*-linux*)
-	AC_DEFINE(GC_LINUX_THREADS)
-	AC_DEFINE(_REENTRANT)
-	;;
-     *-*-aix*)
-	AC_DEFINE(GC_AIX_THREADS)
-	AC_DEFINE(_REENTRANT)
-	;;
-     *-*-hpux11*)
-	AC_MSG_WARN("Only HP/UX 11 POSIX threads are supported.")
-	AC_DEFINE(GC_HPUX_THREADS)
-	AC_DEFINE(_POSIX_C_SOURCE,199506L)
-	if test "${enable_parallel_mark}" = yes; then
-	  AC_DEFINE(PARALLEL_MARK)
-	fi
-	AC_DEFINE(THREAD_LOCAL_ALLOC)
-	AC_MSG_WARN("Explict GC_INIT() calls may be required.");
-	THREADDLLIBS="-lpthread -lrt"
-	# HPUX needs REENTRANT for the _r calls.
-	AC_DEFINE(_REENTRANT, 1, [Required define if using POSIX threads])
-	;;
-     *-*-hpux10*)
-	AC_MSG_WARN("Only HP-UX 11 POSIX threads are supported.")
-	;;
-     *-*-freebsd*)
-	AC_MSG_WARN("FreeBSD does not yet fully support threads with Boehm GC.")
-	AC_DEFINE(GC_FREEBSD_THREADS)
-	INCLUDES="$INCLUDES -pthread"
-      	;;
-     *-*-kfreebsd*-gnu)
-	AC_DEFINE(GC_FREEBSD_THREADS)
-	INCLUDES="$INCLUDES -pthread"
-	THREADDLLIBS=-pthread
-	AC_DEFINE(_REENTRANT)
-        if test "${enable_parallel_mark}" = yes; then
-	  AC_DEFINE(PARALLEL_MARK)
-	fi
-	AC_DEFINE(THREAD_LOCAL_ALLOC)
-	AC_DEFINE(USE_COMPILER_TLS)
-      	;;
-     *-*-gnu*)
-	AC_DEFINE(GC_GNU_THREADS)
-	AC_DEFINE(_REENTRANT)
-	AC_DEFINE(THREAD_LOCAL_ALLOC)
-	;;
-     *-*-netbsd*)
-	AC_MSG_WARN("Only on NetBSD 2.0 or later.")
-	AC_DEFINE(GC_NETBSD_THREADS)
-	AC_DEFINE(_REENTRANT)
-	AC_DEFINE(_PTHREADS)
-	THREADDLLIBS="-lpthread -lrt"
-	;;
-     *-*-solaris*)
-	AC_DEFINE(GC_SOLARIS_THREADS)
-	AC_DEFINE(THREAD_LOCAL_ALLOC)
-	THREADDLLIBS="-lpthread -lrt"
-	if test "$GCC" != yes; then
-          CFLAGS="$CFLAGS -O"
-          need_atomic_ops_asm=true
-        fi
-	;;
-     *-*-irix*)
-	AC_DEFINE(GC_IRIX_THREADS)
-	;;
-     *-*-cygwin*)
-	AC_DEFINE(GC_WIN32_THREADS)
-	AC_DEFINE(THREAD_LOCAL_ALLOC)
-	win32_threads=true
-	;;
-     *-*-darwin*)
-	AC_DEFINE(GC_DARWIN_THREADS)
-	AC_DEFINE(THREAD_LOCAL_ALLOC)
-	AC_MSG_WARN("Explict GC_INIT() calls may be required.");
-	if test "${enable_parallel_mark}" = yes; then
-	  AC_DEFINE(PARALLEL_MARK)
-	fi
-	darwin_threads=true
-	;;
-     *-*-osf*)
-	AC_DEFINE(GC_OSF1_THREADS)
-        if test "${enable_parallel_mark}" = yes; then
-	  AC_DEFINE(PARALLEL_MARK)
-	  AC_DEFINE(THREAD_LOCAL_ALLOC)
-	  AC_MSG_WARN("Explict GC_INIT() calls may be required.");
-	  # May want to enable it in other cases, too.
-	  # Measurements havent yet been done.
-	fi
-	INCLUDES="$INCLUDES -pthread"
-	THREADDLLIBS="-lpthread -lrt"
-	;;
-      *)
-	AC_MSG_ERROR("Pthreads not supported by the GC on this platform.")
-	;;
-    esac
-    ;;
- win32)
-    AC_DEFINE(GC_WIN32_THREADS)
-    dnl Wine getenv may not return NULL for missing entry
-    AC_DEFINE(NO_GETENV)
-    ;;
- dgux386)
-    THREADS=dgux386
-    AC_MSG_RESULT($THREADDLLIBS)
-    # Use pthread GCC  switch
-    THREADDLLIBS=-pthread
-    if test "${enable_parallel_mark}" = yes; then
-        AC_DEFINE(PARALLEL_MARK)
-    fi
-    AC_DEFINE(THREAD_LOCAL_ALLOC)
-    AC_MSG_WARN("Explict GC_INIT() calls may be required.");
-    AC_DEFINE(GC_DGUX386_THREADS)
-    AC_DEFINE(DGUX_THREADS)
-    # Enable _POSIX4A_DRAFT10_SOURCE with flag -pthread
-    INCLUDES="-pthread $INCLUDES"
-    ;;
- aix)
-    THREADS=posix
-    THREADDLLIBS=-lpthread
-    AC_DEFINE(GC_AIX_THREADS)
-    AC_DEFINE(_REENTRANT)
-    ;;
- decosf1 | irix | mach | os2 | solaris | dce | vxworks)
-    AC_MSG_ERROR(thread package $THREADS not yet supported)
-    ;;
- *)
-    AC_MSG_ERROR($THREADS is an unknown thread package)
-    ;;
-esac
-AC_SUBST(THREADDLLIBS)
-AM_CONDITIONAL(THREADS, test x$THREADS != xnone)
-AM_CONDITIONAL(PTHREADS, test x$THREADS = xposix)
-AM_CONDITIONAL(DARWIN_THREADS, test x$darwin_threads = xtrue)
-AM_CONDITIONAL(WIN32_THREADS, test x$win32_threads = xtrue)
-
-case "$host" in 
-   powerpc-*-darwin*)
-      powerpc_darwin=true
-      ;;
-esac
-
-# Darwin needs a few extra special tests to deal with variation in the
-# system headers.
-case "$host" in
-  powerpc*-*-darwin*)
-    AC_CHECK_MEMBER(ppc_thread_state_t.r0,
-      AC_DEFINE(HAS_PPC_THREAD_STATE_R0,1,
-	[ppc_thread_state_t has field r0]),,
-      [#include <mach/thread_status.h>])
-    AC_CHECK_MEMBER(ppc_thread_state_t.__r0,
-      AC_DEFINE(HAS_PPC_THREAD_STATE___R0,1,dnl
-	[ppc_thread_state_t has field __r0]),,
-      [#include <mach/thread_status.h>])
-    AC_CHECK_MEMBER(ppc_thread_state64_t.r0,
-      AC_DEFINE(HAS_PPC_THREAD_STATE64_R0,1,dnl
-	[ppc_thread_state64_t has field r0]),,
-      [#include <mach/thread_status.h>])
-    AC_CHECK_MEMBER(ppc_thread_state64_t.__r0,
-      AC_DEFINE(HAS_PPC_THREAD_STATE64___R0,1,dnl
-	[ppc_thread_state64_t has field __r0]),,
-      [#include <mach/thread_status.h>])
-    ;;
-  i?86*-*-darwin*)
-    AC_CHECK_MEMBER(x86_thread_state32_t.eax,
-      AC_DEFINE(HAS_X86_THREAD_STATE32_EAX,1,dnl
-	[x86_thread_state32_t has field eax]),,
-      [#include <sys/cdefs.h>
-      #include <mach/thread_status.h>])
-    AC_CHECK_MEMBER(x86_thread_state32_t.__eax,
-      AC_DEFINE(HAS_X86_THREAD_STATE32___EAX,1,dnl
-	[x86_thread_state32_t has field __eax]),,
-      [#include <sys/cdefs.h>
-      #include <mach/thread_status.h>])
-    ;;
-  x86_64-*-darwin*)
-    AC_CHECK_MEMBER(x86_thread_state64_t.rax,
-      AC_DEFINE(HAS_X86_THREAD_STATE64_RAX,1,dnl
-	[x86_thread_state64_t has field rax]),,
-      [#include <sys/cdefs.h>
-      #include <mach/thread_status.h>])
-    AC_CHECK_MEMBER(x86_thread_state64_t.__rax,
-      AC_DEFINE(HAS_X86_THREAD_STATE64___RAX,1,dnl
-	[x86_thread_state64_t has field __rax]),,
-      [#include <sys/cdefs.h>
-      #include <mach/thread_status.h>])
-     ;;
-  *) ;;
-esac
-
-AC_MSG_CHECKING(for xlc)
-AC_TRY_COMPILE([],[
- #ifndef __xlC__
- # error
- #endif
-], [compiler_xlc=yes], [compiler_xlc=no])
-AC_MSG_RESULT($compiler_xlc)
-AM_CONDITIONAL(COMPILER_XLC,test $compiler_xlc = yes)
-if test $compiler_xlc = yes -a "$powerpc_darwin" = true; then
-  # the darwin stack-frame-walking code is completely broken on xlc
-  AC_DEFINE(DARWIN_DONT_PARSE_STACK)
-fi
-
-# We never want libdl on darwin. It is a fake libdl that just ends up making
-# dyld calls anyway
-case "$host" in
-  *-*-darwin*) ;;
-  *)
-    AC_CHECK_LIB(dl, dlopen, THREADDLLIBS="$THREADDLLIBS -ldl")
-    ;;
-esac
-
-# extra LD Flags which are required for targets
-case "${host}" in
-  *-*-darwin*)
-    extra_ldflags_libgc=-Wl,-single_module
-    ;;
-esac
-AC_SUBST(extra_ldflags_libgc)
-
-AC_SUBST(EXTRA_TEST_LIBS)
-
-target_all=libgc.la
-AC_SUBST(target_all)
-
-dnl If the target is an eCos system, use the appropriate eCos
-dnl I/O routines.
-dnl FIXME: this should not be a local option but a global target
-dnl system; at present there is no eCos target.
-TARGET_ECOS="no"
-AC_ARG_WITH(ecos,
-[  --with-ecos             enable runtime eCos target support],
-TARGET_ECOS="$with_ecos"
-)
-
-addobjs=
-addlibs=
-CXXINCLUDES=
-case "$TARGET_ECOS" in
-   no)
-      ;;
-   *)
-      AC_DEFINE(ECOS)
-      CXXINCLUDES="-I${TARGET_ECOS}/include"
-      addobjs="$addobjs ecos.lo"
-      ;;
-esac
-
-AM_CONDITIONAL(CPLUSPLUS, test "${enable_cplusplus}" = yes)
-
-AC_SUBST(CXX)
-
-AC_SUBST(INCLUDES)
-AC_SUBST(CXXINCLUDES)
-
-# Configuration of shared libraries
-#
-AC_MSG_CHECKING(whether to build shared libraries)
-AC_ENABLE_SHARED
-
-case "$host" in
- alpha-*-openbsd*)
-     enable_shared=no
-     AC_MSG_RESULT(no)
-     ;;
- *)
-     AC_MSG_RESULT(yes)
-     ;;
-esac
-
-# Configuration of machine-dependent code
-#
-AC_MSG_CHECKING(which machine-dependent code should be used) 
-machdep=
-case "$host" in
- alpha-*-openbsd*)
-    machdep="mach_dep.lo"
-    if test x"${ac_cv_lib_dl_dlopen}" != xyes ; then
-       AC_MSG_WARN(OpenBSD/Alpha without dlopen(). Shared library support is disabled)
-    fi
-    ;;
- alpha*-*-linux*)
-    machdep="mach_dep.lo"
-    ;;
- i?86-*-solaris2.[[89]] | i?86-*-solaris2.1?)
-    AC_DEFINE(SOLARIS25_PROC_VDB_BUG_FIXED)
-    ;;
- mipstx39-*-elf*)
-    machdep="mach_dep.lo"
-    AC_DEFINE(STACKBASE, __stackbase)
-    AC_DEFINE(DATASTART_IS_ETEXT)
-    ;;
- mips-dec-ultrix*)
-    machdep="mach-dep.lo"
-    ;;
- mips-nec-sysv*|mips-unknown-sysv*)
-    ;;
- mips*-*-linux*) 
-    ;; 
- mips-*-*)
-    machdep="mach_dep.lo"
-    dnl AC_DEFINE(NO_EXECUTE_PERMISSION)
-    dnl This is now redundant, but it is also important for incremental GC
-    dnl performance under Irix.
-    ;;
- sparc-*-netbsd*)
-    machdep="mach_dep.lo sparc_netbsd_mach_dep.lo"
-    ;;
- sparc-sun-solaris2.3)
-    machdep="mach_dep.lo sparc_mach_dep.lo"
-    AC_DEFINE(SUNOS53_SHARED_LIB)
-    ;;
- sparc*-sun-solaris2.*)
-    machdep="mach_dep.lo sparc_mach_dep.lo"
-    ;;
- ia64-*-*)
-    machdep="mach_dep.lo ia64_save_regs_in_stack.lo"
-    ;;
-esac
-if test x"$machdep" = x; then
-AC_MSG_RESULT($machdep)
-   machdep="mach_dep.lo"
-fi
-addobjs="$addobjs $machdep"
-AC_SUBST(addobjs)
-AC_SUBST(addlibs)
-
-AC_PROG_LIBTOOL
-
-#
-# Check for AViiON Machines running DGUX
-#
-ac_is_dgux=no
-AC_CHECK_HEADER(sys/dg_sys_info.h,
-[ac_is_dgux=yes;])
-
-    ## :GOTCHA: we do not check anything but sys/dg_sys_info.h
-if test $ac_is_dgux = yes; then
-    if test "$enable_full_debug" = "yes"; then
-      CFLAGS="-g -mstandard -DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2"
-      CXXFLAGS="-g -mstandard -DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2"
-    else
-      CFLAGS="-DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2"
-      CXXFLAGS="-DDGUX -D_DGUX_SOURCE -Di386 -mno-legend -O2"
-    fi
-    AC_SUBST(CFLAGS)
-    AC_SUBST(CXXFLAGS)
-fi
-
-dnl We use these options to decide which functions to include.
-AC_ARG_WITH(target-subdir,
-[  --with-target-subdir=SUBDIR
-                          configuring with a cross compiler])
-AC_ARG_WITH(cross-host,
-[  --with-cross-host=HOST  configuring with a cross compiler])
-
-# automake wants to see AC_EXEEXT.  But we don't need it.  And having
-# it is actually a problem, because the compiler we're passed can't
-# necessarily do a full link.  So we fool automake here.
-if false; then
-  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
-  # to nothing, so nothing would remain between `then' and `fi' if it
-  # were not for the `:' below.
-  :
-  AC_EXEEXT
-fi
-
-dnl As of 4.13a2, the collector will not properly work on Solaris when
-dnl built with gcc and -O.  So we remove -O in the appropriate case.
-dnl Not needed anymore on Solaris.
-AC_MSG_CHECKING(whether Solaris gcc optimization fix is necessary)
-case "$host" in
- *aix*)
-    if test "$GCC" = yes; then
-       AC_MSG_RESULT(yes)
-       new_CFLAGS=
-       for i in $CFLAGS; do
-	  case "$i" in
-	   -O*)
-	      ;;
-	   *)
-	      new_CFLAGS="$new_CFLAGS $i"
-	      ;;
-	  esac
-       done
-       CFLAGS="$new_CFLAGS"
-    else
-       AC_MSG_RESULT(no)
-    fi
-    ;;
- *) AC_MSG_RESULT(no) ;;
-esac
-
-dnl Include defines that have become de facto standard.
-dnl ALL_INTERIOR_POINTERS can be overridden in startup code.
-AC_DEFINE(NO_EXECUTE_PERMISSION)
-AC_DEFINE(ALL_INTERIOR_POINTERS)
-
-
-dnl Interface Selection
-dnl -------------------
-dnl
-dnl By default, make the library as general as possible.
-dnl enable_gcj_support=no
-AC_ARG_ENABLE(gcj-support,
-    [AC_HELP_STRING([--disable-gcj-support],
-	[Disable support for gcj.])])
-AM_CONDITIONAL(ENABLE_GCJ_SUPPORT,
-    [test x"$enable_gcj_support" != xno])
-if test x"$enable_gcj_support" != xno; then
-    AC_DEFINE(GC_GCJ_SUPPORT, 1, [Define to include support for gcj])
-fi
-
-AC_ARG_ENABLE(java-finalization,
-    [AC_HELP_STRING([--disable-java-finalization],
-	[Disable support for java finalization.])])
-if test x"$enable_java_finalization" != xno; then
-    AC_DEFINE(JAVA_FINALIZATION)
-fi
-
-AC_ARG_ENABLE(atomic-uncollectable,
-    [AC_HELP_STRING([--disable-atomic-uncollectible],
-	[Disable support for atomic uncollectible allocation.])])
-if test x"$enable_atomic_uncollectible" != x"no"; then
-    AC_DEFINE(ATOMIC_UNCOLLECTABLE, 1,
-	[Define to enable atomic uncollectible allocation.])
-fi
-
-AC_ARG_ENABLE(redirect-malloc,
-    [AC_HELP_STRING([--enable-redirect-malloc],
-	[Redirect malloc and friends to GC routines])])
-
-if test "${enable_redirect_malloc}" = yes; then
-    if test "${enable_full_debug}" = yes; then
-	AC_DEFINE(REDIRECT_MALLOC, GC_debug_malloc_replacement)
-	AC_DEFINE(REDIRECT_REALLOC, GC_debug_realloc_replacement)
-	AC_DEFINE(REDIRECT_FREE, GC_debug_free)
-    else
-	AC_DEFINE(REDIRECT_MALLOC, GC_malloc)
-    fi
-fi
-
-AC_ARG_ENABLE(large-config,
-    [AC_HELP_STRING([--enable-large-config],
-	[Optimize for large (> 100 MB) heap or root set])])
-
-if test "${enable_large_config}" = yes; then
-    AC_DEFINE(LARGE_CONFIG, 1, [Define to optimize for large heaps or root sets])
-fi
-
-dnl This is something of a hack.  When cross-compiling we turn off
-dnl some functionality.  We also enable the "small" configuration.
-dnl These is only correct when targetting an embedded system.  FIXME.
-if test -n "${with_cross_host}"; then
-   AC_DEFINE(NO_CLOCK)
-   AC_DEFINE(SMALL_CONFIG)
-   AC_DEFINE(NO_DEBUGGING)
-fi
-
-
-dnl Debugging
-dnl ---------
-
-UNWINDLIBS=
-AC_ARG_ENABLE(gc-debug,
-[AC_HELP_STRING([--enable-gc-debug],
-    [include full support for pointer backtracing etc.])],
-[ if test "$enable_gc_debug" = "yes"; then
-    AC_MSG_WARN("Should define GC_DEBUG and use debug alloc. in clients.")
-    AC_DEFINE(KEEP_BACK_PTRS)
-    AC_DEFINE(DBG_HDRS_ALL)
-    case $host in
-      ia64-*-linux* )
-	AC_DEFINE(MAKE_BACK_GRAPH)
-	AC_DEFINE(SAVE_CALL_COUNT, 8)
-        AC_CHECK_LIB(unwind, backtrace, [
-	  AC_DEFINE(GC_HAVE_BUILTIN_BACKTRACE)
-	  UNWINDLIBS=-lunwind
-	  AC_MSG_WARN("Client code may need to link against libunwind.")
-	])
-      ;;
-      x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
-	AC_DEFINE(MAKE_BACK_GRAPH)
-	AC_MSG_WARN("Client must not use -fomit-frame-pointer.")
-	AC_DEFINE(SAVE_CALL_COUNT, 8)
-      ;;
-      i[3456]86-*-dgux*)
-	AC_DEFINE(MAKE_BACK_GRAPH)
-      ;;
-    esac ]
-  fi)
-
-AC_SUBST(UNWINDLIBS)
-
-AC_ARG_ENABLE(gc-assertions,
-    [AC_HELP_STRING([--enable-gc-assertions],
-	[collector-internal assertion checking])])
-if test "${enable_gc_assertions}" = yes; then
-    AC_DEFINE(GC_ASSERTIONS)
-fi
-
-AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")
-
-
-dnl Atomic Ops
-dnl ----------
-
-atomic_ops_libs=-latomic_ops
-AC_CHECK_HEADER(atomic_ops.h,
-  [ AC_MSG_NOTICE([Using pre-installed libatomic_ops]) ],
-  [ ao_dir=
-    for candidate in ${srcdir}/libatomic_ops*; do
-	case $candidate in
-	    *.tar.gz)
-		;;
-	    *install)
-	    	dnl generated by alternate Makefile.
-		;;
-	    *)
-		if test -e "$candidate"; then
-		    ao_dir="$candidate"
-		fi
-		;;
-	esac
-    done
-    if test -z "$ao_dir"; then
-	AC_MSG_ERROR([Missig libatomic_ops.])
-    fi
-    ao_version="${ao_dir#*libatomic_ops-}"
-    AC_MSG_NOTICE([Using internal version of libatomic_ops])
-
-    dnl Automake does not accept shell variables in AC_CONFIG_SUBDIRS
-    test -e ${srcdir}/libatomic_ops \
-	|| ln -s ${ao_dir} ${srcdir}/libatomic_ops
-    AC_CONFIG_SUBDIRS(libatomic_ops)
-
-    dnl Also copy the source files to be linked in.
-    test -e ${srcdir}/atomic_ops.c \
-    	|| ln -s ${srcdir}/libatomic_ops/src/atomic_ops.c \
-		 ${srcdir}/atomic_ops.c
-
-    test -e ${srcdir}/atomic_ops_sysdeps.S \
-    	|| ln -s ${srcdir}/libatomic_ops/src/atomic_ops_sysdeps.S \
-		 ${srcdir}/atomic_ops_sysdeps.S
-
-    dnl This gets the source include files, which is often close enough.
-    dnl It also makes atomic_ops_sysdeps.S assemble.
-    GC_CFLAGS="${GC_CFLAGS} -I \$(top_srcdir)/libatomic_ops/src"
-    maybe_libatomic_ops="libatomic_ops"
-  ])
-
-AM_CONDITIONAL(USE_INTERNAL_LIBATOMIC_OPS,
-		test -n "$maybe_libatomic_ops" -a "$THREADS" != "none")
-AM_CONDITIONAL(NEED_ATOMIC_OPS_ASM, test -n "$maybe_libatomic_ops" -a x$need_atomic_ops_asm = xtrue)
-AC_SUBST(atomic_ops_libs)
-
-dnl Produce the Files
-dnl -----------------
-
-AC_CONFIG_FILES([Makefile bdw-gc.pc])
-
-AC_CONFIG_COMMANDS([default],,
-  [ srcdir=${srcdir}
-    host=${host}
-    CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-    CC="${CC}"
-    DEFS="$DEFS" ])
-
-AC_OUTPUT
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/configure.host b/SRC/Boost/tools/build/v2/engine/boehm_gc/configure.host
deleted file mode 100755
index a98a0a7..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/configure.host
+++ /dev/null
@@ -1,61 +0,0 @@
-# configure.host
-
-# This shell script handles all host based configuration for the garbage
-# collector.
-# It sets various shell variables based on the the host and the
-# configuration options.  You can modify this shell script without
-# needing to rerun autoconf.
-
-# This shell script should be invoked as
-#   . configure.host
-# If it encounters an error, it will exit with a message.
-
-# It uses the following shell variables:
-#   host		The configuration host
-#   host_cpu		The configuration host CPU
-#   target_optspace	--enable-target-optspace ("yes", "no", "")
-#   GCC                 should be "yes" if using gcc
-
-# It sets the following shell variables:
-#   gc_cflags	Special CFLAGS to use when building
-
-gc_cflags=""
-
-# We should set -fexceptions if we are using gcc and might be used
-# inside something like gcj.  This is the zeroth approximation:
-if test :"$GCC": = :yes: ; then
-    gc_cflags="${gc_cflags} -fexceptions"
-else
-    case "$host" in 
-        hppa*-*-hpux* )
-	if test :$GCC: != :"yes": ; then
-            gc_cflags="${gc_flags} +ESdbgasm"
-	fi
-        # :TODO: actaully we should check using Autoconf if
-        #     the compiler supports this option.
-        ;;
-    esac
-fi
-
-case "${target_optspace}:${host}" in
-  yes:*)
-    gc_cflags="${gc_cflags} -Os"
-    ;;
-  :m32r-* | :d10v-* | :d30v-*)
-    gc_cflags="${gc_cflags} -Os"
-    ;;
-  no:* | :*)
-    # Nothing.
-    ;;
-esac
-
-# Set any host dependent compiler flags.
-# THIS TABLE IS SORTED.  KEEP IT THAT WAY.
-
-case "${host}" in
-  mips-tx39-*|mipstx39-unknown-*)
-	gc_cflags="${gc_cflags} -G 0"
-	;;
-  *)
-	;;
-esac
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/configure_atomic_ops.sh b/SRC/Boost/tools/build/v2/engine/boehm_gc/configure_atomic_ops.sh
deleted file mode 100755
index 6a0e31a..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/configure_atomic_ops.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-P=`pwd`/libatomic_ops-install
-cd libatomic_ops-*[0-9]
-./configure --prefix=$P
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cord.am b/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cord.am
deleted file mode 100755
index 98319ce..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cord.am
+++ /dev/null
@@ -1,17 +0,0 @@
-
-lib_LTLIBRARIES += libcord.la
-
-libcord_la_LIBADD = $(top_builddir)/libgc.la
-libcord_la_LDFLAGS = -version-info 1:3:0 -no-undefined
-
-libcord_la_SOURCES = \
-	cord/cordbscs.c				\
-	cord/cordprnt.c				\
-	cord/cordtest.c				\
-	cord/cordxtra.c				
-
-
-EXTRA_DIST += \
-	cord/cordbscs.c cord/cordtest.c cord/de.c \
-	cord/cordprnt.c cord/cordxtra.c cord/de_cmds.h \
-	cord/de_win.h cord/de_win.c cord/de_win.RC cord/de_win.ICO
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cordbscs.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cordbscs.c
deleted file mode 100755
index 89c9d69..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cordbscs.c
+++ /dev/null
@@ -1,919 +0,0 @@
-/*
- * Copyright (c) 1993-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Author: Hans-J. Boehm (boehm at parc.xerox.com)
- */
-/* Boehm, October 3, 1994 5:19 pm PDT */
-# include "gc.h"
-# include "cord.h"
-# include <stdlib.h>
-# include <stdio.h>
-# include <string.h>
-
-/* An implementation of the cord primitives.  These are the only 	*/
-/* Functions that understand the representation.  We perform only	*/
-/* minimal checks on arguments to these functions.  Out of bounds	*/
-/* arguments to the iteration functions may result in client functions	*/
-/* invoked on garbage data.  In most cases, client functions should be	*/
-/* programmed defensively enough that this does not result in memory	*/
-/* smashes.								*/ 
-
-typedef void (* oom_fn)(void);
-
-oom_fn CORD_oom_fn = (oom_fn) 0;
-
-# define OUT_OF_MEMORY {  if (CORD_oom_fn != (oom_fn) 0) (*CORD_oom_fn)(); \
-			  ABORT("Out of memory\n"); }
-# define ABORT(msg) { fprintf(stderr, "%s\n", msg); abort(); }
-
-typedef unsigned long word;
-
-typedef union {
-    struct Concatenation {
-    	char null;
-	char header;
-	char depth;	/* concatenation nesting depth. */
-	unsigned char left_len;
-			/* Length of left child if it is sufficiently	*/
-			/* short; 0 otherwise.				*/
-#	    define MAX_LEFT_LEN 255
-	word len;
-	CORD left;	/* length(left) > 0	*/
-	CORD right;	/* length(right) > 0	*/
-    } concatenation;
-    struct Function {
-	char null;
-	char header;
-	char depth;	/* always 0	*/
-	char left_len;	/* always 0	*/
-	word len;
-	CORD_fn fn;
-	void * client_data;
-    } function;
-    struct Generic {
-    	char null;
-	char header;
-	char depth;
-	char left_len;
-	word len;
-    } generic;
-    char string[1];
-} CordRep;
-
-# define CONCAT_HDR 1
-	
-# define FN_HDR 4
-# define SUBSTR_HDR 6
-	/* Substring nodes are a special case of function nodes.  	*/
-	/* The client_data field is known to point to a substr_args	*/
-	/* structure, and the function is either CORD_apply_access_fn 	*/
-	/* or CORD_index_access_fn.					*/
-
-/* The following may be applied only to function and concatenation nodes: */
-#define IS_CONCATENATION(s)  (((CordRep *)s)->generic.header == CONCAT_HDR)
-
-#define IS_FUNCTION(s)  ((((CordRep *)s)->generic.header & FN_HDR) != 0)
-
-#define IS_SUBSTR(s) (((CordRep *)s)->generic.header == SUBSTR_HDR)
-
-#define LEN(s) (((CordRep *)s) -> generic.len)
-#define DEPTH(s) (((CordRep *)s) -> generic.depth)
-#define GEN_LEN(s) (CORD_IS_STRING(s) ? strlen(s) : LEN(s))
-
-#define LEFT_LEN(c) ((c) -> left_len != 0? \
-				(c) -> left_len \
-				: (CORD_IS_STRING((c) -> left) ? \
-					(c) -> len - GEN_LEN((c) -> right) \
-					: LEN((c) -> left)))
-
-#define SHORT_LIMIT (sizeof(CordRep) - 1)
-	/* Cords shorter than this are C strings */
-
-
-/* Dump the internal representation of x to stdout, with initial 	*/
-/* indentation level n.							*/
-void CORD_dump_inner(CORD x, unsigned n)
-{
-    register size_t i;
-    
-    for (i = 0; i < (size_t)n; i++) {
-        fputs("  ", stdout);
-    }
-    if (x == 0) {
-      	fputs("NIL\n", stdout);
-    } else if (CORD_IS_STRING(x)) {
-        for (i = 0; i <= SHORT_LIMIT; i++) {
-            if (x[i] == '\0') break;
-            putchar(x[i]);
-        }
-        if (x[i] != '\0') fputs("...", stdout);
-        putchar('\n');
-    } else if (IS_CONCATENATION(x)) {
-        register struct Concatenation * conc =
-        			&(((CordRep *)x) -> concatenation);
-        printf("Concatenation: %p (len: %d, depth: %d)\n",
-               x, (int)(conc -> len), (int)(conc -> depth));
-        CORD_dump_inner(conc -> left, n+1);
-        CORD_dump_inner(conc -> right, n+1);
-    } else /* function */{
-        register struct Function * func =
-        			&(((CordRep *)x) -> function);
-        if (IS_SUBSTR(x)) printf("(Substring) ");
-        printf("Function: %p (len: %d): ", x, (int)(func -> len));
-        for (i = 0; i < 20 && i < func -> len; i++) {
-            putchar((*(func -> fn))(i, func -> client_data));
-        }
-        if (i < func -> len) fputs("...", stdout);
-        putchar('\n');
-    }
-}
-
-/* Dump the internal representation of x to stdout	*/
-void CORD_dump(CORD x)
-{
-    CORD_dump_inner(x, 0);
-    fflush(stdout);
-}
-
-CORD CORD_cat_char_star(CORD x, const char * y, size_t leny)
-{
-    register size_t result_len;
-    register size_t lenx;
-    register int depth;
-    
-    if (x == CORD_EMPTY) return(y);
-    if (leny == 0) return(x);
-    if (CORD_IS_STRING(x)) {
-        lenx = strlen(x);
-        result_len = lenx + leny;
-        if (result_len <= SHORT_LIMIT) {
-            register char * result = GC_MALLOC_ATOMIC(result_len+1);
-        
-            if (result == 0) OUT_OF_MEMORY;
-            memcpy(result, x, lenx);
-            memcpy(result + lenx, y, leny);
-            result[result_len] = '\0';
-            return((CORD) result);
-        } else {
-            depth = 1;
-        }
-    } else {
-    	register CORD right;
-    	register CORD left;
-    	register char * new_right;
-    	register size_t right_len;
-    	
-    	lenx = LEN(x);
-    	
-        if (leny <= SHORT_LIMIT/2
-    	    && IS_CONCATENATION(x)
-            && CORD_IS_STRING(right = ((CordRep *)x) -> concatenation.right)) {
-            /* Merge y into right part of x. */
-            if (!CORD_IS_STRING(left = ((CordRep *)x) -> concatenation.left)) {
-            	right_len = lenx - LEN(left);
-            } else if (((CordRep *)x) -> concatenation.left_len != 0) {
-                right_len = lenx - ((CordRep *)x) -> concatenation.left_len;
-            } else {
-            	right_len = strlen(right);
-            }
-            result_len = right_len + leny;  /* length of new_right */
-            if (result_len <= SHORT_LIMIT) {
-            	new_right = GC_MALLOC_ATOMIC(result_len + 1);
-            	memcpy(new_right, right, right_len);
-            	memcpy(new_right + right_len, y, leny);
-            	new_right[result_len] = '\0';
-            	y = new_right;
-            	leny = result_len;
-            	x = left;
-            	lenx -= right_len;
-            	/* Now fall through to concatenate the two pieces: */
-            }
-            if (CORD_IS_STRING(x)) {
-                depth = 1;
-            } else {
-                depth = DEPTH(x) + 1;
-            }
-        } else {
-            depth = DEPTH(x) + 1;
-        }
-        result_len = lenx + leny;
-    }
-    {
-      /* The general case; lenx, result_len is known: */
-    	register struct Concatenation * result;
-    	
-    	result = GC_NEW(struct Concatenation);
-    	if (result == 0) OUT_OF_MEMORY;
-    	result->header = CONCAT_HDR;
-    	result->depth = depth;
-    	if (lenx <= MAX_LEFT_LEN) result->left_len = lenx;
-    	result->len = result_len;
-    	result->left = x;
-    	result->right = y;
-    	if (depth >= MAX_DEPTH) {
-    	    return(CORD_balance((CORD)result));
-    	} else {
-    	    return((CORD) result);
-    	}
-    }
-}
-
-
-CORD CORD_cat(CORD x, CORD y)
-{
-    register size_t result_len;
-    register int depth;
-    register size_t lenx;
-    
-    if (x == CORD_EMPTY) return(y);
-    if (y == CORD_EMPTY) return(x);
-    if (CORD_IS_STRING(y)) {
-        return(CORD_cat_char_star(x, y, strlen(y)));
-    } else if (CORD_IS_STRING(x)) {
-        lenx = strlen(x);
-        depth = DEPTH(y) + 1;
-    } else {
-        register int depthy = DEPTH(y);
-        
-        lenx = LEN(x);
-        depth = DEPTH(x) + 1;
-        if (depthy >= depth) depth = depthy + 1;
-    }
-    result_len = lenx + LEN(y);
-    {
-    	register struct Concatenation * result;
-    	
-    	result = GC_NEW(struct Concatenation);
-    	if (result == 0) OUT_OF_MEMORY;
-    	result->header = CONCAT_HDR;
-    	result->depth = depth;
-    	if (lenx <= MAX_LEFT_LEN) result->left_len = lenx;
-    	result->len = result_len;
-    	result->left = x;
-    	result->right = y;
-    	if (depth >= MAX_DEPTH) {
-    	    return(CORD_balance((CORD)result));
-    	} else {
-    	    return((CORD) result);
-    	}
-    }
-}
-
-
-
-CORD CORD_from_fn(CORD_fn fn, void * client_data, size_t len)
-{
-    if (len <= 0) return(0);
-    if (len <= SHORT_LIMIT) {
-        register char * result;
-        register size_t i;
-        char buf[SHORT_LIMIT+1];
-        register char c;
-        
-        for (i = 0; i < len; i++) {
-            c = (*fn)(i, client_data);
-            if (c == '\0') goto gen_case;
-            buf[i] = c;
-        }
-        buf[i] = '\0';
-        result = GC_MALLOC_ATOMIC(len+1);
-        if (result == 0) OUT_OF_MEMORY;
-        strcpy(result, buf);
-        result[len] = '\0';
-        return((CORD) result);
-    }
-  gen_case:
-    {
-    	register struct Function * result;
-    	
-    	result = GC_NEW(struct Function);
-    	if (result == 0) OUT_OF_MEMORY;
-    	result->header = FN_HDR;
-    	/* depth is already 0 */
-    	result->len = len;
-    	result->fn = fn;
-    	result->client_data = client_data;
-    	return((CORD) result);
-    }
-}
-
-size_t CORD_len(CORD x)
-{
-    if (x == 0) {
-     	return(0);
-    } else {
-	return(GEN_LEN(x));
-    }
-}
-
-struct substr_args {
-    CordRep * sa_cord;
-    size_t sa_index;
-};
-
-char CORD_index_access_fn(size_t i, void * client_data)
-{
-    register struct substr_args *descr = (struct substr_args *)client_data;
-    
-    return(((char *)(descr->sa_cord))[i + descr->sa_index]);
-}
-
-char CORD_apply_access_fn(size_t i, void * client_data)
-{
-    register struct substr_args *descr = (struct substr_args *)client_data;
-    register struct Function * fn_cord = &(descr->sa_cord->function);
-    
-    return((*(fn_cord->fn))(i + descr->sa_index, fn_cord->client_data));
-}
-
-/* A version of CORD_substr that simply returns a function node, thus	*/
-/* postponing its work.	The fourth argument is a function that may	*/
-/* be used for efficient access to the ith character.			*/
-/* Assumes i >= 0 and i + n < length(x).				*/
-CORD CORD_substr_closure(CORD x, size_t i, size_t n, CORD_fn f)
-{
-    register struct substr_args * sa = GC_NEW(struct substr_args);
-    CORD result;
-    
-    if (sa == 0) OUT_OF_MEMORY;
-    sa->sa_cord = (CordRep *)x;
-    sa->sa_index = i;
-    result = CORD_from_fn(f, (void *)sa, n);
-    ((CordRep *)result) -> function.header = SUBSTR_HDR;
-    return (result);
-}
-
-# define SUBSTR_LIMIT (10 * SHORT_LIMIT)
-	/* Substrings of function nodes and flat strings shorter than 	*/
-	/* this are flat strings.  Othewise we use a functional 	*/
-	/* representation, which is significantly slower to access.	*/
-
-/* A version of CORD_substr that assumes i >= 0, n > 0, and i + n < length(x).*/
-CORD CORD_substr_checked(CORD x, size_t i, size_t n)
-{
-    if (CORD_IS_STRING(x)) {
-        if (n > SUBSTR_LIMIT) {
-            return(CORD_substr_closure(x, i, n, CORD_index_access_fn));
-        } else {
-            register char * result = GC_MALLOC_ATOMIC(n+1);
-            
-            if (result == 0) OUT_OF_MEMORY;
-            strncpy(result, x+i, n);
-            result[n] = '\0';
-            return(result);
-        }
-    } else if (IS_CONCATENATION(x)) {
-    	register struct Concatenation * conc
-    			= &(((CordRep *)x) -> concatenation);
-    	register size_t left_len;
-    	register size_t right_len;
-    	
-    	left_len = LEFT_LEN(conc);
-    	right_len = conc -> len - left_len;
-    	if (i >= left_len) {
-    	    if (n == right_len) return(conc -> right);
-    	    return(CORD_substr_checked(conc -> right, i - left_len, n));
-    	} else if (i+n <= left_len) {
-    	    if (n == left_len) return(conc -> left);
-    	    return(CORD_substr_checked(conc -> left, i, n));
-    	} else {
-    	    /* Need at least one character from each side. */
-    	    register CORD left_part;
-    	    register CORD right_part;
-    	    register size_t left_part_len = left_len - i;
-     	
-    	    if (i == 0) {
-    	        left_part = conc -> left;
-    	    } else {
-    	        left_part = CORD_substr_checked(conc -> left, i, left_part_len);
-    	    }
-    	    if (i + n == right_len + left_len) {
-    	         right_part = conc -> right;
-    	    } else {
-    	         right_part = CORD_substr_checked(conc -> right, 0,
-    	    				          n - left_part_len);
-    	    }
-    	    return(CORD_cat(left_part, right_part));
-    	}
-    } else /* function */ {
-        if (n > SUBSTR_LIMIT) {
-            if (IS_SUBSTR(x)) {
-            	/* Avoid nesting substring nodes.	*/
-            	register struct Function * f = &(((CordRep *)x) -> function);
-            	register struct substr_args *descr =
-            			(struct substr_args *)(f -> client_data);
-            	
-            	return(CORD_substr_closure((CORD)descr->sa_cord,
-            				   i + descr->sa_index,
-            				   n, f -> fn));
-            } else {
-                return(CORD_substr_closure(x, i, n, CORD_apply_access_fn));
-            }
-        } else {
-            char * result;
-            register struct Function * f = &(((CordRep *)x) -> function);
-            char buf[SUBSTR_LIMIT+1];
-            register char * p = buf;
-            register char c;
-            register int j;
-            register int lim = i + n;
-            
-            for (j = i; j < lim; j++) {
-            	c = (*(f -> fn))(j, f -> client_data);
-            	if (c == '\0') {
-            	    return(CORD_substr_closure(x, i, n, CORD_apply_access_fn));
-            	}
-            	*p++ = c;
-            }
-            *p = '\0';
-            result = GC_MALLOC_ATOMIC(n+1);
-            if (result == 0) OUT_OF_MEMORY;
-            strcpy(result, buf);
-            return(result);
-        }
-    }
-}
-
-CORD CORD_substr(CORD x, size_t i, size_t n)
-{
-    register size_t len = CORD_len(x);
-    
-    if (i >= len || n <= 0) return(0);
-    	/* n < 0 is impossible in a correct C implementation, but	*/
-    	/* quite possible  under SunOS 4.X.				*/
-    if (i + n > len) n = len - i;
-#   ifndef __STDC__
-      if (i < 0) ABORT("CORD_substr: second arg. negative");
-    	/* Possible only if both client and C implementation are buggy.	*/
-    	/* But empirically this happens frequently.			*/
-#   endif
-    return(CORD_substr_checked(x, i, n));
-}
-
-/* See cord.h for definition.  We assume i is in range.	*/
-int CORD_iter5(CORD x, size_t i, CORD_iter_fn f1,
-			 CORD_batched_iter_fn f2, void * client_data)
-{
-    if (x == 0) return(0);
-    if (CORD_IS_STRING(x)) {
-    	register const char *p = x+i;
-    	
-    	if (*p == '\0') ABORT("2nd arg to CORD_iter5 too big");
-        if (f2 != CORD_NO_FN) {
-            return((*f2)(p, client_data));
-        } else {
-	    while (*p) {
-                if ((*f1)(*p, client_data)) return(1);
-                p++;
-	    }
-	    return(0);
-        }
-    } else if (IS_CONCATENATION(x)) {
-    	register struct Concatenation * conc
-    			= &(((CordRep *)x) -> concatenation);
-    	
-    	
-    	if (i > 0) {
-    	    register size_t left_len = LEFT_LEN(conc);
-    	    
-    	    if (i >= left_len) {
-    	        return(CORD_iter5(conc -> right, i - left_len, f1, f2,
-    	        		  client_data));
-    	    }
-    	}
-    	if (CORD_iter5(conc -> left, i, f1, f2, client_data)) {
-    	    return(1);
-    	}
-    	return(CORD_iter5(conc -> right, 0, f1, f2, client_data));
-    } else /* function */ {
-        register struct Function * f = &(((CordRep *)x) -> function);
-        register size_t j;
-        register size_t lim = f -> len;
-        
-        for (j = i; j < lim; j++) {
-            if ((*f1)((*(f -> fn))(j, f -> client_data), client_data)) {
-                return(1);
-            }
-        }
-        return(0);
-    }
-}
-			
-#undef CORD_iter
-int CORD_iter(CORD x, CORD_iter_fn f1, void * client_data)
-{
-    return(CORD_iter5(x, 0, f1, CORD_NO_FN, client_data));
-}
-
-int CORD_riter4(CORD x, size_t i, CORD_iter_fn f1, void * client_data)
-{
-    if (x == 0) return(0);
-    if (CORD_IS_STRING(x)) {
-	register const char *p = x + i;
-	register char c;
-               
-	for(;;) {
-	    c = *p;
-	    if (c == '\0') ABORT("2nd arg to CORD_riter4 too big");
-            if ((*f1)(c, client_data)) return(1);
-	    if (p == x) break;
-            p--;
-	}
-	return(0);
-    } else if (IS_CONCATENATION(x)) {
-    	register struct Concatenation * conc
-    			= &(((CordRep *)x) -> concatenation);
-    	register CORD left_part = conc -> left;
-    	register size_t left_len;
-    	
-    	left_len = LEFT_LEN(conc);
-    	if (i >= left_len) {
-    	    if (CORD_riter4(conc -> right, i - left_len, f1, client_data)) {
-    	    	return(1);
-    	    }
-    	    return(CORD_riter4(left_part, left_len - 1, f1, client_data));
-    	} else {
-    	    return(CORD_riter4(left_part, i, f1, client_data));
-    	}
-    } else /* function */ {
-        register struct Function * f = &(((CordRep *)x) -> function);
-        register size_t j;
-        
-        for (j = i; ; j--) {
-            if ((*f1)((*(f -> fn))(j, f -> client_data), client_data)) {
-                return(1);
-            }
-            if (j == 0) return(0);
-        }
-    }
-}
-
-int CORD_riter(CORD x, CORD_iter_fn f1, void * client_data)
-{
-    return(CORD_riter4(x, CORD_len(x) - 1, f1, client_data));
-}
-
-/*
- * The following functions are concerned with balancing cords.
- * Strategy:
- * Scan the cord from left to right, keeping the cord scanned so far
- * as a forest of balanced trees of exponentialy decreasing length.
- * When a new subtree needs to be added to the forest, we concatenate all
- * shorter ones to the new tree in the appropriate order, and then insert
- * the result into the forest.
- * Crucial invariants:
- * 1. The concatenation of the forest (in decreasing order) with the
- *     unscanned part of the rope is equal to the rope being balanced.
- * 2. All trees in the forest are balanced.
- * 3. forest[i] has depth at most i.
- */
-
-typedef struct {
-    CORD c;
-    size_t len;		/* Actual length of c 	*/
-} ForestElement;
-
-static size_t min_len [ MAX_DEPTH ];
-
-static int min_len_init = 0;
-
-int CORD_max_len;
-
-typedef ForestElement Forest [ MAX_DEPTH ];
-			/* forest[i].len >= fib(i+1)	        */
-			/* The string is the concatenation	*/
-			/* of the forest in order of DECREASING */
-			/* indices.				*/
-
-void CORD_init_min_len()
-{
-    register int i;
-    register size_t last, previous, current;
-        
-    min_len[0] = previous = 1;
-    min_len[1] = last = 2;
-    for (i = 2; i < MAX_DEPTH; i++) {
-    	current = last + previous;
-    	if (current < last) /* overflow */ current = last;
-    	min_len[i] = current;
-    	previous = last;
-    	last = current;
-    }
-    CORD_max_len = last - 1;
-    min_len_init = 1;
-}
-
-
-void CORD_init_forest(ForestElement * forest, size_t max_len)
-{
-    register int i;
-    
-    for (i = 0; i < MAX_DEPTH; i++) {
-    	forest[i].c = 0;
-    	if (min_len[i] > max_len) return;
-    }
-    ABORT("Cord too long");
-}
-
-/* Add a leaf to the appropriate level in the forest, cleaning		*/
-/* out lower levels as necessary.					*/
-/* Also works if x is a balanced tree of concatenations; however	*/
-/* in this case an extra concatenation node may be inserted above x;	*/
-/* This node should not be counted in the statement of the invariants.	*/
-void CORD_add_forest(ForestElement * forest, CORD x, size_t len)
-{
-    register int i = 0;
-    register CORD sum = CORD_EMPTY;
-    register size_t sum_len = 0;
-    
-    while (len > min_len[i + 1]) {
-    	if (forest[i].c != 0) {
-    	    sum = CORD_cat(forest[i].c, sum);
-    	    sum_len += forest[i].len;
-    	    forest[i].c = 0;
-    	}
-        i++;
-    }
-    /* Sum has depth at most 1 greter than what would be required 	*/
-    /* for balance.							*/
-    sum = CORD_cat(sum, x);
-    sum_len += len;
-    /* If x was a leaf, then sum is now balanced.  To see this		*/
-    /* consider the two cases in which forest[i-1] either is or is 	*/
-    /* not empty.							*/
-    while (sum_len >= min_len[i]) {
-    	if (forest[i].c != 0) {
-    	    sum = CORD_cat(forest[i].c, sum);
-    	    sum_len += forest[i].len;
-    	    /* This is again balanced, since sum was balanced, and has	*/
-    	    /* allowable depth that differs from i by at most 1.	*/
-    	    forest[i].c = 0;
-    	}
-        i++;
-    }
-    i--;
-    forest[i].c = sum;
-    forest[i].len = sum_len;
-}
-
-CORD CORD_concat_forest(ForestElement * forest, size_t expected_len)
-{
-    register int i = 0;
-    CORD sum = 0;
-    size_t sum_len = 0;
-    
-    while (sum_len != expected_len) {
-    	if (forest[i].c != 0) {
-    	    sum = CORD_cat(forest[i].c, sum);
-    	    sum_len += forest[i].len;
-    	}
-        i++;
-    }
-    return(sum);
-}
-
-/* Insert the frontier of x into forest.  Balanced subtrees are	*/
-/* treated as leaves.  This potentially adds one to the depth	*/
-/* of the final tree.						*/
-void CORD_balance_insert(CORD x, size_t len, ForestElement * forest)
-{
-    register int depth;
-    
-    if (CORD_IS_STRING(x)) {
-        CORD_add_forest(forest, x, len);
-    } else if (IS_CONCATENATION(x)
-               && ((depth = DEPTH(x)) >= MAX_DEPTH
-                   || len < min_len[depth])) {
-    	register struct Concatenation * conc
-    			= &(((CordRep *)x) -> concatenation);
-    	size_t left_len = LEFT_LEN(conc);
-    	
-    	CORD_balance_insert(conc -> left, left_len, forest);
-    	CORD_balance_insert(conc -> right, len - left_len, forest);
-    } else /* function or balanced */ {
-    	CORD_add_forest(forest, x, len);
-    }
-}
-
-
-CORD CORD_balance(CORD x)
-{
-    Forest forest;
-    register size_t len;
-    
-    if (x == 0) return(0);
-    if (CORD_IS_STRING(x)) return(x);
-    if (!min_len_init) CORD_init_min_len();
-    len = LEN(x);
-    CORD_init_forest(forest, len);
-    CORD_balance_insert(x, len, forest);
-    return(CORD_concat_forest(forest, len));
-}
-
-
-/* Position primitives	*/
-
-/* Private routines to deal with the hard cases only: */
-
-/* P contains a prefix of the  path to cur_pos.	Extend it to a full	*/
-/* path and set up leaf info.						*/
-/* Return 0 if past the end of cord, 1 o.w.				*/
-void CORD__extend_path(register CORD_pos p)
-{
-     register struct CORD_pe * current_pe = &(p[0].path[p[0].path_len]);
-     register CORD top = current_pe -> pe_cord;
-     register size_t pos = p[0].cur_pos;
-     register size_t top_pos = current_pe -> pe_start_pos;
-     register size_t top_len = GEN_LEN(top);
-     
-     /* Fill in the rest of the path. */
-       while(!CORD_IS_STRING(top) && IS_CONCATENATION(top)) {
-     	 register struct Concatenation * conc =
-     	 		&(((CordRep *)top) -> concatenation);
-     	 register size_t left_len;
-     	 
-     	 left_len = LEFT_LEN(conc);
-     	 current_pe++;
-     	 if (pos >= top_pos + left_len) {
-     	     current_pe -> pe_cord = top = conc -> right;
-     	     current_pe -> pe_start_pos = top_pos = top_pos + left_len;
-     	     top_len -= left_len;
-     	 } else {
-     	     current_pe -> pe_cord = top = conc -> left;
-     	     current_pe -> pe_start_pos = top_pos;
-     	     top_len = left_len;
-     	 }
-     	 p[0].path_len++;
-       }
-     /* Fill in leaf description for fast access. */
-       if (CORD_IS_STRING(top)) {
-         p[0].cur_leaf = top;
-         p[0].cur_start = top_pos;
-         p[0].cur_end = top_pos + top_len;
-       } else {
-         p[0].cur_end = 0;
-       }
-       if (pos >= top_pos + top_len) p[0].path_len = CORD_POS_INVALID;
-}
-
-char CORD__pos_fetch(register CORD_pos p)
-{
-    /* Leaf is a function node */
-    struct CORD_pe * pe = &((p)[0].path[(p)[0].path_len]);
-    CORD leaf = pe -> pe_cord;
-    register struct Function * f = &(((CordRep *)leaf) -> function);
-    
-    if (!IS_FUNCTION(leaf)) ABORT("CORD_pos_fetch: bad leaf");
-    return ((*(f -> fn))(p[0].cur_pos - pe -> pe_start_pos, f -> client_data));
-}
-
-void CORD__next(register CORD_pos p)
-{
-    register size_t cur_pos = p[0].cur_pos + 1;
-    register struct CORD_pe * current_pe = &((p)[0].path[(p)[0].path_len]);
-    register CORD leaf = current_pe -> pe_cord;
-    
-    /* Leaf is not a string or we're at end of leaf */
-    p[0].cur_pos = cur_pos;
-    if (!CORD_IS_STRING(leaf)) {
-    	/* Function leaf	*/
-    	register struct Function * f = &(((CordRep *)leaf) -> function);
-    	register size_t start_pos = current_pe -> pe_start_pos;
-    	register size_t end_pos = start_pos + f -> len;
-    	
-    	if (cur_pos < end_pos) {
-    	  /* Fill cache and return. */
-    	    register size_t i;
-    	    register size_t limit = cur_pos + FUNCTION_BUF_SZ;
-    	    register CORD_fn fn = f -> fn;
-    	    register void * client_data = f -> client_data;
-    	    
-    	    if (limit > end_pos) {
-    	        limit = end_pos;
-    	    }
-    	    for (i = cur_pos; i < limit; i++) {
-    	        p[0].function_buf[i - cur_pos] =
-    	        	(*fn)(i - start_pos, client_data);
-    	    }
-    	    p[0].cur_start = cur_pos;
-    	    p[0].cur_leaf = p[0].function_buf;
-    	    p[0].cur_end = limit;
-    	    return;
-    	}
-    }
-    /* End of leaf	*/
-    /* Pop the stack until we find two concatenation nodes with the 	*/
-    /* same start position: this implies we were in left part.		*/
-    {
-    	while (p[0].path_len > 0
-    	       && current_pe[0].pe_start_pos != current_pe[-1].pe_start_pos) {
-    	    p[0].path_len--;
-    	    current_pe--;
-    	}
-    	if (p[0].path_len == 0) {
-	    p[0].path_len = CORD_POS_INVALID;
-            return;
-	}
-    }
-    p[0].path_len--;
-    CORD__extend_path(p);
-}
-
-void CORD__prev(register CORD_pos p)
-{
-    register struct CORD_pe * pe = &(p[0].path[p[0].path_len]);
-    
-    if (p[0].cur_pos == 0) {
-        p[0].path_len = CORD_POS_INVALID;
-        return;
-    }
-    p[0].cur_pos--;
-    if (p[0].cur_pos >= pe -> pe_start_pos) return;
-    
-    /* Beginning of leaf	*/
-    
-    /* Pop the stack until we find two concatenation nodes with the 	*/
-    /* different start position: this implies we were in right part.	*/
-    {
-    	register struct CORD_pe * current_pe = &((p)[0].path[(p)[0].path_len]);
-    	
-    	while (p[0].path_len > 0
-    	       && current_pe[0].pe_start_pos == current_pe[-1].pe_start_pos) {
-    	    p[0].path_len--;
-    	    current_pe--;
-    	}
-    }
-    p[0].path_len--;
-    CORD__extend_path(p);
-}
-
-#undef CORD_pos_fetch
-#undef CORD_next
-#undef CORD_prev
-#undef CORD_pos_to_index
-#undef CORD_pos_to_cord
-#undef CORD_pos_valid
-
-char CORD_pos_fetch(register CORD_pos p)
-{
-    if (p[0].cur_start <= p[0].cur_pos && p[0].cur_pos < p[0].cur_end) {
-    	return(p[0].cur_leaf[p[0].cur_pos - p[0].cur_start]);
-    } else {
-        return(CORD__pos_fetch(p));
-    }
-}
-
-void CORD_next(CORD_pos p)
-{
-    if (p[0].cur_pos < p[0].cur_end - 1) {
-    	p[0].cur_pos++;
-    } else {
-    	CORD__next(p);
-    }
-}
-
-void CORD_prev(CORD_pos p)
-{
-    if (p[0].cur_end != 0 && p[0].cur_pos > p[0].cur_start) {
-    	p[0].cur_pos--;
-    } else {
-    	CORD__prev(p);
-    }
-}
-
-size_t CORD_pos_to_index(CORD_pos p)
-{
-    return(p[0].cur_pos);
-}
-
-CORD CORD_pos_to_cord(CORD_pos p)
-{
-    return(p[0].path[0].pe_cord);
-}
-
-int CORD_pos_valid(CORD_pos p)
-{
-    return(p[0].path_len != CORD_POS_INVALID);
-}
-
-void CORD_set_pos(CORD_pos p, CORD x, size_t i)
-{
-    if (x == CORD_EMPTY) {
-    	p[0].path_len = CORD_POS_INVALID;
-    	return;
-    }
-    p[0].path[0].pe_cord = x;
-    p[0].path[0].pe_start_pos = 0;
-    p[0].path_len = 0;
-    p[0].cur_pos = i;
-    CORD__extend_path(p);
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cordprnt.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cordprnt.c
deleted file mode 100755
index 600cffc..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cordprnt.c
+++ /dev/null
@@ -1,396 +0,0 @@
-/* 
- * Copyright (c) 1993-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* An sprintf implementation that understands cords.  This is probably	*/
-/* not terribly portable.  It assumes an ANSI stdarg.h.  It further	*/
-/* assumes that I can make copies of va_list variables, and read 	*/
-/* arguments repeatedly by applyting va_arg to the copies.  This	*/
-/* could be avoided at some performance cost.				*/
-/* We also assume that unsigned and signed integers of various kinds	*/
-/* have the same sizes, and can be cast back and forth.			*/
-/* We assume that void * and char * have the same size.			*/
-/* All this cruft is needed because we want to rely on the underlying	*/
-/* sprintf implementation whenever possible.				*/
-/* Boehm, September 21, 1995 6:00 pm PDT */
-
-#include "cord.h"
-#include "ec.h"
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-#include "gc.h"
-
-#define CONV_SPEC_LEN 50	/* Maximum length of a single	*/
-				/* conversion specification.	*/
-#define CONV_RESULT_LEN 50	/* Maximum length of any 	*/
-				/* conversion with default	*/
-				/* width and prec.		*/
-
-
-static int ec_len(CORD_ec x)
-{
-    return(CORD_len(x[0].ec_cord) + (x[0].ec_bufptr - x[0].ec_buf));
-}
-
-/* Possible nonumeric precision values.	*/
-# define NONE -1
-# define VARIABLE -2
-/* Copy the conversion specification from CORD_pos into the buffer buf	*/
-/* Return negative on error.						*/
-/* Source initially points one past the leading %.			*/
-/* It is left pointing at the conversion type.				*/
-/* Assign field width and precision to *width and *prec.		*/
-/* If width or prec is *, VARIABLE is assigned.				*/
-/* Set *left to 1 if left adjustment flag is present.			*/
-/* Set *long_arg to 1 if long flag ('l' or 'L') is present, or to	*/
-/* -1 if 'h' is present.						*/
-static int extract_conv_spec(CORD_pos source, char *buf,
-			     int * width, int *prec, int *left, int * long_arg)
-{
-    register int result = 0;
-    register int current_number = 0;
-    register int saw_period = 0;
-    register int saw_number = 0;
-    register int chars_so_far = 0;
-    register char current;
-    
-    *width = NONE;
-    buf[chars_so_far++] = '%';
-    while(CORD_pos_valid(source)) {
-        if (chars_so_far >= CONV_SPEC_LEN) return(-1);
-        current = CORD_pos_fetch(source);
-        buf[chars_so_far++] = current;
-        switch(current) {
-	  case '*':
-	    saw_number = 1;
-	    current_number = VARIABLE;
-	    break;
-          case '0':
-            if (!saw_number) {
-                /* Zero fill flag; ignore */
-                break;
-            } /* otherwise fall through: */
-          case '1':
-	  case '2':
-	  case '3':
-	  case '4':
-	  case '5':
-          case '6':
-	  case '7':
-	  case '8':
-	  case '9':
-	    saw_number = 1;
-	    current_number *= 10;
-	    current_number += current - '0';
-	    break;
-	  case '.':
-	    saw_period = 1;
-	    if(saw_number) {
-	        *width = current_number;
-	        saw_number = 0;
-	    }
-	    current_number = 0;
-	    break;
-	  case 'l':
-	  case 'L':
-	    *long_arg = 1;
-	    current_number = 0;
-	    break;
-	  case 'h':
-	    *long_arg = -1;
-	    current_number = 0;
-	    break;
-	  case ' ':
-	  case '+':
-	  case '#':
-	    current_number = 0;
-	    break;
-	  case '-':
-	    *left = 1;
-	    current_number = 0;
-	    break;
-	  case 'd':
-	  case 'i':
-	  case 'o':
-	  case 'u':
-	  case 'x':
-	  case 'X':
-	  case 'f':
-	  case 'e':
-	  case 'E':
-	  case 'g':
-	  case 'G':
-	  case 'c':
-	  case 'C':
-	  case 's':
-	  case 'S':
-	  case 'p':
-	  case 'n':
-	  case 'r':
-	    goto done;          
-          default:
-            return(-1);
-        }
-        CORD_next(source);
-    }
-    return(-1);
-  done:
-    if (saw_number) {
-    	if (saw_period) {
-    	    *prec = current_number;
-    	} else {
-    	    *prec = NONE;
-    	    *width = current_number;
-    	}
-    } else {
-    	*prec = NONE;
-    }
-    buf[chars_so_far] = '\0';
-    return(result);
-}
-
-int CORD_vsprintf(CORD * out, CORD format, va_list args)
-{
-    CORD_ec result;
-    register int count;
-    register char current;
-    CORD_pos pos;
-    char conv_spec[CONV_SPEC_LEN + 1];
-    
-    CORD_ec_init(result);
-    for (CORD_set_pos(pos, format, 0); CORD_pos_valid(pos); CORD_next(pos)) {
-       	current = CORD_pos_fetch(pos);
-       	if (current == '%') {
-            CORD_next(pos);
-            if (!CORD_pos_valid(pos)) return(-1);
-            current = CORD_pos_fetch(pos);
-            if (current == '%') {
-               	CORD_ec_append(result, current);
-            } else {
-             	int width, prec;
-             	int left_adj = 0;
-             	int long_arg = 0;
-		CORD arg;
-		size_t len;
-               
-              	if (extract_conv_spec(pos, conv_spec,
-              			      &width, &prec,
-              			      &left_adj, &long_arg) < 0) {
-              	    return(-1);
-              	}
-              	current = CORD_pos_fetch(pos);
-            	switch(current) {
-            	    case 'n':
-            	    	/* Assign length to next arg */
-            	    	if (long_arg == 0) {
-            	    	    int * pos_ptr;
-            	    	    pos_ptr = va_arg(args, int *);
-            	    	    *pos_ptr = ec_len(result);
-            	    	} else if (long_arg > 0) {
-            	    	    long * pos_ptr;
-            	    	    pos_ptr = va_arg(args, long *);
-            	    	    *pos_ptr = ec_len(result);
-            	    	} else {
-            	    	    short * pos_ptr;
-            	    	    pos_ptr = va_arg(args, short *);
-            	    	    *pos_ptr = ec_len(result);
-            	    	}
-            	    	goto done;
-            	    case 'r':
-            	    	/* Append cord and any padding	*/
-            	    	if (width == VARIABLE) width = va_arg(args, int);
-            	    	if (prec == VARIABLE) prec = va_arg(args, int);
-			arg = va_arg(args, CORD);
-			len = CORD_len(arg);
-			if (prec != NONE && len > prec) {
-			  if (prec < 0) return(-1);
-			  arg = CORD_substr(arg, 0, prec);
-			  len = prec;
-			}
-			if (width != NONE && len < width) {
-			  char * blanks = GC_MALLOC_ATOMIC(width-len+1);
-
-			  memset(blanks, ' ', width-len);
-			  blanks[width-len] = '\0';
-			  if (left_adj) {
-			    arg = CORD_cat(arg, blanks);
-			  } else {
-			    arg = CORD_cat(blanks, arg);
-			  }
-			}
-			CORD_ec_append_cord(result, arg);
-            	    	goto done;
-		    case 'c':
-			if (width == NONE && prec == NONE) {
-			    register char c;
-
-			    c = (char)va_arg(args, int);
-			    CORD_ec_append(result, c);
-			    goto done;
-			}
-			break;
-		    case 's':
-		        if (width == NONE && prec == NONE) {
-			    char * str = va_arg(args, char *);
-			    register char c;
-
-			    while ((c = *str++)) {
-			        CORD_ec_append(result, c);
-			    }
-			    goto done;
-			}
-			break;
-            	    default:
-            	        break;
-            	}
-            	/* Use standard sprintf to perform conversion */
-            	{
-            	    register char * buf;
-            	    va_list vsprintf_args;
-            	    int max_size = 0;
-            	    int res;
-#		    ifdef __va_copy
-                      __va_copy(vsprintf_args, args);
-#		    else
-#		      if defined(__GNUC__) && !defined(__DJGPP__) /* and probably in other cases */
-                        va_copy(vsprintf_args, args);
-#		      else
-			vsprintf_args = args;
-#		      endif
-#		    endif
-            	    if (width == VARIABLE) width = va_arg(args, int);
-            	    if (prec == VARIABLE) prec = va_arg(args, int);
-            	    if (width != NONE) max_size = width;
-            	    if (prec != NONE && prec > max_size) max_size = prec;
-            	    max_size += CONV_RESULT_LEN;
-            	    if (max_size >= CORD_BUFSZ) {
-            	        buf = GC_MALLOC_ATOMIC(max_size + 1);
-            	    } else {
-            	        if (CORD_BUFSZ - (result[0].ec_bufptr-result[0].ec_buf)
-            	            < max_size) {
-            	            CORD_ec_flush_buf(result);
-            	        }
-            	        buf = result[0].ec_bufptr;
-            	    }
-            	    switch(current) {
-            	        case 'd':
-            	        case 'i':
-            	        case 'o':
-            	        case 'u':
-            	        case 'x':
-            	        case 'X':
-            	        case 'c':
-            	            if (long_arg <= 0) {
-            	              (void) va_arg(args, int);
-            	            } else if (long_arg > 0) {
-            	              (void) va_arg(args, long);
-            	            }
-            	            break;
-            	        case 's':
-            	        case 'p':
-            	            (void) va_arg(args, char *);
-            	            break;
-            	        case 'f':
-            	        case 'e':
-            	        case 'E':
-            	        case 'g':
-            	        case 'G':
-            	            (void) va_arg(args, double);
-            	            break;
-            	        default:
-            	            return(-1);
-            	    }
-            	    res = vsprintf(buf, conv_spec, vsprintf_args);
-            	    len = (size_t)res;
-            	    if ((char *)(GC_word)res == buf) {
-            	    	/* old style vsprintf */
-            	    	len = strlen(buf);
-            	    } else if (res < 0) {
-            	        return(-1);
-            	    }
-            	    if (buf != result[0].ec_bufptr) {
-            	        register char c;
-
-			while ((c = *buf++)) {
-			    CORD_ec_append(result, c);
-		        }
-		    } else {
-		        result[0].ec_bufptr = buf + len;
-		    }
-            	}
-              done:;
-            }
-        } else {
-            CORD_ec_append(result, current);
-        }
-    }
-    count = ec_len(result);
-    *out = CORD_balance(CORD_ec_to_cord(result));
-    return(count);
-}
-
-int CORD_sprintf(CORD * out, CORD format, ...)
-{
-    va_list args;
-    int result;
-    
-    va_start(args, format);
-    result = CORD_vsprintf(out, format, args);
-    va_end(args);
-    return(result);
-}
-
-int CORD_fprintf(FILE * f, CORD format, ...)
-{
-    va_list args;
-    int result;
-    CORD out;
-    
-    va_start(args, format);
-    result = CORD_vsprintf(&out, format, args);
-    va_end(args);
-    if (result > 0) CORD_put(out, f);
-    return(result);
-}
-
-int CORD_vfprintf(FILE * f, CORD format, va_list args)
-{
-    int result;
-    CORD out;
-    
-    result = CORD_vsprintf(&out, format, args);
-    if (result > 0) CORD_put(out, f);
-    return(result);
-}
-
-int CORD_printf(CORD format, ...)
-{
-    va_list args;
-    int result;
-    CORD out;
-    
-    va_start(args, format);
-    result = CORD_vsprintf(&out, format, args);
-    va_end(args);
-    if (result > 0) CORD_put(out, stdout);
-    return(result);
-}
-
-int CORD_vprintf(CORD format, va_list args)
-{
-    int result;
-    CORD out;
-    
-    result = CORD_vsprintf(&out, format, args);
-    if (result > 0) CORD_put(out, stdout);
-    return(result);
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cordtest.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cordtest.c
deleted file mode 100755
index b27e57e..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cordtest.c
+++ /dev/null
@@ -1,235 +0,0 @@
-/* 
- * Copyright (c) 1993-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, August 24, 1994 11:58 am PDT */
-# include "gc.h"	/* For GC_INIT() only */
-# include "cord.h"
-# include <string.h>
-# include <stdio.h>
-# include <stdlib.h>
-/* This is a very incomplete test of the cord package.  It knows about	*/
-/* a few internals of the package (e.g. when C strings are returned)	*/
-/* that real clients shouldn't rely on.					*/
-
-# define ABORT(string) \
-{ int x = 0; fprintf(stderr, "FAILED: %s\n", string); x = 1 / x; abort(); }
-
-int count;
-
-int test_fn(char c, void * client_data)
-{
-    if (client_data != (void *)13) ABORT("bad client data");
-    if (count < 64*1024+1) {
-        if ((count & 1) == 0) {
-            if (c != 'b') ABORT("bad char");
-        } else {
-            if (c != 'a') ABORT("bad char");
-        }
-        count++;
-        return(0);
-    } else {
-        if (c != 'c') ABORT("bad char");
-        count++;
-        return(1);
-    }
-}
-
-char id_cord_fn(size_t i, void * client_data)
-{
-    return((char)i);
-}
-
-void test_basics()
-{
-    CORD x = CORD_from_char_star("ab");
-    register int i;
-    char c;
-    CORD y;
-    CORD_pos p;
-    
-    x = CORD_cat(x,x);
-    if (!CORD_IS_STRING(x)) ABORT("short cord should usually be a string");
-    if (strcmp(x, "abab") != 0) ABORT("bad CORD_cat result");
-    
-    for (i = 1; i < 16; i++) {
-        x = CORD_cat(x,x);
-    }
-    x = CORD_cat(x,"c");
-    if (CORD_len(x) != 128*1024+1) ABORT("bad length");
-    
-    count = 0;
-    if (CORD_iter5(x, 64*1024-1, test_fn, CORD_NO_FN, (void *)13) == 0) {
-        ABORT("CORD_iter5 failed");
-    }
-    if (count != 64*1024 + 2) ABORT("CORD_iter5 failed");
-    
-    count = 0;
-    CORD_set_pos(p, x, 64*1024-1);
-    while(CORD_pos_valid(p)) {
-       	(void) test_fn(CORD_pos_fetch(p), (void *)13);
-	CORD_next(p);
-    }
-    if (count != 64*1024 + 2) ABORT("Position based iteration failed");
-    
-    y = CORD_substr(x, 1023, 5);
-    if (!CORD_IS_STRING(y)) ABORT("short cord should usually be a string");
-    if (strcmp(y, "babab") != 0) ABORT("bad CORD_substr result");
-    
-    y = CORD_substr(x, 1024, 8);
-    if (!CORD_IS_STRING(y)) ABORT("short cord should usually be a string");
-    if (strcmp(y, "abababab") != 0) ABORT("bad CORD_substr result");
-    
-    y = CORD_substr(x, 128*1024-1, 8);
-    if (!CORD_IS_STRING(y)) ABORT("short cord should usually be a string");
-    if (strcmp(y, "bc") != 0) ABORT("bad CORD_substr result");
-    
-    x = CORD_balance(x);
-    if (CORD_len(x) != 128*1024+1) ABORT("bad length");
-    
-    count = 0;
-    if (CORD_iter5(x, 64*1024-1, test_fn, CORD_NO_FN, (void *)13) == 0) {
-        ABORT("CORD_iter5 failed");
-    }
-    if (count != 64*1024 + 2) ABORT("CORD_iter5 failed");
-    
-    y = CORD_substr(x, 1023, 5);
-    if (!CORD_IS_STRING(y)) ABORT("short cord should usually be a string");
-    if (strcmp(y, "babab") != 0) ABORT("bad CORD_substr result");
-    y = CORD_from_fn(id_cord_fn, 0, 13);
-    i = 0;
-    CORD_set_pos(p, y, i);
-    while(CORD_pos_valid(p)) {
-        c = CORD_pos_fetch(p);
-       	if(c != i) ABORT("Traversal of function node failed");
-	CORD_next(p); i++;
-    }
-    if (i != 13) ABORT("Bad apparent length for function node");
-}
-
-void test_extras()
-{
-#   if defined(__OS2__) || defined(__DJGPP__)
-#	define FNAME1 "tmp1"
-#	define FNAME2 "tmp2"
-#   elif defined(AMIGA)
-#	define FNAME1 "T:tmp1"
-#	define FNAME2 "T:tmp2"
-#   else
-#	define FNAME1 "/tmp/cord_test"
-#	define FNAME2 "/tmp/cord_test2"
-#   endif
-    register int i;
-    CORD y = "abcdefghijklmnopqrstuvwxyz0123456789";
-    CORD x = "{}";
-    CORD w, z;
-    FILE *f;
-    FILE *f1a, *f1b, *f2;
-    
-    w = CORD_cat(CORD_cat(y,y),y);
-    z = CORD_catn(3,y,y,y);
-    if (CORD_cmp(w,z) != 0) ABORT("CORD_catn comparison wrong");
-    for (i = 1; i < 100; i++) {
-        x = CORD_cat(x, y);
-    }
-    z = CORD_balance(x);
-    if (CORD_cmp(x,z) != 0) ABORT("balanced string comparison wrong");
-    if (CORD_cmp(x,CORD_cat(z, CORD_nul(13))) >= 0) ABORT("comparison 2");
-    if (CORD_cmp(CORD_cat(x, CORD_nul(13)), z) <= 0) ABORT("comparison 3");
-    if (CORD_cmp(x,CORD_cat(z, "13")) >= 0) ABORT("comparison 4");
-    if ((f = fopen(FNAME1, "w")) == 0) ABORT("open failed");
-    if (CORD_put(z,f) == EOF) ABORT("CORD_put failed");
-    if (fclose(f) == EOF) ABORT("fclose failed");
-    w = CORD_from_file(f1a = fopen(FNAME1, "rb"));
-    if (CORD_len(w) != CORD_len(z)) ABORT("file length wrong");
-    if (CORD_cmp(w,z) != 0) ABORT("file comparison wrong");
-    if (CORD_cmp(CORD_substr(w, 50*36+2, 36), y) != 0)
-    	ABORT("file substr wrong");
-    z = CORD_from_file_lazy(f1b = fopen(FNAME1, "rb"));
-    if (CORD_cmp(w,z) != 0) ABORT("File conversions differ");
-    if (CORD_chr(w, 0, '9') != 37) ABORT("CORD_chr failed 1");
-    if (CORD_chr(w, 3, 'a') != 38) ABORT("CORD_chr failed 2");
-    if (CORD_rchr(w, CORD_len(w) - 1, '}') != 1) ABORT("CORD_rchr failed");
-    x = y;
-    for (i = 1; i < 14; i++) {
-        x = CORD_cat(x,x);
-    }
-    if ((f = fopen(FNAME2, "w")) == 0) ABORT("2nd open failed");
-#   ifdef __DJGPP__
-      /* FIXME: DJGPP workaround.  Why does this help? */
-      if (fflush(f) != 0) ABORT("fflush failed");
-#   endif
-    if (CORD_put(x,f) == EOF) ABORT("CORD_put failed");
-    if (fclose(f) == EOF) ABORT("fclose failed");
-    w = CORD_from_file(f2 = fopen(FNAME2, "rb"));
-    if (CORD_len(w) != CORD_len(x)) ABORT("file length wrong");
-    if (CORD_cmp(w,x) != 0) ABORT("file comparison wrong");
-    if (CORD_cmp(CORD_substr(w, 1000*36, 36), y) != 0)
-    	ABORT("file substr wrong");
-    if (strcmp(CORD_to_char_star(CORD_substr(w, 1000*36, 36)), y) != 0)
-    	ABORT("char * file substr wrong");
-    if (strcmp(CORD_substr(w, 1000*36, 2), "ab") != 0)
-    	ABORT("short file substr wrong");
-    if (CORD_str(x,1,"9a") != 35) ABORT("CORD_str failed 1");
-    if (CORD_str(x,0,"9abcdefghijk") != 35) ABORT("CORD_str failed 2");
-    if (CORD_str(x,0,"9abcdefghijx") != CORD_NOT_FOUND)
-    	ABORT("CORD_str failed 3");
-    if (CORD_str(x,0,"9>") != CORD_NOT_FOUND) ABORT("CORD_str failed 4");
-    if (remove(FNAME1) != 0) {
-    	/* On some systems, e.g. OS2, this may fail if f1 is still open. */
-    	if ((fclose(f1a) == EOF) & (fclose(f1b) == EOF))
-    		ABORT("fclose(f1) failed");
-    	if (remove(FNAME1) != 0) ABORT("remove 1 failed");
-    }
-    if (remove(FNAME2) != 0) {
-    	if (fclose(f2) == EOF) ABORT("fclose(f2) failed");
-    	if (remove(FNAME2) != 0) ABORT("remove 2 failed");
-    }
-}
-
-void test_printf()
-{
-    CORD result;
-    char result2[200];
-    long l;
-    short s;
-    CORD x;
-    
-    if (CORD_sprintf(&result, "%7.2f%ln", 3.14159F, &l) != 7)
-    	ABORT("CORD_sprintf failed 1");
-    if (CORD_cmp(result, "   3.14") != 0)ABORT("CORD_sprintf goofed 1");
-    if (l != 7) ABORT("CORD_sprintf goofed 2");
-    if (CORD_sprintf(&result, "%-7.2s%hn%c%s", "abcd", &s, 'x', "yz") != 10)
-    	ABORT("CORD_sprintf failed 2");
-    if (CORD_cmp(result, "ab     xyz") != 0)ABORT("CORD_sprintf goofed 3");
-    if (s != 7) ABORT("CORD_sprintf goofed 4");
-    x = "abcdefghij";
-    x = CORD_cat(x,x);
-    x = CORD_cat(x,x);
-    x = CORD_cat(x,x);
-    if (CORD_sprintf(&result, "->%-120.78r!\n", x) != 124)
-    	ABORT("CORD_sprintf failed 3");
-    (void) sprintf(result2, "->%-120.78s!\n", CORD_to_char_star(x));
-    if (CORD_cmp(result, result2) != 0)ABORT("CORD_sprintf goofed 5");
-}
-
-int main()
-{
-#   ifdef THINK_C
-        printf("cordtest:\n");
-#   endif
-    GC_INIT();
-    test_basics();
-    test_extras();
-    test_printf();
-    CORD_fprintf(stderr, "SUCCEEDED\n");
-    return(0);
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cordxtra.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cordxtra.c
deleted file mode 100755
index 79497da..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/cordxtra.c
+++ /dev/null
@@ -1,621 +0,0 @@
-/*
- * Copyright (c) 1993-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Author: Hans-J. Boehm (boehm at parc.xerox.com)
- */
-/*
- * These are functions on cords that do not need to understand their
- * implementation.  They serve also serve as example client code for
- * cord_basics.
- */
-/* Boehm, December 8, 1995 1:53 pm PST */
-# include <stdio.h>
-# include <string.h>
-# include <stdlib.h>
-# include <stdarg.h>
-# include "cord.h"
-# include "ec.h"
-# define I_HIDE_POINTERS	/* So we get access to allocation lock.	*/
-				/* We use this for lazy file reading, 	*/
-				/* so that we remain independent 	*/
-				/* of the threads primitives.		*/
-# include "gc.h"
-
-/* For now we assume that pointer reads and writes are atomic, 	*/
-/* i.e. another thread always sees the state before or after	*/
-/* a write.  This might be false on a Motorola M68K with	*/
-/* pointers that are not 32-bit aligned.  But there probably	*/
-/* aren't too many threads packages running on those.		*/
-# define ATOMIC_WRITE(x,y) (x) = (y)
-# define ATOMIC_READ(x) (*(x))
-
-/* The standard says these are in stdio.h, but they aren't always: */
-# ifndef SEEK_SET
-#   define SEEK_SET 0
-# endif
-# ifndef SEEK_END
-#   define SEEK_END 2
-# endif
-
-# define BUFSZ 2048	/* Size of stack allocated buffers when		*/
-			/* we want large buffers.			*/
-
-typedef void (* oom_fn)(void);
-
-# define OUT_OF_MEMORY {  if (CORD_oom_fn != (oom_fn) 0) (*CORD_oom_fn)(); \
-			  ABORT("Out of memory\n"); }
-# define ABORT(msg) { fprintf(stderr, "%s\n", msg); abort(); }
-
-CORD CORD_cat_char(CORD x, char c)
-{
-    register char * string;
-    
-    if (c == '\0') return(CORD_cat(x, CORD_nul(1)));
-    string = GC_MALLOC_ATOMIC(2);
-    if (string == 0) OUT_OF_MEMORY;
-    string[0] = c;
-    string[1] = '\0';
-    return(CORD_cat_char_star(x, string, 1));
-}
-
-CORD CORD_catn(int nargs, ...)
-{
-    register CORD result = CORD_EMPTY;
-    va_list args;
-    register int i;
-
-    va_start(args, nargs);
-    for (i = 0; i < nargs; i++) {
-        register CORD next = va_arg(args, CORD);
-        result = CORD_cat(result, next);
-    }
-    va_end(args);
-    return(result);
-}
-
-typedef struct {
-	size_t len;
-	size_t count;
-	char * buf;
-} CORD_fill_data;
-
-int CORD_fill_proc(char c, void * client_data)
-{
-    register CORD_fill_data * d = (CORD_fill_data *)client_data;
-    register size_t count = d -> count;
-    
-    (d -> buf)[count] = c;
-    d -> count = ++count;
-    if (count >= d -> len) {
-    	return(1);
-    } else {
-    	return(0);
-    }
-}
-
-int CORD_batched_fill_proc(const char * s, void * client_data)
-{
-    register CORD_fill_data * d = (CORD_fill_data *)client_data;
-    register size_t count = d -> count;
-    register size_t max = d -> len;
-    register char * buf = d -> buf;
-    register const char * t = s;
-    
-    while((buf[count] = *t++) != '\0') {
-        count++;
-        if (count >= max) {
-            d -> count = count;
-            return(1);
-        }
-    }
-    d -> count = count;
-    return(0);
-}
-
-/* Fill buf with len characters starting at i.  			*/
-/* Assumes len characters are available.				*/ 
-void CORD_fill_buf(CORD x, size_t i, size_t len, char * buf)
-{
-    CORD_fill_data fd;
-    
-    fd.len = len;
-    fd.buf = buf;
-    fd.count = 0;
-    (void)CORD_iter5(x, i, CORD_fill_proc, CORD_batched_fill_proc, &fd);
-}
-
-int CORD_cmp(CORD x, CORD y)
-{
-    CORD_pos xpos;
-    CORD_pos ypos;
-    register size_t avail, yavail;
-    
-    if (y == CORD_EMPTY) return(x != CORD_EMPTY);
-    if (x == CORD_EMPTY) return(-1);
-    if (CORD_IS_STRING(y) && CORD_IS_STRING(x)) return(strcmp(x,y));
-    CORD_set_pos(xpos, x, 0);
-    CORD_set_pos(ypos, y, 0);
-    for(;;) {
-        if (!CORD_pos_valid(xpos)) {
-            if (CORD_pos_valid(ypos)) {
-            	return(-1);
-            } else {
-                return(0);
-            }
-        }
-        if (!CORD_pos_valid(ypos)) {
-            return(1);
-        }
-        if ((avail = CORD_pos_chars_left(xpos)) <= 0
-            || (yavail = CORD_pos_chars_left(ypos)) <= 0) {
-            register char xcurrent = CORD_pos_fetch(xpos);
-            register char ycurrent = CORD_pos_fetch(ypos);
-            if (xcurrent != ycurrent) return(xcurrent - ycurrent);
-            CORD_next(xpos);
-            CORD_next(ypos);
-        } else {
-            /* process as many characters as we can	*/
-            register int result;
-            
-            if (avail > yavail) avail = yavail;
-            result = strncmp(CORD_pos_cur_char_addr(xpos),
-            		     CORD_pos_cur_char_addr(ypos), avail);
-            if (result != 0) return(result);
-            CORD_pos_advance(xpos, avail);
-            CORD_pos_advance(ypos, avail);
-        }
-    }
-}
-
-int CORD_ncmp(CORD x, size_t x_start, CORD y, size_t y_start, size_t len)
-{
-    CORD_pos xpos;
-    CORD_pos ypos;
-    register size_t count;
-    register long avail, yavail;
-    
-    CORD_set_pos(xpos, x, x_start);
-    CORD_set_pos(ypos, y, y_start);
-    for(count = 0; count < len;) {
-        if (!CORD_pos_valid(xpos)) {
-            if (CORD_pos_valid(ypos)) {
-            	return(-1);
-            } else {
-                return(0);
-            }
-        }
-        if (!CORD_pos_valid(ypos)) {
-            return(1);
-        }
-        if ((avail = CORD_pos_chars_left(xpos)) <= 0
-            || (yavail = CORD_pos_chars_left(ypos)) <= 0) {
-            register char xcurrent = CORD_pos_fetch(xpos);
-            register char ycurrent = CORD_pos_fetch(ypos);
-            if (xcurrent != ycurrent) return(xcurrent - ycurrent);
-            CORD_next(xpos);
-            CORD_next(ypos);
-            count++;
-        } else {
-            /* process as many characters as we can	*/
-            register int result;
-            
-            if (avail > yavail) avail = yavail;
-            count += avail;
-            if (count > len) avail -= (count - len);
-            result = strncmp(CORD_pos_cur_char_addr(xpos),
-            		     CORD_pos_cur_char_addr(ypos), (size_t)avail);
-            if (result != 0) return(result);
-            CORD_pos_advance(xpos, (size_t)avail);
-            CORD_pos_advance(ypos, (size_t)avail);
-        }
-    }
-    return(0);
-}
-
-char * CORD_to_char_star(CORD x)
-{
-    register size_t len = CORD_len(x);
-    char * result = GC_MALLOC_ATOMIC(len + 1);
-    
-    if (result == 0) OUT_OF_MEMORY;
-    CORD_fill_buf(x, 0, len, result);
-    result[len] = '\0';
-    return(result);
-}
-
-CORD CORD_from_char_star(const char *s)
-{
-    char * result;
-    size_t len = strlen(s);
-
-    if (0 == len) return(CORD_EMPTY);
-    result = GC_MALLOC_ATOMIC(len + 1);
-    if (result == 0) OUT_OF_MEMORY;
-    memcpy(result, s, len+1);
-    return(result);
-}
-
-const char * CORD_to_const_char_star(CORD x)
-{
-    if (x == 0) return("");
-    if (CORD_IS_STRING(x)) return((const char *)x);
-    return(CORD_to_char_star(x));
-}
-
-char CORD_fetch(CORD x, size_t i)
-{
-    CORD_pos xpos;
-    
-    CORD_set_pos(xpos, x, i);
-    if (!CORD_pos_valid(xpos)) ABORT("bad index?");
-    return(CORD_pos_fetch(xpos));
-}
-
-
-int CORD_put_proc(char c, void * client_data)
-{
-    register FILE * f = (FILE *)client_data;
-    
-    return(putc(c, f) == EOF);
-}
-
-int CORD_batched_put_proc(const char * s, void * client_data)
-{
-    register FILE * f = (FILE *)client_data;
-    
-    return(fputs(s, f) == EOF);
-}
-    
-
-int CORD_put(CORD x, FILE * f)
-{
-    if (CORD_iter5(x, 0, CORD_put_proc, CORD_batched_put_proc, f)) {
-        return(EOF);
-    } else {
-    	return(1);
-    }
-}
-
-typedef struct {
-    size_t pos;		/* Current position in the cord */
-    char target;	/* Character we're looking for	*/
-} chr_data;
-
-int CORD_chr_proc(char c, void * client_data)
-{
-    register chr_data * d = (chr_data *)client_data;
-    
-    if (c == d -> target) return(1);
-    (d -> pos) ++;
-    return(0);
-}
-
-int CORD_rchr_proc(char c, void * client_data)
-{
-    register chr_data * d = (chr_data *)client_data;
-    
-    if (c == d -> target) return(1);
-    (d -> pos) --;
-    return(0);
-}
-
-int CORD_batched_chr_proc(const char *s, void * client_data)
-{
-    register chr_data * d = (chr_data *)client_data;
-    register char * occ = strchr(s, d -> target);
-    
-    if (occ == 0) {
-      	d -> pos += strlen(s);
-      	return(0);
-    } else {
-    	d -> pos += occ - s;
-    	return(1);
-    }
-}
-
-size_t CORD_chr(CORD x, size_t i, int c)
-{
-    chr_data d;
-    
-    d.pos = i;
-    d.target = c;
-    if (CORD_iter5(x, i, CORD_chr_proc, CORD_batched_chr_proc, &d)) {
-        return(d.pos);
-    } else {
-    	return(CORD_NOT_FOUND);
-    }
-}
-
-size_t CORD_rchr(CORD x, size_t i, int c)
-{
-    chr_data d;
-    
-    d.pos = i;
-    d.target = c;
-    if (CORD_riter4(x, i, CORD_rchr_proc, &d)) {
-        return(d.pos);
-    } else {
-    	return(CORD_NOT_FOUND);
-    }
-}
-
-/* Find the first occurrence of s in x at position start or later.	*/
-/* This uses an asymptotically poor algorithm, which should typically 	*/
-/* perform acceptably.  We compare the first few characters directly,	*/
-/* and call CORD_ncmp whenever there is a partial match.		*/
-/* This has the advantage that we allocate very little, or not at all.	*/
-/* It's very fast if there are few close misses.			*/
-size_t CORD_str(CORD x, size_t start, CORD s)
-{
-    CORD_pos xpos;
-    size_t xlen = CORD_len(x);
-    size_t slen;
-    register size_t start_len;
-    const char * s_start;
-    unsigned long s_buf = 0;	/* The first few characters of s	*/
-    unsigned long x_buf = 0;	/* Start of candidate substring.	*/
-    				/* Initialized only to make compilers	*/
-    				/* happy.				*/
-    unsigned long mask = 0;
-    register size_t i;
-    register size_t match_pos;
-    
-    if (s == CORD_EMPTY) return(start);
-    if (CORD_IS_STRING(s)) {
-        s_start = s;
-        slen = strlen(s);
-    } else {
-        s_start = CORD_to_char_star(CORD_substr(s, 0, sizeof(unsigned long)));
-        slen = CORD_len(s);
-    }
-    if (xlen < start || xlen - start < slen) return(CORD_NOT_FOUND);
-    start_len = slen;
-    if (start_len > sizeof(unsigned long)) start_len = sizeof(unsigned long);
-    CORD_set_pos(xpos, x, start);
-    for (i = 0; i < start_len; i++) {
-        mask <<= 8;
-        mask |= 0xff;
-        s_buf <<= 8;
-        s_buf |= (unsigned char)s_start[i];
-        x_buf <<= 8;
-        x_buf |= (unsigned char)CORD_pos_fetch(xpos);
-        CORD_next(xpos);
-    }
-    for (match_pos = start; ; match_pos++) {
-    	if ((x_buf & mask) == s_buf) {
-    	    if (slen == start_len ||
-    	     	CORD_ncmp(x, match_pos + start_len,
-    	     	 	  s, start_len, slen - start_len) == 0) {
-    	        return(match_pos);
-    	    }
-    	}
-	if ( match_pos == xlen - slen ) {
-	    return(CORD_NOT_FOUND);
-	}
-    	x_buf <<= 8;
-        x_buf |= (unsigned char)CORD_pos_fetch(xpos);
-        CORD_next(xpos);
-    }
-}
-
-void CORD_ec_flush_buf(CORD_ec x)
-{
-    register size_t len = x[0].ec_bufptr - x[0].ec_buf;
-    char * s;
-
-    if (len == 0) return;
-    s = GC_MALLOC_ATOMIC(len+1);
-    memcpy(s, x[0].ec_buf, len);
-    s[len] = '\0';
-    x[0].ec_cord = CORD_cat_char_star(x[0].ec_cord, s, len);
-    x[0].ec_bufptr = x[0].ec_buf;
-}
-
-void CORD_ec_append_cord(CORD_ec x, CORD s)
-{
-    CORD_ec_flush_buf(x);
-    x[0].ec_cord = CORD_cat(x[0].ec_cord, s);
-}
-
-/*ARGSUSED*/
-char CORD_nul_func(size_t i, void * client_data)
-{
-    return((char)(unsigned long)client_data);
-}
-
-
-CORD CORD_chars(char c, size_t i)
-{
-    return(CORD_from_fn(CORD_nul_func, (void *)(unsigned long)c, i));
-}
-
-CORD CORD_from_file_eager(FILE * f)
-{
-    register int c;
-    CORD_ec ecord;
-    
-    CORD_ec_init(ecord);
-    for(;;) {
-        c = getc(f);
-        if (c == 0) {
-          /* Append the right number of NULs	*/
-          /* Note that any string of NULs is rpresented in 4 words,	*/
-          /* independent of its length.					*/
-            register size_t count = 1;
-            
-            CORD_ec_flush_buf(ecord);
-            while ((c = getc(f)) == 0) count++;
-            ecord[0].ec_cord = CORD_cat(ecord[0].ec_cord, CORD_nul(count));
-        }
-        if (c == EOF) break;
-        CORD_ec_append(ecord, c);
-    }
-    (void) fclose(f);
-    return(CORD_balance(CORD_ec_to_cord(ecord)));
-}
-
-/* The state maintained for a lazily read file consists primarily	*/
-/* of a large direct-mapped cache of previously read values.		*/
-/* We could rely more on stdio buffering.  That would have 2		*/
-/* disadvantages:							*/
-/*  	1) Empirically, not all fseek implementations preserve the	*/
-/*	   buffer whenever they could.					*/
-/*	2) It would fail if 2 different sections of a long cord		*/
-/*	   were being read alternately.					*/
-/* We do use the stdio buffer for read ahead.				*/
-/* To guarantee thread safety in the presence of atomic pointer		*/
-/* writes, cache lines are always replaced, and never modified in	*/
-/* place.								*/
-
-# define LOG_CACHE_SZ 14
-# define CACHE_SZ (1 << LOG_CACHE_SZ)
-# define LOG_LINE_SZ 9
-# define LINE_SZ (1 << LOG_LINE_SZ)
-
-typedef struct {
-    size_t tag;
-    char data[LINE_SZ];
-    	/* data[i%LINE_SZ] = ith char in file if tag = i/LINE_SZ	*/
-} cache_line;
-
-typedef struct {
-    FILE * lf_file;
-    size_t lf_current;	/* Current file pointer value */
-    cache_line * volatile lf_cache[CACHE_SZ/LINE_SZ];
-} lf_state;
-
-# define MOD_CACHE_SZ(n) ((n) & (CACHE_SZ - 1))
-# define DIV_CACHE_SZ(n) ((n) >> LOG_CACHE_SZ)
-# define MOD_LINE_SZ(n) ((n) & (LINE_SZ - 1))
-# define DIV_LINE_SZ(n) ((n) >> LOG_LINE_SZ)
-# define LINE_START(n) ((n) & ~(LINE_SZ - 1))
-
-typedef struct {
-    lf_state * state;
-    size_t file_pos;	/* Position of needed character. */
-    cache_line * new_cache;
-} refill_data;
-
-/* Executed with allocation lock. */
-static char refill_cache(client_data)
-refill_data * client_data;
-{
-    register lf_state * state = client_data -> state;
-    register size_t file_pos = client_data -> file_pos;
-    FILE *f = state -> lf_file;
-    size_t line_start = LINE_START(file_pos);
-    size_t line_no = DIV_LINE_SZ(MOD_CACHE_SZ(file_pos));
-    cache_line * new_cache = client_data -> new_cache;
-    
-    if (line_start != state -> lf_current
-        && fseek(f, line_start, SEEK_SET) != 0) {
-    	    ABORT("fseek failed");
-    }
-    if (fread(new_cache -> data, sizeof(char), LINE_SZ, f)
-    	<= file_pos - line_start) {
-    	ABORT("fread failed");
-    }
-    new_cache -> tag = DIV_LINE_SZ(file_pos);
-    /* Store barrier goes here. */
-    ATOMIC_WRITE(state -> lf_cache[line_no], new_cache);
-    state -> lf_current = line_start + LINE_SZ;
-    return(new_cache->data[MOD_LINE_SZ(file_pos)]);
-}
-
-char CORD_lf_func(size_t i, void * client_data)
-{
-    register lf_state * state = (lf_state *)client_data;
-    register cache_line * volatile * cl_addr =
-		&(state -> lf_cache[DIV_LINE_SZ(MOD_CACHE_SZ(i))]);
-    register cache_line * cl = (cache_line *)ATOMIC_READ(cl_addr);
-    
-    if (cl == 0 || cl -> tag != DIV_LINE_SZ(i)) {
-    	/* Cache miss */
-    	refill_data rd;
-    	
-        rd.state = state;
-        rd.file_pos =  i;
-        rd.new_cache = GC_NEW_ATOMIC(cache_line);
-        if (rd.new_cache == 0) OUT_OF_MEMORY;
-        return((char)(GC_word)
-        	  GC_call_with_alloc_lock((GC_fn_type) refill_cache, &rd));
-    }
-    return(cl -> data[MOD_LINE_SZ(i)]);
-}    
-
-/*ARGSUSED*/
-void CORD_lf_close_proc(void * obj, void * client_data)  
-{
-    if (fclose(((lf_state *)obj) -> lf_file) != 0) {
-    	ABORT("CORD_lf_close_proc: fclose failed");
-    }
-}			
-
-CORD CORD_from_file_lazy_inner(FILE * f, size_t len)
-{
-    register lf_state * state = GC_NEW(lf_state);
-    register int i;
-    
-    if (state == 0) OUT_OF_MEMORY;
-    if (len != 0) {
-	/* Dummy read to force buffer allocation.  	*/
-	/* This greatly increases the probability	*/
-	/* of avoiding deadlock if buffer allocation	*/
-	/* is redirected to GC_malloc and the		*/
-	/* world is multithreaded.			*/
-	char buf[1];
-
-	(void) fread(buf, 1, 1, f); 
-	rewind(f);
-    }
-    state -> lf_file = f;
-    for (i = 0; i < CACHE_SZ/LINE_SZ; i++) {
-        state -> lf_cache[i] = 0;
-    }
-    state -> lf_current = 0;
-    GC_REGISTER_FINALIZER(state, CORD_lf_close_proc, 0, 0, 0);
-    return(CORD_from_fn(CORD_lf_func, state, len));
-}
-
-CORD CORD_from_file_lazy(FILE * f)
-{
-    register long len;
-    
-    if (fseek(f, 0l, SEEK_END) != 0) {
-        ABORT("Bad fd argument - fseek failed");
-    }
-    if ((len = ftell(f)) < 0) {
-        ABORT("Bad fd argument - ftell failed");
-    }
-    rewind(f);
-    return(CORD_from_file_lazy_inner(f, (size_t)len));
-}
-
-# define LAZY_THRESHOLD (128*1024 + 1)
-
-CORD CORD_from_file(FILE * f)
-{
-    register long len;
-    
-    if (fseek(f, 0l, SEEK_END) != 0) {
-        ABORT("Bad fd argument - fseek failed");
-    }
-    if ((len = ftell(f)) < 0) {
-        ABORT("Bad fd argument - ftell failed");
-    }
-    rewind(f);
-    if (len < LAZY_THRESHOLD) {
-        return(CORD_from_file_eager(f));
-    } else {
-        return(CORD_from_file_lazy_inner(f, (size_t)len));
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de.c
deleted file mode 100755
index f8dad38..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de.c
+++ /dev/null
@@ -1,603 +0,0 @@
-/*
- * Copyright (c) 1993-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Author: Hans-J. Boehm (boehm at parc.xerox.com)
- */
-/*
- * A really simple-minded text editor based on cords.
- * Things it does right:
- * 	No size bounds.
- *	Inbounded undo.
- *	Shouldn't crash no matter what file you invoke it on (e.g. /vmunix)
- *		(Make sure /vmunix is not writable before you try this.)
- *	Scrolls horizontally.
- * Things it does wrong:
- *	It doesn't handle tabs reasonably (use "expand" first).
- *	The command set is MUCH too small.
- *	The redisplay algorithm doesn't let curses do the scrolling.
- *	The rule for moving the window over the file is suboptimal.
- */
-/* Boehm, February 6, 1995 12:27 pm PST */
-
-/* Boehm, May 19, 1994 2:20 pm PDT */
-#include <stdio.h>
-#include "gc.h"
-#include "cord.h"
-
-#ifdef THINK_C
-#define MACINTOSH
-#include <ctype.h>
-#endif
-
-#if defined(__BORLANDC__) && !defined(WIN32)
-    /* If this is DOS or win16, we'll fail anyway.	*/
-    /* Might as well assume win32.			*/
-#   define WIN32
-#endif
-
-#if defined(WIN32)
-#  include <windows.h>
-#  include "de_win.h"
-#elif defined(MACINTOSH)
-#	include <console.h>
-/* curses emulation. */
-#	define initscr()
-#	define endwin()
-#	define nonl()
-#	define noecho() csetmode(C_NOECHO, stdout)
-#	define cbreak() csetmode(C_CBREAK, stdout)
-#	define refresh()
-#	define addch(c) putchar(c)
-#	define standout() cinverse(1, stdout)
-#	define standend() cinverse(0, stdout)
-#	define move(line,col) cgotoxy(col + 1, line + 1, stdout)
-#	define clrtoeol() ccleol(stdout)
-#	define de_error(s) { fprintf(stderr, s); getchar(); }
-#	define LINES 25
-#	define COLS 80
-#else
-#  include <curses.h>
-#  define de_error(s) { fprintf(stderr, s); sleep(2); }
-#endif
-#include "de_cmds.h"
-
-/* List of line number to position mappings, in descending order. */
-/* There may be holes.						  */
-typedef struct LineMapRep {
-    int line;
-    size_t pos;
-    struct LineMapRep * previous;
-} * line_map;
-
-/* List of file versions, one per edit operation */
-typedef struct HistoryRep {
-    CORD file_contents;
-    struct HistoryRep * previous;
-    line_map map;	/* Invalid for first record "now" */
-} * history;
-
-history now = 0;
-CORD current;		/* == now -> file_contents.	*/
-size_t current_len;	/* Current file length.		*/
-line_map current_map = 0;	/* Current line no. to pos. map	 */
-size_t current_map_size = 0;	/* Number of current_map entries.	*/
-				/* Not always accurate, but reset	*/
-				/* by prune_map.			*/
-# define MAX_MAP_SIZE 3000
-
-/* Current display position */
-int dis_line = 0;
-int dis_col = 0;
-
-# define ALL -1
-# define NONE - 2
-int need_redisplay = 0;	/* Line that needs to be redisplayed.	*/
-
-
-/* Current cursor position. Always within file. */
-int line = 0; 
-int col = 0;
-size_t file_pos = 0;	/* Character position corresponding to cursor.	*/
-
-/* Invalidate line map for lines > i */
-void invalidate_map(int i)
-{
-    while(current_map -> line > i) {
-        current_map = current_map -> previous;
-        current_map_size--;
-    }
-}
-
-/* Reduce the number of map entries to save space for huge files. */
-/* This also affects maps in histories.				  */
-void prune_map()
-{
-    line_map map = current_map;
-    int start_line = map -> line;
-    
-    current_map_size = 0;
-    for(; map != 0; map = map -> previous) {
-    	current_map_size++;
-    	if (map -> line < start_line - LINES && map -> previous != 0) {
-    	    map -> previous = map -> previous -> previous;
-    	}
-    }
-}
-/* Add mapping entry */
-void add_map(int line, size_t pos)
-{
-    line_map new_map = GC_NEW(struct LineMapRep);
-    
-    if (current_map_size >= MAX_MAP_SIZE) prune_map();
-    new_map -> line = line;
-    new_map -> pos = pos;
-    new_map -> previous = current_map;
-    current_map = new_map;
-    current_map_size++;
-}
-
-
-
-/* Return position of column *c of ith line in   */
-/* current file. Adjust *c to be within the line.*/
-/* A 0 pointer is taken as 0 column.		 */
-/* Returns CORD_NOT_FOUND if i is too big.	 */
-/* Assumes i > dis_line.			 */
-size_t line_pos(int i, int *c)
-{
-    int j;
-    size_t cur;
-    size_t next;
-    line_map map = current_map;
-    
-    while (map -> line > i) map = map -> previous;
-    if (map -> line < i - 2) /* rebuild */ invalidate_map(i);
-    for (j = map -> line, cur = map -> pos; j < i;) {
-	cur = CORD_chr(current, cur, '\n');
-        if (cur == current_len-1) return(CORD_NOT_FOUND);
-        cur++;
-        if (++j > current_map -> line) add_map(j, cur);
-    }
-    if (c != 0) {
-        next = CORD_chr(current, cur, '\n');
-        if (next == CORD_NOT_FOUND) next = current_len - 1;
-        if (next < cur + *c) {
-            *c = next - cur;
-        }
-        cur += *c;
-    }
-    return(cur);
-}
-
-void add_hist(CORD s)
-{
-    history new_file = GC_NEW(struct HistoryRep);
-    
-    new_file -> file_contents = current = s;
-    current_len = CORD_len(s);
-    new_file -> previous = now;
-    if (now != 0) now -> map = current_map;
-    now = new_file;
-}
-
-void del_hist(void)
-{
-    now = now -> previous;
-    current = now -> file_contents;
-    current_map = now -> map;
-    current_len = CORD_len(current);
-}
-
-/* Current screen_contents; a dynamically allocated array of CORDs	*/
-CORD * screen = 0;
-int screen_size = 0;
-
-# ifndef WIN32
-/* Replace a line in the curses stdscr.	All control characters are	*/
-/* displayed as upper case characters in standout mode.  This isn't	*/
-/* terribly appropriate for tabs.									*/
-void replace_line(int i, CORD s)
-{
-    register int c;
-    CORD_pos p;
-    size_t len = CORD_len(s);
-    
-    if (screen == 0 || LINES > screen_size) {
-        screen_size = LINES;
-    	screen = (CORD *)GC_MALLOC(screen_size * sizeof(CORD));
-    }
-#   if !defined(MACINTOSH)
-        /* A gross workaround for an apparent curses bug: */
-        if (i == LINES-1 && len == COLS) {
-            s = CORD_substr(s, 0, CORD_len(s) - 1);
-        }
-#   endif
-    if (CORD_cmp(screen[i], s) != 0) {
-        move(i, 0); clrtoeol(); move(i,0);
-
-        CORD_FOR (p, s) {
-            c = CORD_pos_fetch(p) & 0x7f;
-            if (iscntrl(c)) {
-            	standout(); addch(c + 0x40); standend();
-            } else {
-    	        addch(c);
-    	    }
-    	}
-    	screen[i] = s;
-    }
-}
-#else
-# define replace_line(i,s) invalidate_line(i)
-#endif
-
-/* Return up to COLS characters of the line of s starting at pos,	*/
-/* returning only characters after the given column.			*/
-CORD retrieve_line(CORD s, size_t pos, unsigned column)
-{
-    CORD candidate = CORD_substr(s, pos, column + COLS);
-    			/* avoids scanning very long lines	*/
-    int eol = CORD_chr(candidate, 0, '\n');
-    int len;
-    
-    if (eol == CORD_NOT_FOUND) eol = CORD_len(candidate);
-    len = (int)eol - (int)column;
-    if (len < 0) len = 0;
-    return(CORD_substr(s, pos + column, len));
-}
-
-# ifdef WIN32
-#   define refresh();
-
-    CORD retrieve_screen_line(int i)
-    {
-    	register size_t pos;
-    	
-    	invalidate_map(dis_line + LINES);	/* Prune search */
-    	pos = line_pos(dis_line + i, 0);
-    	if (pos == CORD_NOT_FOUND) return(CORD_EMPTY);
-    	return(retrieve_line(current, pos, dis_col));
-    }
-# endif
-
-/* Display the visible section of the current file	 */
-void redisplay(void)
-{
-    register int i;
-    
-    invalidate_map(dis_line + LINES);	/* Prune search */
-    for (i = 0; i < LINES; i++) {
-        if (need_redisplay == ALL || need_redisplay == i) {
-            register size_t pos = line_pos(dis_line + i, 0);
-            
-            if (pos == CORD_NOT_FOUND) break;
-            replace_line(i, retrieve_line(current, pos, dis_col));
-            if (need_redisplay == i) goto done;
-        }
-    }
-    for (; i < LINES; i++) replace_line(i, CORD_EMPTY);
-done:
-    refresh();
-    need_redisplay = NONE;
-}
-
-int dis_granularity;
-
-/* Update dis_line, dis_col, and dis_pos to make cursor visible.	*/
-/* Assumes line, col, dis_line, dis_pos are in bounds.			*/
-void normalize_display()
-{
-    int old_line = dis_line;
-    int old_col = dis_col;
-    
-    dis_granularity = 1;
-    if (LINES > 15 && COLS > 15) dis_granularity = 2;
-    while (dis_line > line) dis_line -= dis_granularity;
-    while (dis_col > col) dis_col -= dis_granularity;
-    while (line >= dis_line + LINES) dis_line += dis_granularity;
-    while (col >= dis_col + COLS) dis_col += dis_granularity;
-    if (old_line != dis_line || old_col != dis_col) {
-        need_redisplay = ALL;
-    }
-}
-
-# if defined(WIN32)
-# elif defined(MACINTOSH)
-#		define move_cursor(x,y) cgotoxy(x + 1, y + 1, stdout)
-# else
-#		define move_cursor(x,y) move(y,x)
-# endif
-
-/* Adjust display so that cursor is visible; move cursor into position	*/
-/* Update screen if necessary.						*/
-void fix_cursor(void)
-{
-    normalize_display();
-    if (need_redisplay != NONE) redisplay();
-    move_cursor(col - dis_col, line - dis_line);
-    refresh();
-#   ifndef WIN32
-      fflush(stdout);
-#   endif
-}
-
-/* Make sure line, col, and dis_pos are somewhere inside file.	*/
-/* Recompute file_pos.	Assumes dis_pos is accurate or past eof	*/
-void fix_pos()
-{
-    int my_col = col;
-    
-    if ((size_t)line > current_len) line = current_len;
-    file_pos = line_pos(line, &my_col);
-    if (file_pos == CORD_NOT_FOUND) {
-        for (line = current_map -> line, file_pos = current_map -> pos;
-             file_pos < current_len;
-             line++, file_pos = CORD_chr(current, file_pos, '\n') + 1);
-    	line--;
-        file_pos = line_pos(line, &col);
-    } else {
-    	col = my_col;
-    }
-}
-
-#if defined(WIN32)
-#  define beep() Beep(1000 /* Hz */, 300 /* msecs */) 
-#elif defined(MACINTOSH)
-#	define beep() SysBeep(1)
-#else
-/*
- * beep() is part of some curses packages and not others.
- * We try to match the type of the builtin one, if any.
- */
-#ifdef __STDC__
-    int beep(void)
-#else
-    int beep()
-#endif
-{
-    putc('\007', stderr);
-    return(0);
-}
-#endif
-
-#   define NO_PREFIX -1
-#   define BARE_PREFIX -2
-int repeat_count = NO_PREFIX;	/* Current command prefix. */
-
-int locate_mode = 0;			/* Currently between 2 ^Ls	*/
-CORD locate_string = CORD_EMPTY;	/* Current search string.	*/
-
-char * arg_file_name;
-
-#ifdef WIN32
-/* Change the current position to whatever is currently displayed at	*/
-/* the given SCREEN coordinates.					*/
-void set_position(int c, int l)
-{
-    line = l + dis_line;
-    col = c + dis_col;
-    fix_pos();
-    move_cursor(col - dis_col, line - dis_line);
-}
-#endif /* WIN32 */
-
-/* Perform the command associated with character c.  C may be an	*/
-/* integer > 256 denoting a windows command, one of the above control	*/
-/* characters, or another ASCII character to be used as either a 	*/
-/* character to be inserted, a repeat count, or a search string, 	*/
-/* depending on the current state.					*/
-void do_command(int c)
-{
-    int i;
-    int need_fix_pos;
-    FILE * out;
-    
-    if ( c == '\r') c = '\n';
-    if (locate_mode) {
-        size_t new_pos;
-          
-        if (c == LOCATE) {
-              locate_mode = 0;
-              locate_string = CORD_EMPTY;
-              return;
-        }
-        locate_string = CORD_cat_char(locate_string, (char)c);
-        new_pos = CORD_str(current, file_pos - CORD_len(locate_string) + 1,
-          		   locate_string);
-        if (new_pos != CORD_NOT_FOUND) {
-            need_redisplay = ALL;
-            new_pos += CORD_len(locate_string);
-            for (;;) {
-              	file_pos = line_pos(line + 1, 0);
-              	if (file_pos > new_pos) break;
-              	line++;
-            }
-            col = new_pos - line_pos(line, 0);
-            file_pos = new_pos;
-            fix_cursor();
-        } else {
-            locate_string = CORD_substr(locate_string, 0,
-              				CORD_len(locate_string) - 1);
-            beep();
-        }
-        return;
-    }
-    if (c == REPEAT) {
-      	repeat_count = BARE_PREFIX; return;
-    } else if (c < 0x100 && isdigit(c)){
-        if (repeat_count == BARE_PREFIX) {
-          repeat_count = c - '0'; return;
-        } else if (repeat_count != NO_PREFIX) {
-          repeat_count = 10 * repeat_count + c - '0'; return;
-        }
-    }
-    if (repeat_count == NO_PREFIX) repeat_count = 1;
-    if (repeat_count == BARE_PREFIX && (c == UP || c == DOWN)) {
-      	repeat_count = LINES - dis_granularity;
-    }
-    if (repeat_count == BARE_PREFIX) repeat_count = 8;
-    need_fix_pos = 0;
-    for (i = 0; i < repeat_count; i++) {
-        switch(c) {
-          case LOCATE:
-            locate_mode = 1;
-            break;
-          case TOP:
-            line = col = file_pos = 0;
-            break;
-     	  case UP:
-     	    if (line != 0) {
-     	        line--;
-     	        need_fix_pos = 1;
-     	    }
-     	    break;
-     	  case DOWN:
-     	    line++;
-     	    need_fix_pos = 1;
-     	    break;
-     	  case LEFT:
-     	    if (col != 0) {
-     	        col--; file_pos--;
-     	    }
-     	    break;
-     	  case RIGHT:
-     	    if (CORD_fetch(current, file_pos) == '\n') break;
-     	    col++; file_pos++;
-     	    break;
-     	  case UNDO:
-     	    del_hist();
-     	    need_redisplay = ALL; need_fix_pos = 1;
-     	    break;
-     	  case BS:
-     	    if (col == 0) {
-     	        beep();
-     	        break;
-     	    }
-     	    col--; file_pos--;
-     	    /* fall through: */
-     	  case DEL:
-     	    if (file_pos == current_len-1) break;
-     	    	/* Can't delete trailing newline */
-     	    if (CORD_fetch(current, file_pos) == '\n') {
-     	        need_redisplay = ALL; need_fix_pos = 1;
-     	    } else {
-     	        need_redisplay = line - dis_line;
-     	    }
-     	    add_hist(CORD_cat(
-     	    		CORD_substr(current, 0, file_pos),
-     	    		CORD_substr(current, file_pos+1, current_len)));
-     	    invalidate_map(line);
-     	    break;
-     	  case WRITE:
-	    {
-  		CORD name = CORD_cat(CORD_from_char_star(arg_file_name),
-				     ".new");
-
-    	        if ((out = fopen(CORD_to_const_char_star(name), "wb")) == NULL
-  	            || CORD_put(current, out) == EOF) {
-        	    de_error("Write failed\n");
-        	    need_redisplay = ALL;
-                } else {
-                    fclose(out);
-                }
-	    }
-            break;
-     	  default:
-     	    {
-     	        CORD left_part = CORD_substr(current, 0, file_pos);
-     	        CORD right_part = CORD_substr(current, file_pos, current_len);
-     	        
-     	        add_hist(CORD_cat(CORD_cat_char(left_part, (char)c),
-     	        		  right_part));
-     	        invalidate_map(line);
-     	        if (c == '\n') {
-     	            col = 0; line++; file_pos++;
-     	            need_redisplay = ALL;
-     	        } else {
-     	            col++; file_pos++;
-     	            need_redisplay = line - dis_line;
-     	    	}
-     	        break;
-     	    }
-        }
-    }
-    if (need_fix_pos) fix_pos();
-    fix_cursor();
-    repeat_count = NO_PREFIX;
-}
-
-/* OS independent initialization */
-
-void generic_init(void)
-{
-    FILE * f;
-    CORD initial;
-    
-    if ((f = fopen(arg_file_name, "rb")) == NULL) {
-     	initial = "\n";
-    } else {
-        initial = CORD_from_file(f);
-        if (initial == CORD_EMPTY
-            || CORD_fetch(initial, CORD_len(initial)-1) != '\n') {
-            initial = CORD_cat(initial, "\n");
-        }
-    }
-    add_map(0,0);
-    add_hist(initial);
-    now -> map = current_map;
-    now -> previous = now;  /* Can't back up further: beginning of the world */
-    need_redisplay = ALL;
-    fix_cursor();
-}
-
-#ifndef WIN32
-
-main(argc, argv)
-int argc;
-char ** argv;
-{
-    int c;
-
-#if defined(MACINTOSH)
-	console_options.title = "\pDumb Editor";
-	cshow(stdout);
-	argc = ccommand(&argv);
-#endif
-    GC_INIT();
-    
-    if (argc != 2) goto usage;
-    arg_file_name = argv[1];
-    setvbuf(stdout, GC_MALLOC_ATOMIC(8192), _IOFBF, 8192);
-    initscr();
-    noecho(); nonl(); cbreak();
-    generic_init();
-    while ((c = getchar()) != QUIT) {
-		if (c == EOF) break;
-	    do_command(c);
-    }
-done:
-    move(LINES-1, 0);
-    clrtoeol();
-    refresh();
-    nl();
-    echo();
-    endwin();
-    exit(0);
-usage:
-    fprintf(stderr, "Usage: %s file\n", argv[0]);
-    fprintf(stderr, "Cursor keys: ^B(left) ^F(right) ^P(up) ^N(down)\n");
-    fprintf(stderr, "Undo: ^U    Write to <file>.new: ^W");
-    fprintf(stderr, "Quit:^D  Repeat count: ^R[n]\n");
-    fprintf(stderr, "Top: ^T   Locate (search, find): ^L text ^L\n");
-    exit(1);
-}
-
-#endif  /* !WIN32 */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_cmds.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_cmds.h
deleted file mode 100755
index e8090d8..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_cmds.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, May 19, 1994 2:24 pm PDT */
-
-#ifndef DE_CMDS_H
-
-# define DE_CMDS_H
-
-# define UP     16	/* ^P */
-# define DOWN   14	/* ^N */
-# define LEFT   2	/* ^B */
-# define RIGHT  6	/* ^F */
-# define DEL	127	/* ^? */
-# define BS     8	/* ^H */
-# define UNDO   21	/* ^U */
-# define WRITE  23	/* ^W */
-# define QUIT   4	/* ^D */
-# define REPEAT 18	/* ^R */
-# define LOCATE 12	/* ^L */
-# define TOP    20	/* ^T */
-
-#endif
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_win.ICO b/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_win.ICO
deleted file mode 100755
index b20ac3e..0000000
Binary files a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_win.ICO and /dev/null differ
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_win.RC b/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_win.RC
deleted file mode 100755
index f66817b..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_win.RC
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to copy this garbage collector for any purpose,
- * provided the above notices are retained on all copies.
- */
-/* Boehm, May 13, 1994 9:50 am PDT */
-
-#include "windows.h"
-#include "de_cmds.h"
-#include "de_win.h"
-
-
-
-ABOUTBOX DIALOG 19, 21, 163, 47
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "About Demonstration Text Editor"
-BEGIN
-	ICON "DE", -1, 8, 8, 13, 13, WS_CHILD | WS_VISIBLE
-	LTEXT "Demonstration Text Editor", -1, 44, 8, 118, 8, WS_CHILD | WS_VISIBLE | WS_GROUP
-	LTEXT "Version 4.1", -1, 44, 16, 60, 8, WS_CHILD | WS_VISIBLE | WS_GROUP
-	PUSHBUTTON "OK", IDOK, 118, 27, 24, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
-END
-
-
-DE MENU 
-BEGIN
-	POPUP "&File"
-	BEGIN
-		MENUITEM "&Save\t^W", IDM_FILESAVE
-		MENUITEM "E&xit\t^D", IDM_FILEEXIT
-	END
-
-	POPUP "&Edit"
-	BEGIN
-	    MENUITEM "Page &Down\t^R^N", IDM_EDITPDOWN
-	    MENUITEM "Page &Up\t^R^P", IDM_EDITPUP
-		MENUITEM "U&ndo\t^U", IDM_EDITUNDO
-		MENUITEM "&Locate\t^L ... ^L", IDM_EDITLOCATE
-		MENUITEM "D&own\t^N", IDM_EDITDOWN
-	    MENUITEM "U&p\t^P", IDM_EDITUP
-	    MENUITEM "Le&ft\t^B", IDM_EDITLEFT
-	    MENUITEM "&Right\t^F", IDM_EDITRIGHT
-	    MENUITEM "Delete &Backward\tBS", IDM_EDITBS
-	    MENUITEM "Delete F&orward\tDEL", IDM_EDITDEL
-	    MENUITEM "&Top\t^T", IDM_EDITTOP
-	END
-	
-	POPUP "&Help"
-	BEGIN
-		MENUITEM "&Contents", IDM_HELPCONTENTS
-		MENUITEM "&About...", IDM_HELPABOUT
-	END
-	
-	MENUITEM "Page_&Down", IDM_EDITPDOWN
-	MENUITEM "Page_&Up", IDM_EDITPUP
-END
-
-
-DE ACCELERATORS 
-BEGIN
-    "^R", IDM_EDITREPEAT
-    "^N", IDM_EDITDOWN
-    "^P", IDM_EDITUP
-    "^L", IDM_EDITLOCATE
-    "^B", IDM_EDITLEFT
-    "^F", IDM_EDITRIGHT
-    "^T", IDM_EDITTOP
-	VK_DELETE, IDM_EDITDEL, VIRTKEY
-	VK_BACK, IDM_EDITBS, VIRTKEY
-END
-
-
-DE ICON cord\de_win.ICO
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_win.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_win.c
deleted file mode 100755
index 476d7b8..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_win.c
+++ /dev/null
@@ -1,370 +0,0 @@
-/*
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, February 6, 1995 12:29 pm PST */
-
-/*
- * The MS Windows specific part of de.  
- * This started as the generic Windows application template
- * made available by Rob Haack (rhaack at polaris.unm.edu), but
- * significant parts didn't survive to the final version.
- *
- * This was written by a nonexpert windows programmer.
- */
-
-
-#include "windows.h"
-#include "gc.h"
-#include "cord.h"
-#include "de_cmds.h"
-#include "de_win.h"
-
-int LINES = 0;
-int COLS = 0;
-
-char       szAppName[]     = "DE";
-char       FullAppName[]   = "Demonstration Editor";
-
-HWND        hwnd;
-
-void de_error(char *s)
-{
-    MessageBox( hwnd, (LPSTR) s,
-                (LPSTR) FullAppName,
-                MB_ICONINFORMATION | MB_OK );
-    InvalidateRect(hwnd, NULL, TRUE);
-}
-
-int APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
-                      LPSTR command_line, int nCmdShow)
-{
-   MSG         msg;
-   WNDCLASS    wndclass;
-   HANDLE      hAccel;
-
-#  ifdef THREAD_LOCAL_ALLOC
-     GC_INIT();  /* Required if GC is built with THREAD_LOCAL_ALLOC 	*/
-     		 /* Always safe, but this is used as a GC test.		*/
-#  endif
-
-   if (!hPrevInstance)
-   {
-      wndclass.style          = CS_HREDRAW | CS_VREDRAW;
-      wndclass.lpfnWndProc    = WndProc;
-      wndclass.cbClsExtra     = 0;
-      wndclass.cbWndExtra     = DLGWINDOWEXTRA;
-      wndclass.hInstance      = hInstance;
-      wndclass.hIcon          = LoadIcon (hInstance, szAppName);
-      wndclass.hCursor        = LoadCursor (NULL, IDC_ARROW);
-      wndclass.hbrBackground  = GetStockObject(WHITE_BRUSH);
-      wndclass.lpszMenuName   = "DE";
-      wndclass.lpszClassName  = szAppName;
-
-      if (RegisterClass (&wndclass) == 0) {
-          char buf[50];
-   	
-   	  sprintf(buf, "RegisterClass: error code: 0x%X", GetLastError());
-   	  de_error(buf);
-   	  return(0);
-      }
-   }
-   
-   /* Empirically, the command line does not include the command name ...
-   if (command_line != 0) {
-       while (isspace(*command_line)) command_line++;
-       while (*command_line != 0 && !isspace(*command_line)) command_line++;
-       while (isspace(*command_line)) command_line++;
-   } */
-   
-   if (command_line == 0 || *command_line == 0) {
-        de_error("File name argument required");
-        return( 0 );
-   } else {
-        char *p = command_line;
-        
-        while (*p != 0 && !isspace(*p)) p++;
-   	arg_file_name = CORD_to_char_star(
-   			    CORD_substr(command_line, 0, p - command_line));
-   }
-
-   hwnd = CreateWindow (szAppName,
-   			FullAppName,
-   			WS_OVERLAPPEDWINDOW | WS_CAPTION, /* Window style */
-   			CW_USEDEFAULT, 0, /* default pos. */
-   			CW_USEDEFAULT, 0, /* default width, height */
-   			NULL,	/* No parent */
-   			NULL, 	/* Window class menu */
-   			hInstance, NULL);
-   if (hwnd == NULL) {
-   	char buf[50];
-   	
-   	sprintf(buf, "CreateWindow: error code: 0x%X", GetLastError());
-   	de_error(buf);
-   	return(0);
-   }
-
-   ShowWindow (hwnd, nCmdShow);
-
-   hAccel = LoadAccelerators( hInstance, szAppName );
-   
-   while (GetMessage (&msg, NULL, 0, 0))
-   {
-      if( !TranslateAccelerator( hwnd, hAccel, &msg ) )
-      {
-         TranslateMessage (&msg);
-         DispatchMessage (&msg);
-      }
-   }
-   return msg.wParam;
-}
-
-/* Return the argument with all control characters replaced by blanks.	*/
-char * plain_chars(char * text, size_t len)
-{
-    char * result = GC_MALLOC_ATOMIC(len + 1);
-    register size_t i;
-    
-    for (i = 0; i < len; i++) {
-       if (iscntrl(text[i])) {
-           result[i] = ' ';
-       } else {
-           result[i] = text[i];
-       }
-    }
-    result[len] = '\0';
-    return(result);
-}
-
-/* Return the argument with all non-control-characters replaced by 	*/
-/* blank, and all control characters c replaced by c + 32.		*/
-char * control_chars(char * text, size_t len)
-{
-    char * result = GC_MALLOC_ATOMIC(len + 1);
-    register size_t i;
-    
-    for (i = 0; i < len; i++) {
-       if (iscntrl(text[i])) {
-           result[i] = text[i] + 0x40;
-       } else {
-           result[i] = ' ';
-       }
-    }
-    result[len] = '\0';
-    return(result);
-}
-
-int char_width;
-int char_height;
-
-void get_line_rect(int line, int win_width, RECT * rectp)
-{
-    rectp -> top = line * char_height;
-    rectp -> bottom = rectp->top + char_height;
-    rectp -> left = 0;
-    rectp -> right = win_width;
-}
-
-int caret_visible = 0;	/* Caret is currently visible.	*/
-
-int screen_was_painted = 0;/* Screen has been painted at least once.	*/
-
-void update_cursor(void);
-
-INT_PTR CALLBACK AboutBoxCallback( HWND hDlg, UINT message,
-                           WPARAM wParam, LPARAM lParam )
-{
-   switch( message )
-   {
-      case WM_INITDIALOG:
-           SetFocus( GetDlgItem( hDlg, IDOK ) );
-           break;
-
-      case WM_COMMAND:
-           switch( wParam )
-           {
-              case IDOK:
-                   EndDialog( hDlg, TRUE );
-                   break;
-           }
-           break;
-
-      case WM_CLOSE:
-           EndDialog( hDlg, TRUE );
-           return TRUE;
-
-   }
-   return FALSE;
-}
-
-LRESULT CALLBACK WndProc (HWND hwnd, UINT message,
-                          WPARAM wParam, LPARAM lParam)
-{
-   static HANDLE  hInstance;
-   HDC dc;
-   PAINTSTRUCT ps;
-   RECT client_area;
-   RECT this_line;
-   RECT dummy;
-   TEXTMETRIC tm;
-   register int i;
-   int id;
-
-   switch (message)
-   {
-      case WM_CREATE:
-           hInstance = ( (LPCREATESTRUCT) lParam)->hInstance;
-           dc = GetDC(hwnd);
-           SelectObject(dc, GetStockObject(SYSTEM_FIXED_FONT));
-           GetTextMetrics(dc, &tm);
-           ReleaseDC(hwnd, dc);
-           char_width = tm.tmAveCharWidth;
-           char_height = tm.tmHeight + tm.tmExternalLeading;
-           GetClientRect(hwnd, &client_area);
-      	   COLS = (client_area.right - client_area.left)/char_width;
-      	   LINES = (client_area.bottom - client_area.top)/char_height;
-      	   generic_init();
-           return(0);
-
-      case WM_CHAR:
-      	   if (wParam == QUIT) {
-      	       SendMessage( hwnd, WM_CLOSE, 0, 0L );
-      	   } else {
-      	       do_command((int)wParam);
-      	   }
-      	   return(0);
-      
-      case WM_SETFOCUS:
-      	   CreateCaret(hwnd, NULL, char_width, char_height);
-      	   ShowCaret(hwnd);
-      	   caret_visible = 1;
-      	   update_cursor();
-      	   return(0);
-      	   
-      case WM_KILLFOCUS:
-      	   HideCaret(hwnd);
-      	   DestroyCaret();
-      	   caret_visible = 0;
-      	   return(0);
-      	   
-      case WM_LBUTTONUP:
-      	   {
-      	       unsigned xpos = LOWORD(lParam);	/* From left	*/
-      	       unsigned ypos = HIWORD(lParam);	/* from top */
-      	       
-      	       set_position( xpos/char_width, ypos/char_height );
-      	       return(0);
-      	   }
-      	   
-      case WM_COMMAND:
-      	   id = LOWORD(wParam);
-      	   if (id & EDIT_CMD_FLAG) {
-               if (id & REPEAT_FLAG) do_command(REPEAT);
-               do_command(CHAR_CMD(id));
-               return( 0 );
-           } else {
-             switch(id) {
-               case IDM_FILEEXIT:
-                  SendMessage( hwnd, WM_CLOSE, 0, 0L );
-                  return( 0 );
-
-               case IDM_HELPABOUT:
-                  if( DialogBox( hInstance, "ABOUTBOX",
-                                 hwnd, AboutBoxCallback ) )
-                     InvalidateRect( hwnd, NULL, TRUE );
-                  return( 0 );
-	       case IDM_HELPCONTENTS:
-	     	  de_error(
-	     	       "Cursor keys: ^B(left) ^F(right) ^P(up) ^N(down)\n"
-	     	       "Undo: ^U    Write: ^W   Quit:^D  Repeat count: ^R[n]\n"
-	     	       "Top: ^T   Locate (search, find): ^L text ^L\n");
-	     	  return( 0 );
-	     }
-	   }
-           break;
-
-      case WM_CLOSE:
-           DestroyWindow( hwnd );
-           return 0;
-
-      case WM_DESTROY:
-           PostQuitMessage (0);
-	   GC_win32_free_heap();
-           return 0;
-      
-      case WM_PAINT:
-      	   dc = BeginPaint(hwnd, &ps);
-      	   GetClientRect(hwnd, &client_area);
-      	   COLS = (client_area.right - client_area.left)/char_width;
-      	   LINES = (client_area.bottom - client_area.top)/char_height;
-      	   SelectObject(dc, GetStockObject(SYSTEM_FIXED_FONT));
-      	   for (i = 0; i < LINES; i++) {
-      	       get_line_rect(i, client_area.right, &this_line);
-      	       if (IntersectRect(&dummy, &this_line, &ps.rcPaint)) {
-      	           CORD raw_line = retrieve_screen_line(i);
-      	           size_t len = CORD_len(raw_line);
-      	           char * text = CORD_to_char_star(raw_line);
-      	           		/* May contain embedded NULLs	*/
-      	           char * plain = plain_chars(text, len);
-      	           char * blanks = CORD_to_char_star(CORD_chars(' ',
-      	           				                COLS - len));
-      	           char * control = control_chars(text, len);
-#		   define RED RGB(255,0,0)
-      	           
-      	           SetBkMode(dc, OPAQUE);
-      	           SetTextColor(dc, GetSysColor(COLOR_WINDOWTEXT));
-      	           
-      	           TextOut(dc, this_line.left, this_line.top,
-      	           	   plain, (int)len);
-      	           TextOut(dc, this_line.left + (int)len * char_width,
-		   	   this_line.top,
-      	           	   blanks, (int)(COLS - len));
-      	           SetBkMode(dc, TRANSPARENT);
-      	           SetTextColor(dc, RED);
-      	           TextOut(dc, this_line.left, this_line.top,
-      	           	   control, (int)strlen(control));
-      	       }
-      	   }
-      	   EndPaint(hwnd, &ps);
-      	   screen_was_painted = 1;
-      	   return 0;
-   }
-   return DefWindowProc (hwnd, message, wParam, lParam);
-}
-
-int last_col;
-int last_line;
-
-void move_cursor(int c, int l)
-{
-    last_col = c;
-    last_line = l;
-    
-    if (caret_visible) update_cursor();
-}
-
-void update_cursor(void)
-{
-    SetCaretPos(last_col * char_width, last_line * char_height);
-    ShowCaret(hwnd);
-}
-
-void invalidate_line(int i)
-{
-    RECT line;
-    
-    if (!screen_was_painted) return;
-    	/* Invalidating a rectangle before painting seems result in a	*/
-    	/* major performance problem.					*/
-    get_line_rect(i, COLS*char_width, &line);
-    InvalidateRect(hwnd, &line, FALSE);
-}
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_win.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_win.h
deleted file mode 100755
index 0d434fb..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/cord/de_win.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, May 19, 1994 2:25 pm PDT */
-
-/* cord.h, de_cmds.h, and windows.h should be included before this. */
-
-
-# define OTHER_FLAG	0x100
-# define EDIT_CMD_FLAG	0x200
-# define REPEAT_FLAG	0x400
-
-# define CHAR_CMD(i) ((i) & 0xff)
-
-/* MENU: DE */
-#define IDM_FILESAVE		(EDIT_CMD_FLAG + WRITE)
-#define IDM_FILEEXIT		(OTHER_FLAG + 1)
-#define IDM_HELPABOUT		(OTHER_FLAG + 2)
-#define IDM_HELPCONTENTS	(OTHER_FLAG + 3)
-
-#define IDM_EDITPDOWN		(REPEAT_FLAG + EDIT_CMD_FLAG + DOWN)
-#define IDM_EDITPUP		(REPEAT_FLAG + EDIT_CMD_FLAG + UP)
-#define IDM_EDITUNDO		(EDIT_CMD_FLAG + UNDO)
-#define IDM_EDITLOCATE		(EDIT_CMD_FLAG + LOCATE)
-#define IDM_EDITDOWN		(EDIT_CMD_FLAG + DOWN)
-#define IDM_EDITUP		(EDIT_CMD_FLAG + UP)
-#define IDM_EDITLEFT		(EDIT_CMD_FLAG + LEFT)
-#define IDM_EDITRIGHT		(EDIT_CMD_FLAG + RIGHT)
-#define IDM_EDITBS		(EDIT_CMD_FLAG + BS)
-#define IDM_EDITDEL		(EDIT_CMD_FLAG + DEL)
-#define IDM_EDITREPEAT		(EDIT_CMD_FLAG + REPEAT)
-#define IDM_EDITTOP		(EDIT_CMD_FLAG + TOP)
-
-
-
-
-/* Windows UI stuff	*/
-
-LRESULT CALLBACK WndProc (HWND hwnd, UINT message,
-			  UINT wParam, LONG lParam);
-
-LRESULT CALLBACK AboutBox( HWND hDlg, UINT message,
-			   UINT wParam, LONG lParam );
-
-
-/* Screen dimensions.  Maintained by de_win.c.	*/
-extern int LINES;
-extern int COLS;
-
-/* File being edited.	*/
-extern char * arg_file_name;
-
-/* Current display position in file.  Maintained by de.c	*/
-extern int dis_line;
-extern int dis_col;
-
-/* Current cursor position in file.				*/
-extern int line;
-extern int col;
-
-/*
- *  Calls from de_win.c to de.c
- */
-  
-CORD retrieve_screen_line(int i);
-			/* Get the contents of i'th screen line.	*/
-			/* Relies on COLS.				*/
-
-void set_position(int x, int y);
-			/* Set column, row.  Upper left of window = (0,0). */
-
-void do_command(int);
-			/* Execute an editor command.			*/
-			/* Agument is a command character or one	*/
-			/* of the IDM_ commands.			*/
-
-void generic_init(void);
-			/* OS independent initialization */
-
-
-/*
- * Calls from de.c to de_win.c
- */
- 
-void move_cursor(int column, int line);
-			/* Physically move the cursor on the display,	*/
-			/* so that it appears at			*/
-			/* (column, line).				*/
-
-void invalidate_line(int line);
-			/* Invalidate line i on the screen.	*/
-
-void de_error(char *s);
-			/* Display error message.	*/
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/darwin_stop_world.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/darwin_stop_world.c
deleted file mode 100755
index 05426ad..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/darwin_stop_world.c
+++ /dev/null
@@ -1,599 +0,0 @@
-#include "private/pthread_support.h"
-
-/* This probably needs more porting work to ppc64. */
-
-# if defined(GC_DARWIN_THREADS)
-
-/* From "Inside Mac OS X - Mach-O Runtime Architecture" published by Apple
-   Page 49:
-   "The space beneath the stack pointer, where a new stack frame would normally
-   be allocated, is called the red zone. This area as shown in Figure 3-2 may
-   be used for any purpose as long as a new stack frame does not need to be
-   added to the stack."
-
-   Page 50: "If a leaf procedure's red zone usage would exceed 224 bytes, then
-   it must set up a stack frame just like routines that call other routines."
-*/
-#ifdef POWERPC
-# if CPP_WORDSZ == 32
-#   define PPC_RED_ZONE_SIZE 224
-# elif CPP_WORDSZ == 64
-#   define PPC_RED_ZONE_SIZE 320
-# endif
-#endif
-
-typedef struct StackFrame {
-  unsigned long	savedSP;
-  unsigned long	savedCR;
-  unsigned long	savedLR;
-  unsigned long	reserved[2];
-  unsigned long	savedRTOC;
-} StackFrame;
-
-unsigned long FindTopOfStack(unsigned long stack_start)
-{
-  StackFrame	*frame;
-
-  if (stack_start == 0) {
-# ifdef POWERPC
-#   if CPP_WORDSZ == 32
-      __asm__ volatile("lwz	%0,0(r1)" : "=r" (frame));
-#   else
-      __asm__ volatile("ld	%0,0(r1)" : "=r" (frame));
-#   endif
-# endif
-  } else {
-    frame = (StackFrame *)stack_start;
-  }
-
-# ifdef DEBUG_THREADS
-    /* GC_printf("FindTopOfStack start at sp = %p\n", frame); */
-# endif
-  do {
-    if (frame->savedSP == 0)
-      break;
-    /* if there are no more stack frames, stop */
-
-    frame = (StackFrame*)frame->savedSP;
-
-    /* we do these next two checks after going to the next frame
-       because the LR for the first stack frame in the loop
-       is not set up on purpose, so we shouldn't check it. */
-    if ((frame->savedLR & ~3) == 0)
-      break; /* if the next LR is bogus, stop */
-    if ((~(frame->savedLR) & ~3) == 0)
-      break; /* ditto */
-  } while (1);
-
-# ifdef DEBUG_THREADS
-    /* GC_printf("FindTopOfStack finish at sp = %p\n", frame); */
-# endif
-
-  return (unsigned long)frame;
-}
-
-#ifdef DARWIN_DONT_PARSE_STACK
-void GC_push_all_stacks()
-{
-  int i;
-  kern_return_t r;
-  GC_thread p;
-  pthread_t me;
-  ptr_t lo, hi;
-  GC_THREAD_STATE_T state;
-  /* MACHINE_THREAD_STATE_COUNT doesn't seem to be defined everywhere.	*/
-  /* Hence we use our own version.					*/
-  mach_msg_type_number_t thread_state_count = GC_MACH_THREAD_STATE_COUNT;
-
-  me = pthread_self();
-  if (!GC_thr_initialized)
-    GC_thr_init();
-
-  for(i = 0; i < THREAD_TABLE_SZ; i++) {
-    for(p = GC_threads[i]; p != 0; p = p->next) {
-      if(p->flags & FINISHED) continue;
-      if(pthread_equal(p->id, me)) {
-	lo = GC_approx_sp();
-      } else {
-	/* Get the thread state (registers, etc) */
-	r = thread_get_state(p->stop_info.mach_thread, GC_MACH_THREAD_STATE,
-			     (natural_t*)&state, &thread_state_count);
-
-#       ifdef DEBUG_THREADS
-	  GC_printf("thread_get_state return value = %d\n", r);
-#	endif
-
-	if(r != KERN_SUCCESS)
-	  ABORT("thread_get_state failed");
-
-#       if defined(I386)
-	  lo = (void*)state . THREAD_FLD (esp);
-	  GC_push_one(state . THREAD_FLD (eax));
-	  GC_push_one(state . THREAD_FLD (ebx));
-	  GC_push_one(state . THREAD_FLD (ecx));
-	  GC_push_one(state . THREAD_FLD (edx));
-	  GC_push_one(state . THREAD_FLD (edi));
-	  GC_push_one(state . THREAD_FLD (esi));
-	  GC_push_one(state . THREAD_FLD (ebp));
-
-#       elif defined(X86_64)
-	  lo = (void*)state . THREAD_FLD (rsp);
-	  GC_push_one(state . THREAD_FLD (rax));
-	  GC_push_one(state . THREAD_FLD (rbx));
-	  GC_push_one(state . THREAD_FLD (rcx));
-	  GC_push_one(state . THREAD_FLD (rdx));
-	  GC_push_one(state . THREAD_FLD (rdi));
-	  GC_push_one(state . THREAD_FLD (rsi));
-	  GC_push_one(state . THREAD_FLD (rbp));
-	  GC_push_one(state . THREAD_FLD (rsp));
-	  GC_push_one(state . THREAD_FLD (r8));
-	  GC_push_one(state . THREAD_FLD (r9));
-	  GC_push_one(state . THREAD_FLD (r10));
-	  GC_push_one(state . THREAD_FLD (r11));
-	  GC_push_one(state . THREAD_FLD (r12));
-	  GC_push_one(state . THREAD_FLD (r13));
-	  GC_push_one(state . THREAD_FLD (r14));
-	  GC_push_one(state . THREAD_FLD (r15));
-	  GC_push_one(state . THREAD_FLD (rip));
-	  GC_push_one(state . THREAD_FLD (rflags));
-	  GC_push_one(state . THREAD_FLD (cs));
-	  GC_push_one(state . THREAD_FLD (fs));
-	  GC_push_one(state . THREAD_FLD (gs));
-
-#       elif defined(POWERPC)
-	  lo = (void*)(state . THREAD_FLD (r1) - PPC_RED_ZONE_SIZE);
-
-	  GC_push_one(state . THREAD_FLD (r0));
-	  GC_push_one(state . THREAD_FLD (r2));
-	  GC_push_one(state . THREAD_FLD (r3));
-	  GC_push_one(state . THREAD_FLD (r4));
-	  GC_push_one(state . THREAD_FLD (r5));
-	  GC_push_one(state . THREAD_FLD (r6));
-	  GC_push_one(state . THREAD_FLD (r7));
-	  GC_push_one(state . THREAD_FLD (r8));
-	  GC_push_one(state . THREAD_FLD (r9));
-	  GC_push_one(state . THREAD_FLD (r10));
-	  GC_push_one(state . THREAD_FLD (r11));
-	  GC_push_one(state . THREAD_FLD (r12));
-	  GC_push_one(state . THREAD_FLD (r13));
-	  GC_push_one(state . THREAD_FLD (r14));
-	  GC_push_one(state . THREAD_FLD (r15));
-	  GC_push_one(state . THREAD_FLD (r16));
-	  GC_push_one(state . THREAD_FLD (r17));
-	  GC_push_one(state . THREAD_FLD (r18));
-	  GC_push_one(state . THREAD_FLD (r19));
-	  GC_push_one(state . THREAD_FLD (r20));
-	  GC_push_one(state . THREAD_FLD (r21));
-	  GC_push_one(state . THREAD_FLD (r22));
-	  GC_push_one(state . THREAD_FLD (r23));
-	  GC_push_one(state . THREAD_FLD (r24));
-	  GC_push_one(state . THREAD_FLD (r25));
-	  GC_push_one(state . THREAD_FLD (r26));
-	  GC_push_one(state . THREAD_FLD (r27));
-	  GC_push_one(state . THREAD_FLD (r28));
-	  GC_push_one(state . THREAD_FLD (r29));
-	  GC_push_one(state . THREAD_FLD (r30));
-	  GC_push_one(state . THREAD_FLD (r31));
-#	else
-#	  error FIXME for non-x86 || ppc architectures
-#	endif
-      } /* p != me */
-      if(p->flags & MAIN_THREAD)
-	hi = GC_stackbottom;
-      else
-	hi = p->stack_end;
-#     if DEBUG_THREADS
-        GC_printf("Darwin: Stack for thread 0x%lx = [%lx,%lx)\n",
-		  (unsigned long) p -> id, (unsigned long) lo,
-		  (unsigned long) hi);
-#     endif
-      GC_push_all_stack(lo, hi);
-    } /* for(p=GC_threads[i]...) */
-  } /* for(i=0;i<THREAD_TABLE_SZ...) */
-}
-
-#else /* !DARWIN_DONT_PARSE_STACK; Use FindTopOfStack() */
-
-void GC_push_all_stacks()
-{
-  unsigned int i;
-  task_t my_task;
-  kern_return_t r;
-  mach_port_t me;
-  ptr_t lo, hi;
-  thread_act_array_t act_list = 0;
-  mach_msg_type_number_t listcount = 0;
-
-  me = mach_thread_self();
-  if (!GC_thr_initialized)
-    GC_thr_init();
-
-  my_task = current_task();
-  r = task_threads(my_task, &act_list, &listcount);
-  if(r != KERN_SUCCESS)
-    ABORT("task_threads failed");
-  for(i = 0; i < listcount; i++) {
-    thread_act_t thread = act_list[i];
-    if (thread == me) {
-      lo = GC_approx_sp();
-      hi = (ptr_t)FindTopOfStack(0);
-    } else {
-#     if defined(POWERPC)
-        GC_THREAD_STATE_T info;
-	mach_msg_type_number_t outCount = THREAD_STATE_MAX;
-	r = thread_get_state(thread, GC_MACH_THREAD_STATE, (natural_t *)&info,
-			     &outCount);
-	if(r != KERN_SUCCESS)
-	  ABORT("task_get_state failed");
-
-	lo = (void*)(info . THREAD_FLD (r1) - PPC_RED_ZONE_SIZE);
-	hi = (ptr_t)FindTopOfStack(info . THREAD_FLD (r1));
-
-	GC_push_one(info . THREAD_FLD (r0));
-	GC_push_one(info . THREAD_FLD (r2));
-	GC_push_one(info . THREAD_FLD (r3));
-	GC_push_one(info . THREAD_FLD (r4));
-	GC_push_one(info . THREAD_FLD (r5));
-	GC_push_one(info . THREAD_FLD (r6));
-	GC_push_one(info . THREAD_FLD (r7));
-	GC_push_one(info . THREAD_FLD (r8));
-	GC_push_one(info . THREAD_FLD (r9));
-	GC_push_one(info . THREAD_FLD (r10));
-	GC_push_one(info . THREAD_FLD (r11));
-	GC_push_one(info . THREAD_FLD (r12));
-	GC_push_one(info . THREAD_FLD (r13));
-	GC_push_one(info . THREAD_FLD (r14));
-	GC_push_one(info . THREAD_FLD (r15));
-	GC_push_one(info . THREAD_FLD (r16));
-	GC_push_one(info . THREAD_FLD (r17));
-	GC_push_one(info . THREAD_FLD (r18));
-	GC_push_one(info . THREAD_FLD (r19));
-	GC_push_one(info . THREAD_FLD (r20));
-	GC_push_one(info . THREAD_FLD (r21));
-	GC_push_one(info . THREAD_FLD (r22));
-	GC_push_one(info . THREAD_FLD (r23));
-	GC_push_one(info . THREAD_FLD (r24));
-	GC_push_one(info . THREAD_FLD (r25));
-	GC_push_one(info . THREAD_FLD (r26));
-	GC_push_one(info . THREAD_FLD (r27));
-	GC_push_one(info . THREAD_FLD (r28));
-	GC_push_one(info . THREAD_FLD (r29));
-	GC_push_one(info . THREAD_FLD (r30));
-	GC_push_one(info . THREAD_FLD (r31));
-
-#     elif defined(I386)
-	/* FIXME: Remove after testing:	*/
-	WARN("This is completely untested and likely will not work\n", 0);
-	GC_THREAD_STATE_T info;
-	mach_msg_type_number_t outCount = THREAD_STATE_MAX;
-	r = thread_get_state(thread, GC_MACH_THREAD_STATE, (natural_t *)&info,
-			     &outCount);
-	if(r != KERN_SUCCESS)
-	  ABORT("task_get_state failed");
-
-	lo = (void*)info . THREAD_FLD (esp);
-	hi = (ptr_t)FindTopOfStack(info . THREAD_FLD (esp));
-
-	GC_push_one(info . THREAD_FLD (eax));
-	GC_push_one(info . THREAD_FLD (ebx));
-	GC_push_one(info . THREAD_FLD (ecx));
-	GC_push_one(info . THREAD_FLD (edx));
-	GC_push_one(info . THREAD_FLD (edi));
-	GC_push_one(info . THREAD_FLD (esi));
-	/* GC_push_one(info . THREAD_FLD (ebp));  */
-	/* GC_push_one(info . THREAD_FLD (esp));  */
-	GC_push_one(info . THREAD_FLD (ss));
-	GC_push_one(info . THREAD_FLD (eip));
-	GC_push_one(info . THREAD_FLD (cs));
-	GC_push_one(info . THREAD_FLD (ds));
-	GC_push_one(info . THREAD_FLD (es));
-	GC_push_one(info . THREAD_FLD (fs));
-	GC_push_one(info . THREAD_FLD (gs));
-
-#     elif defined(X86_64)
-	GC_THREAD_STATE_T info;
-	mach_msg_type_number_t outCount = THREAD_STATE_MAX;
-	r = thread_get_state(thread, GC_MACH_THREAD_STATE, (natural_t *)&info,
-			     &outCount);
-	if(r != KERN_SUCCESS)
-	  ABORT("task_get_state failed");
-
-	lo = (void*)info . THREAD_FLD (rsp);
-	hi = (ptr_t)FindTopOfStack(info . THREAD_FLD (rsp));
-
-	GC_push_one(info . THREAD_FLD (rax));
-	GC_push_one(info . THREAD_FLD (rbx));
-	GC_push_one(info . THREAD_FLD (rcx));
-	GC_push_one(info . THREAD_FLD (rdx));
-	GC_push_one(info . THREAD_FLD (rdi));
-	GC_push_one(info . THREAD_FLD (rsi));
-	GC_push_one(info . THREAD_FLD (rbp));
-	GC_push_one(info . THREAD_FLD (rsp));
-	GC_push_one(info . THREAD_FLD (r8));
-	GC_push_one(info . THREAD_FLD (r9));
-	GC_push_one(info . THREAD_FLD (r10));
-	GC_push_one(info . THREAD_FLD (r11));
-	GC_push_one(info . THREAD_FLD (r12));
-	GC_push_one(info . THREAD_FLD (r13));
-	GC_push_one(info . THREAD_FLD (r14));
-	GC_push_one(info . THREAD_FLD (r15));
-	GC_push_one(info . THREAD_FLD (rip));
-	GC_push_one(info . THREAD_FLD (rflags));
-	GC_push_one(info . THREAD_FLD (cs));
-	GC_push_one(info . THREAD_FLD (fs));
-	GC_push_one(info . THREAD_FLD (gs));
-
-#     else
-#	error FIXME for non-x86 || ppc architectures
-#     endif
-      }
-#     if DEBUG_THREADS
-        GC_printf("Darwin: Stack for thread 0x%lx = [%p,%p)\n",
-		  (unsigned long) thread, lo, hi);
-#     endif
-      GC_push_all_stack(lo, hi);
-      mach_port_deallocate(my_task, thread);
-    } /* for(p=GC_threads[i]...) */
-    vm_deallocate(my_task, (vm_address_t)act_list,
-		  sizeof(thread_t) * listcount);
-    mach_port_deallocate(my_task, me);
-}
-#endif /* !DARWIN_DONT_PARSE_STACK */
-
-static mach_port_t GC_mach_handler_thread;
-static int GC_use_mach_handler_thread = 0;
-
-static struct GC_mach_thread GC_mach_threads[THREAD_TABLE_SZ];
-static int GC_mach_threads_count;
-
-void GC_stop_init()
-{
-  int i;
-
-  for (i = 0; i < THREAD_TABLE_SZ; i++) {
-    GC_mach_threads[i].thread = 0;
-    GC_mach_threads[i].already_suspended = 0;
-  }
-  GC_mach_threads_count = 0;
-}
-
-/* returns true if there's a thread in act_list that wasn't in old_list */
-int GC_suspend_thread_list(thread_act_array_t act_list, int count,
-			   thread_act_array_t old_list, int old_count)
-{
-  mach_port_t my_thread = mach_thread_self();
-  int i, j;
-
-  int changed = 0;
-
-  for(i = 0; i < count; i++) {
-    thread_act_t thread = act_list[i];
-#   if DEBUG_THREADS
-      GC_printf("Attempting to suspend thread %p\n", thread);
-#   endif
-    /* find the current thread in the old list */
-    int found = 0;
-    for(j = 0; j < old_count; j++) {
-      thread_act_t old_thread = old_list[j];
-      if (old_thread == thread) {
-	found = 1;
-	break;
-      }
-    }
-    if (!found) {
-      /* add it to the GC_mach_threads list */
-      GC_mach_threads[GC_mach_threads_count].thread = thread;
-      /* default is not suspended */
-      GC_mach_threads[GC_mach_threads_count].already_suspended = 0;
-      changed = 1;
-    }
-
-    if (thread != my_thread
-	&& (!GC_use_mach_handler_thread
-	    || (GC_use_mach_handler_thread
-		&& GC_mach_handler_thread != thread))) {
-      struct thread_basic_info info;
-      mach_msg_type_number_t outCount = THREAD_INFO_MAX;
-      kern_return_t kern_result = thread_info(thread, THREAD_BASIC_INFO,
-				(thread_info_t)&info, &outCount);
-      if(kern_result != KERN_SUCCESS) {
-	/* the thread may have quit since the thread_threads () call
-	 * we mark already_suspended so it's not dealt with anymore later
-	 */
-	if (!found) {
-	  GC_mach_threads[GC_mach_threads_count].already_suspended = TRUE;
-	  GC_mach_threads_count++;
-	}
-	continue;
-      }
-#     if DEBUG_THREADS
-        GC_printf("Thread state for 0x%lx = %d\n", (unsigned long)thread,
-		  info.run_state);
-#     endif
-      if (!found) {
-	GC_mach_threads[GC_mach_threads_count].already_suspended
-	  = info.suspend_count;
-      }
-      if (info.suspend_count)
-	continue;
-
-#     if DEBUG_THREADS
-        GC_printf("Suspending 0x%lx\n", (unsigned long)thread);
-#     endif
-      /* Suspend the thread */
-      kern_result = thread_suspend(thread);
-      if(kern_result != KERN_SUCCESS) {
-	/* the thread may have quit since the thread_threads () call
-	 * we mark already_suspended so it's not dealt with anymore later
-	 */
-	if (!found) {
-	  GC_mach_threads[GC_mach_threads_count].already_suspended = TRUE;
-	  GC_mach_threads_count++;
-	}
-	continue;
-      }
-    }
-    if (!found) GC_mach_threads_count++;
-  }
-  mach_port_deallocate(current_task(), my_thread);
-  return changed;
-}
-
-
-/* Caller holds allocation lock.	*/
-void GC_stop_world()
-{
-    unsigned int i, changes;
-    task_t my_task = current_task();
-    mach_port_t my_thread = mach_thread_self();
-    kern_return_t kern_result;
-    thread_act_array_t act_list, prev_list;
-    mach_msg_type_number_t listcount, prevcount;
-
-#   if DEBUG_THREADS
-      GC_printf("Stopping the world from 0x%lx\n",
-		(unsigned long)mach_thread_self());
-#   endif
-
-    /* clear out the mach threads list table */
-    GC_stop_init();
-
-    /* Make sure all free list construction has stopped before we start. */
-    /* No new construction can start, since free list construction is	*/
-    /* required to acquire and release the GC lock before it starts,	*/
-    /* and we have the lock.						*/
-#   ifdef PARALLEL_MARK
-      GC_acquire_mark_lock();
-      GC_ASSERT(GC_fl_builder_count == 0);
-      /* We should have previously waited for it to become zero. */
-#   endif /* PARALLEL_MARK */
-
-    /* Loop stopping threads until you have gone over the whole list
-       twice without a new one appearing. thread_create() won't
-       return (and thus the thread stop) until the new thread
-       exists, so there is no window whereby you could stop a
-       thread, recognise it is stopped, but then have a new thread
-       it created before stopping show up later.
-    */
-
-    changes = 1;
-    prev_list = NULL;
-    prevcount = 0;
-    do {
-      int result;
-      kern_result = task_threads(my_task, &act_list, &listcount);
-
-      if(kern_result == KERN_SUCCESS) {
-	result = GC_suspend_thread_list(act_list, listcount, prev_list,
-					prevcount);
-	changes = result;
-
-	if(prev_list != NULL) {
-	  for(i = 0; i < prevcount; i++)
-	    mach_port_deallocate(my_task, prev_list[i]);
-
-	  vm_deallocate(my_task, (vm_address_t)prev_list,
-			sizeof(thread_t) * prevcount);
-	}
-	prev_list = act_list;
-	prevcount = listcount;
-      }
-    } while (changes);
-    GC_ASSERT(prev_list != 0);
-    for(i = 0; i < prevcount; i++)
-      mach_port_deallocate(my_task, prev_list[i]);
-
-    vm_deallocate(my_task, (vm_address_t)act_list,
-		  sizeof(thread_t) * listcount);
-
-#   ifdef MPROTECT_VDB
-      if(GC_incremental) {
-	extern void GC_mprotect_stop();
-	GC_mprotect_stop();
-      }
-#   endif
-
-#   ifdef PARALLEL_MARK
-      GC_release_mark_lock();
-#   endif
-#   if DEBUG_THREADS
-      GC_printf("World stopped from 0x%lx\n", (unsigned long)my_thread);
-#   endif
-
-    mach_port_deallocate(my_task, my_thread);
-}
-
-/* Caller holds allocation lock, and has held it continuously since	*/
-/* the world stopped.							*/
-void GC_start_world()
-{
-  task_t my_task = current_task();
-  mach_port_t my_thread = mach_thread_self();
-  unsigned int i;
-  int j;
-  kern_return_t kern_result;
-  thread_act_array_t act_list;
-  mach_msg_type_number_t listcount;
-  struct thread_basic_info info;
-  mach_msg_type_number_t outCount = THREAD_INFO_MAX;
-
-#   if DEBUG_THREADS
-      GC_printf("World starting\n");
-#   endif
-
-#   ifdef MPROTECT_VDB
-      if(GC_incremental) {
-	extern void GC_mprotect_resume();
-	GC_mprotect_resume();
-      }
-#   endif
-
-    kern_result = task_threads(my_task, &act_list, &listcount);
-    for(i = 0; i < listcount; i++) {
-      thread_act_t thread = act_list[i];
-      if (thread != my_thread
-	  && (!GC_use_mach_handler_thread
-	      || (GC_use_mach_handler_thread
-		  && GC_mach_handler_thread != thread))) {
-	for(j = 0; j < GC_mach_threads_count; j++) {
-	  if (thread == GC_mach_threads[j].thread) {
-	    if (GC_mach_threads[j].already_suspended) {
-#             if DEBUG_THREADS
-	        GC_printf("Not resuming already suspended thread %p\n", thread);
-#             endif
-	      continue;
-	    }
-	    kern_result = thread_info(thread, THREAD_BASIC_INFO,
-				      (thread_info_t)&info, &outCount);
-	    if(kern_result != KERN_SUCCESS)
-	      ABORT("thread_info failed");
-#           if DEBUG_THREADS
-	      GC_printf("Thread state for 0x%lx = %d\n", (unsigned long)thread,
-			 info.run_state);
-	      GC_printf("Resuming 0x%lx\n", (unsigned long)thread);
-#           endif
-	    /* Resume the thread */
-	    kern_result = thread_resume(thread);
-	    if(kern_result != KERN_SUCCESS)
-	      ABORT("thread_resume failed");
-	  }
-	}
-      }
-      mach_port_deallocate(my_task, thread);
-    }
-    vm_deallocate(my_task, (vm_address_t)act_list,
-		  sizeof(thread_t) * listcount);
-
-    mach_port_deallocate(my_task, my_thread);
-#   if DEBUG_THREADS
-      GC_printf("World started\n");
-#   endif
-}
-
-void GC_darwin_register_mach_handler_thread(mach_port_t thread)
-{
-  GC_mach_handler_thread = thread;
-  GC_use_mach_handler_thread = 1;
-}
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/dbg_mlc.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/dbg_mlc.c
deleted file mode 100755
index 16572f4..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/dbg_mlc.c
+++ /dev/null
@@ -1,1053 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1997 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 1999-2004 Hewlett-Packard Development Company, L.P.
- * Copyright (C) 2007 Free Software Foundation, Inc
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-#include <errno.h>
-#include <string.h>
-#include "private/dbg_mlc.h"
-
-void GC_default_print_heap_obj_proc();
-GC_API void GC_register_finalizer_no_order
-    	(void * obj, GC_finalization_proc fn, void * cd,
-	 GC_finalization_proc *ofn, void * *ocd);
-
-
-#ifndef SHORT_DBG_HDRS
-/* Check whether object with base pointer p has debugging info	*/ 
-/* p is assumed to point to a legitimate object in our part	*/
-/* of the heap.							*/
-/* This excludes the check as to whether the back pointer is 	*/
-/* odd, which is added by the GC_HAS_DEBUG_INFO macro.		*/
-/* Note that if DBG_HDRS_ALL is set, uncollectable objects	*/
-/* on free lists may not have debug information set.  Thus it's	*/
-/* not always safe to return TRUE, even if the client does	*/
-/* its part.							*/
-GC_bool GC_has_other_debug_info(ptr_t p)
-{
-    register oh * ohdr = (oh *)p;
-    register ptr_t body = (ptr_t)(ohdr + 1);
-    register word sz = GC_size((ptr_t) ohdr);
-    
-    if (HBLKPTR((ptr_t)ohdr) != HBLKPTR((ptr_t)body)
-        || sz < DEBUG_BYTES + EXTRA_BYTES) {
-        return(FALSE);
-    }
-    if (ohdr -> oh_sz == sz) {
-    	/* Object may have had debug info, but has been deallocated	*/
-    	return(FALSE);
-    }
-    if (ohdr -> oh_sf == (START_FLAG ^ (word)body)) return(TRUE);
-    if (((word *)ohdr)[BYTES_TO_WORDS(sz)-1] == (END_FLAG ^ (word)body)) {
-        return(TRUE);
-    }
-    return(FALSE);
-}
-#endif
-
-#ifdef KEEP_BACK_PTRS
-
-# include <stdlib.h>
-
-# if defined(LINUX) || defined(SOLARIS) \
-     || defined(HPUX) || defined(IRIX5) || defined(OSF1)
-#   define RANDOM() random()
-# else
-#   define RANDOM() (long)rand()
-# endif
-
-  /* Store back pointer to source in dest, if that appears to be possible. */
-  /* This is not completely safe, since we may mistakenly conclude that	   */
-  /* dest has a debugging wrapper.  But the error probability is very	   */
-  /* small, and this shouldn't be used in production code.		   */
-  /* We assume that dest is the real base pointer.  Source will usually    */
-  /* be a pointer to the interior of an object.				   */
-  void GC_store_back_pointer(ptr_t source, ptr_t dest)
-  {
-    if (GC_HAS_DEBUG_INFO(dest)) {
-      ((oh *)dest) -> oh_back_ptr = HIDE_BACK_PTR(source);
-    }
-  }
-
-  void GC_marked_for_finalization(ptr_t dest) {
-    GC_store_back_pointer(MARKED_FOR_FINALIZATION, dest);
-  }
-
-  /* Store information about the object referencing dest in *base_p	*/
-  /* and *offset_p.							*/
-  /*   source is root ==> *base_p = address, *offset_p = 0		*/
-  /*   source is heap object ==> *base_p != 0, *offset_p = offset 	*/
-  /*   Returns 1 on success, 0 if source couldn't be determined.	*/
-  /* Dest can be any address within a heap object.			*/
-  GC_ref_kind GC_get_back_ptr_info(void *dest, void **base_p, size_t *offset_p)
-  {
-    oh * hdr = (oh *)GC_base(dest);
-    ptr_t bp;
-    ptr_t bp_base;
-    if (!GC_HAS_DEBUG_INFO((ptr_t) hdr)) return GC_NO_SPACE;
-    bp = REVEAL_POINTER(hdr -> oh_back_ptr);
-    if (MARKED_FOR_FINALIZATION == bp) return GC_FINALIZER_REFD;
-    if (MARKED_FROM_REGISTER == bp) return GC_REFD_FROM_REG;
-    if (NOT_MARKED == bp) return GC_UNREFERENCED;
-#   if ALIGNMENT == 1
-      /* Heuristically try to fix off by 1 errors we introduced by 	*/
-      /* insisting on even addresses.					*/
-      {
-	ptr_t alternate_ptr = bp + 1;
-	ptr_t target = *(ptr_t *)bp;
-	ptr_t alternate_target = *(ptr_t *)alternate_ptr;
-
-	if (alternate_target >= GC_least_plausible_heap_addr
-	    && alternate_target <= GC_greatest_plausible_heap_addr
-	    && (target < GC_least_plausible_heap_addr
-		|| target > GC_greatest_plausible_heap_addr)) {
-	    bp = alternate_ptr;
-	}
-      }
-#   endif
-    bp_base = GC_base(bp);
-    if (0 == bp_base) {
-      *base_p = bp;
-      *offset_p = 0;
-      return GC_REFD_FROM_ROOT;
-    } else {
-      if (GC_HAS_DEBUG_INFO(bp_base)) bp_base += sizeof(oh);
-      *base_p = bp_base;
-      *offset_p = bp - bp_base;
-      return GC_REFD_FROM_HEAP;
-    }
-  }
-
-  /* Generate a random heap address.		*/
-  /* The resulting address is in the heap, but	*/
-  /* not necessarily inside a valid object.	*/
-  void *GC_generate_random_heap_address(void)
-  {
-    int i;
-    long heap_offset = RANDOM();
-    if (GC_heapsize > RAND_MAX) {
-	heap_offset *= RAND_MAX;
-	heap_offset += RANDOM();
-    }
-    heap_offset %= GC_heapsize;
-    	/* This doesn't yield a uniform distribution, especially if	*/
-        /* e.g. RAND_MAX = 1.5* GC_heapsize.  But for typical cases,	*/
-        /* it's not too bad.						*/
-    for (i = 0; i < GC_n_heap_sects; ++ i) {
-	size_t size = GC_heap_sects[i].hs_bytes;
-	if (heap_offset < size) {
-	    return GC_heap_sects[i].hs_start + heap_offset;
-	} else {
-	    heap_offset -= size;
-	}
-    }
-    ABORT("GC_generate_random_heap_address: size inconsistency");
-    /*NOTREACHED*/
-    return 0;
-  }
-
-  /* Generate a random address inside a valid marked heap object. */
-  void *GC_generate_random_valid_address(void)
-  {
-    ptr_t result;
-    ptr_t base;
-    for (;;) {
-	result = GC_generate_random_heap_address();
-  	base = GC_base(result);
-	if (0 == base) continue;
-	if (!GC_is_marked(base)) continue;
-	return result;
-    }
-  }
-
-  /* Print back trace for p */
-  void GC_print_backtrace(void *p)
-  {
-    void *current = p;
-    int i;
-    GC_ref_kind source;
-    size_t offset;
-    void *base;
-
-    GC_print_heap_obj(GC_base(current));
-    GC_err_printf("\n");
-    for (i = 0; ; ++i) {
-      source = GC_get_back_ptr_info(current, &base, &offset);
-      if (GC_UNREFERENCED == source) {
-	GC_err_printf("Reference could not be found\n");
-  	goto out;
-      }
-      if (GC_NO_SPACE == source) {
-	GC_err_printf("No debug info in object: Can't find reference\n");
-	goto out;
-      }
-      GC_err_printf("Reachable via %d levels of pointers from ",
-		 (unsigned long)i);
-      switch(source) {
-	case GC_REFD_FROM_ROOT:
-	  GC_err_printf("root at %p\n\n", base);
-	  goto out;
-	case GC_REFD_FROM_REG:
-	  GC_err_printf("root in register\n\n");
-	  goto out;
-	case GC_FINALIZER_REFD:
-	  GC_err_printf("list of finalizable objects\n\n");
-	  goto out;
-	case GC_REFD_FROM_HEAP:
-	  GC_err_printf("offset %ld in object:\n", (unsigned long)offset);
-	  /* Take GC_base(base) to get real base, i.e. header. */
-	  GC_print_heap_obj(GC_base(base));
-	  GC_err_printf("\n");
-	  break;
-      }
-      current = base;
-    }
-    out:;
-  }
-
-  /* Force a garbage collection and generate a backtrace from a	*/
-  /* random heap address.					*/
-  void GC_generate_random_backtrace_no_gc(void)
-  {
-    void * current;
-    current = GC_generate_random_valid_address();
-    GC_printf("\n****Chose address %p in object\n", current);
-    GC_print_backtrace(current);
-  }
-    
-  void GC_generate_random_backtrace(void)
-  {
-    GC_gcollect();
-    GC_generate_random_backtrace_no_gc();
-  }
-    
-#endif /* KEEP_BACK_PTRS */
-
-# define CROSSES_HBLK(p, sz) \
-	(((word)(p + sizeof(oh) + sz - 1) ^ (word)p) >= HBLKSIZE)
-/* Store debugging info into p.  Return displaced pointer. */
-/* Assumes we don't hold allocation lock.		   */
-ptr_t GC_store_debug_info(ptr_t p, word sz, const char *string, word integer)
-{
-    register word * result = (word *)((oh *)p + 1);
-    DCL_LOCK_STATE;
-    
-    /* There is some argument that we should dissble signals here.	*/
-    /* But that's expensive.  And this way things should only appear	*/
-    /* inconsistent while we're in the handler.				*/
-    LOCK();
-    GC_ASSERT(GC_size(p) >= sizeof(oh) + sz);
-    GC_ASSERT(!(SMALL_OBJ(sz) && CROSSES_HBLK(p, sz)));
-#   ifdef KEEP_BACK_PTRS
-      ((oh *)p) -> oh_back_ptr = HIDE_BACK_PTR(NOT_MARKED);
-#   endif
-#   ifdef MAKE_BACK_GRAPH
-      ((oh *)p) -> oh_bg_ptr = HIDE_BACK_PTR((ptr_t)0);
-#   endif
-    ((oh *)p) -> oh_string = string;
-    ((oh *)p) -> oh_int = integer;
-#   ifndef SHORT_DBG_HDRS
-      ((oh *)p) -> oh_sz = sz;
-      ((oh *)p) -> oh_sf = START_FLAG ^ (word)result;
-      ((word *)p)[BYTES_TO_WORDS(GC_size(p))-1] =
-         result[SIMPLE_ROUNDED_UP_WORDS(sz)] = END_FLAG ^ (word)result;
-#   endif
-    UNLOCK();
-    return((ptr_t)result);
-}
-
-#ifdef DBG_HDRS_ALL
-/* Store debugging info into p.  Return displaced pointer.	   */
-/* This version assumes we do hold the allocation lock.		   */
-ptr_t GC_store_debug_info_inner(ptr_t p, word sz, char *string, word integer)
-{
-    register word * result = (word *)((oh *)p + 1);
-    
-    /* There is some argument that we should disable signals here.	*/
-    /* But that's expensive.  And this way things should only appear	*/
-    /* inconsistent while we're in the handler.				*/
-    GC_ASSERT(GC_size(p) >= sizeof(oh) + sz);
-    GC_ASSERT(!(SMALL_OBJ(sz) && CROSSES_HBLK(p, sz)));
-#   ifdef KEEP_BACK_PTRS
-      ((oh *)p) -> oh_back_ptr = HIDE_BACK_PTR(NOT_MARKED);
-#   endif
-#   ifdef MAKE_BACK_GRAPH
-      ((oh *)p) -> oh_bg_ptr = HIDE_BACK_PTR((ptr_t)0);
-#   endif
-    ((oh *)p) -> oh_string = string;
-    ((oh *)p) -> oh_int = integer;
-#   ifndef SHORT_DBG_HDRS
-      ((oh *)p) -> oh_sz = sz;
-      ((oh *)p) -> oh_sf = START_FLAG ^ (word)result;
-      ((word *)p)[BYTES_TO_WORDS(GC_size(p))-1] =
-         result[SIMPLE_ROUNDED_UP_WORDS(sz)] = END_FLAG ^ (word)result;
-#   endif
-    return((ptr_t)result);
-}
-#endif
-
-#ifndef SHORT_DBG_HDRS
-/* Check the object with debugging info at ohdr		*/
-/* return NIL if it's OK.  Else return clobbered	*/
-/* address.						*/
-ptr_t GC_check_annotated_obj(oh *ohdr)
-{
-    register ptr_t body = (ptr_t)(ohdr + 1);
-    register word gc_sz = GC_size((ptr_t)ohdr);
-    if (ohdr -> oh_sz + DEBUG_BYTES > gc_sz) {
-        return((ptr_t)(&(ohdr -> oh_sz)));
-    }
-    if (ohdr -> oh_sf != (START_FLAG ^ (word)body)) {
-        return((ptr_t)(&(ohdr -> oh_sf)));
-    }
-    if (((word *)ohdr)[BYTES_TO_WORDS(gc_sz)-1] != (END_FLAG ^ (word)body)) {
-        return((ptr_t)((word *)ohdr + BYTES_TO_WORDS(gc_sz)-1));
-    }
-    if (((word *)body)[SIMPLE_ROUNDED_UP_WORDS(ohdr -> oh_sz)]
-        != (END_FLAG ^ (word)body)) {
-        return((ptr_t)((word *)body + SIMPLE_ROUNDED_UP_WORDS(ohdr -> oh_sz)));
-    }
-    return(0);
-}
-#endif /* !SHORT_DBG_HDRS */
-
-static GC_describe_type_fn GC_describe_type_fns[MAXOBJKINDS] = {0};
-
-void GC_register_describe_type_fn(int kind, GC_describe_type_fn fn)
-{
-  GC_describe_type_fns[kind] = fn;
-}
-
-/* Print a type description for the object whose client-visible address	*/
-/* is p.								*/
-void GC_print_type(ptr_t p)
-{
-    hdr * hhdr = GC_find_header(p);
-    char buffer[GC_TYPE_DESCR_LEN + 1];
-    int kind = hhdr -> hb_obj_kind;
-
-    if (0 != GC_describe_type_fns[kind] && GC_is_marked(GC_base(p))) {
-	/* This should preclude free list objects except with	*/
-	/* thread-local allocation.				*/
-	buffer[GC_TYPE_DESCR_LEN] = 0;
-	(GC_describe_type_fns[kind])(p, buffer);
-	GC_ASSERT(buffer[GC_TYPE_DESCR_LEN] == 0);
-	GC_err_puts(buffer);
-    } else {
-	switch(kind) {
-	  case PTRFREE:
-	    GC_err_puts("PTRFREE");
-	    break;
-	  case NORMAL:
-	    GC_err_puts("NORMAL");
-	    break;
-	  case UNCOLLECTABLE:
-	    GC_err_puts("UNCOLLECTABLE");
-	    break;
-#	  ifdef ATOMIC_UNCOLLECTABLE
-	    case AUNCOLLECTABLE:
-	      GC_err_puts("ATOMIC UNCOLLECTABLE");
-	      break;
-#	  endif
-	  case STUBBORN:
-	    GC_err_puts("STUBBORN");
-	    break;
-	  default:
-	    GC_err_printf("kind %d, descr 0x%lx", kind,
-			  (unsigned long)(hhdr -> hb_descr));
-	}
-    }
-}
-
-    
-
-void GC_print_obj(ptr_t p)
-{
-    register oh * ohdr = (oh *)GC_base(p);
-    
-    GC_ASSERT(I_DONT_HOLD_LOCK());
-    GC_err_printf("%p (", ((ptr_t)ohdr + sizeof(oh)));
-    GC_err_puts(ohdr -> oh_string);
-#   ifdef SHORT_DBG_HDRS
-      GC_err_printf(":%ld, ", (unsigned long)(ohdr -> oh_int));
-#   else
-      GC_err_printf(":%ld, sz=%ld, ", (unsigned long)(ohdr -> oh_int),
-          			        (unsigned long)(ohdr -> oh_sz));
-#   endif
-    GC_print_type((ptr_t)(ohdr + 1));
-    GC_err_puts(")\n");
-    PRINT_CALL_CHAIN(ohdr);
-}
-
-void GC_debug_print_heap_obj_proc(ptr_t p)
-{
-    GC_ASSERT(I_DONT_HOLD_LOCK());
-    if (GC_HAS_DEBUG_INFO(p)) {
-	GC_print_obj(p);
-    } else {
-	GC_default_print_heap_obj_proc(p);
-    }
-}
-
-#ifndef SHORT_DBG_HDRS
-void GC_print_smashed_obj(ptr_t p, ptr_t clobbered_addr)
-{
-    register oh * ohdr = (oh *)GC_base(p);
-    
-    GC_ASSERT(I_DONT_HOLD_LOCK());
-    GC_err_printf("%p in object at %p(", clobbered_addr, p);
-    if (clobbered_addr <= (ptr_t)(&(ohdr -> oh_sz))
-        || ohdr -> oh_string == 0) {
-        GC_err_printf("<smashed>, appr. sz = %ld)\n",
-        	       (GC_size((ptr_t)ohdr) - DEBUG_BYTES));
-    } else {
-        if (ohdr -> oh_string[0] == '\0') {
-            GC_err_puts("EMPTY(smashed?)");
-        } else {
-            GC_err_puts(ohdr -> oh_string);
-        }
-        GC_err_printf(":%ld, sz=%ld)\n", (unsigned long)(ohdr -> oh_int),
-        			          (unsigned long)(ohdr -> oh_sz));
-        PRINT_CALL_CHAIN(ohdr);
-    }
-}
-#endif
-
-void GC_check_heap_proc (void);
-
-void GC_print_all_smashed_proc (void);
-
-void GC_do_nothing(void) {}
-
-void GC_start_debugging(void)
-{
-#   ifndef SHORT_DBG_HDRS
-      GC_check_heap = GC_check_heap_proc;
-      GC_print_all_smashed = GC_print_all_smashed_proc;
-#   else
-      GC_check_heap = GC_do_nothing;
-      GC_print_all_smashed = GC_do_nothing;
-#   endif
-    GC_print_heap_obj = GC_debug_print_heap_obj_proc;
-    GC_debugging_started = TRUE;
-    GC_register_displacement((word)sizeof(oh));
-}
-
-size_t GC_debug_header_size = sizeof(oh);
-
-void GC_debug_register_displacement(size_t offset)
-{
-    GC_register_displacement(offset);
-    GC_register_displacement((word)sizeof(oh) + offset);
-}
-
-void * GC_debug_malloc(size_t lb, GC_EXTRA_PARAMS)
-{
-    void * result = GC_malloc(lb + DEBUG_BYTES);
-    
-    if (result == 0) {
-        GC_err_printf("GC_debug_malloc(%lu) returning NIL (",
-        	      (unsigned long) lb);
-        GC_err_puts(s);
-        GC_err_printf(":%ld)\n", (unsigned long)i);
-        return(0);
-    }
-    if (!GC_debugging_started) {
-    	GC_start_debugging();
-    }
-    ADD_CALL_CHAIN(result, ra);
-    return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-
-void * GC_debug_malloc_ignore_off_page(size_t lb, GC_EXTRA_PARAMS)
-{
-    void * result = GC_malloc_ignore_off_page(lb + DEBUG_BYTES);
-    
-    if (result == 0) {
-        GC_err_printf("GC_debug_malloc_ignore_off_page(%lu) returning NIL (",
-        	       (unsigned long) lb);
-        GC_err_puts(s);
-        GC_err_printf(":%lu)\n", (unsigned long)i);
-        return(0);
-    }
-    if (!GC_debugging_started) {
-    	GC_start_debugging();
-    }
-    ADD_CALL_CHAIN(result, ra);
-    return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-
-void * GC_debug_malloc_atomic_ignore_off_page(size_t lb, GC_EXTRA_PARAMS)
-{
-    void * result = GC_malloc_atomic_ignore_off_page(lb + DEBUG_BYTES);
-    
-    if (result == 0) {
-        GC_err_printf("GC_debug_malloc_atomic_ignore_off_page(%lu)"
-		       " returning NIL (", (unsigned long) lb);
-        GC_err_puts(s);
-        GC_err_printf(":%lu)\n", (unsigned long)i);
-        return(0);
-    }
-    if (!GC_debugging_started) {
-    	GC_start_debugging();
-    }
-    ADD_CALL_CHAIN(result, ra);
-    return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-
-# ifdef DBG_HDRS_ALL
-/* 
- * An allocation function for internal use.
- * Normally internally allocated objects do not have debug information.
- * But in this case, we need to make sure that all objects have debug
- * headers.
- * We assume debugging was started in collector initialization,
- * and we already hold the GC lock.
- */
-  void * GC_debug_generic_malloc_inner(size_t lb, int k)
-  {
-    void * result = GC_generic_malloc_inner(lb + DEBUG_BYTES, k);
-    
-    if (result == 0) {
-        GC_err_printf("GC internal allocation (%lu bytes) returning NIL\n",
-        	       (unsigned long) lb);
-        return(0);
-    }
-    ADD_CALL_CHAIN(result, GC_RETURN_ADDR);
-    return (GC_store_debug_info_inner(result, (word)lb, "INTERNAL", (word)0));
-  }
-
-  void * GC_debug_generic_malloc_inner_ignore_off_page(size_t lb, int k)
-  {
-    void * result = GC_generic_malloc_inner_ignore_off_page(
-					        lb + DEBUG_BYTES, k);
-    
-    if (result == 0) {
-        GC_err_printf("GC internal allocation (%lu bytes) returning NIL\n",
-        	       (unsigned long) lb);
-        return(0);
-    }
-    ADD_CALL_CHAIN(result, GC_RETURN_ADDR);
-    return (GC_store_debug_info_inner(result, (word)lb, "INTERNAL", (word)0));
-  }
-# endif
-
-#ifdef STUBBORN_ALLOC
-void * GC_debug_malloc_stubborn(size_t lb, GC_EXTRA_PARAMS)
-{
-    void * result = GC_malloc_stubborn(lb + DEBUG_BYTES);
-    
-    if (result == 0) {
-        GC_err_printf("GC_debug_malloc(%lu) returning NIL (",
-        	      (unsigned long) lb);
-        GC_err_puts(s);
-        GC_err_printf(":%lu)\n", (unsigned long)i);
-        return(0);
-    }
-    if (!GC_debugging_started) {
-    	GC_start_debugging();
-    }
-    ADD_CALL_CHAIN(result, ra);
-    return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-
-void GC_debug_change_stubborn(void *p)
-{
-    void * q = GC_base(p);
-    hdr * hhdr;
-    
-    if (q == 0) {
-        GC_err_printf("Bad argument: %p to GC_debug_change_stubborn\n", p);
-        ABORT("GC_debug_change_stubborn: bad arg");
-    }
-    hhdr = HDR(q);
-    if (hhdr -> hb_obj_kind != STUBBORN) {
-        GC_err_printf("GC_debug_change_stubborn arg not stubborn: %p\n", p);
-        ABORT("GC_debug_change_stubborn: arg not stubborn");
-    }
-    GC_change_stubborn(q);
-}
-
-void GC_debug_end_stubborn_change(void *p)
-{
-    register void * q = GC_base(p);
-    register hdr * hhdr;
-    
-    if (q == 0) {
-        GC_err_printf("Bad argument: %p to GC_debug_end_stubborn_change\n", p);
-        ABORT("GC_debug_end_stubborn_change: bad arg");
-    }
-    hhdr = HDR(q);
-    if (hhdr -> hb_obj_kind != STUBBORN) {
-        GC_err_printf("debug_end_stubborn_change arg not stubborn: %p\n", p);
-        ABORT("GC_debug_end_stubborn_change: arg not stubborn");
-    }
-    GC_end_stubborn_change(q);
-}
-
-#else /* !STUBBORN_ALLOC */
-
-void * GC_debug_malloc_stubborn(size_t lb, GC_EXTRA_PARAMS)
-{
-    return GC_debug_malloc(lb, OPT_RA s, i);
-}
-
-void GC_debug_change_stubborn(void *p)
-{
-}
-
-void GC_debug_end_stubborn_change(void *p)
-{
-}
-
-#endif /* !STUBBORN_ALLOC */
-
-void * GC_debug_malloc_atomic(size_t lb, GC_EXTRA_PARAMS)
-{
-    void * result = GC_malloc_atomic(lb + DEBUG_BYTES);
-    
-    if (result == 0) {
-        GC_err_printf("GC_debug_malloc_atomic(%lu) returning NIL (",
-        	      (unsigned long) lb);
-        GC_err_puts(s);
-        GC_err_printf(":%lu)\n", (unsigned long)i);
-        return(0);
-    }
-    if (!GC_debugging_started) {
-        GC_start_debugging();
-    }
-    ADD_CALL_CHAIN(result, ra);
-    return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-
-char *GC_debug_strdup(const char *str, GC_EXTRA_PARAMS)
-{
-    char *copy;
-    if (str == NULL) return NULL;
-    copy = GC_debug_malloc_atomic(strlen(str) + 1, OPT_RA s, i);
-    if (copy == NULL) {
-      errno = ENOMEM;
-      return NULL;
-    }
-    strcpy(copy, str);
-    return copy;
-}
-
-void * GC_debug_malloc_uncollectable(size_t lb, GC_EXTRA_PARAMS)
-{
-    void * result = GC_malloc_uncollectable(lb + UNCOLLECTABLE_DEBUG_BYTES);
-    
-    if (result == 0) {
-        GC_err_printf("GC_debug_malloc_uncollectable(%lu) returning NIL (",
-        	      (unsigned long) lb);
-        GC_err_puts(s);
-        GC_err_printf(":%lu)\n", (unsigned long)i);
-        return(0);
-    }
-    if (!GC_debugging_started) {
-        GC_start_debugging();
-    }
-    ADD_CALL_CHAIN(result, ra);
-    return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-
-#ifdef ATOMIC_UNCOLLECTABLE
-void * GC_debug_malloc_atomic_uncollectable(size_t lb, GC_EXTRA_PARAMS)
-{
-    void * result =
-	GC_malloc_atomic_uncollectable(lb + UNCOLLECTABLE_DEBUG_BYTES);
-    
-    if (result == 0) {
-        GC_err_printf(
-		"GC_debug_malloc_atomic_uncollectable(%lu) returning NIL (",
-                (unsigned long) lb);
-        GC_err_puts(s);
-        GC_err_printf(":%lu)\n", (unsigned long)i);
-        return(0);
-    }
-    if (!GC_debugging_started) {
-        GC_start_debugging();
-    }
-    ADD_CALL_CHAIN(result, ra);
-    return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-#endif /* ATOMIC_UNCOLLECTABLE */
-
-void GC_debug_free(void * p)
-{
-    ptr_t base;
-    ptr_t clobbered;
-    
-    if (0 == p) return;
-    base = GC_base(p);
-    if (base == 0) {
-        GC_err_printf("Attempt to free invalid pointer %p\n", p);
-        ABORT("free(invalid pointer)");
-    }
-    if ((ptr_t)p - (ptr_t)base != sizeof(oh)) {
-        GC_err_printf(
-        	  "GC_debug_free called on pointer %p wo debugging info\n", p);
-    } else {
-#     ifndef SHORT_DBG_HDRS
-        clobbered = GC_check_annotated_obj((oh *)base);
-        if (clobbered != 0) {
-          if (((oh *)base) -> oh_sz == GC_size(base)) {
-            GC_err_printf(
-                  "GC_debug_free: found previously deallocated (?) object at ");
-          } else {
-            GC_err_printf("GC_debug_free: found smashed location at ");
-          }
-          GC_print_smashed_obj(p, clobbered);
-        }
-        /* Invalidate size */
-        ((oh *)base) -> oh_sz = GC_size(base);
-#     endif /* SHORT_DBG_HDRS */
-    }
-    if (GC_find_leak) {
-        GC_free(base);
-    } else {
-	hdr * hhdr = HDR(p);
-	GC_bool uncollectable = FALSE;
-
-        if (hhdr ->  hb_obj_kind == UNCOLLECTABLE) {
-	    uncollectable = TRUE;
-	}
-#	ifdef ATOMIC_UNCOLLECTABLE
-	    if (hhdr ->  hb_obj_kind == AUNCOLLECTABLE) {
-		    uncollectable = TRUE;
-	    }
-#	endif
-	if (uncollectable) {
-	    GC_free(base);
-	} else {
-	    size_t i;
-	    size_t obj_sz = BYTES_TO_WORDS(hhdr -> hb_sz - sizeof(oh));
-
-	    for (i = 0; i < obj_sz; ++i) ((word *)p)[i] = 0xdeadbeef;
-	    GC_ASSERT((word *)p + i == (word *)(base + hhdr -> hb_sz));
-	}
-    } /* !GC_find_leak */
-}
-
-#ifdef THREADS
-
-extern void GC_free_inner(void * p);
-
-/* Used internally; we assume it's called correctly.	*/
-void GC_debug_free_inner(void * p)
-{
-    GC_free_inner(GC_base(p));
-}
-#endif
-
-void * GC_debug_realloc(void * p, size_t lb, GC_EXTRA_PARAMS)
-{
-    void * base = GC_base(p);
-    ptr_t clobbered;
-    void * result;
-    size_t copy_sz = lb;
-    size_t old_sz;
-    hdr * hhdr;
-    
-    if (p == 0) return(GC_debug_malloc(lb, OPT_RA s, i));
-    if (base == 0) {
-        GC_err_printf("Attempt to reallocate invalid pointer %p\n", p);
-        ABORT("realloc(invalid pointer)");
-    }
-    if ((ptr_t)p - (ptr_t)base != sizeof(oh)) {
-        GC_err_printf(
-        	"GC_debug_realloc called on pointer %p wo debugging info\n", p);
-        return(GC_realloc(p, lb));
-    }
-    hhdr = HDR(base);
-    switch (hhdr -> hb_obj_kind) {
-#    ifdef STUBBORN_ALLOC
-      case STUBBORN:
-        result = GC_debug_malloc_stubborn(lb, OPT_RA s, i);
-        break;
-#    endif
-      case NORMAL:
-        result = GC_debug_malloc(lb, OPT_RA s, i);
-        break;
-      case PTRFREE:
-        result = GC_debug_malloc_atomic(lb, OPT_RA s, i);
-        break;
-      case UNCOLLECTABLE:
-	result = GC_debug_malloc_uncollectable(lb, OPT_RA s, i);
- 	break;
-#    ifdef ATOMIC_UNCOLLECTABLE
-      case AUNCOLLECTABLE:
-	result = GC_debug_malloc_atomic_uncollectable(lb, OPT_RA s, i);
-	break;
-#    endif
-      default:
-        GC_err_printf("GC_debug_realloc: encountered bad kind\n");
-        ABORT("bad kind");
-    }
-#   ifdef SHORT_DBG_HDRS
-      old_sz = GC_size(base) - sizeof(oh);
-#   else
-      clobbered = GC_check_annotated_obj((oh *)base);
-      if (clobbered != 0) {
-        GC_err_printf("GC_debug_realloc: found smashed location at ");
-        GC_print_smashed_obj(p, clobbered);
-      }
-      old_sz = ((oh *)base) -> oh_sz;
-#   endif
-    if (old_sz < copy_sz) copy_sz = old_sz;
-    if (result == 0) return(0);
-    BCOPY(p, result,  copy_sz);
-    GC_debug_free(p);
-    return(result);
-}
-
-#ifndef SHORT_DBG_HDRS
-
-/* List of smashed objects.  We defer printing these, since we can't	*/
-/* always print them nicely with the allocation lock held.		*/
-/* We put them here instead of in GC_arrays, since it may be useful to	*/
-/* be able to look at them with the debugger.				*/
-#define MAX_SMASHED 20
-ptr_t GC_smashed[MAX_SMASHED];
-unsigned GC_n_smashed = 0;
-
-void GC_add_smashed(ptr_t smashed)
-{
-    GC_ASSERT(GC_is_marked(GC_base(smashed)));
-    GC_smashed[GC_n_smashed] = smashed;
-    if (GC_n_smashed < MAX_SMASHED - 1) ++GC_n_smashed;
-      /* In case of overflow, we keep the first MAX_SMASHED-1	*/
-      /* entries plus the last one.				*/
-    GC_have_errors = TRUE;
-}
-
-/* Print all objects on the list.  Clear the list.	*/
-void GC_print_all_smashed_proc(void)
-{
-    unsigned i;
-
-    GC_ASSERT(I_DONT_HOLD_LOCK());
-    if (GC_n_smashed == 0) return;
-    GC_err_printf("GC_check_heap_block: found smashed heap objects:\n");
-    for (i = 0; i < GC_n_smashed; ++i) {
-        GC_print_smashed_obj(GC_base(GC_smashed[i]), GC_smashed[i]);
-	GC_smashed[i] = 0;
-    }
-    GC_n_smashed = 0;
-}
-
-/* Check all marked objects in the given block for validity   	*/
-/* Avoid GC_apply_to_each_object for performance reasons.	*/
-/*ARGSUSED*/
-void GC_check_heap_block(struct hblk *hbp, word dummy)
-{
-    struct hblkhdr * hhdr = HDR(hbp);
-    size_t sz = hhdr -> hb_sz;
-    size_t bit_no;
-    char *p, *plim;
-    
-    p = hbp->hb_body;
-    bit_no = 0;
-    if (sz > MAXOBJBYTES) {
-	plim = p;
-    } else {
-    	plim = hbp->hb_body + HBLKSIZE - sz;
-    }
-    /* go through all words in block */
-	while( p <= plim ) {
-	    if( mark_bit_from_hdr(hhdr, bit_no)
-	        && GC_HAS_DEBUG_INFO((ptr_t)p)) {
-	        ptr_t clobbered = GC_check_annotated_obj((oh *)p);
-	        
-	        if (clobbered != 0) GC_add_smashed(clobbered);
-	    }
-	    bit_no += MARK_BIT_OFFSET(sz);
-	    p += sz;
-	}
-}
-
-
-/* This assumes that all accessible objects are marked, and that	*/
-/* I hold the allocation lock.	Normally called by collector.		*/
-void GC_check_heap_proc(void)
-{
-#   ifndef SMALL_CONFIG
-      /* Ignore gcc no effect warning on the following.		*/
-      GC_STATIC_ASSERT((sizeof(oh) & (GRANULE_BYTES - 1)) == 0);
-      /* FIXME: Should we check for twice that alignment?	*/
-#   endif
-    GC_apply_to_all_blocks(GC_check_heap_block, (word)0);
-}
-
-#endif /* !SHORT_DBG_HDRS */
-
-struct closure {
-    GC_finalization_proc cl_fn;
-    void * cl_data;
-};
-
-void * GC_make_closure(GC_finalization_proc fn, void * data)
-{
-    struct closure * result =
-#   ifdef DBG_HDRS_ALL
-      (struct closure *) GC_debug_malloc(sizeof (struct closure),
-				         GC_EXTRAS);
-#   else
-      (struct closure *) GC_malloc(sizeof (struct closure));
-#   endif
-    
-    result -> cl_fn = fn;
-    result -> cl_data = data;
-    return((void *)result);
-}
-
-void GC_debug_invoke_finalizer(void * obj, void * data)
-{
-    register struct closure * cl = (struct closure *) data;
-    
-    (*(cl -> cl_fn))((void *)((char *)obj + sizeof(oh)), cl -> cl_data);
-} 
-
-/* Set ofn and ocd to reflect the values we got back.	*/
-static void store_old (void *obj, GC_finalization_proc my_old_fn,
-		       struct closure *my_old_cd, GC_finalization_proc *ofn,
-		       void **ocd)
-{
-    if (0 != my_old_fn) {
-      if (my_old_fn != GC_debug_invoke_finalizer) {
-        GC_err_printf("Debuggable object at %p had non-debug finalizer.\n",
-		      obj);
-        /* This should probably be fatal. */
-      } else {
-        if (ofn) *ofn = my_old_cd -> cl_fn;
-        if (ocd) *ocd = my_old_cd -> cl_data;
-      }
-    } else {
-      if (ofn) *ofn = 0;
-      if (ocd) *ocd = 0;
-    }
-}
-
-void GC_debug_register_finalizer(void * obj, GC_finalization_proc fn,
-    				 void * cd, GC_finalization_proc *ofn,
-				 void * *ocd)
-{
-    GC_finalization_proc my_old_fn;
-    void * my_old_cd;
-    ptr_t base = GC_base(obj);
-    if (0 == base) return;
-    if ((ptr_t)obj - base != sizeof(oh)) {
-        GC_err_printf(
-	    "GC_debug_register_finalizer called with non-base-pointer %p\n",
-	    obj);
-    }
-    if (0 == fn) {
-      GC_register_finalizer(base, 0, 0, &my_old_fn, &my_old_cd);
-    } else {
-      GC_register_finalizer(base, GC_debug_invoke_finalizer,
-    			    GC_make_closure(fn,cd), &my_old_fn, &my_old_cd);
-    }
-    store_old(obj, my_old_fn, (struct closure *)my_old_cd, ofn, ocd);
-}
-
-void GC_debug_register_finalizer_no_order
-    				    (void * obj, GC_finalization_proc fn,
-    				     void * cd, GC_finalization_proc *ofn,
-				     void * *ocd)
-{
-    GC_finalization_proc my_old_fn;
-    void * my_old_cd;
-    ptr_t base = GC_base(obj);
-    if (0 == base) return;
-    if ((ptr_t)obj - base != sizeof(oh)) {
-        GC_err_printf(
-	  "GC_debug_register_finalizer_no_order called with "
-	  "non-base-pointer %p\n",
-	  obj);
-    }
-    if (0 == fn) {
-      GC_register_finalizer_no_order(base, 0, 0, &my_old_fn, &my_old_cd);
-    } else {
-      GC_register_finalizer_no_order(base, GC_debug_invoke_finalizer,
-    			    	     GC_make_closure(fn,cd), &my_old_fn,
-				     &my_old_cd);
-    }
-    store_old(obj, my_old_fn, (struct closure *)my_old_cd, ofn, ocd);
-}
-
-void GC_debug_register_finalizer_unreachable
-    				    (void * obj, GC_finalization_proc fn,
-    				     void * cd, GC_finalization_proc *ofn,
-				     void * *ocd)
-{
-    GC_finalization_proc my_old_fn;
-    void * my_old_cd;
-    ptr_t base = GC_base(obj);
-    if (0 == base) return;
-    if ((ptr_t)obj - base != sizeof(oh)) {
-        GC_err_printf(
-	    "GC_debug_register_finalizer_unreachable called with "
-	    "non-base-pointer %p\n",
-	    obj);
-    }
-    if (0 == fn) {
-      GC_register_finalizer_unreachable(base, 0, 0, &my_old_fn, &my_old_cd);
-    } else {
-      GC_register_finalizer_unreachable(base, GC_debug_invoke_finalizer,
-    			    	        GC_make_closure(fn,cd), &my_old_fn,
-				        &my_old_cd);
-    }
-    store_old(obj, my_old_fn, (struct closure *)my_old_cd, ofn, ocd);
-}
-
-void GC_debug_register_finalizer_ignore_self
-    				    (void * obj, GC_finalization_proc fn,
-    				     void * cd, GC_finalization_proc *ofn,
-				     void * *ocd)
-{
-    GC_finalization_proc my_old_fn;
-    void * my_old_cd;
-    ptr_t base = GC_base(obj);
-    if (0 == base) return;
-    if ((ptr_t)obj - base != sizeof(oh)) {
-        GC_err_printf(
-	    "GC_debug_register_finalizer_ignore_self called with "
-	    "non-base-pointer %p\n", obj);
-    }
-    if (0 == fn) {
-      GC_register_finalizer_ignore_self(base, 0, 0, &my_old_fn, &my_old_cd);
-    } else {
-      GC_register_finalizer_ignore_self(base, GC_debug_invoke_finalizer,
-    			    	     GC_make_closure(fn,cd), &my_old_fn,
-				     &my_old_cd);
-    }
-    store_old(obj, my_old_fn, (struct closure *)my_old_cd, ofn, ocd);
-}
-
-#ifdef GC_ADD_CALLER
-# define RA GC_RETURN_ADDR,
-#else
-# define RA
-#endif
-
-void * GC_debug_malloc_replacement(size_t lb)
-{
-    return GC_debug_malloc(lb, RA "unknown", 0);
-}
-
-void * GC_debug_realloc_replacement(void *p, size_t lb)
-{
-    return GC_debug_realloc(p, lb, RA "unknown", 0);
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/depcomp b/SRC/Boost/tools/build/v2/engine/boehm_gc/depcomp
deleted file mode 100755
index ef325e6..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/depcomp
+++ /dev/null
@@ -1,436 +0,0 @@
-#! /bin/sh
-
-# depcomp - compile a program generating dependencies as side-effects
-# Copyright 1999, 2000 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
-  echo "depcomp: Variables source, object and depmode must be set" 1>&2
-  exit 1
-fi
-# `libtool' can also be set to `yes' or `no'.
-
-if test -z "$depfile"; then
-   base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
-   dir=`echo "$object" | sed 's,/.*$,/,'`
-   if test "$dir" = "$object"; then
-      dir=
-   fi
-   # FIXME: should be _deps on DOS.
-   depfile="$dir.deps/$base"
-fi
-
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags.  We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write.  Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
-  # HP compiler uses -M and no extra arg.
-  gccflag=-M
-  depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff.  Hmm.
-  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  mv "$tmpdepfile" "$depfile"
-  ;;
-
-gcc)
-## There are various ways to get dependency output from gcc.  Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-##   up in a subdir.  Having to rename by hand is ugly.
-##   (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-##   than renaming).
-  if test -z "$gccflag"; then
-    gccflag=-MD,
-  fi
-  "$@" -Wp,"$gccflag$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
-  sed -e 's/^[^:]*: / /' \
-      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header).  We avoid this by adding
-## dummy dependencies for each header file.  Too bad gcc doesn't do
-## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-
-  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
-    echo "$object : \\" > "$depfile"
-
-    # Clip off the initial element (the dependent).  Don't try to be
-    # clever and replace this with sed code, as IRIX sed won't handle
-    # lines with more than a fixed number of characters (4096 in
-    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
-    # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> $depfile
-    echo >> $depfile
-
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> $depfile
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-aix)
-  # The C for AIX Compiler uses -M and outputs the dependencies
-  # in a .u file.  This file always lives in the current directory.
-  # Also, the AIX compiler puts `$object:' at the start of each line;
-  # $object doesn't have directory information.
-  stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
-  tmpdepfile="$stripped.u"
-  outname="$stripped.o"
-  if test "$libtool" = yes; then
-    "$@" -Wc,-M
-  else
-    "$@" -M
-  fi
-
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
-    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
-    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put 
-   # dependencies in `foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-
-   base=`echo "$object" | sed -e 's/\.o$//' -e 's/\.lo$//'`
-   tmpdepfile1="$base.o.d"
-   tmpdepfile2="$base.d"
-   if test "$libtool" = yes; then
-      "$@" -Wc,-MD
-   else
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2"
-      exit $stat
-   fi
-
-   if test -f "$tmpdepfile1"; then
-      tmpdepfile="$tmpdepfile1"
-   else
-      tmpdepfile="$tmpdepfile2"
-   fi
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a space and a tab in the [].
-      sed -e 's,^.*\.[a-z]*:[ 	]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
-
-#nosideeffect)
-  # This comment above is used by automake to tell side-effect
-  # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the proprocessed file to stdout, regardless of -o,
-  # because we must use -o when running libtool.
-  test -z "$dashmflag" && dashmflag=-M
-  ( IFS=" "
-    case " $* " in
-    *" --mode=compile "*) # this is libtool, let us make it quiet
-      for arg
-      do # cycle over the arguments
-        case "$arg" in
-	"--mode=compile")
-	  # insert --quiet before "--mode=compile"
-	  set fnord "$@" --quiet
-	  shift # fnord
-	  ;;
-	esac
-	set fnord "$@" "$arg"
-	shift # fnord
-	shift # "$arg"
-      done
-      ;;
-    esac
-    "$@" $dashmflag | sed 's:^[^:]*\:[ 	]*:'"$object"'\: :' > "$tmpdepfile"
-  ) &
-  proc=$!
-  "$@"
-  stat=$?
-  wait "$proc"
-  if test "$stat" != 0; then exit $stat; fi
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-dashXmstdout)
-  # This case only exists to satisfy depend.m4.  It is never actually
-  # run, as this mode is specially recognized in the preamble.
-  exit 1
-  ;;
-
-makedepend)
-  # X makedepend
-  (
-    shift
-    cleared=no
-    for arg in "$@"; do
-      case $cleared in no)
-        set ""; shift
-	cleared=yes
-      esac
-      case "$arg" in
-        -D*|-I*)
-	  set fnord "$@" "$arg"; shift;;
-	-*)
-	  ;;
-	*)
-	  set fnord "$@" "$arg"; shift;;
-      esac
-    done
-    obj_suffix="`echo $object | sed 's/^.*\././'`"
-    touch "$tmpdepfile"
-    ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@"
-  ) &
-  proc=$!
-  "$@"
-  stat=$?
-  wait "$proc"
-  if test "$stat" != 0; then exit $stat; fi
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile" "$tmpdepfile".bak
-  ;;
-
-cpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the proprocessed file to stdout, regardless of -o,
-  # because we must use -o when running libtool.
-  ( IFS=" "
-    case " $* " in
-    *" --mode=compile "*)
-      for arg
-      do # cycle over the arguments
-        case $arg in
-	"--mode=compile")
-	  # insert --quiet before "--mode=compile"
-	  set fnord "$@" --quiet
-	  shift # fnord
-	  ;;
-	esac
-	set fnord "$@" "$arg"
-	shift # fnord
-	shift # "$arg"
-      done
-      ;;
-    esac
-    "$@" -E |
-    sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
-  ) &
-  proc=$!
-  "$@"
-  stat=$?
-  wait "$proc"
-  if test "$stat" != 0; then exit $stat; fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  cat < "$tmpdepfile" >> "$depfile"
-  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvisualcpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the proprocessed file to stdout, regardless of -o,
-  # because we must use -o when running libtool.
-  ( IFS=" "
-    case " $* " in
-    *" --mode=compile "*)
-      for arg
-      do # cycle over the arguments
-        case $arg in
-	"--mode=compile")
-	  # insert --quiet before "--mode=compile"
-	  set fnord "$@" --quiet
-	  shift # fnord
-	  ;;
-	esac
-	set fnord "$@" "$arg"
-	shift # fnord
-	shift # "$arg"
-      done
-      ;;
-    esac
-    for arg
-    do
-      case "$arg" in
-      "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-	set fnord "$@"
-	shift
-	shift
-	;;
-      *)
-	set fnord "$@" "$arg"
-	shift
-	shift
-	;;
-      esac
-    done
-    "$@" -E |
-    sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
-  ) &
-  proc=$!
-  "$@"
-  stat=$?
-  wait "$proc"
-  if test "$stat" != 0; then exit $stat; fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
-  echo "	" >> "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-none)
-  exec "$@"
-  ;;
-
-*)
-  echo "Unknown depmode $depmode" 1>&2
-  exit 1
-  ;;
-esac
-
-exit 0
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/digimars.mak b/SRC/Boost/tools/build/v2/engine/boehm_gc/digimars.mak
deleted file mode 100755
index 41178fd..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/digimars.mak
+++ /dev/null
@@ -1,90 +0,0 @@
-# Makefile to build Hans Boehm garbage collector using the Digital Mars
-# compiler from www.digitalmars.com
-# Written by Walter Bright
-
-
-DEFINES=-DNDEBUG -DGC_BUILD -D_WINDOWS -DGC_DLL -DALL_INTERIOR_POINTERS -D__STDC__ -DWIN32_THREADS
-CFLAGS=-Iinclude $(DEFINES) -wx -g
-LFLAGS=/ma/implib/co
-CC=sc
-
-.c.obj:
-	$(CC) -c $(CFLAGS) $*
-
-.cpp.obj:
-	$(CC) -c $(CFLAGS) -Aa $*
-
-OBJS=	\
-	allchblk.obj\
-	alloc.obj\
-	blacklst.obj\
-	checksums.obj\
-	dbg_mlc.obj\
-	dyn_load.obj\
-	finalize.obj\
-	gc_cpp.obj\
-	headers.obj\
-	mach_dep.obj\
-	malloc.obj\
-	mallocx.obj\
-	mark.obj\
-	mark_rts.obj\
-	misc.obj\
-	new_hblk.obj\
-	obj_map.obj\
-	os_dep.obj\
-	ptr_chck.obj\
-	reclaim.obj\
-	stubborn.obj\
-	typd_mlc.obj\
-	win32_threads.obj
-
-targets: gc.dll gc.lib gctest.exe
-
-gc.dll: $(OBJS) gc.def digimars.mak
-	sc -ogc.dll $(OBJS) -L$(LFLAGS) gc.def 	kernel32.lib user32.lib
-
-gc.def: digimars.mak
-	echo LIBRARY GC >gc.def
-	echo DESCRIPTION "Hans Boehm Garbage Collector" >>gc.def
-	echo EXETYPE NT	>>gc.def
-	echo EXPORTS >>gc.def
-	echo GC_is_visible_print_proc >>gc.def
-	echo GC_is_valid_displacement_print_proc >>gc.def
-
-clean:
-	del gc.def
-	del $(OBJS)
-
-
-gctest.exe : gc.lib tests\test.obj
-	sc -ogctest.exe tests\test.obj gc.lib
-
-tests\test.obj : tests\test.c
-	$(CC) -c -g -DNDEBUG -DGC_BUILD -D_WINDOWS -DGC_DLL \
-	-DALL_INTERIOR_POINTERS -DWIN32_THREADS \
-	-Iinclude tests\test.c -otests\test.obj
-
-allchblk.obj: allchblk.c
-alloc.obj: alloc.c
-blacklst.obj: blacklst.c
-checksums.obj: checksums.c
-dbg_mlc.obj: dbg_mlc.c
-dyn_load.obj: dyn_load.c
-finalize.obj: finalize.c
-gc_cpp.obj: gc_cpp.cpp
-headers.obj: headers.c
-mach_dep.obj: mach_dep.c
-malloc.obj: malloc.c
-mallocx.obj: mallocx.c
-mark.obj: mark.c
-mark_rts.obj: mark_rts.c
-misc.obj: misc.c
-new_hblk.obj: new_hblk.c
-obj_map.obj: obj_map.c
-os_dep.obj: os_dep.c
-ptr_chck.obj: ptr_chck.c
-reclaim.obj: reclaim.c
-stubborn.obj: stubborn.c
-typd_mlc.obj: typd_mlc.c
-win32_threads.obj: win32_threads.c
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README
deleted file mode 100755
index 13edc5d..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README
+++ /dev/null
@@ -1,548 +0,0 @@
-Copyright (c) 1988, 1989 Hans-J. Boehm, Alan J. Demers
-Copyright (c) 1991-1996 by Xerox Corporation.  All rights reserved.
-Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
-Copyright (c) 1999-2005 Hewlett-Packard Development Company, L.P.
-
-The file linux_threads.c is also
-Copyright (c) 1998 by Fergus Henderson.  All rights reserved.
-
-The files Makefile.am, and configure.in are
-Copyright (c) 2001 by Red Hat Inc. All rights reserved.
-
-Several files supporting GNU-style builds are copyrighted by the Free
-Software Foundation, and carry a different license from that given
-below.  The files included in the libatomic_ops distribution (included
-here) use either the license below, or a similar MIT-style license,
-or, for some files not actually used by the garbage-collector library, the
-GPL.
-
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-Permission is hereby granted to use or copy this program
-for any purpose,  provided the above notices are retained on all copies.
-Permission to modify the code and to distribute modified code is granted,
-provided the above notices are retained, and a notice that the code was
-modified is included with the above copyright notice.
-
-A few of the files needed to use the GNU-style build procedure come with
-slightly different licenses, though they are all similar in spirit.  A few
-are GPL'ed, but with an exception that should cover all uses in the
-collector.  (If you are concerned about such things, I recommend you look
-at the notice in config.guess or ltmain.sh.)
-
-This is version 7.0 of a conservative garbage collector for C and C++.
-
-You might find a more recent version of this at
-
-http://www.hpl.hp.com/personal/Hans_Boehm/gc
-
-OVERVIEW
-
-    This is intended to be a general purpose, garbage collecting storage
-allocator.  The algorithms used are described in:
-
-Boehm, H., and M. Weiser, "Garbage Collection in an Uncooperative Environment",
-Software Practice & Experience, September 1988, pp. 807-820.
-
-Boehm, H., A. Demers, and S. Shenker, "Mostly Parallel Garbage Collection",
-Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design
-and Implementation, SIGPLAN Notices 26, 6 (June 1991), pp. 157-164.
-
-Boehm, H., "Space Efficient Conservative Garbage Collection", Proceedings
-of the ACM SIGPLAN '91 Conference on Programming Language Design and
-Implementation, SIGPLAN Notices 28, 6 (June 1993), pp. 197-206.
-
-Boehm H., "Reducing Garbage Collector Cache Misses", Proceedings of the
-2000 International Symposium on Memory Management.
-
-  Possible interactions between the collector and optimizing compilers are
-discussed in
-
-Boehm, H., and D. Chase, "A Proposal for GC-safe C Compilation",
-The Journal of C Language Translation 4, 2 (December 1992).
-
-and
-
-Boehm H., "Simple GC-safe Compilation", Proceedings
-of the ACM SIGPLAN '96 Conference on Programming Language Design and
-Implementation.
-
-(Some of these are also available from
-http://www.hpl.hp.com/personal/Hans_Boehm/papers/, among other places.)
-
-  Unlike the collector described in the second reference, this collector
-operates either with the mutator stopped during the entire collection
-(default) or incrementally during allocations.  (The latter is supported
-on fewer machines.)  On the most common platforms, it can be built
-with or without thread support.  On a few platforms, it can take advantage
-of a multiprocessor to speed up garbage collection.
-
-  Many of the ideas underlying the collector have previously been explored
-by others.  Notably, some of the run-time systems developed at Xerox PARC
-in the early 1980s conservatively scanned thread stacks to locate possible
-pointers (cf. Paul Rovner, "On Adding Garbage Collection and Runtime Types
-to a Strongly-Typed Statically Checked, Concurrent Language"  Xerox PARC
-CSL 84-7).  Doug McIlroy wrote a simpler fully conservative collector that
-was part of version 8 UNIX (tm), but appears to not have received
-widespread use.
-
-  Rudimentary tools for use of the collector as a leak detector are included
-(see http://www.hpl.hp.com/personal/Hans_Boehm/gc/leak.html),
-as is a fairly sophisticated string package "cord" that makes use of the
-collector.  (See doc/README.cords and H.-J. Boehm, R. Atkinson, and M. Plass,
-"Ropes: An Alternative to Strings", Software Practice and Experience 25, 12
-(December 1995), pp. 1315-1330.  This is very similar to the "rope" package
-in Xerox Cedar, or the "rope" package in the SGI STL or the g++ distribution.)
-
-Further collector documantation can be found at
-
-http://www.hpl.hp.com/personal/Hans_Boehm/gc
-
-
-GENERAL DESCRIPTION
-
-  This is a garbage collecting storage allocator that is intended to be
-used as a plug-in replacement for C's malloc.
-
-  Since the collector does not require pointers to be tagged, it does not
-attempt to ensure that all inaccessible storage is reclaimed.  However,
-in our experience, it is typically more successful at reclaiming unused
-memory than most C programs using explicit deallocation.  Unlike manually
-introduced leaks, the amount of unreclaimed memory typically stays
-bounded.
-
-  In the following, an "object" is defined to be a region of memory allocated
-by the routines described below.  
-
-  Any objects not intended to be collected must be pointed to either
-from other such accessible objects, or from the registers,
-stack, data, or statically allocated bss segments.  Pointers from
-the stack or registers may point to anywhere inside an object.
-The same is true for heap pointers if the collector is compiled with
-ALL_INTERIOR_POINTERS defined, or GC_all_interior_pointers is otherwise
-set, as is now the default.
-
-Compiling without ALL_INTERIOR_POINTERS may reduce accidental retention
-of garbage objects, by requiring pointers from the heap to to the beginning
-of an object.  But this no longer appears to be a significant
-issue for most programs occupying a small fraction of the possible
-address space.
-
-There are a number of routines which modify the pointer recognition
-algorithm.  GC_register_displacement allows certain interior pointers
-to be recognized even if ALL_INTERIOR_POINTERS is nor defined.
-GC_malloc_ignore_off_page allows some pointers into the middle of large objects
-to be disregarded, greatly reducing the probablility of accidental
-retention of large objects.  For most purposes it seems best to compile
-with ALL_INTERIOR_POINTERS and to use GC_malloc_ignore_off_page if
-you get collector warnings from allocations of very large objects.
-See README.debugging for details.
-
-  WARNING: pointers inside memory allocated by the standard "malloc" are not
-seen by the garbage collector.  Thus objects pointed to only from such a
-region may be prematurely deallocated.  It is thus suggested that the
-standard "malloc" be used only for memory regions, such as I/O buffers, that
-are guaranteed not to contain pointers to garbage collectable memory.
-Pointers in C language automatic, static, or register variables,
-are correctly recognized.  (Note that GC_malloc_uncollectable has semantics
-similar to standard malloc, but allocates objects that are traced by the
-collector.)
-
-  WARNING: the collector does not always know how to find pointers in data
-areas that are associated with dynamic libraries.  This is easy to
-remedy IF you know how to find those data areas on your operating
-system (see GC_add_roots).  Code for doing this under SunOS, IRIX 5.X and 6.X,
-HP/UX, Alpha OSF/1, Linux, and win32 is included and used by default.  (See
-README.win32 for win32 details.)  On other systems pointers from dynamic
-library data areas may not be considered by the collector.
-If you're writing a program that depends on the collector scanning
-dynamic library data areas, it may be a good idea to include at least
-one call to GC_is_visible() to ensure that those areas are visible
-to the collector.
-
-  Note that the garbage collector does not need to be informed of shared
-read-only data.  However if the shared library mechanism can introduce
-discontiguous data areas that may contain pointers, then the collector does
-need to be informed.
-
-  Signal processing for most signals may be deferred during collection,
-and during uninterruptible parts of the allocation process.
-Like standard ANSI C mallocs, by default it is unsafe to invoke
-malloc (and other GC routines) from a signal handler while another
-malloc call may be in progress. Removing -DNO_SIGNALS from Makefile
-attempts to remedy that.  But that may not be reliable with a compiler that
-substantially reorders memory operations inside GC_malloc.
-
-  The allocator/collector can also be configured for thread-safe operation.
-(Full signal safety can also be achieved, but only at the cost of two system
-calls per malloc, which is usually unacceptable.)
-WARNING: the collector does not guarantee to scan thread-local storage
-(e.g. of the kind accessed with pthread_getspecific()).  The collector
-does scan thread stacks, though, so generally the best solution is to
-ensure that any pointers stored in thread-local storage are also
-stored on the thread's stack for the duration of their lifetime.
-(This is arguably a longstanding bug, but it hasn't been fixed yet.)
-
-INSTALLATION AND PORTABILITY
-
-  As distributed, the collector operates silently
-In the event of problems, this can usually be changed by defining the
-GC_PRINT_STATS or GC_PRINT_VERBOSE_STATS environment variables.  This
-will result in a few lines of descriptive output for each collection.
-(The given statistics exhibit a few peculiarities.
-Things don't appear to add up for a variety of reasons, most notably
-fragmentation losses.  These are probably much more significant for the
-contrived program "test.c" than for your application.)
-
-  On most Un*x-like platforms, the collector can be built either using a
-GNU autoconf-based build infrastructure (type "configure; make" in the
-simplest case), or with a classic makefile by itself (type
-"cp Makefile.direct Makefile; make").  Here we focus on the latter option.
-On other platforms, typically only the latter option is available, though
-with a different supplied Makefile.)
-
-  Typing "make test" nstead of "make" will automatically build the collector
-and then run setjmp_test and gctest. Setjmp_test will give you information
-about configuring the collector, which is useful primarily if you have
-a machine that's not already supported.  Gctest is a somewhat superficial
-test of collector functionality.  Failure is indicated by a core dump or
-a message to the effect that the collector is broken.  Gctest takes about 
-a second to two to run on reasonable 2007 vintage desktops.
-It may use up to about 30MB of memory.  (The
-multi-threaded version will use more.  64-bit versions may use more.)
-"Make test" will also, as its last step, attempt to build and test the
-"cord" string library.)
-
-  The Makefile will generate a library gc.a which you should link against.
-Typing "make cords" will add the cord library to gc.a.
-Note that this requires an ANSI C compiler.
-
-  It is suggested that if you need to replace a piece of the collector
-(e.g. GC_mark_rts.c) you simply list your version ahead of gc.a on the
-ld command line, rather than replacing the one in gc.a.  (This will
-generate numerous warnings under some versions of AIX, but it still
-works.)
-
-  All include files that need to be used by clients will be put in the
-include subdirectory.  (Normally this is just gc.h.  "Make cords" adds
-"cord.h" and "ec.h".)
-
-  The collector currently is designed to run essentially unmodified on
-machines that use a flat 32-bit or 64-bit address space.
-That includes the vast majority of Workstations and X86 (X >= 3) PCs.
-(The list here was deleted because it was getting too long and constantly
-out of date.)
-
-  In a few cases (Amiga, OS/2, Win32, MacOS) a separate makefile
-or equivalent is supplied.  Many of these have separate README.system
-files.
-
-  Dynamic libraries are completely supported only under SunOS/Solaris,
-(and even that support is not functional on the last Sun 3 release),
-Linux, FreeBSD, NetBSD, IRIX 5&6, HP/UX, Win32 (not Win32S) and OSF/1
-on DEC AXP machines plus perhaps a few others listed near the top
-of dyn_load.c.  On other machines we recommend that you do one of
-the following:
-
-  1) Add dynamic library support (and send us the code).
-  2) Use static versions of the libraries.
-  3) Arrange for dynamic libraries to use the standard malloc.
-     This is still dangerous if the library stores a pointer to a
-     garbage collected object.  But nearly all standard interfaces
-     prohibit this, because they deal correctly with pointers
-     to stack allocated objects.  (Strtok is an exception.  Don't
-     use it.)
-
-  In all cases we assume that pointer alignment is consistent with that
-enforced by the standard C compilers.  If you use a nonstandard compiler
-you may have to adjust the alignment parameters defined in gc_priv.h.
-Note that this may also be an issue with packed records/structs, if those
-enforce less alignment for pointers.
-
-  A port to a machine that is not byte addressed, or does not use 32 bit
-or 64 bit addresses will require a major effort.  A port to plain MSDOS
-or win16 is hard.
-
-  For machines not already mentioned, or for nonstandard compilers,
-some porting suggestions are provided in the "porting.html" file.
-
-THE C INTERFACE TO THE ALLOCATOR
-
-  The following routines are intended to be directly called by the user.
-Note that usually only GC_malloc is necessary.  GC_clear_roots and GC_add_roots
-calls may be required if the collector has to trace from nonstandard places
-(e.g. from dynamic library data areas on a machine on which the 
-collector doesn't already understand them.)  On some machines, it may
-be desirable to set GC_stacktop to a good approximation of the stack base. 
-(This enhances code portability on HP PA machines, since there is no
-good way for the collector to compute this value.)  Client code may include
-"gc.h", which defines all of the following, plus many others.
-
-1)  GC_malloc(nbytes)
-    - allocate an object of size nbytes.  Unlike malloc, the object is
-      cleared before being returned to the user.  Gc_malloc will
-      invoke the garbage collector when it determines this to be appropriate.
-      GC_malloc may return 0 if it is unable to acquire sufficient
-      space from the operating system.  This is the most probable
-      consequence of running out of space.  Other possible consequences
-      are that a function call will fail due to lack of stack space,
-      or that the collector will fail in other ways because it cannot
-      maintain its internal data structures, or that a crucial system
-      process will fail and take down the machine.  Most of these
-      possibilities are independent of the malloc implementation.
-
-2)  GC_malloc_atomic(nbytes)
-    - allocate an object of size nbytes that is guaranteed not to contain any
-      pointers.  The returned object is not guaranteed to be cleared.
-      (Can always be replaced by GC_malloc, but results in faster collection
-      times.  The collector will probably run faster if large character
-      arrays, etc. are allocated with GC_malloc_atomic than if they are
-      statically allocated.)
-
-3)  GC_realloc(object, new_size)
-    - change the size of object to be new_size.  Returns a pointer to the
-      new object, which may, or may not, be the same as the pointer to
-      the old object.  The new object is taken to be atomic iff the old one
-      was.  If the new object is composite and larger than the original object,
-      then the newly added bytes are cleared (we hope).  This is very likely
-      to allocate a new object, unless MERGE_SIZES is defined in gc_priv.h.
-      Even then, it is likely to recycle the old object only if the object
-      is grown in small additive increments (which, we claim, is generally bad
-      coding practice.)
-
-4)  GC_free(object)
-    - explicitly deallocate an object returned by GC_malloc or
-      GC_malloc_atomic.  Not necessary, but can be used to minimize
-      collections if performance is critical.  Probably a performance
-      loss for very small objects (<= 8 bytes).
-
-5)  GC_expand_hp(bytes)
-    - Explicitly increase the heap size.  (This is normally done automatically
-      if a garbage collection failed to GC_reclaim enough memory.  Explicit
-      calls to GC_expand_hp may prevent unnecessarily frequent collections at
-      program startup.)
-
-6)  GC_malloc_ignore_off_page(bytes)
-	- identical to GC_malloc, but the client promises to keep a pointer to
-	  the somewhere within the first 256 bytes of the object while it is
-	  live.  (This pointer should nortmally be declared volatile to prevent
-	  interference from compiler optimizations.)  This is the recommended
-	  way to allocate anything that is likely to be larger than 100Kbytes
-	  or so.  (GC_malloc may result in failure to reclaim such objects.)
-
-7)  GC_set_warn_proc(proc)
-	- Can be used to redirect warnings from the collector.  Such warnings
-	  should be rare, and should not be ignored during code development.
-      
-8) GC_enable_incremental()
-    - Enables generational and incremental collection.  Useful for large
-      heaps on machines that provide access to page dirty information.
-      Some dirty bit implementations may interfere with debugging
-      (by catching address faults) and place restrictions on heap arguments
-      to system calls (since write faults inside a system call may not be
-      handled well).
-
-9) Several routines to allow for registration of finalization code.
-   User supplied finalization code may be invoked when an object becomes
-   unreachable.  To call (*f)(obj, x) when obj becomes inaccessible, use
-	GC_register_finalizer(obj, f, x, 0, 0);
-   For more sophisticated uses, and for finalization ordering issues,
-   see gc.h.
-
-  The global variable GC_free_space_divisor may be adjusted up from its
-default value of 4 to use less space and more collection time, or down for
-the opposite effect.  Setting it to 1 or 0 will effectively disable collections
-and cause all allocations to simply grow the heap.
-
-  The variable GC_non_gc_bytes, which is normally 0, may be changed to reflect
-the amount of memory allocated by the above routines that should not be
-considered as a candidate for collection.  Careless use may, of course, result
-in excessive memory consumption.
-
-  Some additional tuning is possible through the parameters defined
-near the top of gc_priv.h.
-  
-  If only GC_malloc is intended to be used, it might be appropriate to define:
-
-#define malloc(n) GC_malloc(n)
-#define calloc(m,n) GC_malloc((m)*(n))
-
-  For small pieces of VERY allocation intensive code, gc_inl.h
-includes some allocation macros that may be used in place of GC_malloc
-and friends.
-
-  All externally visible names in the garbage collector start with "GC_".
-To avoid name conflicts, client code should avoid this prefix, except when
-accessing garbage collector routines or variables.
-
-  There are provisions for allocation with explicit type information.
-This is rarely necessary.  Details can be found in gc_typed.h.
-
-THE C++ INTERFACE TO THE ALLOCATOR:
-
-  The Ellis-Hull C++ interface to the collector is included in
-the collector distribution.  If you intend to use this, type
-"make c++" after the initial build of the collector is complete.
-See gc_cpp.h for the definition of the interface.  This interface
-tries to approximate the Ellis-Detlefs C++ garbage collection
-proposal without compiler changes.
-
-  Very often it will also be necessary to use gc_allocator.h and the
-allocator declared there to construct STL data structures.  Otherwise
-subobjects of STL data structures wil be allcoated using a system
-allocator, and objects they refer to may be prematurely collected.
-
-USE AS LEAK DETECTOR:
-
-  The collector may be used to track down leaks in C programs that are
-intended to run with malloc/free (e.g. code with extreme real-time or
-portability constraints).  To do so define FIND_LEAK in Makefile
-This will cause the collector to invoke the report_leak
-routine defined near the top of reclaim.c whenever an inaccessible
-object is found that has not been explicitly freed.  Such objects will
-also be automatically reclaimed.
-  If all objects are allocated with GC_DEBUG_MALLOC (see next section), then
-the default version of report_leak will report at least the source file and
-line number at which the leaked object was allocated.  This may sometimes be
-sufficient.  (On a few machines, it will also report a cryptic stack trace.
-If this is not symbolic, it can somethimes be called into a sympolic stack
-trace by invoking program "foo" with "callprocs foo".  Callprocs is a short
-shell script that invokes adb to expand program counter values to symbolic
-addresses.  It was largely supplied by Scott Schwartz.)
-  Note that the debugging facilities described in the next section can
-sometimes be slightly LESS effective in leak finding mode, since in
-leak finding mode, GC_debug_free actually results in reuse of the object.
-(Otherwise the object is simply marked invalid.)  Also note that the test
-program is not designed to run meaningfully in FIND_LEAK mode.
-Use "make gc.a" to build the collector.
-
-DEBUGGING FACILITIES:
-
-  The routines GC_debug_malloc, GC_debug_malloc_atomic, GC_debug_realloc,
-and GC_debug_free provide an alternate interface to the collector, which
-provides some help with memory overwrite errors, and the like.
-Objects allocated in this way are annotated with additional
-information.  Some of this information is checked during garbage
-collections, and detected inconsistencies are reported to stderr.
-
-  Simple cases of writing past the end of an allocated object should
-be caught if the object is explicitly deallocated, or if the
-collector is invoked while the object is live.  The first deallocation
-of an object will clear the debugging info associated with an
-object, so accidentally repeated calls to GC_debug_free will report the
-deallocation of an object without debugging information.  Out of
-memory errors will be reported to stderr, in addition to returning
-NIL.
-
-  GC_debug_malloc checking  during garbage collection is enabled
-with the first call to GC_debug_malloc.  This will result in some
-slowdown during collections.  If frequent heap checks are desired,
-this can be achieved by explicitly invoking GC_gcollect, e.g. from
-the debugger.
-
-  GC_debug_malloc allocated objects should not be passed to GC_realloc
-or GC_free, and conversely.  It is however acceptable to allocate only
-some objects with GC_debug_malloc, and to use GC_malloc for other objects,
-provided the two pools are kept distinct.  In this case, there is a very
-low probablility that GC_malloc allocated objects may be misidentified as
-having been overwritten.  This should happen with probability at most
-one in 2**32.  This probability is zero if GC_debug_malloc is never called.
-
-  GC_debug_malloc, GC_malloc_atomic, and GC_debug_realloc take two
-additional trailing arguments, a string and an integer.  These are not
-interpreted by the allocator.  They are stored in the object (the string is
-not copied).  If an error involving the object is detected, they are printed.
-
-  The macros GC_MALLOC, GC_MALLOC_ATOMIC, GC_REALLOC, GC_FREE, and
-GC_REGISTER_FINALIZER are also provided.  These require the same arguments
-as the corresponding (nondebugging) routines.  If gc.h is included
-with GC_DEBUG defined, they call the debugging versions of these
-functions, passing the current file name and line number as the two
-extra arguments, where appropriate.  If gc.h is included without GC_DEBUG
-defined, then all these macros will instead be defined to their nondebugging
-equivalents.  (GC_REGISTER_FINALIZER is necessary, since pointers to
-objects with debugging information are really pointers to a displacement
-of 16 bytes form the object beginning, and some translation is necessary
-when finalization routines are invoked.  For details, about what's stored
-in the header, see the definition of the type oh in debug_malloc.c)
-
-INCREMENTAL/GENERATIONAL COLLECTION:
-
-The collector normally interrupts client code for the duration of 
-a garbage collection mark phase.  This may be unacceptable if interactive
-response is needed for programs with large heaps.  The collector
-can also run in a "generational" mode, in which it usually attempts to
-collect only objects allocated since the last garbage collection.
-Furthermore, in this mode, garbage collections run mostly incrementally,
-with a small amount of work performed in response to each of a large number of
-GC_malloc requests.
-
-This mode is enabled by a call to GC_enable_incremental().
-
-Incremental and generational collection is effective in reducing
-pause times only if the collector has some way to tell which objects
-or pages have been recently modified.  The collector uses two sources
-of information:
-
-1. Information provided by the VM system.  This may be provided in
-one of several forms.  Under Solaris 2.X (and potentially under other
-similar systems) information on dirty pages can be read from the
-/proc file system.  Under other systems (currently SunOS4.X) it is
-possible to write-protect the heap, and catch the resulting faults.
-On these systems we require that system calls writing to the heap
-(other than read) be handled specially by client code.
-See os_dep.c for details.
-
-2. Information supplied by the programmer.  We define "stubborn"
-objects to be objects that are rarely changed.  Such an object
-can be allocated (and enabled for writing) with GC_malloc_stubborn.
-Once it has been initialized, the collector should be informed with
-a call to GC_end_stubborn_change.  Subsequent writes that store
-pointers into the object must be preceded by a call to
-GC_change_stubborn.
-
-This mechanism performs best for objects that are written only for
-initialization, and such that only one stubborn object is writable
-at once.  It is typically not worth using for short-lived
-objects.  Stubborn objects are treated less efficiently than pointerfree
-(atomic) objects.
-
-A rough rule of thumb is that, in the absence of VM information, garbage
-collection pauses are proportional to the amount of pointerful storage
-plus the amount of modified "stubborn" storage that is reachable during
-the collection.  
-
-Initial allocation of stubborn objects takes longer than allocation
-of other objects, since other data structures need to be maintained.
-
-We recommend against random use of stubborn objects in client
-code, since bugs caused by inappropriate writes to stubborn objects
-are likely to be very infrequently observed and hard to trace.  
-However, their use may be appropriate in a few carefully written
-library routines that do not make the objects themselves available
-for writing by client code.
-
-
-BUGS:
-
-  Any memory that does not have a recognizable pointer to it will be
-reclaimed.  Exclusive-or'ing forward and backward links in a list
-doesn't cut it.
-  Some C optimizers may lose the last undisguised pointer to a memory
-object as a consequence of clever optimizations.  This has almost
-never been observed in practice.  Send mail to boehm at acm.org
-for suggestions on how to fix your compiler.
-  This is not a real-time collector.  In the standard configuration,
-percentage of time required for collection should be constant across
-heap sizes.  But collection pauses will increase for larger heaps.
-They will decrease with the number of processors if parallel marking
-is enabled.
-(On 2007 vintage machines, GC times may be on the order of 5 msecs
-per MB of accessible memory that needs to be scanned and processor.
-Your mileage may vary.)  The incremental/generational collection facility
-may help in some cases.
-  Please address bug reports to boehm at acm.org.  If you are
-contemplating a major addition, you might also send mail to ask whether
-it's already been done (or whether we tried and discarded it).
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.DGUX386 b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.DGUX386
deleted file mode 100755
index f0b02a4..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.DGUX386
+++ /dev/null
@@ -1,215 +0,0 @@
-    Garbage Collector (parallel iversion) for ix86 DG/UX Release R4.20MU07
-
-
-     *READ* the file README.QUICK.
-
-     You need the GCC-3.0.3 rev (DG/UX) compiler to build this tree.
-     This compiler has the new "dgux386" threads package implemented.
-     It also supports the switch "-pthread" needed to link correctly
-     the DG/UX's -lrte -lthread with -lgcc and the system's -lc. 
-     Finally we support parralleli-mark for the SMP DG/UX machines.
-     To build the garbage collector do:
-      
-      ./configure --enable-parallel-mark
-      make
-      make gctest
-
-     Before you run "gctest" you need to set your LD_LIBRARY_PATH
-     correctly so that "gctest" can find the shared library libgc.
-     Alternatively you can do a configuration
-
-      ./configure --enable-parallel-mark --disable-shared
-  
-     to build only the static version of libgc.
-  
-     To enable debugging messages please do:
-     1) Add the "--enable-full-debug" flag during configuration. 
-     2) Edit the file linux-threads.c and uncommnect the line:
-
-     /* #define DEBUG_THREADS 1 */ to ---> 
-
-     #define DEBUG_THREADS 1
-
-     Then give "make" as usual.
-    
-     In a machine with 4 CPUs (my own machine) the option parallel
-     mark (aka --enable-parallel-mark) makes a BIG difference.
-
-     Takis Psarogiannakopoulos
-     University of Cambridge
-     Centre for Mathematical Sciences
-     Department of Pure Mathematics
-     Wilberforce Road
-     Cambridge CB3 0WB ,UK , <takis at XFree86.Org>
-     January 2002
-
-
-Note (HB):
-     The integration of this patch is currently not complete.
-     The following patches against 6.1alpha3 where hard to move
-     to alpha4, and are not integrated.  There may also be minor
-     problems with stylistic corrections made by me.
-
-
---- ltconfig.ORIG	Mon Jan 28 20:22:18 2002
-+++ ltconfig	Mon Jan 28 20:44:00 2002
-@@ -689,6 +689,11 @@
-        pic_flag=-Kconform_pic
-     fi
-     ;;
-+  dgux*)
-+    pic_flag='-fPIC'
-+    link_static='-Bstatic'
-+    wl='-Wl,'
-+    ;;
-   *)
-     pic_flag='-fPIC'
-     ;;
-@@ -718,6 +723,12 @@
-     # We can build DLLs from non-PIC.
-     ;;
- 
-+  dgux*)
-+    pic_flag='-KPIC'
-+    link_static='-Bstatic'
-+    wl='-Wl,'
-+    ;;
-+
-   osf3* | osf4* | osf5*)
-     # All OSF/1 code is PIC.
-     wl='-Wl,'
-@@ -1154,6 +1165,22 @@
-     fi
-     ;;
- 
-+  dgux*)
-+    ld_shlibs=yes
-+    # For both C/C++ ommit the deplibs. This is because we relying on the fact
-+    # that compilation of execitables will put them in correct order
-+    # in any case and sometimes are wrong when listed as deplibs (or missing some deplibs)
-+    # However when GNU ld and --whole-archive needs to be used we have the problem
-+    # that if the -fPIC *_s.a archive is linked through deplibs list we ommiting crucial
-+    # .lo/.o files from the created shared lib. This I think is not the case here.
-+    archive_cmds='$CC -shared -h $soname -o $lib $libobjs $linkopts'
-+    thread_safe_flag_spec='-pthread'
-+    wlarc=
-+    hardcode_libdir_flag_spec='-L$libdir'
-+    hardcode_shlibpath_var=no
-+    ac_cv_archive_cmds_needs_lc=no
-+    ;;
-+
-   cygwin* | mingw*)
-     # hardcode_libdir_flag_spec is actually meaningless, as there is
-     # no search path for DLLs.
-@@ -1497,7 +1524,7 @@
-     ;;
- 
-   dgux*)
--    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-+    archive_cmds='$CC -shared -h $soname -o $lib $libobjs $linkopts'
-     hardcode_libdir_flag_spec='-L$libdir'
-     hardcode_shlibpath_var=no
-     ;;
-@@ -2092,12 +2119,17 @@
-   ;;
- 
- dgux*)
--  version_type=linux
-+  version_type=dgux
-   need_lib_prefix=no
-   need_version=no
--  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
--  soname_spec='${libname}${release}.so$major'
-+  library_names_spec='$libname.so$versuffix'
-+  soname_spec='$libname.so$versuffix'
-   shlibpath_var=LD_LIBRARY_PATH
-+  thread_safe_flag_spec='-pthread'
-+  wlarc=
-+  hardcode_libdir_flag_spec='-L$libdir'
-+  hardcode_shlibpath_var=no
-+  ac_cv_archive_cmds_needs_lc=no
-   ;;
- 
- sysv4*MP*)
-
-
---- ltmain.sh.ORIG	Mon Jan 28 20:31:18 2002
-+++ ltmain.sh	Tue Jan 29 00:11:29 2002
-@@ -1072,11 +1072,38 @@
- 	esac
- 	;;
- 
-+      -thread*)
-+	# DG/UX GCC 2.95.x, 3.x.x rev (DG/UX) links -lthread
-+	# with the switch -threads
-+	if test "$arg" = "-threads"; then
-+	  case "$host" in
-+	  i[3456]86-*-dgux*)
-+	    deplibs="$deplibs $arg"
-+	    continue
-+	    ;;
-+	  esac
-+	fi
-+	;;
-+
-+      -pthread*)
-+	# DG/UX GCC 2.95.x, 3.x.x rev (DG/UX) links -lthread
-+	# with the switch -pthread
-+	if test "$arg" = "-pthread"; then
-+	  case "$host" in
-+	  i[3456]86-*-dgux*)
-+	    deplibs="$deplibs $arg"
-+	    continue
-+	    ;;
-+	  esac
-+	fi
-+	;;
-+
-       -l*)
- 	if test "$arg" = "-lc"; then
- 	  case "$host" in
--	  *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
-+	  *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos* | i[3456]86-*-dgux*)
- 	    # These systems don't actually have c library (as such)
-+	    # It is wrong in DG/UX to add -lc when creating shared/dynamic objs/libs
- 	    continue
- 	    ;;
- 	  esac
-@@ -1248,6 +1275,12 @@
- 	  temp_deplibs=
- 	  for deplib in $dependency_libs; do
- 	    case "$deplib" in
-+	    -thread*)
-+		 temp_deplibs="$temp_deplibs $deplib"
-+		 ;;
-+	    -pthread)
-+		 temp_deplibs="$temp_deplibs $deplib"
-+		 ;;
- 	    -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
- 		 case " $rpath $xrpath " in
- 		 *" $temp_xrpath "*) ;;
-@@ -1709,6 +1742,13 @@
- 	  done
- 	  ;;
- 
-+	dgux)
-+	  # Leave mostly blank for DG/UX
-+	  major=
-+	  versuffix=".$current.$revision";
-+	  verstring=
-+	  ;;
-+
- 	linux)
- 	  major=.`expr $current - $age`
- 	  versuffix="$major.$age.$revision"
-@@ -1792,8 +1832,9 @@
- 
- 	dependency_libs="$deplibs"
- 	case "$host" in
--	*-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
-+	*-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos* | i[3456]86-*-dgux*)
- 	  # these systems don't actually have a c library (as such)!
-+	  # It is wrong in DG/UX to add -lc when creating shared/dynamic objs/libs
- 	  ;;
- 	*)
- 	  # Add libc to deplibs on all other systems.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.Mac b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.Mac
deleted file mode 100755
index 46d73d0..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.Mac
+++ /dev/null
@@ -1,390 +0,0 @@
-The contents of this file are old and pertain to pre-MacOSX versions.
-You probably really wanted README.darwin.
-
----------------------------------------------
-
-Patrick Beard's Notes for building GC v4.12 with CodeWarrior Pro 2:
-----------------------------------------------------------------------------
-The current build environment for the collector is CodeWarrior Pro 2.
-Projects for CodeWarrior Pro 2 (and for quite a few older versions)
-are distributed in the file Mac_projects.sit.hqx. The project file
-:Mac_projects:gc.prj builds static library versions of the collector.
-:Mac_projects:gctest.prj builds the GC test suite.
-
-Configuring the collector is still done by editing the files
-:Mac_files:MacOS_config.h and :Mac_files:MacOS_Test_config.h.
-
-Lars Farm's suggestions on building the collector:
-----------------------------------------------------------------------------
-Garbage Collection on MacOS - a manual 'MakeFile'
--------------------------------------------------
-
-Project files and IDE's are great on the Macintosh, but they do have
-problems when used as distribution media. This note tries to provide
-porting instructions in pure TEXT form to avoid those problems. A manual
-'makefile' if you like.
-
-    GC version:     4.12a2
-    Codewarrior:    CWPro1
-    date:           18 July 1997
-
-The notes may or may not apply to earlier or later versions of the
-GC/CWPro. Actually, they do apply to earlier versions of both except that
-until recently a project could only build one target so each target was a
-separate project. The notes will most likely apply to future versions too.
-Possibly with minor tweaks.
-
-This is just to record my experiences. These notes do not mean I now
-provide a supported port of the GC to MacOS. It works for me. If it works
-for you, great. If it doesn't, sorry, try again...;-) Still, if you find
-errors, please let me know.
-
-    mailto:         lars.farm at ite.mh.se
-
-    address:        Lars Farm
-                    Kr�nv�gen 33b
-                    856 44 Sundsvall
-                    Sweden
-
-Porting to MacOS is a bit more complex than it first seems. Which MacOS?
-68K/PowerPC? Which compiler? Each supports both 68K and PowerPC and offer a
-large number of (unique to each environment) compiler settings. Each
-combination of compiler/68K/PPC/settings require a unique combination of
-standard libraries. And the IDE's does not select them for you. They don't
-even check that the library is built with compatible setting and this is
-the major source of problems when porting the GC (and otherwise too).
-
-You will have to make choices when you configure the GC. I've made some
-choices here, but there are other combinations of settings and #defines
-that work too.
-
-As for target settings the major obstacles may be:
-- 68K Processor: check "4-byte Ints".
-- PPC Processor: uncheck "Store Static Data in TOC".
-
-What you need to do:
-===================
-
-1) Build the GC as a library
-2) Test that the library works with 'test.c'.
-3) Test that the C++ interface 'gc_cpp.cc/h' works with 'test_cpp.cc'.
-
-1) The Libraries:
-=================
-I made one project with four targets (68K/PPC tempmem or appheap). One target
-will suffice if you're able to decide which one you want. I wasn't...
-
-Codewarrior allows a large number of compiler/linker settings. I used these:
-
-Settings shared by all targets:
-------------------------------
-o Access Paths:
-  - User Paths:   the GC folder
-  - System Paths: {Compiler}:Metrowerks Standard Library:
-                  {Compiler}:MacOS Support:Headers:
-                  {Compiler}:MacOS Support:MacHeaders:
-o C/C++ language:
-  - inlining: normal
-  - direct to SOM: off
-  - enable/check: exceptions, RTTI, bool (and if you like pool strings)
-
-PowerPC target settings
------------------------
-o Target Settings:
-  - name of target
-  - MacOS PPC Linker
-o PPC Target
-  - name of library
-o C/C++ language
-  - prefix file as described below
-o PPC Processor
-  - Struct Alignment: PowerPC
-  - uncheck "Store Static Data in TOC" -- important!
-    I don't think the others matter, I use full optimization and its ok
-o PPC Linker
-  - Factory Settings (SYM file with full paths, faster linking, dead-strip
-    static init, Main: __start)
-
-
-68K target settings
--------------------
-o Target Settings:
-  - name of target
-  - MacOS 68K Linker
-o 68K Target
-  - name of library
-  - A5 relative data
-o C/C++ language
-  - prefix file as described below
-o 68K Processor
-  - Code model: smart
-  - Struct alignment: 68K
-  - FP: SANE
-  - enable 4-Byte Ints -- important!
-    I don't think the others matter. I selected...
-  - enable: 68020
-  - enable: global register allocation
-o IR Optimizer
-  - enable: Optimize Space, Optimize Speed
-    I suppose the others would work too, but haven't tried...
-o 68K Linker
-  - Factory Settings (New Style MacsBug,SYM file with full paths,
-    A6 Frames, fast link, Merge compiler glue into segment 1,
-    dead-strip static init)
-
-Prefix Files to configure the GC sources
-----------------------------------------
-The Codewarrior equivalent of commandline compilers -DNAME=X is to use
-prefix-files. A TEXT file that is automatically #included before the first byte
-of every source file. I used these:
-
----- ( cut here ) ----  gc_prefix_tempmem.h     -- 68K and PPC -----
-    #include "gc_prefix_common.h"
-    #undef USE_TEMPORARY_MEMORY
-    #define USE_TEMPORARY_MEMORY
----- ( cut here ) ----  gc_prefix_appmem.h      -- 68K and PPC -----
-    #include "gc_prefix_common.h"
-    #undef USE_TEMPORARY_MEMORY
-//  #define USE_TEMPORARY_MEMORY
-
----- ( cut here ) ----  gc_prefix_common.h      --------------------
-// gc_prefix_common.h
-// ------------------
-// Codewarrior prefix file to configure the GC libraries
-//
-//   prefix files are the Codewarrior equivalent of the
-//   command line option -Dname=x frequently seen in makefiles
-
-#if !__MWERKS__
-  #error only tried this with Codewarrior
-#endif
-
-#if macintosh
-  #define MSL_USE_PRECOMPILED_HEADERS 0
-  #include <ansi_prefix.mac.h>
-  #ifndef __STDC__
-    #define __STDC__ 0
-  #endif
-
-  //  See list of #defines to configure the library in: 'MakeFile'
-  //  see also README
-
-  #define SILENT                // no collection messages. In case
-                                // of trouble you might want this off
-  #define ALL_INTERIOR_POINTERS // follows interior pointers.
-//#define DONT_ADD_BYTE_AT_END  // disables the padding if defined.
-//#define SMALL_CONFIG          // whether to use a smaller heap.
-  #define NO_SIGNALS            // signals aren't real on the Macintosh.
-  #define ATOMIC_UNCOLLECTABLE  // GC_malloc_atomic_uncollectable()
-
-  // define either or none as per personal preference
-  //   used in malloc.c
-  #define REDIRECT_MALLOC GC_malloc
-//#define REDIRECT_MALLOC GC_malloc_uncollectable
-  // if REDIRECT_MALLOC is #defined make sure that the GC library
-  // is listed before the ANSI/ISO libs in the Codewarrior
-  // 'Link order' panel
-//#define IGNORE_FREE
-
-  // mac specific configs
-//#define USE_TEMPORARY_MEMORY    // use Macintosh temporary memory.
-//#define SHARED_LIBRARY_BUILD    // build for use in a shared library.
-
-#else
-  // could build Win32 here too, or in the future
-  // Rhapsody PPC-mach, Rhapsody PPC-MacOS,
-  // Rhapsody Intel-mach, Rhapsody Intel-Win32,...
-  // ... ugh this will get messy ...
-#endif
-
-// make sure ints are at least 32-bit
-// ( could be set to 16-bit by compiler settings (68K) )
-
-struct gc_private_assert_intsize_{ char x[ sizeof(int)>=4 ? 1 : 0 ]; };
-
-#if __powerc
-  #if __option(toc_data)
-    #error turn off "store static data in TOC" when using GC
-    //     ... or find a way to add TOC to the root set...(?)
-  #endif
-#endif
----- ( cut here ) ----  end of gc_prefix_common.h  -----------------
-
-Files to  build the GC libraries:
---------------------------------
-    allchblk.c
-    alloc.c
-    blacklst.c
-    checksums.c
-    dbg_mlc.c
-    finalize.c
-    headers.c
-    mach_dep.c
-    MacOS.c    -- contains MacOS code
-    malloc.c
-    mallocx.c
-    mark.c
-    mark_rts.c
-    misc.c
-    new_hblk.c
-    obj_map.c
-    os_dep.c   -- contains MacOS code
-    ptr_chck.c
-    reclaim.c
-    stubborn.c
-    typd_mlc.c
-    gc++.cc    -- this is 'gc_cpp.cc' with less 'inline' and
-               -- throw std::bad_alloc when out of memory
-               -- gc_cpp.cc works just fine too
-
-2) Test that the library works with 'test.c'.
-=============================================
-
-The test app is just an ordinary ANSI-C console app. Make sure settings
-match the library you're testing.
-
-Files
------
-    test.c
-    the GC library to test        -- link order before ANSI libs
-    suitable Mac+ANSI libraries
-
-prefix:
-------
----- ( cut here ) ----  gc_prefix_testlib.h     -- all libs -----
-#define MSL_USE_PRECOMPILED_HEADERS 0
-#include <ansi_prefix.mac.h>
-#undef NDEBUG
-
-#define ALL_INTERIOR_POINTERS	/* for GC_priv.h */
----- ( cut here ) ----
-
-3) Test that the C++ interface 'gc_cpp.cc/h' works with 'test_cpp.cc'.
-
-The test app is just an ordinary ANSI-C console app. Make sure settings match
-the library you're testing.
-
-Files
------
-    test_cpp.cc
-    the GC library to test        -- link order before ANSI libs
-    suitable Mac+ANSI libraries
-
-prefix:
-------
-same as for test.c
-
-For convenience I used one test-project with several targets so that all
-test apps are build at once. Two for each library to test: test.c and
-gc_app.cc. When I was satisfied that the libraries were ok. I put the
-libraries + gc.h + the c++ interface-file in a folder that I then put into
-the MSL hierarchy so that I don't have to alter access-paths in projects
-that use the GC.
-
-After that, just add the proper GC library to your project and the GC is in
-action! malloc will call GC_malloc and free GC_free, new/delete too. You
-don't have to call free or delete. You may have to be a bit cautious about
-delete if you're freeing other resources than RAM. See gc_cpp.h. You can
-also keep coding as always with delete/free. That works too. If you want,
-"include <gc.h> and tweak it's use a bit.
-
-Symantec SPM
-============
-It has been a while since I tried the GC in SPM, but I think that the above
-instructions should be sufficient to guide you through in SPM too. SPM
-needs to know where the global data is. Use the files 'datastart.c' and
-'dataend.c'. Put 'datastart.c' at the top of your project and 'dataend.c'
-at the bottom  of your project so that all data is surrounded. This is not
-needed in Codewarrior because it provides intrinsic variables
-__datastart__, __data_end__ that wraps all globals.
-
-Source Changes (GC 4.12a2)
-==========================
-Very few. Just one tiny in the GC, not strictly needed.
-- MacOS.c line 131 in routine GC_MacFreeTemporaryMemory()
-  change #       if !defined(SHARED_LIBRARY_BUILD)
-  to     #       if !defined(SILENT) && !defined(SHARED_LIBRARY_BUILD)
-  To turn off a message when the application quits (actually, I faked
-  this change by #defining SHARED_LIBRARY_BUILD in a statically linked
-  library for more than a year without ill effects but perhaps this is
-  better).
-
-- test_cpp.cc
-  made the first lines of main() look like this:
-  ------------
-  int main( int argc, char* argv[] ) {
-  #endif
-  #if macintosh                             // MacOS
-    char* argv_[] = {"test_cpp","10"};      //   doesn't
-    argv=argv_;                             //     have a
-    argc = sizeof(argv_)/sizeof(argv_[0]);  //       commandline
-  #endif                                    //
-
-  int i, iters, n;
-  # ifndef __GNUC__
-   alloc dummy_to_fool_the_compiler_into_doing_things_it_currently_cant_handle;
-  ------------
-
-- config.h [now gcconfig.h]
-  __MWERKS__ does not have to mean MACOS. You can use Codewarrior to
-  build a Win32 or BeOS library and soon a Rhapsody library. You may
-  have to change that #if...
-
-
-
-   It worked for me, hope it works for you.
-
-   Lars Farm
-   18 July 1997
-----------------------------------------------------------------------------
-
-
-Patrick Beard's instructions (may be dated):
-
-v4.3 of the collector now runs under Symantec C++/THINK C v7.0.4, and
-Metrowerks C/C++ v4.5 both 68K and PowerPC. Project files are provided
-to build and test the collector under both development systems.
-
-Configuration
--------------
-
-To configure the collector, under both development systems, a prefix file
-is used to set preprocessor directives. This file is called "MacOS_config.h".
-Also to test the collector, "MacOS_Test_config.h" is provided.
-
-Testing
--------
-
-To test the collector (always a good idea), build one of the gctest projects,
-gctest.� (Symantec C++/THINK C), mw/gctest.68K.�, or mw/gctest.PPC.�. The
-test will ask you how many times to run; 1 should be sufficient.
-
-Building 
---------
-
-For your convenience project files for the major Macintosh development
-systems are provided.
-
-For Symantec C++/THINK C, you must build the two projects gclib-1.� and
-gclib-2.�. It has to be split up because the collector has more than 32k
-of static data and no library can have more than this in the Symantec
-environment. (Future versions will probably fix this.)
-
-For Metrowerks C/C++ 4.5 you build gc.68K.�/gc.PPC.� and the result will
-be a library called gc.68K.lib/gc.PPC.lib.
-
-Using
------
-
-Under Symantec C++/THINK C, you can just add the gclib-1.� and gclib-2.�
-projects to your own project. Under Metrowerks, you add gc.68K.lib or
-gc.PPC.lib and two additional files. You add the files called datastart.c
-and dataend.c to your project, bracketing all files that use the collector.
-See mw/gctest.� for an example.
-
-Include the projects/libraries you built above into your own project,
-#include "gc.h", and call GC_malloc. You don't have to call GC_free.
-
-
-Patrick C. Beard
-January 4, 1995
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.MacOSX b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.MacOSX
deleted file mode 100755
index a3879db..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.MacOSX
+++ /dev/null
@@ -1 +0,0 @@
-See README.darwin for the latest Darwin/MacOSX information.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.OS2 b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.OS2
deleted file mode 100755
index 24cdb2d..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.OS2
+++ /dev/null
@@ -1,6 +0,0 @@
-The code assumes static linking, and a single thread.  The editor de has
-not been ported.  The cord test program has.  The supplied OS2_MAKEFILE
-assumes the IBM C Set/2 environment, but the code shouldn't.
-
-Since we haven't figured out hoe to do perform partial links or to build static
-libraries, clients currently need to link against a long list of executables.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.amiga b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.amiga
deleted file mode 100755
index c251374..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.amiga
+++ /dev/null
@@ -1,322 +0,0 @@
-===========================================================================
-            Kjetil S. Matheussen's notes (28-11-2000)
-===========================================================================
-Compiles under SAS/C again. Should allso still compile under other
-amiga compilers without big changes. I haven't checked if it still
-works under gcc, because I don't have gcc for amiga. But I have
-updated 'Makefile', and hope it compiles fine.
-
-
-WHATS NEW:
-
-1.
-   Made a pretty big effort in preventing GCs allocating-functions from returning
-   chip-mem.
-
-   The lower part of the new file AmigaOS.c does this in various ways, mainly by
-   wrapping GC_malloc, GC_malloc_atomic, GC_malloc_uncollectable,
-   GC_malloc_atomic_uncollectable, GC_malloc_stubborn, GC_malloc_ignore_off_page
-   and GC_malloc_atomic_ignore_off_page. GC_realloc is allso wrapped, but
-   doesn't do the same effort in preventing to return chip-mem.
-   Other allocating-functions (f.ex. GC_*_typed_) can probably be
-   used without any problems, but beware that the warn hook will not be called.
-   In case of problems, don't define GC_AMIGA_FASTALLOC.
-
-   Programs using more time actually using the memory allocated
-   (instead of just allocate and free rapidly) have
-   the most to earn on this, but even gctest now normally runs twice
-   as fast and uses less memory, on my poor 8MB machine.
-
-   The changes have only effect when there is no more
-   fast-mem left. But with the way GC works, it
-   could happen quite often. Beware that an atexit handler had to be added,
-   so using the abort() function will make a big memory-loss.
-   If you absolutely must call abort() instead of exit(), try calling
-   the GC_amiga_free_all_mem function before abort().
-
-   New amiga-spesific compilation flags:
-
-   GC_AMIGA_FASTALLOC - By NOT defining this option, GC will work like before,
-                        it will not try to force fast-mem out of the OS, and
-                        it will use normal calloc for allocation, and the rest
-                        of the following flags will have no effect.
-
-   GC_AMIGA_ONLYFAST - Makes GC never to return chip-mem. GC_AMIGA_RETRY have
-                       no effect if this flag is set.
-
-   GC_AMIGA_GC - If gc returns NULL, do a GC_gcollect, and try again. This
-                 usually is a success with the standard GC configuration. 
-                 It is allso the most important flag to set to prevent
-                 GC from returning chip-mem. Beware that it slows down a lot
-                 when a program is rapidly allocating/deallocating when
-                 theres either very little fast-memory left or verly little
-                 chip-memory left. Its not a very common situation, but gctest
-                 sometimes (very rare) use many minutes because of this.
-
-   GC_AMIGA_RETRY - If gc succeed allocating memory, but it is chip-mem,
-                    try again and see if it is fast-mem. Most of the time,
-                    it will actually return fast-mem for the second try.
-                    I have set max number of retries to 9 or size/5000. You
-                    can change this if you like. (see GC_amiga_rec_alloc())
-
-   GC_AMIGA_PRINTSTATS - Gather some statistics during the execution of a
-                         program, and prints out the info when the atexit-handler
-                         is called.
-
-   My reccomendation is to set all this flags, except GC_AMIGA_PRINTSTATS and
-   GC_AMIGA_ONLYFAST.
-
-   If your program demands high response-time, you should
-   not define GC_AMIGA_GC, and possible allso define GC_AMIGA_ONLYFAST.
-   GC_AMIGA_RETRY does not seem to slow down much.
-
-   Allso, when compiling up programs, and GC_AMIGA_FASTALLOC was not defined when
-   compilling gc, you can define GC_AMIGA_MAKINGLIB to avoid having these allocation-
-   functions wrapped. (see gc.h)
-
-   Note that GC_realloc must not be called before any of
-   the other above mentioned allocating-functions have been called. (shouldn't be
-   any programs doing so either, I hope).
-
-   Another note. The allocation-function is wrapped when defining
-   GC_AMIGA_FASTALLOC by letting the function go thru the new
-   GC_amiga_allocwrapper_do function-pointer (see gc.h). Means that
-   sending function-pointers, such as GC_malloc, GC_malloc_atomic, etc.,
-   for later to be called like f.ex this, (*GC_malloc_functionpointer)(size),
-   will not wrap the function. This is normally not a big problem, unless
-   all allocation function is called like this, which will cause the
-   atexit un-allocating function never to be called. Then you either
-   have to manually add the atexit handler, or call the allocation-
-   functions function-pointer functions like this;
-   (*GC_amiga_allocwrapper_do)(size,GC_malloc_functionpointer).
-   There are probably better ways this problem could be handled, unfortunately,
-   I didn't find any without rewriting or replacing a lot of the GC-code, which
-   I really didn't want to. (Making new GC_malloc_* functions, and just
-   define f.ex GC_malloc as GC_amiga_malloc should allso work).
-
-
-   New amiga-spesific function:
-
-     void GC_amiga_set_toany(void (*func)(void));
-
-   'func' is a function that will be called right before gc has to change
-   allocation-method from MEMF_FAST to MEMF_ANY. Ie. when it is likely
-   it will return chip-mem.
-
-
-2. A few small compiler-spesific additions to make it compile with SAS/C again.
-
-3. Updated and rewritten the smakefile, so that it works again and that
-   the "unnecesarry" 'SCOPTIONS' files could be removed. Allso included
-   the cord-smakefile stuff in the main smakefile, so that the cord smakefile
-   could be removed too. By writing smake -f Smakefile.smk, both gc.lib and
-   cord.lib will be made.
-
-
-
-STILL MISSING:
-
-Programs can not be started from workbench, at least not for SAS/C. (Martin
-Tauchmanns note about that it now works with workbench is definitely wrong
-when concerning SAS/C). I guess it works if you use the old "#if 0'ed"-code,
-but I haven't tested it. I think the reason for MT to replace the
-"#if 0'ed"-code was only because it was a bit to SAS/C-spesific. But I
-don't know. An iconx-script solves this problem anyway.
-
-
-BEWARE!
-
--To run gctest, set the stack to around 200000 bytes first.
--SAS/C-spesific: cord will crash if you compile gc.lib with
- either parm=reg or parm=both. (missing legal prototypes for
- function-pointers someplace is the reason I guess.).
-
-
-tested with software: Radium, http://www.stud.ifi.uio.no/~ksvalast/radium/
-
-tested with hardware: MC68060
-
-
--ksvalast at ifi.uio.no
-
-
-===========================================================================
-			   Martin Tauchmann's notes		(1-Apr-99)
-===========================================================================
-
-Works now, also with the GNU-C compiler V2.7.2.1. <ftp://ftp.unina.it/pub/amiga/geekgadgets/amiga/m68k/snapshots/971125/amiga-bin/>
-Modify the `Makefile`
-CC=cc $(ABI_FLAG)
-to
-CC=gcc $(ABI_FLAG)
-
-TECHNICAL NOTES
-
-- `GC_get_stack_base()`, `GC_register_data_segments()` works now with every
-   C compiler; also Workbench.
-
-- Removed AMIGA_SKIP_SEG, but the Code-Segment must not be scanned by GC.
-
-
-PROBLEMS
-- When the Linker, does`t merge all Code-Segments to an single one. LD of GCC
-  do it always.
-
-- With ixemul.library V47.3, when an GC program launched from another program
-  (example: `Make` or `if_mach M68K AMIGA gctest`), `GC_register_data_segments()`
-  found the Segment-List of the caller program.
-  Can be fixed, if the run-time initialization code (for C programs, usually *crt0*)
-  support `__data` and `__bss`.
-
-- PowerPC Amiga currently not supported.
-
-- Dynamic libraries (dyn_load.c) not supported.
-
-
-TESTED WITH SOFTWARE
-
-`Optimized Oberon 2 C` (oo2c) <http://cognac.informatik.uni-kl.de/download/index.html>
-
-
-TESTED WITH HARDWARE
-
-MC68030
-
-
-CONTACT
-
-Please, contact me at <martintauchmann at bigfoot.com>, when you change the
-Amiga port. <http://martintauchmann.home.pages.de>
- 
-===========================================================================
-			   Michel Schinz's notes
-===========================================================================
-WHO DID WHAT
-
-The original Amiga port was made by Jesper Peterson. I (Michel Schinz)
-modified it slightly to reflect the changes made in the new official
-distributions, and to take advantage of the new SAS/C 6.x features. I also
-created a makefile to compile the "cord" package (see the cord
-subdirectory).
-
-TECHNICAL NOTES
-
-In addition to Jesper's notes, I have the following to say:
-
-- Starting with version 4.3, gctest checks to see if the code segment is
-  added to the root set or not, and complains if it is. Previous versions
-  of this Amiga port added the code segment to the root set, so I tried to
-  fix that. The only problem is that, as far as I know, it is impossible to
-  know which segments are code segments and which are data segments (there
-  are indeed solutions to this problem, like scanning the program on disk
-  or patch the LoadSeg functions, but they are rather complicated). The
-  solution I have chosen (see os_dep.c) is to test whether the program
-  counter is in the segment we are about to add to the root set, and if it
-  is, to skip the segment. The problems are that this solution is rather
-  awkward and that it works only for one code segment. This means that if
-  your program has more than one code segment, all of them but one will be
-  added to the root set. This isn't a big problem in fact, since the
-  collector will continue to work correctly, but it may be slower.
-
-  Anyway, the code which decides whether to skip a segment or not can be
-  removed simply by not defining AMIGA_SKIP_SEG. But notice that if you do
-  so, gctest will complain (it will say that "GC_is_visible produced wrong
-  failure indication"). However, it may be useful if you happen to have
-  pointers stored in a code segment (you really shouldn't).
-
-  If anyone has a good solution to the problem of finding, when a program
-  is loaded in memory, whether a segment is a code or a data segment,
-  please let me know.
-
-PROBLEMS
-
-If you have any problem with this version, please contact me at
-schinz at alphanet.ch (but do *not* send long files, since we pay for
-every mail!).
-
-===========================================================================
-			  Jesper Peterson's notes
-===========================================================================
-
-ADDITIONAL NOTES FOR AMIGA PORT
-
-These notes assume some familiarity with Amiga internals.
-
-WHY I PORTED TO THE AMIGA
-
-The sole reason why I made this port was as a first step in getting
-the Sather(*) language on the Amiga. A port of this language will
-be done as soon as the Sather 1.0 sources are made available to me.
-Given this motivation, the garbage collection (GC) port is rather
-minimal.
-
-(*) For information on Sather read the comp.lang.sather newsgroup.
-
-LIMITATIONS
-
-This port assumes that the startup code linked with target programs
-is that supplied with SAS/C versions 6.0 or later. This allows
-assumptions to be made about where to find the stack base pointer
-and data segments when programs are run from WorkBench, as opposed
-to running from the CLI. The compiler dependent code is all in the
-GC_get_stack_base() and GC_register_data_segments() functions, but
-may spread as I add Amiga specific features.
-
-Given that SAS/C was assumed, the port is set up to be built with
-"smake" using the "SMakefile". Compiler options in "SCoptions" can
-be set with "scopts" program. Both "smake" and "scopts" are part of
-the SAS/C commercial development system.
-
-In keeping with the porting philosophy outlined above, this port
-will not behave well with Amiga specific code. Especially not inter-
-process comms via messages, and setting up public structures like
-Intuition objects or anything else in the system lists. For the
-time being the use of this library is limited to single threaded
-ANSI/POSIX  compliant or near-complient code. (ie. Stick to stdio
-for now). Given this limitation there is currently no mechanism for
-allocating "CHIP" or "PUBLIC" memory under the garbage collector.
-I'll add this after giving it considerable thought. The major
-problem is the entire physical address space may have to me scanned,
-since there is no telling who we may have passed memory to.
-
-If you allocate your own stack in client code, you will have to
-assign the pointer plus stack size to GC_stackbottom.
-
-The initial stack size of the target program can be compiled in by
-setting the __stack symbol (see SAS documentaion). It can be over-
-ridden from the CLI by running the AmigaDOS "stack" program, or from
-the WorkBench by setting the stack size in the tool types window.
-
-SAS/C COMPILER OPTIONS (SCoptions)
-
-You may wish to check the "CPU" code option is appropriate for your
-intended target system.
-
-Under no circumstances set the "StackExtend" code option in either
-compiling the library or *ANY* client code.
-
-All benign compiler warnings have been suppressed. These mainly
-involve lack of prototypes in the code, and dead assignments
-detected by the optimizer.
-
-THE GOOD NEWS
-
-The library as it stands is compatible with the GigaMem commercial
-virtual memory software, and probably similar PD software.
-
-The performance of "gctest" on an Amiga 2630 (68030 @ 25Mhz)
-compares favourably with an HP9000 with similar architecture (a 325
-with a 68030 I think).
-
------------------------------------------------------------------------
-
-The Amiga port has been brought to you by:
-
-Jesper Peterson.
-
-jep at mtiame.mtia.oz.au		(preferred, but 1 week turnaround)
-jep at orca1.vic.design.telecom.au (that's orca<one>, 1 day turnaround)
-
-At least one of these addresses should be around for a while, even
-though I don't work for either of the companies involved.
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.arm.cross b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.arm.cross
deleted file mode 100755
index c48d4d2..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.arm.cross
+++ /dev/null
@@ -1,68 +0,0 @@
-From: Margaret Fleck
-
-Here's the key details of what worked for me, in case anyone else needs them.
-There may well be better ways to do some of this, but ....
-   -- Margaret
-
-
-The badge4 has a StrongArm-1110 processor and a StrongArm-1111 coprocessor.  
-
-Assume that the garbage collector distribution is unpacked into /home/arm/gc6.0,
-which is visible to both the ARM machine and a linux desktop (e.g. via NFS mounting).
-
-Assume that you have a file /home/arm/config.site with contents something like the
-example attached below.  Notice that our local ARM toolchain lives in
-/skiff/local.
-
-Go to /home/arm/gc6.0 directory.  Do
-  CONFIG_SITE=/home/arm/config.site ./configure --target=arm-linux
---prefix=/home/arm/gc6.0
-
-On your desktop, do:
-   make
-   make install
-The main garbage collector library should now be in ../gc6.0/lib/libgc.so.  
-
-To test the garbage collector, first do the following on your desktop
-   make gctest
-   ./gctest
-Then do the following on the ARM machine
-   cd .libs
-   ./lt-gctest
-
-Do not try to do "make test" (the usual way of running the test
-program).  This does not work and seems to erase some of the important
-files.
-
-The gctest program claims to have succeeded.  Haven't run any further tests
-with it, though I'll be doing so in the near future.
-
--------------------------------
-# config.site for configure
-
-# Modified from the one provided by Bradley D. LaRonde
-# Edited by Andrej Cedilnik <acedil1 at csee.umbc.edu>
-# Used some of solutions by Tilman Vogel <Tilman.Vogel at web.de>
-# Ported for iPAQ Familiar by Oliver Kurth <oliver.kurth at innominate.com>
-# Further modified by Margaret Fleck for the badge4
-
-HOSTCC=gcc
-
-# Names of the cross-compilers
-CC=/skiff/local/bin/arm-linux-gcc
-CXX=/skiff/local/bin/arm-linux-gcc
-
-# The cross compiler specific options
-CFLAGS="-O2 -fno-exceptions"
-CXXFLAGS="-O2 -fno-exceptions"
-CPPFLAGS="-O2 -fno-exceptions"
-LDFLAGS=""
-
-# Some other programs
-AR=/skiff/local/bin/arm-linux-ar
-RANLIB=/skiff/local/bin/arm-linux-ranlib
-NM=/skiff/local/bin/arm-linux-nm
-ac_cv_path_NM=/skiff/local/bin/arm-linux-nm
-ac_cv_func_setpgrp_void=yes
-x_includes=/skiff/local/arm-linux/include/X11
-x_libraries=/skiff/local/arm-linux/lib/X11
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.autoconf b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.autoconf
deleted file mode 100755
index c45d53d..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.autoconf
+++ /dev/null
@@ -1,59 +0,0 @@
-As of GC6.0alpha8, we attempt to support GNU-style builds based on automake,
-autoconf and libtool.  This is based almost entirely on Tom Tromey's work
-with gcj.
-
-To build and install libraries use
-
-configure; make; make install
-
-The advantages of this process are:
-
-1) It should eventually do a better job of automatically determining the
-right compiler to use, etc.  It probably already does in some cases.
-
-2) It tries to automatically set a good set of default GC parameters for
-the platform (e.g. thread support).  It provides an easier way to configure
-some of the others.
-
-3) It integrates better with other projects using a GNU-style build process.
-
-4) It builds both dynamic and static libraries.
-
-The known disadvantages are:
-
-1) The build scripts are much more complex and harder to debug (though largely
-standard).  I don't understand them all, and there's probably lots of redundant
-stuff.
-
-2) It probably doesn't work on all Un*x-like platforms yet.  It probably will
-never work on the rest.
-
-3) The scripts are not yet complete.  Some of the standard GNU targets don't
-yet work.  (Corrections/additions are very welcome.)
-
-The distribution should contain all files needed to run "configure" and "make",
-as well as the sources needed to regenerate the derived files.  (If I missed
-some, please let me know.)
-
-Note that the distribution comes with a "Makefile" which will be overwritten
-by "configure" with one that is not at all equiavelent to the original.  The
-distribution contains a copy of the original "Makefile" in "Makefile.direct". 
-
-Important options to configure:
-
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [/usr/local]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [same as prefix]
-  --enable-threads=TYPE   choose threading package
-  --enable-parallel-mark  parallelize marking and free list construction
-  --enable-full-debug	include full support for pointer backtracing etc.
-
-Unless --prefix is set (or --exec-prefix or one of the more obscure options),
-make install will install libgc.a and libgc.so in /usr/local/bin, which
-would typically require the "make install" to be run as root.
-
-Most commonly --enable-threads=posix or will be needed.  --enable-parallel-mark
-is recommended for multiprocessors if it is supported on the platform.
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.changes b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.changes
deleted file mode 100755
index 530fc55..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.changes
+++ /dev/null
@@ -1,2594 +0,0 @@
-This is a rough history of garbage collector bugs and versions.
-
-This has been maintained with varying diligence over the years.
-
-I made an attempt to include recent contributors here.  I apologize for any
-omissions.
-
-RECENT UPDATES ARE RECORDED IN ../ChangeLog FILE INSTEAD TO CONFORM TO
-MORE COMMON CONVENTIONS.
-
--------------------------
-
-  Version 1.3 and immediately preceding versions contained spurious
-assembly language assignments to TMP_SP.  Only the assignment in the PC/RT
-code is necessary.  On other machines, with certain compiler options,
-the assignments can lead to an unsaved register being overwritten.
-Known to cause problems under SunOS 3.5 WITHOUT the -O option.  (With
--O the compiler recognizes it as dead code.  It probably shouldn't,
-but that's another story.)
-
-  Version 1.4 and earlier versions used compile time determined values
-for the stack base.  This no longer works on Sun 3s, since Sun 3/80s use
-a different stack base.  We now use a straightforward heuristic on all
-machines on which it is known to work (incl. Sun 3s) and compile-time
-determined values for the rest.  There should really be library calls
-to determine such values.
-
-  Version 1.5 and earlier did not ensure 8 byte alignment for objects
-allocated on a sparc based machine.
-
-  Version 1.8 added ULTRIX support in gc_private.h.
-  
-  Version 1.9 fixed a major bug in gc_realloc.
-  
-  Version 2.0 introduced a consistent naming convention for collector
-routines and added support for registering dynamic library data segments
-in the standard mark_roots.c.  Most of the data structures were revamped.
-The treatment of interior pointers was completely changed.  Finalization
-was added.  Support for locking was added.  Object kinds were added.
-We added a black listing facility to avoid allocating at addresses known
-to occur as integers somewhere in the address space.  Much of this
-was accomplished by adapting ideas and code from the PCR collector.
-The test program was changed and expanded.
-
-  Version 2.1 was the first stable version since 1.9, and added support
-for PPCR.
-
-  Version 2.2 added debugging allocation, and fixed various bugs.  Among them:
-- GC_realloc could fail to extend the size of the object for certain large object sizes.
-- A blatant subscript range error in GC_printf, which unfortunately
-  wasn't exercised on machines with sufficient stack alignment constraints.
-- GC_register_displacement did the wrong thing if it was called after
-  any allocation had taken place.
-- The leak finding code would eventually break after 2048 byte
-  byte objects leaked.
-- interface.c didn't compile.
-- The heap size remained much too small for large stacks.
-- The stack clearing code behaved badly for large stacks, and perhaps
-  on HP/PA machines.
-
-  Version 2.3 added ALL_INTERIOR_POINTERS and fixed the following bugs:
-- Missing declaration of etext in the A/UX version.
-- Some PCR root-finding problems.
-- Blacklisting was not 100% effective, because the plausible future
-  heap bounds were being miscalculated.
-- GC_realloc didn't handle out-of-memory correctly.
-- GC_base could return a nonzero value for addresses inside free blocks.
-- test.c wasn't really thread safe, and could erroneously report failure
-  in a multithreaded environment.  (The locking primitives need to be
-  replaced for other threads packages.)
-- GC_CONS was thoroughly broken.
-- On a SPARC with dynamic linking, signals stayed diabled while the
-  client code was running.
-  (Thanks to Manuel Serrano at INRIA for reporting the last two.)
-  
-  Version 2.4 added GC_free_space_divisor as a tuning knob, added
-  support for OS/2 and linux, and fixed the following bugs:
-- On machines with unaligned pointers (e.g. Sun 3), every 128th word could
-  fail to be considered for marking.
-- Dynamic_load.c erroneously added 4 bytes to the length of the data and
-  bss sections of the dynamic library.  This could result in a bad memory
-  reference if the actual length was a multiple of a page.  (Observed on
-  Sun 3.  Can probably also happen on a Sun 4.)
-  (Thanks to Robert Brazile for pointing out that the Sun 3 version
-  was broken.  Dynamic library handling is still broken on Sun 3s
-  under 4.1.1U1, but apparently not 4.1.1.  If you have such a machine,
-  use -Bstatic.)
-  
-  Version 2.5 fixed the following bugs:
-- Removed an explicit call to exit(1)
-- Fixed calls to GC_printf and GC_err_printf, so the correct number of
-  arguments are always supplied.  The OS/2 C compiler gets confused if
-  the number of actuals and the number of formals differ.  (ANSI C
-  doesn't require this to work.  The ANSI sanctioned way of doing things
-  causes too many compatibility problems.)
-  
-  Version 3.0  added generational/incremental collection and stubborn
-  objects.
-
-  Version 3.1 added the following features:
-- A workaround for a SunOS 4.X SPARC C compiler
-  misfeature that caused problems when the collector was turned into
-  a dynamic library.  
-- A fix for a bug in GC_base that could result in a memory fault.
-- A fix for a performance bug (and several other misfeatures) pointed
-  out by Dave Detlefs and Al Dosser.
-- Use of dirty bit information for static data under Solaris 2.X.
-- DEC Alpha/OSF1 support (thanks to Al Dosser).
-- Incremental collection on more platforms.
-- A more refined heap expansion policy.  Less space usage by default.
-- Various minor enhancements to reduce space usage, and to reduce
-  the amount of memory scanned by the collector.
-- Uncollectable allocation without per object overhead.
-- More conscientious handling of out-of-memory conditions.
-- Fixed a bug in debugging stubborn allocation.
-- Fixed a bug that resulted in occasional erroneous reporting of smashed
-  objects with debugging allocation.
-- Fixed bogus leak reports of size 4096 blocks with FIND_LEAK.
-
-  Version 3.2 fixed a serious and not entirely repeatable bug in
-  the incremental collector.  It appeared only when dirty bit info
-  on the roots was available, which is normally only under Solaris.
-  It also added GC_general_register_disappearing_link, and some
-  testing code.  Interface.c disappeared.
-
-  Version 3.3 fixes several bugs and adds new ports:
-- PCR-specific bugs.
-- Missing locking in GC_free, redundant FASTUNLOCK
-  in GC_malloc_stubborn, and 2 bugs in
-  GC_unregister_disappearing_link.
-  All of the above were pointed out by Neil Sharman
-  (neil at cs.mu.oz.au).
-- Common symbols allocated by the SunOS4.X dynamic loader
-  were not included in the root set.
-- Bug in GC_finalize (reported by Brian Beuning and Al Dosser)
-- Merged Amiga port from Jesper Peterson (untested)
-- Merged NeXT port from Thomas Funke (significantly
-  modified and untested)
-
-  Version 3.4:
-- Fixed a performance bug in GC_realloc.
-- Updated the amiga port.
-- Added NetBSD and 386BSD ports.
-- Added cord library.
-- Added trivial performance enhancement for
-  ALL_INTERIOR_POINTERS.  (Don't scan last word.)
-  
-  Version 3.5
-- Minor collections now mark from roots only once, if that
-  doesn't cause an excessive pause.
-- The stack clearing heuristic was refined to prevent anomalies
-  with very heavily recursive programs and sparse stacks.
-- Fixed a bug that prevented mark stack growth in some cases.
-  GC_objects_are_marked should be set to TRUE after a call
-  to GC_push_roots and as part of GC_push_marked, since
-  both can now set mark bits.  I think this is only a performance
-  bug, but I wouldn't bet on it.  It's certainly very hard to argue
-  that the old version was correct.
-- Fixed an incremental collection bug that prevented it from
-  working at all when HBLKSIZE != getpagesize()
-- Changed dynamic_loading.c to include gc_priv.h before testing
-  DYNAMIC_LOADING.  SunOS dynamic library scanning
-  must have been broken in 3.4.
-- Object size rounding now adapts to program behavior.
-- Added a workaround (provided by Manuel Serrano and
-  colleagues) to a long-standing SunOS 4.X (and 3.X?) ld bug
-  that I had incorrectly assumed to have been squished.
-  The collector was broken if the text segment size was within
-  32 bytes of a multiple of 8K bytes, and if the beginning of
-  the data segment contained interesting roots.  The workaround
-  assumes a demand-loadable executable.  The original may have
-  have "worked" in some other cases.
-- Added dynamic library support under IRIX5.
-- Added support for EMX under OS/2 (thanks to Ari Huttunen).
-  
-Version 3.6:
-- fixed a bug in the mark stack growth code that was introduced
-  in 3.4.
-- fixed Makefile to work around DEC AXP compiler tail recursion
-  bug.
-
-Version 3.7:
-- Added a workaround for an HP/UX compiler bug.
-- Fixed another stack clearing performance bug.  Reworked
-  that code once more.
-  
-Version 4.0:
-- Added support for Solaris threads (which was possible
-  only by reimplementing some fraction of Solaris threads,
-  since Sun doesn't currently make the thread debugging
-  interface available).
-- Added non-threads win32 and win32S support.
-- (Grudgingly, with suitable muttering of obscenities) renamed
-  files so that the collector distribution could live on a FAT
-  file system.  Files that are guaranteed to be useless on
-  a PC still have long names.  Gc_inline.h and gc_private.h
-  still exist, but now just include  gc_inl.h and gc_priv.h.
-- Fixed a really obscure bug in finalization that could cause
-  undetected mark stack overflows.  (I would be surprised if
-  any real code ever tickled this one.)
-- Changed finalization code to dynamically resize the hash
-  tables it maintains.  (This probably does not matter for well-
-  -written code.  It no doubt does for C++ code that overuses
-  destructors.)
-- Added typed allocation primitives.  Rewrote the marker to
-  accommodate them with more reasonable efficiency.  This
-  change should also speed up marking for GC_malloc allocated
-  objects a little.  See gc_typed.h for new primitives.
-- Improved debugging facilities slightly.  Allocation time
-  stack traces are now kept by default on SPARC/SUNOS4.
-  (Thanks to Scott Schwartz.)
-- Added better support for small heap applications.
-- Significantly extended cord package.  Fixed a bug in the
-  implementation of lazily read files.  Printf and friends now
-  have cord variants.  Cord traversals are a bit faster.
-- Made ALL_INTERIOR_POINTERS recognition the default.
-- Fixed de so that it can run in constant space, independent
-  of file size.  Added simple string searching to cords and de.
-- Added the Hull-Ellis C++ interface.
-- Added dynamic library support for OSF/1.
-  (Thanks to Al Dosser and Tim Bingham at DEC.)
-- Changed argument to GC_expand_hp to be expressed
-  in units of bytes instead of heap blocks.  (Necessary
-  since the heap block size now varies depending on
-  configuration.  The old version was never very clean.)
-- Added GC_get_heap_size().  The previous "equivalent"
-  was broken.
-- Restructured the Makefile a bit.  
-
-Since version 4.0:
-- Changed finalization implementation to guarantee that
-  finalization procedures are called outside of the allocation
-  lock, making direct use of the interface a little less dangerous.
-  MAY BREAK EXISTING CLIENTS that assume finalizers
-  are protected by a lock.  Since there seem to be few multithreaded
-  clients that use finalization, this is hopefully not much of
-  a problem.
-- Fixed a gross bug in CORD_prev.
-- Fixed a bug in blacklst.c that could result in unbounded
-  heap growth during startup on machines that do not clear
-  memory obtained from the OS (e.g. win32S).
-- Ported de editor to win32/win32S.  (This is now the only
-  version with a mouse-sensitive UI.)
-- Added GC_malloc_ignore_off_page to allocate large arrays
-  in the presence of ALL_INTERIOR_POINTERS.
-- Changed GC_call_with_alloc_lock to not disable signals in
-  the single-threaded case.
-- Reduced retry count in GC_collect_or_expand for garbage
-  collecting when out of memory.
-- Made uncollectable allocations bypass black-listing, as they
-  should.
-- Fixed a bug in typed_test in test.c that could cause (legitimate)
-  GC crashes.
-- Fixed some potential synchronization problems in finalize.c
-- Fixed a real locking problem in typd_mlc.c.
-- Worked around an AIX 3.2 compiler feature that results in
-  out of bounds memory references.
-- Partially worked around an IRIX5.2 beta problem (which may
-  or may not persist to the final release).
-- Fixed a bug in the heap integrity checking code that could
-  result in explicitly deallocated objects being identified as
-  smashed.  Fixed a bug in the dbg_mlc stack saving code
-  that caused old argument pointers to be considered live.
-- Fixed a bug in CORD_ncmp (and hence CORD_str).
-- Repaired the OS2 port, which had suffered from bit rot
-  in 4.0.  Worked around what appears to be CSet/2 V1.0
-  optimizer bug.
-- Fixed a Makefile bug for target "c++".
-
-Since version 4.1:
-- Multiple bug fixes/workarounds in the Solaris threads version.
-  (It occasionally failed to locate some register contents for
-  marking.  It also turns out that thr_suspend and friends are
-  unreliable in Solaris 2.3.  Dirty bit reads appear
-  to be unreliable under some weird 
-  circumstances.  My stack marking code
-  contained a serious performance bug.  The new code is
-  extremely defensive, and has not failed in several cpu
-  hours of testing.  But  no guarantees ...)
-- Added MacOS support (thanks to Patrick Beard.)
-- Fixed several syntactic bugs in gc_c++.h and friends.  (These
-  didn't bother g++, but did bother most other compilers.)
-  Fixed gc_c++.h finalization interface.  (It didn't.)
-- 64 bit alignment for allocated objects was not guaranteed in a
-  few cases in which it should have been.
-- Added GC_malloc_atomic_ignore_off_page.
-- Added GC_collect_a_little.
-- Added some prototypes to gc.h.
-- Some other minor bug fixes (notably in Makefile).
-- Fixed OS/2 / EMX port (thanks to Ari Huttunen).
-- Fixed AmigaDOS port. (thanks to Michel Schinz).
-- Fixed the DATASTART definition under Solaris.  There
-  was a 1 in 16K chance of the collector missing the first
-  64K of static data (and thus crashing).
-- Fixed some blatant anachronisms in the README file.
-- Fixed PCR-Makefile for upcoming PPCR release.
-
-Since version 4.2:
-- Fixed SPARC alignment problem with GC_DEBUG.
-- Fixed Solaris threads /proc workaround.  The real
-  problem was an interaction with mprotect.
-- Incorporated fix from Patrick Beard for gc_c++.h (now gc_cpp.h).
-- Slightly improved allocator space utilization by
-  fixing the GC_size_map mechanism.
-- Integrated some Sony News and MIPS RISCos 4.51
-  patches.  (Thanks to Nobuyuki Hikichi of
-  Software Research Associates, Inc. Japan)
-- Fixed HP_PA alignment problem.  (Thanks to
-  xjam at cork.cs.berkeley.edu.)
-- Added GC_same_obj and friends.  Changed GC_base
-  to return 0 for pointers past the end of large objects.
-  Improved GC_base performance with ALL_INTERIOR_POINTERS
-  on machines with a slow integer mod operation.
-  Added GC_PTR_ADD, GC_PTR_STORE, etc. to prepare
-  for preprocessor.
-- changed the default on most UNIX machines to be that
-  signals are not disabled during critical GC operations.
-  This is still ANSI-conforming, though somewhat dangerous
-  in the presence of signal handlers. But the performance
-  cost of the alternative is sometimes problematic.
-  Can be changed back with a minor Makefile edit.
-- renamed IS_STRING in gc.h, to CORD_IS_STRING, thus
-  following my own naming convention.  Added the function
-  CORD_to_const_char_star.
-- Fixed a gross bug in GC_finalize.  Symptom: occasional
-  address faults in that function.  (Thanks to Anselm
-  Baird-Smith (Anselm.BairdSmith at inria.fr)
-- Added port to ICL DRS6000 running DRS/NX.  Restructured
-  things a bit to factor out common code, and remove obsolete
-  code.  Collector should now run under SUNOS5 with either
-  mprotect or /proc dirty bits.  (Thanks to Douglas Steel
-  (doug at wg.icl.co.uk)).
-- More bug fixes and workarounds for Solaris 2.X.  (These were
-  mostly related to putting the collector in a dynamic library,
-  which didn't really work before.  Also SOLARIS_THREADS
-  didn't interact well with dl_open.)  Thanks to btlewis at eng.sun.com.
-- Fixed a serious performance bug on the DEC Alpha.  The text
-  segment was getting registered as part of the root set.
-  (Amazingly, the result was still fast enough that the bug
-  was not conspicuous.) The fix works on OSF/1, version 1.3.
-  Hopefully it also works on other versions of OSF/1 ...
-- Fixed a bug in GC_clear_roots.
-- Fixed a bug in GC_generic_malloc_words_small that broke
-  gc_inl.h.  (Reported by Antoine de Maricourt.  I broke it
-  in trying to tweak the Mac port.) 
-- Fixed some problems with cord/de under Linux.
-- Fixed some cord problems, notably with CORD_riter4.
-- Added DG/UX port.
-  Thanks to Ben A. Mesander (ben at piglet.cr.usgs.gov)
-- Added finalization registration routines with weaker ordering
-  constraints.  (This is necessary for C++ finalization with
-  multiple inheritance, since the compiler often adds self-cycles.)
-- Filled the holes in the SCO port. (Thanks to Michael Arnoldus
-  <chime at proinf.dk>.)
-- John Ellis' additions to the C++ support:  From John:
-
-* I completely rewrote the documentation in the interface gc_c++.h
-(later renamed gc_cpp.h).  I've tried to make it both clearer and more
-precise.
-
-* The definition of accessibility now ignores pointers from an
-finalizable object (an object with a clean-up function) to itself.
-This allows objects with virtual base classes to be finalizable by the
-collector.  Compilers typically implement virtual base classes using
-pointers from an object to itself, which under the old definition of
-accessibility prevented objects with virtual base classes from ever
-being collected or finalized.
-
-* gc_cleanup now includes gc as a virtual base.  This was enabled by
-the change in the definition of accessibility.
-
-* I added support for operator new[].  Since most (all?) compilers
-don't yet support operator new[], it is conditionalized on
--DOPERATOR_NEW_ARRAY.  The code is untested, but its trivial and looks
-correct.
-
-* The test program test_gc_c++ (later renamed test_cpp.cc)
-tries to test for the C++-specific functionality not tested by the
-other programs.
-- Added <unistd.h> include to misc.c.  (Needed for ppcr.)
-- Added PowerMac port. (Thanks to Patrick Beard again.)
-- Fixed "srcdir"-related Makefile problems.  Changed things so
-  that all externally visible include files always appear in the
-  include subdirectory of the source.  Made gc.h directly
-  includable from C++ code.  (These were at Per
-  Bothner's suggestion.)
-- Changed Intel code to also mark from ebp (Kevin Warne's
-  suggestion).
-- Renamed C++ related files so they could live in a FAT
-  file system. (Charles Fiterman's suggestion.)
-- Changed Windows NT Makefile to include C++ support in
-  gc.lib.  Added C++ test as Makefile target.
-  
-Since version 4.3:
- - ASM_CLEAR_CODE was erroneously defined for HP
-   PA machines, resulting in a compile error.
- - Fixed OS/2 Makefile to create a library.  (Thanks to
-   Mark Boulter (mboulter at vnet.ibm.com)).
- - Gc_cleanup objects didn't work if they were created on
-   the stack.  Fixed.
- - One copy of Gc_cpp.h in the distribution was out of 
-   synch, and failed to document some known compiler
-   problems with explicit destructor invocation.  Partially
-   fixed.  There are probably other compilers on which
-   gc_cleanup is miscompiled.
- - Fixed Makefile to pass C compiler flags to C++ compiler.
- - Added Mac fixes.
- - Fixed os_dep.c to work around what appears to be
-   a new and different VirtualQuery bug under newer
-   versions of win32S.
- - GC_non_gc_bytes was not correctly maintained by
-   GC_free.  Fixed.  Thanks to James Clark (jjc at jclark.com).
- - Added GC_set_max_heap_size.
- - Changed allocation code to ignore blacklisting if it is preventing
-   use of a very large block of memory.  This has the advantage
-   that naive code allocating very large objects is much more
-   likely to work.  The downside is you might no
-   longer find out that such code should really use
-   GC_malloc_ignore_off_page.
- - Changed GC_printf under win32 to close and reopen the file
-   between calls.  FAT file systems otherwise make the log file
-   useless for debugging.
- - Added GC_try_to_collect and GC_get_bytes_since_gc.  These
-   allow starting an abortable collection during idle times. 
-   This facility does not require special OS support.  (Thanks to
-   Michael Spertus of Geodesic Systems for suggesting this.  It was
-   actually an easy addition.  Kumar Srikantan previously added a similar
-   facility to a now ancient version of the collector.  At the time
-   this was much harder, and the result was less convincing.)
- - Added some support for the Borland development environment.  (Thanks
-   to John Ellis and Michael Spertus.)
- - Removed a misfeature from checksums.c that caused unexpected 
-   heap growth.  (Thanks to Scott Schwartz.)
- - Changed finalize.c to call WARN if it encounters a finalization cycle.
-   WARN is defined in gc_priv.h to write a message, usually to stdout.
-   In many environments, this may be inappropriate.
- - Renamed NO_PARAMS in gc.h to GC_NO_PARAMS, thus adhering to my own
-   naming convention.
- - Added GC_set_warn_proc to intercept warnings.
- - Fixed Amiga port. (Thanks to Michel Schinz (schinz at alphanet.ch).)
- - Fixed a bug in mark.c that could result in an access to unmapped
-   memory from GC_mark_from_mark_stack on machines with unaligned
-   pointers.
- - Fixed a win32 specific performance bug that could result in scanning of
-   objects allocated with the system malloc.
- - Added REDIRECT_MALLOC.
-
-Since version 4.4:
- - Fixed many minor and one major README bugs. (Thanks to Franklin Chen
-   (chen at adi.com) for pointing out many of them.)
- - Fixed ALPHA/OSF/1 dynamic library support. (Thanks to Jonathan Bachrach
-   (jonathan at harlequin.com)).
- - Added incremental GC support (MPROTECT_VDB) for Linux (with some
-   help from Bruno Haible).
- - Altered SPARC recognition tests in gc.h and config.h (mostly as
-   suggested by Fergus Henderson).
- - Added basic incremental GC support for win32, as implemented by
-   Windows NT and Windows 95.  GC_enable_incremental is a noop
-   under win32s, which doesn't implement enough of the VM interface.
- - Added -DLARGE_CONFIG.
- - Fixed GC_..._ignore_off_page to also function without
-   -DALL_INTERIOR_POINTERS.
- - (Hopefully) fixed RS/6000 port.  (Only the test was broken.)
- - Fixed a performance bug in the nonincremental collector running
-   on machines supporting incremental collection with MPROTECT_VDB
-   (e.g. SunOS 4, DEC AXP).  This turned into a correctness bug under
-   win32s with win32 incremental collection.  (Not all memory protection
-   was disabled.)
- - Fixed some ppcr related bit rot.
- - Caused dynamic libraries to be unregistered before reregistering.
-   The old way turned out to be a performance bug on some machines.
- - GC_root_size was not properly maintained under MSWIN32.
- - Added -DNO_DEBUGGING and GC_dump.
- - Fixed a couple of bugs arising with SOLARIS_THREADS +
-   REDIRECT_MALLOC.
- - Added NetBSD/M68K port.  (Thanks to Peter Seebach
-   <seebs at taniemarie.solon.com>.)
- - Fixed a serious realloc bug.  For certain object sizes, the collector
-   wouldn't scan the expanded part of the object.  (Thanks to Clay Spence
-   (cds at peanut.sarnoff.com) for noticing the problem, and helping me to
-   track it down.)
-   
-Since version 4.5:
- - Added Linux ELF support.  (Thanks to Arrigo Triulzi <arrigo at ic.ac.uk>.)
- - GC_base crashed if it was called before any other GC_ routines.
-   This could happen if a gc_cleanup object was allocated outside the heap
-   before any heap allocation.
- - The heap expansion heuristic was not stable if all objects had finalization
-   enabled.  Fixed finalize.c to count memory in finalization queue and
-   avoid explicit deallocation.  Changed alloc.c to also consider this count.
-   (This is still not recommended.  It's expensive if nothing else.)  Thanks
-   to John Ellis for pointing this out.
- - GC_malloc_uncollectable(0) was broken.  Thanks to Phong Vo for pointing
-   this out.
- - The collector didn't compile under Linux 1.3.X.  (Thanks to Fred Gilham for
-   pointing this out.)  The current workaround is ugly, but expected to be
-   temporary.
- - Fixed a formatting problem for SPARC stack traces.
- - Fixed some '=='s in os_dep.c that should have been assignments.
-   Fortunately these were in code that should never be executed anyway.
-   (Thanks to Fergus Henderson.)
- - Fixed the heap block allocator to only drop blacklisted blocks in small
-   chunks.  Made BL_LIMIT self adjusting.  (Both of these were in response
-   to heap growth observed by Paul Graham.)
- - Fixed the Metrowerks/68K Mac code to also mark from a6.  (Thanks
-   to Patrick Beard.)
- - Significantly updated README.debugging.
- - Fixed some problems with longjmps out of signal handlers, especially under
-   Solaris.  Added a workaround for the fact that siglongjmp doesn't appear to
-   do the right thing with -lthread under Solaris.
- - Added MSDOS/djgpp port.  (Thanks to Mitch Harris  (maharri at uiuc.edu).)
- - Added "make reserved_namespace" and "make user_namespace".  The
-   first renames ALL "GC_xxx" identifiers as "_GC_xxx".  The second is the
-   inverse transformation.  Note that doing this is guaranteed to break all
-   clients written for the other names.
- - descriptor field for kind NORMAL in GC_obj_kinds with ADD_BYTE_AT_END
-   defined should be -ALIGNMENT not WORDS_TO_BYTES(-1).  This is
-   a serious bug on machines with pointer alignment of less than a word.
- - GC_ignore_self_finalize_mark_proc didn't handle pointers to very near the
-   end of the object correctly.  Caused failures of the C++ test on a DEC Alpha
-   with g++.
- - gc_inl.h still had problems.  Partially fixed.  Added warnings at the
-   beginning to hopefully specify the remaining dangers.
- - Added DATAEND definition to config.h.
- - Fixed some of the .h file organization.  Fixed "make floppy".
- 
-Since version 4.6:
- - Fixed some compilation problems with -DCHECKSUMS (thanks to Ian Searle)
- - Updated some Mac specific files to synchronize with Patrick Beard.
- - Fixed a serious bug for machines with non-word-aligned pointers.
-   (Thanks to Patrick Beard for pointing out the problem.  The collector
-   should fail almost any conceivable test immediately on such machines.)
-
-Since version 4.7:
- - Changed a "comment" in a MacOS specific part of mach-dep.c that caused
-   gcc to fail on other platforms.
-
-Since version 4.8
- - More README.debugging fixes.
- - Objects ready for finalization, but not finalized in the same GC
-   cycle, could be prematurely collected.  This occasionally happened
-   in test_cpp.
- - Too little memory was obtained from the system for very large
-   objects.  That could cause a heap explosion if these objects were
-   not contiguous (e.g. under PCR), and too much of them was blacklisted.
- - Due to an improper initialization, the collector was too hesitant to
-   allocate blacklisted objects immediately after system startup.
- - Moved GC_arrays from the data into the bss segment by not explicitly
-   initializing it to zero.  This significantly
-   reduces the size of executables, and probably avoids some disk accesses
-   on program startup.  It's conceivable that it might break a port that I
-   didn't test.
- - Fixed EMX_MAKEFILE to reflect the gc_c++.h to gc_cpp.h renaming which
-   occurred a while ago.
-
-Since 4.9:
- - Fixed a typo around a call to GC_collect_or_expand in alloc.c.  It broke
-   handling of out of memory.  (Thanks to Patrick Beard for noticing.)
-
-Since 4.10:
- - Rationalized (hopefully) GC_try_to_collect in an incremental collection
-   environment.  It appeared to not handle a call while a collection was in
-   progress, and was otherwise too conservative.
- - Merged GC_reclaim_or_delete_all into GC_reclaim_all to get rid of some
-   code.
- - Added Patrick Beard's Mac fixes, with substantial completely untested
-   modifications.
- - Fixed the MPROTECT_VDB code to deal with large pages and imprecise
-   fault addresses (as on an UltraSPARC running Solaris 2.5).  Note that this
-   was not a problem in the default configuration, which uses PROC_VDB.
- - The DEC Alpha assembly code needed to restore $gp between calls.
-   Thanks to Fergus Henderson for tracking this down and supplying a
-   patch.
- - The write command for "de" was completely broken for large files.
-   I used the easiest portable fix, which involved changing the semantics
-   so that f.new is written instead of overwriting f.  That's safer anyway.
- - Added README.solaris2 with a discussion of the possible problems of
-   mixing the collector's sbrk allocation with malloc/realloc.
- - Changed the data segment starting address for SGI machines.  The
-   old code failed under IRIX6.
- - Required double word alignment for MIPS.
- - Various minor fixes to remove warnings.
- - Attempted to fix some Solaris threads problems reported by Zhiying Chen.
-   In particular, the collector could try to fork a thread with the
-   world stopped as part of GC_thr_init.  It also failed to deal with
-   the case in which the original thread terminated before the whole
-   process did.
- - Added -DNO_EXECUTE_PERMISSION.  This has a major performance impact
-   on the incremental collector under Irix, and perhaps under other
-   operating systems.
- - Added some code to support allocating the heap with mmap.  This may
-   be preferable under some circumstances.
- - Integrated dynamic library support for HP.
-   (Thanks to Knut Tvedten <knuttv at ifi.uio.no>.)
- - Integrated James Clark's win32 threads support, and made a number
-   of changes to it, many of which were suggested by Pontus Rydin.
-   This is still not 100% solid.
- - Integrated Alistair Crooks' support for UTS4 running on an Amdahl
-   370-class machine.
- - Fixed a serious bug in explicitly typed allocation.  Objects requiring
-   large descriptors where handled in a way that usually resulted in
-   a segmentation fault in the marker.  (Thanks to Jeremy Fitzhardinge
-   for helping to track this down.)
- - Added partial support for GNU win32 development.  (Thanks to Fergus
-   Henderson.)
- - Added optional support for Java-style finalization semantics.  (Thanks
-   to Patrick Bridges.)  This is recommended only for Java implementations.
- - GC_malloc_uncollectable faulted instead of returning 0 when out of
-   memory.  (Thanks to dan at math.uiuc.edu for noticing.)
- - Calls to GC_base before the collector was initialized failed on a
-   DEC Alpha.  (Thanks to Matthew Flatt.)
- - Added base pointer checking to GC_REGISTER_FINALIZER in debugging
-   mode, at the suggestion of Jeremy Fitzhardinge.
- - GC_debug_realloc failed for uncollectable objects.  (Thanks to
-   Jeremy Fitzhardinge.)
- - Explicitly typed allocation could crash if it ran out of memory.
-   (Thanks to Jeremy Fitzhardinge.)
- - Added minimal support for a DEC Alpha running Linux.
- - Fixed a problem with allocation of objects whose size overflowed
-   ptrdiff_t.  (This now fails unconditionally, as it should.)
- - Added the beginning of Irix pthread support.
- - Integrated Xiaokun Zhu's fixes for djgpp 2.01.
- - Added SGI-style STL allocator support (gc_alloc.h).
- - Fixed a serious bug in README.solaris2.  Multithreaded programs must include
-   gc.h with SOLARIS_THREADS defined.
- - Changed GC_free so it actually deallocates uncollectable objects.
-   (Thanks to Peter Chubb for pointing out the problem.)
- - Added Linux ELF support for dynamic libararies.  (Thanks again to
-   Patrick Bridges.)
- - Changed the Borland cc configuration so that the assembler is not
-   required.
- - Fixed a bug in the C++ test that caused it to fail in 64-bit
-   environments.
-
-Since 4.11:
- - Fixed ElfW definition in dyn_load.c. (Thanks to Fergus Henderson.)
-   This prevented the dynamic library support from compiling on some
-   older ELF Linux systems.
- - Fixed UTS4 port (which I apparently mangled during the integration)
-   (Thanks to again to Alistair Crooks.)
- - "Make C++" failed on Suns with SC4.0, due to a problem with "bool".
-   Fixed in gc_priv.h.
- - Added more pieces for GNU win32.  (Thanks to Timothy N. Newsham.)
-   The current state of things should suffice for at least some
-   applications.
- - Changed the out of memory retry count handling as suggested by
-   Kenjiro Taura.  (This matters only if GC_max_retries > 0, which
-   is no longer the default.)
- - If a /proc read failed repeatedly, GC_written_pages was not updated
-   correctly.  (Thanks to Peter Chubb for diagnosing this.)
- - Under unlikely circumstances, the allocator could infinite loop in
-   an out of memory situation.  (Thanks again to Kenjiro Taura for
-   identifying the problem and supplying a fix.)
- - Fixed a syntactic error in the DJGPP code.  (Thanks to Fergus
-   Henderson for finding this by inspection.)  Also fixed a test program
-   problem with DJGPP (Thanks to Peter Monks.)
- - Atomic uncollectable objects were not treated correctly by the
-   incremental collector.  This resulted in weird log statistics and
-   occasional performance problems.  (Thanks to Peter Chubb for pointing
-   this out.)
- - Fixed some problems resulting from compilers that dont define
-   __STDC__.  In this case void * and char * were used inconsistently
-   in some cases.  (Void * should not have been used at all.  If
-   you have an ANSI superset compiler that does not define __STDC__,
-   please compile with -D__STDC__=0. Thanks to Manuel Serrano and others
-   for pointing out the problem.)
- - Fixed a compilation problem on Irix with -n32 and -DIRIX_THREADS.
-   Also fixed some other IRIX_THREADS problems which may or may not have
-   had observable symptoms.
- - Fixed an HP PA compilation problem in dyn_load.c.  (Thanks to
-   Philippe Queinnec.)
- - SEGV fault handlers sometimes did not get reset correctly.  (Thanks
-   to David Pickens.)
- - Added a fix for SOLARIS_THREADS on Intel.  (Thanks again to David
-   Pickens.)  This probably needs more work to become functional.
- - Fixed struct sigcontext_struct in os_dep.c for compilation under
-   Linux 2.1.X.	(Thanks to Fergus Henderson.)
- - Changed the DJGPP STACKBOTTOM and DATASTART values to those suggested
-   by Kristian Kristensen.  These may still not be right, but it is
-   it is likely to work more often than what was there before.  They may
-   even be exactly right.
- - Added a #include <string.h> to test_cpp.cc.  This appears to help
-   with HP/UX and gcc.  (Thanks to assar at sics.se.)
- - Version 4.11 failed to run in incremental mode on recent 64-bit Irix
-   kernels.  This was a problem related to page unaligned heap segments.
-   Changed the code to page align heap sections on all platforms.
-   (I had mistakenly identified this as a kernel problem earlier.
-   It was not.)
- - Version 4.11 did not make allocated storage executable, except on
-   one or two platforms, due to a bug in a #if test.  (Thanks to Dave
-   Grove for pointing this out.)
- - Added sparc_sunos4_mach_dep.s to support Sun's compilers under SunOS4.
- - Added GC_exclude_static_roots.
- - Fixed the object size mapping algorithm.  This shouldn't matter,
-   but the old code was ugly.
- - Heap checking code could die if one of the allocated objects was
-   larger than its base address.  (Unsigned underflow problem.  Thanks
-   to Clay Spence for isolating the problem.)
- - Added RS6000 (AIX) dynamic library support and fixed STACK_BOTTOM.
-   (Thanks to Fred Stearns.)
- - Added Fergus Henderson's patches for improved robustness with large
-   heaps and lots of blacklisting.
- - Added Peter Chubb's changes to support Solaris Pthreads, to support
-   MMAP allocation in Solaris, to allow Solaris to find dynamic libraries
-   through /proc, to add malloc_typed_ignore_off_page, and a few other
-   minor features and bug fixes.
- - The Solaris 2 port should not use sbrk.  I received confirmation from
-   Sun that the use of sbrk and malloc in the same program is not
-   supported.  The collector now defines USE_MMAP by default on Solaris.
- - Replaced the djgpp makefile with Gary Leavens' version.
- - Fixed MSWIN32 detection test.
- - Added Fergus Henderson's patches to allow putting the collector into
-   a DLL under GNU win32.
- - Added Ivan V. Demakov's port to Watcom C on X86.
- - Added Ian Piumarta's Linux/PowerPC port.
- - On Brian Burton's suggestion added PointerFreeGC to the placement
-   options in gc_cpp.h.  This is of course unsafe, and may be controversial.
-   On the other hand, it seems to be needed often enough that it's worth
-   adding as a standard facility.
-
-Since 4.12:
- - Fixed a crucial bug in the Watcom port.  There was a redundant decl
-   of GC_push_one in gc_priv.h.
- - Added FINALIZE_ON_DEMAND.
- - Fixed some pre-ANSI cc problems in test.c.
- - Removed getpagesize() use for Solaris.  It seems to be missing in one
-   or two versions.
- - Fixed bool handling for SPARCCompiler version 4.2.
- - Fixed some files in include that had gotten unlinked from the main
-   copy.
- - Some RS/6000 fixes (missing casts).  Thanks to Toralf Foerster.
- - Fixed several problems in GC_debug_realloc, affecting mostly the
-   FIND_LEAK case.
- - GC_exclude_static_roots contained a buggy unsigned comparison to
-   terminate a loop.  (Thanks to Wilson Ho.)
- - CORD_str failed if the substring occurred at the last possible position.
-   (Only affects cord users.)
- - Fixed Linux code to deal with RedHat 5.0 and integrated Peter Bigot's
-   os_dep.c code for dealing with various Linux versions.
- - Added workaround for Irix pthreads sigaction bug and possible signal
-   misdirection problems.
-Since alpha1:
- - Changed RS6000 STACKBOTTOM.
- - Integrated Patrick Beard's Mac changes.
- - Alpha1 didn't compile on Irix m.n, m < 6.
- - Replaced Makefile.dj with a new one from Gary Leavens.
- - Added Andrew Stitcher's changes to support SCO OpenServer.
- - Added PRINT_BLACK_LIST, to allow debugging of high densities of false
-   pointers.
- - Added code to debug allocator to keep track of return address
-   in GC_malloc caller, thus giving a bit more context.
- - Changed default behavior of large block allocator to more
-   aggressively avoid fragmentation.  This is likely to slow down the
-   collector when it succeeds at reducing space cost.
- - Integrated Fergus Henderson's CYGWIN32 changes.  They are untested,
-   but needed for newer versions.
- - USE_MMAP had some serious bugs.  This caused the collector to fail
-   consistently on Solaris with -DSMALL_CONFIG.
- - Added Linux threads support, thanks largely to Fergus Henderson.
-Since alpha2:
- - Fixed more Linux threads problems.
- - Changed default GC_free_space_divisor to 3 with new large block allocation.
-   (Thanks to Matthew Flatt for some measurements that suggest the old
-   value sometimes favors space too much over time.)
- - More CYGWIN32 fixes.
- - Integrated Tyson-Dowd's Linux-M68K port.
- - Minor HP PA and DEC UNIX fixes from Fergus Henderson.
- - Integrated Christoffe Raffali's Linux-SPARC changes.
- - Allowed for one more GC fixup iteration after a full GC in incremental
-   mode.  Some quick measurements suggested that this significantly
-   reduces pause times even with smaller GC_RATE values.
- - Moved some more GC data structures into GC_arrays.  This decreases
-   pause times and GC overhead, but makes debugging slightly less convenient.
- - Fixed namespace pollution problem ("excl_table").
- - Made GC_incremental a constant for -DSMALL_CONFIG, hopefully shrinking
-   that slightly.
- - Added some win32 threads fixes.
- - Integrated Ivan Demakov and David Stes' Watcom fixes.
- - Various other minor fixes contributed by many people.
- - Renamed config.h to gcconfig.h, since config.h tends to be used for
-   many other things.
- - Integrated Matthew Flatt's support for 68K MacOS "far globals".
- - Fixed up some of the dynamic library Makefile targets for consistency
-   across platforms.
- - Fixed a USE_MMAP typo that caused out-of-memory handling to fail
-   on Solaris.
- - Added code to test.c to test thread creation a bit more.
- - Integrated GC_win32_free_heap, as suggested by Ivan Demakov.
- - Fixed Solaris 2.7 stack base finding problem.  (This may actually
-   have been done in an earlier alpha release.)
-Since alpha3:
- - Fixed MSWIN32 recognition test, which interfered with cygwin.
- - Removed unnecessary gc_watcom.asm from distribution.  Removed
-   some obsolete README.win32 text.
- - Added Alpha Linux incremental GC support.  (Thanks to Philipp Tomsich
-   for code for retrieving the fault address in a signal handler.)
-   Changed Linux signal handler context argument to be a pointer.
- - Took care of some new warnings generated by the 7.3 SGI compiler.
- - Integrated Phillip Musumeci's FreeBSD/ELF fixes.
- - -DIRIX_THREADS was broken with the -o32 ABI (typo in gc_priv.h>
-
-Since 4.13:
- - Fixed GC_print_source_ptr to not use a prototype.
- - generalized CYGWIN test.
- - gc::new did the wrong thing with PointerFreeGC placement.
-   (Thanks to Rauli Ruohonen.)
- - In the ALL_INTERIOR_POINTERS (default) case, some callee-save register
-   values could fail to be scanned if the register was saved and
-   reused in a GC frame.  This showed up in verbose mode with gctest
-   compiled with an unreleased SGI compiler.  I vaguely recall an old
-   bug report that may have been related.  The bug was probably quite old.
-   (The problem was that the stack scanning could be deferred until
-   after the relevant frame was overwritten, and the new save location
-   might be outside the scanned area.  Fixed by more eager stack scanning.)
- - PRINT_BLACK_LIST had some problems.  A few source addresses were garbage.
- - Replaced Makefile.dj and added -I flags to cord make targets.
-   (Thanks to Gary Leavens.)
- - GC_try_to_collect was broken with the nonincremental collector.
- - gc_cleanup destructors could pass the wrong address to
-   GC_register_finalizer_ignore_self in the presence of multiple
-   inheritance.  (Thanks to Darrell Schiebel.)
- - Changed PowerPC Linux stack finding code.
-
-Since 4.14alpha1
- - -DSMALL_CONFIG did not work reliably with large (> 4K) pages.
-   Recycling the mark stack during expansion could result in a size
-   zero heap segment, which confused things.  (This was probably also an
-   issue with the normal config and huge pages.)
- - Did more work to make sure that callee-save registers were scanned
-   completely, even with the setjmp-based code.  Added USE_GENERIC_PUSH_REGS
-   macro to facilitate testing on machines I have access to.
- - Added code to explicitly push register contents for win32 threads.
-   This seems to be necessary.  (Thanks to Pierre de Rop.)
-
-Since 4.14alpha2
- - changed STACKBOTTOM for DJGPP (Thanks to Salvador Eduardo Tropea).
- 
-Since 4.14
- - Reworked large block allocator.  Now uses multiple doubly linked free
-   lists to approximate best fit.
- - Changed heap expansion heuristic.  Entirely free blocks are no longer
-   counted towards the heap size.  This seems to have a major impact on
-   heap size stability; the old version could expand the heap way too
-   much in the presence of large block fragmentation.
- - added -DGC_ASSERTIONS and some simple assertions inside the collector.
-   This is mainlyt for collector debugging.
- - added -DUSE_MUNMAP to allow the heap to shrink.  Suupported on only
-   a few UNIX-like platforms for now.
- - added GC_dump_regions() for debugging of fragmentation issues.
- - Changed PowerPC pointer alignment under Linux to 4.  (This needs
-   checking by someone who has one.  The suggestions came to me via a
-   rather circuitous path.)
- - Changed the Linux/Alpha port to walk the data segment backwards until
-   it encounters a SIGSEGV.  The old way to find the start of the data
-   segment broke with a recent release.
- - cordxtra.c needed to call GC_REGISTER_FINALIZER instead of
-   GC_register_finalizer, so that it would continue to work with GC_DEBUG.
- - allochblk sometimes cleared the wrong block for debugging purposes
-   when it dropped blacklisted blocks.  This could result in spurious
-   error reports with GC_DEBUG.
- - added MACOS X Server support.  (Thanks to Andrew Stone.)
- - Changed the Solaris threads code to ignore stack limits > 8 MB with
-   a warning.  Empirically, it is not safe to access arbitrary pages
-   in such large stacks.  And the dirty bit implementation does not
-   guarantee that none of them will be accessed.
- - Integrated Martin Tauchmann's Amiga changes.
- - Integrated James Dominy's OpenBSD/SPARC port.
-
-Since 5.0alpha1
- - Fixed bugs introduced in alpha1 (OpenBSD & large block initialization).
- - Added -DKEEP_BACK_PTRS and backptr.h interface.  (The implementation
-   idea came from Al Demers.)
-
-Since 5.0alpha2
- - Added some highly incomplete code to support a copied young generation.
-   Comments on nursery.h are appreciated.
- - Changed -DFIND_LEAK, -DJAVA_FINALIZATION, and -DFINALIZE_ON_DEMAND,
-   so the same effect could be obtained with a runtime switch.   This is
-   a step towards standardizing on a single dynamic GC library.
- - Significantly changed the way leak detection is handled, as a consequence
-   of the above.
-
-Since 5.0 alpha3
- - Added protection fault handling patch for Linux/M68K from Fergus
-   Henderson and Roman Hodek.
- - Removed the tests for SGI_SOURCE in new_gc_alloc.h.  This was causing that
-   interface to fail on nonSGI platforms.
- - Changed the Linux stack finding code to use /proc, after changing it
-   to use HEURISTIC1.  (Thanks to David Mossberger for pointing out the
-   /proc hook.)
- - Added HP/UX incremental GC support and HP/UX 11 thread support.
-   Thread support is currently still flakey.
- - Added basic Linux/IA64 support.
- - Integrated Anthony Green's PicoJava support.
- - Integrated Scott Ananian's StrongARM/NetBSD support.
- - Fixed some fairly serious performance bugs in the incremental
-   collector.  These have probably been there essentially forever.
-   (Mark bits were sometimes set before scanning dirty pages.
-   The reclaim phase unnecessarily dirtied full small object pages.)
- - Changed the reclaim phase to ignore nearly full pages to avoid
-   touching them.
- - Limited GC_black_list_spacing to roughly the heap growth increment.
- - Changed full collection triggering heuristic to decrease full GC
-   frequency by default, but to explicitly trigger full GCs during
-   heap growth.  This doesn't always improve things, but on average it's
-   probably a win.
- - GC_debug_free(0, ...) failed.  Thanks to Fergus Henderson for the
-   bug report and fix.
-
-Since 5.0 alpha4
- - GC_malloc_explicitly_typed and friends sometimes failed to
-   initialize first word.
- - Added allocation routines and support in the marker for mark descriptors
-   in a type structure referenced by the first word of an object.  This was
-   introduced to support gcj, but hopefully in a way that makes it
-   generically useful.
- - Added GC_requested_heapsize, and inhibited collections in nonincremental
-   mode if the actual used heap size is less than what was explicitly
-   requested.
- - The Solaris pthreads version of GC_pthread_create didn't handle a NULL
-   attribute pointer.  Solaris thread support used the wrong default thread
-   stack size.  (Thanks to Melissa O'Neill for the patch.)
- - Changed PUSH_CONTENTS macro to no longer modify first parameter.
-   This usually doesn't matter, but it was certainly an accident waiting
-   to happen ...
- - Added GC_register_finalizer_no_order and friends to gc.h.  They're
-   needed by Java implementations.
- - Integrated a fix for a win32 deadlock resulting from clock() calling
-   malloc.  (Thanks to Chris Dodd.)
- - Integrated Hiroshi Kawashima's port to Linux/MIPS.  This was designed
-   for a handheld platform, and may or may not be sufficient for other
-   machines.
- - Fixed a va_arg problem with the %c specifier in cordprnt.c.  It appears
-   that this was always broken, but recent versions of gcc are the first to
-   report the (statically detectable) bug.
- - Added an attempt at a more general solution to dlopen races/deadlocks.
-   GC_dlopen now temporarily disables collection.  Still not ideal, but ...
- - Added -DUSE_I686_PREFETCH, -DUSE_3DNOW_PREFETCH, and support for IA64
-   prefetch instructions.  May improve performance measurably, but I'm not
-   sure the code will run correctly on processors that don't support the
-   instruction.  Won't build except with very recent gcc.
- - Added caching for header lookups in the marker.  This seems to result
-   in a barely measurable performance gain.  Added support for interleaved
-   lookups of two pointers, but unconfigured that since the performance
-   gain is currently near zero, and it adds to code size.
- - Changed Linux DATA_START definition to check both data_start and
-   __data_start, since nothing else seems to be portable.
- - Added -DUSE_LD_WRAP to optionally take advantage of the GNU ld function
-   wrapping mechanism.  Probably currently useful only on Linux.
- - Moved some variables for the scratch allocator into GC_arrays, on
-   Martin Hirzel's suggestion.
- - Fixed a win32 threads bug that caused the collector to not look for
-   interior pointers from one of the thread stacks without
-   ALL_INTERIOR_POINTERS.  (Thanks to Jeff Sturm.)
- - Added Mingw32 support.  (Thanks again to Jeff Sturm for the patch.)
- - Changed the alpha port to use the generic register scanning code instead
-   of alpha_mach_dep.s.  Alpha_mach_dep.s doesn't look for pointers in fp
-   registers, but gcc sometimes spills pointers there.  (Thanks to Manuel
-   Serrano for helping me debug this by email.)  Changed the IA64 code to
-   do something similar for similar reasons.
-
-[5.0alpha5 doesn't really exist, but it may have escaped.]
-
-Since 5.0alpha6:
- - -DREDIRECT_MALLOC was broken in alpha6. Fixed.
- - Cleaned up gc_ccp.h slightly, thus also causing the HP C++ compiler to
-   accept it.
- - Removed accidental reference to dbg_mlc.c, which caused dbg_mlc.o to be
-   linked into every executable.
- - Added PREFETCH to bitmap marker.  Changed it to use the header cache.
- - GC_push_marked sometimes pushed one object too many, resulting in a
-   segmentation fault in GC_mark_from_mark_stack.  This was probably an old
-   bug.  It finally showed up in gctest on win32.
- - Gc_priv.h erroneously #defined GC_incremental to be TRUE instead of FALSE
-   when SMALL_CONFIG was defined.  This was no doubt a major performance bug for
-   the default win32 configuration.
- - Removed -DSMALL_CONFIG from NT_MAKEFILE.  It seemed like an anchronism now
-   that the average PC has 64MB or so.
- - Integrated Bryce McKinley's patches for linux threads and dynamic loading
-   from the libgcj tree.  Turned on dynamic loading support for Linux/PPC.
- - Changed the stack finding code to use environ on HP/UX.  (Thanks
-   to Gustavo Rodriguez-Rivera for the suggestion.)  This should probably
-   be done on other platforms, too.  Since I can't test those, that'll
-   wait until after 5.0.
-
-Since 5.0alpha7:
- - Fixed threadlibs.c for linux threads.  -DUSE_LD_WRAP was broken and
-   -ldl was omitted.  Fixed Linux stack finding code to handle
-   -DUSE_LD_WRAP correctly.
- - Added MSWIN32 exception handler around marker, so that the collector
-   can recover from root segments that are unmapped during the collection.
-   This caused occasional failures under Windows 98, and may also be
-   an issue under Windows NT/2000.
-
-Since 5.0
- - Fixed a gc.h header bug which showed up under Irix.  (Thanks to
-   Dan Sullivan.)
- - Fixed a typo in GC_double_descr in typd_mlc.c.
-   This probably could result in objects described by array descriptors not
-   getting traced correctly.  (Thanks to Ben Hutchings for pointing this out.)
- - The block nearly full tests in reclaim.c were not correct for 64 bit
-   environments.  This could result in unnecessary heap growth under unlikely
-   conditions.
-
-Since 5.1
- - dyn_load.c declared GC_scratch_last_end_ptr as an extern even if it
-   was defined as a macro.  This prevented the collector from building on
-   Irix.
- - We quietly assumed that indirect mark descriptors were never 0.
-   Our own typed allocation interface violated that.  This could result
-   in segmentation faults in the marker with typed allocation.
- - Fixed a _DUSE_MUNMAP bug in the heap block allocation code.
-   (Thanks to Ben Hutchings for the patch.)
- - Taught the collector about VC++ handling array operator new.
-   (Thanks again to Ben Hutchings for the patch.)
- - The two copies of gc_hdrs.h had diverged.  Made one a link to the other
-   again.
-
-Since 5.2  (A few 5.2 patches are not in 6.0alpha1)
- - Fixed _end declaration for OSF1.
- - There were lots of spurious leak reports in leak detection mode, caused
-   by the fact that some pages were not being swept, and hence unmarked
-   objects weren't making it onto free lists.  (This bug dated back to 5.0.)
- - Fixed a typo in the liblinuxgc.so Makefile rule.
- - Added the GetExitCodeThread to Win32 GC_stop_world to (mostly) work
-   around a Windows 95 GetOpenFileName problem.  (Thanks to Jacob Navia.)
-
-Since 5.3
- - Fixed a typo that prevented compilation with -DUSE_3DNOW_PREFETCH.
-   (Thanks to Shawn Wagner for actually testing this.)
- - Fixed GC_is_thread_stack in solaris_threads.c.  It forgot to return a value
-   in the common case.  I wonder why nobody noticed?
- - Fixed another silly syntax problem in GC_double_descr.  (Thanks to
-   Fergus Henderson for finding it.)
- - Fixed a GC_gcj_malloc bug: It tended to release the allocator lock twice.
-
-Since 5.4  (A few 5.3 patches are not in 6.0alpha2)
- - Added HP/PA prefetch support.
- - Added -DDBG_HDRS_ALL and -DSHORT_DBG_HDRS to reduce the cost and improve
-   the reliability of generating pointer backtrace information, e.g. in
-   the Bigloo environment.
- - Added parallel marking support (-DPARALLEL_MARK).  This currently
-   works only under IA32 and IA64 Linux, but it shouldn't be hard to adapt
-   to other platforms.  This is intended to be a lighter-weight (less
-   new code, probably not as scalable) solution than the work by Toshio Endo
-   et al, at the University of Tokyo.  A number of their ideas were
-   reused, though the code wasn't, and the underlying data structure
-   is significantly different.  In particular, we keep the global mark
-   stack as a single shared data structure, but most of the work is done
-   on smaller thread-local mark stacks.
- - Changed GC_malloc_many to be cheaper, and to require less mutual exclusion
-   with -DPARALLEL_MARK.
- - Added full support for thread local allocation under Linux
-   (-DTHREAD_LOCAL_ALLOC).  This is a thin veneer on GC_malloc_many, and
-   should be easily portable to other platforms, especially those that
-   support pthreads.
- - CLEAR_DOUBLE was not always getting invoked when it should have been.
- - GC_gcj_malloc and friends used different out of memory handling than
-   everything else, probably because I forgot about one when I implemented
-   the other.  They now both call GC_oom_fn(), not GC_oom_action().
- - Integrated Jakub Jelinek's fixes for Linux/SPARC.
- - Moved GC_objfreelist, GC_aobjfreelist, and GC_words_allocd out of
-   GC_arrays, and separately registered the first two as excluded roots.
-   This makes code compiled with gc_inl.h less dependent on the
-   collector version.  (It would be nice to remove the inclusion of
-   gc_priv.h by gc_inl.h completely, but we're not there yet.  The
-   locking definitions in gc_priv.h are still referenced.)
-   This change was later coniditoned on SEPARATE_GLOBALS, which
-   is not defined by default, since it involves a performance hit.
- - Register GC_obj_kinds separately as an excluded root region.  The
-   attempt to register it with GC_arrays was usually failing.  (This wasn't
-   serious, but seemed to generate some confusion.) 
- - Moved backptr.h to gc_backptr.h.
-
-Since 6.0alpha1
- - Added USE_MARK_BYTES to reduce the need for compare-and-swap on platforms
-   for which that's expensive.
- - Fixed a locking bug ib GC_gcj_malloc and some locking assertion problems.
- - Added a missing volatile to OR_WORD and renamed the parameter to
-   GC_compare_and_swap so it's not a C++ reserved word.  (Thanks to
-   Toshio Endo for pointing out both of those.)
- - Changed Linux dynamic library registration code to look at /proc/self/maps
-   instead of the rld data structures when REDIRECT_MALLOC is defined.
-   Otherwise some of the rld data data structures may be prematurely garbage
-   collected.  (Thanks to Eric Benson for helping to track this down.)
- - Fixed USE_LD_WRAP a bit more, so it should now work without threads.
- - Renamed XXX_THREADS macros to GC_XXX_THREADS for namespace correctness.
-   Tomporarily added some backward compatibility definitions.  Renamed
-   USE_LD_WRAP to GC_USE_LD_WRAP.
- - Many MACOSX POWERPC changes, some additions to the gctest output, and
-   a few minor generic bug fixes.  (Thanks to Dietmar Planitzer.)
-
-Since 6.0 alpha2
- - Fixed the /proc/self/maps code to not seek, since that apparently is not
-   reliable across all interesting kernels.
- - Fixed some compilation problems in the absence of PARALLEL_MARK
-   (introduced in alpha2).
- - Fixed an algorithmic problem with PARALLEL_MARK.  If work needs to
-   be given back to the main mark "stack", the BOTTOM entries of the local
-   stack should be given away, not the top ones.  This has substantial
-   performance impact, especially for > 2 processors, from what I can tell.
- - Extracted gc_lock.h from gc_priv.h.  This should eventually make it a
-   bit easier to avoid including gc_priv.h in clients.
- - Moved all include files to include/ and removed duplicate links to the
-   same file.  The old scheme was a bad idea because it was too easy to get the
-   copies out of sync, and many systems don't support hard links.
-   Unfortunately, it's likely that I broke some of the non-Unix Makefiles in
-   the process, although I tried to update them appropriately.
- - Removed the partial support for a copied nursery.  It's not clear that
-   this would be a tremendous win, since we don't consistently lose to
-   generational copying collectors.  And it would significantly complicate
-   many things.  May be reintroduced if/when it really turns out to win.
- - Removed references to IRIX_JDK_THREADS, since I believe there never
-   were and never will be any clients.
- - Added some code to linux_threads.c to possibly support HPUX threads
-   using the Linux code.  Unfortunately, it doesn't work yet, and is
-   currently disabled.
- - Added support under Linux/X86 for saving the call chain, both in (debug)
-   objects for client debugging, and in GC_arrays._last_stack for GC
-   debugging.  This was previously supported only under Solaris.  It is
-   not enabled by default under X86, since it requires that code be compiled
-   to explicitly dave frame pointers on the call stack.  (With gcc this
-   currently happens by default, but is often turned off explicitly.)
-   To turn it on, define SAVE_CALL_CHAIN.
- 
-Since 6.0 alpha3
- - Moved up the detection of mostly full blocks to the initiatiation of the
-   sweep phase.  This eliminates some lock conention in the PARALLEL_MARK case,
-   as multiple threads try to look at mostly full blocks concurrently.
- - Restored the code in GC_malloc_many that grabs a prefix of the global
-   free list.  This avoids the case in which every GC_malloc_many call
-   tries and fails to allocate a new heap block, and the returns a single
-   object from the global free list.
- - Some minor fixes in new_hblk.c.  (Attempted to build free lists in order
-   of increasing addresses instead of decreasing addresses for cache performance
-   reasons.  But this seems to be only a very minor gain with -DEAGER_SWEEP,
-   and a loss in other cases.  So the change was backed out.)
- - Fixed some of the documentation.  (Thanks in large part to Fergus
-   Henderson.)
- - Fixed the Linux USE_PROC_FOR_LIBRARIES code to deal with apps that perform
-   large numbers of mmaps.  (Thanks to Eric Benson.)  Also fixed that code to
-   deal with short reads.
- - Added GC_get_total_bytes(). 
- - Fixed leak detection mode to avoid spurious messages under linuxthreads.
-   (This should also now be easy for the other supported threads packages.
-   But the code is tricky enough that I'm hesitant to do it without being able
-   to test.  Everything allocated in the GC thread support itself should be
-   explicitly deallocated.)
- - Made it possible (with luck) to redirect malloc to GC_local_malloc.
-
-Since 6.0 alpha4
- - Changed the definition of GC_pause in linux_threads.c to use a volatile
-   asm.  Some versions of gcc apparently optimize away writes to local volatile
-   variables.  This caused poor locking behaviour starting at about
-   4 processors.
- - Added GC_start_blocking(), GC_end_blocking() calls and wrapper for sleep
-   to linux_threads.c.
-   The first two calls could be used to generally avoid sending GC signals to
-   blocked threads, avoiding both premature wakeups and unnecessary overhead.
- - Fixed a serious bug in thread-local allocation.  At thread termination,
-   GC_free could get called on small integers.  Changed the code for thread
-   termination to more efficiently return left-over free-lists.
- - Integrated Kjetil Matheussen's BeOS support.
- - Rearranged the directory structure to create the doc and tests
-   subdirectories.
- - Sort of integrated Eric Benson's patch for OSF1.  This provided basic
-   OSF1 thread support by suitably extending hpux_irix_threads.c.  Based
-   on earlier email conversations with David Butenhof, I suspect that it
-   will be more reliable in the long run to base this on linux_threads.c
-   instead.  Thus I attempted to patch up linux_threads.c based on Eric's code.
-   The result is almost certainly broken, but hopefully close enough that
-   someone with access to a machine can pick it up.
- - Integrated lots of minor changes from the NetBSD distribution.  (These
-   were supplied by David Brownlee.  I'm not sure about the original
-   authors.)
- - Hacked a bit more on the HP/UX thread-support in linux_threads.c.  It
-   now appears to work in the absence of incremental collection.  Renamed
-   hpux_irix_threads.c back to irix_threads.c, and removed the attempt to
-   support HPUX there.
- - Changed gc.h to define _REENTRANT in cases in which it should already
-   have been defined. It is still safer to also define it on the command
-   line. 
-
-Since 6.0alpha5:
- - Changed the definition of DATASTART on ALPHA and IA64, where data_start
-   and __data_start are not defined by earlier versions of glibc.  This might
-   need to be fixed on other platforms as well.
- - Changed the way the stack base and backing store base are found on IA64.
-   This should now remain reliable on future kernels.  But since it relies
-   on /proc, it will no longer work in the simulated NUE environment.
- - Made the call to random() in dbg_mlc.c with -DKEEP_BACK_PTRS dependent
-   on the OS.  On non-Unix systems, rand() should be used instead.  Handled
-   small RAND_MAX.  (Thanks to Peter Ross for pointing this out.)
- - Fixed the cord make rules to create the cord subdirectory, if necessary.
-   (Thanks to Doug Moen.)
- - Changed fo_object_size calculation in finalize.c.  Turned finalization
-   of nonheap object into a no-op.  Removed anachronism from GC_size()
-   implementation.
- - Changed GC_push_dirty call in solaris_threads.c to GC_push_selected.
-   It was missed in a previous renaming. (Thanks to Vladimir Tsichevski
-   for pointing this out.)
- - Arranged to not not mask SIGABRT in linux_threads.c.  (Thanks to Bryce
-   McKinlay.) 
- - Added GC_no_dls hook for applications that want to register their own
-   roots.
- - Integrated Kjetil Matheussen's Amiga changes.
- - Added FREEBSD_STACKBOTTOM.  Changed the X86/FreeBSD port to use it.
-   (Thanks to Matthew Flatt.)
- - Added pthread_detach interception for platforms supported by linux_threads.c
-   and irix_threads.c.  Should also be added for Solaris?
- - Changed the USE_MMAP code to check for the case in which we got the
-   high end of the address space, i.e. mem_ptr + mem_sz == 0.  It appears
-   that this can happen under Solaris 7.  It seems to be allowed by what
-   I would claim is an oversight in the mmap specification.  (Thanks to Toshio
-   Endo for pointing out the problem.)
- - Cleanup of linux_threads.c.  Some code was originally cloned from
-   irix_threads.c and now unnecessary.  Some comments were obviously wrong.
- - (Mostly) fixed a longstanding problem with setting of dirty bits from
-   a signal handler.  In the presence of threads, dirty bits could get lost,
-   since the etting of a bit in the bit vector was not atomic with respect
-   to other updates.  The fix is 100% correct only for platforms for which
-   GC_test_and_set is defined.  The goal is to make that all platforms with
-   thread support.  Matters only if incremental GC and threads are both
-   enabled.
- - made GC_all_interior_pointers (a.k.a. ALL_INTERIOR_POINTERS) an
-   initialization time, instead of build-time option.  This is a 
-   nontrivial, high risk change.  It should slow down the code measurably
-   only if MERGE_SIZES is not defined, which is a very nonstandard
-   configuration.   
- - Added doc/README.environment, and implemented what it describes.  This
-   allows a number of additional configuration options to be set through
-   the environment.  It documents a few previously undocumented options.
- - Integrated Eric Benson's leak testing improvements.
- - Removed the option to throw away the beginning of each page (DISCARD_WORDS).
-   This became less and less useful as processors enforce stricter alignment.
-   And it hadn't been tested in ages, and was thus probably broken anyway.
-
-Since 6.0alpha6:
- - Added GC_finalizer_notifier.  Fixed GC_finalize_on_demand.  (The variable
-   actually wasn't being tested at the right points.  The build-time flag
-   was.)
- - Added Tom Tromey's S390 Linux patch.
- - Added code to push GC_finalize_now in GC_push_finalizer_structures.
-   (Thanks to Matthew Flatt.)
- - Added GC_push_gc_structures() to push all GC internal roots.
- - Integrated some FreeBSD changes from Matthew Flatt.
- - It looks like USRSTACK is not always correctly defined under Solaris.
-   Hacked gcconfig.h to attempt to work around the problem.  The result
-   is not well tested.  (Thanks again to Matthew Flatt for pointing this
-   out.  The gross hack is mine. - HB)
- - Added Ji-Yong Chung's win32 threads and C++ fixes.
- - Arranged for hpux_test_and_clear.s to no longer be needed or built.
-   It was causing build problems with gas, and it's not clear this is
-   better than the pthreads alternative on this platform.
- - Some MINGW32 fixes from Hubert Garavel.
- - Added Initial Hitachi SH4 port from Kaz Kojima.
- - Ported thread-local allocation and parallel mark code to HP/UX on PA_RISC.
- - Made include/gc_mark.h more public and separated out the really private
-   pieces.  This is probably still not quite sufficient for clients that
-   want to supply their own kind of type information.  But it's a start.
-   This involved lots of identifier renaming to make it namespace clean.
- - Added GC_dont_precollect for clients that need complete control over
-   the root set.
- - GC_is_visible didn't do the right thing with gcj objects.  (Not that
-   many people are likely to care, but ...)
- - Don't redefine read with GC_USE_LD_WRAP.
- - Initial port to LINUX/HP_PA.  Incremental collection and threads are not
-   yet supported.  (Incremental collection should work if you have the
-   right kernel.  Threads may work with a sufficiently patched pthread
-   library.)
- - Changed gcconfig.h to recognize __i386__ as an alternative to i386 in
-   many places.  (Thanks to Benjamin Lerman.)
- - Made win32_threads.c more tolerant of detaching a thread that it didn't
-   know about.  (Thanks to Paul Nash.)
- - Added Makefile.am and configure.in from gcc to the distribution, with
-   minimal changes.  For the moment, those are just placeholders.  In the
-   future, we're planning to switch to a GNU-style build environment for
-   Un*x-like systems, though the old Makefile will remain as a backup.
- - Turned off STUBBORN_ALLOC by default, and added it back as a Makefile
-   option.
- - Redistributed some functions between malloc.c and mallocx.c, so that
-   simple statically linked apps no longer pull in mallocx.o.
- - Changed large object allocation to clear the first and last few words
-   of each block before releassing the lock.  Otherwise the marker could see
-   objects with nonsensical type descriptors.
- - Fixed a couple of subtle problems that could result in not recognizing
-   interior pointers from the stack.  (I believe these were introduced
-   in 6.0alpha6.)
- - GC_debug_free_inner called GC_free, which tried to reacquire the
-   allocator lock, and hence deadlocked.  (DBG_HDRS_ALL probably never worked
-   with threads?)
- - Fixed several problems with back traces.  Accidental references to a free
-   list could cause the free list pointer to be overwritten by a back pointer.
-   There seemed to be some problems with the encoding of root and finalizer
-   references.
-  
-Since 6.0alpha7:
- - Changed GC_debug_malloc_replacement and GC_debug_realloc_replacement
-   so that they compile under Irix.  (Thanks to Dave Love.)
- - Updated powerpc_macosx_mach_dep.s so that it works if the collector
-   is in a dynamic library.  (Thanks to Andrew Begel.)
- - Transformed README.debugging into debugging.html, updating and
-   expanding it in the process.  Added gcdescr.html and tree.html
-   from the web site to the GC distribution.
- - Fixed several problems related to PRINT_BLACK_LIST. This involved
-   restructuring some of the marker macros.
- - Fixed some problems with the sizing of objects with debug information.
-   Finalization was broken KEEP_BACK_PTRS or PRINT_BLACK_LIST.  Reduced the
-   object size with SHORT_DEBUG_HDRS by another word.
- - The "Needed to allocate blacklisted ..." warning had inadvertently
-   been turned off by default, due to a buggy test in allchblk.c.  Turned
-   it back on.
- - Removed the marker macros to deal with 2 pointers in interleaved fashion.
-   They were messy and the performance improvement seemed minimal.  We'll
-   leave such scheduling issues to the compiler.
- - Changed Linux/PowerPC test to also check for __powerpc__ in response
-   to a discussion on the gcc mailing list.
- - On Matthew Flatt's suggestion removed the "static" from the jmp_buf
-   declaration in GC_generic_push_regs.  This was causing problems in
-   systems that register all of their own roots.  It looks far more correct
-   to me without the "static" anyway. 
- - Fixed several problems with thread local allocation of pointerfree or
-   typed objects.  The collector was reclaiming thread-local free lists, since
-   it wasn't following the link fields.
- - There was apparently a long-standing race condition related to multithreaded
-   incremental collection.  A collection could be started and a thread stopped
-   between the memory unprotect system call and the setting of the
-   corresponding dirt bit.  I believe this did not affect Solaris or PCR, which
-   use a different dirty-bit implementation.  Fixed this by installing
-   signal handlers with sigaction instead of signal, and disabling the thread
-   suspend signal while in the write-protect handler.  (It is unclear
-   whether this scenario ever actually occurred.  I found it while tracking
-   down the following:)
- - Incremental collection did not cooperate correctly with the PARALLEL_MARK
-   implementation of GC_malloc_many or the local_malloc primitves.  It still
-   doesn't work well, but it shouldn't lose memory anymore.
- - Integrated some changes from the gcc source tree that I had previously
-   missed.  (Thanks to Bryce McKinley for the reminder/diff.)
- - Added Makefile.direct as a copy of the default Makefile, which would
-   normally be overwritten if configure is run.
- - Changed the gc.tar target in Makefile.direct to embed the version number
-   in the gc directory name.  This will affect future tar file distributions.
- - Changed the Irix dynamic library finding code to no longer try to
-   eliminate writable text segments under Irix6.x, since that is probably no
-   longer necessary, and can apparently be unsafe on occasion.  (Thanks to
-   Shiro Kawai for pointing this out.)
- - GC_cleanup with GC_DEBUG enabled passed a real object base address to
-   GC_debug_register_finalizer_ignore_self, which expected a pointer past the
-   debug header.  Call GC_register_finalizer_ignore_self instead, even with
-   debugging enabled.  (Thanks to Jean-Daniel Fekete for catching this.)
- - The collector didn't build with call chain saving enabled but NARGS=0.
-   (Thanks to Maarten Thibaut.)
- - Fixed up the GNU-style build files enough so that they work in some
-   obvious cases.
- - Added initial port to Digital Mars compiler for win32. (Thanks to Walter
-   Bright.)
-
-Since 6.0alpha8:
- - added README.macros.
- - Made gc.mak a symbolic link to work around winzip's tendency to ignore
-   hard links.
- - Simplified the setting of NEED_FIND_LIMIT in os_dep.c, possibly breaking
-   it on untested platforms.
- - Integrated initial GNU HURD port. (Thanks to Chris Lingard and Igor
-   Khavkine.)
- - A few more fixes for Digital Mars compiler (Walter Bright).
- - Fixed gcc version recognition.  Renamed OPERATOR_NEW_ARRAY to
-   GC_OPERATOR_NEW_ARRAY.  Changed GC_OPERATOR_NEW_ARRAY to be the default.
-   It can be overridden with -DGC_NO_OPERATOR_NEW_ARRAY.  (Thanks to
-   Cesar Eduardo Barros.) 
- - Changed the byte size to free-list mapping in thread local allocation
-   so that size 0 allocations are handled correctly.
- - Fixed Linux/MIPS stackbottom for new toolchain. (Thanks to Ryan Murray.)
- - Changed finalization registration to invoke GC_oom_fn when it runs out
-   of memory.
- - Removed lvalue cast in finalize.c.  This caused some debug configurations
-   not to build with some non-gcc compilers.
-
-Since 6.0alpha9:
- - Two more bug fixes for KEEP_BACK_PTRS and DBG_HDRS_ALL.
- - Fixed a stack clearing problem that resulted in SIGILL with a
-   misaligned stack pointer for multithreaded SPARC builds.
- - Integrated another HURD patch (thanks to Igor Khavkine).
-
-Since 6.0:
- - Non-debug, atomic allocations could result in bogus smashed object
-   reports with debugging on.  (Thanks to Patrick Doyle for the small
-   test case.)
- - Fixed GC_get_register_stack_base (Itanium only) to work around a glibc
-   2.2.4 bug.
- - Initial port to HP/UX on Itanium.  Thread support and both 32 and 64
-   bit ABIs appear to work.  Parallel mark support doesn't yet, due to
-   some inline assembly code issues.  Thread local allocation does appear
-   to work.
- - ifdef'ed out glibc2.1/Itanium workaround.  I suspect nobody is using
-   that combination anymore.
- - Added a patch to make new_gc_alloc.h usable with gcc3.0.  (Thanks to
-   Dimitris Vyzovitis for the patch.)
- - Debugged 64-bit support on HP/UX PA-RISC.
- - Turned on dynamic loading support for FreeBSD/ELF.  (Thanks to Peter
-   Housel.)
- - Unregistering of finalizers with debugging allocation was broken.
-   (Thanks to Jani Kajala for the test case.)
- - Old finalizers were not returned correctly from GC_debug_register_finalizer.
- - Disabled MPROTECT_VDB for Linux/M68K based on a report that it doesn't work.
- - Cleaned up some statistics gathering code in reclaim.c (Thanks to Walter
-   Bright.)
- - Added some support for OpenBSD/ELF/Linux.  (Thanks to Suzuki Toshiya.)
- - Added Jakub Jelinek's patch to use dl_iterate_phdr for dynamic library
-   traversal to dyn_load.c.  Changed it to weakly reference dl_iterate_phdr,
-   so that the old code is stilll used with old versions of glibc.
- - Cleaned up feature test macros for various threads packages and
-   integrated (partially functional) FreeBSD threads code from Loren Rittle.
-   It's likely that the cleanup broke something, since it touched lots of
-   code.  It's also likelly that it fixed some unreported bugs in the
-   less common thread implementations, since some of the original code
-   didn't stand up to close scrutiny.  Support for the next pthreads
-   implementation should be easier to add.
-
-Since 6.1alpha1:
- - No longer wrap read by default in multithreaded applications.  It was
-   pointed out on the libgcj list that this holds the allocation lock for
-   way too long if the read blocks.  For now, reads into the heap are
-   broken with incremental collection.  It's possible to turn this back on
-   if you make sure that read calls don't block (e.g. by calling select
-   first).
- - Fix ifdef in Solaris_threads.h to refer to GC_SOLARIS_THREADS.
- - Added check for environment variable GC_IGNORE_GCJ_INFO.
- - Added printing of stop-the-world GC times if GC_PRINT_STATS environment
-   variable is set.
- - The calloc definition in leak_detector.h was missing parentheses, and
-   realloc was missing a second argument to GC_REALLOC.
-   (Thanks to Elrond (elrond<at>samba-tng.org).)
- - Added GC_PRINT_BACK_HEIGHT environment variable and associated
-   code, mostly in the new file backgraph.c.  See doc/README.environment.
- - Added -DUSE_GLOBAL_ALLOC to work around a Windows NT issue.  (Thanks to
-   Jonathan Clark.)
- - Integrated port to NEC EWS4800 (MIPS-based workstation, with somewhat
-   different address-space layout). This may help for other machines with
-   holes in the data segment.  (Thanks to Hironori Sakamoto.)
- - Changed the order in which GC_push_roots and friends push things onto
-   the mark stack.  GC_push_all calls need to come first, since we can't
-   necessarily recovere if those overflow the mark stack.  (Thanks to
-   Matthew Flatt for tracking down the problem.)
- - Some minor cleanups to mostly support the Intel compiler on Linux/IA64.
-
-Since 6.1 alpha2:
- - Minor cleanup on the gcconfig.h section for SPARC.
- - Minor fix to support Intel compiler for I386/Linux. (Thanks to Sven
-   Hartrumpf.)
- - Added SPARC V9 (64-bit) support.  (Thanks to Jeff Sturm.)
- - Restructured the way in which we determine whether or not to keep
-   call stacks for debug allocation.  By default SAVE_CALL_COUNT is
-   now zero on all platforms.  Added SAVE_CALL_NARGS parameters.
-   If possible, use execinfo.h to capture call stack.  (This should
-   add support for a number of new platforms, though often at
-   considerable runtime expense.)
- - Try to print symbolic information for call stacks.  On Linux, we
-   do this with a combination of execinfo.h and running addr2line in
-   a separate process.  This is both much more expensive and much more
-   useful.  Amazingly, it seems to be fast enough for most purposes.
- - Redefined strdup if -DREDIRECT_MALLOC is given.
- - Changed incremental collector and MPROTECT_VDB implementation so that,
-   under favorable conditions, pointerfree objects are not protected.
-   Added GC_incremental_protection_needs() to determine ahead of time whether
-   pointerfree objects may be protected.  Replaced GC_write_hint() with
-   GC_remove_protection().
- - Added test for GC_ENABLE_INCREMENTAL environment variable.
- - Made GC_time_limit runtime configurable.  Added GC_PAUSE_TIME_TARGET
-   environment variable.
- - Eliminated GC_page_sz, a duplicate of GC_page_size.
- - Caused the Solaris and Irix thread creation primitives to call
-   GC_init_inner().
- 
-Since 6.1alpha3:
- - Fixed typo in sparc_mach_dep.S, preventing the 64-bit version from
-   building.  Increased 64-bit heap size limit in test.c slightly, since
-   a functional SPARC collector seems to slightly exceed the old limits.
-   (Thanks again to Jeff Sturm.)
- - Use NPRGREG in solaris_threads.c, thus printing all registers if things
-   go wrong.
- - Added GC_MARKERS environment variable to allow use of a single marker
-   thread on an MP without confusing the lock implementation.
- - Collect much less aggressively in incremental mode with GC_TIME_UNLIMITED.
-   This is really a purely generational mode, and we can afford to 
-   postpone the collection until the heap is (nearly) full.
- - Remove read() wrapper for MPROTECT_VDB.  It was causing more harm than
-   good.  It is often no longer needed if system calls avoid writing to
-   pointerfull heap objects.
- - Fix MACOSX test in gcconfig.h. (Thanks to John Clements.)
- - Change GC_test_and_set so that it consistently has one argument.
-   Add spaces to ::: in powerpc assembly code in gc_locks.h.
-   (Thanks to Ryan Murray.)
- - Fixed a formatting error in dbg_mlc.c.  Added prototype to GC_abort()
-   declaration.   (Thanks to Michael Smith.)
- - Removed "source" argument to GC_find_start().  Eliminate GC_FIND_START().
- - Added win32 recognition code in configure.in.  Changed some of the
-   dllimport/export defines in gc.h.  (Thanks to Adam Megacz.)
- - GC_malloc_many didn't set hb_last_reclaimed when it called 
-   GC_reclaim_generic.  (I'm not sure this matters much, but ...)
- - Allocating uncollectable objects with debug information sometimes
-   allocated objects that were one byte too small, since uncollectable
-   objects don't have the extra byte added at the end.  (Thanks to
-   Wink Saville for pointing this out.)
- - Added a bit more assertion checking to make sure that gcj objects
-   on free lists never have a nonzero second word.
- - Replaced BCC_MAKEFILE with an up-to-date one.  (Thanks to 
-   Andre Leiradella.)
- - Upgraded libtool, cinfigure.in and some related files to hopefully
-   support NetBSD/SPARC.  (Thanks to Adrian Bunk.)  Unfortunately,
-   libtool 1.4.2 seemed to be buggy due to missing quotes in several
-   "test" invocations.  Fixed those in the ltmain.sh script.
- - Some win32-specific patches, including the introduction of
-   GC_CreateThread.  (Thanks to Adam Megacz.)
- - Merged in gcj changes from Anthony Green to support embedded systems.
- - Tried to consistently rename preprocessed assembly files with a capital
-   .S extension.
- - Use alpha_mach_dep.S on ALPHA again.  It doesn't really matter, but this
-   makes our distribution consistent with the gcc one, avoiding future merge
-   problems.
- - Move GET_MEM definition into gcconfig.h.  Include gcconfig.h slightly
-   later in gc_priv.h to avoid forward references to ptr_t.
- - Add some testing of local allocation to test.c.
- - Change definition of INVALID_QTID in specific.h.  The -1 value was used
-   inconsistently, and too likely to collide with a valid stack address.
-   Some general clean-up of specific.[ch].  Added assertions.  (Thanks
-   to Michael Smith for tracking down an intermittent bug to this
-   general area.  I'm not sure it has been squashed yet, however.)
- - On Pthread systems it was not safe to call GC_malloc() between fork()
-   and exec().  According to the applicable standards, it doesn't appear
-   to be safe to call malloc() or many other libc functions either, thus
-   it's not clear this is fixable.  Added experimental support for
-   -DHANDLE_FORK in linux_threads.c which tries to support it.  It may
-   succeed if libc does the right thing.  I'm not sure whether it does.
-   (Thanks to Kenneth Schalk for pointing out this issue.)
- - Documented thread local allocation primitives to require an
-   explicit GC_init call.  GC_init_parallel is no longer declared to
-   be a constructor function, since that isn't portable and often
-   seems to lead to initialization order problems.
- - Changed gc_cpp.cc and gc_cpp.h in one more attempt to make them
-   compatible with Visual C++ 6.  (Thanks to Wink Saville for the
-   patch.)
- - Some more patches for Linux on HP PA-RISC.
- - Added include/gc_allocator.h.  It implements (hopefully) standard
-   conforming (as opposed to SGI-style) allocators that allocate
-   collectable (gc_allocator) or GC-traceable, but not collectable
-   (traceable_allocator) objects.  This borrows heavily from libstc++,
-   which borrows heavily from the SGI implementation, this part of
-   which was written by Matt Austern.  Changed test_cpp.cc to very
-   minimally test this.
- - On Linux/X86, retry mmap with a different start argument.  That should
-   allow the collector to use more (closer to 3GB) of the address space.
-   (Thanks to Jeffrey Mark Siskind for tracking this down.)
- - Force 64 bit alignment with GCJ support.  (Reflects Bryce McKinley's
-   patch to the gcc tree.)
- - Refined the choice of sa_handler vs. sa_sigaction in GC_dirty_init
-   to accomodate some glibc5 systems.  (Thanks to Dan Fandrich for the
-   patch.)
- - Compensated for the fact that current versions of glibc set
-   __libc_stack_end incorrectly on Linux/IA64 while initialization code
-   is running.  This could cause the collector to miss 16 bytes of
-   the memory stack if GC_malloc or friends where called before main().
- - Mostly integrated Takis Psarogiannakopoulos' port to DG/UX Inix 86.
-   This will probably take another iteration to work, since his
-   patch conflicted with the libtool upgrade. 
- - Added README.arm.cross containing some information about cross-
-   compiling to an ARM processor from Margaret Fleck.
-
-Since 6.1alpha4:
- - Added GC_finalizer_mem_freed, and changed some of the code that
-   decided on heap expansion to look at it.  Memory explicitly
-   deallocated by finalizers essentially needs to be counted as reclaimed
-   by the GC.  Otherwise there are cases in which the heap can grow
-   unboundedly.  (Thanks to Mark Reichert for the test case.)
- - Integrated Adam Megacz patches to not scan dynamic libraries if
-   we are compiling with gcc on win32.  Otherwise we need structured
-   exception handling to deal with asynchronously unmapped root
-   segments, and gcc doesn't directly support that.
- - Integrated Anthony Green's patch to support Wine.
- - GC_OPERATOR_NEW_ARRAY was misspelled OPERATOR_NEW_ARRAY in several
-   places, including gc_cpp.cc.  (Thanks to Wink Saville for pointing
-   this out.)
- - Integrated Loren James Rittle's Alpha FreeBSD patches.  In
-   response to Richard Henderson's suggestion, these also
-   changed the declarations of symbols like _end on many platforms to
-   that they wouldn't mistakenly be declared as short data symbols.
- - Integrated changes from the Debian distribution.  (Thanks to Ryan Murray
-   for pointing these out.)  Fix C++ comments in POWERPC port.  Add ARM32
-   incremental GC support.  Get rid of USE_GENERIC_PUSH_REGS for alpha/Linux,
-   this time for real.  Use va_copy to get rid of cord printf problems
-   (finally).
- - Close file descriptor used to count cpus.  Thanks to Jeff Sturm for
-   pointing out the omission.
- - Don't just drop gcj free lists in GC_start_reclaim, since that can
-   eventually cause the marker to see a bogus mark descriptor in the 
-   dropped objects.  The usual symptom was a very intermittent segmentation
-   fault in the marker.  This mattered only if one of the GC_gcj_malloc
-   variants was used.  (Thanks to Michael Smith, Jeff Sturm, Bryce
-   McKinley and Tom Tromey for helping to track this down.)
- - Fixed Linux and Solaris/64 SPARC configuration.  (Thanks to David Miller,
-   Jeff Sturm, Tom Tromey, and Christian Joensson.)
- - Fixed a typo in strdup definition.  (Thanks to Gerard A Allan.)
- - Changed Makefile.direct to invoke $(CC) to assemble alpha_mach_dep.S.
-   This is needed on Linux.  I'm not sure whether it's better or worse
-   on Tru64.
- - Changed gc_cpp.h once more to declare operator new and friends only in
-   a Microsoft environment.  This may need further fine tuning.  (Thanks to
-   Johannes Schmidt for pointing out that the older code breaks on gcc3.0.4.)
- - Don't ever override strdup if it's already macro defined.  (Thanks to
-   Adnan Ali for pointing out the problem.)
- - Changed gc_cpp.h yet again to also overload placement new.  Due to the
-   C++ overloading rules, the other overloaded new operations otherwise hide
-   placement new, which causes many STL uses to break.  (Thanks to Reza
-   Shahidi for reporting this, and to Matt Austern for proposing a fix.)
- - Integrated cygwin pthreads support from Dan Bonachea.
- - Turn on DYNAMIC_LOADING for NetBSD.  (Thanks to Krister Walfridsson.)
- - Changed printing code to print more complete GC times.
- - Applied Mark Mitchell's Irix patch to correct some bitrot.
- - Clarified which object-printing routines in dbg_mlc.c should hold
-   the allocation lock.  Restructured the code to allow reasonable object
-   printing with -DREDIRECT_MALLOC.
- - Fix the Linux mmap code to always start with 0x1000 as the initial hint.
-   Minor patches for 64-bit AIX, particularly to STACKBOTTOM.
-   (Thanks again to Jeffrey Mark Siskind.)
- - Renamed "SUSPENDED" flag for Solaris threads support to avoid a conflict
-   with a system header. (Thanks to Philp Brown.)
- - Cause win32_threads.c to handle an out of range stack pointer correctly,
-   though currently with a warning.  (Thanks to Jonathan Clark for
-   observing that win32 applications may temporarily use the stack
-   pointer for other purposes, and suggesting a fix.  Unfortunately, it's
-   not clear that there is a complete solution to this problem.)
-
-Since 6.1alpha5:
- - Added GC_MAXIMUM_HEAP_SIZE environment variable.
- - Fix configure.in for MIPS/LINUX. (Thanks to H.J. Lu.)
- - Double page hash table size for -DLARGE_CONFIG.
- - Integrated Bo Thorsen's X86-64 support.
- - STACKBOTTOM definition for LINUX/MIPS was partially changed back.
-   (Thanks to H.J. Lu and Hiroshi Kawashima for resolving this.)
- - Replaced all occurrences of LINUX_DATA_START in gcconfig.h with
-   SEARCH_FOR_DATA_START.  It doesn't hurt to falll back to a search.
-   And __data_start doesn't seem to get defined correctly of the GC
-   library is loaded with LD_PRELOAD, e.g. for leak detection.
- - If the GC_find_leak environment variable is set, do a
-   atexit(GC_gcollect) to give us at least one chance to detect leaks.
-   This may report some very benign leaks, but ...
- - Addeded REDIRECT_FREE.  It's necessary if we want leak detection with
-   LD_PRELOAD.
- - Defer printing of leaked objects, as for smashed objects.
- - Fixed process and descriptor leak in GC_print_callers.  Try for
-   line number even if we got function name.)
- - Ported parallel GC support and thread local allocation to Alpha.
-   Not yet well-tested.
- - Added GC_DUMP_REGULARLY and added finalization statistics to GC_dump().
- - Fixed Makefile.am to mention alpha_mach_dep.S instead of the defunct
-   alpha_mach_dep.s.  (Thanks to Fergus Henderson.)
- - Incorporated a change to new_gc_alloc.h, suggested by Johannes Schmidt,
-   which should make it work with gcc3.1.  (I would still like to encourage
-   use of gc_allocator.h instead.) 
- - Use alpha_mach_dep.S only on Linux.  (It's not clear that this is
-   optimal, but it otherwise didn't build on Tru64.  Thanks to Fergus
-   Henderson.)
- - Added ifdef to guard free() in os_dep.c.  Otherwise we get a
-   compilation error on Irix.  (Thanks to Dai Sato.)
- - Added an experimental version of GC_memalign to mallocx.c.  This can't
-   always work, since we don't handle alignment requests in the hblk-level
-   allocator, and we can't handle arbitrary pointer displacements unless
-   GC_all_interior_pointers is enabled.  But it should work for alignment
-   requests up to HBLKSIZE.  This is not yet documented in the standard
-   places.
- - Finally debugged the OSF1/Tru64 thread support.  This needs more testing,
-   since I needed to add a somewhat unconvincing workaround for signal
-   delivery issues that I don't yet completely understand.  But it does
-   pass my tests, even in parallel GC mode.  Incremental GC support is
-   disabled if thread support is enabled, due to the signal issues.
- - Eliminated name-space-incorrect definition of _cdecl from gc_cpp.h.
- - Added GC_debug_malloc_replacement and GC_debug_realloc_replacement
-   declarations to gc.h.  On IA64, this is required for REDIRECT_MALLOC
-   to work correctly with these.
- - Fixed Linux USE_PROC_FOR_LIBRARIES to work with a 64-bit /proc format.
-
-Since 6.1:
- - Guard the test for GC_DUMP_REGULARLY in misc.c with
-   "#ifndef NO_DEBUGGING".  Otherwise it fails to build with NO_DEBUGGING
-   defined.  (Thanks to Manuel Serrano.)
- - Message about retrying suspend signals was incorrectly generated even when
-   flag was not set.
- - Cleaned up MACOSX/NEXT root registration code.  There was apparently a
-   separate ifdef case in GC_register_data_segments() for no reason.
- - Removed MPROTECT_VDB for MACOSX port, based on one negative report.
- - Arrange for gc.h and friends to be correctly installed with GNU-style
-   "make install".
- - Enable the GNU-style build facility include C++ support in the library
-   with --enable-cplusplus. (Thanks to Thomas Maier for some of the patch.)
- - Mark from GC_thread_key in linux_threads.c, in case that's allocated
-   from the garbage collected heap, as it is with our own thread-specific
-   storage implementation.  (Thanks to Jeff Sturm.)
- - Mark all free list header blocks if they are heap allocated.  This avoids
-   some unnecessary tracing.  And it remains correct if we clear the
-   root set. (Thanks to Jeff Sturm for identifying the bug.)
- - Improved S390/Linux support.  Add S390/Linux 64-bit support.  (Thanks
-   to Ulrich Weigand.)
- - Corrected the spelling of GC_{M,C}ALLOC_EXPLICTLY_TYPED to
-   GC_{M,C}ALLOC_EXPLICITLY_TYPED in gc_typed.h.  This is technically
-   an interface change.  Based on the fact that nobody reported this,
-   I suspect/hope there were no clients.
- - Cleaned up gc_typed.h so that (1) it adds an extern "C" declaration
-   when appropriate, (2) doesn't generate references to undefined internal
-   macros, and (3) allows easier manual construction of descriptors.
- - Close the file descriptor used by GC_print_address_map().
- - Set the "close-on-exec" bit for various file descriptors maintained
-   for the collector's internal use.
- - Added a hack to find memory segments owned by the system allocator
-   under win32.  Based on my tests, this tends to eventually find all
-   segments, though it may take a while.  There appear to be cleaner,
-   but slower solutions under NT/XP.  But they rely on an API that's
-   unsupported under 9X.
- - Changed Linux PowerPC stack finding to LINUX_STACKBOTTOM.  (Thanks
-   to Akira Tagoh for pointing out that HEURISTIC1 doesn't work on
-   64-bit kernels.)
- - Added GC_set_free_space_divisor to avoid some Windows dll issues.
- - Added FIXUP_POINTER, POINTER_SHIFT, POINTER_MASK to allow preprocessing
-   of candidate pointers for tagging, etc.
- - Always lock around GC_notify_full_gc().  Simplified code for
-   invoking GC_notify_full_gc().
- - Changed the way DATASTART is defined on FreeBSD to be robust against
-   an unmapped page after etext.  (Thanks to Hironori Sakamoto for
-   tracking down the intermittent failure.)
- - Made GC_enable() and GC_disable() official.  Deprecated direct update
-   of GC_dont_gc.  Changed GC_gcollect to be a noop when garbage collection
-   is disabled.
- - Call GC_register_dynamic_libraries before stopping the world on Linux,
-   in order to avoid a potential deadlock due to the dl_iterate_phdr lock.
- - Introduced a more general mechanism for platform-dependent code to
-   decide whether the main data segment should be handled separately
-   from dynamic libraries, or registered by GC_register_dynamic_libraries.
-   The latter is more reliable and easier on Linux with dl_iterate_phdr. 
-
-Since 6.2alpha1:
- - Fixed the completely broken FreeBSD code in 6.2alpha1.  (Thanks to
-   Hironori Sakamoto for the patch.)
- - Changed IRIX reference in dbg_mlc.c to IRIX5. (Thanks to Marcus Herbert.)
- - Attempted to work around the problems with .S filenames and the SGI
-   compiler.  (Reported by several people. Untested.)
- - Worked around an HP/UX make issue with the GNU-style build process.
- - Fixed the --enable-cplusplus build machinery to allow builds without
-   a C++ compiler.  (That was always the intent ...)
- - Changed the debugging allocation macros to explicitly pass the return
-   address for Linux and XXXBSD on hardware for which we can't get stack
-   traces.  Use __builtin_return_address(0) to generate it when possible.
-   Some of the configuration work was cleaned up (good) and moved to gc.h
-   (bad, but necessary).  This should make leak detection more useful
-   on a number of platforms.  (Thanks to Fabian Thylman for the suggestion.)
- - Fixed compilation problems in dbg_mlc.c with GC_ADD_CALLER.
- - Bumped revision number for dynamic library.
-
-Since 6.2alpha2:
- - Don't include execinfo.h in os_dep.c when it's not needed, and may not exist.
-
-Since 6.2alpha3:
- - Use LINUX_STACKBOTTOM for >= glibc2.2 on Linux/MIPS.  (See Debian bug
-   # 177204)
- - Integrated Jeff Sturm and Jesse Rosenstock's MACOSX threads patches.
- - Integrated Grzegorz Jakacki's substantial GNU build patch.  "Make dist"
-   should now work for the GNU build process.  Documentation files
-   are installed under share/gc.
- - Tweaked gc_cpp.h to again support the Borland compiler.  (Thanks to
-   Rene Girard for pointing out the problems.)
- - Updated BCC_MAKEFILE (thanks to Rene Girard).
- - Added GC_ASSERT check for minimum thread stack size.
- - Added --enable-gc-assertions.
- - Added some web documentation to the distribution.  Updated it in the
-   process.
- - Separate gc_conf_macros.h from gc.h.
- - Added generic GC_THREADS client-defined macro to set the appropriate
-   GC_XXX_THREADS internal macro.  (gc_config_macros.h.)
- - Add debugging versions of _ignore_off_page allocation primitves.
- - Moved declarations of GC_make_closure and GC_debug_invoke_finalizer
-   from gc.h to gc_priv.h.
- - Reset GC_fail_count even if only a small allocation succeeds.
- - Integrated Brian Alliet's patch for dynamic library support on Darwin.
- - gc_cpp.h's gc_cleanup destructor called GC_REGISTER_FINALIZER_IGNORE_SELF
-   when it should have called the lower case version, since it was
-   explicitly computing a base pointer.
-
-Since 6.2alpha4:
- - GC_invoke_finalizers could, under rare conditions, set
-   GC_finalizer_mem_freed to an essentially random value.  This could
-   possibly cause unbounded heap growth for long-running applications
-   under some conditions.  (The bug was introduced in 6.1alpha5, and
-   is not in gcc3.3.  Thanks to Ben Hutchings for finding it.)
- - Attempted to sanitize the various DLL macros.  GC_USE_DLL disappeared.
-   GC_DLL is used instead.  All internal tests are now on GC_DLL.
-   README.macros is now more precise about the intended meaning.
- - Include DllMain in the multithreaded win32 version only if the
-   collector is actually built as a dll.  (Thanks to Mohan Embar for
-   a version of the patch.)
- - Hide the cygwin threadAttach/Detach functions.  They were violating our
-   namespace rules.  
- - Fixed an assertion in GC_check_heap_proc.  Added GC_STATIC_ASSERT.
-   (Thanks again to Ben Hutchings.)
- - Removed some obsolete definitions for Linux/PowerPC in gcconfig.h.
- - CORD_cat was not rebalancing unbalanced trees in some cases, violating
-   a CORD invariant.  Also tweaked the rebalancing rule for
-   CORD_cat_char_star.  (Thanks to Alexandr Petrosian for the bug report
-   and patch.)
- - Added hand-coded structured exception handling support to mark.c.
-   This should enable support of dynamic libraries under win32 with
-   gcc-compiled code.  (Thanks to Ranjit Mathew for the patch.)
-   Turned on dynamic library scanning for win32/gcc.
- - Removed some remnants of read wrapping.  (Thanks to Kenneth Schalk.)
-   GC_USE_LD_WRAP ws probably broken in recent versions.
- - The build could fail on some platforms since gcconfig.h could include
-   declarations mentioning ptr_t, which was not defined, e.g. when if_mach
-   was built.  (Thanks to Yann Dirson for pointing this out.)  Also
-   cleaned up tests for GC_PRIVATE_H in gcconfig.h a bit. 
- - The GC_LOOP_ON_ABORT environment variable interfered with incremental
-   collection, since the write fault handler was erroneously overridden.
-   Handlers are now set up in the correct order.
- - It used to be possible to call GC_mark_thread_local_free_lists() while
-   the world was not stopped during an incremental GC.  This was not safe.
-   Fortunately, it was also unnecessary.  Added GC_world_stopped flag
-   to avoid it.  (This caused occasional crashes in GC_set_fl_marks
-   with thread local allocation and incremental GC.  This probably happened
-   primarily on old, slow multiprocessors.)
- - Allowed overriding of MAX_THREADS in win32_threads.c from the build
-   command line.  (Patch from Yannis Bres.)
- - Taught the IA64/linux code to determine the register backing store base from
-   /proc/self/maps after checking the __libc symbol, but before guessing.
-   (__libc symbols are on the endangered list, and the guess is likely to not
-   always be right for 2.6 kernels.)  Restructured the code to read and parse
-   /proc/self/maps so it only exists in one place (all platforms).
- - The -DUSE_PROC_FOR_LIBRARIES code was broken on Linux.  It claimed that it
-   also registered the main data segment, but didn't actually do so.  (I don't
-   think anyone actually uses this configuration, but ...)
- - Made another attempt to get --enablecplusplus to do the right thing.
-   Since there are unavoidable problems with C programs linking against a
-   dynamic library that includes C++ code, I separated out the c++ code into
-   libgccpp.
-
-Since 6.2alpha5:
- - There was an extra underscore in the name of GC_save_registers_in_stack
-   for NetBSD/SPARC.  (Thanks to Jaap Boender for the patch.)
- - Integrated Brian Alliet's patch for Darwin.  This restructured the
-   linuxthreads/pthreads support to separate generic pthreads support
-   from more the system-dependent thread-stopping code.  I believe this
-   should make it easier to eliminate the code duplication between
-   pthreads platforms in the future.  The patch included some other
-   code cleanups.
- - Integrated Dan Bonachea's patch to support AIX threads.  This required
-   substantial manual integration, mostly due to conflicts with other
-   recent threads changes.  It may take another iteration to
-   get it to work.
- - Removed HPUX/PA-RISC support from aix_irix_threads.c.  It wasn't used
-   anyway and it cluttered up the code.  And anything we can do to migrate
-   towards generic pthreads support is a good thing.
- - Added a more explicit test for tracing of function arguments to test.c.
-   (Thanks to Dan Grayson.)
- - Added Akira Tagoh's PowerPC64 patch.
- - Fixed some bit rot in the Cygwin port.  (Thanks to Dan Bonachea for
-   pointing it out.)  Gc.h now includes just windows.h, not winbase.h.
- - Declared GC_save_regs_in_stack() in gc_priv.h.  Remove other declarations.
- - Changed --enable-cplusplus to use automake consitionals.  The old way
-   confused libtool.  "Make install" didn't work correctly for the old version.
-   Previously --enable-cplusplus was broken on cygwin.
- - Changed the C version of GC_push_regs to fail at compile time if it is
-   generated with an empty body.  This seems to have been the cause of one
-   or two subtle failures on unusual platforms.  Those failures should
-   now occur at build time and be easily fixable.
-
-Since 6.2alpha6:
- - Integrated a second round of Irix/AIX patches from Dan Bonachea.
-   Renamed mips_sgi_mach_dep.S back to mips_sgi_mach_dep.s, since it requires
-   the Irix assembler to do the C preprocessing; gcc -E doesn't work.
- - Fixed Makefile.direct for DARWIN.  (Thanks to Manuel Serrano.)
- - There was a race between GC_pthread_detach and thread exit that could
-   result in a thread structure being deallocated by GC_pthread_detach
-   eventhough it was still needed by the thread exit code.  (Thanks to
-   Dick Porter for the small test case that allowed this to be debugged.)
- - Fixed version parsing for non-alpha versions in acinclude.m4 and
-   version checking in version.h.
-
-Since 6.2:
- - Integrated some NetBSD patches forwarded to me by Marc Recht.  These
-   were already in the NetBSD package.    
- - GC_pthread_create waited for the semaphore even if pthread_create failed.
-   Thanks to Dick Porter for the pthread_support.c patch.  Applied the
-   analogous fix for aix_irix_threads.c.
- - Added Rainer Orth's Tru64 fixes.
- - The check for exceeding the thread table size in win32 threadDetach
-   was incorrect.  (Thanks to Alexandr Petrosian for the patch.)
- - Applied Andrew Begel's patch to correct some reentrancy issues
-   with dynamic loading on Darwin.
- - GC_CreateThread() was neglecting to duplicate the thread handle in
-   the table.  (Thanks to Tum Nguyen for the patch.)
- - Pass +ESdbgasm only on PA-RISC machines with vendor compiler.
-   (Thanks to Roger Sayle for the patch.)
- - Applied more AIX threads patches from Scott Ananian.
-
-Since 6.3alpha1:
- - Reenabled I_HOLD_LOCK assertion in aix_irix_threads.h.
- - Put back the WINABI qualifier for GC_CreateThread.  (Thanks to
-   Danny Smith for the patch.  6.3alpha1 had the qualifier in one place
-   but not elsewhere, which was clearly wrong.)
- - Sometimes explicitly define __private_extern__ before DARWIN dyld.h
-   include.  (Thanks to Andreas Tobker for postting the patch.)
- - Included signal.h from pthread_support.c.  Removed GC_looping_handler,
-   which was dead code.
- - GC_find_start was misdeclared by gc_pmark.h if PRINT_BLACK_LIST was
-   defined.  (Thanks to Glauco Masotti for testing and reporting this.)
-   Changed GC_find_start to never just return 0.  According to its
-   comment it doesn't, and it's unclear that's correct.
- - GC_alloc_large had several largely compensating bugs in the
-   computation of GC_words_wasted.  (It was confused about bytes vs.
-   words in two places.)
- - Integrated Slava Sysoltev's patch to support more recent versions of
-   the Intel compiler on IA64/Linux.
- - Changed win32 spinlock initialization to conditionally set a spin count.
-   (Emmanual Stumpf pointed out that enabling this makes a large performance
-   difference on win32 multiprocessors.)  Also cleaned up the win32 spinlock
-   initialization code a bit.
- - Fixed thread support for HP/UX/IA64.  The register backing store base for
-   the main thread was sometimes not set correctly.  (Thanks to Laurent
-   Morichetti.)
- - Added -DEMPTY_GETENV_RESULTS flag to work around Wine problem.
- - Declare GC_stack_alloc and GC_stack_free in solaris_threads.h to
-   avoid 64-bit size mismatches.  (Thanks to Bernie Solomon.)
- - Fixed GC_generic_push_regs to avoid a potential and very unfortunate
-   tail call optimization.  This could lead to prematurely reclaimed
-   objects on configurations that used the generic routine and the new
-   build infrastructure (which potentially optimizes mach_dep.c).
-   This was a serious bug, but it's unclear whether it has resulted in
-   any real failures.
- - Fixed CORD_str to deal with signed characters.  (Thanks to Alexandr
-   Petrosian for noticing the problem and supplying the patch.)
- - Merged a couple of NOSYS/ECOS tests into os_dep.c from gcj.  (Thanks
-   to Anthony Green.)
- - Partially merged a win32 patch from Ben Hutchings, and substantially
-   revised other parts of win32_threads.c.  It had several problems.
-   Under MinGW with a statically linked library, the main thread was
-   not registered.  Cygwin detached threads leaked thread descriptors.
-   There were several race conditions.  For now, unfortunately the
-   static threads limit remains, though we increased it, and made table
-   traversal cost depend on the actual thread count.
-   There is also still some code duplication with pthread_support.c.
-   (Thread descriptors did become much smaller, since Ben Hutchings
-   removed the thread context from them.)
- - Integrated a Solaris configure.in patch from Rainer Orth.
- - Added GC_IGNORE_FB and associated warning to very partially address
-   the issue of the collector treating a mapped frame buffer as part
-   of the root set.  (Thanks to David Peroutka for providing some
-   insight.  More would be helpful.  Is there anything that can be used
-   to at least partially identify such memory segments?)
-   
-Since 6.3alpha2:
- - Removed -DSMALL_CONFIG from BCC_MAKEFILE.
- - Changed macros to test for an ARM processor (Patch from Richard Earnshaw.)
- - Mostly applied a DJGPP patch from Doug Kaufman.  Especially Makefile.dj
-   had suffered from serious bit rot.
- - Rewrote GC_apply_to_maps, eliminating an off-by-one subscript error,
-   and a call to alloca (for lcc compatibility).
- - Changed USE_MUNMAP behavior on posixy platforms to immediately remap
-   the memory with PROT_NONE instead of unmapping it.  The latter risks
-   an intervening mmap grabbing the address space out from underneath us.
-   Updated this code to reflect a cleaner patch from Ulrich Drepper.
- - Replaced _T with _Tp in new_gc_alloc.h to avoid a MACOS X conflict.
-   (Patch from Andrew Begel.)
- - Dynamically choose whether or not lock should spin on win32.  (Thanks
-   to Maurizio Vairani for the patch.)  This may be a significant performance
-   improvement for win32.
- - Fix Makefile.direct to actually include NT_STATIC_THREADS_MAKEFILE
-   in the distribution.  (Again thanks to Maurizio Vairani.)
- - Maybe_install_looping_handler() was accidentally exported, violating
-   our name space convention.
- - Made os_dep.c use sigsetjmp and SA_NODEFER for NetBSD.  (Thanks to
-   Christian Limpach.)  (I generalized the patch to use sigsetjmp on all
-   UNIX_LIKE platforms, admittedly a slightly risky move.  But it may avoid
-   similar problems on some other platforms. I also cleaned up the defn
-   of UNIX_LIKE a bit. - Hans)
- - Integrated Andrew Begel's Darwin threads patch, adjusted according to
-   some of Fergus Hendersons's comments.  (Patch didn't apply cleanly,
-   errors are possible.)
- - Added another test or two for the Intel 8.0 compiler to avoid
-   confusing it with gcc.  The single-threaded collector should now build
-   with icc, at least on ia64. 
-
-Since 6.3alpha3:
- - USE_MMAP was broken by confusion in the code dealing with USE_MMAP_ANON.
-   (This was pointed out, and fixes were suggested by several other people.)
- - Darwin supprt was broken in alpha3 as a result of my misintegration of
-   Andrew Begel's patches.  Fixed with another patch from Andrew Begel.
- - A new sanity check in pthread_stop_world.c:GC_push_all_stacks() was
-   overly aggressive.  We may collect from an unregistered thread during
-   thread creation.  Fixed by explicitly checking for that case.  (Added
-   GC_in_thread_creation.)
-
-Since 6.3alpha4:
- - Fix & vs && typo in GC_generic_malloc and
-   GC_generic_malloc_ignore_off_page.  (Propagated from the gcc tree.)
- - Removed SA_NODEFER hack from NetBSD and Solaris write-protect handler.
-   (According to Christian Limpach, the NetBSD problem is fixed.
-   Presumably so is the Solaris 2.3 problem.)
- - Removed placement delete from gc_cpp.h for the SGI compiler.
-   (Thanks to Simon Gornall for the patch.)
- - Changed semantics of the GC_IGNORE_FB environment variable, based 
-   on experimentation by Nicolas Cannasse pointing out that the old
-   interpretation was useless.  We still need help in identifying win32
-   graphics memory mappings.  The current "solution" is a hack.
- - Removed "MAKEOVERRIDES =" from Makefile.am and thus Makefile.in.
-   It probably made more sense in the gcc context.
- - Explicitly ensure that NEED_FIND_LIMIT is defined for {Open,Net}BSD/ELF.
- - Replaced USE_HPUX_TLS macro by USE_COMPILER_TLS, since gcc often
-   supports the same extension on various platforms.
- - Added some basic (completely untested) defines for win64, in support
-   of future work.
- - Declared GC_jmp_buf in os_dep.s as JMP_BUF instead of jmp_buf, fixing
-   a memory overwrite bug on Solaris and perhaps other platforms.
- - Added 0 != __libc_stack_end test to GC_linux_stack_base.  (Thanks to Jakub
-   Jelinek, both for the patch, and for explaining the problem to me.)
-   Otherwise "prelink"ing could cause the collector to fail.
- - Changed default thread local storage implementation to USE_PTHREAD_SPECIFIC
-   for HP/UX with gcc.  The compiler-based implementation appears to work
-   only with the vendor compiler.
- - Export GC_debug_header_size and GC_USR_PTR_FROM_BASE from gc_mark.h,
-   making client mark code cleaner and less dependent on GC version.
- - Export several new procedures and GC_generic_malloc from gc_mark.h
-   to support user-defined kinds.  Use the new procedures to replace existing
-   code in gcj_mlc.c and typd_mlc.c.
- - Added support for GC_BACKTRACES.
- - Fixed a remaining problem in CORD_str with signed characters.  (Thanks
-   to Alexandr Petrosian for the patch.)
- - Removed supposedly redundant, but very buggy, definitions of finalizer
-   macros from javaxfc.h.  Fortunately this file probably has no users.
-   The correct declarations were already in gc.h.
- - Also need to set GC_in_thread_creation while waiting for GC during
-   thread termination, since it is also possible to collect from an
-   unregistered thread in that case.
- - Define NO_GETENV for Windows CE, since getenv doesn't appear to exist.
-   + some other minor WinCE fixes. (Thanks to Alain Novak.)
- - Added GC_register_describe_type_fn.
- - Arrange for debugging finalizer registration to ignore non-heap
-   registrations, since the regular version of the routine also behaves
-   that way.
- - GC_gcj_malloc and friends need to check for finalizers waiting to be run.
-   One of the more obscure allocation routines with missing a LOCK() call.
- - Fixed cvtres invocations in NT_MAKEFILE and NT_STATIC_THREADS_MAKEFILE
-   to work with VS.NET.
- - Cleaned up GC_INIT calls in test.  Updated gc.man to encourage GC_INIT
-   use in portable code.
- - Taught the GC to use libunwind if --enable-full-debug is specified on
-   IA64 and libunwind is present.
- - The USE_MUNMAP code could get confused about the age of a block and
-   prematurely unmap it.  GC_unmap_old had a bug related to wrapping of
-   GC_gc_no.  GC_freehblk and GC_merge_unmapped didn't maintain
-   hb_last_reclaimed reasonably when blocks were merged.  The code was
-   fixed to reflect original intent, but that may not always be an
-   improvement.  See todo list item.
-
-Since 6.3alpha5:
- - Define USE_GENERIC_PUSH_REGS for NetBSD/M68K.
- - Fixed the X86_64 PREFETCH macros to correctly handle ia32e (which uses
-   different prefetch instructions from AMD64).  (Thanks to H.J. Lu.)
- - GC_config_macros.h did not correctly define GC_WIN32_THREADS from
-   GC_THREADS. 
- - Added simple_example.html.
- - Merged Andrew Gray's patch to correctly restore signal handlers on
-   FreeBSD.
- - Merged a patch from Andreas Jaeger to deal with prefetch-related warnings
-   on x86-64.  Added some other casts so that the PREFETCH macros
-   always get a ptr_t argument.  Removed some casts inthe PREFETCH
-   implementations.
- - At Jesse Jones suggestion: Added a header guard for gc_allocator.h
-   and changed GC_debug_free to clobber contents of deallocated object.
- - The signal masking code in pthread_stop_world.c contained some errors.
-   In particular SIGSEGV was masked in the handler, in spite of the fact that
-   it wrote to the heap.  This could lead to an uncaught SIGSEGV, which
-   apparently became much more likely in Linux 2.6.  Also fixed some
-   typos, and reduced code duplication in the same area.
- - Remove ltconfig, clean up configure messages for DGUX (thanks to
-   Adrian Bunk for the patches).
- - Integrated NetBSD/OpenBSD patches from Marc Recht and Matthias Drochner.
-
-Since 6.3alpha6:
- - Compile test_cpp.cc with CXXCOMPILE instead of COMPILE.
- - Very large allocations could cause a collector hang.  Correct
-   calculation of GC_collect_at_heapsize.
- - GC_print_hblkfreelist printed some bogus results if USE_MUNMAP
-   was defined.
- - Include gc_config_macros.h in threadlibs.c.
- - Correct MacOSX thread stop code. (Thanks to Dick Porter.)
- - SMALL_OBJ definition was off by one.  This could cause crashes
-   at startup.  (Thanks to Zoltan Varga for narrowing this down to
-   a trivial test case.)
- - Integrate Paolo Molara's patch to deal with a race in the Darwin
-   thread stopping code.
- - Changed X86_64 implementation to use SA_SIGINFO in the MPROTECT_VDB
-   implementation.  The old approach appears to have been broken by
-   recent kernels.
- - Added GC_ATTR_UNUSED to eliminate a warning in gc_allocator.h (Thanks
-   to Andrew Begel.)
- - Fix GC_task_self declaration in os_dep.c.  (Thanks to Andrew Pinski.)
- - Increase INITIAL_BUF_SZ in os_dep.c for Solaris /proc reads.
-
-Since gc6.3:
- - Merge gcconfig.h changes from gcc tree.
- - Unconditionally include gc_priv.h in solaris_pthreads.c, win32_threads.h,
-   aix_irix_threads.c, and solaris_threads.c to get thread definitions.
- - Start marker threads in GC_thr_init, so that they get started even
-   if no other threads are ever started.  (Oddly enough, the parallel
-   collector worked correctly, though not well, with no helper threads.)
- - Go ahead and split large blocks in GC_allochblk_nth if GC_dont_gc
-   is set.  (Thanks to Alexander Petrossian.)
- - GC_PRINT_BACK_HEIGHT would deadlock with thread support.
- - Let in_progress_space in backgraph.s grow dynamically.
- - Fix README.solaris2.  The GC_thr_init() hack doesn't work anymore.
- - Convert GC_finalizer_mem_freed to bytes in allchblk.c.
- - Add missing declaration for GC_generic_malloc_words_small_inner.
-   Without it, s390x breaks.  (Thanks to Ulrich Weigand.)
- - Applied several MacOSX patches to support older tool chains.
-   (Thanks to Stefan Ring.)
- - Bug fix for NetBSD/amd64.  (Thanks to Marc Recht.)  Add NetBSD/sh3
-   support.  (Thanks to Uchiyama Yasushi.)
- - Fixed an uninitialized variable in cordprnt.c.  (Thanks to gcc for
-   providing the warning.)
- - Eliminated some, but not all, gcc -Wall warnings.
- - Changed some old style casts to reinterpret_cast in new_gc_alloc.h.
-   (Thanks to Dan Grayson.)
- - GC_extend_size_map shouldn't adjust for GC_all_interior_pointers if
-   GC_DONT_ADD_BYTE_AT_END is set.
- - Changed some (long) casts to (word) in preparation for win64.
-   (Thanks to Peter Colson.)
- - Changed "int stack_size" declaration in pthread_support.c to use
-   size_t.  (Only mattered with GC_ASSERTIONS enabled.)
- - Added CRIS (etrax) support.  (Thanks to Simon Posnjak and
-   Hans-Peter Nilsson.)
- - Removed GC_IGNORE_FB frame buffer recognition, and replaced
-   it with a check that the mapping type is MEM_IMAGE.
-   In theory, this should work much better, but it is a high
-   risk change for win32.  (Thanks to Ashley Bone for the crucial
-   experimental data behind this, and to Rutger Ovidus for
-   some further experiments.)
- - GC_allochblk_nth incremented GC_words_wasted by bytes rather than
-   words.
- - Consider GC_words_wasted in GC_adj_words_allocd only if it is within
-   reason.  (A hack to avoid some extremely unlikely scenarios in which
-   we manage to allocate only "wasted" space.  7.0 has a better fix.)
- - Changed PowerPC GC_clear implementation to use lwsync instead of
-   eieio, since the documentation recommends against eieio, and
-   it seems to be incorrect if the preceding memory op is a load.
- - Fixed print_block_list to print the correct kind number for
-   STUBBORN.  (Thanks to Rutger Ovidus.)
- - Have configure.in generate an error if it is asked to support
-   pthreads, but doesn't know how to.
- - Added Kazuhiro Inaoka's patch for Renesas M32R support.
- - Have the GNU build mechanism link with -ldl.  Rename THREADLIBS
-   to THREADDLLIBS to reflect this.  (Thanks to Sven Verdoolaege.)
- - Added Hannes Mehnert's patch for FreeBSD/SPARC support.
- - Merged some FreeBSD specific patches to threadlibs.c and dyn_load.c.
-   (Thanks tp John Merryweather Cooper.)
- - Define MPROTECT_VDB on MACOSX only if threads are being used, since the
-   dirty page tracking mechanism uses threads.  (This avoids an undefined
-   reference to _GC_darwin_register_mach_handler_thread.)
- - By popular demand, use __libc symbols only if we are built with
-   USE_LIBC_PRIVATES, which is off by default, and not otherwise documented.
- - Ignore GC_enable_incremental() requests when KEEP_BACK_PTRS is set.
-   The GC itself will dirty lots of pages in this cases, probably making
-   it counterproductive on all platforms.  And the DARWIN port crashes.
- 
-Since gc6.4:
- - Integrated Paolo Molaro's patch to deal with EINTR in sem_wait.
- - Make GC_approx_sp() write to dummy location to ensure that stack
-   is grown here, when sp looks reasonable, rather than later, when
-   it might look like a bad memory reference.  (Problem was never
-   observed that I know of.  But on rereading the code it seemed
-   dubious.)
- - Separate out GC_with_callee_saves_pushed and sometimes call
-   it from GC_suspend_handler in pthread_stop_world.c.  Callee-save
-   register values sometimes failed to get traced under HP/UX on
-   PA-RISC.  Linux/IA64 had the same problem, though non-stacked
-   callee-save registers seem to be so rarely used there that nobody
-   ever noticed.
- - Integrated an ancient Darwin powerpc_darwin_machine_dep.s patch
-   from Andreas Tobler, which I had lost.
- - Fix compare_and_exchange implementation for gcc/IA64 to deal with
-   pickier compiler versions.
- - Fixed Itanium 32-bit ABI support (HP/UX).  In particular, the
-   compare_and_exchange implementation didn't consider that possibility.
- - Undefine GC_pthread_detach in win32_threads.c.  (Thanks to
-   Tagliapietra Tommaso.)
- - Fixed inclusion of frame.h for NETBSD in os_dep.c.
- - Applied Dan Bonachea's patch to use mmap on AIX.
- - Several fixes to resurrect the Irix port on recent OS versions.
- - Change ALPHA to use LINUX_STACKBOTTOM.
- - Change SPARC64/LINUX to also use LINUX_STACKBOTTOM.  Deal with potential
-   bad values of __libc_stack_end on that platform.  (Thanks to David Miller.)
- - Relax gctest to allow larger heap if ALIGN_DOUBLE isn't set.
-   (Unnecessary in 7.0)
- - Force a define of __STDC__=0 for the IBM compiler on AIX, so that
-   we get prototypes.  (Unnecessary in 7.0)
- - GC_INIT definition for AIX and CYGWIN referred to DATASTART and DATAEND
-   which are only defined in private include files.
- - Integrated some small gcconfig.h patches from Dan Bonachea.  Also
-   relaxed assertion about FreeBSD stack size in pthread_support.c.
- - Integrated Andrew Begel's darwin_stop_world.c patch for 64-bit
-   support.  This may need additional work.
- - Avoided potentially infinite recursion in GC_save_callers if
-   the system backtrace calls malloc.  The workaround currently requires
-   __thread support if this code is used with threads.
- - Avoided another similar infinite recursion by conditionally
-   invoking GC_save_callers in alloc.c.  (Thanks to Matthias Andree
-   for helping to track down both of these.)
- - Removed all traces of aix_irix_threads.c.  AIX and Irix now use
-   pthread_support.c and pthread_stop_world.c.  The old code appeared
-   to be unreliable for AIX, and was not regularly maintained.
- - On Irix, ignore segments with MA_FETCHOP or MA_NOTCACHED attributed;
-   they're not always safe to read.
- - Fixed a previously vacuous assertion (diagnosed by the SGI compiler)
-   in GC_remove_from_fl.
- - Fix stack_size assertion in GC_pthread_create.
- - Fix assertion in GC_steal_mark_stack.
-
-Since gc6.5:
- - Fix CPU count detection for Irix and FreeBSD. (Thanks to Dan Bonachea.)
- - Integrate Dan Bonachea's patch for the IBM XLC compiler on Darwin.
- - Integrated Andreas Tobler's FreeBSD/PowerPC patch.
- - Don't access the GC thread structure from the restart handler.  It's
-   unsafe, since the handler may run too late.  (Thanks to Ben Maurer for
-   tracking this down.)
- - Applied Christian Thalinger's patch to change comment syntax in
-   alpha_mach_dep.S.
- - Added test for GC_no_dls in GC_dyld_image_add for DARWIN. (Thanks to
-   Juan Jose Garcia Ripoli).
- - Use LINUX_STACKBOTTOM for Linux/SH and LINUX/ARM. (Thanks to Sugioka
-   Toshinobu and Christian Thalinger.)
- - Rewrote GC_parse_map_entry.  This assumed a fixed column layout of
-   /proc/self/maps on Linux.  This ceased to be true about 2 years ago.
-   The old code is probably quite problemetic with -DREDIRECT_MALLOC.  It
-   is also used by default for IA64, though I haven't seen actual failures
-   there.
- - More consistently define HBLKSIZE to 4096 on 64 bit architectures with
-   4K pages.  (Thanks to Andrew Haley.)
- - With win32 threads, GC_stop_world needs to acquire GC_write_cs.  (Thanks
-   to Ben Hutchings for the observation and patch.)
- - Move up struct callinfo declaration to make gcc 4.0.2. happy.
-
-Since 6.6:
- - Add "int" to Solaris "end" and "etext" declaration in gc.h.  Declared
-   the symbols with underscores and as arrays, since that's what's actually
-   used.  Perhaps this could all just be removed?  (Thanks to John Bowman.)
- - Fixed ARM GC_test_and_set code.  (Thanks to Kazu Hirata and Paul Brook.)
- - Added casts for assignments to hb_last_reclaimed, which truncate the
-   value.  Added a cast to GC_adj_words_allocd.  Use GetModuleHandleA
-   when retrieving a handle to kernel32.dll under win32.  (Thanks to the
-   Visual Prolog developers.)
- - Added Tandem S-Series support.  (Thanks to Craig McDaniel.  A modified
-   version of his patch was applied, and hence breakage is probably not
-   his fault.)
- - Remove spurious gc:: qualifier for operator delete[] in gc_cpp.h.
-   (Thanks to Hanno Boeck.)
- - Changed a test for LINUX in config_macros.h to one for __linux__.
- - Add prototypes for GC_finalizer_notifier and GC_thr_init.  (Thanks to
-   David Ayers.)
- - Use ld instead of nonexitent ldz instruction in Darwin FindTopOfStack.
-   (Thanks to Andreas Tobler.)
- - Add support for Darwin/X86.  (Thanks to Geoff Norton and the Mono
-   developers.)
- - Merge in some recent gcc fixes.  Add ppc64 asm code.  (Thanks to Bryce
-   McKinley and other gcj developers.)
- - Scan MEM_PRIVATE sections under Windows ME and predecessors.
- - Interior pointers with some largish offsets into large objects could
-   be ignored, if GC_all_interior_pointers was set.  (Oddly this worked
-   correctly for stack references if it was not set.  Otherwise it failed
-   for both stack and heap references.)  Thanks to Andrew McKinlay for the
-   critical test case.
- - Integrated Tatsuya Bizenn's NETBSD threads support, with some
-   untested changes.
- - Added GC_strdup and friends to make leak detection work correctly
-   for strdup clients.  (Thanks to Jon Moore.)  Fixed the existing strdup
-   with malloc redirection to handle a null malloc return correctly.
-
-Since gc6.7:
- - Added some support for Dragonfly BSD.  (Thanks to Joerg Sonnenberger and
-   Thomas Klausner.)
- - Improvements to the HP/UX section of configure.in/configure.ac.
-   (Thanks to Andreas Tobler)
- - GC_unix_get_mem could neglect to release the malloc lock on Irix, under
-   extremely unlikely circumstances.  Thanks to Jean-Baptiste Nivois for
-   some careful code reading.
- - Added support for kFreeBSD + glibc (Thanks to Petr Salinger)
- - Fix more MacOS threads memory leaks (Thanks to Allan Hsu)
- - Added initial Solaris/X86-64 support (Thanks to Rainer Orth)
-
-Since gc6.8:
- - Fix typo in PREFETCH implementation for X86_64.  (Thanks to Peter Wang.)
- - Fix M68K LINUX port. (Thanks to Debian packagers.)
- - __GNUC__ was misspelled as __GNUC in new_gc_alloc.h. (Thanks to Peter Wang.)
- - Integrated Allan Hsu's patch for OS X VM deallocation problems.
- - Applied FreeBSD/X86_64 patch.
-
-Since gc6.9:
- - Remove GC_PROTO, VOLATILE, GC_PTR, and GC_CONST.  Assume ANSI C compiler
-   and use ANSI constructs unconditionally.
- - Introduce #elif and #error in some of the appropriate places.
- - Remove GC_printf cruft. Use stdargs.
- - Remove separate Solaris threads support.  Use the more generic Posix
-   implementation.
- - Use atomic_ops for atomic operations and memory barriers.
- - Clean up MPROTECT_VDB implementation.  Use SA_SIGINFO wherever
-   possible.
- - Remove broken SIGNALS stuff.
- - Use size_t instead of word, where appropriate.
- - Add .S.o rule to Makefile.am.
- - Officially unsupport SunOS4, several old flavors of M68K (SunOS4,
-   A/UX, HP), IBM PC/RTs and RISCOS/Irix4.  (I doubt the old code worked.
-   If anyone cares, these should be easy to resurrect.)
- - Add EXPECT() in some critical places.
- - Redefined hb_sz and hb_body to deal with bytes rather than words.
-   This affected a great deal of code.  I would like to consistently use
-   byte offsets and sizes where there's not a convincing reason to do
-   otherwise.
- - Redefined several other variables (GC_mem_found, GC_words_allocd)
-   etc. to use units of bytes.  Most of these were also renamed to
-   reflect that fact.
- - Killed as many "register" declarations as possible.
- - Partially replaced stubborn allocation with manual write barrier.
-   It's currently broken.
- - Restructured mark code, to allow mark bits to be kept either on
-   a per allocation granule or per object basis.  The emphasis is
-   now on the -DUSE_MARK_BYTES option, since individual bits perform
-   quite badly on hyperthreaded P4s, and are probably suboptimal on
-   other architectures.  -DUSE_MARK_BITS is currently broken, and may
-   be resurrected only for the single-threaded case.  This significantly
-   reduced the cache footprint required by auxiliary GC data structures.
-   It also reduces space overhead for small heaps.  It probably slows
-   things down slightly if interior pointers are very common.
- - As part of the above, we now maintain an approximate count of set
-   mark bits in each heap block.
- - As part of the above, the semantics of hb_map changed drastically.
-   For MARK_BIT_PER_OBJ, it doesn't exist.  For MARK_BIT_PER_GRANULE,
-   it is purely a way to replace a mod instruction with a table lookup.
-   (Somewhat to my surprise, this still wins on modern hardware.)
- - Removed PRINTSTATS, GATHERSTATS, and SILENT macros.  Everything is
-   now controlled by GC_print_stats variable and GC_PRINT_STATS
-   and new GC_PRINT_VERBOSE_STATS environment variables.
- - Add GC_log_printf and use it consistently for logging output.
- - Unconditionally count the objects we reclaim in the sweep phase.
-   For thread local allocation, we need that anyway, and we expect
-   that's increasingly the only case that matters.  And it simplifies
-   the code.  In general expect minor performance hacks that benefit
-   only the single-threaded case to disappear.
- - Remove GC_quiet from gc.h and elsewhere.
- - Changed the heap expansion heuristic, and the definition of
-   GC_free_space_divisor, to refer to live data size, instead of total
-   heap size.  I believe this is much more robust.  It wasn't previously
-   possible, because we didn't have access to live data size.
- - Thread local allocation added the extra byte in twice: Once in
-   thread_local_alloc, and once in malloc_many.
- - Removed GC_malloc_words_small and GC_gcj_fast_malloc.  A new
-   mechanism based on the thread local allocation data structures
-   is expected to be added instead.  This should allow inlined code
-   that is both fast and doesn't rely on collector internals.
- - Changed both free lists and reclaim lists to be indexed by granules
-   instead of words, norming halving their size.
- - MERGE_SIZE is now the only option, and the macro was removed.
-   (Without it, we need a memory reference to GC_all_interior_pointers
-   anyway.  Thus it costs us nothing.)
- - Change GC_size_map to map to granules instead of words.  Make sure
-   that every possible size up to TINY_FREELISTS is present.
- - Split of macros need for fast inline allocation into gc_tiny_fl.h
-   in anticipation of a new inline allocator that doesn't rely on GC
-   internals.
- - Changed thread local allocation to use GRANULE_BYTES and TINY_FREELISTS
-   in anticipation of a merge with the inline allocation code.
- - Removed ALIGN_DOUBLE.  This is mostly handled by GRANULE_BYTES.
- - Make locking on most platforms conditional on GC_need_to_lock.
-
-Since gc7.0alpha1:
- - GC_bytes_allocd was incremented by a possibly uninitialized variable
-   in GC_generic_malloc_inner.  (Bug introduced in gc7.0alpha1.  Thanks
-   to Ben Hutchings for tracking it down.)
- - Win32 fixes.  (Thanks to Ben Hutchings and Maurizio Vairani.)
- - Integrated Ben Hutchings' GetWriteWatch-based virtual dirty bit
-   implementation for win32.
- - Removed pc_gc.tar and floppy targets in Makefile.direct.  Removed
-   pc_excludes file.
- - No longer include GC_bytes_wasted when evaluating allocation progress.
-   Since we are now counting live memory, it no longer makes sense.
- - Applied Davide Angelocola's configury patch.  There are now separate
-   Makefile.am's in the cord and tests subdirectory, more tests, etc.
- - Renamed configure.in to configure.ac.
- - Merged a very small number of Nathanael Nerode's configure.ac
-   cleanups from the gcc tree.  Unfortunately, that file is a bit
-   different from ours.
- - Changed EINTR handling in sem_wait slightly.
- - Restructure the root marking code.  Remove all traces of
-   USE_GENERIC_PUSH_REGS, and effectively make it the default.
-   Make it easier to pass a context pointer to the mark routine, in
-   case we ever want to do precise stack marking.
- - Replace GC_start_blocking() and GC_end_blocking() with GC_do_blocking().
-   This remains undocumented, and only implemented for pthreads.  But it
-   removes an otherwise unavoidable race with stores of callee-save
-   registers.
- - Fix GC_n_mark_bits for the default MARK_BIT_PER_GRANULE case.  This
-   resulted in bogus complaints in heap dumps.
- - Upgrade to libatomic_ops-1.0, and update build structure to match.
- - Remove SRC_M3 support. Clean up lock initialization code in misc.c.
- - Removed gc_local_alloc.h.  If THREAD_LOCAL_ALLOC is defined, the
-   thread local allocation routines are now called automatically.
- - Renamed gc_inl.h back to gc_inline.h.  Changed the interface appreciably
-   since locking has turned into a dominant issue, and in-line allocation
-   only makes sense if it's no worse than thread-local allocation.
-   Gc_inline.h is now also used to implement thread-local allocation.
- - Finished replacing stubborn allocation with manual write barrier.
-   Untested.
- - Use thread-local allocation code by default.
- - Added GC_register_my_thread and friends for Posix and win32.
- - Patch for GWW_VDB from Ben Hutchings.
- - Removed explicit THREAD_LOCAL_ALLOC tests, since that now always
-   redefines GC_malloc.
- - Removed now unused AIX memory allocation code.
- - Various minor fixes for bugs introduced in 7.0alpha1.
-
-Since gc7.0alpha2
- - Added support for dlopen-based interception of pthread functions.
-   This is only half done.  The gc.h redefinitions currently interfere.
- - Integrated major automake overhaul from Petter Urkedal.
-
-Since gc7.0alpha3
-   (various 6.5, 6.6 changes)
- - Removed GC_brief_async_signal_safe_sleep and used atomic_ops instead.
-   (Thanks to Ben Maurer.)
- - Integrated build patches from David Angelocola and Petter Urkedal.
- - Fix dynamic-linker-based pthread call redirection.
- - Renamed RS6000 to POWERPC/AIX.
- - Allow recovery from SIGSEGV in marker on Linux.  This works around
-   a race in thread stack marking if /proc is used to find roots.  We do
-   that by default with malloc redirection and threads.  This involved
-   moving some GC_find_limit and SETJMP related declarations to gc_priv.h.
- - Added doc/porting.html file.
- - Added ADD_HEAP_GUARD_PAGES for sbrk/*nix platforms to debug extreme
-   memory overwrite errors.
- - Added trivial NO_INCREMENTAL flag to facilitate debugging.
- - Added GC_getattr_np-based GC_get_stack_base (untested).
- - Separated thread local allocation into a separate file and added the
-   beginning of win32 support for that.
-
-Since gc7.0alpha4
-   (more 6.6, 6.7 changes)
- - Some Solaris fixes, including some more general changes in how
-   the assembly pieces of mach_dep.c are handled.
- - Removed a lot of SOLARIS_THREADS-specific code that was only
-   needed with the old implementation.  This included many (mostly no-op)
-   versions of GC_is_fresh.
- - Don't use atomic_ops in gc_locks.h unless we need threads.
- - Fixed USE_MARK_BITS, which is once againthe default without PARALLEL_MARK.
- - Removed Solaris GC_INIT hack.  It's a workaround for a long dead bug,
-   and it seemed to be wrong anyway.
- - Changed win32_threads.c to require preprocessor-based interception
-   of thread routines by default.  A client call to GC_use_DllMain is
-   now required to get the old behavior in which DllMain is used to implicitly
-   register threads.  This was doen for uniformity with other platforms, and
-   because the DllMain solution seemed to require very tricky code which,
-   at least in the past, imposed hard bounds onthe number of threads.
- - Many small changes to make thread support work again on Cygwin.
- - Moved definition of allocator lock etc. to pthread_support.c and
-   win32_threads.c for those two cases.
- - Got rid of the FASTLOCK() machinery.  It doesn't seem useful on modern
-   platforms.
- - Cleaned up the uncollectable allocation routines, speeding up the
-   slower paths.  The code did enough unnecessary work off the critical path
-   that the underlying logic was getting hard to extract.
- - No longer turn off THREAD_LOCAL_ALLOC with DBG_HDRS_ALL.  Indications
-   are it just works, and I think the reasons for it not working disappeared
-   a while ago.
- - Fixed bugs in hb_n_marks calculation and assertion.
- - Don't use __builtin_expect for pre-3.0 gcc.
- - Define GWW_VDB only for recent Microsoft tool chains.
- - Add overview.html to doc directory.
- - Fix NT_STATIC_THREADS_MAKEFILE, various compiler warnings.
- - Made thread local allocation sort of work with Cygwin.  The code should
-   be there to deal with other Windows variants, But non-Cygwin Windows
-   threads need more bug fixes.
-
-Since gc7.0alpha5
-   (more 6.7 changes)
- - Declare GC_dump() in gc.h.
- - Add --enable-large-config, which just defines the LARGE_CONFIG macro.
- - Make GlobalAlloc address alignment a bit more intuitive.  (Thanks to
-   Charles Mills.)
- - Use #elif in the definitions of GET_MEM.
- - Overhaul porting.html.  Remove corresponding text from README.
- - Fix typo in DARWIN section of gcconfig.h.
- - Fix Darwin thread memory leak.  (Thanks to Bruce Mitchener.)
- - Update x86 AO_test_and_set implementation to use "=q".
- - Add $(EXEEXT) to many tests in tests/tests.am.  (Corresponds to a
-   6.7 fix, which no longer applied.)
- - Fix Darwin/PPC port.
- - Fix Cygwin/threads port.
- - Fix gcj malloc support.
- - For GNU-style make, don't build libatomic_ops unless threads are requested.
-   This should allow single-threaded builds on platforms which do not
-   currently support libatomic_ops.
- - Clean up and hopefully fix the CFLAGS calculation for GNU build.
-   (Substantially improves things on HP/UX.)
- - Integrated Andrei Polushin's Visual C++ patches.  These provide for
-   stack traces, better C++ debug support, and better log file handling.
-   Note that these change the location of the log file to a the path of the
-   executable with a .log extension.  To get the old behavior back, define
-   OLD_WIN32_LOG_FILE.  For the time being, I'm checking his project
-   files and the like into a windows-untested subdirectory.  They
-   are almost certainly already out of date, but better than what we had
-   before.
- - Fixed some win32 threads bugs, and added support for _beginthreadex.
- - Fix zero size thread local allocation so that explicit deallocation
-   works correctly.
- - Removed serious bug in GC_malloc_uncollectable(large size).
- - Do not try to do thread-local gcj allocation in incremental mode.  There
-   are races in setting up the descriptor.
- - Add GC_INIT() to middle.c, fix some more GC_printfn calls.
- - Some assertions erroneously used I_HOLD_LOCK() negatively, eventhough
-   it can now spuriously return TRUE.
- - Rename SUNOS5 macro and OS name to SOLARIS and SUNOS5DL to SOLARISDL.
- - On Linux and some Un*x variants, allocate memory by first trying sbrk,
-   and then switching to mmap if that fails.
- - Fixed /proc/x/maps reading to deal with asynchronous deletions.
- - Fix REDIRECT_MALLOC with threads on Linux.  It now usually seems to work
-   with ugly hacks that include having calloc behave differently when it is
-   called from ld.so or the pthreads library.  A reasonable amount of
-   infrastructure was added to support some of this.  Thanks to Roland McGrath
-   for ideas and information.
- - Import various updated build scripts.
- - Add GC_register_has_static_roots_callback.  (Thanks to Andrew Haley.)
- - Fix serious bugs in GC_malloc_atomic_uncollectable().
- - Return GC_SUCCESS form GC_get_stack_base().
- - Fix several atomic_ops problems on IA64 with HP Compiler.
- - Update to atomic_ops-1.2.
- - Fix hb_n_marks description and reclaim.c assertion.
- - Various additional win32 threads fixes.
- - Enable GC_ASSERTIONS for Debug build with NT_THREADS_MAKEFILE.
-
-[gc7.0alpha7 was released and version bumped to gc7.0alpha8]
-
-Since first gc7.0alpha8 version:
- [ Some gc6.9 changes ]
- - Change FindTopOfStack decl in darwin_stop_world.c.
- - Move some static tests from misc.c to gcconfig.h.  Use #error.
- - Add GC_print_free_list() function.  (Thanks to Bruce Hoult.)
- - Add GC_GNU_THREADS support on HURD. (Thanks to Aleksey Demakov,
-   Barry DeFreese, and possibly other Debian maintainers.)
- - __GNUC__ was misspelled as __GNUC in thread_local_alloc.h.
-   (Thanks to Peter Wang.)
- - Integrated various MacOSX patches and tried to reconcile them.
-   Thanks to Allan Hsu, several contributers at Apple, and probably
-   others.
- - Added some casts to powerpc.h in libatomic_ops to silence warnings.
-
-FOR FURTHER UPDATES SEE ../ChangeLog FILE.
-  
-To do:
- - REDIRECT_MALLOC and threads combination should work on more platforms,
-   and needs more testing on Linux.
- - Clone marker inner loop to support arch-dependent prefetching,
-   and counting of objects marked for finalization.
- - The USE_MUNMAP code should really use a separate data structure
-   indexed by physical page to keep track of time since last use of
-   a page.  Using hblk headers means we lose track of ages when
-   blocks are merged, and we can't unmap pages that have been allocated and
-   dropped by the blacklisting code.  I suspect both of these matter.
- - A dynamic libgc.so references dlopen unconditionally, but doesn't link
-   against libdl.
- - GC_proc_fd for Solaris is not correctly updated in response to a
-   fork() call.  Thus incremental collection in the child won't work
-   correctly.  (Thanks to Ben Cottrell for pointing this out.)
- - --enable-redirect-malloc is mostly untested and known not to work
-   on some platforms. 
- - There seem to be outstanding issues on Solaris/X86, possibly with
-   finding the data segment starting address.  Information/patches would
-   be appreciated.
- - Very large root set sizes (> 16 MB or so) could cause the collector
-   to abort with an unexpected mark stack overflow.  (Thanks again to
-   Peter Chubb.)  NOT YET FIXED.  Workaround is to increase the initial
-   size.
- - The SGI version of the collector marks from mmapped pages, even
-   if they are not part of dynamic library static data areas.  This
-   causes performance problems with some SGI libraries that use mmap
-   as a bitmap allocator.  NOT YET FIXED.  It may be possible to turn
-   off DYNAMIC_LOADING in the collector as a workaround.  It may also
-   be possible to conditionally intercept mmap and use GC_exclude_static_roots.
-   The real fix is to walk rld data structures, which looks possible.
- - Incremental collector should handle large objects better.  Currently,
-   it looks like the whole object is treated as dirty if any part of it
-   is.
- 
-FOR FURTHER UPDATES SEE ../ChangeLog FILE.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.contributors b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.contributors
deleted file mode 100755
index a389547..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.contributors
+++ /dev/null
@@ -1,57 +0,0 @@
-This is an attempt to acknowledge early contributions to the garbage
-collector.  Later contributions should instead be mentioned in
-README.changes.
-
-HISTORY -
-
-  Early versions of this collector were developed as a part of research
-projects supported in part by the National Science Foundation
-and the Defense Advance Research Projects Agency.
-
-The garbage collector originated as part of the run-time system for
-the Russell programming language implementation. The first version of the
-garbage collector was written primarily by Al Demers.  It was then refined
-and mostly rewritten, primarily by Hans-J. Boehm, at Cornell U., 
-the University of Washington, Rice University (where it was first used for
-C and assembly code), Xerox PARC, SGI, and HP Labs.  However, significant
-contributions have also been made by many others.
-
-Some other contributors:  
-
-More recent contributors are mentioned in the modification history in
-README.changes.  My apologies for any omissions.
-
-The SPARC specific code was originally contributed by Mark Weiser.
-The Encore Multimax modifications were supplied by
-Kevin Kenny (kenny at m.cs.uiuc.edu).  The adaptation to the IBM PC/RT is largely
-due to Vernon Lee, on machines made available to Rice by IBM.
-Much of the HP specific code and a number of good suggestions for improving the
-generic code are due to Walter Underwood.
-Robert Brazile (brazile at diamond.bbn.com) originally supplied the ULTRIX code.
-Al Dosser (dosser at src.dec.com) and Regis Cridlig (Regis.Cridlig at cl.cam.ac.uk)
-subsequently provided updates and information on variation between ULTRIX
-systems.  Parag Patel (parag at netcom.com) supplied the A/UX code.
-Jesper Peterson(jep at mtiame.mtia.oz.au), Michel Schinz, and
-Martin Tauchmann (martintauchmann at bigfoot.com) supplied the Amiga port.
-Thomas Funke (thf at zelator.in-berlin.de(?)) and
-Brian D.Carlstrom (bdc at clark.lcs.mit.edu) supplied the NeXT ports.
-Douglas Steel (doug at wg.icl.co.uk) provided ICL DRS6000 code.
-Bill Janssen (janssen at parc.xerox.com) supplied the SunOS dynamic loader
-specific code. Manuel Serrano (serrano at cornas.inria.fr) supplied linux and
-Sony News specific code.  Al Dosser provided Alpha/OSF/1 code.  He and
-Dave Detlefs(detlefs at src.dec.com) also provided several generic bug fixes.
-Alistair G. Crooks(agc at uts.amdahl.com) supplied the NetBSD and 386BSD ports.
-Jeffrey Hsu (hsu at soda.berkeley.edu) provided the FreeBSD port.
-Brent Benson (brent at jade.ssd.csd.harris.com) ported the collector to
-a Motorola 88K processor running CX/UX (Harris NightHawk).
-Ari Huttunen (Ari.Huttunen at hut.fi) generalized the OS/2 port to
-nonIBM development environments (a nontrivial task).
-Patrick Beard (beard at cs.ucdavis.edu) provided the initial MacOS port.
-David Chase, then at Olivetti Research, suggested several improvements.
-Scott Schwartz (schwartz at groucho.cse.psu.edu) supplied some of the
-code to save and print call stacks for leak detection on a SPARC.
-Jesse Hull and John Ellis supplied the C++ interface code.
-Zhong Shao performed much of the experimentation that led to the
-current typed allocation facility.  (His dynamic type inference code hasn't
-made it into the released version of the collector, yet.)
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.cords b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.cords
deleted file mode 100755
index fbed51f..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.cords
+++ /dev/null
@@ -1,53 +0,0 @@
-Copyright (c) 1993-1994 by Xerox Corporation.  All rights reserved.
-
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-Permission is hereby granted to use or copy this program
-for any purpose,  provided the above notices are retained on all copies.
-Permission to modify the code and to distribute modified code is granted,
-provided the above notices are retained, and a notice that the code was
-modified is included with the above copyright notice.
-
-Please send bug reports to Hans-J. Boehm (Hans_Boehm at hp.com or
-boehm at acm.org).
-
-This is a string packages that uses a tree-based representation.
-See cord.h for a description of the functions provided.  Ec.h describes
-"extensible cords", which are essentially output streams that write
-to a cord.  These allow for efficient construction of cords without
-requiring a bound on the size of a cord.
-
-More details on the data structure can be found in
-
-Boehm, Atkinson, and Plass, "Ropes: An Alternative to Strings",
-Software Practice and Experience 25, 12, December 1995, pp. 1315-1330.
-
-A fundamentally similar "rope" data structure is also part of SGI's standard
-template library implementation, and its descendents, which include the
-GNU C++ library.  That uses reference counting by default.
-There is a short description of that data structure at
-http://reality.sgi.com/boehm/ropeimpl.html .  (The more official location
-http://www.sgi.com/tech/stl/ropeimpl.html is missing a figure.)
-
-All of these are descendents of the "ropes" in Xerox Cedar.
-
-de.c is a very dumb text editor that illustrates the use of cords.
-It maintains a list of file versions.  Each version is simply a
-cord representing the file contents.  Nonetheless, standard
-editing operations are efficient, even on very large files.
-(Its 3 line "user manual" can be obtained by invoking it without
-arguments.  Note that ^R^N and ^R^P move the cursor by
-almost a screen.  It does not understand tabs, which will show
-up as highlighred "I"s.  Use the UNIX "expand" program first.)
-To build the editor, type "make cord/de" in the gc directory.
-
-This package assumes an ANSI C compiler such as gcc.  It will
-not compile with an old-style K&R compiler.
-
-Note that CORD_printf iand friends use C functions with variable numbers
-of arguments in non-standard-conforming ways.  This code is known to
-break on some platforms, notably PowerPC.  It should be possible to
-build the remainder of the library (everything but cordprnt.c) on
-any platform that supports the collector.
- 
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.darwin b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.darwin
deleted file mode 100755
index 5afda0d..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.darwin
+++ /dev/null
@@ -1,142 +0,0 @@
-Darwin/MacOSX Support - December 16, 2003
-=========================================
-
-Important Usage Notes
-=====================
-
-GC_init() MUST be called before calling any other GC functions. This 
-is necessary to properly register segments in dynamic libraries. This
-call is required even if you code does not use dynamic libraries as the
-dyld code handles registering all data segments.
-
-When your use of the garbage collector is confined to dylibs and you
-cannot call GC_init() before your libraries' static initializers have
-run and perhaps called GC_malloc(), create an initialization routine
-for each library to call GC_init():
-
-#include <gc/gc.h>
-extern "C" void my_library_init() { GC_init(); }
-
-Compile this code into a my_library_init.o, and link it into your
-dylib. When you link the dylib, pass the -init argument with
-_my_library_init (e.g. gcc -dynamiclib -o my_library.dylib a.o b.o c.o
-my_library_init.o -init _my_library_init). This causes
-my_library_init() to be called before any static initializers, and
-will initialize the garbage collector properly. 
-
-Note: It doesn't hurt to call GC_init() more than once, so it's best,
-if you have an application or set of libraries that all use the
-garbage collector, to create an initialization routine for each of
-them that calls GC_init(). Better safe than sorry. 
-
-The incremental collector is still a bit flaky on darwin. It seems to 
-work reliably with workarounds for a few possible bugs in place however
-these workaround may not work correctly in all cases. There may also
-be additional problems that I have not found. 
-
-Thread-local GC allocation will not work with threads that are not
-created using the GC-provided override of pthread_create(). Threads
-created without the GC-provided pthread_create() do not have the
-necessary data structures in the GC to store this data. 
-
-
-Implementation Information
-==========================
-Darwin/MacOSX support is nearly complete. Thread support is reliable on 
-Darwin 6.x (MacOSX 10.2) and there have been reports of success on older
-Darwin versions (MacOSX 10.1). Shared library support had also been
-added and the gc can be run from a shared library. There is currently only
-support for Darwin/PPC although adding x86 support should be trivial.
-
-Thread support is implemented in terms of mach thread_suspend and
-thread_resume calls. These provide a very clean interface to thread
-suspension. This implementation doesn't rely on pthread_kill so the
-code works on Darwin < 6.0 (MacOSX 10.1). All the code to stop and
-start the world is located in darwin_stop_world.c.
-
-Since not all uses of the GC enable clients to override pthread_create()
-before threads have been created, the code for stopping the world has
-been rewritten to look for threads using Mach kernel calls. Each
-thread identified in this way is suspended and resumed as above. In
-addition, since Mach kernel threads do not contain pointers to their
-stacks, a stack-walking function has been written to find the stack
-limits. Given an initial stack pointer (for the current thread, a
-pointer to a stack-allocated local variable will do; for a non-active
-thread, we grab the value of register 1 (on PowerPC)), it
-will walk the PPC Mach-O-ABI compliant stack chain until it reaches the
-top of the stack. This appears to work correctly for GCC-compiled C,
-C++, Objective-C, and Objective-C++ code, as well as for Java
-programs that use JNI. If you run code that does not follow the stack
-layout or stack pointer conventions laid out in the PPC Mach-O ABI,
-then this will likely crash the garbage collector. 
-
-The original incremental collector support unfortunatelly no longer works
-on recent Darwin versions. It also relied on some undocumented kernel
-structures. Mach, however, does have a very clean interface to exception
-handing. The current implementation uses Mach's exception handling. 
-
-Much thanks goes to Andrew Stone, Dietmar Planitzer, Andrew Begel, 
-Jeff Sturm, and Jesse Rosenstock for all their work on the 
-Darwin/OS X port.
-
--Brian Alliet
-brian at brianweb.net
-
-gc_cpp.h usage
-==============
-
-Replacement of operator new and delete is apparently not supported with
-dynamic libraries.  This means that applications using gc_cpp.h
-(including the built-in test) will probably not work correctly with
-the collector in a dynamic library, unless special care is taken.
-
-See
-http://article.gmane.org/gmane.comp.programming.garbage-collection.boehmgc/1421
-for some details.
-
-- Hans Boehm (based on information from Andrew Begel)
-
-
-Older Information (Most of this no longer applies to the current code)
-======================================================================
-
-While the GC should work on MacOS X Server, MacOS X and Darwin, I only tested
-it on MacOS X Server.
-I've added a PPC assembly version of GC_push_regs(), thus the setjmp() hack is
-no longer necessary. Incremental collection is supported via mprotect/signal.
-The current solution isn't really optimal because the signal handler must decode
-the faulting PPC machine instruction in order to find the correct heap address.
-Further, it must poke around in the register state which the kernel saved away
-in some obscure register state structure before it calls the signal handler -
-needless to say the layout of this structure is no where documented.
-Threads and dynamic libraries are not yet supported (adding dynamic library
-support via the low-level dyld API shouldn't be that hard).
-
-The original MacOS X port was brought to you by Andrew Stone.
-
-
-June, 1 2000
-
-Dietmar Planitzer
-dave.pl at ping.at
-
-Note from Andrew Begel:
-
-One more fix to enable gc.a to link successfully into a shared library for
-MacOS X. You have to add -fno-common to the CFLAGS in the Makefile. MacOSX
-disallows common symbols in anything that eventually finds its way into a
-shared library. (I don't completely understand why, but -fno-common seems to
-work and doesn't mess up the garbage collector's functionality).
-
-Feb 26, 2003
-
-Jeff Sturm and Jesse Rosenstock provided a patch that adds thread support.
-GC_MACOSX_THREADS should be defined in the build and in clients.  Real
-dynamic library support is still missing, i.e. dynamic library data segments
-are still not scanned.  Code that stores pointers to the garbage collected
-heap in statically allocated variables should not reside in a dynamic
-library.  This still doesn't appear to be 100% reliable.  
-
-Mar 10, 2003
-Brian Alliet contributed dynamic library support for MacOSX.  It could also
-use more testing.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.dj b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.dj
deleted file mode 100755
index 83e246f..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.dj
+++ /dev/null
@@ -1,12 +0,0 @@
-[Original version supplied by Xiaokun Zhu <xiaokun at aero.gla.ac.uk>]
-[This version came mostly from Gary Leavens.			  ]
-
-Look first at Makefile.dj, and possibly change the definitions of
-RM and MV if you don't have rm and mv installed.
-Then use Makefile.dj to compile the garbage collector.
-For example, you can do:
-
-	make -f Makefile.dj test
-
-All the tests should work fine.
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.environment b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.environment
deleted file mode 100755
index 1a48f3b..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.environment
+++ /dev/null
@@ -1,135 +0,0 @@
-The garbage collector looks at a number of environment variables which are
-then used to affect its operation.  These are examined only on Un*x-like
-platforms and win32.
-
-GC_INITIAL_HEAP_SIZE=<bytes> -	Initial heap size in bytes.  May speed up
-				process start-up.
-
-GC_MAXIMUM_HEAP_SIZE=<bytes> - Maximum collected heap size.
-
-GC_LOOP_ON_ABORT - Causes the collector abort routine to enter a tight loop.
-		   This may make it easier to debug, such a process, especially
-		   for multithreaded platforms that don't produce usable core
-		   files, or if a core file would be too large.  On some
-		   platforms, this also causes SIGSEGV to be caught and
-		   result in an infinite loop in a handler, allowing
-		   similar debugging techniques.
-
-GC_PRINT_STATS - Turn on GC logging.  Not functional with -DSMALL_CONFIG.
-
-GC_LOG_FILE - The name of the log file.  Stderr by default.
-
-GC_PRINT_VERBOSE_STATS - Turn on even more logging.
-
-GC_DUMP_REGULARLY - Generate a GC debugging dump GC_dump() on startup
-		    and during every collection.  Very verbose.  Useful
-		    if you have a bug to report, but please include only the
-		    last complete dump.
-
-GC_BACKTRACES=<n> - Generate n random backtraces (for heap profiling) after
-		    each GC.  Collector must have been built with
-		    KEEP_BACK_PTRS.  This won't generate useful output unless
-		    most objects in the heap were allocated through debug
-		    allocators.  This is intended to be only a statistical
-		    sample;  individual traces may be erroneous due to
-		    concurrent heap mutation.
-
-GC_PRINT_ADDRESS_MAP - Linux only.  Dump /proc/self/maps, i.e. various address
-		       maps for the process, to stderr on every GC.  Useful for
-		       mapping root addresses to source for deciphering leak
-		       reports.
-
-GC_NPROCS=<n> - Linux w/threads only.  Explicitly sets the number of processors
-	        that the GC should expect to use.  Note that setting this to 1
-		when multiple processors are available will preserve
-		correctness, but may lead to really horrible performance,
-		since the lock implementation will immediately yield without
-		first spinning.
-
-GC_MARKERS=<n> - Linux w/threads and parallel marker only.  Set the number
-		of marker threads.  This is normally set to the number of
-		processors.  It is safer to adjust GC_MARKERS than GC_NPROCS,
-		since GC_MARKERS has no impact on the lock implementation.
-
-GC_NO_BLACKLIST_WARNING - Prevents the collector from issuing
-		warnings about allocations of very large blocks.
-		Deprecated.  Use GC_LARGE_ALLOC_WARN_INTERVAL instead.
-
-GC_LARGE_ALLOC_WARN_INTERVAL=<n> - Print every nth warning about very large
-		block allocations, starting with the nth one.  Small values
-		of n are generally benign, in that a bounded number of
-		such warnings generally indicate at most a bounded leak.
-		For best results it should be set at 1 during testing.
-		Default is 5.  Very large numbers effectively disable the
-		warning.
-
-GC_IGNORE_GCJ_INFO - Ignore the type descriptors implicitly supplied by
-		     GC_gcj_malloc and friends.  This is useful for debugging
-		     descriptor generation problems, and possibly for
-		     temporarily working around such problems.  It forces a
-		     fully conservative scan of all heap objects except
-		     those known to be pointerfree, and may thus have other
-		     adverse effects.
-
-GC_PRINT_BACK_HEIGHT - Print max length of chain through unreachable objects
-		     ending in a reachable one.  If this number remains
-		     bounded, then the program is "GC robust".  This ensures
-		     that a fixed number of misidentified pointers can only
-		     result in a bounded space leak.  This currently only
-		     works if debugging allocation is used throughout.
-		     It increases GC space and time requirements appreciably.
-		     This feature is still somewhat experimental, and requires
-		     that the collector have been built with MAKE_BACK_GRAPH
-		     defined.  For details, see Boehm, "Bounding Space Usage
-		     of Conservative Garbage Collectors", POPL 2001, or
-		     http://lib.hpl.hp.com/techpubs/2001/HPL-2001-251.html .
-
-GC_RETRY_SIGNALS, GC_NO_RETRY_SIGNALS - Try to compensate for lost
-		     thread suspend signals in linux_threads.c.  On by
-		     default for GC_OSF1_THREADS, off otherwise.  Note 
-		     that this does not work around a possible loss of
-		     thread restart signals.  This seems to be necessary for
-		     some versions of Tru64.  Since we've previously seen
-		     similar issues on some other operating systems, it
-		     was turned into a runtime flag to enable last-minute
-		     work-arounds.
-
-The following turn on runtime flags that are also program settable.  Checked
-only during initialization.  We expect that they will usually be set through
-other means, but this may help with debugging and testing:
-
-GC_ENABLE_INCREMENTAL - Turn on incremental collection at startup.  Note that,
-		     depending on platform and collector configuration, this
-		     may involve write protecting pieces of the heap to
-		     track modifications.  These pieces may include pointerfree
-		     objects or not.  Although this is intended to be
-		     transparent, it may cause unintended system call failures.
-		     Use with caution.
-
-GC_PAUSE_TIME_TARGET - Set the desired garbage collector pause time in msecs.
-		     This only has an effect if incremental collection is
-		     enabled.  If a collection requires appreciably more time
-		     than this, the client will be restarted, and the collector
-		     will need to do additional work to compensate.  The
-		     special value "999999" indicates that pause time is
-		     unlimited, and the incremental collector will behave
-		     completely like a simple generational collector.  If
-		     the collector is configured for parallel marking, and
-		     run on a multiprocessor, incremental collection should
-		     only be used with unlimited pause time.
-
-GC_FIND_LEAK - Turns on GC_find_leak and thus leak detection.  Forces a
-	       collection at program termination to detect leaks that would
-	       otherwise occur after the last GC.
-
-GC_ALL_INTERIOR_POINTERS - Turns on GC_all_interior_pointers and thus interior
-			   pointer recognition.
-
-GC_DONT_GC - Turns off garbage collection.  Use cautiously.
-
-GC_TRACE=addr - Intended for collector debugging.  Requires that the collector
-		have been built with ENABLE_TRACE defined.  Causes the debugger
-		to log information about the tracing of address ranges containing
-		addr.  Typically addr is the address that contains a pointer to
-		an object that mysteriously failed to get marked.  Addr must be
-		specified as a hexadecimal integer.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.ews4800 b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.ews4800
deleted file mode 100755
index a594083..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.ews4800
+++ /dev/null
@@ -1,81 +0,0 @@
-GC on EWS4800
--------------
-
-1. About EWS4800
-   EWS4800 is 32bit/64bit workstation.
-
-     Vender: NEC Corporation
-     OS: UX/4800 R9.* - R13.* (SystemV R4.2)
-     CPU: R4000, R4400, R10000 (MIPS)
-
-2. Compiler
-
- 32bit:
-   Use ANSI C compiler.
-     CC = /usr/abiccs/bin/cc
-
- 64bit:
-   Use 64bit ANSI C compiler.
-     CC = /usr/ccs64/bin/cc
-     AR = /usr/ccs64/bin/ar
-
-3. ELF file format
-   *** Caution: The following infomation is empirical. ***
-
- 32bit:
-   ELF file has an unique format. (See a.out(4) and end(3C).)
-
-     &_start
-        :      text segment
-     &etext
-     DATASTART
-        :      data segment (initialized)
-     &edata
-     DATASTART2
-        :      data segment (uninitialized)
-     &end
-
-   Here, DATASTART and DATASTART2 are macros of GC, and are defined as
-   the following equations. (See include/private/gcconfig.h.)
-   The algorithm for DATASTART is similar with the function
-   GC_SysVGetDataStart() in os_dep.c.
-
-     DATASTART  = ((&etext + 0x3ffff) & ~0x3ffff) + (&etext & 0xffff)
-
-    Dynamically linked:
-     DATASTART2 = (&_gp + 0x8000 + 0x3ffff) & ~0x3ffff
-
-    Statically linked:
-     DATASTART2 = &edata
-
-   GC has to check addresses both between DATASTART and &edata, and
-   between DATASTART2 and &end. If a program accesses between &etext
-   and DATASTART, or between &edata and DATASTART2, the segmentation
-   error occurs and the program stops.
-
-   If a program is statically linked, there is not a gap between
-   &edata and DATASTART2. The global symbol &_DYNAMIC_LINKING is used
-   for the detection.
-
- 64bit:
-   ELF file has a simple format. (See end(3C).)
-
-     _ftext
-        :      text segment
-     _etext
-     _fdata = DATASTART
-        :      data segment (initialized)
-     _edata
-     _fbss
-        :      data segment (uninitialized)
-     _end = DATAEND
-
---
-Hironori SAKAMOTO <hsaka at mth.biglobe.ne.jp>
-
-
-When using the new "configure; make" build process, please
-run configure with the --disable-shared option.  "Make check" does not
-yet pass with dynamic libraries.  Ther reasons for that are not yet
-understood.  (HB, paraphrasing message from Hironori SAKAMOTO.)
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.hp b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.hp
deleted file mode 100755
index 8189d75..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.hp
+++ /dev/null
@@ -1,18 +0,0 @@
-Dynamic loading support requires that executables be linked with -ldld.
-The alternative is to build the collector without defining DYNAMIC_LOADING
-in gcconfig.h and ensuring that all garbage collectable objects are
-accessible without considering statically allocated variables in dynamic
-libraries.
-
-The collector should compile with either plain cc or cc -Ae.  Cc -Aa
-fails to define _HPUX_SOURCE and thus will not configure the collector
-correctly.
-
-Incremental collection support was reccently added, and should now work.
-
-In spite of past claims, pthread support under HP/UX 11 should now work.
-Define GC_HPUX_THREADS for the build.  Incremental collection still does not
-work in combination with it.
-
-The stack finding code can be confused by putenv calls before collector
-initialization.  Call GC_malloc or GC_init before any putenv calls.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.linux b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.linux
deleted file mode 100755
index 81726fa..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.linux
+++ /dev/null
@@ -1,131 +0,0 @@
-See README.alpha for Linux on DEC AXP info.
-
-This file applies mostly to Linux/Intel IA32.  Ports to Linux on an M68K, IA64,
-SPARC, MIPS, Alpha and PowerPC are also integrated.  They should behave
-similarly, except that the PowerPC port lacks incremental GC support, and
-it is unknown to what extent the Linux threads code is functional.
-See below for M68K specific notes.
-
-Incremental GC is generally supported.
-
-Dynamic libraries are supported on an ELF system.  A static executable
-should be linked with the gcc option "-Wl,-defsym,_DYNAMIC=0".
-
-The collector appears to work reliably with Linux threads, but beware 
-of older versions of glibc and gdb.
-
-The garbage collector uses SIGPWR and SIGXCPU if it is used with
-Linux threads.  These should not be touched by the client program.
-
-To use threads, you need to abide by the following requirements:
-
-1) You need to use LinuxThreads or NPTL (which are included in libc6).
-
-   The collector relies on some implementation details of the LinuxThreads
-   package.  This code may not work on other
-   pthread implementations (in particular it will *not* work with
-   MIT pthreads).
-
-2) You must compile the collector with -DGC_LINUX_THREADS (or
-   just -DGC_THREADS) and -D_REENTRANT specified in the Makefile.
-
-3a) Every file that makes thread calls should define GC_LINUX_THREADS and 
-   _REENTRANT and then include gc.h.  Gc.h redefines some of the
-   pthread primitives as macros which also provide the collector with
-   information it requires.
-
-3b) A new alternative to (3a) is to build the collector and compile GC clients
-   with -DGC_USE_LD_WRAP, and to link the final program with
-
-   (for ld) --wrap read --wrap dlopen --wrap pthread_create \
-	    --wrap pthread_join --wrap pthread_detach \
-	    --wrap pthread_sigmask --wrap sleep
-
-   (for gcc) -Wl,--wrap -Wl,read -Wl,--wrap -Wl,dlopen -Wl,--wrap \
-	     -Wl,pthread_create -Wl,--wrap -Wl,pthread_join -Wl,--wrap \
-	     -Wl,pthread_detach -Wl,--wrap -Wl,pthread_sigmask \
-	     -Wl,--wrap -Wl,sleep
-
-   In any case, _REENTRANT should be defined during compilation.
-
-4) Dlopen() disables collection during its execution.  (It can't run
-   concurrently with the collector, since the collector looks at its
-   data structures.  It can't acquire the allocator lock, since arbitrary
-   user startup code may run as part of dlopen().)  Under unusual
-   conditions, this may cause unexpected heap growth.
-
-5) The combination of GC_LINUX_THREADS, REDIRECT_MALLOC, and incremental
-   collection is probably not fully reliable, though it now seems to work
-   in simple cases.
-
-6) Thread local storage may not be viewed as part of the root set by the
-   collector.  This probably depends on the linuxthreads version.  For the
-   time being, any collectable memory referenced by thread local storage should
-   also be referenced from elsewhere, or be allocated as uncollectable.
-   (This is really a bug that should be fixed somehow.  The current GC
-   version probably gets things right if there are not too many tls locations
-   and if dlopen is not used.)
-
-
-M68K LINUX:
-(From Richard Zidlicky)
-The bad news is that it can crash every linux-m68k kernel on a 68040,
-so an additional test is needed somewhere on startup. I have meanwhile
-patches to correct the problem in 68040 buserror handler but it is not
-yet in any standard kernel.
-
-Here is a simple test program to detect whether the kernel has the
-problem. It could be run as a separate check in configure or tested 
-upon startup. If it fails (return !0) than mprotect can't be used
-on that system.
-
-/*
- * test for bug that may crash 68040 based Linux
- */
-
-#include <sys/mman.h>
-#include <signal.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-
-char *membase;
-int pagesize=4096;
-int pageshift=12;
-int x_taken=0;
-
-int sighandler(int sig)
-{
-   mprotect(membase,pagesize,PROT_READ|PROT_WRITE);
-   x_taken=1;
-}
-
-main()
-{
-  long l;
-
-   signal(SIGSEGV,sighandler);
-   l=(long)mmap(NULL,pagesize,PROT_READ,MAP_PRIVATE | MAP_ANON,-1,0);
-  if (l==-1)
-     {
-       perror("mmap/malloc");
-       abort();
-     }
-  membase=(char*)l;
-    *(long*)(membase+sizeof(long))=123456789;
-  if (*(long*)(membase+sizeof(long)) != 123456789 )
-    {
-      fprintf(stderr,"writeback failed !\n");
-      exit(1);
-    }
-  if (!x_taken)
-    {
-      fprintf(stderr,"exception not taken !\n");
-      exit(1);
-    }
-  fprintf(stderr,"vmtest Ok\n");
-  exit(0);
-}
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.macros b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.macros
deleted file mode 100755
index 8c7d4ad..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.macros
+++ /dev/null
@@ -1,82 +0,0 @@
-The collector uses a large amount of conditional compilation in order to
-deal with platform dependencies.  This violates a number of known coding
-standards.  On the other hand, it seems to be the only practical way to
-support this many platforms without excessive code duplication. 
-
-A few guidelines have mostly been followed in order to keep this manageable:
-
-1) #if and #ifdef directives are properly indented whenever easily possible.
-All known C compilers allow whitespace between the "#" and the "if" to make
-this possible.  ANSI C also allows white space before the "#", though we
-avoid that.  It has the known disadvantages that it differs from the normal
-GNU conventions, and that it makes patches larger than otherwise necessary.
-In my opinion, it's still well worth it, for the same reason that we indent
-ordinary "if" statements.
-
-2) Whenever possible, tests are performed on the macros defined in gcconfig.h
-instead of directly testing patform-specific predefined macros.  This makes it
-relatively easy to adapt to new compilers with a different set of predefined
-macros.  Currently these macros generally identify platforms instead of
-features.  In many cases, this is a mistake.
-
-Many of the tested configuration macros are at least somewhat defined in
-either include/private/gcconfig.h or in Makefile.direct.  Here is an attempt
-at defining some of the remainder:  (Thanks to Walter Bright for suggesting
-this.  This is a work in progress)
-
-MACRO		EXPLANATION
------		-----------
-
-__DMC__	Always #define'd by the Digital Mars compiler. Expands
-		to the compiler version number in hex, i.e. 0x810 is
-		version 8.1b0
-
-_ENABLE_ARRAYNEW
-		#define'd by the Digital Mars C++ compiler when
-		operator new[] and delete[] are separately
-		overloadable. Used in gc_cpp.h.
-
-_MSC_VER	Expands to the Visual C++ compiler version.  Assumed to
-		not be defined for other compilers (at least if they behave
-		appreciably differently).
-
-_DLL		Defined by Visual C++ if dynamic libraries are being built
-		or used.  Used to test whether __declspec(dllimport) or
-		__declspec(dllexport) needs to be added to declarations
-		to support the case in which the collector is in a dll.
-
-GC_DLL		User-settable macro that forces the effect of _DLL.  Set
-		by gc.h if _DLL is defined and GC_NOT_DLL is undefined.
-		This is the macro that is tested internally to determine
-		whether the GC is in its own dynamic library.  May need
-		to be set by clients before including gc.h.  Note that
-		inside the GC implementation it indicates that the
-		collector is in its own dynamic library, should export
-		its symbols, etc.  But in clients it indicates that the
-		GC resides in a different DLL, its entry points should
-		be referenced accordingly, and precautions may need to
-		be taken to properly deal with statically allocated 
-		variables in the main program.  Used only for MS Windows.
-
-GC_NOT_DLL	User-settable macro that overrides _DLL, e.g. if dynamic
-		libraries are used, but the collector is in a static library.
-
-__STDC__	Assumed to be defined only by compilers that understand
-		prototypes and other C89 features.  Its value is generally
-		not used, since we are fine with most nonconforming extensions.
-
-SUNOS5SIGS	Solaris-like signal handling.  This is probably misnamed,
-		since it really doesn't guarantee much more than Posix.
-		Currently set only for Solaris2.X, HPUX, and DRSNX.  Should
-		probably be set for some other platforms.
-
-PCR		Set if the collector is being built as part of the Xerox
-		Portable Common Runtime.
-
-USE_COMPILER_TLS  Assume the existence of __thread-style thread-local
-		storage.  Set automatically for thread-local allocation with
-		the HP/UX vendor compiler.  Usable with gcc on sufficiently
-		up-to-date ELF platforms.
-
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.rs6000 b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.rs6000
deleted file mode 100755
index 08c1ca0..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.rs6000
+++ /dev/null
@@ -1,9 +0,0 @@
-We have so far failed to find a good way to determine the stack base.
-It is highly recommended that GC_stackbottom be set explicitly on program
-startup.  The supplied value sometimes causes failure under AIX 4.1, though
-it appears to work under 3.X.  HEURISTIC2 seems to work under 4.1, but
-involves a substantial performance penalty, and will fail if there is
-no limit on stack size.
-
-There is no thread support.  (I assume recent versions of AIX provide
-pthreads?  I no longer have access to a machine ...)
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.sgi b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.sgi
deleted file mode 100755
index 6450984..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.sgi
+++ /dev/null
@@ -1,41 +0,0 @@
-Performance of the incremental collector can be greatly enhanced with
--DNO_EXECUTE_PERMISSION.
-
-The collector should run with all of the -32, -n32 and -64 ABIs.  Remember to
-define the AS macro in the Makefile to be "as -64", or "as -n32".
-
-If you use -DREDIRECT_MALLOC=GC_malloc with C++ code, your code should make
-at least one explicit call to malloc instead of new to ensure that the proper
-version of malloc is linked in.
-
-Sproc threads are not supported in this version, though there may exist other
-ports.
-
-Pthreads support is provided.  This requires that:
-
-1) You compile the collector with -DGC_IRIX_THREADS specified in the Makefile.
-
-2) You have the latest pthreads patches installed.  
-
-(Though the collector makes only documented pthread calls,
-it relies on signal/threads interactions working just right in ways
-that are not required by the standard.  It is unlikely that this code
-will run on other pthreads platforms.  But please tell me if it does.)
-
-3) Every file that makes thread calls should define IRIX_THREADS and then
-include gc.h.  Gc.h redefines some of the pthread primitives as macros which
-also provide the collector with information it requires.
-
-4) pthread_cond_wait and pthread_cond_timed_wait should be prepared for
-premature wakeups.  (I believe the pthreads and realted standards require this
-anyway.  Irix pthreads often terminate a wait if a signal arrives.
-The garbage collector uses signals to stop threads.)
-
-5) It is expensive to stop a thread waiting in IO at the time the request is
-initiated.  Applications with many such threads may not exhibit acceptable
-performance with the collector.  (Increasing the heap size may help.)
-
-6) The collector should not be compiled with -DREDIRECT_MALLOC.  This
-confuses some library calls made by the pthreads implementation, which
-expect the standard malloc.
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.solaris2 b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.solaris2
deleted file mode 100755
index 9c0b5f3..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.solaris2
+++ /dev/null
@@ -1,64 +0,0 @@
-The collector supports both incremental collection and threads under
-Solaris 2.  The incremental collector normally retrieves page dirty information
-through the appropriate /proc calls.  But it can also be configured
-(by defining MPROTECT_VDB instead of PROC_VDB in gcconfig.h) to use mprotect
-and signals.  This may result in shorter pause times, but it is no longer
-safe to issue arbitrary system calls that write to the heap.
-
-Under other UNIX versions,
-the collector normally obtains memory through sbrk.  There is some reason
-to expect that this is not safe if the client program also calls the system
-malloc, or especially realloc.  The sbrk man page strongly suggests this is
-not safe: "Many library routines use malloc() internally, so use brk()
-and sbrk() only when you know  that malloc() definitely will not be used by
-any library routine."  This doesn't make a lot of sense to me, since there
-seems to be no documentation as to which routines can transitively call malloc.
-Nonetheless, under Solaris2, the collector now (since 4.12) allocates
-memory using mmap by default.  (It defines USE_MMAP in gcconfig.h.)
-You may want to reverse this decisions if you use -DREDIRECT_MALLOC=...
-
-
-SOLARIS THREADS:
-
-The collector must be compiled with -DGC_SOLARIS_THREADS (thr_ functions)
-or -DGC_THREADS to be thread safe.  This assumes use of the pthread_
-interface.  Old style Solaris threads are no longer supported.
-
-It is also essential that gc.h be included in files that call thr_create,
-thr_join, thr_suspend, thr_continue, or dlopen.  Gc.h macro defines
-these to also do GC bookkeeping, etc.  Gc.h must be included with
-one or both of these macros defined, otherwise
-these replacements are not visible.
-A collector built in this way way only be used by programs that are
-linked with the threads library.
-
-Since 5.0 alpha5, dlopen disables collection temporarily,
-unless USE_PROC_FOR_LIBRARIES is defined.  In some unlikely cases, this
-can result in unpleasant heap growth.  But it seems better than the
-race/deadlock issues we had before.
-
-If solaris_threads are used on an X86 processor with malloc redirected to
-GC_malloc, it is necessary to call GC_thr_init explicitly before forking the
-first thread.  (This avoids a deadlock arising from calling GC_thr_init
-with the allocation lock held.)
-
-It appears that there is a problem in using gc_cpp.h in conjunction with
-Solaris threads and Sun's C++ runtime.  Apparently the overloaded new operator
-is invoked by some iostream initialization code before threads are correctly
-initialized.  As a result, call to thr_self() in garbage collector
-initialization  segfaults.  Currently the only known workaround is to not
-invoke the garbage collector from a user defined global operator new, or to
-have it invoke the garbage-collector's allocators only after main has started.
-(Note that the latter requires a moderately expensive test in operator
-delete.)
-
-I encountered "symbol <unknown>: offet .... is non-aligned" errors.  These
-appear to be traceable to the use of the GNU assembler with the Sun linker.
-The former appears to generate a relocation not understood by the latter.
-The fix appears to be to use a consistent tool chain.  (As a non-Solaris-expert
-my solution involved hacking the libtool script, but I'm sure you can
-do something less ugly.)
-
-Hans-J. Boehm
-(The above contains my personal opinions, which are probably not shared
-by anyone else.)
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.uts b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.uts
deleted file mode 100755
index 234f023..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.uts
+++ /dev/null
@@ -1,2 +0,0 @@
-Alistair Crooks supplied the port.  He used Lexa C version 2.1.3 with
--Xa to compile.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.win32 b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.win32
deleted file mode 100755
index f355b4d..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.win32
+++ /dev/null
@@ -1,221 +0,0 @@
-The collector has at various times been compiled under Windows 95 & later, NT,
-and XP, with the original Microsoft SDK, with Visual C++ 2.0, 4.0, and 6, with
-the GNU win32 tools, with Borland 4.5,  with Watcom C, and recently
-with the Digital Mars compiler.  It is likely that some of these have been
-broken in the meantime.  Patches are appreciated.
-
-For historical reasons,
-the collector test program "gctest" is linked as a GUI application,
-but does not open any windows.  Its output normally appears in the file
-"gctest.exe.log".  It may be started from the file manager.  The hour glass
-cursor may appear as long as it's running.  If it is started from the
-command line, it will usually run in the background.  Wait a few
-minutes (a few seconds on a modern machine) before you check the output.
-You should see either a failure indication or a "Collector appears to
-work" message.
-
-The cord test program has not been ported (but should port
-easily).  A toy editor (cord/de.exe) based on cords (heavyweight
-strings represented as trees) has been ported and is included.
-It runs fine under either win32 or win32S.  It serves as an example
-of a true Windows application, except that it was written by a
-nonexpert Windows programmer.  (There are some peculiarities
-in the way files are displayed.  The <cr> is displayed explicitly
-for standard DOS text files.  As in the UNIX version, control
-characters are displayed explicitly, but in this case as red text.
-This may be suboptimal for some tastes and/or sets of default
-window colors.)
-
-In general -DREDIRECT_MALLOC is unlikely to work unless the
-application is completely statically linked.
-
-The collector normally allocates memory from the OS with VirtualAlloc.
-This appears to cause problems under Windows NT and Windows 2000 (but
-not Windows 95/98) if the memory is later passed to CreateDIBitmap.
-To work around this problem, build the collector with -DUSE_GLOBAL_ALLOC.
-This is currently incompatible with -DUSE_MUNMAP.  (Thanks to Jonathan
-Clark for tracking this down.  There's some chance this may be fixed
-in 6.1alpha4, since we now separate heap sections with an unused page.)
-
-[Threads and incremental collection are discussed near the end, below.]
-
-Microsoft Tools
----------------
-For Microsoft development tools, rename NT_MAKEFILE as
-MAKEFILE.  (Make sure that the CPU environment variable is defined
-to be i386.)  In order to use the gc_cpp.h C++ interface, all
-client code should include gc_cpp.h.
-
-For historical reasons,
-the collector test program "gctest" is linked as a GUI application,
-but does not open any windows.  Its output appears in the file
-"gc.log".  It may be started from the file manager.  The hour glass
-cursor may appear as long as it's running.  If it is started from the
-command line, it will usually run in the background.  Wait a few
-minutes (a few seconds on a modern machine) before you check the output.
-You should see either a failure indication or a "Collector appears to
-work" message.
-
-If you would prefer a VC++.NET project file, ask boehm at acm.org.  One has
-been contributed, but it seems to contain some absolute paths etc., so
-it can presumably only be a starting point, and is not in the standard
-distribution.  It is unclear (to me, Hans Boehm) whether it is feasible to
-change that.
-
-Clients may need to define GC_NOT_DLL before including gc.h, if the
-collector was built as a static library (as it normally is in the
-absence of thread support).
-
-GNU Tools
----------
-The collector should be buildable under Cygwin with either the old standard
-Makefile, or possibly with the "configure --diable-shared;make" machinery.
-(For the latter use --enable-threads=posix for thread support.) The major issue
-here seems to be that dynamic library support is not currently enabled for
-Cygwin.  (This is probably fixable without a great deal of difficulty by
-reusing the standard WIN32 code.  But it requires some tweaking.)  As a result
-of this, "configure; make; make check" currently does not completely succeed,
-though the static library appears to be OK when used only from the main
-programs, and correspondingly the Makefile.direct self tests succeed.
-
-Mingw32 builds are not regularly tested, and may or may not work.
-The following paragraph is probably obsolete:
-
-For GNU-win32, use the regular makefile, possibly after uncommenting
-the line "include Makefile.DLLs".  The latter should be necessary only
-if you want to package the collector as a DLL.
-[Is the following sentence obsolete? -HB] The GNU-win32 port is
-believed to work only for b18, not b19, probably due to linker changes
-in b19.  This is probably fixable with a different definition of
-DATASTART and DATAEND in gcconfig.h.
-
-Borland Tools
--------------
-[Rarely tested.]
-For Borland tools, use BCC_MAKEFILE.  Note that
-Borland's compiler defaults to 1 byte alignment in structures (-a1),
-whereas Visual C++ appears to default to 8 byte alignment (/Zp8).
-The garbage collector in its default configuration EXPECTS AT
-LEAST 4 BYTE ALIGNMENT.  Thus the BORLAND DEFAULT MUST
-BE OVERRIDDEN.  (In my opinion, it should usually be anyway.
-I expect that -a1 introduces major performance penalties on a
-486 or Pentium.)  Note that this changes structure layouts.  (As a last
-resort, gcconfig.h can be changed to allow 1 byte alignment.  But
-this has significant negative performance implications.)
-The Makefile is set up to assume Borland 4.5.  If you have another
-version, change the line near the top.  By default, it does not
-require the assembler.  If you do have the assembler, I recommend
-removing the -DUSE_GENERIC.
-
-
-Watcom compiler
----------------
-
-Ivan V. Demakov's README for the Watcom port:
-
-The collector has been compiled with Watcom C 10.6 and 11.0.
-It runs under win32, win32s, and even under msdos with dos4gw
-dos-extender. It should also run under OS/2, though this isn't
-tested. Under win32 the collector can be built either as dll
-or as static library.
-
-Note that all compilations were done under Windows 95 or NT.
-For unknown reason compiling under Windows 3.11 for NT (one
-attempt has been made) leads to broken executables.
-
-Incremental collection is not supported.
-
-cord is not ported.
-
-Before compiling you may need to edit WCC_MAKEFILE to set target
-platform, library type (dynamic or static), calling conventions, and
-optimization options.
-
-To compile the collector and testing programs use the command:
-    wmake -f WCC_MAKEFILE
-
-All programs using gc should be compiled with 4-byte alignment.
-For further explanations on this see comments about Borland.
-
-If the gc is compiled as dll, the macro ``GC_DLL'' should be defined before
-including "gc.h" (for example, with -DGC_DLL compiler option). It's
-important, otherwise resulting programs will not run.
-
-Ivan Demakov (email: ivan at tgrad.nsk.su)
-
-Incremental Collection
-----------------------
-There is some support for incremental collection.  By default, the
-collector chooses between explicit page protection, anf GetWriteWatch-based
-write tracking automatically, depending on the platform.
-
-The former is slow and interacts poorly with a debugger.
-Pages are protected.  Protection faults are caught by a handler
-installed at the bottom of the handler
-stack.  Whenever possible, I recommend adding a call to
-GC_enable_incremental at the last possible moment, after most
-debugging is complete.  No system
-calls are wrapped by the collector itself.  It may be necessary
-to wrap ReadFile calls that use a buffer in the heap, so that the
-call does not encounter a protection fault while it's running.
-(As usual, none of this is an issue unless GC_enable_incremental
-is called.)
-
-Note that incremental collection is disabled with -DSMALL_CONFIG.
-
-Threads
--------
-
-This version of the collector by default handles threads similarly
-to other platforms.  James Clark's code which tracks threads attached
-to the collector DLL still exists, but requires that both
-- the collector is built in a DLL with GC_DLL defined, and
-- GC_use_DllMain() is called before GC initialization, which
-  in turn must happen before creating additional threads.
-We generally recommend avoiding this if possible, since it seems to
-be less than 100% reliable.
-
-Use NT_THREADS_MAKEFILE (a.k.a gc.mak) instead of NT_MAKEFILE
-to build a version that supports both kinds of thread tracking.
-To build the garbage collector
-test with VC++ from the command line, use
-
-nmake /F ".\gc.mak" CFG="gctest - Win32 Release"
-
-This requires that the subdirectory gctest\Release exist.
-The test program and DLL will reside in the Release directory.
-
-This version currently supports incremental collection only if it is
-enabled before any additional threads are created.
-
-Since 6.3alpha2, threads are also better supported in static library builds
-with Microsoft tools (use NT_STATIC_THREADS_MAKEFILE) and with the GNU
-tools.  In all cases,the collector must be built with GC_WIN32_THREADS
-defined, even if the Cygwin pthreads interface is used.
-(NT_STATIC_THREADS_MAKEFILE does this implicitly.  Under Cygwin,
-./configure --enable-threads=posix defines GC_WIN32_THREADS.)
-
-For the normal, non-dll-based thread tracking to work properly,
-threads should be created with GC_CreateThread or GC_beginthreadex,
-and exit normally or call GC_endthreadex or GC_ExitThread.  (For
-Cygwin, use standard pthread calls instead.)  As in the pthread
-case, including gc.h will redefine CreateThread, _beginthreadex,
-_endthreadex, and ExitThread to call the GC_ versions instead.
-
-Note that, as usual, GC_CreateThread tends to introduce resource leaks
-that are avoided by GC_beginthreadex.  There is currently no equivalent of
-_beginthread, and it should not be used.
-
-GC_INIT should be called from the main executable before other GC calls.
-
-We strongly advise against using the TerminateThread() win32 API call,
-especially with the garbage collector.  Any use is likely to provoke a
-crash in the GC, since it makes it impossible for the collector to
-correctly track threads.
-
-To build the collector for Mingw32 Pthreads, use Makefile.direct and
-explicitly set GC_WIN32_PTHREADS.  Use -DPTW32_STATIC_LIB for the static
-threads library.  Note that the DEBUG_WIN32_PTHREADS support in
-win32_threads.c is currently broken and looking for someone to debug it.
-(This information and the port came from Romano Paolo Tenca).
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.win64 b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.win64
deleted file mode 100755
index b8b9b19..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/README.win64
+++ /dev/null
@@ -1,17 +0,0 @@
-64-bit Windows on AMD64/Intel EM64T is somewhat supported in the 7.0
-release.  A collector can be built with Microsoft Visual C++ 2005.
-The resulting test programs have been known to work at least once.
-More testing would clearly be helpful.
-
-Currently only NT_X64_STATIC_THREADS_MAKEFILE has been used in
-this environment.  Copy this file to MAKEFILE, and then type "nmake"
-in a Visual C++ command line window to build the static library
-and the usual test programs.  To verify that the colllector is
-at least somewhat functional, run gctest.exe.  This should create
-gctest.exe.log after a few seconds.
-
-This process is completely analogous to NT_STATIC_THREADS_MAKEFILE
-for the 32-bit version.
-
-Note that currently a few warnings are still generated by default,
-and a number of others have been explicitly turned off in the makefile.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/barrett_diagram b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/barrett_diagram
deleted file mode 100755
index 3dcd65b..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/barrett_diagram
+++ /dev/null
@@ -1,106 +0,0 @@
-This is an ASCII diagram of the data structure used to check pointer
-validity.  It was provided by Dave Barrett <barrett at asgard.cs.colorado.edu>,
-and should be of use to others attempting to understand the code.
-The data structure in GC4.X is essentially the same.   -HB
-
-
-
-
-		Data Structure used by GC_base in gc3.7:
-			      21-Apr-94
-			 
-			
-
-
-    63                  LOG_TOP_SZ[11]  LOG_BOTTOM_SZ[10]   LOG_HBLKSIZE[13]
-   +------------------+----------------+------------------+------------------+
- p:|                  |   TL_HASH(hi)  |                  |   HBLKDISPL(p)   |
-   +------------------+----------------+------------------+------------------+
-    \-----------------------HBLKPTR(p)-------------------/
-    \------------hi-------------------/ 
-                      \______ ________/ \________ _______/ \________ _______/
-                             V                   V                  V
-                             |                   |                  |
-           GC_top_index[]    |                   |                  | 
- ---      +--------------+   |                   |                  |  
-  ^       |              |   |                   |                  |   
-  |       |              |   |                   |                  |   
- TOP      +--------------+<--+                   |                  |      
- _SZ   +-<|      []      | *                     |                  |     
-(items)|  +--------------+  if 0 < bi< HBLKSIZE  |                  |    
-  |    |  |              | then large object     |                  |    
-  |    |  |              | starts at the bi'th   |                  |    
-  v    |  |              | HBLK before p.        |             i    |    
- ---   |  +--------------+                       |          (word-  |    
-       v                                         |         aligned) |    
-   bi= |GET_BI(p){->hash_link}->key==hi          |                  |   
-       v                                         |                  |    
-       |   (bottom_index)  \ scratch_alloc'd     |                  |    
-       |   ( struct  bi )  / by get_index()      |                  |    
- ---   +->+--------------+                       |                  |    
-  ^       |              |                       |                  |
-  ^       |              |                       |                  |
- BOTTOM   |              |   ha=GET_HDR_ADDR(p)  |                  |
-_SZ(items)+--------------+<----------------------+          +-------+
-  |   +--<|   index[]    |                                  |         
-  |   |   +--------------+                      GC_obj_map: v              
-  |   |   |              |              from      / +-+-+-----+-+-+-+-+  --- 
-  v   |   |              |              GC_add   < 0| | |     | | | | |   ^  
- ---  |   +--------------+             _map_entry \ +-+-+-----+-+-+-+-+   |  
-      |   |   asc_link   |                          +-+-+-----+-+-+-+-+ MAXOBJSZ
-      |   +--------------+                      +-->| | |  j  | | | | |  +1   
-      |   |     key      |                      |   +-+-+-----+-+-+-+-+   |  
-      |   +--------------+                      |   +-+-+-----+-+-+-+-+   | 
-      |   |  hash_link   |                      |   | | |     | | | | |   v 
-      |   +--------------+                      |   +-+-+-----+-+-+-+-+  ---
-      |                                         |   |<--MAX_OFFSET--->|   
-      |                                         |         (bytes)
-HDR(p)| GC_find_header(p)                       |   |<--MAP_ENTRIES-->| 
-      |                           \ from        |    =HBLKSIZE/WORDSZ   
-      |    (hdr) (struct hblkhdr) / alloc_hdr() |    (1024 on Alpha)
-      +-->+----------------------+              |    (8/16 bits each)
-GET_HDR(p)| word   hb_sz (words) |              |          
-          +----------------------+              |     
-          | struct hblk *hb_next |              |
-          +----------------------+              |       
-          |mark_proc hb_mark_proc|              |
-          +----------------------+              |
-          | char * hb_map        |>-------------+
-          +----------------------+           
-          | ushort hb_obj_kind   |           
-          +----------------------+           
-          |   hb_last_reclaimed  |           
- ---      +----------------------+                
-  ^       |                      |
- MARK_BITS|       hb_marks[]     | *if hdr is free, hb_sz + DISCARD_WORDS
-_SZ(words)|                      |  is the size of a heap chunk (struct hblk)
-  v       |                      |  of at least MININCR*HBLKSIZE bytes (below),
- ---      +----------------------+  otherwise, size of each object in chunk.
-
-Dynamic data structures above are interleaved throughout the heap in blocks of 
-size MININCR * HBLKSIZE bytes as done by gc_scratch_alloc which cannot be
-freed; free lists are used (e.g. alloc_hdr).  HBLKs's below are collected.
-
-	      (struct hblk)      
- ---      +----------------------+ < HBLKSIZE ---         ---          DISCARD_
-  ^       |garbage[DISCARD_WORDS]|   aligned   ^           ^ HDR_BYTES WORDS
-  |       |                      |             |           v (bytes)   (words)
-  |       +-----hb_body----------+ < WORDSZ    |          ---   ---   
-  |       |                      |   aligned   |           ^     ^
-  |       |      Object 0        |             |           hb_sz |
-  |       |                      |           i |(word-    (words)|
-  |       |                      |      (bytes)|aligned)   v     |
-  |       + - - - - - - - - - - -+ ---         |          ---    |
-  |       |                      |  ^          |           ^     |
-  n *     |                      |  j (words)  |          hb_sz BODY_SZ 
- HBLKSIZE |      Object 1        |  v          v           |   (words)
- (bytes)  |                      |---------------          v   MAX_OFFSET
-  |       + - - - - - - - - - - -+                        ---  (bytes)
-  |       |                      | !All_INTERIOR_PTRS      ^     |
-  |       |                      | sets j only for       hb_sz   |
-  |       |      Object N        | valid object offsets.   |     |
-  v       |                      | All objects WORDSZ      v     v
- ---      +----------------------+ aligned.               ---   ---
-
-DISCARD_WORDS is normally zero.  Indeed the collector has not been tested
-with another value in ages.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/debugging.html b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/debugging.html
deleted file mode 100755
index f990c29..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/debugging.html
+++ /dev/null
@@ -1,306 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Debugging Garbage Collector Related Problems</title>
-</head>
-<BODY>
-<H1>Debugging Garbage Collector Related Problems</h1>
-This page contains some hints on
-debugging issues specific to
-the Boehm-Demers-Weiser conservative garbage collector.
-It applies both to debugging issues in client code that manifest themselves
-as collector misbehavior, and to debugging the collector itself.
-<P>
-If you suspect a bug in the collector itself, it is strongly recommended
-that you try the latest collector release, even if it is labelled as "alpha",
-before proceeding.
-<H2>Bus Errors and Segmentation Violations</h2>
-<P>
-If the fault occurred in GC_find_limit, or with incremental collection enabled,
-this is probably normal.  The collector installs handlers to take care of
-these.  You will not see these unless you are using a debugger.
-Your debugger <I>should</i> allow you to continue.
-It's often preferable to tell the debugger to ignore SIGBUS and SIGSEGV
-("<TT>handle SIGSEGV SIGBUS nostop noprint</tt>" in gdb,
-"<TT>ignore SIGSEGV SIGBUS</tt>" in most versions of dbx)
-and set a breakpoint in <TT>abort</tt>.
-The collector will call abort if the signal had another cause,
-and there was not other handler previously installed.
-<P>
-We recommend debugging without incremental collection if possible.
-(This applies directly to UNIX systems.
-Debugging with incremental collection under win32 is worse.  See README.win32.)
-<P>
-If the application generates an unhandled SIGSEGV or equivalent, it may
-often be easiest to set the environment variable GC_LOOP_ON_ABORT.  On many
-platforms, this will cause the collector to loop in a handler when the
-SIGSEGV is encountered (or when the collector aborts for some other reason),
-and a debugger can then be attached to the looping
-process.  This sidesteps common operating system problems related
-to incomplete core files for multithreaded applications, etc.
-<H2>Other Signals</h2>
-On most platforms, the multithreaded version of the collector needs one or
-two other signals for internal use by the collector in stopping threads.
-It is normally wise to tell the debugger to ignore these.  On Linux,
-the collector currently uses SIGPWR and SIGXCPU by default.
-<H2>Warning Messages About Needing to Allocate Blacklisted Blocks</h2>
-The garbage collector generates warning messages of the form
-<PRE>
-Needed to allocate blacklisted block at 0x...
-</pre>
-or
-<PRE>
-Repeated allocation of very large block ...
-</pre>
-when it needs to allocate a block at a location that it knows to be
-referenced by a false pointer.  These false pointers can be either permanent
-(<I>e.g.</i> a static integer variable that never changes) or temporary.
-In the latter case, the warning is largely spurious, and the block will
-eventually be reclaimed normally.
-In the former case, the program will still run correctly, but the block
-will never be reclaimed.  Unless the block is intended to be
-permanent, the warning indicates a memory leak.
-<OL>
-<LI>Ignore these warnings while you are using GC_DEBUG.  Some of the routines
-mentioned below don't have debugging equivalents.  (Alternatively, write
-the missing routines and send them to me.)
-<LI>Replace allocator calls that request large blocks with calls to
-<TT>GC_malloc_ignore_off_page</tt> or
-<TT>GC_malloc_atomic_ignore_off_page</tt>.  You may want to set a
-breakpoint in <TT>GC_default_warn_proc</tt> to help you identify such calls.
-Make sure that a pointer to somewhere near the beginning of the resulting block
-is maintained in a (preferably volatile) variable as long as
-the block is needed.
-<LI>
-If the large blocks are allocated with realloc, we suggest instead allocating
-them with something like the following.  Note that the realloc size increment
-should be fairly large (e.g. a factor of 3/2) for this to exhibit reasonable
-performance.  But we all know we should do that anyway.
-<PRE>
-void * big_realloc(void *p, size_t new_size)
-{
-    size_t old_size = GC_size(p);
-    void * result;
- 
-    if (new_size <= 10000) return(GC_realloc(p, new_size));
-    if (new_size <= old_size) return(p);
-    result = GC_malloc_ignore_off_page(new_size);
-    if (result == 0) return(0);
-    memcpy(result,p,old_size);
-    GC_free(p);
-    return(result);
-}
-</pre>
-
-<LI> In the unlikely case that even relatively small object
-(<20KB) allocations are triggering these warnings, then your address
-space contains lots of "bogus pointers", i.e. values that appear to
-be pointers but aren't.  Usually this can be solved by using GC_malloc_atomic
-or the routines in gc_typed.h to allocate large pointer-free regions of bitmaps, etc.  Sometimes the problem can be solved with trivial changes of encoding
-in certain values.  It is possible, to identify the source of the bogus
-pointers by building the collector with <TT>-DPRINT_BLACK_LIST</tt>,
-which will cause it to print the "bogus pointers", along with their location.
-
-<LI> If you get only a fixed number of these warnings, you are probably only
-introducing a bounded leak by ignoring them.  If the data structures being
-allocated are intended to be permanent, then it is also safe to ignore them.
-The warnings can be turned off by calling GC_set_warn_proc with a procedure
-that ignores these warnings (e.g. by doing absolutely nothing).
-</ol>
-
-<H2>The Collector References a Bad Address in <TT>GC_malloc</tt></h2>
-
-This typically happens while the collector is trying to remove an entry from
-its free list, and the free list pointer is bad because the free list link
-in the last allocated object was bad.
-<P>
-With > 99% probability, you wrote past the end of an allocated object.
-Try setting <TT>GC_DEBUG</tt> before including <TT>gc.h</tt> and
-allocating with <TT>GC_MALLOC</tt>.  This will try to detect such
-overwrite errors.
-
-<H2>Unexpectedly Large Heap</h2>
-
-Unexpected heap growth can be due to one of the following:
-<OL>
-<LI> Data structures that are being unintentionally retained.  This
-is commonly caused by data structures that are no longer being used,
-but were not cleared, or by caches growing without bounds.
-<LI> Pointer misidentification.  The garbage collector is interpreting
-integers or other data as pointers and retaining the "referenced"
-objects.  A common symptom is that GC_dump() shows much of the heap
-as black-listed.
-<LI> Heap fragmentation.  This should never result in unbounded growth,
-but it may account for larger heaps.  This is most commonly caused
-by allocation of large objects.  On some platforms it can be reduced
-by building with -DUSE_MUNMAP, which will cause the collector to unmap
-memory corresponding to pages that have not been recently used.
-<LI> Per object overhead.  This is usually a relatively minor effect, but
-it may be worth considering.  If the collector recognizes interior
-pointers, object sizes are increased, so that one-past-the-end pointers
-are correctly recognized.  The collector can be configured not to do this
-(<TT>-DDONT_ADD_BYTE_AT_END</tt>).
-<P>
-The collector rounds up object sizes so the result fits well into the
-chunk size (<TT>HBLKSIZE</tt>, normally 4K on 32 bit machines, 8K
-on 64 bit machines) used by the collector.   Thus it may be worth avoiding
-objects of size 2K + 1 (or 2K if a byte is being added at the end.)
-</ol>
-The last two cases can often be identified by looking at the output
-of a call to <TT>GC_dump()</tt>.  Among other things, it will print the
-list of free heap blocks, and a very brief description of all chunks in
-the heap, the object sizes they correspond to, and how many live objects
-were found in the chunk at the last collection.
-<P>
-Growing data structures can usually be identified by
-<OL>
-<LI> Building the collector with <TT>-DKEEP_BACK_PTRS</tt>,
-<LI> Preferably using debugging allocation (defining <TT>GC_DEBUG</tt>
-before including <TT>gc.h</tt> and allocating with <TT>GC_MALLOC</tt>),
-so that objects will be identified by their allocation site,
-<LI> Running the application long enough so
-that most of the heap is composed of "leaked" memory, and
-<LI> Then calling <TT>GC_generate_random_backtrace()</tt> from backptr.h
-a few times to determine why some randomly sampled objects in the heap are
-being retained.
-</ol>
-<P>
-The same technique can often be used to identify problems with false
-pointers, by noting whether the reference chains printed by
-<TT>GC_generate_random_backtrace()</tt> involve any misidentified pointers.
-An alternate technique is to build the collector with
-<TT>-DPRINT_BLACK_LIST</tt> which will cause it to report values that
-are almost, but not quite, look like heap pointers.  It is very likely that
-actual false pointers will come from similar sources.
-<P>
-In the unlikely case that false pointers are an issue, it can usually
-be resolved using one or more of the following techniques:
-<OL>
-<LI> Use <TT>GC_malloc_atomic</tt> for objects containing no pointers.
-This is especially important for large arrays containing compressed data,
-pseudo-random numbers, and the like.  It is also likely to improve GC
-performance, perhaps drastically so if the application is paging.
-<LI> If you allocate large objects containing only
-one or two pointers at the beginning, either try the typed allocation
-primitives is <TT>gc_typed.h</tt>, or separate out the pointerfree component.
-<LI> Consider using <TT>GC_malloc_ignore_off_page()</tt>
-to allocate large objects.  (See <TT>gc.h</tt> and above for details.
-Large means > 100K in most environments.)
-<LI> If your heap size is larger than 100MB or so, build the collector with
--DLARGE_CONFIG.  This allows the collector to keep more precise black-list
-information.
-<LI> If you are using heaps close to, or larger than, a gigabyte on a 32-bit
-machine, you may want to consider moving to a platform with 64-bit pointers.
-This is very likely to resolve any false pointer issues.
-</ol>
-<H2>Prematurely Reclaimed Objects</h2>
-The usual symptom of this is a segmentation fault, or an obviously overwritten
-value in a heap object.  This should, of course, be impossible.  In practice,
-it may happen for reasons like the following:
-<OL>
-<LI> The collector did not intercept the creation of threads correctly in
-a multithreaded application, <I>e.g.</i> because the client called
-<TT>pthread_create</tt> without including <TT>gc.h</tt>, which redefines it.
-<LI> The last pointer to an object in the garbage collected heap was stored
-somewhere were the collector couldn't see it, <I>e.g.</i> in an
-object allocated with system <TT>malloc</tt>, in certain types of
-<TT>mmap</tt>ed files,
-or in some data structure visible only to the OS.  (On some platforms,
-thread-local storage is one of these.)
-<LI> The last pointer to an object was somehow disguised, <I>e.g.</i> by
-XORing it with another pointer.
-<LI> Incorrect use of <TT>GC_malloc_atomic</tt> or typed allocation.
-<LI> An incorrect <TT>GC_free</tt> call.
-<LI> The client program overwrote an internal garbage collector data structure.
-<LI> A garbage collector bug.
-<LI> (Empirically less likely than any of the above.) A compiler optimization
-that disguised the last pointer.
-</ol>
-The following relatively simple techniques should be tried first to narrow
-down the problem:
-<OL>
-<LI> If you are using the incremental collector try turning it off for
-debugging.
-<LI> If you are using shared libraries, try linking statically.  If that works,
-ensure that DYNAMIC_LOADING is defined on your platform.
-<LI> Try to reproduce the problem with fully debuggable unoptimized code.
-This will eliminate the last possibility, as well as making debugging easier.
-<LI> Try replacing any suspect typed allocation and <TT>GC_malloc_atomic</tt>
-calls with calls to <TT>GC_malloc</tt>.
-<LI> Try removing any GC_free calls (<I>e.g.</i> with a suitable
-<TT>#define</tt>).
-<LI> Rebuild the collector with <TT>-DGC_ASSERTIONS</tt>.
-<LI> If the following works on your platform (i.e. if gctest still works
-if you do this), try building the collector with
-<TT>-DREDIRECT_MALLOC=GC_malloc_uncollectable</tt>.  This will cause
-the collector to scan memory allocated with malloc.
-</ol>
-If all else fails, you will have to attack this with a debugger.
-Suggested steps:
-<OL>
-<LI> Call <TT>GC_dump()</tt> from the debugger around the time of the failure.  Verify
-that the collectors idea of the root set (i.e. static data regions which
-it should scan for pointers) looks plausible.  If not, i.e. if it doesn't
-include some static variables, report this as
-a collector bug.  Be sure to describe your platform precisely, since this sort
-of problem is nearly always very platform dependent.
-<LI> Especially if the failure is not deterministic, try to isolate it to
-a relatively small test case.
-<LI> Set a break point in <TT>GC_finish_collection</tt>.  This is a good
-point to examine what has been marked, i.e. found reachable, by the
-collector.
-<LI> If the failure is deterministic, run the process
-up to the last collection before the failure.
-Note that the variable <TT>GC_gc_no</tt> counts collections and can be used
-to set a conditional breakpoint in the right one.  It is incremented just
-before the call to GC_finish_collection.
-If object <TT>p</tt> was prematurely recycled, it may be helpful to
-look at <TT>*GC_find_header(p)</tt> at the failure point.
-The <TT>hb_last_reclaimed</tt> field will identify the collection number
-during which its block was last swept.
-<LI> Verify that the offending object still has its correct contents at
-this point.
-Then call <TT>GC_is_marked(p)</tt> from the debugger to verify that the
-object has not been marked, and is about to be reclaimed.  Note that
-<TT>GC_is_marked(p)</tt> expects the real address of an object (the
-address of the debug header if there is one), and thus it may
-be more appropriate to call <TT>GC_is_marked(GC_base(p))</tt>
-instead.
-<LI> Determine a path from a root, i.e. static variable, stack, or
-register variable,
-to the reclaimed object.  Call <TT>GC_is_marked(q)</tt> for each object
-<TT>q</tt> along the path, trying to locate the first unmarked object, say
-<TT>r</tt>.
-<LI> If <TT>r</tt> is pointed to by a static root,
-verify that the location
-pointing to it is part of the root set printed by <TT>GC_dump()</tt>.  If it
-is on the stack in the main (or only) thread, verify that
-<TT>GC_stackbottom</tt> is set correctly to the base of the stack.  If it is
-in another thread stack, check the collector's thread data structure
-(<TT>GC_thread[]</tt> on several platforms) to make sure that stack bounds
-are set correctly.
-<LI> If <TT>r</tt> is pointed to by heap object <TT>s</tt>, check that the
-collector's layout description for <TT>s</tt> is such that the pointer field
-will be scanned.  Call <TT>*GC_find_header(s)</tt> to look at the descriptor
-for the heap chunk.  The <TT>hb_descr</tt> field specifies the layout
-of objects in that chunk.  See gc_mark.h for the meaning of the descriptor.
-(If it's low order 2 bits are zero, then it is just the length of the
-object prefix to be scanned.  This form is always used for objects allocated
-with <TT>GC_malloc</tt> or <TT>GC_malloc_atomic</tt>.)
-<LI> If the failure is not deterministic, you may still be able to apply some
-of the above technique at the point of failure.  But remember that objects
-allocated since the last collection will not have been marked, even if the
-collector is functioning properly.  On some platforms, the collector
-can be configured to save call chains in objects for debugging.
-Enabling this feature will also cause it to save the call stack at the
-point of the last GC in GC_arrays._last_stack.
-<LI> When looking at GC internal data structures remember that a number
-of <TT>GC_</tt><I>xxx</i> variables are really macro defined to
-<TT>GC_arrays._</tt><I>xxx</i>, so that
-the collector can avoid scanning them.
-</ol>
-</body>
-</html>
-
-
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/doc.am b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/doc.am
deleted file mode 100755
index 29ca579..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/doc.am
+++ /dev/null
@@ -1,55 +0,0 @@
-# 
-# 
-# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-# OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-# 
-# Permission is hereby granted to use or copy this program
-# for any purpose,  provided the above notices are retained on all copies.
-# Permission to modify the code and to distribute modified code is granted,
-# provided the above notices are retained, and a notice that the code was
-# modified is included with the above copyright notice.
-#
-# Modified by: Grzegorz Jakacki <jakacki at acm dot org>
-# Modified by: Petter Urkedal <petter.urkedal at nordita.dk>
-
-## Process this file with automake to produce Makefile.in.
-
-# installed documentation
-#
-dist_pkgdata_DATA = \
-	doc/barrett_diagram \
-	doc/debugging.html \
-	doc/gc.man \
-	doc/gcdescr.html \
-	doc/README \
-	doc/README.amiga \
-	doc/README.arm.cross \
-	doc/README.autoconf \
-	doc/README.changes \
-	doc/README.contributors \
-	doc/README.cords \
-	doc/README.DGUX386 \
-	doc/README.dj \
-	doc/README.environment \
-	doc/README.ews4800 \
-	doc/README.hp \
-	doc/README.linux \
-	doc/README.Mac \
-	doc/README.MacOSX \
-	doc/README.macros \
-	doc/README.OS2 \
-	doc/README.rs6000 \
-	doc/README.sgi \
-	doc/README.solaris2 \
-	doc/README.uts \
-	doc/README.win32 \
-	doc/README.win64 \
-	doc/overview.html \
-	doc/tree.html \
-	doc/leak.html \
-	doc/gcinterface.html \
-	doc/scale.html \
-	doc/README.darwin \
-	doc/simple_example.html \
-	doc/porting.html
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/gc.man b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/gc.man
deleted file mode 100755
index ea9ddf4..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/gc.man
+++ /dev/null
@@ -1,97 +0,0 @@
-.TH GC_MALLOC 1L "2 October 2003"
-.SH NAME
-GC_malloc, GC_malloc_atomic, GC_free, GC_realloc, GC_enable_incremental, GC_register_finalizer, GC_malloc_ignore_off_page, GC_malloc_atomic_ignore_off_page, GC_set_warn_proc \- Garbage collecting malloc replacement
-.SH SYNOPSIS
-#include "gc.h"
-.br
-void * GC_malloc(size_t size);
-.br
-void GC_free(void *ptr);
-.br
-void * GC_realloc(void *ptr, size_t size);
-.br
-.sp
-cc ... gc.a
-.LP
-.SH DESCRIPTION
-.I GC_malloc
-and
-.I GC_free
-are plug-in replacements for standard malloc and free.  However,
-.I
-GC_malloc
-will attempt to reclaim inaccessible space automatically by invoking a conservative garbage collector at appropriate points.  The collector traverses all data structures accessible by following pointers from the machines registers, stack(s), data, and bss segments.  Inaccessible structures will be reclaimed.  A machine word is considered to be a valid pointer if it is an address inside an object allocated by
-.I
-GC_malloc
-or friends.
-.LP
-In most cases it is preferable to call the macros GC_MALLOC, GC_FREE, etc.
-instead of calling GC_malloc and friends directly.  This allows debugging
-versions of the routines to be substituted by defining GC_DEBUG before
-including gc.h.
-.LP
-See the documentation in the include file gc_cpp.h for an alternate, C++ specific interface to the garbage collector.
-.LP
-Unlike the standard implementations of malloc,
-.I
-GC_malloc
-clears the newly allocated storage.
-.I
-GC_malloc_atomic
-does not.  Furthermore, it informs the collector that the resulting object will never contain any pointers, and should therefore not be scanned by the collector.
-.LP
-.I
-GC_free
-can be used to deallocate objects, but its use is optional, and generally discouraged.
-.I
-GC_realloc
-has the standard realloc semantics.  It preserves pointer-free-ness.
-.I
-GC_register_finalizer
-allows for registration of functions that are invoked when an object becomes inaccessible.
-.LP
-The garbage collector tries to avoid allocating memory at locations that already appear to be referenced before allocation.  (Such apparent ``pointers'' are usually large integers and the like that just happen to look like an address.)  This may make it hard to allocate very large objects.  An attempt to do so may generate a warning.
-.LP
-.I
-GC_malloc_ignore_off_page
-and
-.I
-GC_malloc_atomic_ignore_off_page
-inform the collector that the client code will always maintain a pointer to near the beginning of the object (within the first 512 bytes), and that pointers beyond that can be ignored by the collector.  This makes it much easier for the collector to place large objects.  These are recommended for large object allocation.  (Objects expected to be larger than about 100KBytes should be allocated this way.)
-.LP
-It is also possible to use the collector to find storage leaks in programs destined to be run with standard malloc/free.  The collector can be compiled for thread-safe operation.  Unlike standard malloc, it is safe to call malloc after a previous malloc call was interrupted by a signal, provided the original malloc call is not resumed.
-.LP
-The collector may, on rare occasion produce warning messages.  On UNIX machines these appear on stderr.  Warning messages can be filtered, redirected, or ignored with
-.I
-GC_set_warn_proc
-This is recommended for production code.  See gc.h for details.
-.LP
-Fully portable code should call
-.I
-GC_INIT
-from the main program before making any other GC calls.
-On most platforms this does nothing and the collector is initialized on first use.
-On a few platforms explicit initialization is necessary.  And it can never hurt. 
-.LP
-Debugging versions of many of the above routines are provided as macros.  Their names are identical to the above, but consist of all capital letters.  If GC_DEBUG is defined before gc.h is included, these routines do additional checking, and allow the leak detecting version of the collector to produce slightly more useful output.  Without GC_DEBUG defined, they behave exactly like the lower-case versions.
-.LP
-On some machines, collection will be performed incrementally after a call to
-.I
-GC_enable_incremental.
-This may temporarily write protect pages in the heap.  See the README file for more information on how this interacts with system calls that write to the heap.
-.LP
-Other facilities not discussed here include limited facilities to support incremental collection on machines without appropriate VM support, provisions for providing more explicit object layout information to the garbage collector, more direct support for ``weak'' pointers, support for ``abortable'' garbage collections during idle time, etc.
-.LP
-.SH "SEE ALSO"
-The README and gc.h files in the distribution.  More detailed definitions of the functions exported by the collector are given there.  (The above list is not complete.)
-.LP
-The web site at http://www.hpl.hp.com/personal/Hans_Boehm/gc .
-.LP
-Boehm, H., and M. Weiser, "Garbage Collection in an Uncooperative Environment",
-\fISoftware Practice & Experience\fP, September 1988, pp. 807-820.
-.LP
-The malloc(3) man page.
-.LP
-.SH AUTHOR
-Hans-J. Boehm (Hans.Boehm at hp.com).
-Some of the code was written by others, most notably Alan Demers.
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/gcdescr.html b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/gcdescr.html
deleted file mode 100755
index 5673da7..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/gcdescr.html
+++ /dev/null
@@ -1,621 +0,0 @@
-<HTML>
-<HEAD>
-    <TITLE> Conservative GC Algorithmic Overview </TITLE>
-    <AUTHOR> Hans-J. Boehm, HP Labs (Some of this was written at SGI)</author>
-</HEAD>
-<BODY>
-<H1> <I>This is under construction, and may always be.</i> </h1>
-<H1> Conservative GC Algorithmic Overview </h1>
-<P>
-This is a description of the algorithms and data structures used in our
-conservative garbage collector.  I expect the level of detail to increase
-with time.  For a survey of GC algorithms, see for example
-<A HREF="ftp://ftp.cs.utexas.edu/pub/garbage/gcsurvey.ps"> Paul Wilson's
-excellent paper</a>.  For an overview of the collector interface,
-see <A HREF="gcinterface.html">here</a>.
-<P>
-This description is targeted primarily at someone trying to understand the
-source code.  It specifically refers to variable and function names.
-It may also be useful for understanding the algorithms at a higher level.
-<P>
-The description here assumes that the collector is used in default mode.
-In particular, we assume that it used as a garbage collector, and not just
-a leak detector.  We initially assume that it is used in stop-the-world,
-non-incremental mode, though the presence of the incremental collector
-will be apparent in the design.
-We assume the default finalization model, but the code affected by that
-is very localized.
-<H2> Introduction </h2>
-The garbage collector uses a modified mark-sweep algorithm.  Conceptually
-it operates roughly in four phases, which are performed occasionally
-as part of a memory allocation:
-
-<OL>
-
-<LI>
-<I>Preparation</i> Each object has an associated mark bit.
-Clear all mark bits, indicating that all objects
-are potentially unreachable.
-
-<LI>
-<I>Mark phase</i> Marks all objects that can be reachable via chains of
-pointers from variables.  Often the collector has no real information
-about the location of pointer variables in the heap, so it
-views all static data areas, stacks and registers as potentially containing
-pointers.  Any bit patterns that represent addresses inside
-heap objects managed by the collector are viewed as pointers.
-Unless the client program has made heap object layout information
-available to the collector, any heap objects found to be reachable from
-variables are again scanned similarly.
-
-<LI>
-<I>Sweep phase</i> Scans the heap for inaccessible, and hence unmarked,
-objects, and returns them to an appropriate free list for reuse.  This is
-not really a separate phase; even in non incremental mode this is operation
-is usually performed on demand during an allocation that discovers an empty
-free list.  Thus the sweep phase is very unlikely to touch a page that
-would not have been touched shortly thereafter anyway.
-
-<LI>
-<I>Finalization phase</i> Unreachable objects which had been registered
-for finalization are enqueued for finalization outside the collector.
-
-</ol>
-
-<P>
-The remaining sections describe the memory allocation data structures,
-and then the last 3 collection phases in more detail. We conclude by
-outlining some of the additional features implemented in the collector.
-
-<H2>Allocation</h2>
-The collector includes its own memory allocator.  The allocator obtains
-memory from the system in a platform-dependent way.  Under UNIX, it
-uses either <TT>malloc</tt>, <TT>sbrk</tt>, or <TT>mmap</tt>.
-<P>
-Most static data used by the allocator, as well as that needed by the
-rest of the garbage collector is stored inside the
-<TT>_GC_arrays</tt> structure.
-This allows the garbage collector to easily ignore the collectors own
-data structures when it searches for root pointers.  Other allocator
-and collector internal data structures are allocated dynamically
-with <TT>GC_scratch_alloc</tt>. <TT>GC_scratch_alloc</tt> does not
-allow for deallocation, and is therefore used only for permanent data
-structures.
-<P>
-The allocator allocates objects of different <I>kinds</i>.
-Different kinds are handled somewhat differently by certain parts
-of the garbage collector.  Certain kinds are scanned for pointers,
-others are not.  Some may have per-object type descriptors that
-determine pointer locations.  Or a specific kind may correspond
-to one specific object layout.  Two built-in kinds are uncollectable.
-One (<TT>STUBBORN</tt>) is immutable without special precautions.
-In spite of that, it is very likely that most C clients of the
-collector currently
-use at most two kinds: <TT>NORMAL</tt> and <TT>PTRFREE</tt> objects.
-The <A HREF="http://gcc.gnu.org/java">gcj</a> runtime also makes
-heavy use of a kind (allocated with GC_gcj_malloc) that stores
-type information at a known offset in method tables.
-<P>
-The collector uses a two level allocator.  A large block is defined to
-be one larger than half of <TT>HBLKSIZE</tt>, which is a power of 2,
-typically on the order of the page size.
-<P>
-Large block sizes are rounded up to
-the next multiple of <TT>HBLKSIZE</tt> and then allocated by
-<TT>GC_allochblk</tt>.  Recent versions of the collector
-use an approximate best fit algorithm by keeping free lists for
-several large block sizes.
-The actual
-implementation of <TT>GC_allochblk</tt>
-is significantly complicated by black-listing issues
-(see below).
-<P>
-Small blocks are allocated in chunks of size <TT>HBLKSIZE</tt>.
-Each chunk is
-dedicated to only one object size and kind.  The allocator maintains
-separate free lists for each size and kind of object.
-<P>
-Once a large block is split for use in smaller objects, it can only
-be used for objects of that size, unless the collector discovers a completely
-empty chunk.  Completely empty chunks are restored to the appropriate
-large block free list.
-<P>
-In order to avoid allocating blocks for too many distinct object sizes,
-the collector normally does not directly allocate objects of every possible
-request size.  Instead request are rounded up to one of a smaller number
-of allocated sizes, for which free lists are maintained.  The exact
-allocated sizes are computed on demand, but subject to the constraint
-that they increase roughly in geometric progression.  Thus objects
-requested early in the execution are likely to be allocated with exactly
-the requested size, subject to alignment constraints.
-See <TT>GC_init_size_map</tt> for details.
-<P>
-The actual size rounding operation during small object allocation is
-implemented as a table lookup in <TT>GC_size_map</tt>.
-<P>
-Both collector initialization and computation of allocated sizes are
-handled carefully so that they do not slow down the small object fast
-allocation path.  An attempt to allocate before the collector is initialized,
-or before the appropriate <TT>GC_size_map</tt> entry is computed,
-will take the same path as an allocation attempt with an empty free list.
-This results in a call to the slow path code (<TT>GC_generic_malloc_inner</tt>)
-which performs the appropriate initialization checks.
-<P>
-In non-incremental mode, we make a decision about whether to garbage collect
-whenever an allocation would otherwise have failed with the current heap size.
-If the total amount of allocation since the last collection is less than
-the heap size divided by <TT>GC_free_space_divisor</tt>, we try to
-expand the heap.  Otherwise, we initiate a garbage collection.  This ensures
-that the amount of garbage collection work per allocated byte remains
-constant.
-<P>
-The above is in fact an oversimplification of the real heap expansion
-and GC triggering heuristic, which adjusts slightly for root size
-and certain kinds of
-fragmentation.  In particular:
-<UL>
-<LI> Programs with a large root set size and
-little live heap memory will expand the heap to amortize the cost of
-scanning the roots.  
-<LI> Versions 5.x of the collector actually collect more frequently in
-nonincremental mode.  The large block allocator usually refuses to split
-large heap blocks once the garbage collection threshold is
-reached.  This often has the effect of collecting well before the
-heap fills up, thus reducing fragmentation and working set size at the
-expense of GC time.  Versions 6.x choose an intermediate strategy depending
-on how much large object allocation has taken place in the past.
-(If the collector is configured to unmap unused pages, versions 6.x
-use the 5.x strategy.)
-<LI> In calculating the amount of allocation since the last collection we
-give partial credit for objects we expect to be explicitly deallocated.
-Even if all objects are explicitly managed, it is often desirable to collect
-on rare occasion, since that is our only mechanism for coalescing completely
-empty chunks.
-</ul>
-<P>
-It has been suggested that this should be adjusted so that we favor
-expansion if the resulting heap still fits into physical memory.
-In many cases, that would no doubt help.  But it is tricky to do this
-in a way that remains robust if multiple application are contending
-for a single pool of physical memory.
-
-<H2>Mark phase</h2>
-
-At each collection, the collector marks all objects that are
-possibly reachable from pointer variables.  Since it cannot generally
-tell where pointer variables are located, it scans the following
-<I>root segments</i> for pointers:
-<UL>
-<LI>The registers.  Depending on the architecture, this may be done using
-assembly code, or by calling a <TT>setjmp</tt>-like function which saves
-register contents on the stack.
-<LI>The stack(s).  In the case of a single-threaded application,
-on most platforms this
-is done by scanning the memory between (an approximation of) the current
-stack pointer and <TT>GC_stackbottom</tt>.  (For Itanium, the register stack
-scanned separately.)  The <TT>GC_stackbottom</tt> variable is set in
-a highly platform-specific way depending on the appropriate configuration
-information in <TT>gcconfig.h</tt>.  Note that the currently active
-stack needs to be scanned carefully, since callee-save registers of
-client code may appear inside collector stack frames, which may
-change during the mark process.  This is addressed by scanning
-some sections of the stack "eagerly", effectively capturing a snapshot
-at one point in time.
-<LI>Static data region(s).  In the simplest case, this is the region
-between <TT>DATASTART</tt> and <TT>DATAEND</tt>, as defined in
-<TT>gcconfig.h</tt>.  However, in most cases, this will also involve
-static data regions associated with dynamic libraries.  These are
-identified by the mostly platform-specific code in <TT>dyn_load.c</tt>.
-</ul> 
-The marker maintains an explicit stack of memory regions that are known
-to be accessible, but that have not yet been searched for contained pointers.
-Each stack entry contains the starting address of the block to be scanned,
-as well as a descriptor of the block.  If no layout information is
-available for the block, then the descriptor is simply a length.
-(For other possibilities, see <TT>gc_mark.h</tt>.)
-<P>
-At the beginning of the mark phase, all root segments
-(as described above) are pushed on the
-stack by <TT>GC_push_roots</tt>.  (Registers and eagerly processed
-stack sections are processed by pushing the referenced objects instead
-of the stack section itself.)  If <TT>ALL_INTERIOR_PTRS</tt> is not
-defined, then stack roots require special treatment.  In this case, the
-normal marking code ignores interior pointers, but <TT>GC_push_all_stack</tt>
-explicitly checks for interior pointers and pushes descriptors for target
-objects.
-<P>
-The marker is structured to allow incremental marking.
-Each call to <TT>GC_mark_some</tt> performs a small amount of
-work towards marking the heap.
-It maintains
-explicit state in the form of <TT>GC_mark_state</tt>, which
-identifies a particular sub-phase.  Some other pieces of state, most
-notably the mark stack, identify how much work remains to be done
-in each sub-phase.  The normal progression of mark states for
-a stop-the-world collection is:
-<OL>
-<LI> <TT>MS_INVALID</tt> indicating that there may be accessible unmarked
-objects.  In this case <TT>GC_objects_are_marked</tt> will simultaneously
-be false, so the mark state is advanced to
-<LI> <TT>MS_PUSH_UNCOLLECTABLE</tt> indicating that it suffices to push
-uncollectable objects, roots, and then mark everything reachable from them.
-<TT>Scan_ptr</tt> is advanced through the heap until all uncollectable
-objects are pushed, and objects reachable from them are marked.
-At that point, the next call to <TT>GC_mark_some</tt> calls
-<TT>GC_push_roots</tt> to push the roots.  It the advances the
-mark state to
-<LI> <TT>MS_ROOTS_PUSHED</tt> asserting that once the mark stack is
-empty, all reachable objects are marked.  Once in this state, we work
-only on emptying the mark stack.  Once this is completed, the state
-changes to
-<LI> <TT>MS_NONE</tt> indicating that reachable objects are marked.
-</ol>
-
-The core mark routine <TT>GC_mark_from</tt>, is called
-repeatedly by several of the sub-phases when the mark stack starts to fill
-up.  It is also called repeatedly in <TT>MS_ROOTS_PUSHED</tt> state
-to empty the mark stack.
-The routine is designed to only perform a limited amount of marking at
-each call, so that it can also be used by the incremental collector.
-It is fairly carefully tuned, since it usually consumes a large majority
-of the garbage collection time.
-<P>
-The fact that it perform a only a small amount of work per call also
-allows it to be used as the core routine of the parallel marker.  In that
-case it is normally invoked on thread-private mark stacks instead of the
-global mark stack.  More details can be found in
-<A HREF="scale.html">scale.html</a>
-<P>
-The marker correctly handles mark stack overflows.  Whenever the mark stack
-overflows, the mark state is reset to <TT>MS_INVALID</tt>.
-Since there are already marked objects in the heap,
-this eventually forces a complete
-scan of the heap, searching for pointers, during which any unmarked objects
-referenced by marked objects are again pushed on the mark stack.  This
-process is repeated until the mark phase completes without a stack overflow.
-Each time the stack overflows, an attempt is made to grow the mark stack.
-All pieces of the collector that push regions onto the mark stack have to be
-careful to ensure forward progress, even in case of repeated mark stack
-overflows.  Every mark attempt results in additional marked objects.
-<P>
-Each mark stack entry is processed by examining all candidate pointers
-in the range described by the entry.  If the region has no associated
-type information, then this typically requires that each 4-byte aligned
-quantity (8-byte aligned with 64-bit pointers) be considered a candidate
-pointer.
-<P>
-We determine whether a candidate pointer is actually the address of
-a heap block.  This is done in the following steps:
-<NL>
-<LI> The candidate pointer is checked against rough heap bounds.
-These heap bounds are maintained such that all actual heap objects
-fall between them.  In order to facilitate black-listing (see below)
-we also include address regions that the heap is likely to expand into.
-Most non-pointers fail this initial test.
-<LI> The candidate pointer is divided into two pieces; the most significant
-bits identify a <TT>HBLKSIZE</tt>-sized page in the address space, and
-the least significant bits specify an offset within that page.
-(A hardware page may actually consist of multiple such pages.
-HBLKSIZE is usually the page size divided by a small power of two.)
-<LI>
-The page address part of the candidate pointer is looked up in a
-<A HREF="tree.html">table</a>.
-Each table entry contains either 0, indicating that the page is not part
-of the garbage collected heap, a small integer <I>n</i>, indicating
-that the page is part of large object, starting at least <I>n</i> pages
-back, or a pointer to a descriptor for the page.  In the first case,
-the candidate pointer i not a true pointer and can be safely ignored.
-In the last two cases, we can obtain a descriptor for the page containing
-the beginning of the object.
-<LI>
-The starting address of the referenced object is computed.
-The page descriptor contains the size of the object(s)
-in that page, the object kind, and the necessary mark bits for those
-objects.  The size information can be used to map the candidate pointer
-to the object starting address.  To accelerate this process, the page header
-also contains a pointer to a precomputed map of page offsets to displacements
-from the beginning of an object.  The use of this map avoids a
-potentially slow integer remainder operation in computing the object
-start address.
-<LI>
-The mark bit for the target object is checked and set.  If the object
-was previously unmarked, the object is pushed on the mark stack.
-The descriptor is read from the page descriptor.  (This is computed
-from information <TT>GC_obj_kinds</tt> when the page is first allocated.)
-</nl>
-<P>
-At the end of the mark phase, mark bits for left-over free lists are cleared,
-in case a free list was accidentally marked due to a stray pointer.
-
-<H2>Sweep phase</h2>
-
-At the end of the mark phase, all blocks in the heap are examined.
-Unmarked large objects are immediately returned to the large object free list.
-Each small object page is checked to see if all mark bits are clear.
-If so, the entire page is returned to the large object free list.
-Small object pages containing some reachable object are queued for later
-sweeping, unless we determine that the page contains very little free
-space, in which case it is not examined further.
-<P>
-This initial sweep pass touches only block headers, not
-the blocks themselves.  Thus it does not require significant paging, even
-if large sections of the heap are not in physical memory.
-<P>
-Nonempty small object pages are swept when an allocation attempt
-encounters an empty free list for that object size and kind.
-Pages for the correct size and kind are repeatedly swept until at
-least one empty block is found.  Sweeping such a page involves
-scanning the mark bit array in the page header, and building a free
-list linked through the first words in the objects themselves.
-This does involve touching the appropriate data page, but in most cases
-it will be touched only just before it is used for allocation.
-Hence any paging is essentially unavoidable.
-<P>
-Except in the case of pointer-free objects, we maintain the invariant
-that any object in a small object free list is cleared (except possibly
-for the link field).  Thus it becomes the burden of the small object
-sweep routine to clear objects.  This has the advantage that we can
-easily recover from accidentally marking a free list, though that could
-also be handled by other means.  The collector currently spends a fair
-amount of time clearing objects, and this approach should probably be
-revisited.
-<P>
-In most configurations, we use specialized sweep routines to handle common
-small object sizes.  Since we allocate one mark bit per word, it becomes
-easier to examine the relevant mark bits if the object size divides
-the word length evenly.  We also suitably unroll the inner sweep loop
-in each case.  (It is conceivable that profile-based procedure cloning
-in the compiler could make this unnecessary and counterproductive.  I
-know of no existing compiler to which this applies.)
-<P>
-The sweeping of small object pages could be avoided completely at the expense
-of examining mark bits directly in the allocator.  This would probably
-be more expensive, since each allocation call would have to reload
-a large amount of state (e.g. next object address to be swept, position
-in mark bit table) before it could do its work.  The current scheme
-keeps the allocator simple and allows useful optimizations in the sweeper.
-
-<H2>Finalization</h2>
-Both <TT>GC_register_disappearing_link</tt> and
-<TT>GC_register_finalizer</tt> add the request to a corresponding hash
-table.  The hash table is allocated out of collected memory, but
-the reference to the finalizable object is hidden from the collector.
-Currently finalization requests are processed non-incrementally at the
-end of a mark cycle.  
-<P>
-The collector makes an initial pass over the table of finalizable objects,
-pushing the contents of unmarked objects onto the mark stack.
-After pushing each object, the marker is invoked to mark all objects
-reachable from it.  The object itself is not explicitly marked.
-This assures that objects on which a finalizer depends are neither
-collected nor finalized.
-<P>
-If in the process of marking from an object the
-object itself becomes marked, we have uncovered
-a cycle involving the object.  This usually results in a warning from the
-collector.  Such objects are not finalized, since it may be
-unsafe to do so.  See the more detailed
-<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/finalization.html"> discussion of finalization semantics</a>.
-<P>
-Any objects remaining unmarked at the end of this process are added to
-a queue of objects whose finalizers can be run.  Depending on collector
-configuration, finalizers are dequeued and run either implicitly during
-allocation calls, or explicitly in response to a user request.
-(Note that the former is unfortunately both the default and not generally safe.
-If finalizers perform synchronization, it may result in deadlocks.
-Nontrivial finalizers generally need to perform synchronization, and
-thus require a different collector configuration.)
-<P>
-The collector provides a mechanism for replacing the procedure that is
-used to mark through objects.  This is used both to provide support for
-Java-style unordered finalization, and to ignore certain kinds of cycles,
-<I>e.g.</i> those arising from C++ implementations of virtual inheritance.
-
-<H2>Generational Collection and Dirty Bits</h2>
-We basically use the concurrent and generational GC algorithm described in
-<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/papers/pldi91.ps.Z">"Mostly Parallel Garbage Collection"</a>,
-by Boehm, Demers, and Shenker.
-<P>
-The most significant modification is that
-the collector always starts running in the allocating thread.
-There is no separate garbage collector thread.  (If parallel GC is
-enabled, helper threads may also be woken up.)
-If an allocation attempt either requests a large object, or encounters
-an empty small object free list, and notices that there is a collection
-in progress, it immediately performs a small amount of marking work
-as described above.
-<P>
-This change was made both because we wanted to easily accommodate
-single-threaded environments, and because a separate GC thread requires
-very careful control over the scheduler to prevent the mutator from
-out-running the collector, and hence provoking unneeded heap growth.
-<P>
-In incremental mode, the heap is always expanded when we encounter
-insufficient space for an allocation.  Garbage collection is triggered
-whenever we notice that more than
-<TT>GC_heap_size</tt>/2 * <TT>GC_free_space_divisor</tt>
-bytes of allocation have taken place.
-After <TT>GC_full_freq</tt> minor collections a major collection
-is started.
-<P>
-All collections initially run interrupted until a predetermined
-amount of time (50 msecs by default) has expired.  If this allows
-the collection to complete entirely, we can avoid correcting
-for data structure modifications during the collection.  If it does
-not complete, we return control to the mutator, and perform small
-amounts of additional GC work during those later allocations that
-cannot be satisfied from small object free lists. When marking completes,
-the set of modified pages is retrieved, and we mark once again from
-marked objects on those pages, this time with the mutator stopped.
-<P>
-We keep track of modified pages using one of several distinct mechanisms:
-<OL>
-<LI>
-Through explicit mutator cooperation.  Currently this requires
-the use of <TT>GC_malloc_stubborn</tt>, and is rarely used.
-<LI>
-(<TT>MPROTECT_VDB</tt>) By write-protecting physical pages and
-catching write faults.  This is
-implemented for many Unix-like systems and for win32.  It is not possible
-in a few environments.
-<LI>
-(<TT>PROC_VDB</tt>) By retrieving dirty bit information from /proc.
-(Currently only Sun's
-Solaris supports this.  Though this is considerably cleaner, performance
-may actually be better with mprotect and signals.)
-<LI>
-(<TT>PCR_VDB</tt>) By relying on an external dirty bit implementation, in this
-case the one in Xerox PCR.
-<LI>
-(<TT>DEFAULT_VDB</tt>) By treating all pages as dirty.  This is the default if 
-none of the other techniques is known to be usable, and
-<TT>GC_malloc_stubborn</tt> is not used.  Practical only for testing, or if
-the vast majority of objects use <TT>GC_malloc_stubborn</tt>.
-</ol>
-
-<H2>Black-listing</h2>
-
-The collector implements <I>black-listing</i> of pages, as described
-in
-<A HREF="http://www.acm.org/pubs/citations/proceedings/pldi/155090/p197-boehm/">
-Boehm, ``Space Efficient Conservative Collection'', PLDI '93</a>, also available
-<A HREF="papers/pldi93.ps.Z">here</a>.
-<P>
-During the mark phase, the collector tracks ``near misses'', i.e. attempts
-to follow a ``pointer'' to just outside the garbage-collected heap, or
-to a currently unallocated page inside the heap.  Pages that have been
-the targets of such near misses are likely to be the targets of
-misidentified ``pointers'' in the future.  To minimize the future
-damage caused by such misidentifications they will be allocated only to
-small pointerfree objects. 
-<P>
-The collector understands two different kinds of black-listing.  A
-page may be black listed for interior pointer references
-(<TT>GC_add_to_black_list_stack</tt>), if it was the target of a near
-miss from a location that requires interior pointer recognition,
-<I>e.g.</i> the stack, or the heap if <TT>GC_all_interior_pointers</tt>
-is set.  In this case, we also avoid allocating large blocks that include
-this page.
-<P>
-If the near miss came from a source that did not require interior
-pointer recognition, it is black-listed with
-<TT>GC_add_to_black_list_normal</tt>.
-A page black-listed in this way may appear inside a large object,
-so long as it is not the first page of a large object.
-<P>
-The <TT>GC_allochblk</tt> routine respects black-listing when assigning
-a block to a particular object kind and size.  It occasionally
-drops (i.e. allocates and forgets) blocks that are completely black-listed
-in order to avoid excessively long large block free lists containing
-only unusable blocks.  This would otherwise become an issue
-if there is low demand for small pointerfree objects.
-
-<H2>Thread support</h2>
-We support several different threading models.  Unfortunately Pthreads,
-the only reasonably well standardized thread model, supports too narrow
-an interface for conservative garbage collection.  There appears to be
-no completely portable way to allow the collector
-to coexist with various Pthreads
-implementations.  Hence we currently support only the more
-common Pthreads implementations.
-<P>
-In particular, it is very difficult for the collector to stop all other
-threads in the system and examine the register contents.  This is currently
-accomplished with very different mechanisms for some Pthreads
-implementations.  The Solaris implementation temporarily disables much
-of the user-level threads implementation by stopping kernel-level threads
-("lwp"s).  The Linux/HPUX/OSF1 and Irix implementations sends signals to
-individual Pthreads and has them wait in the signal handler.
-<P>
-The Linux and Irix implementations use
-only documented Pthreads calls, but rely on extensions to their semantics.
-The Linux implementation <TT>linux_threads.c</tt> relies on only very
-mild extensions to the pthreads semantics, and already supports a large number
-of other Unix-like pthreads implementations.  Our goal is to make this the
-only pthread support in the collector.
-<P>
-(The Irix implementation is separate only for historical reasons and should
-clearly be merged.  The current Solaris implementation probably performs
-better in the uniprocessor case, but does not support thread operations in the
-collector.  Hence it cannot support the parallel marker.)
-<P>
-All implementations must
-intercept thread creation and a few other thread-specific calls to allow
-enumeration of threads and location of thread stacks.  This is current
-accomplished with <TT># define</tt>'s in <TT>gc.h</tt>
-(really <TT>gc_pthread_redirects.h</tt>), or optionally
-by using ld's function call wrapping mechanism under Linux.
-<P>
-Recent versions of the collector support several facilites to enhance
-the processor-scalability and thread performance of the collector.
-These are discussed in more detail <A HREF="scale.html">here</a>.
-We briefly outline the data approach to thread-local allocation in the
-next section.
-<H2>Thread-local allocation</h2>
-If thread-local allocation is enabled, the collector keeps separate
-arrays of free lists for each thread.  Thread-local allocation
-is currently only supported on a few platforms.
-<P>
-The free list arrays associated
-with each thread are only used to satisfy requests for objects that
-are  both very small, and belong to one of a small number of well-known
-kinds.  These currently include "normal" and pointer-free objects.
-Depending onthe configuration, "gcj" objects may also be included.
-<P>
-Thread-local free list entries contain either a pointer to the first
-element of a free list, or they contain a counter of the number of
-allocation "granules" allocated so far.  Initially they contain the
-value one, i.e. a small counter value.
-<P>
-Thread-local allocation allocates directly through the global
-allocator, if the object is of a size or kind not covered by the
-local free lists.
-<P>
-If there is an appropriate local free list, the allocator checks whether it
-contains a sufficiently small counter value.  If so, the counter is simply
-incremented by the counter value, and the global allocator is used.
-In this way, the initial few allocations of a given size bypass the local
-allocator.  A thread that only allocates a handful of objects of a given
-size will not build up its own free list for that size.  This avoids
-wasting space for unpopular objects sizes or kinds.
-<P>
-Once the counter passes a threshold, <TT>GC_malloc_many</tt> is called
-to allocate roughly <TT>HBLKSIZE</tt> space and put it on the corresponding
-local free list.  Further allocations of that size and kind then use
-this free list, and no longer need to acquire the allocation lock.
-The allocation procedure is otherwise similar to the global free lists.
-The local free lists are also linked using the first word in the object.
-In most cases this means they require considerably less time.
-<P>
-Local free lists are treated buy most of the rest of the collector
-as though they were in-use reachable data.  This requires some care,
-since pointer-free objects are not normally traced, and hence a special
-tracing procedure is required to mark all objects on pointer-free and
-gcj local free lists.
-<P>
-On thread exit, any remaining thread-local free list entries are
-transferred back to the global free list.
-<P>
-Note that if the collector is configured for thread-local allocation,
-GC versions before 7 do not invoke the thread-local allocator by default.
-<TT>GC_malloc</tt> only uses thread-local allocation in version 7 and later.
-In earlier versions, <TT>GC_MALLOC</tt> (all caps) may be directed
-to use thread-local allocation by defining <TT>GC_REDIRECT_TO_LOCAL</tt>
-and then include <TT>gc_local_alloc.h</tt>.
-<P>
-For some more details see <A HREF="scale.html">here</a>, and the
-technical report entitled
-<A HREF="http://www.hpl.hp.com/techreports/2000/HPL-2000-165.html">
-``Fast Multiprocessor Memory Allocation and Garbage Collection''
-</a>
-<P>
-<HR>
-<P>
-Comments are appreciated.  Please send mail to
-<A HREF="mailto:boehm at acm.org"><TT>boehm at acm.org</tt></a> or
-<A HREF="mailto:Hans.Boehm at hp.com"><TT>Hans.Boehm at hp.com</tt></a>
-<P>
-This is a modified copy of a page written while the author was at SGI.
-The original was <A HREF="http://reality.sgi.com/boehm/gcdescr.html">here</a>.
-</body>
-</html>
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/gcinterface.html b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/gcinterface.html
deleted file mode 100755
index ab281bc..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/gcinterface.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE HTML>
-<HEAD>
-<TITLE>Garbage Collector Interface</TITLE>
-</HEAD>
-<BODY>
-<H1>C Interface</h1>
-On many platforms, a single-threaded garbage collector library can be built
-to act as a plug-in malloc replacement.
-(Build with <TT>-DREDIRECT_MALLOC=GC_malloc -DIGNORE_FREE</tt>.)
-This is often the best way to deal with third-party libraries
-which leak or prematurely free objects.  <TT>-DREDIRECT_MALLOC</tt> is intended
-primarily as an easy way to adapt old code, not for new development.
-<P>
-New code should use the interface discussed below.
-<P>
-Code must be linked against the GC library.  On most UNIX platforms,
-depending on how the collector is built, this will be <TT>gc.a</tt>
-or <TT>libgc.{a,so}</tt>.
-<P>
-The following describes the standard C interface to the garbage collector.
-It is not a complete definition of the interface.  It describes only the
-most commonly used functionality, approximately in decreasing order of
-frequency of use.
-The full interface is described in
-<A HREF="http://hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gch.txt">gc.h</a>
-or <TT>gc.h</tt> in the distribution.
-<P>
-Clients should include <TT>gc.h</tt>.
-<P>
-In the case of multithreaded code,
-<TT>gc.h</tt> should be included after the threads header file, and
-after defining the appropriate <TT>GC_</tt><I>XXXX</i><TT>_THREADS</tt> macro.
-(For 6.2alpha4 and later, simply defining <TT>GC_THREADS</tt> should suffice.)
-The header file <TT>gc.h</tt> must be included
-in files that use either GC or threads primitives, since threads primitives
-will be redefined to cooperate with the GC on many platforms.
-<P>
-Thread users should also be aware that on many platforms objects reachable
-only from thread-local variables may be prematurely reclaimed.
-Thus objects pointed to by thread-local variables should also be pointed to
-by a globally visible data structure.  (This is viewed as a bug, but as
-one that is exceedingly hard to fix without some libc hooks.)
-<DL>
-<DT> <B>void * GC_MALLOC(size_t <I>nbytes</i>)</b>
-<DD>
-Allocates and clears <I>nbytes</i> of storage.
-Requires (amortized) time proportional to <I>nbytes</i>.
-The resulting object will be automatically deallocated when unreferenced.
-References from objects allocated with the system malloc are usually not
-considered by the collector.  (See <TT>GC_MALLOC_UNCOLLECTABLE</tt>, however.)
-<TT>GC_MALLOC</tt> is a macro which invokes <TT>GC_malloc</tt> by default or,
-if <TT>GC_DEBUG</tt>
-is defined before <TT>gc.h</tt> is included, a debugging version that checks
-occasionally for overwrite errors, and the like.
-<DT> <B>void * GC_MALLOC_ATOMIC(size_t <I>nbytes</i>)</b>
-<DD>
-Allocates <I>nbytes</i> of storage.
-Requires (amortized) time proportional to <I>nbytes</i>.
-The resulting object will be automatically deallocated when unreferenced.
-The client promises that the resulting object will never contain any pointers.
-The memory is not cleared.
-This is the preferred way to allocate strings, floating point arrays,
-bitmaps, etc.
-More precise information about pointer locations can be communicated to the
-collector using the interface in
-<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc_typedh.txt">gc_typed.h</a> in the distribution.
-<DT> <B>void * GC_MALLOC_UNCOLLECTABLE(size_t <I>nbytes</i>)</b>
-<DD>
-Identical to <TT>GC_MALLOC</tt>,
-except that the resulting object is not automatically
-deallocated.  Unlike the system-provided malloc, the collector does
-scan the object for pointers to garbage-collectable memory, even if the
-block itself does not appear to be reachable.  (Objects allocated in this way
-are effectively treated as roots by the collector.)
-<DT> <B> void * GC_REALLOC(void *<I>old</i>, size_t <I>new_size</i>) </b>
-<DD>
-Allocate a new object of the indicated size and copy (a prefix of) the
-old object into the new object.  The old object is reused in place if
-convenient.  If the original object was allocated with
-<TT>GC_MALLOC_ATOMIC</tt>,
-the new object is subject to the same constraints.  If it was allocated
-as an uncollectable object, then the new object is uncollectable, and
-the old object (if different) is deallocated.
-<DT> <B> void GC_FREE(void *<I>dead</i>) </b>
-<DD>
-Explicitly deallocate an object.  Typically not useful for small
-collectable objects.
-<DT> <B> void * GC_MALLOC_IGNORE_OFF_PAGE(size_t <I>nbytes</i>) </b>
-<DD>
-<DT> <B> void * GC_MALLOC_ATOMIC_IGNORE_OFF_PAGE(size_t <I>nbytes</i>) </b>
-<DD>
-Analogous to <TT>GC_MALLOC</tt> and <TT>GC_MALLOC_ATOMIC</tt>,
-except that the client
-guarantees that as long
-as the resulting object is of use, a pointer is maintained to someplace
-inside the first 512 bytes of the object.  This pointer should be declared
-volatile to avoid interference from compiler optimizations.
-(Other nonvolatile pointers to the object may exist as well.)
-This is the
-preferred way to allocate objects that are likely to be > 100KBytes in size.
-It greatly reduces the risk that such objects will be accidentally retained
-when they are no longer needed.  Thus space usage may be significantly reduced.
-<DT> <B> void GC_INIT(void) </b>
-<DD>
-On some platforms, it is necessary to invoke this
-<I>from the main executable, not from a dynamic library,</i> before
-the initial invocation of a GC routine.  It is recommended that this be done
-in portable code, though we try to ensure that it expands to a no-op
-on as many platforms as possible.  As of GC 7.0, it is required if
-thread-local allocation is enabled in the collector build, and <TT>malloc</tt>
-is not redirected to <TT>GC_malloc</tt>.
-<DT> <B> void GC_gcollect(void) </b>
-<DD>
-Explicitly force a garbage collection.
-<DT> <B> void GC_enable_incremental(void) </b>
-<DD>
-Cause the garbage collector to perform a small amount of work
-every few invocations of <TT>GC_MALLOC</tt> or the like, instead of performing
-an entire collection at once.  This is likely to increase total
-running time.  It will improve response on a platform that either has
-suitable support in the garbage collector (Linux and most Unix
-versions, win32 if the collector was suitably built) or if "stubborn"
-allocation is used (see
-<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gch.txt">gc.h</a>).
-On many platforms this interacts poorly with system calls 
-that write to the garbage collected heap.
-<DT> <B> GC_warn_proc GC_set_warn_proc(GC_warn_proc <I>p</i>) </b>
-<DD>
-Replace the default procedure used by the collector to print warnings.
-The collector
-may otherwise write to sterr, most commonly because GC_malloc was used
-in a situation in which GC_malloc_ignore_off_page would have been more
-appropriate.  See <A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gch.txt">gc.h</a> for details.
-<DT> <B> void GC_REGISTER_FINALIZER(...) </b>
-<DD>
-Register a function to be called when an object becomes inaccessible.
-This is often useful as a backup method for releasing system resources
-(<I>e.g.</i> closing files) when the object referencing them becomes
-inaccessible.
-It is not an acceptable method to perform actions that must be performed
-in a timely fashion.
-See <A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gch.txt">gc.h</a> for details of the interface.
-See <A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/finalization.html">here</a> for a more detailed discussion
-of the design.
-<P>
-Note that an object may become inaccessible before client code is done
-operating on objects referenced by its fields.
-Suitable synchronization is usually required.
-See <A HREF="http://portal.acm.org/citation.cfm?doid=604131.604153">here</a>
-or <A HREF="http://www.hpl.hp.com/techreports/2002/HPL-2002-335.html">here</a>
-for details.
-</dl>
-<P>
-If you are concerned with multiprocessor performance and scalability,
-you should consider enabling and using thread local allocation (<I>e.g.</i>
-<TT>GC_LOCAL_MALLOC</tt>, see <TT>gc_local_alloc.h</tt>.  If your platform
-supports it, you should build the collector with parallel marking support
-(<TT>-DPARALLEL_MARK</tt>, or <TT>--enable-parallel-mark</tt>).
-<P>
-If the collector is used in an environment in which pointer location
-information for heap objects is easily available, this can be passed on
-to the collector using the interfaces in either <TT>gc_typed.h</tt>
-or <TT>gc_gcj.h</tt>.
-<P>
-The collector distribution also includes a <B>string package</b> that takes
-advantage of the collector.  For details see
-<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/cordh.txt">cord.h</a>
-
-<H1>C++ Interface</h1>
-The C++ interface is implemented as a thin layer on the C interface.
-Unfortunately, this thin layer appears to be very sensitive to variations
-in C++ implementations, particularly since it tries to replace the global
-::new operator, something that appears to not be well-standardized.
-Your platform may need minor adjustments in this layer (gc_cpp.cc, gc_cpp.h,
-and possibly gc_allocator.h).  Such changes do not require understanding
-of collector internals, though they may require a good understanding of
-your platform.  (Patches enhancing portability are welcome.
-But it's easy to break one platform by fixing another.)
-<P>
-Usage of the collector from C++ is also complicated by the fact that there
-are many "standard" ways to allocate memory in C++.  The default ::new
-operator, default malloc, and default STL allocators allocate memory
-that is not garbage collected, and is not normally "traced" by the
-collector.  This means that any pointers in memory allocated by these
-default allocators will not be seen by the collector.  Garbage-collectable
-memory referenced only by pointers stored in such default-allocated
-objects is likely to be reclaimed prematurely by the collector.
-<P>
-It is the programmers responsibility to ensure that garbage-collectable
-memory is referenced by pointers stored in one of
-<UL>
-<LI> Program variables
-<LI> Garbage-collected objects
-<LI> Uncollected but "traceable" objects
-</ul>
-"Traceable" objects are not necessarily reclaimed by the collector,
-but are scanned for pointers to collectable objects.
-They are usually allocated by <TT>GC_MALLOC_UNCOLLECTABLE</tt>, as described
-above, and through some interfaces described below.
-<P>
-(On most platforms, the collector may not trace correctly from in-flight
-exception objects.  Thus objects thrown as exceptions should only
-point to otherwise reachable memory.  This is another bug whose
-proper repair requires platform hooks.)
-<P>
-The easiest way to ensure that collectable objects are properly referenced
-is to allocate only collectable objects.  This requires that every
-allocation go through one of the following interfaces, each one of
-which replaces a standard C++ allocation mechanism:
-<DL>
-<DT> <B> STL allocators </b>
-<DD>
-<P>
-Recent versions of the collector also include a more standard-conforming
-allocator implementation in <TT>gc_allocator.h</tt>.  It defines
-<UL>
-<LI> traceable_allocator
-<LI> gc_allocator
-</ul>
-which may be used either directly to allocate memory or to instantiate
-container templates. 
-The former allocates uncollectable but traced memory.
-The latter allocates garbage-collected memory.
-<P>
-These should work with any fully standard-conforming C++ compiler.
-<P>
-Users of the <A HREF="http://www.sgi.com/tech/stl">SGI extended STL</a>
-or its derivatives (including most g++ versions)
-can alternatively include <TT>new_gc_alloc.h</tt> before including
-STL header files.
-(<TT>gc_alloc.h</tt> corresponds to now obsolete versions of the
-SGI STL.)  This interface is no longer recommended, but it has existed
-for much longer.
-<P>
-This defines SGI-style allocators
-<UL>
-<LI> alloc
-<LI> single_client_alloc
-<LI> gc_alloc
-<LI> single_client_gc_alloc
-</ul>
-The first two allocate uncollectable but traced
-memory, while the second two allocate collectable memory.
-The single_client versions are not safe for concurrent access by
-multiple threads, but are faster.
-<P>
-For an example, click <A HREF="http://hpl.hp.com/personal/Hans_Boehm/gc/gc_alloc_exC.txt">here</a>.
-<DT> <B> Class inheritance based interface </b>
-<DD>
-Users may include gc_cpp.h and then cause members of classes to
-be allocated in garbage collectable memory by having those classes
-inherit from class gc.
-For details see <A HREF="http://hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc_cpph.txt">gc_cpp.h</a>.
-<P>
-Linking against libgccpp in addition to the gc library overrides
-::new (and friends) to allocate traceable memory but uncollectable
-memory, making it safe to refer to collectable objects from the resulting
-memory.
-<DT> <B> C interface </b>
-<DD>
-It is also possible to use the C interface from 
-<A HREF="http://hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gch.txt">gc.h</a> directly.
-On platforms which use malloc to implement ::new, it should usually be possible
-to use a version of the collector that has been compiled as a malloc
-replacement.  It is also possible to replace ::new and other allocation
-functions suitably, as is done by libgccpp.
-<P>
-Note that user-implemented small-block allocation often works poorly with
-an underlying garbage-collected large block allocator, since the collector
-has to view all objects accessible from the user's free list as reachable.
-This is likely to cause problems if <TT>GC_MALLOC</tt>
-is used with something like
-the original HP version of STL.
-This approach works well with the SGI versions of the STL only if the
-<TT>malloc_alloc</tt> allocator is used.
-</dl>
-</body>
-</html>
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/leak.html b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/leak.html
deleted file mode 100755
index 6bda450..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/leak.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Using the Garbage Collector as Leak Detector</title>
-</head>
-<BODY>
-<H1>Using the Garbage Collector as Leak Detector</h1>
-The garbage collector may be used as a leak detector.
-In this case, the primary function of the collector is to report
-objects that were allocated (typically with <TT>GC_MALLOC</tt>),
-not deallocated (normally with <TT>GC_FREE</tt>), but are
-no longer accessible.  Since the object is no longer accessible,
-there in normally no way to deallocate the object at a later time;
-thus it can safely be assumed that the object has been "leaked".
-<P>
-This is substantially different from counting leak detectors,
-which simply verify that all allocated objects are eventually
-deallocated.  A garbage-collector based leak detector can provide
-somewhat more precise information when an object was leaked.
-More importantly, it does not report objects that are never
-deallocated because they are part of "permanent" data structures.
-Thus it does not require all objects to be deallocated at process
-exit time, a potentially useless activity that often triggers
-large amounts of paging.
-<P>
-All non-ancient versions of the garbage collector provide
-leak detection support.  Version 5.3 adds the following
-features:
-<OL>
-<LI> Leak detection mode can be initiated at run-time by
-setting GC_find_leak instead of building the collector with FIND_LEAK
-defined.  This variable should be set to a nonzero value
-at program startup.
-<LI> Leaked objects should be reported and then correctly garbage collected.
-Prior versions either reported leaks or functioned as a garbage collector.
-</ol>
-For the rest of this description we will give instructions that work
-with any reasonable version of the collector.
-<P>
-To use the collector as a leak detector, follow the following steps:
-<OL>
-<LI> Build the collector with -DFIND_LEAK.  Otherwise use default
-build options.
-<LI> Change the program so that all allocation and deallocation goes
-through the garbage collector.
-<LI> Arrange to call <TT>GC_gcollect</tt> at appropriate points to check
-for leaks.
-(For sufficiently long running programs, this will happen implicitly,
-but probably not with sufficient frequency.)
-</ol>
-The second step can usually be accomplished with the
-<TT>-DREDIRECT_MALLOC=GC_malloc</tt> option when the collector is built,
-or by defining <TT>malloc</tt>, <TT>calloc</tt>,
-<TT>realloc</tt> and <TT>free</tt>
-to call the corresponding garbage collector functions.
-But this, by itself, will not yield very informative diagnostics,
-since the collector does not keep track of information about
-how objects were allocated.  The error reports will include
-only object addresses.
-<P>
-For more precise error reports, as much of the program as possible
-should use the all uppercase variants of these functions, after
-defining <TT>GC_DEBUG</tt>, and then including <TT>gc.h</tt>.
-In this environment <TT>GC_MALLOC</tt> is a macro which causes
-at least the file name and line number at the allocation point to
-be saved as part of the object.  Leak reports will then also include
-this information.
-<P>
-Many collector features (<I>e.g</i> stubborn objects, finalization,
-and disappearing links) are less useful in this context, and are not
-fully supported.  Their use will usually generate additional bogus
-leak reports, since the collector itself drops some associated objects.
-<P>
-The same is generally true of thread support.  However, as of 6.0alpha4,
-correct leak reports should be generated with linuxthreads.
-<P>
-On a few platforms (currently Solaris/SPARC, Irix, and, with -DSAVE_CALL_CHAIN,
-Linux/X86), <TT>GC_MALLOC</tt>
-also causes some more information about its call stack to be saved
-in the object.  Such information is reproduced in the error
-reports in very non-symbolic form, but it can be very useful with the
-aid of a debugger.
-<H2>An Example</h2>
-The following header file <TT>leak_detector.h</tt> is included in the
-"include" subdirectory of the distribution:
-<PRE>
-#define GC_DEBUG
-#include "gc.h"
-#define malloc(n) GC_MALLOC(n)
-#define calloc(m,n) GC_MALLOC((m)*(n))
-#define free(p) GC_FREE(p)
-#define realloc(p,n) GC_REALLOC((p),(n))
-#define CHECK_LEAKS() GC_gcollect()
-</pre>
-<P>
-Assume the collector has been built with -DFIND_LEAK.  (For very
-new versions of the collector, we could instead add the statement
-<TT>GC_find_leak = 1</tt> as the first statement in <TT>main</tt>.
-<P>
-The program to be tested for leaks can then look like:
-<PRE>
-#include "leak_detector.h"
-
-main() {
-    int *p[10];
-    int i;
-    /* GC_find_leak = 1; for new collector versions not 	*/
-    /* compiled with -DFIND_LEAK.				*/
-    for (i = 0; i < 10; ++i) {
-	p[i] = malloc(sizeof(int)+i);
-    }
-    for (i = 1; i < 10; ++i) {
-	free(p[i]);
-    }
-    for (i = 0; i < 9; ++i) {
-	p[i] = malloc(sizeof(int)+i);
-    }
-    CHECK_LEAKS();
-}	
-</pre>
-<P>
-On an Intel X86 Linux system this produces on the stderr stream:
-<PRE>
-Leaked composite object at 0x806dff0 (leak_test.c:8, sz=4)
-</pre>
-(On most unmentioned operating systems, the output is similar to this.
-If the collector had been built on Linux/X86 with -DSAVE_CALL_CHAIN,
-the output would be closer to the Solaris example. For this to work,
-the program should not be compiled with -fomit_frame_pointer.)
-<P>
-On Irix it reports
-<PRE>
-Leaked composite object at 0x10040fe0 (leak_test.c:8, sz=4)
-        Caller at allocation:
-                ##PC##= 0x10004910
-</pre>
-and on Solaris the error report is
-<PRE>
-Leaked composite object at 0xef621fc8 (leak_test.c:8, sz=4)
-        Call chain at allocation:
-                args: 4 (0x4), 200656 (0x30FD0)
-                ##PC##= 0x14ADC
-                args: 1 (0x1), -268436012 (0xEFFFFDD4)
-                ##PC##= 0x14A64
-</pre>
-In the latter two cases some additional information is given about
-how malloc was called when the leaked object was allocated.  For
-Solaris, the first line specifies the arguments to <TT>GC_debug_malloc</tt>
-(the actual allocation routine), The second the program counter inside
-main, the third the arguments to <TT>main</tt>, and finally the program
-counter inside the caller to main (i.e. in the C startup code).
-<P>
-In the Irix case, only the address inside the caller to main is given.
-<P>
-In many cases, a debugger is needed to interpret the additional information.
-On systems supporting the "adb" debugger, the <TT>callprocs</tt> script
-can be used to replace program counter values with symbolic names.
-As of version 6.1, the collector tries to generate symbolic names for
-call stacks if it knows how to do so on the platform.  This is true on
-Linux/X86, but not on most other platforms.
-<H2>Simplified leak detection under Linux</h2>
-Since version 6.1, it should be possible to run the collector in leak
-detection mode on a program a.out under Linux/X86 as follows:
-<OL>
-<LI> <I>Ensure that a.out is a single-threaded executable, or you are using
-a very recent (7.0alpha7+) collector version on Linux.</i>
-On most platforms this does not
-work at all for multithreaded programs.
-<LI> If possible, ensure that the addr2line program is installed in
-/usr/bin.  (It comes with RedHat Linux.)
-<LI> If possible, compile a.out with full debug information.
-This will improve the quality of the leak reports.  With this approach, it is
-no longer necessary to call GC_ routines explicitly, though that can also
-improve the quality of the leak reports.
-<LI> Build the collector and install it in directory <I>foo</i> as follows:
-<UL>
-<LI> <TT>configure --prefix=<I>foo</i> --enable-full-debug --enable-redirect-malloc
---disable-threads</tt>
-<LI> <TT>make</tt>
-<LI> <TT>make install</tt>
-</ul>
-With a very recent collector on Linux, it may be safe to omit the <TT>--disable-threads</tt>.
-<LI> Set environment variables as follows:
-<UL>
-<LI> LD_PRELOAD=<I>foo</i>/lib/libgc.so
-<LI> GC_FIND_LEAK
-<LI> You may also want to set GC_PRINT_STATS (to confirm that the collector
-is running) and/or GC_LOOP_ON_ABORT (to facilitate debugging from another
-window if something goes wrong).
-</ul
-<LI> Simply run a.out as you normally would.  Note that if you run anything
-else (<I>e.g.</i> your editor) with those environment variables set,
-it will also be leak tested.  This may or may not be useful and/or
-embarrassing.  It can generate
-mountains of leak reports if the application wasn't designed to avoid leaks,
-<I>e.g.</i> because it's always short-lived.
-</ol>
-This has not yet been thoroughly tested on large applications, but it's known
-to do the right thing on at least some small ones.
-</body>
-</html>
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/overview.html b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/overview.html
deleted file mode 100755
index 3bef967..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/overview.html
+++ /dev/null
@@ -1,446 +0,0 @@
-<!DOCTYPE HTML>
-<html><head><title>A garbage collector for C and C++</title></head>
-<body>
-<table bgcolor="#f0f0ff" cellpadding="10%">
-  <tbody><tr>
-  <td><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html">Interface Overview</a></td>
-  <td><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/04tutorial.pdf">Tutorial Slides</a></td>
-  <td><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/faq.html">FAQ</a></td>
-  <td><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/simple_example.html">Example</a></td>
-  <td><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source">Download</a></td>
-  <td><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/license.txt">License</a></td>
-  </tr>
-</tbody></table>
-<h1>A garbage collector for C and C++</h1>
-<ul>
-<li><a href="#platforms">Platforms</a>
-</li><li><a href="#multiprocessors">Scalable multiprocessor versions</a>
-</li><li><a href="#details">Some collector details</a>
-</li><li><a href="#further">Further reading</a>
-</li><li><a href="#users">Current users</a>
-</li><li><a href="#collector">Local Links for this collector</a>
-</li><li><a href="#background">Local Background Links</a>
-</li><li><a href="#contacts">Contacts and Mailing List</a>
-</li></ul>
-[ This is an updated version of the page formerly at
-<tt>http://reality.sgi.com/boehm/gc.html</tt>
-and before that at
-<a href="ftp://parcftp.xerox.com/pub/gc/gc.html">
-<tt>ftp://parcftp.xerox.com/pub/gc/gc.html</tt></a>.]
-<p>
-The <a href="http://www.hpl.hp.com/personal/Hans_Boehm">Boehm</a>-<a href="http://www.cs.cornell.edu/annual_report/00-01/bios.htm#demers">Demers</a>-<a href="http://www-sul.stanford.edu/weiser/">Weiser</a>
-conservative garbage collector can
-be used as a garbage collecting
-replacement for C <tt>malloc</tt> or C++ <tt>new</tt>.
-It allows you to allocate memory basically as you normally would,
-without explicitly deallocating memory that is no longer useful.
-The collector automatically recycles memory when it determines
-that it can no longer be otherwise accessed.
-A simple example of such a use is given
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/simple_example.html">here</a>.
-</p><p>
-The collector is also used by a number of programming language
-implementations that either use C as intermediate code, want
-to facilitate easier interoperation with C libraries, or
-just prefer the simple collector interface.
-For a more detailed description of the interface, see
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html">here</a>.
-</p><p>
-Alternatively, the garbage collector  may be used as
-a <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/leak.html">leak detector</a>
-for C or C++ programs, though that is not its primary goal.
-</p><p>
-Typically several versions will be available.
-Usually you should first try to use
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc.tar.gz"><tt>gc_source/gc.tar.gz</tt></a>,
-which is normally an older, more stable version.
-</p><p>
-If that fails, try the latest explicitly numbered version
-in <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/">
-<tt>gc_source/</tt></a>.
-Later versions may contain additional features, platform support,
-or bug fixes, but are likely to be less well tested.
-Note that versions containing the letters <tt>alpha</tt> are even less
-well tested than others, especially on non-HP platforms.
-</p><p>
-A slightly older version of the garbage collector is now also
-included as part of the
-<a href="http://gcc.gnu.org/">GNU compiler</a>
-distribution.  The source
-code for that version is available for browsing
-<a href="http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/boehm-gc/">here</a>.
-</p><p>
-The arguments for and against conservative garbage collection
-in C and C++ are briefly
-discussed in
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html">issues.html</a>.  The beginnings of
-a frequently-asked-questions list are <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/faq.html">here</a>.
-</p><p>
-The garbage collector code is copyrighted by
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm">Hans-J. Boehm</a>,
-Alan J. Demers,
-<a href="http://www.xerox.com/">Xerox Corporation</a>,
-<a href="http://www.sgi.com/">Silicon Graphics</a>,
-and
-<a href="http://www.hp.com/">Hewlett-Packard Company</a>.
-It may be used and copied without payment of a fee under minimal restrictions.
-See the README file in the distribution  or the
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/license.txt">license</a> for more details.
-<b>IT IS PROVIDED AS IS,
-WITH ABSOLUTELY NO WARRANTY EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK</b>.
-</p><p>
-Empirically, this collector works with most unmodified C programs,
-simply by replacing
-<tt>malloc</tt> with <tt>GC_malloc</tt> calls,
-replacing <tt>realloc</tt> with <tt>GC_realloc</tt> calls, and removing
-free calls.  Exceptions are discussed
-in <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html">issues.html</a>. 
-</p><h2><a name="platforms">Platforms</a></h2>
-The collector is not completely portable, but the distribution
-includes ports to most standard PC and UNIX/Linux platforms.
-The collector should work on Linux, *BSD, recent Windows versions,
-MacOS X, HP/UX, Solaris,
-Tru64, Irix and a few other operating systems.
-Some ports are more polished than others.
-<p>
-Irix pthreads, Linux threads, Win32 threads, Solaris threads
-(old style and pthreads),
-HP/UX 11 pthreads, Tru64 pthreads, and MacOS X threads are supported
-in recent versions.
-</p><h3>Separately distributed ports</h3>
-For MacOS 9/Classic use, Patrick Beard's latest port is available from
-<a href="http://homepage.mac.com/pcbeard/gc/">
-<tt>http://homepage.mac.com/pcbeard/gc/</tt></a>.
-(Unfortunately, that's now quite dated.
-I'm not in a position to test under MacOS.  Although I try to
-incorporate changes, it is impossible for
-me to update the project file.)
-<p>
-Precompiled versions of the collector for NetBSD are available
-<a href="ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/devel/boehm-gc/README.html">here</a>
-or
-<a href="http://www.netbsd.org/packages/devel/boehm-gc/README.html">here</a>.
-</p><p>
-<a href="http://www.debian.org/">Debian Linux</a> includes prepackaged
-versions of the collector.
-</p><h2><a name="multiprocessors">Scalable multiprocessor versions</a></h2>
-Kenjiro Taura, Toshio Endo, and Akinori Yonezawa have made available
-a <a href="http://www.yl.is.s.u-tokyo.ac.jp/gc/">parallel collector</a>
-based on this one.  Their collector takes advantage of multiple processors
-during a collection.  Starting with collector version 6.0alpha1
-we also do this, though with more modest processor scalability goals.
-Our approach is discussed briefly in
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/scale.html"><tt>scale.html</tt></a>.
-<h2><a name="details">Some Collector Details</a></h2>
-The collector uses a <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html">mark-sweep</a> algorithm.
-It provides incremental and generational
-collection under operating systems which provide the right kind of
-virtual memory support.  (Currently this includes SunOS[45], IRIX,
-OSF/1, Linux, and Windows, with varying restrictions.)
-It allows <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/finalization.html"><i>finalization</i></a> code
-to be invoked when an object is collected.
-It can take advantage of type information to locate pointers if such
-information is provided, but it is usually used without such information.
-ee the README and
-<tt>gc.h</tt> files in the distribution for more details.
-<p>
-For an overview of the implementation, see <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcdescr.html">here</a>.
-</p><p>
-The garbage collector distribution includes a C string
-(<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/cordh.txt"><i>cord</i></a>) package that provides
-for fast concatenation and substring operations on long strings.
-A simple curses- and win32-based editor that represents the entire file
-as a cord is included as a
-sample application.
-</p><p>
-Performance of the nonincremental collector is typically competitive
-with malloc/free implementations.  Both space and time overhead are
-likely to be only slightly higher
-for programs written for malloc/free
-(see Detlefs, Dosser and Zorn's
-<a href="ftp://ftp.cs.colorado.edu/pub/techreports/zorn/CU-CS-665-93.ps.Z">Memory Allocation Costs in Large C and C++ Programs</a>.)
-For programs allocating primarily very small objects, the collector
-may be faster; for programs allocating primarily large objects it will
-be slower.  If the collector is used in a multithreaded environment
-and configured for thread-local allocation, it may in some cases
-significantly outperform malloc/free allocation in time.
-</p><p>
-We also expect that in many cases any additional overhead
-will be more than compensated for by decreased copying etc.
-if programs are written
-and tuned for garbage collection.
-</p><h1><a name="further">Further Reading:</a></h1>
-<b>The beginnings of a frequently asked questions list for this
-collector are <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/faq.html">here</a></b>.
-<p>
-<b>The following provide information on garbage collection in general</b>:
-</p><p>
-Paul Wilson's <a href="ftp://ftp.cs.utexas.edu/pub/garbage">garbage collection ftp archive</a> and <a href="ftp://ftp.cs.utexas.edu/pub/garbage/gcsurvey.ps">GC survey</a>.
-</p><p>
-The Ravenbrook <a href="http://www.memorymanagement.org/">
-Memory Management Reference</a>.
-</p><p>
-David Chase's
-<a href="http://www.iecc.com/gclist/GC-faq.html">GC FAQ</a>.
-</p><p>
-Richard Jones'
-<a href="http://www.ukc.ac.uk/computer_science/Html/Jones/gc.html">
-GC page</a> and
-<a href="http://www.cs.kent.ac.uk/people/staff/rej/gcbook/gcbook.html">
-his book</a>.
-</p><p>
-<b>The following papers describe the collector algorithms we use
-and the underlying design decisions at
-a higher level.</b>
-</p><p>
-(Some of the lower level details can be found
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcdescr.html">here</a>.)
-</p><p>
-The first one is not available
-electronically due to copyright considerations.  Most of the others are
-subject to ACM copyright.
-</p><p>
-Boehm, H., "Dynamic Memory Allocation and Garbage Collection", <i>Computers in Physics
-9</i>, 3, May/June 1995, pp. 297-303.  This is directed at an otherwise sophisticated
-audience unfamiliar with memory allocation issues.  The algorithmic details differ
-from those in the implementation.  There is a related letter to the editor and a minor
-correction in the next issue.
-</p><p>
-Boehm, H., and <a href="http://www.ubiq.com/hypertext/weiser/weiser.html">M. Weiser</a>,
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/spe_gc_paper">"Garbage Collection in an Uncooperative Environment"</a>,
-<i>Software Practice & Experience</i>, September 1988, pp. 807-820.
-</p><p>
-Boehm, H., A. Demers, and S. Shenker, <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/papers/pldi91.ps.Z">"Mostly Parallel Garbage Collection"</a>, Proceedings
-of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation,
-<i>SIGPLAN Notices 26</i>, 6 (June 1991), pp. 157-164.
-</p><p>
-Boehm, H., <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/papers/pldi93.ps.Z">"Space Efficient Conservative Garbage Collection"</a>, Proceedings of the ACM
-SIGPLAN '93 Conference on Programming Language Design and Implementation, <i>SIGPLAN
-Notices 28</i>, 6 (June 1993), pp. 197-206.
-</p><p>
-Boehm, H., "Reducing Garbage Collector Cache Misses",
-<i> Proceedings of the 2000 International Symposium on Memory Management </i>.
-<a href="http://portal.acm.org/citation.cfm?doid=362422.362438">
-Official version.</a>
-<a href="http://www.hpl.hp.com/techreports/2000/HPL-2000-99.html">
-Technical report version.</a>  Describes the prefetch strategy
-incorporated into the collector for some platforms.  Explains why
-the sweep phase of a "mark-sweep" collector should not really be
-a distinct phase.
-</p><p>
-M. Serrano, H. Boehm,
-"Understanding Memory Allocation of Scheme Programs",
-<i>Proceedings of the Fifth ACM SIGPLAN International Conference on
-Functional Programming</i>, 2000, Montreal, Canada, pp. 245-256.
-<a href="http://www.acm.org/pubs/citations/proceedings/fp/351240/p245-serrano/">
-Official version.</a>
-<a href="http://www.hpl.hp.com/techreports/2000/HPL-2000-62.html">
-Earlier Technical Report version.</a>  Includes some discussion of the
-collector debugging facilities for identifying causes of memory retention.
-</p><p>
-Boehm, H.,
-"Fast Multiprocessor Memory Allocation and Garbage Collection",
-<a href="http://www.hpl.hp.com/techreports/2000/HPL-2000-165.html">
-HP Labs Technical Report HPL 2000-165</a>.  Discusses the parallel
-collection algorithms, and presents some performance results.
-</p><p>
-Boehm, H., "Bounding Space Usage of Conservative Garbage Collectors",
-<i>Proceeedings of the 2002 ACM SIGPLAN-SIGACT Symposium on Principles of
-Programming Languages</i>, Jan. 2002, pp. 93-100.
-<a href="http://portal.acm.org/citation.cfm?doid=503272.503282">
-Official version.</a>
-<a href="http://www.hpl.hp.com/techreports/2001/HPL-2001-251.html">
-Technical report version.</a>
-Includes a discussion of a collector facility to much more reliably test for
-the potential of unbounded heap growth.
-</p><p>
-<b>The following papers discuss language and compiler restrictions necessary to guaranteed
-safety of conservative garbage collection.</b>
-</p><p>
-We thank John Levine and JCLT for allowing
-us to make the second paper available electronically, and providing PostScript for the final
-version.
-</p><p>
-Boehm, H., <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/papers/pldi96.ps.gz">``Simple
-Garbage-Collector-Safety''</a>, Proceedings
-of the ACM SIGPLAN '96 Conference on Programming Language Design
-and Implementation.
-</p><p>
-Boehm, H., and D. Chase,  <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/papers/boecha.ps.gz">
-``A Proposal for Garbage-Collector-Safe C Compilation''</a>,
-<i>Journal of C  Language Translation 4</i>, 2 (Decemeber 1992), pp. 126-141.
-</p><p>
-<b>Other related information: </b>
-</p><p>
-The Detlefs, Dosser and Zorn's <a href="ftp://ftp.cs.colorado.edu/pub/techreports/zorn/CU-CS-665-93.ps.Z">Memory Allocation Costs in Large C and C++ Programs</a>.
- This is a performance comparison of the Boehm-Demers-Weiser collector to malloc/free,
-using programs written for malloc/free.
-</p><p>
-Joel Bartlett's <a href="ftp://ftp.digital.com/pub/DEC/CCgc">mostly copying conservative garbage collector for C++</a>.
-</p><p>
-John Ellis and David Detlef's <a href="ftp://parcftp.xerox.com/pub/ellis/gc/gc.ps">Safe Efficient Garbage Collection for C++</a> proposal.
-</p><p>
-Henry Baker's <a href="http://home.pipeline.com/%7Ehbaker1/">paper collection</a>.
-</p><p>
-Slides for Hans Boehm's <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/myths.ps">Allocation and GC Myths</a> talk.
-</p><h1><a name="users">Current users:</a></h1>
-Known current users of some variant of this collector include:
-<p>
-The runtime system for <a href="http://gcc.gnu.org/java">GCJ</a>,
-the static GNU java compiler.
-</p><p>
-<a href="http://w3m.sourceforge.net/">W3m</a>, a text-based web browser.
-</p><p>
-Some versions of the Xerox DocuPrint printer software.
-</p><p>
-The <a href="http://www.mozilla.org/">Mozilla</a> project, as leak
-detector.
-</p><p>
-The <a href="http://www.go-mono.com/">Mono</a> project,
-an open source implementation of the .NET development framework.
-</p><p>
-The <a href="http://www.gnu.org/projects/dotgnu/">DotGNU Portable.NET
-project</a>, another open source .NET implementation.
-</p><p>
-The <a href="http://irssi.org/">Irssi IRC client</a>.
-</p><p>
-<a href="http://titanium.cs.berkeley.edu/">The Berkeley Titanium project</a>.
-</p><p>
-<a href="http://www.nag.co.uk/nagware_fortran_compilers.asp">The NAGWare f90 Fortran 90 compiler</a>.
-</p><p>
-Elwood Corporation's <a href="http://www.elwood.com/eclipse-info/index.htm">
-Eclipse</a> Common Lisp system, C library, and translator.
-</p><p>
-The <a href="http://www-sop.inria.fr/mimosa/fp/Bigloo/">Bigloo
-Scheme</a>
-and <a href="http://kaolin.unice.fr/%7Eserrano/camloo.html">Camloo ML
-compilers</a>
-written by Manuel Serrano and others.
-</p><p>
-Brent Benson's <a href="http://ftp.cs.indiana.edu/pub/scheme-repository/imp/">libscheme</a>.
-</p><p>
-The <a href="http://www.cs.rice.edu/CS/PLT/packages/mzscheme/index.html">MzScheme</a> scheme implementation.
-</p><p>
-The <a href="http://www.cs.washington.edu/research/projects/cecil/www/cecil-home.html">University of Washington Cecil Implementation</a>.
-</p><p>
-<a href="http://www.icsi.berkeley.edu/Sather/">The Berkeley Sather implementation</a>.
-</p><p>
-<a href="http://www.cs.berkeley.edu/%7Eharmonia/">The Berkeley Harmonia Project</a>.
-</p><p>
-The <a href="http://www.cs.arizona.edu/sumatra/toba/">Toba</a> Java Virtual
-Machine to C translator.
-</p><p>
-The <a href="http://www.gwydiondylan.org/">Gwydion Dylan compiler</a>.
-</p><p>
-The <a href="http://gcc.gnu.org/onlinedocs/gcc/Objective-C.html">
-GNU Objective C runtime</a>.
-</p><p>
-<a href="http://www.math.uiuc.edu/Macaulay2">Macaulay 2</a>, a system to support
-research in algebraic geometry and commutative algebra.
-</p><p>
-The <a href="http://www.vestasys.org/">Vesta</a> configuration management
-system.
-</p><p>
-<a href="http://www.visual-prolog.com/vip6">Visual Prolog 6</a>.
-</p><p>
-<a href="http://asymptote.sf.net/">Asymptote LaTeX-compatible
-vector graphics language.</a>
-
-</p><h1><a name="collector">More collector information at this site</a></h1>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/simple_example.html">A simple illustration of how to build and
-use the collector.</a>.
-<p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html">Description of alternate interfaces to the
-garbage collector.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/04tutorial.pdf">Slides from an ISMM 2004  tutorial about the GC.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/faq.html">A FAQ (frequently asked questions) list.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/leak.html">How to use the garbage collector as a leak detector.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/debugging.html">Some hints on debugging garbage collected
-applications.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcdescr.html">An overview of the implementation of the
-garbage collector.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/tree.html">The data structure used for fast pointer lookups.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/scale.html">Scalability of the collector to multiprocessors.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source">Directory containing garbage collector source.</a>
-
-</p><h1><a name="background">More background information at this site</a></h1>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/bounds.html">An attempt to establish a bound on space usage of
-conservative garbage collectors.</a>
-<p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html">Mark-sweep versus copying garbage collectors
-and their complexity.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/conservative.html">Pros and cons of conservative garbage collectors,
-in comparison to other collectors.
-</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html">Issues related to garbage collection vs.
-manual memory management in C/C++.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/example.html">An example of a case in which garbage collection
-results in a much faster implementation as a result of reduced
-synchronization.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/nonmoving">Slide set discussing performance of nonmoving
-garbage collectors.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/popl03/web">
-Slide set discussing <i>Destructors, Finalizers, and Synchronization</i>
-(POPL 2003).</a>
-</p><p>
-<a href="http://portal.acm.org/citation.cfm?doid=604131.604153">
-Paper corresponding to above slide set.</a>
-(<a href="http://www.hpl.hp.com/techreports/2002/HPL-2002-335.html">
-Technical Report version</a>.)
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_bench.html">A Java/Scheme/C/C++ garbage collection benchmark.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/myths.ps">Slides for talk on memory allocation myths.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gctalk.ps">Slides for OOPSLA 98 garbage collection talk.</a>
-</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/papers">Related papers.</a>
-</p><h1><a name="contacts">Contacts and Mailing List</a><a></a></h1>
-<a>We have recently set up two mailing list for collector announcements
-and discussions:
-</a><ul>
-<li><a href="mailto:gc-announce at linux.hpl.hp.com">gc-announce at linux.hpl.hp.com</a>
-is used for announcements of new versions.  Postings are restricted.
-We expect this to always remain a very low volume list.
-</li><li><a href="mailto:gc at linux.hpl.hp.com">gc at linux.hpl.hp.com</a> is used for
-discussions, bug reports, and the like.  Subscribers may post.
-On-topic posts by nonsubscribers will usually also be accepted, but
-it may take some time to review them.
-</li></ul>
-To subscribe to these lists, send a mail message containing the
-word "subscribe" to
-<a href="mailto:gc-announce-request at linux.hpl.hp.com?subject=subscribe">gc-announce-request at linux.hpl.hp.com</a>
-or to
-<a href="mailto:gc-request at linux.hpl.hp.com?subject=subscribe">gc-request at linux.hpl.hp.com</a>.
-(Please ignore the instructions about web-based subscription.
-The listed web site is behind the HP firewall.)
-<p>
-The archives for these lists appear
-<a href="http://www.hpl.hp.com/hosted/linux/mail-archives">here</a>.
-The gc list archive may also be read at
-<a href="http://dir.gmane.org/gmane.comp.programming.garbage-collection.boehmgc">gmane.org</a>.
-</p><p>
-Some prior discussion of the collector has taken place on the gcc
-java mailing list, whose archives appear
-<a href="http://gcc.gnu.org/ml/java/">here</a>, and also on
-<a href="http://lists.tunes.org/mailman/listinfo/gclist">gclist at iecc.com</a>.
-</p><p>
-Comments and bug reports may also be sent to
-(<a href="mailto:Hans_Boehm at hp.com">Hans.Boehm at hp.com</a>) or
-(<a href="mailto:boehm at acm.org">boehm at acm.org</a>), but the gc
-mailing list is usually preferred.
- 
-</p></body></html>
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/porting.html b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/porting.html
deleted file mode 100755
index 339e60b..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/porting.html
+++ /dev/null
@@ -1,333 +0,0 @@
-<HTML>
-<HEAD>
-    <TITLE>Conservative GC Porting Directions</TITLE>
-</HEAD>
-<BODY>
-<H1>Conservative GC Porting Directions</h1>
-The collector is designed to be relatively easy to port, but is not
-portable code per se.  The collector inherently has to perform operations,
-such as scanning the stack(s), that are not possible in portable C code.
-<P>
-All of the following assumes that the collector is being ported to a
-byte-addressable 32- or 64-bit machine.  Currently all successful ports
-to 64-bit machines involve LP64 targets.  The code base includes some
-provisions for P64 targets (notably win64), but that has not been tested.
-You are hereby discouraged from attempting a port to non-byte-addressable,
-or 8-bit, or 16-bit machines.
-<P>
-The difficulty of porting the collector varies greatly depending on the needed
-functionality.  In the simplest case, only some small additions are needed
-for the <TT>include/private/gcconfig.h</tt> file.  This is described in the
-following section.  Later sections discuss some of the optional features,
-which typically involve more porting effort.
-<P>
-Note that the collector makes heavy use of <TT>ifdef</tt>s.  Unlike
-some other software projects, we have concluded repeatedly that this is preferable
-to system dependent files, with code duplicated between the files.
-However, to keep this manageable, we do strongly believe in indenting
-<TT>ifdef</tt>s correctly (for historical reasons usually without the leading
-sharp sign).  (Separate source files are of course fine if they don't result in
-code duplication.)
-<H2>Adding Platforms to <TT>gcconfig.h</tt></h2>
-If neither thread support, nor tracing of dynamic library data is required,
-these are often the only changes you will need to make.
-<P>
-The <TT>gcconfig.h</tt> file consists of three sections:
-<OL>
-<LI> A section that defines GC-internal macros
-that identify the architecture (e.g. <TT>IA64</tt> or <TT>I386</tt>)
-and operating system (e.g. <TT>LINUX</tt> or <TT>MSWIN32</tt>).
-This is usually done by testing predefined macros.  By defining
-our own macros instead of using the predefined ones directly, we can
-impose a bit more consistency, and somewhat isolate ourselves from
-compiler differences.
-<P>
-It is relatively straightforward to add a new entry here.  But please try
-to be consistent with the existing code.  In particular, 64-bit variants
-of 32-bit architectures general are <I>not</i> treated as a new architecture.
-Instead we explicitly test for 64-bit-ness in the few places in which it
-matters.  (The notable exception here is <TT>I386</tt> and <TT>X86_64</tt>.
-This is partially historical, and partially justified by the fact that there
-are arguably more substantial architecture and ABI differences here than
-for RISC variants.)
-<P>
-on GNU-based systems, <TT>cpp -dM empty_source_file.c</tt> seems to generate
-a set of predefined macros.  On some other systems, the "verbose"
-compiler option may do so, or the manual page may list them.
-<LI>
-A section that defines a small number of platform-specific macros, which are
-then used directly by the collector.  For simple ports, this is where most of
-the effort is required.  We describe the macros below.
-<P>
-This section contains a subsection for each architecture (enclosed in a
-suitable <TT>ifdef</tt>.  Each subsection usually contains some
-architecture-dependent defines, followed by several sets of OS-dependent
-defines, again enclosed in <TT>ifdef</tt>s.
-<LI>
-A section that fills in defaults for some macros left undefined in the preceding
-section, and defines some other macros that rarely need adjustment for
-new platforms.  You will typically not have to touch these.
-If you are porting to an OS that
-was previously completely unsupported, it is likely that you will
-need to add another clause to the definition of <TT>GET_MEM</tt>.
-</ol>
-The following macros must be defined correctly for each architecture and operating
-system:
-<DL>
-<DT><TT>MACH_TYPE</tt>
-<DD>
-Defined to a string that represents the machine architecture.  Usually
-just the macro name used to identify the architecture, but enclosed in quotes.
-<DT><TT>OS_TYPE</tt>
-<DD>
-Defined to a string that represents the operating system name.  Usually
-just the macro name used to identify the operating system, but enclosed in quotes.
-<DT><TT>CPP_WORDSZ</tt>
-<DD>
-The word size in bits as a constant suitable for preprocessor tests,
-i.e. without casts or sizeof expressions.  Currently always defined as
-either 64 or 32.  For platforms supporting both 32- and 64-bit ABIs,
-this should be conditionally defined depending on the current ABI.
-There is a default of 32.
-<DT><TT>ALIGNMENT</tt>
-<DD>
-Defined to be the largest <TT>N</tt>, such that
-all pointer are guaranteed to be aligned on <TT>N</tt>-byte boundaries.
-defining it to be 1 will always work, but perform poorly.
-For all modern 32-bit platforms, this is 4.  For all modern 64-bit
-platforms, this is 8.  Whether or not X86 qualifies as a modern
-architecture here is compiler- and OS-dependent.
-<DT><TT>DATASTART</tt>
-<DD>
-The beginning of the main data segment.  The collector will trace all
-memory between <TT>DATASTART</tt> and <TT>DATAEND</tt> for root pointers.
-On some platforms,this can be defined to a constant address,
-though experience has shown that to be risky.  Ideally the linker will
-define a symbol (e.g. <TT>_data</tt> whose address is the beginning
-of the data segment.  Sometimes the value can be computed using
-the <TT>GC_SysVGetDataStart</tt> function.  Not used if either
-the next macro is defined, or if dynamic loading is supported, and the
-dynamic loading support defines a function
-<TT>GC_register_main_static_data()</tt> which returns false.
-<DT><TT>SEARCH_FOR_DATA_START</tt>
-<DD>
-If this is defined <TT>DATASTART</tt> will be defined to a dynamically
-computed value which is obtained by starting with the address of
-<TT>_end</tt> and walking backwards until non-addressable memory is found.
-This often works on Posix-like platforms.  It makes it harder to debug
-client programs, since startup involves generating and catching a
-segmentation fault, which tends to confuse users.
-<DT><TT>DATAEND</tt>
-<DD>
-Set to the end of the main data segment.  Defaults to <TT>end</tt>,
-where that is declared as an array.  This works in some cases, since
-the linker introduces a suitable symbol.
-<DT><TT>DATASTART2, DATAEND2</tt>
-<DD>
-Some platforms have two discontiguous main data segments, e.g.
-for initialized and uninitialized data.  If so, these two macros
-should be defined to the limits of the second main data segment.
-<DT><TT>STACK_GROWS_UP</tt>
-<DD>
-Should be defined if the stack (or thread stacks) grow towards higher
-addresses.  (This appears to be true only on PA-RISC.  If your architecture
-has more than one stack per thread, and is not already supported, you will
-need to do more work.  Grep for "IA64" in the source for an example.)
-<DT><TT>STACKBOTTOM</tt>
-<DD>
-Defined to be the cool end of the stack, which is usually the
-highest address in the stack.  It must bound the region of the
-stack that contains pointers into the GC heap.  With thread support,
-this must be the cold end of the main stack, which typically
-cannot be found in the same way as the other thread stacks.
-If this is not defined and none of the following three macros
-is defined, client code must explicitly set
-<TT>GC_stackbottom</tt> to an appropriate value before calling
-<TT>GC_INIT()</tt> or any other <TT>GC_</tt> routine.
-<DT><TT>LINUX_STACKBOTTOM</tt>
-<DD>
-May be defined instead of <TT>STACKBOTTOM</tt>.
-If defined, then the cold end of the stack will be determined
-Currently we usually read it from /proc.
-<DT><TT>HEURISTIC1</tt>
-<DD>
-May be defined instead of <TT>STACKBOTTOM</tt>.
-<TT>STACK_GRAN</tt> should generally also be undefined and defined.
-The cold end of the stack is determined by taking an address inside
-<TT>GC_init's frame</tt>, and rounding it up to
-the next multiple of <TT>STACK_GRAN</tt>.  This works well if the stack base is
-always aligned to a large power of two.
-(<TT>STACK_GRAN</tt> is predefined to 0x1000000, which is
-rarely optimal.)
-<DT><TT>HEURISTIC2</tt>
-<DD>
-May be defined instead of <TT>STACKBOTTOM</tt>.
-The cold end of the stack is determined by taking an address inside
-GC_init's frame, incrementing it repeatedly
-in small steps (decrement if <TT>STACK_GROWS_UP</tt>), and reading the value
-at each location.  We remember the value when the first
-Segmentation violation or Bus error is signalled, round that
-to the nearest plausible page boundary, and use that as the
-stack base.
-<DT><TT>DYNAMIC_LOADING</tt>
-<DD>
-Should be defined if <TT>dyn_load.c</tt> has been updated for this
-platform and tracing of dynamic library roots is supported.
-<DT><TT>MPROTECT_VDB, PROC_VDB</tt>
-<DD>
-May be defined if the corresponding "virtual dirty bit"
-implementation in os_dep.c is usable on this platform.  This
-allows incremental/generational garbage collection.
-<TT>MPROTECT_VDB</tt> identifies modified pages by
-write protecting the heap and catching faults.
-<TT>PROC_VDB</tt> uses the /proc primitives to read dirty bits.
-<DT><TT>PREFETCH, PREFETCH_FOR_WRITE</tt>
-<DD>
-The collector uses <TT>PREFETCH</tt>(<I>x</i>) to preload the cache
-with *<I>x</i>.
-This defaults to a no-op.
-<DT><TT>CLEAR_DOUBLE</tt>
-<DD>
-If <TT>CLEAR_DOUBLE</tt> is defined, then
-<TT>CLEAR_DOUBLE</tt>(x) is used as a fast way to
-clear the two words at GC_malloc-aligned address x.  By default,
-word stores of 0 are used instead.
-<DT><TT>HEAP_START</tt>
-<DD>
-<TT>HEAP_START</tt> may be defined as the initial address hint for mmap-based
-allocation.
-<DT><TT>ALIGN_DOUBLE</tt>
-<DD>
-Should be defined if the architecture requires double-word alignment
-of <TT>GC_malloc</tt>ed memory, e.g. 8-byte alignment with a
-32-bit ABI.  Most modern machines are likely to require this.
-This is no longer needed for GC7 and later.
-</dl>
-<H2>Additional requirements for a basic port</h2>
-In some cases, you may have to add additional platform-specific code
-to other files.  A likely candidate is the implementation of
-<TT>GC_with_callee_saves_pushed</tt> in </tt>mach_dep.c</tt>.
-This ensure that register contents that the collector must trace
-from are copied to the stack.  Typically this can be done portably,
-but on some platforms it may require assembly code, or just
-tweaking of conditional compilation tests.
-<P>
-For GC7, if your platform supports <TT>getcontext()</tt>, then definining
-the macro <TT>UNIX_LIKE</tt> for your OS in <TT>gcconfig.h</tt>
-(if it isn't defined there already) is likely to solve the problem.
-otherwise, if you are using gcc, <TT>_builtin_unwind_init()</tt>
-will be used, and should work fine.  If that is not applicable either,
-the implementation will try to use <TT>setjmp()</tt>.  This will work if your
-<TT>setjmp</tt> implementation saves all possibly pointer-valued registers
-into the buffer, as opposed to trying to unwind the stack at
-<TT>longjmp</tt> time.  The <TT>setjmp_test</tt> test tries to determine this,
-but often doesn't get it right.
-<P>
-In GC6.x versions of the collector, tracing of registers
-was more commonly handled
-with assembly code.  In GC7, this is generally to be avoided.
-<P>
-Most commonly <TT>os_dep.c</tt> will not require attention, but see below.
-<H2>Thread support</h2>
-Supporting threads requires that the collector be able to find and suspend
-all threads potentially accessing the garbage-collected heap, and locate
-any state associated with each thread that must be traced.
-<P>
-The functionality needed for thread support is generally implemented
-in one or more files specific to the particular thread interface.
-For example, somewhat portable pthread support is implemented
-in <TT>pthread_support.c</tt> and <TT>pthread_stop_world.c</tt>.
-The essential functionality consists of
-<DL>
-<DT><TT>GC_stop_world()</tt>
-<DD>
-Stops all threads which may access the garbage collected heap, other
-than the caller.
-<DT><TT>GC_start_world()</tt>
-<DD>
-Restart other threads.
-<DT><TT>GC_push_all_stacks()</tt>
-<DD>
-Push the contents of all thread stacks (or at least of pointer-containing
-regions in the thread stacks) onto the mark stack.
-</dl>
-These very often require that the garbage collector maintain its
-own data structures to track active threads.
-<P>
-In addition, <TT>LOCK</tt> and <TT>UNLOCK</tt> must be implemented
-in <TT>gc_locks.h</tt>
-<P>
-The easiest case is probably a new pthreads platform
-on which threads can be stopped
-with signals.  In this case, the changes involve:
-<OL>
-<LI>Introducing a suitable <TT>GC_</tt><I>X</i><TT>_THREADS</tt> macro, which should
-be automatically defined by <TT>gc_config_macros.h</tt> in the right cases.
-It should also result in a definition of <TT>GC_PTHREADS</tt>, as for the
-existing cases.
-<LI>For GC7+, ensuring that the <TT>atomic_ops</tt> package at least
-minimally supports the platform.
-If incremental GC is needed, or if pthread locks don't
-perform adequately as the allocation lock, you will probably need to
-ensure that a sufficient <TT>atomic_ops</tt> port
-exists for the platform to provided an atomic test and set
-operation.  (Current GC7 versions require more<TT>atomic_ops</tt>
-asupport than necessary.  This is a bug.)  For earlier versions define
-<TT>GC_test_and_set</tt> in <TT>gc_locks.h</tt>.
-<LI>Making any needed adjustments to <TT>pthread_stop_world.c</tt> and
-<TT>pthread_support.c</tt>.  Ideally none should be needed.  In fact,
-not all of this is as well standardized as one would like, and outright
-bugs requiring workarounds are common.
-</ol>
-Non-preemptive threads packages will probably require further work.  Similarly
-thread-local allocation and parallel marking requires further work
-in <TT>pthread_support.c</tt>, and may require better <TT>atomic_ops</tt>
-support.
-<H2>Dynamic library support</h2>
-So long as <TT>DATASTART</tt> and <TT>DATAEND</tt> are defined correctly,
-the collector will trace memory reachable from file scope or <TT>static</tt>
-variables defined as part of the main executable.  This is sufficient
-if either the program is statically linked, or if pointers to the
-garbage-collected heap are never stored in non-stack variables
-defined in dynamic libraries.
-<P>
-If dynamic library data sections must also be traced, then
-<UL>
-<LI><TT>DYNAMIC_LOADING</tt> must be defined in the appropriate section
-of <TT>gcconfig.h</tt>.
-<LI>An appropriate versions of the functions
-<TT>GC_register_dynamic_libraries()</tt> should be defined in
-<TT>dyn_load.c</tt>.  This function should invoke
-<TT>GC_cond_add_roots(</tt><I>region_start, region_end</i><TT>, TRUE)</tt>
-on each dynamic library data section.
-</ul>
-<P>
-Implementations that scan for writable data segments are error prone, particularly
-in the presence of threads.  They frequently result in race conditions
-when threads exit and stacks disappear.  They may also accidentally trace
-large regions of graphics memory, or mapped files.  On at least
-one occasion they have been known to try to trace device memory that
-could not safely be read in the manner the GC wanted to read it.
-<P>
-It is usually safer to walk the dynamic linker data structure, especially
-if the linker exports an interface to do so.  But beware of poorly documented
-locking behavior in this case.
-<H2>Incremental GC support</h2>
-For incremental and generational collection to work, <TT>os_dep.c</tt>
-must contain a suitable "virtual dirty bit" implementation, which
-allows the collector to track which heap pages (assumed to be
-a multiple of the collectors block size) have been written during
-a certain time interval.  The collector provides several
-implementations, which might be adapted.  The default
-(<TT>DEFAULT_VDB</tt>) is a placeholder which treats all pages
-as having been written.  This ensures correctness, but renders
-incremental and generational collection essentially useless.
-<H2>Stack traces for debug support</h2>
-If stack traces in objects are need for debug support,
-<TT>GC_dave_callers</tt> and <TT>GC_print_callers</tt> must be
-implemented.
-<H2>Disclaimer</h2>
-This is an initial pass at porting guidelines.  Some things
-have no doubt been overlooked.
-</body>
-</html>
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/scale.html b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/scale.html
deleted file mode 100755
index 92ff0d8..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/scale.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Garbage collector scalability</TITLE>
-</HEAD>
-<BODY>
-<H1>Garbage collector scalability</h1>
-In its default configuration, the Boehm-Demers-Weiser garbage collector
-is not thread-safe.  It can be made thread-safe for a number of environments
-by building the collector with the appropriate
-<TT>-D</tt><I>XXX</i><TT>-THREADS</tt> compilation
-flag.  This has primarily two effects:
-<OL>
-<LI> It causes the garbage collector to stop all other threads when
-it needs to see a consistent memory state.
-<LI> It causes the collector to acquire a lock around essentially all
-allocation and garbage collection activity.
-</ol>
-Since a single lock is used for all allocation-related activity, only one
-thread can be allocating or collecting at one point.  This inherently
-limits performance of multi-threaded applications on multiprocessors.
-<P>
-On most platforms, the allocator/collector lock is implemented as a
-spin lock with exponential back-off.  Longer wait times are implemented
-by yielding and/or sleeping.  If a collection is in progress, the pure
-spinning stage is skipped.  This has the advantage that uncontested and
-thus most uniprocessor lock acquisitions are very cheap.  It has the
-disadvantage that the application may sleep for small periods of time
-even when there is work to be done.  And threads may be unnecessarily
-woken up for short periods.  Nonetheless, this scheme empirically
-outperforms native queue-based mutual exclusion implementations in most
-cases, sometimes drastically so.
-<H2>Options for enhanced scalability</h2>
-Version 6.0 of the collector adds two facilities to enhance collector
-scalability on multiprocessors.  As of 6.0alpha1, these are supported 
-only under Linux on X86 and IA64 processors, though ports to other
-otherwise supported Pthreads platforms should be straightforward.
-They are intended to be used together.
-<UL>
-<LI>
-Building the collector with <TT>-DPARALLEL_MARK</tt> allows the collector to
-run the mark phase in parallel in multiple threads, and thus on multiple
-processors.  The mark phase typically consumes the large majority of the
-collection time.  Thus this largely parallelizes the garbage collector
-itself, though not the allocation process.  Currently the marking is
-performed by the thread that triggered the collection, together with
-<I>N</i>-1 dedicated
-threads, where <I>N</i> is the number of processors detected by the collector.
-The dedicated threads are created once at initialization time.
-<P>
-A second effect of this flag is to switch to a more concurrent
-implementation of <TT>GC_malloc_many</tt>, so that free lists can be
-built, and memory can be cleared, by more than one thread concurrently.
-<LI>
-Building the collector with -DTHREAD_LOCAL_ALLOC adds support for thread
-local allocation.  It does not, by itself, cause thread local allocation
-to be used.  It simply allows the use of the interface in 
-<TT>gc_local_alloc.h</tt>.
-<P>
-Memory returned from thread-local allocators is completely interchangeable
-with that returned by the standard allocators.  It may be used by other
-threads.  The only difference is that, if the thread allocates enough
-memory of a certain kind, it will build a thread-local free list for
-objects of that kind, and allocate from that.  This greatly reduces
-locking.  The thread-local free lists are refilled using 
-<TT>GC_malloc_many</tt>.
-<P>
-An important side effect of this flag is to replace the default
-spin-then-sleep lock to be replace by a spin-then-queue based implementation.
-This <I>reduces performance</i> for the standard allocation functions,
-though it usually improves performance when thread-local allocation is
-used heavily, and thus the number of short-duration lock acquisitions
-is greatly reduced.
-</ul>
-<P>
-The easiest way to switch an application to thread-local allocation is to
-<OL>
-<LI> Define the macro <TT>GC_REDIRECT_TO_LOCAL</tt>,
-and then include the <TT>gc.h</tt>
-header in each client source file.
-<LI> Invoke <TT>GC_thr_init()</tt> before any allocation.
-<LI> Allocate using <TT>GC_MALLOC</tt>, <TT>GC_MALLOC_ATOMIC</tt>,
-and/or <TT>GC_GCJ_MALLOC</tt>.
-</ol>
-<H2>The Parallel Marking Algorithm</h2>
-We use an algorithm similar to
-<A HREF="http://www.yl.is.s.u-tokyo.ac.jp/gc/">that developed by
-Endo, Taura, and Yonezawa</a> at the University of Tokyo.
-However, the data structures and implementation are different,
-and represent a smaller change to the original collector source,
-probably at the expense of extreme scalability.  Some of
-the refinements they suggest, <I>e.g.</i> splitting large
-objects, were also incorporated into out approach.
-<P>
-The global mark stack is transformed into a global work queue.
-Unlike the usual case, it never shrinks during a mark phase.
-The mark threads remove objects from the queue by copying them to a
-local mark stack and changing the global descriptor to zero, indicating
-that there is no more work to be done for this entry.
-This removal
-is done with no synchronization.  Thus it is possible for more than
-one worker to remove the same entry, resulting in some work duplication.
-<P>
-The global work queue grows only if a marker thread decides to
-return some of its local mark stack to the global one.  This
-is done if the global queue appears to be running low, or if
-the local stack is in danger of overflowing.  It does require
-synchronization, but should be relatively rare.
-<P>
-The sequential marking code is reused to process local mark stacks.
-Hence the amount of additional code required for parallel marking
-is minimal.
-<P>
-It should be possible to use generational collection in the presence of the
-parallel collector, by calling <TT>GC_enable_incremental()</tt>.
-This does not result in fully incremental collection, since parallel mark
-phases cannot currently be interrupted, and doing so may be too
-expensive.
-<P>
-Gcj-style mark descriptors do not currently mix with the combination
-of local allocation and incremental collection.  They should work correctly
-with one or the other, but not both.
-<P>
-The number of marker threads is set on startup to the number of
-available processors (or to the value of the <TT>GC_NPROCS</tt>
-environment variable).  If only a single processor is detected,
-parallel marking is disabled.
-<P>
-Note that setting GC_NPROCS to 1 also causes some lock acquisitions inside
-the collector to immediately yield the processor instead of busy waiting
-first.  In the case of a multiprocessor and a client with multiple
-simultaneously runnable threads, this may have disastrous performance
-consequences (e.g. a factor of 10 slowdown). 
-<H2>Performance</h2>
-We conducted some simple experiments with a version of
-<A HREF="gc_bench.html">our GC benchmark</a> that was slightly modified to
-run multiple concurrent client threads in the same address space.
-Each client thread does the same work as the original benchmark, but they share
-a heap.
-This benchmark involves very little work outside of memory allocation.
-This was run with GC 6.0alpha3 on a dual processor Pentium III/500 machine
-under Linux 2.2.12.
-<P>
-Running with a thread-unsafe collector,  the benchmark ran in 9
-seconds.  With the simple thread-safe collector,
-built with <TT>-DLINUX_THREADS</tt>, the execution time
-increased to 10.3 seconds, or 23.5 elapsed seconds with two clients.
-(The times for the <TT>malloc</tt>/i<TT>free</tt> version
-with glibc <TT>malloc</tt>
-are 10.51 (standard library, pthreads not linked),
-20.90 (one thread, pthreads linked),
-and 24.55 seconds respectively. The benchmark favors a
-garbage collector, since most objects are small.)
-<P>
-The following table gives execution times for the collector built
-with parallel marking and thread-local allocation support
-(<TT>-DGC_LINUX_THREADS -DPARALLEL_MARK -DTHREAD_LOCAL_ALLOC</tt>).  We tested
-the client using either one or two marker threads, and running
-one or two client threads.  Note that the client uses thread local
-allocation exclusively.  With -DTHREAD_LOCAL_ALLOC the collector
-switches to a locking strategy that is better tuned to less frequent
-lock acquisition.  The standard allocation primitives thus peform
-slightly worse than without -DTHREAD_LOCAL_ALLOC, and should be
-avoided in time-critical code.
-<P>
-(The results using <TT>pthread_mutex_lock</tt>
-directly for allocation locking would have been worse still, at
-least for older versions of linuxthreads.
-With THREAD_LOCAL_ALLOC, we first repeatedly try to acquire the
-lock with pthread_mutex_try_lock(), busy_waiting between attempts.
-After a fixed number of attempts, we use pthread_mutex_lock().)
-<P>
-These measurements do not use incremental collection, nor was prefetching
-enabled in the marker.  We used the C version of the benchmark.
-All measurements are in elapsed seconds on an unloaded machine.
-<P>
-<TABLE BORDER ALIGN="CENTER">
-<TR><TH>Number of threads</th><TH>1 marker thread (secs.)</th>
-<TH>2 marker threads (secs.)</th></tr>
-<TR><TD>1 client</td><TD ALIGN="CENTER">10.45</td><TD ALIGN="CENTER">7.85</td>
-<TR><TD>2 clients</td><TD ALIGN="CENTER">19.95</td><TD ALIGN="CENTER">12.3</td>
-</table>
-<PP>
-The execution time for the single threaded case is slightly worse than with
-simple locking.  However, even the single-threaded benchmark runs faster than
-even the thread-unsafe version if a second processor is available.
-The execution time for two clients with thread local allocation time is
-only 1.4 times the sequential execution time for a single thread in a
-thread-unsafe environment, even though it involves twice the client work.
-That represents close to a
-factor of 2 improvement over the 2 client case with the old collector.
-The old collector clearly
-still suffered from some contention overhead, in spite of the fact that the
-locking scheme had been fairly well tuned.
-<P>
-Full linear speedup (i.e. the same execution time for 1 client on one
-processor as 2 clients on 2 processors)
-is probably not achievable on this kind of
-hardware even with such a small number of processors,
-since the memory system is
-a major constraint for the garbage collector,
-the processors usually share a single memory bus, and thus
-the aggregate memory bandwidth does not increase in
-proportion to the number of processors. 
-<P>
-These results are likely to be very sensitive to both hardware and OS
-issues.  Preliminary experiments with an older Pentium Pro machine running
-an older kernel were far less encouraging.
-
-</body>
-</html>
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/simple_example.html b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/simple_example.html
deleted file mode 100755
index f75abbe..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/simple_example.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Using the Garbage Collector: A simple example</title>
-</head>
-<BODY>
-<H1>Using the Garbage Collector: A simple example</h1>
-The following consists of step-by-step instructions for building and
-using the collector.  We'll assume a Linux/gcc platform and
-a single-threaded application.  <FONT COLOR=green>The green
-text contains information about other platforms or scenarios.
-It can be skipped, especially on first reading</font>.
-<H2>Building the collector</h2>
-If you haven't already so, unpack the collector and enter
-the newly created directory with
-<PRE>
-tar xvfz gc<version>.tar.gz
-cd gc<version>
-</pre>
-<P>
-You can configure, build, and install the collector in a private
-directory, say /home/xyz/gc, with the following commands:
-<PRE>
-./configure --prefix=/home/xyz/gc --disable-threads
-make
-make check
-make install
-</pre>
-Here the "<TT>make check</tt>" command is optional, but highly recommended.
-It runs a basic correctness test which usually takes well under a minute.
-<FONT COLOR=green>
-<H3>Other platforms</h3>
-On non-Unix, non-Linux platforms, the collector is usually built by copying
-the appropriate makefile (see the platform-specific README in doc/README.xxx
-in the distribution) to the file "Makefile" (overwriting the copy of
-Makefile.direct that was originally there), and then typing "make"
-(or "nmake" or ...).  This builds the library in the source tree.  You may
-want to move it and the files in the include directory to a more convenient
-place.
-<P>
-If you use a makefile that does not require running a configure script,
-you should first look at the makefile, and adjust any options that are
-documented there.
-<P>
-If your platform provides a "make" utility, that is generally preferred
-to platform- and compiler- dependent "project" files.  (At least that is the
-strong preference of the would-be maintainer of those project files.)
-<H3>Threads</h3>
-If you need thread support, configure the collector with
-<PRE>
---enable-threads=posix --enable-thread-local-alloc --enable-parallel-mark
-</pre>
-instead of
-<TT>--disable-threads</tt>
-If your target is a real old-fashioned uniprocessor (no "hyperthreading",
-etc.) you will want to omit <TT>--enable-parallel-mark</tt>.
-<H3>C++</h3>
-You will need to include the C++ support, which unfortunately tends to
-be among the least portable parts of the collector, since it seems
-to rely on some corner cases of the language.  On Linux, it
-suffices to add <TT>--enable-cplusplus</tt> to the configure options.
-</font>
-<H2>Writing the program</h2>
-You will need a
-<PRE>
-#include "gc.h"
-</pre>
-at the beginning of every file that allocates memory through the
-garbage collector.  Call <TT>GC_MALLOC</tt> wherever you would
-have call <TT>malloc</tt>.  This initializes memory to zero like
-<TT>calloc</tt>; there is no need to explicitly clear the
-result.
-<P>
-If you know that an object will not contain pointers to the
-garbage-collected heap, and you don't need it to be initialized,
-call <TT>GC_MALLOC_ATOMIC</tt> instead.
-<P>
-A function <TT>GC_FREE</tt> is provided but need not be called.
-For very small objects, your program will probably perform better if
-you do not call it, and let the collector do its job.
-<P>
-A <TT>GC_REALLOC</tt> function behaves like the C library <TT>realloc</tt>.
-It allocates uninitialized pointer-free memory if the original
-object was allocated that way.
-<P>
-The following program <TT>loop.c</tt> is a trivial example:
-<PRE>
-#include "gc.h"
-#include <assert.h>
-#include <stdio.h>
-
-int main()
-{
-  int i;
-
-  GC_INIT();	/* Optional on Linux/X86; see below.  */
-  for (i = 0; i < 10000000; ++i)
-   {
-     int **p = (int **) GC_MALLOC(sizeof(int *));
-     int *q = (int *) GC_MALLOC_ATOMIC(sizeof(int));
-     assert(*p == 0);
-     *p = (int *) GC_REALLOC(q, 2 * sizeof(int));
-     if (i % 100000 == 0)
-       printf("Heap size = %d\n", GC_get_heap_size());
-   }
-  return 0;
-}
-</pre>
-<FONT COLOR=green>
-<H3>Interaction with the system malloc</h3>
-It is usually best not to mix garbage-collected allocation with the system
-<TT>malloc-free</tt>.  If you do, you need to be careful not to store
-pointers to the garbage-collected heap in memory allocated with the system
-<TT>malloc</tt>.
-<H3>Other Platforms</h3>
-On some other platforms it is necessary to call <TT>GC_INIT()</tt> from the main program,
-which is presumed to be part of the main executable, not a dynamic library.
-This can never hurt, and is thus generally good practice.
-
-<H3>Threads</h3>
-For a multithreaded program some more rules apply:
-<UL>
-<LI>
-Files that either allocate through the GC <I>or make thread-related calls</i>
-should first define the macro <TT>GC_THREADS</tt>, and then
-include <TT>"gc.h"</tt>.  On some platforms this will redefine some
-threads primitives, e.g. to let the collector keep track of thread creation.
-<LI>
-To take advantage of fast thread-local allocation, use the following instead
-of including <TT>gc.h</tt>:
-<PRE>
-#define GC_REDIRECT_TO_LOCAL
-#include "gc_local_alloc.h"
-</pre>
-This will cause GC_MALLOC and GC_MALLOC_ATOMIC to keep per-thread allocation
-caches, and greatly reduce the number of lock acquisitions during allocation.
-</ul>
-
-<H3>C++</h3>
-In the case of C++, you need to be especially careful not to store pointers
-to the garbage-collected heap in areas that are not traced by the collector.
-The collector includes some <A HREF="gcinterface.html">alternate interfaces</a>
-to make that easier.
-
-<H3>Debugging</h3>
-Additional debug checks can be performed by defining <TT>GC_DEBUG</tt> before
-including <TT>gc.h</tt>.  Additional options are available if the collector
-is also built with <TT>--enable-full_debug</tt> and all allocations are
-performed with <TT>GC_DEBUG</tt> defined.
-
-<H3>What if I can't rewrite/recompile my program?</h3>
-You may be able to build the collector with <TT>--enable-redirect-malloc</tt>
-and set the <TT>LD_PRELOAD</tt> environment variable to point to the resulting
-library, thus replacing the standard <TT>malloc</tt> with its garbage-collected
-counterpart.  This is rather platform dependent.  See the
-<A HREF="leak.html">leak detection documentation</a> for some more details.
-
-</font>
-
-<H2>Compiling and linking</h2>
-
-The above application <TT>loop.c</tt> test program can be compiled and linked
-with
-
-<PRE>
-cc -I/home/xyz/gc/include loop.c /home/xyz/gc/lib/libgc.a -o loop
-</pre>
-
-The <TT>-I</tt> option directs the compiler to the right include
-directory.  In this case, we list the static library
-directly on the compile line; the dynamic library could have been
-used instead, provided we arranged for the dynamic loader to find
-it, e.g. by setting <TT>LD_LIBRARY_PATH</tt>.
-
-<FONT COLOR=green>
-
-<H3>Threads</h3>
-
-On pthread platforms, you will of course also have to link with
-<TT>-lpthread</tt>,
-and compile with any thread-safety options required by your compiler.
-On some platforms, you may also need to link with <TT>-ldl</tt>
-or <TT>-lrt</tt>.
-Looking at threadlibs.c in the GC build directory
-should give you the appropriate
-list if a plain <TT>-lpthread</tt> doesn't work.
-
-</font>
-
-<H2>Running the executable</h2>
-
-The executable can of course be run normally, e.g. by typing
-
-<PRE>
-./loop
-</pre>
-
-The operation of the collector is affected by a number of environment variables.
-For example, setting <TT>GC_PRINT_STATS</tt> produces some
-GC statistics on stdout.
-See <TT>README.environment</tt> in the distribution for details.
-</body>
-</html>
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/tree.html b/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/tree.html
deleted file mode 100755
index 5b61142..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/doc/tree.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<HTML>
-<HEAD>
-    <TITLE>  Two-Level Tree Structure for Fast Pointer Lookup</TITLE>
-    <AUTHOR> Hans-J. Boehm, Silicon Graphics (now at HP)</author>
-</HEAD>
-<BODY>
-<H1>Two-Level Tree Structure for Fast Pointer Lookup</h1>
-<P>
-The conservative garbage collector described
-<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/">here</a>
-uses a 2-level tree
-data structure to aid in fast pointer identification.
-This data structure is described in a bit more detail here, since
-<OL>
-<LI> Variations of the data structure are more generally useful.
-<LI> It appears to be hard to understand by reading the code.
-<LI> Some other collectors appear to use inferior data structures to
-solve the same problem.
-<LI> It is central to fast collector operation.
-</ol>
-A candidate pointer is divided into three sections, the <I>high</i>,
-<I>middle</i>, and <I>low</i> bits.  The exact division between these
-three groups of bits is dependent on the detailed collector configuration.
-<P>
-The high and middle bits are used to look up an entry in the table described
-here.  The resulting table entry consists of either a block descriptor
-(<TT>struct hblkhdr *</tt> or <TT>hdr *</tt>)
-identifying the layout of objects in the block, or an indication that this
-address range corresponds to the middle of a large block, together with a
-hint for locating the actual block descriptor.  Such a hint consist
-of a displacement that can be subtracted from the middle bits of the candidate
-pointer without leaving the object.
-<P>
-In either case, the block descriptor (<TT>struct hblkhdr</tt>)
-refers to a table of object starting addresses (the <TT>hb_map</tt> field).
-The starting address table is indexed by the low bits if the candidate pointer.
-The resulting entry contains a displacement to the beginning of the object,
-or an indication that this cannot be a valid object pointer.
-(If all interior pointer are recognized, pointers into large objects
-are handled specially, as appropriate.)
-
-<H2>The Tree</h2>
-<P>
-The rest of this discussion focuses on the two level data structure
-used to map the high and middle bits to the block descriptor.
-<P>
-The high bits are used as an index into the <TT>GC_top_index</tt> (really
-<TT>GC_arrays._top_index</tt>) array.  Each entry points to a
-<TT>bottom_index</tt> data structure.  This structure in turn consists
-mostly of an array <TT>index</tt> indexed by the middle bits of
-the candidate pointer.  The <TT>index</tt> array contains the actual
-<TT>hdr</tt> pointers. 
-<P>
-Thus a pointer lookup consists primarily of a handful of memory references,
-and can be quite fast:
-<OL>
-<LI> The appropriate <TT>bottom_index</tt> pointer is looked up in
-<TT>GC_top_index</tt>, based on the high bits of the candidate pointer.
-<LI> The appropriate <TT>hdr</tt> pointer is looked up in the
-<TT>bottom_index</tt> structure, based on the middle bits.
-<LI> The block layout map pointer is retrieved from the <TT>hdr</tt>
-structure.  (This memory reference is necessary since we try to share
-block layout maps.)
-<LI> The displacement to the beginning of the object is retrieved from the
-above map.
-</ol>
-<P>
-In order to conserve space, not all <TT>GC_top_index</tt> entries in fact
-point to distinct <TT>bottom_index</tt> structures.  If no address with
-the corresponding high bits is part of the heap, then the entry points
-to <TT>GC_all_nils</tt>, a single <TT>bottom_index</tt> structure consisting
-only of NULL <TT>hdr</tt> pointers.
-<P>
-<TT>Bottom_index</tt> structures contain slightly more information than
-just <TT>hdr</tt> pointers.  The <TT>asc_link</tt> field is used to link
-all <TT>bottom_index</tt> structures in ascending order for fast traversal.
-This list is pointed to be <TT>GC_all_bottom_indices</tt>.
-It is maintained with the aid of <TT>key</tt> field that contains the
-high bits corresponding to the <TT>bottom_index</tt>.
-
-<H2>64 bit addresses</h2>
-<P>
-In the case of 64 bit addresses, this picture is complicated slightly
-by the fact that one of the index structures would have to be huge to
-cover the entire address space with a two level tree.  We deal with this
-by turning <TT>GC_top_index</tt> into a chained hash table, instead of
-a simple array.  This adds a <TT>hash_link</tt> field to the
-<TT>bottom_index</tt> structure.
-<P>
-The "hash function" consists of dropping the high bits.  This is cheap to
-compute, and guarantees that there will be no collisions if the heap
-is contiguous and not excessively large.
-
-<H2>A picture</h2>
-<P>
-The following is an ASCII diagram of the data structure.
-This was contributed by Dave Barrett several years ago.
-<PRE>
-
-		Data Structure used by GC_base in gc3.7:
-			      21-Apr-94
-			 
-			
-
-
-    63                  LOG_TOP_SZ[11]  LOG_BOTTOM_SZ[10]   LOG_HBLKSIZE[13]
-   +------------------+----------------+------------------+------------------+
- p:|                  |   TL_HASH(hi)  |                  |   HBLKDISPL(p)   |
-   +------------------+----------------+------------------+------------------+
-    \-----------------------HBLKPTR(p)-------------------/
-    \------------hi-------------------/ 
-                      \______ ________/ \________ _______/ \________ _______/
-                             V                   V                  V
-                             |                   |                  |
-           GC_top_index[]    |                   |                  | 
- ---      +--------------+   |                   |                  |  
-  ^       |              |   |                   |                  |   
-  |       |              |   |                   |                  |   
- TOP      +--------------+<--+                   |                  |      
- _SZ   +-<|      []      | *                     |                  |     
-(items)|  +--------------+  if 0 < bi< HBLKSIZE  |                  |    
-  |    |  |              | then large object     |                  |    
-  |    |  |              | starts at the bi'th   |                  |    
-  v    |  |              | HBLK before p.        |             i    |    
- ---   |  +--------------+                       |          (word-  |    
-       v                                         |         aligned) |    
-   bi= |GET_BI(p){->hash_link}->key==hi          |                  |   
-       v                                         |                  |    
-       |   (bottom_index)  \ scratch_alloc'd     |                  |    
-       |   ( struct  bi )  / by get_index()      |                  |    
- ---   +->+--------------+                       |                  |    
-  ^       |              |                       |                  |
-  ^       |              |                       |                  |
- BOTTOM   |              |   ha=GET_HDR_ADDR(p)  |                  |
-_SZ(items)+--------------+<----------------------+          +-------+
-  |   +--<|   index[]    |                                  |         
-  |   |   +--------------+                      GC_obj_map: v              
-  |   |   |              |              from      / +-+-+-----+-+-+-+-+  --- 
-  v   |   |              |              GC_add   < 0| | |     | | | | |   ^  
- ---  |   +--------------+             _map_entry \ +-+-+-----+-+-+-+-+   |  
-      |   |   asc_link   |                          +-+-+-----+-+-+-+-+ MAXOBJSZ
-      |   +--------------+                      +-->| | |  j  | | | | |  +1   
-      |   |     key      |                      |   +-+-+-----+-+-+-+-+   |  
-      |   +--------------+                      |   +-+-+-----+-+-+-+-+   | 
-      |   |  hash_link   |                      |   | | |     | | | | |   v 
-      |   +--------------+                      |   +-+-+-----+-+-+-+-+  ---
-      |                                         |   |<--MAX_OFFSET--->|   
-      |                                         |         (bytes)
-HDR(p)| GC_find_header(p)                       |   |<--MAP_ENTRIES-->| 
-      |                           \ from        |    =HBLKSIZE/WORDSZ   
-      |    (hdr) (struct hblkhdr) / alloc_hdr() |    (1024 on Alpha)
-      +-->+----------------------+              |    (8/16 bits each)
-GET_HDR(p)| word   hb_sz (words) |              |          
-          +----------------------+              |     
-          | struct hblk *hb_next |              |
-          +----------------------+              |       
-          |mark_proc hb_mark_proc|              |
-          +----------------------+              |
-          | char * hb_map        |>-------------+
-          +----------------------+           
-          | ushort hb_obj_kind   |           
-          +----------------------+           
-          |   hb_last_reclaimed  |           
- ---      +----------------------+                
-  ^       |                      |
- MARK_BITS|       hb_marks[]     | *if hdr is free, hb_sz + DISCARD_WORDS
-_SZ(words)|                      |  is the size of a heap chunk (struct hblk)
-  v       |                      |  of at least MININCR*HBLKSIZE bytes (below),
- ---      +----------------------+  otherwise, size of each object in chunk.
-
-Dynamic data structures above are interleaved throughout the heap in blocks of 
-size MININCR * HBLKSIZE bytes as done by gc_scratch_alloc which cannot be
-freed; free lists are used (e.g. alloc_hdr).  HBLK's below are collected.
-
-	      (struct hblk)      
- ---      +----------------------+ < HBLKSIZE ---         ---          DISCARD_
-  ^       |garbage[DISCARD_WORDS]|   aligned   ^           ^ HDR_BYTES WORDS
-  |       |                      |             |           v (bytes)   (words)
-  |       +-----hb_body----------+ < WORDSZ    |          ---   ---   
-  |       |                      |   aligned   |           ^     ^
-  |       |      Object 0        |             |           hb_sz |
-  |       |                      |           i |(word-    (words)|
-  |       |                      |      (bytes)|aligned)   v     |
-  |       + - - - - - - - - - - -+ ---         |          ---    |
-  |       |                      |  ^          |           ^     |
-  n *     |                      |  j (words)  |          hb_sz BODY_SZ 
- HBLKSIZE |      Object 1        |  v          v           |   (words)
- (bytes)  |                      |---------------          v   MAX_OFFSET
-  |       + - - - - - - - - - - -+                        ---  (bytes)
-  |       |                      | !All_INTERIOR_PTRS      ^     |
-  |       |                      | sets j only for       hb_sz   |
-  |       |      Object N        | valid object offsets.   |     |
-  v       |                      | All objects WORDSZ      v     v
- ---      +----------------------+ aligned.               ---   ---
-
-DISCARD_WORDS is normally zero.  Indeed the collector has not been tested
-with another value in ages.
-</pre>
-</body>
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/dyn_load.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/dyn_load.c
deleted file mode 100755
index 504ec7d..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/dyn_load.c
+++ /dev/null
@@ -1,1190 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1997 by Silicon Graphics.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Original author: Bill Janssen
- * Heavily modified by Hans Boehm and others
- */
-
-/*
- * This is incredibly OS specific code for tracking down data sections in
- * dynamic libraries.  There appears to be no way of doing this quickly
- * without groveling through undocumented data structures.  We would argue
- * that this is a bug in the design of the dlopen interface.  THIS CODE
- * MAY BREAK IN FUTURE OS RELEASES.  If this matters to you, don't hesitate
- * to let your vendor know ...
- *
- * None of this is safe with dlclose and incremental collection.
- * But then not much of anything is safe in the presence of dlclose.
- */
-#if (defined(__linux__) || defined(__GLIBC__) || defined(__GNU__)) \
-     && !defined(_GNU_SOURCE)
-    /* Can't test LINUX, since this must be defined before other includes */
-#   define _GNU_SOURCE
-#endif
-#if !defined(MACOS) && !defined(_WIN32_WCE)
-#  include <sys/types.h>
-#endif
-#include "private/gc_priv.h"
-
-/* BTL: avoid circular redefinition of dlopen if GC_SOLARIS_THREADS defined */
-# if (defined(GC_PTHREADS) || defined(GC_SOLARIS_THREADS)) \
-      && defined(dlopen) && !defined(GC_USE_LD_WRAP)
-    /* To support threads in Solaris, gc.h interposes on dlopen by       */
-    /* defining "dlopen" to be "GC_dlopen", which is implemented below.  */
-    /* However, both GC_FirstDLOpenedLinkMap() and GC_dlopen() use the   */
-    /* real system dlopen() in their implementation. We first remove     */
-    /* gc.h's dlopen definition and restore it later, after GC_dlopen(). */
-#   undef dlopen
-#   define GC_must_restore_redefined_dlopen
-# else
-#   undef GC_must_restore_redefined_dlopen
-# endif
-
-/* A user-supplied routine that is called to determine if a DSO must
-   be scanned by the gc.  */
-static int (*GC_has_static_roots)(const char *, void *, size_t);
-
-
-#if (defined(DYNAMIC_LOADING) || defined(MSWIN32) || defined(MSWINCE)) \
-    && !defined(PCR)
-#if !defined(SOLARISDL) && !defined(IRIX5) && \
-    !defined(MSWIN32) && !defined(MSWINCE) && \
-    !(defined(ALPHA) && defined(OSF1)) && \
-    !defined(HPUX) && !(defined(LINUX) && defined(__ELF__)) && \
-    !defined(AIX) && !defined(SCO_ELF) && !defined(DGUX) && \
-    !(defined(FREEBSD) && defined(__ELF__)) && \
-    !(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \
-    !defined(DARWIN) && !defined(CYGWIN32)
- --> We only know how to find data segments of dynamic libraries for the
- --> above.  Additional SVR4 variants might not be too
- --> hard to add.
-#endif
-
-#include <stdio.h>
-#ifdef SOLARISDL
-#   include <sys/elf.h>
-#   include <dlfcn.h>
-#   include <link.h>
-#endif
-
-#if defined(NETBSD)
-#   include <machine/elf_machdep.h>
-#   define ELFSIZE ARCH_ELFSIZE
-#endif
-
-#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
-    (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
-    (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
-#   include <stddef.h>
-#   include <elf.h>
-#   include <link.h>
-#endif
-
-/* Newer versions of GNU/Linux define this macro.  We
- * define it similarly for any ELF systems that don't.  */
-#  ifndef ElfW
-#    if defined(FREEBSD)
-#      if __ELF_WORD_SIZE == 32
-#        define ElfW(type) Elf32_##type
-#      else
-#        define ElfW(type) Elf64_##type
-#      endif
-#    elif defined(NETBSD)
-#      if ELFSIZE == 32
-#        define ElfW(type) Elf32_##type
-#      else
-#        define ElfW(type) Elf64_##type
-#      endif
-#    else
-#      if !defined(ELF_CLASS) || ELF_CLASS == ELFCLASS32
-#        define ElfW(type) Elf32_##type
-#      else
-#        define ElfW(type) Elf64_##type
-#      endif
-#    endif
-#  endif
-
-#if defined(SOLARISDL) && !defined(USE_PROC_FOR_LIBRARIES)
-
-#ifdef LINT
-    Elf32_Dyn _DYNAMIC;
-#endif
-
-static struct link_map *
-GC_FirstDLOpenedLinkMap()
-{
-    extern ElfW(Dyn) _DYNAMIC;
-    ElfW(Dyn) *dp;
-    struct r_debug *r;
-    static struct link_map * cachedResult = 0;
-    static ElfW(Dyn) *dynStructureAddr = 0;
-    			/* BTL: added to avoid Solaris 5.3 ld.so _DYNAMIC bug */
-
-#   ifdef SUNOS53_SHARED_LIB
-	/* BTL: Avoid the Solaris 5.3 bug that _DYNAMIC isn't being set	*/
-	/* up properly in dynamically linked .so's. This means we have	*/
-	/* to use its value in the set of original object files loaded	*/
-	/* at program startup.						*/
-	if( dynStructureAddr == 0 ) {
-	  void* startupSyms = dlopen(0, RTLD_LAZY);
-	  dynStructureAddr = (ElfW(Dyn)*)dlsym(startupSyms, "_DYNAMIC");
-		}
-#   else
-	dynStructureAddr = &_DYNAMIC;
-#   endif
-
-    if( dynStructureAddr == 0) {
-        return(0);
-    }
-    if( cachedResult == 0 ) {
-        int tag;
-        for( dp = ((ElfW(Dyn) *)(&_DYNAMIC)); (tag = dp->d_tag) != 0; dp++ ) {
-            if( tag == DT_DEBUG ) {
-                struct link_map *lm
-                        = ((struct r_debug *)(dp->d_un.d_ptr))->r_map;
-                if( lm != 0 ) cachedResult = lm->l_next; /* might be NIL */
-                break;
-            }
-        }
-    }
-    return cachedResult;
-}
-
-#endif /* SOLARISDL ... */
-
-/* BTL: added to fix circular dlopen definition if GC_SOLARIS_THREADS defined */
-# if defined(GC_must_restore_redefined_dlopen)
-#   define dlopen GC_dlopen
-# endif
-
-# if defined(SOLARISDL)
-/* Add dynamic library data sections to the root set.		*/
-# if !defined(PCR) && !defined(GC_SOLARIS_THREADS) && defined(THREADS)
-	--> fix mutual exclusion with dlopen
-# endif
-
-# ifndef USE_PROC_FOR_LIBRARIES
-void GC_register_dynamic_libraries()
-{
-  struct link_map *lm = GC_FirstDLOpenedLinkMap();
-  
-
-  for (lm = GC_FirstDLOpenedLinkMap();
-       lm != (struct link_map *) 0;  lm = lm->l_next)
-    {
-	ElfW(Ehdr) * e;
-        ElfW(Phdr) * p;
-        unsigned long offset;
-        char * start;
-        register int i;
-        
-	e = (ElfW(Ehdr) *) lm->l_addr;
-        p = ((ElfW(Phdr) *)(((char *)(e)) + e->e_phoff));
-        offset = ((unsigned long)(lm->l_addr));
-        for( i = 0; i < (int)(e->e_phnum); ((i++),(p++)) ) {
-          switch( p->p_type ) {
-            case PT_LOAD:
-              {
-                if( !(p->p_flags & PF_W) ) break;
-                start = ((char *)(p->p_vaddr)) + offset;
-                GC_add_roots_inner(
-                  start,
-                  start + p->p_memsz,
-                  TRUE
-                );
-              }
-              break;
-            default:
-              break;
-          }
-	}
-    }
-}
-
-# endif /* !USE_PROC ... */
-# endif /* SOLARISDL */
-
-#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
-    (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
-    (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
-
-
-#ifdef USE_PROC_FOR_LIBRARIES
-
-#include <string.h>
-
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-#define MAPS_BUF_SIZE (32*1024)
-
-extern ssize_t GC_repeat_read(int fd, char *buf, size_t count);
-	/* Repeatedly read until buffer is filled, or EOF is encountered */
-	/* Defined in os_dep.c.  					 */
-
-char *GC_parse_map_entry(char *buf_ptr, ptr_t *start, ptr_t *end,
-                         char **prot, unsigned int *maj_dev,
-			 char **mapping_name);
-char *GC_get_maps(void);
-	/* From os_dep.c	*/
-
-word GC_register_map_entries(char *maps)
-{
-    char *prot;
-    char *buf_ptr = maps;
-    int count;
-    ptr_t start, end;
-    unsigned int maj_dev;
-    ptr_t least_ha, greatest_ha;
-    unsigned i;
-    ptr_t datastart = (ptr_t)(DATASTART);
-
-    /* Compute heap bounds. FIXME: Should work if heap and roots are 	*/
-    /* interleaved?							*/
-	least_ha = (ptr_t)(word)(-1);
-	greatest_ha = 0;
-	for (i = 0; i < GC_n_heap_sects; ++i) {
-	    ptr_t sect_start = GC_heap_sects[i].hs_start;
-	    ptr_t sect_end = sect_start + GC_heap_sects[i].hs_bytes;
-	    if (sect_start < least_ha) least_ha = sect_start;
-	    if (sect_end > greatest_ha) greatest_ha = sect_end;
-        }
-    	if (greatest_ha < (ptr_t)GC_scratch_last_end_ptr)
-	    greatest_ha = (ptr_t)GC_scratch_last_end_ptr; 
-
-    for (;;) {
-        buf_ptr = GC_parse_map_entry(buf_ptr, &start, &end, &prot, &maj_dev, 0);
-	if (buf_ptr == NULL) return 1;
-	if (prot[1] == 'w') {
-	    /* This is a writable mapping.  Add it to		*/
-	    /* the root set unless it is already otherwise	*/
-	    /* accounted for.					*/
-	    if (start <= GC_stackbottom && end >= GC_stackbottom) {
-		/* Stack mapping; discard	*/
-		continue;
-	    }
-#	    ifdef THREADS
-	      /* This may fail, since a thread may already be 		*/
-	      /* unregistered, but its thread stack may still be there.	*/
-	      /* That can fail because the stack may disappear while	*/
-	      /* we're marking.  Thus the marker is, and has to be	*/
-	      /* prepared to recover from segmentation faults.		*/
-	      if (GC_segment_is_thread_stack(start, end)) continue;
-	      /* FIXME: REDIRECT_MALLOC actually works with threads on	*/
-	      /* LINUX/IA64 if we omit this check.  The problem is that	*/
-	      /* thread stacks contain pointers to dynamic thread	*/
-	      /* vectors, which may be reused due to thread caching.	*/
-	      /* Currently they may not be marked if the thread is 	*/
-	      /* still live.						*/
-	      /* For dead threads, we trace the whole stack, which is	*/
-	      /* very suboptimal for performance reasons.		*/
-#	    endif
-	    /* We no longer exclude the main data segment.		*/
-	    if (start < least_ha && end > least_ha) {
-		end = least_ha;
-	    }
-	    if (start < greatest_ha && end > greatest_ha) {
-		start = greatest_ha;
-	    }
-	    if (start >= least_ha && end <= greatest_ha) continue;
-	    GC_add_roots_inner((char *)start, (char *)end, TRUE);
-	}
-    }
-    return 1;
-}
-
-void GC_register_dynamic_libraries()
-{
-    if (!GC_register_map_entries(GC_get_maps()))
-        ABORT("Failed to read /proc for library registration.");
-}
-
-/* We now take care of the main data segment ourselves: */
-GC_bool GC_register_main_static_data()
-{
-    return FALSE;
-}
-  
-# define HAVE_REGISTER_MAIN_STATIC_DATA
-
-#endif /* USE_PROC_FOR_LIBRARIES */
-
-#if !defined(USE_PROC_FOR_LIBRARIES)
-/* The following is the preferred way to walk dynamic libraries	*/
-/* For glibc 2.2.4+.  Unfortunately, it doesn't work for older	*/
-/* versions.  Thanks to Jakub Jelinek for most of the code.	*/
-
-# if (defined(LINUX) || defined (__GLIBC__)) /* Are others OK here, too? */ \
-     && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
-         || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) 
-
-/* We have the header files for a glibc that includes dl_iterate_phdr.	*/
-/* It may still not be available in the library on the target system.   */
-/* Thus we also treat it as a weak symbol.				*/
-#define HAVE_DL_ITERATE_PHDR
-
-static int GC_register_dynlib_callback(info, size, ptr)
-     struct dl_phdr_info * info;
-     size_t size;
-     void * ptr;
-{
-  const ElfW(Phdr) * p;
-  char * start;
-  register int i;
-
-  /* Make sure struct dl_phdr_info is at least as big as we need.  */
-  if (size < offsetof (struct dl_phdr_info, dlpi_phnum)
-      + sizeof (info->dlpi_phnum))
-    return -1;
-
-  p = info->dlpi_phdr;
-  for( i = 0; i < (int)(info->dlpi_phnum); ((i++),(p++)) ) {
-    switch( p->p_type ) {
-      case PT_LOAD:
-	{
-	  if( !(p->p_flags & PF_W) ) break;
-	  start = ((char *)(p->p_vaddr)) + info->dlpi_addr;
-
-	  if (GC_has_static_roots
-	      && !GC_has_static_roots(info->dlpi_name, start, p->p_memsz))
-	    break;
-
-	  GC_add_roots_inner(start, start + p->p_memsz, TRUE);
-	}
-      break;
-      default:
-	break;
-    }
-  }
-
-  * (int *)ptr = 1;	/* Signal that we were called */
-  return 0;
-}     
-
-/* Return TRUE if we succeed, FALSE if dl_iterate_phdr wasn't there. */
-
-#pragma weak dl_iterate_phdr
-
-GC_bool GC_register_dynamic_libraries_dl_iterate_phdr()
-{
-  if (dl_iterate_phdr) {
-    int did_something = 0;
-    dl_iterate_phdr(GC_register_dynlib_callback, &did_something);
-    if (!did_something) {
-	/* dl_iterate_phdr may forget the static data segment in	*/
-	/* statically linked executables.				*/
-	GC_add_roots_inner(DATASTART, (char *)(DATAEND), TRUE);
-#       if defined(DATASTART2)
-          GC_add_roots_inner(DATASTART2, (char *)(DATAEND2), TRUE);
-#       endif
-    }
-
-    return TRUE;
-  } else {
-    return FALSE;
-  }
-}
-
-/* Do we need to separately register the main static data segment? */
-GC_bool GC_register_main_static_data()
-{
-  return (dl_iterate_phdr == 0);
-}
-
-#define HAVE_REGISTER_MAIN_STATIC_DATA
-
-# else /* !LINUX || version(glibc) < 2.2.4 */
-
-/* Dynamic loading code for Linux running ELF. Somewhat tested on
- * Linux/x86, untested but hopefully should work on Linux/Alpha. 
- * This code was derived from the Solaris/ELF support. Thanks to
- * whatever kind soul wrote that.  - Patrick Bridges */
-
-/* This doesn't necessarily work in all cases, e.g. with preloaded
- * dynamic libraries.						*/
-
-#if defined(NETBSD)
-#  include <sys/exec_elf.h>
-/* for compatibility with 1.4.x */
-#  ifndef DT_DEBUG
-#  define DT_DEBUG     21
-#  endif
-#  ifndef PT_LOAD
-#  define PT_LOAD      1
-#  endif
-#  ifndef PF_W
-#  define PF_W         2
-#  endif
-#else
-#  include <elf.h>
-#endif
-#include <link.h>
-
-# endif
-
-#ifdef __GNUC__
-# pragma weak _DYNAMIC
-#endif
-extern ElfW(Dyn) _DYNAMIC[];
-
-static struct link_map *
-GC_FirstDLOpenedLinkMap()
-{
-    ElfW(Dyn) *dp;
-    static struct link_map *cachedResult = 0;
-
-    if( _DYNAMIC == 0) {
-        return(0);
-    }
-    if( cachedResult == 0 ) {
-        int tag;
-        for( dp = _DYNAMIC; (tag = dp->d_tag) != 0; dp++ ) {
-            if( tag == DT_DEBUG ) {
-                struct link_map *lm
-                        = ((struct r_debug *)(dp->d_un.d_ptr))->r_map;
-                if( lm != 0 ) cachedResult = lm->l_next; /* might be NIL */
-                break;
-            }
-        }
-    }
-    return cachedResult;
-}
-
-
-void GC_register_dynamic_libraries()
-{
-  struct link_map *lm;
-  
-
-# ifdef HAVE_DL_ITERATE_PHDR
-    if (GC_register_dynamic_libraries_dl_iterate_phdr()) {
-	return;
-    }
-# endif
-  lm = GC_FirstDLOpenedLinkMap();
-  for (lm = GC_FirstDLOpenedLinkMap();
-       lm != (struct link_map *) 0;  lm = lm->l_next)
-    {
-	ElfW(Ehdr) * e;
-        ElfW(Phdr) * p;
-        unsigned long offset;
-        char * start;
-        register int i;
-        
-	e = (ElfW(Ehdr) *) lm->l_addr;
-        p = ((ElfW(Phdr) *)(((char *)(e)) + e->e_phoff));
-        offset = ((unsigned long)(lm->l_addr));
-        for( i = 0; i < (int)(e->e_phnum); ((i++),(p++)) ) {
-          switch( p->p_type ) {
-            case PT_LOAD:
-              {
-                if( !(p->p_flags & PF_W) ) break;
-                start = ((char *)(p->p_vaddr)) + offset;
-                GC_add_roots_inner(start, start + p->p_memsz, TRUE);
-              }
-              break;
-            default:
-              break;
-          }
-	}
-    }
-}
-
-#endif /* !USE_PROC_FOR_LIBRARIES */
-
-#endif /* LINUX */
-
-#if defined(IRIX5) || (defined(USE_PROC_FOR_LIBRARIES) && !defined(LINUX))
-
-#include <sys/procfs.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <elf.h>
-#include <errno.h>
-#include <signal.h>  /* Only for the following test. */
-#ifndef _sigargs
-# define IRIX6
-#endif
-
-extern void * GC_roots_present();
-	/* The type is a lie, since the real type doesn't make sense here, */
-	/* and we only test for NULL.					   */
-
-
-/* We use /proc to track down all parts of the address space that are	*/
-/* mapped by the process, and throw out regions we know we shouldn't	*/
-/* worry about.  This may also work under other SVR4 variants.		*/
-void GC_register_dynamic_libraries()
-{
-    static int fd = -1;
-    char buf[30];
-    static prmap_t * addr_map = 0;
-    static int current_sz = 0;	/* Number of records currently in addr_map */
-    static int needed_sz;	/* Required size of addr_map		*/
-    int i;
-    long flags;
-    ptr_t start;
-    ptr_t limit;
-    ptr_t heap_start = (ptr_t)HEAP_START;
-    ptr_t heap_end = heap_start;
-
-#   ifdef SOLARISDL
-#     define MA_PHYS 0
-#   endif /* SOLARISDL */
-
-    if (fd < 0) {
-      sprintf(buf, "/proc/%d", getpid());
-	/* The above generates a lint complaint, since pid_t varies.	*/
-	/* It's unclear how to improve this.				*/
-      fd = open(buf, O_RDONLY);
-      if (fd < 0) {
-    	ABORT("/proc open failed");
-      }
-    }
-    if (ioctl(fd, PIOCNMAP, &needed_sz) < 0) {
-	GC_err_printf("fd = %d, errno = %d\n", fd, errno);
-    	ABORT("/proc PIOCNMAP ioctl failed");
-    }
-    if (needed_sz >= current_sz) {
-        current_sz = needed_sz * 2 + 1;
-        		/* Expansion, plus room for 0 record */
-        addr_map = (prmap_t *)GC_scratch_alloc((word)
-						(current_sz * sizeof(prmap_t)));
-    }
-    if (ioctl(fd, PIOCMAP, addr_map) < 0) {
-        GC_err_printf("fd = %d, errno = %d, needed_sz = %d, addr_map = 0x%X\n",
-                        fd, errno, needed_sz, addr_map);
-    	ABORT("/proc PIOCMAP ioctl failed");
-    };
-    if (GC_n_heap_sects > 0) {
-    	heap_end = GC_heap_sects[GC_n_heap_sects-1].hs_start
-    			+ GC_heap_sects[GC_n_heap_sects-1].hs_bytes;
-    	if (heap_end < GC_scratch_last_end_ptr) heap_end = GC_scratch_last_end_ptr; 
-    }
-    for (i = 0; i < needed_sz; i++) {
-        flags = addr_map[i].pr_mflags;
-	if ((flags & (MA_BREAK | MA_STACK | MA_PHYS
-		      | MA_FETCHOP | MA_NOTCACHED)) != 0) goto irrelevant;
-        if ((flags & (MA_READ | MA_WRITE)) != (MA_READ | MA_WRITE))
-            goto irrelevant;
-          /* The latter test is empirically useless in very old Irix	*/
-	  /* versions.  Other than the					*/
-          /* main data and stack segments, everything appears to be	*/
-          /* mapped readable, writable, executable, and shared(!!).	*/
-          /* This makes no sense to me.	- HB				*/
-        start = (ptr_t)(addr_map[i].pr_vaddr);
-        if (GC_roots_present(start)) goto irrelevant;
-        if (start < heap_end && start >= heap_start)
-        	goto irrelevant;
-#	ifdef MMAP_STACKS
-	  if (GC_is_thread_stack(start)) goto irrelevant;
-#	endif /* MMAP_STACKS */
-
-        limit = start + addr_map[i].pr_size;
-	/* The following seemed to be necessary for very old versions 	*/
-	/* of Irix, but it has been reported to discard relevant	*/
-	/* segments under Irix 6.5.  					*/
-#	ifndef IRIX6
-	  if (addr_map[i].pr_off == 0 && strncmp(start, ELFMAG, 4) == 0) {
-	    /* Discard text segments, i.e. 0-offset mappings against	*/
-	    /* executable files which appear to have ELF headers.	*/
-	    caddr_t arg;
-	    int obj;
-#	    define MAP_IRR_SZ 10
-	    static ptr_t map_irr[MAP_IRR_SZ];
-	    				/* Known irrelevant map entries	*/
-	    static int n_irr = 0;
-	    struct stat buf;
-	    register int i;
-	    
-	    for (i = 0; i < n_irr; i++) {
-	        if (map_irr[i] == start) goto irrelevant;
-	    }
-	    arg = (caddr_t)start;
-	    obj = ioctl(fd, PIOCOPENM, &arg);
-	    if (obj >= 0) {
-	        fstat(obj, &buf);
-	        close(obj);
-	        if ((buf.st_mode & 0111) != 0) {
-	            if (n_irr < MAP_IRR_SZ) {
-	                map_irr[n_irr++] = start;
-	            }
-	            goto irrelevant;
-	        }
-	    }
-	  }
-#	endif /* !IRIX6 */
-        GC_add_roots_inner(start, limit, TRUE);
-      irrelevant: ;
-    }
-    /* Dont keep cached descriptor, for now.  Some kernels don't like us */
-    /* to keep a /proc file descriptor around during kill -9.		 */
-    	if (close(fd) < 0) ABORT("Couldnt close /proc file");
-	fd = -1;
-}
-
-# endif /* USE_PROC || IRIX5 */
-
-# if defined(MSWIN32) || defined(MSWINCE) || defined(CYGWIN32)
-
-# define WIN32_LEAN_AND_MEAN
-# define NOSERVICE
-# include <windows.h>
-# include <stdlib.h>
-
-  /* We traverse the entire address space and register all segments 	*/
-  /* that could possibly have been written to.				*/
-  
-  extern GC_bool GC_is_heap_base (ptr_t p);
-
-# ifdef GC_WIN32_THREADS
-    extern void GC_get_next_stack(char *start, char **lo, char **hi);
-    void GC_cond_add_roots(char *base, char * limit)
-    {
-      char * curr_base = base;
-      char * next_stack_lo;
-      char * next_stack_hi;
-   
-      if (base == limit) return;
-      for(;;) {
-	  GC_get_next_stack(curr_base, &next_stack_lo, &next_stack_hi);
-	  if (next_stack_lo >= limit) break;
-	  GC_add_roots_inner(curr_base, next_stack_lo, TRUE);
-	  curr_base = next_stack_hi;
-      }
-      if (curr_base < limit) GC_add_roots_inner(curr_base, limit, TRUE);
-    }
-# else
-    void GC_cond_add_roots(char *base, char * limit)
-    {
-      char dummy;
-      char * stack_top
-	 = (char *) ((word)(&dummy) & ~(GC_sysinfo.dwAllocationGranularity-1));
-      if (base == limit) return;
-      if (limit > stack_top && base < GC_stackbottom) {
-    	  /* Part of the stack; ignore it. */
-    	  return;
-      }
-      GC_add_roots_inner(base, limit, TRUE);
-    }
-# endif
-
-# ifdef MSWINCE
-  /* Do we need to separately register the main static data segment? */
-  GC_bool GC_register_main_static_data()
-  {
-    return FALSE;
-  }
-# else /* win32 */
-  extern GC_bool GC_no_win32_dlls;
-
-  GC_bool GC_register_main_static_data()
-  {
-    return GC_no_win32_dlls;
-  }
-# endif /* win32 */
-  
-# define HAVE_REGISTER_MAIN_STATIC_DATA
-
-# ifdef DEBUG_VIRTUALQUERY
-  void GC_dump_meminfo(MEMORY_BASIC_INFORMATION *buf)
-  {
-    GC_printf("BaseAddress = %lx, AllocationBase = %lx, RegionSize = %lx(%lu)\n",
-	       buf -> BaseAddress, buf -> AllocationBase, buf -> RegionSize,
-	       buf -> RegionSize);
-    GC_printf("\tAllocationProtect = %lx, State = %lx, Protect = %lx, "
-	       "Type = %lx\n",
-	       buf -> AllocationProtect, buf -> State, buf -> Protect,
-	       buf -> Type);
-  }
-# endif /* DEBUG_VIRTUALQUERY */
-
-  extern GC_bool GC_wnt;  /* Is Windows NT derivative.		*/
-  			  /* Defined and set in os_dep.c.	*/
-
-  void GC_register_dynamic_libraries()
-  {
-    MEMORY_BASIC_INFORMATION buf;
-    size_t result;
-    DWORD protect;
-    LPVOID p;
-    char * base;
-    char * limit, * new_limit;
-
-#   ifdef MSWIN32
-      if (GC_no_win32_dlls) return;
-#   endif
-    base = limit = p = GC_sysinfo.lpMinimumApplicationAddress;
-#   if defined(MSWINCE) && !defined(_WIN32_WCE_EMULATION)
-      /* Only the first 32 MB of address space belongs to the current process */
-      while (p < (LPVOID)0x02000000) {
-        result = VirtualQuery(p, &buf, sizeof(buf));
-	if (result == 0) {
-	    /* Page is free; advance to the next possible allocation base */
-	    new_limit = (char *)
-		(((DWORD) p + GC_sysinfo.dwAllocationGranularity)
-		 & ~(GC_sysinfo.dwAllocationGranularity-1));
-	} else
-#   else
-      while (p < GC_sysinfo.lpMaximumApplicationAddress) {
-        result = VirtualQuery(p, &buf, sizeof(buf));
-#   endif
-	{
-	    if (result != sizeof(buf)) {
-		ABORT("Weird VirtualQuery result");
-	    }
-	    new_limit = (char *)p + buf.RegionSize;
-	    protect = buf.Protect;
-	    if (buf.State == MEM_COMMIT
-		&& (protect == PAGE_EXECUTE_READWRITE
-		    || protect == PAGE_READWRITE)
-		&& !GC_is_heap_base(buf.AllocationBase)
- 		/* There is some evidence that we cannot always
- 		 * ignore MEM_PRIVATE sections under Windows ME
- 		 * and predecessors.  Hence we now also check for
- 		 * that case.	*/
- 		&& (buf.Type == MEM_IMAGE ||
- 		    !GC_wnt && buf.Type == MEM_PRIVATE)) {
-#	        ifdef DEBUG_VIRTUALQUERY
-	          GC_dump_meminfo(&buf);
-#	        endif
-		if ((char *)p != limit) {
-		    GC_cond_add_roots(base, limit);
-		    base = p;
-		}
-		limit = new_limit;
-	    }
-	}
-        if (p > (LPVOID)new_limit /* overflow */) break;
-        p = (LPVOID)new_limit;
-    }
-    GC_cond_add_roots(base, limit);
-  }
-
-#endif /* MSWIN32 || MSWINCE || CYGWIN32 */
-  
-#if defined(ALPHA) && defined(OSF1)
-
-#include <loader.h>
-
-void GC_register_dynamic_libraries()
-{
-  int status;
-  ldr_process_t mypid;
-
-  /* module */
-    ldr_module_t moduleid = LDR_NULL_MODULE;
-    ldr_module_info_t moduleinfo;
-    size_t moduleinfosize = sizeof(moduleinfo);
-    size_t modulereturnsize;    
-
-  /* region */
-    ldr_region_t region; 
-    ldr_region_info_t regioninfo;
-    size_t regioninfosize = sizeof(regioninfo);
-    size_t regionreturnsize;
-
-  /* Obtain id of this process */
-    mypid = ldr_my_process();
-  
-  /* For each module */
-    while (TRUE) {
-
-      /* Get the next (first) module */
-        status = ldr_next_module(mypid, &moduleid);
-
-      /* Any more modules? */
-        if (moduleid == LDR_NULL_MODULE)
-            break;    /* No more modules */
-
-      /* Check status AFTER checking moduleid because */
-      /* of a bug in the non-shared ldr_next_module stub */
-        if (status != 0 ) {
-            GC_printf("dynamic_load: status = %d\n", status);
-            {
-                extern char *sys_errlist[];
-                extern int sys_nerr;
-                extern int errno;
-                if (errno <= sys_nerr) {
-                    GC_printf("dynamic_load: %s\n", sys_errlist[errno]);
-               } else {
-                    GC_printf("dynamic_load: %d\n", errno);
-                }
-        }
-            ABORT("ldr_next_module failed");
-         }
-
-      /* Get the module information */
-        status = ldr_inq_module(mypid, moduleid, &moduleinfo,
-                                moduleinfosize, &modulereturnsize); 
-        if (status != 0 )
-            ABORT("ldr_inq_module failed");
-
-      /* is module for the main program (i.e. nonshared portion)? */
-          if (moduleinfo.lmi_flags & LDR_MAIN)
-              continue;    /* skip the main module */
-
-#     ifdef DL_VERBOSE
-          GC_printf("---Module---\n");
-          GC_printf("Module ID            = %16ld\n", moduleinfo.lmi_modid);
-          GC_printf("Count of regions     = %16d\n", moduleinfo.lmi_nregion);
-          GC_printf("flags for module     = %16lx\n", moduleinfo.lmi_flags); 
-          GC_printf("pathname of module   = \"%s\"\n", moduleinfo.lmi_name);
-#     endif
-
-      /* For each region in this module */
-        for (region = 0; region < moduleinfo.lmi_nregion; region++) {
-
-          /* Get the region information */
-            status = ldr_inq_region(mypid, moduleid, region, &regioninfo,
-                                    regioninfosize, &regionreturnsize);
-            if (status != 0 )
-                ABORT("ldr_inq_region failed");
-
-          /* only process writable (data) regions */
-            if (! (regioninfo.lri_prot & LDR_W))
-                continue;
-
-#         ifdef DL_VERBOSE
-              GC_printf("--- Region ---\n");
-              GC_printf("Region number    = %16ld\n",
-              	        regioninfo.lri_region_no);
-              GC_printf("Protection flags = %016x\n",  regioninfo.lri_prot);
-              GC_printf("Virtual address  = %16p\n",   regioninfo.lri_vaddr);
-              GC_printf("Mapped address   = %16p\n",   regioninfo.lri_mapaddr);
-              GC_printf("Region size      = %16ld\n",  regioninfo.lri_size);
-              GC_printf("Region name      = \"%s\"\n", regioninfo.lri_name);
-#         endif
-
-          /* register region as a garbage collection root */
-            GC_add_roots_inner (
-                (char *)regioninfo.lri_mapaddr,
-                (char *)regioninfo.lri_mapaddr + regioninfo.lri_size,
-                TRUE);
-
-        }
-    }
-}
-#endif
-
-#if defined(HPUX)
-
-#include <errno.h>
-#include <dl.h>
-
-extern char *sys_errlist[];
-extern int sys_nerr;
-
-void GC_register_dynamic_libraries()
-{
-  int status;
-  int index = 1; /* Ordinal position in shared library search list */
-  struct shl_descriptor *shl_desc; /* Shared library info, see dl.h */
-
-  /* For each dynamic library loaded */
-    while (TRUE) {
-
-      /* Get info about next shared library */
-        status = shl_get(index, &shl_desc);
-
-      /* Check if this is the end of the list or if some error occured */
-        if (status != 0) {
-#	 ifdef GC_HPUX_THREADS
-	   /* I've seen errno values of 0.  The man page is not clear	*/
-	   /* as to whether errno should get set on a -1 return.	*/
-	   break;
-#	 else
-          if (errno == EINVAL) {
-              break; /* Moved past end of shared library list --> finished */
-          } else {
-              if (errno <= sys_nerr) {
-                    GC_printf("dynamic_load: %s\n", sys_errlist[errno]);
-              } else {
-                    GC_printf("dynamic_load: %d\n", errno);
-	      }
-              ABORT("shl_get failed");
-          }
-#	 endif
-        }
-
-#     ifdef DL_VERBOSE
-          GC_printf("---Shared library---\n");
-          GC_printf("\tfilename        = \"%s\"\n", shl_desc->filename);
-          GC_printf("\tindex           = %d\n", index);
-          GC_printf("\thandle          = %08x\n",
-					(unsigned long) shl_desc->handle);
-          GC_printf("\ttext seg. start = %08x\n", shl_desc->tstart);
-          GC_printf("\ttext seg. end   = %08x\n", shl_desc->tend);
-          GC_printf("\tdata seg. start = %08x\n", shl_desc->dstart);
-          GC_printf("\tdata seg. end   = %08x\n", shl_desc->dend);
-          GC_printf("\tref. count      = %lu\n", shl_desc->ref_count);
-#     endif
-
-      /* register shared library's data segment as a garbage collection root */
-        GC_add_roots_inner((char *) shl_desc->dstart,
-			   (char *) shl_desc->dend, TRUE);
-
-        index++;
-    }
-}
-#endif /* HPUX */
-
-#ifdef AIX
-#pragma alloca
-#include <sys/ldr.h>
-#include <sys/errno.h>
-void GC_register_dynamic_libraries()
-{
-	int len;
-	char *ldibuf;
-	int ldibuflen;
-	struct ld_info *ldi;
-
-	ldibuf = alloca(ldibuflen = 8192);
-
-	while ( (len = loadquery(L_GETINFO,ldibuf,ldibuflen)) < 0) {
-		if (errno != ENOMEM) {
-			ABORT("loadquery failed");
-		}
-		ldibuf = alloca(ldibuflen *= 2);
-	}
-
-	ldi = (struct ld_info *)ldibuf;
-	while (ldi) {
-		len = ldi->ldinfo_next;
-		GC_add_roots_inner(
-				ldi->ldinfo_dataorg,
-				(ptr_t)(unsigned long)ldi->ldinfo_dataorg
-			        + ldi->ldinfo_datasize,
-				TRUE);
-		ldi = len ? (struct ld_info *)((char *)ldi + len) : 0;
-	}
-}
-#endif /* AIX */
-
-#ifdef DARWIN
-
-/* __private_extern__ hack required for pre-3.4 gcc versions.	*/
-#ifndef __private_extern__
-# define __private_extern__ extern
-# include <mach-o/dyld.h>
-# undef __private_extern__
-#else
-# include <mach-o/dyld.h>
-#endif
-#include <mach-o/getsect.h>
-
-/*#define DARWIN_DEBUG*/
-
-const static struct { 
-        const char *seg;
-        const char *sect;
-} GC_dyld_sections[] = {
-        { SEG_DATA, SECT_DATA },
-        { SEG_DATA, SECT_BSS },
-        { SEG_DATA, SECT_COMMON }
-};
-    
-#ifdef DARWIN_DEBUG
-static const char *GC_dyld_name_for_hdr(const struct GC_MACH_HEADER *hdr) {
-    unsigned long i,c;
-    c = _dyld_image_count();
-    for(i=0;i<c;i++) if(_dyld_get_image_header(i) == hdr)
-        return _dyld_get_image_name(i);
-    return NULL;
-}
-#endif
-        
-/* This should never be called by a thread holding the lock */
-static void GC_dyld_image_add(const struct GC_MACH_HEADER *hdr, intptr_t slide)
-{
-    unsigned long start,end,i;
-    const struct GC_MACH_SECTION *sec;
-    if (GC_no_dls) return;
-    for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
-#   if defined (__LP64__)
-      sec = getsectbynamefromheader_64(
-#   else
-      sec = getsectbynamefromheader(
-#   endif
-				    hdr, GC_dyld_sections[i].seg,
-				    GC_dyld_sections[i].sect);
-      if(sec == NULL || sec->size == 0) continue;
-      start = slide + sec->addr;
-      end = start + sec->size;
-#   ifdef DARWIN_DEBUG
-      GC_printf("Adding section at %p-%p (%lu bytes) from image %s\n",
-		start,end,sec->size,GC_dyld_name_for_hdr(hdr));
-#   endif
-      GC_add_roots((char*)start,(char*)end);
-    }
-#   ifdef DARWIN_DEBUG
-       GC_print_static_roots();
-#   endif
-}
-
-/* This should never be called by a thread holding the lock */
-static void GC_dyld_image_remove(const struct GC_MACH_HEADER *hdr,
-				 intptr_t slide)
-{
-    unsigned long start,end,i;
-    const struct GC_MACH_SECTION *sec;
-    for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
-#   if defined (__LP64__)
-      sec = getsectbynamefromheader_64(
-#   else
-      sec = getsectbynamefromheader(
-#   endif
-				    hdr, GC_dyld_sections[i].seg,
-				    GC_dyld_sections[i].sect);
-      if(sec == NULL || sec->size == 0) continue;
-      start = slide + sec->addr;
-      end = start + sec->size;
-#   ifdef DARWIN_DEBUG
-      GC_printf("Removing section at %p-%p (%lu bytes) from image %s\n",
-		start,end,sec->size,GC_dyld_name_for_hdr(hdr));
-#   endif
-      GC_remove_roots((char*)start,(char*)end);
-    }
-#   ifdef DARWIN_DEBUG
-	GC_print_static_roots();
-#   endif
-}
-
-void GC_register_dynamic_libraries() {
-    /* Currently does nothing. The callbacks are setup by GC_init_dyld() 
-    The dyld library takes it from there. */
-}
-
-/* The _dyld_* functions have an internal lock so no _dyld functions
-   can be called while the world is stopped without the risk of a deadlock.
-   Because of this we MUST setup callbacks BEFORE we ever stop the world.
-   This should be called BEFORE any thread in created and WITHOUT the
-   allocation lock held. */
-   
-void GC_init_dyld() {
-  static GC_bool initialized = FALSE;
-  char *bind_fully_env = NULL;
-  
-  if(initialized) return;
-  
-#   ifdef DARWIN_DEBUG
-      GC_printf("Registering dyld callbacks...\n");
-#   endif
-  
-  /* Apple's Documentation:
-     When you call _dyld_register_func_for_add_image, the dynamic linker runtime
-     calls the specified callback (func) once for each of the images that is
-     currently loaded into the program. When a new image is added to the program,
-     your callback is called again with the mach_header for the new image, and the 	
-     virtual memory slide amount of the new image. 
-     
-     This WILL properly register already linked libraries and libraries 
-     linked in the future
-  */
-  
-    _dyld_register_func_for_add_image(GC_dyld_image_add);
-    _dyld_register_func_for_remove_image(GC_dyld_image_remove);
-
-    /* Set this early to avoid reentrancy issues. */
-    initialized = TRUE;
-
-    bind_fully_env = getenv("DYLD_BIND_AT_LAUNCH");
-    
-    if (bind_fully_env == NULL) {
-#   ifdef DARWIN_DEBUG
-      GC_printf("Forcing full bind of GC code...\n");
-#   endif
-      
-      if(!_dyld_bind_fully_image_containing_address((unsigned long*)GC_malloc))
-        GC_abort("_dyld_bind_fully_image_containing_address failed");
-    }
-
-}
-
-#define HAVE_REGISTER_MAIN_STATIC_DATA
-GC_bool GC_register_main_static_data()
-{
-  /* Already done through dyld callbacks */
-  return FALSE;
-}
-
-#endif /* DARWIN */
-
-#else /* !DYNAMIC_LOADING */
-
-#ifdef PCR
-
-#   include "il/PCR_IL.h"
-#   include "th/PCR_ThCtl.h"
-#   include "mm/PCR_MM.h"
-
-void GC_register_dynamic_libraries()
-{
-    /* Add new static data areas of dynamically loaded modules.	*/
-        {
-          PCR_IL_LoadedFile * p = PCR_IL_GetLastLoadedFile();
-          PCR_IL_LoadedSegment * q;
-          
-          /* Skip uncommited files */
-          while (p != NIL && !(p -> lf_commitPoint)) {
-              /* The loading of this file has not yet been committed	*/
-              /* Hence its description could be inconsistent.  		*/
-              /* Furthermore, it hasn't yet been run.  Hence its data	*/
-              /* segments can't possibly reference heap allocated	*/
-              /* objects.						*/
-              p = p -> lf_prev;
-          }
-          for (; p != NIL; p = p -> lf_prev) {
-            for (q = p -> lf_ls; q != NIL; q = q -> ls_next) {
-              if ((q -> ls_flags & PCR_IL_SegFlags_Traced_MASK)
-                  == PCR_IL_SegFlags_Traced_on) {
-                GC_add_roots_inner
-                	((char *)(q -> ls_addr), 
-                	 (char *)(q -> ls_addr) + q -> ls_bytes,
-                	 TRUE);
-              }
-            }
-          }
-        }
-}
-
-
-#else /* !PCR */
-
-void GC_register_dynamic_libraries(){}
-
-int GC_no_dynamic_loading;
-
-#endif /* !PCR */
-
-#endif /* !DYNAMIC_LOADING */
-
-#ifndef HAVE_REGISTER_MAIN_STATIC_DATA
-
-/* Do we need to separately register the main static data segment? */
-GC_bool GC_register_main_static_data()
-{
-  return TRUE;
-}
-
-/* Register a routine to filter dynamic library registration.  */
-void
-GC_register_has_static_roots_callback
-  (int (*callback)(const char *, void *, size_t)) {
-  GC_has_static_roots = callback;
-}
-
-#endif /* HAVE_REGISTER_MAIN_STATIC_DATA */
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/finalize.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/finalize.c
deleted file mode 100755
index 28b3bf8..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/finalize.c
+++ /dev/null
@@ -1,869 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1996 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
- * Copyright (C) 2007 Free Software Foundation, Inc
-
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, February 1, 1996 1:19 pm PST */
-# define I_HIDE_POINTERS
-# include "private/gc_pmark.h"
-
-# ifdef FINALIZE_ON_DEMAND
-    int GC_finalize_on_demand = 1;
-# else
-    int GC_finalize_on_demand = 0;
-# endif
-
-# ifdef JAVA_FINALIZATION
-    int GC_java_finalization = 1;
-# else
-    int GC_java_finalization = 0;
-# endif
-
-/* Type of mark procedure used for marking from finalizable object.	*/
-/* This procedure normally does not mark the object, only its		*/
-/* descendents.								*/
-typedef void finalization_mark_proc(/* ptr_t finalizable_obj_ptr */); 
-
-# define HASH3(addr,size,log_size) \
-    ((((word)(addr) >> 3) ^ ((word)(addr) >> (3+(log_size)))) \
-    & ((size) - 1))
-#define HASH2(addr,log_size) HASH3(addr, 1 << log_size, log_size)
-
-struct hash_chain_entry {
-    word hidden_key;
-    struct hash_chain_entry * next;
-};
-
-unsigned GC_finalization_failures = 0;
-	/* Number of finalization requests that failed for lack of memory. */
-
-static struct disappearing_link {
-    struct hash_chain_entry prolog;
-#   define dl_hidden_link prolog.hidden_key
-				/* Field to be cleared.		*/
-#   define dl_next(x) (struct disappearing_link *)((x) -> prolog.next)
-#   define dl_set_next(x,y) (x) -> prolog.next = (struct hash_chain_entry *)(y)
-
-    word dl_hidden_obj;		/* Pointer to object base	*/
-} **dl_head = 0;
-
-static signed_word log_dl_table_size = -1;
-			/* Binary log of				*/
-			/* current size of array pointed to by dl_head.	*/
-			/* -1 ==> size is 0.				*/
-
-word GC_dl_entries = 0;	/* Number of entries currently in disappearing	*/
-			/* link table.					*/
-
-static struct finalizable_object {
-    struct hash_chain_entry prolog;
-#   define fo_hidden_base prolog.hidden_key
-				/* Pointer to object base.	*/
-				/* No longer hidden once object */
-				/* is on finalize_now queue.	*/
-#   define fo_next(x) (struct finalizable_object *)((x) -> prolog.next)
-#   define fo_set_next(x,y) (x) -> prolog.next = (struct hash_chain_entry *)(y)
-    GC_finalization_proc fo_fn;	/* Finalizer.			*/
-    ptr_t fo_client_data;
-    word fo_object_size;	/* In bytes.			*/
-    finalization_mark_proc * fo_mark_proc;	/* Mark-through procedure */
-} **fo_head = 0;
-
-struct finalizable_object * GC_finalize_now = 0;
-	/* LIst of objects that should be finalized now.	*/
-
-static signed_word log_fo_table_size = -1;
-
-word GC_fo_entries = 0;
-
-void GC_push_finalizer_structures(void)
-{
-    GC_push_all((ptr_t)(&dl_head), (ptr_t)(&dl_head) + sizeof(word));
-    GC_push_all((ptr_t)(&fo_head), (ptr_t)(&fo_head) + sizeof(word));
-    GC_push_all((ptr_t)(&GC_finalize_now),
-		(ptr_t)(&GC_finalize_now) + sizeof(word));
-}
-
-/* Double the size of a hash table. *size_ptr is the log of its current	*/
-/* size.  May be a noop.						*/
-/* *table is a pointer to an array of hash headers.  If we succeed, we	*/
-/* update both *table and *log_size_ptr.				*/
-/* Lock is held.  Signals are disabled.					*/
-void GC_grow_table(struct hash_chain_entry ***table,
-		   signed_word *log_size_ptr)
-{
-    register word i;
-    register struct hash_chain_entry *p;
-    signed_word log_old_size = *log_size_ptr;
-    signed_word log_new_size = log_old_size + 1;
-    word old_size = ((log_old_size == -1)? 0: (1 << log_old_size));
-    word new_size = (word)1 << log_new_size;
-    /* FIXME: Power of 2 size often gets rounded up to one more page. */
-    struct hash_chain_entry **new_table = (struct hash_chain_entry **)
-    	GC_INTERNAL_MALLOC_IGNORE_OFF_PAGE(
-    		(size_t)new_size * sizeof(struct hash_chain_entry *), NORMAL);
-    
-    if (new_table == 0) {
-    	if (table == 0) {
-    	    ABORT("Insufficient space for initial table allocation");
-    	} else {
-    	    return;
-    	}
-    }
-    for (i = 0; i < old_size; i++) {
-      p = (*table)[i];
-      while (p != 0) {
-        ptr_t real_key = (ptr_t)REVEAL_POINTER(p -> hidden_key);
-        struct hash_chain_entry *next = p -> next;
-        size_t new_hash = HASH3(real_key, new_size, log_new_size);
-        
-        p -> next = new_table[new_hash];
-        new_table[new_hash] = p;
-        p = next;
-      }
-    }
-    *log_size_ptr = log_new_size;
-    *table = new_table;
-}
-
-int GC_register_disappearing_link(void * * link)
-{
-    ptr_t base;
-    
-    base = (ptr_t)GC_base((void *)link);
-    if (base == 0)
-    	ABORT("Bad arg to GC_register_disappearing_link");
-    return(GC_general_register_disappearing_link(link, base));
-}
-
-int GC_general_register_disappearing_link(void * * link, void * obj)
-{
-    struct disappearing_link *curr_dl;
-    size_t index;
-    struct disappearing_link * new_dl;
-    DCL_LOCK_STATE;
-    
-    if ((word)link & (ALIGNMENT-1))
-    	ABORT("Bad arg to GC_general_register_disappearing_link");
-#   ifdef THREADS
-    	LOCK();
-#   endif
-    if (log_dl_table_size == -1
-        || GC_dl_entries > ((word)1 << log_dl_table_size)) {
-    	GC_grow_table((struct hash_chain_entry ***)(&dl_head),
-    		      &log_dl_table_size);
-	if (GC_print_stats) {
-	    GC_log_printf("Grew dl table to %u entries\n",
-	    	      (1 << log_dl_table_size));
-	}
-    }
-    index = HASH2(link, log_dl_table_size);
-    curr_dl = dl_head[index];
-    for (curr_dl = dl_head[index]; curr_dl != 0; curr_dl = dl_next(curr_dl)) {
-        if (curr_dl -> dl_hidden_link == HIDE_POINTER(link)) {
-            curr_dl -> dl_hidden_obj = HIDE_POINTER(obj);
-#	    ifdef THREADS
-                UNLOCK();
-#	    endif
-            return(1);
-        }
-    }
-    new_dl = (struct disappearing_link *)
-    	GC_INTERNAL_MALLOC(sizeof(struct disappearing_link),NORMAL);
-    if (0 == new_dl) {
-#     ifdef THREADS
-	UNLOCK();
-#     endif
-      new_dl = (struct disappearing_link *)
-	      GC_oom_fn(sizeof(struct disappearing_link));
-      if (0 == new_dl) {
-	GC_finalization_failures++;
-	return(0);
-      }
-      /* It's not likely we'll make it here, but ... */
-#     ifdef THREADS
-	LOCK();
-#     endif
-    }
-    new_dl -> dl_hidden_obj = HIDE_POINTER(obj);
-    new_dl -> dl_hidden_link = HIDE_POINTER(link);
-    dl_set_next(new_dl, dl_head[index]);
-    dl_head[index] = new_dl;
-    GC_dl_entries++;
-#   ifdef THREADS
-        UNLOCK();
-#   endif
-    return(0);
-}
-
-int GC_unregister_disappearing_link(void * * link)
-{
-    struct disappearing_link *curr_dl, *prev_dl;
-    size_t index;
-    DCL_LOCK_STATE;
-    
-    LOCK();
-    index = HASH2(link, log_dl_table_size);
-    if (((word)link & (ALIGNMENT-1))) goto out;
-    prev_dl = 0; curr_dl = dl_head[index];
-    while (curr_dl != 0) {
-        if (curr_dl -> dl_hidden_link == HIDE_POINTER(link)) {
-            if (prev_dl == 0) {
-                dl_head[index] = dl_next(curr_dl);
-            } else {
-                dl_set_next(prev_dl, dl_next(curr_dl));
-            }
-            GC_dl_entries--;
-            UNLOCK();
-#	    ifdef DBG_HDRS_ALL
-	      dl_set_next(curr_dl, 0);
-#	    else
-              GC_free((void *)curr_dl);
-#	    endif
-            return(1);
-        }
-        prev_dl = curr_dl;
-        curr_dl = dl_next(curr_dl);
-    }
-out:
-    UNLOCK();
-    return(0);
-}
-
-/* Possible finalization_marker procedures.  Note that mark stack	*/
-/* overflow is handled by the caller, and is not a disaster.		*/
-GC_API void GC_normal_finalize_mark_proc(ptr_t p)
-{
-    hdr * hhdr = HDR(p);
-    
-    PUSH_OBJ(p, hhdr, GC_mark_stack_top,
-	     &(GC_mark_stack[GC_mark_stack_size]));
-}
-
-/* This only pays very partial attention to the mark descriptor.	*/
-/* It does the right thing for normal and atomic objects, and treats	*/
-/* most others as normal.						*/
-GC_API void GC_ignore_self_finalize_mark_proc(ptr_t p)
-{
-    hdr * hhdr = HDR(p);
-    word descr = hhdr -> hb_descr;
-    ptr_t q, r;
-    ptr_t scan_limit;
-    ptr_t target_limit = p + hhdr -> hb_sz - 1;
-    
-    if ((descr & GC_DS_TAGS) == GC_DS_LENGTH) {
-       scan_limit = p + descr - sizeof(word);
-    } else {
-       scan_limit = target_limit + 1 - sizeof(word);
-    }
-    for (q = p; q <= scan_limit; q += ALIGNMENT) {
-    	r = *(ptr_t *)q;
-    	if (r < p || r > target_limit) {
-    	    GC_PUSH_ONE_HEAP(r, q);
-    	}
-    }
-}
-
-/*ARGSUSED*/
-GC_API void GC_null_finalize_mark_proc(ptr_t p)
-{
-}
-
-/* Possible finalization_marker procedures.  Note that mark stack	*/
-/* overflow is handled by the caller, and is not a disaster.		*/
-
-/* GC_unreachable_finalize_mark_proc is an alias for normal marking,	*/
-/* but it is explicitly tested for, and triggers different		*/
-/* behavior.  Objects registered in this way are not finalized		*/
-/* if they are reachable by other finalizable objects, eve if those	*/
-/* other objects specify no ordering.					*/
-GC_API void GC_unreachable_finalize_mark_proc(ptr_t p)
-{
-    GC_normal_finalize_mark_proc(p);
-}
-
-
-
-/* Register a finalization function.  See gc.h for details.	*/
-/* in the nonthreads case, we try to avoid disabling signals,	*/
-/* since it can be expensive.  Threads packages typically	*/
-/* make it cheaper.						*/
-/* The last parameter is a procedure that determines		*/
-/* marking for finalization ordering.  Any objects marked	*/
-/* by that procedure will be guaranteed to not have been	*/
-/* finalized when this finalizer is invoked.			*/
-GC_API void GC_register_finalizer_inner(void * obj,
-					GC_finalization_proc fn, void *cd,
-					GC_finalization_proc *ofn, void **ocd,
-					finalization_mark_proc mp)
-{
-    ptr_t base;
-    struct finalizable_object * curr_fo, * prev_fo;
-    size_t index;
-    struct finalizable_object *new_fo;
-    hdr *hhdr;
-    DCL_LOCK_STATE;
-
-#   ifdef THREADS
-	LOCK();
-#   endif
-    if (log_fo_table_size == -1
-        || GC_fo_entries > ((word)1 << log_fo_table_size)) {
-    	GC_grow_table((struct hash_chain_entry ***)(&fo_head),
-    		      &log_fo_table_size);
-	if (GC_print_stats) {
-	    GC_log_printf("Grew fo table to %u entries\n",
-	    	          (1 << log_fo_table_size));
-	}
-    }
-    /* in the THREADS case signals are disabled and we hold allocation	*/
-    /* lock; otherwise neither is true.  Proceed carefully.		*/
-    base = (ptr_t)obj;
-    index = HASH2(base, log_fo_table_size);
-    prev_fo = 0; curr_fo = fo_head[index];
-    while (curr_fo != 0) {
-        GC_ASSERT(GC_size(curr_fo) >= sizeof(struct finalizable_object));
-        if (curr_fo -> fo_hidden_base == HIDE_POINTER(base)) {
-            /* Interruption by a signal in the middle of this	*/
-            /* should be safe.  The client may see only *ocd	*/
-            /* updated, but we'll declare that to be his	*/
-            /* problem.						*/
-            if (ocd) *ocd = (void *) (curr_fo -> fo_client_data);
-            if (ofn) *ofn = curr_fo -> fo_fn;
-            /* Delete the structure for base. */
-                if (prev_fo == 0) {
-                  fo_head[index] = fo_next(curr_fo);
-                } else {
-                  fo_set_next(prev_fo, fo_next(curr_fo));
-                }
-            if (fn == 0) {
-                GC_fo_entries--;
-                  /* May not happen if we get a signal.  But a high	*/
-                  /* estimate will only make the table larger than	*/
-                  /* necessary.						*/
-#		if !defined(THREADS) && !defined(DBG_HDRS_ALL)
-                  GC_free((void *)curr_fo);
-#		endif
-            } else {
-                curr_fo -> fo_fn = fn;
-                curr_fo -> fo_client_data = (ptr_t)cd;
-                curr_fo -> fo_mark_proc = mp;
-		/* Reinsert it.  We deleted it first to maintain	*/
-		/* consistency in the event of a signal.		*/
-		if (prev_fo == 0) {
-                  fo_head[index] = curr_fo;
-                } else {
-                  fo_set_next(prev_fo, curr_fo);
-                }
-            }
-#	    ifdef THREADS
-                UNLOCK();
-#	    endif
-            return;
-        }
-        prev_fo = curr_fo;
-        curr_fo = fo_next(curr_fo);
-    }
-    if (ofn) *ofn = 0;
-    if (ocd) *ocd = 0;
-    if (fn == 0) {
-#	ifdef THREADS
-            UNLOCK();
-#	endif
-        return;
-    }
-    GET_HDR(base, hhdr);
-    if (0 == hhdr) {
-      /* We won't collect it, hence finalizer wouldn't be run. */
-#     ifdef THREADS
-          UNLOCK();
-#     endif
-      return;
-    }
-    new_fo = (struct finalizable_object *)
-    	GC_INTERNAL_MALLOC(sizeof(struct finalizable_object),NORMAL);
-    GC_ASSERT(GC_size(new_fo) >= sizeof(struct finalizable_object));
-    if (EXPECT(0 == new_fo, FALSE)) {
-#     ifdef THREADS
-	UNLOCK();
-#     endif
-      new_fo = (struct finalizable_object *)
-	      GC_oom_fn(sizeof(struct finalizable_object));
-      if (0 == new_fo) {
-	GC_finalization_failures++;
-	return;
-      }
-      /* It's not likely we'll make it here, but ... */
-#     ifdef THREADS
-	LOCK();
-#     endif
-    }
-    new_fo -> fo_hidden_base = (word)HIDE_POINTER(base);
-    new_fo -> fo_fn = fn;
-    new_fo -> fo_client_data = (ptr_t)cd;
-    new_fo -> fo_object_size = hhdr -> hb_sz;
-    new_fo -> fo_mark_proc = mp;
-    fo_set_next(new_fo, fo_head[index]);
-    GC_fo_entries++;
-    fo_head[index] = new_fo;
-#   ifdef THREADS
-        UNLOCK();
-#   endif
-}
-
-void GC_register_finalizer(void * obj,
-			       GC_finalization_proc fn, void * cd,
-			       GC_finalization_proc *ofn, void ** ocd)
-{
-    GC_register_finalizer_inner(obj, fn, cd, ofn,
-    				ocd, GC_normal_finalize_mark_proc);
-}
-
-void GC_register_finalizer_ignore_self(void * obj,
-			       GC_finalization_proc fn, void * cd,
-			       GC_finalization_proc *ofn, void ** ocd)
-{
-    GC_register_finalizer_inner(obj, fn, cd, ofn,
-    				ocd, GC_ignore_self_finalize_mark_proc);
-}
-
-void GC_register_finalizer_no_order(void * obj,
-			       GC_finalization_proc fn, void * cd,
-			       GC_finalization_proc *ofn, void ** ocd)
-{
-    GC_register_finalizer_inner(obj, fn, cd, ofn,
-    				ocd, GC_null_finalize_mark_proc);
-}
-
-static GC_bool need_unreachable_finalization = FALSE;
-	/* Avoid the work if this isn't used.	*/
-
-void GC_register_finalizer_unreachable(void * obj,
-			       GC_finalization_proc fn, void * cd,
-			       GC_finalization_proc *ofn, void ** ocd)
-{
-    need_unreachable_finalization = TRUE;
-    GC_ASSERT(GC_java_finalization);
-    GC_register_finalizer_inner(obj, fn, cd, ofn,
-    				ocd, GC_unreachable_finalize_mark_proc);
-}
-
-#ifndef NO_DEBUGGING
-void GC_dump_finalization(void)
-{
-    struct disappearing_link * curr_dl;
-    struct finalizable_object * curr_fo;
-    ptr_t real_ptr, real_link;
-    int dl_size = (log_dl_table_size == -1 ) ? 0 : (1 << log_dl_table_size);
-    int fo_size = (log_fo_table_size == -1 ) ? 0 : (1 << log_fo_table_size);
-    int i;
-
-    GC_printf("Disappearing links:\n");
-    for (i = 0; i < dl_size; i++) {
-      for (curr_dl = dl_head[i]; curr_dl != 0; curr_dl = dl_next(curr_dl)) {
-        real_ptr = (ptr_t)REVEAL_POINTER(curr_dl -> dl_hidden_obj);
-        real_link = (ptr_t)REVEAL_POINTER(curr_dl -> dl_hidden_link);
-        GC_printf("Object: %p, Link:%p\n", real_ptr, real_link);
-      }
-    }
-    GC_printf("Finalizers:\n");
-    for (i = 0; i < fo_size; i++) {
-      for (curr_fo = fo_head[i]; curr_fo != 0; curr_fo = fo_next(curr_fo)) {
-        real_ptr = (ptr_t)REVEAL_POINTER(curr_fo -> fo_hidden_base);
-        GC_printf("Finalizable object: %p\n", real_ptr);
-      }
-    }
-}
-#endif
-
-/* Called with world stopped.  Cause disappearing links to disappear,	*/
-/* and invoke finalizers.						*/
-void GC_finalize(void)
-{
-    struct disappearing_link * curr_dl, * prev_dl, * next_dl;
-    struct finalizable_object * curr_fo, * prev_fo, * next_fo;
-    ptr_t real_ptr, real_link;
-    size_t i;
-    size_t dl_size = (log_dl_table_size == -1 ) ? 0 : (1 << log_dl_table_size);
-    size_t fo_size = (log_fo_table_size == -1 ) ? 0 : (1 << log_fo_table_size);
-    
-  /* Make disappearing links disappear */
-    for (i = 0; i < dl_size; i++) {
-      curr_dl = dl_head[i];
-      prev_dl = 0;
-      while (curr_dl != 0) {
-        real_ptr = (ptr_t)REVEAL_POINTER(curr_dl -> dl_hidden_obj);
-        real_link = (ptr_t)REVEAL_POINTER(curr_dl -> dl_hidden_link);
-        if (!GC_is_marked(real_ptr)) {
-            *(word *)real_link = 0;
-            next_dl = dl_next(curr_dl);
-            if (prev_dl == 0) {
-                dl_head[i] = next_dl;
-            } else {
-                dl_set_next(prev_dl, next_dl);
-            }
-            GC_clear_mark_bit((ptr_t)curr_dl);
-            GC_dl_entries--;
-            curr_dl = next_dl;
-        } else {
-            prev_dl = curr_dl;
-            curr_dl = dl_next(curr_dl);
-        }
-      }
-    }
-  /* Mark all objects reachable via chains of 1 or more pointers	*/
-  /* from finalizable objects.						*/
-    GC_ASSERT(GC_mark_state == MS_NONE);
-    for (i = 0; i < fo_size; i++) {
-      for (curr_fo = fo_head[i]; curr_fo != 0; curr_fo = fo_next(curr_fo)) {
-        GC_ASSERT(GC_size(curr_fo) >= sizeof(struct finalizable_object));
-        real_ptr = (ptr_t)REVEAL_POINTER(curr_fo -> fo_hidden_base);
-        if (!GC_is_marked(real_ptr)) {
-	    GC_MARKED_FOR_FINALIZATION(real_ptr);
-            GC_MARK_FO(real_ptr, curr_fo -> fo_mark_proc);
-            if (GC_is_marked(real_ptr)) {
-                WARN("Finalization cycle involving %lx\n", real_ptr);
-            }
-        }
-      }
-    }
-  /* Enqueue for finalization all objects that are still		*/
-  /* unreachable.							*/
-    GC_bytes_finalized = 0;
-    for (i = 0; i < fo_size; i++) {
-      curr_fo = fo_head[i];
-      prev_fo = 0;
-      while (curr_fo != 0) {
-        real_ptr = (ptr_t)REVEAL_POINTER(curr_fo -> fo_hidden_base);
-        if (!GC_is_marked(real_ptr)) {
-	    if (!GC_java_finalization) {
-              GC_set_mark_bit(real_ptr);
-	    }
-            /* Delete from hash table */
-              next_fo = fo_next(curr_fo);
-              if (prev_fo == 0) {
-                fo_head[i] = next_fo;
-              } else {
-                fo_set_next(prev_fo, next_fo);
-              }
-              GC_fo_entries--;
-            /* Add to list of objects awaiting finalization.	*/
-              fo_set_next(curr_fo, GC_finalize_now);
-              GC_finalize_now = curr_fo;
-              /* unhide object pointer so any future collections will	*/
-              /* see it.						*/
-              curr_fo -> fo_hidden_base = 
-              		(word) REVEAL_POINTER(curr_fo -> fo_hidden_base);
-              GC_bytes_finalized +=
-                 	curr_fo -> fo_object_size
-              		+ sizeof(struct finalizable_object);
-	    GC_ASSERT(GC_is_marked(GC_base((ptr_t)curr_fo)));
-            curr_fo = next_fo;
-        } else {
-            prev_fo = curr_fo;
-            curr_fo = fo_next(curr_fo);
-        }
-      }
-    }
-
-  if (GC_java_finalization) {
-    /* make sure we mark everything reachable from objects finalized
-       using the no_order mark_proc */
-      for (curr_fo = GC_finalize_now; 
-  	 curr_fo != NULL; curr_fo = fo_next(curr_fo)) {
-  	real_ptr = (ptr_t)curr_fo -> fo_hidden_base;
-  	if (!GC_is_marked(real_ptr)) {
-  	    if (curr_fo -> fo_mark_proc == GC_null_finalize_mark_proc) {
-  	        GC_MARK_FO(real_ptr, GC_normal_finalize_mark_proc);
-  	    }
-	    if (curr_fo -> fo_mark_proc != GC_unreachable_finalize_mark_proc) {
-		GC_set_mark_bit(real_ptr);
-	    }
-  	}
-      }
-
-    /* now revive finalize-when-unreachable objects reachable from
-       other finalizable objects */
-      if (need_unreachable_finalization) {
-        curr_fo = GC_finalize_now;
-        prev_fo = 0;
-        while (curr_fo != 0) {
-	  next_fo = fo_next(curr_fo);
-	  if (curr_fo -> fo_mark_proc == GC_unreachable_finalize_mark_proc) {
-	    real_ptr = (ptr_t)curr_fo -> fo_hidden_base;
-	    if (!GC_is_marked(real_ptr)) {
-	      GC_set_mark_bit(real_ptr);
-	    } else {
-	      if (prev_fo == 0)
-		GC_finalize_now = next_fo;
-	      else
-		fo_set_next(prev_fo, next_fo);
-
-              curr_fo -> fo_hidden_base =
-              		(word) HIDE_POINTER(curr_fo -> fo_hidden_base);
-              GC_bytes_finalized -=
-                 	curr_fo -> fo_object_size + sizeof(struct finalizable_object);
-
-	      i = HASH2(real_ptr, log_fo_table_size);
-	      fo_set_next (curr_fo, fo_head[i]);
-	      GC_fo_entries++;
-	      fo_head[i] = curr_fo;
-	      curr_fo = prev_fo;
-	    }
-	  }
-	  prev_fo = curr_fo;
-	  curr_fo = next_fo;
-        }
-      }
-  }
-
-  /* Remove dangling disappearing links. */
-    for (i = 0; i < dl_size; i++) {
-      curr_dl = dl_head[i];
-      prev_dl = 0;
-      while (curr_dl != 0) {
-        real_link = GC_base((ptr_t)REVEAL_POINTER(curr_dl -> dl_hidden_link));
-        if (real_link != 0 && !GC_is_marked(real_link)) {
-            next_dl = dl_next(curr_dl);
-            if (prev_dl == 0) {
-                dl_head[i] = next_dl;
-            } else {
-                dl_set_next(prev_dl, next_dl);
-            }
-            GC_clear_mark_bit((ptr_t)curr_dl);
-            GC_dl_entries--;
-            curr_dl = next_dl;
-        } else {
-            prev_dl = curr_dl;
-            curr_dl = dl_next(curr_dl);
-        }
-      }
-    }
-}
-
-#ifndef JAVA_FINALIZATION_NOT_NEEDED
-
-/* Enqueue all remaining finalizers to be run - Assumes lock is
- * held, and signals are disabled */
-void GC_enqueue_all_finalizers(void)
-{
-    struct finalizable_object * curr_fo, * prev_fo, * next_fo;
-    ptr_t real_ptr;
-    register int i;
-    int fo_size;
-    
-    fo_size = (log_fo_table_size == -1 ) ? 0 : (1 << log_fo_table_size);
-    GC_bytes_finalized = 0;
-    for (i = 0; i < fo_size; i++) {
-        curr_fo = fo_head[i];
-        prev_fo = 0;
-      while (curr_fo != 0) {
-          real_ptr = (ptr_t)REVEAL_POINTER(curr_fo -> fo_hidden_base);
-          GC_MARK_FO(real_ptr, GC_normal_finalize_mark_proc);
-          GC_set_mark_bit(real_ptr);
- 
-          /* Delete from hash table */
-          next_fo = fo_next(curr_fo);
-          if (prev_fo == 0) {
-              fo_head[i] = next_fo;
-          } else {
-              fo_set_next(prev_fo, next_fo);
-          }
-          GC_fo_entries--;
-
-          /* Add to list of objects awaiting finalization.	*/
-          fo_set_next(curr_fo, GC_finalize_now);
-          GC_finalize_now = curr_fo;
-
-          /* unhide object pointer so any future collections will	*/
-          /* see it.						*/
-          curr_fo -> fo_hidden_base = 
-        		(word) REVEAL_POINTER(curr_fo -> fo_hidden_base);
-
-          GC_bytes_finalized +=
-           	curr_fo -> fo_object_size + sizeof(struct finalizable_object);
-          curr_fo = next_fo;
-        }
-    }
-
-    return;
-}
-
-/* Invoke all remaining finalizers that haven't yet been run. 
- * This is needed for strict compliance with the Java standard, 
- * which can make the runtime guarantee that all finalizers are run.
- * Unfortunately, the Java standard implies we have to keep running
- * finalizers until there are no more left, a potential infinite loop.
- * YUCK.
- * Note that this is even more dangerous than the usual Java
- * finalizers, in that objects reachable from static variables
- * may have been finalized when these finalizers are run.
- * Finalizers run at this point must be prepared to deal with a
- * mostly broken world.
- * This routine is externally callable, so is called without 
- * the allocation lock. 
- */
-GC_API void GC_finalize_all(void)
-{
-    DCL_LOCK_STATE;
-
-    LOCK();
-    while (GC_fo_entries > 0) {
-      GC_enqueue_all_finalizers();
-      UNLOCK();
-      GC_INVOKE_FINALIZERS();
-      LOCK();
-    }
-    UNLOCK();
-}
-#endif
-
-/* Returns true if it is worth calling GC_invoke_finalizers. (Useful if	*/
-/* finalizers can only be called from some kind of `safe state' and	*/
-/* getting into that safe state is expensive.)				*/
-int GC_should_invoke_finalizers(void)
-{
-    return GC_finalize_now != 0;
-}
-
-/* Invoke finalizers for all objects that are ready to be finalized.	*/
-/* Should be called without allocation lock.				*/
-int GC_invoke_finalizers(void)
-{
-    struct finalizable_object * curr_fo;
-    int count = 0;
-    word bytes_freed_before;
-    DCL_LOCK_STATE;
-    
-    while (GC_finalize_now != 0) {
-#	ifdef THREADS
-	    LOCK();
-#	endif
-	if (count == 0) {
-	    bytes_freed_before = GC_bytes_freed;
-	    /* Don't do this outside, since we need the lock. */
-	}
-    	curr_fo = GC_finalize_now;
-#	ifdef THREADS
- 	    if (curr_fo != 0) GC_finalize_now = fo_next(curr_fo);
-	    UNLOCK();
-	    if (curr_fo == 0) break;
-#	else
-	    GC_finalize_now = fo_next(curr_fo);
-#	endif
- 	fo_set_next(curr_fo, 0);
-    	(*(curr_fo -> fo_fn))((ptr_t)(curr_fo -> fo_hidden_base),
-    			      curr_fo -> fo_client_data);
-    	curr_fo -> fo_client_data = 0;
-	++count;
-#	ifdef UNDEFINED
-	    /* This is probably a bad idea.  It throws off accounting if */
-	    /* nearly all objects are finalizable.  O.w. it shouldn't	 */
-	    /* matter.							 */
-    	    GC_free((void *)curr_fo);
-#	endif
-    }
-    /* bytes_freed_before is initialized whenever count != 0 */
-    if (count != 0 && bytes_freed_before != GC_bytes_freed) {
-        LOCK();
-	GC_finalizer_bytes_freed += (GC_bytes_freed - bytes_freed_before);
-	UNLOCK();
-    }
-    return count;
-}
-
-void (* GC_finalizer_notifier)() = (void (*) (void))0;
-
-static GC_word last_finalizer_notification = 0;
-
-void GC_notify_or_invoke_finalizers(void)
-{
-    /* This is a convenient place to generate backtraces if appropriate, */
-    /* since that code is not callable with the allocation lock.	 */
-#   if defined(KEEP_BACK_PTRS) || defined(MAKE_BACK_GRAPH)
-      static word last_back_trace_gc_no = 1;	/* Skip first one. */
-
-      if (GC_gc_no > last_back_trace_gc_no) {
-	word i;
-  
-#	ifdef KEEP_BACK_PTRS
-	  LOCK();
-  	  /* Stops when GC_gc_no wraps; that's OK.	*/
-	  last_back_trace_gc_no = (word)(-1);  /* disable others. */
-	  for (i = 0; i < GC_backtraces; ++i) {
-	      /* FIXME: This tolerates concurrent heap mutation,	*/
-	      /* which may cause occasional mysterious results.		*/
-	      /* We need to release the GC lock, since GC_print_callers	*/
-	      /* acquires it.  It probably shouldn't.			*/
-	      UNLOCK();
-	      GC_generate_random_backtrace_no_gc();
-	      LOCK();
-	  }
-	  last_back_trace_gc_no = GC_gc_no;
-	  UNLOCK();
-#	endif
-#       ifdef MAKE_BACK_GRAPH
-	  if (GC_print_back_height)
-            GC_print_back_graph_stats();
-#	endif
-      }
-#   endif
-    if (GC_finalize_now == 0) return;
-    if (!GC_finalize_on_demand) {
-	(void) GC_invoke_finalizers();
-#	ifndef THREADS
-	  GC_ASSERT(GC_finalize_now == 0);
-#	endif	/* Otherwise GC can run concurrently and add more */
-	return;
-    }
-    if (GC_finalizer_notifier != (void (*) (void))0
-	&& last_finalizer_notification != GC_gc_no) {
-	last_finalizer_notification = GC_gc_no;
-	GC_finalizer_notifier();
-    }
-}
-
-void * GC_call_with_alloc_lock(GC_fn_type fn, void * client_data)
-{
-    void * result;
-    DCL_LOCK_STATE;
-    
-#   ifdef THREADS
-      LOCK();
-      /* FIXME - This looks wrong!! */
-      SET_LOCK_HOLDER();
-#   endif
-    result = (*fn)(client_data);
-#   ifdef THREADS
-#     ifndef GC_ASSERTIONS
-        UNSET_LOCK_HOLDER();
-#     endif /* o.w. UNLOCK() does it implicitly */
-      UNLOCK();
-#   endif
-    return(result);
-}
-
-#if !defined(NO_DEBUGGING)
-
-void GC_print_finalization_stats(void)
-{
-    struct finalizable_object *fo = GC_finalize_now;
-    size_t ready = 0;
-
-    GC_printf("%u finalization table entries; %u disappearing links\n",
-	       GC_fo_entries, GC_dl_entries);
-    for (; 0 != fo; fo = fo_next(fo)) ++ready;
-    GC_printf("%u objects are eligible for immediate finalization\n", ready);
-}
-
-#endif /* NO_DEBUGGING */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/gc.mak b/SRC/Boost/tools/build/v2/engine/boehm_gc/gc.mak
deleted file mode 100755
index 04f8421..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/gc.mak
+++ /dev/null
@@ -1,2220 +0,0 @@
-# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10
-# This has been hand-edited way too many times.
-# A clean, manually generated makefile would be an improvement.
-
-# TARGTYPE "Win32 (x86) Application" 0x0101
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-AO_VERSION=1.2
-!IF "$(CFG)" == ""
-CFG=gctest - Win32 Release
-!MESSAGE No configuration specified.  Defaulting to cord - Win32 Debug.
-!ENDIF 
-
-!IF "$(CFG)" != "gc - Win32 Release" && "$(CFG)" != "gc - Win32 Debug" &&\
- "$(CFG)" != "gctest - Win32 Release" && "$(CFG)" != "gctest - Win32 Debug" &&\
- "$(CFG)" != "cord - Win32 Release" && "$(CFG)" != "cord - Win32 Debug"
-!MESSAGE Invalid configuration "$(CFG)" specified.
-!MESSAGE You can specify a configuration when running NMAKE on this makefile
-!MESSAGE by defining the macro CFG on the command line.  For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "gc.mak" CFG="cord - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "gc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "gc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "gctest - Win32 Release" (based on "Win32 (x86) Application")
-!MESSAGE "gctest - Win32 Debug" (based on "Win32 (x86) Application")
-!MESSAGE "cord - Win32 Release" (based on "Win32 (x86) Application")
-!MESSAGE "cord - Win32 Debug" (based on "Win32 (x86) Application")
-!MESSAGE 
-!ERROR An invalid configuration is specified.
-!ENDIF 
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-################################################################################
-# Begin Project
-# PROP Target_Last_Scanned "gctest - Win32 Debug"
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-OUTDIR=.\Release
-INTDIR=.\Release
-
-ALL : ".\Release\gc.dll" ".\Release\gc.bsc"
-
-CLEAN : 
-	- at erase ".\Release\allchblk.obj"
-	- at erase ".\Release\allchblk.sbr"
-	- at erase ".\Release\alloc.obj"
-	- at erase ".\Release\alloc.sbr"
-	- at erase ".\Release\blacklst.obj"
-	- at erase ".\Release\blacklst.sbr"
-	- at erase ".\Release\checksums.obj"
-	- at erase ".\Release\checksums.sbr"
-	- at erase ".\Release\dbg_mlc.obj"
-	- at erase ".\Release\dbg_mlc.sbr"
-	- at erase ".\Release\dyn_load.obj"
-	- at erase ".\Release\dyn_load.sbr"
-	- at erase ".\Release\finalize.obj"
-	- at erase ".\Release\finalize.sbr"
-	- at erase ".\Release\gc.bsc"
-	- at erase ".\Release\gc_cpp.obj"
-	- at erase ".\Release\gc_cpp.sbr"
-	- at erase ".\Release\gc.dll"
-	- at erase ".\Release\gc.exp"
-	- at erase ".\Release\gc.lib"
-	- at erase ".\Release\headers.obj"
-	- at erase ".\Release\headers.sbr"
-	- at erase ".\Release\mach_dep.obj"
-	- at erase ".\Release\mach_dep.sbr"
-	- at erase ".\Release\malloc.obj"
-	- at erase ".\Release\malloc.sbr"
-	- at erase ".\Release\mallocx.obj"
-	- at erase ".\Release\mallocx.sbr"
-	- at erase ".\Release\mark.obj"
-	- at erase ".\Release\mark.sbr"
-	- at erase ".\Release\mark_rts.obj"
-	- at erase ".\Release\mark_rts.sbr"
-	- at erase ".\Release\misc.obj"
-	- at erase ".\Release\misc.sbr"
-	- at erase ".\Release\new_hblk.obj"
-	- at erase ".\Release\new_hblk.sbr"
-	- at erase ".\Release\obj_map.obj"
-	- at erase ".\Release\obj_map.sbr"
-	- at erase ".\Release\os_dep.obj"
-	- at erase ".\Release\os_dep.sbr"
-	- at erase ".\Release\ptr_chck.obj"
-	- at erase ".\Release\ptr_chck.sbr"
-	- at erase ".\Release\reclaim.obj"
-	- at erase ".\Release\reclaim.sbr"
-	- at erase ".\Release\stubborn.obj"
-	- at erase ".\Release\stubborn.sbr"
-	- at erase ".\Release\typd_mlc.obj"
-	- at erase ".\Release\typd_mlc.sbr"
-	- at erase ".\Release\win32_threads.obj"
-	- at erase ".\Release\win32_threads.sbr"
-	- at erase ".\Release\msvc_dbg.obj"
-	- at erase ".\Release\msvc_dbg.sbr"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I include /D "NDEBUG" /D "GC_BUILD" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "GC_WIN32_THREADS" /FR /YX /c
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I include /D "NDEBUG" /D "GC_BUILD" /D\
- "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D\
- "GC_WIN32_THREADS" /FR"$(INTDIR)/" /Fp"$(INTDIR)/gc.pch" \
- /Ilibatomic_ops-$(AO_VERSION)/src /YX /Fo"$(INTDIR)/" /c 
-CPP_OBJS=.\Release/
-CPP_SBRS=.\Release/
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.c{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /win32
-MTL_PROJ=/nologo /D "NDEBUG" /win32 
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "NDEBUG"
-# ADD RSC /l 0x809 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/gc.bsc" 
-BSC32_SBRS= \
-	".\Release\allchblk.sbr" \
-	".\Release\alloc.sbr" \
-	".\Release\blacklst.sbr" \
-	".\Release\checksums.sbr" \
-	".\Release\dbg_mlc.sbr" \
-	".\Release\dyn_load.sbr" \
-	".\Release\finalize.sbr" \
-	".\Release\gc_cpp.sbr" \
-	".\Release\headers.sbr" \
-	".\Release\mach_dep.sbr" \
-	".\Release\malloc.sbr" \
-	".\Release\mallocx.sbr" \
-	".\Release\mark.sbr" \
-	".\Release\mark_rts.sbr" \
-	".\Release\misc.sbr" \
-	".\Release\new_hblk.sbr" \
-	".\Release\obj_map.sbr" \
-	".\Release\os_dep.sbr" \
-	".\Release\ptr_chck.sbr" \
-	".\Release\reclaim.sbr" \
-	".\Release\stubborn.sbr" \
-	".\Release\typd_mlc.sbr" \
-	".\Release\msvc_dbg.sbr" \
-	".\Release\win32_threads.sbr"
-
-".\Release\gc.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
-    $(BSC32) @<<
-  $(BSC32_FLAGS) $(BSC32_SBRS)
-<<
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\
- /pdb:"$(OUTDIR)/gc.pdb" /machine:I386 /out:"$(OUTDIR)/gc.dll"\
- /implib:"$(OUTDIR)/gc.lib" 
-LINK32_OBJS= \
-	".\Release\allchblk.obj" \
-	".\Release\alloc.obj" \
-	".\Release\blacklst.obj" \
-	".\Release\checksums.obj" \
-	".\Release\dbg_mlc.obj" \
-	".\Release\dyn_load.obj" \
-	".\Release\finalize.obj" \
-	".\Release\gc_cpp.obj" \
-	".\Release\headers.obj" \
-	".\Release\mach_dep.obj" \
-	".\Release\malloc.obj" \
-	".\Release\mallocx.obj" \
-	".\Release\mark.obj" \
-	".\Release\mark_rts.obj" \
-	".\Release\misc.obj" \
-	".\Release\new_hblk.obj" \
-	".\Release\obj_map.obj" \
-	".\Release\os_dep.obj" \
-	".\Release\ptr_chck.obj" \
-	".\Release\reclaim.obj" \
-	".\Release\stubborn.obj" \
-	".\Release\typd_mlc.obj" \
-	".\Release\msvc_dbg.obj" \
-	".\Release\win32_threads.obj"
-
-".\Release\gc.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-OUTDIR=.\Debug
-INTDIR=.\Debug
-
-ALL : ".\Debug\gc.dll" ".\Debug\gc.bsc"
-
-CLEAN : 
-	- at erase ".\Debug\allchblk.obj"
-	- at erase ".\Debug\allchblk.sbr"
-	- at erase ".\Debug\alloc.obj"
-	- at erase ".\Debug\alloc.sbr"
-	- at erase ".\Debug\blacklst.obj"
-	- at erase ".\Debug\blacklst.sbr"
-	- at erase ".\Debug\checksums.obj"
-	- at erase ".\Debug\checksums.sbr"
-	- at erase ".\Debug\dbg_mlc.obj"
-	- at erase ".\Debug\dbg_mlc.sbr"
-	- at erase ".\Debug\dyn_load.obj"
-	- at erase ".\Debug\dyn_load.sbr"
-	- at erase ".\Debug\finalize.obj"
-	- at erase ".\Debug\finalize.sbr"
-	- at erase ".\Debug\gc_cpp.obj"
-	- at erase ".\Debug\gc_cpp.sbr"
-	- at erase ".\Debug\gc.bsc"
-	- at erase ".\Debug\gc.dll"
-	- at erase ".\Debug\gc.exp"
-	- at erase ".\Debug\gc.lib"
-	- at erase ".\Debug\gc.map"
-	- at erase ".\Debug\gc.pdb"
-	- at erase ".\Debug\headers.obj"
-	- at erase ".\Debug\headers.sbr"
-	- at erase ".\Debug\mach_dep.obj"
-	- at erase ".\Debug\mach_dep.sbr"
-	- at erase ".\Debug\malloc.obj"
-	- at erase ".\Debug\malloc.sbr"
-	- at erase ".\Debug\mallocx.obj"
-	- at erase ".\Debug\mallocx.sbr"
-	- at erase ".\Debug\mark.obj"
-	- at erase ".\Debug\mark.sbr"
-	- at erase ".\Debug\mark_rts.obj"
-	- at erase ".\Debug\mark_rts.sbr"
-	- at erase ".\Debug\misc.obj"
-	- at erase ".\Debug\misc.sbr"
-	- at erase ".\Debug\new_hblk.obj"
-	- at erase ".\Debug\new_hblk.sbr"
-	- at erase ".\Debug\obj_map.obj"
-	- at erase ".\Debug\obj_map.sbr"
-	- at erase ".\Debug\os_dep.obj"
-	- at erase ".\Debug\os_dep.sbr"
-	- at erase ".\Debug\ptr_chck.obj"
-	- at erase ".\Debug\ptr_chck.sbr"
-	- at erase ".\Debug\reclaim.obj"
-	- at erase ".\Debug\reclaim.sbr"
-	- at erase ".\Debug\stubborn.obj"
-	- at erase ".\Debug\stubborn.sbr"
-	- at erase ".\Debug\typd_mlc.obj"
-	- at erase ".\Debug\typd_mlc.sbr"
-	- at erase ".\Debug\vc40.idb"
-	- at erase ".\Debug\vc40.pdb"
-	- at erase ".\Debug\win32_threads.obj"
-	- at erase ".\Debug\win32_threads.sbr"
-	- at erase ".\Debug\msvc_dbg.obj"
-	- at erase ".\Debug\msvc_dbg.sbr"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I include /D "_DEBUG" /D "GC_BUILD" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "GC_WIN32_THREADS" /FR /YX /c
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I include /D "_DEBUG" /D "GC_BUILD"\
- /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" \
- /D "GC_ASSERTIONS" /D "__STDC__" /D\
- "GC_WIN32_THREADS" /FR"$(INTDIR)/" /Fp"$(INTDIR)/gc.pch" /YX /Fo"$(INTDIR)/"\
- /Ilibatomic_ops-$(AO_VERSION)/src /Fd"$(INTDIR)/" /c 
-CPP_OBJS=.\Debug/
-CPP_SBRS=.\Debug/
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.c{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /win32
-MTL_PROJ=/nologo /D "_DEBUG" /win32 
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "_DEBUG"
-# ADD RSC /l 0x809 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/gc.bsc" 
-BSC32_SBRS= \
-	".\Debug\allchblk.sbr" \
-	".\Debug\alloc.sbr" \
-	".\Debug\blacklst.sbr" \
-	".\Debug\checksums.sbr" \
-	".\Debug\dbg_mlc.sbr" \
-	".\Debug\dyn_load.sbr" \
-	".\Debug\finalize.sbr" \
-	".\Debug\gc_cpp.sbr" \
-	".\Debug\headers.sbr" \
-	".\Debug\mach_dep.sbr" \
-	".\Debug\malloc.sbr" \
-	".\Debug\mallocx.sbr" \
-	".\Debug\mark.sbr" \
-	".\Debug\mark_rts.sbr" \
-	".\Debug\misc.sbr" \
-	".\Debug\new_hblk.sbr" \
-	".\Debug\obj_map.sbr" \
-	".\Debug\os_dep.sbr" \
-	".\Debug\ptr_chck.sbr" \
-	".\Debug\reclaim.sbr" \
-	".\Debug\stubborn.sbr" \
-	".\Debug\typd_mlc.sbr" \
-	".\Debug\msvc_dbg.sbr" \
-	".\Debug\win32_threads.sbr"
-
-".\Debug\gc.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
-    $(BSC32) @<<
-  $(BSC32_FLAGS) $(BSC32_SBRS)
-<<
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\
- /pdb:"$(OUTDIR)/gc.pdb" /map:"$(INTDIR)/gc.map" /debug /machine:I386\
- /out:"$(OUTDIR)/gc.dll" /implib:"$(OUTDIR)/gc.lib" 
-LINK32_OBJS= \
-	".\Debug\allchblk.obj" \
-	".\Debug\alloc.obj" \
-	".\Debug\blacklst.obj" \
-	".\Debug\checksums.obj" \
-	".\Debug\dbg_mlc.obj" \
-	".\Debug\dyn_load.obj" \
-	".\Debug\finalize.obj" \
-	".\Debug\gc_cpp.obj" \
-	".\Debug\headers.obj" \
-	".\Debug\mach_dep.obj" \
-	".\Debug\malloc.obj" \
-	".\Debug\mallocx.obj" \
-	".\Debug\mark.obj" \
-	".\Debug\mark_rts.obj" \
-	".\Debug\misc.obj" \
-	".\Debug\new_hblk.obj" \
-	".\Debug\obj_map.obj" \
-	".\Debug\os_dep.obj" \
-	".\Debug\ptr_chck.obj" \
-	".\Debug\reclaim.obj" \
-	".\Debug\stubborn.obj" \
-	".\Debug\typd_mlc.obj" \
-	".\Debug\msvc_dbg.obj" \
-	".\Debug\win32_threads.obj"
-
-".\Debug\gc.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "gctest - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "gctest\Release"
-# PROP BASE Intermediate_Dir "gctest\Release"
-# PROP BASE Target_Dir "gctest"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "gctest\Release"
-# PROP Intermediate_Dir "gctest\Release"
-# PROP Target_Dir "gctest"
-OUTDIR=.\gctest\Release
-INTDIR=.\gctest\Release
-
-ALL : "gc - Win32 Release" ".\Release\gctest.exe"
-
-CLEAN : 
-	- at erase ".\gctest\Release\test.obj"
-	- at erase ".\Release\gctest.exe"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-test.c : tests\test.c
-	copy tests\test.c test.c
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I include /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "GC_WIN32_THREADS" /YX /c
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I include /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D\
- "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "GC_WIN32_THREADS"\
- /Ilibatomic_ops-$(AO_VERSION)/src /Fp"$(INTDIR)/gctest.pch" \
- /YX /Fo"$(INTDIR)/" /c 
-CPP_OBJS=.\gctest\Release/
-CPP_SBRS=.\.
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.c{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /win32
-MTL_PROJ=/nologo /D "NDEBUG" /win32 
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "NDEBUG"
-# ADD RSC /l 0x809 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/gctest.bsc" 
-BSC32_SBRS= \
-	
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"Release/gctest.exe"
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /incremental:no\
- /pdb:"$(OUTDIR)/gctest.pdb" /machine:I386 /out:"Release/gctest.exe" 
-LINK32_OBJS= \
-	".\gctest\Release\test.obj" \
-	".\Release\gc.lib"
-
-".\Release\gctest.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "gctest - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "gctest\Debug"
-# PROP BASE Intermediate_Dir "gctest\Debug"
-# PROP BASE Target_Dir "gctest"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "gctest\Debug"
-# PROP Intermediate_Dir "gctest\Debug"
-# PROP Target_Dir "gctest"
-OUTDIR=.\gctest\Debug
-INTDIR=.\gctest\Debug
-
-ALL : "gc - Win32 Debug" ".\Debug\gctest.exe" ".\gctest\Debug\gctest.bsc"
-
-CLEAN : 
-	- at erase ".\Debug\gctest.exe"
-	- at erase ".\gctest\Debug\gctest.bsc"
-	- at erase ".\gctest\Debug\gctest.map"
-	- at erase ".\gctest\Debug\gctest.pdb"
-	- at erase ".\gctest\Debug\test.obj"
-	- at erase ".\gctest\Debug\test.sbr"
-	- at erase ".\gctest\Debug\vc40.idb"
-	- at erase ".\gctest\Debug\vc40.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "GC_WIN32_THREADS" /FR /YX /c
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I include /D "_DEBUG" /D "WIN32" /D "_WINDOWS"\
- /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "GC_WIN32_THREADS" /FR"$(INTDIR)/"\
- /Ilibatomic_ops-$(AO_VERSION)/src /Fp"$(INTDIR)/gctest.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c 
-CPP_OBJS=.\gctest\Debug/
-CPP_SBRS=.\gctest\Debug/
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.c{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /win32
-MTL_PROJ=/nologo /D "_DEBUG" /win32 
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "_DEBUG"
-# ADD RSC /l 0x809 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/gctest.bsc" 
-BSC32_SBRS= \
-	".\gctest\Debug\test.sbr"
-
-".\gctest\Debug\gctest.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
-    $(BSC32) @<<
-  $(BSC32_FLAGS) $(BSC32_SBRS)
-<<
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:no /map /debug /machine:I386 /out:"Debug/gctest.exe"
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /incremental:no\
- /pdb:"$(OUTDIR)/gctest.pdb" /map:"$(INTDIR)/gctest.map" /debug /machine:I386\
- /out:"Debug/gctest.exe" 
-LINK32_OBJS= \
-	".\Debug\gc.lib" \
-	".\gctest\Debug\test.obj"
-
-".\Debug\gctest.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "cord\Release"
-# PROP BASE Intermediate_Dir "cord\Release"
-# PROP BASE Target_Dir "cord"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "cord\Release"
-# PROP Intermediate_Dir "cord\Release"
-# PROP Target_Dir "cord"
-OUTDIR=.\cord\Release
-INTDIR=.\cord\Release
-
-ALL : "gc - Win32 Release" ".\Release\de.exe"
-
-CLEAN : 
-	- at erase ".\cord\Release\cordbscs.obj"
-	- at erase ".\cord\Release\cordxtra.obj"
-	- at erase ".\cord\Release\de.obj"
-	- at erase ".\cord\Release\de_win.obj"
-	- at erase ".\cord\Release\de_win.res"
-	- at erase ".\Release\de.exe"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /YX /c
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "." /I include /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D\
- /Ilibatomic_ops-$(AO_VERSION)/src "ALL_INTERIOR_POINTERS" /Fp"$(INTDIR)/cord.pch" /YX /Fo"$(INTDIR)/" /c 
-CPP_OBJS=.\cord\Release/
-CPP_SBRS=.\.
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.c{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /win32
-MTL_PROJ=/nologo /D "NDEBUG" /win32 
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "NDEBUG"
-# ADD RSC /l 0x809 /d "NDEBUG"
-RSC_PROJ=/l 0x809 /fo"$(INTDIR)/de_win.res" /d "NDEBUG" 
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/cord.bsc" 
-BSC32_SBRS= \
-	
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"Release/de.exe"
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /incremental:no /pdb:"$(OUTDIR)/de.pdb"\
- /machine:I386 /out:"Release/de.exe" 
-LINK32_OBJS= \
-	".\cord\Release\cordbscs.obj" \
-	".\cord\Release\cordxtra.obj" \
-	".\cord\Release\de.obj" \
-	".\cord\Release\de_win.obj" \
-	".\cord\Release\de_win.res" \
-	".\Release\gc.lib"
-
-".\Release\de.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "cord\Debug"
-# PROP BASE Intermediate_Dir "cord\Debug"
-# PROP BASE Target_Dir "cord"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "cord\Debug"
-# PROP Intermediate_Dir "cord\Debug"
-# PROP Target_Dir "cord"
-OUTDIR=.\cord\Debug
-INTDIR=.\cord\Debug
-
-ALL : "gc - Win32 Debug" ".\Debug\de.exe"
-
-CLEAN : 
-	- at erase ".\cord\Debug\cordbscs.obj"
-	- at erase ".\cord\Debug\cordxtra.obj"
-	- at erase ".\cord\Debug\de.obj"
-	- at erase ".\cord\Debug\de.pdb"
-	- at erase ".\cord\Debug\de_win.obj"
-	- at erase ".\cord\Debug\de_win.res"
-	- at erase ".\cord\Debug\vc40.idb"
-	- at erase ".\cord\Debug\vc40.pdb"
-	- at erase ".\Debug\de.exe"
-	- at erase ".\Debug\de.ilk"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /YX /c
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I "." /I include /D "_DEBUG" /D "WIN32" /D\
- "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /Fp"$(INTDIR)/cord.pch" /YX\
- /Ilibatomic_ops-$(AO_VERSION)/src /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c 
-CPP_OBJS=.\cord\Debug/
-CPP_SBRS=.\.
-
-.c{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_OBJS)}.obj:
-   $(CPP) $(CPP_PROJ) $<  
-
-.c{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cpp{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-.cxx{$(CPP_SBRS)}.sbr:
-   $(CPP) $(CPP_PROJ) $<  
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /win32
-MTL_PROJ=/nologo /D "_DEBUG" /win32 
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "_DEBUG"
-# ADD RSC /l 0x809 /d "_DEBUG"
-RSC_PROJ=/l 0x809 /fo"$(INTDIR)/de_win.res" /d "_DEBUG" 
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/cord.bsc" 
-BSC32_SBRS= \
-	
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /out:"Debug/de.exe"
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /incremental:yes\
- /pdb:"$(OUTDIR)/de.pdb" /debug /machine:I386 /out:"Debug/de.exe" 
-LINK32_OBJS= \
-	".\cord\Debug\cordbscs.obj" \
-	".\cord\Debug\cordxtra.obj" \
-	".\cord\Debug\de.obj" \
-	".\cord\Debug\de_win.obj" \
-	".\cord\Debug\de_win.res" \
-	".\Debug\gc.lib"
-
-".\Debug\de.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ENDIF 
-
-################################################################################
-# Begin Target
-
-# Name "gc - Win32 Release"
-# Name "gc - Win32 Debug"
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-!ENDIF 
-
-################################################################################
-# Begin Source File
-
-SOURCE=.\gc_cpp.cpp
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_RECLA=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	".\include\gc_cpp.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_RECLA=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\gc_cpp.obj" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-".\Release\gc_cpp.sbr" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_RECLA=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	".\include\gc_cpp.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_RECLA=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\gc_cpp.obj" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-".\Debug\gc_cpp.sbr" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\reclaim.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_RECLA=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_RECLA=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\reclaim.obj" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-".\Release\reclaim.sbr" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_RECLA=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_RECLA=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\reclaim.obj" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-".\Debug\reclaim.sbr" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-
-################################################################################
-# Begin Source File
-
-SOURCE=.\os_dep.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_OS_DE=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\STAT.H"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_OS_DE=\
-	".\il\PCR_IL.h"\
-	".\mm\PCR_MM.h"\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	".\vd\PCR_VD.h"\
-	
-
-".\Release\os_dep.obj" : $(SOURCE) $(DEP_CPP_OS_DE) "$(INTDIR)"
-
-".\Release\os_dep.sbr" : $(SOURCE) $(DEP_CPP_OS_DE) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_OS_DE=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\STAT.H"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_OS_DE=\
-	".\il\PCR_IL.h"\
-	".\mm\PCR_MM.h"\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	".\vd\PCR_VD.h"\
-	
-
-".\Debug\os_dep.obj" : $(SOURCE) $(DEP_CPP_OS_DE) "$(INTDIR)"
-
-".\Debug\os_dep.sbr" : $(SOURCE) $(DEP_CPP_OS_DE) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\misc.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MISC_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MISC_=\
-	".\il\PCR_IL.h"\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\misc.obj" : $(SOURCE) $(DEP_CPP_MISC_) "$(INTDIR)"
-
-".\Release\misc.sbr" : $(SOURCE) $(DEP_CPP_MISC_) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MISC_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MISC_=\
-	".\il\PCR_IL.h"\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\misc.obj" : $(SOURCE) $(DEP_CPP_MISC_) "$(INTDIR)"
-
-".\Debug\misc.sbr" : $(SOURCE) $(DEP_CPP_MISC_) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\mark_rts.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MARK_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MARK_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\mark_rts.obj" : $(SOURCE) $(DEP_CPP_MARK_) "$(INTDIR)"
-
-".\Release\mark_rts.sbr" : $(SOURCE) $(DEP_CPP_MARK_) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MARK_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MARK_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\mark_rts.obj" : $(SOURCE) $(DEP_CPP_MARK_) "$(INTDIR)"
-
-".\Debug\mark_rts.sbr" : $(SOURCE) $(DEP_CPP_MARK_) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\mach_dep.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MACH_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MACH_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\mach_dep.obj" : $(SOURCE) $(DEP_CPP_MACH_) "$(INTDIR)"
-
-".\Release\mach_dep.sbr" : $(SOURCE) $(DEP_CPP_MACH_) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MACH_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MACH_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\mach_dep.obj" : $(SOURCE) $(DEP_CPP_MACH_) "$(INTDIR)"
-
-".\Debug\mach_dep.sbr" : $(SOURCE) $(DEP_CPP_MACH_) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\headers.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_HEADE=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_HEADE=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\headers.obj" : $(SOURCE) $(DEP_CPP_HEADE) "$(INTDIR)"
-
-".\Release\headers.sbr" : $(SOURCE) $(DEP_CPP_HEADE) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_HEADE=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_HEADE=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\headers.obj" : $(SOURCE) $(DEP_CPP_HEADE) "$(INTDIR)"
-
-".\Debug\headers.sbr" : $(SOURCE) $(DEP_CPP_HEADE) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\alloc.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_ALLOC=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_ALLOC=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\alloc.obj" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)"
-
-".\Release\alloc.sbr" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_ALLOC=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_ALLOC=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\alloc.obj" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)"
-
-".\Debug\alloc.sbr" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\allchblk.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_ALLCH=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_ALLCH=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\allchblk.obj" : $(SOURCE) $(DEP_CPP_ALLCH) "$(INTDIR)"
-
-".\Release\allchblk.sbr" : $(SOURCE) $(DEP_CPP_ALLCH) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_ALLCH=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_ALLCH=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\allchblk.obj" : $(SOURCE) $(DEP_CPP_ALLCH) "$(INTDIR)"
-
-".\Debug\allchblk.sbr" : $(SOURCE) $(DEP_CPP_ALLCH) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\stubborn.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_STUBB=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_STUBB=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\stubborn.obj" : $(SOURCE) $(DEP_CPP_STUBB) "$(INTDIR)"
-
-".\Release\stubborn.sbr" : $(SOURCE) $(DEP_CPP_STUBB) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_STUBB=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_STUBB=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\stubborn.obj" : $(SOURCE) $(DEP_CPP_STUBB) "$(INTDIR)"
-
-".\Debug\stubborn.sbr" : $(SOURCE) $(DEP_CPP_STUBB) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\obj_map.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_OBJ_M=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_OBJ_M=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\obj_map.obj" : $(SOURCE) $(DEP_CPP_OBJ_M) "$(INTDIR)"
-
-".\Release\obj_map.sbr" : $(SOURCE) $(DEP_CPP_OBJ_M) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_OBJ_M=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_OBJ_M=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\obj_map.obj" : $(SOURCE) $(DEP_CPP_OBJ_M) "$(INTDIR)"
-
-".\Debug\obj_map.sbr" : $(SOURCE) $(DEP_CPP_OBJ_M) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\new_hblk.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_NEW_H=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_NEW_H=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\new_hblk.obj" : $(SOURCE) $(DEP_CPP_NEW_H) "$(INTDIR)"
-
-".\Release\new_hblk.sbr" : $(SOURCE) $(DEP_CPP_NEW_H) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_NEW_H=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_NEW_H=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\new_hblk.obj" : $(SOURCE) $(DEP_CPP_NEW_H) "$(INTDIR)"
-
-".\Debug\new_hblk.sbr" : $(SOURCE) $(DEP_CPP_NEW_H) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\mark.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MARK_C=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MARK_C=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\mark.obj" : $(SOURCE) $(DEP_CPP_MARK_C) "$(INTDIR)"
-
-".\Release\mark.sbr" : $(SOURCE) $(DEP_CPP_MARK_C) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MARK_C=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MARK_C=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\mark.obj" : $(SOURCE) $(DEP_CPP_MARK_C) "$(INTDIR)"
-
-".\Debug\mark.sbr" : $(SOURCE) $(DEP_CPP_MARK_C) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\malloc.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MALLO=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MALLO=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)"
-
-".\Release\malloc.sbr" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MALLO=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MALLO=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)"
-
-".\Debug\malloc.sbr" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\mallocx.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MALLX=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MALLX=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\mallocx.obj" : $(SOURCE) $(DEP_CPP_MALLX) "$(INTDIR)"
-
-".\Release\mallocx.sbr" : $(SOURCE) $(DEP_CPP_MALLX) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MALLX=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_MALLX=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\mallocx.obj" : $(SOURCE) $(DEP_CPP_MALLX) "$(INTDIR)"
-
-".\Debug\mallocx.sbr" : $(SOURCE) $(DEP_CPP_MALLX) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\finalize.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_FINAL=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_FINAL=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\finalize.obj" : $(SOURCE) $(DEP_CPP_FINAL) "$(INTDIR)"
-
-".\Release\finalize.sbr" : $(SOURCE) $(DEP_CPP_FINAL) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_FINAL=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_FINAL=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\finalize.obj" : $(SOURCE) $(DEP_CPP_FINAL) "$(INTDIR)"
-
-".\Debug\finalize.sbr" : $(SOURCE) $(DEP_CPP_FINAL) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\dbg_mlc.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_DBG_M=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_DBG_M=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\dbg_mlc.obj" : $(SOURCE) $(DEP_CPP_DBG_M) "$(INTDIR)"
-
-".\Release\dbg_mlc.sbr" : $(SOURCE) $(DEP_CPP_DBG_M) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_DBG_M=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_DBG_M=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\dbg_mlc.obj" : $(SOURCE) $(DEP_CPP_DBG_M) "$(INTDIR)"
-
-".\Debug\dbg_mlc.sbr" : $(SOURCE) $(DEP_CPP_DBG_M) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\blacklst.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_BLACK=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_BLACK=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\blacklst.obj" : $(SOURCE) $(DEP_CPP_BLACK) "$(INTDIR)"
-
-".\Release\blacklst.sbr" : $(SOURCE) $(DEP_CPP_BLACK) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_BLACK=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_BLACK=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\blacklst.obj" : $(SOURCE) $(DEP_CPP_BLACK) "$(INTDIR)"
-
-".\Debug\blacklst.sbr" : $(SOURCE) $(DEP_CPP_BLACK) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\typd_mlc.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_TYPD_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	".\include\gc_typed.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_TYPD_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\typd_mlc.obj" : $(SOURCE) $(DEP_CPP_TYPD_) "$(INTDIR)"
-
-".\Release\typd_mlc.sbr" : $(SOURCE) $(DEP_CPP_TYPD_) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_TYPD_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	".\include\gc_typed.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_TYPD_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\typd_mlc.obj" : $(SOURCE) $(DEP_CPP_TYPD_) "$(INTDIR)"
-
-".\Debug\typd_mlc.sbr" : $(SOURCE) $(DEP_CPP_TYPD_) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\ptr_chck.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_PTR_C=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_PTR_C=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\ptr_chck.obj" : $(SOURCE) $(DEP_CPP_PTR_C) "$(INTDIR)"
-
-".\Release\ptr_chck.sbr" : $(SOURCE) $(DEP_CPP_PTR_C) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_PTR_C=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_pmark.h"\
-	".\include\gc_mark.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_PTR_C=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\ptr_chck.obj" : $(SOURCE) $(DEP_CPP_PTR_C) "$(INTDIR)"
-
-".\Debug\ptr_chck.sbr" : $(SOURCE) $(DEP_CPP_PTR_C) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\dyn_load.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_DYN_L=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\STAT.H"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_DYN_L=\
-	".\il\PCR_IL.h"\
-	".\mm\PCR_MM.h"\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\dyn_load.obj" : $(SOURCE) $(DEP_CPP_DYN_L) "$(INTDIR)"
-
-".\Release\dyn_load.sbr" : $(SOURCE) $(DEP_CPP_DYN_L) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_DYN_L=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\STAT.H"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_DYN_L=\
-	".\il\PCR_IL.h"\
-	".\mm\PCR_MM.h"\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\dyn_load.obj" : $(SOURCE) $(DEP_CPP_DYN_L) "$(INTDIR)"
-
-".\Debug\dyn_load.sbr" : $(SOURCE) $(DEP_CPP_DYN_L) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\win32_threads.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_WIN32=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_WIN32=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\win32_threads.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-".\Release\win32_threads.sbr" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_WIN32=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_WIN32=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\win32_threads.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-".\Debug\win32_threads.sbr" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\msvc_dbg.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_WIN32=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	".\include\private\msvc_dbg.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_WIN32=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\msvc_dbg.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-".\Release\msvc_dbg.sbr" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_WIN32=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	".\include\private\msvc_dbg.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_WIN32=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\msvc_dbg.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-".\Debug\msvc_dbg.sbr" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\checksums.c
-
-!IF  "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_CHECK=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_CHECK=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Release\checksums.obj" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
-
-".\Release\checksums.sbr" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_CHECK=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_CHECK=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-".\Debug\checksums.obj" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
-
-".\Debug\checksums.sbr" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-# End Target
-################################################################################
-# Begin Target
-
-# Name "gctest - Win32 Release"
-# Name "gctest - Win32 Debug"
-
-!IF  "$(CFG)" == "gctest - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "gctest - Win32 Debug"
-
-!ENDIF 
-
-################################################################################
-# Begin Project Dependency
-
-# Project_Dep_Name "gc"
-
-!IF  "$(CFG)" == "gctest - Win32 Release"
-
-"gc - Win32 Release" : 
-   $(MAKE) /$(MAKEFLAGS) /F ".\gc.mak" CFG="gc - Win32 Release" 
-
-!ELSEIF  "$(CFG)" == "gctest - Win32 Debug"
-
-"gc - Win32 Debug" : 
-   $(MAKE) /$(MAKEFLAGS) /F ".\gc.mak" CFG="gc - Win32 Debug" 
-
-!ENDIF 
-
-# End Project Dependency
-################################################################################
-# Begin Source File
-
-SOURCE=.\tests\test.c
-DEP_CPP_TEST_=\
-	".\include\private\gcconfig.h"\
-	".\include\gc.h"\
-	".\include\private\gc_hdrs.h"\
-	".\include\private\gc_priv.h"\
-	".\include\gc_typed.h"\
-	{$(INCLUDE)}"\sys\TYPES.H"\
-	
-NODEP_CPP_TEST_=\
-	".\th\PCR_Th.h"\
-	".\th\PCR_ThCrSec.h"\
-	".\th\PCR_ThCtl.h"\
-	
-
-!IF  "$(CFG)" == "gctest - Win32 Release"
-
-
-".\gctest\Release\test.obj" : $(SOURCE) $(DEP_CPP_TEST_) "$(INTDIR)"
-
-
-!ELSEIF  "$(CFG)" == "gctest - Win32 Debug"
-
-
-".\gctest\Debug\test.obj" : $(SOURCE) $(DEP_CPP_TEST_) "$(INTDIR)"
-
-".\gctest\Debug\test.sbr" : $(SOURCE) $(DEP_CPP_TEST_) "$(INTDIR)"
-
-
-!ENDIF 
-
-# End Source File
-# End Target
-################################################################################
-# Begin Target
-
-# Name "cord - Win32 Release"
-# Name "cord - Win32 Debug"
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-!ENDIF 
-
-################################################################################
-# Begin Project Dependency
-
-# Project_Dep_Name "gc"
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-"gc - Win32 Release" : 
-   $(MAKE) /$(MAKEFLAGS) /F ".\gc.mak" CFG="gc - Win32 Release" 
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-"gc - Win32 Debug" : 
-   $(MAKE) /$(MAKEFLAGS) /F ".\gc.mak" CFG="gc - Win32 Debug" 
-
-!ENDIF 
-
-# End Project Dependency
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\de_win.c
-DEP_CPP_DE_WI=\
-	".\include\cord.h"\
-	".\cord\de_cmds.h"\
-	".\cord\de_win.h"\
-	".\include\private\cord_pos.h"\
-	
-NODEP_CPP_DE_WI=\
-	".\include\gc.h"\
-	
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\de_win.obj" : $(SOURCE) $(DEP_CPP_DE_WI) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\de_win.obj" : $(SOURCE) $(DEP_CPP_DE_WI) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\de.c
-DEP_CPP_DE_C2e=\
-	".\include\cord.h"\
-	".\cord\de_cmds.h"\
-	".\cord\de_win.h"\
-	".\include\private\cord_pos.h"\
-	
-NODEP_CPP_DE_C2e=\
-	".\include\gc.h"\
-	
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\de.obj" : $(SOURCE) $(DEP_CPP_DE_C2e) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\de.obj" : $(SOURCE) $(DEP_CPP_DE_C2e) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\cordxtra.c
-DEP_CPP_CORDX=\
-	".\include\cord.h"\
-	".\include\ec.h"\
-	".\include\private\cord_pos.h"\
-	
-NODEP_CPP_CORDX=\
-	".\include\gc.h"\
-	
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\cordxtra.obj" : $(SOURCE) $(DEP_CPP_CORDX) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\cordxtra.obj" : $(SOURCE) $(DEP_CPP_CORDX) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\cordbscs.c
-DEP_CPP_CORDB=\
-	".\include\cord.h"\
-	".\include\private\cord_pos.h"\
-	
-NODEP_CPP_CORDB=\
-	".\include\gc.h"\
-	
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\cordbscs.obj" : $(SOURCE) $(DEP_CPP_CORDB) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\cordbscs.obj" : $(SOURCE) $(DEP_CPP_CORDB) "$(INTDIR)"
-   $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF 
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\de_win.RC
-
-!IF  "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\de_win.res" : $(SOURCE) "$(INTDIR)"
-   $(RSC) /l 0x809 /fo"$(INTDIR)/de_win.res" /i "cord" /d "NDEBUG" $(SOURCE)
-
-
-!ELSEIF  "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\de_win.res" : $(SOURCE) "$(INTDIR)"
-   $(RSC) /l 0x809 /fo"$(INTDIR)/de_win.res" /i "cord" /d "_DEBUG" $(SOURCE)
-
-
-!ENDIF 
-
-# End Source File
-# End Target
-# End Project
-################################################################################
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/gc_cpp.cc b/SRC/Boost/tools/build/v2/engine/boehm_gc/gc_cpp.cc
deleted file mode 100755
index 4524e1e..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/gc_cpp.cc
+++ /dev/null
@@ -1,67 +0,0 @@
-/*************************************************************************
-Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- 
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- 
-    Last modified on Sat Nov 19 19:31:14 PST 1994 by ellis
-                  on Sat Jun  8 15:10:00 PST 1994 by boehm
-
-Permission is hereby granted to copy this code for any purpose,
-provided the above notices are retained on all copies.
-
-This implementation module for gc_c++.h provides an implementation of
-the global operators "new" and "delete" that calls the Boehm
-allocator.  All objects allocated by this implementation will be
-non-collectable but part of the root set of the collector.
-
-You should ensure (using implementation-dependent techniques) that the
-linker finds this module before the library that defines the default
-built-in "new" and "delete".
-
-Authors: John R. Ellis and Jesse Hull
-
-**************************************************************************/
-/* Boehm, December 20, 1994 7:26 pm PST */
-
-#include "gc_cpp.h"
-
-void* operator new( size_t size ) {
-    return GC_MALLOC_UNCOLLECTABLE( size );}
-  
-void operator delete( void* obj ) {
-    GC_FREE( obj );}
-  
-#ifdef GC_OPERATOR_NEW_ARRAY
-
-void* operator new[]( size_t size ) {
-    return GC_MALLOC_UNCOLLECTABLE( size );}
-  
-void operator delete[]( void* obj ) {
-    GC_FREE( obj );}
-
-#endif /* GC_OPERATOR_NEW_ARRAY */
-
-#ifdef _MSC_VER
-
-// This new operator is used by VC++ in case of Debug builds !
-void* operator new( size_t size,
-			  int ,//nBlockUse,
-			  const char * szFileName,
-			  int nLine )
-{
-#ifndef GC_DEBUG
-	return GC_malloc_uncollectable( size );
-#else
-	return GC_debug_malloc_uncollectable(size, szFileName, nLine);
-#endif
-}
-
-// This new operator is used by VC++ 7.0 and later in Debug builds.
-void* operator new[](size_t size, int nBlockUse, const char* szFileName, int nLine)
-{
-    return operator new(size, nBlockUse, szFileName, nLine);
-}
-
-#endif /* _MSC_VER */
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/gc_cpp.cpp b/SRC/Boost/tools/build/v2/engine/boehm_gc/gc_cpp.cpp
deleted file mode 100755
index 313cb3b..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/gc_cpp.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-// Visual C++ seems to prefer a .cpp extension to .cc
-#include "gc_cpp.cc"
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/gc_dlopen.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/gc_dlopen.c
deleted file mode 100755
index d9f0e91..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/gc_dlopen.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1997 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 2000 by Hewlett-Packard Company.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Original author: Bill Janssen
- * Heavily modified by Hans Boehm and others
- */
-
-/*
- * This used to be in dyn_load.c.  It was extracted into a separate file
- * to avoid having to link against libdl.{a,so} if the client doesn't call
- * dlopen.  Of course this fails if the collector is in a dynamic
- * library. -HB
- */
-
-#include "private/gc_priv.h"
-
-# if (defined(GC_PTHREADS) && !defined(GC_DARWIN_THREADS)) && !defined(GC_WIN32_PTHREADS)\
-      || defined(GC_SOLARIS_THREADS)
-
-# if defined(dlopen) && !defined(GC_USE_LD_WRAP)
-    /* To support various threads pkgs, gc.h interposes on dlopen by     */
-    /* defining "dlopen" to be "GC_dlopen", which is implemented below.  */
-    /* However, both GC_FirstDLOpenedLinkMap() and GC_dlopen() use the   */
-    /* real system dlopen() in their implementation. We first remove     */
-    /* gc.h's dlopen definition and restore it later, after GC_dlopen(). */
-#   undef dlopen
-# endif
-
-  /* Make sure we're not in the middle of a collection, and make	*/
-  /* sure we don't start any.	Returns previous value of GC_dont_gc.	*/
-  /* This is invoked prior to a dlopen call to avoid synchronization	*/
-  /* issues.  We can't just acquire the allocation lock, since startup 	*/
-  /* code in dlopen may try to allocate.				*/
-  /* This solution risks heap growth in the presence of many dlopen	*/
-  /* calls in either a multithreaded environment, or if the library	*/
-  /* initialization code allocates substantial amounts of GC'ed memory.	*/
-  /* But I don't know of a better solution.				*/
-  static void disable_gc_for_dlopen()
-  {
-    LOCK();
-    while (GC_incremental && GC_collection_in_progress()) {
-	GC_collect_a_little_inner(1000);
-    }
-    ++GC_dont_gc;
-    UNLOCK();
-  }
-
-  /* Redefine dlopen to guarantee mutual exclusion with	*/
-  /* GC_register_dynamic_libraries.			*/
-  /* Should probably happen for other operating	systems, too. */
-
-#include <dlfcn.h>
-
-#ifdef GC_USE_LD_WRAP
-  void * __wrap_dlopen(const char *path, int mode)
-#else
-  void * GC_dlopen(const char *path, int mode)
-#endif
-{
-    void * result;
-    
-#   ifndef USE_PROC_FOR_LIBRARIES
-      disable_gc_for_dlopen();
-#   endif
-#   ifdef GC_USE_LD_WRAP
-      result = (void *)__real_dlopen(path, mode);
-#   else
-      result = dlopen(path, mode);
-#   endif
-#   ifndef USE_PROC_FOR_LIBRARIES
-      GC_enable(); /* undoes disable_gc_for_dlopen */
-#   endif
-    return(result);
-}
-# endif  /* GC_PTHREADS || GC_SOLARIS_THREADS ... */
-
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/gcj_mlc.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/gcj_mlc.c
deleted file mode 100755
index bcd4c3a..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/gcj_mlc.c
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1999-2004 Hewlett-Packard Development Company, L.P.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-/* Boehm, July 31, 1995 5:02 pm PDT */
-
-#ifdef GC_GCJ_SUPPORT
-
-/*
- * This is an allocator interface tuned for gcj (the GNU static
- * java compiler).
- *
- * Each allocated object has a pointer in its first word to a vtable,
- * which for our purposes is simply a structure describing the type of
- * the object.
- * This descriptor structure contains a GC marking descriptor at offset
- * MARK_DESCR_OFFSET.
- *
- * It is hoped that this interface may also be useful for other systems,
- * possibly with some tuning of the constants.  But the immediate goal
- * is to get better gcj performance.
- *
- * We assume:
- *  1) We have an ANSI conforming C compiler.
- *  2) Counting on explicit initialization of this interface is OK.
- *  3) FASTLOCK is not a significant win.
- */
-
-#include "private/gc_pmark.h"
-#include "gc_gcj.h"
-#include "private/dbg_mlc.h"
-
-GC_bool GC_gcj_malloc_initialized = FALSE;
-
-int GC_gcj_kind;	/* Object kind for objects with descriptors     */
-			/* in "vtable".					*/
-int GC_gcj_debug_kind;	/* The kind of objects that is always marked 	*/
-			/* with a mark proc call.			*/
-
-ptr_t * GC_gcjobjfreelist;
-ptr_t * GC_gcjdebugobjfreelist;
-
-/* Caller does not hold allocation lock. */
-void GC_init_gcj_malloc(int mp_index, void * /* really GC_mark_proc */mp)
-{
-    register int i;
-    GC_bool ignore_gcj_info;
-    DCL_LOCK_STATE;
-
-    GC_init();	/* In case it's not already done.	*/
-    LOCK();
-    if (GC_gcj_malloc_initialized) {
-      UNLOCK();
-      return;
-    }
-    GC_gcj_malloc_initialized = TRUE;
-    ignore_gcj_info = (0 != GETENV("GC_IGNORE_GCJ_INFO"));
-    if (GC_print_stats && ignore_gcj_info) {
-        GC_log_printf("Gcj-style type information is disabled!\n");
-    }
-    GC_ASSERT(GC_mark_procs[mp_index] == (GC_mark_proc)0); /* unused */
-    GC_mark_procs[mp_index] = (GC_mark_proc)mp;
-    if (mp_index >= GC_n_mark_procs) ABORT("GC_init_gcj_malloc: bad index");
-    /* Set up object kind gcj-style indirect descriptor. */
-      GC_gcjobjfreelist = (ptr_t *)GC_new_free_list_inner();
-      if (ignore_gcj_info) {
-	/* Use a simple length-based descriptor, thus forcing a fully	*/
-	/* conservative scan.						*/
-	GC_gcj_kind = GC_new_kind_inner((void **)GC_gcjobjfreelist,
-					(0 | GC_DS_LENGTH),
-				        TRUE, TRUE);
-      } else {
-	GC_gcj_kind = GC_new_kind_inner(
-			(void **)GC_gcjobjfreelist,
-			(((word)(-MARK_DESCR_OFFSET - GC_INDIR_PER_OBJ_BIAS))
-	   		 | GC_DS_PER_OBJECT),
-			FALSE, TRUE);
-      }
-    /* Set up object kind for objects that require mark proc call.	*/
-      if (ignore_gcj_info) {
-	GC_gcj_debug_kind = GC_gcj_kind;
-        GC_gcjdebugobjfreelist = GC_gcjobjfreelist;
-      } else {
-        GC_gcjdebugobjfreelist = (ptr_t *)GC_new_free_list_inner();
-	GC_gcj_debug_kind = GC_new_kind_inner(
-				(void **)GC_gcjdebugobjfreelist,
-				GC_MAKE_PROC(mp_index,
-				     	     1 /* allocated with debug info */),
-				FALSE, TRUE);
-      }
-    UNLOCK();
-}
-
-void * GC_clear_stack(void *);
-
-#define GENERAL_MALLOC(lb,k) \
-    GC_clear_stack(GC_generic_malloc_inner((word)lb, k))
-    
-#define GENERAL_MALLOC_IOP(lb,k) \
-    GC_clear_stack(GC_generic_malloc_inner_ignore_off_page(lb, k))
-
-/* We need a mechanism to release the lock and invoke finalizers.	*/
-/* We don't really have an opportunity to do this on a rarely executed	*/
-/* path on which the lock is not held.  Thus we check at a 		*/
-/* rarely executed point at which it is safe to release the lock.	*/
-/* We do this even where we could just call GC_INVOKE_FINALIZERS,	*/
-/* since it's probably cheaper and certainly more uniform.		*/
-/* FIXME - Consider doing the same elsewhere?				*/
-static void maybe_finalize()
-{
-   static int last_finalized_no = 0;
-
-   if (GC_gc_no == last_finalized_no) return;
-   if (!GC_is_initialized) return;
-   UNLOCK();
-   GC_INVOKE_FINALIZERS();
-   last_finalized_no = GC_gc_no;
-   LOCK();
-}
-
-/* Allocate an object, clear it, and store the pointer to the	*/
-/* type structure (vtable in gcj).				*/
-/* This adds a byte at the end of the object if GC_malloc would.*/
-#ifdef THREAD_LOCAL_ALLOC
-  void * GC_core_gcj_malloc(size_t lb, void * ptr_to_struct_containing_descr)
-#else
-  void * GC_gcj_malloc(size_t lb, void * ptr_to_struct_containing_descr)
-#endif
-{
-    ptr_t op;
-    ptr_t * opp;
-    word lg;
-    DCL_LOCK_STATE;
-
-    if(SMALL_OBJ(lb)) {
-	lg = GC_size_map[lb];
-	opp = &(GC_gcjobjfreelist[lg]);
-	LOCK();
-	op = *opp;
-        if(EXPECT(op == 0, 0)) {
-	    maybe_finalize();
-            op = (ptr_t)GENERAL_MALLOC((word)lb, GC_gcj_kind);
-	    if (0 == op) {
-		UNLOCK();
-		return(GC_oom_fn(lb));
-	    }
-        } else {
-            *opp = obj_link(op);
-            GC_bytes_allocd += GRANULES_TO_BYTES(lg);
-        }
-	*(void **)op = ptr_to_struct_containing_descr;
-	GC_ASSERT(((void **)op)[1] == 0);
-	UNLOCK();
-    } else {
-	LOCK();
-	maybe_finalize();
-	op = (ptr_t)GENERAL_MALLOC((word)lb, GC_gcj_kind);
-	if (0 == op) {
-	    UNLOCK();
-	    return(GC_oom_fn(lb));
-	}
-	*(void **)op = ptr_to_struct_containing_descr;
-	UNLOCK();
-    }
-    return((void *) op);
-}
-
-/* Similar to GC_gcj_malloc, but add debug info.  This is allocated	*/
-/* with GC_gcj_debug_kind.						*/
-void * GC_debug_gcj_malloc(size_t lb, void * ptr_to_struct_containing_descr,
-			   GC_EXTRA_PARAMS)
-{
-    void * result;
-
-    /* We're careful to avoid extra calls, which could		 */
-    /* confuse the backtrace.					*/
-    LOCK();
-    maybe_finalize();
-    result = GC_generic_malloc_inner(lb + DEBUG_BYTES, GC_gcj_debug_kind);
-    if (result == 0) {
-	UNLOCK();
-        GC_err_printf("GC_debug_gcj_malloc(%ld, %p) returning NIL (",
-        	      (unsigned long)lb, ptr_to_struct_containing_descr);
-        GC_err_puts(s);
-        GC_err_printf(":%d)\n", i);
-        return(GC_oom_fn(lb));
-    }
-    *((void **)((ptr_t)result + sizeof(oh))) = ptr_to_struct_containing_descr;
-    UNLOCK();
-    if (!GC_debugging_started) {
-    	GC_start_debugging();
-    }
-    ADD_CALL_CHAIN(result, ra);
-    return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-
-void * GC_gcj_malloc_ignore_off_page(size_t lb,
-				     void * ptr_to_struct_containing_descr) 
-{
-    ptr_t op;
-    ptr_t * opp;
-    word lg;
-    DCL_LOCK_STATE;
-
-    if(SMALL_OBJ(lb)) {
-	lg = GC_size_map[lb];
-	opp = &(GC_gcjobjfreelist[lg]);
-	LOCK();
-        if( (op = *opp) == 0 ) {
-	    maybe_finalize();
-            op = (ptr_t)GENERAL_MALLOC_IOP(lb, GC_gcj_kind);
-	    lg = GC_size_map[lb];	/* May have been uninitialized.	*/
-        } else {
-            *opp = obj_link(op);
-            GC_bytes_allocd += GRANULES_TO_BYTES(lg);
-        }
-	*(void **)op = ptr_to_struct_containing_descr;
-	UNLOCK();
-    } else {
-	LOCK();
-	maybe_finalize();
-        op = (ptr_t)GENERAL_MALLOC_IOP(lb, GC_gcj_kind);
-        if (0 != op) {
-          *(void **)op = ptr_to_struct_containing_descr;
-	}
-        UNLOCK();
-    }
-    return((void *) op);
-}
-
-#else
-
-char GC_no_gcj_support;
-
-#endif  /* GC_GCJ_SUPPORT */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/gcname.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/gcname.c
deleted file mode 100755
index a85161a..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/gcname.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdio.h>
-#include "version.h"
-
-int main()
-{
-    if (GC_ALPHA_VERSION == GC_NOT_ALPHA) {
-	printf("gc%d.%d", GC_VERSION_MAJOR, GC_VERSION_MINOR);
-    } else {
-	printf("gc%d.%dalpha%d", GC_VERSION_MAJOR,
-				 GC_VERSION_MINOR, GC_ALPHA_VERSION);
-    }
-    return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/headers.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/headers.c
deleted file mode 100755
index c334282..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/headers.c
+++ /dev/null
@@ -1,394 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1996 by Silicon Graphics.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
- 
-/*
- * This implements:
- * 1. allocation of heap block headers
- * 2. A map from addresses to heap block addresses to heap block headers
- *
- * Access speed is crucial.  We implement an index structure based on a 2
- * level tree.
- */
- 
-# include "private/gc_priv.h"
-
-bottom_index * GC_all_bottom_indices = 0;
-				/* Pointer to first (lowest addr) */
-				/* bottom_index.		  */
-
-bottom_index * GC_all_bottom_indices_end = 0;
-				/* Pointer to last (highest addr) */
-				/* bottom_index.		  */
- 
-/* Non-macro version of header location routine */
-hdr * GC_find_header(ptr_t h)
-{
-#   ifdef HASH_TL
-	hdr * result;
-	GET_HDR(h, result);
-	return(result);
-#   else
-	return(HDR_INNER(h));
-#   endif
-}
-
-/* Handle a header cache miss.  Returns a pointer to the	*/
-/* header corresponding to p, if p can possibly be a valid	*/
-/* object pointer, and 0 otherwise.				*/
-/* GUARANTEED to return 0 for a pointer past the first page	*/
-/* of an object unless both GC_all_interior_pointers is set	*/
-/* and p is in fact a valid object pointer.			*/
-#ifdef PRINT_BLACK_LIST
-  hdr * GC_header_cache_miss(ptr_t p, hdr_cache_entry *hce, ptr_t source)
-#else
-  hdr * GC_header_cache_miss(ptr_t p, hdr_cache_entry *hce)
-#endif
-{
-  hdr *hhdr;
-  HC_MISS();
-  GET_HDR(p, hhdr);
-  if (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
-    if (GC_all_interior_pointers) {
-      if (hhdr != 0) {
-	ptr_t current = p;
-	    
-	current = (ptr_t)HBLKPTR(current);
-	do {
-	    current = current - HBLKSIZE*(word)hhdr;
-	    hhdr = HDR(current);
-	} while(IS_FORWARDING_ADDR_OR_NIL(hhdr));
-	/* current points to near the start of the large object */
-	if (hhdr -> hb_flags & IGNORE_OFF_PAGE
-	    || HBLK_IS_FREE(hhdr))
-	    return 0;
-	if (p - current >= (ptrdiff_t)(hhdr->hb_sz)) {
-	    GC_ADD_TO_BLACK_LIST_NORMAL(p, source);
-	    /* Pointer past the end of the block */
-	    return 0;
-	}
-      } else {
-	GC_ADD_TO_BLACK_LIST_NORMAL(p, source);
-      }
-      return hhdr;
-      /* Pointers past the first page are probably too rare	*/
-      /* to add them to the cache.  We don't.			*/
-      /* And correctness relies on the fact that we don't.	*/
-    } else {
-      if (hhdr == 0) {
-	GC_ADD_TO_BLACK_LIST_NORMAL(p, source);
-      }
-      return 0;
-    }
-  } else {
-    if (HBLK_IS_FREE(hhdr)) {
-      GC_ADD_TO_BLACK_LIST_NORMAL(p, source);
-      return 0;
-    } else {
-      hce -> block_addr = (word)(p) >> LOG_HBLKSIZE;
-      hce -> hce_hdr = hhdr; 
-      return hhdr;
-    }
-  } 
-}
- 
-/* Routines to dynamically allocate collector data structures that will */
-/* never be freed.							 */
- 
-static ptr_t scratch_free_ptr = 0;
- 
-/* GC_scratch_last_end_ptr is end point of last obtained scratch area.  */
-/* GC_scratch_end_ptr is end point of current scratch area.		*/
- 
-ptr_t GC_scratch_alloc(size_t bytes)
-{
-    register ptr_t result = scratch_free_ptr;
-
-    bytes += GRANULE_BYTES-1;
-    bytes &= ~(GRANULE_BYTES-1);
-    scratch_free_ptr += bytes;
-    if (scratch_free_ptr <= GC_scratch_end_ptr) {
-        return(result);
-    }
-    {
-        word bytes_to_get = MINHINCR * HBLKSIZE;
-         
-        if (bytes_to_get <= bytes) {
-          /* Undo the damage, and get memory directly */
-	    bytes_to_get = bytes;
-#	    ifdef USE_MMAP
-		bytes_to_get += GC_page_size - 1;
-		bytes_to_get &= ~(GC_page_size - 1);
-#	    endif
-   	    result = (ptr_t)GET_MEM(bytes_to_get);
-            scratch_free_ptr -= bytes;
-	    GC_scratch_last_end_ptr = result + bytes;
-            return(result);
-        }
-        result = (ptr_t)GET_MEM(bytes_to_get);
-        if (result == 0) {
-	    if (GC_print_stats)
-                GC_printf("Out of memory - trying to allocate less\n");
-            scratch_free_ptr -= bytes;
-	    bytes_to_get = bytes;
-#	    ifdef USE_MMAP
-		bytes_to_get += GC_page_size - 1;
-		bytes_to_get &= ~(GC_page_size - 1);
-#	    endif
-            return((ptr_t)GET_MEM(bytes_to_get));
-        }
-        scratch_free_ptr = result;
-        GC_scratch_end_ptr = scratch_free_ptr + bytes_to_get;
-        GC_scratch_last_end_ptr = GC_scratch_end_ptr;
-        return(GC_scratch_alloc(bytes));
-    }
-}
-
-static hdr * hdr_free_list = 0;
-
-/* Return an uninitialized header */
-static hdr * alloc_hdr(void)
-{
-    register hdr * result;
-    
-    if (hdr_free_list == 0) {
-        result = (hdr *) GC_scratch_alloc((word)(sizeof(hdr)));
-    } else {
-        result = hdr_free_list;
-        hdr_free_list = (hdr *) (result -> hb_next);
-    }
-    return(result);
-}
-
-static void free_hdr(hdr * hhdr)
-{
-    hhdr -> hb_next = (struct hblk *) hdr_free_list;
-    hdr_free_list = hhdr;
-}
-
-#ifdef USE_HDR_CACHE
-  word GC_hdr_cache_hits = 0;
-  word GC_hdr_cache_misses = 0;
-#endif
- 
-void GC_init_headers(void)
-{
-    register unsigned i;
-    
-    GC_all_nils = (bottom_index *)GC_scratch_alloc((word)sizeof(bottom_index));
-    BZERO(GC_all_nils, sizeof(bottom_index));
-    for (i = 0; i < TOP_SZ; i++) {
-        GC_top_index[i] = GC_all_nils;
-    }
-}
-
-/* Make sure that there is a bottom level index block for address addr  */
-/* Return FALSE on failure.						*/
-static GC_bool get_index(word addr)
-{
-    word hi = (word)(addr) >> (LOG_BOTTOM_SZ + LOG_HBLKSIZE);
-    bottom_index * r;
-    bottom_index * p;
-    bottom_index ** prev;
-    bottom_index *pi;
-    
-#   ifdef HASH_TL
-      word i = TL_HASH(hi);
-      bottom_index * old;
-      
-      old = p = GC_top_index[i];
-      while(p != GC_all_nils) {
-          if (p -> key == hi) return(TRUE);
-          p = p -> hash_link;
-      }
-      r = (bottom_index*)GC_scratch_alloc((word)(sizeof (bottom_index)));
-      if (r == 0) return(FALSE);
-      BZERO(r, sizeof (bottom_index));
-      r -> hash_link = old;
-      GC_top_index[i] = r;
-#   else
-      if (GC_top_index[hi] != GC_all_nils) return(TRUE);
-      r = (bottom_index*)GC_scratch_alloc((word)(sizeof (bottom_index)));
-      if (r == 0) return(FALSE);
-      GC_top_index[hi] = r;
-      BZERO(r, sizeof (bottom_index));
-#   endif
-    r -> key = hi;
-    /* Add it to the list of bottom indices */
-      prev = &GC_all_bottom_indices;  	/* pointer to p */
-      pi = 0;				/* bottom_index preceding p */
-      while ((p = *prev) != 0 && p -> key < hi) {
-	pi = p;
-	prev = &(p -> asc_link);
-      }
-      r -> desc_link = pi;
-      if (0 == p) {
-	GC_all_bottom_indices_end = r;
-      } else {
-	p -> desc_link = r;
-      }
-      r -> asc_link = p;
-      *prev = r;
-    return(TRUE);
-}
-
-/* Install a header for block h.	*/
-/* The header is uninitialized.	  	*/
-/* Returns the header or 0 on failure.	*/
-struct hblkhdr * GC_install_header(struct hblk *h)
-{
-    hdr * result;
-    
-    if (!get_index((word) h)) return(0);
-    result = alloc_hdr();
-    SET_HDR(h, result);
-#   ifdef USE_MUNMAP
-	result -> hb_last_reclaimed = (unsigned short)GC_gc_no;
-#   endif
-    return(result);
-}
-
-/* Set up forwarding counts for block h of size sz */
-GC_bool GC_install_counts(struct hblk *h, size_t sz/* bytes */)
-{
-    struct hblk * hbp;
-    word i;
-    
-    for (hbp = h; (char *)hbp < (char *)h + sz; hbp += BOTTOM_SZ) {
-        if (!get_index((word) hbp)) return(FALSE);
-    }
-    if (!get_index((word)h + sz - 1)) return(FALSE);
-    for (hbp = h + 1; (char *)hbp < (char *)h + sz; hbp += 1) {
-        i = HBLK_PTR_DIFF(hbp, h);
-        SET_HDR(hbp, (hdr *)(i > MAX_JUMP? MAX_JUMP : i));
-    }
-    return(TRUE);
-}
-
-/* Remove the header for block h */
-void GC_remove_header(struct hblk *h)
-{
-    hdr ** ha;
-    
-    GET_HDR_ADDR(h, ha);
-    free_hdr(*ha);
-    *ha = 0;
-}
-
-/* Remove forwarding counts for h */
-void GC_remove_counts(struct hblk *h, size_t sz/* bytes */)
-{
-    register struct hblk * hbp;
-    
-    for (hbp = h+1; (char *)hbp < (char *)h + sz; hbp += 1) {
-        SET_HDR(hbp, 0);
-    }
-}
-
-/* Apply fn to all allocated blocks */
-/*VARARGS1*/
-void GC_apply_to_all_blocks(void (*fn)(struct hblk *h, word client_data),
-			    word client_data)
-{
-    signed_word j;
-    bottom_index * index_p;
-    
-    for (index_p = GC_all_bottom_indices; index_p != 0;
-         index_p = index_p -> asc_link) {
-        for (j = BOTTOM_SZ-1; j >= 0;) {
-            if (!IS_FORWARDING_ADDR_OR_NIL(index_p->index[j])) {
-                if (!HBLK_IS_FREE(index_p->index[j])) {
-                    (*fn)(((struct hblk *)
-                  	      (((index_p->key << LOG_BOTTOM_SZ) + (word)j)
-                  	       << LOG_HBLKSIZE)),
-                          client_data);
-                }
-                j--;
-             } else if (index_p->index[j] == 0) {
-                j--;
-             } else {
-                j -= (signed_word)(index_p->index[j]);
-             }
-         }
-     }
-}
-
-/* Get the next valid block whose address is at least h	*/
-/* Return 0 if there is none.				*/
-struct hblk * GC_next_used_block(struct hblk *h)
-{
-    register bottom_index * bi;
-    register word j = ((word)h >> LOG_HBLKSIZE) & (BOTTOM_SZ-1);
-    
-    GET_BI(h, bi);
-    if (bi == GC_all_nils) {
-        register word hi = (word)h >> (LOG_BOTTOM_SZ + LOG_HBLKSIZE);
-        bi = GC_all_bottom_indices;
-        while (bi != 0 && bi -> key < hi) bi = bi -> asc_link;
-        j = 0;
-    }
-    while(bi != 0) {
-        while (j < BOTTOM_SZ) {
-	    hdr * hhdr = bi -> index[j];
-            if (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
-                j++;
-            } else {
-                if (!HBLK_IS_FREE(hhdr)) {
-                    return((struct hblk *)
-                  	      (((bi -> key << LOG_BOTTOM_SZ) + j)
-                  	       << LOG_HBLKSIZE));
-                } else {
-                    j += divHBLKSZ(hhdr -> hb_sz);
-                }
-            }
-        }
-        j = 0;
-        bi = bi -> asc_link;
-    }
-    return(0);
-}
-
-/* Get the last (highest address) block whose address is 	*/
-/* at most h.  Return 0 if there is none.			*/
-/* Unlike the above, this may return a free block.		*/
-struct hblk * GC_prev_block(struct hblk *h)
-{
-    register bottom_index * bi;
-    register signed_word j = ((word)h >> LOG_HBLKSIZE) & (BOTTOM_SZ-1);
-    
-    GET_BI(h, bi);
-    if (bi == GC_all_nils) {
-        register word hi = (word)h >> (LOG_BOTTOM_SZ + LOG_HBLKSIZE);
-        bi = GC_all_bottom_indices_end;
-        while (bi != 0 && bi -> key > hi) bi = bi -> desc_link;
-        j = BOTTOM_SZ - 1;
-    }
-    while(bi != 0) {
-        while (j >= 0) {
-	    hdr * hhdr = bi -> index[j];
-	    if (0 == hhdr) {
-		--j;
-            } else if (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
-                j -= (signed_word)hhdr;
-            } else {
-                return((struct hblk *)
-                          (((bi -> key << LOG_BOTTOM_SZ) + j)
-                  	       << LOG_HBLKSIZE));
-            }
-        }
-        j = BOTTOM_SZ - 1;
-        bi = bi -> desc_link;
-    }
-    return(0);
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/hpux_test_and_clear.s b/SRC/Boost/tools/build/v2/engine/boehm_gc/hpux_test_and_clear.s
deleted file mode 100755
index 38ea094..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/hpux_test_and_clear.s
+++ /dev/null
@@ -1,21 +0,0 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
-	.IMPORT $global$,DATA
-	.IMPORT $$dyncall,MILLICODE
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
-
-	.align 4
-	.EXPORT GC_test_and_clear,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR
-GC_test_and_clear
-	.PROC
-	.CALLINFO FRAME=0,NO_CALLS
-	.ENTRY
-	ldcw,co (%r26),%r28
-	bv,n 0(%r2)
-	.EXIT
-	.PROCEND
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/ia64_save_regs_in_stack.s b/SRC/Boost/tools/build/v2/engine/boehm_gc/ia64_save_regs_in_stack.s
deleted file mode 100755
index c575793..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/ia64_save_regs_in_stack.s
+++ /dev/null
@@ -1,12 +0,0 @@
-        .text
-        .align 16
-        .global GC_save_regs_in_stack
-        .proc GC_save_regs_in_stack
-GC_save_regs_in_stack:
-        .body
-        flushrs
-        ;;
-        mov r8=ar.bsp
-        br.ret.sptk.few rp
-        .endp GC_save_regs_in_stack
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/if_mach.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/if_mach.c
deleted file mode 100755
index baa5f32..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/if_mach.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Conditionally execute a command based on machine and OS from gcconfig.h */
-
-# include "private/gcconfig.h"
-# include <stdio.h>
-# include <string.h>
-# include <unistd.h>
-
-int main(int argc, char **argv, char **envp)
-{
-    if (argc < 4) goto Usage;
-    if (strcmp(MACH_TYPE, argv[1]) != 0) return(0);
-    if (strcmp(OS_TYPE, "") != 0 && strcmp(argv[2], "") != 0
-        && strcmp(OS_TYPE, argv[2]) != 0) return(0);
-    fprintf(stderr, "^^^^Starting command^^^^\n");
-    fflush(stdout);
-    execvp(argv[3], argv+3);
-    perror("Couldn't execute");
-    
-Usage:
-    fprintf(stderr, "Usage: %s mach_type os_type command\n", argv[0]);
-    fprintf(stderr, "Currently mach_type = %s, os_type = %s\n",
-    	    MACH_TYPE, OS_TYPE);
-    return(1);
-}
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/if_not_there.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/if_not_there.c
deleted file mode 100755
index b213f56..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/if_not_there.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Conditionally execute a command based if the file argv[1] doesn't exist */
-/* Except for execvp, we stick to ANSI C.				   */
-# include "private/gcconfig.h"
-# include <stdio.h>
-# include <stdlib.h>
-# include <unistd.h>
-#ifdef __DJGPP__
-#include <dirent.h>
-#endif /* __DJGPP__ */
-
-int main(int argc, char **argv, char **envp)
-{
-    FILE * f;
-#ifdef __DJGPP__
-    DIR * d;
-#endif /* __DJGPP__ */
-    if (argc < 3) goto Usage;
-    if ((f = fopen(argv[1], "rb")) != 0
-        || (f = fopen(argv[1], "r")) != 0) {
-        fclose(f);
-        return(0);
-    }
-#ifdef __DJGPP__
-    if ((d = opendir(argv[1])) != 0) {
-	    closedir(d);
-	    return(0);
-    }
-#endif
-    printf("^^^^Starting command^^^^\n");
-    fflush(stdout);
-    execvp(argv[2], argv+2);
-    exit(1);
-    
-Usage:
-    fprintf(stderr, "Usage: %s file_name command\n", argv[0]);
-    return(1);
-}
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/cord.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/cord.h
deleted file mode 100755
index c2f92d7..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/cord.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/* 
- * Copyright (c) 1993-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Author: Hans-J. Boehm (boehm at parc.xerox.com)
- */
-/* Boehm, October 5, 1995 4:20 pm PDT */
- 
-/*
- * Cords are immutable character strings.  A number of operations
- * on long cords are much more efficient than their strings.h counterpart.
- * In particular, concatenation takes constant time independent of the length
- * of the arguments.  (Cords are represented as trees, with internal
- * nodes representing concatenation and leaves consisting of either C
- * strings or a functional description of the string.)
- *
- * The following are reasonable applications of cords.  They would perform
- * unacceptably if C strings were used:
- * - A compiler that produces assembly language output by repeatedly
- *   concatenating instructions onto a cord representing the output file.
- * - A text editor that converts the input file to a cord, and then
- *   performs editing operations by producing a new cord representing
- *   the file after echa character change (and keeping the old ones in an
- *   edit history)
- *
- * For optimal performance, cords should be built by
- * concatenating short sections.
- * This interface is designed for maximum compatibility with C strings.
- * ASCII NUL characters may be embedded in cords using CORD_from_fn.
- * This is handled correctly, but CORD_to_char_star will produce a string
- * with embedded NULs when given such a cord. 
- *
- * This interface is fairly big, largely for performance reasons.
- * The most basic constants and functions:
- *
- * CORD - the type of a cord;
- * CORD_EMPTY - empty cord;
- * CORD_len(cord) - length of a cord;
- * CORD_cat(cord1,cord2) - concatenation of two cords;
- * CORD_substr(cord, start, len) - substring (or subcord);
- * CORD_pos i;  CORD_FOR(i, cord) {  ... CORD_pos_fetch(i) ... } -
- *    examine each character in a cord.  CORD_pos_fetch(i) is the char.
- * CORD_fetch(int i) - Retrieve i'th character (slowly).
- * CORD_cmp(cord1, cord2) - compare two cords.
- * CORD_from_file(FILE * f) - turn a read-only file into a cord.
- * CORD_to_char_star(cord) - convert to C string.
- *   (Non-NULL C constant strings are cords.)
- * CORD_printf (etc.) - cord version of printf. Use %r for cords.
- */
-# ifndef CORD_H
-
-# define CORD_H
-# include <stddef.h>
-# include <stdio.h>
-/* Cords have type const char *.  This is cheating quite a bit, and not	*/
-/* 100% portable.  But it means that nonempty character string		*/
-/* constants may be used as cords directly, provided the string is	*/
-/* never modified in place.  The empty cord is represented by, and	*/
-/* can be written as, 0.						*/
-
-typedef const char * CORD;
-
-/* An empty cord is always represented as nil 	*/
-# define CORD_EMPTY 0
-
-/* Is a nonempty cord represented as a C string? */
-#define CORD_IS_STRING(s) (*(s) != '\0')
-
-/* Concatenate two cords.  If the arguments are C strings, they may 	*/
-/* not be subsequently altered.						*/
-CORD CORD_cat(CORD x, CORD y);
-
-/* Concatenate a cord and a C string with known length.  Except for the	*/
-/* empty string case, this is a special case of CORD_cat.  Since the	*/
-/* length is known, it can be faster.					*/
-/* The string y is shared with the resulting CORD.  Hence it should	*/
-/* not be altered by the caller.					*/
-CORD CORD_cat_char_star(CORD x, const char * y, size_t leny);
-
-/* Compute the length of a cord */
-size_t CORD_len(CORD x);
-
-/* Cords may be represented by functions defining the ith character */
-typedef char (* CORD_fn)(size_t i, void * client_data);
-
-/* Turn a functional description into a cord. 	*/
-CORD CORD_from_fn(CORD_fn fn, void * client_data, size_t len);
-
-/* Return the substring (subcord really) of x with length at most n,	*/
-/* starting at position i.  (The initial character has position 0.)	*/
-CORD CORD_substr(CORD x, size_t i, size_t n);
-
-/* Return the argument, but rebalanced to allow more efficient   	*/
-/* character retrieval, substring operations, and comparisons.		*/
-/* This is useful only for cords that were built using repeated 	*/
-/* concatenation.  Guarantees log time access to the result, unless	*/
-/* x was obtained through a large number of repeated substring ops	*/
-/* or the embedded functional descriptions take longer to evaluate.	*/
-/* May reallocate significant parts of the cord.  The argument is not	*/
-/* modified; only the result is balanced.				*/
-CORD CORD_balance(CORD x);
-
-/* The following traverse a cord by applying a function to each 	*/
-/* character.  This is occasionally appropriate, especially where	*/
-/* speed is crucial.  But, since C doesn't have nested functions,	*/
-/* clients of this sort of traversal are clumsy to write.  Consider	*/
-/* the functions that operate on cord positions instead.		*/
-
-/* Function to iteratively apply to individual characters in cord.	*/
-typedef int (* CORD_iter_fn)(char c, void * client_data);
-
-/* Function to apply to substrings of a cord.  Each substring is a 	*/
-/* a C character string, not a general cord.				*/
-typedef int (* CORD_batched_iter_fn)(const char * s, void * client_data);
-# define CORD_NO_FN ((CORD_batched_iter_fn)0)
-
-/* Apply f1 to each character in the cord, in ascending order,		*/
-/* starting at position i. If						*/
-/* f2 is not CORD_NO_FN, then multiple calls to f1 may be replaced by	*/
-/* a single call to f2.  The parameter f2 is provided only to allow	*/
-/* some optimization by the client.  This terminates when the right	*/
-/* end of this string is reached, or when f1 or f2 return != 0.  In the	*/
-/* latter case CORD_iter returns != 0.  Otherwise it returns 0.		*/
-/* The specified value of i must be < CORD_len(x).			*/
-int CORD_iter5(CORD x, size_t i, CORD_iter_fn f1,
-	       CORD_batched_iter_fn f2, void * client_data);
-
-/* A simpler version that starts at 0, and without f2:	*/
-int CORD_iter(CORD x, CORD_iter_fn f1, void * client_data);
-# define CORD_iter(x, f1, cd) CORD_iter5(x, 0, f1, CORD_NO_FN, cd)
-
-/* Similar to CORD_iter5, but end-to-beginning.	No provisions for	*/
-/* CORD_batched_iter_fn.						*/
-int CORD_riter4(CORD x, size_t i, CORD_iter_fn f1, void * client_data);
-
-/* A simpler version that starts at the end:	*/
-int CORD_riter(CORD x, CORD_iter_fn f1, void * client_data);
-
-/* Functions that operate on cord positions.  The easy way to traverse	*/
-/* cords.  A cord position is logically a pair consisting of a cord	*/
-/* and an index into that cord.  But it is much faster to retrieve a	*/
-/* charcter based on a position than on an index.  Unfortunately,	*/
-/* positions are big (order of a few 100 bytes), so allocate them with	*/
-/* caution.								*/
-/* Things in cord_pos.h should be treated as opaque, except as		*/
-/* described below.  Also note that					*/
-/* CORD_pos_fetch, CORD_next and CORD_prev have both macro and function	*/
-/* definitions.  The former may evaluate their argument more than once. */
-# include "private/cord_pos.h"
-
-/*
-	Visible definitions from above:
-	
-	typedef <OPAQUE but fairly big> CORD_pos[1];
-	
-	* Extract the cord from a position:
-	CORD CORD_pos_to_cord(CORD_pos p);
-	
-	* Extract the current index from a position:
-	size_t CORD_pos_to_index(CORD_pos p);
-	
-	* Fetch the character located at the given position:
-	char CORD_pos_fetch(CORD_pos p);
-	
-	* Initialize the position to refer to the given cord and index.
-	* Note that this is the most expensive function on positions:
-	void CORD_set_pos(CORD_pos p, CORD x, size_t i);
-	
-	* Advance the position to the next character.
-	* P must be initialized and valid.
-	* Invalidates p if past end:
-	void CORD_next(CORD_pos p);
-	
-	* Move the position to the preceding character.
-	* P must be initialized and valid.
-	* Invalidates p if past beginning:
-	void CORD_prev(CORD_pos p);
-	
-	* Is the position valid, i.e. inside the cord?
-	int CORD_pos_valid(CORD_pos p);
-*/
-# define CORD_FOR(pos, cord) \
-    for (CORD_set_pos(pos, cord, 0); CORD_pos_valid(pos); CORD_next(pos))
-
-			
-/* An out of memory handler to call.  May be supplied by client.	*/
-/* Must not return.							*/
-extern void (* CORD_oom_fn)(void);
-
-/* Dump the representation of x to stdout in an implementation defined	*/
-/* manner.  Intended for debugging only.				*/
-void CORD_dump(CORD x);
-
-/* The following could easily be implemented by the client.  They are	*/
-/* provided in cordxtra.c for convenience.				*/
-
-/* Concatenate a character to the end of a cord.	*/
-CORD CORD_cat_char(CORD x, char c);
-
-/* Concatenate n cords.	*/
-CORD CORD_catn(int n, /* CORD */ ...);
-
-/* Return the character in CORD_substr(x, i, 1)  	*/
-char CORD_fetch(CORD x, size_t i);
-
-/* Return < 0, 0, or > 0, depending on whether x < y, x = y, x > y	*/
-int CORD_cmp(CORD x, CORD y);
-
-/* A generalization that takes both starting positions for the 		*/
-/* comparison, and a limit on the number of characters to be compared.	*/
-int CORD_ncmp(CORD x, size_t x_start, CORD y, size_t y_start, size_t len);
-
-/* Find the first occurrence of s in x at position start or later.	*/
-/* Return the position of the first character of s in x, or		*/
-/* CORD_NOT_FOUND if there is none.					*/
-size_t CORD_str(CORD x, size_t start, CORD s);
-
-/* Return a cord consisting of i copies of (possibly NUL) c.  Dangerous	*/
-/* in conjunction with CORD_to_char_star.				*/
-/* The resulting representation takes constant space, independent of i.	*/
-CORD CORD_chars(char c, size_t i);
-# define CORD_nul(i) CORD_chars('\0', (i))
-
-/* Turn a file into cord.  The file must be seekable.  Its contents	*/
-/* must remain constant.  The file may be accessed as an immediate	*/
-/* result of this call and/or as a result of subsequent accesses to 	*/
-/* the cord.  Short files are likely to be immediately read, but	*/
-/* long files are likely to be read on demand, possibly relying on 	*/
-/* stdio for buffering.							*/
-/* We must have exclusive access to the descriptor f, i.e. we may	*/
-/* read it at any time, and expect the file pointer to be		*/
-/* where we left it.  Normally this should be invoked as		*/
-/* CORD_from_file(fopen(...))						*/
-/* CORD_from_file arranges to close the file descriptor when it is no	*/
-/* longer needed (e.g. when the result becomes inaccessible).		*/ 
-/* The file f must be such that ftell reflects the actual character	*/
-/* position in the file, i.e. the number of characters that can be 	*/
-/* or were read with fread.  On UNIX systems this is always true.  On	*/
-/* MS Windows systems, f must be opened in binary mode.			*/
-CORD CORD_from_file(FILE * f);
-
-/* Equivalent to the above, except that the entire file will be read	*/
-/* and the file pointer will be closed immediately.			*/
-/* The binary mode restriction from above does not apply.		*/
-CORD CORD_from_file_eager(FILE * f);
-
-/* Equivalent to the above, except that the file will be read on demand.*/
-/* The binary mode restriction applies.					*/
-CORD CORD_from_file_lazy(FILE * f);
-
-/* Turn a cord into a C string.	The result shares no structure with	*/
-/* x, and is thus modifiable.						*/
-char * CORD_to_char_star(CORD x);
-
-/* Turn a C string into a CORD.  The C string is copied, and so may	*/
-/* subsequently be modified.						*/
-CORD CORD_from_char_star(const char *s);
-
-/* Identical to the above, but the result may share structure with	*/
-/* the argument and is thus not modifiable.				*/
-const char * CORD_to_const_char_star(CORD x); 
-
-/* Write a cord to a file, starting at the current position.  No	*/
-/* trailing NULs are newlines are added.				*/
-/* Returns EOF if a write error occurs, 1 otherwise.			*/
-int CORD_put(CORD x, FILE * f);
-
-/* "Not found" result for the following two functions.			*/
-# define CORD_NOT_FOUND ((size_t)(-1))
-
-/* A vague analog of strchr.  Returns the position (an integer, not	*/
-/* a pointer) of the first occurrence of (char) c inside x at position 	*/
-/* i or later. The value i must be < CORD_len(x).			*/
-size_t CORD_chr(CORD x, size_t i, int c);
-
-/* A vague analog of strrchr.  Returns index of the last occurrence	*/
-/* of (char) c inside x at position i or earlier. The value i		*/
-/* must be < CORD_len(x).						*/
-size_t CORD_rchr(CORD x, size_t i, int c);
-
-
-/* The following are also not primitive, but are implemented in 	*/
-/* cordprnt.c.  They provide functionality similar to the ANSI C	*/
-/* functions with corresponding names, but with the following		*/
-/* additions and changes:						*/
-/* 1. A %r conversion specification specifies a CORD argument.  Field	*/
-/*    width, precision, etc. have the same semantics as for %s.		*/
-/*    (Note that %c,%C, and %S were already taken.)			*/
-/* 2. The format string is represented as a CORD.		        */
-/* 3. CORD_sprintf and CORD_vsprintf assign the result through the 1st	*/ 	/*    argument.	Unlike their ANSI C versions, there is no need to guess	*/
-/*    the correct buffer size.						*/
-/* 4. Most of the conversions are implement through the native 		*/
-/*    vsprintf.  Hence they are usually no faster, and 			*/
-/*    idiosyncracies of the native printf are preserved.  However,	*/
-/*    CORD arguments to CORD_sprintf and CORD_vsprintf are NOT copied;	*/
-/*    the result shares the original structure.  This may make them	*/
-/*    very efficient in some unusual applications.			*/
-/*    The format string is copied.					*/
-/* All functions return the number of characters generated or -1 on	*/
-/* error.  This complies with the ANSI standard, but is inconsistent	*/
-/* with some older implementations of sprintf.				*/
-
-/* The implementation of these is probably less portable than the rest	*/
-/* of this package.							*/
-
-#ifndef CORD_NO_IO
-
-#include <stdarg.h>
-
-int CORD_sprintf(CORD * out, CORD format, ...);
-int CORD_vsprintf(CORD * out, CORD format, va_list args);
-int CORD_fprintf(FILE * f, CORD format, ...);
-int CORD_vfprintf(FILE * f, CORD format, va_list args);
-int CORD_printf(CORD format, ...);
-int CORD_vprintf(CORD format, va_list args);
-
-#endif /* CORD_NO_IO */
-
-# endif /* CORD_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/ec.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/ec.h
deleted file mode 100755
index bc797a4..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/ec.h
+++ /dev/null
@@ -1,70 +0,0 @@
-# ifndef EC_H
-# define EC_H
-
-# ifndef CORD_H
-#  include "cord.h"
-# endif
-
-/* Extensible cords are strings that may be destructively appended to.	*/
-/* They allow fast construction of cords from characters that are	*/
-/* being read from a stream.						*/
-/*
- * A client might look like:
- *
- *	{
- *	    CORD_ec x;
- *	    CORD result;
- *	    char c;
- *	    FILE *f;
- *
- *	    ...
- *	    CORD_ec_init(x);
- *	    while(...) {
- *		c = getc(f);
- *		...
- *		CORD_ec_append(x, c);
- *	    }
- *	    result = CORD_balance(CORD_ec_to_cord(x));
- *
- * If a C string is desired as the final result, the call to CORD_balance
- * may be replaced by a call to CORD_to_char_star.
- */
-
-# ifndef CORD_BUFSZ
-#   define CORD_BUFSZ 128
-# endif
-
-typedef struct CORD_ec_struct {
-    CORD ec_cord;
-    char * ec_bufptr;
-    char ec_buf[CORD_BUFSZ+1];
-} CORD_ec[1];
-
-/* This structure represents the concatenation of ec_cord with		*/
-/* ec_buf[0 ... (ec_bufptr-ec_buf-1)]					*/
-
-/* Flush the buffer part of the extended chord into ec_cord.	*/
-/* Note that this is almost the only real function, and it is	*/
-/* implemented in 6 lines in cordxtra.c				*/
-void CORD_ec_flush_buf(CORD_ec x);
-      
-/* Convert an extensible cord to a cord. */
-# define CORD_ec_to_cord(x) (CORD_ec_flush_buf(x), (x)[0].ec_cord)
-
-/* Initialize an extensible cord. */
-# define CORD_ec_init(x) ((x)[0].ec_cord = 0, (x)[0].ec_bufptr = (x)[0].ec_buf)
-
-/* Append a character to an extensible cord.	*/
-# define CORD_ec_append(x, c) \
-    {  \
-	if ((x)[0].ec_bufptr == (x)[0].ec_buf + CORD_BUFSZ) { \
-	  	CORD_ec_flush_buf(x); \
-	} \
-	*((x)[0].ec_bufptr)++ = (c); \
-    }
-
-/* Append a cord to an extensible cord.  Structure remains shared with 	*/
-/* original.								*/
-void CORD_ec_append_cord(CORD_ec x, CORD s);
-
-# endif /* EC_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc.h
deleted file mode 100755
index 50aed0e..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc.h
+++ /dev/null
@@ -1,1139 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
- * Copyright 1996-1999 by Silicon Graphics.  All rights reserved.
- * Copyright 1999 by Hewlett-Packard Company.  All rights reserved.
- * Copyright (C) 2007 Free Software Foundation, Inc
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/*
- * Note that this defines a large number of tuning hooks, which can
- * safely be ignored in nearly all cases.  For normal use it suffices
- * to call only GC_MALLOC and perhaps GC_REALLOC.
- * For better performance, also look at GC_MALLOC_ATOMIC, and
- * GC_enable_incremental.  If you need an action to be performed
- * immediately before an object is collected, look at GC_register_finalizer.
- * If you are using Solaris threads, look at the end of this file.
- * Everything else is best ignored unless you encounter performance
- * problems.
- */
- 
-#ifndef _GC_H
-
-# define _GC_H
-
-# include "gc_config_macros.h"
-
-# ifdef __cplusplus
-    extern "C" {
-# endif
-
-
-/* Define word and signed_word to be unsigned and signed types of the 	*/
-/* size as char * or void *.  There seems to be no way to do this	*/
-/* even semi-portably.  The following is probably no better/worse 	*/
-/* than almost anything else.						*/
-/* The ANSI standard suggests that size_t and ptr_diff_t might be 	*/
-/* better choices.  But those had incorrect definitions on some older	*/
-/* systems.  Notably "typedef int size_t" is WRONG.			*/
-#ifndef _WIN64
-  typedef unsigned long GC_word;
-  typedef long GC_signed_word;
-#else
-  /* Win64 isn't really supported yet, but this is the first step. And	*/
-  /* it might cause error messages to show up in more plausible places.	*/
-  /* This needs basetsd.h, which is included by windows.h.	 	*/
-  typedef unsigned long long GC_word;
-  typedef long long GC_signed_word;
-#endif
-
-/* Public read-only variables */
-
-GC_API GC_word GC_gc_no;/* Counter incremented per collection.  	*/
-			/* Includes empty GCs at startup.		*/
-
-GC_API int GC_parallel;	/* GC is parallelized for performance on	*/
-			/* multiprocessors.  Currently set only		*/
-			/* implicitly if collector is built with	*/
-			/* -DPARALLEL_MARK and if either:		*/
-			/*  Env variable GC_NPROC is set to > 1, or	*/
-			/*  GC_NPROC is not set and this is an MP.	*/
-			/* If GC_parallel is set, incremental		*/
-			/* collection is only partially functional,	*/
-			/* and may not be desirable.			*/
-			
-
-/* Public R/W variables */
-
-GC_API void * (*GC_oom_fn) (size_t bytes_requested);
-			/* When there is insufficient memory to satisfy */
-			/* an allocation request, we return		*/
-			/* (*GC_oom_fn)().  By default this just	*/
-			/* returns 0.					*/
-			/* If it returns, it must return 0 or a valid	*/
-			/* pointer to a previously allocated heap 	*/
-			/* object.					*/
-
-GC_API int GC_find_leak;
-			/* Do not actually garbage collect, but simply	*/
-			/* report inaccessible memory that was not	*/
-			/* deallocated with GC_free.  Initial value	*/
-			/* is determined by FIND_LEAK macro.		*/
-
-GC_API int GC_all_interior_pointers;
-			/* Arrange for pointers to object interiors to	*/
-			/* be recognized as valid.  May not be changed	*/
-			/* after GC initialization.			*/
-			/* Initial value is determined by 		*/
-			/* -DALL_INTERIOR_POINTERS.			*/
-			/* Unless DONT_ADD_BYTE_AT_END is defined, this	*/
-			/* also affects whether sizes are increased by	*/
-			/* at least a byte to allow "off the end"	*/
-			/* pointer recognition.				*/
-			/* MUST BE 0 or 1.				*/
-
-GC_API int GC_finalize_on_demand;
-			/* If nonzero, finalizers will only be run in 	*/
-			/* response to an explicit GC_invoke_finalizers	*/
-			/* call.  The default is determined by whether	*/
-			/* the FINALIZE_ON_DEMAND macro is defined	*/
-			/* when the collector is built.			*/
-
-GC_API int GC_java_finalization;
-			/* Mark objects reachable from finalizable 	*/
-			/* objects in a separate postpass.  This makes	*/
-			/* it a bit safer to use non-topologically-	*/
-			/* ordered finalization.  Default value is	*/
-			/* determined by JAVA_FINALIZATION macro.	*/
-			/* Enables register_finalizer_unreachable to	*/
-			/* work correctly.				*/
-
-GC_API void (* GC_finalizer_notifier)(void);
-			/* Invoked by the collector when there are 	*/
-			/* objects to be finalized.  Invoked at most	*/
-			/* once per GC cycle.  Never invoked unless 	*/
-			/* GC_finalize_on_demand is set.		*/
-			/* Typically this will notify a finalization	*/
-			/* thread, which will call GC_invoke_finalizers */
-			/* in response.					*/
-
-GC_API int GC_dont_gc;	/* != 0 ==> Dont collect.  In versions 6.2a1+,	*/
-			/* this overrides explicit GC_gcollect() calls.	*/
-			/* Used as a counter, so that nested enabling	*/
-			/* and disabling work correctly.  Should	*/
-			/* normally be updated with GC_enable() and	*/
-			/* GC_disable() calls.				*/
-			/* Direct assignment to GC_dont_gc is 		*/
-			/* deprecated.					*/
-
-GC_API int GC_dont_expand;
-			/* Dont expand heap unless explicitly requested */
-			/* or forced to.				*/
-
-GC_API int GC_use_entire_heap;
-		/* Causes the nonincremental collector to use the	*/
-		/* entire heap before collecting.  This was the only 	*/
-		/* option for GC versions < 5.0.  This sometimes	*/
-		/* results in more large block fragmentation, since	*/
-		/* very larg blocks will tend to get broken up		*/
-		/* during each GC cycle.  It is likely to result in a	*/
-		/* larger working set, but lower collection		*/
-		/* frequencies, and hence fewer instructions executed	*/
-		/* in the collector.					*/
-
-GC_API int GC_full_freq;    /* Number of partial collections between	*/
-			    /* full collections.  Matters only if	*/
-			    /* GC_incremental is set.			*/
-			    /* Full collections are also triggered if	*/
-			    /* the collector detects a substantial	*/
-			    /* increase in the number of in-use heap	*/
-			    /* blocks.  Values in the tens are now	*/
-			    /* perfectly reasonable, unlike for		*/
-			    /* earlier GC versions.			*/
-			
-GC_API GC_word GC_non_gc_bytes;
-			/* Bytes not considered candidates for collection. */
-			/* Used only to control scheduling of collections. */
-			/* Updated by GC_malloc_uncollectable and GC_free. */
-			/* Wizards only.				   */
-
-GC_API int GC_no_dls;
-			/* Don't register dynamic library data segments. */
-			/* Wizards only.  Should be used only if the	 */
-			/* application explicitly registers all roots.	 */
-			/* In Microsoft Windows environments, this will	 */
-			/* usually also prevent registration of the	 */
-			/* main data segment as part of the root set.	 */
-
-GC_API GC_word GC_free_space_divisor;
-			/* We try to make sure that we allocate at 	*/
-			/* least N/GC_free_space_divisor bytes between	*/
-			/* collections, where N is twice the number	*/
-			/* of traced bytes, plus the number of untraced */
-			/* bytes (bytes in "atomic" objects), plus	*/
-			/* a rough estimate of the root set size.	*/
-			/* N approximates GC tracing work per GC.	*/
-			/* Initially, GC_free_space_divisor = 3.	*/
-			/* Increasing its value will use less space	*/
-			/* but more collection time.  Decreasing it	*/
-			/* will appreciably decrease collection time	*/
-			/* at the expense of space.			*/
-
-GC_API GC_word GC_max_retries;
-			/* The maximum number of GCs attempted before	*/
-			/* reporting out of memory after heap		*/
-			/* expansion fails.  Initially 0.		*/
-			
-
-GC_API char *GC_stackbottom;    /* Cool end of user stack.		*/
-				/* May be set in the client prior to	*/
-				/* calling any GC_ routines.  This	*/
-				/* avoids some overhead, and 		*/
-				/* potentially some signals that can 	*/
-				/* confuse debuggers.  Otherwise the	*/
-				/* collector attempts to set it 	*/
-				/* automatically.			*/
-				/* For multithreaded code, this is the	*/
-				/* cold end of the stack for the	*/
-				/* primordial thread.			*/	
-				
-GC_API int GC_dont_precollect;  /* Don't collect as part of 		*/
-				/* initialization.  Should be set only	*/
-				/* if the client wants a chance to	*/
-				/* manually initialize the root set	*/
-				/* before the first collection.		*/
-				/* Interferes with blacklisting.	*/
-				/* Wizards only.			*/
-
-GC_API unsigned long GC_time_limit;
-				/* If incremental collection is enabled, */
-				/* We try to terminate collections	 */
-				/* after this many milliseconds.  Not a	 */
-				/* hard time bound.  Setting this to 	 */
-				/* GC_TIME_UNLIMITED will essentially	 */
-				/* disable incremental collection while  */
-				/* leaving generational collection	 */
-				/* enabled.	 			 */
-#	define GC_TIME_UNLIMITED 999999
-				/* Setting GC_time_limit to this value	 */
-				/* will disable the "pause time exceeded"*/
-				/* tests.				 */
-
-/* Public procedures */
-
-/* Initialize the collector.  This is only required when using thread-local
- * allocation, since unlike the regular allocation routines, GC_local_malloc
- * is not self-initializing.  If you use GC_local_malloc you should arrange
- * to call this somehow (e.g. from a constructor) before doing any allocation.
- * For win32 threads, it needs to be called explicitly.
- */
-GC_API void GC_init(void);
-
-/*
- * general purpose allocation routines, with roughly malloc calling conv.
- * The atomic versions promise that no relevant pointers are contained
- * in the object.  The nonatomic versions guarantee that the new object
- * is cleared.  GC_malloc_stubborn promises that no changes to the object
- * will occur after GC_end_stubborn_change has been called on the
- * result of GC_malloc_stubborn. GC_malloc_uncollectable allocates an object
- * that is scanned for pointers to collectable objects, but is not itself
- * collectable.  The object is scanned even if it does not appear to
- * be reachable.  GC_malloc_uncollectable and GC_free called on the resulting
- * object implicitly update GC_non_gc_bytes appropriately.
- *
- * Note that the GC_malloc_stubborn support is stubbed out by default
- * starting in 6.0.  GC_malloc_stubborn is an alias for GC_malloc unless
- * the collector is built with STUBBORN_ALLOC defined.
- */
-GC_API void * GC_malloc(size_t size_in_bytes);
-GC_API void * GC_malloc_atomic(size_t size_in_bytes);
-GC_API char * GC_strdup (const char *str);
-GC_API void * GC_malloc_uncollectable(size_t size_in_bytes);
-GC_API void * GC_malloc_stubborn(size_t size_in_bytes);
-
-/* The following is only defined if the library has been suitably	*/
-/* compiled:								*/
-GC_API void * GC_malloc_atomic_uncollectable(size_t size_in_bytes);
-
-/* Explicitly deallocate an object.  Dangerous if used incorrectly.     */
-/* Requires a pointer to the base of an object.				*/
-/* If the argument is stubborn, it should not be changeable when freed. */
-/* An object should not be enable for finalization when it is 		*/
-/* explicitly deallocated.						*/
-/* GC_free(0) is a no-op, as required by ANSI C for free.		*/
-GC_API void GC_free(void * object_addr);
-
-/*
- * Stubborn objects may be changed only if the collector is explicitly informed.
- * The collector is implicitly informed of coming change when such
- * an object is first allocated.  The following routines inform the
- * collector that an object will no longer be changed, or that it will
- * once again be changed.  Only nonNIL pointer stores into the object
- * are considered to be changes.  The argument to GC_end_stubborn_change
- * must be exacly the value returned by GC_malloc_stubborn or passed to
- * GC_change_stubborn.  (In the second case it may be an interior pointer
- * within 512 bytes of the beginning of the objects.)
- * There is a performance penalty for allowing more than
- * one stubborn object to be changed at once, but it is acceptable to
- * do so.  The same applies to dropping stubborn objects that are still
- * changeable.
- */
-GC_API void GC_change_stubborn(void *);
-GC_API void GC_end_stubborn_change(void *);
-
-/* Return a pointer to the base (lowest address) of an object given	*/
-/* a pointer to a location within the object.				*/
-/* I.e. map an interior pointer to the corresponding bas pointer.	*/
-/* Note that with debugging allocation, this returns a pointer to the	*/
-/* actual base of the object, i.e. the debug information, not to	*/
-/* the base of the user object.						*/
-/* Return 0 if displaced_pointer doesn't point to within a valid	*/
-/* object.								*/
-/* Note that a deallocated object in the garbage collected heap		*/
-/* may be considered valid, even if it has been deallocated with	*/
-/* GC_free.								*/
-GC_API void * GC_base(void * displaced_pointer);
-
-/* Given a pointer to the base of an object, return its size in bytes.	*/
-/* The returned size may be slightly larger than what was originally	*/
-/* requested.								*/
-GC_API size_t GC_size(void * object_addr);
-
-/* For compatibility with C library.  This is occasionally faster than	*/
-/* a malloc followed by a bcopy.  But if you rely on that, either here	*/
-/* or with the standard C library, your code is broken.  In my		*/
-/* opinion, it shouldn't have been invented, but now we're stuck. -HB	*/
-/* The resulting object has the same kind as the original.		*/
-/* If the argument is stubborn, the result will have changes enabled.	*/
-/* It is an error to have changes enabled for the original object.	*/
-/* Follows ANSI comventions for NULL old_object.			*/
-GC_API void * GC_realloc(void * old_object, size_t new_size_in_bytes);
-				   
-/* Explicitly increase the heap size.	*/
-/* Returns 0 on failure, 1 on success.  */
-GC_API int GC_expand_hp(size_t number_of_bytes);
-
-/* Limit the heap size to n bytes.  Useful when you're debugging, 	*/
-/* especially on systems that don't handle running out of memory well.	*/
-/* n == 0 ==> unbounded.  This is the default.				*/
-GC_API void GC_set_max_heap_size(GC_word n);
-
-/* Inform the collector that a certain section of statically allocated	*/
-/* memory contains no pointers to garbage collected memory.  Thus it 	*/
-/* need not be scanned.  This is sometimes important if the application */
-/* maps large read/write files into the address space, which could be	*/
-/* mistaken for dynamic library data segments on some systems.		*/
-GC_API void GC_exclude_static_roots(void * low_address,
-				    void * high_address_plus_1);
-
-/* Clear the set of root segments.  Wizards only. */
-GC_API void GC_clear_roots(void);
-
-/* Add a root segment.  Wizards only. */
-GC_API void GC_add_roots(void * low_address, void * high_address_plus_1);
-
-/* Remove a root segment.  Wizards only. */
-GC_API void GC_remove_roots(void * low_address, void * high_address_plus_1);
-
-/* Add a displacement to the set of those considered valid by the	*/
-/* collector.  GC_register_displacement(n) means that if p was returned */
-/* by GC_malloc, then (char *)p + n will be considered to be a valid	*/
-/* pointer to p.  N must be small and less than the size of p.		*/
-/* (All pointers to the interior of objects from the stack are		*/
-/* considered valid in any case.  This applies to heap objects and	*/
-/* static data.)							*/
-/* Preferably, this should be called before any other GC procedures.	*/
-/* Calling it later adds to the probability of excess memory		*/
-/* retention.								*/
-/* This is a no-op if the collector has recognition of			*/
-/* arbitrary interior pointers enabled, which is now the default.	*/
-GC_API void GC_register_displacement(size_t n);
-
-/* The following version should be used if any debugging allocation is	*/
-/* being done.								*/
-GC_API void GC_debug_register_displacement(size_t n);
-
-/* Explicitly trigger a full, world-stop collection. 	*/
-GC_API void GC_gcollect(void);
-
-/* Trigger a full world-stopped collection.  Abort the collection if 	*/
-/* and when stop_func returns a nonzero value.  Stop_func will be 	*/
-/* called frequently, and should be reasonably fast.  This works even	*/
-/* if virtual dirty bits, and hence incremental collection is not 	*/
-/* available for this architecture.  Collections can be aborted faster	*/
-/* than normal pause times for incremental collection.  However,	*/
-/* aborted collections do no useful work; the next collection needs	*/
-/* to start from the beginning.						*/
-/* Return 0 if the collection was aborted, 1 if it succeeded.		*/
-typedef int (* GC_stop_func)(void);
-GC_API int GC_try_to_collect(GC_stop_func stop_func);
-
-/* Return the number of bytes in the heap.  Excludes collector private	*/
-/* data structures.  Includes empty blocks and fragmentation loss.	*/
-/* Includes some pages that were allocated but never written.		*/
-GC_API size_t GC_get_heap_size(void);
-
-/* Return a lower bound on the number of free bytes in the heap.	*/
-GC_API size_t GC_get_free_bytes(void);
-
-/* Return the number of bytes allocated since the last collection.	*/
-GC_API size_t GC_get_bytes_since_gc(void);
-
-/* Return the total number of bytes allocated in this process.		*/
-/* Never decreases, except due to wrapping.				*/
-GC_API size_t GC_get_total_bytes(void);
-
-/* Disable garbage collection.  Even GC_gcollect calls will be 		*/
-/* ineffective.								*/
-GC_API void GC_disable(void);
-
-/* Reenable garbage collection.  GC_disable() and GC_enable() calls 	*/
-/* nest.  Garbage collection is enabled if the number of calls to both	*/
-/* both functions is equal.						*/
-GC_API void GC_enable(void);
-
-/* Enable incremental/generational collection.	*/
-/* Not advisable unless dirty bits are 		*/
-/* available or most heap objects are		*/
-/* pointerfree(atomic) or immutable.		*/
-/* Don't use in leak finding mode.		*/
-/* Ignored if GC_dont_gc is true.		*/
-/* Only the generational piece of this is	*/
-/* functional if GC_parallel is TRUE		*/
-/* or if GC_time_limit is GC_TIME_UNLIMITED.	*/
-/* Causes GC_local_gcj_malloc() to revert to	*/
-/* locked allocation.  Must be called 		*/
-/* before any GC_local_gcj_malloc() calls.	*/
-/* For best performance, should be called as early as possible.	*/
-/* On some platforms, calling it later may have adverse effects.*/
-/* Safe to call before GC_INIT().  Includes a GC_init() call.	*/
-GC_API void GC_enable_incremental(void);
-
-/* Does incremental mode write-protect pages?  Returns zero or	*/
-/* more of the following, or'ed together:			*/
-#define GC_PROTECTS_POINTER_HEAP  1 /* May protect non-atomic objs.	*/
-#define GC_PROTECTS_PTRFREE_HEAP  2
-#define GC_PROTECTS_STATIC_DATA   4 /* Currently never.			*/
-#define GC_PROTECTS_STACK	  8 /* Probably impractical.		*/
-
-#define GC_PROTECTS_NONE 0
-GC_API int GC_incremental_protection_needs(void);
-
-/* Perform some garbage collection work, if appropriate.	*/
-/* Return 0 if there is no more work to be done.		*/
-/* Typically performs an amount of work corresponding roughly	*/
-/* to marking from one page.  May do more work if further	*/
-/* progress requires it, e.g. if incremental collection is	*/
-/* disabled.  It is reasonable to call this in a wait loop	*/
-/* until it returns 0.						*/
-GC_API int GC_collect_a_little(void);
-
-/* Allocate an object of size lb bytes.  The client guarantees that	*/
-/* as long as the object is live, it will be referenced by a pointer	*/
-/* that points to somewhere within the first 256 bytes of the object.	*/
-/* (This should normally be declared volatile to prevent the compiler	*/
-/* from invalidating this assertion.)  This routine is only useful	*/
-/* if a large array is being allocated.  It reduces the chance of 	*/
-/* accidentally retaining such an array as a result of scanning an	*/
-/* integer that happens to be an address inside the array.  (Actually,	*/
-/* it reduces the chance of the allocator not finding space for such	*/
-/* an array, since it will try hard to avoid introducing such a false	*/
-/* reference.)  On a SunOS 4.X or MS Windows system this is recommended */
-/* for arrays likely to be larger than 100K or so.  For other systems,	*/
-/* or if the collector is not configured to recognize all interior	*/
-/* pointers, the threshold is normally much higher.			*/
-GC_API void * GC_malloc_ignore_off_page(size_t lb);
-GC_API void * GC_malloc_atomic_ignore_off_page(size_t lb);
-
-#if defined(__sgi) && !defined(__GNUC__) && _COMPILER_VERSION >= 720
-#   define GC_ADD_CALLER
-#   define GC_RETURN_ADDR (GC_word)__return_address
-#endif
-
-#if defined(__linux__) || defined(__GLIBC__)
-# include <features.h>
-# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
-     && !defined(__ia64__)
-#   ifndef GC_HAVE_BUILTIN_BACKTRACE
-#     define GC_HAVE_BUILTIN_BACKTRACE
-#   endif
-# endif
-# if defined(__i386__) || defined(__x86_64__)
-#   define GC_CAN_SAVE_CALL_STACKS
-# endif
-#endif
-
-#if defined(_MSC_VER) && _MSC_VER >= 1200 /* version 12.0+ (MSVC 6.0+)  */ \
-    && !defined(_AMD64_)
-# ifndef GC_HAVE_NO_BUILTIN_BACKTRACE
-#   define GC_HAVE_BUILTIN_BACKTRACE
-# endif
-#endif
-
-#if defined(GC_HAVE_BUILTIN_BACKTRACE) && !defined(GC_CAN_SAVE_CALL_STACKS)
-# define GC_CAN_SAVE_CALL_STACKS
-#endif
-
-#if defined(__sparc__)
-#   define GC_CAN_SAVE_CALL_STACKS
-#endif
-
-/* If we're on an a platform on which we can't save call stacks, but	*/
-/* gcc is normally used, we go ahead and define GC_ADD_CALLER.  	*/
-/* We make this decision independent of whether gcc is actually being	*/
-/* used, in order to keep the interface consistent, and allow mixing	*/
-/* of compilers.							*/
-/* This may also be desirable if it is possible but expensive to	*/
-/* retrieve the call chain.						*/
-#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) \
-     || defined(__FreeBSD__) || defined(__DragonFly__)) & !defined(GC_CAN_SAVE_CALL_STACKS)
-# define GC_ADD_CALLER
-# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) 
-    /* gcc knows how to retrieve return address, but we don't know */
-    /* how to generate call stacks.				   */
-#   define GC_RETURN_ADDR (GC_word)__builtin_return_address(0)
-# else
-    /* Just pass 0 for gcc compatibility. */
-#   define GC_RETURN_ADDR 0
-# endif
-#endif
-
-#ifdef GC_ADD_CALLER
-#  define GC_EXTRAS GC_RETURN_ADDR, __FILE__, __LINE__
-#  define GC_EXTRA_PARAMS GC_word ra, const char * s, int i
-#else
-#  define GC_EXTRAS __FILE__, __LINE__
-#  define GC_EXTRA_PARAMS const char * s, int i
-#endif
-
-/* Debugging (annotated) allocation.  GC_gcollect will check 		*/
-/* objects allocated in this way for overwrites, etc.			*/
-GC_API void * GC_debug_malloc(size_t size_in_bytes, GC_EXTRA_PARAMS);
-GC_API void * GC_debug_malloc_atomic(size_t size_in_bytes, GC_EXTRA_PARAMS);
-GC_API char * GC_debug_strdup(const char *str, GC_EXTRA_PARAMS);
-GC_API void * GC_debug_malloc_uncollectable
-	(size_t size_in_bytes, GC_EXTRA_PARAMS);
-GC_API void * GC_debug_malloc_stubborn
-	(size_t size_in_bytes, GC_EXTRA_PARAMS);
-GC_API void * GC_debug_malloc_ignore_off_page
-	(size_t size_in_bytes, GC_EXTRA_PARAMS);
-GC_API void * GC_debug_malloc_atomic_ignore_off_page
-	(size_t size_in_bytes, GC_EXTRA_PARAMS);
-GC_API void GC_debug_free (void * object_addr);
-GC_API void * GC_debug_realloc
-	(void * old_object, size_t new_size_in_bytes, GC_EXTRA_PARAMS);
-GC_API void GC_debug_change_stubborn(void *);
-GC_API void GC_debug_end_stubborn_change(void *);
-
-/* Routines that allocate objects with debug information (like the 	*/
-/* above), but just fill in dummy file and line number information.	*/
-/* Thus they can serve as drop-in malloc/realloc replacements.  This	*/
-/* can be useful for two reasons:  					*/
-/* 1) It allows the collector to be built with DBG_HDRS_ALL defined	*/
-/*    even if some allocation calls come from 3rd party libraries	*/
-/*    that can't be recompiled.						*/
-/* 2) On some platforms, the file and line information is redundant,	*/
-/*    since it can be reconstructed from a stack trace.  On such	*/
-/*    platforms it may be more convenient not to recompile, e.g. for	*/
-/*    leak detection.  This can be accomplished by instructing the	*/
-/*    linker to replace malloc/realloc with these.			*/
-GC_API void * GC_debug_malloc_replacement (size_t size_in_bytes);
-GC_API void * GC_debug_realloc_replacement
-	      (void * object_addr, size_t size_in_bytes);
-  			 	 
-# ifdef GC_DEBUG
-#   define GC_MALLOC(sz) GC_debug_malloc(sz, GC_EXTRAS)
-#   define GC_MALLOC_ATOMIC(sz) GC_debug_malloc_atomic(sz, GC_EXTRAS)
-#   define GC_STRDUP(s) GC_debug_strdup((s), GC_EXTRAS)
-#   define GC_MALLOC_UNCOLLECTABLE(sz) \
-			GC_debug_malloc_uncollectable(sz, GC_EXTRAS)
-#   define GC_MALLOC_IGNORE_OFF_PAGE(sz) \
-			GC_debug_malloc_ignore_off_page(sz, GC_EXTRAS)
-#   define GC_MALLOC_ATOMIC_IGNORE_OFF_PAGE(sz) \
-			GC_debug_malloc_atomic_ignore_off_page(sz, GC_EXTRAS)
-#   define GC_REALLOC(old, sz) GC_debug_realloc(old, sz, GC_EXTRAS)
-#   define GC_FREE(p) GC_debug_free(p)
-#   define GC_REGISTER_FINALIZER(p, f, d, of, od) \
-	GC_debug_register_finalizer(p, f, d, of, od)
-#   define GC_REGISTER_FINALIZER_IGNORE_SELF(p, f, d, of, od) \
-	GC_debug_register_finalizer_ignore_self(p, f, d, of, od)
-#   define GC_REGISTER_FINALIZER_NO_ORDER(p, f, d, of, od) \
-	GC_debug_register_finalizer_no_order(p, f, d, of, od)
-#   define GC_REGISTER_FINALIZER_UNREACHABLE(p, f, d, of, od) \
-	GC_debug_register_finalizer_unreachable(p, f, d, of, od)
-#   define GC_MALLOC_STUBBORN(sz) GC_debug_malloc_stubborn(sz, GC_EXTRAS);
-#   define GC_CHANGE_STUBBORN(p) GC_debug_change_stubborn(p)
-#   define GC_END_STUBBORN_CHANGE(p) GC_debug_end_stubborn_change(p)
-#   define GC_GENERAL_REGISTER_DISAPPEARING_LINK(link, obj) \
-	GC_general_register_disappearing_link(link, GC_base(obj))
-#   define GC_REGISTER_DISPLACEMENT(n) GC_debug_register_displacement(n)
-# else
-#   define GC_MALLOC(sz) GC_malloc(sz)
-#   define GC_MALLOC_ATOMIC(sz) GC_malloc_atomic(sz)
-#   define GC_STRDUP(s) GC_strdup(s)
-#   define GC_MALLOC_UNCOLLECTABLE(sz) GC_malloc_uncollectable(sz)
-#   define GC_MALLOC_IGNORE_OFF_PAGE(sz) \
-			GC_malloc_ignore_off_page(sz)
-#   define GC_MALLOC_ATOMIC_IGNORE_OFF_PAGE(sz) \
-			GC_malloc_atomic_ignore_off_page(sz)
-#   define GC_REALLOC(old, sz) GC_realloc(old, sz)
-#   define GC_FREE(p) GC_free(p)
-#   define GC_REGISTER_FINALIZER(p, f, d, of, od) \
-	GC_register_finalizer(p, f, d, of, od)
-#   define GC_REGISTER_FINALIZER_IGNORE_SELF(p, f, d, of, od) \
-	GC_register_finalizer_ignore_self(p, f, d, of, od)
-#   define GC_REGISTER_FINALIZER_NO_ORDER(p, f, d, of, od) \
-	GC_register_finalizer_no_order(p, f, d, of, od)
-#   define GC_REGISTER_FINALIZER_UNREACHABLE(p, f, d, of, od) \
-	GC_register_finalizer_unreachable(p, f, d, of, od)
-#   define GC_MALLOC_STUBBORN(sz) GC_malloc_stubborn(sz)
-#   define GC_CHANGE_STUBBORN(p) GC_change_stubborn(p)
-#   define GC_END_STUBBORN_CHANGE(p) GC_end_stubborn_change(p)
-#   define GC_GENERAL_REGISTER_DISAPPEARING_LINK(link, obj) \
-	GC_general_register_disappearing_link(link, obj)
-#   define GC_REGISTER_DISPLACEMENT(n) GC_register_displacement(n)
-# endif
-/* The following are included because they are often convenient, and	*/
-/* reduce the chance for a misspecifed size argument.  But calls may	*/
-/* expand to something syntactically incorrect if t is a complicated	*/
-/* type expression.  							*/
-# define GC_NEW(t) (t *)GC_MALLOC(sizeof (t))
-# define GC_NEW_ATOMIC(t) (t *)GC_MALLOC_ATOMIC(sizeof (t))
-# define GC_NEW_STUBBORN(t) (t *)GC_MALLOC_STUBBORN(sizeof (t))
-# define GC_NEW_UNCOLLECTABLE(t) (t *)GC_MALLOC_UNCOLLECTABLE(sizeof (t))
-
-/* Finalization.  Some of these primitives are grossly unsafe.		*/
-/* The idea is to make them both cheap, and sufficient to build		*/
-/* a safer layer, closer to Modula-3, Java, or PCedar finalization.	*/
-/* The interface represents my conclusions from a long discussion	*/
-/* with Alan Demers, Dan Greene, Carl Hauser, Barry Hayes, 		*/
-/* Christian Jacobi, and Russ Atkinson.  It's not perfect, and		*/
-/* probably nobody else agrees with it.	    Hans-J. Boehm  3/13/92	*/
-typedef void (*GC_finalization_proc) (void * obj, void * client_data);
-
-GC_API void GC_register_finalizer(void * obj, GC_finalization_proc fn,
-				  void * cd, GC_finalization_proc *ofn,
-				  void * *ocd);
-GC_API void GC_debug_register_finalizer
-    	         (void * obj, GC_finalization_proc fn, void * cd,
-		  GC_finalization_proc *ofn, void * *ocd);
-	/* When obj is no longer accessible, invoke		*/
-	/* (*fn)(obj, cd).  If a and b are inaccessible, and	*/
-	/* a points to b (after disappearing links have been	*/
-	/* made to disappear), then only a will be		*/
-	/* finalized.  (If this does not create any new		*/
-	/* pointers to b, then b will be finalized after the	*/
-	/* next collection.)  Any finalizable object that	*/
-	/* is reachable from itself by following one or more	*/
-	/* pointers will not be finalized (or collected).	*/
-	/* Thus cycles involving finalizable objects should	*/
-	/* be avoided, or broken by disappearing links.		*/
-	/* All but the last finalizer registered for an object  */
-	/* is ignored.						*/
-	/* Finalization may be removed by passing 0 as fn.	*/
-	/* Finalizers are implicitly unregistered just before   */
-	/* they are invoked.					*/
-	/* The old finalizer and client data are stored in	*/
-	/* *ofn and *ocd.					*/ 
-	/* Fn is never invoked on an accessible object,		*/
-	/* provided hidden pointers are converted to real 	*/
-	/* pointers only if the allocation lock is held, and	*/
-	/* such conversions are not performed by finalization	*/
-	/* routines.						*/
-	/* If GC_register_finalizer is aborted as a result of	*/
-	/* a signal, the object may be left with no		*/
-	/* finalization, even if neither the old nor new	*/
-	/* finalizer were NULL.					*/
-	/* Obj should be the nonNULL starting address of an 	*/
-	/* object allocated by GC_malloc or friends.		*/
-	/* Note that any garbage collectable object referenced	*/
-	/* by cd will be considered accessible until the	*/
-	/* finalizer is invoked.				*/
-
-/* Another versions of the above follow.  It ignores		*/
-/* self-cycles, i.e. pointers from a finalizable object to	*/
-/* itself.  There is a stylistic argument that this is wrong,	*/
-/* but it's unavoidable for C++, since the compiler may		*/
-/* silently introduce these.  It's also benign in that specific	*/
-/* case.  And it helps if finalizable objects are split to	*/
-/* avoid cycles.						*/
-/* Note that cd will still be viewed as accessible, even if it	*/
-/* refers to the object itself.					*/
-GC_API void GC_register_finalizer_ignore_self
-		(void * obj, GC_finalization_proc fn, void * cd,
-		 GC_finalization_proc *ofn, void * *ocd);
-GC_API void GC_debug_register_finalizer_ignore_self
-		(void * obj, GC_finalization_proc fn, void * cd,
-		 GC_finalization_proc *ofn, void * *ocd);
-
-/* Another version of the above.  It ignores all cycles.        */
-/* It should probably only be used by Java implementations.     */
-/* Note that cd will still be viewed as accessible, even if it	*/
-/* refers to the object itself.					*/
-GC_API void GC_register_finalizer_no_order
-	  	(void * obj, GC_finalization_proc fn, void * cd,
-	 	 GC_finalization_proc *ofn, void * *ocd);
-GC_API void GC_debug_register_finalizer_no_order
-		(void * obj, GC_finalization_proc fn, void * cd,
-		 GC_finalization_proc *ofn, void * *ocd);
-
-/* This is a special finalizer that is useful when an object's  */
-/* finalizer must be run when the object is known to be no      */
-/* longer reachable, not even from other finalizable objects.   */
-/* It behaves like "normal" finalization, except that the 	*/
-/* finalizer is not run while the object is reachable from	*/
-/* other objects specifying unordered finalization.		*/
-/* Effectively it allows an object referenced, possibly		*/
-/* indirectly, from an unordered finalizable object to override */
-/* the unordered finalization request.				*/
-/* This can be used in combination with finalizer_no_order so   */
-/* as to release resources that must not be released while an   */
-/* object can still be brought back to life by other            */
-/* finalizers.                                                  */
-/* Only works if GC_java_finalization is set.  Probably only 	*/
-/* of interest when implementing a language that requires	*/
-/* unordered finalization (e.g. Java, C#).			*/
-GC_API void GC_register_finalizer_unreachable
-	         (void * obj, GC_finalization_proc fn, void * cd,
-		  GC_finalization_proc *ofn, void * *ocd);
-GC_API void GC_debug_register_finalizer_unreachable
-		 (void * obj, GC_finalization_proc fn, void * cd,
-		  GC_finalization_proc *ofn, void * *ocd);
-
-/* The following routine may be used to break cycles between	*/
-/* finalizable objects, thus causing cyclic finalizable		*/
-/* objects to be finalized in the correct order.  Standard	*/
-/* use involves calling GC_register_disappearing_link(&p),	*/
-/* where p is a pointer that is not followed by finalization	*/
-/* code, and should not be considered in determining 		*/
-/* finalization order.						*/
-GC_API int GC_register_disappearing_link(void * * link );
-	/* Link should point to a field of a heap allocated 	*/
-	/* object obj.  *link will be cleared when obj is	*/
-	/* found to be inaccessible.  This happens BEFORE any	*/
-	/* finalization code is invoked, and BEFORE any		*/
-	/* decisions about finalization order are made.		*/
-	/* This is useful in telling the finalizer that 	*/
-	/* some pointers are not essential for proper		*/
-	/* finalization.  This may avoid finalization cycles.	*/
-	/* Note that obj may be resurrected by another		*/
-	/* finalizer, and thus the clearing of *link may	*/
-	/* be visible to non-finalization code.  		*/
-	/* There's an argument that an arbitrary action should  */
-	/* be allowed here, instead of just clearing a pointer. */
-	/* But this causes problems if that action alters, or 	*/
-	/* examines connectivity.				*/
-	/* Returns 1 if link was already registered, 0		*/
-	/* otherwise.						*/
-	/* Only exists for backward compatibility.  See below:	*/
-	
-GC_API int GC_general_register_disappearing_link (void * * link, void * obj);
-	/* A slight generalization of the above. *link is	*/
-	/* cleared when obj first becomes inaccessible.  This	*/
-	/* can be used to implement weak pointers easily and	*/
-	/* safely. Typically link will point to a location	*/
-	/* holding a disguised pointer to obj.  (A pointer 	*/
-	/* inside an "atomic" object is effectively  		*/
-	/* disguised.)   In this way soft			*/
-	/* pointers are broken before any object		*/
-	/* reachable from them are finalized.  Each link	*/
-	/* May be registered only once, i.e. with one obj	*/
-	/* value.  This was added after a long email discussion */
-	/* with John Ellis.					*/
-	/* Obj must be a pointer to the first word of an object */
-	/* we allocated.  It is unsafe to explicitly deallocate */
-	/* the object containing link.  Explicitly deallocating */
-	/* obj may or may not cause link to eventually be	*/
-	/* cleared.						*/
-	/* This can be used to implement certain types of	*/
-	/* weak pointers.  Note however that this generally	*/
-	/* requires that thje allocation lock is held (see	*/
-	/* GC_call_with_allock_lock() below) when the disguised	*/
-	/* pointer is accessed.  Otherwise a strong pointer	*/
-	/* could be recreated between the time the collector    */
-	/* decides to reclaim the object and the link is	*/
-	/* cleared.						*/
-
-GC_API int GC_unregister_disappearing_link (void * * link);
-	/* Returns 0 if link was not actually registered.	*/
-	/* Undoes a registration by either of the above two	*/
-	/* routines.						*/
-
-/* Returns !=0  if GC_invoke_finalizers has something to do. 		*/
-GC_API int GC_should_invoke_finalizers(void);
-
-GC_API int GC_invoke_finalizers(void);
-	/* Run finalizers for all objects that are ready to	*/
-	/* be finalized.  Return the number of finalizers	*/
-	/* that were run.  Normally this is also called		*/
-	/* implicitly during some allocations.	If		*/
-	/* GC-finalize_on_demand is nonzero, it must be called	*/
-	/* explicitly.						*/
-
-/* Explicitly tell the collector that an object is reachable	*/
-/* at a particular program point.  This prevents the argument	*/
-/* pointer from being optimized away, even it is otherwise no	*/
-/* longer needed.  It should have no visible effect in the	*/
-/* absence of finalizers or disappearing links.  But it may be	*/
-/* needed to prevent finalizers from running while the		*/
-/* associated external resource is still in use.		*/
-/* The function is sometimes called keep_alive in other		*/
-/* settings.							*/
-# if defined(__GNUC__) && !defined(__INTEL_COMPILER)
-#   define GC_reachable_here(ptr) \
-    __asm__ volatile(" " : : "X"(ptr) : "memory");
-# else
-    GC_API void GC_noop1(GC_word x);
-#   define GC_reachable_here(ptr) GC_noop1((GC_word)(ptr));
-#endif
-
-/* GC_set_warn_proc can be used to redirect or filter warning messages.	*/
-/* p may not be a NULL pointer.						*/
-typedef void (*GC_warn_proc) (char *msg, GC_word arg);
-GC_API GC_warn_proc GC_set_warn_proc(GC_warn_proc p);
-    /* Returns old warning procedure.	*/
-
-GC_API GC_word GC_set_free_space_divisor(GC_word value);
-    /* Set free_space_divisor.  See above for definition.	*/
-    /* Returns old value.					*/
-	
-/* The following is intended to be used by a higher level	*/
-/* (e.g. Java-like) finalization facility.  It is expected	*/
-/* that finalization code will arrange for hidden pointers to	*/
-/* disappear.  Otherwise objects can be accessed after they	*/
-/* have been collected.						*/
-/* Note that putting pointers in atomic objects or in 		*/
-/* nonpointer slots of "typed" objects is equivalent to 	*/
-/* disguising them in this way, and may have other advantages.	*/
-# if defined(I_HIDE_POINTERS) || defined(GC_I_HIDE_POINTERS)
-    typedef GC_word GC_hidden_pointer;
-#   define HIDE_POINTER(p) (~(GC_hidden_pointer)(p))
-#   define REVEAL_POINTER(p) ((void *)(HIDE_POINTER(p)))
-    /* Converting a hidden pointer to a real pointer requires verifying	*/
-    /* that the object still exists.  This involves acquiring the  	*/
-    /* allocator lock to avoid a race with the collector.		*/
-# endif /* I_HIDE_POINTERS */
-
-typedef void * (*GC_fn_type) (void * client_data);
-GC_API void * GC_call_with_alloc_lock (GC_fn_type fn, void * client_data);
-
-/* These routines are intended to explicitly notify the collector	*/
-/* of new threads.  Often this is unnecessary because thread creation	*/
-/* is implicitly intercepted by the collector, using header-file	*/
-/* defines, or linker-based interception.  In the long run the intent	*/
-/* is to always make redundant registration safe.  In the short run,	*/
-/* this is being implemented a platform at a time.			*/
-/* The interface is complicated by the fact that we probably will not 	*/
-/* ever be able to automatically determine the stack base for thread	*/
-/* stacks on all platforms.						*/
-
-/* Structure representing the base of a thread stack.  On most		*/
-/* platforms this contains just a single address.			*/
-struct GC_stack_base {
-	void * mem_base;	/* Base of memory stack.	*/
-#	if defined(__ia64) || defined(__ia64__)
-	  void * reg_base;	/* Base of separate register stack.	*/
-#	endif
-};
-
-typedef void * (*GC_stack_base_func)(struct GC_stack_base *sb, void *arg);
-
-/* Call a function with a stack base structure corresponding to		*/
-/* somewhere in the GC_call_with_stack_base frame.  This often can	*/
-/* be used to provide a sufficiently accurate stack base.  And we 	*/
-/* implement it everywhere.						*/
-void * GC_call_with_stack_base(GC_stack_base_func fn, void *arg);
-
-/* Register the current thread, with the indicated stack base, as	*/
-/* a new thread whose stack(s) should be traced by the GC.  If a 	*/
-/* platform does not implicitly do so, this must be called before a	*/
-/* thread can allocate garbage collected memory, or assign pointers	*/
-/* to the garbage collected heap.  Once registered, a thread will be	*/
-/* stopped during garbage collections.					*/
-/* Return codes:	*/
-#define GC_SUCCESS 0
-#define GC_DUPLICATE 1	/* Was already registered.	*/
-#define GC_NO_THREADS 2	/* No thread support in GC.  	*/
-#define GC_UNIMPLEMENTED 3	/* Not yet implemented on this platform. */
-int GC_register_my_thread(struct GC_stack_base *);
-
-/* Unregister the current thread.  The thread may no longer allocate	*/
-/* garbage collected memory or manipulate pointers to the		*/
-/* garbage collected heap after making this call.			*/
-/* Specifically, if it wants to return or otherwise communicate a 	*/
-/* pointer to the garbage-collected heap to another thread, it must	*/
-/* do this before calling GC_unregister_my_thread, most probably	*/
-/* by saving it in a global data structure.				*/
-int GC_unregister_my_thread(void);
-
-/* Attempt to fill in the GC_stack_base structure with the stack base	*/
-/* for this thread.  This appears to be required to implement anything	*/
-/* like the JNI AttachCurrentThread in an environment in which new	*/
-/* threads are not automatically registered with the collector.		*/
-/* It is also unfortunately hard to implement well on many platforms.	*/
-/* Returns GC_SUCCESS or GC_UNIMPLEMENTED.				*/
-int GC_get_stack_base(struct GC_stack_base *);
-
-/* The following routines are primarily intended for use with a 	*/
-/* preprocessor which inserts calls to check C pointer arithmetic.	*/
-/* They indicate failure by invoking the corresponding _print_proc.	*/
-
-/* Check that p and q point to the same object.  		*/
-/* Fail conspicuously if they don't.				*/
-/* Returns the first argument.  				*/
-/* Succeeds if neither p nor q points to the heap.		*/
-/* May succeed if both p and q point to between heap objects.	*/
-GC_API void * GC_same_obj (void * p, void * q);
-
-/* Checked pointer pre- and post- increment operations.  Note that	*/
-/* the second argument is in units of bytes, not multiples of the	*/
-/* object size.  This should either be invoked from a macro, or the	*/
-/* call should be automatically generated.				*/
-GC_API void * GC_pre_incr (void * *p, size_t how_much);
-GC_API void * GC_post_incr (void * *p, size_t how_much);
-
-/* Check that p is visible						*/
-/* to the collector as a possibly pointer containing location.		*/
-/* If it isn't fail conspicuously.					*/
-/* Returns the argument in all cases.  May erroneously succeed		*/
-/* in hard cases.  (This is intended for debugging use with		*/
-/* untyped allocations.  The idea is that it should be possible, though	*/
-/* slow, to add such a call to all indirect pointer stores.)		*/
-/* Currently useless for multithreaded worlds.				*/
-GC_API void * GC_is_visible (void * p);
-
-/* Check that if p is a pointer to a heap page, then it points to	*/
-/* a valid displacement within a heap object.				*/
-/* Fail conspicuously if this property does not hold.			*/
-/* Uninteresting with GC_all_interior_pointers.				*/
-/* Always returns its argument.						*/
-GC_API void * GC_is_valid_displacement (void *	p);
-
-/* Explicitly dump the GC state.  This is most often called from the	*/
-/* debugger, or by setting the GC_DUMP_REGULARLY environment variable,	*/
-/* but it may be useful to call it from client code during debugging.	*/
-void GC_dump(void);
-
-/* Safer, but slow, pointer addition.  Probably useful mainly with 	*/
-/* a preprocessor.  Useful only for heap pointers.			*/
-#ifdef GC_DEBUG
-#   define GC_PTR_ADD3(x, n, type_of_result) \
-	((type_of_result)GC_same_obj((x)+(n), (x)))
-#   define GC_PRE_INCR3(x, n, type_of_result) \
-	((type_of_result)GC_pre_incr(&(x), (n)*sizeof(*x))
-#   define GC_POST_INCR2(x, type_of_result) \
-	((type_of_result)GC_post_incr(&(x), sizeof(*x))
-#   ifdef __GNUC__
-#       define GC_PTR_ADD(x, n) \
-	    GC_PTR_ADD3(x, n, typeof(x))
-#       define GC_PRE_INCR(x, n) \
-	    GC_PRE_INCR3(x, n, typeof(x))
-#       define GC_POST_INCR(x, n) \
-	    GC_POST_INCR3(x, typeof(x))
-#   else
-	/* We can't do this right without typeof, which ANSI	*/
-	/* decided was not sufficiently useful.  Repeatedly	*/
-	/* mentioning the arguments seems too dangerous to be	*/
-	/* useful.  So does not casting the result.		*/
-#   	define GC_PTR_ADD(x, n) ((x)+(n))
-#   endif
-#else	/* !GC_DEBUG */
-#   define GC_PTR_ADD3(x, n, type_of_result) ((x)+(n))
-#   define GC_PTR_ADD(x, n) ((x)+(n))
-#   define GC_PRE_INCR3(x, n, type_of_result) ((x) += (n))
-#   define GC_PRE_INCR(x, n) ((x) += (n))
-#   define GC_POST_INCR2(x, n, type_of_result) ((x)++)
-#   define GC_POST_INCR(x, n) ((x)++)
-#endif
-
-/* Safer assignment of a pointer to a nonstack location.	*/
-#ifdef GC_DEBUG
-#   define GC_PTR_STORE(p, q) \
-	(*(void **)GC_is_visible(p) = GC_is_valid_displacement(q))
-#else /* !GC_DEBUG */
-#   define GC_PTR_STORE(p, q) *((p) = (q))
-#endif
-
-/* Functions called to report pointer checking errors */
-GC_API void (*GC_same_obj_print_proc) (void * p, void * q);
-
-GC_API void (*GC_is_valid_displacement_print_proc) (void * p);
-
-GC_API void (*GC_is_visible_print_proc) (void * p);
-
-
-/* For pthread support, we generally need to intercept a number of 	*/
-/* thread library calls.  We do that here by macro defining them.	*/
-
-#if !defined(GC_USE_LD_WRAP) && \
-    (defined(GC_PTHREADS) || defined(GC_SOLARIS_THREADS))
-# include "gc_pthread_redirects.h"
-#endif
-
-# if defined(PCR) || defined(GC_SOLARIS_THREADS) || \
-     defined(GC_PTHREADS) || defined(GC_WIN32_THREADS)
-   	/* Any flavor of threads.	*/
-/* This returns a list of objects, linked through their first		*/
-/* word.  Its use can greatly reduce lock contention problems, since	*/
-/* the allocation lock can be acquired and released many fewer times.	*/
-/* It is used internally by gc_local_alloc.h, which provides a simpler	*/
-/* programming interface on Linux.					*/
-void * GC_malloc_many(size_t lb);
-#define GC_NEXT(p) (*(void * *)(p)) 	/* Retrieve the next element	*/
-					/* in returned list.		*/
-extern void GC_thr_init(void);	/* Needed for Solaris/X86 ??	*/
-
-#endif /* THREADS */
-
-/* Register a callback to control the scanning of dynamic libraries.
-   When the GC scans the static data of a dynamic library, it will
-   first call a user-supplied routine with filename of the library and
-   the address and length of the memory region.  This routine should
-   return nonzero if that region should be scanned.  */
-GC_API void 
-GC_register_has_static_roots_callback
-  (int (*callback)(const char *, void *, size_t));
-
-
-#if defined(GC_WIN32_THREADS) && !defined(__CYGWIN32__) \
-	&& !defined(__CYGWIN__) \
-	&& !defined(GC_PTHREADS)
-
-#ifdef __cplusplus
-    }  /* Including windows.h in an extern "C" context no longer works. */
-#endif
-
-# include <windows.h>
-
-#ifdef __cplusplus
-    extern "C" {
-#endif
-  /*
-   * All threads must be created using GC_CreateThread or GC_beginthreadex,
-   * or must explicitly call GC_register_my_thread,
-   * so that they will be recorded in the thread table.
-   * For backwards compatibility, it is possible to build the GC
-   * with GC_DLL defined, and to call GC_use_DllMain().
-   * This implicitly registers all created threads, but appears to be
-   * less robust.
-   *
-   * Currently the collector expects all threads to fall through and
-   * terminate normally, or call GC_endthreadex() or GC_ExitThread,
-   * so that the thread is properly unregistered.  (An explicit call
-   * to GC_unregister_my_thread() should also work, but risks unregistering
-   * the thread twice.)
-   */
-   GC_API HANDLE WINAPI GC_CreateThread(
-      LPSECURITY_ATTRIBUTES lpThreadAttributes,
-      DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress,
-      LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId );
-
-
-   GC_API uintptr_t GC_beginthreadex(
-     void *security, unsigned stack_size,
-     unsigned ( __stdcall *start_address )( void * ),
-     void *arglist, unsigned initflag, unsigned *thrdaddr);
-
-   GC_API void GC_endthreadex(unsigned retval);
-
-   GC_API void WINAPI GC_ExitThread(DWORD dwExitCode);
-
-# if defined(_WIN32_WCE)
-  /*
-   * win32_threads.c implements the real WinMain, which will start a new thread
-   * to call GC_WinMain after initializing the garbage collector.
-   */
-  GC_API int WINAPI GC_WinMain(
-      HINSTANCE hInstance,
-      HINSTANCE hPrevInstance,
-      LPWSTR lpCmdLine,
-      int nCmdShow );
-#  ifndef GC_BUILD
-#    define WinMain GC_WinMain
-#  endif
-# endif /* defined(_WIN32_WCE) */
-
-  /*
-   * Use implicit thread registration via DllMain.
-   */
-GC_API void GC_use_DllMain(void);
-
-# define CreateThread GC_CreateThread
-# define ExitThread GC_ExitThread
-# define _beginthreadex GC_beginthreadex
-# define _endthreadex GC_endthreadex
-# define _beginthread { > "Please use _beginthreadex instead of _beginthread" < }
-
-#endif /* defined(GC_WIN32_THREADS)  && !cygwin */
-
- /*
-  * Fully portable code should call GC_INIT() from the main program
-  * before making any other GC_ calls.  On most platforms this is a
-  * no-op and the collector self-initializes.  But a number of platforms
-  * make that too hard.
-  * A GC_INIT call is required if the collector is built with THREAD_LOCAL_ALLOC
-  * defined and the initial allocation call is not to GC_malloc().
-  */
-#if defined(__CYGWIN32__) || defined (_AIX)
-    /*
-     * Similarly gnu-win32 DLLs need explicit initialization from
-     * the main program, as does AIX.
-     */
-#   ifdef __CYGWIN32__
-      extern int _data_start__[];
-      extern int _data_end__[];
-      extern int _bss_start__[];
-      extern int _bss_end__[];
-#     define GC_MAX(x,y) ((x) > (y) ? (x) : (y))
-#     define GC_MIN(x,y) ((x) < (y) ? (x) : (y))
-#     define GC_DATASTART ((void *) GC_MIN(_data_start__, _bss_start__))
-#     define GC_DATAEND	 ((void *) GC_MAX(_data_end__, _bss_end__))
-#     if defined(GC_DLL)
-#       define GC_INIT() { GC_add_roots(GC_DATASTART, GC_DATAEND); \
-			   GC_gcollect(); /* For blacklisting. */}
-#     else
-	/* Main program init not required  */
-#       define GC_INIT() { GC_init(); }
-#     endif
-#   endif
-#   if defined(_AIX)
-      extern int _data[], _end[];
-#     define GC_DATASTART ((void *)((ulong)_data))
-#     define GC_DATAEND ((void *)((ulong)_end))
-#     define GC_INIT() { GC_add_roots(GC_DATASTART, GC_DATAEND); }
-#   endif
-#else
-#   define GC_INIT() { GC_init(); }
-#endif
-
-#if !defined(_WIN32_WCE) \
-    && ((defined(_MSDOS) || defined(_MSC_VER)) && (_M_IX86 >= 300) \
-        || defined(_WIN32) && !defined(__CYGWIN32__) && !defined(__CYGWIN__))
-  /* win32S may not free all resources on process exit.  */
-  /* This explicitly deallocates the heap.		 */
-    GC_API void GC_win32_free_heap ();
-#endif
-
-#if ( defined(_AMIGA) && !defined(GC_AMIGA_MAKINGLIB) )
-  /* Allocation really goes through GC_amiga_allocwrapper_do */
-# include "gc_amiga_redirects.h"
-#endif
-
-#if defined(GC_REDIRECT_TO_LOCAL) && !defined(GC_LOCAL_ALLOC_H)
-#  include  "gc_local_alloc.h"
-#endif
-
-#ifdef __cplusplus
-    }  /* end of extern "C" */
-#endif
-
-#endif /* _GC_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_allocator.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_allocator.h
deleted file mode 100755
index bf00966..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_allocator.h
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (c) 1996-1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- *
- * Copyright (c) 2002
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- */
-
-/*
- * This implements standard-conforming allocators that interact with
- * the garbage collector.  Gc_alloctor<T> allocates garbage-collectable
- * objects of type T.  Traceable_allocator<T> allocates objects that
- * are not temselves garbage collected, but are scanned by the
- * collector for pointers to collectable objects.  Traceable_alloc
- * should be used for explicitly managed STL containers that may
- * point to collectable objects.
- *
- * This code was derived from an earlier version of the GNU C++ standard
- * library, which itself was derived from the SGI STL implementation.
- */
-
-#ifndef GC_ALLOCATOR_H
-
-#define GC_ALLOCATOR_H
-
-#include "gc.h"
-#include <new> // for placement new
-
-#if defined(__GNUC__)
-#  define GC_ATTR_UNUSED __attribute__((unused))
-#else
-#  define GC_ATTR_UNUSED
-#endif
-
-/* First some helpers to allow us to dispatch on whether or not a type
- * is known to be pointerfree.
- * These are private, except that the client may invoke the
- * GC_DECLARE_PTRFREE macro.
- */
-
-struct GC_true_type {};
-struct GC_false_type {};
-
-template <class GC_tp>
-struct GC_type_traits {
-  GC_false_type GC_is_ptr_free;
-};
-
-# define GC_DECLARE_PTRFREE(T) \
-template<> struct GC_type_traits<T> { GC_true_type GC_is_ptr_free; }
-
-GC_DECLARE_PTRFREE(char);
-GC_DECLARE_PTRFREE(signed char);
-GC_DECLARE_PTRFREE(unsigned char);
-GC_DECLARE_PTRFREE(signed short);
-GC_DECLARE_PTRFREE(unsigned short);
-GC_DECLARE_PTRFREE(signed int);
-GC_DECLARE_PTRFREE(unsigned int);
-GC_DECLARE_PTRFREE(signed long);
-GC_DECLARE_PTRFREE(unsigned long);
-GC_DECLARE_PTRFREE(float);
-GC_DECLARE_PTRFREE(double);
-GC_DECLARE_PTRFREE(long double);
-/* The client may want to add others.	*/
-
-// In the following GC_Tp is GC_true_type iff we are allocating a
-// pointerfree object.
-template <class GC_Tp>
-inline void * GC_selective_alloc(size_t n, GC_Tp) {
-    return GC_MALLOC(n);
-}
-
-template <>
-inline void * GC_selective_alloc<GC_true_type>(size_t n, GC_true_type) {
-    return GC_MALLOC_ATOMIC(n);
-}
-
-/* Now the public gc_allocator<T> class:
- */
-template <class GC_Tp>
-class gc_allocator {
-public:
-  typedef size_t     size_type;
-  typedef ptrdiff_t  difference_type;
-  typedef GC_Tp*       pointer;
-  typedef const GC_Tp* const_pointer;
-  typedef GC_Tp&       reference;
-  typedef const GC_Tp& const_reference;
-  typedef GC_Tp        value_type;
-
-  template <class GC_Tp1> struct rebind {
-    typedef gc_allocator<GC_Tp1> other;
-  };
-
-  gc_allocator()  {}
-    gc_allocator(const gc_allocator&) throw() {}
-# if !(GC_NO_MEMBER_TEMPLATES || 0 < _MSC_VER && _MSC_VER <= 1200)
-  // MSVC++ 6.0 do not support member templates
-  template <class GC_Tp1> gc_allocator(const gc_allocator<GC_Tp1>&) throw() {}
-# endif
-  ~gc_allocator() throw() {}
-
-  pointer address(reference GC_x) const { return &GC_x; }
-  const_pointer address(const_reference GC_x) const { return &GC_x; }
-
-  // GC_n is permitted to be 0.  The C++ standard says nothing about what
-  // the return value is when GC_n == 0.
-  GC_Tp* allocate(size_type GC_n, const void* = 0) {
-    GC_type_traits<GC_Tp> traits;
-    return static_cast<GC_Tp *>
-	    (GC_selective_alloc(GC_n * sizeof(GC_Tp),
-			        traits.GC_is_ptr_free));
-  }
-
-  // __p is not permitted to be a null pointer.
-  void deallocate(pointer __p, size_type GC_ATTR_UNUSED GC_n)
-    { GC_FREE(__p); }
-
-  size_type max_size() const throw()
-    { return size_t(-1) / sizeof(GC_Tp); }
-
-  void construct(pointer __p, const GC_Tp& __val) { new(__p) GC_Tp(__val); }
-  void destroy(pointer __p) { __p->~GC_Tp(); }
-};
-
-template<>
-class gc_allocator<void> {
-  typedef size_t      size_type;
-  typedef ptrdiff_t   difference_type;
-  typedef void*       pointer;
-  typedef const void* const_pointer;
-  typedef void        value_type;
-
-  template <class GC_Tp1> struct rebind {
-    typedef gc_allocator<GC_Tp1> other;
-  };
-};
-
-
-template <class GC_T1, class GC_T2>
-inline bool operator==(const gc_allocator<GC_T1>&, const gc_allocator<GC_T2>&)
-{
-  return true;
-}
-
-template <class GC_T1, class GC_T2>
-inline bool operator!=(const gc_allocator<GC_T1>&, const gc_allocator<GC_T2>&)
-{
-  return false;
-}
-
-/*
- * And the public traceable_allocator class.
- */
-
-// Note that we currently don't specialize the pointer-free case, since a
-// pointer-free traceable container doesn't make that much sense,
-// though it could become an issue due to abstraction boundaries.
-template <class GC_Tp>
-class traceable_allocator {
-public:
-  typedef size_t     size_type;
-  typedef ptrdiff_t  difference_type;
-  typedef GC_Tp*       pointer;
-  typedef const GC_Tp* const_pointer;
-  typedef GC_Tp&       reference;
-  typedef const GC_Tp& const_reference;
-  typedef GC_Tp        value_type;
-
-  template <class GC_Tp1> struct rebind {
-    typedef traceable_allocator<GC_Tp1> other;
-  };
-
-  traceable_allocator() throw() {}
-    traceable_allocator(const traceable_allocator&) throw() {}
-# if !(GC_NO_MEMBER_TEMPLATES || 0 < _MSC_VER && _MSC_VER <= 1200)
-  // MSVC++ 6.0 do not support member templates
-  template <class GC_Tp1> traceable_allocator
-	  (const traceable_allocator<GC_Tp1>&) throw() {}
-# endif
-  ~traceable_allocator() throw() {}
-
-  pointer address(reference GC_x) const { return &GC_x; }
-  const_pointer address(const_reference GC_x) const { return &GC_x; }
-
-  // GC_n is permitted to be 0.  The C++ standard says nothing about what
-  // the return value is when GC_n == 0.
-  GC_Tp* allocate(size_type GC_n, const void* = 0) {
-    return static_cast<GC_Tp*>(GC_MALLOC_UNCOLLECTABLE(GC_n * sizeof(GC_Tp)));
-  }
-
-  // __p is not permitted to be a null pointer.
-  void deallocate(pointer __p, size_type GC_ATTR_UNUSED GC_n)
-    { GC_FREE(__p); }
-
-  size_type max_size() const throw()
-    { return size_t(-1) / sizeof(GC_Tp); }
-
-  void construct(pointer __p, const GC_Tp& __val) { new(__p) GC_Tp(__val); }
-  void destroy(pointer __p) { __p->~GC_Tp(); }
-};
-
-template<>
-class traceable_allocator<void> {
-  typedef size_t      size_type;
-  typedef ptrdiff_t   difference_type;
-  typedef void*       pointer;
-  typedef const void* const_pointer;
-  typedef void        value_type;
-
-  template <class GC_Tp1> struct rebind {
-    typedef traceable_allocator<GC_Tp1> other;
-  };
-};
-
-
-template <class GC_T1, class GC_T2>
-inline bool operator==(const traceable_allocator<GC_T1>&, const traceable_allocator<GC_T2>&)
-{
-  return true;
-}
-
-template <class GC_T1, class GC_T2>
-inline bool operator!=(const traceable_allocator<GC_T1>&, const traceable_allocator<GC_T2>&)
-{
-  return false;
-}
-
-#endif /* GC_ALLOCATOR_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_amiga_redirects.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_amiga_redirects.h
deleted file mode 100755
index 6bb94d5..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_amiga_redirects.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef GC_AMIGA_REDIRECTS_H
-
-# define GC_AMIGA_REDIRECTS_H
-
-# if ( defined(_AMIGA) && !defined(GC_AMIGA_MAKINGLIB) )
-    extern void *GC_amiga_realloc(void *old_object,size_t new_size_in_bytes);
-#   define GC_realloc(a,b) GC_amiga_realloc(a,b)
-    extern void GC_amiga_set_toany(void (*func)(void));
-    extern int GC_amiga_free_space_divisor_inc;
-    extern void *(*GC_amiga_allocwrapper_do) \
-	(size_t size,void *(*AllocFunction)(size_t size2));
-#   define GC_malloc(a) \
-	(*GC_amiga_allocwrapper_do)(a,GC_malloc)
-#   define GC_malloc_atomic(a) \
-	(*GC_amiga_allocwrapper_do)(a,GC_malloc_atomic)
-#   define GC_malloc_uncollectable(a) \
-	(*GC_amiga_allocwrapper_do)(a,GC_malloc_uncollectable)
-#   define GC_malloc_stubborn(a) \
-	(*GC_amiga_allocwrapper_do)(a,GC_malloc_stubborn)
-#   define GC_malloc_atomic_uncollectable(a) \
-	(*GC_amiga_allocwrapper_do)(a,GC_malloc_atomic_uncollectable)
-#   define GC_malloc_ignore_off_page(a) \
-	(*GC_amiga_allocwrapper_do)(a,GC_malloc_ignore_off_page)
-#   define GC_malloc_atomic_ignore_off_page(a) \
-	(*GC_amiga_allocwrapper_do)(a,GC_malloc_atomic_ignore_off_page)
-# endif /* _AMIGA && !GC_AMIGA_MAKINGLIB */
-
-#endif /* GC_AMIGA_REDIRECTS_H */
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_backptr.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_backptr.h
deleted file mode 100755
index 74ceddc..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_backptr.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * This is a simple API to implement pointer back tracing, i.e.
- * to answer questions such as "who is pointing to this" or
- * "why is this object being retained by the collector"
- *
- * This API assumes that we have an ANSI C compiler.
- *
- * Most of these calls yield useful information on only after
- * a garbage collection.  Usually the client will first force
- * a full collection and then gather information, preferably
- * before much intervening allocation.
- *
- * The implementation of the interface is only about 99.9999%
- * correct.  It is intended to be good enough for profiling,
- * but is not intended to be used with production code.
- *
- * Results are likely to be much more useful if all allocation is
- * accomplished through the debugging allocators.
- *
- * The implementation idea is due to A. Demers.
- */
-
-#ifndef GC_BACKPTR_H
-#define GC_BACKPTR_H
-/* Store information about the object referencing dest in *base_p     */
-/* and *offset_p.                                                     */
-/* If multiple objects or roots point to dest, the one reported	      */
-/* will be the last on used by the garbage collector to trace the     */
-/* object.							      */
-/*   source is root ==> *base_p = address, *offset_p = 0	      */
-/*   source is heap object ==> *base_p != 0, *offset_p = offset       */
-/*   Returns 1 on success, 0 if source couldn't be determined.        */
-/* Dest can be any address within a heap object.                      */
-typedef enum {  GC_UNREFERENCED, /* No reference info available.	*/
-		GC_NO_SPACE,	/* Dest not allocated with debug alloc  */
-		GC_REFD_FROM_ROOT, /* Referenced directly by root *base_p */
-		GC_REFD_FROM_REG,  /* Referenced from a register, i.e.	*/
-				   /* a root without an address.	*/
-		GC_REFD_FROM_HEAP, /* Referenced from another heap obj. */
-		GC_FINALIZER_REFD /* Finalizable and hence accessible.  */
-} GC_ref_kind;
-
-GC_ref_kind GC_get_back_ptr_info(void *dest, void **base_p, size_t *offset_p);
-
-/* Generate a random heap address.            */
-/* The resulting address is in the heap, but  */
-/* not necessarily inside a valid object.     */
-void * GC_generate_random_heap_address(void);
-
-/* Generate a random address inside a valid marked heap object. */
-void * GC_generate_random_valid_address(void);
-
-/* Force a garbage collection and generate a backtrace from a */
-/* random heap address.                                       */
-/* This uses the GC logging mechanism (GC_printf) to produce  */
-/* output.  It can often be called from a debugger.  The      */
-/* source in dbg_mlc.c also serves as a sample client.	      */
-void GC_generate_random_backtrace(void);
-
-/* Print a backtrace from a specific address.  Used by the 	*/
-/* above.  The client should call GC_gcollect() immediately	*/
-/* before invocation.						*/
-void GC_print_backtrace(void *);
-
-#endif /* GC_BACKPTR_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h
deleted file mode 100755
index f7aa570..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * This should never be included directly.  It is included only from gc.h.
- * We separate it only to make gc.h more suitable as documentation.
- * 
- * Some tests for old macros.  These violate our namespace rules and will
- * disappear shortly.  Use the GC_ names.
- */
-#if defined(SOLARIS_THREADS) || defined(_SOLARIS_THREADS) \
-    || defined(_SOLARIS_PTHREADS) || defined(GC_SOLARIS_PTHREADS)
-  /* We no longer support old style Solaris threads.		*/
-  /* GC_SOLARIS_THREADS now means pthreads.			*/
-# ifndef GC_SOLARIS_THREADS
-#   define GC_SOLARIS_THREADS
-# endif
-#endif
-#if defined(IRIX_THREADS)
-# define GC_IRIX_THREADS
-#endif
-#if defined(DGUX_THREADS)
-# if !defined(GC_DGUX386_THREADS)
-#  define GC_DGUX386_THREADS
-# endif
-#endif
-#if defined(AIX_THREADS)
-# define GC_AIX_THREADS
-#endif
-#if defined(HPUX_THREADS)
-# define GC_HPUX_THREADS
-#endif
-#if defined(OSF1_THREADS)
-# define GC_OSF1_THREADS
-#endif
-#if defined(LINUX_THREADS)
-# define GC_LINUX_THREADS
-#endif
-#if defined(WIN32_THREADS)
-# define GC_WIN32_THREADS
-#endif
-#if defined(USE_LD_WRAP)
-# define GC_USE_LD_WRAP
-#endif
-
-#if !defined(_REENTRANT) && (defined(GC_SOLARIS_THREADS) \
-			     || defined(GC_HPUX_THREADS) \
-			     || defined(GC_AIX_THREADS) \
-			     || defined(GC_LINUX_THREADS) \
-			     || defined(GC_NETBSD_THREADS) \
-			     || defined(GC_GNU_THREADS))
-# define _REENTRANT
-	/* Better late than never.  This fails if system headers that	*/
-	/* depend on this were previously included.			*/
-#endif
-
-#if !defined(_PTHREADS) && defined(GC_NETBSD_THREADS)
-# define _PTHREADS
-#endif
-
-#if defined(GC_DGUX386_THREADS) && !defined(_POSIX4A_DRAFT10_SOURCE)
-# define _POSIX4A_DRAFT10_SOURCE 1
-#endif
-
-# if defined(GC_SOLARIS_THREADS) || defined(GC_FREEBSD_THREADS) || \
-	defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
-	defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \
-	defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \
-        defined(GC_AIX_THREADS) || defined(GC_NETBSD_THREADS) || \
-        (defined(GC_WIN32_THREADS) && defined(__CYGWIN32__)) || \
-	defined(GC_GNU_THREADS)
-#   define GC_PTHREADS
-# endif
-
-#if defined(GC_WIN32_PTHREADS)
-#   define GC_WIN32_THREADS
-#   define GC_PTHREADS
-#endif
-
-#if defined(GC_THREADS) && !defined(GC_PTHREADS)
-# if defined(__linux__)
-#   define GC_LINUX_THREADS
-#   define GC_PTHREADS
-# endif
-# if !defined(__linux__) && (defined(_PA_RISC1_1) || defined(_PA_RISC2_0) \
-                         || defined(hppa) || defined(__HPPA)) \
-			 || (defined(__ia64) && defined(_HPUX_SOURCE))
-#   define GC_HPUX_THREADS
-#   define GC_PTHREADS
-# endif
-# if !defined(__linux__) && (defined(__alpha) || defined(__alpha__))
-#   define GC_OSF1_THREADS
-#   define GC_PTHREADS
-# endif
-# if defined(__mips) && !defined(__linux__)
-#   define GC_IRIX_THREADS
-#   define GC_PTHREADS
-# endif
-# if defined(__sparc) && !defined(__linux__) \
-     || defined(sun) && (defined(i386) || defined(__i386__))
-#   define GC_SOLARIS_THREADS
-#   define GC_PTHREADS
-# endif
-# if defined(__APPLE__) && defined(__MACH__)
-#   define GC_DARWIN_THREADS
-#   define GC_PTHREADS
-# endif
-# if !defined(GC_PTHREADS) && (defined(__FreeBSD__) || defined(__DragonFly__))
-#   define GC_FREEBSD_THREADS
-#   define GC_PTHREADS
-# endif
-# if !defined(GC_PTHREADS) && defined(__NetBSD__)
-#   define GC_NETBSD_THREADS
-#   define GC_PTHREADS
-# endif
-# if defined(DGUX) && (defined(i386) || defined(__i386__))
-#   define GC_DGUX386_THREADS
-#   define GC_PTHREADS
-# endif
-# if defined(_AIX)
-#   define GC_AIX_THREADS
-#   define GC_PTHREADS
-# endif
-#endif /* GC_THREADS */
-
-#if defined(GC_THREADS) && !defined(GC_PTHREADS) && !defined(GC_WIN32_THREADS) \
-    && (defined(_WIN32) || defined(_MSC_VER) || defined(__CYGWIN__) \
-     || defined(__MINGW32__) || defined(__BORLANDC__) \
-     || defined(_WIN32_WCE))
-# define GC_WIN32_THREADS
-# if defined(__CYGWIN__)
-#   define GC_PTHREADS
-# endif
-#endif
-
-# define __GC
-# ifndef _WIN32_WCE
-#   include <stddef.h>
-#   if defined(__MINGW32__)
-#     include <stdint.h>
-      /* We mention uintptr_t.					    */
-      /* Perhaps this should be included in pure msft environments  */
-      /* as well?						    */
-#   endif
-# else /* ! _WIN32_WCE */
-/* Yet more kluges for WinCE */
-#   include <stdlib.h>		/* size_t is defined here */
-    typedef long ptrdiff_t;	/* ptrdiff_t is not defined */
-# endif
-
-#if defined(_DLL) && !defined(GC_NOT_DLL) && !defined(GC_DLL)
-# define GC_DLL
-#endif
-
-#if defined(__MINGW32__) && defined(GC_DLL)
-# ifdef GC_BUILD
-#   define GC_API __declspec(dllexport)
-# else
-#   define GC_API __declspec(dllimport)
-# endif
-#endif
-
-#if (defined(__DMC__) || defined(_MSC_VER)) && defined(GC_DLL)
-# ifdef GC_BUILD
-#   define GC_API extern __declspec(dllexport)
-# else
-#   define GC_API __declspec(dllimport)
-# endif
-#endif
-
-#if defined(__WATCOMC__) && defined(GC_DLL)
-# ifdef GC_BUILD
-#   define GC_API extern __declspec(dllexport)
-# else
-#   define GC_API extern __declspec(dllimport)
-# endif
-#endif
-
-#ifndef GC_API
-#define GC_API extern
-#endif
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_cpp.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_cpp.h
deleted file mode 100755
index a501c3a..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_cpp.h
+++ /dev/null
@@ -1,374 +0,0 @@
-#ifndef GC_CPP_H
-#define GC_CPP_H
-/****************************************************************************
-Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- 
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- 
-Permission is hereby granted to use or copy this program for any
-purpose, provided the above notices are retained on all copies.
-Permission to modify the code and to distribute modified code is
-granted, provided the above notices are retained, and a notice that
-the code was modified is included with the above copyright notice.
-****************************************************************************
-
-C++ Interface to the Boehm Collector
-
-    John R. Ellis and Jesse Hull 
-
-This interface provides access to the Boehm collector.  It provides
-basic facilities similar to those described in "Safe, Efficient
-Garbage Collection for C++", by John R. Elis and David L. Detlefs
-(ftp://ftp.parc.xerox.com/pub/ellis/gc).
-
-All heap-allocated objects are either "collectable" or
-"uncollectable".  Programs must explicitly delete uncollectable
-objects, whereas the garbage collector will automatically delete
-collectable objects when it discovers them to be inaccessible.
-Collectable objects may freely point at uncollectable objects and vice
-versa.
-
-Objects allocated with the built-in "::operator new" are uncollectable.
-
-Objects derived from class "gc" are collectable.  For example:
-
-    class A: public gc {...};
-    A* a = new A;       // a is collectable. 
-
-Collectable instances of non-class types can be allocated using the GC
-(or UseGC) placement:
-
-    typedef int A[ 10 ];
-    A* a = new (GC) A;
-
-Uncollectable instances of classes derived from "gc" can be allocated
-using the NoGC placement:
-
-    class A: public gc {...};
-    A* a = new (NoGC) A;   // a is uncollectable.
-
-The new(PointerFreeGC) syntax allows the allocation of collectable
-objects that are not scanned by the collector.  This useful if you
-are allocating compressed data, bitmaps, or network packets.  (In
-the latter case, it may remove danger of unfriendly network packets
-intentionally containing values that cause spurious memory retention.)
-
-Both uncollectable and collectable objects can be explicitly deleted
-with "delete", which invokes an object's destructors and frees its
-storage immediately.
-
-A collectable object may have a clean-up function, which will be
-invoked when the collector discovers the object to be inaccessible.
-An object derived from "gc_cleanup" or containing a member derived
-from "gc_cleanup" has a default clean-up function that invokes the
-object's destructors.  Explicit clean-up functions may be specified as
-an additional placement argument:
-
-    A* a = ::new (GC, MyCleanup) A;
-
-An object is considered "accessible" by the collector if it can be
-reached by a path of pointers from static variables, automatic
-variables of active functions, or from some object with clean-up
-enabled; pointers from an object to itself are ignored.
-
-Thus, if objects A and B both have clean-up functions, and A points at
-B, B is considered accessible.  After A's clean-up is invoked and its
-storage released, B will then become inaccessible and will have its
-clean-up invoked.  If A points at B and B points to A, forming a
-cycle, then that's considered a storage leak, and neither will be
-collectable.  See the interface gc.h for low-level facilities for
-handling such cycles of objects with clean-up.
-
-The collector cannot guarantee that it will find all inaccessible
-objects.  In practice, it finds almost all of them.
-
-
-Cautions:
-
-1. Be sure the collector has been augmented with "make c++" or
-"--enable-cplusplus".
-
-2.  If your compiler supports the new "operator new[]" syntax, then
-add -DGC_OPERATOR_NEW_ARRAY to the Makefile.
-
-If your compiler doesn't support "operator new[]", beware that an
-array of type T, where T is derived from "gc", may or may not be
-allocated as a collectable object (it depends on the compiler).  Use
-the explicit GC placement to make the array collectable.  For example:
-
-    class A: public gc {...};
-    A* a1 = new A[ 10 ];        // collectable or uncollectable?
-    A* a2 = new (GC) A[ 10 ];   // collectable
-
-3. The destructors of collectable arrays of objects derived from
-"gc_cleanup" will not be invoked properly.  For example:
-
-    class A: public gc_cleanup {...};
-    A* a = new (GC) A[ 10 ];    // destructors not invoked correctly
-
-Typically, only the destructor for the first element of the array will
-be invoked when the array is garbage-collected.  To get all the
-destructors of any array executed, you must supply an explicit
-clean-up function:
-
-    A* a = new (GC, MyCleanUp) A[ 10 ];
-
-(Implementing clean-up of arrays correctly, portably, and in a way
-that preserves the correct exception semantics requires a language
-extension, e.g. the "gc" keyword.)
-
-4. Compiler bugs (now hopefully history):
-
-* Solaris 2's CC (SC3.0) doesn't implement t->~T() correctly, so the
-destructors of classes derived from gc_cleanup won't be invoked.
-You'll have to explicitly register a clean-up function with
-new-placement syntax.
-
-* Evidently cfront 3.0 does not allow destructors to be explicitly
-invoked using the ANSI-conforming syntax t->~T().  If you're using
-cfront 3.0, you'll have to comment out the class gc_cleanup, which
-uses explicit invocation.
-
-5. GC name conflicts:
-
-Many other systems seem to use the identifier "GC" as an abbreviation
-for "Graphics Context".  Since version 5.0, GC placement has been replaced
-by UseGC.  GC is an alias for UseGC, unless GC_NAME_CONFLICT is defined.
-
-****************************************************************************/
-
-#include "gc.h"
-
-#ifndef THINK_CPLUS
-#  define GC_cdecl
-#else
-#  define GC_cdecl _cdecl
-#endif
-
-#if ! defined( GC_NO_OPERATOR_NEW_ARRAY ) \
-    && !defined(_ENABLE_ARRAYNEW) /* Digimars */ \
-    && (defined(__BORLANDC__) && (__BORLANDC__ < 0x450) \
-	|| (defined(__GNUC__) && \
-	    (__GNUC__ < 2 || __GNUC__ == 2 && __GNUC_MINOR__ < 6)) \
-	|| (defined(__WATCOMC__) && __WATCOMC__ < 1050))
-#   define GC_NO_OPERATOR_NEW_ARRAY
-#endif
-
-#if !defined(GC_NO_OPERATOR_NEW_ARRAY) && !defined(GC_OPERATOR_NEW_ARRAY)
-#   define GC_OPERATOR_NEW_ARRAY
-#endif
-
-#if    ! defined ( __BORLANDC__ )  /* Confuses the Borland compiler. */ \
-    && ! defined ( __sgi )
-#  define GC_PLACEMENT_DELETE
-#endif
-
-enum GCPlacement {UseGC,
-#ifndef GC_NAME_CONFLICT
-		  GC=UseGC,
-#endif
-                  NoGC, PointerFreeGC};
-
-class gc {public:
-    inline void* operator new( size_t size );
-    inline void* operator new( size_t size, GCPlacement gcp );
-    inline void* operator new( size_t size, void *p );
-    	/* Must be redefined here, since the other overloadings	*/
-    	/* hide the global definition.				*/
-    inline void operator delete( void* obj );
-#   ifdef GC_PLACEMENT_DELETE  
-      inline void operator delete( void*, void* );
-#   endif
-
-#ifdef GC_OPERATOR_NEW_ARRAY
-    inline void* operator new[]( size_t size );
-    inline void* operator new[]( size_t size, GCPlacement gcp );
-    inline void* operator new[]( size_t size, void *p );
-    inline void operator delete[]( void* obj );
-#   ifdef GC_PLACEMENT_DELETE
-      inline void operator delete[]( void*, void* );
-#   endif
-#endif /* GC_OPERATOR_NEW_ARRAY */
-    };    
-    /*
-    Instances of classes derived from "gc" will be allocated in the 
-    collected heap by default, unless an explicit NoGC placement is
-    specified. */
-
-class gc_cleanup: virtual public gc {public:
-    inline gc_cleanup();
-    inline virtual ~gc_cleanup();
-private:
-    inline static void GC_cdecl cleanup( void* obj, void* clientData );};
-    /*
-    Instances of classes derived from "gc_cleanup" will be allocated
-    in the collected heap by default.  When the collector discovers an
-    inaccessible object derived from "gc_cleanup" or containing a
-    member derived from "gc_cleanup", its destructors will be
-    invoked. */
-
-extern "C" {typedef void (*GCCleanUpFunc)( void* obj, void* clientData );}
-
-#ifdef _MSC_VER
-  // Disable warning that "no matching operator delete found; memory will
-  // not be freed if initialization throws an exception"
-# pragma warning(disable:4291)
-#endif
-
-inline void* operator new( 
-    size_t size, 
-    GCPlacement gcp,
-    GCCleanUpFunc cleanup = 0,
-    void* clientData = 0 );
-    /*
-    Allocates a collectable or uncollected object, according to the
-    value of "gcp".
-
-    For collectable objects, if "cleanup" is non-null, then when the
-    allocated object "obj" becomes inaccessible, the collector will
-    invoke the function "cleanup( obj, clientData )" but will not
-    invoke the object's destructors.  It is an error to explicitly
-    delete an object allocated with a non-null "cleanup".
-
-    It is an error to specify a non-null "cleanup" with NoGC or for
-    classes derived from "gc_cleanup" or containing members derived
-    from "gc_cleanup". */
-
-
-#ifdef _MSC_VER
- /** This ensures that the system default operator new[] doesn't get
-  *  undefined, which is what seems to happen on VC++ 6 for some reason
-  *  if we define a multi-argument operator new[].
-  *  There seems to be really redirect new in this environment without
-  *  including this everywhere. 
-  */
- void *operator new[]( size_t size );
- 
- void operator delete[](void* obj);
-
- void* operator new( size_t size);
-
- void operator delete(void* obj);
-
- // This new operator is used by VC++ in case of Debug builds !
- void* operator new(  size_t size,
-		      int ,//nBlockUse,
-		      const char * szFileName,
-		      int nLine );
-#endif /* _MSC_VER */
-
-
-#ifdef GC_OPERATOR_NEW_ARRAY
-
-inline void* operator new[](
-    size_t size, 
-    GCPlacement gcp,
-    GCCleanUpFunc cleanup = 0,
-    void* clientData = 0 );
-    /*
-    The operator new for arrays, identical to the above. */
-
-#endif /* GC_OPERATOR_NEW_ARRAY */
-
-/****************************************************************************
-
-Inline implementation
-
-****************************************************************************/
-
-inline void* gc::operator new( size_t size ) {
-    return GC_MALLOC( size );}
-    
-inline void* gc::operator new( size_t size, GCPlacement gcp ) {
-    if (gcp == UseGC) 
-        return GC_MALLOC( size );
-    else if (gcp == PointerFreeGC)
-	return GC_MALLOC_ATOMIC( size );
-    else
-        return GC_MALLOC_UNCOLLECTABLE( size );}
-
-inline void* gc::operator new( size_t size, void *p ) {
-    return p;}
-
-inline void gc::operator delete( void* obj ) {
-    GC_FREE( obj );}
-    
-#ifdef GC_PLACEMENT_DELETE
-  inline void gc::operator delete( void*, void* ) {}
-#endif
-
-#ifdef GC_OPERATOR_NEW_ARRAY
-
-inline void* gc::operator new[]( size_t size ) {
-    return gc::operator new( size );}
-    
-inline void* gc::operator new[]( size_t size, GCPlacement gcp ) {
-    return gc::operator new( size, gcp );}
-
-inline void* gc::operator new[]( size_t size, void *p ) {
-    return p;}
-
-inline void gc::operator delete[]( void* obj ) {
-    gc::operator delete( obj );}
-
-#ifdef GC_PLACEMENT_DELETE
-  inline void gc::operator delete[]( void*, void* ) {}
-#endif
-    
-#endif /* GC_OPERATOR_NEW_ARRAY */
-
-
-inline gc_cleanup::~gc_cleanup() {
-    GC_register_finalizer_ignore_self( GC_base(this), 0, 0, 0, 0 );}
-
-inline void gc_cleanup::cleanup( void* obj, void* displ ) {
-    ((gc_cleanup*) ((char*) obj + (ptrdiff_t) displ))->~gc_cleanup();}
-
-inline gc_cleanup::gc_cleanup() {
-    GC_finalization_proc oldProc;
-    void* oldData;
-    void* base = GC_base( (void *) this );
-    if (0 != base)  {
-      // Don't call the debug version, since this is a real base address.
-      GC_register_finalizer_ignore_self( 
-        base, (GC_finalization_proc)cleanup, (void*) ((char*) this - (char*) base), 
-        &oldProc, &oldData );
-      if (0 != oldProc) {
-        GC_register_finalizer_ignore_self( base, oldProc, oldData, 0, 0 );}}}
-
-inline void* operator new( 
-    size_t size, 
-    GCPlacement gcp,
-    GCCleanUpFunc cleanup,
-    void* clientData )
-{
-    void* obj;
-
-    if (gcp == UseGC) {
-        obj = GC_MALLOC( size );
-        if (cleanup != 0) 
-            GC_REGISTER_FINALIZER_IGNORE_SELF( 
-                obj, cleanup, clientData, 0, 0 );}
-    else if (gcp == PointerFreeGC) {
-        obj = GC_MALLOC_ATOMIC( size );}
-    else {
-        obj = GC_MALLOC_UNCOLLECTABLE( size );};
-    return obj;}
-        
-
-#ifdef GC_OPERATOR_NEW_ARRAY
-
-inline void* operator new[]( 
-    size_t size, 
-    GCPlacement gcp,
-    GCCleanUpFunc cleanup,
-    void* clientData )
-{
-    return ::operator new( size, gcp, cleanup, clientData );}
-
-#endif /* GC_OPERATOR_NEW_ARRAY */
-
-
-#endif /* GC_CPP_H */
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_gcj.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_gcj.h
deleted file mode 100755
index 0779ac1..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_gcj.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
- * Copyright 1996-1999 by Silicon Graphics.  All rights reserved.
- * Copyright 1999 by Hewlett-Packard Company.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/* This file assumes the collector has been compiled with GC_GCJ_SUPPORT */
-/* and that an ANSI C compiler is available.				 */
-
-/*
- * We allocate objects whose first word contains a pointer to a struct
- * describing the object type.  This struct contains a garbage collector mark
- * descriptor at offset MARK_DESCR_OFFSET.  Alternatively, the objects
- * may be marked by the mark procedure passed to GC_init_gcj_malloc.
- */
-
-#ifndef GC_GCJ_H
-
-#define GC_GCJ_H
-
-#ifndef MARK_DESCR_OFFSET
-#  define MARK_DESCR_OFFSET	sizeof(word)
-#endif
-	/* Gcj keeps GC descriptor as second word of vtable.	This	*/
-	/* probably needs to be adjusted for other clients.		*/
-	/* We currently assume that this offset is such that:		*/
-	/*	- all objects of this kind are large enough to have	*/
-	/*	  a value at that offset, and				*/
-	/* 	- it is not zero.					*/
-	/* These assumptions allow objects on the free list to be 	*/
-	/* marked normally.						*/
-
-#ifndef _GC_H
-#   include "gc.h"
-#endif
-
-/* The following allocators signal an out of memory condition with	*/
-/* return GC_oom_fn(bytes);						*/
-
-/* The following function must be called before the gcj allocators	*/
-/* can be invoked.							*/
-/* mp_index and mp are the index and mark_proc (see gc_mark.h)		*/
-/* respectively for the allocated objects.  Mark_proc will be 		*/
-/* used to build the descriptor for objects allocated through the	*/
-/* debugging interface.  The mark_proc will be invoked on all such 	*/
-/* objects with an "environment" value of 1.  The client may choose	*/
-/* to use the same mark_proc for some of its generated mark descriptors.*/
-/* In that case, it should use a different "environment" value to	*/
-/* detect the presence or absence of the debug header.			*/
-/* Mp is really of type mark_proc, as defined in gc_mark.h.  We don't 	*/
-/* want to include that here for namespace pollution reasons.		*/
-extern void GC_init_gcj_malloc(int mp_index, void * /* really mark_proc */mp);
-
-/* Allocate an object, clear it, and store the pointer to the	*/
-/* type structure (vtable in gcj).				*/
-/* This adds a byte at the end of the object if GC_malloc would.*/
-extern void * GC_gcj_malloc(size_t lb, void * ptr_to_struct_containing_descr);
-/* The debug versions allocate such that the specified mark_proc	*/
-/* is always invoked.							*/
-extern void * GC_debug_gcj_malloc(size_t lb,
-				  void * ptr_to_struct_containing_descr,
-				  GC_EXTRA_PARAMS);
-
-/* Similar to GC_gcj_malloc, but assumes that a pointer to near the	*/
-/* beginning of the resulting object is always maintained.		*/
-extern void * GC_gcj_malloc_ignore_off_page(size_t lb,
-				void * ptr_to_struct_containing_descr);
-
-/* The kind numbers of normal and debug gcj objects.		*/
-/* Useful only for debug support, we hope.			*/
-extern int GC_gcj_kind;
-
-extern int GC_gcj_debug_kind;
-
-# ifdef GC_DEBUG
-#   define GC_GCJ_MALLOC(s,d) GC_debug_gcj_malloc(s,d,GC_EXTRAS)
-#   define GC_GCJ_MALLOC_IGNORE_OFF_PAGE(s,d) GC_debug_gcj_malloc(s,d,GC_EXTRAS)
-# else
-#   define GC_GCJ_MALLOC(s,d) GC_gcj_malloc(s,d)
-#   define GC_GCJ_MALLOC_IGNORE_OFF_PAGE(s,d) \
-	GC_gcj_malloc_ignore_off_page(s,d)
-# endif
-
-#endif /* GC_GCJ_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_inline.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_inline.h
deleted file mode 100755
index d649265..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_inline.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 2005 Hewlett-Packard Development Company, L.P.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
- 
-/* USE OF THIS FILE IS NOT RECOMMENDED unless GC_all_interior_pointers	*/
-/* is not set, or the collector has been built with			*/
-/* -DDONT_ADD_BYTE_AT_END, or the specified size includes a pointerfree	*/
-/* word at the end.  In the standard collector configuration,		*/
-/* the final word of each object may not be scanned.			*/
-/* This interface is most useful for compilers that generate C.		*/
-/* It is also used internally for thread-local allocation, in which	*/
-/* case, the size is suitably adjusted by the caller.			*/
-/* Manual use is hereby discouraged.					*/
-
-#include "gc.h"
-#include "gc_tiny_fl.h"
-
-#if __GNUC__ >= 3
-# define GC_EXPECT(expr, outcome) __builtin_expect(expr,outcome)
-  /* Equivalent to (expr), but predict that usually (expr)==outcome. */
-#else
-# define GC_EXPECT(expr, outcome) (expr)
-#endif /* __GNUC__ */
-
-/* The ultimately general inline allocation macro.  Allocate an object	*/
-/* of size bytes, putting the resulting pointer in result.  Tiny_fl is	*/
-/* a "tiny" free list array, which will be used first, if the size	*/
-/* is appropriate.  If bytes is too large, we allocate with 		*/
-/* default_expr instead.  If we need to refill the free list, we use	*/
-/* GC_generic_malloc_many with the indicated kind.			*/
-/* Tiny_fl should be an array of GC_TINY_FREELISTS void * pointers.	*/
-/* If num_direct is nonzero, and the individual free list pointers	*/
-/* are initialized to (void *)1, then we allocate numdirect granules	*/
-/* directly using gmalloc before putting multiple objects into the	*/
-/* tiny_fl entry.  If num_direct is zero, then the free lists may also	*/
-/* be initialized to (void *)0.						*/
-/* We rely on much of this hopefully getting optimized away in the	*/
-/* num_direct = 0 case.							*/
-/* Particularly if bytes is constant, this should generate a small	*/
-/* amount of code.							*/
-# define GC_FAST_MALLOC_GRANS(result,granules,tiny_fl,num_direct,\
-			      kind,default_expr,init) \
-{ \
-    if (GC_EXPECT(granules >= GC_TINY_FREELISTS,0)) { \
-        result = default_expr; \
-    } else { \
-	void **my_fl = tiny_fl + granules; \
-        void *my_entry=*my_fl; \
-	void *next; \
- \
-	while (GC_EXPECT((GC_word)my_entry \
-				<= num_direct + GC_TINY_FREELISTS + 1, 0)) { \
-	    /* Entry contains counter or NULL */ \
-	    if ((GC_word)my_entry - 1 < num_direct) { \
-		/* Small counter value, not NULL */ \
-                *my_fl = (ptr_t)my_entry + granules + 1; \
-                result = default_expr; \
-		goto out; \
-            } else { \
-		/* Large counter or NULL */ \
-                GC_generic_malloc_many(((granules) == 0? GC_GRANULE_BYTES : \
-					  RAW_BYTES_FROM_INDEX(granules)), \
-				       kind, my_fl); \
-		my_entry = *my_fl; \
-                if (my_entry == 0) { \
-		    result = GC_oom_fn(bytes); \
-		    goto out; \
-		} \
-	    } \
-        } \
-        next = *(void **)(my_entry); \
-        result = (void *)my_entry; \
-        *my_fl = next; \
-	init; \
-        PREFETCH_FOR_WRITE(next); \
-        GC_ASSERT(GC_size(result) >= bytes + EXTRA_BYTES); \
-        GC_ASSERT((kind) == PTRFREE || ((GC_word *)result)[1] == 0); \
-      out: ; \
-   } \
-}
-
-# define GC_WORDS_TO_WHOLE_GRANULES(n) \
-	GC_WORDS_TO_GRANULES((n) + GC_GRANULE_WORDS - 1)
-
-/* Allocate n words (NOT BYTES).  X is made to point to the result.	*/
-/* This should really only be used if GC_all_interior_pointers is	*/
-/* not set, or DONT_ADD_BYTE_AT_END is set.  See above.			*/
-/* The semantics changed in version 7.0; we no longer lock, and		*/
-/* the caller is responsible for supplying a cleared tiny_fl		*/
-/* free list array.  For single-threaded applications, this may be	*/
-/* a global array.							*/
-# define GC_MALLOC_WORDS(result,n,tiny_fl) \
-{	\
-    size_t grans = WORDS_TO_WHOLE_GRANULES(n); \
-    GC_FAST_MALLOC_GRANS(result, grans, tiny_fl, 0, \
-			 NORMAL, GC_malloc(grans*GRANULE_BYTES), \
-			 *(void **)result = 0); \
-}
-
-# define GC_MALLOC_ATOMIC_WORDS(result,n,tiny_fl) \
-{	\
-    size_t grans = WORDS_TO_WHOLE_GRANULES(n); \
-    GC_FAST_MALLOC_GRANS(result, grans, tiny_fl, 0, \
-			 PTRFREE, GC_malloc_atomic(grans*GRANULE_BYTES), \
-			 /* no initialization */); \
-}
-
-
-/* And once more for two word initialized objects: */
-# define GC_CONS(result, first, second, tiny_fl) \
-{	\
-    size_t grans = WORDS_TO_WHOLE_GRANULES(2); \
-    GC_FAST_MALLOC_GRANS(result, grans, tiny_fl, 0, \
-			 NORMAL, GC_malloc(grans*GRANULE_BYTES), \
-			 *(void **)result = (void *)(first)); \
-    ((void **)(result))[1] = (void *)(second);	\
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_mark.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_mark.h
deleted file mode 100755
index a9adc9e..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_mark.h
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 2001 by Hewlett-Packard Company. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-
-/*
- * This contains interfaces to the GC marker that are likely to be useful to
- * clients that provide detailed heap layout information to the collector.
- * This interface should not be used by normal C or C++ clients.
- * It will be useful to runtimes for other languages.
- * 
- * This is an experts-only interface!  There are many ways to break the
- * collector in subtle ways by using this functionality.
- */
-#ifndef GC_MARK_H
-# define GC_MARK_H
-
-# ifndef GC_H
-#   include "gc.h"
-# endif
-
-/* A client supplied mark procedure.  Returns new mark stack pointer.	*/
-/* Primary effect should be to push new entries on the mark stack.	*/
-/* Mark stack pointer values are passed and returned explicitly.	*/
-/* Global variables decribing mark stack are not necessarily valid.	*/
-/* (This usually saves a few cycles by keeping things in registers.)	*/
-/* Assumed to scan about GC_PROC_BYTES on average.  If it needs to do	*/
-/* much more work than that, it should do it in smaller pieces by	*/
-/* pushing itself back on the mark stack.				*/
-/* Note that it should always do some work (defined as marking some	*/
-/* objects) before pushing more than one entry on the mark stack.	*/
-/* This is required to ensure termination in the event of mark stack	*/
-/* overflows.								*/
-/* This procedure is always called with at least one empty entry on the */
-/* mark stack.								*/
-/* Currently we require that mark procedures look for pointers in a	*/
-/* subset of the places the conservative marker would.  It must be safe	*/
-/* to invoke the normal mark procedure instead.				*/
-/* WARNING: Such a mark procedure may be invoked on an unused object    */
-/* residing on a free list.  Such objects are cleared, except for a	*/
-/* free list link field in the first word.  Thus mark procedures may	*/
-/* not count on the presence of a type descriptor, and must handle this	*/
-/* case correctly somehow.						*/
-# define GC_PROC_BYTES 100
-struct GC_ms_entry;
-typedef struct GC_ms_entry * (*GC_mark_proc) (
-		GC_word * addr, struct GC_ms_entry * mark_stack_ptr,
-		struct GC_ms_entry * mark_stack_limit, GC_word env);
-
-# define GC_LOG_MAX_MARK_PROCS 6
-# define GC_MAX_MARK_PROCS (1 << GC_LOG_MAX_MARK_PROCS)
-
-/* In a few cases it's necessary to assign statically known indices to	*/
-/* certain mark procs.  Thus we reserve a few for well known clients.	*/
-/* (This is necessary if mark descriptors are compiler generated.)	*/
-#define GC_RESERVED_MARK_PROCS 8
-#   define GC_GCJ_RESERVED_MARK_PROC_INDEX 0
-
-/* Object descriptors on mark stack or in objects.  Low order two	*/
-/* bits are tags distinguishing among the following 4 possibilities	*/
-/* for the high order 30 bits.						*/
-#define GC_DS_TAG_BITS 2
-#define GC_DS_TAGS   ((1 << GC_DS_TAG_BITS) - 1)
-#define GC_DS_LENGTH 0	/* The entire word is a length in bytes that	*/
-			/* must be a multiple of 4.			*/
-#define GC_DS_BITMAP 1	/* 30 (62) bits are a bitmap describing pointer	*/
-			/* fields.  The msb is 1 iff the first word	*/
-			/* is a pointer.				*/
-			/* (This unconventional ordering sometimes	*/
-			/* makes the marker slightly faster.)		*/
-			/* Zeroes indicate definite nonpointers.  Ones	*/
-			/* indicate possible pointers.			*/
-			/* Only usable if pointers are word aligned.	*/
-#define GC_DS_PROC   2
-			/* The objects referenced by this object can be */
-			/* pushed on the mark stack by invoking		*/
-			/* PROC(descr).  ENV(descr) is passed as the	*/
-			/* last argument.				*/
-#   define GC_MAKE_PROC(proc_index, env) \
-	    (((((env) << GC_LOG_MAX_MARK_PROCS) \
-	       | (proc_index)) << GC_DS_TAG_BITS) | GC_DS_PROC)
-#define GC_DS_PER_OBJECT 3  /* The real descriptor is at the		*/
-			/* byte displacement from the beginning of the	*/
-			/* object given by descr & ~DS_TAGS		*/
-			/* If the descriptor is negative, the real	*/
-			/* descriptor is at (*<object_start>) -		*/
-			/* (descr & ~DS_TAGS) - GC_INDIR_PER_OBJ_BIAS	*/
-			/* The latter alternative can be used if each	*/
-			/* object contains a type descriptor in the	*/
-			/* first word.					*/
-			/* Note that in multithreaded environments	*/
-			/* per object descriptors maust be located in	*/
-			/* either the first two or last two words of	*/
-			/* the object, since only those are guaranteed	*/
-			/* to be cleared while the allocation lock is	*/
-			/* held.					*/
-#define GC_INDIR_PER_OBJ_BIAS 0x10
-			
-extern void * GC_least_plausible_heap_addr;
-extern void * GC_greatest_plausible_heap_addr;
-			/* Bounds on the heap.  Guaranteed valid	*/
-			/* Likely to include future heap expansion.	*/
-
-/* Handle nested references in a custom mark procedure.			*/
-/* Check if obj is a valid object. If so, ensure that it is marked.	*/
-/* If it was not previously marked, push its contents onto the mark 	*/
-/* stack for future scanning.  The object will then be scanned using	*/
-/* its mark descriptor.  						*/
-/* Returns the new mark stack pointer.					*/
-/* Handles mark stack overflows correctly.				*/
-/* Since this marks first, it makes progress even if there are mark	*/
-/* stack overflows.							*/
-/* Src is the address of the pointer to obj, which is used only		*/
-/* for back pointer-based heap debugging.				*/
-/* It is strongly recommended that most objects be handled without mark	*/
-/* procedures, e.g. with bitmap descriptors, and that mark procedures	*/
-/* be reserved for exceptional cases.  That will ensure that 		*/
-/* performance of this call is not extremely performance critical.	*/
-/* (Otherwise we would need to inline GC_mark_and_push completely,	*/
-/* which would tie the client code to a fixed collector version.)	*/
-/* Note that mark procedures should explicitly call FIXUP_POINTER()	*/
-/* if required.								*/
-struct GC_ms_entry *GC_mark_and_push(void * obj,
-			  	     struct GC_ms_entry * mark_stack_ptr,
-		          	     struct GC_ms_entry * mark_stack_limit,
-				     void * *src);
-
-#define GC_MARK_AND_PUSH(obj, msp, lim, src) \
-	(((GC_word)obj >= (GC_word)GC_least_plausible_heap_addr && \
-	  (GC_word)obj <= (GC_word)GC_greatest_plausible_heap_addr)? \
-	  GC_mark_and_push(obj, msp, lim, src) : \
-	  msp)
-
-extern size_t GC_debug_header_size;
-       /* The size of the header added to objects allocated through    */
-       /* the GC_debug routines.                                       */
-       /* Defined as a variable so that client mark procedures don't   */
-       /* need to be recompiled for collector version changes.         */
-#define GC_USR_PTR_FROM_BASE(p) ((void *)((char *)(p) + GC_debug_header_size))
-
-/* And some routines to support creation of new "kinds", e.g. with	*/
-/* custom mark procedures, by language runtimes.			*/
-/* The _inner versions assume the caller holds the allocation lock.	*/
-
-/* Return a new free list array.	*/
-void ** GC_new_free_list(void);
-void ** GC_new_free_list_inner(void);
-
-/* Return a new kind, as specified. */
-unsigned GC_new_kind(void **free_list, GC_word mark_descriptor_template,
-		int add_size_to_descriptor, int clear_new_objects);
-		/* The last two parameters must be zero or one. */
-unsigned GC_new_kind_inner(void **free_list,
-		      GC_word mark_descriptor_template,
-		      int add_size_to_descriptor,
-		      int clear_new_objects);
-
-/* Return a new mark procedure identifier, suitable for use as	*/
-/* the first argument in GC_MAKE_PROC.				*/
-unsigned GC_new_proc(GC_mark_proc);
-unsigned GC_new_proc_inner(GC_mark_proc);
-
-/* Allocate an object of a given kind.  Note that in multithreaded	*/
-/* contexts, this is usually unsafe for kinds that have the descriptor	*/
-/* in the object itself, since there is otherwise a window in which	*/
-/* the descriptor is not correct.  Even in the single-threaded case,	*/
-/* we need to be sure that cleared objects on a free list don't		*/
-/* cause a GC crash if they are accidentally traced.			*/
-void * GC_generic_malloc(size_t lb, int k);
-
-typedef void (*GC_describe_type_fn) (void *p, char *out_buf);
-				/* A procedure which			*/
-				/* produces a human-readable 		*/
-				/* description of the "type" of object	*/
-				/* p into the buffer out_buf of length	*/
-				/* GC_TYPE_DESCR_LEN.  This is used by	*/
-				/* the debug support when printing 	*/
-				/* objects.				*/ 
-				/* These functions should be as robust	*/
-				/* as possible, though we do avoid 	*/
-				/* invoking them on objects on the 	*/
-				/* global free list.			*/
-#	define GC_TYPE_DESCR_LEN 40
-
-void GC_register_describe_type_fn(int kind, GC_describe_type_fn knd);
-				/* Register a describe_type function	*/
-				/* to be used when printing objects	*/
-				/* of a particular kind.		*/
-
-#endif  /* GC_MARK_H */
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_pthread_redirects.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_pthread_redirects.h
deleted file mode 100755
index bf4b02b..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_pthread_redirects.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Our pthread support normally needs to intercept a number of thread	*/
-/* calls.  We arrange to do that here, if appropriate.			*/
-
-#ifndef GC_PTHREAD_REDIRECTS_H
-
-#define GC_PTHREAD_REDIRECTS_H
-
-#if !defined(GC_USE_LD_WRAP) && defined(GC_PTHREADS)
-/* We need to intercept calls to many of the threads primitives, so   	 */
-/* that we can locate thread stacks and stop the world.                  */
-/* Note also that the collector cannot always see thread specific data.  */
-/* Thread specific data should generally consist of pointers to          */
-/* uncollectable objects (allocated with GC_malloc_uncollectable,        */
-/* not the system malloc), which are deallocated using the destructor    */
-/* facility in thr_keycreate.  Alternatively, keep a redundant pointer   */
-/* to thread specific data on the thread stack. 			 */
-
-# include <pthread.h>
-# include <signal.h>
-
-  int GC_pthread_create(pthread_t *new_thread,
-                        const pthread_attr_t *attr,
-		        void *(*start_routine)(void *), void *arg);
-#ifndef GC_DARWIN_THREADS
-  int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
-#endif
-  int GC_pthread_join(pthread_t thread, void **retval);
-  int GC_pthread_detach(pthread_t thread);
-
-#if defined(GC_OSF1_THREADS) \
-    && defined(_PTHREAD_USE_MANGLED_NAMES_) && !defined(_PTHREAD_USE_PTDNAM_)
-/* Unless the compiler supports #pragma extern_prefix, the Tru64 UNIX
-   <pthread.h> redefines some POSIX thread functions to use mangled names.
-   If so, undef them before redefining. */
-# undef pthread_create
-# undef pthread_join
-# undef pthread_detach
-#endif
-
-# define pthread_create GC_pthread_create
-# define pthread_join GC_pthread_join
-# define pthread_detach GC_pthread_detach
-
-#ifndef GC_DARWIN_THREADS
-# ifdef pthread_sigmask
-#  undef pthread_sigmask
-# endif	 /* pthread_sigmask */
-# define pthread_sigmask GC_pthread_sigmask
-# define dlopen GC_dlopen
-#endif
-
-#endif /* GC_xxxxx_THREADS */
-
-#endif /* GC_PTHREAD_REDIRECTS_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_tiny_fl.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_tiny_fl.h
deleted file mode 100755
index 17ca0cd..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_tiny_fl.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/* 
- * Copyright (c) 1999-2005 Hewlett-Packard Development Company, L.P.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-#ifndef GC_TINY_FL_H
-#define GC_TINY_FL_H
-/*
- * Constants and data structures for "tiny" free lists.
- * These are used for thread-local allocation or in-lined allocators.
- * Each global free list also essentially starts with one of these.
- * However, global free lists are known to the GC.  "Tiny" free lists
- * are basically private to the client.  Their contents are viewed as
- * "in use" and marked accordingly by the core of the GC.
- * 
- * Note that inlined code might know about the layout of these and the constants
- * involved.  Thus any change here may invalidate clients, and such changes should
- * be avoided.  Hence we keep this as simple as possible.
- */
-
-/*
- * We always set GRANULE_BYTES to twice the length of a pointer.
- * This means that all allocation requests are rounded up to the next
- * multiple of 16 on 64-bit architectures or 8 on 32-bit architectures.
- * This appears to be a reasonable compromise between fragmentation overhead
- * and space usage for mark bits (usually mark bytes).
- * On many 64-bit architectures some memory references require 16-byte
- * alignment, making this necessary anyway.
- * For a few 32-bit architecture (e.g. x86), we may also need 16-byte alignment
- * for certain memory references.  But currently that does not seem to be the
- * default for all conventional malloc implementations, so we ignore that
- * problem.
- * It would always be safe, and often useful, to be able to allocate very
- * small objects with smaller alignment.  But that would cost us mark bit
- * space, so we no longer do so.
- */
-#ifndef GC_GRANULE_BYTES
-  /* GC_GRANULE_BYTES should not be overridden in any instances of the GC */
-  /* library that may be shared between applications, since it affects	  */
-  /* the binary interface to the library.				  */
-# if defined(__LP64__) || defined (_LP64) || defined(_WIN64) \
-	|| defined(__s390x__) || defined(__x86_64__) \
-	|| defined(__alpha__) || defined(__powerpc64__) \
-	|| defined(__arch64__)
-#  define GC_GRANULE_BYTES 16
-#  define GC_GRANULE_WORDS 2
-# else
-#  define GC_GRANULE_BYTES 8
-#  define GC_GRANULE_WORDS 2
-# endif
-#endif /* !GC_GRANULE_BYTES */
-
-#if GC_GRANULE_WORDS == 2
-#  define GC_WORDS_TO_GRANULES(n) ((n)>>1)
-#else
-#  define GC_WORDS_TO_GRANULES(n) ((n)*sizeof(void *)/GRANULE_BYTES)
-#endif
-
-/* A "tiny" free list header contains TINY_FREELISTS pointers to 	*/
-/* singly linked lists of objects of different sizes, the ith one	*/
-/* containing objects i granules in size.  Note that there is a list	*/
-/* of size zero objects.						*/
-#ifndef GC_TINY_FREELISTS
-# if GC_GRANULE_BYTES == 16
-#   define GC_TINY_FREELISTS 25
-# else
-#   define GC_TINY_FREELISTS 33	/* Up to and including 256 bytes */
-# endif
-#endif /* !GC_TINY_FREELISTS */
-
-/* The ith free list corresponds to size i*GRANULE_BYTES	*/
-/* Internally to the collector, the index can be computed with	*/
-/* ROUNDED_UP_GRANULES.  Externally, we don't know whether	*/
-/* DONT_ADD_BYTE_AT_END is set, but the client should know.	*/
-
-/* Convert a free list index to the actual size of objects	*/
-/* on that list, including extra space we added.  Not an	*/
-/* inverse of the above.					*/
-#define RAW_BYTES_FROM_INDEX(i) ((i) * GC_GRANULE_BYTES)
-
-#endif /* GC_TINY_FL_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_typed.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_typed.h
deleted file mode 100755
index 9aded82..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/gc_typed.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright 1996 Silicon Graphics.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/*
- * Some simple primitives for allocation with explicit type information.
- * Facilities for dynamic type inference may be added later.
- * Should be used only for extremely performance critical applications,
- * or if conservative collector leakage is otherwise a problem (unlikely).
- * Note that this is implemented completely separately from the rest
- * of the collector, and is not linked in unless referenced.
- * This does not currently support GC_DEBUG in any interesting way.
- */
-/* Boehm, May 19, 1994 2:13 pm PDT */
-
-#ifndef _GC_TYPED_H
-# define _GC_TYPED_H
-# ifndef _GC_H
-#   include "gc.h"
-# endif
-
-#ifdef __cplusplus
-  extern "C" {
-#endif
-typedef GC_word * GC_bitmap;
-	/* The least significant bit of the first word is one if	*/
-	/* the first word in the object may be a pointer.		*/
-	
-# define GC_WORDSZ (8*sizeof(GC_word))
-# define GC_get_bit(bm, index) \
-		(((bm)[index/GC_WORDSZ] >> (index%GC_WORDSZ)) & 1)
-# define GC_set_bit(bm, index) \
-		(bm)[index/GC_WORDSZ] |= ((GC_word)1 << (index%GC_WORDSZ))
-# define GC_WORD_OFFSET(t, f) (offsetof(t,f)/sizeof(GC_word))
-# define GC_WORD_LEN(t) (sizeof(t)/ sizeof(GC_word))
-# define GC_BITMAP_SIZE(t) ((GC_WORD_LEN(t) + GC_WORDSZ-1)/GC_WORDSZ)
-
-typedef GC_word GC_descr;
-
-GC_API GC_descr GC_make_descriptor(GC_bitmap bm, size_t len);
-		/* Return a type descriptor for the object whose layout	*/
-		/* is described by the argument.			*/
-		/* The least significant bit of the first word is one	*/
-		/* if the first word in the object may be a pointer.	*/
-		/* The second argument specifies the number of		*/
-		/* meaningful bits in the bitmap.  The actual object 	*/
-		/* may be larger (but not smaller).  Any additional	*/
-		/* words in the object are assumed not to contain 	*/
-		/* pointers.						*/
-		/* Returns a conservative approximation in the		*/
-		/* (unlikely) case of insufficient memory to build	*/
-		/* the descriptor.  Calls to GC_make_descriptor		*/
-		/* may consume some amount of a finite resource.  This	*/
-		/* is intended to be called once per type, not once	*/
-		/* per allocation.					*/
-
-/* It is possible to generate a descriptor for a C type T with	*/
-/* word aligned pointer fields f1, f2, ... as follows:			*/
-/*									*/
-/* GC_descr T_descr;                                                    */
-/* GC_word T_bitmap[GC_BITMAP_SIZE(T)] = {0};				*/
-/* GC_set_bit(T_bitmap, GC_WORD_OFFSET(T,f1));				*/
-/* GC_set_bit(T_bitmap, GC_WORD_OFFSET(T,f2));				*/
-/* ...									*/
-/* T_descr = GC_make_descriptor(T_bitmap, GC_WORD_LEN(T));		*/
-
-GC_API void * GC_malloc_explicitly_typed(size_t size_in_bytes, GC_descr d);
-		/* Allocate an object whose layout is described by d.	*/
-		/* The resulting object MAY NOT BE PASSED TO REALLOC.	*/
-		/* The returned object is cleared.			*/
-
-GC_API void * GC_malloc_explicitly_typed_ignore_off_page
-                        (size_t size_in_bytes, GC_descr d);
-		
-GC_API void * GC_calloc_explicitly_typed(size_t nelements,
-  				         size_t element_size_in_bytes,
-  				         GC_descr d);
-  	/* Allocate an array of nelements elements, each of the	*/
-  	/* given size, and with the given descriptor.		*/
-  	/* The elemnt size must be a multiple of the byte	*/
-  	/* alignment required for pointers.  E.g. on a 32-bit	*/
-  	/* machine with 16-bit aligned pointers, size_in_bytes	*/
-  	/* must be a multiple of 2.				*/
-	/* Returned object is cleared.				*/
-
-#ifdef GC_DEBUG
-#   define GC_MALLOC_EXPLICITLY_TYPED(bytes, d) GC_MALLOC(bytes)
-#   define GC_CALLOC_EXPLICITLY_TYPED(n, bytes, d) GC_MALLOC(n*bytes)
-#else
-#  define GC_MALLOC_EXPLICITLY_TYPED(bytes, d) \
-	GC_malloc_explicitly_typed(bytes, d)
-#  define GC_CALLOC_EXPLICITLY_TYPED(n, bytes, d) \
-	GC_calloc_explicitly_typed(n, bytes, d)
-#endif /* !GC_DEBUG */
-
-#ifdef __cplusplus
-  } /* matches extern "C" */
-#endif
-
-#endif /* _GC_TYPED_H */
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/include.am b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/include.am
deleted file mode 100755
index 081fe39..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/include.am
+++ /dev/null
@@ -1,54 +0,0 @@
-# 
-# 
-# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-# OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-# 
-# Permission is hereby granted to use or copy this program
-# for any purpose,  provided the above notices are retained on all copies.
-# Permission to modify the code and to distribute modified code is granted,
-# provided the above notices are retained, and a notice that the code was
-# modified is included with the above copyright notice.
-#
-# Modified by: Grzegorz Jakacki <jakacki at acm dot org>
-# Modified by: Petter Urkedal <petter.urkedal at nordita.dk>
-
-## Process this file with automake to produce part of Makefile.in.
-
-# installed headers
-#
-pkginclude_HEADERS += \
-	include/gc.h \
-	include/gc_typed.h \
-	include/gc_inline.h \
-	include/gc_mark.h \
-	include/gc_cpp.h \
-	include/weakpointer.h \
-	include/new_gc_alloc.h \
-	include/gc_allocator.h \
-	include/gc_backptr.h \
-	include/gc_gcj.h \
-	include/leak_detector.h \
-	include/gc_amiga_redirects.h \
-	include/gc_pthread_redirects.h \
-	include/gc_config_macros.h \
-	include/gc_tiny_fl.h
-
-# headers which are not installed
-#
-dist_noinst_HEADERS += \
-	include/private/gc_hdrs.h \
-	include/private/gc_priv.h \
-	include/private/gcconfig.h \
-	include/private/gc_pmark.h \
-	include/private/gc_locks.h \
-	include/private/dbg_mlc.h \
-	include/private/specific.h \
-	include/private/cord_pos.h \
-	include/private/pthread_support.h \
-	include/private/pthread_stop_world.h \
-	include/private/darwin_semaphore.h \
-	include/private/darwin_stop_world.h \
-	include/private/thread_local_alloc.h \
-	include/cord.h \
-	include/ec.h \
-	include/javaxfc.h 
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/javaxfc.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/javaxfc.h
deleted file mode 100755
index f5c8940..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/javaxfc.h
+++ /dev/null
@@ -1,21 +0,0 @@
-# ifndef GC_H
-#   include "gc.h"
-# endif
-
-/*
- * Invoke all remaining finalizers that haven't yet been run.
- * This is needed for strict compliance with the Java standard, 
- * which can make the runtime guarantee that all finalizers are run.
- * This is problematic for several reasons:
- * 1) It means that finalizers, and all methods calle by them,
- *    must be prepared to deal with objects that have been finalized in
- *    spite of the fact that they are still referenced by statically
- *    allocated pointer variables.
- * 1) It may mean that we get stuck in an infinite loop running
- *    finalizers which create new finalizable objects, though that's
- *    probably unlikely.
- * Thus this is not recommended for general use.
- */
-void GC_finalize_all();
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/leak_detector.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/leak_detector.h
deleted file mode 100755
index 4e9aba8..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/leak_detector.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#define GC_DEBUG
-#include "gc.h"
-#define malloc(n) GC_MALLOC(n)
-#define calloc(m,n) GC_MALLOC((m)*(n))
-#define free(p) GC_FREE(p)
-#define realloc(p,n) GC_REALLOC((p),(n))
-#undef strdup
-#define strdup(s) GC_STRDUP((s))
-#define CHECK_LEAKS() GC_gcollect()
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/new_gc_alloc.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/new_gc_alloc.h
deleted file mode 100755
index 76f2712..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/new_gc_alloc.h
+++ /dev/null
@@ -1,484 +0,0 @@
-/*
- * Copyright (c) 1996-1998 by Silicon Graphics.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-//
-// This is a revision of gc_alloc.h for SGI STL versions > 3.0
-// Unlike earlier versions, it supplements the standard "alloc.h"
-// instead of replacing it.
-//
-// This is sloppy about variable names used in header files.
-// It also doesn't yet understand the new header file names or
-// namespaces.
-//
-// This assumes the collector has been compiled with -DATOMIC_UNCOLLECTABLE.
-// The user should also consider -DREDIRECT_MALLOC=GC_uncollectable_malloc,
-// to ensure that object allocated through malloc are traced.
-//
-// Some of this could be faster in the explicit deallocation case.
-// In particular, we spend too much time clearing objects on the
-// free lists.  That could be avoided.
-//
-// This uses template classes with static members, and hence does not work
-// with g++ 2.7.2 and earlier.
-//
-// Unlike its predecessor, this one simply defines
-// 	gc_alloc
-//	single_client_gc_alloc
-//	traceable_alloc
-//	single_client_traceable_alloc
-//
-// It does not redefine alloc.  Nor does it change the default allocator,
-// though the user may wish to do so.  (The argument against changing
-// the default allocator is that it may introduce subtle link compatibility
-// problems.  The argument for changing it is that the usual default
-// allocator is usually a very bad choice for a garbage collected environment.)
-//
-// This code assumes that the collector itself has been compiled with a
-// compiler that defines __STDC__ .
-//
-
-#ifndef GC_ALLOC_H
-
-#include "gc.h"
-
-#if (__GNUC__ < 3)
-# include <stack>  // A more portable way to get stl_alloc.h .
-#else
-# include <bits/stl_alloc.h>
-# ifndef __STL_BEGIN_NAMESPACE
-# define __STL_BEGIN_NAMESPACE namespace std {
-# define __STL_END_NAMESPACE };
-# endif
-#ifndef __STL_USE_STD_ALLOCATORS
-#define __STL_USE_STD_ALLOCATORS
-#endif
-#endif
-
-/* A hack to deal with gcc 3.1.  If you are using gcc3.1 and later,	*/
-/* you should probably really use gc_allocator.h instead.		*/
-#if defined (__GNUC__) && \
-    (__GNUC__ > 3 || (__GNUC__ == 3 && (__GNUC_MINOR__ >= 1)))
-# define simple_alloc __simple_alloc
-#endif
-
-
-
-#define GC_ALLOC_H
-
-#include <stddef.h>
-#include <string.h>
-
-// The following need to match collector data structures.
-// We can't include gc_priv.h, since that pulls in way too much stuff.
-// This should eventually be factored out into another include file.
-
-extern "C" {
-    extern void ** const GC_objfreelist_ptr;
-    extern void ** const GC_aobjfreelist_ptr;
-    extern void ** const GC_uobjfreelist_ptr;
-    extern void ** const GC_auobjfreelist_ptr;
-
-    extern void GC_incr_bytes_allocd(size_t bytes);
-    extern void GC_incr_mem_freed(size_t words); /* FIXME: use bytes */
-
-    extern char * GC_generic_malloc_words_small(size_t word, int kind);
-    		/* FIXME: Doesn't exist anymore.	*/
-}
-
-// Object kinds; must match PTRFREE, NORMAL, UNCOLLECTABLE, and
-// AUNCOLLECTABLE in gc_priv.h.
-
-enum { GC_PTRFREE = 0, GC_NORMAL = 1, GC_UNCOLLECTABLE = 2,
-       GC_AUNCOLLECTABLE = 3 };
-
-enum { GC_max_fast_bytes = 255 };
-
-enum { GC_bytes_per_word = sizeof(char *) };
-
-enum { GC_byte_alignment = 8 };
-
-enum { GC_word_alignment = GC_byte_alignment/GC_bytes_per_word };
-
-inline void * &GC_obj_link(void * p)
-{   return *reinterpret_cast<void **>(p);  }
-
-// Compute a number of words >= n+1 bytes.
-// The +1 allows for pointers one past the end.
-inline size_t GC_round_up(size_t n)
-{
-    return ((n + GC_byte_alignment)/GC_byte_alignment)*GC_word_alignment;
-}
-
-// The same but don't allow for extra byte.
-inline size_t GC_round_up_uncollectable(size_t n)
-{
-    return ((n + GC_byte_alignment - 1)/GC_byte_alignment)*GC_word_alignment;
-}
-
-template <int dummy>
-class GC_aux_template {
-public:
-  // File local count of allocated words.  Occasionally this is
-  // added into the global count.  A separate count is necessary since the
-  // real one must be updated with a procedure call.
-  static size_t GC_bytes_recently_allocd;
-
-  // Same for uncollectable mmory.  Not yet reflected in either
-  // GC_bytes_recently_allocd or GC_non_gc_bytes.
-  static size_t GC_uncollectable_bytes_recently_allocd;
-
-  // Similar counter for explicitly deallocated memory.
-  static size_t GC_bytes_recently_freed;
-
-  // Again for uncollectable memory.
-  static size_t GC_uncollectable_bytes_recently_freed;
-
-  static void * GC_out_of_line_malloc(size_t nwords, int kind);
-};
-
-template <int dummy>
-size_t GC_aux_template<dummy>::GC_bytes_recently_allocd = 0;
-
-template <int dummy>
-size_t GC_aux_template<dummy>::GC_uncollectable_bytes_recently_allocd = 0;
-
-template <int dummy>
-size_t GC_aux_template<dummy>::GC_bytes_recently_freed = 0;
-
-template <int dummy>
-size_t GC_aux_template<dummy>::GC_uncollectable_bytes_recently_freed = 0;
-
-template <int dummy>
-void * GC_aux_template<dummy>::GC_out_of_line_malloc(size_t nwords, int kind)
-{
-    GC_bytes_recently_allocd += GC_uncollectable_bytes_recently_allocd;
-    GC_non_gc_bytes +=
-                GC_uncollectable_bytes_recently_allocd;
-    GC_uncollectable_bytes_recently_allocd = 0;
-
-    GC_bytes_recently_freed += GC_uncollectable_bytes_recently_freed;
-    GC_non_gc_bytes -= GC_uncollectable_bytes_recently_freed;
-    GC_uncollectable_bytes_recently_freed = 0;
-
-    GC_incr_bytes_allocd(GC_bytes_recently_allocd);
-    GC_bytes_recently_allocd = 0;
-
-    GC_incr_mem_freed(GC_bytes_per_word(GC_bytes_recently_freed));
-    GC_bytes_recently_freed = 0;
-
-    return GC_generic_malloc_words_small(nwords, kind);
-}
-
-typedef GC_aux_template<0> GC_aux;
-
-// A fast, single-threaded, garbage-collected allocator
-// We assume the first word will be immediately overwritten.
-// In this version, deallocation is not a noop, and explicit
-// deallocation is likely to help performance.
-template <int dummy>
-class single_client_gc_alloc_template {
-    public:
-     	static void * allocate(size_t n)
-        {
-	    size_t nwords = GC_round_up(n);
-	    void ** flh;
-	    void * op;
-
-  	    if (n > GC_max_fast_bytes) return GC_malloc(n);
-	    flh = GC_objfreelist_ptr + nwords;
-	    if (0 == (op = *flh)) {
-		return GC_aux::GC_out_of_line_malloc(nwords, GC_NORMAL);
-	    }
-	    *flh = GC_obj_link(op);
-	    GC_aux::GC_bytes_recently_allocd += nwords * GC_bytes_per_word;
-	    return op;
-        }
-     	static void * ptr_free_allocate(size_t n)
-        {
-	    size_t nwords = GC_round_up(n);
-	    void ** flh;
-	    void * op;
-
-  	    if (n > GC_max_fast_bytes) return GC_malloc_atomic(n);
-	    flh = GC_aobjfreelist_ptr + nwords;
-	    if (0 == (op = *flh)) {
-		return GC_aux::GC_out_of_line_malloc(nwords, GC_PTRFREE);
-	    }
-	    *flh = GC_obj_link(op);
-	    GC_aux::GC_bytes_recently_allocd += nwords * GC_bytes_per_word;
-	    return op;
-        }
-	static void deallocate(void *p, size_t n)
-	{
-            size_t nwords = GC_round_up(n);
-            void ** flh;
-	   
-	    if (n > GC_max_fast_bytes)  {
-		GC_free(p);
-	    } else {
-	        flh = GC_objfreelist_ptr + nwords;
-	        GC_obj_link(p) = *flh;
-		memset(reinterpret_cast<char *>(p) + GC_bytes_per_word, 0,
-		       GC_bytes_per_word * (nwords - 1));
-	        *flh = p;
-	        GC_aux::GC_bytes_recently_freed += nwords * GC_bytes_per_word;
-	    }
-	}
-	static void ptr_free_deallocate(void *p, size_t n)
-	{
-            size_t nwords = GC_round_up(n);
-            void ** flh;
-	   
-	    if (n > GC_max_fast_bytes) {
-		GC_free(p);
-	    } else {
-	    	flh = GC_aobjfreelist_ptr + nwords;
-	    	GC_obj_link(p) = *flh;
-	    	*flh = p;
-	    	GC_aux::GC_bytes_recently_freed += nwords * GC_bytes_per_word;
-	    }
-	}
-};
-
-typedef single_client_gc_alloc_template<0> single_client_gc_alloc;
-
-// Once more, for uncollectable objects.
-template <int dummy>
-class single_client_traceable_alloc_template {
-    public:
-     	static void * allocate(size_t n)
-        {
-	    size_t nwords = GC_round_up_uncollectable(n);
-	    void ** flh;
-	    void * op;
-
-  	    if (n > GC_max_fast_bytes) return GC_malloc_uncollectable(n);
-	    flh = GC_uobjfreelist_ptr + nwords;
-	    if (0 == (op = *flh)) {
-		return GC_aux::GC_out_of_line_malloc(nwords, GC_UNCOLLECTABLE);
-	    }
-	    *flh = GC_obj_link(op);
-	    GC_aux::GC_uncollectable_bytes_recently_allocd +=
-		    			nwords * GC_bytes_per_word;
-	    return op;
-        }
-     	static void * ptr_free_allocate(size_t n)
-        {
-	    size_t nwords = GC_round_up_uncollectable(n);
-	    void ** flh;
-	    void * op;
-
-  	    if (n > GC_max_fast_bytes) return GC_malloc_atomic_uncollectable(n);
-	    flh = GC_auobjfreelist_ptr + nwords;
-	    if (0 == (op = *flh)) {
-		return GC_aux::GC_out_of_line_malloc(nwords, GC_AUNCOLLECTABLE);
-	    }
-	    *flh = GC_obj_link(op);
-	    GC_aux::GC_uncollectable_bytes_recently_allocd +=
-		    			nwords * GC_bytes_per_word;
-	    return op;
-        }
-	static void deallocate(void *p, size_t n)
-	{
-            size_t nwords = GC_round_up_uncollectable(n);
-            void ** flh;
-	   
-	    if (n > GC_max_fast_bytes)  {
-		GC_free(p);
-	    } else {
-	        flh = GC_uobjfreelist_ptr + nwords;
-	        GC_obj_link(p) = *flh;
-	        *flh = p;
-	        GC_aux::GC_uncollectable_bytes_recently_freed +=
-				nwords * GC_bytes_per_word;
-	    }
-	}
-	static void ptr_free_deallocate(void *p, size_t n)
-	{
-            size_t nwords = GC_round_up_uncollectable(n);
-            void ** flh;
-	   
-	    if (n > GC_max_fast_bytes) {
-		GC_free(p);
-	    } else {
-	    	flh = GC_auobjfreelist_ptr + nwords;
-	    	GC_obj_link(p) = *flh;
-	    	*flh = p;
-	    	GC_aux::GC_uncollectable_bytes_recently_freed +=
-				nwords * GC_bytes_per_word;
-	    }
-	}
-};
-
-typedef single_client_traceable_alloc_template<0> single_client_traceable_alloc;
-
-template < int dummy >
-class gc_alloc_template {
-    public:
-     	static void * allocate(size_t n) { return GC_malloc(n); }
-     	static void * ptr_free_allocate(size_t n)
-		{ return GC_malloc_atomic(n); }
-	static void deallocate(void *, size_t) { }
-	static void ptr_free_deallocate(void *, size_t) { }
-};
-
-typedef gc_alloc_template < 0 > gc_alloc;
-
-template < int dummy >
-class traceable_alloc_template {
-    public:
-     	static void * allocate(size_t n) { return GC_malloc_uncollectable(n); }
-     	static void * ptr_free_allocate(size_t n)
-		{ return GC_malloc_atomic_uncollectable(n); }
-	static void deallocate(void *p, size_t) { GC_free(p); }
-	static void ptr_free_deallocate(void *p, size_t) { GC_free(p); }
-};
-
-typedef traceable_alloc_template < 0 > traceable_alloc;
-
-// We want to specialize simple_alloc so that it does the right thing
-// for all pointerfree types.  At the moment there is no portable way to
-// even approximate that.  The following approximation should work for
-// SGI compilers, and recent versions of g++.
-
-# define __GC_SPECIALIZE(T,alloc) \
-class simple_alloc<T, alloc> { \
-public: \
-    static T *allocate(size_t n) \
-	{ return 0 == n? 0 : \
-			 reinterpret_cast<T*>(alloc::ptr_free_allocate(n * sizeof (T))); } \
-    static T *allocate(void) \
-	{ return reinterpret_cast<T*>(alloc::ptr_free_allocate(sizeof (T))); } \
-    static void deallocate(T *p, size_t n) \
-	{ if (0 != n) alloc::ptr_free_deallocate(p, n * sizeof (T)); } \
-    static void deallocate(T *p) \
-	{ alloc::ptr_free_deallocate(p, sizeof (T)); } \
-};
-
-__STL_BEGIN_NAMESPACE
-
-__GC_SPECIALIZE(char, gc_alloc)
-__GC_SPECIALIZE(int, gc_alloc)
-__GC_SPECIALIZE(unsigned, gc_alloc)
-__GC_SPECIALIZE(float, gc_alloc)
-__GC_SPECIALIZE(double, gc_alloc)
-
-__GC_SPECIALIZE(char, traceable_alloc)
-__GC_SPECIALIZE(int, traceable_alloc)
-__GC_SPECIALIZE(unsigned, traceable_alloc)
-__GC_SPECIALIZE(float, traceable_alloc)
-__GC_SPECIALIZE(double, traceable_alloc)
-
-__GC_SPECIALIZE(char, single_client_gc_alloc)
-__GC_SPECIALIZE(int, single_client_gc_alloc)
-__GC_SPECIALIZE(unsigned, single_client_gc_alloc)
-__GC_SPECIALIZE(float, single_client_gc_alloc)
-__GC_SPECIALIZE(double, single_client_gc_alloc)
-
-__GC_SPECIALIZE(char, single_client_traceable_alloc)
-__GC_SPECIALIZE(int, single_client_traceable_alloc)
-__GC_SPECIALIZE(unsigned, single_client_traceable_alloc)
-__GC_SPECIALIZE(float, single_client_traceable_alloc)
-__GC_SPECIALIZE(double, single_client_traceable_alloc)
-
-__STL_END_NAMESPACE
-
-#ifdef __STL_USE_STD_ALLOCATORS
-
-__STL_BEGIN_NAMESPACE
-
-template <class _Tp>
-struct _Alloc_traits<_Tp, gc_alloc >
-{
-  static const bool _S_instanceless = true;
-  typedef simple_alloc<_Tp, gc_alloc > _Alloc_type;
-  typedef __allocator<_Tp, gc_alloc > allocator_type;
-};
-
-inline bool operator==(const gc_alloc&,
-                       const gc_alloc&)
-{
-  return true;
-}
-
-inline bool operator!=(const gc_alloc&,
-                       const gc_alloc&)
-{
-  return false;
-}
-
-template <class _Tp>
-struct _Alloc_traits<_Tp, single_client_gc_alloc >
-{
-  static const bool _S_instanceless = true;
-  typedef simple_alloc<_Tp, single_client_gc_alloc > _Alloc_type;
-  typedef __allocator<_Tp, single_client_gc_alloc > allocator_type;
-};
-
-inline bool operator==(const single_client_gc_alloc&,
-                       const single_client_gc_alloc&)
-{
-  return true;
-}
-
-inline bool operator!=(const single_client_gc_alloc&,
-                       const single_client_gc_alloc&)
-{
-  return false;
-}
-
-template <class _Tp>
-struct _Alloc_traits<_Tp, traceable_alloc >
-{
-  static const bool _S_instanceless = true;
-  typedef simple_alloc<_Tp, traceable_alloc > _Alloc_type;
-  typedef __allocator<_Tp, traceable_alloc > allocator_type;
-};
-
-inline bool operator==(const traceable_alloc&,
-                       const traceable_alloc&)
-{
-  return true;
-}
-
-inline bool operator!=(const traceable_alloc&,
-                       const traceable_alloc&)
-{
-  return false;
-}
-
-template <class _Tp>
-struct _Alloc_traits<_Tp, single_client_traceable_alloc >
-{
-  static const bool _S_instanceless = true;
-  typedef simple_alloc<_Tp, single_client_traceable_alloc > _Alloc_type;
-  typedef __allocator<_Tp, single_client_traceable_alloc > allocator_type;
-};
-
-inline bool operator==(const single_client_traceable_alloc&,
-                       const single_client_traceable_alloc&)
-{
-  return true;
-}
-
-inline bool operator!=(const single_client_traceable_alloc&,
-                       const single_client_traceable_alloc&)
-{
-  return false;
-}
-
-__STL_END_NAMESPACE
-
-#endif /* __STL_USE_STD_ALLOCATORS */
-
-#endif /* GC_ALLOC_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/cord_pos.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/cord_pos.h
deleted file mode 100755
index 771c6d9..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/cord_pos.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* 
- * Copyright (c) 1993-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, May 19, 1994 2:23 pm PDT */
-# ifndef CORD_POSITION_H
-
-/* The representation of CORD_position.  This is private to the	*/
-/* implementation, but the size is known to clients.  Also	*/
-/* the implementation of some exported macros relies on it.	*/
-/* Don't use anything defined here and not in cord.h.		*/
-
-# define MAX_DEPTH 48
-	/* The maximum depth of a balanced cord + 1.		*/
-	/* We don't let cords get deeper than MAX_DEPTH.	*/
-
-struct CORD_pe {
-    CORD pe_cord;
-    size_t pe_start_pos;
-};
-
-/* A structure describing an entry on the path from the root 	*/
-/* to current position.						*/
-typedef struct CORD_Pos {
-    size_t cur_pos;
-    int path_len;
-#	define CORD_POS_INVALID (0x55555555)
-		/* path_len == INVALID <==> position invalid */
-    const char *cur_leaf;	/* Current leaf, if it is a string.	*/
-    				/* If the current leaf is a function,	*/
-    				/* then this may point to function_buf	*/
-    				/* containing the next few characters.	*/
-    				/* Always points to a valid string	*/
-    				/* containing the current character 	*/
-    				/* unless cur_end is 0.			*/
-    size_t cur_start;	/* Start position of cur_leaf	*/
-    size_t cur_end;	/* Ending position of cur_leaf	*/
-    			/* 0 if cur_leaf is invalid.	*/
-    struct CORD_pe path[MAX_DEPTH + 1];
-    	/* path[path_len] is the leaf corresponding to cur_pos	*/
-    	/* path[0].pe_cord is the cord we point to.		*/
-#   define FUNCTION_BUF_SZ 8
-    char function_buf[FUNCTION_BUF_SZ];	/* Space for next few chars	*/
-    					/* from function node.		*/
-} CORD_pos[1];
-
-/* Extract the cord from a position:	*/
-CORD CORD_pos_to_cord(CORD_pos p);
-	
-/* Extract the current index from a position:	*/
-size_t CORD_pos_to_index(CORD_pos p);
-	
-/* Fetch the character located at the given position:	*/
-char CORD_pos_fetch(CORD_pos p);
-	
-/* Initialize the position to refer to the give cord and index.	*/
-/* Note that this is the most expensive function on positions:	*/
-void CORD_set_pos(CORD_pos p, CORD x, size_t i);
-	
-/* Advance the position to the next character.	*/
-/* P must be initialized and valid.		*/
-/* Invalidates p if past end:			*/
-void CORD_next(CORD_pos p);
-
-/* Move the position to the preceding character.	*/
-/* P must be initialized and valid.			*/
-/* Invalidates p if past beginning:			*/
-void CORD_prev(CORD_pos p);
-	
-/* Is the position valid, i.e. inside the cord?		*/
-int CORD_pos_valid(CORD_pos p);
-
-char CORD__pos_fetch(CORD_pos);
-void CORD__next(CORD_pos);
-void CORD__prev(CORD_pos);
-
-#define CORD_pos_fetch(p)	\
-    (((p)[0].cur_end != 0)? \
-     	(p)[0].cur_leaf[(p)[0].cur_pos - (p)[0].cur_start] \
-     	: CORD__pos_fetch(p))
-
-#define CORD_next(p)	\
-    (((p)[0].cur_pos + 1 < (p)[0].cur_end)? \
-    	(p)[0].cur_pos++ \
-    	: (CORD__next(p), 0))
-
-#define CORD_prev(p)	\
-    (((p)[0].cur_end != 0 && (p)[0].cur_pos > (p)[0].cur_start)? \
-    	(p)[0].cur_pos-- \
-    	: (CORD__prev(p), 0))
-
-#define CORD_pos_to_index(p) ((p)[0].cur_pos)
-
-#define CORD_pos_to_cord(p) ((p)[0].path[0].pe_cord)
-
-#define CORD_pos_valid(p) ((p)[0].path_len != CORD_POS_INVALID)
-
-/* Some grubby stuff for performance-critical friends:	*/
-#define CORD_pos_chars_left(p) ((long)((p)[0].cur_end) - (long)((p)[0].cur_pos))
-	/* Number of characters in cache.  <= 0 ==> none	*/
-
-#define CORD_pos_advance(p,n) ((p)[0].cur_pos += (n) - 1, CORD_next(p))
-	/* Advance position by n characters	*/
-	/* 0 < n < CORD_pos_chars_left(p)	*/
-
-#define CORD_pos_cur_char_addr(p) \
-	(p)[0].cur_leaf + ((p)[0].cur_pos - (p)[0].cur_start)
-	/* address of current character in cache.	*/
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/darwin_semaphore.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/darwin_semaphore.h
deleted file mode 100755
index 59c7a93..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/darwin_semaphore.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef GC_DARWIN_SEMAPHORE_H
-#define GC_DARWIN_SEMAPHORE_H
-
-#if !defined(GC_DARWIN_THREADS)
-#error darwin_semaphore.h included with GC_DARWIN_THREADS not defined
-#endif
-
-/*
-   This is a very simple semaphore implementation for darwin. It
-   is implemented in terms of pthreads calls so it isn't async signal
-   safe. This isn't a problem because signals aren't used to
-   suspend threads on darwin.
-*/
-   
-typedef struct {
-    pthread_mutex_t mutex;
-    pthread_cond_t cond;
-    int value;
-} sem_t;
-
-static int sem_init(sem_t *sem, int pshared, int value) {
-    int ret;
-    if(pshared)
-        GC_abort("sem_init with pshared set");
-    sem->value = value;
-    
-    ret = pthread_mutex_init(&sem->mutex,NULL);
-    if(ret < 0) return -1;
-    ret = pthread_cond_init(&sem->cond,NULL);
-    if(ret < 0) return -1;
-    return 0;
-}
-
-static int sem_post(sem_t *sem) {
-    if(pthread_mutex_lock(&sem->mutex) < 0)
-        return -1;
-    sem->value++;
-    if(pthread_cond_signal(&sem->cond) < 0) {
-        pthread_mutex_unlock(&sem->mutex);
-        return -1;
-    }
-    if(pthread_mutex_unlock(&sem->mutex) < 0)
-        return -1;
-    return 0;
-}
-
-static int sem_wait(sem_t *sem) {
-    if(pthread_mutex_lock(&sem->mutex) < 0)
-        return -1;
-    while(sem->value == 0) {
-        pthread_cond_wait(&sem->cond,&sem->mutex);
-    }
-    sem->value--;
-    if(pthread_mutex_unlock(&sem->mutex) < 0)
-        return -1;    
-    return 0;
-}
-
-static int sem_destroy(sem_t *sem) {
-    int ret;
-    ret = pthread_cond_destroy(&sem->cond);
-    if(ret < 0) return -1;
-    ret = pthread_mutex_destroy(&sem->mutex);
-    if(ret < 0) return -1;
-    return 0;
-}
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/darwin_stop_world.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/darwin_stop_world.h
deleted file mode 100755
index 0c8c8a0..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/darwin_stop_world.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef GC_DARWIN_STOP_WORLD_H
-#define GC_DARWIN_STOP_WORLD_H
-
-#if !defined(GC_DARWIN_THREADS)
-#error darwin_stop_world.h included without GC_DARWIN_THREADS defined
-#endif
-
-#include <mach/mach.h>
-#include <mach/thread_act.h>
-
-struct thread_stop_info {
-    mach_port_t mach_thread;
-};
-
-struct GC_mach_thread {
-  thread_act_t thread;
-  int already_suspended;
-};
-
-void GC_darwin_register_mach_handler_thread(mach_port_t thread);
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/dbg_mlc.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/dbg_mlc.h
deleted file mode 100755
index e816368..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/dbg_mlc.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1997 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 1999 by Hewlett-Packard Company.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/*
- * This is mostly an internal header file.  Typical clients should
- * not use it.  Clients that define their own object kinds with
- * debugging allocators will probably want to include this, however.
- * No attempt is made to keep the namespace clean.  This should not be
- * included from header files that are frequently included by clients.
- */
-
-#ifndef _DBG_MLC_H
-
-#define _DBG_MLC_H
-
-# define I_HIDE_POINTERS
-# include "gc_priv.h"
-# ifdef KEEP_BACK_PTRS
-#   include "gc_backptr.h"
-# endif
-
-#ifndef HIDE_POINTER
-  /* Gc.h was previously included, and hence the I_HIDE_POINTERS	*/
-  /* definition had no effect.  Repeat the gc.h definitions here to	*/
-  /* get them anyway.							*/
-    typedef GC_word GC_hidden_pointer;
-#   define HIDE_POINTER(p) (~(GC_hidden_pointer)(p))
-#   define REVEAL_POINTER(p) ((void *)(HIDE_POINTER(p)))
-#endif /* HIDE_POINTER */
-
-# define START_FLAG ((word)0xfedcedcb)
-# define END_FLAG ((word)0xbcdecdef)
-	/* Stored both one past the end of user object, and one before	*/
-	/* the end of the object as seen by the allocator.		*/
-
-# if defined(KEEP_BACK_PTRS) || defined(PRINT_BLACK_LIST) \
-     || defined(MAKE_BACK_GRAPH)
-    /* Pointer "source"s that aren't real locations.	*/
-    /* Used in oh_back_ptr fields and as "source"	*/
-    /* argument to some marking functions.		*/
-#	define NOT_MARKED (ptr_t)(0)
-#	define MARKED_FOR_FINALIZATION (ptr_t)(2)
-	    /* Object was marked because it is finalizable.	*/
-#	define MARKED_FROM_REGISTER (ptr_t)(4)
-	    /* Object was marked from a rgister.  Hence the	*/
-	    /* source of the reference doesn't have an address.	*/
-# endif /* KEEP_BACK_PTRS || PRINT_BLACK_LIST */
-
-/* Object header */
-typedef struct {
-#   if defined(KEEP_BACK_PTRS) || defined(MAKE_BACK_GRAPH)
-	/* We potentially keep two different kinds of back 	*/
-	/* pointers.  KEEP_BACK_PTRS stores a single back 	*/
-	/* pointer in each reachable object to allow reporting	*/
-	/* of why an object was retained.  MAKE_BACK_GRAPH	*/
-	/* builds a graph containing the inverse of all 	*/
-	/* "points-to" edges including those involving 		*/
-	/* objects that have just become unreachable. This	*/
-	/* allows detection of growing chains of unreachable	*/
-	/* objects.  It may be possible to eventually combine	*/
-	/* both, but for now we keep them separate.  Both	*/
-	/* kinds of back pointers are hidden using the 		*/
-	/* following macros.  In both cases, the plain version	*/
-	/* is constrained to have an least significant bit of 1,*/
-	/* to allow it to be distinguished from a free list 	*/
-	/* link.  This means the plain version must have an	*/
-	/* lsb of 0.						*/
-	/* Note that blocks dropped by black-listing will	*/
-	/* also have the lsb clear once debugging has		*/
-	/* started.						*/
-	/* We're careful never to overwrite a value with lsb 0.	*/
-#       if ALIGNMENT == 1
-	  /* Fudge back pointer to be even.  */
-#	  define HIDE_BACK_PTR(p) HIDE_POINTER(~1 & (GC_word)(p))
-#	else
-#	  define HIDE_BACK_PTR(p) HIDE_POINTER(p)
-#	endif
-	
-#       ifdef KEEP_BACK_PTRS
-	  GC_hidden_pointer oh_back_ptr;
-#	endif
-#	ifdef MAKE_BACK_GRAPH
-	  GC_hidden_pointer oh_bg_ptr;
-#	endif
-#	if defined(KEEP_BACK_PTRS) != defined(MAKE_BACK_GRAPH)
-	  /* Keep double-pointer-sized alignment.	*/
-	  word oh_dummy;
-#	endif
-#   endif
-    const char * oh_string;	/* object descriptor string	*/
-    word oh_int;		/* object descriptor integers	*/
-#   ifdef NEED_CALLINFO
-      struct callinfo oh_ci[NFRAMES];
-#   endif
-#   ifndef SHORT_DBG_HDRS
-      word oh_sz;			/* Original malloc arg.		*/
-      word oh_sf;			/* start flag */
-#   endif /* SHORT_DBG_HDRS */
-} oh;
-/* The size of the above structure is assumed not to dealign things,	*/
-/* and to be a multiple of the word length.				*/
-
-#ifdef SHORT_DBG_HDRS
-#   define DEBUG_BYTES (sizeof (oh))
-#   define UNCOLLECTABLE_DEBUG_BYTES DEBUG_BYTES
-#else
-    /* Add space for END_FLAG, but use any extra space that was already	*/
-    /* added to catch off-the-end pointers.				*/
-    /* For uncollectable objects, the extra byte is not added.		*/
-#   define UNCOLLECTABLE_DEBUG_BYTES (sizeof (oh) + sizeof (word))
-#   define DEBUG_BYTES (UNCOLLECTABLE_DEBUG_BYTES - EXTRA_BYTES)
-#endif
-
-/* Round bytes to words without adding extra byte at end.	*/
-#define SIMPLE_ROUNDED_UP_WORDS(n) BYTES_TO_WORDS((n) + WORDS_TO_BYTES(1) - 1)
-
-/* ADD_CALL_CHAIN stores a (partial) call chain into an object	*/
-/* header.  It may be called with or without the allocation 	*/
-/* lock.							*/
-/* PRINT_CALL_CHAIN prints the call chain stored in an object	*/
-/* to stderr.  It requires that we do not hold the lock.	*/
-#if defined(SAVE_CALL_CHAIN)
-    struct callinfo;
-    void GC_save_callers(struct callinfo info[NFRAMES]);
-    void GC_print_callers(struct callinfo info[NFRAMES]);
-#   define ADD_CALL_CHAIN(base, ra) GC_save_callers(((oh *)(base)) -> oh_ci)
-#   define PRINT_CALL_CHAIN(base) GC_print_callers(((oh *)(base)) -> oh_ci)
-#elif defined(GC_ADD_CALLER)
-    struct callinfo;
-    void GC_print_callers(struct callinfo info[NFRAMES]);
-#   define ADD_CALL_CHAIN(base, ra) ((oh *)(base)) -> oh_ci[0].ci_pc = (ra)
-#   define PRINT_CALL_CHAIN(base) GC_print_callers(((oh *)(base)) -> oh_ci)
-#else
-#   define ADD_CALL_CHAIN(base, ra)
-#   define PRINT_CALL_CHAIN(base)
-#endif
-
-# ifdef GC_ADD_CALLER
-#   define OPT_RA ra,
-# else
-#   define OPT_RA
-# endif
-
-
-/* Check whether object with base pointer p has debugging info	*/ 
-/* p is assumed to point to a legitimate object in our part	*/
-/* of the heap.							*/
-#ifdef SHORT_DBG_HDRS
-# define GC_has_other_debug_info(p) TRUE
-#else
-  GC_bool GC_has_other_debug_info(/* p */);
-#endif
-
-#if defined(KEEP_BACK_PTRS) || defined(MAKE_BACK_GRAPH)
-# define GC_HAS_DEBUG_INFO(p) \
-	((*((word *)p) & 1) && GC_has_other_debug_info(p))
-#else
-# define GC_HAS_DEBUG_INFO(p) GC_has_other_debug_info(p)
-#endif
-
-/* Store debugging info into p.  Return displaced pointer. */
-/* Assumes we don't hold allocation lock.		   */
-ptr_t GC_store_debug_info(/* p, sz, string, integer */);
-
-#endif /* _DBG_MLC_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gc_hdrs.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gc_hdrs.h
deleted file mode 100755
index e638cea..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gc_hdrs.h
+++ /dev/null
@@ -1,206 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, July 11, 1995 11:54 am PDT */
-# ifndef GC_HEADERS_H
-# define GC_HEADERS_H
-typedef struct hblkhdr hdr;
-
-# if CPP_WORDSZ != 32 && CPP_WORDSZ < 36
-	--> Get a real machine.
-# endif
-
-/*
- * The 2 level tree data structure that is used to find block headers.
- * If there are more than 32 bits in a pointer, the top level is a hash
- * table.
- *
- * This defines HDR, GET_HDR, and SET_HDR, the main macros used to
- * retrieve and set object headers.
- *
- * We take advantage of a header lookup
- * cache.  This is a locally declared direct mapped cache, used inside
- * the marker.  The HC_GET_HDR macro uses and maintains this
- * cache.  Assuming we get reasonable hit rates, this shaves a few
- * memory references from each pointer validation.
- */
-
-# if CPP_WORDSZ > 32
-#   define HASH_TL
-# endif
-
-/* Define appropriate out-degrees for each of the two tree levels	*/
-# ifdef SMALL_CONFIG
-#   define LOG_BOTTOM_SZ 11
-	/* Keep top index size reasonable with smaller blocks. */
-# else
-#   define LOG_BOTTOM_SZ 10
-# endif
-# ifndef HASH_TL
-#   define LOG_TOP_SZ (WORDSZ - LOG_BOTTOM_SZ - LOG_HBLKSIZE)
-# else
-#   define LOG_TOP_SZ 11
-# endif
-# define TOP_SZ (1 << LOG_TOP_SZ)
-# define BOTTOM_SZ (1 << LOG_BOTTOM_SZ)
-
-#ifndef SMALL_CONFIG
-# define USE_HDR_CACHE
-#endif
-
-/* #define COUNT_HDR_CACHE_HITS  */
-
-# ifdef COUNT_HDR_CACHE_HITS
-    extern word GC_hdr_cache_hits;
-    extern word GC_hdr_cache_misses;
-#   define HC_HIT() ++GC_hdr_cache_hits
-#   define HC_MISS() ++GC_hdr_cache_misses
-# else
-#   define HC_HIT()
-#   define HC_MISS()
-# endif
-
-  typedef struct hce {
-    word block_addr;  	/* right shifted by LOG_HBLKSIZE */
-    hdr * hce_hdr;
-  } hdr_cache_entry;
-
-# define HDR_CACHE_SIZE 8  /* power of 2 */
-
-# define DECLARE_HDR_CACHE \
-	hdr_cache_entry hdr_cache[HDR_CACHE_SIZE]
-
-# define INIT_HDR_CACHE BZERO(hdr_cache, sizeof(hdr_cache))
-
-# define HCE(h) hdr_cache + (((word)(h) >> LOG_HBLKSIZE) & (HDR_CACHE_SIZE-1))
-
-# define HCE_VALID_FOR(hce,h) ((hce) -> block_addr == \
-				((word)(h) >> LOG_HBLKSIZE))
-
-# define HCE_HDR(h) ((hce) -> hce_hdr)
-
-#ifdef PRINT_BLACK_LIST
-  hdr * GC_header_cache_miss(ptr_t p, hdr_cache_entry *hce, ptr_t source);
-# define HEADER_CACHE_MISS(p, hce, source) \
-	  GC_header_cache_miss(p, hce, source)
-#else
-  hdr * GC_header_cache_miss(ptr_t p, hdr_cache_entry *hce);
-# define HEADER_CACHE_MISS(p, hce, source) GC_header_cache_miss(p, hce)
-#endif
-
-/* Set hhdr to the header for p.  Analogous to GET_HDR below,		*/
-/* except that in the case of large objects, it				*/
-/* gets the header for the object beginning, if GC_all_interior_ptrs	*/
-/* is set.								*/
-/* Returns zero if p points to somewhere other than the first page	*/
-/* of an object, and it is not a valid pointer to the object.		*/
-# define HC_GET_HDR(p, hhdr, source, exit_label) \
-	{ \
-	  hdr_cache_entry * hce = HCE(p); \
-	  if (EXPECT(HCE_VALID_FOR(hce, p), 1)) { \
-	    HC_HIT(); \
-	    hhdr = hce -> hce_hdr; \
-	  } else { \
-	    hhdr = HEADER_CACHE_MISS(p, hce, source); \
-	    if (0 == hhdr) goto exit_label; \
-	  } \
-	}
-
-typedef struct bi {
-    hdr * index[BOTTOM_SZ];
-	/*
- 	 * The bottom level index contains one of three kinds of values:
-	 * 0 means we're not responsible for this block,
-	 *   or this is a block other than the first one in a free block.
-	 * 1 < (long)X <= MAX_JUMP means the block starts at least
-	 *        X * HBLKSIZE bytes before the current address.
-	 * A valid pointer points to a hdr structure. (The above can't be
-	 * valid pointers due to the GET_MEM return convention.)
-	 */
-    struct bi * asc_link;	/* All indices are linked in	*/
-    				/* ascending order...		*/
-    struct bi * desc_link;	/* ... and in descending order.	*/
-    word key;			/* high order address bits.	*/
-# ifdef HASH_TL
-    struct bi * hash_link;	/* Hash chain link.		*/
-# endif
-} bottom_index;
-
-/* extern bottom_index GC_all_nils; - really part of GC_arrays */
-
-/* extern bottom_index * GC_top_index []; - really part of GC_arrays */
-				/* Each entry points to a bottom_index.	*/
-				/* On a 32 bit machine, it points to 	*/
-				/* the index for a set of high order	*/
-				/* bits equal to the index.  For longer	*/
-				/* addresses, we hash the high order	*/
-				/* bits to compute the index in 	*/
-				/* GC_top_index, and each entry points	*/
-				/* to a hash chain.			*/
-				/* The last entry in each chain is	*/
-				/* GC_all_nils.				*/
-
-
-# define MAX_JUMP (HBLKSIZE - 1)
-
-# define HDR_FROM_BI(bi, p) \
-		((bi)->index[((word)(p) >> LOG_HBLKSIZE) & (BOTTOM_SZ - 1)])
-# ifndef HASH_TL
-#   define BI(p) (GC_top_index \
-		[(word)(p) >> (LOG_BOTTOM_SZ + LOG_HBLKSIZE)])
-#   define HDR_INNER(p) HDR_FROM_BI(BI(p),p)
-#   ifdef SMALL_CONFIG
-#	define HDR(p) GC_find_header((ptr_t)(p))
-#   else
-#	define HDR(p) HDR_INNER(p)
-#   endif
-#   define GET_BI(p, bottom_indx) (bottom_indx) = BI(p)
-#   define GET_HDR(p, hhdr) (hhdr) = HDR(p)
-#   define SET_HDR(p, hhdr) HDR_INNER(p) = (hhdr)
-#   define GET_HDR_ADDR(p, ha) (ha) = &(HDR_INNER(p))
-# else /* hash */
-/*  Hash function for tree top level */
-#   define TL_HASH(hi) ((hi) & (TOP_SZ - 1))
-/*  Set bottom_indx to point to the bottom index for address p */
-#   define GET_BI(p, bottom_indx) \
-	{ \
-	    register word hi = \
-	        (word)(p) >> (LOG_BOTTOM_SZ + LOG_HBLKSIZE); \
-	    register bottom_index * _bi = GC_top_index[TL_HASH(hi)]; \
-	    \
-	    while (_bi -> key != hi && _bi != GC_all_nils) \
-	    	_bi = _bi -> hash_link; \
-	    (bottom_indx) = _bi; \
-	}
-#   define GET_HDR_ADDR(p, ha) \
-	{ \
-	    register bottom_index * bi; \
-	    \
-	    GET_BI(p, bi);	\
-	    (ha) = &(HDR_FROM_BI(bi, p)); \
-	}
-#   define GET_HDR(p, hhdr) { register hdr ** _ha; GET_HDR_ADDR(p, _ha); \
-			      (hhdr) = *_ha; }
-#   define SET_HDR(p, hhdr) { register hdr ** _ha; GET_HDR_ADDR(p, _ha); \
-			      *_ha = (hhdr); }
-#   define HDR(p) GC_find_header((ptr_t)(p))
-# endif
-			    
-/* Is the result a forwarding address to someplace closer to the	*/
-/* beginning of the block or NIL?					*/
-# define IS_FORWARDING_ADDR_OR_NIL(hhdr) ((size_t) (hhdr) <= MAX_JUMP)
-
-/* Get an HBLKSIZE aligned address closer to the beginning of the block */
-/* h.  Assumes hhdr == HDR(h) and IS_FORWARDING_ADDR(hhdr).		*/
-# define FORWARDED_ADDR(h, hhdr) ((struct hblk *)(h) - (size_t)(hhdr))
-# endif /*  GC_HEADERS_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gc_locks.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gc_locks.h
deleted file mode 100755
index 381c859..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gc_locks.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 1999 by Hewlett-Packard Company. All rights reserved.
- *
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-#ifndef GC_LOCKS_H
-#define GC_LOCKS_H
-
-/*
- * Mutual exclusion between allocator/collector routines.
- * Needed if there is more than one allocator thread.
- * DCL_LOCK_STATE declares any local variables needed by LOCK and UNLOCK.
- *
- * Note that I_HOLD_LOCK and I_DONT_HOLD_LOCK are used only positively
- * in assertions, and may return TRUE in the "dont know" case.
- */  
-# ifdef THREADS
-#  include <atomic_ops.h>
-
-   void GC_noop1(word);
-#  ifdef PCR
-#    include <base/PCR_Base.h>
-#    include <th/PCR_Th.h>
-     extern PCR_Th_ML GC_allocate_ml;
-#    define DCL_LOCK_STATE \
-	 PCR_ERes GC_fastLockRes; PCR_sigset_t GC_old_sig_mask
-#    define LOCK() PCR_Th_ML_Acquire(&GC_allocate_ml)
-#    define UNLOCK() PCR_Th_ML_Release(&GC_allocate_ml)
-#  endif
-
-#  if !defined(AO_HAVE_test_and_set_acquire) && defined(GC_PTHREADS)
-#    define USE_PTHREAD_LOCKS
-#  endif
-
-#  if defined(GC_WIN32_THREADS) && defined(GC_PTHREADS)
-#    define USE_PTHREAD_LOCKS
-#  endif
-
-#  if defined(GC_WIN32_THREADS) && !defined(USE_PTHREAD_LOCKS)
-#    include <windows.h>
-#    define NO_THREAD (DWORD)(-1)
-     extern DWORD GC_lock_holder;
-     GC_API CRITICAL_SECTION GC_allocate_ml;
-#    ifdef GC_ASSERTIONS
-#        define UNCOND_LOCK() \
-		{ EnterCriticalSection(&GC_allocate_ml); \
-		  SET_LOCK_HOLDER(); }
-#        define UNCOND_UNLOCK() \
-		{ GC_ASSERT(I_HOLD_LOCK()); UNSET_LOCK_HOLDER(); \
-	          LeaveCriticalSection(&GC_allocate_ml); }
-#    else
-#      define UNCOND_LOCK() EnterCriticalSection(&GC_allocate_ml);
-#      define UNCOND_UNLOCK() LeaveCriticalSection(&GC_allocate_ml);
-#    endif /* !GC_ASSERTIONS */
-#    define SET_LOCK_HOLDER() GC_lock_holder = GetCurrentThreadId()
-#    define UNSET_LOCK_HOLDER() GC_lock_holder = NO_THREAD
-#    define I_HOLD_LOCK() (!GC_need_to_lock \
-			   || GC_lock_holder == GetCurrentThreadId())
-#    define I_DONT_HOLD_LOCK() (!GC_need_to_lock \
-			   || GC_lock_holder != GetCurrentThreadId())
-#  elif defined(GC_PTHREADS)
-#    include <pthread.h>
-     
-     /* Posix allows pthread_t to be a struct, though it rarely is.	*/
-     /* Unfortunately, we need to use a pthread_t to index a data 	*/
-     /* structure.  It also helps if comparisons don't involve a	*/
-     /* function call.  Hence we introduce platform-dependent macros	*/
-     /* to compare pthread_t ids and to map them to integers.		*/
-     /* the mapping to integers does not need to result in different	*/
-     /* integers for each thread, though that should be true as much	*/
-     /* as possible.							*/
-     /* Refine to exclude platforms on which pthread_t is struct */
-#    if !defined(GC_WIN32_PTHREADS)
-#      define NUMERIC_THREAD_ID(id) ((unsigned long)(id))
-#      define THREAD_EQUAL(id1, id2) ((id1) == (id2))
-#      define NUMERIC_THREAD_ID_UNIQUE
-#    else
-#      if defined(GC_WIN32_PTHREADS)
-#	 define NUMERIC_THREAD_ID(id) ((unsigned long)(id.p))
-	 /* Using documented internal details of win32_pthread library. */
-	 /* Faster than pthread_equal(). Should not change with		*/
-	 /* future versions of win32_pthread library.                   */
-#	 define THREAD_EQUAL(id1, id2) ((id1.p == id2.p) && (id1.x == id2.x))
-#        undef NUMERIC_THREAD_ID_UNIQUE
-#      else
-	 /* Generic definitions that always work, but will result in	*/
-	 /* poor performance and weak assertion checking.		*/
-#   	 define NUMERIC_THREAD_ID(id) 1l
-#	 define THREAD_EQUAL(id1, id2) pthread_equal(id1, id2)
-#        undef NUMERIC_THREAD_ID_UNIQUE
-#      endif
-#    endif
-#    define NO_THREAD (-1l)
-		/* != NUMERIC_THREAD_ID(pthread_self()) for any thread */
-
-#    if !defined(THREAD_LOCAL_ALLOC) && !defined(USE_PTHREAD_LOCKS)
-      /* In the THREAD_LOCAL_ALLOC case, the allocation lock tends to	*/
-      /* be held for long periods, if it is held at all.  Thus spinning	*/
-      /* and sleeping for fixed periods are likely to result in 	*/
-      /* significant wasted time.  We thus rely mostly on queued locks. */
-#     define USE_SPIN_LOCK
-      extern volatile AO_TS_t GC_allocate_lock;
-      extern void GC_lock(void);
-	/* Allocation lock holder.  Only set if acquired by client through */
-	/* GC_call_with_alloc_lock.					   */
-#     ifdef GC_ASSERTIONS
-#        define UNCOND_LOCK() \
-		{ if (AO_test_and_set_acquire(&GC_allocate_lock) == AO_TS_SET) \
-			GC_lock(); \
-		  SET_LOCK_HOLDER(); }
-#        define UNCOND_UNLOCK() \
-		{ GC_ASSERT(I_HOLD_LOCK()); UNSET_LOCK_HOLDER(); \
-	          AO_CLEAR(&GC_allocate_lock); }
-#     else
-#        define UNCOND_LOCK() \
-		{ if (AO_test_and_set_acquire(&GC_allocate_lock) == AO_TS_SET) \
-			GC_lock(); }
-#        define UNCOND_UNLOCK() \
-		AO_CLEAR(&GC_allocate_lock)
-#     endif /* !GC_ASSERTIONS */
-#    else /* THREAD_LOCAL_ALLOC  || USE_PTHREAD_LOCKS */
-#      ifndef USE_PTHREAD_LOCKS
-#        define USE_PTHREAD_LOCKS
-#      endif
-#    endif /* THREAD_LOCAL_ALLOC || USE_PTHREAD_LOCK */
-#    ifdef USE_PTHREAD_LOCKS
-#      include <pthread.h>
-       extern pthread_mutex_t GC_allocate_ml;
-#      ifdef GC_ASSERTIONS
-#        define UNCOND_LOCK() \
-		{ GC_lock(); \
-		  SET_LOCK_HOLDER(); }
-#        define UNCOND_UNLOCK() \
-		{ GC_ASSERT(I_HOLD_LOCK()); UNSET_LOCK_HOLDER(); \
-	          pthread_mutex_unlock(&GC_allocate_ml); }
-#      else /* !GC_ASSERTIONS */
-#        if defined(NO_PTHREAD_TRYLOCK)
-#          define UNCOND_LOCK() GC_lock();
-#        else /* !defined(NO_PTHREAD_TRYLOCK) */
-#        define UNCOND_LOCK() \
-	   { if (0 != pthread_mutex_trylock(&GC_allocate_ml)) GC_lock(); }
-#        endif
-#        define UNCOND_UNLOCK() pthread_mutex_unlock(&GC_allocate_ml)
-#      endif /* !GC_ASSERTIONS */
-#    endif /* USE_PTHREAD_LOCKS */
-#    define SET_LOCK_HOLDER() \
-		GC_lock_holder = NUMERIC_THREAD_ID(pthread_self())
-#    define UNSET_LOCK_HOLDER() GC_lock_holder = NO_THREAD
-#    define I_HOLD_LOCK() \
-		(!GC_need_to_lock || \
-		 GC_lock_holder == NUMERIC_THREAD_ID(pthread_self()))
-#    ifndef NUMERIC_THREAD_ID_UNIQUE
-#      define I_DONT_HOLD_LOCK() 1  /* Conservatively say yes */
-#    else
-#      define I_DONT_HOLD_LOCK() \
-		(!GC_need_to_lock \
-		 || GC_lock_holder != NUMERIC_THREAD_ID(pthread_self()))
-#    endif
-     extern volatile GC_bool GC_collecting;
-#    define ENTER_GC() GC_collecting = 1;
-#    define EXIT_GC() GC_collecting = 0;
-     extern void GC_lock(void);
-     extern unsigned long GC_lock_holder;
-#    ifdef GC_ASSERTIONS
-      extern unsigned long GC_mark_lock_holder;
-#    endif
-#  endif /* GC_PTHREADS with linux_threads.c implementation */
-
-
-# else /* !THREADS */
-#   define LOCK()
-#   define UNLOCK()
-#   define SET_LOCK_HOLDER()
-#   define UNSET_LOCK_HOLDER()
-#   define I_HOLD_LOCK() TRUE
-#   define I_DONT_HOLD_LOCK() TRUE
-       		/* Used only in positive assertions or to test whether	*/
-       		/* we still need to acaquire the lock.	TRUE works in	*/
-       		/* either case.						*/
-# endif /* !THREADS */
-
-#if defined(UNCOND_LOCK) && !defined(LOCK) 
-     GC_API GC_bool GC_need_to_lock;
-     		/* At least two thread running; need to lock.	*/
-#    define LOCK() if (GC_need_to_lock) { UNCOND_LOCK(); }
-#    define UNLOCK() if (GC_need_to_lock) { UNCOND_UNLOCK(); }
-#endif
-
-# ifndef ENTER_GC
-#   define ENTER_GC()
-#   define EXIT_GC()
-# endif
-
-# ifndef DCL_LOCK_STATE
-#   define DCL_LOCK_STATE
-# endif
-
-#endif /* GC_LOCKS_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gc_pmark.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gc_pmark.h
deleted file mode 100755
index d69f64a..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gc_pmark.h
+++ /dev/null
@@ -1,494 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 2001 by Hewlett-Packard Company. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-
-/* Private declarations of GC marker data structures and macros */
-
-/*
- * Declarations of mark stack.  Needed by marker and client supplied mark
- * routines.  Transitively include gc_priv.h.
- * (Note that gc_priv.h should not be included before this, since this
- * includes dbg_mlc.h, which wants to include gc_priv.h AFTER defining
- * I_HIDE_POINTERS.)
- */
-#ifndef GC_PMARK_H
-# define GC_PMARK_H
-
-# if defined(KEEP_BACK_PTRS) || defined(PRINT_BLACK_LIST)
-#   include "dbg_mlc.h"
-# endif
-# ifndef GC_MARK_H
-#   include "../gc_mark.h"
-# endif
-# ifndef GC_PRIVATE_H
-#   include "gc_priv.h"
-# endif
-
-/* The real declarations of the following is in gc_priv.h, so that	*/
-/* we can avoid scanning the following table.				*/
-/*
-extern mark_proc GC_mark_procs[MAX_MARK_PROCS];
-*/
-
-/*
- * Mark descriptor stuff that should remain private for now, mostly
- * because it's hard to export WORDSZ without including gcconfig.h.
- */
-# define BITMAP_BITS (WORDSZ - GC_DS_TAG_BITS)
-# define PROC(descr) \
-	(GC_mark_procs[((descr) >> GC_DS_TAG_BITS) & (GC_MAX_MARK_PROCS-1)])
-# define ENV(descr) \
-	((descr) >> (GC_DS_TAG_BITS + GC_LOG_MAX_MARK_PROCS))
-# define MAX_ENV \
-  	(((word)1 << (WORDSZ - GC_DS_TAG_BITS - GC_LOG_MAX_MARK_PROCS)) - 1)
-
-
-extern unsigned GC_n_mark_procs;
-
-/* Number of mark stack entries to discard on overflow.	*/
-#define GC_MARK_STACK_DISCARDS (INITIAL_MARK_STACK_SIZE/8)
-
-typedef struct GC_ms_entry {
-    ptr_t mse_start;   /* First word of object */
-    GC_word mse_descr;	/* Descriptor; low order two bits are tags,	*/
-    			/* identifying the upper 30 bits as one of the	*/
-    			/* following:					*/
-} mse;
-
-extern size_t GC_mark_stack_size;
-
-extern mse * GC_mark_stack_limit;
-
-#ifdef PARALLEL_MARK
-  extern mse * volatile GC_mark_stack_top;
-#else
-  extern mse * GC_mark_stack_top;
-#endif
-
-extern mse * GC_mark_stack;
-
-#ifdef PARALLEL_MARK
-    /*
-     * Allow multiple threads to participate in the marking process.
-     * This works roughly as follows:
-     *  The main mark stack never shrinks, but it can grow.
-     *
-     *	The initiating threads holds the GC lock, and sets GC_help_wanted.
-     *  
-     *  Other threads:
-     *     1) update helper_count (while holding mark_lock.)
-     *	   2) allocate a local mark stack
-     *     repeatedly:
-     *		3) Steal a global mark stack entry by atomically replacing
-     *		   its descriptor with 0.
-     *		4) Copy it to the local stack.
-     *	        5) Mark on the local stack until it is empty, or
-     *		   it may be profitable to copy it back.
-     *	        6) If necessary, copy local stack to global one,
-     *		   holding mark lock.
-     *    7) Stop when the global mark stack is empty.
-     *    8) decrement helper_count (holding mark_lock).
-     *
-     * This is an experiment to see if we can do something along the lines
-     * of the University of Tokyo SGC in a less intrusive, though probably
-     * also less performant, way.
-     */
-    void GC_do_parallel_mark();
-		/* inititate parallel marking.	*/
-
-    extern GC_bool GC_help_wanted;	/* Protected by mark lock	*/
-    extern unsigned GC_helper_count;	/* Number of running helpers.	*/
-					/* Protected by mark lock	*/
-    extern unsigned GC_active_count;	/* Number of active helpers.	*/
-					/* Protected by mark lock	*/
-					/* May increase and decrease	*/
-					/* within each mark cycle.  But	*/
-					/* once it returns to 0, it	*/
-					/* stays zero for the cycle.	*/
-    /* GC_mark_stack_top is also protected by mark lock.	*/
-    /*
-     * GC_notify_all_marker() is used when GC_help_wanted is first set,
-     * when the last helper becomes inactive,
-     * when something is added to the global mark stack, and just after
-     * GC_mark_no is incremented.
-     * This could be split into multiple CVs (and probably should be to
-     * scale to really large numbers of processors.)
-     */
-#endif /* PARALLEL_MARK */
-
-/* Return a pointer to within 1st page of object.  	*/
-/* Set *new_hdr_p to corr. hdr.				*/
-ptr_t GC_find_start(ptr_t current, hdr *hhdr, hdr **new_hdr_p);
-
-mse * GC_signal_mark_stack_overflow(mse *msp);
-
-/* Push the object obj with corresponding heap block header hhdr onto 	*/
-/* the mark stack.							*/
-# define PUSH_OBJ(obj, hhdr, mark_stack_top, mark_stack_limit) \
-{ \
-    register word _descr = (hhdr) -> hb_descr; \
-        \
-    if (_descr != 0) { \
-        mark_stack_top++; \
-        if (mark_stack_top >= mark_stack_limit) { \
-          mark_stack_top = GC_signal_mark_stack_overflow(mark_stack_top); \
-        } \
-        mark_stack_top -> mse_start = (obj); \
-        mark_stack_top -> mse_descr = _descr; \
-    } \
-}
-
-/* Push the contents of current onto the mark stack if it is a valid	*/
-/* ptr to a currently unmarked object.  Mark it.			*/
-/* If we assumed a standard-conforming compiler, we could probably	*/
-/* generate the exit_label transparently.				*/
-# define PUSH_CONTENTS(current, mark_stack_top, mark_stack_limit, \
-		       source, exit_label) \
-{ \
-    hdr * my_hhdr; \
- \
-    HC_GET_HDR(current, my_hhdr, source, exit_label); \
-    PUSH_CONTENTS_HDR(current, mark_stack_top, mark_stack_limit, \
-		  source, exit_label, my_hhdr, TRUE);	\
-exit_label: ; \
-}
-
-/* Set mark bit, exit if it was already set.	*/
-
-# ifdef USE_MARK_BITS
-#   ifdef PARALLEL_MARK
-      /* The following may fail to exit even if the bit was already set.    */
-      /* For our uses, that's benign:                                       */
-#     define OR_WORD_EXIT_IF_SET(addr, bits, exit_label) \
-        { \
-          if (!(*(addr) & (mask))) { \
-            AO_or((AO_t *)(addr), (mask); \
-          } else { \
-            goto label; \
-          } \
-        }
-#   else
-#     define OR_WORD_EXIT_IF_SET(addr, bits, exit_label) \
-        { \
-           word old = *(addr); \
-           word my_bits = (bits); \
-           if (old & my_bits) goto exit_label; \
-           *(addr) = (old | my_bits); \
-         }
-#   endif /* !PARALLEL_MARK */
-#   define SET_MARK_BIT_EXIT_IF_SET(hhdr,bit_no,exit_label) \
-    { \
-        word * mark_word_addr = hhdr -> hb_marks + divWORDSZ(bit_no); \
-      \
-        OR_WORD_EXIT_IF_SET(mark_word_addr, (word)1 << modWORDSZ(bit_no), \
-                            exit_label); \
-    }
-# endif
-
-
-#ifdef USE_MARK_BYTES
-# if defined(I386) && defined(__GNUC__)
-#  define LONG_MULT(hprod, lprod, x, y) { \
-	asm("mull %2" : "=a"(lprod), "=d"(hprod) : "g"(y), "0"(x)); \
-   }
-# else /* No in-line X86 assembly code */
-#  define LONG_MULT(hprod, lprod, x, y) { \
-	unsigned long long prod = (unsigned long long)x \
-				  * (unsigned long long)y; \
-	hprod = prod >> 32;  \
-	lprod = (unsigned32)prod;  \
-   }
-# endif
-
-  /* There is a race here, and we may set				*/
-  /* the bit twice in the concurrent case.  This can result in the	*/
-  /* object being pushed twice.  But that's only a performance issue.	*/
-# define SET_MARK_BIT_EXIT_IF_SET(hhdr,bit_no,exit_label) \
-    { \
-        char * mark_byte_addr = (char *)hhdr -> hb_marks + (bit_no); \
-        char mark_byte = *mark_byte_addr; \
-          \
-	if (mark_byte) goto exit_label; \
-	*mark_byte_addr = 1;  \
-    } 
-#endif /* USE_MARK_BYTES */
-
-#ifdef PARALLEL_MARK
-# define INCR_MARKS(hhdr) \
-	AO_store(&(hhdr -> hb_n_marks), AO_load(&(hhdr -> hb_n_marks))+1);
-#else
-# define INCR_MARKS(hhdr) ++(hhdr -> hb_n_marks)
-#endif
-
-#ifdef ENABLE_TRACE
-# define TRACE(source, cmd) \
-	if (GC_trace_addr != 0 && (ptr_t)(source) == GC_trace_addr) cmd
-# define TRACE_TARGET(target, cmd) \
-	if (GC_trace_addr != 0 && (target) == *(ptr_t *)GC_trace_addr) cmd
-#else
-# define TRACE(source, cmd)
-# define TRACE_TARGET(source, cmd)
-#endif
-/* If the mark bit corresponding to current is not set, set it, and 	*/
-/* push the contents of the object on the mark stack.  Current points	*/
-/* to the bginning of the object.  We rely on the fact that the 	*/
-/* preceding header calculation will succeed for a pointer past the 	*/
-/* forst page of an object, only if it is in fact a valid pointer	*/
-/* to the object.  Thus we can omit the otherwise necessary tests	*/
-/* here.  Note in particular tha the "displ" value is the displacement	*/
-/* from the beggining of the heap block, which may itself be in the	*/
-/* interior of a large object.						*/
-#ifdef MARK_BIT_PER_GRANULE
-# define PUSH_CONTENTS_HDR(current, mark_stack_top, mark_stack_limit, \
-		           source, exit_label, hhdr, do_offset_check) \
-{ \
-    size_t displ = HBLKDISPL(current); /* Displacement in block; in bytes. */\
-    /* displ is always within range.  If current doesn't point to	*/ \
-    /* first block, then we are in the all_interior_pointers case, and	*/ \
-    /* it is safe to use any displacement value.			*/ \
-    size_t gran_displ = BYTES_TO_GRANULES(displ); \
-    size_t gran_offset = hhdr -> hb_map[gran_displ];	\
-    size_t byte_offset = displ & (GRANULE_BYTES - 1); \
-    ptr_t base = current;  \
-    /* The following always fails for large block references. */ \
-    if (EXPECT((gran_offset | byte_offset) != 0, FALSE))  { \
-	if (hhdr -> hb_large_block) { \
-	  /* gran_offset is bogus.	*/ \
-	  size_t obj_displ; \
-	  base = (ptr_t)(hhdr -> hb_block); \
-	  obj_displ = (ptr_t)(current) - base;  \
-	  if (obj_displ != displ) { \
-	    GC_ASSERT(obj_displ < hhdr -> hb_sz); \
-	    /* Must be in all_interior_pointer case, not first block */ \
-	    /* already did validity check on cache miss.	     */ \
-	    ; \
-	  } else { \
-	    if (do_offset_check && !GC_valid_offsets[obj_displ]) { \
-	      GC_ADD_TO_BLACK_LIST_NORMAL(current, source); \
-	      goto exit_label; \
-	    } \
-	  } \
-	  gran_displ = 0; \
-	  GC_ASSERT(hhdr -> hb_sz > HBLKSIZE || \
-		    hhdr -> hb_block == HBLKPTR(current)); \
-	  GC_ASSERT((ptr_t)(hhdr -> hb_block) <= (ptr_t) current); \
-	} else { \
-	  size_t obj_displ = GRANULES_TO_BYTES(gran_offset) \
-		      	     + byte_offset; \
-	  if (do_offset_check && !GC_valid_offsets[obj_displ]) { \
-	    GC_ADD_TO_BLACK_LIST_NORMAL(current, source); \
-	    goto exit_label; \
-	  } \
-	  gran_displ -= gran_offset; \
-	  base -= obj_displ; \
-	} \
-    } \
-    GC_ASSERT(hhdr == GC_find_header(base)); \
-    GC_ASSERT(gran_displ % BYTES_TO_GRANULES(hhdr -> hb_sz) == 0); \
-    TRACE(source, GC_log_printf("GC:%d: passed validity tests\n",GC_gc_no)); \
-    SET_MARK_BIT_EXIT_IF_SET(hhdr, gran_displ, exit_label); \
-    TRACE(source, GC_log_printf("GC:%d: previously unmarked\n",GC_gc_no)); \
-    TRACE_TARGET(base, \
-	GC_log_printf("GC:%d: marking %p from %p instead\n", GC_gc_no, \
-		      base, source)); \
-    INCR_MARKS(hhdr); \
-    GC_STORE_BACK_PTR((ptr_t)source, base); \
-    PUSH_OBJ(base, hhdr, mark_stack_top, mark_stack_limit); \
-}
-#endif /* MARK_BIT_PER_GRANULE */
-
-#ifdef MARK_BIT_PER_OBJ
-# define PUSH_CONTENTS_HDR(current, mark_stack_top, mark_stack_limit, \
-		           source, exit_label, hhdr, do_offset_check) \
-{ \
-    size_t displ = HBLKDISPL(current); /* Displacement in block; in bytes. */\
-    unsigned32 low_prod, high_prod, offset_fraction; \
-    unsigned32 inv_sz = hhdr -> hb_inv_sz; \
-    ptr_t base = current;  \
-    LONG_MULT(high_prod, low_prod, displ, inv_sz); \
-    /* product is > and within sz_in_bytes of displ * sz_in_bytes * 2**32 */ \
-    if (EXPECT(low_prod >> 16 != 0, FALSE))  { \
-	    FIXME: fails if offset is a multiple of HBLKSIZE which becomes 0 \
-	if (inv_sz == LARGE_INV_SZ) { \
-	  size_t obj_displ; \
-	  base = (ptr_t)(hhdr -> hb_block); \
-	  obj_displ = (ptr_t)(current) - base;  \
-	  if (obj_displ != displ) { \
-	    GC_ASSERT(obj_displ < hhdr -> hb_sz); \
-	    /* Must be in all_interior_pointer case, not first block */ \
-	    /* already did validity check on cache miss.	     */ \
-	    ; \
-	  } else { \
-	    if (do_offset_check && !GC_valid_offsets[obj_displ]) { \
-	      GC_ADD_TO_BLACK_LIST_NORMAL(current, source); \
-	      goto exit_label; \
-	    } \
-	  } \
-	  GC_ASSERT(hhdr -> hb_sz > HBLKSIZE || \
-		    hhdr -> hb_block == HBLKPTR(current)); \
-	  GC_ASSERT((ptr_t)(hhdr -> hb_block) < (ptr_t) current); \
-	} else { \
-	  /* Accurate enough if HBLKSIZE <= 2**15.	*/ \
-	  GC_ASSERT(HBLKSIZE <= (1 << 15)); \
-	  size_t obj_displ = (((low_prod >> 16) + 1) * (hhdr -> hb_sz)) >> 16; \
-	  if (do_offset_check && !GC_valid_offsets[obj_displ]) { \
-	    GC_ADD_TO_BLACK_LIST_NORMAL(current, source); \
-	    goto exit_label; \
-	  } \
-	  base -= obj_displ; \
-	} \
-    } \
-    /* May get here for pointer to start of block not at	*/ \
-    /* beginning of object.  If so, it's valid, and we're fine. */ \
-    GC_ASSERT(high_prod >= 0 && high_prod <= HBLK_OBJS(hhdr -> hb_sz)); \
-    TRACE(source, GC_log_printf("GC:%d: passed validity tests\n",GC_gc_no)); \
-    SET_MARK_BIT_EXIT_IF_SET(hhdr, high_prod, exit_label); \
-    TRACE(source, GC_log_printf("GC:%d: previously unmarked\n",GC_gc_no)); \
-    TRACE_TARGET(base, \
-	GC_log_printf("GC:%d: marking %p from %p instead\n", GC_gc_no, \
-		      base, source)); \
-    INCR_MARKS(hhdr); \
-    GC_STORE_BACK_PTR((ptr_t)source, base); \
-    PUSH_OBJ(base, hhdr, mark_stack_top, mark_stack_limit); \
-}
-#endif /* MARK_BIT_PER_OBJ */
-
-#if defined(PRINT_BLACK_LIST) || defined(KEEP_BACK_PTRS)
-#   define PUSH_ONE_CHECKED_STACK(p, source) \
-	GC_mark_and_push_stack(p, (ptr_t)(source))
-#else
-#   define PUSH_ONE_CHECKED_STACK(p, source) \
-	GC_mark_and_push_stack(p)
-#endif
-
-/*
- * Push a single value onto mark stack. Mark from the object pointed to by p.
- * Invoke FIXUP_POINTER(p) before any further processing.
- * P is considered valid even if it is an interior pointer.
- * Previously marked objects are not pushed.  Hence we make progress even
- * if the mark stack overflows.
- */
-
-# if NEED_FIXUP_POINTER
-    /* Try both the raw version and the fixed up one.	*/
-#   define GC_PUSH_ONE_STACK(p, source) \
-      if ((p) >= (ptr_t)GC_least_plausible_heap_addr 	\
-	 && (p) < (ptr_t)GC_greatest_plausible_heap_addr) {	\
-	 PUSH_ONE_CHECKED_STACK(p, source);	\
-      } \
-      FIXUP_POINTER(p); \
-      if ((p) >= (ptr_t)GC_least_plausible_heap_addr 	\
-	 && (p) < (ptr_t)GC_greatest_plausible_heap_addr) {	\
-	 PUSH_ONE_CHECKED_STACK(p, source);	\
-      }
-# else /* !NEED_FIXUP_POINTER */
-#   define GC_PUSH_ONE_STACK(p, source) \
-      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr 	\
-	 && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {	\
-	 PUSH_ONE_CHECKED_STACK(p, source);	\
-      }
-# endif
-
-
-/*
- * As above, but interior pointer recognition as for
- * normal heap pointers.
- */
-# define GC_PUSH_ONE_HEAP(p,source) \
-    FIXUP_POINTER(p); \
-    if ((p) >= (ptr_t)GC_least_plausible_heap_addr 	\
-	 && (p) < (ptr_t)GC_greatest_plausible_heap_addr) {	\
-	    GC_mark_stack_top = GC_mark_and_push( \
-			    (void *)(p), GC_mark_stack_top, \
-			    GC_mark_stack_limit, (void * *)(source)); \
-    }
-
-/* Mark starting at mark stack entry top (incl.) down to	*/
-/* mark stack entry bottom (incl.).  Stop after performing	*/
-/* about one page worth of work.  Return the new mark stack	*/
-/* top entry.							*/
-mse * GC_mark_from(mse * top, mse * bottom, mse *limit);
-
-#define MARK_FROM_MARK_STACK() \
-	GC_mark_stack_top = GC_mark_from(GC_mark_stack_top, \
-					 GC_mark_stack, \
-					 GC_mark_stack + GC_mark_stack_size);
-
-/*
- * Mark from one finalizable object using the specified
- * mark proc. May not mark the object pointed to by 
- * real_ptr. That is the job of the caller, if appropriate.
- * Note that this is called with the mutator running, but
- * with us holding the allocation lock.  This is safe only if the
- * mutator needs tha allocation lock to reveal hidden pointers.
- * FIXME: Why do we need the GC_mark_state test below?
- */
-# define GC_MARK_FO(real_ptr, mark_proc) \
-{ \
-    (*(mark_proc))(real_ptr); \
-    while (!GC_mark_stack_empty()) MARK_FROM_MARK_STACK(); \
-    if (GC_mark_state != MS_NONE) { \
-        GC_set_mark_bit(real_ptr); \
-        while (!GC_mark_some((ptr_t)0)) {} \
-    } \
-}
-
-extern GC_bool GC_mark_stack_too_small;
-				/* We need a larger mark stack.  May be	*/
-				/* set by client supplied mark routines.*/
-
-typedef int mark_state_t;	/* Current state of marking, as follows:*/
-				/* Used to remember where we are during */
-				/* concurrent marking.			*/
-
-				/* We say something is dirty if it was	*/
-				/* written since the last time we	*/
-				/* retrieved dirty bits.  We say it's 	*/
-				/* grungy if it was marked dirty in the	*/
-				/* last set of bits we retrieved.	*/
-				
-				/* Invariant I: all roots and marked	*/
-				/* objects p are either dirty, or point */
-				/* to objects q that are either marked 	*/
-				/* or a pointer to q appears in a range	*/
-				/* on the mark stack.			*/
-
-# define MS_NONE 0		/* No marking in progress. I holds.	*/
-				/* Mark stack is empty.			*/
-
-# define MS_PUSH_RESCUERS 1	/* Rescuing objects are currently 	*/
-				/* being pushed.  I holds, except	*/
-				/* that grungy roots may point to 	*/
-				/* unmarked objects, as may marked	*/
-				/* grungy objects above scan_ptr.	*/
-
-# define MS_PUSH_UNCOLLECTABLE 2
-				/* I holds, except that marked 		*/
-				/* uncollectable objects above scan_ptr */
-				/* may point to unmarked objects.	*/
-				/* Roots may point to unmarked objects	*/
-
-# define MS_ROOTS_PUSHED 3	/* I holds, mark stack may be nonempty  */
-
-# define MS_PARTIALLY_INVALID 4	/* I may not hold, e.g. because of M.S. */
-				/* overflow.  However marked heap	*/
-				/* objects below scan_ptr point to	*/
-				/* marked or stacked objects.		*/
-
-# define MS_INVALID 5		/* I may not hold.			*/
-
-extern mark_state_t GC_mark_state;
-
-#endif  /* GC_PMARK_H */
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gc_priv.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gc_priv.h
deleted file mode 100755
index 1a01da1..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gc_priv.h
+++ /dev/null
@@ -1,2040 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 1999-2004 Hewlett-Packard Development Company, L.P.
- *
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
- 
-
-# ifndef GC_PRIVATE_H
-# define GC_PRIVATE_H
-
-# include <stdlib.h>
-# if !(defined( sony_news ) )
-#   include <stddef.h>
-# endif
-
-#ifdef DGUX
-#   include <sys/types.h>
-#   include <sys/time.h>
-#   include <sys/resource.h>
-#endif /* DGUX */
-
-#ifdef BSD_TIME
-#   include <sys/types.h>
-#   include <sys/time.h>
-#   include <sys/resource.h>
-#endif /* BSD_TIME */
-
-#ifdef PARALLEL_MARK
-#   define AO_REQUIRE_CAS
-#endif
-
-#ifndef _GC_H
-#   include "../gc.h"
-#endif
-
-#ifndef GC_TINY_FL_H
-#   include "../gc_tiny_fl.h"
-#endif
-
-#ifndef GC_MARK_H
-#   include "../gc_mark.h"
-#endif
-
-typedef GC_word word;
-typedef GC_signed_word signed_word;
-typedef unsigned int unsigned32;
-
-typedef int GC_bool;
-# define TRUE 1
-# define FALSE 0
-
-typedef char * ptr_t;	/* A generic pointer to which we can add	*/
-			/* byte displacements and which can be used	*/
-			/* for address comparisons.			*/
-
-# ifndef GCCONFIG_H
-#   include "gcconfig.h"
-# endif
-
-# ifndef HEADERS_H
-#   include "gc_hdrs.h"
-# endif
-
-#if __GNUC__ >= 3
-# define EXPECT(expr, outcome) __builtin_expect(expr,outcome)
-  /* Equivalent to (expr), but predict that usually (expr)==outcome. */
-# define INLINE inline
-#else
-# define EXPECT(expr, outcome) (expr)
-# define INLINE
-#endif /* __GNUC__ */
-
-# ifndef GC_LOCKS_H
-#   include "gc_locks.h"
-# endif
-
-# ifdef STACK_GROWS_DOWN
-#   define COOLER_THAN >
-#   define HOTTER_THAN <
-#   define MAKE_COOLER(x,y) if ((x)+(y) > (x)) {(x) += (y);} \
-			    else {(x) = (ptr_t)ONES;}
-#   define MAKE_HOTTER(x,y) (x) -= (y)
-# else
-#   define COOLER_THAN <
-#   define HOTTER_THAN >
-#   define MAKE_COOLER(x,y) if ((x)-(y) < (x)) {(x) -= (y);} else {(x) = 0;}
-#   define MAKE_HOTTER(x,y) (x) += (y)
-# endif
-
-#if defined(AMIGA) && defined(__SASC)
-#   define GC_FAR __far
-#else
-#   define GC_FAR
-#endif
-
-
-/*********************************/
-/*                               */
-/* Definitions for conservative  */
-/* collector                     */
-/*                               */
-/*********************************/
-
-/*********************************/
-/*                               */
-/* Easily changeable parameters  */
-/*                               */
-/*********************************/
-
-/* #define STUBBORN_ALLOC */
-		    /* Enable stubborm allocation, and thus a limited	*/
-		    /* form of incremental collection w/o dirty bits.	*/
-
-/* #define ALL_INTERIOR_POINTERS */
-		    /* Forces all pointers into the interior of an 	*/
-		    /* object to be considered valid.  Also causes the	*/
-		    /* sizes of all objects to be inflated by at least 	*/
-		    /* one byte.  This should suffice to guarantee	*/
-		    /* that in the presence of a compiler that does	*/
-		    /* not perform garbage-collector-unsafe		*/
-		    /* optimizations, all portable, strictly ANSI	*/
-		    /* conforming C programs should be safely usable	*/
-		    /* with malloc replaced by GC_malloc and free	*/
-		    /* calls removed.  There are several disadvantages: */
-		    /* 1. There are probably no interesting, portable,	*/
-		    /*    strictly ANSI	conforming C programs.		*/
-		    /* 2. This option makes it hard for the collector	*/
-		    /*    to allocate space that is not ``pointed to''  */
-		    /*    by integers, etc.  Under SunOS 4.X with a 	*/
-		    /*    statically linked libc, we empiricaly		*/
-		    /*    observed that it would be difficult to 	*/
-		    /*	  allocate individual objects larger than 100K.	*/
-		    /* 	  Even if only smaller objects are allocated,	*/
-		    /*    more swap space is likely to be needed.       */
-		    /*    Fortunately, much of this will never be	*/
-		    /*    touched.					*/
-		    /* If you can easily avoid using this option, do.	*/
-		    /* If not, try to keep individual objects small.	*/
-		    /* This is now really controlled at startup,	*/
-		    /* through GC_all_interior_pointers.		*/
-		    
-
-#define GC_INVOKE_FINALIZERS() GC_notify_or_invoke_finalizers()
-
-#if !defined(DONT_ADD_BYTE_AT_END)
-# define EXTRA_BYTES GC_all_interior_pointers
-# define MAX_EXTRA_BYTES 1
-#else
-# define EXTRA_BYTES 0
-# define MAX_EXTRA_BYTES 0
-#endif
-
-
-# ifndef LARGE_CONFIG
-#   define MINHINCR 16	 /* Minimum heap increment, in blocks of HBLKSIZE  */
-			 /* Must be multiple of largest page size.	   */
-#   define MAXHINCR 2048 /* Maximum heap increment, in blocks              */
-# else
-#   define MINHINCR 64
-#   define MAXHINCR 4096
-# endif
-
-# define TIME_LIMIT 50	   /* We try to keep pause times from exceeding	 */
-			   /* this by much. In milliseconds.		 */
-
-# define BL_LIMIT GC_black_list_spacing
-			   /* If we need a block of N bytes, and we have */
-			   /* a block of N + BL_LIMIT bytes available, 	 */
-			   /* and N > BL_LIMIT,				 */
-			   /* but all possible positions in it are 	 */
-			   /* blacklisted, we just use it anyway (and	 */
-			   /* print a warning, if warnings are enabled). */
-			   /* This risks subsequently leaking the block	 */
-			   /* due to a false reference.  But not using	 */
-			   /* the block risks unreasonable immediate	 */
-			   /* heap growth.				 */
-
-/*********************************/
-/*                               */
-/* Stack saving for debugging	 */
-/*                               */
-/*********************************/
-
-#ifdef NEED_CALLINFO
-    struct callinfo {
-	word ci_pc;  	/* Caller, not callee, pc	*/
-#	if NARGS > 0
-	    word ci_arg[NARGS];	/* bit-wise complement to avoid retention */
-#	endif
-#	if (NFRAMES * (NARGS + 1)) % 2 == 1
-	    /* Likely alignment problem. */
-	    word ci_dummy;
-#	endif
-    };
-#endif
-
-#ifdef SAVE_CALL_CHAIN
-
-/* Fill in the pc and argument information for up to NFRAMES of my	*/
-/* callers.  Ignore my frame and my callers frame.			*/
-void GC_save_callers(struct callinfo info[NFRAMES]);
-  
-void GC_print_callers(struct callinfo info[NFRAMES]);
-
-#endif
-
-
-/*********************************/
-/*                               */
-/* OS interface routines	 */
-/*                               */
-/*********************************/
-
-#ifdef BSD_TIME
-#   undef CLOCK_TYPE
-#   undef GET_TIME
-#   undef MS_TIME_DIFF
-#   define CLOCK_TYPE struct timeval
-#   define GET_TIME(x) { struct rusage rusage; \
-			 getrusage (RUSAGE_SELF,  &rusage); \
-			 x = rusage.ru_utime; }
-#   define MS_TIME_DIFF(a,b) ((double) (a.tv_sec - b.tv_sec) * 1000.0 \
-                               + (double) (a.tv_usec - b.tv_usec) / 1000.0)
-#else /* !BSD_TIME */
-# if defined(MSWIN32) || defined(MSWINCE)
-#   include <windows.h>
-#   include <winbase.h>
-#   define CLOCK_TYPE DWORD
-#   define GET_TIME(x) x = GetTickCount()
-#   define MS_TIME_DIFF(a,b) ((long)((a)-(b)))
-# else /* !MSWIN32, !MSWINCE, !BSD_TIME */
-#   include <time.h>
-#   if !defined(__STDC__) && defined(SPARC) && defined(SUNOS4)
-      clock_t clock();	/* Not in time.h, where it belongs	*/
-#   endif
-#   if defined(FREEBSD) && !defined(CLOCKS_PER_SEC)
-#     include <machine/limits.h>
-#     define CLOCKS_PER_SEC CLK_TCK
-#   endif
-#   if !defined(CLOCKS_PER_SEC)
-#     define CLOCKS_PER_SEC 1000000
-/*
- * This is technically a bug in the implementation.  ANSI requires that
- * CLOCKS_PER_SEC be defined.  But at least under SunOS4.1.1, it isn't.
- * Also note that the combination of ANSI C and POSIX is incredibly gross
- * here. The type clock_t is used by both clock() and times().  But on
- * some machines these use different notions of a clock tick,  CLOCKS_PER_SEC
- * seems to apply only to clock.  Hence we use it here.  On many machines,
- * including SunOS, clock actually uses units of microseconds (which are
- * not really clock ticks).
- */
-#   endif
-#   define CLOCK_TYPE clock_t
-#   define GET_TIME(x) x = clock()
-#   define MS_TIME_DIFF(a,b) ((unsigned long) \
-		(1000.0*(double)((a)-(b))/(double)CLOCKS_PER_SEC))
-# endif /* !MSWIN32 */
-#endif /* !BSD_TIME */
-
-/* We use bzero and bcopy internally.  They may not be available.	*/
-# if defined(SPARC) && defined(SUNOS4)
-#   define BCOPY_EXISTS
-# endif
-# if defined(M68K) && defined(AMIGA)
-#   define BCOPY_EXISTS
-# endif
-# if defined(M68K) && defined(NEXT)
-#   define BCOPY_EXISTS
-# endif
-# if defined(VAX)
-#   define BCOPY_EXISTS
-# endif
-# if defined(AMIGA)
-#   include <string.h>
-#   define BCOPY_EXISTS
-# endif
-# if defined(DARWIN)
-#   include <string.h>
-#   define BCOPY_EXISTS
-# endif
-
-# ifndef BCOPY_EXISTS
-#   include <string.h>
-#   define BCOPY(x,y,n) memcpy(y, x, (size_t)(n))
-#   define BZERO(x,n)  memset(x, 0, (size_t)(n))
-# else
-#   define BCOPY(x,y,n) bcopy((void *)(x),(void *)(y),(size_t)(n))
-#   define BZERO(x,n) bzero((void *)(x),(size_t)(n))
-# endif
-
-/*
- * Stop and restart mutator threads.
- */
-# ifdef PCR
-#     include "th/PCR_ThCtl.h"
-#     define STOP_WORLD() \
- 	PCR_ThCtl_SetExclusiveMode(PCR_ThCtl_ExclusiveMode_stopNormal, \
- 				   PCR_allSigsBlocked, \
- 				   PCR_waitForever)
-#     define START_WORLD() \
-	PCR_ThCtl_SetExclusiveMode(PCR_ThCtl_ExclusiveMode_null, \
- 				   PCR_allSigsBlocked, \
- 				   PCR_waitForever);
-# else
-#   if defined(GC_SOLARIS_THREADS) || defined(GC_WIN32_THREADS) \
-	|| defined(GC_PTHREADS)
-      void GC_stop_world();
-      void GC_start_world();
-#     define STOP_WORLD() GC_stop_world()
-#     define START_WORLD() GC_start_world()
-#   else
-#     define STOP_WORLD()
-#     define START_WORLD()
-#   endif
-# endif
-
-/* Abandon ship */
-# ifdef PCR
-#   define ABORT(s) PCR_Base_Panic(s)
-# else
-#   ifdef SMALL_CONFIG
-#	define ABORT(msg) abort()
-#   else
-	GC_API void GC_abort(const char * msg);
-#       define ABORT(msg) GC_abort(msg)
-#   endif
-# endif
-
-/* Exit abnormally, but without making a mess (e.g. out of memory) */
-# ifdef PCR
-#   define EXIT() PCR_Base_Exit(1,PCR_waitForever)
-# else
-#   define EXIT() (void)exit(1)
-# endif
-
-/* Print warning message, e.g. almost out of memory.	*/
-# define WARN(msg,arg) (*GC_current_warn_proc)("GC Warning: " msg, (GC_word)(arg))
-extern GC_warn_proc GC_current_warn_proc;
-
-/* Get environment entry */
-#if !defined(NO_GETENV)
-#   if defined(EMPTY_GETENV_RESULTS)
-	/* Workaround for a reputed Wine bug.	*/
-	static inline char * fixed_getenv(const char *name)
-	{
-	  char * tmp = getenv(name);
-	  if (tmp == 0 || strlen(tmp) == 0)
-	    return 0;
-	  return tmp;
-	}
-#       define GETENV(name) fixed_getenv(name)
-#   else
-#       define GETENV(name) getenv(name)
-#   endif
-#else
-#   define GETENV(name) 0
-#endif
-
-#if defined(DARWIN)
-#	if defined(POWERPC)
-#		if CPP_WORDSZ == 32
-#                 define GC_THREAD_STATE_T ppc_thread_state_t
-#		  define GC_MACH_THREAD_STATE PPC_THREAD_STATE
-#		  define GC_MACH_THREAD_STATE_COUNT PPC_THREAD_STATE_COUNT
-#		  define GC_MACH_HEADER mach_header
-#		  define GC_MACH_SECTION section
-#	        else
-#                 define GC_THREAD_STATE_T ppc_thread_state64_t
-#		  define GC_MACH_THREAD_STATE PPC_THREAD_STATE64
-#		  define GC_MACH_THREAD_STATE_COUNT PPC_THREAD_STATE64_COUNT
-#		  define GC_MACH_HEADER mach_header_64
-#		  define GC_MACH_SECTION section_64
-#		endif
-#	elif defined(I386) || defined(X86_64)
-#               if CPP_WORDSZ == 32
-#		  define GC_THREAD_STATE_T x86_thread_state32_t
-#		  define GC_MACH_THREAD_STATE x86_THREAD_STATE32
-#		  define GC_MACH_THREAD_STATE_COUNT x86_THREAD_STATE32_COUNT
-#		  define GC_MACH_HEADER mach_header
-#		  define GC_MACH_SECTION section
-#               else
-#		  define GC_THREAD_STATE_T x86_thread_state64_t
-#		  define GC_MACH_THREAD_STATE x86_THREAD_STATE64
-#		  define GC_MACH_THREAD_STATE_COUNT x86_THREAD_STATE64_COUNT
-#		  define GC_MACH_HEADER mach_header_64
-#		  define GC_MACH_SECTION section_64
-#               endif
-#	else
-#		error define GC_THREAD_STATE_T
-#		define GC_MACH_THREAD_STATE MACHINE_THREAD_STATE
-#		define GC_MACH_THREAD_STATE_COUNT MACHINE_THREAD_STATE_COUNT
-#	endif
-/* Try to work out the right way to access thread state structure members.
-   The structure has changed its definition in different Darwin versions.
-   This now defaults to the (older) names without __, thus hopefully,
-   not breaking any existing Makefile.direct builds.  */
-#       if defined (HAS_PPC_THREAD_STATE___R0) \
-	  || defined (HAS_PPC_THREAD_STATE64___R0) \
-	  || defined (HAS_X86_THREAD_STATE32___EAX) \
-	  || defined (HAS_X86_THREAD_STATE64___RAX)
-#         define THREAD_FLD(x) __ ## x
-#       else
-#         define THREAD_FLD(x) x
-#       endif
-#endif
-
-/*********************************/
-/*                               */
-/* Word-size-dependent defines   */
-/*                               */
-/*********************************/
-
-#if CPP_WORDSZ == 32
-#  define WORDS_TO_BYTES(x)   ((x)<<2)
-#  define BYTES_TO_WORDS(x)   ((x)>>2)
-#  define LOGWL               ((word)5)    /* log[2] of CPP_WORDSZ */
-#  define modWORDSZ(n) ((n) & 0x1f)        /* n mod size of word	    */
-#  if ALIGNMENT != 4
-#	define UNALIGNED
-#  endif
-#endif
-
-#if CPP_WORDSZ == 64
-#  define WORDS_TO_BYTES(x)   ((x)<<3)
-#  define BYTES_TO_WORDS(x)   ((x)>>3)
-#  define LOGWL               ((word)6)    /* log[2] of CPP_WORDSZ */
-#  define modWORDSZ(n) ((n) & 0x3f)        /* n mod size of word	    */
-#  if ALIGNMENT != 8
-#	define UNALIGNED
-#  endif
-#endif
-
-/* The first TINY_FREELISTS free lists correspond to the first	*/
-/* TINY_FREELISTS multiples of GRANULE_BYTES, i.e. we keep 	*/
-/* separate free lists for each multiple of GRANULE_BYTES	*/
-/* up to (TINY_FREELISTS-1) * GRANULE_BYTES.  After that they	*/
-/* may be spread out further. 					*/
-#include "../gc_tiny_fl.h"
-#define GRANULE_BYTES GC_GRANULE_BYTES
-#define TINY_FREELISTS GC_TINY_FREELISTS
-
-#define WORDSZ ((word)CPP_WORDSZ)
-#define SIGNB  ((word)1 << (WORDSZ-1))
-#define BYTES_PER_WORD      ((word)(sizeof (word)))
-#define ONES                ((word)(signed_word)(-1))
-#define divWORDSZ(n) ((n) >> LOGWL)	   /* divide n by size of word      */
-
-#if GRANULE_BYTES == 8
-# define BYTES_TO_GRANULES(n) ((n)>>3)
-# define GRANULES_TO_BYTES(n) ((n)<<3)
-# if CPP_WORDSZ == 64
-#   define GRANULES_TO_WORDS(n) (n)
-# elif CPP_WORDSZ == 32
-#   define GRANULES_TO_WORDS(n) ((n)<<1)
-# else
-#   define GRANULES_TO_WORDS(n) BYTES_TO_WORDS(GRANULES_TO_BYTES(n))
-# endif
-#elif GRANULE_BYTES == 16
-# define BYTES_TO_GRANULES(n) ((n)>>4)
-# define GRANULES_TO_BYTES(n) ((n)<<4)
-# if CPP_WORDSZ == 64
-#   define GRANULES_TO_WORDS(n) ((n)<<1)
-# elif CPP_WORDSZ == 32
-#   define GRANULES_TO_WORDS(n) ((n)<<2)
-# else
-#   define GRANULES_TO_WORDS(n) BYTES_TO_WORDS(GRANULES_TO_BYTES(n))
-# endif
-#else
-# error Bad GRANULE_BYTES value
-#endif
-
-/*********************/
-/*                   */
-/*  Size Parameters  */
-/*                   */
-/*********************/
-
-/*  heap block size, bytes. Should be power of 2 */
-
-#ifndef HBLKSIZE
-# ifdef SMALL_CONFIG
-#   define CPP_LOG_HBLKSIZE 10
-# else
-#   if (CPP_WORDSZ == 32) || (defined(HPUX) && defined(HP_PA))
-      /* HPUX/PA seems to use 4K pages with the 64 bit ABI */
-#     define CPP_LOG_HBLKSIZE 12
-#   else
-#     define CPP_LOG_HBLKSIZE 13
-#   endif
-# endif
-#else
-# if HBLKSIZE == 512
-#   define CPP_LOG_HBLKSIZE 9
-# endif
-# if HBLKSIZE == 1024
-#   define CPP_LOG_HBLKSIZE 10
-# endif
-# if HBLKSIZE == 2048
-#   define CPP_LOG_HBLKSIZE 11
-# endif
-# if HBLKSIZE == 4096
-#   define CPP_LOG_HBLKSIZE 12
-# endif
-# if HBLKSIZE == 8192
-#   define CPP_LOG_HBLKSIZE 13
-# endif
-# if HBLKSIZE == 16384
-#   define CPP_LOG_HBLKSIZE 14
-# endif
-# ifndef CPP_LOG_HBLKSIZE
-    --> fix HBLKSIZE
-# endif
-# undef HBLKSIZE
-#endif
-# define CPP_HBLKSIZE (1 << CPP_LOG_HBLKSIZE)
-# define LOG_HBLKSIZE   ((size_t)CPP_LOG_HBLKSIZE)
-# define HBLKSIZE ((size_t)CPP_HBLKSIZE)
-
-
-/*  max size objects supported by freelist (larger objects are	*/
-/*  allocated directly with allchblk(), by rounding to the next */
-/*  multiple of HBLKSIZE.					*/
-
-#define CPP_MAXOBJBYTES (CPP_HBLKSIZE/2)
-#define MAXOBJBYTES ((size_t)CPP_MAXOBJBYTES)
-#define CPP_MAXOBJWORDS BYTES_TO_WORDS(CPP_MAXOBJBYTES)
-#define MAXOBJWORDS ((size_t)CPP_MAXOBJWORDS)
-#define CPP_MAXOBJGRANULES BYTES_TO_GRANULES(CPP_MAXOBJBYTES)
-#define MAXOBJGRANULES ((size_t)CPP_MAXOBJGRANULES)
-		
-# define divHBLKSZ(n) ((n) >> LOG_HBLKSIZE)
-
-# define HBLK_PTR_DIFF(p,q) divHBLKSZ((ptr_t)p - (ptr_t)q)
-	/* Equivalent to subtracting 2 hblk pointers.	*/
-	/* We do it this way because a compiler should	*/
-	/* find it hard to use an integer division	*/
-	/* instead of a shift.  The bundled SunOS 4.1	*/
-	/* o.w. sometimes pessimizes the subtraction to	*/
-	/* involve a call to .div.			*/
- 
-# define modHBLKSZ(n) ((n) & (HBLKSIZE-1))
- 
-# define HBLKPTR(objptr) ((struct hblk *)(((word) (objptr)) & ~(HBLKSIZE-1)))
-
-# define HBLKDISPL(objptr) (((size_t) (objptr)) & (HBLKSIZE-1))
-
-/* Round up byte allocation requests to integral number of words, etc. */
-# define ROUNDED_UP_WORDS(n) \
-	BYTES_TO_WORDS((n) + (WORDS_TO_BYTES(1) - 1 + EXTRA_BYTES))
-# define ROUNDED_UP_GRANULES(n) \
-	BYTES_TO_GRANULES((n) + (GRANULE_BYTES - 1 + EXTRA_BYTES))
-# if MAX_EXTRA_BYTES == 0
-#  define SMALL_OBJ(bytes) EXPECT((bytes) <= (MAXOBJBYTES), 1)
-# else
-#  define SMALL_OBJ(bytes) \
-	    (EXPECT((bytes) <= (MAXOBJBYTES - MAX_EXTRA_BYTES), 1) || \
-	     (bytes) <= (MAXOBJBYTES - EXTRA_BYTES))
-    	/* This really just tests bytes <= MAXOBJBYTES - EXTRA_BYTES.	*/
-    	/* But we try to avoid looking up EXTRA_BYTES.			*/
-# endif
-# define ADD_SLOP(bytes) ((bytes) + EXTRA_BYTES)
-# ifndef MIN_WORDS
-#  define MIN_WORDS 2	/* FIXME: obsolete */
-# endif
-
-
-/*
- * Hash table representation of sets of pages.
- * Implements a map from aligned HBLKSIZE chunks of the address space to one
- * bit each.
- * This assumes it is OK to spuriously set bits, e.g. because multiple
- * addresses are represented by a single location.
- * Used by black-listing code, and perhaps by dirty bit maintenance code.
- */
- 
-# ifdef LARGE_CONFIG
-#   define LOG_PHT_ENTRIES  20  /* Collisions likely at 1M blocks,	*/
-				/* which is >= 4GB.  Each table takes	*/
-				/* 128KB, some of which may never be	*/
-				/* touched.				*/
-# else
-#   ifdef SMALL_CONFIG
-#     define LOG_PHT_ENTRIES  14 /* Collisions are likely if heap grows	*/
-				 /* to more than 16K hblks = 64MB.	*/
-				 /* Each hash table occupies 2K bytes.   */
-#   else /* default "medium" configuration */
-#     define LOG_PHT_ENTRIES  16 /* Collisions are likely if heap grows	*/
-				 /* to more than 64K hblks >= 256MB.	*/
-				 /* Each hash table occupies 8K bytes.  */
-				 /* Even for somewhat smaller heaps, 	*/
-				 /* say half that, collisions may be an	*/
-				 /* issue because we blacklist 		*/
-				 /* addresses outside the heap.		*/
-#   endif
-# endif
-# define PHT_ENTRIES ((word)1 << LOG_PHT_ENTRIES)
-# define PHT_SIZE (PHT_ENTRIES >> LOGWL)
-typedef word page_hash_table[PHT_SIZE];
-
-# define PHT_HASH(addr) ((((word)(addr)) >> LOG_HBLKSIZE) & (PHT_ENTRIES - 1))
-
-# define get_pht_entry_from_index(bl, index) \
-		(((bl)[divWORDSZ(index)] >> modWORDSZ(index)) & 1)
-# define set_pht_entry_from_index(bl, index) \
-		(bl)[divWORDSZ(index)] |= (word)1 << modWORDSZ(index)
-# define clear_pht_entry_from_index(bl, index) \
-		(bl)[divWORDSZ(index)] &= ~((word)1 << modWORDSZ(index))
-/* And a dumb but thread-safe version of set_pht_entry_from_index.	*/
-/* This sets (many) extra bits.						*/
-# define set_pht_entry_from_index_safe(bl, index) \
-		(bl)[divWORDSZ(index)] = ONES
-	
-
-
-/********************************************/
-/*                                          */
-/*    H e a p   B l o c k s                 */
-/*                                          */
-/********************************************/
-
-/*  heap block header */
-#define HBLKMASK   (HBLKSIZE-1)
-
-#define MARK_BITS_PER_HBLK (HBLKSIZE/GRANULE_BYTES)
-	   /* upper bound                                    */
-	   /* We allocate 1 bit per allocation granule.	     */
-	   /* If MARK_BIT_PER_GRANULE is defined, we use     */
-	   /* every nth bit, where n is the number of 	     */
-	   /* allocation granules per object.  If	     */
-	   /* MARK_BIT_PER_OBJ is defined, we only use the   */
-   	   /* initial group of mark bits, and it is safe     */
-	   /* to allocate smaller header for large objects.  */
-
-# ifdef USE_MARK_BYTES
-#   define MARK_BITS_SZ (MARK_BITS_PER_HBLK + 1)
-	/* Unlike the other case, this is in units of bytes.		*/
-	/* Since we force doubleword alignment, we need at most one	*/
-	/* mark bit per 2 words.  But we do allocate and set one	*/
-	/* extra mark bit to avoid an explicit check for the 		*/
-	/* partial object at the end of each block.			*/
-# else
-#   define MARK_BITS_SZ (MARK_BITS_PER_HBLK/CPP_WORDSZ + 1)
-# endif
-
-#ifdef PARALLEL_MARK
-# include <atomic_ops.h>
-  typedef AO_t counter_t;
-#else
-  typedef size_t counter_t;
-#endif
-
-/* We maintain layout maps for heap blocks containing objects of a given */
-/* size.  Each entry in this map describes a byte offset and has the	 */
-/* following type.							 */
-struct hblkhdr {
-    struct hblk * hb_next; 	/* Link field for hblk free list	 */
-    				/* and for lists of chunks waiting to be */
-    				/* reclaimed.				 */
-    struct hblk * hb_prev;	/* Backwards link for free list.	*/
-    struct hblk * hb_block;	/* The corresponding block.		*/
-    unsigned char hb_obj_kind;
-    			 /* Kind of objects in the block.  Each kind 	*/
-    			 /* identifies a mark procedure and a set of 	*/
-    			 /* list headers.  Sometimes called regions.	*/
-    unsigned char hb_flags;
-#	define IGNORE_OFF_PAGE	1	/* Ignore pointers that do not	*/
-					/* point to the first page of 	*/
-					/* this object.			*/
-#	define WAS_UNMAPPED 2	/* This is a free block, which has	*/
-				/* been unmapped from the address 	*/
-				/* space.				*/
-				/* GC_remap must be invoked on it	*/
-				/* before it can be reallocated.	*/
-				/* Only set with USE_MUNMAP.		*/
-#	define FREE_BLK 4	/* Block is free, i.e. not in use.	*/
-    unsigned short hb_last_reclaimed;
-    				/* Value of GC_gc_no when block was	*/
-    				/* last allocated or swept. May wrap.   */
-				/* For a free block, this is maintained */
-				/* only for USE_MUNMAP, and indicates	*/
-				/* when the header was allocated, or	*/
-				/* when the size of the block last	*/
-				/* changed.				*/
-    size_t hb_sz;  /* If in use, size in bytes, of objects in the block. */
-		   /* if free, the size in bytes of the whole block      */
-    word hb_descr;   		/* object descriptor for marking.  See	*/
-    				/* mark.h.				*/
-#   ifdef MARK_BIT_PER_OBJ
-      unsigned32 hb_inv_sz;	/* A good upper bound for 2**32/hb_sz.	*/
-    				/* For large objects, we use		*/
-    				/* LARGE_INV_SZ.			*/
-#     define LARGE_INV_SZ (1 << 16)
-#   else
-      unsigned char hb_large_block;
-      short * hb_map;		/* Essentially a table of remainders	*/
-      				/* mod BYTES_TO_GRANULES(hb_sz), except	*/
-      				/* for large blocks.  See GC_obj_map.	*/
-#   endif
-    counter_t hb_n_marks;	/* Number of set mark bits, excluding 	*/
-    				/* the one always set at the end.	*/
-    				/* Currently it is concurrently 	*/
-    				/* updated and hence only approximate.  */
-    				/* But a zero value does guarantee that	*/
-    				/* the block contains no marked		*/
-    				/* objects.				*/
-    				/* Ensuring this property means that we	*/
-    				/* never decrement it to zero during a	*/
-    				/* collection, and hence the count may 	*/
-    				/* be one too high.  Due to concurrent	*/
-    				/* updates, an arbitrary number of	*/
-    				/* increments, but not all of them (!)	*/
-    				/* may be lost, hence it may in theory	*/
-    				/* be much too low.			*/
-    				/* The count may also be too high if	*/
-    				/* multiple mark threads mark the	*/
-    				/* same object due to a race.		*/
-    				/* Without parallel marking, the count	*/
-    				/* is accurate.				*/
-#   ifdef USE_MARK_BYTES
-      union {
-        char _hb_marks[MARK_BITS_SZ];
-			    /* The i'th byte is 1 if the object 	*/
-			    /* starting at granule i or object i is	*/
-			    /* marked, 0 o.w.				*/
-			    /* The mark bit for the "one past the	*/
-			    /* end" object is always set to avoid a 	*/
-			    /* special case test in the marker.		*/
-	word dummy;	/* Force word alignment of mark bytes. */
-      } _mark_byte_union;
-#     define hb_marks _mark_byte_union._hb_marks
-#   else
-      word hb_marks[MARK_BITS_SZ];
-#   endif /* !USE_MARK_BYTES */
-};
-
-# define ANY_INDEX 23	/* "Random" mark bit index for assertions */
-
-/*  heap block body */
-
-# define HBLK_WORDS (HBLKSIZE/sizeof(word))
-# define HBLK_GRANULES (HBLKSIZE/GRANULE_BYTES)
-
-/* The number of objects in a block dedicated to a certain size.	*/
-/* may erroneously yield zero (instead of one) for large objects.	*/
-# define HBLK_OBJS(sz_in_bytes) (HBLKSIZE/(sz_in_bytes))
-
-struct hblk {
-    char hb_body[HBLKSIZE];
-};
-
-# define HBLK_IS_FREE(hdr) (((hdr) -> hb_flags & FREE_BLK) != 0)
-
-# define OBJ_SZ_TO_BLOCKS(sz) divHBLKSZ(sz + HBLKSIZE-1)
-    /* Size of block (in units of HBLKSIZE) needed to hold objects of	*/
-    /* given sz (in bytes).						*/
-
-/* Object free list link */
-# define obj_link(p) (*(void  **)(p))
-
-# define LOG_MAX_MARK_PROCS 6
-# define MAX_MARK_PROCS (1 << LOG_MAX_MARK_PROCS)
-
-/* Root sets.  Logically private to mark_rts.c.  But we don't want the	*/
-/* tables scanned, so we put them here.					*/
-/* MAX_ROOT_SETS is the maximum number of ranges that can be 	*/
-/* registered as static roots. 					*/
-# ifdef LARGE_CONFIG
-#   define MAX_ROOT_SETS 4096
-# else
-    /* GCJ LOCAL: MAX_ROOT_SETS increased to permit more shared */
-    /* libraries to be loaded.                                  */ 
-#   define MAX_ROOT_SETS 1024
-# endif
-
-# define MAX_EXCLUSIONS (MAX_ROOT_SETS/4)
-/* Maximum number of segments that can be excluded from root sets.	*/
-
-/*
- * Data structure for excluded static roots.
- */
-struct exclusion {
-    ptr_t e_start;
-    ptr_t e_end;
-};
-
-/* Data structure for list of root sets.				*/
-/* We keep a hash table, so that we can filter out duplicate additions.	*/
-/* Under Win32, we need to do a better job of filtering overlaps, so	*/
-/* we resort to sequential search, and pay the price.			*/
-struct roots {
-	ptr_t r_start;
-	ptr_t r_end;
-#	if !defined(MSWIN32) && !defined(MSWINCE)
-	  struct roots * r_next;
-#	endif
-	GC_bool r_tmp;
-	  	/* Delete before registering new dynamic libraries */
-};
-
-#if !defined(MSWIN32) && !defined(MSWINCE)
-    /* Size of hash table index to roots.	*/
-#   define LOG_RT_SIZE 6
-#   define RT_SIZE (1 << LOG_RT_SIZE) /* Power of 2, may be != MAX_ROOT_SETS */
-#endif
-
-/* Lists of all heap blocks and free lists	*/
-/* as well as other random data structures	*/
-/* that should not be scanned by the		*/
-/* collector.					*/
-/* These are grouped together in a struct	*/
-/* so that they can be easily skipped by the	*/
-/* GC_mark routine.				*/
-/* The ordering is weird to make GC_malloc	*/
-/* faster by keeping the important fields	*/
-/* sufficiently close together that a		*/
-/* single load of a base register will do.	*/
-/* Scalars that could easily appear to		*/
-/* be pointers are also put here.		*/
-/* The main fields should precede any 		*/
-/* conditionally included fields, so that	*/
-/* gc_inl.h will work even if a different set	*/
-/* of macros is defined when the client is	*/
-/* compiled.					*/
-
-struct _GC_arrays {
-  word _heapsize;		/* Heap size in bytes.			*/
-  word _max_heapsize;
-  word _requested_heapsize;	/* Heap size due to explicit expansion */
-  ptr_t _last_heap_addr;
-  ptr_t _prev_heap_addr;
-  word _large_free_bytes;
-	/* Total bytes contained in blocks on large object free */
-	/* list.						*/
-  word _large_allocd_bytes;
-  	/* Total number of bytes in allocated large objects blocks.	*/
-  	/* For the purposes of this counter and the next one only, a 	*/
-  	/* large object is one that occupies a block of at least	*/
-  	/* 2*HBLKSIZE.							*/
-  word _max_large_allocd_bytes;
-  	/* Maximum number of bytes that were ever allocated in		*/
-  	/* large object blocks.  This is used to help decide when it	*/
-  	/* is safe to split up a large block.				*/
-  word _bytes_allocd_before_gc;
-		/* Number of words allocated before this	*/
-		/* collection cycle.				*/
-# ifndef SEPARATE_GLOBALS
-    word _bytes_allocd;
-  	/* Number of words allocated during this collection cycle */
-# endif
-  word _bytes_finalized;
-  	/* Approximate number of bytes in objects (and headers)	*/
-  	/* That became ready for finalization in the last 	*/
-  	/* collection.						*/
-  word _non_gc_bytes_at_gc;
-  	/* Number of explicitly managed bytes of storage 	*/
-  	/* at last collection.					*/
-  word _bytes_freed;
-  	/* Number of explicitly deallocated bytes of memory	*/
-  	/* since last collection.				*/
-  word _finalizer_bytes_freed;
-  	/* Bytes of memory explicitly deallocated while 	*/
-  	/* finalizers were running.  Used to approximate mem.	*/
-  	/* explicitly deallocated by finalizers.		*/
-  ptr_t _scratch_end_ptr;
-  ptr_t _scratch_last_end_ptr;
-	/* Used by headers.c, and can easily appear to point to	*/
-	/* heap.						*/
-  GC_mark_proc _mark_procs[MAX_MARK_PROCS];
-  	/* Table of user-defined mark procedures.  There is	*/
-	/* a small number of these, which can be referenced	*/
-	/* by DS_PROC mark descriptors.  See gc_mark.h.		*/
-
-# ifndef SEPARATE_GLOBALS
-    void *_objfreelist[MAXOBJGRANULES+1];
-			  /* free list for objects */
-    void *_aobjfreelist[MAXOBJGRANULES+1];
-			  /* free list for atomic objs 	*/
-# endif
-
-  void *_uobjfreelist[MAXOBJGRANULES+1];
-			  /* uncollectable but traced objs 	*/
-			  /* objects on this and auobjfreelist  */
-			  /* are always marked, except during   */
-			  /* garbage collections.		*/
-# ifdef ATOMIC_UNCOLLECTABLE
-    void *_auobjfreelist[MAXOBJGRANULES+1];
-# endif
-			  /* uncollectable but traced objs 	*/
-
-    word _composite_in_use;
-   		/* Number of words in accessible composite	*/
-		/* objects.					*/
-    word _atomic_in_use;
-   		/* Number of words in accessible atomic		*/
-		/* objects.					*/
-# ifdef USE_MUNMAP
-    word _unmapped_bytes;
-# endif
-
-    size_t _size_map[MAXOBJBYTES+1];
-    	/* Number of words to allocate for a given allocation request in */
-    	/* bytes.							 */
-
-# ifdef STUBBORN_ALLOC
-    ptr_t _sobjfreelist[MAXOBJGRANULES+1];
-# endif
-  			  /* free list for immutable objects	*/
-# ifdef MARK_BIT_PER_GRANULE
-    short * _obj_map[MAXOBJGRANULES+1];
-                       /* If not NIL, then a pointer to a map of valid  */
-    		       /* object addresses.				*/
-		       /* _obj_map[sz_in_granules][i] is 		*/
-  		       /* i % sz_in_granules.				*/
-  		       /* This is now used purely to replace a 		*/
-  		       /* division in the marker by a table lookup.	*/
-    		       /* _obj_map[0] is used for large objects and	*/
-    		       /* contains all nonzero entries.  This gets us	*/
-    		       /* out of the marker fast path without an extra 	*/
-    		       /* test.						*/
-#   define MAP_LEN BYTES_TO_GRANULES(HBLKSIZE)
-# endif
-#   define VALID_OFFSET_SZ HBLKSIZE
-  char _valid_offsets[VALID_OFFSET_SZ];
-				/* GC_valid_offsets[i] == TRUE ==> i 	*/
-				/* is registered as a displacement.	*/
-  char _modws_valid_offsets[sizeof(word)];
-				/* GC_valid_offsets[i] ==>		  */
-				/* GC_modws_valid_offsets[i%sizeof(word)] */
-# ifdef STUBBORN_ALLOC
-    page_hash_table _changed_pages;
-        /* Stubborn object pages that were changes since last call to	*/
-	/* GC_read_changed.						*/
-    page_hash_table _prev_changed_pages;
-        /* Stubborn object pages that were changes before last call to	*/
-	/* GC_read_changed.						*/
-# endif
-# if defined(PROC_VDB) || defined(MPROTECT_VDB) || \
-     defined(GWW_VDB) || defined(MANUAL_VDB)
-    page_hash_table _grungy_pages; /* Pages that were dirty at last 	   */
-				     /* GC_read_dirty.			   */
-# endif
-# if defined(MPROTECT_VDB) || defined(MANUAL_VDB)
-    volatile page_hash_table _dirty_pages;	
-			/* Pages dirtied since last GC_read_dirty. */
-# endif
-# if defined(PROC_VDB) || defined(GWW_VDB)
-    page_hash_table _written_pages;	/* Pages ever dirtied	*/
-# endif
-# ifdef LARGE_CONFIG
-#   if CPP_WORDSZ > 32
-#     define MAX_HEAP_SECTS 4096 	/* overflows at roughly 64 GB	   */
-#   else
-#     define MAX_HEAP_SECTS 768		/* Separately added heap sections. */
-#   endif
-# else
-#   ifdef SMALL_CONFIG
-#     define MAX_HEAP_SECTS 128		/* Roughly 256MB (128*2048*1K)	*/
-#   else
-#     define MAX_HEAP_SECTS 384		/* Roughly 3GB			*/
-#   endif
-# endif
-  struct HeapSect {
-      ptr_t hs_start; size_t hs_bytes;
-  } _heap_sects[MAX_HEAP_SECTS];
-# if defined(MSWIN32) || defined(MSWINCE)
-    ptr_t _heap_bases[MAX_HEAP_SECTS];
-    		/* Start address of memory regions obtained from kernel. */
-# endif
-# ifdef MSWINCE
-    word _heap_lengths[MAX_HEAP_SECTS];
-    		/* Commited lengths of memory regions obtained from kernel. */
-# endif
-  struct roots _static_roots[MAX_ROOT_SETS];
-# if !defined(MSWIN32) && !defined(MSWINCE)
-    struct roots * _root_index[RT_SIZE];
-# endif
-  struct exclusion _excl_table[MAX_EXCLUSIONS];
-  /* Block header index; see gc_headers.h */
-  bottom_index * _all_nils;
-  bottom_index * _top_index [TOP_SZ];
-#ifdef ENABLE_TRACE
-  ptr_t _trace_addr;
-#endif
-#ifdef SAVE_CALL_CHAIN
-  struct callinfo _last_stack[NFRAMES];	/* Stack at last garbage collection.*/
-  					/* Useful for debugging	mysterious  */
-  					/* object disappearances.	    */
-  					/* In the multithreaded case, we    */
-  					/* currently only save the calling  */
-  					/* stack.			    */
-#endif
-};
-
-GC_API GC_FAR struct _GC_arrays GC_arrays; 
-
-# ifndef SEPARATE_GLOBALS
-#   define GC_objfreelist GC_arrays._objfreelist
-#   define GC_aobjfreelist GC_arrays._aobjfreelist
-#   define GC_bytes_allocd GC_arrays._bytes_allocd
-# endif
-# define GC_uobjfreelist GC_arrays._uobjfreelist
-# ifdef ATOMIC_UNCOLLECTABLE
-#   define GC_auobjfreelist GC_arrays._auobjfreelist
-# endif
-# define GC_sobjfreelist GC_arrays._sobjfreelist
-# define GC_valid_offsets GC_arrays._valid_offsets
-# define GC_modws_valid_offsets GC_arrays._modws_valid_offsets
-# ifdef STUBBORN_ALLOC
-#    define GC_changed_pages GC_arrays._changed_pages
-#    define GC_prev_changed_pages GC_arrays._prev_changed_pages
-# endif
-# ifdef MARK_BIT_PER_GRANULE
-#   define GC_obj_map GC_arrays._obj_map
-# endif
-# define GC_last_heap_addr GC_arrays._last_heap_addr
-# define GC_prev_heap_addr GC_arrays._prev_heap_addr
-# define GC_large_free_bytes GC_arrays._large_free_bytes
-# define GC_large_allocd_bytes GC_arrays._large_allocd_bytes
-# define GC_max_large_allocd_bytes GC_arrays._max_large_allocd_bytes
-# define GC_bytes_finalized GC_arrays._bytes_finalized
-# define GC_non_gc_bytes_at_gc GC_arrays._non_gc_bytes_at_gc
-# define GC_bytes_freed GC_arrays._bytes_freed
-# define GC_finalizer_bytes_freed GC_arrays._finalizer_bytes_freed
-# define GC_scratch_end_ptr GC_arrays._scratch_end_ptr
-# define GC_scratch_last_end_ptr GC_arrays._scratch_last_end_ptr
-# define GC_mark_procs GC_arrays._mark_procs
-# define GC_heapsize GC_arrays._heapsize
-# define GC_max_heapsize GC_arrays._max_heapsize
-# define GC_requested_heapsize GC_arrays._requested_heapsize
-# define GC_bytes_allocd_before_gc GC_arrays._bytes_allocd_before_gc
-# define GC_heap_sects GC_arrays._heap_sects
-# define GC_last_stack GC_arrays._last_stack
-#ifdef ENABLE_TRACE
-#define GC_trace_addr GC_arrays._trace_addr
-#endif
-# ifdef USE_MUNMAP
-#   define GC_unmapped_bytes GC_arrays._unmapped_bytes
-# endif
-# if defined(MSWIN32) || defined(MSWINCE)
-#   define GC_heap_bases GC_arrays._heap_bases
-# endif
-# ifdef MSWINCE
-#   define GC_heap_lengths GC_arrays._heap_lengths
-# endif
-# define GC_static_roots GC_arrays._static_roots
-# define GC_root_index GC_arrays._root_index
-# define GC_excl_table GC_arrays._excl_table
-# define GC_all_nils GC_arrays._all_nils
-# define GC_top_index GC_arrays._top_index
-# if defined(PROC_VDB) || defined(MPROTECT_VDB) || \
-     defined(GWW_VDB) || defined(MANUAL_VDB)
-#   define GC_grungy_pages GC_arrays._grungy_pages
-# endif
-# if defined(MPROTECT_VDB) || defined(MANUAL_VDB)
-#   define GC_dirty_pages GC_arrays._dirty_pages
-# endif
-# if defined(PROC_VDB) || defined(GWW_VDB)
-#   define GC_written_pages GC_arrays._written_pages
-# endif
-# define GC_composite_in_use GC_arrays._composite_in_use
-# define GC_atomic_in_use GC_arrays._atomic_in_use
-# define GC_size_map GC_arrays._size_map
-
-# define beginGC_arrays ((ptr_t)(&GC_arrays))
-# define endGC_arrays (((ptr_t)(&GC_arrays)) + (sizeof GC_arrays))
-
-#define USED_HEAP_SIZE (GC_heapsize - GC_large_free_bytes)
-
-/* Object kinds: */
-# define MAXOBJKINDS 16
-
-extern struct obj_kind {
-   void **ok_freelist;	/* Array of free listheaders for this kind of object */
-   			/* Point either to GC_arrays or to storage allocated */
-   			/* with GC_scratch_alloc.			     */
-   struct hblk **ok_reclaim_list;
-   			/* List headers for lists of blocks waiting to be */
-   			/* swept.					  */
-   			/* Indexed by object size in granules.		  */
-   word ok_descriptor;  /* Descriptor template for objects in this	*/
-   			/* block.					*/
-   GC_bool ok_relocate_descr;
-   			/* Add object size in bytes to descriptor 	*/
-   			/* template to obtain descriptor.  Otherwise	*/
-   			/* template is used as is.			*/
-   GC_bool ok_init;   /* Clear objects before putting them on the free list. */
-} GC_obj_kinds[MAXOBJKINDS];
-
-# define beginGC_obj_kinds ((ptr_t)(&GC_obj_kinds))
-# define endGC_obj_kinds (beginGC_obj_kinds + (sizeof GC_obj_kinds))
-
-/* Variables that used to be in GC_arrays, but need to be accessed by 	*/
-/* inline allocation code.  If they were in GC_arrays, the inlined 	*/
-/* allocation code would include GC_arrays offsets (as it did), which	*/
-/* introduce maintenance problems.					*/
-
-#ifdef SEPARATE_GLOBALS
-  word GC_bytes_allocd;
-  	/* Number of words allocated during this collection cycle */
-  ptr_t GC_objfreelist[MAXOBJGRANULES+1];
-			  /* free list for NORMAL objects */
-# define beginGC_objfreelist ((ptr_t)(&GC_objfreelist))
-# define endGC_objfreelist (beginGC_objfreelist + sizeof(GC_objfreelist))
-
-  ptr_t GC_aobjfreelist[MAXOBJGRANULES+1];
-			  /* free list for atomic (PTRFREE) objs 	*/
-# define beginGC_aobjfreelist ((ptr_t)(&GC_aobjfreelist))
-# define endGC_aobjfreelist (beginGC_aobjfreelist + sizeof(GC_aobjfreelist))
-#endif
-
-/* Predefined kinds: */
-# define PTRFREE 0
-# define NORMAL  1
-# define UNCOLLECTABLE 2
-# ifdef ATOMIC_UNCOLLECTABLE
-#   define AUNCOLLECTABLE 3
-#   define STUBBORN 4
-#   define IS_UNCOLLECTABLE(k) (((k) & ~1) == UNCOLLECTABLE)
-# else
-#   define STUBBORN 3
-#   define IS_UNCOLLECTABLE(k) ((k) == UNCOLLECTABLE)
-# endif
-
-extern unsigned GC_n_kinds;
-
-GC_API word GC_fo_entries;
-
-extern word GC_n_heap_sects;	/* Number of separately added heap	*/
-				/* sections.				*/
-
-extern word GC_page_size;
-
-# if defined(MSWIN32) || defined(MSWINCE)
-  struct _SYSTEM_INFO;
-  extern struct _SYSTEM_INFO GC_sysinfo;
-  extern word GC_n_heap_bases;	/* See GC_heap_bases.	*/
-# endif
-
-extern word GC_total_stack_black_listed;
-			/* Number of bytes on stack blacklist. 	*/
-
-extern word GC_black_list_spacing;
-			/* Average number of bytes between blacklisted	*/
-			/* blocks. Approximate.				*/
-			/* Counts only blocks that are 			*/
-			/* "stack-blacklisted", i.e. that are 		*/
-			/* problematic in the interior of an object.	*/
-
-extern struct hblk * GC_hblkfreelist[];
-				/* List of completely empty heap blocks	*/
-				/* Linked through hb_next field of 	*/
-				/* header structure associated with	*/
-				/* block.				*/
-
-extern GC_bool GC_objects_are_marked;	/* There are marked objects in  */
-					/* the heap.			*/
-
-#ifndef SMALL_CONFIG
-  extern GC_bool GC_incremental;
-			/* Using incremental/generational collection. */
-# define TRUE_INCREMENTAL \
-	(GC_incremental && GC_time_limit != GC_TIME_UNLIMITED)
-	/* True incremental, not just generational, mode */
-#else
-# define GC_incremental FALSE
-			/* Hopefully allow optimizer to remove some code. */
-# define TRUE_INCREMENTAL FALSE
-#endif
-
-extern GC_bool GC_dirty_maintained;
-				/* Dirty bits are being maintained, 	*/
-				/* either for incremental collection,	*/
-				/* or to limit the root set.		*/
-
-extern word GC_root_size;	/* Total size of registered root sections */
-
-extern GC_bool GC_debugging_started;	/* GC_debug_malloc has been called. */ 
-
-extern long GC_large_alloc_warn_interval;
-	/* Interval between unsuppressed warnings.	*/
-
-extern long GC_large_alloc_warn_suppressed;
-	/* Number of warnings suppressed so far.	*/
-
-#ifdef THREADS
-  extern GC_bool GC_world_stopped;
-#endif
-
-/* Operations */
-# ifndef abs
-#   define abs(x)  ((x) < 0? (-(x)) : (x))
-# endif
-
-
-/*  Marks are in a reserved area in                          */
-/*  each heap block.  Each word has one mark bit associated  */
-/*  with it. Only those corresponding to the beginning of an */
-/*  object are used.                                         */
-
-/* Set mark bit correctly, even if mark bits may be concurrently 	*/
-/* accessed.								*/
-#ifdef PARALLEL_MARK
-# define OR_WORD(addr, bits) \
-	{ AO_or((volatile AO_t *)(addr), (AO_t)bits); }
-#else
-# define OR_WORD(addr, bits) *(addr) |= (bits)
-#endif
-
-/* Mark bit operations */
-
-/*
- * Retrieve, set, clear the nth mark bit in a given heap block.
- *
- * (Recall that bit n corresponds to nth object or allocation granule
- * relative to the beginning of the block, including unused words)
- */
-
-#ifdef USE_MARK_BYTES
-# define mark_bit_from_hdr(hhdr,n) ((hhdr)->hb_marks[n])
-# define set_mark_bit_from_hdr(hhdr,n) ((hhdr)->hb_marks[n]) = 1
-# define clear_mark_bit_from_hdr(hhdr,n) ((hhdr)->hb_marks[n]) = 0
-#else /* !USE_MARK_BYTES */
-# define mark_bit_from_hdr(hhdr,n) (((hhdr)->hb_marks[divWORDSZ(n)] \
-			    >> (modWORDSZ(n))) & (word)1)
-# define set_mark_bit_from_hdr(hhdr,n) \
-			    OR_WORD((hhdr)->hb_marks+divWORDSZ(n), \
-				    (word)1 << modWORDSZ(n))
-# define clear_mark_bit_from_hdr(hhdr,n) (hhdr)->hb_marks[divWORDSZ(n)] \
-				&= ~((word)1 << modWORDSZ(n))
-#endif /* !USE_MARK_BYTES */
-
-#ifdef MARK_BIT_PER_OBJ
-#  define MARK_BIT_NO(offset, sz) (((unsigned)(offset))/(sz))
-	/* Get the mark bit index corresponding to the given byte	*/
-	/* offset and size (in bytes). 				        */
-#  define MARK_BIT_OFFSET(sz) 1
-	/* Spacing between useful mark bits.				*/
-#  define IF_PER_OBJ(x) x
-#  define FINAL_MARK_BIT(sz) ((sz) > MAXOBJBYTES? 1 : HBLK_OBJS(sz))
-	/* Position of final, always set, mark bit.			*/
-#else /* MARK_BIT_PER_GRANULE */
-#  define MARK_BIT_NO(offset, sz) BYTES_TO_GRANULES((unsigned)(offset))
-#  define MARK_BIT_OFFSET(sz) BYTES_TO_GRANULES(sz)
-#  define IF_PER_OBJ(x)
-#  define FINAL_MARK_BIT(sz) \
-	((sz) > MAXOBJBYTES? MARK_BITS_PER_HBLK \
-	 		: BYTES_TO_GRANULES(sz * HBLK_OBJS(sz)))
-#endif
-
-/* Important internal collector routines */
-
-ptr_t GC_approx_sp(void);
-  
-GC_bool GC_should_collect(void);
-  
-void GC_apply_to_all_blocks(void (*fn) (struct hblk *h, word client_data),
-    			    word client_data);
-  			/* Invoke fn(hbp, client_data) for each 	*/
-  			/* allocated heap block.			*/
-struct hblk * GC_next_used_block(struct hblk * h);
-  			/* Return first in-use block >= h	*/
-struct hblk * GC_prev_block(struct hblk * h);
-  			/* Return last block <= h.  Returned block	*/
-  			/* is managed by GC, but may or may not be in	*/
-			/* use.						*/
-void GC_mark_init(void);
-void GC_clear_marks(void);	/* Clear mark bits for all heap objects. */
-void GC_invalidate_mark_state(void);
-					/* Tell the marker that	marked 	   */
-  					/* objects may point to	unmarked   */
-  					/* ones, and roots may point to	   */
-  					/* unmarked objects.		   */
-  					/* Reset mark stack.		   */
-GC_bool GC_mark_stack_empty(void);
-GC_bool GC_mark_some(ptr_t cold_gc_frame);
-  			/* Perform about one pages worth of marking	*/
-  			/* work of whatever kind is needed.  Returns	*/
-  			/* quickly if no collection is in progress.	*/
-  			/* Return TRUE if mark phase finished.		*/
-void GC_initiate_gc(void);
-				/* initiate collection.			*/
-  				/* If the mark state is invalid, this	*/
-  				/* becomes full colleection.  Otherwise */
-  				/* it's partial.			*/
-void GC_push_all(ptr_t bottom, ptr_t top);
-				/* Push everything in a range 		*/
-  				/* onto mark stack.			*/
-void GC_push_selected(ptr_t bottom, ptr_t top,
-		      int (*dirty_fn) (struct hblk *h),
-		      void (*push_fn) (ptr_t bottom, ptr_t top) );
-				  /* Push all pages h in [b,t) s.t. 	*/
-				  /* select_fn(h) != 0 onto mark stack. */
-#ifndef SMALL_CONFIG
-  void GC_push_conditional (ptr_t b, ptr_t t, GC_bool all);
-#else
-# define GC_push_conditional(b, t, all) GC_push_all(b, t)
-#endif
-                                /* Do either of the above, depending	*/
-				/* on the third arg.			*/
-void GC_push_all_stack (ptr_t b, ptr_t t);
-				    /* As above, but consider		*/
-				    /*  interior pointers as valid  	*/
-void GC_push_all_eager (ptr_t b, ptr_t t);
-				    /* Same as GC_push_all_stack, but   */
-				    /* ensures that stack is scanned	*/
-				    /* immediately, not just scheduled  */
-				    /* for scanning.			*/
-#ifndef THREADS
-  void GC_push_all_stack_partially_eager(ptr_t bottom, ptr_t top,
-		  			 ptr_t cold_gc_frame);
-			/* Similar to GC_push_all_eager, but only the	*/
-			/* part hotter than cold_gc_frame is scanned	*/
-			/* immediately.  Needed to ensure that callee-	*/
-			/* save registers are not missed.		*/
-#else
-  /* In the threads case, we push part of the current thread stack	*/
-  /* with GC_push_all_eager when we push the registers.  This gets the  */
-  /* callee-save registers that may disappear.  The remainder of the	*/
-  /* stacks are scheduled for scanning in *GC_push_other_roots, which	*/
-  /* is thread-package-specific.					*/
-#endif
-void GC_push_current_stack(ptr_t cold_gc_frame, void *context);
-  			/* Push enough of the current stack eagerly to	*/
-  			/* ensure that callee-save registers saved in	*/
-  			/* GC frames are scanned.			*/
-  			/* In the non-threads case, schedule entire	*/
-  			/* stack for scanning.				*/
-			/* The second argument is a pointer to the 	*/
-			/* (possibly null) thread context, for		*/
-			/* (currently hypothetical) more precise	*/
-			/* stack scanning.				*/
-void GC_push_roots(GC_bool all, ptr_t cold_gc_frame);
-  			/* Push all or dirty roots.	*/
-extern void (*GC_push_other_roots)(void);
-  			/* Push system or application specific roots	*/
-  			/* onto the mark stack.  In some environments	*/
-  			/* (e.g. threads environments) this is		*/
-  			/* predfined to be non-zero.  A client supplied */
-  			/* replacement should also call the original	*/
-  			/* function.					*/
-extern void GC_push_gc_structures(void);
-			/* Push GC internal roots.  These are normally	*/
-			/* included in the static data segment, and 	*/
-			/* Thus implicitly pushed.  But we must do this	*/
-			/* explicitly if normal root processing is 	*/
-			/* disabled.  Calls the following:		*/
-	extern void GC_push_finalizer_structures(void);
-	extern void GC_push_stubborn_structures (void);
-#	ifdef THREADS
-	  extern void GC_push_thread_structures (void);
-#	endif
-extern void (*GC_start_call_back) (void);
-  			/* Called at start of full collections.		*/
-  			/* Not called if 0.  Called with allocation 	*/
-  			/* lock held.					*/
-  			/* 0 by default.				*/
-void GC_push_regs_and_stack(ptr_t cold_gc_frame);
-
-void GC_push_regs(void);
-
-void GC_with_callee_saves_pushed(void (*fn)(ptr_t, void *),
-				 ptr_t arg);
-
-# if defined(SPARC) || defined(IA64)
-  /* Cause all stacked registers to be saved in memory.  Return a	*/
-  /* pointer to the top of the corresponding memory stack.		*/
-  ptr_t GC_save_regs_in_stack(void);
-# endif
-			/* Push register contents onto mark stack.	*/
-  			/* If NURSERY is defined, the default push	*/
-  			/* action can be overridden with GC_push_proc	*/
-
-# ifdef NURSERY
-    extern void (*GC_push_proc)(ptr_t);
-# endif
-# if defined(MSWIN32) || defined(MSWINCE)
-  void __cdecl GC_push_one(word p);
-# else
-  void GC_push_one(word p);
-			      /* If p points to an object, mark it    */
-                              /* and push contents on the mark stack  */
-  			      /* Pointer recognition test always      */
-  			      /* accepts interior pointers, i.e. this */
-  			      /* is appropriate for pointers found on */
-  			      /* stack.				      */
-# endif
-# if defined(PRINT_BLACK_LIST) || defined(KEEP_BACK_PTRS)
-  void GC_mark_and_push_stack(ptr_t p, ptr_t source);
-				/* Ditto, omits plausibility test	*/
-# else
-  void GC_mark_and_push_stack(ptr_t p);
-# endif
-void GC_push_marked(struct hblk * h, hdr * hhdr);
-		/* Push contents of all marked objects in h onto	*/
-		/* mark stack.						*/
-#ifdef SMALL_CONFIG
-# define GC_push_next_marked_dirty(h) GC_push_next_marked(h)
-#else
-  struct hblk * GC_push_next_marked_dirty(struct hblk * h);
-		/* Invoke GC_push_marked on next dirty block above h.	*/
-		/* Return a pointer just past the end of this block.	*/
-#endif /* !SMALL_CONFIG */
-struct hblk * GC_push_next_marked(struct hblk * h);
-  		/* Ditto, but also mark from clean pages.	*/
-struct hblk * GC_push_next_marked_uncollectable(struct hblk * h);
-  		/* Ditto, but mark only from uncollectable pages.	*/
-GC_bool GC_stopped_mark(GC_stop_func stop_func);
- 			/* Stop world and mark from all roots	*/
-  			/* and rescuers.			*/
-void GC_clear_hdr_marks(hdr * hhdr);
-				    /* Clear the mark bits in a header */
-void GC_set_hdr_marks(hdr * hhdr);
- 				    /* Set the mark bits in a header */
-void GC_set_fl_marks(ptr_t p);
-				    /* Set all mark bits associated with */
-				    /* a free list.			 */
-#ifdef GC_ASSERTIONS
-  void GC_check_fl_marks(ptr_t p);
-				    /* Check that  all mark bits	*/
-  				    /* associated with a free list are  */
-  				    /* set.  Abort if not.		*/
-#endif
-void GC_add_roots_inner(ptr_t b, ptr_t e, GC_bool tmp);
-void GC_remove_roots_inner(ptr_t b, ptr_t e);
-GC_bool GC_is_static_root(ptr_t p);
-  		/* Is the address p in one of the registered static	*/
-  		/* root sections?					*/
-# if defined(MSWIN32) || defined(_WIN32_WCE_EMULATION)
-GC_bool GC_is_tmp_root(ptr_t p);
-		/* Is the address p in one of the temporary static	*/
-		/* root sections?					*/
-# endif
-void GC_register_dynamic_libraries(void);
-  		/* Add dynamic library data sections to the root set. */
-void GC_cond_register_dynamic_libraries(void);
-  		/* Remove and reregister dynamic libraries if we're	*/
-		/* configured to do that at each GC.			*/
-
-GC_bool GC_register_main_static_data(void);
-		/* We need to register the main data segment.  Returns	*/
-		/* TRUE unless this is done implicitly as part of	*/
-		/* dynamic library registration.			*/
-  
-/* Machine dependent startup routines */
-ptr_t GC_get_main_stack_base(void);	/* Cold end of stack */
-#ifdef IA64
-  ptr_t GC_get_register_stack_base(void);
-  					/* Cold end of register stack.	*/
-#endif
-void GC_register_data_segments(void);
-  
-/* Black listing: */
-void GC_bl_init(void);
-# ifdef PRINT_BLACK_LIST
-      void GC_add_to_black_list_normal(word p, ptr_t source);
-			/* Register bits as a possible future false	*/
-			/* reference from the heap or static data	*/
-#     define GC_ADD_TO_BLACK_LIST_NORMAL(bits, source) \
-      		if (GC_all_interior_pointers) { \
-		  GC_add_to_black_list_stack((word)(bits), (source)); \
-		} else { \
-  		  GC_add_to_black_list_normal((word)(bits), (source)); \
-		}
-# else
-      void GC_add_to_black_list_normal(word p);
-#     define GC_ADD_TO_BLACK_LIST_NORMAL(bits, source) \
-      		if (GC_all_interior_pointers) { \
-		  GC_add_to_black_list_stack((word)(bits)); \
-		} else { \
-  		  GC_add_to_black_list_normal((word)(bits)); \
-		}
-# endif
-
-# ifdef PRINT_BLACK_LIST
-    void GC_add_to_black_list_stack(word p, ptr_t source);
-#   define GC_ADD_TO_BLACK_LIST_STACK(bits, source) \
-	    GC_add_to_black_list_stack((word)(bits), (source))
-# else
-    void GC_add_to_black_list_stack(word p);
-#   define GC_ADD_TO_BLACK_LIST_STACK(bits, source) \
-	    GC_add_to_black_list_stack((word)(bits))
-# endif
-struct hblk * GC_is_black_listed(struct hblk * h, word len);
-  			/* If there are likely to be false references	*/
-  			/* to a block starting at h of the indicated    */
-  			/* length, then return the next plausible	*/
-  			/* starting location for h that might avoid	*/
-  			/* these false references.			*/
-void GC_promote_black_lists(void);
-  			/* Declare an end to a black listing phase.	*/
-void GC_unpromote_black_lists(void);
-  			/* Approximately undo the effect of the above.	*/
-  			/* This actually loses some information, but	*/
-  			/* only in a reasonably safe way.		*/
-word GC_number_stack_black_listed(struct hblk *start, struct hblk *endp1);
-  			/* Return the number of (stack) blacklisted	*/
-  			/* blocks in the range for statistical		*/
-  			/* purposes.					*/
-  		 	
-ptr_t GC_scratch_alloc(size_t bytes);
-  				/* GC internal memory allocation for	*/
-  				/* small objects.  Deallocation is not  */
-  				/* possible.				*/
-  	
-/* Heap block layout maps: */			
-GC_bool GC_add_map_entry(size_t sz);
-  				/* Add a heap block map for objects of	*/
-  				/* size sz to obj_map.			*/
-  				/* Return FALSE on failure.		*/
-void GC_register_displacement_inner(size_t offset);
-  				/* Version of GC_register_displacement	*/
-  				/* that assumes lock is already held	*/
-  				/* and signals are already disabled.	*/
-
-void GC_initialize_offsets(void);
-				/* Initialize GC_valid_offsets,		*/
-				/* depending on current 		*/
-				/* GC_all_interior_pointers settings.	*/
-  
-/*  hblk allocation: */		
-void GC_new_hblk(size_t size_in_granules, int kind);
-  				/* Allocate a new heap block, and build */
-  				/* a free list in it.			*/				
-
-ptr_t GC_build_fl(struct hblk *h, size_t words, GC_bool clear, ptr_t list);
-				/* Build a free list for objects of 	*/
-				/* size sz in block h.  Append list to	*/
-				/* end of the free lists.  Possibly	*/
-				/* clear objects on the list.  Normally	*/
-				/* called by GC_new_hblk, but also	*/
-				/* called explicitly without GC lock.	*/
-
-struct hblk * GC_allochblk (size_t size_in_bytes, int kind,
-		            unsigned flags);
-				/* Allocate a heap block, inform	*/
-				/* the marker that block is valid	*/
-				/* for objects of indicated size.	*/
-
-ptr_t GC_alloc_large (size_t lb, int k, unsigned flags);
-			/* Allocate a large block of size lb bytes.	*/
-			/* The block is not cleared.			*/
-			/* Flags is 0 or IGNORE_OFF_PAGE.		*/
-			/* Calls GC_allchblk to do the actual 		*/
-			/* allocation, but also triggers GC and/or	*/
-			/* heap expansion as appropriate.		*/
-			/* Does not update GC_bytes_allocd, but does	*/
-			/* other accounting.				*/
-
-ptr_t GC_alloc_large_and_clear(size_t lb, int k, unsigned flags);
-			/* As above, but clear block if appropriate	*/
-			/* for kind k.					*/
-
-void GC_freehblk(struct hblk * p);
-				/* Deallocate a heap block and mark it  */
-  				/* as invalid.				*/
-  				
-/*  Misc GC: */
-void GC_init_inner(void);
-GC_bool GC_expand_hp_inner(word n);
-void GC_start_reclaim(int abort_if_found);
-  				/* Restore unmarked objects to free	*/
-  				/* lists, or (if abort_if_found is	*/
-  				/* TRUE) report them.			*/
-  				/* Sweeping of small object pages is	*/
-  				/* largely deferred.			*/
-void GC_continue_reclaim(size_t sz, int kind);
-  				/* Sweep pages of the given size and	*/
-  				/* kind, as long as possible, and	*/
-  				/* as long as the corr. free list is    */
-  				/* empty.  Sz is in granules.		*/
-void GC_reclaim_or_delete_all(void);
-  				/* Arrange for all reclaim lists to be	*/
-  				/* empty.  Judiciously choose between	*/
-  				/* sweeping and discarding each page.	*/
-GC_bool GC_reclaim_all(GC_stop_func stop_func, GC_bool ignore_old);
-  				/* Reclaim all blocks.  Abort (in a	*/
-  				/* consistent state) if f returns TRUE. */
-ptr_t GC_reclaim_generic(struct hblk * hbp, hdr *hhdr, size_t sz,
-			 GC_bool init, ptr_t list, signed_word *count);
-			 	/* Rebuild free list in hbp with 	*/
-				/* header hhdr, with objects of size sz */
-				/* bytes.  Add list to the end of the	*/
-				/* free list.  Add the number of	*/
-				/* reclaimed bytes to *count.		*/
-GC_bool GC_block_empty(hdr * hhdr);
- 				/* Block completely unmarked? 	*/
-GC_bool GC_never_stop_func(void);
-				/* Returns FALSE.		*/
-GC_bool GC_try_to_collect_inner(GC_stop_func f);
-
-				/* Collect; caller must have acquired	*/
-				/* lock and disabled signals.		*/
-				/* Collection is aborted if f returns	*/
-				/* TRUE.  Returns TRUE if it completes	*/
-				/* successfully.			*/
-# define GC_gcollect_inner() \
-	(void) GC_try_to_collect_inner(GC_never_stop_func)
-void GC_finish_collection(void);
- 				/* Finish collection.  Mark bits are	*/
-  				/* consistent and lock is still held.	*/
-GC_bool GC_collect_or_expand(word needed_blocks, GC_bool ignore_off_page);
-  				/* Collect or expand heap in an attempt */
-  				/* make the indicated number of free	*/
-  				/* blocks available.  Should be called	*/
-  				/* until the blocks are available or	*/
-  				/* until it fails by returning FALSE.	*/
-
-extern GC_bool GC_is_initialized;	/* GC_init() has been run.	*/
-
-#if defined(MSWIN32) || defined(MSWINCE)
-  void GC_deinit(void);
-                                /* Free any resources allocated by      */
-                                /* GC_init                              */
-#endif
-
-void GC_collect_a_little_inner(int n);
-  				/* Do n units worth of garbage 		*/
-  				/* collection work, if appropriate.	*/
-  				/* A unit is an amount appropriate for  */
-  				/* HBLKSIZE bytes of allocation.	*/
-/* void * GC_generic_malloc(size_t lb, int k); */
-  				/* Allocate an object of the given	*/
-  				/* kind.  By default, there are only	*/
-  				/* a few kinds: composite(pointerfree), */
-				/* atomic, uncollectable, etc.		*/
-				/* We claim it's possible for clever	*/
-				/* client code that understands GC	*/
-				/* internals to add more, e.g. to	*/
-				/* communicate object layout info	*/
-				/* to the collector.			*/
-				/* The actual decl is in gc_mark.h.	*/
-void * GC_generic_malloc_ignore_off_page(size_t b, int k);
-  				/* As above, but pointers past the 	*/
-  				/* first page of the resulting object	*/
-  				/* are ignored.				*/
-void * GC_generic_malloc_inner(size_t lb, int k);
-  				/* Ditto, but I already hold lock, etc.	*/
-void * GC_generic_malloc_inner_ignore_off_page(size_t lb, int k);
-  				/* Allocate an object, where		*/
-  				/* the client guarantees that there	*/
-  				/* will always be a pointer to the 	*/
-  				/* beginning of the object while the	*/
-  				/* object is live.			*/
-void GC_generic_malloc_many(size_t lb, int k, void **result);
-				/* Store a pointer to a list of newly	*/
-				/* allocated objects of kind k and size */
-				/* lb in *result.			*/
-				/* Caler must make sure that *result is	*/
-				/* traced even if objects are ptrfree.	*/
-ptr_t GC_allocobj(size_t sz, int kind);
-  				/* Make the indicated 			*/
-  				/* free list nonempty, and return its	*/
-  				/* head.  Sz is in granules.		*/
-
-/* Allocation routines that bypass the thread local cache.	*/
-/* Used internally.						*/
-#ifdef THREAD_LOCAL_ALLOC
-  void * GC_core_malloc(size_t);
-  void * GC_core_malloc_atomic(size_t);
-# ifdef GC_GCJ_SUPPORT
-    void *GC_core_gcj_malloc(size_t, void *); 
-# endif
-#endif /* THREAD_LOCAL_ALLOC */
-
-void GC_free_inner(void * p);
-void GC_debug_free_inner(void * p);
-  
-void GC_init_headers(void);
-struct hblkhdr * GC_install_header(struct hblk *h);
-  				/* Install a header for block h.	*/
-  				/* Return 0 on failure, or the header	*/
-  				/* otherwise.				*/
-GC_bool GC_install_counts(struct hblk * h, size_t sz);
-  				/* Set up forwarding counts for block	*/
-  				/* h of size sz.			*/
-  				/* Return FALSE on failure.		*/
-void GC_remove_header(struct hblk * h);
-  				/* Remove the header for block h.	*/
-void GC_remove_counts(struct hblk * h, size_t sz);
-  				/* Remove forwarding counts for h.	*/
-hdr * GC_find_header(ptr_t h); /* Debugging only.		*/
-  
-void GC_finalize(void);
- 			/* Perform all indicated finalization actions	*/
-  			/* on unmarked objects.				*/
-  			/* Unreachable finalizable objects are enqueued	*/
-  			/* for processing by GC_invoke_finalizers.	*/
-  			/* Invoked with lock.				*/
-
-void GC_notify_or_invoke_finalizers(void);
-			/* If GC_finalize_on_demand is not set, invoke	*/
-			/* eligible finalizers. Otherwise:		*/
-			/* Call *GC_finalizer_notifier if there are	*/
-			/* finalizers to be run, and we haven't called	*/
-			/* this procedure yet this GC cycle.		*/
-
-GC_API void * GC_make_closure(GC_finalization_proc fn, void * data);
-GC_API void GC_debug_invoke_finalizer(void * obj, void * data);
-			/* Auxiliary fns to make finalization work	*/
-			/* correctly with displaced pointers introduced	*/
-			/* by the debugging allocators.			*/
-  			
-void GC_add_to_heap(struct hblk *p, size_t bytes);
-  			/* Add a HBLKSIZE aligned chunk to the heap.	*/
-  
-void GC_print_obj(ptr_t p);
-  			/* P points to somewhere inside an object with	*/
-  			/* debugging info.  Print a human readable	*/
-  			/* description of the object to stderr.		*/
-extern void (*GC_check_heap)(void);
-  			/* Check that all objects in the heap with 	*/
-  			/* debugging info are intact.  			*/
-  			/* Add any that are not to GC_smashed list.	*/
-extern void (*GC_print_all_smashed) (void);
-			/* Print GC_smashed if it's not empty.		*/
-			/* Clear GC_smashed list.			*/
-extern void GC_print_all_errors (void);
-			/* Print smashed and leaked objects, if any.	*/
-			/* Clear the lists of such objects.		*/
-extern void (*GC_print_heap_obj) (ptr_t p);
-  			/* If possible print s followed by a more	*/
-  			/* detailed description of the object 		*/
-  			/* referred to by p.				*/
-#if defined(LINUX) && defined(__ELF__) && !defined(SMALL_CONFIG)
-  void GC_print_address_map (void);
-  			/* Print an address map of the process.		*/
-#endif
-
-extern GC_bool GC_have_errors;  /* We saw a smashed or leaked object.	*/
-				/* Call error printing routine 		*/
-				/* occasionally.			*/
-
-#ifndef SMALL_CONFIG
-  extern int GC_print_stats;	/* Nonzero generates basic GC log.	*/
-				/* VERBOSE generates add'l messages.	*/
-#else
-# define GC_print_stats 0
-  	/* Will this keep the message character strings from the executable? */
-  	/* It should ...						     */
-#endif
-#define VERBOSE 2
-
-#ifndef NO_DEBUGGING
-  extern GC_bool GC_dump_regularly;  /* Generate regular debugging dumps. */
-# define COND_DUMP if (GC_dump_regularly) GC_dump();
-#else
-# define COND_DUMP
-#endif
-
-#ifdef KEEP_BACK_PTRS
-  extern long GC_backtraces;
-  void GC_generate_random_backtrace_no_gc(void);
-#endif
-
-extern GC_bool GC_print_back_height;
-
-#ifdef MAKE_BACK_GRAPH
-  void GC_print_back_graph_stats(void);
-#endif
-
-/* Macros used for collector internal allocation.	*/
-/* These assume the collector lock is held.		*/
-#ifdef DBG_HDRS_ALL
-    extern void * GC_debug_generic_malloc_inner(size_t lb, int k);
-    extern void * GC_debug_generic_malloc_inner_ignore_off_page(size_t lb,
-								int k);
-#   define GC_INTERNAL_MALLOC GC_debug_generic_malloc_inner
-#   define GC_INTERNAL_MALLOC_IGNORE_OFF_PAGE \
-		 GC_debug_generic_malloc_inner_ignore_off_page
-#   ifdef THREADS
-#       define GC_INTERNAL_FREE GC_debug_free_inner
-#   else
-#       define GC_INTERNAL_FREE GC_debug_free
-#   endif
-#else
-#   define GC_INTERNAL_MALLOC GC_generic_malloc_inner
-#   define GC_INTERNAL_MALLOC_IGNORE_OFF_PAGE \
-		 GC_generic_malloc_inner_ignore_off_page
-#   ifdef THREADS
-#       define GC_INTERNAL_FREE GC_free_inner
-#   else
-#       define GC_INTERNAL_FREE GC_free
-#   endif
-#endif
-
-/* Memory unmapping: */
-#ifdef USE_MUNMAP
-  void GC_unmap_old(void);
-  void GC_merge_unmapped(void);
-  void GC_unmap(ptr_t start, size_t bytes);
-  void GC_remap(ptr_t start, size_t bytes);
-  void GC_unmap_gap(ptr_t start1, size_t bytes1, ptr_t start2, size_t bytes2);
-#endif
-
-/* Virtual dirty bit implementation:		*/
-/* Each implementation exports the following:	*/
-void GC_read_dirty(void);
-			/* Retrieve dirty bits.	*/
-GC_bool GC_page_was_dirty(struct hblk *h);
-  			/* Read retrieved dirty bits.	*/
-GC_bool GC_page_was_ever_dirty(struct hblk *h);
-  			/* Could the page contain valid heap pointers?	*/
-void GC_remove_protection(struct hblk *h, word nblocks,
-			  GC_bool pointerfree);
-  			/* h is about to be writteni or allocated.  Ensure  */
-			/* that it's not write protected by the virtual	    */
-			/* dirty bit implementation.			    */
-			
-void GC_dirty_init(void);
-  
-/* Slow/general mark bit manipulation: */
-GC_API GC_bool GC_is_marked(ptr_t p);
-void GC_clear_mark_bit(ptr_t p);
-void GC_set_mark_bit(ptr_t p);
-  
-/* Stubborn objects: */
-void GC_read_changed(void);	/* Analogous to GC_read_dirty */
-GC_bool GC_page_was_changed(struct hblk * h);
- 				/* Analogous to GC_page_was_dirty */
-void GC_clean_changing_list(void);
- 				/* Collect obsolete changing list entries */
-void GC_stubborn_init(void);
-  
-/* Debugging print routines: */
-void GC_print_block_list(void);
-void GC_print_hblkfreelist(void);
-void GC_print_heap_sects(void);
-void GC_print_static_roots(void);
-void GC_print_finalization_stats(void);
-/* void GC_dump(void); - declared in gc.h */
-
-#ifdef KEEP_BACK_PTRS
-   void GC_store_back_pointer(ptr_t source, ptr_t dest);
-   void GC_marked_for_finalization(ptr_t dest);
-#  define GC_STORE_BACK_PTR(source, dest) GC_store_back_pointer(source, dest)
-#  define GC_MARKED_FOR_FINALIZATION(dest) GC_marked_for_finalization(dest)
-#else
-#  define GC_STORE_BACK_PTR(source, dest) 
-#  define GC_MARKED_FOR_FINALIZATION(dest)
-#endif
-
-/* Make arguments appear live to compiler */
-# ifdef __WATCOMC__
-    void GC_noop(void*, ...);
-# else
-#   ifdef __DMC__
-      GC_API void GC_noop(...);
-#   else
-      GC_API void GC_noop();
-#   endif
-# endif
-
-void GC_noop1(word);
-
-/* Logging and diagnostic output: 	*/
-GC_API void GC_printf (const char * format, ...);
-			/* A version of printf that doesn't allocate,	*/
-			/* 1K total output length.			*/
-			/* (We use sprintf.  Hopefully that doesn't	*/
-			/* allocate for long arguments.)  		*/
-GC_API void GC_err_printf(const char * format, ...);
-GC_API void GC_log_printf(const char * format, ...);
-void GC_err_puts(const char *s);
-			/* Write s to stderr, don't buffer, don't add	*/
-			/* newlines, don't ...				*/
-
-#if defined(LINUX) && !defined(SMALL_CONFIG)
-  void GC_err_write(const char *buf, size_t len);
- 			/* Write buf to stderr, don't buffer, don't add	*/
-  			/* newlines, don't ...				*/
-#endif
-
-
-# ifdef GC_ASSERTIONS
-#	define GC_ASSERT(expr) if(!(expr)) {\
-		GC_err_printf("Assertion failure: %s:%ld\n", \
-				__FILE__, (unsigned long)__LINE__); \
-		ABORT("assertion failure"); }
-# else 
-#	define GC_ASSERT(expr)
-# endif
-
-/* Check a compile time assertion at compile time.  The error	*/
-/* message for failure is a bit baroque, but ...		*/
-#if defined(mips) && !defined(__GNUC__)
-/* DOB: MIPSPro C gets an internal error taking the sizeof an array type. 
-   This code works correctly (ugliness is to avoid "unused var" warnings) */
-# define GC_STATIC_ASSERT(expr) do { if (0) { char j[(expr)? 1 : -1]; j[0]='\0'; j[0]=j[0]; } } while(0)
-#else
-# define GC_STATIC_ASSERT(expr) sizeof(char[(expr)? 1 : -1])
-#endif
-
-# if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
-    /* We need additional synchronization facilities from the thread	*/
-    /* support.  We believe these are less performance critical		*/
-    /* than the main garbage collector lock; standard pthreads-based	*/
-    /* implementations should be sufficient.				*/
-
-    /* The mark lock and condition variable.  If the GC lock is also 	*/
-    /* acquired, the GC lock must be acquired first.  The mark lock is	*/
-    /* used to both protect some variables used by the parallel		*/
-    /* marker, and to protect GC_fl_builder_count, below.		*/
-    /* GC_notify_all_marker() is called when				*/ 
-    /* the state of the parallel marker changes				*/
-    /* in some significant way (see gc_mark.h for details).  The	*/
-    /* latter set of events includes incrementing GC_mark_no.		*/
-    /* GC_notify_all_builder() is called when GC_fl_builder_count	*/
-    /* reaches 0.							*/
-
-     extern void GC_acquire_mark_lock();
-     extern void GC_release_mark_lock();
-     extern void GC_notify_all_builder();
-     /* extern void GC_wait_builder(); */
-     extern void GC_wait_for_reclaim();
-
-     extern word GC_fl_builder_count;	/* Protected by mark lock.	*/
-# endif /* PARALLEL_MARK || THREAD_LOCAL_ALLOC */
-# ifdef PARALLEL_MARK
-     extern void GC_notify_all_marker();
-     extern void GC_wait_marker();
-     extern word GC_mark_no;		/* Protected by mark lock.	*/
-
-     extern void GC_help_marker(word my_mark_no);
-		/* Try to help out parallel marker for mark cycle 	*/
-		/* my_mark_no.  Returns if the mark cycle finishes or	*/
-		/* was already done, or there was nothing to do for	*/
-		/* some other reason.					*/
-# endif /* PARALLEL_MARK */
-
-# if defined(GC_PTHREADS)
-  /* We define the thread suspension signal here, so that we can refer	*/
-  /* to it in the dirty bit implementation, if necessary.  Ideally we	*/
-  /* would allocate a (real-time ?) signal using the standard mechanism.*/
-  /* unfortunately, there is no standard mechanism.  (There is one 	*/
-  /* in Linux glibc, but it's not exported.)  Thus we continue to use	*/
-  /* the same hard-coded signals we've always used.			*/
-#  if !defined(SIG_SUSPEND)
-#   if defined(GC_LINUX_THREADS) || defined(GC_DGUX386_THREADS)
-#    if defined(SPARC) && !defined(SIGPWR)
-       /* SPARC/Linux doesn't properly define SIGPWR in <signal.h>.
-        * It is aliased to SIGLOST in asm/signal.h, though.		*/
-#      define SIG_SUSPEND SIGLOST
-#    else
-       /* Linuxthreads itself uses SIGUSR1 and SIGUSR2.			*/
-#      define SIG_SUSPEND SIGPWR
-#    endif
-#   else  /* !GC_LINUX_THREADS */
-#     if defined(_SIGRTMIN)
-#       define SIG_SUSPEND _SIGRTMIN + 6
-#     else
-#       define SIG_SUSPEND SIGRTMIN + 6
-#     endif       
-#   endif
-#  endif /* !SIG_SUSPEND */
-  
-# endif
-     
-/* Some macros for setjmp that works across signal handlers	*/
-/* were possible, and a couple of routines to facilitate	*/
-/* catching accesses to bad addresses when that's		*/
-/* possible/needed.						*/
-#ifdef UNIX_LIKE
-# include <setjmp.h>
-# if defined(SUNOS5SIGS) && !defined(FREEBSD)
-#  include <sys/siginfo.h>
-# endif
-  /* Define SETJMP and friends to be the version that restores	*/
-  /* the signal mask.						*/
-# define SETJMP(env) sigsetjmp(env, 1)
-# define LONGJMP(env, val) siglongjmp(env, val)
-# define JMP_BUF sigjmp_buf
-#else
-# ifdef ECOS
-#   define SETJMP(env)  hal_setjmp(env)
-# else
-#   define SETJMP(env) setjmp(env)
-# endif
-# define LONGJMP(env, val) longjmp(env, val)
-# define JMP_BUF jmp_buf
-#endif
-
-/* Do we need the GC_find_limit machinery to find the end of a 	*/
-/* data segment.						*/
-# if defined(HEURISTIC2) || defined(SEARCH_FOR_DATA_START)
-#   define NEED_FIND_LIMIT
-# endif
-
-# if !defined(STACKBOTTOM) && defined(HEURISTIC2)
-#   define NEED_FIND_LIMIT
-# endif
-
-# if (defined(SVR4) || defined(AUX) || defined(DGUX) \
-      || (defined(LINUX) && defined(SPARC))) && !defined(PCR)
-#   define NEED_FIND_LIMIT
-# endif
-
-#if defined(FREEBSD) && (defined(I386) || defined(X86_64) || defined(powerpc) \
-    || defined(__powerpc__))
-#  include <machine/trap.h>
-#  if !defined(PCR)
-#    define NEED_FIND_LIMIT
-#  endif
-#endif
-
-#if (defined(NETBSD) || defined(OPENBSD)) && defined(__ELF__) \
-    && !defined(NEED_FIND_LIMIT)
-   /* Used by GC_init_netbsd_elf() in os_dep.c.	*/
-#  define NEED_FIND_LIMIT
-#endif
-
-#if defined(IA64) && !defined(NEED_FIND_LIMIT)
-#  define NEED_FIND_LIMIT
-     /* May be needed for register backing store base. */
-#endif
-
-# if defined(NEED_FIND_LIMIT) || \
-     defined(USE_PROC_FOR_LIBRARIES) && defined(THREADS)
-JMP_BUF GC_jmp_buf;
-
-/* Set up a handler for address faults which will longjmp to	*/
-/* GC_jmp_buf;							*/
-extern void GC_setup_temporary_fault_handler(void);
-
-/* Undo the effect of GC_setup_temporary_fault_handler.		*/
-extern void GC_reset_fault_handler(void);
-
-# endif /* Need to handle address faults.	*/
-
-# endif /* GC_PRIVATE_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h
deleted file mode 100755
index b0e395e..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h
+++ /dev/null
@@ -1,2339 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1996 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 2000-2004 Hewlett-Packard Development Company, L.P.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/*
- * This header is private to the gc.  It is almost always included from
- * gc_priv.h.  However it is possible to include it by itself if just the
- * configuration macros are needed.  In that
- * case, a few declarations relying on types declared in gc_priv.h will be
- * omitted.
- */
- 
-#ifndef GCCONFIG_H
-
-# define GCCONFIG_H
-
-# ifndef GC_PRIVATE_H
-    /* Fake ptr_t declaration, just to avoid compilation errors.	*/
-    /* This avoids many instances if "ifndef GC_PRIVATE_H" below.	*/
-    typedef struct GC_undefined_struct * ptr_t;
-#   include <stddef.h>	/* For size_t etc. */
-# endif
-
-/* Machine dependent parameters.  Some tuning parameters can be found	*/
-/* near the top of gc_private.h.					*/
-
-/* Machine specific parts contributed by various people.  See README file. */
-
-/* First a unified test for Linux: */
-# if defined(linux) || defined(__linux__)
-#  ifndef LINUX
-#    define LINUX
-#  endif
-# endif
-
-/* And one for NetBSD: */
-# if defined(__NetBSD__)
-#    define NETBSD
-# endif
-
-/* And one for OpenBSD: */
-# if defined(__OpenBSD__)
-#    define OPENBSD
-# endif
-
-/* And one for FreeBSD: */
-# if (defined(__FreeBSD__) || defined(__DragonFly__) || \
-      defined(__FreeBSD_kernel__)) && !defined(FREEBSD)
-#    define FREEBSD
-# endif
-
-/* Determine the machine type: */
-# if defined(__arm__) || defined(__thumb__)
-#    define ARM32
-#    if !defined(LINUX) && !defined(NETBSD)
-#      define NOSYS
-#      define mach_type_known
-#    endif
-# endif
-# if defined(sun) && defined(mc68000)
-#    error SUNOS4 no longer supported
-# endif
-# if defined(hp9000s300)
-#    error M68K based HP machines no longer supported.
-# endif
-# if defined(OPENBSD) && defined(m68k)
-#    define M68K
-#    define mach_type_known
-# endif
-# if defined(OPENBSD) && defined(__sparc__)
-#    define SPARC
-#    define mach_type_known
-# endif
-# if defined(NETBSD) && (defined(m68k) || defined(__m68k__))
-#    define M68K
-#    define mach_type_known
-# endif
-# if defined(NETBSD) && defined(__powerpc__)
-#    define POWERPC
-#    define mach_type_known
-# endif
-# if defined(NETBSD) && (defined(__arm32__) || defined(__arm__))
-#    define ARM32
-#    define mach_type_known
-# endif
-# if defined(NETBSD) && defined(__sh__)
-#    define SH
-#    define mach_type_known
-# endif
-# if defined(vax)
-#    define VAX
-#    ifdef ultrix
-#	define ULTRIX
-#    else
-#	define BSD
-#    endif
-#    define mach_type_known
-# endif
-# if defined(__NetBSD__) && defined(__vax__)
-#    define VAX
-#    define mach_type_known
-# endif
-# if defined(mips) || defined(__mips) || defined(_mips)
-#    define MIPS
-#    if defined(nec_ews) || defined(_nec_ews)
-#      define EWS4800
-#    endif
-#    if !defined(LINUX) && !defined(EWS4800) && !defined(NETBSD)
-#      if defined(ultrix) || defined(__ultrix)
-#	 define ULTRIX
-#      else
-#	 define IRIX5   /* or IRIX 6.X */
-#      endif
-#    endif /* !LINUX */
-#    if defined(__NetBSD__) && defined(__MIPSEL__)
-#      undef ULTRIX
-#    endif
-#    define mach_type_known
-# endif
-# if defined(DGUX) && (defined(i386) || defined(__i386__))
-#    define I386
-#    ifndef _USING_DGUX
-#    define _USING_DGUX
-#    endif
-#    define mach_type_known
-# endif
-# if defined(sequent) && (defined(i386) || defined(__i386__))
-#    define I386
-#    define SEQUENT
-#    define mach_type_known
-# endif
-# if defined(sun) && (defined(i386) || defined(__i386__))
-#    define I386
-#    define SOLARIS
-#    define mach_type_known
-# endif
-# if defined(sun) && defined(__amd64)
-#    define X86_64
-#    define SOLARIS
-#    define mach_type_known
-# endif
-# if (defined(__OS2__) || defined(__EMX__)) && defined(__32BIT__)
-#    define I386
-#    define OS2
-#    define mach_type_known
-# endif
-# if defined(ibm032)
-#   error IBM PC/RT no longer supported.
-# endif
-# if defined(sun) && (defined(sparc) || defined(__sparc))
-#   define SPARC
-    /* Test for SunOS 5.x */
-#     include <errno.h>
-#     define SOLARIS
-#   define mach_type_known
-# endif
-# if defined(sparc) && defined(unix) && !defined(sun) && !defined(linux) \
-     && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__FreeBSD__) \
-     && !defined(__DragonFly__)
-#   define SPARC
-#   define DRSNX
-#   define mach_type_known
-# endif
-# if defined(_IBMR2)
-#   define POWERPC
-#   define AIX
-#   define mach_type_known
-# endif
-# if defined(__NetBSD__) && defined(__sparc__)
-#   define SPARC
-#   define mach_type_known
-# endif
-# if defined(_M_XENIX) && defined(_M_SYSV) && defined(_M_I386)
-	/* The above test may need refinement	*/
-#   define I386
-#   if defined(_SCO_ELF)
-#     define SCO_ELF
-#   else
-#     define SCO
-#   endif
-#   define mach_type_known
-# endif
-# if defined(_AUX_SOURCE)
-#   error A/UX no longer supported
-# endif
-# if defined(_PA_RISC1_0) || defined(_PA_RISC1_1) || defined(_PA_RISC2_0) \
-     || defined(hppa) || defined(__hppa__)
-#   define HP_PA
-#   if !defined(LINUX) && !defined(HPUX)
-#     define HPUX
-#   endif
-#   define mach_type_known
-# endif
-# if defined(__ia64) && defined(_HPUX_SOURCE)
-#   define IA64
-#   ifndef HPUX
-#     define HPUX
-#   endif
-#   define mach_type_known
-# endif
-# if defined(__BEOS__) && defined(_X86_)
-#    define I386
-#    define BEOS
-#    define mach_type_known
-# endif
-# if defined(LINUX) && (defined(i386) || defined(__i386__))
-#    define I386
-#    define mach_type_known
-# endif
-# if defined(LINUX) && defined(__x86_64__)
-#    define X86_64
-#    define mach_type_known
-# endif
-# if defined(LINUX) && (defined(__ia64__) || defined(__ia64))
-#    define IA64
-#    define mach_type_known
-# endif
-# if defined(LINUX) && defined(__arm__)
-#    define ARM32
-#    define mach_type_known
-# endif
-# if defined(LINUX) && defined(__cris__)
-#    ifndef CRIS
-#	define CRIS
-#    endif
-#    define mach_type_known
-# endif
-# if defined(LINUX) && (defined(powerpc) || defined(__powerpc__) || \
-		        defined(powerpc64) || defined(__powerpc64__))
-#    define POWERPC
-#    define mach_type_known
-# endif
-# if defined(FREEBSD) && (defined(powerpc) || defined(__powerpc__))
-#    define POWERPC
-#    define mach_type_known
-# endif
-# if defined(LINUX) && defined(__mc68000__)
-#    define M68K
-#    define mach_type_known
-# endif
-# if defined(LINUX) && (defined(sparc) || defined(__sparc__))
-#    define SPARC
-#    define mach_type_known
-# endif
-# if defined(LINUX) && defined(__arm__)
-#    define ARM32
-#    define mach_type_known
-# endif
-# if defined(LINUX) && defined(__sh__)
-#    define SH
-#    define mach_type_known
-# endif
-# if defined(LINUX) && defined(__m32r__)
-#    define M32R
-#    define mach_type_known
-# endif
-# if defined(__alpha) || defined(__alpha__)
-#   define ALPHA
-#   if !defined(LINUX) && !defined(NETBSD) && !defined(OPENBSD) && !defined(FREEBSD)
-#     define OSF1	/* a.k.a Digital Unix */
-#   endif
-#   define mach_type_known
-# endif
-# if defined(_AMIGA) && !defined(AMIGA)
-#   define AMIGA
-# endif
-# ifdef AMIGA 
-#   define M68K
-#   define mach_type_known
-# endif
-# if defined(THINK_C) || defined(__MWERKS__) && !defined(__powerc)
-#   define M68K
-#   define MACOS
-#   define mach_type_known
-# endif
-# if defined(__MWERKS__) && defined(__powerc) && !defined(__MACH__)
-#   define POWERPC
-#   define MACOS
-#   define mach_type_known
-# endif
-# if defined(macosx) || (defined(__APPLE__) && defined(__MACH__))
-#   define DARWIN
-#   if defined(__ppc__)  || defined(__ppc64__)
-#    define POWERPC
-#    define mach_type_known
-#   elif defined(__x86_64__)
-#    define X86_64
-#    define mach_type_known
-#   elif defined(__i386__)
-#    define I386
-#    define mach_type_known
-#   endif
-# endif
-# if defined(NeXT) && defined(mc68000)
-#   define M68K
-#   define NEXT
-#   define mach_type_known
-# endif
-# if defined(NeXT) && (defined(i386) || defined(__i386__))
-#   define I386
-#   define NEXT
-#   define mach_type_known
-# endif
-# if defined(__OpenBSD__) && (defined(i386) || defined(__i386__))
-#   define I386
-#   define OPENBSD
-#   define mach_type_known
-# endif
-# if defined(FREEBSD) && (defined(i386) || defined(__i386__))
-#   define I386
-#   define mach_type_known
-# endif
-# if defined(FREEBSD) && defined(__x86_64__)
-#   define X86_64
-#   define mach_type_known
-# endif
-# if defined(__NetBSD__) && (defined(i386) || defined(__i386__))
-#   define I386
-#   define mach_type_known
-# endif
-# if defined(__NetBSD__) && defined(__x86_64__)
-#    define X86_64
-#    define mach_type_known
-# endif
-# if defined(FREEBSD) && defined(__sparc__)
-#    define SPARC
-#    define mach_type_known
-# endif
-# if defined(bsdi) && (defined(i386) || defined(__i386__))
-#    define I386
-#    define BSDI
-#    define mach_type_known
-# endif
-# if !defined(mach_type_known) && defined(__386BSD__)
-#   define I386
-#   define THREE86BSD
-#   define mach_type_known
-# endif
-# if defined(_CX_UX) && defined(_M88K)
-#   define M88K
-#   define CX_UX
-#   define mach_type_known
-# endif
-# if defined(DGUX) && defined(m88k)
-#   define M88K
-    /* DGUX defined */
-#   define mach_type_known
-# endif
-# if defined(_WIN32_WCE)
-    /* SH3, SH4, MIPS already defined for corresponding architectures */
-#   if defined(SH3) || defined(SH4)
-#     define SH
-#   endif
-#   if defined(x86)
-#     define I386
-#   endif
-#   if defined(ARM)
-#     define ARM32
-#   endif
-#   define MSWINCE
-#   define mach_type_known
-# else
-#   if (defined(_MSDOS) || defined(_MSC_VER)) && (_M_IX86 >= 300) \
-        || defined(_WIN32) && !defined(__CYGWIN32__) && !defined(__CYGWIN__)
-#     if defined(__LP64__) || defined(_WIN64)
-#	define X86_64
-#     else
-#       define I386
-#     endif
-#     define MSWIN32	/* or Win64 */
-#     define mach_type_known
-#   endif
-#   if defined(_MSC_VER) && defined(_M_IA64)
-#     define IA64
-#     define MSWIN32	/* Really win64, but we don't treat 64-bit 	*/
-			/* variants as a differnt platform.		*/
-#   endif
-# endif
-# if defined(__DJGPP__)
-#   define I386
-#   ifndef DJGPP
-#     define DJGPP  /* MSDOS running the DJGPP port of GCC */
-#   endif
-#   define mach_type_known
-# endif
-# if defined(__CYGWIN32__) || defined(__CYGWIN__)
-#   define I386
-#   define CYGWIN32
-#   define mach_type_known
-# endif
-# if defined(__MINGW32__)
-#   define I386
-#   define MSWIN32
-#   define mach_type_known
-# endif
-# if defined(__BORLANDC__)
-#   define I386
-#   define MSWIN32
-#   define mach_type_known
-# endif
-# if defined(_UTS) && !defined(mach_type_known)
-#   define S370
-#   define UTS4
-#   define mach_type_known
-# endif
-# if defined(__pj__)
-#   error PicoJava no longer supported
-    /* The implementation had problems, and I haven't heard of users	*/
-    /* in ages.  If you want it resurrected, let me know.		*/
-# endif
-# if defined(__embedded__) && defined(PPC)
-#   define POWERPC
-#   define NOSYS
-#   define mach_type_known
-# endif
-/* Ivan Demakov */
-# if defined(__WATCOMC__) && defined(__386__)
-#   define I386
-#   if !defined(OS2) && !defined(MSWIN32) && !defined(DOS4GW)
-#     if defined(__OS2__)
-#       define OS2
-#     else
-#       if defined(__WINDOWS_386__) || defined(__NT__)
-#         define MSWIN32
-#       else
-#         define DOS4GW
-#       endif
-#     endif
-#   endif
-#   define mach_type_known
-# endif
-# if defined(__s390__) && defined(LINUX)
-#    define S390
-#    define mach_type_known
-# endif
-# if defined(__GNU__)
-#   if defined(__i386__)
-/* The Debian Hurd running on generic PC */  
-#     define  HURD
-#     define  I386
-#     define  mach_type_known
-#    endif 
-# endif
-# if defined(__TANDEM)
-    /* Nonstop S-series */
-    /* FIXME: Should recognize Integrity series? */
-#   define MIPS
-#   define NONSTOP
-#   define mach_type_known
-# endif
-
-/* Feel free to add more clauses here */
-
-/* Or manually define the machine type here.  A machine type is 	*/
-/* characterized by the architecture.  Some				*/
-/* machine types are further subdivided by OS.				*/
-/* Macros such as LINUX, FREEBSD, etc. distinguish them.		*/
-/* SYSV on an M68K actually means A/UX.					*/
-/* The distinction in these cases is usually the stack starting address */
-# ifndef mach_type_known
-#   error "The collector has not been ported to this machine/OS combination."
-# endif
-		    /* Mapping is: M68K       ==> Motorola 680X0	*/
-		    /*		   (NEXT, and SYSV (A/UX),		*/
-		    /*		   MACOS and AMIGA variants)		*/
-		    /*             I386       ==> Intel 386	 	*/
-		    /*		    (SEQUENT, OS2, SCO, LINUX, NETBSD,	*/
-		    /*		     FREEBSD, THREE86BSD, MSWIN32,	*/
-		    /* 		     BSDI,SOLARIS, NEXT, other variants)	*/
-                    /*             NS32K      ==> Encore Multimax 	*/
-                    /*             MIPS       ==> R2000 through R14K	*/
-                    /*			(many variants)			*/
-                    /*		   VAX	      ==> DEC VAX		*/
-                    /*			(BSD, ULTRIX variants)		*/
-                    /*		   HP_PA      ==> HP9000/700 & /800	*/
-                    /*				  HP/UX, LINUX		*/
-		    /*		   SPARC      ==> SPARC	v7/v8/v9	*/
-		    /*			(SOLARIS, LINUX, DRSNX variants)	*/
-		    /* 		   ALPHA      ==> DEC Alpha 		*/
-		    /*			(OSF1 and LINUX variants)	*/
-		    /* 		   M88K       ==> Motorola 88XX0        */
-		    /* 		        (CX_UX and DGUX)		*/
-		    /* 		   S370	      ==> 370-like machine	*/
-		    /* 			running Amdahl UTS4		*/
-                    /*             S390       ==> 390-like machine      */
-		    /*                  running LINUX                   */
-		    /* 		   ARM32      ==> Intel StrongARM	*/
-		    /* 		   IA64	      ==> Intel IPF		*/
-		    /*				  (e.g. Itanium)	*/
-		    /*			(LINUX and HPUX)	        */
-		    /*		   SH	      ==> Hitachi SuperH	*/
-		    /* 			(LINUX & MSWINCE)		*/
-		    /* 		   X86_64     ==> AMD x86-64		*/
-		    /*		   POWERPC    ==> IBM/Apple PowerPC	*/
-		    /*			(MACOS(<=9),DARWIN(incl.MACOSX),*/
-		    /*			 LINUX, NETBSD, AIX, NOSYS	*/
-		    /*			 variants)			*/
-		    /*			Handles 32 and 64-bit variants.	*/
-		    /*		   CRIS       ==> Axis Etrax		*/
-		    /*		   M32R	      ==> Renesas M32R		*/
-
-
-/*
- * For each architecture and OS, the following need to be defined:
- *
- * CPP_WORDSZ is a simple integer constant representing the word size.
- * in bits.  We assume byte addressibility, where a byte has 8 bits.
- * We also assume CPP_WORDSZ is either 32 or 64.
- * (We care about the length of pointers, not hardware
- * bus widths.  Thus a 64 bit processor with a C compiler that uses
- * 32 bit pointers should use CPP_WORDSZ of 32, not 64. Default is 32.)
- *
- * MACH_TYPE is a string representation of the machine type.
- * OS_TYPE is analogous for the OS.
- *
- * ALIGNMENT is the largest N, such that
- * all pointer are guaranteed to be aligned on N byte boundaries.
- * defining it to be 1 will always work, but perform poorly.
- *
- * DATASTART is the beginning of the data segment.
- * On some platforms SEARCH_FOR_DATA_START is defined.
- * SEARCH_FOR_DATASTART will cause GC_data_start to
- * be set to an address determined by accessing data backwards from _end
- * until an unmapped page is found.  DATASTART will be defined to be
- * GC_data_start.
- * On UNIX-like systems, the collector will scan the area between DATASTART
- * and DATAEND for root pointers.
- *
- * DATAEND, if not `end' where `end' is defined as ``extern int end[];''.
- * RTH suggests gaining access to linker script synth'd values with
- * this idiom instead of `&end' where `end' is defined as ``extern int end;'' .
- * Otherwise, ``GCC will assume these are in .sdata/.sbss'' and it will, e.g.,
- * cause failures on alpha*-*-* with ``-msmall-data or -fpic'' or mips-*-*
- * without any special options.
- *
- * STACKBOTTOM is the cool end of the stack, which is usually the
- * highest address in the stack.
- * Under PCR or OS/2, we have other ways of finding thread stacks.
- * For each machine, the following should:
- * 1) define STACK_GROWS_UP if the stack grows toward higher addresses, and
- * 2) define exactly one of
- *	STACKBOTTOM (should be defined to be an expression)
- *	LINUX_STACKBOTTOM
- *	HEURISTIC1
- *	HEURISTIC2
- * If STACKBOTTOM is defined, then it's value will be used directly as the
- * stack base.  If LINUX_STACKBOTTOM is defined, then it will be determined
- * with a method appropriate for most Linux systems.  Currently we look
- * first for __libc_stack_end, and if that fails read it from /proc.
- * If either of the last two macros are defined, then STACKBOTTOM is computed
- * during collector startup using one of the following two heuristics:
- * HEURISTIC1:  Take an address inside GC_init's frame, and round it up to
- *		the next multiple of STACK_GRAN.
- * HEURISTIC2:  Take an address inside GC_init's frame, increment it repeatedly
- *		in small steps (decrement if STACK_GROWS_UP), and read the value
- *		at each location.  Remember the value when the first
- *		Segmentation violation or Bus error is signalled.  Round that
- *		to the nearest plausible page boundary, and use that instead
- *		of STACKBOTTOM.
- *
- * Gustavo Rodriguez-Rivera points out that on most (all?) Unix machines,
- * the value of environ is a pointer that can serve as STACKBOTTOM.
- * I expect that HEURISTIC2 can be replaced by this approach, which
- * interferes far less with debugging.  However it has the disadvantage
- * that it's confused by a putenv call before the collector is initialized.
- * This could be dealt with by intercepting putenv ...
- *
- * If no expression for STACKBOTTOM can be found, and neither of the above
- * heuristics are usable, the collector can still be used with all of the above
- * undefined, provided one of the following is done:
- * 1) GC_mark_roots can be changed to somehow mark from the correct stack(s)
- *    without reference to STACKBOTTOM.  This is appropriate for use in
- *    conjunction with thread packages, since there will be multiple stacks.
- *    (Allocating thread stacks in the heap, and treating them as ordinary
- *    heap data objects is also possible as a last resort.  However, this is
- *    likely to introduce significant amounts of excess storage retention
- *    unless the dead parts of the thread stacks are periodically cleared.)
- * 2) Client code may set GC_stackbottom before calling any GC_ routines.
- *    If the author of the client code controls the main program, this is
- *    easily accomplished by introducing a new main program, setting
- *    GC_stackbottom to the address of a local variable, and then calling
- *    the original main program.  The new main program would read something
- *    like:
- *
- *		# include "gc_private.h"
- *
- *		main(argc, argv, envp)
- *		int argc;
- *		char **argv, **envp;
- *		{
- *		    int dummy;
- *
- *		    GC_stackbottom = (ptr_t)(&dummy);
- *		    return(real_main(argc, argv, envp));
- *		}
- *
- *
- * Each architecture may also define the style of virtual dirty bit
- * implementation to be used:
- *   MPROTECT_VDB: Write protect the heap and catch faults.
- *   GWW_VDB: Use win32 GetWriteWatch primitive.
- *   PROC_VDB: Use the SVR4 /proc primitives to read dirty bits.
- *
- * The first and second one may be combined, in which case a runtime
- * selection will be made, based on GetWriteWatch availability.
- *
- * An architecture may define DYNAMIC_LOADING if dynamic_load.c
- * defined GC_register_dynamic_libraries() for the architecture.
- *
- * An architecture may define PREFETCH(x) to preload the cache with *x.
- * This defaults to a no-op.
- *
- * PREFETCH_FOR_WRITE(x) is used if *x is about to be written.
- *
- * An architecture may also define CLEAR_DOUBLE(x) to be a fast way to
- * clear the two words at GC_malloc-aligned address x.  By default,
- * word stores of 0 are used instead.
- *
- * HEAP_START may be defined as the initial address hint for mmap-based
- * allocation.
- */
-
-/* If we are using a recent version of gcc, we can use __builtin_unwind_init()
- * to push the relevant registers onto the stack.
- */
-# if defined(__GNUC__) && ((__GNUC__ >= 3) || \
-			   (__GNUC__ == 2 && __GNUC_MINOR__ >= 8)) \
-		       && !defined(__INTEL_COMPILER) && !defined(__PATHCC__)
-#   define HAVE_BUILTIN_UNWIND_INIT
-# endif
-
-# define STACK_GRAN 0x1000000
-# ifdef M68K
-#   define MACH_TYPE "M68K"
-#   define ALIGNMENT 2
-#   ifdef OPENBSD
-#	define OS_TYPE "OPENBSD"
-#	define HEURISTIC2
-#	ifdef __ELF__
-#	  define DATASTART GC_data_start
-#	  define DYNAMIC_LOADING
-#	else
-	  extern char etext[];
-#	  define DATASTART ((ptr_t)(etext))
-#       endif
-#   endif
-#   ifdef NETBSD
-#	define OS_TYPE "NETBSD"
-#	define HEURISTIC2
-#	ifdef __ELF__
-#	  define DATASTART GC_data_start
-#	  define DYNAMIC_LOADING
-#	else
-	  extern char etext[];
-#	  define DATASTART ((ptr_t)(etext))
-#       endif
-#   endif
-#   ifdef LINUX
-#       define OS_TYPE "LINUX"
-#       define LINUX_STACKBOTTOM
-#       define MPROTECT_VDB
-#       ifdef __ELF__
-#            define DYNAMIC_LOADING
-#	     include <features.h>
-#	     if defined(__GLIBC__)&& __GLIBC__>=2
-#              define SEARCH_FOR_DATA_START
-#	     else /* !GLIBC2 */
-               extern char **__environ;
-#              define DATASTART ((ptr_t)(&__environ))
-                             /* hideous kludge: __environ is the first */
-                             /* word in crt0.o, and delimits the start */
-                             /* of the data segment, no matter which   */
-                             /* ld options were passed through.        */
-                             /* We could use _etext instead, but that  */
-                             /* would include .rodata, which may       */
-                             /* contain large read-only data tables    */
-                             /* that we'd rather not scan.             */
-#	     endif /* !GLIBC2 */
-             extern int _end[];
-#            define DATAEND (_end)
-#       else
-             extern int etext[];
-#            define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
-#       endif
-#   endif
-#   ifdef AMIGA
-#	define OS_TYPE "AMIGA"
- 	    	/* STACKBOTTOM and DATASTART handled specially	*/
- 	    	/* in os_dep.c					*/
-# 	define DATAEND	/* not needed */
-#	define GETPAGESIZE() 4096
-#   endif
-#   ifdef MACOS
-#     ifndef __LOWMEM__
-#     include <LowMem.h>
-#     endif
-#     define OS_TYPE "MACOS"
-			/* see os_dep.c for details of global data segments. */
-#     define STACKBOTTOM ((ptr_t) LMGetCurStackBase())
-#     define DATAEND	/* not needed */
-#     define GETPAGESIZE() 4096
-#   endif
-#   ifdef NEXT
-#	define OS_TYPE "NEXT"
-#	define DATASTART ((ptr_t) get_etext())
-#	define STACKBOTTOM ((ptr_t) 0x4000000)
-#	define DATAEND	/* not needed */
-#   endif
-# endif
-
-# if defined(POWERPC)
-#   define MACH_TYPE "POWERPC"
-#   ifdef MACOS
-#     define ALIGNMENT 2  /* Still necessary?  Could it be 4?	*/
-#     ifndef __LOWMEM__
-#     include <LowMem.h>
-#     endif
-#     define OS_TYPE "MACOS"
-			/* see os_dep.c for details of global data segments. */
-#     define STACKBOTTOM ((ptr_t) LMGetCurStackBase())
-#     define DATAEND  /* not needed */
-#   endif
-#   ifdef LINUX
-#     if defined(__powerpc64__)
-#       define ALIGNMENT 8
-#       define CPP_WORDSZ 64
-#       ifndef HBLKSIZE
-#         define HBLKSIZE 4096
-#       endif
-#     else
-#       define ALIGNMENT 4
-#     endif
-#     define OS_TYPE "LINUX"
-      /* HEURISTIC1 has been reliably reported to fail for a 32-bit	*/
-      /* executable on a 64 bit kernel.					*/
-#     define LINUX_STACKBOTTOM
-#     define DYNAMIC_LOADING
-#     define SEARCH_FOR_DATA_START
-      extern int _end[];
-#     define DATAEND (_end)
-#   endif
-#   ifdef DARWIN
-#     define OS_TYPE "DARWIN"
-#     define DYNAMIC_LOADING
-#     if defined(__ppc64__)
-#       define ALIGNMENT 8
-#       define CPP_WORDSZ 64
-#       define STACKBOTTOM ((ptr_t) 0x7fff5fc00000)
-#       define CACHE_LINE_SIZE 64
-#       ifndef HBLKSIZE
-#         define HBLKSIZE 4096
-#       endif
-#     else
-#       define ALIGNMENT 4
-#       define STACKBOTTOM ((ptr_t) 0xc0000000)
-#     endif
-      /* XXX: see get_end(3), get_etext() and get_end() should not be used.
-	 These aren't used when dyld support is enabled (it is by default) */
-#     define DATASTART ((ptr_t) get_etext())
-#     define DATAEND	((ptr_t) get_end())
-#     define USE_MMAP
-#     define USE_MMAP_ANON
-#     ifdef GC_DARWIN_THREADS
-#       define MPROTECT_VDB
-#     endif
-#     include <unistd.h>
-#     define GETPAGESIZE() getpagesize()
-#     if defined(USE_PPC_PREFETCH) && defined(__GNUC__)
-	/* The performance impact of prefetches is untested */
-#	define PREFETCH(x) \
-	  __asm__ __volatile__ ("dcbt 0,%0" : : "r" ((const void *) (x)))
-#	define PREFETCH_FOR_WRITE(x) \
-	  __asm__ __volatile__ ("dcbtst 0,%0" : : "r" ((const void *) (x)))
-#     endif
-      /* There seems to be some issues with trylock hanging on darwin. This
-	 should be looked into some more */
-#     define NO_PTHREAD_TRYLOCK
-#   endif
-#   ifdef FREEBSD
-#       define ALIGNMENT 4
-#       define OS_TYPE "FREEBSD"
-#       ifndef GC_FREEBSD_THREADS
-#           define MPROTECT_VDB
-#       endif
-#       define SIG_SUSPEND SIGUSR1
-#       define SIG_THR_RESTART SIGUSR2
-#       define FREEBSD_STACKBOTTOM
-#       ifdef __ELF__
-#           define DYNAMIC_LOADING
-#       endif
-        extern char etext[];
-        extern char * GC_FreeBSDGetDataStart();
-#       define DATASTART GC_FreeBSDGetDataStart(0x1000, &etext)
-#   endif
-#   ifdef NETBSD
-#     define ALIGNMENT 4
-#     define OS_TYPE "NETBSD"
-#     define HEURISTIC2
-      extern char etext[];
-#     define DATASTART GC_data_start
-#     define DYNAMIC_LOADING
-#   endif
-#   ifdef AIX
-#     define OS_TYPE "AIX"
-#     undef ALIGNMENT /* in case it's defined	*/
-#     ifdef IA64
-#       undef IA64
-          /* DOB: some AIX installs stupidly define IA64 in */
-          /* /usr/include/sys/systemcfg.h   		    */
-#     endif
-#     ifdef __64BIT__
-#       define ALIGNMENT 8
-#       define CPP_WORDSZ 64
-#       define STACKBOTTOM ((ptr_t)0x1000000000000000)
-#     else
-#       define ALIGNMENT 4
-#       define CPP_WORDSZ 32
-#       define STACKBOTTOM ((ptr_t)((ulong)&errno))
-#     endif
-#     define USE_MMAP
-#     define USE_MMAP_ANON
-	/* From AIX linker man page:
-	_text Specifies the first location of the program.
-	_etext Specifies the first location after the program.
-	_data Specifies the first location of the data.
-	_edata Specifies the first location after the initialized data
-	_end or end Specifies the first location after all data.
-	*/
-      extern int _data[], _end[];
-#     define DATASTART ((ptr_t)((ulong)_data))
-#     define DATAEND ((ptr_t)((ulong)_end))
-      extern int errno;
-#     define DYNAMIC_LOADING
-	/* For really old versions of AIX, this may have to be removed. */
-#   endif
-
-#   ifdef NOSYS
-#     define ALIGNMENT 4
-#     define OS_TYPE "NOSYS"
-      extern void __end[], __dso_handle[];
-#     define DATASTART (__dso_handle)  /* OK, that's ugly.  */
-#     define DATAEND (__end)
-	/* Stack starts at 0xE0000000 for the simulator.  */
-#     undef STACK_GRAN
-#     define STACK_GRAN 0x10000000
-#     define HEURISTIC1
-#   endif
-# endif
-
-# ifdef VAX
-#   define MACH_TYPE "VAX"
-#   define ALIGNMENT 4	/* Pointers are longword aligned by 4.2 C compiler */
-    extern char etext[];
-#   define DATASTART ((ptr_t)(etext))
-#   ifdef BSD
-#	define OS_TYPE "BSD"
-#	define HEURISTIC1
-			/* HEURISTIC2 may be OK, but it's hard to test. */
-#   endif
-#   ifdef ULTRIX
-#	define OS_TYPE "ULTRIX"
-#	define STACKBOTTOM ((ptr_t) 0x7fffc800)
-#   endif
-# endif
-
-# ifdef SPARC
-#   define MACH_TYPE "SPARC"
-#   if defined(__arch64__) || defined(__sparcv9)
-#     define ALIGNMENT 8
-#     define CPP_WORDSZ 64
-#     define ELF_CLASS ELFCLASS64
-#   else
-#     define ALIGNMENT 4	/* Required by hardware	*/
-#     define CPP_WORDSZ 32
-#   endif
-    /* Don't define USE_ASM_PUSH_REGS.  We do use an asm helper, but	*/
-    /* not to push the registers on the mark stack.			*/
-#   ifdef SOLARIS
-#	define OS_TYPE "SOLARIS"
-	extern int _etext[];
-	extern int _end[];
-	extern ptr_t GC_SysVGetDataStart(size_t, ptr_t);
-#       define DATASTART GC_SysVGetDataStart(0x10000, (ptr_t)_etext)
-#	define DATAEND (_end)
-#	if !defined(USE_MMAP) && defined(REDIRECT_MALLOC)
-#	    define USE_MMAP
-	    /* Otherwise we now use calloc.  Mmap may result in the	*/
-	    /* heap interleaved with thread stacks, which can result in	*/
-	    /* excessive blacklisting.  Sbrk is unusable since it	*/
-	    /* doesn't interact correctly with the system malloc.	*/
-#	endif
-#       ifdef USE_MMAP
-#         define HEAP_START (ptr_t)0x40000000
-#       else
-#	  define HEAP_START DATAEND
-#       endif
-#	define PROC_VDB
-/*	HEURISTIC1 reportedly no longer works under 2.7.  		*/
-/*  	HEURISTIC2 probably works, but this appears to be preferable.	*/
-/*	Apparently USRSTACK is defined to be USERLIMIT, but in some	*/
-/* 	installations that's undefined.  We work around this with a	*/
-/*	gross hack:							*/
-#       include <sys/vmparam.h>
-#	ifdef USERLIMIT
-	  /* This should work everywhere, but doesn't.	*/
-#	  define STACKBOTTOM USRSTACK
-#       else
-#	  define HEURISTIC2
-#       endif
-#	include <unistd.h>
-#       define GETPAGESIZE()  sysconf(_SC_PAGESIZE)
-		/* getpagesize() appeared to be missing from at least one */
-		/* Solaris 5.4 installation.  Weird.			  */
-#	define DYNAMIC_LOADING
-#   endif
-#   ifdef DRSNX
-#	define OS_TYPE "DRSNX"
-	extern ptr_t GC_SysVGetDataStart(size_t, ptr_t);
-	extern int etext[];
-#       define DATASTART GC_SysVGetDataStart(0x10000, (ptr_t)etext)
-#	define MPROTECT_VDB
-#       define STACKBOTTOM ((ptr_t) 0xdfff0000)
-#	define DYNAMIC_LOADING
-#   endif
-#   ifdef LINUX
-#     define OS_TYPE "LINUX"
-#     ifdef __ELF__
-#       define DYNAMIC_LOADING
-#     else
-          Linux Sparc/a.out not supported
-#     endif
-      extern int _end[];
-      extern int _etext[];
-#     define DATAEND (_end)
-#     define SVR4
-      extern ptr_t GC_SysVGetDataStart(size_t, ptr_t);
-#     ifdef __arch64__
-#	define DATASTART GC_SysVGetDataStart(0x100000, (ptr_t)_etext)
-#     else
-#       define DATASTART GC_SysVGetDataStart(0x10000, (ptr_t)_etext)
-#     endif
-#     define LINUX_STACKBOTTOM
-#   endif
-#   ifdef OPENBSD
-#     define OS_TYPE "OPENBSD"
-#     define STACKBOTTOM ((ptr_t) 0xf8000000)
-      extern int etext[];
-#     define DATASTART ((ptr_t)(etext))
-#   endif
-#   ifdef NETBSD
-#     define OS_TYPE "NETBSD"
-#     define HEURISTIC2
-#     ifdef __ELF__
-#	define DATASTART GC_data_start
-#	define DYNAMIC_LOADING
-#     else
-	extern char etext[];
-#	define DATASTART ((ptr_t)(etext))
-#     endif
-#   endif
-#   ifdef FREEBSD
-#	define OS_TYPE "FREEBSD"
-#	define SIG_SUSPEND SIGUSR1
-#	define SIG_THR_RESTART SIGUSR2
-#	define FREEBSD_STACKBOTTOM
-#	ifdef __ELF__
-#	    define DYNAMIC_LOADING
-#	endif
-	extern char etext[];
-	extern char edata[];
-	extern char end[];
-#	define NEED_FIND_LIMIT
-#	define DATASTART ((ptr_t)(&etext))
-#	define DATAEND (GC_find_limit (DATASTART, TRUE))
-#	define DATASTART2 ((ptr_t)(&edata))
-#	define DATAEND2 ((ptr_t)(&end))
-#   endif
-# endif
-
-# ifdef I386
-#   define MACH_TYPE "I386"
-#   if defined(__LP64__) || defined(_WIN64)
-#     error This should be handled as X86_64
-#   else
-#     define CPP_WORDSZ 32
-#     define ALIGNMENT 4
-			/* Appears to hold for all "32 bit" compilers	*/
-			/* except Borland.  The -a4 option fixes 	*/
-			/* Borland.					*/
-                        /* Ivan Demakov: For Watcom the option is -zp4. */
-#   endif
-#   ifdef SEQUENT
-#	define OS_TYPE "SEQUENT"
-	extern int etext[];
-#       define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
-#       define STACKBOTTOM ((ptr_t) 0x3ffff000) 
-#   endif
-#   ifdef BEOS
-#     define OS_TYPE "BEOS"
-#     include <OS.h>
-#     define GETPAGESIZE() B_PAGE_SIZE
-      extern int etext[];
-#     define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
-#   endif
-#   ifdef SOLARIS
-#	define OS_TYPE "SOLARIS"
-        extern int _etext[], _end[];
-  	extern ptr_t GC_SysVGetDataStart(size_t, ptr_t);
-#       define DATASTART GC_SysVGetDataStart(0x1000, (ptr_t)_etext)
-#	define DATAEND (_end)
-/*	# define STACKBOTTOM ((ptr_t)(_start)) worked through 2.7,  	*/
-/*      but reportedly breaks under 2.8.  It appears that the stack	*/
-/* 	base is a property of the executable, so this should not break	*/
-/* 	old executables.						*/
-/*  	HEURISTIC2 probably works, but this appears to be preferable.	*/
-#       include <sys/vm.h>
-#	define STACKBOTTOM USRSTACK
-/* At least in Solaris 2.5, PROC_VDB gives wrong values for dirty bits. */
-/* It appears to be fixed in 2.8 and 2.9.				*/
-#	ifdef SOLARIS25_PROC_VDB_BUG_FIXED
-#	  define PROC_VDB
-#	endif
-#	define DYNAMIC_LOADING
-#	if !defined(USE_MMAP) && defined(REDIRECT_MALLOC)
-#	    define USE_MMAP
-	    /* Otherwise we now use calloc.  Mmap may result in the	*/
-	    /* heap interleaved with thread stacks, which can result in	*/
-	    /* excessive blacklisting.  Sbrk is unusable since it	*/
-	    /* doesn't interact correctly with the system malloc.	*/
-#	endif
-#       ifdef USE_MMAP
-#         define HEAP_START (ptr_t)0x40000000
-#       else
-#	  define HEAP_START DATAEND
-#       endif
-#   endif
-#   ifdef SCO
-#	define OS_TYPE "SCO"
-	extern int etext[];
-#   	define DATASTART ((ptr_t)((((word) (etext)) + 0x3fffff) \
-				  & ~0x3fffff) \
-				 +((word)etext & 0xfff))
-#	define STACKBOTTOM ((ptr_t) 0x7ffffffc)
-#   endif
-#   ifdef SCO_ELF
-#       define OS_TYPE "SCO_ELF"
-        extern int etext[];
-#       define DATASTART ((ptr_t)(etext))
-#       define STACKBOTTOM ((ptr_t) 0x08048000)
-#       define DYNAMIC_LOADING
-#	define ELF_CLASS ELFCLASS32
-#   endif
-#   ifdef DGUX
-#	define OS_TYPE "DGUX"
-	extern int _etext, _end;
-	extern ptr_t GC_SysVGetDataStart(size_t, ptr_t);
-#	define DATASTART GC_SysVGetDataStart(0x1000, (ptr_t)(&_etext))
-#	define DATAEND (&_end)
-#	define STACK_GROWS_DOWN
-#	define HEURISTIC2
-#	include <unistd.h>
-#	define GETPAGESIZE()  sysconf(_SC_PAGESIZE)
-#	define DYNAMIC_LOADING
-#	ifndef USE_MMAP
-#	  define USE_MMAP
-#	endif /* USE_MMAP */
-#	define MAP_FAILED (void *) -1
-#	ifdef USE_MMAP
-#	  define HEAP_START (ptr_t)0x40000000
-#	else /* USE_MMAP */
-#	  define HEAP_START DATAEND
-#	endif /* USE_MMAP */
-#   endif /* DGUX */
-
-#   ifdef LINUX
-#	define OS_TYPE "LINUX"
-#       define LINUX_STACKBOTTOM
-#	if 0
-#	  define HEURISTIC1
-#         undef STACK_GRAN
-#         define STACK_GRAN 0x10000000
-	  /* STACKBOTTOM is usually 0xc0000000, but this changes with	*/
-	  /* different kernel configurations.  In particular, systems	*/
-	  /* with 2GB physical memory will usually move the user	*/
-	  /* address space limit, and hence initial SP to 0x80000000.	*/
-#       endif
-#       if !defined(GC_LINUX_THREADS) || !defined(REDIRECT_MALLOC)
-#	    define MPROTECT_VDB
-#	else
-	    /* We seem to get random errors in incremental mode,	*/
-	    /* possibly because Linux threads is itself a malloc client */
-	    /* and can't deal with the signals.				*/
-#	endif
-#	define HEAP_START (ptr_t)0x1000
-		/* This encourages mmap to give us low addresses,	*/
-		/* thus allowing the heap to grow to ~3GB		*/
-#       ifdef __ELF__
-#            define DYNAMIC_LOADING
-#	     ifdef UNDEFINED	/* includes ro data */
-	       extern int _etext[];
-#              define DATASTART ((ptr_t)((((word) (_etext)) + 0xfff) & ~0xfff))
-#	     endif
-#	     include <features.h>
-#	     if defined(__GLIBC__) && __GLIBC__ >= 2
-#		 define SEARCH_FOR_DATA_START
-#	     else
-     	         extern char **__environ;
-#                define DATASTART ((ptr_t)(&__environ))
-			      /* hideous kludge: __environ is the first */
-			      /* word in crt0.o, and delimits the start */
-			      /* of the data segment, no matter which   */
-			      /* ld options were passed through.        */
-			      /* We could use _etext instead, but that  */
-			      /* would include .rodata, which may       */
-			      /* contain large read-only data tables    */
-			      /* that we'd rather not scan.		*/
-#	     endif
-	     extern int _end[];
-#	     define DATAEND (_end)
-#	else
-	     extern int etext[];
-#            define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
-#       endif
-#	ifdef USE_I686_PREFETCH
-	  /* FIXME: Thus should use __builtin_prefetch, but we'll leave that	*/
-	  /* for the next rtelease.						*/
-#	  define PREFETCH(x) \
-	    __asm__ __volatile__ ("	prefetchnta	%0": : "m"(*(char *)(x)))
-	    /* Empirically prefetcht0 is much more effective at reducing	*/
-	    /* cache miss stalls for the targetted load instructions.  But it	*/
-	    /* seems to interfere enough with other cache traffic that the net	*/
-	    /* result is worse than prefetchnta.				*/
-#         if 0 
-	    /* Using prefetches for write seems to have a slight negative	*/
-	    /* impact on performance, at least for a PIII/500.			*/
-#	    define PREFETCH_FOR_WRITE(x) \
-	      __asm__ __volatile__ ("	prefetcht0	%0": : "m"(*(char *)(x)))
-#	  endif
-#	endif
-#	ifdef USE_3DNOW_PREFETCH
-#	  define PREFETCH(x) \
-	    __asm__ __volatile__ ("	prefetch	%0": : "m"(*(char *)(x)))
-#	  define PREFETCH_FOR_WRITE(x) \
-	    __asm__ __volatile__ ("	prefetchw	%0": : "m"(*(char *)(x)))
-#	endif
-#   endif
-#   ifdef CYGWIN32
-#       define OS_TYPE "CYGWIN32"
-#       define DATASTART ((ptr_t)GC_DATASTART)  /* From gc.h */
-#       define DATAEND	 ((ptr_t)GC_DATAEND)
-#	undef STACK_GRAN
-#       define STACK_GRAN 0x10000
-#       define HEURISTIC1
-#   endif
-#   ifdef OS2
-#	define OS_TYPE "OS2"
- 	    	/* STACKBOTTOM and DATASTART are handled specially in 	*/
-		/* os_dep.c. OS2 actually has the right			*/
-		/* system call!						*/
-#	define DATAEND	/* not needed */
-#   endif
-#   ifdef MSWIN32
-#	define OS_TYPE "MSWIN32"
-		/* STACKBOTTOM and DATASTART are handled specially in 	*/
-		/* os_dep.c.						*/
-#       if !defined(__WATCOMC__)
-#	  define MPROTECT_VDB
-	  /* We also avoided doing this in the past with GC_WIN32_THREADS */
-	  /* Hopefully that's fixed.					  */
-#	endif
-#	if _MSC_VER >= 1300  /* .NET, i.e. > VisualStudio 6	*/
-#         define GWW_VDB
-#	endif
-#       define DATAEND  /* not needed */
-#   endif
-#   ifdef MSWINCE
-#	define OS_TYPE "MSWINCE"
-#       define DATAEND  /* not needed */
-#   endif
-#   ifdef DJGPP
-#       define OS_TYPE "DJGPP"
-#       include "stubinfo.h"
-        extern int etext[];
-        extern int _stklen;
-        extern int __djgpp_stack_limit;
-#       define DATASTART ((ptr_t)((((word) (etext)) + 0x1ff) & ~0x1ff))
-/* #       define STACKBOTTOM ((ptr_t)((word) _stubinfo + _stubinfo->size \
-                                                     + _stklen)) */
-#       define STACKBOTTOM ((ptr_t)((word) __djgpp_stack_limit + _stklen))
-		/* This may not be right.  */
-#   endif
-#   ifdef OPENBSD
-#	define OS_TYPE "OPENBSD"
-#   endif
-#   ifdef FREEBSD
-#	define OS_TYPE "FREEBSD"
-#	ifndef GC_FREEBSD_THREADS
-#	    define MPROTECT_VDB
-#	endif
-#	ifdef __GLIBC__
-#	    define SIG_SUSPEND		(32+6)
-#	    define SIG_THR_RESTART	(32+5)
-	    extern int _end[];
-#	    define DATAEND (_end)
-#	else
-#	    define SIG_SUSPEND SIGUSR1
-#	    define SIG_THR_RESTART SIGUSR2
-#	endif
-#	define FREEBSD_STACKBOTTOM
-#	ifdef __ELF__
-#	    define DYNAMIC_LOADING
-#	endif
-	extern char etext[];
-	extern char * GC_FreeBSDGetDataStart(size_t, ptr_t);
-#	define DATASTART GC_FreeBSDGetDataStart(0x1000, (ptr_t)etext)
-#   endif
-#   ifdef NETBSD
-#	define OS_TYPE "NETBSD"
-#	ifdef __ELF__
-#	    define DYNAMIC_LOADING
-#	endif
-#   endif
-#   ifdef THREE86BSD
-#	define OS_TYPE "THREE86BSD"
-#   endif
-#   ifdef BSDI
-#	define OS_TYPE "BSDI"
-#   endif
-#   if defined(OPENBSD) || defined(NETBSD) \
-        || defined(THREE86BSD) || defined(BSDI)
-#	define HEURISTIC2
-	extern char etext[];
-#	define DATASTART ((ptr_t)(etext))
-#   endif
-#   ifdef NEXT
-#	define OS_TYPE "NEXT"
-#	define DATASTART ((ptr_t) get_etext())
-#	define STACKBOTTOM ((ptr_t)0xc0000000)
-#	define DATAEND	/* not needed */
-#   endif
-#   ifdef DOS4GW
-#     define OS_TYPE "DOS4GW"
-      extern long __nullarea;
-      extern char _end;
-      extern char *_STACKTOP;
-      /* Depending on calling conventions Watcom C either precedes
-         or does not precedes with undescore names of C-variables.
-         Make sure startup code variables always have the same names.  */
-      #pragma aux __nullarea "*";
-      #pragma aux _end "*";
-#     define STACKBOTTOM ((ptr_t) _STACKTOP)
-                         /* confused? me too. */
-#     define DATASTART ((ptr_t) &__nullarea)
-#     define DATAEND ((ptr_t) &_end)
-#   endif
-#   ifdef HURD
-#     define OS_TYPE "HURD"
-#     define STACK_GROWS_DOWN
-#     define HEURISTIC2
-#     define SIG_SUSPEND SIGUSR1
-#     define SIG_THR_RESTART SIGUSR2
-#     define SEARCH_FOR_DATA_START
-      extern int _end[];
-#     define DATAEND ((ptr_t) (_end))
-/* #     define MPROTECT_VDB  Not quite working yet? */
-#     define DYNAMIC_LOADING
-#   endif
-#   ifdef DARWIN
-#     define OS_TYPE "DARWIN"
-#     define DARWIN_DONT_PARSE_STACK
-#     define DYNAMIC_LOADING
-      /* XXX: see get_end(3), get_etext() and get_end() should not be used.
-	 These aren't used when dyld support is enabled (it is by default) */
-#     define DATASTART ((ptr_t) get_etext())
-#     define DATAEND	((ptr_t) get_end())
-#     define STACKBOTTOM ((ptr_t) 0xc0000000)
-#     define USE_MMAP
-#     define USE_MMAP_ANON
-#     ifdef GC_DARWIN_THREADS
-#       define MPROTECT_VDB
-#     endif
-#     include <unistd.h>
-#     define GETPAGESIZE() getpagesize()
-      /* There seems to be some issues with trylock hanging on darwin. This
-	 should be looked into some more */
-#      define NO_PTHREAD_TRYLOCK
-#   endif /* DARWIN */
-# endif
-
-# ifdef NS32K
-#   define MACH_TYPE "NS32K"
-#   define ALIGNMENT 4
-    extern char **environ;
-#   define DATASTART ((ptr_t)(&environ))
-			      /* hideous kludge: environ is the first   */
-			      /* word in crt0.o, and delimits the start */
-			      /* of the data segment, no matter which   */
-			      /* ld options were passed through.        */
-#   define STACKBOTTOM ((ptr_t) 0xfffff000) /* for Encore */
-# endif
-
-# ifdef MIPS
-#   define MACH_TYPE "MIPS"
-#   ifdef LINUX
-      /* This was developed for a linuxce style platform.  Probably	*/
-      /* needs to be tweaked for workstation class machines.		*/
-#     define OS_TYPE "LINUX"
-#     define DYNAMIC_LOADING
-      extern int _end[];
-#     define DATAEND (_end)
-      extern int __data_start[];
-#     define DATASTART ((ptr_t)(__data_start))
-#     define ALIGNMENT 4
-#     if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 2 || __GLIBC__ > 2
-#        define LINUX_STACKBOTTOM
-#     else
-#        define STACKBOTTOM 0x80000000
-#     endif
-#   endif /* Linux */
-#   ifdef EWS4800
-#      define HEURISTIC2
-#      if defined(_MIPS_SZPTR) && (_MIPS_SZPTR == 64)
-         extern int _fdata[], _end[];
-#        define DATASTART ((ptr_t)_fdata)
-#        define DATAEND ((ptr_t)_end)
-#        define CPP_WORDSZ _MIPS_SZPTR
-#        define ALIGNMENT (_MIPS_SZPTR/8)
-#      else
-         extern int etext[], edata[], end[];
-         extern int _DYNAMIC_LINKING[], _gp[];
-#        define DATASTART ((ptr_t)((((word)etext + 0x3ffff) & ~0x3ffff) \
-               + ((word)etext & 0xffff)))
-#        define DATAEND (edata)
-#        define DATASTART2 (_DYNAMIC_LINKING \
-               ? (ptr_t)(((word)_gp + 0x8000 + 0x3ffff) & ~0x3ffff) \
-               : (ptr_t)edata)
-#        define DATAEND2 (end)
-#        define ALIGNMENT 4
-#      endif
-#      define OS_TYPE "EWS4800"
-#   endif
-#   ifdef ULTRIX
-#	define HEURISTIC2
-#       define DATASTART (ptr_t)0x10000000
-			      /* Could probably be slightly higher since */
-			      /* startup code allocates lots of stuff.   */
-#	define OS_TYPE "ULTRIX"
-#       define ALIGNMENT 4
-#   endif
-#   ifdef IRIX5
-#	define HEURISTIC2
-        extern int _fdata[];
-#       define DATASTART ((ptr_t)(_fdata))
-#       ifdef USE_MMAP
-#         define HEAP_START (ptr_t)0x30000000
-#       else
-#	  define HEAP_START DATASTART
-#       endif
-			      /* Lowest plausible heap address.		*/
-			      /* In the MMAP case, we map there.	*/
-			      /* In either case it is used to identify	*/
-			      /* heap sections so they're not 		*/
-			      /* considered as roots.			*/
-#	define OS_TYPE "IRIX5"
-/*#       define MPROTECT_VDB DOB: this should work, but there is evidence */
-/* 	  	of recent breakage.					   */
-#       ifdef _MIPS_SZPTR
-#	  define CPP_WORDSZ _MIPS_SZPTR
-#	  define ALIGNMENT (_MIPS_SZPTR/8)
-#	else
-#         define ALIGNMENT 4
-#	endif
-#	define DYNAMIC_LOADING
-#   endif
-#   ifdef MSWINCE
-#       define OS_TYPE "MSWINCE"
-#       define ALIGNMENT 4
-#       define DATAEND /* not needed */
-#   endif
-#   if defined(NETBSD)
-#     define OS_TYPE "NETBSD"
-#     define ALIGNMENT 4
-#     define HEURISTIC2
-#     ifdef __ELF__
-        extern int etext[];
-#       define DATASTART GC_data_start
-#       define NEED_FIND_LIMIT
-#       define DYNAMIC_LOADING
-#     else
-#       define DATASTART ((ptr_t) 0x10000000)
-#       define STACKBOTTOM ((ptr_t) 0x7ffff000)
-#     endif /* _ELF_ */
-#  endif
-#  if defined(NONSTOP)
-#    define CPP_WORDSZ 32
-#    define OS_TYPE "NONSTOP"
-#    define ALIGNMENT 4
-#    define DATASTART ((ptr_t) 0x08000000)
-     extern char **environ;
-#    define DATAEND ((ptr_t)(environ - 0x10))
-#    define STACKBOTTOM ((ptr_t) 0x4fffffff)
-#   endif
-# endif
-
-# ifdef HP_PA
-#   define MACH_TYPE "HP_PA"
-#   ifdef __LP64__
-#     define CPP_WORDSZ 64
-#     define ALIGNMENT 8
-#   else
-#     define CPP_WORDSZ 32
-#     define ALIGNMENT 4
-#   endif
-#   if !defined(GC_HPUX_THREADS) && !defined(GC_LINUX_THREADS)
-#     ifndef LINUX /* For now. */
-#       define MPROTECT_VDB
-#     endif
-#   else
-#     ifdef PARALLEL_MARK
-#	define USE_MARK_BYTES
-		/* Minimize compare-and-swap usage.		*/
-#     endif
-#   endif
-#   define STACK_GROWS_UP
-#   ifdef HPUX
-#     define OS_TYPE "HPUX"
-      extern int __data_start[];
-#     define DATASTART ((ptr_t)(__data_start))
-#     if 0
-	/* The following appears to work for 7xx systems running HP/UX	*/
-	/* 9.xx Furthermore, it might result in much faster		*/
-	/* collections than HEURISTIC2, which may involve scanning	*/
-	/* segments that directly precede the stack.  It is not the	*/
-	/* default, since it may not work on older machine/OS		*/
-	/* combinations. (Thanks to Raymond X.T. Nijssen for uncovering	*/
-	/* this.)							*/
-#       define STACKBOTTOM ((ptr_t) 0x7b033000)  /* from /etc/conf/h/param.h */
-#     else
-	/* Gustavo Rodriguez-Rivera suggested changing HEURISTIC2	*/
-	/* to this.  Note that the GC must be initialized before the	*/
-    	/* first putenv call.						*/
-	extern char ** environ;
-#       define STACKBOTTOM ((ptr_t)environ)
-#     endif
-#     define DYNAMIC_LOADING
-#     include <unistd.h>
-#     define GETPAGESIZE() sysconf(_SC_PAGE_SIZE)
-#     ifndef __GNUC__
-#       define PREFETCH(x)  { \
-                              register long addr = (long)(x); \
-                              (void) _asm ("LDW", 0, 0, addr, 0); \
-                            }
-#     endif
-#   endif /* HPUX */
-#   ifdef LINUX
-#     define OS_TYPE "LINUX"
-#     define LINUX_STACKBOTTOM
-#     define DYNAMIC_LOADING
-#     define SEARCH_FOR_DATA_START
-      extern int _end[];
-#     define DATAEND (&_end)
-#   endif /* LINUX */
-# endif /* HP_PA */
-
-# ifdef ALPHA
-#   define MACH_TYPE "ALPHA"
-#   define ALIGNMENT 8
-#   define CPP_WORDSZ 64
-#   ifdef NETBSD
-#	define OS_TYPE "NETBSD"
-#	define HEURISTIC2
-#	define DATASTART GC_data_start
-#	define ELFCLASS32 32
-#	define ELFCLASS64 64
-#	define ELF_CLASS ELFCLASS64
-#       define DYNAMIC_LOADING
-#   endif
-#   ifdef OPENBSD
-#	define OS_TYPE "OPENBSD"
-#	define HEURISTIC2
-#   	ifdef __ELF__	/* since OpenBSD/Alpha 2.9 */
-#	   define DATASTART GC_data_start
-#   	   define ELFCLASS32 32
-#   	   define ELFCLASS64 64
-#   	   define ELF_CLASS ELFCLASS64
-#       else		/* ECOFF, until OpenBSD/Alpha 2.7 */
-#   	   define DATASTART ((ptr_t) 0x140000000)
-#   	endif
-#   endif
-#   ifdef FREEBSD
-#	define OS_TYPE "FREEBSD"
-/* MPROTECT_VDB is not yet supported at all on FreeBSD/alpha. */
-#	define SIG_SUSPEND SIGUSR1
-#	define SIG_THR_RESTART SIGUSR2
-#	define FREEBSD_STACKBOTTOM
-#	ifdef __ELF__
-#	    define DYNAMIC_LOADING
-#	endif
-/* Handle unmapped hole alpha*-*-freebsd[45]* puts between etext and edata. */
-	extern char etext[];
-	extern char edata[];
-	extern char end[];
-#	define NEED_FIND_LIMIT
-#	define DATASTART ((ptr_t)(&etext))
-#	define DATAEND (GC_find_limit (DATASTART, TRUE))
-#	define DATASTART2 ((ptr_t)(&edata))
-#	define DATAEND2 ((ptr_t)(&end))
-#   endif
-#   ifdef OSF1
-#	define OS_TYPE "OSF1"
-#   	define DATASTART ((ptr_t) 0x140000000)
-	extern int _end[];
-#   	define DATAEND ((ptr_t) &_end)
- 	extern char ** environ;
-	/* round up from the value of environ to the nearest page boundary */
-	/* Probably breaks if putenv is called before collector 	   */
-	/* initialization.						   */
-#	define STACKBOTTOM ((ptr_t)(((word)(environ) | (getpagesize()-1))+1))
-/* #   	define HEURISTIC2 */
-	/* Normally HEURISTIC2 is too conervative, since		*/
-	/* the text segment immediately follows the stack.		*/
-	/* Hence we give an upper pound.				*/
-	/* This is currently unused, since we disabled HEURISTIC2	*/
-    	extern int __start[];
-#   	define HEURISTIC2_LIMIT ((ptr_t)((word)(__start) & ~(getpagesize()-1)))
-#	ifndef GC_OSF1_THREADS
-	  /* Unresolved signal issues with threads.	*/
-#   	  define MPROTECT_VDB
-#       endif
-#   	define DYNAMIC_LOADING
-#   endif
-#   ifdef LINUX
-#       define OS_TYPE "LINUX"
-#       define LINUX_STACKBOTTOM
-#       ifdef __ELF__
-#	  define SEARCH_FOR_DATA_START
-#         define DYNAMIC_LOADING
-#       else
-#           define DATASTART ((ptr_t) 0x140000000)
-#       endif
-	extern int _end[];
-#	define DATAEND (_end)
-#	define MPROTECT_VDB
-		/* Has only been superficially tested.  May not	*/
-		/* work on all versions.			*/
-#   endif
-# endif
-
-# ifdef IA64
-#   define MACH_TYPE "IA64"
-#   ifdef HPUX
-#	ifdef _ILP32
-#	  define CPP_WORDSZ 32
-	    /* Requires 8 byte alignment for malloc */
-#   	  define ALIGNMENT 4
-#       else
-#	  ifndef _LP64
-		---> unknown ABI
-#         endif
-#	  define CPP_WORDSZ 64
-	    /* Requires 16 byte alignment for malloc */
-#         define ALIGNMENT 8
-#       endif
-#       define OS_TYPE "HPUX"	
-        extern int __data_start[];
-#       define DATASTART ((ptr_t)(__data_start))
-        /* Gustavo Rodriguez-Rivera suggested changing HEURISTIC2	*/
-        /* to this.  Note that the GC must be initialized before the	*/
-    	/* first putenv call.						*/
-	extern char ** environ;
-#       define STACKBOTTOM ((ptr_t)environ)
-#       define HPUX_STACKBOTTOM
-#       define DYNAMIC_LOADING
-#       include <unistd.h>
-#       define GETPAGESIZE() sysconf(_SC_PAGE_SIZE)
- 	/* The following was empirically determined, and is probably	*/
-	/* not very robust.						*/
-	/* Note that the backing store base seems to be at a nice 	*/
-	/* address minus one page.					*/
-#	define BACKING_STORE_DISPLACEMENT 0x1000000
-#	define BACKING_STORE_ALIGNMENT 0x1000
-	extern ptr_t GC_register_stackbottom;
-#	define BACKING_STORE_BASE GC_register_stackbottom
-	/* Known to be wrong for recent HP/UX versions!!!	*/
-#   endif
-#   ifdef LINUX
-#   	define CPP_WORDSZ 64
-#   	define ALIGNMENT 8
-#       define OS_TYPE "LINUX"
-	/* The following works on NUE and older kernels:	*/
-/* #       define STACKBOTTOM ((ptr_t) 0xa000000000000000l)	*/
-	/* This does not work on NUE:				*/
-#       define LINUX_STACKBOTTOM
-	/* We also need the base address of the register stack	*/
-	/* backing store.  This is computed in 			*/
-	/* GC_linux_register_stack_base based on the following	*/
-	/* constants:						*/
-#       define BACKING_STORE_ALIGNMENT 0x100000
-#       define BACKING_STORE_DISPLACEMENT 0x80000000
-	extern ptr_t GC_register_stackbottom;
-#	define BACKING_STORE_BASE GC_register_stackbottom
-#	define SEARCH_FOR_DATA_START
-#	ifdef __GNUC__
-#         define DYNAMIC_LOADING
-#	else
-	  /* In the Intel compiler environment, we seem to end up with  */
-	  /* statically linked executables and an undefined reference	*/
-	  /* to _DYNAMIC						*/
-#  	endif
-#	define MPROTECT_VDB
-		/* Requires Linux 2.3.47 or later.	*/
-	extern int _end[];
-#	define DATAEND (_end)
-#       ifdef __GNUC__
-#	  ifndef __INTEL_COMPILER
-#	    define PREFETCH(x) \
-	      __asm__ ("	lfetch	[%0]": : "r"(x))
-#	    define PREFETCH_FOR_WRITE(x) \
-	      __asm__ ("	lfetch.excl	[%0]": : "r"(x))
-#	    define CLEAR_DOUBLE(x) \
-	      __asm__ ("	stf.spill	[%0]=f0": : "r"((void *)(x)))
-#	  else
-#           include <ia64intrin.h>
-#	    define PREFETCH(x) \
-	      __lfetch(__lfhint_none, (x))
-#	    define PREFETCH_FOR_WRITE(x) \
-	      __lfetch(__lfhint_nta,  (x))
-#	    define CLEAR_DOUBLE(x) \
-	      __stf_spill((void *)(x), 0)
-#	  endif // __INTEL_COMPILER
-#       endif
-#   endif
-#   ifdef MSWIN32
-      /* FIXME: This is a very partial guess.  There is no port, yet.	*/
-#     define OS_TYPE "MSWIN32"
-		/* STACKBOTTOM and DATASTART are handled specially in 	*/
-		/* os_dep.c.						*/
-#     define DATAEND  /* not needed */
-#     if defined(_WIN64)
-#       define CPP_WORDSZ 64
-#     else
-#       define CPP_WORDSZ 32   /* Is this possible?	*/
-#     endif
-#     define ALIGNMENT 8
-#     define STRTOULL _strtoui64
-#   endif
-# endif
-
-# ifdef M88K
-#   define MACH_TYPE "M88K"
-#   define ALIGNMENT 4
-    extern int etext[];
-#   ifdef CX_UX
-#	define OS_TYPE "CX_UX"
-#       define DATASTART ((((word)etext + 0x3fffff) & ~0x3fffff) + 0x10000)
-#   endif
-#   ifdef  DGUX
-#	define OS_TYPE "DGUX"
-	extern ptr_t GC_SysVGetDataStart(size_t, ptr_t);
-#       define DATASTART GC_SysVGetDataStart(0x10000, (ptr_t)etext)
-#   endif
-#   define STACKBOTTOM ((char*)0xf0000000) /* determined empirically */
-# endif
-
-# ifdef S370
-    /* If this still works, and if anyone cares, this should probably	*/
-    /* be moved to the S390 category.					*/
-#   define MACH_TYPE "S370"
-#   define ALIGNMENT 4	/* Required by hardware	*/
-#   ifdef UTS4
-#       define OS_TYPE "UTS4"
-	extern int etext[];
-	extern int _etext[];
-	extern int _end[];
-	extern ptr_t GC_SysVGetDataStart(size_t, ptr_t);
-#       define DATASTART GC_SysVGetDataStart(0x10000, (ptr_t)_etext)
-#	define DATAEND (_end)
-#	define HEURISTIC2
-#   endif
-# endif
-
-# ifdef S390
-#   define MACH_TYPE "S390"
-#   ifndef __s390x__
-#   define ALIGNMENT 4
-#   define CPP_WORDSZ 32
-#   else
-#   define ALIGNMENT 8
-#   define CPP_WORDSZ 64
-#   ifndef HBLKSIZE
-#     define HBLKSIZE 4096
-#   endif
-#   endif
-#   ifdef LINUX
-#       define OS_TYPE "LINUX"
-#       define LINUX_STACKBOTTOM
-#       define DYNAMIC_LOADING
-	extern int __data_start[];
-#       define DATASTART ((ptr_t)(__data_start))
-    extern int _end[];
-#   define DATAEND (_end)
-#   define CACHE_LINE_SIZE 256
-#   define GETPAGESIZE() 4096
-#   endif
-# endif
-
-# ifdef ARM32
-#   define CPP_WORDSZ 32
-#   define MACH_TYPE "ARM32"
-#   define ALIGNMENT 4
-#   ifdef NETBSD
-#       define OS_TYPE "NETBSD"
-#       define HEURISTIC2
-#	ifdef __ELF__
-#          define DATASTART GC_data_start
-#	   define DYNAMIC_LOADING
-#	else
-           extern char etext[];
-#          define DATASTART ((ptr_t)(etext))
-#	endif
-#   endif
-#   ifdef LINUX
-#       define OS_TYPE "LINUX"
-#       define LINUX_STACKBOTTOM
-#       undef STACK_GRAN
-#       define STACK_GRAN 0x10000000
-#       ifdef __ELF__
-#            define DYNAMIC_LOADING
-#	     include <features.h>
-#	     if defined(__GLIBC__) && __GLIBC__ >= 2
-#		 define SEARCH_FOR_DATA_START
-#	     else
-     	         extern char **__environ;
-#                define DATASTART ((ptr_t)(&__environ))
-			      /* hideous kludge: __environ is the first */
-			      /* word in crt0.o, and delimits the start */
-			      /* of the data segment, no matter which   */
-			      /* ld options were passed through.        */
-			      /* We could use _etext instead, but that  */
-			      /* would include .rodata, which may       */
-			      /* contain large read-only data tables    */
-			      /* that we'd rather not scan.		*/
-#	     endif
-	     extern int _end[];
-#	     define DATAEND (_end)
-#	else
-	     extern int etext[];
-#            define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
-#       endif
-#   endif
-#   ifdef MSWINCE
-#     define OS_TYPE "MSWINCE"
-#     define DATAEND /* not needed */
-#   endif
-#   ifdef NOSYS
-      /* __data_start is usually defined in the target linker script.  */
-      extern int __data_start[];
-#     define DATASTART (ptr_t)(__data_start)
-      /* __stack_base__ is set in newlib/libc/sys/arm/crt0.S  */
-      extern void *__stack_base__;
-#     define STACKBOTTOM ((ptr_t) (__stack_base__))
-#   endif
-#endif
-
-# ifdef CRIS
-#   define MACH_TYPE "CRIS"
-#   define CPP_WORDSZ 32
-#   define ALIGNMENT 1
-#   define OS_TYPE "LINUX"
-#   define DYNAMIC_LOADING
-#   define LINUX_STACKBOTTOM
-#   define SEARCH_FOR_DATA_START
-      extern int _end[];
-#   define DATAEND (_end)
-# endif
-
-# ifdef SH
-#   define MACH_TYPE "SH"
-#   define ALIGNMENT 4
-#   ifdef MSWINCE
-#     define OS_TYPE "MSWINCE"
-#     define DATAEND /* not needed */
-#   endif
-#   ifdef LINUX
-#     define OS_TYPE "LINUX"
-#     define LINUX_STACKBOTTOM
-#     define DYNAMIC_LOADING
-#     define SEARCH_FOR_DATA_START
-      extern int _end[];
-#     define DATAEND (_end)
-#   endif
-#   ifdef NETBSD
-#      define OS_TYPE "NETBSD"
-#      define HEURISTIC2
-#      define DATASTART GC_data_start
-#      define DYNAMIC_LOADING
-#   endif
-# endif
- 
-# ifdef SH4
-#   define MACH_TYPE "SH4"
-#   define OS_TYPE "MSWINCE"
-#   define ALIGNMENT 4
-#   define DATAEND /* not needed */
-# endif
-
-# ifdef M32R
-#   define CPP_WORDSZ 32
-#   define MACH_TYPE "M32R"
-#   define ALIGNMENT 4
-#   ifdef LINUX
-#     define OS_TYPE "LINUX"
-#     define LINUX_STACKBOTTOM
-#     undef STACK_GRAN
-#     define STACK_GRAN 0x10000000
-#     define DYNAMIC_LOADING
-#     define SEARCH_FOR_DATA_START
-      extern int _end[];
-#     define DATAEND (_end)
-#   endif
-# endif
-
-# ifdef X86_64
-#   define MACH_TYPE "X86_64"
-#   define ALIGNMENT 8
-#   define CPP_WORDSZ 64
-#   ifndef HBLKSIZE
-#     define HBLKSIZE 4096
-#   endif
-#   define CACHE_LINE_SIZE 64
-#   ifdef LINUX
-#	define OS_TYPE "LINUX"
-#       define LINUX_STACKBOTTOM
-#       if !defined(GC_LINUX_THREADS) || !defined(REDIRECT_MALLOC)
-#	    define MPROTECT_VDB
-#	else
-	    /* We seem to get random errors in incremental mode,	*/
-	    /* possibly because Linux threads is itself a malloc client */
-	    /* and can't deal with the signals.				*/
-#	endif
-#       ifdef __ELF__
-#            define DYNAMIC_LOADING
-#	     ifdef UNDEFINED	/* includes ro data */
-	       extern int _etext[];
-#              define DATASTART ((ptr_t)((((word) (_etext)) + 0xfff) & ~0xfff))
-#	     endif
-#	     include <features.h>
-#	     define SEARCH_FOR_DATA_START
-	     extern int _end[];
-#	     define DATAEND (_end)
-#	else
-	     extern int etext[];
-#            define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
-#       endif
-#       if defined(__GNUC__) && __GNUC__ >= 3
-#	    define PREFETCH(x) __builtin_prefetch((x), 0, 0)
-#	    define PREFETCH_FOR_WRITE(x) __builtin_prefetch((x), 1)
-#	endif
-#   endif
-#   ifdef DARWIN
-#     define OS_TYPE "DARWIN"
-#     define DARWIN_DONT_PARSE_STACK
-#     define DYNAMIC_LOADING
-      /* XXX: see get_end(3), get_etext() and get_end() should not be used.
-	 These aren't used when dyld support is enabled (it is by default) */
-#     define DATASTART ((ptr_t) get_etext())
-#     define DATAEND	((ptr_t) get_end())
-#     define STACKBOTTOM ((ptr_t) 0x7fff5fc00000)
-#     define USE_MMAP
-#     define USE_MMAP_ANON
-#     ifdef GC_DARWIN_THREADS
-#       define MPROTECT_VDB
-#     endif
-#     include <unistd.h>
-#     define GETPAGESIZE() getpagesize()
-      /* There seems to be some issues with trylock hanging on darwin. This
-	 should be looked into some more */
-#     define NO_PTHREAD_TRYLOCK
-#   endif
-#   ifdef FREEBSD
-#	define OS_TYPE "FREEBSD"
-#	ifndef GC_FREEBSD_THREADS
-#	    define MPROTECT_VDB
-#	endif
-#	ifdef __GLIBC__
-#	    define SIG_SUSPEND		(32+6)
-#	    define SIG_THR_RESTART	(32+5)
-	    extern int _end[];
-#	    define DATAEND (_end)
-#	else
-#	    define SIG_SUSPEND SIGUSR1
-#	    define SIG_THR_RESTART SIGUSR2
-#	endif
-#	define FREEBSD_STACKBOTTOM
-#	ifdef __ELF__
-#	    define DYNAMIC_LOADING
-#	endif
-	extern char etext[];
-	extern char * GC_FreeBSDGetDataStart();
-#	define DATASTART GC_FreeBSDGetDataStart(0x1000, &etext)
-#   endif
-#   ifdef NETBSD
-#	define OS_TYPE "NETBSD"
-#	ifdef __ELF__
-#	    define DYNAMIC_LOADING
-#	endif
-#	define HEURISTIC2
-	extern char etext[];
-#	define SEARCH_FOR_DATA_START
-#   endif
-#   ifdef SOLARIS
-#	define OS_TYPE "SOLARIS"
-#	define ELF_CLASS ELFCLASS64
-        extern int _etext[], _end[];
-  	extern ptr_t GC_SysVGetDataStart(size_t, ptr_t);
-#       define DATASTART GC_SysVGetDataStart(0x1000, (ptr_t)_etext)
-#	define DATAEND (_end)
-/*	# define STACKBOTTOM ((ptr_t)(_start)) worked through 2.7,  	*/
-/*      but reportedly breaks under 2.8.  It appears that the stack	*/
-/* 	base is a property of the executable, so this should not break	*/
-/* 	old executables.						*/
-/*  	HEURISTIC2 probably works, but this appears to be preferable.	*/
-/*	Apparently USRSTACK is defined to be USERLIMIT, but in some	*/
-/* 	installations that's undefined.  We work around this with a	*/
-/*	gross hack:							*/
-#       include <sys/vmparam.h>
-#	ifdef USERLIMIT
-	  /* This should work everywhere, but doesn't.	*/
-#	  define STACKBOTTOM USRSTACK
-#       else
-#	  define HEURISTIC2
-#       endif
-/* At least in Solaris 2.5, PROC_VDB gives wrong values for dirty bits. */
-/* It appears to be fixed in 2.8 and 2.9.				*/
-#	ifdef SOLARIS25_PROC_VDB_BUG_FIXED
-#	  define PROC_VDB
-#	endif
-#	define DYNAMIC_LOADING
-#	if !defined(USE_MMAP) && defined(REDIRECT_MALLOC)
-#	    define USE_MMAP
-	    /* Otherwise we now use calloc.  Mmap may result in the	*/
-	    /* heap interleaved with thread stacks, which can result in	*/
-	    /* excessive blacklisting.  Sbrk is unusable since it	*/
-	    /* doesn't interact correctly with the system malloc.	*/
-#	endif
-#       ifdef USE_MMAP
-#         define HEAP_START (ptr_t)0x40000000
-#       else
-#	  define HEAP_START DATAEND
-#       endif
-#   endif
-#   ifdef MSWIN32
-#	define OS_TYPE "MSWIN32"
-		/* STACKBOTTOM and DATASTART are handled specially in 	*/
-		/* os_dep.c.						*/
-#       if !defined(__WATCOMC__)
-#	  define MPROTECT_VDB
-	  /* We also avoided doing this in the past with GC_WIN32_THREADS */
-	  /* Hopefully that's fixed.					  */
-#	endif
-#	if _MSC_VER >= 1300  /* .NET, i.e. > VisualStudio 6	*/
-#         define GWW_VDB
-#	endif
-#       define DATAEND  /* not needed */
-#   endif
-# endif
-
-#if defined(LINUX) && defined(USE_MMAP)
-    /* The kernel may do a somewhat better job merging mappings etc.	*/
-    /* with anonymous mappings.						*/
-#   define USE_MMAP_ANON
-#endif
-
-#if defined(GC_LINUX_THREADS) && defined(REDIRECT_MALLOC)
-    /* Nptl allocates thread stacks with mmap, which is fine.  But it	*/
-    /* keeps a cache of thread stacks.  Thread stacks contain the	*/
-    /* thread control blocks.  These in turn contain a pointer to	*/
-    /* (sizeof (void *) from the beginning of) the dtv for thread-local	*/
-    /* storage, which is calloc allocated.  If we don't scan the cached	*/
-    /* thread stacks, we appear to lose the dtv.  This tends to		*/
-    /* result in something that looks like a bogus dtv count, which	*/
-    /* tends to result in a memset call on a block that is way too	*/
-    /* large.  Sometimes we're lucky and the process just dies ...	*/
-    /* There seems to be a similar issue with some other memory 	*/
-    /* allocated by the dynamic loader.					*/
-    /* This can be avoided by either:					*/
-    /* - Defining USE_PROC_FOR_LIBRARIES here.				*/
-    /*   That performs very poorly, precisely because we end up 	*/
-    /*   scanning cached stacks.					*/
-    /* - Have calloc look at its callers.  That is currently what we do.*/
-    /*   In spite of the fact that it is gross and disgusting.		*/
-/* #   define USE_PROC_FOR_LIBRARIES */
-#endif
-
-# ifndef STACK_GROWS_UP
-#   define STACK_GROWS_DOWN
-# endif
-
-# ifndef CPP_WORDSZ
-#   define CPP_WORDSZ 32
-# endif
-
-# ifndef OS_TYPE
-#   define OS_TYPE ""
-# endif
-
-# ifndef DATAEND
-    extern int end[];
-#   define DATAEND (end)
-# endif
-
-# if defined(SVR4) && !defined(GETPAGESIZE)
-#    include <unistd.h>
-#    define GETPAGESIZE()  sysconf(_SC_PAGESIZE)
-# endif
-
-# ifndef GETPAGESIZE
-#   if defined(SOLARIS) || defined(IRIX5) || defined(LINUX) \
-       || defined(NETBSD) || defined(FREEBSD) || defined(HPUX)
-#	include <unistd.h>
-#   endif
-#   define GETPAGESIZE() getpagesize()
-# endif
-
-# if defined(SOLARIS) || defined(DRSNX) || defined(UTS4)
-	    /* OS has SVR4 generic features.		*/
-    	    /* Probably others also qualify.		*/
-#   define SVR4
-# endif
-
-# if defined(SOLARIS) || defined(DRSNX)
-	    /* OS has SOLARIS style semi-undocumented interface */
-    	    /* to dynamic loader.				*/
-#   define SOLARISDL
-	    /* OS has SOLARIS style signal handlers.		*/
-#   define SUNOS5SIGS
-# endif
-
-# if defined(HPUX)
-#   define SUNOS5SIGS
-# endif
-
-# if defined(FREEBSD) && \
-     (defined(__DragonFly__) || __FreeBSD__ >= 4 || (__FreeBSD_kernel__ >= 4))
-#   define SUNOS5SIGS
-# endif
-
-# ifdef GC_NETBSD_THREADS
-#   define SIGRTMIN 33
-#   define SIGRTMAX 63
-# endif
-
-# if defined(SVR4) || defined(LINUX) || defined(IRIX5) || defined(HPUX) \
-	    || defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) \
-	    || defined(DGUX) || defined(BSD) \
-	    || defined(AIX) || defined(DARWIN) || defined(OSF1) \
-	    || defined(HURD)
-#   define UNIX_LIKE   /* Basic Unix-like system calls work.	*/
-# endif
-
-# if CPP_WORDSZ != 32 && CPP_WORDSZ != 64
-	   -> bad word size
-# endif
-
-# ifdef PCR
-#   undef DYNAMIC_LOADING
-#   undef STACKBOTTOM
-#   undef HEURISTIC1
-#   undef HEURISTIC2
-#   undef PROC_VDB
-#   undef MPROTECT_VDB
-#   define PCR_VDB
-# endif
-
-# ifdef SMALL_CONFIG
-	/* Presumably not worth the space it takes. */
-#   undef PROC_VDB
-#   undef MPROTECT_VDB
-# endif
-
-# ifdef USE_MUNMAP
-#   undef MPROTECT_VDB  /* Can't deal with address space holes. */
-# endif
-
-# ifdef PARALLEL_MARK
-#   undef MPROTECT_VDB  /* For now.	*/
-# endif
-
-# if !defined(PCR_VDB) && !defined(PROC_VDB) && !defined(MPROTECT_VDB) \
-    && !defined(GWW_VDB)
-#   define DEFAULT_VDB
-# endif
-
-# ifndef PREFETCH
-#   define PREFETCH(x)
-#   define NO_PREFETCH
-# endif
-
-# ifndef PREFETCH_FOR_WRITE
-#   define PREFETCH_FOR_WRITE(x)
-#   define NO_PREFETCH_FOR_WRITE
-# endif
-
-# ifndef CACHE_LINE_SIZE
-#   define CACHE_LINE_SIZE 32	/* Wild guess	*/
-# endif
-
-# if defined(LINUX) || defined(HURD) || defined(__GLIBC__)
-#   define REGISTER_LIBRARIES_EARLY
-    /* We sometimes use dl_iterate_phdr, which may acquire an internal	*/
-    /* lock.  This isn't safe after the world has stopped.  So we must	*/
-    /* call GC_register_dynamic_libraries before stopping the world.	*/
-    /* For performance reasons, this may be beneficial on other		*/
-    /* platforms as well, though it should be avoided in win32.		*/
-# endif /* LINUX */
-
-# if defined(SEARCH_FOR_DATA_START)
-    extern ptr_t GC_data_start;
-#   define DATASTART GC_data_start
-# endif
-
-# ifndef CLEAR_DOUBLE
-#   define CLEAR_DOUBLE(x) \
-		((word*)x)[0] = 0; \
-		((word*)x)[1] = 0;
-# endif /* CLEAR_DOUBLE */
-
-# if defined(GC_LINUX_THREADS) && defined(REDIRECT_MALLOC) \
-     && !defined(INCLUDE_LINUX_THREAD_DESCR)
-    /* Will not work, since libc and the dynamic loader use thread 	*/
-    /* locals, sometimes as the only reference.				*/
-#   define INCLUDE_LINUX_THREAD_DESCR
-# endif
-
-# if defined(GC_IRIX_THREADS) && !defined(IRIX5)
-	--> inconsistent configuration
-# endif
-# if defined(GC_LINUX_THREADS) && !defined(LINUX)
-	--> inconsistent configuration
-# endif
-# if defined(GC_NETBSD_THREADS) && !defined(NETBSD)
-	--> inconsistent configuration
-# endif
-# if defined(GC_SOLARIS_THREADS) && !defined(SOLARIS)
-	--> inconsistent configuration
-# endif
-# if defined(GC_HPUX_THREADS) && !defined(HPUX)
-	--> inconsistent configuration
-# endif
-# if defined(GC_AIX_THREADS) && !defined(_AIX)
-	--> inconsistent configuration
-# endif
-# if defined(GC_GNU_THREADS) && !defined(HURD)
-	--> inconsistent configuration
-# endif
-# if defined(GC_WIN32_THREADS) && !defined(MSWIN32) && !defined(CYGWIN32)
-	--> inconsistent configuration
-# endif
-
-# if defined(PCR) || defined(GC_WIN32_THREADS) || defined(GC_PTHREADS)
-#   define THREADS
-# endif
-
-# if !defined(USE_MARK_BITS) && !defined(USE_MARK_BYTES)
-#   if defined(THREADS) && defined(PARALLEL_MARK)
-#     define USE_MARK_BYTES
-#   else
-#     define USE_MARK_BITS
-#   endif
-# endif
-
-# if defined(MSWINCE)
-#   define NO_GETENV
-# endif
-
-# if defined(SPARC)
-#   define ASM_CLEAR_CODE	/* Stack clearing is crucial, and we 	*/
-				/* include assembly code to do it well.	*/
-# endif
-
-  /* Can we save call chain in objects for debugging?   	        */
-  /* SET NFRAMES (# of saved frames) and NARGS (#of args for each 	*/
-  /* frame) to reasonable values for the platform.			*/
-  /* Set SAVE_CALL_CHAIN if we can.  SAVE_CALL_COUNT can be specified 	*/
-  /* at build time, though we feel free to adjust it slightly.		*/
-  /* Define NEED_CALLINFO if we either save the call stack or 		*/
-  /* GC_ADD_CALLER is defined.						*/
-  /* GC_CAN_SAVE_CALL_STACKS is set in gc.h.				*/
-
-#if defined(SPARC)
-# define CAN_SAVE_CALL_ARGS
-#endif
-#if (defined(I386) || defined(X86_64)) && (defined(LINUX) || defined(__GLIBC__))
-	    /* SAVE_CALL_CHAIN is supported if the code is compiled to save	*/
-	    /* frame pointers by default, i.e. no -fomit-frame-pointer flag.	*/
-# define CAN_SAVE_CALL_ARGS
-#endif
-
-# if defined(SAVE_CALL_COUNT) && !defined(GC_ADD_CALLER) \
-	     && defined(GC_CAN_SAVE_CALL_STACKS)
-#   define SAVE_CALL_CHAIN 
-# endif
-# ifdef SAVE_CALL_CHAIN
-#   if defined(SAVE_CALL_NARGS) && defined(CAN_SAVE_CALL_ARGS)
-#     define NARGS SAVE_CALL_NARGS
-#   else
-#     define NARGS 0	/* Number of arguments to save for each call.	*/
-#   endif
-# endif
-# ifdef SAVE_CALL_CHAIN
-#   ifndef SAVE_CALL_COUNT
-#     define NFRAMES 6	/* Number of frames to save. Even for		*/
-			/* alignment reasons.				*/
-#   else
-#     define NFRAMES ((SAVE_CALL_COUNT + 1) & ~1)
-#   endif
-#   define NEED_CALLINFO
-# endif /* SAVE_CALL_CHAIN */
-# ifdef GC_ADD_CALLER
-#   define NFRAMES 1
-#   define NARGS 0
-#   define NEED_CALLINFO
-# endif
-
-# if defined(MAKE_BACK_GRAPH) && !defined(DBG_HDRS_ALL)
-#   define DBG_HDRS_ALL
-# endif
-
-# if defined(POINTER_MASK) && !defined(POINTER_SHIFT)
-#   define POINTER_SHIFT 0
-# endif
-
-# if defined(POINTER_SHIFT) && !defined(POINTER_MASK)
-#   define POINTER_MASK ((GC_word)(-1))
-# endif
-
-# if !defined(FIXUP_POINTER) && defined(POINTER_MASK)
-#   define FIXUP_POINTER(p) (p) = ((p) & (POINTER_MASK) << POINTER_SHIFT)
-# endif
-
-# if defined(FIXUP_POINTER)
-#   define NEED_FIXUP_POINTER 1
-# else
-#   define NEED_FIXUP_POINTER 0
-#   define FIXUP_POINTER(p)
-# endif
-
-# if !defined(MARK_BIT_PER_GRANULE) && !defined(MARK_BIT_PER_OBJ)
-#   define MARK_BIT_PER_GRANULE	/* Usually faster */
-# endif
-
-/* Some static sanity tests.	*/
-# if defined(MARK_BIT_PER_GRANULE) && defined(MARK_BIT_PER_OBJ)
-#   error Define only one of MARK_BIT_PER_GRANULE and MARK_BIT_PER_OBJ.
-# endif
-
-# if defined(STACK_GROWS_UP) && defined(STACK_GROWS_DOWN)
-#   error "Only one of STACK_GROWS_UP and STACK_GROWS_DOWN should be defd."
-# endif
-# if !defined(STACK_GROWS_UP) && !defined(STACK_GROWS_DOWN)
-#   error "One of STACK_GROWS_UP and STACK_GROWS_DOWN should be defd."
-# endif
-
-# if defined(REDIRECT_MALLOC) && defined(THREADS) && !defined(LINUX)
-#   error "REDIRECT_MALLOC with THREADS works at most on Linux."
-# endif
-
-#ifdef GC_PRIVATE_H
-	/* This relies on some type definitions from gc_priv.h, from	*/
-        /* where it's normally included.				*/
-	/*								*/
-	/* How to get heap memory from the OS:				*/
-	/* Note that sbrk()-like allocation is preferred, since it 	*/
-	/* usually makes it possible to merge consecutively allocated	*/
-	/* chunks.  It also avoids unintented recursion with		*/
-	/* -DREDIRECT_MALLOC.						*/
-	/* GET_MEM() returns a HLKSIZE aligned chunk.			*/
-	/* 0 is taken to mean failure. 					*/
-	/* In the case os USE_MMAP, the argument must also be a 	*/
-	/* physical page size.						*/
-	/* GET_MEM is currently not assumed to retrieve 0 filled space, */
-	/* though we should perhaps take advantage of the case in which */
-	/* does.							*/
-	struct hblk;	/* See gc_priv.h.	*/
-# if defined(PCR)
-    char * real_malloc();
-#   define GET_MEM(bytes) HBLKPTR(real_malloc((size_t)bytes + GC_page_size) \
-					  + GC_page_size-1)
-# elif defined(OS2)
-    void * os2_alloc(size_t bytes);
-#   define GET_MEM(bytes) HBLKPTR((ptr_t)os2_alloc((size_t)bytes \
-					    + GC_page_size) \
-					    + GC_page_size-1)
-# elif defined(NEXT) || defined(DOS4GW) || defined(NONSTOP) || \
-		 (defined(AMIGA) && !defined(GC_AMIGA_FASTALLOC)) || \
-		 (defined(SOLARIS) && !defined(USE_MMAP))
-#   define GET_MEM(bytes) HBLKPTR((size_t) calloc(1, (size_t)bytes + GC_page_size) \
-					             + GC_page_size-1)
-# elif defined(MSWIN32)
-    extern ptr_t GC_win32_get_mem();
-#   define GET_MEM(bytes) (struct hblk *)GC_win32_get_mem(bytes)
-# elif defined(MACOS)
-#   if defined(USE_TEMPORARY_MEMORY)
-      extern Ptr GC_MacTemporaryNewPtr(size_t size, Boolean clearMemory);
-#     define GET_MEM(bytes) HBLKPTR( \
-			    GC_MacTemporaryNewPtr(bytes + GC_page_size, true) \
-			    + GC_page_size-1)
-#   else
-#     define GET_MEM(bytes) HBLKPTR( \
-				NewPtrClear(bytes + GC_page_size) + GC_page_size-1)
-#   endif
-# elif defined(MSWINCE)
-    extern ptr_t GC_wince_get_mem();
-#   define GET_MEM(bytes) (struct hblk *)GC_wince_get_mem(bytes)
-# elif defined(AMIGA) && defined(GC_AMIGA_FASTALLOC)
-    extern void *GC_amiga_get_mem(size_t size);
-#   define GET_MEM(bytes) HBLKPTR((size_t) \
-			  GC_amiga_get_mem((size_t)bytes + GC_page_size) \
-			  + GC_page_size-1)
-# else
-    extern ptr_t GC_unix_get_mem();
-#   define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
-# endif
-
-#endif /* GC_PRIVATE_H */
-
-# endif /* GCCONFIG_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/msvc_dbg.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/msvc_dbg.h
deleted file mode 100755
index 4b038fa..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/msvc_dbg.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-  Copyright (c) 2004-2005 Andrei Polushin
-
-  Permission is hereby granted, free of charge,  to any person obtaining a copy
-  of this software and associated documentation files (the "Software"), to deal
-  in the Software without restriction,  including without limitation the rights
-  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-  copies of the Software, and to permit persons to whom the Software is
-  furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included in
-  all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-  THE SOFTWARE.
-*/
-#ifndef _MSVC_DBG_H
-#define _MSVC_DBG_H
-
-#include <stdlib.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !MSVC_DBG_DLL
-#define MSVC_DBG_EXPORT
-#elif MSVC_DBG_BUILD
-#define MSVC_DBG_EXPORT __declspec(dllexport)
-#else
-#define MSVC_DBG_EXPORT __declspec(dllimport)
-#endif
-
-#ifndef MAX_SYM_NAME
-#define MAX_SYM_NAME 2000
-#endif
-
-typedef void*  HANDLE;
-typedef struct _CONTEXT CONTEXT;
-
-MSVC_DBG_EXPORT size_t GetStackFrames(size_t skip, void* frames[], size_t maxFrames);
-MSVC_DBG_EXPORT size_t GetStackFramesFromContext(HANDLE hProcess, HANDLE hThread, CONTEXT* context, size_t skip, void* frames[], size_t maxFrames);
-
-MSVC_DBG_EXPORT size_t GetModuleNameFromAddress(void* address, char* moduleName, size_t size);
-MSVC_DBG_EXPORT size_t GetModuleNameFromStack(size_t skip, char* moduleName, size_t size);
-
-MSVC_DBG_EXPORT size_t GetSymbolNameFromAddress(void* address, char* symbolName, size_t size, size_t* offsetBytes);
-MSVC_DBG_EXPORT size_t GetSymbolNameFromStack(size_t skip, char* symbolName, size_t size, size_t* offsetBytes);
-
-MSVC_DBG_EXPORT size_t GetFileLineFromAddress(void* address, char* fileName, size_t size, size_t* lineNumber, size_t* offsetBytes);
-MSVC_DBG_EXPORT size_t GetFileLineFromStack(size_t skip, char* fileName, size_t size, size_t* lineNumber, size_t* offsetBytes);
-
-MSVC_DBG_EXPORT size_t GetDescriptionFromAddress(void* address, const char* format, char* description, size_t size);
-MSVC_DBG_EXPORT size_t GetDescriptionFromStack(void*const frames[], size_t count, const char* format, char* description[], size_t size);
-
-/* Compatibility with <execinfo.h> */
-MSVC_DBG_EXPORT int    backtrace(void* addresses[], int count);
-MSVC_DBG_EXPORT char** backtrace_symbols(void*const addresses[], int count);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif/*_MSVC_DBG_H*/
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/pthread_stop_world.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/pthread_stop_world.h
deleted file mode 100755
index 93ffcac..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/pthread_stop_world.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef GC_PTHREAD_STOP_WORLD_H
-#define GC_PTHREAD_STOP_WORLD_H
-
-struct thread_stop_info {
-    word last_stop_count;	/* GC_last_stop_count value when thread	*/
-    				/* last successfully handled a suspend	*/
-    				/* signal.				*/
-    ptr_t stack_ptr;  		/* Valid only when stopped.      	*/
-};
-    
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/pthread_support.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/pthread_support.h
deleted file mode 100755
index ac4e64c..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/pthread_support.h
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef GC_PTHREAD_SUPPORT_H
-#define GC_PTHREAD_SUPPORT_H
-
-# include "private/gc_priv.h"
-
-# if defined(GC_PTHREADS) && !defined(GC_WIN32_THREADS)
-     
-#if defined(GC_DARWIN_THREADS)
-# include "private/darwin_stop_world.h"
-#else
-# include "private/pthread_stop_world.h"
-#endif
-
-#ifdef THREAD_LOCAL_ALLOC
-# include "thread_local_alloc.h"
-#endif /* THREAD_LOCAL_ALLOC */
-
-/* We use the allocation lock to protect thread-related data structures. */
-
-/* The set of all known threads.  We intercept thread creation and 	*/
-/* joins.								*/
-/* Protected by allocation/GC lock.					*/
-/* Some of this should be declared volatile, but that's inconsistent	*/
-/* with some library routine declarations.  		 		*/
-typedef struct GC_Thread_Rep {
-    struct GC_Thread_Rep * next;  /* More recently allocated threads	*/
-				  /* with a given pthread id come 	*/
-				  /* first.  (All but the first are	*/
-				  /* guaranteed to be dead, but we may  */
-				  /* not yet have registered the join.) */
-    pthread_t id;
-    /* Extra bookkeeping information the stopping code uses */
-    struct thread_stop_info stop_info;
-    
-    short flags;
-#	define FINISHED 1   	/* Thread has exited.	*/
-#	define DETACHED 2	/* Thread is treated as detached.	*/
-    				/* Thread may really be detached, or	*/
-    				/* it may have have been explicitly	*/
-    				/* registered, in which case we can	*/
-    				/* deallocate its GC_Thread_Rep once	*/
-    				/* it unregisters itself, since it	*/
-    				/* may not return a GC pointer.		*/
-#	define MAIN_THREAD 4	/* True for the original thread only.	*/
-    short thread_blocked;	/* Protected by GC lock.		*/
-    				/* Treated as a boolean value.  If set,	*/
-    				/* thread will acquire GC lock before	*/
-    				/* doing any pointer manipulations, and	*/
-    				/* has set its sp value.  Thus it does	*/
-    				/* not need to be sent a signal to stop	*/
-    				/* it.					*/
-    ptr_t stack_end;		/* Cold end of the stack.		*/
-#   ifdef IA64
-	ptr_t backing_store_end;
-	ptr_t backing_store_ptr;
-#   endif
-    void * status;		/* The value returned from the thread.  */
-    				/* Used only to avoid premature 	*/
-				/* reclamation of any data it might 	*/
-				/* reference.				*/
-    				/* This is unfortunately also the	*/
-    				/* reason we need to intercept join	*/
-    				/* and detach.				*/
-#   ifdef THREAD_LOCAL_ALLOC
-        struct thread_local_freelists tlfs;
-#   endif
-} * GC_thread;
-
-# define THREAD_TABLE_SZ 256	/* Must be power of 2	*/
-extern volatile GC_thread GC_threads[THREAD_TABLE_SZ];
-
-extern GC_bool GC_thr_initialized;
-
-GC_thread GC_lookup_thread(pthread_t id);
-
-void GC_stop_init();
-
-extern GC_bool GC_in_thread_creation;
-	/* We may currently be in thread creation or destruction.	*/
-	/* Only set to TRUE while allocation lock is held.		*/
-	/* When set, it is OK to run GC from unknown thread.		*/
-
-#endif /* GC_PTHREADS && !GC_SOLARIS_THREADS.... etc */
-#endif /* GC_PTHREAD_SUPPORT_H */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/specific.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/specific.h
deleted file mode 100755
index 5fc5ba6..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/specific.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * This is a reimplementation of a subset of the pthread_getspecific/setspecific
- * interface. This appears to outperform the standard linuxthreads one
- * by a significant margin.
- * The major restriction is that each thread may only make a single
- * pthread_setspecific call on a single key.  (The current data structure
- * doesn't really require that.  The restriction should be easily removable.)
- * We don't currently support the destruction functions, though that
- * could be done.
- * We also currently assume that only one pthread_setspecific call
- * can be executed at a time, though that assumption would be easy to remove
- * by adding a lock.
- */
-
-#include <errno.h>
-#include "atomic_ops.h"
-
-/* Called during key creation or setspecific.		*/
-/* For the GC we already hold lock.			*/
-/* Currently allocated objects leak on thread exit.	*/
-/* That's hard to fix, but OK if we allocate garbage	*/
-/* collected memory.					*/
-#define MALLOC_CLEAR(n) GC_INTERNAL_MALLOC(n, NORMAL)
-#define PREFIXED(name) GC_##name
-
-#define TS_CACHE_SIZE 1024
-#define CACHE_HASH(n) (((((long)n) >> 8) ^ (long)n) & (TS_CACHE_SIZE - 1))
-#define TS_HASH_SIZE 1024
-#define HASH(n) (((((long)n) >> 8) ^ (long)n) & (TS_HASH_SIZE - 1))
-
-/* An entry describing a thread-specific value for a given thread.	*/
-/* All such accessible structures preserve the invariant that if either	*/
-/* thread is a valid pthread id or qtid is a valid "quick tread id"	*/
-/* for a thread, then value holds the corresponding thread specific	*/
-/* value.  This invariant must be preserved at ALL times, since		*/
-/* asynchronous reads are allowed.					*/
-typedef struct thread_specific_entry {
-	volatile AO_t qtid;	/* quick thread id, only for cache */
-	void * value;
-	struct thread_specific_entry *next;
-	pthread_t thread;
-} tse;
-
-
-/* We represent each thread-specific datum as two tables.  The first is	*/
-/* a cache, indexed by a "quick thread identifier".  The "quick" thread	*/
-/* identifier is an easy to compute value, which is guaranteed to	*/
-/* determine the thread, though a thread may correspond to more than	*/
-/* one value.  We typically use the address of a page in the stack.	*/
-/* The second is a hash table, indexed by pthread_self().  It is used	*/
-/* only as a backup.							*/
-
-/* Return the "quick thread id".  Default version.  Assumes page size,	*/
-/* or at least thread stack separation, is at least 4K.			*/
-/* Must be defined so that it never returns 0.  (Page 0 can't really	*/
-/* be part of any stack, since that would make 0 a valid stack pointer.)*/
-static __inline__ unsigned long quick_thread_id() {
-    int dummy;
-    return (unsigned long)(&dummy) >> 12;
-}
-
-#define INVALID_QTID ((unsigned long)0)
-#define INVALID_THREADID ((pthread_t)0)
-
-typedef struct thread_specific_data {
-    tse * volatile cache[TS_CACHE_SIZE];
-			/* A faster index to the hash table */
-    tse * hash[TS_HASH_SIZE];
-    pthread_mutex_t lock;
-} tsd;
-
-typedef tsd * PREFIXED(key_t);
-
-extern int PREFIXED(key_create) (tsd ** key_ptr, void (* destructor)(void *));
-
-extern int PREFIXED(setspecific) (tsd * key, void * value);
-
-extern void PREFIXED(remove_specific) (tsd * key);
-
-/* An internal version of getspecific that assumes a cache miss.	*/
-void * PREFIXED(slow_getspecific) (tsd * key, unsigned long qtid,
-				   tse * volatile * cache_entry);
-
-static __inline__ void * PREFIXED(getspecific) (tsd * key) {
-    long qtid = quick_thread_id();
-    unsigned hash_val = CACHE_HASH(qtid);
-    tse * volatile * entry_ptr = key -> cache + hash_val;
-    tse * entry = *entry_ptr;   /* Must be loaded only once.	*/
-    if (EXPECT(entry -> qtid == qtid, 1)) {
-      GC_ASSERT(entry -> thread == pthread_self());
-      return entry -> value;
-    }
-    return PREFIXED(slow_getspecific) (key, qtid, entry_ptr);
-}
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/thread_local_alloc.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/thread_local_alloc.h
deleted file mode 100755
index f5b9c4a..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/private/thread_local_alloc.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/* 
- * Copyright (c) 2000-2005 by Hewlett-Packard Company.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/* Included indirectly from a thread-library-specific file.	*/
-/* This is the interface for thread-local allocation, whose	*/
-/* implementation is mostly thread-library-independent.		*/
-/* Here we describe only the interface that needs to be known	*/
-/* and invoked from the thread support layer;  the actual	*/
-/* implementation also exports GC_malloc and friends, which	*/
-/* are declared in gc.h.					*/
-
-#include "private/gc_priv.h"
-
-#if defined(THREAD_LOCAL_ALLOC)
-
-#include "gc_inline.h"
-
-
-# if defined USE_HPUX_TLS
-#   error USE_HPUX_TLS macro was replaced by USE_COMPILER_TLS
-# endif
-
-# if !defined(USE_PTHREAD_SPECIFIC) && !defined(USE_WIN32_SPECIFIC) && \
-     !defined(USE_WIN32_COMPILER_TLS) && !defined(USE_COMPILER_TLS) && \
-     !defined(USE_CUSTOM_SPECIFIC)
-#   if defined(MSWIN32) || defined(MSWINCE) || defined(CYGWIN32)
-#     if defined(__GNUC__)  /* Fixed for versions past 2.95? */
-#       define USE_WIN32_SPECIFIC
-#     else
-#       define USE_WIN32_COMPILER_TLS
-#     endif /* !GNU */
-#   elif defined(LINUX) && !defined(ARM32) && \
-		 (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >=3))
-#     define USE_COMPILER_TLS
-#   elif (defined(GC_DGUX386_THREADS) || defined(GC_OSF1_THREADS) || \
-         defined(GC_DARWIN_THREADS) || defined(GC_AIX_THREADS)) || \
-	 defined(GC_NETBSD_THREADS)
-#     define USE_PTHREAD_SPECIFIC
-#   elif defined(GC_HPUX_THREADS)
-#     ifdef __GNUC__
-#      define USE_PTHREAD_SPECIFIC
-         /* Empirically, as of gcc 3.3, USE_COMPILER_TLS doesn't work.	*/
-#     else
-#      define USE_COMPILER_TLS
-#     endif
-#   else
-#     define USE_CUSTOM_SPECIFIC  /* Use our own.	*/
-#   endif
-# endif
-
-# include <stdlib.h>
-
-/* One of these should be declared as the tlfs field in the	*/
-/* structure pointed to by a GC_thread.				*/
-typedef struct thread_local_freelists {
-#   ifdef THREAD_LOCAL_ALLOC
-	void * ptrfree_freelists[TINY_FREELISTS];
-	void * normal_freelists[TINY_FREELISTS];
-#	ifdef GC_GCJ_SUPPORT
-	  void * gcj_freelists[TINY_FREELISTS];
-#	  define ERROR_FL (void *)(-1)
-	  	/* Value used for gcj_freelist[-1]; allocation is 	*/
-	  	/* erroneous.						*/
-#	endif
-		/* Free lists contain either a pointer or a small count */
-		/* reflecting the number of granules allocated at that	*/
-		/* size.						*/
-		/* 0 ==> thread-local allocation in use, free list	*/
-		/*       empty.						*/
-		/* > 0, <= DIRECT_GRANULES ==> Using global allocation,	*/
-		/*       too few objects of this size have been		*/
-		/* 	 allocated by this thread.			*/
-		/* >= HBLKSIZE  => pointer to nonempty free list.	*/
-		/* > DIRECT_GRANULES, < HBLKSIZE ==> transition to	*/
-		/*    local alloc, equivalent to 0.			*/
-#	define DIRECT_GRANULES (HBLKSIZE/GRANULE_BYTES)
-		/* Don't use local free lists for up to this much 	*/
-		/* allocation.						*/
-
-#   endif
-} *GC_tlfs;
-
-# if defined(USE_PTHREAD_SPECIFIC)
-#   define GC_getspecific pthread_getspecific
-#   define GC_setspecific pthread_setspecific
-#   define GC_key_create pthread_key_create
-#   define GC_remove_specific(key)  /* No need for cleanup on exit. */
-    typedef pthread_key_t GC_key_t;
-# elif defined(USE_COMPILER_TLS) || defined(USE_WIN32_COMPILER_TLS)
-#   define GC_getspecific(x) (x)
-#   define GC_setspecific(key, v) ((key) = (v), 0)
-#   define GC_key_create(key, d) 0
-#   define GC_remove_specific(key)  /* No need for cleanup on exit. */
-    typedef void * GC_key_t;
-# elif defined(USE_WIN32_SPECIFIC)
-#   include <windows.h>
-#   define GC_getspecific TlsGetValue
-#   define GC_setspecific(key, v) !TlsSetValue(key, v)
-    	/* We assume 0 == success, msft does the opposite.	*/
-#   define GC_key_create(key, d)  \
-	((d) != 0? (ABORT("Destructor unsupported by TlsAlloc"),0) \
-	 	 : (*(key) = TlsAlloc(), 0))
-#   define GC_remove_specific(key)  /* No need for cleanup on thread exit. */
-    	/* Need TlsFree on process exit/detach ? */
-    typedef DWORD GC_key_t;
-# elif defined(USE_CUSTOM_SPECIFIC)
-#   include "private/specific.h"
-# else
-#   error implement me
-# endif
-
-
-/* Each thread structure must be initialized.	*/
-/* This call must be made from the new thread.	*/
-/* Caller holds allocation lock.		*/
-void GC_init_thread_local(GC_tlfs p);
-
-/* Called when a thread is unregistered, or exits.	*/
-/* We hold the allocator lock.				*/
-void GC_destroy_thread_local(GC_tlfs p);
-
-/* The thread support layer must arrange to mark thread-local	*/
-/* free lists explicitly, since the link field is often 	*/
-/* invisible to the marker.  It knows hoe to find all threads;	*/
-/* we take care of an individual thread freelist structure.	*/
-void GC_mark_thread_local_fls_for(GC_tlfs p);
-
-extern
-#if defined(USE_COMPILER_TLS)
-  __thread
-#elif defined(USE_WIN32_COMPILER_TLS)
-  __declspec(thread)
-#endif
-GC_key_t GC_thread_key;
-
-/* This is set up by the thread_local_alloc implementation.  But the	*/
-/* thread support layer calls GC_remove_specific(GC_thread_key)		*/
-/* before a thread exits.						*/
-/* And the thread support layer makes sure that GC_thread_key is traced,*/
-/* if necessary.							*/
-
-#endif /* THREAD_LOCAL_ALLOC */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/weakpointer.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/include/weakpointer.h
deleted file mode 100755
index 76330e6..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/include/weakpointer.h
+++ /dev/null
@@ -1,221 +0,0 @@
-#ifndef	_weakpointer_h_
-#define	_weakpointer_h_
-
-/****************************************************************************
-
-WeakPointer and CleanUp
-
-    Copyright (c) 1991 by Xerox Corporation.  All rights reserved.
-
-    THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-    OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-    Permission is hereby granted to copy this code for any purpose,
-    provided the above notices are retained on all copies.
-
-    Last modified on Mon Jul 17 18:16:01 PDT 1995 by ellis
-
-****************************************************************************/
-
-/****************************************************************************
-
-WeakPointer
-
-A weak pointer is a pointer to a heap-allocated object that doesn't
-prevent the object from being garbage collected. Weak pointers can be
-used to track which objects haven't yet been reclaimed by the
-collector. A weak pointer is deactivated when the collector discovers
-its referent object is unreachable by normal pointers (reachability
-and deactivation are defined more precisely below). A deactivated weak
-pointer remains deactivated forever.
-
-****************************************************************************/
-
-
-template< class T > class WeakPointer {
-public:
-
-WeakPointer( T* t = 0 )
-    /* Constructs a weak pointer for *t. t may be null. It is an error
-       if t is non-null and *t is not a collected object. */
-    {impl = _WeakPointer_New( t );}
-
-T* Pointer()
-    /* wp.Pointer() returns a pointer to the referent object of wp or
-       null if wp has been deactivated (because its referent object
-       has been discovered unreachable by the collector). */
-    {return (T*) _WeakPointer_Pointer( this->impl );}
-
-int operator==( WeakPointer< T > wp2 )
-    /* Given weak pointers wp1 and wp2, if wp1 == wp2, then wp1 and
-       wp2 refer to the same object. If wp1 != wp2, then either wp1
-       and wp2 don't refer to the same object, or if they do, one or
-       both of them has been deactivated. (Note: If objects t1 and t2
-       are never made reachable by their clean-up functions, then
-       WeakPointer<T>(t1) == WeakPointer<T>(t2) if and only t1 == t2.) */
-    {return _WeakPointer_Equal( this->impl, wp2.impl );}
-
-int Hash()
-    /* Returns a hash code suitable for use by multiplicative- and
-       division-based hash tables. If wp1 == wp2, then wp1.Hash() ==
-       wp2.Hash(). */
-    {return _WeakPointer_Hash( this->impl );}
-
-private:
-void* impl;
-};
-
-/*****************************************************************************
-
-CleanUp
-
-A garbage-collected object can have an associated clean-up function
-that will be invoked some time after the collector discovers the
-object is unreachable via normal pointers. Clean-up functions can be
-used to release resources such as open-file handles or window handles
-when their containing objects become unreachable.  If a C++ object has
-a non-empty explicit destructor (i.e. it contains programmer-written
-code), the destructor will be automatically registered as the object's
-initial clean-up function.
-
-There is no guarantee that the collector will detect every unreachable
-object (though it will find almost all of them). Clients should not
-rely on clean-up to cause some action to occur immediately -- clean-up
-is only a mechanism for improving resource usage.
-
-Every object with a clean-up function also has a clean-up queue. When
-the collector finds the object is unreachable, it enqueues it on its
-queue. The clean-up function is applied when the object is removed
-from the queue. By default, objects are enqueued on the garbage
-collector's queue, and the collector removes all objects from its
-queue after each collection. If a client supplies another queue for
-objects, it is his responsibility to remove objects (and cause their
-functions to be called) by polling it periodically.
-
-Clean-up queues allow clean-up functions accessing global data to
-synchronize with the main program. Garbage collection can occur at any
-time, and clean-ups invoked by the collector might access data in an
-inconsistent state. A client can control this by defining an explicit
-queue for objects and polling it at safe points.
-
-The following definitions are used by the specification below:
-
-Given a pointer t to a collected object, the base object BO(t) is the
-value returned by new when it created the object. (Because of multiple
-inheritance, t and BO(t) may not be the same address.)
-
-A weak pointer wp references an object *t if BO(wp.Pointer()) ==
-BO(t).
-
-***************************************************************************/
-
-template< class T, class Data > class CleanUp {
-public:
-
-static void Set( T* t, void c( Data* d, T* t ), Data* d = 0 )
-    /* Sets the clean-up function of object BO(t) to be <c, d>,
-       replacing any previously defined clean-up function for BO(t); c
-       and d can be null, but t cannot. Sets the clean-up queue for
-       BO(t) to be the collector's queue. When t is removed from its
-       clean-up queue, its clean-up will be applied by calling c(d,
-       t). It is an error if *t is not a collected object. */ 
-       {_CleanUp_Set( t, c, d );}
-
-static void Call( T* t )
-    /* Sets the new clean-up function for BO(t) to be null and, if the
-       old one is non-null, calls it immediately, even if BO(t) is
-       still reachable. Deactivates any weak pointers to BO(t). */
-       {_CleanUp_Call( t );}
-
-class Queue {public:
-    Queue()
-        /* Constructs a new queue. */
-            {this->head = _CleanUp_Queue_NewHead();}
-
-    void Set( T* t )
-        /* q.Set(t) sets the clean-up queue of BO(t) to be q. */
-            {_CleanUp_Queue_Set( this->head, t );}
-
-    int Call()
-        /* If q is non-empty, q.Call() removes the first object and
-           calls its clean-up function; does nothing if q is
-           empty. Returns true if there are more objects in the
-           queue. */
-           {return _CleanUp_Queue_Call( this->head );}
-
-    private:
-    void* head;
-    };
-};
-
-/**********************************************************************
-
-Reachability and Clean-up
-
-An object O is reachable if it can be reached via a non-empty path of
-normal pointers from the registers, stacks, global variables, or an
-object with a non-null clean-up function (including O itself),
-ignoring pointers from an object to itself.
-
-This definition of reachability ensures that if object B is accessible
-from object A (and not vice versa) and if both A and B have clean-up
-functions, then A will always be cleaned up before B. Note that as
-long as an object with a clean-up function is contained in a cycle of
-pointers, it will always be reachable and will never be cleaned up or
-collected.
-
-When the collector finds an unreachable object with a null clean-up
-function, it atomically deactivates all weak pointers referencing the
-object and recycles its storage. If object B is accessible from object
-A via a path of normal pointers, A will be discovered unreachable no
-later than B, and a weak pointer to A will be deactivated no later
-than a weak pointer to B.
-
-When the collector finds an unreachable object with a non-null
-clean-up function, the collector atomically deactivates all weak
-pointers referencing the object, redefines its clean-up function to be
-null, and enqueues it on its clean-up queue. The object then becomes
-reachable again and remains reachable at least until its clean-up
-function executes.
-
-The clean-up function is assured that its argument is the only
-accessible pointer to the object. Nothing prevents the function from
-redefining the object's clean-up function or making the object
-reachable again (for example, by storing the pointer in a global
-variable).
-
-If the clean-up function does not make its object reachable again and
-does not redefine its clean-up function, then the object will be
-collected by a subsequent collection (because the object remains
-unreachable and now has a null clean-up function). If the clean-up
-function does make its object reachable again and a clean-up function
-is subsequently redefined for the object, then the new clean-up
-function will be invoked the next time the collector finds the object
-unreachable.
-
-Note that a destructor for a collected object cannot safely redefine a
-clean-up function for its object, since after the destructor executes,
-the object has been destroyed into "raw memory". (In most
-implementations, destroying an object mutates its vtbl.)
-
-Finally, note that calling delete t on a collected object first
-deactivates any weak pointers to t and then invokes its clean-up
-function (destructor).
-
-**********************************************************************/
-
-extern "C" {
-    void* _WeakPointer_New( void* t );
-    void* _WeakPointer_Pointer( void* wp );
-    int _WeakPointer_Equal( void* wp1, void* wp2 );
-    int _WeakPointer_Hash( void* wp );
-    void _CleanUp_Set( void* t, void (*c)( void* d, void* t ), void* d );
-    void _CleanUp_Call( void* t );
-    void* _CleanUp_Queue_NewHead ();
-    void _CleanUp_Queue_Set( void* h, void* t );
-    int _CleanUp_Queue_Call( void* h );
-}
-
-#endif /* _weakpointer_h_ */
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/install-sh b/SRC/Boost/tools/build/v2/engine/boehm_gc/install-sh
deleted file mode 100755
index bbf0937..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/install-sh
+++ /dev/null
@@ -1,251 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.  It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-	-c) instcmd="$cpprog"
-	    shift
-	    continue;;
-
-	-d) dir_arg=true
-	    shift
-	    continue;;
-
-	-m) chmodcmd="$chmodprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-o) chowncmd="$chownprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-g) chgrpcmd="$chgrpprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-s) stripcmd="$stripprog"
-	    shift
-	    continue;;
-
-	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
-	    shift
-	    continue;;
-
-	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-	    shift
-	    continue;;
-
-	*)  if [ x"$src" = x ]
-	    then
-		src=$1
-	    else
-		# this colon is to work around a 386BSD /bin/sh bug
-		:
-		dst=$1
-	    fi
-	    shift
-	    continue;;
-    esac
-done
-
-if [ x"$src" = x ]
-then
-	echo "install:	no input file specified"
-	exit 1
-else
-	:
-fi
-
-if [ x"$dir_arg" != x ]; then
-	dst=$src
-	src=""
-	
-	if [ -d $dst ]; then
-		instcmd=:
-		chmodcmd=""
-	else
-		instcmd=$mkdirprog
-	fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad 
-# if $src (and thus $dsttmp) contains '*'.
-
-	if [ -f $src -o -d $src ]
-	then
-		:
-	else
-		echo "install:  $src does not exist"
-		exit 1
-	fi
-	
-	if [ x"$dst" = x ]
-	then
-		echo "install:	no destination specified"
-		exit 1
-	else
-		:
-	fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-	if [ -d $dst ]
-	then
-		dst="$dst"/`basename $src`
-	else
-		:
-	fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-	'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
-	pathcomp="${pathcomp}${1}"
-	shift
-
-	if [ ! -d "${pathcomp}" ] ;
-        then
-		$mkdirprog "${pathcomp}"
-	else
-		:
-	fi
-
-	pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
-	$doit $instcmd $dst &&
-
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
-	if [ x"$transformarg" = x ] 
-	then
-		dstfile=`basename $dst`
-	else
-		dstfile=`basename $dst $transformbasename | 
-			sed $transformarg`$transformbasename
-	fi
-
-# don't allow the sed command to completely eliminate the filename
-
-	if [ x"$dstfile" = x ] 
-	then
-		dstfile=`basename $dst`
-	else
-		:
-	fi
-
-# Make a temp file name in the proper directory.
-
-	dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
-	$doit $instcmd $src $dsttmp &&
-
-	trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi &&
-
-# Now rename the file to the real destination.
-
-	$doit $rmcmd -f $dstdir/$dstfile &&
-	$doit $mvcmd $dsttmp $dstdir/$dstfile 
-
-fi &&
-
-
-exit 0
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/libtool.m4 b/SRC/Boost/tools/build/v2/engine/boehm_gc/libtool.m4
deleted file mode 100755
index cf05d75..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/libtool.m4
+++ /dev/null
@@ -1,6397 +0,0 @@
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
-## Free Software Foundation, Inc.
-## Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-##
-## This file is free software; the Free Software Foundation gives
-## unlimited permission to copy and/or distribute it, with or without
-## modifications, as long as this notice is preserved.
-
-# serial 48 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_deplibs'
-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
-
-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_outfile=conftest.$ac_objext
-printf "$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_outfile=conftest.$ac_objext
-printf "$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 conftest*
-])# _LT_LINKER_BOILERPLATE
-
-
-# _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_LINK_IFELSE(AC_LANG_PROGRAM,[
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; 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-*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-*linux*)
-          LD="${LD-ld} -m elf_i386"
-          ;;
-        ppc64-*linux*|powerpc64-*linux*)
-          LD="${LD-ld} -m elf32ppclinux"
-          ;;
-        s390x-*linux*)
-          LD="${LD-ld} -m elf_s390"
-          ;;
-        sparc64-*linux*)
-          LD="${LD-ld} -m elf32_sparc"
-          ;;
-      esac
-      ;;
-    *64-bit*)
-      case $host in
-        x86_64-*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" ;;
-      *)    LD="${LD-ld} -64" ;;
-      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])
-   printf "$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_CACHE_CHECK([$1], [$2],
-  [$2=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $3"
-   printf "$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 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
-    ;;
-  *)
-    # If test is not a shell built-in, we'll probably end up computing a
-    # maximum length that is only half of the actual maximum length, but
-    # we can't tell.
-    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`
-    ;;
-  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="-dld"],
-	[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="-dld"])
-	      ])
-	    ])
-	  ])
-	])
-      ])
-    ;;
-  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_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
-   printf "$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"
-         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_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"
-if test "$GCC" = yes; then
-  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 ';' >/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.
-    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
-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'
-  ;;
-
-aix4* | aix5*)
-  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`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
-  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
-  ;;
-
-kfreebsd*-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
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
-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
-    ;;
-  freebsd*) # from 4.6 on
-    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'
-  ;;
-
-interix3*)
-  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*)
-  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
-
-  # 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)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-knetbsd*-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
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU 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"
-  ;;
-
-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
-
-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_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 recognise 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 recognise 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 recognise 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
-aix4* | aix5*)
-  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'.
-  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | kfreebsd*-gnu | 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
-  ;;
-
-interix3*)
-  # 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*)
-  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
-  ;;
-
-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;\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
-
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-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
-  ;;
-
-aix4* | aix5*)
-  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)=
-
-# 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;\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
-
-# 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
-    ;;
-  aix4* | aix5*)
-    if test "$host_cpu" = ia64; then
-      # On IA64, the linker does run time linking by default, so we don't
-      # have to do anything special.
-      aix_use_runtimelinking=no
-      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]].*|aix5*)
-	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
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	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*)
-        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 "$GXX" = yes ; then
-      lt_int_apple_cc_single_mod=no
-      output_verbose_link_cmd='echo'
-      if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
-       lt_int_apple_cc_single_mod=yes
-      fi
-      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      else
-          _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'
-        fi
-        _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
-          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          else
-            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          fi
-            _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}'
-      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` $verstring'
-          _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 $verstring~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* | kfreebsd*-gnu | 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(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-        ;;
-      *)
-	_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
-    ;;
-  interix3*)
-    _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*)
-    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*)
-        # 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'
-	;;
-    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*)
-    _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'
-    ;;
-  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 C++ compiler is used as linker so we must use $wl
-	    # flag to pass the commands to the underlying system
-	    # linker. We must also pass each convience library through
-	    # to the system linker between allextract/defaultextract.
-	    # The C++ compiler will combine linker options so we
-	    # cannot just pass the convience library names through
-	    # without $wl.
-	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}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'
-	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"
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-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],[
-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
-
-# PORTME: override above test on systems where it is broken
-ifelse([$1],[CXX],
-[case $host_os in
-interix3*)
-  # 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)=
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC*)
-    # 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.
-    _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
-    ;;
-  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\n      return\n      end\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="      program t\n      end\n"
-
-# 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
-  ;;
-aix4* | aix5*)
-  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 {}\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
-
-# 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
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-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 }\n'
-
-# 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(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(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
-# 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 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_AC_TAGVAR(fix_srcfile_path, $1)"
-
-# 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([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*)
-  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 -f 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* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | 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).
-      _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)=
-      ;;
-    interix3*)
-      # 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
-      aix4* | aix5*)
-	# 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* | kfreebsd*-gnu | 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*)
-	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*)
-	    # 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'
-	    ;;
-	  *)
-	    ;;
-	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* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | 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).
-      _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'
-      ;;
-
-    interix3*)
-      # 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* | 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).
-      _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*)
-      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'
-        ;;
-      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'
-      ;;
-
-    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_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_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_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
-  aix4* | aix5*)
-    # 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
-],[
-  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_"
-  # 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.
-  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
-    aix3* | aix4* | aix5*)
-      # 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/'\'' | $SED -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
-      ;;
-
-    interix3*)
-      _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'
-      ;;
-
-    linux*)
-      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
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$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 -shared'"$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
-      ;;
-
-    aix4* | aix5*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	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]].*|aix5*)
-	  for ld_flag in $LDFLAGS; do
-  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-  	    aix_use_runtimelinking=yes
-  	    break
-  	  fi
-	  done
-	  ;;
-	esac
-
-	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
-  	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	  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_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 -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~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}'
-    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` $verstring'
-         _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 $verstring~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* | kfreebsd*-gnu | 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*)
-      _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
-      ;;
-
-    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 linker options so we
- 	# cannot just pass the convience library names through
- 	# without $wl, iff we do not link with $LD.
- 	# Luckily, gcc supports the same syntax we need for Sun Studio.
- 	# Supported since Solaris 2.6 (maybe 2.5.1?)
- 	case $wlarc in
- 	'')
- 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
- 	*)
- 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- 	esac ;;
-      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*)
-      _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*
-      printf "$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)
-])
-
-############################################################
-# 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
-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_MSG_RESULT([$SED])
-])
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/ltmain.sh b/SRC/Boost/tools/build/v2/engine/boehm_gc/ltmain.sh
deleted file mode 100755
index 06823e0..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/ltmain.sh
+++ /dev/null
@@ -1,6863 +0,0 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-# 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.
-
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION=1.5.22
-TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
-
-# 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
-
-# Check that we have a working $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, and then maybe $echo will work.
-  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit $EXIT_SUCCESS
-fi
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# 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'
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  SP2NL='tr \040 \012'
-  NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  SP2NL='tr \100 \n'
-  NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
-  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
-fi
-if test "${LANG+set}" = set; then
-  save_LANG="$LANG"; LANG=C; export LANG
-fi
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" 	$lt_nl"
-
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-  $echo "$modename: not configured to build any kind of library" 1>&2
-  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-  exit $EXIT_FAILURE
-fi
-
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-duplicate_deps=no
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-
-#####################################
-# Shell function definitions:
-# This seems to be the best place for them
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible.  If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
-    my_template="${TMPDIR-/tmp}/${1-$progname}"
-
-    if test "$run" = ":"; then
-      # Return a directory name, but don't create it in dry-run mode
-      my_tmpdir="${my_template}-$$"
-    else
-
-      # If mktemp works, use that first and foremost
-      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
-      if test ! -d "$my_tmpdir"; then
-	# Failing that, at least try and use $RANDOM to avoid a race
-	my_tmpdir="${my_template}-${RANDOM-0}$$"
-
-	save_mktempdir_umask=`umask`
-	umask 0077
-	$mkdir "$my_tmpdir"
-	umask $save_mktempdir_umask
-      fi
-
-      # If we're not in dry-run mode, bomb out on failure
-      test -d "$my_tmpdir" || {
-        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
-	exit $EXIT_FAILURE
-      }
-    fi
-
-    $echo "X$my_tmpdir" | $Xsed
-}
-
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
-{
-  win32_libid_type="unknown"
-  win32_fileres=`file -L $1 2>/dev/null`
-  case $win32_fileres in
-  *ar\ archive\ import\ library*) # definitely import
-    win32_libid_type="x86 archive import"
-    ;;
-  *ar\ archive*) # could be an import, or static
-    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
-      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
-      win32_nmres=`eval $NM -f posix -A $1 | \
-	$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
-      case $win32_nmres in
-      import*)  win32_libid_type="x86 archive import";;
-      *)        win32_libid_type="x86 archive static";;
-      esac
-    fi
-    ;;
-  *DLL*)
-    win32_libid_type="x86 DLL"
-    ;;
-  *executable*) # but shell scripts are "executable" too...
-    case $win32_fileres in
-    *MS\ Windows\ PE\ Intel*)
-      win32_libid_type="x86 DLL"
-      ;;
-    esac
-    ;;
-  esac
-  $echo $win32_libid_type
-}
-
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
-    if test -n "$available_tags" && test -z "$tagname"; then
-      CC_quoted=
-      for arg in $CC; do
-	case $arg in
-	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-	CC_quoted="$CC_quoted $arg"
-      done
-      case $@ in
-      # Blanks in the command may have been stripped by the calling shell,
-      # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
-      # Blanks at the start of $base_compile will cause this to fail
-      # if we don't check for them as well.
-      *)
-	for z in $available_tags; do
-	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
-	    # Evaluate the configuration.
-	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
-	    CC_quoted=
-	    for arg in $CC; do
-	    # Double-quote args containing other shell metacharacters.
-	    case $arg in
-	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	      arg="\"$arg\""
-	      ;;
-	    esac
-	    CC_quoted="$CC_quoted $arg"
-	  done
-	    case "$@ " in
-	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
-	      # The compiler in the base compile command matches
-	      # the one in the tagged configuration.
-	      # Assume this is the tagged configuration we want.
-	      tagname=$z
-	      break
-	      ;;
-	    esac
-	  fi
-	done
-	# If $tagname still isn't set, then no tagged configuration
-	# was found and let the user know that the "--tag" command
-	# line option must be used.
-	if test -z "$tagname"; then
-	  $echo "$modename: unable to infer tagged configuration"
-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
-	  exit $EXIT_FAILURE
-#        else
-#          $echo "$modename: using $tagname tagged configuration"
-	fi
-	;;
-      esac
-    fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
-    f_ex_an_ar_dir="$1"; shift
-    f_ex_an_ar_oldlib="$1"
-
-    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
-    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
-    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-     :
-    else
-      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
-      exit $EXIT_FAILURE
-    fi
-}
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
-    my_gentop="$1"; shift
-    my_oldlibs=${1+"$@"}
-    my_oldobjs=""
-    my_xlib=""
-    my_xabs=""
-    my_xdir=""
-    my_status=""
-
-    $show "${rm}r $my_gentop"
-    $run ${rm}r "$my_gentop"
-    $show "$mkdir $my_gentop"
-    $run $mkdir "$my_gentop"
-    my_status=$?
-    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
-      exit $my_status
-    fi
-
-    for my_xlib in $my_oldlibs; do
-      # Extract the objects.
-      case $my_xlib in
-	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
-	*) my_xabs=`pwd`"/$my_xlib" ;;
-      esac
-      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
-      my_xdir="$my_gentop/$my_xlib"
-
-      $show "${rm}r $my_xdir"
-      $run ${rm}r "$my_xdir"
-      $show "$mkdir $my_xdir"
-      $run $mkdir "$my_xdir"
-      exit_status=$?
-      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
-	exit $exit_status
-      fi
-      case $host in
-      *-darwin*)
-	$show "Extracting $my_xabs"
-	# Do not bother doing anything if just a dry run
-	if test -z "$run"; then
-	  darwin_orig_dir=`pwd`
-	  cd $my_xdir || exit $?
-	  darwin_archive=$my_xabs
-	  darwin_curdir=`pwd`
-	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
-	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
-	  if test -n "$darwin_arches"; then 
-	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
-	    darwin_arch=
-	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
-	    for darwin_arch in  $darwin_arches ; do
-	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
-	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
-	      cd "$darwin_curdir"
-	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
-	    done # $darwin_arches
-      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
-	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
-	    darwin_file=
-	    darwin_files=
-	    for darwin_file in $darwin_filelist; do
-	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
-	      lipo -create -output "$darwin_file" $darwin_files
-	    done # $darwin_filelist
-	    ${rm}r unfat-$$
-	    cd "$darwin_orig_dir"
-	  else
-	    cd "$darwin_orig_dir"
- 	    func_extract_an_archive "$my_xdir" "$my_xabs"
-	  fi # $darwin_arches
-	fi # $run
-	;;
-      *)
-        func_extract_an_archive "$my_xdir" "$my_xabs"
-        ;;
-      esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
-    done
-    func_extract_archives_result="$my_oldobjs"
-}
-# End of Shell function definitions
-#####################################
-
-# Darwin sucks
-eval std_shrext=\"$shrext_cmds\"
-
-disable_libs=no
-
-# Parse our command line options once, thoroughly.
-while test "$#" -gt 0
-do
-  arg="$1"
-  shift
-
-  case $arg in
-  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$prev"; then
-    case $prev in
-    execute_dlfiles)
-      execute_dlfiles="$execute_dlfiles $arg"
-      ;;
-    tag)
-      tagname="$arg"
-      preserve_args="${preserve_args}=$arg"
-
-      # Check whether tagname contains only valid characters
-      case $tagname in
-      *[!-_A-Za-z0-9,/]*)
-	$echo "$progname: invalid tag name: $tagname" 1>&2
-	exit $EXIT_FAILURE
-	;;
-      esac
-
-      case $tagname in
-      CC)
-	# Don't test for the "default" C tag, as we know, it's there, but
-	# not specially marked.
-	;;
-      *)
-	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
-	  taglist="$taglist $tagname"
-	  # Evaluate the configuration.
-	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
-	else
-	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
-	fi
-	;;
-      esac
-      ;;
-    *)
-      eval "$prev=\$arg"
-      ;;
-    esac
-
-    prev=
-    prevopt=
-    continue
-  fi
-
-  # Have we seen a non-optional argument yet?
-  case $arg in
-  --help)
-    show_help=yes
-    ;;
-
-  --version)
-    $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
-    $echo
-    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
-    $echo "This is free software; see the source for copying conditions.  There is NO"
-    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-    exit $?
-    ;;
-
-  --config)
-    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
-    # Now print the configurations for the tags.
-    for tagname in $taglist; do
-      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
-    done
-    exit $?
-    ;;
-
-  --debug)
-    $echo "$progname: enabling shell trace mode"
-    set -x
-    preserve_args="$preserve_args $arg"
-    ;;
-
-  --dry-run | -n)
-    run=:
-    ;;
-
-  --features)
-    $echo "host: $host"
-    if test "$build_libtool_libs" = yes; then
-      $echo "enable shared libraries"
-    else
-      $echo "disable shared libraries"
-    fi
-    if test "$build_old_libs" = yes; then
-      $echo "enable static libraries"
-    else
-      $echo "disable static libraries"
-    fi
-    exit $?
-    ;;
-
-  --finish) mode="finish" ;;
-
-  --mode) prevopt="--mode" prev=mode ;;
-  --mode=*) mode="$optarg" ;;
-
-  --preserve-dup-deps) duplicate_deps="yes" ;;
-
-  --quiet | --silent)
-    show=:
-    preserve_args="$preserve_args $arg"
-    ;;
-
-  --tag)
-    prevopt="--tag"
-    prev=tag
-    preserve_args="$preserve_args --tag"
-    ;;
-  --tag=*)
-    set tag "$optarg" ${1+"$@"}
-    shift
-    prev=tag
-    preserve_args="$preserve_args --tag"
-    ;;
-
-  -dlopen)
-    prevopt="-dlopen"
-    prev=execute_dlfiles
-    ;;
-
-  -*)
-    $echo "$modename: unrecognized option \`$arg'" 1>&2
-    $echo "$help" 1>&2
-    exit $EXIT_FAILURE
-    ;;
-
-  *)
-    nonopt="$arg"
-    break
-    ;;
-  esac
-done
-
-if test -n "$prevopt"; then
-  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
-  $echo "$help" 1>&2
-  exit $EXIT_FAILURE
-fi
-
-case $disable_libs in
-no) 
-  ;;
-shared)
-  build_libtool_libs=no
-  build_old_libs=yes
-  ;;
-static)
-  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-  ;;
-esac
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-if test -z "$show_help"; then
-
-  # Infer the operation mode.
-  if test -z "$mode"; then
-    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
-    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
-    case $nonopt in
-    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
-      mode=link
-      for arg
-      do
-	case $arg in
-	-c)
-	   mode=compile
-	   break
-	   ;;
-	esac
-      done
-      ;;
-    *db | *dbx | *strace | *truss)
-      mode=execute
-      ;;
-    *install*|cp|mv)
-      mode=install
-      ;;
-    *rm)
-      mode=uninstall
-      ;;
-    *)
-      # If we have no mode, but dlfiles were specified, then do execute mode.
-      test -n "$execute_dlfiles" && mode=execute
-
-      # Just use the default operation mode.
-      if test -z "$mode"; then
-	if test -n "$nonopt"; then
-	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
-	else
-	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
-	fi
-      fi
-      ;;
-    esac
-  fi
-
-  # Only execute mode is allowed to have -dlopen flags.
-  if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
-    $echo "$help" 1>&2
-    exit $EXIT_FAILURE
-  fi
-
-  # Change the help message to a mode-specific one.
-  generic_help="$help"
-  help="Try \`$modename --help --mode=$mode' for more information."
-
-  # These modes are in order of execution frequency so that they run quickly.
-  case $mode in
-  # libtool compile mode
-  compile)
-    modename="$modename: compile"
-    # Get the compilation command and the source file.
-    base_compile=
-    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
-    suppress_opt=yes
-    suppress_output=
-    arg_mode=normal
-    libobj=
-    later=
-
-    for arg
-    do
-      case $arg_mode in
-      arg  )
-	# do not "continue".  Instead, add this to base_compile
-	lastarg="$arg"
-	arg_mode=normal
-	;;
-
-      target )
-	libobj="$arg"
-	arg_mode=normal
-	continue
-	;;
-
-      normal )
-	# Accept any command-line options.
-	case $arg in
-	-o)
-	  if test -n "$libobj" ; then
-	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	  arg_mode=target
-	  continue
-	  ;;
-
-	-static | -prefer-pic | -prefer-non-pic)
-	  later="$later $arg"
-	  continue
-	  ;;
-
-	-no-suppress)
-	  suppress_opt=no
-	  continue
-	  ;;
-
-	-Xcompiler)
-	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
-	  continue      #  The current "srcfile" will either be retained or
-	  ;;            #  replaced later.  I would guess that would be a bug.
-
-	-Wc,*)
-	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
-	  lastarg=
-	  save_ifs="$IFS"; IFS=','
- 	  for arg in $args; do
-	    IFS="$save_ifs"
-
-	    # Double-quote args containing other shell metacharacters.
-	    # Many Bourne shells cannot handle close brackets correctly
-	    # in scan sets, so we specify it separately.
-	    case $arg in
-	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	      arg="\"$arg\""
-	      ;;
-	    esac
-	    lastarg="$lastarg $arg"
-	  done
-	  IFS="$save_ifs"
-	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
-
-	  # Add the arguments to base_compile.
-	  base_compile="$base_compile $lastarg"
-	  continue
-	  ;;
-
-	* )
-	  # Accept the current argument as the source file.
-	  # The previous "srcfile" becomes the current argument.
-	  #
-	  lastarg="$srcfile"
-	  srcfile="$arg"
-	  ;;
-	esac  #  case $arg
-	;;
-      esac    #  case $arg_mode
-
-      # Aesthetically quote the previous argument.
-      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
-      case $lastarg in
-      # Double-quote args containing other shell metacharacters.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, and some SunOS ksh mistreat backslash-escaping
-      # in scan sets (worked around with variable expansion),
-      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
-      # at all, so we specify them separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	lastarg="\"$lastarg\""
-	;;
-      esac
-
-      base_compile="$base_compile $lastarg"
-    done # for arg
-
-    case $arg_mode in
-    arg)
-      $echo "$modename: you must specify an argument for -Xcompile"
-      exit $EXIT_FAILURE
-      ;;
-    target)
-      $echo "$modename: you must specify a target with \`-o'" 1>&2
-      exit $EXIT_FAILURE
-      ;;
-    *)
-      # Get the name of the library object.
-      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    xform='[cCFSifmso]'
-    case $libobj in
-    *.ada) xform=ada ;;
-    *.adb) xform=adb ;;
-    *.ads) xform=ads ;;
-    *.asm) xform=asm ;;
-    *.c++) xform=c++ ;;
-    *.cc) xform=cc ;;
-    *.ii) xform=ii ;;
-    *.class) xform=class ;;
-    *.cpp) xform=cpp ;;
-    *.cxx) xform=cxx ;;
-    *.f90) xform=f90 ;;
-    *.for) xform=for ;;
-    *.java) xform=java ;;
-    esac
-
-    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
-    case $libobj in
-    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
-    *)
-      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
-      exit $EXIT_FAILURE
-      ;;
-    esac
-
-    func_infer_tag $base_compile
-
-    for arg in $later; do
-      case $arg in
-      -static)
-	build_old_libs=yes
-	continue
-	;;
-
-      -prefer-pic)
-	pic_mode=yes
-	continue
-	;;
-
-      -prefer-non-pic)
-	pic_mode=no
-	continue
-	;;
-      esac
-    done
-
-    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
-    case $qlibobj in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	qlibobj="\"$qlibobj\"" ;;
-    esac
-    test "X$libobj" != "X$qlibobj" \
-	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
-	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
-    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
-    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
-    if test "X$xdir" = "X$obj"; then
-      xdir=
-    else
-      xdir=$xdir/
-    fi
-    lobj=${xdir}$objdir/$objname
-
-    if test -z "$base_compile"; then
-      $echo "$modename: you must specify a compilation command" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
-      removelist="$obj $lobj $libobj ${libobj}T"
-    else
-      removelist="$lobj $libobj ${libobj}T"
-    fi
-
-    $run $rm $removelist
-    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-
-    # On Cygwin there's no "real" PIC flag so we must build both object types
-    case $host_os in
-    cygwin* | mingw* | pw32* | os2*)
-      pic_mode=default
-      ;;
-    esac
-    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
-      # non-PIC code in shared libraries is not supported
-      pic_mode=default
-    fi
-
-    # Calculate the filename of the output object if compiler does
-    # not support -o with -c
-    if test "$compiler_c_o" = no; then
-      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
-      lockfile="$output_obj.lock"
-      removelist="$removelist $output_obj $lockfile"
-      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-    else
-      output_obj=
-      need_locks=no
-      lockfile=
-    fi
-
-    # Lock this critical section if it is needed
-    # We use this script file to make the link, it avoids creating a new file
-    if test "$need_locks" = yes; then
-      until $run ln "$progpath" "$lockfile" 2>/dev/null; do
-	$show "Waiting for $lockfile to be removed"
-	sleep 2
-      done
-    elif test "$need_locks" = warn; then
-      if test -f "$lockfile"; then
-	$echo "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$run $rm $removelist
-	exit $EXIT_FAILURE
-      fi
-      $echo "$srcfile" > "$lockfile"
-    fi
-
-    if test -n "$fix_srcfile_path"; then
-      eval srcfile=\"$fix_srcfile_path\"
-    fi
-    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
-    case $qsrcfile in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-      qsrcfile="\"$qsrcfile\"" ;;
-    esac
-
-    $run $rm "$libobj" "${libobj}T"
-
-    # Create a libtool object file (analogous to a ".la" file),
-    # but don't create it if we're doing a dry run.
-    test -z "$run" && cat > ${libobj}T <<EOF
-# $libobj - a libtool object file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-EOF
-
-    # Only build a PIC object if we are building libtool libraries.
-    if test "$build_libtool_libs" = yes; then
-      # Without this assignment, base_compile gets emptied.
-      fbsd_hideous_sh_bug=$base_compile
-
-      if test "$pic_mode" != no; then
-	command="$base_compile $qsrcfile $pic_flag"
-      else
-	# Don't build PIC code
-	command="$base_compile $qsrcfile"
-      fi
-
-      if test ! -d "${xdir}$objdir"; then
-	$show "$mkdir ${xdir}$objdir"
-	$run $mkdir ${xdir}$objdir
-	exit_status=$?
-	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
-	  exit $exit_status
-	fi
-      fi
-
-      if test -z "$output_obj"; then
-	# Place PIC objects in $objdir
-	command="$command -o $lobj"
-      fi
-
-      $run $rm "$lobj" "$output_obj"
-
-      $show "$command"
-      if $run eval "$command"; then :
-      else
-	test -n "$output_obj" && $run $rm $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      if test "$need_locks" = warn &&
-	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$run $rm $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
-	$show "$mv $output_obj $lobj"
-	if $run $mv $output_obj $lobj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-      fi
-
-      # Append the name of the PIC object to the libtool object file.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object='$objdir/$objname'
-
-EOF
-
-      # Allow error messages only from the first compilation.
-      if test "$suppress_opt" = yes; then
-        suppress_output=' >/dev/null 2>&1'
-      fi
-    else
-      # No PIC object so indicate it doesn't exist in the libtool
-      # object file.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object=none
-
-EOF
-    fi
-
-    # Only build a position-dependent object if we build old libraries.
-    if test "$build_old_libs" = yes; then
-      if test "$pic_mode" != yes; then
-	# Don't build PIC code
-	command="$base_compile $qsrcfile"
-      else
-	command="$base_compile $qsrcfile $pic_flag"
-      fi
-      if test "$compiler_c_o" = yes; then
-	command="$command -o $obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      command="$command$suppress_output"
-      $run $rm "$obj" "$output_obj"
-      $show "$command"
-      if $run eval "$command"; then :
-      else
-	$run $rm $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      if test "$need_locks" = warn &&
-	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$run $rm $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed
-      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
-	$show "$mv $output_obj $obj"
-	if $run $mv $output_obj $obj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
-      fi
-
-      # Append the name of the non-PIC object the libtool object file.
-      # Only append if the libtool object file exists.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object='$objname'
-
-EOF
-    else
-      # Append the name of the non-PIC object the libtool object file.
-      # Only append if the libtool object file exists.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object=none
-
-EOF
-    fi
-
-    $run $mv "${libobj}T" "${libobj}"
-
-    # Unlock the critical section if it was locked
-    if test "$need_locks" != no; then
-      $run $rm "$lockfile"
-    fi
-
-    exit $EXIT_SUCCESS
-    ;;
-
-  # libtool link mode
-  link | relink)
-    modename="$modename: link"
-    case $host in
-    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-      # It is impossible to link a dll without this setting, and
-      # we shouldn't force the makefile maintainer to figure out
-      # which system we are compiling for in order to pass an extra
-      # flag for every libtool invocation.
-      # allow_undefined=no
-
-      # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll which has undefined symbols, in which case not
-      # even a static library is built.  For now, we need to specify
-      # -no-undefined on the libtool link line when we can be certain
-      # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
-      ;;
-    *)
-      allow_undefined=yes
-      ;;
-    esac
-    libtool_args="$nonopt"
-    base_compile="$nonopt $@"
-    compile_command="$nonopt"
-    finalize_command="$nonopt"
-
-    compile_rpath=
-    finalize_rpath=
-    compile_shlibpath=
-    finalize_shlibpath=
-    convenience=
-    old_convenience=
-    deplibs=
-    old_deplibs=
-    compiler_flags=
-    linker_flags=
-    dllsearchpath=
-    lib_search_path=`pwd`
-    inst_prefix_dir=
-
-    avoid_version=no
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    ltlibs=
-    module=no
-    no_install=no
-    objs=
-    non_pic_objects=
-    notinst_path= # paths that contain not-installed libtool libraries
-    precious_files_regex=
-    prefer_static_libs=no
-    preload=no
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-    vinfo_number=no
-
-    func_infer_tag $base_compile
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case $arg in
-      -all-static | -static)
-	if test "X$arg" = "X-all-static"; then
-	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
-	  fi
-	  if test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	else
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=built
-	fi
-	build_libtool_libs=no
-	build_old_libs=yes
-	break
-	;;
-      esac
-    done
-
-    # See if our shared archives depend on static archives.
-    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
-    # Go through the arguments, transforming them on the way.
-    while test "$#" -gt 0; do
-      arg="$1"
-      shift
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
-	;;
-      *) qarg=$arg ;;
-      esac
-      libtool_args="$libtool_args $qarg"
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-	case $prev in
-	output)
-	  compile_command="$compile_command @OUTPUT@"
-	  finalize_command="$finalize_command @OUTPUT@"
-	  ;;
-	esac
-
-	case $prev in
-	dlfiles|dlprefiles)
-	  if test "$preload" = no; then
-	    # Add the symbol object into the linking commands.
-	    compile_command="$compile_command @SYMFILE@"
-	    finalize_command="$finalize_command @SYMFILE@"
-	    preload=yes
-	  fi
-	  case $arg in
-	  *.la | *.lo) ;;  # We handle these cases below.
-	  force)
-	    if test "$dlself" = no; then
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  self)
-	    if test "$prev" = dlprefiles; then
-	      dlself=yes
-	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
-	      dlself=yes
-	    else
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  *)
-	    if test "$prev" = dlfiles; then
-	      dlfiles="$dlfiles $arg"
-	    else
-	      dlprefiles="$dlprefiles $arg"
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  esac
-	  ;;
-	expsyms)
-	  export_symbols="$arg"
-	  if test ! -f "$arg"; then
-	    $echo "$modename: symbol file \`$arg' does not exist"
-	    exit $EXIT_FAILURE
-	  fi
-	  prev=
-	  continue
-	  ;;
-	expsyms_regex)
-	  export_symbols_regex="$arg"
-	  prev=
-	  continue
-	  ;;
-	inst_prefix)
-	  inst_prefix_dir="$arg"
-	  prev=
-	  continue
-	  ;;
-	precious_regex)
-	  precious_files_regex="$arg"
-	  prev=
-	  continue
-	  ;;
-	release)
-	  release="-$arg"
-	  prev=
-	  continue
-	  ;;
-	objectlist)
-	  if test -f "$arg"; then
-	    save_arg=$arg
-	    moreargs=
-	    for fil in `cat $save_arg`
-	    do
-#	      moreargs="$moreargs $fil"
-	      arg=$fil
-	      # A libtool-controlled object.
-
-	      # Check to see that this really is a libtool object.
-	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-		pic_object=
-		non_pic_object=
-
-		# Read the .lo file
-		# If there is no directory component, then add one.
-		case $arg in
-		*/* | *\\*) . $arg ;;
-		*) . ./$arg ;;
-		esac
-
-		if test -z "$pic_object" || \
-		   test -z "$non_pic_object" ||
-		   test "$pic_object" = none && \
-		   test "$non_pic_object" = none; then
-		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
-		  exit $EXIT_FAILURE
-		fi
-
-		# Extract subdirectory from the argument.
-		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-		if test "X$xdir" = "X$arg"; then
-		  xdir=
-		else
-		  xdir="$xdir/"
-		fi
-
-		if test "$pic_object" != none; then
-		  # Prepend the subdirectory the object is found in.
-		  pic_object="$xdir$pic_object"
-
-		  if test "$prev" = dlfiles; then
-		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		      dlfiles="$dlfiles $pic_object"
-		      prev=
-		      continue
-		    else
-		      # If libtool objects are unsupported, then we need to preload.
-		      prev=dlprefiles
-		    fi
-		  fi
-
-		  # CHECK ME:  I think I busted this.  -Ossama
-		  if test "$prev" = dlprefiles; then
-		    # Preload the old-style object.
-		    dlprefiles="$dlprefiles $pic_object"
-		    prev=
-		  fi
-
-		  # A PIC object.
-		  libobjs="$libobjs $pic_object"
-		  arg="$pic_object"
-		fi
-
-		# Non-PIC object.
-		if test "$non_pic_object" != none; then
-		  # Prepend the subdirectory the object is found in.
-		  non_pic_object="$xdir$non_pic_object"
-
-		  # A standard non-PIC object
-		  non_pic_objects="$non_pic_objects $non_pic_object"
-		  if test -z "$pic_object" || test "$pic_object" = none ; then
-		    arg="$non_pic_object"
-		  fi
-		else
-		  # If the PIC object exists, use it instead.
-		  # $xdir was prepended to $pic_object above.
-		  non_pic_object="$pic_object"
-		  non_pic_objects="$non_pic_objects $non_pic_object"
-		fi
-	      else
-		# Only an error if not doing a dry-run.
-		if test -z "$run"; then
-		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
-		  exit $EXIT_FAILURE
-		else
-		  # Dry-run case.
-
-		  # Extract subdirectory from the argument.
-		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-		  if test "X$xdir" = "X$arg"; then
-		    xdir=
-		  else
-		    xdir="$xdir/"
-		  fi
-
-		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
-		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
-		  libobjs="$libobjs $pic_object"
-		  non_pic_objects="$non_pic_objects $non_pic_object"
-		fi
-	      fi
-	    done
-	  else
-	    $echo "$modename: link input file \`$save_arg' does not exist"
-	    exit $EXIT_FAILURE
-	  fi
-	  arg=$save_arg
-	  prev=
-	  continue
-	  ;;
-	rpath | xrpath)
-	  # We need an absolute path.
-	  case $arg in
-	  [\\/]* | [A-Za-z]:[\\/]*) ;;
-	  *)
-	    $echo "$modename: only absolute run-paths are allowed" 1>&2
-	    exit $EXIT_FAILURE
-	    ;;
-	  esac
-	  if test "$prev" = rpath; then
-	    case "$rpath " in
-	    *" $arg "*) ;;
-	    *) rpath="$rpath $arg" ;;
-	    esac
-	  else
-	    case "$xrpath " in
-	    *" $arg "*) ;;
-	    *) xrpath="$xrpath $arg" ;;
-	    esac
-	  fi
-	  prev=
-	  continue
-	  ;;
-	xcompiler)
-	  compiler_flags="$compiler_flags $qarg"
-	  prev=
-	  compile_command="$compile_command $qarg"
-	  finalize_command="$finalize_command $qarg"
-	  continue
-	  ;;
-	xlinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $wl$qarg"
-	  prev=
-	  compile_command="$compile_command $wl$qarg"
-	  finalize_command="$finalize_command $wl$qarg"
-	  continue
-	  ;;
-	xcclinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $qarg"
-	  prev=
-	  compile_command="$compile_command $qarg"
-	  finalize_command="$finalize_command $qarg"
-	  continue
-	  ;;
-	shrext)
-  	  shrext_cmds="$arg"
-	  prev=
-	  continue
-	  ;;
-	darwin_framework|darwin_framework_skip)
-	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
-	  compile_command="$compile_command $arg"
-	  finalize_command="$finalize_command $arg"
-	  prev=
-	  continue
-	  ;;
-	*)
-	  eval "$prev=\"\$arg\""
-	  prev=
-	  continue
-	  ;;
-	esac
-      fi # test -n "$prev"
-
-      prevarg="$arg"
-
-      case $arg in
-      -all-static)
-	if test -n "$link_static_flag"; then
-	  compile_command="$compile_command $link_static_flag"
-	  finalize_command="$finalize_command $link_static_flag"
-	fi
-	continue
-	;;
-
-      -allow-undefined)
-	# FIXME: remove this flag sometime in the future.
-	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
-	continue
-	;;
-
-      -avoid-version)
-	avoid_version=yes
-	continue
-	;;
-
-      -dlopen)
-	prev=dlfiles
-	continue
-	;;
-
-      -dlpreopen)
-	prev=dlprefiles
-	continue
-	;;
-
-      -export-dynamic)
-	export_dynamic=yes
-	continue
-	;;
-
-      -export-symbols | -export-symbols-regex)
-	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	  $echo "$modename: more than one -exported-symbols argument is not allowed"
-	  exit $EXIT_FAILURE
-	fi
-	if test "X$arg" = "X-export-symbols"; then
-	  prev=expsyms
-	else
-	  prev=expsyms_regex
-	fi
-	continue
-	;;
-
-      -framework|-arch|-isysroot)
-	case " $CC " in
-	  *" ${arg} ${1} "* | *" ${arg}	${1} "*) 
-		prev=darwin_framework_skip ;;
-	  *) compiler_flags="$compiler_flags $arg"
-	     prev=darwin_framework ;;
-	esac
-	compile_command="$compile_command $arg"
-	finalize_command="$finalize_command $arg"
-	continue
-	;;
-
-      -inst-prefix-dir)
-	prev=inst_prefix
-	continue
-	;;
-
-      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
-      # so, if we see these flags be careful not to treat them like -L
-      -L[A-Z][A-Z]*:*)
-	case $with_gcc/$host in
-	no/*-*-irix* | /*-*-irix*)
-	  compile_command="$compile_command $arg"
-	  finalize_command="$finalize_command $arg"
-	  ;;
-	esac
-	continue
-	;;
-
-      -L*)
-	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  absdir=`cd "$dir" && pwd`
-	  if test -z "$absdir"; then
-	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
-	    absdir="$dir"
-	    notinst_path="$notinst_path $dir"
-	  fi
-	  dir="$absdir"
-	  ;;
-	esac
-	case "$deplibs " in
-	*" -L$dir "*) ;;
-	*)
-	  deplibs="$deplibs -L$dir"
-	  lib_search_path="$lib_search_path $dir"
-	  ;;
-	esac
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$dir:"*) ;;
-	  *) dllsearchpath="$dllsearchpath:$dir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  *) dllsearchpath="$dllsearchpath:$testbindir";;
-	  esac
-	  ;;
-	esac
-	continue
-	;;
-
-      -l*)
-	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
-	    # These systems don't actually have a C or math library (as such)
-	    continue
-	    ;;
-	  *-*-os2*)
-	    # These systems don't actually have a C library (as such)
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	    # Do not include libc due to us having libc/libc_r.
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C and math libraries are in the System framework
-	    deplibs="$deplibs -framework System"
-	    continue
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  esac
-	elif test "X$arg" = "X-lc_r"; then
-	 case $host in
-	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	   # Do not include libc_r directly, use -pthread flag.
-	   continue
-	   ;;
-	 esac
-	fi
-	deplibs="$deplibs $arg"
-	continue
-	;;
-
-      # Tru64 UNIX uses -model [arg] to determine the layout of C++
-      # classes, name mangling, and exception handling.
-      -model)
-	compile_command="$compile_command $arg"
-	compiler_flags="$compiler_flags $arg"
-	finalize_command="$finalize_command $arg"
-	prev=xcompiler
-	continue
-	;;
-
-     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
-	compiler_flags="$compiler_flags $arg"
-	compile_command="$compile_command $arg"
-	finalize_command="$finalize_command $arg"
-	continue
-	;;
-
-      -module)
-	module=yes
-	continue
-	;;
-
-      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
-      # -r[0-9][0-9]* specifies the processor on the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
-      # +DA*, +DD* enable 64-bit mode on the HP compiler
-      # -q* pass through compiler args for the IBM compiler
-      # -m* pass through architecture-specific compiler args for GCC
-      # -m*, -t[45]*, -txscale* pass through architecture-specific
-      # compiler args for GCC
-      # -pg pass through profiling flag for GCC
-      # @file GCC response files
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
-      -t[45]*|-txscale*|@*)
-
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case $arg in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-        compile_command="$compile_command $arg"
-        finalize_command="$finalize_command $arg"
-        compiler_flags="$compiler_flags $arg"
-        continue
-        ;;
-
-      -shrext)
-	prev=shrext
-	continue
-	;;
-
-      -no-fast-install)
-	fast_install=no
-	continue
-	;;
-
-      -no-install)
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-	  # The PATH hackery in wrapper scripts is required on Windows
-	  # in order for the loader to find any dlls it needs.
-	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
-	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
-	  fast_install=no
-	  ;;
-	*) no_install=yes ;;
-	esac
-	continue
-	;;
-
-      -no-undefined)
-	allow_undefined=no
-	continue
-	;;
-
-      -objectlist)
-	prev=objectlist
-	continue
-	;;
-
-      -o) prev=output ;;
-
-      -precious-files-regex)
-	prev=precious_regex
-	continue
-	;;
-
-      -release)
-	prev=release
-	continue
-	;;
-
-      -rpath)
-	prev=rpath
-	continue
-	;;
-
-      -R)
-	prev=xrpath
-	continue
-	;;
-
-      -R*)
-	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  $echo "$modename: only absolute run-paths are allowed" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-	case "$xrpath " in
-	*" $dir "*) ;;
-	*) xrpath="$xrpath $dir" ;;
-	esac
-	continue
-	;;
-
-      -static)
-	# The effects of -static are defined in a previous loop.
-	# We used to do the same as -all-static on platforms that
-	# didn't have a PIC flag, but the assumption that the effects
-	# would be equivalent was wrong.  It would break on at least
-	# Digital Unix and AIX.
-	continue
-	;;
-
-      -thread-safe)
-	thread_safe=yes
-	continue
-	;;
-
-      -version-info)
-	prev=vinfo
-	continue
-	;;
-      -version-number)
-	prev=vinfo
-	vinfo_number=yes
-	continue
-	;;
-
-      -Wc,*)
-	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
-	arg=
-	save_ifs="$IFS"; IFS=','
-	for flag in $args; do
-	  IFS="$save_ifs"
-	  case $flag in
-	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	    flag="\"$flag\""
-	    ;;
-	  esac
-	  arg="$arg $wl$flag"
-	  compiler_flags="$compiler_flags $flag"
-	done
-	IFS="$save_ifs"
-	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
-	;;
-
-      -Wl,*)
-	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
-	arg=
-	save_ifs="$IFS"; IFS=','
-	for flag in $args; do
-	  IFS="$save_ifs"
-	  case $flag in
-	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	    flag="\"$flag\""
-	    ;;
-	  esac
-	  arg="$arg $wl$flag"
-	  compiler_flags="$compiler_flags $wl$flag"
-	  linker_flags="$linker_flags $flag"
-	done
-	IFS="$save_ifs"
-	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
-	;;
-
-      -Xcompiler)
-	prev=xcompiler
-	continue
-	;;
-
-      -Xlinker)
-	prev=xlinker
-	continue
-	;;
-
-      -XCClinker)
-	prev=xcclinker
-	continue
-	;;
-
-      # Some other compiler flag.
-      -* | +*)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case $arg in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-	;;
-
-      *.$objext)
-	# A standard object.
-	objs="$objs $arg"
-	;;
-
-      *.lo)
-	# A libtool-controlled object.
-
-	# Check to see that this really is a libtool object.
-	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  pic_object=
-	  non_pic_object=
-
-	  # Read the .lo file
-	  # If there is no directory component, then add one.
-	  case $arg in
-	  */* | *\\*) . $arg ;;
-	  *) . ./$arg ;;
-	  esac
-
-	  if test -z "$pic_object" || \
-	     test -z "$non_pic_object" ||
-	     test "$pic_object" = none && \
-	     test "$non_pic_object" = none; then
-	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-
-	  # Extract subdirectory from the argument.
-	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-	  if test "X$xdir" = "X$arg"; then
-	    xdir=
- 	  else
-	    xdir="$xdir/"
-	  fi
-
-	  if test "$pic_object" != none; then
-	    # Prepend the subdirectory the object is found in.
-	    pic_object="$xdir$pic_object"
-
-	    if test "$prev" = dlfiles; then
-	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		dlfiles="$dlfiles $pic_object"
-		prev=
-		continue
-	      else
-		# If libtool objects are unsupported, then we need to preload.
-		prev=dlprefiles
-	      fi
-	    fi
-
-	    # CHECK ME:  I think I busted this.  -Ossama
-	    if test "$prev" = dlprefiles; then
-	      # Preload the old-style object.
-	      dlprefiles="$dlprefiles $pic_object"
-	      prev=
-	    fi
-
-	    # A PIC object.
-	    libobjs="$libobjs $pic_object"
-	    arg="$pic_object"
-	  fi
-
-	  # Non-PIC object.
-	  if test "$non_pic_object" != none; then
-	    # Prepend the subdirectory the object is found in.
-	    non_pic_object="$xdir$non_pic_object"
-
-	    # A standard non-PIC object
-	    non_pic_objects="$non_pic_objects $non_pic_object"
-	    if test -z "$pic_object" || test "$pic_object" = none ; then
-	      arg="$non_pic_object"
-	    fi
-	  else
-	    # If the PIC object exists, use it instead.
-	    # $xdir was prepended to $pic_object above.
-	    non_pic_object="$pic_object"
-	    non_pic_objects="$non_pic_objects $non_pic_object"
-	  fi
-	else
-	  # Only an error if not doing a dry-run.
-	  if test -z "$run"; then
-	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
-	    exit $EXIT_FAILURE
-	  else
-	    # Dry-run case.
-
-	    # Extract subdirectory from the argument.
-	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-	    if test "X$xdir" = "X$arg"; then
-	      xdir=
-	    else
-	      xdir="$xdir/"
-	    fi
-
-	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
-	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
-	    libobjs="$libobjs $pic_object"
-	    non_pic_objects="$non_pic_objects $non_pic_object"
-	  fi
-	fi
-	;;
-
-      *.$libext)
-	# An archive.
-	deplibs="$deplibs $arg"
-	old_deplibs="$old_deplibs $arg"
-	continue
-	;;
-
-      *.la)
-	# A libtool-controlled library.
-
-	if test "$prev" = dlfiles; then
-	  # This library was specified with -dlopen.
-	  dlfiles="$dlfiles $arg"
-	  prev=
-	elif test "$prev" = dlprefiles; then
-	  # The library was specified with -dlpreopen.
-	  dlprefiles="$dlprefiles $arg"
-	  prev=
-	else
-	  deplibs="$deplibs $arg"
-	fi
-	continue
-	;;
-
-      # Some other compiler argument.
-      *)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case $arg in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-	;;
-      esac # arg
-
-      # Now actually substitute the argument into the commands.
-      if test -n "$arg"; then
-	compile_command="$compile_command $arg"
-	finalize_command="$finalize_command $arg"
-      fi
-    done # argument parsing loop
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
-      eval arg=\"$export_dynamic_flag_spec\"
-      compile_command="$compile_command $arg"
-      finalize_command="$finalize_command $arg"
-    fi
-
-    oldlibs=
-    # calculate the name of the file, without its directory
-    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
-    libobjs_save="$libobjs"
-
-    if test -n "$shlibpath_var"; then
-      # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
-    else
-      shlib_search_path=
-    fi
-    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
-    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
-    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
-    if test "X$output_objdir" = "X$output"; then
-      output_objdir="$objdir"
-    else
-      output_objdir="$output_objdir/$objdir"
-    fi
-    # Create the object directory.
-    if test ! -d "$output_objdir"; then
-      $show "$mkdir $output_objdir"
-      $run $mkdir $output_objdir
-      exit_status=$?
-      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
-	exit $exit_status
-      fi
-    fi
-
-    # Determine the type of output
-    case $output in
-    "")
-      $echo "$modename: you must specify an output file" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-      ;;
-    *.$libext) linkmode=oldlib ;;
-    *.lo | *.$objext) linkmode=obj ;;
-    *.la) linkmode=lib ;;
-    *) linkmode=prog ;; # Anything else should be a program.
-    esac
-
-    case $host in
-    *cygwin* | *mingw* | *pw32*)
-      # don't eliminate duplications in $postdeps and $predeps
-      duplicate_compiler_generated_deps=yes
-      ;;
-    *)
-      duplicate_compiler_generated_deps=$duplicate_deps
-      ;;
-    esac
-    specialdeplibs=
-
-    libs=
-    # Find all interdependent deplibs by searching for libraries
-    # that are linked more than once (e.g. -la -lb -la)
-    for deplib in $deplibs; do
-      if test "X$duplicate_deps" = "Xyes" ; then
-	case "$libs " in
-	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	esac
-      fi
-      libs="$libs $deplib"
-    done
-
-    if test "$linkmode" = lib; then
-      libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
-      # Compute libraries that are listed more than once in $predeps
-      # $postdeps and mark them as special (i.e., whose duplicates are
-      # not to be eliminated).
-      pre_post_deps=
-      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
-	for pre_post_dep in $predeps $postdeps; do
-	  case "$pre_post_deps " in
-	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
-	  esac
-	  pre_post_deps="$pre_post_deps $pre_post_dep"
-	done
-      fi
-      pre_post_deps=
-    fi
-
-    deplibs=
-    newdependency_libs=
-    newlib_search_path=
-    need_relink=no # whether we're linking any uninstalled libtool libraries
-    notinst_deplibs= # not-installed libtool libraries
-    case $linkmode in
-    lib)
-	passes="conv link"
-	for file in $dlfiles $dlprefiles; do
-	  case $file in
-	  *.la) ;;
-	  *)
-	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
-	    exit $EXIT_FAILURE
-	    ;;
-	  esac
-	done
-	;;
-    prog)
-	compile_deplibs=
-	finalize_deplibs=
-	alldeplibs=no
-	newdlfiles=
-	newdlprefiles=
-	passes="conv scan dlopen dlpreopen link"
-	;;
-    *)  passes="conv"
-	;;
-    esac
-    for pass in $passes; do
-      if test "$linkmode,$pass" = "lib,link" ||
-	 test "$linkmode,$pass" = "prog,scan"; then
-	libs="$deplibs"
-	deplibs=
-      fi
-      if test "$linkmode" = prog; then
-	case $pass in
-	dlopen) libs="$dlfiles" ;;
-	dlpreopen) libs="$dlprefiles" ;;
-	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
-	esac
-      fi
-      if test "$pass" = dlopen; then
-	# Collect dlpreopened libraries
-	save_deplibs="$deplibs"
-	deplibs=
-      fi
-      for deplib in $libs; do
-	lib=
-	found=no
-	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
-	  if test "$linkmode,$pass" = "prog,link"; then
-	    compile_deplibs="$deplib $compile_deplibs"
-	    finalize_deplibs="$deplib $finalize_deplibs"
-	  else
-	    compiler_flags="$compiler_flags $deplib"
-	  fi
-	  continue
-	  ;;
-	-l*)
-	  if test "$linkmode" != lib && test "$linkmode" != prog; then
-	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
-	    continue
-	  fi
-	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
-	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
-	    for search_ext in .la $std_shrext .so .a; do
-	      # Search the libtool library
-	      lib="$searchdir/lib${name}${search_ext}"
-	      if test -f "$lib"; then
-		if test "$search_ext" = ".la"; then
-		  found=yes
-		else
-		  found=no
-		fi
-		break 2
-	      fi
-	    done
-	  done
-	  if test "$found" != yes; then
-	    # deplib doesn't seem to be a libtool library
-	    if test "$linkmode,$pass" = "prog,link"; then
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      deplibs="$deplib $deplibs"
-	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    continue
-	  else # deplib is a libtool library
-	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
-	    # We need to do some special things here, and not later.
-	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-	      case " $predeps $postdeps " in
-	      *" $deplib "*)
-		if (${SED} -e '2q' $lib |
-                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-		  library_names=
-		  old_library=
-		  case $lib in
-		  */* | *\\*) . $lib ;;
-		  *) . ./$lib ;;
-		  esac
-		  for l in $old_library $library_names; do
-		    ll="$l"
-		  done
-		  if test "X$ll" = "X$old_library" ; then # only static version available
-		    found=no
-		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
-		    test "X$ladir" = "X$lib" && ladir="."
-		    lib=$ladir/$old_library
-		    if test "$linkmode,$pass" = "prog,link"; then
-		      compile_deplibs="$deplib $compile_deplibs"
-		      finalize_deplibs="$deplib $finalize_deplibs"
-		    else
-		      deplibs="$deplib $deplibs"
-		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-		    fi
-		    continue
-		  fi
-		fi
-	        ;;
-	      *) ;;
-	      esac
-	    fi
-	  fi
-	  ;; # -l
-	-L*)
-	  case $linkmode in
-	  lib)
-	    deplibs="$deplib $deplibs"
-	    test "$pass" = conv && continue
-	    newdependency_libs="$deplib $newdependency_libs"
-	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
-	    ;;
-	  prog)
-	    if test "$pass" = conv; then
-	      deplibs="$deplib $deplibs"
-	      continue
-	    fi
-	    if test "$pass" = scan; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
-	    ;;
-	  *)
-	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
-	    ;;
-	  esac # linkmode
-	  continue
-	  ;; # -L
-	-R*)
-	  if test "$pass" = link; then
-	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
-	    # Make sure the xrpath contains only unique directories.
-	    case "$xrpath " in
-	    *" $dir "*) ;;
-	    *) xrpath="$xrpath $dir" ;;
-	    esac
-	  fi
-	  deplibs="$deplib $deplibs"
-	  continue
-	  ;;
-	*.la) lib="$deplib" ;;
-	*.$libext)
-	  if test "$pass" = conv; then
-	    deplibs="$deplib $deplibs"
-	    continue
-	  fi
-	  case $linkmode in
-	  lib)
-	    valid_a_lib=no
-	    case $deplibs_check_method in
-	      match_pattern*)
-		set dummy $deplibs_check_method
-	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
-		if eval $echo \"$deplib\" 2>/dev/null \
-		    | $SED 10q \
-		    | $EGREP "$match_pattern_regex" > /dev/null; then
-		  valid_a_lib=yes
-		fi
-		;;
-	      pass_all)
-		valid_a_lib=yes
-		;;
-            esac
-	    if test "$valid_a_lib" != yes; then
-	      $echo
-	      $echo "*** Warning: Trying to link with static lib archive $deplib."
-	      $echo "*** I have the capability to make that library automatically link in when"
-	      $echo "*** you link to this library.  But I can only do this if you have a"
-	      $echo "*** shared version of the library, which you do not appear to have"
-	      $echo "*** because the file extensions .$libext of this argument makes me believe"
-	      $echo "*** that it is just a static archive that I should not used here."
-	    else
-	      $echo
-	      $echo "*** Warning: Linking the shared library $output against the"
-	      $echo "*** static library $deplib is not portable!"
-	      deplibs="$deplib $deplibs"
-	    fi
-	    continue
-	    ;;
-	  prog)
-	    if test "$pass" != link; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    continue
-	    ;;
-	  esac # linkmode
-	  ;; # *.$libext
-	*.lo | *.$objext)
-	  if test "$pass" = conv; then
-	    deplibs="$deplib $deplibs"
-	  elif test "$linkmode" = prog; then
-	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
-	      # If there is no dlopen support or we're linking statically,
-	      # we need to preload.
-	      newdlprefiles="$newdlprefiles $deplib"
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      newdlfiles="$newdlfiles $deplib"
-	    fi
-	  fi
-	  continue
-	  ;;
-	%DEPLIBS%)
-	  alldeplibs=yes
-	  continue
-	  ;;
-	esac # case $deplib
-	if test "$found" = yes || test -f "$lib"; then :
-	else
-	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	# Check to see that this really is a libtool archive.
-	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$ladir" = "X$lib" && ladir="."
-
-	dlname=
-	dlopen=
-	dlpreopen=
-	libdir=
-	library_names=
-	old_library=
-	# If the library was installed with an old release of libtool,
-	# it will not redefine variables installed, or shouldnotlink
-	installed=yes
-	shouldnotlink=no
-	avoidtemprpath=
-
-
-	# Read the .la file
-	case $lib in
-	*/* | *\\*) . $lib ;;
-	*) . ./$lib ;;
-	esac
-
-	if test "$linkmode,$pass" = "lib,link" ||
-	   test "$linkmode,$pass" = "prog,scan" ||
-	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
-	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
-	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
-	fi
-
-	if test "$pass" = conv; then
-	  # Only check for convenience libraries
-	  deplibs="$lib $deplibs"
-	  if test -z "$libdir"; then
-	    if test -z "$old_library"; then
-	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
-	      exit $EXIT_FAILURE
-	    fi
-	    # It is a libtool convenience library, so add in its objects.
-	    convenience="$convenience $ladir/$objdir/$old_library"
-	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
-	    tmp_libs=
-	    for deplib in $dependency_libs; do
-	      deplibs="$deplib $deplibs"
-              if test "X$duplicate_deps" = "Xyes" ; then
-	        case "$tmp_libs " in
-	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	        esac
-              fi
-	      tmp_libs="$tmp_libs $deplib"
-	    done
-	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
-	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	  continue
-	fi # $pass = conv
-
-
-	# Get the name of the library we link against.
-	linklib=
-	for l in $old_library $library_names; do
-	  linklib="$l"
-	done
-	if test -z "$linklib"; then
-	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	# This library was specified with -dlopen.
-	if test "$pass" = dlopen; then
-	  if test -z "$libdir"; then
-	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	  if test -z "$dlname" ||
-	     test "$dlopen_support" != yes ||
-	     test "$build_libtool_libs" = no; then
-	    # If there is no dlname, no dlopen support or we're linking
-	    # statically, we need to preload.  We also need to preload any
-	    # dependent libraries so libltdl's deplib preloader doesn't
-	    # bomb out in the load deplibs phase.
-	    dlprefiles="$dlprefiles $lib $dependency_libs"
-	  else
-	    newdlfiles="$newdlfiles $lib"
-	  fi
-	  continue
-	fi # $pass = dlopen
-
-	# We need an absolute path.
-	case $ladir in
-	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
-	*)
-	  abs_ladir=`cd "$ladir" && pwd`
-	  if test -z "$abs_ladir"; then
-	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
-	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
-	    abs_ladir="$ladir"
-	  fi
-	  ;;
-	esac
-	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-
-	# Find the relevant object directory and library name.
-	if test "X$installed" = Xyes; then
-	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
-	    dir="$ladir"
-	    absdir="$abs_ladir"
-	    libdir="$abs_ladir"
-	  else
-	    dir="$libdir"
-	    absdir="$libdir"
-	  fi
-	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
-	else
-	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    dir="$ladir"
-	    absdir="$abs_ladir"
-	    # Remove this search path later
-	    notinst_path="$notinst_path $abs_ladir"
-	  else
-	    dir="$ladir/$objdir"
-	    absdir="$abs_ladir/$objdir"
-	    # Remove this search path later
-	    notinst_path="$notinst_path $abs_ladir"
-	  fi
-	fi # $installed = yes
-	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-
-	# This library was specified with -dlpreopen.
-	if test "$pass" = dlpreopen; then
-	  if test -z "$libdir"; then
-	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	  # Prefer using a static library (so that no silly _DYNAMIC symbols
-	  # are required to link).
-	  if test -n "$old_library"; then
-	    newdlprefiles="$newdlprefiles $dir/$old_library"
-	  # Otherwise, use the dlname, so that lt_dlopen finds it.
-	  elif test -n "$dlname"; then
-	    newdlprefiles="$newdlprefiles $dir/$dlname"
-	  else
-	    newdlprefiles="$newdlprefiles $dir/$linklib"
-	  fi
-	fi # $pass = dlpreopen
-
-	if test -z "$libdir"; then
-	  # Link the convenience library
-	  if test "$linkmode" = lib; then
-	    deplibs="$dir/$old_library $deplibs"
-	  elif test "$linkmode,$pass" = "prog,link"; then
-	    compile_deplibs="$dir/$old_library $compile_deplibs"
-	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
-	  else
-	    deplibs="$lib $deplibs" # used for prog,scan pass
-	  fi
-	  continue
-	fi
-
-
-	if test "$linkmode" = prog && test "$pass" != link; then
-	  newlib_search_path="$newlib_search_path $ladir"
-	  deplibs="$lib $deplibs"
-
-	  linkalldeplibs=no
-	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
-	     test "$build_libtool_libs" = no; then
-	    linkalldeplibs=yes
-	  fi
-
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    case $deplib in
-	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
-	    esac
-	    # Need to link against all dependency_libs?
-	    if test "$linkalldeplibs" = yes; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      # Need to hardcode shared library paths
-	      # or/and link against static libraries
-	      newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    if test "X$duplicate_deps" = "Xyes" ; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
-	    fi
-	    tmp_libs="$tmp_libs $deplib"
-	  done # for deplib
-	  continue
-	fi # $linkmode = prog...
-
-	if test "$linkmode,$pass" = "prog,link"; then
-	  if test -n "$library_names" &&
-	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
-	    # We need to hardcode the library path
-	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
-	      # Make sure the rpath contains only unique directories.
-	      case "$temp_rpath " in
-	      *" $dir "*) ;;
-	      *" $absdir "*) ;;
-	      *) temp_rpath="$temp_rpath $absdir" ;;
-	      esac
-	    fi
-
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
-	      esac
-	      ;;
-	    esac
-	  fi # $linkmode,$pass = prog,link...
-
-	  if test "$alldeplibs" = yes &&
-	     { test "$deplibs_check_method" = pass_all ||
-	       { test "$build_libtool_libs" = yes &&
-		 test -n "$library_names"; }; }; then
-	    # We only need to search for static libraries
-	    continue
-	  fi
-	fi
-
-	link_static=no # Whether the deplib will be linked statically
-	use_static_libs=$prefer_static_libs
-	if test "$use_static_libs" = built && test "$installed" = yes ; then
-	  use_static_libs=no
-	fi
-	if test -n "$library_names" &&
-	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
-	  if test "$installed" = no; then
-	    notinst_deplibs="$notinst_deplibs $lib"
-	    need_relink=yes
-	  fi
-	  # This is a shared library
-
-	  # Warn about portability, can't link against -module's on
-	  # some systems (darwin)
-	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
-	    $echo
-	    if test "$linkmode" = prog; then
-	      $echo "*** Warning: Linking the executable $output against the loadable module"
-	    else
-	      $echo "*** Warning: Linking the shared library $output against the loadable module"
-	    fi
-	    $echo "*** $linklib is not portable!"
-	  fi
-	  if test "$linkmode" = lib &&
-	     test "$hardcode_into_libs" = yes; then
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
-	      esac
-	      ;;
-	    esac
-	  fi
-
-	  if test -n "$old_archive_from_expsyms_cmds"; then
-	    # figure out the soname
-	    set dummy $library_names
-	    realname="$2"
-	    shift; shift
-	    libname=`eval \\$echo \"$libname_spec\"`
-	    # use dlname if we got it. it's perfectly good, no?
-	    if test -n "$dlname"; then
-	      soname="$dlname"
-	    elif test -n "$soname_spec"; then
-	      # bleh windows
-	      case $host in
-	      *cygwin* | mingw*)
-		major=`expr $current - $age`
-		versuffix="-$major"
-		;;
-	      esac
-	      eval soname=\"$soname_spec\"
-	    else
-	      soname="$realname"
-	    fi
-
-	    # Make a new name for the extract_expsyms_cmds to use
-	    soroot="$soname"
-	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
-	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
-
-	    # If the library has no export list, then create one now
-	    if test -f "$output_objdir/$soname-def"; then :
-	    else
-	      $show "extracting exported symbol list from \`$soname'"
-	      save_ifs="$IFS"; IFS='~'
-	      cmds=$extract_expsyms_cmds
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		eval cmd=\"$cmd\"
-		$show "$cmd"
-		$run eval "$cmd" || exit $?
-	      done
-	      IFS="$save_ifs"
-	    fi
-
-	    # Create $newlib
-	    if test -f "$output_objdir/$newlib"; then :; else
-	      $show "generating import library for \`$soname'"
-	      save_ifs="$IFS"; IFS='~'
-	      cmds=$old_archive_from_expsyms_cmds
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		eval cmd=\"$cmd\"
-		$show "$cmd"
-		$run eval "$cmd" || exit $?
-	      done
-	      IFS="$save_ifs"
-	    fi
-	    # make sure the library variables are pointing to the new library
-	    dir=$output_objdir
-	    linklib=$newlib
-	  fi # test -n "$old_archive_from_expsyms_cmds"
-
-	  if test "$linkmode" = prog || test "$mode" != relink; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    lib_linked=yes
-	    case $hardcode_action in
-	    immediate | unsupported)
-	      if test "$hardcode_direct" = no; then
-		add="$dir/$linklib"
-		case $host in
-		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
-		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
-		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-		    *-*-unixware7*) add_dir="-L$dir" ;;
-		  *-*-darwin* )
-		    # if the lib is a module then we can not link against
-		    # it, someone is ignoring the new warnings I added
-		    if /usr/bin/file -L $add 2> /dev/null |
-                      $EGREP ": [^:]* bundle" >/dev/null ; then
-		      $echo "** Warning, lib $linklib is a module, not a shared library"
-		      if test -z "$old_library" ; then
-		        $echo
-		        $echo "** And there doesn't seem to be a static archive available"
-		        $echo "** The link will probably fail, sorry"
-		      else
-		        add="$dir/$old_library"
-		      fi
-		    fi
-		esac
-	      elif test "$hardcode_minus_L" = no; then
-		case $host in
-		*-*-sunos*) add_shlibpath="$dir" ;;
-		esac
-		add_dir="-L$dir"
-		add="-l$name"
-	      elif test "$hardcode_shlibpath_var" = no; then
-		add_shlibpath="$dir"
-		add="-l$name"
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    relink)
-	      if test "$hardcode_direct" = yes; then
-		add="$dir/$linklib"
-	      elif test "$hardcode_minus_L" = yes; then
-		add_dir="-L$dir"
-		# Try looking first in the location we're being installed to.
-		if test -n "$inst_prefix_dir"; then
-		  case $libdir in
-		    [\\/]*)
-		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
-		      ;;
-		  esac
-		fi
-		add="-l$name"
-	      elif test "$hardcode_shlibpath_var" = yes; then
-		add_shlibpath="$dir"
-		add="-l$name"
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    *) lib_linked=no ;;
-	    esac
-
-	    if test "$lib_linked" != yes; then
-	      $echo "$modename: configuration error: unsupported hardcode properties"
-	      exit $EXIT_FAILURE
-	    fi
-
-	    if test -n "$add_shlibpath"; then
-	      case :$compile_shlibpath: in
-	      *":$add_shlibpath:"*) ;;
-	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
-	      esac
-	    fi
-	    if test "$linkmode" = prog; then
-	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
-	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	      if test "$hardcode_direct" != yes && \
-		 test "$hardcode_minus_L" != yes && \
-		 test "$hardcode_shlibpath_var" = yes; then
-		case :$finalize_shlibpath: in
-		*":$libdir:"*) ;;
-		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-		esac
-	      fi
-	    fi
-	  fi
-
-	  if test "$linkmode" = prog || test "$mode" = relink; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    # Finalize command for both is simple: just hardcode it.
-	    if test "$hardcode_direct" = yes; then
-	      add="$libdir/$linklib"
-	    elif test "$hardcode_minus_L" = yes; then
-	      add_dir="-L$libdir"
-	      add="-l$name"
-	    elif test "$hardcode_shlibpath_var" = yes; then
-	      case :$finalize_shlibpath: in
-	      *":$libdir:"*) ;;
-	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-	      esac
-	      add="-l$name"
-	    elif test "$hardcode_automatic" = yes; then
-	      if test -n "$inst_prefix_dir" &&
-		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
-	        add="$inst_prefix_dir$libdir/$linklib"
-	      else
-	        add="$libdir/$linklib"
-	      fi
-	    else
-	      # We cannot seem to hardcode it, guess we'll fake it.
-	      add_dir="-L$libdir"
-	      # Try looking first in the location we're being installed to.
-	      if test -n "$inst_prefix_dir"; then
-		case $libdir in
-		  [\\/]*)
-		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
-		    ;;
-		esac
-	      fi
-	      add="-l$name"
-	    fi
-
-	    if test "$linkmode" = prog; then
-	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
-	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	    fi
-	  fi
-	elif test "$linkmode" = prog; then
-	  # Here we assume that one of hardcode_direct or hardcode_minus_L
-	  # is not unsupported.  This is valid on all known static and
-	  # shared platforms.
-	  if test "$hardcode_direct" != unsupported; then
-	    test -n "$old_library" && linklib="$old_library"
-	    compile_deplibs="$dir/$linklib $compile_deplibs"
-	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
-	  else
-	    compile_deplibs="-l$name -L$dir $compile_deplibs"
-	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
-	  fi
-	elif test "$build_libtool_libs" = yes; then
-	  # Not a shared library
-	  if test "$deplibs_check_method" != pass_all; then
-	    # We're trying link a shared library against a static one
-	    # but the system doesn't support it.
-
-	    # Just print a warning and add the library to dependency_libs so
-	    # that the program can be linked against the static library.
-	    $echo
-	    $echo "*** Warning: This system can not link to static lib archive $lib."
-	    $echo "*** I have the capability to make that library automatically link in when"
-	    $echo "*** you link to this library.  But I can only do this if you have a"
-	    $echo "*** shared version of the library, which you do not appear to have."
-	    if test "$module" = yes; then
-	      $echo "*** But as you try to build a module library, libtool will still create "
-	      $echo "*** a static module, that should work as long as the dlopening application"
-	      $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
-	      if test -z "$global_symbol_pipe"; then
-		$echo
-		$echo "*** However, this would only work if libtool was able to extract symbol"
-		$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-		$echo "*** not find such a program.  So, this module is probably useless."
-		$echo "*** \`nm' from GNU binutils and a full rebuild may help."
-	      fi
-	      if test "$build_old_libs" = no; then
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  else
-	    deplibs="$dir/$old_library $deplibs"
-	    link_static=yes
-	  fi
-	fi # link shared/static library?
-
-	if test "$linkmode" = lib; then
-	  if test -n "$dependency_libs" &&
-	     { test "$hardcode_into_libs" != yes ||
-	       test "$build_old_libs" = yes ||
-	       test "$link_static" = yes; }; then
-	    # Extract -R from dependency_libs
-	    temp_deplibs=
-	    for libdir in $dependency_libs; do
-	      case $libdir in
-	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
-		   case " $xrpath " in
-		   *" $temp_xrpath "*) ;;
-		   *) xrpath="$xrpath $temp_xrpath";;
-		   esac;;
-	      *) temp_deplibs="$temp_deplibs $libdir";;
-	      esac
-	    done
-	    dependency_libs="$temp_deplibs"
-	  fi
-
-	  newlib_search_path="$newlib_search_path $absdir"
-	  # Link against this library
-	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
-	  # ... and its dependency_libs
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    newdependency_libs="$deplib $newdependency_libs"
-	    if test "X$duplicate_deps" = "Xyes" ; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
-	    fi
-	    tmp_libs="$tmp_libs $deplib"
-	  done
-
-	  if test "$link_all_deplibs" != no; then
-	    # Add the search paths of all dependency libraries
-	    for deplib in $dependency_libs; do
-	      case $deplib in
-	      -L*) path="$deplib" ;;
-	      *.la)
-		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
-		test "X$dir" = "X$deplib" && dir="."
-		# We need an absolute path.
-		case $dir in
-		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
-		*)
-		  absdir=`cd "$dir" && pwd`
-		  if test -z "$absdir"; then
-		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
-		    absdir="$dir"
-		  fi
-		  ;;
-		esac
-		if grep "^installed=no" $deplib > /dev/null; then
-		  path="$absdir/$objdir"
-		else
-		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		  if test -z "$libdir"; then
-		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-		    exit $EXIT_FAILURE
-		  fi
-		  if test "$absdir" != "$libdir"; then
-		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
-		  fi
-		  path="$absdir"
-		fi
-		depdepl=
-		case $host in
-		*-*-darwin*)
-		  # we do not want to link against static libs,
-		  # but need to link against shared
-		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-		  if test -n "$deplibrary_names" ; then
-		    for tmp in $deplibrary_names ; do
-		      depdepl=$tmp
-		    done
-		    if test -f "$path/$depdepl" ; then
-		      depdepl="$path/$depdepl"
-		    fi
-		    # do not add paths which are already there
-		    case " $newlib_search_path " in
-		    *" $path "*) ;;
-		    *) newlib_search_path="$newlib_search_path $path";;
-		    esac
-		  fi
-		  path=""
-		  ;;
-		*)
-		  path="-L$path"
-		  ;;
-		esac
-		;;
-	      -l*)
-		case $host in
-		*-*-darwin*)
-		  # Again, we only want to link against shared libraries
-		  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
-		  for tmp in $newlib_search_path ; do
-		    if test -f "$tmp/lib$tmp_libs.dylib" ; then
-		      eval depdepl="$tmp/lib$tmp_libs.dylib"
-		      break
-		    fi
-		  done
-		  path=""
-		  ;;
-		*) continue ;;
-		esac
-		;;
-	      *) continue ;;
-	      esac
-	      case " $deplibs " in
-	      *" $path "*) ;;
-	      *) deplibs="$path $deplibs" ;;
-	      esac
-	      case " $deplibs " in
-	      *" $depdepl "*) ;;
-	      *) deplibs="$depdepl $deplibs" ;;
-	      esac
-	    done
-	  fi # link_all_deplibs != no
-	fi # linkmode = lib
-      done # for deplib in $libs
-      dependency_libs="$newdependency_libs"
-      if test "$pass" = dlpreopen; then
-	# Link the dlpreopened libraries before other libraries
-	for deplib in $save_deplibs; do
-	  deplibs="$deplib $deplibs"
-	done
-      fi
-      if test "$pass" != dlopen; then
-	if test "$pass" != conv; then
-	  # Make sure lib_search_path contains only unique directories.
-	  lib_search_path=
-	  for dir in $newlib_search_path; do
-	    case "$lib_search_path " in
-	    *" $dir "*) ;;
-	    *) lib_search_path="$lib_search_path $dir" ;;
-	    esac
-	  done
-	  newlib_search_path=
-	fi
-
-	if test "$linkmode,$pass" != "prog,link"; then
-	  vars="deplibs"
-	else
-	  vars="compile_deplibs finalize_deplibs"
-	fi
-	for var in $vars dependency_libs; do
-	  # Add libraries to $var in reverse order
-	  eval tmp_libs=\"\$$var\"
-	  new_libs=
-	  for deplib in $tmp_libs; do
-	    # FIXME: Pedantically, this is the right thing to do, so
-	    #        that some nasty dependency loop isn't accidentally
-	    #        broken:
-	    #new_libs="$deplib $new_libs"
-	    # Pragmatically, this seems to cause very few problems in
-	    # practice:
-	    case $deplib in
-	    -L*) new_libs="$deplib $new_libs" ;;
-	    -R*) ;;
-	    *)
-	      # And here is the reason: when a library appears more
-	      # than once as an explicit dependence of a library, or
-	      # is implicitly linked in more than once by the
-	      # compiler, it is considered special, and multiple
-	      # occurrences thereof are not removed.  Compare this
-	      # with having the same library being listed as a
-	      # dependency of multiple other libraries: in this case,
-	      # we know (pedantically, we assume) the library does not
-	      # need to be listed more than once, so we keep only the
-	      # last copy.  This is not always right, but it is rare
-	      # enough that we require users that really mean to play
-	      # such unportable linking tricks to link the library
-	      # using -Wl,-lname, so that libtool does not consider it
-	      # for duplicate removal.
-	      case " $specialdeplibs " in
-	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
-	      *)
-		case " $new_libs " in
-		*" $deplib "*) ;;
-		*) new_libs="$deplib $new_libs" ;;
-		esac
-		;;
-	      esac
-	      ;;
-	    esac
-	  done
-	  tmp_libs=
-	  for deplib in $new_libs; do
-	    case $deplib in
-	    -L*)
-	      case " $tmp_libs " in
-	      *" $deplib "*) ;;
-	      *) tmp_libs="$tmp_libs $deplib" ;;
-	      esac
-	      ;;
-	    *) tmp_libs="$tmp_libs $deplib" ;;
-	    esac
-	  done
-	  eval $var=\"$tmp_libs\"
-	done # for var
-      fi
-      # Last step: remove runtime libs from dependency_libs
-      # (they stay in deplibs)
-      tmp_libs=
-      for i in $dependency_libs ; do
-	case " $predeps $postdeps $compiler_lib_search_path " in
-	*" $i "*)
-	  i=""
-	  ;;
-	esac
-	if test -n "$i" ; then
-	  tmp_libs="$tmp_libs $i"
-	fi
-      done
-      dependency_libs=$tmp_libs
-    done # for pass
-    if test "$linkmode" = prog; then
-      dlfiles="$newdlfiles"
-      dlprefiles="$newdlprefiles"
-    fi
-
-    case $linkmode in
-    oldlib)
-      if test -n "$deplibs"; then
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
-      fi
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$xrpath"; then
-	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
-      fi
-
-      # Now set the variables for building old libraries.
-      build_libtool_libs=no
-      oldlibs="$output"
-      objs="$objs$old_deplibs"
-      ;;
-
-    lib)
-      # Make sure we only generate libraries of the form `libNAME.la'.
-      case $outputname in
-      lib*)
-	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-	eval shared_ext=\"$shrext_cmds\"
-	eval libname=\"$libname_spec\"
-	;;
-      *)
-	if test "$module" = no; then
-	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-	if test "$need_lib_prefix" != no; then
-	  # Add the "lib" prefix for modules if required
-	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
-	  eval shared_ext=\"$shrext_cmds\"
-	  eval libname=\"$libname_spec\"
-	else
-	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
-	fi
-	;;
-      esac
-
-      if test -n "$objs"; then
-	if test "$deplibs_check_method" != pass_all; then
-	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
-	  exit $EXIT_FAILURE
-	else
-	  $echo
-	  $echo "*** Warning: Linking the shared library $output against the non-libtool"
-	  $echo "*** objects $objs is not portable!"
-	  libobjs="$libobjs $objs"
-	fi
-      fi
-
-      if test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
-      fi
-
-      set dummy $rpath
-      if test "$#" -gt 2; then
-	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
-      fi
-      install_libdir="$2"
-
-      oldlibs=
-      if test -z "$rpath"; then
-	if test "$build_libtool_libs" = yes; then
-	  # Building a libtool convenience library.
-	  # Some compilers have problems with a `.al' extension so
-	  # convenience libraries should have the same extension an
-	  # archive normally would.
-	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
-	  build_libtool_libs=convenience
-	  build_old_libs=yes
-	fi
-
-	if test -n "$vinfo"; then
-	  $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
-	fi
-
-	if test -n "$release"; then
-	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
-	fi
-      else
-
-	# Parse the version information argument.
-	save_ifs="$IFS"; IFS=':'
-	set dummy $vinfo 0 0 0
-	IFS="$save_ifs"
-
-	if test -n "$8"; then
-	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	# convert absolute version numbers to libtool ages
-	# this retains compatibility with .la files and attempts
-	# to make the code below a bit more comprehensible
-
-	case $vinfo_number in
-	yes)
-	  number_major="$2"
-	  number_minor="$3"
-	  number_revision="$4"
-	  #
-	  # There are really only two kinds -- those that
-	  # use the current revision as the major version
-	  # and those that subtract age and use age as
-	  # a minor version.  But, then there is irix
-	  # which has an extra 1 added just for fun
-	  #
-	  case $version_type in
-	  darwin|linux|osf|windows)
-	    current=`expr $number_major + $number_minor`
-	    age="$number_minor"
-	    revision="$number_revision"
-	    ;;
-	  freebsd-aout|freebsd-elf|sunos)
-	    current="$number_major"
-	    revision="$number_minor"
-	    age="0"
-	    ;;
-	  irix|nonstopux)
-	    current=`expr $number_major + $number_minor - 1`
-	    age="$number_minor"
-	    revision="$number_minor"
-	    ;;
-	  esac
-	  ;;
-	no)
-	  current="$2"
-	  revision="$3"
-	  age="$4"
-	  ;;
-	esac
-
-	# Check that each of the things are valid numbers.
-	case $current in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-
-	case $revision in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-
-	case $age in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-
-	if test "$age" -gt "$current"; then
-	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	# Calculate the version variables.
-	major=
-	versuffix=
-	verstring=
-	case $version_type in
-	none) ;;
-
-	darwin)
-	  # Like Linux, but with the current version available in
-	  # verstring for coding it into the library header
-	  major=.`expr $current - $age`
-	  versuffix="$major.$age.$revision"
-	  # Darwin ld doesn't like 0 for these options...
-	  minor_current=`expr $current + 1`
-	  verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
-	  ;;
-
-	freebsd-aout)
-	  major=".$current"
-	  versuffix=".$current.$revision";
-	  ;;
-
-	freebsd-elf)
-	  major=".$current"
-	  versuffix=".$current";
-	  ;;
-
-	irix | nonstopux)
-	  major=`expr $current - $age + 1`
-
-	  case $version_type in
-	    nonstopux) verstring_prefix=nonstopux ;;
-	    *)         verstring_prefix=sgi ;;
-	  esac
-	  verstring="$verstring_prefix$major.$revision"
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$revision
-	  while test "$loop" -ne 0; do
-	    iface=`expr $revision - $loop`
-	    loop=`expr $loop - 1`
-	    verstring="$verstring_prefix$major.$iface:$verstring"
-	  done
-
-	  # Before this point, $major must not contain `.'.
-	  major=.$major
-	  versuffix="$major.$revision"
-	  ;;
-
-	linux)
-	  major=.`expr $current - $age`
-	  versuffix="$major.$age.$revision"
-	  ;;
-
-	osf)
-	  major=.`expr $current - $age`
-	  versuffix=".$current.$age.$revision"
-	  verstring="$current.$age.$revision"
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$age
-	  while test "$loop" -ne 0; do
-	    iface=`expr $current - $loop`
-	    loop=`expr $loop - 1`
-	    verstring="$verstring:${iface}.0"
-	  done
-
-	  # Make executables depend on our current version.
-	  verstring="$verstring:${current}.0"
-	  ;;
-
-	sunos)
-	  major=".$current"
-	  versuffix=".$current.$revision"
-	  ;;
-
-	windows)
-	  # Use '-' rather than '.', since we only want one
-	  # extension on DOS 8.3 filesystems.
-	  major=`expr $current - $age`
-	  versuffix="-$major"
-	  ;;
-
-	*)
-	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
-	  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-
-	# Clear the version info if we defaulted, and they specified a release.
-	if test -z "$vinfo" && test -n "$release"; then
-	  major=
-	  case $version_type in
-	  darwin)
-	    # we can't check for "0.0" in archive_cmds due to quoting
-	    # problems, so we reset it completely
-	    verstring=
-	    ;;
-	  *)
-	    verstring="0.0"
-	    ;;
-	  esac
-	  if test "$need_version" = no; then
-	    versuffix=
-	  else
-	    versuffix=".0.0"
-	  fi
-	fi
-
-	# Remove version info from name if versioning should be avoided
-	if test "$avoid_version" = yes && test "$need_version" = no; then
-	  major=
-	  versuffix=
-	  verstring=""
-	fi
-
-	# Check to see if the archive will have undefined symbols.
-	if test "$allow_undefined" = yes; then
-	  if test "$allow_undefined_flag" = unsupported; then
-	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
-	    build_libtool_libs=no
-	    build_old_libs=yes
-	  fi
-	else
-	  # Don't allow undefined symbols.
-	  allow_undefined_flag="$no_undefined_flag"
-	fi
-      fi
-
-      if test "$mode" != relink; then
-	# Remove our outputs, but don't remove object files since they
-	# may have been created when compiling PIC objects.
-	removelist=
-	tempremovelist=`$echo "$output_objdir/*"`
-	for p in $tempremovelist; do
-	  case $p in
-	    *.$objext)
-	       ;;
-	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
-	       if test "X$precious_files_regex" != "X"; then
-	         if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
-	         then
-		   continue
-		 fi
-	       fi
-	       removelist="$removelist $p"
-	       ;;
-	    *) ;;
-	  esac
-	done
-	if test -n "$removelist"; then
-	  $show "${rm}r $removelist"
-	  $run ${rm}r $removelist
-	fi
-      fi
-
-      # Now set the variables for building old libraries.
-      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
-	oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
-	# Transform .lo files to .o files.
-	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
-      fi
-
-      # Eliminate all temporary directories.
-      for path in $notinst_path; do
-	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
-	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
-	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
-      done
-
-      if test -n "$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	temp_xrpath=
-	for libdir in $xrpath; do
-	  temp_xrpath="$temp_xrpath -R$libdir"
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-	  esac
-	done
-	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
-	  dependency_libs="$temp_xrpath $dependency_libs"
-	fi
-      fi
-
-      # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles="$dlfiles"
-      dlfiles=
-      for lib in $old_dlfiles; do
-	case " $dlprefiles $dlfiles " in
-	*" $lib "*) ;;
-	*) dlfiles="$dlfiles $lib" ;;
-	esac
-      done
-
-      # Make sure dlprefiles contains only unique files
-      old_dlprefiles="$dlprefiles"
-      dlprefiles=
-      for lib in $old_dlprefiles; do
-	case "$dlprefiles " in
-	*" $lib "*) ;;
-	*) dlprefiles="$dlprefiles $lib" ;;
-	esac
-      done
-
-      if test "$build_libtool_libs" = yes; then
-	if test -n "$rpath"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
-	    # these systems don't actually have a c library (as such)!
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C library is in the System framework
-	    deplibs="$deplibs -framework System"
-	    ;;
-	  *-*-netbsd*)
-	    # Don't link with libc until the a.out ld.so is fixed.
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	    # Do not include libc due to us having libc/libc_r.
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    ;;
- 	  *)
-	    # Add libc to deplibs on all other systems if necessary.
-	    if test "$build_libtool_need_lc" = "yes"; then
-	      deplibs="$deplibs -lc"
-	    fi
-	    ;;
-	  esac
-	fi
-
-	# Transform deplibs into only deplibs that can be linked in shared.
-	name_save=$name
-	libname_save=$libname
-	release_save=$release
-	versuffix_save=$versuffix
-	major_save=$major
-	# I'm not sure if I'm treating the release correctly.  I think
-	# release should show up in the -l (ie -lgmp5) so we don't want to
-	# add it in twice.  Is that correct?
-	release=""
-	versuffix=""
-	major=""
-	newdeplibs=
-	droppeddeps=no
-	case $deplibs_check_method in
-	pass_all)
-	  # Don't check for shared/static.  Everything works.
-	  # This might be a little naive.  We might want to check
-	  # whether the library exists or not.  But this is on
-	  # osf3 & osf4 and I'm not really sure... Just
-	  # implementing what was already the behavior.
-	  newdeplibs=$deplibs
-	  ;;
-	test_compile)
-	  # This code stresses the "libraries are programs" paradigm to its
-	  # limits. Maybe even breaks it.  We compile a program, linking it
-	  # against the deplibs as a proxy for the library.  Then we can check
-	  # whether they linked in statically or dynamically with ldd.
-	  $rm conftest.c
-	  cat > conftest.c <<EOF
-	  int main() { return 0; }
-EOF
-	  $rm conftest
-	  $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
-	  if test "$?" -eq 0 ; then
-	    ldd_output=`ldd conftest`
-	    for i in $deplibs; do
-	      name=`expr $i : '-l\(.*\)'`
-	      # If $name is empty we are operating on a -L argument.
-              if test "$name" != "" && test "$name" -ne "0"; then
-		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		  case " $predeps $postdeps " in
-		  *" $i "*)
-		    newdeplibs="$newdeplibs $i"
-		    i=""
-		    ;;
-		  esac
-	        fi
-		if test -n "$i" ; then
-		  libname=`eval \\$echo \"$libname_spec\"`
-		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
-		  set dummy $deplib_matches
-		  deplib_match=$2
-		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		    newdeplibs="$newdeplibs $i"
-		  else
-		    droppeddeps=yes
-		    $echo
-		    $echo "*** Warning: dynamic linker does not accept needed library $i."
-		    $echo "*** I have the capability to make that library automatically link in when"
-		    $echo "*** you link to this library.  But I can only do this if you have a"
-		    $echo "*** shared version of the library, which I believe you do not have"
-		    $echo "*** because a test_compile did reveal that the linker did not use it for"
-		    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
-		  fi
-		fi
-	      else
-		newdeplibs="$newdeplibs $i"
-	      fi
-	    done
-	  else
-	    # Error occurred in the first compile.  Let's try to salvage
-	    # the situation: Compile a separate program for each library.
-	    for i in $deplibs; do
-	      name=`expr $i : '-l\(.*\)'`
-	      # If $name is empty we are operating on a -L argument.
-              if test "$name" != "" && test "$name" != "0"; then
-		$rm conftest
-		$LTCC $LTCFLAGS -o conftest conftest.c $i
-		# Did it work?
-		if test "$?" -eq 0 ; then
-		  ldd_output=`ldd conftest`
-		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		    case " $predeps $postdeps " in
-		    *" $i "*)
-		      newdeplibs="$newdeplibs $i"
-		      i=""
-		      ;;
-		    esac
-		  fi
-		  if test -n "$i" ; then
-		    libname=`eval \\$echo \"$libname_spec\"`
-		    deplib_matches=`eval \\$echo \"$library_names_spec\"`
-		    set dummy $deplib_matches
-		    deplib_match=$2
-		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		      newdeplibs="$newdeplibs $i"
-		    else
-		      droppeddeps=yes
-		      $echo
-		      $echo "*** Warning: dynamic linker does not accept needed library $i."
-		      $echo "*** I have the capability to make that library automatically link in when"
-		      $echo "*** you link to this library.  But I can only do this if you have a"
-		      $echo "*** shared version of the library, which you do not appear to have"
-		      $echo "*** because a test_compile did reveal that the linker did not use this one"
-		      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
-		    fi
-		  fi
-		else
-		  droppeddeps=yes
-		  $echo
-		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
-		  $echo "***  make it link in!  You will probably need to install it or some"
-		  $echo "*** library that it depends on before this library will be fully"
-		  $echo "*** functional.  Installing it before continuing would be even better."
-		fi
-	      else
-		newdeplibs="$newdeplibs $i"
-	      fi
-	    done
-	  fi
-	  ;;
-	file_magic*)
-	  set dummy $deplibs_check_method
-	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    name=`expr $a_deplib : '-l\(.*\)'`
-	    # If $name is empty we are operating on a -L argument.
-            if test "$name" != "" && test  "$name" != "0"; then
-	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		case " $predeps $postdeps " in
-		*" $a_deplib "*)
-		  newdeplibs="$newdeplibs $a_deplib"
-		  a_deplib=""
-		  ;;
-		esac
-	      fi
-	      if test -n "$a_deplib" ; then
-		libname=`eval \\$echo \"$libname_spec\"`
-		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		  for potent_lib in $potential_libs; do
-		      # Follow soft links.
-		      if ls -lLd "$potent_lib" 2>/dev/null \
-			 | grep " -> " >/dev/null; then
-			continue
-		      fi
-		      # The statement above tries to avoid entering an
-		      # endless loop below, in case of cyclic links.
-		      # We might still enter an endless loop, since a link
-		      # loop can be closed while we follow links,
-		      # but so what?
-		      potlib="$potent_lib"
-		      while test -h "$potlib" 2>/dev/null; do
-			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
-			case $potliblink in
-			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
-			esac
-		      done
-		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
-			 | ${SED} 10q \
-			 | $EGREP "$file_magic_regex" > /dev/null; then
-			newdeplibs="$newdeplibs $a_deplib"
-			a_deplib=""
-			break 2
-		      fi
-		  done
-		done
-	      fi
-	      if test -n "$a_deplib" ; then
-		droppeddeps=yes
-		$echo
-		$echo "*** Warning: linker path does not have real file for library $a_deplib."
-		$echo "*** I have the capability to make that library automatically link in when"
-		$echo "*** you link to this library.  But I can only do this if you have a"
-		$echo "*** shared version of the library, which you do not appear to have"
-		$echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib" ; then
-		  $echo "*** with $libname but no candidates were found. (...for file magic test)"
-		else
-		  $echo "*** with $libname and none of the candidates passed a file format test"
-		  $echo "*** using a file magic. Last file checked: $potlib"
-		fi
-	      fi
-	    else
-	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
-	    fi
-	  done # Gone through all deplibs.
-	  ;;
-	match_pattern*)
-	  set dummy $deplibs_check_method
-	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    name=`expr $a_deplib : '-l\(.*\)'`
-	    # If $name is empty we are operating on a -L argument.
-	    if test -n "$name" && test "$name" != "0"; then
-	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		case " $predeps $postdeps " in
-		*" $a_deplib "*)
-		  newdeplibs="$newdeplibs $a_deplib"
-		  a_deplib=""
-		  ;;
-		esac
-	      fi
-	      if test -n "$a_deplib" ; then
-		libname=`eval \\$echo \"$libname_spec\"`
-		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		  for potent_lib in $potential_libs; do
-		    potlib="$potent_lib" # see symlink-check above in file_magic test
-		    if eval $echo \"$potent_lib\" 2>/dev/null \
-		        | ${SED} 10q \
-		        | $EGREP "$match_pattern_regex" > /dev/null; then
-		      newdeplibs="$newdeplibs $a_deplib"
-		      a_deplib=""
-		      break 2
-		    fi
-		  done
-		done
-	      fi
-	      if test -n "$a_deplib" ; then
-		droppeddeps=yes
-		$echo
-		$echo "*** Warning: linker path does not have real file for library $a_deplib."
-		$echo "*** I have the capability to make that library automatically link in when"
-		$echo "*** you link to this library.  But I can only do this if you have a"
-		$echo "*** shared version of the library, which you do not appear to have"
-		$echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib" ; then
-		  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
-		else
-		  $echo "*** with $libname and none of the candidates passed a file format test"
-		  $echo "*** using a regex pattern. Last file checked: $potlib"
-		fi
-	      fi
-	    else
-	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
-	    fi
-	  done # Gone through all deplibs.
-	  ;;
-	none | unknown | *)
-	  newdeplibs=""
-	  tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
-	    -e 's/ -[LR][^ ]*//g'`
-	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-	    for i in $predeps $postdeps ; do
-	      # can't use Xsed below, because $i might contain '/'
-	      tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
-	    done
-	  fi
-	  if $echo "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' \
-	    | grep . >/dev/null; then
-	    $echo
-	    if test "X$deplibs_check_method" = "Xnone"; then
-	      $echo "*** Warning: inter-library dependencies are not supported in this platform."
-	    else
-	      $echo "*** Warning: inter-library dependencies are not known to be supported."
-	    fi
-	    $echo "*** All declared inter-library dependencies are being dropped."
-	    droppeddeps=yes
-	  fi
-	  ;;
-	esac
-	versuffix=$versuffix_save
-	major=$major_save
-	release=$release_save
-	libname=$libname_save
-	name=$name_save
-
-	case $host in
-	*-*-rhapsody* | *-*-darwin1.[012])
-	  # On Rhapsody replace the C library is the System framework
-	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
-	  ;;
-	esac
-
-	if test "$droppeddeps" = yes; then
-	  if test "$module" = yes; then
-	    $echo
-	    $echo "*** Warning: libtool could not satisfy all declared inter-library"
-	    $echo "*** dependencies of module $libname.  Therefore, libtool will create"
-	    $echo "*** a static module, that should work as long as the dlopening"
-	    $echo "*** application is linked with the -dlopen flag."
-	    if test -z "$global_symbol_pipe"; then
-	      $echo
-	      $echo "*** However, this would only work if libtool was able to extract symbol"
-	      $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-	      $echo "*** not find such a program.  So, this module is probably useless."
-	      $echo "*** \`nm' from GNU binutils and a full rebuild may help."
-	    fi
-	    if test "$build_old_libs" = no; then
-	      oldlibs="$output_objdir/$libname.$libext"
-	      build_libtool_libs=module
-	      build_old_libs=yes
-	    else
-	      build_libtool_libs=no
-	    fi
-	  else
-	    $echo "*** The inter-library dependencies that have been dropped here will be"
-	    $echo "*** automatically added whenever a program is linked with this library"
-	    $echo "*** or is declared to -dlopen it."
-
-	    if test "$allow_undefined" = no; then
-	      $echo
-	      $echo "*** Since this library must not contain undefined symbols,"
-	      $echo "*** because either the platform does not support them or"
-	      $echo "*** it was explicitly requested with -no-undefined,"
-	      $echo "*** libtool will only create a static version of it."
-	      if test "$build_old_libs" = no; then
-		oldlibs="$output_objdir/$libname.$libext"
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  fi
-	fi
-	# Done checking deplibs!
-	deplibs=$newdeplibs
-      fi
-
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-	case " $new_libs " in
-	*" -L$path/$objdir "*) ;;
-	*)
-	  case " $deplibs " in
-	  *" -L$path/$objdir "*)
-	    new_libs="$new_libs -L$path/$objdir" ;;
-	  esac
-	  ;;
-	esac
-      done
-      for deplib in $deplibs; do
-	case $deplib in
-	-L*)
-	  case " $new_libs " in
-	  *" $deplib "*) ;;
-	  *) new_libs="$new_libs $deplib" ;;
-	  esac
-	  ;;
-	*) new_libs="$new_libs $deplib" ;;
-	esac
-      done
-      deplibs="$new_libs"
-
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-
-      # Test again, we may have decided not to build it any more
-      if test "$build_libtool_libs" = yes; then
-	if test "$hardcode_into_libs" = yes; then
-	  # Hardcode the library paths
-	  hardcode_libdirs=
-	  dep_rpath=
-	  rpath="$finalize_rpath"
-	  test "$mode" != relink && rpath="$compile_rpath$rpath"
-	  for libdir in $rpath; do
-	    if test -n "$hardcode_libdir_flag_spec"; then
-	      if test -n "$hardcode_libdir_separator"; then
-		if test -z "$hardcode_libdirs"; then
-		  hardcode_libdirs="$libdir"
-		else
-		  # Just accumulate the unique libdirs.
-		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		    ;;
-		  *)
-		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		    ;;
-		  esac
-		fi
-	      else
-		eval flag=\"$hardcode_libdir_flag_spec\"
-		dep_rpath="$dep_rpath $flag"
-	      fi
-	    elif test -n "$runpath_var"; then
-	      case "$perm_rpath " in
-	      *" $libdir "*) ;;
-	      *) perm_rpath="$perm_rpath $libdir" ;;
-	      esac
-	    fi
-	  done
-	  # Substitute the hardcoded libdirs into the rpath.
-	  if test -n "$hardcode_libdir_separator" &&
-	     test -n "$hardcode_libdirs"; then
-	    libdir="$hardcode_libdirs"
-	    if test -n "$hardcode_libdir_flag_spec_ld"; then
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
-	    else
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
-	    fi
-	  fi
-	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
-	    # We should set the runpath_var.
-	    rpath=
-	    for dir in $perm_rpath; do
-	      rpath="$rpath$dir:"
-	    done
-	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
-	  fi
-	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
-	fi
-
-	shlibpath="$finalize_shlibpath"
-	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
-	if test -n "$shlibpath"; then
-	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
-	fi
-
-	# Get the real and link names of the library.
-	eval shared_ext=\"$shrext_cmds\"
-	eval library_names=\"$library_names_spec\"
-	set dummy $library_names
-	realname="$2"
-	shift; shift
-
-	if test -n "$soname_spec"; then
-	  eval soname=\"$soname_spec\"
-	else
-	  soname="$realname"
-	fi
-	if test -z "$dlname"; then
-	  dlname=$soname
-	fi
-
-	lib="$output_objdir/$realname"
-	linknames=
-	for link
-	do
-	  linknames="$linknames $link"
-	done
-
-	# Use standard objects if they are pic
-	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-
-	# Prepare the list of exported symbols
-	if test -z "$export_symbols"; then
-	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-	    $show "generating symbol list for \`$libname.la'"
-	    export_symbols="$output_objdir/$libname.exp"
-	    $run $rm $export_symbols
-	    cmds=$export_symbols_cmds
-	    save_ifs="$IFS"; IFS='~'
-	    for cmd in $cmds; do
-	      IFS="$save_ifs"
-	      eval cmd=\"$cmd\"
-	      if len=`expr "X$cmd" : ".*"` &&
-	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	        $show "$cmd"
-	        $run eval "$cmd" || exit $?
-	        skipped_export=false
-	      else
-	        # The command line is too long to execute in one step.
-	        $show "using reloadable object file for export list..."
-	        skipped_export=:
-		# Break out early, otherwise skipped_export may be
-		# set to false by a later but shorter cmd.
-		break
-	      fi
-	    done
-	    IFS="$save_ifs"
-	    if test -n "$export_symbols_regex"; then
-	      $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
-	      $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
-	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
-	    fi
-	  fi
-	fi
-
-	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
-	fi
-
-	tmp_deplibs=
-	for test_deplib in $deplibs; do
-		case " $convenience " in
-		*" $test_deplib "*) ;;
-		*)
-			tmp_deplibs="$tmp_deplibs $test_deplib"
-			;;
-		esac
-	done
-	deplibs="$tmp_deplibs"
-
-	if test -n "$convenience"; then
-	  if test -n "$whole_archive_flag_spec"; then
-	    save_libobjs=$libobjs
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	  else
-	    gentop="$output_objdir/${outputname}x"
-	    generated="$generated $gentop"
-
-	    func_extract_archives $gentop $convenience
-	    libobjs="$libobjs $func_extract_archives_result"
-	  fi
-	fi
-	
-	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
-	  eval flag=\"$thread_safe_flag_spec\"
-	  linker_flags="$linker_flags $flag"
-	fi
-
-	# Make a backup of the uninstalled library when relinking
-	if test "$mode" = relink; then
-	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
-	fi
-
-	# Do each of the archive commands.
-	if test "$module" = yes && test -n "$module_cmds" ; then
-	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-	    eval test_cmds=\"$module_expsym_cmds\"
-	    cmds=$module_expsym_cmds
-	  else
-	    eval test_cmds=\"$module_cmds\"
-	    cmds=$module_cmds
-	  fi
-	else
-	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	  eval test_cmds=\"$archive_expsym_cmds\"
-	  cmds=$archive_expsym_cmds
-	else
-	  eval test_cmds=\"$archive_cmds\"
-	  cmds=$archive_cmds
-	  fi
-	fi
-
-	if test "X$skipped_export" != "X:" &&
-	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
-	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	  :
-	else
-	  # The command line is too long to link in one step, link piecewise.
-	  $echo "creating reloadable object files..."
-
-	  # Save the value of $output and $libobjs because we want to
-	  # use them later.  If we have whole_archive_flag_spec, we
-	  # want to use save_libobjs as it was before
-	  # whole_archive_flag_spec was expanded, because we can't
-	  # assume the linker understands whole_archive_flag_spec.
-	  # This may have to be revisited, in case too many
-	  # convenience libraries get linked in and end up exceeding
-	  # the spec.
-	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
-	    save_libobjs=$libobjs
-	  fi
-	  save_output=$output
-	  output_la=`$echo "X$output" | $Xsed -e "$basename"`
-
-	  # Clear the reloadable object creation command queue and
-	  # initialize k to one.
-	  test_cmds=
-	  concat_cmds=
-	  objlist=
-	  delfiles=
-	  last_robj=
-	  k=1
-	  output=$output_objdir/$output_la-${k}.$objext
-	  # Loop over the list of objects to be linked.
-	  for obj in $save_libobjs
-	  do
-	    eval test_cmds=\"$reload_cmds $objlist $last_robj\"
-	    if test "X$objlist" = X ||
-	       { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
-		 test "$len" -le "$max_cmd_len"; }; then
-	      objlist="$objlist $obj"
-	    else
-	      # The command $test_cmds is almost too long, add a
-	      # command to the queue.
-	      if test "$k" -eq 1 ; then
-		# The first file doesn't have a previous command to add.
-		eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
-	      else
-		# All subsequent reloadable object files will link in
-		# the last one created.
-		eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
-	      fi
-	      last_robj=$output_objdir/$output_la-${k}.$objext
-	      k=`expr $k + 1`
-	      output=$output_objdir/$output_la-${k}.$objext
-	      objlist=$obj
-	      len=1
-	    fi
-	  done
-	  # Handle the remaining objects by creating one last
-	  # reloadable object file.  All subsequent reloadable object
-	  # files will link in the last one created.
-	  test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	  eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-
-	  if ${skipped_export-false}; then
-	    $show "generating symbol list for \`$libname.la'"
-	    export_symbols="$output_objdir/$libname.exp"
-	    $run $rm $export_symbols
-	    libobjs=$output
-	    # Append the command to create the export file.
-	    eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
-          fi
-
-	  # Set up a command to remove the reloadable object files
-	  # after they are used.
-	  i=0
-	  while test "$i" -lt "$k"
-	  do
-	    i=`expr $i + 1`
-	    delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
-	  done
-
-	  $echo "creating a temporary reloadable object file: $output"
-
-	  # Loop through the commands generated above and execute them.
-	  save_ifs="$IFS"; IFS='~'
-	  for cmd in $concat_cmds; do
-	    IFS="$save_ifs"
-	    $show "$cmd"
-	    $run eval "$cmd" || exit $?
-	  done
-	  IFS="$save_ifs"
-
-	  libobjs=$output
-	  # Restore the value of output.
-	  output=$save_output
-
-	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	  fi
-	  # Expand the library linking commands again to reset the
-	  # value of $libobjs for piecewise linking.
-
-	  # Do each of the archive commands.
-	  if test "$module" = yes && test -n "$module_cmds" ; then
-	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-	      cmds=$module_expsym_cmds
-	    else
-	      cmds=$module_cmds
-	    fi
-	  else
-	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	    cmds=$archive_expsym_cmds
-	  else
-	    cmds=$archive_cmds
-	    fi
-	  fi
-
-	  # Append the command to remove the reloadable object files
-	  # to the just-reset $cmds.
-	  eval cmds=\"\$cmds~\$rm $delfiles\"
-	fi
-	save_ifs="$IFS"; IFS='~'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  eval cmd=\"$cmd\"
-	  $show "$cmd"
-	  $run eval "$cmd" || {
-	    lt_exit=$?
-
-	    # Restore the uninstalled library and exit
-	    if test "$mode" = relink; then
-	      $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
-	    fi
-
-	    exit $lt_exit
-	  }
-	done
-	IFS="$save_ifs"
-
-	# Restore the uninstalled library and exit
-	if test "$mode" = relink; then
-	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
-
-	  if test -n "$convenience"; then
-	    if test -z "$whole_archive_flag_spec"; then
-	      $show "${rm}r $gentop"
-	      $run ${rm}r "$gentop"
-	    fi
-	  fi
-
-	  exit $EXIT_SUCCESS
-	fi
-
-	# Create links to the real library.
-	for linkname in $linknames; do
-	  if test "$realname" != "$linkname"; then
-	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
-	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
-	  fi
-	done
-
-	# If -module or -export-dynamic was specified, set the dlname.
-	if test "$module" = yes || test "$export_dynamic" = yes; then
-	  # On all known operating systems, these are identical.
-	  dlname="$soname"
-	fi
-      fi
-      ;;
-
-    obj)
-      if test -n "$deplibs"; then
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
-      fi
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$xrpath"; then
-	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
-      fi
-
-      case $output in
-      *.lo)
-	if test -n "$objs$old_deplibs"; then
-	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-	libobj="$output"
-	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
-	;;
-      *)
-	libobj=
-	obj="$output"
-	;;
-      esac
-
-      # Delete the old objects.
-      $run $rm $obj $libobj
-
-      # Objects from convenience libraries.  This assumes
-      # single-version convenience libraries.  Whenever we create
-      # different ones for PIC/non-PIC, this we'll have to duplicate
-      # the extraction.
-      reload_conv_objs=
-      gentop=
-      # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec
-      wl=
-
-      if test -n "$convenience"; then
-	if test -n "$whole_archive_flag_spec"; then
-	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
-	else
-	  gentop="$output_objdir/${obj}x"
-	  generated="$generated $gentop"
-
-	  func_extract_archives $gentop $convenience
-	  reload_conv_objs="$reload_objs $func_extract_archives_result"
-	fi
-      fi
-
-      # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
-      output="$obj"
-      cmds=$reload_cmds
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-	IFS="$save_ifs"
-	eval cmd=\"$cmd\"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-
-      # Exit if we aren't doing a library object file.
-      if test -z "$libobj"; then
-	if test -n "$gentop"; then
-	  $show "${rm}r $gentop"
-	  $run ${rm}r $gentop
-	fi
-
-	exit $EXIT_SUCCESS
-      fi
-
-      if test "$build_libtool_libs" != yes; then
-	if test -n "$gentop"; then
-	  $show "${rm}r $gentop"
-	  $run ${rm}r $gentop
-	fi
-
-	# Create an invalid libtool object if no PIC, so that we don't
-	# accidentally link it into a program.
-	# $show "echo timestamp > $libobj"
-	# $run eval "echo timestamp > $libobj" || exit $?
-	exit $EXIT_SUCCESS
-      fi
-
-      if test -n "$pic_flag" || test "$pic_mode" != default; then
-	# Only do commands if we really have different PIC objects.
-	reload_objs="$libobjs $reload_conv_objs"
-	output="$libobj"
-	cmds=$reload_cmds
-	save_ifs="$IFS"; IFS='~'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  eval cmd=\"$cmd\"
-	  $show "$cmd"
-	  $run eval "$cmd" || exit $?
-	done
-	IFS="$save_ifs"
-      fi
-
-      if test -n "$gentop"; then
-	$show "${rm}r $gentop"
-	$run ${rm}r $gentop
-      fi
-
-      exit $EXIT_SUCCESS
-      ;;
-
-    prog)
-      case $host in
-	*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
-      esac
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
-      fi
-
-      if test "$preload" = yes; then
-	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
-	   test "$dlopen_self_static" = unknown; then
-	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
-	fi
-      fi
-
-      case $host in
-      *-*-rhapsody* | *-*-darwin1.[012])
-	# On Rhapsody replace the C library is the System framework
-	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
-	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
-	;;
-      esac
-
-      case $host in
-      *darwin*)
-        # Don't allow lazy linking, it breaks C++ global constructors
-        if test "$tagname" = CXX ; then
-        compile_command="$compile_command ${wl}-bind_at_load"
-        finalize_command="$finalize_command ${wl}-bind_at_load"
-        fi
-        ;;
-      esac
-
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-	case " $new_libs " in
-	*" -L$path/$objdir "*) ;;
-	*)
-	  case " $compile_deplibs " in
-	  *" -L$path/$objdir "*)
-	    new_libs="$new_libs -L$path/$objdir" ;;
-	  esac
-	  ;;
-	esac
-      done
-      for deplib in $compile_deplibs; do
-	case $deplib in
-	-L*)
-	  case " $new_libs " in
-	  *" $deplib "*) ;;
-	  *) new_libs="$new_libs $deplib" ;;
-	  esac
-	  ;;
-	*) new_libs="$new_libs $deplib" ;;
-	esac
-      done
-      compile_deplibs="$new_libs"
-
-
-      compile_command="$compile_command $compile_deplibs"
-      finalize_command="$finalize_command $finalize_deplibs"
-
-      if test -n "$rpath$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	for libdir in $rpath $xrpath; do
-	  # This is the magic to use -rpath.
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-	  esac
-	done
-      fi
-
-      # Now hardcode the library paths
-      rpath=
-      hardcode_libdirs=
-      for libdir in $compile_rpath $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) perm_rpath="$perm_rpath $libdir" ;;
-	  esac
-	fi
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-	  testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$libdir:"*) ;;
-	  *) dllsearchpath="$dllsearchpath:$libdir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  *) dllsearchpath="$dllsearchpath:$testbindir";;
-	  esac
-	  ;;
-	esac
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      compile_rpath="$rpath"
-
-      rpath=
-      hardcode_libdirs=
-      for libdir in $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$finalize_perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
-	  esac
-	fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      finalize_rpath="$rpath"
-
-      if test -n "$libobjs" && test "$build_old_libs" = yes; then
-	# Transform all the library objects into standard objects.
-	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-      fi
-
-      dlsyms=
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	if test -n "$NM" && test -n "$global_symbol_pipe"; then
-	  dlsyms="${outputname}S.c"
-	else
-	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
-	fi
-      fi
-
-      if test -n "$dlsyms"; then
-	case $dlsyms in
-	"") ;;
-	*.c)
-	  # Discover the nlist of each of the dlfiles.
-	  nlist="$output_objdir/${outputname}.nm"
-
-	  $show "$rm $nlist ${nlist}S ${nlist}T"
-	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
-	  # Parse the name list into a source file.
-	  $show "creating $output_objdir/$dlsyms"
-
-	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
-	  if test "$dlself" = yes; then
-	    $show "generating symbol list for \`$output'"
-
-	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
-	    # Add our own program objects to the symbol list.
-	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	    for arg in $progfiles; do
-	      $show "extracting global C symbols from \`$arg'"
-	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-	    done
-
-	    if test -n "$exclude_expsyms"; then
-	      $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-	      $run eval '$mv "$nlist"T "$nlist"'
-	    fi
-
-	    if test -n "$export_symbols_regex"; then
-	      $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-	      $run eval '$mv "$nlist"T "$nlist"'
-	    fi
-
-	    # Prepare the list of exported symbols
-	    if test -z "$export_symbols"; then
-	      export_symbols="$output_objdir/$outputname.exp"
-	      $run $rm $export_symbols
-	      $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-              case $host in
-              *cygwin* | *mingw* )
-	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-		$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
-                ;;
-              esac
-	    else
-	      $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-	      $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-	      $run eval 'mv "$nlist"T "$nlist"'
-              case $host in
-              *cygwin* | *mingw* )
-	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-		$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
-                ;;
-              esac
-	    fi
-	  fi
-
-	  for arg in $dlprefiles; do
-	    $show "extracting global C symbols from \`$arg'"
-	    name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
-	    $run eval '$echo ": $name " >> "$nlist"'
-	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-	  done
-
-	  if test -z "$run"; then
-	    # Make sure we have at least an empty file.
-	    test -f "$nlist" || : > "$nlist"
-
-	    if test -n "$exclude_expsyms"; then
-	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-	      $mv "$nlist"T "$nlist"
-	    fi
-
-	    # Try sorting and uniquifying the output.
-	    if grep -v "^: " < "$nlist" |
-		if sort -k 3 </dev/null >/dev/null 2>&1; then
-		  sort -k 3
-		else
-		  sort +2
-		fi |
-		uniq > "$nlist"S; then
-	      :
-	    else
-	      grep -v "^: " < "$nlist" > "$nlist"S
-	    fi
-
-	    if test -f "$nlist"S; then
-	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
-	    else
-	      $echo '/* NONE */' >> "$output_objdir/$dlsyms"
-	    fi
-
-	    $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-"
-
-	    case $host in
-	    *cygwin* | *mingw* )
-	  $echo >> "$output_objdir/$dlsyms" "\
-/* DATA imports from DLLs on WIN32 can't be const, because
-   runtime relocations are performed -- see ld's documentation
-   on pseudo-relocs */
-struct {
-"
-	      ;;
-	    * )
-	  $echo >> "$output_objdir/$dlsyms" "\
-const struct {
-"
-	      ;;
-	    esac
-
-
-	  $echo >> "$output_objdir/$dlsyms" "\
-  const char *name;
-  lt_ptr address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
-	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-
-	    $echo >> "$output_objdir/$dlsyms" "\
-  {0, (lt_ptr) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-	  fi
-
-	  pic_flag_for_symtable=
-	  case $host in
-	  # compiling the symbol table file with pic_flag works around
-	  # a FreeBSD bug that causes programs to crash when -lm is
-	  # linked before any other PIC object.  But we must not use
-	  # pic_flag when linking with -static.  The problem exists in
-	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-	    case "$compile_command " in
-	    *" -static "*) ;;
-	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
-	    esac;;
-	  *-*-hpux*)
-	    case "$compile_command " in
-	    *" -static "*) ;;
-	    *) pic_flag_for_symtable=" $pic_flag";;
-	    esac
-	  esac
-
-	  # Now compile the dynamic symbol file.
-	  $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
-	  $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
-	  # Clean up the generated files.
-	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
-	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
-	  # Transform the symbol file into the correct name.
-          case $host in
-          *cygwin* | *mingw* )
-            if test -f "$output_objdir/${outputname}.def" ; then
-              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
-              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
-            else
-              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-             fi
-            ;;
-          * )
-            compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-            finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-            ;;
-          esac
-	  ;;
-	*)
-	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-      else
-	# We keep going just in case the user didn't refer to
-	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-	# really was required.
-
-	# Nullify the symbol file.
-	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
-      fi
-
-      if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
-	# Replace the output file specification.
-	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-	link_command="$compile_command$compile_rpath"
-
-	# We have no uninstalled library dependencies, so finalize right now.
-	$show "$link_command"
-	$run eval "$link_command"
-	exit_status=$?
-
-	# Delete the generated files.
-	if test -n "$dlsyms"; then
-	  $show "$rm $output_objdir/${outputname}S.${objext}"
-	  $run $rm "$output_objdir/${outputname}S.${objext}"
-	fi
-
-	exit $exit_status
-      fi
-
-      if test -n "$shlibpath_var"; then
-	# We should set the shlibpath_var
-	rpath=
-	for dir in $temp_rpath; do
-	  case $dir in
-	  [\\/]* | [A-Za-z]:[\\/]*)
-	    # Absolute path.
-	    rpath="$rpath$dir:"
-	    ;;
-	  *)
-	    # Relative path: add a thisdir entry.
-	    rpath="$rpath\$thisdir/$dir:"
-	    ;;
-	  esac
-	done
-	temp_rpath="$rpath"
-      fi
-
-      if test -n "$compile_shlibpath$finalize_shlibpath"; then
-	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-      fi
-      if test -n "$finalize_shlibpath"; then
-	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-      fi
-
-      compile_var=
-      finalize_var=
-      if test -n "$runpath_var"; then
-	if test -n "$perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $perm_rpath; do
-	    rpath="$rpath$dir:"
-	  done
-	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-	if test -n "$finalize_perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $finalize_perm_rpath; do
-	    rpath="$rpath$dir:"
-	  done
-	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-      fi
-
-      if test "$no_install" = yes; then
-	# We don't need to create a wrapper script.
-	link_command="$compile_var$compile_command$compile_rpath"
-	# Replace the output file specification.
-	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-	# Delete the old output file.
-	$run $rm $output
-	# Link the executable and exit
-	$show "$link_command"
-	$run eval "$link_command" || exit $?
-	exit $EXIT_SUCCESS
-      fi
-
-      if test "$hardcode_action" = relink; then
-	# Fast installation is not supported
-	link_command="$compile_var$compile_command$compile_rpath"
-	relink_command="$finalize_var$finalize_command$finalize_rpath"
-
-	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
-	$echo "$modename: \`$output' will be relinked during installation" 1>&2
-      else
-	if test "$fast_install" != no; then
-	  link_command="$finalize_var$compile_command$finalize_rpath"
-	  if test "$fast_install" = yes; then
-	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
-	  else
-	    # fast_install is set to needless
-	    relink_command=
-	  fi
-	else
-	  link_command="$compile_var$compile_command$compile_rpath"
-	  relink_command="$finalize_var$finalize_command$finalize_rpath"
-	fi
-      fi
-
-      # Replace the output file specification.
-      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
-      # Delete the old output files.
-      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
-      $show "$link_command"
-      $run eval "$link_command" || exit $?
-
-      # Now create the wrapper script.
-      $show "creating $output"
-
-      # Quote the relink command for shipping.
-      if test -n "$relink_command"; then
-	# Preserve any variables that may affect compiler behavior
-	for var in $variables_saved_for_relink; do
-	  if eval test -z \"\${$var+set}\"; then
-	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
-	  elif eval var_value=\$$var; test -z "$var_value"; then
-	    relink_command="$var=; export $var; $relink_command"
-	  else
-	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
-	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
-	  fi
-	done
-	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Quote $echo for shipping.
-      if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
-	case $progpath in
-	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
-	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
-	esac
-	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
-      else
-	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Only actually do things if our run command is non-null.
-      if test -z "$run"; then
-	# win32 will think the script is a binary if it has
-	# a .exe suffix, so we strip it off here.
-	case $output in
-	  *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
-	esac
-	# test for cygwin because mv fails w/o .exe extensions
-	case $host in
-	  *cygwin*)
-	    exeext=.exe
-	    outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
-	  *) exeext= ;;
-	esac
-	case $host in
-	  *cygwin* | *mingw* )
-            output_name=`basename $output`
-            output_path=`dirname $output`
-            cwrappersource="$output_path/$objdir/lt-$output_name.c"
-            cwrapper="$output_path/$output_name.exe"
-            $rm $cwrappersource $cwrapper
-            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
-	    cat > $cwrappersource <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-
-   The $output program cannot be directly executed until all the libtool
-   libraries that it depends on are installed.
-
-   This wrapper executable should never be moved out of the build directory.
-   If it is, it will not operate correctly.
-
-   Currently, it simply execs the wrapper *script* "/bin/sh $output",
-   but could eventually absorb all of the scripts functionality and
-   exec $objdir/$outputname directly.
-*/
-EOF
-	    cat >> $cwrappersource<<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/stat.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-  defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# ifndef DIR_SEPARATOR_2
-#  define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-#  define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
-        (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
-  if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-/* -DDEBUG is fairly common in CFLAGS.  */
-#undef DEBUG
-#if defined DEBUGWRAPPER
-# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
-#else
-# define DEBUG(format, ...)
-#endif
-
-const char *program_name = NULL;
-
-void * xmalloc (size_t num);
-char * xstrdup (const char *string);
-const char * base_name (const char *name);
-char * find_executable(const char *wrapper);
-int    check_executable(const char *path);
-char * strendzap(char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-
-int
-main (int argc, char *argv[])
-{
-  char **newargz;
-  int i;
-
-  program_name = (char *) xstrdup (base_name (argv[0]));
-  DEBUG("(main) argv[0]      : %s\n",argv[0]);
-  DEBUG("(main) program_name : %s\n",program_name);
-  newargz = XMALLOC(char *, argc+2);
-EOF
-
-            cat >> $cwrappersource <<EOF
-  newargz[0] = (char *) xstrdup("$SHELL");
-EOF
-
-            cat >> $cwrappersource <<"EOF"
-  newargz[1] = find_executable(argv[0]);
-  if (newargz[1] == NULL)
-    lt_fatal("Couldn't find %s", argv[0]);
-  DEBUG("(main) found exe at : %s\n",newargz[1]);
-  /* we know the script has the same name, without the .exe */
-  /* so make sure newargz[1] doesn't end in .exe */
-  strendzap(newargz[1],".exe");
-  for (i = 1; i < argc; i++)
-    newargz[i+1] = xstrdup(argv[i]);
-  newargz[argc+1] = NULL;
-
-  for (i=0; i<argc+1; i++)
-  {
-    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
-    ;
-  }
-
-EOF
-
-            case $host_os in
-              mingw*)
-                cat >> $cwrappersource <<EOF
-  execv("$SHELL",(char const **)newargz);
-EOF
-              ;;
-              *)
-                cat >> $cwrappersource <<EOF
-  execv("$SHELL",newargz);
-EOF
-              ;;
-            esac
-
-            cat >> $cwrappersource <<"EOF"
-  return 127;
-}
-
-void *
-xmalloc (size_t num)
-{
-  void * p = (void *) malloc (num);
-  if (!p)
-    lt_fatal ("Memory exhausted");
-
-  return p;
-}
-
-char *
-xstrdup (const char *string)
-{
-  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
-;
-}
-
-const char *
-base_name (const char *name)
-{
-  const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
-    name += 2;
-#endif
-
-  for (base = name; *name; name++)
-    if (IS_DIR_SEPARATOR (*name))
-      base = name + 1;
-  return base;
-}
-
-int
-check_executable(const char * path)
-{
-  struct stat st;
-
-  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
-  if ((!path) || (!*path))
-    return 0;
-
-  if ((stat (path, &st) >= 0) &&
-      (
-        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
-#if defined (S_IXOTH)
-       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
-#endif
-#if defined (S_IXGRP)
-       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
-#endif
-       ((st.st_mode & S_IXUSR) == S_IXUSR))
-      )
-    return 1;
-  else
-    return 0;
-}
-
-/* Searches for the full path of the wrapper.  Returns
-   newly allocated full path name if found, NULL otherwise */
-char *
-find_executable (const char* wrapper)
-{
-  int has_slash = 0;
-  const char* p;
-  const char* p_next;
-  /* static buffer for getcwd */
-  char tmp[LT_PATHMAX + 1];
-  int tmp_len;
-  char* concat_name;
-
-  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
-
-  if ((wrapper == NULL) || (*wrapper == '\0'))
-    return NULL;
-
-  /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
-  {
-    concat_name = xstrdup (wrapper);
-    if (check_executable(concat_name))
-      return concat_name;
-    XFREE(concat_name);
-  }
-  else
-  {
-#endif
-    if (IS_DIR_SEPARATOR (wrapper[0]))
-    {
-      concat_name = xstrdup (wrapper);
-      if (check_executable(concat_name))
-        return concat_name;
-      XFREE(concat_name);
-    }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  }
-#endif
-
-  for (p = wrapper; *p; p++)
-    if (*p == '/')
-    {
-      has_slash = 1;
-      break;
-    }
-  if (!has_slash)
-  {
-    /* no slashes; search PATH */
-    const char* path = getenv ("PATH");
-    if (path != NULL)
-    {
-      for (p = path; *p; p = p_next)
-      {
-        const char* q;
-        size_t p_len;
-        for (q = p; *q; q++)
-          if (IS_PATH_SEPARATOR(*q))
-            break;
-        p_len = q - p;
-        p_next = (*q == '\0' ? q : q + 1);
-        if (p_len == 0)
-        {
-          /* empty path: current directory */
-          if (getcwd (tmp, LT_PATHMAX) == NULL)
-            lt_fatal ("getcwd failed");
-          tmp_len = strlen(tmp);
-          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
-          memcpy (concat_name, tmp, tmp_len);
-          concat_name[tmp_len] = '/';
-          strcpy (concat_name + tmp_len + 1, wrapper);
-        }
-        else
-        {
-          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
-          memcpy (concat_name, p, p_len);
-          concat_name[p_len] = '/';
-          strcpy (concat_name + p_len + 1, wrapper);
-        }
-        if (check_executable(concat_name))
-          return concat_name;
-        XFREE(concat_name);
-      }
-    }
-    /* not found in PATH; assume curdir */
-  }
-  /* Relative path | not found in path: prepend cwd */
-  if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal ("getcwd failed");
-  tmp_len = strlen(tmp);
-  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
-  memcpy (concat_name, tmp, tmp_len);
-  concat_name[tmp_len] = '/';
-  strcpy (concat_name + tmp_len + 1, wrapper);
-
-  if (check_executable(concat_name))
-    return concat_name;
-  XFREE(concat_name);
-  return NULL;
-}
-
-char *
-strendzap(char *str, const char *pat)
-{
-  size_t len, patlen;
-
-  assert(str != NULL);
-  assert(pat != NULL);
-
-  len = strlen(str);
-  patlen = strlen(pat);
-
-  if (patlen <= len)
-  {
-    str += len - patlen;
-    if (strcmp(str, pat) == 0)
-      *str = '\0';
-  }
-  return str;
-}
-
-static void
-lt_error_core (int exit_status, const char * mode,
-          const char * message, va_list ap)
-{
-  fprintf (stderr, "%s: %s: ", program_name, mode);
-  vfprintf (stderr, message, ap);
-  fprintf (stderr, ".\n");
-
-  if (exit_status >= 0)
-    exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
-  va_list ap;
-  va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
-  va_end (ap);
-}
-EOF
-          # we should really use a build-platform specific compiler
-          # here, but OTOH, the wrappers (shell script and this C one)
-          # are only useful if you want to execute the "real" binary.
-          # Since the "real" binary is built for $host, then this
-          # wrapper might as well be built for $host, too.
-          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
-          ;;
-        esac
-        $rm $output
-        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
-
-	$echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variable:
-  notinst_deplibs='$notinst_deplibs'
-else
-  # When we are sourced in execute mode, \$file and \$echo are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    echo=\"$qecho\"
-    file=\"\$0\"
-    # Make sure echo works.
-    if test \"X\$1\" = X--no-reexec; then
-      # Discard the --no-reexec flag, and continue.
-      shift
-    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
-      # Yippee, \$echo works!
-      :
-    else
-      # Restart under the correct shell, and then maybe \$echo will work.
-      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-    fi
-  fi\
-"
-	$echo >> $output "\
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
-  done
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-	if test "$fast_install" = yes; then
-	  $echo >> $output "\
-  program=lt-'$outputname'$exeext
-  progdir=\"\$thisdir/$objdir\"
-
-  if test ! -f \"\$progdir/\$program\" || \\
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $mkdir \"\$progdir\"
-    else
-      $rm \"\$progdir/\$file\"
-    fi"
-
-	  $echo >> $output "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-      else
-	$echo \"\$relink_command_output\" >&2
-	$rm \"\$progdir/\$file\"
-	exit $EXIT_FAILURE
-      fi
-    fi
-
-    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $rm \"\$progdir/\$program\";
-      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $rm \"\$progdir/\$file\"
-  fi"
-	else
-	  $echo >> $output "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-	fi
-
-	$echo >> $output "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-	# Export our shlibpath_var if we have one.
-	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-	  $echo >> $output "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-	fi
-
-	# fixup the dll searchpath if we need to.
-	if test -n "$dllsearchpath"; then
-	  $echo >> $output "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-	fi
-
-	$echo >> $output "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-"
-	case $host in
-	# Backslashes separate directories on plain windows
-	*-*-mingw | *-*-os2*)
-	  $echo >> $output "\
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-	  ;;
-
-	*)
-	  $echo >> $output "\
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-	  ;;
-	esac
-	$echo >> $output "\
-      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
-      exit $EXIT_FAILURE
-    fi
-  else
-    # The program doesn't exist.
-    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
-    \$echo \"This script is just a wrapper for \$program.\" 1>&2
-    $echo \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit $EXIT_FAILURE
-  fi
-fi\
-"
-	chmod +x $output
-      fi
-      exit $EXIT_SUCCESS
-      ;;
-    esac
-
-    # See if we need to build an old-fashioned archive.
-    for oldlib in $oldlibs; do
-
-      if test "$build_libtool_libs" = convenience; then
-	oldobjs="$libobjs_save"
-	addlibs="$convenience"
-	build_libtool_libs=no
-      else
-	if test "$build_libtool_libs" = module; then
-	  oldobjs="$libobjs_save"
-	  build_libtool_libs=no
-	else
-	  oldobjs="$old_deplibs $non_pic_objects"
-	fi
-	addlibs="$old_convenience"
-      fi
-
-      if test -n "$addlibs"; then
-	gentop="$output_objdir/${outputname}x"
-	generated="$generated $gentop"
-
-	func_extract_archives $gentop $addlibs
-	oldobjs="$oldobjs $func_extract_archives_result"
-      fi
-
-      # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
-       cmds=$old_archive_from_new_cmds
-      else
-	# POSIX demands no paths to be encoded in archives.  We have
-	# to avoid creating archives with duplicate basenames if we
-	# might have to extract them afterwards, e.g., when creating a
-	# static archive out of a convenience library, or when linking
-	# the entirety of a libtool archive into another (currently
-	# not supported by libtool).
-	if (for obj in $oldobjs
-	    do
-	      $echo "X$obj" | $Xsed -e 's%^.*/%%'
-	    done | sort | sort -uc >/dev/null 2>&1); then
-	  :
-	else
-	  $echo "copying selected object files to avoid basename conflicts..."
-
-	  if test -z "$gentop"; then
-	    gentop="$output_objdir/${outputname}x"
-	    generated="$generated $gentop"
-
-	    $show "${rm}r $gentop"
-	    $run ${rm}r "$gentop"
-	    $show "$mkdir $gentop"
-	    $run $mkdir "$gentop"
-	    exit_status=$?
-	    if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
-	      exit $exit_status
-	    fi
-	  fi
-
-	  save_oldobjs=$oldobjs
-	  oldobjs=
-	  counter=1
-	  for obj in $save_oldobjs
-	  do
-	    objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
-	    case " $oldobjs " in
-	    " ") oldobjs=$obj ;;
-	    *[\ /]"$objbase "*)
-	      while :; do
-		# Make sure we don't pick an alternate name that also
-		# overlaps.
-		newobj=lt$counter-$objbase
-		counter=`expr $counter + 1`
-		case " $oldobjs " in
-		*[\ /]"$newobj "*) ;;
-		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
-		esac
-	      done
-	      $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-	      $run ln "$obj" "$gentop/$newobj" ||
-	      $run cp "$obj" "$gentop/$newobj"
-	      oldobjs="$oldobjs $gentop/$newobj"
-	      ;;
-	    *) oldobjs="$oldobjs $obj" ;;
-	    esac
-	  done
-	fi
-
-	eval cmds=\"$old_archive_cmds\"
-
-	if len=`expr "X$cmds" : ".*"` &&
-	     test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	  cmds=$old_archive_cmds
-	else
-	  # the command line is too long to link in one step, link in parts
-	  $echo "using piecewise archive linking..."
-	  save_RANLIB=$RANLIB
-	  RANLIB=:
-	  objlist=
-	  concat_cmds=
-	  save_oldobjs=$oldobjs
-
-	  # Is there a better way of finding the last object in the list?
-	  for obj in $save_oldobjs
-	  do
-	    last_oldobj=$obj
-	  done
-	  for obj in $save_oldobjs
-	  do
-	    oldobjs="$objlist $obj"
-	    objlist="$objlist $obj"
-	    eval test_cmds=\"$old_archive_cmds\"
-	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
-	       test "$len" -le "$max_cmd_len"; then
-	      :
-	    else
-	      # the above command should be used before it gets too long
-	      oldobjs=$objlist
-	      if test "$obj" = "$last_oldobj" ; then
-	        RANLIB=$save_RANLIB
-	      fi
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
-	      objlist=
-	    fi
-	  done
-	  RANLIB=$save_RANLIB
-	  oldobjs=$objlist
-	  if test "X$oldobjs" = "X" ; then
-	    eval cmds=\"\$concat_cmds\"
-	  else
-	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
-	  fi
-	fi
-      fi
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-        eval cmd=\"$cmd\"
-	IFS="$save_ifs"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$generated"; then
-      $show "${rm}r$generated"
-      $run ${rm}r$generated
-    fi
-
-    # Now create the libtool archive.
-    case $output in
-    *.la)
-      old_library=
-      test "$build_old_libs" = yes && old_library="$libname.$libext"
-      $show "creating $output"
-
-      # Preserve any variables that may affect compiler behavior
-      for var in $variables_saved_for_relink; do
-	if eval test -z \"\${$var+set}\"; then
-	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
-	elif eval var_value=\$$var; test -z "$var_value"; then
-	  relink_command="$var=; export $var; $relink_command"
-	else
-	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
-	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
-	fi
-      done
-      # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-      if test "$hardcode_automatic" = yes ; then
-	relink_command=
-      fi
-
-
-      # Only create the output if not a dry run.
-      if test -z "$run"; then
-	for installed in no yes; do
-	  if test "$installed" = yes; then
-	    if test -z "$install_libdir"; then
-	      break
-	    fi
-	    output="$output_objdir/$outputname"i
-	    # Replace all uninstalled libtool libraries with the installed ones
-	    newdependency_libs=
-	    for deplib in $dependency_libs; do
-	      case $deplib in
-	      *.la)
-		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		if test -z "$libdir"; then
-		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-		  exit $EXIT_FAILURE
-		fi
-		newdependency_libs="$newdependency_libs $libdir/$name"
-		;;
-	      *) newdependency_libs="$newdependency_libs $deplib" ;;
-	      esac
-	    done
-	    dependency_libs="$newdependency_libs"
-	    newdlfiles=
-	    for lib in $dlfiles; do
-	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-	      if test -z "$libdir"; then
-		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-		exit $EXIT_FAILURE
-	      fi
-	      newdlfiles="$newdlfiles $libdir/$name"
-	    done
-	    dlfiles="$newdlfiles"
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-	      if test -z "$libdir"; then
-		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-		exit $EXIT_FAILURE
-	      fi
-	      newdlprefiles="$newdlprefiles $libdir/$name"
-	    done
-	    dlprefiles="$newdlprefiles"
-	  else
-	    newdlfiles=
-	    for lib in $dlfiles; do
-	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-		*) abs=`pwd`"/$lib" ;;
-	      esac
-	      newdlfiles="$newdlfiles $abs"
-	    done
-	    dlfiles="$newdlfiles"
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-		*) abs=`pwd`"/$lib" ;;
-	      esac
-	      newdlprefiles="$newdlprefiles $abs"
-	    done
-	    dlprefiles="$newdlprefiles"
-	  fi
-	  $rm $output
-	  # place dlname in correct position for cygwin
-	  tdlname=$dlname
-	  case $host,$output,$installed,$module,$dlname in
-	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
-	  esac
-	  $echo > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
-	  if test "$installed" = no && test "$need_relink" = yes; then
-	    $echo >> $output "\
-relink_command=\"$relink_command\""
-	  fi
-	done
-      fi
-
-      # Do a symbolic link so that the libtool archive can be found in
-      # LD_LIBRARY_PATH before the program is installed.
-      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
-      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
-      ;;
-    esac
-    exit $EXIT_SUCCESS
-    ;;
-
-  # libtool install mode
-  install)
-    modename="$modename: install"
-
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
-       # Allow the use of GNU shtool's install command.
-       $echo "X$nonopt" | grep shtool > /dev/null; then
-      # Aesthetically quote it.
-      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	arg="\"$arg\""
-	;;
-      esac
-      install_prog="$arg "
-      arg="$1"
-      shift
-    else
-      install_prog=
-      arg=$nonopt
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-    case $arg in
-    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-      arg="\"$arg\""
-      ;;
-    esac
-    install_prog="$install_prog$arg"
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=no
-    stripme=
-    for arg
-    do
-      if test -n "$dest"; then
-	files="$files $dest"
-	dest=$arg
-	continue
-      fi
-
-      case $arg in
-      -d) isdir=yes ;;
-      -f) 
-      	case " $install_prog " in
-	*[\\\ /]cp\ *) ;;
-	*) prev=$arg ;;
-	esac
-	;;
-      -g | -m | -o) prev=$arg ;;
-      -s)
-	stripme=" -s"
-	continue
-	;;
-      -*)
-	;;
-      *)
-	# If the previous option needed an argument, then skip it.
-	if test -n "$prev"; then
-	  prev=
-	else
-	  dest=$arg
-	  continue
-	fi
-	;;
-      esac
-
-      # Aesthetically quote the argument.
-      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	arg="\"$arg\""
-	;;
-      esac
-      install_prog="$install_prog $arg"
-    done
-
-    if test -z "$install_prog"; then
-      $echo "$modename: you must specify an install program" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prev' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-	$echo "$modename: no file or destination specified" 1>&2
-      else
-	$echo "$modename: you must specify a destination" 1>&2
-      fi
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    # Strip any trailing slash from the destination.
-    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
-      destname=
-    else
-      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
-      test "X$destdir" = "X$dest" && destdir=.
-      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files
-      if test "$#" -gt 2; then
-	$echo "$modename: \`$dest' is not a directory" 1>&2
-	$echo "$help" 1>&2
-	exit $EXIT_FAILURE
-      fi
-    fi
-    case $destdir in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-	case $file in
-	*.lo) ;;
-	*)
-	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case $file in
-      *.$libext)
-	# Do the static libraries later.
-	staticlibs="$staticlibs $file"
-	;;
-
-      *.la)
-	# Check to see that this really is a libtool archive.
-	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	library_names=
-	old_library=
-	relink_command=
-	# If there is no directory component, then add one.
-	case $file in
-	*/* | *\\*) . $file ;;
-	*) . ./$file ;;
-	esac
-
-	# Add the libdir to current_libdirs if it is the destination.
-	if test "X$destdir" = "X$libdir"; then
-	  case "$current_libdirs " in
-	  *" $libdir "*) ;;
-	  *) current_libdirs="$current_libdirs $libdir" ;;
-	  esac
-	else
-	  # Note the libdir as a future libdir.
-	  case "$future_libdirs " in
-	  *" $libdir "*) ;;
-	  *) future_libdirs="$future_libdirs $libdir" ;;
-	  esac
-	fi
-
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
-	test "X$dir" = "X$file/" && dir=
-	dir="$dir$objdir"
-
-	if test -n "$relink_command"; then
-	  # Determine the prefix the user has applied to our future dir.
-	  inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
-
-	  # Don't allow the user to place us outside of our expected
-	  # location b/c this prevents finding dependent libraries that
-	  # are installed to the same prefix.
-	  # At present, this check doesn't affect windows .dll's that
-	  # are installed into $libdir/../bin (currently, that works fine)
-	  # but it's something to keep an eye on.
-	  if test "$inst_prefix_dir" = "$destdir"; then
-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-
-	  if test -n "$inst_prefix_dir"; then
-	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
-	  else
-	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
-	  fi
-
-	  $echo "$modename: warning: relinking \`$file'" 1>&2
-	  $show "$relink_command"
-	  if $run eval "$relink_command"; then :
-	  else
-	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	fi
-
-	# See the names of the shared library.
-	set dummy $library_names
-	if test -n "$2"; then
-	  realname="$2"
-	  shift
-	  shift
-
-	  srcname="$realname"
-	  test -n "$relink_command" && srcname="$realname"T
-
-	  # Install the shared library and build the symlinks.
-	  $show "$install_prog $dir/$srcname $destdir/$realname"
-	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
-	  if test -n "$stripme" && test -n "$striplib"; then
-	    $show "$striplib $destdir/$realname"
-	    $run eval "$striplib $destdir/$realname" || exit $?
-	  fi
-
-	  if test "$#" -gt 0; then
-	    # Delete the old symlinks, and create new ones.
-	    # Try `ln -sf' first, because the `ln' binary might depend on
-	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
-	    # so we also need to try rm && ln -s.
-	    for linkname
-	    do
-	      if test "$linkname" != "$realname"; then
-                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
-                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
-	      fi
-	    done
-	  fi
-
-	  # Do each command in the postinstall commands.
-	  lib="$destdir/$realname"
-	  cmds=$postinstall_cmds
-	  save_ifs="$IFS"; IFS='~'
-	  for cmd in $cmds; do
-	    IFS="$save_ifs"
-	    eval cmd=\"$cmd\"
-	    $show "$cmd"
-	    $run eval "$cmd" || {
-	      lt_exit=$?
-
-	      # Restore the uninstalled library and exit
-	      if test "$mode" = relink; then
-		$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
-	      fi
-
-	      exit $lt_exit
-	    }
-	  done
-	  IFS="$save_ifs"
-	fi
-
-	# Install the pseudo-library for information purposes.
-	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	instname="$dir/$name"i
-	$show "$install_prog $instname $destdir/$name"
-	$run eval "$install_prog $instname $destdir/$name" || exit $?
-
-	# Maybe install the static library, too.
-	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
-	;;
-
-      *.lo)
-	# Install (i.e. copy) a libtool object.
-
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	  destfile="$destdir/$destfile"
-	fi
-
-	# Deduce the name of the destination old-style object file.
-	case $destfile in
-	*.lo)
-	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
-	  ;;
-	*.$objext)
-	  staticdest="$destfile"
-	  destfile=
-	  ;;
-	*)
-	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-
-	# Install the libtool object if requested.
-	if test -n "$destfile"; then
-	  $show "$install_prog $file $destfile"
-	  $run eval "$install_prog $file $destfile" || exit $?
-	fi
-
-	# Install the old object if enabled.
-	if test "$build_old_libs" = yes; then
-	  # Deduce the name of the old-style object file.
-	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
-	  $show "$install_prog $staticobj $staticdest"
-	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
-	fi
-	exit $EXIT_SUCCESS
-	;;
-
-      *)
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	  destfile="$destdir/$destfile"
-	fi
-
-	# If the file is missing, and there is a .exe on the end, strip it
-	# because it is most likely a libtool script we actually want to
-	# install
-	stripped_ext=""
-	case $file in
-	  *.exe)
-	    if test ! -f "$file"; then
-	      file=`$echo $file|${SED} 's,.exe$,,'`
-	      stripped_ext=".exe"
-	    fi
-	    ;;
-	esac
-
-	# Do a test to see if this is really a libtool program.
-	case $host in
-	*cygwin*|*mingw*)
-	    wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
-	    ;;
-	*)
-	    wrapper=$file
-	    ;;
-	esac
-	if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
-	  notinst_deplibs=
-	  relink_command=
-
-	  # Note that it is not necessary on cygwin/mingw to append a dot to
-	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
-	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
-	  # `FILE.' does not work on cygwin managed mounts.
-	  #
-	  # If there is no directory component, then add one.
-	  case $wrapper in
-	  */* | *\\*) . ${wrapper} ;;
-	  *) . ./${wrapper} ;;
-	  esac
-
-	  # Check the variables that should have been set.
-	  if test -z "$notinst_deplibs"; then
-	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-
-	  finalize=yes
-	  for lib in $notinst_deplibs; do
-	    # Check to see that each library is installed.
-	    libdir=
-	    if test -f "$lib"; then
-	      # If there is no directory component, then add one.
-	      case $lib in
-	      */* | *\\*) . $lib ;;
-	      *) . ./$lib ;;
-	      esac
-	    fi
-	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
-	    if test -n "$libdir" && test ! -f "$libfile"; then
-	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
-	      finalize=no
-	    fi
-	  done
-
-	  relink_command=
-	  # Note that it is not necessary on cygwin/mingw to append a dot to
-	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
-	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
-	  # `FILE.' does not work on cygwin managed mounts.
-	  #
-	  # If there is no directory component, then add one.
-	  case $wrapper in
-	  */* | *\\*) . ${wrapper} ;;
-	  *) . ./${wrapper} ;;
-	  esac
-
-	  outputname=
-	  if test "$fast_install" = no && test -n "$relink_command"; then
-	    if test "$finalize" = yes && test -z "$run"; then
-	      tmpdir=`func_mktempdir`
-	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
-	      outputname="$tmpdir/$file"
-	      # Replace the output file specification.
-	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
-
-	      $show "$relink_command"
-	      if $run eval "$relink_command"; then :
-	      else
-		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-		${rm}r "$tmpdir"
-		continue
-	      fi
-	      file="$outputname"
-	    else
-	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
-	    fi
-	  else
-	    # Install the binary that we compiled earlier.
-	    file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
-	  fi
-	fi
-
-	# remove .exe since cygwin /usr/bin/install will append another
-	# one anyway 
-	case $install_prog,$host in
-	*/usr/bin/install*,*cygwin*)
-	  case $file:$destfile in
-	  *.exe:*.exe)
-	    # this is ok
-	    ;;
-	  *.exe:*)
-	    destfile=$destfile.exe
-	    ;;
-	  *:*.exe)
-	    destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
-	    ;;
-	  esac
-	  ;;
-	esac
-	$show "$install_prog$stripme $file $destfile"
-	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
-	test -n "$outputname" && ${rm}r "$tmpdir"
-	;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
-      # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
-
-      $show "$install_prog $file $oldlib"
-      $run eval "$install_prog \$file \$oldlib" || exit $?
-
-      if test -n "$stripme" && test -n "$old_striplib"; then
-	$show "$old_striplib $oldlib"
-	$run eval "$old_striplib $oldlib" || exit $?
-      fi
-
-      # Do each command in the postinstall commands.
-      cmds=$old_postinstall_cmds
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-	IFS="$save_ifs"
-	eval cmd=\"$cmd\"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$future_libdirs"; then
-      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
-    fi
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      test -n "$run" && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
-    else
-      exit $EXIT_SUCCESS
-    fi
-    ;;
-
-  # libtool finish mode
-  finish)
-    modename="$modename: finish"
-    libdirs="$nonopt"
-    admincmds=
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for dir
-      do
-	libdirs="$libdirs $dir"
-      done
-
-      for libdir in $libdirs; do
-	if test -n "$finish_cmds"; then
-	  # Do each command in the finish commands.
-	  cmds=$finish_cmds
-	  save_ifs="$IFS"; IFS='~'
-	  for cmd in $cmds; do
-	    IFS="$save_ifs"
-	    eval cmd=\"$cmd\"
-	    $show "$cmd"
-	    $run eval "$cmd" || admincmds="$admincmds
-       $cmd"
-	  done
-	  IFS="$save_ifs"
-	fi
-	if test -n "$finish_eval"; then
-	  # Do the single finish_eval.
-	  eval cmds=\"$finish_eval\"
-	  $run eval "$cmds" || admincmds="$admincmds
-       $cmds"
-	fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    test "$show" = : && exit $EXIT_SUCCESS
-
-    $echo "X----------------------------------------------------------------------" | $Xsed
-    $echo "Libraries have been installed in:"
-    for libdir in $libdirs; do
-      $echo "   $libdir"
-    done
-    $echo
-    $echo "If you ever happen to want to link against installed libraries"
-    $echo "in a given directory, LIBDIR, you must either use libtool, and"
-    $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
-    $echo "flag during linking and do at least one of the following:"
-    if test -n "$shlibpath_var"; then
-      $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      $echo "     during execution"
-    fi
-    if test -n "$runpath_var"; then
-      $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
-      $echo "     during linking"
-    fi
-    if test -n "$hardcode_libdir_flag_spec"; then
-      libdir=LIBDIR
-      eval flag=\"$hardcode_libdir_flag_spec\"
-
-      $echo "   - use the \`$flag' linker flag"
-    fi
-    if test -n "$admincmds"; then
-      $echo "   - have your system administrator run these commands:$admincmds"
-    fi
-    if test -f /etc/ld.so.conf; then
-      $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-    fi
-    $echo
-    $echo "See any operating system documentation about shared libraries for"
-    $echo "more information, such as the ld(1) and ld.so(8) manual pages."
-    $echo "X----------------------------------------------------------------------" | $Xsed
-    exit $EXIT_SUCCESS
-    ;;
-
-  # libtool execute mode
-  execute)
-    modename="$modename: execute"
-
-    # The first argument is the command name.
-    cmd="$nonopt"
-    if test -z "$cmd"; then
-      $echo "$modename: you must specify a COMMAND" 1>&2
-      $echo "$help"
-      exit $EXIT_FAILURE
-    fi
-
-    # Handle -dlopen flags immediately.
-    for file in $execute_dlfiles; do
-      if test ! -f "$file"; then
-	$echo "$modename: \`$file' is not a file" 1>&2
-	$echo "$help" 1>&2
-	exit $EXIT_FAILURE
-      fi
-
-      dir=
-      case $file in
-      *.la)
-	# Check to see that this really is a libtool archive.
-	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	# Read the libtool library.
-	dlname=
-	library_names=
-
-	# If there is no directory component, then add one.
-	case $file in
-	*/* | *\\*) . $file ;;
-	*) . ./$file ;;
-	esac
-
-	# Skip this library if it cannot be dlopened.
-	if test -z "$dlname"; then
-	  # Warn if it was a shared library.
-	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
-	  continue
-	fi
-
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$dir" = "X$file" && dir=.
-
-	if test -f "$dir/$objdir/$dlname"; then
-	  dir="$dir/$objdir"
-	else
-	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-	;;
-
-      *.lo)
-	# Just add the directory containing the .lo file.
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$dir" = "X$file" && dir=.
-	;;
-
-      *)
-	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
-	continue
-	;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-	eval "$shlibpath_var=\"\$dir\""
-      else
-	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic="$magic"
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case $file in
-      -*) ;;
-      *)
-	# Do a test to see if this is really a libtool program.
-	if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  # If there is no directory component, then add one.
-	  case $file in
-	  */* | *\\*) . $file ;;
-	  *) . ./$file ;;
-	  esac
-
-	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
-	fi
-	;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
-      args="$args \"$file\""
-    done
-
-    if test -z "$run"; then
-      if test -n "$shlibpath_var"; then
-	# Export the shlibpath_var.
-	eval "export $shlibpath_var"
-      fi
-
-      # Restore saved environment variables
-      if test "${save_LC_ALL+set}" = set; then
-	LC_ALL="$save_LC_ALL"; export LC_ALL
-      fi
-      if test "${save_LANG+set}" = set; then
-	LANG="$save_LANG"; export LANG
-      fi
-
-      # Now prepare to actually exec the command.
-      exec_cmd="\$cmd$args"
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
-	$echo "export $shlibpath_var"
-      fi
-      $echo "$cmd$args"
-      exit $EXIT_SUCCESS
-    fi
-    ;;
-
-  # libtool clean and uninstall mode
-  clean | uninstall)
-    modename="$modename: $mode"
-    rm="$nonopt"
-    files=
-    rmforce=
-    exit_status=0
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    for arg
-    do
-      case $arg in
-      -f) rm="$rm $arg"; rmforce=yes ;;
-      -*) rm="$rm $arg" ;;
-      *) files="$files $arg" ;;
-      esac
-    done
-
-    if test -z "$rm"; then
-      $echo "$modename: you must specify an RM program" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    rmdirs=
-
-    origobjdir="$objdir"
-    for file in $files; do
-      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-      if test "X$dir" = "X$file"; then
-	dir=.
-	objdir="$origobjdir"
-      else
-	objdir="$dir/$origobjdir"
-      fi
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-      test "$mode" = uninstall && objdir="$dir"
-
-      # Remember objdir for removal later, being careful to avoid duplicates
-      if test "$mode" = clean; then
-	case " $rmdirs " in
-	  *" $objdir "*) ;;
-	  *) rmdirs="$rmdirs $objdir" ;;
-	esac
-      fi
-
-      # Don't error if the file doesn't exist and rm -f was used.
-      if (test -L "$file") >/dev/null 2>&1 \
-	|| (test -h "$file") >/dev/null 2>&1 \
-	|| test -f "$file"; then
-	:
-      elif test -d "$file"; then
-	exit_status=1
-	continue
-      elif test "$rmforce" = yes; then
-	continue
-      fi
-
-      rmfiles="$file"
-
-      case $name in
-      *.la)
-	# Possibly a libtool archive, so verify it.
-	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  . $dir/$name
-
-	  # Delete the libtool libraries and symlinks.
-	  for n in $library_names; do
-	    rmfiles="$rmfiles $objdir/$n"
-	  done
-	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-
-	  case "$mode" in
-	  clean)
-	    case "  $library_names " in
-	    # "  " in the beginning catches empty $dlname
-	    *" $dlname "*) ;;
-	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
-	    esac
-	     test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
-	    ;;
-	  uninstall)
-	    if test -n "$library_names"; then
-	      # Do each command in the postuninstall commands.
-	      cmds=$postuninstall_cmds
-	      save_ifs="$IFS"; IFS='~'
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		eval cmd=\"$cmd\"
-		$show "$cmd"
-		$run eval "$cmd"
-		if test "$?" -ne 0 && test "$rmforce" != yes; then
-		  exit_status=1
-		fi
-	      done
-	      IFS="$save_ifs"
-	    fi
-
-	    if test -n "$old_library"; then
-	      # Do each command in the old_postuninstall commands.
-	      cmds=$old_postuninstall_cmds
-	      save_ifs="$IFS"; IFS='~'
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		eval cmd=\"$cmd\"
-		$show "$cmd"
-		$run eval "$cmd"
-		if test "$?" -ne 0 && test "$rmforce" != yes; then
-		  exit_status=1
-		fi
-	      done
-	      IFS="$save_ifs"
-	    fi
-	    # FIXME: should reinstall the best remaining shared library.
-	    ;;
-	  esac
-	fi
-	;;
-
-      *.lo)
-	# Possibly a libtool object, so verify it.
-	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-
-	  # Read the .lo file
-	  . $dir/$name
-
-	  # Add PIC object to the list of files to remove.
-	  if test -n "$pic_object" \
-	     && test "$pic_object" != none; then
-	    rmfiles="$rmfiles $dir/$pic_object"
-	  fi
-
-	  # Add non-PIC object to the list of files to remove.
-	  if test -n "$non_pic_object" \
-	     && test "$non_pic_object" != none; then
-	    rmfiles="$rmfiles $dir/$non_pic_object"
-	  fi
-	fi
-	;;
-
-      *)
-	if test "$mode" = clean ; then
-	  noexename=$name
-	  case $file in
-	  *.exe)
-	    file=`$echo $file|${SED} 's,.exe$,,'`
-	    noexename=`$echo $name|${SED} 's,.exe$,,'`
-	    # $file with .exe has already been added to rmfiles,
-	    # add $file without .exe
-	    rmfiles="$rmfiles $file"
-	    ;;
-	  esac
-	  # Do a test to see if this is a libtool program.
-	  if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	    relink_command=
-	    . $dir/$noexename
-
-	    # note $name still contains .exe if it was in $file originally
-	    # as does the version of $file that was added into $rmfiles
-	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
-	    if test "$fast_install" = yes && test -n "$relink_command"; then
-	      rmfiles="$rmfiles $objdir/lt-$name"
-	    fi
-	    if test "X$noexename" != "X$name" ; then
-	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
-	    fi
-	  fi
-	fi
-	;;
-      esac
-      $show "$rm $rmfiles"
-      $run $rm $rmfiles || exit_status=1
-    done
-    objdir="$origobjdir"
-
-    # Try to remove the ${objdir}s in the directories where we deleted files
-    for dir in $rmdirs; do
-      if test -d "$dir"; then
-	$show "rmdir $dir"
-	$run rmdir $dir >/dev/null 2>&1
-      fi
-    done
-
-    exit $exit_status
-    ;;
-
-  "")
-    $echo "$modename: you must specify a MODE" 1>&2
-    $echo "$generic_help" 1>&2
-    exit $EXIT_FAILURE
-    ;;
-  esac
-
-  if test -z "$exec_cmd"; then
-    $echo "$modename: invalid operation mode \`$mode'" 1>&2
-    $echo "$generic_help" 1>&2
-    exit $EXIT_FAILURE
-  fi
-fi # test -z "$show_help"
-
-if test -n "$exec_cmd"; then
-  eval exec $exec_cmd
-  exit $EXIT_FAILURE
-fi
-
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
-    --config          show all configuration variables
-    --debug           enable verbose shell tracing
--n, --dry-run         display commands without modifying any files
-    --features        display basic configuration information and exit
-    --finish          same as \`--mode=finish'
-    --help            display this help message and exit
-    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
-    --quiet           same as \`--silent'
-    --silent          don't print informational messages
-    --tag=TAG         use configuration variables from tag TAG
-    --version         print version information
-
-MODE must be one of the following:
-
-      clean           remove files from the build directory
-      compile         compile a source file into a libtool object
-      execute         automatically set library path, then run a program
-      finish          complete the installation of libtool libraries
-      install         install libraries or executables
-      link            create a library or an executable
-      uninstall       remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE.
-
-Report bugs to <bug-libtool at gnu.org>."
-  exit $EXIT_SUCCESS
-  ;;
-
-clean)
-  $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
-  ;;
-
-compile)
-  $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -prefer-pic       try to building PIC objects only
-  -prefer-non-pic   try to building non-PIC objects only
-  -static           always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
-  ;;
-
-execute)
-  $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-  ;;
-
-finish)
-  $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
-  ;;
-
-install)
-  $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-  ;;
-
-link)
-  $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-		    try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-		    try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-fast-install  disable the fast-install mode
-  -no-install       link a not-installable executable
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  Use a list of object files found in FILE to specify objects
-  -precious-files-regex REGEX
-                    don't remove output files matching REGEX
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -static           do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-		    specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
-  ;;
-
-uninstall)
-  $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-  ;;
-
-*)
-  $echo "$modename: invalid operation mode \`$mode'" 1>&2
-  $echo "$help" 1>&2
-  exit $EXIT_FAILURE
-  ;;
-esac
-
-$echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit $?
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries.  Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them.  This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration.  But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-disable_libs=shared
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-disable_libs=static
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/mach_dep.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/mach_dep.c
deleted file mode 100755
index d177aa9..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/mach_dep.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, November 17, 1995 12:13 pm PST */
-# include "private/gc_priv.h"
-# include <stdio.h>
-# include <setjmp.h>
-# if defined(OS2) || defined(CX_UX)
-#   define _setjmp(b) setjmp(b)
-#   define _longjmp(b,v) longjmp(b,v)
-# endif
-# ifdef AMIGA
-#   ifndef __GNUC__
-#     include <dos.h>
-#   else
-#     include <machine/reg.h>
-#   endif
-# endif
-
-#if defined(__MWERKS__) && !defined(POWERPC)
-
-asm static void PushMacRegisters()
-{
-    sub.w   #4,sp                   // reserve space for one parameter.
-    move.l  a2,(sp)
-    jsr		GC_push_one
-    move.l  a3,(sp)
-    jsr		GC_push_one
-    move.l  a4,(sp)
-    jsr		GC_push_one
-#   if !__option(a6frames)
-	// <pcb> perhaps a6 should be pushed if stack frames are not being used.    
-  	move.l	a6,(sp)
-  	jsr		GC_push_one
-#   endif
-	// skip a5 (globals), a6 (frame pointer), and a7 (stack pointer)
-    move.l  d2,(sp)
-    jsr		GC_push_one
-    move.l  d3,(sp)
-    jsr		GC_push_one
-    move.l  d4,(sp)
-    jsr		GC_push_one
-    move.l  d5,(sp)
-    jsr		GC_push_one
-    move.l  d6,(sp)
-    jsr		GC_push_one
-    move.l  d7,(sp)
-    jsr		GC_push_one
-    add.w   #4,sp                   // fix stack.
-    rts
-}
-
-#endif /* __MWERKS__ */
-
-# if defined(SPARC) || defined(IA64)
-    /* Value returned from register flushing routine; either sp (SPARC) */
-    /* or ar.bsp (IA64)							*/
-    ptr_t GC_save_regs_ret_val;
-# endif
-
-/* Routine to mark from registers that are preserved by the C compiler. */
-/* This must be ported to every new architecture.  It is noe optional,	*/
-/* and should not be used on platforms that are either UNIX-like, or	*/
-/* require thread support.						*/
-
-#undef HAVE_PUSH_REGS
-
-#if defined(USE_ASM_PUSH_REGS)
-#  define HAVE_PUSH_REGS
-#else  /* No asm implementation */
-void GC_push_regs()
-{
-#	if defined(M68K) && defined(AMIGA)
- 	 /*  AMIGA - could be replaced by generic code 			*/
- 	 /* a0, a1, d0 and d1 are caller save */
-
-#        ifdef __GNUC__
-	  asm("subq.w &0x4,%sp");	/* allocate word on top of stack */
-
-	  asm("mov.l %a2,(%sp)"); asm("jsr _GC_push_one");
-	  asm("mov.l %a3,(%sp)"); asm("jsr _GC_push_one");
-	  asm("mov.l %a4,(%sp)"); asm("jsr _GC_push_one");
-	  asm("mov.l %a5,(%sp)"); asm("jsr _GC_push_one");
-	  asm("mov.l %a6,(%sp)"); asm("jsr _GC_push_one");
-	  /* Skip frame pointer and stack pointer */
-	  asm("mov.l %d2,(%sp)"); asm("jsr _GC_push_one");
-	  asm("mov.l %d3,(%sp)"); asm("jsr _GC_push_one");
-	  asm("mov.l %d4,(%sp)"); asm("jsr _GC_push_one");
-	  asm("mov.l %d5,(%sp)"); asm("jsr _GC_push_one");
-	  asm("mov.l %d6,(%sp)"); asm("jsr _GC_push_one");
-	  asm("mov.l %d7,(%sp)"); asm("jsr _GC_push_one");
-
-	  asm("addq.w &0x4,%sp");	/* put stack back where it was	*/
-#	  define HAVE_PUSH_REGS
-#        else /* !__GNUC__ */
-	  GC_push_one(getreg(REG_A2));
-	  GC_push_one(getreg(REG_A3));
-#         ifndef __SASC
-	      /* Can probably be changed to #if 0 -Kjetil M. (a4=globals)*/
-	    GC_push_one(getreg(REG_A4));
-#	  endif
-	  GC_push_one(getreg(REG_A5));
-	  GC_push_one(getreg(REG_A6));
-	  /* Skip stack pointer */
-	  GC_push_one(getreg(REG_D2));
-	  GC_push_one(getreg(REG_D3));
-	  GC_push_one(getreg(REG_D4));
-	  GC_push_one(getreg(REG_D5));
-	  GC_push_one(getreg(REG_D6));
-	  GC_push_one(getreg(REG_D7));
-#	  define HAVE_PUSH_REGS
-#	 endif /* !__GNUC__ */
-#       endif /* AMIGA */
-
-#	if defined(M68K) && defined(MACOS)
-#	if defined(THINK_C)
-#         define PushMacReg(reg) \
-              move.l  reg,(sp) \
-              jsr             GC_push_one
-	  asm {
-              sub.w   #4,sp                   ; reserve space for one parameter.
-              PushMacReg(a2);
-              PushMacReg(a3);
-              PushMacReg(a4);
-              ; skip a5 (globals), a6 (frame pointer), and a7 (stack pointer)
-              PushMacReg(d2);
-              PushMacReg(d3);
-              PushMacReg(d4);
-              PushMacReg(d5);
-              PushMacReg(d6);
-              PushMacReg(d7);
-              add.w   #4,sp                   ; fix stack.
-	  }
-#	  define HAVE_PUSH_REGS
-#	  undef PushMacReg
-#	endif /* THINK_C */
-#	if defined(__MWERKS__)
-	  PushMacRegisters();
-#	  define HAVE_PUSH_REGS
-#	endif	/* __MWERKS__ */
-#   endif	/* MACOS */
-}
-#endif /* !USE_ASM_PUSH_REGS */
-
-#if defined(HAVE_PUSH_REGS) && defined(THREADS)
-# error GC_push_regs cannot be used with threads
- /* Would fail for GC_do_blocking.  There are probably other safety	*/
- /* issues.								*/
-# undef HAVE_PUSH_REGS
-#endif
-
-#if !defined(HAVE_PUSH_REGS) && defined(UNIX_LIKE)
-# include <ucontext.h>
-#endif
-
-/* Ensure that either registers are pushed, or callee-save registers	*/
-/* are somewhere on the stack, and then call fn(arg, ctxt).		*/
-/* ctxt is either a pointer to a ucontext_t we generated, or NULL.	*/
-void GC_with_callee_saves_pushed(void (*fn)(ptr_t, void *),
-				 ptr_t arg)
-{
-    word dummy;
-    void * context = 0;
-
-#   if defined(HAVE_PUSH_REGS)
-      GC_push_regs();
-#   elif defined(UNIX_LIKE) && !defined(DARWIN) && !defined(ARM32)
-      /* Older versions of Darwin seem to lack getcontext(). */
-      /* ARM Linux often doesn't support a real getcontext(). */
-      ucontext_t ctxt;
-      if (getcontext(&ctxt) < 0)
-	ABORT ("Getcontext failed: Use another register retrieval method?");
-      context = &ctxt;
-#     if defined(SPARC) || defined(IA64)
-        /* On a register window machine, we need to save register	*/
-        /* contents on the stack for this to work.  This may already be	*/
-        /* subsumed by the getcontext() call.				*/
-        {
-          GC_save_regs_ret_val = GC_save_regs_in_stack();
-        }
-#     endif /* register windows. */
-#   elif defined(HAVE_BUILTIN_UNWIND_INIT)
-      /* This was suggested by Richard Henderson as the way to	*/
-      /* force callee-save registers and register windows onto	*/
-      /* the stack.						*/
-      __builtin_unwind_init();
-#   else /* !HAVE_BUILTIN_UNWIND_INIT && !UNIX_LIKE  */
-         /* && !HAVE_PUSH_REGS			     */
-        /* Generic code                          */
-        /* The idea is due to Parag Patel at HP. */
-        /* We're not sure whether he would like  */
-        /* to be he acknowledged for it or not.  */
-        jmp_buf regs;
-        register word * i = (word *) regs;
-        register ptr_t lim = (ptr_t)(regs) + (sizeof regs);
-  
-        /* Setjmp doesn't always clear all of the buffer.		*/
-        /* That tends to preserve garbage.  Clear it.   		*/
-  	for (; (char *)i < lim; i++) {
-  	    *i = 0;
-  	}
-#       if defined(MSWIN32) || defined(MSWINCE) \
-                  || defined(UTS4) || defined(LINUX) || defined(EWS4800)
-  	  (void) setjmp(regs);
-#       else
-          (void) _setjmp(regs);
-  	  /* We don't want to mess with signals. According to	*/
-  	  /* SUSV3, setjmp() may or may not save signal mask.	*/
-  	  /* _setjmp won't, but is less portable.		*/
-#       endif
-#   endif /* !HAVE_PUSH_REGS ... */
-    fn(arg, context);
-    /* Strongly discourage the compiler from treating the above	*/
-    /* as a tail-call, since that would pop the register 	*/
-    /* contents before we get a chance to look at them.		*/
-    GC_noop1((word)(&dummy));
-}
-
-void GC_push_regs_and_stack(ptr_t cold_gc_frame)
-{
-    GC_with_callee_saves_pushed(GC_push_current_stack, cold_gc_frame);
-}
-
-#if defined(ASM_CLEAR_CODE)
-# ifdef LINT
-    /*ARGSUSED*/
-    ptr_t GC_clear_stack_inner(arg, limit)
-    ptr_t arg; word limit;
-    { return(arg); }
-    /* The real version is in a .S file */
-# endif
-#endif /* ASM_CLEAR_CODE */ 
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/malloc.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/malloc.c
deleted file mode 100755
index c771718..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/malloc.c
+++ /dev/null
@@ -1,510 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1999-2004 Hewlett-Packard Development Company, L.P.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
- 
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include "private/gc_priv.h"
-
-extern void * GC_clear_stack(void *);	/* in misc.c, behaves like identity */
-void GC_extend_size_map(size_t);	/* in misc.c. */
-
-/* Allocate reclaim list for kind:	*/
-/* Return TRUE on success		*/
-GC_bool GC_alloc_reclaim_list(struct obj_kind *kind)
-{
-    struct hblk ** result = (struct hblk **)
-    		GC_scratch_alloc((MAXOBJGRANULES+1) * sizeof(struct hblk *));
-    if (result == 0) return(FALSE);
-    BZERO(result, (MAXOBJGRANULES+1)*sizeof(struct hblk *));
-    kind -> ok_reclaim_list = result;
-    return(TRUE);
-}
-
-/* Allocate a large block of size lb bytes.	*/
-/* The block is not cleared.			*/
-/* Flags is 0 or IGNORE_OFF_PAGE.		*/
-/* We hold the allocation lock.			*/
-/* EXTRA_BYTES were already added to lb.	*/
-ptr_t GC_alloc_large(size_t lb, int k, unsigned flags)
-{
-    struct hblk * h;
-    word n_blocks;
-    ptr_t result;
-	
-    /* Round up to a multiple of a granule. */
-      lb = (lb + GRANULE_BYTES - 1) & ~(GRANULE_BYTES - 1);
-    n_blocks = OBJ_SZ_TO_BLOCKS(lb);
-    if (!GC_is_initialized) GC_init_inner();
-    /* Do our share of marking work */
-        if(GC_incremental && !GC_dont_gc)
-	    GC_collect_a_little_inner((int)n_blocks);
-    h = GC_allochblk(lb, k, flags);
-#   ifdef USE_MUNMAP
-	if (0 == h) {
-	    GC_merge_unmapped();
-	    h = GC_allochblk(lb, k, flags);
-	}
-#   endif
-    while (0 == h && GC_collect_or_expand(n_blocks, (flags != 0))) {
-	h = GC_allochblk(lb, k, flags);
-    }
-    if (h == 0) {
-	result = 0;
-    } else {
-	size_t total_bytes = n_blocks * HBLKSIZE;
-	if (n_blocks > 1) {
-	    GC_large_allocd_bytes += total_bytes;
-	    if (GC_large_allocd_bytes > GC_max_large_allocd_bytes)
-	        GC_max_large_allocd_bytes = GC_large_allocd_bytes;
-	}
-	result = h -> hb_body;
-    }
-    return result;
-}
-
-
-/* Allocate a large block of size lb bytes.  Clear if appropriate.	*/
-/* We hold the allocation lock.						*/
-/* EXTRA_BYTES were already added to lb.				*/
-ptr_t GC_alloc_large_and_clear(size_t lb, int k, unsigned flags)
-{
-    ptr_t result = GC_alloc_large(lb, k, flags);
-    word n_blocks = OBJ_SZ_TO_BLOCKS(lb);
-
-    if (0 == result) return 0;
-    if (GC_debugging_started || GC_obj_kinds[k].ok_init) {
-	/* Clear the whole block, in case of GC_realloc call. */
-	BZERO(result, n_blocks * HBLKSIZE);
-    }
-    return result;
-}
-
-/* allocate lb bytes for an object of kind k.	*/
-/* Should not be used to directly to allocate	*/
-/* objects such as STUBBORN objects that	*/
-/* require special handling on allocation.	*/
-/* First a version that assumes we already	*/
-/* hold lock:					*/
-void * GC_generic_malloc_inner(size_t lb, int k)
-{
-    void *op;
-
-    if(SMALL_OBJ(lb)) {
-        struct obj_kind * kind = GC_obj_kinds + k;
-	size_t lg = GC_size_map[lb];
-	void ** opp = &(kind -> ok_freelist[lg]);
-
-        if( (op = *opp) == 0 ) {
-	    if (GC_size_map[lb] == 0) {
-	      if (!GC_is_initialized)  GC_init_inner();
-	      if (GC_size_map[lb] == 0) GC_extend_size_map(lb);
-	      return(GC_generic_malloc_inner(lb, k));
-	    }
-	    if (kind -> ok_reclaim_list == 0) {
-	    	if (!GC_alloc_reclaim_list(kind)) goto out;
-	    }
-	    op = GC_allocobj(lg, k);
-	    if (op == 0) goto out;
-        }
-        *opp = obj_link(op);
-        obj_link(op) = 0;
-        GC_bytes_allocd += GRANULES_TO_BYTES(lg);
-    } else {
-	op = (ptr_t)GC_alloc_large_and_clear(ADD_SLOP(lb), k, 0);
-        GC_bytes_allocd += lb;
-    }
-    
-out:
-    return op;
-}
-
-/* Allocate a composite object of size n bytes.  The caller guarantees  */
-/* that pointers past the first page are not relevant.  Caller holds    */
-/* allocation lock.                                                     */
-void * GC_generic_malloc_inner_ignore_off_page(size_t lb, int k)
-{
-    word lb_adjusted;
-    void * op;
-
-    if (lb <= HBLKSIZE)
-        return(GC_generic_malloc_inner(lb, k));
-    lb_adjusted = ADD_SLOP(lb);
-    op = GC_alloc_large_and_clear(lb_adjusted, k, IGNORE_OFF_PAGE);
-    GC_bytes_allocd += lb_adjusted;
-    return op;
-}
-
-void * GC_generic_malloc(size_t lb, int k)
-{
-    void * result;
-    DCL_LOCK_STATE;
-
-    if (GC_have_errors) GC_print_all_errors();
-    GC_INVOKE_FINALIZERS();
-    if (SMALL_OBJ(lb)) {
-	LOCK();
-        result = GC_generic_malloc_inner((word)lb, k);
-	UNLOCK();
-    } else {
-	size_t lw;
-	size_t lb_rounded;
-	word n_blocks;
-	GC_bool init;
-	lw = ROUNDED_UP_WORDS(lb);
-	lb_rounded = WORDS_TO_BYTES(lw);
-	n_blocks = OBJ_SZ_TO_BLOCKS(lb_rounded);
-	init = GC_obj_kinds[k].ok_init;
-	LOCK();
-	result = (ptr_t)GC_alloc_large(lb_rounded, k, 0);
-	if (0 != result) {
-	  if (GC_debugging_started) {
-	    BZERO(result, n_blocks * HBLKSIZE);
-	  } else {
-#           ifdef THREADS
-	      /* Clear any memory that might be used for GC descriptors */
-	      /* before we release the lock.			      */
-	        ((word *)result)[0] = 0;
-	        ((word *)result)[1] = 0;
-	        ((word *)result)[lw-1] = 0;
-	        ((word *)result)[lw-2] = 0;
-#	    endif
-	  }
-	}
-	GC_bytes_allocd += lb_rounded;
-	UNLOCK();
-    	if (init && !GC_debugging_started && 0 != result) {
-	    BZERO(result, n_blocks * HBLKSIZE);
-        }
-    }
-    if (0 == result) {
-        return((*GC_oom_fn)(lb));
-    } else {
-        return(result);
-    }
-}   
-
-
-#define GENERAL_MALLOC(lb,k) \
-    GC_clear_stack(GC_generic_malloc(lb, k))
-/* We make the GC_clear_stack_call a tail call, hoping to get more of	*/
-/* the stack.								*/
-
-/* Allocate lb bytes of atomic (pointerfree) data */
-#ifdef THREAD_LOCAL_ALLOC
-  void * GC_core_malloc_atomic(size_t lb)
-#else
-  void * GC_malloc_atomic(size_t lb)
-#endif
-{
-    void *op;
-    void ** opp;
-    size_t lg;
-    DCL_LOCK_STATE;
-
-    if(SMALL_OBJ(lb)) {
-	lg = GC_size_map[lb];
-	opp = &(GC_aobjfreelist[lg]);
-	LOCK();
-        if( EXPECT((op = *opp) == 0, 0) ) {
-            UNLOCK();
-            return(GENERAL_MALLOC((word)lb, PTRFREE));
-        }
-        *opp = obj_link(op);
-        GC_bytes_allocd += GRANULES_TO_BYTES(lg);
-        UNLOCK();
-        return((void *) op);
-   } else {
-       return(GENERAL_MALLOC((word)lb, PTRFREE));
-   }
-}
-
-/* provide a version of strdup() that uses the collector to allocate the
-   copy of the string */
-# ifdef __STDC__
-    char *GC_strdup(const char *s)
-# else
-    char *GC_strdup(s)
-    char *s;
-#endif
-{
-  char *copy;
-
-  if (s == NULL) return NULL;
-  if ((copy = GC_malloc_atomic(strlen(s) + 1)) == NULL) {
-    errno = ENOMEM;
-    return NULL;
-  }
-  strcpy(copy, s);
-  return copy;
-}
-
-/* Allocate lb bytes of composite (pointerful) data */
-#ifdef THREAD_LOCAL_ALLOC
-  void * GC_core_malloc(size_t lb)
-#else
-  void * GC_malloc(size_t lb)
-#endif
-{
-    void *op;
-    void **opp;
-    size_t lg;
-    DCL_LOCK_STATE;
-
-    if(SMALL_OBJ(lb)) {
-	lg = GC_size_map[lb];
-	opp = (void **)&(GC_objfreelist[lg]);
-	LOCK();
-        if( EXPECT((op = *opp) == 0, 0) ) {
-            UNLOCK();
-            return(GENERAL_MALLOC((word)lb, NORMAL));
-        }
-        /* See above comment on signals.	*/
-	GC_ASSERT(0 == obj_link(op)
-		  || (word)obj_link(op)
-		  	<= (word)GC_greatest_plausible_heap_addr
-		     && (word)obj_link(op)
-		     	>= (word)GC_least_plausible_heap_addr);
-        *opp = obj_link(op);
-        obj_link(op) = 0;
-        GC_bytes_allocd += GRANULES_TO_BYTES(lg);
-        UNLOCK();
-        return op;
-   } else {
-       return(GENERAL_MALLOC(lb, NORMAL));
-   }
-}
-
-# ifdef REDIRECT_MALLOC
-
-/* Avoid unnecessary nested procedure calls here, by #defining some	*/
-/* malloc replacements.  Otherwise we end up saving a 			*/
-/* meaningless return address in the object.  It also speeds things up,	*/
-/* but it is admittedly quite ugly.					*/
-# ifdef GC_ADD_CALLER
-#   define RA GC_RETURN_ADDR,
-# else
-#   define RA
-# endif
-# define GC_debug_malloc_replacement(lb) \
-	GC_debug_malloc(lb, RA "unknown", 0)
-
-void * malloc(size_t lb)
-  {
-    /* It might help to manually inline the GC_malloc call here.	*/
-    /* But any decent compiler should reduce the extra procedure call	*/
-    /* to at most a jump instruction in this case.			*/
-#   if defined(I386) && defined(GC_SOLARIS_THREADS)
-      /*
-       * Thread initialisation can call malloc before
-       * we're ready for it.
-       * It's not clear that this is enough to help matters.
-       * The thread implementation may well call malloc at other
-       * inopportune times.
-       */
-      if (!GC_is_initialized) return sbrk(lb);
-#   endif /* I386 && GC_SOLARIS_THREADS */
-    return((void *)REDIRECT_MALLOC(lb));
-  }
-
-#ifdef GC_LINUX_THREADS
-  static ptr_t GC_libpthread_start = 0;
-  static ptr_t GC_libpthread_end = 0;
-  static ptr_t GC_libld_start = 0;
-  static ptr_t GC_libld_end = 0;
-  extern GC_bool GC_text_mapping(char *nm, ptr_t *startp, ptr_t *endp);
-  	/* From os_dep.c */
-
-  void GC_init_lib_bounds(void)
-  {
-    if (GC_libpthread_start != 0) return;
-    if (!GC_text_mapping("/lib/tls/libpthread-",
-			 &GC_libpthread_start, &GC_libpthread_end)
-	&& !GC_text_mapping("/lib/libpthread-",
-			    &GC_libpthread_start, &GC_libpthread_end)) {
-	WARN("Failed to find libpthread.so text mapping: Expect crash\n", 0);
-        /* This might still work with some versions of libpthread,	*/
-    	/* so we don't abort.  Perhaps we should.			*/
-        /* Generate message only once:					*/
-          GC_libpthread_start = (ptr_t)1;
-    }
-    if (!GC_text_mapping("/lib/ld-", &GC_libld_start, &GC_libld_end)) {
-	WARN("Failed to find ld.so text mapping: Expect crash\n", 0);
-    }
-  }
-#endif
-
-void * calloc(size_t n, size_t lb)
-{
-#   if defined(GC_LINUX_THREADS) && !defined(USE_PROC_FOR_LIBRARIES)
-	/* libpthread allocated some memory that is only pointed to by	*/
-	/* mmapped thread stacks.  Make sure it's not collectable.	*/
-	{
-	  static GC_bool lib_bounds_set = FALSE;
-	  ptr_t caller = (ptr_t)__builtin_return_address(0);
-	  /* This test does not need to ensure memory visibility, since */
-	  /* the bounds will be set when/if we create another thread.	*/
-	  if (!lib_bounds_set) {
-	    GC_init_lib_bounds();
-	    lib_bounds_set = TRUE;
-	  }
-	  if (caller >= GC_libpthread_start && caller < GC_libpthread_end
-	      || (caller >= GC_libld_start && caller < GC_libld_end))
-	    return GC_malloc_uncollectable(n*lb);
-	  /* The two ranges are actually usually adjacent, so there may	*/
-	  /* be a way to speed this up.					*/
-	}
-#   endif
-    return((void *)REDIRECT_MALLOC(n*lb));
-}
-
-#ifndef strdup
-# include <string.h>
-  char *strdup(const char *s)
-  {
-    size_t len = strlen(s) + 1;
-    char * result = ((char *)REDIRECT_MALLOC(len+1));
-    if (result == 0) {
-      errno = ENOMEM;
-      return 0;
-    }
-    BCOPY(s, result, len+1);
-    return result;
-  }
-#endif /* !defined(strdup) */
- /* If strdup is macro defined, we assume that it actually calls malloc, */
- /* and thus the right thing will happen even without overriding it.	 */
- /* This seems to be true on most Linux systems.			 */
-
-#undef GC_debug_malloc_replacement
-
-# endif /* REDIRECT_MALLOC */
-
-/* Explicitly deallocate an object p.				*/
-void GC_free(void * p)
-{
-    struct hblk *h;
-    hdr *hhdr;
-    size_t sz; /* In bytes */
-    size_t ngranules;	/* sz in granules */
-    void **flh;
-    int knd;
-    struct obj_kind * ok;
-    DCL_LOCK_STATE;
-
-    if (p == 0) return;
-    	/* Required by ANSI.  It's not my fault ...	*/
-    h = HBLKPTR(p);
-    hhdr = HDR(h);
-    sz = hhdr -> hb_sz;
-    ngranules = BYTES_TO_GRANULES(sz);
-    GC_ASSERT(GC_base(p) == p);
-#   if defined(REDIRECT_MALLOC) && \
-	(defined(GC_SOLARIS_THREADS) || defined(GC_LINUX_THREADS) \
-	 || defined(MSWIN32))
-	/* For Solaris, we have to redirect malloc calls during		*/
-	/* initialization.  For the others, this seems to happen 	*/
- 	/* implicitly.							*/
-	/* Don't try to deallocate that memory.				*/
-	if (0 == hhdr) return;
-#   endif
-    knd = hhdr -> hb_obj_kind;
-    ok = &GC_obj_kinds[knd];
-    if (EXPECT((ngranules <= MAXOBJGRANULES), 1)) {
-	LOCK();
-	GC_bytes_freed += sz;
-	if (IS_UNCOLLECTABLE(knd)) GC_non_gc_bytes -= sz;
-		/* Its unnecessary to clear the mark bit.  If the 	*/
-		/* object is reallocated, it doesn't matter.  O.w. the	*/
-		/* collector will do it, since it's on a free list.	*/
-	if (ok -> ok_init) {
-	    BZERO((word *)p + 1, sz-sizeof(word));
-	}
-	flh = &(ok -> ok_freelist[ngranules]);
-	obj_link(p) = *flh;
-	*flh = (ptr_t)p;
-	UNLOCK();
-    } else {
-        LOCK();
-        GC_bytes_freed += sz;
-	if (IS_UNCOLLECTABLE(knd)) GC_non_gc_bytes -= sz;
-        GC_freehblk(h);
-        UNLOCK();
-    }
-}
-
-/* Explicitly deallocate an object p when we already hold lock.		*/
-/* Only used for internally allocated objects, so we can take some 	*/
-/* shortcuts.								*/
-#ifdef THREADS
-void GC_free_inner(void * p)
-{
-    struct hblk *h;
-    hdr *hhdr;
-    size_t sz; /* bytes */
-    size_t ngranules;  /* sz in granules */
-    void ** flh;
-    int knd;
-    struct obj_kind * ok;
-    DCL_LOCK_STATE;
-
-    h = HBLKPTR(p);
-    hhdr = HDR(h);
-    knd = hhdr -> hb_obj_kind;
-    sz = hhdr -> hb_sz;
-    ngranules = BYTES_TO_GRANULES(sz);
-    ok = &GC_obj_kinds[knd];
-    if (ngranules <= MAXOBJGRANULES) {
-	GC_bytes_freed += sz;
-	if (IS_UNCOLLECTABLE(knd)) GC_non_gc_bytes -= sz;
-	if (ok -> ok_init) {
-	    BZERO((word *)p + 1, sz-sizeof(word));
-	}
-	flh = &(ok -> ok_freelist[ngranules]);
-	obj_link(p) = *flh;
-	*flh = (ptr_t)p;
-    } else {
-        GC_bytes_freed += sz;
-	if (IS_UNCOLLECTABLE(knd)) GC_non_gc_bytes -= sz;
-        GC_freehblk(h);
-    }
-}
-#endif /* THREADS */
-
-# if defined(REDIRECT_MALLOC) && !defined(REDIRECT_FREE)
-#   define REDIRECT_FREE GC_free
-# endif
-# ifdef REDIRECT_FREE
-  void free(void * p)
-  {
-#   if defined(GC_LINUX_THREADS) && !defined(USE_PROC_FOR_LIBRARIES)
-	{
-	  /* Don't bother with initialization checks.  If nothing	*/
-	  /* has been initialized, the check fails, and that's safe,	*/
-	  /* since we haven't allocated uncollectable objects either.	*/
-	  ptr_t caller = (ptr_t)__builtin_return_address(0);
-	  /* This test does not need to ensure memory visibility, since */
-	  /* the bounds will be set when/if we create another thread.	*/
-	  if (caller >= GC_libpthread_start && caller > GC_libpthread_end) {
-	    GC_free(p);
-	    return;
-	  }
-	}
-#   endif
-#   ifndef IGNORE_FREE
-      REDIRECT_FREE(p);
-#   endif
-  }
-# endif  /* REDIRECT_MALLOC */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/mallocx.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/mallocx.c
deleted file mode 100755
index a430d1d..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/mallocx.c
+++ /dev/null
@@ -1,574 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1996 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 2000 by Hewlett-Packard Company.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/*
- * These are extra allocation routines which are likely to be less
- * frequently used than those in malloc.c.  They are separate in the
- * hope that the .o file will be excluded from statically linked
- * executables.  We should probably break this up further.
- */
-
-#include <stdio.h>
-#include "private/gc_priv.h"
-
-/* extern ptr_t GC_clear_stack();  /* in misc.c, behaves like identity */
-void GC_extend_size_map();      /* in misc.c. */
-GC_bool GC_alloc_reclaim_list();	/* in malloc.c */
-
-/* Some externally visible but unadvertised variables to allow access to */
-/* free lists from inlined allocators without including gc_priv.h	 */
-/* or introducing dependencies on internal data structure layouts.	 */
-void ** const GC_objfreelist_ptr = GC_objfreelist;
-void ** const GC_aobjfreelist_ptr = GC_aobjfreelist;
-void ** const GC_uobjfreelist_ptr = GC_uobjfreelist;
-# ifdef ATOMIC_UNCOLLECTABLE
-    void ** const GC_auobjfreelist_ptr = GC_auobjfreelist;
-# endif
-
-
-void * GC_generic_or_special_malloc(size_t lb, int knd)
-{
-    switch(knd) {
-#     ifdef STUBBORN_ALLOC
-	case STUBBORN:
-	    return(GC_malloc_stubborn((size_t)lb));
-#     endif
-	case PTRFREE:
-	    return(GC_malloc_atomic((size_t)lb));
-	case NORMAL:
-	    return(GC_malloc((size_t)lb));
-	case UNCOLLECTABLE:
-	    return(GC_malloc_uncollectable((size_t)lb));
-#       ifdef ATOMIC_UNCOLLECTABLE
-	  case AUNCOLLECTABLE:
-	    return(GC_malloc_atomic_uncollectable((size_t)lb));
-#	endif /* ATOMIC_UNCOLLECTABLE */
-	default:
-	    return(GC_generic_malloc(lb,knd));
-    }
-}
-
-
-/* Change the size of the block pointed to by p to contain at least   */
-/* lb bytes.  The object may be (and quite likely will be) moved.     */
-/* The kind (e.g. atomic) is the same as that of the old.	      */
-/* Shrinking of large blocks is not implemented well.                 */
-void * GC_realloc(void * p, size_t lb)
-{
-    struct hblk * h;
-    hdr * hhdr;
-    size_t sz;	 /* Current size in bytes	*/
-    size_t orig_sz;	 /* Original sz in bytes	*/
-    int obj_kind;
-
-    if (p == 0) return(GC_malloc(lb));	/* Required by ANSI */
-    h = HBLKPTR(p);
-    hhdr = HDR(h);
-    sz = hhdr -> hb_sz;
-    obj_kind = hhdr -> hb_obj_kind;
-    orig_sz = sz;
-
-    if (sz > MAXOBJBYTES) {
-	/* Round it up to the next whole heap block */
-	  register word descr;
-	  
-	  sz = (sz+HBLKSIZE-1) & (~HBLKMASK);
-	  hhdr -> hb_sz = sz;
-	  descr = GC_obj_kinds[obj_kind].ok_descriptor;
-          if (GC_obj_kinds[obj_kind].ok_relocate_descr) descr += sz;
-          hhdr -> hb_descr = descr;
-#	  ifdef MARK_BIT_PER_OBJ
-	    GC_ASSERT(hhdr -> hb_inv_sz == LARGE_INV_SZ);
-#	  else
-	    GC_ASSERT(hhdr -> hb_large_block &&
-		      hhdr -> hb_map[ANY_INDEX] == 1);
-#	  endif
-	  if (IS_UNCOLLECTABLE(obj_kind)) GC_non_gc_bytes += (sz - orig_sz);
-	  /* Extra area is already cleared by GC_alloc_large_and_clear. */
-    }
-    if (ADD_SLOP(lb) <= sz) {
-	if (lb >= (sz >> 1)) {
-#	    ifdef STUBBORN_ALLOC
-	        if (obj_kind == STUBBORN) GC_change_stubborn(p);
-#	    endif
-	    if (orig_sz > lb) {
-	      /* Clear unneeded part of object to avoid bogus pointer */
-	      /* tracing.					      */
-	      /* Safe for stubborn objects.			      */
-	        BZERO(((ptr_t)p) + lb, orig_sz - lb);
-	    }
-	    return(p);
-	} else {
-	    /* shrink */
-	      void * result =
-	      		GC_generic_or_special_malloc((word)lb, obj_kind);
-
-	      if (result == 0) return(0);
-	          /* Could also return original object.  But this 	*/
-	          /* gives the client warning of imminent disaster.	*/
-	      BCOPY(p, result, lb);
-#	      ifndef IGNORE_FREE
-	        GC_free(p);
-#	      endif
-	      return(result);
-	}
-    } else {
-	/* grow */
-	  void * result =
-	  	GC_generic_or_special_malloc((word)lb, obj_kind);
-
-	  if (result == 0) return(0);
-	  BCOPY(p, result, sz);
-#	  ifndef IGNORE_FREE
-	    GC_free(p);
-#	  endif
-	  return(result);
-    }
-}
-
-# if defined(REDIRECT_MALLOC) && !defined(REDIRECT_REALLOC)
-#   define REDIRECT_REALLOC GC_realloc
-# endif
-
-# ifdef REDIRECT_REALLOC
-
-/* As with malloc, avoid two levels of extra calls here.	*/
-# ifdef GC_ADD_CALLER
-#   define RA GC_RETURN_ADDR,
-# else
-#   define RA
-# endif
-# define GC_debug_realloc_replacement(p, lb) \
-	GC_debug_realloc(p, lb, RA "unknown", 0)
-
-void * realloc(void * p, size_t lb)
-  {
-    return(REDIRECT_REALLOC(p, lb));
-  }
-
-# undef GC_debug_realloc_replacement
-# endif /* REDIRECT_REALLOC */
-
-
-/* Allocate memory such that only pointers to near the          */
-/* beginning of the object are considered.                      */
-/* We avoid holding allocation lock while we clear memory.	*/
-void * GC_generic_malloc_ignore_off_page(size_t lb, int k)
-{
-    void *result;
-    size_t lw;
-    size_t lb_rounded;
-    word n_blocks;
-    GC_bool init;
-    DCL_LOCK_STATE;
-    
-    if (SMALL_OBJ(lb))
-        return(GC_generic_malloc((word)lb, k));
-    lw = ROUNDED_UP_WORDS(lb);
-    lb_rounded = WORDS_TO_BYTES(lw);
-    n_blocks = OBJ_SZ_TO_BLOCKS(lb_rounded);
-    init = GC_obj_kinds[k].ok_init;
-    if (GC_have_errors) GC_print_all_errors();
-    GC_INVOKE_FINALIZERS();
-    LOCK();
-    result = (ptr_t)GC_alloc_large(ADD_SLOP(lb), k, IGNORE_OFF_PAGE);
-    if (0 != result) {
-        if (GC_debugging_started) {
-	    BZERO(result, n_blocks * HBLKSIZE);
-        } else {
-#           ifdef THREADS
-	      /* Clear any memory that might be used for GC descriptors */
-	      /* before we release the lock.			      */
-	        ((word *)result)[0] = 0;
-	        ((word *)result)[1] = 0;
-	        ((word *)result)[lw-1] = 0;
-	        ((word *)result)[lw-2] = 0;
-#	    endif
-        }
-    }
-    GC_bytes_allocd += lb_rounded;
-    UNLOCK();
-    if (0 == result) {
-        return((*GC_oom_fn)(lb));
-    } else {
-    	if (init && !GC_debugging_started) {
-	    BZERO(result, n_blocks * HBLKSIZE);
-        }
-        return(result);
-    }
-}
-
-void * GC_malloc_ignore_off_page(size_t lb)
-{
-    return((void *)GC_generic_malloc_ignore_off_page(lb, NORMAL));
-}
-
-void * GC_malloc_atomic_ignore_off_page(size_t lb)
-{
-    return((void *)GC_generic_malloc_ignore_off_page(lb, PTRFREE));
-}
-
-/* Increment GC_bytes_allocd from code that doesn't have direct access 	*/
-/* to GC_arrays.							*/
-void GC_incr_bytes_allocd(size_t n)
-{
-    GC_bytes_allocd += n;
-}
-
-/* The same for GC_bytes_freed.				*/
-void GC_incr_bytes_freed(size_t n)
-{
-    GC_bytes_freed += n;
-}
-
-#if defined(THREADS)
-
-extern signed_word GC_bytes_found;   /* Protected by GC lock.  */
-
-#ifdef PARALLEL_MARK
-volatile signed_word GC_bytes_allocd_tmp = 0;
-                        /* Number of bytes of memory allocated since    */
-                        /* we released the GC lock.  Instead of         */
-                        /* reacquiring the GC lock just to add this in, */
-                        /* we add it in the next time we reacquire      */
-                        /* the lock.  (Atomically adding it doesn't     */
-                        /* work, since we would have to atomically      */
-                        /* update it in GC_malloc, which is too         */
-                        /* expensive.)                                   */
-#endif /* PARALLEL_MARK */
-
-/* Return a list of 1 or more objects of the indicated size, linked	*/
-/* through the first word in the object.  This has the advantage that	*/
-/* it acquires the allocation lock only once, and may greatly reduce	*/
-/* time wasted contending for the allocation lock.  Typical usage would */
-/* be in a thread that requires many items of the same size.  It would	*/
-/* keep its own free list in thread-local storage, and call		*/
-/* GC_malloc_many or friends to replenish it.  (We do not round up	*/
-/* object sizes, since a call indicates the intention to consume many	*/
-/* objects of exactly this size.)					*/
-/* We assume that the size is a multiple of GRANULE_BYTES.		*/
-/* We return the free-list by assigning it to *result, since it is	*/
-/* not safe to return, e.g. a linked list of pointer-free objects,	*/
-/* since the collector would not retain the entire list if it were 	*/
-/* invoked just as we were returning.					*/
-/* Note that the client should usually clear the link field.		*/
-void GC_generic_malloc_many(size_t lb, int k, void **result)
-{
-void *op;
-void *p;
-void **opp;
-size_t lw;	/* Length in words.	*/
-size_t lg;	/* Length in granules.	*/
-signed_word my_bytes_allocd = 0;
-struct obj_kind * ok = &(GC_obj_kinds[k]);
-DCL_LOCK_STATE;
-
-    GC_ASSERT((lb & (GRANULE_BYTES-1)) == 0);
-    if (!SMALL_OBJ(lb)) {
-        op = GC_generic_malloc(lb, k);
-        if(0 != op) obj_link(op) = 0;
-	*result = op;
-        return;
-    }
-    lw = BYTES_TO_WORDS(lb);
-    lg = BYTES_TO_GRANULES(lb);
-    if (GC_have_errors) GC_print_all_errors();
-    GC_INVOKE_FINALIZERS();
-    LOCK();
-    if (!GC_is_initialized) GC_init_inner();
-    /* Do our share of marking work */
-      if (GC_incremental && !GC_dont_gc) {
-        ENTER_GC();
-	GC_collect_a_little_inner(1);
-        EXIT_GC();
-      }
-    /* First see if we can reclaim a page of objects waiting to be */
-    /* reclaimed.						   */
-    {
-	struct hblk ** rlh = ok -> ok_reclaim_list;
-	struct hblk * hbp;
-	hdr * hhdr;
-
-	rlh += lg;
-    	while ((hbp = *rlh) != 0) {
-            hhdr = HDR(hbp);
-            *rlh = hhdr -> hb_next;
-	    GC_ASSERT(hhdr -> hb_sz == lb);
-	    hhdr -> hb_last_reclaimed = (unsigned short) GC_gc_no;
-#	    ifdef PARALLEL_MARK
-		{
-		  signed_word my_bytes_allocd_tmp = GC_bytes_allocd_tmp;
-
-		  GC_ASSERT(my_bytes_allocd_tmp >= 0);
-		  /* We only decrement it while holding the GC lock.	*/
-		  /* Thus we can't accidentally adjust it down in more	*/
-		  /* than one thread simultaneously.			*/
-		  if (my_bytes_allocd_tmp != 0) {
-		    (void)AO_fetch_and_add(
-				(volatile AO_t *)(&GC_bytes_allocd_tmp),
-				(AO_t)(-my_bytes_allocd_tmp));
-		    GC_bytes_allocd += my_bytes_allocd_tmp;
-		  }
-		}
-		GC_acquire_mark_lock();
-		++ GC_fl_builder_count;
-		UNLOCK();
-		GC_release_mark_lock();
-#	    endif
-	    op = GC_reclaim_generic(hbp, hhdr, lb,
-				    ok -> ok_init, 0, &my_bytes_allocd);
-            if (op != 0) {
-	      /* We also reclaimed memory, so we need to adjust 	*/
-	      /* that count.						*/
-	      /* This should be atomic, so the results may be		*/
-	      /* inaccurate.						*/
-	      GC_bytes_found += my_bytes_allocd;
-#	      ifdef PARALLEL_MARK
-		*result = op;
-		(void)AO_fetch_and_add(
-				(volatile AO_t *)(&GC_bytes_allocd_tmp),
-				(AO_t)(my_bytes_allocd));
-		GC_acquire_mark_lock();
-		-- GC_fl_builder_count;
-		if (GC_fl_builder_count == 0) GC_notify_all_builder();
-		GC_release_mark_lock();
-		(void) GC_clear_stack(0);
-		return;
-#	      else
-	        GC_bytes_allocd += my_bytes_allocd;
-	        goto out;
-#	      endif
-	    }
-#	    ifdef PARALLEL_MARK
-	      GC_acquire_mark_lock();
-	      -- GC_fl_builder_count;
-	      if (GC_fl_builder_count == 0) GC_notify_all_builder();
-	      GC_release_mark_lock();
-	      LOCK();
-	      /* GC lock is needed for reclaim list access.	We	*/
-	      /* must decrement fl_builder_count before reaquiring GC	*/
-	      /* lock.  Hopefully this path is rare.			*/
-#	    endif
-    	}
-    }
-    /* Next try to use prefix of global free list if there is one.	*/
-    /* We don't refill it, but we need to use it up before allocating	*/
-    /* a new block ourselves.						*/
-      opp = &(GC_obj_kinds[k].ok_freelist[lg]);
-      if ( (op = *opp) != 0 ) {
-	*opp = 0;
-        my_bytes_allocd = 0;
-        for (p = op; p != 0; p = obj_link(p)) {
-          my_bytes_allocd += lb;
-          if (my_bytes_allocd >= HBLKSIZE) {
-            *opp = obj_link(p);
-            obj_link(p) = 0;
-            break;
-	  }
-        }
-	GC_bytes_allocd += my_bytes_allocd;
-	goto out;
-      }
-    /* Next try to allocate a new block worth of objects of this size.	*/
-    {
-	struct hblk *h = GC_allochblk(lb, k, 0);
-	if (h != 0) {
-	  if (IS_UNCOLLECTABLE(k)) GC_set_hdr_marks(HDR(h));
-	  GC_bytes_allocd += HBLKSIZE - HBLKSIZE % lb;
-#	  ifdef PARALLEL_MARK
-	    GC_acquire_mark_lock();
-	    ++ GC_fl_builder_count;
-	    UNLOCK();
-	    GC_release_mark_lock();
-#	  endif
-
-	  op = GC_build_fl(h, lw, ok -> ok_init, 0);
-#	  ifdef PARALLEL_MARK
-	    *result = op;
-	    GC_acquire_mark_lock();
-	    -- GC_fl_builder_count;
-	    if (GC_fl_builder_count == 0) GC_notify_all_builder();
-	    GC_release_mark_lock();
-	    (void) GC_clear_stack(0);
-	    return;
-#	  else
-	    goto out;
-#	  endif
-	}
-    }
-    
-    /* As a last attempt, try allocating a single object.  Note that	*/
-    /* this may trigger a collection or expand the heap.		*/
-      op = GC_generic_malloc_inner(lb, k);
-      if (0 != op) obj_link(op) = 0;
-    
-  out:
-    *result = op;
-    UNLOCK();
-    (void) GC_clear_stack(0);
-}
-
-void * GC_malloc_many(size_t lb)
-{
-    void *result;
-    GC_generic_malloc_many(((lb + EXTRA_BYTES + GRANULE_BYTES-1)
-			   & ~(GRANULE_BYTES-1)),
-	    		   NORMAL, &result);
-    return result;
-}
-
-/* Note that the "atomic" version of this would be unsafe, since the	*/
-/* links would not be seen by the collector.				*/
-# endif
-
-/* Allocate lb bytes of pointerful, traced, but not collectable data */
-void * GC_malloc_uncollectable(size_t lb)
-{
-    void *op;
-    void **opp;
-    size_t lg;
-    DCL_LOCK_STATE;
-
-    if( SMALL_OBJ(lb) ) {
-	if (EXTRA_BYTES != 0 && lb != 0) lb--;
-	    	  /* We don't need the extra byte, since this won't be	*/
-	    	  /* collected anyway.					*/
-	lg = GC_size_map[lb];
-	opp = &(GC_uobjfreelist[lg]);
-	LOCK();
-        if( (op = *opp) != 0 ) {
-            /* See above comment on signals.	*/
-            *opp = obj_link(op);
-            obj_link(op) = 0;
-            GC_bytes_allocd += GRANULES_TO_BYTES(lg);
-            /* Mark bit ws already set on free list.  It will be	*/
-	    /* cleared only temporarily during a collection, as a 	*/
-	    /* result of the normal free list mark bit clearing.	*/
-            GC_non_gc_bytes += GRANULES_TO_BYTES(lg);
-            UNLOCK();
-        } else {
-            UNLOCK();
-            op = (ptr_t)GC_generic_malloc((word)lb, UNCOLLECTABLE);
-	    /* For small objects, the free lists are completely marked. */
-	}
-	GC_ASSERT(0 == op || GC_is_marked(op));
-        return((void *) op);
-    } else {
-	hdr * hhdr;
-	
-	op = (ptr_t)GC_generic_malloc((word)lb, UNCOLLECTABLE);
-        if (0 == op) return(0);
-	
-	GC_ASSERT(((word)op & (HBLKSIZE - 1)) == 0); /* large block */
-	hhdr = HDR((struct hbklk *)op);
-	/* We don't need the lock here, since we have an undisguised 	*/
-	/* pointer.  We do need to hold the lock while we adjust	*/
-	/* mark bits.							*/
-	lb = hhdr -> hb_sz;
-	LOCK();
-	set_mark_bit_from_hdr(hhdr, 0);	/* Only object.	*/
-	GC_ASSERT(hhdr -> hb_n_marks == 0);
-	hhdr -> hb_n_marks = 1;
-	UNLOCK();
-	return((void *) op);
-    }
-}
-
-/* Not well tested nor integrated.	*/
-/* Debug version is tricky and currently missing.	*/
-#include <limits.h>
-
-void * GC_memalign(size_t align, size_t lb) 
-{ 
-    size_t new_lb;
-    size_t offset;
-    ptr_t result;
-
-    if (align <= GRANULE_BYTES) return GC_malloc(lb);
-    if (align >= HBLKSIZE/2 || lb >= HBLKSIZE/2) {
-        if (align > HBLKSIZE) return GC_oom_fn(LONG_MAX-1024) /* Fail */;
-	return GC_malloc(lb <= HBLKSIZE? HBLKSIZE : lb);
-	    /* Will be HBLKSIZE aligned.	*/
-    }
-    /* We could also try to make sure that the real rounded-up object size */
-    /* is a multiple of align.  That would be correct up to HBLKSIZE.	   */
-    new_lb = lb + align - 1;
-    result = GC_malloc(new_lb);
-    offset = (word)result % align;
-    if (offset != 0) {
-	offset = align - offset;
-        if (!GC_all_interior_pointers) {
-	    if (offset >= VALID_OFFSET_SZ) return GC_malloc(HBLKSIZE);
-	    GC_register_displacement(offset);
-	}
-    }
-    result = (void *) ((ptr_t)result + offset);
-    GC_ASSERT((word)result % align == 0);
-    return result;
-}
-
-# ifdef ATOMIC_UNCOLLECTABLE
-/* Allocate lb bytes of pointerfree, untraced, uncollectable data 	*/
-/* This is normally roughly equivalent to the system malloc.		*/
-/* But it may be useful if malloc is redefined.				*/
-void * GC_malloc_atomic_uncollectable(size_t lb)
-{
-    void *op;
-    void **opp;
-    size_t lg;
-    DCL_LOCK_STATE;
-
-    if( SMALL_OBJ(lb) ) {
-	if (EXTRA_BYTES != 0 && lb != 0) lb--;
-	    	  /* We don't need the extra byte, since this won't be	*/
-	    	  /* collected anyway.					*/
-	lg = GC_size_map[lb];
-	opp = &(GC_auobjfreelist[lg]);
-	LOCK();
-        if( (op = *opp) != 0 ) {
-            /* See above comment on signals.	*/
-            *opp = obj_link(op);
-            obj_link(op) = 0;
-            GC_bytes_allocd += GRANULES_TO_BYTES(lg);
-	    /* Mark bit was already set while object was on free list. */
-            GC_non_gc_bytes += GRANULES_TO_BYTES(lg);
-            UNLOCK();
-        } else {
-            UNLOCK();
-            op = (ptr_t)GC_generic_malloc(lb, AUNCOLLECTABLE);
-	}
-	GC_ASSERT(0 == op || GC_is_marked(op));
-        return((void *) op);
-    } else {
-	hdr * hhdr;
-	
-	op = (ptr_t)GC_generic_malloc(lb, AUNCOLLECTABLE);
-        if (0 == op) return(0);
-
-	GC_ASSERT(((word)op & (HBLKSIZE - 1)) == 0);
-	hhdr = HDR((struct hbklk *)op);
-	lb = hhdr -> hb_sz;
-	
-	LOCK();
-	set_mark_bit_from_hdr(hhdr, 0);	/* Only object.	*/
-	GC_ASSERT(hhdr -> hb_n_marks == 0);
-	hhdr -> hb_n_marks = 1;
-	UNLOCK();
-	return((void *) op);
-    }
-}
-
-#endif /* ATOMIC_UNCOLLECTABLE */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/mark.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/mark.c
deleted file mode 100755
index 220d31d..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/mark.c
+++ /dev/null
@@ -1,1866 +0,0 @@
-
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 2000 by Hewlett-Packard Company.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-
-
-# include <stdio.h>
-# include "private/gc_pmark.h"
-
-#if defined(MSWIN32) && defined(__GNUC__)
-# include <excpt.h>
-#endif
-
-/* We put this here to minimize the risk of inlining. */
-/*VARARGS*/
-#ifdef __WATCOMC__
-  void GC_noop(void *p, ...) {}
-#else
-  void GC_noop() {}
-#endif
-
-/* Single argument version, robust against whole program analysis. */
-void GC_noop1(word x)
-{
-    static volatile word sink;
-
-    sink = x;
-}
-
-/* mark_proc GC_mark_procs[MAX_MARK_PROCS] = {0} -- declared in gc_priv.h */
-
-unsigned GC_n_mark_procs = GC_RESERVED_MARK_PROCS;
-
-/* Initialize GC_obj_kinds properly and standard free lists properly.  	*/
-/* This must be done statically since they may be accessed before 	*/
-/* GC_init is called.							*/
-/* It's done here, since we need to deal with mark descriptors.		*/
-struct obj_kind GC_obj_kinds[MAXOBJKINDS] = {
-/* PTRFREE */ { &GC_aobjfreelist[0], 0 /* filled in dynamically */,
-		0 | GC_DS_LENGTH, FALSE, FALSE },
-/* NORMAL  */ { &GC_objfreelist[0], 0,
-		0 | GC_DS_LENGTH,  /* Adjusted in GC_init_inner for EXTRA_BYTES */
-		TRUE /* add length to descr */, TRUE },
-/* UNCOLLECTABLE */
-	      { &GC_uobjfreelist[0], 0,
-		0 | GC_DS_LENGTH, TRUE /* add length to descr */, TRUE },
-# ifdef ATOMIC_UNCOLLECTABLE
-   /* AUNCOLLECTABLE */
-	      { &GC_auobjfreelist[0], 0,
-		0 | GC_DS_LENGTH, FALSE /* add length to descr */, FALSE },
-# endif
-# ifdef STUBBORN_ALLOC
-/*STUBBORN*/ { &GC_sobjfreelist[0], 0,
-		0 | GC_DS_LENGTH, TRUE /* add length to descr */, TRUE },
-# endif
-};
-
-# ifdef ATOMIC_UNCOLLECTABLE
-#   ifdef STUBBORN_ALLOC
-      unsigned GC_n_kinds = 5;
-#   else
-      unsigned GC_n_kinds = 4;
-#   endif
-# else
-#   ifdef STUBBORN_ALLOC
-      unsigned GC_n_kinds = 4;
-#   else
-      unsigned GC_n_kinds = 3;
-#   endif
-# endif
-
-
-# ifndef INITIAL_MARK_STACK_SIZE
-#   define INITIAL_MARK_STACK_SIZE (1*HBLKSIZE)
-		/* INITIAL_MARK_STACK_SIZE * sizeof(mse) should be a 	*/
-		/* multiple of HBLKSIZE.				*/
-		/* The incremental collector actually likes a larger	*/
-		/* size, since it want to push all marked dirty objs	*/
-		/* before marking anything new.  Currently we let it	*/
-		/* grow dynamically.					*/
-# endif
-
-/*
- * Limits of stack for GC_mark routine.
- * All ranges between GC_mark_stack(incl.) and GC_mark_stack_top(incl.) still
- * need to be marked from.
- */
-
-word GC_n_rescuing_pages;	/* Number of dirty pages we marked from */
-				/* excludes ptrfree pages, etc.		*/
-
-mse * GC_mark_stack;
-
-mse * GC_mark_stack_limit;
-
-size_t GC_mark_stack_size = 0;
- 
-#ifdef PARALLEL_MARK
-# include "atomic_ops.h"
-
-  mse * volatile GC_mark_stack_top;
-  /* Updated only with mark lock held, but read asynchronously.	*/
-  volatile AO_t GC_first_nonempty;
-  	/* Lowest entry on mark stack	*/
-	/* that may be nonempty.	*/
-	/* Updated only by initiating 	*/
-	/* thread.			*/
-#else
-  mse * GC_mark_stack_top;
-#endif
-
-static struct hblk * scan_ptr;
-
-mark_state_t GC_mark_state = MS_NONE;
-
-GC_bool GC_mark_stack_too_small = FALSE;
-
-GC_bool GC_objects_are_marked = FALSE;	/* Are there collectable marked	*/
-					/* objects in the heap?		*/
-
-/* Is a collection in progress?  Note that this can return true in the	*/
-/* nonincremental case, if a collection has been abandoned and the	*/
-/* mark state is now MS_INVALID.					*/
-GC_bool GC_collection_in_progress(void)
-{
-    return(GC_mark_state != MS_NONE);
-}
-
-/* clear all mark bits in the header */
-void GC_clear_hdr_marks(hdr *hhdr)
-{
-    size_t last_bit = FINAL_MARK_BIT(hhdr -> hb_sz);
-
-#   ifdef USE_MARK_BYTES
-      BZERO(hhdr -> hb_marks, MARK_BITS_SZ);
-      hhdr -> hb_marks[last_bit] = 1;
-#   else
-      BZERO(hhdr -> hb_marks, MARK_BITS_SZ*sizeof(word));
-      set_mark_bit_from_hdr(hhdr, last_bit);
-#   endif
-    hhdr -> hb_n_marks = 0;
-}
-
-/* Set all mark bits in the header.  Used for uncollectable blocks. */
-void GC_set_hdr_marks(hdr *hhdr)
-{
-    unsigned i;
-    size_t sz = hhdr -> hb_sz;
-    size_t n_marks = FINAL_MARK_BIT(sz);
-
-#   ifdef USE_MARK_BYTES
-      for (i = 0; i <= n_marks; i += MARK_BIT_OFFSET(sz)) {
-    	hhdr -> hb_marks[i] = 1;
-      }
-#   else
-      for (i = 0; i < divWORDSZ(n_marks + WORDSZ); ++i) {
-    	hhdr -> hb_marks[i] = ONES;
-      }
-#   endif
-#   ifdef MARK_BIT_PER_OBJ
-      hhdr -> hb_n_marks = n_marks - 1;
-#   else
-      hhdr -> hb_n_marks = HBLK_OBJS(sz);
-#   endif
-}
-
-/*
- * Clear all mark bits associated with block h.
- */
-/*ARGSUSED*/
-static void clear_marks_for_block(struct hblk *h, word dummy)
-{
-    register hdr * hhdr = HDR(h);
-    
-    if (IS_UNCOLLECTABLE(hhdr -> hb_obj_kind)) return;
-        /* Mark bit for these is cleared only once the object is 	*/
-        /* explicitly deallocated.  This either frees the block, or	*/
-        /* the bit is cleared once the object is on the free list.	*/
-    GC_clear_hdr_marks(hhdr);
-}
-
-/* Slow but general routines for setting/clearing/asking about mark bits */
-void GC_set_mark_bit(ptr_t p)
-{
-    struct hblk *h = HBLKPTR(p);
-    hdr * hhdr = HDR(h);
-    word bit_no = MARK_BIT_NO(p - (ptr_t)h, hhdr -> hb_sz);
-    
-    if (!mark_bit_from_hdr(hhdr, bit_no)) {
-      set_mark_bit_from_hdr(hhdr, bit_no);
-      ++hhdr -> hb_n_marks;
-    }
-}
-
-void GC_clear_mark_bit(ptr_t p)
-{
-    struct hblk *h = HBLKPTR(p);
-    hdr * hhdr = HDR(h);
-    word bit_no = MARK_BIT_NO(p - (ptr_t)h, hhdr -> hb_sz);
-    
-    if (mark_bit_from_hdr(hhdr, bit_no)) {
-      size_t n_marks;
-      clear_mark_bit_from_hdr(hhdr, bit_no);
-      n_marks = hhdr -> hb_n_marks - 1;
-#     ifdef PARALLEL_MARK
-        if (n_marks != 0)
-          hhdr -> hb_n_marks = n_marks; 
-        /* Don't decrement to zero.  The counts are approximate due to	*/
-        /* concurrency issues, but we need to ensure that a count of 	*/
-        /* zero implies an empty block.					*/
-#     else
-          hhdr -> hb_n_marks = n_marks; 
-#     endif
-    }
-}
-
-GC_bool GC_is_marked(ptr_t p)
-{
-    struct hblk *h = HBLKPTR(p);
-    hdr * hhdr = HDR(h);
-    word bit_no = MARK_BIT_NO(p - (ptr_t)h, hhdr -> hb_sz);
-    
-    return((GC_bool)mark_bit_from_hdr(hhdr, bit_no));
-}
-
-
-/*
- * Clear mark bits in all allocated heap blocks.  This invalidates
- * the marker invariant, and sets GC_mark_state to reflect this.
- * (This implicitly starts marking to reestablish the invariant.)
- */
-void GC_clear_marks(void)
-{
-    GC_apply_to_all_blocks(clear_marks_for_block, (word)0);
-    GC_objects_are_marked = FALSE;
-    GC_mark_state = MS_INVALID;
-    scan_ptr = 0;
-}
-
-/* Initiate a garbage collection.  Initiates a full collection if the	*/
-/* mark	state is invalid.						*/
-/*ARGSUSED*/
-void GC_initiate_gc(void)
-{
-    if (GC_dirty_maintained) GC_read_dirty();
-#   ifdef STUBBORN_ALLOC
-    	GC_read_changed();
-#   endif
-#   ifdef CHECKSUMS
-	{
-	    extern void GC_check_dirty();
-	    
-	    if (GC_dirty_maintained) GC_check_dirty();
-	}
-#   endif
-    GC_n_rescuing_pages = 0;
-    if (GC_mark_state == MS_NONE) {
-        GC_mark_state = MS_PUSH_RESCUERS;
-    } else if (GC_mark_state != MS_INVALID) {
-    	ABORT("unexpected state");
-    } /* else this is really a full collection, and mark	*/
-      /* bits are invalid.					*/
-    scan_ptr = 0;
-}
-
-
-static void alloc_mark_stack(size_t);
-
-# if defined(MSWIN32) || defined(USE_PROC_FOR_LIBRARIES) && defined(THREADS)
-    /* Under rare conditions, we may end up marking from nonexistent memory. */
-    /* Hence we need to be prepared to recover by running GC_mark_some	     */
-    /* with a suitable handler in place.				     */
-#   define WRAP_MARK_SOME
-# endif
-
-/* Perform a small amount of marking.			*/
-/* We try to touch roughly a page of memory.		*/
-/* Return TRUE if we just finished a mark phase.	*/
-/* Cold_gc_frame is an address inside a GC frame that	*/
-/* remains valid until all marking is complete.		*/
-/* A zero value indicates that it's OK to miss some	*/
-/* register values.					*/
-/* We hold the allocation lock.  In the case of 	*/
-/* incremental collection, the world may not be stopped.*/
-#ifdef WRAP_MARK_SOME
-  /* For win32, this is called after we establish a structured	*/
-  /* exception handler, in case Windows unmaps one of our root	*/
-  /* segments.  See below.  In either case, we acquire the 	*/
-  /* allocator lock long before we get here.			*/
-  GC_bool GC_mark_some_inner(ptr_t cold_gc_frame)
-#else
-  GC_bool GC_mark_some(ptr_t cold_gc_frame)
-#endif
-{
-    switch(GC_mark_state) {
-    	case MS_NONE:
-    	    return(FALSE);
-    	    
-    	case MS_PUSH_RESCUERS:
-    	    if (GC_mark_stack_top
-    	        >= GC_mark_stack_limit - INITIAL_MARK_STACK_SIZE/2) {
-		/* Go ahead and mark, even though that might cause us to */
-		/* see more marked dirty objects later on.  Avoid this	 */
-		/* in the future.					 */
-		GC_mark_stack_too_small = TRUE;
-    	        MARK_FROM_MARK_STACK();
-    	        return(FALSE);
-    	    } else {
-    	        scan_ptr = GC_push_next_marked_dirty(scan_ptr);
-    	        if (scan_ptr == 0) {
-		    if (GC_print_stats) {
-			GC_log_printf("Marked from %u dirty pages\n",
-				      GC_n_rescuing_pages);
-		    }
-    	    	    GC_push_roots(FALSE, cold_gc_frame);
-    	    	    GC_objects_are_marked = TRUE;
-    	    	    if (GC_mark_state != MS_INVALID) {
-    	    	        GC_mark_state = MS_ROOTS_PUSHED;
-    	    	    }
-    	    	}
-    	    }
-    	    return(FALSE);
-    	
-    	case MS_PUSH_UNCOLLECTABLE:
-    	    if (GC_mark_stack_top
-    	        >= GC_mark_stack + GC_mark_stack_size/4) {
-#		ifdef PARALLEL_MARK
-		  /* Avoid this, since we don't parallelize the marker	*/
-		  /* here.						*/
-		  if (GC_parallel) GC_mark_stack_too_small = TRUE;
-#		endif
-    	        MARK_FROM_MARK_STACK();
-    	        return(FALSE);
-    	    } else {
-    	        scan_ptr = GC_push_next_marked_uncollectable(scan_ptr);
-    	        if (scan_ptr == 0) {
-    	    	    GC_push_roots(TRUE, cold_gc_frame);
-    	    	    GC_objects_are_marked = TRUE;
-    	    	    if (GC_mark_state != MS_INVALID) {
-    	    	        GC_mark_state = MS_ROOTS_PUSHED;
-    	    	    }
-    	    	}
-    	    }
-    	    return(FALSE);
-    	
-    	case MS_ROOTS_PUSHED:
-#	    ifdef PARALLEL_MARK
-	      /* In the incremental GC case, this currently doesn't	*/
-	      /* quite do the right thing, since it runs to		*/
-	      /* completion.  On the other hand, starting a		*/
-	      /* parallel marker is expensive, so perhaps it is		*/
-	      /* the right thing?					*/
-	      /* Eventually, incremental marking should run		*/
-	      /* asynchronously in multiple threads, without grabbing	*/
-	      /* the allocation lock.					*/
-	        if (GC_parallel) {
-		  GC_do_parallel_mark();
-		  GC_ASSERT(GC_mark_stack_top < (mse *)GC_first_nonempty);
-		  GC_mark_stack_top = GC_mark_stack - 1;
-    	          if (GC_mark_stack_too_small) {
-    	            alloc_mark_stack(2*GC_mark_stack_size);
-    	          }
-		  if (GC_mark_state == MS_ROOTS_PUSHED) {
-    	            GC_mark_state = MS_NONE;
-    	            return(TRUE);
-		  } else {
-		    return(FALSE);
-	          }
-		}
-#	    endif
-    	    if (GC_mark_stack_top >= GC_mark_stack) {
-    	        MARK_FROM_MARK_STACK();
-    	        return(FALSE);
-    	    } else {
-    	        GC_mark_state = MS_NONE;
-    	        if (GC_mark_stack_too_small) {
-    	            alloc_mark_stack(2*GC_mark_stack_size);
-    	        }
-    	        return(TRUE);
-    	    }
-    	    
-    	case MS_INVALID:
-    	case MS_PARTIALLY_INVALID:
-	    if (!GC_objects_are_marked) {
-		GC_mark_state = MS_PUSH_UNCOLLECTABLE;
-		return(FALSE);
-	    }
-    	    if (GC_mark_stack_top >= GC_mark_stack) {
-    	        MARK_FROM_MARK_STACK();
-    	        return(FALSE);
-    	    }
-    	    if (scan_ptr == 0 && GC_mark_state == MS_INVALID) {
-		/* About to start a heap scan for marked objects. */
-		/* Mark stack is empty.  OK to reallocate.	  */
-		if (GC_mark_stack_too_small) {
-    	            alloc_mark_stack(2*GC_mark_stack_size);
-		}
-		GC_mark_state = MS_PARTIALLY_INVALID;
-    	    }
-    	    scan_ptr = GC_push_next_marked(scan_ptr);
-    	    if (scan_ptr == 0 && GC_mark_state == MS_PARTIALLY_INVALID) {
-    	    	GC_push_roots(TRUE, cold_gc_frame);
-    	    	GC_objects_are_marked = TRUE;
-    	    	if (GC_mark_state != MS_INVALID) {
-    	    	    GC_mark_state = MS_ROOTS_PUSHED;
-    	    	}
-    	    }
-    	    return(FALSE);
-    	default:
-    	    ABORT("GC_mark_some: bad state");
-    	    return(FALSE);
-    }
-}
-
-
-#if defined(MSWIN32) && defined(__GNUC__)
-
-    typedef struct {
-      EXCEPTION_REGISTRATION ex_reg;
-      void *alt_path;
-    } ext_ex_regn;
-
-
-    static EXCEPTION_DISPOSITION mark_ex_handler(
-        struct _EXCEPTION_RECORD *ex_rec, 
-        void *est_frame,
-        struct _CONTEXT *context,
-        void *disp_ctxt)
-    {
-        if (ex_rec->ExceptionCode == STATUS_ACCESS_VIOLATION) {
-          ext_ex_regn *xer = (ext_ex_regn *)est_frame;
-
-          /* Unwind from the inner function assuming the standard */
-          /* function prologue.                                   */
-          /* Assumes code has not been compiled with              */
-          /* -fomit-frame-pointer.                                */
-          context->Esp = context->Ebp;
-          context->Ebp = *((DWORD *)context->Esp);
-          context->Esp = context->Esp - 8;
-
-          /* Resume execution at the "real" handler within the    */
-          /* wrapper function.                                    */
-          context->Eip = (DWORD )(xer->alt_path);
-
-          return ExceptionContinueExecution;
-
-        } else {
-            return ExceptionContinueSearch;
-        }
-    }
-# endif /* __GNUC__  && MSWIN32 */
-
-#ifdef GC_WIN32_THREADS
-  extern GC_bool GC_started_thread_while_stopped(void);
-  /* In win32_threads.c.  Did we invalidate mark phase with an	*/
-  /* unexpected thread start?					*/
-#endif
-
-# ifdef WRAP_MARK_SOME
-  GC_bool GC_mark_some(ptr_t cold_gc_frame)
-  {
-      GC_bool ret_val;
-
-#   ifdef MSWIN32
-#    ifndef __GNUC__
-      /* Windows 98 appears to asynchronously create and remove  */
-      /* writable memory mappings, for reasons we haven't yet    */
-      /* understood.  Since we look for writable regions to      */
-      /* determine the root set, we may try to mark from an      */
-      /* address range that disappeared since we started the     */
-      /* collection.  Thus we have to recover from faults here.  */
-      /* This code does not appear to be necessary for Windows   */
-      /* 95/NT/2000. Note that this code should never generate   */
-      /* an incremental GC write fault.                          */
-      /* It's conceivable that this is the same issue with	 */
-      /* terminating threads that we see with Linux and		 */
-      /* USE_PROC_FOR_LIBRARIES.				 */
-
-      __try {
-          ret_val = GC_mark_some_inner(cold_gc_frame);
-      } __except (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ?
-                EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) {
-	  goto handle_ex;
-      }
-#     ifdef GC_WIN32_THREADS
-	/* With DllMain-based thread tracking, a thread may have	*/
-	/* started while we were marking.  This is logically equivalent	*/
-	/* to the exception case; our results are invalid and we have	*/
-	/* to start over.  This cannot be prevented since we can't	*/
-	/* block in DllMain.						*/
-	if (GC_started_thread_while_stopped()) goto handle_ex;
-#     endif
-     rm_handler:
-      return ret_val;
-
-#    else /* __GNUC__ */
-
-      /* Manually install an exception handler since GCC does    */
-      /* not yet support Structured Exception Handling (SEH) on  */
-      /* Win32.                                                  */
-
-      ext_ex_regn er;
-
-      er.alt_path = &&handle_ex;
-      er.ex_reg.handler = mark_ex_handler;
-      asm volatile ("movl %%fs:0, %0" : "=r" (er.ex_reg.prev));
-      asm volatile ("movl %0, %%fs:0" : : "r" (&er));
-      ret_val = GC_mark_some_inner(cold_gc_frame);
-      /* Prevent GCC from considering the following code unreachable */
-      /* and thus eliminating it.                                    */
-        if (er.alt_path == 0)
-          goto handle_ex;
-    rm_handler:
-      /* Uninstall the exception handler */
-      asm volatile ("mov %0, %%fs:0" : : "r" (er.ex_reg.prev));
-      return ret_val;
-
-#    endif /* __GNUC__ */
-#   else /* !MSWIN32 */
-      /* Here we are handling the case in which /proc is used for root	*/
-      /* finding, and we have threads.  We may find a stack for a	*/
-      /* thread that is in the process of exiting, and disappears	*/
-      /* while we are marking it.  This seems extremely difficult to	*/
-      /* avoid otherwise.						*/
-      if (GC_incremental)
-	      WARN("Incremental GC incompatible with /proc roots\n", 0);
-      	/* I'm not sure if this could still work ...	*/
-      GC_setup_temporary_fault_handler();
-      if(SETJMP(GC_jmp_buf) != 0) goto handle_ex;
-      ret_val = GC_mark_some_inner(cold_gc_frame);
-    rm_handler:
-      GC_reset_fault_handler();
-      return ret_val;
-      
-#   endif /* !MSWIN32 */
-
-handle_ex:
-    /* Exception handler starts here for all cases. */
-      if (GC_print_stats) {
-        GC_log_printf("Caught ACCESS_VIOLATION in marker. "
-		      "Memory mapping disappeared.\n");
-      }
-
-      /* We have bad roots on the stack.  Discard mark stack.	*/
-      /* Rescan from marked objects.  Redetermine roots.	*/
-      GC_invalidate_mark_state();	
-      scan_ptr = 0;
-
-      ret_val = FALSE;
-      goto rm_handler;  // Back to platform-specific code.
-  }
-#endif /* WRAP_MARK_SOME */
-
-
-GC_bool GC_mark_stack_empty(void)
-{
-    return(GC_mark_stack_top < GC_mark_stack);
-}	
-
-void GC_invalidate_mark_state(void)
-{
-    GC_mark_state = MS_INVALID;
-    GC_mark_stack_top = GC_mark_stack-1;
-}
-
-mse * GC_signal_mark_stack_overflow(mse *msp)
-{
-    GC_mark_state = MS_INVALID;
-    GC_mark_stack_too_small = TRUE;
-    if (GC_print_stats) {
-	GC_log_printf("Mark stack overflow; current size = %lu entries\n",
-	    	      GC_mark_stack_size);
-    }
-    return(msp - GC_MARK_STACK_DISCARDS);
-}
-
-/*
- * Mark objects pointed to by the regions described by
- * mark stack entries between mark_stack and mark_stack_top,
- * inclusive.  Assumes the upper limit of a mark stack entry
- * is never 0.  A mark stack entry never has size 0.
- * We try to traverse on the order of a hblk of memory before we return.
- * Caller is responsible for calling this until the mark stack is empty.
- * Note that this is the most performance critical routine in the
- * collector.  Hence it contains all sorts of ugly hacks to speed
- * things up.  In particular, we avoid procedure calls on the common
- * path, we take advantage of peculiarities of the mark descriptor
- * encoding, we optionally maintain a cache for the block address to
- * header mapping, we prefetch when an object is "grayed", etc. 
- */
-mse * GC_mark_from(mse *mark_stack_top, mse *mark_stack, mse *mark_stack_limit)
-{
-  signed_word credit = HBLKSIZE;  /* Remaining credit for marking work	*/
-  ptr_t current_p;	/* Pointer to current candidate ptr.	*/
-  word current;	/* Candidate pointer.			*/
-  ptr_t limit;	/* (Incl) limit of current candidate 	*/
-  				/* range				*/
-  word descr;
-  ptr_t greatest_ha = GC_greatest_plausible_heap_addr;
-  ptr_t least_ha = GC_least_plausible_heap_addr;
-  DECLARE_HDR_CACHE;
-
-# define SPLIT_RANGE_WORDS 128  /* Must be power of 2.		*/
-
-  GC_objects_are_marked = TRUE;
-  INIT_HDR_CACHE;
-# ifdef OS2 /* Use untweaked version to circumvent compiler problem */
-  while (mark_stack_top >= mark_stack && credit >= 0) {
-# else
-  while ((((ptr_t)mark_stack_top - (ptr_t)mark_stack) | credit)
-  	>= 0) {
-# endif
-    current_p = mark_stack_top -> mse_start;
-    descr = mark_stack_top -> mse_descr;
-  retry:
-    /* current_p and descr describe the current object.		*/
-    /* *mark_stack_top is vacant.				*/
-    /* The following is 0 only for small objects described by a simple	*/
-    /* length descriptor.  For many applications this is the common	*/
-    /* case, so we try to detect it quickly.				*/
-    if (descr & ((~(WORDS_TO_BYTES(SPLIT_RANGE_WORDS) - 1)) | GC_DS_TAGS)) {
-      word tag = descr & GC_DS_TAGS;
-      
-      switch(tag) {
-        case GC_DS_LENGTH:
-          /* Large length.					        */
-          /* Process part of the range to avoid pushing too much on the	*/
-          /* stack.							*/
-	  GC_ASSERT(descr < (word)GC_greatest_plausible_heap_addr
-			    - (word)GC_least_plausible_heap_addr);
-#	  ifdef ENABLE_TRACE
-	    if (GC_trace_addr >= current_p
-		&& GC_trace_addr < current_p + descr) {
-		GC_log_printf("GC:%d Large section; start %p len %lu\n",
-			      GC_gc_no, current_p, (unsigned long) descr);
-	    }
-#	  endif /* ENABLE_TRACE */
-#	  ifdef PARALLEL_MARK
-#	    define SHARE_BYTES 2048
-	    if (descr > SHARE_BYTES && GC_parallel
-		&& mark_stack_top < mark_stack_limit - 1) {
-	      int new_size = (descr/2) & ~(sizeof(word)-1);
-	      mark_stack_top -> mse_start = current_p;
-	      mark_stack_top -> mse_descr = new_size + sizeof(word);
-					/* makes sure we handle 	*/
-					/* misaligned pointers.		*/
-	      mark_stack_top++;
-#	      ifdef ENABLE_TRACE
-	        if (GC_trace_addr >= current_p
-		    && GC_trace_addr < current_p + descr) {
-		    GC_log_printf("GC:%d splitting (parallel) %p at %p\n",
-				  GC_gc_no, current_p, current_p + new_size);
-	        }
-#	      endif /* ENABLE_TRACE */
-	      current_p += new_size;
-	      descr -= new_size;
-	      goto retry;
-	    }
-#	  endif /* PARALLEL_MARK */
-          mark_stack_top -> mse_start =
-         	limit = current_p + WORDS_TO_BYTES(SPLIT_RANGE_WORDS-1);
-          mark_stack_top -> mse_descr =
-          		descr - WORDS_TO_BYTES(SPLIT_RANGE_WORDS-1);
-#	  ifdef ENABLE_TRACE
-	    if (GC_trace_addr >= current_p
-		&& GC_trace_addr < current_p + descr) {
-		GC_log_printf("GC:%d splitting %p at %p\n",
-			      GC_gc_no, current_p, limit);
-	    }
-#	  endif /* ENABLE_TRACE */
-          /* Make sure that pointers overlapping the two ranges are	*/
-          /* considered. 						*/
-          limit += sizeof(word) - ALIGNMENT;
-          break;
-        case GC_DS_BITMAP:
-          mark_stack_top--;
-#	  ifdef ENABLE_TRACE
-	    if (GC_trace_addr >= current_p
-		&& GC_trace_addr < current_p + WORDS_TO_BYTES(WORDSZ-2)) {
-		GC_log_printf("GC:%d Tracing from %p bitmap descr %lu\n",
-			      GC_gc_no, current_p, (unsigned long) descr);
-	    }
-#	  endif /* ENABLE_TRACE */
-          descr &= ~GC_DS_TAGS;
-          credit -= WORDS_TO_BYTES(WORDSZ/2); /* guess */
-          while (descr != 0) {
-            if ((signed_word)descr < 0) {
-              current = *(word *)current_p;
-	      FIXUP_POINTER(current);
-	      if ((ptr_t)current >= least_ha && (ptr_t)current < greatest_ha) {
-		PREFETCH((ptr_t)current);
-#               ifdef ENABLE_TRACE
-	          if (GC_trace_addr == current_p) {
-	            GC_log_printf("GC:%d Considering(3) %p -> %p\n",
-			          GC_gc_no, current_p, (ptr_t) current);
-	          }
-#               endif /* ENABLE_TRACE */
-                PUSH_CONTENTS((ptr_t)current, mark_stack_top,
-			      mark_stack_limit, current_p, exit1);
-	      }
-            }
-	    descr <<= 1;
-	    current_p += sizeof(word);
-          }
-          continue;
-        case GC_DS_PROC:
-          mark_stack_top--;
-#	  ifdef ENABLE_TRACE
-	    if (GC_trace_addr >= current_p
-		&& GC_base(current_p) != 0
-		&& GC_base(current_p) == GC_base(GC_trace_addr)) {
-		GC_log_printf("GC:%d Tracing from %p proc descr %lu\n",
-			      GC_gc_no, current_p, (unsigned long) descr);
-	    }
-#	  endif /* ENABLE_TRACE */
-          credit -= GC_PROC_BYTES;
-          mark_stack_top =
-              (*PROC(descr))
-              	    ((word *)current_p, mark_stack_top,
-              	    mark_stack_limit, ENV(descr));
-          continue;
-        case GC_DS_PER_OBJECT:
-	  if ((signed_word)descr >= 0) {
-	    /* Descriptor is in the object.	*/
-            descr = *(word *)(current_p + descr - GC_DS_PER_OBJECT);
-	  } else {
-	    /* Descriptor is in type descriptor pointed to by first	*/
-	    /* word in object.						*/
-	    ptr_t type_descr = *(ptr_t *)current_p;
-	    /* type_descr is either a valid pointer to the descriptor	*/
-	    /* structure, or this object was on a free list.  If it 	*/
-	    /* it was anything but the last object on the free list,	*/
-	    /* we will misinterpret the next object on the free list as */
-	    /* the type descriptor, and get a 0 GC descriptor, which	*/
-	    /* is ideal.  Unfortunately, we need to check for the last	*/
-	    /* object case explicitly.					*/
-	    if (0 == type_descr) {
-		/* Rarely executed.	*/
-		mark_stack_top--;
-		continue;
-	    }
-            descr = *(word *)(type_descr
-			      - (descr - (GC_DS_PER_OBJECT
-					  - GC_INDIR_PER_OBJ_BIAS)));
-	  }
-	  if (0 == descr) {
-	      /* Can happen either because we generated a 0 descriptor	*/
-	      /* or we saw a pointer to a free object.		*/
-	      mark_stack_top--;
-	      continue;
-	  }
-          goto retry;
-      }
-    } else /* Small object with length descriptor */ {
-      mark_stack_top--;
-      limit = current_p + (word)descr;
-    }
-#   ifdef ENABLE_TRACE
-	if (GC_trace_addr >= current_p
-	    && GC_trace_addr < limit) {
-	    GC_log_printf("GC:%d Tracing from %p len %lu\n",
-			  GC_gc_no, current_p, (unsigned long) descr);
-	}
-#   endif /* ENABLE_TRACE */
-    /* The simple case in which we're scanning a range.	*/
-    GC_ASSERT(!((word)current_p & (ALIGNMENT-1)));
-    credit -= limit - current_p;
-    limit -= sizeof(word);
-    {
-#     define PREF_DIST 4
-
-#     ifndef SMALL_CONFIG
-        word deferred;
-
-	/* Try to prefetch the next pointer to be examined asap.	*/
-	/* Empirically, this also seems to help slightly without	*/
-	/* prefetches, at least on linux/X86.  Presumably this loop 	*/
-	/* ends up with less register pressure, and gcc thus ends up 	*/
-	/* generating slightly better code.  Overall gcc code quality	*/
-	/* for this loop is still not great.				*/
-	for(;;) {
-	  PREFETCH(limit - PREF_DIST*CACHE_LINE_SIZE);
-	  GC_ASSERT(limit >= current_p);
-	  deferred = *(word *)limit;
-	  FIXUP_POINTER(deferred);
-	  limit -= ALIGNMENT;
-	  if ((ptr_t)deferred >= least_ha && (ptr_t)deferred <  greatest_ha) {
-	    PREFETCH((ptr_t)deferred);
-	    break;
-	  }
-	  if (current_p > limit) goto next_object;
-	  /* Unroll once, so we don't do too many of the prefetches 	*/
-	  /* based on limit.						*/
-	  deferred = *(word *)limit;
-	  FIXUP_POINTER(deferred);
-	  limit -= ALIGNMENT;
-	  if ((ptr_t)deferred >= least_ha && (ptr_t)deferred <  greatest_ha) {
-	    PREFETCH((ptr_t)deferred);
-	    break;
-	  }
-	  if (current_p > limit) goto next_object;
-	}
-#     endif
-
-      while (current_p <= limit) {
-	/* Empirically, unrolling this loop doesn't help a lot.	*/
-	/* Since PUSH_CONTENTS expands to a lot of code,	*/
-	/* we don't.						*/
-        current = *(word *)current_p;
-	FIXUP_POINTER(current);
-        PREFETCH(current_p + PREF_DIST*CACHE_LINE_SIZE);
-        if ((ptr_t)current >= least_ha && (ptr_t)current <  greatest_ha) {
-  	  /* Prefetch the contents of the object we just pushed.  It's	*/
-  	  /* likely we will need them soon.				*/
-  	  PREFETCH((ptr_t)current);
-#         ifdef ENABLE_TRACE
-	    if (GC_trace_addr == current_p) {
-	        GC_log_printf("GC:%d Considering(1) %p -> %p\n",
-			      GC_gc_no, current_p, (ptr_t) current);
-	    }
-#         endif /* ENABLE_TRACE */
-          PUSH_CONTENTS((ptr_t)current, mark_stack_top,
-  		           mark_stack_limit, current_p, exit2);
-        }
-        current_p += ALIGNMENT;
-      }
-
-#     ifndef SMALL_CONFIG
-	/* We still need to mark the entry we previously prefetched.	*/
-	/* We already know that it passes the preliminary pointer	*/
-	/* validity test.						*/
-#       ifdef ENABLE_TRACE
-	    if (GC_trace_addr == current_p) {
-	        GC_log_printf("GC:%d Considering(2) %p -> %p\n",
-			      GC_gc_no, current_p, (ptr_t) deferred);
-	    }
-#       endif /* ENABLE_TRACE */
-        PUSH_CONTENTS((ptr_t)deferred, mark_stack_top,
-  		         mark_stack_limit, current_p, exit4);
-	next_object:;
-#     endif
-    }
-  }
-  return mark_stack_top;
-}
-
-#ifdef PARALLEL_MARK
-
-/* We assume we have an ANSI C Compiler.	*/
-GC_bool GC_help_wanted = FALSE;
-unsigned GC_helper_count = 0;
-unsigned GC_active_count = 0;
-word GC_mark_no = 0;
-
-#define LOCAL_MARK_STACK_SIZE HBLKSIZE
-	/* Under normal circumstances, this is big enough to guarantee	*/
-	/* We don't overflow half of it in a single call to 		*/
-	/* GC_mark_from.						*/
-
-
-/* Steal mark stack entries starting at mse low into mark stack local	*/
-/* until we either steal mse high, or we have max entries.		*/
-/* Return a pointer to the top of the local mark stack.		        */
-/* *next is replaced by a pointer to the next unscanned mark stack	*/
-/* entry.								*/
-mse * GC_steal_mark_stack(mse * low, mse * high, mse * local,
-			  unsigned max, mse **next)
-{
-    mse *p;
-    mse *top = local - 1;
-    unsigned i = 0;
-
-    GC_ASSERT(high >= low-1 && high - low + 1 <= GC_mark_stack_size);
-    for (p = low; p <= high && i <= max; ++p) {
-	word descr = AO_load((volatile AO_t *) &(p -> mse_descr));
-	if (descr != 0) {
-	    /* Must be ordered after read of descr: */
-	    AO_store_release_write((volatile AO_t *) &(p -> mse_descr), 0);
-	    /* More than one thread may get this entry, but that's only */
-	    /* a minor performance problem.				*/
-	    ++top;
-	    top -> mse_descr = descr;
-	    top -> mse_start = p -> mse_start;
-	    GC_ASSERT((top -> mse_descr & GC_DS_TAGS) != GC_DS_LENGTH || 
-		      top -> mse_descr < (ptr_t)GC_greatest_plausible_heap_addr
-			                 - (ptr_t)GC_least_plausible_heap_addr);
-	    /* If this is a big object, count it as			*/
-	    /* size/256 + 1 objects.					*/
-	    ++i;
-	    if ((descr & GC_DS_TAGS) == GC_DS_LENGTH) i += (descr >> 8);
-	}
-    }
-    *next = p;
-    return top;
-}
-
-/* Copy back a local mark stack.	*/
-/* low and high are inclusive bounds.	*/
-void GC_return_mark_stack(mse * low, mse * high)
-{
-    mse * my_top;
-    mse * my_start;
-    size_t stack_size;
-
-    if (high < low) return;
-    stack_size = high - low + 1;
-    GC_acquire_mark_lock();
-    my_top = GC_mark_stack_top;	/* Concurrent modification impossible. */
-    my_start = my_top + 1;
-    if (my_start - GC_mark_stack + stack_size > GC_mark_stack_size) {
-      if (GC_print_stats) {
-	  GC_log_printf("No room to copy back mark stack.");
-      }
-      GC_mark_state = MS_INVALID;
-      GC_mark_stack_too_small = TRUE;
-      /* We drop the local mark stack.  We'll fix things later.	*/
-    } else {
-      BCOPY(low, my_start, stack_size * sizeof(mse));
-      GC_ASSERT((mse *)AO_load((volatile AO_t *)(&GC_mark_stack_top))
-		== my_top);
-      AO_store_release_write((volatile AO_t *)(&GC_mark_stack_top),
-		             (AO_t)(my_top + stack_size));
-      		/* Ensures visibility of previously written stack contents. */
-    }
-    GC_release_mark_lock();
-    GC_notify_all_marker();
-}
-
-/* Mark from the local mark stack.		*/
-/* On return, the local mark stack is empty.	*/
-/* But this may be achieved by copying the	*/
-/* local mark stack back into the global one.	*/
-void GC_do_local_mark(mse *local_mark_stack, mse *local_top)
-{
-    unsigned n;
-#   define N_LOCAL_ITERS 1
-
-#   ifdef GC_ASSERTIONS
-      /* Make sure we don't hold mark lock. */
-	GC_acquire_mark_lock();
-	GC_release_mark_lock();
-#   endif
-    for (;;) {
-        for (n = 0; n < N_LOCAL_ITERS; ++n) {
-	    local_top = GC_mark_from(local_top, local_mark_stack,
-				     local_mark_stack + LOCAL_MARK_STACK_SIZE);
-	    if (local_top < local_mark_stack) return;
-	    if (local_top - local_mark_stack >= LOCAL_MARK_STACK_SIZE/2) {
-	 	GC_return_mark_stack(local_mark_stack, local_top);
-		return;
-	    }
-	}
-	if ((mse *)AO_load((volatile AO_t *)(&GC_mark_stack_top))
-	    < (mse *)AO_load(&GC_first_nonempty)
-	    && GC_active_count < GC_helper_count
-	    && local_top > local_mark_stack + 1) {
-	    /* Try to share the load, since the main stack is empty,	*/
-	    /* and helper threads are waiting for a refill.		*/
-	    /* The entries near the bottom of the stack are likely	*/
-	    /* to require more work.  Thus we return those, eventhough	*/
-	    /* it's harder.						*/
- 	    mse * new_bottom = local_mark_stack
-				+ (local_top - local_mark_stack)/2;
-	    GC_ASSERT(new_bottom > local_mark_stack
-		      && new_bottom < local_top);
-	    GC_return_mark_stack(local_mark_stack, new_bottom - 1);
-	    memmove(local_mark_stack, new_bottom,
-		    (local_top - new_bottom + 1) * sizeof(mse));
-	    local_top -= (new_bottom - local_mark_stack);
-	}
-    }
-}
-
-#define ENTRIES_TO_GET 5
-
-long GC_markers = 2;		/* Normally changed by thread-library-	*/
-				/* -specific code.			*/
-
-/* Mark using the local mark stack until the global mark stack is empty	*/
-/* and there are no active workers. Update GC_first_nonempty to reflect	*/
-/* progress.								*/
-/* Caller does not hold mark lock.					*/
-/* Caller has already incremented GC_helper_count.  We decrement it,	*/
-/* and maintain GC_active_count.					*/
-void GC_mark_local(mse *local_mark_stack, int id)
-{
-    mse * my_first_nonempty;
-
-    GC_acquire_mark_lock();
-    GC_active_count++;
-    my_first_nonempty = (mse *)AO_load(&GC_first_nonempty);
-    GC_ASSERT((mse *)AO_load(&GC_first_nonempty) >= GC_mark_stack && 
-	      (mse *)AO_load(&GC_first_nonempty) <=
-	      (mse *)AO_load((volatile AO_t *)(&GC_mark_stack_top)) + 1);
-    if (GC_print_stats == VERBOSE)
-	GC_log_printf("Starting mark helper %lu\n", (unsigned long)id);
-    GC_release_mark_lock();
-    for (;;) {
-  	size_t n_on_stack;
-        size_t n_to_get;
-	mse * my_top;
-	mse * local_top;
-        mse * global_first_nonempty = (mse *)AO_load(&GC_first_nonempty);
-
-    	GC_ASSERT(my_first_nonempty >= GC_mark_stack && 
-		  my_first_nonempty <=
-		  (mse *)AO_load((volatile AO_t *)(&GC_mark_stack_top))  + 1);
-    	GC_ASSERT(global_first_nonempty >= GC_mark_stack && 
-		  global_first_nonempty <= 
-		  (mse *)AO_load((volatile AO_t *)(&GC_mark_stack_top))  + 1);
-	if (my_first_nonempty < global_first_nonempty) {
-	    my_first_nonempty = global_first_nonempty;
-        } else if (global_first_nonempty < my_first_nonempty) {
-	    AO_compare_and_swap(&GC_first_nonempty, 
-				(AO_t) global_first_nonempty,
-				(AO_t) my_first_nonempty);
-	    /* If this fails, we just go ahead, without updating	*/
-	    /* GC_first_nonempty.					*/
-	}
-	/* Perhaps we should also update GC_first_nonempty, if it */
-	/* is less.  But that would require using atomic updates. */
-	my_top = (mse *)AO_load_acquire((volatile AO_t *)(&GC_mark_stack_top));
-	n_on_stack = my_top - my_first_nonempty + 1;
-        if (0 == n_on_stack) {
-	    GC_acquire_mark_lock();
-            my_top = GC_mark_stack_top;
-	    	/* Asynchronous modification impossible here, 	*/
-	        /* since we hold mark lock. 			*/
-            n_on_stack = my_top - my_first_nonempty + 1;
-	    if (0 == n_on_stack) {
-		GC_active_count--;
-		GC_ASSERT(GC_active_count <= GC_helper_count);
-		/* Other markers may redeposit objects	*/
-		/* on the stack.				*/
-		if (0 == GC_active_count) GC_notify_all_marker();
-		while (GC_active_count > 0
-		       && (mse *)AO_load(&GC_first_nonempty)
-		          > GC_mark_stack_top) {
-		    /* We will be notified if either GC_active_count	*/
-		    /* reaches zero, or if more objects are pushed on	*/
-		    /* the global mark stack.				*/
-		    GC_wait_marker();
-		}
-		if (GC_active_count == 0 &&
-		    (mse *)AO_load(&GC_first_nonempty) > GC_mark_stack_top) { 
-		    GC_bool need_to_notify = FALSE;
-		    /* The above conditions can't be falsified while we	*/
-		    /* hold the mark lock, since neither 		*/
-		    /* GC_active_count nor GC_mark_stack_top can	*/
-		    /* change.  GC_first_nonempty can only be		*/
-		    /* incremented asynchronously.  Thus we know that	*/
-		    /* both conditions actually held simultaneously.	*/
-		    GC_helper_count--;
-		    if (0 == GC_helper_count) need_to_notify = TRUE;
-		    if (GC_print_stats == VERBOSE)
-		      GC_log_printf(
-		        "Finished mark helper %lu\n", (unsigned long)id);
-		    GC_release_mark_lock();
-		    if (need_to_notify) GC_notify_all_marker();
-		    return;
-		}
-		/* else there's something on the stack again, or	*/
-		/* another helper may push something.			*/
-		GC_active_count++;
-	        GC_ASSERT(GC_active_count > 0);
-		GC_release_mark_lock();
-		continue;
-	    } else {
-		GC_release_mark_lock();
-	    }
-	}
-	n_to_get = ENTRIES_TO_GET;
-	if (n_on_stack < 2 * ENTRIES_TO_GET) n_to_get = 1;
-	local_top = GC_steal_mark_stack(my_first_nonempty, my_top,
-					local_mark_stack, n_to_get,
-				        &my_first_nonempty);
-        GC_ASSERT(my_first_nonempty >= GC_mark_stack && 
-	          my_first_nonempty <=
-		    (mse *)AO_load((volatile AO_t *)(&GC_mark_stack_top)) + 1);
-	GC_do_local_mark(local_mark_stack, local_top);
-    }
-}
-
-/* Perform Parallel mark.			*/
-/* We hold the GC lock, not the mark lock.	*/
-/* Currently runs until the mark stack is	*/
-/* empty.					*/
-void GC_do_parallel_mark()
-{
-    mse local_mark_stack[LOCAL_MARK_STACK_SIZE];
-
-    GC_acquire_mark_lock();
-    GC_ASSERT(I_HOLD_LOCK());
-    /* This could be a GC_ASSERT, but it seems safer to keep it on	*/
-    /* all the time, especially since it's cheap.			*/
-    if (GC_help_wanted || GC_active_count != 0 || GC_helper_count != 0)
-	ABORT("Tried to start parallel mark in bad state");
-    if (GC_print_stats == VERBOSE)
-	GC_log_printf("Starting marking for mark phase number %lu\n",
-		   (unsigned long)GC_mark_no);
-    GC_first_nonempty = (AO_t)GC_mark_stack;
-    GC_active_count = 0;
-    GC_helper_count = 1;
-    GC_help_wanted = TRUE;
-    GC_release_mark_lock();
-    GC_notify_all_marker();
-	/* Wake up potential helpers.	*/
-    GC_mark_local(local_mark_stack, 0);
-    GC_acquire_mark_lock();
-    GC_help_wanted = FALSE;
-    /* Done; clean up.	*/
-    while (GC_helper_count > 0) GC_wait_marker();
-    /* GC_helper_count cannot be incremented while GC_help_wanted == FALSE */
-    if (GC_print_stats == VERBOSE)
-	GC_log_printf(
-	    "Finished marking for mark phase number %lu\n",
-	    (unsigned long)GC_mark_no);
-    GC_mark_no++;
-    GC_release_mark_lock();
-    GC_notify_all_marker();
-}
-
-
-/* Try to help out the marker, if it's running.	        */
-/* We do not hold the GC lock, but the requestor does.	*/
-void GC_help_marker(word my_mark_no)
-{
-    mse local_mark_stack[LOCAL_MARK_STACK_SIZE];
-    unsigned my_id;
-
-    if (!GC_parallel) return;
-    GC_acquire_mark_lock();
-    while (GC_mark_no < my_mark_no
-           || (!GC_help_wanted && GC_mark_no == my_mark_no)) {
-      GC_wait_marker();
-    }
-    my_id = GC_helper_count;
-    if (GC_mark_no != my_mark_no || my_id >= GC_markers) {
-      /* Second test is useful only if original threads can also	*/
-      /* act as helpers.  Under Linux they can't.			*/
-      GC_release_mark_lock();
-      return;
-    }
-    GC_helper_count = my_id + 1;
-    GC_release_mark_lock();
-    GC_mark_local(local_mark_stack, my_id);
-    /* GC_mark_local decrements GC_helper_count. */
-}
-
-#endif /* PARALLEL_MARK */
-
-/* Allocate or reallocate space for mark stack of size n entries.  */
-/* May silently fail.						   */
-static void alloc_mark_stack(size_t n)
-{
-    mse * new_stack = (mse *)GC_scratch_alloc(n * sizeof(struct GC_ms_entry));
-#   ifdef GWW_VDB
-      /* Don't recycle a stack segment obtained with the wrong flags. 	*/
-      /* Win32 GetWriteWatch requires the right kind of memory.		*/
-      static GC_bool GC_incremental_at_stack_alloc = 0;
-      GC_bool recycle_old = (!GC_incremental || GC_incremental_at_stack_alloc);
-
-      GC_incremental_at_stack_alloc = GC_incremental;
-#   else
-#     define recycle_old 1
-#   endif
-    
-    GC_mark_stack_too_small = FALSE;
-    if (GC_mark_stack_size != 0) {
-        if (new_stack != 0) {
-	  if (recycle_old) {
-            /* Recycle old space */
-              size_t page_offset = (word)GC_mark_stack & (GC_page_size - 1);
-              size_t size = GC_mark_stack_size * sizeof(struct GC_ms_entry);
-	      size_t displ = 0;
-          
-	      if (0 != page_offset) displ = GC_page_size - page_offset;
-	      size = (size - displ) & ~(GC_page_size - 1);
-	      if (size > 0) {
-	        GC_add_to_heap((struct hblk *)
-	      			((word)GC_mark_stack + displ), (word)size);
-	      }
-	  }
-          GC_mark_stack = new_stack;
-          GC_mark_stack_size = n;
-	  GC_mark_stack_limit = new_stack + n;
-	  if (GC_print_stats) {
-	      GC_log_printf("Grew mark stack to %lu frames\n",
-		    	    (unsigned long) GC_mark_stack_size);
-	  }
-        } else {
-	  if (GC_print_stats) {
-	      GC_log_printf("Failed to grow mark stack to %lu frames\n",
-		    	    (unsigned long) n);
-	  }
-        }
-    } else {
-        if (new_stack == 0) {
-            GC_err_printf("No space for mark stack\n");
-            EXIT();
-        }
-        GC_mark_stack = new_stack;
-        GC_mark_stack_size = n;
-	GC_mark_stack_limit = new_stack + n;
-    }
-    GC_mark_stack_top = GC_mark_stack-1;
-}
-
-void GC_mark_init()
-{
-    alloc_mark_stack(INITIAL_MARK_STACK_SIZE);
-}
-
-/*
- * Push all locations between b and t onto the mark stack.
- * b is the first location to be checked. t is one past the last
- * location to be checked.
- * Should only be used if there is no possibility of mark stack
- * overflow.
- */
-void GC_push_all(ptr_t bottom, ptr_t top)
-{
-    register word length;
-    
-    bottom = (ptr_t)(((word) bottom + ALIGNMENT-1) & ~(ALIGNMENT-1));
-    top = (ptr_t)(((word) top) & ~(ALIGNMENT-1));
-    if (top == 0 || bottom == top) return;
-    GC_mark_stack_top++;
-    if (GC_mark_stack_top >= GC_mark_stack_limit) {
-	ABORT("unexpected mark stack overflow");
-    }
-    length = top - bottom;
-#   if GC_DS_TAGS > ALIGNMENT - 1
-	length += GC_DS_TAGS;
-	length &= ~GC_DS_TAGS;
-#   endif
-    GC_mark_stack_top -> mse_start = bottom;
-    GC_mark_stack_top -> mse_descr = length;
-}
-
-/*
- * Analogous to the above, but push only those pages h with dirty_fn(h) != 0.
- * We use push_fn to actually push the block.
- * Used both to selectively push dirty pages, or to push a block
- * in piecemeal fashion, to allow for more marking concurrency.
- * Will not overflow mark stack if push_fn pushes a small fixed number
- * of entries.  (This is invoked only if push_fn pushes a single entry,
- * or if it marks each object before pushing it, thus ensuring progress
- * in the event of a stack overflow.)
- */
-void GC_push_selected(ptr_t bottom, ptr_t top,
-		      int (*dirty_fn) (struct hblk *),
-		      void (*push_fn) (ptr_t, ptr_t))
-{
-    struct hblk * h;
-
-    bottom = (ptr_t)(((word) bottom + ALIGNMENT-1) & ~(ALIGNMENT-1));
-    top = (ptr_t)(((word) top) & ~(ALIGNMENT-1));
-
-    if (top == 0 || bottom == top) return;
-    h = HBLKPTR(bottom + HBLKSIZE);
-    if (top <= (ptr_t) h) {
-  	if ((*dirty_fn)(h-1)) {
-	    (*push_fn)(bottom, top);
-	}
-	return;
-    }
-    if ((*dirty_fn)(h-1)) {
-        (*push_fn)(bottom, (ptr_t)h);
-    }
-    while ((ptr_t)(h+1) <= top) {
-	if ((*dirty_fn)(h)) {
-	    if ((word)(GC_mark_stack_top - GC_mark_stack)
-		> 3 * GC_mark_stack_size / 4) {
-	 	/* Danger of mark stack overflow */
-		(*push_fn)((ptr_t)h, top);
-		return;
-	    } else {
-		(*push_fn)((ptr_t)h, (ptr_t)(h+1));
-	    }
-	}
-	h++;
-    }
-    if ((ptr_t)h != top) {
-	if ((*dirty_fn)(h)) {
-            (*push_fn)((ptr_t)h, top);
-        }
-    }
-    if (GC_mark_stack_top >= GC_mark_stack_limit) {
-        ABORT("unexpected mark stack overflow");
-    }
-}
-
-# ifndef SMALL_CONFIG
-
-#ifdef PARALLEL_MARK
-    /* Break up root sections into page size chunks to better spread 	*/
-    /* out work.							*/
-    GC_bool GC_true_func(struct hblk *h) { return TRUE; }
-#   define GC_PUSH_ALL(b,t) GC_push_selected(b,t,GC_true_func,GC_push_all);
-#else
-#   define GC_PUSH_ALL(b,t) GC_push_all(b,t);
-#endif
-
-
-void GC_push_conditional(ptr_t bottom, ptr_t top, GC_bool all)
-{
-    if (all) {
-      if (GC_dirty_maintained) {
-#	ifdef PROC_VDB
-	    /* Pages that were never dirtied cannot contain pointers	*/
-	    GC_push_selected(bottom, top, GC_page_was_ever_dirty, GC_push_all);
-#	else
-	    GC_push_all(bottom, top);
-#	endif
-      } else {
-      	GC_push_all(bottom, top);
-      }
-    } else {
-	GC_push_selected(bottom, top, GC_page_was_dirty, GC_push_all);
-    }
-}
-#endif
-
-# if defined(MSWIN32) || defined(MSWINCE)
-  void __cdecl GC_push_one(word p)
-# else
-  void GC_push_one(word p)
-# endif
-{
-    GC_PUSH_ONE_STACK((ptr_t)p, MARKED_FROM_REGISTER);
-}
-
-struct GC_ms_entry *GC_mark_and_push(void *obj,
-				     mse *mark_stack_ptr,
-				     mse *mark_stack_limit,
-				     void **src)
-{
-    hdr * hhdr;
-
-    PREFETCH(obj);
-    GET_HDR(obj, hhdr);
-    if (EXPECT(IS_FORWARDING_ADDR_OR_NIL(hhdr),FALSE)) {
-      if (GC_all_interior_pointers) {
-	hhdr = GC_find_header(GC_base(obj));
-	if (hhdr == 0) {
-          GC_ADD_TO_BLACK_LIST_NORMAL(obj, src);
-	  return mark_stack_ptr;
-	}
-      } else {
-        GC_ADD_TO_BLACK_LIST_NORMAL(obj, src);
-	return mark_stack_ptr;
-      }
-    }
-    if (EXPECT(HBLK_IS_FREE(hhdr),0)) {
-	GC_ADD_TO_BLACK_LIST_NORMAL(obj, src);
-	return mark_stack_ptr;
-    }
-
-    PUSH_CONTENTS_HDR(obj, mark_stack_ptr /* modified */, mark_stack_limit,
-		      src, was_marked, hhdr, TRUE);
- was_marked:
-    return mark_stack_ptr;
-}
-
-/* Mark and push (i.e. gray) a single object p onto the main	*/
-/* mark stack.  Consider p to be valid if it is an interior	*/
-/* pointer.							*/
-/* The object p has passed a preliminary pointer validity	*/
-/* test, but we do not definitely know whether it is valid.	*/
-/* Mark bits are NOT atomically updated.  Thus this must be the	*/
-/* only thread setting them.					*/
-# if defined(PRINT_BLACK_LIST) || defined(KEEP_BACK_PTRS)
-    void GC_mark_and_push_stack(ptr_t p, ptr_t source)
-# else
-    void GC_mark_and_push_stack(ptr_t p)
-#   define source 0
-# endif
-{
-    hdr * hhdr; 
-    ptr_t r = p;
-  
-    PREFETCH(p);
-    GET_HDR(p, hhdr);
-    if (EXPECT(IS_FORWARDING_ADDR_OR_NIL(hhdr),FALSE)) {
-        if (hhdr != 0) {
-          r = GC_base(p);
-	  hhdr = HDR(r);
-	}
-        if (hhdr == 0) {
-            GC_ADD_TO_BLACK_LIST_STACK(p, source);
-	    return;
-	}
-    }
-    if (EXPECT(HBLK_IS_FREE(hhdr),0)) {
-	GC_ADD_TO_BLACK_LIST_NORMAL(p, src);
-	return;
-    }
-#   if defined(MANUAL_VDB) && defined(THREADS)
-      /* Pointer is on the stack.  We may have dirtied the object	*/
-      /* it points to, but not yet have called GC_dirty();	*/
-      GC_dirty(p);	/* Implicitly affects entire object.	*/
-#   endif
-    PUSH_CONTENTS_HDR(r, GC_mark_stack_top, GC_mark_stack_limit,
-		      source, mark_and_push_exit, hhdr, FALSE);
-  mark_and_push_exit: ;
-    /* We silently ignore pointers to near the end of a block,	*/
-    /* which is very mildly suboptimal.				*/
-    /* FIXME: We should probably add a header word to address	*/
-    /* this.							*/
-}
-
-# ifdef TRACE_BUF
-
-# define TRACE_ENTRIES 1000
-
-struct trace_entry {
-    char * kind;
-    word gc_no;
-    word bytes_allocd;
-    word arg1;
-    word arg2;
-} GC_trace_buf[TRACE_ENTRIES];
-
-int GC_trace_buf_ptr = 0;
-
-void GC_add_trace_entry(char *kind, word arg1, word arg2)
-{
-    GC_trace_buf[GC_trace_buf_ptr].kind = kind;
-    GC_trace_buf[GC_trace_buf_ptr].gc_no = GC_gc_no;
-    GC_trace_buf[GC_trace_buf_ptr].bytes_allocd = GC_bytes_allocd;
-    GC_trace_buf[GC_trace_buf_ptr].arg1 = arg1 ^ 0x80000000;
-    GC_trace_buf[GC_trace_buf_ptr].arg2 = arg2 ^ 0x80000000;
-    GC_trace_buf_ptr++;
-    if (GC_trace_buf_ptr >= TRACE_ENTRIES) GC_trace_buf_ptr = 0;
-}
-
-void GC_print_trace(word gc_no, GC_bool lock)
-{
-    int i;
-    struct trace_entry *p;
-    
-    if (lock) LOCK();
-    for (i = GC_trace_buf_ptr-1; i != GC_trace_buf_ptr; i--) {
-    	if (i < 0) i = TRACE_ENTRIES-1;
-    	p = GC_trace_buf + i;
-    	if (p -> gc_no < gc_no || p -> kind == 0) return;
-    	printf("Trace:%s (gc:%d,bytes:%d) 0x%X, 0x%X\n",
-    		p -> kind, p -> gc_no, p -> bytes_allocd,
-    		(p -> arg1) ^ 0x80000000, (p -> arg2) ^ 0x80000000);
-    }
-    printf("Trace incomplete\n");
-    if (lock) UNLOCK();
-}
-
-# endif /* TRACE_BUF */
-
-/*
- * A version of GC_push_all that treats all interior pointers as valid
- * and scans the entire region immediately, in case the contents
- * change.
- */
-void GC_push_all_eager(ptr_t bottom, ptr_t top)
-{
-    word * b = (word *)(((word) bottom + ALIGNMENT-1) & ~(ALIGNMENT-1));
-    word * t = (word *)(((word) top) & ~(ALIGNMENT-1));
-    register word *p;
-    register ptr_t q;
-    register word *lim;
-    register ptr_t greatest_ha = GC_greatest_plausible_heap_addr;
-    register ptr_t least_ha = GC_least_plausible_heap_addr;
-#   define GC_greatest_plausible_heap_addr greatest_ha
-#   define GC_least_plausible_heap_addr least_ha
-
-    if (top == 0) return;
-    /* check all pointers in range and push if they appear	*/
-    /* to be valid.						*/
-      lim = t - 1 /* longword */;
-      for (p = b; p <= lim; p = (word *)(((ptr_t)p) + ALIGNMENT)) {
-	q = (ptr_t)(*p);
-	GC_PUSH_ONE_STACK((ptr_t)q, p);
-      }
-#   undef GC_greatest_plausible_heap_addr
-#   undef GC_least_plausible_heap_addr
-}
-
-#ifndef THREADS
-/*
- * A version of GC_push_all that treats all interior pointers as valid
- * and scans part of the area immediately, to make sure that saved
- * register values are not lost.
- * Cold_gc_frame delimits the stack section that must be scanned
- * eagerly.  A zero value indicates that no eager scanning is needed.
- * We don't need to worry about the MANUAL_VDB case here, since this
- * is only called in the single-threaded case.  We assume that we
- * cannot collect between an assignment and the corresponding
- * GC_dirty() call.
- */
-void GC_push_all_stack_partially_eager(ptr_t bottom, ptr_t top,
-				       ptr_t cold_gc_frame)
-{
-  if (!NEED_FIXUP_POINTER && GC_all_interior_pointers) {
-    /* Push the hot end of the stack eagerly, so that register values   */
-    /* saved inside GC frames are marked before they disappear.		*/
-    /* The rest of the marking can be deferred until later.		*/
-    if (0 == cold_gc_frame) {
-	GC_push_all_stack(bottom, top);
-	return;
-    }
-    GC_ASSERT(bottom <= cold_gc_frame && cold_gc_frame <= top);
-#   ifdef STACK_GROWS_DOWN
-	GC_push_all(cold_gc_frame - sizeof(ptr_t), top);
-	GC_push_all_eager(bottom, cold_gc_frame);
-#   else /* STACK_GROWS_UP */
-	GC_push_all(bottom, cold_gc_frame + sizeof(ptr_t));
-	GC_push_all_eager(cold_gc_frame, top);
-#   endif /* STACK_GROWS_UP */
-  } else {
-    GC_push_all_eager(bottom, top);
-  }
-# ifdef TRACE_BUF
-      GC_add_trace_entry("GC_push_all_stack", bottom, top);
-# endif
-}
-#endif /* !THREADS */
-
-void GC_push_all_stack(ptr_t bottom, ptr_t top)
-{
-# if defined(THREADS) && defined(MPROTECT_VDB)
-    GC_push_all_eager(bottom, top);
-# else
-    if (!NEED_FIXUP_POINTER && GC_all_interior_pointers) {
-      GC_push_all(bottom, top);
-    } else {
-      GC_push_all_eager(bottom, top);
-    }
-# endif
-}
-
-#if !defined(SMALL_CONFIG) && !defined(USE_MARK_BYTES) && \
-    defined(MARK_BIT_PER_GRANULE)
-# if GC_GRANULE_WORDS == 1
-#   define USE_PUSH_MARKED_ACCELERATORS
-#   define PUSH_GRANULE(q) \
-		{ ptr_t qcontents = (ptr_t)((q)[0]); \
-	          GC_PUSH_ONE_HEAP(qcontents, (q)); }
-# elif GC_GRANULE_WORDS == 2
-#   define USE_PUSH_MARKED_ACCELERATORS
-#   define PUSH_GRANULE(q) \
-		{ ptr_t qcontents = (ptr_t)((q)[0]); \
-	          GC_PUSH_ONE_HEAP(qcontents, (q)); \
-		  qcontents = (ptr_t)((q)[1]); \
-	          GC_PUSH_ONE_HEAP(qcontents, (q)+1); }
-# elif GC_GRANULE_WORDS == 4
-#   define USE_PUSH_MARKED_ACCELERATORS
-#   define PUSH_GRANULE(q) \
-		{ ptr_t qcontents = (ptr_t)((q)[0]); \
-	          GC_PUSH_ONE_HEAP(qcontents, (q)); \
-		  qcontents = (ptr_t)((q)[1]); \
-	          GC_PUSH_ONE_HEAP(qcontents, (q)+1); \
-		  qcontents = (ptr_t)((q)[2]); \
-	          GC_PUSH_ONE_HEAP(qcontents, (q)+2); \
-		  qcontents = (ptr_t)((q)[3]); \
-	          GC_PUSH_ONE_HEAP(qcontents, (q)+3); }
-# endif
-#endif
-
-#ifdef USE_PUSH_MARKED_ACCELERATORS
-/* Push all objects reachable from marked objects in the given block */
-/* containing objects of size 1 granule.			     */
-void GC_push_marked1(struct hblk *h, hdr *hhdr)
-{
-    word * mark_word_addr = &(hhdr->hb_marks[0]);
-    word *p;
-    word *plim;
-    word *q;
-    word mark_word;
-
-    /* Allow registers to be used for some frequently acccessed	*/
-    /* global variables.  Otherwise aliasing issues are likely	*/
-    /* to prevent that.						*/
-    ptr_t greatest_ha = GC_greatest_plausible_heap_addr;
-    ptr_t least_ha = GC_least_plausible_heap_addr;
-    mse * mark_stack_top = GC_mark_stack_top;
-    mse * mark_stack_limit = GC_mark_stack_limit;
-#   define GC_mark_stack_top mark_stack_top
-#   define GC_mark_stack_limit mark_stack_limit
-#   define GC_greatest_plausible_heap_addr greatest_ha
-#   define GC_least_plausible_heap_addr least_ha
-    
-    p = (word *)(h->hb_body);
-    plim = (word *)(((word)h) + HBLKSIZE);
-
-    /* go through all words in block */
-	while( p < plim )  {
-	    mark_word = *mark_word_addr++;
-	    q = p;
-	    while(mark_word != 0) {
-	      if (mark_word & 1) {
-		  PUSH_GRANULE(q);
-	      }
-	      q += GC_GRANULE_WORDS;
-	      mark_word >>= 1;
-	    }
-	    p += WORDSZ*GC_GRANULE_WORDS;
-	}
-
-#   undef GC_greatest_plausible_heap_addr
-#   undef GC_least_plausible_heap_addr        
-#   undef GC_mark_stack_top
-#   undef GC_mark_stack_limit
-
-    GC_mark_stack_top = mark_stack_top;
-}
-
-
-#ifndef UNALIGNED
-
-/* Push all objects reachable from marked objects in the given block */
-/* of size 2 (granules) objects.				     */
-void GC_push_marked2(struct hblk *h, hdr *hhdr)
-{
-    word * mark_word_addr = &(hhdr->hb_marks[0]);
-    word *p;
-    word *plim;
-    word *q;
-    word mark_word;
-
-    ptr_t greatest_ha = GC_greatest_plausible_heap_addr;
-    ptr_t least_ha = GC_least_plausible_heap_addr;
-    mse * mark_stack_top = GC_mark_stack_top;
-    mse * mark_stack_limit = GC_mark_stack_limit;
-
-#   define GC_mark_stack_top mark_stack_top
-#   define GC_mark_stack_limit mark_stack_limit
-#   define GC_greatest_plausible_heap_addr greatest_ha
-#   define GC_least_plausible_heap_addr least_ha
-    
-    p = (word *)(h->hb_body);
-    plim = (word *)(((word)h) + HBLKSIZE);
-
-    /* go through all words in block */
-	while( p < plim )  {
-	    mark_word = *mark_word_addr++;
-	    q = p;
-	    while(mark_word != 0) {
-	      if (mark_word & 1) {
-		  PUSH_GRANULE(q);
-		  PUSH_GRANULE(q + GC_GRANULE_WORDS);
-	      }
-	      q += 2 * GC_GRANULE_WORDS;
-	      mark_word >>= 2;
-	    }
-	    p += WORDSZ*GC_GRANULE_WORDS;
-	}
-
-#   undef GC_greatest_plausible_heap_addr
-#   undef GC_least_plausible_heap_addr        
-#   undef GC_mark_stack_top
-#   undef GC_mark_stack_limit
-
-    GC_mark_stack_top = mark_stack_top;
-}
-
-# if GC_GRANULE_WORDS < 4
-/* Push all objects reachable from marked objects in the given block */
-/* of size 4 (granules) objects.				     */
-/* There is a risk of mark stack overflow here.  But we handle that. */
-/* And only unmarked objects get pushed, so it's not very likely.    */
-void GC_push_marked4(struct hblk *h, hdr *hhdr)
-{
-    word * mark_word_addr = &(hhdr->hb_marks[0]);
-    word *p;
-    word *plim;
-    word *q;
-    word mark_word;
-
-    ptr_t greatest_ha = GC_greatest_plausible_heap_addr;
-    ptr_t least_ha = GC_least_plausible_heap_addr;
-    mse * mark_stack_top = GC_mark_stack_top;
-    mse * mark_stack_limit = GC_mark_stack_limit;
-#   define GC_mark_stack_top mark_stack_top
-#   define GC_mark_stack_limit mark_stack_limit
-#   define GC_greatest_plausible_heap_addr greatest_ha
-#   define GC_least_plausible_heap_addr least_ha
-    
-    p = (word *)(h->hb_body);
-    plim = (word *)(((word)h) + HBLKSIZE);
-
-    /* go through all words in block */
-	while( p < plim )  {
-	    mark_word = *mark_word_addr++;
-	    q = p;
-	    while(mark_word != 0) {
-	      if (mark_word & 1) {
-		  PUSH_GRANULE(q);
-		  PUSH_GRANULE(q + GC_GRANULE_WORDS);
-		  PUSH_GRANULE(q + 2*GC_GRANULE_WORDS);
-		  PUSH_GRANULE(q + 3*GC_GRANULE_WORDS);
-	      }
-	      q += 4 * GC_GRANULE_WORDS;
-	      mark_word >>= 4;
-	    }
-	    p += WORDSZ*GC_GRANULE_WORDS;
-	}
-#   undef GC_greatest_plausible_heap_addr
-#   undef GC_least_plausible_heap_addr        
-#   undef GC_mark_stack_top
-#   undef GC_mark_stack_limit
-    GC_mark_stack_top = mark_stack_top;
-}
-
-#endif /* GC_GRANULE_WORDS < 4 */
-
-#endif /* UNALIGNED */
-
-#endif /* USE_PUSH_MARKED_ACCELERATORS */
-
-/* Push all objects reachable from marked objects in the given block */
-void GC_push_marked(struct hblk *h, hdr *hhdr)
-{
-    size_t sz = hhdr -> hb_sz;
-    word descr = hhdr -> hb_descr;
-    ptr_t p;
-    word bit_no;
-    ptr_t lim;
-    mse * GC_mark_stack_top_reg;
-    mse * mark_stack_limit = GC_mark_stack_limit;
-    
-    /* Some quick shortcuts: */
-	if ((0 | GC_DS_LENGTH) == descr) return;
-        if (GC_block_empty(hhdr)/* nothing marked */) return;
-    GC_n_rescuing_pages++;
-    GC_objects_are_marked = TRUE;
-    if (sz > MAXOBJBYTES) {
-        lim = h -> hb_body;
-    } else {
-        lim = (h + 1)->hb_body - sz;
-    }
-    
-    switch(BYTES_TO_GRANULES(sz)) {
-#   if defined(USE_PUSH_MARKED_ACCELERATORS)
-     case 1:
-       GC_push_marked1(h, hhdr);
-       break;
-#    if !defined(UNALIGNED)
-       case 2:
-         GC_push_marked2(h, hhdr);
-         break;
-#     if GC_GRANULE_WORDS < 4
-       case 4:
-         GC_push_marked4(h, hhdr);
-         break;
-#     endif
-#    endif
-#   endif       
-     default:
-      GC_mark_stack_top_reg = GC_mark_stack_top;
-      for (p = h -> hb_body, bit_no = 0; p <= lim;
-	   p += sz, bit_no += MARK_BIT_OFFSET(sz)) {
-         if (mark_bit_from_hdr(hhdr, bit_no)) {
-           /* Mark from fields inside the object */
-             PUSH_OBJ(p, hhdr, GC_mark_stack_top_reg, mark_stack_limit);
-         }
-      }
-      GC_mark_stack_top = GC_mark_stack_top_reg;
-    }
-}
-
-#ifndef SMALL_CONFIG
-/* Test whether any page in the given block is dirty	*/
-GC_bool GC_block_was_dirty(struct hblk *h, hdr *hhdr)
-{
-    size_t sz = hhdr -> hb_sz;
-    
-    if (sz <= MAXOBJBYTES) {
-         return(GC_page_was_dirty(h));
-    } else {
-    	 ptr_t p = (ptr_t)h;
-         while (p < (ptr_t)h + sz) {
-             if (GC_page_was_dirty((struct hblk *)p)) return(TRUE);
-             p += HBLKSIZE;
-         }
-         return(FALSE);
-    }
-}
-#endif /* SMALL_CONFIG */
-
-/* Similar to GC_push_next_marked, but return address of next block	*/
-struct hblk * GC_push_next_marked(struct hblk *h)
-{
-    hdr * hhdr = HDR(h);
-    
-    if (EXPECT(IS_FORWARDING_ADDR_OR_NIL(hhdr), FALSE)) {
-      h = GC_next_used_block(h);
-      if (h == 0) return(0);
-      hhdr = GC_find_header((ptr_t)h);
-    }
-    GC_push_marked(h, hhdr);
-    return(h + OBJ_SZ_TO_BLOCKS(hhdr -> hb_sz));
-}
-
-#ifndef SMALL_CONFIG
-/* Identical to above, but mark only from dirty pages	*/
-struct hblk * GC_push_next_marked_dirty(struct hblk *h)
-{
-    hdr * hhdr = HDR(h);
-    
-    if (!GC_dirty_maintained) { ABORT("dirty bits not set up"); }
-    for (;;) {
-	if (EXPECT(IS_FORWARDING_ADDR_OR_NIL(hhdr), FALSE)) {
-          h = GC_next_used_block(h);
-          if (h == 0) return(0);
-          hhdr = GC_find_header((ptr_t)h);
-	}
-#	ifdef STUBBORN_ALLOC
-          if (hhdr -> hb_obj_kind == STUBBORN) {
-            if (GC_page_was_changed(h) && GC_block_was_dirty(h, hhdr)) {
-                break;
-            }
-          } else {
-            if (GC_block_was_dirty(h, hhdr)) break;
-          }
-#	else
-	  if (GC_block_was_dirty(h, hhdr)) break;
-#	endif
-        h += OBJ_SZ_TO_BLOCKS(hhdr -> hb_sz);
-	hhdr = HDR(h);
-    }
-    GC_push_marked(h, hhdr);
-    return(h + OBJ_SZ_TO_BLOCKS(hhdr -> hb_sz));
-}
-#endif
-
-/* Similar to above, but for uncollectable pages.  Needed since we	*/
-/* do not clear marks for such pages, even for full collections.	*/
-struct hblk * GC_push_next_marked_uncollectable(struct hblk *h)
-{
-    hdr * hhdr = HDR(h);
-    
-    for (;;) {
-	if (EXPECT(IS_FORWARDING_ADDR_OR_NIL(hhdr), FALSE)) {
-          h = GC_next_used_block(h);
-          if (h == 0) return(0);
-          hhdr = GC_find_header((ptr_t)h);
-	}
-	if (hhdr -> hb_obj_kind == UNCOLLECTABLE) break;
-        h += OBJ_SZ_TO_BLOCKS(hhdr -> hb_sz);
-	hhdr = HDR(h);
-    }
-    GC_push_marked(h, hhdr);
-    return(h + OBJ_SZ_TO_BLOCKS(hhdr -> hb_sz));
-}
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/mark_rts.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/mark_rts.c
deleted file mode 100755
index 6213377..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/mark_rts.c
+++ /dev/null
@@ -1,617 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-# include <stdio.h>
-# include "private/gc_priv.h"
-
-/* Data structure for list of root sets.				*/
-/* We keep a hash table, so that we can filter out duplicate additions.	*/
-/* Under Win32, we need to do a better job of filtering overlaps, so	*/
-/* we resort to sequential search, and pay the price.			*/
-/* This is really declared in gc_priv.h:
-struct roots {
-	ptr_t r_start;
-	ptr_t r_end;
- #	if !defined(MSWIN32) && !defined(MSWINCE)
-	  struct roots * r_next;
- #	endif
-	GC_bool r_tmp;
-	  	-- Delete before registering new dynamic libraries
-};
-
-struct roots GC_static_roots[MAX_ROOT_SETS];
-*/
-
-int GC_no_dls = 0;	/* Register dynamic library data segments.	*/
-
-static int n_root_sets = 0;
-
-	/* GC_static_roots[0..n_root_sets) contains the valid root sets. */
-
-# if !defined(NO_DEBUGGING)
-/* For debugging:	*/
-void GC_print_static_roots(void)
-{
-    register int i;
-    size_t total = 0;
-    
-    for (i = 0; i < n_root_sets; i++) {
-        GC_printf("From %p to %p ",
-        	  GC_static_roots[i].r_start,
-        	  GC_static_roots[i].r_end);
-        if (GC_static_roots[i].r_tmp) {
-            GC_printf(" (temporary)\n");
-        } else {
-            GC_printf("\n");
-        }
-        total += GC_static_roots[i].r_end - GC_static_roots[i].r_start;
-    }
-    GC_printf("Total size: %ld\n", (unsigned long) total);
-    if (GC_root_size != total) {
-     	GC_printf("GC_root_size incorrect: %ld!!\n",
-     		  (unsigned long) GC_root_size);
-    }
-}
-# endif /* NO_DEBUGGING */
-
-/* Primarily for debugging support:	*/
-/* Is the address p in one of the registered static			*/
-/* root sections?							*/
-GC_bool GC_is_static_root(ptr_t p)
-{
-    static int last_root_set = MAX_ROOT_SETS;
-    register int i;
-    
-    
-    if (last_root_set < n_root_sets
-	&& p >= GC_static_roots[last_root_set].r_start
-        && p < GC_static_roots[last_root_set].r_end) return(TRUE);
-    for (i = 0; i < n_root_sets; i++) {
-    	if (p >= GC_static_roots[i].r_start
-            && p < GC_static_roots[i].r_end) {
-            last_root_set = i;
-            return(TRUE);
-        }
-    }
-    return(FALSE);
-}
-
-#if !defined(MSWIN32) && !defined(MSWINCE)
-/* 
-#   define LOG_RT_SIZE 6
-#   define RT_SIZE (1 << LOG_RT_SIZE)  -- Power of 2, may be != MAX_ROOT_SETS
-
-    struct roots * GC_root_index[RT_SIZE];
-	-- Hash table header.  Used only to check whether a range is
-	-- already present.
-	-- really defined in gc_priv.h
-*/
-
-static INLINE int rt_hash(ptr_t addr)
-{
-    word result = (word) addr;
-#   if CPP_WORDSZ > 8*LOG_RT_SIZE
-	result ^= result >> 8*LOG_RT_SIZE;
-#   endif
-#   if CPP_WORDSZ > 4*LOG_RT_SIZE
-	result ^= result >> 4*LOG_RT_SIZE;
-#   endif
-    result ^= result >> 2*LOG_RT_SIZE;
-    result ^= result >> LOG_RT_SIZE;
-    result &= (RT_SIZE-1);
-    return(result);
-}
-
-/* Is a range starting at b already in the table? If so return a	*/
-/* pointer to it, else NIL.						*/
-struct roots * GC_roots_present(ptr_t b)
-{
-    int h = rt_hash(b);
-    struct roots *p = GC_root_index[h];
-    
-    while (p != 0) {
-        if (p -> r_start == (ptr_t)b) return(p);
-        p = p -> r_next;
-    }
-    return(FALSE);
-}
-
-/* Add the given root structure to the index. */
-static void add_roots_to_index(struct roots *p)
-{
-    int h = rt_hash(p -> r_start);
-    
-    p -> r_next = GC_root_index[h];
-    GC_root_index[h] = p;
-}
-
-# else /* MSWIN32 || MSWINCE */
-
-#   define add_roots_to_index(p)
-
-# endif
-
-
-
-
-word GC_root_size = 0;
-
-void GC_add_roots(void *b, void *e)
-{
-    DCL_LOCK_STATE;
-    
-    if (!GC_is_initialized) GC_init();
-    LOCK();
-    GC_add_roots_inner((ptr_t)b, (ptr_t)e, FALSE);
-    UNLOCK();
-}
-
-
-/* Add [b,e) to the root set.  Adding the same interval a second time	*/
-/* is a moderately fast noop, and hence benign.  We do not handle	*/
-/* different but overlapping intervals efficiently.  (We do handle	*/
-/* them correctly.)							*/
-/* Tmp specifies that the interval may be deleted before 		*/
-/* reregistering dynamic libraries.					*/ 
-void GC_add_roots_inner(ptr_t b, ptr_t e, GC_bool tmp)
-{
-    struct roots * old;
-    
-#   if defined(MSWIN32) || defined(MSWINCE)
-      /* Spend the time to ensure that there are no overlapping	*/
-      /* or adjacent intervals.					*/
-      /* This could be done faster with e.g. a			*/
-      /* balanced tree.  But the execution time here is		*/
-      /* virtually guaranteed to be dominated by the time it	*/
-      /* takes to scan the roots.				*/
-      {
-        register int i;
-        
-        for (i = 0; i < n_root_sets; i++) {
-            old = GC_static_roots + i;
-            if (b <= old -> r_end && e >= old -> r_start) {
-                if (b < old -> r_start) {
-                    old -> r_start = b;
-                    GC_root_size += (old -> r_start - b);
-                }
-                if (e > old -> r_end) {
-                    old -> r_end = e;
-                    GC_root_size += (e - old -> r_end);
-                }
-                old -> r_tmp &= tmp;
-                break;
-            }
-        }
-        if (i < n_root_sets) {
-          /* merge other overlapping intervals */
-            struct roots *other;
-            
-            for (i++; i < n_root_sets; i++) {
-              other = GC_static_roots + i;
-              b = other -> r_start;
-              e = other -> r_end;
-              if (b <= old -> r_end && e >= old -> r_start) {
-                if (b < old -> r_start) {
-                    old -> r_start = b;
-                    GC_root_size += (old -> r_start - b);
-                }
-                if (e > old -> r_end) {
-                    old -> r_end = e;
-                    GC_root_size += (e - old -> r_end);
-                }
-                old -> r_tmp &= other -> r_tmp;
-                /* Delete this entry. */
-                  GC_root_size -= (other -> r_end - other -> r_start);
-                  other -> r_start = GC_static_roots[n_root_sets-1].r_start;
-                  other -> r_end = GC_static_roots[n_root_sets-1].r_end;
-                  n_root_sets--;
-              }
-            }
-          return;
-        }
-      }
-#   else
-      old = GC_roots_present(b);
-      if (old != 0) {
-        if (e <= old -> r_end) /* already there */ return;
-        /* else extend */
-        GC_root_size += e - old -> r_end;
-        old -> r_end = e;
-        return;
-      }
-#   endif
-    if (n_root_sets == MAX_ROOT_SETS) {
-        ABORT("Too many root sets\n");
-    }
-    GC_static_roots[n_root_sets].r_start = (ptr_t)b;
-    GC_static_roots[n_root_sets].r_end = (ptr_t)e;
-    GC_static_roots[n_root_sets].r_tmp = tmp;
-#   if !defined(MSWIN32) && !defined(MSWINCE)
-      GC_static_roots[n_root_sets].r_next = 0;
-#   endif
-    add_roots_to_index(GC_static_roots + n_root_sets);
-    GC_root_size += e - b;
-    n_root_sets++;
-}
-
-static GC_bool roots_were_cleared = FALSE;
-
-void GC_clear_roots (void)
-{
-    DCL_LOCK_STATE;
-    
-    if (!GC_is_initialized) GC_init();
-    LOCK();
-    roots_were_cleared = TRUE;
-    n_root_sets = 0;
-    GC_root_size = 0;
-#   if !defined(MSWIN32) && !defined(MSWINCE)
-    {
-    	register int i;
-    	
-    	for (i = 0; i < RT_SIZE; i++) GC_root_index[i] = 0;
-    }
-#   endif
-    UNLOCK();
-}
-
-/* Internal use only; lock held.	*/
-static void GC_remove_root_at_pos(int i) 
-{
-    GC_root_size -= (GC_static_roots[i].r_end - GC_static_roots[i].r_start);
-    GC_static_roots[i].r_start = GC_static_roots[n_root_sets-1].r_start;
-    GC_static_roots[i].r_end = GC_static_roots[n_root_sets-1].r_end;
-    GC_static_roots[i].r_tmp = GC_static_roots[n_root_sets-1].r_tmp;
-    n_root_sets--;
-}
-
-#if !defined(MSWIN32) && !defined(MSWINCE)
-static void GC_rebuild_root_index(void)
-{
-    int i;
-    	
-    for (i = 0; i < RT_SIZE; i++) GC_root_index[i] = 0;
-    for (i = 0; i < n_root_sets; i++)
-	add_roots_to_index(GC_static_roots + i);
-}
-#endif
-
-/* Internal use only; lock held.	*/
-void GC_remove_tmp_roots(void)
-{
-    int i;
-    
-    for (i = 0; i < n_root_sets; ) {
-    	if (GC_static_roots[i].r_tmp) {
-            GC_remove_root_at_pos(i);
-    	} else {
-    	    i++;
-    }
-    }
-    #if !defined(MSWIN32) && !defined(MSWINCE)
-    GC_rebuild_root_index();
-    #endif
-}
-
-#if !defined(MSWIN32) && !defined(MSWINCE)
-void GC_remove_roots(void *b, void *e)
-{
-    DCL_LOCK_STATE;
-    
-    LOCK();
-    GC_remove_roots_inner((ptr_t)b, (ptr_t)e);
-    UNLOCK();
-}
-
-/* Should only be called when the lock is held */
-void GC_remove_roots_inner(ptr_t b, ptr_t e)
-{
-    int i;
-    for (i = 0; i < n_root_sets; ) {
-    	if (GC_static_roots[i].r_start >= b
-	    && GC_static_roots[i].r_end <= e) {
-            GC_remove_root_at_pos(i);
-    	} else {
-    	    i++;
-    	}
-    }
-    GC_rebuild_root_index();
-}
-#endif /* !defined(MSWIN32) && !defined(MSWINCE) */
-
-#if defined(MSWIN32) || defined(_WIN32_WCE_EMULATION)
-/* Workaround for the OS mapping and unmapping behind our back:		*/
-/* Is the address p in one of the temporary static root sections?	*/
-GC_bool GC_is_tmp_root(ptr_t p)
-{
-    static int last_root_set = MAX_ROOT_SETS;
-    register int i;
-    
-    if (last_root_set < n_root_sets
-	&& p >= GC_static_roots[last_root_set].r_start
-        && p < GC_static_roots[last_root_set].r_end)
-	return GC_static_roots[last_root_set].r_tmp;
-    for (i = 0; i < n_root_sets; i++) {
-    	if (p >= GC_static_roots[i].r_start
-            && p < GC_static_roots[i].r_end) {
-            last_root_set = i;
-            return GC_static_roots[i].r_tmp;
-        }
-    }
-    return(FALSE);
-}
-#endif /* MSWIN32 || _WIN32_WCE_EMULATION */
-
-ptr_t GC_approx_sp(void)
-{
-    volatile word dummy;
-
-    dummy = 42;	/* Force stack to grow if necessary.	Otherwise the	*/
-    		/* later accesses might cause the kernel to think we're	*/
-    		/* doing something wrong.				*/
-#   ifdef _MSC_VER
-#     pragma warning(disable:4172)
-#   endif
-    return((ptr_t)(&dummy));
-#   ifdef _MSC_VER
-#     pragma warning(default:4172)
-#   endif
-}
-
-/*
- * Data structure for excluded static roots.
- * Real declaration is in gc_priv.h.
-
-struct exclusion {
-    ptr_t e_start;
-    ptr_t e_end;
-};
-
-struct exclusion GC_excl_table[MAX_EXCLUSIONS];
-					-- Array of exclusions, ascending
-					-- address order.
-*/
-
-size_t GC_excl_table_entries = 0;	/* Number of entries in use.	  */
-
-/* Return the first exclusion range that includes an address >= start_addr */
-/* Assumes the exclusion table contains at least one entry (namely the	   */
-/* GC data structures).							   */
-struct exclusion * GC_next_exclusion(ptr_t start_addr)
-{
-    size_t low = 0;
-    size_t high = GC_excl_table_entries - 1;
-    size_t mid;
-
-    while (high > low) {
-	mid = (low + high) >> 1;
-	/* low <= mid < high	*/
-	if ((word) GC_excl_table[mid].e_end <= (word) start_addr) {
-	    low = mid + 1;
-	} else {
-	    high = mid;
-	}
-    }
-    if ((word) GC_excl_table[low].e_end <= (word) start_addr) return 0;
-    return GC_excl_table + low;
-}
-
-void GC_exclude_static_roots(void *start, void *finish)
-{
-    struct exclusion * next;
-    size_t next_index, i;
-
-    if (0 == GC_excl_table_entries) {
-	next = 0;
-    } else {
-	next = GC_next_exclusion(start);
-    }
-    if (0 != next) {
-      if ((word)(next -> e_start) < (word) finish) {
-	/* incomplete error check. */
-	ABORT("exclusion ranges overlap");
-      }  
-      if ((word)(next -> e_start) == (word) finish) {
-        /* extend old range backwards	*/
-          next -> e_start = (ptr_t)start;
-	  return;
-      }
-      next_index = next - GC_excl_table;
-      for (i = GC_excl_table_entries; i > next_index; --i) {
-	GC_excl_table[i] = GC_excl_table[i-1];
-      }
-    } else {
-      next_index = GC_excl_table_entries;
-    }
-    if (GC_excl_table_entries == MAX_EXCLUSIONS) ABORT("Too many exclusions");
-    GC_excl_table[next_index].e_start = (ptr_t)start;
-    GC_excl_table[next_index].e_end = (ptr_t)finish;
-    ++GC_excl_table_entries;
-}
-
-/* Invoke push_conditional on ranges that are not excluded. */
-void GC_push_conditional_with_exclusions(ptr_t bottom, ptr_t top, GC_bool all)
-{
-    struct exclusion * next;
-    ptr_t excl_start;
-
-    while (bottom < top) {
-        next = GC_next_exclusion(bottom);
-	if (0 == next || (excl_start = next -> e_start) >= top) {
-	    GC_push_conditional(bottom, top, all);
-	    return;
-	}
-	if (excl_start > bottom) GC_push_conditional(bottom, excl_start, all);
-	bottom = next -> e_end;
-    }
-}
-
-/*
- * In the absence of threads, push the stack contents.
- * In the presence of threads, push enough of the current stack
- * to ensure that callee-save registers saved in collector frames have been
- * seen.
- * FIXME: Merge with per-thread stuff.
- */
-void GC_push_current_stack(ptr_t cold_gc_frame, void * context)
-{
-#   if defined(THREADS)
-	if (0 == cold_gc_frame) return;
-#       ifdef STACK_GROWS_DOWN
-    	  GC_push_all_eager(GC_approx_sp(), cold_gc_frame);
-	  /* For IA64, the register stack backing store is handled 	*/
-	  /* in the thread-specific code.				*/
-#       else
-	  GC_push_all_eager( cold_gc_frame, GC_approx_sp() );
-#       endif
-#   else
-#   	ifdef STACK_GROWS_DOWN
-    	    GC_push_all_stack_partially_eager( GC_approx_sp(), GC_stackbottom,
-					       cold_gc_frame );
-#	    ifdef IA64
-	      /* We also need to push the register stack backing store. */
-	      /* This should really be done in the same way as the	*/
-	      /* regular stack.  For now we fudge it a bit.		*/
-	      /* Note that the backing store grows up, so we can't use	*/
-	      /* GC_push_all_stack_partially_eager.			*/
-	      {
-		extern word GC_save_regs_ret_val;
-			/* Previously set to backing store pointer.	*/
-		ptr_t bsp = (ptr_t) GC_save_regs_ret_val;
-	        ptr_t cold_gc_bs_pointer;
-		if (GC_all_interior_pointers) {
-	          cold_gc_bs_pointer = bsp - 2048;
-		  if (cold_gc_bs_pointer < BACKING_STORE_BASE) {
-		    cold_gc_bs_pointer = BACKING_STORE_BASE;
-		  } else {
-		    GC_push_all_stack(BACKING_STORE_BASE, cold_gc_bs_pointer);
-		  }
-		} else {
-		  cold_gc_bs_pointer = BACKING_STORE_BASE;
-		}
-		GC_push_all_eager(cold_gc_bs_pointer, bsp);
-		/* All values should be sufficiently aligned that we	*/
-		/* dont have to worry about the boundary.		*/
-	      }
-#	    endif
-#       else
-	    GC_push_all_stack_partially_eager( GC_stackbottom, GC_approx_sp(),
-					       cold_gc_frame );
-#       endif
-#   endif /* !THREADS */
-}
-
-/*
- * Push GC internal roots.  Only called if there is some reason to believe
- * these would not otherwise get registered.
- */
-void GC_push_gc_structures(void)
-{
-    GC_push_finalizer_structures();
-#   if defined(THREADS)
-      GC_push_thread_structures();
-#   endif
-}
-
-#ifdef THREAD_LOCAL_ALLOC
-  void GC_mark_thread_local_free_lists(void);
-#endif
-
-void GC_cond_register_dynamic_libraries(void)
-{
-# if defined(DYNAMIC_LOADING) || defined(MSWIN32) || defined(MSWINCE) \
-     || defined(PCR)
-    GC_remove_tmp_roots();
-    if (!GC_no_dls) GC_register_dynamic_libraries();
-# else
-    GC_no_dls = TRUE;
-# endif
-}
-
-/*
- * Call the mark routines (GC_tl_push for a single pointer, GC_push_conditional
- * on groups of pointers) on every top level accessible pointer.
- * If all is FALSE, arrange to push only possibly altered values.
- * Cold_gc_frame is an address inside a GC frame that
- * remains valid until all marking is complete.
- * A zero value indicates that it's OK to miss some
- * register values.
- */
-void GC_push_roots(GC_bool all, ptr_t cold_gc_frame)
-{
-    int i;
-    unsigned kind;
-
-    /*
-     * Next push static data.  This must happen early on, since it's
-     * not robust against mark stack overflow.
-     */
-     /* Reregister dynamic libraries, in case one got added.		*/
-     /* There is some argument for doing this as late as possible,	*/
-     /* especially on win32, where it can change asynchronously.	*/
-     /* In those cases, we do it here.  But on other platforms, it's	*/
-     /* not safe with the world stopped, so we do it earlier.		*/
-#      if !defined(REGISTER_LIBRARIES_EARLY)
-         GC_cond_register_dynamic_libraries();
-#      endif
-
-     /* Mark everything in static data areas                             */
-       for (i = 0; i < n_root_sets; i++) {
-         GC_push_conditional_with_exclusions(
-			     GC_static_roots[i].r_start,
-			     GC_static_roots[i].r_end, all);
-       }
-
-     /* Mark all free list header blocks, if those were allocated from	*/
-     /* the garbage collected heap.  This makes sure they don't 	*/
-     /* disappear if we are not marking from static data.  It also 	*/
-     /* saves us the trouble of scanning them, and possibly that of	*/
-     /* marking the freelists.						*/
-       for (kind = 0; kind < GC_n_kinds; kind++) {
-	 void *base = GC_base(GC_obj_kinds[kind].ok_freelist);
-	 if (0 != base) {
-	   GC_set_mark_bit(base);
-	 }
-       }
-       
-     /* Mark from GC internal roots if those might otherwise have	*/
-     /* been excluded.							*/
-       if (GC_no_dls || roots_were_cleared) {
-	   GC_push_gc_structures();
-       }
-
-     /* Mark thread local free lists, even if their mark 	*/
-     /* descriptor excludes the link field.			*/
-     /* If the world is not stopped, this is unsafe.  It is	*/
-     /* also unnecessary, since we will do this again with the	*/
-     /* world stopped.						*/
-#      if defined(THREAD_LOCAL_ALLOC)
-         if (GC_world_stopped) GC_mark_thread_local_free_lists();
-#      endif
-
-    /*
-     * Now traverse stacks, and mark from register contents.
-     * These must be done last, since they can legitimately overflow
-     * the mark stack.
-     * This is usually done by saving the current context on the
-     * stack, and then just tracing from the stack.
-     */
-      GC_push_regs_and_stack(cold_gc_frame);
-
-    if (GC_push_other_roots != 0) (*GC_push_other_roots)();
-    	/* In the threads case, this also pushes thread stacks.	*/
-        /* Note that without interior pointer recognition lots	*/
-    	/* of stuff may have been pushed already, and this	*/
-    	/* should be careful about mark stack overflows.	*/
-}
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/mips_sgi_mach_dep.s b/SRC/Boost/tools/build/v2/engine/boehm_gc/mips_sgi_mach_dep.s
deleted file mode 100755
index 421985a..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/mips_sgi_mach_dep.s
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <sys/regdef.h>
-#include <sys/asm.h>
-/* This file must be preprocessed.  But the SGI assembler always does	*/
-/* that.  Furthermore, a generic preprocessor won't do, since some of	*/
-/* the SGI-supplied include files rely on behavior of the MIPS 		*/
-/* assembler.  Hence we treat and name this file as though it required	*/
-/* no preprocessing.							*/
-
-# define call_push(x)     move    $4,x;    jal     GC_push_one
-
-    .option pic2
-    .text
-/* Mark from machine registers that are saved by C compiler */
-#   define FRAMESZ 32
-#   define RAOFF FRAMESZ-SZREG
-#   define GPOFF FRAMESZ-(2*SZREG)
-    NESTED(GC_push_regs, FRAMESZ, ra)
-    .mask 0x80000000,-SZREG	# inform debugger of saved ra loc
-    move 	t0,gp
-    SETUP_GPX(t8)
-    PTR_SUBU	sp,FRAMESZ
-#   ifdef SETUP_GP64
-      SETUP_GP64(GPOFF, GC_push_regs)
-#   endif
-    SAVE_GP(GPOFF)
-    REG_S 	ra,RAOFF(sp)
-#   if (_MIPS_SIM == _MIPS_SIM_ABI32)
-    	call_push($2)
-    	call_push($3)
-#   endif
-    call_push($16)
-    call_push($17)
-    call_push($18)
-    call_push($19)
-    call_push($20)
-    call_push($21)
-    call_push($22)
-    call_push($23)
-    call_push($30)
-    REG_L	ra,RAOFF(sp)
-#   ifdef RESTORE_GP64
-      RESTORE_GP64
-#   endif
-    PTR_ADDU	sp,FRAMESZ
-    j		ra
-    .end    GC_push_regs
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/mips_ultrix_mach_dep.s b/SRC/Boost/tools/build/v2/engine/boehm_gc/mips_ultrix_mach_dep.s
deleted file mode 100755
index b0de684..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/mips_ultrix_mach_dep.s
+++ /dev/null
@@ -1,26 +0,0 @@
-# define call_push(x)     move    $4,x;    jal     GC_push_one
-
-    .text
- # Mark from machine registers that are saved by C compiler
-    .globl  GC_push_regs
-    .ent    GC_push_regs
-GC_push_regs:
-    subu    $sp,8       ## Need to save only return address
-    sw      $31,4($sp)
-    .mask   0x80000000,-4
-    .frame  $sp,8,$31
-    call_push($2)
-    call_push($3)
-    call_push($16)
-    call_push($17)
-    call_push($18)
-    call_push($19)
-    call_push($20)
-    call_push($21)
-    call_push($22)
-    call_push($23)
-    call_push($30)
-    lw      $31,4($sp)
-    addu    $sp,8
-    j       $31
-    .end    GC_push_regs
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/misc.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/misc.c
deleted file mode 100755
index 8877cd7..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/misc.c
+++ /dev/null
@@ -1,1177 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1999-2001 by Hewlett-Packard Company. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, July 31, 1995 5:02 pm PDT */
-
-
-#include <stdio.h>
-#include <limits.h>
-#include <stdarg.h>
-#ifndef _WIN32_WCE
-#include <signal.h>
-#endif
-
-#define I_HIDE_POINTERS	/* To make GC_call_with_alloc_lock visible */
-#include "private/gc_pmark.h"
-
-#ifdef GC_SOLARIS_THREADS
-# include <sys/syscall.h>
-#endif
-#if defined(MSWIN32) || defined(MSWINCE)
-# define WIN32_LEAN_AND_MEAN
-# define NOSERVICE
-# include <windows.h>
-# include <tchar.h>
-#endif
-
-#ifdef UNIX_LIKE
-# include <fcntl.h>
-# include <sys/types.h>
-# include <sys/stat.h>
-
-  int GC_log;  /* Forward decl, so we can set it.	*/
-#endif
-
-#ifdef NONSTOP
-# include <floss.h>
-#endif
-
-#if defined(THREADS) && defined(PCR)
-# include "il/PCR_IL.h"
-  PCR_Th_ML GC_allocate_ml;
-#endif
-/* For other platforms with threads, the lock and possibly		*/
-/* GC_lock_holder variables are defined in the thread support code.	*/
-
-#if defined(NOSYS) || defined(ECOS)
-#undef STACKBASE
-#endif
-
-/* Dont unnecessarily call GC_register_main_static_data() in case 	*/
-/* dyn_load.c isn't linked in.						*/
-#ifdef DYNAMIC_LOADING
-# define GC_REGISTER_MAIN_STATIC_DATA() GC_register_main_static_data()
-#else
-# define GC_REGISTER_MAIN_STATIC_DATA() TRUE
-#endif
-
-GC_FAR struct _GC_arrays GC_arrays /* = { 0 } */;
-
-
-GC_bool GC_debugging_started = FALSE;
-	/* defined here so we don't have to load debug_malloc.o */
-
-void (*GC_check_heap) (void) = (void (*) (void))0;
-void (*GC_print_all_smashed) (void) = (void (*) (void))0;
-
-void (*GC_start_call_back) (void) = (void (*) (void))0;
-
-ptr_t GC_stackbottom = 0;
-
-#ifdef IA64
-  ptr_t GC_register_stackbottom = 0;
-#endif
-
-GC_bool GC_dont_gc = 0;
-
-GC_bool GC_dont_precollect = 0;
-
-GC_bool GC_quiet = 0;
-
-#ifndef SMALL_CONFIG
-  GC_bool GC_print_stats = 0;
-#endif
-
-GC_bool GC_print_back_height = 0;
-
-#ifndef NO_DEBUGGING
-  GC_bool GC_dump_regularly = 0;  /* Generate regular debugging dumps. */
-#endif
-
-#ifdef KEEP_BACK_PTRS
-  long GC_backtraces = 0;	/* Number of random backtraces to 	*/
-  				/* generate for each GC.		*/
-#endif
-
-#ifdef FIND_LEAK
-  int GC_find_leak = 1;
-#else
-  int GC_find_leak = 0;
-#endif
-
-#ifdef ALL_INTERIOR_POINTERS
-  int GC_all_interior_pointers = 1;
-#else
-  int GC_all_interior_pointers = 0;
-#endif
-
-long GC_large_alloc_warn_interval = 5;
-	/* Interval between unsuppressed warnings.	*/
-
-long GC_large_alloc_warn_suppressed = 0;
-	/* Number of warnings suppressed so far.	*/
-
-/*ARGSUSED*/
-void * GC_default_oom_fn(size_t bytes_requested)
-{
-    return(0);
-}
-
-void * (*GC_oom_fn) (size_t bytes_requested) = GC_default_oom_fn;
-
-void * GC_project2(void *arg1, void *arg2)
-{
-  return arg2;
-}
-
-/* Set things up so that GC_size_map[i] >= granules(i),		*/
-/* but not too much bigger						*/
-/* and so that size_map contains relatively few distinct entries 	*/
-/* This was originally stolen from Russ Atkinson's Cedar		*/
-/* quantization alogrithm (but we precompute it).			*/ 
-void GC_init_size_map(void)
-{
-    int i;
-
-    /* Map size 0 to something bigger.			*/
-    /* This avoids problems at lower levels.		*/
-      GC_size_map[0] = 1;
-    for (i = 1; i <= GRANULES_TO_BYTES(TINY_FREELISTS-1) - EXTRA_BYTES; i++) {
-        GC_size_map[i] = ROUNDED_UP_GRANULES(i);
-        GC_ASSERT(GC_size_map[i] < TINY_FREELISTS);
-    }
-    /* We leave the rest of the array to be filled in on demand. */
-}
-
-/* Fill in additional entries in GC_size_map, including the ith one */
-/* We assume the ith entry is currently 0.				*/
-/* Note that a filled in section of the array ending at n always    */
-/* has length at least n/4.						*/
-void GC_extend_size_map(size_t i)
-{
-    size_t orig_granule_sz = ROUNDED_UP_GRANULES(i);
-    size_t granule_sz = orig_granule_sz;
-    size_t byte_sz = GRANULES_TO_BYTES(granule_sz);
-    			/* The size we try to preserve.		*/
-    			/* Close to i, unless this would	*/
-    			/* introduce too many distinct sizes.	*/
-    size_t smaller_than_i = byte_sz - (byte_sz >> 3);
-    size_t much_smaller_than_i = byte_sz - (byte_sz >> 2);
-    size_t low_limit;	/* The lowest indexed entry we 	*/
-    			/* initialize.			*/
-    size_t j;
-    
-    if (GC_size_map[smaller_than_i] == 0) {
-        low_limit = much_smaller_than_i;
-        while (GC_size_map[low_limit] != 0) low_limit++;
-    } else {
-        low_limit = smaller_than_i + 1;
-        while (GC_size_map[low_limit] != 0) low_limit++;
-        granule_sz = ROUNDED_UP_GRANULES(low_limit);
-        granule_sz += granule_sz >> 3;
-        if (granule_sz < orig_granule_sz) granule_sz = orig_granule_sz;
-    }
-    /* For these larger sizes, we use an even number of granules.	*/
-    /* This makes it easier to, for example, construct a 16byte-aligned	*/
-    /* allocator even if GRANULE_BYTES is 8.				*/
-        granule_sz += 1;
-        granule_sz &= ~1;
-    if (granule_sz > MAXOBJGRANULES) {
-        granule_sz = MAXOBJGRANULES;
-    }
-    /* If we can fit the same number of larger objects in a block,	*/
-    /* do so.							*/ 
-    {
-        size_t number_of_objs = HBLK_GRANULES/granule_sz;
-        granule_sz = HBLK_GRANULES/number_of_objs;
-    	granule_sz &= ~1;
-    }
-    byte_sz = GRANULES_TO_BYTES(granule_sz);
-    /* We may need one extra byte;			*/
-    /* don't always fill in GC_size_map[byte_sz]	*/
-    byte_sz -= EXTRA_BYTES;
-
-    for (j = low_limit; j <= byte_sz; j++) GC_size_map[j] = granule_sz;  
-}
-
-
-/*
- * The following is a gross hack to deal with a problem that can occur
- * on machines that are sloppy about stack frame sizes, notably SPARC.
- * Bogus pointers may be written to the stack and not cleared for
- * a LONG time, because they always fall into holes in stack frames
- * that are not written.  We partially address this by clearing
- * sections of the stack whenever we get control.
- */
-word GC_stack_last_cleared = 0;	/* GC_no when we last did this */
-# ifdef THREADS
-#   define BIG_CLEAR_SIZE 2048	/* Clear this much now and then.	*/
-#   define SMALL_CLEAR_SIZE 256 /* Clear this much every time.		*/
-# endif
-# define CLEAR_SIZE 213  /* Granularity for GC_clear_stack_inner */
-# define DEGRADE_RATE 50
-
-ptr_t GC_min_sp;	/* Coolest stack pointer value from which we've */
-			/* already cleared the stack.			*/
-			
-ptr_t GC_high_water;
-			/* "hottest" stack pointer value we have seen	*/
-			/* recently.  Degrades over time.		*/
-
-word GC_bytes_allocd_at_reset;
-
-#if defined(ASM_CLEAR_CODE)
-  extern void *GC_clear_stack_inner(void *, ptr_t);
-#else  
-/* Clear the stack up to about limit.  Return arg. */
-/*ARGSUSED*/
-void * GC_clear_stack_inner(void *arg, ptr_t limit)
-{
-    word dummy[CLEAR_SIZE];
-    
-    BZERO(dummy, CLEAR_SIZE*sizeof(word));
-    if ((ptr_t)(dummy) COOLER_THAN limit) {
-        (void) GC_clear_stack_inner(arg, limit);
-    }
-    /* Make sure the recursive call is not a tail call, and the bzero	*/
-    /* call is not recognized as dead code.				*/
-    GC_noop1((word)dummy);
-    return(arg);
-}
-#endif
-
-/* Clear some of the inaccessible part of the stack.  Returns its	*/
-/* argument, so it can be used in a tail call position, hence clearing  */
-/* another frame.							*/
-void * GC_clear_stack(void *arg)
-{
-    ptr_t sp = GC_approx_sp();  /* Hotter than actual sp */
-#   ifdef THREADS
-        word dummy[SMALL_CLEAR_SIZE];
-	static unsigned random_no = 0;
-       			 	 /* Should be more random than it is ... */
-				 /* Used to occasionally clear a bigger	 */
-				 /* chunk.				 */
-#   endif
-    ptr_t limit;
-    
-#   define SLOP 400
-	/* Extra bytes we clear every time.  This clears our own	*/
-	/* activation record, and should cause more frequent		*/
-	/* clearing near the cold end of the stack, a good thing.	*/
-#   define GC_SLOP 4000
-	/* We make GC_high_water this much hotter than we really saw   	*/
-	/* saw it, to cover for GC noise etc. above our current frame.	*/
-#   define CLEAR_THRESHOLD 100000
-	/* We restart the clearing process after this many bytes of	*/
-	/* allocation.  Otherwise very heavily recursive programs	*/
-	/* with sparse stacks may result in heaps that grow almost	*/
-	/* without bounds.  As the heap gets larger, collection 	*/
-	/* frequency decreases, thus clearing frequency would decrease, */
-	/* thus more junk remains accessible, thus the heap gets	*/
-	/* larger ...							*/
-# ifdef THREADS
-    if (++random_no % 13 == 0) {
-	limit = sp;
-	MAKE_HOTTER(limit, BIG_CLEAR_SIZE*sizeof(word));
-	limit = (ptr_t)((word)limit & ~0xf);
-        		/* Make it sufficiently aligned for assembly	*/
-        		/* implementations of GC_clear_stack_inner.	*/
-	return GC_clear_stack_inner(arg, limit);
-    } else {
-	BZERO(dummy, SMALL_CLEAR_SIZE*sizeof(word));
-	return arg;
-    }
-# else
-    if (GC_gc_no > GC_stack_last_cleared) {
-        /* Start things over, so we clear the entire stack again */
-        if (GC_stack_last_cleared == 0) GC_high_water = (ptr_t)GC_stackbottom;
-        GC_min_sp = GC_high_water;
-        GC_stack_last_cleared = GC_gc_no;
-        GC_bytes_allocd_at_reset = GC_bytes_allocd;
-    }
-    /* Adjust GC_high_water */
-        MAKE_COOLER(GC_high_water, WORDS_TO_BYTES(DEGRADE_RATE) + GC_SLOP);
-        if (sp HOTTER_THAN GC_high_water) {
-            GC_high_water = sp;
-        }
-        MAKE_HOTTER(GC_high_water, GC_SLOP);
-    limit = GC_min_sp;
-    MAKE_HOTTER(limit, SLOP);
-    if (sp COOLER_THAN limit) {
-        limit = (ptr_t)((word)limit & ~0xf);
-			/* Make it sufficiently aligned for assembly	*/
-        		/* implementations of GC_clear_stack_inner.	*/
-        GC_min_sp = sp;
-        return(GC_clear_stack_inner(arg, limit));
-    } else if (GC_bytes_allocd - GC_bytes_allocd_at_reset > CLEAR_THRESHOLD) {
-    	/* Restart clearing process, but limit how much clearing we do. */
-    	GC_min_sp = sp;
-    	MAKE_HOTTER(GC_min_sp, CLEAR_THRESHOLD/4);
-    	if (GC_min_sp HOTTER_THAN GC_high_water) GC_min_sp = GC_high_water;
-    	GC_bytes_allocd_at_reset = GC_bytes_allocd;
-    }  
-    return(arg);
-# endif
-}
-
-
-/* Return a pointer to the base address of p, given a pointer to a	*/
-/* an address within an object.  Return 0 o.w.				*/
-void * GC_base(void * p)
-{
-    ptr_t r;
-    struct hblk *h;
-    bottom_index *bi;
-    hdr *candidate_hdr;
-    ptr_t limit;
-    
-    r = p;
-    if (!GC_is_initialized) return 0;
-    h = HBLKPTR(r);
-    GET_BI(r, bi);
-    candidate_hdr = HDR_FROM_BI(bi, r);
-    if (candidate_hdr == 0) return(0);
-    /* If it's a pointer to the middle of a large object, move it	*/
-    /* to the beginning.						*/
-	while (IS_FORWARDING_ADDR_OR_NIL(candidate_hdr)) {
-	   h = FORWARDED_ADDR(h,candidate_hdr);
-	   r = (ptr_t)h;
-	   candidate_hdr = HDR(h);
-	}
-    if (HBLK_IS_FREE(candidate_hdr)) return(0);
-    /* Make sure r points to the beginning of the object */
-	r = (ptr_t)((word)r & ~(WORDS_TO_BYTES(1) - 1));
-        {
-	    size_t offset = HBLKDISPL(r);
-	    signed_word sz = candidate_hdr -> hb_sz;
-	    size_t obj_displ = offset % sz;
-
-	    r -= obj_displ;
-            limit = r + sz;
-	    if (limit > (ptr_t)(h + 1) && sz <= HBLKSIZE) {
-	        return(0);
-	    }
-	    if ((ptr_t)p >= limit) return(0);
-	}
-    return((void *)r);
-}
-
-
-/* Return the size of an object, given a pointer to its base.		*/
-/* (For small obects this also happens to work from interior pointers,	*/
-/* but that shouldn't be relied upon.)					*/
-size_t GC_size(void * p)
-{
-    hdr * hhdr = HDR(p);
-    
-    return hhdr -> hb_sz;
-}
-
-size_t GC_get_heap_size(void)
-{
-    return GC_heapsize;
-}
-
-size_t GC_get_free_bytes(void)
-{
-    return GC_large_free_bytes;
-}
-
-size_t GC_get_bytes_since_gc(void)
-{
-    return GC_bytes_allocd;
-}
-
-size_t GC_get_total_bytes(void)
-{
-    return GC_bytes_allocd+GC_bytes_allocd_before_gc;
-}
-
-GC_bool GC_is_initialized = FALSE;
-
-# if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
-  extern void GC_init_parallel(void);
-# endif /* PARALLEL_MARK || THREAD_LOCAL_ALLOC */
-
-void GC_init(void)
-{
-    DCL_LOCK_STATE;
-    
-#if defined(GC_WIN32_THREADS) && !defined(GC_PTHREADS)
-    if (!GC_is_initialized) {
-      BOOL (WINAPI *pfn) (LPCRITICAL_SECTION, DWORD) = NULL;
-      HMODULE hK32 = GetModuleHandleA("kernel32.dll");
-      if (hK32)
-	  pfn = (BOOL (WINAPI *) (LPCRITICAL_SECTION, DWORD))
-		GetProcAddress (hK32,
-				"InitializeCriticalSectionAndSpinCount");
-      if (pfn)
-          pfn(&GC_allocate_ml, 4000);
-      else
-	  InitializeCriticalSection (&GC_allocate_ml);
-    }
-#endif /* MSWIN32 */
-
-    LOCK();
-    GC_init_inner();
-    UNLOCK();
-
-#   if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
-	/* Make sure marker threads and started and thread local */
-	/* allocation is initialized, in case we didn't get 	 */
-	/* called from GC_init_parallel();			 */
-        {
-	  GC_init_parallel();
-	}
-#   endif /* PARALLEL_MARK || THREAD_LOCAL_ALLOC */
-
-#   if defined(DYNAMIC_LOADING) && defined(DARWIN)
-    {
-        /* This must be called WITHOUT the allocation lock held
-        and before any threads are created */
-        extern void GC_init_dyld();
-        GC_init_dyld();
-    }
-#   endif
-}
-
-#if defined(MSWIN32) || defined(MSWINCE)
-    CRITICAL_SECTION GC_write_cs;
-#endif
-
-#ifdef MSWIN32
-    extern void GC_init_win32(void);
-#endif
-
-extern void GC_setpagesize();
-
-
-#ifdef MSWIN32
-extern GC_bool GC_no_win32_dlls;
-#else
-# define GC_no_win32_dlls FALSE
-#endif
-
-void GC_exit_check(void)
-{
-   GC_gcollect();
-}
-
-#ifdef SEARCH_FOR_DATA_START
-  extern void GC_init_linux_data_start(void);
-#endif
-
-#ifdef UNIX_LIKE
-
-extern void GC_set_and_save_fault_handler(void (*handler)(int));
-
-static void looping_handler(sig)
-int sig;
-{
-    GC_err_printf("Caught signal %d: looping in handler\n", sig);
-    for(;;);
-}
-
-static GC_bool installed_looping_handler = FALSE;
-
-static void maybe_install_looping_handler()
-{
-    /* Install looping handler before the write fault handler, so we	*/
-    /* handle write faults correctly.					*/
-      if (!installed_looping_handler && 0 != GETENV("GC_LOOP_ON_ABORT")) {
-        GC_set_and_save_fault_handler(looping_handler);
-        installed_looping_handler = TRUE;
-      }
-}
-
-#else /* !UNIX_LIKE */
-
-# define maybe_install_looping_handler()
-
-#endif
-
-void GC_init_inner()
-{
-#   if !defined(THREADS) && defined(GC_ASSERTIONS)
-        word dummy;
-#   endif
-    word initial_heap_sz = (word)MINHINCR;
-    
-    if (GC_is_initialized) return;
-#   if defined(MSWIN32) || defined(MSWINCE)
-      InitializeCriticalSection(&GC_write_cs);
-#   endif
-#   if (!defined(SMALL_CONFIG))
-      if (0 != GETENV("GC_PRINT_STATS")) {
-        GC_print_stats = 1;
-      } 
-      if (0 != GETENV("GC_PRINT_VERBOSE_STATS")) {
-        GC_print_stats = VERBOSE;
-      } 
-#     if defined(UNIX_LIKE)
-        {
-	  char * file_name = GETENV("GC_LOG_FILE");
-          if (0 != file_name) {
-	    int log_d = open(file_name, O_CREAT|O_WRONLY|O_APPEND, 0666);
-	    if (log_d < 0) {
-	      GC_log_printf("Failed to open %s as log file\n", file_name);
-	    } else {
-	      GC_log = log_d;
-	    }
-	  }
-	}
-#     endif
-#   endif
-#   ifndef NO_DEBUGGING
-      if (0 != GETENV("GC_DUMP_REGULARLY")) {
-        GC_dump_regularly = 1;
-      }
-#   endif
-#   ifdef KEEP_BACK_PTRS
-      {
-        char * backtraces_string = GETENV("GC_BACKTRACES");
-        if (0 != backtraces_string) {
-          GC_backtraces = atol(backtraces_string);
-	  if (backtraces_string[0] == '\0') GC_backtraces = 1;
-        }
-      }
-#   endif
-    if (0 != GETENV("GC_FIND_LEAK")) {
-      GC_find_leak = 1;
-      atexit(GC_exit_check);
-    }
-    if (0 != GETENV("GC_ALL_INTERIOR_POINTERS")) {
-      GC_all_interior_pointers = 1;
-    }
-    if (0 != GETENV("GC_DONT_GC")) {
-      GC_dont_gc = 1;
-    }
-    if (0 != GETENV("GC_PRINT_BACK_HEIGHT")) {
-      GC_print_back_height = 1;
-    }
-    if (0 != GETENV("GC_NO_BLACKLIST_WARNING")) {
-      GC_large_alloc_warn_interval = LONG_MAX;
-    }
-    {
-      char * addr_string = GETENV("GC_TRACE");
-      if (0 != addr_string) {
-#       ifndef ENABLE_TRACE
-	  WARN("Tracing not enabled: Ignoring GC_TRACE value\n", 0);
-#       else
-#	  ifdef STRTOULL
-	    long long addr = strtoull(addr_string, NULL, 16);
-#	  else
-	    long addr = strtoul(addr_string, NULL, 16);
-#	  endif
-	  if (addr < 0x1000)
-	      WARN("Unlikely trace address: 0x%lx\n", (GC_word)addr);
-	  GC_trace_addr = (ptr_t)addr;
-#	endif
-      }
-    }
-    {
-      char * time_limit_string = GETENV("GC_PAUSE_TIME_TARGET");
-      if (0 != time_limit_string) {
-        long time_limit = atol(time_limit_string);
-        if (time_limit < 5) {
-	  WARN("GC_PAUSE_TIME_TARGET environment variable value too small "
-	       "or bad syntax: Ignoring\n", 0);
-        } else {
-	  GC_time_limit = time_limit;
-        }
-      }
-    }
-    {
-      char * interval_string = GETENV("GC_LARGE_ALLOC_WARN_INTERVAL");
-      if (0 != interval_string) {
-        long interval = atol(interval_string);
-        if (interval <= 0) {
-	  WARN("GC_LARGE_ALLOC_WARN_INTERVAL environment variable has "
-	       "bad value: Ignoring\n", 0);
-        } else {
-	  GC_large_alloc_warn_interval = interval;
-        }
-      }
-    }
-    maybe_install_looping_handler();
-    /* Adjust normal object descriptor for extra allocation.	*/
-    if (ALIGNMENT > GC_DS_TAGS && EXTRA_BYTES != 0) {
-      GC_obj_kinds[NORMAL].ok_descriptor = ((word)(-ALIGNMENT) | GC_DS_LENGTH);
-    }
-    GC_setpagesize();
-    GC_exclude_static_roots(beginGC_arrays, endGC_arrays);
-    GC_exclude_static_roots(beginGC_obj_kinds, endGC_obj_kinds);
-#   ifdef SEPARATE_GLOBALS
-      GC_exclude_static_roots(beginGC_objfreelist, endGC_objfreelist);
-      GC_exclude_static_roots(beginGC_aobjfreelist, endGC_aobjfreelist);
-#   endif
-#   ifdef MSWIN32
- 	GC_init_win32();
-#   endif
-#   if defined(USE_PROC_FOR_LIBRARIES) && defined(GC_LINUX_THREADS)
-	WARN("USE_PROC_FOR_LIBRARIES + GC_LINUX_THREADS performs poorly.\n", 0);
-	/* If thread stacks are cached, they tend to be scanned in 	*/
-	/* entirety as part of the root set.  This wil grow them to	*/
-	/* maximum size, and is generally not desirable.		*/
-#   endif
-#   if defined(SEARCH_FOR_DATA_START)
-	GC_init_linux_data_start();
-#   endif
-#   if (defined(NETBSD) || defined(OPENBSD)) && defined(__ELF__)
-	GC_init_netbsd_elf();
-#   endif
-#   if !defined(THREADS) || defined(GC_PTHREADS) || defined(GC_WIN32_THREADS) \
-	|| defined(GC_SOLARIS_THREADS)
-      if (GC_stackbottom == 0) {
-	GC_stackbottom = GC_get_main_stack_base();
-#       if (defined(LINUX) || defined(HPUX)) && defined(IA64)
-	  GC_register_stackbottom = GC_get_register_stack_base();
-#       endif
-      } else {
-#       if (defined(LINUX) || defined(HPUX)) && defined(IA64)
-	  if (GC_register_stackbottom == 0) {
-	    WARN("GC_register_stackbottom should be set with GC_stackbottom\n", 0);
-	    /* The following may fail, since we may rely on	 	*/
-	    /* alignment properties that may not hold with a user set	*/
-	    /* GC_stackbottom.						*/
-	    GC_register_stackbottom = GC_get_register_stack_base();
-	  }
-#	endif
-      }
-#   endif
-    /* Ignore gcc -Wall warnings on the following. */
-    GC_STATIC_ASSERT(sizeof (ptr_t) == sizeof(word));
-    GC_STATIC_ASSERT(sizeof (signed_word) == sizeof(word));
-    GC_STATIC_ASSERT(sizeof (struct hblk) == HBLKSIZE);
-#   ifndef THREADS
-#     ifdef STACK_GROWS_DOWN
-        GC_ASSERT((word)(&dummy) <= (word)GC_stackbottom);
-#     else
-        GC_ASSERT((word)(&dummy) >= (word)GC_stackbottom);
-#     endif
-#   endif
-#   if !defined(_AUX_SOURCE) || defined(__GNUC__)
-      GC_ASSERT((word)(-1) > (word)0);
-      /* word should be unsigned */
-#   endif
-    GC_ASSERT((ptr_t)(word)(-1) > (ptr_t)0);
-    	/* Ptr_t comparisons should behave as unsigned comparisons.	*/
-    GC_ASSERT((signed_word)(-1) < (signed_word)0);
-#   if !defined(SMALL_CONFIG)
-      if (GC_incremental || 0 != GETENV("GC_ENABLE_INCREMENTAL")) {
-	/* This used to test for !GC_no_win32_dlls.  Why? */
-        GC_setpagesize();
-	/* For GWW_MPROTECT on Win32, this needs to happen before any	*/
-	/* heap memory is allocated.					*/
-        GC_dirty_init();
-        GC_ASSERT(GC_bytes_allocd == 0)
-    	GC_incremental = TRUE;
-      }
-#   endif /* !SMALL_CONFIG */
-    
-    /* Add initial guess of root sets.  Do this first, since sbrk(0)	*/
-    /* might be used.							*/
-      if (GC_REGISTER_MAIN_STATIC_DATA()) GC_register_data_segments();
-    GC_init_headers();
-    GC_bl_init();
-    GC_mark_init();
-    {
-	char * sz_str = GETENV("GC_INITIAL_HEAP_SIZE");
-	if (sz_str != NULL) {
-	  initial_heap_sz = atoi(sz_str);
-	  if (initial_heap_sz <= MINHINCR * HBLKSIZE) {
-	    WARN("Bad initial heap size %s - ignoring it.\n",
-		 sz_str);
-	  } 
-	  initial_heap_sz = divHBLKSZ(initial_heap_sz);
-	}
-    }
-    {
-	char * sz_str = GETENV("GC_MAXIMUM_HEAP_SIZE");
-	if (sz_str != NULL) {
-	  word max_heap_sz = (word)atol(sz_str);
-	  if (max_heap_sz < initial_heap_sz * HBLKSIZE) {
-	    WARN("Bad maximum heap size %s - ignoring it.\n",
-		 sz_str);
-	  } 
-	  if (0 == GC_max_retries) GC_max_retries = 2;
-	  GC_set_max_heap_size(max_heap_sz);
-	}
-    }
-    if (!GC_expand_hp_inner(initial_heap_sz)) {
-        GC_err_printf("Can't start up: not enough memory\n");
-        EXIT();
-    }
-    GC_initialize_offsets();
-    GC_register_displacement_inner(0L);
-#   if defined(GC_LINUX_THREADS) && defined(REDIRECT_MALLOC)
-      if (!GC_all_interior_pointers) {
-	/* TLS ABI uses pointer-sized offsets for dtv. */
-        GC_register_displacement_inner(sizeof(void *));
-      }
-#   endif
-    GC_init_size_map();
-#   ifdef PCR
-      if (PCR_IL_Lock(PCR_Bool_false, PCR_allSigsBlocked, PCR_waitForever)
-          != PCR_ERes_okay) {
-          ABORT("Can't lock load state\n");
-      } else if (PCR_IL_Unlock() != PCR_ERes_okay) {
-          ABORT("Can't unlock load state\n");
-      }
-      PCR_IL_Unlock();
-      GC_pcr_install();
-#   endif
-    GC_is_initialized = TRUE;
-#   if defined(GC_PTHREADS) || defined(GC_WIN32_THREADS)
-        GC_thr_init();
-#   endif
-    COND_DUMP;
-    /* Get black list set up and/or incremental GC started */
-      if (!GC_dont_precollect || GC_incremental) GC_gcollect_inner();
-#   ifdef STUBBORN_ALLOC
-    	GC_stubborn_init();
-#   endif
-#   if defined(GC_LINUX_THREADS) && defined(REDIRECT_MALLOC)
-	{
-	  extern void GC_init_lib_bounds(void);
-	  GC_init_lib_bounds();
-	}
-#   endif
-    /* Convince lint that some things are used */
-#   ifdef LINT
-      {
-          extern char * GC_copyright[];
-          extern int GC_read();
-          extern void GC_register_finalizer_no_order();
-          
-          GC_noop(GC_copyright, GC_find_header,
-                  GC_push_one, GC_call_with_alloc_lock, GC_read,
-                  GC_dont_expand,
-#		  ifndef NO_DEBUGGING
-		    GC_dump,
-#		  endif
-                  GC_register_finalizer_no_order);
-      }
-#   endif
-}
-
-void GC_enable_incremental(void)
-{
-# if !defined(SMALL_CONFIG) && !defined(KEEP_BACK_PTRS)
-  /* If we are keeping back pointers, the GC itself dirties all	*/
-  /* pages on which objects have been marked, making 		*/
-  /* incremental GC pointless.					*/
-  if (!GC_find_leak) {
-    DCL_LOCK_STATE;
-    
-    LOCK();
-    if (GC_incremental) goto out;
-    GC_setpagesize();
-    /* if (GC_no_win32_dlls) goto out; Should be win32S test? */
-    maybe_install_looping_handler();  /* Before write fault handler! */
-    GC_incremental = TRUE;
-    if (!GC_is_initialized) {
-        GC_init_inner();
-    } else {
-	GC_dirty_init();
-    }
-    if (!GC_dirty_maintained) goto out;
-    if (GC_dont_gc) {
-        /* Can't easily do it. */
-        UNLOCK();
-    	return;
-    }
-    if (GC_bytes_allocd > 0) {
-    	/* There may be unmarked reachable objects	*/
-    	GC_gcollect_inner();
-    }   /* else we're OK in assuming everything's	*/
-    	/* clean since nothing can point to an	  	*/
-    	/* unmarked object.			  	*/
-    GC_read_dirty();
-out:
-    UNLOCK();
-  } else {
-    GC_init();
-  }
-# else
-    GC_init();
-# endif
-}
-
-
-#if defined(MSWIN32) || defined(MSWINCE)
-# if defined(_MSC_VER) && defined(_DEBUG)
-#  include <crtdbg.h>
-# endif
-# ifdef OLD_WIN32_LOG_FILE
-#   define LOG_FILE _T("gc.log")
-# endif
-
-  HANDLE GC_stdout = 0;
-
-  void GC_deinit()
-  {
-      if (GC_is_initialized) {
-  	DeleteCriticalSection(&GC_write_cs);
-      }
-  }
-
-# ifndef THREADS
-#   define GC_need_to_lock 0  /* Not defined without threads */
-# endif
-  int GC_write(const char *buf, size_t len)
-  {
-      BOOL tmp;
-      DWORD written;
-      if (len == 0)
-	  return 0;
-      if (GC_need_to_lock) EnterCriticalSection(&GC_write_cs);
-      if (GC_stdout == INVALID_HANDLE_VALUE) {
-          if (GC_need_to_lock) LeaveCriticalSection(&GC_write_cs);
-	  return -1;
-      } else if (GC_stdout == 0) {
-	char * file_name = GETENV("GC_LOG_FILE");
-	char logPath[_MAX_PATH + 5];
-
-        if (0 == file_name) {
-#         ifdef OLD_WIN32_LOG_FILE
-	    strcpy(logPath, LOG_FILE);
-#	  else
-	    GetModuleFileName(NULL, logPath, _MAX_PATH);
-	    strcat(logPath, ".log");
-#	  endif
-	  file_name = logPath;
-	}
-	GC_stdout = CreateFile(logPath, GENERIC_WRITE,
-        		       FILE_SHARE_READ,
-        		       NULL, CREATE_ALWAYS, FILE_FLAG_WRITE_THROUGH,
-        		       NULL); 
-    	if (GC_stdout == INVALID_HANDLE_VALUE)
-	    ABORT("Open of log file failed");
-      }
-      tmp = WriteFile(GC_stdout, buf, (DWORD)len, &written, NULL);
-      if (!tmp)
-	  DebugBreak();
-#     if defined(_MSC_VER) && defined(_DEBUG)
-	  _CrtDbgReport(_CRT_WARN, NULL, 0, NULL, "%.*s", len, buf);
-#     endif
-      if (GC_need_to_lock) LeaveCriticalSection(&GC_write_cs);
-      return tmp ? (int)written : -1;
-  }
-# undef GC_need_to_lock
-
-#endif
-
-#if defined(OS2) || defined(MACOS)
-FILE * GC_stdout = NULL;
-FILE * GC_stderr = NULL;
-FILE * GC_log = NULL;
-int GC_tmp;  /* Should really be local ... */
-
-  void GC_set_files()
-  {
-      if (GC_stdout == NULL) {
-	GC_stdout = stdout;
-    }
-    if (GC_stderr == NULL) {
-	GC_stderr = stderr;
-    }
-    if (GC_log == NULL) {
-	GC_log = stderr;
-    }
-  }
-#endif
-
-#if !defined(OS2) && !defined(MACOS) && !defined(MSWIN32) && !defined(MSWINCE)
-  int GC_stdout = 1;
-  int GC_stderr = 2;
-  int GC_log = 2;
-# if !defined(AMIGA)
-#   include <unistd.h>
-# endif
-#endif
-
-#if !defined(MSWIN32) && !defined(MSWINCE) && !defined(OS2) \
-    && !defined(MACOS)  && !defined(ECOS) && !defined(NOSYS)
-int GC_write(fd, buf, len)
-int fd;
-const char *buf;
-size_t len;
-{
-     register int bytes_written = 0;
-     register int result;
-     
-     while (bytes_written < len) {
-#	ifdef GC_SOLARIS_THREADS
-	    result = syscall(SYS_write, fd, buf + bytes_written,
-	    			  	    len - bytes_written);
-#	else
-     	    result = write(fd, buf + bytes_written, len - bytes_written);
-#	endif
-	if (-1 == result) return(result);
-	bytes_written += result;
-    }
-    return(bytes_written);
-}
-#endif /* UN*X */
-
-#ifdef ECOS
-int GC_write(fd, buf, len)
-{
-  _Jv_diag_write (buf, len);
-  return len;
-}
-#endif
-
-#ifdef NOSYS
-int GC_write(fd, buf, len)
-{
-  /* No writing.  */
-  return len;
-}
-#endif
-
-
-#if defined(MSWIN32) || defined(MSWINCE)
-    /* FIXME: This is pretty ugly ... */
-#   define WRITE(f, buf, len) GC_write(buf, len)
-#else
-#   if defined(OS2) || defined(MACOS)
-#   define WRITE(f, buf, len) (GC_set_files(), \
-			       GC_tmp = fwrite((buf), 1, (len), (f)), \
-			       fflush(f), GC_tmp)
-#   else
-#     define WRITE(f, buf, len) GC_write((f), (buf), (len))
-#   endif
-#endif
-
-#define BUFSZ 1024
-#ifdef _MSC_VER
-# define vsnprintf _vsnprintf
-#endif
-/* A version of printf that is unlikely to call malloc, and is thus safer */
-/* to call from the collector in case malloc has been bound to GC_malloc. */
-/* Floating point arguments ans formats should be avoided, since fp	  */
-/* conversion is more likely to allocate.				  */
-/* Assumes that no more than BUFSZ-1 characters are written at once.	  */
-void GC_printf(const char *format, ...)
-{
-    va_list args;
-    char buf[BUFSZ+1];
-    
-    va_start(args, format);
-    if (GC_quiet) return;
-    buf[BUFSZ] = 0x15;
-    (void) vsnprintf(buf, BUFSZ, format, args);
-    va_end(args);
-    if (buf[BUFSZ] != 0x15) ABORT("GC_printf clobbered stack");
-    if (WRITE(GC_stdout, buf, strlen(buf)) < 0) ABORT("write to stdout failed");
-}
-
-void GC_err_printf(const char *format, ...)
-{
-    va_list args;
-    char buf[BUFSZ+1];
-    
-    va_start(args, format);
-    buf[BUFSZ] = 0x15;
-    (void) vsnprintf(buf, BUFSZ, format, args);
-    va_end(args);
-    if (buf[BUFSZ] != 0x15) ABORT("GC_printf clobbered stack");
-    if (WRITE(GC_stderr, buf, strlen(buf)) < 0) ABORT("write to stderr failed");
-}
-
-void GC_log_printf(const char *format, ...)
-{
-    va_list args;
-    char buf[BUFSZ+1];
-    
-    va_start(args, format);
-    buf[BUFSZ] = 0x15;
-    (void) vsnprintf(buf, BUFSZ, format, args);
-    va_end(args);
-    if (buf[BUFSZ] != 0x15) ABORT("GC_printf clobbered stack");
-    if (WRITE(GC_log, buf, strlen(buf)) < 0) ABORT("write to log failed");
-}
-
-void GC_err_puts(const char *s)
-{
-    if (WRITE(GC_stderr, s, strlen(s)) < 0) ABORT("write to stderr failed");
-}
-
-#if defined(LINUX) && !defined(SMALL_CONFIG)
-void GC_err_write(buf, len)
-const char *buf;
-size_t len;
-{
-    if (WRITE(GC_stderr, buf, len) < 0) ABORT("write to stderr failed");
-}
-#endif
-
-void GC_default_warn_proc(char *msg, GC_word arg)
-{
-    GC_err_printf(msg, arg);
-}
-
-GC_warn_proc GC_current_warn_proc = GC_default_warn_proc;
-
-GC_warn_proc GC_set_warn_proc(GC_warn_proc p)
-{
-    GC_warn_proc result;
-
-#   ifdef GC_WIN32_THREADS
-      GC_ASSERT(GC_is_initialized);
-#   endif
-    LOCK();
-    result = GC_current_warn_proc;
-    GC_current_warn_proc = p;
-    UNLOCK();
-    return(result);
-}
-
-GC_word GC_set_free_space_divisor (GC_word value)
-{
-    GC_word old = GC_free_space_divisor;
-    GC_free_space_divisor = value;
-    return old;
-}
-
-#ifndef PCR
-void GC_abort(const char *msg)
-{
-#   if defined(MSWIN32)
-      (void) MessageBoxA(NULL, msg, "Fatal error in gc", MB_ICONERROR|MB_OK);
-#   else
-      GC_err_printf("%s\n", msg);
-#   endif
-    if (GETENV("GC_LOOP_ON_ABORT") != NULL) {
-	    /* In many cases it's easier to debug a running process.	*/
-	    /* It's arguably nicer to sleep, but that makes it harder	*/
-	    /* to look at the thread if the debugger doesn't know much	*/
-	    /* about threads.						*/
-	    for(;;) {}
-    }
-#   if defined(MSWIN32) || defined(MSWINCE)
-	DebugBreak();
-#   else
-        (void) abort();
-#   endif
-}
-#endif
-
-void GC_enable()
-{
-    LOCK();
-    GC_dont_gc--;
-    UNLOCK();
-}
-
-void GC_disable()
-{
-    LOCK();
-    GC_dont_gc++;
-    UNLOCK();
-}
-
-/* Helper procedures for new kind creation.	*/
-void ** GC_new_free_list_inner()
-{
-    void *result = GC_INTERNAL_MALLOC((MAXOBJGRANULES+1)*sizeof(ptr_t),
-		    		      PTRFREE);
-    if (result == 0) ABORT("Failed to allocate freelist for new kind");
-    BZERO(result, (MAXOBJGRANULES+1)*sizeof(ptr_t));
-    return result;
-}
-
-void ** GC_new_free_list()
-{
-    void *result;
-    LOCK();
-    result = GC_new_free_list_inner();
-    UNLOCK();
-    return result;
-}
-
-unsigned GC_new_kind_inner(void **fl, GC_word descr, int adjust, int clear)
-{
-    unsigned result = GC_n_kinds++;
-
-    if (GC_n_kinds > MAXOBJKINDS) ABORT("Too many kinds");
-    GC_obj_kinds[result].ok_freelist = fl;
-    GC_obj_kinds[result].ok_reclaim_list = 0;
-    GC_obj_kinds[result].ok_descriptor = descr;
-    GC_obj_kinds[result].ok_relocate_descr = adjust;
-    GC_obj_kinds[result].ok_init = clear;
-    return result;
-}
-
-unsigned GC_new_kind(void **fl, GC_word descr, int adjust, int clear)
-{
-    unsigned result;
-    LOCK();
-    result = GC_new_kind_inner(fl, descr, adjust, clear);
-    UNLOCK();
-    return result;
-}
-
-unsigned GC_new_proc_inner(GC_mark_proc proc)
-{
-    unsigned result = GC_n_mark_procs++;
-
-    if (GC_n_mark_procs > MAX_MARK_PROCS) ABORT("Too many mark procedures");
-    GC_mark_procs[result] = proc;
-    return result;
-}
-
-unsigned GC_new_proc(GC_mark_proc proc)
-{
-    unsigned result;
-    LOCK();
-    result = GC_new_proc_inner(proc);
-    UNLOCK();
-    return result;
-}
-
-void * GC_call_with_stack_base(GC_stack_base_func fn, void *arg)
-{
-    int dummy;
-    struct GC_stack_base base;
-
-    base.mem_base = (void *)&dummy;
-#   ifdef IA64
-      base.reg_base = (void *)GC_save_regs_in_stack();
-      /* Unnecessarily flushes register stack, 		*/
-      /* but that probably doesn't hurt.		*/
-#   endif
-    return fn(&base, arg);
-}
-
-#if !defined(NO_DEBUGGING)
-
-void GC_dump()
-{
-    GC_printf("***Static roots:\n");
-    GC_print_static_roots();
-    GC_printf("\n***Heap sections:\n");
-    GC_print_heap_sects();
-    GC_printf("\n***Free blocks:\n");
-    GC_print_hblkfreelist();
-    GC_printf("\n***Blocks in use:\n");
-    GC_print_block_list();
-    GC_printf("\n***Finalization statistics:\n");
-    GC_print_finalization_stats();
-}
-
-#endif /* NO_DEBUGGING */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/missing b/SRC/Boost/tools/build/v2/engine/boehm_gc/missing
deleted file mode 100755
index e2290a5..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/missing
+++ /dev/null
@@ -1,336 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
-  exit 1
-fi
-
-run=:
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
-
-case "$1" in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
-
-  -h|--h|--he|--hel|--help)
-    echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
-  -h, --help      display this help and exit
-  -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
-    ;;
-
-  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing 0.4 - GNU automake"
-    ;;
-
-  -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
-    exit 1
-    ;;
-
-  aclocal*)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case "$f" in
-      *:*) touch_files="$touch_files "`echo "$f" |
-				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-	   sed 's/\.am$/.in/' |
-	   while read f; do touch "$f"; done
-    ;;
-
-  autom4te)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
-         system.  You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1Help2man' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
-    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
-    if test -f "$file"; then
-	touch $file
-    else
-	test -z "$file" || exec >$file
-	echo "#! /bin/sh"
-	echo "# Created by GNU Automake missing as a replacement of"
-	echo "#  $ $@"
-	echo "exit 0"
-	chmod +x $file
-	exit 1
-    fi
-    ;;
-
-  bison|yacc)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if [ $# -ne 1 ]; then
-        eval LASTARG="\${$#}"
-	case "$LASTARG" in
-	*.y)
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-	    if [ -f "$SRCFILE" ]; then
-	         cp "$SRCFILE" y.tab.c
-	    fi
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-	    if [ -f "$SRCFILE" ]; then
-	         cp "$SRCFILE" y.tab.h
-	    fi
-	  ;;
-	esac
-    fi
-    if [ ! -f y.tab.h ]; then
-	echo >y.tab.h
-    fi
-    if [ ! -f y.tab.c ]; then
-	echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex|flex)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if [ $# -ne 1 ]; then
-        eval LASTARG="\${$#}"
-	case "$LASTARG" in
-	*.l)
-	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-	    if [ -f "$SRCFILE" ]; then
-	         cp "$SRCFILE" lex.yy.c
-	    fi
-	  ;;
-	esac
-    fi
-    if [ ! -f lex.yy.c ]; then
-	echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-	 you modified a dependency of a manual page.  You may need the
-	 \`Help2man' package in order for those modifications to take
-	 effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-    if test -z "$file"; then
-	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
-    fi
-    if [ -f "$file" ]; then
-	touch $file
-    else
-	test -z "$file" || exec >$file
-	echo ".ab help2man is required to generate this page"
-	exit 1
-    fi
-    ;;
-
-  makeinfo)
-    if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
-       # We have makeinfo, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-    if test -z "$file"; then
-      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
-    fi
-    touch $file
-    ;;
-
-  tar)
-    shift
-    if test -n "$run"; then
-      echo 1>&2 "ERROR: \`tar' requires --run"
-      exit 1
-    fi
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar ${1+"$@"} && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar ${1+"$@"} && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-	case "$firstarg" in
-	*o*)
-	    firstarg=`echo "$firstarg" | sed s/o//`
-	    tar "$firstarg" ${1+"$@"} && exit 0
-	    ;;
-	esac
-	case "$firstarg" in
-	*h*)
-	    firstarg=`echo "$firstarg" | sed s/h//`
-	    tar "$firstarg" ${1+"$@"} && exit 0
-	    ;;
-	esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
-         system.  You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequirements for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
-
-exit 0
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/mkinstalldirs b/SRC/Boost/tools/build/v2/engine/boehm_gc/mkinstalldirs
deleted file mode 100755
index e5a2afe..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/mkinstalldirs
+++ /dev/null
@@ -1,101 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman at prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-# $Id: mkinstalldirs,v 1.1.1.1 2005/10/10 22:33:34 hboehm Exp $
-
-errstatus=0
-dirmode=""
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
-
-# process command line arguments
-while test $# -gt 0 ; do
-   case "${1}" in
-     -h | --help | --h* )			# -h for help
-	echo "${usage}" 1>&2; exit 0 ;;
-     -m )					# -m PERM arg
-	shift
-	test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
-	dirmode="${1}"
-	shift ;;
-     -- ) shift; break ;;			# stop option processing
-     -* ) echo "${usage}" 1>&2; exit 1 ;;	# unknown option
-     * )  break ;;				# first non-opt arg
-   esac
-done
-
-for file
-do
-  if test -d "$file"; then
-    shift
-  else
-    break
-  fi
-done
-
-case $# in
-0) exit 0 ;;
-esac
-
-case $dirmode in
-'')
-  if mkdir -p -- . 2>/dev/null; then
-    echo "mkdir -p -- $*"
-    exec mkdir -p -- "$@"
-  fi ;;
-*)
-  if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
-    echo "mkdir -m $dirmode -p -- $*"
-    exec mkdir -m "$dirmode" -p -- "$@"
-  fi ;;
-esac
-
-for file
-do
-   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
-   shift
-
-   pathcomp=
-   for d
-   do
-     pathcomp="$pathcomp$d"
-     case "$pathcomp" in
-       -* ) pathcomp=./$pathcomp ;;
-     esac
-
-     if test ! -d "$pathcomp"; then
-	echo "mkdir $pathcomp"
-
-	mkdir "$pathcomp" || lasterr=$?
-
-	if test ! -d "$pathcomp"; then
-	  errstatus=$lasterr
-	else
-	  if test ! -z "$dirmode"; then
-	     echo "chmod $dirmode $pathcomp"
-
-	     lasterr=""
-	     chmod "$dirmode" "$pathcomp" || lasterr=$?
-
-	     if test ! -z "$lasterr"; then
-	       errstatus=$lasterr
-	     fi
-	  fi
-	fi
-     fi
-
-     pathcomp="$pathcomp/"
-   done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 3
-# End:
-# mkinstalldirs ends here
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/msvc_dbg.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/msvc_dbg.c
deleted file mode 100755
index 1a644c2..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/msvc_dbg.c
+++ /dev/null
@@ -1,348 +0,0 @@
-/*
-  Copyright (c) 2004 Andrei Polushin
-
-  Permission is hereby granted, free of charge,  to any person obtaining a copy
-  of this software and associated documentation files (the "Software"), to deal
-  in the Software without restriction,  including without limitation the rights
-  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-  copies of the Software, and to permit persons to whom the Software is
-  furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included in
-  all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-  THE SOFTWARE.
-*/
-#ifndef _M_AMD64
-
-/* X86_64 is ccurrently missing some meachine-dependent code below. */
-
-#include "private/msvc_dbg.h"
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-#pragma pack(push, 8)
-#include <imagehlp.h>
-#pragma pack(pop)
-
-#pragma comment(lib, "dbghelp.lib")
-#pragma optimize("gy", off)
-
-#ifdef _WIN64
-	typedef ULONG_PTR ULONG_ADDR;
-#else
-	typedef ULONG     ULONG_ADDR;
-#endif
-
-static HANDLE GetSymHandle()
-{
-	static HANDLE symHandle = NULL;
-	if (!symHandle) {
-		BOOL bRet = SymInitialize(symHandle = GetCurrentProcess(), NULL, FALSE);
-		if (bRet) {
-			DWORD dwOptions = SymGetOptions();
-			dwOptions &= ~SYMOPT_UNDNAME;
-			dwOptions |= SYMOPT_LOAD_LINES;
-			SymSetOptions(dwOptions);
-		}
-	}
-	return symHandle;
-}
-
-static void* CALLBACK FunctionTableAccess(HANDLE hProcess, ULONG_ADDR dwAddrBase)
-{
-	return SymFunctionTableAccess(hProcess, dwAddrBase);
-}
-
-static ULONG_ADDR CALLBACK GetModuleBase(HANDLE hProcess, ULONG_ADDR dwAddress)
-{
-	MEMORY_BASIC_INFORMATION memoryInfo;
-	ULONG_ADDR dwAddrBase = SymGetModuleBase(hProcess, dwAddress);
-	if (dwAddrBase) {
-		return dwAddrBase;
-	}
-	if (VirtualQueryEx(hProcess, (void*)(ULONG_PTR)dwAddress, &memoryInfo, sizeof(memoryInfo))) {
-		char filePath[_MAX_PATH];
-		char curDir[_MAX_PATH];
-		char exePath[_MAX_PATH];
-		DWORD size = GetModuleFileNameA((HINSTANCE)memoryInfo.AllocationBase, filePath, sizeof(filePath));
-
-		// Save and restore current directory around SymLoadModule, see KB article Q189780
-		GetCurrentDirectoryA(sizeof(curDir), curDir);
-		GetModuleFileNameA(NULL, exePath, sizeof(exePath));
-		strcat_s(exePath, sizeof(exePath), "\\..");
-		SetCurrentDirectoryA(exePath);
-#ifdef _DEBUG
-		GetCurrentDirectoryA(sizeof(exePath), exePath);
-#endif
-		SymLoadModule(hProcess, NULL, size ? filePath : NULL, NULL, (ULONG_ADDR)(ULONG_PTR)memoryInfo.AllocationBase, 0);
-		SetCurrentDirectoryA(curDir);
-	}
-	return (ULONG_ADDR)(ULONG_PTR)memoryInfo.AllocationBase;
-}
-
-static ULONG_ADDR CheckAddress(void* address)
-{
-	ULONG_ADDR dwAddress = (ULONG_ADDR)(ULONG_PTR)address;
-	GetModuleBase(GetSymHandle(), dwAddress);
-	return dwAddress;
-}
-
-size_t GetStackFrames(size_t skip, void* frames[], size_t maxFrames)
-{
-	HANDLE hProcess = GetSymHandle();
-	HANDLE hThread = GetCurrentThread();
-	CONTEXT context;
-	context.ContextFlags = CONTEXT_FULL;
-	if (!GetThreadContext(hThread, &context)) {
-		return 0;
-	}
-	// GetThreadContext might return invalid context for the current thread
-#if defined(_M_IX86)
-    __asm mov context.Ebp, ebp
-#endif
-	return GetStackFramesFromContext(hProcess, hThread, &context, skip + 1, frames, maxFrames);
-}
-
-size_t GetStackFramesFromContext(HANDLE hProcess, HANDLE hThread, CONTEXT* context, size_t skip, void* frames[], size_t maxFrames)
-{
-	size_t frameIndex;
-	DWORD machineType;
-	STACKFRAME stackFrame = { 0 };
-	stackFrame.AddrPC.Mode      = AddrModeFlat;
-#if defined(_M_IX86)
-	machineType                 = IMAGE_FILE_MACHINE_I386;
-	stackFrame.AddrPC.Offset    = context->Eip;
-	stackFrame.AddrStack.Mode   = AddrModeFlat;
-	stackFrame.AddrStack.Offset = context->Esp;
-	stackFrame.AddrFrame.Mode   = AddrModeFlat;
-	stackFrame.AddrFrame.Offset = context->Ebp;
-#elif defined(_M_MRX000)
-	machineType                 = IMAGE_FILE_MACHINE_R4000;
-	stackFrame.AddrPC.Offset    = context->Fir;
-#elif defined(_M_ALPHA)
-	machineType                 = IMAGE_FILE_MACHINE_ALPHA;
-	stackFrame.AddrPC.Offset    = (unsigned long)context->Fir;
-#elif defined(_M_PPC)
-	machineType                 = IMAGE_FILE_MACHINE_POWERPC;
-	stackFrame.AddrPC.Offset    = context->Iar;
-#elif defined(_M_IA64)
-	machineType                 = IMAGE_FILE_MACHINE_IA64;
-	stackFrame.AddrPC.Offset    = context->StIIP;
-#elif defined(_M_ALPHA64)
-	machineType                 = IMAGE_FILE_MACHINE_ALPHA64;
-	stackFrame.AddrPC.Offset    = context->Fir;
-#else
-#error Unknown CPU
-#endif
-	for (frameIndex = 0; frameIndex < maxFrames; ) {
-		BOOL bRet = StackWalk(machineType, hProcess, hThread, &stackFrame, &context, NULL, FunctionTableAccess, GetModuleBase, NULL);
-		if (!bRet) {
-			break;
-		}
-		if (skip) {
-			skip--;
-		} else {
-			frames[frameIndex++] = (void*)(ULONG_PTR)stackFrame.AddrPC.Offset;
-		}
-	}
-	return frameIndex;
-}
-
-size_t GetModuleNameFromAddress(void* address, char* moduleName, size_t size)
-{
-	if (size) *moduleName = 0;
-	{
-		const char* sourceName;
-		IMAGEHLP_MODULE moduleInfo = { sizeof (moduleInfo) };
-		if (!SymGetModuleInfo(GetSymHandle(), CheckAddress(address), &moduleInfo)) {
-			return 0;
-		}
-		sourceName = strrchr(moduleInfo.ImageName, '\\');
-		if (sourceName) {
-			sourceName++;
-		} else {
-			sourceName = moduleInfo.ImageName;
-		}
-		if (size) {
-			strncpy(moduleName, sourceName, size)[size - 1] = 0;
-		}
-		return strlen(sourceName);
-	}
-}
-
-size_t GetModuleNameFromStack(size_t skip, char* moduleName, size_t size)
-{
-	void* address = NULL;
-	GetStackFrames(skip + 1, &address, 1);
-	if (address) {
-		return GetModuleNameFromAddress(address, moduleName, size);
-	}
-	return 0;
-}
-
-size_t GetSymbolNameFromAddress(void* address, char* symbolName, size_t size, size_t* offsetBytes)
-{
-	if (size) *symbolName = 0;
-	if (offsetBytes) *offsetBytes = 0;
-	__try {
-		ULONG_ADDR dwOffset = 0;
-		union {
-			IMAGEHLP_SYMBOL sym;
-			char symNameBuffer[sizeof(IMAGEHLP_SYMBOL) + MAX_SYM_NAME];
-		} u;
-		u.sym.SizeOfStruct  = sizeof(u.sym);
-		u.sym.MaxNameLength = sizeof(u.symNameBuffer) - sizeof(u.sym);
-
-		if (!SymGetSymFromAddr(GetSymHandle(), CheckAddress(address), &dwOffset, &u.sym)) {
-			return 0;
-		} else {
-			const char* sourceName = u.sym.Name;
-			char undName[1024];
-			if (UnDecorateSymbolName(u.sym.Name, undName, sizeof(undName), UNDNAME_NO_MS_KEYWORDS | UNDNAME_NO_ACCESS_SPECIFIERS)) {
-				sourceName = undName;
-			} else if (SymUnDName(&u.sym, undName, sizeof(undName))) {
-				sourceName = undName;
-			}
-			if (offsetBytes) {
-				*offsetBytes = dwOffset;
-			}
-			if (size) {
-				strncpy(symbolName, sourceName, size)[size - 1] = 0;
-			}
-			return strlen(sourceName);
-		}
-	} __except (EXCEPTION_EXECUTE_HANDLER) {
-		SetLastError(GetExceptionCode());
-	}
-	return 0;
-}
-
-size_t GetSymbolNameFromStack(size_t skip, char* symbolName, size_t size, size_t* offsetBytes)
-{
-	void* address = NULL;
-	GetStackFrames(skip + 1, &address, 1);
-	if (address) {
-		return GetSymbolNameFromAddress(address, symbolName, size, offsetBytes);
-	}
-	return 0;
-}
-
-size_t GetFileLineFromAddress(void* address, char* fileName, size_t size, size_t* lineNumber, size_t* offsetBytes)
-{
-	if (size) *fileName = 0;
-	if (lineNumber) *lineNumber = 0;
-	if (offsetBytes) *offsetBytes = 0;
-	{
-		char* sourceName;
-		IMAGEHLP_LINE line = { sizeof (line) };
-		ULONG_PTR dwOffset = 0;
-		if (!SymGetLineFromAddr(GetSymHandle(), CheckAddress(address), &dwOffset, &line)) {
-			return 0;
-		}
-		if (lineNumber) {
-			*lineNumber = line.LineNumber;
-		}
-		if (offsetBytes) {
-			*offsetBytes = dwOffset;
-		}
-		sourceName = line.FileName;
-		// TODO: resolve relative filenames, found in 'source directories' registered with MSVC IDE.
-		if (size) {
-			strncpy(fileName, sourceName, size)[size - 1] = 0;
-		}
-		return strlen(sourceName);
-	}
-}
-
-size_t GetFileLineFromStack(size_t skip, char* fileName, size_t size, size_t* lineNumber, size_t* offsetBytes)
-{
-	void* address = NULL;
-	GetStackFrames(skip + 1, &address, 1);
-	if (address) {
-		return GetFileLineFromAddress(address, fileName, size, lineNumber, offsetBytes);
-	}
-	return 0;
-}
-
-size_t GetDescriptionFromAddress(void* address, const char* format, char* buffer, size_t size)
-{
-	char*const begin = buffer;
-	char*const end = buffer + size;
-	size_t line_number = 0;
-	char   str[128];
-
-	if (size) {
-		*buffer = 0;
-	}
-	buffer += GetFileLineFromAddress(address, buffer, size, &line_number, NULL);
-	size = end < buffer ? 0 : end - buffer;
-
-	if (line_number) {
-		wsprintf(str, "(%d) : ", line_number);
-		if (size) {
-			strncpy(buffer, str, size)[size - 1] = 0;
-		}
-		buffer += strlen(str);
-		size = end < buffer ? 0 : end - buffer;
-	}
-
-	if (size) {
-		strncpy(buffer, "at ", size)[size - 1] = 0;
-	}
-	buffer += strlen("at ");
-	size = end < buffer ? 0 : end - buffer;
-
-	buffer += GetSymbolNameFromAddress(address, buffer, size, NULL);
-	size = end < buffer ? 0 : end - buffer;
-
-	if (size) {
-		strncpy(buffer, " in ", size)[size - 1] = 0;
-	}
-	buffer += strlen(" in ");
-	size = end < buffer ? 0 : end - buffer;
-	
-	buffer += GetModuleNameFromAddress(address, buffer, size);
-	size = end < buffer ? 0 : end - buffer;
-	
-	return buffer - begin;
-}
-
-size_t GetDescriptionFromStack(void*const frames[], size_t count, const char* format, char* description[], size_t size)
-{
-	char*const begin = (char*)description;
-	char*const end = begin + size;
-	char* buffer = begin + (count + 1) * sizeof(char*);
-	size_t i;
-	for (i = 0; i < count; ++i) {
-		if (description) description[i] = buffer;
-		size = end < buffer ? 0 : end - buffer;
-		buffer += 1 + GetDescriptionFromAddress(frames[i], NULL, buffer, size);
-	}
-	if (description) description[count] = NULL;
-	return buffer - begin;
-}
-
-/* Compatibility with <execinfo.h> */
-
-int backtrace(void* addresses[], int count)
-{
-	return GetStackFrames(1, addresses, count);
-}
-
-char** backtrace_symbols(void*const* addresses, int count)
-{
-	size_t size = GetDescriptionFromStack(addresses, count, NULL, NULL, 0);
-	char** symbols = (char**)malloc(size);
-	GetDescriptionFromStack(addresses, count, NULL, symbols, size);
-	return symbols;
-}
-
-#endif /* !_M_AMD64 */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/new_hblk.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/new_hblk.c
deleted file mode 100755
index 78a1b28..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/new_hblk.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 2000 by Hewlett-Packard Company.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * This file contains the functions:
- *	ptr_t GC_build_flXXX(h, old_fl)
- *	void GC_new_hblk(size)
- */
-/* Boehm, May 19, 1994 2:09 pm PDT */
-
-
-# include <stdio.h>
-# include "private/gc_priv.h"
-
-#ifndef SMALL_CONFIG
-/*
- * Build a free list for size 2 (words) cleared objects inside hblk h.
- * Set the last link to
- * be ofl.  Return a pointer tpo the first free list entry.
- */
-ptr_t GC_build_fl_clear2(struct hblk *h, ptr_t ofl)
-{
-    word * p = (word *)(h -> hb_body);
-    word * lim = (word *)(h + 1);
-    
-    p[0] = (word)ofl;
-    p[1] = 0;
-    p[2] = (word)p;
-    p[3] = 0;
-    p += 4;
-    for (; p < lim; p += 4) {
-        p[0] = (word)(p-2);
-        p[1] = 0;
-        p[2] = (word)p;
-        p[3] = 0;
-    };
-    return((ptr_t)(p-2));
-}
-
-/* The same for size 4 cleared objects */
-ptr_t GC_build_fl_clear4(struct hblk *h, ptr_t ofl)
-{
-    word * p = (word *)(h -> hb_body);
-    word * lim = (word *)(h + 1);
-    
-    p[0] = (word)ofl;
-    p[1] = 0;
-    p[2] = 0;
-    p[3] = 0;
-    p += 4;
-    for (; p < lim; p += 4) {
-	PREFETCH_FOR_WRITE((ptr_t)(p+64));
-        p[0] = (word)(p-4);
-        p[1] = 0;
-	CLEAR_DOUBLE(p+2);
-    };
-    return((ptr_t)(p-4));
-}
-
-/* The same for size 2 uncleared objects */
-ptr_t GC_build_fl2(struct hblk *h, ptr_t ofl)
-{
-    word * p = (word *)(h -> hb_body);
-    word * lim = (word *)(h + 1);
-    
-    p[0] = (word)ofl;
-    p[2] = (word)p;
-    p += 4;
-    for (; p < lim; p += 4) {
-        p[0] = (word)(p-2);
-        p[2] = (word)p;
-    };
-    return((ptr_t)(p-2));
-}
-
-/* The same for size 4 uncleared objects */
-ptr_t GC_build_fl4(struct hblk *h, ptr_t ofl)
-{
-    word * p = (word *)(h -> hb_body);
-    word * lim = (word *)(h + 1);
-    
-    p[0] = (word)ofl;
-    p[4] = (word)p;
-    p += 8;
-    for (; p < lim; p += 8) {
-	PREFETCH_FOR_WRITE((ptr_t)(p+64));
-        p[0] = (word)(p-4);
-        p[4] = (word)p;
-    };
-    return((ptr_t)(p-4));
-}
-
-#endif /* !SMALL_CONFIG */
-
-
-/* Build a free list for objects of size sz inside heap block h.	*/
-/* Clear objects inside h if clear is set.  Add list to the end of	*/
-/* the free list we build.  Return the new free list.			*/
-/* This could be called without the main GC lock, if we ensure that	*/
-/* there is no concurrent collection which might reclaim objects that	*/
-/* we have not yet allocated.						*/
-ptr_t GC_build_fl(struct hblk *h, size_t sz, GC_bool clear, ptr_t list)
-{
-  word *p, *prev;
-  word *last_object;		/* points to last object in new hblk	*/
-
-  /* Do a few prefetches here, just because its cheap.  	*/
-  /* If we were more serious about it, these should go inside	*/
-  /* the loops.  But write prefetches usually don't seem to	*/
-  /* matter much.						*/
-    PREFETCH_FOR_WRITE((ptr_t)h);
-    PREFETCH_FOR_WRITE((ptr_t)h + 128);
-    PREFETCH_FOR_WRITE((ptr_t)h + 256);
-    PREFETCH_FOR_WRITE((ptr_t)h + 378);
-  /* Handle small objects sizes more efficiently.  For larger objects 	*/
-  /* the difference is less significant.				*/
-#  ifndef SMALL_CONFIG
-    switch (sz) {
-        case 2: if (clear) {
-        	    return GC_build_fl_clear2(h, list);
-        	} else {
-        	    return GC_build_fl2(h, list);
-        	}
-        case 4: if (clear) {
-        	    return GC_build_fl_clear4(h, list);
-        	} else {
-        	    return GC_build_fl4(h, list);
-        	}
-        default:
-        	break;
-    }
-#  endif /* !SMALL_CONFIG */
-    
-  /* Clear the page if necessary. */
-    if (clear) BZERO(h, HBLKSIZE);
-    
-  /* Add objects to free list */
-    p = (word *)(h -> hb_body) + sz;	/* second object in *h	*/
-    prev = (word *)(h -> hb_body);       	/* One object behind p	*/
-    last_object = (word *)((char *)h + HBLKSIZE);
-    last_object -= sz;
-			    /* Last place for last object to start */
-
-  /* make a list of all objects in *h with head as last object */
-    while (p <= last_object) {
-      /* current object's link points to last object */
-        obj_link(p) = (ptr_t)prev;
-	prev = p;
-	p += sz;
-    }
-    p -= sz;			/* p now points to last object */
-
-  /*
-   * put p (which is now head of list of objects in *h) as first
-   * pointer in the appropriate free list for this size.
-   */
-      obj_link(h -> hb_body) = list;
-      return ((ptr_t)p);
-}
-
-
-/*
- * Allocate a new heapblock for small objects of size gran granules.
- * Add all of the heapblock's objects to the free list for objects
- * of that size.
- * Set all mark bits if objects are uncollectable.
- * Will fail to do anything if we are out of memory.
- */
-void GC_new_hblk(size_t gran, int kind)
-{
-  struct hblk *h;	/* the new heap block			*/
-  GC_bool clear = GC_obj_kinds[kind].ok_init;
-
-  /* Ignore gcc "no effect" warning on the following: */
-  GC_STATIC_ASSERT((sizeof (struct hblk)) == HBLKSIZE);
-  
-  if (GC_debugging_started) clear = TRUE;
-
-  /* Allocate a new heap block */
-    h = GC_allochblk(GRANULES_TO_BYTES(gran), kind, 0);
-    if (h == 0) return;
-
-  /* Mark all objects if appropriate. */
-      if (IS_UNCOLLECTABLE(kind)) GC_set_hdr_marks(HDR(h));
-
-  /* Build the free list */
-      GC_obj_kinds[kind].ok_freelist[gran] =
-	GC_build_fl(h, GRANULES_TO_WORDS(gran), clear,
-		    GC_obj_kinds[kind].ok_freelist[gran]);
-}
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/obj_map.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/obj_map.c
deleted file mode 100755
index bb6acf9..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/obj_map.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991, 1992 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1999-2001 by Hewlett-Packard Company. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-  
-/* Routines for maintaining maps describing heap block
- * layouts for various object sizes.  Allows fast pointer validity checks
- * and fast location of object start locations on machines (such as SPARC)
- * with slow division.
- */
- 
-# include "private/gc_priv.h"
-
-/* Consider pointers that are offset bytes displaced from the beginning */
-/* of an object to be valid.                                            */
-
-void GC_register_displacement(size_t offset)
-{
-    DCL_LOCK_STATE;
-    
-    LOCK();
-    GC_register_displacement_inner(offset);
-    UNLOCK();
-}
-
-void GC_register_displacement_inner(size_t offset) 
-{
-    if (offset >= VALID_OFFSET_SZ) {
-        ABORT("Bad argument to GC_register_displacement");
-    }
-    if (!GC_valid_offsets[offset]) {
-      GC_valid_offsets[offset] = TRUE;
-      GC_modws_valid_offsets[offset % sizeof(word)] = TRUE;
-    }
-}
-
-#ifdef MARK_BIT_PER_GRANULE
-/* Add a heap block map for objects of size granules to obj_map.	*/
-/* Return FALSE on failure.						*/
-/* A size of 0 granules is used for large objects.			*/
-GC_bool GC_add_map_entry(size_t granules)
-{
-    unsigned displ;
-    short * new_map;
-    
-    if (granules > BYTES_TO_GRANULES(MAXOBJBYTES)) granules = 0;
-    if (GC_obj_map[granules] != 0) {
-        return(TRUE);
-    }
-    new_map = (short *)GC_scratch_alloc(MAP_LEN * sizeof(short));
-    if (new_map == 0) return(FALSE);
-    if (GC_print_stats)
-        GC_printf("Adding block map for size of %u granules (%u bytes)\n",
-		  (unsigned)granules, (unsigned)(GRANULES_TO_BYTES(granules)));
-    if (granules == 0) {
-      for (displ = 0; displ < BYTES_TO_GRANULES(HBLKSIZE); displ++) {
-        new_map[displ] = 1;  /* Nonzero to get us out of marker fast path. */
-      }
-    } else {
-      for (displ = 0; displ < BYTES_TO_GRANULES(HBLKSIZE); displ++) {
-	new_map[displ] = (short)(displ % granules);
-      }
-    }
-    GC_obj_map[granules] = new_map;
-    return(TRUE);
-}
-#endif
-
-static GC_bool offsets_initialized = FALSE;
-
-void GC_initialize_offsets(void)
-{
-    if (!offsets_initialized) {
-      int i;
-      if (GC_all_interior_pointers) {
-	for (i = 0; i < VALID_OFFSET_SZ; ++i) GC_valid_offsets[i] = TRUE;
-      }
-      offsets_initialized = TRUE;
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/os_dep.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/os_dep.c
deleted file mode 100755
index 36f0d6c..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/os_dep.c
+++ /dev/null
@@ -1,4333 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 1999 by Hewlett-Packard Company.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-# include "private/gc_priv.h"
-# ifdef THREADS
-#   include "atomic_ops.h"
-# endif
-
-# if defined(LINUX) && !defined(POWERPC)
-#   include <linux/version.h>
-#   if (LINUX_VERSION_CODE <= 0x10400)
-      /* Ugly hack to get struct sigcontext_struct definition.  Required      */
-      /* for some early 1.3.X releases.  Will hopefully go away soon. */
-      /* in some later Linux releases, asm/sigcontext.h may have to   */
-      /* be included instead.                                         */
-#     define __KERNEL__
-#     include <asm/signal.h>
-#     undef __KERNEL__
-#   else
-      /* Kernels prior to 2.1.1 defined struct sigcontext_struct instead of */
-      /* struct sigcontext.  libc6 (glibc2) uses "struct sigcontext" in     */
-      /* prototypes, so we have to include the top-level sigcontext.h to    */
-      /* make sure the former gets defined to be the latter if appropriate. */
-#     include <features.h>
-#     if 2 <= __GLIBC__
-#       if 2 == __GLIBC__ && 0 == __GLIBC_MINOR__
-	  /* glibc 2.1 no longer has sigcontext.h.  But signal.h	*/
-	  /* has the right declaration for glibc 2.1.			*/
-#         include <sigcontext.h>
-#       endif /* 0 == __GLIBC_MINOR__ */
-#     else /* not 2 <= __GLIBC__ */
-        /* libc5 doesn't have <sigcontext.h>: go directly with the kernel   */
-        /* one.  Check LINUX_VERSION_CODE to see which we should reference. */
-#       include <asm/sigcontext.h>
-#     endif /* 2 <= __GLIBC__ */
-#   endif
-# endif
-# if !defined(OS2) && !defined(PCR) && !defined(AMIGA) && !defined(MACOS) \
-    && !defined(MSWINCE)
-#   include <sys/types.h>
-#   if !defined(MSWIN32)
-#   	include <unistd.h>
-#   endif
-# endif
-
-# include <stdio.h>
-# if defined(MSWINCE)
-#   define SIGSEGV 0 /* value is irrelevant */
-# else
-#   include <signal.h>
-# endif
-
-#ifdef UNIX_LIKE
-# include <fcntl.h>
-#endif
-
-#if defined(LINUX) || defined(LINUX_STACKBOTTOM)
-# include <ctype.h>
-#endif
-
-/* Blatantly OS dependent routines, except for those that are related 	*/
-/* to dynamic loading.							*/
-
-#ifdef AMIGA
-# define GC_AMIGA_DEF
-# include "AmigaOS.c"
-# undef GC_AMIGA_DEF
-#endif
-
-#if defined(MSWIN32) || defined(MSWINCE) || defined(CYGWIN32)
-# define WIN32_LEAN_AND_MEAN
-# define NOSERVICE
-# include <windows.h>
-  /* It's not clear this is completely kosher under Cygwin.  But it	*/
-  /* allows us to get a working GC_get_stack_base.			*/
-#endif
-
-#ifdef MACOS
-# include <Processes.h>
-#endif
-
-#ifdef IRIX5
-# include <sys/uio.h>
-# include <malloc.h>   /* for locking */
-#endif
-
-#if defined(LINUX) || defined(FREEBSD) || defined(SOLARIS) || defined(IRIX5) \
-	|| defined(USE_MMAP) || defined(USE_MUNMAP)
-# define MMAP_SUPPORTED
-#endif
-
-#if defined(MMAP_SUPPORTED) || defined(ADD_HEAP_GUARD_PAGES)
-# if defined(USE_MUNMAP) && !defined(USE_MMAP)
-    --> USE_MUNMAP requires USE_MMAP
-# endif
-# include <sys/types.h>
-# include <sys/mman.h>
-# include <sys/stat.h>
-# include <errno.h>
-#endif
-
-#ifdef DARWIN
-/* for get_etext and friends */
-#include <mach-o/getsect.h>
-#endif
-
-#ifdef DJGPP
-  /* Apparently necessary for djgpp 2.01.  May cause problems with	*/
-  /* other versions.							*/
-  typedef long unsigned int caddr_t;
-#endif
-
-#ifdef PCR
-# include "il/PCR_IL.h"
-# include "th/PCR_ThCtl.h"
-# include "mm/PCR_MM.h"
-#endif
-
-#if !defined(NO_EXECUTE_PERMISSION)
-# define OPT_PROT_EXEC PROT_EXEC
-#else
-# define OPT_PROT_EXEC 0
-#endif
-
-#if defined(LINUX) && \
-    (defined(USE_PROC_FOR_LIBRARIES) || defined(IA64) || !defined(SMALL_CONFIG))
-# define NEED_PROC_MAPS
-#endif
-
-#ifdef NEED_PROC_MAPS
-/* We need to parse /proc/self/maps, either to find dynamic libraries,	*/
-/* and/or to find the register backing store base (IA64).  Do it once	*/
-/* here.								*/
-
-#define READ read
-
-/* Repeatedly perform a read call until the buffer is filled or	*/
-/* we encounter EOF.						*/
-ssize_t GC_repeat_read(int fd, char *buf, size_t count)
-{
-    ssize_t num_read = 0;
-    ssize_t result;
-    
-    while (num_read < count) {
-	result = READ(fd, buf + num_read, count - num_read);
-	if (result < 0) return result;
-	if (result == 0) break;
-	num_read += result;
-    }
-    return num_read;
-}
-
-/* Determine the length of a file by incrementally reading it into a 	*/
-/* This would be sily to use on a file supporting lseek, but Linux	*/
-/* /proc files usually do not.						*/
-size_t GC_get_file_len(int f)
-{
-    size_t total = 0;
-    ssize_t result;
-#   define GET_FILE_LEN_BUF_SZ 500
-    char buf[GET_FILE_LEN_BUF_SZ];
-
-    do {
-	result = read(f, buf, GET_FILE_LEN_BUF_SZ);
-	if (result == -1) return 0;
-	total += result;
-    } while (result > 0);
-    return total;
-}
-
-size_t GC_get_maps_len(void)
-{
-    int f = open("/proc/self/maps", O_RDONLY);
-    size_t result = GC_get_file_len(f);
-    close(f);
-    return result;
-}
-
-/*
- * Copy the contents of /proc/self/maps to a buffer in our address space.
- * Return the address of the buffer, or zero on failure.
- * This code could be simplified if we could determine its size
- * ahead of time.
- */
-char * GC_get_maps(void)
-{
-    int f;
-    int result;
-    static char init_buf[1];
-    static char *maps_buf = init_buf;
-    static size_t maps_buf_sz = 1;
-    size_t maps_size, old_maps_size = 0;
-
-    /* The buffer is essentially static, so there must be a single client. */
-    GC_ASSERT(I_HOLD_LOCK());
-
-    /* Note that in the presence of threads, the maps file can	*/
-    /* essentially shrink asynchronously and unexpectedly as 	*/
-    /* threads that we already think of as dead release their	*/
-    /* stacks.  And there is no easy way to read the entire	*/
-    /* file atomically.  This is arguably a misfeature of the	*/
-    /* /proc/.../maps interface.				*/
-
-    /* Since we dont believe the file can grow			*/
-    /* asynchronously, it should suffice to first determine	*/
-    /* the size (using lseek or read), and then to reread the	*/
-    /* file.  If the size is inconsistent we have to retry.	*/
-    /* This only matters with threads enabled, and if we use 	*/
-    /* this to locate roots (not the default).			*/
-
-    /* Determine the initial size of /proc/self/maps.		*/
-    /* Note that lseek doesn't work, at least as of 2.6.15.	*/
-#   ifdef THREADS
-	maps_size = GC_get_maps_len();
-	if (0 == maps_size) return 0;
-#   else
-	maps_size = 4000;	/* Guess */
-#   endif
-
-    /* Read /proc/self/maps, growing maps_buf as necessary.	*/
-    /* Note that we may not allocate conventionally, and	*/
-    /* thus can't use stdio.					*/
-	do {
-	    while (maps_size >= maps_buf_sz) {
-	      /* Grow only by powers of 2, since we leak "too small" buffers. */
-	      while (maps_size >= maps_buf_sz) maps_buf_sz *= 2;
-	      maps_buf = GC_scratch_alloc(maps_buf_sz);
-#	      ifdef THREADS
-	        /* Recompute initial length, since we allocated.	*/
-	        /* This can only happen a few times per program		*/
-	        /* execution.						*/
-	        maps_size = GC_get_maps_len();
-	        if (0 == maps_size) return 0;
-#	      endif
-	      if (maps_buf == 0) return 0;
-	    }
-	    GC_ASSERT(maps_buf_sz >= maps_size + 1);
-	    f = open("/proc/self/maps", O_RDONLY);
-	    if (-1 == f) return 0;
-#	    ifdef THREADS
-	      old_maps_size = maps_size;
-#	    endif
-	    maps_size = 0;
-	    do {
-	        result = GC_repeat_read(f, maps_buf, maps_buf_sz-1);
-	        if (result <= 0) return 0;
-	        maps_size += result;
-	    } while (result == maps_buf_sz-1);
-	    close(f);
-#	    ifdef THREADS
-	      if (maps_size > old_maps_size) {
-		GC_err_printf("Old maps size = %d, new maps size = %d\n",
-			      old_maps_size, maps_size);
-		ABORT("Unexpected asynchronous /proc/self/maps growth: "
-		      "Unregistered thread?");
-	      }
-#	    endif
-	} while (maps_size >= maps_buf_sz || maps_size < old_maps_size);
-		/* In the single-threaded case, the second clause is false.	*/
-        maps_buf[maps_size] = '\0';
-	
-    /* Apply fn to result. */
-	return maps_buf;
-}
-
-//
-//  GC_parse_map_entry parses an entry from /proc/self/maps so we can
-//  locate all writable data segments that belong to shared libraries.
-//  The format of one of these entries and the fields we care about
-//  is as follows:
-//  XXXXXXXX-XXXXXXXX r-xp 00000000 30:05 260537     name of mapping...\n
-//  ^^^^^^^^ ^^^^^^^^ ^^^^          ^^
-//  start    end      prot          maj_dev
-//
-//  Note that since about august 2003 kernels, the columns no longer have
-//  fixed offsets on 64-bit kernels.  Hence we no longer rely on fixed offsets
-//  anywhere, which is safer anyway.
-//
-
-/*
- * Assign various fields of the first line in buf_ptr to *start, *end,
- * *prot, *maj_dev and *mapping_name.  Mapping_name may be NULL.
- * *prot and *mapping_name are assigned pointers into the original
- * buffer.
- */
-char *GC_parse_map_entry(char *buf_ptr, ptr_t *start, ptr_t *end,
-                                char **prot, unsigned int *maj_dev,
-				char **mapping_name)
-{
-    char *start_start, *end_start, *maj_dev_start;
-    char *p;
-    char *endp;
-
-    if (buf_ptr == NULL || *buf_ptr == '\0') {
-        return NULL;
-    }
-
-    p = buf_ptr;
-    while (isspace(*p)) ++p;
-    start_start = p;
-    GC_ASSERT(isxdigit(*start_start));
-    *start = (ptr_t)strtoul(start_start, &endp, 16); p = endp;
-    GC_ASSERT(*p=='-');
-
-    ++p;
-    end_start = p;
-    GC_ASSERT(isxdigit(*end_start));
-    *end = (ptr_t)strtoul(end_start, &endp, 16); p = endp;
-    GC_ASSERT(isspace(*p));
-
-    while (isspace(*p)) ++p;
-    GC_ASSERT(*p == 'r' || *p == '-');
-    *prot = p;
-    /* Skip past protection field to offset field */
-       while (!isspace(*p)) ++p; while (isspace(*p)) ++p;
-    GC_ASSERT(isxdigit(*p));
-    /* Skip past offset field, which we ignore */
-          while (!isspace(*p)) ++p; while (isspace(*p)) ++p;
-    maj_dev_start = p;
-    GC_ASSERT(isxdigit(*maj_dev_start));
-    *maj_dev = strtoul(maj_dev_start, NULL, 16);
-
-    if (mapping_name == 0) {
-      while (*p && *p++ != '\n');
-    } else {
-      while (*p && *p != '\n' && *p != '/' && *p != '[') p++;
-      *mapping_name = p;
-      while (*p && *p++ != '\n');
-    }
-
-    return p;
-}
-
-/* Try to read the backing store base from /proc/self/maps.		*/
-/* Return the bounds of the writable mapping with a 0 major device,	*/
-/* which includes the address passed as data.				*/
-/* Return FALSE if there is no such mapping.				*/
-GC_bool GC_enclosing_mapping(ptr_t addr, ptr_t *startp, ptr_t *endp)
-{
-  char *prot;
-  ptr_t my_start, my_end;
-  unsigned int maj_dev;
-  char *maps = GC_get_maps();
-  char *buf_ptr = maps;
-  
-  if (0 == maps) return(FALSE);
-  for (;;) {
-    buf_ptr = GC_parse_map_entry(buf_ptr, &my_start, &my_end,
-		    	         &prot, &maj_dev, 0);
-
-    if (buf_ptr == NULL) return FALSE;
-    if (prot[1] == 'w' && maj_dev == 0) {
-        if (my_end > addr && my_start <= addr) {
-    	  *startp = my_start;
-	  *endp = my_end;
-	  return TRUE;
-	}
-    }
-  }
-  return FALSE;
-}
-
-/* Find the text(code) mapping for the library whose name starts with nm. */
-GC_bool GC_text_mapping(char *nm, ptr_t *startp, ptr_t *endp)
-{
-  size_t nm_len = strlen(nm);
-  char *prot;
-  char *map_path;
-  ptr_t my_start, my_end;
-  unsigned int maj_dev;
-  char *maps = GC_get_maps();
-  char *buf_ptr = maps;
-  
-  if (0 == maps) return(FALSE);
-  for (;;) {
-    buf_ptr = GC_parse_map_entry(buf_ptr, &my_start, &my_end,
-		    	         &prot, &maj_dev, &map_path);
-
-    if (buf_ptr == NULL) return FALSE;
-    if (prot[0] == 'r' && prot[1] == '-' && prot[2] == 'x' &&
-	strncmp(nm, map_path, nm_len) == 0) {
-    	  *startp = my_start;
-	  *endp = my_end;
-	  return TRUE;
-    }
-  }
-  return FALSE;
-}
-
-#ifdef IA64
-static ptr_t backing_store_base_from_proc(void)
-{
-    ptr_t my_start, my_end;
-    if (!GC_enclosing_mapping(GC_save_regs_in_stack(), &my_start, &my_end)) {
-	if (GC_print_stats) {
-	    GC_log_printf("Failed to find backing store base from /proc\n");
-	}
-	return 0;
-    }
-    return my_start;
-}
-#endif
-
-#endif /* NEED_PROC_MAPS */	
-
-#if defined(SEARCH_FOR_DATA_START)
-  /* The I386 case can be handled without a search.  The Alpha case	*/
-  /* used to be handled differently as well, but the rules changed	*/
-  /* for recent Linux versions.  This seems to be the easiest way to	*/
-  /* cover all versions.						*/
-
-# if defined(LINUX) || defined(HURD)
-    /* Some Linux distributions arrange to define __data_start.  Some	*/
-    /* define data_start as a weak symbol.  The latter is technically	*/
-    /* broken, since the user program may define data_start, in which	*/
-    /* case we lose.  Nonetheless, we try both, prefering __data_start.	*/
-    /* We assume gcc-compatible pragmas.	*/
-#   pragma weak __data_start
-    extern int __data_start[];
-#   pragma weak data_start
-    extern int data_start[];
-# endif /* LINUX */
-  extern int _end[];
-
-  ptr_t GC_data_start;
-
-  void GC_init_linux_data_start()
-  {
-    extern ptr_t GC_find_limit(ptr_t, GC_bool);
-
-#   if defined(LINUX) || defined(HURD)
-      /* Try the easy approaches first:	*/
-      if ((ptr_t)__data_start != 0) {
-	  GC_data_start = (ptr_t)(__data_start);
-	  return;
-      }
-      if ((ptr_t)data_start != 0) {
-	  GC_data_start = (ptr_t)(data_start);
-	  return;
-      }
-#   endif /* LINUX */
-    GC_data_start = GC_find_limit((ptr_t)(_end), FALSE);
-  }
-#endif
-
-# ifdef ECOS
-
-# ifndef ECOS_GC_MEMORY_SIZE
-# define ECOS_GC_MEMORY_SIZE (448 * 1024)
-# endif /* ECOS_GC_MEMORY_SIZE */
-
-// FIXME: This is a simple way of allocating memory which is
-// compatible with ECOS early releases.  Later releases use a more
-// sophisticated means of allocating memory than this simple static
-// allocator, but this method is at least bound to work.
-static char memory[ECOS_GC_MEMORY_SIZE];
-static char *brk = memory;
-
-static void *tiny_sbrk(ptrdiff_t increment)
-{
-  void *p = brk;
-
-  brk += increment;
-
-  if (brk >  memory + sizeof memory)
-    {
-      brk -= increment;
-      return NULL;
-    }
-
-  return p;
-}
-#define sbrk tiny_sbrk
-# endif /* ECOS */
-
-#if (defined(NETBSD) || defined(OPENBSD)) && defined(__ELF__)
-  ptr_t GC_data_start;
-
-  void GC_init_netbsd_elf(void)
-  {
-    extern ptr_t GC_find_limit(ptr_t, GC_bool);
-    extern char **environ;
-	/* This may need to be environ, without the underscore, for	*/
-	/* some versions.						*/
-    GC_data_start = GC_find_limit((ptr_t)&environ, FALSE);
-  }
-#endif
-
-# ifdef OS2
-
-# include <stddef.h>
-
-# if !defined(__IBMC__) && !defined(__WATCOMC__) /* e.g. EMX */
-
-struct exe_hdr {
-    unsigned short      magic_number;
-    unsigned short      padding[29];
-    long                new_exe_offset;
-};
-
-#define E_MAGIC(x)      (x).magic_number
-#define EMAGIC          0x5A4D  
-#define E_LFANEW(x)     (x).new_exe_offset
-
-struct e32_exe {
-    unsigned char       magic_number[2]; 
-    unsigned char       byte_order; 
-    unsigned char       word_order; 
-    unsigned long       exe_format_level;
-    unsigned short      cpu;       
-    unsigned short      os;
-    unsigned long       padding1[13];
-    unsigned long       object_table_offset;
-    unsigned long       object_count;    
-    unsigned long       padding2[31];
-};
-
-#define E32_MAGIC1(x)   (x).magic_number[0]
-#define E32MAGIC1       'L'
-#define E32_MAGIC2(x)   (x).magic_number[1]
-#define E32MAGIC2       'X'
-#define E32_BORDER(x)   (x).byte_order
-#define E32LEBO         0
-#define E32_WORDER(x)   (x).word_order
-#define E32LEWO         0
-#define E32_CPU(x)      (x).cpu
-#define E32CPU286       1
-#define E32_OBJTAB(x)   (x).object_table_offset
-#define E32_OBJCNT(x)   (x).object_count
-
-struct o32_obj {
-    unsigned long       size;  
-    unsigned long       base;
-    unsigned long       flags;  
-    unsigned long       pagemap;
-    unsigned long       mapsize; 
-    unsigned long       reserved;
-};
-
-#define O32_FLAGS(x)    (x).flags
-#define OBJREAD         0x0001L
-#define OBJWRITE        0x0002L
-#define OBJINVALID      0x0080L
-#define O32_SIZE(x)     (x).size
-#define O32_BASE(x)     (x).base
-
-# else  /* IBM's compiler */
-
-/* A kludge to get around what appears to be a header file bug */
-# ifndef WORD
-#   define WORD unsigned short
-# endif
-# ifndef DWORD
-#   define DWORD unsigned long
-# endif
-
-# define EXE386 1
-# include <newexe.h>
-# include <exe386.h>
-
-# endif  /* __IBMC__ */
-
-# define INCL_DOSEXCEPTIONS
-# define INCL_DOSPROCESS
-# define INCL_DOSERRORS
-# define INCL_DOSMODULEMGR
-# define INCL_DOSMEMMGR
-# include <os2.h>
-
-
-/* Disable and enable signals during nontrivial allocations	*/
-
-void GC_disable_signals(void)
-{
-    ULONG nest;
-    
-    DosEnterMustComplete(&nest);
-    if (nest != 1) ABORT("nested GC_disable_signals");
-}
-
-void GC_enable_signals(void)
-{
-    ULONG nest;
-    
-    DosExitMustComplete(&nest);
-    if (nest != 0) ABORT("GC_enable_signals");
-}
-
-
-# else
-
-#  if !defined(PCR) && !defined(AMIGA) && !defined(MSWIN32) \
-      && !defined(MSWINCE) \
-      && !defined(MACOS) && !defined(DJGPP) && !defined(DOS4GW) \
-      && !defined(NOSYS) && !defined(ECOS)
-
-#   if 0
-	/* Use the traditional BSD interface */
-#	define SIGSET_T int
-#	define SIG_DEL(set, signal) (set) &= ~(sigmask(signal))
-#	define SIG_FILL(set)  (set) = 0x7fffffff
-    	  /* Setting the leading bit appears to provoke a bug in some	*/
-    	  /* longjmp implementations.  Most systems appear not to have	*/
-    	  /* a signal 32.						*/
-#	define SIGSETMASK(old, new) (old) = sigsetmask(new)
-#   endif
-
-    /* Use POSIX/SYSV interface	*/
-#   define SIGSET_T sigset_t
-#   define SIG_DEL(set, signal) sigdelset(&(set), (signal))
-#   define SIG_FILL(set) sigfillset(&set)
-#   define SIGSETMASK(old, new) sigprocmask(SIG_SETMASK, &(new), &(old))
-
-
-static GC_bool mask_initialized = FALSE;
-
-static SIGSET_T new_mask;
-
-static SIGSET_T old_mask;
-
-static SIGSET_T dummy;
-
-#if defined(GC_ASSERTIONS) && !defined(THREADS)
-# define CHECK_SIGNALS
-  int GC_sig_disabled = 0;
-#endif
-
-void GC_disable_signals(void)
-{
-    if (!mask_initialized) {
-    	SIG_FILL(new_mask);
-
-	SIG_DEL(new_mask, SIGSEGV);
-	SIG_DEL(new_mask, SIGILL);
-	SIG_DEL(new_mask, SIGQUIT);
-#	ifdef SIGBUS
-	    SIG_DEL(new_mask, SIGBUS);
-#	endif
-#	ifdef SIGIOT
-	    SIG_DEL(new_mask, SIGIOT);
-#	endif
-#	ifdef SIGEMT
-	    SIG_DEL(new_mask, SIGEMT);
-#	endif
-#	ifdef SIGTRAP
-	    SIG_DEL(new_mask, SIGTRAP);
-#	endif 
-	mask_initialized = TRUE;
-    }
-#   ifdef CHECK_SIGNALS
-	if (GC_sig_disabled != 0) ABORT("Nested disables");
-	GC_sig_disabled++;
-#   endif
-    SIGSETMASK(old_mask,new_mask);
-}
-
-void GC_enable_signals(void)
-{
-#   ifdef CHECK_SIGNALS
-	if (GC_sig_disabled != 1) ABORT("Unmatched enable");
-	GC_sig_disabled--;
-#   endif
-    SIGSETMASK(dummy,old_mask);
-}
-
-#  endif  /* !PCR */
-
-# endif /*!OS/2 */
-
-/* Ivan Demakov: simplest way (to me) */
-#if defined (DOS4GW)
-  void GC_disable_signals() { }
-  void GC_enable_signals() { }
-#endif
-
-/* Find the page size */
-word GC_page_size;
-
-# if defined(MSWIN32) || defined(MSWINCE)
-  void GC_setpagesize(void)
-  {
-    GetSystemInfo(&GC_sysinfo);
-    GC_page_size = GC_sysinfo.dwPageSize;
-  }
-
-# else
-#   if defined(MPROTECT_VDB) || defined(PROC_VDB) || defined(USE_MMAP)
-	void GC_setpagesize(void)
-	{
-	    GC_page_size = GETPAGESIZE();
-	}
-#   else
-	/* It's acceptable to fake it. */
-	void GC_setpagesize(void)
-	{
-	    GC_page_size = HBLKSIZE;
-	}
-#   endif
-# endif
-
-/* 
- * Find the base of the stack. 
- * Used only in single-threaded environment.
- * With threads, GC_mark_roots needs to know how to do this.
- * Called with allocator lock held.
- */
-# if defined(MSWIN32) || defined(MSWINCE) || defined(CYGWIN32)
-# define is_writable(prot) ((prot) == PAGE_READWRITE \
-			    || (prot) == PAGE_WRITECOPY \
-			    || (prot) == PAGE_EXECUTE_READWRITE \
-			    || (prot) == PAGE_EXECUTE_WRITECOPY)
-/* Return the number of bytes that are writable starting at p.	*/
-/* The pointer p is assumed to be page aligned.			*/
-/* If base is not 0, *base becomes the beginning of the 	*/
-/* allocation region containing p.				*/
-word GC_get_writable_length(ptr_t p, ptr_t *base)
-{
-    MEMORY_BASIC_INFORMATION buf;
-    word result;
-    word protect;
-    
-    result = VirtualQuery(p, &buf, sizeof(buf));
-    if (result != sizeof(buf)) ABORT("Weird VirtualQuery result");
-    if (base != 0) *base = (ptr_t)(buf.AllocationBase);
-    protect = (buf.Protect & ~(PAGE_GUARD | PAGE_NOCACHE));
-    if (!is_writable(protect)) {
-        return(0);
-    }
-    if (buf.State != MEM_COMMIT) return(0);
-    return(buf.RegionSize);
-}
-
-int GC_get_stack_base(struct GC_stack_base *sb)
-{
-    int dummy;
-    ptr_t sp = (ptr_t)(&dummy);
-    ptr_t trunc_sp = (ptr_t)((word)sp & ~(GC_page_size - 1));
-    word size = GC_get_writable_length(trunc_sp, 0);
-   
-    sb -> mem_base = trunc_sp + size;
-    return GC_SUCCESS;
-}
-
-#define HAVE_GET_STACK_BASE
-
-/* This is always called from the main thread.	*/
-ptr_t GC_get_main_stack_base(void)
-{
-    struct GC_stack_base sb;
-
-    GC_get_stack_base(&sb);
-    return (ptr_t)sb.mem_base;
-}
-
-# endif /* MS Windows */
-
-# ifdef BEOS
-# include <kernel/OS.h>
-ptr_t GC_get_main_stack_base(void){
-	thread_info th;
-	get_thread_info(find_thread(NULL),&th);
-	return th.stack_end;
-}
-# endif /* BEOS */
-
-
-# ifdef OS2
-
-ptr_t GC_get_main_stack_base(void)
-{
-    PTIB ptib;
-    PPIB ppib;
-    
-    if (DosGetInfoBlocks(&ptib, &ppib) != NO_ERROR) {
-    	GC_err_printf("DosGetInfoBlocks failed\n");
-    	ABORT("DosGetInfoBlocks failed\n");
-    }
-    return((ptr_t)(ptib -> tib_pstacklimit));
-}
-
-# endif /* OS2 */
-
-# ifdef AMIGA
-#   define GC_AMIGA_SB
-#   include "AmigaOS.c"
-#   undef GC_AMIGA_SB
-# endif /* AMIGA */
-
-# if defined(NEED_FIND_LIMIT) || defined(UNIX_LIKE)
-
-    typedef void (*handler)(int);
-
-#   if defined(SUNOS5SIGS) || defined(IRIX5) || defined(OSF1) \
-    || defined(HURD) || defined(NETBSD)
-	static struct sigaction old_segv_act;
-#	if defined(_sigargs) /* !Irix6.x */ || defined(HPUX) \
-	|| defined(HURD) || defined(NETBSD)
-	    static struct sigaction old_bus_act;
-#	endif
-#   else
-        static handler old_segv_handler, old_bus_handler;
-#   endif
-    
-    void GC_set_and_save_fault_handler(handler h)
-    {
-#	if defined(SUNOS5SIGS) || defined(IRIX5)  \
-        || defined(OSF1) || defined(HURD) || defined(NETBSD)
-	  struct sigaction	act;
-
-	  act.sa_handler	= h;
-#	  if 0 /* Was necessary for Solaris 2.3 and very temporary 	*/
-	       /* NetBSD bugs.						*/
-            act.sa_flags          = SA_RESTART | SA_NODEFER;
-#         else
-            act.sa_flags          = SA_RESTART;
-#	  endif
-
-	  (void) sigemptyset(&act.sa_mask);
-#	  ifdef GC_IRIX_THREADS
-		/* Older versions have a bug related to retrieving and	*/
-		/* and setting a handler at the same time.		*/
-	        (void) sigaction(SIGSEGV, 0, &old_segv_act);
-	        (void) sigaction(SIGSEGV, &act, 0);
-#	  else
-	        (void) sigaction(SIGSEGV, &act, &old_segv_act);
-#		if defined(IRIX5) && defined(_sigargs) /* Irix 5.x, not 6.x */ \
-		   || defined(HPUX) || defined(HURD) || defined(NETBSD)
-		    /* Under Irix 5.x or HP/UX, we may get SIGBUS.	*/
-		    /* Pthreads doesn't exist under Irix 5.x, so we	*/
-		    /* don't have to worry in the threads case.		*/
-		    (void) sigaction(SIGBUS, &act, &old_bus_act);
-#		endif
-#	  endif	/* GC_IRIX_THREADS */
-#	else
-    	  old_segv_handler = signal(SIGSEGV, h);
-#	  ifdef SIGBUS
-	    old_bus_handler = signal(SIGBUS, h);
-#	  endif
-#	endif
-    }
-# endif /* NEED_FIND_LIMIT || UNIX_LIKE */
-
-# if defined(NEED_FIND_LIMIT) || \
-     defined(USE_PROC_FOR_LIBRARIES) && defined(THREADS)
-  /* Some tools to implement HEURISTIC2	*/
-#   define MIN_PAGE_SIZE 256	/* Smallest conceivable page size, bytes */
-    
-    /*ARGSUSED*/
-    void GC_fault_handler(int sig)
-    {
-        LONGJMP(GC_jmp_buf, 1);
-    }
-
-    void GC_setup_temporary_fault_handler(void)
-    {
-	/* Handler is process-wide, so this should only happen in */
-	/* one thread at a time.				  */
-	GC_ASSERT(I_HOLD_LOCK());
-	GC_set_and_save_fault_handler(GC_fault_handler);
-    }
-    
-    void GC_reset_fault_handler(void)
-    {
-#       if defined(SUNOS5SIGS) || defined(IRIX5) \
-	   || defined(OSF1) || defined(HURD) || defined(NETBSD)
-	  (void) sigaction(SIGSEGV, &old_segv_act, 0);
-#	  if defined(IRIX5) && defined(_sigargs) /* Irix 5.x, not 6.x */ \
-	     || defined(HPUX) || defined(HURD) || defined(NETBSD)
-	      (void) sigaction(SIGBUS, &old_bus_act, 0);
-#	  endif
-#       else
-  	  (void) signal(SIGSEGV, old_segv_handler);
-#	  ifdef SIGBUS
-	    (void) signal(SIGBUS, old_bus_handler);
-#	  endif
-#       endif
-    }
-
-    /* Return the first nonaddressible location > p (up) or 	*/
-    /* the smallest location q s.t. [q,p) is addressable (!up).	*/
-    /* We assume that p (up) or p-1 (!up) is addressable.	*/
-    /* Requires allocation lock.				*/
-    ptr_t GC_find_limit_with_bound(ptr_t p, GC_bool up, ptr_t bound)
-    {
-        static volatile ptr_t result;
-    		/* Safer if static, since otherwise it may not be	*/
-    		/* preserved across the longjmp.  Can safely be 	*/
-    		/* static since it's only called with the		*/
-    		/* allocation lock held.				*/
-
-	GC_ASSERT(I_HOLD_LOCK());
-	GC_setup_temporary_fault_handler();
-	if (SETJMP(GC_jmp_buf) == 0) {
-	    result = (ptr_t)(((word)(p))
-			      & ~(MIN_PAGE_SIZE-1));
-	    for (;;) {
- 	        if (up) {
-		    result += MIN_PAGE_SIZE;
-		    if (result >= bound) return bound;
- 	        } else {
-		    result -= MIN_PAGE_SIZE;
-		    if (result <= bound) return bound;
- 	        }
-		GC_noop1((word)(*result));
-	    }
-	}
-	GC_reset_fault_handler();
- 	if (!up) {
-	    result += MIN_PAGE_SIZE;
- 	}
-	return(result);
-    }
-
-    ptr_t GC_find_limit(ptr_t p, GC_bool up)
-    {
-      if (up) {
-	return GC_find_limit_with_bound(p, up, (ptr_t)(word)(-1));
-      } else {
-	return GC_find_limit_with_bound(p, up, 0);
-      }
-    }
-# endif
-
-#if defined(ECOS) || defined(NOSYS)
-  ptr_t GC_get_main_stack_base(void)
-  {
-    return STACKBOTTOM;
-  }
-#endif
-
-#ifdef HPUX_STACKBOTTOM
-
-#include <sys/param.h>
-#include <sys/pstat.h>
-
-  ptr_t GC_get_register_stack_base(void)
-  {
-    struct pst_vm_status vm_status;
-
-    int i = 0;
-    while (pstat_getprocvm(&vm_status, sizeof(vm_status), 0, i++) == 1) {
-      if (vm_status.pst_type == PS_RSESTACK) {
-        return (ptr_t) vm_status.pst_vaddr;
-      }
-    }
-
-    /* old way to get the register stackbottom */
-    return (ptr_t)(((word)GC_stackbottom - BACKING_STORE_DISPLACEMENT - 1)
-                   & ~(BACKING_STORE_ALIGNMENT - 1));
-  }
-
-#endif /* HPUX_STACK_BOTTOM */
-
-#ifdef LINUX_STACKBOTTOM
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-# define STAT_SKIP 27   /* Number of fields preceding startstack	*/
-			/* field in /proc/self/stat			*/
-
-#ifdef USE_LIBC_PRIVATES
-# pragma weak __libc_stack_end
-  extern ptr_t __libc_stack_end;
-#endif
-
-# ifdef IA64
-#   ifdef USE_LIBC_PRIVATES
-#     pragma weak __libc_ia64_register_backing_store_base
-      extern ptr_t __libc_ia64_register_backing_store_base;
-#   endif
-
-    ptr_t GC_get_register_stack_base(void)
-    {
-      ptr_t result;
-
-#     ifdef USE_LIBC_PRIVATES
-        if (0 != &__libc_ia64_register_backing_store_base
-	    && 0 != __libc_ia64_register_backing_store_base) {
-	  /* Glibc 2.2.4 has a bug such that for dynamically linked	*/
-	  /* executables __libc_ia64_register_backing_store_base is 	*/
-	  /* defined but uninitialized during constructor calls.  	*/
-	  /* Hence we check for both nonzero address and value.		*/
-	  return __libc_ia64_register_backing_store_base;
-        }
-#     endif
-      result = backing_store_base_from_proc();
-      if (0 == result) {
-	  result = GC_find_limit(GC_save_regs_in_stack(), FALSE);
-	  /* Now seems to work better than constant displacement	*/
-	  /* heuristic used in 6.X versions.  The latter seems to	*/
-	  /* fail for 2.6 kernels.					*/
-      }
-      return result;
-    }
-# endif
-
-  ptr_t GC_linux_stack_base(void)
-  {
-    /* We read the stack base value from /proc/self/stat.  We do this	*/
-    /* using direct I/O system calls in order to avoid calling malloc   */
-    /* in case REDIRECT_MALLOC is defined.				*/ 
-#   define STAT_BUF_SIZE 4096
-#   define STAT_READ read
-	  /* Should probably call the real read, if read is wrapped.	*/
-    char stat_buf[STAT_BUF_SIZE];
-    int f;
-    char c;
-    word result = 0;
-    size_t i, buf_offset = 0;
-
-    /* First try the easy way.  This should work for glibc 2.2	*/
-    /* This fails in a prelinked ("prelink" command) executable */
-    /* since the correct value of __libc_stack_end never	*/
-    /* becomes visible to us.  The second test works around 	*/
-    /* this.							*/  
-#   ifdef USE_LIBC_PRIVATES
-      if (0 != &__libc_stack_end && 0 != __libc_stack_end ) {
-#       if defined(IA64)
-	  /* Some versions of glibc set the address 16 bytes too	*/
-	  /* low while the initialization code is running.		*/
-	  if (((word)__libc_stack_end & 0xfff) + 0x10 < 0x1000) {
-	    return __libc_stack_end + 0x10;
-	  } /* Otherwise it's not safe to add 16 bytes and we fall	*/
-	    /* back to using /proc.					*/
-#	elif defined(SPARC)
-	  /* Older versions of glibc for 64-bit Sparc do not set
-	   * this variable correctly, it gets set to either zero
-	   * or one.
-	   */
-	  if (__libc_stack_end != (ptr_t) (unsigned long)0x1)
-	    return __libc_stack_end;
-#	else
-	  return __libc_stack_end;
-#	endif
-      }
-#   endif
-    f = open("/proc/self/stat", O_RDONLY);
-    if (f < 0 || STAT_READ(f, stat_buf, STAT_BUF_SIZE) < 2 * STAT_SKIP) {
-	ABORT("Couldn't read /proc/self/stat");
-    }
-    c = stat_buf[buf_offset++];
-    /* Skip the required number of fields.  This number is hopefully	*/
-    /* constant across all Linux implementations.			*/
-      for (i = 0; i < STAT_SKIP; ++i) {
-	while (isspace(c)) c = stat_buf[buf_offset++];
-	while (!isspace(c)) c = stat_buf[buf_offset++];
-      }
-    while (isspace(c)) c = stat_buf[buf_offset++];
-    while (isdigit(c)) {
-      result *= 10;
-      result += c - '0';
-      c = stat_buf[buf_offset++];
-    }
-    close(f);
-    if (result < 0x10000000) ABORT("Absurd stack bottom value");
-    return (ptr_t)result;
-  }
-
-#endif /* LINUX_STACKBOTTOM */
-
-#ifdef FREEBSD_STACKBOTTOM
-
-/* This uses an undocumented sysctl call, but at least one expert 	*/
-/* believes it will stay.						*/
-
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/sysctl.h>
-
-  ptr_t GC_freebsd_stack_base(void)
-  {
-    int nm[2] = {CTL_KERN, KERN_USRSTACK};
-    ptr_t base;
-    size_t len = sizeof(ptr_t);
-    int r = sysctl(nm, 2, &base, &len, NULL, 0);
-    
-    if (r) ABORT("Error getting stack base");
-
-    return base;
-  }
-
-#endif /* FREEBSD_STACKBOTTOM */
-
-#if !defined(BEOS) && !defined(AMIGA) && !defined(MSWIN32) \
-    && !defined(MSWINCE) && !defined(OS2) && !defined(NOSYS) && !defined(ECOS) \
-    && !defined(CYGWIN32)
-
-ptr_t GC_get_main_stack_base(void)
-{
-#   if defined(HEURISTIC1) || defined(HEURISTIC2)
-      word dummy;
-#   endif
-    ptr_t result;
-
-#   define STACKBOTTOM_ALIGNMENT_M1 ((word)STACK_GRAN - 1)
-
-#   ifdef STACKBOTTOM
-	return(STACKBOTTOM);
-#   else
-#	ifdef HEURISTIC1
-#	   ifdef STACK_GROWS_DOWN
-	     result = (ptr_t)((((word)(&dummy))
-	     		       + STACKBOTTOM_ALIGNMENT_M1)
-			      & ~STACKBOTTOM_ALIGNMENT_M1);
-#	   else
-	     result = (ptr_t)(((word)(&dummy))
-			      & ~STACKBOTTOM_ALIGNMENT_M1);
-#	   endif
-#	endif /* HEURISTIC1 */
-#	ifdef LINUX_STACKBOTTOM
-	   result = GC_linux_stack_base();
-#	endif
-#	ifdef FREEBSD_STACKBOTTOM
-	   result = GC_freebsd_stack_base();
-#	endif
-#	ifdef HEURISTIC2
-#	    ifdef STACK_GROWS_DOWN
-		result = GC_find_limit((ptr_t)(&dummy), TRUE);
-#           	ifdef HEURISTIC2_LIMIT
-		    if (result > HEURISTIC2_LIMIT
-		        && (ptr_t)(&dummy) < HEURISTIC2_LIMIT) {
-		            result = HEURISTIC2_LIMIT;
-		    }
-#	        endif
-#	    else
-		result = GC_find_limit((ptr_t)(&dummy), FALSE);
-#           	ifdef HEURISTIC2_LIMIT
-		    if (result < HEURISTIC2_LIMIT
-		        && (ptr_t)(&dummy) > HEURISTIC2_LIMIT) {
-		            result = HEURISTIC2_LIMIT;
-		    }
-#	        endif
-#	    endif
-
-#	endif /* HEURISTIC2 */
-#	ifdef STACK_GROWS_DOWN
-	    if (result == 0) result = (ptr_t)(signed_word)(-sizeof(ptr_t));
-#	endif
-    	return(result);
-#   endif /* STACKBOTTOM */
-}
-
-# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !NOSYS, !ECOS */
-
-#if defined(GC_LINUX_THREADS) && !defined(HAVE_GET_STACK_BASE)
-
-#include <pthread.h>
-
-#ifdef IA64
-  ptr_t GC_greatest_stack_base_below(ptr_t bound);
-  	/* From pthread_support.c */
-#endif
-
-int GC_get_stack_base(struct GC_stack_base *b)
-{
-    pthread_attr_t attr;
-    size_t size;
-
-    if (pthread_getattr_np(pthread_self(), &attr) != 0) {
-	WARN("pthread_getattr_np failed\n", 0);
-	return GC_UNIMPLEMENTED;
-    }
-    if (pthread_attr_getstack(&attr, &(b -> mem_base), &size) != 0) {
-	ABORT("pthread_attr_getstack failed");
-    }
-#   ifdef STACK_GROWS_DOWN
-        b -> mem_base = (char *)(b -> mem_base) + size;
-#   endif
-#   ifdef IA64
-      /* We could try backing_store_base_from_proc, but that's safe	*/
-      /* only if no mappings are being asynchronously created.		*/
-      /* Subtracting the size from the stack base doesn't work for at	*/
-      /* least the main thread.						*/
-      LOCK();
-      {
-	ptr_t bsp = GC_save_regs_in_stack();
-	ptr_t next_stack = GC_greatest_stack_base_below(bsp);
-	if (0 == next_stack) {
-          b -> reg_base = GC_find_limit(bsp, FALSE);
-	} else {
-	  /* Avoid walking backwards into preceding memory stack and	*/
-	  /* growing it.						*/
-          b -> reg_base = GC_find_limit_with_bound(bsp, FALSE, next_stack);
-	}
-      }
-      UNLOCK();
-#   endif
-    return GC_SUCCESS;
-}
-
-#define HAVE_GET_STACK_BASE
-
-#endif /* GC_LINUX_THREADS */
-
-#ifndef HAVE_GET_STACK_BASE
-/* Retrieve stack base.						*/
-/* Using the GC_find_limit version is risky.			*/
-/* On IA64, for example, there is no guard page between the	*/
-/* stack of one thread and the register backing store of the 	*/
-/* next.  Thus this is likely to identify way too large a	*/
-/* "stack" and thus at least result in disastrous performance.	*/
-/* FIXME - Implement better strategies here.			*/
-int GC_get_stack_base(struct GC_stack_base *b)
-{
-    int dummy;
-
-#   ifdef NEED_FIND_LIMIT
-#     ifdef STACK_GROWS_DOWN
-    	b -> mem_base = GC_find_limit((ptr_t)(&dummy), TRUE);
-#       ifdef IA64
-	  b -> reg_base = GC_find_limit(GC_save_regs_in_stack(), FALSE);
-#       endif
-#     else
-	b -> mem_base = GC_find_limit(&dummy, FALSE);
-#     endif
-      return GC_SUCCESS;
-#   else
-      return GC_UNIMPLEMENTED;
-#   endif
-}
-#endif
-
-/*
- * Register static data segment(s) as roots.
- * If more data segments are added later then they need to be registered
- * add that point (as we do with SunOS dynamic loading),
- * or GC_mark_roots needs to check for them (as we do with PCR).
- * Called with allocator lock held.
- */
-
-# ifdef OS2
-
-void GC_register_data_segments(void)
-{
-    PTIB ptib;
-    PPIB ppib;
-    HMODULE module_handle;
-#   define PBUFSIZ 512
-    UCHAR path[PBUFSIZ];
-    FILE * myexefile;
-    struct exe_hdr hdrdos;	/* MSDOS header.	*/
-    struct e32_exe hdr386;	/* Real header for my executable */
-    struct o32_obj seg;	/* Currrent segment */
-    int nsegs;
-    
-    
-    if (DosGetInfoBlocks(&ptib, &ppib) != NO_ERROR) {
-    	GC_err_printf("DosGetInfoBlocks failed\n");
-    	ABORT("DosGetInfoBlocks failed\n");
-    }
-    module_handle = ppib -> pib_hmte;
-    if (DosQueryModuleName(module_handle, PBUFSIZ, path) != NO_ERROR) {
-    	GC_err_printf("DosQueryModuleName failed\n");
-    	ABORT("DosGetInfoBlocks failed\n");
-    }
-    myexefile = fopen(path, "rb");
-    if (myexefile == 0) {
-        GC_err_puts("Couldn't open executable ");
-        GC_err_puts(path); GC_err_puts("\n");
-        ABORT("Failed to open executable\n");
-    }
-    if (fread((char *)(&hdrdos), 1, sizeof hdrdos, myexefile) < sizeof hdrdos) {
-        GC_err_puts("Couldn't read MSDOS header from ");
-        GC_err_puts(path); GC_err_puts("\n");
-        ABORT("Couldn't read MSDOS header");
-    }
-    if (E_MAGIC(hdrdos) != EMAGIC) {
-        GC_err_puts("Executable has wrong DOS magic number: ");
-        GC_err_puts(path); GC_err_puts("\n");
-        ABORT("Bad DOS magic number");
-    }
-    if (fseek(myexefile, E_LFANEW(hdrdos), SEEK_SET) != 0) {
-        GC_err_puts("Seek to new header failed in ");
-        GC_err_puts(path); GC_err_puts("\n");
-        ABORT("Bad DOS magic number");
-    }
-    if (fread((char *)(&hdr386), 1, sizeof hdr386, myexefile) < sizeof hdr386) {
-        GC_err_puts("Couldn't read MSDOS header from ");
-        GC_err_puts(path); GC_err_puts("\n");
-        ABORT("Couldn't read OS/2 header");
-    }
-    if (E32_MAGIC1(hdr386) != E32MAGIC1 || E32_MAGIC2(hdr386) != E32MAGIC2) {
-        GC_err_puts("Executable has wrong OS/2 magic number:");
-        GC_err_puts(path); GC_err_puts("\n");
-        ABORT("Bad OS/2 magic number");
-    }
-    if ( E32_BORDER(hdr386) != E32LEBO || E32_WORDER(hdr386) != E32LEWO) {
-        GC_err_puts("Executable %s has wrong byte order: ");
-        GC_err_puts(path); GC_err_puts("\n");
-        ABORT("Bad byte order");
-    }
-    if ( E32_CPU(hdr386) == E32CPU286) {
-        GC_err_puts("GC can't handle 80286 executables: ");
-        GC_err_puts(path); GC_err_puts("\n");
-        EXIT();
-    }
-    if (fseek(myexefile, E_LFANEW(hdrdos) + E32_OBJTAB(hdr386),
-    	      SEEK_SET) != 0) {
-        GC_err_puts("Seek to object table failed: ");
-        GC_err_puts(path); GC_err_puts("\n");
-        ABORT("Seek to object table failed");
-    }
-    for (nsegs = E32_OBJCNT(hdr386); nsegs > 0; nsegs--) {
-      int flags;
-      if (fread((char *)(&seg), 1, sizeof seg, myexefile) < sizeof seg) {
-        GC_err_puts("Couldn't read obj table entry from ");
-        GC_err_puts(path); GC_err_puts("\n");
-        ABORT("Couldn't read obj table entry");
-      }
-      flags = O32_FLAGS(seg);
-      if (!(flags & OBJWRITE)) continue;
-      if (!(flags & OBJREAD)) continue;
-      if (flags & OBJINVALID) {
-          GC_err_printf("Object with invalid pages?\n");
-          continue;
-      } 
-      GC_add_roots_inner(O32_BASE(seg), O32_BASE(seg)+O32_SIZE(seg), FALSE);
-    }
-}
-
-# else /* !OS2 */
-
-# if defined(MSWIN32) || defined(MSWINCE)
-
-# ifdef MSWIN32
-  /* Unfortunately, we have to handle win32s very differently from NT, 	*/
-  /* Since VirtualQuery has very different semantics.  In particular,	*/
-  /* under win32s a VirtualQuery call on an unmapped page returns an	*/
-  /* invalid result.  Under NT, GC_register_data_segments is a noop and	*/
-  /* all real work is done by GC_register_dynamic_libraries.  Under	*/
-  /* win32s, we cannot find the data segments associated with dll's.	*/
-  /* We register the main data segment here.				*/
-  GC_bool GC_no_win32_dlls = FALSE;	 
-  	/* This used to be set for gcc, to avoid dealing with		*/
-  	/* the structured exception handling issues.  But we now have	*/
-  	/* assembly code to do that right.				*/
-
-# if defined(GWW_VDB)
-
-#   ifndef _BASETSD_H_
-      typedef ULONG * PULONG_PTR;
-#   endif
-    typedef UINT (WINAPI * GetWriteWatch_type)(
-      DWORD, PVOID, SIZE_T, PVOID*, PULONG_PTR, PULONG);
-    static GetWriteWatch_type GetWriteWatch_func;
-    static DWORD GetWriteWatch_alloc_flag;
-
-#   define GC_GWW_AVAILABLE() (GetWriteWatch_func != NULL)
-
-    static void detect_GetWriteWatch(void)
-    {
-      static GC_bool done;
-      if (done)
-        return;
-
-      GetWriteWatch_func = (GetWriteWatch_type)
-        GetProcAddress(GetModuleHandle("kernel32.dll"), "GetWriteWatch");
-      if (GetWriteWatch_func != NULL) {
-        /* Also check whether VirtualAlloc accepts MEM_WRITE_WATCH,   */
-        /* as some versions of kernel32.dll have one but not the      */
-        /* other, making the feature completely broken.               */
-        void * page = VirtualAlloc(NULL, GC_page_size,
-                                    MEM_WRITE_WATCH | MEM_RESERVE,
-                                    PAGE_READWRITE);
-        if (page != NULL) {
-          PVOID pages[16];
-          ULONG_PTR count = 16;
-          DWORD page_size;
-          /* Check that it actually works.  In spite of some 		*/
-	  /* documentation it actually seems to exist on W2K.		*/
-	  /* This test may be unnecessary, but ...			*/
-          if (GetWriteWatch_func(WRITE_WATCH_FLAG_RESET,
-                                 page, GC_page_size,
-                                 pages,
-                                 &count,
-                                 &page_size) != 0) {
-            /* GetWriteWatch always fails. */
-            GetWriteWatch_func = NULL;
-          } else {
-            GetWriteWatch_alloc_flag = MEM_WRITE_WATCH;
-          }
-          VirtualFree(page, GC_page_size, MEM_RELEASE);
-        } else {
-          /* GetWriteWatch will be useless. */
-          GetWriteWatch_func = NULL;
-        }
-      }
-      if (GC_print_stats) {
-        if (GetWriteWatch_func == NULL) {
-          GC_log_printf("Did not find a usable GetWriteWatch()\n");
-        } else {
-          GC_log_printf("Using GetWriteWatch()\n");
-        }
-      }
-      done = TRUE;
-    }
-
-# endif /* GWW_VDB */
-
-  GC_bool GC_wnt = FALSE;
-         /* This is a Windows NT derivative, i.e. NT, W2K, XP or later.  */
-  
-  void GC_init_win32(void)
-  {
-    /* Set GC_wnt.							 */
-    /* If we're running under win32s, assume that no DLLs will be loaded */
-    /* I doubt anyone still runs win32s, but ...			 */
-    DWORD v = GetVersion();
-    GC_wnt = !(v & 0x80000000);
-    GC_no_win32_dlls |= ((!GC_wnt) && (v & 0xff) <= 3);
-  }
-
-  /* Return the smallest address a such that VirtualQuery		*/
-  /* returns correct results for all addresses between a and start.	*/
-  /* Assumes VirtualQuery returns correct information for start.	*/
-  ptr_t GC_least_described_address(ptr_t start)
-  {  
-    MEMORY_BASIC_INFORMATION buf;
-    size_t result;
-    LPVOID limit;
-    ptr_t p;
-    LPVOID q;
-    
-    limit = GC_sysinfo.lpMinimumApplicationAddress;
-    p = (ptr_t)((word)start & ~(GC_page_size - 1));
-    for (;;) {
-    	q = (LPVOID)(p - GC_page_size);
-    	if ((ptr_t)q > (ptr_t)p /* underflow */ || q < limit) break;
-    	result = VirtualQuery(q, &buf, sizeof(buf));
-    	if (result != sizeof(buf) || buf.AllocationBase == 0) break;
-    	p = (ptr_t)(buf.AllocationBase);
-    }
-    return p;
-  }
-# endif
-
-# ifndef REDIRECT_MALLOC
-  /* We maintain a linked list of AllocationBase values that we know	*/
-  /* correspond to malloc heap sections.  Currently this is only called */
-  /* during a GC.  But there is some hope that for long running		*/
-  /* programs we will eventually see most heap sections.		*/
-
-  /* In the long run, it would be more reliable to occasionally walk 	*/
-  /* the malloc heap with HeapWalk on the default heap.  But that	*/
-  /* apparently works only for NT-based Windows. 			*/ 
-
-  /* In the long run, a better data structure would also be nice ...	*/
-  struct GC_malloc_heap_list {
-    void * allocation_base;
-    struct GC_malloc_heap_list *next;
-  } *GC_malloc_heap_l = 0;
-
-  /* Is p the base of one of the malloc heap sections we already know	*/
-  /* about?								*/
-  GC_bool GC_is_malloc_heap_base(ptr_t p)
-  {
-    struct GC_malloc_heap_list *q = GC_malloc_heap_l;
-
-    while (0 != q) {
-      if (q -> allocation_base == p) return TRUE;
-      q = q -> next;
-    }
-    return FALSE;
-  }
-
-  void *GC_get_allocation_base(void *p)
-  {
-    MEMORY_BASIC_INFORMATION buf;
-    size_t result = VirtualQuery(p, &buf, sizeof(buf));
-    if (result != sizeof(buf)) {
-      ABORT("Weird VirtualQuery result");
-    }
-    return buf.AllocationBase;
-  }
-
-  size_t GC_max_root_size = 100000;	/* Appr. largest root size.	*/
-
-  void GC_add_current_malloc_heap()
-  {
-    struct GC_malloc_heap_list *new_l =
-                 malloc(sizeof(struct GC_malloc_heap_list));
-    void * candidate = GC_get_allocation_base(new_l);
-
-    if (new_l == 0) return;
-    if (GC_is_malloc_heap_base(candidate)) {
-      /* Try a little harder to find malloc heap.			*/
-	size_t req_size = 10000;
-	do {
-	  void *p = malloc(req_size);
-	  if (0 == p) { free(new_l); return; }
- 	  candidate = GC_get_allocation_base(p);
-	  free(p);
-	  req_size *= 2;
-	} while (GC_is_malloc_heap_base(candidate)
-	         && req_size < GC_max_root_size/10 && req_size < 500000);
-	if (GC_is_malloc_heap_base(candidate)) {
-	  free(new_l); return;
-	}
-    }
-    if (GC_print_stats)
-	  GC_log_printf("Found new system malloc AllocationBase at %p\n",
-                        candidate);
-    new_l -> allocation_base = candidate;
-    new_l -> next = GC_malloc_heap_l;
-    GC_malloc_heap_l = new_l;
-  }
-# endif /* REDIRECT_MALLOC */
-  
-  /* Is p the start of either the malloc heap, or of one of our */
-  /* heap sections?						*/
-  GC_bool GC_is_heap_base (ptr_t p)
-  {
-     
-     unsigned i;
-     
-#    ifndef REDIRECT_MALLOC
-       static word last_gc_no = (word)(-1);
-     
-       if (last_gc_no != GC_gc_no) {
-	 GC_add_current_malloc_heap();
-	 last_gc_no = GC_gc_no;
-       }
-       if (GC_root_size > GC_max_root_size) GC_max_root_size = GC_root_size;
-       if (GC_is_malloc_heap_base(p)) return TRUE;
-#    endif
-     for (i = 0; i < GC_n_heap_bases; i++) {
-         if (GC_heap_bases[i] == p) return TRUE;
-     }
-     return FALSE ;
-  }
-
-# ifdef MSWIN32
-  void GC_register_root_section(ptr_t static_root)
-  {
-      MEMORY_BASIC_INFORMATION buf;
-      size_t result;
-      DWORD protect;
-      LPVOID p;
-      char * base;
-      char * limit, * new_limit;
-    
-      if (!GC_no_win32_dlls) return;
-      p = base = limit = GC_least_described_address(static_root);
-      while (p < GC_sysinfo.lpMaximumApplicationAddress) {
-        result = VirtualQuery(p, &buf, sizeof(buf));
-        if (result != sizeof(buf) || buf.AllocationBase == 0
-            || GC_is_heap_base(buf.AllocationBase)) break;
-        new_limit = (char *)p + buf.RegionSize;
-        protect = buf.Protect;
-        if (buf.State == MEM_COMMIT
-            && is_writable(protect)) {
-            if ((char *)p == limit) {
-                limit = new_limit;
-            } else {
-                if (base != limit) GC_add_roots_inner(base, limit, FALSE);
-                base = p;
-                limit = new_limit;
-            }
-        }
-        if (p > (LPVOID)new_limit /* overflow */) break;
-        p = (LPVOID)new_limit;
-      }
-      if (base != limit) GC_add_roots_inner(base, limit, FALSE);
-  }
-#endif
-  
-  void GC_register_data_segments()
-  {
-#     ifdef MSWIN32
-      static char dummy;
-      GC_register_root_section((ptr_t)(&dummy));
-#     endif
-  }
-
-# else /* !OS2 && !Windows */
-
-# if (defined(SVR4) || defined(AUX) || defined(DGUX) \
-      || (defined(LINUX) && defined(SPARC))) && !defined(PCR)
-ptr_t GC_SysVGetDataStart(size_t max_page_size, ptr_t etext_addr)
-{
-    word text_end = ((word)(etext_addr) + sizeof(word) - 1)
-    		    & ~(sizeof(word) - 1);
-    	/* etext rounded to word boundary	*/
-    word next_page = ((text_end + (word)max_page_size - 1)
-    		      & ~((word)max_page_size - 1));
-    word page_offset = (text_end & ((word)max_page_size - 1));
-    volatile char * result = (char *)(next_page + page_offset);
-    /* Note that this isnt equivalent to just adding		*/
-    /* max_page_size to &etext if &etext is at a page boundary	*/
-    
-    GC_setup_temporary_fault_handler();
-    if (SETJMP(GC_jmp_buf) == 0) {
-    	/* Try writing to the address.	*/
-    	*result = *result;
-        GC_reset_fault_handler();
-    } else {
-        GC_reset_fault_handler();
-    	/* We got here via a longjmp.  The address is not readable.	*/
-    	/* This is known to happen under Solaris 2.4 + gcc, which place	*/
-    	/* string constants in the text segment, but after etext.	*/
-    	/* Use plan B.  Note that we now know there is a gap between	*/
-    	/* text and data segments, so plan A bought us something.	*/
-    	result = (char *)GC_find_limit((ptr_t)(DATAEND), FALSE);
-    }
-    return((ptr_t)result);
-}
-# endif
-
-# if defined(FREEBSD) && (defined(I386) || defined(X86_64) || defined(powerpc) || defined(__powerpc__)) && !defined(PCR)
-/* Its unclear whether this should be identical to the above, or 	*/
-/* whether it should apply to non-X86 architectures.			*/
-/* For now we don't assume that there is always an empty page after	*/
-/* etext.  But in some cases there actually seems to be slightly more.  */
-/* This also deals with holes between read-only data and writable data.	*/
-ptr_t GC_FreeBSDGetDataStart(size_t max_page_size, ptr_t etext_addr)
-{
-    word text_end = ((word)(etext_addr) + sizeof(word) - 1)
-		     & ~(sizeof(word) - 1);
-	/* etext rounded to word boundary	*/
-    volatile word next_page = (text_end + (word)max_page_size - 1)
-			      & ~((word)max_page_size - 1);
-    volatile ptr_t result = (ptr_t)text_end;
-    GC_setup_temporary_fault_handler();
-    if (SETJMP(GC_jmp_buf) == 0) {
-	/* Try reading at the address.				*/
-	/* This should happen before there is another thread.	*/
-	for (; next_page < (word)(DATAEND); next_page += (word)max_page_size)
-	    *(volatile char *)next_page;
-	GC_reset_fault_handler();
-    } else {
-	GC_reset_fault_handler();
-	/* As above, we go to plan B	*/
-	result = GC_find_limit((ptr_t)(DATAEND), FALSE);
-    }
-    return(result);
-}
-
-# endif
-
-
-#ifdef AMIGA
-
-#  define GC_AMIGA_DS
-#  include "AmigaOS.c"
-#  undef GC_AMIGA_DS
-
-#else /* !OS2 && !Windows && !AMIGA */
-
-void GC_register_data_segments(void)
-{
-#   if !defined(PCR) && !defined(MACOS)
-#     if defined(REDIRECT_MALLOC) && defined(GC_SOLARIS_THREADS)
-	/* As of Solaris 2.3, the Solaris threads implementation	*/
-	/* allocates the data structure for the initial thread with	*/
-	/* sbrk at process startup.  It needs to be scanned, so that	*/
-	/* we don't lose some malloc allocated data structures		*/
-	/* hanging from it.  We're on thin ice here ...			*/
-        extern caddr_t sbrk();
-
-	GC_add_roots_inner(DATASTART, (ptr_t)sbrk(0), FALSE);
-#     else
-	GC_add_roots_inner(DATASTART, (ptr_t)(DATAEND), FALSE);
-#       if defined(DATASTART2)
-          GC_add_roots_inner(DATASTART2, (ptr_t)(DATAEND2), FALSE);
-#       endif
-#     endif
-#   endif
-#   if defined(MACOS)
-    {
-#   if defined(THINK_C)
-	extern void* GC_MacGetDataStart(void);
-	/* globals begin above stack and end at a5. */
-	GC_add_roots_inner((ptr_t)GC_MacGetDataStart(),
-			   (ptr_t)LMGetCurrentA5(), FALSE);
-#   else
-#     if defined(__MWERKS__)
-#       if !__POWERPC__
-	  extern void* GC_MacGetDataStart(void);
-	  /* MATTHEW: Function to handle Far Globals (CW Pro 3) */
-#         if __option(far_data)
-	  extern void* GC_MacGetDataEnd(void);
-#         endif
-	  /* globals begin above stack and end at a5. */
-	  GC_add_roots_inner((ptr_t)GC_MacGetDataStart(),
-          		     (ptr_t)LMGetCurrentA5(), FALSE);
-	  /* MATTHEW: Handle Far Globals */          		     
-#         if __option(far_data)
-      /* Far globals follow he QD globals: */
-	  GC_add_roots_inner((ptr_t)LMGetCurrentA5(),
-          		     (ptr_t)GC_MacGetDataEnd(), FALSE);
-#         endif
-#       else
-	  extern char __data_start__[], __data_end__[];
-	  GC_add_roots_inner((ptr_t)&__data_start__,
-	  		     (ptr_t)&__data_end__, FALSE);
-#       endif /* __POWERPC__ */
-#     endif /* __MWERKS__ */
-#   endif /* !THINK_C */
-    }
-#   endif /* MACOS */
-
-    /* Dynamic libraries are added at every collection, since they may  */
-    /* change.								*/
-}
-
-# endif  /* ! AMIGA */
-# endif  /* ! MSWIN32 && ! MSWINCE*/
-# endif  /* ! OS2 */
-
-/*
- * Auxiliary routines for obtaining memory from OS.
- */
-
-# if !defined(OS2) && !defined(PCR) && !defined(AMIGA) \
-	&& !defined(MSWIN32) && !defined(MSWINCE) \
-	&& !defined(MACOS) && !defined(DOS4GW) && !defined(NONSTOP)
-
-# define SBRK_ARG_T ptrdiff_t
-
-#if defined(MMAP_SUPPORTED)
-
-#ifdef USE_MMAP_FIXED
-#   define GC_MMAP_FLAGS MAP_FIXED | MAP_PRIVATE
-	/* Seems to yield better performance on Solaris 2, but can	*/
-	/* be unreliable if something is already mapped at the address.	*/
-#else
-#   define GC_MMAP_FLAGS MAP_PRIVATE
-#endif
-
-#ifdef USE_MMAP_ANON
-# define zero_fd -1
-# if defined(MAP_ANONYMOUS)
-#   define OPT_MAP_ANON MAP_ANONYMOUS
-# else
-#   define OPT_MAP_ANON MAP_ANON
-# endif
-#else
-  static int zero_fd;
-# define OPT_MAP_ANON 0
-#endif 
-
-#ifndef HEAP_START
-#   define HEAP_START 0
-#endif
-
-ptr_t GC_unix_mmap_get_mem(word bytes)
-{
-    void *result;
-    static ptr_t last_addr = HEAP_START;
-
-#   ifndef USE_MMAP_ANON
-      static GC_bool initialized = FALSE;
-
-      if (!initialized) {
-	  zero_fd = open("/dev/zero", O_RDONLY);
-	  fcntl(zero_fd, F_SETFD, FD_CLOEXEC);
-	  initialized = TRUE;
-      }
-#   endif
-
-    if (bytes & (GC_page_size -1)) ABORT("Bad GET_MEM arg");
-    result = mmap(last_addr, bytes, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
-		  GC_MMAP_FLAGS | OPT_MAP_ANON, zero_fd, 0/* offset */);
-    if (result == MAP_FAILED) return(0);
-    last_addr = (ptr_t)result + bytes + GC_page_size - 1;
-    last_addr = (ptr_t)((word)last_addr & ~(GC_page_size - 1));
-#   if !defined(LINUX)
-      if (last_addr == 0) {
-        /* Oops.  We got the end of the address space.  This isn't	*/
-	/* usable by arbitrary C code, since one-past-end pointers	*/
-	/* don't work, so we discard it and try again.			*/
-	munmap(result, (size_t)(-GC_page_size) - (size_t)result);
-			/* Leave last page mapped, so we can't repeat. */
-	return GC_unix_mmap_get_mem(bytes);
-      }
-#   else
-      GC_ASSERT(last_addr != 0);
-#   endif
-    return((ptr_t)result);
-}
-
-# endif  /* MMAP_SUPPORTED */
-
-#if defined(USE_MMAP)
-
-ptr_t GC_unix_get_mem(word bytes)
-{
-    return GC_unix_mmap_get_mem(bytes);
-}
-
-#else /* Not USE_MMAP */
-
-ptr_t GC_unix_sbrk_get_mem(word bytes)
-{
-  ptr_t result;
-# ifdef IRIX5
-    /* Bare sbrk isn't thread safe.  Play by malloc rules.	*/
-    /* The equivalent may be needed on other systems as well. 	*/
-    __LOCK_MALLOC();
-# endif
-  {
-    ptr_t cur_brk = (ptr_t)sbrk(0);
-    SBRK_ARG_T lsbs = (word)cur_brk & (GC_page_size-1);
-    
-    if ((SBRK_ARG_T)bytes < 0) {
-	result = 0; /* too big */
-	goto out;
-    }
-    if (lsbs != 0) {
-        if((ptr_t)sbrk(GC_page_size - lsbs) == (ptr_t)(-1)) {
-	    result = 0;
-	    goto out;
-	}
-    }
-#   ifdef ADD_HEAP_GUARD_PAGES
-      /* This is useful for catching severe memory overwrite problems that */
-      /* span heap sections.  It shouldn't otherwise be turned on.	   */
-      {
-	ptr_t guard = (ptr_t)sbrk((SBRK_ARG_T)GC_page_size);
-	if (mprotect(guard, GC_page_size, PROT_NONE) != 0)
-	    ABORT("ADD_HEAP_GUARD_PAGES: mprotect failed");
-      }
-#   endif /* ADD_HEAP_GUARD_PAGES */
-    result = (ptr_t)sbrk((SBRK_ARG_T)bytes);
-    if (result == (ptr_t)(-1)) result = 0;
-  }
- out:
-# ifdef IRIX5
-    __UNLOCK_MALLOC();
-# endif
-  return(result);
-}
-
-#if defined(MMAP_SUPPORTED)
-
-/* By default, we try both sbrk and mmap, in that order. */
-ptr_t GC_unix_get_mem(word bytes)
-{
-    static GC_bool sbrk_failed = FALSE;
-    ptr_t result = 0;
-
-    if (!sbrk_failed) result = GC_unix_sbrk_get_mem(bytes);
-    if (0 == result) {
-	sbrk_failed = TRUE;
-	result = GC_unix_mmap_get_mem(bytes);
-    }
-    if (0 == result) {
-	/* Try sbrk again, in case sbrk memory became available. */
-	result = GC_unix_sbrk_get_mem(bytes);
-    }
-    return result;
-}
-
-#else /* !MMAP_SUPPORTED */
-
-ptr_t GC_unix_get_mem(word bytes)
-{
-    return GC_unix_sbrk_get_mem(bytes);
-}
-
-#endif
-
-#endif /* Not USE_MMAP */
-
-# endif /* UN*X */
-
-# ifdef OS2
-
-void * os2_alloc(size_t bytes)
-{
-    void * result;
-
-    if (DosAllocMem(&result, bytes, PAG_EXECUTE | PAG_READ |
-    				    PAG_WRITE | PAG_COMMIT)
-		    != NO_ERROR) {
-	return(0);
-    }
-    if (result == 0) return(os2_alloc(bytes));
-    return(result);
-}
-
-# endif /* OS2 */
-
-
-# if defined(MSWIN32) || defined(MSWINCE)
-SYSTEM_INFO GC_sysinfo;
-# endif
-
-# ifdef MSWIN32
-
-# ifdef USE_GLOBAL_ALLOC
-#   define GLOBAL_ALLOC_TEST 1
-# else
-#   define GLOBAL_ALLOC_TEST GC_no_win32_dlls
-# endif
-
-word GC_n_heap_bases = 0;
-
-word GC_mem_top_down = 0;  /* Change to MEM_TOP_DOWN  for better 64-bit */
-			   /* testing.  Otherwise all addresses tend to */
-			   /* end up in first 4GB, hiding bugs.		*/
-
-ptr_t GC_win32_get_mem(word bytes)
-{
-    ptr_t result;
-
-    if (GLOBAL_ALLOC_TEST) {
-    	/* VirtualAlloc doesn't like PAGE_EXECUTE_READWRITE.	*/
-    	/* There are also unconfirmed rumors of other		*/
-    	/* problems, so we dodge the issue.			*/
-        result = (ptr_t) GlobalAlloc(0, bytes + HBLKSIZE);
-        result = (ptr_t)(((word)result + HBLKSIZE - 1) & ~(HBLKSIZE-1));
-    } else {
-	/* VirtualProtect only works on regions returned by a	*/
-	/* single VirtualAlloc call.  Thus we allocate one 	*/
-	/* extra page, which will prevent merging of blocks	*/
-	/* in separate regions, and eliminate any temptation	*/
-	/* to call VirtualProtect on a range spanning regions.	*/
-	/* This wastes a small amount of memory, and risks	*/
-	/* increased fragmentation.  But better alternatives	*/
-	/* would require effort.				*/
-        /* Pass the MEM_WRITE_WATCH only if GetWriteWatch-based */
-        /* VDBs are enabled and the GetWriteWatch function is   */
-        /* available.  Otherwise we waste resources or possibly */
-        /* cause VirtualAlloc to fail (observed in Windows 2000 */
-        /* SP2).                                                */
-        result = (ptr_t) VirtualAlloc(NULL, bytes + 1,
-#                                     ifdef GWW_VDB
-                                        GetWriteWatch_alloc_flag |
-#                                     endif
-    				      MEM_COMMIT | MEM_RESERVE
-				      | GC_mem_top_down,
-    				      PAGE_EXECUTE_READWRITE);
-    }
-    if (HBLKDISPL(result) != 0) ABORT("Bad VirtualAlloc result");
-    	/* If I read the documentation correctly, this can	*/
-    	/* only happen if HBLKSIZE > 64k or not a power of 2.	*/
-    if (GC_n_heap_bases >= MAX_HEAP_SECTS) ABORT("Too many heap sections");
-    GC_heap_bases[GC_n_heap_bases++] = result;
-    return(result);			  
-}
-
-void GC_win32_free_heap(void)
-{
-    if (GC_no_win32_dlls) {
- 	while (GC_n_heap_bases > 0) {
- 	    GlobalFree (GC_heap_bases[--GC_n_heap_bases]);
- 	    GC_heap_bases[GC_n_heap_bases] = 0;
- 	}
-    }
-}
-# endif
-
-#ifdef AMIGA
-# define GC_AMIGA_AM
-# include "AmigaOS.c"
-# undef GC_AMIGA_AM
-#endif
-
-
-# ifdef MSWINCE
-word GC_n_heap_bases = 0;
-
-ptr_t GC_wince_get_mem(word bytes)
-{
-    ptr_t result;
-    word i;
-
-    /* Round up allocation size to multiple of page size */
-    bytes = (bytes + GC_page_size-1) & ~(GC_page_size-1);
-
-    /* Try to find reserved, uncommitted pages */
-    for (i = 0; i < GC_n_heap_bases; i++) {
-	if (((word)(-(signed_word)GC_heap_lengths[i])
-	     & (GC_sysinfo.dwAllocationGranularity-1))
-	    >= bytes) {
-	    result = GC_heap_bases[i] + GC_heap_lengths[i];
-	    break;
-	}
-    }
-
-    if (i == GC_n_heap_bases) {
-	/* Reserve more pages */
-	word res_bytes = (bytes + GC_sysinfo.dwAllocationGranularity-1)
-			 & ~(GC_sysinfo.dwAllocationGranularity-1);
-	/* If we ever support MPROTECT_VDB here, we will probably need to    */
-	/* ensure that res_bytes is strictly > bytes, so that VirtualProtect */
-	/* never spans regions.  It seems to be OK for a VirtualFree	     */
-	/* argument to span regions, so we should be OK for now.	     */
-	result = (ptr_t) VirtualAlloc(NULL, res_bytes,
-    				      MEM_RESERVE | MEM_TOP_DOWN,
-    				      PAGE_EXECUTE_READWRITE);
-	if (HBLKDISPL(result) != 0) ABORT("Bad VirtualAlloc result");
-    	    /* If I read the documentation correctly, this can	*/
-    	    /* only happen if HBLKSIZE > 64k or not a power of 2.	*/
-	if (GC_n_heap_bases >= MAX_HEAP_SECTS) ABORT("Too many heap sections");
-	GC_heap_bases[GC_n_heap_bases] = result;
-	GC_heap_lengths[GC_n_heap_bases] = 0;
-	GC_n_heap_bases++;
-    }
-
-    /* Commit pages */
-    result = (ptr_t) VirtualAlloc(result, bytes,
-				  MEM_COMMIT,
-    				  PAGE_EXECUTE_READWRITE);
-    if (result != NULL) {
-	if (HBLKDISPL(result) != 0) ABORT("Bad VirtualAlloc result");
-	GC_heap_lengths[i] += bytes;
-    }
-
-    return(result);			  
-}
-# endif
-
-#ifdef USE_MUNMAP
-
-/* For now, this only works on Win32/WinCE and some Unix-like	*/
-/* systems.  If you have something else, don't define		*/
-/* USE_MUNMAP.							*/
-/* We assume ANSI C to support this feature.			*/
-
-#if !defined(MSWIN32) && !defined(MSWINCE)
-
-#include <unistd.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#endif
-
-/* Compute a page aligned starting address for the unmap 	*/
-/* operation on a block of size bytes starting at start.	*/
-/* Return 0 if the block is too small to make this feasible.	*/
-ptr_t GC_unmap_start(ptr_t start, size_t bytes)
-{
-    ptr_t result = start;
-    /* Round start to next page boundary.       */
-        result += GC_page_size - 1;
-        result = (ptr_t)((word)result & ~(GC_page_size - 1));
-    if (result + GC_page_size > start + bytes) return 0;
-    return result;
-}
-
-/* Compute end address for an unmap operation on the indicated	*/
-/* block.							*/
-ptr_t GC_unmap_end(ptr_t start, size_t bytes)
-{
-    ptr_t end_addr = start + bytes;
-    end_addr = (ptr_t)((word)end_addr & ~(GC_page_size - 1));
-    return end_addr;
-}
-
-/* Under Win32/WinCE we commit (map) and decommit (unmap)	*/
-/* memory using	VirtualAlloc and VirtualFree.  These functions	*/
-/* work on individual allocations of virtual memory, made	*/
-/* previously using VirtualAlloc with the MEM_RESERVE flag.	*/
-/* The ranges we need to (de)commit may span several of these	*/
-/* allocations; therefore we use VirtualQuery to check		*/
-/* allocation lengths, and split up the range as necessary.	*/
-
-/* We assume that GC_remap is called on exactly the same range	*/
-/* as a previous call to GC_unmap.  It is safe to consistently	*/
-/* round the endpoints in both places.				*/
-void GC_unmap(ptr_t start, size_t bytes)
-{
-    ptr_t start_addr = GC_unmap_start(start, bytes);
-    ptr_t end_addr = GC_unmap_end(start, bytes);
-    word len = end_addr - start_addr;
-    if (0 == start_addr) return;
-#   if defined(MSWIN32) || defined(MSWINCE)
-      while (len != 0) {
-          MEMORY_BASIC_INFORMATION mem_info;
-	  GC_word free_len;
-	  if (VirtualQuery(start_addr, &mem_info, sizeof(mem_info))
-	      != sizeof(mem_info))
-	      ABORT("Weird VirtualQuery result");
-	  free_len = (len < mem_info.RegionSize) ? len : mem_info.RegionSize;
-	  if (!VirtualFree(start_addr, free_len, MEM_DECOMMIT))
-	      ABORT("VirtualFree failed");
-	  GC_unmapped_bytes += free_len;
-	  start_addr += free_len;
-	  len -= free_len;
-      }
-#   else
-      /* We immediately remap it to prevent an intervening mmap from	*/
-      /* accidentally grabbing the same address space.			*/
-      {
-	void * result;
-        result = mmap(start_addr, len, PROT_NONE,
-		      MAP_PRIVATE | MAP_FIXED | OPT_MAP_ANON,
-		      zero_fd, 0/* offset */);
-        if (result != (void *)start_addr) ABORT("mmap(...PROT_NONE...) failed");
-      }
-      GC_unmapped_bytes += len;
-#   endif
-}
-
-
-void GC_remap(ptr_t start, size_t bytes)
-{
-    ptr_t start_addr = GC_unmap_start(start, bytes);
-    ptr_t end_addr = GC_unmap_end(start, bytes);
-    word len = end_addr - start_addr;
-
-#   if defined(MSWIN32) || defined(MSWINCE)
-      ptr_t result;
-
-      if (0 == start_addr) return;
-      while (len != 0) {
-          MEMORY_BASIC_INFORMATION mem_info;
-	  GC_word alloc_len;
-	  if (VirtualQuery(start_addr, &mem_info, sizeof(mem_info))
-	      != sizeof(mem_info))
-	      ABORT("Weird VirtualQuery result");
-	  alloc_len = (len < mem_info.RegionSize) ? len : mem_info.RegionSize;
-	  result = VirtualAlloc(start_addr, alloc_len,
-				MEM_COMMIT,
-				PAGE_EXECUTE_READWRITE);
-	  if (result != start_addr) {
-	      ABORT("VirtualAlloc remapping failed");
-	  }
-	  GC_unmapped_bytes -= alloc_len;
-	  start_addr += alloc_len;
-	  len -= alloc_len;
-      }
-#   else
-      /* It was already remapped with PROT_NONE. */
-      int result; 
-
-      if (0 == start_addr) return;
-      result = mprotect(start_addr, len,
-		        PROT_READ | PROT_WRITE | OPT_PROT_EXEC);
-      if (result != 0) {
-	  GC_err_printf(
-		"Mprotect failed at %p (length %ld) with errno %d\n",
-	        start_addr, (unsigned long)len, errno);
-	  ABORT("Mprotect remapping failed");
-      }
-      GC_unmapped_bytes -= len;
-#   endif
-}
-
-/* Two adjacent blocks have already been unmapped and are about to	*/
-/* be merged.  Unmap the whole block.  This typically requires		*/
-/* that we unmap a small section in the middle that was not previously	*/
-/* unmapped due to alignment constraints.				*/
-void GC_unmap_gap(ptr_t start1, size_t bytes1, ptr_t start2, size_t bytes2)
-{
-    ptr_t start1_addr = GC_unmap_start(start1, bytes1);
-    ptr_t end1_addr = GC_unmap_end(start1, bytes1);
-    ptr_t start2_addr = GC_unmap_start(start2, bytes2);
-    ptr_t end2_addr = GC_unmap_end(start2, bytes2);
-    ptr_t start_addr = end1_addr;
-    ptr_t end_addr = start2_addr;
-    size_t len;
-    GC_ASSERT(start1 + bytes1 == start2);
-    if (0 == start1_addr) start_addr = GC_unmap_start(start1, bytes1 + bytes2);
-    if (0 == start2_addr) end_addr = GC_unmap_end(start1, bytes1 + bytes2);
-    if (0 == start_addr) return;
-    len = end_addr - start_addr;
-#   if defined(MSWIN32) || defined(MSWINCE)
-      while (len != 0) {
-          MEMORY_BASIC_INFORMATION mem_info;
-	  GC_word free_len;
-	  if (VirtualQuery(start_addr, &mem_info, sizeof(mem_info))
-	      != sizeof(mem_info))
-	      ABORT("Weird VirtualQuery result");
-	  free_len = (len < mem_info.RegionSize) ? len : mem_info.RegionSize;
-	  if (!VirtualFree(start_addr, free_len, MEM_DECOMMIT))
-	      ABORT("VirtualFree failed");
-	  GC_unmapped_bytes += free_len;
-	  start_addr += free_len;
-	  len -= free_len;
-      }
-#   else
-      if (len != 0 && munmap(start_addr, len) != 0) ABORT("munmap failed");
-      GC_unmapped_bytes += len;
-#   endif
-}
-
-#endif /* USE_MUNMAP */
-
-/* Routine for pushing any additional roots.  In THREADS 	*/
-/* environment, this is also responsible for marking from 	*/
-/* thread stacks. 						*/
-#ifndef THREADS
-void (*GC_push_other_roots)(void) = 0;
-#else /* THREADS */
-
-# ifdef PCR
-PCR_ERes GC_push_thread_stack(PCR_Th_T *t, PCR_Any dummy)
-{
-    struct PCR_ThCtl_TInfoRep info;
-    PCR_ERes result;
-    
-    info.ti_stkLow = info.ti_stkHi = 0;
-    result = PCR_ThCtl_GetInfo(t, &info);
-    GC_push_all_stack((ptr_t)(info.ti_stkLow), (ptr_t)(info.ti_stkHi));
-    return(result);
-}
-
-/* Push the contents of an old object. We treat this as stack	*/
-/* data only becasue that makes it robust against mark stack	*/
-/* overflow.							*/
-PCR_ERes GC_push_old_obj(void *p, size_t size, PCR_Any data)
-{
-    GC_push_all_stack((ptr_t)p, (ptr_t)p + size);
-    return(PCR_ERes_okay);
-}
-
-
-void GC_default_push_other_roots(void)
-{
-    /* Traverse data allocated by previous memory managers.		*/
-	{
-	  extern struct PCR_MM_ProcsRep * GC_old_allocator;
-	  
-	  if ((*(GC_old_allocator->mmp_enumerate))(PCR_Bool_false,
-	  					   GC_push_old_obj, 0)
-	      != PCR_ERes_okay) {
-	      ABORT("Old object enumeration failed");
-	  }
-	}
-    /* Traverse all thread stacks. */
-	if (PCR_ERes_IsErr(
-                PCR_ThCtl_ApplyToAllOtherThreads(GC_push_thread_stack,0))
-              || PCR_ERes_IsErr(GC_push_thread_stack(PCR_Th_CurrThread(), 0))) {
-              ABORT("Thread stack marking failed\n");
-	}
-}
-
-# endif /* PCR */
-
-
-# if defined(GC_PTHREADS) || defined(GC_WIN32_THREADS)
-
-extern void GC_push_all_stacks(void);
-
-void GC_default_push_other_roots(void)
-{
-    GC_push_all_stacks();
-}
-
-# endif /* GC_WIN32_THREADS || GC_PTHREADS */
-
-void (*GC_push_other_roots)(void) = GC_default_push_other_roots;
-
-#endif /* THREADS */
-
-/*
- * Routines for accessing dirty  bits on virtual pages.
- * There are six ways to maintain this information:
- * DEFAULT_VDB:	A simple dummy implementation that treats every page
- *		as possibly dirty.  This makes incremental collection
- *		useless, but the implementation is still correct.
- * MANUAL_VDB:  Stacks and static data are always considered dirty.
- * 		Heap pages are considered dirty if GC_dirty(p) has been
- * 		called on some pointer p pointing to somewhere inside
- * 		an object on that page.  A GC_dirty() call on a large
- * 		object directly dirties only a single page, but for
- * 		MANUAL_VDB we are careful to treat an object with a dirty
- * 		page as completely dirty.
- * 		In order to avoid races, an object must be marked dirty
- * 		after it is written, and a reference to the object
- * 		must be kept on a stack or in a register in the interim.
- * 		With threads enabled, an object directly reachable from the
- * 		stack at the time of a collection is treated as dirty.
- * 		In single-threaded mode, it suffices to ensure that no
- * 		collection can take place between the pointer assignment
- * 		and the GC_dirty() call.
- * PCR_VDB:	Use PPCRs virtual dirty bit facility.
- * PROC_VDB:	Use the /proc facility for reading dirty bits.  Only
- *		works under some SVR4 variants.  Even then, it may be
- *		too slow to be entirely satisfactory.  Requires reading
- *		dirty bits for entire address space.  Implementations tend
- *		to assume that the client is a (slow) debugger.
- * MPROTECT_VDB:Protect pages and then catch the faults to keep track of
- *		dirtied pages.  The implementation (and implementability)
- *		is highly system dependent.  This usually fails when system
- *		calls write to a protected page.  We prevent the read system
- *		call from doing so.  It is the clients responsibility to
- *		make sure that other system calls are similarly protected
- *		or write only to the stack.
- * GWW_VDB:     Use the Win32 GetWriteWatch functions, if available, to
- *              read dirty bits.  In case it is not available (because we
- *              are running on Windows 95, Windows 2000 or earlier),
- *              MPROTECT_VDB may be defined as a fallback strategy.
- */
-GC_bool GC_dirty_maintained = FALSE;
-
-#if defined(PROC_VDB) || defined(GWW_VDB)
-
-/* Add all pages in pht2 to pht1 */
-void GC_or_pages(page_hash_table pht1, page_hash_table pht2)
-{
-    register int i;
-    
-    for (i = 0; i < PHT_SIZE; i++) pht1[i] |= pht2[i];
-}
-
-#endif
-
-#ifdef GWW_VDB
-
-# define GC_GWW_BUF_LEN 1024
-  static PVOID gww_buf[GC_GWW_BUF_LEN];
-
-# ifdef MPROTECT_VDB
-    GC_bool GC_gww_dirty_init(void)
-    {
-      detect_GetWriteWatch();
-      return GC_GWW_AVAILABLE();
-    }
-# else
-    void GC_dirty_init(void)
-    {
-      detect_GetWriteWatch();
-      GC_dirty_maintained = GC_GWW_AVAILABLE();
-    }
-# endif
-
-# ifdef MPROTECT_VDB
-    static void GC_gww_read_dirty(void)
-# else
-    void GC_read_dirty(void)
-# endif
-  {
-    word i;
-
-    BZERO(GC_grungy_pages, sizeof(GC_grungy_pages));
-
-    for (i = 0; i != GC_n_heap_sects; ++i) {
-      ULONG_PTR count;
-
-      do {
-        PVOID * pages, * pages_end;
-        DWORD page_size;
-
-        pages = gww_buf;
-        count = GC_GWW_BUF_LEN;
-        /*
-        * GetWriteWatch is documented as returning non-zero when it fails,
-        * but the documentation doesn't explicitly say why it would fail or
-        * what its behaviour will be if it fails.
-	* It does appear to fail, at least on recent W2K instances, if
-	* the underlying memory was not allocated with the appropriate
-	* flag.  This is common if GC_enable_incremental is called
-	* shortly after GC initialization.  To avoid modifying the
-	* interface, we silently work around such a failure, it it only
-	* affects the initial (small) heap allocation.
-	* If there are more dirty
-        * pages than will fit in the buffer, this is not treated as a
-        * failure; we must check the page count in the loop condition.
-	* Since each partial call will reset the status of some
-	* pages, this should eventually terminate even in the overflow
-	* case.
-        */
-        if (GetWriteWatch_func(WRITE_WATCH_FLAG_RESET,
-                               GC_heap_sects[i].hs_start,
-                               GC_heap_sects[i].hs_bytes,
-                               pages,
-                               &count,
-                               &page_size) != 0) {
-          static int warn_count = 0;
-          unsigned j;
-          struct hblk * start = (struct hblk *)GC_heap_sects[i].hs_start;
-          static struct hblk *last_warned = 0;
-          size_t nblocks = divHBLKSZ(GC_heap_sects[i].hs_bytes);
-
-          if ( i != 0 && last_warned != start && warn_count++ < 5) {
-            last_warned = start;
-            WARN(
-              "GC_gww_read_dirty unexpectedly failed at %ld: "
-              "Falling back to marking all pages dirty\n", start);
-          }
-          for (j = 0; j < nblocks; ++j) {
-              word hash = PHT_HASH(start + j);
-              set_pht_entry_from_index(GC_grungy_pages, hash);
-          }
-          count = 1;  /* Done with this section. */
-        } else /* succeeded */{
-          pages_end = pages + count;
-          while (pages != pages_end) {
-            struct hblk * h = (struct hblk *) *pages++;
-            struct hblk * h_end = (struct hblk *) ((char *) h + page_size);
-            do
-              set_pht_entry_from_index(GC_grungy_pages, PHT_HASH(h));
-            while (++h < h_end);
-          }
-        }
-      } while (count == GC_GWW_BUF_LEN);
-    }
-
-    GC_or_pages(GC_written_pages, GC_grungy_pages);
-  }
-
-# ifdef MPROTECT_VDB
-    static GC_bool GC_gww_page_was_dirty(struct hblk * h)
-# else
-    GC_bool GC_page_was_dirty(struct hblk * h)
-# endif
-  {
-    return HDR(h) == 0 || get_pht_entry_from_index(GC_grungy_pages, PHT_HASH(h));
-  }
-
-# ifdef MPROTECT_VDB
-    static GC_bool GC_gww_page_was_ever_dirty(struct hblk * h)
-# else
-    GC_bool GC_page_was_ever_dirty(struct hblk * h)
-# endif
-  {
-    return HDR(h) == 0 || get_pht_entry_from_index(GC_written_pages, PHT_HASH(h));
-  }
-
-# ifndef MPROTECT_VDB
-    void GC_remove_protection(struct hblk *h, word nblocks, GC_bool is_ptrfree)
-    {}
-# endif
-
-# endif /* GWW_VDB */
-
-# ifdef DEFAULT_VDB
-
-/* All of the following assume the allocation lock is held, and	*/
-/* signals are disabled.					*/
-
-/* The client asserts that unallocated pages in the heap are never	*/
-/* written.								*/
-
-/* Initialize virtual dirty bit implementation.			*/
-void GC_dirty_init(void)
-{
-    if (GC_print_stats == VERBOSE)
-      GC_log_printf("Initializing DEFAULT_VDB...\n");
-    GC_dirty_maintained = TRUE;
-}
-
-/* Retrieve system dirty bits for heap to a local buffer.	*/
-/* Restore the systems notion of which pages are dirty.		*/
-void GC_read_dirty(void)
-{}
-
-/* Is the HBLKSIZE sized page at h marked dirty in the local buffer?	*/
-/* If the actual page size is different, this returns TRUE if any	*/
-/* of the pages overlapping h are dirty.  This routine may err on the	*/
-/* side of labelling pages as dirty (and this implementation does).	*/
-/*ARGSUSED*/
-GC_bool GC_page_was_dirty(struct hblk *h)
-{
-    return(TRUE);
-}
-
-/*
- * The following two routines are typically less crucial.  They matter
- * most with large dynamic libraries, or if we can't accurately identify
- * stacks, e.g. under Solaris 2.X.  Otherwise the following default
- * versions are adequate.
- */
- 
-/* Could any valid GC heap pointer ever have been written to this page?	*/
-/*ARGSUSED*/
-GC_bool GC_page_was_ever_dirty(struct hblk *h)
-{
-    return(TRUE);
-}
-
-/* A call that:						*/
-/* I) hints that [h, h+nblocks) is about to be written.	*/
-/* II) guarantees that protection is removed.		*/
-/* (I) may speed up some dirty bit implementations.	*/
-/* (II) may be essential if we need to ensure that	*/
-/* pointer-free system call buffers in the heap are 	*/
-/* not protected.					*/
-/*ARGSUSED*/
-void GC_remove_protection(struct hblk *h, word nblocks, GC_bool is_ptrfree)
-{
-}
-
-# endif /* DEFAULT_VDB */
-
-# ifdef MANUAL_VDB
-
-/* Initialize virtual dirty bit implementation.			*/
-void GC_dirty_init(void)
-{
-    if (GC_print_stats == VERBOSE)
-      GC_log_printf("Initializing MANUAL_VDB...\n");
-    /* GC_dirty_pages and GC_grungy_pages are already cleared. */
-    GC_dirty_maintained = TRUE;
-}
-
-/* Retrieve system dirty bits for heap to a local buffer.	*/
-/* Restore the systems notion of which pages are dirty.		*/
-void GC_read_dirty(void)
-{
-    BCOPY((word *)GC_dirty_pages, GC_grungy_pages,
-          (sizeof GC_dirty_pages));
-    BZERO((word *)GC_dirty_pages, (sizeof GC_dirty_pages));
-}
-
-/* Is the HBLKSIZE sized page at h marked dirty in the local buffer?	*/
-/* If the actual page size is different, this returns TRUE if any	*/
-/* of the pages overlapping h are dirty.  This routine may err on the	*/
-/* side of labelling pages as dirty (and this implementation does).	*/
-/*ARGSUSED*/
-GC_bool GC_page_was_dirty(struct hblk *h)
-{
-    register word index;
-    
-    index = PHT_HASH(h);
-    return(HDR(h) == 0 || get_pht_entry_from_index(GC_grungy_pages, index));
-}
- 
-/* Could any valid GC heap pointer ever have been written to this page?	*/
-/*ARGSUSED*/
-GC_bool GC_page_was_ever_dirty(struct hblk *h)
-{
-    /* FIXME - implement me.	*/
-    return(TRUE);
-}
-
-/* Mark the page containing p as dirty.  Logically, this dirties the	*/
-/* entire object.							*/
-void GC_dirty(ptr_t p)
-{
-    word index = PHT_HASH(p);
-    async_set_pht_entry_from_index(GC_dirty_pages, index);
-}
-
-/*ARGSUSED*/
-void GC_remove_protection(struct hblk *h, word nblocks, GC_bool is_ptrfree)
-{
-}
-
-# endif /* MANUAL_VDB */
-
-
-# ifdef MPROTECT_VDB
-
-/*
- * See DEFAULT_VDB for interface descriptions.
- */
-
-/*
- * This implementation maintains dirty bits itself by catching write
- * faults and keeping track of them.  We assume nobody else catches
- * SIGBUS or SIGSEGV.  We assume no write faults occur in system calls.
- * This means that clients must ensure that system calls don't write
- * to the write-protected heap.  Probably the best way to do this is to
- * ensure that system calls write at most to POINTERFREE objects in the
- * heap, and do even that only if we are on a platform on which those
- * are not protected.  Another alternative is to wrap system calls
- * (see example for read below), but the current implementation holds
- * applications. 
- * We assume the page size is a multiple of HBLKSIZE.
- * We prefer them to be the same.  We avoid protecting POINTERFREE
- * objects only if they are the same.
- */
-
-# if !defined(MSWIN32) && !defined(MSWINCE) && !defined(DARWIN)
-
-#   include <sys/mman.h>
-#   include <signal.h>
-#   include <sys/syscall.h>
-
-#   define PROTECT(addr, len) \
-    	  if (mprotect((caddr_t)(addr), (size_t)(len), \
-    	      	       PROT_READ | OPT_PROT_EXEC) < 0) { \
-    	    ABORT("mprotect failed"); \
-    	  }
-#   define UNPROTECT(addr, len) \
-    	  if (mprotect((caddr_t)(addr), (size_t)(len), \
-    	  	       PROT_WRITE | PROT_READ | OPT_PROT_EXEC ) < 0) { \
-    	    ABORT("un-mprotect failed"); \
-    	  }
-    	  
-# else
-
-# ifdef DARWIN
-    /* Using vm_protect (mach syscall) over mprotect (BSD syscall) seems to
-       decrease the likelihood of some of the problems described below. */
-    #include <mach/vm_map.h>
-    static mach_port_t GC_task_self;
-    #define PROTECT(addr,len) \
-        if(vm_protect(GC_task_self,(vm_address_t)(addr),(vm_size_t)(len), \
-                FALSE,VM_PROT_READ) != KERN_SUCCESS) { \
-            ABORT("vm_portect failed"); \
-        }
-    #define UNPROTECT(addr,len) \
-        if(vm_protect(GC_task_self,(vm_address_t)(addr),(vm_size_t)(len), \
-                FALSE,VM_PROT_READ|VM_PROT_WRITE) != KERN_SUCCESS) { \
-            ABORT("vm_portect failed"); \
-        }
-# else
-    
-#   ifndef MSWINCE
-#     include <signal.h>
-#   endif
-
-    static DWORD protect_junk;
-#   define PROTECT(addr, len) \
-	  if (!VirtualProtect((addr), (len), PAGE_EXECUTE_READ, \
-	  		      &protect_junk)) { \
-	    DWORD last_error = GetLastError(); \
-	    GC_printf("Last error code: %lx\n", last_error); \
-	    ABORT("VirtualProtect failed"); \
-	  }
-#   define UNPROTECT(addr, len) \
-	  if (!VirtualProtect((addr), (len), PAGE_EXECUTE_READWRITE, \
-	  		      &protect_junk)) { \
-	    ABORT("un-VirtualProtect failed"); \
-	  }
-# endif /* !DARWIN */
-# endif /* MSWIN32 || MSWINCE || DARWIN */
-
-#if defined(MSWIN32)
-    typedef LPTOP_LEVEL_EXCEPTION_FILTER SIG_HNDLR_PTR;
-#   undef SIG_DFL
-#   define SIG_DFL (LPTOP_LEVEL_EXCEPTION_FILTER) (-1)
-#elif defined(MSWINCE)
-    typedef LONG (WINAPI *SIG_HNDLR_PTR)(struct _EXCEPTION_POINTERS *);
-#   undef SIG_DFL
-#   define SIG_DFL (SIG_HNDLR_PTR) (-1)
-#elif defined(DARWIN)
-    typedef void (* SIG_HNDLR_PTR)();
-#else
-    typedef void (* SIG_HNDLR_PTR)(int, siginfo_t *, void *);
-    typedef void (* PLAIN_HNDLR_PTR)(int);
-#endif
-
-#if defined(__GLIBC__)
-#   if __GLIBC__ < 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
-#	error glibc too old?
-#   endif
-#endif
-
-#ifndef DARWIN
-SIG_HNDLR_PTR GC_old_bus_handler;
-GC_bool GC_old_bus_handler_used_si;
-SIG_HNDLR_PTR GC_old_segv_handler;
-			/* Also old MSWIN32 ACCESS_VIOLATION filter */
-GC_bool GC_old_segv_handler_used_si;
-#endif /* !DARWIN */
-
-#if defined(THREADS)
-/* We need to lock around the bitmap update in the write fault handler	*/
-/* in order to avoid the risk of losing a bit.  We do this with a 	*/
-/* test-and-set spin lock if we know how to do that.  Otherwise we	*/
-/* check whether we are already in the handler and use the dumb but	*/
-/* safe fallback algorithm of setting all bits in the word.		*/
-/* Contention should be very rare, so we do the minimum to handle it	*/
-/* correctly.								*/
-#ifdef AO_HAVE_test_and_set_acquire
-  static volatile AO_TS_t fault_handler_lock = 0;
-  void async_set_pht_entry_from_index(volatile page_hash_table db, size_t index) {
-    while (AO_test_and_set_acquire(&fault_handler_lock) == AO_TS_SET) {}
-    /* Could also revert to set_pht_entry_from_index_safe if initial	*/
-    /* GC_test_and_set fails.						*/
-    set_pht_entry_from_index(db, index);
-    AO_CLEAR(&fault_handler_lock);
-  }
-#else /* !AO_have_test_and_set_acquire */
-# error No test_and_set operation: Introduces a race.
-  /* THIS WOULD BE INCORRECT!						*/
-  /* The dirty bit vector may be temporarily wrong,			*/
-  /* just before we notice the conflict and correct it. We may end up   */
-  /* looking at it while it's wrong.  But this requires contention	*/
-  /* exactly when a GC is triggered, which seems far less likely to	*/
-  /* fail than the old code, which had no reported failures.  Thus we	*/
-  /* leave it this way while we think of something better, or support	*/
-  /* GC_test_and_set on the remaining platforms.			*/
-  static volatile word currently_updating = 0;
-  void async_set_pht_entry_from_index(volatile page_hash_table db, size_t index) {
-    unsigned int update_dummy;
-    currently_updating = (word)(&update_dummy);
-    set_pht_entry_from_index(db, index);
-    /* If we get contention in the 10 or so instruction window here,	*/
-    /* and we get stopped by a GC between the two updates, we lose!	*/
-    if (currently_updating != (word)(&update_dummy)) {
-	set_pht_entry_from_index_safe(db, index);
-	/* We claim that if two threads concurrently try to update the	*/
-	/* dirty bit vector, the first one to execute UPDATE_START 	*/
-	/* will see it changed when UPDATE_END is executed.  (Note that	*/
-	/* &update_dummy must differ in two distinct threads.)  It	*/
-	/* will then execute set_pht_entry_from_index_safe, thus 	*/
-	/* returning us to a safe state, though not soon enough.	*/
-    }
-  }
-#endif /* !AO_HAVE_test_and_set_acquire */
-#else /* !THREADS */
-# define async_set_pht_entry_from_index(db, index) \
-	set_pht_entry_from_index(db, index)
-#endif /* !THREADS */
-
-#if !defined(DARWIN)
-#   include <errno.h>
-#   if defined(FREEBSD)
-#     define SIG_OK TRUE
-#     define CODE_OK (code == BUS_PAGE_FAULT)
-#   elif defined(OSF1)
-#     define SIG_OK (sig == SIGSEGV)
-#     define CODE_OK (code == 2 /* experimentally determined */)
-#   elif defined(IRIX5)
-#     define SIG_OK (sig == SIGSEGV)
-#     define CODE_OK (code == EACCES)
-#   elif defined(HURD)
-#     define SIG_OK (sig == SIGBUS || sig == SIGSEGV) 	
-#     define CODE_OK  TRUE
-#   elif defined(LINUX)
-#     define SIG_OK (sig == SIGSEGV)
-#     define CODE_OK TRUE
-	/* Empirically c.trapno == 14, on IA32, but is that useful?     */
-	/* Should probably consider alignment issues on other 		*/
-	/* architectures.						*/
-#   elif defined(HPUX)
-#     define SIG_OK (sig == SIGSEGV || sig == SIGBUS)
-#     define CODE_OK (si -> si_code == SEGV_ACCERR) \
-		     || (si -> si_code == BUS_ADRERR) \
-		     || (si -> si_code == BUS_UNKNOWN) \
-		     || (si -> si_code == SEGV_UNKNOWN) \
-		     || (si -> si_code == BUS_OBJERR)
-#   elif defined(FREEBSD)
-#     define SIG_OK (sig == SIGBUS)
-#     define CODE_OK (si -> si_code == BUS_PAGE_FAULT)
-#   elif defined(SUNOS5SIGS)
-#     define SIG_OK (sig == SIGSEGV)
-#     define CODE_OK (si -> si_code == SEGV_ACCERR)
-#   elif defined(MSWIN32) || defined(MSWINCE)
-#     define SIG_OK (exc_info -> ExceptionRecord -> ExceptionCode \
-		     == STATUS_ACCESS_VIOLATION)
-#     define CODE_OK (exc_info -> ExceptionRecord -> ExceptionInformation[0] \
-		      == 1) /* Write fault */
-#   endif    
-
-# if defined(MSWIN32) || defined(MSWINCE)
-    LONG WINAPI GC_write_fault_handler(struct _EXCEPTION_POINTERS *exc_info)
-# else
-#   include <ucontext.h>
-    /*ARGSUSED*/
-    void GC_write_fault_handler(int sig, siginfo_t *si, void *raw_sc)
-# endif /* MSWIN32 || MSWINCE */
-{
-#   if !defined(MSWIN32) && !defined(MSWINCE)
-      int code = si -> si_code;  /* Ignore gcc unused var. warning. */
-      ucontext_t * scp = (ucontext_t *)raw_sc;
-      				/* Ignore gcc unused var. warning. */
-      char *addr = si -> si_addr;
-#   endif
-#   if defined(MSWIN32) || defined(MSWINCE)
-	char * addr = (char *) (exc_info -> ExceptionRecord
-				-> ExceptionInformation[1]);
-#	define sig SIGSEGV
-#   endif
-    unsigned i;
-    
-    if (SIG_OK && CODE_OK) {
-        register struct hblk * h =
-        		(struct hblk *)((word)addr & ~(GC_page_size-1));
-        GC_bool in_allocd_block;
-        
-#	ifdef SUNOS5SIGS
-	    /* Address is only within the correct physical page.	*/
-	    in_allocd_block = FALSE;
-            for (i = 0; i < divHBLKSZ(GC_page_size); i++) {
-              if (HDR(h+i) != 0) {
-                in_allocd_block = TRUE;
-              }
-            }
-#	else
-	    in_allocd_block = (HDR(addr) != 0);
-#	endif
-        if (!in_allocd_block) {
-	    /* FIXME - We should make sure that we invoke the	*/
-	    /* old handler with the appropriate calling 	*/
-	    /* sequence, which often depends on SA_SIGINFO.	*/
-
-	    /* Heap blocks now begin and end on page boundaries */
-            SIG_HNDLR_PTR old_handler;
-	    GC_bool used_si;
-            
-            if (sig == SIGSEGV) {
-            	old_handler = GC_old_segv_handler;
-		used_si = GC_old_segv_handler_used_si;
-            } else {
-                old_handler = GC_old_bus_handler;
-		used_si = GC_old_bus_handler_used_si;
-            }
-            if (old_handler == (SIG_HNDLR_PTR)SIG_DFL) {
-#		if !defined(MSWIN32) && !defined(MSWINCE)
-		    GC_err_printf("Segfault at %p\n", addr);
-                    ABORT("Unexpected bus error or segmentation fault");
-#		else
-		    return(EXCEPTION_CONTINUE_SEARCH);
-#		endif
-            } else {
-                /*
-                 * FIXME: This code should probably check if the 
-                 * old signal handler used the traditional style and
-                 * if so call it using that style.
-                 */
-#		ifdef MSWIN32
-		    return((*old_handler)(exc_info));
-#		else
-		    if (used_si)
-		      ((SIG_HNDLR_PTR)old_handler) (sig, si, raw_sc);
-		    else
-		      /* FIXME: should pass nonstandard args as well. */
-		      ((PLAIN_HNDLR_PTR)old_handler) (sig);
-		    return;
-#		endif
-            }
-        }
-        UNPROTECT(h, GC_page_size);
-	/* We need to make sure that no collection occurs between	*/
-	/* the UNPROTECT and the setting of the dirty bit.  Otherwise	*/
-	/* a write by a third thread might go unnoticed.  Reversing	*/
-	/* the order is just as bad, since we would end up unprotecting	*/
-	/* a page in a GC cycle during which it's not marked.		*/
-	/* Currently we do this by disabling the thread stopping	*/
-	/* signals while this handler is running.  An alternative might	*/
-	/* be to record the fact that we're about to unprotect, or	*/
-	/* have just unprotected a page in the GC's thread structure,	*/
-	/* and then to have the thread stopping code set the dirty	*/
-	/* flag, if necessary.						*/
-        for (i = 0; i < divHBLKSZ(GC_page_size); i++) {
-            size_t index = PHT_HASH(h+i);
-            
-            async_set_pht_entry_from_index(GC_dirty_pages, index);
-        }
-    	/* The write may not take place before dirty bits are read.	*/
-    	/* But then we'll fault again ...				*/
-#	if defined(MSWIN32) || defined(MSWINCE)
-	    return(EXCEPTION_CONTINUE_EXECUTION);
-#	else
-	    return;
-#	endif
-    }
-#if defined(MSWIN32) || defined(MSWINCE)
-    return EXCEPTION_CONTINUE_SEARCH;
-#else
-    GC_err_printf("Segfault at %p\n", addr);
-    ABORT("Unexpected bus error or segmentation fault");
-#endif
-}
-#endif /* !DARWIN */
-
-/*
- * We hold the allocation lock.  We expect block h to be written
- * shortly.  Ensure that all pages containing any part of the n hblks
- * starting at h are no longer protected.  If is_ptrfree is false,
- * also ensure that they will subsequently appear to be dirty.
- */
-void GC_remove_protection(struct hblk *h, word nblocks, GC_bool is_ptrfree)
-{
-    struct hblk * h_trunc;  /* Truncated to page boundary */
-    struct hblk * h_end;    /* Page boundary following block end */
-    struct hblk * current;
-    GC_bool found_clean;
-    
-#   if defined(GWW_VDB)
-      if (GC_GWW_AVAILABLE()) return;
-#   endif
-    if (!GC_dirty_maintained) return;
-    h_trunc = (struct hblk *)((word)h & ~(GC_page_size-1));
-    h_end = (struct hblk *)(((word)(h + nblocks) + GC_page_size-1)
-	                    & ~(GC_page_size-1));
-    found_clean = FALSE;
-    for (current = h_trunc; current < h_end; ++current) {
-        size_t index = PHT_HASH(current);
-            
-        if (!is_ptrfree || current < h || current >= h + nblocks) {
-            async_set_pht_entry_from_index(GC_dirty_pages, index);
-        }
-    }
-    UNPROTECT(h_trunc, (ptr_t)h_end - (ptr_t)h_trunc);
-}
-
-#if !defined(DARWIN)
-void GC_dirty_init(void)
-{
-#   if !defined(MSWIN32) && !defined(MSWINCE)
-      struct sigaction	act, oldact;
-      act.sa_flags	= SA_RESTART | SA_SIGINFO;
-      act.sa_sigaction = GC_write_fault_handler;
-      (void)sigemptyset(&act.sa_mask);
-#     ifdef SIG_SUSPEND
-        /* Arrange to postpone SIG_SUSPEND while we're in a write fault	*/
-        /* handler.  This effectively makes the handler atomic w.r.t.	*/
-        /* stopping the world for GC.					*/
-        (void)sigaddset(&act.sa_mask, SIG_SUSPEND);
-#     endif /* SIG_SUSPEND */
-#   endif
-    if (GC_print_stats == VERBOSE)
-	GC_log_printf(
-		"Initializing mprotect virtual dirty bit implementation\n");
-    GC_dirty_maintained = TRUE;
-    if (GC_page_size % HBLKSIZE != 0) {
-        GC_err_printf("Page size not multiple of HBLKSIZE\n");
-        ABORT("Page size not multiple of HBLKSIZE");
-    }
-#   if !defined(MSWIN32) && !defined(MSWINCE)
-#     if defined(GC_IRIX_THREADS)
-      	sigaction(SIGSEGV, 0, &oldact);
-      	sigaction(SIGSEGV, &act, 0);
-#     else 
-	{
-	  int res = sigaction(SIGSEGV, &act, &oldact);
-	  if (res != 0) ABORT("Sigaction failed");
- 	}
-#     endif
-      if (oldact.sa_flags & SA_SIGINFO) {
-        GC_old_segv_handler = oldact.sa_sigaction;
-	GC_old_segv_handler_used_si = TRUE;
-      } else {
-        GC_old_segv_handler = (SIG_HNDLR_PTR)oldact.sa_handler;
-	GC_old_segv_handler_used_si = FALSE;
-      }
-      if (GC_old_segv_handler == (SIG_HNDLR_PTR)SIG_IGN) {
-	GC_err_printf("Previously ignored segmentation violation!?");
-	GC_old_segv_handler = (SIG_HNDLR_PTR)SIG_DFL;
-      }
-      if (GC_old_segv_handler != (SIG_HNDLR_PTR)SIG_DFL) {
-	if (GC_print_stats == VERBOSE)
-	  GC_log_printf("Replaced other SIGSEGV handler\n");
-      }
-#   endif /* ! MS windows */
-#   if defined(HPUX) || defined(LINUX) || defined(HURD) \
-      || (defined(FREEBSD) && defined(SUNOS5SIGS))
-      sigaction(SIGBUS, &act, &oldact);
-      if (oldact.sa_flags & SA_SIGINFO) {
-        GC_old_bus_handler = oldact.sa_sigaction;
-	GC_old_bus_handler_used_si = TRUE;
-      } else {
-        GC_old_bus_handler = (SIG_HNDLR_PTR)oldact.sa_handler;
-	GC_old_bus_handler_used_si = FALSE;
-      }
-      if (GC_old_bus_handler == (SIG_HNDLR_PTR)SIG_IGN) {
-	     GC_err_printf("Previously ignored bus error!?");
-	     GC_old_bus_handler = (SIG_HNDLR_PTR)SIG_DFL;
-      }
-      if (GC_old_bus_handler != (SIG_HNDLR_PTR)SIG_DFL) {
-	if (GC_print_stats == VERBOSE)
-	  GC_log_printf("Replaced other SIGBUS handler\n");
-      }
-#   endif /* HPUX || LINUX || HURD || (FREEBSD && SUNOS5SIGS) */
-#   if defined(MSWIN32)
-#     if defined(GWW_VDB)
-        if (GC_gww_dirty_init())
-          return;
-#     endif
-      GC_old_segv_handler = SetUnhandledExceptionFilter(GC_write_fault_handler);
-      if (GC_old_segv_handler != NULL) {
-	if (GC_print_stats)
-          GC_log_printf("Replaced other UnhandledExceptionFilter\n");
-      } else {
-          GC_old_segv_handler = SIG_DFL;
-      }
-#   endif
-}
-#endif /* !DARWIN */
-
-int GC_incremental_protection_needs(void)
-{
-    if (GC_page_size == HBLKSIZE) {
-	return GC_PROTECTS_POINTER_HEAP;
-    } else {
-	return GC_PROTECTS_POINTER_HEAP | GC_PROTECTS_PTRFREE_HEAP;
-    }
-}
-
-#define HAVE_INCREMENTAL_PROTECTION_NEEDS
-
-#define IS_PTRFREE(hhdr) ((hhdr)->hb_descr == 0)
-
-#define PAGE_ALIGNED(x) !((word)(x) & (GC_page_size - 1))
-void GC_protect_heap(void)
-{
-    ptr_t start;
-    size_t len;
-    struct hblk * current;
-    struct hblk * current_start;  /* Start of block to be protected. */
-    struct hblk * limit;
-    unsigned i;
-    GC_bool protect_all = 
-	  (0 != (GC_incremental_protection_needs() & GC_PROTECTS_PTRFREE_HEAP));
-    for (i = 0; i < GC_n_heap_sects; i++) {
-        start = GC_heap_sects[i].hs_start;
-        len = GC_heap_sects[i].hs_bytes;
-	if (protect_all) {
-          PROTECT(start, len);
-	} else {
-	  GC_ASSERT(PAGE_ALIGNED(len))
-	  GC_ASSERT(PAGE_ALIGNED(start))
-	  current_start = current = (struct hblk *)start;
-	  limit = (struct hblk *)(start + len);
-	  while (current < limit) {
-            hdr * hhdr;
-	    word nhblks;
-	    GC_bool is_ptrfree;
-
-	    GC_ASSERT(PAGE_ALIGNED(current));
-	    GET_HDR(current, hhdr);
-	    if (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
-	      /* This can happen only if we're at the beginning of a 	*/
-	      /* heap segment, and a block spans heap segments.		*/
-	      /* We will handle that block as part of the preceding	*/
-	      /* segment.						*/
-	      GC_ASSERT(current_start == current);
-	      current_start = ++current;
-	      continue;
-	    }
-	    if (HBLK_IS_FREE(hhdr)) {
-	      GC_ASSERT(PAGE_ALIGNED(hhdr -> hb_sz));
-	      nhblks = divHBLKSZ(hhdr -> hb_sz);
-	      is_ptrfree = TRUE;	/* dirty on alloc */
-	    } else {
-	      nhblks = OBJ_SZ_TO_BLOCKS(hhdr -> hb_sz);
-	      is_ptrfree = IS_PTRFREE(hhdr);
-	    }
-	    if (is_ptrfree) {
-	      if (current_start < current) {
-		PROTECT(current_start, (ptr_t)current - (ptr_t)current_start);
-	      }
-	      current_start = (current += nhblks);
-	    } else {
-	      current += nhblks;
-	    }
-	  } 
-	  if (current_start < current) {
-	    PROTECT(current_start, (ptr_t)current - (ptr_t)current_start);
-	  }
-	}
-    }
-}
-
-/* We assume that either the world is stopped or its OK to lose dirty	*/
-/* bits while this is happenning (as in GC_enable_incremental).		*/
-void GC_read_dirty(void)
-{
-#   if defined(GWW_VDB)
-      if (GC_GWW_AVAILABLE()) {
-        GC_gww_read_dirty();
-        return;
-      }
-#   endif
-    BCOPY((word *)GC_dirty_pages, GC_grungy_pages,
-          (sizeof GC_dirty_pages));
-    BZERO((word *)GC_dirty_pages, (sizeof GC_dirty_pages));
-    GC_protect_heap();
-}
-
-GC_bool GC_page_was_dirty(struct hblk *h)
-{
-    register word index;
-    
-#   if defined(GWW_VDB)
-      if (GC_GWW_AVAILABLE())
-        return GC_gww_page_was_dirty(h);
-#   endif
-
-    index = PHT_HASH(h);
-    return(HDR(h) == 0 || get_pht_entry_from_index(GC_grungy_pages, index));
-}
-
-/*
- * Acquiring the allocation lock here is dangerous, since this
- * can be called from within GC_call_with_alloc_lock, and the cord
- * package does so.  On systems that allow nested lock acquisition, this
- * happens to work.
- * On other systems, SET_LOCK_HOLDER and friends must be suitably defined.
- */
-
-static GC_bool syscall_acquired_lock = FALSE;	/* Protected by GC lock. */
- 
-#if 0
-void GC_begin_syscall(void)
-{
-    /* FIXME: Resurrecting this code would require fixing the	*/
-    /* test, which can spuriously return TRUE.			*/
-    if (!I_HOLD_LOCK()) {
-	LOCK();
-	syscall_acquired_lock = TRUE;
-    }
-}
-
-void GC_end_syscall(void)
-{
-    if (syscall_acquired_lock) {
-	syscall_acquired_lock = FALSE;
-	UNLOCK();
-    }
-}
-
-void GC_unprotect_range(ptr_t addr, word len)
-{
-    struct hblk * start_block;
-    struct hblk * end_block;
-    register struct hblk *h;
-    ptr_t obj_start;
-    
-    if (!GC_dirty_maintained) return;
-    obj_start = GC_base(addr);
-    if (obj_start == 0) return;
-    if (GC_base(addr + len - 1) != obj_start) {
-        ABORT("GC_unprotect_range(range bigger than object)");
-    }
-    start_block = (struct hblk *)((word)addr & ~(GC_page_size - 1));
-    end_block = (struct hblk *)((word)(addr + len - 1) & ~(GC_page_size - 1));
-    end_block += GC_page_size/HBLKSIZE - 1;
-    for (h = start_block; h <= end_block; h++) {
-        register word index = PHT_HASH(h);
-        
-        async_set_pht_entry_from_index(GC_dirty_pages, index);
-    }
-    UNPROTECT(start_block,
-    	      ((ptr_t)end_block - (ptr_t)start_block) + HBLKSIZE);
-}
-
-
-/* We no longer wrap read by default, since that was causing too many	*/
-/* problems.  It is preferred that the client instead avoids writing	*/
-/* to the write-protected heap with a system call.			*/
-/* This still serves as sample code if you do want to wrap system calls.*/
-
-#if !defined(MSWIN32) && !defined(MSWINCE) && !defined(GC_USE_LD_WRAP)
-/* Replacement for UNIX system call.					  */
-/* Other calls that write to the heap should be handled similarly.	  */
-/* Note that this doesn't work well for blocking reads:  It will hold	  */
-/* the allocation lock for the entire duration of the call. Multithreaded */
-/* clients should really ensure that it won't block, either by setting 	  */
-/* the descriptor nonblocking, or by calling select or poll first, to	  */
-/* make sure that input is available.					  */
-/* Another, preferred alternative is to ensure that system calls never 	  */
-/* write to the protected heap (see above).				  */
-# include <unistd.h>
-# include <sys/uio.h>
-ssize_t read(int fd, void *buf, size_t nbyte)
-{
-    int result;
-    
-    GC_begin_syscall();
-    GC_unprotect_range(buf, (word)nbyte);
-#   if defined(IRIX5) || defined(GC_LINUX_THREADS)
-	/* Indirect system call may not always be easily available.	*/
-	/* We could call _read, but that would interfere with the	*/
-	/* libpthread interception of read.				*/
-	/* On Linux, we have to be careful with the linuxthreads	*/
-	/* read interception.						*/
-	{
-	    struct iovec iov;
-
-	    iov.iov_base = buf;
-	    iov.iov_len = nbyte;
-	    result = readv(fd, &iov, 1);
-	}
-#   else
-#     if defined(HURD)	
-	result = __read(fd, buf, nbyte);
-#     else
- 	/* The two zero args at the end of this list are because one
- 	   IA-64 syscall() implementation actually requires six args
- 	   to be passed, even though they aren't always used. */
-     	result = syscall(SYS_read, fd, buf, nbyte, 0, 0);
-#     endif /* !HURD */
-#   endif
-    GC_end_syscall();
-    return(result);
-}
-#endif /* !MSWIN32 && !MSWINCE && !GC_LINUX_THREADS */
-
-#if defined(GC_USE_LD_WRAP) && !defined(THREADS)
-    /* We use the GNU ld call wrapping facility.			*/
-    /* This requires that the linker be invoked with "--wrap read".	*/
-    /* This can be done by passing -Wl,"--wrap read" to gcc.		*/
-    /* I'm not sure that this actually wraps whatever version of read	*/
-    /* is called by stdio.  That code also mentions __read.		*/
-#   include <unistd.h>
-    ssize_t __wrap_read(int fd, void *buf, size_t nbyte)
-    {
- 	int result;
-
-	GC_begin_syscall();
-    	GC_unprotect_range(buf, (word)nbyte);
-	result = __real_read(fd, buf, nbyte);
-	GC_end_syscall();
-	return(result);
-    }
-
-    /* We should probably also do this for __read, or whatever stdio	*/
-    /* actually calls.							*/
-#endif
-
-#endif /* 0 */
-
-/*ARGSUSED*/
-GC_bool GC_page_was_ever_dirty(struct hblk *h)
-{
-#   if defined(GWW_VDB)
-      if (GC_GWW_AVAILABLE())
-        return GC_gww_page_was_ever_dirty(h);
-#   endif
-    return(TRUE);
-}
-
-# endif /* MPROTECT_VDB */
-
-# ifdef PROC_VDB
-
-/*
- * See DEFAULT_VDB for interface descriptions.
- */
- 
-/*
- * This implementaion assumes a Solaris 2.X like /proc pseudo-file-system
- * from which we can read page modified bits.  This facility is far from
- * optimal (e.g. we would like to get the info for only some of the
- * address space), but it avoids intercepting system calls.
- */
-
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/signal.h>
-#include <sys/fault.h>
-#include <sys/syscall.h>
-#include <sys/procfs.h>
-#include <sys/stat.h>
-
-#define INITIAL_BUF_SZ 16384
-word GC_proc_buf_size = INITIAL_BUF_SZ;
-char *GC_proc_buf;
-
-int GC_proc_fd;
-
-void GC_dirty_init(void)
-{
-    int fd;
-    char buf[30];
-
-    GC_dirty_maintained = TRUE;
-    if (GC_bytes_allocd != 0 || GC_bytes_allocd_before_gc != 0) {
-    	register int i;
-    
-        for (i = 0; i < PHT_SIZE; i++) GC_written_pages[i] = (word)(-1);
-	if (GC_print_stats == VERBOSE)
-	    GC_log_printf(
-		      "Allocated bytes:%lu:all pages may have been written\n",
-	    	      (unsigned long)
-	    	      		(GC_bytes_allocd + GC_bytes_allocd_before_gc));
-    }
-    sprintf(buf, "/proc/%d", getpid());
-    fd = open(buf, O_RDONLY);
-    if (fd < 0) {
-    	ABORT("/proc open failed");
-    }
-    GC_proc_fd = syscall(SYS_ioctl, fd, PIOCOPENPD, 0);
-    close(fd);
-    syscall(SYS_fcntl, GC_proc_fd, F_SETFD, FD_CLOEXEC);
-    if (GC_proc_fd < 0) {
-    	ABORT("/proc ioctl failed");
-    }
-    GC_proc_buf = GC_scratch_alloc(GC_proc_buf_size);
-}
-
-/* Ignore write hints. They don't help us here.	*/
-/*ARGSUSED*/
-void GC_remove_protection(h, nblocks, is_ptrfree)
-struct hblk *h;
-word nblocks;
-GC_bool is_ptrfree;
-{
-}
-
-# define READ(fd,buf,nbytes) read(fd, buf, nbytes)
-
-void GC_read_dirty(void)
-{
-    unsigned long ps, np;
-    int nmaps;
-    ptr_t vaddr;
-    struct prasmap * map;
-    char * bufp;
-    ptr_t current_addr, limit;
-    int i;
-
-    BZERO(GC_grungy_pages, (sizeof GC_grungy_pages));
-    
-    bufp = GC_proc_buf;
-    if (READ(GC_proc_fd, bufp, GC_proc_buf_size) <= 0) {
-	if (GC_print_stats)
-            GC_log_printf("/proc read failed: GC_proc_buf_size = %lu\n",
-            	          (unsigned long)GC_proc_buf_size);
-        {
-            /* Retry with larger buffer. */
-            word new_size = 2 * GC_proc_buf_size;
-            char * new_buf = GC_scratch_alloc(new_size);
-            
-            if (new_buf != 0) {
-                GC_proc_buf = bufp = new_buf;
-                GC_proc_buf_size = new_size;
-            }
-            if (READ(GC_proc_fd, bufp, GC_proc_buf_size) <= 0) {
-                WARN("Insufficient space for /proc read\n", 0);
-                /* Punt:	*/
-        	memset(GC_grungy_pages, 0xff, sizeof (page_hash_table));
-		memset(GC_written_pages, 0xff, sizeof(page_hash_table));
-		return;
-            }
-        }
-    }
-    /* Copy dirty bits into GC_grungy_pages */
-    	nmaps = ((struct prpageheader *)bufp) -> pr_nmap;
-	/* printf( "nmaps = %d, PG_REFERENCED = %d, PG_MODIFIED = %d\n",
-		     nmaps, PG_REFERENCED, PG_MODIFIED); */
-	bufp = bufp + sizeof(struct prpageheader);
-	for (i = 0; i < nmaps; i++) {
-	    map = (struct prasmap *)bufp;
-	    vaddr = (ptr_t)(map -> pr_vaddr);
-	    ps = map -> pr_pagesize;
-	    np = map -> pr_npage;
-	    /* printf("vaddr = 0x%X, ps = 0x%X, np = 0x%X\n", vaddr, ps, np); */
-	    limit = vaddr + ps * np;
-	    bufp += sizeof (struct prasmap);
-	    for (current_addr = vaddr;
-	         current_addr < limit; current_addr += ps){
-	        if ((*bufp++) & PG_MODIFIED) {
-	            register struct hblk * h = (struct hblk *) current_addr;
-	            
-	            while ((ptr_t)h < current_addr + ps) {
-	                register word index = PHT_HASH(h);
-	                
-	                set_pht_entry_from_index(GC_grungy_pages, index);
-	                h++;
-	            }
-	        }
-	    }
-	    bufp += sizeof(long) - 1;
-	    bufp = (char *)((unsigned long)bufp & ~(sizeof(long)-1));
-	}
-    /* Update GC_written_pages. */
-        GC_or_pages(GC_written_pages, GC_grungy_pages);
-}
-
-#undef READ
-
-GC_bool GC_page_was_dirty(struct hblk *h)
-{
-    register word index = PHT_HASH(h);
-    register GC_bool result;
-    
-    result = get_pht_entry_from_index(GC_grungy_pages, index);
-    return(result);
-}
-
-GC_bool GC_page_was_ever_dirty(struct hblk *h)
-{
-    register word index = PHT_HASH(h);
-    register GC_bool result;
-    
-    result = get_pht_entry_from_index(GC_written_pages, index);
-    return(result);
-}
-
-# endif /* PROC_VDB */
-
-
-# ifdef PCR_VDB
-
-# include "vd/PCR_VD.h"
-
-# define NPAGES (32*1024)	/* 128 MB */
-
-PCR_VD_DB  GC_grungy_bits[NPAGES];
-
-ptr_t GC_vd_base;	/* Address corresponding to GC_grungy_bits[0]	*/
-			/* HBLKSIZE aligned.				*/
-
-void GC_dirty_init(void)
-{
-    GC_dirty_maintained = TRUE;
-    /* For the time being, we assume the heap generally grows up */
-    GC_vd_base = GC_heap_sects[0].hs_start;
-    if (GC_vd_base == 0) {
-   	ABORT("Bad initial heap segment");
-    }
-    if (PCR_VD_Start(HBLKSIZE, GC_vd_base, NPAGES*HBLKSIZE)
-	!= PCR_ERes_okay) {
-	ABORT("dirty bit initialization failed");
-    }
-}
-
-void GC_read_dirty(void)
-{
-    /* lazily enable dirty bits on newly added heap sects */
-    {
-        static int onhs = 0;
-        int nhs = GC_n_heap_sects;
-        for( ; onhs < nhs; onhs++ ) {
-            PCR_VD_WriteProtectEnable(
-                    GC_heap_sects[onhs].hs_start,
-                    GC_heap_sects[onhs].hs_bytes );
-        }
-    }
-
-
-    if (PCR_VD_Clear(GC_vd_base, NPAGES*HBLKSIZE, GC_grungy_bits)
-        != PCR_ERes_okay) {
-	ABORT("dirty bit read failed");
-    }
-}
-
-GC_bool GC_page_was_dirty(struct hblk *h)
-{
-    if((ptr_t)h < GC_vd_base || (ptr_t)h >= GC_vd_base + NPAGES*HBLKSIZE) {
-	return(TRUE);
-    }
-    return(GC_grungy_bits[h - (struct hblk *)GC_vd_base] & PCR_VD_DB_dirtyBit);
-}
-
-/*ARGSUSED*/
-void GC_remove_protection(struct hblk *h, word nblocks, GC_bool is_ptrfree)
-{
-    PCR_VD_WriteProtectDisable(h, nblocks*HBLKSIZE);
-    PCR_VD_WriteProtectEnable(h, nblocks*HBLKSIZE);
-}
-
-# endif /* PCR_VDB */
-
-#if defined(MPROTECT_VDB) && defined(DARWIN)
-/* The following sources were used as a *reference* for this exception handling
-   code:
-      1. Apple's mach/xnu documentation
-      2. Timothy J. Wood's "Mach Exception Handlers 101" post to the
-         omnigroup's macosx-dev list.
-         www.omnigroup.com/mailman/archive/macosx-dev/2000-June/014178.html
-      3. macosx-nat.c from Apple's GDB source code.
-*/
-
-/* The bug that caused all this trouble should now be fixed. This should
-   eventually be removed if all goes well. */
-
-/* #define BROKEN_EXCEPTION_HANDLING */
-
-#include <mach/mach.h>
-#include <mach/mach_error.h>
-#include <mach/thread_status.h>
-#include <mach/exception.h>
-#include <mach/task.h>
-#include <pthread.h>
-
-extern void GC_darwin_register_mach_handler_thread(mach_port_t);
-
-/* These are not defined in any header, although they are documented */
-extern boolean_t
-exc_server(mach_msg_header_t *, mach_msg_header_t *);
-
-extern kern_return_t
-exception_raise(mach_port_t, mach_port_t, mach_port_t, exception_type_t,
-		exception_data_t, mach_msg_type_number_t);
-
-extern kern_return_t
-exception_raise_state(mach_port_t, mach_port_t, mach_port_t, exception_type_t,
-		      exception_data_t, mach_msg_type_number_t,
-		      thread_state_flavor_t*, thread_state_t,
-		      mach_msg_type_number_t, thread_state_t,
-		      mach_msg_type_number_t*);
-
-extern kern_return_t
-exception_raise_state_identity(mach_port_t, mach_port_t, mach_port_t,
-			       exception_type_t, exception_data_t,
-			       mach_msg_type_number_t, thread_state_flavor_t*,
-			       thread_state_t, mach_msg_type_number_t,
-			       thread_state_t, mach_msg_type_number_t*);
-
-
-#define MAX_EXCEPTION_PORTS 16
-
-static struct {
-    mach_msg_type_number_t count;
-    exception_mask_t      masks[MAX_EXCEPTION_PORTS];
-    exception_handler_t   ports[MAX_EXCEPTION_PORTS];
-    exception_behavior_t  behaviors[MAX_EXCEPTION_PORTS];
-    thread_state_flavor_t flavors[MAX_EXCEPTION_PORTS];
-} GC_old_exc_ports;
-
-static struct {
-    mach_port_t exception;
-#if defined(THREADS)
-    mach_port_t reply;
-#endif
-} GC_ports;
-
-typedef struct {
-    mach_msg_header_t head;
-} GC_msg_t;
-
-typedef enum {
-    GC_MP_NORMAL, GC_MP_DISCARDING, GC_MP_STOPPED
-} GC_mprotect_state_t;
-
-/* FIXME: 1 and 2 seem to be safe to use in the msgh_id field,
-   but it isn't  documented. Use the source and see if they
-   should be ok. */
-#define ID_STOP 1
-#define ID_RESUME 2
-
-/* These values are only used on the reply port */
-#define ID_ACK 3
-
-#if defined(THREADS)
-
-GC_mprotect_state_t GC_mprotect_state;
-
-/* The following should ONLY be called when the world is stopped  */
-static void GC_mprotect_thread_notify(mach_msg_id_t id)
-{
-
-  struct {
-    GC_msg_t msg;
-    mach_msg_trailer_t trailer;
-  } buf;
-
-  mach_msg_return_t r;
-  /* remote, local */
-  buf.msg.head.msgh_bits = MACH_MSGH_BITS(MACH_MSG_TYPE_MAKE_SEND, 0);
-  buf.msg.head.msgh_size = sizeof(buf.msg);
-  buf.msg.head.msgh_remote_port = GC_ports.exception;
-  buf.msg.head.msgh_local_port = MACH_PORT_NULL;
-  buf.msg.head.msgh_id = id;
-
-  r = mach_msg(&buf.msg.head, MACH_SEND_MSG | MACH_RCV_MSG | MACH_RCV_LARGE,
-	       sizeof(buf.msg), sizeof(buf), GC_ports.reply,
-	       MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
-  if(r != MACH_MSG_SUCCESS)
-    ABORT("mach_msg failed in GC_mprotect_thread_notify");
-  if(buf.msg.head.msgh_id != ID_ACK)
-    ABORT("invalid ack in GC_mprotect_thread_notify");
-}
-
-/* Should only be called by the mprotect thread */
-static void GC_mprotect_thread_reply(void)
-{
-
-  GC_msg_t msg;
-  mach_msg_return_t r;
-  /* remote, local */
-  msg.head.msgh_bits = MACH_MSGH_BITS(MACH_MSG_TYPE_MAKE_SEND, 0);
-  msg.head.msgh_size = sizeof(msg);
-  msg.head.msgh_remote_port = GC_ports.reply;
-  msg.head.msgh_local_port = MACH_PORT_NULL;
-  msg.head.msgh_id = ID_ACK;
-
-  r = mach_msg(&msg.head, MACH_SEND_MSG, sizeof(msg), 0, MACH_PORT_NULL,
-	       MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
-  if(r != MACH_MSG_SUCCESS)
-    ABORT("mach_msg failed in GC_mprotect_thread_reply");
-}
-
-void GC_mprotect_stop(void)
-{
-  GC_mprotect_thread_notify(ID_STOP);
-}
-void GC_mprotect_resume(void)
-{
-  GC_mprotect_thread_notify(ID_RESUME);
-}
-
-#else /* !THREADS */
-/* The compiler should optimize away any GC_mprotect_state computations */
-#define GC_mprotect_state GC_MP_NORMAL
-#endif
-
-static void *GC_mprotect_thread(void *arg)
-{
-  mach_msg_return_t r;
-  /* These two structures contain some private kernel data. We don't need to
-     access any of it so we don't bother defining a proper struct. The
-     correct definitions are in the xnu source code. */
-  struct {
-    mach_msg_header_t head;
-    char data[256];
-  } reply;
-  struct {
-    mach_msg_header_t head;
-    mach_msg_body_t msgh_body;
-    char data[1024];
-  } msg;
-
-  mach_msg_id_t id;
-
-  GC_darwin_register_mach_handler_thread(mach_thread_self());
-
-  for(;;) {
-    r = mach_msg(&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE |
-		 (GC_mprotect_state == GC_MP_DISCARDING ? MACH_RCV_TIMEOUT : 0),
-		 0, sizeof(msg), GC_ports.exception,
-		 GC_mprotect_state == GC_MP_DISCARDING ? 0
-		 : MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
-
-    id = r == MACH_MSG_SUCCESS ? msg.head.msgh_id : -1;
-
-#   if defined(THREADS)
-      if(GC_mprotect_state == GC_MP_DISCARDING) {
-	if(r == MACH_RCV_TIMED_OUT) {
-	  GC_mprotect_state = GC_MP_STOPPED;
-	  GC_mprotect_thread_reply();
-	  continue;
-	}
-	if(r == MACH_MSG_SUCCESS && (id == ID_STOP || id == ID_RESUME))
-	  ABORT("out of order mprotect thread request");
-      }
-#   endif /* THREADS */
-
-    if(r != MACH_MSG_SUCCESS) {
-      GC_err_printf("mach_msg failed with %d %s\n", (int)r,
-		    mach_error_string(r));
-      ABORT("mach_msg failed");
-    }
-
-    switch(id) {
-#     if defined(THREADS)
-        case ID_STOP:
-	  if(GC_mprotect_state != GC_MP_NORMAL)
-	    ABORT("Called mprotect_stop when state wasn't normal");
-	  GC_mprotect_state = GC_MP_DISCARDING;
-	  break;
-        case ID_RESUME:
-	  if(GC_mprotect_state != GC_MP_STOPPED)
-	    ABORT("Called mprotect_resume when state wasn't stopped");
-	  GC_mprotect_state = GC_MP_NORMAL;
-	  GC_mprotect_thread_reply();
-	  break;
-#     endif /* THREADS */
-        default:
-	  /* Handle the message (calls catch_exception_raise) */
-	  if(!exc_server(&msg.head, &reply.head))
-	    ABORT("exc_server failed");
-	  /* Send the reply */
-	  r = mach_msg(&reply.head, MACH_SEND_MSG, reply.head.msgh_size, 0,
-		       MACH_PORT_NULL, MACH_MSG_TIMEOUT_NONE,
-		       MACH_PORT_NULL);
-	  if(r != MACH_MSG_SUCCESS) {
-	    /* This will fail if the thread dies, but the thread */
-	    /* shouldn't die... */
-#           ifdef BROKEN_EXCEPTION_HANDLING
-	      GC_err_printf("mach_msg failed with %d %s while sending"
-			    "exc reply\n", (int)r,mach_error_string(r));
-#           else
-	      ABORT("mach_msg failed while sending exception reply");
-#           endif
-	  }
-    } /* switch */
-  } /* for(;;) */
-    /* NOT REACHED */
-  return NULL;
-}
-
-/* All this SIGBUS code shouldn't be necessary. All protection faults should
-   be going throught the mach exception handler. However, it seems a SIGBUS is
-   occasionally sent for some unknown reason. Even more odd, it seems to be
-   meaningless and safe to ignore. */
-#ifdef BROKEN_EXCEPTION_HANDLING
-
-static SIG_HNDLR_PTR GC_old_bus_handler;
-
-/* Updates to this aren't atomic, but the SIGBUSs seem pretty rare.
-   Even if this doesn't get updated property, it isn't really a problem */
-static int GC_sigbus_count;
-
-static void GC_darwin_sigbus(int num, siginfo_t *sip, void *context)
-{
-  if(num != SIGBUS)
-    ABORT("Got a non-sigbus signal in the sigbus handler");
-
-  /* Ugh... some seem safe to ignore, but too many in a row probably means
-     trouble. GC_sigbus_count is reset for each mach exception that is
-     handled */
-  if(GC_sigbus_count >= 8) {
-    ABORT("Got more than 8 SIGBUSs in a row!");
-  } else {
-    GC_sigbus_count++;
-    WARN("Ignoring SIGBUS.\n", 0);
-  }
-}
-#endif /* BROKEN_EXCEPTION_HANDLING */
-
-void GC_dirty_init(void)
-{
-  kern_return_t r;
-  mach_port_t me;
-  pthread_t thread;
-  pthread_attr_t attr;
-  exception_mask_t mask;
-
-  if (GC_print_stats == VERBOSE)
-    GC_log_printf("Inititalizing mach/darwin mprotect virtual dirty bit "
-		  "implementation\n");
-# ifdef BROKEN_EXCEPTION_HANDLING
-    WARN("Enabling workarounds for various darwin "
-	 "exception handling bugs.\n", 0);
-# endif
-  GC_dirty_maintained = TRUE;
-  if (GC_page_size % HBLKSIZE != 0) {
-    GC_err_printf("Page size not multiple of HBLKSIZE\n");
-    ABORT("Page size not multiple of HBLKSIZE");
-  }
-
-  GC_task_self = me = mach_task_self();
-
-  r = mach_port_allocate(me, MACH_PORT_RIGHT_RECEIVE, &GC_ports.exception);
-  if(r != KERN_SUCCESS)
-    ABORT("mach_port_allocate failed (exception port)");
-
-  r = mach_port_insert_right(me, GC_ports.exception, GC_ports.exception,
-			     MACH_MSG_TYPE_MAKE_SEND);
-  if(r != KERN_SUCCESS)
-    ABORT("mach_port_insert_right failed (exception port)");
-
-#  if defined(THREADS)
-     r = mach_port_allocate(me, MACH_PORT_RIGHT_RECEIVE, &GC_ports.reply);
-     if(r != KERN_SUCCESS)
-       ABORT("mach_port_allocate failed (reply port)");
-#  endif
-
-  /* The exceptions we want to catch */
-  mask = EXC_MASK_BAD_ACCESS;
-
-  r = task_get_exception_ports(me, mask, GC_old_exc_ports.masks,
-			       &GC_old_exc_ports.count, GC_old_exc_ports.ports,
-			       GC_old_exc_ports.behaviors,
-			       GC_old_exc_ports.flavors);
-  if(r != KERN_SUCCESS)
-    ABORT("task_get_exception_ports failed");
-
-  r = task_set_exception_ports(me, mask, GC_ports.exception, EXCEPTION_DEFAULT,
-			       GC_MACH_THREAD_STATE);
-  if(r != KERN_SUCCESS)
-    ABORT("task_set_exception_ports failed");
-  if(pthread_attr_init(&attr) != 0)
-    ABORT("pthread_attr_init failed");
-  if(pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED) != 0)
-    ABORT("pthread_attr_setdetachedstate failed");
-
-# undef pthread_create
-  /* This will call the real pthread function, not our wrapper */
-  if(pthread_create(&thread, &attr, GC_mprotect_thread, NULL) != 0)
-    ABORT("pthread_create failed");
-  pthread_attr_destroy(&attr);
-
-  /* Setup the sigbus handler for ignoring the meaningless SIGBUSs */
-# ifdef BROKEN_EXCEPTION_HANDLING
-    {
-      struct sigaction sa, oldsa;
-      sa.sa_handler = (SIG_HNDLR_PTR)GC_darwin_sigbus;
-      sigemptyset(&sa.sa_mask);
-      sa.sa_flags = SA_RESTART|SA_SIGINFO;
-      if(sigaction(SIGBUS, &sa, &oldsa) < 0)
-	ABORT("sigaction");
-      GC_old_bus_handler = (SIG_HNDLR_PTR)oldsa.sa_handler;
-      if (GC_old_bus_handler != SIG_DFL) {
-	if (GC_print_stats == VERBOSE)
-	  GC_err_printf("Replaced other SIGBUS handler\n");
-      }
-    }
-#  endif /* BROKEN_EXCEPTION_HANDLING  */
-}
-
-/* The source code for Apple's GDB was used as a reference for the exception
-   forwarding code. This code is similar to be GDB code only because there is
-   only one way to do it. */
-static kern_return_t GC_forward_exception(mach_port_t thread, mach_port_t task,
-					  exception_type_t exception,
-					  exception_data_t data,
-					  mach_msg_type_number_t data_count)
-{
-  unsigned int i;
-  kern_return_t r;
-  mach_port_t port;
-  exception_behavior_t behavior;
-  thread_state_flavor_t flavor;
-
-  thread_state_t thread_state = NULL;
-  mach_msg_type_number_t thread_state_count = THREAD_STATE_MAX;
-
-  for(i=0; i < GC_old_exc_ports.count; i++)
-    if(GC_old_exc_ports.masks[i] & (1 << exception))
-      break;
-  if(i==GC_old_exc_ports.count)
-    ABORT("No handler for exception!");
-
-  port = GC_old_exc_ports.ports[i];
-  behavior = GC_old_exc_ports.behaviors[i];
-  flavor = GC_old_exc_ports.flavors[i];
-
-  if(behavior != EXCEPTION_DEFAULT) {
-    r = thread_get_state(thread, flavor, thread_state, &thread_state_count);
-    if(r != KERN_SUCCESS)
-      ABORT("thread_get_state failed in forward_exception");
-    }
-
-  switch(behavior) {
-    case EXCEPTION_DEFAULT:
-      r = exception_raise(port, thread, task, exception, data, data_count);
-      break;
-    case EXCEPTION_STATE:
-      r = exception_raise_state(port, thread, task, exception, data, data_count,
-				&flavor, thread_state, thread_state_count,
-				thread_state, &thread_state_count);
-      break;
-    case EXCEPTION_STATE_IDENTITY:
-      r = exception_raise_state_identity(port, thread, task, exception, data,
-					 data_count, &flavor, thread_state,
-					 thread_state_count, thread_state,
-					 &thread_state_count);
-      break;
-    default:
-      r = KERN_FAILURE; /* make gcc happy */
-      ABORT("forward_exception: unknown behavior");
-      break;
-  }
-
-  if(behavior != EXCEPTION_DEFAULT) {
-    r = thread_set_state(thread, flavor, thread_state, thread_state_count);
-    if(r != KERN_SUCCESS)
-      ABORT("thread_set_state failed in forward_exception");
-  }
-
-  return r;
-}
-
-#define FWD() GC_forward_exception(thread, task, exception, code, code_count)
-
-/* This violates the namespace rules but there isn't anything that can be done
-   about it. The exception handling stuff is hard coded to call this */
-kern_return_t
-catch_exception_raise(mach_port_t exception_port, mach_port_t thread,
-		      mach_port_t task, exception_type_t exception,
-		      exception_data_t code, mach_msg_type_number_t code_count)
-{
-  kern_return_t r;
-  char *addr;
-  struct hblk *h;
-  unsigned int i;
-# if defined(POWERPC)
-#   if CPP_WORDSZ == 32
-      thread_state_flavor_t flavor = PPC_EXCEPTION_STATE;
-      mach_msg_type_number_t exc_state_count = PPC_EXCEPTION_STATE_COUNT;
-      ppc_exception_state_t exc_state;
-#   else
-      thread_state_flavor_t flavor = PPC_EXCEPTION_STATE64;
-      mach_msg_type_number_t exc_state_count = PPC_EXCEPTION_STATE64_COUNT;
-      ppc_exception_state64_t exc_state;
-#   endif
-# elif defined(I386) || defined(X86_64)
-#   if CPP_WORDSZ == 32
-      thread_state_flavor_t flavor = x86_EXCEPTION_STATE32;
-      mach_msg_type_number_t exc_state_count = x86_EXCEPTION_STATE32_COUNT;
-      x86_exception_state32_t exc_state;
-#   else
-      thread_state_flavor_t flavor = x86_EXCEPTION_STATE64;
-      mach_msg_type_number_t exc_state_count = x86_EXCEPTION_STATE64_COUNT;
-      x86_exception_state64_t exc_state;
-#   endif
-# else
-#   error FIXME for non-ppc/x86 darwin
-# endif
-
-
-  if(exception != EXC_BAD_ACCESS || code[0] != KERN_PROTECTION_FAILURE) {
-#   ifdef DEBUG_EXCEPTION_HANDLING
-      /* We aren't interested, pass it on to the old handler */
-      GC_printf("Exception: 0x%x Code: 0x%x 0x%x in catch....\n", exception,
-		code_count > 0 ? code[0] : -1, code_count > 1 ? code[1] : -1);
-#   endif
-    return FWD();
-  }
-
-  r = thread_get_state(thread, flavor, (natural_t*)&exc_state,
-		       &exc_state_count);
-  if(r != KERN_SUCCESS) {
-    /* The thread is supposed to be suspended while the exception handler
-       is called. This shouldn't fail. */
-#   ifdef BROKEN_EXCEPTION_HANDLING
-      GC_err_printf("thread_get_state failed in catch_exception_raise\n");
-      return KERN_SUCCESS;
-#   else
-      ABORT("thread_get_state failed in catch_exception_raise");
-#   endif
-  }
-
-    /* This is the address that caused the fault */
-# if defined(POWERPC)
-    addr = (char*) exc_state. THREAD_FLD(dar);
-# elif defined (I386) || defined (X86_64)
-    addr = (char*) exc_state. THREAD_FLD(faultvaddr);
-# else
-#   error FIXME for non POWERPC/I386
-# endif
-
-    if((HDR(addr)) == 0) {
-      /* Ugh... just like the SIGBUS problem above, it seems we get a bogus
-	 KERN_PROTECTION_FAILURE every once and a while. We wait till we get
-	 a bunch in a row before doing anything about it. If a "real" fault
-	 ever occurres it'll just keep faulting over and over and we'll hit
-	 the limit pretty quickly. */
-#     ifdef BROKEN_EXCEPTION_HANDLING
-        static char *last_fault;
-	static int last_fault_count;
-
-	if(addr != last_fault) {
-	  last_fault = addr;
-	  last_fault_count = 0;
-	}
-	if(++last_fault_count < 32) {
-	  if(last_fault_count == 1)
-	    WARN("Ignoring KERN_PROTECTION_FAILURE at %lx\n", (GC_word)addr);
-	  return KERN_SUCCESS;
-	}
-
-	GC_err_printf("Unexpected KERN_PROTECTION_FAILURE at %p\n",addr);
-	/* Can't pass it along to the signal handler because that is
-	   ignoring SIGBUS signals. We also shouldn't call ABORT here as
-	   signals don't always work too well from the exception handler. */
-	GC_err_printf("Aborting\n");
-	exit(EXIT_FAILURE);
-#     else /* BROKEN_EXCEPTION_HANDLING */
-	/* Pass it along to the next exception handler
-	   (which should call SIGBUS/SIGSEGV) */
-	return FWD();
-#     endif /* !BROKEN_EXCEPTION_HANDLING */
-    }
-
-#   ifdef BROKEN_EXCEPTION_HANDLING
-      /* Reset the number of consecutive SIGBUSs */
-      GC_sigbus_count = 0;
-#   endif
-
-    if(GC_mprotect_state == GC_MP_NORMAL) { /* common case */
-      h = (struct hblk*)((word)addr & ~(GC_page_size-1));
-      UNPROTECT(h, GC_page_size);
-      for (i = 0; i < divHBLKSZ(GC_page_size); i++) {
-	register int index = PHT_HASH(h+i);
-	async_set_pht_entry_from_index(GC_dirty_pages, index);
-      }
-    } else if(GC_mprotect_state == GC_MP_DISCARDING) {
-      /* Lie to the thread for now. No sense UNPROTECT()ing the memory
-	 when we're just going to PROTECT() it again later. The thread
-	 will just fault again once it resumes */
-    } else {
-      /* Shouldn't happen, i don't think */
-      GC_printf("KERN_PROTECTION_FAILURE while world is stopped\n");
-      return FWD();
-    }
-    return KERN_SUCCESS;
-}
-#undef FWD
-
-/* These should never be called, but just in case...  */
-kern_return_t
-catch_exception_raise_state(mach_port_name_t exception_port, int exception,
-			    exception_data_t code,
-			    mach_msg_type_number_t codeCnt, int flavor,
-			    thread_state_t old_state, int old_stateCnt,
-			    thread_state_t new_state, int new_stateCnt)
-{
-  ABORT("catch_exception_raise_state");
-  return(KERN_INVALID_ARGUMENT);
-}
-
-kern_return_t
-catch_exception_raise_state_identity(mach_port_name_t exception_port,
-				     mach_port_t thread, mach_port_t task,
-				     int exception, exception_data_t code,
-				     mach_msg_type_number_t codeCnt, int flavor,
-				     thread_state_t old_state, int old_stateCnt,
-				     thread_state_t new_state, int new_stateCnt)
-{
-  ABORT("catch_exception_raise_state_identity");
-  return(KERN_INVALID_ARGUMENT);
-}
-
-
-#endif /* DARWIN && MPROTECT_VDB */
-
-# ifndef HAVE_INCREMENTAL_PROTECTION_NEEDS
-  int GC_incremental_protection_needs()
-  {
-    return GC_PROTECTS_NONE;
-  }
-# endif /* !HAVE_INCREMENTAL_PROTECTION_NEEDS */
-
-/*
- * Call stack save code for debugging.
- * Should probably be in mach_dep.c, but that requires reorganization.
- */
-
-/* I suspect the following works for most X86 *nix variants, so 	*/
-/* long as the frame pointer is explicitly stored.  In the case of gcc,	*/
-/* compiler flags (e.g. -fomit-frame-pointer) determine whether it is.	*/
-#if defined(I386) && defined(LINUX) && defined(SAVE_CALL_CHAIN)
-#   include <features.h>
-
-    struct frame {
-	struct frame *fr_savfp;
-	long	fr_savpc;
-        long	fr_arg[NARGS];  /* All the arguments go here.	*/
-    };
-#endif
-
-#if defined(SPARC)
-#  if defined(LINUX)
-#    include <features.h>
-
-     struct frame {
-	long	fr_local[8];
-	long	fr_arg[6];
-	struct frame *fr_savfp;
-	long	fr_savpc;
-#       ifndef __arch64__
-	  char	*fr_stret;
-#       endif
-	long	fr_argd[6];
-	long	fr_argx[0];
-     };
-#  elif defined (DRSNX)
-#    include <sys/sparc/frame.h>
-#  elif defined(OPENBSD)
-#    include <frame.h>
-#  elif defined(FREEBSD) || defined(NETBSD)
-#    include <machine/frame.h>
-#  else
-#    include <sys/frame.h>
-#  endif
-#  if NARGS > 6
-#    error We only know how to to get the first 6 arguments
-#  endif
-#endif /* SPARC */
-
-#ifdef  NEED_CALLINFO
-/* Fill in the pc and argument information for up to NFRAMES of my	*/
-/* callers.  Ignore my frame and my callers frame.			*/
-
-#ifdef LINUX
-#   include <unistd.h>
-#endif
-
-#endif /* NEED_CALLINFO */
-
-#if defined(GC_HAVE_BUILTIN_BACKTRACE)
-# ifdef _MSC_VER
-#  include "private/msvc_dbg.h"
-# else
-#  include <execinfo.h>
-# endif
-#endif
-
-#ifdef SAVE_CALL_CHAIN
-
-#if NARGS == 0 && NFRAMES % 2 == 0 /* No padding */ \
-    && defined(GC_HAVE_BUILTIN_BACKTRACE)
-
-#ifdef REDIRECT_MALLOC
-  /* Deal with possible malloc calls in backtrace by omitting	*/
-  /* the infinitely recursing backtrace.			*/
-# ifdef THREADS
-    __thread 	/* If your compiler doesn't understand this */
-    		/* you could use something like pthread_getspecific.	*/
-# endif
-  GC_in_save_callers = FALSE;
-#endif
-
-void GC_save_callers (struct callinfo info[NFRAMES]) 
-{
-  void * tmp_info[NFRAMES + 1];
-  int npcs, i;
-# define IGNORE_FRAMES 1
-  
-  /* We retrieve NFRAMES+1 pc values, but discard the first, since it	*/
-  /* points to our own frame.						*/
-# ifdef REDIRECT_MALLOC
-    if (GC_in_save_callers) {
-      info[0].ci_pc = (word)(&GC_save_callers);
-      for (i = 1; i < NFRAMES; ++i) info[i].ci_pc = 0;
-      return;
-    }
-    GC_in_save_callers = TRUE;
-# endif
-  GC_ASSERT(sizeof(struct callinfo) == sizeof(void *));
-  npcs = backtrace((void **)tmp_info, NFRAMES + IGNORE_FRAMES);
-  BCOPY(tmp_info+IGNORE_FRAMES, info, (npcs - IGNORE_FRAMES) * sizeof(void *));
-  for (i = npcs - IGNORE_FRAMES; i < NFRAMES; ++i) info[i].ci_pc = 0;
-# ifdef REDIRECT_MALLOC
-    GC_in_save_callers = FALSE;
-# endif
-}
-
-#else /* No builtin backtrace; do it ourselves */
-
-#if (defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD)) && defined(SPARC)
-#  define FR_SAVFP fr_fp
-#  define FR_SAVPC fr_pc
-#else
-#  define FR_SAVFP fr_savfp
-#  define FR_SAVPC fr_savpc
-#endif
-
-#if defined(SPARC) && (defined(__arch64__) || defined(__sparcv9))
-#   define BIAS 2047
-#else
-#   define BIAS 0
-#endif
-
-void GC_save_callers (struct callinfo info[NFRAMES]) 
-{
-  struct frame *frame;
-  struct frame *fp;
-  int nframes = 0;
-# ifdef I386
-    /* We assume this is turned on only with gcc as the compiler. */
-    asm("movl %%ebp,%0" : "=r"(frame));
-    fp = frame;
-# else
-    frame = (struct frame *) GC_save_regs_in_stack ();
-    fp = (struct frame *)((long) frame -> FR_SAVFP + BIAS);
-#endif
-  
-   for (; (!(fp HOTTER_THAN frame) && !(GC_stackbottom HOTTER_THAN (ptr_t)fp)
-	   && (nframes < NFRAMES));
-       fp = (struct frame *)((long) fp -> FR_SAVFP + BIAS), nframes++) {
-      register int i;
-      
-      info[nframes].ci_pc = fp->FR_SAVPC;
-#     if NARGS > 0
-        for (i = 0; i < NARGS; i++) {
-	  info[nframes].ci_arg[i] = ~(fp->fr_arg[i]);
-        }
-#     endif /* NARGS > 0 */
-  }
-  if (nframes < NFRAMES) info[nframes].ci_pc = 0;
-}
-
-#endif /* No builtin backtrace */
-
-#endif /* SAVE_CALL_CHAIN */
-
-#ifdef NEED_CALLINFO
-
-/* Print info to stderr.  We do NOT hold the allocation lock */
-void GC_print_callers (struct callinfo info[NFRAMES])
-{
-    register int i;
-    static int reentry_count = 0;
-    GC_bool stop = FALSE;
-
-    /* FIXME: This should probably use a different lock, so that we	*/
-    /* become callable with or without the allocation lock.		*/
-    LOCK();
-      ++reentry_count;
-    UNLOCK();
-    
-#   if NFRAMES == 1
-      GC_err_printf("\tCaller at allocation:\n");
-#   else
-      GC_err_printf("\tCall chain at allocation:\n");
-#   endif
-    for (i = 0; i < NFRAMES && !stop ; i++) {
-     	if (info[i].ci_pc == 0) break;
-#	if NARGS > 0
-	{
-	  int j;
-
-     	  GC_err_printf("\t\targs: ");
-     	  for (j = 0; j < NARGS; j++) {
-     	    if (j != 0) GC_err_printf(", ");
-     	    GC_err_printf("%d (0x%X)", ~(info[i].ci_arg[j]),
-     	    				~(info[i].ci_arg[j]));
-     	  }
-	  GC_err_printf("\n");
-	}
-# 	endif
-        if (reentry_count > 1) {
-	    /* We were called during an allocation during	*/
-	    /* a previous GC_print_callers call; punt.		*/
-     	    GC_err_printf("\t\t##PC##= 0x%lx\n", info[i].ci_pc);
-	    continue;
-	}
-	{
-#	  ifdef LINUX
-	    FILE *pipe;
-#	  endif
-#	  if defined(GC_HAVE_BUILTIN_BACKTRACE) \
-	     && !defined(GC_BACKTRACE_SYMBOLS_BROKEN)
-	    char **sym_name =
-	      backtrace_symbols((void **)(&(info[i].ci_pc)), 1);
-	    char *name = sym_name[0];
-#	  else
-	    char buf[40];
-	    char *name = buf;
-     	    sprintf(buf, "##PC##= 0x%lx", info[i].ci_pc);
-#	  endif
-#	  if defined(LINUX) && !defined(SMALL_CONFIG)
-	    /* Try for a line number. */
-	    {
-#	        define EXE_SZ 100
-		static char exe_name[EXE_SZ];
-#		define CMD_SZ 200
-		char cmd_buf[CMD_SZ];
-#		define RESULT_SZ 200
-		static char result_buf[RESULT_SZ];
-		size_t result_len;
-		char *old_preload;
-#		define PRELOAD_SZ 200
-    		char preload_buf[PRELOAD_SZ];
-		static GC_bool found_exe_name = FALSE;
-		static GC_bool will_fail = FALSE;
-		int ret_code;
-		/* Try to get it via a hairy and expensive scheme.	*/
-		/* First we get the name of the executable:		*/
-		if (will_fail) goto out;
-		if (!found_exe_name) { 
-		  ret_code = readlink("/proc/self/exe", exe_name, EXE_SZ);
-		  if (ret_code < 0 || ret_code >= EXE_SZ
-		      || exe_name[0] != '/') {
-		    will_fail = TRUE;	/* Dont try again. */
-		    goto out;
-		  }
-		  exe_name[ret_code] = '\0';
-		  found_exe_name = TRUE;
-		}
-		/* Then we use popen to start addr2line -e <exe> <addr>	*/
-		/* There are faster ways to do this, but hopefully this	*/
-		/* isn't time critical.					*/
-		sprintf(cmd_buf, "/usr/bin/addr2line -f -e %s 0x%lx", exe_name,
-				 (unsigned long)info[i].ci_pc);
-		old_preload = getenv ("LD_PRELOAD");
-	        if (0 != old_preload) {
-		  if (strlen (old_preload) >= PRELOAD_SZ) {
-		    will_fail = TRUE;
-		    goto out;
-		  }
-		  strcpy (preload_buf, old_preload);
-		  unsetenv ("LD_PRELOAD");
-	        }
-		pipe = popen(cmd_buf, "r");
-		if (0 != old_preload
-		    && 0 != setenv ("LD_PRELOAD", preload_buf, 0)) {
-		  WARN("Failed to reset LD_PRELOAD\n", 0);
-      		}
-		if (pipe == NULL
-		    || (result_len = fread(result_buf, 1, RESULT_SZ - 1, pipe))
-		       == 0) {
-		  if (pipe != NULL) pclose(pipe);
-		  will_fail = TRUE;
-		  goto out;
-		}
-		if (result_buf[result_len - 1] == '\n') --result_len;
-		result_buf[result_len] = 0;
-		if (result_buf[0] == '?'
-		    || (result_buf[result_len-2] == ':' 
-		        && result_buf[result_len-1] == '0')) {
-		    pclose(pipe);
-		    goto out;
-		}
-		/* Get rid of embedded newline, if any.  Test for "main" */
-		{
-		   char * nl = strchr(result_buf, '\n');
-		   if (nl != NULL && nl < result_buf + result_len) {
-		     *nl = ':';
-		   }
-		   if (strncmp(result_buf, "main", nl - result_buf) == 0) {
-		     stop = TRUE;
-		   }
-		}
-		if (result_len < RESULT_SZ - 25) {
-		  /* Add in hex address	*/
-		    sprintf(result_buf + result_len, " [0x%lx]",
-			  (unsigned long)info[i].ci_pc);
-		}
-		name = result_buf;
-		pclose(pipe);
-		out:;
-	    }
-#	  endif /* LINUX */
-	  GC_err_printf("\t\t%s\n", name);
-#	  if defined(GC_HAVE_BUILTIN_BACKTRACE) \
-	     && !defined(GC_BACKTRACE_SYMBOLS_BROKEN)
-	    free(sym_name);  /* May call GC_free; that's OK */
-#         endif
-	}
-    }
-    LOCK();
-      --reentry_count;
-    UNLOCK();
-}
-
-#endif /* NEED_CALLINFO */
-
-
-
-#if defined(LINUX) && defined(__ELF__) && !defined(SMALL_CONFIG)
-
-/* Dump /proc/self/maps to GC_stderr, to enable looking up names for
-   addresses in FIND_LEAK output. */
-
-static word dump_maps(char *maps)
-{
-    GC_err_write(maps, strlen(maps));
-    return 1;
-}
-
-void GC_print_address_map(void)
-{
-    GC_err_printf("---------- Begin address map ----------\n");
-    dump_maps(GC_get_maps());
-    GC_err_printf("---------- End address map ----------\n");
-}
-
-#endif
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/pcr_interface.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/pcr_interface.c
deleted file mode 100755
index 8c4afa0..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/pcr_interface.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/* 
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-# include "private/gc_priv.h"
-
-# ifdef PCR
-/*
- * Note that POSIX PCR requires an ANSI C compiler.  Hence we are allowed
- * to make the same assumption here.
- * We wrap all of the allocator functions to avoid questions of
- * compatibility between the prototyped and nonprototyped versions of the f
- */
-# include "config/PCR_StdTypes.h"
-# include "mm/PCR_MM.h"
-# include <errno.h>
-
-# define MY_MAGIC 17L
-# define MY_DEBUGMAGIC 42L
-
-void * GC_AllocProc(size_t size, PCR_Bool ptrFree, PCR_Bool clear )
-{
-    if (ptrFree) {
-        void * result = (void *)GC_malloc_atomic(size);
-        if (clear && result != 0) BZERO(result, size);
-        return(result);
-    } else {
-        return((void *)GC_malloc(size));
-    }
-}
-
-void * GC_DebugAllocProc(size_t size, PCR_Bool ptrFree, PCR_Bool clear )
-{
-    if (ptrFree) {
-        void * result = (void *)GC_debug_malloc_atomic(size, __FILE__,
-        						     __LINE__);
-        if (clear && result != 0) BZERO(result, size);
-        return(result);
-    } else {
-        return((void *)GC_debug_malloc(size, __FILE__, __LINE__));
-    }
-}
-
-# define GC_ReallocProc GC_realloc
-void * GC_DebugReallocProc(void * old_object, size_t new_size_in_bytes)
-{
-    return(GC_debug_realloc(old_object, new_size_in_bytes, __FILE__, __LINE__));
-}
-
-# define GC_FreeProc GC_free
-# define GC_DebugFreeProc GC_debug_free
-
-typedef struct {
-  PCR_ERes (*ed_proc)(void *p, size_t size, PCR_Any data);
-  GC_bool ed_pointerfree;
-  PCR_ERes ed_fail_code;
-  PCR_Any ed_client_data;
-} enumerate_data;
-
-void GC_enumerate_block(struct hblk *h; enumerate_data * ed)
-{
-    register hdr * hhdr;
-    register int sz;
-    ptr_t p;
-    ptr_t lim;
-    word descr;
-#   error This code was updated without testing.
-#   error and its precursor was clearly broken.
-    
-    hhdr = HDR(h);
-    descr = hhdr -> hb_descr;
-    sz = hhdr -> hb_sz;
-    if (descr != 0 && ed -> ed_pointerfree
-    	|| descr == 0 && !(ed -> ed_pointerfree)) return;
-    lim = (ptr_t)(h+1) - sz;
-    p = (ptr_t)h;
-    do {
-        if (PCR_ERes_IsErr(ed -> ed_fail_code)) return;
-        ed -> ed_fail_code =
-            (*(ed -> ed_proc))(p, sz, ed -> ed_client_data);
-        p+= sz;
-    } while (p <= lim);
-}
-
-struct PCR_MM_ProcsRep * GC_old_allocator = 0;
-
-PCR_ERes GC_EnumerateProc(
-    PCR_Bool ptrFree,
-    PCR_ERes (*proc)(void *p, size_t size, PCR_Any data),
-    PCR_Any data
-)
-{
-    enumerate_data ed;
-    
-    ed.ed_proc = proc;
-    ed.ed_pointerfree = ptrFree;
-    ed.ed_fail_code = PCR_ERes_okay;
-    ed.ed_client_data = data;
-    GC_apply_to_all_blocks(GC_enumerate_block, &ed);
-    if (ed.ed_fail_code != PCR_ERes_okay) {
-        return(ed.ed_fail_code);
-    } else {
-    	/* Also enumerate objects allocated by my predecessors */
-    	return((*(GC_old_allocator->mmp_enumerate))(ptrFree, proc, data));
-    }
-}
-
-void GC_DummyFreeProc(void *p) {}
-
-void GC_DummyShutdownProc(void) {}
-
-struct PCR_MM_ProcsRep GC_Rep = {
-	MY_MAGIC,
-	GC_AllocProc,
-	GC_ReallocProc,
-	GC_DummyFreeProc,  	/* mmp_free */
-	GC_FreeProc,  		/* mmp_unsafeFree */
-	GC_EnumerateProc,
-	GC_DummyShutdownProc	/* mmp_shutdown */
-};
-
-struct PCR_MM_ProcsRep GC_DebugRep = {
-	MY_DEBUGMAGIC,
-	GC_DebugAllocProc,
-	GC_DebugReallocProc,
-	GC_DummyFreeProc,  	/* mmp_free */
-	GC_DebugFreeProc,  		/* mmp_unsafeFree */
-	GC_EnumerateProc,
-	GC_DummyShutdownProc	/* mmp_shutdown */
-};
-
-GC_bool GC_use_debug = 0;
-
-void GC_pcr_install()
-{
-    PCR_MM_Install((GC_use_debug? &GC_DebugRep : &GC_Rep), &GC_old_allocator);
-}
-
-PCR_ERes
-PCR_GC_Setup(void)
-{
-    return PCR_ERes_okay;
-}
-
-PCR_ERes
-PCR_GC_Run(void)
-{
-
-    if( !PCR_Base_TestPCRArg("-nogc") ) {
-        GC_quiet = ( PCR_Base_TestPCRArg("-gctrace") ? 0 : 1 );
-        GC_use_debug = (GC_bool)PCR_Base_TestPCRArg("-debug_alloc");
-        GC_init();
-        if( !PCR_Base_TestPCRArg("-nogc_incremental") ) {
-            /*
-             * awful hack to test whether VD is implemented ...
-             */
-            if( PCR_VD_Start( 0, NIL, 0) != PCR_ERes_FromErr(ENOSYS) ) {
-	        GC_enable_incremental();
-	    }
-	}
-    }
-    return PCR_ERes_okay;
-}
-
-void GC_push_thread_structures(void)
-{
-    /* PCR doesn't work unless static roots are pushed.  Can't get here. */
-    ABORT("In GC_push_thread_structures()");
-}
-
-# endif
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/pthread_stop_world.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/pthread_stop_world.c
deleted file mode 100755
index 345604a..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/pthread_stop_world.c
+++ /dev/null
@@ -1,537 +0,0 @@
-#include "private/pthread_support.h"
-
-#if defined(GC_PTHREADS) && !defined(GC_WIN32_THREADS) && \
-    !defined(GC_DARWIN_THREADS)
-
-#include <signal.h>
-#include <semaphore.h>
-#include <errno.h>
-#include <unistd.h>
-#include "atomic_ops.h"
-
-#if DEBUG_THREADS
-
-#ifndef NSIG
-# if defined(MAXSIG)
-#  define NSIG (MAXSIG+1)
-# elif defined(_NSIG)
-#  define NSIG _NSIG
-# elif defined(__SIGRTMAX)
-#  define NSIG (__SIGRTMAX+1)
-# else
-  --> please fix it
-# endif
-#endif
-
-void GC_print_sig_mask()
-{
-    sigset_t blocked;
-    int i;
-
-    if (pthread_sigmask(SIG_BLOCK, NULL, &blocked) != 0)
-    	ABORT("pthread_sigmask");
-    GC_printf("Blocked: ");
-    for (i = 1; i < NSIG; i++) {
-        if (sigismember(&blocked, i)) { GC_printf("%d ", i); }
-    }
-    GC_printf("\n");
-}
-
-#endif
-
-/* Remove the signals that we want to allow in thread stopping 	*/
-/* handler from a set.						*/
-void GC_remove_allowed_signals(sigset_t *set)
-{
-    if (sigdelset(set, SIGINT) != 0
-	  || sigdelset(set, SIGQUIT) != 0
-	  || sigdelset(set, SIGABRT) != 0
-	  || sigdelset(set, SIGTERM) != 0) {
-        ABORT("sigdelset() failed");
-    }
-
-#   ifdef MPROTECT_VDB
-      /* Handlers write to the thread structure, which is in the heap,	*/
-      /* and hence can trigger a protection fault.			*/
-      if (sigdelset(set, SIGSEGV) != 0
-#	  ifdef SIGBUS
-	    || sigdelset(set, SIGBUS) != 0
-# 	  endif
-	  ) {
-        ABORT("sigdelset() failed");
-      }
-#   endif
-}
-
-static sigset_t suspend_handler_mask;
-
-volatile AO_t GC_stop_count;
-			/* Incremented at the beginning of GC_stop_world. */
-
-volatile AO_t GC_world_is_stopped = FALSE;
-			/* FALSE ==> it is safe for threads to restart, i.e. */
-			/* they will see another suspend signal before they  */
-			/* are expected to stop (unless they have voluntarily */
-			/* stopped).					     */
-
-#ifdef GC_OSF1_THREADS
-  GC_bool GC_retry_signals = TRUE;
-#else
-  GC_bool GC_retry_signals = FALSE;
-#endif
-
-/*
- * We use signals to stop threads during GC.
- * 
- * Suspended threads wait in signal handler for SIG_THR_RESTART.
- * That's more portable than semaphores or condition variables.
- * (We do use sem_post from a signal handler, but that should be portable.)
- *
- * The thread suspension signal SIG_SUSPEND is now defined in gc_priv.h.
- * Note that we can't just stop a thread; we need it to save its stack
- * pointer(s) and acknowledge.
- */
-
-#ifndef SIG_THR_RESTART
-#  if defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || defined(GC_NETBSD_THREADS)
-#    ifdef _SIGRTMIN
-#      define SIG_THR_RESTART _SIGRTMIN + 5
-#    else
-#      define SIG_THR_RESTART SIGRTMIN + 5
-#    endif
-#  else
-#   define SIG_THR_RESTART SIGXCPU
-#  endif
-#endif
-
-sem_t GC_suspend_ack_sem;
-
-#ifdef GC_NETBSD_THREADS
-# define GC_NETBSD_THREADS_WORKAROUND
-  /* It seems to be necessary to wait until threads have restarted.	*/
-  /* But it is unclear why that is the case.				*/
-  sem_t GC_restart_ack_sem;
-#endif
-
-void GC_suspend_handler_inner(ptr_t sig_arg, void *context);
-
-#if defined(IA64) || defined(HP_PA) || defined(M68K)
-void GC_suspend_handler(int sig, siginfo_t *info, void *context)
-{
-  int old_errno = errno;
-  GC_with_callee_saves_pushed(GC_suspend_handler_inner, (ptr_t)(word)sig);
-  errno = old_errno;
-}
-#else
-/* We believe that in all other cases the full context is already	*/
-/* in the signal handler frame.						*/
-void GC_suspend_handler(int sig, siginfo_t *info, void *context)
-{
-  int old_errno = errno;
-  GC_suspend_handler_inner((ptr_t)(word)sig, context);
-  errno = old_errno;
-}
-#endif
-
-void GC_suspend_handler_inner(ptr_t sig_arg, void *context)
-{
-    int sig = (int)(word)sig_arg;
-    int dummy;
-    pthread_t my_thread = pthread_self();
-    GC_thread me;
-#   ifdef PARALLEL_MARK
-	word my_mark_no = GC_mark_no;
-	/* Marker can't proceed until we acknowledge.  Thus this is	*/
-	/* guaranteed to be the mark_no correspending to our 		*/
-	/* suspension, i.e. the marker can't have incremented it yet.	*/
-#   endif
-    AO_t my_stop_count = AO_load(&GC_stop_count);
-
-    if (sig != SIG_SUSPEND) ABORT("Bad signal in suspend_handler");
-
-#   if DEBUG_THREADS
-      GC_printf("Suspending 0x%x\n", (unsigned)my_thread);
-#   endif
-
-    me = GC_lookup_thread(my_thread);
-    /* The lookup here is safe, since I'm doing this on behalf  */
-    /* of a thread which holds the allocation lock in order	*/
-    /* to stop the world.  Thus concurrent modification of the	*/
-    /* data structure is impossible.				*/
-    if (me -> stop_info.last_stop_count == my_stop_count) {
-	/* Duplicate signal.  OK if we are retrying.	*/
-	if (!GC_retry_signals) {
-	    WARN("Duplicate suspend signal in thread %lx\n",
-		 pthread_self());
-	}
-	return;
-    }
-#   ifdef SPARC
-	me -> stop_info.stack_ptr = GC_save_regs_in_stack();
-#   else
-	me -> stop_info.stack_ptr = (ptr_t)(&dummy);
-#   endif
-#   ifdef IA64
-	me -> backing_store_ptr = GC_save_regs_in_stack();
-#   endif
-
-    /* Tell the thread that wants to stop the world that this   */
-    /* thread has been stopped.  Note that sem_post() is  	*/
-    /* the only async-signal-safe primitive in LinuxThreads.    */
-    sem_post(&GC_suspend_ack_sem);
-    me -> stop_info.last_stop_count = my_stop_count;
-
-    /* Wait until that thread tells us to restart by sending    */
-    /* this thread a SIG_THR_RESTART signal.			*/
-    /* SIG_THR_RESTART should be masked at this point.  Thus there	*/
-    /* is no race.						*/
-    /* We do not continue until we receive a SIG_THR_RESTART,	*/
-    /* but we do not take that as authoritative.  (We may be	*/
-    /* accidentally restarted by one of the user signals we 	*/
-    /* don't block.)  After we receive the signal, we use a 	*/
-    /* primitive and expensive mechanism to wait until it's	*/
-    /* really safe to proceed.  Under normal circumstances,	*/
-    /* this code should not be executed.			*/
-    do {
-	sigsuspend (&suspend_handler_mask);
-    } while (AO_load_acquire(&GC_world_is_stopped)
-	     && AO_load(&GC_stop_count) == my_stop_count);
-    /* If the RESTART signal gets lost, we can still lose.  That should be  */
-    /* less likely than losing the SUSPEND signal, since we don't do much   */
-    /* between the sem_post and sigsuspend.	   			    */
-    /* We'd need more handshaking to work around that.			    */
-    /* Simply dropping the sigsuspend call should be safe, but is unlikely  */
-    /* to be efficient.							    */
-
-#   if DEBUG_THREADS
-      GC_printf("Continuing 0x%x\n", (unsigned)my_thread);
-#   endif
-}
-
-void GC_restart_handler(int sig)
-{
-    pthread_t my_thread = pthread_self();
-    GC_thread me;
-
-    if (sig != SIG_THR_RESTART) ABORT("Bad signal in suspend_handler");
-
-#   ifdef GC_NETBSD_THREADS_WORKAROUND
-      sem_post(&GC_restart_ack_sem);
-#   endif
-
-    /*
-    ** Note: even if we don't do anything useful here,
-    ** it would still be necessary to have a signal handler,
-    ** rather than ignoring the signals, otherwise
-    ** the signals will not be delivered at all, and
-    ** will thus not interrupt the sigsuspend() above.
-    */
-
-#   if DEBUG_THREADS
-      GC_printf("In GC_restart_handler for 0x%x\n", (unsigned)pthread_self());
-#   endif
-}
-
-# ifdef IA64
-#   define IF_IA64(x) x
-# else
-#   define IF_IA64(x)
-# endif
-/* We hold allocation lock.  Should do exactly the right thing if the	*/
-/* world is stopped.  Should not fail if it isn't.			*/
-void GC_push_all_stacks()
-{
-    GC_bool found_me = FALSE;
-    size_t nthreads = 0;
-    int i;
-    GC_thread p;
-    ptr_t lo, hi;
-    /* On IA64, we also need to scan the register backing store. */
-    IF_IA64(ptr_t bs_lo; ptr_t bs_hi;)
-    pthread_t me = pthread_self();
-    
-    if (!GC_thr_initialized) GC_thr_init();
-#   if DEBUG_THREADS
-        GC_printf("Pushing stacks from thread 0x%x\n", (unsigned) me);
-#   endif
-    for (i = 0; i < THREAD_TABLE_SZ; i++) {
-      for (p = GC_threads[i]; p != 0; p = p -> next) {
-        if (p -> flags & FINISHED) continue;
-	++nthreads;
-        if (THREAD_EQUAL(p -> id, me)) {
-#  	    ifdef SPARC
-	        lo = (ptr_t)GC_save_regs_in_stack();
-#  	    else
- 	        lo = GC_approx_sp();
-#           endif
-	    found_me = TRUE;
-	    IF_IA64(bs_hi = (ptr_t)GC_save_regs_in_stack();)
-	} else {
-	    lo = p -> stop_info.stack_ptr;
-	    IF_IA64(bs_hi = p -> backing_store_ptr;)
-	}
-        if ((p -> flags & MAIN_THREAD) == 0) {
-	    hi = p -> stack_end;
-	    IF_IA64(bs_lo = p -> backing_store_end);
-        } else {
-            /* The original stack. */
-            hi = GC_stackbottom;
-	    IF_IA64(bs_lo = BACKING_STORE_BASE;)
-        }
-#	if DEBUG_THREADS
-            GC_printf("Stack for thread 0x%x = [%p,%p)\n",
-    	              (unsigned)(p -> id), lo, hi);
-#	endif
-	if (0 == lo) ABORT("GC_push_all_stacks: sp not set!\n");
-#       ifdef STACK_GROWS_UP
-	  /* We got them backwards! */
-          GC_push_all_stack(hi, lo);
-#       else
-          GC_push_all_stack(lo, hi);
-#	endif
-#	ifdef IA64
-#         if DEBUG_THREADS
-            GC_printf("Reg stack for thread 0x%x = [%lx,%lx)\n",
-    	              (unsigned)p -> id, bs_lo, bs_hi);
-#	  endif
-          if (THREAD_EQUAL(p -> id, me)) {
-	    /* FIXME:  This may add an unbounded number of entries,	*/
-	    /* and hence overflow the mark stack, which is bad.		*/
-	    GC_push_all_eager(bs_lo, bs_hi);
-	  } else {
-	    GC_push_all_stack(bs_lo, bs_hi);
-	  }
-#	endif
-      }
-    }
-    if (GC_print_stats == VERBOSE) {
-	GC_log_printf("Pushed %d thread stacks\n", nthreads);
-    }
-    if (!found_me && !GC_in_thread_creation)
-      ABORT("Collecting from unknown thread.");
-}
-
-/* There seems to be a very rare thread stopping problem.  To help us  */
-/* debug that, we save the ids of the stopping thread. */
-pthread_t GC_stopping_thread;
-int GC_stopping_pid;
-
-/* We hold the allocation lock.  Suspend all threads that might	*/
-/* still be running.  Return the number of suspend signals that	*/
-/* were sent. */
-int GC_suspend_all()
-{
-    int n_live_threads = 0;
-    int i;
-    GC_thread p;
-    int result;
-    pthread_t my_thread = pthread_self();
-    
-    GC_stopping_thread = my_thread;    /* debugging only.      */
-    GC_stopping_pid = getpid();                /* debugging only.      */
-    for (i = 0; i < THREAD_TABLE_SZ; i++) {
-      for (p = GC_threads[i]; p != 0; p = p -> next) {
-        if (!THREAD_EQUAL(p -> id, my_thread)) {
-            if (p -> flags & FINISHED) continue;
-            if (p -> stop_info.last_stop_count == GC_stop_count) continue;
-	    if (p -> thread_blocked) /* Will wait */ continue;
-            n_live_threads++;
-#	    if DEBUG_THREADS
-	      GC_printf("Sending suspend signal to 0x%x\n",
-			(unsigned)(p -> id));
-#	    endif
-        
-            result = pthread_kill(p -> id, SIG_SUSPEND);
-	    switch(result) {
-                case ESRCH:
-                    /* Not really there anymore.  Possible? */
-                    n_live_threads--;
-                    break;
-                case 0:
-                    break;
-                default:
-                    ABORT("pthread_kill failed");
-            }
-        }
-      }
-    }
-    return n_live_threads;
-}
-
-void GC_stop_world()
-{
-    int i;
-    int n_live_threads;
-    int code;
-
-    GC_ASSERT(I_HOLD_LOCK());
-#   if DEBUG_THREADS
-      GC_printf("Stopping the world from 0x%x\n", (unsigned)pthread_self());
-#   endif
-       
-    /* Make sure all free list construction has stopped before we start. */
-    /* No new construction can start, since free list construction is	*/
-    /* required to acquire and release the GC lock before it starts,	*/
-    /* and we have the lock.						*/
-#   ifdef PARALLEL_MARK
-      GC_acquire_mark_lock();
-      GC_ASSERT(GC_fl_builder_count == 0);
-      /* We should have previously waited for it to become zero. */
-#   endif /* PARALLEL_MARK */
-    AO_store(&GC_stop_count, GC_stop_count+1);
-    	/* Only concurrent reads are possible. */
-    AO_store_release(&GC_world_is_stopped, TRUE);
-    n_live_threads = GC_suspend_all();
-
-      if (GC_retry_signals) {
-	  unsigned long wait_usecs = 0;  /* Total wait since retry.	*/
-#	  define WAIT_UNIT 3000
-#	  define RETRY_INTERVAL 100000
-	  for (;;) {
-	      int ack_count;
-
-	      sem_getvalue(&GC_suspend_ack_sem, &ack_count);
-	      if (ack_count == n_live_threads) break;
-	      if (wait_usecs > RETRY_INTERVAL) {
-		  int newly_sent = GC_suspend_all();
-
-		  if (GC_print_stats) {
-		      GC_log_printf("Resent %d signals after timeout\n",
-				newly_sent);
-		  }
-		  sem_getvalue(&GC_suspend_ack_sem, &ack_count);
-		  if (newly_sent < n_live_threads - ack_count) {
-		      WARN("Lost some threads during GC_stop_world?!\n",0);
-		      n_live_threads = ack_count + newly_sent;
-		  }
-		  wait_usecs = 0;
-	      }
-	      usleep(WAIT_UNIT);
-	      wait_usecs += WAIT_UNIT;
-	  }
-      }
-    for (i = 0; i < n_live_threads; i++) {
-	retry:
-	  if (0 != (code = sem_wait(&GC_suspend_ack_sem))) {
-	      /* On Linux, sem_wait is documented to always return zero.*/
-	      /* But the documentation appears to be incorrect.		*/
-	      if (errno == EINTR) {
-		/* Seems to happen with some versions of gdb.	*/
-		goto retry;
-	      }
-	      ABORT("sem_wait for handler failed");
-	  }
-    }
-#   ifdef PARALLEL_MARK
-      GC_release_mark_lock();
-#   endif
-    #if DEBUG_THREADS
-      GC_printf("World stopped from 0x%x\n", (unsigned)pthread_self());
-    #endif
-    GC_stopping_thread = 0;  /* debugging only */
-}
-
-/* Caller holds allocation lock, and has held it continuously since	*/
-/* the world stopped.							*/
-void GC_start_world()
-{
-    pthread_t my_thread = pthread_self();
-    register int i;
-    register GC_thread p;
-    register int n_live_threads = 0;
-    register int result;
-#   ifdef GC_NETBSD_THREADS_WORKAROUND
-      int code;
-#   endif
-
-#   if DEBUG_THREADS
-      GC_printf("World starting\n");
-#   endif
-
-    AO_store(&GC_world_is_stopped, FALSE);
-    for (i = 0; i < THREAD_TABLE_SZ; i++) {
-      for (p = GC_threads[i]; p != 0; p = p -> next) {
-        if (!THREAD_EQUAL(p -> id, my_thread)) {
-            if (p -> flags & FINISHED) continue;
-	    if (p -> thread_blocked) continue;
-            n_live_threads++;
-	    #if DEBUG_THREADS
-	      GC_printf("Sending restart signal to 0x%x\n",
-			(unsigned)(p -> id));
-	    #endif
-        
-            result = pthread_kill(p -> id, SIG_THR_RESTART);
-	    switch(result) {
-                case ESRCH:
-                    /* Not really there anymore.  Possible? */
-                    n_live_threads--;
-                    break;
-                case 0:
-                    break;
-                default:
-                    ABORT("pthread_kill failed");
-            }
-        }
-      }
-    }
-#   ifdef GC_NETBSD_THREADS_WORKAROUND
-      for (i = 0; i < n_live_threads; i++)
-	while (0 != (code = sem_wait(&GC_restart_ack_sem)))
-	    if (errno != EINTR) {
-		GC_err_printf1("sem_wait() returned %ld\n",
-			       (unsigned long)code);
-		ABORT("sem_wait() for restart handler failed");
-	    }
-#    endif
-#    if DEBUG_THREADS
-      GC_printf("World started\n");
-#    endif
-}
-
-void GC_stop_init() {
-    struct sigaction act;
-    
-    if (sem_init(&GC_suspend_ack_sem, 0, 0) != 0)
-        ABORT("sem_init failed");
-#   ifdef GC_NETBSD_THREADS_WORKAROUND
-      if (sem_init(&GC_restart_ack_sem, 0, 0) != 0)
-	ABORT("sem_init failed");
-#   endif
-
-    act.sa_flags = SA_RESTART | SA_SIGINFO;
-    if (sigfillset(&act.sa_mask) != 0) {
-    	ABORT("sigfillset() failed");
-    }
-    GC_remove_allowed_signals(&act.sa_mask);
-    /* SIG_THR_RESTART is set in the resulting mask.		*/
-    /* It is unmasked by the handler when necessary. 		*/
-    act.sa_sigaction = GC_suspend_handler;
-    if (sigaction(SIG_SUSPEND, &act, NULL) != 0) {
-    	ABORT("Cannot set SIG_SUSPEND handler");
-    }
-
-    act.sa_flags &= ~ SA_SIGINFO;
-    act.sa_handler = GC_restart_handler;
-    if (sigaction(SIG_THR_RESTART, &act, NULL) != 0) {
-    	ABORT("Cannot set SIG_THR_RESTART handler");
-    }
-
-    /* Inititialize suspend_handler_mask. It excludes SIG_THR_RESTART. */
-      if (sigfillset(&suspend_handler_mask) != 0) ABORT("sigfillset() failed");
-      GC_remove_allowed_signals(&suspend_handler_mask);
-      if (sigdelset(&suspend_handler_mask, SIG_THR_RESTART) != 0)
-	  ABORT("sigdelset() failed");
-
-    /* Check for GC_RETRY_SIGNALS.	*/
-      if (0 != GETENV("GC_RETRY_SIGNALS")) {
-	  GC_retry_signals = TRUE;
-      }
-      if (0 != GETENV("GC_NO_RETRY_SIGNALS")) {
-	  GC_retry_signals = FALSE;
-      }
-      if (GC_print_stats && GC_retry_signals) {
-          GC_log_printf("Will retry suspend signal if necessary.\n");
-      }
-}
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/pthread_support.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/pthread_support.c
deleted file mode 100755
index 6b1ff8e..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/pthread_support.c
+++ /dev/null
@@ -1,1495 +0,0 @@
-/* 
- * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1996 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 1998 by Fergus Henderson.  All rights reserved.
- * Copyright (c) 2000-2005 by Hewlett-Packard Company.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/*
- * Support code originally for LinuxThreads, the clone()-based kernel
- * thread package for Linux which is included in libc6.
- *
- * This code no doubt makes some assumptions beyond what is
- * guaranteed by the pthread standard, though it now does
- * very little of that.  It now also supports NPTL, and many
- * other Posix thread implementations.  We are trying to merge
- * all flavors of pthread dupport code into this file.
- */
- /* DG/UX ix86 support <takis at xfree86.org> */
-/*
- * Linux_threads.c now also includes some code to support HPUX and
- * OSF1 (Compaq Tru64 Unix, really).  The OSF1 support is based on Eric Benson's
- * patch.
- *
- * Eric also suggested an alternate basis for a lock implementation in
- * his code:
- * + #elif defined(OSF1)
- * +    unsigned long GC_allocate_lock = 0;
- * +    msemaphore GC_allocate_semaphore;
- * + #  define GC_TRY_LOCK() \
- * +    ((msem_lock(&GC_allocate_semaphore, MSEM_IF_NOWAIT) == 0) \
- * +     ? (GC_allocate_lock = 1) \
- * +     : 0)
- * + #  define GC_LOCK_TAKEN GC_allocate_lock
- */
-
-/*#define DEBUG_THREADS 1*/
-
-# include "private/pthread_support.h"
-
-# if defined(GC_PTHREADS) && !defined(GC_WIN32_THREADS)
-
-# if defined(GC_DGUX386_THREADS) && !defined(_POSIX4A_DRAFT10_SOURCE)
-#   define _POSIX4A_DRAFT10_SOURCE 1
-# endif
-
-# if defined(GC_DGUX386_THREADS) && !defined(_USING_POSIX4A_DRAFT10)
-#   define _USING_POSIX4A_DRAFT10 1
-# endif
-
-# include <stdlib.h>
-# include <pthread.h>
-# include <sched.h>
-# include <time.h>
-# include <errno.h>
-# include <unistd.h>
-# include <sys/mman.h>
-# include <sys/time.h>
-# include <sys/types.h>
-# include <sys/stat.h>
-# include <fcntl.h>
-# include <signal.h>
-
-# include "gc_inline.h"
-
-#if defined(GC_DARWIN_THREADS)
-# include "private/darwin_semaphore.h"
-#else
-# include <semaphore.h>
-#endif /* !GC_DARWIN_THREADS */
-
-#if defined(GC_DARWIN_THREADS) || defined(GC_FREEBSD_THREADS)
-# include <sys/sysctl.h>
-#endif /* GC_DARWIN_THREADS */
-
-#if defined(GC_NETBSD_THREADS)
-# include <sys/param.h>
-# include <sys/sysctl.h>
-#endif        /* GC_NETBSD_THREADS */
-
-/* Allocator lock definitions.		*/
-#if !defined(USE_SPIN_LOCK)
-  pthread_mutex_t GC_allocate_ml = PTHREAD_MUTEX_INITIALIZER;
-#endif
-unsigned long GC_lock_holder = NO_THREAD;
-		/* Used only for assertions, and to prevent	 */
-		/* recursive reentry in the system call wrapper. */
-
-#if defined(GC_DGUX386_THREADS)
-# include <sys/dg_sys_info.h>
-# include <sys/_int_psem.h>
-  /* sem_t is an uint in DG/UX */
-  typedef unsigned int  sem_t;
-#endif /* GC_DGUX386_THREADS */
-
-#ifndef __GNUC__
-#   define __inline__
-#endif
-
-/* Undefine macros used to redirect pthread primitives. */
-# undef pthread_create
-# if !defined(GC_DARWIN_THREADS)
-#   undef pthread_sigmask
-# endif
-# undef pthread_join
-# undef pthread_detach
-# if defined(GC_OSF1_THREADS) && defined(_PTHREAD_USE_MANGLED_NAMES_) \
-     && !defined(_PTHREAD_USE_PTDNAM_)
-  /* Restore the original mangled names on Tru64 UNIX.  */
-#   define pthread_create __pthread_create
-#   define pthread_join __pthread_join
-#   define pthread_detach __pthread_detach
-# endif
-
-#ifdef GC_USE_LD_WRAP
-#   define WRAP_FUNC(f) __wrap_##f
-#   define REAL_FUNC(f) __real_##f
-#else
-#   ifdef GC_USE_DLOPEN_WRAP
-#     include <dlfcn.h>
-#     define WRAP_FUNC(f) f
-#     define REAL_FUNC(f) GC_real_##f
-      /* We define both GC_f and plain f to be the wrapped function.	*/
-      /* In that way plain calls work, as do calls from files that	*/
-      /* included gc.h, wich redefined f to GC_f.			*/
-      /* FIXME: Needs work for DARWIN and True64 (OSF1) */
-      typedef int (* GC_pthread_create_t)(pthread_t *, const pthread_attr_t *,
-		      		          void * (*)(void *), void *);
-      static GC_pthread_create_t GC_real_pthread_create;
-      typedef int (* GC_pthread_sigmask_t)(int, const sigset_t *, sigset_t *);
-      static GC_pthread_sigmask_t GC_real_pthread_sigmask;
-      typedef int (* GC_pthread_join_t)(pthread_t, void **);
-      static GC_pthread_join_t GC_real_pthread_join;
-      typedef int (* GC_pthread_detach_t)(pthread_t);
-      static GC_pthread_detach_t GC_real_pthread_detach;
-#   else
-#     define WRAP_FUNC(f) GC_##f
-#     if !defined(GC_DGUX386_THREADS)
-#       define REAL_FUNC(f) f
-#     else /* GC_DGUX386_THREADS */
-#       define REAL_FUNC(f) __d10_##f
-#     endif /* GC_DGUX386_THREADS */
-#   endif
-#endif
-
-#if defined(GC_USE_DL_WRAP) || defined(GC_USE_DLOPEN_WRAP)
-/* Define GC_ functions as aliases for the plain ones, which will	*/
-/* be intercepted.  This allows files which include gc.h, and hence	*/
-/* generate referemces to the GC_ symbols, to see the right symbols.	*/
-      int GC_pthread_create(pthread_t * t, const pthread_attr_t * a,
-		         void * (* fn)(void *), void * arg) {
-	  return pthread_create(t, a, fn, arg);
-      }
-      int GC_pthread_sigmask(int how, const sigset_t *mask, sigset_t *old) {
-	  return pthread_sigmask(how, mask, old);
-      }
-      int GC_pthread_join(pthread_t t, void **res) {
-	  return pthread_join(t, res);
-      }
-      int GC_pthread_detach(pthread_t t) {
-	  return pthread_detach(t);
-      }
-#endif /* Linker-based interception. */
-
-#ifdef GC_USE_DLOPEN_WRAP
-  static GC_bool GC_syms_initialized = FALSE;
-
-  void GC_init_real_syms(void)
-  {
-    void *dl_handle;
-#   define LIBPTHREAD_NAME "libpthread.so.0"
-#   define LIBPTHREAD_NAME_LEN 16 /* incl. trailing 0 */
-    size_t len = LIBPTHREAD_NAME_LEN - 1;
-    char namebuf[LIBPTHREAD_NAME_LEN];
-    static char *libpthread_name = LIBPTHREAD_NAME;
-
-    if (GC_syms_initialized) return;
-#   ifdef RTLD_NEXT
-      dl_handle = RTLD_NEXT;
-#   else
-      dl_handle = dlopen(libpthread_name, RTLD_LAZY);
-      if (NULL == dl_handle) {
-        while (isdigit(libpthread_name[len-1])) --len;
-        if (libpthread_name[len-1] == '.') --len;
-        memcpy(namebuf, libpthread_name, len);
-        namebuf[len] = '\0';
-        dl_handle = dlopen(namebuf, RTLD_LAZY);
-      }
-      if (NULL == dl_handle) ABORT("Couldn't open libpthread\n");
-#   endif
-    GC_real_pthread_create = (GC_pthread_create_t)
-	    			dlsym(dl_handle, "pthread_create");
-    GC_real_pthread_sigmask = (GC_pthread_sigmask_t)
-	    			dlsym(dl_handle, "pthread_sigmask");
-    GC_real_pthread_join = (GC_pthread_join_t)
-	    			dlsym(dl_handle, "pthread_join");
-    GC_real_pthread_detach = (GC_pthread_detach_t)
-	    			dlsym(dl_handle, "pthread_detach");
-    GC_syms_initialized = TRUE;
-  }
-
-# define INIT_REAL_SYMS() if (!GC_syms_initialized) GC_init_real_syms();
-#else
-# define INIT_REAL_SYMS()
-#endif
-
-void GC_thr_init(void);
-
-static GC_bool parallel_initialized = FALSE;
-
-GC_bool GC_need_to_lock = FALSE;
-
-void GC_init_parallel(void);
-
-long GC_nprocs = 1;	/* Number of processors.  We may not have	*/
-			/* access to all of them, but this is as good	*/
-			/* a guess as any ...				*/
-
-#ifdef THREAD_LOCAL_ALLOC
-/* We must explicitly mark ptrfree and gcj free lists, since the free 	*/
-/* list links wouldn't otherwise be found.  We also set them in the 	*/
-/* normal free lists, since that involves touching less memory than if	*/
-/* we scanned them normally.						*/
-void GC_mark_thread_local_free_lists(void)
-{
-    int i;
-    GC_thread p;
-    
-    for (i = 0; i < THREAD_TABLE_SZ; ++i) {
-      for (p = GC_threads[i]; 0 != p; p = p -> next) {
-	GC_mark_thread_local_fls_for(&(p->tlfs));
-      }
-    }
-}
-
-#if defined(GC_ASSERTIONS)
-    /* Check that all thread-local free-lists are completely marked.	*/
-    /* also check that thread-specific-data structures are marked.	*/
-    void GC_check_tls(void) {
-	int i;
-	GC_thread p;
-	
-	for (i = 0; i < THREAD_TABLE_SZ; ++i) {
-	  for (p = GC_threads[i]; 0 != p; p = p -> next) {
-	    GC_check_tls_for(&(p->tlfs));
-	  }
-	}
-#       if defined(USE_CUSTOM_SPECIFIC)
-	  if (GC_thread_key != 0)
-	    GC_check_tsd_marks(GC_thread_key);
-#	endif 
-    }
-#endif /* GC_ASSERTIONS */
-
-#endif /* Thread_local_alloc */
-
-#ifdef PARALLEL_MARK
-
-# ifndef MAX_MARKERS
-#   define MAX_MARKERS 16
-# endif
-
-static ptr_t marker_sp[MAX_MARKERS] = {0};
-#ifdef IA64
-  static ptr_t marker_bsp[MAX_MARKERS] = {0};
-#endif
-
-void * GC_mark_thread(void * id)
-{
-  word my_mark_no = 0;
-
-  marker_sp[(word)id] = GC_approx_sp();
-# ifdef IA64
-    marker_bsp[(word)id] = GC_save_regs_in_stack();
-# endif
-  for (;; ++my_mark_no) {
-    /* GC_mark_no is passed only to allow GC_help_marker to terminate	*/
-    /* promptly.  This is important if it were called from the signal	*/
-    /* handler or from the GC lock acquisition code.  Under Linux, it's	*/
-    /* not safe to call it from a signal handler, since it uses mutexes	*/
-    /* and condition variables.  Since it is called only here, the 	*/
-    /* argument is unnecessary.						*/
-    if (my_mark_no < GC_mark_no || my_mark_no > GC_mark_no + 2) {
-	/* resynchronize if we get far off, e.g. because GC_mark_no	*/
-	/* wrapped.							*/
-	my_mark_no = GC_mark_no;
-    }
-#   ifdef DEBUG_THREADS
-	GC_printf("Starting mark helper for mark number %lu\n", my_mark_no);
-#   endif
-    GC_help_marker(my_mark_no);
-  }
-}
-
-extern long GC_markers;		/* Number of mark threads we would	*/
-				/* like to have.  Includes the 		*/
-				/* initiating thread.			*/
-
-pthread_t GC_mark_threads[MAX_MARKERS];
-
-#define PTHREAD_CREATE REAL_FUNC(pthread_create)
-
-static void start_mark_threads(void)
-{
-    unsigned i;
-    pthread_attr_t attr;
-
-    if (GC_markers > MAX_MARKERS) {
-	WARN("Limiting number of mark threads\n", 0);
-	GC_markers = MAX_MARKERS;
-    }
-    if (0 != pthread_attr_init(&attr)) ABORT("pthread_attr_init failed");
-	
-    if (0 != pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED))
-	ABORT("pthread_attr_setdetachstate failed");
-
-#   if defined(HPUX) || defined(GC_DGUX386_THREADS)
-      /* Default stack size is usually too small: fix it. */
-      /* Otherwise marker threads or GC may run out of	  */
-      /* space.						  */
-#     define MIN_STACK_SIZE (8*HBLKSIZE*sizeof(word))
-      {
-	size_t old_size;
-	int code;
-
-        if (pthread_attr_getstacksize(&attr, &old_size) != 0)
-	  ABORT("pthread_attr_getstacksize failed\n");
-	if (old_size < MIN_STACK_SIZE) {
-	  if (pthread_attr_setstacksize(&attr, MIN_STACK_SIZE) != 0)
-		  ABORT("pthread_attr_setstacksize failed\n");
-	}
-      }
-#   endif /* HPUX || GC_DGUX386_THREADS */
-    if (GC_print_stats) {
-	GC_log_printf("Starting %ld marker threads\n", GC_markers - 1);
-    }
-    for (i = 0; i < GC_markers - 1; ++i) {
-      if (0 != PTHREAD_CREATE(GC_mark_threads + i, &attr,
-			      GC_mark_thread, (void *)(word)i)) {
-	WARN("Marker thread creation failed, errno = %ld.\n", errno);
-      }
-    }
-}
-
-#endif /* PARALLEL_MARK */
-
-GC_bool GC_thr_initialized = FALSE;
-
-volatile GC_thread GC_threads[THREAD_TABLE_SZ];
-
-void GC_push_thread_structures(void)
-{
-    GC_ASSERT(I_HOLD_LOCK());
-    GC_push_all((ptr_t)(GC_threads), (ptr_t)(GC_threads)+sizeof(GC_threads));
-#   if defined(THREAD_LOCAL_ALLOC)
-      GC_push_all((ptr_t)(&GC_thread_key),
-	  (ptr_t)(&GC_thread_key)+sizeof(&GC_thread_key));
-#   endif
-}
-
-/* It may not be safe to allocate when we register the first thread.	*/
-static struct GC_Thread_Rep first_thread;
-
-/* Add a thread to GC_threads.  We assume it wasn't already there.	*/
-/* Caller holds allocation lock.					*/
-GC_thread GC_new_thread(pthread_t id)
-{
-    int hv = NUMERIC_THREAD_ID(id) % THREAD_TABLE_SZ;
-    GC_thread result;
-    static GC_bool first_thread_used = FALSE;
-    
-    GC_ASSERT(I_HOLD_LOCK());
-    if (!first_thread_used) {
-    	result = &first_thread;
-    	first_thread_used = TRUE;
-    } else {
-        result = (struct GC_Thread_Rep *)
-        	 GC_INTERNAL_MALLOC(sizeof(struct GC_Thread_Rep), NORMAL);
-	GC_ASSERT(result -> flags == 0);
-    }
-    if (result == 0) return(0);
-    result -> id = id;
-    result -> next = GC_threads[hv];
-    GC_threads[hv] = result;
-    GC_ASSERT(result -> flags == 0 && result -> thread_blocked == 0);
-    return(result);
-}
-
-/* Delete a thread from GC_threads.  We assume it is there.	*/
-/* (The code intentionally traps if it wasn't.)			*/
-void GC_delete_thread(pthread_t id)
-{
-    int hv = NUMERIC_THREAD_ID(id) % THREAD_TABLE_SZ;
-    register GC_thread p = GC_threads[hv];
-    register GC_thread prev = 0;
-    
-    GC_ASSERT(I_HOLD_LOCK());
-    while (!THREAD_EQUAL(p -> id, id)) {
-        prev = p;
-        p = p -> next;
-    }
-    if (prev == 0) {
-        GC_threads[hv] = p -> next;
-    } else {
-        prev -> next = p -> next;
-    }
-#   ifdef GC_DARWIN_THREADS
-	mach_port_deallocate(mach_task_self(), p->stop_info.mach_thread);
-#   endif
-    GC_INTERNAL_FREE(p);
-}
-
-/* If a thread has been joined, but we have not yet		*/
-/* been notified, then there may be more than one thread 	*/
-/* in the table with the same pthread id.			*/
-/* This is OK, but we need a way to delete a specific one.	*/
-void GC_delete_gc_thread(GC_thread gc_id)
-{
-    pthread_t id = gc_id -> id;
-    int hv = NUMERIC_THREAD_ID(id) % THREAD_TABLE_SZ;
-    register GC_thread p = GC_threads[hv];
-    register GC_thread prev = 0;
-
-    GC_ASSERT(I_HOLD_LOCK());
-    while (p != gc_id) {
-        prev = p;
-        p = p -> next;
-    }
-    if (prev == 0) {
-        GC_threads[hv] = p -> next;
-    } else {
-        prev -> next = p -> next;
-    }
-#   ifdef GC_DARWIN_THREADS
-	mach_port_deallocate(mach_task_self(), p->stop_info.mach_thread);
-#   endif
-    GC_INTERNAL_FREE(p);
-}
-
-/* Return a GC_thread corresponding to a given pthread_t.	*/
-/* Returns 0 if it's not there.					*/
-/* Caller holds  allocation lock or otherwise inhibits 		*/
-/* updates.							*/
-/* If there is more than one thread with the given id we 	*/
-/* return the most recent one.					*/
-GC_thread GC_lookup_thread(pthread_t id)
-{
-    int hv = NUMERIC_THREAD_ID(id) % THREAD_TABLE_SZ;
-    register GC_thread p = GC_threads[hv];
-    
-    while (p != 0 && !THREAD_EQUAL(p -> id, id)) p = p -> next;
-    return(p);
-}
-
-#ifdef HANDLE_FORK
-/* Remove all entries from the GC_threads table, except the	*/
-/* one for the current thread.  We need to do this in the child	*/
-/* process after a fork(), since only the current thread 	*/
-/* survives in the child.					*/
-void GC_remove_all_threads_but_me(void)
-{
-    pthread_t self = pthread_self();
-    int hv;
-    GC_thread p, next, me;
-
-    for (hv = 0; hv < THREAD_TABLE_SZ; ++hv) {
-      me = 0;
-      for (p = GC_threads[hv]; 0 != p; p = next) {
-	next = p -> next;
-	if (THREAD_EQUAL(p -> id, self)) {
-	  me = p;
-	  p -> next = 0;
-	} else {
-#	  ifdef THREAD_LOCAL_ALLOC
-	    if (!(p -> flags & FINISHED)) {
-	      GC_destroy_thread_local(&(p->tlfs));
-	    }
-#	  endif /* THREAD_LOCAL_ALLOC */
-	  if (p != &first_thread) GC_INTERNAL_FREE(p);
-	}
-      }
-      GC_threads[hv] = me;
-    }
-}
-#endif /* HANDLE_FORK */
-
-#ifdef USE_PROC_FOR_LIBRARIES
-GC_bool GC_segment_is_thread_stack(ptr_t lo, ptr_t hi)
-{
-    int i;
-    GC_thread p;
-    
-    GC_ASSERT(I_HOLD_LOCK());
-#   ifdef PARALLEL_MARK
-      for (i = 0; i < GC_markers; ++i) {
-	if (marker_sp[i] > lo & marker_sp[i] < hi) return TRUE;
-#       ifdef IA64
-	  if (marker_bsp[i] > lo & marker_bsp[i] < hi) return TRUE;
-#	endif
-      }
-#   endif
-    for (i = 0; i < THREAD_TABLE_SZ; i++) {
-      for (p = GC_threads[i]; p != 0; p = p -> next) {
-	if (0 != p -> stack_end) {
-#	  ifdef STACK_GROWS_UP
-            if (p -> stack_end >= lo && p -> stack_end < hi) return TRUE;
-#	  else /* STACK_GROWS_DOWN */
-            if (p -> stack_end > lo && p -> stack_end <= hi) return TRUE;
-#	  endif
-	}
-      }
-    }
-    return FALSE;
-}
-#endif /* USE_PROC_FOR_LIBRARIES */
-
-#ifdef IA64
-/* Find the largest stack_base smaller than bound.  May be used	*/
-/* to find the boundary between a register stack and adjacent	*/
-/* immediately preceding memory stack.				*/
-ptr_t GC_greatest_stack_base_below(ptr_t bound)
-{
-    int i;
-    GC_thread p;
-    ptr_t result = 0;
-    
-    GC_ASSERT(I_HOLD_LOCK());
-#   ifdef PARALLEL_MARK
-      for (i = 0; i < GC_markers; ++i) {
-	if (marker_sp[i] > result && marker_sp[i] < bound)
-	  result = marker_sp[i];
-      }
-#   endif
-    for (i = 0; i < THREAD_TABLE_SZ; i++) {
-      for (p = GC_threads[i]; p != 0; p = p -> next) {
-	if (p -> stack_end > result && p -> stack_end < bound) {
-	  result = p -> stack_end;
-	}
-      }
-    }
-    return result;
-}
-#endif /* IA64 */
-
-#ifdef GC_LINUX_THREADS
-/* Return the number of processors, or i<= 0 if it can't be determined.	*/
-int GC_get_nprocs(void)
-{
-    /* Should be "return sysconf(_SC_NPROCESSORS_ONLN);" but that	*/
-    /* appears to be buggy in many cases.				*/
-    /* We look for lines "cpu<n>" in /proc/stat.			*/
-#   define STAT_BUF_SIZE 4096
-#   define STAT_READ read
-	/* If read is wrapped, this may need to be redefined to call 	*/
-	/* the real one.						*/
-    char stat_buf[STAT_BUF_SIZE];
-    int f;
-    word result = 1;
-	/* Some old kernels only have a single "cpu nnnn ..."	*/
-	/* entry in /proc/stat.  We identify those as 		*/
-	/* uniprocessors.					*/
-    size_t i, len = 0;
-
-    f = open("/proc/stat", O_RDONLY);
-    if (f < 0 || (len = STAT_READ(f, stat_buf, STAT_BUF_SIZE)) < 100) {
-	WARN("Couldn't read /proc/stat\n", 0);
-	return -1;
-    }
-    for (i = 0; i < len - 100; ++i) {
-        if (stat_buf[i] == '\n' && stat_buf[i+1] == 'c'
-	    && stat_buf[i+2] == 'p' && stat_buf[i+3] == 'u') {
-	    int cpu_no = atoi(stat_buf + i + 4);
-	    if (cpu_no >= result) result = cpu_no + 1;
-	}
-    }
-    close(f);
-    return result;
-}
-#endif /* GC_LINUX_THREADS */
-
-/* We hold the GC lock.  Wait until an in-progress GC has finished.	*/
-/* Repeatedly RELEASES GC LOCK in order to wait.			*/
-/* If wait_for_all is true, then we exit with the GC lock held and no	*/
-/* collection in progress; otherwise we just wait for the current GC	*/
-/* to finish.								*/
-extern GC_bool GC_collection_in_progress(void);
-void GC_wait_for_gc_completion(GC_bool wait_for_all)
-{
-    GC_ASSERT(I_HOLD_LOCK());
-    if (GC_incremental && GC_collection_in_progress()) {
-	int old_gc_no = GC_gc_no;
-
-	/* Make sure that no part of our stack is still on the mark stack, */
-	/* since it's about to be unmapped.				   */
-	while (GC_incremental && GC_collection_in_progress()
-	       && (wait_for_all || old_gc_no == GC_gc_no)) {
-	    ENTER_GC();
-	    GC_in_thread_creation = TRUE;
-            GC_collect_a_little_inner(1);
-	    GC_in_thread_creation = FALSE;
-	    EXIT_GC();
-	    UNLOCK();
-	    sched_yield();
-	    LOCK();
-	}
-    }
-}
-
-#ifdef HANDLE_FORK
-/* Procedures called before and after a fork.  The goal here is to make */
-/* it safe to call GC_malloc() in a forked child.  It's unclear that is	*/
-/* attainable, since the single UNIX spec seems to imply that one 	*/
-/* should only call async-signal-safe functions, and we probably can't	*/
-/* quite guarantee that.  But we give it our best shot.  (That same	*/
-/* spec also implies that it's not safe to call the system malloc	*/
-/* between fork() and exec().  Thus we're doing no worse than it.	*/
-
-/* Called before a fork()		*/
-void GC_fork_prepare_proc(void)
-{
-    /* Acquire all relevant locks, so that after releasing the locks	*/
-    /* the child will see a consistent state in which monitor 		*/
-    /* invariants hold.	 Unfortunately, we can't acquire libc locks	*/
-    /* we might need, and there seems to be no guarantee that libc	*/
-    /* must install a suitable fork handler.				*/
-    /* Wait for an ongoing GC to finish, since we can't finish it in	*/
-    /* the (one remaining thread in) the child.				*/
-      LOCK();
-#     if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
-        GC_wait_for_reclaim();
-#     endif
-      GC_wait_for_gc_completion(TRUE);
-#     if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
-        GC_acquire_mark_lock();
-#     endif
-}
-
-/* Called in parent after a fork()	*/
-void GC_fork_parent_proc(void)
-{
-#   if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
-      GC_release_mark_lock();
-#   endif
-    UNLOCK();
-}
-
-/* Called in child after a fork()	*/
-void GC_fork_child_proc(void)
-{
-    /* Clean up the thread table, so that just our thread is left. */
-#   if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
-      GC_release_mark_lock();
-#   endif
-    GC_remove_all_threads_but_me();
-#   ifdef PARALLEL_MARK
-      /* Turn off parallel marking in the child, since we are probably 	*/
-      /* just going to exec, and we would have to restart mark threads.	*/
-        GC_markers = 1;
-        GC_parallel = FALSE;
-#   endif /* PARALLEL_MARK */
-    UNLOCK();
-}
-#endif /* HANDLE_FORK */
-
-#if defined(GC_DGUX386_THREADS)
-/* Return the number of processors, or i<= 0 if it can't be determined. */
-int GC_get_nprocs(void)
-{
-    /* <takis at XFree86.Org> */
-    int numCpus;
-    struct dg_sys_info_pm_info pm_sysinfo;
-    int status =0;
-
-    status = dg_sys_info((long int *) &pm_sysinfo,
-	DG_SYS_INFO_PM_INFO_TYPE, DG_SYS_INFO_PM_CURRENT_VERSION);
-    if (status < 0)
-       /* set -1 for error */
-       numCpus = -1;
-    else
-      /* Active CPUs */
-      numCpus = pm_sysinfo.idle_vp_count;
-
-#  ifdef DEBUG_THREADS
-    GC_printf("Number of active CPUs in this system: %d\n", numCpus);
-#  endif
-    return(numCpus);
-}
-#endif /* GC_DGUX386_THREADS */
-
-#if defined(GC_NETBSD_THREADS)
-static int get_ncpu(void)
-{
-    int mib[] = {CTL_HW,HW_NCPU};
-    int res;
-    size_t len = sizeof(res);
-
-    sysctl(mib, sizeof(mib)/sizeof(int), &res, &len, NULL, 0);
-    return res;
-}
-#endif	/* GC_NETBSD_THREADS */
-
-# if defined(GC_LINUX_THREADS) && defined(INCLUDE_LINUX_THREAD_DESCR)
-__thread int dummy_thread_local;
-# endif
-
-/* We hold the allocation lock.	*/
-void GC_thr_init(void)
-{
-#   ifndef GC_DARWIN_THREADS
-        int dummy;
-#   endif
-    GC_thread t;
-
-    if (GC_thr_initialized) return;
-    GC_thr_initialized = TRUE;
-    
-#   ifdef HANDLE_FORK
-      /* Prepare for a possible fork.	*/
-        pthread_atfork(GC_fork_prepare_proc, GC_fork_parent_proc,
-	  	       GC_fork_child_proc);
-#   endif /* HANDLE_FORK */
-#   if defined(INCLUDE_LINUX_THREAD_DESCR)
-      /* Explicitly register the region including the address 		*/
-      /* of a thread local variable.  This should included thread	*/
-      /* locals for the main thread, except for those allocated		*/
-      /* in response to dlopen calls.					*/  
-	{
-	  ptr_t thread_local_addr = (ptr_t)(&dummy_thread_local);
-	  ptr_t main_thread_start, main_thread_end;
-          if (!GC_enclosing_mapping(thread_local_addr, &main_thread_start,
-				    &main_thread_end)) {
-	    ABORT("Failed to find mapping for main thread thread locals");
-	  }
-	  GC_add_roots_inner(main_thread_start, main_thread_end, FALSE);
-	}
-#   endif
-    /* Add the initial thread, so we can stop it.	*/
-      t = GC_new_thread(pthread_self());
-#     ifdef GC_DARWIN_THREADS
-         t -> stop_info.mach_thread = mach_thread_self();
-#     else
-         t -> stop_info.stack_ptr = (ptr_t)(&dummy);
-#     endif
-      t -> flags = DETACHED | MAIN_THREAD;
-
-    GC_stop_init();
-
-    /* Set GC_nprocs.  */
-      {
-	char * nprocs_string = GETENV("GC_NPROCS");
-	GC_nprocs = -1;
-	if (nprocs_string != NULL) GC_nprocs = atoi(nprocs_string);
-      }
-      if (GC_nprocs <= 0) {
-#       if defined(GC_HPUX_THREADS)
-	  GC_nprocs = pthread_num_processors_np();
-#       endif
-#	if defined(GC_OSF1_THREADS) || defined(GC_AIX_THREADS) \
-	   || defined(GC_SOLARIS_THREADS)
-	  GC_nprocs = sysconf(_SC_NPROCESSORS_ONLN);
-	  if (GC_nprocs <= 0) GC_nprocs = 1;
-#	endif
-#       if defined(GC_IRIX_THREADS)
-	  GC_nprocs = sysconf(_SC_NPROC_ONLN);
-	  if (GC_nprocs <= 0) GC_nprocs = 1;
-#       endif
-#       if defined(GC_NETBSD_THREADS)
-	  GC_nprocs = get_ncpu();
-#       endif
-#       if defined(GC_DARWIN_THREADS) || defined(GC_FREEBSD_THREADS)
-	  int ncpus = 1;
-	  size_t len = sizeof(ncpus);
-	  sysctl((int[2]) {CTL_HW, HW_NCPU}, 2, &ncpus, &len, NULL, 0);
-	  GC_nprocs = ncpus;
-#       endif
-#	if defined(GC_LINUX_THREADS) || defined(GC_DGUX386_THREADS)
-          GC_nprocs = GC_get_nprocs();
-#	endif
-#       if defined(GC_GNU_THREADS)
-	  if (GC_nprocs <= 0) GC_nprocs = 1;
-#       endif
-      }
-      if (GC_nprocs <= 0) {
-	WARN("GC_get_nprocs() returned %ld\n", GC_nprocs);
-	GC_nprocs = 2;
-#	ifdef PARALLEL_MARK
-	  GC_markers = 1;
-#	endif
-      } else {
-#	ifdef PARALLEL_MARK
-          {
-	    char * markers_string = GETENV("GC_MARKERS");
-	    if (markers_string != NULL) {
-	      GC_markers = atoi(markers_string);
-	    } else {
-	      GC_markers = GC_nprocs;
-	    }
-          }
-#	endif
-      }
-#   ifdef PARALLEL_MARK
-      if (GC_print_stats) {
-          GC_log_printf("Number of processors = %ld, "
-		 "number of marker threads = %ld\n", GC_nprocs, GC_markers);
-      }
-      if (GC_markers == 1) {
-	GC_parallel = FALSE;
-	if (GC_print_stats) {
-	    GC_log_printf(
-		"Single marker thread, turning off parallel marking\n");
-	}
-      } else {
-	GC_parallel = TRUE;
-	/* Disable true incremental collection, but generational is OK.	*/
-	GC_time_limit = GC_TIME_UNLIMITED;
-      }
-      /* If we are using a parallel marker, actually start helper threads.  */
-        if (GC_parallel) start_mark_threads();
-#   endif
-}
-
-
-/* Perform all initializations, including those that	*/
-/* may require allocation.				*/
-/* Called without allocation lock.			*/
-/* Must be called before a second thread is created.	*/
-/* Did we say it's called without the allocation lock?	*/
-void GC_init_parallel(void)
-{
-    if (parallel_initialized) return;
-    parallel_initialized = TRUE;
-
-    /* GC_init() calls us back, so set flag first.	*/
-    if (!GC_is_initialized) GC_init();
-    /* Initialize thread local free lists if used.	*/
-#   if defined(THREAD_LOCAL_ALLOC)
-      LOCK();
-      GC_init_thread_local(&(GC_lookup_thread(pthread_self())->tlfs));
-      UNLOCK();
-#   endif
-}
-
-
-#if !defined(GC_DARWIN_THREADS)
-int WRAP_FUNC(pthread_sigmask)(int how, const sigset_t *set, sigset_t *oset)
-{
-    sigset_t fudged_set;
-    
-    INIT_REAL_SYMS();
-    if (set != NULL && (how == SIG_BLOCK || how == SIG_SETMASK)) {
-        fudged_set = *set;
-        sigdelset(&fudged_set, SIG_SUSPEND);
-        set = &fudged_set;
-    }
-    return(REAL_FUNC(pthread_sigmask)(how, set, oset));
-}
-#endif /* !GC_DARWIN_THREADS */
-
-/* Wrapper for functions that are likely to block for an appreciable	*/
-/* length of time.							*/
-
-struct blocking_data {
-    void (*fn)(void *);
-    void *arg;
-};
-
-static void GC_do_blocking_inner(ptr_t data, void * context) {
-    struct blocking_data * d = (struct blocking_data *) data;
-    GC_thread me;
-    LOCK();
-    me = GC_lookup_thread(pthread_self());
-    GC_ASSERT(!(me -> thread_blocked));
-#   ifdef SPARC
-	me -> stop_info.stack_ptr = GC_save_regs_in_stack();
-#   elif !defined(GC_DARWIN_THREADS)
-	me -> stop_info.stack_ptr = GC_approx_sp();
-#   endif
-#   ifdef IA64
-	me -> backing_store_ptr = GC_save_regs_in_stack();
-#   endif
-    me -> thread_blocked = TRUE;
-    /* Save context here if we want to support precise stack marking */
-    UNLOCK();
-    (d -> fn)(d -> arg);
-    LOCK();   /* This will block if the world is stopped.	*/
-    me -> thread_blocked = FALSE;
-    UNLOCK();
-}
-
-void GC_do_blocking(void (*fn)(void *), void *arg) {
-    struct blocking_data my_data;
-
-    my_data.fn = fn;
-    my_data.arg = arg;
-    GC_with_callee_saves_pushed(GC_do_blocking_inner, (ptr_t)(&my_data));
-}
-    
-struct start_info {
-    void *(*start_routine)(void *);
-    void *arg;
-    word flags;
-    sem_t registered;   	/* 1 ==> in our thread table, but 	*/
-				/* parent hasn't yet noticed.		*/
-};
-
-int GC_unregister_my_thread(void)
-{
-    GC_thread me;
-
-    LOCK();
-    /* Wait for any GC that may be marking from our stack to	*/
-    /* complete before we remove this thread.			*/
-    GC_wait_for_gc_completion(FALSE);
-    me = GC_lookup_thread(pthread_self());
-#   if defined(THREAD_LOCAL_ALLOC)
-      GC_destroy_thread_local(&(me->tlfs));
-#   endif
-    if (me -> flags & DETACHED) {
-    	GC_delete_thread(pthread_self());
-    } else {
-	me -> flags |= FINISHED;
-    }
-#   if defined(THREAD_LOCAL_ALLOC)
-      GC_remove_specific(GC_thread_key);
-#   endif
-    UNLOCK();
-    return GC_SUCCESS;
-}
-
-/* Called at thread exit.				*/
-/* Never called for main thread.  That's OK, since it	*/
-/* results in at most a tiny one-time leak.  And 	*/
-/* linuxthreads doesn't reclaim the main threads 	*/
-/* resources or id anyway.				*/
-void GC_thread_exit_proc(void *arg)
-{
-    GC_unregister_my_thread();
-}
-
-int WRAP_FUNC(pthread_join)(pthread_t thread, void **retval)
-{
-    int result;
-    GC_thread thread_gc_id;
-    
-    INIT_REAL_SYMS();
-    LOCK();
-    thread_gc_id = GC_lookup_thread(thread);
-    /* This is guaranteed to be the intended one, since the thread id	*/
-    /* cant have been recycled by pthreads.				*/
-    UNLOCK();
-    result = REAL_FUNC(pthread_join)(thread, retval);
-# if defined (GC_FREEBSD_THREADS)
-    /* On FreeBSD, the wrapped pthread_join() sometimes returns (what
-       appears to be) a spurious EINTR which caused the test and real code
-       to gratuitously fail.  Having looked at system pthread library source
-       code, I see how this return code may be generated.  In one path of
-       code, pthread_join() just returns the errno setting of the thread
-       being joined.  This does not match the POSIX specification or the
-       local man pages thus I have taken the liberty to catch this one
-       spurious return value properly conditionalized on GC_FREEBSD_THREADS. */
-    if (result == EINTR) result = 0;
-# endif
-    if (result == 0) {
-        LOCK();
-        /* Here the pthread thread id may have been recycled. */
-        GC_delete_gc_thread(thread_gc_id);
-        UNLOCK();
-    }
-    return result;
-}
-
-int
-WRAP_FUNC(pthread_detach)(pthread_t thread)
-{
-    int result;
-    GC_thread thread_gc_id;
-    
-    INIT_REAL_SYMS();
-    LOCK();
-    thread_gc_id = GC_lookup_thread(thread);
-    UNLOCK();
-    result = REAL_FUNC(pthread_detach)(thread);
-    if (result == 0) {
-      LOCK();
-      thread_gc_id -> flags |= DETACHED;
-      /* Here the pthread thread id may have been recycled. */
-      if (thread_gc_id -> flags & FINISHED) {
-        GC_delete_gc_thread(thread_gc_id);
-      }
-      UNLOCK();
-    }
-    return result;
-}
-
-GC_bool GC_in_thread_creation = FALSE;  /* Protected by allocation lock. */
-
-GC_thread GC_register_my_thread_inner(struct GC_stack_base *sb,
-				      pthread_t my_pthread)
-{
-    GC_thread me;
-
-    GC_in_thread_creation = TRUE; /* OK to collect from unknown thread. */
-    me = GC_new_thread(my_pthread);
-    GC_in_thread_creation = FALSE;
-#   ifdef GC_DARWIN_THREADS
-      me -> stop_info.mach_thread = mach_thread_self();
-#   else
-      me -> stop_info.stack_ptr = sb -> mem_base;
-#   endif
-    me -> stack_end = sb -> mem_base;
-#   ifdef IA64
-      me -> backing_store_end = sb -> reg_base;
-#   endif /* IA64 */
-    return me;
-}
-
-int GC_register_my_thread(struct GC_stack_base *sb)
-{
-    pthread_t my_pthread = pthread_self();
-    GC_thread me;
-
-    LOCK();
-    me = GC_lookup_thread(my_pthread);
-    if (0 == me) {
-        me = GC_register_my_thread_inner(sb, my_pthread);
-	me -> flags |= DETACHED;
-    	  /* Treat as detached, since we do not need to worry about	*/
-    	  /* pointer results.						*/
-	UNLOCK();
-        return GC_SUCCESS;
-    } else {
-	UNLOCK();
-	return GC_DUPLICATE;
-    }
-}
-
-void * GC_inner_start_routine(struct GC_stack_base *sb, void * arg)
-{
-    struct start_info * si = arg;
-    void * result;
-    GC_thread me;
-    pthread_t my_pthread;
-    void *(*start)(void *);
-    void *start_arg;
-
-    my_pthread = pthread_self();
-#   ifdef DEBUG_THREADS
-        GC_printf("Starting thread 0x%x\n", (unsigned)my_pthread);
-        GC_printf("pid = %ld\n", (long) getpid());
-        GC_printf("sp = 0x%lx\n", (long) &arg);
-#   endif
-    LOCK();
-    me = GC_register_my_thread_inner(sb, my_pthread);
-    me -> flags = si -> flags;
-    UNLOCK();
-    start = si -> start_routine;
-#   ifdef DEBUG_THREADS
-	GC_printf("start_routine = %p\n", (void *)start);
-#   endif
-    start_arg = si -> arg;
-    sem_post(&(si -> registered));	/* Last action on si.	*/
-    					/* OK to deallocate.	*/
-    pthread_cleanup_push(GC_thread_exit_proc, 0);
-#   if defined(THREAD_LOCAL_ALLOC)
- 	LOCK();
-        GC_init_thread_local(&(me->tlfs));
-	UNLOCK();
-#   endif
-    result = (*start)(start_arg);
-#   if DEBUG_THREADS
-        GC_printf("Finishing thread 0x%x\n", (unsigned)pthread_self());
-#   endif
-    me -> status = result;
-    pthread_cleanup_pop(1);
-    /* Cleanup acquires lock, ensuring that we can't exit		*/
-    /* while a collection that thinks we're alive is trying to stop     */
-    /* us.								*/
-    return(result);
-}
-
-void * GC_start_routine(void * arg)
-{
-#   ifdef INCLUDE_LINUX_THREAD_DESCR
-      struct GC_stack_base sb;
-
-#     ifdef REDIRECT_MALLOC
-      	/* GC_get_stack_base may call pthread_getattr_np, which can 	*/
-        /* unfortunately call realloc, which may allocate from an	*/
-        /* unregistered thread.  This is unpleasant, since it might	*/ 
-        /* force heap growth.						*/
-        GC_disable();
-#     endif
-      if (GC_get_stack_base(&sb) != GC_SUCCESS)
-	ABORT("Failed to get thread stack base.");
-#     ifdef REDIRECT_MALLOC
-        GC_enable();
-#     endif
-      return GC_inner_start_routine(&sb, arg);
-#   else
-      return GC_call_with_stack_base(GC_inner_start_routine, arg);
-#   endif
-}
-
-int
-WRAP_FUNC(pthread_create)(pthread_t *new_thread,
-		  const pthread_attr_t *attr,
-                  void *(*start_routine)(void *), void *arg)
-{
-    int result;
-    int detachstate;
-    word my_flags = 0;
-    struct start_info * si; 
-	/* This is otherwise saved only in an area mmapped by the thread */
-	/* library, which isn't visible to the collector.		 */
- 
-    /* We resist the temptation to muck with the stack size here,	*/
-    /* even if the default is unreasonably small.  That's the client's	*/
-    /* responsibility.							*/
-
-    INIT_REAL_SYMS();
-    LOCK();
-    si = (struct start_info *)GC_INTERNAL_MALLOC(sizeof(struct start_info),
-						 NORMAL);
-    UNLOCK();
-    if (!parallel_initialized) GC_init_parallel();
-    if (0 == si) return(ENOMEM);
-    sem_init(&(si -> registered), 0, 0);
-    si -> start_routine = start_routine;
-    si -> arg = arg;
-    LOCK();
-    if (!GC_thr_initialized) GC_thr_init();
-#   ifdef GC_ASSERTIONS
-      {
-	size_t stack_size = 0;
-	if (NULL != attr) {
-	   pthread_attr_getstacksize(attr, &stack_size);
-	}
-	if (0 == stack_size) {
-	   pthread_attr_t my_attr;
-	   pthread_attr_init(&my_attr);
-	   pthread_attr_getstacksize(&my_attr, &stack_size);
-	}
-	/* On Solaris 10, with default attr initialization, 	*/
-	/* stack_size remains 0.  Fudge it.			*/
-	if (0 == stack_size) {
-#	    ifndef SOLARIS
-	      WARN("Failed to get stack size for assertion checking\n", 0);
-#	    endif
-	    stack_size = 1000000;
-	}
-#       ifdef PARALLEL_MARK
-	  GC_ASSERT(stack_size >= (8*HBLKSIZE*sizeof(word)));
-#       else
-          /* FreeBSD-5.3/Alpha: default pthread stack is 64K, 	*/
-	  /* HBLKSIZE=8192, sizeof(word)=8			*/
-	  GC_ASSERT(stack_size >= 65536);
-#       endif
-	/* Our threads may need to do some work for the GC.	*/
-	/* Ridiculously small threads won't work, and they	*/
-	/* probably wouldn't work anyway.			*/
-      }
-#   endif
-    if (NULL == attr) {
-	detachstate = PTHREAD_CREATE_JOINABLE;
-    } else { 
-        pthread_attr_getdetachstate(attr, &detachstate);
-    }
-    if (PTHREAD_CREATE_DETACHED == detachstate) my_flags |= DETACHED;
-    si -> flags = my_flags;
-    UNLOCK();
-#   ifdef DEBUG_THREADS
-        GC_printf("About to start new thread from thread 0x%x\n",
-		  (unsigned)pthread_self());
-#   endif
-    GC_need_to_lock = TRUE;
-
-    result = REAL_FUNC(pthread_create)(new_thread, attr, GC_start_routine, si);
-
-#   ifdef DEBUG_THREADS
-        GC_printf("Started thread 0x%x\n", (unsigned)(*new_thread));
-#   endif
-    /* Wait until child has been added to the thread table.		*/
-    /* This also ensures that we hold onto si until the child is done	*/
-    /* with it.  Thus it doesn't matter whether it is otherwise		*/
-    /* visible to the collector.					*/
-    if (0 == result) {
-	while (0 != sem_wait(&(si -> registered))) {
-            if (EINTR != errno) ABORT("sem_wait failed");
-	}
-    }
-    sem_destroy(&(si -> registered));
-    LOCK();
-    GC_INTERNAL_FREE(si);
-    UNLOCK();
-
-    return(result);
-}
-
-/* Spend a few cycles in a way that can't introduce contention with	*/
-/* othre threads.							*/
-void GC_pause(void)
-{
-    int i;
-#   if !defined(__GNUC__) || defined(__INTEL_COMPILER)
-      volatile word dummy = 0;
-#   endif
-
-    for (i = 0; i < 10; ++i) { 
-#     if defined(__GNUC__) && !defined(__INTEL_COMPILER)
-        __asm__ __volatile__ (" " : : : "memory");
-#     else
-	/* Something that's unlikely to be optimized away. */
-	GC_noop(++dummy);
-#     endif
-    }
-}
-    
-#define SPIN_MAX 128	/* Maximum number of calls to GC_pause before	*/
-			/* give up.					*/
-
-volatile GC_bool GC_collecting = 0;
-			/* A hint that we're in the collector and       */
-                        /* holding the allocation lock for an           */
-                        /* extended period.                             */
-
-#if !defined(USE_SPIN_LOCK) || defined(PARALLEL_MARK)
-/* If we don't want to use the below spinlock implementation, either	*/
-/* because we don't have a GC_test_and_set implementation, or because 	*/
-/* we don't want to risk sleeping, we can still try spinning on 	*/
-/* pthread_mutex_trylock for a while.  This appears to be very		*/
-/* beneficial in many cases.						*/
-/* I suspect that under high contention this is nearly always better	*/
-/* than the spin lock.  But it's a bit slower on a uniprocessor.	*/
-/* Hence we still default to the spin lock.				*/
-/* This is also used to acquire the mark lock for the parallel		*/
-/* marker.								*/
-
-/* Here we use a strict exponential backoff scheme.  I don't know 	*/
-/* whether that's better or worse than the above.  We eventually 	*/
-/* yield by calling pthread_mutex_lock(); it never makes sense to	*/
-/* explicitly sleep.							*/
-
-#define LOCK_STATS
-#ifdef LOCK_STATS
-  unsigned long GC_spin_count = 0;
-  unsigned long GC_block_count = 0;
-  unsigned long GC_unlocked_count = 0;
-#endif
-
-void GC_generic_lock(pthread_mutex_t * lock)
-{
-#ifndef NO_PTHREAD_TRYLOCK
-    unsigned pause_length = 1;
-    unsigned i;
-    
-    if (0 == pthread_mutex_trylock(lock)) {
-#       ifdef LOCK_STATS
-	    ++GC_unlocked_count;
-#       endif
-	return;
-    }
-    for (; pause_length <= SPIN_MAX; pause_length <<= 1) {
-	for (i = 0; i < pause_length; ++i) {
-	    GC_pause();
-	}
-        switch(pthread_mutex_trylock(lock)) {
-	    case 0:
-#		ifdef LOCK_STATS
-		    ++GC_spin_count;
-#		endif
-		return;
-	    case EBUSY:
-		break;
-	    default:
-		ABORT("Unexpected error from pthread_mutex_trylock");
-        }
-    }
-#endif /* !NO_PTHREAD_TRYLOCK */
-#   ifdef LOCK_STATS
-	++GC_block_count;
-#   endif
-    pthread_mutex_lock(lock);
-}
-
-#endif /* !USE_SPIN_LOCK || PARALLEL_MARK */
-
-#if defined(USE_SPIN_LOCK)
-
-/* Reasonably fast spin locks.  Basically the same implementation */
-/* as STL alloc.h.  This isn't really the right way to do this.   */
-/* but until the POSIX scheduling mess gets straightened out ...  */
-
-volatile AO_TS_t GC_allocate_lock = 0;
-
-
-void GC_lock(void)
-{
-#   define low_spin_max 30  /* spin cycles if we suspect uniprocessor */
-#   define high_spin_max SPIN_MAX /* spin cycles for multiprocessor */
-    static unsigned spin_max = low_spin_max;
-    unsigned my_spin_max;
-    static unsigned last_spins = 0;
-    unsigned my_last_spins;
-    int i;
-
-    if (AO_test_and_set_acquire(&GC_allocate_lock) == AO_TS_CLEAR) {
-        return;
-    }
-    my_spin_max = spin_max;
-    my_last_spins = last_spins;
-    for (i = 0; i < my_spin_max; i++) {
-        if (GC_collecting || GC_nprocs == 1) goto yield;
-        if (i < my_last_spins/2) {
-            GC_pause();
-            continue;
-        }
-        if (AO_test_and_set_acquire(&GC_allocate_lock) == AO_TS_CLEAR) {
-	    /*
-             * got it!
-             * Spinning worked.  Thus we're probably not being scheduled
-             * against the other process with which we were contending.
-             * Thus it makes sense to spin longer the next time.
-	     */
-            last_spins = i;
-            spin_max = high_spin_max;
-            return;
-        }
-    }
-    /* We are probably being scheduled against the other process.  Sleep. */
-    spin_max = low_spin_max;
-yield:
-    for (i = 0;; ++i) {
-        if (AO_test_and_set_acquire(&GC_allocate_lock) == AO_TS_CLEAR) {
-            return;
-        }
-#       define SLEEP_THRESHOLD 12
-		/* Under Linux very short sleeps tend to wait until	*/
-		/* the current time quantum expires.  On old Linux	*/
-		/* kernels nanosleep(<= 2ms) just spins under Linux.    */
-		/* (Under 2.4, this happens only for real-time		*/
-		/* processes.)  We want to minimize both behaviors	*/
-		/* here.						*/
-        if (i < SLEEP_THRESHOLD) {
-            sched_yield();
-	} else {
-	    struct timespec ts;
-	
-	    if (i > 24) i = 24;
-			/* Don't wait for more than about 15msecs, even	*/
-			/* under extreme contention.			*/
-	    ts.tv_sec = 0;
-	    ts.tv_nsec = 1 << i;
-	    nanosleep(&ts, 0);
-	}
-    }
-}
-
-#else  /* !USE_SPINLOCK */
-void GC_lock(void)
-{
-#ifndef NO_PTHREAD_TRYLOCK
-    if (1 == GC_nprocs || GC_collecting) {
-	pthread_mutex_lock(&GC_allocate_ml);
-    } else {
-        GC_generic_lock(&GC_allocate_ml);
-    }
-#else  /* !NO_PTHREAD_TRYLOCK */
-    pthread_mutex_lock(&GC_allocate_ml);
-#endif /* !NO_PTHREAD_TRYLOCK */
-}
-
-#endif /* !USE_SPINLOCK */
-
-#if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
-
-#ifdef GC_ASSERTIONS
-  unsigned long GC_mark_lock_holder = NO_THREAD;
-#endif
-
-#if 0
-  /* Ugly workaround for a linux threads bug in the final versions      */
-  /* of glibc2.1.  Pthread_mutex_trylock sets the mutex owner           */
-  /* field even when it fails to acquire the mutex.  This causes        */
-  /* pthread_cond_wait to die.  Remove for glibc2.2.                    */
-  /* According to the man page, we should use                           */
-  /* PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP, but that isn't actually   */
-  /* defined.                                                           */
-  static pthread_mutex_t mark_mutex =
-        {0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, {0, 0}};
-#else
-  static pthread_mutex_t mark_mutex = PTHREAD_MUTEX_INITIALIZER;
-#endif
-
-static pthread_cond_t builder_cv = PTHREAD_COND_INITIALIZER;
-
-void GC_acquire_mark_lock(void)
-{
-/*
-    if (pthread_mutex_lock(&mark_mutex) != 0) {
-	ABORT("pthread_mutex_lock failed");
-    }
-*/
-    GC_generic_lock(&mark_mutex);
-#   ifdef GC_ASSERTIONS
-	GC_mark_lock_holder = NUMERIC_THREAD_ID(pthread_self());
-#   endif
-}
-
-void GC_release_mark_lock(void)
-{
-    GC_ASSERT(GC_mark_lock_holder == NUMERIC_THREAD_ID(pthread_self()));
-#   ifdef GC_ASSERTIONS
-	GC_mark_lock_holder = NO_THREAD;
-#   endif
-    if (pthread_mutex_unlock(&mark_mutex) != 0) {
-	ABORT("pthread_mutex_unlock failed");
-    }
-}
-
-/* Collector must wait for a freelist builders for 2 reasons:		*/
-/* 1) Mark bits may still be getting examined without lock.		*/
-/* 2) Partial free lists referenced only by locals may not be scanned 	*/
-/*    correctly, e.g. if they contain "pointer-free" objects, since the	*/
-/*    free-list link may be ignored.					*/
-void GC_wait_builder(void)
-{
-    GC_ASSERT(GC_mark_lock_holder == NUMERIC_THREAD_ID(pthread_self()));
-#   ifdef GC_ASSERTIONS
-	GC_mark_lock_holder = NO_THREAD;
-#   endif
-    if (pthread_cond_wait(&builder_cv, &mark_mutex) != 0) {
-	ABORT("pthread_cond_wait failed");
-    }
-    GC_ASSERT(GC_mark_lock_holder == NO_THREAD);
-#   ifdef GC_ASSERTIONS
-	GC_mark_lock_holder = NUMERIC_THREAD_ID(pthread_self());
-#   endif
-}
-
-void GC_wait_for_reclaim(void)
-{
-    GC_acquire_mark_lock();
-    while (GC_fl_builder_count > 0) {
-	GC_wait_builder();
-    }
-    GC_release_mark_lock();
-}
-
-void GC_notify_all_builder(void)
-{
-    GC_ASSERT(GC_mark_lock_holder == NUMERIC_THREAD_ID(pthread_self()));
-    if (pthread_cond_broadcast(&builder_cv) != 0) {
-	ABORT("pthread_cond_broadcast failed");
-    }
-}
-
-#endif /* PARALLEL_MARK || THREAD_LOCAL_ALLOC */
-
-#ifdef PARALLEL_MARK
-
-static pthread_cond_t mark_cv = PTHREAD_COND_INITIALIZER;
-
-void GC_wait_marker(void)
-{
-    GC_ASSERT(GC_mark_lock_holder == NUMERIC_THREAD_ID(pthread_self()));
-#   ifdef GC_ASSERTIONS
-	GC_mark_lock_holder = NO_THREAD;
-#   endif
-    if (pthread_cond_wait(&mark_cv, &mark_mutex) != 0) {
-	ABORT("pthread_cond_wait failed");
-    }
-    GC_ASSERT(GC_mark_lock_holder == NO_THREAD);
-#   ifdef GC_ASSERTIONS
-	GC_mark_lock_holder = NUMERIC_THREAD_ID(pthread_self());
-#   endif
-}
-
-void GC_notify_all_marker(void)
-{
-    if (pthread_cond_broadcast(&mark_cv) != 0) {
-	ABORT("pthread_cond_broadcast failed");
-    }
-}
-
-#endif /* PARALLEL_MARK */
-
-# endif /* GC_LINUX_THREADS and friends */
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/ptr_chck.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/ptr_chck.c
deleted file mode 100755
index 92a0047..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/ptr_chck.c
+++ /dev/null
@@ -1,283 +0,0 @@
-/* 
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/*
- * These are checking routines calls to which could be inserted by a
- * preprocessor to validate C pointer arithmetic.
- */
-
-#include "private/gc_pmark.h"
-
-void GC_default_same_obj_print_proc(void * p, void * q)
-{
-    GC_err_printf("%p and %p are not in the same object\n", p, q);
-    ABORT("GC_same_obj test failed");
-}
-
-void (*GC_same_obj_print_proc) (void *, void *)
-		= GC_default_same_obj_print_proc;
-
-/* Check that p and q point to the same object.  Call		*/
-/* *GC_same_obj_print_proc if they don't.			*/
-/* Returns the first argument.  (Return value may be hard 	*/
-/* to use,due to typing issues.  But if we had a suitable 	*/
-/* preprocessor ...)						*/
-/* Succeeds if neither p nor q points to the heap.		*/
-/* We assume this is performance critical.  (It shouldn't	*/
-/* be called by production code, but this can easily make	*/
-/* debugging intolerably slow.)					*/
-void * GC_same_obj(void *p, void *q)
-{
-    struct hblk *h;
-    hdr *hhdr;
-    ptr_t base, limit;
-    word sz;
-    
-    if (!GC_is_initialized) GC_init();
-    hhdr = HDR((word)p);
-    if (hhdr == 0) {
-   	if (divHBLKSZ((word)p) != divHBLKSZ((word)q)
-   	    && HDR((word)q) != 0) {
-   	    goto fail;
-   	}
-   	return(p);
-    }
-    /* If it's a pointer to the middle of a large object, move it	*/
-    /* to the beginning.						*/
-    if (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
-    	h = HBLKPTR(p) - (word)hhdr;
-    	hhdr = HDR(h);
-	while (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
-	   h = FORWARDED_ADDR(h, hhdr);
-	   hhdr = HDR(h);
-	}
-	limit = (ptr_t)h + hhdr -> hb_sz;
-	if ((ptr_t)p >= limit || (ptr_t)q >= limit || (ptr_t)q < (ptr_t)h ) {
-	    goto fail;
-	}
-	return(p);
-    }
-    sz = hhdr -> hb_sz;
-    if (sz > MAXOBJBYTES) {
-      base = (ptr_t)HBLKPTR(p);
-      limit = base + sz;
-      if ((ptr_t)p >= limit) {
-        goto fail;
-      }
-    } else {
-      size_t offset;
-      size_t pdispl = HBLKDISPL(p);
-      
-      offset = pdispl % sz;
-      if (HBLKPTR(p) != HBLKPTR(q)) goto fail;
-	 	/* W/o this check, we might miss an error if 	*/
-	 	/* q points to the first object on a page, and	*/
-	 	/* points just before the page.			*/
-      base = (ptr_t)p - offset;
-      limit = base + sz;
-    }
-    /* [base, limit) delimits the object containing p, if any.	*/
-    /* If p is not inside a valid object, then either q is	*/
-    /* also outside any valid object, or it is outside 		*/
-    /* [base, limit).						*/
-    if ((ptr_t)q >= limit || (ptr_t)q < base) {
-    	goto fail;
-    }
-    return(p);
-fail:
-    (*GC_same_obj_print_proc)((ptr_t)p, (ptr_t)q);
-    return(p);
-}
-
-void GC_default_is_valid_displacement_print_proc (void *p)
-{
-    GC_err_printf("%p does not point to valid object displacement\n", p);
-    ABORT("GC_is_valid_displacement test failed");
-}
-
-void (*GC_is_valid_displacement_print_proc)(void *) = 
-	GC_default_is_valid_displacement_print_proc;
-
-/* Check that if p is a pointer to a heap page, then it points to	*/
-/* a valid displacement within a heap object.				*/
-/* Uninteresting with GC_all_interior_pointers.				*/
-/* Always returns its argument.						*/
-/* Note that we don't lock, since nothing relevant about the header	*/
-/* should change while we have a valid object pointer to the block.	*/
-void * GC_is_valid_displacement(void *p)
-{
-    hdr *hhdr;
-    word pdispl;
-    word offset;
-    struct hblk *h;
-    word sz;
-    
-    if (!GC_is_initialized) GC_init();
-    hhdr = HDR((word)p);
-    if (hhdr == 0) return(p);
-    h = HBLKPTR(p);
-    if (GC_all_interior_pointers) {
-	while (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
-	   h = FORWARDED_ADDR(h, hhdr);
-	   hhdr = HDR(h);
-	}
-    }
-    if (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
-    	goto fail;
-    }
-    sz = hhdr -> hb_sz;
-    pdispl = HBLKDISPL(p);
-    offset = pdispl % sz;
-    if ((sz > MAXOBJBYTES && (ptr_t)p >= (ptr_t)h + sz)
-	|| !GC_valid_offsets[offset]
-	|| (ptr_t)p - offset + sz > (ptr_t)(h + 1)) {
-    	goto fail;
-    }
-    return(p);
-fail:
-    (*GC_is_valid_displacement_print_proc)((ptr_t)p);
-    return(p);
-}
-
-void GC_default_is_visible_print_proc(void * p)
-{
-    GC_err_printf("%p is not a GC visible pointer location\n", p);
-    ABORT("GC_is_visible test failed");
-}
-
-void (*GC_is_visible_print_proc)(void * p) = GC_default_is_visible_print_proc;
-
-/* Could p be a stack address? */
-GC_bool GC_on_stack(ptr_t p)
-{
-#   ifdef THREADS
-	return(TRUE);
-#   else
-	int dummy;
-#   	ifdef STACK_GROWS_DOWN
-	    if ((ptr_t)p >= (ptr_t)(&dummy) && (ptr_t)p < GC_stackbottom ) {
-	    	return(TRUE);
-	    }
-#	else
-	    if ((ptr_t)p <= (ptr_t)(&dummy) && (ptr_t)p > GC_stackbottom ) {
-	    	return(TRUE);
-	    }
-#	endif
-	return(FALSE);
-#   endif
-}
-
-/* Check that p is visible						*/
-/* to the collector as a possibly pointer containing location.		*/
-/* If it isn't invoke *GC_is_visible_print_proc.			*/
-/* Returns the argument in all cases.  May erroneously succeed		*/
-/* in hard cases.  (This is intended for debugging use with		*/
-/* untyped allocations.  The idea is that it should be possible, though	*/
-/* slow, to add such a call to all indirect pointer stores.)		*/
-/* Currently useless for multithreaded worlds.				*/
-void * GC_is_visible(void *p)
-{
-    hdr *hhdr;
-    
-    if ((word)p & (ALIGNMENT - 1)) goto fail;
-    if (!GC_is_initialized) GC_init();
-#   ifdef THREADS
-	hhdr = HDR((word)p);
-        if (hhdr != 0 && GC_base(p) == 0) {
-            goto fail;
-        } else {
-            /* May be inside thread stack.  We can't do much. */
-            return(p);
-        }
-#   else
-	/* Check stack first: */
-	  if (GC_on_stack(p)) return(p);
-	hhdr = HDR((word)p);
-    	if (hhdr == 0) {
-    	    GC_bool result;
-    	    
-    	    if (GC_is_static_root(p)) return(p);
-    	    /* Else do it again correctly:	*/
-#           if (defined(DYNAMIC_LOADING) || defined(MSWIN32) || \
-		defined(MSWINCE) || defined(PCR))
-    	        GC_register_dynamic_libraries();
-    	        result = GC_is_static_root(p);
-    	        if (result) return(p);
-#	    endif
-    	    goto fail;
-    	} else {
-    	    /* p points to the heap. */
-    	    word descr;
-    	    ptr_t base = GC_base(p);	/* Should be manually inlined? */
-    	    
-    	    if (base == 0) goto fail;
-    	    if (HBLKPTR(base) != HBLKPTR(p)) hhdr = HDR((word)p);
-    	    descr = hhdr -> hb_descr;
-    retry:
-    	    switch(descr & GC_DS_TAGS) {
-    	        case GC_DS_LENGTH:
-    	            if ((word)((ptr_t)p - (ptr_t)base) > (word)descr) goto fail;
-    	            break;
-    	        case GC_DS_BITMAP:
-    	            if ((ptr_t)p - (ptr_t)base
-    	                 >= WORDS_TO_BYTES(BITMAP_BITS)
-    	                 || ((word)p & (sizeof(word) - 1))) goto fail;
-    	            if (!((1 << (WORDSZ - ((ptr_t)p - (ptr_t)base) - 1))
-    	            	  & descr)) goto fail;
-    	            break;
-    	        case GC_DS_PROC:
-    	            /* We could try to decipher this partially. 	*/
-    	            /* For now we just punt.				*/
-    	            break;
-    	        case GC_DS_PER_OBJECT:
-		    if ((signed_word)descr >= 0) {
-    	              descr = *(word *)((ptr_t)base + (descr & ~GC_DS_TAGS));
-		    } else {
-		      ptr_t type_descr = *(ptr_t *)base;
-		      descr = *(word *)(type_descr
-			      - (descr - (GC_DS_PER_OBJECT
-					  - GC_INDIR_PER_OBJ_BIAS)));
-		    }
-    	            goto retry;
-    	    }
-    	    return(p);
-    	}
-#   endif
-fail:
-    (*GC_is_visible_print_proc)((ptr_t)p);
-    return(p);
-}
-
-
-void * GC_pre_incr (void **p, size_t how_much)
-{
-    void * initial = *p;
-    void * result = GC_same_obj((void *)((word)initial + how_much), initial);
-    
-    if (!GC_all_interior_pointers) {
-    	(void) GC_is_valid_displacement(result);
-    }
-    return (*p = result);
-}
-
-void * GC_post_incr (void **p, size_t how_much)
-{
-    void * initial = *p;
-    void * result = GC_same_obj((void *)((word)initial + how_much), initial);
- 
-    if (!GC_all_interior_pointers) {
-    	(void) GC_is_valid_displacement(result);
-    }
-    *p = result;
-    return(initial);
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/real_malloc.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/real_malloc.c
deleted file mode 100755
index c2cd32e..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/real_malloc.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, May 19, 1994 2:04 pm PDT */
-
-
-# ifdef PCR
-/*
- * This definition should go in its own file that includes no other
- * header files.  Otherwise, we risk not getting the underlying system
- * malloc.
- */
-# define PCR_NO_RENAME
-# include <stdlib.h>
-
-void * real_malloc(size_t size)
-{
-    return(malloc(size));
-}
-#endif /* PCR */
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/reclaim.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/reclaim.c
deleted file mode 100755
index e263dfb..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/reclaim.c
+++ /dev/null
@@ -1,608 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1996 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 1999-2004 Hewlett-Packard Development Company, L.P.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-#include <stdio.h>
-#include "private/gc_priv.h"
-
-signed_word GC_bytes_found = 0;
-			/* Number of bytes of memory reclaimed     */
-
-#if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
-  word GC_fl_builder_count = 0;
-	/* Number of threads currently building free lists without 	*/
-	/* holding GC lock.  It is not safe to collect if this is 	*/
-	/* nonzero.							*/
-#endif /* PARALLEL_MARK */
-
-/* We defer printing of leaked objects until we're done with the GC	*/
-/* cycle, since the routine for printing objects needs to run outside	*/
-/* the collector, e.g. without the allocation lock.			*/
-#define MAX_LEAKED 40
-ptr_t GC_leaked[MAX_LEAKED];
-unsigned GC_n_leaked = 0;
-
-GC_bool GC_have_errors = FALSE;
-
-void GC_add_leaked(ptr_t leaked)
-{
-    if (GC_n_leaked < MAX_LEAKED) {
-      GC_have_errors = TRUE;
-      GC_leaked[GC_n_leaked++] = leaked;
-      /* Make sure it's not reclaimed this cycle */
-        GC_set_mark_bit(leaked);
-    }
-}
-
-static GC_bool printing_errors = FALSE;
-/* Print all objects on the list after printing any smashed objs. 	*/
-/* Clear both lists.							*/
-void GC_print_all_errors ()
-{
-    unsigned i;
-
-    LOCK();
-    if (printing_errors) {
-	UNLOCK();
-	return;
-    }
-    printing_errors = TRUE;
-    UNLOCK();
-    if (GC_debugging_started) GC_print_all_smashed();
-    for (i = 0; i < GC_n_leaked; ++i) {
-	ptr_t p = GC_leaked[i];
-	if (HDR(p) -> hb_obj_kind == PTRFREE) {
-	    GC_err_printf("Leaked atomic object at ");
-	} else {
-	    GC_err_printf("Leaked composite object at ");
-	}
-	GC_print_heap_obj(p);
-	GC_err_printf("\n");
-	GC_free(p);
-	GC_leaked[i] = 0;
-    }
-    GC_n_leaked = 0;
-    printing_errors = FALSE;
-}
-
-
-/*
- * reclaim phase
- *
- */
-
-
-/*
- * Test whether a block is completely empty, i.e. contains no marked
- * objects.  This does not require the block to be in physical
- * memory.
- */
- 
-GC_bool GC_block_empty(hdr *hhdr)
-{
-    return (hhdr -> hb_n_marks == 0);
-}
-
-GC_bool GC_block_nearly_full(hdr *hhdr)
-{
-    return (hhdr -> hb_n_marks > 7 * HBLK_OBJS(hhdr -> hb_sz)/8);
-}
-
-/* FIXME: This should perhaps again be specialized for USE_MARK_BYTES	*/
-/* and USE_MARK_BITS cases.						*/
-
-/*
- * Restore unmarked small objects in h of size sz to the object
- * free list.  Returns the new list.
- * Clears unmarked objects.  Sz is in bytes.
- */
-/*ARGSUSED*/
-ptr_t GC_reclaim_clear(struct hblk *hbp, hdr *hhdr, size_t sz,
-		       ptr_t list, signed_word *count)
-{
-    word bit_no = 0;
-    word *p, *q, *plim;
-    signed_word n_bytes_found = 0;
-    
-    GC_ASSERT(hhdr == GC_find_header((ptr_t)hbp));
-    GC_ASSERT(sz == hhdr -> hb_sz);
-    GC_ASSERT((sz & (BYTES_PER_WORD-1)) == 0);
-    p = (word *)(hbp->hb_body);
-    plim = (word *)(hbp->hb_body + HBLKSIZE - sz);
-
-    /* go through all words in block */
-	while( p <= plim )  {
-	    if( mark_bit_from_hdr(hhdr, bit_no) ) {
-	        p = (word *)((ptr_t)p + sz);
-	    } else {
-		n_bytes_found += sz;
-		/* object is available - put on list */
-		    obj_link(p) = list;
-		    list = ((ptr_t)p);
-		/* Clear object, advance p to next object in the process */
-	            q = (word *)((ptr_t)p + sz);
-#		    ifdef USE_MARK_BYTES
-		      GC_ASSERT(!(sz & 1)
-				&& !((word)p & (2 * sizeof(word) - 1)));
-		      p[1] = 0;
-                      p += 2;
-                      while (p < q) {
-			CLEAR_DOUBLE(p);
-			p += 2;
-		      }
-#		    else
-                      p++; /* Skip link field */
-                      while (p < q) {
-			*p++ = 0;
-		      }
-#		    endif
-	    }
-	    bit_no += MARK_BIT_OFFSET(sz);
-	}
-    *count += n_bytes_found;
-    return(list);
-}
-
-/* The same thing, but don't clear objects: */
-/*ARGSUSED*/
-ptr_t GC_reclaim_uninit(struct hblk *hbp, hdr *hhdr, size_t sz,
-			ptr_t list, signed_word *count)
-{
-    word bit_no = 0;
-    word *p, *plim;
-    signed_word n_bytes_found = 0;
-    
-    GC_ASSERT(sz == hhdr -> hb_sz);
-    p = (word *)(hbp->hb_body);
-    plim = (word *)((ptr_t)hbp + HBLKSIZE - sz);
-
-    /* go through all words in block */
-	while( p <= plim )  {
-	    if( !mark_bit_from_hdr(hhdr, bit_no) ) {
-		n_bytes_found += sz;
-		/* object is available - put on list */
-		    obj_link(p) = list;
-		    list = ((ptr_t)p);
-	    }
-	    p = (word *)((ptr_t)p + sz);
-	    bit_no += MARK_BIT_OFFSET(sz);
-	}
-    *count += n_bytes_found;
-    return(list);
-}
-
-/* Don't really reclaim objects, just check for unmarked ones: */
-/*ARGSUSED*/
-void GC_reclaim_check(struct hblk *hbp, hdr *hhdr, word sz)
-{
-    word bit_no = 0;
-    ptr_t p, plim;
-    
-    GC_ASSERT(sz == hhdr -> hb_sz);
-    p = hbp->hb_body;
-    plim = p + HBLKSIZE - sz;
-
-    /* go through all words in block */
-	while( p <= plim )  {
-	    if( !mark_bit_from_hdr(hhdr, bit_no) ) {
-		GC_add_leaked(p);
-	    }
-	    p += sz;
-	    bit_no += MARK_BIT_OFFSET(sz);
-	}
-}
-
-
-/*
- * Generic procedure to rebuild a free list in hbp.
- * Also called directly from GC_malloc_many.
- * Sz is now in bytes.
- */
-ptr_t GC_reclaim_generic(struct hblk * hbp, hdr *hhdr, size_t sz,
-			 GC_bool init, ptr_t list, signed_word *count)
-{
-    ptr_t result = list;
-
-    GC_ASSERT(GC_find_header((ptr_t)hbp) == hhdr);
-    GC_remove_protection(hbp, 1, (hhdr)->hb_descr == 0 /* Pointer-free? */);
-    if (init) {
-      result = GC_reclaim_clear(hbp, hhdr, sz, list, count);
-    } else {
-      GC_ASSERT((hhdr)->hb_descr == 0 /* Pointer-free block */);
-      result = GC_reclaim_uninit(hbp, hhdr, sz, list, count);
-    } 
-    if (IS_UNCOLLECTABLE(hhdr -> hb_obj_kind)) GC_set_hdr_marks(hhdr);
-    return result;
-}
-
-/*
- * Restore unmarked small objects in the block pointed to by hbp
- * to the appropriate object free list.
- * If entirely empty blocks are to be completely deallocated, then
- * caller should perform that check.
- */
-void GC_reclaim_small_nonempty_block(struct hblk *hbp,
-				     int report_if_found, signed_word *count)
-{
-    hdr *hhdr = HDR(hbp);
-    size_t sz = hhdr -> hb_sz;
-    int kind = hhdr -> hb_obj_kind;
-    struct obj_kind * ok = &GC_obj_kinds[kind];
-    void **flh = &(ok -> ok_freelist[BYTES_TO_GRANULES(sz)]);
-    
-    hhdr -> hb_last_reclaimed = (unsigned short) GC_gc_no;
-
-    if (report_if_found) {
-	GC_reclaim_check(hbp, hhdr, sz);
-    } else {
-        *flh = GC_reclaim_generic(hbp, hhdr, sz,
-				  (ok -> ok_init || GC_debugging_started),
-	 			  *flh, &GC_bytes_found);
-    }
-}
-
-/*
- * Restore an unmarked large object or an entirely empty blocks of small objects
- * to the heap block free list.
- * Otherwise enqueue the block for later processing
- * by GC_reclaim_small_nonempty_block.
- * If report_if_found is TRUE, then process any block immediately, and
- * simply report free objects; do not actually reclaim them.
- */
-void GC_reclaim_block(struct hblk *hbp, word report_if_found)
-{
-    hdr * hhdr = HDR(hbp);
-    size_t sz = hhdr -> hb_sz;	/* size of objects in current block	*/
-    struct obj_kind * ok = &GC_obj_kinds[hhdr -> hb_obj_kind];
-    struct hblk ** rlh;
-
-    if( sz > MAXOBJBYTES ) {  /* 1 big object */
-        if( !mark_bit_from_hdr(hhdr, 0) ) {
-	    if (report_if_found) {
-	      GC_add_leaked((ptr_t)hbp);
-	    } else {
-	      size_t blocks = OBJ_SZ_TO_BLOCKS(sz);
-	      if (blocks > 1) {
-	        GC_large_allocd_bytes -= blocks * HBLKSIZE;
-	      }
-	      GC_bytes_found += sz;
-	      GC_freehblk(hbp);
-	    }
-	} else {
-	    if (hhdr -> hb_descr != 0) {
-	      GC_composite_in_use += sz;
-	    } else {
-	      GC_atomic_in_use += sz;
-	    }
-	}
-    } else {
-        GC_bool empty = GC_block_empty(hhdr);
-#	ifdef PARALLEL_MARK
-	  /* Count can be low or one too high because we sometimes	*/
-	  /* have to ignore decrements.  Objects can also potentially   */
-	  /* be repeatedly marked by each marker.			*/
-	  /* Here we assume two markers, but this is extremely		*/
-	  /* unlikely to fail spuriously with more.  And if it does, it	*/
-	  /* should be looked at.					*/
-	  GC_ASSERT(hhdr -> hb_n_marks <= 2 * (HBLKSIZE/sz + 1) + 16);
-#	else
-	  GC_ASSERT(sz * hhdr -> hb_n_marks <= HBLKSIZE);
-#	endif
-	if (hhdr -> hb_descr != 0) {
-	  GC_composite_in_use += sz * hhdr -> hb_n_marks;
-	} else {
-	  GC_atomic_in_use += sz * hhdr -> hb_n_marks;
-	}
-        if (report_if_found) {
-    	  GC_reclaim_small_nonempty_block(hbp, (int)report_if_found,
-					  &GC_bytes_found);
-        } else if (empty) {
-          GC_bytes_found += HBLKSIZE;
-          GC_freehblk(hbp);
-        } else if (TRUE != GC_block_nearly_full(hhdr)){
-          /* group of smaller objects, enqueue the real work */
-          rlh = &(ok -> ok_reclaim_list[BYTES_TO_GRANULES(sz)]);
-          hhdr -> hb_next = *rlh;
-          *rlh = hbp;
-        } /* else not worth salvaging. */
-	/* We used to do the nearly_full check later, but we 	*/
-	/* already have the right cache context here.  Also	*/
-	/* doing it here avoids some silly lock contention in	*/
-	/* GC_malloc_many.					*/
-    }
-}
-
-#if !defined(NO_DEBUGGING)
-/* Routines to gather and print heap block info 	*/
-/* intended for debugging.  Otherwise should be called	*/
-/* with lock.						*/
-
-struct Print_stats
-{
-	size_t number_of_blocks;
-	size_t total_bytes;
-};
-
-#ifdef USE_MARK_BYTES
-
-/* Return the number of set mark bits in the given header	*/
-int GC_n_set_marks(hdr *hhdr)
-{
-    int result = 0;
-    int i;
-    size_t sz = hhdr -> hb_sz;
-    int offset = MARK_BIT_OFFSET(sz);
-    int limit = FINAL_MARK_BIT(sz);
-
-    for (i = 0; i < limit; i += offset) {
-        result += hhdr -> hb_marks[i];
-    }
-    GC_ASSERT(hhdr -> hb_marks[limit]);
-    return(result);
-}
-
-#else
-
-/* Number of set bits in a word.  Not performance critical.	*/
-static int set_bits(word n)
-{
-    word m = n;
-    int result = 0;
-    
-    while (m > 0) {
-    	if (m & 1) result++;
-    	m >>= 1;
-    }
-    return(result);
-}
-
-/* Return the number of set mark bits in the given header	*/
-int GC_n_set_marks(hdr *hhdr)
-{
-    int result = 0;
-    int i;
-    int n_mark_words;
-#   ifdef MARK_BIT_PER_OBJ
-      int n_objs = HBLK_OBJS(hhdr -> hb_sz);
-    
-      if (0 == n_objs) n_objs = 1;
-      n_mark_words = divWORDSZ(n_objs + WORDSZ - 1);
-#   else /* MARK_BIT_PER_GRANULE */
-      n_mark_words = MARK_BITS_SZ;
-#   endif
-    for (i = 0; i < n_mark_words - 1; i++) {
-        result += set_bits(hhdr -> hb_marks[i]);
-    }
-#   ifdef MARK_BIT_PER_OBJ
-      result += set_bits((hhdr -> hb_marks[n_mark_words - 1])
-		         << (n_mark_words * WORDSZ - n_objs));
-#   else
-      result += set_bits(hhdr -> hb_marks[n_mark_words - 1]);
-#   endif
-    return(result - 1);
-}
-
-#endif /* !USE_MARK_BYTES  */
-
-/*ARGSUSED*/
-void GC_print_block_descr(struct hblk *h, word /* struct PrintStats */ raw_ps)
-{
-    hdr * hhdr = HDR(h);
-    size_t bytes = hhdr -> hb_sz;
-    struct Print_stats *ps;
-    unsigned n_marks = GC_n_set_marks(hhdr);
-    
-    if (hhdr -> hb_n_marks != n_marks) {
-      GC_printf("(%u:%u,%u!=%u)", hhdr -> hb_obj_kind,
-    			          bytes,
-    			          hhdr -> hb_n_marks, n_marks);
-    } else {
-      GC_printf("(%u:%u,%u)", hhdr -> hb_obj_kind,
-    			      bytes, n_marks);
-    }
-    bytes += HBLKSIZE-1;
-    bytes &= ~(HBLKSIZE-1);
-
-    ps = (struct Print_stats *)raw_ps;
-    ps->total_bytes += bytes;
-    ps->number_of_blocks++;
-}
-
-void GC_print_block_list()
-{
-    struct Print_stats pstats;
-
-    GC_printf("(kind(0=ptrfree,1=normal,2=unc.):size_in_bytes, #_marks_set)\n");
-    pstats.number_of_blocks = 0;
-    pstats.total_bytes = 0;
-    GC_apply_to_all_blocks(GC_print_block_descr, (word)&pstats);
-    GC_printf("\nblocks = %lu, bytes = %lu\n",
-    	      (unsigned long)pstats.number_of_blocks,
-    	      (unsigned long)pstats.total_bytes);
-}
-
-/* Currently for debugger use only: */
-void GC_print_free_list(int kind, size_t sz_in_granules)
-{
-    struct obj_kind * ok = &GC_obj_kinds[kind];
-    ptr_t flh = ok -> ok_freelist[sz_in_granules];
-    struct hblk *lastBlock = 0;
-    int n = 0;
-
-    while (flh){
-        struct hblk *block = HBLKPTR(flh);
-        if (block != lastBlock){
-            GC_printf("\nIn heap block at 0x%x:\n\t", block);
-            lastBlock = block;
-        }
-        GC_printf("%d: 0x%x;", ++n, flh);
-        flh = obj_link(flh);
-    }
-}
-
-#endif /* NO_DEBUGGING */
-
-/*
- * Clear all obj_link pointers in the list of free objects *flp.
- * Clear *flp.
- * This must be done before dropping a list of free gcj-style objects,
- * since may otherwise end up with dangling "descriptor" pointers.
- * It may help for other pointer-containing objects.
- */
-void GC_clear_fl_links(void **flp)
-{
-    void *next = *flp;
-
-    while (0 != next) {
-       *flp = 0;
-       flp = &(obj_link(next));
-       next = *flp;
-    }
-}
-
-/*
- * Perform GC_reclaim_block on the entire heap, after first clearing
- * small object free lists (if we are not just looking for leaks).
- */
-void GC_start_reclaim(GC_bool report_if_found)
-{
-    unsigned kind;
-    
-#   if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
-      GC_ASSERT(0 == GC_fl_builder_count);
-#   endif
-    /* Reset in use counters.  GC_reclaim_block recomputes them. */
-      GC_composite_in_use = 0;
-      GC_atomic_in_use = 0;
-    /* Clear reclaim- and free-lists */
-      for (kind = 0; kind < GC_n_kinds; kind++) {
-        void **fop;
-        void **lim;
-        struct hblk ** rlp;
-        struct hblk ** rlim;
-        struct hblk ** rlist = GC_obj_kinds[kind].ok_reclaim_list;
-	GC_bool should_clobber = (GC_obj_kinds[kind].ok_descriptor != 0);
-        
-        if (rlist == 0) continue;	/* This kind not used.	*/
-        if (!report_if_found) {
-            lim = &(GC_obj_kinds[kind].ok_freelist[MAXOBJGRANULES+1]);
-	    for( fop = GC_obj_kinds[kind].ok_freelist; fop < lim; fop++ ) {
-	      if (*fop != 0) {
-		if (should_clobber) {
-		  GC_clear_fl_links(fop);
-		} else {
-	          *fop = 0;
-		}
-	      }
-	    }
-	} /* otherwise free list objects are marked, 	*/
-	  /* and its safe to leave them			*/
-	rlim = rlist + MAXOBJGRANULES+1;
-	for( rlp = rlist; rlp < rlim; rlp++ ) {
-	    *rlp = 0;
-	}
-      }
-    
-
-  /* Go through all heap blocks (in hblklist) and reclaim unmarked objects */
-  /* or enqueue the block for later processing.				   */
-    GC_apply_to_all_blocks(GC_reclaim_block, (word)report_if_found);
-
-# ifdef EAGER_SWEEP
-    /* This is a very stupid thing to do.  We make it possible anyway,	*/
-    /* so that you can convince yourself that it really is very stupid.	*/
-    GC_reclaim_all((GC_stop_func)0, FALSE);
-# endif
-# if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
-    GC_ASSERT(0 == GC_fl_builder_count);
-# endif
-    
-}
-
-/*
- * Sweep blocks of the indicated object size and kind until either the
- * appropriate free list is nonempty, or there are no more blocks to
- * sweep.
- */
-void GC_continue_reclaim(size_t sz /* granules */, int kind)
-{
-    hdr * hhdr;
-    struct hblk * hbp;
-    struct obj_kind * ok = &(GC_obj_kinds[kind]);
-    struct hblk ** rlh = ok -> ok_reclaim_list;
-    void **flh = &(ok -> ok_freelist[sz]);
-    
-    if (rlh == 0) return;	/* No blocks of this kind.	*/
-    rlh += sz;
-    while ((hbp = *rlh) != 0) {
-        hhdr = HDR(hbp);
-        *rlh = hhdr -> hb_next;
-        GC_reclaim_small_nonempty_block(hbp, FALSE, &GC_bytes_found);
-        if (*flh != 0) break;
-    }
-}
-
-/*
- * Reclaim all small blocks waiting to be reclaimed.
- * Abort and return FALSE when/if (*stop_func)() returns TRUE.
- * If this returns TRUE, then it's safe to restart the world
- * with incorrectly cleared mark bits.
- * If ignore_old is TRUE, then reclaim only blocks that have been 
- * recently reclaimed, and discard the rest.
- * Stop_func may be 0.
- */
-GC_bool GC_reclaim_all(GC_stop_func stop_func, GC_bool ignore_old)
-{
-    word sz;
-    unsigned kind;
-    hdr * hhdr;
-    struct hblk * hbp;
-    struct obj_kind * ok;
-    struct hblk ** rlp;
-    struct hblk ** rlh;
-    CLOCK_TYPE start_time;
-    CLOCK_TYPE done_time;
-	
-    if (GC_print_stats == VERBOSE)
-	GET_TIME(start_time);
-    
-    for (kind = 0; kind < GC_n_kinds; kind++) {
-    	ok = &(GC_obj_kinds[kind]);
-    	rlp = ok -> ok_reclaim_list;
-    	if (rlp == 0) continue;
-    	for (sz = 1; sz <= MAXOBJGRANULES; sz++) {
-    	    rlh = rlp + sz;
-    	    while ((hbp = *rlh) != 0) {
-    	        if (stop_func != (GC_stop_func)0 && (*stop_func)()) {
-    	            return(FALSE);
-    	        }
-        	hhdr = HDR(hbp);
-        	*rlh = hhdr -> hb_next;
-        	if (!ignore_old || hhdr -> hb_last_reclaimed == GC_gc_no - 1) {
-        	    /* It's likely we'll need it this time, too	*/
-        	    /* It's been touched recently, so this	*/
-        	    /* shouldn't trigger paging.		*/
-        	    GC_reclaim_small_nonempty_block(hbp, FALSE, &GC_bytes_found);
-        	}
-            }
-        }
-    }
-    if (GC_print_stats == VERBOSE) {
-	GET_TIME(done_time);
-	GC_log_printf("Disposing of reclaim lists took %lu msecs\n",
-	          MS_TIME_DIFF(done_time,start_time));
-    }
-    return(TRUE);
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/rs6000_mach_dep.s b/SRC/Boost/tools/build/v2/engine/boehm_gc/rs6000_mach_dep.s
deleted file mode 100755
index 3997db1..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/rs6000_mach_dep.s
+++ /dev/null
@@ -1,114 +0,0 @@
-    .set   r0,0
-    .set   r1,1
-    .set   r2,2
-    .set   r3,3
-    .set   r4,4
-    .set   r5,5
-    .set   r6,6
-    .set   r7,7
-    .set   r8,8
-    .set   r9,9
-    .set   r10,10
-    .set   r11,11
-    .set   r12,12
-    .set   r13,13
-    .set   r14,14
-    .set   r15,15
-    .set   r16,16
-    .set   r17,17
-    .set   r18,18
-    .set   r19,19
-    .set   r20,20
-    .set   r21,21
-    .set   r22,22
-    .set   r23,23
-    .set   r24,24
-    .set   r25,25
-    .set   r26,26
-    .set   r27,27
-    .set   r28,28
-    .set   r29,29
-    .set   r30,30
-    .set   r31,31
-
-    .extern .GC_push_one
- # Mark from machine registers that are saved by C compiler
-    .globl  .GC_push_regs
-.csect .text[PR]
-    .align 2
-    .globl  GC_push_regs
-    .globl  .GC_push_regs
-.csect GC_push_regs[DS]
-GC_push_regs:
-    .long .GC_push_regs, TOC[tc0], 0
-.csect .text[PR]
-.GC_push_regs:
-    stu	    r1,-64(r1)  # reserve stack frame
-    mflr    r0		# save link register
-    st      r0,0x48(r1)
-    oril    r3,r2,0x0   # mark from r2
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r13,0x0   # mark from r13-r31
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r14,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r15,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r16,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r17,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r18,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r19,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r20,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r21,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r22,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r23,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r24,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r25,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r26,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r27,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r28,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r29,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r30,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    oril    r3,r31,0x0
-    bl 	    .GC_push_one
-    cror    15,15,15
-    l       r0,0x48(r1)
-    mtlr    r0
-    ai      r1,r1,64
-    br
-    .long 0
-    .byte 0,0,0,0,0,0,0,0
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/setjmp_t.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/setjmp_t.c
deleted file mode 100755
index 0271874..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/setjmp_t.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
- 
-/* Check whether setjmp actually saves registers in jmp_buf. */
-/* If it doesn't, the generic mark_regs code won't work.     */
-/* Compilers vary as to whether they will put x in a 	     */
-/* (callee-save) register without -O.  The code is	     */
-/* contrived such that any decent compiler should put x in   */
-/* a callee-save register with -O.  Thus it is is 	     */
-/* recommended that this be run optimized.  (If the machine  */
-/* has no callee-save registers, then the generic code is    */
-/* safe, but this will not be noticed by this piece of       */
-/* code.)  This test appears to be far from perfect.	     */
-#include <stdio.h>
-#include <setjmp.h>
-#include <string.h>
-#include "private/gc_priv.h"
-
-#ifdef OS2
-/* GETPAGESIZE() is set to getpagesize() by default, but that	*/
-/* doesn't really exist, and the collector doesn't need it.	*/
-#define INCL_DOSFILEMGR
-#define INCL_DOSMISC
-#define INCL_DOSERRORS
-#include <os2.h>
-
-int
-getpagesize()
-{
-    ULONG result[1];
-    
-    if (DosQuerySysInfo(QSV_PAGE_SIZE, QSV_PAGE_SIZE,
-    		        (void *)result, sizeof(ULONG)) != NO_ERROR) {
-    	fprintf(stderr, "DosQuerySysInfo failed\n");
-    	result[0] = 4096;
-    }
-    return((int)(result[0]));
-}
-#endif
-
-struct {char a_a; char * a_b;} a;
-
-int * nested_sp()
-{
-    int dummy;
-    
-    return(&dummy);
-}
-
-int main()
-{
-	int dummy;
-	long ps = GETPAGESIZE();
-	jmp_buf b;
-	register int x = (int)strlen("a");  /* 1, slightly disguised */
-	static int y = 0;
-
-	printf("This appears to be a %s running %s\n", MACH_TYPE, OS_TYPE);
-	if (nested_sp() < &dummy) {
-	  printf("Stack appears to grow down, which is the default.\n");
-	  printf("A good guess for STACKBOTTOM on this machine is 0x%lx.\n",
-	         ((unsigned long)(&dummy) + ps) & ~(ps-1));
-	} else {
-	  printf("Stack appears to grow up.\n");
-	  printf("Define STACK_GROWS_UP in gc_private.h\n");
-	  printf("A good guess for STACKBOTTOM on this machine is 0x%lx.\n",
-	         ((unsigned long)(&dummy) + ps) & ~(ps-1));
-	}
-	printf("Note that this may vary between machines of ostensibly\n");
-	printf("the same architecture (e.g. Sun 3/50s and 3/80s).\n");
-	printf("On many machines the value is not fixed.\n");
-	printf("A good guess for ALIGNMENT on this machine is %ld.\n",
-	       (unsigned long)(&(a.a_b))-(unsigned long)(&a));
-	
-	printf("The following is a very dubious test of one root marking"
-	       " strategy.\n");
-	printf("Results may not be accurate/useful:\n");
-	/* Encourage the compiler to keep x in a callee-save register */
-	x = 2*x-1;
-	printf("");
-	x = 2*x-1;
-	setjmp(b);
-	if (y == 1) {
-	    if (x == 2) {
-		printf("Setjmp-based generic mark_regs code probably wont work.\n");
-		printf("But we rarely try that anymore.  If you have getcontect()\n");
-		printf("this probably doesn't matter.\n");
-	    } else if (x == 1) {
-		printf("Setjmp-based register marking code may work.\n");
-	    } else {
-		printf("Very strange setjmp implementation.\n");
-	    }
-	}
-	y++;
-	x = 2;
-	if (y == 1) longjmp(b,1);
-	printf("Some GC internal configuration stuff: \n");
-	printf("\tWORDSZ = %d, ALIGNMENT = %d, GC_GRANULE_BYTES = %d\n",
-	       WORDSZ, ALIGNMENT, GC_GRANULE_BYTES);
-	printf("\tUsing one mark ");
-#       if defined(USE_MARK_BYTES)
-	  printf("byte");
-#	elif defined(USE_MARK_BITS)
-	  printf("bit");
-#       endif
-	printf(" per ");
-#       if defined(MARK_BIT_PER_OBJ)
-	  printf("object.\n");
-#	elif defined(MARK_BIT_PER_GRANULE)
-	  printf("granule.\n");
-#	endif
-# 	ifdef THREAD_LOCAL_ALLOC
-	  printf("Thread local allocation enabled.\n");
-#	endif
-#	ifdef PARALLEL_MARK
-	  printf("Parallel marking enabled.\n");
-#	endif
-	return(0);
-}
-
-int g(x)
-int x;
-{
-	return(x);
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/sparc_mach_dep.S b/SRC/Boost/tools/build/v2/engine/boehm_gc/sparc_mach_dep.S
deleted file mode 100755
index 586e1cb..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/sparc_mach_dep.S
+++ /dev/null
@@ -1,70 +0,0 @@
-!	SPARCompiler 3.0 and later apparently no longer handles
-!	asm outside functions.  So we need a separate .s file
-!	This is only set up for SunOS 5, not SunOS 4.
-!	Assumes this is called before the stack contents are
-!	examined.
-
-	.seg 	"text"
-	.globl	GC_save_regs_in_stack
-	.globl 	GC_push_regs
-GC_save_regs_in_stack:
-#if defined(__arch64__) || defined(__sparcv9)
-	save	%sp,-128,%sp
-	flushw
-	ret
-	  restore %sp,2047+128,%o0
-#else /* 32 bit SPARC */
-	ta	0x3   ! ST_FLUSH_WINDOWS
-	mov	%sp,%o0
-	retl
-	nop
-#endif /* 32 bit SPARC */
-.GC_save_regs_in_stack_end:
-	.size GC_save_regs_in_stack,.GC_save_regs_in_stack_end-GC_save_regs_in_stack
-	
-
-! GC_clear_stack_inner(arg, limit) clears stack area up to limit and
-! returns arg.  Stack clearing is crucial on SPARC, so we supply
-! an assembly version that s more careful.  Assumes limit is hotter
-! than sp, and limit is 8 byte aligned.	
-	.globl	GC_clear_stack_inner
-GC_clear_stack_inner:
-#if defined(__arch64__) || defined(__sparcv9)
-	mov %sp,%o2		! Save sp
-	add %sp,2047-8,%o3	! p = sp+bias-8
-	add %o1,-2047-192,%sp	! Move sp out of the way,
-  				! so that traps still work.
-  				! Includes some extra words
-  				! so we can be sloppy below.
-loop:
-	stx %g0,[%o3]		! *(long *)p = 0
-	cmp %o3,%o1
-	bgu,pt %xcc, loop	! if (p > limit) goto loop
-          add %o3,-8,%o3	! p -= 8 (delay slot)
-	retl
-    	  mov %o2,%sp		! Restore sp., delay slot	
-#else  /* 32 bit SPARC */
-	mov	%sp,%o2		! Save sp
-	add	%sp,-8,%o3	! p = sp-8
-	clr	%g1		! [g0,g1] = 0
-	add	%o1,-0x60,%sp	! Move sp out of the way,
-				! so that traps still work.
-				! Includes some extra words
-				! so we can be sloppy below.
-loop:
-	std	%g0,[%o3]	! *(long long *)p = 0
-	cmp	%o3,%o1
-	bgu	loop		! if (p > limit) goto loop
-	  add	%o3,-8,%o3	! p -= 8 (delay slot)
-	retl
-	  mov	%o2,%sp		! Restore sp., delay slot
-#endif  /* 32 bit SPARC */
-.GC_clear_stack_inner_end:
-      	.size GC_clear_stack_inner,.GC_clear_stack_inner_end-GC_clear_stack_inner
-
-	
-		
-		
-		
-		
-	
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/sparc_netbsd_mach_dep.s b/SRC/Boost/tools/build/v2/engine/boehm_gc/sparc_netbsd_mach_dep.s
deleted file mode 100755
index c176da3..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/sparc_netbsd_mach_dep.s
+++ /dev/null
@@ -1,34 +0,0 @@
-!	SPARCompiler 3.0 and later apparently no longer handles
-!	asm outside functions.  So we need a separate .s file
-!	This is only set up for SunOS 4.
-!	Assumes this is called before the stack contents are
-!	examined.
-
-#include "machine/asm.h"
-
-	.seg 	"text"
-	.globl	_C_LABEL(GC_save_regs_in_stack)
-	.globl 	_C_LABEL(GC_push_regs)
-_C_LABEL(GC_save_regs_in_stack):
-_C_LABEL(GC_push_regs):
-	ta	0x3   ! ST_FLUSH_WINDOWS
-	mov	%sp,%o0
-	retl
-	nop
-	
-	.globl	_C_LABEL(GC_clear_stack_inner)
-_C_LABEL(GC_clear_stack_inner):
-	mov	%sp,%o2		! Save sp
-	add	%sp,-8,%o3	! p = sp-8
-	clr	%g1		! [g0,g1] = 0
-	add	%o1,-0x60,%sp	! Move sp out of the way,
-				! so that traps still work.
-				! Includes some extra words
-				! so we can be sloppy below.
-loop:
-	std	%g0,[%o3]	! *(long long *)p = 0
-	cmp	%o3,%o1
-	bgu	loop		! if (p > limit) goto loop
-	add	%o3,-8,%o3	! p -= 8 (delay slot)
-	retl
-	mov	%o2,%sp		! Restore sp., delay slot
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/sparc_sunos4_mach_dep.s b/SRC/Boost/tools/build/v2/engine/boehm_gc/sparc_sunos4_mach_dep.s
deleted file mode 100755
index d383981..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/sparc_sunos4_mach_dep.s
+++ /dev/null
@@ -1,38 +0,0 @@
-!	SPARCompiler 3.0 and later apparently no longer handles
-!	asm outside functions.  So we need a separate .s file
-!	This is only set up for SunOS 4.
-!	Assumes this is called before the stack contents are
-!	examined.
-
-	.seg 	"text"
-	.globl	_GC_save_regs_in_stack
-	.globl 	_GC_push_regs
-_GC_save_regs_in_stack:
-_GC_push_regs:
-	ta	0x3   ! ST_FLUSH_WINDOWS
-	mov	%sp,%o0
-	retl
-	nop
-	
-	.globl	_GC_clear_stack_inner
-_GC_clear_stack_inner:
-	mov	%sp,%o2		! Save sp
-	add	%sp,-8,%o3	! p = sp-8
-	clr	%g1		! [g0,g1] = 0
-	add	%o1,-0x60,%sp	! Move sp out of the way,
-				! so that traps still work.
-				! Includes some extra words
-				! so we can be sloppy below.
-loop:
-	std	%g0,[%o3]	! *(long long *)p = 0
-	cmp	%o3,%o1
-	bgu	loop		! if (p > limit) goto loop
-	  add	%o3,-8,%o3	! p -= 8 (delay slot)
-	retl
-	  mov	%o2,%sp		! Restore sp., delay slot
-	
-		
-		
-		
-		
-	
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/specific.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/specific.c
deleted file mode 100755
index 0a76c78..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/specific.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* 
- * Copyright (c) 2000 by Hewlett-Packard Company.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-#include "private/gc_priv.h"	/* For configuration, pthreads.h. */
-#include "private/thread_local_alloc.h"
-				/* To determine type of tsd impl. */
-				/* Includes private/specific.h	  */
-				/* if needed.			  */
-
-#if defined(USE_CUSTOM_SPECIFIC)
-
-#include "atomic_ops.h"
-
-static tse invalid_tse = {INVALID_QTID, 0, 0, INVALID_THREADID};
-			/* A thread-specific data entry which will never    */
-			/* appear valid to a reader.  Used to fill in empty */
-			/* cache entries to avoid a check for 0.	    */
-
-int PREFIXED(key_create) (tsd ** key_ptr, void (* destructor)(void *)) {
-    int i;
-    tsd * result = (tsd *)MALLOC_CLEAR(sizeof (tsd));
-
-    /* A quick alignment check, since we need atomic stores */
-      GC_ASSERT((unsigned long)(&invalid_tse.next) % sizeof(tse *) == 0);
-    if (0 == result) return ENOMEM;
-    pthread_mutex_init(&(result -> lock), NULL);
-    for (i = 0; i < TS_CACHE_SIZE; ++i) {
-	result -> cache[i] = &invalid_tse;
-    }
-#   ifdef GC_ASSERTIONS
-      for (i = 0; i < TS_HASH_SIZE; ++i) {
-	GC_ASSERT(result -> hash[i] == 0);
-      }
-#   endif
-    *key_ptr = result;
-    return 0;
-}
-
-int PREFIXED(setspecific) (tsd * key, void * value) {
-    pthread_t self = pthread_self();
-    int hash_val = HASH(self);
-    volatile tse * entry = (volatile tse *)MALLOC_CLEAR(sizeof (tse));
-    
-    GC_ASSERT(self != INVALID_THREADID);
-    if (0 == entry) return ENOMEM;
-    pthread_mutex_lock(&(key -> lock));
-    /* Could easily check for an existing entry here.	*/
-    entry -> next = key -> hash[hash_val];
-    entry -> thread = self;
-    entry -> value = value;
-    GC_ASSERT(entry -> qtid == INVALID_QTID);
-    /* There can only be one writer at a time, but this needs to be	*/
-    /* atomic with respect to concurrent readers.			*/ 
-    AO_store_release((volatile AO_t *)(key -> hash + hash_val), (AO_t)entry);
-    pthread_mutex_unlock(&(key -> lock));
-    return 0;
-}
-
-/* Remove thread-specific data for this thread.  Should be called on	*/
-/* thread exit.								*/
-void PREFIXED(remove_specific) (tsd * key) {
-    pthread_t self = pthread_self();
-    unsigned hash_val = HASH(self);
-    tse *entry;
-    tse **link = key -> hash + hash_val;
-
-    pthread_mutex_lock(&(key -> lock));
-    entry = *link;
-    while (entry != NULL && entry -> thread != self) {
-	link = &(entry -> next);
-        entry = *link;
-    }
-    /* Invalidate qtid field, since qtids may be reused, and a later 	*/
-    /* cache lookup could otherwise find this entry.			*/
-        entry -> qtid = INVALID_QTID;
-    if (entry != NULL) {
-	*link = entry -> next;
-	/* Atomic! concurrent accesses still work.	*/
-	/* They must, since readers don't lock.		*/
-	/* We shouldn't need a volatile access here,	*/
-	/* since both this and the preceding write 	*/
-	/* should become visible no later than		*/
-	/* the pthread_mutex_unlock() call.		*/
-    }
-    /* If we wanted to deallocate the entry, we'd first have to clear 	*/
-    /* any cache entries pointing to it.  That probably requires	*/
-    /* additional synchronization, since we can't prevent a concurrent 	*/
-    /* cache lookup, which should still be examining deallocated memory.*/
-    /* This can only happen if the concurrent access is from another	*/
-    /* thread, and hence has missed the cache, but still...		*/
-
-    /* With GC, we're done, since the pointers from the cache will 	*/
-    /* be overwritten, all local pointers to the entries will be	*/
-    /* dropped, and the entry will then be reclaimed.			*/
-    pthread_mutex_unlock(&(key -> lock));
-}
-
-/* Note that even the slow path doesn't lock.	*/
-void *  PREFIXED(slow_getspecific) (tsd * key, unsigned long qtid,
-				    tse * volatile * cache_ptr) {
-    pthread_t self = pthread_self();
-    unsigned hash_val = HASH(self);
-    tse *entry = key -> hash[hash_val];
-
-    GC_ASSERT(qtid != INVALID_QTID);
-    while (entry != NULL && entry -> thread != self) {
-	entry = entry -> next;
-    } 
-    if (entry == NULL) return NULL;
-    /* Set cache_entry.		*/
-        entry -> qtid = qtid;
-		/* It's safe to do this asynchronously.  Either value 	*/
-		/* is safe, though may produce spurious misses.		*/
-		/* We're replacing one qtid with another one for the	*/
-		/* same thread.						*/
-	*cache_ptr = entry;
-		/* Again this is safe since pointer assignments are 	*/
-		/* presumed atomic, and either pointer is valid.	*/
-    return entry -> value;
-}
-
-#ifdef GC_ASSERTIONS
-
-/* Check that that all elements of the data structure associated 	*/
-/* with key are marked.							*/
-void PREFIXED(check_tsd_marks) (tsd *key)
-{
-    int i;
-    tse *p;
-
-    if (!GC_is_marked(GC_base(key))) {
-	ABORT("Unmarked thread-specific-data table");
-    }
-    for (i = 0; i < TS_HASH_SIZE; ++i) {
-        for (p = key -> hash[i]; p != 0; p = p -> next) {
-	    if (!GC_is_marked(GC_base(p))) {
-		GC_err_printf(
-			"Thread-specific-data entry at %p not marked\n",p);
-		ABORT("Unmarked tse");
-	    }
-	}
-    }
-    for (i = 0; i < TS_CACHE_SIZE; ++i) {
-        p = key -> cache[i];
-	if (p != &invalid_tse && !GC_is_marked(GC_base(p))) {
-	    GC_err_printf(
-		"Cached thread-specific-data entry at %p not marked\n",p);
-	    ABORT("Unmarked cached tse");
-	}
-    }
-}
-
-#endif
-
-#endif /* USE_CUSTOM_SPECIFIC */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/stubborn.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/stubborn.c
deleted file mode 100755
index 2df042b..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/stubborn.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, July 31, 1995 5:02 pm PDT */
-
-
-#include "private/gc_priv.h"
-
-#if defined(MANUAL_VDB)
-/* Stubborn object (hard to change, nearly immutable) allocation. */
-/* This interface is deprecated.  We mostly emulate it using	  */
-/* MANUAL_VDB.  But that imposes the additional constraint that	  */
-/* written, but not yet GC_dirty()ed objects must be referenced	  */
-/* by a stack.							  */
-void * GC_malloc_stubborn(size_t lb)
-{
-    return(GC_malloc(lb));
-}
-
-/*ARGSUSED*/
-void GC_end_stubborn_change(void *p)
-{
-    GC_dirty(p);
-}
-
-/*ARGSUSED*/
-void GC_change_stubborn(void *p)
-{
-}
-
-#else /* !MANUAL_VDB */
-
-void * GC_malloc_stubborn(size_t lb)
-{
-    return(GC_malloc(lb));
-}
-
-/*ARGSUSED*/
-void GC_end_stubborn_change(void *p)
-{
-}
-
-/*ARGSUSED*/
-void GC_change_stubborn(void *p)
-{
-}
-
-#endif /* !MANUAL_VDB */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/leak_test.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/leak_test.c
deleted file mode 100755
index d0e5b0e..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/leak_test.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "leak_detector.h"
-
-main() {
-    int *p[10];
-    int i;
-    GC_find_leak = 1; /* for new collect versions not compiled  */
-    /* with -DFIND_LEAK.                                        */
-
-    GC_INIT();	/* Needed if thread-local allocation is enabled.	*/
-    		/* FIXME: This is not ideal.				*/
-    for (i = 0; i < 10; ++i) {
-        p[i] = malloc(sizeof(int)+i);
-    }
-    CHECK_LEAKS();
-    for (i = 1; i < 10; ++i) {
-        free(p[i]);
-    }
-    for (i = 0; i < 9; ++i) {
-        p[i] = malloc(sizeof(int)+i);
-    }
-    CHECK_LEAKS();
-    CHECK_LEAKS();
-    CHECK_LEAKS();
-    return 0;
-}       
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/middle.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/middle.c
deleted file mode 100755
index f64345b..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/middle.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Test at the boundary between small and large objects.
- * Inspired by a test case from Zoltan Varga.
- */
-#include <gc.h>
-#include <stdio.h>
-
-int main ()
-{
-        int i;
-
-        GC_all_interior_pointers = 0;
-	GC_INIT();
-
-        for (i = 0; i < 20000; ++i) {
-                GC_malloc_atomic (4096);
-                GC_malloc (4096);
-	}
-        for (i = 0; i < 20000; ++i) {
-                GC_malloc_atomic (2048);
-                GC_malloc (2048);
-	}
-	printf("Final heap size is %ld\n", GC_get_heap_size());
-	return 0;
-}
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/test.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/test.c
deleted file mode 100755
index fc340e1..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/test.c
+++ /dev/null
@@ -1,1634 +0,0 @@
-/* 
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1996 by Silicon Graphics.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* An incomplete test for the garbage collector.  		*/
-/* Some more obscure entry points are not tested at all.	*/
-/* This must be compiled with the same flags used to build the 	*/
-/* GC.  It uses GC internals to allow more precise results	*/
-/* checking for some of the tests.				*/
-
-# undef GC_BUILD
-
-#if defined(DBG_HDRS_ALL) || defined(MAKE_BACK_GRAPH)
-#  define GC_DEBUG
-#endif
-
-# if defined(mips) && defined(SYSTYPE_BSD43)
-    /* MIPS RISCOS 4 */
-# else
-#   include <stdlib.h>
-# endif
-# include <stdio.h>
-# ifdef _WIN32_WCE
-#   include <winbase.h>
-#   define assert ASSERT
-# else
-#   include <assert.h>        /* Not normally used, but handy for debugging. */
-# endif
-# include "gc.h"
-# include "gc_typed.h"
-# include "private/gc_priv.h"	/* For output, locking, MIN_WORDS, 	*/
-				/* and some statistics, and gcconfig.h.	*/
-
-# if defined(MSWIN32) || defined(MSWINCE)
-#   include <windows.h>
-# endif
-
-# ifdef PCR
-#   include "th/PCR_ThCrSec.h"
-#   include "th/PCR_Th.h"
-#   define GC_printf printf
-# endif
-
-# if defined(GC_PTHREADS)
-#   include <pthread.h>
-# endif
-
-# if defined(GC_WIN32_THREADS) && !defined(GC_PTHREADS)
-    static CRITICAL_SECTION incr_cs;
-# endif
-
-#ifdef __STDC__
-# include <stdarg.h>
-#endif
-
-
-/* Allocation Statistics */
-int stubborn_count = 0;
-int uncollectable_count = 0;
-int collectable_count = 0;
-int atomic_count = 0;
-int realloc_count = 0;
-
-#if defined(GC_AMIGA_FASTALLOC) && defined(AMIGA)
-
-  extern void GC_amiga_free_all_mem(void);
-  void Amiga_Fail(void){GC_amiga_free_all_mem();abort();}
-# define FAIL (void)Amiga_Fail()
-  void *GC_amiga_gctest_malloc_explicitly_typed(size_t lb, GC_descr d){
-    void *ret=GC_malloc_explicitly_typed(lb,d);
-    if(ret==NULL){
-		if(!GC_dont_gc){
-	      GC_gcollect();
-	      ret=GC_malloc_explicitly_typed(lb,d);
-		}
-      if(ret==NULL){
-        GC_printf("Out of memory, (typed allocations are not directly "
-		  "supported with the GC_AMIGA_FASTALLOC option.)\n");
-        FAIL;
-      }
-    }
-    return ret;
-  }
-  void *GC_amiga_gctest_calloc_explicitly_typed(size_t a,size_t lb, GC_descr d){
-    void *ret=GC_calloc_explicitly_typed(a,lb,d);
-    if(ret==NULL){
-		if(!GC_dont_gc){
-	      GC_gcollect();
-	      ret=GC_calloc_explicitly_typed(a,lb,d);
-		}
-      if(ret==NULL){
-        GC_printf("Out of memory, (typed allocations are not directly "
-		  "supported with the GC_AMIGA_FASTALLOC option.)\n");
-        FAIL;
-      }
-    }
-    return ret;
-  }
-# define GC_malloc_explicitly_typed(a,b) GC_amiga_gctest_malloc_explicitly_typed(a,b) 
-# define GC_calloc_explicitly_typed(a,b,c) GC_amiga_gctest_calloc_explicitly_typed(a,b,c) 
-
-#else /* !AMIGA_FASTALLOC */
-
-# ifdef PCR
-#   define FAIL (void)abort()
-# else
-#   ifdef MSWINCE
-#     define FAIL DebugBreak()
-#   else
-#     define FAIL GC_abort("Test failed");
-#   endif
-# endif
-
-#endif /* !AMIGA_FASTALLOC */
-
-/* AT_END may be defined to exercise the interior pointer test	*/
-/* if the collector is configured with ALL_INTERIOR_POINTERS.   */
-/* As it stands, this test should succeed with either		*/
-/* configuration.  In the FIND_LEAK configuration, it should	*/
-/* find lots of leaks, since we free almost nothing.		*/
-
-struct SEXPR {
-    struct SEXPR * sexpr_car;
-    struct SEXPR * sexpr_cdr;
-};
-
-
-typedef struct SEXPR * sexpr;
-
-# define INT_TO_SEXPR(x) ((sexpr)(GC_word)(x))
-# define SEXPR_TO_INT(x) ((int)(GC_word)(x))
-
-# undef nil
-# define nil (INT_TO_SEXPR(0))
-# define car(x) ((x) -> sexpr_car)
-# define cdr(x) ((x) -> sexpr_cdr)
-# define is_nil(x) ((x) == nil)
-
-
-int extra_count = 0;        /* Amount of space wasted in cons node */
-
-/* Silly implementation of Lisp cons. Intentionally wastes lots of space */
-/* to test collector.                                                    */
-# ifdef VERY_SMALL_CONFIG
-#   define cons small_cons
-# else
-sexpr cons (sexpr x, sexpr y)
-{
-    sexpr r;
-    int *p;
-    int my_extra = extra_count;
-    
-    stubborn_count++;
-    r = (sexpr) GC_MALLOC_STUBBORN(sizeof(struct SEXPR) + my_extra);
-    if (r == 0) {
-        (void)GC_printf("Out of memory\n");
-        exit(1);
-    }
-    for (p = (int *)r;
-         ((char *)p) < ((char *)r) + my_extra + sizeof(struct SEXPR); p++) {
-	if (*p) {
-	    (void)GC_printf("Found nonzero at %p - allocator is broken\n", p);
-	    FAIL;
-        }
-        *p = (int)((13 << 12) + ((p - (int *)r) & 0xfff));
-    }
-#   ifdef AT_END
-	r = (sexpr)((char *)r + (my_extra & ~7));
-#   endif
-    r -> sexpr_car = x;
-    r -> sexpr_cdr = y;
-    my_extra++;
-    if ( my_extra >= 5000 ) {
-        extra_count = 0;
-    } else {
-        extra_count = my_extra;
-    }
-    GC_END_STUBBORN_CHANGE((char *)r);
-    return(r);
-}
-# endif
-
-#ifdef GC_GCJ_SUPPORT
-
-#include "gc_mark.h"
-#include "gc_gcj.h"
-
-/* The following struct emulates the vtable in gcj.	*/
-/* This assumes the default value of MARK_DESCR_OFFSET. */
-struct fake_vtable {
-  void * dummy;		/* class pointer in real gcj.	*/
-  size_t descr;
-};
-
-struct fake_vtable gcj_class_struct1 = { 0, sizeof(struct SEXPR)
-					    + sizeof(struct fake_vtable *) };
-			/* length based descriptor.	*/
-struct fake_vtable gcj_class_struct2 =
-				{ 0, (3l << (CPP_WORDSZ - 3)) | GC_DS_BITMAP};
-			/* Bitmap based descriptor.	*/
-
-struct GC_ms_entry * fake_gcj_mark_proc(word * addr,
-				        struct GC_ms_entry *mark_stack_ptr,
-				        struct GC_ms_entry *mark_stack_limit,
-				        word env   )
-{
-    sexpr x;
-    if (1 == env) {
-	/* Object allocated with debug allocator.	*/
-	addr = (word *)GC_USR_PTR_FROM_BASE(addr);
-    }
-    x = (sexpr)(addr + 1); /* Skip the vtable pointer. */
-    mark_stack_ptr = GC_MARK_AND_PUSH(
-			      (void *)(x -> sexpr_cdr), mark_stack_ptr,
-			      mark_stack_limit, (void * *)&(x -> sexpr_cdr));
-    mark_stack_ptr = GC_MARK_AND_PUSH(
-			      (void *)(x -> sexpr_car), mark_stack_ptr,
-			      mark_stack_limit, (void * *)&(x -> sexpr_car));
-    return(mark_stack_ptr);
-}
-
-#endif /* GC_GCJ_SUPPORT */
-
-
-sexpr small_cons (sexpr x, sexpr y)
-{
-    sexpr r;
-    
-    collectable_count++;
-    r = (sexpr) GC_MALLOC(sizeof(struct SEXPR));
-    if (r == 0) {
-        (void)GC_printf("Out of memory\n");
-        exit(1);
-    }
-    r -> sexpr_car = x;
-    r -> sexpr_cdr = y;
-    return(r);
-}
-
-sexpr small_cons_uncollectable (sexpr x, sexpr y)
-{
-    sexpr r;
-    
-    uncollectable_count++;
-    r = (sexpr) GC_MALLOC_UNCOLLECTABLE(sizeof(struct SEXPR));
-    if (r == 0) {
-        (void)GC_printf("Out of memory\n");
-        exit(1);
-    }
-    r -> sexpr_car = x;
-    r -> sexpr_cdr = (sexpr)(~(GC_word)y);
-    return(r);
-}
-
-#ifdef GC_GCJ_SUPPORT
-
-
-sexpr gcj_cons(sexpr x, sexpr y)
-{
-    GC_word * r;
-    sexpr result;
-    static int count = 0;
-    
-    r = (GC_word *) GC_GCJ_MALLOC(sizeof(struct SEXPR)
-		   		  + sizeof(struct fake_vtable*),
-				   &gcj_class_struct2);
-    if (r == 0) {
-        (void)GC_printf("Out of memory\n");
-        exit(1);
-    }
-    result = (sexpr)(r + 1);
-    result -> sexpr_car = x;
-    result -> sexpr_cdr = y;
-    return(result);
-}
-#endif
-
-/* Return reverse(x) concatenated with y */
-sexpr reverse1(sexpr x, sexpr y)
-{
-    if (is_nil(x)) {
-        return(y);
-    } else {
-        return( reverse1(cdr(x), cons(car(x), y)) );
-    }
-}
-
-sexpr reverse(sexpr x)
-{
-#   ifdef TEST_WITH_SYSTEM_MALLOC
-      malloc(100000);
-#   endif
-    return( reverse1(x, nil) );
-}
-
-sexpr ints(int low, int up)
-{
-    if (low > up) {
-	return(nil);
-    } else {
-        return(small_cons(small_cons(INT_TO_SEXPR(low), nil), ints(low+1, up)));
-    }
-}
-
-#ifdef GC_GCJ_SUPPORT
-/* Return reverse(x) concatenated with y */
-sexpr gcj_reverse1(sexpr x, sexpr y)
-{
-    if (is_nil(x)) {
-        return(y);
-    } else {
-        return( gcj_reverse1(cdr(x), gcj_cons(car(x), y)) );
-    }
-}
-
-sexpr gcj_reverse(sexpr x)
-{
-    return( gcj_reverse1(x, nil) );
-}
-
-sexpr gcj_ints(int low, int up)
-{
-    if (low > up) {
-	return(nil);
-    } else {
-        return(gcj_cons(gcj_cons(INT_TO_SEXPR(low), nil), gcj_ints(low+1, up)));
-    }
-}
-#endif /* GC_GCJ_SUPPORT */
-
-/* To check uncollectable allocation we build lists with disguised cdr	*/
-/* pointers, and make sure they don't go away.				*/
-sexpr uncollectable_ints(int low, int up)
-{
-    if (low > up) {
-	return(nil);
-    } else {
-        return(small_cons_uncollectable(small_cons(INT_TO_SEXPR(low), nil),
-               uncollectable_ints(low+1, up)));
-    }
-}
-
-void check_ints(sexpr list, int low, int up)
-{
-    if (SEXPR_TO_INT(car(car(list))) != low) {
-        (void)GC_printf(
-           "List reversal produced incorrect list - collector is broken\n");
-        FAIL;
-    }
-    if (low == up) {
-        if (cdr(list) != nil) {
-           (void)GC_printf("List too long - collector is broken\n");
-           FAIL;
-        }
-    } else {
-        check_ints(cdr(list), low+1, up);
-    }
-}
-
-# define UNCOLLECTABLE_CDR(x) (sexpr)(~(GC_word)(cdr(x)))
-
-void check_uncollectable_ints(sexpr list, int low, int up)
-{
-    if (SEXPR_TO_INT(car(car(list))) != low) {
-        (void)GC_printf(
-           "Uncollectable list corrupted - collector is broken\n");
-        FAIL;
-    }
-    if (low == up) {
-        if (UNCOLLECTABLE_CDR(list) != nil) {
-           (void)GC_printf("Uncollectable list too long - collector is broken\n");
-           FAIL;
-        }
-    } else {
-        check_uncollectable_ints(UNCOLLECTABLE_CDR(list), low+1, up);
-    }
-}
-
-/* Not used, but useful for debugging: */
-void print_int_list(sexpr x)
-{
-    if (is_nil(x)) {
-        (void)GC_printf("NIL\n");
-    } else {
-        (void)GC_printf("(%d)", SEXPR_TO_INT(car(car(x))));
-        if (!is_nil(cdr(x))) {
-            (void)GC_printf(", ");
-            (void)print_int_list(cdr(x));
-        } else {
-            (void)GC_printf("\n");
-        }
-    }
-}
-
-/* ditto: */
-void check_marks_int_list(sexpr x)
-{
-    if (!GC_is_marked((ptr_t)x))
-	GC_printf("[unm:%p]", x);
-    else
-	GC_printf("[mkd:%p]", x);
-    if (is_nil(x)) {
-        (void)GC_printf("NIL\n");
-    } else {
-        if (!GC_is_marked((ptr_t)car(x))) GC_printf("[unm car:%p]", car(x));
-        (void)GC_printf("(%d)", SEXPR_TO_INT(car(car(x))));
-        if (!is_nil(cdr(x))) {
-            (void)GC_printf(", ");
-            (void)check_marks_int_list(cdr(x));
-        } else {
-            (void)GC_printf("\n");
-        }
-    }
-}
-
-/*
- * A tiny list reversal test to check thread creation.
- */
-#ifdef THREADS
-
-# if defined(GC_WIN32_THREADS) && !defined(GC_PTHREADS)
-    DWORD  __stdcall tiny_reverse_test(void * arg)
-# else
-    void * tiny_reverse_test(void * arg)
-# endif
-{
-    int i;
-    for (i = 0; i < 5; ++i) {
-      check_ints(reverse(reverse(ints(1,10))), 1, 10);
-    }
-    return 0;
-}
-
-# if defined(GC_PTHREADS)
-    void fork_a_thread()
-    {
-      pthread_t t;
-      int code;
-      if ((code = pthread_create(&t, 0, tiny_reverse_test, 0)) != 0) {
-    	(void)GC_printf("Small thread creation failed %d\n", code);
-    	FAIL;
-      }
-      if ((code = pthread_join(t, 0)) != 0) {
-        (void)GC_printf("Small thread join failed %d\n", code);
-        FAIL;
-      }
-    }
-
-# elif defined(GC_WIN32_THREADS)
-    void fork_a_thread()
-    {
-  	DWORD thread_id;
-	HANDLE h;
-    	h = GC_CreateThread(NULL, 0, tiny_reverse_test, 0, 0, &thread_id);
-        if (h == (HANDLE)NULL) {
-            (void)GC_printf("Small thread creation failed %d\n",
-			    GetLastError());
-      	    FAIL;
-        }
-    	if (WaitForSingleObject(h, INFINITE) != WAIT_OBJECT_0) {
-      	    (void)GC_printf("Small thread wait failed %d\n",
-			    GetLastError());
-      	    FAIL;
-    	}
-    }
-
-# else
-
-#   define fork_a_thread()
-
-# endif
-
-#else
-
-# define fork_a_thread()
-
-#endif 
-
-/* Try to force a to be strangely aligned */
-struct {
-  char dummy;
-  sexpr aa;
-} A;
-#define a A.aa
-
-/*
- * Repeatedly reverse lists built out of very different sized cons cells.
- * Check that we didn't lose anything.
- */
-void reverse_test()
-{
-    int i;
-    sexpr b;
-    sexpr c;
-    sexpr d;
-    sexpr e;
-    sexpr *f, *g, *h;
-#   if defined(MSWIN32) || defined(MACOS)
-      /* Win32S only allows 128K stacks */
-#     define BIG 1000
-#   else
-#     if defined PCR
-	/* PCR default stack is 100K.  Stack frames are up to 120 bytes. */
-#	define BIG 700
-#     else
-#	if defined MSWINCE
-	  /* WinCE only allows 64K stacks */
-#	  define BIG 500
-#	else
-#	  if defined(OSF1)
-	    /* OSF has limited stack space by default, and large frames. */
-#           define BIG 200
-#	  else
-#           define BIG 4500
-#	  endif
-#	endif
-#     endif
-#   endif
-
-    A.dummy = 17;
-    a = ints(1, 49);
-    b = ints(1, 50);
-    c = ints(1, BIG);
-    d = uncollectable_ints(1, 100);
-    e = uncollectable_ints(1, 1);
-    /* Check that realloc updates object descriptors correctly */
-    collectable_count++;
-    f = (sexpr *)GC_MALLOC(4 * sizeof(sexpr));
-    realloc_count++;
-    f = (sexpr *)GC_REALLOC((void *)f, 6 * sizeof(sexpr));
-    f[5] = ints(1,17);
-    collectable_count++;
-    g = (sexpr *)GC_MALLOC(513 * sizeof(sexpr));
-    realloc_count++;
-    g = (sexpr *)GC_REALLOC((void *)g, 800 * sizeof(sexpr));
-    g[799] = ints(1,18);
-    collectable_count++;
-    h = (sexpr *)GC_MALLOC(1025 * sizeof(sexpr));
-    realloc_count++;
-    h = (sexpr *)GC_REALLOC((void *)h, 2000 * sizeof(sexpr));
-#   ifdef GC_GCJ_SUPPORT
-      h[1999] = gcj_ints(1,200);
-      for (i = 0; i < 51; ++i) 
-        h[1999] = gcj_reverse(h[1999]);
-      /* Leave it as the reveresed list for now. */
-#   else
-      h[1999] = ints(1,200);
-#   endif
-    /* Try to force some collections and reuse of small list elements */
-      for (i = 0; i < 10; i++) {
-        (void)ints(1, BIG);
-      }
-    /* Superficially test interior pointer recognition on stack */
-      c = (sexpr)((char *)c + sizeof(char *));
-      d = (sexpr)((char *)d + sizeof(char *));
-
-#   ifdef __STDC__
-        GC_FREE((void *)e);
-#   else
-        GC_FREE((char *)e);
-#   endif
-    check_ints(b,1,50);
-    check_ints(a,1,49);
-    for (i = 0; i < 50; i++) {
-        check_ints(b,1,50);
-        b = reverse(reverse(b));
-    }
-    check_ints(b,1,50);
-    check_ints(a,1,49);
-    for (i = 0; i < 60; i++) {
-	if (i % 10 == 0) fork_a_thread();
-    	/* This maintains the invariant that a always points to a list of */
-    	/* 49 integers.  Thus this is thread safe without locks,	  */
-    	/* assuming atomic pointer assignments.				  */
-        a = reverse(reverse(a));
-#	if !defined(AT_END) && !defined(THREADS)
-	  /* This is not thread safe, since realloc explicitly deallocates */
-          if (i & 1) {
-            a = (sexpr)GC_REALLOC((void *)a, 500);
-          } else {
-            a = (sexpr)GC_REALLOC((void *)a, 8200);
-          }
-#	endif
-    }
-    check_ints(a,1,49);
-    check_ints(b,1,50);
-    c = (sexpr)((char *)c - sizeof(char *));
-    d = (sexpr)((char *)d - sizeof(char *));
-    check_ints(c,1,BIG);
-    check_uncollectable_ints(d, 1, 100);
-    check_ints(f[5], 1,17);
-    check_ints(g[799], 1,18);
-#   ifdef GC_GCJ_SUPPORT
-      h[1999] = gcj_reverse(h[1999]);
-#   endif
-    check_ints(h[1999], 1,200);
-#   ifndef THREADS
-	a = 0;
-#   endif  
-    b = c = 0;
-}
-
-#undef a
-
-/*
- * The rest of this builds balanced binary trees, checks that they don't
- * disappear, and tests finalization.
- */
-typedef struct treenode {
-    int level;
-    struct treenode * lchild;
-    struct treenode * rchild;
-} tn;
-
-int finalizable_count = 0;
-int finalized_count = 0;
-volatile int dropped_something = 0;
-
-# ifdef __STDC__
-  void finalizer(void * obj, void * client_data)
-# else
-  void finalizer(obj, client_data)
-  char * obj;
-  char * client_data;
-# endif
-{
-  tn * t = (tn *)obj;
-
-# ifdef PCR
-     PCR_ThCrSec_EnterSys();
-# endif
-# if defined(GC_PTHREADS)
-    static pthread_mutex_t incr_lock = PTHREAD_MUTEX_INITIALIZER;
-    pthread_mutex_lock(&incr_lock);
-# elif defined(GC_WIN32_THREADS)
-    EnterCriticalSection(&incr_cs);
-# endif
-  if ((int)(GC_word)client_data != t -> level) {
-     (void)GC_printf("Wrong finalization data - collector is broken\n");
-     FAIL;
-  }
-  finalized_count++;
-  t -> level = -1;	/* detect duplicate finalization immediately */
-# ifdef PCR
-    PCR_ThCrSec_ExitSys();
-# endif
-# if defined(GC_PTHREADS)
-    pthread_mutex_unlock(&incr_lock);
-# elif defined(GC_WIN32_THREADS)
-    LeaveCriticalSection(&incr_cs);
-# endif
-}
-
-size_t counter = 0;
-
-# define MAX_FINALIZED 8000
-
-# if !defined(MACOS)
-  GC_FAR GC_word live_indicators[MAX_FINALIZED] = {0};
-#else
-  /* Too big for THINK_C. have to allocate it dynamically. */
-  GC_word *live_indicators = 0;
-#endif
-
-int live_indicators_count = 0;
-
-tn * mktree(int n)
-{
-    tn * result = (tn *)GC_MALLOC(sizeof(tn));
-    
-    collectable_count++;
-#   if defined(MACOS)
-	/* get around static data limitations. */
-	if (!live_indicators)
-		live_indicators =
-		    (GC_word*)NewPtrClear(MAX_FINALIZED * sizeof(GC_word));
-	if (!live_indicators) {
-          (void)GC_printf("Out of memory\n");
-          exit(1);
-        }
-#   endif
-    if (n == 0) return(0);
-    if (result == 0) {
-        (void)GC_printf("Out of memory\n");
-        exit(1);
-    }
-    result -> level = n;
-    result -> lchild = mktree(n-1);
-    result -> rchild = mktree(n-1);
-    if (counter++ % 17 == 0 && n >= 2) {
-        tn * tmp = result -> lchild -> rchild;
-        
-        result -> lchild -> rchild = result -> rchild -> lchild;
-        result -> rchild -> lchild = tmp;
-    }
-    if (counter++ % 119 == 0) {
-        int my_index;
-        
-        {
-#	  ifdef PCR
- 	    PCR_ThCrSec_EnterSys();
-#	  endif
-#         if defined(GC_PTHREADS)
-            static pthread_mutex_t incr_lock = PTHREAD_MUTEX_INITIALIZER;
-            pthread_mutex_lock(&incr_lock);
-#         elif defined(GC_WIN32_THREADS)
-            EnterCriticalSection(&incr_cs);
-#         endif
-		/* Losing a count here causes erroneous report of failure. */
-          finalizable_count++;
-          my_index = live_indicators_count++;
-#	  ifdef PCR
- 	    PCR_ThCrSec_ExitSys();
-#	  endif
-#	  if defined(GC_PTHREADS)
-	    pthread_mutex_unlock(&incr_lock);
-#	  elif defined(GC_WIN32_THREADS)
-            LeaveCriticalSection(&incr_cs);
-#         endif
-	}
-
-        GC_REGISTER_FINALIZER((void *)result, finalizer, (void *)(GC_word)n,
-        		      (GC_finalization_proc *)0, (void * *)0);
-        if (my_index >= MAX_FINALIZED) {
-		GC_printf("live_indicators overflowed\n");
-		FAIL;
-	}
-        live_indicators[my_index] = 13;
-        if (GC_GENERAL_REGISTER_DISAPPEARING_LINK(
-         	(void * *)(&(live_indicators[my_index])),
-         	(void *)result) != 0) {
-         	GC_printf("GC_general_register_disappearing_link failed\n");
-         	FAIL;
-        }
-        if (GC_unregister_disappearing_link(
-         	(void * *)
-         	   (&(live_indicators[my_index]))) == 0) {
-         	GC_printf("GC_unregister_disappearing_link failed\n");
-         	FAIL;
-        }
-        if (GC_GENERAL_REGISTER_DISAPPEARING_LINK(
-         	(void * *)(&(live_indicators[my_index])),
-         	(void *)result) != 0) {
-         	GC_printf("GC_general_register_disappearing_link failed 2\n");
-         	FAIL;
-        }
-	GC_reachable_here(result);
-    }
-    return(result);
-}
-
-void chktree(tn *t, int n)
-{
-    if (n == 0 && t != 0) {
-        (void)GC_printf("Clobbered a leaf - collector is broken\n");
-        FAIL;
-    }
-    if (n == 0) return;
-    if (t -> level != n) {
-        (void)GC_printf("Lost a node at level %d - collector is broken\n", n);
-        FAIL;
-    }
-    if (counter++ % 373 == 0) {
-	collectable_count++;
-	(void) GC_MALLOC(counter%5001);
-    }
-    chktree(t -> lchild, n-1);
-    if (counter++ % 73 == 0) {
-	collectable_count++;
-	(void) GC_MALLOC(counter%373);
-    }
-    chktree(t -> rchild, n-1);
-}
-
-
-#if defined(GC_PTHREADS)
-pthread_key_t fl_key;
-
-void * alloc8bytes()
-{
-# if defined(SMALL_CONFIG) || defined(GC_DEBUG)
-    collectable_count++;
-    return(GC_MALLOC(8));
-# else
-    void ** my_free_list_ptr;
-    void * my_free_list;
-    
-    my_free_list_ptr = (void **)pthread_getspecific(fl_key);
-    if (my_free_list_ptr == 0) {
-        uncollectable_count++;
-        my_free_list_ptr = GC_NEW_UNCOLLECTABLE(void *);
-        if (pthread_setspecific(fl_key, my_free_list_ptr) != 0) {
-    	    (void)GC_printf("pthread_setspecific failed\n");
-    	    FAIL;
-        }
-    }
-    my_free_list = *my_free_list_ptr;
-    if (my_free_list == 0) {
-        my_free_list = GC_malloc_many(8);
-        if (my_free_list == 0) {
-            (void)GC_printf("alloc8bytes out of memory\n");
-    	    FAIL;
-        }
-    }
-    *my_free_list_ptr = GC_NEXT(my_free_list);
-    GC_NEXT(my_free_list) = 0;
-    collectable_count++;
-    return(my_free_list);
-# endif
-}
-
-#else
-#   define alloc8bytes() GC_MALLOC_ATOMIC(8)
-#endif
-
-void alloc_small(int n)
-{
-    int i;
-    
-    for (i = 0; i < n; i += 8) {
-        atomic_count++;
-        if (alloc8bytes() == 0) {
-            (void)GC_printf("Out of memory\n");
-            FAIL;
-        }
-    }
-}
-
-# if defined(THREADS) && defined(GC_DEBUG)
-#   ifdef VERY_SMALL_CONFIG
-#     define TREE_HEIGHT 12
-#   else
-#     define TREE_HEIGHT 15
-#   endif
-# else
-#   ifdef VERY_SMALL_CONFIG
-#     define TREE_HEIGHT 13
-#   else
-#     define TREE_HEIGHT 16
-#   endif
-# endif
-void tree_test()
-{
-    tn * root;
-    int i;
-    
-    root = mktree(TREE_HEIGHT);
-#   ifndef VERY_SMALL_CONFIG
-      alloc_small(5000000);
-#   endif
-    chktree(root, TREE_HEIGHT);
-    if (finalized_count && ! dropped_something) {
-        (void)GC_printf("Premature finalization - collector is broken\n");
-        FAIL;
-    }
-    dropped_something = 1;
-    GC_noop(root);	/* Root needs to remain live until	*/
-    			/* dropped_something is set.		*/
-    root = mktree(TREE_HEIGHT);
-    chktree(root, TREE_HEIGHT);
-    for (i = TREE_HEIGHT; i >= 0; i--) {
-        root = mktree(i);
-        chktree(root, i);
-    }
-#   ifndef VERY_SMALL_CONFIG
-      alloc_small(5000000);
-#   endif
-}
-
-unsigned n_tests = 0;
-
-GC_word bm_huge[10] = {
-    0xffffffff,
-    0xffffffff,
-    0xffffffff,
-    0xffffffff,
-    0xffffffff,
-    0xffffffff,
-    0xffffffff,
-    0xffffffff,
-    0xffffffff,
-    0x00ffffff,
-};
-
-/* A very simple test of explicitly typed allocation	*/
-void typed_test()
-{
-    GC_word * old, * new;
-    GC_word bm3 = 0x3;
-    GC_word bm2 = 0x2;
-    GC_word bm_large = 0xf7ff7fff;
-    GC_descr d1 = GC_make_descriptor(&bm3, 2);
-    GC_descr d2 = GC_make_descriptor(&bm2, 2);
-    GC_descr d3 = GC_make_descriptor(&bm_large, 32);
-    GC_descr d4 = GC_make_descriptor(bm_huge, 320);
-    GC_word * x = (GC_word *)GC_malloc_explicitly_typed(2000, d4);
-    int i;
-    
-#   ifndef LINT
-      (void)GC_make_descriptor(&bm_large, 32);
-#   endif
-    collectable_count++;
-    old = 0;
-    for (i = 0; i < 4000; i++) {
-	collectable_count++;
-        new = (GC_word *) GC_malloc_explicitly_typed(4 * sizeof(GC_word), d1);
-        if (0 != new[0] || 0 != new[1]) {
-	    GC_printf("Bad initialization by GC_malloc_explicitly_typed\n");
-	    FAIL;
-	}
-        new[0] = 17;
-        new[1] = (GC_word)old;
-        old = new;
-	collectable_count++;
-        new = (GC_word *) GC_malloc_explicitly_typed(4 * sizeof(GC_word), d2);
-        new[0] = 17;
-        new[1] = (GC_word)old;
-        old = new;
-	collectable_count++;
-        new = (GC_word *) GC_malloc_explicitly_typed(33 * sizeof(GC_word), d3);
-        new[0] = 17;
-        new[1] = (GC_word)old;
-        old = new;
-	collectable_count++;
-        new = (GC_word *) GC_calloc_explicitly_typed(4, 2 * sizeof(GC_word),
-        					     d1);
-        new[0] = 17;
-        new[1] = (GC_word)old;
-        old = new;
-	collectable_count++;
-        if (i & 0xff) {
-          new = (GC_word *) GC_calloc_explicitly_typed(7, 3 * sizeof(GC_word),
-        					     d2);
-        } else {
-          new = (GC_word *) GC_calloc_explicitly_typed(1001,
-          					       3 * sizeof(GC_word),
-        					       d2);
-          if (0 != new[0] || 0 != new[1]) {
-	    GC_printf("Bad initialization by GC_malloc_explicitly_typed\n");
-	    FAIL;
-	  }
-        }
-        new[0] = 17;
-        new[1] = (GC_word)old;
-        old = new;
-    }
-    for (i = 0; i < 20000; i++) {
-        if (new[0] != 17) {
-            (void)GC_printf("typed alloc failed at %lu\n",
-            		    (unsigned long)i);
-            FAIL;
-        }
-        new[0] = 0;
-        old = new;
-        new = (GC_word *)(old[1]);
-    }
-    GC_gcollect();
-    GC_noop(x);
-}
-
-int fail_count = 0;
-
-#ifndef __STDC__
-/*ARGSUSED*/
-void fail_proc1(x)
-void * x;
-{
-    fail_count++;
-}
-
-#else
-
-/*ARGSUSED*/
-void fail_proc1(void * x)
-{
-    fail_count++;
-}   
-
-static void uniq(void *p, ...) {
-  va_list a;
-  void *q[100];
-  int n = 0, i, j;
-  q[n++] = p;
-  va_start(a,p);
-  for (;(q[n] = va_arg(a,void *));n++) ;
-  va_end(a);
-  for (i=0; i<n; i++)
-    for (j=0; j<i; j++)
-      if (q[i] == q[j]) {
-        GC_printf(
-              "Apparently failed to mark from some function arguments.\n"
-              "Perhaps GC_push_regs was configured incorrectly?\n"
-        );
-	FAIL;
-      }
-}
-
-#endif /* __STDC__ */
-
-#ifdef THREADS
-#   define TEST_FAIL_COUNT(n) 1
-#else 
-#   define TEST_FAIL_COUNT(n) (fail_count >= (n))
-#endif
-
-void run_one_test()
-{
-    char *x;
-#   ifdef LINT
-    	char *y = 0;
-#   else
-    	char *y = (char *)(size_t)fail_proc1;
-#   endif
-    DCL_LOCK_STATE;
-    
-#   ifdef FIND_LEAK
-	(void)GC_printf(
-		"This test program is not designed for leak detection mode\n");
-	(void)GC_printf("Expect lots of problems.\n");
-#   endif
-    GC_FREE(0);
-#   ifndef DBG_HDRS_ALL
-      collectable_count += 3;
-      if ((GC_size(GC_malloc(7)) != 8 &&
-	   GC_size(GC_malloc(7)) != MIN_WORDS * sizeof(GC_word))
-	|| GC_size(GC_malloc(15)) != 16) {
-	    (void)GC_printf("GC_size produced unexpected results\n");
-	    FAIL;
-      }
-      collectable_count += 1;
-      if (GC_size(GC_malloc(0)) != MIN_WORDS * sizeof(GC_word)) {
-    	(void)GC_printf("GC_malloc(0) failed: GC_size returns %ld\n",
-			(unsigned long)GC_size(GC_malloc(0)));
-	    FAIL;
-      }
-      collectable_count += 1;
-      if (GC_size(GC_malloc_uncollectable(0)) != MIN_WORDS * sizeof(GC_word)) {
-    	(void)GC_printf("GC_malloc_uncollectable(0) failed\n");
-	    FAIL;
-      }
-      GC_is_valid_displacement_print_proc = fail_proc1;
-      GC_is_visible_print_proc = fail_proc1;
-      collectable_count += 1;
-      x = GC_malloc(16);
-      if (GC_base(x + 13) != x) {
-    	(void)GC_printf("GC_base(heap ptr) produced incorrect result\n");
-	FAIL;
-      }
-#     ifndef PCR
-        if (GC_base(y) != 0) {
-    	  (void)GC_printf("GC_base(fn_ptr) produced incorrect result\n");
-	  FAIL;
-        }
-#     endif
-      if (GC_same_obj(x+5, x) != x + 5) {
-    	(void)GC_printf("GC_same_obj produced incorrect result\n");
-	FAIL;
-      }
-      if (GC_is_visible(y) != y || GC_is_visible(x) != x) {
-    	(void)GC_printf("GC_is_visible produced incorrect result\n");
-	FAIL;
-      }
-      if (!TEST_FAIL_COUNT(1)) {
-#	if!(defined(RS6000) || defined(POWERPC) || defined(IA64)) || defined(M68K)
-	  /* ON RS6000s function pointers point to a descriptor in the	*/
-	  /* data segment, so there should have been no failures.	*/
-	  /* The same applies to IA64.  Something similar seems to	*/
-	  /* be going on with NetBSD/M68K.				*/
-    	  (void)GC_printf("GC_is_visible produced wrong failure indication\n");
-    	  FAIL;
-#	endif
-      }
-      if (GC_is_valid_displacement(y) != y
-        || GC_is_valid_displacement(x) != x
-        || GC_is_valid_displacement(x + 3) != x + 3) {
-    	(void)GC_printf(
-    		"GC_is_valid_displacement produced incorrect result\n");
-	FAIL;
-      }
-#     if defined(__STDC__) && !defined(MSWIN32) && !defined(MSWINCE)
-        /* Harder to test under Windows without a gc.h declaration.  */
-        {
-	  size_t i;
-	  extern void *GC_memalign();
-
-	  GC_malloc(17);
-	  for (i = sizeof(GC_word); i < 512; i *= 2) {
-	    GC_word result = (GC_word) GC_memalign(i, 17);
-	    if (result % i != 0 || result == 0 || *(int *)result != 0) FAIL;
-	  } 
-	}
-#     endif
-#     ifndef ALL_INTERIOR_POINTERS
-#      if defined(RS6000) || defined(POWERPC)
-        if (!TEST_FAIL_COUNT(1)) {
-#      else
-        if (GC_all_interior_pointers && !TEST_FAIL_COUNT(1)
-	    || !GC_all_interior_pointers && !TEST_FAIL_COUNT(2)) {
-#      endif
-    	  (void)GC_printf("GC_is_valid_displacement produced wrong failure indication\n");
-    	  FAIL;
-        }
-#     endif
-#   endif /* DBG_HDRS_ALL */
-    /* Test floating point alignment */
-   collectable_count += 2;
-	*(double *)GC_MALLOC(sizeof(double)) = 1.0;
-	*(double *)GC_MALLOC(sizeof(double)) = 1.0;
-#   ifdef GC_GCJ_SUPPORT
-      GC_REGISTER_DISPLACEMENT(sizeof(struct fake_vtable *));
-      GC_init_gcj_malloc(0, (void *)fake_gcj_mark_proc);
-#   endif
-    /* Make sure that fn arguments are visible to the collector.	*/
-#   ifdef __STDC__
-      uniq(
-        GC_malloc(12), GC_malloc(12), GC_malloc(12),
-        (GC_gcollect(),GC_malloc(12)),
-        GC_malloc(12), GC_malloc(12), GC_malloc(12),
-	(GC_gcollect(),GC_malloc(12)),
-        GC_malloc(12), GC_malloc(12), GC_malloc(12),
-	(GC_gcollect(),GC_malloc(12)),
-        GC_malloc(12), GC_malloc(12), GC_malloc(12),
-	(GC_gcollect(),GC_malloc(12)),
-        GC_malloc(12), GC_malloc(12), GC_malloc(12),
-	(GC_gcollect(),GC_malloc(12)),
-        (void *)0);
-#   endif
-    /* GC_malloc(0) must return NULL or something we can deallocate. */
-        GC_free(GC_malloc(0));
-        GC_free(GC_malloc_atomic(0));
-        GC_free(GC_malloc(0));
-        GC_free(GC_malloc_atomic(0));
-    /* Repeated list reversal test. */
-	reverse_test();
-#   ifdef PRINTSTATS
-	GC_printf("-------------Finished reverse_test\n");
-#   endif
-#   ifndef DBG_HDRS_ALL
-      typed_test();
-#     ifdef PRINTSTATS
-	GC_printf("-------------Finished typed_test\n");
-#     endif
-#   endif /* DBG_HDRS_ALL */
-    tree_test();
-    LOCK();
-    n_tests++;
-    UNLOCK();
-#   if defined(THREADS) && defined(HANDLE_FORK)
-      if (fork() == 0) {
-	GC_gcollect();
-	tiny_reverse_test(0);
-	GC_gcollect();
-	GC_printf("Finished a child process\n");
-	exit(0);
-      }
-#   endif
-    /* GC_printf("Finished %x\n", pthread_self()); */
-}
-
-void check_heap_stats()
-{
-    size_t max_heap_sz;
-    int i;
-    int still_live;
-    int late_finalize_count = 0;
-    
-#   ifdef VERY_SMALL_CONFIG
-    /* these are something of a guess */
-    if (sizeof(char *) > 4) {
-        max_heap_sz = 4500000;
-    } else {
-    	max_heap_sz = 2800000;
-    }
-#   else
-    if (sizeof(char *) > 4) {
-        max_heap_sz = 19000000;
-    } else {
-    	max_heap_sz = 11000000;
-    }
-#   endif
-#   ifdef GC_DEBUG
-	max_heap_sz *= 2;
-#       ifdef SAVE_CALL_CHAIN
-	    max_heap_sz *= 3;
-#           ifdef SAVE_CALL_COUNT
-		max_heap_sz += max_heap_sz * SAVE_CALL_COUNT/4;
-#	    endif
-#       endif
-#   endif
-    /* Garbage collect repeatedly so that all inaccessible objects	*/
-    /* can be finalized.						*/
-      while (GC_collect_a_little()) { }
-      for (i = 0; i < 16; i++) {
-        GC_gcollect();
-        late_finalize_count += GC_invoke_finalizers();
-      }
-    (void)GC_printf("Completed %u tests\n", n_tests);
-    (void)GC_printf("Allocated %d collectable objects\n", collectable_count);
-    (void)GC_printf("Allocated %d uncollectable objects\n",
-		    uncollectable_count);
-    (void)GC_printf("Allocated %d atomic objects\n", atomic_count);
-    (void)GC_printf("Allocated %d stubborn objects\n", stubborn_count);
-    (void)GC_printf("Finalized %d/%d objects - ",
-    		    finalized_count, finalizable_count);
-#   ifdef FINALIZE_ON_DEMAND
-	if (finalized_count != late_finalize_count) {
-            (void)GC_printf("Demand finalization error\n");
-	    FAIL;
-	}
-#   endif
-    if (finalized_count > finalizable_count
-        || finalized_count < finalizable_count/2) {
-        (void)GC_printf("finalization is probably broken\n");
-        FAIL;
-    } else {
-        (void)GC_printf("finalization is probably ok\n");
-    }
-    still_live = 0;
-    for (i = 0; i < MAX_FINALIZED; i++) {
-    	if (live_indicators[i] != 0) {
-    	    still_live++;
-    	}
-    }
-    i = finalizable_count - finalized_count - still_live;
-    if (0 != i) {
-        GC_printf("%d disappearing links remain and %d more objects "
-		  "were not finalized\n", still_live, i);
-        if (i > 10) {
-	    GC_printf("\tVery suspicious!\n");
-	} else {
-	    GC_printf("\tSlightly suspicious, but probably OK.\n");
-	}
-    }
-    (void)GC_printf("Total number of bytes allocated is %lu\n",
-    		(unsigned long)
-    	           (GC_bytes_allocd + GC_bytes_allocd_before_gc));
-    (void)GC_printf("Final heap size is %lu bytes\n",
-    		    (unsigned long)GC_get_heap_size());
-    if (GC_bytes_allocd + GC_bytes_allocd_before_gc
-#   ifdef VERY_SMALL_CONFIG
-        < 2700000*n_tests) {
-#   else
-        < 33500000*n_tests) {
-#   endif
-        (void)GC_printf("Incorrect execution - missed some allocations\n");
-        FAIL;
-    }
-    if (GC_get_heap_size() > max_heap_sz*n_tests) {
-        (void)GC_printf("Unexpected heap growth - collector may be broken\n");
-        FAIL;
-    }
-    (void)GC_printf("Collector appears to work\n");
-}
-
-#if defined(MACOS)
-void SetMinimumStack(long minSize)
-{
-	long newApplLimit;
-
-	if (minSize > LMGetDefltStack())
-	{
-		newApplLimit = (long) GetApplLimit()
-				- (minSize - LMGetDefltStack());
-		SetApplLimit((Ptr) newApplLimit);
-		MaxApplZone();
-	}
-}
-
-#define cMinStackSpace (512L * 1024L)
-
-#endif
-
-#ifdef __STDC__
-    void warn_proc(char *msg, GC_word p)
-#else
-    void warn_proc(msg, p)
-    char *msg;
-    GC_word p;
-#endif
-{
-    GC_printf(msg, (unsigned long)p);
-    /*FAIL;*/
-}
-
-
-#if !defined(PCR) \
-    && !defined(GC_WIN32_THREADS) && !defined(GC_PTHREADS) \
-    || defined(LINT)
-#if defined(MSWIN32) && !defined(__MINGW32__)
-  int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prev, LPTSTR cmd, int n)
-#else
-  int main()
-#endif
-{
-#   if defined(DJGPP)
-	int dummy;
-#   endif
-    n_tests = 0;
-    
-#   if defined(DJGPP)
-	/* No good way to determine stack base from library; do it */
-	/* manually on this platform.				   */
-    	GC_stackbottom = (void *)(&dummy);
-#   endif
-#   if defined(MACOS)
-	/* Make sure we have lots and lots of stack space. 	*/
-	SetMinimumStack(cMinStackSpace);
-	/* Cheat and let stdio initialize toolbox for us.	*/
-	printf("Testing GC Macintosh port.\n");
-#   endif
-    GC_INIT();	/* Only needed on a few platforms.	*/
-    (void) GC_set_warn_proc(warn_proc);
-#   if (defined(MPROTECT_VDB) || defined(PROC_VDB) || defined(GWW_VDB)) \
-          && !defined(MAKE_BACK_GRAPH) && !defined(NO_INCREMENTAL)
-      GC_enable_incremental();
-      (void) GC_printf("Switched to incremental mode\n");
-#     if defined(MPROTECT_VDB)
-	(void)GC_printf("Emulating dirty bits with mprotect/signals\n");
-#     else
-#       ifdef PROC_VDB
-	(void)GC_printf("Reading dirty bits from /proc\n");
-#       else
-    (void)GC_printf("Using DEFAULT_VDB dirty bit implementation\n");
-#       endif
-#      endif
-#   endif
-    run_one_test();
-    check_heap_stats();
-#   ifndef MSWINCE
-    (void)fflush(stdout);
-#   endif
-#   ifdef LINT
-	/* Entry points we should be testing, but aren't.		   */
-	/* Some can be tested by defining GC_DEBUG at the top of this file */
-	/* This is a bit SunOS4 specific.				   */			
-	GC_noop(GC_expand_hp, GC_add_roots, GC_clear_roots,
-	        GC_register_disappearing_link,
-	        GC_register_finalizer_ignore_self,
-		GC_debug_register_displacement,
-	        GC_print_obj, GC_debug_change_stubborn,
-	        GC_debug_end_stubborn_change, GC_debug_malloc_uncollectable,
-	        GC_debug_free, GC_debug_realloc, GC_generic_malloc_words_small,
-	        GC_init, GC_make_closure, GC_debug_invoke_finalizer,
-	        GC_page_was_ever_dirty, GC_is_fresh,
-		GC_malloc_ignore_off_page, GC_malloc_atomic_ignore_off_page,
-		GC_set_max_heap_size, GC_get_bytes_since_gc,
-		GC_get_total_bytes, GC_pre_incr, GC_post_incr);
-#   endif
-#   ifdef MSWIN32
-      GC_win32_free_heap();
-#   endif
-    return(0);
-}
-# endif
-
-#if defined(GC_WIN32_THREADS) && !defined(GC_PTHREADS)
-
-DWORD __stdcall thr_run_one_test(void *arg)
-{
-  run_one_test();
-  return 0;
-}
-
-#ifdef MSWINCE
-HANDLE win_created_h;
-HWND win_handle;
-
-LRESULT CALLBACK window_proc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
-  LRESULT ret = 0;
-  switch (uMsg) {
-    case WM_HIBERNATE:
-      GC_printf("Received WM_HIBERNATE, calling GC_gcollect\n");
-      GC_gcollect();
-      break;
-    case WM_CLOSE:
-      GC_printf("Received WM_CLOSE, closing window\n");
-      DestroyWindow(hwnd);
-      break;
-    case WM_DESTROY:
-      PostQuitMessage(0);
-      break;
-    default:
-      ret = DefWindowProc(hwnd, uMsg, wParam, lParam);
-      break;
-  }
-  return ret;
-}
-
-DWORD __stdcall thr_window(void *arg)
-{
-  WNDCLASS win_class = {
-    CS_NOCLOSE,
-    window_proc,
-    0,
-    0,
-    GetModuleHandle(NULL),
-    NULL,
-    NULL,
-    (HBRUSH)(COLOR_APPWORKSPACE+1),
-    NULL,
-    L"GCtestWindow"
-  };
-  MSG msg;
-
-  if (!RegisterClass(&win_class))
-    FAIL;
-
-  win_handle = CreateWindowEx(
-    0,
-    L"GCtestWindow",
-    L"GCtest",
-    0,
-    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
-    NULL,
-    NULL,
-    GetModuleHandle(NULL),
-    NULL);
-
-  if (win_handle == NULL)
-    FAIL;
-
-  SetEvent(win_created_h);
-
-  ShowWindow(win_handle, SW_SHOW);
-  UpdateWindow(win_handle);
-
-  while (GetMessage(&msg, NULL, 0, 0)) {
-    TranslateMessage(&msg);
-    DispatchMessage(&msg);
-  }
-
-  return 0;
-}
-#endif
-
-#define NTEST 2
-
-# ifdef MSWINCE
-int APIENTRY GC_WinMain(HINSTANCE instance, HINSTANCE prev, LPWSTR cmd, int n)
-#   else
-int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prev, LPSTR cmd, int n)
-# endif
-{
-# if NTEST > 0
-   HANDLE h[NTEST];
-   int i;
-# endif
-# ifdef MSWINCE
-    HANDLE win_thr_h;
-# endif
-  DWORD thread_id;
-
-# ifdef GC_DLL
-    GC_use_DllMain();  /* Test with implicit thread registration if possible. */
-    GC_printf("Using DllMain to track threads\n");
-# endif
-  GC_INIT();
-# ifndef NO_INCREMENTAL
-    GC_enable_incremental();
-# endif
-  InitializeCriticalSection(&incr_cs);
-  (void) GC_set_warn_proc(warn_proc);
-# ifdef MSWINCE
-    win_created_h = CreateEvent(NULL, FALSE, FALSE, NULL);
-    if (win_created_h == (HANDLE)NULL) {
-      (void)GC_printf("Event creation failed %\n", GetLastError());
-      FAIL;
-    }
-    win_thr_h = GC_CreateThread(NULL, 0, thr_window, 0, 0, &thread_id);
-    if (win_thr_h == (HANDLE)NULL) {
-      (void)GC_printf("Thread creation failed %d\n", GetLastError());
-      FAIL;
-    }
-    if (WaitForSingleObject(win_created_h, INFINITE) != WAIT_OBJECT_0)
-      FAIL;
-    CloseHandle(win_created_h);
-# endif
-# if NTEST > 0
-   for (i = 0; i < NTEST; i++) {
-    h[i] = GC_CreateThread(NULL, 0, thr_run_one_test, 0, 0, &thread_id);
-    if (h[i] == (HANDLE)NULL) {
-      (void)GC_printf("Thread creation failed %d\n", GetLastError());
-      FAIL;
-    }
-   }
-# endif /* NTEST > 0 */
-  run_one_test();
-# if NTEST > 0
-   for (i = 0; i < NTEST; i++) {
-    if (WaitForSingleObject(h[i], INFINITE) != WAIT_OBJECT_0) {
-      (void)GC_printf("Thread wait failed %d\n", GetLastError());
-      FAIL;
-    }
-   }
-# endif /* NTEST > 0 */
-# ifdef MSWINCE
-    PostMessage(win_handle, WM_CLOSE, 0, 0);
-    if (WaitForSingleObject(win_thr_h, INFINITE) != WAIT_OBJECT_0)
-      FAIL;
-# endif
-  check_heap_stats();
-  return(0);
-}
-
-#endif /* GC_WIN32_THREADS */
-
-
-#ifdef PCR
-test()
-{
-    PCR_Th_T * th1;
-    PCR_Th_T * th2;
-    int code;
-
-    n_tests = 0;
-    /* GC_enable_incremental(); */
-    (void) GC_set_warn_proc(warn_proc);
-    th1 = PCR_Th_Fork(run_one_test, 0);
-    th2 = PCR_Th_Fork(run_one_test, 0);
-    run_one_test();
-    if (PCR_Th_T_Join(th1, &code, NIL, PCR_allSigsBlocked, PCR_waitForever)
-        != PCR_ERes_okay || code != 0) {
-        (void)GC_printf("Thread 1 failed\n");
-    }
-    if (PCR_Th_T_Join(th2, &code, NIL, PCR_allSigsBlocked, PCR_waitForever)
-        != PCR_ERes_okay || code != 0) {
-        (void)GC_printf("Thread 2 failed\n");
-    }
-    check_heap_stats();
-    return(0);
-}
-#endif
-
-#if defined(GC_PTHREADS)
-void * thr_run_one_test(void * arg)
-{
-    run_one_test();
-    return(0);
-}
-
-#ifdef GC_DEBUG
-#  define GC_free GC_debug_free
-#endif
-
-int main()
-{
-    pthread_t th1;
-    pthread_t th2;
-    pthread_attr_t attr;
-    int code;
-#   ifdef GC_IRIX_THREADS
-	/* Force a larger stack to be preallocated      */
-	/* Since the initial cant always grow later.	*/
-	*((volatile char *)&code - 1024*1024) = 0;      /* Require 1 Mb */
-#   endif /* GC_IRIX_THREADS */
-#   if defined(GC_HPUX_THREADS)
-	/* Default stack size is too small, especially with the 64 bit ABI */
-	/* Increase it.							   */
-	if (pthread_default_stacksize_np(1024*1024, 0) != 0) {
-          (void)GC_printf("pthread_default_stacksize_np failed.\n");
-	}
-#   endif	/* GC_HPUX_THREADS */
-#   ifdef PTW32_STATIC_LIB
-	pthread_win32_process_attach_np ();
-	pthread_win32_thread_attach_np ();
-#   endif
-    GC_INIT();
-
-    pthread_attr_init(&attr);
-#   if defined(GC_IRIX_THREADS) || defined(GC_FREEBSD_THREADS) \
-    	|| defined(GC_DARWIN_THREADS) || defined(GC_AIX_THREADS)
-    	pthread_attr_setstacksize(&attr, 1000000);
-#   endif
-    n_tests = 0;
-#   if (defined(MPROTECT_VDB)) \
-            && !defined(PARALLEL_MARK) &&!defined(REDIRECT_MALLOC) \
-            && !defined(MAKE_BACK_GRAPH) && !defined(USE_PROC_FOR_LIBRARIES) \
-    	    && !defined(NO_INCREMENTAL)
-    	GC_enable_incremental();
-        (void) GC_printf("Switched to incremental mode\n");
-#     if defined(MPROTECT_VDB)
-        (void)GC_printf("Emulating dirty bits with mprotect/signals\n");
-#     else
-#       ifdef PROC_VDB
-            (void)GC_printf("Reading dirty bits from /proc\n");
-#       else
-            (void)GC_printf("Using DEFAULT_VDB dirty bit implementation\n");
-#       endif
-#     endif
-#   endif
-    (void) GC_set_warn_proc(warn_proc);
-    if ((code = pthread_key_create(&fl_key, 0)) != 0) {
-        (void)GC_printf("Key creation failed %d\n", code);
-    	FAIL;
-    }
-    if ((code = pthread_create(&th1, &attr, thr_run_one_test, 0)) != 0) {
-    	(void)GC_printf("Thread 1 creation failed %d\n", code);
-    	FAIL;
-    }
-    if ((code = pthread_create(&th2, &attr, thr_run_one_test, 0)) != 0) {
-    	(void)GC_printf("Thread 2 creation failed %d\n", code);
-    	FAIL;
-    }
-    run_one_test();
-    if ((code = pthread_join(th1, 0)) != 0) {
-        (void)GC_printf("Thread 1 failed %d\n", code);
-        FAIL;
-    }
-    if (pthread_join(th2, 0) != 0) {
-        (void)GC_printf("Thread 2 failed %d\n", code);
-        FAIL;
-    }
-    check_heap_stats();
-    (void)fflush(stdout);
-    pthread_attr_destroy(&attr);
-    GC_printf("Completed %d collections\n", GC_gc_no);
-#   ifdef PTW32_STATIC_LIB
-	pthread_win32_thread_detach_np ();
-	pthread_win32_process_detach_np ();
-#   endif
-    return(0);
-}
-#endif /* GC_PTHREADS */
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/test_cpp.cc b/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/test_cpp.cc
deleted file mode 100755
index 1c57afa..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/test_cpp.cc
+++ /dev/null
@@ -1,292 +0,0 @@
-/****************************************************************************
-Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
- 
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- 
-Permission is hereby granted to use or copy this program for any
-purpose, provided the above notices are retained on all copies.
-Permission to modify the code and to distribute modified code is
-granted, provided the above notices are retained, and a notice that
-the code was modified is included with the above copyright notice.
-****************************************************************************
-Last modified on Mon Jul 10 21:06:03 PDT 1995 by ellis
-     modified on December 20, 1994 7:27 pm PST by boehm
-
-usage: test_cpp number-of-iterations
-
-This program tries to test the specific C++ functionality provided by
-gc_c++.h that isn't tested by the more general test routines of the
-collector.
-
-A recommended value for number-of-iterations is 10, which will take a
-few minutes to complete.
-
-***************************************************************************/
-
-#include "gc_cpp.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#define USE_STD_ALLOCATOR
-#ifdef USE_STD_ALLOCATOR
-#   include "gc_allocator.h"
-#elif __GNUC__
-#   include "new_gc_alloc.h"
-#else
-#   include "gc_alloc.h"
-#endif
-extern "C" {
-# include "private/gcconfig.h"
-  GC_API void GC_printf(const char *format, ...);
-  /* Use GC private output to reach the same log file.  */
-  /* Don't include gc_priv.h, since that may include Windows system	*/
-  /* header files that don't take kindly to this context.		*/
-}
-#ifdef MSWIN32
-#   include <windows.h>
-#endif
-#ifdef GC_NAME_CONFLICT
-#   define USE_GC UseGC
-    struct foo * GC;
-#else
-#   define USE_GC GC
-#endif
-
-
-#define my_assert( e ) \
-    if (! (e)) { \
-        GC_printf( "Assertion failure in " __FILE__ ", line %d: " #e "\n", \
-                    __LINE__ ); \
-        exit( 1 ); }
-
-
-class A {public:
-    /* An uncollectable class. */
-
-    A( int iArg ): i( iArg ) {}
-    void Test( int iArg ) {
-        my_assert( i == iArg );} 
-    int i;};
-
-
-class B: public gc, public A {public:
-    /* A collectable class. */
-
-    B( int j ): A( j ) {}
-    ~B() {
-        my_assert( deleting );}
-    static void Deleting( int on ) {
-        deleting = on;}
-    static int deleting;};
-
-int B::deleting = 0;
-
-
-class C: public gc_cleanup, public A {public:
-    /* A collectable class with cleanup and virtual multiple inheritance. */
-
-    C( int levelArg ): A( levelArg ), level( levelArg ) {
-        nAllocated++;
-        if (level > 0) {
-            left = new C( level - 1 );
-            right = new C( level - 1 );}
-        else {
-            left = right = 0;}}
-    ~C() {
-        this->A::Test( level );
-        nFreed++;
-        my_assert( level == 0 ? 
-                   left == 0 && right == 0 :
-                   level == left->level + 1 && level == right->level + 1 );
-        left = right = 0;
-        level = -123456;}
-    static void Test() {
-        my_assert( nFreed <= nAllocated && nFreed >= .8 * nAllocated );}
-
-    static int nFreed;
-    static int nAllocated;
-    int level;
-    C* left;
-    C* right;};
-
-int C::nFreed = 0;
-int C::nAllocated = 0;
-
-
-class D: public gc {public:
-    /* A collectable class with a static member function to be used as
-    an explicit clean-up function supplied to ::new. */
-
-    D( int iArg ): i( iArg ) {
-        nAllocated++;}
-    static void CleanUp( void* obj, void* data ) {
-        D* self = (D*) obj;
-        nFreed++;
-        my_assert( self->i == (int) (GC_word) data );}
-    static void Test() {
-        my_assert( nFreed >= .8 * nAllocated );}
-       
-    int i;
-    static int nFreed;
-    static int nAllocated;};
-
-int D::nFreed = 0;
-int D::nAllocated = 0;
-
-
-class E: public gc_cleanup {public:
-    /* A collectable class with clean-up for use by F. */
-
-    E() {
-        nAllocated++;}
-    ~E() {
-        nFreed++;}
-
-    static int nFreed;
-    static int nAllocated;};
-    
-int E::nFreed = 0;
-int E::nAllocated = 0;
-   
-
-class F: public E {public:
-    /* A collectable class with clean-up, a base with clean-up, and a
-    member with clean-up. */
-
-    F() {
-        nAllocated++;}
-    ~F() {
-        nFreed++;}
-    static void Test() {
-        my_assert( nFreed >= .8 * nAllocated );
-        my_assert( 2 * nFreed == E::nFreed );}
-       
-    E e;
-    static int nFreed;
-    static int nAllocated;};
-    
-int F::nFreed = 0;
-int F::nAllocated = 0;
-   
-
-GC_word Disguise( void* p ) {
-    return ~ (GC_word) p;}
-
-void* Undisguise( GC_word i ) {
-    return (void*) ~ i;}
-
-
-#ifdef MSWIN32
-int APIENTRY WinMain(
-    HINSTANCE instance, HINSTANCE prev, LPSTR cmd, int cmdShow ) 
-{
-    int argc;
-    char* argv[ 3 ];
-
-    for (argc = 1; argc < sizeof( argv ) / sizeof( argv[ 0 ] ); argc++) {
-        argv[ argc ] = strtok( argc == 1 ? cmd : 0, " \t" );
-        if (0 == argv[ argc ]) break;}
-
-#else
-# ifdef MACOS
-    int main() {
-# else
-    int main( int argc, char* argv[] ) {
-# endif
-#endif
-
-   GC_INIT();
-
-#  if defined(MACOS)                        // MacOS
-    char* argv_[] = {"test_cpp", "10"};     //   doesn't
-    argv = argv_;                           //     have a
-    argc = sizeof(argv_)/sizeof(argv_[0]);  //       commandline
-#  endif 
-    int i, iters, n;
-#   ifdef USE_STD_ALLOCATOR
-      int *x = gc_allocator<int>().allocate(1);
-      int **xptr = traceable_allocator<int *>().allocate(1);
-#   else 
-#     ifdef __GNUC__
-          int *x = (int *)gc_alloc::allocate(sizeof(int));
-#     else
-          int *x = (int *)alloc::allocate(sizeof(int));
-#     endif
-#   endif
-    *x = 29;
-#   ifdef USE_STD_ALLOCATOR
-      *xptr = x;
-      x = 0;
-#   endif
-    if (argc != 2 || (0 >= (n = atoi( argv[ 1 ] )))) {
-        GC_printf( "usage: test_cpp number-of-iterations\nAssuming 10 iters\n" );
-        n = 10;}
-        
-    for (iters = 1; iters <= n; iters++) {
-        GC_printf( "Starting iteration %d\n", iters );
-
-            /* Allocate some uncollectable As and disguise their pointers.
-            Later we'll check to see if the objects are still there.  We're
-            checking to make sure these objects really are uncollectable. */
-        GC_word as[ 1000 ];
-        GC_word bs[ 1000 ];
-        for (i = 0; i < 1000; i++) {
-            as[ i ] = Disguise( new (NoGC) A( i ) );
-            bs[ i ] = Disguise( new (NoGC) B( i ) );}
-
-            /* Allocate a fair number of finalizable Cs, Ds, and Fs.
-            Later we'll check to make sure they've gone away. */
-        for (i = 0; i < 1000; i++) {
-            C* c = new C( 2 );
-            C c1( 2 );           /* stack allocation should work too */
-            D* d = ::new (USE_GC, D::CleanUp, (void*)(GC_word)i) D( i );
-            F* f = new F;
-            if (0 == i % 10) delete c;}
-
-            /* Allocate a very large number of collectable As and Bs and
-            drop the references to them immediately, forcing many
-            collections. */
-        for (i = 0; i < 1000000; i++) {
-            A* a = new (USE_GC) A( i );
-            B* b = new B( i );
-            b = new (USE_GC) B( i );
-            if (0 == i % 10) {
-                B::Deleting( 1 );
-                delete b;
-                B::Deleting( 0 );}
-#	    ifdef FINALIZE_ON_DEMAND
-	      GC_invoke_finalizers();
-#	    endif
-	    }
-
-            /* Make sure the uncollectable As and Bs are still there. */
-        for (i = 0; i < 1000; i++) {
-            A* a = (A*) Undisguise( as[ i ] );
-            B* b = (B*) Undisguise( bs[ i ] );
-            a->Test( i );
-            delete a;
-            b->Test( i );
-            B::Deleting( 1 );
-            delete b;
-            B::Deleting( 0 );
-#	    ifdef FINALIZE_ON_DEMAND
-	   	 GC_invoke_finalizers();
-#	    endif
-
-	    }
-
-            /* Make sure most of the finalizable Cs, Ds, and Fs have
-            gone away. */
-        C::Test();
-        D::Test();
-        F::Test();}
-
-#   ifdef USE_STD_ALLOCATOR
-      x = *xptr;
-#   endif
-    my_assert (29 == x[0]);
-    GC_printf( "The test appears to have succeeded.\n" );
-    return( 0 );}
-    
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/tests.am b/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/tests.am
deleted file mode 100755
index 3e02e22..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/tests.am
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-#
-# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-# OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-#
-# Permission is hereby granted to use or copy this program
-# for any purpose,  provided the above notices are retained on all copies.
-# Permission to modify the code and to distribute modified code is granted,
-# provided the above notices are retained, and a notice that the code was
-# modified is included with the above copyright notice.
-
-
-## FIXME: trace_test don't works on macosx 10.3 
-## gcc -g -O2 -o .libs/tracetest trace_test.o  ../.libs/libgc.dylib -lpthread
-## ld: Undefined symbols:
-## _GC_generate_random_backtrace
-
-
-# Common libs to _LDADD for all tests.
-test_ldadd = $(top_builddir)/libgc.la $(EXTRA_TEST_LIBS)
-
-
-TESTS += gctest$(EXEEXT)
-check_PROGRAMS += gctest
-gctest_SOURCES = tests/test.c
-gctest_LDADD = $(test_ldadd)
-gctest_DEPENDENCIES = $(top_builddir)/libgc.la
-
-TESTS += leaktest$(EXEEXT)
-check_PROGRAMS += leaktest
-leaktest_SOURCES = tests/leak_test.c
-leaktest_LDADD = $(test_ldadd)
-
-TESTS += middletest$(EXEEXT)
-check_PROGRAMS += middletest
-middletest_SOURCES = tests/middle.c
-middletest_LDADD = $(test_ldadd)
-
-#TESTS += tracetest$(EXEEXT)
-#check_PROGRAMS += tracetest
-#tracetest_SOURCES = tests/trace_test.c
-#tracetest_LDADD = $(test_ldadd)
-
-if THREADS
-TESTS += threadleaktest$(EXEEXT)
-check_PROGRAMS += threadleaktest
-threadleaktest_SOURCES = tests/thread_leak_test.c
-threadleaktest_LDADD = $(test_ldadd)
-endif
-
-if CPLUSPLUS
-TESTS += test_cpp$(EXEEXT)
-check_PROGRAMS += test_cpp
-test_cpp_SOURCES = tests/test_cpp.cc
-test_cpp_LDADD = libgccpp.la $(test_ldadd)
-endif
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/thread_leak_test.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/thread_leak_test.c
deleted file mode 100755
index 9a985f9..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/tests/thread_leak_test.c
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef GC_THREADS
-#  define GC_THREADS
-#endif /* GC_THREADS */
-#include "leak_detector.h"
-#include <pthread.h>
-#include <stdio.h>
-
-void * test(void * arg) {
-    int *p[10];
-    int i;
-    GC_find_leak = 1; /* for new collect versions not compiled  */
-    /* with -DFIND_LEAK.                                        */
-    for (i = 0; i < 10; ++i) {
-        p[i] = malloc(sizeof(int)+i);
-    }
-    CHECK_LEAKS();
-    for (i = 1; i < 10; ++i) {
-        free(p[i]);
-    }
-    return 0;
-}       
-
-#define NTHREADS 5
-
-main() {
-    int i;
-    pthread_t t[NTHREADS];
-    int code;
-
-    GC_INIT();
-    for (i = 0; i < NTHREADS; ++i) {
-	if ((code = pthread_create(t + i, 0, test, 0)) != 0) {
-    	    printf("Thread creation failed %d\n", code);
-        }
-    }
-    for (i = 0; i < NTHREADS; ++i) {
-	if ((code = pthread_join(t[i], 0)) != 0) {
-            printf("Thread join failed %lu\n", code);
-        }
-    }
-    CHECK_LEAKS();
-    CHECK_LEAKS();
-    CHECK_LEAKS();
-    return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/thread_local_alloc.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/thread_local_alloc.c
deleted file mode 100755
index bc5fdad..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/thread_local_alloc.c
+++ /dev/null
@@ -1,310 +0,0 @@
-/* 
- * Copyright (c) 2000-2005 by Hewlett-Packard Company.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-#include "private/gc_priv.h"
-
-# if defined(THREAD_LOCAL_ALLOC)
-
-#include "private/thread_local_alloc.h"
-#include "gc_inline.h"
-
-# include <stdlib.h>
-
-#if defined(USE_COMPILER_TLS)
-  __thread
-#elif defined(USE_WIN32_COMPILER_TLS)
-  __declspec(thread)
-#endif
-GC_key_t GC_thread_key;
-
-static GC_bool keys_initialized;
-
-/* Return a single nonempty freelist fl to the global one pointed to 	*/
-/* by gfl.	*/
-
-static void return_single_freelist(void *fl, void **gfl)
-{
-    void *q, **qptr;
-
-    if (*gfl == 0) {
-      *gfl = fl;
-    } else {
-      GC_ASSERT(GC_size(fl) == GC_size(*gfl));
-      /* Concatenate: */
-	for (qptr = &(obj_link(fl)), q = *qptr;
-	     (word)q >= HBLKSIZE; qptr = &(obj_link(q)), q = *qptr);
-	GC_ASSERT(0 == q);
-	*qptr = *gfl;
-	*gfl = fl;
-    }
-}
-
-/* Recover the contents of the freelist array fl into the global one gfl.*/
-/* We hold the allocator lock.						*/
-static void return_freelists(void **fl, void **gfl)
-{
-    int i;
-
-    for (i = 1; i < TINY_FREELISTS; ++i) {
-	if ((word)(fl[i]) >= HBLKSIZE) {
-	  return_single_freelist(fl[i], gfl+i);
-	}
-	/* Clear fl[i], since the thread structure may hang around.	*/
-	/* Do it in a way that is likely to trap if we access it.	*/
-	fl[i] = (ptr_t)HBLKSIZE;
-    }
-    /* The 0 granule freelist really contains 1 granule objects.	*/
-#   ifdef GC_GCJ_SUPPORT
-      if (fl[0] == ERROR_FL) return;
-#   endif
-    if ((word)(fl[0]) >= HBLKSIZE) {
-        return_single_freelist(fl[0], gfl+1);
-    }
-}
-
-/* Each thread structure must be initialized.	*/
-/* This call must be made from the new thread.	*/
-/* Caller holds allocation lock.		*/
-void GC_init_thread_local(GC_tlfs p)
-{
-    int i;
-
-    if (!keys_initialized) {
-	if (0 != GC_key_create(&GC_thread_key, 0)) {
-	    ABORT("Failed to create key for local allocator");
-        }
-	keys_initialized = TRUE;
-    }
-    if (0 != GC_setspecific(GC_thread_key, p)) {
-	ABORT("Failed to set thread specific allocation pointers");
-    }
-    for (i = 1; i < TINY_FREELISTS; ++i) {
-	p -> ptrfree_freelists[i] = (void *)1;
-	p -> normal_freelists[i] = (void *)1;
-#	ifdef GC_GCJ_SUPPORT
-	  p -> gcj_freelists[i] = (void *)1;
-#	endif
-    }   
-    /* Set up the size 0 free lists.	*/
-    /* We now handle most of them like regular free lists, to ensure	*/
-    /* That explicit deallocation works.  However, allocation of a	*/
-    /* size 0 "gcj" object is always an error.				*/
-    p -> ptrfree_freelists[0] = (void *)1;
-    p -> normal_freelists[0] = (void *)1;
-#   ifdef GC_GCJ_SUPPORT
-        p -> gcj_freelists[0] = ERROR_FL;
-#   endif
-}
-
-#ifdef GC_GCJ_SUPPORT
-  extern void ** GC_gcjobjfreelist;
-#endif
-
-/* We hold the allocator lock.	*/
-void GC_destroy_thread_local(GC_tlfs p)
-{
-    /* We currently only do this from the thread itself or from	*/
-    /* the fork handler for a child process.			*/
-#   ifndef HANDLE_FORK
-      GC_ASSERT(GC_getspecific(GC_thread_key) == (void *)p);
-#   endif
-    return_freelists(p -> ptrfree_freelists, GC_aobjfreelist);
-    return_freelists(p -> normal_freelists, GC_objfreelist);
-#   ifdef GC_GCJ_SUPPORT
-   	return_freelists(p -> gcj_freelists, GC_gcjobjfreelist);
-#   endif
-}
-
-#if defined(GC_ASSERTIONS) && defined(GC_PTHREADS) && !defined(CYGWIN32) \
-    && !defined(GC_WIN32_PTHREADS)
-# include <pthread.h>
-  extern char * GC_lookup_thread(pthread_t id);
-#endif
-
-#if defined(GC_ASSERTIONS) && defined(GC_WIN32_THREADS)
-  extern char * GC_lookup_thread(int id);
-#endif
-
-void * GC_malloc(size_t bytes)
-{
-    size_t granules = ROUNDED_UP_GRANULES(bytes);
-    void *tsd;
-    void *result;
-    void **tiny_fl;
-
-#   if defined(REDIRECT_MALLOC) && !defined(USE_PTHREAD_SPECIFIC)
-      GC_key_t k = GC_thread_key;
-      if (EXPECT(0 == k, 0)) {
-	/* We haven't yet run GC_init_parallel.  That means	*/
-	/* we also aren't locking, so this is fairly cheap.	*/
-	return GC_core_malloc(bytes);
-      }
-      tsd = GC_getspecific(k);
-#   else
-      GC_ASSERT(GC_is_initialized);
-      tsd = GC_getspecific(GC_thread_key);
-#   endif
-#   if defined(REDIRECT_MALLOC) && defined(USE_PTHREAD_SPECIFIC)
-      if (EXPECT(NULL == tsd, 0)) {
-	return GC_core_malloc(bytes);
-      }
-#   endif
-#   ifdef GC_ASSERTIONS
-      /* We can't check tsd correctly, since we don't have access to 	*/
-      /* the right declarations.  But we can check that it's close.	*/
-      LOCK();
-      {
-#	if defined(GC_WIN32_THREADS)
-	  char * me = (char *)GC_lookup_thread_inner(GetCurrentThreadId());
-#       else
-	  char * me = GC_lookup_thread(pthread_self());
-#	endif
-        GC_ASSERT((char *)tsd > me && (char *)tsd < me + 1000);
-      }
-      UNLOCK();
-#   endif
-    tiny_fl = ((GC_tlfs)tsd) -> normal_freelists;
-    GC_FAST_MALLOC_GRANS(result, granules, tiny_fl, DIRECT_GRANULES,
-		         NORMAL, GC_core_malloc(bytes), obj_link(result)=0);
-    return result;
-}
-
-void * GC_malloc_atomic(size_t bytes)
-{
-    size_t granules = ROUNDED_UP_GRANULES(bytes);
-    void *result;
-    void **tiny_fl;
-
-    GC_ASSERT(GC_is_initialized);
-    tiny_fl = ((GC_tlfs)GC_getspecific(GC_thread_key))
-		        		-> ptrfree_freelists;
-    GC_FAST_MALLOC_GRANS(result, bytes, tiny_fl, DIRECT_GRANULES,
-		         PTRFREE, GC_core_malloc_atomic(bytes), 0/* no init */);
-    return result;
-}
-
-#ifdef GC_GCJ_SUPPORT
-
-#include "include/gc_gcj.h"
-
-#ifdef GC_ASSERTIONS
-  extern GC_bool GC_gcj_malloc_initialized;
-#endif
-
-extern int GC_gcj_kind;
-
-/* Gcj-style allocation without locks is extremely tricky.  The 	*/
-/* fundamental issue is that we may end up marking a free list, which	*/
-/* has freelist links instead of "vtable" pointers.  That is usually	*/
-/* OK, since the next object on the free list will be cleared, and	*/
-/* will thus be interpreted as containg a zero descriptor.  That's fine	*/
-/* if the object has not yet been initialized.  But there are		*/
-/* interesting potential races.						*/
-/* In the case of incremental collection, this seems hopeless, since	*/
-/* the marker may run asynchronously, and may pick up the pointer to  	*/
-/* the next freelist entry (which it thinks is a vtable pointer), get	*/
-/* suspended for a while, and then see an allocated object instead	*/
-/* of the vtable.  This made be avoidable with either a handshake with	*/
-/* the collector or, probably more easily, by moving the free list	*/
-/* links to the second word of each object.  The latter isn't a		*/
-/* universal win, since on architecture like Itanium, nonzero offsets	*/
-/* are not necessarily free.  And there may be cache fill order issues.	*/
-/* For now, we punt with incremental GC.  This probably means that	*/
-/* incremental GC should be enabled before we fork a second thread.	*/
-void * GC_gcj_malloc(size_t bytes,
-		     void * ptr_to_struct_containing_descr)
-{
-  if (GC_EXPECT(GC_incremental, 0)) {
-    return GC_core_gcj_malloc(bytes, ptr_to_struct_containing_descr);
-  } else {
-    size_t granules = ROUNDED_UP_GRANULES(bytes);
-    void *result;
-    void **tiny_fl = ((GC_tlfs)GC_getspecific(GC_thread_key))
-		        		-> gcj_freelists;
-    GC_ASSERT(GC_gcj_malloc_initialized);
-    GC_FAST_MALLOC_GRANS(result, bytes, tiny_fl, DIRECT_GRANULES,
-		         GC_gcj_kind,
-			 GC_core_gcj_malloc(bytes,
-				 	    ptr_to_struct_containing_descr),
-			 {AO_compiler_barrier();
-			  *(void **)result = ptr_to_struct_containing_descr;});
-    	/* This forces the initialization of the "method ptr".		*/
-        /* This is necessary to ensure some very subtle properties	*/
-    	/* required if a GC is run in the middle of such an allocation.	*/
-    	/* Here we implicitly also assume atomicity for the free list.	*/
-        /* and method pointer assignments.				*/
-	/* We must update the freelist before we store the pointer.	*/
-	/* Otherwise a GC at this point would see a corrupted		*/
-	/* free list.							*/
-	/* A real memory barrier is not needed, since the 		*/
-	/* action of stopping this thread will cause prior writes	*/
-	/* to complete.							*/
-	/* We assert that any concurrent marker will stop us.		*/
-	/* Thus it is impossible for a mark procedure to see the 	*/
-	/* allocation of the next object, but to see this object 	*/
-	/* still containing a free list pointer.  Otherwise the 	*/
-	/* marker, by misinterpreting the freelist link as a vtable	*/
-        /* pointer, might find a random "mark descriptor" in the next	*/
-        /* object.							*/
-    return result;
-  }
-}
-
-#endif /* GC_GCJ_SUPPORT */
-
-/* The thread support layer must arrange to mark thread-local	*/
-/* free lists explicitly, since the link field is often 	*/
-/* invisible to the marker.  It knows hoe to find all threads;	*/
-/* we take care of an individual thread freelist structure.	*/
-void GC_mark_thread_local_fls_for(GC_tlfs p)
-{
-    ptr_t q;
-    int j;
-    
-    for (j = 1; j < TINY_FREELISTS; ++j) {
-      q = p -> ptrfree_freelists[j];
-      if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
-      q = p -> normal_freelists[j];
-      if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
-#     ifdef GC_GCJ_SUPPORT
-        q = p -> gcj_freelists[j];
-        if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
-#     endif /* GC_GCJ_SUPPORT */
-    }
-}
-
-#if defined(GC_ASSERTIONS)
-    /* Check that all thread-local free-lists in p are completely marked.	*/
-    void GC_check_tls_for(GC_tlfs p)
-    {
-	ptr_t q;
-	int j;
-	
-	for (j = 1; j < TINY_FREELISTS; ++j) {
-	  q = p -> ptrfree_freelists[j];
-	  if ((word)q > HBLKSIZE) GC_check_fl_marks(q);
-	  q = p -> normal_freelists[j];
-	  if ((word)q > HBLKSIZE) GC_check_fl_marks(q);
-#	  ifdef GC_GCJ_SUPPORT
-	    q = p -> gcj_freelists[j];
-	    if ((word)q > HBLKSIZE) GC_check_fl_marks(q);
-#	  endif /* GC_GCJ_SUPPORT */
-	}
-    }
-#endif /* GC_ASSERTIONS */
-
-# else  /* !THREAD_LOCAL_ALLOC  */
-
-#   define GC_destroy_thread_local(t)
-
-# endif /* !THREAD_LOCAL_ALLOC */
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/threadlibs.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/threadlibs.c
deleted file mode 100755
index 6909135..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/threadlibs.c
+++ /dev/null
@@ -1,63 +0,0 @@
-# include "gc_config_macros.h"
-# include "private/gcconfig.h"
-# include <stdio.h>
-
-int main()
-{
-#   if defined(GC_USE_LD_WRAP)
-	printf("-Wl,--wrap -Wl,dlopen "
-	       "-Wl,--wrap -Wl,pthread_create -Wl,--wrap -Wl,pthread_join "
-	       "-Wl,--wrap -Wl,pthread_detach "
-	       "-Wl,--wrap -Wl,pthread_sigmask -Wl,--wrap -Wl,sleep\n");
-#   endif
-#   if defined(GC_LINUX_THREADS) || defined(GC_IRIX_THREADS) \
-	|| defined(GC_DARWIN_THREADS) || defined(GC_AIX_THREADS) \
-	|| defined(GC_GNU_THREADS)
-#       ifdef GC_USE_DLOPEN_WRAP
-	  printf("-ldl ");
-#	endif
-        printf("-lpthread\n");
-#   endif
-#   if defined(GC_FREEBSD_THREADS)
-#       ifdef GC_USE_DLOPEN_WRAP
-	  printf("-ldl ");
-#	endif
-#       if (__FREEBSD_version >= 500000)
-          printf("-lpthread\n");
-#       else
-          printf("-pthread\n");
-#       endif
-#   endif
-#   if defined(GC_NETBSD_THREADS)
-	  printf("-lpthread -lrt\n");
-#   endif
-
-#   if defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS)
-	printf("-lpthread -lrt\n");
-#   endif
-#   if defined(GC_SOLARIS_THREADS)
-        printf("-lthread -lposix4\n");
-		/* Is this right for recent versions? */
-#   endif
-#   if defined(GC_WIN32_THREADS) && defined(CYGWIN32)
-        printf("-lpthread\n");
-#   endif
-#   if defined(GC_WIN32_PTHREADS)
-#      ifdef PTW32_STATIC_LIB
-	 /* assume suffix s for static version of the win32 pthread library */
-         printf("-lpthreadGC2s -lws2_32\n");
-#      else
-         printf("-lpthreadGC2\n");
-#      endif
-#   endif
-#   if defined(GC_OSF1_THREADS)
-	printf("-pthread -lrt"); /* DOB: must be -pthread, not -lpthread */
-#   endif
-    /* You need GCC 3.0.3 to build this one!           */  
-    /* DG/UX native gcc doesnt know what "-pthread" is */
-#   if defined(GC_DGUX386_THREADS)
-        printf("-ldl -pthread\n");
-#   endif
-    return 0;
-}
-
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/typd_mlc.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/typd_mlc.c
deleted file mode 100755
index ea354f8..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/typd_mlc.c
+++ /dev/null
@@ -1,722 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * opyright (c) 1999-2000 by Hewlett-Packard Company.  All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-
-
-/*
- * Some simple primitives for allocation with explicit type information.
- * Simple objects are allocated such that they contain a GC_descr at the
- * end (in the last allocated word).  This descriptor may be a procedure
- * which then examines an extended descriptor passed as its environment.
- *
- * Arrays are treated as simple objects if they have sufficiently simple
- * structure.  Otherwise they are allocated from an array kind that supplies
- * a special mark procedure.  These arrays contain a pointer to a
- * complex_descriptor as their last word.
- * This is done because the environment field is too small, and the collector
- * must trace the complex_descriptor.
- *
- * Note that descriptors inside objects may appear cleared, if we encounter a
- * false refrence to an object on a free list.  In the GC_descr case, this
- * is OK, since a 0 descriptor corresponds to examining no fields.
- * In the complex_descriptor case, we explicitly check for that case.
- *
- * MAJOR PARTS OF THIS CODE HAVE NOT BEEN TESTED AT ALL and are not testable,
- * since they are not accessible through the current interface.
- */
-
-#include "private/gc_pmark.h"
-#include "gc_typed.h"
-
-# define TYPD_EXTRA_BYTES (sizeof(word) - EXTRA_BYTES)
-
-GC_bool GC_explicit_typing_initialized = FALSE;
-
-int GC_explicit_kind;	/* Object kind for objects with indirect	*/
-			/* (possibly extended) descriptors.		*/
-
-int GC_array_kind;	/* Object kind for objects with complex		*/
-			/* descriptors and GC_array_mark_proc.		*/
-
-/* Extended descriptors.  GC_typed_mark_proc understands these.	*/
-/* These are used for simple objects that are larger than what	*/
-/* can be described by a BITMAP_BITS sized bitmap.		*/
-typedef struct {
-	word ed_bitmap;	/* lsb corresponds to first word.	*/
-	GC_bool ed_continued;	/* next entry is continuation.	*/
-} ext_descr;
-
-/* Array descriptors.  GC_array_mark_proc understands these.	*/
-/* We may eventually need to add provisions for headers and	*/
-/* trailers.  Hence we provide for tree structured descriptors, */
-/* though we don't really use them currently.			*/
-typedef union ComplexDescriptor {
-    struct LeafDescriptor {	/* Describes simple array	*/
-        word ld_tag;
-#	define LEAF_TAG 1
-	size_t ld_size;		/* bytes per element	*/
-				/* multiple of ALIGNMENT	*/
-	size_t ld_nelements;	/* Number of elements.	*/
-	GC_descr ld_descriptor; /* A simple length, bitmap,	*/
-				/* or procedure descriptor.	*/
-    } ld;
-    struct ComplexArrayDescriptor {
-        word ad_tag;
-#	define ARRAY_TAG 2
-	size_t ad_nelements;
-	union ComplexDescriptor * ad_element_descr;
-    } ad;
-    struct SequenceDescriptor {
-        word sd_tag;
-#	define SEQUENCE_TAG 3
-	union ComplexDescriptor * sd_first;
-	union ComplexDescriptor * sd_second;
-    } sd;
-} complex_descriptor;
-#define TAG ld.ld_tag
-
-ext_descr * GC_ext_descriptors;	/* Points to array of extended 	*/
-				/* descriptors.			*/
-
-size_t GC_ed_size = 0;	/* Current size of above arrays.	*/
-# define ED_INITIAL_SIZE 100;
-
-size_t GC_avail_descr = 0;	/* Next available slot.		*/
-
-int GC_typed_mark_proc_index;	/* Indices of my mark		*/
-int GC_array_mark_proc_index;	/* procedures.			*/
-
-/* Add a multiword bitmap to GC_ext_descriptors arrays.  Return	*/
-/* starting index.						*/
-/* Returns -1 on failure.					*/
-/* Caller does not hold allocation lock.			*/
-signed_word GC_add_ext_descriptor(GC_bitmap bm, word nbits)
-{
-    size_t nwords = divWORDSZ(nbits + WORDSZ-1);
-    signed_word result;
-    size_t i;
-    word last_part;
-    size_t extra_bits;
-    DCL_LOCK_STATE;
-
-    LOCK();
-    while (GC_avail_descr + nwords >= GC_ed_size) {
-    	ext_descr * new;
-    	size_t new_size;
-    	word ed_size = GC_ed_size;
-    	
-    	UNLOCK();
-    	if (ed_size == 0) {
-    	    new_size = ED_INITIAL_SIZE;
-    	} else {
-    	    new_size = 2 * ed_size;
-    	    if (new_size > MAX_ENV) return(-1);
-    	} 
-    	new = (ext_descr *) GC_malloc_atomic(new_size * sizeof(ext_descr));
-    	if (new == 0) return(-1);
-        LOCK();
-        if (ed_size == GC_ed_size) {
-            if (GC_avail_descr != 0) {
-    	        BCOPY(GC_ext_descriptors, new,
-    	              GC_avail_descr * sizeof(ext_descr));
-    	    }
-    	    GC_ed_size = new_size;
-    	    GC_ext_descriptors = new;
-    	}  /* else another thread already resized it in the meantime */
-    }
-    result = GC_avail_descr;
-    for (i = 0; i < nwords-1; i++) {
-        GC_ext_descriptors[result + i].ed_bitmap = bm[i];
-        GC_ext_descriptors[result + i].ed_continued = TRUE;
-    }
-    last_part = bm[i];
-    /* Clear irrelevant bits. */
-    extra_bits = nwords * WORDSZ - nbits;
-    last_part <<= extra_bits;
-    last_part >>= extra_bits;
-    GC_ext_descriptors[result + i].ed_bitmap = last_part;
-    GC_ext_descriptors[result + i].ed_continued = FALSE;
-    GC_avail_descr += nwords;
-    UNLOCK();
-    return(result);
-}
-
-/* Table of bitmap descriptors for n word long all pointer objects.	*/
-GC_descr GC_bm_table[WORDSZ/2];
-	
-/* Return a descriptor for the concatenation of 2 nwords long objects,	*/
-/* each of which is described by descriptor.				*/
-/* The result is known to be short enough to fit into a bitmap		*/
-/* descriptor.								*/
-/* Descriptor is a GC_DS_LENGTH or GC_DS_BITMAP descriptor.		*/
-GC_descr GC_double_descr(GC_descr descriptor, word nwords)
-{
-    if ((descriptor & GC_DS_TAGS) == GC_DS_LENGTH) {
-        descriptor = GC_bm_table[BYTES_TO_WORDS((word)descriptor)];
-    };
-    descriptor |= (descriptor & ~GC_DS_TAGS) >> nwords;
-    return(descriptor);
-}
-
-complex_descriptor * GC_make_sequence_descriptor();
-
-/* Build a descriptor for an array with nelements elements,	*/
-/* each of which can be described by a simple descriptor.	*/
-/* We try to optimize some common cases.			*/
-/* If the result is COMPLEX, then a complex_descr* is returned  */
-/* in *complex_d.							*/
-/* If the result is LEAF, then we built a LeafDescriptor in	*/
-/* the structure pointed to by leaf.				*/
-/* The tag in the leaf structure is not set.			*/
-/* If the result is SIMPLE, then a GC_descr			*/
-/* is returned in *simple_d.					*/
-/* If the result is NO_MEM, then				*/
-/* we failed to allocate the descriptor.			*/
-/* The implementation knows that GC_DS_LENGTH is 0.		*/
-/* *leaf, *complex_d, and *simple_d may be used as temporaries	*/
-/* during the construction.					*/
-# define COMPLEX 2
-# define LEAF 1
-# define SIMPLE 0
-# define NO_MEM (-1)
-int GC_make_array_descriptor(size_t nelements, size_t size, GC_descr descriptor,
-			     GC_descr *simple_d,
-			     complex_descriptor **complex_d,
-			     struct LeafDescriptor * leaf)
-{
-#   define OPT_THRESHOLD 50
-	/* For larger arrays, we try to combine descriptors of adjacent	*/
-	/* descriptors to speed up marking, and to reduce the amount	*/
-	/* of space needed on the mark stack.				*/
-    if ((descriptor & GC_DS_TAGS) == GC_DS_LENGTH) {
-      if (descriptor == (GC_descr)size) {
-    	*simple_d = nelements * descriptor;
-    	return(SIMPLE);
-      } else if ((word)descriptor == 0) {
-        *simple_d = (GC_descr)0;
-        return(SIMPLE);
-      }
-    }
-    if (nelements <= OPT_THRESHOLD) {
-      if (nelements <= 1) {
-        if (nelements == 1) {
-            *simple_d = descriptor;
-            return(SIMPLE);
-        } else {
-            *simple_d = (GC_descr)0;
-            return(SIMPLE);
-        }
-      }
-    } else if (size <= BITMAP_BITS/2
-    	       && (descriptor & GC_DS_TAGS) != GC_DS_PROC
-    	       && (size & (sizeof(word)-1)) == 0) {
-      int result =      
-          GC_make_array_descriptor(nelements/2, 2*size,
-      				   GC_double_descr(descriptor,
-      				   		   BYTES_TO_WORDS(size)),
-      				   simple_d, complex_d, leaf);
-      if ((nelements & 1) == 0) {
-          return(result);
-      } else {
-          struct LeafDescriptor * one_element =
-              (struct LeafDescriptor *)
-        	GC_malloc_atomic(sizeof(struct LeafDescriptor));
-          
-          if (result == NO_MEM || one_element == 0) return(NO_MEM);
-          one_element -> ld_tag = LEAF_TAG;
-          one_element -> ld_size = size;
-          one_element -> ld_nelements = 1;
-          one_element -> ld_descriptor = descriptor;
-          switch(result) {
-            case SIMPLE:
-            {
-              struct LeafDescriptor * beginning =
-                (struct LeafDescriptor *)
-        	  GC_malloc_atomic(sizeof(struct LeafDescriptor));
-              if (beginning == 0) return(NO_MEM);
-              beginning -> ld_tag = LEAF_TAG;
-              beginning -> ld_size = size;
-              beginning -> ld_nelements = 1;
-              beginning -> ld_descriptor = *simple_d;
-              *complex_d = GC_make_sequence_descriptor(
-              			(complex_descriptor *)beginning,
-              			(complex_descriptor *)one_element);
-              break;
-            }
-            case LEAF:
-            {
-              struct LeafDescriptor * beginning =
-                (struct LeafDescriptor *)
-        	  GC_malloc_atomic(sizeof(struct LeafDescriptor));
-              if (beginning == 0) return(NO_MEM);
-              beginning -> ld_tag = LEAF_TAG;
-              beginning -> ld_size = leaf -> ld_size;
-              beginning -> ld_nelements = leaf -> ld_nelements;
-              beginning -> ld_descriptor = leaf -> ld_descriptor;
-              *complex_d = GC_make_sequence_descriptor(
-              			(complex_descriptor *)beginning,
-              			(complex_descriptor *)one_element);
-              break;
-            }
-            case COMPLEX:
-              *complex_d = GC_make_sequence_descriptor(
-              			*complex_d,
-              			(complex_descriptor *)one_element);
-              break;
-          }
-          return(COMPLEX);
-      }
-    }
-    {
-        leaf -> ld_size = size;
-        leaf -> ld_nelements = nelements;
-        leaf -> ld_descriptor = descriptor;
-        return(LEAF);
-    }
-}
-
-complex_descriptor * GC_make_sequence_descriptor(complex_descriptor *first,
-						 complex_descriptor *second)
-{
-    struct SequenceDescriptor * result =
-        (struct SequenceDescriptor *)
-        	GC_malloc(sizeof(struct SequenceDescriptor));
-    /* Can't result in overly conservative marking, since tags are	*/
-    /* very small integers. Probably faster than maintaining type	*/
-    /* info.								*/    
-    if (result != 0) {
-    	result -> sd_tag = SEQUENCE_TAG;
-        result -> sd_first = first;
-        result -> sd_second = second;
-    }
-    return((complex_descriptor *)result);
-}
-
-#ifdef UNDEFINED
-complex_descriptor * GC_make_complex_array_descriptor(word nelements,
-						      complex_descriptor *descr)
-{
-    struct ComplexArrayDescriptor * result =
-        (struct ComplexArrayDescriptor *)
-        	GC_malloc(sizeof(struct ComplexArrayDescriptor));
-    
-    if (result != 0) {
-    	result -> ad_tag = ARRAY_TAG;
-        result -> ad_nelements = nelements;
-        result -> ad_element_descr = descr;
-    }
-    return((complex_descriptor *)result);
-}
-#endif
-
-ptr_t * GC_eobjfreelist;
-
-ptr_t * GC_arobjfreelist;
-
-mse * GC_typed_mark_proc(word * addr, mse * mark_stack_ptr,
-			 mse * mark_stack_limit, word env);
-
-mse * GC_array_mark_proc(word * addr, mse * mark_stack_ptr,
-			 mse * mark_stack_limit, word env);
-
-/* Caller does not hold allocation lock. */
-void GC_init_explicit_typing(void)
-{
-    register int i;
-    DCL_LOCK_STATE;
-
-    
-    /* Ignore gcc "no effect" warning.	*/
-    GC_STATIC_ASSERT(sizeof(struct LeafDescriptor) % sizeof(word) == 0);
-    LOCK();
-    if (GC_explicit_typing_initialized) {
-      UNLOCK();
-      return;
-    }
-    GC_explicit_typing_initialized = TRUE;
-    /* Set up object kind with simple indirect descriptor. */
-      GC_eobjfreelist = (ptr_t *)GC_new_free_list_inner();
-      GC_explicit_kind = GC_new_kind_inner(
-		      	    (void **)GC_eobjfreelist,
-		      	    (((word)WORDS_TO_BYTES(-1)) | GC_DS_PER_OBJECT),
-			    TRUE, TRUE);
-    		/* Descriptors are in the last word of the object. */
-      GC_typed_mark_proc_index = GC_new_proc_inner(GC_typed_mark_proc);
-    /* Set up object kind with array descriptor. */
-      GC_arobjfreelist = (ptr_t *)GC_new_free_list_inner();
-      GC_array_mark_proc_index = GC_new_proc_inner(GC_array_mark_proc);
-      GC_array_kind = GC_new_kind_inner(
-		      	    (void **)GC_arobjfreelist,
-			    GC_MAKE_PROC(GC_array_mark_proc_index, 0),
-			    FALSE, TRUE);
-      for (i = 0; i < WORDSZ/2; i++) {
-          GC_descr d = (((word)(-1)) >> (WORDSZ - i)) << (WORDSZ - i);
-          d |= GC_DS_BITMAP;
-          GC_bm_table[i] = d;
-      }
-    UNLOCK();
-}
-
-mse * GC_typed_mark_proc(word * addr, mse * mark_stack_ptr,
-			 mse * mark_stack_limit, word env)
-{
-    word bm = GC_ext_descriptors[env].ed_bitmap;
-    word * current_p = addr;
-    word current;
-    ptr_t greatest_ha = GC_greatest_plausible_heap_addr;
-    ptr_t least_ha = GC_least_plausible_heap_addr;
-    DECLARE_HDR_CACHE;
-
-    INIT_HDR_CACHE;
-    for (; bm != 0; bm >>= 1, current_p++) {
-    	if (bm & 1) {
-    	    current = *current_p;
-	    FIXUP_POINTER(current);
-    	    if ((ptr_t)current >= least_ha && (ptr_t)current <= greatest_ha) {
-    	        PUSH_CONTENTS((ptr_t)current, mark_stack_ptr,
-			      mark_stack_limit, current_p, exit1);
-    	    }
-    	}
-    }
-    if (GC_ext_descriptors[env].ed_continued) {
-        /* Push an entry with the rest of the descriptor back onto the	*/
-        /* stack.  Thus we never do too much work at once.  Note that	*/
-        /* we also can't overflow the mark stack unless we actually 	*/
-        /* mark something.						*/
-        mark_stack_ptr++;
-        if (mark_stack_ptr >= mark_stack_limit) {
-            mark_stack_ptr = GC_signal_mark_stack_overflow(mark_stack_ptr);
-        }
-        mark_stack_ptr -> mse_start = (ptr_t)(addr + WORDSZ);
-        mark_stack_ptr -> mse_descr =
-        	GC_MAKE_PROC(GC_typed_mark_proc_index, env+1);
-    }
-    return(mark_stack_ptr);
-}
-
-/* Return the size of the object described by d.  It would be faster to	*/
-/* store this directly, or to compute it as part of			*/
-/* GC_push_complex_descriptor, but hopefully it doesn't matter.		*/
-word GC_descr_obj_size(complex_descriptor *d)
-{
-    switch(d -> TAG) {
-      case LEAF_TAG:
-      	return(d -> ld.ld_nelements * d -> ld.ld_size);
-      case ARRAY_TAG:
-        return(d -> ad.ad_nelements
-               * GC_descr_obj_size(d -> ad.ad_element_descr));
-      case SEQUENCE_TAG:
-        return(GC_descr_obj_size(d -> sd.sd_first)
-               + GC_descr_obj_size(d -> sd.sd_second));
-      default:
-        ABORT("Bad complex descriptor");
-        /*NOTREACHED*/ return 0; /*NOTREACHED*/
-    }
-}
-
-/* Push descriptors for the object at addr with complex descriptor d	*/
-/* onto the mark stack.  Return 0 if the mark stack overflowed.  	*/
-mse * GC_push_complex_descriptor(word *addr, complex_descriptor *d,
-				 mse *msp, mse *msl)
-{
-    register ptr_t current = (ptr_t) addr;
-    register word nelements;
-    register word sz;
-    register word i;
-    
-    switch(d -> TAG) {
-      case LEAF_TAG:
-        {
-          register GC_descr descr = d -> ld.ld_descriptor;
-          
-          nelements = d -> ld.ld_nelements;
-          if (msl - msp <= (ptrdiff_t)nelements) return(0);
-          sz = d -> ld.ld_size;
-          for (i = 0; i < nelements; i++) {
-              msp++;
-              msp -> mse_start = current;
-              msp -> mse_descr = descr;
-              current += sz;
-          }
-          return(msp);
-        }
-      case ARRAY_TAG:
-        {
-          register complex_descriptor *descr = d -> ad.ad_element_descr;
-          
-          nelements = d -> ad.ad_nelements;
-          sz = GC_descr_obj_size(descr);
-          for (i = 0; i < nelements; i++) {
-              msp = GC_push_complex_descriptor((word *)current, descr,
-              					msp, msl);
-              if (msp == 0) return(0);
-              current += sz;
-          }
-          return(msp);
-        }
-      case SEQUENCE_TAG:
-        {
-          sz = GC_descr_obj_size(d -> sd.sd_first);
-          msp = GC_push_complex_descriptor((word *)current, d -> sd.sd_first,
-          				   msp, msl);
-          if (msp == 0) return(0);
-          current += sz;
-          msp = GC_push_complex_descriptor((word *)current, d -> sd.sd_second,
-          				   msp, msl);
-          return(msp);
-        }
-      default:
-        ABORT("Bad complex descriptor");
-        /*NOTREACHED*/ return 0; /*NOTREACHED*/
-   }
-}
-
-/*ARGSUSED*/
-mse * GC_array_mark_proc(word * addr, mse * mark_stack_ptr,
-			 mse * mark_stack_limit, word env)
-{
-    hdr * hhdr = HDR(addr);
-    size_t sz = hhdr -> hb_sz;
-    size_t nwords = BYTES_TO_WORDS(sz);
-    complex_descriptor * descr = (complex_descriptor *)(addr[nwords-1]);
-    mse * orig_mark_stack_ptr = mark_stack_ptr;
-    mse * new_mark_stack_ptr;
-    
-    if (descr == 0) {
-    	/* Found a reference to a free list entry.  Ignore it. */
-    	return(orig_mark_stack_ptr);
-    }
-    /* In use counts were already updated when array descriptor was	*/
-    /* pushed.  Here we only replace it by subobject descriptors, so 	*/
-    /* no update is necessary.						*/
-    new_mark_stack_ptr = GC_push_complex_descriptor(addr, descr,
-    						    mark_stack_ptr,
-    						    mark_stack_limit-1);
-    if (new_mark_stack_ptr == 0) {
-    	/* Doesn't fit.  Conservatively push the whole array as a unit	*/
-    	/* and request a mark stack expansion.				*/
-    	/* This cannot cause a mark stack overflow, since it replaces	*/
-    	/* the original array entry.					*/
-    	GC_mark_stack_too_small = TRUE;
-    	new_mark_stack_ptr = orig_mark_stack_ptr + 1;
-    	new_mark_stack_ptr -> mse_start = (ptr_t)addr;
-    	new_mark_stack_ptr -> mse_descr = sz | GC_DS_LENGTH;
-    } else {
-        /* Push descriptor itself */
-        new_mark_stack_ptr++;
-        new_mark_stack_ptr -> mse_start = (ptr_t)(addr + nwords - 1);
-        new_mark_stack_ptr -> mse_descr = sizeof(word) | GC_DS_LENGTH;
-    }
-    return new_mark_stack_ptr;
-}
-
-GC_descr GC_make_descriptor(GC_bitmap bm, size_t len)
-{
-    signed_word last_set_bit = len - 1;
-    GC_descr result;
-    signed_word i;
-#   define HIGH_BIT (((word)1) << (WORDSZ - 1))
-    
-    if (!GC_explicit_typing_initialized) GC_init_explicit_typing();
-    while (last_set_bit >= 0 && !GC_get_bit(bm, last_set_bit)) last_set_bit --;
-    if (last_set_bit < 0) return(0 /* no pointers */);
-#   if ALIGNMENT == CPP_WORDSZ/8
-    {
-      register GC_bool all_bits_set = TRUE;
-      for (i = 0; i < last_set_bit; i++) {
-    	if (!GC_get_bit(bm, i)) {
-    	    all_bits_set = FALSE;
-    	    break;
-    	}
-      }
-      if (all_bits_set) {
-    	/* An initial section contains all pointers.  Use length descriptor. */
-        return (WORDS_TO_BYTES(last_set_bit+1) | GC_DS_LENGTH);
-      }
-    }
-#   endif
-    if (last_set_bit < BITMAP_BITS) {
-    	/* Hopefully the common case.			*/
-    	/* Build bitmap descriptor (with bits reversed)	*/
-    	result = HIGH_BIT;
-    	for (i = last_set_bit - 1; i >= 0; i--) {
-    	    result >>= 1;
-    	    if (GC_get_bit(bm, i)) result |= HIGH_BIT;
-    	}
-    	result |= GC_DS_BITMAP;
-    	return(result);
-    } else {
-    	signed_word index;
-    	
-    	index = GC_add_ext_descriptor(bm, (word)last_set_bit+1);
-    	if (index == -1) return(WORDS_TO_BYTES(last_set_bit+1) | GC_DS_LENGTH);
-    				/* Out of memory: use conservative	*/
-    				/* approximation.			*/
-    	result = GC_MAKE_PROC(GC_typed_mark_proc_index, (word)index);
-    	return result;
-    }
-}
-
-/* ptr_t GC_clear_stack(); */
-
-#define GENERAL_MALLOC(lb,k) \
-    (void *)GC_clear_stack(GC_generic_malloc((word)lb, k))
-    
-#define GENERAL_MALLOC_IOP(lb,k) \
-    (void *)GC_clear_stack(GC_generic_malloc_ignore_off_page(lb, k))
-
-void * GC_malloc_explicitly_typed(size_t lb, GC_descr d)
-{
-    ptr_t op;
-    ptr_t * opp;
-    size_t lg;
-    DCL_LOCK_STATE;
-
-    lb += TYPD_EXTRA_BYTES;
-    if(SMALL_OBJ(lb)) {
-	lg = GC_size_map[lb];
-	opp = &(GC_eobjfreelist[lg]);
-	LOCK();
-        if( (op = *opp) == 0 ) {
-            UNLOCK();
-            op = (ptr_t)GENERAL_MALLOC((word)lb, GC_explicit_kind);
-	    if (0 == op) return 0;
-	    lg = GC_size_map[lb];	/* May have been uninitialized.	*/
-        } else {
-            *opp = obj_link(op);
-	    obj_link(op) = 0;
-            GC_bytes_allocd += GRANULES_TO_BYTES(lg);
-            UNLOCK();
-        }
-   } else {
-       op = (ptr_t)GENERAL_MALLOC((word)lb, GC_explicit_kind);
-       if (op != NULL)
-	    lg = BYTES_TO_GRANULES(GC_size(op));
-   }
-   if (op != NULL)
-       ((word *)op)[GRANULES_TO_WORDS(lg) - 1] = d;
-   return((void *) op);
-}
-
-void * GC_malloc_explicitly_typed_ignore_off_page(size_t lb, GC_descr d)
-{
-ptr_t op;
-ptr_t * opp;
-size_t lg;
-DCL_LOCK_STATE;
-
-    lb += TYPD_EXTRA_BYTES;
-    if( SMALL_OBJ(lb) ) {
-	lg = GC_size_map[lb];
-	opp = &(GC_eobjfreelist[lg]);
-	LOCK();
-        if( (op = *opp) == 0 ) {
-            UNLOCK();
-            op = (ptr_t)GENERAL_MALLOC_IOP(lb, GC_explicit_kind);
-	    lg = GC_size_map[lb];	/* May have been uninitialized.	*/
-        } else {
-            *opp = obj_link(op);
-	    obj_link(op) = 0;
-            GC_bytes_allocd += GRANULES_TO_BYTES(lg);
-            UNLOCK();
-        }
-   } else {
-       op = (ptr_t)GENERAL_MALLOC_IOP(lb, GC_explicit_kind);
-       if (op != NULL)
-         lg = BYTES_TO_WORDS(GC_size(op));
-   }
-   if (op != NULL)
-       ((word *)op)[GRANULES_TO_WORDS(lg) - 1] = d;
-   return((void *) op);
-}
-
-void * GC_calloc_explicitly_typed(size_t n, size_t lb, GC_descr d)
-{
-ptr_t op;
-ptr_t * opp;
-size_t lg;
-GC_descr simple_descr;
-complex_descriptor *complex_descr;
-register int descr_type;
-struct LeafDescriptor leaf;
-DCL_LOCK_STATE;
-
-    descr_type = GC_make_array_descriptor((word)n, (word)lb, d,
-    					  &simple_descr, &complex_descr, &leaf);
-    switch(descr_type) {
-    	case NO_MEM: return(0);
-    	case SIMPLE: return(GC_malloc_explicitly_typed(n*lb, simple_descr));
-    	case LEAF:
-    	    lb *= n;
-    	    lb += sizeof(struct LeafDescriptor) + TYPD_EXTRA_BYTES;
-    	    break;
-    	case COMPLEX:
-    	    lb *= n;
-    	    lb += TYPD_EXTRA_BYTES;
-    	    break;
-    }
-    if( SMALL_OBJ(lb) ) {
-	lg = GC_size_map[lb];
-	opp = &(GC_arobjfreelist[lg]);
-	LOCK();
-        if( (op = *opp) == 0 ) {
-            UNLOCK();
-            op = (ptr_t)GENERAL_MALLOC((word)lb, GC_array_kind);
-	    if (0 == op) return(0);
-	    lg = GC_size_map[lb];	/* May have been uninitialized.	*/            
-        } else {
-            *opp = obj_link(op);
-	    obj_link(op) = 0;
-            GC_bytes_allocd += GRANULES_TO_BYTES(lg);
-            UNLOCK();
-        }
-   } else {
-       op = (ptr_t)GENERAL_MALLOC((word)lb, GC_array_kind);
-       if (0 == op) return(0);
-       lg = BYTES_TO_GRANULES(GC_size(op));
-   }
-   if (descr_type == LEAF) {
-       /* Set up the descriptor inside the object itself. */
-       volatile struct LeafDescriptor * lp =
-           (struct LeafDescriptor *)
-               ((word *)op
-                + GRANULES_TO_WORDS(lg)
-		- (BYTES_TO_WORDS(sizeof(struct LeafDescriptor)) + 1));
-                
-       lp -> ld_tag = LEAF_TAG;
-       lp -> ld_size = leaf.ld_size;
-       lp -> ld_nelements = leaf.ld_nelements;
-       lp -> ld_descriptor = leaf.ld_descriptor;
-       ((volatile word *)op)[GRANULES_TO_WORDS(lg) - 1] = (word)lp;
-   } else {
-       extern unsigned GC_finalization_failures;
-       unsigned ff = GC_finalization_failures;
-       size_t lw = GRANULES_TO_WORDS(lg);
-       
-       ((word *)op)[lw - 1] = (word)complex_descr;
-       /* Make sure the descriptor is cleared once there is any danger	*/
-       /* it may have been collected.					*/
-       (void)
-         GC_general_register_disappearing_link((void * *)
-         					  ((word *)op+lw-1),
-       					          (void *) op);
-       if (ff != GC_finalization_failures) {
-	   /* Couldn't register it due to lack of memory.  Punt.	*/
-	   /* This will probably fail too, but gives the recovery code  */
-	   /* a chance.							*/
-	   return(GC_malloc(n*lb));
-       }			          
-   }
-   return((void *) op);
-}
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/version.h b/SRC/Boost/tools/build/v2/engine/boehm_gc/version.h
deleted file mode 100755
index b9a6d08..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/version.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* The version here should match that in configure/configure.ac	*/
-/* Eventually this one may become unnecessary.  For now we need	*/
-/* it to keep the old-style build process working.		*/
-#define GC_TMP_VERSION_MAJOR 7
-#define GC_TMP_VERSION_MINOR 0
-#define GC_TMP_ALPHA_VERSION GC_NOT_ALPHA
-
-#ifndef GC_NOT_ALPHA
-#   define GC_NOT_ALPHA 0xff
-#endif
-
-#if defined(GC_VERSION_MAJOR)
-# if GC_TMP_VERSION_MAJOR != GC_VERSION_MAJOR || \
-     GC_TMP_VERSION_MINOR != GC_VERSION_MINOR || \
-     defined(GC_ALPHA_VERSION) != (GC_TMP_ALPHA_VERSION != GC_NOT_ALPHA) || \
-     defined(GC_ALPHA_VERSION) && GC_TMP_ALPHA_VERSION != GC_ALPHA_VERSION
-#   error Inconsistent version info.  Check README, version.h, and configure.ac.
-# endif
-#else
-# define GC_VERSION_MAJOR GC_TMP_VERSION_MAJOR
-# define GC_VERSION_MINOR GC_TMP_VERSION_MINOR
-# define GC_ALPHA_VERSION GC_TMP_ALPHA_VERSION
-#endif
-
-
-#ifndef GC_NO_VERSION_VAR
-
-unsigned GC_version = ((GC_VERSION_MAJOR << 16) | (GC_VERSION_MINOR << 8) | GC_TMP_ALPHA_VERSION);
-
-#endif /* GC_NO_VERSION_VAR */ 
diff --git a/SRC/Boost/tools/build/v2/engine/boehm_gc/win32_threads.c b/SRC/Boost/tools/build/v2/engine/boehm_gc/win32_threads.c
deleted file mode 100755
index ff27cc4..0000000
--- a/SRC/Boost/tools/build/v2/engine/boehm_gc/win32_threads.c
+++ /dev/null
@@ -1,1570 +0,0 @@
-#include "private/gc_priv.h"
-
-#if defined(GC_WIN32_THREADS)
-
-#include <windows.h>
-
-#ifdef THREAD_LOCAL_ALLOC
-# include "private/thread_local_alloc.h"
-#endif /* THREAD_LOCAL_ALLOC */
-
-/* Allocation lock declarations.	*/
-#if !defined(USE_PTHREAD_LOCKS)
-# if defined(GC_DLL)
-    __declspec(dllexport) CRITICAL_SECTION GC_allocate_ml;
-# else
-    CRITICAL_SECTION GC_allocate_ml;
-# endif
-  DWORD GC_lock_holder = NO_THREAD;
-  	/* Thread id for current holder of allocation lock */
-#else
-  pthread_mutex_t GC_allocate_ml = PTHREAD_MUTEX_INITIALIZER;
-  unsigned long GC_lock_holder = NO_THREAD;
-#endif
-
-#ifdef GC_PTHREADS
-# include <errno.h>
-
-/* GC_DLL should not normally be defined, especially since we often do turn */
-/* on THREAD_LOCAL_ALLOC, which is currently incompatible. 		    */
-/* It might be possible to get GC_DLL and DllMain-based	thread registration */
-/* to work with Cygwin, but if you try you are on your own.		    */
-#ifdef GC_DLL
-# error GC_DLL untested with Cygwin
-#endif
-
- /* Cygwin-specific forward decls */
-# undef pthread_create 
-# undef pthread_sigmask 
-# undef pthread_join 
-# undef pthread_detach
-# undef dlopen 
-
-# ifdef DEBUG_THREADS
-#   ifdef CYGWIN32
-#     define DEBUG_CYGWIN_THREADS 1
-#     define DEBUG_WIN32_PTHREADS 0
-#   else
-#     define DEBUG_WIN32_PTHREADS 1
-#     define DEBUG_CYGWIN_THREADS 0
-#   endif
-# else
-#   define DEBUG_CYGWIN_THREADS 0
-#   define DEBUG_WIN32_PTHREADS 0
-# endif
-
-  void * GC_pthread_start(void * arg);
-  void GC_thread_exit_proc(void *arg);
-
-# include <pthread.h>
-
-#else
-
-# ifdef DEBUG_THREADS
-#   define DEBUG_WIN32_THREADS 1
-# else
-#   define DEBUG_WIN32_THREADS 0
-# endif
-
-# undef CreateThread
-# undef ExitThread
-# undef _beginthreadex
-# undef _endthreadex
-# undef _beginthread
-# ifdef DEBUG_THREADS
-#   define DEBUG_WIN32_THREADS 1
-# else
-#   define DEBUG_WIN32_THREADS 0
-# endif
-
-# include <process.h>  /* For _beginthreadex, _endthreadex */
-
-#endif
-
-#if defined(GC_DLL) && !defined(MSWINCE)
-  static GC_bool GC_win32_dll_threads = FALSE;
-  /* This code operates in two distinct modes, depending on	*/
-  /* the setting of GC_win32_dll_threads.  If			*/
-  /* GC_win32_dll_threads is set, all threads in the process	*/
-  /* are implicitly registered with the GC by DllMain. 		*/
-  /* No explicit registration is required, and attempts at	*/
-  /* explicit registration are ignored.  This mode is		*/
-  /* very different from the Posix operation of the collector.	*/
-  /* In this mode access to the thread table is lock-free.	*/
-  /* Hence there is a static limit on the number of threads.	*/
-  
-  /* If GC_win32_dll_threads is FALSE, or the collector is	*/
-  /* built without GC_DLL defined, things operate in a way	*/
-  /* that is very similar to Posix platforms, and new threads	*/
-  /* must be registered with the collector, e.g. by using	*/
-  /* preprocessor-based interception of the thread primitives.	*/
-  /* In this case, we use a real data structure for the thread	*/
-  /* table.  Note that there is no equivalent of linker-based	*/
-  /* call interception, since we don't have ELF-like 		*/
-  /* facilities.  The Windows analog appears to be "API		*/
-  /* hooking", which really seems to be a standard way to 	*/
-  /* do minor binary rewriting (?).  I'd prefer not to have	*/
-  /* the basic collector rely on such facilities, but an	*/
-  /* optional package that intercepts thread calls this way	*/
-  /* would probably be nice.					*/
-
-  /* GC_win32_dll_threads must be set at initialization time,	*/
-  /* i.e. before any collector or thread calls.  We make it a	*/
-  /* "dynamic" option only to avoid multiple library versions.	*/
-#else
-# define GC_win32_dll_threads FALSE
-#endif
-
-/* We have two versions of the thread table.  Which one	*/
-/* we us depends on whether or not GC_win32_dll_threads */
-/* is set.  Note that before initialization, we don't 	*/
-/* add any entries to either table, even if DllMain is	*/
-/* called.  The main thread will be added on		*/
-/* initialization.					*/
-
-/* The type of the first argument to InterlockedExchange.	*/
-/* Documented to be LONG volatile *, but at least gcc likes 	*/
-/* this better.							*/
-typedef LONG * IE_t;
-
-GC_bool GC_thr_initialized = FALSE;
-
-GC_bool GC_need_to_lock = FALSE;
-
-static GC_bool parallel_initialized = FALSE;
-
-void GC_init_parallel(void);
-
-#ifdef GC_DLL
-  /* Turn on GC_win32_dll_threads	*/
-  GC_API void GC_use_DllMain(void)
-  {
-#     ifdef THREAD_LOCAL_ALLOC
-	  ABORT("Cannot use thread local allocation with DllMain-based "
-		"thread registration.");
-	  /* Thread-local allocation really wants to lock at thread	*/
-	  /* entry and exit.						*/
-#     endif
-      GC_ASSERT(!parallel_initialized);
-      GC_win32_dll_threads = TRUE;
-  }
-#else
-  GC_API void GC_use_DllMain(void)
-  {
-      ABORT("GC not configured as DLL");
-  }
-#endif
-
-DWORD GC_main_thread = 0;
-
-struct GC_Thread_Rep {
-  union {
-    AO_t tm_in_use; 	/* Updated without lock.		*/
-  			/* We assert that unused 		*/
-  			/* entries have invalid ids of		*/
-  			/* zero and zero stack fields.  	*/
-    			/* Used only with GC_win32_dll_threads. */
-    struct GC_Thread_Rep * tm_next;
-    			/* Hash table link without 		*/
-    			/* GC_win32_dll_threads.		*/
-    			/* More recently allocated threads	*/
-			/* with a given pthread id come 	*/
-			/* first.  (All but the first are	*/
-			/* guaranteed to be dead, but we may    */
-			/* not yet have registered the join.)   */
-  } table_management;
-# define in_use table_management.tm_in_use
-# define next table_management.tm_next
-  DWORD id;
-  HANDLE handle;
-  ptr_t stack_base;	/* The cold end of the stack.   */
-			/* 0 ==> entry not valid.	*/
-			/* !in_use ==> stack_base == 0	*/
-  GC_bool suspended;
-
-# ifdef GC_PTHREADS
-    void *status; /* hold exit value until join in case it's a pointer */
-    pthread_t pthread_id;
-    short flags;		/* Protected by GC lock.	*/
-#	define FINISHED 1   	/* Thread has exited.	*/
-#	define DETACHED 2	/* Thread is intended to be detached.	*/
-#   define KNOWN_FINISHED(t) (((t) -> flags) & FINISHED)
-# else
-#   define KNOWN_FINISHED(t) 0
-# endif
-# ifdef THREAD_LOCAL_ALLOC
-    struct thread_local_freelists tlfs;
-# endif
-};
-
-typedef struct GC_Thread_Rep * GC_thread;
-typedef volatile struct GC_Thread_Rep * GC_vthread;
-
-/*
- * We assumed that volatile ==> memory ordering, at least among
- * volatiles.  This code should consistently use atomic_ops.
- */
-
-volatile GC_bool GC_please_stop = FALSE;
-
-/*
- * We track thread attachments while the world is supposed to be stopped.
- * Unfortunately, we can't stop them from starting, since blocking in
- * DllMain seems to cause the world to deadlock.  Thus we have to recover
- * If we notice this in the middle of marking.
- */
-
-AO_t GC_attached_thread = FALSE;
-/* Return TRUE if an thread was attached since we last asked or	*/
-/* since GC_attached_thread was explicitly reset.		*/
-GC_bool GC_started_thread_while_stopped(void)
-{
-  AO_t result;
-
-  if (GC_win32_dll_threads) {
-    AO_nop_full();	/* Prior heap reads need to complete earlier. */
-    result = AO_load(&GC_attached_thread);
-    if (result) {
-      AO_store(&GC_attached_thread, FALSE);
-    }
-    return ((GC_bool)result);
-  } else {
-    return FALSE;
-  }
-}
-
-/* Thread table used if GC_win32_dll_threads is set.	*/
-/* This is a fixed size array.				*/
-/* Since we use runtime conditionals, both versions	*/
-/* are always defined.					*/
-# ifndef MAX_THREADS
-#   define MAX_THREADS 512
-#  endif
-  /* Things may get quite slow for large numbers of threads,	*/
-  /* since we look them up with sequential search.		*/
-
-  volatile struct GC_Thread_Rep dll_thread_table[MAX_THREADS];
-
-  volatile LONG GC_max_thread_index = 0;
-  			/* Largest index in dll_thread_table	*/
-		        /* that was ever used.			*/
-
-/* And now the version used if GC_win32_dll_threads is not set.	*/
-/* This is a chained hash table, with much of the code borrowed	*/
-/* From the Posix implementation.				*/
-# define THREAD_TABLE_SZ 256	/* Must be power of 2	*/
-  GC_thread GC_threads[THREAD_TABLE_SZ];
-  
-
-/* Add a thread to GC_threads.  We assume it wasn't already there.	*/
-/* Caller holds allocation lock.					*/
-/* Unlike the pthreads version, the id field is set by the caller.	*/
-GC_thread GC_new_thread(DWORD id)
-{
-    word hv = ((word)id) % THREAD_TABLE_SZ;
-    GC_thread result;
-    /* It may not be safe to allocate when we register the first thread. */
-    static struct GC_Thread_Rep first_thread;
-    static GC_bool first_thread_used = FALSE;
-    
-    GC_ASSERT(I_HOLD_LOCK());
-    if (!first_thread_used) {
-    	result = &first_thread;
-    	first_thread_used = TRUE;
-    } else {
-        GC_ASSERT(!GC_win32_dll_threads);
-        result = (struct GC_Thread_Rep *)
-        	 GC_INTERNAL_MALLOC(sizeof(struct GC_Thread_Rep), NORMAL);
-#       ifdef GC_PTHREADS
-	  /* result can be NULL -> segfault */
-	  GC_ASSERT(result -> flags == 0);
-#       endif
-    }
-    if (result == 0) return(0);
-    /* result -> id = id; Done by caller.	*/
-    result -> next = GC_threads[hv];
-    GC_threads[hv] = result;
-#   ifdef GC_PTHREADS
-      GC_ASSERT(result -> flags == 0 /* && result -> thread_blocked == 0 */);
-#   endif
-    return(result);
-}
-
-extern LONG WINAPI GC_write_fault_handler(struct _EXCEPTION_POINTERS *exc_info);
-
-#if defined(GWW_VDB) && defined(MPROTECT_VDB)
-  extern GC_bool GC_gww_dirty_init(void);
-  /* Defined in os_dep.c.  Returns TRUE if GetWriteWatch is available. 	*/
-  /* may be called repeatedly.						*/
-#endif
-
-GC_bool GC_in_thread_creation = FALSE;  /* Protected by allocation lock. */
-
-/*
- * This may be called from DllMain, and hence operates under unusual
- * constraints.  In particular, it must be lock-free if GC_win32_dll_threads
- * is set.  Always called from the thread being added.
- * If GC_win32_dll_threads is not set, we already hold the allocation lock,
- * except possibly during single-threaded start-up code.
- */
-static GC_thread GC_register_my_thread_inner(struct GC_stack_base *sb,
-					     DWORD thread_id)
-{
-  GC_vthread me;
-
-  /* The following should be a noop according to the win32	*/
-  /* documentation.  There is empirical evidence that it	*/
-  /* isn't.		- HB					*/
-# if defined(MPROTECT_VDB)
-#   if defined(GWW_VDB)
-      if (GC_incremental && !GC_gww_dirty_init())
-	SetUnhandledExceptionFilter(GC_write_fault_handler);
-#   else
-      if (GC_incremental) SetUnhandledExceptionFilter(GC_write_fault_handler);
-#   endif
-# endif
-
-  if (GC_win32_dll_threads) {
-    int i;
-    /* It appears to be unsafe to acquire a lock here, since this	*/
-    /* code is apparently not preeemptible on some systems.		*/
-    /* (This is based on complaints, not on Microsoft's official	*/
-    /* documentation, which says this should perform "only simple	*/
-    /* initialization tasks".)						*/
-    /* Hence we make do with nonblocking synchronization.		*/
-    /* It has been claimed that DllMain is really only executed with	*/
-    /* a particular system lock held, and thus careful use of locking	*/
-    /* around code that doesn't call back into the system libraries	*/
-    /* might be OK.  But this hasn't been tested across all win32	*/
-    /* variants.							*/
-                /* cast away volatile qualifier */
-    for (i = 0; InterlockedExchange((IE_t)&dll_thread_table[i].in_use,1) != 0;
-	 i++) {
-      /* Compare-and-swap would make this cleaner, but that's not 	*/
-      /* supported before Windows 98 and NT 4.0.  In Windows 2000,	*/
-      /* InterlockedExchange is supposed to be replaced by		*/
-      /* InterlockedExchangePointer, but that's not really what I	*/
-      /* want here.							*/
-      /* FIXME: We should eventually declare Win95 dead and use AO_	*/
-      /* primitives here.						*/
-      if (i == MAX_THREADS - 1)
-        ABORT("too many threads");
-    }
-    /* Update GC_max_thread_index if necessary.  The following is safe,	*/
-    /* and unlike CompareExchange-based solutions seems to work on all	*/
-    /* Windows95 and later platforms.					*/
-    /* Unfortunately, GC_max_thread_index may be temporarily out of 	*/
-    /* bounds, so readers have to compensate.				*/
-    while (i > GC_max_thread_index) {
-      InterlockedIncrement((IE_t)&GC_max_thread_index);
-    }
-    if (GC_max_thread_index >= MAX_THREADS) {
-      /* We overshot due to simultaneous increments.	*/
-      /* Setting it to MAX_THREADS-1 is always safe.	*/
-      GC_max_thread_index = MAX_THREADS - 1;
-    }
-    me = dll_thread_table + i;
-  } else /* Not using DllMain */ {
-    GC_ASSERT(I_HOLD_LOCK());
-    GC_in_thread_creation = TRUE; /* OK to collect from unknown thread. */
-    me = GC_new_thread(thread_id);
-    GC_in_thread_creation = FALSE;
-  }
-# ifdef GC_PTHREADS
-    /* me can be NULL -> segfault */
-    me -> pthread_id = pthread_self();
-# endif
-
-  if (!DuplicateHandle(GetCurrentProcess(),
-                 	GetCurrentThread(),
-		        GetCurrentProcess(),
-		        (HANDLE*)&(me -> handle),
-		        0,
-		        0,
-		        DUPLICATE_SAME_ACCESS)) {
-	DWORD last_error = GetLastError();
-	GC_err_printf("Last error code: %d\n", last_error);
-	ABORT("DuplicateHandle failed");
-  }
-  me -> stack_base = sb -> mem_base;
-  /* Up until this point, GC_push_all_stacks considers this thread	*/
-  /* invalid.								*/
-  /* Up until this point, this entry is viewed as reserved but invalid	*/
-  /* by GC_delete_thread.						*/
-  me -> id = thread_id;
-# if defined(THREAD_LOCAL_ALLOC)
-      GC_init_thread_local((GC_tlfs)(&(me->tlfs)));
-# endif
-  if (me -> stack_base == NULL) 
-      ABORT("Bad stack base in GC_register_my_thread_inner");
-  if (GC_win32_dll_threads) {
-    if (GC_please_stop) {
-      AO_store(&GC_attached_thread, TRUE);
-      AO_nop_full();  // Later updates must become visible after this.
-    }
-    /* We'd like to wait here, but can't, since waiting in DllMain 	*/
-    /* provokes deadlocks.						*/
-    /* Thus we force marking to be restarted instead.			*/
-  } else {
-    GC_ASSERT(!GC_please_stop);
-  	/* Otherwise both we and the thread stopping code would be	*/
-  	/* holding the allocation lock.					*/
-  }
-  return (GC_thread)(me);
-}
-
-/*
- * GC_max_thread_index may temporarily be larger than MAX_THREADS.
- * To avoid subscript errors, we check on access.
- */
-#ifdef __GNUC__
-__inline__
-#endif
-LONG GC_get_max_thread_index()
-{
-  LONG my_max = GC_max_thread_index;
-
-  if (my_max >= MAX_THREADS) return MAX_THREADS-1;
-  return my_max;
-}
-
-/* Return the GC_thread corresponding to a thread id.  May be called 	*/
-/* without a lock, but should be called in contexts in which the	*/
-/* requested thread cannot be asynchronously deleted, e.g. from the	*/
-/* thread itself.							*/
-/* This version assumes that either GC_win32_dll_threads is set, or	*/
-/* we hold the allocator lock.						*/
-/* Also used (for assertion checking only) from thread_local_alloc.c.	*/
-GC_thread GC_lookup_thread_inner(DWORD thread_id) {
-  if (GC_win32_dll_threads) {
-    int i;
-    LONG my_max = GC_get_max_thread_index();
-    for (i = 0;
-       i <= my_max &&
-       (!AO_load_acquire(&(dll_thread_table[i].in_use))
-	|| dll_thread_table[i].id != thread_id);
-       /* Must still be in_use, since nobody else can store our thread_id. */
-       i++) {}
-    if (i > my_max) {
-      return 0;
-    } else {
-      return (GC_thread)(dll_thread_table + i);
-    }
-  } else {
-    word hv = ((word)thread_id) % THREAD_TABLE_SZ;
-    register GC_thread p = GC_threads[hv];
-    
-    GC_ASSERT(I_HOLD_LOCK());
-    while (p != 0 && p -> id != thread_id) p = p -> next;
-    return(p);
-  }
-}
-
-/* A version of the above that acquires the lock if necessary.  Note	*/
-/* that the identically named function for pthreads is different, and	*/
-/* just assumes we hold the lock.					*/
-/* Also used (for assertion checking only) from thread_local_alloc.c.	*/
-static GC_thread GC_lookup_thread(DWORD thread_id)
-{
-  if (GC_win32_dll_threads) {
-    return GC_lookup_thread_inner(thread_id);
-  } else {
-    GC_thread result;
-    LOCK();
-    result = GC_lookup_thread_inner(thread_id);
-    UNLOCK();
-    return result;
-  }
-}
-
-/* If a thread has been joined, but we have not yet		*/
-/* been notified, then there may be more than one thread 	*/
-/* in the table with the same win32 id.				*/
-/* This is OK, but we need a way to delete a specific one.	*/
-/* Assumes we hold the allocation lock unless			*/
-/* GC_win32_dll_threads is set.					*/
-/* If GC_win32_dll_threads is set it should be called from the	*/
-/* thread being deleted.					*/
-void GC_delete_gc_thread(GC_vthread gc_id)
-{
-  if (GC_win32_dll_threads) {
-    /* This is intended to be lock-free.				*/
-    /* It is either called synchronously from the thread being deleted,	*/
-    /* or by the joining thread.					*/
-    /* In this branch asynchronosu changes to *gc_id are possible.	*/
-    CloseHandle(gc_id->handle);
-    gc_id -> stack_base = 0;
-    gc_id -> id = 0;
-#   ifdef CYGWIN32
-      gc_id -> pthread_id = 0;
-#   endif /* CYGWIN32 */
-#   ifdef GC_WIN32_PTHREADS
-      gc_id -> pthread_id.p = NULL;
-#   endif /* GC_WIN32_PTHREADS */
-    AO_store_release(&(gc_id->in_use), FALSE);
-  } else {
-    /* Cast away volatile qualifier, since we have lock. */
-    GC_thread gc_nvid = (GC_thread)gc_id;
-    DWORD id = gc_nvid -> id;
-    word hv = ((word)id) % THREAD_TABLE_SZ;
-    register GC_thread p = GC_threads[hv];
-    register GC_thread prev = 0;
-
-    GC_ASSERT(I_HOLD_LOCK());
-    while (p != gc_nvid) {
-        prev = p;
-        p = p -> next;
-    }
-    if (prev == 0) {
-        GC_threads[hv] = p -> next;
-    } else {
-        prev -> next = p -> next;
-    }
-    GC_INTERNAL_FREE(p);
-  }
-}
-
-/* Delete a thread from GC_threads.  We assume it is there.	*/
-/* (The code intentionally traps if it wasn't.)			*/
-/* Assumes we hold the allocation lock unless			*/
-/* GC_win32_dll_threads is set.					*/
-/* If GC_win32_dll_threads is set it should be called from the	*/
-/* thread being deleted.					*/
-void GC_delete_thread(DWORD id)
-{
-  if (GC_win32_dll_threads) {
-    GC_thread t = GC_lookup_thread_inner(id);
-
-    if (0 == t) {
-      WARN("Removing nonexistent thread %ld\n", (GC_word)id);
-    } else {
-      GC_delete_gc_thread(t);
-    }
-  } else {
-    word hv = ((word)id) % THREAD_TABLE_SZ;
-    register GC_thread p = GC_threads[hv];
-    register GC_thread prev = 0;
-    
-    GC_ASSERT(I_HOLD_LOCK());
-    while (p -> id != id) {
-        prev = p;
-        p = p -> next;
-    }
-    if (prev == 0) {
-        GC_threads[hv] = p -> next;
-    } else {
-        prev -> next = p -> next;
-    }
-    GC_INTERNAL_FREE(p);
-  }
-}
-
-int GC_register_my_thread(struct GC_stack_base *sb) {
-  DWORD t = GetCurrentThreadId();
-
-  if (0 == GC_lookup_thread(t)) {
-    /* We lock here, since we want to wait for an ongoing GC.	*/
-    LOCK();
-    GC_register_my_thread_inner(sb, t);
-    UNLOCK();
-    return GC_SUCCESS;
-  } else {
-    return GC_DUPLICATE;
-  }
-}
-
-int GC_unregister_my_thread(void)
-{
-    DWORD t = GetCurrentThreadId();
-
-#   if defined(THREAD_LOCAL_ALLOC)
-      LOCK();
-      {
-	GC_thread me = GC_lookup_thread_inner(t);
-        GC_destroy_thread_local(&(me->tlfs));
-      }
-      UNLOCK();
-#   endif
-    if (GC_win32_dll_threads) {
-      /* Should we just ignore this? */
-      GC_delete_thread(t);
-    } else {
-      LOCK();
-      GC_delete_thread(t);
-      UNLOCK();
-    }
-    return GC_SUCCESS;
-}
-
-
-#ifdef GC_PTHREADS
-
-/* A quick-and-dirty cache of the mapping between pthread_t	*/
-/* and win32 thread id.						*/
-#define PTHREAD_MAP_SIZE 512
-DWORD GC_pthread_map_cache[PTHREAD_MAP_SIZE];
-#define HASH(pthread_id) ((NUMERIC_THREAD_ID(pthread_id) >> 5) % PTHREAD_MAP_SIZE)
-	/* It appears pthread_t is really a pointer type ... */
-#define SET_PTHREAD_MAP_CACHE(pthread_id, win32_id) \
-	GC_pthread_map_cache[HASH(pthread_id)] = (win32_id);
-#define GET_PTHREAD_MAP_CACHE(pthread_id) \
-	GC_pthread_map_cache[HASH(pthread_id)]
-
-/* Return a GC_thread corresponding to a given pthread_t.	*/
-/* Returns 0 if it's not there.					*/
-/* We assume that this is only called for pthread ids that	*/
-/* have not yet terminated or are still joinable, and		*/
-/* cannot be concurrently terminated.				*/
-/* Assumes we do NOT hold the allocation lock.			*/
-static GC_thread GC_lookup_pthread(pthread_t id)
-{
-  if (GC_win32_dll_threads) {
-    int i;
-    LONG my_max = GC_get_max_thread_index();
-
-    for (i = 0;
-         i <= my_max &&
-         (!AO_load_acquire(&(dll_thread_table[i].in_use))
-	  || THREAD_EQUAL(dll_thread_table[i].pthread_id, id));
-       /* Must still be in_use, since nobody else can store our thread_id. */
-       i++);
-    if (i > my_max) return 0;
-    return (GC_thread)(dll_thread_table + i);
-  } else {
-    /* We first try the cache.  If that fails, we use a very slow	*/
-    /* approach.							*/
-    int hv_guess = GET_PTHREAD_MAP_CACHE(id) % THREAD_TABLE_SZ;
-    int hv;
-    GC_thread p;
-
-    LOCK();
-    for (p = GC_threads[hv_guess]; 0 != p; p = p -> next) {
-      if (THREAD_EQUAL(p -> pthread_id, id))
-	goto foundit; 
-    }
-    for (hv = 0; hv < THREAD_TABLE_SZ; ++hv) {
-      for (p = GC_threads[hv]; 0 != p; p = p -> next) {
-        if (THREAD_EQUAL(p -> pthread_id, id))
-	  goto foundit; 
-      }
-    }
-    p = 0;
-   foundit:
-    UNLOCK();
-    return p;
-  }
-}
-
-#endif /* GC_PTHREADS */
-
-void GC_push_thread_structures(void)
-{
-  GC_ASSERT(I_HOLD_LOCK());
-  if (GC_win32_dll_threads) {
-    /* Unlike the other threads implementations, the thread table here	*/
-    /* contains no pointers to the collectable heap.  Thus we have	*/
-    /* no private structures we need to preserve.			*/
-#   ifdef GC_PTHREADS 
-    { int i; /* pthreads may keep a pointer in the thread exit value */
-      LONG my_max = GC_get_max_thread_index();
-
-      for (i = 0; i <= my_max; i++)
-        if (dll_thread_table[i].in_use)
-	  GC_push_all((ptr_t)&(dll_thread_table[i].status),
-                      (ptr_t)(&(dll_thread_table[i].status)+1));
-    }
-#   endif
-  } else {
-    GC_push_all((ptr_t)(GC_threads), (ptr_t)(GC_threads)+sizeof(GC_threads));
-  }
-# if defined(THREAD_LOCAL_ALLOC)
-    GC_push_all((ptr_t)(&GC_thread_key),
-      (ptr_t)(&GC_thread_key)+sizeof(&GC_thread_key));
-    /* Just in case we ever use our own TLS implementation.	*/
-# endif
-}
-
-/* Suspend the given thread, if it's still active.	*/
-void GC_suspend(GC_thread t)
-{
-# ifdef MSWINCE
-    /* SuspendThread will fail if thread is running kernel code */
-      while (SuspendThread(t -> handle) == (DWORD)-1)
-	Sleep(10);
-# else
-    /* Apparently the Windows 95 GetOpenFileName call creates	*/
-    /* a thread that does not properly get cleaned up, and		*/
-    /* SuspendThread on its descriptor may provoke a crash.		*/
-    /* This reduces the probability of that event, though it still	*/
-    /* appears there's a race here.					*/
-    DWORD exitCode; 
-    if (GetExitCodeThread(t -> handle, &exitCode) &&
-        exitCode != STILL_ACTIVE) {
-      t -> stack_base = 0; /* prevent stack from being pushed */
-#     ifndef GC_PTHREADS
-        /* this breaks pthread_join on Cygwin, which is guaranteed to  */
-        /* only see user pthreads 	 			       */
-        AO_store(&(t -> in_use), FALSE);
-        CloseHandle(t -> handle);
-#     endif
-      return;
-    }
-    if (SuspendThread(t -> handle) == (DWORD)-1)
-      ABORT("SuspendThread failed");
-# endif
-   t -> suspended = TRUE;
-}
-
-/* Defined in misc.c */
-#ifndef CYGWIN32
-  extern CRITICAL_SECTION GC_write_cs;
-#endif
-
-void GC_stop_world(void)
-{
-  DWORD thread_id = GetCurrentThreadId();
-  int i;
-
-  if (!GC_thr_initialized) ABORT("GC_stop_world() called before GC_thr_init()");
-  GC_ASSERT(I_HOLD_LOCK());
-
-  GC_please_stop = TRUE;
-# ifndef CYGWIN32
-    EnterCriticalSection(&GC_write_cs);
-# endif
-  if (GC_win32_dll_threads) {
-    /* Any threads being created during this loop will end up setting   */
-    /* GC_attached_thread when they start.  This will force marking to  */
-    /* restart.								*/
-    /* This is not ideal, but hopefully correct.			*/
-    GC_attached_thread = FALSE;
-    for (i = 0; i <= GC_get_max_thread_index(); i++) {
-      GC_vthread t = dll_thread_table + i;
-      if (t -> stack_base != 0
-	  && t -> id != thread_id) {
-	  GC_suspend((GC_thread)t);
-      }
-    }
-  } else {
-      GC_thread t;
-      int i;
-
-      for (i = 0; i < THREAD_TABLE_SZ; i++) {
-        for (t = GC_threads[i]; t != 0; t = t -> next) {
-	  if (t -> stack_base != 0
-	  && !KNOWN_FINISHED(t)
-	  && t -> id != thread_id) {
-	    GC_suspend(t);
-	  }
-	}
-      }
-  }
-# ifndef CYGWIN32
-    LeaveCriticalSection(&GC_write_cs);
-# endif    
-}
-
-void GC_start_world(void)
-{
-  DWORD thread_id = GetCurrentThreadId();
-  int i;
-  LONG my_max = GC_get_max_thread_index();
-
-  GC_ASSERT(I_HOLD_LOCK());
-  if (GC_win32_dll_threads) {
-    for (i = 0; i <= my_max; i++) {
-      GC_thread t = (GC_thread)(dll_thread_table + i);
-      if (t -> stack_base != 0 && t -> suspended
-	  && t -> id != thread_id) {
-        if (ResumeThread(t -> handle) == (DWORD)-1)
-	  ABORT("ResumeThread failed");
-        t -> suspended = FALSE;
-      }
-    }
-  } else {
-    GC_thread t;
-    int i;
-
-    for (i = 0; i < THREAD_TABLE_SZ; i++) {
-      for (t = GC_threads[i]; t != 0; t = t -> next) {
-        if (t -> stack_base != 0 && t -> suspended
-	    && t -> id != thread_id) {
-          if (ResumeThread(t -> handle) == (DWORD)-1)
-	    ABORT("ResumeThread failed");
-          t -> suspended = FALSE;
-        }
-      }
-    }
-  }
-  GC_please_stop = FALSE;
-}
-
-# ifdef MSWINCE
-    /* The VirtualQuery calls below won't work properly on WinCE, but	*/
-    /* since each stack is restricted to an aligned 64K region of	*/
-    /* virtual memory we can just take the next lowest multiple of 64K.	*/
-#   define GC_get_stack_min(s) \
-        ((ptr_t)(((DWORD)(s) - 1) & 0xFFFF0000))
-# else
-    static ptr_t GC_get_stack_min(ptr_t s)
-    {
-	ptr_t bottom;
-	MEMORY_BASIC_INFORMATION info;
-	VirtualQuery(s, &info, sizeof(info));
-	do {
-	    bottom = info.BaseAddress;
-	    VirtualQuery(bottom - 1, &info, sizeof(info));
-	} while ((info.Protect & PAGE_READWRITE)
-		 && !(info.Protect & PAGE_GUARD));
-	return(bottom);
-    }
-# endif
-
-void GC_push_stack_for(GC_thread thread)
-{
-    int dummy;
-    ptr_t sp, stack_min;
-    DWORD me = GetCurrentThreadId();
-
-    if (thread -> stack_base) {
-      if (thread -> id == me) {
-	sp = (ptr_t) &dummy;
-      } else {
-        CONTEXT context;
-        context.ContextFlags = CONTEXT_INTEGER|CONTEXT_CONTROL;
-        if (!GetThreadContext(thread -> handle, &context))
-	  ABORT("GetThreadContext failed");
-
-        /* Push all registers that might point into the heap.  Frame	*/
-        /* pointer registers are included in case client code was	*/
-        /* compiled with the 'omit frame pointer' optimisation.		*/
-#       define PUSH1(reg) GC_push_one((word)context.reg)
-#       define PUSH2(r1,r2) PUSH1(r1), PUSH1(r2)
-#       define PUSH4(r1,r2,r3,r4) PUSH2(r1,r2), PUSH2(r3,r4)
-#       if defined(I386)
-          PUSH4(Edi,Esi,Ebx,Edx), PUSH2(Ecx,Eax), PUSH1(Ebp);
-	  sp = (ptr_t)context.Esp;
-#	elif defined(X86_64)
-	  PUSH4(Rax,Rcx,Rdx,Rbx); PUSH2(Rbp, Rsi); PUSH1(Rdi);
-	  PUSH4(R8, R9, R10, R11); PUSH4(R12, R13, R14, R15);
-	  sp = (ptr_t)context.Rsp;
-#       elif defined(ARM32)
-	  PUSH4(R0,R1,R2,R3),PUSH4(R4,R5,R6,R7),PUSH4(R8,R9,R10,R11),PUSH1(R12);
-	  sp = (ptr_t)context.Sp;
-#       elif defined(SHx)
-	  PUSH4(R0,R1,R2,R3), PUSH4(R4,R5,R6,R7), PUSH4(R8,R9,R10,R11);
-	  PUSH2(R12,R13), PUSH1(R14);
-	  sp = (ptr_t)context.R15;
-#       elif defined(MIPS)
-	  PUSH4(IntAt,IntV0,IntV1,IntA0), PUSH4(IntA1,IntA2,IntA3,IntT0);
-	  PUSH4(IntT1,IntT2,IntT3,IntT4), PUSH4(IntT5,IntT6,IntT7,IntS0);
-	  PUSH4(IntS1,IntS2,IntS3,IntS4), PUSH4(IntS5,IntS6,IntS7,IntT8);
-	  PUSH4(IntT9,IntK0,IntK1,IntS8);
-	  sp = (ptr_t)context.IntSp;
-#       elif defined(PPC)
-	  PUSH4(Gpr0, Gpr3, Gpr4, Gpr5),  PUSH4(Gpr6, Gpr7, Gpr8, Gpr9);
-	  PUSH4(Gpr10,Gpr11,Gpr12,Gpr14), PUSH4(Gpr15,Gpr16,Gpr17,Gpr18);
-	  PUSH4(Gpr19,Gpr20,Gpr21,Gpr22), PUSH4(Gpr23,Gpr24,Gpr25,Gpr26);
-	  PUSH4(Gpr27,Gpr28,Gpr29,Gpr30), PUSH1(Gpr31);
-	  sp = (ptr_t)context.Gpr1;
-#       elif defined(ALPHA)
-	  PUSH4(IntV0,IntT0,IntT1,IntT2), PUSH4(IntT3,IntT4,IntT5,IntT6);
-	  PUSH4(IntT7,IntS0,IntS1,IntS2), PUSH4(IntS3,IntS4,IntS5,IntFp);
-	  PUSH4(IntA0,IntA1,IntA2,IntA3), PUSH4(IntA4,IntA5,IntT8,IntT9);
-	  PUSH4(IntT10,IntT11,IntT12,IntAt);
-	  sp = (ptr_t)context.IntSp;
-#       else
-#         error "architecture is not supported"
-#       endif
-      } /* ! current thread */
-
-      stack_min = GC_get_stack_min(thread->stack_base);
-
-      if (sp >= stack_min && sp < thread->stack_base) {
-#       if DEBUG_WIN32_PTHREADS || DEBUG_WIN32_THREADS \
-           || DEBUG_CYGWIN_THREADS
-	  GC_printf("Pushing thread from %p to %p for 0x%x from 0x%x\n",
-		    sp, thread -> stack_base, thread -> id, me);
-#       endif
-        GC_push_all_stack(sp, thread->stack_base);
-      } else {
-        WARN("Thread stack pointer 0x%lx out of range, pushing everything\n",
-	     (unsigned long)(size_t)sp);
-        GC_push_all_stack(stack_min, thread->stack_base);
-      }
-    } /* thread looks live */
-}
-
-void GC_push_all_stacks(void)
-{
-  DWORD me = GetCurrentThreadId();
-  GC_bool found_me = FALSE;
-  size_t nthreads = 0;
-  
-  if (GC_win32_dll_threads) {
-    int i;
-    LONG my_max = GC_get_max_thread_index();
-
-    for (i = 0; i <= my_max; i++) {
-      GC_thread t = (GC_thread)(dll_thread_table + i);
-      if (t -> in_use) {
-        ++nthreads;
-        GC_push_stack_for(t);
-        if (t -> id == me) found_me = TRUE;
-      }
-    }
-  } else {
-    GC_thread t;
-    int i;
-
-    for (i = 0; i < THREAD_TABLE_SZ; i++) {
-      for (t = GC_threads[i]; t != 0; t = t -> next) {
-        ++nthreads;
-        if (!KNOWN_FINISHED(t)) GC_push_stack_for(t);
-        if (t -> id == me) found_me = TRUE;
-      }
-    }
-  }
-  if (GC_print_stats == VERBOSE) {
-    GC_log_printf("Pushed %d thread stacks ", nthreads);
-    if (GC_win32_dll_threads) {
-    	GC_log_printf("based on DllMain thread tracking\n");
-    } else {
-    	GC_log_printf("\n");
-    }
-  }
-  if (!found_me && !GC_in_thread_creation)
-    ABORT("Collecting from unknown thread.");
-}
-
-void GC_get_next_stack(char *start, char **lo, char **hi)
-{
-    int i;
-#   define ADDR_LIMIT (char *)(-1L)
-    char * current_min = ADDR_LIMIT;
-
-    if (GC_win32_dll_threads) {
-      LONG my_max = GC_get_max_thread_index();
-  
-      for (i = 0; i <= my_max; i++) {
-    	ptr_t s = (ptr_t)(dll_thread_table[i].stack_base);
-
-	if (0 != s && s > start && s < current_min) {
-	    current_min = s;
-	}
-      }
-    } else {
-      for (i = 0; i < THREAD_TABLE_SZ; i++) {
-	GC_thread t;
-
-        for (t = GC_threads[i]; t != 0; t = t -> next) {
-	  ptr_t s = (ptr_t)(t -> stack_base);
-
-	  if (0 != s && s > start && s < current_min) {
-	    current_min = s;
-	  }
-        }
-      }
-    }
-    *hi = current_min;
-    if (current_min == ADDR_LIMIT) {
-    	*lo = ADDR_LIMIT;
-	return;
-    }
-    *lo = GC_get_stack_min(current_min);
-    if (*lo < start) *lo = start;
-}
-
-#ifndef GC_PTHREADS
-
-/* We have no DllMain to take care of new threads.  Thus we	*/
-/* must properly intercept thread creation.			*/
-
-typedef struct {
-    LPTHREAD_START_ROUTINE start;
-    LPVOID param;
-} thread_args;
-
-static DWORD WINAPI thread_start(LPVOID arg);
-
-void * GC_win32_start_inner(struct GC_stack_base *sb, LPVOID arg)
-{
-    void * ret;
-    thread_args *args = (thread_args *)arg;
-
-#   if DEBUG_WIN32_THREADS
-      GC_printf("thread 0x%x starting...\n", GetCurrentThreadId());
-#   endif
-
-    GC_register_my_thread(sb); /* This waits for an in-progress GC. */
-
-    /* Clear the thread entry even if we exit with an exception.	*/
-    /* This is probably pointless, since an uncaught exception is	*/
-    /* supposed to result in the process being killed.			*/
-#ifndef __GNUC__
-    __try {
-#endif /* __GNUC__ */
-	ret = (void *)(size_t)args->start (args->param);
-#ifndef __GNUC__
-    } __finally {
-#endif /* __GNUC__ */
-	GC_unregister_my_thread();
-	GC_free(args);
-#ifndef __GNUC__
-    }
-#endif /* __GNUC__ */
-
-#   if DEBUG_WIN32_THREADS
-      GC_printf("thread 0x%x returned from start routine.\n",
-		GetCurrentThreadId());
-#   endif
-    return ret;
-}
-
-DWORD WINAPI GC_win32_start(LPVOID arg)
-{
-    return (DWORD)(size_t)GC_call_with_stack_base(GC_win32_start_inner, arg);
-}
-
-GC_API HANDLE WINAPI GC_CreateThread(
-    LPSECURITY_ATTRIBUTES lpThreadAttributes, 
-    DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, 
-    LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId )
-{
-    HANDLE thread_h = NULL;
-
-    thread_args *args;
-
-    if (!parallel_initialized) GC_init_parallel();
-    		/* make sure GC is initialized (i.e. main thread is attached,
-		   tls initialized) */
-
-#   if DEBUG_WIN32_THREADS
-      GC_printf("About to create a thread from 0x%x\n", GetCurrentThreadId());
-#   endif
-    if (GC_win32_dll_threads) {
-      return CreateThread(lpThreadAttributes, dwStackSize, lpStartAddress,
-                        lpParameter, dwCreationFlags, lpThreadId);
-    } else {
-      args = GC_malloc_uncollectable(sizeof(thread_args)); 
-	/* Handed off to and deallocated by child thread.	*/
-      if (0 == args) {
-	SetLastError(ERROR_NOT_ENOUGH_MEMORY);
-        return NULL;
-      }
-
-      /* set up thread arguments */
-    	args -> start = lpStartAddress;
-    	args -> param = lpParameter;
-
-      GC_need_to_lock = TRUE;
-      thread_h = CreateThread(lpThreadAttributes,
-    			      dwStackSize, GC_win32_start,
-    			      args, dwCreationFlags,
-    			      lpThreadId);
-      if( thread_h == 0 ) GC_free( args );
-      return thread_h;
-    }
-}
-
-void WINAPI GC_ExitThread(DWORD dwExitCode)
-{
-  GC_unregister_my_thread();
-  ExitThread(dwExitCode);
-}
-
-uintptr_t GC_beginthreadex(
-    void *security, unsigned stack_size,
-    unsigned ( __stdcall *start_address )( void * ),
-    void *arglist, unsigned initflag, unsigned *thrdaddr)
-{
-    uintptr_t thread_h = -1L;
-
-    thread_args *args;
-
-    if (!parallel_initialized) GC_init_parallel();
-    		/* make sure GC is initialized (i.e. main thread is attached,
-		   tls initialized) */
-#   if DEBUG_WIN32_THREADS
-      GC_printf("About to create a thread from 0x%x\n", GetCurrentThreadId());
-#   endif
-
-    if (GC_win32_dll_threads) {
-      return _beginthreadex(security, stack_size, start_address,
-                            arglist, initflag, thrdaddr);
-    } else {
-      args = GC_malloc_uncollectable(sizeof(thread_args)); 
-	/* Handed off to and deallocated by child thread.	*/
-      if (0 == args) {
-	SetLastError(ERROR_NOT_ENOUGH_MEMORY);
-        return (uintptr_t)(-1);
-      }
-
-      /* set up thread arguments */
-    	args -> start = (LPTHREAD_START_ROUTINE)start_address;
-    	args -> param = arglist;
-
-      GC_need_to_lock = TRUE;
-      thread_h = _beginthreadex(security, stack_size,
-      		 (unsigned (__stdcall *) (void *))GC_win32_start,
-                                args, initflag, thrdaddr);
-      if( thread_h == 0 ) GC_free( args );
-      return thread_h;
-    }
-}
-
-void GC_endthreadex(unsigned retval)
-{
-  GC_unregister_my_thread();
-  _endthreadex(retval);
-}
-
-#endif /* !GC_PTHREADS */
-
-#ifdef MSWINCE
-
-typedef struct {
-    HINSTANCE hInstance;
-    HINSTANCE hPrevInstance;
-    LPWSTR lpCmdLine;
-    int nShowCmd;
-} main_thread_args;
-
-DWORD WINAPI main_thread_start(LPVOID arg);
-
-int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
-		   LPWSTR lpCmdLine, int nShowCmd)
-{
-    DWORD exit_code = 1;
-
-    main_thread_args args = {
-	hInstance, hPrevInstance, lpCmdLine, nShowCmd
-    };
-    HANDLE thread_h;
-    DWORD thread_id;
-
-    /* initialize everything */
-    GC_init();
-
-    /* start the main thread */
-    thread_h = GC_CreateThread(
-	NULL, 0, main_thread_start, &args, 0, &thread_id);
-
-    if (thread_h != NULL)
-    {
-	WaitForSingleObject (thread_h, INFINITE);
-	GetExitCodeThread (thread_h, &exit_code);
-	CloseHandle (thread_h);
-    }
-
-    GC_deinit();
-    DeleteCriticalSection(&GC_allocate_ml);
-
-    return (int) exit_code;
-}
-
-DWORD WINAPI main_thread_start(LPVOID arg)
-{
-    main_thread_args * args = (main_thread_args *) arg;
-
-    return (DWORD) GC_WinMain (args->hInstance, args->hPrevInstance,
-			       args->lpCmdLine, args->nShowCmd);
-}
-
-# else /* !MSWINCE */
-
-/* Called by GC_init() - we hold the allocation lock.	*/
-void GC_thr_init(void) {
-    struct GC_stack_base sb;
-    int sb_result;
-
-    GC_ASSERT(I_HOLD_LOCK());
-    if (GC_thr_initialized) return;
-    GC_main_thread = GetCurrentThreadId();
-    GC_thr_initialized = TRUE;
-
-    /* Add the initial thread, so we can stop it.	*/
-    sb_result = GC_get_stack_base(&sb);
-    GC_ASSERT(sb_result == GC_SUCCESS);
-    GC_register_my_thread(&sb);
-}
-
-#ifdef GC_PTHREADS
-
-struct start_info {
-    void *(*start_routine)(void *);
-    void *arg;
-    GC_bool detached;
-};
-
-int GC_pthread_join(pthread_t pthread_id, void **retval) {
-    int result;
-    int i;
-    GC_thread joinee;
-
-#   if DEBUG_CYGWIN_THREADS
-      GC_printf("thread 0x%x(0x%x) is joining thread 0x%x.\n",
-		(int)pthread_self(), GetCurrentThreadId(), (int)pthread_id);
-#   endif
-#   if DEBUG_WIN32_PTHREADS
-      GC_printf("thread 0x%x(0x%x) is joining thread 0x%x.\n",
-		(int)(pthread_self()).p, GetCurrentThreadId(), pthread_id.p);
-#   endif
-
-    if (!parallel_initialized) GC_init_parallel();
-    /* Thread being joined might not have registered itself yet. */
-    /* After the join,thread id may have been recycled.		 */
-    /* FIXME: It would be better if this worked more like	 */
-    /* pthread_support.c.					 */
-
-    #ifndef GC_WIN32_PTHREADS
-      while ((joinee = GC_lookup_pthread(pthread_id)) == 0) Sleep(10);
-    #endif
-
-    result = pthread_join(pthread_id, retval);
-
-    #ifdef GC_WIN32_PTHREADS
-      /* win32_pthreads id are unique */
-      joinee = GC_lookup_pthread(pthread_id);
-    #endif
-
-    if (!GC_win32_dll_threads) {
-      LOCK();
-      GC_delete_gc_thread(joinee);
-      UNLOCK();
-    } /* otherwise dllmain handles it.	*/
-
-#   if DEBUG_CYGWIN_THREADS
-      GC_printf("thread 0x%x(0x%x) completed join with thread 0x%x.\n",
-		 (int)pthread_self(), GetCurrentThreadId(), (int)pthread_id);
-#   endif
-#   if DEBUG_WIN32_PTHREADS
-      GC_printf("thread 0x%x(0x%x) completed join with thread 0x%x.\n",
-		(int)(pthread_self()).p, GetCurrentThreadId(), pthread_id.p);
-#   endif
-
-    return result;
-}
-
-/* Cygwin-pthreads calls CreateThread internally, but it's not
- * easily interceptible by us..
- *   so intercept pthread_create instead
- */
-int
-GC_pthread_create(pthread_t *new_thread,
-		  const pthread_attr_t *attr,
-                  void *(*start_routine)(void *), void *arg) {
-    int result;
-    struct start_info * si;
-
-    if (!parallel_initialized) GC_init_parallel();
-    		/* make sure GC is initialized (i.e. main thread is attached) */
-    if (GC_win32_dll_threads) {
-      return pthread_create(new_thread, attr, start_routine, arg);
-    }
-    
-    /* This is otherwise saved only in an area mmapped by the thread */
-    /* library, which isn't visible to the collector.		 */
-    si = GC_malloc_uncollectable(sizeof(struct start_info)); 
-    if (0 == si) return(EAGAIN);
-
-    si -> start_routine = start_routine;
-    si -> arg = arg;
-    if (attr != 0 &&
-        pthread_attr_getdetachstate(attr, &si->detached)
-	== PTHREAD_CREATE_DETACHED) {
-      si->detached = TRUE;
-    }
-
-#   if DEBUG_CYGWIN_THREADS
-      GC_printf("About to create a thread from 0x%x(0x%x)\n",
-		(int)pthread_self(), GetCurrentThreadId);
-#   endif
-#   if DEBUG_WIN32_PTHREADS
-      GC_printf("About to create a thread from 0x%x(0x%x)\n",
-		(int)(pthread_self()).p, GetCurrentThreadId());
-#   endif
-    GC_need_to_lock = TRUE;
-    result = pthread_create(new_thread, attr, GC_pthread_start, si); 
-
-    if (result) { /* failure */
-      	GC_free(si);
-    } 
-
-    return(result);
-}
-
-void * GC_pthread_start_inner(struct GC_stack_base *sb, void * arg)
-{
-    struct start_info * si = arg;
-    void * result;
-    void *(*start)(void *);
-    void *start_arg;
-    DWORD thread_id = GetCurrentThreadId();
-    pthread_t pthread_id = pthread_self();
-    GC_thread me;
-    GC_bool detached;
-    int i;
-
-#   if DEBUG_CYGWIN_THREADS
-      GC_printf("thread 0x%x(0x%x) starting...\n",(int)pthread_id,
-		      				  thread_id);
-#   endif
-#   if DEBUG_WIN32_PTHREADS
-      GC_printf("thread 0x%x(0x%x) starting...\n",(int) pthread_id.p,
-      						  thread_id);
-#   endif
-
-    GC_ASSERT(!GC_win32_dll_threads);
-    /* If a GC occurs before the thread is registered, that GC will	*/
-    /* ignore this thread.  That's fine, since it will block trying to  */
-    /* acquire the allocation lock, and won't yet hold interesting 	*/
-    /* pointers.							*/
-    LOCK();
-    /* We register the thread here instead of in the parent, so that	*/
-    /* we don't need to hold the allocation lock during pthread_create. */
-    me = GC_register_my_thread_inner(sb, thread_id);
-    SET_PTHREAD_MAP_CACHE(pthread_id, thread_id);
-    UNLOCK();
-
-    start = si -> start_routine;
-    start_arg = si -> arg;
-    if (si-> detached) me -> flags |= DETACHED;
-    me -> pthread_id = pthread_id;
-
-    GC_free(si); /* was allocated uncollectable */
-
-    pthread_cleanup_push(GC_thread_exit_proc, (void *)me);
-    result = (*start)(start_arg);
-    me -> status = result;
-    pthread_cleanup_pop(1);
-
-#   if DEBUG_CYGWIN_THREADS
-      GC_printf("thread 0x%x(0x%x) returned from start routine.\n",
-		(int)pthread_self(),GetCurrentThreadId());
-#   endif
-#   if DEBUG_WIN32_PTHREADS
-      GC_printf("thread 0x%x(0x%x) returned from start routine.\n",
-		(int)(pthread_self()).p, GetCurrentThreadId());
-#   endif
-
-    return(result);
-}
-
-void * GC_pthread_start(void * arg)
-{
-    return GC_call_with_stack_base(GC_pthread_start_inner, arg);
-}
-
-void GC_thread_exit_proc(void *arg)
-{
-    GC_thread me = (GC_thread)arg;
-    int i;
-
-    GC_ASSERT(!GC_win32_dll_threads);
-#   if DEBUG_CYGWIN_THREADS
-      GC_printf("thread 0x%x(0x%x) called pthread_exit().\n",
-		(int)pthread_self(),GetCurrentThreadId());
-#   endif
-#   if DEBUG_WIN32_PTHREADS
-      GC_printf("thread 0x%x(0x%x) called pthread_exit().\n",
-		(int)(pthread_self()).p,GetCurrentThreadId());
-#   endif
-
-    LOCK();
-#   if defined(THREAD_LOCAL_ALLOC)
-      GC_destroy_thread_local(&(me->tlfs));
-#   endif
-    if (me -> flags & DETACHED) {
-      GC_delete_thread(GetCurrentThreadId());
-    } else {
-      /* deallocate it as part of join */
-      me -> flags |= FINISHED;
-    }
-    UNLOCK();
-}
-
-#ifndef GC_WIN32_PTHREADS
-/* win32 pthread does not support sigmask */
-/* nothing required here... */
-int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset) {
-  if (!parallel_initialized) GC_init_parallel();
-  return pthread_sigmask(how, set, oset);
-}
-#endif
-
-int GC_pthread_detach(pthread_t thread)
-{
-    int result;
-    GC_thread thread_gc_id;
-    
-    if (!parallel_initialized) GC_init_parallel();
-    LOCK();
-    thread_gc_id = GC_lookup_pthread(thread);
-    UNLOCK();
-    result = pthread_detach(thread);
-    if (result == 0) {
-      LOCK();
-      thread_gc_id -> flags |= DETACHED;
-      /* Here the pthread thread id may have been recycled. */
-      if (thread_gc_id -> flags & FINISHED) {
-        GC_delete_gc_thread(thread_gc_id);
-      }
-      UNLOCK();
-    }
-    return result;
-}
-
-#else /* !GC_PTHREADS */
-
-/*
- * We avoid acquiring locks here, since this doesn't seem to be preemptable.
- * This may run with an uninitialized collector, in which case we don't do much.
- * This implies that no threads other than the main one should be created
- * with an uninitialized collector.  (The alternative of initializing
- * the collector here seems dangerous, since DllMain is limited in what it
- * can do.)
- */
-#ifdef GC_DLL
-GC_API BOOL WINAPI DllMain(HINSTANCE inst, ULONG reason, LPVOID reserved)
-{
-  struct GC_stack_base sb;
-  DWORD thread_id;
-  int sb_result;
-  static int entry_count = 0;
-
-  if (parallel_initialized && !GC_win32_dll_threads) return TRUE;
-
-  switch (reason) {
-   case DLL_THREAD_ATTACH:
-    GC_ASSERT(entry_count == 0 || parallel_initialized);
-    ++entry_count; /* and fall through: */
-   case DLL_PROCESS_ATTACH:
-    /* This may run with the collector uninitialized. */
-    thread_id = GetCurrentThreadId();
-    if (parallel_initialized && GC_main_thread != thread_id) {
-	/* Don't lock here.	*/
-        sb_result = GC_get_stack_base(&sb);
-        GC_ASSERT(sb_result == GC_SUCCESS);
-#       ifdef THREAD_LOCAL_ALLOC
-	  ABORT("Cannot initialize thread local cache from DllMain");
-#       endif
-	GC_register_my_thread_inner(&sb, thread_id);
-    } /* o.w. we already did it during GC_thr_init(), called by GC_init() */
-    break;
-
-   case DLL_THREAD_DETACH:
-    /* We are hopefully running in the context of the exiting thread.	*/
-    GC_ASSERT(parallel_initialized);
-    if (!GC_win32_dll_threads) return TRUE;
-    GC_delete_thread(GetCurrentThreadId());
-    break;
-
-   case DLL_PROCESS_DETACH:
-    {
-      int i;
-
-      if (!GC_win32_dll_threads) return TRUE;
-      for (i = 0; i <= GC_get_max_thread_index(); ++i)
-      {
-          if (AO_load(&(dll_thread_table[i].in_use)))
-	    GC_delete_gc_thread(dll_thread_table + i);
-      }
-
-      GC_deinit();
-      DeleteCriticalSection(&GC_allocate_ml);
-    }
-    break;
-
-  }
-  return TRUE;
-}
-#endif /* GC_DLL */
-#endif /* !GC_PTHREADS */
-
-# endif /* !MSWINCE */
-
-/* Perform all initializations, including those that	*/
-/* may require allocation.				*/
-/* Called without allocation lock.			*/
-/* Must be called before a second thread is created.	*/
-void GC_init_parallel(void)
-{
-    if (parallel_initialized) return;
-    parallel_initialized = TRUE;
-    /* GC_init() calls us back, so set flag first.	*/
-    
-    if (!GC_is_initialized) GC_init();
-    if (GC_win32_dll_threads) {
-      GC_need_to_lock = TRUE;
-  	/* Cannot intercept thread creation.  Hence we don't know if other	*/
-	/* threads exist.  However, client is not allowed to create other	*/
-	/* threads before collector initialization.  Thus it's OK not to	*/
-	/* lock before this.							*/
-    }
-    /* Initialize thread local free lists if used.	*/
-#   if defined(THREAD_LOCAL_ALLOC)
-      LOCK();
-      GC_init_thread_local(&(GC_lookup_thread(GetCurrentThreadId())->tlfs));
-      UNLOCK();
-#   endif
-}
-
-#if defined(USE_PTHREAD_LOCKS)
-  /* Support for pthread locking code.		*/
-  /* Pthread_mutex_try_lock may not win here,	*/
-  /* due to builtinsupport for spinning first?	*/
-
-volatile GC_bool GC_collecting = 0;
-			/* A hint that we're in the collector and       */
-                        /* holding the allocation lock for an           */
-                        /* extended period.                             */
-
-void GC_lock(void)
-{
-    pthread_mutex_lock(&GC_allocate_ml);
-}
-#endif /* USE_PTHREAD ... */
-
-# if defined(THREAD_LOCAL_ALLOC)
-
-/* Add thread-local allocation support.  Microsoft uses __declspec(thread) */
-
-/* We must explicitly mark ptrfree and gcj free lists, since the free 	*/
-/* list links wouldn't otherwise be found.  We also set them in the 	*/
-/* normal free lists, since that involves touching less memory than if	*/
-/* we scanned them normally.						*/
-void GC_mark_thread_local_free_lists(void)
-{
-    int i;
-    GC_thread p;
-    
-    for (i = 0; i < THREAD_TABLE_SZ; ++i) {
-      for (p = GC_threads[i]; 0 != p; p = p -> next) {
-	GC_mark_thread_local_fls_for(&(p->tlfs));
-      }
-    }
-}
-
-#if defined(GC_ASSERTIONS)
-    /* Check that all thread-local free-lists are completely marked.	*/
-    /* also check that thread-specific-data structures are marked.	*/
-    void GC_check_tls(void) {
-	int i;
-	GC_thread p;
-	
-	for (i = 0; i < THREAD_TABLE_SZ; ++i) {
-	  for (p = GC_threads[i]; 0 != p; p = p -> next) {
-	    GC_check_tls_for(&(p->tlfs));
-	  }
-	}
-#       if defined(USE_CUSTOM_SPECIFIC)
-	  if (GC_thread_key != 0)
-	    GC_check_tsd_marks(GC_thread_key);
-#	endif 
-    }
-#endif /* GC_ASSERTIONS */
-
-#endif /* THREAD_LOCAL_ALLOC ... */
-
-#endif /* GC_WIN32_THREADS */
diff --git a/SRC/Boost/tools/build/v2/engine/boost-jam.spec b/SRC/Boost/tools/build/v2/engine/boost-jam.spec
deleted file mode 100755
index 01a61e5..0000000
--- a/SRC/Boost/tools/build/v2/engine/boost-jam.spec
+++ /dev/null
@@ -1,64 +0,0 @@
-Name: boost-jam
-Version: 3.1.19
-Summary: Build tool
-Release: 1
-Source: %{name}-%{version}.tgz
-
-License: Boost Software License, Version 1.0
-Group: Development/Tools
-URL: http://www.boost.org
-Packager: Rene Rivera <grafik at redshift-software.com>
-BuildRoot: /var/tmp/%{name}-%{version}.root
-
-%description
-Boost Jam is a build tool based on FTJam, which in turn is based on
-Perforce Jam. It contains significant improvements made to facilitate
-its use in the Boost Build System, but should be backward compatible
-with Perforce Jam.
-
-Authors:
-    Perforce Jam : Cristopher Seiwald
-    FT Jam : David Turner
-    Boost Jam : David Abrahams
-
-Copyright:
-    /+\
-    +\  Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
-    \+/
-    License is hereby granted to use this software and distribute it
-    freely, as long as this copyright notice is retained and modifications
-    are clearly marked.
-    ALL WARRANTIES ARE HEREBY DISCLAIMED.
-
-Also:
-    Copyright 2001-2006 David Abrahams.
-    Copyright 2002-2006 Rene Rivera.
-    Copyright 2003-2006 Vladimir Prus.
-
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-%prep
-%setup -n %{name}-%{version}
-
-%build
-LOCATE_TARGET=bin ./build.sh $BOOST_JAM_TOOLSET
-
-%install
-rm -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT%{_bindir}
-mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
-install -m 755 bin/bjam $RPM_BUILD_ROOT%{_bindir}/bjam-%{version}
-ln -sf bjam-%{version} $RPM_BUILD_ROOT%{_bindir}/bjam
-cp -R *.html *.png *.css LICENSE*.txt images jam $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
-
-find $RPM_BUILD_ROOT -name CVS -type d -exec rm -r {} \;
-
-%files
-%defattr(-,root,root)
-%attr(755,root,root) /usr/bin/*
-%doc %{_docdir}/%{name}-%{version}
-
-
-%clean
-rm -rf $RPM_BUILD_ROOT
diff --git a/SRC/Boost/tools/build/v2/engine/boost-no-inspect b/SRC/Boost/tools/build/v2/engine/boost-no-inspect
deleted file mode 100755
index 8a06f3a..0000000
--- a/SRC/Boost/tools/build/v2/engine/boost-no-inspect
+++ /dev/null
@@ -1 +0,0 @@
-this really out of our hands, so tell inspect to ignore directory
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/engine/build.bat b/SRC/Boost/tools/build/v2/engine/build.bat
deleted file mode 100755
index ce309bb..0000000
--- a/SRC/Boost/tools/build/v2/engine/build.bat
+++ /dev/null
@@ -1,532 +0,0 @@
- at ECHO OFF
-
-REM ~ Copyright 2002-2007 Rene Rivera.
-REM ~ Distributed under the Boost Software License, Version 1.0.
-REM ~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-setlocal
-goto Start
-
-
-:Set_Error
-color 00
-goto :eof
-
-
-:Clear_Error
-ver >nul
-goto :eof
-
-
-:Error_Print
-REM Output an error message and set the errorlevel to indicate failure.
-setlocal
-ECHO ###
-ECHO ### %1
-ECHO ###
-ECHO ### You can specify the toolset as the argument, i.e.:
-ECHO ###     .\build.bat msvc
-ECHO ###
-ECHO ### Toolsets supported by this script are: borland, como, gcc, gcc-nocygwin,
-ECHO ###     intel-win32, metrowerks, mingw, msvc, vc7, vc8, vc9, vc10
-ECHO ###
-call :Set_Error
-endlocal
-goto :eof
-
-
-:Test_Path
-REM Tests for the given file(executable) presence in the directories in the PATH
-REM environment variable. Additionaly sets FOUND_PATH to the path of the
-REM found file.
-call :Clear_Error
-setlocal
-set test=%~$PATH:1
-endlocal
-if not errorlevel 1 set FOUND_PATH=%~dp$PATH:1
-goto :eof
-
-
-:Test_Option
-REM Tests whether the given string is in the form of an option: "--*"
-call :Clear_Error
-setlocal
-set test=%1
-if not defined test (
-    call :Set_Error
-    goto Test_Option_End
-)
-set test=###%test%###
-set test=%test:"###=%
-set test=%test:###"=%
-set test=%test:###=%
-if not "-" == "%test:~1,1%" call :Set_Error
-:Test_Option_End
-endlocal
-goto :eof
-
-
-:Test_Empty
-REM Tests whether the given string is not empty
-call :Clear_Error
-setlocal
-set test=%1
-if not defined test (
-    call :Clear_Error
-    goto Test_Empty_End
-)
-set test=###%test%###
-set test=%test:"###=%
-set test=%test:###"=%
-set test=%test:###=%
-if not "" == "%test%" call :Set_Error
-:Test_Empty_End
-endlocal
-goto :eof
-
-
-:Call_If_Exists
-if EXIST %1 call %*
-goto :eof
-
-
-:Guess_Toolset
-REM Try and guess the toolset to bootstrap the build with...
-REM Sets BOOST_JAM_TOOLSET to the first found toolset.
-REM May also set BOOST_JAM_TOOLSET_ROOT to the
-REM location of the found toolset.
-
-call :Clear_Error
-call :Test_Empty %ProgramFiles%
-if not errorlevel 1 set ProgramFiles=C:\Program Files
-
-call :Clear_Error
-if NOT "_%VS100COMNTOOLS%_" == "__" (
-    set "BOOST_JAM_TOOLSET=vc10"
-    set "BOOST_JAM_TOOLSET_ROOT=%VS100COMNTOOLS%..\..\VC\"
-    goto :eof)
-call :Clear_Error
-if EXIST "%ProgramFiles%\Microsoft Visual Studio 10.0\VC\VCVARSALL.BAT" (
-    set "BOOST_JAM_TOOLSET=vc10"
-    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio 10.0\VC\"
-    goto :eof)
-call :Clear_Error
-if NOT "_%VS90COMNTOOLS%_" == "__" (
-    set "BOOST_JAM_TOOLSET=vc9"
-    set "BOOST_JAM_TOOLSET_ROOT=%VS90COMNTOOLS%..\..\VC\"
-    goto :eof)
-call :Clear_Error
-if EXIST "%ProgramFiles%\Microsoft Visual Studio 9.0\VC\VCVARSALL.BAT" (
-    set "BOOST_JAM_TOOLSET=vc9"
-    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio 9.0\VC\"
-    goto :eof)
-call :Clear_Error
-if NOT "_%VS80COMNTOOLS%_" == "__" (
-    set "BOOST_JAM_TOOLSET=vc8"
-    set "BOOST_JAM_TOOLSET_ROOT=%VS80COMNTOOLS%..\..\VC\"
-    goto :eof)
-call :Clear_Error
-if EXIST "%ProgramFiles%\Microsoft Visual Studio 8\VC\VCVARSALL.BAT" (
-    set "BOOST_JAM_TOOLSET=vc8"
-    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio 8\VC\"
-    goto :eof)
-call :Clear_Error
-if NOT "_%VS71COMNTOOLS%_" == "__" (
-    set "BOOST_JAM_TOOLSET=vc7"
-    set "BOOST_JAM_TOOLSET_ROOT=%VS71COMNTOOLS%\..\..\VC7\"
-    goto :eof)
-call :Clear_Error
-if NOT "_%VCINSTALLDIR%_" == "__" (
-    REM %VCINSTALLDIR% is also set for VC9 (and probably VC8)
-    set "BOOST_JAM_TOOLSET=vc7"
-    set "BOOST_JAM_TOOLSET_ROOT=%VCINSTALLDIR%\VC7\"
-    goto :eof)
-call :Clear_Error
-if EXIST "%ProgramFiles%\Microsoft Visual Studio .NET 2003\VC7\bin\VCVARS32.BAT" (
-    set "BOOST_JAM_TOOLSET=vc7"
-    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio .NET 2003\VC7\"
-    goto :eof)
-call :Clear_Error
-if EXIST "%ProgramFiles%\Microsoft Visual Studio .NET\VC7\bin\VCVARS32.BAT" (
-    set "BOOST_JAM_TOOLSET=vc7"
-    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio .NET\VC7\"
-    goto :eof)
-call :Clear_Error
-if NOT "_%MSVCDir%_" == "__" (
-    set "BOOST_JAM_TOOLSET=msvc"
-    set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
-    goto :eof)
-call :Clear_Error
-if EXIST "%ProgramFiles%\Microsoft Visual Studio\VC98\bin\VCVARS32.BAT" (
-    set "BOOST_JAM_TOOLSET=msvc"
-    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio\VC98\"
-    goto :eof)
-call :Clear_Error
-if EXIST "%ProgramFiles%\Microsoft Visual C++\VC98\bin\VCVARS32.BAT" (
-    set "BOOST_JAM_TOOLSET=msvc"
-    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual C++\VC98\"
-    goto :eof)
-call :Clear_Error
-call :Test_Path cl.exe
-if not errorlevel 1 (
-    set "BOOST_JAM_TOOLSET=msvc"
-    set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\"
-    goto :eof)
-call :Clear_Error
-call :Test_Path vcvars32.bat
-if not errorlevel 1 (
-    set "BOOST_JAM_TOOLSET=msvc"
-    call "%FOUND_PATH%VCVARS32.BAT"
-    set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
-    goto :eof)
-call :Clear_Error
-if EXIST "C:\Borland\BCC55\Bin\bcc32.exe" (
-    set "BOOST_JAM_TOOLSET=borland"
-    set "BOOST_JAM_TOOLSET_ROOT=C:\Borland\BCC55\"
-    goto :eof)
-call :Clear_Error
-call :Test_Path bcc32.exe
-if not errorlevel 1 (
-    set "BOOST_JAM_TOOLSET=borland"
-    set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\"
-    goto :eof)
-call :Clear_Error
-call :Test_Path icl.exe
-if not errorlevel 1 (
-    set "BOOST_JAM_TOOLSET=intel-win32"
-    set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\"
-    goto :eof)
-call :Clear_Error
-if EXIST "C:\MinGW\bin\gcc.exe" (
-    set "BOOST_JAM_TOOLSET=mingw"
-    set "BOOST_JAM_TOOLSET_ROOT=C:\MinGW\"
-    goto :eof)
-call :Clear_Error
-if NOT "_%CWFolder%_" == "__" (
-    set "BOOST_JAM_TOOLSET=metrowerks"
-    set "BOOST_JAM_TOOLSET_ROOT=%CWFolder%\"
-    goto :eof )
-call :Clear_Error
-call :Test_Path mwcc.exe
-if not errorlevel 1 (
-    set "BOOST_JAM_TOOLSET=metrowerks"
-    set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\..\"
-    goto :eof)
-call :Clear_Error
-call :Error_Print "Could not find a suitable toolset."
-goto :eof
-
-
-:Guess_Yacc
-REM Tries to find bison or yacc in common places so we can build the grammar.
-call :Clear_Error
-call :Test_Path yacc.exe
-if not errorlevel 1 (
-    set "YACC=yacc -d"
-    goto :eof)
-call :Clear_Error
-call :Test_Path bison.exe
-if not errorlevel 1 (
-    set "YACC=bison -d --yacc"
-    goto :eof)
-call :Clear_Error
-if EXIST "C:\Program Files\GnuWin32\bin\bison.exe" (
-    set "YACC=C:\Program Files\GnuWin32\bin\bison.exe" -d --yacc
-    goto :eof)
-call :Clear_Error
-call :Error_Print "Could not find Yacc to build the Jam grammar."
-goto :eof
-
-
-:Start
-set BOOST_JAM_TOOLSET=
-set BOOST_JAM_ARGS=
-
-REM If no arguments guess the toolset;
-REM or if first argument is an option guess the toolset;
-REM otherwise the argument is the toolset to use.
-call :Clear_Error
-call :Test_Empty %1
-if not errorlevel 1 (
-    call :Guess_Toolset
-    if not errorlevel 1 ( goto Setup_Toolset ) else ( goto Finish )
-)
-
-call :Clear_Error
-call :Test_Option %1
-if not errorlevel 1 (
-    call :Guess_Toolset
-    if not errorlevel 1 ( goto Setup_Toolset ) else ( goto Finish )
-)
-
-call :Clear_Error
-set BOOST_JAM_TOOLSET=%1
-shift
-goto Setup_Toolset
-
-
-:Setup_Toolset
-REM Setup the toolset command and options. This bit of code
-REM needs to be flexible enough to handle both when
-REM the toolset was guessed at and found, or when the toolset
-REM was indicated in the command arguments.
-REM NOTE: The strange multiple "if ?? == _toolset_" tests are that way
-REM because in BAT variables are subsituted only once during a single
-REM command. A complete "if ... ( commands ) else ( commands )"
-REM is a single command, even though it's in multiple lines here.
-:Setup_Args
-call :Clear_Error
-call :Test_Empty %1
-if not errorlevel 1 goto Config_Toolset
-call :Clear_Error
-call :Test_Option %1
-if errorlevel 1 (
-    set BOOST_JAM_ARGS=%BOOST_JAM_ARGS% %1
-    shift
-    goto Setup_Args
-)
-:Config_Toolset
-if NOT "_%BOOST_JAM_TOOLSET%_" == "_metrowerks_" goto Skip_METROWERKS
-if NOT "_%CWFolder%_" == "__" (
-    set "BOOST_JAM_TOOLSET_ROOT=%CWFolder%\"
-    )
-set "PATH=%BOOST_JAM_TOOLSET_ROOT%Other Metrowerks Tools\Command Line Tools;%PATH%"
-set "BOOST_JAM_CC=mwcc -runtime ss -cwd include -DNT -lkernel32.lib -ladvapi32.lib -luser32.lib"
-set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
-set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
-set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
-set "_known_=1"
-:Skip_METROWERKS
-if NOT "_%BOOST_JAM_TOOLSET%_" == "_msvc_" goto Skip_MSVC
-if NOT "_%MSVCDir%_" == "__" (
-    set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
-    )
-call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT"
-if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-    set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
-    )
-set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib"
-set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
-set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
-set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
-set "_known_=1"
-:Skip_MSVC
-if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc7_" goto Skip_VC7
-if NOT "_%VS71COMNTOOLS%_" == "__" (
-    set "BOOST_JAM_TOOLSET_ROOT=%VS71COMNTOOLS%..\..\VC7\"
-    )
-if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT"
-if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-    if "_%VCINSTALLDIR%_" == "__" (
-        set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
-        ) )
-set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib"
-set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
-set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
-set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
-set "_known_=1"
-:Skip_VC7
-if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc8_" goto Skip_VC8
-if NOT "_%VS80COMNTOOLS%_" == "__" (
-    set "BOOST_JAM_TOOLSET_ROOT=%VS80COMNTOOLS%..\..\VC\"
-    )
-if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%VCVARSALL.BAT" %BOOST_JAM_ARGS%
-if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-    if "_%VCINSTALLDIR%_" == "__" (
-        set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
-        ) )
-set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
-set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
-set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
-set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
-set "_known_=1"
-:Skip_VC8
-if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc9_" goto Skip_VC9
-if NOT "_%VS90COMNTOOLS%_" == "__" (
-    set "BOOST_JAM_TOOLSET_ROOT=%VS90COMNTOOLS%..\..\VC\"
-    )
-if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%VCVARSALL.BAT" %BOOST_JAM_ARGS%
-if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-    if "_%VCINSTALLDIR%_" == "__" (
-        set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
-        ) )
-set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
-set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
-set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
-set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
-set "_known_=1"
-:Skip_VC9
-if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc10_" goto Skip_VC10
-if NOT "_%VS100COMNTOOLS%_" == "__" (
-    set "BOOST_JAM_TOOLSET_ROOT=%VS100COMNTOOLS%..\..\VC\"
-    )
-if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%VCVARSALL.BAT" %BOOST_JAM_ARGS%
-if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-    if "_%VCINSTALLDIR%_" == "__" (
-        set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
-        ) )
-set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
-set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
-set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
-set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
-set "_known_=1"
-:Skip_VC10
-if NOT "_%BOOST_JAM_TOOLSET%_" == "_borland_" goto Skip_BORLAND
-if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-    call :Test_Path bcc32.exe )
-if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-    if not errorlevel 1 (
-        set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\"
-        ) )
-if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-    set "PATH=%BOOST_JAM_TOOLSET_ROOT%Bin;%PATH%"
-    )
-set "BOOST_JAM_CC=bcc32 -WC -w- -q -I%BOOST_JAM_TOOLSET_ROOT%Include -L%BOOST_JAM_TOOLSET_ROOT%Lib /DNT -nbootstrap"
-set "BOOST_JAM_OPT_JAM=-ejam0"
-set "BOOST_JAM_OPT_MKJAMBASE=-emkjambasejam0"
-set "BOOST_JAM_OPT_YYACC=-eyyacc0"
-set "_known_=1"
-:Skip_BORLAND
-if NOT "_%BOOST_JAM_TOOLSET%_" == "_como_" goto Skip_COMO
-set "BOOST_JAM_CC=como -DNT"
-set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
-set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
-set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
-set "_known_=1"
-:Skip_COMO
-if NOT "_%BOOST_JAM_TOOLSET%_" == "_gcc_" goto Skip_GCC
-set "BOOST_JAM_CC=gcc -DNT"
-set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
-set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
-set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
-set "_known_=1"
-:Skip_GCC
-if NOT "_%BOOST_JAM_TOOLSET%_" == "_gcc-nocygwin_" goto Skip_GCC_NOCYGWIN
-set "BOOST_JAM_CC=gcc -DNT -mno-cygwin"
-set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
-set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
-set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
-set "_known_=1"
-:Skip_GCC_NOCYGWIN
-if NOT "_%BOOST_JAM_TOOLSET%_" == "_intel-win32_" goto Skip_INTEL_WIN32
-set "BOOST_JAM_CC=icl -DNT /nologo kernel32.lib advapi32.lib user32.lib"
-set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
-set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
-set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
-set "_known_=1"
-:Skip_INTEL_WIN32
-if NOT "_%BOOST_JAM_TOOLSET%_" == "_mingw_" goto Skip_MINGW
-if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-    set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
-    )
-set "BOOST_JAM_CC=gcc -DNT"
-set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
-set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
-set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
-set "_known_=1"
-:Skip_MINGW
-call :Clear_Error
-if "_%_known_%_" == "__" (
-    call :Error_Print "Unknown toolset: %BOOST_JAM_TOOLSET%"
-)
-if errorlevel 1 goto Finish
-
-echo ###
-echo ### Using '%BOOST_JAM_TOOLSET%' toolset.
-echo ###
-
-set YYACC_SOURCES=yyacc.c
-set MKJAMBASE_SOURCES=mkjambase.c
-set BJAM_SOURCES=
-set BJAM_SOURCES=%BJAM_SOURCES% command.c compile.c debug.c execnt.c expand.c filent.c glob.c hash.c
-set BJAM_SOURCES=%BJAM_SOURCES% hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c
-set BJAM_SOURCES=%BJAM_SOURCES% newstr.c option.c output.c parse.c pathunix.c regexp.c
-set BJAM_SOURCES=%BJAM_SOURCES% rules.c scan.c search.c subst.c timestamp.c variable.c modules.c
-set BJAM_SOURCES=%BJAM_SOURCES% strings.c filesys.c builtins.c md5.c pwd.c class.c w32_getreg.c native.c
-set BJAM_SOURCES=%BJAM_SOURCES% modules/set.c modules/path.c modules/regex.c
-set BJAM_SOURCES=%BJAM_SOURCES% modules/property-set.c modules/sequence.c modules/order.c
-
-set BJAM_UPDATE=
-:Check_Update
-call :Test_Empty %1
-if not errorlevel 1 goto Check_Update_End
-call :Clear_Error
-setlocal
-set test=%1
-set test=###%test%###
-set test=%test:"###=%
-set test=%test:###"=%
-set test=%test:###=%
-if "%test%" == "--update" set BJAM_UPDATE=update
-endlocal
-shift
-if not "_%BJAM_UPDATE%_" == "_update_" goto Check_Update
-:Check_Update_End
-if "_%BJAM_UPDATE%_" == "_update_" (
-    if not exist ".\bootstrap\jam0.exe" (
-        set BJAM_UPDATE=
-    )
-)
-
- at echo ON
- at if "_%BJAM_UPDATE%_" == "_update_" goto Skip_Bootstrap
-if exist bootstrap rd /S /Q bootstrap
-md bootstrap
- at if not exist jamgram.y goto Bootstrap_GrammarPrep
- at if not exist jamgramtab.h goto Bootstrap_GrammarPrep
- at goto Skip_GrammarPrep
-:Bootstrap_GrammarPrep
-%BOOST_JAM_CC% %BOOST_JAM_OPT_YYACC% %YYACC_SOURCES%
- at if not exist ".\bootstrap\yyacc0.exe" goto Skip_GrammarPrep
-.\bootstrap\yyacc0 jamgram.y jamgramtab.h jamgram.yy
-:Skip_GrammarPrep
- at if not exist jamgram.c goto Bootstrap_GrammarBuild
- at if not exist jamgram.h goto Bootstrap_GrammarBuild
- at goto Skip_GrammarBuild
-:Bootstrap_GrammarBuild
- at echo OFF
-if "_%YACC%_" == "__" (
-    call :Guess_Yacc
-)
-if errorlevel 1 goto Finish
- at echo ON
-%YACC% jamgram.y
- at if errorlevel 1 goto Finish
-del /f jamgram.c
-rename y.tab.c jamgram.c
-del /f jamgram.h
-rename y.tab.h jamgram.h
-:Skip_GrammarBuild
- at echo ON
- at if exist jambase.c goto Skip_Jambase
-%BOOST_JAM_CC% %BOOST_JAM_OPT_MKJAMBASE% %MKJAMBASE_SOURCES%
- at if not exist ".\bootstrap\mkjambase0.exe" goto Skip_Jambase
-.\bootstrap\mkjambase0 jambase.c Jambase
-:Skip_Jambase
-%BOOST_JAM_CC% %BOOST_JAM_OPT_JAM% %BJAM_SOURCES%
-:Skip_Bootstrap
- at if not exist ".\bootstrap\jam0.exe" goto Skip_Jam
- at if "_%BJAM_UPDATE%_" == "_update_" goto Skip_Clean
-.\bootstrap\jam0 -f build.jam --toolset=%BOOST_JAM_TOOLSET% "--toolset-root=%BOOST_JAM_TOOLSET_ROOT% " clean
-:Skip_Clean
- at set args=%*
- at echo OFF
-:Set_Args
-setlocal
-call :Test_Empty %args%
-if not errorlevel 1 goto Set_Args_End
-set test=###%args:~0,2%###
-set test=%test:"###=%
-set test=%test:###"=%
-set test=%test:###=%
-set test=%test:~0,1%
-if "-" == "%test%" goto Set_Args_End
-endlocal
-set args=%args:~1%
-goto Set_Args
-:Set_Args_End
- at echo ON
-.\bootstrap\jam0 -f build.jam --toolset=%BOOST_JAM_TOOLSET% "--toolset-root=%BOOST_JAM_TOOLSET_ROOT% " %args%
-:Skip_Jam
-
-:Finish
diff --git a/SRC/Boost/tools/build/v2/engine/build.jam b/SRC/Boost/tools/build/v2/engine/build.jam
deleted file mode 100755
index 5674efb..0000000
--- a/SRC/Boost/tools/build/v2/engine/build.jam
+++ /dev/null
@@ -1,1070 +0,0 @@
-#~ Copyright 2002-2007 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Clean env vars of any "extra" empty values.
-for local v in ARGV CC CFLAGS LIBS
-{
-	local values ;
-	for local x in $($(v))
-	{
-		if $(x) != ""
-		{
-			values += $(x) ;
-		}
-	}
-	$(v) = $(values) ;
-}
-
-# Platform related specifics.
-if $(OS) = NT { rule .path { return "$(<:J=\\)" ; } ./ = "/" ; }
-else if $(OS) = OS2 { rule .path { return "$(<:J=\\)" ; } ./ = "/" ; }
-else if $(OS) = VMS { rule .path { return "[.$(<:J=/)]" ; } }
-else if $(OS) = MAC { rule .path { return ":$(<:J=\:)" ; } }
-else { rule .path { return "$(<:J=/)" ; } }
-if $(OS) = VMS { . = "_" ; }
-else { . = "." ; }
-./ ?= "" ;
-
-# Info about what we are building.
-_VERSION_ = 3 1 19 ;
-NAME = boost-jam ;
-VERSION = $(_VERSION_:J=$(.)) ;
-RELEASE = 1 ;
-LICENSE = LICENSE_1_0 ;
-
-# Generate development debug binaries?
-if --debug in $(ARGV)
-{
-    debug = true ;
-}
-
-if --profile in $(ARGV)
-{
-    profile = true ;
-}
-
-# Attempt to generate and/or build the grammar?
-if --grammar in $(ARGV)
-{
-    grammar = true ;
-}
-
-# Do we need to add a default build type argument?
-if ! ( --release in $(ARGV) ) &&
-   ! ( --debug in $(ARGV) ) &&
-   ! ( --profile in $(ARGV) )
-{
-    ARGV += --release ;
-}
-
-# Enable, and configure, Python hooks.
-with-python = ;
-python-location = [ MATCH --with-python=(.*) : $(ARGV) ] ;
-if $(python-location)
-{
-    with-python = true ;
-}
-if $(with-python)
-{
-    if $(OS) = NT
-    {
-        --python-include = [ .path $(python-location) include ] ;
-        --python-lib = ;
-        for local v in 26 25 24 23 22
-        {
-            --python-lib ?=
-                [ GLOB [ .path $(python-location) libs ] : "python$(v).lib" ]
-                [ GLOB $(python-location) [ .path $(python-location) libs ]
-                    $(Path) $(PATH) $(path) : "python$(v).dll" ]
-                ;
-            if ! $(--python-lib[2])
-            {
-                --python-lib = ;
-            }
-        }
-        --python-lib = $(--python-lib[1]) ;
-    }
-    else if $(OS) = MACOSX
-    {
-        --python-include = [ .path $(python-location) Headers ] ;
-        --python-lib = $(python-location) Python ;
-    }
-    else
-    {
-        --python-include = ;
-        --python-lib = ;
-        for local v in 2.6 2.5 2.4 2.3 2.2
-        {
-            local inc = [ GLOB [ .path $(python-location) include ] : python$(v) ] ;
-            local lib = [ GLOB [ .path $(python-location) lib ] : libpython$(v)* ] ;
-            if $(inc) && $(lib)
-            {
-                --python-include ?= $(inc) ;
-                --python-lib ?= $(lib[1]:D) python$(v) ;
-            }
-        }
-    }
-}
-
-# Boehm GC?
-if --gc in $(ARGV)
-{
-    --boehm-gc = true ;
-}
-if $(--boehm-gc)
-{
-    --extra-include += [ .path [ PWD ] "boehm_gc" "include" ] ;
-}
-
-# Duma?
-if --duma in $(ARGV)
-{
-    --duma = true ;
-}
-if $(--duma)
-{
-    --extra-include += [ .path [ PWD ] "duma" ] ;
-}
-
-# An explicit root for the toolset? (trim spaces)
-toolset-root = [ MATCH --toolset-root=(.*) : $(ARGV) ] ;
-{
-    local t = [ MATCH "[ ]*(.*)" : $(toolset-root:J=" ") ] ;
-    toolset-root = ;
-    while $(t)
-    {
-        t = [ MATCH "([^ ]+)([ ]*)(.*)" : $(t) ] ;
-        toolset-root += $(t[1]) ;
-        if $(t[3]) { toolset-root += $(t[2]) ; }
-        t = $(t[3]) ;
-    }
-    toolset-root = $(toolset-root:J="") ;
-}
-
-# Configure the implemented toolsets. These are minimal
-# commands and options to compile the full Jam. When
-# adding new toolsets make sure to add them to the
-# "known" list also.
-
-rule toolset ( name command .type ? : opt.out + : opt.define * : flags * : linklibs * )
-{
-    .type ?= "" ;
-    tool.$(name)$(.type).cc ?= $(command) ;
-    tool.$(name)$(.type).opt.out ?= $(opt.out) ;
-    tool.$(name)$(.type).opt.define ?= $(opt.define) ;
-    tool.$(name)$(.type).flags ?= $(flags) ;
-    tool.$(name)$(.type).linklibs ?= $(linklibs) ;
-    if ! $(name) in $(toolsets) { toolsets += $(name) ; }
-}
-
-rule if-os ( os + : yes-opt * : no-opt * )
-    { if $(os) in $(OS) { return $(yes-opt) ; } else { return $(no-opt) ; } }
-
-rule opt ( type : yes-opt * : no-opt * )
-    { if $(type) in $(ARGV) { return $(yes-opt) ; } else { return $(no-opt) ; } }
-
-## HP-UX aCC compiler
-toolset acc cc : "-o " : -D
-    : -Ae
-    [ opt --release : -s -O3 ]
-    [ opt --debug : -g -pg ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Borland C++ 5.5.x
-toolset borland bcc32 : -e -n : /D
-    : -WC -w- -q "-I$(toolset-root)Include" "-L$(toolset-root)Lib"
-    [ opt --release : -O2 -vi -w-inl ]
-    [ opt --debug : -v -Od -vi- ]
-    -I$(--python-include) -I$(--extra-include)
-    : $(--python-lib[1]) ;
-## Generic Unix cc
-if ! $(CC) { CC = cc ; }
-toolset cc $(CC) : "-o " : -D
-    : $(CFLAGS)
-    [ opt --release : -s -O ]
-    [ opt --debug : -g ]
-    -I$(--python-include) -I$(--extra-include)
-    : $(LIBS) -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Comeau C/C++ 4.x
-toolset como como : "-o " : -D
-    : --c
-    [ opt --release : --inlining ]
-    [ opt --debug : --no_inlining ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Clang Linux 2.8+
-toolset clang clang :  "-o " : -D
-    : -Wno-unused -Wno-format
-    [ opt --release : -Os ]
-    [ opt --debug : -g -O0 -fno-inline ]
-    [ opt --profile : -finline-functions -g ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## MacOSX Darwin, using GCC 2.9.x, 3.x
-toolset darwin cc :  "-o " : -D
-    :
-    [ opt --release : -Wl,-x -O3 -finline-functions ]
-    [ opt --debug : -g -O0 -fno-inline -pg ]
-    [ opt --profile : -Wl,-x -O3 -finline-functions -g -pg ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## GCC 2.x, 3.x, 4.x
-toolset gcc gcc : "-o " : -D
-    : -pedantic -fno-strict-aliasing
-    [ opt --release : [ opt --symbols : -g : -s ] -O3 ]
-    [ opt --debug : -g -O0 -fno-inline ]
-    -I$(--python-include) -I$(--extra-include) -Wno-long-long
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## GCC 2.x, 3.x on CYGWIN but without cygwin1.dll
-toolset gcc-nocygwin gcc : "-o " : -D
-    : -s -O3 -mno-cygwin
-    [ opt --release : -finline-functions ]
-    [ opt --debug : -s -O3 -fno-inline -pg ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Intel C/C++ for Darwin
-toolset intel-darwin icc : "-o " : -D
-    :
-    [ opt --release : -O3 ]
-    [ opt --debug : -g -O0 -p ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Intel C/C++ for Linux
-toolset intel-linux icc : "-o " : -D
-    :
-    [ opt --release : -Xlinker -s -O3 ]
-    [ opt --debug : -g -O0 -p ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Intel C/C++ for Win32
-toolset intel-win32 icl : /Fe : -D
-    : /nologo
-    [ opt --release : /MT /O2 /Ob2 /Gy /GF /GA /GB ]
-    [ opt --debug : /MTd /DEBUG /Z7 /Od /Ob0 ]
-    -I$(--python-include) -I$(--extra-include)
-    : kernel32.lib advapi32.lib user32.lib $(--python-lib[1]) ;
-## KCC ?
-toolset kcc KCC : "-o " : -D
-    :
-    [ opt --release : -s +K2 ]
-    [ opt --debug : -g +K0 ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Borland Kylix
-toolset kylix bc++ : -o : -D
-    : -tC -q
-    [ opt --release : -O2 -vi -w-inl ]
-    [ opt --debug : -v -Od -vi- ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Metrowerks CodeWarrior 8.x
-{
-    # Even though CW can compile all files at once, it crashes if it tries in the bjam case.
-    local mwcc = ; if $(OS) = NT { mwcc = mwcc ; } else { mwcc = mwc$(OSPLAT:L) ; }
-    mwcc ?= mwcc ;
-    toolset metrowerks $(mwcc) : "-o " : -D
-        : -c -lang c -subsystem console -cwd include
-        [ opt --release : -runtime ss -opt full -inline all ]
-        [ opt --debug : -runtime ssd -opt none -inline off ]
-        -I$(--python-include) -I$(--extra-include) ;
-    toolset metrowerks $(mwcc) .link : "-o " :
-        : -subsystem console -lkernel32.lib -ladvapi32.lib -luser32.lib
-        [ opt --release : -runtime ss ]
-        [ opt --debug : -runtime ssd ]
-        : $(--python-lib[1]) ;
-}
-## MINGW GCC
-toolset mingw gcc : "-o " : -D
-    :
-    [ opt --release : -s -O3 -finline-functions ]
-    [ opt --debug : -g -O0 -fno-inline -pg ]
-    -I$(--python-include) -I$(--extra-include)
-    : $(--python-lib[2]) ;
-## MIPS Pro
-toolset mipspro cc : "-o " : -D
-    :
-    [ opt --release : -s -O3 -g0 -INLINE:none ]
-    [ opt --debug : -g -O0 -INLINE ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Microsoft Visual Studio C++ 6.x
-toolset msvc cl : /Fe /Fe /Fd /Fo : -D
-    : /nologo
-    [ opt --release : /ML /O2 /Ob2 /Gy /GF /GA /GB ]
-    [ opt --debug : /MLd /DEBUG /Z7 /Od /Ob0 ]
-    -I$(--python-include) -I$(--extra-include)
-    : kernel32.lib advapi32.lib user32.lib $(--python-lib[1]) ;
-## QNX 6.x GCC 3.x/2.95.3
-toolset qcc qcc : "-o " : -D
-    : -Wc,-pedantic -Wc,-fno-strict-aliasing
-    [ opt --release : [ opt --symbols : -g ] -O3 -Wc,-finline-functions ]
-    [ opt --debug : -g -O0 -Wc,-fno-inline ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Qlogic Pathscale 2.4
-toolset pathscale pathcc : "-o " : -D
-    :
-    [ opt --release : -s -Ofast -O3 ]
-    [ opt --debug : -g ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Portland Group Pgi 6.2
-toolset pgi pgcc : "-o " : -D
-    :
-    [ opt --release : -s -O3 ]
-    [ opt --debug : -g ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Sun Workshop 6 C++
-toolset sun cc : "-o " : -D
-    :
-    [ opt --release : -s -fast -xO4 ]
-    [ opt --debug : -g ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Sun Workshop 6 C++ (old alias)
-toolset sunpro cc : "-o " : -D
-    :
-    [ opt --release : -s -fast -xO4 ]
-    [ opt --debug : -g ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## Compaq Alpha CXX
-toolset tru64cxx cc : "-o " : -D
-    :
-    [ opt --release : -s -O5 -inline speed ]
-    [ opt --debug : -g -O0 -pg ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
-## IBM VisualAge C++
-toolset vacpp xlc : "-o " : -D
-    :
-    [ opt --release : -s -O3 -qstrict -qinline ]
-    [ opt --debug : -g -qNOOPTimize -qnoinline -pg ]
-    -I$(--python-include) -I$(--extra-include)
-    : -L$(--python-lib[1]) -l$(--python-lib[2]) [ if-os AIX : -bmaxdata:0x40000000 ] ;
-## Microsoft Visual C++ .NET 7.x
-toolset vc7 cl : /Fe /Fe /Fd /Fo : -D
-    : /nologo
-    [ opt --release : /ML /O2 /Ob2 /Gy /GF /GA /GB ]
-    [ opt --debug : /MLd /DEBUG /Z7 /Od /Ob0 ]
-    -I$(--python-include) -I$(--extra-include)
-    : kernel32.lib advapi32.lib user32.lib $(--python-lib[1]) ;
-## Microsoft Visual C++ 2005
-toolset vc8 cl : /Fe /Fe /Fd /Fo : -D
-    : /nologo
-    [ opt --release : /MT /O2 /Ob2 /Gy /GF /GA /wd4996 ]
-    [ opt --debug : /MTd /DEBUG /Z7 /Od /Ob0 /wd4996 ]
-    -I$(--python-include) -I$(--extra-include)
-    : kernel32.lib advapi32.lib user32.lib $(--python-lib[1]) ;
-## Microsoft Visual C++ 2008
-toolset vc9 cl : /Fe /Fe /Fd /Fo : -D
-    : /nologo
-    [ opt --release : /MT /O2 /Ob2 /Gy /GF /GA /wd4996 ]
-    [ opt --debug : /MTd /DEBUG /Z7 /Od /Ob0 /wd4996 ]
-    -I$(--python-include) -I$(--extra-include)
-    : kernel32.lib advapi32.lib user32.lib $(--python-lib[1]) ;
-## Microsoft Visual C++ 2010
-toolset vc10 cl : /Fe /Fe /Fd /Fo : -D
-    : /nologo
-    [ opt --release : /MT /O2 /Ob2 /Gy /GF /GA /wd4996 ]
-    [ opt --debug : /MTd /DEBUG /Z7 /Od /Ob0 /wd4996 ]
-    -I$(--python-include) -I$(--extra-include)
-    : kernel32.lib advapi32.lib user32.lib $(--python-lib[1]) ;
-## VMS/OpenVMS DEC C
-toolset vmsdecc cc : /OBJECT= : "/DEFINES=(" "," ")"
-    : /STANDARD=VAXC /PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES
-    [ opt --release : /OPTIMIZE /NODEBUG ]
-    [ opt --debug : /NOOPTIMIZE /DEBUG ]
-    ;
-toolset vmsdecc link .link : /EXECUTABLE= :
-    : /NOMAP
-    [ opt --release : /NODEBUG ]
-    [ opt --debug : /DEBUG ]
-    ;
-
-# First set the build commands and options according to the
-# preset toolset.
-toolset = [ MATCH --toolset=(.*) : $(ARGV) ] ;
-if ! $(toolset)
-{
-    # For some reason, the following test does not catch empty toolset.
-    ECHO "###" ;
-    ECHO "###" No toolset specified. Please use --toolset option. ;
-    ECHO "###" ;
-    ECHO "###" Known toolsets are: $(toolsets:J=", ") ;
-    EXIT "###" ;
-}
-if ! $(toolset) in $(toolsets)
-{
-    ECHO "###" ;
-    ECHO "###" Unknown toolset: $(toolset) ;
-    ECHO "###" ;
-    ECHO "###" Known toolsets are: $(toolsets:J=", ") ;
-    EXIT "###" ;
-}
---cc = $(tool.$(toolset).cc) ;
-if $(tool.$(toolset).opt.out[2])
-{
-    if $(tool.$(toolset).opt.out[1]) = $(tool.$(toolset).opt.out[2])
-    {
-        --out = $(tool.$(toolset).opt.out[1]) ;
-        --dir = $(tool.$(toolset).opt.out[3-]) ;
-    }
-    else
-    {
-        --bin = $(tool.$(toolset).opt.out[1]) ;
-        --dir = $(tool.$(toolset).opt.out[2-]) ;
-    }
-}
-else
-{
-    --out = $(tool.$(toolset).opt.out) ;
-}
---def = $(tool.$(toolset).opt.define) ;
---flags = $(tool.$(toolset).flags) ;
---defs = $(tool.$(toolset).defines) ;
---libs = $(tool.$(toolset).linklibs) ;
-if $(tool.$(toolset).link.cc)
-{
-    --link = $(tool.$(toolset).link.cc) ;
-    if $(tool.$(toolset).link.opt.out[2])
-    {
-        if $(tool.$(toolset).link.opt.out[1]) = $(tool.$(toolset).link.opt.out[2])
-        {
-            --link-out = $(tool.$(toolset).link.opt.out[1]) ;
-            --link-dir = $(tool.$(toolset).link.opt.out[3-]) ;
-        }
-        else
-        {
-            --link-bin = $(tool.$(toolset).link.opt.out[1]) ;
-            --link-dir = $(tool.$(toolset).link.opt.out[2-]) ;
-        }
-    }
-    else
-    {
-        --link-out = $(tool.$(toolset).link.opt.out) ;
-    }
-    --link-def = $(tool.$(toolset).link.opt.define) ;
-    --link-flags = $(tool.$(toolset).link.flags) ;
-    --link-defs = $(tool.$(toolset).link.defines) ;
-    --link-libs = $(tool.$(toolset).link.linklibs) ;
-}
-
-# Put executables in platform-specific subdirectory.
-locate-target = $(LOCATE_TARGET) ;
-if $(OS) = VMS
-{
-    locate-target ?= bin$(.)vms ;
-    platform = vms ;
-}
-else if $(OS) = MAC
-{
-    locate-target ?= bin$(.)$(OS:L)$(OSPLAT:L) ;
-    platform = $(OS:L)$(OSPLAT:L) ;
-}
-else if $(OSPLAT)
-{
-    locate-target ?= bin$(.)$(OS:L)$(OSPLAT:L) ;
-    platform = $(OS:L)$(OSPLAT:L) ;
-}
-else
-{
-    locate-target ?= bin$(.)$(OS:L) ;
-    platform = $(OS:L) ;
-}
-if $(debug)
-{
-    locate-target = [ .path $(locate-target)$(.)debug ] ;
-}
-if $(profile)
-{
-    locate-target = [ .path $(locate-target)$(.)profile ] ;
-}
-else
-{
-    locate-target = [ .path $(locate-target) ] ;
-}
-
-if --show-locate-target in $(ARGV)
-{
-  ECHO $(locate-target) ;
-}
-
-# We have some different files for UNIX, VMS, and NT.
-jam.source =
-    command.c compile.c debug.c expand.c glob.c
-    hash.c hcache.c headers.c hdrmacro.c
-    jam.c jambase.c jamgram.c
-    lists.c make.c make1.c mem.c newstr.c
-    option.c output.c parse.c regexp.c rules.c
-    scan.c search.c subst.c w32_getreg.c
-    timestamp.c variable.c modules.c strings.c filesys.c
-    builtins.c pwd.c class.c native.c md5.c modules/set.c
-    modules/path.c modules/regex.c modules/property-set.c
-    modules/sequence.c modules/order.c
-    ;
-if $(OS) = NT
-{
-    jam.source += execnt.c filent.c pathunix.c ;
-}
-else if $(OS) = OS2
-{
-    jam.source += execunix.c fileos2.c pathunix.c ;
-}
-else if $(OS) = VMS
-{
-    jam.source += execvms.c filevms.c pathvms.c ;
-}
-else if $(OS) = MAC
-{
-    jam.source += execmac.c filemac.c pathmac.c ;
-}
-else
-{
-    jam.source += execunix.c fileunix.c pathunix.c ;
-}
-
-# Debug assertions, or not.
-if ! $(debug) || --noassert in $(ARGV)
-{
-    --defs += NDEBUG ;
-}
-
-# Enable some optional features.
---defs += OPT_HEADER_CACHE_EXT ;
---defs += OPT_GRAPH_DEBUG_EXT ;
---defs += OPT_SEMAPHORE ;
---defs += OPT_AT_FILES ;
---defs += OPT_DEBUG_PROFILE ;
-
-# Bug fixes
---defs += OPT_FIX_TARGET_VARIABLES_EXT ;
-#~ --defs += OPT_NO_EXTERNAL_VARIABLE_SPLIT ;
-
-# Improvements
---defs += OPT_IMPROVED_PATIENCE_EXT ;
-
-# Use Boehm GC memory allocator?
-if $(--boehm-gc)
-{
-    --defs += OPT_BOEHM_GC ;
-    if $(debug)
-    {
-        --defs += GC_DEBUG ;
-    }
-}
-
-if $(--duma)
-{
-    --defs += OPT_DUMA ;
-}
-
-if ( $(OS) = NT ) && ! NT in $(--defs)
-{
-    --defs += NT ;
-}
-if $(OS) = VMS
-{
-    --defs += VMS ;
-}
---defs += YYSTACKSIZE=5000 ;
-
-if $(with-python)
-{
-    --defs += HAVE_PYTHON ;
-}
-
-if $(debug)
-{
-    --defs += BJAM_NEWSTR_NO_ALLOCATE ;
-}
-
-
-# The basic symbolic targets...
-NOTFILE all clean dist ;
-ALWAYS clean ;
-
-# Utility rules and actions...
-rule .clean
-{
-    [DELETE] clean : $(<) ;
-}
-if $(OS) = NT { actions piecemeal together existing [DELETE] {
-    del /F /Q "$(>)"
-} }
-if $(UNIX) = true { actions piecemeal together existing [DELETE] {
-    rm -f "$(>)"
-} }
-if $(OS) = VMS { actions piecemeal together existing [DELETE] {
-    DELETE $(>[--2]:J=";*, ") $(>[-1]);*
-} }
-if $(OS) = NT {
-    --chmod+w = "attrib -r " ;
-}
-if $(UNIX) = true {
-    --chmod+w = "chmod +w " ;
-}
-if $(OS) = VMS {
-    --chmod+w = "SET FILE/PROT=(S:RWED) " ;
-}
-
-rule .mkdir
-{
-    NOUPDATE $(<) ;
-    if $(<:P) { DEPENDS $(<) : $(<:P) ; .mkdir $(<:P) ; }
-    if ! $(md<$(<)>) { [MKDIR] $(<) ; md<$(<)> = - ; }
-}
-if $(OS) = NT { actions [MKDIR] {
-    md "$(<)"
-} }
-if $(UNIX) = true { actions [MKDIR] {
-    mkdir "$(<)"
-} }
-if $(OS) = VMS { actions [MKDIR] {
-    CREATE/DIR $(<J=", ")
-} }
-
-rule .exe
-{
-    local exe = $(<) ;
-    if $(OS) = NT || ( $(UNIX) = true && $(OS) = CYGWIN ) || $(OS) = VMS { exe = $(exe:S=.exe) ; }
-    LOCATE on $(exe) = $(locate-target) ;
-    DEPENDS all : $(exe) ;
-    .mkdir $(locate-target) ;
-    if $(--link)
-    {
-        local objs = ;
-        for local s in $(>)
-        {
-            # Translate any subdir elements into a simple file name.
-            local o = [ MATCH "([^/]+)[/]?(.+)" : $(s) ] ;
-            o = $(o:J=_) ;
-            o = $(o:S=.o) ;
-            objs += $(o) ;
-            LOCATE on $(o) = $(locate-target) ;
-            DEPENDS $(exe) : $(o) ;
-            DEPENDS $(o) : $(s) ;
-            DEPENDS $(o) : $(locate-target) ;
-            [COMPILE] $(o) : $(s) ;
-            .clean $(o) ;
-        }
-        DEPENDS $(exe) : $(objs) ;
-        DEPENDS $(exe) : $(locate-target) ;
-        [COMPILE.LINK] $(exe) : $(objs) ;
-        .clean $(exe) ;
-    }
-    else
-    {
-        DEPENDS $(exe) : $(>) ;
-        DEPENDS $(exe) : $(locate-target) ;
-        [COMPILE] $(exe) : $(>) ;
-        .clean $(exe) ;
-    }
-    return $(exe) ;
-}
-if ! $(--def[2]) { actions [COMPILE] {
-    "$(--cc)" "$(--bin)$(<:D=)" "$(--dir)$(<:D)$(./)" $(--out)$(<) "$(--def)$(--defs)" "$(--flags)" "$(--libs)" "$(>)"
-} }
-else { actions [COMPILE] {
-    "$(--cc)" "$(--bin)$(<:D=)" "$(--dir)$(<:D)$(./)" $(--out)$(<) "$(--def[1])$(--defs:J=$(--def[2]))$(--def[3])" "$(--flags)" "$(--libs)" "$(>)"
-} }
-if $(OS) = VMS { actions [COMPILE.LINK] {
-    "$(--link)" $(--link-bin)$(<:D=) $(--link-dir)$(<:D)$(./) $(--link-out)$(<) $(--link-def)$(--link-defs) $(--link-flags) "$(--link-libs)" $(>J=", ")
-} }
-else { actions [COMPILE.LINK] {
-    "$(--link)" "$(--link-bin)$(<:D=)" "$(--link-dir)$(<:D)$(./)" "$(--link-out)$(<)" "$(--link-def)$(--link-defs)" "$(--link-flags)" "$(--link-libs)" "$(>)"
-} }
-
-rule .link
-{
-    DEPENDS all : $(<) ;
-    DEPENDS $(<) : $(>) ;
-    [LINK] $(<) : $(>) ;
-    .clean $(<) ;
-}
-if $(OS) = NT { actions [LINK] {
-    copy "$(>)" "$(<)"
-} }
-if $(UNIX) = true { actions [LINK] {
-    ln -fs "$(>)" "$(<)"
-} }
-if $(OS) = VMS { actions [LINK] {
-    COPY/REPLACE $(>) $(<)
-} }
-
-rule .copy
-{
-    DEPENDS all : $(<) ;
-    DEPENDS $(<) : $(>) ;
-    [COPY] $(<) : $(>) ;
-    .clean $(<) ;
-}
-
-# Will be redefined later.
-actions [COPY]
-{
-}
-
-
-rule .move
-{
-    DEPENDS $(<) : $(>) ;
-    [MOVE] $(<) : $(>) ;
-}
-if $(OS) = NT { actions [MOVE] {
-    del /f "$(<)"
-    rename "$(>)" "$(<)"
-} }
-if $(UNIX) = true { actions [MOVE] {
-    mv -f "$(>)" "$(<)"
-} }
-if $(OS) = VMS { actions [MOVE] {
-    RENAME "$(>)" "$(<)"
-} }
-
-# Generate the grammar tokens table, and the real yacc grammar.
-rule .yyacc
-{
-    local exe = [ .exe yyacc : yyacc.c ] ;
-    NOUPDATE $(exe) ;
-    DEPENDS $(<) : $(exe) $(>) ;
-    LEAVES $(<) ;
-    yyacc.exe on $(<) = $(exe:R=$(locate-target)) ;
-    [YYACC] $(<) : $(>) ;
-}
-actions [YYACC] {
-    $(--chmod+w)$(<[1])
-    $(--chmod+w)$(<[2])
-    "$(yyacc.exe)" "$(<)" "$(>)"
-}
-if $(grammar)
-{
-    .yyacc jamgram.y jamgramtab.h : jamgram.yy ;
-}
-else if $(debug)
-{
-    .exe yyacc : yyacc.c ;
-}
-
-# How to build the grammar.
-if $(OS) = NT
-{
-    SUFEXE = .exe ;
-    # try some other likely spellings...
-    PATH ?= $(Path) ;
-    PATH ?= $(path) ;
-}
-SUFEXE ?= "" ;
-
-yacc ?= [ GLOB $(PATH) : yacc$(SUFEXE) ] ;
-yacc ?= [ GLOB $(PATH) : bison$(SUFEXE) ] ;
-yacc ?= [ GLOB "$(ProgramFiles:J= )\\GnuWin32\\bin" "C:\\Program Files\\GnuWin32\\bin" : bison$(SUFEXE) ] ;
-yacc = $(yacc[1]) ;
-switch $(yacc:D=:S=)
-{
-    case bison : yacc += -d --yacc ;
-    case yacc  : yacc += -d ;
-}
-if $(debug) && $(yacc)
-{
-    yacc += -t -v ;
-}
-yacc += $(YACCFLAGS) ;
-
-rule .yacc
-{
-    DEPENDS $(<) : $(>) ;
-    LEAVES $(<) ;
-    [YACC] $(<) : $(>) ;
-}
-if $(OS) = NT { actions [YACC] {
-    "$(yacc)" "$(>)"
-    if not errorlevel 1 (
-        del /f "$(<[1])"
-        rename y.tab$(<[1]:S) "$(<[1])"
-        del /f $(<[2])
-        rename y.tab$(<[2]:S) "$(<[2])"
-    ) else set _error_ =
-} }
-if $(UNIX) = true { actions [YACC] {
-    if ` "$(yacc)" "$(>)" ` ; then
-        mv -f y.tab$(<[1]:S) "$(<[1])"
-        mv -f y.tab$(<[2]:S) "$(<[2])"
-    else
-        exit 1
-    fi
-} }
-if $(OS) = VMS { actions [YACC] {
-    IF "$(yacc)" $(>)
-    THEN
-        RENAME y_tab$(<[1]:S) $(<[1])
-        RENAME y_tab$(<[2]:S) $(<[2])
-    ENDIF
-} }
-if $(grammar) && ! $(yacc)
-{
-    EXIT "Could not find the 'yacc' tool, and therefore can not build the grammar." ;
-}
-if $(grammar) && $(yacc)
-{
-    .yacc jamgram.c jamgram.h : jamgram.y ;
-}
-
-# How to build the compiled in jambase.
-rule .mkjambase
-{
-    local exe = [ .exe mkjambase : mkjambase.c ] ;
-    DEPENDS $(<) : $(exe) $(>) ;
-    LEAVES $(<) ;
-    mkjambase.exe on $(<) = $(exe:R=$(locate-target)) ;
-    [MKJAMBASE] $(<) : $(>) ;
-}
-actions [MKJAMBASE] {
-    $(--chmod+w)$(<)
-    $(mkjambase.exe) "$(<)" "$(>)"
-}
-if $(debug)
-{
-    .mkjambase jambase.c : Jambase ;
-}
-
-# How to build Jam.
-rule .jam
-{
-    $(>).exe = [ .exe $(>) : $(jam.source) ] ;
-    DEPENDS all : $($(>).exe) ;
-    
-    # Make a copy under the old name.
-    $(<).exe = $(<:S=$($(>).exe:S)) ;
-    LOCATE on $($(<).exe) = $(locate-target) ;
-    .copy $($(<).exe) : $($(>).exe) ;
-    DEPENDS all : $($(<).exe) ;
-}
-.jam bjam : b2 ;
-
-
-# Scan sources for header dependencies.
-#	WARNING: Yes those are *REAL TABS* below. DO NOT CHANGE,
-#	under any circumstances, to spaces!! And the tabs
-#	indenting this are so that if someone is in the mood to
-#	replace tabs they hit this comment, and hopefully notice
-#	their error.
-rule .scan
-{
-    HDRRULE on $(<:D=) = .hdr.scan ;
-    HDRSCAN on $(<:D=) = "^[ 	]*#[ 	]*include[ 	]*([<\"][^\">]*[\">]).*$" ;
-}
-rule .hdr.scan
-{
-    local hdrs = [ GLOB . : $(>:D=) ] ;
-    INCLUDES $(<:D=) : $(hdrs:D=) ;
-    HDRRULE on $(>:D=) = .hdr.scan ;
-    HDRSCAN on $(>:D=) = "^[ 	]*#[ 	]*include[ 	]*([<\"][^\">]*[\">]).*$" ;
-}
-.scan [ GLOB . : *.c ] ;
-
-# Distribution making from here on out. Assumes that
-# the docs are already built as html at ../doc/html. If
-# they aren't, then the docs are not included in the dist
-# archive.
-dist.license =
-    [ GLOB . : $(LICENSE).txt ]
-    ;
-dist.license = $(dist.license:D=)
-    [ GLOB [ .path .. .. .. ] : $(LICENSE).txt ]
-    [ GLOB [ .path .. boost ] : $(LICENSE).txt ] ;
-dist.docs =
-    [ GLOB . : *.png *.css *.html ]
-    ;
-dist.docs = $(dist.docs:D=)
-    [ GLOB [ .path images ] : *.png ]
-    [ GLOB [ .path jam ] : *.html ]
-    ;
-dist.source =
-    [ GLOB . : *.c *.h ]
-    ;
-dist.source = $(dist.source:D=)
-    $(dist.license[1])
-    $(dist.docs)
-    build.jam build.bat build.sh build_vms.com
-    Jambase
-    jamgram.y jamgram.yy
-    [ .path modules set.c ]
-    [ .path modules path.c ]
-    [ .path modules regex.c ]
-    [ .path modules property-set.c ]
-    [ .path modules sequence.c ]
-    [ .path modules order.c ]
-    [ GLOB [ .path boehm_gc ] : * ]
-    [ GLOB [ .path boehm_gc include ] : * ]
-    [ GLOB [ .path boehm_gc include private ] : * ]
-    [ GLOB [ .path boehm_gc cord ] : * ]
-    [ GLOB [ .path boehm_gc Mac_files ] : * ]
-    [ GLOB [ .path boehm_gc tests ] : * ]
-    [ GLOB [ .path boehm_gc doc ] : * ]
-    ;
-dist.bin =
-    bjam
-    ;
-dist.bin =
-    $(dist.license[1])
-    $(dist.bin:S=$(bjam.exe:S))
-    ;
-
-if $(OS) = NT
-{
-    zip ?= [ GLOB "$(ProgramFiles:J= )\\7-ZIP" "C:\\Program Files\\7-ZIP" : "7z.exe" ] ;
-    zip ?= [ GLOB "$(ProgramFiles:J= )\\7-ZIP" "C:\\Program Files\\7-ZIP" : "7zn.exe" ] ;
-    zip ?= [ GLOB $(PATH) : zip.exe ] ;
-    zip ?= zip ;
-    zip = $(zip[1]) ;
-    switch $(zip:D=:S=)
-    {
-        case 7z* : zip += a -r -tzip -mx=9 ;
-        case zip  : zip += -9r ;
-    }
-    actions piecemeal [PACK] {
-    "$(zip)" "$(<)" "$(>)"
-    }
-    actions piecemeal [ZIP] {
-    "$(zip)" "$(<)" "$(>)"
-    }
-    actions piecemeal [COPY] {
-    copy /Y "$(>)" "$(<)" >NUL:
-    }
-}
-if $(UNIX) = true
-{
-    tar ?= [ GLOB $(PATH) : star bsdtar tar ] ;
-    tar = $(tar[1]) ;
-    switch $(tar:D=:S=)
-    {
-        case star : tar += -c artype=pax -D -d -to-stdout ;
-        case * : tar += -c -f - ;
-    }
-    actions [PACK] {
-    "$(tar)" "$(>)" | gzip -c9 > "$(<)"
-    }
-    #~ actions [PACK] {
-    #~ tar cf "$(<:S=.tar)" "$(>)"
-    #~ }
-    actions [ZIP] {
-    gzip -c9 "$(>)" > "$(<)"
-    }
-    actions [COPY] {
-    cp -Rpf "$(>)" "$(<)"
-    }
-}
-
-# The single binary, compressed.
-rule .binary
-{
-    local zip = ;
-    if $(OS) = NT { zip = $($(<).exe:S=.zip) ; }
-    if $(UNIX) = true { zip = $($(<).exe:S=.tgz) ; }
-    zip = $(zip:S=)-$(VERSION)-$(RELEASE)-$(platform)$(zip:S) ;
-    DEPENDS $(zip) : $($(<).exe) ;
-    DEPENDS dist : $(zip) ;
-    #~ LOCATE on $(zip) = $(locate-target) ;
-    if $(OS) = NT { [ZIP] $(zip) : $($(<).exe) ; }
-    if $(UNIX) = true { [PACK] $(zip) : $($(<).exe) ; }
-    .clean $(zip) ;
-}
-
-# Package some file.
-rule .package ( dst-dir : src-files + )
-{
-    local dst-files ;
-    local src-files-actual ;
-    for local src-path in $(src-files)
-    {
-        if ! [ GLOB $(src-path:P) : $(src-path:B) ] || [ CHECK_IF_FILE $(src-path) ]
-        {
-            local src-subdir = $(src-path:D) ;
-            local src-file = $(src-path) ;
-            while $(src-subdir:D) { src-subdir = $(src-subdir:D) ; }
-            if $(src-subdir) = ".."
-            {
-                src-file = $(src-file:D=) ;
-            }
-            dst-files += $(src-file:R=$(dst-dir)) ;
-            src-files-actual += $(src-path) ;
-        }
-    }
-
-    local pack = ;
-    if $(OS) = NT { pack = $(dst-dir).zip ; }
-    if $(UNIX) = true { pack = $(dst-dir).tgz ; }
-
-    DEPENDS dist : $(pack) ;
-    DEPENDS $(pack) : $(dst-files) ;
-
-    local dst-files-queue = $(dst-files) ;
-    for local src-path in $(src-files-actual)
-    {
-        local dst-file = $(dst-files-queue[1]) ;
-        dst-files-queue = $(dst-files-queue[2-]) ;
-        DEPENDS $(dst-file) : $(src-path) $(dst-file:D) ;
-        .mkdir $(dst-file:D) ;
-
-        [COPY] $(dst-file) : $(src-path) ;
-        .clean $(dst-file) ;
-    }
-
-    [PACK] $(pack) : $(dst-files) ;
-    .clean $(pack) ;
-}
-
-# RPM distro file.
-rpm-tool = [ GLOB $(PATH) : "rpmbuild" ] ;
-rpm-tool ?= [ GLOB $(PATH) : "rpm" ] ;
-rpm-tool = $(rpm-tool[1]) ;
-rule .rpm ( name : source )
-{
-    local rpm-arch = ;
-    switch $(OSPLAT)
-    {
-        case X86       : rpm-arch ?= i386 ;
-        case PPC       : rpm-arch ?= ppc ;
-        case AXP       : rpm-arch ?= alpha ;
-        # no guaranty for these:
-        case IA64      : rpm-arch ?= ia64 ;
-        case ARM       : rpm-arch ?= arm ;
-        case SPARC     : rpm-arch ?= sparc ;
-        case *         : rpm-arch ?= other ;
-    }
-    local target = $(name)-rpm ;
-    NOTFILE $(target) ;
-    DEPENDS dist : $(target) ;
-    DEPENDS $(target) : $(name).$(rpm-arch).rpm $(name).src.rpm ;
-    DEPENDS $(name).$(rpm-arch).rpm : $(source) ;
-    DEPENDS $(name).src.rpm : $(name).$(rpm-arch).rpm ;
-    docs on $(target) = $(dist.docs:J=" ") ;
-    arch on $(target) = $(rpm-arch) ;
-    if $(rpm-arch) = ppc { target-opt on $(target) = --target= ; }
-    else { target-opt on $(target) = "--target " ; }
-    [RPM] $(target) : $(source) ;
-    .clean $(name).$(rpm-arch).rpm $(name).src.rpm ;
-}
-actions [RPM] {
-    set -e
-    export BOOST_JAM_TOOLSET="$(toolset)"
-    $(rpm-tool) -ta $(target-opt)$(arch) $(>) | tee rpm.out
-    cp `grep -e '^Wrote:' rpm.out | sed 's/^Wrote: //'` .
-    rm -f rpm.out
-}
-
-# The distribution targets. Don't bother with the targets if
-# distribution build not requested.
-if dist in $(ARGV)
-{
-    #~ .binary bjam ;
-    .package $(NAME)-$(VERSION) : $(dist.source) ;
-    .package $(NAME)-$(VERSION)-$(RELEASE)-$(platform) : $(dist.bin) ;
-    if $(rpm-tool)
-    {
-        #~ .rpm $(NAME)-$(VERSION)-$(RELEASE) : $(NAME)-$(VERSION).tgz ;
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/engine/build.sh b/SRC/Boost/tools/build/v2/engine/build.sh
deleted file mode 100755
index f1fb806..0000000
--- a/SRC/Boost/tools/build/v2/engine/build.sh
+++ /dev/null
@@ -1,303 +0,0 @@
-#!/bin/sh
-
-#~ Copyright 2002-2005 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Reset the toolset.
-BOOST_JAM_TOOLSET=
-
-# Run a command, and echo before doing so. Also checks the exit
-# status and quits if there was an error.
-echo_run ()
-{
-    echo "$@"
-    $@
-    r=$?
-    if test $r -ne 0 ; then
-        exit $r
-    fi
-}
-
-# Print an error message, and exit with a status of 1.
-error_exit ()
-{
-    echo "###"
-    echo "###" "$@"
-    echo "###"
-    echo "### You can specify the toolset as the argument, i.e.:"
-    echo "###     ./build.sh gcc"
-    echo "###"
-    echo "### Toolsets supported by this script are:"
-    echo "###     acc, como, darwin, gcc, intel-darwin, intel-linux, kcc, kylix,"
-    echo "###     mipspro, mingw(msys), pathscale, pgi, qcc, sun, sunpro, tru64cxx, vacpp"
-    echo "###"
-    echo "### A special toolset; cc, is available which is used as a fallback"
-    echo "### when a more specific toolset is not found and the cc command is"
-    echo "### detected. The 'cc' toolset will use the CC, CFLAGS, and LIBS"
-    echo "### envrironment variables, if present."
-    echo "###"
-    exit 1
-}
-
-# Check that a command is in the PATH.
-test_path ()
-{
-    if `command -v command 1>/dev/null 2>/dev/null`; then
-        command -v $1 1>/dev/null 2>/dev/null
-    else
-        hash $1 1>/dev/null 2>/dev/null
-    fi
-}
-
-# Check that the OS name, as returned by "uname", is as given.
-test_uname ()
-{
-    if test_path uname; then
-        test `uname` = $*
-    fi
-}
-
-# Try and guess the toolset to bootstrap the build with...
-Guess_Toolset ()
-{
-    if test -r /mingw/bin/gcc ; then
-        BOOST_JAM_TOOLSET=mingw
-        BOOST_JAM_TOOLSET_ROOT=/mingw/
-    elif test_uname Darwin ; then BOOST_JAM_TOOLSET=darwin
-    elif test_uname IRIX ; then BOOST_JAM_TOOLSET=mipspro
-    elif test_uname IRIX64 ; then BOOST_JAM_TOOLSET=mipspro
-    elif test_uname OSF1 ; then BOOST_JAM_TOOLSET=tru64cxx
-    elif test_uname QNX && test_path qcc ; then BOOST_JAM_TOOLSET=qcc
-    elif test_path gcc ; then BOOST_JAM_TOOLSET=gcc
-    elif test_path icc ; then BOOST_JAM_TOOLSET=intel-linux
-    elif test -r /opt/intel/cc/9.0/bin/iccvars.sh ; then
-        BOOST_JAM_TOOLSET=intel-linux
-        BOOST_JAM_TOOLSET_ROOT=/opt/intel/cc/9.0
-    elif test -r /opt/intel_cc_80/bin/iccvars.sh ; then
-        BOOST_JAM_TOOLSET=intel-linux
-        BOOST_JAM_TOOLSET_ROOT=/opt/intel_cc_80
-    elif test -r /opt/intel/compiler70/ia32/bin/iccvars.sh ; then
-        BOOST_JAM_TOOLSET=intel-linux
-        BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler70/ia32/
-    elif test -r /opt/intel/compiler60/ia32/bin/iccvars.sh ; then
-        BOOST_JAM_TOOLSET=intel-linux
-        BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler60/ia32/
-    elif test -r /opt/intel/compiler50/ia32/bin/iccvars.sh ; then
-        BOOST_JAM_TOOLSET=intel-linux
-        BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler50/ia32/
-    elif test_path pgcc ; then BOOST_JAM_TOOLSET=pgi
-    elif test_path pathcc ; then BOOST_JAM_TOOLSET=pathscale
-    elif test_path xlc ; then BOOST_JAM_TOOLSET=vacpp
-    elif test_path como ; then BOOST_JAM_TOOLSET=como
-    elif test_path KCC ; then BOOST_JAM_TOOLSET=kcc
-    elif test_path bc++ ; then BOOST_JAM_TOOLSET=kylix
-    elif test_path aCC ; then BOOST_JAM_TOOLSET=acc
-    elif test_uname HP-UX ; then BOOST_JAM_TOOLSET=acc
-    elif test -r /opt/SUNWspro/bin/cc ; then
-        BOOST_JAM_TOOLSET=sunpro
-        BOOST_JAM_TOOLSET_ROOT=/opt/SUNWspro/
-    # Test for "cc" as the default fallback.
-    elif test_path $CC ; then BOOST_JAM_TOOLSET=cc
-    elif test_path cc ; then
-        BOOST_JAM_TOOLSET=cc
-        CC=cc
-    fi
-    if test "$BOOST_JAM_TOOLSET" = "" ; then
-        error_exit "Could not find a suitable toolset."
-    fi
-}
-
-# The one option we support in the invocation
-# is the name of the toolset to force building
-# with.
-case "$1" in
-    --guess-toolset) Guess_Toolset ; echo "$BOOST_JAM_TOOLSET" ; exit 1 ;;
-    -*) Guess_Toolset ;;
-    ?*) BOOST_JAM_TOOLSET=$1 ; shift ;;
-    *) Guess_Toolset ;;
-esac
-BOOST_JAM_OPT_JAM="-o bootstrap/jam0"
-BOOST_JAM_OPT_MKJAMBASE="-o bootstrap/mkjambase0"
-BOOST_JAM_OPT_YYACC="-o bootstrap/yyacc0"
-case $BOOST_JAM_TOOLSET in
-    mingw)
-    if test -r ${BOOST_JAM_TOOLSET_ROOT}bin/gcc ; then
-        export PATH=${BOOST_JAM_TOOLSET_ROOT}bin:$PATH
-    fi
-    BOOST_JAM_CC="gcc -DNT"
-    ;;
-
-    gcc)
-    BOOST_JAM_CC=gcc
-    ;;
-
-    darwin)
-    BOOST_JAM_CC=cc
-    ;;
-
-    intel-darwin)
-    BOOST_JAM_CC=icc
-    ;;
-
-    intel-linux)
-    if test -r /opt/intel/cc/9.0/bin/iccvars.sh ; then
-        BOOST_JAM_TOOLSET_ROOT=/opt/intel/cc/9.0/
-    elif test -r /opt/intel_cc_80/bin/iccvars.sh ; then
-        BOOST_JAM_TOOLSET_ROOT=/opt/intel_cc_80/
-    elif test -r /opt/intel/compiler70/ia32/bin/iccvars.sh ; then
-        BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler70/ia32/
-    elif test -r /opt/intel/compiler60/ia32/bin/iccvars.sh ; then
-        BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler60/ia32/
-    elif test -r /opt/intel/compiler50/ia32/bin/iccvars.sh ; then
-        BOOST_JAM_TOOLSET_ROOT=/opt/intel/compiler50/ia32/
-    fi
-    if test -r ${BOOST_JAM_TOOLSET_ROOT}bin/iccvars.sh ; then
-        # iccvars doesn't change LD_RUN_PATH. We adjust LD_RUN_PATH
-        # here in order not to have to rely on ld.so.conf knowing the
-        # icc library directory. We do this before running iccvars.sh
-        # in order to allow a user to add modifications to LD_RUN_PATH
-        # in iccvars.sh.
-        if test -z "${LD_RUN_PATH}"; then
-            LD_RUN_PATH="${BOOST_JAM_TOOLSET_ROOT}lib"
-        else
-            LD_RUN_PATH="${BOOST_JAM_TOOLSET_ROOT}lib:${LD_RUN_PATH}"
-        fi
-        export LD_RUN_PATH
-        . ${BOOST_JAM_TOOLSET_ROOT}bin/iccvars.sh
-    fi
-    BOOST_JAM_CC=icc
-    ;;
-
-    vacpp)
-    BOOST_JAM_CC=xlc
-    ;;
-
-    como)
-    BOOST_JAM_CC="como --c"
-    ;;
-
-    kcc)
-    BOOST_JAM_CC=KCC
-    ;;
-
-    kylix)
-    BOOST_JAM_CC=bc++
-    ;;
-
-    mipspro)
-    BOOST_JAM_CC=cc
-    ;;
-
-    pathscale)
-    BOOST_JAM_CC=pathcc
-    ;;
-
-    pgi)
-    BOOST_JAM_CC=pgcc
-    ;;
-
-    sun*)
-    if test -z "${BOOST_JAM_TOOLSET_ROOT}" -a -r /opt/SUNWspro/bin/cc ; then
-        BOOST_JAM_TOOLSET_ROOT=/opt/SUNWspro/
-    fi
-    if test -r "${BOOST_JAM_TOOLSET_ROOT}bin/cc" ; then
-        PATH=${BOOST_JAM_TOOLSET_ROOT}bin:${PATH}
-        export PATH
-    fi
-    BOOST_JAM_CC=cc
-    ;;
-
-    clang*)
-    BOOST_JAM_CC="clang -Wno-unused -Wno-format"
-    BOOST_JAM_TOOLSET=clang
-    ;;
-
-    tru64cxx)
-    BOOST_JAM_CC=cc
-    ;;
-
-    acc)
-    BOOST_JAM_CC="cc -Ae"
-    ;;
-
-    cc)
-    if test -z "$CC" ; then CC=cc ; fi
-    BOOST_JAM_CC=$CC
-    BOOST_JAM_OPT_JAM="$BOOST_JAM_OPT_JAM $CFLAGS $LIBS"
-    BOOST_JAM_OPT_MKJAMBASE="$BOOST_JAM_OPT_MKJAMBASE $CFLAGS $LIBS"
-    BOOST_JAM_OPT_YYACC="$BOOST_JAM_OPT_YYACC $CFLAGS $LIBS"
-    ;;
-
-    qcc)
-    BOOST_JAM_CC=qcc
-    ;;
-
-    *)
-    error_exit "Unknown toolset: $BOOST_JAM_TOOLSET"
-    ;;
-esac
-
-echo "###"
-echo "### Using '$BOOST_JAM_TOOLSET' toolset."
-echo "###"
-
-YYACC_SOURCES="yyacc.c"
-MKJAMBASE_SOURCES="mkjambase.c"
-BJAM_SOURCES="\
- command.c compile.c debug.c expand.c glob.c hash.c\
- hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c\
- newstr.c option.c output.c parse.c pathunix.c pathvms.c regexp.c\
- rules.c scan.c search.c subst.c timestamp.c variable.c modules.c\
- strings.c filesys.c builtins.c pwd.c class.c native.c md5.c w32_getreg.c\
- modules/set.c modules/path.c modules/regex.c modules/property-set.c\
- modules/sequence.c modules/order.c"
-case $BOOST_JAM_TOOLSET in
-    mingw)
-    BJAM_SOURCES="${BJAM_SOURCES} execnt.c filent.c"
-    ;;
-
-    *)
-    BJAM_SOURCES="${BJAM_SOURCES} execunix.c fileunix.c"
-    ;;
-esac
-
-BJAM_UPDATE=
-if test "$1" = "--update" -o "$2" = "--update" -o "$3" = "--update" -o "$4" = "--update"  ; then
-    BJAM_UPDATE="update"
-fi
-if test "${BJAM_UPDATE}" = "update" -a ! -x "./bootstrap/jam0" ; then
-    BJAM_UPDATE=
-fi
-
-if test "${BJAM_UPDATE}" != "update" ; then
-    echo_run rm -rf bootstrap
-    echo_run mkdir bootstrap
-    if test ! -r jamgram.y -o ! -r jamgramtab.h ; then
-        echo_run ${BOOST_JAM_CC} ${BOOST_JAM_OPT_YYACC} ${YYACC_SOURCES}
-        if test -x "./bootstrap/yyacc0" ; then
-            echo_run ./bootstrap/yyacc0 jamgram.y jamgramtab.h jamgram.yy
-        fi
-    fi
-    if test ! -r jamgram.c -o ! -r jamgram.h ; then
-        if test_path yacc ; then YACC="yacc -d"
-        elif test_path bison ; then YACC="bison -y -d --yacc"
-        fi
-        echo_run $YACC jamgram.y
-        mv -f y.tab.c jamgram.c
-        mv -f y.tab.h jamgram.h
-    fi
-    if test ! -r jambase.c ; then
-        echo_run ${BOOST_JAM_CC} ${BOOST_JAM_OPT_MKJAMBASE} ${MKJAMBASE_SOURCES}
-        if test -x "./bootstrap/mkjambase0" ; then
-            echo_run ./bootstrap/mkjambase0 jambase.c Jambase
-        fi
-    fi
-    echo_run ${BOOST_JAM_CC} ${BOOST_JAM_OPT_JAM} ${BJAM_SOURCES}
-fi
-if test -x "./bootstrap/jam0" ; then
-    if test "${BJAM_UPDATE}" != "update" ; then
-        echo_run ./bootstrap/jam0 -f build.jam --toolset=$BOOST_JAM_TOOLSET "--toolset-root=$BOOST_JAM_TOOLSET_ROOT" clean
-    fi
-    echo_run ./bootstrap/jam0 -f build.jam --toolset=$BOOST_JAM_TOOLSET "--toolset-root=$BOOST_JAM_TOOLSET_ROOT" "$@"
-fi
diff --git a/SRC/Boost/tools/build/v2/engine/build_vms.com b/SRC/Boost/tools/build/v2/engine/build_vms.com
deleted file mode 100755
index a2f6179..0000000
--- a/SRC/Boost/tools/build/v2/engine/build_vms.com
+++ /dev/null
@@ -1,105 +0,0 @@
-$ ! Copyright 2002-2003 Rene Rivera, Johan Nilsson.
-$ ! Distributed under the Boost Software License, Version 1.0.
-$ ! (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-$ !
-$ ! bootstrap build script for Jam
-$ !
-$ SAY :== WRITE SYS$OUTPUT
-$ !
-$ ON WARNING THEN CONTINUE
-$ !
-$ IF "" .NES. F$SEARCH("[.bootstrap_vms]*.*")
-$ THEN
-$   SAY "Cleaning previous boostrap files..."
-$ !
-$   SET FILE/PROTECTION=(S:RWED) [.bootstrap_vms]*.*;*
-$   DELETE [.bootstrap_vms]*.*;*
-$ ENDIF
-$ !
-$ IF "" .NES. F$SEARCH("bootstrap_vms.dir")
-$ THEN
-$   SAY "Removing previous boostrap directory..."
-$ !
-$   SET FILE/PROT=(S:RWED) bootstrap_vms.dir
-$   DELETE bootstrap_vms.dir;
-$ ENDIF
-$ !
-$ SAY "Creating boostrap directory..."
-$ !
-$ CREATE/DIR [.bootstrap_vms]
-$ !
-$ SAY "Building bootstrap jam..."
-$ !
-$ CC_FLAGS = "/DEFINE=VMS /STANDARD=VAXC /PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES "
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]builtins.obj builtins.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]command.obj command.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]compile.obj compile.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]execvms.obj execvms.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]expand.obj expand.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]filesys.obj filesys.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]filevms.obj filevms.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]glob.obj glob.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]hash.obj hash.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]hdrmacro.obj hdrmacro.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]headers.obj headers.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]jam.obj jam.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]jambase.obj jambase.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]jamgram.obj jamgram.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]lists.obj lists.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]make.obj make.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]make1.obj make1.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]modules.obj modules.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]newstr.obj newstr.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]option.obj option.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]parse.obj parse.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]pathvms.obj pathvms.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]pwd.obj pwd.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]regexp.obj regexp.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]rules.obj rules.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]scan.obj scan.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]search.obj search.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]strings.obj strings.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]subst.obj subst.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]timestamp.obj timestamp.c
-$ cc 'CC_FLAGS /OBJECT=[.bootstrap_vms]variable.obj variable.c
-$ link -
- /EXECUTABLE=[.bootstrap_vms]jam0.exe -
- [.bootstrap_vms]builtins.obj, -
- [.bootstrap_vms]command.obj, -
- [.bootstrap_vms]compile.obj, -
- [.bootstrap_vms]execvms.obj, -
- [.bootstrap_vms]expand.obj, -
- [.bootstrap_vms]filesys.obj, -
- [.bootstrap_vms]filevms.obj, -
- [.bootstrap_vms]glob.obj, -
- [.bootstrap_vms]hash.obj, -
- [.bootstrap_vms]hdrmacro.obj, -
- [.bootstrap_vms]headers.obj, -
- [.bootstrap_vms]jam.obj, -
- [.bootstrap_vms]jambase.obj, -
- [.bootstrap_vms]jamgram.obj, -
- [.bootstrap_vms]lists.obj, -
- [.bootstrap_vms]make.obj, -
- [.bootstrap_vms]make1.obj, -
- [.bootstrap_vms]modules.obj, -
- [.bootstrap_vms]newstr.obj, -
- [.bootstrap_vms]option.obj, -
- [.bootstrap_vms]parse.obj, -
- [.bootstrap_vms]pathvms.obj, -
- [.bootstrap_vms]pwd.obj, -
- [.bootstrap_vms]regexp.obj, -
- [.bootstrap_vms]rules.obj, -
- [.bootstrap_vms]scan.obj, -
- [.bootstrap_vms]search.obj, -
- [.bootstrap_vms]strings.obj, -
- [.bootstrap_vms]subst.obj, -
- [.bootstrap_vms]timestamp.obj, -
- [.bootstrap_vms]variable.obj
-$ !
-$ SAY "Cleaning any previous build..."
-$ !
-$ MCR [.bootstrap_vms]jam0.exe -f build.jam --toolset=vmsdecc clean
-$ !
-$ SAY "Building Boost.Jam..."
-$ !
-$ MCR [.bootstrap_vms]jam0.exe -f build.jam --toolset=vmsdecc
diff --git a/SRC/Boost/tools/build/v2/engine/builtins.c b/SRC/Boost/tools/build/v2/engine/builtins.c
deleted file mode 100755
index 32cbb54..0000000
--- a/SRC/Boost/tools/build/v2/engine/builtins.c
+++ /dev/null
@@ -1,2310 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-#include "jam.h"
-
-#include "lists.h"
-#include "parse.h"
-#include "builtins.h"
-#include "rules.h"
-#include "filesys.h"
-#include "newstr.h"
-#include "regexp.h"
-#include "frames.h"
-#include "hash.h"
-#include "strings.h"
-#include "pwd.h"
-#include "pathsys.h"
-#include "make.h"
-#include "hdrmacro.h"
-#include "compile.h"
-#include "native.h"
-#include "variable.h"
-#include "timestamp.h"
-#include "md5.h"
-#include <ctype.h>
-
-#if defined(USE_EXECUNIX)
-# include <sys/types.h>
-# include <sys/wait.h>
-#else
-/*
-  NT does not have wait() and associated macros, it uses the return value
-  of system() instead. Status code group are documented at
-  http://msdn.microsoft.com/en-gb/library/ff565436.aspx
-*/
-# define WIFEXITED(w)  (((w) & 0XFFFFFF00) == 0)
-# define WEXITSTATUS(w)(w)
-#endif
-
-/*
- * builtins.c - builtin jam rules
- *
- * External routines:
- *
- *  load_builtin() - define builtin rules
- *
- * Internal routines:
- *
- *  builtin_depends() - DEPENDS/INCLUDES rule.
- *  builtin_echo() - ECHO rule.
- *  builtin_exit() - EXIT rule.
- *  builtin_flags() - NOCARE, NOTFILE, TEMPORARY rule.
- *  builtin_glob() - GLOB rule.
- *  builtin_match() - MATCH rule.
- *
- * 01/10/01 (seiwald) - split from compile.c
- */
-
-
-/*
- * compile_builtin() - define builtin rules
- */
-
-#define P0 (PARSE *)0
-#define C0 (char *)0
-
-#if defined( OS_NT ) || defined( OS_CYGWIN )
-    LIST * builtin_system_registry      ( PARSE *, FRAME * );
-    LIST * builtin_system_registry_names( PARSE *, FRAME * );
-#endif
-
-int glob( char * s, char * c );
-
-void backtrace        ( FRAME * );
-void backtrace_line   ( FRAME * );
-void print_source_line( PARSE * );
-
-
-RULE * bind_builtin( char * name, LIST * (* f)( PARSE *, FRAME * ), int flags, char * * args )
-{
-    argument_list* arg_list = 0;
-
-    if ( args )
-    {
-        arg_list = args_new();
-        lol_build( arg_list->data, args );
-    }
-
-    return new_rule_body( root_module(), name, arg_list,
-                          parse_make( f, P0, P0, P0, C0, C0, flags ), 1 );
-}
-
-
-RULE * duplicate_rule( char * name, RULE * other )
-{
-    return import_rule( other, root_module(), name );
-}
-
-
-void load_builtins()
-{
-    duplicate_rule( "Always",
-      bind_builtin( "ALWAYS",
-                    builtin_flags, T_FLAG_TOUCHED, 0 ) );
-
-    duplicate_rule( "Depends",
-      bind_builtin( "DEPENDS",
-                    builtin_depends, 0, 0 ) );
-
-    duplicate_rule( "echo",
-    duplicate_rule( "Echo",
-      bind_builtin( "ECHO",
-                    builtin_echo, 0, 0 ) ) );
-
-    {
-        char * args[] = { "message", "*", ":", "result-value", "?", 0 };
-        duplicate_rule( "exit",
-        duplicate_rule( "Exit",
-          bind_builtin( "EXIT",
-                        builtin_exit, 0, args ) ) );
-    }
-
-    {
-        char * args[] = { "directories", "*", ":", "patterns", "*", ":", "case-insensitive", "?", 0 };
-        duplicate_rule( "Glob",
-                        bind_builtin( "GLOB", builtin_glob, 0, args ) );
-    }
-
-    {
-        char * args[] = { "patterns", "*", 0 };
-        bind_builtin( "GLOB-RECURSIVELY",
-                      builtin_glob_recursive, 0, args );
-    }
-
-    duplicate_rule( "Includes",
-      bind_builtin( "INCLUDES",
-                    builtin_depends, 1, 0 ) );
-
-    {
-        char * args[] = { "targets", "*", ":", "targets-to-rebuild", "*", 0 };
-        bind_builtin( "REBUILDS",
-                      builtin_rebuilds, 0, args );
-    }
-
-    duplicate_rule( "Leaves",
-      bind_builtin( "LEAVES",
-                    builtin_flags, T_FLAG_LEAVES, 0 ) );
-
-    duplicate_rule( "Match",
-      bind_builtin( "MATCH",
-                    builtin_match, 0, 0 ) );
-
-    {
-        char * args[] = { "string", ":", "delimiters" };
-        bind_builtin( "SPLIT_BY_CHARACTERS", 
-                      builtin_split_by_characters, 0, 0 );
-    }
-
-    duplicate_rule( "NoCare",
-      bind_builtin( "NOCARE",
-                    builtin_flags, T_FLAG_NOCARE, 0 ) );
-
-    duplicate_rule( "NOTIME",
-    duplicate_rule( "NotFile",
-      bind_builtin( "NOTFILE",
-                    builtin_flags, T_FLAG_NOTFILE, 0 ) ) );
-
-    duplicate_rule( "NoUpdate",
-      bind_builtin( "NOUPDATE",
-                    builtin_flags, T_FLAG_NOUPDATE, 0 ) );
-
-    duplicate_rule( "Temporary",
-      bind_builtin( "TEMPORARY",
-                    builtin_flags, T_FLAG_TEMP, 0 ) );
-
-      bind_builtin( "ISFILE",
-                    builtin_flags, T_FLAG_ISFILE, 0 );
-
-    duplicate_rule( "HdrMacro",
-      bind_builtin( "HDRMACRO",
-                    builtin_hdrmacro, 0, 0 ) );
-
-    /* FAIL_EXPECTED is used to indicate that the result of a target build
-     * action should be inverted (ok <=> fail) this can be useful when
-     * performing test runs from Jamfiles.
-     */
-      bind_builtin( "FAIL_EXPECTED",
-                    builtin_flags, T_FLAG_FAIL_EXPECTED, 0 );
-
-      bind_builtin( "RMOLD",
-                    builtin_flags, T_FLAG_RMOLD, 0 );
-
-      {
-          char * args[] = { "targets", "*", 0 };
-          bind_builtin( "UPDATE",
-                        builtin_update, 0, args );
-      }
-
-      {
-          char * args[] = { "targets", "*", 
-                            ":", "log", "?",
-                            ":", "ignore-minus-n", "?", 
-                            ":", "ignore-minus-q", "?", 0 };
-          bind_builtin( "UPDATE_NOW",
-                        builtin_update_now, 0, args );
-      }
-
-      {
-          char * args[] = { "string", "pattern", "replacements", "+", 0 };
-          duplicate_rule( "subst",
-            bind_builtin( "SUBST",
-                          builtin_subst, 0, args ) );
-      }
-
-      {
-          char * args[] = { "module", "?", 0 };
-          bind_builtin( "RULENAMES",
-                         builtin_rulenames, 0, args );
-      }
-
-
-      {
-          char * args[] = { "module", "?", 0 };
-          bind_builtin( "VARNAMES",
-                         builtin_varnames, 0, args );
-      }
-
-      {
-          char * args[] = { "module", "?", 0 };
-          bind_builtin( "DELETE_MODULE",
-                         builtin_delete_module, 0, args );
-      }
-
-      {
-          char * args[] = { "source_module", "?",
-                            ":", "source_rules", "*",
-                            ":", "target_module", "?",
-                            ":", "target_rules", "*",
-                            ":", "localize", "?", 0 };
-          bind_builtin( "IMPORT",
-                        builtin_import, 0, args );
-      }
-
-      {
-          char * args[] = { "module", "?", ":", "rules", "*", 0 };
-          bind_builtin( "EXPORT",
-                        builtin_export, 0, args );
-      }
-
-      {
-          char * args[] = { "levels", "?", 0 };
-          bind_builtin( "CALLER_MODULE",
-                         builtin_caller_module, 0, args );
-      }
-
-      {
-          char * args[] = { "levels", "?", 0 };
-          bind_builtin( "BACKTRACE",
-                        builtin_backtrace, 0, args );
-      }
-
-      {
-          char * args[] = { 0 };
-          bind_builtin( "PWD",
-                        builtin_pwd, 0, args );
-      }
-
-      {
-          char * args[] = { "target", "*", ":", "path", "*", 0 };
-          bind_builtin( "SEARCH_FOR_TARGET",
-                        builtin_search_for_target, 0, args );
-      }
-
-      {
-          char * args[] = { "modules_to_import", "+", ":", "target_module", "?", 0 };
-          bind_builtin( "IMPORT_MODULE",
-                        builtin_import_module, 0, args );
-      }
-
-      {
-          char * args[] = { "module", "?", 0 };
-          bind_builtin( "IMPORTED_MODULES",
-                        builtin_imported_modules, 0, args );
-      }
-
-      {
-          char * args[] = { "instance_module", ":", "class_module", 0 };
-          bind_builtin( "INSTANCE",
-                        builtin_instance, 0, args );
-      }
-
-      {
-          char * args[] = { "sequence", "*", 0 };
-          bind_builtin( "SORT",
-                        builtin_sort, 0, args );
-      }
-
-      {
-          char * args[] = { "path_parts", "*", 0 };
-          bind_builtin( "NORMALIZE_PATH",
-                        builtin_normalize_path, 0, args );
-      }
-
-      {
-          char * args[] = { "args", "*", 0 };
-          bind_builtin( "CALC",
-                        builtin_calc, 0, args );
-      }
-
-      {
-          char * args[] = { "module", ":", "rule", 0 };
-          bind_builtin( "NATIVE_RULE",
-                        builtin_native_rule, 0, args );
-      }
-
-      {
-          char * args[] = { "module", ":", "rule", ":", "version", 0 };
-          bind_builtin( "HAS_NATIVE_RULE",
-                        builtin_has_native_rule, 0, args );
-      }
-
-      {
-          char * args[] = { "module", "*", 0 };
-          bind_builtin( "USER_MODULE",
-                        builtin_user_module, 0, args );
-      }
-
-      {
-          char * args[] = { 0 };
-          bind_builtin( "NEAREST_USER_LOCATION",
-                        builtin_nearest_user_location, 0, args );
-      }
-
-      {
-          char * args[] = { "file", 0 };
-          bind_builtin( "CHECK_IF_FILE",
-                        builtin_check_if_file, 0, args );
-      }
-
-#ifdef HAVE_PYTHON
-      {
-          char * args[] = { "python-module", ":", "function", ":",
-                            "jam-module", ":", "rule-name", 0 };
-          bind_builtin( "PYTHON_IMPORT_RULE",
-                        builtin_python_import_rule, 0, args );
-      }
-#endif
-
-# if defined( OS_NT ) || defined( OS_CYGWIN )
-      {
-          char * args[] = { "key_path", ":", "data", "?", 0 };
-          bind_builtin( "W32_GETREG",
-                        builtin_system_registry, 0, args );
-      }
-
-      {
-          char * args[] = { "key_path", ":", "result-type", 0 };
-          bind_builtin( "W32_GETREGNAMES",
-                        builtin_system_registry_names, 0, args );
-      }
-# endif
-
-      {
-          char * args[] = { "command", ":", "*", 0 };
-          duplicate_rule( "SHELL",
-            bind_builtin( "COMMAND",
-                          builtin_shell, 0, args ) );
-      }
-
-      {
-          char * args[] = { "string", 0 };
-          bind_builtin( "MD5",
-                        builtin_md5, 0, args ) ;
-      }
-
-      {
-          char * args[] = { "name", ":", "mode", 0 };
-          bind_builtin( "FILE_OPEN",
-                        builtin_file_open, 0, args );
-      }
-
-      {
-          char * args[] = { "string", ":", "width", 0 };
-          bind_builtin( "PAD",
-                        builtin_pad, 0, args );
-      }
-
-      {
-          char * args[] = { "targets", "*", 0 };
-          bind_builtin( "PRECIOUS",
-                        builtin_precious, 0, args );
-      }
-
-      {
-          char * args [] = { 0 };
-          bind_builtin( "SELF_PATH", builtin_self_path, 0, args );
-      }
-
-      {
-          char * args [] = { "path", 0 };
-          bind_builtin( "MAKEDIR", builtin_makedir, 0, args );
-      }
-
-      /* Initialize builtin modules. */
-      init_set();
-      init_path();
-      init_regex();
-      init_property_set();
-      init_sequence();
-      init_order();
-}
-
-
-/*
- * builtin_calc() - CALC rule.
- *
- * The CALC rule performs simple mathematical operations on two arguments.
- */
-
-LIST * builtin_calc( PARSE * parse, FRAME * frame )
-{
-    LIST * arg = lol_get( frame->args, 0 );
-
-    LIST * result = 0;
-    long lhs_value;
-    long rhs_value;
-    long result_value;
-    char buffer [ 16 ];
-    char const * lhs;
-    char const * op;
-    char const * rhs;
-
-    if ( arg == 0 ) return L0;
-    lhs = arg->string;
-
-    arg = list_next( arg );
-    if ( arg == 0 ) return L0;
-    op = arg->string;
-
-    arg = list_next( arg );
-    if ( arg == 0 ) return L0;
-    rhs = arg->string;
-
-    lhs_value = atoi( lhs );
-    rhs_value = atoi( rhs );
-
-    if ( strcmp( "+", op ) == 0 )
-    {
-        result_value = lhs_value + rhs_value;
-    }
-    else if ( strcmp( "-", op ) == 0 )
-    {
-        result_value = lhs_value - rhs_value;
-    }
-    else
-    {
-        return L0;
-    }
-
-    sprintf( buffer, "%ld", result_value );
-    result = list_new( result, newstr( buffer ) );
-    return result;
-}
-
-
-/*
- * builtin_depends() - DEPENDS/INCLUDES rule.
- *
- * The DEPENDS/INCLUDES builtin rule appends each of the listed sources on the
- * dependency/includes list of each of the listed targets. It binds both the
- * targets and sources as TARGETs.
- */
-
-LIST * builtin_depends( PARSE * parse, FRAME * frame )
-{
-    LIST * targets = lol_get( frame->args, 0 );
-    LIST * sources = lol_get( frame->args, 1 );
-    LIST * l;
-
-    for ( l = targets; l; l = list_next( l ) )
-    {
-        TARGET * t = bindtarget( l->string );
-
-        /* If doing INCLUDES, switch to the TARGET's include */
-        /* TARGET, creating it if needed.  The internal include */
-        /* TARGET shares the name of its parent. */
-
-        if ( parse->num )
-        {
-            if ( !t->includes )
-            {
-                t->includes = copytarget( t );
-                t->includes->original_target = t;
-            }
-            t = t->includes;
-        }
-
-        t->depends = targetlist( t->depends, sources );
-    }
-
-    /* Enter reverse links */
-    for ( l = sources; l; l = list_next( l ) )
-    {
-        TARGET * s = bindtarget( l->string );
-        s->dependants = targetlist( s->dependants, targets );
-    }
-
-    return L0;
-}
-
-
-/*
- * builtin_rebuilds() - REBUILDS rule.
- *
- * The REBUILDS builtin rule appends each of the listed rebuild-targets in its
- * 2nd argument on the rebuilds list of each of the listed targets in its first
- * argument.
- */
-
-LIST * builtin_rebuilds( PARSE * parse, FRAME * frame )
-{
-    LIST * targets = lol_get( frame->args, 0 );
-    LIST * rebuilds = lol_get( frame->args, 1 );
-    LIST * l;
-
-    for ( l = targets; l; l = list_next( l ) )
-    {
-        TARGET * t = bindtarget( l->string );
-        t->rebuilds = targetlist( t->rebuilds, rebuilds );
-    }
-
-    return L0;
-}
-
-
-/*
- * builtin_echo() - ECHO rule.
- *
- * The ECHO builtin rule echoes the targets to the user. No other actions are
- * taken.
- */
-
-LIST * builtin_echo( PARSE * parse, FRAME * frame )
-{
-    list_print( lol_get( frame->args, 0 ) );
-    printf( "\n" );
-    fflush( stdout );
-    return L0;
-}
-
-
-/*
- * builtin_exit() - EXIT rule.
- *
- * The EXIT builtin rule echoes the targets to the user and exits the program
- * with a failure status.
- */
-
-LIST * builtin_exit( PARSE * parse, FRAME * frame )
-{
-    list_print( lol_get( frame->args, 0 ) );
-    printf( "\n" );
-    if ( lol_get( frame->args, 1 ) )
-    {
-        exit( atoi( lol_get( frame->args, 1 )->string ) );
-    }
-    else
-    {
-        exit( EXITBAD );  /* yeech */
-    }
-    return L0;
-}
-
-
-/*
- * builtin_flags() - NOCARE, NOTFILE, TEMPORARY rule.
- *
- * Builtin_flags() marks the target with the appropriate flag, for use by make0().
- * It binds each target as a TARGET.
- */
-
-LIST * builtin_flags( PARSE * parse, FRAME * frame )
-{
-    LIST * l = lol_get( frame->args, 0 );
-    for ( ; l; l = list_next( l ) )
-        bindtarget( l->string )->flags |= parse->num;
-    return L0;
-}
-
-
-/*
- * builtin_globbing() - GLOB rule.
- */
-
-struct globbing
-{
-    LIST * patterns;
-    LIST * results;
-    LIST * case_insensitive;
-};
-
-
-static void downcase_inplace( char * p )
-{
-    for ( ; *p; ++p )
-        *p = tolower( *p );
-}
-
-
-static void builtin_glob_back
-(
-    void * closure,
-    char * file,
-    int    status,
-    time_t time
-)
-{
-    PROFILE_ENTER( BUILTIN_GLOB_BACK );
-
-    struct globbing * globbing = (struct globbing *)closure;
-    LIST            * l;
-    PATHNAME          f;
-    string            buf[ 1 ];
-
-    /* Null out directory for matching. We wish we had file_dirscan() pass up a
-     * PATHNAME.
-     */
-    path_parse( file, &f );
-    f.f_dir.len = 0;
-
-    /* For globbing, we unconditionally ignore current and parent directory
-     * items. Since they items always exist, there is no reason why caller of
-     * GLOB would want to see them. We could also change file_dirscan(), but
-     * then paths with embedded "." and ".." would not work anywhere.
-    */
-    if ( !strcmp( f.f_base.ptr, "." ) || !strcmp( f.f_base.ptr, ".." ) )
-    {
-        PROFILE_EXIT( BUILTIN_GLOB_BACK );
-        return;
-    }
-
-    string_new( buf );
-    path_build( &f, buf, 0 );
-
-    if ( globbing->case_insensitive )
-        downcase_inplace( buf->value );
-
-    for ( l = globbing->patterns; l; l = l->next )
-    {
-        if ( !glob( l->string, buf->value ) )
-        {
-            globbing->results = list_new( globbing->results, newstr( file ) );
-            break;
-        }
-    }
-
-    string_free( buf );
-
-    PROFILE_EXIT( BUILTIN_GLOB_BACK );
-}
-
-
-static LIST * downcase_list( LIST * in )
-{
-    LIST * result = 0;
-
-    string s[ 1 ];
-    string_new( s );
-
-    while ( in )
-    {
-        string_copy( s, in->string );
-        downcase_inplace( s->value );
-        result = list_append( result, list_new( 0, newstr( s->value ) ) );
-        in = in->next;
-    }
-
-    string_free( s );
-    return result;
-}
-
-
-LIST * builtin_glob( PARSE * parse, FRAME * frame )
-{
-    LIST * l = lol_get( frame->args, 0 );
-    LIST * r = lol_get( frame->args, 1 );
-
-    struct globbing globbing;
-
-    globbing.results = L0;
-    globbing.patterns = r;
-
-    globbing.case_insensitive
-# if defined( OS_NT ) || defined( OS_CYGWIN )
-       = l;  /* Always case-insensitive if any files can be found. */
-# else
-       = lol_get( frame->args, 2 );
-# endif
-
-    if ( globbing.case_insensitive )
-        globbing.patterns = downcase_list( r );
-
-    for ( ; l; l = list_next( l ) )
-        file_dirscan( l->string, builtin_glob_back, &globbing );
-
-    if ( globbing.case_insensitive )
-        list_free( globbing.patterns );
-
-    return globbing.results;
-}
-
-
-static int has_wildcards( char const * str )
-{
-    size_t const index = strcspn( str, "[]*?" );
-    return str[ index ] == '\0' ? 0 : 1;
-}
-
-
-/*
- * If 'file' exists, append 'file' to 'list'. Returns 'list'.
- */
-
-static LIST * append_if_exists( LIST * list, char * file )
-{
-    time_t time;
-    timestamp( file, &time );
-    return time > 0
-        ? list_new( list, newstr( file ) )
-        : list;
-}
-
-
-LIST * glob1( char * dirname, char * pattern )
-{
-    LIST * plist = list_new( L0, pattern );
-    struct globbing globbing;
-
-    globbing.results = L0;
-    globbing.patterns = plist;
-
-    globbing.case_insensitive
-# if defined( OS_NT ) || defined( OS_CYGWIN )
-       = plist;  /* always case-insensitive if any files can be found */
-# else
-       = L0;
-# endif
-
-    if ( globbing.case_insensitive )
-        globbing.patterns = downcase_list( plist );
-
-    file_dirscan( dirname, builtin_glob_back, &globbing );
-
-    if ( globbing.case_insensitive )
-        list_free( globbing.patterns );
-
-    list_free( plist );
-
-    return globbing.results;
-}
-
-
-LIST * glob_recursive( char * pattern )
-{
-    LIST * result = L0;
-
-    /* Check if there's metacharacters in pattern */
-    if ( !has_wildcards( pattern ) )
-    {
-        /* No metacharacters. Check if the path exists. */
-        result = append_if_exists(result, pattern);
-    }
-    else
-    {
-        /* Have metacharacters in the pattern. Split into dir/name. */
-        PATHNAME path[ 1 ];
-        path_parse( pattern, path );
-
-        if ( path->f_dir.ptr )
-        {
-            LIST * dirs = L0;
-            string dirname[ 1 ];
-            string basename[ 1 ];
-            string_new( dirname );
-            string_new( basename );
-
-            string_append_range( dirname, path->f_dir.ptr,
-                                path->f_dir.ptr + path->f_dir.len );
-
-            path->f_grist.ptr = 0;
-            path->f_grist.len = 0;
-            path->f_dir.ptr = 0;
-            path->f_dir.len = 0;
-            path_build( path, basename, 0 );
-
-            dirs =  has_wildcards( dirname->value )
-                ? glob_recursive( dirname->value )
-                : list_new( dirs, dirname->value );
-
-            if ( has_wildcards( basename->value ) )
-            {
-                for ( ; dirs; dirs = dirs->next )
-                    result = list_append( result, glob1( dirs->string,
-                        basename->value ) );
-            }
-            else
-            {
-                string file_string[ 1 ];
-                string_new( file_string );
-
-                /* No wildcard in basename. */
-                for ( ; dirs; dirs = dirs->next )
-                {
-                    path->f_dir.ptr = dirs->string;
-                    path->f_dir.len = strlen( dirs->string );
-                    path_build( path, file_string, 0 );
-
-                    result = append_if_exists( result, file_string->value );
-
-                    string_truncate( file_string, 0 );
-                }
-
-                string_free( file_string );
-            }
-
-            string_free( dirname );
-            string_free( basename );
-        }
-        else
-        {
-            /** No directory, just a pattern. */
-            result = list_append( result, glob1( ".", pattern ) );
-        }
-    }
-
-    return result;
-}
-
-
-LIST * builtin_glob_recursive( PARSE * parse, FRAME * frame )
-{
-    LIST * result = L0;
-    LIST * l = lol_get( frame->args, 0 );
-    for ( ; l; l = l->next )
-        result = list_append( result, glob_recursive( l->string ) );
-    return result;
-}
-
-
-/*
- * builtin_match() - MATCH rule, regexp matching.
- */
-
-LIST * builtin_match( PARSE * parse, FRAME * frame )
-{
-    LIST * l;
-    LIST * r;
-    LIST * result = 0;
-
-    string buf[ 1 ];
-    string_new( buf );
-
-    /* For each pattern */
-
-    for ( l = lol_get( frame->args, 0 ); l; l = l->next )
-    {
-        /* Result is cached and intentionally never freed. */
-        regexp * re = regex_compile( l->string );
-
-        /* For each string to match against. */
-        for ( r = lol_get( frame->args, 1 ); r; r = r->next )
-        {
-            if ( regexec( re, r->string ) )
-            {
-                int i;
-                int top;
-
-                /* Find highest parameter */
-
-                for ( top = NSUBEXP; top-- > 1; )
-                    if ( re->startp[ top ] )
-                        break;
-
-                /* And add all parameters up to highest onto list. */
-                /* Must have parameters to have results! */
-                for ( i = 1; i <= top; ++i )
-                {
-                    string_append_range( buf, re->startp[ i ], re->endp[ i ] );
-                    result = list_new( result, newstr( buf->value ) );
-                    string_truncate( buf, 0 );
-                }
-            }
-        }
-    }
-
-    string_free( buf );
-    return result;
-}
-
-LIST * builtin_split_by_characters( PARSE * parse, FRAME * frame )
-{
-    LIST * l1 = lol_get( frame->args, 0 );
-    LIST * l2 = lol_get( frame->args, 1 );
-
-    LIST * result = 0;
-
-    char* s = strdup (l1->string);
-    char* delimiters = l2->string;
-    char* t;
-
-    t = strtok (s, delimiters);
-    while (t)
-    {
-        result = list_new(result, newstr(t));
-        t = strtok (NULL, delimiters);
-    }
-
-    free (s);
-
-    return result;
-}
-
-LIST * builtin_hdrmacro( PARSE * parse, FRAME * frame )
-{
-  LIST * l = lol_get( frame->args, 0 );
-
-  for ( ; l; l = list_next( l ) )
-  {
-    TARGET * t = bindtarget( l->string );
-
-    /* Scan file for header filename macro definitions. */
-    if ( DEBUG_HEADER )
-        printf( "scanning '%s' for header file macro definitions\n",
-            l->string );
-
-    macro_headers( t );
-  }
-
-  return L0;
-}
-
-
-/*
- * builtin_rulenames() - RULENAMES ( MODULE ? ).
- *
- * Returns a list of the non-local rule names in the given MODULE. If MODULE is
- * not supplied, returns the list of rule names in the global module.
- */
-
-static void add_rule_name( void * r_, void * result_ )
-{
-    RULE * r = (RULE *)r_;
-    LIST * * result = (LIST * *)result_;
-    if ( r->exported )
-        *result = list_new( *result, copystr( r->name ) );
-}
-
-
-LIST * builtin_rulenames( PARSE * parse, FRAME * frame )
-{
-    LIST * arg0 = lol_get( frame->args, 0 );
-    LIST * result = L0;
-    module_t * source_module = bindmodule( arg0 ? arg0->string : 0 );
-
-    if ( source_module->rules )
-        hashenumerate( source_module->rules, add_rule_name, &result );
-    return result;
-}
-
-
-/*
- * builtin_varnames() - VARNAMES ( MODULE ? ).
- *
- * Returns a list of the variable names in the given MODULE. If MODULE is not
- * supplied, returns the list of variable names in the global module.
- */
-
-/* helper function for builtin_varnames(), below. Used with hashenumerate, will
- * prepend the key of each element to the list
- */
-static void add_hash_key( void * np, void * result_ )
-{
-    LIST * * result = (LIST * *)result_;
-    *result = list_new( *result, copystr( *(char * *)np ) );
-}
-
-
-static struct hash * get_running_module_vars()
-{
-    struct hash * dummy;
-    struct hash * vars = NULL;
-    /* Get the global variables pointer (that of the currently running module).
-     */
-    var_hash_swap( &vars );
-    dummy = vars;
-    /* Put the global variables pointer in its right place. */
-    var_hash_swap( &dummy );
-    return vars;
-}
-
-
-LIST * builtin_varnames( PARSE * parse, FRAME * frame )
-{
-    LIST * arg0 = lol_get( frame->args, 0 );
-    LIST * result = L0;
-    module_t * source_module = bindmodule( arg0 ? arg0->string : 0 );
-
-    /* The running module _always_ has its 'variables' member set to NULL due to
-     * the way enter_module() and var_hash_swap() work.
-     */
-    struct hash * vars = source_module == frame->module
-        ? get_running_module_vars()
-        : source_module->variables;
-
-    if ( vars )
-        hashenumerate( vars, add_hash_key, &result );
-    return result;
-}
-
-
-/*
- * builtin_delete_module() - MODULE ?.
- *
- * Clears all rules and variables from the given module.
- */
-
-LIST * builtin_delete_module( PARSE * parse, FRAME * frame )
-{
-    LIST     * arg0 = lol_get( frame->args, 0 );
-    LIST     * result = L0;
-    module_t * source_module = bindmodule( arg0 ? arg0->string : 0 );
-    delete_module( source_module );
-    return result;
-}
-
-
-static void unknown_rule( FRAME * frame, char * key, char * module_name, char * rule_name )
-{
-    backtrace_line( frame->prev );
-    printf( "%s error: rule \"%s\" unknown in module \"%s\"\n", key, rule_name, module_name );
-    backtrace( frame->prev );
-    exit( 1 );
-}
-
-
-/*
- * builtin_import() - IMPORT
- * (
- *     SOURCE_MODULE ? :
- *     SOURCE_RULES  * :
- *     TARGET_MODULE ? :
- *     TARGET_RULES  * :
- *     LOCALIZE      ?
- * )
- *
- * The IMPORT rule imports rules from the SOURCE_MODULE into the TARGET_MODULE
- * as local rules. If either SOURCE_MODULE or TARGET_MODULE is not supplied, it
- * refers to the global module. SOURCE_RULES specifies which rules from the
- * SOURCE_MODULE to import; TARGET_RULES specifies the names to give those rules
- * in TARGET_MODULE. If SOURCE_RULES contains a name which doesn't correspond to
- * a rule in SOURCE_MODULE, or if it contains a different number of items than
- * TARGET_RULES, an error is issued. If LOCALIZE is specified, the rules will be
- * executed in TARGET_MODULE, with corresponding access to its module local
- * variables.
- */
-
-LIST * builtin_import( PARSE * parse, FRAME * frame )
-{
-    LIST * source_module_list = lol_get( frame->args, 0 );
-    LIST * source_rules       = lol_get( frame->args, 1 );
-    LIST * target_module_list = lol_get( frame->args, 2 );
-    LIST * target_rules       = lol_get( frame->args, 3 );
-    LIST * localize           = lol_get( frame->args, 4 );
-
-    module_t * target_module =
-        bindmodule( target_module_list ? target_module_list->string : 0 );
-    module_t * source_module =
-        bindmodule( source_module_list ? source_module_list->string : 0 );
-
-    LIST * source_name;
-    LIST * target_name;
-
-    for ( source_name = source_rules, target_name = target_rules;
-          source_name && target_name;
-          source_name = list_next( source_name ),
-          target_name = list_next( target_name ) )
-    {
-        RULE   r_;
-        RULE * r = &r_;
-        RULE * imported;
-        r_.name = source_name->string;
-
-        if ( !source_module->rules ||
-            !hashcheck( source_module->rules, (HASHDATA * *)&r ) )
-            unknown_rule( frame, "IMPORT", source_module->name, r_.name );
-
-        imported = import_rule( r, target_module, target_name->string );
-        if ( localize )
-            imported->module = target_module;
-        /* This rule is really part of some other module. Just refer to it here,
-         * but do not let it out.
-         */
-        imported->exported = 0;
-    }
-
-    if ( source_name || target_name )
-    {
-        backtrace_line( frame->prev );
-        printf( "import error: length of source and target rule name lists don't match!\n" );
-        printf( "    source: " );
-        list_print( source_rules );
-        printf( "\n    target: " );
-        list_print( target_rules );
-        printf( "\n" );
-        backtrace( frame->prev );
-        exit( 1 );
-    }
-
-    return L0;
-}
-
-
-/*
- * builtin_export() - EXPORT ( MODULE ? : RULES * ).
- *
- * The EXPORT rule marks RULES from the SOURCE_MODULE as non-local (and thus
- * exportable). If an element of RULES does not name a rule in MODULE, an error
- * is issued.
- */
-
-LIST * builtin_export( PARSE * parse, FRAME * frame )
-{
-    LIST     * module_list = lol_get( frame->args, 0 );
-    LIST     * rules       = lol_get( frame->args, 1 );
-    module_t * m           = bindmodule( module_list ? module_list->string : 0 );
-
-    for ( ; rules; rules = list_next( rules ) )
-    {
-        RULE   r_;
-        RULE * r = &r_;
-        r_.name = rules->string;
-
-        if ( !m->rules || !hashcheck( m->rules, (HASHDATA * *)&r ) )
-            unknown_rule( frame, "EXPORT", m->name, r_.name );
-
-        r->exported = 1;
-    }
-    return L0;
-}
-
-
-/*
- * get_source_line() - Retrieve the file and line number that should be
- * indicated for a given procedure in debug output or an error backtrace.
- */
-
-static void get_source_line( PARSE * procedure, char * * file, int * line )
-{
-    if ( procedure )
-    {
-        char * f = procedure->file;
-        int    l = procedure->line;
-        if ( !strcmp( f, "+" ) )
-        {
-            f = "jambase.c";
-            l += 3;
-        }
-        *file = f;
-        *line = l;
-    }
-    else
-    {
-        *file = "(builtin)";
-        *line = -1;
-    }
-}
-
-
-void print_source_line( PARSE * p )
-{
-    char * file;
-    int    line;
-
-    get_source_line( p, &file, &line );
-    if ( line < 0 )
-        printf( "(builtin):" );
-    else
-        printf( "%s:%d:", file, line );
-}
-
-
-/*
- * backtrace_line() - print a single line of error backtrace for the given
- * frame.
- */
-
-void backtrace_line( FRAME * frame )
-{
-    if ( frame == 0 )
-    {
-        printf( "(no frame):" );
-    }
-    else
-    {
-        print_source_line( frame->procedure );
-        printf( " in %s\n", frame->rulename );
-    }
-}
-
-
-/*
- * backtrace() - Print the entire backtrace from the given frame to the Jambase
- * which invoked it.
- */
-
-void backtrace( FRAME * frame )
-{
-    if ( !frame ) return;
-    while ( ( frame = frame->prev ) )
-        backtrace_line( frame );
-}
-
-
-/*
- * builtin_backtrace() - A Jam version of the backtrace function, taking no
- * arguments and returning a list of quadruples: FILENAME LINE MODULE. RULENAME
- * describing each frame. Note that the module-name is always followed by a
- * period.
- */
-
-LIST * builtin_backtrace( PARSE * parse, FRAME * frame )
-{
-    LIST * levels_arg = lol_get( frame->args, 0 );
-    int levels = levels_arg ? atoi( levels_arg->string ) : ( (unsigned int)(-1) >> 1 ) ;
-
-    LIST * result = L0;
-    for ( ; ( frame = frame->prev ) && levels ; --levels )
-    {
-        char * file;
-        int    line;
-        char   buf[32];
-        get_source_line( frame->procedure, &file, &line );
-        sprintf( buf, "%d", line );
-        result = list_new( result, newstr( file ) );
-        result = list_new( result, newstr( buf ) );
-        result = list_new( result, newstr( frame->module->name ) );
-        result = list_new( result, newstr( frame->rulename ) );
-    }
-    return result;
-}
-
-
-/*
- * builtin_caller_module() - CALLER_MODULE ( levels ? )
- *
- * If levels is not supplied, returns the name of the module of the rule which
- * called the one calling this one. If levels is supplied, it is interpreted as
- * an integer specifying a number of additional levels of call stack to traverse
- * in order to locate the module in question. If no such module exists, returns
- * the empty list. Also returns the empty list when the module in question is
- * the global module. This rule is needed for implementing module import
- * behavior.
- */
-
-LIST * builtin_caller_module( PARSE * parse, FRAME * frame )
-{
-    LIST * levels_arg = lol_get( frame->args, 0 );
-    int levels = levels_arg ? atoi( levels_arg->string ) : 0 ;
-
-    int i;
-    for ( i = 0; ( i < levels + 2 ) && frame->prev; ++i )
-        frame = frame->prev;
-
-    if ( frame->module == root_module() )
-        return L0;
-
-    {
-        LIST * result;
-        string name;
-        string_copy( &name, frame->module->name );
-        string_pop_back( &name );
-        result = list_new( L0, newstr(name.value) );
-        string_free( &name );
-        return result;
-    }
-}
-
-
-/*
- * Return the current working directory.
- *
- * Usage: pwd = [ PWD ] ;
- */
-
-LIST * builtin_pwd( PARSE * parse, FRAME * frame )
-{
-    return pwd();
-}
-
-
-/*
- * Adds targets to the list of target that jam will attempt to update.
- */
-
-LIST * builtin_update( PARSE * parse, FRAME * frame )
-{
-    LIST * result = list_copy( L0, targets_to_update() );
-    LIST * arg1 = lol_get( frame->args, 0 );
-    clear_targets_to_update();
-    for ( ; arg1; arg1 = list_next( arg1 ) )
-        mark_target_for_updating( newstr( arg1->string ) );
-    return result;
-}
-
-extern int anyhow;
-int last_update_now_status;
-
-/* Takes a list of target names as first argument, and immediately
-   updates them.
-   Second parameter, if specified, if the descriptor (converted to a string)
-   of a log file where all build output is redirected.
-   Third parameter, if non-empty, specifies that the -n option should have
-   no effect -- that is, all out-of-date targets should be rebuild.
-*/
-LIST * builtin_update_now( PARSE * parse, FRAME * frame )
-{
-    LIST * targets = lol_get( frame->args, 0 );
-    LIST * log = lol_get( frame->args, 1 );
-    LIST * force = lol_get (frame->args, 2);
-    LIST * continue_ = lol_get(frame->args, 3);
-    int status = 0;
-    int original_stdout;
-    int original_stderr;
-    int n;
-    int targets_count;
-    const char** targets2;
-    int i;
-    int original_noexec;
-    int original_quitquick;
-	
-
-    if (log)
-    {
-        int fd = atoi(log->string);
-        /* Redirect stdout and stderr, temporary, to the log file.  */
-        original_stdout = dup (0);
-        original_stderr = dup (1);
-        dup2 (fd, 0);
-        dup2 (fd, 1);
-    }
-
-    if (force)
-    {
-        original_noexec = globs.noexec;
-        globs.noexec = 0;
-        original_quitquick = globs.quitquick;
-        globs.quitquick = 0;
-    }
-
-    if (continue_)
-    {
-        original_quitquick = globs.quitquick;
-        globs.quitquick = 0;
-    }
-
-    targets_count = list_length( targets );
-    targets2 = (const char * *)BJAM_MALLOC( targets_count * sizeof( char * ) );    
-    for (i = 0 ; targets; targets = list_next( targets ) )
-        targets2[ i++ ] = targets->string;
-    status |= make( targets_count, targets2, anyhow);
-    free( targets );
-
-    if (force)
-    {
-        globs.noexec = original_noexec;
-        globs.quitquick = original_quitquick;
-    }
-
-    if (continue_)
-    {
-        globs.quitquick = original_quitquick;
-    }
-
-    if (log)
-    {
-        /* Flush whatever stdio might have buffered, while descriptions
-           0 and 1 still refer to the log file.  */
-        fflush (stdout);
-        fflush (stderr);
-        dup2 (original_stdout, 0);
-        dup2 (original_stderr, 1);
-        close (original_stdout);
-        close (original_stderr);
-    }
-
-    last_update_now_status = status;
-	
-    if (status == 0)
-        return list_new (L0, newstr ("ok"));
-    else
-        return L0;
-}
-
-LIST * builtin_search_for_target( PARSE * parse, FRAME * frame )
-{
-    LIST * arg1 = lol_get( frame->args, 0 );
-    LIST * arg2 = lol_get( frame->args, 1 );
-    TARGET * t = search_for_target( arg1->string, arg2 );
-    return list_new( L0, t->name );
-}
-
-
-LIST * builtin_import_module( PARSE * parse, FRAME * frame )
-{
-    LIST * arg1 = lol_get( frame->args, 0 );
-    LIST * arg2 = lol_get( frame->args, 1 );
-    module_t * m = arg2 ? bindmodule( arg2->string ) : root_module();
-    import_module( arg1, m );
-    return L0;
-}
-
-
-LIST * builtin_imported_modules( PARSE * parse, FRAME * frame )
-{
-    LIST * arg0 = lol_get( frame->args, 0 );
-    return imported_modules( bindmodule( arg0 ? arg0->string : 0 ) );
-}
-
-
-LIST * builtin_instance( PARSE * parse, FRAME * frame )
-{
-    LIST * arg1 = lol_get( frame->args, 0 );
-    LIST * arg2 = lol_get( frame->args, 1 );
-    module_t * const instance     = bindmodule( arg1->string );
-    module_t * const class_module = bindmodule( arg2->string );
-    instance->class_module = class_module;
-    return L0;
-}
-
-
-LIST * builtin_sort( PARSE * parse, FRAME * frame )
-{
-    LIST * arg1 = lol_get( frame->args, 0 );
-    return list_sort( arg1 );
-}
-
-
-LIST * builtin_normalize_path( PARSE * parse, FRAME * frame )
-{
-    LIST * arg = lol_get( frame->args, 0 );
-
-    /* First, we iterate over all '/'-separated elements, starting from the end
-     * of string. If we see a '..', we remove a previous path elements. If we
-     * see '.', we remove it. The removal is done by overwriting data using '\1'
-     * in the string. After the whole string has been processed, we do a second
-     * pass, removing all the entered '\1' characters.
-     */
-
-    string   in[ 1 ];
-    string   out[ 1 ];
-	/* Last character of the part of string still to be processed. */
-    char   * end;
-	/* Working pointer. */
-    char   * current;
-	/* Number of '..' elements seen and not processed yet. */
-    int      dotdots = 0;
-    int      rooted  = 0;
-    char   * result  = 0;
-
-    /* Make a copy of input: we should not change it. Prepend a '/' before it as
-     * a guard for the algorithm later on and remember whether it was originally
-     * rooted or not.
-     */
-    string_new( in );
-    string_push_back( in, '/' );
-    for ( ; arg; arg = list_next( arg ) )
-    {
-        if ( arg->string[ 0 ] != '\0' )
-        {
-            if ( in->size == 1 )
-                rooted = ( ( arg->string[ 0 ] == '/'  ) ||
-                           ( arg->string[ 0 ] == '\\' ) );
-            else
-                string_append( in, "/" );
-            string_append( in, arg->string );
-        }
-    }
-
-    /* Convert \ into /. On Windows, paths using / and \ are equivalent, and we
-     * want this function to obtain a canonic representation.
-     */
-    for ( current = in->value, end = in->value + in->size;
-        current < end; ++current )
-        if ( *current == '\\' )
-            *current = '/';
-
-    /* Now we remove any extra path elements by overwriting them with '\1'
-     * characters and cound how many more unused '..' path elements there are
-     * remaining. Note that each remaining path element with always starts with
-     * a '/' character.
-     */
-    for ( end = in->value + in->size - 1; end >= in->value; )
-    {
-        /* Set 'current' to the next occurence of '/', which always exists. */
-        for ( current = end; *current != '/'; --current );
-
-        if ( current == end )
-        {
-            /* Found a trailing or duplicate '/'. Remove it. */
-            *current = '\1';
-        }
-        else if ( ( end - current == 1 ) && ( *(current + 1) == '.' ) )
-        {
-            /* Found '/.'. Remove them all. */
-            *current = '\1';
-            *(current + 1) = '\1';
-        }
-        else if ( ( end - current == 2 ) && ( *(current + 1) == '.' ) && ( *(current + 2) == '.' ) )
-        {
-            /* Found '/..'. Remove them all. */
-            *current = '\1';
-            *(current + 1) = '\1';
-            *(current + 2) = '\1';
-            ++dotdots;
-        }
-        else if ( dotdots )
-        {
-            memset( current, '\1', end - current + 1 );
-            --dotdots;
-        }
-        end = current - 1;
-    }
-
-    string_new( out );
-
-    /* Now we know that we need to add exactly dotdots '..' path elements to the
-     * front and that our string is either empty or has a '/' as its first
-     * significant character. If we have any dotdots remaining then the passed
-     * path must not have been rooted or else it is invalid we return an empty
-     * list.
-     */
-    if ( dotdots )
-    {
-        if ( rooted ) return L0;
-        do
-            string_append( out, "/.." );
-        while ( --dotdots );
-    }
-
-    /* Now we actually remove all the path characters marked for removal. */
-    for ( current = in->value; *current; ++current )
-        if ( *current != '\1' )
-            string_push_back( out, *current );
-
-    /* Here we know that our string contains no '\1' characters and is either
-     * empty or has a '/' as its initial character. If the original path was not
-     * rooted and we have a non-empty path we need to drop the initial '/'. If
-     * the original path was rooted and we have an empty path we need to add
-     * back the '/'.
-     */
-    result = newstr( out->size ? out->value + !rooted : ( rooted ? "/" : "." ) );
-
-    string_free( out );
-    string_free( in );
-
-    return list_new( 0, result );
-}
-
-
-LIST * builtin_native_rule( PARSE * parse, FRAME * frame )
-{
-    LIST * module_name = lol_get( frame->args, 0 );
-    LIST * rule_name = lol_get( frame->args, 1 );
-
-    module_t * module = bindmodule( module_name->string );
-
-    native_rule_t n;
-    native_rule_t * np = &n;
-    n.name = rule_name->string;
-    if ( module->native_rules && hashcheck( module->native_rules, (HASHDATA * *)&np ) )
-    {
-        new_rule_body( module, np->name, np->arguments, np->procedure, 1 );
-    }
-    else
-    {
-        backtrace_line( frame->prev );
-        printf( "error: no native rule \"%s\" defined in module \"%s\"\n",
-                n.name, module->name );
-        backtrace( frame->prev );
-        exit( 1 );
-    }
-    return L0;
-}
-
-
-LIST * builtin_has_native_rule( PARSE * parse, FRAME * frame )
-{
-    LIST * module_name = lol_get( frame->args, 0 );
-    LIST * rule_name   = lol_get( frame->args, 1 );
-    LIST * version     = lol_get( frame->args, 2 );
-
-    module_t * module = bindmodule( module_name->string );
-
-    native_rule_t n;
-    native_rule_t * np = &n;
-    n.name = rule_name->string;
-    if ( module->native_rules && hashcheck( module->native_rules, (HASHDATA * *)&np ) )
-    {
-        int expected_version = atoi( version->string );
-        if ( np->version == expected_version )
-            return list_new( 0, newstr( "true" ) );
-    }
-    return L0;
-}
-
-
-LIST * builtin_user_module( PARSE * parse, FRAME * frame )
-{
-    LIST * module_name = lol_get( frame->args, 0 );
-    for ( ; module_name; module_name = module_name->next )
-    {
-        module_t * m = bindmodule( module_name->string );
-        m->user_module = 1;
-    }
-    return L0;
-}
-
-
-LIST * builtin_nearest_user_location( PARSE * parse, FRAME * frame )
-{
-    FRAME * nearest_user_frame =
-        frame->module->user_module ? frame : frame->prev_user;
-    if ( !nearest_user_frame )
-        return L0;
-
-    {
-        LIST * result = 0;
-        char * file;
-        int    line;
-        char   buf[32];
-
-        get_source_line( nearest_user_frame->procedure, &file, &line );
-        sprintf( buf, "%d", line );
-        result = list_new( result, newstr( file ) );
-        result = list_new( result, newstr( buf ) );
-        return result;
-    }
-}
-
-
-LIST * builtin_check_if_file( PARSE * parse, FRAME * frame )
-{
-    LIST * name = lol_get( frame->args, 0 );
-    return file_is_file( name->string ) == 1
-        ? list_new( 0, newstr( "true" ) )
-        : L0 ;
-}
-
-
-LIST * builtin_md5( PARSE * parse, FRAME * frame )
-{
-    LIST * l = lol_get( frame->args, 0 );
-    char* s = l->string;
-
-    md5_state_t state;
-    md5_byte_t digest[16];
-    char hex_output[16*2 + 1];
-
-    int di;
-
-    md5_init(&state);
-    md5_append(&state, (const md5_byte_t *)s, strlen(s));
-    md5_finish(&state, digest);
-
-    for (di = 0; di < 16; ++di)
-        sprintf(hex_output + di * 2, "%02x", digest[di]);
-
-    return list_new (0, newstr(hex_output));
-}
-
-LIST *builtin_file_open( PARSE *parse, FRAME *frame )
-{
-    char* name = lol_get(frame->args, 0)->string;
-    char* mode = lol_get(frame->args, 1)->string;
-    int fd;
-    char buffer[sizeof("4294967295")];
-
-    if (strcmp(mode, "w") == 0)
-    {
-        fd = open(name, O_WRONLY|O_CREAT|O_TRUNC, 0666);
-    }
-    else
-    {
-        fd = open(name, O_RDONLY);
-    }
-
-    if (fd != -1)
-    {
-        sprintf(buffer, "%d", fd);
-        return list_new(L0, newstr(buffer));
-    }
-    else
-    {
-        return L0;
-    }
-}
-
-LIST *builtin_pad( PARSE *parse, FRAME *frame )
-{
-    char *string = lol_get(frame->args, 0)->string;
-    char *width_s = lol_get(frame->args, 1)->string;
-
-    int current = strlen (string);
-    int desired = atoi(width_s);
-    if (current >= desired)
-        return list_new (L0, string);
-    else
-    {
-        char *buffer = malloc (desired + 1);
-        int i;
-        LIST *result;
-
-        strcpy (buffer, string);
-        for (i = current; i < desired; ++i)
-            buffer[i] = ' ';
-        buffer[desired] = '\0';
-        result = list_new (L0, newstr (buffer));
-        free (buffer);
-        return result;
-    }
-}
-
-LIST *builtin_precious( PARSE *parse, FRAME *frame )
-{
-    LIST* targets = lol_get(frame->args, 0);
-
-    for ( ; targets; targets = list_next( targets ) )    
-    {
-        TARGET* t = bindtarget (targets->string);
-        t->flags |= T_FLAG_PRECIOUS;
-    }
-
-    return L0;
-}
-
-LIST *builtin_self_path( PARSE *parse, FRAME *frame )
-{
-    extern char *saved_argv0;
-    char *p = executable_path (saved_argv0);
-    if (p)
-    {
-        LIST* result = list_new (0, newstr (p));
-        free(p);
-        return result;
-    }
-    else
-    {
-        return L0;
-    }
-}
-
-LIST *builtin_makedir( PARSE *parse, FRAME *frame )
-{
-    LIST *path = lol_get(frame->args, 0);
-
-    if (file_mkdir(path->string) == 0)
-    {
-        LIST *result = list_new (0, newstr(path->string));
-        return result;
-    }
-    else
-    {
-        return L0;
-    }    
-}
-
-#ifdef HAVE_PYTHON
-
-LIST * builtin_python_import_rule( PARSE * parse, FRAME * frame )
-{
-    static int first_time = 1;
-    char * python_module   = lol_get( frame->args, 0 )->string;
-    char * python_function = lol_get( frame->args, 1 )->string;
-    char * jam_module      = lol_get( frame->args, 2 )->string;
-    char * jam_rule        = lol_get( frame->args, 3 )->string;
-
-    PyObject * pName;
-    PyObject * pModule;
-    PyObject * pDict;
-    PyObject * pFunc;
-
-    if ( first_time )
-    {
-        /* At the first invocation, we add the value of the global
-         * EXTRA_PYTHONPATH to the sys.path Python variable.
-         */
-        LIST * extra = 0;
-        module_t * outer_module = frame->module;
-
-        first_time = 0;
-
-        if ( outer_module != root_module() )
-        {
-            exit_module( outer_module );
-            enter_module( root_module() );
-        }
-
-        extra = var_get( "EXTRA_PYTHONPATH" );
-
-        if ( outer_module != root_module() )
-        {
-             exit_module( root_module() );
-             enter_module( outer_module );
-        }
-
-        for ( ; extra; extra = extra->next )
-        {
-            string buf[ 1 ];
-            string_new( buf );
-            string_append( buf, "import sys\nsys.path.append(\"" );
-            string_append( buf, extra->string );
-            string_append( buf, "\")\n" );
-            PyRun_SimpleString( buf->value );
-            string_free( buf );
-        }
-    }
-
-    pName   = PyString_FromString( python_module );
-    pModule = PyImport_Import( pName );
-    Py_DECREF( pName );
-
-    if ( pModule != NULL )
-    {
-        pDict = PyModule_GetDict( pModule );
-        pFunc = PyDict_GetItemString( pDict, python_function );
-
-        if ( pFunc && PyCallable_Check( pFunc ) )
-        {
-            module_t * m = bindmodule( jam_module );
-            RULE * r = bindrule( jam_rule, m );
-
-            /* Make pFunc owned. */
-            Py_INCREF( pFunc );
-
-            r->python_function = pFunc;
-        }
-        else
-        {
-            if ( PyErr_Occurred() )
-                PyErr_Print();
-            fprintf( stderr, "Cannot find function \"%s\"\n", python_function );
-        }
-        Py_DECREF( pModule );
-    }
-    else
-    {
-        PyErr_Print();
-        fprintf( stderr, "Failed to load \"%s\"\n", python_module );
-    }
-    return L0;
-
-}
-
-#endif
-
-void lol_build( LOL * lol, char * * elements )
-{
-    LIST * l = L0;
-    lol_init( lol );
-
-    while ( elements && *elements )
-    {
-        if ( !strcmp( *elements, ":" ) )
-        {
-            lol_add( lol, l );
-            l = L0 ;
-        }
-        else
-        {
-            l = list_new( l, newstr( *elements ) );
-        }
-        ++elements;
-    }
-
-    if ( l != L0 )
-        lol_add( lol, l );
-}
-
-
-#ifdef HAVE_PYTHON
-
-/*
- * Calls the bjam rule specified by name passed in 'args'. The name is looked up
- * in the context of bjam's 'python_interface' module. Returns the list of
- * string retured by the rule.
- */
-
-PyObject* bjam_call( PyObject * self, PyObject * args )
-{
-    FRAME   inner[ 1 ];
-    LIST  * result;
-    PARSE * p;
-    char  * rulename;
-
-    /* Build up the list of arg lists. */
-    frame_init( inner );
-    inner->prev = 0;
-    inner->prev_user = 0;
-    inner->module = bindmodule( "python_interface" );
-    inner->procedure = 0;
-
-    /* Extract the rule name and arguments from 'args'. */
-
-    /* PyTuple_GetItem returns borrowed reference. */
-    rulename = PyString_AsString( PyTuple_GetItem( args, 0 ) );
-    {
-        int i = 1;
-        int size = PyTuple_Size( args );
-        for ( ; i < size; ++i )
-        {
-            PyObject * a = PyTuple_GetItem( args, i );
-            if ( PyString_Check( a ) )
-            {
-                lol_add( inner->args, list_new( 0, newstr(
-                    PyString_AsString( a ) ) ) );
-            }
-            else if ( PySequence_Check( a ) )
-            {
-                LIST * l = 0;
-                int s = PySequence_Size( a );
-                int i = 0;
-                for ( ; i < s; ++i )
-                {
-                    /* PySequence_GetItem returns new reference. */
-                    PyObject * e = PySequence_GetItem( a, i );
-                    char * s = PyString_AsString( e );
-                    if ( !s )
-                    {
-                        printf( "Invalid parameter type passed from Python\n" );
-                        exit( 1 );
-                    }
-                    l = list_new( l, newstr( s ) );
-                    Py_DECREF( e );
-                }
-                lol_add( inner->args, l );
-            }
-        }
-    }
-
-    result = evaluate_rule( rulename, inner );
-
-    frame_free( inner );
-
-    /* Convert the bjam list into a Python list result. */
-    {
-        PyObject * pyResult = PyList_New( list_length( result ) );
-        int i = 0;
-        while ( result )
-        {
-            PyList_SetItem( pyResult, i, PyString_FromString( result->string ) );
-            result = list_next( result );
-            i += 1;
-        }
-        list_free( result );
-        return pyResult;
-    }
-}
-
-
-/*
- * Accepts four arguments: 
- * - module name
- * - rule name,
- * - Python callable. 
- * - (optional) bjam language function signature.
- * Creates a bjam rule with the specified name in the specified module, which will
- * invoke the Python callable.
- */
-
-PyObject * bjam_import_rule( PyObject * self, PyObject * args )
-{
-    char     * module;
-    char     * rule;
-    PyObject * func;
-    PyObject * bjam_signature = NULL;
-    module_t * m;
-    RULE     * r;
-
-    if ( !PyArg_ParseTuple( args, "ssO|O:import_rule", 
-                            &module, &rule, &func, &bjam_signature ) )
-        return NULL;
-
-    if ( !PyCallable_Check( func ) )
-    {
-        PyErr_SetString( PyExc_RuntimeError,
-                        "Non-callable object passed to bjam.import_rule" );
-        return NULL;
-    }
-
-    m = bindmodule( *module ? module : 0 );
-    r = bindrule( rule, m );
-
-    /* Make pFunc owned. */
-    Py_INCREF( func );
-
-    r->python_function = func;
-    r->arguments = 0;
-
-    if (bjam_signature)
-    {
-        argument_list * arg_list = args_new();
-        Py_ssize_t i;
-
-        Py_ssize_t s = PySequence_Size (bjam_signature);
-        for (i = 0; i < s; ++i)
-        {
-            PyObject* v = PySequence_GetItem (bjam_signature, i);
-            lol_add(arg_list->data, list_from_python (v));
-            Py_DECREF(v);
-        }
-        r->arguments = arg_list;
-    }
-
-    Py_INCREF( Py_None );
-    return Py_None;
-}
-
-
-/*
- * Accepts four arguments:
- *  - an action name
- *  - an action body
- *  - a list of variable that will be bound inside the action
- *  - integer flags.
- *  Defines an action on bjam side.
- */
-
-PyObject * bjam_define_action( PyObject * self, PyObject * args )
-{
-    char     * name;
-    char     * body;
-    module_t * m;
-    PyObject * bindlist_python;
-    int        flags;
-    LIST     * bindlist = L0;
-    int        n;
-    int        i;
-
-    if ( !PyArg_ParseTuple( args, "ssO!i:define_action", &name, &body,
-                          &PyList_Type, &bindlist_python, &flags ) )
-        return NULL;
-
-    n = PyList_Size( bindlist_python );
-    for ( i = 0; i < n; ++i )
-    {
-        PyObject * next = PyList_GetItem( bindlist_python, i );
-        if ( !PyString_Check( next ) )
-        {
-            PyErr_SetString( PyExc_RuntimeError,
-                            "bind list has non-string type" );
-            return NULL;
-        }
-        bindlist = list_new( bindlist, PyString_AsString( next ) );
-    }
-
-    new_rule_actions( root_module(), name, newstr( body ), bindlist, flags );
-
-    Py_INCREF( Py_None );
-    return Py_None;
-}
-
-
-/*
- * Returns the value of a variable in root Jam module.
- */
-
-PyObject * bjam_variable( PyObject * self, PyObject * args )
-{
-    char     * name;
-    LIST     * value;
-    PyObject * result;
-    int        i;
-
-    if ( !PyArg_ParseTuple( args, "s", &name ) )
-        return NULL;
-
-    enter_module( root_module() );
-    value = var_get( name );
-    exit_module( root_module() );
-
-    result = PyList_New( list_length( value ) );
-    for ( i = 0; value; value = list_next( value ), ++i )
-        PyList_SetItem( result, i, PyString_FromString( value->string ) );
-
-    return result;
-}
-
-
-PyObject * bjam_backtrace( PyObject * self, PyObject * args )
-{
-    PyObject     * result = PyList_New( 0 );
-    struct frame * f = frame_before_python_call;
-
-    for ( ; f = f->prev; )
-    {
-        PyObject * tuple = PyTuple_New( 4 );
-        char     * file;
-        int        line;
-        char       buf[ 32 ];
-
-        get_source_line( f->procedure, &file, &line );
-        sprintf( buf, "%d", line );
-
-        /* PyTuple_SetItem steals reference. */
-        PyTuple_SetItem( tuple, 0, PyString_FromString( file            ) );
-        PyTuple_SetItem( tuple, 1, PyString_FromString( buf             ) );
-        PyTuple_SetItem( tuple, 2, PyString_FromString( f->module->name ) );
-        PyTuple_SetItem( tuple, 3, PyString_FromString( f->rulename     ) );
-
-        PyList_Append( result, tuple );
-        Py_DECREF( tuple );
-    }
-    return result;
-}
-
-PyObject * bjam_caller( PyObject * self, PyObject * args )
-{
-    PyObject *result = PyString_FromString(
-        frame_before_python_call->prev->module->name);
-    return result;
-}
-
-#endif  /* #ifdef HAVE_PYTHON */
-
-
-#ifdef HAVE_POPEN
-
-#if defined(_MSC_VER) || defined(__BORLANDC__)
-    #define popen windows_popen_wrapper
-    #define pclose _pclose
-
-    /*
-     * This wrapper is a workaround for a funny _popen() feature on Windows
-     * where it eats external quotes in some cases. The bug seems to be related
-     * to the quote stripping functionality used by the Windows cmd.exe
-     * interpreter when its /S is not specified.
-     *
-     * Cleaned up quote from the cmd.exe help screen as displayed on Windows XP
-     * SP3:
-     *
-     *   1. If all of the following conditions are met, then quote characters on
-     *      the command line are preserved:
-     *
-     *       - no /S switch
-     *       - exactly two quote characters
-     *       - no special characters between the two quote characters, where
-     *         special is one of: &<>()@^|
-     *       - there are one or more whitespace characters between the two quote
-     *         characters
-     *       - the string between the two quote characters is the name of an
-     *         executable file.
-     *
-     *   2. Otherwise, old behavior is to see if the first character is a quote
-     *      character and if so, strip the leading character and remove the last
-     *      quote character on the command line, preserving any text after the
-     *      last quote character.
-     *
-     * This causes some commands containing quotes not to be executed correctly.
-     * For example:
-     *
-     *   "\Long folder name\aaa.exe" --name="Jurko" --no-surname
-     *
-     * would get its outermost quotes stripped and would be executed as:
-     *
-     *   \Long folder name\aaa.exe" --name="Jurko --no-surname
-     *
-     * which would report an error about '\Long' not being a valid command.
-     *
-     * cmd.exe help seems to indicate it would be enough to add an extra space
-     * character in front of the command to avoid this but this does not work,
-     * most likely due to the shell first stripping all leading whitespace
-     * characters from the command.
-     *
-     * Solution implemented here is to quote the whole command in case it
-     * contains any quote characters. Note thought this will not work correctly
-     * should Windows ever 'fix' this feature.
-     *                                               (03.06.2008.) (Jurko)
-     */
-    static FILE * windows_popen_wrapper( char * command, char * mode )
-    {
-        int extra_command_quotes_needed = ( strchr( command, '"' ) != 0 );
-        string quoted_command;
-        FILE * result;
-
-        if ( extra_command_quotes_needed )
-        {
-            string_new( &quoted_command );
-            string_append( &quoted_command, "\"" );
-            string_append( &quoted_command, command );
-            string_append( &quoted_command, "\"" );
-            command = quoted_command.value;
-        }
-
-        result = _popen( command, "r" );
-
-        if ( extra_command_quotes_needed )
-            string_free( &quoted_command );
-
-        return result;
-    }
-#endif
-
-
-static char * rtrim(char *s)
-{
-    char *p = s;
-    while(*p) ++p;
-    for(--p; p >= s && isspace(*p); *p-- = 0);
-    return s;
-}
-
-LIST * builtin_shell( PARSE * parse, FRAME * frame )
-{
-    LIST   * command = lol_get( frame->args, 0 );
-    LIST   * result = 0;
-    string   s;
-    int      ret;
-    char     buffer[ 1024 ];
-    FILE   * p = NULL;
-    int      exit_status = -1;
-    int      exit_status_opt = 0;
-    int      no_output_opt = 0;
-    int      strip_eol_opt = 0;
-
-    /* Process the variable args options. */
-    {
-        int a = 1;
-        LIST * arg = lol_get( frame->args, a );
-        while ( arg )
-        {
-            if ( strcmp( "exit-status", arg->string ) == 0 )
-            {
-                exit_status_opt = 1;
-            }
-            else if ( strcmp( "no-output", arg->string ) == 0 )
-            {
-                no_output_opt = 1;
-            }
-            else if ( strcmp("strip-eol", arg->string) == 0 )
-            {
-                strip_eol_opt = 1;
-            }
-            arg = lol_get( frame->args, ++a );
-        }
-    }
-
-    /* The following fflush() call seems to be indicated as a workaround for a
-     * popen() bug on POSIX implementations related to synhronizing input
-     * stream positions for the called and the calling process.
-     */
-    fflush( NULL );
-
-    p = popen( command->string, "r" );
-    if ( p == NULL )
-        return L0;
-
-    string_new( &s );
-
-    while ( ( ret = fread( buffer, sizeof( char ), sizeof( buffer ) - 1, p ) ) > 0 )
-    {
-        buffer[ret] = 0;
-        if ( !no_output_opt )
-        {
-            if ( strip_eol_opt )
-                rtrim(buffer);
-            string_append( &s, buffer );
-        }
-    }
-
-    exit_status = pclose( p );
-
-    /* The command output is returned first. */
-    result = list_new( L0, newstr( s.value ) );
-    string_free( &s );
-
-    /* The command exit result next. */
-    if ( exit_status_opt )
-    {
-        if ( WIFEXITED(exit_status) )
-            exit_status = WEXITSTATUS(exit_status);
-        else
-            exit_status = -1;
-        sprintf( buffer, "%d", exit_status );
-        result = list_new( result, newstr( buffer ) );
-    }
-
-    return result;
-}
-
-#else  /* #ifdef HAVE_POPEN */
-
-LIST * builtin_shell( PARSE * parse, FRAME * frame )
-{
-    return L0;
-}
-
-#endif /* #ifdef HAVE_POPEN */
diff --git a/SRC/Boost/tools/build/v2/engine/builtins.h b/SRC/Boost/tools/build/v2/engine/builtins.h
deleted file mode 100755
index 627afd3..0000000
--- a/SRC/Boost/tools/build/v2/engine/builtins.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-#ifndef JAM_BUILTINS_H
-# define JAM_BUILTINS_H
-
-# include "frames.h"
-
-/*
- * builtins.h - compile parsed jam statements
- */
-
-void load_builtins();
-void init_set();
-void init_path();
-void init_regex();
-void init_property_set();
-void init_sequence();
-void init_order();
-
-LIST *builtin_calc( PARSE *parse, FRAME *args );
-LIST *builtin_depends( PARSE *parse, FRAME *args );
-LIST *builtin_rebuilds( PARSE *parse, FRAME *args );
-LIST *builtin_echo( PARSE *parse, FRAME *args );
-LIST *builtin_exit( PARSE *parse, FRAME *args );
-LIST *builtin_flags( PARSE *parse, FRAME *args );
-LIST *builtin_glob( PARSE *parse, FRAME *args );
-LIST *builtin_glob_recursive( PARSE   *parse, FRAME *frame );
-LIST *builtin_subst( PARSE  *parse, FRAME *args );
-LIST *builtin_match( PARSE *parse, FRAME *args );
-LIST *builtin_split_by_characters( PARSE *parse, FRAME *args );
-LIST *builtin_hdrmacro( PARSE *parse, FRAME *args );
-LIST *builtin_rulenames( PARSE *parse, FRAME *args );
-LIST *builtin_varnames( PARSE *parse, FRAME *args );
-LIST *builtin_delete_module( PARSE *parse, FRAME *args );
-LIST *builtin_import( PARSE *parse, FRAME *args );
-LIST *builtin_export( PARSE *parse, FRAME *args );
-LIST *builtin_caller_module( PARSE *parse, FRAME *args );
-LIST *builtin_backtrace( PARSE *parse, FRAME *args );
-LIST *builtin_pwd( PARSE *parse, FRAME *args );
-LIST *builtin_update( PARSE *parse, FRAME *args );
-LIST *builtin_update_now( PARSE *parse, FRAME *args );
-LIST *builtin_search_for_target( PARSE *parse, FRAME *args );
-LIST *builtin_import_module( PARSE *parse, FRAME *args );
-LIST *builtin_imported_modules( PARSE *parse, FRAME *frame );
-LIST *builtin_instance( PARSE *parse, FRAME *frame );
-LIST *builtin_sort( PARSE *parse, FRAME *frame );
-LIST *builtin_normalize_path( PARSE *parse, FRAME *frame );
-LIST *builtin_native_rule( PARSE *parse, FRAME *frame );
-LIST *builtin_has_native_rule( PARSE *parse, FRAME *frame );
-LIST *builtin_user_module( PARSE *parse, FRAME *frame );
-LIST *builtin_nearest_user_location( PARSE *parse, FRAME *frame );
-LIST *builtin_check_if_file( PARSE *parse, FRAME *frame );
-LIST *builtin_python_import_rule( PARSE *parse, FRAME *frame );
-LIST *builtin_shell( PARSE *parse, FRAME *frame );
-LIST *builtin_md5( PARSE *parse, FRAME *frame );
-LIST *builtin_file_open( PARSE *parse, FRAME *frame );
-LIST *builtin_pad( PARSE *parse, FRAME *frame );
-LIST *builtin_precious( PARSE *parse, FRAME *frame );
-LIST *builtin_self_path( PARSE *parse, FRAME *frame );
-LIST *builtin_makedir( PARSE *parse, FRAME *frame );
-
-void backtrace( FRAME *frame );
-extern int last_update_now_status;
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/bump_version.py b/SRC/Boost/tools/build/v2/engine/bump_version.py
deleted file mode 100755
index 304dffa..0000000
--- a/SRC/Boost/tools/build/v2/engine/bump_version.py
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/usr/bin/python
-
-# This script is used to bump version of bjam. It takes a single argument, e.g
-#
-#    ./bump_version.py 3.1.9
-#
-# and updates all necessary files. For the time being, it's assumes presense
-# of 'perl' executable and Debian-specific 'dch' executable.
-#
-
-
-import os
-import os.path
-import re
-import string
-import sys
-
-srcdir = os.path.abspath(os.path.dirname(__file__ ))
-docdir = os.path.abspath(os.path.join(srcdir,"..","doc"))
-
-def edit(file,replacements):
-    print "  '%s'..." %(file)
-    text = open(file,'r').read()
-    while len(replacements) > 0:
-        #~ print  "  '%s' ==> '%s'" % (replacements[0],replacements[1])
-        text = re.compile(replacements[0],re.M).subn(replacements[1],text)[0]
-        replacements = replacements[2:]
-    #~ print text
-    open(file,'w').write(text)
-
-def make_edits(version):
-    edit(os.path.join(srcdir,"boost-jam.spec"), [
-        '^Version:.*$','Version: %s' % string.join(version, "."),
-        ])
-
-    edit(os.path.join(srcdir,"build.jam"), [
-        '^_VERSION_ = .* ;$','_VERSION_ = %s %s %s ;' % (version[0], version[1], version[2]),
-        ])
-
-    edit(os.path.join(docdir,"bjam.qbk"), [
-        '\[version.*\]','[version: %s]' % string.join(version, '.'),
-        '\[def :version:.*\]','[def :version: %s]' % string.join(version, '.'),
-        ])
-
-    edit(os.path.join(srcdir,"patchlevel.h"), [
-        '^#define VERSION_MAJOR .*$',
-            '#define VERSION_MAJOR %s' % (version[0]),
-        '^#define VERSION_MINOR .*$',
-            '#define VERSION_MINOR %s' % (version[1]),
-        '^#define VERSION_PATCH .*$',
-            '#define VERSION_PATCH %s' % (version[2]),
-        '^#define VERSION_MAJOR_SYM .*$',
-            '#define VERSION_MAJOR_SYM "0%s"' % (version[0]),
-        '^#define VERSION_MINOR_SYM .*$',
-            '#define VERSION_MINOR_SYM "%s"' % (version[1]),
-        '^#define VERSION_PATCH_SYM .*$',
-            '#define VERSION_PATCH_SYM "%s"' % (version[2]),
-        '^#define VERSION .*$',
-            '#define VERSION "%s"' % string.join(version, '.'),
-        '^#define JAMVERSYM .*$',
-            '#define JAMVERSYM "JAMVERSION=%s.%s"' % (version[0],version[1]),
-        ])
-
-def main():
-
-    if len(sys.argv) < 2:
-        print "Expect new version as argument"
-        sys.exit(1)
-
-    version = string.split(sys.argv[1], ".")
-    print "Setting version to", version
-    make_edits(version)
-
-if __name__ == '__main__':
-    main()
-
-#~ Copyright 2006 Rene Rivera.
-#~ Copyright 2005-2006 Vladimir Prus.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
diff --git a/SRC/Boost/tools/build/v2/engine/class.c b/SRC/Boost/tools/build/v2/engine/class.c
deleted file mode 100755
index 72ebb67..0000000
--- a/SRC/Boost/tools/build/v2/engine/class.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/* Copyright Vladimir Prus 2003. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#include "class.h"
-#include "strings.h"
-#include "variable.h"
-#include "frames.h"
-#include "rules.h"
-#include "newstr.h"
-
-#include "hash.h"
-
-
-static struct hash * classes = 0;
-
-
-static void check_defined( LIST * class_names )
-{
-    for ( ; class_names; class_names = class_names->next )
-    {
-        char * * p = &class_names->string;
-        if ( !hashcheck( classes, (HASHDATA * *)&p ) )
-        {
-            printf( "Class %s is not defined\n", class_names->string );
-            abort();
-        }
-    }
-}
-
-
-static char * class_module_name( char * declared_name )
-{
-    string name[ 1 ];
-    char * result;
-
-    string_new( name );
-    string_append( name, "class@" );
-    string_append( name, declared_name );
-
-    result = newstr( name->value );
-    string_free( name );
-
-    return result;
-}
-
-
-struct import_base_data
-{
-    char     * base_name;
-    module_t * base_module;
-    module_t * class_module;
-};
-
-
-static void import_base_rule( void * r_, void * d_ )
-{
-    RULE * r = (RULE *)r_;
-    RULE * ir1;
-    RULE * ir2;
-    struct import_base_data * d = (struct import_base_data *)d_;
-    string qualified_name[ 1 ];
-
-    string_new      ( qualified_name               );
-    string_append   ( qualified_name, d->base_name );
-    string_push_back( qualified_name, '.'          );
-    string_append   ( qualified_name, r->name      );
-
-    ir1 = import_rule( r, d->class_module, r->name );
-    ir2 = import_rule( r, d->class_module, qualified_name->value );
-
-    /* Copy 'exported' flag. */
-    ir1->exported = ir2->exported = r->exported;
-
-    /* If we are importing a class method, localize it. */
-    if ( ( r->module == d->base_module ) || ( r->module->class_module &&
-        ( r->module->class_module == d->base_module ) ) )
-        ir1->module = ir2->module = d->class_module;
-
-    string_free( qualified_name );
-}
-
-
-/*
- * For each exported rule 'n', declared in class module for base, imports that
- * rule in 'class' as 'n' and as 'base.n'. Imported rules are localized and
- * marked as exported.
- */
-
-static void import_base_rules( module_t * class, char * base )
-{
-    module_t * base_module = bindmodule( class_module_name( base ) );
-    struct import_base_data d;
-    d.base_name = base;
-    d.base_module = base_module;
-    d.class_module = class;
-
-    if ( base_module->rules )
-        hashenumerate( base_module->rules, import_base_rule, &d );
-
-    import_module( imported_modules( base_module ), class );
-}
-
-
-char * make_class_module( LIST * xname, LIST * bases, FRAME * frame )
-{
-    char       * name = class_module_name( xname->string );
-    char     * * pp = &xname->string;
-    module_t   * class_module = 0;
-    module_t   * outer_module = frame->module;
-
-    if ( !classes )
-        classes = hashinit( sizeof( char * ), "classes" );
-
-    if ( hashcheck( classes, (HASHDATA * *)&pp ) )
-    {
-        printf( "Class %s already defined\n", xname->string );
-        abort();
-    }
-    else
-    {
-        hashenter( classes, (HASHDATA * *)&pp );
-    }
-    check_defined( bases );
-
-    class_module = bindmodule( name );
-
-    exit_module( outer_module );
-    enter_module( class_module );
-
-    var_set( "__name__", xname, VAR_SET );
-    var_set( "__bases__", bases, VAR_SET );
-
-    exit_module( class_module );
-    enter_module( outer_module );
-
-    for ( ; bases; bases = bases->next )
-        import_base_rules( class_module, bases->string );
-
-    return name;
-}
diff --git a/SRC/Boost/tools/build/v2/engine/class.h b/SRC/Boost/tools/build/v2/engine/class.h
deleted file mode 100755
index 8cb451f..0000000
--- a/SRC/Boost/tools/build/v2/engine/class.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Copyright Vladimir Prus 2003. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#ifndef CLASS_H_VP_2003_08_01
-#define CLASS_H_VP_2003_08_01
-
-#include "lists.h"
-#include "frames.h"
-
-char* make_class_module(LIST* xname, LIST* bases, FRAME* frame);
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/command.c b/SRC/Boost/tools/build/v2/engine/command.c
deleted file mode 100755
index 1ccd49b..0000000
--- a/SRC/Boost/tools/build/v2/engine/command.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*
- * command.c - maintain lists of commands
- */
-
-#include "jam.h"
-
-#include "lists.h"
-#include "parse.h"
-#include "variable.h"
-#include "rules.h"
-
-#include "command.h"
-#include <limits.h>
-#include <string.h>
-
-
-/*
- * cmd_new() - return a new CMD or 0 if too many args
- */
-
-CMD * cmd_new( RULE * rule, LIST * targets, LIST * sources, LIST * shell )
-{
-    CMD * cmd = (CMD *)BJAM_MALLOC( sizeof( CMD ) );
-    /* Lift line-length limitation entirely when JAMSHELL is just "%". */
-    int no_limit = ( shell && !strcmp(shell->string,"%") && !list_next(shell) );
-    int max_line = MAXLINE;
-    int allocated = -1;
-
-    cmd->rule = rule;
-    cmd->shell = shell;
-    cmd->next = 0;
-
-    lol_init( &cmd->args );
-    lol_add( &cmd->args, targets );
-    lol_add( &cmd->args, sources );
-    cmd->buf = 0;
-
-    do
-    {
-        BJAM_FREE( cmd->buf );  /* free any buffer from previous iteration */
-
-        cmd->buf = (char*)BJAM_MALLOC_ATOMIC( max_line + 1 );
-
-        if ( cmd->buf == 0 )
-            break;
-
-        allocated = var_string( rule->actions->command, cmd->buf, max_line, &cmd->args );
-
-        max_line = max_line * 2;
-    }
-    while ( ( allocated < 0 ) && ( max_line < INT_MAX / 2 ) );
-
-    if ( !no_limit )
-    {
-        /* Bail if the result will not fit in MAXLINE. */
-        char * s = cmd->buf;
-        while ( *s )
-        {
-            size_t l = strcspn( s, "\n" );
-
-            if ( l > MAXLINE )
-            {
-                /* We do not free targets/sources/shell if bailing. */
-                cmd_free( cmd );
-                return 0;
-            }
-
-            s += l;
-            if ( *s )
-                ++s;
-        }
-    }
-
-    return cmd;
-}
-
-
-/*
- * cmd_free() - free a CMD
- */
-
-void cmd_free( CMD * cmd )
-{
-    lol_free( &cmd->args );
-    list_free( cmd->shell );
-    BJAM_FREE( cmd->buf );
-    BJAM_FREE( (char *)cmd );
-}
diff --git a/SRC/Boost/tools/build/v2/engine/command.h b/SRC/Boost/tools/build/v2/engine/command.h
deleted file mode 100755
index df1c9c6..0000000
--- a/SRC/Boost/tools/build/v2/engine/command.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 1994 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * command.h - the CMD structure and routines to manipulate them
- *
- * Both ACTION and CMD contain a rule, targets, and sources.  An
- * ACTION describes a rule to be applied to the given targets and
- * sources; a CMD is what actually gets executed by the shell.  The
- * differences are due to:
- *
- *  ACTIONS must be combined if 'actions together' is given.
- *  ACTIONS must be split if 'actions piecemeal' is given.
- *  ACTIONS must have current sources omitted for 'actions updated'.
- *
- * The CMD datatype holds a single command that is to be executed
- * against a target, and they can chain together to represent the
- * full collection of commands used to update a target.
- *
- * Structures:
- *
- *  CMD - an action, ready to be formatted into a buffer and executed.
- *
- * External routines:
- *
- *  cmd_new() - return a new CMD or 0 if too many args.
- *  cmd_free() - delete CMD and its parts.
- *  cmd_next() - walk the CMD chain.
- */
-
-
-/*
- * CMD - an action, ready to be formatted into a buffer and executed.
- */
-
-typedef struct _cmd CMD;
-
-struct _cmd
-{
-    CMD  * next;
-    CMD  * tail;   /* valid on in head */
-    RULE * rule;   /* rule->actions contains shell script */
-    LIST * shell;  /* $(SHELL) value */
-    LOL    args;   /* LISTs for $(<), $(>) */
-    char * buf;    /* actual commands */
-};
-
-CMD * cmd_new
-(
-    RULE * rule,     /* rule (referenced) */
-    LIST * targets,  /* $(<) (freed) */
-    LIST * sources,  /* $(>) (freed) */
-    LIST * shell     /* $(SHELL) (freed) */
-);
-
-void cmd_free( CMD * );
-
-#define cmd_next( c ) ( ( c )->next )
diff --git a/SRC/Boost/tools/build/v2/engine/compile.c b/SRC/Boost/tools/build/v2/engine/compile.c
deleted file mode 100755
index 301615e..0000000
--- a/SRC/Boost/tools/build/v2/engine/compile.c
+++ /dev/null
@@ -1,1424 +0,0 @@
-/*
- * Copyright 1993, 2000 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "jam.h"
-
-# include "lists.h"
-# include "parse.h"
-# include "compile.h"
-# include "variable.h"
-# include "expand.h"
-# include "rules.h"
-# include "newstr.h"
-# include "make.h"
-# include "search.h"
-# include "hdrmacro.h"
-# include "hash.h"
-# include "modules.h"
-# include "strings.h"
-# include "builtins.h"
-# include "class.h"
-
-# include <assert.h>
-# include <string.h>
-# include <stdarg.h>
-
-/*
- * compile.c - compile parsed jam statements
- *
- * External routines:
- *
- *  compile_append() - append list results of two statements
- *  compile_eval() - evaluate if to determine which leg to compile
- *  compile_foreach() - compile the "for x in y" statement
- *  compile_if() - compile 'if' rule
- *  compile_while() - compile 'while' rule
- *  compile_include() - support for 'include' - call include() on file
- *  compile_list() - expand and return a list
- *  compile_local() - declare (and set) local variables
- *  compile_null() - do nothing -- a stub for parsing
- *  compile_on() - run rule under influence of on-target variables
- *  compile_rule() - compile a single user defined rule
- *  compile_rules() - compile a chain of rules
- *  compile_set() - compile the "set variable" statement
- *  compile_setcomp() - support for `rule` - save parse tree
- *  compile_setexec() - support for `actions` - save execution string
- *  compile_settings() - compile the "on =" (set variable on exec) statement
- *  compile_switch() - compile 'switch' rule
- *
- * Internal routines:
- *
- *  debug_compile() - printf with indent to show rule expansion.
- *  evaluate_rule() - execute a rule invocation
- *
- *  builtin_depends() - DEPENDS/INCLUDES rule
- *  builtin_echo() - ECHO rule
- *  builtin_exit() - EXIT rule
- *  builtin_flags() - NOCARE, NOTFILE, TEMPORARY rule
- *
- * 02/03/94 (seiwald) - Changed trace output to read "setting" instead of
- *          the awkward sounding "settings".
- * 04/12/94 (seiwald) - Combined build_depends() with build_includes().
- * 04/12/94 (seiwald) - actionlist() now just appends a single action.
- * 04/13/94 (seiwald) - added shorthand L0 for null list pointer
- * 05/13/94 (seiwald) - include files are now bound as targets, and thus
- *          can make use of $(SEARCH)
- * 06/01/94 (seiwald) - new 'actions existing' does existing sources
- * 08/23/94 (seiwald) - Support for '+=' (append to variable)
- * 12/20/94 (seiwald) - NOTIME renamed NOTFILE.
- * 01/22/95 (seiwald) - Exit rule.
- * 02/02/95 (seiwald) - Always rule; LEAVES rule.
- * 02/14/95 (seiwald) - NoUpdate rule.
- * 09/11/00 (seiwald) - new evaluate_rule() for headers().
- * 09/11/00 (seiwald) - compile_xxx() now return LIST *.
- *          New compile_append() and compile_list() in
- *          support of building lists here, rather than
- *          in jamgram.yy.
- * 01/10/00 (seiwald) - built-ins split out to builtin.c.
- */
-
-static void debug_compile( int which, char *s, FRAME* frame );
-int glob( char *s, char *c );
-/* Internal functions from builtins.c */
-void backtrace( FRAME *frame );
-void backtrace_line( FRAME *frame );
-void print_source_line( PARSE* p );
-
-struct frame * frame_before_python_call;
-
-void frame_init( FRAME* frame )
-{
-    frame->prev = 0;
-    frame->prev_user = 0;
-    lol_init(frame->args);
-    frame->module = root_module();
-    frame->rulename = "module scope";
-    frame->procedure = 0;
-}
-
-
-void frame_free( FRAME* frame )
-{
-    lol_free( frame->args );
-}
-
-
-/*
- * compile_append() - append list results of two statements
- *
- *  parse->left more compile_append() by left-recursion
- *  parse->right    single rule
- */
-
-LIST * compile_append( PARSE * parse, FRAME * frame )
-{
-    /* Append right to left. */
-    return list_append(
-        parse_evaluate( parse->left, frame ),
-        parse_evaluate( parse->right, frame ) );
-}
-
-
-/*
- * compile_eval() - evaluate if to determine which leg to compile
- *
- * Returns:
- *  list    if expression true - compile 'then' clause
- *  L0  if expression false - compile 'else' clause
- */
-
-static int lcmp( LIST * t, LIST * s )
-{
-    int status = 0;
-
-    while ( !status && ( t || s ) )
-    {
-        char *st = t ? t->string : "";
-        char *ss = s ? s->string : "";
-
-        status = strcmp( st, ss );
-
-        t = t ? list_next( t ) : t;
-        s = s ? list_next( s ) : s;
-    }
-
-    return status;
-}
-
-LIST * compile_eval( PARSE * parse, FRAME * frame )
-{
-    LIST * ll;
-    LIST * lr;
-    LIST * s;
-    LIST * t;
-    int status = 0;
-
-    /* Short circuit lr eval for &&, ||, and 'in'. */
-
-    ll = parse_evaluate( parse->left, frame );
-    lr = 0;
-
-    switch ( parse->num )
-    {
-        case EXPR_AND:
-        case EXPR_IN : if ( ll ) goto eval; break;
-        case EXPR_OR : if ( !ll ) goto eval; break;
-        default: eval: lr = parse_evaluate( parse->right, frame );
-    }
-
-    /* Now eval. */
-    switch ( parse->num )
-    {
-    case EXPR_NOT: if ( !ll      ) status = 1; break;
-    case EXPR_AND: if ( ll && lr ) status = 1; break;
-    case EXPR_OR : if ( ll || lr ) status = 1; break;
-
-    case EXPR_IN:
-        /* "a in b": make sure each of ll is equal to something in lr. */
-        for ( t = ll; t; t = list_next( t ) )
-        {
-            for ( s = lr; s; s = list_next( s ) )
-            if ( !strcmp( t->string, s->string ) )
-                break;
-            if ( !s ) break;
-        }
-        /* No more ll? Success. */
-        if ( !t ) status = 1;
-        break;
-
-    case EXPR_EXISTS: if ( lcmp( ll, L0 ) != 0 ) status = 1; break;
-    case EXPR_EQUALS: if ( lcmp( ll, lr ) == 0 ) status = 1; break;
-    case EXPR_NOTEQ : if ( lcmp( ll, lr ) != 0 ) status = 1; break;
-    case EXPR_LESS  : if ( lcmp( ll, lr ) < 0  ) status = 1; break;
-    case EXPR_LESSEQ: if ( lcmp( ll, lr ) <= 0 ) status = 1; break;
-    case EXPR_MORE  : if ( lcmp( ll, lr ) > 0  ) status = 1; break;
-    case EXPR_MOREEQ: if ( lcmp( ll, lr ) >= 0 ) status = 1; break;
-    }
-
-    if ( DEBUG_IF )
-    {
-        debug_compile( 0, "if", frame );
-        list_print( ll );
-        printf( "(%d) ", status );
-        list_print( lr );
-        printf( "\n" );
-    }
-
-    /* Find something to return. */
-    /* In odd circumstances (like "" = "") */
-    /* we'll have to return a new string. */
-
-    if ( !status ) t = 0;
-    else if ( ll ) t = ll, ll = 0;
-    else if ( lr ) t = lr, lr = 0;
-    else t = list_new( L0, newstr( "1" ) );
-
-    if ( ll ) list_free( ll );
-    if ( lr ) list_free( lr );
-    return t;
-}
-
-
-/*
- * compile_foreach() - compile the "for x in y" statement
- *
- * Compile_foreach() resets the given variable name to each specified
- * value, executing the commands enclosed in braces for each iteration.
- *
- *  parse->string   index variable
- *  parse->left variable values
- *  parse->right    rule to compile
- */
-
-LIST * compile_foreach( PARSE * parse, FRAME * frame )
-{
-    LIST     * nv = parse_evaluate( parse->left, frame );
-    LIST     * l;
-    SETTINGS * s = 0;
-
-    if ( parse->num )
-    {
-        s = addsettings( s, VAR_SET, parse->string, L0 );
-        pushsettings( s );
-    }
-
-    /* Call var_set to reset $(parse->string) for each val. */
-
-    for ( l = nv; l; l = list_next( l ) )
-    {
-        LIST * val = list_new( L0, copystr( l->string ) );
-        var_set( parse->string, val, VAR_SET );
-        list_free( parse_evaluate( parse->right, frame ) );
-    }
-
-    if ( parse->num )
-    {
-        popsettings( s );
-        freesettings( s );
-    }
-
-    list_free( nv );
-
-    return L0;
-}
-
-/*
- * compile_if() - compile 'if' rule
- *
- *  parse->left     condition tree
- *  parse->right        then tree
- *  parse->third        else tree
- */
-
-LIST * compile_if( PARSE * p, FRAME * frame )
-{
-    LIST * l = parse_evaluate( p->left, frame );
-    if ( l )
-    {
-        list_free( l );
-        return parse_evaluate( p->right, frame );
-    }
-    return parse_evaluate( p->third, frame );
-}
-
-
-LIST * compile_while( PARSE * p, FRAME * frame )
-{
-    LIST * r = 0;
-    LIST * l;
-    while ( ( l = parse_evaluate( p->left, frame ) ) )
-    {
-        list_free( l );
-        if ( r ) list_free( r );
-        r = parse_evaluate( p->right, frame );
-    }
-    return r;
-}
-
-
-/*
- * compile_include() - support for 'include' - call include() on file
- *
- *  parse->left list of files to include (can only do 1)
- */
-
-LIST * compile_include( PARSE * parse, FRAME * frame )
-{
-    LIST * nt = parse_evaluate( parse->left, frame );
-
-    if ( DEBUG_COMPILE )
-    {
-        debug_compile( 0, "include", frame);
-        list_print( nt );
-        printf( "\n" );
-    }
-
-    if ( nt )
-    {
-        TARGET * t = bindtarget( nt->string );
-
-        /* DWA 2001/10/22 - Perforce Jam cleared the arguments here, which
-         * prevents an included file from being treated as part of the body of a
-         * rule. I did not see any reason to do that, so I lifted the
-         * restriction.
-         */
-
-        /* Bind the include file under the influence of */
-        /* "on-target" variables.  Though they are targets, */
-        /* include files are not built with make(). */
-
-        pushsettings( t->settings );
-        /* We don't expect that file to be included is generated by some
-           action. Therefore, pass 0 as third argument.
-           If the name resolves to directory, let it error out.  */
-        t->boundname = search( t->name, &t->time, 0, 0 );
-        popsettings( t->settings );
-
-        parse_file( t->boundname, frame );
-    }
-
-    list_free( nt );
-
-    return L0;
-}
-
-static LIST* evaluate_in_module ( char* module_name, PARSE * p, FRAME* frame)
-{
-    LIST* result;
-
-    module_t* outer_module = frame->module;
-    frame->module = module_name ? bindmodule( module_name ) : root_module();
-
-    if ( outer_module != frame->module )
-    {
-        exit_module( outer_module );
-        enter_module( frame->module );
-    }
-
-    result = parse_evaluate( p, frame );
-
-    if ( outer_module != frame->module )
-    {
-        exit_module( frame->module );
-        enter_module( outer_module );
-        frame->module = outer_module;
-    }
-
-    return result;
-}
-
-
-LIST * compile_module( PARSE * p, FRAME * frame )
-{
-    /* Here we are entering a module declaration block. */
-    LIST * module_name = parse_evaluate( p->left, frame );
-    LIST * result = evaluate_in_module( module_name ? module_name->string : 0,
-                                       p->right, frame );
-    list_free( module_name );
-    return result;
-}
-
-
-LIST * compile_class( PARSE * p, FRAME * frame )
-{
-    /** Todo: check for empty class name.
-        Check for class redeclaration. */
-
-    char * class_module = 0;
-
-    LIST * name = parse_evaluate( p->left->right, frame );
-    LIST * bases = 0;
-
-    if ( p->left->left )
-        bases = parse_evaluate( p->left->left->right, frame );
-
-    class_module = make_class_module( name, bases, frame );
-    evaluate_in_module( class_module, p->right, frame );
-
-    return L0;
-}
-
-
-/*
- * compile_list() - expand and return a list.
- *
- *  parse->string - character string to expand.
- */
-
-LIST * compile_list( PARSE * parse, FRAME * frame )
-{
-    /* s is a copyable string */
-    char * s = parse->string;
-    return var_expand( L0, s, s + strlen( s ), frame->args, 1 );
-}
-
-
-/*
- * compile_local() - declare (and set) local variables.
- *
- *  parse->left    list of variables
- *  parse->right   list of values
- *  parse->third   rules to execute
- */
-
-LIST * compile_local( PARSE * parse, FRAME * frame )
-{
-    LIST * l;
-    SETTINGS * s = 0;
-    LIST     * nt = parse_evaluate( parse->left, frame );
-    LIST     * ns = parse_evaluate( parse->right, frame );
-    LIST     * result;
-
-    if ( DEBUG_COMPILE )
-    {
-        debug_compile( 0, "local", frame );
-        list_print( nt );
-        printf( " = " );
-        list_print( ns );
-        printf( "\n" );
-    }
-
-    /* Initial value is ns. */
-    for ( l = nt; l; l = list_next( l ) )
-        s = addsettings( s, VAR_SET, l->string, list_copy( (LIST *)0, ns ) );
-
-    list_free( ns );
-    list_free( nt );
-
-    /* Note that callees of the current context get this "local" variable,
-     * making it not so much local as layered.
-     */
-
-    pushsettings( s );
-    result = parse_evaluate( parse->third, frame );
-    popsettings( s );
-
-    freesettings( s );
-
-    return result;
-}
-
-
-/*
- * compile_null() - do nothing -- a stub for parsing.
- */
-
-LIST * compile_null( PARSE * parse, FRAME * frame )
-{
-    return L0;
-}
-
-
-/*
- * compile_on() - run rule under influence of on-target variables
- *
- *  parse->left    list of files to include (can only do 1).
- *  parse->right   rule to run.
- *
- * EXPERIMENTAL!
- */
-
-LIST * compile_on( PARSE * parse, FRAME * frame )
-{
-    LIST * nt = parse_evaluate( parse->left, frame );
-    LIST * result = 0;
-
-    if ( DEBUG_COMPILE )
-    {
-        debug_compile( 0, "on", frame );
-        list_print( nt );
-        printf( "\n" );
-    }
-
-    if ( nt )
-    {
-        TARGET * t = bindtarget( nt->string );
-        pushsettings( t->settings );
-        result = parse_evaluate( parse->right, frame );
-        popsettings( t->settings );
-    }
-
-    list_free( nt );
-
-    return result;
-}
-
-
-/*
- * compile_rule() - compile a single user defined rule.
- *
- *  parse->string   name of user defined rule.
- *  parse->left     parameters (list of lists) to rule, recursing left.
- *
- * Wrapped around evaluate_rule() so that headers() can share it.
- */
-
-LIST * compile_rule( PARSE * parse, FRAME * frame )
-{
-    FRAME   inner[ 1 ];
-    LIST  * result;
-    PARSE * p;
-
-    /* Build up the list of arg lists. */
-    frame_init( inner );
-    inner->prev = frame;
-    inner->prev_user = frame->module->user_module ? frame : frame->prev_user;
-    inner->module = frame->module;  /* This gets fixed up in evaluate_rule(), below. */
-    inner->procedure = parse;
-    /* Special-case LOL of length 1 where the first list is totally empty.
-       This is created when calling functions with no parameters, due to
-       the way jam grammar is written. This is OK when one jam function
-       calls another, but really not good when Jam function calls Python.  */
-    if ( parse->left->left == NULL && parse->left->right->func == compile_null)
-        ;
-    else
-        for ( p = parse->left; p; p = p->left )
-            lol_add( inner->args, parse_evaluate( p->right, frame ) );
-
-    /* And invoke the rule. */
-    result = evaluate_rule( parse->string, inner );
-    frame_free( inner );
-    return result;
-}
-
-
-static void argument_error( char * message, RULE * rule, FRAME * frame, LIST* arg )
-{
-    LOL * actual = frame->args;
-    assert( frame->procedure != 0 );
-    backtrace_line( frame->prev );
-    printf( "*** argument error\n* rule %s ( ", frame->rulename );
-    lol_print( rule->arguments->data );
-    printf( " )\n* called with: ( " );
-    lol_print( actual );
-    printf( " )\n* %s %s\n", message, arg ? arg->string : "" );
-    print_source_line( rule->procedure );
-    printf( "see definition of rule '%s' being called\n", rule->name );
-    backtrace( frame->prev );
-    exit( 1 );
-}
-
-
-/* Define delimiters for type check elements in argument lists (and return type
- * specifications, eventually).
- */
-# define TYPE_OPEN_DELIM '['
-# define TYPE_CLOSE_DELIM ']'
-
-/*
- * is_type_name() - true iff the given string represents a type check
- * specification.
- */
-
-static int is_type_name( char * s )
-{
-    return ( s[ 0 ] == TYPE_OPEN_DELIM ) &&
-        ( s[ strlen( s ) - 1 ] == TYPE_CLOSE_DELIM );
-}
-
-
-/*
- * arg_modifier - if the next element of formal is a single character, return
- * that; return 0 otherwise. Used to extract "*+?" modifiers * from argument
- * lists.
- */
-
-static char arg_modifier( LIST * formal )
-{
-    if ( formal->next )
-    {
-        char * next = formal->next->string;
-        if ( next && ( next[ 0 ] != 0 ) && ( next[ 1 ] == 0 ) )
-            return next[ 0 ];
-    }
-    return 0;
-}
-
-
-/*
- * type_check() - checks that each element of values satisfies the requirements
- * of type_name.
- *
- *      caller   - the frame of the rule calling the rule whose arguments are
- *                 being checked
- *
- *      called   - the rule being called
- *
- *      arg_name - a list element containing the name of the argument being
- *                 checked
- */
-
-static void type_check
-(
-    char  * type_name,
-    LIST  * values,
-    FRAME * caller,
-    RULE  * called,
-    LIST  * arg_name
-)
-{
-    static module_t * typecheck = 0;
-
-    /* If nothing to check, bail now. */
-    if ( !values || !type_name )
-        return;
-
-    if ( !typecheck )
-        typecheck = bindmodule( ".typecheck" );
-
-    /* If the checking rule can not be found, also bail. */
-    {
-        RULE checker_, *checker = &checker_;
-
-        checker->name = type_name;
-        if ( !typecheck->rules || !hashcheck( typecheck->rules, (HASHDATA * *)&checker ) )
-            return;
-    }
-
-    exit_module( caller->module );
-
-    while ( values != 0 )
-    {
-        LIST *error;
-        FRAME frame[1];
-        frame_init( frame );
-        frame->module = typecheck;
-        frame->prev = caller;
-        frame->prev_user = caller->module->user_module ? caller : caller->prev_user;
-
-        enter_module( typecheck );
-        /* Prepare the argument list */
-        lol_add( frame->args, list_new( L0, values->string ) );
-        error = evaluate_rule( type_name, frame );
-
-        exit_module( typecheck );
-
-        if ( error )
-            argument_error( error->string, called, caller, arg_name );
-
-        frame_free( frame );
-        values = values->next;
-    }
-
-    enter_module( caller->module );
-}
-
-/*
- * collect_arguments() - local argument checking and collection
- */
-static SETTINGS *
-collect_arguments( RULE* rule, FRAME* frame )
-{
-    SETTINGS *locals = 0;
-
-    LOL * all_actual = frame->args;
-    LOL * all_formal = rule->arguments ? rule->arguments->data : 0;
-    if ( all_formal ) /* Nothing to set; nothing to check */
-    {
-        int max = all_formal->count > all_actual->count
-            ? all_formal->count
-            : all_actual->count;
-
-        int n;
-        for ( n = 0; n < max ; ++n )
-        {
-            LIST *actual = lol_get( all_actual, n );
-            char *type_name = 0;
-
-            LIST *formal;
-            for ( formal = lol_get( all_formal, n ); formal; formal = formal->next )
-            {
-                char* name = formal->string;
-
-                if ( is_type_name(name) )
-                {
-                    if ( type_name )
-                        argument_error( "missing argument name before type name:", rule, frame, formal );
-
-                    if ( !formal->next )
-                        argument_error( "missing argument name after type name:", rule, frame, formal );
-
-                    type_name = formal->string;
-                }
-                else
-                {
-                    LIST* value = 0;
-                    char modifier;
-                    LIST* arg_name = formal; /* hold the argument name for type checking */
-                    int multiple = 0;
-
-                    /* Stop now if a variable number of arguments are specified */
-                    if ( name[0] == '*' && name[1] == 0 )
-                        return locals;
-
-                    modifier = arg_modifier( formal );
-
-                    if ( !actual && modifier != '?' && modifier != '*' )
-                        argument_error( "missing argument", rule, frame, formal );
-
-                    switch ( modifier )
-                    {
-                    case '+':
-                    case '*':
-                        value = list_copy( 0, actual );
-                        multiple = 1;
-                        actual = 0;
-                        /* skip an extra element for the modifier */
-                        formal = formal->next;
-                        break;
-                    case '?':
-                        /* skip an extra element for the modifier */
-                        formal = formal->next;
-                        /* fall through */
-                    default:
-                        if ( actual ) /* in case actual is missing */
-                        {
-                            value = list_new( 0, actual->string );
-                            actual = actual->next;
-                        }
-                    }
-
-                    locals = addsettings(locals, VAR_SET, name, value);
-                    locals->multiple = multiple;
-                    type_check( type_name, value, frame, rule, arg_name );
-                    type_name = 0;
-                }
-            }
-
-            if ( actual )
-            {
-                argument_error( "extra argument", rule, frame, actual );
-            }
-        }
-    }
-    return locals;
-}
-
-RULE *
-enter_rule( char *rulename, module_t *target_module );
-
-#ifdef HAVE_PYTHON
-
-static int python_instance_number = 0;
-
-
-/* Given a Python object, return a string to use in Jam
-   code instead of said object.
-   If the object is string, use the string value
-   If the object implemenets __jam_repr__ method, use that.
-   Otherwise return 0.
-
-   The result value is newstr-ed.  */
-char *python_to_string(PyObject* value)
-{
-    if (PyString_Check(value))
-    {
-        return newstr(PyString_AsString(value));
-    }
-    else
-    {
-        /* See if this is an instance that defines special __jam_repr__
-           method. */
-        if (PyInstance_Check(value)
-            && PyObject_HasAttrString(value, "__jam_repr__"))
-        {
-            PyObject* repr = PyObject_GetAttrString(value, "__jam_repr__");
-            if (repr)
-            {
-                PyObject* arguments2 = PyTuple_New(0);
-                PyObject* value2 = PyObject_Call(repr, arguments2, 0);
-                Py_DECREF(repr);
-                Py_DECREF(arguments2);
-                if (PyString_Check(value2))
-                {
-                    return newstr(PyString_AsString(value2));
-                }
-                Py_DECREF(value2);
-            }
-        }
-        return 0;
-    }
-}
-
-static LIST*
-call_python_function(RULE* r, FRAME* frame)
-{
-    LIST * result = 0;
-    PyObject * arguments = 0;
-    PyObject * kw = NULL;
-    int i ;
-    PyObject * py_result;
-
-    if (r->arguments)
-    {
-        SETTINGS * args;
-
-        arguments = PyTuple_New(0);
-        kw = PyDict_New();
-
-        for (args = collect_arguments(r, frame); args; args = args->next)
-        {
-            PyObject *key = PyString_FromString(args->symbol);
-            PyObject *value = 0;
-            if (args->multiple)
-                value = list_to_python(args->value);
-            else {
-                if (args->value)
-                    value = PyString_FromString(args->value->string);
-            }
-
-            if (value)
-                PyDict_SetItem(kw, key, value);
-            Py_DECREF(key);
-            Py_XDECREF(value);
-        }
-    }
-    else
-    {
-        arguments = PyTuple_New( frame->args->count );
-        for ( i = 0; i < frame->args->count; ++i )
-        {
-            PyObject * arg = PyList_New(0);
-            LIST* l = lol_get( frame->args, i);
-            
-            for ( ; l; l = l->next )
-            {
-                PyObject * v = PyString_FromString(l->string);
-                PyList_Append( arg, v );
-                Py_DECREF(v);
-            }
-            /* Steals reference to 'arg' */
-            PyTuple_SetItem( arguments, i, arg );
-        }
-    }
-
-    frame_before_python_call = frame;
-    py_result = PyObject_Call( r->python_function, arguments, kw );
-    Py_DECREF(arguments);
-    Py_XDECREF(kw);
-    if ( py_result != NULL )
-    {
-        if ( PyList_Check( py_result ) )
-        {
-            int size = PyList_Size( py_result );
-            int i;
-            for ( i = 0; i < size; ++i )
-            {
-                PyObject * item = PyList_GetItem( py_result, i );
-                char *s = python_to_string (item);
-                if (!s) {
-                    fprintf( stderr, "Non-string object returned by Python call.\n" );
-                } else {
-                    result = list_new (result, s);
-                }
-            }
-        }
-        else if ( py_result == Py_None )
-        {
-            result = L0;
-        }
-        else 
-        {
-            char *s = python_to_string(py_result);
-            if (s)
-                result = list_new(0, s);
-            else 
-                /* We have tried all we could.  Return empty list. There are
-                   cases, e.g.  feature.feature function that should return
-                   value for the benefit of Python code and which also can be
-                   called by Jam code, where no sensible value can be
-                   returned. We cannot even emit a warning, since there will
-                   be a pile of them.  */                
-                result = L0;                    
-        }
-
-        Py_DECREF( py_result );
-    }
-    else
-    {
-        PyErr_Print();
-        fprintf(stderr,"Call failed\n");
-    }
-
-    return result;
-}
-
-
-module_t * python_module()
-{
-    static module_t * python = 0;
-    if ( !python )
-        python = bindmodule("__python__");
-    return python;
-}
-
-#endif
-
-
-/*
- * evaluate_rule() - execute a rule invocation.
- */
-
-LIST *
-evaluate_rule(
-    char  * rulename,
-    FRAME * frame )
-{
-    LIST          * result = L0;
-    RULE          * rule;
-    profile_frame   prof[1];
-    module_t      * prev_module = frame->module;
-
-    LIST * l;
-    {
-        LOL arg_context_, * arg_context = &arg_context_;
-        if ( !frame->prev )
-            lol_init(arg_context);
-        else
-            arg_context = frame->prev->args;
-        l = var_expand( L0, rulename, rulename+strlen(rulename), arg_context, 0 );
-    }
-
-    if ( !l )
-    {
-        backtrace_line( frame->prev );
-        printf( "warning: rulename %s expands to empty string\n", rulename );
-        backtrace( frame->prev );
-        return result;
-    }
-
-    rulename = l->string;
-    rule = bindrule( l->string, frame->module );
-
-#ifdef HAVE_PYTHON
-    if ( rule->python_function )
-    {
-        /* The below messing with modules is due to the way modules are
-         * implemented in Jam. Suppose we are in module M1 now. The global
-         * variable map actually holds 'M1' variables, and M1->variables hold
-         * global variables.
-         *
-         * If we call Python right away, Python calls back Jam and then Jam
-         * does 'module M1 { }' then Jam will try to swap the current global
-         * variables with M1->variables. The result will be that global
-         * variables map will hold global variables, and any variable settings
-         * we do will go to the global module, not M1.
-         *
-         * By restoring basic state, where the global variable map holds global
-         * variable, we make sure any future 'module M1' entry will work OK.
-         */
-
-        LIST * result;
-        module_t * m = python_module();
-
-        frame->module = m;
-
-        exit_module( prev_module );
-        enter_module( m );
-
-        result = call_python_function( rule, frame );
-
-        exit_module( m );
-        enter_module ( prev_module );
-
-        return result;
-    }
-#endif
-
-    /* Drop the rule name. */
-    l = list_pop_front( l );
-
-    /* Tack the rest of the expansion onto the front of the first argument. */
-    frame->args->list[0] = list_append( l, lol_get( frame->args, 0 ) );
-
-    if ( DEBUG_COMPILE )
-    {
-        /* Try hard to indicate in which module the rule is going to execute. */
-        if ( rule->module != frame->module
-             && rule->procedure != 0 && strcmp( rulename, rule->procedure->rulename ) )
-        {
-            char buf[256] = "";
-            strncat( buf, rule->module->name, sizeof( buf ) - 1 );
-            strncat( buf, rule->name, sizeof( buf ) - 1 );
-            debug_compile( 1, buf, frame );
-        }
-        else
-        {
-            debug_compile( 1, rulename, frame );
-        }
-
-        lol_print( frame->args );
-        printf( "\n" );
-    }
-
-    if ( rule->procedure && rule->module != prev_module )
-    {
-        /* Propagate current module to nested rule invocations. */
-        frame->module = rule->module;
-
-        /* Swap variables. */
-        exit_module( prev_module );
-        enter_module( rule->module );
-    }
-
-    /* Record current rule name in frame. */
-    if ( rule->procedure )
-    {
-        frame->rulename = rulename;
-        /* And enter record profile info. */
-        if ( DEBUG_PROFILE )
-            profile_enter( rule->procedure->rulename, prof );
-    }
-
-    /* Check traditional targets $(<) and sources $(>). */
-    if ( !rule->actions && !rule->procedure )
-    {
-        backtrace_line( frame->prev );
-        printf( "rule %s unknown in module %s\n", rule->name, frame->module->name );
-        backtrace( frame->prev );
-        exit( 1 );
-    }
-
-    /* If this rule will be executed for updating the targets then construct the
-     * action for make().
-     */
-    if ( rule->actions )
-    {
-        TARGETS * t;
-        ACTION  * action;
-
-        /* The action is associated with this instance of this rule. */
-        action = (ACTION *)BJAM_MALLOC( sizeof( ACTION ) );
-        memset( (char *)action, '\0', sizeof( *action ) );
-
-        action->rule = rule;
-        action->targets = targetlist( (TARGETS *)0, lol_get( frame->args, 0 ) );
-        action->sources = targetlist( (TARGETS *)0, lol_get( frame->args, 1 ) );
-
-        /* If we have a group of targets all being built using the same action
-         * then we must not allow any of them to be used as sources unless they
-         * had all already been built in the first place or their joined action
-         * has had a chance to finish its work and build all of them anew.
-         *
-         * Without this it might be possible, in case of a multi-process build,
-         * for their action, triggered by buiding one of the targets, to still
-         * be running when another target in the group reports as done in order
-         * to avoid triggering the same action again and gets used prematurely.
-         *
-         * As a quick-fix to achieve this effect we make all the targets list
-         * each other as 'included targets'. More precisely, we mark the first
-         * listed target as including all the other targets in the list and vice
-         * versa. This makes anyone depending on any of those targets implicitly
-         * depend on all of them, thus making sure none of those targets can be
-         * used as sources until all of them have been built. Note that direct
-         * dependencies could not have been used due to the 'circular
-         * dependency' issue.
-         *
-         * TODO: Although the current implementation solves the problem of one
-         * of the targets getting used before its action completes its work it
-         * also forces the action to run whenever any of the targets in the
-         * group is not up to date even though some of them might not actually
-         * be used by the targets being built. We should see how we can
-         * correctly recognize such cases and use that to avoid running the
-         * action if possible and not rebuild targets not actually depending on
-         * targets that are not up to date.
-         *
-         * TODO: Using the 'include' feature might have side-effects due to
-         * interaction with the actual 'inclusion scanning' system. This should
-         * be checked.
-         */
-        if ( action->targets )
-        {
-            TARGET * t0 = action->targets->target;
-            for ( t = action->targets->next; t; t = t->next )
-            {
-                target_include( t->target, t0 );
-                target_include( t0, t->target );
-            }
-        }
-
-        /* Append this action to the actions of each target. */
-        for ( t = action->targets; t; t = t->next )
-            t->target->actions = actionlist( t->target->actions, action );
-    }
-
-    /* Now recursively compile any parse tree associated with this rule.
-     * parse_refer()/parse_free() call pair added to ensure rule not freed
-     * during use.
-     */
-    if ( rule->procedure )
-    {
-        SETTINGS * local_args = collect_arguments( rule, frame );
-        PARSE * parse = rule->procedure;
-        parse_refer( parse );
-
-        pushsettings( local_args );
-        result = parse_evaluate( parse, frame );
-        popsettings( local_args );
-        freesettings( local_args );
-
-        parse_free( parse );
-    }
-
-    if ( frame->module != prev_module )
-    {
-        exit_module( frame->module );
-        enter_module( prev_module );
-    }
-
-    if ( DEBUG_PROFILE && rule->procedure )
-        profile_exit( prof );
-
-    if ( DEBUG_COMPILE )
-        debug_compile( -1, 0, frame);
-
-    return result;
-}
-
-
-/*
- * Call the given rule with the specified parameters. The parameters should be
- * of type LIST* and end with a NULL pointer. This differs from 'evaluate_rule'
- * in that frame for the called rule is prepared inside 'call_rule'.
- *
- * This function is useful when a builtin rule (in C) wants to call another rule
- * which might be implemented in Jam.
- */
-
-LIST * call_rule( char * rulename, FRAME * caller_frame, ... )
-{
-    va_list va;
-    LIST * result;
-
-    FRAME       inner[1];
-    frame_init( inner );
-    inner->prev = caller_frame;
-    inner->prev_user = caller_frame->module->user_module ?
-        caller_frame : caller_frame->prev_user;
-    inner->module = caller_frame->module;
-    inner->procedure = 0;
-
-    va_start( va, caller_frame );
-    for ( ; ; )
-    {
-        LIST * l = va_arg( va, LIST* );
-        if ( !l )
-            break;
-        lol_add( inner->args, l );
-    }
-    va_end( va );
-
-    result = evaluate_rule( rulename, inner );
-
-    frame_free( inner );
-
-    return result;
-}
-
-
-/*
- * compile_rules() - compile a chain of rules
- *
- *  parse->left single rule
- *  parse->right    more compile_rules() by right-recursion
- */
-
-LIST * compile_rules( PARSE * parse, FRAME * frame )
-{
-    /* Ignore result from first statement; return the 2nd. */
-    /* Optimize recursion on the right by looping. */
-    do list_free( parse_evaluate( parse->left, frame ) );
-    while ( ( parse = parse->right )->func == compile_rules );
-    return parse_evaluate( parse, frame );
-}
-
-
-/*
- * assign_var_mode() - convert ASSIGN_XXX compilation flag into corresponding
- *                     VAR_XXX variable set flag.
- */
-
-static int assign_var_mode( int parsenum, char const * * tracetext )
-{
-    char const * trace;
-    int          setflag;
-    switch ( parsenum )
-    {
-        case ASSIGN_SET    : setflag = VAR_SET    ; trace = "=" ; break;
-        case ASSIGN_APPEND : setflag = VAR_APPEND ; trace = "+="; break;
-        case ASSIGN_DEFAULT: setflag = VAR_DEFAULT; trace = "?="; break;
-        default:             setflag = VAR_SET    ; trace = ""  ; break;
-    }
-    if ( tracetext )
-        *tracetext = trace ;
-    return setflag;
-}
-
-/*
- * compile_set() - compile the "set variable" statement
- *
- *  parse->left variable names
- *  parse->right    variable values
- *  parse->num  ASSIGN_SET/APPEND/DEFAULT
- */
-
-LIST * compile_set( PARSE * parse, FRAME * frame )
-{
-    LIST       * nt = parse_evaluate( parse->left, frame );
-    LIST       * ns = parse_evaluate( parse->right, frame );
-    LIST       * l;
-    char const * trace;
-    int          setflag = assign_var_mode( parse->num, &trace );
-
-    if ( DEBUG_COMPILE )
-    {
-        debug_compile( 0, "set", frame );
-        list_print( nt );
-        printf( " %s ", trace );
-        list_print( ns );
-        printf( "\n" );
-    }
-
-    /* Call var_set to set variable. var_set keeps ns, so need to copy it. */
-    for ( l = nt; l; l = list_next( l ) )
-        var_set( l->string, list_copy( L0, ns ), setflag );
-    list_free( nt );
-    return ns;
-}
-
-
-/*
- * compile_setcomp() - support for `rule` - save parse tree.
- *
- *  parse->string  rule name
- *  parse->left    rules for rule
- *  parse->right   optional list-of-lists describing arguments
- */
-
-LIST * compile_setcomp( PARSE * parse, FRAME * frame )
-{
-    argument_list * arg_list = 0;
-
-    /* Create new LOL describing argument requirements if supplied. */
-    if ( parse->right )
-    {
-        PARSE * p;
-        arg_list = args_new();
-        for ( p = parse->right; p; p = p->left )
-            lol_add( arg_list->data, parse_evaluate( p->right, frame ) );
-    }
-
-    new_rule_body( frame->module, parse->string, arg_list, parse->left, !parse->num );
-    return L0;
-}
-
-
-/*
- * compile_setexec() - support for `actions` - save execution string.
- *
- *  parse->string   rule name
- *  parse->string1  OS command string
- *  parse->num      flags
- *  parse->left     `bind` variables
- *
- * Note that the parse flags (as defined in compile.h) are transferred directly
- * to the rule flags (as defined in rules.h).
- */
-
-LIST * compile_setexec( PARSE * parse, FRAME * frame )
-{
-    LIST * bindlist = parse_evaluate( parse->left, frame );
-    new_rule_actions( frame->module, parse->string, parse->string1, bindlist, parse->num );
-    return L0;
-}
-
-
-/*
- * compile_settings() - compile the "on =" (set variable on exec) statement.
- *
- *  parse->left   variable names
- *  parse->right  target name
- *  parse->third  variable value
- *  parse->num    ASSIGN_SET/APPEND
- */
-
-LIST * compile_settings( PARSE * parse, FRAME * frame )
-{
-    LIST       * nt = parse_evaluate( parse->left, frame );
-    LIST       * ns = parse_evaluate( parse->third, frame );
-    LIST       * targets = parse_evaluate( parse->right, frame );
-    LIST       * ts;
-    char const * trace;
-    int          setflag = assign_var_mode( parse->num, &trace );
-
-    if ( DEBUG_COMPILE )
-    {
-        debug_compile( 0, "set", frame );
-        list_print( nt );
-        printf( " on " );
-        list_print( targets );
-        printf( " %s ", trace );
-        list_print( ns );
-        printf( "\n" );
-    }
-
-    /* Call addsettings() to save variable setting. addsettings() keeps ns, so
-     * need to copy it. Pass append flag to addsettings().
-     */
-    for ( ts = targets; ts; ts = list_next( ts ) )
-    {
-        TARGET * t = bindtarget( ts->string );
-        LIST   * l;
-
-        for ( l = nt; l; l = list_next( l ) )
-        t->settings = addsettings( t->settings, setflag, l->string,
-            list_copy( (LIST *)0, ns ) );
-    }
-
-    list_free( nt );
-    list_free( targets );
-    return ns;
-}
-
-
-/*
- * compile_switch() - compile 'switch' rule.
- *
- *  parse->left   switch value (only 1st used)
- *  parse->right  cases
- *
- *  cases->left   1st case
- *  cases->right  next cases
- *
- *  case->string  argument to match
- *  case->left    parse tree to execute
- */
-
-LIST * compile_switch( PARSE * parse, FRAME * frame )
-{
-    LIST * nt = parse_evaluate( parse->left, frame );
-    LIST * result = 0;
-
-    if ( DEBUG_COMPILE )
-    {
-        debug_compile( 0, "switch", frame );
-        list_print( nt );
-        printf( "\n" );
-    }
-
-    /* Step through cases. */
-    for ( parse = parse->right; parse; parse = parse->right )
-    {
-        if ( !glob( parse->left->string, nt ? nt->string : "" ) )
-        {
-            /* Get & exec parse tree for this case. */
-            parse = parse->left->left;
-            result = parse_evaluate( parse, frame );
-            break;
-        }
-    }
-
-    list_free( nt );
-    return result;
-}
-
-
-/*
- * debug_compile() - printf with indent to show rule expansion.
- */
-
-static void debug_compile( int which, char * s, FRAME * frame )
-{
-    static int level = 0;
-    static char indent[36] = ">>>>|>>>>|>>>>|>>>>|>>>>|>>>>|>>>>|";
-
-    if ( which >= 0 )
-    {
-        int i;
-
-        print_source_line( frame->procedure );
-
-        i = ( level + 1 ) * 2;
-        while ( i > 35 )
-        {
-            fputs( indent, stdout );
-            i -= 35;
-        }
-
-        printf( "%*.*s ", i, i, indent );
-    }
-
-    if ( s )
-        printf( "%s ", s );
-
-    level += which;
-}
diff --git a/SRC/Boost/tools/build/v2/engine/compile.h b/SRC/Boost/tools/build/v2/engine/compile.h
deleted file mode 100755
index bea5080..0000000
--- a/SRC/Boost/tools/build/v2/engine/compile.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright 1993, 2000 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-#ifndef COMPILE_DWA20011022_H
-# define COMPILE_DWA20011022_H
-
-# include "frames.h"
-# include "parse.h"
-# include "regexp.h"
-
-/*
- * compile.h - compile parsed jam statements
- */
-
-void compile_builtins();
-
-LIST *compile_append( PARSE *parse, FRAME *frame );
-LIST *compile_foreach( PARSE *parse, FRAME *frame );
-LIST *compile_if( PARSE *parse, FRAME *frame );
-LIST *compile_eval( PARSE *parse, FRAME *args );
-LIST *compile_include( PARSE *parse, FRAME *frame );
-LIST *compile_list( PARSE *parse, FRAME *frame );
-LIST *compile_local( PARSE *parse, FRAME *frame );
-LIST *compile_module( PARSE *parse, FRAME *frame );
-LIST *compile_class( PARSE *parse, FRAME *frame );
-LIST *compile_null( PARSE *parse, FRAME *frame );
-LIST *compile_on( PARSE *parse, FRAME *frame );
-LIST *compile_rule( PARSE *parse, FRAME *frame );
-LIST *compile_rules( PARSE *parse, FRAME *frame );
-LIST *compile_set( PARSE *parse, FRAME *frame );
-LIST *compile_setcomp( PARSE *parse, FRAME *frame );
-LIST *compile_setexec( PARSE *parse, FRAME *frame );
-LIST *compile_settings( PARSE *parse, FRAME *frame );
-LIST *compile_switch( PARSE *parse, FRAME *frame );
-LIST *compile_while( PARSE *parse, FRAME *frame );
-
-LIST *evaluate_rule( char *rulename, FRAME *frame );
-LIST *call_rule( char *rulename, FRAME* caller_frame, ...);
-
-regexp* regex_compile( const char* pattern );
-
-/* Flags for compile_set(), etc */
-
-# define ASSIGN_SET 0x00    /* = assign variable */
-# define ASSIGN_APPEND  0x01    /* += append variable */
-# define ASSIGN_DEFAULT 0x02    /* set only if unset */
-
-/* Flags for compile_setexec() */
-
-# define EXEC_UPDATED   0x01    /* executes updated */
-# define EXEC_TOGETHER  0x02    /* executes together */
-# define EXEC_IGNORE    0x04    /* executes ignore */
-# define EXEC_QUIETLY   0x08    /* executes quietly */
-# define EXEC_PIECEMEAL 0x10    /* executes piecemeal */
-# define EXEC_EXISTING  0x20    /* executes existing */
-
-/* Conditions for compile_if() */
-
-# define EXPR_NOT   0   /* ! cond */
-# define EXPR_AND   1   /* cond && cond */
-# define EXPR_OR    2   /* cond || cond */
-
-# define EXPR_EXISTS    3   /* arg */
-# define EXPR_EQUALS    4   /* arg = arg */
-# define EXPR_NOTEQ 5   /* arg != arg */
-# define EXPR_LESS  6   /* arg < arg  */
-# define EXPR_LESSEQ    7   /* arg <= arg */
-# define EXPR_MORE  8   /* arg > arg  */
-# define EXPR_MOREEQ    9   /* arg >= arg */
-# define EXPR_IN    10  /* arg in arg */
-
-#endif
-
diff --git a/SRC/Boost/tools/build/v2/engine/debian/changelog b/SRC/Boost/tools/build/v2/engine/debian/changelog
deleted file mode 100755
index d577f50..0000000
--- a/SRC/Boost/tools/build/v2/engine/debian/changelog
+++ /dev/null
@@ -1,72 +0,0 @@
-bjam (3.1.12-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Rene Rivera <grafik at redshift-software.com>  Sat, 01 Oct 2005 00:00:00 +0000
-
-bjam (3.1.11-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Rene Rivera <grafik at redshift-software.com>  Sat, 30 Apr 2005 00:00:00 +0000
-
-bjam (3.1.10-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Rene Rivera <grafik at redshift-software.com>  Tue, 1 Jun 2004 05:42:35 +0000
-
-bjam (3.1.9-2) unstable; urgency=low
-
-  * Use default value of BOOST_BUILD_PATH is not is set in environment.
-
- -- Vladimir Prus <ghost at zigzag.lvk.cs.msu.su>  Wed, 17 Dec 2003 16:44:35 +0300
-
-bjam (3.1.9-1) unstable; urgency=low
-
-  * Implement NATIVE_FILE builtin and several native rules.
-
- -- Vladimir Prus <ghost at zigzag.lvk.cs.msu.su>  Thu, 11 Dec 2003 13:15:26 +0300
-
-bjam (3.1.8-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Vladimir Prus <ghost at zigzag.lvk.cs.msu.su>  Tue,  4 Nov 2003 20:50:43 +0300
-
-bjam (3.1.7-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Vladimir Prus <ghost at zigzag.lvk.cs.msu.su>  Thu, 11 Sep 2003 10:45:44 +0400
-
-bjam (3.1.6-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Vladimir Prus <ghost at zigzag.lvk.cs.msu.su>  Tue,  1 Jul 2003 09:12:18 +0400
-
-bjam (3.1.5-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Vladimir Prus <ghost at zigzag.lvk.cs.msu.su>  Mon, 19 May 2003 14:05:13 +0400
-
-bjam (3.1.3-2) unstable; urgency=low
-
-  * Changed Debian package to be similar to Jam's package.
-
- -- Vladimir Prus <ghost at cs.msu.su>  Thu, 10 Oct 2002 18:43:26 +0400
-
-bjam (3.1.3-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Vladimir Prus <ghost at zigzag.lvk.cs.msu.su>  Fri,  4 Oct 2002 18:16:54 +0400
-
-bjam (3.1.2-1) unstable; urgency=low
-
-  * Initial Release.
-
- -- Vladimir Prus <ghost at cs.msu.su>  Wed, 14 Aug 2002 14:08:00 +0400
-
diff --git a/SRC/Boost/tools/build/v2/engine/debian/control b/SRC/Boost/tools/build/v2/engine/debian/control
deleted file mode 100755
index 0755ef2..0000000
--- a/SRC/Boost/tools/build/v2/engine/debian/control
+++ /dev/null
@@ -1,16 +0,0 @@
-Source: bjam
-Section: devel
-Priority: optional
-Maintainer: Vladimir Prus <ghost at cs.msu.su>
-Build-Depends: debhelper (>> 3.0.0), docbook-to-man, bison
-Standards-Version: 3.5.2
-
-Package: bjam
-Architecture: any
-Depends: ${shlibs:Depends}
-Description: Build tool 
- Boost.Jam is a portable build tool with its own interpreted language, which 
- allows to implement rather complex logic in a readable way and without 
- resorting to external programs. It is a descendant of Jam/MR tool modified to 
- suit the needs of Boost.Build. In particular, modules and rule parameters
- were added, as well as several new builtins.
diff --git a/SRC/Boost/tools/build/v2/engine/debian/copyright b/SRC/Boost/tools/build/v2/engine/debian/copyright
deleted file mode 100755
index 7fbc15c..0000000
--- a/SRC/Boost/tools/build/v2/engine/debian/copyright
+++ /dev/null
@@ -1,25 +0,0 @@
-This package was debianized by Vladimir Prus <ghost at cs.msu.su> on
-Wed, 17 July 2002, 19:27:00 +0400.
-
-Copyright:
-
-    /+\
-    +\	Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
-    \+/
-
-    This is Release 2.4 of Jam/MR, a make-like program.
-
-    License is hereby granted to use this software and distribute it
-    freely, as long as this copyright notice is retained and modifications 
-    are clearly marked.
-
-    ALL WARRANTIES ARE HEREBY DISCLAIMED.
-
-Some portions are also:
-
-    Copyright 2001-2006 David Abrahams.
-    Copyright 2002-2006 Rene Rivera.
-    Copyright 2003-2006 Vladimir Prus.
-    
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
diff --git a/SRC/Boost/tools/build/v2/engine/debian/jam.man.sgml b/SRC/Boost/tools/build/v2/engine/debian/jam.man.sgml
deleted file mode 100755
index 67b5a5d..0000000
--- a/SRC/Boost/tools/build/v2/engine/debian/jam.man.sgml
+++ /dev/null
@@ -1,236 +0,0 @@
-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-
-<!-- Process this file with docbook-to-man to generate an nroff manual
-     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
-     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
-     less'.  A typical entry in a Makefile or Makefile.am is:
-
-manpage.1: manpage.sgml
-	docbook-to-man $< > $@
-  -->
-
-  <!ENTITY dhfirstname "<firstname>Yann</firstname>">
-  <!ENTITY dhsurname   "<surname>Dirson</surname>">
-  <!-- Please adjust the date whenever revising the manpage. -->
-  <!ENTITY dhdate      "<date>mai 23, 2001</date>">
-  <!ENTITY dhemail     "<email>dirson at debian.org</email>">
-  <!ENTITY dhusername  "Yann Dirson">
-  <!ENTITY dhpackage   "jam">
-
-  <!ENTITY debian      "<productname>Debian GNU/Linux</productname>">
-  <!ENTITY gnu         "<acronym>GNU</acronym>">
-]>
-
-<refentry>
-  <refentryinfo>
-    <address>
-      &dhemail;
-    </address>
-    <author>
-      &dhfirstname;
-      &dhsurname;
-    </author>
-    <copyright>
-      <year>2001</year>
-      <holder>&dhusername;</holder>
-    </copyright>
-    &dhdate;
-  </refentryinfo>
-
-  <refmeta>
-    <refentrytitle>JAM</refentrytitle>
-    <manvolnum>1</manvolnum>
-  </refmeta>
-
-  <refnamediv>
-    <refname>Jam/MR</refname>
-    <refpurpose>Make(1) Redux</refpurpose>
-  </refnamediv>
-
-  <refsynopsisdiv>
-    <cmdsynopsis>
-      <command>jam</command>
-
-      <arg><option>-a</option></arg>
-      <arg><option>-n</option></arg>
-      <arg><option>-v</option></arg>
-
-      <arg><option>-d <replaceable/debug/</option></arg>
-      <arg><option>-f <replaceable/jambase/</option></arg>
-      <arg><option>-j <replaceable/jobs/</option></arg>
-      <arg><option>-o <replaceable/actionsfile/</option></arg>
-      <arg><option>-s <replaceable/var/=<replaceable/value/</option></arg>
-      <arg><option>-t <replaceable/target/</option></arg>
-
-      <arg repeat><option><replaceable/target/</option></arg>
-    </cmdsynopsis>
-  </refsynopsisdiv>
-
-  <refsect1>
-    <title>DESCRIPTION</title>
-
-    <para>Jam is a program construction tool, like make(1).</para>
-
-    <para>Jam recursively builds target files from source files, using
-    dependency information and updating actions expressed in the
-    Jambase file, which is written in jam's own interpreted language.
-    The default Jambase is compiled into jam and provides a
-    boilerplate for common use, relying on a user-provide file
-    "Jamfile" to enumerate actual targets and sources.</para>
-  </refsect1>
-
-  <refsect1>
-    <title>OPTIONS</title>
-
-    <variablelist>
-      <varlistentry>
-        <term><option/-a/</term>
-        <listitem>
-          <para>Build all targets anyway, even if they are up-to-date.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><option>-d <replaceable/n/</option></term>
-        <listitem>
-          <para>Enable cummulative debugging levels from 1 to
-	    <replaceable/n/. Interesting values are:
-
-	    <glosslist>
-	      <glossentry><glossterm/1/ <glossdef><simpara/Show
-	      actions (the default)/</glossdef></glossentry>
-
-	      <glossentry><glossterm/2/ <glossdef><simpara/Show
-	      "quiet" actions and display all action
-	      text/</glossdef></glossentry>
-
-	      <glossentry><glossterm/3/ <glossdef><simpara>Show
-	      dependency analysis, and target/source
-	      timestamps/paths</simpara></glossdef></glossentry>
-
-	      <glossentry><glossterm/4/ <glossdef><simpara/Show shell
-	      arguments/</glossdef></glossentry>
-
-	      <glossentry><glossterm/5/ <glossdef><simpara/Show rule
-	      invocations and variable
-	      expansions/</glossdef></glossentry>
-
-	      <glossentry><glossterm/6/ <glossdef><simpara>Show
-	      directory/header file/archive
-	      scans</simpara></glossdef></glossentry>
-
-	      <glossentry><glossterm/7/ <glossdef><simpara/Show
-	      variable settings/</glossdef></glossentry>
-
-	      <glossentry><glossterm/8/ <glossdef><simpara/Show
-	      variable fetches/</glossdef></glossentry>
-
-	      <glossentry><glossterm/9/ <glossdef><simpara/Show
-	      variable manipulation, scanner
-	      tokens/</glossdef></glossentry>
-	    </glosslist>
-	  </para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><option>-d +<replaceable/n/</option></term>
-        <listitem>
-          <para>Enable debugging level <replaceable/n/.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><option/-d 0/</term>
-        <listitem>
-          <para>Turn off all debugging levels. Only errors are not
-          suppressed.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><option>-f <replaceable/jambase/</option></term>
-        <listitem>
-          <para>Read <replaceable/jambase/ instead of using the
-          built-in Jambase. Only one <option/-f/ flag is permitted,
-          but the <replaceable/jambase/ may explicitly include other
-          files.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><option>-j <replaceable/n/</option></term>
-        <listitem>
-          <para>Run up to <replaceable/n/ shell commands concurrently
-          (UNIX and NT only). The default is 1.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><option/-n/</term>
-        <listitem>
-          <para>Don't actually execute the updating actions, but do
-          everything else. This changes the debug level default to
-          <option/-d2/.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><option>-o <replaceable/file/</option></term>
-        <listitem>
-          <para>Write the updating actions to the specified file
-          instead of running them (or outputting them, as on the
-          Mac).</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><option>-s <replaceable/var/=<replaceable/value/</option></term>
-        <listitem>
-          <para>Set the variable <replaceable/var/ to
-          <replaceable/value/, overriding both internal variables and
-          variables imported from the environment. </para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><option>-t <replaceable/target/</option></term>
-        <listitem>
-          <para>Rebuild <replaceable/target/ and everything that
-          depends on it, even if it is up-to-date.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><option/-v/</term>
-        <listitem>
-          <para>Print the version of jam and exit.</para>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-  </refsect1>
-
-  <refsect1>
-    <title>SEE ALSO</title>
-
-    <para>Jam is documented fully in HTML pages available on Debian
-    systems from
-    <filename>/usr/share/doc/jam/Jam.html</filename>.</para>
-  </refsect1>
-
-  <refsect1>
-    <title>AUTHOR</title>
-
-    <para>This manual page was created by &dhusername; &dhemail; from
-    the <filename/Jam.html/ documentation, for the &debian; system
-    (but may be used by others).</para>
-  </refsect1>
-</refentry>
-
-<!-- Keep this comment at the end of the file
-Local variables:
-sgml-omittag:t
-sgml-shorttag:t
-End:
--->
diff --git a/SRC/Boost/tools/build/v2/engine/debian/rules b/SRC/Boost/tools/build/v2/engine/debian/rules
deleted file mode 100755
index b2edb0d..0000000
--- a/SRC/Boost/tools/build/v2/engine/debian/rules
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/make -f
-# Sample debian/rules that uses debhelper.
-# GNU copyright 1997 to 1999 by Joey Hess.
-# GNU copyright 2001 by Yann Dirson.
-
-# This is the debian/rules file for packages jam and ftjam
-# It should be usable with both packages without any change
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-# This is the debhelper compatability version to use.
-export DH_COMPAT=3
-
-topdir=$(shell pwd)
-
-jam=bjam
-binname=bjam
-
-build: build-stamp
-build-stamp: debian/jam.1
-	dh_testdir
-
-	./build.sh
-
-	touch build-stamp
-
-%.1: %.man.sgml
-	/usr/bin/docbook-to-man $< > $@
-
-clean:
-	dh_testdir
-	dh_testroot
-	rm -f build-stamp
-	rm -rf bin.*
-	rm -f jam0 debian/jam.1
-	dh_clean
-
-install: build
-	dh_testdir
-	dh_testroot
-	dh_clean -k
-	dh_installdirs
-
-	install -d ${topdir}/debian/${jam}/usr/bin
-	install -m755 bin.linuxx86/bjam ${topdir}/debian/${jam}/usr/bin/
-	install -d ${topdir}/debian/${jam}/usr/share/man/man1/
-	install -m644 debian/jam.1 ${topdir}/debian/${jam}/usr/share/man/man1/${binname}.1
-
-
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
-	dh_testdir
-	dh_testroot
-	dh_installdocs README RELNOTES Jambase *.html
-#	dh_installemacsen
-#	dh_undocumented
-	dh_installchangelogs 
-	dh_strip
-	dh_compress
-	dh_fixperms
-	dh_installdeb
-	dh_shlibdeps
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/SRC/Boost/tools/build/v2/engine/debug.c b/SRC/Boost/tools/build/v2/engine/debug.c
deleted file mode 100755
index eb43bf3..0000000
--- a/SRC/Boost/tools/build/v2/engine/debug.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-    Copyright Rene Rivera 2005.
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#include "jam.h"
-
-#include "hash.h"
-
-#include <time.h>
-#include <assert.h>
-
-
-static profile_frame * profile_stack = 0;
-static struct hash   * profile_hash  = 0;
-static profile_info    profile_other = { "[OTHER]", 0, 0, 0, 0, 0 };
-static profile_info    profile_total = { "[TOTAL]", 0, 0, 0, 0, 0 };
-
-
-profile_frame * profile_init( char * rulename, profile_frame * frame )
-{
-    if ( DEBUG_PROFILE ) profile_enter( rulename, frame );
-    return frame;
-}
-
-
-void profile_enter( char * rulename, profile_frame * frame )
-{
-    if ( DEBUG_PROFILE )
-    {
-        clock_t start = clock();
-        profile_info info;
-        profile_info * p = &info;
-
-        if ( !rulename ) p = &profile_other;
-
-        if ( !profile_hash && rulename )
-            profile_hash = hashinit( sizeof( profile_info ), "profile" );
-
-        info.name = rulename;
-
-        if ( rulename && hashenter( profile_hash, (HASHDATA * *)&p ) )
-            p->cumulative = p->net = p->num_entries = p->stack_count = p->memory = 0;
-
-        ++p->num_entries;
-        ++p->stack_count;
-
-        frame->info = p;
-
-        frame->caller = profile_stack;
-        profile_stack = frame;
-
-        frame->entry_time = clock();
-        frame->overhead = 0;
-        frame->subrules = 0;
-
-        /* caller pays for the time it takes to play with the hash table */
-        if ( frame->caller )
-            frame->caller->overhead += frame->entry_time - start;
-    }
-}
-
-
-void profile_memory( long mem )
-{
-    if ( DEBUG_PROFILE )
-        if ( profile_stack && profile_stack->info )
-            profile_stack->info->memory += mem;
-}
-
-
-void profile_exit( profile_frame * frame )
-{
-    if ( DEBUG_PROFILE )
-    {
-        /* Cumulative time for this call. */
-        clock_t t = clock() - frame->entry_time - frame->overhead;
-        /* If this rule is already present on the stack, don't add the time for
-         * this instance.
-         */
-        if ( frame->info->stack_count == 1 )
-            frame->info->cumulative += t;
-        /* Net time does not depend on presense of the same rule in call stack.
-         */
-        frame->info->net += t - frame->subrules;
-
-        if ( frame->caller )
-        {
-            /* Caller's cumulative time must account for this overhead. */
-            frame->caller->overhead += frame->overhead;
-            frame->caller->subrules += t;
-        }
-        /* Pop this stack frame. */
-        --frame->info->stack_count;
-        profile_stack = frame->caller;
-    }
-}
-
-
-static void dump_profile_entry( void * p_, void * ignored )
-{
-    profile_info * p = (profile_info *)p_;
-    unsigned long mem_each = ( p->memory / ( p->num_entries ? p->num_entries : 1 ) );
-    double cumulative = p->cumulative;
-    double net = p->net;
-    double q = p->net;
-    q /= ( p->num_entries ? p->num_entries : 1 );
-    cumulative /= CLOCKS_PER_SEC;
-    net /= CLOCKS_PER_SEC;
-    q /= CLOCKS_PER_SEC;
-    if ( !ignored )
-    {
-        profile_total.cumulative += p->net;
-        profile_total.memory += p->memory;
-    }
-    printf( "%10ld %12.6f %12.6f %12.8f %10ld %10ld %s\n", p->num_entries,
-        cumulative, net, q, p->memory, mem_each, p->name );
-}
-
-
-void profile_dump()
-{
-    if ( profile_hash )
-    {
-        printf( "%10s %12s %12s %12s %10s %10s %s\n", "--count--", "--gross--",
-            "--net--", "--each--", "--mem--", "--each--", "--name--" );
-        hashenumerate( profile_hash, dump_profile_entry, 0 );
-        dump_profile_entry( &profile_other, 0 );
-        dump_profile_entry( &profile_total, (void *)1 );
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/engine/debug.h b/SRC/Boost/tools/build/v2/engine/debug.h
deleted file mode 100755
index bfac804..0000000
--- a/SRC/Boost/tools/build/v2/engine/debug.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-    Copyright Rene Rivera 2005.
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-*/
-#ifndef BJAM_DEBUG_H
-#define BJAM_DEBUG_H
-
-#include "jam.h"
-#include <time.h>
-
-
-struct profile_info
-{
-    /* name of rule being called */
-    char* name;
-    /* cumulative time spent in rule */
-    clock_t cumulative;
-    /* time spent in rule proper */
-    clock_t net;
-    /* number of time rule was entered */
-    unsigned long num_entries;
-    /* number of the times this function is present in stack */
-    unsigned long stack_count;
-    /* bytes of memory allocated by the call */
-    unsigned long memory;
-};
-typedef struct profile_info profile_info;
-
-struct profile_frame
-{
-    /* permanent storage where data accumulates */
-    profile_info* info;
-    /* overhead for profiling in this call */
-    clock_t overhead;
-    /* time of last entry to rule */
-    clock_t entry_time;
-    /* stack frame of caller */
-    struct profile_frame* caller;
-    /* time spent in subrules */
-    clock_t subrules;
-};
-typedef struct profile_frame profile_frame;
-
-profile_frame * profile_init( char * rulename, profile_frame * frame );
-void profile_enter( char* rulename, profile_frame * frame );
-void profile_memory( long mem );
-void profile_exit( profile_frame * frame );
-void profile_dump();
-
-#define PROFILE_ENTER( scope ) profile_frame PROF_ ## scope, *PROF_ ## scope ## _p = profile_init( #scope, &PROF_ ## scope )
-#define PROFILE_EXIT( scope ) profile_exit( PROF_ ## scope ## _p )
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/execcmd.h b/SRC/Boost/tools/build/v2/engine/execcmd.h
deleted file mode 100755
index 9c7da9c..0000000
--- a/SRC/Boost/tools/build/v2/engine/execcmd.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * execcmd.h - execute a shell script.
- *
- * Defines the interface to be implemented in platform specific implementation
- * modules.
- *
- * 05/04/94 (seiwald) - async multiprocess interface
- */
-
-#ifndef EXECCMD_H
-#define EXECCMD_H
-
-#include <time.h>
-
-typedef struct timing_info
-{
-    double system;
-    double user;
-    time_t start;
-    time_t end;
-} timing_info;
-
-void exec_cmd
-(
-    char * string,
-    void (* func)( void * closure, int status, timing_info *, char *, char * ),
-    void * closure,
-    LIST * shell,
-    char * action,
-    char * target
-);
-
-int exec_wait();
-
-#define EXEC_CMD_OK    0
-#define EXEC_CMD_FAIL  1
-#define EXEC_CMD_INTR  2
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/execmac.c b/SRC/Boost/tools/build/v2/engine/execmac.c
deleted file mode 100755
index ae77944..0000000
--- a/SRC/Boost/tools/build/v2/engine/execmac.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-#include "jam.h"
-#include "lists.h"
-#include "execcmd.h"
-#include <errno.h>
-
-#ifdef OS_MAC
-
-/*
- * execunix.c - execute a shell script on UNIX
- *
- * If $(JAMSHELL) is defined, uses that to formulate execvp().
- * The default is:
- *
- *  /bin/sh -c %
- *
- * Each word must be an individual element in a jam variable value.
- *
- * In $(JAMSHELL), % expands to the command string and ! expands to
- * the slot number (starting at 1) for multiprocess (-j) invocations.
- * If $(JAMSHELL) doesn't include a %, it is tacked on as the last
- * argument.
- *
- * Don't just set JAMSHELL to /bin/sh - it won't work!
- *
- * External routines:
- *  exec_cmd()  - launch an async command execution.
- *  exec_wait() - wait and drive at most one execution completion.
- *
- * Internal routines:
- *  onintr() - bump intr to note command interruption.
- *
- * 04/08/94 (seiwald) - Coherent/386 support added.
- * 05/04/94 (seiwald) - async multiprocess interface
- * 01/22/95 (seiwald) - $(JAMSHELL) support
- */
-
-
-/*
- * exec_cmd() - launch an async command execution.
- */
-
-void exec_cmd
-(
-    char * string,
-    void (* func)( void * closure, int status, timing_info *, char *, char * ),
-    void * closure,
-    LIST * shell
-)
-{
-    printf( "%s", string );
-    (*func)( closure, EXEC_CMD_OK );
-}
-
-/*
- * exec_wait() - wait and drive at most one execution completion.
- */
-
-int exec_wait()
-{
-    return 0;
-}
-
-#endif /* OS_MAC */
diff --git a/SRC/Boost/tools/build/v2/engine/execnt.c b/SRC/Boost/tools/build/v2/engine/execnt.c
deleted file mode 100755
index 05e2058..0000000
--- a/SRC/Boost/tools/build/v2/engine/execnt.c
+++ /dev/null
@@ -1,1296 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Copyright 2007 Rene Rivera.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-#include "jam.h"
-#include "lists.h"
-#include "execcmd.h"
-#include "pathsys.h"
-#include "string.h"
-#include "output.h"
-#include <errno.h>
-#include <assert.h>
-#include <ctype.h>
-#include <time.h>
-#include <math.h>
-
-#ifdef USE_EXECNT
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <process.h>
-#include <tlhelp32.h>
-
-/*
- * execnt.c - execute a shell command on Windows NT
- *
- * If $(JAMSHELL) is defined, uses that to formulate execvp()/spawnvp().
- * The default is:
- *
- *  /bin/sh -c %        [ on UNIX/AmigaOS ]
- *  cmd.exe /c %        [ on Windows NT ]
- *
- * Each word must be an individual element in a jam variable value.
- *
- * In $(JAMSHELL), % expands to the command string and ! expands to
- * the slot number (starting at 1) for multiprocess (-j) invocations.
- * If $(JAMSHELL) doesn't include a %, it is tacked on as the last
- * argument.
- *
- * Don't just set JAMSHELL to /bin/sh or cmd.exe - it won't work!
- *
- * External routines:
- *  exec_cmd() - launch an async command execution.
- *  exec_wait() - wait and drive at most one execution completion.
- *
- * Internal routines:
- *  onintr() - bump intr to note command interruption.
- *
- * 04/08/94 (seiwald) - Coherent/386 support added.
- * 05/04/94 (seiwald) - async multiprocess interface
- * 01/22/95 (seiwald) - $(JAMSHELL) support
- * 06/02/97 (gsar)    - full async multiprocess support for Win32
- */
-
-/* get the maximum command line length according to the OS */
-int maxline();
-
-/* delete and argv list */
-static void free_argv(char**);
-/* Convert a command string into arguments for spawnvp. */
-static char** string_to_args(const char*);
-/* bump intr to note command interruption */
-static void onintr(int);
-/* If the command is suitable for execution via spawnvp */
-long can_spawn(char*);
-/* Add two 64-bit unsigned numbers, h1l1 and h2l2 */
-static FILETIME add_64(
-    unsigned long h1, unsigned long l1,
-    unsigned long h2, unsigned long l2);
-static FILETIME add_FILETIME(FILETIME t1, FILETIME t2);
-static FILETIME negate_FILETIME(FILETIME t);
-/* Convert a FILETIME to a number of seconds */
-static double filetime_seconds(FILETIME t);
-/* record the timing info for the process */
-static void record_times(HANDLE, timing_info*);
-/* calc the current running time of an *active* process */
-static double running_time(HANDLE);
-/* */
-DWORD get_process_id(HANDLE);
-/* terminate the given process, after terminating all its children */
-static void kill_process_tree(DWORD, HANDLE);
-/* waits for a command to complete or for the given timeout, whichever is first */
-static int try_wait(int timeoutMillis);
-/* reads any pending output for running commands */
-static void read_output();
-/* checks if a command ran out of time, and kills it */
-static int try_kill_one();
-/* */
-static double creation_time(HANDLE);
-/* Recursive check if first process is parent (directly or indirectly) of
-the second one. */
-static int is_parent_child(DWORD, DWORD);
-/* */
-static void close_alert(HANDLE);
-/* close any alerts hanging around */
-static void close_alerts();
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
-static int intr = 0;
-static int cmdsrunning = 0;
-static void (* istat)( int );
-
-
-/* The list of commands we run. */
-static struct
-{
-    string action;   /* buffer to hold action */
-    string target;   /* buffer to hold target */
-    string command;  /* buffer to hold command being invoked */
-
-    /* Temporary batch file used to execute the action when needed. */
-    char * tempfile_bat;
-
-    /* Pipes for communicating with the child process. Parent reads from (0),
-     * child writes to (1).
-     */
-    HANDLE pipe_out[ 2 ];
-    HANDLE pipe_err[ 2 ];
-
-    string              buffer_out;   /* buffer to hold stdout, if any */
-    string              buffer_err;   /* buffer to hold stderr, if any */
-
-    PROCESS_INFORMATION pi;           /* running process information */
-    DWORD               exit_code;    /* executed command's exit code */
-    int                 exit_reason;  /* reason why a command completed */
-
-    /* Function called when the command completes. */
-    void (* func)( void * closure, int status, timing_info *, char *, char * );
-
-    /* Opaque data passed back to the 'func' callback called when the command
-     * completes.
-     */
-    void * closure;
-}
-cmdtab[ MAXJOBS ] = { { 0 } };
-
-
-/*
- * Execution unit tests.
- */
-
-void execnt_unit_test()
-{
-#if !defined( NDEBUG )
-    /* vc6 preprocessor is broken, so assert with these strings gets confused.
-     * Use a table instead.
-     */
-    typedef struct test { char * command; int result; } test;
-    test tests[] = {
-        { "x", 0 },
-        { "x\n ", 0 },
-        { "x\ny", 1 },
-        { "x\n\n y", 1 },
-        { "echo x > foo.bar", 1 },
-        { "echo x < foo.bar", 1 },
-        { "echo x \">\" foo.bar", 0 },
-        { "echo x \"<\" foo.bar", 0 },
-        { "echo x \\\">\\\" foo.bar", 1 },
-        { "echo x \\\"<\\\" foo.bar", 1 } };
-    int i;
-    for ( i = 0; i < sizeof( tests ) / sizeof( *tests ); ++i )
-        assert( !can_spawn( tests[ i ].command ) == tests[ i ].result );
-
-    {
-        char * long_command = BJAM_MALLOC_ATOMIC( MAXLINE + 10 );
-        assert( long_command != 0 );
-        memset( long_command, 'x', MAXLINE + 9 );
-        long_command[ MAXLINE + 9 ] = 0;
-        assert( can_spawn( long_command ) == MAXLINE + 9 );
-        BJAM_FREE( long_command );
-    }
-
-    {
-        /* Work around vc6 bug; it doesn't like escaped string
-         * literals inside assert
-         */
-        char * * argv = string_to_args(" \"g++\" -c -I\"Foobar\"" );
-        char const expected[] = "-c -I\"Foobar\"";
-
-        assert( !strcmp( argv[ 0 ], "g++" ) );
-        assert( !strcmp( argv[ 1 ], expected ) );
-        free_argv( argv );
-    }
-#endif
-}
-
-
-/*
- * exec_cmd() - launch an async command execution.
- */
-
-void exec_cmd
-(
-    char * command,
-    void (* func)( void * closure, int status, timing_info *, char * invoked_command, char * command_output ),
-    void * closure,
-    LIST * shell,
-    char * action,
-    char * target
-)
-{
-    int      slot;
-    int      raw_cmd = 0 ;
-    char   * argv_static[ MAXARGC + 1 ];  /* +1 for NULL */
-    char * * argv = argv_static;
-    char   * p;
-    char   * command_orig = command;
-
-    /* Check to see if we need to hack around the line-length limitation. Look
-     * for a JAMSHELL setting of "%", indicating that the command should be
-     * invoked directly.
-     */
-    if ( shell && !strcmp( shell->string, "%" ) && !list_next( shell ) )
-    {
-        raw_cmd = 1;
-        shell = 0;
-    }
-
-    /* Find a slot in the running commands table for this one. */
-    for ( slot = 0; slot < MAXJOBS; ++slot )
-        if ( !cmdtab[ slot ].pi.hProcess )
-            break;
-    if ( slot == MAXJOBS )
-    {
-        printf( "no slots for child!\n" );
-        exit( EXITBAD );
-    }
-
-    /* Compute the name of a temp batch file, for possible use. */
-    if ( !cmdtab[ slot ].tempfile_bat )
-    {
-        char const * tempdir = path_tmpdir();
-        DWORD procID = GetCurrentProcessId();
-
-        /* SVA - allocate 64 bytes extra just to be safe. */
-        cmdtab[ slot ].tempfile_bat = BJAM_MALLOC_ATOMIC( strlen( tempdir ) + 64 );
-
-        sprintf( cmdtab[ slot ].tempfile_bat, "%s\\jam%d-%02d.bat",
-            tempdir, procID, slot );
-    }
-
-    /* Trim leading, -ending- white space */
-    while ( *( command + 1 ) && isspace( *command ) )
-        ++command;
-
-    /* Write to .BAT file unless the line would be too long and it meets the
-     * other spawnability criteria.
-     */
-    if ( raw_cmd && ( can_spawn( command ) >= MAXLINE ) )
-    {
-        if ( DEBUG_EXECCMD )
-            printf("Executing raw command directly\n");
-    }
-    else
-    {
-        FILE * f = 0;
-        int tries = 0;
-        raw_cmd = 0;
-
-        /* Write command to bat file. For some reason this open can fail
-         * intermitently. But doing some retries works. Most likely this is due
-         * to a previously existing file of the same name that happens to be
-         * opened by an active virus scanner. Pointed out and fixed by Bronek
-         * Kozicki.
-         */
-        for ( ; !f && ( tries < 4 ); ++tries )
-        {
-            f = fopen( cmdtab[ slot ].tempfile_bat, "w" );
-            if ( !f && ( tries < 4 ) ) Sleep( 250 );
-        }
-        if ( !f )
-        {
-            printf( "failed to write command file!\n" );
-            exit( EXITBAD );
-        }
-        fputs( command, f );
-        fclose( f );
-
-        command = cmdtab[ slot ].tempfile_bat;
-
-        if ( DEBUG_EXECCMD )
-        {
-            if ( shell )
-                printf( "using user-specified shell: %s", shell->string );
-            else
-                printf( "Executing through .bat file\n" );
-        }
-    }
-
-    /* Formulate argv; If shell was defined, be prepared for % and ! subs.
-     * Otherwise, use stock cmd.exe.
-     */
-    if ( shell )
-    {
-        int i;
-        char jobno[ 4 ];
-        int gotpercent = 0;
-
-        sprintf( jobno, "%d", slot + 1 );
-
-        for ( i = 0; shell && ( i < MAXARGC ); ++i, shell = list_next( shell ) )
-        {
-            switch ( shell->string[ 0 ] )
-            {
-                case '%': argv[ i ] = command; ++gotpercent; break;
-                case '!': argv[ i ] = jobno; break;
-                default : argv[ i ] = shell->string;
-            }
-            if ( DEBUG_EXECCMD )
-                printf( "argv[%d] = '%s'\n", i, argv[ i ] );
-        }
-
-        if ( !gotpercent )
-            argv[ i++ ] = command;
-
-        argv[ i ] = 0;
-    }
-    else if ( raw_cmd )
-    {
-        argv = string_to_args( command );
-    }
-    else
-    {
-        argv[ 0 ] = "cmd.exe";
-        argv[ 1 ] = "/Q/C";  /* anything more is non-portable */
-        argv[ 2 ] = command;
-        argv[ 3 ] = 0;
-    }
-
-    /* Catch interrupts whenever commands are running. */
-    if ( !cmdsrunning++ )
-        istat = signal( SIGINT, onintr );
-
-    /* Start the command. */
-    {
-        SECURITY_ATTRIBUTES sa
-            = { sizeof( SECURITY_ATTRIBUTES ), 0, 0 };
-        SECURITY_DESCRIPTOR sd;
-        STARTUPINFO si
-            = { sizeof( STARTUPINFO ), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-        string cmd;
-
-        /* Init the security data. */
-        InitializeSecurityDescriptor( &sd, SECURITY_DESCRIPTOR_REVISION );
-        SetSecurityDescriptorDacl( &sd, TRUE, NULL, FALSE );
-        sa.lpSecurityDescriptor = &sd;
-        sa.bInheritHandle = TRUE;
-
-        /* Create the stdout, which is also the merged out + err, pipe. */
-        if ( !CreatePipe( &cmdtab[ slot ].pipe_out[ 0 ],
-            &cmdtab[ slot ].pipe_out[ 1 ], &sa, 0 ) )
-        {
-            perror( "CreatePipe" );
-            exit( EXITBAD );
-        }
-
-        /* Create the stdout, which is also the merged out+err, pipe. */
-        if ( globs.pipe_action == 2 )
-        {
-            if ( !CreatePipe( &cmdtab[ slot ].pipe_err[ 0 ],
-                &cmdtab[ slot ].pipe_err[ 1 ], &sa, 0 ) )
-            {
-                perror( "CreatePipe" );
-                exit( EXITBAD );
-            }
-        }
-
-        /* Set handle inheritance off for the pipe ends the parent reads from. */
-        SetHandleInformation( cmdtab[ slot ].pipe_out[ 0 ], HANDLE_FLAG_INHERIT, 0 );
-        if ( globs.pipe_action == 2 )
-            SetHandleInformation( cmdtab[ slot ].pipe_err[ 0 ], HANDLE_FLAG_INHERIT, 0 );
-
-        /* Hide the child window, if any. */
-        si.dwFlags |= STARTF_USESHOWWINDOW;
-        si.wShowWindow = SW_HIDE;
-
-        /* Set the child outputs to the pipes. */
-        si.dwFlags |= STARTF_USESTDHANDLES;
-        si.hStdOutput = cmdtab[ slot ].pipe_out[ 1 ];
-        if ( globs.pipe_action == 2 )
-        {
-            /* Pipe stderr to the action error output. */
-            si.hStdError = cmdtab[ slot ].pipe_err[ 1 ];
-        }
-        else if ( globs.pipe_action == 1 )
-        {
-            /* Pipe stderr to the console error output. */
-            si.hStdError = GetStdHandle( STD_ERROR_HANDLE );
-        }
-        else
-        {
-            /* Pipe stderr to the action merged output. */
-            si.hStdError = cmdtab[ slot ].pipe_out[ 1 ];
-        }
-
-        /* Let the child inherit stdin, as some commands assume it's available. */
-        si.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
-
-        /* Save the operation for exec_wait() to find. */
-        cmdtab[ slot ].func = func;
-        cmdtab[ slot ].closure = closure;
-        if ( action && target )
-        {
-            string_copy( &cmdtab[ slot ].action, action );
-            string_copy( &cmdtab[ slot ].target, target );
-        }
-        else
-        {
-            string_free( &cmdtab[ slot ].action );
-            string_new ( &cmdtab[ slot ].action );
-            string_free( &cmdtab[ slot ].target );
-            string_new ( &cmdtab[ slot ].target );
-        }
-        string_copy( &cmdtab[ slot ].command, command_orig );
-
-        /* Put together the command we run. */
-        {
-            char * * argp = argv;
-            string_new( &cmd );
-            string_copy( &cmd, *(argp++) );
-            while ( *argp )
-            {
-                string_push_back( &cmd, ' ' );
-                string_append( &cmd, *(argp++) );
-            }
-        }
-
-        /* Create output buffers. */
-        string_new( &cmdtab[ slot ].buffer_out );
-        string_new( &cmdtab[ slot ].buffer_err );
-
-        /* Run the command by creating a sub-process for it. */
-        if (
-            ! CreateProcess(
-                NULL                    ,  /* application name               */
-                cmd.value               ,  /* command line                   */
-                NULL                    ,  /* process attributes             */
-                NULL                    ,  /* thread attributes              */
-                TRUE                    ,  /* inherit handles                */
-                CREATE_NEW_PROCESS_GROUP,  /* create flags                   */
-                NULL                    ,  /* env vars, null inherits env    */
-                NULL                    ,  /* current dir, null is our       */
-                                           /* current dir                    */
-                &si                     ,  /* startup info                   */
-                &cmdtab[ slot ].pi         /* child process info, if created */
-                )
-            )
-        {
-            perror( "CreateProcess" );
-            exit( EXITBAD );
-        }
-
-        /* Clean up temporary stuff. */
-        string_free( &cmd );
-    }
-
-    /* Wait until we are under the limit of concurrent commands. Do not trust
-     * globs.jobs alone.
-     */
-    while ( ( cmdsrunning >= MAXJOBS ) || ( cmdsrunning >= globs.jobs ) )
-        if ( !exec_wait() )
-            break;
-
-    if ( argv != argv_static )
-        free_argv( argv );
-}
-
-
-/*
- * exec_wait()
- *  * wait and drive at most one execution completion.
- *  * waits for one command to complete, while processing the i/o for all
- *    ongoing commands.
- *
- *   Returns 0 if called when there were no more commands being executed or 1
- * otherwise.
- */
-
-int exec_wait()
-{
-    int i = -1;
-
-    /* Handle naive make1() which does not know if cmds are running. */
-    if ( !cmdsrunning )
-        return 0;
-
-    /* Wait for a command to complete, while snarfing up any output. */
-    do
-    {
-        /* Check for a complete command, briefly. */
-        i = try_wait(500);
-        /* Read in the output of all running commands. */
-        read_output();
-        /* Close out pending debug style dialogs. */
-        close_alerts();
-        /* Check if a command ran out of time. */
-        if ( i < 0 ) i = try_kill_one();
-    }
-    while ( i < 0 );
-
-    /* We have a command... process it. */
-    --cmdsrunning;
-    {
-        timing_info time;
-        int rstat;
-
-        /* The time data for the command. */
-        record_times( cmdtab[ i ].pi.hProcess, &time );
-
-        /* Clear the temp file. */
-        if ( cmdtab[ i ].tempfile_bat )
-        {
-            unlink( cmdtab[ i ].tempfile_bat );
-            BJAM_FREE( cmdtab[ i ].tempfile_bat );
-            cmdtab[ i ].tempfile_bat = NULL;
-        }
-
-        /* Find out the process exit code. */
-        GetExitCodeProcess( cmdtab[ i ].pi.hProcess, &cmdtab[ i ].exit_code );
-
-        /* The dispossition of the command. */
-        if ( intr )
-            rstat = EXEC_CMD_INTR;
-        else if ( cmdtab[ i ].exit_code != 0 )
-            rstat = EXEC_CMD_FAIL;
-        else
-            rstat = EXEC_CMD_OK;
-
-        /* Output the action block. */
-        out_action(
-            cmdtab[ i ].action.size     > 0 ? cmdtab[ i ].action.value     : 0,
-            cmdtab[ i ].target.size     > 0 ? cmdtab[ i ].target.value     : 0,
-            cmdtab[ i ].command.size    > 0 ? cmdtab[ i ].command.value    : 0,
-            cmdtab[ i ].buffer_out.size > 0 ? cmdtab[ i ].buffer_out.value : 0,
-            cmdtab[ i ].buffer_err.size > 0 ? cmdtab[ i ].buffer_err.value : 0,
-            cmdtab[ i ].exit_reason );
-
-        /* Call the callback, may call back to jam rule land. Assume -p0 in
-         * effect so only pass buffer containing merged output.
-         */
-        (*cmdtab[ i ].func)(
-            cmdtab[ i ].closure,
-            rstat,
-            &time,
-            cmdtab[ i ].command.value,
-            cmdtab[ i ].buffer_out.value );
-
-        /* Clean up the command data, process, etc. */
-        string_free( &cmdtab[ i ].action  ); string_new( &cmdtab[ i ].action  );
-        string_free( &cmdtab[ i ].target  ); string_new( &cmdtab[ i ].target  );
-        string_free( &cmdtab[ i ].command ); string_new( &cmdtab[ i ].command );
-        if ( cmdtab[ i ].pi.hProcess   ) { CloseHandle( cmdtab[ i ].pi.hProcess   ); cmdtab[ i ].pi.hProcess   = 0; }
-        if ( cmdtab[ i ].pi.hThread    ) { CloseHandle( cmdtab[ i ].pi.hThread    ); cmdtab[ i ].pi.hThread    = 0; }
-        if ( cmdtab[ i ].pipe_out[ 0 ] ) { CloseHandle( cmdtab[ i ].pipe_out[ 0 ] ); cmdtab[ i ].pipe_out[ 0 ] = 0; }
-        if ( cmdtab[ i ].pipe_out[ 1 ] ) { CloseHandle( cmdtab[ i ].pipe_out[ 1 ] ); cmdtab[ i ].pipe_out[ 1 ] = 0; }
-        if ( cmdtab[ i ].pipe_err[ 0 ] ) { CloseHandle( cmdtab[ i ].pipe_err[ 0 ] ); cmdtab[ i ].pipe_err[ 0 ] = 0; }
-        if ( cmdtab[ i ].pipe_err[ 1 ] ) { CloseHandle( cmdtab[ i ].pipe_err[ 1 ] ); cmdtab[ i ].pipe_err[ 1 ] = 0; }
-        string_free( &cmdtab[ i ].buffer_out ); string_new( &cmdtab[ i ].buffer_out );
-        string_free( &cmdtab[ i ].buffer_err ); string_new( &cmdtab[ i ].buffer_err );
-        cmdtab[ i ].exit_code = 0;
-        cmdtab[ i ].exit_reason = EXIT_OK;
-    }
-
-    return 1;
-}
-
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
-static void free_argv( char * * args )
-{
-    BJAM_FREE( args[ 0 ] );
-    BJAM_FREE( args );
-}
-
-
-/*
- * For more details on Windows cmd.exe shell command-line length limitations see
- * the following MSDN article:
- *     http://support.microsoft.com/default.aspx?scid=kb;en-us;830473
- */
-
-int maxline()
-{
-    OSVERSIONINFO os_info;
-    os_info.dwOSVersionInfoSize = sizeof( os_info );
-    GetVersionEx( &os_info );
-
-    if ( os_info.dwMajorVersion >= 5 ) return 8191; /* XP >     */
-    if ( os_info.dwMajorVersion == 4 ) return 2047; /* NT 4.x   */
-    return 996;                                     /* NT 3.5.1 */
-}
-
-
-/*
- * Convert a command string into arguments for spawnvp(). The original code,
- * inherited from ftjam, tried to break up every argument on the command-line,
- * dealing with quotes, but that is really a waste of time on Win32, at least.
- * It turns out that all you need to do is get the raw path to the executable in
- * the first argument to spawnvp(), and you can pass all the rest of the
- * command-line arguments to spawnvp() in one, un-processed string.
- *
- * New strategy: break the string in at most one place.
- */
-
-static char * * string_to_args( char const * string )
-{
-    int            src_len;
-    int            in_quote;
-    char         * line;
-    char   const * src;
-    char         * dst;
-    char *       * argv;
-
-    /* Drop leading and trailing whitespace if any. */
-    while ( isspace( *string ) )
-        ++string;
-
-    src_len = strlen( string );
-    while ( ( src_len > 0 ) && isspace( string[ src_len - 1 ] ) )
-        --src_len;
-
-    /* Copy the input string into a buffer we can modify. */
-    line = (char *)BJAM_MALLOC_ATOMIC( src_len + 1 );
-    if ( !line )
-        return 0;
-
-    /* Allocate the argv array.
-     *   element 0: stores the path to the executable
-     *   element 1: stores the command-line arguments to the executable
-     *   element 2: NULL terminator
-     */
-    argv = (char * *)BJAM_MALLOC( 3 * sizeof( char * ) );
-    if ( !argv )
-    {
-        BJAM_FREE( line );
-        return 0;
-    }
-
-    /* Strip quotes from the first command-line argument and find where it ends.
-     * Quotes are illegal in Win32 pathnames, so we do not need to worry about
-     * preserving escaped quotes here. Spaces can not be escaped in Win32, only
-     * enclosed in quotes, so removing backslash escapes is also a non-issue.
-     */
-    in_quote = 0;
-    for ( src = string, dst = line ; *src; ++src )
-    {
-        if ( *src == '"' )
-            in_quote = !in_quote;
-        else if ( !in_quote && isspace( *src ) )
-            break;
-        else
-            *dst++ = *src;
-    }
-    *dst++ = 0;
-    argv[ 0 ] = line;
-
-    /* Skip whitespace in src. */
-    while ( isspace( *src ) )
-        ++src;
-
-    argv[ 1 ] = dst;
-
-    /* Copy the rest of the arguments verbatim. */
-    src_len -= src - string;
-
-    /* Use strncat() because it appends a trailing nul. */
-    *dst = 0;
-    strncat( dst, src, src_len );
-
-    argv[ 2 ] = 0;
-
-    return argv;
-}
-
-
-static void onintr( int disp )
-{
-    ++intr;
-    printf( "...interrupted\n" );
-}
-
-
-/*
- * can_spawn() - If the command is suitable for execution via spawnvp(), return
- * a number >= the number of characters it would occupy on the command-line.
- * Otherwise, return zero.
- */
-
-long can_spawn( char * command )
-{
-    char * p;
-    char inquote = 0;
-
-    /* Move to the first non-whitespace. */
-    command += strspn( command, " \t" );
-
-    p = command;
-
-    /* Look for newlines and unquoted i/o redirection. */
-    do
-    {
-        p += strcspn( p, "'\n\"<>|" );
-
-        switch ( *p )
-        {
-        case '\n':
-            /* Skip over any following spaces. */
-            while ( isspace( *p ) )
-                ++p;
-            /* Must use a .bat file if there is anything significant following
-             * the newline.
-             */
-            if ( *p )
-                return 0;
-            break;
-
-        case '"':
-        case '\'':
-            if ( ( p > command ) && ( p[ -1 ] != '\\' ) )
-            {
-                if ( inquote == *p )
-                    inquote = 0;
-                else if ( inquote == 0 )
-                    inquote = *p;
-            }
-            ++p;
-            break;
-
-        case '<':
-        case '>':
-        case '|':
-            if ( !inquote )
-                return 0;
-            ++p;
-            break;
-        }
-    }
-    while ( *p );
-
-    /* Return the number of characters the command will occupy. */
-    return p - command;
-}
-
-
-/* 64-bit arithmetic helpers. */
-
-/* Compute the carry bit from the addition of two 32-bit unsigned numbers. */
-#define add_carry_bit( a, b ) ( (((a) | (b)) >> 31) & (~((a) + (b)) >> 31) & 0x1 )
-
-/* Compute the high 32 bits of the addition of two 64-bit unsigned numbers, h1l1 and h2l2. */
-#define add_64_hi( h1, l1, h2, l2 ) ((h1) + (h2) + add_carry_bit(l1, l2))
-
-
-/*
- * Add two 64-bit unsigned numbers, h1l1 and h2l2.
- */
-
-static FILETIME add_64
-(
-    unsigned long h1, unsigned long l1,
-    unsigned long h2, unsigned long l2
-)
-{
-    FILETIME result;
-    result.dwLowDateTime = l1 + l2;
-    result.dwHighDateTime = add_64_hi( h1, l1, h2, l2 );
-    return result;
-}
-
-
-static FILETIME add_FILETIME( FILETIME t1, FILETIME t2 )
-{
-    return add_64( t1.dwHighDateTime, t1.dwLowDateTime, t2.dwHighDateTime,
-        t2.dwLowDateTime );
-}
-
-
-static FILETIME negate_FILETIME( FILETIME t )
-{
-    /* 2s complement negation */
-    return add_64( ~t.dwHighDateTime, ~t.dwLowDateTime, 0, 1 );
-}
-
-
-/*
- * Convert a FILETIME to a number of seconds.
- */
-
-static double filetime_seconds( FILETIME t )
-{
-    return t.dwHighDateTime * ( (double)( 1UL << 31 ) * 2.0 * 1.0e-7 ) + t.dwLowDateTime * 1.0e-7;
-}
-
-
-/*
- * What should be a simple conversion, turns out to be horribly complicated by
- * the defficiencies of MSVC and the Win32 API.
- */
-
-static time_t filetime_dt( FILETIME t_utc )
-{
-    static int calc_time_diff = 1;
-    static double time_diff;
-    if ( calc_time_diff )
-    {
-        struct tm t0_;
-        FILETIME f0_local;
-        FILETIME f0_;
-        SYSTEMTIME s0_;
-        GetSystemTime( &s0_ );
-        t0_.tm_year = s0_.wYear-1900;
-        t0_.tm_mon = s0_.wMonth-1;
-        t0_.tm_wday = s0_.wDayOfWeek;
-        t0_.tm_mday = s0_.wDay;
-        t0_.tm_hour = s0_.wHour;
-        t0_.tm_min = s0_.wMinute;
-        t0_.tm_sec = s0_.wSecond;
-        t0_.tm_isdst = 0;
-        SystemTimeToFileTime( &s0_, &f0_local );
-        LocalFileTimeToFileTime( &f0_local, &f0_ );
-        time_diff = filetime_seconds( f0_ ) - (double)mktime( &t0_ );
-        calc_time_diff = 0;
-    }
-    return ceil( filetime_seconds( t_utc ) - time_diff );
-}
-
-
-static void record_times( HANDLE process, timing_info * time )
-{
-    FILETIME creation;
-    FILETIME exit;
-    FILETIME kernel;
-    FILETIME user;
-    if ( GetProcessTimes( process, &creation, &exit, &kernel, &user ) )
-    {
-        time->system = filetime_seconds( kernel   );
-        time->user   = filetime_seconds( user     );
-        time->start  = filetime_dt     ( creation );
-        time->end    = filetime_dt     ( exit     );
-    }
-}
-
-
-#define IO_BUFFER_SIZE ( 16 * 1024 )
-
-static char ioBuffer[ IO_BUFFER_SIZE + 1 ];
-
-
-static void read_pipe
-(
-    HANDLE   in,  /* the pipe to read from */
-    string * out
-)
-{
-    DWORD bytesInBuffer = 0;
-    DWORD bytesAvailable = 0;
-
-    do
-    {
-        /* check if we have any data to read */
-        if ( !PeekNamedPipe( in, ioBuffer, IO_BUFFER_SIZE, &bytesInBuffer, &bytesAvailable, NULL ) )
-            bytesAvailable = 0;
-
-        /* read in the available data */
-        if ( bytesAvailable > 0 )
-        {
-            /* we only read in the available bytes, to avoid blocking */
-            if ( ReadFile( in, ioBuffer,
-                bytesAvailable <= IO_BUFFER_SIZE ? bytesAvailable : IO_BUFFER_SIZE,
-                &bytesInBuffer, NULL ) )
-            {
-                if ( bytesInBuffer > 0 )
-                {
-                    /* Clean up some illegal chars. */
-                    int i;
-                    for ( i = 0; i < bytesInBuffer; ++i )
-                    {
-                        if ( ( (unsigned char)ioBuffer[ i ] < 1 ) )
-                            ioBuffer[ i ] = '?';
-                    }
-                    /* Null, terminate. */
-                    ioBuffer[ bytesInBuffer ] = '\0';
-                    /* Append to the output. */
-                    string_append( out, ioBuffer );
-                    /* Subtract what we read in. */
-                    bytesAvailable -= bytesInBuffer;
-                }
-                else
-                {
-                    /* Likely read a error, bail out. */
-                    bytesAvailable = 0;
-                }
-            }
-            else
-            {
-                /* Definitely read a error, bail out. */
-                bytesAvailable = 0;
-            }
-        }
-    }
-    while ( bytesAvailable > 0 );
-}
-
-
-static void read_output()
-{
-    int i;
-    for ( i = 0; i < globs.jobs && i < MAXJOBS; ++i )
-    {
-        /* Read stdout data. */
-        if ( cmdtab[ i ].pipe_out[ 0 ] )
-            read_pipe( cmdtab[ i ].pipe_out[ 0 ], & cmdtab[ i ].buffer_out );
-        /* Read stderr data. */
-        if ( cmdtab[ i ].pipe_err[ 0 ] )
-            read_pipe( cmdtab[ i ].pipe_err[ 0 ], & cmdtab[ i ].buffer_err );
-    }
-}
-
-
-/*
- * Waits for a single child process command to complete, or the timeout,
- * whichever comes first. Returns the index of the completed command in the
- * cmdtab array, or -1.
- */
-
-static int try_wait( int timeoutMillis )
-{
-    int i;
-    int num_active;
-    int wait_api_result;
-    HANDLE active_handles[ MAXJOBS ];
-    int active_procs[ MAXJOBS ];
-
-    /* Prepare a list of all active processes to wait for. */
-    for ( num_active = 0, i = 0; i < globs.jobs; ++i )
-    {
-        if ( cmdtab[ i ].pi.hProcess )
-        {
-            active_handles[ num_active ] = cmdtab[ i ].pi.hProcess;
-            active_procs[ num_active ] = i;
-            ++num_active;
-        }
-    }
-
-    /* Wait for a child to complete, or for our timeout window to expire. */
-    wait_api_result = WaitForMultipleObjects( num_active, active_handles,
-        FALSE, timeoutMillis );
-    if ( ( WAIT_OBJECT_0 <= wait_api_result ) &&
-        ( wait_api_result < WAIT_OBJECT_0 + num_active ) )
-    {
-        /* Rerminated process detected - return its index. */
-        return active_procs[ wait_api_result - WAIT_OBJECT_0 ];
-    }
-
-    /* Timeout. */
-    return -1;
-}
-
-
-static int try_kill_one()
-{
-    /* Only need to check if a timeout was specified with the -l option. */
-    if ( globs.timeout > 0 )
-    {
-        int i;
-        for ( i = 0; i < globs.jobs; ++i )
-        {
-            double t = running_time( cmdtab[ i ].pi.hProcess );
-            if ( t > (double)globs.timeout )
-            {
-                /* The job may have left an alert dialog around, try and get rid
-                 * of it before killing
-                 */
-                close_alert( cmdtab[ i ].pi.hProcess );
-                /* We have a "runaway" job, kill it. */
-                kill_process_tree( 0, cmdtab[ i ].pi.hProcess );
-                /* And return it marked as a timeout. */
-                cmdtab[ i ].exit_reason = EXIT_TIMEOUT;
-                return i;
-            }
-        }
-    }
-    return -1;
-}
-
-
-static void close_alerts()
-{
-    /* We only attempt this every 5 seconds, or so, because it is not a cheap
-     * operation, and we will catch the alerts eventually. This check uses
-     * floats as some compilers define CLOCKS_PER_SEC as a float or double.
-     */
-    if ( ( (float)clock() / (float)( CLOCKS_PER_SEC * 5 ) ) < ( 1.0 / 5.0 ) )
-    {
-        int i;
-        for ( i = 0; i < globs.jobs; ++i )
-            close_alert( cmdtab[ i ].pi.hProcess );
-    }
-}
-
-
-/*
- * Calc the current running time of an *active* process.
- */
-
-static double running_time( HANDLE process )
-{
-    FILETIME creation;
-    FILETIME exit;
-    FILETIME kernel;
-    FILETIME user;
-    FILETIME current;
-    if ( GetProcessTimes( process, &creation, &exit, &kernel, &user ) )
-    {
-        /* Compute the elapsed time. */
-        GetSystemTimeAsFileTime( &current );
-        return filetime_seconds( add_FILETIME( current,
-            negate_FILETIME( creation ) ) );
-    }
-    return 0.0;
-}
-
-
-/* It is just stupidly silly that one has to do this. */
-typedef struct PROCESS_BASIC_INFORMATION__
-{
-    LONG  ExitStatus;
-    PVOID PebBaseAddress;
-    ULONG AffinityMask;
-    LONG  BasePriority;
-    ULONG UniqueProcessId;
-    ULONG InheritedFromUniqueProcessId;
-} PROCESS_BASIC_INFORMATION_;
-typedef LONG (__stdcall * NtQueryInformationProcess__)(
-    HANDLE ProcessHandle,
-    LONG ProcessInformationClass,
-    PVOID ProcessInformation,
-    ULONG ProcessInformationLength,
-    PULONG ReturnLength);
-static NtQueryInformationProcess__ NtQueryInformationProcess_ = NULL;
-static HMODULE NTDLL_ = NULL;
-DWORD get_process_id( HANDLE process )
-{
-    PROCESS_BASIC_INFORMATION_ pinfo;
-    if ( !NtQueryInformationProcess_ )
-    {
-        if ( ! NTDLL_ )
-            NTDLL_ = GetModuleHandleA( "ntdll" );
-        if ( NTDLL_ )
-            NtQueryInformationProcess_
-                = (NtQueryInformationProcess__)GetProcAddress( NTDLL_, "NtQueryInformationProcess" );
-    }
-    if ( NtQueryInformationProcess_ )
-    {
-        LONG r = (*NtQueryInformationProcess_)( process,
-            /* ProcessBasicInformation == */ 0, &pinfo,
-            sizeof( PROCESS_BASIC_INFORMATION_ ), NULL );
-        return pinfo.UniqueProcessId;
-    }
-    return 0;
-}
-
-
-/*
- * Not really optimal, or efficient, but it is easier this way, and it is not
- * like we are going to be killing thousands, or even tens of processes.
- */
-
-static void kill_process_tree( DWORD pid, HANDLE process )
-{
-    HANDLE process_snapshot_h = INVALID_HANDLE_VALUE;
-    if ( !pid )
-        pid = get_process_id( process );
-    process_snapshot_h = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
-
-    if ( INVALID_HANDLE_VALUE != process_snapshot_h )
-    {
-        BOOL ok = TRUE;
-        PROCESSENTRY32 pinfo;
-        pinfo.dwSize = sizeof( PROCESSENTRY32 );
-        for (
-            ok = Process32First( process_snapshot_h, &pinfo );
-            ok == TRUE;
-            ok = Process32Next( process_snapshot_h, &pinfo ) )
-        {
-            if ( pinfo.th32ParentProcessID == pid )
-            {
-                /* Found a child, recurse to kill it and anything else below it.
-                 */
-                HANDLE ph = OpenProcess( PROCESS_ALL_ACCESS, FALSE,
-                    pinfo.th32ProcessID );
-                if ( NULL != ph )
-                {
-                    kill_process_tree( pinfo.th32ProcessID, ph );
-                    CloseHandle( ph );
-                }
-            }
-        }
-        CloseHandle( process_snapshot_h );
-    }
-    /* Now that the children are all dead, kill the root. */
-    TerminateProcess( process, -2 );
-}
-
-
-static double creation_time( HANDLE process )
-{
-    FILETIME creation;
-    FILETIME exit;
-    FILETIME kernel;
-    FILETIME user;
-    FILETIME current;
-    return GetProcessTimes( process, &creation, &exit, &kernel, &user )
-        ? filetime_seconds( creation )
-        : 0.0;
-}
-
-
-/*
- * Recursive check if first process is parent (directly or indirectly) of the
- * second one. Both processes are passed as process ids, not handles. Special
- * return value 2 means that the second process is smss.exe and its parent
- * process is System (first argument is ignored).
- */
-
-static int is_parent_child( DWORD parent, DWORD child )
-{
-    HANDLE process_snapshot_h = INVALID_HANDLE_VALUE;
-
-    if ( !child )
-        return 0;
-    if ( parent == child )
-        return 1;
-
-    process_snapshot_h = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
-    if ( INVALID_HANDLE_VALUE != process_snapshot_h )
-    {
-        BOOL ok = TRUE;
-        PROCESSENTRY32 pinfo;
-        pinfo.dwSize = sizeof( PROCESSENTRY32 );
-        for (
-            ok = Process32First( process_snapshot_h, &pinfo );
-            ok == TRUE;
-            ok = Process32Next( process_snapshot_h, &pinfo ) )
-        {
-            if ( pinfo.th32ProcessID == child )
-            {
-                /* Unfortunately, process ids are not really unique. There might
-                 * be spurious "parent and child" relationship match between two
-                 * non-related processes if real parent process of a given
-                 * process has exited (while child process kept running as an
-                 * "orphan") and the process id of such parent process has been
-                 * reused by internals of the operating system when creating
-                 * another process.
-                 *
-                 * Thus additional check is needed - process creation time. This
-                 * check may fail (i.e. return 0) for system processes due to
-                 * insufficient privileges, and that is OK.
-                 */
-                double tchild = 0.0;
-                double tparent = 0.0;
-                HANDLE hchild = OpenProcess( PROCESS_QUERY_INFORMATION, FALSE, pinfo.th32ProcessID );
-                CloseHandle( process_snapshot_h );
-
-                /* csrss.exe may display message box like following:
-                 *   xyz.exe - Unable To Locate Component
-                 *   This application has failed to start because
-                 *   boost_foo-bar.dll was not found. Re-installing the
-                 *   application may fix the problem
-                 * This actually happens when starting test process that depends
-                 * on a dynamic library which failed to build. We want to
-                 * automatically close these message boxes even though csrss.exe
-                 * is not our child process. We may depend on the fact that (in
-                 * all current versions of Windows) csrss.exe is directly child
-                 * of the smss.exe process, which in turn is directly child of
-                 * the System process, which always has process id == 4. This
-                 * check must be performed before comparison of process creation
-                 * times.
-                 */
-                if ( !stricmp( pinfo.szExeFile, "csrss.exe" ) &&
-                    ( is_parent_child( parent, pinfo.th32ParentProcessID ) == 2 ) )
-                    return 1;
-                if ( !stricmp( pinfo.szExeFile, "smss.exe" ) &&
-                    ( pinfo.th32ParentProcessID == 4 ) )
-                    return 2;
-
-                if ( hchild )
-                {
-                    HANDLE hparent = OpenProcess( PROCESS_QUERY_INFORMATION,
-                        FALSE, pinfo.th32ParentProcessID );
-                    if ( hparent )
-                    {
-                        tchild = creation_time( hchild );
-                        tparent = creation_time( hparent );
-                        CloseHandle( hparent );
-                    }
-                    CloseHandle( hchild );
-                }
-
-                /* Return 0 if one of the following is true:
-                 *  1. we failed to read process creation time
-                 *  2. child was created before alleged parent
-                 */
-                if ( ( tchild == 0.0 ) || ( tparent == 0.0 ) ||
-                    ( tchild < tparent ) )
-                    return 0;
-
-                return is_parent_child( parent, pinfo.th32ParentProcessID ) & 1;
-            }
-        }
-
-        CloseHandle( process_snapshot_h );
-    }
-
-    return 0;
-}
-
-typedef struct PROCESS_HANDLE_ID { HANDLE h; DWORD pid; } PROCESS_HANDLE_ID;
-
-
-/*
- * This function is called by the operating system for each topmost window.
- */
-
-BOOL CALLBACK close_alert_window_enum( HWND hwnd, LPARAM lParam )
-{
-    char buf[ 7 ] = { 0 };
-    PROCESS_HANDLE_ID p = *( (PROCESS_HANDLE_ID *)lParam );
-    DWORD pid = 0;
-    DWORD tid = 0;
-
-    /* We want to find and close any window that:
-     *  1. is visible and
-     *  2. is a dialog and
-     *  3. is displayed by any of our child processes
-     */
-    if ( !IsWindowVisible( hwnd ) )
-        return TRUE;
-
-    if ( !GetClassNameA( hwnd, buf, sizeof( buf ) ) )
-        return TRUE;  /* Failed to read class name; presume it is not a dialog. */
-
-    if ( strcmp( buf, "#32770" ) )
-        return TRUE;  /* Not a dialog */
-
-    /* GetWindowThreadProcessId() returns 0 on error, otherwise thread id of
-     * window message pump thread.
-     */
-    tid = GetWindowThreadProcessId( hwnd, &pid );
-
-    if ( tid && is_parent_child( p.pid, pid ) )
-    {
-        /* Ask really nice. */
-        PostMessageA( hwnd, WM_CLOSE, 0, 0 );
-        /* Now wait and see if it worked. If not, insist. */
-        if ( WaitForSingleObject( p.h, 200 ) == WAIT_TIMEOUT )
-        {
-            PostThreadMessageA( tid, WM_QUIT, 0, 0 );
-            WaitForSingleObject( p.h, 300 );
-        }
-
-        /* Done, we do not want to check any other window now. */
-        return FALSE;
-    }
-
-    return TRUE;
-}
-
-
-static void close_alert( HANDLE process )
-{
-    DWORD pid = get_process_id( process );
-    /* If process already exited or we just can not get its process id, do not
-     * go any further.
-     */
-    if ( pid )
-    {
-        PROCESS_HANDLE_ID p;
-        p.h = process;
-        p.pid = pid;
-        EnumWindows( &close_alert_window_enum, (LPARAM)&p );
-    }
-}
-
-#endif /* USE_EXECNT */
diff --git a/SRC/Boost/tools/build/v2/engine/execunix.c b/SRC/Boost/tools/build/v2/engine/execunix.c
deleted file mode 100755
index fcfc864..0000000
--- a/SRC/Boost/tools/build/v2/engine/execunix.c
+++ /dev/null
@@ -1,569 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- * Copyright 2007 Noel Belcourt.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-#include "jam.h"
-#include "lists.h"
-#include "execcmd.h"
-#include "output.h"
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <time.h>
-#include <unistd.h>  /* needed for vfork(), _exit() prototypes */
-#include <sys/resource.h>
-#include <sys/times.h>
-#include <sys/wait.h>
-
-#if defined(sun) || defined(__sun) || defined(linux)
-    #include <wait.h>
-#endif
-
-#ifdef USE_EXECUNIX
-
-#include <sys/times.h>
-
-#if defined(__APPLE__)
-    #define NO_VFORK
-#endif
-
-#ifdef NO_VFORK
-    #define vfork() fork()
-#endif
-
-
-/*
- * execunix.c - execute a shell script on UNIX/WinNT/OS2/AmigaOS
- *
- * If $(JAMSHELL) is defined, uses that to formulate execvp()/spawnvp().
- * The default is:
- *
- *  /bin/sh -c %        [ on UNIX/AmigaOS ]
- *  cmd.exe /c %        [ on OS2/WinNT ]
- *
- * Each word must be an individual element in a jam variable value.
- *
- * In $(JAMSHELL), % expands to the command string and ! expands to the slot
- * number (starting at 1) for multiprocess (-j) invocations. If $(JAMSHELL) does
- * not include a %, it is tacked on as the last argument.
- *
- * Do not just set JAMSHELL to /bin/sh or cmd.exe - it will not work!
- *
- * External routines:
- *  exec_cmd() - launch an async command execution.
- *  exec_wait() - wait and drive at most one execution completion.
- *
- * Internal routines:
- *  onintr() - bump intr to note command interruption.
- *
- * 04/08/94 (seiwald) - Coherent/386 support added.
- * 05/04/94 (seiwald) - async multiprocess interface
- * 01/22/95 (seiwald) - $(JAMSHELL) support
- * 06/02/97 (gsar)    - full async multiprocess support for Win32
- */
-
-static clock_t tps = 0;
-static struct timeval tv;
-static int select_timeout = 0;
-static int intr = 0;
-static int cmdsrunning = 0;
-static struct tms old_time;
-
-#define OUT 0
-#define ERR 1
-
-static struct
-{
-    int     pid;              /* on win32, a real process handle */
-    int     fd[2];            /* file descriptors for stdout and stderr */
-    FILE   *stream[2];        /* child's stdout (0) and stderr (1) file stream */
-    clock_t start_time;       /* start time of child process */
-    int     exit_reason;      /* termination status */
-    int     action_length;    /* length of action string */
-    int     target_length;    /* length of target string */
-    char   *action;           /* buffer to hold action and target invoked */
-    char   *target;           /* buffer to hold action and target invoked */
-    char   *command;          /* buffer to hold command being invoked */
-    char   *buffer[2];        /* buffer to hold stdout and stderr, if any */
-    void    (*func)( void *closure, int status, timing_info*, char *, char * );
-    void   *closure;
-    time_t  start_dt;         /* start of command timestamp */
-} cmdtab[ MAXJOBS ] = {{0}};
-
-/*
- * onintr() - bump intr to note command interruption
- */
-
-void onintr( int disp )
-{
-    ++intr;
-    printf( "...interrupted\n" );
-}
-
-
-/*
- * exec_cmd() - launch an async command execution.
- */
-
-void exec_cmd
-(
-    char * string,
-    void (*func)( void *closure, int status, timing_info*, char *, char * ),
-    void * closure,
-    LIST * shell,
-    char * action,
-    char * target
-)
-{
-    static int initialized = 0;
-    int    out[2];
-    int    err[2];
-    int    slot;
-    int    len;
-    char * argv[ MAXARGC + 1 ];  /* +1 for NULL */
-
-    /* Find a slot in the running commands table for this one. */
-    for ( slot = 0; slot < MAXJOBS; ++slot )
-        if ( !cmdtab[ slot ].pid )
-            break;
-
-    if ( slot == MAXJOBS )
-    {
-        printf( "no slots for child!\n" );
-        exit( EXITBAD );
-    }
-
-    /* Forumulate argv. If shell was defined, be prepared for % and ! subs.
-     * Otherwise, use stock /bin/sh on unix or cmd.exe on NT.
-     */
-    if ( shell )
-    {
-        int  i;
-        char jobno[4];
-        int  gotpercent = 0;
-
-        sprintf( jobno, "%d", slot + 1 );
-
-        for ( i = 0; shell && i < MAXARGC; ++i, shell = list_next( shell ) )
-        {
-            switch ( shell->string[0] )
-            {
-                case '%': argv[ i ] = string; ++gotpercent; break;
-                case '!': argv[ i ] = jobno;                break;
-                default : argv[ i ] = shell->string;
-            }
-            if ( DEBUG_EXECCMD )
-                printf( "argv[%d] = '%s'\n", i, argv[ i ] );
-        }
-
-        if ( !gotpercent )
-        argv[ i++ ] = string;
-
-        argv[ i ] = 0;
-    }
-    else
-    {
-        argv[ 0 ] = "/bin/sh";
-        argv[ 1 ] = "-c";
-        argv[ 2 ] = string;
-        argv[ 3 ] = 0;
-    }
-
-    /* Increment jobs running. */
-    ++cmdsrunning;
-
-    /* Save off actual command string. */
-    cmdtab[ slot ].command = BJAM_MALLOC_ATOMIC( strlen( string ) + 1 );
-    strcpy( cmdtab[ slot ].command, string );
-
-    /* Initialize only once. */
-    if ( !initialized )
-    {
-        times( &old_time );
-        initialized = 1;
-    }
-
-    /* Create pipes from child to parent. */
-    {
-        if ( pipe( out ) < 0 )
-            exit( EXITBAD );
-
-        if ( pipe( err ) < 0 )
-            exit( EXITBAD );
-    }
-
-    /* Start the command */
-
-    cmdtab[ slot ].start_dt = time(0);
-
-    if ( 0 < globs.timeout )
-    {
-        /*
-         * Handle hung processes by manually tracking elapsed time and signal
-         * process when time limit expires.
-         */
-        struct tms buf;
-        cmdtab[ slot ].start_time = times( &buf );
-
-        /* Make a global, only do this once. */
-        if ( tps == 0 ) tps = sysconf( _SC_CLK_TCK );
-    }
-
-    if ( ( cmdtab[ slot ].pid = vfork() ) == 0 )
-    {
-        int pid = getpid();
-
-        close( out[0] );
-        close( err[0] );
-
-        dup2( out[1], STDOUT_FILENO );
-
-        if ( globs.pipe_action == 0 )
-            dup2( out[1], STDERR_FILENO );
-        else
-            dup2( err[1], STDERR_FILENO );
-
-        close( out[1] );
-        close( err[1] );
-
-        /* Make this process a process group leader so that when we kill it, all
-         * child processes of this process are terminated as well. We use
-         * killpg(pid, SIGKILL) to kill the process group leader and all its
-         * children.
-         */
-        if ( 0 < globs.timeout )
-        {
-            struct rlimit r_limit;
-            r_limit.rlim_cur = globs.timeout;
-            r_limit.rlim_max = globs.timeout;
-            setrlimit( RLIMIT_CPU, &r_limit );
-        }
-        setpgid( pid,pid );
-        execvp( argv[0], argv );
-        perror( "execvp" );
-        _exit( 127 );
-    }
-    else if ( cmdtab[ slot ].pid == -1 )
-    {
-        perror( "vfork" );
-        exit( EXITBAD );
-    }
-
-    setpgid( cmdtab[ slot ].pid, cmdtab[ slot ].pid );
-
-    /* close write end of pipes */
-    close( out[1] );
-    close( err[1] );
-
-    /* set both file descriptors to non-blocking */
-    fcntl(out[0], F_SETFL, O_NONBLOCK);
-    fcntl(err[0], F_SETFL, O_NONBLOCK);
-
-    /* child writes stdout to out[1], parent reads from out[0] */
-    cmdtab[ slot ].fd[ OUT ] = out[0];
-    cmdtab[ slot ].stream[ OUT ] = fdopen( cmdtab[ slot ].fd[ OUT ], "rb" );
-    if ( cmdtab[ slot ].stream[ OUT ] == NULL )
-    {
-        perror( "fdopen" );
-        exit( EXITBAD );
-    }
-
-    /* child writes stderr to err[1], parent reads from err[0] */
-    if (globs.pipe_action == 0)
-    {
-      close(err[0]);
-    }
-    else
-    {
-        cmdtab[ slot ].fd[ ERR ] = err[0];
-        cmdtab[ slot ].stream[ ERR ] = fdopen( cmdtab[ slot ].fd[ ERR ], "rb" );
-        if ( cmdtab[ slot ].stream[ ERR ] == NULL )
-        {
-            perror( "fdopen" );
-            exit( EXITBAD );
-        }
-    }
-
-    /* Ensure enough room for rule and target name. */
-    if ( action && target )
-    {
-        len = strlen( action ) + 1;
-        if ( cmdtab[ slot ].action_length < len )
-        {
-            BJAM_FREE( cmdtab[ slot ].action );
-            cmdtab[ slot ].action = BJAM_MALLOC_ATOMIC( len );
-            cmdtab[ slot ].action_length = len;
-        }
-        strcpy( cmdtab[ slot ].action, action );
-        len = strlen( target ) + 1;
-        if ( cmdtab[ slot ].target_length < len )
-        {
-            BJAM_FREE( cmdtab[ slot ].target );
-            cmdtab[ slot ].target = BJAM_MALLOC_ATOMIC( len );
-            cmdtab[ slot ].target_length = len;
-        }
-        strcpy( cmdtab[ slot ].target, target );
-    }
-    else
-    {
-        BJAM_FREE( cmdtab[ slot ].action );
-        BJAM_FREE( cmdtab[ slot ].target );
-        cmdtab[ slot ].action = 0;
-        cmdtab[ slot ].target = 0;
-        cmdtab[ slot ].action_length = 0;
-        cmdtab[ slot ].target_length = 0;
-    }
-
-    /* Save the operation for exec_wait() to find. */
-    cmdtab[ slot ].func = func;
-    cmdtab[ slot ].closure = closure;
-
-    /* Wait until we are under the limit of concurrent commands. Do not trust
-     * globs.jobs alone.
-     */
-    while ( ( cmdsrunning >= MAXJOBS ) || ( cmdsrunning >= globs.jobs ) )
-        if ( !exec_wait() )
-            break;
-}
-
-
-/* Returns 1 if file is closed, 0 if descriptor is still live.
- *
- * i is index into cmdtab
- *
- * s (stream) indexes:
- *  - cmdtab[ i ].stream[ s ]
- *  - cmdtab[ i ].buffer[ s ]
- *  - cmdtab[ i ].fd    [ s ]
- */
-
-int read_descriptor( int i, int s )
-{
-    int  ret;
-    int  len;
-    char buffer[BUFSIZ];
-
-    while ( 0 < ( ret = fread( buffer, sizeof(char),  BUFSIZ-1, cmdtab[ i ].stream[ s ] ) ) )
-    {
-        buffer[ret] = 0;
-        if  ( !cmdtab[ i ].buffer[ s ] )
-        {
-            /* Never been allocated. */
-            cmdtab[ i ].buffer[ s ] = (char*)BJAM_MALLOC_ATOMIC( ret + 1 );
-            memcpy( cmdtab[ i ].buffer[ s ], buffer, ret + 1 );
-        }
-        else
-        {
-            /* Previously allocated. */
-            char * tmp = cmdtab[ i ].buffer[ s ];
-            len = strlen( tmp );
-            cmdtab[ i ].buffer[ s ] = (char*)BJAM_MALLOC_ATOMIC( len + ret + 1 );
-            memcpy( cmdtab[ i ].buffer[ s ], tmp, len );
-            memcpy( cmdtab[ i ].buffer[ s ] + len, buffer, ret + 1 );
-            BJAM_FREE( tmp );
-        }
-    }
-
-    return feof(cmdtab[ i ].stream[ s ]);
-}
-
-
-void close_streams( int i, int s )
-{
-    /* Close the stream and pipe descriptor. */
-    fclose(cmdtab[ i ].stream[ s ]);
-    cmdtab[ i ].stream[ s ] = 0;
-
-    close(cmdtab[ i ].fd[ s ]);
-    cmdtab[ i ].fd[ s ] = 0;
-}
-
-
-void populate_file_descriptors( int * fmax, fd_set * fds)
-{
-    int i, fd_max = 0;
-    struct tms buf;
-    clock_t current = times( &buf );
-    select_timeout = globs.timeout;
-
-    /* Compute max read file descriptor for use in select. */
-    FD_ZERO(fds);
-    for ( i = 0; i < globs.jobs; ++i )
-    {
-        if ( 0 < cmdtab[ i ].fd[ OUT ] )
-        {
-            fd_max = fd_max < cmdtab[ i ].fd[ OUT ] ? cmdtab[ i ].fd[ OUT ] : fd_max;
-            FD_SET(cmdtab[ i ].fd[ OUT ], fds);
-        }
-        if ( globs.pipe_action != 0 )
-        {
-            if (0 < cmdtab[ i ].fd[ ERR ])
-            {
-                fd_max = fd_max < cmdtab[ i ].fd[ ERR ] ? cmdtab[ i ].fd[ ERR ] : fd_max;
-                FD_SET(cmdtab[ i ].fd[ ERR ], fds);
-            }
-        }
-
-        if (globs.timeout && cmdtab[ i ].pid) {
-            clock_t consumed = (current - cmdtab[ i ].start_time) / tps;
-            clock_t process_timesout = globs.timeout - consumed;
-            if (0 < process_timesout && process_timesout < select_timeout) {
-                select_timeout = process_timesout;
-            }
-            if ( globs.timeout <= consumed )
-            {
-                killpg( cmdtab[ i ].pid, SIGKILL );
-                cmdtab[ i ].exit_reason = EXIT_TIMEOUT;
-            }
-        }
-    }
-    *fmax = fd_max;
-}
-
-
-/*
- * exec_wait() - wait and drive at most one execution completion.
- */
-
-int exec_wait()
-{
-    int         i;
-    int         ret;
-    int         fd_max;
-    int         pid;
-    int         status;
-    int         finished;
-    int         rstat;
-    timing_info time_info;
-    fd_set      fds;
-    struct tms  new_time;
-
-    /* Handle naive make1() which does not know if commands are running. */
-    if ( !cmdsrunning )
-        return 0;
-
-    /* Process children that signaled. */
-    finished = 0;
-    while ( !finished && cmdsrunning )
-    {
-        /* Compute max read file descriptor for use in select(). */
-        populate_file_descriptors( &fd_max, &fds );
-
-        if ( 0 < globs.timeout )
-        {
-            /* Force select() to timeout so we can terminate expired processes.
-             */
-            tv.tv_sec = select_timeout;
-            tv.tv_usec = 0;
-
-            /* select() will wait until: i/o on a descriptor, a signal, or we
-             * time out.
-             */
-            ret = select( fd_max + 1, &fds, 0, 0, &tv );
-        }
-        else
-        {
-            /* select() will wait until i/o on a descriptor or a signal. */
-            ret = select( fd_max + 1, &fds, 0, 0, 0 );
-        }
-
-        if ( 0 < ret )
-        {
-            for ( i = 0; i < globs.jobs; ++i )
-            {
-                int out = 0;
-                int err = 0;
-                if ( FD_ISSET( cmdtab[ i ].fd[ OUT ], &fds ) )
-                    out = read_descriptor( i, OUT );
-
-                if ( ( globs.pipe_action != 0 ) &&
-                    ( FD_ISSET( cmdtab[ i ].fd[ ERR ], &fds ) ) )
-                    err = read_descriptor( i, ERR );
-
-                /* If feof on either descriptor, then we are done. */
-                if ( out || err )
-                {
-                    /* Close the stream and pipe descriptors. */
-                    close_streams( i, OUT );
-                    if ( globs.pipe_action != 0 )
-                        close_streams( i, ERR );
-
-                    /* Reap the child and release resources. */
-                    pid = waitpid( cmdtab[ i ].pid, &status, 0 );
-
-                    if ( pid == cmdtab[ i ].pid )
-                    {
-                        finished = 1;
-                        pid = 0;
-                        cmdtab[ i ].pid = 0;
-
-                        /* Set reason for exit if not timed out. */
-                        if ( WIFEXITED( status ) )
-                        {
-                            cmdtab[ i ].exit_reason = 0 == WEXITSTATUS( status )
-                                ? EXIT_OK
-                                : EXIT_FAIL;
-                        }
-
-                        /* Print out the rule and target name. */
-                        out_action( cmdtab[ i ].action, cmdtab[ i ].target,
-                            cmdtab[ i ].command, cmdtab[ i ].buffer[ OUT ],
-                            cmdtab[ i ].buffer[ ERR ], cmdtab[ i ].exit_reason
-                        );
-
-                        times( &new_time );
-
-                        time_info.system = (double)( new_time.tms_cstime - old_time.tms_cstime ) / CLOCKS_PER_SEC;
-                        time_info.user   = (double)( new_time.tms_cutime - old_time.tms_cutime ) / CLOCKS_PER_SEC;
-                        time_info.start  = cmdtab[ i ].start_dt;
-                        time_info.end    = time( 0 );
-
-                        old_time = new_time;
-
-                        /* Drive the completion. */
-                        --cmdsrunning;
-
-                        if ( intr )
-                            rstat = EXEC_CMD_INTR;
-                        else if ( status != 0 )
-                            rstat = EXEC_CMD_FAIL;
-                        else
-                            rstat = EXEC_CMD_OK;
-
-                        /* Assume -p0 in effect so only pass buffer[ 0 ]
-                         * containing merged output.
-                         */
-                        (*cmdtab[ i ].func)( cmdtab[ i ].closure, rstat,
-                            &time_info, cmdtab[ i ].command,
-                            cmdtab[ i ].buffer[ 0 ] );
-
-                        BJAM_FREE( cmdtab[ i ].buffer[ OUT ] );
-                        cmdtab[ i ].buffer[ OUT ] = 0;
-
-                        BJAM_FREE( cmdtab[ i ].buffer[ ERR ] );
-                        cmdtab[ i ].buffer[ ERR ] = 0;
-
-                        BJAM_FREE( cmdtab[ i ].command );
-                        cmdtab[ i ].command = 0;
-
-                        cmdtab[ i ].func = 0;
-                        cmdtab[ i ].closure = 0;
-                        cmdtab[ i ].start_time = 0;
-                    }
-                    else
-                    {
-                        printf( "unknown pid %d with errno = %d\n", pid, errno );
-                        exit( EXITBAD );
-                    }
-                }
-            }
-        }
-    }
-
-    return 1;
-}
-
-# endif /* USE_EXECUNIX */
diff --git a/SRC/Boost/tools/build/v2/engine/execvms.c b/SRC/Boost/tools/build/v2/engine/execvms.c
deleted file mode 100755
index c95c385..0000000
--- a/SRC/Boost/tools/build/v2/engine/execvms.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-#include "jam.h"
-#include "lists.h"
-#include "execcmd.h"
-
-#ifdef OS_VMS
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <iodef.h>
-#include <ssdef.h>
-#include <descrip.h>
-#include <dvidef.h>
-#include <clidef.h>
-
-/*
- * execvms.c - execute a shell script, ala VMS.
- *
- * The approach is this:
- *
- * If the command is a single line, and shorter than WRTLEN (what we believe to
- * be the maximum line length), we just system() it.
- *
- * If the command is multi-line, or longer than WRTLEN, we write the command
- * block to a temp file, splitting long lines (using "-" at the end of the line
- * to indicate contiuation), and then source that temp file. We use special
- * logic to make sure we do not continue in the middle of a quoted string.
- *
- * 05/04/94 (seiwald) - async multiprocess interface; noop on VMS
- * 12/20/96 (seiwald) - rewritten to handle multi-line commands well
- * 01/14/96 (seiwald) - do not put -'s between "'s
- */
-
-#define WRTLEN 240
-
-#define MIN( a, b ) ((a) < (b) ? (a) : (b))
-
-/* 1 for the @ and 4 for the .com */
-
-char tempnambuf[ L_tmpnam + 1 + 4 ] = { 0 };
-
-
-void exec_cmd
-(
-    char * string,
-    void (* func)( void * closure, int status, timing_info *, char *, char * ),
-    void * closure,
-    LIST * shell,
-    char * rule_name,
-    char * target
-)
-{
-    char * s;
-    char * e;
-    cahr * p;
-    int rstat = EXEC_CMD_OK;
-    int status;
-
-    /* See if string is more than one line discounting leading/trailing white
-     * space.
-     */
-    for ( s = string; *s && isspace( *s ); ++s );
-
-    e = p = strchr( s, '\n' );
-
-    while ( p && isspace( *p ) )
-        ++p;
-
-    /* If multi line or long, write to com file. Otherwise, exec directly. */
-    if ( ( p && *p ) || ( e - s > WRTLEN ) )
-    {
-        FILE * f;
-
-        /* Create temp file invocation "@sys$scratch:tempfile.com". */
-        if ( !*tempnambuf )
-        {
-            tempnambuf[0] = '@';
-            (void)tmpnam( tempnambuf + 1 );
-            strcat( tempnambuf, ".com" );
-        }
-
-        /* Open tempfile. */
-        if ( !( f = fopen( tempnambuf + 1, "w" ) ) )
-        {
-            printf( "can't open command file\n" );
-            (*func)( closure, EXEC_CMD_FAIL );
-            return;
-        }
-
-        /* For each line of the string. */
-        while ( *string )
-        {
-            char * s = strchr( string, '\n' );
-            int len = s ? s + 1 - string : strlen( string );
-
-            fputc( '$', f );
-
-            /* For each chunk of a line that needs to be split. */
-            while ( len > 0 )
-            {
-                char * q = string;
-                char * qe = string + MIN( len, WRTLEN );
-                char * qq = q;
-                int quote = 0;
-
-                /* Look for matching "s. */
-                for ( ; q < qe; ++q )
-                    if ( ( *q == '"' ) && ( quote = !quote ) )
-                        qq = q;
-
-                /* Back up to opening quote, if in one. */
-                if ( quote )
-                    q = qq;
-
-                fwrite( string, ( q - string ), 1, f );
-
-                len -= ( q - string );
-                string = q;
-
-                if ( len )
-                {
-                    fputc( '-', f );
-                    fputc( '\n', f );
-                }
-            }
-        }
-
-        fclose( f );
-
-        status = system( tempnambuf ) & 0x07;
-
-        unlink( tempnambuf + 1 );
-    }
-    else
-    {
-        /* Execute single line command. Strip trailing newline before execing.
-         */
-        if ( e ) *e = 0;
-        status = system( s ) & 0x07;
-    }
-
-    /* Fail for error or fatal error. OK on OK, warning or info exit. */
-    if ( ( status == 2 ) || ( status == 4 ) )
-        rstat = EXEC_CMD_FAIL;
-
-    (*func)( closure, rstat );
-}
-
-
-int exec_wait()
-{
-    return 0;
-}
-
-# endif /* VMS */
diff --git a/SRC/Boost/tools/build/v2/engine/expand.c b/SRC/Boost/tools/build/v2/engine/expand.c
deleted file mode 100755
index 49d7cff..0000000
--- a/SRC/Boost/tools/build/v2/engine/expand.c
+++ /dev/null
@@ -1,733 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-# include "jam.h"
-# include "lists.h"
-# include "variable.h"
-# include "expand.h"
-# include "pathsys.h"
-# include "newstr.h"
-# include <assert.h>
-# include <stdlib.h>
-# include <limits.h>
-
-# ifdef OS_CYGWIN
-#  include <sys/cygwin.h>
-#  include <windows.h>
-# endif
-
-/*
- * expand.c - expand a buffer, given variable values
- *
- * External routines:
- *
- *  var_expand() - variable-expand input string into list of strings
- *
- * Internal routines:
- *
- *  var_edit_parse() - parse : modifiers into PATHNAME structure.
- *  var_edit_file() - copy input target name to output, modifying filename.
- *  var_edit_shift() - do upshift/downshift mods.
- *
- * 01/25/94 (seiwald) - $(X)$(UNDEF) was expanding like plain $(X)
- * 04/13/94 (seiwald) - added shorthand L0 for null list pointer
- * 01/11/01 (seiwald) - added support for :E=emptyvalue, :J=joinval
- */
-
-typedef struct
-{
-    PATHNAME f;           /* :GDBSMR -- pieces */
-    char     parent;      /* :P -- go to parent directory */
-    char     filemods;    /* one of the above applied */
-    char     downshift;   /* :L -- downshift result */
-    char     upshift;     /* :U -- upshift result */
-    char     to_slashes;  /* :T -- convert "\" to "/" */
-    char     to_windows;  /* :W -- convert cygwin to native paths */
-    PATHPART empty;       /* :E -- default for empties */
-    PATHPART join;        /* :J -- join list with char */
-} VAR_EDITS ;
-
-static void var_edit_parse( char * mods, VAR_EDITS * edits );
-static void var_edit_file ( char * in, string * out, VAR_EDITS * edits );
-static void var_edit_shift( string * out, VAR_EDITS * edits );
-
-#define MAGIC_COLON '\001'
-#define MAGIC_LEFT  '\002'
-#define MAGIC_RIGHT '\003'
-
-
-/*
- * var_expand() - variable-expand input string into list of strings.
- *
- * Would just copy input to output, performing variable expansion, except that
- * since variables can contain multiple values the result of variable expansion
- * may contain multiple values (a list). Properly performs "product" operations
- * that occur in "$(var1)xxx$(var2)" or even "$($(var2))".
- *
- * Returns a newly created list.
- */
-
-LIST * var_expand( LIST * l, char * in, char * end, LOL * lol, int cancopyin )
-{
-    char out_buf[ MAXSYM ];
-    string buf[ 1 ];
-    string out1[ 1 ];  /* temporary buffer */
-    size_t prefix_length;
-    char * out;
-    char * inp = in;
-    char * ov;  /* for temp copy of variable in outbuf */
-    int depth;
-
-    if ( DEBUG_VAREXP )
-        printf( "expand '%.*s'\n", end - in, in );
-
-    /* This gets a lot of cases: $(<) and $(>). */
-    if
-    (
-        ( in[ 0 ] == '$'  ) &&
-        ( in[ 1 ] == '('  ) &&
-        ( in[ 3 ] == ')'  ) &&
-        ( in[ 4 ] == '\0' )
-    )
-    {
-        switch ( in[ 2 ] )
-        {
-            case '<': return list_copy( l, lol_get( lol, 0 ) );
-            case '>': return list_copy( l, lol_get( lol, 1 ) );
-
-            case '1':
-            case '2':
-            case '3':
-            case '4':
-            case '5':
-            case '6':
-            case '7':
-            case '8':
-            case '9':
-                return list_copy( l, lol_get( lol, in[ 2 ] - '1' ) );
-        }
-    }
-    else if ( in[0] == '$' && in[1] == '(' && in[2] == '1' && in[4] == ')' &&
-              in[5] == '\0') {
-
-        switch( in[3] )
-        {
-        case '0':
-        case '1':
-        case '2':
-        case '3':
-        case '4':
-        case '5':
-        case '6':
-        case '7':
-        case '8':
-        case '9':
-            return list_copy( l, lol_get( lol, in[3]-'0'+10-1 ) );
-        }
-    }
-
-    /* Expand @() files, to single item plus accompanying file. */
-    if ( ( in[ 0 ] == '@' ) && ( in[ 1 ] == '(' ) && ( *( end - 1 ) == ')' ) )
-    {
-        /* We try the expansion until it fits within the propective output
-         * buffer.
-         */
-        char * at_buf = 0;
-        int at_size = MAXJPATH;
-        int at_len = 0;
-        do
-        {
-            BJAM_FREE( at_buf );
-            at_buf = (char *)BJAM_MALLOC_ATOMIC( at_size + 1 );
-            at_len = var_string( in, at_buf, at_size, lol );
-            at_size *= 2;
-        }
-        while ( ( at_len < 0 ) && ( at_size < INT_MAX / 2 ) );
-        /* Return the result as a single item list. */
-        if ( at_len > 0 )
-        {
-            LIST * r;
-            string_copy( buf, at_buf );
-            r = list_new( l, newstr( buf->value ) );
-            string_free( buf );
-            BJAM_FREE( at_buf );
-            return r;
-        }
-        BJAM_FREE( at_buf );
-    }
-
-    /* Just try simple copy of in to out. */
-    while ( in < end )
-        if ( ( *in++ == '$' ) && ( *in == '(' ) )
-            goto expand;
-
-    /* No variables expanded - just add copy of input string to list. */
-
-    /* 'cancopyin' is an optimization: if the input was already a list item, we
-     * can use copystr() to put it on the new list. Otherwise, we use the slower
-     * newstr().
-     */
-    if ( cancopyin )
-        return list_new( l, copystr( inp ) );
-
-    {
-        LIST * r;
-        string_new( buf );
-        string_append_range( buf, inp, end );
-        r = list_new( l, newstr( buf->value ) );
-        string_free( buf );
-        return r;
-    }
-
-expand:
-    string_new( buf );
-    string_append_range( buf, inp, in - 1 );  /* Copy the part before '$'. */
-    /*
-     * Input so far (ignore blanks):
-     *
-     *  stuff-in-outbuf $(variable) remainder
-     *                   ^                   ^
-     *                   in                  end
-     * Output so far:
-     *
-     *  stuff-in-outbuf $
-     *  ^                ^
-     *  out_buf          out
-     *
-     *
-     * We just copied the $ of $(...), so back up one on the output. We now find
-     * the matching close paren, copying the variable and modifiers between the
-     * $( and ) temporarily into out_buf, so that we can replace :'s with
-     * MAGIC_COLON. This is necessary to avoid being confused by modifier values
-     * that are variables containing :'s. Ugly.
-     */
-
-    depth = 1;
-    inp = ++in;  /* Skip over the '('. */
-
-    while ( ( in < end ) && depth )
-    {
-        switch ( *in++ )
-        {
-            case '(': ++depth; break;
-            case ')': --depth; break;
-        }
-    }
-
-    /*
-     * Input so far (ignore blanks):
-     *
-     *  stuff-in-outbuf $(variable) remainder
-     *                    ^        ^         ^
-     *                    inp      in        end
-     */
-    prefix_length = buf->size;
-    string_append_range( buf, inp, in - 1 );
-
-    out = buf->value + prefix_length;
-    for ( ov = out; ov < buf->value + buf->size; ++ov )
-    {
-        switch ( *ov )
-        {
-            case ':': *ov = MAGIC_COLON; break;
-            case '[': *ov = MAGIC_LEFT ; break;
-            case ']': *ov = MAGIC_RIGHT; break;
-        }
-    }
-
-    /*
-     * Input so far (ignore blanks):
-     *
-     *  stuff-in-outbuf $(variable) remainder
-     *                              ^        ^
-     *                              in       end
-     * Output so far:
-     *
-     *  stuff-in-outbuf variable
-     *  ^               ^       ^
-     *  out_buf         out     ov
-     *
-     * Later we will overwrite 'variable' in out_buf, but we will be done with
-     * it by then. 'variable' may be a multi-element list, so may each value for
-     * '$(variable element)', and so may 'remainder'. Thus we produce a product
-     * of three lists.
-     */
-    {
-        LIST * variables = 0;
-        LIST * remainder = 0;
-        LIST * vars;
-
-        /* Recursively expand variable name & rest of input. */
-        if ( out < ov ) variables = var_expand( L0, out, ov, lol, 0 );
-        if ( in < end ) remainder = var_expand( L0, in, end, lol, 0 );
-
-        /* Now produce the result chain. */
-
-        /* For each variable name. */
-        for ( vars = variables; vars; vars = list_next( vars ) )
-        {
-            LIST * value = 0;
-            LIST * evalue = 0;
-            char * colon;
-            char * bracket;
-            string variable[1];
-            char * varname;
-            int sub1 = 0;
-            int sub2 = -1;
-            VAR_EDITS edits;
-
-            /* Look for a : modifier in the variable name. Must copy into
-             * varname so we can modify it.
-             */
-            string_copy( variable, vars->string );
-            varname = variable->value;
-
-            if ( ( colon = strchr( varname, MAGIC_COLON ) ) )
-            {
-                string_truncate( variable, colon - varname );
-                var_edit_parse( colon + 1, &edits );
-            }
-
-            /* Look for [x-y] subscripting. sub1 and sub2 are x and y. */
-            if ( ( bracket = strchr( varname, MAGIC_LEFT ) ) )
-            {
-                /* Make all syntax errors in [] subscripting result in the same
-                 * behavior: silenty return an empty expansion (by setting sub2
-                 * = 0). Brute force parsing; May get moved into yacc someday.
-                 */
-
-                char * s = bracket + 1;
-
-                string_truncate( variable, bracket - varname );
-
-                do  /* so we can use "break" */
-                {
-                    /* Allow negative indexes. */
-                    if ( !isdigit( *s ) && ( *s != '-' ) )
-                    {
-                        sub2 = 0;
-                        break;
-                    }
-                    sub1 = atoi( s );
-
-                    /* Skip over the first symbol, which is either a digit or dash. */
-                    ++s;
-                    while ( isdigit( *s ) ) ++s;
-
-                    if ( *s == MAGIC_RIGHT )
-                    {
-                        sub2 = sub1;
-                        break;
-                    }
-
-                    if ( *s != '-' )
-                    {
-                        sub2 = 0;
-                        break;
-                    }
-
-                    ++s;
-
-                    if ( *s == MAGIC_RIGHT )
-                    {
-                        sub2 = -1;
-                        break;
-                    }
-
-                    if ( !isdigit( *s ) && ( *s != '-' ) )
-                    {
-                        sub2 = 0;
-                        break;
-                    }
-
-                    /* First, compute the index of the last element. */
-                    sub2 = atoi( s );
-                    while ( isdigit( *++s ) );
-
-                    if ( *s != MAGIC_RIGHT )
-                        sub2 = 0;
-
-                } while ( 0 );
-
-                /* Anything but the end of the string, or the colon introducing
-                 * a modifier is a syntax error.
-                 */
-                ++s;
-                if ( *s && ( *s != MAGIC_COLON ) )
-                    sub2 = 0;
-
-                *bracket = '\0';
-            }
-
-            /* Get variable value, with special handling for $(<), $(>), $(n).
-             */
-            if ( !varname[1] )
-            {
-                if ( varname[0] == '<' )
-                    value = lol_get( lol, 0 );
-                else if ( varname[0] == '>' )
-                    value = lol_get( lol, 1 );
-                else if ( ( varname[0] >= '1' ) && ( varname[0] <= '9' ) )
-                    value = lol_get( lol, varname[0] - '1' );
-                else if( varname[0] == '1' && varname[1] >= '0' &&
-                     varname[1] <= '9' && !varname[2] )
-                value = lol_get( lol, varname[1] - '0' + 10 - 1 );
-            }
-
-            if ( !value )
-                value = var_get( varname );
-
-            /* Handle negitive indexes: part two. */
-            {
-                int length = list_length( value );
-
-                if ( sub1 < 0 )
-                    sub1 = length + sub1;
-                else
-                    sub1 -= 1;
-
-                if ( sub2 < 0 )
-                    sub2 = length + 1 + sub2 - sub1;
-                else
-                    sub2 -= sub1;
-                /* The "sub2 < 0" test handles the semantic error of sub2 <
-                 * sub1.
-                 */
-                if ( sub2 < 0 )
-                    sub2 = 0;
-            }
-
-            /* The fast path: $(x) - just copy the variable value. This is only
-             * an optimization.
-             */
-            if ( ( out == out_buf ) && !bracket && !colon && ( in == end ) )
-            {
-                string_free( variable );
-                l = list_copy( l, value );
-                continue;
-            }
-
-            /* Handle start subscript. */
-            while ( ( sub1 > 0 ) && value )
-                --sub1, value = list_next( value );
-
-            /* Empty w/ :E=default?. */
-            if ( !value && colon && edits.empty.ptr )
-                evalue = value = list_new( L0, newstr( edits.empty.ptr ) );
-
-            /* For each variable value. */
-            string_new( out1 );
-            for ( ; value; value = list_next( value ) )
-            {
-                LIST * rem;
-                size_t postfix_start;
-
-                /* Handle end subscript (length actually). */
-
-                if ( sub2 >= 0 && --sub2 < 0 )
-                    break;
-
-                string_truncate( buf, prefix_length );
-
-                /* Apply : mods, if present */
-
-                if ( colon && edits.filemods )
-                    var_edit_file( value->string, out1, &edits );
-                else
-                    string_append( out1, value->string );
-
-                if ( colon && ( edits.upshift || edits.downshift || edits.to_slashes || edits.to_windows ) )
-                    var_edit_shift( out1, &edits );
-
-                /* Handle :J=joinval */
-                /* If we have more values for this var, just keep appending them
-                 * (using the join value) rather than creating separate LIST
-                 * elements.
-                 */
-                if ( colon && edits.join.ptr &&
-                    ( list_next( value ) || list_next( vars ) ) )
-                {
-                    string_append( out1, edits.join.ptr );
-                    continue;
-                }
-
-                string_append( buf, out1->value );
-                string_free( out1 );
-                string_new( out1 );
-
-                /* If no remainder, append result to output chain. */
-                if ( in == end )
-                {
-                    l = list_new( l, newstr( buf->value ) );
-                    continue;
-                }
-
-                /* For each remainder, append the complete string to the output
-                 * chain. Remember the end of the variable expansion so we can
-                 * just tack on each instance of 'remainder'.
-                 */
-                postfix_start = buf->size;
-                for ( rem = remainder; rem; rem = list_next( rem ) )
-                {
-                    string_truncate( buf, postfix_start );
-                    string_append( buf, rem->string );
-                    l = list_new( l, newstr( buf->value ) );
-                }
-            }
-            string_free( out1 );
-
-            /* Toss used empty. */
-            if ( evalue )
-                list_free( evalue );
-
-            string_free( variable );
-        }
-
-        /* variables & remainder were gifts from var_expand and must be freed. */
-        if ( variables ) list_free( variables );
-        if ( remainder ) list_free( remainder );
-
-        if ( DEBUG_VAREXP )
-        {
-            printf( "expanded to " );
-            list_print( l );
-            printf( "\n" );
-        }
-
-        string_free( buf );
-        return l;
-    }
-}
-
-
-/*
- * var_edit_parse() - parse : modifiers into PATHNAME structure
- *
- * The : modifiers in a $(varname:modifier) currently support replacing or
- * omitting elements of a filename, and so they are parsed into a PATHNAME
- * structure (which contains pointers into the original string).
- *
- * Modifiers of the form "X=value" replace the component X with the given value.
- * Modifiers without the "=value" cause everything but the component X to be
- * omitted. X is one of:
- *
- *  G <grist>
- *  D directory name
- *  B base name
- *  S .suffix
- *  M (member)
- *  R root directory - prepended to whole path
- *
- * This routine sets:
- *
- *  f->f_xxx.ptr = 0
- *  f->f_xxx.len = 0
- *      -> leave the original component xxx
- *
- *  f->f_xxx.ptr = string
- *  f->f_xxx.len = strlen( string )
- *      -> replace component xxx with string
- *
- *  f->f_xxx.ptr = ""
- *  f->f_xxx.len = 0
- *      -> omit component xxx
- *
- * var_edit_file() below and path_build() obligingly follow this convention.
- */
-
-static void var_edit_parse( char * mods, VAR_EDITS * edits )
-{
-    int havezeroed = 0;
-    memset( (char *)edits, 0, sizeof( *edits ) );
-
-    while ( *mods )
-    {
-        char * p;
-        PATHPART * fp;
-
-        switch ( *mods++ )
-        {
-            case 'L': edits->downshift = 1; continue;
-            case 'U': edits->upshift = 1; continue;
-            case 'P': edits->parent = edits->filemods = 1; continue;
-            case 'E': fp = &edits->empty; goto strval;
-            case 'J': fp = &edits->join; goto strval;
-            case 'G': fp = &edits->f.f_grist; goto fileval;
-            case 'R': fp = &edits->f.f_root; goto fileval;
-            case 'D': fp = &edits->f.f_dir; goto fileval;
-            case 'B': fp = &edits->f.f_base; goto fileval;
-            case 'S': fp = &edits->f.f_suffix; goto fileval;
-            case 'M': fp = &edits->f.f_member; goto fileval;
-            case 'T': edits->to_slashes = 1; continue;
-            case 'W': edits->to_windows = 1; continue;
-            default:
-                return;  /* Should complain, but so what... */
-        }
-
-    fileval:
-        /* Handle :CHARS, where each char (without a following =) selects a
-         * particular file path element. On the first such char, we deselect all
-         * others (by setting ptr = "", len = 0) and for each char we select
-         * that element (by setting ptr = 0).
-         */
-        edits->filemods = 1;
-
-        if ( *mods != '=' )
-        {
-            if ( !havezeroed++ )
-            {
-                int i;
-                for ( i = 0; i < 6; ++i )
-                {
-                    edits->f.part[ i ].len = 0;
-                    edits->f.part[ i ].ptr = "";
-                }
-            }
-
-            fp->ptr = 0;
-            continue;
-        }
-
-    strval:
-        /* Handle :X=value, or :X */
-        if ( *mods != '=' )
-        {
-            fp->ptr = "";
-            fp->len = 0;
-        }
-        else if ( ( p = strchr( mods, MAGIC_COLON ) ) )
-        {
-            *p = 0;
-            fp->ptr = ++mods;
-            fp->len = p - mods;
-            mods = p + 1;
-        }
-        else
-        {
-            fp->ptr = ++mods;
-            fp->len = strlen( mods );
-            mods += fp->len;
-        }
-    }
-}
-
-
-/*
- * var_edit_file() - copy input target name to output, modifying filename.
- */
-
-static void var_edit_file( char * in, string * out, VAR_EDITS * edits )
-{
-    PATHNAME pathname;
-
-    /* Parse apart original filename, putting parts into "pathname". */
-    path_parse( in, &pathname );
-
-    /* Replace any pathname with edits->f */
-    if ( edits->f.f_grist .ptr ) pathname.f_grist  = edits->f.f_grist;
-    if ( edits->f.f_root  .ptr ) pathname.f_root   = edits->f.f_root;
-    if ( edits->f.f_dir   .ptr ) pathname.f_dir    = edits->f.f_dir;
-    if ( edits->f.f_base  .ptr ) pathname.f_base   = edits->f.f_base;
-    if ( edits->f.f_suffix.ptr ) pathname.f_suffix = edits->f.f_suffix;
-    if ( edits->f.f_member.ptr ) pathname.f_member = edits->f.f_member;
-
-    /* If requested, modify pathname to point to parent. */
-    if ( edits->parent )
-        path_parent( &pathname );
-
-    /* Put filename back together. */
-    path_build( &pathname, out, 0 );
-}
-
-
-/*
- * var_edit_shift() - do upshift/downshift mods.
- */
-
-static void var_edit_shift( string * out, VAR_EDITS * edits )
-{
-    /* Handle upshifting, downshifting and slash translation now. */
-    char * p;
-    for ( p = out->value; *p; ++p)
-    {
-        if ( edits->upshift )
-            *p = toupper( *p );
-        else if ( edits->downshift )
-            *p = tolower( *p );
-        if ( edits->to_slashes && ( *p == '\\' ) )
-            *p = '/';
-# ifdef OS_CYGWIN
-        if ( edits->to_windows )
-        {
-            char result[ MAX_PATH + 1 ];
-            cygwin_conv_to_win32_path( out->value, result );
-            assert( strlen( result ) <= MAX_PATH );
-            string_free( out );
-            string_copy( out, result );
-        }
-# endif
-    }
-    out->size = p - out->value;
-}
-
-
-#ifndef NDEBUG
-void var_expand_unit_test()
-{
-    LOL lol[ 1 ];
-    LIST * l;
-    LIST * l2;
-    LIST * expected = list_new( list_new( L0, newstr( "axb" ) ), newstr( "ayb" ) );
-    LIST * e2;
-    char axyb[] = "a$(xy)b";
-    char azb[] = "a$($(z))b";
-    char path[] = "$(p:W)";
-
-# ifdef OS_CYGWIN
-    char cygpath[ 256 ];
-    cygwin_conv_to_posix_path( "c:\\foo\\bar", cygpath );
-# else
-    char cygpath[] = "/cygdrive/c/foo/bar";
-# endif
-
-    lol_init(lol);
-    var_set( "xy", list_new( list_new( L0, newstr( "x" ) ), newstr( "y" ) ), VAR_SET );
-    var_set( "z", list_new( L0, newstr( "xy" ) ), VAR_SET );
-    var_set( "p", list_new( L0, newstr( cygpath ) ), VAR_SET );
-
-    l = var_expand( 0, axyb, axyb + sizeof( axyb ) - 1, lol, 0 );
-    for ( l2 = l, e2 = expected; l2 && e2; l2 = list_next( l2 ), e2 = list_next( e2 ) )
-        assert( !strcmp( e2->string, l2->string ) );
-    assert( l2 == 0 );
-    assert( e2 == 0 );
-    list_free( l );
-
-    l = var_expand( 0, azb, azb + sizeof( azb ) - 1, lol, 0 );
-    for ( l2 = l, e2 = expected; l2 && e2; l2 = list_next( l2 ), e2 = list_next( e2 ) )
-        assert( !strcmp( e2->string, l2->string ) );
-    assert( l2 == 0 );
-    assert( e2 == 0 );
-    list_free( l );
-
-    l = var_expand( 0, path, path + sizeof( path ) - 1, lol, 0 );
-    assert( l != 0 );
-    assert( list_next( l ) == 0 );
-# ifdef OS_CYGWIN
-    /* On some installations of cygwin the drive letter is expanded to other
-     * case. This has been reported to be the case if cygwin has been installed
-     * to C:\ as opposed to C:\cygwin. Since case of the drive letter will not
-     * matter, we allow for both.
-     */
-    assert( !strcmp( l->string, "c:\\foo\\bar" ) ||
-            !strcmp( l->string, "C:\\foo\\bar" ) );
-# else
-    assert( !strcmp( l->string, cygpath ) );
-# endif
-    list_free( l );
-    list_free( expected );
-    lol_free( lol );
-}
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/expand.h b/SRC/Boost/tools/build/v2/engine/expand.h
deleted file mode 100755
index 1371f22..0000000
--- a/SRC/Boost/tools/build/v2/engine/expand.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * expand.h - expand a buffer, given variable values
- */
-
-#include "lists.h"
-
-LIST *var_expand( LIST  *l, char *in, char *end, LOL *lol, int cancopyin );
-void var_expand_unit_test();
diff --git a/SRC/Boost/tools/build/v2/engine/filemac.c b/SRC/Boost/tools/build/v2/engine/filemac.c
deleted file mode 100755
index b80e444..0000000
--- a/SRC/Boost/tools/build/v2/engine/filemac.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "jam.h"
-# include "filesys.h"
-# include "pathsys.h"
-
-# ifdef OS_MAC
-
-#include <Files.h>
-#include <Folders.h>
-
-# include <:sys:stat.h>
-
-/*
- * filemac.c - manipulate file names and scan directories on macintosh
- *
- * External routines:
- *
- *  file_dirscan() - scan a directory for files
- *  file_time() - get timestamp of file, if not done by file_dirscan()
- *  file_archscan() - scan an archive for files
- *
- * File_dirscan() and file_archscan() call back a caller provided function
- * for each file found.  A flag to this callback function lets file_dirscan()
- * and file_archscan() indicate that a timestamp is being provided with the
- * file.   If file_dirscan() or file_archscan() do not provide the file's
- * timestamp, interested parties may later call file_time().
- *
- * 04/08/94 (seiwald) - Coherent/386 support added.
- * 12/19/94 (mikem) - solaris string table insanity support
- * 02/14/95 (seiwald) - parse and build /xxx properly
- * 05/03/96 (seiwald) - split into pathunix.c
- * 11/21/96 (peterk) - BEOS does not have Unix-style archives
- */
-
-
-void CopyC2PStr( char const * cstr, StringPtr pstr )
-{
-    int len;
-    for ( len = 0; *cstr && ( len < 255 ); pstr[ ++len ] = *cstr++ );
-    pstr[ 0 ] = len;
-}
-
-
-/*
- * file_dirscan() - scan a directory for files.
- */
-
-void file_dirscan( char * dir, scanback func, void * closure )
-{
-    PATHNAME f;
-    string filename[ 1 ];
-    unsigned char fullPath[ 512 ];
-
-    FSSpec spec;
-    WDPBRec vol;
-    Str63 volName;
-    CInfoPBRec lastInfo;
-    int index = 1;
-
-    /* First enter directory itself. */
-
-    memset( (char *)&f, '\0', sizeof( f ) );
-
-    f.f_dir.ptr = dir;
-    f.f_dir.len = strlen(dir);
-
-    if ( DEBUG_BINDSCAN )
-        printf( "scan directory %s\n", dir );
-
-    /* Special case ":" - enter it */
-
-    if ( ( f.f_dir.len == 1 ) && ( f.f_dir.ptr[0] == ':' ) )
-        (*func)( closure, dir, 0 /* not stat()'ed */, (time_t)0 );
-
-    /* Now enter contents of directory */
-
-    vol.ioNamePtr = volName;
-
-    if ( PBHGetVolSync( &vol ) )
-        return;
-
-    CopyC2PStr( dir, fullPath );
-
-    if ( FSMakeFSSpec( vol.ioWDVRefNum, vol.ioWDDirID, fullPath, &spec ) )
-        return;
-
-    lastInfo.dirInfo.ioVRefNum   = spec.vRefNum;
-    lastInfo.dirInfo.ioDrDirID   = spec.parID;
-    lastInfo.dirInfo.ioNamePtr   = spec.name;
-    lastInfo.dirInfo.ioFDirIndex = 0;
-    lastInfo.dirInfo.ioACUser    = 0;
-
-    if ( PBGetCatInfoSync( &lastInfo ) )
-        return;
-
-    if ( !( lastInfo.dirInfo.ioFlAttrib & 0x10 ) )
-        return;
-
-    /* ioDrDirID must be reset each time. */
-    spec.parID = lastInfo.dirInfo.ioDrDirID;
-
-    string_new( filename );
-    for ( ; ; )
-    {
-        lastInfo.dirInfo.ioVRefNum  = spec.vRefNum;
-        lastInfo.dirInfo.ioDrDirID  = spec.parID;
-        lastInfo.dirInfo.ioNamePtr  = fullPath;
-        lastInfo.dirInfo.ioFDirIndex = index++;
-
-        if ( PBGetCatInfoSync( &lastInfo ) )
-            return;
-
-        f.f_base.ptr = (char *)fullPath + 1;
-        f.f_base.len = *fullPath;
-
-        string_truncate( filename, 0 );
-        path_build( &f, filename, 0 );
-        (*func)( closure, filename->value, 0 /* not stat()'ed */, (time_t)0 );
-    }
-    string_free( filename );
-}
-
-
-/*
- * file_time() - get timestamp of file, if not done by file_dirscan().
- */
-
-int file_time( char * filename, time_t * time )
-{
-    struct stat statbuf;
-
-    if ( stat( filename, &statbuf ) < 0 )
-        return -1;
-
-    *time = statbuf.st_mtime;
-
-    return 0;
-}
-
-
-int file_is_file( char * filename )
-{
-    struct stat statbuf;
-    if ( stat( filename, &statbuf ) < 0 )
-        return -1;
-    return S_ISREG( statbuf.st_mode ) ? 1 : 0;
-}
-
-int file_mkdir(char *pathname)
-{
-    return mkdir(pathname, 0766);
-}
-
-
-/*
- * file_archscan() - scan an archive for files.
- */
-
-void file_archscan( char * archive, scanback func, void * closure )
-{
-}
-
-
-# endif /* macintosh */
diff --git a/SRC/Boost/tools/build/v2/engine/filent.c b/SRC/Boost/tools/build/v2/engine/filent.c
deleted file mode 100755
index 3866d4d..0000000
--- a/SRC/Boost/tools/build/v2/engine/filent.c
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Copyright 2005 Rene Rivera.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "jam.h"
-
-# include "filesys.h"
-# include "pathsys.h"
-# include "strings.h"
-# include "newstr.h"
-
-# ifdef OS_NT
-
-# ifdef __BORLANDC__
-# if __BORLANDC__ < 0x550
-# include <dir.h>
-# include <dos.h>
-# endif
-# undef FILENAME    /* cpp namespace collision */
-# define _finddata_t ffblk
-# endif
-
-# include <io.h>
-# include <sys/stat.h>
-# include <ctype.h>
-# include <direct.h>
-
-/*
- * filent.c - scan directories and archives on NT
- *
- * External routines:
- *
- *  file_dirscan() - scan a directory for files
- *  file_time() - get timestamp of file, if not done by file_dirscan()
- *  file_archscan() - scan an archive for files
- *
- * File_dirscan() and file_archscan() call back a caller provided function
- * for each file found.  A flag to this callback function lets file_dirscan()
- * and file_archscan() indicate that a timestamp is being provided with the
- * file.   If file_dirscan() or file_archscan() do not provide the file's
- * timestamp, interested parties may later call file_time().
- *
- * 07/10/95 (taylor)  Findfirst() returns the first file on NT.
- * 05/03/96 (seiwald) split apart into pathnt.c
- */
-
-/*
- * file_dirscan() - scan a directory for files
- */
-
-void file_dirscan( char * dir, scanback func, void * closure )
-{
-    PROFILE_ENTER( FILE_DIRSCAN );
-
-    file_info_t * d = 0;
-
-    dir = short_path_to_long_path( dir );
-
-    /* First enter directory itself */
-
-    d = file_query( dir );
-
-    if ( !d || !d->is_dir )
-    {
-        PROFILE_EXIT( FILE_DIRSCAN );
-        return;
-    }
-
-    if ( !d->files )
-    {
-        PATHNAME f;
-        string filespec[ 1 ];
-        string filename[ 1 ];
-        long handle;
-        int ret;
-        struct _finddata_t finfo[ 1 ];
-        LIST * files = L0;
-        int d_length = strlen( d->name );
-
-        memset( (char *)&f, '\0', sizeof( f ) );
-
-        f.f_dir.ptr = d->name;
-        f.f_dir.len = d_length;
-
-        /* Now enter contents of directory */
-
-        /* Prepare file search specification for the findfirst() API. */
-        if ( d_length == 0 )
-            string_copy( filespec, ".\\*" );
-        else
-        {
-            /*
-             * We can not simply assume the given folder name will never include
-             * its trailing path separator or otherwise we would not support the
-             * Windows root folder specified without its drive letter, i.e. '\'.
-             */
-            char trailingChar = d->name[ d_length - 1 ] ;
-            string_copy( filespec, d->name );
-            if ( ( trailingChar != '\\' ) && ( trailingChar != '/' ) )
-                string_append( filespec, "\\" );
-            string_append( filespec, "*" );
-        }
-
-        if ( DEBUG_BINDSCAN )
-            printf( "scan directory %s\n", dir );
-
-        #if defined(__BORLANDC__) && __BORLANDC__ < 0x550
-        if ( ret = findfirst( filespec->value, finfo, FA_NORMAL | FA_DIREC ) )
-        {
-            string_free( filespec );
-            PROFILE_EXIT( FILE_DIRSCAN );
-            return;
-        }
-
-        string_new ( filename );
-        while ( !ret )
-        {
-            file_info_t * ff = 0;
-
-            f.f_base.ptr = finfo->ff_name;
-            f.f_base.len = strlen( finfo->ff_name );
-
-            string_truncate( filename, 0 );
-            path_build( &f, filename );
-
-            files = list_new( files, newstr(filename->value) );
-            ff = file_info( filename->value );
-            ff->is_file = finfo->ff_attrib & FA_DIREC ? 0 : 1;
-            ff->is_dir = finfo->ff_attrib & FA_DIREC ? 1 : 0;
-            ff->size = finfo->ff_fsize;
-            ff->time = (finfo->ff_ftime << 16) | finfo->ff_ftime;
-
-            ret = findnext( finfo );
-        }
-        # else
-        handle = _findfirst( filespec->value, finfo );
-
-        if ( ret = ( handle < 0L ) )
-        {
-            string_free( filespec );
-            PROFILE_EXIT( FILE_DIRSCAN );
-            return;
-        }
-
-        string_new( filename );
-        while ( !ret )
-        {
-            file_info_t * ff = 0;
-
-            f.f_base.ptr = finfo->name;
-            f.f_base.len = strlen( finfo->name );
-
-            string_truncate( filename, 0 );
-            path_build( &f, filename, 0 );
-
-            files = list_new( files, newstr( filename->value ) );
-            ff = file_info( filename->value );
-            ff->is_file = finfo->attrib & _A_SUBDIR ? 0 : 1;
-            ff->is_dir = finfo->attrib & _A_SUBDIR ? 1 : 0;
-            ff->size = finfo->size;
-            ff->time = finfo->time_write;
-
-            ret = _findnext( handle, finfo );
-        }
-
-        _findclose( handle );
-        # endif
-        string_free( filename );
-        string_free( filespec );
-
-        d->files = files;
-    }
-
-    /* Special case \ or d:\ : enter it */
-    {
-        unsigned long len = strlen(d->name);
-        if ( len == 1 && d->name[0] == '\\' )
-            (*func)( closure, d->name, 1 /* stat()'ed */, d->time );
-        else if ( len == 3 && d->name[1] == ':' ) {
-            (*func)( closure, d->name, 1 /* stat()'ed */, d->time );
-            /* We've just entered 3-letter drive name spelling (with trailing
-               slash), into the hash table. Now enter two-letter variant,
-               without trailing slash, so that if we try to check whether
-               "c:" exists, we hit it.
-
-               Jam core has workarounds for that. Given:
-                  x = c:\whatever\foo ;
-                  p = $(x:D) ;
-                  p2 = $(p:D) ;
-               There will be no trailing slash in $(p), but there will be one
-               in $(p2). But, that seems rather fragile.                
-            */
-            d->name[2] = 0;
-            (*func)( closure, d->name, 1 /* stat()'ed */, d->time );
-        }
-    }
-
-    /* Now enter contents of directory */
-    if ( d->files )
-    {
-        LIST * files = d->files;
-        while ( files )
-        {
-            file_info_t * ff = file_info( files->string );
-            (*func)( closure, ff->name, 1 /* stat()'ed */, ff->time );
-            files = list_next( files );
-        }
-    }
-
-    PROFILE_EXIT( FILE_DIRSCAN );
-}
-
-file_info_t * file_query( char * filename )
-{
-    file_info_t * ff = file_info( filename );
-    if ( ! ff->time )
-    {
-        struct stat statbuf;
-
-        if ( stat( *filename ? filename : ".", &statbuf ) < 0 )
-            return 0;
-
-        ff->is_file = statbuf.st_mode & S_IFREG ? 1 : 0;
-        ff->is_dir = statbuf.st_mode & S_IFDIR ? 1 : 0;
-        ff->size = statbuf.st_size;
-        ff->time = statbuf.st_mtime ? statbuf.st_mtime : 1;
-    }
-    return ff;
-}
-
-/*
- * file_time() - get timestamp of file, if not done by file_dirscan()
- */
-
-int
-file_time(
-    char    *filename,
-    time_t  *time )
-{
-    file_info_t * ff = file_query( filename );
-    if ( !ff ) return -1;
-    *time = ff->time;
-    return 0;
-}
-
-int file_is_file(char* filename)
-{
-    file_info_t * ff = file_query( filename );
-    if ( !ff ) return -1;
-    return ff->is_file;
-}
-
-int file_mkdir(char *pathname)
-{
-    return _mkdir(pathname);
-}
-
-/*
- * file_archscan() - scan an archive for files
- */
-
-/* Straight from SunOS */
-
-#define ARMAG   "!<arch>\n"
-#define SARMAG  8
-
-#define ARFMAG  "`\n"
-
-struct ar_hdr {
-    char    ar_name[16];
-    char    ar_date[12];
-    char    ar_uid[6];
-    char    ar_gid[6];
-    char    ar_mode[8];
-    char    ar_size[10];
-    char    ar_fmag[2];
-};
-
-# define SARFMAG 2
-# define SARHDR sizeof( struct ar_hdr )
-
-void
-file_archscan(
-    char *archive,
-    scanback func,
-    void *closure )
-{
-    struct ar_hdr ar_hdr;
-    char *string_table = 0;
-    char buf[ MAXJPATH ];
-    long offset;
-    int fd;
-
-    if ( ( fd = open( archive, O_RDONLY | O_BINARY, 0 ) ) < 0 )
-        return;
-
-    if ( read( fd, buf, SARMAG ) != SARMAG ||
-        strncmp( ARMAG, buf, SARMAG ) )
-    {
-        close( fd );
-        return;
-    }
-
-    offset = SARMAG;
-
-    if ( DEBUG_BINDSCAN )
-        printf( "scan archive %s\n", archive );
-
-    while ( ( read( fd, &ar_hdr, SARHDR ) == SARHDR ) &&
-           !memcmp( ar_hdr.ar_fmag, ARFMAG, SARFMAG ) )
-    {
-        long    lar_date;
-        long    lar_size;
-        char    *name = 0;
-        char    *endname;
-        char    *c;
-
-        sscanf( ar_hdr.ar_date, "%ld", &lar_date );
-        sscanf( ar_hdr.ar_size, "%ld", &lar_size );
-
-        lar_size = ( lar_size + 1 ) & ~1;
-
-        if (ar_hdr.ar_name[0] == '/' && ar_hdr.ar_name[1] == '/' )
-        {
-        /* this is the "string table" entry of the symbol table,
-        ** which holds strings of filenames that are longer than
-        ** 15 characters (ie. don't fit into a ar_name
-        */
-
-        string_table = BJAM_MALLOC_ATOMIC(lar_size+1);
-        if (read(fd, string_table, lar_size) != lar_size)
-            printf("error reading string table\n");
-        string_table[lar_size] = '\0';
-        offset += SARHDR + lar_size;
-        continue;
-        }
-        else if (ar_hdr.ar_name[0] == '/' && ar_hdr.ar_name[1] != ' ')
-        {
-            /* Long filenames are recognized by "/nnnn" where nnnn is
-            ** the offset of the string in the string table represented
-            ** in ASCII decimals.
-            */
-
-            name = string_table + atoi( ar_hdr.ar_name + 1 );
-            for ( endname = name; *endname && *endname != '\n'; ++endname) {}
-        }
-        else
-        {
-            /* normal name */
-            name = ar_hdr.ar_name;
-            endname = name + sizeof( ar_hdr.ar_name );
-        }
-
-        /* strip trailing white-space, slashes, and backslashes */
-
-        while ( endname-- > name )
-            if ( !isspace(*endname) && ( *endname != '\\' ) && ( *endname != '/' ) )
-                break;
-        *++endname = 0;
-
-        /* strip leading directory names, an NT specialty */
-
-        if ( c = strrchr( name, '/' ) )
-        name = c + 1;
-        if ( c = strrchr( name, '\\' ) )
-        name = c + 1;
-
-        sprintf( buf, "%s(%.*s)", archive, endname - name, name );
-        (*func)( closure, buf, 1 /* time valid */, (time_t)lar_date );
-
-        offset += SARHDR + lar_size;
-        lseek( fd, offset, 0 );
-    }
-
-    close( fd );
-}
-
-# endif /* NT */
diff --git a/SRC/Boost/tools/build/v2/engine/fileos2.c b/SRC/Boost/tools/build/v2/engine/fileos2.c
deleted file mode 100755
index 2481353..0000000
--- a/SRC/Boost/tools/build/v2/engine/fileos2.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "jam.h"
-# include "filesys.h"
-# include "pathsys.h"
-
-/* note that we use "fileunix.c" when compiling with EMX on OS/2 */
-# if defined(OS_OS2) && !defined(__EMX__)
-
-# include <io.h>
-# include <dos.h>
-
-/*
- * fileos2.c - scan directories and archives on NT
- *
- * External routines:
- *
- *  file_dirscan() - scan a directory for files
- *  file_time() - get timestamp of file, if not done by file_dirscan()
- *  file_archscan() - scan an archive for files
- *
- * File_dirscan() and file_archscan() call back a caller provided function
- * for each file found.  A flag to this callback function lets file_dirscan()
- * and file_archscan() indicate that a timestamp is being provided with the
- * file.   If file_dirscan() or file_archscan() do not provide the file's
- * timestamp, interested parties may later call file_time().
- *
- * 07/10/95 (taylor)  Findfirst() returns the first file on NT.
- * 05/03/96 (seiwald) split apart into pathnt.c
- * 09/22/00 (seiwald) handle \ and c:\ specially: don't add extra /
- */
-
-/*
- * file_dirscan() - scan a directory for files
- */
-
-void
-file_dirscan(
-    char *dir,
-    scanback func,
-    void    *closure )
-{
-    PATHNAME f;
-    string filespec[1];
-    long handle;
-    int ret;
-    struct _find_t finfo[1];
-
-    /* First enter directory itself */
-
-    memset( (char *)&f, '\0', sizeof( f ) );
-
-    f.f_dir.ptr = dir;
-    f.f_dir.len = strlen(dir);
-
-    dir = *dir ? dir : ".";
-
-    /* Special case \ or d:\ : enter it */
-    string_copy( filespec, dir );
-
-    if ( f.f_dir.len == 1 && f.f_dir.ptr[0] == '\\' )
-        (*func)( closure, dir, 0 /* not stat()'ed */, (time_t)0 );
-    else if ( f.f_dir.len == 3 && f.f_dir.ptr[1] == ':' )
-        (*func)( closure, dir, 0 /* not stat()'ed */, (time_t)0 );
-    else
-        string_push_back( filespec, '/' );
-
-    string_push_back( filespec, '*' );
-
-    /* Now enter contents of directory */
-
-    if ( DEBUG_BINDSCAN )
-        printf( "scan directory %s\n", filespec->value );
-
-    /* Time info in dos find_t is not very useful.  It consists */
-    /* of a separate date and time, and putting them together is */
-    /* not easy.  So we leave that to a later stat() call. */
-
-    if ( !_dos_findfirst( filespec->value, _A_NORMAL|_A_RDONLY|_A_SUBDIR, finfo ) )
-    {
-        string filename[1];
-        string_new( filename );
-        do
-        {
-            f.f_base.ptr = finfo->name;
-            f.f_base.len = strlen( finfo->name );
-
-            string_truncate( filename, 0 );
-            path_build( &f, filename, 0 );
-            (*func)( closure, filename->value, 0 /* not stat()'ed */, (time_t)0 );
-        }
-        while ( !_dos_findnext( finfo ) );
-        string_free( filename );
-    }
-}
-
-/*
- * file_time() - get timestamp of file, if not done by file_dirscan()
- */
-
-int
-file_time(
-    char    *filename,
-    time_t  *time )
-{
-    /* This is called on OS2, not NT.  */
-    /* NT fills in the time in the dirscan. */
-
-    struct stat statbuf;
-
-    if ( stat( filename, &statbuf ) < 0 )
-        return -1;
-
-    *time = statbuf.st_mtime;
-
-    return 0;
-}
-
-void
-file_archscan(
-    char *archive,
-    scanback func,
-    void    *closure )
-{
-}
-
-# endif /* OS2 && !__EMX__ */
-
diff --git a/SRC/Boost/tools/build/v2/engine/filesys.c b/SRC/Boost/tools/build/v2/engine/filesys.c
deleted file mode 100755
index ddaffd3..0000000
--- a/SRC/Boost/tools/build/v2/engine/filesys.c
+++ /dev/null
@@ -1,83 +0,0 @@
-# include "jam.h"
-# include "pathsys.h"
-# include "strings.h"
-# include "newstr.h"
-# include "filesys.h"
-# include "lists.h"
-
-void file_build1( PATHNAME * f, string * file )
-{
-    if ( DEBUG_SEARCH )
-    {
-        printf("build file: ");
-        if ( f->f_root.len )
-            printf( "root = '%.*s' ", f->f_root.len, f->f_root.ptr );
-        if ( f->f_dir.len )
-            printf( "dir = '%.*s' ", f->f_dir.len, f->f_dir.ptr );
-        if ( f->f_base.len )
-            printf( "base = '%.*s' ", f->f_base.len, f->f_base.ptr );
-        printf( "\n" );
-    }
-
-    /* Start with the grist.  If the current grist isn't */
-    /* surrounded by <>'s, add them. */
-
-    if ( f->f_grist.len )
-    {
-        if ( f->f_grist.ptr[0] != '<' )
-            string_push_back( file, '<' );
-        string_append_range(
-            file, f->f_grist.ptr, f->f_grist.ptr + f->f_grist.len );
-        if ( file->value[file->size - 1] != '>' )
-            string_push_back( file, '>' );
-    }
-}
-
-static struct hash * filecache_hash = 0;
-static file_info_t filecache_finfo;
-
-file_info_t * file_info(char * filename)
-{
-    file_info_t *finfo = &filecache_finfo;
-
-    if ( !filecache_hash )
-        filecache_hash = hashinit( sizeof( file_info_t ), "file_info" );
-
-    finfo->name = filename;
-    finfo->is_file = 0;
-    finfo->is_dir = 0;
-    finfo->size = 0;
-    finfo->time = 0;
-    finfo->files = 0;
-    if ( hashenter( filecache_hash, (HASHDATA**)&finfo ) )
-    {
-        /* printf( "file_info: %s\n", filename ); */
-        finfo->name = newstr( finfo->name );
-    }
-
-    return finfo;
-}
-
-static LIST * files_to_remove = L0;
-
-static void remove_files_atexit(void)
-{
-    /* we do pop front in case this exit function is called
-       more than once */
-    while ( files_to_remove )
-    {
-        remove( files_to_remove->string );
-        files_to_remove = list_pop_front( files_to_remove );
-    }
-}
-
-void file_done()
-{
-    remove_files_atexit();
-    hashdone( filecache_hash );
-}
-
-void file_remove_atexit( const char * path )
-{
-    files_to_remove = list_new( files_to_remove, newstr((char*)path) );
-}
diff --git a/SRC/Boost/tools/build/v2/engine/filesys.h b/SRC/Boost/tools/build/v2/engine/filesys.h
deleted file mode 100755
index 129fd95..0000000
--- a/SRC/Boost/tools/build/v2/engine/filesys.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*
- * filesys.h - OS specific file routines
- */
-
-#ifndef FILESYS_DWA20011025_H
-# define FILESYS_DWA20011025_H
-
-# include "pathsys.h"
-#include "hash.h"
-#include "lists.h"
-
-typedef void (*scanback)( void *closure, char *file, int found, time_t t );
-
-void file_dirscan( char *dir, scanback func, void *closure );
-void file_archscan( char *arch, scanback func, void *closure );
-
-int file_time( char *filename, time_t *time );
-
-void file_build1(PATHNAME *f, string* file) ;
-int file_is_file(char* filename);
-int file_mkdir(char *pathname);
-
-typedef struct file_info_t file_info_t ;
-struct file_info_t
-{
-    char          * name;
-    short           is_file;
-    short           is_dir;
-    unsigned long   size;
-    time_t          time;
-    LIST          * files;
-};
-
-
-/* Creates a pointer to information about file 'filename', creating it as
- * necessary. If created, the structure will be default initialized.
- */
-file_info_t * file_info( char * filename );
-
-/* Returns information about a file, queries the OS if needed. */
-file_info_t * file_query( char * filename );
-
-void file_done();
-
-/* Marks a path/file to be removed when jam exits. */
-void file_remove_atexit( const char * path );
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/fileunix.c b/SRC/Boost/tools/build/v2/engine/fileunix.c
deleted file mode 100755
index 02fe19d..0000000
--- a/SRC/Boost/tools/build/v2/engine/fileunix.c
+++ /dev/null
@@ -1,501 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Copyright 2005 Rene Rivera.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "jam.h"
-# include "filesys.h"
-# include "strings.h"
-# include "pathsys.h"
-# include "newstr.h"
-# include <stdio.h>
-# include <sys/stat.h>
-
-#if defined(sun) || defined(__sun) || defined(linux)
-# include <unistd.h> /* needed for read and close prototype */
-#endif
-
-# ifdef USE_FILEUNIX
-
-#if defined(sun) || defined(__sun)
-# include <unistd.h> /* needed for read and close prototype */
-#endif
-
-# if defined( OS_SEQUENT ) || \
-     defined( OS_DGUX ) || \
-     defined( OS_SCO ) || \
-     defined( OS_ISC )
-# define PORTAR 1
-# endif
-
-# ifdef __EMX__
-# include <sys/types.h>
-# include <sys/stat.h>
-# endif
-
-# if defined( OS_RHAPSODY ) || \
-     defined( OS_MACOSX ) || \
-     defined( OS_NEXT )
-/* need unistd for rhapsody's proper lseek */
-# include <sys/dir.h>
-# include <unistd.h>
-# define STRUCT_DIRENT struct direct
-# else
-# include <dirent.h>
-# define STRUCT_DIRENT struct dirent
-# endif
-
-# ifdef OS_COHERENT
-# include <arcoff.h>
-# define HAVE_AR
-# endif
-
-# if defined( OS_MVS ) || \
-         defined( OS_INTERIX )
-
-#define ARMAG   "!<arch>\n"
-#define SARMAG  8
-#define ARFMAG  "`\n"
-
-struct ar_hdr       /* archive file member header - printable ascii */
-{
-    char    ar_name[16];    /* file member name - `/' terminated */
-    char    ar_date[12];    /* file member date - decimal */
-    char    ar_uid[6];  /* file member user id - decimal */
-    char    ar_gid[6];  /* file member group id - decimal */
-    char    ar_mode[8]; /* file member mode - octal */
-    char    ar_size[10];    /* file member size - decimal */
-    char    ar_fmag[2]; /* ARFMAG - string to end header */
-};
-
-# define HAVE_AR
-# endif
-
-# if defined( OS_QNX ) || \
-     defined( OS_BEOS ) || \
-     defined( OS_MPEIX )
-# define NO_AR
-# define HAVE_AR
-# endif
-
-# ifndef HAVE_AR
-
-# ifdef OS_AIX
-/* Define those for AIX to get the definitions for both the small and the
- * big variant of the archive file format. */
-#    define __AR_SMALL__
-#    define __AR_BIG__
-# endif
-
-# include <ar.h>
-# endif
-
-/*
- * fileunix.c - manipulate file names and scan directories on UNIX/AmigaOS
- *
- * External routines:
- *
- *  file_dirscan() - scan a directory for files
- *  file_time() - get timestamp of file, if not done by file_dirscan()
- *  file_archscan() - scan an archive for files
- *
- * File_dirscan() and file_archscan() call back a caller provided function
- * for each file found.  A flag to this callback function lets file_dirscan()
- * and file_archscan() indicate that a timestamp is being provided with the
- * file.   If file_dirscan() or file_archscan() do not provide the file's
- * timestamp, interested parties may later call file_time().
- *
- * 04/08/94 (seiwald) - Coherent/386 support added.
- * 12/19/94 (mikem) - solaris string table insanity support
- * 02/14/95 (seiwald) - parse and build /xxx properly
- * 05/03/96 (seiwald) - split into pathunix.c
- * 11/21/96 (peterk) - BEOS does not have Unix-style archives
- */
-
-
-/*
- * file_dirscan() - scan a directory for files.
- */
-
-void file_dirscan( char * dir, scanback func, void * closure )
-{
-    PROFILE_ENTER( FILE_DIRSCAN );
-
-    file_info_t * d = 0;
-
-    d = file_query( dir );
-
-    if ( !d || !d->is_dir )
-    {
-        PROFILE_EXIT( FILE_DIRSCAN );
-        return;
-    }
-
-    if ( ! d->files )
-    {
-        LIST* files = L0;
-        PATHNAME f;
-        DIR *dd;
-        STRUCT_DIRENT *dirent;
-        string filename[1];
-
-        /* First enter directory itself */
-
-        memset( (char *)&f, '\0', sizeof( f ) );
-
-        f.f_dir.ptr = dir;
-        f.f_dir.len = strlen(dir);
-
-        dir = *dir ? dir : ".";
-
-        /* Now enter contents of directory. */
-
-        if ( !( dd = opendir( dir ) ) )
-        {
-            PROFILE_EXIT( FILE_DIRSCAN );
-            return;
-        }
-
-        if ( DEBUG_BINDSCAN )
-            printf( "scan directory %s\n", dir );
-
-        string_new( filename );
-        while ( ( dirent = readdir( dd ) ) )
-        {
-            # ifdef old_sinix
-            /* Broken structure definition on sinix. */
-            f.f_base.ptr = dirent->d_name - 2;
-            # else
-            f.f_base.ptr = dirent->d_name;
-            # endif
-            f.f_base.len = strlen( f.f_base.ptr );
-
-            string_truncate( filename, 0 );
-            path_build( &f, filename, 0 );
-
-            files = list_new( files, newstr(filename->value) );
-            file_query( filename->value );
-        }
-        string_free( filename );
-
-        closedir( dd );
-
-        d->files = files;
-    }
-
-    /* Special case / : enter it */
-    {
-        unsigned long len = strlen(d->name);
-        if ( ( len == 1 ) && ( d->name[0] == '/' ) )
-            (*func)( closure, d->name, 1 /* stat()'ed */, d->time );
-    }
-
-    /* Now enter contents of directory */
-    if ( d->files )
-    {
-        LIST * files = d->files;
-        while ( files )
-        {
-            file_info_t * ff = file_info( files->string );
-            (*func)( closure, ff->name, 1 /* stat()'ed */, ff->time );
-            files = list_next( files );
-        }
-    }
-
-    PROFILE_EXIT( FILE_DIRSCAN );
-}
-
-
-file_info_t * file_query( char * filename )
-{
-    file_info_t * ff = file_info( filename );
-    if ( ! ff->time )
-    {
-        struct stat statbuf;
-
-        if ( stat( *filename ? filename : ".", &statbuf ) < 0 )
-            return 0;
-
-        ff->is_file = statbuf.st_mode & S_IFREG ? 1 : 0;
-        ff->is_dir = statbuf.st_mode & S_IFDIR ? 1 : 0;
-        ff->size = statbuf.st_size;
-        ff->time = statbuf.st_mtime ? statbuf.st_mtime : 1;
-    }
-    return ff;
-}
-
-/*
- * file_time() - get timestamp of file, if not done by file_dirscan()
- */
-
-int
-file_time(
-    char    *filename,
-    time_t  *time )
-{
-    file_info_t * ff = file_query( filename );
-    if ( !ff ) return -1;
-    *time = ff->time;
-    return 0;
-}
-
-int file_is_file(char* filename)
-{
-    file_info_t * ff = file_query( filename );
-    if ( !ff ) return -1;
-    return ff->is_file;
-}
-
-int file_mkdir(char* pathname)
-{
-    return mkdir(pathname, 0766);
-}
-
-/*
- * file_archscan() - scan an archive for files
- */
-
-# ifndef AIAMAG /* God-fearing UNIX */
-
-# define SARFMAG 2
-# define SARHDR sizeof( struct ar_hdr )
-
-void
-file_archscan(
-    char *archive,
-    scanback func,
-    void *closure )
-{
-# ifndef NO_AR
-    struct ar_hdr ar_hdr;
-    char buf[ MAXJPATH ];
-    long offset;
-    char    *string_table = 0;
-    int fd;
-
-    if ( ( fd = open( archive, O_RDONLY, 0 ) ) < 0 )
-        return;
-
-    if ( read( fd, buf, SARMAG ) != SARMAG ||
-        strncmp( ARMAG, buf, SARMAG ) )
-    {
-        close( fd );
-        return;
-    }
-
-    offset = SARMAG;
-
-    if ( DEBUG_BINDSCAN )
-        printf( "scan archive %s\n", archive );
-
-    while ( ( read( fd, &ar_hdr, SARHDR ) == SARHDR )
-           && !( memcmp( ar_hdr.ar_fmag, ARFMAG, SARFMAG )
-#ifdef ARFZMAG
-              /* OSF also has a compressed format */
-              && memcmp( ar_hdr.ar_fmag, ARFZMAG, SARFMAG )
-#endif
-          ) )
-    {
-        char   lar_name_[257];
-        char * lar_name = lar_name_ + 1;
-        long   lar_date;
-        long   lar_size;
-        long   lar_offset;
-        char * c;
-        char * src;
-        char * dest;
-
-        strncpy( lar_name, ar_hdr.ar_name, sizeof(ar_hdr.ar_name) );
-
-        sscanf( ar_hdr.ar_date, "%ld", &lar_date );
-        sscanf( ar_hdr.ar_size, "%ld", &lar_size );
-
-        if (ar_hdr.ar_name[0] == '/')
-        {
-        if (ar_hdr.ar_name[1] == '/')
-        {
-            /* this is the "string table" entry of the symbol table,
-            ** which holds strings of filenames that are longer than
-            ** 15 characters (ie. don't fit into a ar_name
-            */
-
-            string_table = (char *)BJAM_MALLOC_ATOMIC(lar_size);
-            lseek(fd, offset + SARHDR, 0);
-            if (read(fd, string_table, lar_size) != lar_size)
-            printf("error reading string table\n");
-        }
-        else if (string_table && ar_hdr.ar_name[1] != ' ')
-        {
-            /* Long filenames are recognized by "/nnnn" where nnnn is
-            ** the offset of the string in the string table represented
-            ** in ASCII decimals.
-            */
-            dest = lar_name;
-            lar_offset = atoi(lar_name + 1);
-            src = &string_table[lar_offset];
-            while (*src != '/')
-            *dest++ = *src++;
-            *dest = '/';
-        }
-        }
-
-        c = lar_name - 1;
-        while ( ( *++c != ' ' ) && ( *c != '/' ) ) ;
-        *c = '\0';
-
-        if ( DEBUG_BINDSCAN )
-        printf( "archive name %s found\n", lar_name );
-
-        sprintf( buf, "%s(%s)", archive, lar_name );
-
-        (*func)( closure, buf, 1 /* time valid */, (time_t)lar_date );
-
-        offset += SARHDR + ( ( lar_size + 1 ) & ~1 );
-        lseek( fd, offset, 0 );
-    }
-
-    if (string_table)
-        BJAM_FREE(string_table);
-
-    close( fd );
-
-# endif /* NO_AR */
-
-}
-
-# else /* AIAMAG - RS6000 AIX */
-
-static void file_archscan_small(
-    int fd, char const *archive, scanback func, void *closure)
-{
-    struct fl_hdr fl_hdr;
-
-    struct {
-        struct ar_hdr hdr;
-        char pad[ 256 ];
-    } ar_hdr ;
-
-    char buf[ MAXJPATH ];
-    long offset;
-
-    if ( read( fd, (char *)&fl_hdr, FL_HSZ ) != FL_HSZ)
-        return;
-
-    sscanf( fl_hdr.fl_fstmoff, "%ld", &offset );
-
-    if ( DEBUG_BINDSCAN )
-        printf( "scan archive %s\n", archive );
-
-    while ( ( offset > 0 )
-           && ( lseek( fd, offset, 0 ) >= 0 )
-           && ( read( fd, &ar_hdr, sizeof( ar_hdr ) ) >= sizeof( ar_hdr.hdr ) ) )
-    {
-        long lar_date;
-        int  lar_namlen;
-
-        sscanf( ar_hdr.hdr.ar_namlen, "%d" , &lar_namlen );
-        sscanf( ar_hdr.hdr.ar_date  , "%ld", &lar_date   );
-        sscanf( ar_hdr.hdr.ar_nxtmem, "%ld", &offset     );
-
-        if ( !lar_namlen )
-            continue;
-
-        ar_hdr.hdr._ar_name.ar_name[ lar_namlen ] = '\0';
-
-        sprintf( buf, "%s(%s)", archive, ar_hdr.hdr._ar_name.ar_name );
-
-        (*func)( closure, buf, 1 /* time valid */, (time_t)lar_date );
-    }
-}
-
-/* Check for OS version which supports the big variant. */
-#ifdef AR_HSZ_BIG
-
-static void file_archscan_big(
-    int fd, char const *archive, scanback func, void *closure)
-{
-    struct fl_hdr_big fl_hdr;
-
-    struct {
-        struct ar_hdr_big hdr;
-        char pad[ 256 ];
-    } ar_hdr ;
-
-    char buf[ MAXJPATH ];
-    long long offset;
-
-    if ( read( fd, (char *)&fl_hdr, FL_HSZ_BIG) != FL_HSZ_BIG)
-        return;
-
-    sscanf( fl_hdr.fl_fstmoff, "%lld", &offset );
-
-    if ( DEBUG_BINDSCAN )
-        printf( "scan archive %s\n", archive );
-
-    while ( ( offset > 0 )
-           && ( lseek( fd, offset, 0 ) >= 0 )
-           && ( read( fd, &ar_hdr, sizeof( ar_hdr ) ) >= sizeof( ar_hdr.hdr ) ) )
-    {
-        long lar_date;
-        int  lar_namlen;
-
-        sscanf( ar_hdr.hdr.ar_namlen, "%d"  , &lar_namlen );
-        sscanf( ar_hdr.hdr.ar_date  , "%ld" , &lar_date   );
-        sscanf( ar_hdr.hdr.ar_nxtmem, "%lld", &offset     );
-
-        if ( !lar_namlen )
-            continue;
-
-        ar_hdr.hdr._ar_name.ar_name[ lar_namlen ] = '\0';
-
-        sprintf( buf, "%s(%s)", archive, ar_hdr.hdr._ar_name.ar_name );
-
-        (*func)( closure, buf, 1 /* time valid */, (time_t)lar_date );
-    }
-
-}
-
-#endif /* AR_HSZ_BIG */
-
-void file_archscan(char *archive, scanback func, void *closure)
-{
-    int fd;
-    char fl_magic[SAIAMAG];
-
-    if (( fd = open(archive, O_RDONLY, 0)) < 0)
-        return;
-
-    if (read( fd, fl_magic, SAIAMAG) != SAIAMAG
-       || lseek(fd, 0, SEEK_SET) == -1)
-    {
-        close(fd);
-        return;
-    }
-
-    if (strncmp(AIAMAG, fl_magic, SAIAMAG) == 0)
-    {
-        /* read small variant */
-        file_archscan_small(fd, archive, func, closure);
-    }
-#ifdef AR_HSZ_BIG
-    else if (strncmp(AIAMAGBIG, fl_magic, SAIAMAG) == 0)
-    {
-        /* read big variant */
-        file_archscan_big(fd, archive, func, closure);
-    }
-#endif
-
-    close( fd );
-}
-
-# endif /* AIAMAG - RS6000 AIX */
-
-# endif /* USE_FILEUNIX */
diff --git a/SRC/Boost/tools/build/v2/engine/filevms.c b/SRC/Boost/tools/build/v2/engine/filevms.c
deleted file mode 100755
index 9e6f7e0..0000000
--- a/SRC/Boost/tools/build/v2/engine/filevms.c
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "jam.h"
-# include "filesys.h"
-# include "pathsys.h"
-
-# ifdef OS_VMS
-
-/*
- * filevms.c - scan directories and libaries on VMS
- *
- * External routines:
- *
- *  file_dirscan() - scan a directory for files
- *  file_time() - get timestamp of file, if not done by file_dirscan()
- *  file_archscan() - scan an archive for files
- *
- * File_dirscan() and file_archscan() call back a caller provided function
- * for each file found.  A flag to this callback function lets file_dirscan()
- * and file_archscan() indicate that a timestamp is being provided with the
- * file.   If file_dirscan() or file_archscan() do not provide the file's
- * timestamp, interested parties may later call file_time().
- *
- * 02/09/95 (seiwald) - bungled R=[xxx] - was using directory length!
- * 05/03/96 (seiwald) - split into pathvms.c
- */
-
-# include <rms.h>
-# include <iodef.h>
-# include <ssdef.h>
-# include <string.h>
-# include <stdlib.h>
-# include <stdio.h>
-# include <descrip.h>
-
-#include <lbrdef.h>
-#include <credef.h>
-#include <mhddef.h>
-#include <lhidef.h>
-#include <lib$routines.h>
-#include <starlet.h>
-
-/* Supply missing prototypes for lbr$-routines*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-int lbr$set_module(
-    void **,
-    unsigned long *,
-    struct dsc$descriptor_s *,
-    unsigned short *,
-    void * );
-
-int lbr$open( void **,
-    struct dsc$descriptor_s *,
-    void *,
-    void *,
-    void *,
-    void *,
-    void * );
-
-int lbr$ini_control(
-    void **,
-    unsigned long *,
-    unsigned long *,
-    void * );
-
-int lbr$get_index(
-    void **,
-    unsigned long *,
-    int (*func)( struct dsc$descriptor_s *, unsigned long *),
-    void * );
-
-int lbr$close(
-    void ** );
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-static void
-file_cvttime(
-    unsigned int *curtime,
-    time_t *unixtime )
-{
-    static const size_t divisor = 10000000;
-    static unsigned int bastim[2] = { 0x4BEB4000, 0x007C9567 }; /* 1/1/1970 */
-    int delta[2], remainder;
-
-    lib$subx( curtime, bastim, delta );
-    lib$ediv( &divisor, delta, unixtime, &remainder );
-}
-
-# define DEFAULT_FILE_SPECIFICATION "[]*.*;0"
-
-# define min( a,b ) ((a)<(b)?(a):(b))
-
-void
-file_dirscan(
-    char *dir,
-    scanback func,
-    void    *closure )
-{
-
-    struct FAB xfab;
-    struct NAM xnam;
-    struct XABDAT xab;
-    char esa[256];
-    char filename[256];
-    string filename2[1];
-    char dirname[256];
-    register int status;
-    PATHNAME f;
-
-    memset( (char *)&f, '\0', sizeof( f ) );
-
-    f.f_root.ptr = dir;
-    f.f_root.len = strlen( dir );
-
-    /* get the input file specification
-     */
-    xnam = cc$rms_nam;
-    xnam.nam$l_esa = esa;
-    xnam.nam$b_ess = sizeof( esa ) - 1;
-    xnam.nam$l_rsa = filename;
-    xnam.nam$b_rss = min( sizeof( filename ) - 1, NAM$C_MAXRSS );
-
-    xab = cc$rms_xabdat;                /* initialize extended attributes */
-    xab.xab$b_cod = XAB$C_DAT;      /* ask for date */
-    xab.xab$l_nxt = NULL;               /* terminate XAB chain      */
-
-    xfab = cc$rms_fab;
-    xfab.fab$l_dna = DEFAULT_FILE_SPECIFICATION;
-    xfab.fab$b_dns = sizeof( DEFAULT_FILE_SPECIFICATION ) - 1;
-    xfab.fab$l_fop = FAB$M_NAM;
-    xfab.fab$l_fna = dir;           /* address of file name     */
-    xfab.fab$b_fns = strlen( dir );     /* length of file name      */
-    xfab.fab$l_nam = &xnam;         /* address of NAB block     */
-    xfab.fab$l_xab = (char *)&xab;       /* address of XAB block     */
-
-
-    status = sys$parse( &xfab );
-
-    if ( DEBUG_BINDSCAN )
-    printf( "scan directory %s\n", dir );
-
-    if ( !( status & 1 ) )
-    return;
-
-
-
-    /* Add bogus directory for [000000] */
-
-    if ( !strcmp( dir, "[000000]" ) )
-    {
-    (*func)( closure, "[000000]", 1 /* time valid */, 1 /* old but true */ );
-    }
-
-    /* Add bogus directory for [] */
-
-    if ( !strcmp( dir, "[]" ) )
-    {
-        (*func)( closure, "[]", 1 /* time valid */, 1 /* old but true */ );
-        (*func)( closure, "[-]", 1 /* time valid */, 1 /* old but true */ );
-    }
-
-    string_new( filename2 );
-    while ( (status = sys$search( &xfab )) & 1 )
-    {
-    char *s;
-    time_t time;
-
-    /* "I think that might work" - eml */
-
-    sys$open( &xfab );
-    sys$close( &xfab );
-
-    file_cvttime( (unsigned int *)&xab.xab$q_rdt, &time );
-
-    filename[xnam.nam$b_rsl] = '\0';
-
-    /* What we do with the name depends on the suffix: */
-    /* .dir is a directory */
-    /* .xxx is a file with a suffix */
-    /* . is no suffix at all */
-
-    if ( xnam.nam$b_type == 4 && !strncmp( xnam.nam$l_type, ".DIR", 4 ) )
-    {
-        /* directory */
-        sprintf( dirname, "[.%.*s]", xnam.nam$b_name, xnam.nam$l_name );
-        f.f_dir.ptr = dirname;
-        f.f_dir.len = strlen( dirname );
-        f.f_base.ptr = 0;
-        f.f_base.len = 0;
-        f.f_suffix.ptr = 0;
-        f.f_suffix.len = 0;
-    }
-    else
-    {
-        /* normal file with a suffix */
-        f.f_dir.ptr = 0;
-        f.f_dir.len = 0;
-        f.f_base.ptr = xnam.nam$l_name;
-        f.f_base.len = xnam.nam$b_name;
-        f.f_suffix.ptr = xnam.nam$l_type;
-        f.f_suffix.len = xnam.nam$b_type;
-    }
-
-        string_truncate( filename2, 0 );
-    path_build( &f, filename2, 0 );
-
-    /*
-    if ( DEBUG_SEARCH )
-        printf("root '%s' base %.*s suf %.*s = %s\n",
-            dir,
-            xnam.nam$b_name, xnam.nam$l_name,
-            xnam.nam$b_type, xnam.nam$l_type,
-            filename2 );
-    */
-
-    (*func)( closure, filename2->value, 1 /* time valid */, time );
-    }
-    string_free( filename2 );
-}
-
-int
-file_time(
-    char    *filename,
-    time_t  *time )
-{
-    /* This should never be called, as all files are */
-    /* timestampped in file_dirscan() and file_archscan() */
-    return -1;
-}
-
-static char *VMS_archive = 0;
-static scanback VMS_func;
-static void *VMS_closure;
-static void *context;
-
-static int
-file_archmember(
-    struct dsc$descriptor_s *module,
-    unsigned long *rfa )
-{
-    static struct dsc$descriptor_s bufdsc =
-          {0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL};
-
-    struct mhddef *mhd;
-    char filename[128];
-    char buf[ MAXJPATH ];
-
-    int status;
-    time_t library_date;
-
-    register int i;
-    register char *p;
-
-    bufdsc.dsc$a_pointer = filename;
-    bufdsc.dsc$w_length = sizeof( filename );
-    status = lbr$set_module( &context, rfa, &bufdsc,
-                 &bufdsc.dsc$w_length, NULL );
-
-    if ( !(status & 1) )
-    return ( 1 );
-
-    mhd = (struct mhddef *)filename;
-
-    file_cvttime( &mhd->mhd$l_datim, &library_date );
-
-    for ( i = 0, p = module->dsc$a_pointer; i < module->dsc$w_length; ++i, ++p )
-    filename[ i ] = *p;
-
-    filename[ i ] = '\0';
-
-    sprintf( buf, "%s(%s.obj)", VMS_archive, filename );
-
-    (*VMS_func)( VMS_closure, buf, 1 /* time valid */, (time_t)library_date );
-
-    return ( 1 );
-}
-
-
-void file_archscan( char * archive, scanback func, void * closure )
-{
-    static struct dsc$descriptor_s library =
-          {0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL};
-
-    unsigned long lfunc = LBR$C_READ;
-    unsigned long typ = LBR$C_TYP_UNK;
-    unsigned long index = 1;
-
-    register int status;
-
-    VMS_archive = archive;
-    VMS_func = func;
-    VMS_closure = closure;
-
-    status = lbr$ini_control( &context, &lfunc, &typ, NULL );
-    if ( !( status & 1 ) )
-        return;
-
-    library.dsc$a_pointer = archive;
-    library.dsc$w_length = strlen( archive );
-
-    status = lbr$open( &context, &library, NULL, NULL, NULL, NULL, NULL );
-    if ( !( status & 1 ) )
-        return;
-
-    (void) lbr$get_index( &context, &index, file_archmember, NULL );
-
-    (void) lbr$close( &context );
-}
-
-# endif /* VMS */
diff --git a/SRC/Boost/tools/build/v2/engine/frames.c b/SRC/Boost/tools/build/v2/engine/frames.c
deleted file mode 100755
index 7ff1110..0000000
--- a/SRC/Boost/tools/build/v2/engine/frames.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "frames.h"
-# include "lists.h"
-
-void frame_init( FRAME* frame )
-{
-    frame->prev = 0;
-    lol_init(frame->args);
-    frame->module = root_module();
-    frame->rulename = "module scope";
-    frame->procedure = 0;
-}
-
-void frame_free( FRAME* frame )
-{
-    lol_free( frame->args );
-}
diff --git a/SRC/Boost/tools/build/v2/engine/frames.h b/SRC/Boost/tools/build/v2/engine/frames.h
deleted file mode 100755
index 55fb198..0000000
--- a/SRC/Boost/tools/build/v2/engine/frames.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-#ifndef FRAMES_DWA20011021_H
-#define FRAMES_DWA20011021_H
-
-#include "lists.h"
-#include "modules.h"
-
-typedef struct _PARSE PARSE;
-typedef struct frame FRAME;
-
-struct frame
-{
-    FRAME    * prev;
-    /* The nearest enclosing frame for which module->user_module is true. */
-    FRAME    * prev_user;
-    LOL        args[ 1 ];
-    module_t * module;
-    PARSE    * procedure;
-    char     * rulename;
-};
-
-
-/* When call into Python is in progress, this variable points to the bjam frame
- * that was current at the moment of call. When the call completes, the variable
- * is not defined. Further, if Jam calls Python which calls Jam and so on, this
- * variable only keeps the most recent Jam frame.
- */
-extern struct frame * frame_before_python_call;
-
-void frame_init( FRAME * );  /* implemented in compile.c */
-void frame_free( FRAME * );  /* implemented in compile.c */
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/glob.c b/SRC/Boost/tools/build/v2/engine/glob.c
deleted file mode 100755
index a104ee1..0000000
--- a/SRC/Boost/tools/build/v2/engine/glob.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright 1994 Christopher Seiwald.  All rights reserved.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * glob.c - match a string against a simple pattern
- *
- * Understands the following patterns:
- *
- *  *   any number of characters
- *  ?   any single character
- *  [a-z]   any single character in the range a-z
- *  [^a-z]  any single character not in the range a-z
- *  \x  match x
- *
- * External functions:
- *
- *  glob() - match a string against a simple pattern
- *
- * Internal functions:
- *
- *  globchars() - build a bitlist to check for character group match
- */
-
-# include "jam.h"
-
-# define CHECK_BIT( tab, bit ) ( tab[ (bit)/8 ] & (1<<( (bit)%8 )) )
-# define BITLISTSIZE 16 /* bytes used for [chars] in compiled expr */
-
-static void globchars( char * s, char * e, char * b );
-
-
-/*
- * glob() - match a string against a simple pattern.
- */
-
-int glob( char * c, char * s )
-{
-    char   bitlist[ BITLISTSIZE ];
-    char * here;
-
-    for ( ; ; )
-    switch ( *c++ )
-    {
-    case '\0':
-        return *s ? -1 : 0;
-
-    case '?':
-        if ( !*s++ )
-            return 1;
-        break;
-
-    case '[':
-        /* Scan for matching ]. */
-
-        here = c;
-        do if ( !*c++ ) return 1;
-        while ( ( here == c ) || ( *c != ']' ) );
-        ++c;
-
-        /* Build character class bitlist. */
-
-        globchars( here, c, bitlist );
-
-        if ( !CHECK_BIT( bitlist, *(unsigned char *)s ) )
-            return 1;
-        ++s;
-        break;
-
-    case '*':
-        here = s;
-
-        while ( *s )
-            ++s;
-
-        /* Try to match the rest of the pattern in a recursive */
-        /* call.  If the match fails we'll back up chars, retrying. */
-
-        while ( s != here )
-        {
-            int r;
-
-            /* A fast path for the last token in a pattern. */
-            r = *c ? glob( c, s ) : *s ? -1 : 0;
-
-            if ( !r )
-                return 0;
-            if ( r < 0 )
-                return 1;
-            --s;
-        }
-        break;
-
-    case '\\':
-        /* Force literal match of next char. */
-        if ( !*c || ( *s++ != *c++ ) )
-            return 1;
-        break;
-
-    default:
-        if ( *s++ != c[ -1 ] )
-            return 1;
-        break;
-    }
-}
-
-
-/*
- * globchars() - build a bitlist to check for character group match.
- */
-
-static void globchars( char * s,  char * e, char * b )
-{
-    int neg = 0;
-
-    memset( b, '\0', BITLISTSIZE  );
-
-    if ( *s == '^' )
-    {
-        ++neg;
-        ++s;
-    }
-
-    while ( s < e )
-    {
-        int c;
-
-        if ( ( s + 2 < e ) && ( s[1] == '-' ) )
-        {
-            for ( c = s[0]; c <= s[2]; ++c )
-                b[ c/8 ] |= ( 1 << ( c % 8 ) );
-            s += 3;
-        }
-        else
-        {
-            c = *s++;
-            b[ c/8 ] |= ( 1 << ( c % 8 ) );
-        }
-    }
-
-    if ( neg )
-    {
-        int i;
-        for ( i = 0; i < BITLISTSIZE; ++i )
-            b[ i ] ^= 0377;
-    }
-
-    /* Do not include \0 in either $[chars] or $[^chars]. */
-    b[0] &= 0376;
-}
diff --git a/SRC/Boost/tools/build/v2/engine/hash.c b/SRC/Boost/tools/build/v2/engine/hash.c
deleted file mode 100755
index 4f88dc5..0000000
--- a/SRC/Boost/tools/build/v2/engine/hash.c
+++ /dev/null
@@ -1,459 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-# include "jam.h"
-# include "hash.h"
-# include "compile.h"
-# include <assert.h>
-
-/*
- * hash.c - simple in-memory hashing routines
- *
- * External routines:
- *
- *     hashinit() - initialize a hash table, returning a handle
- *     hashitem() - find a record in the table, and optionally enter a new one
- *     hashdone() - free a hash table, given its handle
- *
- * Internal routines:
- *
- *     hashrehash() - resize and rebuild hp->tab, the hash table
- *
- * 4/29/93 - ensure ITEM's are aligned
- */
-
-/* */
-#define HASH_DEBUG_PROFILE 1
-/* */
-
-char    *hashsccssid="@(#)hash.c    1.14  ()  6/20/88";
-
-/* Header attached to all data items entered into a hash table. */
-
-struct hashhdr
-{
-    struct item  * next;
-    unsigned int   keyval;  /* for quick comparisons */
-};
-
-/* This structure overlays the one handed to hashenter(). Its actual size is
- * given to hashinit().
- */
-
-struct hashdata
-{
-    char * key;
-    /* rest of user data */
-};
-
-typedef struct item
-{
-    struct hashhdr  hdr;
-    struct hashdata data;
-} ITEM ;
-
-# define MAX_LISTS 32
-
-struct hash
-{
-    /*
-     * the hash table, just an array of item pointers
-     */
-    struct {
-        int nel;
-        ITEM **base;
-    } tab;
-
-    int bloat;  /* tab.nel / items.nel */
-    int inel;   /* initial number of elements */
-
-    /*
-     * the array of records, maintained by these routines
-     * essentially a microallocator
-     */
-    struct {
-        int more;   /* how many more ITEMs fit in lists[ list ] */
-        ITEM *free; /* free list of items */
-        char *next; /* where to put more ITEMs in lists[ list ] */
-        int datalen;    /* length of records in this hash table */
-        int size;   /* sizeof( ITEM ) + aligned datalen */
-        int nel;    /* total ITEMs held by all lists[] */
-        int list;   /* index into lists[] */
-
-        struct {
-            int nel;    /* total ITEMs held by this list */
-            char *base; /* base of ITEMs array */
-        } lists[ MAX_LISTS ];
-    } items;
-
-    char * name; /* just for hashstats() */
-};
-
-static void hashrehash( struct hash *hp );
-static void hashstat( struct hash *hp );
-static void * hash_mem_alloc(size_t datalen, size_t size);
-static void hash_mem_free(size_t datalen, void * data);
-#ifdef OPT_BOEHM_GC
-static void hash_mem_finalizer(char * key, struct hash * hp);
-#endif
-
-static unsigned int jenkins_one_at_a_time_hash(const unsigned char *key)
-{
-    unsigned int hash = 0;
-
-    while ( *key )
-    {
-        hash += *key++;
-        hash += (hash << 10);
-        hash ^= (hash >> 6);
-    }
-    hash += (hash << 3);
-    hash ^= (hash >> 11);
-    hash += (hash << 15);
-	
-    return hash;
-}
-
-/*
-static unsigned int knuth_hash(const unsigned char *key)
-{
-    unsigned int keyval = *key;
-    while ( *key )
-        keyval = keyval * 2147059363 + *key++;
-    return keyval;
-}
-*/
-
-static unsigned int hash_keyval( const char * key_ )
-{
-    /*
-	return knuth_hash((const unsigned char *)key_);
-	*/
-    return jenkins_one_at_a_time_hash((const unsigned char *)key_);
-}
-
-#define hash_bucket(hp,keyval) ((hp)->tab.base + ( (keyval) % (hp)->tab.nel ))
-
-/*  Find the hash item for the given data. Returns pointer to the
-    item and if given a pointer to the item before the found item.
-    If it's the first item in a bucket, there is no previous item,
-    and zero is returned for the previous item instead.
-*/
-static ITEM * hash_search(
-    struct hash *hp,
-    unsigned int keyval,
-    const char * keydata,
-    ITEM * * previous )
-{
-    ITEM * i = *hash_bucket(hp,keyval);
-    ITEM * p = 0;
-
-    for ( ; i; i = i->hdr.next )
-    {
-        if ( ( keyval == i->hdr.keyval ) &&
-            !strcmp( i->data.key, keydata ) )
-        {
-            if (previous)
-            {
-                *previous = p;
-            }
-            return i;
-        }
-        p = i;
-    }
-
-    return 0;
-}
-
-/*
- * hash_free() - remove the given item from the table if it's there.
- * Returns 1 if found, 0 otherwise.
- *
- * NOTE: 2nd argument is HASHDATA*, not HASHDATA** as elsewhere.
- */
-int
-hash_free(
-    register struct hash *hp,
-    HASHDATA *data)
-{
-    ITEM * i = 0;
-    ITEM * prev = 0;
-    unsigned int keyval = hash_keyval(data->key);
-
-    i = hash_search( hp, keyval, data->key, &prev );
-    if (i)
-    {
-        /* mark it free so we skip it during enumeration */
-        i->data.key = 0;
-        /* unlink the record from the hash chain */
-        if (prev) prev->hdr.next = i->hdr.next;
-        else *hash_bucket(hp,keyval) = i->hdr.next;
-        /* link it into the freelist */
-        i->hdr.next = hp->items.free;
-        hp->items.free = i;
-        /* we have another item */
-        hp->items.more++;
-
-        return 1;
-    }
-    return 0;
-}
-
-/*
- * hashitem() - find a record in the table, and optionally enter a new one
- */
-
-int
-hashitem(
-    register struct hash *hp,
-    HASHDATA **data,
-    int enter )
-{
-    register ITEM *i;
-    char *b = (*data)->key;
-    unsigned int keyval = hash_keyval(b);
-
-    #ifdef HASH_DEBUG_PROFILE
-    profile_frame prof[1];
-    if ( DEBUG_PROFILE )
-        profile_enter( 0, prof );
-    #endif
-
-    if ( enter && !hp->items.more )
-        hashrehash( hp );
-
-    if ( !enter && !hp->items.nel )
-    {
-        #ifdef HASH_DEBUG_PROFILE
-        if ( DEBUG_PROFILE )
-            profile_exit( prof );
-        #endif
-        return 0;
-    }
-
-    i = hash_search( hp, keyval, (*data)->key, 0 );
-    if (i)
-    {
-        *data = &i->data;
-        #ifdef HASH_DEBUG_PROFILE
-        if ( DEBUG_PROFILE ) profile_exit( prof );
-        #endif
-        return !0;
-    }
-
-    if ( enter )
-    {
-        ITEM * * base = hash_bucket(hp,keyval);
-
-        /* try to grab one from the free list */
-        if ( hp->items.free )
-        {
-            i = hp->items.free;
-            hp->items.free = i->hdr.next;
-            assert( i->data.key == 0 );
-        }
-        else
-        {
-            i = (ITEM *)hp->items.next;
-            hp->items.next += hp->items.size;
-        }
-        hp->items.more--;
-        memcpy( (char *)&i->data, (char *)*data, hp->items.datalen );
-        i->hdr.keyval = keyval;
-        i->hdr.next = *base;
-        *base = i;
-        *data = &i->data;
-        #ifdef OPT_BOEHM_GC
-        if (sizeof(HASHDATA) == hp->items.datalen)
-        {
-            GC_REGISTER_FINALIZER(i->data.key,&hash_mem_finalizer,hp,0,0);
-        }
-        #endif
-    }
-
-    #ifdef HASH_DEBUG_PROFILE
-    if ( DEBUG_PROFILE )
-        profile_exit( prof );
-    #endif
-    return 0;
-}
-
-/*
- * hashrehash() - resize and rebuild hp->tab, the hash table
- */
-
-static void hashrehash( register struct hash *hp )
-{
-    int i = ++hp->items.list;
-    hp->items.more = i ? 2 * hp->items.nel : hp->inel;
-    hp->items.next = (char *)hash_mem_alloc( hp->items.datalen, hp->items.more * hp->items.size );
-    hp->items.free = 0;
-
-    hp->items.lists[i].nel = hp->items.more;
-    hp->items.lists[i].base = hp->items.next;
-    hp->items.nel += hp->items.more;
-
-    if ( hp->tab.base )
-        hash_mem_free( hp->items.datalen, (char *)hp->tab.base );
-
-    hp->tab.nel = hp->items.nel * hp->bloat;
-    hp->tab.base = (ITEM **)hash_mem_alloc( hp->items.datalen, hp->tab.nel * sizeof(ITEM **) );
-
-    memset( (char *)hp->tab.base, '\0', hp->tab.nel * sizeof( ITEM * ) );
-
-    for ( i = 0; i < hp->items.list; ++i )
-    {
-        int nel = hp->items.lists[i].nel;
-        char *next = hp->items.lists[i].base;
-
-        for ( ; nel--; next += hp->items.size )
-        {
-            register ITEM *i = (ITEM *)next;
-            ITEM **ip = hp->tab.base + i->hdr.keyval % hp->tab.nel;
-            /* code currently assumes rehashing only when there are no free items */
-            assert( i->data.key != 0 );
-
-            i->hdr.next = *ip;
-            *ip = i;
-        }
-    }
-}
-
-void hashenumerate( struct hash * hp, void (* f)( void *, void * ), void * data )
-{
-    int i;
-    for ( i = 0; i <= hp->items.list; ++i )
-    {
-        char * next = hp->items.lists[i].base;
-        int nel = hp->items.lists[i].nel;
-        if ( i == hp->items.list )
-            nel -= hp->items.more;
-
-        for ( ; nel--; next += hp->items.size )
-        {
-            ITEM * i = (ITEM *)next;
-            if ( i->data.key != 0 )  /* DO not enumerate freed items. */
-                f( &i->data, data );
-        }
-    }
-}
-
-/* --- */
-
-# define ALIGNED(x) ( ( x + sizeof( ITEM ) - 1 ) & ~( sizeof( ITEM ) - 1 ) )
-
-/*
- * hashinit() - initialize a hash table, returning a handle
- */
-
-struct hash *
-hashinit(
-    int datalen,
-    char *name )
-{
-    struct hash *hp = (struct hash *)hash_mem_alloc( datalen, sizeof( *hp ) );
-
-    hp->bloat = 3;
-    hp->tab.nel = 0;
-    hp->tab.base = (ITEM **)0;
-    hp->items.more = 0;
-    hp->items.free = 0;
-    hp->items.datalen = datalen;
-    hp->items.size = sizeof( struct hashhdr ) + ALIGNED( datalen );
-    hp->items.list = -1;
-    hp->items.nel = 0;
-    hp->inel = 11 /* 47 */;
-    hp->name = name;
-
-    return hp;
-}
-
-/*
- * hashdone() - free a hash table, given its handle
- */
-
-void
-hashdone( struct hash *hp )
-{
-    int i;
-
-    if ( !hp )
-        return;
-
-    if ( DEBUG_MEM || DEBUG_PROFILE )
-        hashstat( hp );
-
-    if ( hp->tab.base )
-        hash_mem_free( hp->items.datalen, (char *)hp->tab.base );
-    for ( i = 0; i <= hp->items.list; ++i )
-        hash_mem_free( hp->items.datalen, hp->items.lists[i].base );
-    hash_mem_free( hp->items.datalen, (char *)hp );
-}
-
-static void * hash_mem_alloc(size_t datalen, size_t size)
-{
-    if (sizeof(HASHDATA) == datalen)
-    {
-        return BJAM_MALLOC_RAW(size);
-    }
-    else
-    {
-        return BJAM_MALLOC(size);
-    }
-}
-
-static void hash_mem_free(size_t datalen, void * data)
-{
-    if (sizeof(HASHDATA) == datalen)
-    {
-        BJAM_FREE_RAW(data);
-    }
-    else
-    {
-        BJAM_FREE(data);
-    }
-}
-
-#ifdef OPT_BOEHM_GC
-static void hash_mem_finalizer(char * key, struct hash * hp)
-{
-    HASHDATA d;
-    d.key = key;
-    hash_free(hp,&d);
-}
-#endif
-
-
-/* ---- */
-
-static void hashstat( struct hash * hp )
-{
-    ITEM * * tab = hp->tab.base;
-    int nel = hp->tab.nel;
-    int count = 0;
-    int sets = 0;
-    int run = ( tab[ nel - 1 ] != (ITEM *)0 );
-    int i;
-    int here;
-
-    for ( i = nel; i > 0; --i )
-    {
-        if ( ( here = ( *tab++ != (ITEM *)0 ) ) )
-            count++;
-        if ( here && !run )
-            sets++;
-        run = here;
-    }
-
-    printf( "%s table: %d+%d+%d (%dK+%luK) items+table+hash, %f density\n",
-        hp->name,
-        count,
-        hp->items.nel,
-        hp->tab.nel,
-        hp->items.nel * hp->items.size / 1024,
-        (long unsigned)hp->tab.nel * sizeof( ITEM ** ) / 1024,
-        (float)count / (float)sets );
-}
diff --git a/SRC/Boost/tools/build/v2/engine/hash.h b/SRC/Boost/tools/build/v2/engine/hash.h
deleted file mode 100755
index ad2f86e..0000000
--- a/SRC/Boost/tools/build/v2/engine/hash.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * hash.h - simple in-memory hashing routines
- */
-
-#ifndef BOOST_JAM_HASH_H
-#define BOOST_JAM_HASH_H
-
-typedef struct hashdata HASHDATA;
-
-struct hash * hashinit     ( int datalen, char * name );
-int           hashitem     ( struct hash * hp, HASHDATA * * data, int enter );
-void          hashdone     ( struct hash * hp );
-void          hashenumerate( struct hash * hp, void (* f)( void *, void * ), void * data );
-int           hash_free    ( struct hash * hp, HASHDATA * data);
-
-#define hashenter( hp, data ) ( !hashitem( hp, data, !0 ) )
-#define hashcheck( hp, data ) hashitem( hp, data, 0 )
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/hcache.c b/SRC/Boost/tools/build/v2/engine/hcache.c
deleted file mode 100755
index 164d9c7..0000000
--- a/SRC/Boost/tools/build/v2/engine/hcache.c
+++ /dev/null
@@ -1,434 +0,0 @@
-/*
- * This file has been donated to Jam.
- */
-
-# include "jam.h"
-# include "lists.h"
-# include "parse.h"
-# include "rules.h"
-# include "regexp.h"
-# include "headers.h"
-# include "newstr.h"
-# include "hash.h"
-# include "hcache.h"
-# include "variable.h"
-# include "search.h"
-
-#ifdef OPT_HEADER_CACHE_EXT
-
-/*
- * Craig W. McPheeters, Alias|Wavefront.
- *
- * hcache.c hcache.h - handle cacheing of #includes in source files.
- *
- * Create a cache of files scanned for headers. When starting jam, look for the
- * cache file and load it if present. When finished the binding phase, create a
- * new header cache. The cache contains files, their timestamps and the header
- * files found in their scan. During the binding phase of jam, look in the
- * header cache first for the headers contained in a file. If the cache is
- * present and valid, use its contents. This results in dramatic speedups with
- * large projects (eg. 3min -> 1min startup for one project.)
- *
- * External routines:
- *    hcache_init() - read and parse the local .jamdeps file.
- *    hcache_done() - write a new .jamdeps file.
- *    hcache()      - return list of headers on target. Use cache or do a scan.
- *
- * The dependency file format is an ASCII file with 1 line per target. Each line
- * has the following fields:
- * @boundname@ timestamp @file@ @file@ @file@ ... \n
- */
-
-typedef struct hcachedata HCACHEDATA ;
-
-struct hcachedata
-{
-    char       * boundname;
-    time_t       time;
-    LIST       * includes;
-    LIST       * hdrscan;    /* the HDRSCAN value for this target */
-    int          age;        /* if too old, we'll remove it from cache */
-    HCACHEDATA * next;
-};
-
-
-static struct hash * hcachehash = 0;
-static HCACHEDATA  * hcachelist = 0;
-
-static int queries = 0;
-static int hits = 0;
-
-#define CACHE_FILE_VERSION "version 4"
-#define CACHE_RECORD_HEADER "header"
-#define CACHE_RECORD_END "end"
-
-
-/*
- * Return the name of the header cache file. May return NULL.
- *
- * The user sets this by setting the HCACHEFILE variable in a Jamfile. We cache
- * the result so the user can not change the cache file during header scanning.
- */
-
-static char * cache_name( void )
-{
-    static char * name = 0;
-    if ( !name )
-    {
-        LIST * hcachevar = var_get( "HCACHEFILE" );
-
-        if ( hcachevar )
-        {
-            TARGET * t = bindtarget( hcachevar->string );
-
-            pushsettings( t->settings );
-            /* Do not expect the cache file to be generated, so pass 0 as the
-             * third argument to search. Expect the location to be specified via
-             * LOCATE, so pass 0 as the fourth arugment.
-             */
-            t->boundname = search( t->name, &t->time, 0, 0 );
-            popsettings( t->settings );
-
-            if ( hcachevar )
-                name = copystr( t->boundname );
-        }
-    }
-    return name;
-}
-
-
-/*
- * Return the maximum age a cache entry can have before it is purged ftom the
- * cache.
- */
-
-static int cache_maxage( void )
-{
-    int age = 100;
-    LIST * var = var_get( "HCACHEMAXAGE" );
-    if ( var )
-    {
-        age = atoi( var->string );
-        if ( age < 0 )
-            age = 0;
-    }
-    return age;
-}
-
-
-/*
- * Read a netstring. The caveat is that the string can not contain ASCII 0. The
- * returned value is as returned by newstr(), so it need not be freed.
- */
-
-char * read_netstring( FILE * f )
-{
-    unsigned long len;
-    static char * buf = NULL;
-    static unsigned long buf_len = 0;
-
-    if ( fscanf( f, " %9lu", &len ) != 1 )
-        return NULL;
-    if ( fgetc( f ) != (int)'\t' )
-        return NULL;
-
-    if ( len > 1024 * 64 )
-        return NULL;  /* sanity check */
-
-    if ( len > buf_len )
-    {
-        unsigned long new_len = buf_len * 2;
-        if ( new_len < len )
-            new_len = len;
-        buf = (char *)BJAM_REALLOC( buf, new_len + 1 );
-        if ( buf )
-            buf_len = new_len;
-    }
-
-    if ( !buf )
-        return NULL;
-
-    if ( fread( buf, 1, len, f ) != len )
-        return NULL;
-    if ( fgetc( f ) != (int)'\n' )
-        return NULL;
-
-    buf[ len ] = 0;
-    return newstr( buf );
-}
-
-
-/*
- * Write a netstring.
- */
-
-void write_netstring( FILE * f, char const * s )
-{
-    if ( !s )
-        s = "";
-    fprintf( f, "%lu\t%s\n", (long unsigned)strlen( s ), s );
-}
-
-
-void hcache_init()
-{
-    HCACHEDATA   cachedata;
-    HCACHEDATA * c;
-    FILE       * f;
-    char       * version;
-    int          header_count = 0;
-    char       * hcachename;
-
-    hcachehash = hashinit( sizeof( HCACHEDATA ), "hcache" );
-
-    if ( !( hcachename = cache_name() ) )
-        return;
-
-    if ( !( f = fopen( hcachename, "rb" ) ) )
-        return;
-
-    version = read_netstring( f );
-    if ( !version || strcmp( version, CACHE_FILE_VERSION ) )
-    {
-        fclose( f );
-        return;
-    }
-
-    while ( 1 )
-    {
-        char * record_type;
-        char * time_str;
-        char * age_str;
-        char * includes_count_str;
-        char * hdrscan_count_str;
-        int    i;
-        int    count;
-        LIST * l;
-
-        record_type = read_netstring( f );
-        if ( !record_type )
-        {
-            fprintf( stderr, "invalid %s\n", hcachename );
-            goto bail;
-        }
-        if ( !strcmp( record_type, CACHE_RECORD_END ) )
-            break;
-        if ( strcmp( record_type, CACHE_RECORD_HEADER ) )
-        {
-            fprintf( stderr, "invalid %s with record separator <%s>\n",
-                hcachename, record_type ? record_type : "<null>" );
-            goto bail;
-        }
-
-        c = &cachedata;
-
-        c->boundname       = read_netstring( f );
-        time_str           = read_netstring( f );
-        age_str            = read_netstring( f );
-        includes_count_str = read_netstring( f );
-
-        if ( !c->boundname || !time_str || !age_str || !includes_count_str )
-        {
-            fprintf( stderr, "invalid %s\n", hcachename );
-            goto bail;
-        }
-
-        c->time = atoi( time_str );
-        c->age = atoi( age_str ) + 1;
-
-        count = atoi( includes_count_str );
-        for ( l = 0, i = 0; i < count; ++i )
-        {
-            char * s = read_netstring( f );
-            if ( !s )
-            {
-                fprintf( stderr, "invalid %s\n", hcachename );
-                goto bail;
-            }
-            l = list_new( l, s );
-        }
-        c->includes = l;
-
-        hdrscan_count_str = read_netstring( f );
-        if ( !includes_count_str )
-        {
-            list_free( c->includes );
-            fprintf( stderr, "invalid %s\n", hcachename );
-            goto bail;
-        }
-
-        count = atoi( hdrscan_count_str );
-        for ( l = 0, i = 0; i < count; ++i )
-        {
-            char * s = read_netstring( f );
-            if ( !s )
-            {
-                fprintf( stderr, "invalid %s\n", hcachename );
-                goto bail;
-            }
-            l = list_new( l, s );
-        }
-        c->hdrscan = l;
-
-        if ( !hashenter( hcachehash, (HASHDATA * *)&c ) )
-        {
-            fprintf( stderr, "can't insert header cache item, bailing on %s\n",
-                hcachename );
-            goto bail;
-        }
-
-        c->next = hcachelist;
-        hcachelist = c;
-
-        ++header_count;
-    }
-
-    if ( DEBUG_HEADER )
-        printf( "hcache read from file %s\n", hcachename );
-
- bail:
-    fclose( f );
-}
-
-
-void hcache_done()
-{
-    FILE       * f;
-    HCACHEDATA * c;
-    int          header_count = 0;
-    char       * hcachename;
-    int          maxage;
-
-    if ( !hcachehash )
-        return;
-
-    if ( !( hcachename = cache_name() ) )
-        return;
-
-    if ( !( f = fopen( hcachename, "wb" ) ) )
-        return;
-
-    maxage = cache_maxage();
-
-    /* Print out the version. */
-    write_netstring( f, CACHE_FILE_VERSION );
-
-    c = hcachelist;
-    for ( c = hcachelist; c; c = c->next )
-    {
-        LIST * l;
-        char   time_str[ 30 ];
-        char   age_str[ 30 ];
-        char   includes_count_str[ 30 ];
-        char   hdrscan_count_str[ 30 ];
-
-        if ( maxage == 0 )
-            c->age = 0;
-        else if ( c->age > maxage )
-            continue;
-
-        sprintf( includes_count_str, "%lu", (long unsigned) list_length( c->includes ) );
-        sprintf( hdrscan_count_str, "%lu", (long unsigned) list_length( c->hdrscan ) );
-        sprintf( time_str, "%lu", (long unsigned) c->time );
-        sprintf( age_str, "%lu", (long unsigned) c->age );
-
-        write_netstring( f, CACHE_RECORD_HEADER );
-        write_netstring( f, c->boundname );
-        write_netstring( f, time_str );
-        write_netstring( f, age_str );
-        write_netstring( f, includes_count_str );
-        for ( l = c->includes; l; l = list_next( l ) )
-            write_netstring( f, l->string );
-        write_netstring( f, hdrscan_count_str );
-        for ( l = c->hdrscan; l; l = list_next( l ) )
-            write_netstring( f, l->string );
-        fputs( "\n", f );
-        ++header_count;
-    }
-    write_netstring( f, CACHE_RECORD_END );
-
-    if ( DEBUG_HEADER )
-        printf( "hcache written to %s.   %d dependencies, %.0f%% hit rate\n",
-            hcachename, header_count, queries ? 100.0 * hits / queries : 0 );
-
-    fclose ( f );
-}
-
-
-LIST * hcache( TARGET * t, int rec, regexp * re[], LIST * hdrscan )
-{
-    HCACHEDATA cachedata;
-    HCACHEDATA * c = &cachedata;
-
-    LIST * l = 0;
-
-    ++queries;
-
-    c->boundname = t->boundname;
-
-    if (hashcheck (hcachehash, (HASHDATA **) &c))
-    {
-    if (c->time == t->time)
-    {
-        LIST *l1 = hdrscan, *l2 = c->hdrscan;
-        while (l1 && l2) {
-        if (l1->string != l2->string) {
-            l1 = NULL;
-        } else {
-            l1 = list_next(l1);
-            l2 = list_next(l2);
-        }
-        }
-        if (l1 || l2) {
-        if (DEBUG_HEADER)
-            printf("HDRSCAN out of date in cache for %s\n",
-               t->boundname);
-
-        printf("HDRSCAN out of date for %s\n", t->boundname);
-        printf(" real  : ");
-        list_print(hdrscan);
-        printf("\n cached: ");
-        list_print(c->hdrscan);
-        printf("\n");
-
-        list_free(c->includes);
-        list_free(c->hdrscan);
-        c->includes = 0;
-        c->hdrscan = 0;
-        } else {
-        if (DEBUG_HEADER)
-            printf ("using header cache for %s\n", t->boundname);
-        c->age = 0;
-        ++hits;
-        l = list_copy (0, c->includes);
-        return l;
-        }
-    } else {
-        if (DEBUG_HEADER)
-            printf ("header cache out of date for %s\n", t->boundname);
-        list_free (c->includes);
-        list_free(c->hdrscan);
-        c->includes = 0;
-        c->hdrscan = 0;
-    }
-    } else {
-    if (hashenter (hcachehash, (HASHDATA **)&c)) {
-        c->boundname = newstr (c->boundname);
-        c->next = hcachelist;
-        hcachelist = c;
-    }
-    }
-
-    /* 'c' points at the cache entry. Its out of date. */
-
-    l = headers1 (0, t->boundname, rec, re);
-
-    c->time = t->time;
-    c->age = 0;
-    c->includes = list_copy (0, l);
-    c->hdrscan = list_copy(0, hdrscan);
-
-    return l;
-}
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/hcache.h b/SRC/Boost/tools/build/v2/engine/hcache.h
deleted file mode 100755
index 8c5e989..0000000
--- a/SRC/Boost/tools/build/v2/engine/hcache.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * This file is not part of Jam
- */
-
-/*
- * hcache.h - handle #includes in source files
- */
-#ifndef HCACHE_H
-# define HCACHE_H
-
-# include "regexp.h"
-# include "lists.h"
-
-void hcache_init(void);
-void hcache_done(void);
-LIST *hcache(TARGET *t, int rec, regexp *re[], LIST *hdrscan);
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/hdrmacro.c b/SRC/Boost/tools/build/v2/engine/hdrmacro.c
deleted file mode 100755
index aaf7667..0000000
--- a/SRC/Boost/tools/build/v2/engine/hdrmacro.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright 1993, 2000 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "jam.h"
-# include "lists.h"
-# include "parse.h"
-# include "compile.h"
-# include "rules.h"
-# include "variable.h"
-# include "regexp.h"
-# include "hdrmacro.h"
-# include "hash.h"
-# include "newstr.h"
-# include "strings.h"
-
-/*
- * hdrmacro.c - handle header files that define macros used in
- *              #include statements.
- *
- *  we look for lines like "#define MACRO  <....>" or '#define MACRO  "    "'
- *  in the target file. When found, we
- *
- *  we then phony up a rule invocation like:
- *
- *  $(HDRRULE) <target> : <resolved included files> ;
- *
- * External routines:
- *    headers1() - scan a target for "#include MACRO" lines and try
- *                 to resolve them when needed
- *
- * Internal routines:
- *    headers1() - using regexp, scan a file and build include LIST
- *
- * 04/13/94 (seiwald) - added shorthand L0 for null list pointer
- * 09/10/00 (seiwald) - replaced call to compile_rule with evaluate_rule,
- *      so that headers() doesn't have to mock up a parse structure
- *      just to invoke a rule.
- */
-
-/* this type is used to store a dictionary of file header macros */
-typedef struct header_macro
-{
-  char * symbol;
-  char * filename;  /* we could maybe use a LIST here ?? */
-} HEADER_MACRO;
-
-static struct hash * header_macros_hash = 0;
-
-
-/*
- * headers() - scan a target for include files and call HDRRULE
- */
-
-# define MAXINC 10
-
-void
-macro_headers( TARGET *t )
-{
-    static regexp *re = 0;
-    FILE    *f;
-    char    buf[ 1024 ];
-
-    if ( DEBUG_HEADER )
-        printf( "macro header scan for %s\n", t->name );
-
-    /* this regexp is used to detect lines of the form       */
-    /* "#define  MACRO  <....>" or "#define  MACRO  "....."  */
-    /* in the header macro files..                           */
-    if ( re == 0 )
-    {
-        re = regex_compile(
-            "^[     ]*#[    ]*define[   ]*([A-Za-z][A-Za-z0-9_]*)[  ]*"
-            "[<\"]([^\">]*)[\">].*$" );
-    }
-
-    if ( !( f = fopen( t->boundname, "r" ) ) )
-        return;
-
-    while ( fgets( buf, sizeof( buf ), f ) )
-    {
-        HEADER_MACRO var;
-        HEADER_MACRO *v = &var;
-
-        if ( regexec( re, buf ) && re->startp[1] )
-        {
-            /* we detected a line that looks like "#define  MACRO  filename */
-            re->endp[1][0] = '\0';
-            re->endp[2][0] = '\0';
-
-            if ( DEBUG_HEADER )
-                printf( "macro '%s' used to define filename '%s' in '%s'\n",
-                        re->startp[1], re->startp[2], t->boundname );
-
-            /* add macro definition to hash table */
-            if ( !header_macros_hash )
-                header_macros_hash = hashinit( sizeof( HEADER_MACRO ), "hdrmacros" );
-
-            v->symbol   = re->startp[1];
-            v->filename = 0;
-            if ( hashenter( header_macros_hash, (HASHDATA **)&v ) )
-            {
-                v->symbol   = newstr( re->startp[1] );  /* never freed */
-                v->filename = newstr( re->startp[2] );  /* never freed */
-            }
-            /* XXXX: FOR NOW, WE IGNORE MULTIPLE MACRO DEFINITIONS !! */
-            /*       WE MIGHT AS WELL USE A LIST TO STORE THEM..      */
-        }
-    }
-
-    fclose( f );
-}
-
-
-char * macro_header_get( const char * macro_name )
-{
-    HEADER_MACRO var;
-    HEADER_MACRO * v = &var;
-
-    v->symbol = (char* )macro_name;
-
-    if ( header_macros_hash && hashcheck( header_macros_hash, (HASHDATA **)&v ) )
-    {
-        if ( DEBUG_HEADER )
-            printf( "### macro '%s' evaluated to '%s'\n", macro_name, v->filename );
-        return v->filename;
-    }
-    return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/engine/hdrmacro.h b/SRC/Boost/tools/build/v2/engine/hdrmacro.h
deleted file mode 100755
index db2b6bb..0000000
--- a/SRC/Boost/tools/build/v2/engine/hdrmacro.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * hdrmacro.h - parses header files for #define MACRO  <filename> or
- *              #define MACRO  "filename" definitions
- */
-
-void   macro_headers( TARGET *t );
-
-char*  macro_header_get( const char*  macro_name );
diff --git a/SRC/Boost/tools/build/v2/engine/headers.c b/SRC/Boost/tools/build/v2/engine/headers.c
deleted file mode 100755
index 8c3e419..0000000
--- a/SRC/Boost/tools/build/v2/engine/headers.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright 1993, 2000 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "jam.h"
-# include "lists.h"
-# include "parse.h"
-# include "compile.h"
-# include "rules.h"
-# include "variable.h"
-# include "regexp.h"
-# include "headers.h"
-# include "hdrmacro.h"
-# include "newstr.h"
-
-#ifdef OPT_HEADER_CACHE_EXT
-# include "hcache.h"
-#endif
-
-/*
- * headers.c - handle #includes in source files
- *
- * Using regular expressions provided as the variable $(HDRSCAN),
- * headers() searches a file for #include files and phonies up a
- * rule invocation:
- *
- *  $(HDRRULE) <target> : <include files> ;
- *
- * External routines:
- *    headers() - scan a target for include files and call HDRRULE
- *
- * Internal routines:
- *    headers1() - using regexp, scan a file and build include LIST
- *
- * 04/13/94 (seiwald) - added shorthand L0 for null list pointer
- * 09/10/00 (seiwald) - replaced call to compile_rule with evaluate_rule,
- *      so that headers() doesn't have to mock up a parse structure
- *      just to invoke a rule.
- */
-
-#ifndef OPT_HEADER_CACHE_EXT
-static LIST *headers1( LIST *l, char *file, int rec, regexp *re[]);
-#endif
-
-/*
- * headers() - scan a target for include files and call HDRRULE
- */
-
-# define MAXINC 10
-
-void
-headers( TARGET *t )
-{
-    LIST   * hdrscan;
-    LIST   * hdrrule;
-	#ifndef OPT_HEADER_CACHE_EXT
-    LIST   * headlist = 0;
-	#endif
-    regexp * re[ MAXINC ];
-    int rec = 0;
-
-    if ( !( hdrscan = var_get( "HDRSCAN" ) ) ||
-        !( hdrrule = var_get( "HDRRULE" ) ) )
-        return;
-
-    if ( DEBUG_HEADER )
-        printf( "header scan %s\n", t->name );
-
-    /* Compile all regular expressions in HDRSCAN */
-    while ( ( rec < MAXINC ) && hdrscan )
-    {
-        re[ rec++ ] = regex_compile( hdrscan->string );
-        hdrscan = list_next( hdrscan );
-    }
-
-    /* Doctor up call to HDRRULE rule */
-    /* Call headers1() to get LIST of included files. */
-    {
-        FRAME   frame[1];
-        frame_init( frame );
-        lol_add( frame->args, list_new( L0, t->name ) );
-#ifdef OPT_HEADER_CACHE_EXT
-        lol_add( frame->args, hcache( t, rec, re, hdrscan ) );
-#else
-        lol_add( frame->args, headers1( headlist, t->boundname, rec, re ) );
-#endif
-
-        if ( lol_get( frame->args, 1 ) )
-        {
-            /* The third argument to HDRRULE is the bound name of
-             * $(<) */
-            lol_add( frame->args, list_new( L0, t->boundname ) );
-
-            list_free( evaluate_rule( hdrrule->string, frame ) );
-        }
-
-        /* Clean up. */
-        frame_free( frame );
-    }
-}
-
-
-/*
- * headers1() - using regexp, scan a file and build include LIST.
- */
-
-#ifdef OPT_HEADER_CACHE_EXT
-LIST *
-#else
-static LIST *
-#endif
-headers1(
-    LIST    * l,
-    char    * file,
-    int rec,
-    regexp  * re[] )
-{
-    FILE * f;
-    char buf[ 1024 ];
-    int  i;
-    static regexp * re_macros = 0;
-
-#ifdef OPT_IMPROVED_PATIENCE_EXT
-    static int count = 0;
-    ++count;
-    if ( ((count == 100) || !( count % 1000 )) && DEBUG_MAKE )
-        printf("...patience...\n");
-#endif
-
-    /* the following regexp is used to detect cases where a  */
-    /* file is included through a line line "#include MACRO" */
-    if ( re_macros == 0 )
-        re_macros = regex_compile(
-            "^[     ]*#[    ]*include[  ]*([A-Za-z][A-Za-z0-9_]*).*$" );
-
-    if ( !( f = fopen( file, "r" ) ) )
-        return l;
-
-    while ( fgets( buf, sizeof( buf ), f ) )
-    {
-        int size = strlen( buf );
-        /* Remove trailing \r and \n, if any. */
-        while ( ( size > 0 ) &&
-            ( buf[ size - 1 ] == '\n' ) &&
-            ( buf[ size - 1 ] == '\r' ) )
-        {
-            buf[ size - 1 ] = '\0';
-            --size;
-        }
-
-        for ( i = 0; i < rec; ++i )
-            if ( regexec( re[i], buf ) && re[i]->startp[1] )
-            {
-                re[i]->endp[1][0] = '\0';
-
-                if ( DEBUG_HEADER )
-                    printf( "header found: %s\n", re[i]->startp[1] );
-
-                l = list_new( l, newstr( re[i]->startp[1] ) );
-            }
-
-        /* special treatment for #include MACRO */
-        if ( regexec( re_macros, buf ) && re_macros->startp[1] )
-        {
-            char*  header_filename;
-
-            re_macros->endp[1][0] = '\0';
-
-            if ( DEBUG_HEADER )
-                printf( "macro header found: %s", re_macros->startp[1] );
-
-            header_filename = macro_header_get( re_macros->startp[1] );
-            if ( header_filename )
-            {
-                if ( DEBUG_HEADER )
-                    printf( " resolved to '%s'\n", header_filename );
-                l = list_new( l, newstr( header_filename ) );
-            }
-            else
-            {
-                if ( DEBUG_HEADER )
-                    printf( " ignored !!\n" );
-            }
-        }
-    }
-
-    fclose( f );
-
-    return l;
-}
-
-
-void regerror( char * s )
-{
-    printf( "re error %s\n", s );
-}
diff --git a/SRC/Boost/tools/build/v2/engine/headers.h b/SRC/Boost/tools/build/v2/engine/headers.h
deleted file mode 100755
index 2c350c8..0000000
--- a/SRC/Boost/tools/build/v2/engine/headers.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * headers.h - handle #includes in source files
- */
-
-void headers( TARGET *t );
-
-#ifdef OPT_HEADER_CACHE_EXT
-struct regexp;
-LIST *headers1( LIST *l, char *file, int rec, struct regexp *re[] );
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/jam.c b/SRC/Boost/tools/build/v2/engine/jam.c
deleted file mode 100755
index 722d7b4..0000000
--- a/SRC/Boost/tools/build/v2/engine/jam.c
+++ /dev/null
@@ -1,632 +0,0 @@
-/*
- * /+\
- * +\   Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- * \+/
- *
- * This file is part of jam.
- *
- * License is hereby granted to use this software and distribute it
- * freely, as long as this copyright notice is retained and modifications
- * are clearly marked.
- *
- * ALL WARRANTIES ARE HEREBY DISCLAIMED.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*
- * jam.c - make redux
- *
- * See Jam.html for usage information.
- *
- * These comments document the code.
- *
- * The top half of the code is structured such:
- *
- *                       jam
- *                      / | \
- *                 +---+  |  \
- *                /       |   \
- *         jamgram     option  \
- *        /  |   \              \
- *       /   |    \              \
- *      /    |     \             |
- *  scan     |     compile      make
- *   |       |    /  | \       / |  \
- *   |       |   /   |  \     /  |   \
- *   |       |  /    |   \   /   |    \
- * jambase parse     |   rules  search make1
- *                   |           |      |   \
- *                   |           |      |    \
- *                   |           |      |     \
- *               builtins    timestamp command execute
- *                               |
- *                               |
- *                               |
- *                             filesys
- *
- *
- * The support routines are called by all of the above, but themselves
- * are layered thus:
- *
- *                     variable|expand
- *                      /  |   |   |
- *                     /   |   |   |
- *                    /    |   |   |
- *                 lists   |   |   pathsys
- *                    \    |   |
- *                     \   |   |
- *                      \  |   |
- *                     newstr  |
- *                        \    |
- *                         \   |
- *                          \  |
- *                          hash
- *
- * Roughly, the modules are:
- *
- *  builtins.c - jam's built-in rules
- *  command.c - maintain lists of commands
- *  compile.c - compile parsed jam statements
- *  execunix.c - execute a shell script on UNIX
- *  execvms.c - execute a shell script, ala VMS
- *  expand.c - expand a buffer, given variable values
- *  file*.c - scan directories and archives on *
- *  hash.c - simple in-memory hashing routines
- *  hdrmacro.c - handle header file parsing for filename macro definitions
- *  headers.c - handle #includes in source files
- *  jambase.c - compilable copy of Jambase
- *  jamgram.y - jam grammar
- *  lists.c - maintain lists of strings
- *  make.c - bring a target up to date, once rules are in place
- *  make1.c - execute command to bring targets up to date
- *  newstr.c - string manipulation routines
- *  option.c - command line option processing
- *  parse.c - make and destroy parse trees as driven by the parser
- *  path*.c - manipulate file names on *
- *  hash.c - simple in-memory hashing routines
- *  regexp.c - Henry Spencer's regexp
- *  rules.c - access to RULEs, TARGETs, and ACTIONs
- *  scan.c - the jam yacc scanner
- *  search.c - find a target along $(SEARCH) or $(LOCATE)
- *  timestamp.c - get the timestamp of a file or archive member
- *  variable.c - handle jam multi-element variables
- *
- * 05/04/94 (seiwald) - async multiprocess (-j) support
- * 02/08/95 (seiwald) - -n implies -d2.
- * 02/22/95 (seiwald) - -v for version info.
- * 09/11/00 (seiwald) - PATCHLEVEL folded into VERSION.
- * 01/10/01 (seiwald) - pathsys.h split from filesys.h
- */
-
-
-#include "jam.h"
-#include "option.h"
-#include "patchlevel.h"
-
-/* These get various function declarations. */
-#include "lists.h"
-#include "parse.h"
-#include "variable.h"
-#include "compile.h"
-#include "builtins.h"
-#include "rules.h"
-#include "newstr.h"
-#include "scan.h"
-#include "timestamp.h"
-#include "make.h"
-#include "strings.h"
-#include "expand.h"
-#include "filesys.h"
-#include "output.h"
-
-/* Macintosh is "special" */
-#ifdef OS_MAC
-    #include <QuickDraw.h>
-#endif
-
-/* And UNIX for this. */
-#ifdef unix
-    #include <sys/utsname.h>
-    #include <signal.h>
-#endif
-
-struct globs globs =
-{
-    0,          /* noexec */
-    1,          /* jobs */
-    0,          /* quitquick */
-    0,          /* newestfirst */
-    0,          /* pipes action stdout and stderr merged to action output */
-#ifdef OS_MAC
-    { 0, 0 },   /* debug - suppress tracing output */
-#else
-    { 0, 1 },   /* debug ... */
-#endif
-    0,          /* output commands, not run them */
-    0           /* action timeout */
-};
-
-/* Symbols to be defined as true for use in Jambase. */
-static char * othersyms[] = { OSMAJOR, OSMINOR, OSPLAT, JAMVERSYM, 0 };
-
-
-/* Known for sure:
- *  mac needs arg_enviro
- *  OS2 needs extern environ
- */
-
-#ifdef OS_MAC
-    #define use_environ arg_environ
-    #ifdef MPW
-        QDGlobals qd;
-    #endif
-#endif
-
-/* on Win32-LCC */
-#if defined( OS_NT ) && defined( __LCC__ )
-    #define use_environ _environ
-#endif
-
-# if defined( __MWERKS__)
-    #define use_environ _environ
-    extern char * * _environ;
-#endif
-
-#ifndef use_environ
-    #define use_environ environ
-    #if !defined( __WATCOM__ ) && !defined( OS_OS2 ) && !defined( OS_NT )
-        extern char **environ;
-    #endif
-#endif
-
-#if YYDEBUG != 0
-    extern int yydebug;
-#endif
-
-#ifndef NDEBUG
-static void run_unit_tests()
-{
-#if defined( USE_EXECNT )
-    extern void execnt_unit_test();
-    execnt_unit_test();
-#endif
-    string_unit_test();
-    var_expand_unit_test();
-}
-#endif
-
-int anyhow = 0;
-
-#ifdef HAVE_PYTHON
-    extern PyObject * bjam_call         ( PyObject * self, PyObject * args );
-    extern PyObject * bjam_import_rule  ( PyObject * self, PyObject * args );
-    extern PyObject * bjam_define_action( PyObject * self, PyObject * args );
-    extern PyObject * bjam_variable     ( PyObject * self, PyObject * args );
-    extern PyObject * bjam_backtrace    ( PyObject * self, PyObject * args );
-    extern PyObject * bjam_caller       ( PyObject * self, PyObject * args );
-#endif
-
-char *saved_argv0;
-
-int main( int argc, char * * argv, char * * arg_environ )
-{
-    int                     n;
-    char                  * s;
-    struct bjam_option      optv[N_OPTS];
-    char            const * all = "all";
-    int                     status;
-    int                     arg_c = argc;
-    char          *       * arg_v = argv;
-    char            const * progname = argv[0];
-
-    saved_argv0 = argv[0];
-
-    BJAM_MEM_INIT();
-
-# ifdef OS_MAC
-    InitGraf(&qd.thePort);
-# endif
-
-    --argc;
-    ++argv;
-
-    if ( getoptions( argc, argv, "-:l:d:j:p:f:gs:t:ano:qv", optv ) < 0 )
-    {
-        printf( "\nusage: %s [ options ] targets...\n\n", progname );
-
-        printf( "-a      Build all targets, even if they are current.\n" );
-        printf( "-dx     Set the debug level to x (0-9).\n" );
-        printf( "-fx     Read x instead of Jambase.\n" );
-        /* printf( "-g      Build from newest sources first.\n" ); */
-        printf( "-jx     Run up to x shell commands concurrently.\n" );
-        printf( "-lx     Limit actions to x number of seconds after which they are stopped.\n" );
-        printf( "-n      Don't actually execute the updating actions.\n" );
-        printf( "-ox     Write the updating actions to file x.\n" );
-        printf( "-px     x=0, pipes action stdout and stderr merged into action output.\n" );
-        printf( "-q      Quit quickly as soon as a target fails.\n" );
-        printf( "-sx=y   Set variable x=y, overriding environment.\n" );
-        printf( "-tx     Rebuild x, even if it is up-to-date.\n" );
-        printf( "-v      Print the version of jam and exit.\n" );
-        printf( "--x     Option is ignored.\n\n" );
-
-        exit( EXITBAD );
-    }
-
-    /* Version info. */
-    if ( ( s = getoptval( optv, 'v', 0 ) ) )
-    {
-        printf( "Boost.Jam  " );
-        printf( "Version %s. %s.\n", VERSION, OSMINOR );
-        printf( "   Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.  \n" );
-        printf( "   Copyright 2001 David Turner.\n" );
-        printf( "   Copyright 2001-2004 David Abrahams.\n" );
-        printf( "   Copyright 2002-2008 Rene Rivera.\n" );
-        printf( "   Copyright 2003-2008 Vladimir Prus.\n" );
-
-        return EXITOK;
-    }
-
-    /* Pick up interesting options. */
-    if ( ( s = getoptval( optv, 'n', 0 ) ) )
-        globs.noexec++, globs.debug[2] = 1;
-
-    if ( ( s = getoptval( optv, 'p', 0 ) ) )
-    {
-        /* Undocumented -p3 (acts like both -p1 -p2) means separate pipe action
-         * stdout and stderr.
-         */
-        globs.pipe_action = atoi( s );
-        if ( ( 3 < globs.pipe_action ) || ( globs.pipe_action < 0 ) )
-        {
-            printf(
-                "Invalid pipe descriptor '%d', valid values are -p[0..3].\n",
-                globs.pipe_action );
-            exit( EXITBAD );
-        }
-    }
-
-    if ( ( s = getoptval( optv, 'q', 0 ) ) )
-        globs.quitquick = 1;
-
-    if ( ( s = getoptval( optv, 'a', 0 ) ) )
-        anyhow++;
-
-    if ( ( s = getoptval( optv, 'j', 0 ) ) )
-    {
-        globs.jobs = atoi( s );
-        if (globs.jobs == 0)
-        {
-            printf("Invalid value for the '-j' option.\n");
-            exit(EXITBAD);
-        }
-    }
-
-    if ( ( s = getoptval( optv, 'g', 0 ) ) )
-        globs.newestfirst = 1;
-
-    if ( ( s = getoptval( optv, 'l', 0 ) ) )
-        globs.timeout = atoi( s );
-
-    /* Turn on/off debugging */
-    for ( n = 0; ( s = getoptval( optv, 'd', n ) ); ++n )
-    {
-        int i;
-
-        /* First -d, turn off defaults. */
-        if ( !n )
-            for ( i = 0; i < DEBUG_MAX; ++i )
-                globs.debug[i] = 0;
-
-        i = atoi( s );
-
-        if ( ( i < 0 ) || ( i >= DEBUG_MAX ) )
-        {
-            printf( "Invalid debug level '%s'.\n", s );
-            continue;
-        }
-
-        /* n turns on levels 1-n. */
-        /* +n turns on level n. */
-        if ( *s == '+' )
-            globs.debug[i] = 1;
-        else while ( i )
-            globs.debug[i--] = 1;
-    }
-
-    {
-        PROFILE_ENTER( MAIN );
-
-#ifdef HAVE_PYTHON
-        {
-            PROFILE_ENTER( MAIN_PYTHON );
-            Py_Initialize();
-            {
-                static PyMethodDef BjamMethods[] = {
-                    {"call", bjam_call, METH_VARARGS,
-                     "Call the specified bjam rule."},
-                    {"import_rule", bjam_import_rule, METH_VARARGS,
-                     "Imports Python callable to bjam."},
-                    {"define_action", bjam_define_action, METH_VARARGS,
-                     "Defines a command line action."},
-                    {"variable", bjam_variable, METH_VARARGS,
-                     "Obtains a variable from bjam's global module."},
-                    {"backtrace", bjam_backtrace, METH_VARARGS,
-                     "Returns bjam backtrace from the last call into Python."},
-                    {"caller", bjam_caller, METH_VARARGS,
-                     "Returns the module from which the last call into Python is made."},
-                    {NULL, NULL, 0, NULL}
-                };
-
-                Py_InitModule( "bjam", BjamMethods );
-            }
-            PROFILE_EXIT( MAIN_PYTHON );
-        }
-#endif
-
-#ifndef NDEBUG
-        run_unit_tests();
-#endif
-#if YYDEBUG != 0
-        if ( DEBUG_PARSE )
-            yydebug = 1;
-#endif
-
-        /* Set JAMDATE. */
-        var_set( "JAMDATE", list_new( L0, outf_time(time(0)) ), VAR_SET );
-
-        /* Set JAM_VERSION. */
-        var_set( "JAM_VERSION",
-                 list_new( list_new( list_new( L0,
-                   newstr( VERSION_MAJOR_SYM ) ),
-                   newstr( VERSION_MINOR_SYM ) ),
-                   newstr( VERSION_PATCH_SYM ) ),
-                   VAR_SET );
-
-        /* Set JAMUNAME. */
-#ifdef unix
-        {
-            struct utsname u;
-
-            if ( uname( &u ) >= 0 )
-            {
-                var_set( "JAMUNAME",
-                         list_new(
-                             list_new(
-                                 list_new(
-                                     list_new(
-                                         list_new( L0,
-                                            newstr( u.sysname ) ),
-                                         newstr( u.nodename ) ),
-                                     newstr( u.release ) ),
-                                 newstr( u.version ) ),
-                             newstr( u.machine ) ), VAR_SET );
-            }
-        }
-#endif /* unix */
-
-        /* Load up environment variables. */
-
-        /* First into the global module, with splitting, for backward
-         * compatibility.
-         */
-        var_defines( use_environ, 1 );
-
-        /* Then into .ENVIRON, without splitting. */
-        enter_module( bindmodule(".ENVIRON") );
-        var_defines( use_environ, 0 );
-        exit_module( bindmodule(".ENVIRON") );
-
-        /*
-         * Jam defined variables OS & OSPLAT. We load them after environment, so
-         * that setting OS in environment does not change Jam's notion of the
-         * current platform.
-         */
-        var_defines( othersyms, 1 );
-
-        /* Load up variables set on command line. */
-        for ( n = 0; ( s = getoptval( optv, 's', n ) ); ++n )
-        {
-            char *symv[2];
-            symv[ 0 ] = s;
-            symv[ 1 ] = 0;
-            var_defines( symv, 1 );
-            enter_module( bindmodule(".ENVIRON") );
-            var_defines( symv, 0 );
-            exit_module( bindmodule(".ENVIRON") );
-        }
-
-        /* Set the ARGV to reflect the complete list of arguments of invocation.
-         */
-        for ( n = 0; n < arg_c; ++n )
-            var_set( "ARGV", list_new( L0, newstr( arg_v[n] ) ), VAR_APPEND );
-
-        /* Initialize built-in rules. */
-        load_builtins();
-
-        /* Add the targets in the command line to the update list. */
-        for ( n = 1; n < arg_c; ++n )
-        {
-            if ( arg_v[ n ][ 0 ] == '-' )
-            {
-                char * f = "-:l:d:j:f:gs:t:ano:qv";
-                for ( ; *f; ++f ) if ( *f == arg_v[ n ][ 1 ] ) break;
-                if ( ( f[ 1 ] == ':' ) && ( arg_v[ n ][ 2 ] == '\0' ) ) ++n;
-            }
-            else
-            {
-                mark_target_for_updating( arg_v[ n ] );
-            }
-        }
-
-        if (!targets_to_update())
-            mark_target_for_updating("all");
-
-        /* Parse ruleset. */
-        {
-            FRAME frame[ 1 ];
-            frame_init( frame );
-            for ( n = 0; ( s = getoptval( optv, 'f', n ) ); ++n )
-                parse_file( s, frame );
-
-            if ( !n )
-                parse_file( "+", frame );
-        }
-
-        status = yyanyerrors();
-
-        /* Manually touch -t targets. */
-        for ( n = 0; ( s = getoptval( optv, 't', n ) ); ++n )
-            touch_target( s );
-
-        /* If an output file is specified, set globs.cmdout to that. */
-        if ( ( s = getoptval( optv, 'o', 0 ) ) )
-        {
-            if ( !( globs.cmdout = fopen( s, "w" ) ) )
-            {
-                printf( "Failed to write to '%s'\n", s );
-                exit( EXITBAD );
-            }
-            ++globs.noexec;
-        }
-
-        /* The build system may set the PARALLELISM variable to override -j
-           options.  */
-        {
-            LIST *p = L0;
-            p = var_get ("PARALLELISM");
-            if (p)
-            {
-                int j = atoi (p->string);
-                if (j == -1)
-                {
-                    printf( "Invalid value of PARALLELISM: %s\n", p->string);
-                }
-                else
-                {
-                    globs.jobs = j;
-                }
-            }
-        }
-
-        /* KEEP_GOING overrides -q option. */
-        {
-            LIST *p = L0;
-            p = var_get ("KEEP_GOING");
-            if (p)
-            {
-                int v = atoi (p->string);
-                if (v == 0)
-                    globs.quitquick = 1;
-                else
-                    globs.quitquick = 0;
-            }
-        }
-
-        /* Now make target. */
-        {
-            PROFILE_ENTER( MAIN_MAKE );
-
-            LIST * targets = targets_to_update();
-            if (targets)
-            {
-                int targets_count = list_length( targets );
-                const char * * targets2 = (const char * *)
-                    BJAM_MALLOC( targets_count * sizeof( char * ) );
-                int n = 0;
-                for ( ; targets; targets = list_next( targets ) )
-                    targets2[ n++ ] = targets->string;
-                status |= make( targets_count, targets2, anyhow );
-                free( targets );
-            }
-            else
-            {
-                status = last_update_now_status;
-            }
-
-            PROFILE_EXIT( MAIN_MAKE );
-        }
-
-        PROFILE_EXIT( MAIN );
-    }
-
-    if ( DEBUG_PROFILE )
-        profile_dump();
-
-    /* Widely scattered cleanup. */
-    var_done();
-    file_done();
-    rules_done();
-    stamps_done();
-    str_done();
-
-    /* Close cmdout. */
-    if ( globs.cmdout )
-        fclose( globs.cmdout );
-
-#ifdef HAVE_PYTHON
-    Py_Finalize();
-#endif
-
-    BJAM_MEM_CLOSE();
-
-    return status ? EXITBAD : EXITOK;
-}
-
-#if defined(_WIN32)
-#include <windows.h>
-char *executable_path(char *argv0) {
-    char buf[1024];
-    DWORD ret = GetModuleFileName(NULL, buf, sizeof(buf));
-    if (ret == 0 || ret == sizeof(buf)) return NULL;
-    return strdup (buf);
-}
-#elif defined(__APPLE__)  /* Not tested */
-#include <mach-o/dyld.h>
-char *executable_path(char *argv0) {
-    char buf[1024];
-    uint32_t size = sizeof(buf);
-    int ret = _NSGetExecutablePath(buf, &size);
-    if (ret != 0) return NULL;
-    return strdup(buf);
-}
-#elif defined(sun) || defined(__sun) /* Not tested */
-#include <stdlib.h>
-
-char *executable_path(char *argv0) {
-    return strdup(getexecname());
-}
-#elif defined(__FreeBSD__)
-#include <sys/sysctl.h>
-char *executable_path(char *argv0) {
-    int mib[4];
-    mib[0] = CTL_KERN;
-    mib[1] = KERN_PROC;
-    mib[2] = KERN_PROC_PATHNAME;
-    mib[3] = -1;
-    char buf[1024];
-    size_t size = sizeof(buf);
-    sysctl(mib, 4, buf, &size, NULL, 0);
-    if (size == 0 || size == sizeof(buf)) return NULL;
-    return strndup(buf, size);
-}
-#elif defined(__linux__)
-#include <unistd.h>
-char *executable_path(char *argv0) {
-    char buf[1024];
-    ssize_t ret = readlink("/proc/self/exe", buf, sizeof(buf));
-    if (ret == 0 || ret == sizeof(buf)) return NULL;
-    return strndup(buf, ret);
-}
-#else
-char *executable_path(char *argv0) {
-    /* If argv0 is absolute path, assume it's the right absolute path. */
-    if (argv0[0] == "/")
-        return strdup(argv0);
-    return NULL;
-}
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/jam.h b/SRC/Boost/tools/build/v2/engine/jam.h
deleted file mode 100755
index f65f8a8..0000000
--- a/SRC/Boost/tools/build/v2/engine/jam.h
+++ /dev/null
@@ -1,579 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*
- * jam.h - includes and globals for jam
- *
- * 04/08/94 (seiwald) - Coherent/386 support added.
- * 04/21/94 (seiwald) - DGUX is __DGUX__, not just __DGUX.
- * 05/04/94 (seiwald) - new globs.jobs (-j jobs)
- * 11/01/94 (wingerd) - let us define path of Jambase at compile time.
- * 12/30/94 (wingerd) - changed command buffer size for NT (MS-DOS shell).
- * 02/22/95 (seiwald) - Jambase now in /usr/local/lib.
- * 04/30/95 (seiwald) - FreeBSD added.  Live Free or Die.
- * 05/10/95 (seiwald) - SPLITPATH character set up here.
- * 08/20/95 (seiwald) - added LINUX.
- * 08/21/95 (seiwald) - added NCR.
- * 10/23/95 (seiwald) - added SCO.
- * 01/03/96 (seiwald) - SINIX (nixdorf) added.
- * 03/13/96 (seiwald) - Jambase now compiled in; remove JAMBASE variable.
- * 04/29/96 (seiwald) - AIX now has 31 and 42 OSVERs.
- * 11/21/96 (peterk)  - added BeOS with MW CW mwcc
- * 12/21/96 (seiwald) - OSPLAT now defined for NT.
- * 07/19/99 (sickel)  - Mac OS X Server and Client support added
- * 02/18/00 (belmonte)- Support for Cygwin.
- * 09/12/00 (seiwald) - OSSYMS split to OSMAJOR/OSMINOR/OSPLAT
- * 12/29/00 (seiwald) - OSVER dropped.
- */
-
-#ifndef JAM_H_VP_2003_08_01
-#define JAM_H_VP_2003_08_01
-
-#ifdef HAVE_PYTHON
-#include <Python.h>
-#endif
-
-/* Assume popen support is available unless known otherwise. */
-#define HAVE_POPEN 1
-
-/*
- * VMS, OPENVMS
- */
-
-#ifdef VMS
-
-#include <types.h>
-#include <file.h>
-#include <stat.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <signal.h>
-#include <string.h>
-#include <time.h>
-#include <unistd.h>
-#include <unixlib.h>
-
-#define OSMINOR "OS=VMS"
-#define OSMAJOR "VMS=true"
-#define OS_VMS
-#define MAXLINE 1024 /* longest 'together' actions */
-#define SPLITPATH ','
-#define EXITOK 1
-#define EXITBAD 0
-#define DOWNSHIFT_PATHS
-
-/* This may be inaccurate. */
-#ifndef __DECC
-#define OSPLAT "OSPLAT=VAX"
-#endif
-
-#endif
-
-/*
- * Windows NT
- */
-
-#ifdef NT
-
-#include <fcntl.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <malloc.h>
-#ifndef __MWERKS__
-    #include <memory.h>
-#endif
-#include <signal.h>
-#include <string.h>
-#include <time.h>
-
-#define OSMAJOR "NT=true"
-#define OSMINOR "OS=NT"
-#define OS_NT
-#define SPLITPATH ';'
-/* Windows NT 3.51 only allows 996 chars per line, but we deal with the problem
- * in "execnt.c".
- */
-#define MAXLINE (maxline())    /* longest 'together' actions */
-#define USE_EXECNT
-#define USE_PATHUNIX
-#define PATH_DELIM '\\'
-#define DOWNSHIFT_PATHS
-
-/* AS400 cross-compile from NT. */
-
-#ifdef AS400
-    #undef OSMINOR
-    #undef OSMAJOR
-    #define OSMAJOR "AS400=true"
-    #define OSMINOR "OS=AS400"
-    #define OS_AS400
-#endif
-
-/* Metrowerks Standard Library on Windows. */
-
-#ifdef __MSL__
-    #undef HAVE_POPEN
-#endif
-
-# endif
-
-/*
- * Windows MingW32
- */
-
-#ifdef MINGW
-
-#include <fcntl.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <malloc.h>
-#include <memory.h>
-#include <signal.h>
-#include <string.h>
-#include <time.h>
-
-#define OSMAJOR "MINGW=true"
-#define OSMINOR "OS=MINGW"
-#define OS_NT
-#define SPLITPATH ';'
-#define MAXLINE 996    /* longest 'together' actions */
-#define USE_EXECUNIX
-#define USE_PATHUNIX
-#define PATH_DELIM '\\'
-#define DOWNSHIFT_PATHS
-
-#endif
-
-/*
- * OS2
- */
-
-#ifdef __OS2__
-
-#include <fcntl.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <malloc.h>
-#include <signal.h>
-#include <string.h>
-#include <time.h>
-
-#define OSMAJOR "OS2=true"
-#define OSMINOR "OS=OS2"
-#define OS_OS2
-#define SPLITPATH ';'
-#define MAXLINE 996    /* longest 'together' actions */
-#define USE_EXECUNIX
-#define USE_PATHUNIX
-#define PATH_DELIM '\\'
-#define DOWNSHIFT_PATHS
-
-#ifdef __EMX__
-    #define USE_FILEUNIX
-#endif
-
-#endif
-
-/*
- * Macintosh MPW
- */
-
-#ifdef macintosh
-
-#include <time.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-
-#define OSMAJOR "MAC=true"
-#define OSMINOR "OS=MAC"
-#define OS_MAC
-#define SPLITPATH ','
-
-#endif
-
-/*
- * God fearing UNIX.
- */
-
-#ifndef OSMINOR
-
-#define OSMAJOR "UNIX=true"
-#define USE_EXECUNIX
-#define USE_FILEUNIX
-#define USE_PATHUNIX
-#define PATH_DELIM '/'
-
-#ifdef _AIX
-    #define unix
-    #define MAXLINE 23552  /* 24k - 1k, longest 'together' actions */
-    #define OSMINOR "OS=AIX"
-    #define OS_AIX
-    #define NO_VFORK
-#endif
-#ifdef AMIGA
-    #define OSMINOR "OS=AMIGA"
-    #define OS_AMIGA
-#endif
-#ifdef __BEOS__
-    #define unix
-    #define OSMINOR "OS=BEOS"
-    #define OS_BEOS
-    #define NO_VFORK
-#endif
-#ifdef __bsdi__
-    #define OSMINOR "OS=BSDI"
-    #define OS_BSDI
-#endif
-#if defined (COHERENT) && defined (_I386)
-    #define OSMINOR "OS=COHERENT"
-    #define OS_COHERENT
-    #define NO_VFORK
-#endif
-#if defined(__cygwin__) || defined(__CYGWIN__)
-    #define OSMINOR "OS=CYGWIN"
-    #define OS_CYGWIN
-#endif
-#if defined(__FreeBSD__) && !defined(__DragonFly__)
-    #define OSMINOR "OS=FREEBSD"
-    #define OS_FREEBSD
-#endif
-#ifdef __DragonFly__
-    #define OSMINOR "OS=DRAGONFLYBSD"
-    #define OS_DRAGONFLYBSD
-#endif
-#ifdef __DGUX__
-    #define OSMINOR "OS=DGUX"
-    #define OS_DGUX
-#endif
-#ifdef __hpux
-    #define OSMINOR "OS=HPUX"
-    #define OS_HPUX
-#endif
-#ifdef __OPENNT
-    #define unix
-    #define OSMINOR "OS=INTERIX"
-    #define OS_INTERIX
-    #define NO_VFORK
-#endif
-#ifdef __sgi
-    #define OSMINOR "OS=IRIX"
-    #define OS_IRIX
-    #define NO_VFORK
-#endif
-#ifdef __ISC
-    #define OSMINOR "OS=ISC"
-    #define OS_ISC
-    #define NO_VFORK
-#endif
-#ifdef linux
-    #define OSMINOR "OS=LINUX"
-    #define OS_LINUX
-#endif
-#ifdef __Lynx__
-    #define OSMINOR "OS=LYNX"
-    #define OS_LYNX
-    #define NO_VFORK
-    #define unix
-#endif
-#ifdef __MACHTEN__
-    #define OSMINOR "OS=MACHTEN"
-    #define OS_MACHTEN
-#endif
-#ifdef mpeix
-    #define unix
-    #define OSMINOR "OS=MPEIX"
-    #define OS_MPEIX
-    #define NO_VFORK
-#endif
-#ifdef __MVS__
-    #define unix
-    #define OSMINOR "OS=MVS"
-    #define OS_MVS
-#endif
-#ifdef _ATT4
-    #define OSMINOR "OS=NCR"
-    #define OS_NCR
-#endif
-#ifdef __NetBSD__
-    #define unix
-    #define OSMINOR "OS=NETBSD"
-    #define OS_NETBSD
-    #define NO_VFORK
-#endif
-#ifdef __QNX__
-    #define unix
-    #ifdef __QNXNTO__
-        #define OSMINOR "OS=QNXNTO"
-        #define OS_QNXNTO
-    #else
-        #define OSMINOR "OS=QNX"
-        #define OS_QNX
-        #define NO_VFORK
-        #define MAXLINE 996
-    #endif
-#endif
-#ifdef NeXT
-    #ifdef __APPLE__
-        #define OSMINOR "OS=RHAPSODY"
-        #define OS_RHAPSODY
-    #else
-        #define OSMINOR "OS=NEXT"
-        #define OS_NEXT
-    #endif
-#endif
-#ifdef __APPLE__
-    #define unix
-    #define OSMINOR "OS=MACOSX"
-    #define OS_MACOSX
-#endif
-#ifdef __osf__
-    #ifndef unix
-        #define unix
-    #endif
-    #define OSMINOR "OS=OSF"
-    #define OS_OSF
-#endif
-#ifdef _SEQUENT_
-    #define OSMINOR "OS=PTX"
-    #define OS_PTX
-#endif
-#ifdef M_XENIX
-    #define OSMINOR "OS=SCO"
-    #define OS_SCO
-    #define NO_VFORK
-#endif
-#ifdef sinix
-    #define unix
-    #define OSMINOR "OS=SINIX"
-    #define OS_SINIX
-#endif
-#ifdef sun
-    #if defined(__svr4__) || defined(__SVR4)
-        #define OSMINOR "OS=SOLARIS"
-        #define OS_SOLARIS
-    #else
-        #define OSMINOR "OS=SUNOS"
-        #define OS_SUNOS
-    #endif
-#endif
-#ifdef ultrix
-    #define OSMINOR "OS=ULTRIX"
-    #define OS_ULTRIX
-#endif
-#ifdef _UNICOS
-    #define OSMINOR "OS=UNICOS"
-    #define OS_UNICOS
-#endif
-#if defined(__USLC__) && !defined(M_XENIX)
-    #define OSMINOR "OS=UNIXWARE"
-    #define OS_UNIXWARE
-#endif
-#ifdef __OpenBSD__
-    #define OSMINOR "OS=OPENBSD"
-    #define OS_OPENBSD
-    #define unix
-#endif
-#if defined (__FreeBSD_kernel__) && !defined(__FreeBSD__)
-    #define OSMINOR "OS=KFREEBSD"
-    #define OS_KFREEBSD
-#endif
-#ifndef OSMINOR
-    #define OSMINOR "OS=UNKNOWN"
-#endif
-
-/* All the UNIX includes */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifndef OS_MPEIX
-    #include <sys/file.h>
-#endif
-
-#include <fcntl.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <signal.h>
-#include <string.h>
-#include <time.h>
-#include <unistd.h>
-
-#ifndef OS_QNX
-    #include <memory.h>
-#endif
-
-#ifndef OS_ULTRIX
-    #include <stdlib.h>
-#endif
-
-#if !defined( OS_BSDI         ) && \
-    !defined( OS_FREEBSD      ) && \
-    !defined( OS_DRAGONFLYBSD ) && \
-    !defined( OS_NEXT         ) && \
-    !defined( OS_MACHTEN      ) && \
-    !defined( OS_MACOSX       ) && \
-    !defined( OS_RHAPSODY     ) && \
-    !defined( OS_MVS          ) && \
-    !defined( OS_OPENBSD      )
-    #include <malloc.h>
-#endif
-
-#endif
-
-/*
- * OSPLAT definitions - suppressed when it is a one-of-a-kind.
- */
-
-#if defined( _M_PPC      ) || \
-    defined( PPC         ) || \
-    defined( ppc         ) || \
-    defined( __powerpc__ ) || \
-    defined( __ppc__     )
-    #define OSPLAT "OSPLAT=PPC"
-#endif
-
-#if defined( _ALPHA_   ) || \
-    defined( __alpha__ )
-    #define OSPLAT "OSPLAT=AXP"
-#endif
-
-#if defined( _i386_   ) || \
-    defined( __i386__ ) || \
-    defined( __i386   ) || \
-    defined( _M_IX86  )
-    #define OSPLAT "OSPLAT=X86"
-#endif
-
-#if defined( __ia64__ ) || \
-    defined( __IA64__ ) || \
-    defined( __ia64   )
-    #define OSPLAT "OSPLAT=IA64"
-#endif
-
-#if defined( __x86_64__ ) || \
-    defined( __amd64__  ) || \
-    defined( _M_AMD64   )
-    #define OSPLAT "OSPLAT=X86_64"
-#endif
-
-
-#if defined( __sparc__ ) || \
-    defined( __sparc   )
-    #define OSPLAT "OSPLAT=SPARC"
-#endif
-
-#ifdef __mips__
-    #define OSPLAT "OSPLAT=MIPS"
-#endif
-
-#ifdef __arm__
-    #define OSPLAT "OSPLAT=ARM"
-#endif
-
-#ifdef __s390__
-    #define OSPLAT "OSPLAT=390"
-#endif
-
-#ifdef __hppa
-    #define OSPLAT "OSPLAT=PARISC"
-#endif
-
-#ifndef OSPLAT
-    #define OSPLAT ""
-#endif
-
-/*
- * Jam implementation misc.
- */
-
-#ifndef MAXLINE
-    #define MAXLINE 102400 /* longest 'together' actions' */
-#endif
-
-#ifndef EXITOK
-    #define EXITOK 0
-    #define EXITBAD 1
-#endif
-
-#ifndef SPLITPATH
-    #define SPLITPATH ':'
-#endif
-
-/* You probably do not need to muck with these. */
-
-#define MAXSYM   1024  /* longest symbol in the environment */
-#define MAXJPATH 1024  /* longest filename */
-
-#define MAXJOBS  64    /* silently enforced -j limit */
-#define MAXARGC  32    /* words in $(JAMSHELL) */
-
-/* Jam private definitions below. */
-
-#define DEBUG_MAX  14
-
-
-struct globs
-{
-    int    noexec;
-    int    jobs;
-    int    quitquick;
-    int    newestfirst;         /* build newest sources first */
-    int    pipe_action;
-    char   debug[ DEBUG_MAX ];
-    FILE * cmdout;              /* print cmds, not run them */
-    long   timeout;             /* number of seconds to limit actions to,
-                                 * default 0 for no limit.
-                                 */
-    int    dart;                /* output build and test results formatted for Dart */
-};
-
-extern struct globs globs;
-
-#define DEBUG_MAKE     ( globs.debug[ 1 ] )   /* show actions when executed */
-#define DEBUG_MAKEQ    ( globs.debug[ 2 ] )   /* show even quiet actions */
-#define DEBUG_EXEC     ( globs.debug[ 2 ] )   /* show text of actons */
-#define DEBUG_MAKEPROG ( globs.debug[ 3 ] )   /* show progress of make0 */
-#define DEBUG_BIND     ( globs.debug[ 3 ] )   /* show when files bound */
-
-#define DEBUG_EXECCMD  ( globs.debug[ 4 ] )   /* show execcmds()'s work */
-
-#define DEBUG_COMPILE  ( globs.debug[ 5 ] )   /* show rule invocations */
-
-#define DEBUG_HEADER   ( globs.debug[ 6 ] )   /* show result of header scan */
-#define DEBUG_BINDSCAN ( globs.debug[ 6 ] )   /* show result of dir scan */
-#define DEBUG_SEARCH   ( globs.debug[ 6 ] )   /* show attempts at binding */
-
-#define DEBUG_VARSET   ( globs.debug[ 7 ] )   /* show variable settings */
-#define DEBUG_VARGET   ( globs.debug[ 8 ] )   /* show variable fetches */
-#define DEBUG_VAREXP   ( globs.debug[ 8 ] )   /* show variable expansions */
-#define DEBUG_IF       ( globs.debug[ 8 ] )   /* show 'if' calculations */
-#define DEBUG_LISTS    ( globs.debug[ 9 ] )   /* show list manipulation */
-#define DEBUG_SCAN     ( globs.debug[ 9 ] )   /* show scanner tokens */
-#define DEBUG_MEM      ( globs.debug[ 9 ] )   /* show memory use */
-
-#define DEBUG_PROFILE  ( globs.debug[ 10 ] )  /* dump rule execution times */
-#define DEBUG_PARSE    ( globs.debug[ 11 ] )  /* debug parsing */
-#define DEBUG_GRAPH    ( globs.debug[ 12 ] )  /* debug dependencies */
-#define DEBUG_FATE     ( globs.debug[ 13 ] )  /* show changes to fate in make0() */
-
-/* Everyone gets the memory definitions. */
-#include "mem.h"
-
-/* They also get the profile functions. */
-#include "debug.h"
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/jambase.c b/SRC/Boost/tools/build/v2/engine/jambase.c
deleted file mode 100755
index d4ac34b..0000000
--- a/SRC/Boost/tools/build/v2/engine/jambase.c
+++ /dev/null
@@ -1,1691 +0,0 @@
-/* Generated by mkjambase from Jambase */
-char *jambase[] = {
-/* Jambase */
-"if $(NT)\n",
-"{\n",
-"SLASH ?= \\\\ ;\n",
-"}\n",
-"SLASH ?= / ;\n",
-"rule find-to-root ( dir : patterns + )\n",
-"{\n",
-"local globs = [ GLOB $(dir) : $(patterns) ] ;\n",
-"while ! $(globs) && $(dir:P) != $(dir)\n",
-"{\n",
-"dir = $(dir:P) ;\n",
-"globs = [ GLOB $(dir) : $(patterns) ] ;\n",
-"}\n",
-"return $(globs) ;\n",
-"}\n",
-".boost-build-file = ;\n",
-".bootstrap-file = ;\n",
-"BOOST_BUILD_PATH.user-value = $(BOOST_BUILD_PATH) ;\n",
-"if ! $(BOOST_BUILD_PATH) && $(UNIX)\n",
-"{\n",
-"BOOST_BUILD_PATH = /usr/share/boost-build ;\n",
-"}\n",
-"rule _poke ( module-name ? : variables + : value * )\n",
-"{\n",
-"module $(<)\n",
-"{\n",
-"$(>) = $(3) ;\n",
-"}\n",
-"}\n",
-"rule boost-build ( dir ? )\n",
-"{\n",
-"if $(.bootstrap-file)\n",
-"{\n",
-"ECHO \"Error: Illegal attempt to re-bootstrap the build system by invoking\" ;\n",
-"ECHO ;\n",
-"ECHO \"   'boost-build\" $(dir) \";'\" ;\n",
-"ECHO ;\n",
-"EXIT \"Please consult the documentation at 'http://www.boost.org'.\" ;\n",
-"}\n",
-"BOOST_BUILD_PATH = $(dir:R=$(.boost-build-file:D)) $(BOOST_BUILD_PATH) ;\n",
-"_poke .ENVIRON : BOOST_BUILD_PATH : $(BOOST_BUILD_PATH) ;\n",
-"local bootstrap-file = [ GLOB $(BOOST_BUILD_PATH) : bootstrap.jam ] ;\n",
-".bootstrap-file = $(bootstrap-file[1]) ;\n",
-"if ! $(.bootstrap-file)\n",
-"{\n",
-"ECHO \"Unable to load Boost.Build: could not find build system.\" ;\n",
-"ECHO --------------------------------------------------------- ;\n",
-"ECHO \"$(.boost-build-file) attempted to load the build system by invoking\" ;\n",
-"ECHO ;\n",
-"ECHO \"   'boost-build\" $(dir) \";'\" ;\n",
-"ECHO ;\n",
-"ECHO \"but we were unable to find \\\"bootstrap.jam\\\" in the specified directory\" ;\n",
-"ECHO \"or in BOOST_BUILD_PATH (searching \"$(BOOST_BUILD_PATH:J=\", \")\").\" ;\n",
-"ECHO ;\n",
-"EXIT \"Please consult the documentation at 'http://www.boost.org'.\" ;\n",
-"}\n",
-"if [ MATCH .*(--debug-configuration).* : $(ARGV) ]\n",
-"{\n",
-"ECHO \"notice: loading Boost.Build from\"\n",
-"[ NORMALIZE_PATH $(.bootstrap-file:D) ] ;\n",
-"}\n",
-"include $(.bootstrap-file) ;\n",
-"}\n",
-"if [ MATCH .*(b2).* : $(ARGV[1]:BL) ] \n",
-"|| [ MATCH .*(bjam).* : $(ARGV[1]:BL) ]\n",
-"|| $(BOOST_ROOT)    # A temporary measure so Jam works with Boost.Build v1.\n",
-"{\n",
-"local search-path = $(BOOST_BUILD_PATH) $(BOOST_ROOT) ;\n",
-"local self = [ SELF_PATH ] ;\n",
-"local boost-build-relative = ../../share/boost-build ;\n",
-"local self-based-path = [ NORMALIZE_PATH $(boost-build-relative:R=$(self)) ] ;\n",
-"local boost-build-files =\n",
-"[ find-to-root [ PWD ] : boost-build.jam ]\n",
-"[ GLOB $(self-based-path) : boost-build.jam ]\n",
-"[ GLOB $(search-path) : boost-build.jam ] ;\n",
-".boost-build-file = $(boost-build-files[1]) ;\n",
-"if ! $(.boost-build-file)\n",
-"{\n",
-"ECHO \"Unable to load Boost.Build: could not find \\\"boost-build.jam\\\"\" ;\n",
-"ECHO --------------------------------------------------------------- ;\n",
-"if ! [ MATCH .*(bjam).* : $(ARGV[1]:BL) ]\n",
-"{\n",
-"ECHO \"BOOST_ROOT must be set, either in the environment, or \" ;\n",
-"ECHO \"on the command-line with -sBOOST_ROOT=..., to the root\" ;\n",
-"ECHO \"of the boost installation.\" ;\n",
-"ECHO ;\n",
-"}\n",
-"ECHO \"Attempted search from\" [ PWD ] \"up to the root\" ;\n",
-"ECHO \"at\" $(self-based-path) ;\n",
-"ECHO \"and in these directories from BOOST_BUILD_PATH and BOOST_ROOT: \"$(search-path:J=\", \")\".\" ;\n",
-"EXIT \"Please consult the documentation at 'http://www.boost.org'.\" ;\n",
-"}\n",
-"if [ MATCH .*(--debug-configuration).* : $(ARGV) ]\n",
-"{\n",
-"ECHO \"notice: found boost-build.jam at\"\n",
-"[ NORMALIZE_PATH $(.boost-build-file) ] ;\n",
-"}\n",
-"include $(.boost-build-file) ;\n",
-"if ! $(.bootstrap-file)\n",
-"{\n",
-"ECHO \"Unable to load Boost.Build\" ;\n",
-"ECHO -------------------------- ;\n",
-"ECHO \"\\\"$(.boost-build-file)\\\" was found by searching from\" [ PWD ] \"up to the root\" ;\n",
-"ECHO \"and in these directories from BOOST_BUILD_PATH and BOOST_ROOT: \"$(search-path:J=\", \")\".\" ;\n",
-"ECHO ;\n",
-"ECHO \"However, it failed to call the \\\"boost-build\\\" rule to indicate\" ;\n",
-"ECHO \"the location of the build system.\" ;\n",
-"ECHO ;\n",
-"EXIT \"Please consult the documentation at 'http://www.boost.org'.\" ;\n",
-"}\n",
-"}\n",
-"else\n",
-"{\n",
-"if $(NT)\n",
-"{\n",
-"local SUPPORTED_TOOLSETS = \"BORLANDC\" \"VC7\" \"VISUALC\" \"VISUALC16\" \"INTELC\" \"WATCOM\"\n",
-"\"MINGW\" \"LCC\" ;\n",
-"TOOLSET = \"\" ;\n",
-"if $(JAM_TOOLSET)\n",
-"{\n",
-"local t ;\n",
-"for t in $(SUPPORTED_TOOLSETS)\n",
-"{\n",
-"$(t) = $($(t):J=\" \") ; # reconstitute paths with spaces in them\n",
-"if $(t) = $(JAM_TOOLSET) { TOOLSET = $(t) ; }\n",
-"}\n",
-"if ! $(TOOLSET)\n",
-"{\n",
-"ECHO  \"The JAM_TOOLSET environment variable is defined but its value\" ;\n",
-"ECHO  \"is invalid, please use one of the following:\" ;\n",
-"ECHO  ;\n",
-"for t in $(SUPPORTED_TOOLSETS) { ECHO \"  \" $(t) ; }\n",
-"EXIT ;\n",
-"}\n",
-"}\n",
-"if ! $(TOOLSET)\n",
-"{\n",
-"if $(BCCROOT)\n",
-"{\n",
-"TOOLSET  = BORLANDC ;\n",
-"BORLANDC = $(BCCROOT:J=\" \") ;\n",
-"}\n",
-"else if $(MSVC)\n",
-"{\n",
-"TOOLSET   = VISUALC16 ;\n",
-"VISUALC16 = $(MSVC:J=\" \") ;\n",
-"}\n",
-"else if $(MSVCNT)\n",
-"{\n",
-"TOOLSET = VISUALC ;\n",
-"VISUALC = $(MSVCNT:J=\" \") ;\n",
-"}\n",
-"else if $(MSVCDir)\n",
-"{\n",
-"TOOLSET = VISUALC ;\n",
-"VISUALC = $(MSVCDir:J=\" \") ;\n",
-"}\n",
-"else if $(MINGW)\n",
-"{\n",
-"TOOLSET = MINGW ;\n",
-"}\n",
-"else\n",
-"{\n",
-"ECHO  \"Jam cannot be run because, either:\" ;\n",
-"ECHO  \"   a. You didn't set BOOST_ROOT to indicate the root of your\" ;\n",
-"ECHO  \"      Boost installation.\" ;\n",
-"ECHO  \"   b. You are trying to use stock Jam but didn't indicate which\" ;\n",
-"ECHO  \"      compilation toolset to use. To do so, follow these simple\" ;\n",
-"ECHO  \"      instructions:\" ;\n",
-"ECHO  ;\n",
-"ECHO  \"  - define one of the following environment variable, with the\" ;\n",
-"ECHO  \"    appropriate value according to this list:\" ;\n",
-"ECHO  ;\n",
-"ECHO  \"   Variable    Toolset                      Description\" ;\n",
-"ECHO  ;\n",
-"ECHO  \"   BORLANDC    Borland C++                  BC++ install path\" ;\n",
-"ECHO  \"   VISUALC     Microsoft Visual C++         VC++ install path\" ;\n",
-"ECHO  \"   VISUALC16   Microsoft Visual C++ 16 bit  VC++ 16 bit install\" ;\n",
-"ECHO  \"   INTELC      Intel C/C++                  IC++ install path\" ;\n",
-"ECHO  \"   WATCOM      Watcom C/C++                 Watcom install path\" ;\n",
-"ECHO  \"   MINGW       MinGW (gcc)                  MinGW install path\" ;\n",
-"ECHO  \"   LCC         Win32-LCC                    LCC-Win32 install path\" ;\n",
-"ECHO  ;\n",
-"ECHO  \"  - define the JAM_TOOLSET environment variable with the *name*\" ;\n",
-"ECHO  \"    of the toolset variable you want to use.\" ;\n",
-"ECHO  ;\n",
-"ECHO  \"  e.g.:  set VISUALC=C:\\\\Visual6\" ;\n",
-"ECHO  \"         set JAM_TOOLSET=VISUALC\" ;\n",
-"EXIT  ;\n",
-"}\n",
-"}\n",
-"CP          ?= copy ;\n",
-"RM          ?= del /f/q ;\n",
-"SLASH       ?= \\\\ ;\n",
-"SUFLIB      ?= .lib ;\n",
-"SUFOBJ      ?= .obj ;\n",
-"SUFEXE      ?= .exe ;\n",
-"if $(TOOLSET) = BORLANDC\n",
-"{\n",
-"ECHO \"Compiler is Borland C++\" ;\n",
-"AR          ?= tlib /C /P64 ;\n",
-"CC          ?= bcc32 ;\n",
-"CCFLAGS     ?= -q -y -d -v -w-par -w-ccc -w-rch -w-pro -w-aus ;\n",
-"C++         ?= bcc32 ;\n",
-"C++FLAGS    ?= -q -y -d -v -w-par -w-ccc -w-rch -w-pro -w-aus -P ;\n",
-"LINK        ?= $(CC) ;\n",
-"LINKFLAGS   ?= $(CCFLAGS) ;\n",
-"STDLIBPATH  ?= $(BORLANDC)\\\\lib ;\n",
-"STDHDRS     ?= $(BORLANDC)\\\\include ;\n",
-"NOARSCAN    ?= true ;\n",
-"}\n",
-"else if $(TOOLSET) = VISUALC16\n",
-"{\n",
-"ECHO \"Compiler is Microsoft Visual C++ 16 bit\" ;\n",
-"AR          ?= lib /nologo ;\n",
-"CC          ?= cl /nologo ;\n",
-"CCFLAGS     ?= /D \\\"WIN\\\" ;\n",
-"C++         ?= $(CC) ;\n",
-"C++FLAGS    ?= $(CCFLAGS) ;\n",
-"LINK        ?= $(CC) ;\n",
-"LINKFLAGS   ?= $(CCFLAGS) ;\n",
-"LINKLIBS    ?=\n",
-"\\\"$(VISUALC16)\\\\lib\\\\mlibce.lib\\\"\n",
-"\\\"$(VISUALC16)\\\\lib\\\\oldnames.lib\\\"\n",
-";\n",
-"LINKLIBS    ?= ;\n",
-"NOARSCAN    ?= true ;\n",
-"OPTIM       ?= \"\" ;\n",
-"STDHDRS     ?= $(VISUALC16)\\\\include ;\n",
-"UNDEFFLAG   ?= \"/u _\" ;\n",
-"}\n",
-"else if $(TOOLSET) = VISUALC\n",
-"{\n",
-"ECHO \"Compiler is Microsoft Visual C++\" ;\n",
-"AR          ?= lib ;\n",
-"AS          ?= masm386 ;\n",
-"CC          ?= cl /nologo ;\n",
-"CCFLAGS     ?= \"\" ;\n",
-"C++         ?= $(CC) ;\n",
-"C++FLAGS    ?= $(CCFLAGS) ;\n",
-"LINK        ?= link /nologo ;\n",
-"LINKFLAGS   ?= \"\" ;\n",
-"LINKLIBS    ?= \\\"$(VISUALC)\\\\lib\\\\advapi32.lib\\\"\n",
-"\\\"$(VISUALC)\\\\lib\\\\gdi32.lib\\\"\n",
-"\\\"$(VISUALC)\\\\lib\\\\user32.lib\\\"\n",
-"\\\"$(VISUALC)\\\\lib\\\\kernel32.lib\\\" ;\n",
-"OPTIM       ?= \"\" ;\n",
-"STDHDRS     ?= $(VISUALC)\\\\include ;\n",
-"UNDEFFLAG   ?= \"/u _\" ;\n",
-"}\n",
-"else if $(TOOLSET) = VC7\n",
-"{\n",
-"ECHO \"Compiler is Microsoft Visual C++ .NET\" ;\n",
-"AR          ?= lib ;\n",
-"AS          ?= masm386 ;\n",
-"CC          ?= cl /nologo ;\n",
-"CCFLAGS     ?= \"\" ;\n",
-"C++         ?= $(CC) ;\n",
-"C++FLAGS    ?= $(CCFLAGS) ;\n",
-"LINK        ?= link /nologo ;\n",
-"LINKFLAGS   ?= \"\" ;\n",
-"LINKLIBS    ?= \\\"$(VISUALC)\\\\PlatformSDK\\\\lib\\\\advapi32.lib\\\"\n",
-"\\\"$(VISUALC)\\\\PlatformSDK\\\\lib\\\\gdi32.lib\\\"\n",
-"\\\"$(VISUALC)\\\\PlatformSDK\\\\lib\\\\user32.lib\\\"\n",
-"\\\"$(VISUALC)\\\\PlatformSDK\\\\lib\\\\kernel32.lib\\\" ;\n",
-"OPTIM       ?= \"\" ;\n",
-"STDHDRS     ?= \\\"$(VISUALC)\\\\include\\\"\n",
-"\\\"$(VISUALC)\\\\PlatformSDK\\\\include\\\" ;\n",
-"UNDEFFLAG   ?= \"/u _\" ;\n",
-"}\n",
-"else if $(TOOLSET) = INTELC\n",
-"{\n",
-"ECHO \"Compiler is Intel C/C++\" ;\n",
-"if ! $(VISUALC)\n",
-"{\n",
-"ECHO \"As a special exception, when using the Intel C++ compiler, you need\" ;\n",
-"ECHO \"to define the VISUALC environment variable to indicate the location\" ;\n",
-"ECHO \"of your Visual C++ installation. Aborting..\" ;\n",
-"EXIT ;\n",
-"}\n",
-"AR          ?= lib ;\n",
-"AS          ?= masm386 ;\n",
-"CC          ?= icl /nologo ;\n",
-"CCFLAGS     ?= \"\" ;\n",
-"C++         ?= $(CC) ;\n",
-"C++FLAGS    ?= $(CCFLAGS) ;\n",
-"LINK        ?= link /nologo ;\n",
-"LINKFLAGS   ?= \"\" ;\n",
-"LINKLIBS    ?= $(VISUALC)\\\\lib\\\\advapi32.lib\n",
-"$(VISUALC)\\\\lib\\\\kernel32.lib\n",
-";\n",
-"OPTIM       ?= \"\" ;\n",
-"STDHDRS     ?= $(INTELC)\\include $(VISUALC)\\\\include ;\n",
-"UNDEFFLAG   ?= \"/u _\" ;\n",
-"}\n",
-"else if $(TOOLSET) = WATCOM\n",
-"{\n",
-"ECHO \"Compiler is Watcom C/C++\" ;\n",
-"AR          ?= wlib ;\n",
-"CC          ?= wcc386 ;\n",
-"CCFLAGS     ?= /zq /DWIN32 /I$(WATCOM)\\\\h ; # zq=quiet\n",
-"C++         ?= wpp386 ;\n",
-"C++FLAGS    ?= $(CCFLAGS) ;\n",
-"CP          ?= copy ;\n",
-"DOT         ?= . ;\n",
-"DOTDOT      ?= .. ;\n",
-"LINK        ?= wcl386 ;\n",
-"LINKFLAGS   ?= /zq ; # zq=quiet\n",
-"LINKLIBS    ?= ;\n",
-"MV          ?= move ;\n",
-"NOARSCAN    ?= true ;\n",
-"OPTIM       ?= ;\n",
-"RM          ?= del /f ;\n",
-"SLASH       ?= \\\\ ;\n",
-"STDHDRS     ?= $(WATCOM)\\\\h $(WATCOM)\\\\h\\\\nt ;\n",
-"SUFEXE      ?= .exe ;\n",
-"SUFLIB      ?= .lib ;\n",
-"SUFOBJ      ?= .obj ;\n",
-"UNDEFFLAG   ?= \"/u _\" ;\n",
-"}\n",
-"else if $(TOOLSET) = MINGW\n",
-"{\n",
-"ECHO \"Compiler is GCC with Mingw\" ;\n",
-"AR              ?= ar -ru ;\n",
-"CC              ?= gcc ;\n",
-"CCFLAGS         ?= \"\" ;\n",
-"C++             ?= $(CC) ;\n",
-"C++FLAGS        ?= $(CCFLAGS) ;\n",
-"LINK            ?= $(CC) ;\n",
-"LINKFLAGS       ?= \"\" ;\n",
-"LINKLIBS        ?= \"\" ;\n",
-"OPTIM           ?= ;\n",
-"SUFOBJ           = .o ;\n",
-"SUFLIB           = .a ;\n",
-"SLASH            = / ;\n",
-"}\n",
-"else if $(TOOLSET) = LCC\n",
-"{\n",
-"ECHO \"Compiler is Win32-LCC\" ;\n",
-"AR              ?= lcclib ;\n",
-"CC              ?= lcc ;\n",
-"CCFLAGS         ?= \"\" ;\n",
-"C++             ?= $(CC) ;\n",
-"C++FLAGS        ?= $(CCFLAGS) ;\n",
-"LINK            ?= lcclnk ;\n",
-"LINKFLAGS       ?= \"\" ;\n",
-"LINKLIBS        ?= \"\" ;\n",
-"OPTIM           ?= ;\n",
-"NOARSCAN         = true ;\n",
-"}\n",
-"else\n",
-"{\n",
-"EXIT On NT, set BCCROOT, MSVCNT, MINGW or MSVC to the root of the\n",
-"Borland or Microsoft directories. ;\n",
-"}\n",
-"}\n",
-"else if $(OS2)\n",
-"{\n",
-"local SUPPORTED_TOOLSETS = \"EMX\" \"WATCOM\" ;\n",
-"TOOLSET = \"\" ;\n",
-"if $(JAM_TOOLSET)\n",
-"{\n",
-"local t ;\n",
-"for t in $(SUPPORTED_TOOLSETS)\n",
-"{\n",
-"$(t) = $($(t):J=\" \") ; # reconstitute paths with spaces in them\n",
-"if $(t) = $(JAM_TOOLSET) { TOOLSET = $(t) ; }\n",
-"}\n",
-"if ! $(TOOLSET)\n",
-"{\n",
-"ECHO  \"The JAM_TOOLSET environment variable is defined but its value\" ;\n",
-"ECHO  \"is invalid, please use one of the following:\" ;\n",
-"ECHO  ;\n",
-"for t in $(SUPPORTED_TOOLSETS) { ECHO \"  \" $(t) ; }\n",
-"EXIT ;\n",
-"}\n",
-"}\n",
-"if ! $(TOOLSET)\n",
-"{\n",
-"if $(watcom)\n",
-"{\n",
-"WATCOM   = $(watcom:J=\" \") ;\n",
-"TOOLSET  = WATCOM ;\n",
-"}\n",
-"else\n",
-"{\n",
-"ECHO  \"Jam cannot be run because you didn't indicate which compilation toolset\" ;\n",
-"ECHO  \"to use. To do so, follow these simple instructions:\" ;\n",
-"ECHO  ;\n",
-"ECHO  \"  - define one of the following environment variable, with the\" ;\n",
-"ECHO  \"    appropriate value according to this list:\" ;\n",
-"ECHO  ;\n",
-"ECHO  \"   Variable    Toolset                      Description\" ;\n",
-"ECHO  ;\n",
-"ECHO  \"   WATCOM      Watcom C/C++                 Watcom install path\" ;\n",
-"ECHO  \"   EMX         EMX (gcc)                    EMX install path\" ;\n",
-"ECHO  \"   VISUALAGE   IBM Visual Age C/C++         VisualAge install path\" ;\n",
-"ECHO  ;\n",
-"ECHO  \"  - define the JAM_TOOLSET environment variable with the *name*\" ;\n",
-"ECHO  \"    of the toolset variable you want to use.\" ;\n",
-"ECHO  ;\n",
-"ECHO  \"  e.g.:  set WATCOM=C:\\WATCOM\" ;\n",
-"ECHO  \"         set JAM_TOOLSET=WATCOM\" ;\n",
-"ECHO  ;\n",
-"EXIT  ;\n",
-"}\n",
-"}\n",
-"RM       = del /f ;\n",
-"CP       = copy ;\n",
-"MV      ?= move ;\n",
-"DOT     ?= . ;\n",
-"DOTDOT  ?= .. ;\n",
-"SUFLIB  ?= .lib ;\n",
-"SUFOBJ  ?= .obj ;\n",
-"SUFEXE  ?= .exe ;\n",
-"if $(TOOLSET) = WATCOM\n",
-"{\n",
-"AR           ?= wlib ;\n",
-"BINDIR       ?= \\\\os2\\\\apps ;\n",
-"CC           ?= wcc386 ;\n",
-"CCFLAGS      ?= /zq /DOS2 /I$(WATCOM)\\\\h ; # zq=quiet\n",
-"C++          ?= wpp386 ;\n",
-"C++FLAGS     ?= $(CCFLAGS) ;\n",
-"LINK         ?= wcl386 ;\n",
-"LINKFLAGS    ?= /zq ; # zq=quiet\n",
-"LINKLIBS     ?= ;\n",
-"NOARSCAN     ?= true ;\n",
-"OPTIM        ?= ;\n",
-"SLASH        ?= \\\\ ;\n",
-"STDHDRS      ?= $(WATCOM)\\\\h ;\n",
-"UNDEFFLAG    ?= \"/u _\" ;\n",
-"}\n",
-"else if $(TOOLSET) = EMX\n",
-"{\n",
-"ECHO \"Compiler is GCC-EMX\" ;\n",
-"AR            ?= ar -ru ;\n",
-"CC            ?= gcc ;\n",
-"CCFLAGS       ?= \"\" ;\n",
-"C++           ?= $(CC) ;\n",
-"C++FLAGS      ?= $(CCFLAGS) ;\n",
-"LINK          ?= $(CC) ;\n",
-"LINKFLAGS     ?= \"\" ;\n",
-"LINKLIBS      ?= \"\" ;\n",
-"OPTIM         ?= ;\n",
-"SUFOBJ         = .o ;\n",
-"SUFLIB         = .a ;\n",
-"UNDEFFLAG     ?= \"-U\" ;\n",
-"SLASH          = / ;\n",
-"}\n",
-"else\n",
-"{\n",
-"EXIT  \"Sorry, but the $(JAM_TOOLSET) toolset isn't supported for now\" ;\n",
-"}\n",
-"}\n",
-"else if $(VMS)\n",
-"{\n",
-"C++         ?= cxx ;\n",
-"C++FLAGS    ?= ;\n",
-"CC          ?= cc ;\n",
-"CCFLAGS     ?= ;\n",
-"CHMOD       ?= set file/prot= ;\n",
-"CP          ?= copy/replace ;\n",
-"CRELIB      ?= true ;\n",
-"DOT         ?= [] ;\n",
-"DOTDOT      ?= [-] ;\n",
-"EXEMODE     ?= (w:e) ;\n",
-"FILEMODE    ?= (w:r) ;\n",
-"HDRS        ?= ;\n",
-"LINK        ?= link ;\n",
-"LINKFLAGS   ?= \"\" ;\n",
-"LINKLIBS    ?= ;\n",
-"MKDIR       ?= create/dir ;\n",
-"MV          ?= rename ;\n",
-"OPTIM       ?= \"\" ;\n",
-"RM          ?= delete ;\n",
-"RUNVMS      ?= mcr ;\n",
-"SHELLMODE   ?= (w:er) ;\n",
-"SLASH       ?= . ;\n",
-"STDHDRS     ?= decc$library_include ;\n",
-"SUFEXE      ?= .exe ;\n",
-"SUFLIB      ?= .olb ;\n",
-"SUFOBJ      ?= .obj ;\n",
-"switch $(OS)\n",
-"{\n",
-"case OPENVMS : CCFLAGS  ?= /stand=vaxc ;\n",
-"case VMS     : LINKLIBS ?= sys$library:vaxcrtl.olb/lib ;\n",
-"}\n",
-"}\n",
-"else if $(MAC)\n",
-"{\n",
-"local OPT ;\n",
-"CW  ?= \"{CW}\" ;\n",
-"MACHDRS ?=\n",
-"\"$(UMACHDRS):Universal:Interfaces:CIncludes\"\n",
-"\"$(CW):MSL:MSL_C:MSL_Common:Include\"\n",
-"\"$(CW):MSL:MSL_C:MSL_MacOS:Include\" ;\n",
-"MACLIBS ?=\n",
-"\"$(CW):MacOS Support:Universal:Libraries:StubLibraries:Interfacelib\"\n",
-"\"$(CW):MacOS Support:Universal:Libraries:StubLibraries:Mathlib\" ;\n",
-"MPWLIBS ?=\n",
-"\"$(CW):MacOS Support:Libraries:Runtime:Runtime PPC:MSL MPWCRuntime.lib\"\n",
-"\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL C.PPC MPW.Lib\" ;\n",
-"MPWNLLIBS ?=\n",
-"\"$(CW):MacOS Support:Libraries:Runtime:Runtime PPC:MSL MPWCRuntime.lib\"\n",
-"\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL C.PPC MPW(NL).Lib\" ;\n",
-"SIOUXHDRS ?= ;\n",
-"SIOUXLIBS ?=\n",
-"\"$(CW):MacOS Support:Libraries:Runtime:Runtime PPC:MSL RuntimePPC.lib\"\n",
-"\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL SIOUX.PPC.Lib\"\n",
-"\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL C.PPC.Lib\" ;\n",
-"C++         ?= mwcppc ;\n",
-"C++FLAGS    ?= -w off -nomapcr ;\n",
-"CC          ?= mwcppc ;\n",
-"CCFLAGS     ?= -w off -nomapcr ;\n",
-"CP          ?= duplicate -y ;\n",
-"DOT         ?= \":\" ;\n",
-"DOTDOT      ?= \"::\" ;\n",
-"HDRS        ?= $(MACHDRS) $(MPWHDRS) ;\n",
-"LINK        ?= mwlinkppc ;\n",
-"LINKFLAGS   ?= -mpwtool -warn ;\n",
-"LINKLIBS    ?= $(MACLIBS) $(MPWLIBS) ;\n",
-"MKDIR       ?= newfolder ;\n",
-"MV          ?= rename -y ;\n",
-"NOARSCAN    ?= true ;\n",
-"OPTIM       ?= ;\n",
-"RM          ?= delete -y ;\n",
-"SLASH       ?= \":\" ;\n",
-"STDHDRS     ?= ;\n",
-"SUFLIB      ?= .lib ;\n",
-"SUFOBJ      ?= .o ;\n",
-"}\n",
-"else if $(OS) = BEOS && $(METROWERKS)\n",
-"{\n",
-"AR          ?= mwld -xml -o ;\n",
-"BINDIR      ?= /boot/apps ;\n",
-"CC          ?= mwcc ;\n",
-"CCFLAGS     ?= -nosyspath ;\n",
-"C++         ?= $(CC) ;\n",
-"C++FLAGS    ?= -nosyspath ;\n",
-"FORTRAN     ?= \"\" ;\n",
-"LIBDIR      ?= /boot/develop/libraries ;\n",
-"LINK        ?= mwld ;\n",
-"LINKFLAGS   ?= \"\" ;\n",
-"MANDIR      ?= /boot/documentation/\"Shell Tools\"/HTML ;\n",
-"NOARSCAN    ?= true ;\n",
-"STDHDRS     ?= /boot/develop/headers/posix ;\n",
-"}\n",
-"else if $(OS) = BEOS\n",
-"{\n",
-"BINDIR      ?= /boot/apps ;\n",
-"CC          ?= gcc ;\n",
-"C++         ?= $(CC) ;\n",
-"FORTRAN     ?= \"\" ;\n",
-"LIBDIR      ?= /boot/develop/libraries ;\n",
-"LINK        ?= gcc ;\n",
-"LINKLIBS    ?= -lnet ;\n",
-"NOARSCAN    ?= true ;\n",
-"STDHDRS     ?= /boot/develop/headers/posix ;\n",
-"}\n",
-"else if $(UNIX)\n",
-"{\n",
-"switch $(OS)\n",
-"{\n",
-"case AIX :\n",
-"LINKLIBS    ?= -lbsd ;\n",
-"case AMIGA :\n",
-"CC          ?= gcc ;\n",
-"YACC        ?= \"bison -y\" ;\n",
-"case CYGWIN :\n",
-"CC          ?= gcc ;\n",
-"CCFLAGS     += -D__cygwin__ ;\n",
-"LEX         ?= flex ;\n",
-"RANLIB      ?= \"\" ;\n",
-"SUFEXE      ?= .exe ;\n",
-"YACC        ?= \"bison -y\" ;\n",
-"case DGUX :\n",
-"RANLIB      ?= \"\" ;\n",
-"RELOCATE    ?= true ;\n",
-"case HPUX :\n",
-"YACC        = ;\n",
-"CFLAGS      += -Ae ;\n",
-"CCFLAGS     += -Ae ;\n",
-"RANLIB      ?= \"\" ;\n",
-"case INTERIX :\n",
-"CC          ?= gcc ;\n",
-"RANLIB      ?= \"\" ;\n",
-"case IRIX :\n",
-"RANLIB      ?= \"\" ;\n",
-"case MPEIX :\n",
-"CC          ?= gcc ;\n",
-"C++         ?= gcc ;\n",
-"CCFLAGS     += -D_POSIX_SOURCE ;\n",
-"HDRS        += /usr/include ;\n",
-"RANLIB      ?= \"\" ;\n",
-"NOARSCAN    ?= true ;\n",
-"NOARUPDATE  ?= true ;\n",
-"case MVS :\n",
-"RANLIB      ?= \"\" ;\n",
-"case NEXT :\n",
-"AR          ?= libtool -o ;\n",
-"RANLIB      ?= \"\" ;\n",
-"case MACOSX :\n",
-"AR          ?= libtool -o ;\n",
-"C++         ?= c++ ;\n",
-"MANDIR      ?= /usr/local/share/man ;\n",
-"RANLIB      ?= \"\" ;\n",
-"case NCR :\n",
-"RANLIB      ?= \"\" ;\n",
-"case PTX :\n",
-"RANLIB      ?= \"\" ;\n",
-"case QNX :\n",
-"AR          ?= wlib ;\n",
-"CC          ?= cc ;\n",
-"CCFLAGS     ?= -Q ; # quiet\n",
-"C++         ?= $(CC) ;\n",
-"C++FLAGS    ?= -Q ; # quiet\n",
-"LINK        ?= $(CC) ;\n",
-"LINKFLAGS   ?= -Q ; # quiet\n",
-"NOARSCAN    ?= true ;\n",
-"RANLIB      ?= \"\" ;\n",
-"case SCO :\n",
-"RANLIB      ?= \"\" ;\n",
-"RELOCATE    ?= true ;\n",
-"case SINIX :\n",
-"RANLIB      ?= \"\" ;\n",
-"case SOLARIS :\n",
-"RANLIB      ?= \"\" ;\n",
-"AR          ?= \"/usr/ccs/bin/ar ru\" ;\n",
-"case UNICOS :\n",
-"NOARSCAN    ?= true ;\n",
-"OPTIM       ?= -O0 ;\n",
-"case UNIXWARE :\n",
-"RANLIB      ?= \"\" ;\n",
-"RELOCATE    ?= true ;\n",
-"}\n",
-"CCFLAGS     ?= ;\n",
-"C++FLAGS    ?= $(CCFLAGS) ;\n",
-"CHMOD       ?= chmod ;\n",
-"CHGRP       ?= chgrp ;\n",
-"CHOWN       ?= chown ;\n",
-"LEX         ?= lex ;\n",
-"LINKFLAGS   ?= $(CCFLAGS) ;\n",
-"LINKLIBS    ?= ;\n",
-"OPTIM       ?= -O ;\n",
-"RANLIB      ?= ranlib ;\n",
-"YACC        ?= yacc ;\n",
-"YACCFILES   ?= y.tab ;\n",
-"YACCFLAGS   ?= -d ;\n",
-"}\n",
-"AR          ?= ar ru ;\n",
-"AS          ?= as ;\n",
-"ASFLAGS     ?= ;\n",
-"AWK         ?= awk ;\n",
-"BINDIR      ?= /usr/local/bin ;\n",
-"C++         ?= cc ;\n",
-"C++FLAGS    ?= ;\n",
-"CC          ?= cc ;\n",
-"CCFLAGS     ?= ;\n",
-"CP          ?= cp -f ;\n",
-"CRELIB      ?= ;\n",
-"DOT         ?= . ;\n",
-"DOTDOT      ?= .. ;\n",
-"EXEMODE     ?= 711 ;\n",
-"FILEMODE    ?= 644 ;\n",
-"FORTRAN     ?= f77 ;\n",
-"FORTRANFLAGS ?= ;\n",
-"HDRS        ?= ;\n",
-"INSTALLGRIST ?= installed ;\n",
-"JAMFILE     ?= Jamfile ;\n",
-"JAMRULES    ?= Jamrules ;\n",
-"LEX         ?= ;\n",
-"LIBDIR      ?= /usr/local/lib ;\n",
-"LINK        ?= $(CC) ;\n",
-"LINKFLAGS   ?= ;\n",
-"LINKLIBS    ?= ;\n",
-"LN          ?= ln ;\n",
-"MANDIR      ?= /usr/local/man ;\n",
-"MKDIR       ?= mkdir ;\n",
-"MV          ?= mv -f ;\n",
-"OPTIM       ?= ;\n",
-"RCP         ?= rcp ;\n",
-"RM          ?= rm -f ;\n",
-"RSH         ?= rsh ;\n",
-"SED         ?= sed ;\n",
-"SHELLHEADER ?= \"#!/bin/sh\" ;\n",
-"SHELLMODE   ?= 755 ;\n",
-"SLASH       ?= / ;\n",
-"STDHDRS     ?= /usr/include ;\n",
-"SUFEXE      ?= \"\" ;\n",
-"SUFLIB      ?= .a ;\n",
-"SUFOBJ      ?= .o ;\n",
-"UNDEFFLAG   ?= \"-u _\" ;\n",
-"YACC        ?= ;\n",
-"YACCFILES   ?= ;\n",
-"YACCFLAGS   ?= ;\n",
-"HDRPATTERN =\n",
-"\"^[     ]*#[    ]*include[  ]*[<\\\"]([^\\\">]*)[\\\">].*$\" ;\n",
-"OSFULL = $(OS)$(OSVER)$(OSPLAT) $(OS)$(OSPLAT) $(OS)$(OSVER) $(OS) ;\n",
-"DEPENDS all : shell files lib exe obj ;\n",
-"DEPENDS all shell files lib exe obj : first ;\n",
-"NOTFILE all first shell files lib exe obj dirs clean uninstall ;\n",
-"ALWAYS clean uninstall ;\n",
-"rule As\n",
-"{\n",
-"DEPENDS $(<) : $(>) ;\n",
-"ASFLAGS on $(<) += $(ASFLAGS) $(SUBDIRASFLAGS) ;\n",
-"}\n",
-"rule Bulk\n",
-"{\n",
-"local i ;\n",
-"for i in $(>)\n",
-"{\n",
-"File $(i:D=$(<)) : $(i) ;\n",
-"}\n",
-"}\n",
-"rule Cc\n",
-"{\n",
-"local _h ;\n",
-"DEPENDS $(<) : $(>) ;\n",
-"CCFLAGS on $(<) += $(CCFLAGS) $(SUBDIRCCFLAGS) ;\n",
-"if $(RELOCATE)\n",
-"{\n",
-"CcMv $(<) : $(>) ;\n",
-"}\n",
-"_h = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n",
-"if $(VMS) && $(_h)\n",
-"{\n",
-"SLASHINC on $(<) = \"/inc=(\" $(_h[1]) ,$(_h[2-]) \")\" ;\n",
-"}\n",
-"else if $(MAC) && $(_h)\n",
-"{\n",
-"local _i _j ;\n",
-"_j = $(_h[1]) ;\n",
-"for _i in $(_h[2-])\n",
-"{\n",
-"_j = $(_j),$(_i) ;\n",
-"}\n",
-"MACINC on $(<) = \\\"$(_j)\\\" ;\n",
-"}\n",
-"}\n",
-"rule C++\n",
-"{\n",
-"local _h ;\n",
-"DEPENDS $(<) : $(>) ;\n",
-"C++FLAGS on $(<) += $(C++FLAGS) $(SUBDIRC++FLAGS) ;\n",
-"if $(RELOCATE)\n",
-"{\n",
-"CcMv $(<) : $(>) ;\n",
-"}\n",
-"_h = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n",
-"if $(VMS) && $(_h)\n",
-"{\n",
-"SLASHINC on $(<) = \"/inc=(\" $(_h[1]) ,$(_h[2-]) \")\" ;\n",
-"}\n",
-"else if $(MAC) && $(_h)\n",
-"{\n",
-"local _i _j ;\n",
-"_j = $(_h[1]) ;\n",
-"for _i in $(_h[2-])\n",
-"{\n",
-"_j = $(_j),$(_i) ;\n",
-"}\n",
-"MACINC on $(<) = \\\"$(_j)\\\" ;\n",
-"}\n",
-"}\n",
-"rule Chmod\n",
-"{\n",
-"if $(CHMOD) { Chmod1 $(<) ; }\n",
-"}\n",
-"rule File\n",
-"{\n",
-"DEPENDS files : $(<) ;\n",
-"DEPENDS $(<) : $(>) ;\n",
-"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
-"MODE on $(<) = $(FILEMODE) ;\n",
-"Chmod $(<) ;\n",
-"}\n",
-"rule Fortran\n",
-"{\n",
-"DEPENDS $(<) : $(>) ;\n",
-"}\n",
-"rule GenFile\n",
-"{\n",
-"local _t = [ FGristSourceFiles $(<) ] ;\n",
-"local _s = [ FAppendSuffix $(>[1]) : $(SUFEXE) ] ;\n",
-"Depends $(_t) : $(_s) $(>[2-]) ;\n",
-"GenFile1 $(_t) : $(_s) $(>[2-]) ;\n",
-"Clean clean : $(_t) ;\n",
-"}\n",
-"rule GenFile1\n",
-"{\n",
-"MakeLocate $(<) : $(LOCATE_SOURCE) ;\n",
-"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
-"}\n",
-"rule HardLink\n",
-"{\n",
-"DEPENDS files : $(<) ;\n",
-"DEPENDS $(<) : $(>) ;\n",
-"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
-"}\n",
-"rule HdrMacroFile\n",
-"{\n",
-"HDRMACRO $(<) ;\n",
-"}\n",
-"rule HdrRule\n",
-"{\n",
-"local s ;\n",
-"if $(HDRGRIST)\n",
-"{\n",
-"s = $(>:G=$(HDRGRIST)) ;\n",
-"} else {\n",
-"s = $(>) ;\n",
-"}\n",
-"INCLUDES $(<) : $(s) ;\n",
-"SEARCH on $(s) = $(HDRSEARCH) ;\n",
-"NOCARE $(s) ;\n",
-"HDRSEARCH on $(s) = $(HDRSEARCH) ;\n",
-"HDRSCAN on $(s) = $(HDRSCAN) ;\n",
-"HDRRULE on $(s) = $(HDRRULE) ;\n",
-"HDRGRIST on $(s) = $(HDRGRIST) ;\n",
-"}\n",
-"rule InstallInto\n",
-"{\n",
-"local i t ;\n",
-"t = $(>:G=$(INSTALLGRIST)) ;\n",
-"Depends install : $(t) ;\n",
-"Clean uninstall : $(t) ;\n",
-"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
-"MakeLocate $(t) : $(<) ;\n",
-"for i in $(>)\n",
-"{\n",
-"local tt = $(i:G=$(INSTALLGRIST)) ;\n",
-"Depends $(tt) : $(i) ;\n",
-"Install $(tt) : $(i) ;\n",
-"Chmod $(tt) ;\n",
-"if $(OWNER) && $(CHOWN)\n",
-"{\n",
-"Chown $(tt) ;\n",
-"OWNER on $(tt) = $(OWNER) ;\n",
-"}\n",
-"if $(GROUP) && $(CHGRP)\n",
-"{\n",
-"Chgrp $(tt) ;\n",
-"GROUP on $(tt) = $(GROUP) ;\n",
-"}\n",
-"}\n",
-"}\n",
-"rule InstallBin\n",
-"{\n",
-"local _t = [ FAppendSuffix $(>) : $(SUFEXE) ] ;\n",
-"InstallInto $(<) : $(_t) ;\n",
-"MODE on $(_t:G=installed) = $(EXEMODE) ;\n",
-"}\n",
-"rule InstallFile\n",
-"{\n",
-"InstallInto $(<) : $(>) ;\n",
-"MODE on $(>:G=installed) = $(FILEMODE) ;\n",
-"}\n",
-"rule InstallLib\n",
-"{\n",
-"InstallInto $(<) : $(>) ;\n",
-"MODE on $(>:G=installed) = $(FILEMODE) ;\n",
-"}\n",
-"rule InstallMan\n",
-"{\n",
-"local i s d ;\n",
-"for i in $(>)\n",
-"{\n",
-"switch $(i:S)\n",
-"{\n",
-"case .1 : s = 1 ; case .2 : s = 2 ; case .3 : s = 3 ;\n",
-"case .4 : s = 4 ; case .5 : s = 5 ; case .6 : s = 6 ;\n",
-"case .7 : s = 7 ; case .8 : s = 8 ; case .l : s = l ;\n",
-"case .n : s = n ; case .man : s = 1 ;\n",
-"}\n",
-"d = man$(s) ;\n",
-"InstallInto $(d:R=$(<)) : $(i) ;\n",
-"}\n",
-"MODE on $(>:G=installed) = $(FILEMODE) ;\n",
-"}\n",
-"rule InstallShell\n",
-"{\n",
-"InstallInto $(<) : $(>) ;\n",
-"MODE on $(>:G=installed) = $(SHELLMODE) ;\n",
-"}\n",
-"rule Lex\n",
-"{\n",
-"LexMv $(<) : $(>) ;\n",
-"DEPENDS $(<) : $(>) ;\n",
-"MakeLocate $(<) : $(LOCATE_SOURCE) ;\n",
-"Clean clean : $(<) ;\n",
-"}\n",
-"rule Library\n",
-"{\n",
-"LibraryFromObjects $(<) : $(>:S=$(SUFOBJ)) ;\n",
-"Objects $(>) ;\n",
-"}\n",
-"rule LibraryFromObjects\n",
-"{\n",
-"local _i _l _s ;\n",
-"_s = [ FGristFiles $(>) ] ;\n",
-"_l = $(<:S=$(SUFLIB)) ;\n",
-"if $(KEEPOBJS)\n",
-"{\n",
-"DEPENDS obj : $(_s) ;\n",
-"}\n",
-"else\n",
-"{\n",
-"DEPENDS lib : $(_l) ;\n",
-"}\n",
-"if ! $(_l:D)\n",
-"{\n",
-"MakeLocate $(_l) $(_l)($(_s:BS)) : $(LOCATE_TARGET) ;\n",
-"}\n",
-"if $(NOARSCAN)\n",
-"{\n",
-"DEPENDS $(_l) : $(_s) ;\n",
-"}\n",
-"else\n",
-"{\n",
-"DEPENDS $(_l) : $(_l)($(_s:BS)) ;\n",
-"for _i in $(_s)\n",
-"{\n",
-"DEPENDS $(_l)($(_i:BS)) : $(_i) ;\n",
-"}\n",
-"}\n",
-"Clean clean : $(_l) ;\n",
-"if $(CRELIB) { CreLib $(_l) : $(_s[1]) ; }\n",
-"Archive $(_l) : $(_s) ;\n",
-"if $(RANLIB) { Ranlib $(_l) ; }\n",
-"if ! ( $(NOARSCAN) || $(KEEPOBJS) ) { RmTemps $(_l) : $(_s) ; }\n",
-"}\n",
-"rule Link\n",
-"{\n",
-"MODE on $(<) = $(EXEMODE) ;\n",
-"Chmod $(<) ;\n",
-"}\n",
-"rule LinkLibraries\n",
-"{\n",
-"local _t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n",
-"DEPENDS $(_t) : $(>:S=$(SUFLIB)) ;\n",
-"NEEDLIBS on $(_t) += $(>:S=$(SUFLIB)) ;\n",
-"}\n",
-"rule Main\n",
-"{\n",
-"MainFromObjects $(<) : $(>:S=$(SUFOBJ)) ;\n",
-"Objects $(>) ;\n",
-"}\n",
-"rule MainFromObjects\n",
-"{\n",
-"local _s _t ;\n",
-"_s = [ FGristFiles $(>) ] ;\n",
-"_t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n",
-"if $(_t) != $(<)\n",
-"{\n",
-"DEPENDS $(<) : $(_t) ;\n",
-"NOTFILE $(<) ;\n",
-"}\n",
-"DEPENDS exe : $(_t) ;\n",
-"DEPENDS $(_t) : $(_s) ;\n",
-"MakeLocate $(_t) : $(LOCATE_TARGET) ;\n",
-"Clean clean : $(_t) ;\n",
-"Link $(_t) : $(_s) ;\n",
-"}\n",
-"rule MakeLocate\n",
-"{\n",
-"if $(>)\n",
-"{\n",
-"LOCATE on $(<) = $(>) ;\n",
-"Depends $(<) : $(>[1]) ;\n",
-"MkDir $(>[1]) ;\n",
-"}\n",
-"}\n",
-"rule MkDir\n",
-"{\n",
-"NOUPDATE $(<) ;\n",
-"if $(<) != $(DOT) && ! $($(<)-mkdir)\n",
-"{\n",
-"local s ;\n",
-"$(<)-mkdir = true ;\n",
-"MkDir1 $(<) ;\n",
-"Depends dirs : $(<) ;\n",
-"s = $(<:P) ;\n",
-"if $(NT)\n",
-"{\n",
-"switch $(s)\n",
-"{\n",
-"case *:   : s = ;\n",
-"case *:\\\\ : s = ;\n",
-"}\n",
-"}\n",
-"if $(s) && $(s) != $(<)\n",
-"{\n",
-"Depends $(<) : $(s) ;\n",
-"MkDir $(s) ;\n",
-"}\n",
-"else if $(s)\n",
-"{\n",
-"NOTFILE $(s) ;\n",
-"}\n",
-"}\n",
-"}\n",
-"rule Object\n",
-"{\n",
-"local h ;\n",
-"Clean clean : $(<) ;\n",
-"MakeLocate $(<) : $(LOCATE_TARGET) ;\n",
-"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
-"HDRS on $(<) = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n",
-"if $(SEARCH_SOURCE)\n",
-"{\n",
-"h = $(SEARCH_SOURCE) ;\n",
-"}\n",
-"else\n",
-"{\n",
-"h = \"\" ;\n",
-"}\n",
-"HDRRULE on $(>) = HdrRule ;\n",
-"HDRSCAN on $(>) = $(HDRPATTERN) ;\n",
-"HDRSEARCH on $(>) = $(HDRS) $(SUBDIRHDRS) $(h) $(STDHDRS) ;\n",
-"HDRGRIST on $(>) = $(HDRGRIST) ;\n",
-"switch $(>:S)\n",
-"{\n",
-"case .asm : As $(<) : $(>) ;\n",
-"case .c :   Cc $(<) : $(>) ;\n",
-"case .C :   C++ $(<) : $(>) ;\n",
-"case .cc :  C++ $(<) : $(>) ;\n",
-"case .cpp : C++ $(<) : $(>) ;\n",
-"case .f :   Fortran $(<) : $(>) ;\n",
-"case .l :   Cc $(<) : $(<:S=.c) ;\n",
-"Lex $(<:S=.c) : $(>) ;\n",
-"case .s :   As $(<) : $(>) ;\n",
-"case .y :   Cc $(<) : $(<:S=.c) ;\n",
-"Yacc $(<:S=.c) : $(>) ;\n",
-"case * :    UserObject $(<) : $(>) ;\n",
-"}\n",
-"}\n",
-"rule ObjectCcFlags\n",
-"{\n",
-"CCFLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n",
-"}\n",
-"rule ObjectC++Flags\n",
-"{\n",
-"C++FLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n",
-"}\n",
-"rule ObjectHdrs\n",
-"{\n",
-"HDRS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n",
-"}\n",
-"rule Objects\n",
-"{\n",
-"local _i ;\n",
-"for _i in [ FGristFiles $(<) ]\n",
-"{\n",
-"Object $(_i:S=$(SUFOBJ)) : $(_i) ;\n",
-"DEPENDS obj : $(_i:S=$(SUFOBJ)) ;\n",
-"}\n",
-"}\n",
-"rule RmTemps\n",
-"{\n",
-"TEMPORARY $(>) ;\n",
-"}\n",
-"rule Setuid\n",
-"{\n",
-"MODE on [ FAppendSuffix $(<) : $(SUFEXE) ] = 4711 ;\n",
-"}\n",
-"rule Shell\n",
-"{\n",
-"DEPENDS shell : $(<) ;\n",
-"DEPENDS $(<) : $(>) ;\n",
-"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
-"MODE on $(<) = $(SHELLMODE) ;\n",
-"Clean clean : $(<) ;\n",
-"Chmod $(<) ;\n",
-"}\n",
-"rule SubDir\n",
-"{\n",
-"local _r _s ;\n",
-"if ! $($(<[1]))\n",
-"{\n",
-"if ! $(<[1])\n",
-"{\n",
-"EXIT SubDir syntax error ;\n",
-"}\n",
-"$(<[1]) = [ FSubDir $(<[2-]) ] ;\n",
-"}\n",
-"if ! $($(<[1])-included)\n",
-"{\n",
-"$(<[1])-included = TRUE ;\n",
-"_r = $($(<[1])RULES) ;\n",
-"if ! $(_r)\n",
-"{\n",
-"_r = $(JAMRULES:R=$($(<[1]))) ;\n",
-"}\n",
-"include $(_r) ;\n",
-"}\n",
-"_s = [ FDirName $(<[2-]) ] ;\n",
-"SUBDIR = $(_s:R=$($(<[1]))) ;\n",
-"SUBDIR_TOKENS = $(<[2-]) ;\n",
-"SEARCH_SOURCE = $(SUBDIR) ;\n",
-"LOCATE_SOURCE = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n",
-"LOCATE_TARGET = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n",
-"SOURCE_GRIST = [ FGrist $(<[2-]) ] ;\n",
-"SUBDIRCCFLAGS = ;\n",
-"SUBDIRC++FLAGS = ;\n",
-"SUBDIRHDRS = ;\n",
-"}\n",
-"rule SubDirCcFlags\n",
-"{\n",
-"SUBDIRCCFLAGS += $(<) ;\n",
-"}\n",
-"rule SubDirC++Flags\n",
-"{\n",
-"SUBDIRC++FLAGS += $(<) ;\n",
-"}\n",
-"rule SubDirHdrs\n",
-"{\n",
-"SUBDIRHDRS += $(<) ;\n",
-"}\n",
-"rule SubInclude\n",
-"{\n",
-"local _s ;\n",
-"if ! $($(<[1]))\n",
-"{\n",
-"EXIT Top level of source tree has not been set with $(<[1]) ;\n",
-"}\n",
-"_s = [ FDirName $(<[2-]) ] ;\n",
-"include $(JAMFILE:D=$(_s):R=$($(<[1]))) ;\n",
-"}\n",
-"rule Undefines\n",
-"{\n",
-"UNDEFS on [ FAppendSuffix $(<) : $(SUFEXE) ] += $(UNDEFFLAG)$(>) ;\n",
-"}\n",
-"rule UserObject\n",
-"{\n",
-"EXIT \"Unknown suffix on\" $(>) \"- see UserObject rule in Jamfile(5).\" ;\n",
-"}\n",
-"rule Yacc\n",
-"{\n",
-"local _h ;\n",
-"_h = $(<:BS=.h) ;\n",
-"MakeLocate $(<) $(_h) : $(LOCATE_SOURCE) ;\n",
-"if $(YACC)\n",
-"{\n",
-"DEPENDS $(<) $(_h) : $(>) ;\n",
-"Yacc1 $(<) $(_h) : $(>) ;\n",
-"YaccMv $(<) $(_h) : $(>) ;\n",
-"Clean clean : $(<) $(_h) ;\n",
-"}\n",
-"INCLUDES $(<) : $(_h) ;\n",
-"}\n",
-"rule FGrist\n",
-"{\n",
-"local _g _i ;\n",
-"_g = $(<[1]) ;\n",
-"for _i in $(<[2-])\n",
-"{\n",
-"_g = $(_g)!$(_i) ;\n",
-"}\n",
-"return $(_g) ;\n",
-"}\n",
-"rule FGristFiles\n",
-"{\n",
-"if ! $(SOURCE_GRIST)\n",
-"{\n",
-"return $(<) ;\n",
-"}\n",
-"else\n",
-"{\n",
-"return $(<:G=$(SOURCE_GRIST)) ;\n",
-"}\n",
-"}\n",
-"rule FGristSourceFiles\n",
-"{\n",
-"if ! $(SOURCE_GRIST)\n",
-"{\n",
-"return $(<) ;\n",
-"}\n",
-"else\n",
-"{\n",
-"local _i _o ;\n",
-"for _i in $(<)\n",
-"{\n",
-"switch $(_i)\n",
-"{\n",
-"case *.h :  _o += $(_i) ;\n",
-"case * :    _o += $(_i:G=$(SOURCE_GRIST)) ;\n",
-"}\n",
-"}\n",
-"return $(_o) ;\n",
-"}\n",
-"}\n",
-"rule FConcat\n",
-"{\n",
-"local _t _r ;\n",
-"$(_r) = $(<[1]) ;\n",
-"for _t in $(<[2-])\n",
-"{\n",
-"$(_r) = $(_r)$(_t) ;\n",
-"}\n",
-"return $(_r) ;\n",
-"}\n",
-"rule FSubDir\n",
-"{\n",
-"local _i _d ;\n",
-"if ! $(<[1])\n",
-"{\n",
-"_d = $(DOT) ;\n",
-"}\n",
-"else\n",
-"{\n",
-"_d = $(DOTDOT) ;\n",
-"for _i in $(<[2-])\n",
-"{\n",
-"_d = $(_d:R=$(DOTDOT)) ;\n",
-"}\n",
-"}\n",
-"return $(_d) ;\n",
-"}\n",
-"rule FDirName\n",
-"{\n",
-"local _s _i ;\n",
-"if ! $(<)\n",
-"{\n",
-"_s = $(DOT) ;\n",
-"}\n",
-"else if $(VMS)\n",
-"{\n",
-"switch $(<[1])\n",
-"{\n",
-"case *:* : _s = $(<[1]) ;\n",
-"case \\\\[*\\\\] : _s = $(<[1]) ;\n",
-"case * : _s = [.$(<[1])] ;\n",
-"}\n",
-"for _i in [.$(<[2-])]\n",
-"{\n",
-"_s = $(_i:R=$(_s)) ;\n",
-"}\n",
-"}\n",
-"else if $(MAC)\n",
-"{\n",
-"_s = $(DOT) ;\n",
-"for _i in $(<)\n",
-"{\n",
-"_s = $(_i:R=$(_s)) ;\n",
-"}\n",
-"}\n",
-"else\n",
-"{\n",
-"_s = $(<[1]) ;\n",
-"for _i in $(<[2-])\n",
-"{\n",
-"_s = $(_i:R=$(_s)) ;\n",
-"}\n",
-"}\n",
-"return $(_s) ;\n",
-"}\n",
-"rule _makeCommon\n",
-"{\n",
-"if $($(<)[1]) && $($(<)[1]) = $($(>)[1])\n",
-"{\n",
-"$(<) = $($(<)[2-]) ;\n",
-"$(>) = $($(>)[2-]) ;\n",
-"_makeCommon $(<) : $(>) ;\n",
-"}\n",
-"}\n",
-"rule FRelPath\n",
-"{\n",
-"local _l _r ;\n",
-"_l = $(<) ;\n",
-"_r = $(>) ;\n",
-"_makeCommon _l : _r ;\n",
-"_l = [ FSubDir $(_l) ] ;\n",
-"_r = [ FDirName $(_r) ] ;\n",
-"if $(_r) = $(DOT) {\n",
-"return $(_l) ;\n",
-"} else {\n",
-"return $(_r:R=$(_l)) ;\n",
-"}\n",
-"}\n",
-"rule FAppendSuffix\n",
-"{\n",
-"if $(>)\n",
-"{\n",
-"local _i _o ;\n",
-"for _i in $(<)\n",
-"{\n",
-"if $(_i:S)\n",
-"{\n",
-"_o += $(_i) ;\n",
-"}\n",
-"else\n",
-"{\n",
-"_o += $(_i:S=$(>)) ;\n",
-"}\n",
-"}\n",
-"return $(_o) ;\n",
-"}\n",
-"else\n",
-"{\n",
-"return $(<) ;\n",
-"}\n",
-"}\n",
-"rule unmakeDir\n",
-"{\n",
-"if $(>[1]:D) && $(>[1]:D) != $(>[1]) && $(>[1]:D) != \\\\\\\\\n",
-"{\n",
-"unmakeDir $(<) : $(>[1]:D) $(>[1]:BS) $(>[2-]) ;\n",
-"}\n",
-"else\n",
-"{\n",
-"$(<) = $(>) ;\n",
-"}\n",
-"}\n",
-"rule FConvertToSlashes\n",
-"{\n",
-"local _d, _s, _i ;\n",
-"unmakeDir _d : $(<) ;\n",
-"_s = $(_d[1]) ;\n",
-"for _i in $(_d[2-])\n",
-"{\n",
-"_s = $(_s)/$(_i) ;\n",
-"}\n",
-"return $(_s) ;\n",
-"}\n",
-"actions updated together piecemeal Archive\n",
-"{\n",
-"$(AR) $(<) $(>)\n",
-"}\n",
-"actions As\n",
-"{\n",
-"$(AS) $(ASFLAGS) -I$(HDRS) -o $(<) $(>)\n",
-"}\n",
-"actions C++\n",
-"{\n",
-"$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o $(<) $(>)\n",
-"}\n",
-"actions Cc\n",
-"{\n",
-"$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o $(<) $(>)\n",
-"}\n",
-"actions Chgrp\n",
-"{\n",
-"$(CHGRP) $(GROUP) $(<)\n",
-"}\n",
-"actions Chmod1\n",
-"{\n",
-"$(CHMOD) $(MODE) $(<)\n",
-"}\n",
-"actions Chown\n",
-"{\n",
-"$(CHOWN) $(OWNER) $(<)\n",
-"}\n",
-"actions piecemeal together existing Clean\n",
-"{\n",
-"$(RM) $(>)\n",
-"}\n",
-"actions File\n",
-"{\n",
-"$(CP) $(>) $(<)\n",
-"}\n",
-"actions GenFile1\n",
-"{\n",
-"$(>[1]) $(<) $(>[2-])\n",
-"}\n",
-"actions Fortran\n",
-"{\n",
-"$(FORTRAN) $(FORTRANFLAGS) -o $(<) $(>)\n",
-"}\n",
-"actions HardLink\n",
-"{\n",
-"$(RM) $(<) && $(LN) $(>) $(<)\n",
-"}\n",
-"actions Install\n",
-"{\n",
-"$(CP) $(>) $(<)\n",
-"}\n",
-"actions Lex\n",
-"{\n",
-"$(LEX) $(>)\n",
-"}\n",
-"actions LexMv\n",
-"{\n",
-"$(MV) lex.yy.c $(<)\n",
-"}\n",
-"actions Link bind NEEDLIBS\n",
-"{\n",
-"$(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
-"}\n",
-"actions MkDir1\n",
-"{\n",
-"$(MKDIR) $(<)\n",
-"}\n",
-"actions together Ranlib\n",
-"{\n",
-"$(RANLIB) $(<)\n",
-"}\n",
-"actions quietly updated piecemeal together RmTemps\n",
-"{\n",
-"$(RM) $(>)\n",
-"}\n",
-"actions Shell\n",
-"{\n",
-"$(AWK) '\n",
-"NR == 1 { print \"$(SHELLHEADER)\" }\n",
-"NR == 1 && /^[#:]/ { next }\n",
-"/^##/ { next }\n",
-"{ print }\n",
-"' < $(>) > $(<)\n",
-"}\n",
-"actions Yacc1\n",
-"{\n",
-"$(YACC) $(YACCFLAGS) $(>)\n",
-"}\n",
-"actions YaccMv\n",
-"{\n",
-"$(MV) $(YACCFILES).c $(<[1])\n",
-"$(MV) $(YACCFILES).h $(<[2])\n",
-"}\n",
-"if $(RELOCATE)\n",
-"{\n",
-"actions C++\n",
-"{\n",
-"$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) $(>)\n",
-"}\n",
-"actions Cc\n",
-"{\n",
-"$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) $(>)\n",
-"}\n",
-"actions ignore CcMv\n",
-"{\n",
-"[ $(<) != $(>:BS=$(SUFOBJ)) ] && $(MV) $(>:BS=$(SUFOBJ)) $(<)\n",
-"}\n",
-"}\n",
-"if $(NOARUPDATE)\n",
-"{\n",
-"actions Archive\n",
-"{\n",
-"$(AR) $(<) $(>)\n",
-"}\n",
-"}\n",
-"if $(NT)\n",
-"{\n",
-"if $(TOOLSET) = VISUALC || $(TOOLSET) = VC7 || $(TOOLSET) = INTELC\n",
-"{\n",
-"actions updated together piecemeal Archive\n",
-"{\n",
-"if exist $(<) set _$(<:B)_=$(<)\n",
-"$(AR) /out:$(<) %_$(<:B)_% $(>)\n",
-"}\n",
-"actions As\n",
-"{\n",
-"$(AS) /Ml /p /v /w2 $(>) $(<) ,nul,nul;\n",
-"}\n",
-"actions Cc\n",
-"{\n",
-"$(CC) /c $(CCFLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /I$(STDHDRS) $(>)\n",
-"}\n",
-"actions C++\n",
-"{\n",
-"$(C++) /c $(C++FLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /I$(STDHDRS) /Tp$(>)\n",
-"}\n",
-"actions Link bind NEEDLIBS\n",
-"{\n",
-"$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
-"}\n",
-"}\n",
-"else if $(TOOLSET) = VISUALC16\n",
-"{\n",
-"actions updated together piecemeal Archive\n",
-"{\n",
-"$(AR) $(<) -+$(>)\n",
-"}\n",
-"actions Cc\n",
-"{\n",
-"$(CC) /c $(CCFLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) $(>)\n",
-"}\n",
-"actions C++\n",
-"{\n",
-"$(C++) /c $(C++FLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /Tp$(>)\n",
-"}\n",
-"actions Link bind NEEDLIBS\n",
-"{\n",
-"$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
-"}\n",
-"}\n",
-"else if $(TOOLSET) = BORLANDC\n",
-"{\n",
-"actions updated together piecemeal Archive\n",
-"{\n",
-"$(AR) $(<) -+$(>)\n",
-"}\n",
-"actions Link bind NEEDLIBS\n",
-"{\n",
-"$(LINK) -e$(<) $(LINKFLAGS) $(UNDEFS) -L$(LINKLIBS) $(NEEDLIBS) $(>)\n",
-"}\n",
-"actions C++\n",
-"{\n",
-"$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
-"}\n",
-"actions Cc\n",
-"{\n",
-"$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
-"}\n",
-"}\n",
-"else if $(TOOLSET) = MINGW\n",
-"{\n",
-"actions together piecemeal Archive\n",
-"{\n",
-"$(AR) $(<) $(>:T)\n",
-"}\n",
-"actions Cc\n",
-"{\n",
-"$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
-"}\n",
-"actions C++\n",
-"{\n",
-"$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
-"}\n",
-"}\n",
-"else if $(TOOLSET) = WATCOM\n",
-"{\n",
-"actions together piecemeal Archive\n",
-"{\n",
-"$(AR) $(<) +-$(>)\n",
-"}\n",
-"actions Cc\n",
-"{\n",
-"$(CC) $(CCFLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n",
-"}\n",
-"actions C++\n",
-"{\n",
-"$(C++) $(C++FLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n",
-"}\n",
-"actions Link bind NEEDLIBS\n",
-"{\n",
-"$(LINK) $(LINKFLAGS) /Fe=$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
-"}\n",
-"actions Shell\n",
-"{\n",
-"$(CP) $(>) $(<)\n",
-"}\n",
-"}\n",
-"else if $(TOOLSET) = LCC\n",
-"{\n",
-"actions together piecemeal Archive\n",
-"{\n",
-"$(AR) /out:$(<) $(>)\n",
-"}\n",
-"actions Cc\n",
-"{\n",
-"$(CC) $(CCFLAGS) $(OPTIM) -Fo$(<) -I$(HDRS) $(>)\n",
-"}\n",
-"actions Link bind NEEDLIBS\n",
-"{\n",
-"$(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
-"}\n",
-"actions Shell\n",
-"{\n",
-"$(CP) $(>) $(<)\n",
-"}\n",
-"}\n",
-"}\n",
-"else if $(OS2)\n",
-"{\n",
-"if $(TOOLSET) = WATCOM\n",
-"{\n",
-"actions together piecemeal Archive\n",
-"{\n",
-"$(AR) $(<) +-$(>)\n",
-"}\n",
-"actions Cc\n",
-"{\n",
-"$(CC) $(CCFLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n",
-"}\n",
-"actions C++\n",
-"{\n",
-"$(C++) $(C++FLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n",
-"}\n",
-"actions Link bind NEEDLIBS\n",
-"{\n",
-"$(LINK) $(LINKFLAGS) /Fe=$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
-"}\n",
-"actions Shell\n",
-"{\n",
-"$(CP) $(>) $(<)\n",
-"}\n",
-"}\n",
-"else if $(TOOLSET) = EMX\n",
-"{\n",
-"actions together piecemeal Archive\n",
-"{\n",
-"$(AR) $(<) $(>:T)\n",
-"}\n",
-"actions Cc\n",
-"{\n",
-"$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
-"}\n",
-"actions C++\n",
-"{\n",
-"$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
-"}\n",
-"}\n",
-"}\n",
-"else if $(VMS)\n",
-"{\n",
-"actions updated together piecemeal Archive\n",
-"{\n",
-"lib/replace $(<) $(>[1]) ,$(>[2-])\n",
-"}\n",
-"actions Cc\n",
-"{\n",
-"$(CC)/obj=$(<) $(CCFLAGS) $(OPTIM) $(SLASHINC) $(>)\n",
-"}\n",
-"actions C++\n",
-"{\n",
-"$(C++)/obj=$(<) $(C++FLAGS) $(OPTIM) $(SLASHINC) $(>)\n",
-"}\n",
-"actions piecemeal together existing Clean\n",
-"{\n",
-"$(RM) $(>[1]);* ,$(>[2-]);*\n",
-"}\n",
-"actions together quietly CreLib\n",
-"{\n",
-"if f$search(\"$(<)\") .eqs. \"\" then lib/create $(<)\n",
-"}\n",
-"actions GenFile1\n",
-"{\n",
-"mcr $(>[1]) $(<) $(>[2-])\n",
-"}\n",
-"actions Link bind NEEDLIBS\n",
-"{\n",
-"$(LINK)/exe=$(<) $(LINKFLAGS) $(>[1]) ,$(>[2-]) ,$(NEEDLIBS)/lib ,$(LINKLIBS)\n",
-"}\n",
-"actions quietly updated piecemeal together RmTemps\n",
-"{\n",
-"$(RM) $(>[1]);* ,$(>[2-]);*\n",
-"}\n",
-"actions Shell\n",
-"{\n",
-"$(CP) $(>) $(<)\n",
-"}\n",
-"}\n",
-"else if $(MAC)\n",
-"{\n",
-"actions together Archive\n",
-"{\n",
-"$(LINK) -library -o $(<) $(>)\n",
-"}\n",
-"actions Cc\n",
-"{\n",
-"set -e MWCincludes $(MACINC)\n",
-"$(CC) -o $(<) $(CCFLAGS) $(OPTIM) $(>)\n",
-"}\n",
-"actions C++\n",
-"{\n",
-"set -e MWCincludes $(MACINC)\n",
-"$(CC) -o $(<) $(C++FLAGS) $(OPTIM) $(>)\n",
-"}\n",
-"actions Link bind NEEDLIBS\n",
-"{\n",
-"$(LINK) -o $(<) $(LINKFLAGS) $(>) $(NEEDLIBS) \"$(LINKLIBS)\"\n",
-"}\n",
-"}\n",
-"rule BULK { Bulk $(<) : $(>) ; }\n",
-"rule FILE { File $(<) : $(>) ; }\n",
-"rule HDRRULE { HdrRule $(<) : $(>) ; }\n",
-"rule INSTALL { Install $(<) : $(>) ; }\n",
-"rule LIBRARY { Library $(<) : $(>) ; }\n",
-"rule LIBS { LinkLibraries $(<) : $(>) ; }\n",
-"rule LINK { Link $(<) : $(>) ; }\n",
-"rule MAIN { Main $(<) : $(>) ; }\n",
-"rule SETUID { Setuid $(<) ; }\n",
-"rule SHELL { Shell $(<) : $(>) ; }\n",
-"rule UNDEFINES { Undefines $(<) : $(>) ; }\n",
-"rule INSTALLBIN { InstallBin $(BINDIR) : $(<) ; }\n",
-"rule INSTALLLIB { InstallLib $(LIBDIR) : $(<) ; }\n",
-"rule INSTALLMAN { InstallMan $(MANDIR) : $(<) ; }\n",
-"rule addDirName { $(<) += [ FDirName $(>) ] ; }\n",
-"rule makeDirName { $(<) = [ FDirName $(>) ] ; }\n",
-"rule makeGristedName { $(<) = [ FGristSourceFiles $(>) ] ; }\n",
-"rule makeRelPath { $(<[1]) = [ FRelPath $(<[2-]) : $(>) ] ; }\n",
-"rule makeSuffixed { $(<[1]) = [ FAppendSuffix $(>) : $(<[2]) ] ; }\n",
-"{\n",
-"if $(JAMFILE) { include $(JAMFILE) ; }\n",
-"}\n",
-"}\n",
-0 };
diff --git a/SRC/Boost/tools/build/v2/engine/jambase.h b/SRC/Boost/tools/build/v2/engine/jambase.h
deleted file mode 100755
index bf019d3..0000000
--- a/SRC/Boost/tools/build/v2/engine/jambase.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * jambase.h - declaration for the internal jambase
- *
- * The file Jambase is turned into a C array of strings in jambase.c
- * so that it can be built in to the executable.  This is the
- * declaration for that array.
- */
-
-extern char *jambase[];
diff --git a/SRC/Boost/tools/build/v2/engine/jamgram.c b/SRC/Boost/tools/build/v2/engine/jamgram.c
deleted file mode 100755
index 234a4e1..0000000
--- a/SRC/Boost/tools/build/v2/engine/jamgram.c
+++ /dev/null
@@ -1,1830 +0,0 @@
-/* A Bison parser, made by GNU Bison 1.875.  */
-
-/* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* Written by Richard Stallman by simplifying the original so called
-   ``semantic'' parser.  */
-
-/* All symbols defined below should begin with yy or YY, to avoid
-   infringing on user name space.  This should be done even for local
-   variables, as they might otherwise be expanded by user macros.
-   There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
-   USER NAME SPACE" below.  */
-
-/* Identify Bison output.  */
-#define YYBISON 1
-
-/* Skeleton name.  */
-#define YYSKELETON_NAME "yacc.c"
-
-/* Pure parsers.  */
-#define YYPURE 0
-
-/* Using locations.  */
-#define YYLSP_NEEDED 0
-
-
-
-/* Tokens.  */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
-   /* Put the tokens into the symbol table, so that GDB and other debuggers
-      know about them.  */
-   enum yytokentype {
-     _BANG_t = 258,
-     _BANG_EQUALS_t = 259,
-     _AMPER_t = 260,
-     _AMPERAMPER_t = 261,
-     _LPAREN_t = 262,
-     _RPAREN_t = 263,
-     _PLUS_EQUALS_t = 264,
-     _COLON_t = 265,
-     _SEMIC_t = 266,
-     _LANGLE_t = 267,
-     _LANGLE_EQUALS_t = 268,
-     _EQUALS_t = 269,
-     _RANGLE_t = 270,
-     _RANGLE_EQUALS_t = 271,
-     _QUESTION_EQUALS_t = 272,
-     _LBRACKET_t = 273,
-     _RBRACKET_t = 274,
-     ACTIONS_t = 275,
-     BIND_t = 276,
-     CASE_t = 277,
-     CLASS_t = 278,
-     DEFAULT_t = 279,
-     ELSE_t = 280,
-     EXISTING_t = 281,
-     FOR_t = 282,
-     IF_t = 283,
-     IGNORE_t = 284,
-     IN_t = 285,
-     INCLUDE_t = 286,
-     LOCAL_t = 287,
-     MODULE_t = 288,
-     ON_t = 289,
-     PIECEMEAL_t = 290,
-     QUIETLY_t = 291,
-     RETURN_t = 292,
-     RULE_t = 293,
-     SWITCH_t = 294,
-     TOGETHER_t = 295,
-     UPDATED_t = 296,
-     WHILE_t = 297,
-     _LBRACE_t = 298,
-     _BAR_t = 299,
-     _BARBAR_t = 300,
-     _RBRACE_t = 301,
-     ARG = 302,
-     STRING = 303
-   };
-#endif
-#define _BANG_t 258
-#define _BANG_EQUALS_t 259
-#define _AMPER_t 260
-#define _AMPERAMPER_t 261
-#define _LPAREN_t 262
-#define _RPAREN_t 263
-#define _PLUS_EQUALS_t 264
-#define _COLON_t 265
-#define _SEMIC_t 266
-#define _LANGLE_t 267
-#define _LANGLE_EQUALS_t 268
-#define _EQUALS_t 269
-#define _RANGLE_t 270
-#define _RANGLE_EQUALS_t 271
-#define _QUESTION_EQUALS_t 272
-#define _LBRACKET_t 273
-#define _RBRACKET_t 274
-#define ACTIONS_t 275
-#define BIND_t 276
-#define CASE_t 277
-#define CLASS_t 278
-#define DEFAULT_t 279
-#define ELSE_t 280
-#define EXISTING_t 281
-#define FOR_t 282
-#define IF_t 283
-#define IGNORE_t 284
-#define IN_t 285
-#define INCLUDE_t 286
-#define LOCAL_t 287
-#define MODULE_t 288
-#define ON_t 289
-#define PIECEMEAL_t 290
-#define QUIETLY_t 291
-#define RETURN_t 292
-#define RULE_t 293
-#define SWITCH_t 294
-#define TOGETHER_t 295
-#define UPDATED_t 296
-#define WHILE_t 297
-#define _LBRACE_t 298
-#define _BAR_t 299
-#define _BARBAR_t 300
-#define _RBRACE_t 301
-#define ARG 302
-#define STRING 303
-
-
-
-
-/* Copy the first part of user declarations.  */
-#line 96 "jamgram.y"
-
-#include "jam.h"
-
-#include "lists.h"
-#include "parse.h"
-#include "scan.h"
-#include "compile.h"
-#include "newstr.h"
-#include "rules.h"
-
-# define YYMAXDEPTH 10000	/* for OSF and other less endowed yaccs */
-
-# define F0 (LIST *(*)(PARSE *, FRAME *))0
-# define P0 (PARSE *)0
-# define S0 (char *)0
-
-# define pappend( l,r )    	parse_make( compile_append,l,r,P0,S0,S0,0 )
-# define peval( c,l,r )	parse_make( compile_eval,l,r,P0,S0,S0,c )
-# define pfor( s,l,r,x )    	parse_make( compile_foreach,l,r,P0,s,S0,x )
-# define pif( l,r,t )	  	parse_make( compile_if,l,r,t,S0,S0,0 )
-# define pincl( l )       	parse_make( compile_include,l,P0,P0,S0,S0,0 )
-# define plist( s )	  	parse_make( compile_list,P0,P0,P0,s,S0,0 )
-# define plocal( l,r,t )  	parse_make( compile_local,l,r,t,S0,S0,0 )
-# define pmodule( l,r )	  	parse_make( compile_module,l,r,P0,S0,S0,0 )
-# define pclass( l,r )	  	parse_make( compile_class,l,r,P0,S0,S0,0 )
-# define pnull()	  	parse_make( compile_null,P0,P0,P0,S0,S0,0 )
-# define pon( l,r )	  	parse_make( compile_on,l,r,P0,S0,S0,0 )
-# define prule( s,p )     	parse_make( compile_rule,p,P0,P0,s,S0,0 )
-# define prules( l,r )	  	parse_make( compile_rules,l,r,P0,S0,S0,0 )
-# define pset( l,r,a )          parse_make( compile_set,l,r,P0,S0,S0,a )
-# define pset1( l,r,t,a )	parse_make( compile_settings,l,r,t,S0,S0,a )
-# define psetc( s,p,a,l )     	parse_make( compile_setcomp,p,a,P0,s,S0,l )
-# define psete( s,l,s1,f ) 	parse_make( compile_setexec,l,P0,P0,s,s1,f )
-# define pswitch( l,r )   	parse_make( compile_switch,l,r,P0,S0,S0,0 )
-# define pwhile( l,r )   	parse_make( compile_while,l,r,P0,S0,S0,0 )
-
-# define pnode( l,r )    	parse_make( F0,l,r,P0,S0,S0,0 )
-# define psnode( s,l )     	parse_make( F0,l,P0,P0,s,S0,0 )
-
-
-
-/* Enabling traces.  */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-/* Enabling verbose error messages.  */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE 0
-#endif
-
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-typedef int YYSTYPE;
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-
-
-
-/* Copy the second part of user declarations.  */
-
-
-/* Line 214 of yacc.c.  */
-#line 223 "y.tab.c"
-
-#if ! defined (yyoverflow) || YYERROR_VERBOSE
-
-/* The parser invokes alloca or malloc; define the necessary symbols.  */
-
-# if YYSTACK_USE_ALLOCA
-#  define YYSTACK_ALLOC alloca
-# else
-#  ifndef YYSTACK_USE_ALLOCA
-#   if defined (alloca) || defined (_ALLOCA_H)
-#    define YYSTACK_ALLOC alloca
-#   else
-#    ifdef __GNUC__
-#     define YYSTACK_ALLOC __builtin_alloca
-#    endif
-#   endif
-#  endif
-# endif
-
-# ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning. */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-#  if defined (__STDC__) || defined (__cplusplus)
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T size_t
-#  endif
-#  define YYSTACK_ALLOC malloc
-#  define YYSTACK_FREE free
-# endif
-#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
-
-
-#if (! defined (yyoverflow) \
-     && (! defined (__cplusplus) \
-	 || (YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member.  */
-union yyalloc
-{
-  short yyss;
-  YYSTYPE yyvs;
-  };
-
-/* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
-   N elements.  */
-# define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))				\
-      + YYSTACK_GAP_MAXIMUM)
-
-/* Copy COUNT objects from FROM to TO.  The source and destination do
-   not overlap.  */
-# ifndef YYCOPY
-#  if 1 < __GNUC__
-#   define YYCOPY(To, From, Count) \
-      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-#  else
-#   define YYCOPY(To, From, Count)		\
-      do					\
-	{					\
-	  register YYSIZE_T yyi;		\
-	  for (yyi = 0; yyi < (Count); yyi++)	\
-	    (To)[yyi] = (From)[yyi];		\
-	}					\
-      while (0)
-#  endif
-# endif
-
-/* Relocate STACK from its old location to the new one.  The
-   local variables YYSIZE and YYSTACKSIZE give the old and new number of
-   elements in the stack, and YYPTR gives the new location of the
-   stack.  Advance YYPTR to a properly aligned location for the next
-   stack.  */
-# define YYSTACK_RELOCATE(Stack)					\
-    do									\
-      {									\
-	YYSIZE_T yynewbytes;						\
-	YYCOPY (&yyptr->Stack, Stack, yysize);				\
-	Stack = &yyptr->Stack;						\
-	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
-	yyptr += yynewbytes / sizeof (*yyptr);				\
-      }									\
-    while (0)
-
-#endif
-
-#if defined (__STDC__) || defined (__cplusplus)
-   typedef signed char yysigned_char;
-#else
-   typedef short yysigned_char;
-#endif
-
-/* YYFINAL -- State number of the termination state. */
-#define YYFINAL  43
-/* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   261
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS  49
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS  24
-/* YYNRULES -- Number of rules. */
-#define YYNRULES  75
-/* YYNRULES -- Number of states. */
-#define YYNSTATES  159
-
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
-#define YYUNDEFTOK  2
-#define YYMAXUTOK   303
-
-#define YYTRANSLATE(YYX) 						\
-  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
-static const unsigned char yytranslate[] =
-{
-       0,     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,     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,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48
-};
-
-#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
-   YYRHS.  */
-static const unsigned char yyprhs[] =
-{
-       0,     0,     3,     4,     6,     8,    10,    12,    15,    21,
-      22,    25,    27,    31,    32,    34,    35,    39,    43,    47,
-      52,    59,    63,    72,    78,    84,    90,    96,   102,   110,
-     116,   120,   121,   122,   132,   134,   136,   138,   141,   143,
-     147,   151,   155,   159,   163,   167,   171,   175,   179,   183,
-     187,   190,   194,   195,   198,   203,   205,   209,   211,   212,
-     215,   217,   218,   223,   226,   231,   236,   237,   240,   242,
-     244,   246,   248,   250,   252,   253
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yysigned_char yyrhs[] =
-{
-      50,     0,    -1,    -1,    52,    -1,    53,    -1,    52,    -1,
-      57,    -1,    57,    52,    -1,    32,    65,    54,    11,    51,
-      -1,    -1,    14,    65,    -1,    53,    -1,     7,    64,     8,
-      -1,    -1,    32,    -1,    -1,    43,    51,    46,    -1,    31,
-      65,    11,    -1,    47,    64,    11,    -1,    67,    60,    65,
-      11,    -1,    67,    34,    65,    60,    65,    11,    -1,    37,
-      65,    11,    -1,    27,    56,    47,    30,    65,    43,    51,
-      46,    -1,    39,    65,    43,    62,    46,    -1,    28,    61,
-      43,    51,    46,    -1,    33,    65,    43,    51,    46,    -1,
-      23,    64,    43,    51,    46,    -1,    42,    61,    43,    51,
-      46,    -1,    28,    61,    43,    51,    46,    25,    57,    -1,
-      56,    38,    47,    55,    57,    -1,    34,    67,    57,    -1,
-      -1,    -1,    20,    70,    47,    72,    43,    58,    48,    59,
-      46,    -1,    14,    -1,     9,    -1,    17,    -1,    24,    14,
-      -1,    67,    -1,    61,    14,    61,    -1,    61,     4,    61,
-      -1,    61,    12,    61,    -1,    61,    13,    61,    -1,    61,
-      15,    61,    -1,    61,    16,    61,    -1,    61,     5,    61,
-      -1,    61,     6,    61,    -1,    61,    44,    61,    -1,    61,
-      45,    61,    -1,    67,    30,    65,    -1,     3,    61,    -1,
-       7,    61,     8,    -1,    -1,    63,    62,    -1,    22,    47,
-      10,    51,    -1,    65,    -1,    65,    10,    64,    -1,    66,
-      -1,    -1,    66,    67,    -1,    47,    -1,    -1,    18,    68,
-      69,    19,    -1,    67,    64,    -1,    34,    67,    67,    64,
-      -1,    34,    67,    37,    65,    -1,    -1,    70,    71,    -1,
-      41,    -1,    40,    -1,    29,    -1,    36,    -1,    35,    -1,
-      26,    -1,    -1,    21,    65,    -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
-static const unsigned short yyrline[] =
-{
-       0,   139,   139,   141,   152,   154,   158,   160,   162,   167,
-     170,   172,   176,   179,   182,   185,   188,   190,   192,   194,
-     196,   198,   200,   202,   204,   206,   208,   210,   212,   214,
-     216,   219,   221,   218,   230,   232,   234,   236,   243,   245,
-     247,   249,   251,   253,   255,   257,   259,   261,   263,   265,
-     267,   269,   281,   282,   286,   295,   297,   307,   312,   313,
-     317,   319,   319,   328,   330,   332,   343,   344,   348,   350,
-     352,   354,   356,   358,   368,   369
-};
-#endif
-
-#if YYDEBUG || YYERROR_VERBOSE
-/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
-   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
-static const char *const yytname[] =
-{
-  "$end", "error", "$undefined", "_BANG_t", "_BANG_EQUALS_t", "_AMPER_t",
-  "_AMPERAMPER_t", "_LPAREN_t", "_RPAREN_t", "_PLUS_EQUALS_t", "_COLON_t",
-  "_SEMIC_t", "_LANGLE_t", "_LANGLE_EQUALS_t", "_EQUALS_t", "_RANGLE_t",
-  "_RANGLE_EQUALS_t", "_QUESTION_EQUALS_t", "_LBRACKET_t", "_RBRACKET_t",
-  "ACTIONS_t", "BIND_t", "CASE_t", "CLASS_t", "DEFAULT_t", "ELSE_t",
-  "EXISTING_t", "FOR_t", "IF_t", "IGNORE_t", "IN_t", "INCLUDE_t",
-  "LOCAL_t", "MODULE_t", "ON_t", "PIECEMEAL_t", "QUIETLY_t", "RETURN_t",
-  "RULE_t", "SWITCH_t", "TOGETHER_t", "UPDATED_t", "WHILE_t", "_LBRACE_t",
-  "_BAR_t", "_BARBAR_t", "_RBRACE_t", "ARG", "STRING", "$accept", "run",
-  "block", "rules", "null", "assign_list_opt", "arglist_opt", "local_opt",
-  "rule", "@1", "@2", "assign", "expr", "cases", "case", "lol", "list",
-  "listp", "arg", "@3", "func", "eflags", "eflag", "bindlist", 0
-};
-#endif
-
-# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
-   token YYLEX-NUM.  */
-static const unsigned short yytoknum[] =
-{
-       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
-     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
-     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
-     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
-     295,   296,   297,   298,   299,   300,   301,   302,   303
-};
-# endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
-static const unsigned char yyr1[] =
-{
-       0,    49,    50,    50,    51,    51,    52,    52,    52,    53,
-      54,    54,    55,    55,    56,    56,    57,    57,    57,    57,
-      57,    57,    57,    57,    57,    57,    57,    57,    57,    57,
-      57,    58,    59,    57,    60,    60,    60,    60,    61,    61,
-      61,    61,    61,    61,    61,    61,    61,    61,    61,    61,
-      61,    61,    62,    62,    63,    64,    64,    65,    66,    66,
-      67,    68,    67,    69,    69,    69,    70,    70,    71,    71,
-      71,    71,    71,    71,    72,    72
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
-static const unsigned char yyr2[] =
-{
-       0,     2,     0,     1,     1,     1,     1,     2,     5,     0,
-       2,     1,     3,     0,     1,     0,     3,     3,     3,     4,
-       6,     3,     8,     5,     5,     5,     5,     5,     7,     5,
-       3,     0,     0,     9,     1,     1,     1,     2,     1,     3,
-       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       2,     3,     0,     2,     4,     1,     3,     1,     0,     2,
-       1,     0,     4,     2,     4,     4,     0,     2,     1,     1,
-       1,     1,     1,     1,     0,     2
-};
-
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
-   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
-   means the default is an error.  */
-static const unsigned char yydefact[] =
-{
-       2,    61,    66,    58,    15,     0,    58,    58,    58,     0,
-      58,    58,     0,     9,    60,     0,     3,     0,     6,     0,
-       0,     0,     0,    55,    57,    14,     0,     0,     0,    60,
-       0,    38,     0,     9,     0,    15,     0,     0,     0,     0,
-       5,     4,     0,     1,     0,     7,    35,    34,    36,     0,
-      58,    58,     0,    58,     0,    73,    70,    72,    71,    69,
-      68,    74,    67,     9,    58,    59,     0,    50,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     9,     0,     0,
-      58,    17,    58,    11,     0,     9,    30,    21,    52,     9,
-      16,    18,    13,    37,     0,     0,     0,    63,    62,    58,
-       0,     0,    56,    58,    51,    40,    45,    46,    41,    42,
-      39,    43,    44,     0,    47,    48,    49,    10,     9,     0,
-       0,     0,    52,     0,    58,    15,    58,    19,    58,    58,
-      75,    31,    26,     0,    24,     8,    25,     0,    23,    53,
-      27,     0,    29,     0,    65,    64,     0,     9,    15,     9,
-      12,    20,    32,     0,    28,    54,     0,    22,    33
-};
-
-/* YYDEFGOTO[NTERM-NUM]. */
-static const short yydefgoto[] =
-{
-      -1,    15,    39,    40,    41,    84,   125,    17,    18,   146,
-     156,    51,    30,   121,   122,    22,    23,    24,    31,    20,
-      54,    21,    62,   100
-};
-
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
-   STATE-NUM.  */
-#define YYPACT_NINF -48
-static const short yypact[] =
-{
-     179,   -48,   -48,   -48,   -15,     7,   -48,   -16,   -48,     3,
-     -48,   -48,     7,   179,     1,    27,   -48,    -9,   179,    19,
-      -3,    33,   -11,    24,     3,   -48,   -10,     7,     7,   -48,
-     138,     9,    30,    35,    13,   205,    53,    22,   151,    20,
-     -48,   -48,    56,   -48,    23,   -48,   -48,   -48,   -48,    61,
-     -48,   -48,     3,   -48,    62,   -48,   -48,   -48,   -48,   -48,
-     -48,    58,   -48,   179,   -48,   -48,    52,   -48,   164,     7,
-       7,     7,     7,     7,     7,     7,     7,   179,     7,     7,
-     -48,   -48,   -48,   -48,    72,   179,   -48,   -48,    68,   179,
-     -48,   -48,    85,   -48,    77,    73,     8,   -48,   -48,   -48,
-      50,    57,   -48,   -48,   -48,    45,    93,    93,   -48,   -48,
-      45,   -48,   -48,    64,   245,   245,   -48,   -48,   179,    66,
-      67,    69,    68,    71,   -48,   205,   -48,   -48,   -48,   -48,
-     -48,   -48,   -48,    70,    79,   -48,   -48,   109,   -48,   -48,
-     -48,   112,   -48,   115,   -48,   -48,    75,   179,   205,   179,
-     -48,   -48,   -48,    81,   -48,   -48,    82,   -48,   -48
-};
-
-/* YYPGOTO[NTERM-NUM].  */
-static const short yypgoto[] =
-{
-     -48,   -48,   -47,     5,   104,   -48,   -48,   136,   -27,   -48,
-     -48,    47,    60,    36,   -48,   -13,    -4,   -48,     0,   -48,
-     -48,   -48,   -48,   -48
-};
-
-/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
-   positive, shift that token.  If negative, reduce the rule which
-   number is the opposite.  If zero, do what YYDEFACT says.
-   If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -59
-static const short yytable[] =
-{
-      19,    42,    32,    33,    34,    16,    36,    37,    86,    35,
-      27,   -58,   -58,    19,    28,     1,   101,    25,    19,   -58,
-      53,     1,   -14,    45,    65,     1,     1,    43,    46,    44,
-     113,    52,    63,    47,    64,    19,    48,    66,   119,    80,
-      97,    81,   123,    49,    29,   128,    94,    95,   -58,    82,
-      29,   102,    96,    50,    29,    29,    85,    72,    73,    55,
-      75,    76,    56,    19,    87,    88,    90,    91,    57,    58,
-      92,   135,    38,    59,    60,    93,   116,    19,   117,    99,
-      61,    98,   103,   118,   127,    19,    46,    67,    68,    19,
-     120,    47,   124,   131,    48,   130,   129,    69,   142,   133,
-     153,    49,   155,   132,   148,    72,    73,    74,    75,    76,
-     134,   141,   136,   147,   137,   138,   145,   140,    19,   149,
-     150,   154,   143,   152,   144,    19,   151,   157,   158,   105,
-     106,   107,   108,   109,   110,   111,   112,    83,   114,   115,
-      26,   126,    69,    70,    71,     0,     0,    19,    19,    19,
-      72,    73,    74,    75,    76,    69,    70,    71,   139,     0,
-       0,     0,     0,    72,    73,    74,    75,    76,    69,    70,
-      71,     0,   104,     0,     0,     0,    72,    73,    74,    75,
-      76,    77,    78,    79,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    89,    78,    79,     1,     0,     2,
-       0,     0,     3,     0,     0,     0,     4,     5,    78,    79,
-       6,     7,     8,     9,     0,     0,    10,   -15,    11,     0,
-       0,    12,    13,     1,     0,     2,    14,     0,     3,     0,
-       0,     0,     4,     5,     0,     0,     6,    25,     8,     9,
-       0,     0,    10,     0,    11,     0,     0,    12,    13,    69,
-      70,    71,    14,     0,     0,     0,     0,    72,    73,    74,
-      75,    76
-};
-
-static const short yycheck[] =
-{
-       0,    14,     6,     7,     8,     0,    10,    11,    35,     9,
-       3,    10,    11,    13,     7,    18,    63,    32,    18,    18,
-      20,    18,    38,    18,    24,    18,    18,     0,     9,    38,
-      77,    34,    43,    14,    10,    35,    17,    47,    85,    30,
-      53,    11,    89,    24,    47,    37,    50,    51,    47,    14,
-      47,    64,    52,    34,    47,    47,    43,    12,    13,    26,
-      15,    16,    29,    63,    11,    43,    46,    11,    35,    36,
-      47,   118,    12,    40,    41,    14,    80,    77,    82,    21,
-      47,    19,    30,    11,    11,    85,     9,    27,    28,    89,
-      22,    14,     7,    43,    17,    99,    96,     4,   125,   103,
-     147,    24,   149,    46,    25,    12,    13,    14,    15,    16,
-      46,   124,    46,    43,    47,    46,   129,    46,   118,    10,
-       8,   148,   126,    48,   128,   125,    11,    46,    46,    69,
-      70,    71,    72,    73,    74,    75,    76,    33,    78,    79,
-       4,    94,     4,     5,     6,    -1,    -1,   147,   148,   149,
-      12,    13,    14,    15,    16,     4,     5,     6,   122,    -1,
-      -1,    -1,    -1,    12,    13,    14,    15,    16,     4,     5,
-       6,    -1,     8,    -1,    -1,    -1,    12,    13,    14,    15,
-      16,    43,    44,    45,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    43,    44,    45,    18,    -1,    20,
-      -1,    -1,    23,    -1,    -1,    -1,    27,    28,    44,    45,
-      31,    32,    33,    34,    -1,    -1,    37,    38,    39,    -1,
-      -1,    42,    43,    18,    -1,    20,    47,    -1,    23,    -1,
-      -1,    -1,    27,    28,    -1,    -1,    31,    32,    33,    34,
-      -1,    -1,    37,    -1,    39,    -1,    -1,    42,    43,     4,
-       5,     6,    47,    -1,    -1,    -1,    -1,    12,    13,    14,
-      15,    16
-};
-
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
-   symbol of state STATE-NUM.  */
-static const unsigned char yystos[] =
-{
-       0,    18,    20,    23,    27,    28,    31,    32,    33,    34,
-      37,    39,    42,    43,    47,    50,    52,    56,    57,    67,
-      68,    70,    64,    65,    66,    32,    56,     3,     7,    47,
-      61,    67,    65,    65,    65,    67,    65,    65,    61,    51,
-      52,    53,    64,     0,    38,    52,     9,    14,    17,    24,
-      34,    60,    34,    67,    69,    26,    29,    35,    36,    40,
-      41,    47,    71,    43,    10,    67,    47,    61,    61,     4,
-       5,     6,    12,    13,    14,    15,    16,    43,    44,    45,
-      30,    11,    14,    53,    54,    43,    57,    11,    43,    43,
-      46,    11,    47,    14,    65,    65,    67,    64,    19,    21,
-      72,    51,    64,    30,     8,    61,    61,    61,    61,    61,
-      61,    61,    61,    51,    61,    61,    65,    65,    11,    51,
-      22,    62,    63,    51,     7,    55,    60,    11,    37,    67,
-      65,    43,    46,    65,    46,    51,    46,    47,    46,    62,
-      46,    64,    57,    65,    65,    64,    58,    43,    25,    10,
-       8,    11,    48,    51,    57,    51,    59,    46,    46
-};
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYSIZE_T size_t
-# endif
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#define yyerrok		(yyerrstatus = 0)
-#define yyclearin	(yychar = YYEMPTY)
-#define YYEMPTY		(-2)
-#define YYEOF		0
-
-#define YYACCEPT	goto yyacceptlab
-#define YYABORT		goto yyabortlab
-#define YYERROR		goto yyerrlab1
-
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-
-#define YYFAIL		goto yyerrlab
-
-#define YYRECOVERING()  (!!yyerrstatus)
-
-#define YYBACKUP(Token, Value)					\
-do								\
-  if (yychar == YYEMPTY && yylen == 1)				\
-    {								\
-      yychar = (Token);						\
-      yylval = (Value);						\
-      yytoken = YYTRANSLATE (yychar);				\
-      YYPOPSTACK;						\
-      goto yybackup;						\
-    }								\
-  else								\
-    { 								\
-      yyerror ("syntax error: cannot back up");\
-      YYERROR;							\
-    }								\
-while (0)
-
-#define YYTERROR	1
-#define YYERRCODE	256
-
-/* YYLLOC_DEFAULT -- Compute the default location (before the actions
-   are run).  */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)         \
-  Current.first_line   = Rhs[1].first_line;      \
-  Current.first_column = Rhs[1].first_column;    \
-  Current.last_line    = Rhs[N].last_line;       \
-  Current.last_column  = Rhs[N].last_column;
-#endif
-
-/* YYLEX -- calling `yylex' with the right arguments.  */
-
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (YYLEX_PARAM)
-#else
-# define YYLEX yylex ()
-#endif
-
-/* Enable debugging if requested.  */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-#  define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args)			\
-do {						\
-  if (yydebug)					\
-    YYFPRINTF Args;				\
-} while (0)
-
-# define YYDSYMPRINT(Args)			\
-do {						\
-  if (yydebug)					\
-    yysymprint Args;				\
-} while (0)
-
-# define YYDSYMPRINTF(Title, Token, Value, Location)		\
-do {								\
-  if (yydebug)							\
-    {								\
-      YYFPRINTF (stderr, "%s ", Title);				\
-      yysymprint (stderr, 					\
-                  Token, Value);	\
-      YYFPRINTF (stderr, "\n");					\
-    }								\
-} while (0)
-
-/*------------------------------------------------------------------.
-| yy_stack_print -- Print the state stack from its BOTTOM up to its |
-| TOP (cinluded).                                                   |
-`------------------------------------------------------------------*/
-
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yy_stack_print (short *bottom, short *top)
-#else
-static void
-yy_stack_print (bottom, top)
-    short *bottom;
-    short *top;
-#endif
-{
-  YYFPRINTF (stderr, "Stack now");
-  for (/* Nothing. */; bottom <= top; ++bottom)
-    YYFPRINTF (stderr, " %d", *bottom);
-  YYFPRINTF (stderr, "\n");
-}
-
-# define YY_STACK_PRINT(Bottom, Top)				\
-do {								\
-  if (yydebug)							\
-    yy_stack_print ((Bottom), (Top));				\
-} while (0)
-
-
-/*------------------------------------------------.
-| Report that the YYRULE is going to be reduced.  |
-`------------------------------------------------*/
-
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yy_reduce_print (int yyrule)
-#else
-static void
-yy_reduce_print (yyrule)
-    int yyrule;
-#endif
-{
-  int yyi;
-  unsigned int yylineno = yyrline[yyrule];
-  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
-             yyrule - 1, yylineno);
-  /* Print the symbols being reduced, and their result.  */
-  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
-    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
-  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
-}
-
-# define YY_REDUCE_PRINT(Rule)		\
-do {					\
-  if (yydebug)				\
-    yy_reduce_print (Rule);		\
-} while (0)
-
-/* Nonzero means print parse trace.  It is left uninitialized so that
-   multiple parsers can coexist.  */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-# define YYDSYMPRINT(Args)
-# define YYDSYMPRINTF(Title, Token, Value, Location)
-# define YY_STACK_PRINT(Bottom, Top)
-# define YY_REDUCE_PRINT(Rule)
-#endif /* !YYDEBUG */
-
-
-/* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef	YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
-   if the built-in stack extension method is used).
-
-   Do not make this value too large; the results are undefined if
-   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
-   evaluated with infinite-precision integer arithmetic.  */
-
-#if YYMAXDEPTH == 0
-# undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-
-

-
-#if YYERROR_VERBOSE
-
-# ifndef yystrlen
-#  if defined (__GLIBC__) && defined (_STRING_H)
-#   define yystrlen strlen
-#  else
-/* Return the length of YYSTR.  */
-static YYSIZE_T
-#   if defined (__STDC__) || defined (__cplusplus)
-yystrlen (const char *yystr)
-#   else
-yystrlen (yystr)
-     const char *yystr;
-#   endif
-{
-  register const char *yys = yystr;
-
-  while (*yys++ != '\0')
-    continue;
-
-  return yys - yystr - 1;
-}
-#  endif
-# endif
-
-# ifndef yystpcpy
-#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
-#   define yystpcpy stpcpy
-#  else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
-   YYDEST.  */
-static char *
-#   if defined (__STDC__) || defined (__cplusplus)
-yystpcpy (char *yydest, const char *yysrc)
-#   else
-yystpcpy (yydest, yysrc)
-     char *yydest;
-     const char *yysrc;
-#   endif
-{
-  register char *yyd = yydest;
-  register const char *yys = yysrc;
-
-  while ((*yyd++ = *yys++) != '\0')
-    continue;
-
-  return yyd - 1;
-}
-#  endif
-# endif
-
-#endif /* !YYERROR_VERBOSE */
-
-

-
-#if YYDEBUG
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
-
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
-#else
-static void
-yysymprint (yyoutput, yytype, yyvaluep)
-    FILE *yyoutput;
-    int yytype;
-    YYSTYPE *yyvaluep;
-#endif
-{
-  /* Pacify ``unused variable'' warnings.  */
-  (void) yyvaluep;
-
-  if (yytype < YYNTOKENS)
-    {
-      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
-# ifdef YYPRINT
-      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# endif
-    }
-  else
-    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
-
-  switch (yytype)
-    {
-      default:
-        break;
-    }
-  YYFPRINTF (yyoutput, ")");
-}
-
-#endif /* ! YYDEBUG */
-/*-----------------------------------------------.
-| Release the memory associated to this symbol.  |
-`-----------------------------------------------*/
-
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yydestruct (int yytype, YYSTYPE *yyvaluep)
-#else
-static void
-yydestruct (yytype, yyvaluep)
-    int yytype;
-    YYSTYPE *yyvaluep;
-#endif
-{
-  /* Pacify ``unused variable'' warnings.  */
-  (void) yyvaluep;
-
-  switch (yytype)
-    {
-
-      default:
-        break;
-    }
-}
-

-
-/* Prevent warnings from -Wmissing-prototypes.  */
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-int yyparse (void *YYPARSE_PARAM);
-# else
-int yyparse ();
-# endif
-#else /* ! YYPARSE_PARAM */
-#if defined (__STDC__) || defined (__cplusplus)
-int yyparse (void);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
-
-
-
-/* The lookahead symbol.  */
-int yychar;
-
-/* The semantic value of the lookahead symbol.  */
-YYSTYPE yylval;
-
-/* Number of syntax errors so far.  */
-int yynerrs;
-
-
-
-/*----------.
-| yyparse.  |
-`----------*/
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-int yyparse (void *YYPARSE_PARAM)
-# else
-int yyparse (YYPARSE_PARAM)
-  void *YYPARSE_PARAM;
-# endif
-#else /* ! YYPARSE_PARAM */
-#if defined (__STDC__) || defined (__cplusplus)
-int
-yyparse (void)
-#else
-int
-yyparse ()
-
-#endif
-#endif
-{
-
-  register int yystate;
-  register int yyn;
-  int yyresult;
-  /* Number of tokens to shift before error messages enabled.  */
-  int yyerrstatus;
-  /* Lookahead token as an internal (translated) token number.  */
-  int yytoken = 0;
-
-  /* Three stacks and their tools:
-     `yyss': related to states,
-     `yyvs': related to semantic values,
-     `yyls': related to locations.
-
-     Refer to the stacks thru separate pointers, to allow yyoverflow
-     to reallocate them elsewhere.  */
-
-  /* The state stack.  */
-  short	yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
-
-  /* The semantic value stack.  */
-  YYSTYPE yyvsa[YYINITDEPTH];
-  YYSTYPE *yyvs = yyvsa;
-  register YYSTYPE *yyvsp;
-
-
-
-#define YYPOPSTACK   (yyvsp--, yyssp--)
-
-  YYSIZE_T yystacksize = YYINITDEPTH;
-
-  /* The variables used to return semantic value and location from the
-     action routines.  */
-  YYSTYPE yyval;
-
-
-  /* When reducing, the number of symbols on the RHS of the reduced
-     rule.  */
-  int yylen;
-
-  YYDPRINTF ((stderr, "Starting parse\n"));
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;		/* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss;
-  yyvsp = yyvs;
-
-  goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
-`------------------------------------------------------------*/
- yynewstate:
-  /* In all cases, when you get here, the value and location stacks
-     have just been pushed. so pushing a state here evens the stacks.
-     */
-  yyssp++;
-
- yysetstate:
-  *yyssp = yystate;
-
-  if (yyss + yystacksize - 1 <= yyssp)
-    {
-      /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      {
-	/* Give user a chance to reallocate the stack. Use copies of
-	   these so that the &'s don't force the real ones into
-	   memory.  */
-	YYSTYPE *yyvs1 = yyvs;
-	short *yyss1 = yyss;
-
-
-	/* Each stack pointer address is followed by the size of the
-	   data in use in that stack, in bytes.  This used to be a
-	   conditional around just the two extra args, but that might
-	   be undefined if yyoverflow is a macro.  */
-	yyoverflow ("parser stack overflow",
-		    &yyss1, yysize * sizeof (*yyssp),
-		    &yyvs1, yysize * sizeof (*yyvsp),
-
-		    &yystacksize);
-
-	yyss = yyss1;
-	yyvs = yyvs1;
-      }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyoverflowlab;
-# else
-      /* Extend the stack our own way.  */
-      if (YYMAXDEPTH <= yystacksize)
-	goto yyoverflowlab;
-      yystacksize *= 2;
-      if (YYMAXDEPTH < yystacksize)
-	yystacksize = YYMAXDEPTH;
-
-      {
-	short *yyss1 = yyss;
-	union yyalloc *yyptr =
-	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-	if (! yyptr)
-	  goto yyoverflowlab;
-	YYSTACK_RELOCATE (yyss);
-	YYSTACK_RELOCATE (yyvs);
-
-#  undef YYSTACK_RELOCATE
-	if (yyss1 != yyssa)
-	  YYSTACK_FREE (yyss1);
-      }
-# endif
-#endif /* no yyoverflow */
-
-      yyssp = yyss + yysize - 1;
-      yyvsp = yyvs + yysize - 1;
-
-
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-		  (unsigned long int) yystacksize));
-
-      if (yyss + yystacksize - 1 <= yyssp)
-	YYABORT;
-    }
-
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
-  goto yybackup;
-
-/*-----------.
-| yybackup.  |
-`-----------*/
-yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYPACT_NINF)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
-  if (yychar == YYEMPTY)
-    {
-      YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
-    }
-
-  if (yychar <= YYEOF)
-    {
-      yychar = yytoken = YYEOF;
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
-    }
-  else
-    {
-      yytoken = YYTRANSLATE (yychar);
-      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
-    }
-
-  /* If the proper action on seeing token YYTOKEN is to reduce or to
-     detect an error, take that action.  */
-  yyn += yytoken;
-  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
-    goto yydefault;
-  yyn = yytable[yyn];
-  if (yyn <= 0)
-    {
-      if (yyn == 0 || yyn == YYTABLE_NINF)
-	goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-
-
-  /* Count tokens shifted since error; after three, turn off error
-     status.  */
-  if (yyerrstatus)
-    yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state.  |
-`-----------------------------------------------------------*/
-yydefault:
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-  goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction.  |
-`-----------------------------*/
-yyreduce:
-  /* yyn is the number of a rule to reduce with.  */
-  yylen = yyr2[yyn];
-
-  /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
-
-     Otherwise, the following line sets YYVAL to garbage.
-     This behavior is undocumented and Bison
-     users should not rely upon it.  Assigning to YYVAL
-     unconditionally makes the parser a bit smaller, and it avoids a
-     GCC warning that YYVAL may be used uninitialized.  */
-  yyval = yyvsp[1-yylen];
-
-
-  YY_REDUCE_PRINT (yyn);
-  switch (yyn)
-    {
-        case 3:
-#line 142 "jamgram.y"
-    { parse_save( yyvsp[0].parse ); }
-    break;
-
-  case 4:
-#line 153 "jamgram.y"
-    { yyval.parse = yyvsp[0].parse; }
-    break;
-
-  case 5:
-#line 155 "jamgram.y"
-    { yyval.parse = yyvsp[0].parse; }
-    break;
-
-  case 6:
-#line 159 "jamgram.y"
-    { yyval.parse = yyvsp[0].parse; }
-    break;
-
-  case 7:
-#line 161 "jamgram.y"
-    { yyval.parse = prules( yyvsp[-1].parse, yyvsp[0].parse ); }
-    break;
-
-  case 8:
-#line 163 "jamgram.y"
-    { yyval.parse = plocal( yyvsp[-3].parse, yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 9:
-#line 167 "jamgram.y"
-    { yyval.parse = pnull(); }
-    break;
-
-  case 10:
-#line 171 "jamgram.y"
-    { yyval.parse = yyvsp[0].parse; yyval.number = ASSIGN_SET; }
-    break;
-
-  case 11:
-#line 173 "jamgram.y"
-    { yyval.parse = yyvsp[0].parse; yyval.number = ASSIGN_APPEND; }
-    break;
-
-  case 12:
-#line 177 "jamgram.y"
-    { yyval.parse = yyvsp[-1].parse; }
-    break;
-
-  case 13:
-#line 179 "jamgram.y"
-    { yyval.parse = P0; }
-    break;
-
-  case 14:
-#line 183 "jamgram.y"
-    { yyval.number = 1; }
-    break;
-
-  case 15:
-#line 185 "jamgram.y"
-    { yyval.number = 0; }
-    break;
-
-  case 16:
-#line 189 "jamgram.y"
-    { yyval.parse = yyvsp[-1].parse; }
-    break;
-
-  case 17:
-#line 191 "jamgram.y"
-    { yyval.parse = pincl( yyvsp[-1].parse ); }
-    break;
-
-  case 18:
-#line 193 "jamgram.y"
-    { yyval.parse = prule( yyvsp[-2].string, yyvsp[-1].parse ); }
-    break;
-
-  case 19:
-#line 195 "jamgram.y"
-    { yyval.parse = pset( yyvsp[-3].parse, yyvsp[-1].parse, yyvsp[-2].number ); }
-    break;
-
-  case 20:
-#line 197 "jamgram.y"
-    { yyval.parse = pset1( yyvsp[-5].parse, yyvsp[-3].parse, yyvsp[-1].parse, yyvsp[-2].number ); }
-    break;
-
-  case 21:
-#line 199 "jamgram.y"
-    { yyval.parse = yyvsp[-1].parse; }
-    break;
-
-  case 22:
-#line 201 "jamgram.y"
-    { yyval.parse = pfor( yyvsp[-5].string, yyvsp[-3].parse, yyvsp[-1].parse, yyvsp[-6].number ); }
-    break;
-
-  case 23:
-#line 203 "jamgram.y"
-    { yyval.parse = pswitch( yyvsp[-3].parse, yyvsp[-1].parse ); }
-    break;
-
-  case 24:
-#line 205 "jamgram.y"
-    { yyval.parse = pif( yyvsp[-3].parse, yyvsp[-1].parse, pnull() ); }
-    break;
-
-  case 25:
-#line 207 "jamgram.y"
-    { yyval.parse = pmodule( yyvsp[-3].parse, yyvsp[-1].parse ); }
-    break;
-
-  case 26:
-#line 209 "jamgram.y"
-    { yyval.parse = pclass( yyvsp[-3].parse, yyvsp[-1].parse ); }
-    break;
-
-  case 27:
-#line 211 "jamgram.y"
-    { yyval.parse = pwhile( yyvsp[-3].parse, yyvsp[-1].parse ); }
-    break;
-
-  case 28:
-#line 213 "jamgram.y"
-    { yyval.parse = pif( yyvsp[-5].parse, yyvsp[-3].parse, yyvsp[0].parse ); }
-    break;
-
-  case 29:
-#line 215 "jamgram.y"
-    { yyval.parse = psetc( yyvsp[-2].string, yyvsp[0].parse, yyvsp[-1].parse, yyvsp[-4].number ); }
-    break;
-
-  case 30:
-#line 217 "jamgram.y"
-    { yyval.parse = pon( yyvsp[-1].parse, yyvsp[0].parse ); }
-    break;
-
-  case 31:
-#line 219 "jamgram.y"
-    { yymode( SCAN_STRING ); }
-    break;
-
-  case 32:
-#line 221 "jamgram.y"
-    { yymode( SCAN_NORMAL ); }
-    break;
-
-  case 33:
-#line 223 "jamgram.y"
-    { yyval.parse = psete( yyvsp[-6].string,yyvsp[-5].parse,yyvsp[-2].string,yyvsp[-7].number ); }
-    break;
-
-  case 34:
-#line 231 "jamgram.y"
-    { yyval.number = ASSIGN_SET; }
-    break;
-
-  case 35:
-#line 233 "jamgram.y"
-    { yyval.number = ASSIGN_APPEND; }
-    break;
-
-  case 36:
-#line 235 "jamgram.y"
-    { yyval.number = ASSIGN_DEFAULT; }
-    break;
-
-  case 37:
-#line 237 "jamgram.y"
-    { yyval.number = ASSIGN_DEFAULT; }
-    break;
-
-  case 38:
-#line 244 "jamgram.y"
-    { yyval.parse = peval( EXPR_EXISTS, yyvsp[0].parse, pnull() ); }
-    break;
-
-  case 39:
-#line 246 "jamgram.y"
-    { yyval.parse = peval( EXPR_EQUALS, yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 40:
-#line 248 "jamgram.y"
-    { yyval.parse = peval( EXPR_NOTEQ, yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 41:
-#line 250 "jamgram.y"
-    { yyval.parse = peval( EXPR_LESS, yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 42:
-#line 252 "jamgram.y"
-    { yyval.parse = peval( EXPR_LESSEQ, yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 43:
-#line 254 "jamgram.y"
-    { yyval.parse = peval( EXPR_MORE, yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 44:
-#line 256 "jamgram.y"
-    { yyval.parse = peval( EXPR_MOREEQ, yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 45:
-#line 258 "jamgram.y"
-    { yyval.parse = peval( EXPR_AND, yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 46:
-#line 260 "jamgram.y"
-    { yyval.parse = peval( EXPR_AND, yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 47:
-#line 262 "jamgram.y"
-    { yyval.parse = peval( EXPR_OR, yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 48:
-#line 264 "jamgram.y"
-    { yyval.parse = peval( EXPR_OR, yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 49:
-#line 266 "jamgram.y"
-    { yyval.parse = peval( EXPR_IN, yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 50:
-#line 268 "jamgram.y"
-    { yyval.parse = peval( EXPR_NOT, yyvsp[0].parse, pnull() ); }
-    break;
-
-  case 51:
-#line 270 "jamgram.y"
-    { yyval.parse = yyvsp[-1].parse; }
-    break;
-
-  case 52:
-#line 281 "jamgram.y"
-    { yyval.parse = P0; }
-    break;
-
-  case 53:
-#line 283 "jamgram.y"
-    { yyval.parse = pnode( yyvsp[-1].parse, yyvsp[0].parse ); }
-    break;
-
-  case 54:
-#line 287 "jamgram.y"
-    { yyval.parse = psnode( yyvsp[-2].string, yyvsp[0].parse ); }
-    break;
-
-  case 55:
-#line 296 "jamgram.y"
-    { yyval.parse = pnode( P0, yyvsp[0].parse ); }
-    break;
-
-  case 56:
-#line 298 "jamgram.y"
-    { yyval.parse = pnode( yyvsp[0].parse, yyvsp[-2].parse ); }
-    break;
-
-  case 57:
-#line 308 "jamgram.y"
-    { yyval.parse = yyvsp[0].parse; yymode( SCAN_NORMAL ); }
-    break;
-
-  case 58:
-#line 312 "jamgram.y"
-    { yyval.parse = pnull(); yymode( SCAN_PUNCT ); }
-    break;
-
-  case 59:
-#line 314 "jamgram.y"
-    { yyval.parse = pappend( yyvsp[-1].parse, yyvsp[0].parse ); }
-    break;
-
-  case 60:
-#line 318 "jamgram.y"
-    { yyval.parse = plist( yyvsp[0].string ); }
-    break;
-
-  case 61:
-#line 319 "jamgram.y"
-    { yymode( SCAN_NORMAL ); }
-    break;
-
-  case 62:
-#line 320 "jamgram.y"
-    { yyval.parse = yyvsp[-1].parse; }
-    break;
-
-  case 63:
-#line 329 "jamgram.y"
-    { yyval.parse = prule( yyvsp[-1].string, yyvsp[0].parse ); }
-    break;
-
-  case 64:
-#line 331 "jamgram.y"
-    { yyval.parse = pon( yyvsp[-2].parse, prule( yyvsp[-1].string, yyvsp[0].parse ) ); }
-    break;
-
-  case 65:
-#line 333 "jamgram.y"
-    { yyval.parse = pon( yyvsp[-2].parse, yyvsp[0].parse ); }
-    break;
-
-  case 66:
-#line 343 "jamgram.y"
-    { yyval.number = 0; }
-    break;
-
-  case 67:
-#line 345 "jamgram.y"
-    { yyval.number = yyvsp[-1].number | yyvsp[0].number; }
-    break;
-
-  case 68:
-#line 349 "jamgram.y"
-    { yyval.number = EXEC_UPDATED; }
-    break;
-
-  case 69:
-#line 351 "jamgram.y"
-    { yyval.number = EXEC_TOGETHER; }
-    break;
-
-  case 70:
-#line 353 "jamgram.y"
-    { yyval.number = EXEC_IGNORE; }
-    break;
-
-  case 71:
-#line 355 "jamgram.y"
-    { yyval.number = EXEC_QUIETLY; }
-    break;
-
-  case 72:
-#line 357 "jamgram.y"
-    { yyval.number = EXEC_PIECEMEAL; }
-    break;
-
-  case 73:
-#line 359 "jamgram.y"
-    { yyval.number = EXEC_EXISTING; }
-    break;
-
-  case 74:
-#line 368 "jamgram.y"
-    { yyval.parse = pnull(); }
-    break;
-
-  case 75:
-#line 370 "jamgram.y"
-    { yyval.parse = yyvsp[0].parse; }
-    break;
-
-
-    }
-
-/* Line 991 of yacc.c.  */
-#line 1621 "y.tab.c"
-

-  yyvsp -= yylen;
-  yyssp -= yylen;
-
-
-  YY_STACK_PRINT (yyss, yyssp);
-
-  *++yyvsp = yyval;
-
-
-  /* Now `shift' the result of the reduction.  Determine what state
-     that goes to, based on the state we popped back to and the rule
-     number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
-  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTOKENS];
-
-  goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
-  /* If not already recovering from an error, report this error.  */
-  if (!yyerrstatus)
-    {
-      ++yynerrs;
-#if YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (YYPACT_NINF < yyn && yyn < YYLAST)
-	{
-	  YYSIZE_T yysize = 0;
-	  int yytype = YYTRANSLATE (yychar);
-	  char *yymsg;
-	  int yyx, yycount;
-
-	  yycount = 0;
-	  /* Start YYX at -YYN if negative to avoid negative indexes in
-	     YYCHECK.  */
-	  for (yyx = yyn < 0 ? -yyn : 0;
-	       yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
-	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
-	      yysize += yystrlen (yytname[yyx]) + 15, yycount++;
-	  yysize += yystrlen ("syntax error, unexpected ") + 1;
-	  yysize += yystrlen (yytname[yytype]);
-	  yymsg = (char *) YYSTACK_ALLOC (yysize);
-	  if (yymsg != 0)
-	    {
-	      char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
-	      yyp = yystpcpy (yyp, yytname[yytype]);
-
-	      if (yycount < 5)
-		{
-		  yycount = 0;
-		  for (yyx = yyn < 0 ? -yyn : 0;
-		       yyx < (int) (sizeof (yytname) / sizeof (char *));
-		       yyx++)
-		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
-		      {
-			const char *yyq = ! yycount ? ", expecting " : " or ";
-			yyp = yystpcpy (yyp, yyq);
-			yyp = yystpcpy (yyp, yytname[yyx]);
-			yycount++;
-		      }
-		}
-	      yyerror (yymsg);
-	      YYSTACK_FREE (yymsg);
-	    }
-	  else
-	    yyerror ("syntax error; also virtual memory exhausted");
-	}
-      else
-#endif /* YYERROR_VERBOSE */
-	yyerror ("syntax error");
-    }
-
-
-
-  if (yyerrstatus == 3)
-    {
-      /* If just tried and failed to reuse lookahead token after an
-	 error, discard it.  */
-
-      /* Return failure if at end of input.  */
-      if (yychar == YYEOF)
-        {
-	  /* Pop the error token.  */
-          YYPOPSTACK;
-	  /* Pop the rest of the stack.  */
-	  while (yyss < yyssp)
-	    {
-	      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
-	      yydestruct (yystos[*yyssp], yyvsp);
-	      YYPOPSTACK;
-	    }
-	  YYABORT;
-        }
-
-      YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
-      yydestruct (yytoken, &yylval);
-      yychar = YYEMPTY;
-
-    }
-
-  /* Else will try to reuse lookahead token after shifting the error
-     token.  */
-  goto yyerrlab2;
-
-
-/*----------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action.  |
-`----------------------------------------------------*/
-yyerrlab1:
-
-  /* Suppress GCC warning that yyerrlab1 is unused when no action
-     invokes YYERROR.  */
-#if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
-  __attribute__ ((__unused__))
-#endif
-
-
-  goto yyerrlab2;
-
-
-/*---------------------------------------------------------------.
-| yyerrlab2 -- pop states until the error token can be shifted.  |
-`---------------------------------------------------------------*/
-yyerrlab2:
-  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
-
-  for (;;)
-    {
-      yyn = yypact[yystate];
-      if (yyn != YYPACT_NINF)
-	{
-	  yyn += YYTERROR;
-	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
-	    {
-	      yyn = yytable[yyn];
-	      if (0 < yyn)
-		break;
-	    }
-	}
-
-      /* Pop the current state because it cannot handle the error token.  */
-      if (yyssp == yyss)
-	YYABORT;
-
-      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
-      yydestruct (yystos[yystate], yyvsp);
-      yyvsp--;
-      yystate = *--yyssp;
-
-      YY_STACK_PRINT (yyss, yyssp);
-    }
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  YYDPRINTF ((stderr, "Shifting error token, "));
-
-  *++yyvsp = yylval;
-
-
-  yystate = yyn;
-  goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here.  |
-`-------------------------------------*/
-yyacceptlab:
-  yyresult = 0;
-  goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here.  |
-`-----------------------------------*/
-yyabortlab:
-  yyresult = 1;
-  goto yyreturn;
-
-#ifndef yyoverflow
-/*----------------------------------------------.
-| yyoverflowlab -- parser overflow comes here.  |
-`----------------------------------------------*/
-yyoverflowlab:
-  yyerror ("parser stack overflow");
-  yyresult = 2;
-  /* Fall through.  */
-#endif
-
-yyreturn:
-#ifndef yyoverflow
-  if (yyss != yyssa)
-    YYSTACK_FREE (yyss);
-#endif
-  return yyresult;
-}
-
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/jamgram.h b/SRC/Boost/tools/build/v2/engine/jamgram.h
deleted file mode 100755
index 6cae07b..0000000
--- a/SRC/Boost/tools/build/v2/engine/jamgram.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/* A Bison parser, made by GNU Bison 1.875.  */
-
-/* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* Tokens.  */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
-   /* Put the tokens into the symbol table, so that GDB and other debuggers
-      know about them.  */
-   enum yytokentype {
-     _BANG_t = 258,
-     _BANG_EQUALS_t = 259,
-     _AMPER_t = 260,
-     _AMPERAMPER_t = 261,
-     _LPAREN_t = 262,
-     _RPAREN_t = 263,
-     _PLUS_EQUALS_t = 264,
-     _COLON_t = 265,
-     _SEMIC_t = 266,
-     _LANGLE_t = 267,
-     _LANGLE_EQUALS_t = 268,
-     _EQUALS_t = 269,
-     _RANGLE_t = 270,
-     _RANGLE_EQUALS_t = 271,
-     _QUESTION_EQUALS_t = 272,
-     _LBRACKET_t = 273,
-     _RBRACKET_t = 274,
-     ACTIONS_t = 275,
-     BIND_t = 276,
-     CASE_t = 277,
-     CLASS_t = 278,
-     DEFAULT_t = 279,
-     ELSE_t = 280,
-     EXISTING_t = 281,
-     FOR_t = 282,
-     IF_t = 283,
-     IGNORE_t = 284,
-     IN_t = 285,
-     INCLUDE_t = 286,
-     LOCAL_t = 287,
-     MODULE_t = 288,
-     ON_t = 289,
-     PIECEMEAL_t = 290,
-     QUIETLY_t = 291,
-     RETURN_t = 292,
-     RULE_t = 293,
-     SWITCH_t = 294,
-     TOGETHER_t = 295,
-     UPDATED_t = 296,
-     WHILE_t = 297,
-     _LBRACE_t = 298,
-     _BAR_t = 299,
-     _BARBAR_t = 300,
-     _RBRACE_t = 301,
-     ARG = 302,
-     STRING = 303
-   };
-#endif
-#define _BANG_t 258
-#define _BANG_EQUALS_t 259
-#define _AMPER_t 260
-#define _AMPERAMPER_t 261
-#define _LPAREN_t 262
-#define _RPAREN_t 263
-#define _PLUS_EQUALS_t 264
-#define _COLON_t 265
-#define _SEMIC_t 266
-#define _LANGLE_t 267
-#define _LANGLE_EQUALS_t 268
-#define _EQUALS_t 269
-#define _RANGLE_t 270
-#define _RANGLE_EQUALS_t 271
-#define _QUESTION_EQUALS_t 272
-#define _LBRACKET_t 273
-#define _RBRACKET_t 274
-#define ACTIONS_t 275
-#define BIND_t 276
-#define CASE_t 277
-#define CLASS_t 278
-#define DEFAULT_t 279
-#define ELSE_t 280
-#define EXISTING_t 281
-#define FOR_t 282
-#define IF_t 283
-#define IGNORE_t 284
-#define IN_t 285
-#define INCLUDE_t 286
-#define LOCAL_t 287
-#define MODULE_t 288
-#define ON_t 289
-#define PIECEMEAL_t 290
-#define QUIETLY_t 291
-#define RETURN_t 292
-#define RULE_t 293
-#define SWITCH_t 294
-#define TOGETHER_t 295
-#define UPDATED_t 296
-#define WHILE_t 297
-#define _LBRACE_t 298
-#define _BAR_t 299
-#define _BARBAR_t 300
-#define _RBRACE_t 301
-#define ARG 302
-#define STRING 303
-
-
-
-
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-typedef int YYSTYPE;
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-
-extern YYSTYPE yylval;
-
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/jamgram.y b/SRC/Boost/tools/build/v2/engine/jamgram.y
deleted file mode 100755
index 6ad0acc..0000000
--- a/SRC/Boost/tools/build/v2/engine/jamgram.y
+++ /dev/null
@@ -1,371 +0,0 @@
-%token _BANG_t
-%token _BANG_EQUALS_t
-%token _AMPER_t
-%token _AMPERAMPER_t
-%token _LPAREN_t
-%token _RPAREN_t
-%token _PLUS_EQUALS_t
-%token _COLON_t
-%token _SEMIC_t
-%token _LANGLE_t
-%token _LANGLE_EQUALS_t
-%token _EQUALS_t
-%token _RANGLE_t
-%token _RANGLE_EQUALS_t
-%token _QUESTION_EQUALS_t
-%token _LBRACKET_t
-%token _RBRACKET_t
-%token ACTIONS_t
-%token BIND_t
-%token CASE_t
-%token CLASS_t
-%token DEFAULT_t
-%token ELSE_t
-%token EXISTING_t
-%token FOR_t
-%token IF_t
-%token IGNORE_t
-%token IN_t
-%token INCLUDE_t
-%token LOCAL_t
-%token MODULE_t
-%token ON_t
-%token PIECEMEAL_t
-%token QUIETLY_t
-%token RETURN_t
-%token RULE_t
-%token SWITCH_t
-%token TOGETHER_t
-%token UPDATED_t
-%token WHILE_t
-%token _LBRACE_t
-%token _BAR_t
-%token _BARBAR_t
-%token _RBRACE_t
-/*
- * Copyright 1993, 2000 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*
- * jamgram.yy - jam grammar
- *
- * 04/13/94 (seiwald) - added shorthand L0 for null list pointer
- * 06/01/94 (seiwald) - new 'actions existing' does existing sources
- * 08/23/94 (seiwald) - Support for '+=' (append to variable)
- * 08/31/94 (seiwald) - Allow ?= as alias for "default =".
- * 09/15/94 (seiwald) - if conditionals take only single arguments, so
- *			that 'if foo == bar' gives syntax error (use =).
- * 02/11/95 (seiwald) - when scanning arguments to rules, only treat
- *			punctuation keywords as keywords.  All arg lists
- *			are terminated with punctuation keywords.
- *
- * 09/11/00 (seiwald) - Support for function calls:
- *
- *		Rules now return lists (LIST *), rather than void.
- *
- *		New "[ rule ]" syntax evals rule into a LIST.
- *
- *		Lists are now generated by compile_list() and
- *		compile_append(), and any other rule that indirectly
- *		makes a list, rather than being built directly here,
- *		so that lists values can contain rule evaluations.
- *
- *		New 'return' rule sets the return value, though
- *		other statements also may have return values.
- *
- *		'run' production split from 'block' production so
- *		that empty blocks can be handled separately.
- */
-
-%token ARG STRING
-
-%left _BARBAR_t _BAR_t
-%left _AMPERAMPER_t _AMPER_t
-%left _EQUALS_t _BANG_EQUALS_t IN_t
-%left _LANGLE_t _LANGLE_EQUALS_t _RANGLE_t _RANGLE_EQUALS_t
-%left _BANG_t
-
-%{
-#include "jam.h"
-
-#include "lists.h"
-#include "parse.h"
-#include "scan.h"
-#include "compile.h"
-#include "newstr.h"
-#include "rules.h"
-
-# define YYMAXDEPTH 10000	/* for OSF and other less endowed yaccs */
-
-# define F0 (LIST *(*)(PARSE *, FRAME *))0
-# define P0 (PARSE *)0
-# define S0 (char *)0
-
-# define pappend( l,r )    	parse_make( compile_append,l,r,P0,S0,S0,0 )
-# define peval( c,l,r )	parse_make( compile_eval,l,r,P0,S0,S0,c )
-# define pfor( s,l,r,x )    	parse_make( compile_foreach,l,r,P0,s,S0,x )
-# define pif( l,r,t )	  	parse_make( compile_if,l,r,t,S0,S0,0 )
-# define pincl( l )       	parse_make( compile_include,l,P0,P0,S0,S0,0 )
-# define plist( s )	  	parse_make( compile_list,P0,P0,P0,s,S0,0 )
-# define plocal( l,r,t )  	parse_make( compile_local,l,r,t,S0,S0,0 )
-# define pmodule( l,r )	  	parse_make( compile_module,l,r,P0,S0,S0,0 )
-# define pclass( l,r )	  	parse_make( compile_class,l,r,P0,S0,S0,0 )
-# define pnull()	  	parse_make( compile_null,P0,P0,P0,S0,S0,0 )
-# define pon( l,r )	  	parse_make( compile_on,l,r,P0,S0,S0,0 )
-# define prule( s,p )     	parse_make( compile_rule,p,P0,P0,s,S0,0 )
-# define prules( l,r )	  	parse_make( compile_rules,l,r,P0,S0,S0,0 )
-# define pset( l,r,a )          parse_make( compile_set,l,r,P0,S0,S0,a )
-# define pset1( l,r,t,a )	parse_make( compile_settings,l,r,t,S0,S0,a )
-# define psetc( s,p,a,l )     	parse_make( compile_setcomp,p,a,P0,s,S0,l )
-# define psete( s,l,s1,f ) 	parse_make( compile_setexec,l,P0,P0,s,s1,f )
-# define pswitch( l,r )   	parse_make( compile_switch,l,r,P0,S0,S0,0 )
-# define pwhile( l,r )   	parse_make( compile_while,l,r,P0,S0,S0,0 )
-
-# define pnode( l,r )    	parse_make( F0,l,r,P0,S0,S0,0 )
-# define psnode( s,l )     	parse_make( F0,l,P0,P0,s,S0,0 )
-
-%}
-
-%%
-
-run	: /* empty */
-		/* do nothing */
-	| rules
-		{ parse_save( $1.parse ); }
-	;
-
-/*
- * block - zero or more rules
- * rules - one or more rules
- * rule - any one of jam's rules
- * right-recursive so rules execute in order.
- */
-
-block	: null
-                { $$.parse = $1.parse; }
-	| rules
-		{ $$.parse = $1.parse; }
-	;
-
-rules	: rule
-		{ $$.parse = $1.parse; }
-	| rule rules
-		{ $$.parse = prules( $1.parse, $2.parse ); }
-	| LOCAL_t list assign_list_opt _SEMIC_t block
-		{ $$.parse = plocal( $2.parse, $3.parse, $5.parse ); }
-	;
-
-null    : /* empty */
-        { $$.parse = pnull(); }
-        ;
-
-assign_list_opt : _EQUALS_t list
-                { $$.parse = $2.parse; $$.number = ASSIGN_SET; }
-        | null
-		{ $$.parse = $1.parse; $$.number = ASSIGN_APPEND; }
-        ;
-
-arglist_opt : _LPAREN_t lol _RPAREN_t
-                { $$.parse = $2.parse; }
-        |
-                { $$.parse = P0; }
-        ;
-
-local_opt : LOCAL_t
-                { $$.number = 1; }
-          | /* empty */
-                { $$.number = 0; }
-          ;
-
-rule	: _LBRACE_t block _RBRACE_t
-		{ $$.parse = $2.parse; }
-	| INCLUDE_t list _SEMIC_t
-		{ $$.parse = pincl( $2.parse ); }
-	| ARG lol _SEMIC_t
-		{ $$.parse = prule( $1.string, $2.parse ); }
-	| arg assign list _SEMIC_t
-		{ $$.parse = pset( $1.parse, $3.parse, $2.number ); }
-	| arg ON_t list assign list _SEMIC_t
-		{ $$.parse = pset1( $1.parse, $3.parse, $5.parse, $4.number ); }
-	| RETURN_t list _SEMIC_t
-		{ $$.parse = $2.parse; }
-	| FOR_t local_opt ARG IN_t list _LBRACE_t block _RBRACE_t
-		{ $$.parse = pfor( $3.string, $5.parse, $7.parse, $2.number ); }
-	| SWITCH_t list _LBRACE_t cases _RBRACE_t
-		{ $$.parse = pswitch( $2.parse, $4.parse ); }
-	| IF_t expr _LBRACE_t block _RBRACE_t
-		{ $$.parse = pif( $2.parse, $4.parse, pnull() ); }
-	| MODULE_t list _LBRACE_t block _RBRACE_t
-		{ $$.parse = pmodule( $2.parse, $4.parse ); }
-	| CLASS_t lol _LBRACE_t block _RBRACE_t
-		{ $$.parse = pclass( $2.parse, $4.parse ); }
-	| WHILE_t expr _LBRACE_t block _RBRACE_t
-		{ $$.parse = pwhile( $2.parse, $4.parse ); }
-	| IF_t expr _LBRACE_t block _RBRACE_t ELSE_t rule
-		{ $$.parse = pif( $2.parse, $4.parse, $7.parse ); }
-     | local_opt RULE_t ARG arglist_opt rule
-		{ $$.parse = psetc( $3.string, $5.parse, $4.parse, $1.number ); }
-	| ON_t arg rule
-		{ $$.parse = pon( $2.parse, $3.parse ); }
-	| ACTIONS_t eflags ARG bindlist _LBRACE_t
-		{ yymode( SCAN_STRING ); }
-	  STRING
-		{ yymode( SCAN_NORMAL ); }
-	  _RBRACE_t
-		{ $$.parse = psete( $3.string,$4.parse,$7.string,$2.number ); }
-	;
-
-/*
- * assign - = or +=
- */
-
-assign	: _EQUALS_t
-		{ $$.number = ASSIGN_SET; }
-	| _PLUS_EQUALS_t
-		{ $$.number = ASSIGN_APPEND; }
-	| _QUESTION_EQUALS_t
-		{ $$.number = ASSIGN_DEFAULT; }
-	| DEFAULT_t _EQUALS_t
-		{ $$.number = ASSIGN_DEFAULT; }
-	;
-
-/*
- * expr - an expression for if
- */
-expr	: arg
-		{ $$.parse = peval( EXPR_EXISTS, $1.parse, pnull() ); }
-	| expr _EQUALS_t expr
-		{ $$.parse = peval( EXPR_EQUALS, $1.parse, $3.parse ); }
-	| expr _BANG_EQUALS_t expr
-		{ $$.parse = peval( EXPR_NOTEQ, $1.parse, $3.parse ); }
-	| expr _LANGLE_t expr
-		{ $$.parse = peval( EXPR_LESS, $1.parse, $3.parse ); }
-	| expr _LANGLE_EQUALS_t expr
-		{ $$.parse = peval( EXPR_LESSEQ, $1.parse, $3.parse ); }
-	| expr _RANGLE_t expr
-		{ $$.parse = peval( EXPR_MORE, $1.parse, $3.parse ); }
-	| expr _RANGLE_EQUALS_t expr
-		{ $$.parse = peval( EXPR_MOREEQ, $1.parse, $3.parse ); }
-	| expr _AMPER_t expr
-		{ $$.parse = peval( EXPR_AND, $1.parse, $3.parse ); }
-	| expr _AMPERAMPER_t expr
-		{ $$.parse = peval( EXPR_AND, $1.parse, $3.parse ); }
-	| expr _BAR_t expr
-		{ $$.parse = peval( EXPR_OR, $1.parse, $3.parse ); }
-	| expr _BARBAR_t expr
-		{ $$.parse = peval( EXPR_OR, $1.parse, $3.parse ); }
-	| arg IN_t list
-		{ $$.parse = peval( EXPR_IN, $1.parse, $3.parse ); }
-	| _BANG_t expr
-		{ $$.parse = peval( EXPR_NOT, $2.parse, pnull() ); }
-	| _LPAREN_t expr _RPAREN_t
-		{ $$.parse = $2.parse; }
-	;
-
-
-/*
- * cases - action elements inside a 'switch'
- * case - a single action element inside a 'switch'
- * right-recursive rule so cases can be examined in order.
- */
-
-cases	: /* empty */
-		{ $$.parse = P0; }
-	| case cases
-		{ $$.parse = pnode( $1.parse, $2.parse ); }
-	;
-
-case	: CASE_t ARG _COLON_t block
-		{ $$.parse = psnode( $2.string, $4.parse ); }
-	;
-
-/*
- * lol - list of lists
- * right-recursive rule so that lists can be added in order.
- */
-
-lol	: list
-		{ $$.parse = pnode( P0, $1.parse ); }
-	| list _COLON_t lol
-		{ $$.parse = pnode( $3.parse, $1.parse ); }
-	;
-
-/*
- * list - zero or more args in a LIST
- * listp - list (in puncutation only mode)
- * arg - one ARG or function call
- */
-
-list	: listp
-		{ $$.parse = $1.parse; yymode( SCAN_NORMAL ); }
-	;
-
-listp	: /* empty */
-		{ $$.parse = pnull(); yymode( SCAN_PUNCT ); }
-	| listp arg
-        	{ $$.parse = pappend( $1.parse, $2.parse ); }
-	;
-
-arg	: ARG
-		{ $$.parse = plist( $1.string ); }
-	| _LBRACKET_t { yymode( SCAN_NORMAL ); } func _RBRACKET_t
-		{ $$.parse = $3.parse; }
-	;
-
-/*
- * func - a function call (inside [])
- * This needs to be split cleanly out of 'rule'
- */
-
-func	: arg lol
-		{ $$.parse = prule( $1.string, $2.parse ); }
-	| ON_t arg arg lol
-		{ $$.parse = pon( $2.parse, prule( $3.string, $4.parse ) ); }
-	| ON_t arg RETURN_t list
-		{ $$.parse = pon( $2.parse, $4.parse ); }
-	;
-
-
-/*
- * eflags - zero or more modifiers to 'executes'
- * eflag - a single modifier to 'executes'
- */
-
-eflags	: /* empty */
-		{ $$.number = 0; }
-	| eflags eflag
-		{ $$.number = $1.number | $2.number; }
-	;
-
-eflag	: UPDATED_t
-		{ $$.number = EXEC_UPDATED; }
-	| TOGETHER_t
-		{ $$.number = EXEC_TOGETHER; }
-	| IGNORE_t
-		{ $$.number = EXEC_IGNORE; }
-	| QUIETLY_t
-		{ $$.number = EXEC_QUIETLY; }
-	| PIECEMEAL_t
-		{ $$.number = EXEC_PIECEMEAL; }
-	| EXISTING_t
-		{ $$.number = EXEC_EXISTING; }
-	;
-
-
-/*
- * bindlist - list of variable to bind for an action
- */
-
-bindlist : /* empty */
-		{ $$.parse = pnull(); }
-	| BIND_t list
-		{ $$.parse = $2.parse; }
-	;
diff --git a/SRC/Boost/tools/build/v2/engine/jamgram.yy b/SRC/Boost/tools/build/v2/engine/jamgram.yy
deleted file mode 100755
index 0027a90..0000000
--- a/SRC/Boost/tools/build/v2/engine/jamgram.yy
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * Copyright 1993, 2000 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*
- * jamgram.yy - jam grammar
- *
- * 04/13/94 (seiwald) - added shorthand L0 for null list pointer
- * 06/01/94 (seiwald) - new 'actions existing' does existing sources
- * 08/23/94 (seiwald) - Support for '+=' (append to variable)
- * 08/31/94 (seiwald) - Allow ?= as alias for "default =".
- * 09/15/94 (seiwald) - if conditionals take only single arguments, so
- *			that 'if foo == bar' gives syntax error (use =).
- * 02/11/95 (seiwald) - when scanning arguments to rules, only treat
- *			punctuation keywords as keywords.  All arg lists
- *			are terminated with punctuation keywords.
- *
- * 09/11/00 (seiwald) - Support for function calls:
- *
- *		Rules now return lists (LIST *), rather than void.
- *
- *		New "[ rule ]" syntax evals rule into a LIST.
- *
- *		Lists are now generated by compile_list() and
- *		compile_append(), and any other rule that indirectly
- *		makes a list, rather than being built directly here,
- *		so that lists values can contain rule evaluations.
- *
- *		New 'return' rule sets the return value, though
- *		other statements also may have return values.
- *
- *		'run' production split from 'block' production so
- *		that empty blocks can be handled separately.
- */
-
-%token ARG STRING
-
-%left `||` `|`
-%left `&&` `&`
-%left `=` `!=` `in`
-%left `<` `<=` `>` `>=`
-%left `!`
-
-%{
-#include "jam.h"
-
-#include "lists.h"
-#include "parse.h"
-#include "scan.h"
-#include "compile.h"
-#include "newstr.h"
-#include "rules.h"
-
-# define YYMAXDEPTH 10000	/* for OSF and other less endowed yaccs */
-
-# define F0 (LIST *(*)(PARSE *, FRAME *))0
-# define P0 (PARSE *)0
-# define S0 (char *)0
-
-# define pappend( l,r )    	parse_make( compile_append,l,r,P0,S0,S0,0 )
-# define peval( c,l,r )	parse_make( compile_eval,l,r,P0,S0,S0,c )
-# define pfor( s,l,r,x )    	parse_make( compile_foreach,l,r,P0,s,S0,x )
-# define pif( l,r,t )	  	parse_make( compile_if,l,r,t,S0,S0,0 )
-# define pincl( l )       	parse_make( compile_include,l,P0,P0,S0,S0,0 )
-# define plist( s )	  	parse_make( compile_list,P0,P0,P0,s,S0,0 )
-# define plocal( l,r,t )  	parse_make( compile_local,l,r,t,S0,S0,0 )
-# define pmodule( l,r )	  	parse_make( compile_module,l,r,P0,S0,S0,0 )
-# define pclass( l,r )	  	parse_make( compile_class,l,r,P0,S0,S0,0 )
-# define pnull()	  	parse_make( compile_null,P0,P0,P0,S0,S0,0 )
-# define pon( l,r )	  	parse_make( compile_on,l,r,P0,S0,S0,0 )
-# define prule( s,p )     	parse_make( compile_rule,p,P0,P0,s,S0,0 )
-# define prules( l,r )	  	parse_make( compile_rules,l,r,P0,S0,S0,0 )
-# define pset( l,r,a )          parse_make( compile_set,l,r,P0,S0,S0,a )
-# define pset1( l,r,t,a )	parse_make( compile_settings,l,r,t,S0,S0,a )
-# define psetc( s,p,a,l )     	parse_make( compile_setcomp,p,a,P0,s,S0,l )
-# define psete( s,l,s1,f ) 	parse_make( compile_setexec,l,P0,P0,s,s1,f )
-# define pswitch( l,r )   	parse_make( compile_switch,l,r,P0,S0,S0,0 )
-# define pwhile( l,r )   	parse_make( compile_while,l,r,P0,S0,S0,0 )
-
-# define pnode( l,r )    	parse_make( F0,l,r,P0,S0,S0,0 )
-# define psnode( s,l )     	parse_make( F0,l,P0,P0,s,S0,0 )
-
-%}
-
-%%
-
-run	: /* empty */
-		/* do nothing */
-	| rules
-		{ parse_save( $1.parse ); }
-	;
-
-/*
- * block - zero or more rules
- * rules - one or more rules
- * rule - any one of jam's rules
- * right-recursive so rules execute in order.
- */
-
-block	: null
-                { $$.parse = $1.parse; }
-	| rules
-		{ $$.parse = $1.parse; }
-	;
-
-rules	: rule
-		{ $$.parse = $1.parse; }
-	| rule rules
-		{ $$.parse = prules( $1.parse, $2.parse ); }
-	| `local` list assign_list_opt `;` block
-		{ $$.parse = plocal( $2.parse, $3.parse, $5.parse ); }
-	;
-
-null    : /* empty */
-        { $$.parse = pnull(); }
-        ;
-
-assign_list_opt : `=` list
-                { $$.parse = $2.parse; $$.number = ASSIGN_SET; }
-        | null
-		{ $$.parse = $1.parse; $$.number = ASSIGN_APPEND; }
-        ;
-
-arglist_opt : `(` lol `)`
-                { $$.parse = $2.parse; }
-        |
-                { $$.parse = P0; }
-        ;
-
-local_opt : `local`
-                { $$.number = 1; }
-          | /* empty */
-                { $$.number = 0; }
-          ;
-
-rule	: `{` block `}`
-		{ $$.parse = $2.parse; }
-	| `include` list `;`
-		{ $$.parse = pincl( $2.parse ); }
-	| ARG lol `;`
-		{ $$.parse = prule( $1.string, $2.parse ); }
-	| arg assign list `;`
-		{ $$.parse = pset( $1.parse, $3.parse, $2.number ); }
-	| arg `on` list assign list `;`
-		{ $$.parse = pset1( $1.parse, $3.parse, $5.parse, $4.number ); }
-	| `return` list `;`
-		{ $$.parse = $2.parse; }
-	| `for` local_opt ARG `in` list `{` block `}`
-		{ $$.parse = pfor( $3.string, $5.parse, $7.parse, $2.number ); }
-	| `switch` list `{` cases `}`
-		{ $$.parse = pswitch( $2.parse, $4.parse ); }
-	| `if` expr `{` block `}`
-		{ $$.parse = pif( $2.parse, $4.parse, pnull() ); }
-	| `module` list `{` block `}`
-		{ $$.parse = pmodule( $2.parse, $4.parse ); }
-	| `class` lol `{` block `}`
-		{ $$.parse = pclass( $2.parse, $4.parse ); }
-	| `while` expr `{` block `}`
-		{ $$.parse = pwhile( $2.parse, $4.parse ); }
-	| `if` expr `{` block `}` `else` rule
-		{ $$.parse = pif( $2.parse, $4.parse, $7.parse ); }
-     | local_opt `rule` ARG arglist_opt rule
-		{ $$.parse = psetc( $3.string, $5.parse, $4.parse, $1.number ); }
-	| `on` arg rule
-		{ $$.parse = pon( $2.parse, $3.parse ); }
-	| `actions` eflags ARG bindlist `{`
-		{ yymode( SCAN_STRING ); }
-	  STRING
-		{ yymode( SCAN_NORMAL ); }
-	  `}`
-		{ $$.parse = psete( $3.string,$4.parse,$7.string,$2.number ); }
-	;
-
-/*
- * assign - = or +=
- */
-
-assign	: `=`
-		{ $$.number = ASSIGN_SET; }
-	| `+=`
-		{ $$.number = ASSIGN_APPEND; }
-	| `?=`
-		{ $$.number = ASSIGN_DEFAULT; }
-	| `default` `=`
-		{ $$.number = ASSIGN_DEFAULT; }
-	;
-
-/*
- * expr - an expression for if
- */
-expr	: arg
-		{ $$.parse = peval( EXPR_EXISTS, $1.parse, pnull() ); }
-	| expr `=` expr
-		{ $$.parse = peval( EXPR_EQUALS, $1.parse, $3.parse ); }
-	| expr `!=` expr
-		{ $$.parse = peval( EXPR_NOTEQ, $1.parse, $3.parse ); }
-	| expr `<` expr
-		{ $$.parse = peval( EXPR_LESS, $1.parse, $3.parse ); }
-	| expr `<=` expr
-		{ $$.parse = peval( EXPR_LESSEQ, $1.parse, $3.parse ); }
-	| expr `>` expr
-		{ $$.parse = peval( EXPR_MORE, $1.parse, $3.parse ); }
-	| expr `>=` expr
-		{ $$.parse = peval( EXPR_MOREEQ, $1.parse, $3.parse ); }
-	| expr `&` expr
-		{ $$.parse = peval( EXPR_AND, $1.parse, $3.parse ); }
-	| expr `&&` expr
-		{ $$.parse = peval( EXPR_AND, $1.parse, $3.parse ); }
-	| expr `|` expr
-		{ $$.parse = peval( EXPR_OR, $1.parse, $3.parse ); }
-	| expr `||` expr
-		{ $$.parse = peval( EXPR_OR, $1.parse, $3.parse ); }
-	| arg `in` list
-		{ $$.parse = peval( EXPR_IN, $1.parse, $3.parse ); }
-	| `!` expr
-		{ $$.parse = peval( EXPR_NOT, $2.parse, pnull() ); }
-	| `(` expr `)`
-		{ $$.parse = $2.parse; }
-	;
-
-
-/*
- * cases - action elements inside a 'switch'
- * case - a single action element inside a 'switch'
- * right-recursive rule so cases can be examined in order.
- */
-
-cases	: /* empty */
-		{ $$.parse = P0; }
-	| case cases
-		{ $$.parse = pnode( $1.parse, $2.parse ); }
-	;
-
-case	: `case` ARG `:` block
-		{ $$.parse = psnode( $2.string, $4.parse ); }
-	;
-
-/*
- * lol - list of lists
- * right-recursive rule so that lists can be added in order.
- */
-
-lol	: list
-		{ $$.parse = pnode( P0, $1.parse ); }
-	| list `:` lol
-		{ $$.parse = pnode( $3.parse, $1.parse ); }
-	;
-
-/*
- * list - zero or more args in a LIST
- * listp - list (in puncutation only mode)
- * arg - one ARG or function call
- */
-
-list	: listp
-		{ $$.parse = $1.parse; yymode( SCAN_NORMAL ); }
-	;
-
-listp	: /* empty */
-		{ $$.parse = pnull(); yymode( SCAN_PUNCT ); }
-	| listp arg
-        	{ $$.parse = pappend( $1.parse, $2.parse ); }
-	;
-
-arg	: ARG
-		{ $$.parse = plist( $1.string ); }
-	| `[` { yymode( SCAN_NORMAL ); } func `]`
-		{ $$.parse = $3.parse; }
-	;
-
-/*
- * func - a function call (inside [])
- * This needs to be split cleanly out of 'rule'
- */
-
-func	: arg lol
-		{ $$.parse = prule( $1.string, $2.parse ); }
-	| `on` arg arg lol
-		{ $$.parse = pon( $2.parse, prule( $3.string, $4.parse ) ); }
-	| `on` arg `return` list
-		{ $$.parse = pon( $2.parse, $4.parse ); }
-	;
-
-
-/*
- * eflags - zero or more modifiers to 'executes'
- * eflag - a single modifier to 'executes'
- */
-
-eflags	: /* empty */
-		{ $$.number = 0; }
-	| eflags eflag
-		{ $$.number = $1.number | $2.number; }
-	;
-
-eflag	: `updated`
-		{ $$.number = EXEC_UPDATED; }
-	| `together`
-		{ $$.number = EXEC_TOGETHER; }
-	| `ignore`
-		{ $$.number = EXEC_IGNORE; }
-	| `quietly`
-		{ $$.number = EXEC_QUIETLY; }
-	| `piecemeal`
-		{ $$.number = EXEC_PIECEMEAL; }
-	| `existing`
-		{ $$.number = EXEC_EXISTING; }
-	;
-
-
-/*
- * bindlist - list of variable to bind for an action
- */
-
-bindlist : /* empty */
-		{ $$.parse = pnull(); }
-	| `bind` list
-		{ $$.parse = $2.parse; }
-	;
-
-
diff --git a/SRC/Boost/tools/build/v2/engine/jamgramtab.h b/SRC/Boost/tools/build/v2/engine/jamgramtab.h
deleted file mode 100755
index 6ef6ae6..0000000
--- a/SRC/Boost/tools/build/v2/engine/jamgramtab.h
+++ /dev/null
@@ -1,44 +0,0 @@
-    { "!", _BANG_t },
-    { "!=", _BANG_EQUALS_t },
-    { "&", _AMPER_t },
-    { "&&", _AMPERAMPER_t },
-    { "(", _LPAREN_t },
-    { ")", _RPAREN_t },
-    { "+=", _PLUS_EQUALS_t },
-    { ":", _COLON_t },
-    { ";", _SEMIC_t },
-    { "<", _LANGLE_t },
-    { "<=", _LANGLE_EQUALS_t },
-    { "=", _EQUALS_t },
-    { ">", _RANGLE_t },
-    { ">=", _RANGLE_EQUALS_t },
-    { "?=", _QUESTION_EQUALS_t },
-    { "[", _LBRACKET_t },
-    { "]", _RBRACKET_t },
-    { "actions", ACTIONS_t },
-    { "bind", BIND_t },
-    { "case", CASE_t },
-    { "class", CLASS_t },
-    { "default", DEFAULT_t },
-    { "else", ELSE_t },
-    { "existing", EXISTING_t },
-    { "for", FOR_t },
-    { "if", IF_t },
-    { "ignore", IGNORE_t },
-    { "in", IN_t },
-    { "include", INCLUDE_t },
-    { "local", LOCAL_t },
-    { "module", MODULE_t },
-    { "on", ON_t },
-    { "piecemeal", PIECEMEAL_t },
-    { "quietly", QUIETLY_t },
-    { "return", RETURN_t },
-    { "rule", RULE_t },
-    { "switch", SWITCH_t },
-    { "together", TOGETHER_t },
-    { "updated", UPDATED_t },
-    { "while", WHILE_t },
-    { "{", _LBRACE_t },
-    { "|", _BAR_t },
-    { "||", _BARBAR_t },
-    { "}", _RBRACE_t },
diff --git a/SRC/Boost/tools/build/v2/engine/lists.c b/SRC/Boost/tools/build/v2/engine/lists.c
deleted file mode 100755
index c547c93..0000000
--- a/SRC/Boost/tools/build/v2/engine/lists.c
+++ /dev/null
@@ -1,339 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-# include "jam.h"
-# include "newstr.h"
-# include "lists.h"
-
-/*
- * lists.c - maintain lists of strings
- *
- * This implementation essentially uses a singly linked list, but
- * guarantees that the head element of every list has a valid pointer
- * to the tail of the list, so the new elements can efficiently and
- * properly be appended to the end of a list.
- *
- * To avoid massive allocation, list_free() just tacks the whole freed
- * chain onto freelist and list_new() looks on freelist first for an
- * available list struct.  list_free() does not free the strings in the
- * chain: it lazily lets list_new() do so.
- *
- * 08/23/94 (seiwald) - new list_append()
- * 09/07/00 (seiwald) - documented lol_*() functions
- */
-
-static LIST *freelist = 0;  /* junkpile for list_free() */
-
-/*
- * list_append() - append a list onto another one, returning total
- */
-
-LIST * list_append( LIST * l, LIST * nl )
-{
-    if ( !nl )
-    {
-        /* Just return l */
-    }
-    else if ( !l )
-    {
-        l = nl;
-    }
-    else
-    {
-        /* Graft two non-empty lists. */
-        l->tail->next = nl;
-        l->tail = nl->tail;
-    }
-
-    return l;
-}
-
-/*
- * list_new() - tack a string onto the end of a list of strings
- */
-
-LIST * list_new( LIST * head, char * string )
-{
-    LIST * l;
-
-    if ( DEBUG_LISTS )
-        printf( "list > %s <\n", string );
-
-    /* Get list struct from freelist, if one available.  */
-    /* Otherwise allocate. */
-    /* If from freelist, must free string first */
-
-    if ( freelist )
-    {
-        l = freelist;
-        freestr( l->string );
-        freelist = freelist->next;
-    }
-    else
-    {
-        l = (LIST *)BJAM_MALLOC( sizeof( LIST ) );
-    }
-
-    /* If first on chain, head points here. */
-    /* If adding to chain, tack us on. */
-    /* Tail must point to this new, last element. */
-
-    if ( !head ) head = l;
-    else head->tail->next = l;
-    head->tail = l;
-    l->next = 0;
-
-    l->string = string;
-
-    return head;
-}
-
-
-/*
- * list_copy() - copy a whole list of strings (nl) onto end of another (l).
- */
-
-LIST * list_copy( LIST * l, LIST * nl )
-{
-    for ( ; nl; nl = list_next( nl ) )
-        l = list_new( l, copystr( nl->string ) );
-    return l;
-}
-
-
-/*
- * list_sublist() - copy a subset of a list of strings.
- */
-
-LIST * list_sublist( LIST * l, int start, int count )
-{
-    LIST * nl = 0;
-    for ( ; l && start--; l = list_next( l ) );
-    for ( ; l && count--; l = list_next( l ) )
-        nl = list_new( nl, copystr( l->string ) );
-    return nl;
-}
-
-
-static int str_ptr_compare( void const * va, void const * vb )
-{
-    char * a = *( (char * *)va );
-    char * b = *( (char * *)vb );
-    return strcmp(a, b);
-}
-
-
-LIST * list_sort( LIST * l )
-{
-    int len;
-    int ii;
-    char * * strings;
-    LIST * listp;
-    LIST * result = 0;
-
-    if ( !l )
-        return L0;
-
-    len = list_length( l );
-    strings = (char * *)BJAM_MALLOC( len * sizeof(char*) );
-
-    listp = l;
-    for ( ii = 0; ii < len; ++ii )
-    {
-        strings[ ii ] = listp->string;
-        listp = listp->next;
-    }
-
-    qsort( strings, len, sizeof( char * ), str_ptr_compare );
-
-    for ( ii = 0; ii < len; ++ii )
-        result = list_append( result, list_new( 0, strings[ ii ] ) );
-
-    BJAM_FREE( strings );
-
-    return result;
-}
-
-
-/*
- * list_free() - free a list of strings
- */
-
-void list_free( LIST * head )
-{
-    /* Just tack onto freelist. */
-    if ( head )
-    {
-        head->tail->next = freelist;
-        freelist = head;
-    }
-}
-
-
-/*
- * list_pop_front() - remove the front element from a list of strings
- */
-
-LIST * list_pop_front( LIST * l )
-{
-    LIST * result = l->next;
-    if ( result )
-    {
-        result->tail = l->tail;
-        l->next = L0;
-        l->tail = l;
-    }
-    list_free( l );
-    return result;
-}
-
-
-/*
- * list_print() - print a list of strings to stdout
- */
-
-void list_print( LIST * l )
-{
-    LIST * p = 0;
-    for ( ; l; p = l, l = list_next( l ) )
-        if ( p )
-            printf( "%s ", p->string );
-    if ( p )
-        printf( "%s", p->string );
-}
-
-
-/*
- * list_length() - return the number of items in the list
- */
-
-int list_length( LIST * l )
-{
-    int n = 0;
-    for ( ; l; l = list_next( l ), ++n );
-    return n;
-}
-
-
-int list_in( LIST * l, char * value )
-{
-    for ( ; l; l = l->next )
-        if ( strcmp( l->string, value ) == 0 )
-            return 1;
-    return 0;
-}
-
-
-LIST * list_unique( LIST * sorted_list )
-{
-    LIST * result = 0;
-    LIST * last_added = 0;
-
-    for ( ; sorted_list; sorted_list = sorted_list->next )
-    {
-        if ( !last_added || strcmp( sorted_list->string, last_added->string ) != 0 )
-        {
-            result = list_new( result, sorted_list->string );
-            last_added = sorted_list;
-        }
-    }
-    return result;
-}
-
-
-/*
- * lol_init() - initialize a LOL (list of lists).
- */
-
-void lol_init( LOL * lol )
-{
-    lol->count = 0;
-}
-
-
-/*
- * lol_add() - append a LIST onto an LOL.
- */
-
-void lol_add( LOL * lol, LIST * l )
-{
-    if ( lol->count < LOL_MAX )
-        lol->list[ lol->count++ ] = l;
-}
-
-
-/*
- * lol_free() - free the LOL and its LISTs.
- */
-
-void lol_free( LOL * lol )
-{
-    int i;
-    for ( i = 0; i < lol->count; ++i )
-        list_free( lol->list[ i ] );
-    lol->count = 0;
-}
-
-
-/*
- * lol_get() - return one of the LISTs in the LOL.
- */
-
-LIST * lol_get( LOL * lol, int i )
-{
-    return i < lol->count ? lol->list[ i ] : 0;
-}
-
-
-/*
- * lol_print() - debug print LISTS separated by ":".
- */
-
-void lol_print( LOL * lol )
-{
-    int i;
-
-    for ( i = 0; i < lol->count; ++i )
-    {
-        if ( i )
-            printf( " : " );
-        list_print( lol->list[ i ] );
-    }
-}
-
-#ifdef HAVE_PYTHON
-
-PyObject *list_to_python(LIST *l)
-{
-    PyObject *result = PyList_New(0);
-
-    for (; l; l = l->next)
-    {
-        PyObject* s = PyString_FromString(l->string);
-        PyList_Append(result, s);
-        Py_DECREF(s);
-    }
-
-    return result;
-}
-
-LIST *list_from_python(PyObject *l)
-{
-    LIST * result = 0;
-
-    Py_ssize_t i, n;
-    n = PySequence_Size(l);
-    for (i = 0; i < n; ++i)
-    {
-        PyObject *v = PySequence_GetItem(l, i);        
-        result = list_new (result, newstr (PyString_AsString(v)));
-        Py_DECREF(v);
-    }
-
-    return result;
-}
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/lists.h b/SRC/Boost/tools/build/v2/engine/lists.h
deleted file mode 100755
index 0305696..0000000
--- a/SRC/Boost/tools/build/v2/engine/lists.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*
- * lists.h - the LIST structure and routines to manipulate them
- *
- * The whole of jam relies on lists of strings as a datatype.  This
- * module, in conjunction with newstr.c, handles these relatively
- * efficiently.
- *
- * Structures defined:
- *
- *  LIST - list of strings
- *  LOL - list of LISTs
- *
- * External routines:
- *
- *  list_append() - append a list onto another one, returning total
- *  list_new() - tack a string onto the end of a list of strings
- *  list_copy() - copy a whole list of strings
- *  list_sublist() - copy a subset of a list of strings
- *  list_free() - free a list of strings
- *  list_print() - print a list of strings to stdout
- *  list_length() - return the number of items in the list
- *
- *  lol_init() - initialize a LOL (list of lists)
- *  lol_add() - append a LIST onto an LOL
- *  lol_free() - free the LOL and its LISTs
- *  lol_get() - return one of the LISTs in the LOL
- *  lol_print() - debug print LISTS separated by ":"
- *
- * 04/13/94 (seiwald) - added shorthand L0 for null list pointer
- * 08/23/94 (seiwald) - new list_append()
- */
-
-#ifndef LISTS_DWA20011022_H
-# define LISTS_DWA20011022_H
-
-#ifdef HAVE_PYTHON
-#include <Python.h>
-#endif
-
-/*
- * LIST - list of strings
- */
-
-typedef struct _list LIST;
-
-struct _list {
-    LIST    *next;
-    LIST    *tail;      /* only valid in head node */
-    char    *string;    /* private copy */
-};
-
-/*
- * LOL - list of LISTs
- */
-
-typedef struct _lol LOL;
-
-# define LOL_MAX 19
-
-struct _lol {
-    int count;
-    LIST    *list[ LOL_MAX ];
-};
-
-LIST *  list_append( LIST *l, LIST *nl );
-LIST *  list_copy( LIST *l, LIST  *nl );
-void    list_free( LIST *head );
-LIST *  list_new( LIST *head, char *string );
-void    list_print( LIST *l );
-int list_length( LIST *l );
-LIST *  list_sublist( LIST *l, int start, int count );
-LIST *  list_pop_front( LIST *l );
-LIST *  list_sort( LIST *l);
-LIST *  list_unique( LIST *sorted_list);
-int     list_in(LIST* l, char* value);
-
-# define list_next( l ) ((l)->next)
-
-# define L0 ((LIST *)0)
-
-void    lol_add( LOL *lol, LIST *l );
-void    lol_init( LOL *lol );
-void    lol_free( LOL *lol );
-LIST *  lol_get( LOL *lol, int i );
-void    lol_print( LOL *lol );
-void    lol_build( LOL* lol, char** elements );
-
-#ifdef HAVE_PYTHON
-
-PyObject *list_to_python(LIST *l);
-LIST *list_from_python(PyObject *l);
-
-#endif
-
-#endif
-
diff --git a/SRC/Boost/tools/build/v2/engine/make.c b/SRC/Boost/tools/build/v2/engine/make.c
deleted file mode 100755
index f497bc8..0000000
--- a/SRC/Boost/tools/build/v2/engine/make.c
+++ /dev/null
@@ -1,814 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*
- * make.c - bring a target up to date, once rules are in place.
- *
- * This modules controls the execution of rules to bring a target and its
- * dependencies up to date. It is invoked after the targets, rules, et. al.
- * described in rules.h are created by the interpreting jam files.
- *
- * This file contains the main make() entry point and the first pass make0().
- * The second pass, make1(), which actually does the command execution, is in
- * make1.c.
- *
- * External routines:
- *  make() - make a target, given its name
- *
- * Internal routines:
- *  make0() - bind and scan everything to make a TARGET
- *  make0sort() - reorder TARGETS chain by their time (newest to oldest)
- *
- * 12/26/93 (seiwald) - allow NOTIME targets to be expanded via $(<), $(>).
- * 01/04/94 (seiwald) - print all targets, bounded, when tracing commands.
- * 04/08/94 (seiwald) - progress report now reflects only targets with actions.
- * 04/11/94 (seiwald) - Combined deps & headers into deps[2] in TARGET.
- * 12/20/94 (seiwald) - NOTIME renamed NOTFILE.
- * 12/20/94 (seiwald) - make0() headers after determining fate of target, so
- *                      that headers are not seen as being dependent on
- *                      themselves.
- * 01/19/95 (seiwald) - distinguish between CANTFIND/CANTMAKE targets.
- * 02/02/95 (seiwald) - propagate leaf source time for new LEAVES rule.
- * 02/14/95 (seiwald) - NOUPDATE rule means don't update existing target.
- * 08/22/95 (seiwald) - NOUPDATE targets immune to anyhow (-a) flag.
- * 09/06/00 (seiwald) - NOCARE affects targets with sources/actions.
- * 03/02/01 (seiwald) - reverse NOCARE change.
- * 03/14/02 (seiwald) - TEMPORARY targets no longer take on parents age.
- * 03/16/02 (seiwald) - support for -g (reorder builds by source time).
- */
-
-#include "jam.h"
-
-#include "lists.h"
-#include "parse.h"
-#include "variable.h"
-#include "rules.h"
-
-#ifdef OPT_HEADER_CACHE_EXT
-    #include "hcache.h"
-#endif
-
-#include "search.h"
-#include "newstr.h"
-#include "make.h"
-#include "headers.h"
-#include "command.h"
-#include <assert.h>
-
-#ifndef max
-    #define max( a,b ) ((a)>(b)?(a):(b))
-#endif
-
-static TARGETS * make0sort( TARGETS * c );
-
-#ifdef OPT_GRAPH_DEBUG_EXT
-    static void dependGraphOutput( TARGET * t, int depth );
-#endif
-
-static const char * target_fate[] =
-{
-    "init",     /* T_FATE_INIT     */
-    "making",   /* T_FATE_MAKING   */
-    "stable",   /* T_FATE_STABLE   */
-    "newer",    /* T_FATE_NEWER    */
-    "temp",     /* T_FATE_ISTMP    */
-    "touched",  /* T_FATE_TOUCHED  */
-    "rebuild",  /* T_FATE_REBUILD  */
-    "missing",  /* T_FATE_MISSING  */
-    "needtmp",  /* T_FATE_NEEDTMP  */
-    "old",      /* T_FATE_OUTDATED */
-    "update",   /* T_FATE_UPDATE   */
-    "nofind",   /* T_FATE_CANTFIND */
-    "nomake"    /* T_FATE_CANTMAKE */
-};
-
-static const char * target_bind[] =
-{
-    "unbound",
-    "missing",
-    "parents",
-    "exists",
-};
-
-# define spaces(x) ( "                    " + ( x > 20 ? 0 : 20-x ) )
-
-
-/*
- * make() - make a target, given its name.
- */
-
-int make( int n_targets, char const * * targets, int anyhow )
-{
-    int    i;
-    COUNTS counts[ 1 ];
-    int    status = 0;     /* 1 if anything fails */
-
-#ifdef OPT_HEADER_CACHE_EXT
-    hcache_init();
-#endif
-
-    memset( (char *)counts, 0, sizeof( *counts ) );
-
-    /* First bind all targets with LOCATE_TARGET setting. This is needed to
-     * correctly handle dependencies to generated headers.
-     */
-    bind_explicitly_located_targets();
-
-    {
-        PROFILE_ENTER( MAKE_MAKE0 );
-        for ( i = 0; i < n_targets; ++i )
-            make0( bindtarget( targets[ i ] ), 0, 0, counts, anyhow );
-        PROFILE_EXIT( MAKE_MAKE0 );
-    }
-
-#ifdef OPT_GRAPH_DEBUG_EXT
-    if ( DEBUG_GRAPH )
-        for ( i = 0; i < n_targets; ++i )
-            dependGraphOutput( bindtarget( targets[ i ] ), 0 );
-#endif
-
-    if ( DEBUG_MAKE )
-    {
-        if ( counts->targets )
-            printf( "...found %d target%s...\n", counts->targets,
-                counts->targets > 1 ? "s" : "" );
-        if ( counts->temp )
-            printf( "...using %d temp target%s...\n", counts->temp,
-                counts->temp > 1 ? "s" : "" );
-        if ( counts->updating )
-            printf( "...updating %d target%s...\n", counts->updating,
-                counts->updating > 1 ? "s" : "" );
-        if ( counts->cantfind )
-            printf( "...can't find %d target%s...\n", counts->cantfind,
-                counts->cantfind > 1 ? "s" : "" );
-        if ( counts->cantmake )
-            printf( "...can't make %d target%s...\n", counts->cantmake,
-                counts->cantmake > 1 ? "s" : "" );
-    }
-
-#ifdef OPT_HEADER_CACHE_EXT
-    hcache_done();
-#endif
-
-    status = counts->cantfind || counts->cantmake;
-
-    {
-        PROFILE_ENTER( MAKE_MAKE1 );
-        for ( i = 0; i < n_targets; ++i )
-            status |= make1( bindtarget( targets[ i ] ) );
-        PROFILE_EXIT( MAKE_MAKE1 );
-    }
-
-    return status;
-}
-
-
-/* Force any dependants of t that have already at least begun being visited by
- * make0() to be updated.
- */
-
-static void update_dependants( TARGET * t )
-{
-    TARGETS * q;
-
-    for ( q = t->dependants; q; q = q->next )
-    {
-        TARGET * p = q->target;
-        char fate0 = p->fate;
-
-        /* If we have already at least begun visiting it and we are not already
-         * rebuilding it for other reasons.
-         */
-        if ( ( fate0 != T_FATE_INIT ) && ( fate0 < T_FATE_BUILD ) )
-        {
-            p->fate = T_FATE_UPDATE;
-
-            if ( DEBUG_FATE )
-            {
-                printf( "fate change  %s from %s to %s (as dependant of %s)\n",
-                        p->name, target_fate[ (int) fate0 ], target_fate[ (int) p->fate ], t->name );
-            }
-
-            /* If we are done visiting it, go back and make sure its dependants
-             * get rebuilt.
-             */
-            if ( fate0 > T_FATE_MAKING )
-                update_dependants( p );
-        }
-    }
-}
-
-
-/*
- * Make sure that all of t's rebuilds get rebuilt.
- */
-
-static void force_rebuilds( TARGET * t )
-{
-    TARGETS * d;
-    for ( d = t->rebuilds; d; d = d->next )
-    {
-        TARGET * r = d->target;
-
-        /* If it is not already being rebuilt for other reasons. */
-        if ( r->fate < T_FATE_BUILD )
-        {
-            if ( DEBUG_FATE )
-                printf( "fate change  %s from %s to %s (by rebuild)\n",
-                        r->name, target_fate[ (int) r->fate ], target_fate[ T_FATE_REBUILD ] );
-
-            /* Force rebuild it. */
-            r->fate = T_FATE_REBUILD;
-
-            /* And make sure its dependants are updated too. */
-            update_dependants( r );
-        }
-    }
-}
-
-
-/*
- * make0() - bind and scan everything to make a TARGET.
- *
- * Recursively binds a target, searches for #included headers, calls itself on
- * those headers and any dependencies.
- */
-
-void make0
-(
-    TARGET * t,
-    TARGET * p,       /* parent */
-    int      depth,   /* for display purposes */
-    COUNTS * counts,  /* for reporting */
-    int      anyhow
-)  /* forcibly touch all (real) targets */
-{
-    TARGETS    * c;
-    TARGET     * ptime = t;
-    time_t       last;
-    time_t       leaf;
-    time_t       hlast;
-    int          fate;
-    char const * flag = "";
-    SETTINGS   * s;
-
-#ifdef OPT_GRAPH_DEBUG_EXT
-    int savedFate, oldTimeStamp;
-#endif
-
-    if ( DEBUG_MAKEPROG )
-        printf( "make\t--\t%s%s\n", spaces( depth ), t->name );
-
-    /*
-     * Step 1: initialize
-     */
-
-    if ( DEBUG_MAKEPROG )
-        printf( "make\t--\t%s%s\n", spaces( depth ), t->name );
-
-    t->fate = T_FATE_MAKING;
-
-    /*
-     * Step 2: under the influence of "on target" variables,
-     * bind the target and search for headers.
-     */
-
-    /* Step 2a: set "on target" variables. */
-    s = copysettings( t->settings );
-    pushsettings( s );
-
-    /* Step 2b: find and timestamp the target file (if it is a file). */
-    if ( ( t->binding == T_BIND_UNBOUND ) && !( t->flags & T_FLAG_NOTFILE ) )
-    {
-        char * another_target;
-        t->boundname = search( t->name, &t->time, &another_target,
-                               t->flags & T_FLAG_ISFILE );
-        /* If it was detected that this target refers to an already existing and
-         * bound one, we add an include dependency, so that every target
-         * depending on us will depend on that other target as well.
-         */
-        if ( another_target )
-            target_include( t, bindtarget( another_target ) );
-
-        t->binding = t->time ? T_BIND_EXISTS : T_BIND_MISSING;
-    }
-
-    /* INTERNAL, NOTFILE header nodes have the time of their parents. */
-    if ( p && ( t->flags & T_FLAG_INTERNAL ) )
-        ptime = p;
-
-    /* If temp file does not exist but parent does, use parent. */
-    if ( p && ( t->flags & T_FLAG_TEMP ) &&
-        ( t->binding == T_BIND_MISSING ) &&
-        ( p->binding != T_BIND_MISSING ) )
-    {
-        t->binding = T_BIND_PARENTS;
-        ptime = p;
-    }
-
-#ifdef OPT_SEMAPHORE
-    {
-        LIST * var = var_get( "JAM_SEMAPHORE" );
-        if ( var )
-        {
-            TARGET * semaphore = bindtarget( var->string );
-            semaphore->progress = T_MAKE_SEMAPHORE;
-            t->semaphore = semaphore;
-        }
-    }
-#endif
-
-    /* Step 2c: If its a file, search for headers. */
-    if ( t->binding == T_BIND_EXISTS )
-        headers( t );
-
-    /* Step 2d: reset "on target" variables. */
-    popsettings( s );
-    freesettings( s );
-
-    /*
-     * Pause for a little progress reporting .
-     */
-
-    if ( DEBUG_BIND )
-    {
-        if ( strcmp( t->name, t->boundname ) )
-            printf( "bind\t--\t%s%s: %s\n",
-                spaces( depth ), t->name, t->boundname );
-
-        switch ( t->binding )
-        {
-        case T_BIND_UNBOUND:
-        case T_BIND_MISSING:
-        case T_BIND_PARENTS:
-            printf( "time\t--\t%s%s: %s\n",
-                spaces( depth ), t->name, target_bind[ (int) t->binding ] );
-            break;
-
-        case T_BIND_EXISTS:
-            printf( "time\t--\t%s%s: %s",
-                spaces( depth ), t->name, ctime( &t->time ) );
-            break;
-        }
-    }
-
-    /*
-     * Step 3: recursively make0() dependencies & headers.
-     */
-
-    /* Step 3a: recursively make0() dependencies. */
-    for ( c = t->depends; c; c = c->next )
-    {
-        int internal = t->flags & T_FLAG_INTERNAL;
-
-        /* Warn about circular deps, except for includes, which include each
-         * other alot.
-         */
-        if ( c->target->fate == T_FATE_INIT )
-            make0( c->target, ptime, depth + 1, counts, anyhow );
-        else if ( c->target->fate == T_FATE_MAKING && !internal )
-            printf( "warning: %s depends on itself\n", c->target->name );
-    }
-
-    /* Step 3b: recursively make0() internal includes node. */
-    if ( t->includes )
-        make0( t->includes, p, depth + 1, counts, anyhow );
-
-    /* Step 3c: add dependencies' includes to our direct dependencies. */
-    {
-        TARGETS * incs = 0;
-        for ( c = t->depends; c; c = c->next )
-            if ( c->target->includes )
-                incs = targetentry( incs, c->target->includes );
-        t->depends = targetchain( t->depends, incs );
-    }
-
-    /*
-     * Step 4: compute time & fate
-     */
-
-    /* Step 4a: pick up dependencies' time and fate */
-    last = 0;
-    leaf = 0;
-    fate = T_FATE_STABLE;
-    for ( c = t->depends; c; c = c->next )
-    {
-        /* If LEAVES has been applied, we only heed the timestamps of the leaf
-         * source nodes.
-         */
-        leaf = max( leaf, c->target->leaf );
-
-        if ( t->flags & T_FLAG_LEAVES )
-        {
-            last = leaf;
-            continue;
-        }
-
-        last = max( last, c->target->time );
-        fate = max( fate, c->target->fate );
-
-#ifdef OPT_GRAPH_DEBUG_EXT
-        if ( DEBUG_FATE )
-            if ( fate < c->target->fate )
-                printf( "fate change %s from %s to %s by dependency %s\n",
-                    t->name, target_fate[(int) fate], target_fate[(int) c->target->fate],
-                    c->target->name );
-#endif
-    }
-
-    /* Step 4b: pick up included headers time */
-
-    /*
-     * If a header is newer than a temp source that includes it,
-     * the temp source will need building.
-     */
-
-    hlast = t->includes ? t->includes->time : 0;
-
-    /* Step 4c: handle NOUPDATE oddity.
-     *
-     * If a NOUPDATE file exists, mark it as having eternally old dependencies.
-     * Do not inherit our fate from our dependencies. Decide fate based only on
-     * other flags and our binding (done later).
-     */
-    if ( t->flags & T_FLAG_NOUPDATE )
-    {
-#ifdef OPT_GRAPH_DEBUG_EXT
-        if ( DEBUG_FATE )
-            if ( fate != T_FATE_STABLE )
-                printf( "fate change  %s back to stable, NOUPDATE.\n", t->name
-                    );
-#endif
-
-        last = 0;
-        t->time = 0;
-
-        /* Do not inherit our fate from our dependencies. Decide fate based only
-         * upon other flags and our binding (done later).
-         */
-        fate = T_FATE_STABLE;
-    }
-
-    /* Step 4d: determine fate: rebuild target or what? */
-
-    /*
-        In English:
-        If can not find or make child, can not make target.
-        If children changed, make target.
-        If target missing, make it.
-        If children newer, make target.
-        If temp's children newer than parent, make temp.
-        If temp's headers newer than parent, make temp.
-        If deliberately touched, make it.
-        If up-to-date temp file present, use it.
-        If target newer than non-notfile parent, mark target newer.
-        Otherwise, stable!
-
-        Note this block runs from least to most stable:
-        as we make it further down the list, the target's
-        fate is getting stabler.
-    */
-
-#ifdef OPT_GRAPH_DEBUG_EXT
-    savedFate = fate;
-    oldTimeStamp = 0;
-#endif
-
-    if ( fate >= T_FATE_BROKEN )
-    {
-        fate = T_FATE_CANTMAKE;
-    }
-    else if ( fate >= T_FATE_SPOIL )
-    {
-        fate = T_FATE_UPDATE;
-    }
-    else if ( t->binding == T_BIND_MISSING )
-    {
-        fate = T_FATE_MISSING;
-    }
-    else if ( ( t->binding == T_BIND_EXISTS ) && ( last > t->time ) )
-    {
-#ifdef OPT_GRAPH_DEBUG_EXT
-        oldTimeStamp = 1;
-#endif
-        fate = T_FATE_OUTDATED;
-    }
-    else if ( ( t->binding == T_BIND_PARENTS ) && ( last > p->time ) )
-    {
-#ifdef OPT_GRAPH_DEBUG_EXT
-        oldTimeStamp = 1;
-#endif
-        fate = T_FATE_NEEDTMP;
-    }
-    else if ( ( t->binding == T_BIND_PARENTS ) && ( hlast > p->time ) )
-    {
-        fate = T_FATE_NEEDTMP;
-    }
-    else if ( t->flags & T_FLAG_TOUCHED )
-    {
-        fate = T_FATE_TOUCHED;
-    }
-    else if ( anyhow && !( t->flags & T_FLAG_NOUPDATE ) )
-    {
-        fate = T_FATE_TOUCHED;
-    }
-    else if ( ( t->binding == T_BIND_EXISTS ) && ( t->flags & T_FLAG_TEMP ) )
-    {
-        fate = T_FATE_ISTMP;
-    }
-    else if ( ( t->binding == T_BIND_EXISTS ) && p &&
-         ( p->binding != T_BIND_UNBOUND ) && ( t->time > p->time ) )
-    {
-#ifdef OPT_GRAPH_DEBUG_EXT
-        oldTimeStamp = 1;
-#endif
-        fate = T_FATE_NEWER;
-    }
-    else
-    {
-        fate = T_FATE_STABLE;
-    }
-#ifdef OPT_GRAPH_DEBUG_EXT
-    if ( DEBUG_FATE && ( fate != savedFate ) )
-	{
-        if ( savedFate == T_FATE_STABLE )
-            printf( "fate change  %s set to %s%s\n", t->name,
-                target_fate[ fate ], oldTimeStamp ? " (by timestamp)" : "" );
-        else
-            printf( "fate change  %s from %s to %s%s\n", t->name,
-                target_fate[ savedFate ], target_fate[ fate ],
-                oldTimeStamp ? " (by timestamp)" : "" );
-	}
-#endif
-
-    /* Step 4e: handle missing files */
-    /* If it is missing and there are no actions to create it, boom. */
-    /* If we can not make a target we do not care about it, okay. */
-    /* We could insist that there are updating actions for all missing */
-    /* files, but if they have dependencies we just pretend it is a NOTFILE. */
-
-    if ( ( fate == T_FATE_MISSING ) && !t->actions && !t->depends )
-    {
-        if ( t->flags & T_FLAG_NOCARE )
-        {
-#ifdef OPT_GRAPH_DEBUG_EXT
-            if ( DEBUG_FATE )
-                printf( "fate change %s to STABLE from %s, "
-                    "no actions, no dependencies and do not care\n",
-                    t->name, target_fate[ fate ] );
-#endif
-            fate = T_FATE_STABLE;
-        }
-        else
-        {
-            printf( "don't know how to make %s\n", t->name );
-            fate = T_FATE_CANTFIND;
-        }
-    }
-
-    /* Step 4f: propagate dependencies' time & fate. */
-    /* Set leaf time to be our time only if this is a leaf. */
-
-    t->time = max( t->time, last );
-    t->leaf = leaf ? leaf : t->time ;
-    /* This target's fate may have been updated by virtue of following some
-     * target's rebuilds list, so only allow it to be increased to the fate we
-     * have calculated. Otherwise, grab its new fate.
-     */
-    if ( fate > t->fate )
-        t->fate = fate;
-    else
-        fate = t->fate;
-
-    /* Step 4g: if this target needs to be built, force rebuild everything in
-     * this target's rebuilds list.
-     */
-    if ( ( fate >= T_FATE_BUILD ) && ( fate < T_FATE_BROKEN ) )
-        force_rebuilds( t );
-
-    /*
-     * Step 5: sort dependencies by their update time.
-     */
-
-    if ( globs.newestfirst )
-        t->depends = make0sort( t->depends );
-
-    /*
-     * Step 6: a little harmless tabulating for tracing purposes
-     */
-
-    /* Do not count or report interal includes nodes. */
-    if ( t->flags & T_FLAG_INTERNAL )
-        return;
-
-    if ( counts )
-    {
-#ifdef OPT_IMPROVED_PATIENCE_EXT
-        ++counts->targets;
-#else
-        if ( !( ++counts->targets % 1000 ) && DEBUG_MAKE )
-            printf( "...patience...\n" );
-#endif
-
-        if ( fate == T_FATE_ISTMP )
-            ++counts->temp;
-        else if ( fate == T_FATE_CANTFIND )
-            ++counts->cantfind;
-        else if ( ( fate == T_FATE_CANTMAKE ) && t->actions )
-            ++counts->cantmake;
-        else if ( ( fate >= T_FATE_BUILD ) && ( fate < T_FATE_BROKEN ) &&
-            t->actions )
-            ++counts->updating;
-    }
-
-    if ( !( t->flags & T_FLAG_NOTFILE ) && ( fate >= T_FATE_SPOIL ) )
-        flag = "+";
-    else if ( ( t->binding == T_BIND_EXISTS ) && p && ( t->time > p->time ) )
-        flag = "*";
-
-    if ( DEBUG_MAKEPROG )
-        printf( "made%s\t%s\t%s%s\n", flag, target_fate[ (int) t->fate ],
-            spaces( depth ), t->name );
-}
-
-
-#ifdef OPT_GRAPH_DEBUG_EXT
-
-static const char * target_name( TARGET * t )
-{
-    static char buf[ 1000 ];
-    if ( t->flags & T_FLAG_INTERNAL )
-    {
-        sprintf( buf, "%s (internal node)", t->name );
-        return buf;
-    }
-    return t->name;
-}
-
-
-/*
- * dependGraphOutput() - output the DG after make0 has run.
- */
-
-static void dependGraphOutput( TARGET * t, int depth )
-{
-    TARGETS * c;
-
-    if ( ( t->flags & T_FLAG_VISITED ) || !t->name || !t->boundname )
-        return;
-
-    t->flags |= T_FLAG_VISITED;
-
-    switch ( t->fate )
-    {
-    case T_FATE_TOUCHED:
-    case T_FATE_MISSING:
-    case T_FATE_OUTDATED:
-    case T_FATE_UPDATE:
-        printf( "->%s%2d Name: %s\n", spaces( depth ), depth, target_name( t ) );
-        break;
-    default:
-        printf( "  %s%2d Name: %s\n", spaces( depth ), depth, target_name( t ) );
-        break;
-    }
-
-    if ( strcmp( t->name, t->boundname ) )
-        printf( "  %s    Loc: %s\n", spaces( depth ), t->boundname );
-
-    switch ( t->fate )
-    {
-    case T_FATE_STABLE:
-        printf( "  %s       : Stable\n", spaces( depth ) );
-        break;
-    case T_FATE_NEWER:
-        printf( "  %s       : Newer\n", spaces( depth ) );
-        break;
-    case T_FATE_ISTMP:
-        printf( "  %s       : Up to date temp file\n", spaces( depth ) );
-        break;
-    case T_FATE_NEEDTMP:
-        printf( "  %s       : Temporary file, to be updated\n", spaces( depth ) );
-        break;
-    case T_FATE_TOUCHED:
-        printf( "  %s       : Been touched, updating it\n", spaces( depth ) );
-        break;
-    case T_FATE_MISSING:
-        printf( "  %s       : Missing, creating it\n", spaces( depth ) );
-        break;
-    case T_FATE_OUTDATED:
-        printf( "  %s       : Outdated, updating it\n", spaces( depth ) );
-        break;
-    case T_FATE_REBUILD:
-        printf( "  %s       : Rebuild, updating it\n", spaces( depth ) );
-        break;
-    case T_FATE_UPDATE:
-        printf( "  %s       : Updating it\n", spaces( depth ) );
-        break;
-    case T_FATE_CANTFIND:
-        printf( "  %s       : Can not find it\n", spaces( depth ) );
-        break;
-    case T_FATE_CANTMAKE:
-        printf( "  %s       : Can make it\n", spaces( depth ) );
-        break;
-    }
-
-    if ( t->flags & ~T_FLAG_VISITED )
-    {
-        printf( "  %s       : ", spaces( depth ) );
-        if ( t->flags & T_FLAG_TEMP     ) printf( "TEMPORARY " );
-        if ( t->flags & T_FLAG_NOCARE   ) printf( "NOCARE "    );
-        if ( t->flags & T_FLAG_NOTFILE  ) printf( "NOTFILE "   );
-        if ( t->flags & T_FLAG_TOUCHED  ) printf( "TOUCHED "   );
-        if ( t->flags & T_FLAG_LEAVES   ) printf( "LEAVES "    );
-        if ( t->flags & T_FLAG_NOUPDATE ) printf( "NOUPDATE "  );
-        printf( "\n" );
-    }
-
-    for ( c = t->depends; c; c = c->next )
-    {
-        printf( "  %s       : Depends on %s (%s)", spaces( depth ),
-               target_name( c->target ), target_fate[ (int) c->target->fate ] );
-        if ( c->target->time == t->time )
-            printf( " (max time)");
-        printf( "\n" );
-    }
-
-    for ( c = t->depends; c; c = c->next )
-        dependGraphOutput( c->target, depth + 1 );
-}
-#endif
-
-
-/*
- * make0sort() - reorder TARGETS chain by their time (newest to oldest).
- *
- * We walk chain, taking each item and inserting it on the sorted result, with
- * newest items at the front. This involves updating each of the TARGETS'
- * c->next and c->tail. Note that we make c->tail a valid prev pointer for every
- * entry. Normally, it is only valid at the head, where prev == tail. Note also
- * that while tail is a loop, next ends at the end of the chain.
- */
-
-static TARGETS * make0sort( TARGETS * chain )
-{
-    PROFILE_ENTER( MAKE_MAKE0SORT );
-
-    TARGETS * result = 0;
-
-    /* Walk the current target list. */
-    while ( chain )
-    {
-        TARGETS * c = chain;
-        TARGETS * s = result;
-
-        chain = chain->next;
-
-        /* Find point s in result for c. */
-        while ( s && ( s->target->time > c->target->time ) )
-            s = s->next;
-
-        /* Insert c in front of s (might be 0). Do not even think of deciphering
-         * this.
-         */
-        c->next = s;                           /* good even if s = 0       */
-        if ( result == s ) result = c;         /* new head of chain?       */
-        if ( !s ) s = result;                  /* wrap to ensure a next    */
-        if ( result != c ) s->tail->next = c;  /* not head? be prev's next */
-        c->tail = s->tail;                     /* take on next's prev      */
-        s->tail = c;                           /* make next's prev us      */
-    }
-
-    PROFILE_EXIT( MAKE_MAKE0SORT );
-    return result;
-}
-
-
-static LIST * targets_to_update_ = 0;
-
-
-void mark_target_for_updating( char * target )
-{
-    targets_to_update_ = list_new( targets_to_update_, target );
-}
-
-
-LIST * targets_to_update()
-{
-    return targets_to_update_;
-}
-
-
-void clear_targets_to_update()
-{
-    list_free( targets_to_update_ );
-    targets_to_update_ = 0;
-}
diff --git a/SRC/Boost/tools/build/v2/engine/make.h b/SRC/Boost/tools/build/v2/engine/make.h
deleted file mode 100755
index e2f2d76..0000000
--- a/SRC/Boost/tools/build/v2/engine/make.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * make.h - bring a target up to date, once rules are in place
- */
-
-#include "lists.h"
-
-int make( int n_targets, const char **targets, int anyhow );
-int make1( TARGET *t );
-
-typedef struct {
-    int temp;
-    int updating;
-    int cantfind;
-    int cantmake;
-    int targets;
-    int made;
-} COUNTS ;
-
-
-void make0( TARGET *t, TARGET  *p, int depth,
-            COUNTS *counts, int anyhow );
-
-
-/*
- * Specifies that the target should be updated.
- */
-void mark_target_for_updating(char *target);
-/*
- * Returns the list of all the target previously passed to 'mark_target_for_updating'.
- */
-LIST *targets_to_update();
-/*
- * Cleasr/unmarks all targets that are currently marked for update.
- */
-void clear_targets_to_update();
diff --git a/SRC/Boost/tools/build/v2/engine/make1.c b/SRC/Boost/tools/build/v2/engine/make1.c
deleted file mode 100755
index 29935bb..0000000
--- a/SRC/Boost/tools/build/v2/engine/make1.c
+++ /dev/null
@@ -1,1145 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*
- * make1.c - execute command to bring targets up to date
- *
- * This module contains make1(), the entry point called by make() to
- * recursively decend the dependency graph executing update actions as
- * marked by make0().
- *
- * External routines:
- *
- *  make1() - execute commands to update a TARGET and all of its dependencies.
- *
- * Internal routines, the recursive/asynchronous command executors:
- *
- *  make1a()     - recursively traverse dependency target tree, calling make1b().
- *  make1atail() - started processing all dependencies so go on to make1b().
- *  make1b()     - when dependencies are up to date, build target with make1c().
- *  make1c()     - launch target's next command, call parents' make1b() if none.
- *  make1d()     - handle command execution completion and call back make1c().
- *
- * Internal support routines:
- *
- *  make1cmds()     - turn ACTIONS into CMDs, grouping, splitting, etc.
- *  make1list()     - turn a list of targets into a LIST, for $(<) and $(>).
- *  make1settings() - for vars that get bound values, build up replacement lists.
- *  make1bind()     - bind targets that weren't bound in dependency analysis.
- *
- * 04/16/94 (seiwald) - Split from make.c.
- * 04/21/94 (seiwald) - Handle empty "updated" actions.
- * 05/04/94 (seiwald) - async multiprocess (-j) support.
- * 06/01/94 (seiwald) - new 'actions existing' does existing sources.
- * 12/20/94 (seiwald) - NOTIME renamed NOTFILE.
- * 01/19/95 (seiwald) - distinguish between CANTFIND/CANTMAKE targets.
- * 01/22/94 (seiwald) - pass per-target JAMSHELL down to exec_cmd().
- * 02/28/95 (seiwald) - Handle empty "existing" actions.
- * 03/10/95 (seiwald) - Fancy counts.
- */
-
-#include "jam.h"
-
-#include "lists.h"
-#include "parse.h"
-#include "assert.h"
-#include "variable.h"
-#include "rules.h"
-#include "headers.h"
-
-#include "search.h"
-#include "newstr.h"
-#include "make.h"
-#include "command.h"
-#include "execcmd.h"
-#include "compile.h"
-#include "output.h"
-
-#include <stdlib.h>
-
-#if ! defined(NT) || defined(__GNUC__)
-    #include <unistd.h>  /* for unlink */
-#endif
-
-static CMD      * make1cmds    ( TARGET * );
-static LIST     * make1list    ( LIST *, TARGETS *, int flags );
-static SETTINGS * make1settings( LIST * vars );
-static void       make1bind    ( TARGET * );
-
-/* Ugly static - it is too hard to carry it through the callbacks. */
-
-static struct
-{
-    int failed;
-    int skipped;
-    int total;
-    int made;
-} counts[ 1 ] ;
-
-/* Target state - remove recursive calls by just keeping track of state target
- * is in.
- */
-typedef struct _state
-{
-    struct _state * prev;      /* previous state on stack */
-    TARGET        * t;         /* current target */
-    TARGET        * parent;    /* parent argument necessary for make1a() */
-#define T_STATE_MAKE1A     0   /* make1a() should be called */
-#define T_STATE_MAKE1ATAIL 1   /* make1atail() should be called */
-#define T_STATE_MAKE1B     2   /* make1b() should be called */
-#define T_STATE_MAKE1C     3   /* make1c() should be called */
-#define T_STATE_MAKE1D     4   /* make1d() should be called */
-    int             curstate;  /* current state */
-    int             status;
-} state;
-
-static void make1a      ( state * );
-static void make1atail  ( state * );
-static void make1b      ( state * );
-static void make1c      ( state * );
-static void make1d      ( state * );
-static void make_closure( void * closure, int status, timing_info *, char *, char * );
-
-typedef struct _stack
-{
-    state * stack;
-} stack;
-
-static stack state_stack = { NULL };
-
-static state * state_freelist = NULL;
-
-
-static state * alloc_state()
-{
-    if ( state_freelist != NULL )
-    {
-        state * pState = state_freelist;
-        state_freelist = pState->prev;
-        memset( pState, 0, sizeof( state ) );
-        return pState;
-    }
-
-    return (state *)BJAM_MALLOC( sizeof( state ) );
-}
-
-
-static void free_state( state * pState )
-{
-    pState->prev = state_freelist;
-    state_freelist = pState;
-}
-
-
-static void clear_state_freelist()
-{
-    while ( state_freelist != NULL )
-    {
-        state * pState = state_freelist;
-        state_freelist = state_freelist->prev;
-        BJAM_FREE( pState );
-    }
-}
-
-
-static state * current_state( stack * pStack )
-{
-    return pStack->stack;
-}
-
-
-static void pop_state( stack * pStack )
-{
-    if ( pStack->stack != NULL )
-    {
-        state * pState = pStack->stack->prev;
-        free_state( pStack->stack );
-        pStack->stack = pState;
-    }
-}
-
-
-static state * push_state( stack * pStack, TARGET * t, TARGET * parent, int curstate )
-{
-    state * pState = alloc_state();
-
-    pState->t = t;
-    pState->parent = parent;
-    pState->prev = pStack->stack;
-    pState->curstate = curstate;
-
-    pStack->stack = pState;
-
-    return pStack->stack;
-}
-
-
-/*
- * Pushes a stack onto another stack, effectively reversing the order.
- */
-
-static void push_stack_on_stack( stack * pDest, stack * pSrc )
-{
-    while ( pSrc->stack != NULL )
-    {
-        state * pState = pSrc->stack;
-        pSrc->stack = pSrc->stack->prev;
-        pState->prev = pDest->stack;
-        pDest->stack = pState;
-    }
-}
-
-
-/*
- * make1() - execute commands to update a TARGET and all of its dependencies.
- */
-
-static int intr = 0;
-
-int make1( TARGET * t )
-{
-    state * pState;
-
-    memset( (char *)counts, 0, sizeof( *counts ) );
-
-    /* Recursively make the target and its dependencies. */
-    push_state( &state_stack, t, NULL, T_STATE_MAKE1A );
-
-    do
-    {
-        while ( ( pState = current_state( &state_stack ) ) != NULL )
-        {
-            if ( intr )
-                pop_state( &state_stack );
-
-            switch ( pState->curstate )
-            {
-                case T_STATE_MAKE1A    : make1a    ( pState ); break;
-                case T_STATE_MAKE1ATAIL: make1atail( pState ); break;
-                case T_STATE_MAKE1B    : make1b    ( pState ); break;
-                case T_STATE_MAKE1C    : make1c    ( pState ); break;
-                case T_STATE_MAKE1D    : make1d    ( pState ); break;
-            }
-        }
-    }
-    /* Wait for any outstanding commands to finish running. */
-    while ( exec_wait() );
-
-    clear_state_freelist();
-
-    /* Talk about it. */
-    if ( counts->failed )
-        printf( "...failed updating %d target%s...\n", counts->failed,
-                counts->failed > 1 ? "s" : "" );
-    if ( DEBUG_MAKE && counts->skipped )
-        printf( "...skipped %d target%s...\n", counts->skipped,
-                counts->skipped > 1 ? "s" : "" );
-    if ( DEBUG_MAKE && counts->made )
-        printf( "...updated %d target%s...\n", counts->made,
-                counts->made > 1 ? "s" : "" );
-
-    return counts->total != counts->made;
-}
-
-
-/*
- * make1a() - recursively traverse target tree, calling make1b().
- *
- * Called to start processing a specified target. Does nothing if the target is
- * already being processed or otherwise starts processing all of its
- * dependencies. Once all of its dependencies have started being processed goes
- * on and calls make1b() (actually does that indirectly via a helper
- * make1atail() state).
- */
-
-static void make1a( state * pState )
-{
-    TARGET * t = pState->t;
-    TARGETS * c;
-
-    /* If the parent is the first to try to build this target or this target is
-     * in the make1c() quagmire, arrange for the parent to be notified when this
-     * target is built.
-     */
-    if ( pState->parent )
-        switch ( pState->t->progress )
-        {
-            case T_MAKE_INIT:
-            case T_MAKE_ACTIVE:
-            case T_MAKE_RUNNING:
-                pState->t->parents = targetentry( pState->t->parents,
-                    pState->parent );
-                ++pState->parent->asynccnt;
-        }
-
-    /* If this target is already being processed then do nothing. There is no
-     * need to start processing the same target all over again.
-     */
-    if ( pState->t->progress != T_MAKE_INIT )
-    {
-        pop_state( &state_stack );
-        return;
-    }
-
-    /* Asynccnt counts the dependencies preventing this target from proceeding
-     * to make1b() for actual building. We start off with a count of 1 to
-     * prevent anything from happening until we can notify all dependencies that
-     * they are needed. This 1 is accounted for when we call make1b() ourselves,
-     * below. Without this if a a dependency gets built before we finish
-     * processing all of our other dependencies our build might be triggerred
-     * prematurely.
-     */
-    pState->t->asynccnt = 1;
-
-    /* Add header nodes created during the building process. */
-    {
-        TARGETS * inc = 0;
-        for ( c = t->depends; c; c = c->next )
-            if ( c->target->rescanned && c->target->includes )
-                inc = targetentry( inc, c->target->includes );
-        t->depends = targetchain( t->depends, inc );
-    }
-
-    /* Guard against circular dependencies. */
-    pState->t->progress = T_MAKE_ONSTACK;
-
-    {
-        stack temp_stack = { NULL };
-        for ( c = t->depends; c && !intr; c = c->next )
-            push_state( &temp_stack, c->target, pState->t, T_STATE_MAKE1A );
-
-        /* Using stacks reverses the order of execution. Reverse it back. */
-        push_stack_on_stack( &state_stack, &temp_stack );
-    }
-
-    pState->curstate = T_STATE_MAKE1ATAIL;
-}
-
-
-/*
- * make1atail() - started processing all dependencies so go on to make1b().
- */
-
-static void make1atail( state * pState )
-{
-    pState->t->progress = T_MAKE_ACTIVE;
-    /* Now that all of our dependencies have bumped up our asynccnt we can
-     * remove our own internal bump added to prevent this target from being
-     * built before all of its dependencies start getting processed.
-     */
-    pState->curstate = T_STATE_MAKE1B;
-}
-
-
-/*
- * make1b() - when dependencies are up to date, build target with make1c().
- *
- * Called after all dependencies have started being processed and after each of
- * them finishes its processing. The target actually goes on to getting built in
- * make1c() only after all of its dependencies have finished their processing.
- */
-
-static void make1b( state * pState )
-{
-    TARGET  * t = pState->t;
-    TARGETS * c;
-    TARGET  * failed = 0;
-    char    * failed_name = "dependencies";
-
-    /* If any dependencies are still outstanding, wait until they call make1b()
-     * to signal their completion.
-     */
-    if ( --pState->t->asynccnt )
-    {
-        pop_state( &state_stack );
-        return;
-    }
-
-    /* Try to aquire a semaphore. If it is locked, wait until the target that
-     * locked it is built and signal completition.
-     */
-#ifdef OPT_SEMAPHORE
-    if ( t->semaphore && t->semaphore->asynccnt )
-    {
-        /* Append 't' to the list of targets waiting on semaphore. */
-        t->semaphore->parents = targetentry( t->semaphore->parents, t );
-        t->asynccnt++;
-
-        if ( DEBUG_EXECCMD )
-            printf( "SEM: %s is busy, delaying launch of %s\n",
-                t->semaphore->name, t->name );
-        pop_state( &state_stack );
-        return;
-    }
-#endif
-
-    /* Now ready to build target 't', if dependencies built OK. */
-
-    /* Collect status from dependencies. */
-    for ( c = t->depends; c; c = c->next )
-        if ( c->target->status > t->status && !( c->target->flags & T_FLAG_NOCARE ) )
-        {
-            failed = c->target;
-            pState->t->status = c->target->status;
-        }
-    /* If an internal header node failed to build, we want to output the target
-     * that it failed on.
-     */
-    if ( failed )
-    {
-        failed_name = failed->flags & T_FLAG_INTERNAL
-            ? failed->failed
-            : failed->name;
-    }
-    t->failed = failed_name;
-
-    /* If actions for building any of the dependencies have failed, bail.
-     * Otherwise, execute all actions to make the current target.
-     */
-    if ( ( pState->t->status == EXEC_CMD_FAIL ) && pState->t->actions )
-    {
-        ++counts->skipped;
-        if ( ( pState->t->flags & ( T_FLAG_RMOLD | T_FLAG_NOTFILE ) ) == T_FLAG_RMOLD )
-        {
-            if ( !unlink( pState->t->boundname ) )
-                printf( "...removing outdated %s\n", pState->t->boundname );
-        }
-        else
-            printf( "...skipped %s for lack of %s...\n", pState->t->name, failed_name );
-    }
-
-    if ( pState->t->status == EXEC_CMD_OK )
-        switch ( pState->t->fate )
-        {
-            /* These are handled by the default case below now
-        case T_FATE_INIT:
-        case T_FATE_MAKING:
-            */
-
-        case T_FATE_STABLE:
-        case T_FATE_NEWER:
-            break;
-
-        case T_FATE_CANTFIND:
-        case T_FATE_CANTMAKE:
-            pState->t->status = EXEC_CMD_FAIL;
-            break;
-
-        case T_FATE_ISTMP:
-            if ( DEBUG_MAKE )
-                printf( "...using %s...\n", pState->t->name );
-            break;
-
-        case T_FATE_TOUCHED:
-        case T_FATE_MISSING:
-        case T_FATE_NEEDTMP:
-        case T_FATE_OUTDATED:
-        case T_FATE_UPDATE:
-        case T_FATE_REBUILD:
-            /* Prepare commands for executing actions scheduled for this target
-             * and then schedule transfer to make1c() state to proceed with
-             * executing the prepared commands. Commands have their embedded
-             * variables automatically expanded, including making use of any "on
-             * target" variables.
-             */
-            if ( pState->t->actions )
-            {
-                ++counts->total;
-                if ( DEBUG_MAKE && !( counts->total % 100 ) )
-                    printf( "...on %dth target...\n", counts->total );
-
-                pState->t->cmds = (char *)make1cmds( pState->t );
-                /* Set the target's "progress" so that make1c() counts it among
-                 * its successes/failures.
-                 */
-                pState->t->progress = T_MAKE_RUNNING;
-            }
-            break;
-
-            /* All possible fates should have been accounted for by now. */
-        default:
-            printf( "ERROR: %s has bad fate %d", pState->t->name,
-                pState->t->fate );
-            abort();
-        }
-
-    /* Call make1c() to begin the execution of the chain of commands needed to
-     * build the target. If we are not going to build the target (due of
-     * dependency failures or no commands needing to be run) the chain will be
-     * empty and make1c() will directly signal the target's completion.
-     */
-
-#ifdef OPT_SEMAPHORE
-    /* If there is a semaphore, indicate that it is in use. */
-    if ( pState->t->semaphore )
-    {
-        ++pState->t->semaphore->asynccnt;
-        if ( DEBUG_EXECCMD )
-            printf( "SEM: %s now used by %s\n", pState->t->semaphore->name,
-                pState->t->name );
-    }
-#endif
-
-    pState->curstate = T_STATE_MAKE1C;
-}
-
-
-/*
- * make1c() - launch target's next command, call parents' make1b() if none.
- *
- * If there are (more) commands to run to build this target (and we have not hit
- * an error running earlier comands) we launch the command using exec_cmd(). If
- * there are no more commands to run, we collect the status from all the actions
- * and report our completion to all the parents.
- */
-
-static void make1c( state * pState )
-{
-    CMD * cmd = (CMD *)pState->t->cmds;
-
-    if ( cmd && ( pState->t->status == EXEC_CMD_OK ) )
-    {
-        char * rule_name = 0;
-        char * target = 0;
-
-        if ( DEBUG_MAKEQ ||
-            ( !( cmd->rule->actions->flags & RULE_QUIETLY ) && DEBUG_MAKE ) )
-        {
-            rule_name = cmd->rule->name;
-            target = lol_get( &cmd->args, 0 )->string;
-            if ( globs.noexec )
-                out_action( rule_name, target, cmd->buf, "", "", EXIT_OK );
-        }
-
-        if ( globs.noexec )
-        {
-            pState->curstate = T_STATE_MAKE1D;
-            pState->status = EXEC_CMD_OK;
-        }
-        else
-        {
-            /* Pop state first because exec_cmd() could push state. */
-            pop_state( &state_stack );
-            exec_cmd( cmd->buf, make_closure, pState->t, cmd->shell, rule_name,
-                target );
-        }
-    }
-    else
-    {
-        TARGETS * c;
-        ACTIONS * actions;
-
-        /* Collect status from actions, and distribute it as well. */
-        for ( actions = pState->t->actions; actions; actions = actions->next )
-            if ( actions->action->status > pState->t->status )
-                pState->t->status = actions->action->status;
-        for ( actions = pState->t->actions; actions; actions = actions->next )
-            if ( pState->t->status > actions->action->status )
-                actions->action->status = pState->t->status;
-
-        /* Tally success/failure for those we tried to update. */
-        if ( pState->t->progress == T_MAKE_RUNNING )
-            switch ( pState->t->status )
-            {
-                case EXEC_CMD_OK  : ++counts->made  ; break;
-                case EXEC_CMD_FAIL: ++counts->failed; break;
-            }
-
-        /* Tell parents their dependency has been built. */
-        {
-            stack temp_stack = { NULL };
-            TARGET * t = pState->t;
-            TARGET * additional_includes = NULL;
-
-            t->progress = T_MAKE_DONE;
-
-            /* Target has been updated so rescan it for dependencies. */
-            if ( ( t->fate >= T_FATE_MISSING ) &&
-                ( t->status == EXEC_CMD_OK ) &&
-                !t->rescanned )
-            {
-                TARGET * target_to_rescan = t;
-                SETTINGS * s;
-
-                target_to_rescan->rescanned = 1;
-
-                if ( target_to_rescan->flags & T_FLAG_INTERNAL )
-                    target_to_rescan = t->original_target;
-
-                /* Clean current includes. */
-                target_to_rescan->includes = 0;
-
-                s = copysettings( target_to_rescan->settings );
-                pushsettings( s );
-                headers( target_to_rescan );
-                popsettings( s );
-                freesettings( s );
-
-                if ( target_to_rescan->includes )
-                {
-                    target_to_rescan->includes->rescanned = 1;
-                    /* Tricky. The parents have already been processed, but they
-                     * have not seen the internal node, because it was just
-                     * created. We need to make the calls to make1a() that would
-                     * have been made by the parents here, and also make sure
-                     * all unprocessed parents will pick up the includes. We
-                     * must make sure processing of the additional make1a()
-                     * invocations is done before make1b() which means this
-                     * target is built, otherwise the parent would be considered
-                     * built before this make1a() processing has even started.
-                     */
-                    make0( target_to_rescan->includes, target_to_rescan->parents->target, 0, 0, 0 );
-                    for ( c = target_to_rescan->parents; c; c = c->next )
-                        c->target->depends = targetentry( c->target->depends,
-                                                          target_to_rescan->includes );
-                    /* Will be processed below. */
-                    additional_includes = target_to_rescan->includes;
-                }
-            }
-
-            if ( additional_includes )
-                for ( c = t->parents; c; c = c->next )
-                    push_state( &temp_stack, additional_includes, c->target, T_STATE_MAKE1A );
-
-            for ( c = t->parents; c; c = c->next )
-                push_state( &temp_stack, c->target, NULL, T_STATE_MAKE1B );
-
-#ifdef OPT_SEMAPHORE
-            /* If there is a semaphore, it is now free. */
-            if ( t->semaphore )
-            {
-                assert( t->semaphore->asynccnt == 1 );
-                --t->semaphore->asynccnt;
-
-                if ( DEBUG_EXECCMD )
-                    printf( "SEM: %s is now free\n", t->semaphore->name );
-
-                /* If anything is waiting, notify the next target. There is no
-                 * point in notifying waiting targets, since they will be
-                 * notified again.
-                 */
-                if ( t->semaphore->parents )
-                {
-                    TARGETS * first = t->semaphore->parents;
-                    if ( first->next )
-                        first->next->tail = first->tail;
-                    t->semaphore->parents = first->next;
-
-                    if ( DEBUG_EXECCMD )
-                        printf( "SEM: placing %s on stack\n", first->target->name );
-                    push_state( &temp_stack, first->target, NULL, T_STATE_MAKE1B );
-                    BJAM_FREE( first );
-                }
-            }
-#endif
-
-            /* Must pop state before pushing any more. */
-            pop_state( &state_stack );
-
-            /* Using stacks reverses the order of execution. Reverse it back. */
-            push_stack_on_stack( &state_stack, &temp_stack );
-        }
-    }
-}
-
-
-/*
- * call_timing_rule() - Look up the __TIMING_RULE__ variable on the given
- * target, and if non-empty, invoke the rule it names, passing the given
- * timing_info.
- */
-
-static void call_timing_rule( TARGET * target, timing_info * time )
-{
-    LIST * timing_rule;
-
-    pushsettings( target->settings );
-    timing_rule = var_get( "__TIMING_RULE__" );
-    popsettings( target->settings );
-
-    if ( timing_rule )
-    {
-        /* rule timing-rule ( args * : target : start end user system ) */
-
-        /* Prepare the argument list. */
-        FRAME frame[ 1 ];
-        frame_init( frame );
-
-        /* args * :: $(__TIMING_RULE__[2-]) */
-        lol_add( frame->args, list_copy( L0, timing_rule->next ) );
-
-        /* target :: the name of the target */
-        lol_add( frame->args, list_new( L0, target->name ) );
-
-        /* start end user system :: info about the action command */
-        lol_add( frame->args, list_new( list_new( list_new( list_new( L0,
-            outf_time  ( time->start  ) ),
-            outf_time  ( time->end    ) ),
-            outf_double( time->user   ) ),
-            outf_double( time->system ) ) );
-
-        /* Call the rule. */
-        evaluate_rule( timing_rule->string, frame );
-
-        /* Clean up. */
-        frame_free( frame );
-    }
-}
-
-
-/*
- * call_action_rule() - Look up the __ACTION_RULE__ variable on the given
- * target, and if non-empty, invoke the rule it names, passing the given info,
- * timing_info, executed command and command output.
- */
-
-static void call_action_rule
-(
-    TARGET      * target,
-    int           status,
-    timing_info * time,
-    char        * executed_command,
-    char        * command_output
-)
-{
-    LIST * action_rule;
-
-    pushsettings( target->settings );
-    action_rule = var_get( "__ACTION_RULE__" );
-    popsettings( target->settings );
-
-    if ( action_rule )
-    {
-        /* rule action-rule (
-            args * :
-            target :
-            command status start end user system :
-            output ? ) */
-
-        /* Prepare the argument list. */
-        FRAME frame[ 1 ];
-        frame_init( frame );
-
-        /* args * :: $(__ACTION_RULE__[2-]) */
-        lol_add( frame->args, list_copy( L0, action_rule->next ) );
-
-        /* target :: the name of the target */
-        lol_add( frame->args, list_new( L0, target->name ) );
-
-        /* command status start end user system :: info about the action command */
-        lol_add( frame->args,
-            list_new( list_new( list_new( list_new( list_new( list_new( L0,
-                newstr( executed_command ) ),
-                outf_int( status ) ),
-                outf_time( time->start ) ),
-                outf_time( time->end ) ),
-                outf_double( time->user ) ),
-                outf_double( time->system ) ) );
-
-        /* output ? :: the output of the action command */
-        if ( command_output )
-            lol_add( frame->args, list_new( L0, newstr( command_output ) ) );
-        else
-            lol_add( frame->args, L0 );
-
-        /* Call the rule. */
-        evaluate_rule( action_rule->string, frame );
-
-        /* Clean up. */
-        frame_free( frame );
-    }
-}
-
-
-/*
- * make_closure() - internal function passed as a notification callback for when
- * commands finish getting executed by the OS.
- */
-
-static void make_closure
-(
-    void        * closure,
-    int           status,
-    timing_info * time,
-    char        * executed_command,
-    char        * command_output
-)
-{
-    TARGET * built = (TARGET *)closure;
-
-    call_timing_rule( built, time );
-    if ( DEBUG_EXECCMD )
-        printf( "%f sec system; %f sec user\n", time->system, time->user );
-
-    call_action_rule( built, status, time, executed_command, command_output );
-
-    push_state( &state_stack, built, NULL, T_STATE_MAKE1D )->status = status;
-}
-
-
-/*
- * make1d() - handle command execution completion and call back make1c().
- *
- * exec_cmd() has completed and now all we need to do is fiddle with the status
- * and call back to make1c() so it can run the next command scheduled for
- * building this target or close up the target's build process in case there are
- * no more commands scheduled for it. On interrupts, we bail heavily.
- */
-
-static void make1d( state * pState )
-{
-    TARGET * t      = pState->t;
-    CMD    * cmd    = (CMD *)t->cmds;
-    int      status = pState->status;
-
-    if ( t->flags & T_FLAG_FAIL_EXPECTED )
-    {
-        /* Invert execution result when FAIL_EXPECTED has been applied. */
-        switch ( status )
-        {
-            case EXEC_CMD_FAIL: status = EXEC_CMD_OK  ; break;
-            case EXEC_CMD_OK:   status = EXEC_CMD_FAIL; break;
-        }
-    }
-
-    if ( ( status == EXEC_CMD_FAIL ) &&
-         ( cmd->rule->actions->flags & RULE_IGNORE ) )
-        status = EXEC_CMD_OK;
-
-    /* On interrupt, set intr so _everything_ fails. */
-    if ( status == EXEC_CMD_INTR )
-        ++intr;
-
-    /* Print command text on failure. */
-    if ( ( status == EXEC_CMD_FAIL ) && DEBUG_MAKE )
-    {
-        if ( !DEBUG_EXEC )
-            printf( "%s\n", cmd->buf );
-
-        printf( "...failed %s ", cmd->rule->name );
-        list_print( lol_get( &cmd->args, 0 ) );
-        printf( "...\n" );
-    }
-
-    /* Treat failed commands as interrupts in case we were asked to stop the
-     * build in case of any errors.
-     */
-    if ( ( status == EXEC_CMD_FAIL ) && globs.quitquick )
-        ++intr;
-
-    /* If the command was interrupted or failed and the target is not
-     * "precious", remove the targets.
-     */
-    if (status != EXEC_CMD_OK) 
-    {
-        LIST * targets = lol_get( &cmd->args, 0 );
-        for ( ; targets; targets = list_next( targets ) )
-        {
-            int need_unlink = 1;
-            TARGET* t = bindtarget ( targets->string );
-            if (t->flags & T_FLAG_PRECIOUS)
-            {                
-                need_unlink = 0;
-            }
-            if (need_unlink && !unlink( targets->string ) )
-                printf( "...removing %s\n", targets->string );
-        }
-    }
-
-    /* Free this command and call make1c() to move onto the next one scheduled
-     * for building this same target.
-     */
-    t->status = status;
-    t->cmds = (char *)cmd_next( cmd );
-    cmd_free( cmd );
-    pState->curstate = T_STATE_MAKE1C;
-}
-
-
-/*
- * swap_settings() - replace the settings from the current module and target
- *                   with those from the new module and target
- */
-
-static void swap_settings
-(
-    module_t * * current_module,
-    TARGET   * * current_target,
-    module_t   * new_module,
-    TARGET     * new_target
-)
-{
-    if ( new_module == root_module() )
-        new_module = 0;
-
-    if ( ( new_target == *current_target ) && ( new_module == *current_module ) )
-        return;
-
-    if ( *current_target )
-        popsettings( (*current_target)->settings );
-
-    if ( new_module != *current_module )
-    {
-        if ( *current_module )
-            exit_module( *current_module );
-
-        *current_module = new_module;
-
-        if ( new_module )
-            enter_module( new_module );
-    }
-
-    *current_target = new_target;
-    if ( new_target )
-        pushsettings( new_target->settings );
-}
-
-
-/*
- * make1cmds() - turn ACTIONS into CMDs, grouping, splitting, etc.
- *
- * Essentially copies a chain of ACTIONs to a chain of CMDs, grouping
- * RULE_TOGETHER actions, splitting RULE_PIECEMEAL actions, and handling
- * RULE_NEWSRCS actions. The result is a chain of CMDs which can be expanded by
- * var_string() and executed using exec_cmd().
- */
-
-static CMD * make1cmds( TARGET * t )
-{
-    CMD      * cmds = 0;
-    LIST     * shell = 0;
-    module_t * settings_module = 0;
-    TARGET   * settings_target = 0;
-    ACTIONS  * a0;
-
-    /* Step through actions. Actions may be shared with other targets or grouped
-     * using RULE_TOGETHER, so actions already seen are skipped.
-     */
-    for ( a0 = t->actions ; a0; a0 = a0->next )
-    {
-        RULE         * rule = a0->action->rule;
-        rule_actions * actions = rule->actions;
-        SETTINGS     * boundvars;
-        LIST         * nt;
-        LIST         * ns;
-        ACTIONS      * a1;
-        int            start;
-        int            chunk;
-        int            length;
-
-        /* Only do rules with commands to execute. If this action has already
-         * been executed, use saved status.
-         */
-        if ( !actions || a0->action->running )
-            continue;
-
-        a0->action->running = 1;
-
-        /* Make LISTS of targets and sources. If `execute together` has been
-         * specified for this rule, tack on sources from each instance of this
-         * rule for this target.
-         */
-        nt = make1list( L0, a0->action->targets, 0 );
-        ns = make1list( L0, a0->action->sources, actions->flags );
-        if ( actions->flags & RULE_TOGETHER )
-            for ( a1 = a0->next; a1; a1 = a1->next )
-                if ( a1->action->rule == rule && !a1->action->running )
-                {
-                    ns = make1list( ns, a1->action->sources, actions->flags );
-                    a1->action->running = 1;
-                }
-
-        /* If doing only updated (or existing) sources, but none have been
-         * updated (or exist), skip this action.
-         */
-        if ( !ns && ( actions->flags & ( RULE_NEWSRCS | RULE_EXISTING ) ) )
-        {
-            list_free( nt );
-            continue;
-        }
-
-        swap_settings( &settings_module, &settings_target, rule->module, t );
-        if ( !shell )
-            shell = var_get( "JAMSHELL" );  /* shell is per-target */
-
-        /* If we had 'actions xxx bind vars' we bind the vars now. */
-        boundvars = make1settings( actions->bindlist );
-        pushsettings( boundvars );
-
-        /*
-         * Build command, starting with all source args.
-         *
-         * If cmd_new returns 0, it is because the resulting command length is
-         * > MAXLINE. In this case, we will slowly reduce the number of source
-         * arguments presented until it does fit. This only applies to actions
-         * that allow PIECEMEAL commands.
-         *
-         * While reducing slowly takes a bit of compute time to get things just
-         * right, it is worth it to get as close to MAXLINE as possible, because
-         * launching the commands we are executing is likely to be much more
-         * compute intensive.
-         *
-         * Note we loop through at least once, for sourceless actions.
-         */
-
-        start = 0;
-        chunk = length = list_length( ns );
-
-        do
-        {
-            /* Build cmd: cmd_new consumes its lists. */
-            CMD * cmd = cmd_new( rule,
-                list_copy( L0, nt ),
-                list_sublist( ns, start, chunk ),
-                list_copy( L0, shell ) );
-
-            if ( cmd )
-            {
-                /* It fit: chain it up. */
-                if ( !cmds ) cmds = cmd;
-                else cmds->tail->next = cmd;
-                cmds->tail = cmd;
-                start += chunk;
-            }
-            else if ( ( actions->flags & RULE_PIECEMEAL ) && ( chunk > 1 ) )
-            {
-                /* Reduce chunk size slowly. */
-                chunk = chunk * 9 / 10;
-            }
-            else
-            {
-                /* Too long and not splittable. */
-                printf( "%s actions too long (max %d):\n", rule->name, MAXLINE
-                    );
-
-                /* Tell the user what didn't fit. */
-                cmd = cmd_new( rule, list_copy( L0, nt ),
-                    list_sublist( ns, start, chunk ),
-                    list_new( L0, newstr( "%" ) ) );
-                fputs( cmd->buf, stdout );
-                exit( EXITBAD );
-            }
-        }
-        while ( start < length );
-
-        /* These were always copied when used. */
-        list_free( nt );
-        list_free( ns );
-
-        /* Free the variables whose values were bound by 'actions xxx bind
-         * vars'.
-         */
-        popsettings( boundvars );
-        freesettings( boundvars );
-    }
-
-    swap_settings( &settings_module, &settings_target, 0, 0 );
-    return cmds;
-}
-
-
-/*
- * make1list() - turn a list of targets into a LIST, for $(<) and $(>).
- */
-
-static LIST * make1list( LIST * l, TARGETS * targets, int flags )
-{
-    for ( ; targets; targets = targets->next )
-    {
-        TARGET * t = targets->target;
-
-        if ( t->binding == T_BIND_UNBOUND )
-            make1bind( t );
-
-        if ( ( flags & RULE_EXISTING ) && ( flags & RULE_NEWSRCS ) )
-        {
-            if ( ( t->binding != T_BIND_EXISTS ) && ( t->fate <= T_FATE_STABLE ) )
-                continue;
-        }
-        else
-        {
-            if ( ( flags & RULE_EXISTING ) && ( t->binding != T_BIND_EXISTS ) )
-                continue;
-
-            if ( ( flags & RULE_NEWSRCS ) && ( t->fate <= T_FATE_STABLE ) )
-                continue;
-        }
-
-        /* Prohibit duplicates for RULE_TOGETHER. */
-        if ( flags & RULE_TOGETHER )
-        {
-            LIST * m;
-            for ( m = l; m; m = m->next )
-                if ( !strcmp( m->string, t->boundname ) )
-                    break;
-            if ( m )
-                continue;
-        }
-
-        /* Build new list. */
-        l = list_new( l, copystr( t->boundname ) );
-    }
-
-    return l;
-}
-
-
-/*
- * make1settings() - for vars that get bound values, build up replacement lists.
- */
-
-static SETTINGS * make1settings( LIST * vars )
-{
-    SETTINGS * settings = 0;
-
-    for ( ; vars; vars = list_next( vars ) )
-    {
-        LIST * l = var_get( vars->string );
-        LIST * nl = 0;
-
-        for ( ; l; l = list_next( l ) )
-        {
-            TARGET * t = bindtarget( l->string );
-
-            /* Make sure the target is bound. */
-            if ( t->binding == T_BIND_UNBOUND )
-                make1bind( t );
-
-            /* Build a new list. */
-            nl = list_new( nl, copystr( t->boundname ) );
-        }
-
-        /* Add to settings chain. */
-        settings = addsettings( settings, VAR_SET, vars->string, nl );
-    }
-
-    return settings;
-}
-
-
-/*
- * make1bind() - bind targets that were not bound during dependency analysis
- *
- * Spot the kludge! If a target is not in the dependency tree, it did not get
- * bound by make0(), so we have to do it here. Ugly.
- */
-
-static void make1bind( TARGET * t )
-{
-    if ( t->flags & T_FLAG_NOTFILE )
-        return;
-
-    pushsettings( t->settings );
-    t->boundname = search( t->name, &t->time, 0, ( t->flags & T_FLAG_ISFILE ) );
-    t->binding = t->time ? T_BIND_EXISTS : T_BIND_MISSING;
-    popsettings( t->settings );
-}
diff --git a/SRC/Boost/tools/build/v2/engine/md5.c b/SRC/Boost/tools/build/v2/engine/md5.c
deleted file mode 100755
index 06461b5..0000000
--- a/SRC/Boost/tools/build/v2/engine/md5.c
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
-  Copyright (C) 1999, 2000, 2002 Aladdin Enterprises.  All rights reserved.
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-
-  L. Peter Deutsch
-  ghost at aladdin.com
-
- */
-/* $Id: md5.c,v 1.6 2002/04/13 19:20:28 lpd Exp $ */
-/*
-  Independent implementation of MD5 (RFC 1321).
-
-  This code implements the MD5 Algorithm defined in RFC 1321, whose
-  text is available at
-	http://www.ietf.org/rfc/rfc1321.txt
-  The code is derived from the text of the RFC, including the test suite
-  (section A.5) but excluding the rest of Appendix A.  It does not include
-  any code or documentation that is identified in the RFC as being
-  copyrighted.
-
-  The original and principal author of md5.c is L. Peter Deutsch
-  <ghost at aladdin.com>.  Other authors are noted in the change history
-  that follows (in reverse chronological order):
-
-  2002-04-13 lpd Clarified derivation from RFC 1321; now handles byte order
-	either statically or dynamically; added missing #include <string.h>
-	in library.
-  2002-03-11 lpd Corrected argument list for main(), and added int return
-	type, in test program and T value program.
-  2002-02-21 lpd Added missing #include <stdio.h> in test program.
-  2000-07-03 lpd Patched to eliminate warnings about "constant is
-	unsigned in ANSI C, signed in traditional"; made test program
-	self-checking.
-  1999-11-04 lpd Edited comments slightly for automatic TOC extraction.
-  1999-10-18 lpd Fixed typo in header comment (ansi2knr rather than md5).
-  1999-05-03 lpd Original version.
- */
-
-#include "md5.h"
-#include <string.h>
-
-#undef BYTE_ORDER	/* 1 = big-endian, -1 = little-endian, 0 = unknown */
-#ifdef ARCH_IS_BIG_ENDIAN
-#  define BYTE_ORDER (ARCH_IS_BIG_ENDIAN ? 1 : -1)
-#else
-#  define BYTE_ORDER 0
-#endif
-
-#define T_MASK ((md5_word_t)~0)
-#define T1 /* 0xd76aa478 */ (T_MASK ^ 0x28955b87)
-#define T2 /* 0xe8c7b756 */ (T_MASK ^ 0x173848a9)
-#define T3    0x242070db
-#define T4 /* 0xc1bdceee */ (T_MASK ^ 0x3e423111)
-#define T5 /* 0xf57c0faf */ (T_MASK ^ 0x0a83f050)
-#define T6    0x4787c62a
-#define T7 /* 0xa8304613 */ (T_MASK ^ 0x57cfb9ec)
-#define T8 /* 0xfd469501 */ (T_MASK ^ 0x02b96afe)
-#define T9    0x698098d8
-#define T10 /* 0x8b44f7af */ (T_MASK ^ 0x74bb0850)
-#define T11 /* 0xffff5bb1 */ (T_MASK ^ 0x0000a44e)
-#define T12 /* 0x895cd7be */ (T_MASK ^ 0x76a32841)
-#define T13    0x6b901122
-#define T14 /* 0xfd987193 */ (T_MASK ^ 0x02678e6c)
-#define T15 /* 0xa679438e */ (T_MASK ^ 0x5986bc71)
-#define T16    0x49b40821
-#define T17 /* 0xf61e2562 */ (T_MASK ^ 0x09e1da9d)
-#define T18 /* 0xc040b340 */ (T_MASK ^ 0x3fbf4cbf)
-#define T19    0x265e5a51
-#define T20 /* 0xe9b6c7aa */ (T_MASK ^ 0x16493855)
-#define T21 /* 0xd62f105d */ (T_MASK ^ 0x29d0efa2)
-#define T22    0x02441453
-#define T23 /* 0xd8a1e681 */ (T_MASK ^ 0x275e197e)
-#define T24 /* 0xe7d3fbc8 */ (T_MASK ^ 0x182c0437)
-#define T25    0x21e1cde6
-#define T26 /* 0xc33707d6 */ (T_MASK ^ 0x3cc8f829)
-#define T27 /* 0xf4d50d87 */ (T_MASK ^ 0x0b2af278)
-#define T28    0x455a14ed
-#define T29 /* 0xa9e3e905 */ (T_MASK ^ 0x561c16fa)
-#define T30 /* 0xfcefa3f8 */ (T_MASK ^ 0x03105c07)
-#define T31    0x676f02d9
-#define T32 /* 0x8d2a4c8a */ (T_MASK ^ 0x72d5b375)
-#define T33 /* 0xfffa3942 */ (T_MASK ^ 0x0005c6bd)
-#define T34 /* 0x8771f681 */ (T_MASK ^ 0x788e097e)
-#define T35    0x6d9d6122
-#define T36 /* 0xfde5380c */ (T_MASK ^ 0x021ac7f3)
-#define T37 /* 0xa4beea44 */ (T_MASK ^ 0x5b4115bb)
-#define T38    0x4bdecfa9
-#define T39 /* 0xf6bb4b60 */ (T_MASK ^ 0x0944b49f)
-#define T40 /* 0xbebfbc70 */ (T_MASK ^ 0x4140438f)
-#define T41    0x289b7ec6
-#define T42 /* 0xeaa127fa */ (T_MASK ^ 0x155ed805)
-#define T43 /* 0xd4ef3085 */ (T_MASK ^ 0x2b10cf7a)
-#define T44    0x04881d05
-#define T45 /* 0xd9d4d039 */ (T_MASK ^ 0x262b2fc6)
-#define T46 /* 0xe6db99e5 */ (T_MASK ^ 0x1924661a)
-#define T47    0x1fa27cf8
-#define T48 /* 0xc4ac5665 */ (T_MASK ^ 0x3b53a99a)
-#define T49 /* 0xf4292244 */ (T_MASK ^ 0x0bd6ddbb)
-#define T50    0x432aff97
-#define T51 /* 0xab9423a7 */ (T_MASK ^ 0x546bdc58)
-#define T52 /* 0xfc93a039 */ (T_MASK ^ 0x036c5fc6)
-#define T53    0x655b59c3
-#define T54 /* 0x8f0ccc92 */ (T_MASK ^ 0x70f3336d)
-#define T55 /* 0xffeff47d */ (T_MASK ^ 0x00100b82)
-#define T56 /* 0x85845dd1 */ (T_MASK ^ 0x7a7ba22e)
-#define T57    0x6fa87e4f
-#define T58 /* 0xfe2ce6e0 */ (T_MASK ^ 0x01d3191f)
-#define T59 /* 0xa3014314 */ (T_MASK ^ 0x5cfebceb)
-#define T60    0x4e0811a1
-#define T61 /* 0xf7537e82 */ (T_MASK ^ 0x08ac817d)
-#define T62 /* 0xbd3af235 */ (T_MASK ^ 0x42c50dca)
-#define T63    0x2ad7d2bb
-#define T64 /* 0xeb86d391 */ (T_MASK ^ 0x14792c6e)
-
-
-static void
-md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/)
-{
-    md5_word_t
-	a = pms->abcd[0], b = pms->abcd[1],
-	c = pms->abcd[2], d = pms->abcd[3];
-    md5_word_t t;
-#if BYTE_ORDER > 0
-    /* Define storage only for big-endian CPUs. */
-    md5_word_t X[16];
-#else
-    /* Define storage for little-endian or both types of CPUs. */
-    md5_word_t xbuf[16];
-    const md5_word_t *X;
-#endif
-
-    {
-#if BYTE_ORDER == 0
-	/*
-	 * Determine dynamically whether this is a big-endian or
-	 * little-endian machine, since we can use a more efficient
-	 * algorithm on the latter.
-	 */
-	static const int w = 1;
-
-	if (*((const md5_byte_t *)&w)) /* dynamic little-endian */
-#endif
-#if BYTE_ORDER <= 0		/* little-endian */
-	{
-	    /*
-	     * On little-endian machines, we can process properly aligned
-	     * data without copying it.
-	     */
-	    if (!((data - (const md5_byte_t *)0) & 3)) {
-		/* data are properly aligned */
-		X = (const md5_word_t *)data;
-	    } else {
-		/* not aligned */
-		memcpy(xbuf, data, 64);
-		X = xbuf;
-	    }
-	}
-#endif
-#if BYTE_ORDER == 0
-	else			/* dynamic big-endian */
-#endif
-#if BYTE_ORDER >= 0		/* big-endian */
-	{
-	    /*
-	     * On big-endian machines, we must arrange the bytes in the
-	     * right order.
-	     */
-	    const md5_byte_t *xp = data;
-	    int i;
-
-#  if BYTE_ORDER == 0
-	    X = xbuf;		/* (dynamic only) */
-#  else
-#    define xbuf X		/* (static only) */
-#  endif
-	    for (i = 0; i < 16; ++i, xp += 4)
-		xbuf[i] = xp[0] + (xp[1] << 8) + (xp[2] << 16) + (xp[3] << 24);
-	}
-#endif
-    }
-
-#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32 - (n))))
-
-    /* Round 1. */
-    /* Let [abcd k s i] denote the operation
-       a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */
-#define F(x, y, z) (((x) & (y)) | (~(x) & (z)))
-#define SET(a, b, c, d, k, s, Ti)\
-  t = a + F(b,c,d) + X[k] + Ti;\
-  a = ROTATE_LEFT(t, s) + b
-    /* Do the following 16 operations. */
-    SET(a, b, c, d,  0,  7,  T1);
-    SET(d, a, b, c,  1, 12,  T2);
-    SET(c, d, a, b,  2, 17,  T3);
-    SET(b, c, d, a,  3, 22,  T4);
-    SET(a, b, c, d,  4,  7,  T5);
-    SET(d, a, b, c,  5, 12,  T6);
-    SET(c, d, a, b,  6, 17,  T7);
-    SET(b, c, d, a,  7, 22,  T8);
-    SET(a, b, c, d,  8,  7,  T9);
-    SET(d, a, b, c,  9, 12, T10);
-    SET(c, d, a, b, 10, 17, T11);
-    SET(b, c, d, a, 11, 22, T12);
-    SET(a, b, c, d, 12,  7, T13);
-    SET(d, a, b, c, 13, 12, T14);
-    SET(c, d, a, b, 14, 17, T15);
-    SET(b, c, d, a, 15, 22, T16);
-#undef SET
-
-     /* Round 2. */
-     /* Let [abcd k s i] denote the operation
-          a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */
-#define G(x, y, z) (((x) & (z)) | ((y) & ~(z)))
-#define SET(a, b, c, d, k, s, Ti)\
-  t = a + G(b,c,d) + X[k] + Ti;\
-  a = ROTATE_LEFT(t, s) + b
-     /* Do the following 16 operations. */
-    SET(a, b, c, d,  1,  5, T17);
-    SET(d, a, b, c,  6,  9, T18);
-    SET(c, d, a, b, 11, 14, T19);
-    SET(b, c, d, a,  0, 20, T20);
-    SET(a, b, c, d,  5,  5, T21);
-    SET(d, a, b, c, 10,  9, T22);
-    SET(c, d, a, b, 15, 14, T23);
-    SET(b, c, d, a,  4, 20, T24);
-    SET(a, b, c, d,  9,  5, T25);
-    SET(d, a, b, c, 14,  9, T26);
-    SET(c, d, a, b,  3, 14, T27);
-    SET(b, c, d, a,  8, 20, T28);
-    SET(a, b, c, d, 13,  5, T29);
-    SET(d, a, b, c,  2,  9, T30);
-    SET(c, d, a, b,  7, 14, T31);
-    SET(b, c, d, a, 12, 20, T32);
-#undef SET
-
-     /* Round 3. */
-     /* Let [abcd k s t] denote the operation
-          a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */
-#define H(x, y, z) ((x) ^ (y) ^ (z))
-#define SET(a, b, c, d, k, s, Ti)\
-  t = a + H(b,c,d) + X[k] + Ti;\
-  a = ROTATE_LEFT(t, s) + b
-     /* Do the following 16 operations. */
-    SET(a, b, c, d,  5,  4, T33);
-    SET(d, a, b, c,  8, 11, T34);
-    SET(c, d, a, b, 11, 16, T35);
-    SET(b, c, d, a, 14, 23, T36);
-    SET(a, b, c, d,  1,  4, T37);
-    SET(d, a, b, c,  4, 11, T38);
-    SET(c, d, a, b,  7, 16, T39);
-    SET(b, c, d, a, 10, 23, T40);
-    SET(a, b, c, d, 13,  4, T41);
-    SET(d, a, b, c,  0, 11, T42);
-    SET(c, d, a, b,  3, 16, T43);
-    SET(b, c, d, a,  6, 23, T44);
-    SET(a, b, c, d,  9,  4, T45);
-    SET(d, a, b, c, 12, 11, T46);
-    SET(c, d, a, b, 15, 16, T47);
-    SET(b, c, d, a,  2, 23, T48);
-#undef SET
-
-     /* Round 4. */
-     /* Let [abcd k s t] denote the operation
-          a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */
-#define I(x, y, z) ((y) ^ ((x) | ~(z)))
-#define SET(a, b, c, d, k, s, Ti)\
-  t = a + I(b,c,d) + X[k] + Ti;\
-  a = ROTATE_LEFT(t, s) + b
-     /* Do the following 16 operations. */
-    SET(a, b, c, d,  0,  6, T49);
-    SET(d, a, b, c,  7, 10, T50);
-    SET(c, d, a, b, 14, 15, T51);
-    SET(b, c, d, a,  5, 21, T52);
-    SET(a, b, c, d, 12,  6, T53);
-    SET(d, a, b, c,  3, 10, T54);
-    SET(c, d, a, b, 10, 15, T55);
-    SET(b, c, d, a,  1, 21, T56);
-    SET(a, b, c, d,  8,  6, T57);
-    SET(d, a, b, c, 15, 10, T58);
-    SET(c, d, a, b,  6, 15, T59);
-    SET(b, c, d, a, 13, 21, T60);
-    SET(a, b, c, d,  4,  6, T61);
-    SET(d, a, b, c, 11, 10, T62);
-    SET(c, d, a, b,  2, 15, T63);
-    SET(b, c, d, a,  9, 21, T64);
-#undef SET
-
-     /* Then perform the following additions. (That is increment each
-        of the four registers by the value it had before this block
-        was started.) */
-    pms->abcd[0] += a;
-    pms->abcd[1] += b;
-    pms->abcd[2] += c;
-    pms->abcd[3] += d;
-}
-
-void
-md5_init(md5_state_t *pms)
-{
-    pms->count[0] = pms->count[1] = 0;
-    pms->abcd[0] = 0x67452301;
-    pms->abcd[1] = /*0xefcdab89*/ T_MASK ^ 0x10325476;
-    pms->abcd[2] = /*0x98badcfe*/ T_MASK ^ 0x67452301;
-    pms->abcd[3] = 0x10325476;
-}
-
-void
-md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes)
-{
-    const md5_byte_t *p = data;
-    int left = nbytes;
-    int offset = (pms->count[0] >> 3) & 63;
-    md5_word_t nbits = (md5_word_t)(nbytes << 3);
-
-    if (nbytes <= 0)
-	return;
-
-    /* Update the message length. */
-    pms->count[1] += nbytes >> 29;
-    pms->count[0] += nbits;
-    if (pms->count[0] < nbits)
-	pms->count[1]++;
-
-    /* Process an initial partial block. */
-    if (offset) {
-	int copy = (offset + nbytes > 64 ? 64 - offset : nbytes);
-
-	memcpy(pms->buf + offset, p, copy);
-	if (offset + copy < 64)
-	    return;
-	p += copy;
-	left -= copy;
-	md5_process(pms, pms->buf);
-    }
-
-    /* Process full blocks. */
-    for (; left >= 64; p += 64, left -= 64)
-	md5_process(pms, p);
-
-    /* Process a final partial block. */
-    if (left)
-	memcpy(pms->buf, p, left);
-}
-
-void
-md5_finish(md5_state_t *pms, md5_byte_t digest[16])
-{
-    static const md5_byte_t pad[64] = {
-	0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-    };
-    md5_byte_t data[8];
-    int i;
-
-    /* Save the length before padding. */
-    for (i = 0; i < 8; ++i)
-	data[i] = (md5_byte_t)(pms->count[i >> 2] >> ((i & 3) << 3));
-    /* Pad to 56 bytes mod 64. */
-    md5_append(pms, pad, ((55 - (pms->count[0] >> 3)) & 63) + 1);
-    /* Append the length. */
-    md5_append(pms, data, 8);
-    for (i = 0; i < 16; ++i)
-	digest[i] = (md5_byte_t)(pms->abcd[i >> 2] >> ((i & 3) << 3));
-}
diff --git a/SRC/Boost/tools/build/v2/engine/md5.h b/SRC/Boost/tools/build/v2/engine/md5.h
deleted file mode 100755
index ea4deb6..0000000
--- a/SRC/Boost/tools/build/v2/engine/md5.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-  Copyright (C) 1999, 2002 Aladdin Enterprises.  All rights reserved.
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-
-  L. Peter Deutsch
-  ghost at aladdin.com
-
- */
-/* $Id: md5.h,v 1.4 2002/04/13 19:20:28 lpd Exp $ */
-/*
-  Independent implementation of MD5 (RFC 1321).
-
-  This code implements the MD5 Algorithm defined in RFC 1321, whose
-  text is available at
-	http://www.ietf.org/rfc/rfc1321.txt
-  The code is derived from the text of the RFC, including the test suite
-  (section A.5) but excluding the rest of Appendix A.  It does not include
-  any code or documentation that is identified in the RFC as being
-  copyrighted.
-
-  The original and principal author of md5.h is L. Peter Deutsch
-  <ghost at aladdin.com>.  Other authors are noted in the change history
-  that follows (in reverse chronological order):
-
-  2002-04-13 lpd Removed support for non-ANSI compilers; removed
-	references to Ghostscript; clarified derivation from RFC 1321;
-	now handles byte order either statically or dynamically.
-  1999-11-04 lpd Edited comments slightly for automatic TOC extraction.
-  1999-10-18 lpd Fixed typo in header comment (ansi2knr rather than md5);
-	added conditionalization for C++ compilation from Martin
-	Purschke <purschke at bnl.gov>.
-  1999-05-03 lpd Original version.
- */
-
-#ifndef md5_INCLUDED
-#  define md5_INCLUDED
-
-/*
- * This package supports both compile-time and run-time determination of CPU
- * byte order.  If ARCH_IS_BIG_ENDIAN is defined as 0, the code will be
- * compiled to run only on little-endian CPUs; if ARCH_IS_BIG_ENDIAN is
- * defined as non-zero, the code will be compiled to run only on big-endian
- * CPUs; if ARCH_IS_BIG_ENDIAN is not defined, the code will be compiled to
- * run on either big- or little-endian CPUs, but will run slightly less
- * efficiently on either one than if ARCH_IS_BIG_ENDIAN is defined.
- */
-
-typedef unsigned char md5_byte_t; /* 8-bit byte */
-typedef unsigned int md5_word_t; /* 32-bit word */
-
-/* Define the state of the MD5 Algorithm. */
-typedef struct md5_state_s {
-    md5_word_t count[2];	/* message length in bits, lsw first */
-    md5_word_t abcd[4];		/* digest buffer */
-    md5_byte_t buf[64];		/* accumulate block */
-} md5_state_t;
-
-#ifdef __cplusplus
-extern "C" 
-{
-#endif
-
-/* Initialize the algorithm. */
-void md5_init(md5_state_t *pms);
-
-/* Append a string to the message. */
-void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes);
-
-/* Finish the message and return the digest. */
-void md5_finish(md5_state_t *pms, md5_byte_t digest[16]);
-
-#ifdef __cplusplus
-}  /* end extern "C" */
-#endif
-
-#endif /* md5_INCLUDED */
diff --git a/SRC/Boost/tools/build/v2/engine/mem.c b/SRC/Boost/tools/build/v2/engine/mem.c
deleted file mode 100755
index a74755d..0000000
--- a/SRC/Boost/tools/build/v2/engine/mem.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-Copyright Rene Rivera 2006.
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#include "jam.h"
-
-#ifdef OPT_BOEHM_GC
-
-    /* Compile the Boehm GC as one big chunk of code. It's much easier
-    this way, than trying to make radical changes to the bjam build
-    scripts. */
-
-    #define ATOMIC_UNCOLLECTABLE
-    #define NO_EXECUTE_PERMISSION
-    #define ALL_INTERIOR_POINTERS
-
-    #define LARGE_CONFIG
-    /*
-    #define NO_SIGNALS
-    #define SILENT
-    */
-    #ifndef GC_DEBUG
-    #define NO_DEBUGGING
-    #endif
-
-    #ifdef __GLIBC__
-    #define __USE_GNU
-    #endif
-
-    #include "boehm_gc/reclaim.c"
-    #include "boehm_gc/allchblk.c"
-    #include "boehm_gc/misc.c"
-    #include "boehm_gc/alloc.c"
-    #include "boehm_gc/mach_dep.c"
-    #include "boehm_gc/os_dep.c"
-    #include "boehm_gc/mark_rts.c"
-    #include "boehm_gc/headers.c"
-    #include "boehm_gc/mark.c"
-    #include "boehm_gc/obj_map.c"
-    #include "boehm_gc/pcr_interface.c"
-    #include "boehm_gc/blacklst.c"
-    #include "boehm_gc/new_hblk.c"
-    #include "boehm_gc/real_malloc.c"
-    #include "boehm_gc/dyn_load.c"
-    #include "boehm_gc/dbg_mlc.c"
-    #include "boehm_gc/malloc.c"
-    #include "boehm_gc/stubborn.c"
-    #include "boehm_gc/checksums.c"
-    #include "boehm_gc/pthread_support.c"
-    #include "boehm_gc/pthread_stop_world.c"
-    #include "boehm_gc/darwin_stop_world.c"
-    #include "boehm_gc/typd_mlc.c"
-    #include "boehm_gc/ptr_chck.c"
-    #include "boehm_gc/mallocx.c"
-    #include "boehm_gc/gcj_mlc.c"
-    #include "boehm_gc/specific.c"
-    #include "boehm_gc/gc_dlopen.c"
-    #include "boehm_gc/backgraph.c"
-    #include "boehm_gc/win32_threads.c"
-
-    /* Needs to be last. */
-    #include "boehm_gc/finalize.c"
-
-#elif defined(OPT_DUMA)
-
-    #ifdef OS_NT
-        #define WIN32
-    #endif
-    #include "duma/duma.c"
-    #include "duma/print.c"
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/mem.h b/SRC/Boost/tools/build/v2/engine/mem.h
deleted file mode 100755
index 1fc6e7a..0000000
--- a/SRC/Boost/tools/build/v2/engine/mem.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
-Copyright Rene Rivera 2006.
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#ifndef BJAM_MEM_H
-#define BJAM_MEM_H
-
-
-#ifdef OPT_BOEHM_GC
-
-    /* Use Boehm GC memory allocator. */
-    #include <gc.h>
-    #define bjam_malloc_x(s) memset(GC_malloc(s),0,s)
-    #define bjam_malloc_atomic_x(s) memset(GC_malloc_atomic(s),0,s)
-    #define bjam_calloc_x(n,s) memset(GC_malloc((n)*(s)),0,(n)*(s))
-    #define bjam_calloc_atomic_x(n,s) memset(GC_malloc_atomic((n)*(s)),0,(n)*(s))
-    #define bjam_realloc_x(p,s) GC_realloc(p,s)
-    #define bjam_free_x(p) GC_free(p)
-    #define bjam_mem_init_x() GC_init(); GC_enable_incremental()
-
-    #define bjam_malloc_raw_x(s) malloc(s)
-    #define bjam_calloc_raw_x(n,s) calloc(n,s)
-    #define bjam_realloc_raw_x(p,s) realloc(p,s)
-    #define bjam_free_raw_x(p) free(p)
-
-    #ifndef BJAM_NEWSTR_NO_ALLOCATE
-    #define BJAM_NEWSTR_NO_ALLOCATE
-    #endif
-
-#elif defined(OPT_DUMA)
-
-    /* Use Duma memory debugging library. */
-    #include <stdlib.h>
-    #define _DUMA_CONFIG_H_
-    #define DUMA_NO_GLOBAL_MALLOC_FREE
-    #define DUMA_EXPLICIT_INIT
-    #define DUMA_NO_THREAD_SAFETY
-    #define DUMA_NO_CPP_SUPPORT
-    /* #define DUMA_NO_LEAKDETECTION */
-    /* #define DUMA_USE_FRAMENO */
-    /* #define DUMA_PREFER_ATEXIT */
-    /* #define DUMA_OLD_DEL_MACRO */
-    /* #define DUMA_NO_HANG_MSG */
-    #define DUMA_PAGE_SIZE 4096
-    #define DUMA_MIN_ALIGNMENT 1
-    /* #define DUMA_GNU_INIT_ATTR 0 */
-    typedef unsigned int DUMA_ADDR;
-    typedef unsigned int DUMA_SIZE;
-    #include <duma.h>
-    #define bjam_malloc_x(s) malloc(s)
-    #define bjam_calloc_x(n,s) calloc(n,s)
-    #define bjam_realloc_x(p,s) realloc(p,s)
-    #define bjam_free_x(p) free(p)
-
-    #ifndef BJAM_NEWSTR_NO_ALLOCATE
-    #define BJAM_NEWSTR_NO_ALLOCATE
-    #endif
-
-#else
-
-    /* Standard C memory allocation. */
-    #define bjam_malloc_x(s) malloc(s)
-    #define bjam_calloc_x(n,s) calloc(n,s)
-    #define bjam_realloc_x(p,s) realloc(p,s)
-    #define bjam_free_x(p) free(p)
-
-#endif
-
-#ifndef bjam_malloc_atomic_x
-    #define bjam_malloc_atomic_x(s) bjam_malloc_x(s)
-#endif
-#ifndef bjam_calloc_atomic_x
-    #define bjam_calloc_atomic_x(n,s) bjam_calloc_x(n,s)
-#endif
-#ifndef bjam_mem_init_x
-    #define bjam_mem_init_x()
-#endif
-#ifndef bjam_mem_close_x
-    #define bjam_mem_close_x()
-#endif
-#ifndef bjam_malloc_raw_x
-    #define bjam_malloc_raw_x(s) bjam_malloc_x(s)
-#endif
-#ifndef bjam_calloc_raw_x
-    #define bjam_calloc_raw_x(n,s) bjam_calloc_x(n,s)
-#endif
-#ifndef bjam_realloc_raw_x
-    #define bjam_realloc_raw_x(p,s) bjam_realloc_x(p,s)
-#endif
-#ifndef bjam_free_raw_x
-    #define bjam_free_raw_x(p) bjam_free_x(p)
-#endif
-
-#ifdef OPT_DEBUG_PROFILE
-
-    /* Profile tracing of memory allocations. */
-    #define BJAM_MALLOC(s) (profile_memory(s), bjam_malloc_x(s))
-    #define BJAM_MALLOC_ATOMIC(s) (profile_memory(s), bjam_malloc_atomic_x(s))
-    #define BJAM_CALLOC(n,s) (profile_memory(n*s), bjam_calloc_x(n,s))
-    #define BJAM_CALLOC_ATOMIC(n,s) (profile_memory(n*s), bjam_calloc_atomic_x(n,s))
-    #define BJAM_REALLOC(p,s) (profile_memory(s), bjam_realloc_x(p,s))
-    #define BJAM_FREE(p) bjam_free_x(p)
-    #define BJAM_MEM_INIT() bjam_mem_init_x()
-    #define BJAM_MEM_CLOSE() bjam_mem_close_x()
-
-    #define BJAM_MALLOC_RAW(s) (profile_memory(s), bjam_malloc_raw_x(s))
-    #define BJAM_CALLOC_RAW(n,s) (profile_memory(n*s), bjam_calloc_raw_x(n,s))
-    #define BJAM_REALLOC_RAW(p,s) (profile_memory(s), bjam_realloc_raw_x(p,s))
-    #define BJAM_FREE_RAW(p) bjam_free_raw_x(p)
-
-#else
-
-    /* No mem tracing. */
-    #define BJAM_MALLOC(s) bjam_malloc_x(s)
-    #define BJAM_MALLOC_ATOMIC(s) bjam_malloc_atomic_x(s)
-    #define BJAM_CALLOC(n,s) bjam_calloc_x(n,s)
-    #define BJAM_CALLOC_ATOMIC(n,s) bjam_calloc_atomic_x(n,s)
-    #define BJAM_REALLOC(p,s) bjam_realloc_x(p,s)
-    #define BJAM_FREE(p) bjam_free_x(p)
-    #define BJAM_MEM_INIT() bjam_mem_init_x()
-    #define BJAM_MEM_CLOSE() bjam_mem_close_x()
-
-    #define BJAM_MALLOC_RAW(s) bjam_malloc_raw_x(s)
-    #define BJAM_CALLOC_RAW(n,s) bjam_calloc_raw_x(n,s)
-    #define BJAM_REALLOC_RAW(p,s) bjam_realloc_raw_x(p,s)
-    #define BJAM_FREE_RAW(p) bjam_free_raw_x(p)
-
-#endif
-
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/mkjambase.c b/SRC/Boost/tools/build/v2/engine/mkjambase.c
deleted file mode 100755
index a51aa8c..0000000
--- a/SRC/Boost/tools/build/v2/engine/mkjambase.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*
- * mkjambase.c - turn Jambase into a big C structure
- *
- * Usage: mkjambase jambase.c Jambase ...
- *
- * Results look like this:
- *
- *   char *jambase[] = {
- *   "...\n",
- *   ...
- *   0 };
- *
- * Handles \'s and "'s specially; knows to delete blank and comment lines.
- *
- */
-
-#include <stdio.h>
-#include <string.h>
-
-
-int main( int argc, char * * argv, char * * envp )
-{
-    char buf[ 1024 ];
-    FILE * fin;
-    FILE * fout;
-    char * p;
-    int doDotC = 0;
-
-    if ( argc < 3 )
-    {
-        fprintf( stderr, "usage: %s jambase.c Jambase ...\n", argv[ 0 ] );
-        return -1;
-    }
-
-    if ( !( fout = fopen( argv[1], "w" ) ) )
-    {
-        perror( argv[ 1 ] );
-        return -1;
-    }
-
-    /* If the file ends in .c generate a C source file. */
-    if ( ( p = strrchr( argv[1], '.' ) ) && !strcmp( p, ".c" ) )
-        doDotC++;
-
-    /* Now process the files. */
-
-    argc -= 2;
-    argv += 2;
-
-    if ( doDotC )
-    {
-        fprintf( fout, "/* Generated by mkjambase from Jambase */\n" );
-        fprintf( fout, "char *jambase[] = {\n" );
-    }
-
-    for ( ; argc--; ++argv )
-    {
-        if ( !( fin = fopen( *argv, "r" ) ) )
-        {
-            perror( *argv );
-            return -1;
-        }
-
-        if ( doDotC )
-            fprintf( fout, "/* %s */\n", *argv );
-        else
-            fprintf( fout, "### %s ###\n", *argv );
-
-        while ( fgets( buf, sizeof( buf ), fin ) )
-        {
-            if ( doDotC )
-            {
-                char * p = buf;
-
-                /* Strip leading whitespace. */
-                while ( ( *p == ' ' ) || ( *p == '\t' ) || ( *p == '\n' ) )
-                    ++p;
-
-                /* Drop comments and empty lines. */
-                if ( ( *p == '#' ) || !*p )
-                    continue;
-
-                /* Copy. */
-                putc( '"', fout );
-                for ( ; *p && ( *p != '\n' ); ++p )
-                    switch ( *p )
-                    {
-                        case '\\': putc( '\\', fout ); putc( '\\', fout ); break;
-                        case '"' : putc( '\\', fout ); putc( '"' , fout ); break;
-                        case '\r': break;
-                        default: putc( *p, fout ); break;
-                    }
-
-                fprintf( fout, "\\n\",\n" );
-            }
-            else
-            {
-                fprintf( fout, "%s", buf );
-            }
-        }
-
-        fclose( fin );
-    }
-
-    if ( doDotC )
-        fprintf( fout, "0 };\n" );
-
-    fclose( fout );
-
-    return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/engine/modules.c b/SRC/Boost/tools/build/v2/engine/modules.c
deleted file mode 100755
index 943cea5..0000000
--- a/SRC/Boost/tools/build/v2/engine/modules.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-#include "jam.h"
-
-#include "modules.h"
-#include "string.h"
-#include "hash.h"
-#include "newstr.h"
-#include "lists.h"
-#include "parse.h"
-#include "rules.h"
-#include "variable.h"
-#include "strings.h"
-#include <assert.h>
-
-static struct hash * module_hash = 0;
-
-
-static char * new_module_str( module_t * m, char * suffix )
-{
-    char * result;
-    string s;
-    string_copy( &s, m->name );
-    string_append( &s, suffix );
-    result = newstr( s.value );
-    string_free( &s );
-    return result;
-}
-
-
-module_t * bindmodule( char * name )
-{
-    PROFILE_ENTER( BINDMODULE );
-
-    string s;
-    module_t m_;
-    module_t * m = &m_;
-
-    if ( !module_hash )
-        module_hash = hashinit( sizeof( module_t ), "modules" );
-
-    string_new( &s );
-    if ( name )
-    {
-        string_append( &s, name );
-        string_push_back( &s, '.' );
-    }
-
-    m->name = s.value;
-
-    if ( hashenter( module_hash, (HASHDATA * *)&m ) )
-    {
-        m->name = newstr( m->name );
-        m->variables = 0;
-        m->rules = 0;
-        m->imported_modules = 0;
-        m->class_module = 0;
-        m->native_rules = 0;
-        m->user_module = 0;
-    }
-    string_free( &s );
-
-    PROFILE_EXIT( BINDMODULE );
-
-    return m;
-}
-
-/*
- * demand_rules() - Get the module's "rules" hash on demand.
- */
-struct hash * demand_rules( module_t * m )
-{
-    if ( !m->rules )
-        m->rules = hashinit( sizeof( RULE ), new_module_str( m, "rules" ) );
-    return m->rules;
-}
-
-
-/*
- * delete_module() - wipe out the module's rules and variables.
- */
-
-static void delete_rule_( void * xrule, void * data )
-{
-    rule_free( (RULE *)xrule );
-}
-
-
-void delete_module( module_t * m )
-{
-    /* Clear out all the rules. */
-    if ( m->rules )
-    {
-        hashenumerate( m->rules, delete_rule_, (void *)0 );
-        hashdone( m->rules );
-        m->rules = 0;
-    }
-
-    if ( m->variables )
-    {
-        var_hash_swap( &m->variables );
-        var_done();
-        var_hash_swap( &m->variables );
-        m->variables = 0;
-    }
-}
-
-
-module_t * root_module()
-{
-    static module_t * root = 0;
-    if ( !root )
-        root = bindmodule( 0 );
-    return root;
-}
-
-void enter_module( module_t * m )
-{
-    var_hash_swap( &m->variables );
-}
-
-
-void exit_module( module_t * m )
-{
-    var_hash_swap( &m->variables );
-}
-
-
-void import_module( LIST * module_names, module_t * target_module )
-{
-    PROFILE_ENTER( IMPORT_MODULE );
-
-    struct hash * h;
-
-    if ( !target_module->imported_modules )
-        target_module->imported_modules = hashinit( sizeof( char * ), "imported" );
-    h = target_module->imported_modules;
-
-    for ( ; module_names; module_names = module_names->next )
-    {
-        char * s = module_names->string;
-        char * * ss = &s;
-        hashenter( h, (HASHDATA * *)&ss );
-    }
-
-    PROFILE_EXIT( IMPORT_MODULE );
-}
-
-
-static void add_module_name( void * r_, void * result_ )
-{
-    char * * r = (char * *)r_;
-    LIST * * result = (LIST * *)result_;
-
-    *result = list_new( *result, copystr( *r ) );
-}
-
-
-LIST * imported_modules( module_t * module )
-{
-    LIST * result = L0;
-    if ( module->imported_modules )
-        hashenumerate( module->imported_modules, add_module_name, &result );
-    return result;
-}
diff --git a/SRC/Boost/tools/build/v2/engine/modules.h b/SRC/Boost/tools/build/v2/engine/modules.h
deleted file mode 100755
index 4dbe3d3..0000000
--- a/SRC/Boost/tools/build/v2/engine/modules.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-#ifndef MODULES_DWA10182001_H
-# define MODULES_DWA10182001_H
-
-#include "lists.h"
-
-struct module_t
-{
-    char* name;
-    struct hash* rules;
-    struct hash* variables;
-    struct hash* imported_modules;
-    struct module_t* class_module;
-    struct hash* native_rules;
-    int user_module;
-};
-
-typedef struct module_t module_t ; /* MSVC debugger gets confused unless this is provided */
-
-module_t* bindmodule( char* name );
-module_t* root_module();
-void enter_module( module_t* );
-void exit_module( module_t* );
-void delete_module( module_t* );
-
-void import_module(LIST* module_names, module_t* target_module);
-LIST* imported_modules(module_t* module);
-
-struct hash* demand_rules( module_t* );
-
-
-#endif
-
diff --git a/SRC/Boost/tools/build/v2/engine/modules/order.c b/SRC/Boost/tools/build/v2/engine/modules/order.c
deleted file mode 100755
index 85ca67b..0000000
--- a/SRC/Boost/tools/build/v2/engine/modules/order.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/* Copyright Vladimir Prus 2004. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#include "../native.h"
-#include "../lists.h"
-#include "../strings.h"
-#include "../newstr.h"
-#include "../variable.h"
-
-
-/* Use quite klugy approach: when we add order dependency from 'a' to 'b',
-   just append 'b' to of value of variable 'a'.
-*/
-LIST *add_pair( PARSE *parse, FRAME *frame )
-{
-    LIST* arg = lol_get( frame->args, 0 );    
-
-    var_set(arg->string, list_copy(0, arg->next), VAR_APPEND);
-
-    return L0;
-}
-
-/** Given a list and a value, returns position of that value in
-    the list, or -1 if not found.
-*/
-int list_index(LIST* list, const char* value)
-{
-    int result = 0;
-    for(; list; list = list->next, ++result) {
-        if (strcmp(list->string, value) == 0)
-            return result;
-    }
-    return -1;
-}
-
-enum colors { white, gray, black };
-
-/* Main routite of topological sort. Calls itself recursively on all
-   adjacent vertices which were not yet visited. After that, 'current_vertex'
-   is added to '*result_ptr'.
-*/
-void do_ts(int** graph, int current_vertex, int* colors, int** result_ptr)
-{
-    int i;
-
-    colors[current_vertex] = gray;
-    for(i = 0; graph[current_vertex][i] != -1; ++i) {
-        int adjacent_vertex = graph[current_vertex][i];
-
-        if (colors[adjacent_vertex] == white)
-            do_ts(graph, adjacent_vertex, colors, result_ptr);
-        /* The vertex is either black, in which case we don't have to do
-           anything, a gray, in which case we have a loop. If we have a loop,
-           it's not clear what useful diagnostic we can emit, so we emit
-           nothing.  */
-    }
-    colors[current_vertex] = black;
-    **result_ptr = current_vertex;    
-    (*result_ptr)++;
-}
-
-void topological_sort(int** graph, int num_vertices, int* result)
-{
-    int i;
-    int* colors = (int*)BJAM_CALLOC(num_vertices, sizeof(int));
-    for (i = 0; i < num_vertices; ++i)
-        colors[i] = white;
-
-    for(i = 0; i < num_vertices; ++i)
-        if (colors[i] == white)
-            do_ts(graph, i, colors, &result);
-
-    BJAM_FREE(colors);
-}
-
-LIST *order( PARSE *parse, FRAME *frame )
-{
-    LIST* arg = lol_get( frame->args, 0 );  
-    LIST* tmp;
-    LIST* result = 0;
-    int src;
-
-    /* We need to create a graph of order dependencies between
-       the passed objects. We assume that there are no duplicates
-       passed to 'add_pair'.
-    */
-    int length = list_length(arg);
-    int** graph = (int**)BJAM_CALLOC(length, sizeof(int*));
-    int* order = (int*)BJAM_MALLOC((length+1)*sizeof(int));
-   
-    for(tmp = arg, src = 0; tmp; tmp = tmp->next, ++src) {
-        /* For all object this one depend upon, add elements
-           to 'graph' */
-        LIST* dependencies = var_get(tmp->string);
-        int index = 0;
-
-        graph[src] = (int*)BJAM_CALLOC(list_length(dependencies)+1, sizeof(int));
-        for(; dependencies; dependencies = dependencies->next) {          
-            int dst = list_index(arg, dependencies->string);
-            if (dst != -1)
-                graph[src][index++] = dst;
-        }
-        graph[src][index] = -1;               
-    }
-
-    topological_sort(graph, length, order);
-
-    {
-        int index = length-1;
-        for(; index >= 0; --index) {
-            int i;
-            tmp = arg;
-            for (i = 0; i < order[index]; ++i, tmp = tmp->next);
-            result = list_new(result, tmp->string);
-        }
-    }
-
-    /* Clean up */
-    {
-        int i;
-        for(i = 0; i < length; ++i)
-            BJAM_FREE(graph[i]);
-        BJAM_FREE(graph);
-        BJAM_FREE(order);
-    }
-
-    return result;
-}
-
-void init_order()
-{
-    {
-        char* args[] = { "first", "second", 0 };
-        declare_native_rule("class at order", "add-pair", args, add_pair, 1);
-    }
-
-    {
-        char* args[] = { "objects", "*", 0 };
-        declare_native_rule("class at order", "order", args, order, 1);
-    }
-
-
-}
diff --git a/SRC/Boost/tools/build/v2/engine/modules/path.c b/SRC/Boost/tools/build/v2/engine/modules/path.c
deleted file mode 100755
index 93d5672..0000000
--- a/SRC/Boost/tools/build/v2/engine/modules/path.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright Vladimir Prus 2003. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#include "../native.h"
-#include "../timestamp.h"
-#include "../newstr.h"
-
-LIST *path_exists( PARSE *parse, FRAME *frame )
-{
-    LIST* l = lol_get( frame->args, 0 );    
-
-    time_t time;
-    timestamp(l->string, &time);
-    if (time != 0)
-    {
-        return list_new(0, newstr("true"));
-    }
-    else
-    {
-        return L0;
-    }
-}
-
-void init_path()
-{
-    {
-        char* args[] = { "location", 0 };
-        declare_native_rule("path", "exists", args, path_exists, 1);
-    }
-
-}
diff --git a/SRC/Boost/tools/build/v2/engine/modules/property-set.c b/SRC/Boost/tools/build/v2/engine/modules/property-set.c
deleted file mode 100755
index 17994b0..0000000
--- a/SRC/Boost/tools/build/v2/engine/modules/property-set.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright Vladimir Prus 2003. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#include "../native.h"
-#include "../timestamp.h"
-#include "../newstr.h"
-#include "../strings.h"
-#include "../lists.h"
-#include "../variable.h"
-#include "../compile.h"
-
-LIST* get_grist(char* f)
-{
-    char* end = strchr(f, '>');
-    string s[1];
-    LIST* result;
-
-    string_new(s);
-
-    string_append_range(s, f, end+1);
-    result = list_new(0, newstr(s->value));
-
-    string_free(s);
-    return result;
-}
-
-/*
-rule create ( raw-properties * )
-{
-    raw-properties = [ sequence.unique
-        [ sequence.insertion-sort $(raw-properties) ] ] ;
-
-    local key = $(raw-properties:J=-:E=) ;
-
-    if ! $(.ps.$(key))
-    {
-        .ps.$(key) = [ new property-set $(raw-properties) ] ;
-    }
-    return $(.ps.$(key)) ;
-}
-*/
-
-LIST *property_set_create( PARSE *parse, FRAME *frame )
-{
-    LIST* properties = lol_get( frame->args, 0 );
-    LIST* sorted = 0;
-#if 0
-    LIST* order_sensitive = 0;
-#endif
-    LIST* unique;
-    LIST* tmp;
-    LIST* val;
-    string var[1];
-
-#if 0
-    /* Sort all properties which are not order sensitive */
-    for(tmp = properties; tmp; tmp = tmp->next) {
-        LIST* g = get_grist(tmp->string);
-        LIST* att = call_rule("feature.attributes", frame, g, 0);
-        if (list_in(att, "order-sensitive")) {
-            order_sensitive = list_new( order_sensitive, tmp->string);
-        } else {
-            sorted = list_new( sorted, tmp->string);
-        }
-        list_free(att);
-    }
-
-    sorted = list_sort(sorted);
-    sorted = list_append(sorted, order_sensitive);
-    unique = list_unique(sorted);
-#endif
-    sorted = list_sort(properties);
-    unique = list_unique(sorted);
-
-    string_new(var);
-    string_append(var, ".ps.");
-
-    for(tmp = unique; tmp; tmp = tmp->next) {
-        string_append(var, tmp->string);
-        string_push_back(var, '-');
-    }
-    val = var_get(var->value);
-    if (val == 0)
-    {
-        val = call_rule("new", frame,
-                        list_append(list_new(0, "property-set"), unique), 0);
-
-        var_set(newstr(var->value), list_copy(0, val), VAR_SET);
-    }
-    else
-    {
-        val = list_copy(0, val);
-    }
-
-    string_free(var);
-    /* The 'unique' variable is freed in 'call_rule'. */
-    list_free(sorted);
-
-    return val;
-
-}
-
-void init_property_set()
-{
-    {
-        char* args[] = { "raw-properties", "*", 0 };
-        declare_native_rule("property-set", "create", args, property_set_create, 1);
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/engine/modules/readme.txt b/SRC/Boost/tools/build/v2/engine/modules/readme.txt
deleted file mode 100755
index c127d33..0000000
--- a/SRC/Boost/tools/build/v2/engine/modules/readme.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-
-This directory constains sources which declare native
-rules for Boost.Build modules.
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/engine/modules/regex.c b/SRC/Boost/tools/build/v2/engine/modules/regex.c
deleted file mode 100755
index 7066f60..0000000
--- a/SRC/Boost/tools/build/v2/engine/modules/regex.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Copyright Vladimir Prus 2003. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#include "../native.h"
-#include "../timestamp.h"
-#include "../newstr.h"
-#include "../strings.h"
-#include "../regexp.h"
-#include "../compile.h"
-
-/*
-rule transform ( list * : pattern : indices * )
-{
-    indices ?= 1 ;
-    local result ;
-    for local e in $(list)
-    {
-        local m = [ MATCH $(pattern) : $(e) ] ;
-        if $(m)
-        {
-            result += $(m[$(indices)]) ;
-        }        
-    }
-    return $(result) ;
-}
-*/
-LIST *regex_transform( PARSE *parse, FRAME *frame )
-{
-    LIST* l = lol_get( frame->args, 0 );    
-    LIST* pattern = lol_get( frame->args, 1 );    
-    LIST* indices_list = lol_get(frame->args, 2);
-    int* indices = 0;
-    int size;
-    int* p;
-    LIST* result = 0;
-
-    string buf[1];
-    string_new(buf);
-
-    if (indices_list)
-    {
-        size = list_length(indices_list);
-        indices = (int*)BJAM_MALLOC(size*sizeof(int));
-        for(p = indices; indices_list; indices_list = indices_list->next)
-        {
-            *p++ = atoi(indices_list->string);
-        }        
-    }
-    else 
-    {
-        size = 1;
-        indices = (int*)BJAM_MALLOC(sizeof(int));
-        *indices = 1;
-    }
-
-    {
-        /* Result is cached and intentionally never freed */
-        regexp *re = regex_compile( pattern->string );
-
-        for(; l; l = l->next)
-        {
-            if( regexec( re, l->string ) )
-            {
-                int i = 0;
-                for(; i < size; ++i)
-                {
-                    int index = indices[i];
-                    /* Skip empty submatches. Not sure it's right in all cases,
-                       but surely is right for the case for which this routine
-                       is optimized -- header scanning.
-                    */
-                    if (re->startp[index] != re->endp[index])
-                    {
-                        string_append_range( buf, re->startp[index], re->endp[index] );
-                        result = list_new( result, newstr( buf->value ) ); 
-                        string_truncate( buf, 0 );
-                    }
-                }
-            }
-        }
-        string_free( buf );
-    }
-
-    BJAM_FREE(indices);
-    
-    return result;
-}
-
-void init_regex()
-{
-    {
-        char* args[] = { "list", "*", ":", "pattern", ":", "indices", "*", 0 };
-        declare_native_rule("regex", "transform", args, regex_transform, 2);
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/engine/modules/sequence.c b/SRC/Boost/tools/build/v2/engine/modules/sequence.c
deleted file mode 100755
index fa0b9f9..0000000
--- a/SRC/Boost/tools/build/v2/engine/modules/sequence.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright Vladimir Prus 2003. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#include "../native.h"
-
-# ifndef max
-# define max( a,b ) ((a)>(b)?(a):(b))
-# endif
-
-
-LIST *sequence_select_highest_ranked( PARSE *parse, FRAME *frame )
-{
-   /* Returns all of 'elements' for which corresponding element in parallel */
-   /* list 'rank' is equal to the maximum value in 'rank'.                  */
-
-    LIST* elements = lol_get( frame->args, 0 );    
-    LIST* rank = lol_get( frame->args, 1 );    
-    
-    LIST* result = 0;
-    LIST* tmp;
-    int highest_rank = -1;
-
-    for (tmp = rank; tmp; tmp = tmp->next)
-        highest_rank = max(highest_rank, atoi(tmp->string));
-
-    for (; rank; rank = rank->next, elements = elements->next)
-        if (atoi(rank->string) == highest_rank)
-            result = list_new(result, elements->string);
-
-    return result;
-}
-
-void init_sequence()
-{
-    {
-        char* args[] = { "elements", "*", ":", "rank", "*", 0 };
-        declare_native_rule("sequence", "select-highest-ranked", args, 
-                            sequence_select_highest_ranked, 1);
-    }
-
-}
diff --git a/SRC/Boost/tools/build/v2/engine/modules/set.c b/SRC/Boost/tools/build/v2/engine/modules/set.c
deleted file mode 100755
index df4857b..0000000
--- a/SRC/Boost/tools/build/v2/engine/modules/set.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright Vladimir Prus 2003. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#include "../native.h"
-
-/*
-    local result = ;
-    local element ;
-    for element in $(B)
-    {
-        if ! ( $(element) in $(A) )
-        {
-            result += $(element) ;
-        }
-    }
-    return $(result) ;
-*/
-LIST *set_difference( PARSE *parse, FRAME *frame )
-{
-
-    LIST* b = lol_get( frame->args, 0 );    
-    LIST* a = lol_get( frame->args, 1 );    
-
-    LIST* result = 0;
-    for(; b; b = b->next)
-    {
-        if (!list_in(a, b->string))
-            result = list_new(result, b->string);
-    }
-    return result;
-}
-
-void init_set()
-{
-    {
-        char* args[] = { "B", "*", ":", "A", "*", 0 };
-        declare_native_rule("set", "difference", args, set_difference, 1);
-    }
-
-}
diff --git a/SRC/Boost/tools/build/v2/engine/native.c b/SRC/Boost/tools/build/v2/engine/native.c
deleted file mode 100755
index b95836d..0000000
--- a/SRC/Boost/tools/build/v2/engine/native.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright Vladimir Prus 2003. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#include "native.h"
-#include "hash.h"
-
-# define P0 (PARSE *)0
-# define C0 (char *)0
-
-
-void declare_native_rule(char* module, char* rule, char** args,
-                         LIST*(*f)(PARSE*, FRAME*), int version)
-{
-    module_t* m = bindmodule(module);
-    if (m->native_rules == 0) {
-        m->native_rules = hashinit( sizeof( native_rule_t ), "native rules");
-    }
-
-    {
-        native_rule_t n, *np = &n;
-        n.name = rule;
-        if (args)
-        {
-            n.arguments = args_new();
-            lol_build( n.arguments->data, args );
-        }
-        else
-        {
-            n.arguments = 0;
-        }
-        n.procedure = parse_make( f, P0, P0, P0, C0, C0, 0 );
-        n.version = version;
-        hashenter(m->native_rules, (HASHDATA**)&np);
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/engine/native.h b/SRC/Boost/tools/build/v2/engine/native.h
deleted file mode 100755
index ddd5d61..0000000
--- a/SRC/Boost/tools/build/v2/engine/native.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright David Abrahams 2003. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#ifndef NATIVE_H_VP_2003_12_09
-#define NATIVE_H_VP_2003_12_09
-
-#include "rules.h"
-
-struct native_rule_t
-{
-    char* name;
-    argument_list* arguments;
-    PARSE* procedure;
-    /* Version of the interface that the native rule provides.
-       It's possible that we want to change the set parameter
-       for existing native rule. In that case, version number
-       should be incremented so that Boost.Build can check for
-       version it relies on.
-
-       Versions are numbered from 1.
-    */
-    int version;
-};
-
-/* MSVC debugger gets confused unless this is provided */
-typedef struct native_rule_t native_rule_t ;
-
-void declare_native_rule(char* module, char* rule, char** args,
-                         LIST*(*f)(PARSE*, FRAME*), int version);
-
-
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/newstr.c b/SRC/Boost/tools/build/v2/engine/newstr.c
deleted file mode 100755
index e0c38d0..0000000
--- a/SRC/Boost/tools/build/v2/engine/newstr.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-# include "jam.h"
-# include "newstr.h"
-# include "hash.h"
-# include "compile.h"
-# include <stddef.h>
-# include <stdlib.h>
-
-/*
- * newstr.c - string manipulation routines
- *
- * To minimize string copying, string creation, copying, and freeing
- * is done through newstr.
- *
- * External functions:
- *
- *    newstr() - return a dynamically allocated copy of a string
- *    copystr() - return a copy of a string previously returned by newstr()
- *    freestr() - free a string returned by newstr() or copystr()
- *    str_done() - free string tables
- *
- * Once a string is passed to newstr(), the returned string is readonly.
- *
- * This implementation builds a hash table of all strings, so that multiple
- * calls of newstr() on the same string allocate memory for the string once.
- * Strings are never actually freed.
- */
-
-typedef char * STRING;
-
-static struct hash * strhash      = 0;
-static int           strtotal     = 0;
-static int           strcount_in  = 0;
-static int           strcount_out = 0;
-
-
-/*
- * Immortal string allocator implementation speeds string allocation and cuts
- * down on internal fragmentation.
- */
-
-# define STRING_BLOCK 4096
-typedef struct strblock
-{
-    struct strblock * next;
-    char              data[STRING_BLOCK];
-} strblock;
-
-static strblock * strblock_chain = 0;
-
-/* Storage remaining in the current strblock */
-static char * storage_start = 0;
-static char * storage_finish = 0;
-
-
-/*
- * allocate() - Allocate n bytes of immortal string storage.
- */
-
-static char * allocate( size_t const n )
-{
-#ifdef BJAM_NEWSTR_NO_ALLOCATE
-    return (char*)BJAM_MALLOC_ATOMIC(n);
-#else
-    /* See if we can grab storage from an existing block. */
-    size_t remaining = storage_finish - storage_start;
-    if ( remaining >= n )
-    {
-        char * result = storage_start;
-        storage_start += n;
-        return result;
-    }
-    else /* Must allocate a new block. */
-    {
-        strblock * new_block;
-        size_t nalloc = n;
-        if ( nalloc < STRING_BLOCK )
-            nalloc = STRING_BLOCK;
-
-        /* Allocate a new block and link into the chain. */
-        new_block = (strblock *)BJAM_MALLOC( offsetof( strblock, data[0] ) + nalloc * sizeof( new_block->data[0] ) );
-        if ( new_block == 0 )
-            return 0;
-        new_block->next = strblock_chain;
-        strblock_chain = new_block;
-
-        /* Take future allocations out of the larger remaining space. */
-        if ( remaining < nalloc - n )
-        {
-            storage_start = new_block->data + n;
-            storage_finish = new_block->data + nalloc;
-        }
-        return new_block->data;
-    }
-#endif
-}
-
-
-/*
- * newstr() - return a dynamically allocated copy of a string.
- */
-
-char * newstr( char * string )
-{
-    STRING str;
-    STRING * s = &str;
-
-    if ( !strhash )
-        strhash = hashinit( sizeof( STRING ), "strings" );
-
-    *s = string;
-
-    if ( hashenter( strhash, (HASHDATA **)&s ) )
-    {
-        int l = strlen( string );
-        char * m = (char *)allocate( l + 1 );
-
-        strtotal += l + 1;
-        memcpy( m, string, l + 1 );
-        *s = m;
-    }
-
-    strcount_in += 1;
-    return *s;
-}
-
-
-/*
- * copystr() - return a copy of a string previously returned by newstr()
- */
-
-char * copystr( char * s )
-{
-    strcount_in += 1;
-    return s;
-}
-
-
-/*
- * freestr() - free a string returned by newstr() or copystr()
- */
-
-void freestr( char * s )
-{
-    strcount_out += 1;
-}
-
-
-/*
- * str_done() - free string tables.
- */
-
-void str_done()
-{
-    /* Reclaim string blocks. */
-    while ( strblock_chain != 0 )
-    {
-        strblock * n = strblock_chain->next;
-        BJAM_FREE(strblock_chain);
-        strblock_chain = n;
-    }
-
-    hashdone( strhash );
-
-    if ( DEBUG_MEM )
-        printf( "%dK in strings\n", strtotal / 1024 );
-
-    /* printf( "--- %d strings of %d dangling\n", strcount_in-strcount_out, strcount_in ); */
-}
diff --git a/SRC/Boost/tools/build/v2/engine/newstr.h b/SRC/Boost/tools/build/v2/engine/newstr.h
deleted file mode 100755
index 1ab6a76..0000000
--- a/SRC/Boost/tools/build/v2/engine/newstr.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * newstr.h - string manipulation routines
- */
-
-char * copystr ( char * );
-void   freestr ( char * );
-char * newstr  ( char * );
-void   str_done();
diff --git a/SRC/Boost/tools/build/v2/engine/option.c b/SRC/Boost/tools/build/v2/engine/option.c
deleted file mode 100755
index 50ea900..0000000
--- a/SRC/Boost/tools/build/v2/engine/option.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-# include "jam.h"
-# include "option.h"
-
-/*
- * option.c - command line option processing
- *
- * {o >o
- *  \<>) "Process command line options as defined in <option.h>.
- *        Return the number of argv[] elements used up by options,
- *        or -1 if an invalid option flag was given or an argument
- *        was supplied for an option that does not require one."
- */
-
-int getoptions( int argc, char * * argv, char * opts, bjam_option * optv )
-{
-    int i;
-    int optc = N_OPTS;
-
-    memset( (char *)optv, '\0', sizeof( *optv ) * N_OPTS );
-
-    for ( i = 0; i < argc; ++i )
-    {
-        char *arg;
-
-        if ( ( argv[ i ][ 0 ] != '-' ) ||
-            ( ( argv[ i ][ 1 ] != '-' ) && !isalpha( argv[ i ][ 1 ] ) ) )
-            continue;
-
-        if ( !optc-- )
-        {
-            printf( "too many options (%d max)\n", N_OPTS );
-            return -1;
-        }
-
-        for ( arg = &argv[ i ][ 1 ]; *arg; ++arg )
-        {
-            char * f;
-
-            for ( f = opts; *f; ++f )
-                if ( *f == *arg )
-                    break;
-
-            if ( !*f )
-            {
-                printf( "Invalid option: -%c\n", *arg );
-                return -1;
-            }
-
-            optv->flag = *f;
-
-            if ( f[ 1 ] != ':' )
-            {
-                optv++->val = "true";
-            }
-            else if ( arg[ 1 ] )
-            {
-                optv++->val = &arg[1];
-                break;
-            }
-            else if ( ++i < argc )
-            {
-                optv++->val = argv[ i ];
-                break;
-            }
-            else
-            {
-                printf( "option: -%c needs argument\n", *f );
-                return -1;
-            }
-        }
-    }
-
-    return i;
-}
-
-
-/*
- * Name: getoptval() - find an option given its character.
- */
-
-char * getoptval( bjam_option * optv, char opt, int subopt )
-{
-    int i;
-    for ( i = 0; i < N_OPTS; ++i, ++optv )
-        if ( ( optv->flag == opt ) && !subopt-- )
-            return optv->val;
-    return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/engine/option.h b/SRC/Boost/tools/build/v2/engine/option.h
deleted file mode 100755
index d061989..0000000
--- a/SRC/Boost/tools/build/v2/engine/option.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * option.h - command line option processing
- *
- * {o >o
- *  \ -) "Command line option."
- */
-
-typedef struct bjam_option
-{
-    char    flag;       /* filled in by getoption() */
-    char    *val;       /* set to random address if true */
-} bjam_option;
-
-# define N_OPTS 256
-
-int     getoptions( int argc, char **argv, char *opts, bjam_option *optv );
-char *  getoptval( bjam_option *optv, char opt, int subopt );
diff --git a/SRC/Boost/tools/build/v2/engine/output.c b/SRC/Boost/tools/build/v2/engine/output.c
deleted file mode 100755
index f1f19eb..0000000
--- a/SRC/Boost/tools/build/v2/engine/output.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
-    Copyright 2007 Rene Rivera
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#include "jam.h"
-#include "output.h"
-#include "newstr.h"
-#include <stdio.h>
-
-#define bjam_out (stdout)
-#define bjam_err (stderr)
-
-static void out_
-(
-    char const * data,
-    FILE       * io
-)
-{
-    while ( *data )
-    {
-        size_t len = strcspn(data,"\r");
-        data += fwrite(data,1,len,io);
-        if ( *data == '\r' ) ++data;
-    }
-}
-
-
-void out_action
-(
-    char const * action,
-    char const * target,
-    char const * command,
-    char const * out_data,
-    char const * err_data,
-    int          exit_reason
-)
-{
-    /* Print out the action+target line, if the action is quite the action
-     * should be null.
-     */
-    if ( action )
-    {
-        fprintf( bjam_out, "%s %s\n", action, target );
-    }
-
-    /* Print out the command executed if given -d+2. */
-    if ( DEBUG_EXEC )
-    {
-        fputs( command, bjam_out );
-        fputc( '\n', bjam_out );
-    }
-
-    /* Print out the command executed to the command stream. */
-    if ( globs.cmdout )
-    {
-        fputs( command, globs.cmdout );
-    }
-
-    switch ( exit_reason )
-    {
-        case EXIT_OK:
-            break;
-        case EXIT_FAIL:
-            break;
-        case EXIT_TIMEOUT:
-        {
-            /* Process expired, make user aware with explicit message. */
-            if ( action )
-            {
-                /* But only output for non-quietly actions. */
-                fprintf( bjam_out, "%ld second time limit exceeded\n", globs.timeout );
-            }
-            break;
-        }
-        default:
-          break;
-    }
-
-    /* Print out the command output, if requested, or if the program failed. */
-    if ( action || exit_reason != EXIT_OK)
-    {
-        /* But only output for non-quietly actions. */
-        if ( ( 0 != out_data ) &&
-           ( ( globs.pipe_action & 1 /* STDOUT_FILENO */ ) ||
-             ( globs.pipe_action == 0 ) ) )
-        {
-            out_( out_data, bjam_out );
-        }
-        if ( ( 0 != err_data ) &&
-            ( globs.pipe_action & 2 /* STDERR_FILENO */ ) )
-        {
-            out_( err_data, bjam_err );
-        }
-    }
-
-    fflush( bjam_out );
-    fflush( bjam_err );
-    fflush( globs.cmdout );
-}
-
-
-char * outf_int( int value )
-{
-    char buffer[50];
-    sprintf( buffer, "%i", value );
-    return newstr( buffer );
-}
-
-
-char * outf_double( double value )
-{
-    char buffer[50];
-    sprintf( buffer, "%f", value );
-    return newstr( buffer );
-}
-
-
-char * outf_time( time_t value )
-{
-    char buffer[50];
-    strftime( buffer, 49, "%Y-%m-%d %H:%M:%SZ", gmtime( &value ) );
-    return newstr( buffer );
-}
diff --git a/SRC/Boost/tools/build/v2/engine/output.h b/SRC/Boost/tools/build/v2/engine/output.h
deleted file mode 100755
index cf97e80..0000000
--- a/SRC/Boost/tools/build/v2/engine/output.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-    Copyright 2007 Rene Rivera
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#ifndef BJAM_OUTPUT_H
-#define BJAM_OUTPUT_H
-
-#include <time.h>
-
-#define EXIT_OK 0
-#define EXIT_FAIL 1
-#define EXIT_TIMEOUT 2
-
-void out_action(
-    const char * action,
-    const char * target,
-    const char * command,
-    const char * out_data,
-    const char * err_data,
-    int exit_reason
-    );
-
-char * outf_int( int value );
-char * outf_double( double value );
-char * outf_time( time_t value );
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/parse.c b/SRC/Boost/tools/build/v2/engine/parse.c
deleted file mode 100755
index 360e930..0000000
--- a/SRC/Boost/tools/build/v2/engine/parse.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright 1993, 2000 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-#include "jam.h"
-#include "lists.h"
-#include "parse.h"
-#include "scan.h"
-#include "newstr.h"
-#include "modules.h"
-#include "frames.h"
-
-/*
- * parse.c - make and destroy parse trees as driven by the parser
- *
- * 09/07/00 (seiwald) - ref count on PARSE to avoid freeing when used,
- *      as per Matt Armstrong.
- * 09/11/00 (seiwald) - structure reworked to reflect that (*func)()
- *      returns a LIST *.
- */
-
-static PARSE * yypsave;
-
-void parse_file( char * f, FRAME * frame )
-{
-    /* Suspend scan of current file and push this new file in the stream. */
-    yyfparse( f );
-
-    /* Now parse each block of rules and execute it. Execute it outside of the
-     * parser so that recursive calls to yyrun() work (no recursive yyparse's).
-     */
-
-    for ( ; ; )
-    {
-        PARSE * p;
-
-        /* Filled by yyparse() calling parse_save(). */
-        yypsave = 0;
-
-        /* If parse error or empty parse, outta here. */
-        if ( yyparse() || !( p = yypsave ) )
-            break;
-
-        /* Run the parse tree. */
-        parse_evaluate( p, frame );
-        parse_free( p );
-    }
-}
-
-
-void parse_save( PARSE * p )
-{
-    yypsave = p;
-}
-
-
-PARSE * parse_make(
-    LIST  * (* func)( PARSE *, FRAME * ),
-    PARSE * left,
-    PARSE * right,
-    PARSE * third,
-    char  * string,
-    char  * string1,
-    int     num )
-{
-    PARSE * p = (PARSE *)BJAM_MALLOC( sizeof( PARSE ) );
-
-    p->func = func;
-    p->left = left;
-    p->right = right;
-    p->third = third;
-    p->string = string;
-    p->string1 = string1;
-    p->num = num;
-    p->refs = 1;
-    p->rulename = 0;
-
-    if ( left )
-    {
-        p->file = left->file;
-        p->line = left->line;
-    }
-    else
-    {
-        yyinput_stream( &p->file, &p->line );
-    }
-
-    return p;
-}
-
-
-void parse_refer( PARSE * p )
-{
-    ++p->refs;
-}
-
-
-void parse_free( PARSE * p )
-{
-    if ( --p->refs )
-        return;
-
-    if ( p->string )
-        freestr( p->string );
-    if ( p->string1 )
-        freestr( p->string1 );
-    if ( p->left )
-        parse_free( p->left );
-    if ( p->right )
-        parse_free( p->right );
-    if ( p->third )
-        parse_free( p->third );
-    if ( p->rulename )
-        freestr( p->rulename );
-
-    BJAM_FREE( (char *)p );
-}
-
-
-LIST * parse_evaluate( PARSE * p, FRAME * frame )
-{
-    frame->procedure = p;
-    return (*p->func)( p, frame );
-}
diff --git a/SRC/Boost/tools/build/v2/engine/parse.h b/SRC/Boost/tools/build/v2/engine/parse.h
deleted file mode 100755
index 86994be..0000000
--- a/SRC/Boost/tools/build/v2/engine/parse.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 1993, 2000 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/* This file is ALSO:
- * Copyright 2001-2004 David Abrahams.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-#ifndef PARSE_DWA20011020_H
-#define PARSE_DWA20011020_H
-
-#include "frames.h"
-#include "modules.h"
-#include "lists.h"
-
-/*
- * parse.h - make and destroy parse trees as driven by the parser.
- */
-
-/*
- * Parse tree node.
- */
-
-struct _PARSE {
-    LIST   * (* func)( PARSE *, FRAME * );
-    PARSE  * left;
-    PARSE  * right;
-    PARSE  * third;
-    char   * string;
-    char   * string1;
-    int      num;
-    int      refs;
-/*  module * module; */
-    char   * rulename;
-    char   * file;
-    int      line;
-};
-
-void    parse_file( char *, FRAME * );
-void    parse_save( PARSE * );
-
-PARSE * parse_make(
-    LIST  * (* func)( PARSE *, FRAME * ),
-    PARSE * left,
-    PARSE * right,
-    PARSE * third,
-    char  * string,
-    char  * string1,
-    int     num );
-
-void   parse_refer   ( PARSE * );
-void   parse_free    ( PARSE * );
-LIST * parse_evaluate( PARSE *, FRAME * );
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/patchlevel.h b/SRC/Boost/tools/build/v2/engine/patchlevel.h
deleted file mode 100755
index 2dd8fca..0000000
--- a/SRC/Boost/tools/build/v2/engine/patchlevel.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/* Keep JAMVERSYM in sync with VERSION. */
-/* It can be accessed as $(JAMVERSION) in the Jamfile. */
-
-#define VERSION_MAJOR 2011
-#define VERSION_MINOR 04
-#define VERSION_PATCH 0
-#define VERSION_MAJOR_SYM "2011"
-#define VERSION_MINOR_SYM "04"
-#define VERSION_PATCH_SYM "00"
-#define VERSION "2011.4"
-#define JAMVERSYM "JAMVERSION=2011.4"
diff --git a/SRC/Boost/tools/build/v2/engine/pathmac.c b/SRC/Boost/tools/build/v2/engine/pathmac.c
deleted file mode 100755
index 55be98d..0000000
--- a/SRC/Boost/tools/build/v2/engine/pathmac.c
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "jam.h"
-# include "pathsys.h"
-
-# ifdef OS_MAC
-
-# define DELIM ':'
-
-/*
- * pathunix.c - manipulate file names on UNIX, NT, OS2
- *
- * External routines:
- *
- *  path_parse() - split a file name into dir/base/suffix/member
- *  path_build() - build a filename given dir/base/suffix/member
- *  path_parent() - make a PATHNAME point to its parent dir
- *
- * File_parse() and path_build() just manipuate a string and a structure;
- * they do not make system calls.
- *
- * 04/08/94 (seiwald) - Coherent/386 support added.
- * 12/26/93 (seiwald) - handle dir/.suffix properly in path_build()
- * 12/19/94 (mikem) - solaris string table insanity support
- * 12/21/94 (wingerd) Use backslashes for pathnames - the NT way.
- * 02/14/95 (seiwald) - parse and build /xxx properly
- * 02/23/95 (wingerd) Compilers on NT can handle "/" in pathnames, so we
- *                    should expect hdr searches to come up with strings
- *                    like "thing/thing.h". So we need to test for "/" as
- *                    well as "\" when parsing pathnames.
- * 03/16/95 (seiwald) - fixed accursed typo on line 69.
- * 05/03/96 (seiwald) - split from filent.c, fileunix.c
- * 12/20/96 (seiwald) - when looking for the rightmost . in a file name,
- *            don't include the archive member name.
- * 01/10/01 (seiwald) - path_parse now strips the trailing : from the
- *          directory name, unless the directory name is all
- *          :'s, so that $(d:P) works.
- */
-
-/*
- * path_parse() - split a file name into dir/base/suffix/member
- */
-
-void
-path_parse(
-    char    *file,
-    PATHNAME *f )
-{
-    char *p, *q;
-    char *end;
-
-    memset( (char *)f, 0, sizeof( *f ) );
-
-    /* Look for <grist> */
-
-    if ( file[0] == '<' && ( p = strchr( file, '>' ) ) )
-    {
-        f->f_grist.ptr = file;
-        f->f_grist.len = p - file;
-        file = p + 1;
-    }
-
-    /* Look for dir: */
-
-    if ( p = strrchr( file, DELIM ) )
-    {
-        f->f_dir.ptr = file;
-        f->f_dir.len = p - file;
-        file = p + 1;
-
-        /* All :'s? Include last : as part of directory name */
-
-        while ( ( p > f->f_dir.ptr ) && ( *--p == DELIM ) );
-
-        if ( p == f->f_dir.ptr )
-            ++f->f_dir.len;
-    }
-
-    end = file + strlen( file );
-
-    /* Look for (member). */
-
-    if ( ( p = strchr( file, '(' ) ) && ( end[-1] == ')' ) )
-    {
-        f->f_member.ptr = p + 1;
-        f->f_member.len = end - p - 2;
-        end = p;
-    }
-
-    /* Look for .suffix */
-    /* This would be memrchr() */
-
-    p = 0;
-    q = file;
-
-    while ( q = memchr( q, '.', end - q ) )
-        p = q++;
-
-    if ( p )
-    {
-        f->f_suffix.ptr = p;
-        f->f_suffix.len = end - p;
-        end = p;
-    }
-
-    /* Leaves base */
-
-    f->f_base.ptr = file;
-    f->f_base.len = end - file;
-}
-
-/*
- * path_build() - build a filename given dir/base/suffix/member.
- */
-
-# define DIR_EMPTY  0   /* "" */
-# define DIR_DOT    1   /* : */
-# define DIR_DOTDOT 2   /* :: */
-# define DIR_ABS    3   /* dira:dirb: */
-# define DIR_REL    4   /* :dira:dirb: */
-
-# define G_DIR      0   /* take dir */
-# define G_ROOT     1   /* take root */
-# define G_CAT      2   /* prepend root to dir */
-# define G_DTDR     3   /* :: of rel dir */
-# define G_DDDD     4   /* make it ::: (../..) */
-# define G_MT       5   /* leave it empty */
-
-char grid[5][5] = {
-/*      EMPTY   DOT DOTDOT  ABS REL */
-/* EMPTY */   { G_MT,   G_DIR,  G_DIR,  G_DIR,  G_DIR },
-/* DOT */     { G_ROOT, G_DIR,  G_DIR,  G_DIR,  G_DIR },
-/* DOTDOT */  { G_ROOT, G_ROOT, G_DDDD, G_DIR,  G_DTDR },
-/* ABS */     { G_ROOT, G_ROOT, G_ROOT, G_DIR,  G_CAT },
-/* REL */     { G_ROOT, G_ROOT, G_ROOT, G_DIR,  G_CAT }
-};
-
-static int file_flags( char * ptr, int len )
-{
-    if ( !len )
-        return DIR_EMPTY;
-    if ( ( len == 1 ) && ( ptr[0] == DELIM ) )
-        return DIR_DOT;
-    if ( ( len == 2 ) && ( ptr[0] == DELIM ) && ( ptr[1] == DELIM ) )
-        return DIR_DOTDOT;
-    if ( ptr[0] == DELIM )
-        return DIR_REL;
-    return DIR_ABS;
-}
-
-
-void path_build( PATHNAME * f, string * file, int binding )
-{
-    int dflag;
-    int rflag;
-    int act;
-
-    file_build1( f, file );
-
-    /* Combine root & directory, according to the grid. */
-
-    dflag = file_flags( f->f_dir.ptr, f->f_dir.len );
-    rflag = file_flags( f->f_root.ptr, f->f_root.len );
-
-    switch ( act = grid[ rflag ][ dflag ] )
-    {
-    case G_DTDR:
-        {
-            /* :: of rel dir */
-            string_push_back( file, DELIM );
-        }
-        /* fall through */
-
-    case G_DIR:
-        /* take dir */
-        string_append_range( file, f->f_dir.ptr, f->f_dir.ptr + f->f_dir.len  );
-        break;
-
-    case G_ROOT:
-        /* take root */
-        string_append_range( file, f->f_root.ptr, f->f_root.ptr + f->f_root.len  );
-        break;
-
-    case G_CAT:
-        /* prepend root to dir */
-        string_append_range( file, f->f_root.ptr, f->f_root.ptr + f->f_root.len  );
-        if ( file->value[ file->size - 1 ] == DELIM )
-            string_pop_back( file );
-        string_append_range( file, f->f_dir.ptr, f->f_dir.ptr + f->f_dir.len  );
-        break;
-
-    case G_DDDD:
-        /* make it ::: (../..) */
-        string_append( file, ":::" );
-        break;
-    }
-
-    /* Put : between dir and file (if none already). */
-
-    if ( ( act != G_MT ) &&
-        ( file->value[ file->size - 1 ] != DELIM ) &&
-        ( f->f_base.len || f->f_suffix.len ) )
-    {
-        string_push_back( file, DELIM );
-    }
-
-    if ( f->f_base.len )
-        string_append_range( file, f->f_base.ptr, f->f_base.ptr + f->f_base.len  );
-
-    if ( f->f_suffix.len )
-        string_append_range( file, f->f_suffix.ptr, f->f_suffix.ptr + f->f_suffix.len  );
-
-    if ( f->f_member.len )
-    {
-        string_push_back( file, '(' );
-        string_append_range( file, f->f_member.ptr, f->f_member.ptr + f->f_member.len  );
-        string_push_back( file, ')' );
-    }
-
-    if ( DEBUG_SEARCH )
-        printf( " -> '%s'\n", file->value );
-}
-
-
-/*
- *  path_parent() - make a PATHNAME point to its parent dir
- */
-
-void path_parent( PATHNAME * f )
-{
-    /* Just set everything else to nothing. */
-
-    f->f_base.ptr =
-    f->f_suffix.ptr =
-    f->f_member.ptr = "";
-
-    f->f_base.len =
-    f->f_suffix.len =
-    f->f_member.len = 0;
-}
-
-# endif /* OS_MAC */
diff --git a/SRC/Boost/tools/build/v2/engine/pathsys.h b/SRC/Boost/tools/build/v2/engine/pathsys.h
deleted file mode 100755
index 6a4381c..0000000
--- a/SRC/Boost/tools/build/v2/engine/pathsys.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * pathsys.h - PATHNAME struct
- */
-
-/*
- * PATHNAME - a name of a file, broken into <grist>dir/base/suffix(member)
- *
- * <grist> is salt to distinguish between targets that otherwise would
- * have the same name:  it never appears in the bound name of a target.
- * (member) is an archive member name: the syntax is arbitrary, but must
- * agree in path_parse(), path_build() and the Jambase.
- *
- * On VMS, we keep track of whether the original path was a directory
- * (without a file), so that $(VAR:D) can climb to the parent.
- */
-
-#ifndef PATHSYS_VP_20020211_H
-# define PATHSYS_VP_20020211_H
-
-#include "strings.h"
-
-typedef struct _pathname PATHNAME;
-typedef struct _pathpart PATHPART;
-
-struct _pathpart
-{
-    char * ptr;
-    int    len;
-};
-
-struct _pathname
-{
-    PATHPART    part[6];
-#ifdef OS_VMS
-    int     parent;
-#endif
-
-#define f_grist    part[0]
-#define f_root     part[1]
-#define f_dir      part[2]
-#define f_base     part[3]
-#define f_suffix   part[4]
-#define f_member   part[5]
-};
-
-void path_build( PATHNAME * f, string * file, int binding );
-void path_build1( PATHNAME * f, string * file );
-
-void path_parse( char * file, PATHNAME * f );
-void path_parent( PATHNAME * f );
-
-#ifdef NT
-
-/** Returns newstr-allocated string with long equivivalent of 'short_name'.
-    If none exists -- i.e. 'short_path' is already long path, it's returned
-    unaltered. */
-char * short_path_to_long_path( char * short_path );
-
-#endif
-
-#ifdef USE_PATHUNIX
-/** Returns a static pointer to the system dependent path to the temporary
-    directory. NOTE: *without* a trailing path separator.
-*/
-const char * path_tmpdir( void );
-
-/** Returns a new temporary name.
-*/
-const char * path_tmpnam( void );
-
-/** Returns a new temporary path.
-*/
-const char * path_tmpfile( void );
-#endif
-
-/** Give the first argument to 'main', return a full path to
-    our executable.  Returns null in the unlikely case it
-    cannot be determined. Caller is responsible for freeing
-    the string.
-
-    Implemented in jam.c
-*/
-char * executable_path (char *argv0);
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/pathunix.c b/SRC/Boost/tools/build/v2/engine/pathunix.c
deleted file mode 100755
index 2230722..0000000
--- a/SRC/Boost/tools/build/v2/engine/pathunix.c
+++ /dev/null
@@ -1,457 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Copyright 2005 Rene Rivera.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "jam.h"
-# include "pathsys.h"
-# include "strings.h"
-# include "newstr.h"
-# include "filesys.h"
-# include <time.h>
-# include <stdlib.h>
-# ifndef OS_NT
-# include <unistd.h>
-# endif
-
-# ifdef USE_PATHUNIX
-
-/*
- * pathunix.c - manipulate file names on UNIX, NT, OS2, AmigaOS
- *
- * External routines:
- *
- *  path_parse() - split a file name into dir/base/suffix/member
- *  path_build() - build a filename given dir/base/suffix/member
- *  path_parent() - make a PATHNAME point to its parent dir
- *
- * File_parse() and path_build() just manipuate a string and a structure;
- * they do not make system calls.
- *
- * 04/08/94 (seiwald) - Coherent/386 support added.
- * 12/26/93 (seiwald) - handle dir/.suffix properly in path_build()
- * 12/19/94 (mikem) - solaris string table insanity support
- * 12/21/94 (wingerd) Use backslashes for pathnames - the NT way.
- * 02/14/95 (seiwald) - parse and build /xxx properly
- * 02/23/95 (wingerd) Compilers on NT can handle "/" in pathnames, so we
- *                    should expect hdr searches to come up with strings
- *                    like "thing/thing.h". So we need to test for "/" as
- *                    well as "\" when parsing pathnames.
- * 03/16/95 (seiwald) - fixed accursed typo on line 69.
- * 05/03/96 (seiwald) - split from filent.c, fileunix.c
- * 12/20/96 (seiwald) - when looking for the rightmost . in a file name,
- *            don't include the archive member name.
- * 01/13/01 (seiwald) - turn on \ handling on UNIX, on by accident
- */
-
-/*
- * path_parse() - split a file name into dir/base/suffix/member
- */
-
-void path_parse( char * file, PATHNAME * f )
-{
-    char * p;
-    char * q;
-    char * end;
-
-    memset( (char *)f, 0, sizeof( *f ) );
-
-    /* Look for <grist> */
-
-    if ( ( file[0] == '<' ) && ( p = strchr( file, '>' ) ) )
-    {
-        f->f_grist.ptr = file;
-        f->f_grist.len = p - file;
-        file = p + 1;
-    }
-
-    /* Look for dir/ */
-
-    p = strrchr( file, '/' );
-
-# if PATH_DELIM == '\\'
-    /* On NT, look for dir\ as well */
-    {
-        char *p1 = strrchr( file, '\\' );
-        p = p1 > p ? p1 : p;
-    }
-# endif
-
-    if ( p )
-    {
-        f->f_dir.ptr = file;
-        f->f_dir.len = p - file;
-
-        /* Special case for / - dirname is /, not "" */
-
-        if ( !f->f_dir.len )
-        f->f_dir.len = 1;
-
-# if PATH_DELIM == '\\'
-        /* Special case for D:/ - dirname is D:/, not "D:" */
-
-        if ( f->f_dir.len == 2 && file[1] == ':' )
-            f->f_dir.len = 3;
-# endif
-
-        file = p + 1;
-    }
-
-    end = file + strlen( file );
-
-    /* Look for (member) */
-
-    if ( ( p = strchr( file, '(' ) ) && ( end[ -1 ] == ')' ) )
-    {
-        f->f_member.ptr = p + 1;
-        f->f_member.len = end - p - 2;
-        end = p;
-    }
-
-    /* Look for .suffix */
-    /* This would be memrchr() */
-
-    p = 0;
-    q = file;
-
-    while ( ( q = (char *)memchr( q, '.', end - q ) ) )
-        p = q++;
-
-    if ( p )
-    {
-        f->f_suffix.ptr = p;
-        f->f_suffix.len = end - p;
-        end = p;
-    }
-
-    /* Leaves base */
-
-    f->f_base.ptr = file;
-    f->f_base.len = end - file;
-}
-
-/*
- * path_delims - the string of legal path delimiters
- */
-static char path_delims[] = {
-    PATH_DELIM,
-#  if PATH_DELIM == '\\'
-    '/',
-#  endif
-    0
-};
-
-/*
- * is_path_delim() - true iff c is a path delimiter
- */
-static int is_path_delim( char c )
-{
-    char* p = strchr( path_delims, c );
-    return p && *p;
-}
-
-/*
- * as_path_delim() - convert c to a path delimiter if it isn't one
- * already
- */
-static char as_path_delim( char c )
-{
-    return is_path_delim( c ) ? c : PATH_DELIM;
-}
-
-/*
- * path_build() - build a filename given dir/base/suffix/member
- *
- * To avoid changing slash direction on NT when reconstituting paths,
- * instead of unconditionally appending PATH_DELIM we check the
- * past-the-end character of the previous path element.  If it is in
- * path_delims, we append that, and only append PATH_DELIM as a last
- * resort.  This heuristic is based on the fact that PATHNAME objects
- * are usually the result of calling path_parse, which leaves the
- * original slashes in the past-the-end position. Correctness depends
- * on the assumption that all strings are zero terminated, so a
- * past-the-end character will always be available.
- *
- * As an attendant patch, we had to ensure that backslashes are used
- * explicitly in timestamp.c
- */
-
-void
-path_build(
-    PATHNAME *f,
-    string  *file,
-    int binding )
-{
-    file_build1( f, file );
-
-    /* Don't prepend root if it's . or directory is rooted */
-# if PATH_DELIM == '/'
-
-    if ( f->f_root.len
-        && !( f->f_root.len == 1 && f->f_root.ptr[0] == '.' )
-        && !( f->f_dir.len && f->f_dir.ptr[0] == '/' ) )
-
-# else /* unix */
-
-    if ( f->f_root.len
-        && !( f->f_root.len == 1 && f->f_root.ptr[0] == '.' )
-        && !( f->f_dir.len && f->f_dir.ptr[0] == '/' )
-        && !( f->f_dir.len && f->f_dir.ptr[0] == '\\' )
-        && !( f->f_dir.len && f->f_dir.ptr[1] == ':' ) )
-
-# endif /* unix */
-
-    {
-        string_append_range( file, f->f_root.ptr, f->f_root.ptr + f->f_root.len  );
-        /* If 'root' already ends with path delimeter,
-           don't add yet another one. */
-        if ( ! is_path_delim( f->f_root.ptr[f->f_root.len-1] ) )
-            string_push_back( file, as_path_delim( f->f_root.ptr[f->f_root.len] ) );
-    }
-
-    if ( f->f_dir.len )
-        string_append_range( file, f->f_dir.ptr, f->f_dir.ptr + f->f_dir.len  );
-
-    /* UNIX: Put / between dir and file */
-    /* NT:   Put \ between dir and file */
-
-    if ( f->f_dir.len && ( f->f_base.len || f->f_suffix.len ) )
-    {
-        /* UNIX: Special case for dir \ : don't add another \ */
-        /* NT:   Special case for dir / : don't add another / */
-
-# if PATH_DELIM == '\\'
-        if ( !( f->f_dir.len == 3 && f->f_dir.ptr[1] == ':' ) )
-# endif
-            if ( !( f->f_dir.len == 1 && is_path_delim( f->f_dir.ptr[0] ) ) )
-                string_push_back( file, as_path_delim( f->f_dir.ptr[f->f_dir.len] ) );
-    }
-
-    if ( f->f_base.len )
-    {
-        string_append_range( file, f->f_base.ptr, f->f_base.ptr + f->f_base.len  );
-    }
-
-    if ( f->f_suffix.len )
-    {
-        string_append_range( file, f->f_suffix.ptr, f->f_suffix.ptr + f->f_suffix.len  );
-    }
-
-    if ( f->f_member.len )
-    {
-        string_push_back( file, '(' );
-        string_append_range( file, f->f_member.ptr, f->f_member.ptr + f->f_member.len  );
-        string_push_back( file, ')' );
-    }
-}
-
-/*
- *  path_parent() - make a PATHNAME point to its parent dir
- */
-
-void
-path_parent( PATHNAME *f )
-{
-    /* just set everything else to nothing */
-
-    f->f_base.ptr =
-    f->f_suffix.ptr =
-    f->f_member.ptr = "";
-
-    f->f_base.len =
-    f->f_suffix.len =
-    f->f_member.len = 0;
-}
-
-#ifdef NT
-#include <windows.h>
-#include <tchar.h>
-
-/* The definition of this in winnt.h is not ANSI-C compatible. */
-#undef INVALID_FILE_ATTRIBUTES
-#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
-
-
-DWORD ShortPathToLongPath(LPCTSTR lpszShortPath,LPTSTR lpszLongPath,DWORD
-                          cchBuffer)
-{
-    LONG i=0;
-    TCHAR path[_MAX_PATH]={0};
-    TCHAR ret[_MAX_PATH]={0};
-    LONG pos=0, prev_pos=0;
-    LONG len=_tcslen(lpszShortPath);
-
-    /* Is the string valid? */
-    if (!lpszShortPath) {
-        SetLastError(ERROR_INVALID_PARAMETER);
-        return 0;
-    }
-
-    /* Is the path valid? */
-    if (GetFileAttributes(lpszShortPath)==INVALID_FILE_ATTRIBUTES)
-        return 0;
-
-    /* Convert "/" to "\" */
-    for (i=0;i<len;++i) {
-        if (lpszShortPath[i]==_T('/'))
-            path[i]=_T('\\');
-        else
-            path[i]=lpszShortPath[i];
-    }
-
-    /* UNC path? */
-    if (path[0]==_T('\\') && path[1]==_T('\\')) {
-        pos=2;
-        for (i=0;i<2;++i) {
-            while (path[pos]!=_T('\\') && path[pos]!=_T('\0'))
-                ++pos;
-            ++pos;
-        }
-        _tcsncpy(ret,path,pos-1);
-    } /* Drive letter? */
-    else if (path[1]==_T(':')) {
-        if (path[2]==_T('\\'))
-            pos=3;
-        if (len==3) {
-            if (cchBuffer>3)
-                _tcscpy(lpszLongPath,lpszShortPath);
-            return len;
-        }
-        _tcsncpy(ret,path,2);
-    }
-
-    /* Expand the path for each subpath, and strip trailing backslashes */
-    for (prev_pos = pos-1;pos<=len;++pos) {
-        if (path[pos]==_T('\\') || (path[pos]==_T('\0') &&
-                                    path[pos-1]!=_T('\\'))) {
-            WIN32_FIND_DATA fd;
-            HANDLE hf=0;
-            TCHAR c=path[pos];
-            char* new_element;
-            path[pos]=_T('\0');
-
-            /* the path[prev_pos+1]... path[pos] range is the part of
-               path we're handling right now. We need to find long
-               name for that element and add it. */
-            new_element = path + prev_pos + 1;
-
-            /* First add separator, but only if there's something in result already. */
-            if (ret[0] != _T('\0'))
-            {
-                _tcscat(ret,_T("\\"));
-            }
-
-            /* If it's ".." element, we need to append it, not
-               the name in parent that FindFirstFile will return.
-               Same goes for "." */
-
-            if (new_element[0] == _T('.') && new_element[1] == _T('\0') ||
-                new_element[0] == _T('.') && new_element[1] == _T('.')
-                && new_element[2] == _T('\0'))
-            {
-                _tcscat(ret, new_element);
-            }
-            else
-            {
-                hf=FindFirstFile(path, &fd);
-                if (hf==INVALID_HANDLE_VALUE)
-                    return 0;
-
-                _tcscat(ret,fd.cFileName);
-                FindClose(hf);
-            }
-
-            path[pos]=c;
-
-            prev_pos = pos;
-        }
-    }
-
-    len=_tcslen(ret)+1;
-    if (cchBuffer>=len)
-        _tcscpy(lpszLongPath,ret);
-
-    return len;
-}
-
-char* short_path_to_long_path(char* short_path)
-{
-    char buffer2[_MAX_PATH];
-    int ret = ShortPathToLongPath(short_path, buffer2, _MAX_PATH);
-
-    if (ret)
-    return newstr(buffer2);
-    else
-      return newstr(short_path);
-}
-
-#endif
-
-static string path_tmpdir_buffer[1];
-static const char * path_tmpdir_result = 0;
-
-const char * path_tmpdir()
-{
-    if (!path_tmpdir_result)
-    {
-        # ifdef OS_NT
-        DWORD pathLength = 0;
-        pathLength = GetTempPath(pathLength,NULL);
-        string_new(path_tmpdir_buffer);
-        string_reserve(path_tmpdir_buffer,pathLength);
-        pathLength = GetTempPathA(pathLength,path_tmpdir_buffer[0].value);
-        path_tmpdir_buffer[0].value[pathLength-1] = '\0';
-        path_tmpdir_buffer[0].size = pathLength-1;
-        # else
-        const char * t = getenv("TMPDIR");
-        if (!t)
-        {
-            t = "/tmp";
-        }
-        string_new(path_tmpdir_buffer);
-        string_append(path_tmpdir_buffer,t);
-        # endif
-        path_tmpdir_result = path_tmpdir_buffer[0].value;
-    }
-    return path_tmpdir_result;
-}
-
-const char * path_tmpnam(void)
-{
-    char name_buffer[64];
-    # ifdef OS_NT
-    unsigned long c0 = GetCurrentProcessId();
-    # else
-    unsigned long c0 = getpid();
-    # endif
-    static unsigned long c1 = 0;
-    if (0 == c1) c1 = time(0)&0xffff;
-    c1 += 1;
-    sprintf(name_buffer,"jam%lx%lx.000",c0,c1);
-    return newstr(name_buffer);
-}
-
-const char * path_tmpfile(void)
-{
-    const char * result = 0;
-
-    string file_path;
-    string_copy(&file_path,path_tmpdir());
-    string_push_back(&file_path,PATH_DELIM);
-    string_append(&file_path,path_tmpnam());
-    result = newstr(file_path.value);
-    string_free(&file_path);
-
-    return result;
-}
-
-
-# endif /* unix, NT, OS/2, AmigaOS */
diff --git a/SRC/Boost/tools/build/v2/engine/pathvms.c b/SRC/Boost/tools/build/v2/engine/pathvms.c
deleted file mode 100755
index 5517c27..0000000
--- a/SRC/Boost/tools/build/v2/engine/pathvms.c
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "jam.h"
-# include "pathsys.h"
-
-# ifdef OS_VMS
-
-# define DEBUG
-
-/*
- * pathvms.c - manipulate file names on VMS
- *
- * External routines:
- *
- *  path_parse() - split a file name into dir/base/suffix/member
- *  path_build() - build a filename given dir/base/suffix/member
- *  path_parent() - make a PATHNAME point to its parent dir
- *
- * File_parse() and path_build() just manipuate a string and a structure;
- * they do not make system calls.
- *
- * WARNING!  This file contains voodoo logic, as black magic is
- * necessary for wrangling with VMS file name.  Woe be to people
- * who mess with this code.
- *
- * 02/09/95 (seiwald) - bungled R=[xxx] - was using directory length!
- * 05/03/96 (seiwald) - split from filevms.c
- */
-
-/*
- * path_parse() - split a file name into dir/base/suffix/member.
- */
-
-void path_parse( char * file, PATHNAME * f )
-{
-    char * p;
-    char * q;
-    char * end;
-
-    memset( (char *)f, 0, sizeof( *f ) );
-
-    /* Look for <grist> */
-
-    if ( ( file[0] == '<' ) && ( p = strchr( file, '>' ) ) )
-    {
-        f->f_grist.ptr = file;
-        f->f_grist.len = p - file;
-        file = p + 1;
-    }
-
-    /* Look for dev:[dir] or dev: */
-
-    if ( ( p = strchr( file, ']' ) ) || ( p = strchr( file, ':' ) ) )
-    {
-        f->f_dir.ptr = file;
-        f->f_dir.len = p + 1 - file;
-        file = p + 1;
-    }
-
-    end = file + strlen( file );
-
-    /* Look for (member). */
-
-    if ( ( p = strchr( file, '(' ) ) && ( end[ -1 ] == ')' ) )
-    {
-        f->f_member.ptr = p + 1;
-        f->f_member.len = end - p - 2;
-        end = p;
-    }
-
-    /* Look for .suffix */
-    /* This would be memrchr(). */
-
-    p = 0;
-    q = file;
-
-    while ( q = (char *)memchr( q, '.', end - q ) )
-        p = q++;
-
-    if ( p )
-    {
-        f->f_suffix.ptr = p;
-        f->f_suffix.len = end - p;
-        end = p;
-    }
-
-    /* Leaves base. */
-    f->f_base.ptr = file;
-    f->f_base.len = end - file;
-
-    /* Is this a directory without a file spec? */
-    f->parent = 0;
-}
-
-/*
- *  dir     mods        result
- *  ---     ---     ------
- * Rerooting:
- *
- *  (none)      :R=dev:     dev:
- *  devd:       :R=dev:     devd:
- *  devd:[dir]  :R=dev:     devd:[dir]
- *  [.dir]      :R=dev:     dev:[dir]   questionable
- *  [dir]       :R=dev:     dev:[dir]
- *
- *  (none)      :R=[rdir]   [rdir]      questionable
- *  devd:       :R=[rdir]   devd:
- *  devd:[dir]  :R=[rdir]   devd:[dir]
- *  [.dir]      :R=[rdir]   [rdir.dir]  questionable
- *  [dir]       :R=[rdir]   [rdir]
- *
- *  (none)      :R=dev:[root]   dev:[root]
- *  devd:       :R=dev:[root]   devd:
- *  devd:[dir]  :R=dev:[root]   devd:[dir]
- *  [.dir]      :R=dev:[root]   dev:[root.dir]
- *  [dir]       :R=dev:[root]   [dir]
- *
- * Climbing to parent:
- *
- */
-
-# define DIR_EMPTY  0   /* empty string */
-# define DIR_DEV    1   /* dev: */
-# define DIR_DEVDIR 2   /* dev:[dir] */
-# define DIR_DOTDIR 3   /* [.dir] */
-# define DIR_DASHDIR    4   /* [-] or [-.dir] */
-# define DIR_ABSDIR 5   /* [dir] */
-# define DIR_ROOT   6   /* [000000] or dev:[000000] */
-
-# define G_DIR      0   /* take just dir */
-# define G_ROOT     1   /* take just root */
-# define G_VAD      2   /* root's dev: + [abs] */
-# define G_DRD      3   /* root's dev:[dir] + [.rel] */
-# define G_VRD      4   /* root's dev: + [.rel] made [abs] */
-# define G_DDD      5   /* root's dev:[dir] + . + [dir] */
-
-static int grid[7][7] = {
-
-/* root/dir EMPTY   DEV DEVDIR  DOTDIR  DASH,   ABSDIR  ROOT */
-/* EMPTY */ G_DIR,  G_DIR,  G_DIR,  G_DIR,  G_DIR,  G_DIR,  G_DIR,
-/* DEV */   G_ROOT, G_DIR,  G_DIR,  G_VRD,  G_VAD,  G_VAD,  G_VAD,
-/* DEVDIR */    G_ROOT, G_DIR,  G_DIR,  G_DRD,  G_VAD,  G_VAD,  G_VAD,
-/* DOTDIR */    G_ROOT, G_DIR,  G_DIR,  G_DRD,  G_DIR,  G_DIR,  G_DIR,
-/* DASHDIR */   G_ROOT, G_DIR,  G_DIR,  G_DRD,  G_DDD,  G_DIR,  G_DIR,
-/* ABSDIR */    G_ROOT, G_DIR,  G_DIR,  G_DRD,  G_DIR,  G_DIR,  G_DIR,
-/* ROOT */  G_ROOT, G_DIR,  G_DIR,  G_VRD,  G_DIR,  G_DIR,  G_DIR,
-
-};
-
-struct dirinf
-{
-    int flags;
-
-    struct
-    {
-        char * ptr;
-        int   len;
-    } dev, dir;
-};
-
-static char * strnchr( char * buf, int c, int len )
-{
-    while ( len-- )
-        if ( *buf && ( *buf++ == c ) )
-            return buf - 1;
-    return 0;
-}
-
-
-static void dir_flags( char * buf, int len, struct dirinf * i )
-{
-    char * p;
-
-    if ( !buf || !len )
-    {
-        i->flags = DIR_EMPTY;
-        i->dev.ptr =
-        i->dir.ptr = 0;
-        i->dev.len =
-        i->dir.len = 0;
-    }
-    else if ( p = strnchr( buf, ':', len ) )
-    {
-        i->dev.ptr = buf;
-        i->dev.len = p + 1 - buf;
-        i->dir.ptr = buf + i->dev.len;
-        i->dir.len = len - i->dev.len;
-        i->flags = i->dir.len && *i->dir.ptr == '[' ? DIR_DEVDIR : DIR_DEV;
-    }
-    else
-    {
-        i->dev.ptr = buf;
-        i->dev.len = 0;
-        i->dir.ptr = buf;
-        i->dir.len = len;
-
-        if ( ( *buf == '[' ) && ( buf[1] == ']' ) )
-            i->flags = DIR_EMPTY;
-        else if ( ( *buf == '[' ) && ( buf[1] == '.' ) )
-            i->flags = DIR_DOTDIR;
-        else if ( ( *buf == '[' ) && ( buf[1] == '-' ) )
-            i->flags = DIR_DASHDIR;
-        else
-            i->flags = DIR_ABSDIR;
-    }
-
-    /* But if its rooted in any way. */
-
-    if ( ( i->dir.len == 8 ) && !strncmp( i->dir.ptr, "[000000]", 8 ) )
-        i->flags = DIR_ROOT;
-}
-
-
-/*
- * path_build() - build a filename given dir/base/suffix/member
- */
-
-void path_build( PATHNAME * f, string * file, int binding )
-{
-    struct dirinf root;
-    struct dirinf dir;
-    int g;
-
-    file_build1( f, file );
-
-    /* Get info on root and dir for combining. */
-    dir_flags( f->f_root.ptr, f->f_root.len, &root );
-    dir_flags( f->f_dir.ptr, f->f_dir.len, &dir );
-
-    /* Combine. */
-    switch ( g = grid[ root.flags ][ dir.flags ] )
-    {
-    case G_DIR:
-        /* take dir */
-        string_append_range( file, f->f_dir.ptr, f->f_dir.ptr + f->f_dir.len  );
-        break;
-
-    case G_ROOT:
-        /* take root */
-        string_append_range( file, f->f_root.ptr, f->f_root.ptr + f->f_root.len  );
-        break;
-
-    case G_VAD:
-        /* root's dev + abs directory */
-        string_append_range( file, root.dev.ptr, root.dev.ptr + root.dev.len  );
-        string_append_range( file, dir.dir.ptr, dir.dir.ptr + dir.dir.len  );
-        break;
-
-    case G_DRD:
-    case G_DDD:
-        /* root's dev:[dir] + rel directory */
-        string_append_range( file, f->f_root.ptr, f->f_root.ptr + f->f_root.len  );
-
-        /* sanity checks: root ends with ] */
-
-        if ( file->value[file->size - 1] == ']' )
-            string_pop_back( file );
-
-        /* Add . if separating two -'s */
-
-        if ( g == G_DDD )
-            string_push_back( file, '.' );
-
-        /* skip [ of dir */
-        string_append_range( file, dir.dir.ptr + 1, dir.dir.ptr + 1 + dir.dir.len - 1  );
-        break;
-
-    case G_VRD:
-        /* root's dev + rel directory made abs */
-        string_append_range( file, root.dev.ptr, root.dev.ptr + root.dev.len  );
-        string_push_back( file, '[' );
-        /* skip [. of rel dir */
-        string_append_range( file, dir.dir.ptr + 2, dir.dir.ptr + 2 + dir.dir.len - 2  );
-        break;
-    }
-
-# ifdef DEBUG
-    if ( DEBUG_SEARCH && ( root.flags || dir.flags ) )
-        printf( "%d x %d = %d (%s)\n", root.flags, dir.flags,
-                grid[ root.flags ][ dir.flags ], file->value );
-# endif
-
-    /*
-     * Now do the special :P modifier when no file was present.
-     *  (none)      (none)
-     *  [dir1.dir2] [dir1]
-     *  [dir]       [000000]
-     *  [.dir]      (none)
-     *  []      []
-     */
-
-    if ( ( file->value[ file->size - 1 ] == ']' ) && f->parent )
-    {
-        char * p = file->value + file->size;
-        while ( p-- > file->value )
-        {
-            if ( *p == '.' )
-            {
-                /* If we've truncated everything and left with '[',
-                   return empty string. */
-                if ( p == file->value + 1 )
-                    string_truncate( file, 0 );
-                else
-                {
-                    string_truncate( file, p - file->value );
-                    string_push_back( file, ']' );
-                }
-                break;
-            }
-            
-            if ( *p == '-' )
-            {
-                /* handle .- or - */
-                if ( ( p > file->value ) && ( p[ -1 ] == '.' ) )
-                    --p;
-
-                *p++ = ']';
-                break;
-            }
-            
-            if ( *p == '[' )
-            {
-                if ( p[ 1 ] == ']' )
-                {
-                    /* CONSIDER: I don't see any use of this code. We immediately
-                       break, and 'p' is a local variable. */
-                    p += 2;
-                }
-                else
-                {
-                    string_truncate( file, p - file->value );
-                    string_append( file, "[000000]" );
-                }
-                break;
-            }
-        }
-    }
-
-    /* Now copy the file pieces. */
-    if ( f->f_base.len )
-    {
-        string_append_range( file, f->f_base.ptr, f->f_base.ptr + f->f_base.len  );
-    }
-
-    /* If there is no suffix, we append a "." onto all generated names. This
-     * keeps VMS from appending its own (wrong) idea of what the suffix should
-     * be.
-     */
-    if ( f->f_suffix.len )
-        string_append_range( file, f->f_suffix.ptr, f->f_suffix.ptr + f->f_suffix.len  );
-    else if ( binding && f->f_base.len )
-        string_push_back( file, '.' );
-
-    if ( f->f_member.len )
-    {
-        string_push_back( file, '(' );
-        string_append_range( file, f->f_member.ptr, f->f_member.ptr + f->f_member.len  );
-        string_push_back( file, ')' );
-    }
-
-# ifdef DEBUG
-    if ( DEBUG_SEARCH )
-        printf( "built %.*s + %.*s / %.*s suf %.*s mem %.*s -> %s\n",
-               f->f_root.len, f->f_root.ptr,
-               f->f_dir.len, f->f_dir.ptr,
-               f->f_base.len, f->f_base.ptr,
-               f->f_suffix.len, f->f_suffix.ptr,
-               f->f_member.len, f->f_member.ptr,
-               file->value );
-# endif
-}
-
-
-/*
- *  path_parent() - make a PATHNAME point to its parent dir
- */
-
-void path_parent( PATHNAME * f )
-{
-    if ( f->f_base.len )
-    {
-        f->f_base.ptr =
-        f->f_suffix.ptr =
-        f->f_member.ptr = "";
-
-        f->f_base.len =
-        f->f_suffix.len =
-        f->f_member.len = 0;
-    }
-    else
-    {
-        f->parent = 1;
-    }
-}
-
-# endif /* VMS */
diff --git a/SRC/Boost/tools/build/v2/engine/pwd.c b/SRC/Boost/tools/build/v2/engine/pwd.c
deleted file mode 100755
index d733b72..0000000
--- a/SRC/Boost/tools/build/v2/engine/pwd.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright Vladimir Prus 2002, Rene Rivera 2005. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#include "jam.h"
-#include "lists.h"
-#include "newstr.h"
-#include "pathsys.h"
-#include "mem.h"
-
-#include <limits.h>
-#include <errno.h>
-
-/* MinGW on windows declares PATH_MAX in limits.h */
-#if defined(NT) && ! defined(__GNUC__)
-#include <direct.h>
-#define PATH_MAX _MAX_PATH
-#else
-#include <unistd.h>
-#if defined(__COMO__)
-     #include <linux/limits.h>
-#endif
-#endif
-
-#ifndef PATH_MAX
-	#define PATH_MAX 1024
-#endif
-
-/* The current directory can't change in bjam, so optimize this to cache
-** the result.
-*/
-static char * pwd_result = NULL;
-
-
-LIST*
-pwd(void)
-{
-    if (!pwd_result)
-    {
-		int buffer_size = PATH_MAX;
-		char * result_buffer = 0;
-		do
-		{
-			char * buffer = BJAM_MALLOC_RAW(buffer_size);
-			result_buffer = getcwd(buffer,buffer_size);
-			if (result_buffer)
-			{
-				#ifdef NT
-				pwd_result = short_path_to_long_path(result_buffer);
-				#else
-				pwd_result = newstr(result_buffer);
-				#endif
-			}
-			buffer_size *= 2;
-			BJAM_FREE_RAW(buffer);
-		}
-		while (!pwd_result && errno == ERANGE);
-		
-		if (!pwd_result)
-		{
-            perror("can not get current directory");
-            return L0;
-        }
-    }
-    return list_new(L0, pwd_result);
-}
diff --git a/SRC/Boost/tools/build/v2/engine/pwd.h b/SRC/Boost/tools/build/v2/engine/pwd.h
deleted file mode 100755
index ea5a05a..0000000
--- a/SRC/Boost/tools/build/v2/engine/pwd.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Copyright Vladimir Prus 2002. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#ifndef PWD_H
-#define PWD_H
-
-LIST* pwd(void);
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/regexp.c b/SRC/Boost/tools/build/v2/engine/regexp.c
deleted file mode 100755
index ef02a19..0000000
--- a/SRC/Boost/tools/build/v2/engine/regexp.c
+++ /dev/null
@@ -1,1328 +0,0 @@
-/*
- * regcomp and regexec -- regsub and regerror are elsewhere
- *
- *  Copyright (c) 1986 by University of Toronto.
- *  Written by Henry Spencer.  Not derived from licensed software.
- *
- *  Permission is granted to anyone to use this software for any
- *  purpose on any computer system, and to redistribute it freely,
- *  subject to the following restrictions:
- *
- *  1. The author is not responsible for the consequences of use of
- *      this software, no matter how awful, even if they arise
- *      from defects in it.
- *
- *  2. The origin of this software must not be misrepresented, either
- *      by explicit claim or by omission.
- *
- *  3. Altered versions must be plainly marked as such, and must not
- *      be misrepresented as being the original software.
- *** THIS IS AN ALTERED VERSION.  It was altered by John Gilmore,
- *** hoptoad!gnu, on 27 Dec 1986, to add \n as an alternative to |
- *** to assist in implementing egrep.
- *** THIS IS AN ALTERED VERSION.  It was altered by John Gilmore,
- *** hoptoad!gnu, on 27 Dec 1986, to add \< and \> for word-matching
- *** as in BSD grep and ex.
- *** THIS IS AN ALTERED VERSION.  It was altered by John Gilmore,
- *** hoptoad!gnu, on 28 Dec 1986, to optimize characters quoted with \.
- *** THIS IS AN ALTERED VERSION.  It was altered by James A. Woods,
- *** ames!jaw, on 19 June 1987, to quash a regcomp() redundancy.
- *** THIS IS AN ALTERED VERSION.  It was altered by Christopher Seiwald
- *** seiwald at vix.com, on 28 August 1993, for use in jam.  Regmagic.h
- *** was moved into regexp.h, and the include of regexp.h now uses "'s
- *** to avoid conflicting with the system regexp.h.  Const, bless its
- *** soul, was removed so it can compile everywhere.  The declaration
- *** of strchr() was in conflict on AIX, so it was removed (as it is
- *** happily defined in string.h).
- *** THIS IS AN ALTERED VERSION.  It was altered by Christopher Seiwald
- *** seiwald at perforce.com, on 20 January 2000, to use function prototypes.
- *
- * Beware that some of this code is subtly aware of the way operator precedence
- * is structured in regular expressions. Serious changes in regular-expression
- * syntax might require a total rethink.
- */
-
-
-#include "jam.h"
-#include "regexp.h"
-#include <stdio.h>
-#include <ctype.h>
-#ifndef ultrix
-    #include <stdlib.h>
-#endif
-#include <string.h>
-
-
-/*
- * The "internal use only" fields in regexp.h are present to pass info from
- * compile to execute that permits the execute phase to run lots faster on
- * simple cases. They are:
- :
- *  regstart char that must begin a match; '\0' if none obvious.
- *  reganch  is the match anchored (at beginning-of-line only)?
- *  regmust  string (pointer into program) that match must include, or NULL.
- *  regmlen  length of regmust string.
- *
- * Regstart and reganch permit very fast decisions on suitable starting points
- * for a match, cutting down the work a lot.  Regmust permits fast rejection of
- * lines that cannot possibly match.  The regmust tests are costly enough that
- * regcomp() supplies a regmust only if the r.e. contains something potentially
- * expensive (at present, the only such thing detected is * or + at the start of
- * the r.e., which can involve a lot of backup). Regmlen is supplied because the
- * test in regexec() needs it and regcomp() is computing it anyway.
- */
-
-/*
- * Structure for regexp "program". This is essentially a linear encoding of a
- * nondeterministic finite-state machine (aka syntax charts or "railroad normal
- * form" in parsing technology). Each node is an opcode plus a "next" pointer,
- * possibly plus an operand. "Next" pointers of all nodes except BRANCH
- * implement concatenation; a "next" pointer with a BRANCH on both ends of it is
- * connecting two alternatives. [Here we have one of the subtle syntax
- * dependencies: an individual BRANCH, as opposed to a collection of them, is
- * never concatenated with anything because of operator precedence.] The operand
- * of some types of node is a literal string; for others, it is a node leading
- * into a sub-FSM. In particular, the operand of a BRANCH node is the first node
- * of the branch. [NB this is *not* a tree structure: the tail of the branch
- * connects to the thing following the set of BRANCHes.] The opcodes are:
- */
-
-/* definition   number  opnd?   meaning */
-#define END 0   /* no   End of program. */
-#define BOL 1   /* no   Match "" at beginning of line. */
-#define EOL 2   /* no   Match "" at end of line. */
-#define ANY 3   /* no   Match any one character. */
-#define ANYOF   4   /* str  Match any character in this string. */
-#define ANYBUT  5   /* str  Match any character not in this string. */
-#define BRANCH  6   /* node Match this alternative, or the next... */
-#define BACK    7   /* no   Match "", "next" ptr points backward. */
-#define EXACTLY 8   /* str  Match this string. */
-#define NOTHING 9   /* no   Match empty string. */
-#define STAR    10  /* node Match this (simple) thing 0 or more times. */
-#define PLUS    11  /* node Match this (simple) thing 1 or more times. */
-#define WORDA   12  /* no   Match "" at wordchar, where prev is nonword */
-#define WORDZ   13  /* no   Match "" at nonwordchar, where prev is word */
-#define OPEN    20  /* no   Mark this point in input as start of #n. */
-            /*  OPEN+1 is number 1, etc. */
-#define CLOSE   30  /* no   Analogous to OPEN. */
-
-
-/*
- * Opcode notes:
- *
- * BRANCH   The set of branches constituting a single choice are hooked
- *      together with their "next" pointers, since precedence prevents
- *      anything being concatenated to any individual branch.  The
- *      "next" pointer of the last BRANCH in a choice points to the
- *      thing following the whole choice.  This is also where the
- *      final "next" pointer of each individual branch points; each
- *      branch starts with the operand node of a BRANCH node.
- *
- * BACK     Normal "next" pointers all implicitly point forward; BACK
- *      exists to make loop structures possible.
- *
- * STAR,PLUS    '?', and complex '*' and '+', are implemented as circular
- *      BRANCH structures using BACK.  Simple cases (one character
- *      per match) are implemented with STAR and PLUS for speed
- *      and to minimize recursive plunges.
- *
- * OPEN,CLOSE   ...are numbered at compile time.
- */
-
-/*
- * A node is one char of opcode followed by two chars of "next" pointer.
- * "Next" pointers are stored as two 8-bit pieces, high order first.  The
- * value is a positive offset from the opcode of the node containing it.
- * An operand, if any, simply follows the node.  (Note that much of the
- * code generation knows about this implicit relationship.)
- *
- * Using two bytes for the "next" pointer is vast overkill for most things,
- * but allows patterns to get big without disasters.
- */
-#define OP(p)   (*(p))
-#define NEXT(p) (((*((p)+1)&0377)<<8) + (*((p)+2)&0377))
-#define OPERAND(p)  ((p) + 3)
-
-/*
- * See regmagic.h for one further detail of program structure.
- */
-
-
-/*
- * Utility definitions.
- */
-#ifndef CHARBITS
-#define UCHARAT(p)  ((int)*(unsigned char *)(p))
-#else
-#define UCHARAT(p)  ((int)*(p)&CHARBITS)
-#endif
-
-#define FAIL(m) { regerror(m); return(NULL); }
-#define ISMULT(c)   ((c) == '*' || (c) == '+' || (c) == '?')
-
-/*
- * Flags to be passed up and down.
- */
-#define HASWIDTH    01  /* Known never to match null string. */
-#define SIMPLE      02  /* Simple enough to be STAR/PLUS operand. */
-#define SPSTART     04  /* Starts with * or +. */
-#define WORST       0   /* Worst case. */
-
-/*
- * Global work variables for regcomp().
- */
-static char *regparse;      /* Input-scan pointer. */
-static int regnpar;     /* () count. */
-static char regdummy;
-static char *regcode;       /* Code-emit pointer; &regdummy = don't. */
-static long regsize;        /* Code size. */
-
-/*
- * Forward declarations for regcomp()'s friends.
- */
-#ifndef STATIC
-#define STATIC  static
-#endif
-STATIC char *reg( int paren, int *flagp );
-STATIC char *regbranch( int *flagp );
-STATIC char *regpiece( int *flagp );
-STATIC char *regatom( int *flagp );
-STATIC char *regnode( int op );
-STATIC char *regnext( register char *p );
-STATIC void regc( int b );
-STATIC void reginsert( char op, char *opnd );
-STATIC void regtail( char *p, char *val );
-STATIC void regoptail( char *p, char *val );
-#ifdef STRCSPN
-STATIC int strcspn();
-#endif
-
-/*
- - regcomp - compile a regular expression into internal code
- *
- * We can't allocate space until we know how big the compiled form will be,
- * but we can't compile it (and thus know how big it is) until we've got a
- * place to put the code.  So we cheat:  we compile it twice, once with code
- * generation turned off and size counting turned on, and once "for real".
- * This also means that we don't allocate space until we are sure that the
- * thing really will compile successfully, and we never have to move the
- * code and thus invalidate pointers into it.  (Note that it has to be in
- * one piece because free() must be able to free it all.)
- *
- * Beware that the optimization-preparation code in here knows about some
- * of the structure of the compiled regexp.
- */
-regexp *
-regcomp( char *exp )
-{
-    register regexp *r;
-    register char *scan;
-    register char *longest;
-    register unsigned len;
-    int flags;
-
-    if (exp == NULL)
-        FAIL("NULL argument");
-
-    /* First pass: determine size, legality. */
-#ifdef notdef
-    if (exp[0] == '.' && exp[1] == '*') exp += 2;  /* aid grep */
-#endif
-    regparse = (char *)exp;
-    regnpar = 1;
-    regsize = 0L;
-    regcode = ®dummy;
-    regc(MAGIC);
-    if (reg(0, &flags) == NULL)
-        return(NULL);
-
-    /* Small enough for pointer-storage convention? */
-    if (regsize >= 32767L)      /* Probably could be 65535L. */
-        FAIL("regexp too big");
-
-    /* Allocate space. */
-    r = (regexp *)BJAM_MALLOC(sizeof(regexp) + (unsigned)regsize);
-    if (r == NULL)
-        FAIL("out of space");
-
-    /* Second pass: emit code. */
-    regparse = (char *)exp;
-    regnpar = 1;
-    regcode = r->program;
-    regc(MAGIC);
-    if (reg(0, &flags) == NULL)
-        return(NULL);
-
-    /* Dig out information for optimizations. */
-    r->regstart = '\0'; /* Worst-case defaults. */
-    r->reganch = 0;
-    r->regmust = NULL;
-    r->regmlen = 0;
-    scan = r->program+1;            /* First BRANCH. */
-    if (OP(regnext(scan)) == END) {     /* Only one top-level choice. */
-        scan = OPERAND(scan);
-
-        /* Starting-point info. */
-        if (OP(scan) == EXACTLY)
-            r->regstart = *OPERAND(scan);
-        else if (OP(scan) == BOL)
-            r->reganch++;
-
-        /*
-         * If there's something expensive in the r.e., find the
-         * longest literal string that must appear and make it the
-         * regmust.  Resolve ties in favor of later strings, since
-         * the regstart check works with the beginning of the r.e.
-         * and avoiding duplication strengthens checking.  Not a
-         * strong reason, but sufficient in the absence of others.
-         */
-        if (flags&SPSTART) {
-            longest = NULL;
-            len = 0;
-            for (; scan != NULL; scan = regnext(scan))
-                if (OP(scan) == EXACTLY && strlen(OPERAND(scan)) >= len) {
-                    longest = OPERAND(scan);
-                    len = strlen(OPERAND(scan));
-                }
-            r->regmust = longest;
-            r->regmlen = len;
-        }
-    }
-
-    return(r);
-}
-
-/*
- - reg - regular expression, i.e. main body or parenthesized thing
- *
- * Caller must absorb opening parenthesis.
- *
- * Combining parenthesis handling with the base level of regular expression
- * is a trifle forced, but the need to tie the tails of the branches to what
- * follows makes it hard to avoid.
- */
-static char *
-reg(
-    int paren,          /* Parenthesized? */
-    int *flagp )
-{
-    register char *ret;
-    register char *br;
-    register char *ender;
-    register int parno = 0;
-    int flags;
-
-    *flagp = HASWIDTH;  /* Tentatively. */
-
-    /* Make an OPEN node, if parenthesized. */
-    if (paren) {
-        if (regnpar >= NSUBEXP)
-            FAIL("too many ()");
-        parno = regnpar;
-        regnpar++;
-        ret = regnode(OPEN+parno);
-    } else
-        ret = NULL;
-
-    /* Pick up the branches, linking them together. */
-    br = regbranch(&flags);
-    if (br == NULL)
-        return(NULL);
-    if (ret != NULL)
-        regtail(ret, br);   /* OPEN -> first. */
-    else
-        ret = br;
-    if (!(flags&HASWIDTH))
-        *flagp &= ~HASWIDTH;
-    *flagp |= flags&SPSTART;
-    while (*regparse == '|' || *regparse == '\n') {
-        regparse++;
-        br = regbranch(&flags);
-        if (br == NULL)
-            return(NULL);
-        regtail(ret, br);   /* BRANCH -> BRANCH. */
-        if (!(flags&HASWIDTH))
-            *flagp &= ~HASWIDTH;
-        *flagp |= flags&SPSTART;
-    }
-
-    /* Make a closing node, and hook it on the end. */
-    ender = regnode((paren) ? CLOSE+parno : END);
-    regtail(ret, ender);
-
-    /* Hook the tails of the branches to the closing node. */
-    for (br = ret; br != NULL; br = regnext(br))
-        regoptail(br, ender);
-
-    /* Check for proper termination. */
-    if (paren && *regparse++ != ')') {
-        FAIL("unmatched ()");
-    } else if (!paren && *regparse != '\0') {
-        if (*regparse == ')') {
-            FAIL("unmatched ()");
-        } else
-            FAIL("junk on end");    /* "Can't happen". */
-        /* NOTREACHED */
-    }
-
-    return(ret);
-}
-
-/*
- - regbranch - one alternative of an | operator
- *
- * Implements the concatenation operator.
- */
-static char *
-regbranch( int *flagp )
-{
-    register char *ret;
-    register char *chain;
-    register char *latest;
-    int flags;
-
-    *flagp = WORST;     /* Tentatively. */
-
-    ret = regnode(BRANCH);
-    chain = NULL;
-    while (*regparse != '\0' && *regparse != ')' &&
-           *regparse != '\n' && *regparse != '|') {
-        latest = regpiece(&flags);
-        if (latest == NULL)
-            return(NULL);
-        *flagp |= flags&HASWIDTH;
-        if (chain == NULL)  /* First piece. */
-            *flagp |= flags&SPSTART;
-        else
-            regtail(chain, latest);
-        chain = latest;
-    }
-    if (chain == NULL)  /* Loop ran zero times. */
-        (void) regnode(NOTHING);
-
-    return(ret);
-}
-
-/*
- - regpiece - something followed by possible [*+?]
- *
- * Note that the branching code sequences used for ? and the general cases
- * of * and + are somewhat optimized:  they use the same NOTHING node as
- * both the endmarker for their branch list and the body of the last branch.
- * It might seem that this node could be dispensed with entirely, but the
- * endmarker role is not redundant.
- */
-static char *
-regpiece( int *flagp )
-{
-    register char *ret;
-    register char op;
-    register char *next;
-    int flags;
-
-    ret = regatom(&flags);
-    if (ret == NULL)
-        return(NULL);
-
-    op = *regparse;
-    if (!ISMULT(op)) {
-        *flagp = flags;
-        return(ret);
-    }
-
-    if (!(flags&HASWIDTH) && op != '?')
-        FAIL("*+ operand could be empty");
-    *flagp = (op != '+') ? (WORST|SPSTART) : (WORST|HASWIDTH);
-
-    if (op == '*' && (flags&SIMPLE))
-        reginsert(STAR, ret);
-    else if (op == '*') {
-        /* Emit x* as (x&|), where & means "self". */
-        reginsert(BRANCH, ret);         /* Either x */
-        regoptail(ret, regnode(BACK));      /* and loop */
-        regoptail(ret, ret);            /* back */
-        regtail(ret, regnode(BRANCH));      /* or */
-        regtail(ret, regnode(NOTHING));     /* null. */
-    } else if (op == '+' && (flags&SIMPLE))
-        reginsert(PLUS, ret);
-    else if (op == '+') {
-        /* Emit x+ as x(&|), where & means "self". */
-        next = regnode(BRANCH);         /* Either */
-        regtail(ret, next);
-        regtail(regnode(BACK), ret);        /* loop back */
-        regtail(next, regnode(BRANCH));     /* or */
-        regtail(ret, regnode(NOTHING));     /* null. */
-    } else if (op == '?') {
-        /* Emit x? as (x|) */
-        reginsert(BRANCH, ret);         /* Either x */
-        regtail(ret, regnode(BRANCH));      /* or */
-        next = regnode(NOTHING);        /* null. */
-        regtail(ret, next);
-        regoptail(ret, next);
-    }
-    regparse++;
-    if (ISMULT(*regparse))
-        FAIL("nested *?+");
-
-    return(ret);
-}
-
-/*
- - regatom - the lowest level
- *
- * Optimization:  gobbles an entire sequence of ordinary characters so that
- * it can turn them into a single node, which is smaller to store and
- * faster to run.  Backslashed characters are exceptions, each becoming a
- * separate node; the code is simpler that way and it's not worth fixing.
- */
-static char *
-regatom( int *flagp )
-{
-    register char *ret;
-    int flags;
-
-    *flagp = WORST;     /* Tentatively. */
-
-    switch (*regparse++) {
-    /* FIXME: these chars only have meaning at beg/end of pat? */
-    case '^':
-        ret = regnode(BOL);
-        break;
-    case '$':
-        ret = regnode(EOL);
-        break;
-    case '.':
-        ret = regnode(ANY);
-        *flagp |= HASWIDTH|SIMPLE;
-        break;
-    case '[': {
-            register int classr;
-            register int classend;
-
-            if (*regparse == '^') { /* Complement of range. */
-                ret = regnode(ANYBUT);
-                regparse++;
-            } else
-                ret = regnode(ANYOF);
-            if (*regparse == ']' || *regparse == '-')
-                regc(*regparse++);
-            while (*regparse != '\0' && *regparse != ']') {
-                if (*regparse == '-') {
-                    regparse++;
-                    if (*regparse == ']' || *regparse == '\0')
-                        regc('-');
-                    else {
-                        classr = UCHARAT(regparse-2)+1;
-                        classend = UCHARAT(regparse);
-                        if (classr > classend+1)
-                            FAIL("invalid [] range");
-                        for (; classr <= classend; classr++)
-                            regc(classr);
-                        regparse++;
-                    }
-                } else
-                    regc(*regparse++);
-            }
-            regc('\0');
-            if (*regparse != ']')
-                FAIL("unmatched []");
-            regparse++;
-            *flagp |= HASWIDTH|SIMPLE;
-        }
-        break;
-    case '(':
-        ret = reg(1, &flags);
-        if (ret == NULL)
-            return(NULL);
-        *flagp |= flags&(HASWIDTH|SPSTART);
-        break;
-    case '\0':
-    case '|':
-    case '\n':
-    case ')':
-        FAIL("internal urp");   /* Supposed to be caught earlier. */
-        break;
-    case '?':
-    case '+':
-    case '*':
-        FAIL("?+* follows nothing");
-        break;
-    case '\\':
-        switch (*regparse++) {
-        case '\0':
-            FAIL("trailing \\");
-            break;
-        case '<':
-            ret = regnode(WORDA);
-            break;
-        case '>':
-            ret = regnode(WORDZ);
-            break;
-        /* FIXME: Someday handle \1, \2, ... */
-        default:
-            /* Handle general quoted chars in exact-match routine */
-            goto de_fault;
-        }
-        break;
-    de_fault:
-    default:
-        /*
-         * Encode a string of characters to be matched exactly.
-         *
-         * This is a bit tricky due to quoted chars and due to
-         * '*', '+', and '?' taking the SINGLE char previous
-         * as their operand.
-         *
-         * On entry, the char at regparse[-1] is going to go
-         * into the string, no matter what it is.  (It could be
-         * following a \ if we are entered from the '\' case.)
-         *
-         * Basic idea is to pick up a good char in  ch  and
-         * examine the next char.  If it's *+? then we twiddle.
-         * If it's \ then we frozzle.  If it's other magic char
-         * we push  ch  and terminate the string.  If none of the
-         * above, we push  ch  on the string and go around again.
-         *
-         *  regprev  is used to remember where "the current char"
-         * starts in the string, if due to a *+? we need to back
-         * up and put the current char in a separate, 1-char, string.
-         * When  regprev  is NULL,  ch  is the only char in the
-         * string; this is used in *+? handling, and in setting
-         * flags |= SIMPLE at the end.
-         */
-        {
-            char *regprev;
-            register char ch;
-
-            regparse--;         /* Look at cur char */
-            ret = regnode(EXACTLY);
-            for ( regprev = 0 ; ; ) {
-                ch = *regparse++;   /* Get current char */
-                switch (*regparse) {    /* look at next one */
-
-                default:
-                    regc(ch);   /* Add cur to string */
-                    break;
-
-                case '.': case '[': case '(':
-                case ')': case '|': case '\n':
-                case '$': case '^':
-                case '\0':
-                /* FIXME, $ and ^ should not always be magic */
-                magic:
-                    regc(ch);   /* dump cur char */
-                    goto done;  /* and we are done */
-
-                case '?': case '+': case '*':
-                    if (!regprev)   /* If just ch in str, */
-                        goto magic; /* use it */
-                    /* End mult-char string one early */
-                    regparse = regprev; /* Back up parse */
-                    goto done;
-
-                case '\\':
-                    regc(ch);   /* Cur char OK */
-                    switch (regparse[1]){ /* Look after \ */
-                    case '\0':
-                    case '<':
-                    case '>':
-                    /* FIXME: Someday handle \1, \2, ... */
-                        goto done; /* Not quoted */
-                    default:
-                        /* Backup point is \, scan                           * point is after it. */
-                        regprev = regparse;
-                        regparse++;
-                        continue;   /* NOT break; */
-                    }
-                }
-                regprev = regparse; /* Set backup point */
-            }
-        done:
-            regc('\0');
-            *flagp |= HASWIDTH;
-            if (!regprev)       /* One char? */
-                *flagp |= SIMPLE;
-        }
-        break;
-    }
-
-    return(ret);
-}
-
-/*
- - regnode - emit a node
- */
-static char *           /* Location. */
-regnode( int op )
-{
-    register char *ret;
-    register char *ptr;
-
-    ret = regcode;
-    if (ret == &regdummy) {
-        regsize += 3;
-        return(ret);
-    }
-
-    ptr = ret;
-    *ptr++ = op;
-    *ptr++ = '\0';      /* Null "next" pointer. */
-    *ptr++ = '\0';
-    regcode = ptr;
-
-    return(ret);
-}
-
-/*
- - regc - emit (if appropriate) a byte of code
- */
-static void
-regc( int b )
-{
-    if (regcode != &regdummy)
-        *regcode++ = b;
-    else
-        regsize++;
-}
-
-/*
- - reginsert - insert an operator in front of already-emitted operand
- *
- * Means relocating the operand.
- */
-static void
-reginsert(
-    char op,
-    char *opnd )
-{
-    register char *src;
-    register char *dst;
-    register char *place;
-
-    if (regcode == &regdummy) {
-        regsize += 3;
-        return;
-    }
-
-    src = regcode;
-    regcode += 3;
-    dst = regcode;
-    while (src > opnd)
-        *--dst = *--src;
-
-    place = opnd;       /* Op node, where operand used to be. */
-    *place++ = op;
-    *place++ = '\0';
-    *place++ = '\0';
-}
-
-/*
- - regtail - set the next-pointer at the end of a node chain
- */
-static void
-regtail(
-    char *p,
-    char *val )
-{
-    register char *scan;
-    register char *temp;
-    register int offset;
-
-    if (p == &regdummy)
-        return;
-
-    /* Find last node. */
-    scan = p;
-    for (;;) {
-        temp = regnext(scan);
-        if (temp == NULL)
-            break;
-        scan = temp;
-    }
-
-    if (OP(scan) == BACK)
-        offset = scan - val;
-    else
-        offset = val - scan;
-    *(scan+1) = (offset>>8)&0377;
-    *(scan+2) = offset&0377;
-}
-
-/*
- - regoptail - regtail on operand of first argument; nop if operandless
- */
-
-static void
-regoptail(
-    char *p,
-    char *val )
-{
-    /* "Operandless" and "op != BRANCH" are synonymous in practice. */
-    if (p == NULL || p == &regdummy || OP(p) != BRANCH)
-        return;
-    regtail(OPERAND(p), val);
-}
-
-/*
- * regexec and friends
- */
-
-/*
- * Global work variables for regexec().
- */
-static char *reginput;      /* String-input pointer. */
-static char *regbol;        /* Beginning of input, for ^ check. */
-static char **regstartp;    /* Pointer to startp array. */
-static char **regendp;      /* Ditto for endp. */
-
-/*
- * Forwards.
- */
-STATIC int regtry( regexp *prog, char *string );
-STATIC int regmatch( char *prog );
-STATIC int regrepeat( char *p );
-
-#ifdef DEBUG
-int regnarrate = 0;
-void regdump();
-STATIC char *regprop();
-#endif
-
-/*
- - regexec - match a regexp against a string
- */
-int
-regexec(
-    register regexp *prog,
-    register char *string )
-{
-    register char *s;
-
-    /* Be paranoid... */
-    if (prog == NULL || string == NULL) {
-        regerror("NULL parameter");
-        return(0);
-    }
-
-    /* Check validity of program. */
-    if (UCHARAT(prog->program) != MAGIC) {
-        regerror("corrupted program");
-        return(0);
-    }
-
-    /* If there is a "must appear" string, look for it. */
-    if ( prog->regmust != NULL )
-    {
-        s = (char *)string;
-        while ( ( s = strchr( s, prog->regmust[ 0 ] ) ) != NULL )
-        {
-            if ( !strncmp( s, prog->regmust, prog->regmlen ) )
-                break;  /* Found it. */
-            ++s;
-        }
-        if ( s == NULL )  /* Not present. */
-            return 0;
-    }
-
-    /* Mark beginning of line for ^ . */
-    regbol = (char *)string;
-
-    /* Simplest case:  anchored match need be tried only once. */
-    if ( prog->reganch )
-        return regtry( prog, string );
-
-    /* Messy cases:  unanchored match. */
-    s = (char *)string;
-    if (prog->regstart != '\0')
-        /* We know what char it must start with. */
-        while ((s = strchr(s, prog->regstart)) != NULL) {
-            if (regtry(prog, s))
-                return(1);
-            s++;
-        }
-    else
-        /* We do not -- general case. */
-        do {
-            if ( regtry( prog, s ) )
-                return( 1 );
-        } while ( *s++ != '\0' );
-
-    /* Failure. */
-    return 0;
-}
-
-
-/*
- * regtry() - try match at specific point.
- */
-
-static int          /* 0 failure, 1 success */
-regtry(
-    regexp *prog,
-    char *string )
-{
-    register int i;
-    register char * * sp;
-    register char * * ep;
-
-    reginput = string;
-    regstartp = prog->startp;
-    regendp = prog->endp;
-
-    sp = prog->startp;
-    ep = prog->endp;
-    for ( i = NSUBEXP; i > 0; --i )
-    {
-        *sp++ = NULL;
-        *ep++ = NULL;
-    }
-    if ( regmatch( prog->program + 1 ) )
-    {
-        prog->startp[ 0 ] = string;
-        prog->endp[ 0 ] = reginput;
-        return 1;
-    }
-    else
-        return 0;
-}
-
-
-/*
- * regmatch() - main matching routine.
- *
- * Conceptually the strategy is simple: check to see whether the current node
- * matches, call self recursively to see whether the rest matches, and then act
- * accordingly. In practice we make some effort to avoid recursion, in
- * particular by going through "ordinary" nodes (that do not need to know
- * whether the rest of the match failed) by a loop instead of by recursion.
- */
-
-static int          /* 0 failure, 1 success */
-regmatch( char * prog )
-{
-    char * scan;  /* Current node. */
-    char * next;  /* Next node. */
-
-    scan = prog;
-#ifdef DEBUG
-    if (scan != NULL && regnarrate)
-        fprintf(stderr, "%s(\n", regprop(scan));
-#endif
-    while (scan != NULL) {
-#ifdef DEBUG
-        if (regnarrate)
-            fprintf(stderr, "%s...\n", regprop(scan));
-#endif
-        next = regnext(scan);
-
-        switch (OP(scan)) {
-        case BOL:
-            if (reginput != regbol)
-                return(0);
-            break;
-        case EOL:
-            if (*reginput != '\0')
-                return(0);
-            break;
-        case WORDA:
-            /* Must be looking at a letter, digit, or _ */
-            if ((!isalnum(*reginput)) && *reginput != '_')
-                return(0);
-            /* Prev must be BOL or nonword */
-            if (reginput > regbol &&
-                (isalnum(reginput[-1]) || reginput[-1] == '_'))
-                return(0);
-            break;
-        case WORDZ:
-            /* Must be looking at non letter, digit, or _ */
-            if (isalnum(*reginput) || *reginput == '_')
-                return(0);
-            /* We don't care what the previous char was */
-            break;
-        case ANY:
-            if (*reginput == '\0')
-                return(0);
-            reginput++;
-            break;
-        case EXACTLY: {
-                register int len;
-                register char *opnd;
-
-                opnd = OPERAND(scan);
-                /* Inline the first character, for speed. */
-                if (*opnd != *reginput)
-                    return(0);
-                len = strlen(opnd);
-                if (len > 1 && strncmp(opnd, reginput, len) != 0)
-                    return(0);
-                reginput += len;
-            }
-            break;
-        case ANYOF:
-            if (*reginput == '\0' || strchr(OPERAND(scan), *reginput) == NULL)
-                return(0);
-            reginput++;
-            break;
-        case ANYBUT:
-            if (*reginput == '\0' || strchr(OPERAND(scan), *reginput) != NULL)
-                return(0);
-            reginput++;
-            break;
-        case NOTHING:
-            break;
-        case BACK:
-            break;
-        case OPEN+1:
-        case OPEN+2:
-        case OPEN+3:
-        case OPEN+4:
-        case OPEN+5:
-        case OPEN+6:
-        case OPEN+7:
-        case OPEN+8:
-        case OPEN+9: {
-                register int no;
-                register char *save;
-
-                no = OP(scan) - OPEN;
-                save = reginput;
-
-                if (regmatch(next)) {
-                    /*
-                     * Don't set startp if some later
-                     * invocation of the same parentheses
-                     * already has.
-                     */
-                    if (regstartp[no] == NULL)
-                        regstartp[no] = save;
-                    return(1);
-                } else
-                    return(0);
-            }
-            break;
-        case CLOSE+1:
-        case CLOSE+2:
-        case CLOSE+3:
-        case CLOSE+4:
-        case CLOSE+5:
-        case CLOSE+6:
-        case CLOSE+7:
-        case CLOSE+8:
-        case CLOSE+9: {
-                register int no;
-                register char *save;
-
-                no = OP(scan) - CLOSE;
-                save = reginput;
-
-                if (regmatch(next)) {
-                    /*
-                     * Don't set endp if some later
-                     * invocation of the same parentheses
-                     * already has.
-                     */
-                    if (regendp[no] == NULL)
-                        regendp[no] = save;
-                    return(1);
-                } else
-                    return(0);
-            }
-            break;
-        case BRANCH: {
-                register char *save;
-
-                if (OP(next) != BRANCH)     /* No choice. */
-                    next = OPERAND(scan);   /* Avoid recursion. */
-                else {
-                    do {
-                        save = reginput;
-                        if (regmatch(OPERAND(scan)))
-                            return(1);
-                        reginput = save;
-                        scan = regnext(scan);
-                    } while (scan != NULL && OP(scan) == BRANCH);
-                    return(0);
-                    /* NOTREACHED */
-                }
-            }
-            break;
-        case STAR:
-        case PLUS: {
-                register char nextch;
-                register int no;
-                register char *save;
-                register int min;
-
-                /*
-                 * Lookahead to avoid useless match attempts
-                 * when we know what character comes next.
-                 */
-                nextch = '\0';
-                if (OP(next) == EXACTLY)
-                    nextch = *OPERAND(next);
-                min = (OP(scan) == STAR) ? 0 : 1;
-                save = reginput;
-                no = regrepeat(OPERAND(scan));
-                while (no >= min) {
-                    /* If it could work, try it. */
-                    if (nextch == '\0' || *reginput == nextch)
-                        if (regmatch(next))
-                            return(1);
-                    /* Couldn't or didn't -- back up. */
-                    no--;
-                    reginput = save + no;
-                }
-                return(0);
-            }
-            break;
-        case END:
-            return(1);  /* Success! */
-            break;
-        default:
-            regerror("memory corruption");
-            return(0);
-            break;
-        }
-
-        scan = next;
-    }
-
-    /*
-     * We get here only if there's trouble -- normally "case END" is
-     * the terminating point.
-     */
-    regerror("corrupted pointers");
-    return(0);
-}
-
-/*
- - regrepeat - repeatedly match something simple, report how many
- */
-static int
-regrepeat( char *p )
-{
-    register int count = 0;
-    register char *scan;
-    register char *opnd;
-
-    scan = reginput;
-    opnd = OPERAND(p);
-    switch (OP(p)) {
-    case ANY:
-        count = strlen(scan);
-        scan += count;
-        break;
-    case EXACTLY:
-        while (*opnd == *scan) {
-            count++;
-            scan++;
-        }
-        break;
-    case ANYOF:
-        while (*scan != '\0' && strchr(opnd, *scan) != NULL) {
-            count++;
-            scan++;
-        }
-        break;
-    case ANYBUT:
-        while (*scan != '\0' && strchr(opnd, *scan) == NULL) {
-            count++;
-            scan++;
-        }
-        break;
-    default:        /* Oh dear.  Called inappropriately. */
-        regerror("internal foulup");
-        count = 0;  /* Best compromise. */
-        break;
-    }
-    reginput = scan;
-
-    return(count);
-}
-
-/*
- - regnext - dig the "next" pointer out of a node
- */
-static char *
-regnext( register char *p )
-{
-    register int offset;
-
-    if (p == &regdummy)
-        return(NULL);
-
-    offset = NEXT(p);
-    if (offset == 0)
-        return(NULL);
-
-    if (OP(p) == BACK)
-        return(p-offset);
-    else
-        return(p+offset);
-}
-
-#ifdef DEBUG
-
-STATIC char *regprop();
-
-/*
- - regdump - dump a regexp onto stdout in vaguely comprehensible form
- */
-void
-regdump( regexp *r )
-{
-    register char *s;
-    register char op = EXACTLY; /* Arbitrary non-END op. */
-    register char *next;
-
-
-    s = r->program + 1;
-    while (op != END) { /* While that wasn't END last time... */
-        op = OP(s);
-        printf("%2d%s", s-r->program, regprop(s));  /* Where, what. */
-        next = regnext(s);
-        if (next == NULL)       /* Next ptr. */
-            printf("(0)");
-        else
-            printf("(%d)", (s-r->program)+(next-s));
-        s += 3;
-        if (op == ANYOF || op == ANYBUT || op == EXACTLY) {
-            /* Literal string, where present. */
-            while (*s != '\0') {
-                putchar(*s);
-                s++;
-            }
-            s++;
-        }
-        putchar('\n');
-    }
-
-    /* Header fields of interest. */
-    if (r->regstart != '\0')
-        printf("start `%c' ", r->regstart);
-    if (r->reganch)
-        printf("anchored ");
-    if (r->regmust != NULL)
-        printf("must have \"%s\"", r->regmust);
-    printf("\n");
-}
-
-/*
- - regprop - printable representation of opcode
- */
-static char *
-regprop( char *op )
-{
-    register char *p;
-    static char buf[50];
-
-    (void) strcpy(buf, ":");
-
-    switch (OP(op)) {
-    case BOL:
-        p = "BOL";
-        break;
-    case EOL:
-        p = "EOL";
-        break;
-    case ANY:
-        p = "ANY";
-        break;
-    case ANYOF:
-        p = "ANYOF";
-        break;
-    case ANYBUT:
-        p = "ANYBUT";
-        break;
-    case BRANCH:
-        p = "BRANCH";
-        break;
-    case EXACTLY:
-        p = "EXACTLY";
-        break;
-    case NOTHING:
-        p = "NOTHING";
-        break;
-    case BACK:
-        p = "BACK";
-        break;
-    case END:
-        p = "END";
-        break;
-    case OPEN+1:
-    case OPEN+2:
-    case OPEN+3:
-    case OPEN+4:
-    case OPEN+5:
-    case OPEN+6:
-    case OPEN+7:
-    case OPEN+8:
-    case OPEN+9:
-        sprintf(buf+strlen(buf), "OPEN%d", OP(op)-OPEN);
-        p = NULL;
-        break;
-    case CLOSE+1:
-    case CLOSE+2:
-    case CLOSE+3:
-    case CLOSE+4:
-    case CLOSE+5:
-    case CLOSE+6:
-    case CLOSE+7:
-    case CLOSE+8:
-    case CLOSE+9:
-        sprintf(buf+strlen(buf), "CLOSE%d", OP(op)-CLOSE);
-        p = NULL;
-        break;
-    case STAR:
-        p = "STAR";
-        break;
-    case PLUS:
-        p = "PLUS";
-        break;
-    case WORDA:
-        p = "WORDA";
-        break;
-    case WORDZ:
-        p = "WORDZ";
-        break;
-    default:
-        regerror("corrupted opcode");
-        break;
-    }
-    if (p != NULL)
-        (void) strcat(buf, p);
-    return(buf);
-}
-#endif
-
-/*
- * The following is provided for those people who do not have strcspn() in
- * their C libraries.  They should get off their butts and do something
- * about it; at least one public-domain implementation of those (highly
- * useful) string routines has been published on Usenet.
- */
-#ifdef STRCSPN
-/*
- * strcspn - find length of initial segment of s1 consisting entirely
- * of characters not from s2
- */
-
-static int
-strcspn(
-    char *s1,
-    char *s2 )
-{
-    register char *scan1;
-    register char *scan2;
-    register int count;
-
-    count = 0;
-    for (scan1 = s1; *scan1 != '\0'; scan1++) {
-        for (scan2 = s2; *scan2 != '\0';)   /* ++ moved down. */
-            if (*scan1 == *scan2++)
-                return(count);
-        count++;
-    }
-    return(count);
-}
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/regexp.h b/SRC/Boost/tools/build/v2/engine/regexp.h
deleted file mode 100755
index e458b6d..0000000
--- a/SRC/Boost/tools/build/v2/engine/regexp.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Definitions etc. for regexp(3) routines.
- *
- * Caveat:  this is V8 regexp(3) [actually, a reimplementation thereof],
- * not the System V one.
- */
-#ifndef REGEXP_DWA20011023_H
-# define REGEXP_DWA20011023_H
-
-#define NSUBEXP  10
-typedef struct regexp {
-    char *startp[NSUBEXP];
-    char *endp[NSUBEXP];
-    char regstart;      /* Internal use only. */
-    char reganch;       /* Internal use only. */
-    char *regmust;      /* Internal use only. */
-    int regmlen;        /* Internal use only. */
-    char program[1];    /* Unwarranted chumminess with compiler. */
-} regexp;
-
-regexp *regcomp( char *exp );
-int regexec( regexp *prog, char *string );
-void regerror( char *s );
-
-/*
- * The first byte of the regexp internal "program" is actually this magic
- * number; the start node begins in the second byte.
- */
-#define MAGIC   0234
-
-#endif
-
diff --git a/SRC/Boost/tools/build/v2/engine/rules.c b/SRC/Boost/tools/build/v2/engine/rules.c
deleted file mode 100755
index e707c1c..0000000
--- a/SRC/Boost/tools/build/v2/engine/rules.c
+++ /dev/null
@@ -1,810 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-# include "jam.h"
-# include "lists.h"
-# include "parse.h"
-# include "variable.h"
-# include "rules.h"
-# include "newstr.h"
-# include "hash.h"
-# include "modules.h"
-# include "search.h"
-# include "lists.h"
-# include "pathsys.h"
-# include "timestamp.h"
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*
- * rules.c - access to RULEs, TARGETs, and ACTIONs
- *
- * External routines:
- *
- *    bindrule()     - return pointer to RULE, creating it if necessary.
- *    bindtarget()   - return pointer to TARGET, creating it if necessary.
- *    touch_target() - mark a target to simulate being new.
- *    targetlist()   - turn list of target names into a TARGET chain.
- *    targetentry()  - add a TARGET to a chain of TARGETS.
- *    actionlist()   - append to an ACTION chain.
- *    addsettings()  - add a deferred "set" command to a target.
- *    pushsettings() - set all target specific variables.
- *    popsettings()  - reset target specific variables to their pre-push values.
- *    freesettings() - delete a settings list.
- *    rules_done()   - free RULE and TARGET tables.
- *
- * 04/12/94 (seiwald) - actionlist() now just appends a single action.
- * 08/23/94 (seiwald) - Support for '+=' (append to variable)
- */
-
-static void set_rule_actions( RULE *, rule_actions * );
-static void set_rule_body   ( RULE *, argument_list *, PARSE * procedure );
-
-static struct hash * targethash = 0;
-
-struct _located_target
-{
-    char   * file_name;
-    TARGET * target;
-};
-typedef struct _located_target LOCATED_TARGET ;
-
-static struct hash * located_targets = 0;
-
-
-/*
- * target_include() - adds the 'included' TARGET to the list of targets included
- * by the 'including' TARGET. Such targets are modeled as dependencies of the
- * internal include node belonging to the 'including' TARGET.
- */
-
-void target_include( TARGET * including, TARGET * included )
-{
-    TARGET * internal;
-    if ( !including->includes )
-    {
-        including->includes = copytarget( including );
-        including->includes->original_target = including;
-    }
-    internal = including->includes;
-    internal->depends = targetentry( internal->depends, included );
-}
-
-
-/*
- * enter_rule() - return pointer to RULE, creating it if necessary in
- * target_module.
- */
-
-static RULE * enter_rule( char * rulename, module_t * target_module )
-{
-    RULE rule;
-    RULE * r = &rule;
-
-    r->name = rulename;
-
-    if ( hashenter( demand_rules( target_module ), (HASHDATA * *)&r ) )
-    {
-        r->name = newstr( rulename );   /* never freed */
-        r->procedure = (PARSE *)0;
-        r->module = 0;
-        r->actions = 0;
-        r->arguments = 0;
-        r->exported = 0;
-        r->module = target_module;
-#ifdef HAVE_PYTHON
-        r->python_function = 0;
-#endif
-    }
-    return r;
-}
-
-
-/*
- * define_rule() - return pointer to RULE, creating it if necessary in
- * target_module. Prepare it to accept a body or action originating in
- * src_module.
- */
-
-static RULE * define_rule
-(
-    module_t * src_module,
-    char     * rulename,
-    module_t * target_module
-)
-{
-    RULE * r = enter_rule( rulename, target_module );
-    if ( r->module != src_module ) /* if the rule was imported from elsewhere, clear it now */
-    {
-        set_rule_body( r, 0, 0 );
-        set_rule_actions( r, 0 );
-        r->module = src_module; /* r will be executed in the source module */
-    }
-    return r;
-}
-
-
-void rule_free( RULE * r )
-{
-    freestr( r->name );
-    r->name = "";
-    parse_free( r->procedure );
-    r->procedure = 0;
-    if ( r->arguments )
-        args_free( r->arguments );
-    r->arguments = 0;
-    if ( r->actions )
-        actions_free( r->actions );
-    r->actions = 0;
-}
-
-
-/*
- * bindtarget() - return pointer to TARGET, creating it if necessary.
- */
-
-TARGET * bindtarget( char const * target_name )
-{
-    TARGET target;
-    TARGET * t = ⌖
-
-    if ( !targethash )
-        targethash = hashinit( sizeof( TARGET ), "targets" );
-
-    /* Perforce added const everywhere. No time to merge that change. */
-#ifdef NT
-    target_name = short_path_to_long_path( (char *)target_name );
-#endif
-    t->name = (char *)target_name;
-
-    if ( hashenter( targethash, (HASHDATA * *)&t ) )
-    {
-        memset( (char *)t, '\0', sizeof( *t ) );
-        t->name = newstr( (char *)target_name );  /* never freed */
-        t->boundname = t->name;  /* default for T_FLAG_NOTFILE */
-    }
-
-    return t;
-}
-
-
-static void bind_explicitly_located_target( void * xtarget, void * data )
-{
-    TARGET * t = (TARGET *)xtarget;
-    if ( !( t->flags & T_FLAG_NOTFILE ) )
-    {
-        /* Check if there's a setting for LOCATE */
-        SETTINGS * s = t->settings;
-        for ( ; s ; s = s->next )
-        {
-            if ( strcmp( s->symbol, "LOCATE" ) == 0 )
-            {
-                pushsettings( t->settings );
-                /* We are binding a target with explicit LOCATE. So third
-                 * argument is of no use: nothing will be returned through it.
-                 */
-                t->boundname = search( t->name, &t->time, 0, 0 );
-                popsettings( t->settings );
-                break;
-            }
-        }
-    }
-}
-
-
-void bind_explicitly_located_targets()
-{
-    if ( targethash )
-        hashenumerate( targethash, bind_explicitly_located_target, (void *)0 );
-}
-
-
-/* TODO: It is probably not a good idea to use functions in other modules like
-  this. */
-void call_bind_rule( char * target, char * boundname );
-
-
-TARGET * search_for_target ( char * name, LIST * search_path )
-{
-    PATHNAME f[1];
-    string buf[1];
-    LOCATED_TARGET lt;
-    LOCATED_TARGET * lta = <
-    time_t time;
-    int found = 0;
-    TARGET * result;
-
-    string_new( buf );
-
-    path_parse( name, f );
-
-    f->f_grist.ptr = 0;
-    f->f_grist.len = 0;
-
-    while ( search_path )
-    {
-        f->f_root.ptr = search_path->string;
-        f->f_root.len = strlen( search_path->string );
-
-        string_truncate( buf, 0 );
-        path_build( f, buf, 1 );
-
-        lt.file_name = buf->value ;
-
-        if ( !located_targets )
-            located_targets = hashinit( sizeof(LOCATED_TARGET),
-                                        "located targets" );
-
-        if ( hashcheck( located_targets, (HASHDATA * *)&lta ) )
-        {
-            return lta->target;
-        }
-
-        timestamp( buf->value, &time );
-        if ( time )
-        {
-            found = 1;
-            break;
-        }
-
-        search_path = list_next( search_path );
-    }
-
-    if ( !found )
-    {
-        f->f_root.ptr = 0;
-        f->f_root.len = 0;
-
-        string_truncate( buf, 0 );
-        path_build( f, buf, 1 );
-
-        timestamp( buf->value, &time );
-    }
-
-    result = bindtarget( name );
-    result->boundname = newstr( buf->value );
-    result->time = time;
-    result->binding = time ? T_BIND_EXISTS : T_BIND_MISSING;
-
-    call_bind_rule( result->name, result->boundname );
-
-    string_free( buf );
-
-    return result;
-}
-
-
-/*
- * copytarget() - make a new target with the old target's name.
- *
- * Not entered into hash table -- for internal nodes.
- */
-
-TARGET * copytarget( const TARGET * ot )
-{
-    TARGET * t = (TARGET *)BJAM_MALLOC( sizeof( *t ) );
-    memset( (char *)t, '\0', sizeof( *t ) );
-    t->name = copystr( ot->name );
-    t->boundname = t->name;
-
-    t->flags |= T_FLAG_NOTFILE | T_FLAG_INTERNAL;
-
-    return t;
-}
-
-
-/*
- * touch_target() - mark a target to simulate being new.
- */
-
-void touch_target( char * t )
-{
-    bindtarget( t )->flags |= T_FLAG_TOUCHED;
-}
-
-
-/*
- * targetlist() - turn list of target names into a TARGET chain.
- *
- * Inputs:
- *  chain   existing TARGETS to append to
- *  targets list of target names
- */
-
-TARGETS * targetlist( TARGETS * chain, LIST * target_names )
-{
-    for ( ; target_names; target_names = list_next( target_names ) )
-        chain = targetentry( chain, bindtarget( target_names->string ) );
-    return chain;
-}
-
-
-/*
- * targetentry() - add a TARGET to a chain of TARGETS.
- *
- * Inputs:
- *  chain   existing TARGETS to append to
- *  target  new target to append
- */
-
-TARGETS * targetentry( TARGETS * chain, TARGET * target )
-{
-    TARGETS * c = (TARGETS *)BJAM_MALLOC( sizeof( TARGETS ) );
-    c->target = target;
-
-    if ( !chain ) chain = c;
-    else chain->tail->next = c;
-    chain->tail = c;
-    c->next = 0;
-
-    return chain;
-}
-
-
-/*
- * targetchain() - append two TARGET chains.
- *
- * Inputs:
- *  chain   exisitng TARGETS to append to
- *  target  new target to append
- */
-
-TARGETS * targetchain( TARGETS * chain, TARGETS * targets )
-{
-    if ( !targets ) return chain;
-    if ( !chain   ) return targets;
-
-    chain->tail->next = targets;
-    chain->tail = targets->tail;
-
-    return chain;
-}
-
-/*
- * actionlist() - append to an ACTION chain.
- */
-
-ACTIONS * actionlist( ACTIONS * chain, ACTION * action )
-{
-    ACTIONS * actions = (ACTIONS *)BJAM_MALLOC( sizeof( ACTIONS ) );
-
-    actions->action = action;
-
-    if ( !chain ) chain = actions;
-    else chain->tail->next = actions;
-    chain->tail = actions;
-    actions->next = 0;
-
-    return chain;
-}
-
-static SETTINGS * settings_freelist;
-
-
-/*
- * addsettings() - add a deferred "set" command to a target.
- *
- * Adds a variable setting (varname=list) onto a chain of settings for a
- * particular target. 'flag' controls the relationship between new and old
- * values in the same way as in var_set() function (see variable.c). Returns
- * the head of the settings chain.
- */
-
-SETTINGS * addsettings( SETTINGS * head, int flag, char * symbol, LIST * value )
-{
-    SETTINGS * v;
-
-    /* Look for previous settings. */
-    for ( v = head; v; v = v->next )
-        if ( !strcmp( v->symbol, symbol ) )
-            break;
-
-    /* If not previously set, alloc a new. */
-    /* If appending, do so. */
-    /* Else free old and set new. */
-    if ( !v )
-    {
-        v = settings_freelist;
-
-        if ( v )
-            settings_freelist = v->next;
-        else
-            v = (SETTINGS *)BJAM_MALLOC( sizeof( *v ) );
-
-        v->symbol = newstr( symbol );
-        v->value = value;
-        v->next = head;
-        v->multiple = 0;
-        head = v;
-    }
-    else if ( flag == VAR_APPEND )
-    {
-        v->value = list_append( v->value, value );
-    }
-    else if ( flag != VAR_DEFAULT )
-    {
-        list_free( v->value );
-        v->value = value;
-    }
-    else
-        list_free( value );
-
-    /* Return (new) head of list. */
-    return head;
-}
-
-
-/*
- * pushsettings() - set all target specific variables.
- */
-
-void pushsettings( SETTINGS * v )
-{
-    for ( ; v; v = v->next )
-        v->value = var_swap( v->symbol, v->value );
-}
-
-
-/*
- * popsettings() - reset target specific variables to their pre-push values.
- */
-
-void popsettings( SETTINGS * v )
-{
-    pushsettings( v );  /* just swap again */
-}
-
-
-/*
- * copysettings() - duplicate a settings list, returning the new copy.
- */
-
-SETTINGS * copysettings( SETTINGS * head )
-{
-    SETTINGS * copy = 0;
-    SETTINGS * v;
-    for ( v = head; v; v = v->next )
-        copy = addsettings( copy, VAR_SET, v->symbol, list_copy( 0, v->value ) );
-    return copy;
-}
-
-
-/*
- * freetargets() - delete a targets list.
- */
-
-void freetargets( TARGETS * chain )
-{
-    while ( chain )
-    {
-        TARGETS * n = chain->next;
-        BJAM_FREE( chain );
-        chain = n;
-    }
-}
-
-
-/*
- * freeactions() - delete an action list.
- */
-
-void freeactions( ACTIONS * chain )
-{
-    while ( chain )
-    {
-        ACTIONS * n = chain->next;
-        BJAM_FREE( chain );
-        chain = n;
-    }
-}
-
-
-/*
- * freesettings() - delete a settings list.
- */
-
-void freesettings( SETTINGS * v )
-{
-    while ( v )
-    {
-        SETTINGS * n = v->next;
-        freestr( v->symbol );
-        list_free( v->value );
-        v->next = settings_freelist;
-        settings_freelist = v;
-        v = n;
-    }
-}
-
-
-static void freetarget( void * xt, void * data )
-{
-    TARGET * t = (TARGET *)xt;
-    if ( t->settings ) freesettings( t->settings            );
-    if ( t->depends  ) freetargets ( t->depends             );
-    if ( t->includes ) freetarget  ( t->includes, (void *)0 );
-    if ( t->actions  ) freeactions ( t->actions             );
-}
-
-
-/*
- * rules_done() - free RULE and TARGET tables.
- */
-
-void rules_done()
-{
-    hashenumerate( targethash, freetarget, 0 );
-    hashdone( targethash );
-    while ( settings_freelist )
-    {
-        SETTINGS * n = settings_freelist->next;
-        BJAM_FREE( settings_freelist );
-        settings_freelist = n;
-    }
-}
-
-
-/*
- * args_new() - make a new reference-counted argument list.
- */
-
-argument_list * args_new()
-{
-    argument_list * r = (argument_list *)BJAM_MALLOC( sizeof(argument_list) );
-    r->reference_count = 0;
-    lol_init( r->data );
-    return r;
-}
-
-
-/*
- * args_refer() - add a new reference to the given argument list.
- */
-
-void args_refer( argument_list * a )
-{
-    ++a->reference_count;
-}
-
-
-/*
- * args_free() - release a reference to the given argument list.
- */
-
-void args_free( argument_list * a )
-{
-    if ( --a->reference_count <= 0 )
-    {
-        lol_free( a->data );
-        BJAM_FREE( a );
-    }
-}
-
-
-/*
- * actions_refer() - add a new reference to the given actions.
- */
-
-void actions_refer( rule_actions * a )
-{
-    ++a->reference_count;
-}
-
-
-/*
- * actions_free() - release a reference to the given actions.
- */
-
-void actions_free( rule_actions * a )
-{
-    if ( --a->reference_count <= 0 )
-    {
-        freestr( a->command );
-        list_free( a->bindlist );
-        BJAM_FREE( a );
-    }
-}
-
-
-/*
- * set_rule_body() - set the argument list and procedure of the given rule.
- */
-
-static void set_rule_body( RULE * rule, argument_list * args, PARSE * procedure )
-{
-    if ( args )
-        args_refer( args );
-    if ( rule->arguments )
-        args_free( rule->arguments );
-    rule->arguments = args;
-
-    if ( procedure )
-        parse_refer( procedure );
-    if ( rule->procedure )
-        parse_free( rule->procedure );
-    rule->procedure = procedure;
-}
-
-
-/*
- * global_name() - given a rule, return the name for a corresponding rule in the
- * global module.
- */
-
-static char * global_rule_name( RULE * r )
-{
-    if ( r->module == root_module() )
-        return r->name;
-
-    {
-        char name[4096] = "";
-        strncat( name, r->module->name, sizeof( name ) - 1 );
-        strncat( name, r->name, sizeof( name ) - 1 );
-        return newstr( name);
-    }
-}
-
-
-/*
- * global_rule() - given a rule, produce the corresponding entry in the global
- * module.
- */
-
-static RULE * global_rule( RULE * r )
-{
-    if ( r->module == root_module() )
-        return r;
-
-    {
-        char * name = global_rule_name( r );
-        RULE * result = define_rule( r->module, name, root_module() );
-        freestr( name );
-        return result;
-    }
-}
-
-
-/*
- * new_rule_body() - make a new rule named rulename in the given module, with
- * the given argument list and procedure. If exported is true, the rule is
- * exported to the global module as modulename.rulename.
- */
-
-RULE * new_rule_body( module_t * m, char * rulename, argument_list * args, PARSE * procedure, int exported )
-{
-    RULE * local = define_rule( m, rulename, m );
-    local->exported = exported;
-    set_rule_body( local, args, procedure );
-
-    /* Mark the procedure with the global rule name, regardless of whether the
-     * rule is exported. That gives us something reasonably identifiable that we
-     * can use, e.g. in profiling output. Only do this once, since this could be
-     * called multiple times with the same procedure.
-     */
-    if ( procedure->rulename == 0 )
-        procedure->rulename = global_rule_name( local );
-
-    return local;
-}
-
-
-static void set_rule_actions( RULE * rule, rule_actions * actions )
-{
-    if ( actions )
-        actions_refer( actions );
-    if ( rule->actions )
-        actions_free( rule->actions );
-    rule->actions = actions;
-}
-
-
-static rule_actions * actions_new( char * command, LIST * bindlist, int flags )
-{
-    rule_actions * result = (rule_actions *)BJAM_MALLOC( sizeof( rule_actions ) );
-    result->command = copystr( command );
-    result->bindlist = bindlist;
-    result->flags = flags;
-    result->reference_count = 0;
-    return result;
-}
-
-
-RULE * new_rule_actions( module_t * m, char * rulename, char * command, LIST * bindlist, int flags )
-{
-    RULE * local = define_rule( m, rulename, m );
-    RULE * global = global_rule( local );
-    set_rule_actions( local, actions_new( command, bindlist, flags ) );
-    set_rule_actions( global, local->actions );
-    return local;
-}
-
-
-/*
- * Looks for a rule in the specified module, and returns it, if found. First
- * checks if the rule is present in the module's rule table. Second, if name of
- * the rule is in the form name1.name2 and name1 is in the list of imported
- * modules, look in module 'name1' for rule 'name2'.
- */
-
-RULE * lookup_rule( char * rulename, module_t * m, int local_only )
-{
-    RULE       rule;
-    RULE     * r = &rule;
-    RULE     * result = 0;
-    module_t * original_module = m;
-
-    r->name = rulename;
-
-    if ( m->class_module )
-        m = m->class_module;
-
-    if ( m->rules && hashcheck( m->rules, (HASHDATA * *)&r ) )
-        result = r;
-    else if ( !local_only && m->imported_modules )
-    {
-        /* Try splitting the name into module and rule. */
-        char *p = strchr( r->name, '.' ) ;
-        if ( p )
-        {
-            *p = '\0';
-            /* Now, r->name keeps the module name, and p+1 keeps the rule name.
-             */
-            if ( hashcheck( m->imported_modules, (HASHDATA * *)&r ) )
-                result = lookup_rule( p + 1, bindmodule( rulename ), 1 );
-            *p = '.';
-        }
-    }
-
-    if ( result )
-    {
-        if ( local_only && !result->exported )
-            result = 0;
-        else
-        {
-            /* Lookup started in class module. We have found a rule in class
-             * module, which is marked for execution in that module, or in some
-             * instances. Mark it for execution in the instance where we started
-             * the lookup.
-             */
-            int execute_in_class = ( result->module == m );
-            int execute_in_some_instance = ( result->module->class_module &&
-                ( result->module->class_module == m ) );
-            if ( ( original_module != m ) &&
-                ( execute_in_class || execute_in_some_instance ) )
-                result->module = original_module;
-        }
-    }
-
-    return result;
-}
-
-
-RULE * bindrule( char * rulename, module_t * m )
-{
-    RULE * result = lookup_rule( rulename, m, 0 );
-    if ( !result )
-        result = lookup_rule( rulename, root_module(), 0 );
-    /* We have only one caller, 'evaluate_rule', which will complain about
-     * calling an undefined rule. We could issue the error here, but we do not
-     * have the necessary information, such as frame.
-     */
-    if ( !result )
-        result = enter_rule( rulename, m );
-    return result;
-}
-
-
-RULE * import_rule( RULE * source, module_t * m, char * name )
-{
-    RULE * dest = define_rule( source->module, name, m );
-    set_rule_body( dest, source->arguments, source->procedure );
-    set_rule_actions( dest, source->actions );
-    return dest;
-}
diff --git a/SRC/Boost/tools/build/v2/engine/rules.h b/SRC/Boost/tools/build/v2/engine/rules.h
deleted file mode 100755
index 21db9b2..0000000
--- a/SRC/Boost/tools/build/v2/engine/rules.h
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-#ifndef RULES_DWA_20011020_H
-#define RULES_DWA_20011020_H
-
-#include "modules.h"
-#include "jam.h"
-#include "parse.h"
-
-
-/*
- * rules.h -  targets, rules, and related information
- *
- * This file describes the structures holding the targets, rules, and
- * related information accumulated by interpreting the statements
- * of the jam files.
- *
- * The following are defined:
- *
- *  RULE - a generic jam rule, the product of RULE and ACTIONS.
- *  ACTIONS - a chain of ACTIONs.
- *  ACTION - a RULE instance with targets and sources.
- *  SETTINGS - variables to set when executing a TARGET's ACTIONS.
- *  TARGETS - a chain of TARGETs.
- *  TARGET - an entity (e.g. a file) that can be built.
- *
- * 04/11/94 (seiwald) - Combined deps & headers into deps[2] in TARGET.
- * 04/12/94 (seiwald) - actionlist() now just appends a single action.
- * 06/01/94 (seiwald) - new 'actions existing' does existing sources
- * 12/20/94 (seiwald) - NOTIME renamed NOTFILE.
- * 01/19/95 (seiwald) - split DONTKNOW into CANTFIND/CANTMAKE.
- * 02/02/95 (seiwald) - new LEAVES modifier on targets.
- * 02/14/95 (seiwald) - new NOUPDATE modifier on targets.
- */
-
-typedef struct _rule RULE;
-typedef struct _target TARGET;
-typedef struct _targets TARGETS;
-typedef struct _action ACTION;
-typedef struct _actions ACTIONS;
-typedef struct _settings SETTINGS ;
-
-/* RULE - a generic jam rule, the product of RULE and ACTIONS. */
-
-/* A rule's argument list. */
-struct argument_list
-{
-    int reference_count;
-    LOL data[1];
-};
-
-/* Build actions corresponding to a rule. */
-struct rule_actions
-{
-    int    reference_count;
-    char * command;          /* command string from ACTIONS */
-    LIST * bindlist;
-    int    flags;            /* modifiers on ACTIONS */
-
-#define RULE_NEWSRCS   0x01  /* $(>) is updated sources only */
-#define RULE_TOGETHER  0x02  /* combine actions on single target */
-#define RULE_IGNORE    0x04  /* ignore return status of executes */
-#define RULE_QUIETLY   0x08  /* do not mention it unless verbose */
-#define RULE_PIECEMEAL 0x10  /* split exec so each $(>) is small */
-#define RULE_EXISTING  0x20  /* $(>) is pre-exisitng sources only */
-};
-
-typedef struct rule_actions rule_actions;
-typedef struct argument_list argument_list;
-
-struct _rule
-{
-    char          * name;
-    PARSE         * procedure;  /* parse tree from RULE */
-    argument_list * arguments;  /* argument checking info, or NULL for unchecked
-                                 */
-    rule_actions  * actions;    /* build actions, or NULL for no actions */
-    module_t      * module;     /* module in which this rule is executed */
-    int             exported;   /* nonzero if this rule is supposed to appear in
-                                 * the global module and be automatically
-                                 * imported into other modules
-                                 */
-#ifdef HAVE_PYTHON
-    PyObject * python_function;
-#endif
-};
-
-/* ACTIONS - a chain of ACTIONs. */
-struct _actions
-{
-    ACTIONS * next;
-    ACTIONS * tail;           /* valid only for head */
-    ACTION  * action;
-};
-
-/* ACTION - a RULE instance with targets and sources. */
-struct _action
-{
-    RULE    * rule;
-    TARGETS * targets;
-    TARGETS * sources;        /* aka $(>) */
-    char      running;        /* has been started */
-    char      status;         /* see TARGET status */
-};
-
-/* SETTINGS - variables to set when executing a TARGET's ACTIONS. */
-struct _settings
-{
-    SETTINGS * next;
-    char     * symbol;        /* symbol name for var_set() */
-    LIST     * value;         /* symbol value for var_set() */
-    int multiple;
-};
-
-/* TARGETS - a chain of TARGETs. */
-struct _targets
-{
-    TARGETS * next;
-    TARGETS * tail;           /* valid only for head */
-    TARGET  * target;
-};
-
-/* TARGET - an entity (e.g. a file) that can be built. */
-struct _target
-{
-    char     * name;
-    char     * boundname;             /* if search() relocates target */
-    ACTIONS  * actions;               /* rules to execute, if any */
-    SETTINGS * settings;              /* variables to define */
-
-    short      flags;                 /* status info */
-
-#define T_FLAG_TEMP           0x0001  /* TEMPORARY applied */
-#define T_FLAG_NOCARE         0x0002  /* NOCARE applied */
-#define T_FLAG_NOTFILE        0x0004  /* NOTFILE applied */
-#define T_FLAG_TOUCHED        0x0008  /* ALWAYS applied or -t target */
-#define T_FLAG_LEAVES         0x0010  /* LEAVES applied */
-#define T_FLAG_NOUPDATE       0x0020  /* NOUPDATE applied */
-#define T_FLAG_VISITED        0x0040  /* CWM: Used in debugging */
-
-/* This flag has been added to support a new built-in rule named "RMBAD". It is
- * used to force removal of outdated targets whose dependencies fail to build.
- */
-#define T_FLAG_RMOLD          0x0080  /* RMBAD applied */
-
-/* This flag was added to support a new built-in rule named "FAIL_EXPECTED" used
- * to indicate that the result of running a given action should be inverted,
- * i.e. ok <=> fail. This is useful for launching certain test runs from a
- * Jamfile.
- */
-#define T_FLAG_FAIL_EXPECTED  0x0100  /* FAIL_EXPECTED applied */
-
-#define T_FLAG_INTERNAL       0x0200  /* internal INCLUDES node */
-
-/* Indicates that the target must be a file. This prevents matching non-files,
- * like directories, when a target is searched.
- */
-#define T_FLAG_ISFILE         0x0400
-
-#define T_FLAG_PRECIOUS       0x0800 
-
-    char       binding;               /* how target relates to a real file or
-                                       * folder
-                                       */
-
-#define T_BIND_UNBOUND        0       /* a disembodied name */
-#define T_BIND_MISSING        1       /* could not find real file */
-#define T_BIND_PARENTS        2       /* using parent's timestamp */
-#define T_BIND_EXISTS         3       /* real file, timestamp valid */
-
-    TARGETS  * depends;               /* dependencies */
-    TARGETS  * dependants;            /* the inverse of dependencies */
-    TARGETS  * rebuilds;              /* targets that should be force-rebuilt
-                                       * whenever this one is
-                                       */
-    TARGET   * includes;              /* internal includes node */
-    TARGET   * original_target;       /* original_target->includes = this */
-    char       rescanned;
-
-    time_t     time;                  /* update time */
-    time_t     leaf;                  /* update time of leaf sources */
-
-    char       fate;                  /* make0()'s diagnosis */
-
-#define T_FATE_INIT           0       /* nothing done to target */
-#define T_FATE_MAKING         1       /* make0(target) on stack */
-
-#define T_FATE_STABLE         2       /* target did not need updating */
-#define T_FATE_NEWER          3       /* target newer than parent */
-                                  
-#define T_FATE_SPOIL          4       /* >= SPOIL rebuilds parents */
-#define T_FATE_ISTMP          4       /* unneeded temp target oddly present */
-
-#define T_FATE_BUILD          5       /* >= BUILD rebuilds target */
-#define T_FATE_TOUCHED        5       /* manually touched with -t */
-#define T_FATE_REBUILD        6       
-#define T_FATE_MISSING        7       /* is missing, needs updating */
-#define T_FATE_NEEDTMP        8       /* missing temp that must be rebuild */
-#define T_FATE_OUTDATED       9       /* is out of date, needs updating */
-#define T_FATE_UPDATE         10      /* deps updated, needs updating */
-
-#define T_FATE_BROKEN         11      /* >= BROKEN ruins parents */
-#define T_FATE_CANTFIND       11      /* no rules to make missing target */
-#define T_FATE_CANTMAKE       12      /* can not find dependencies */
-
-    char       progress;              /* tracks make1() progress */
-
-#define T_MAKE_INIT           0       /* make1(target) not yet called */
-#define T_MAKE_ONSTACK        1       /* make1(target) on stack */
-#define T_MAKE_ACTIVE         2       /* make1(target) in make1b() */
-#define T_MAKE_RUNNING        3       /* make1(target) running commands */
-#define T_MAKE_DONE           4       /* make1(target) done */
-
-#ifdef OPT_SEMAPHORE
-    #define T_MAKE_SEMAPHORE  5       /* Special target type for semaphores */
-#endif
-
-#ifdef OPT_SEMAPHORE
-    TARGET   * semaphore;             /* used in serialization */
-#endif
-
-    char       status;                /* exec_cmd() result */
-
-    int        asynccnt;              /* child deps outstanding */
-    TARGETS  * parents;               /* used by make1() for completion */
-    char     * cmds;                  /* type-punned command list */
-
-    char     * failed;
-};
-
-
-/* Action related functions. */
-ACTIONS  * actionlist   ( ACTIONS *, ACTION * );
-void       freeactions  ( ACTIONS * );
-SETTINGS * addsettings  ( SETTINGS *, int flag, char * symbol, LIST * value );
-void       pushsettings ( SETTINGS * );
-void       popsettings  ( SETTINGS * );
-SETTINGS * copysettings ( SETTINGS * );
-void       freesettings ( SETTINGS * );
-void       actions_refer( rule_actions * );
-void       actions_free ( rule_actions * );
-
-/* Argument list related functions. */
-void            args_free ( argument_list * );
-argument_list * args_new  ();
-void            args_refer( argument_list * );
-
-/* Rule related functions. */
-RULE * bindrule        ( char * rulename, module_t * );
-RULE * import_rule     ( RULE * source, module_t *, char * name );
-RULE * new_rule_body   ( module_t *, char * rulename, argument_list *, PARSE * procedure, int exprt );
-RULE * new_rule_actions( module_t *, char * rulename, char * command, LIST * bindlist, int flags );
-void   rule_free       ( RULE * );
-
-/* Target related functions. */
-void      bind_explicitly_located_targets();
-TARGET  * bindtarget                     ( char const * target_name );
-TARGET  * copytarget                     ( TARGET const * t );
-void      freetargets                    ( TARGETS * );
-TARGET  * search_for_target              ( char * name, LIST * search_path );
-TARGETS * targetchain                    ( TARGETS * chain, TARGETS * );
-TARGETS * targetentry                    ( TARGETS * chain, TARGET * );
-void      target_include                 ( TARGET * including, TARGET * included );
-TARGETS * targetlist                     ( TARGETS * chain, LIST * target_names );
-void      touch_target                   ( char * t );
-
-/* Final module cleanup. */
-void rules_done();
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/engine/scan.c b/SRC/Boost/tools/build/v2/engine/scan.c
deleted file mode 100755
index 1b80376..0000000
--- a/SRC/Boost/tools/build/v2/engine/scan.c
+++ /dev/null
@@ -1,418 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-#include "jam.h"
-#include "lists.h"
-#include "parse.h"
-#include "scan.h"
-#include "jamgram.h"
-#include "jambase.h"
-#include "newstr.h"
-
-/*
- * scan.c - the jam yacc scanner
- *
- * 12/26/93 (seiwald) - bump buf in yylex to 10240 - yuk.
- * 09/16/94 (seiwald) - check for overflows, unmatched {}'s, etc.
- *          Also handle tokens abutting EOF by remembering
- *          to return EOF now matter how many times yylex()
- *          reinvokes yyline().
- * 02/11/95 (seiwald) - honor only punctuation keywords if SCAN_PUNCT.
- * 07/27/95 (seiwald) - Include jamgram.h after scan.h, so that YYSTYPE is
- *          defined before Linux's yacc tries to redefine it.
- */
-
-struct keyword
-{
-    char * word;
-    int    type;
-} keywords[] =
-{
-#include "jamgramtab.h"
-    { 0, 0 }
-};
-
-struct include
-{
-    struct include   * next;       /* next serial include file */
-    char             * string;     /* pointer into current line */
-    char           * * strings;    /* for yyfparse() -- text to parse */
-    FILE             * file;       /* for yyfparse() -- file being read */
-    char             * fname;      /* for yyfparse() -- file name */
-    int                line;       /* line counter for error messages */
-    char               buf[ 512 ]; /* for yyfparse() -- line buffer */
-};
-
-static struct include * incp = 0; /* current file; head of chain */
-
-static int scanmode = SCAN_NORMAL;
-static int anyerrors = 0;
-
-
-static char * symdump( YYSTYPE * );
-
-#define BIGGEST_TOKEN 10240  /* no single token can be larger */
-
-
-/*
- * Set parser mode: normal, string, or keyword.
- */
-
-void yymode( int n )
-{
-    scanmode = n;
-}
-
-
-void yyerror( char * s )
-{
-    /* We use yylval instead of incp to access the error location information as
-     * the incp pointer will already be reset to 0 in case the error occurred at
-     * EOF.
-     *
-     * The two may differ only if we get an error while reading a lexical token
-     * spanning muliple lines, e.g. a multi-line string literal or action body,
-     * in which case yylval location information will hold the information about
-     * where this token started while incp will hold the information about where
-     * reading it broke.
-     *
-     * TODO: Test the theory about when yylval and incp location information are
-     * the same and when they differ.
-     */
-    printf( "%s:%d: %s at %s\n", yylval.file, yylval.line, s, symdump( &yylval ) );
-    ++anyerrors;
-}
-
-
-int yyanyerrors()
-{
-    return anyerrors != 0;
-}
-
-
-void yyfparse( char * s )
-{
-    struct include * i = (struct include *)BJAM_MALLOC( sizeof( *i ) );
-
-    /* Push this onto the incp chain. */
-    i->string = "";
-    i->strings = 0;
-    i->file = 0;
-    i->fname = copystr( s );
-    i->line = 0;
-    i->next = incp;
-    incp = i;
-
-    /* If the filename is "+", it means use the internal jambase. */
-    if ( !strcmp( s, "+" ) )
-        i->strings = jambase;
-}
-
-
-/*
- * yyline() - read new line and return first character.
- *
- * Fabricates a continuous stream of characters across include files, returning
- * EOF at the bitter end.
- */
-
-int yyline()
-{
-    struct include * i = incp;
-
-    if ( !incp )
-        return EOF;
-
-    /* Once we start reading from the input stream, we reset the include
-     * insertion point so that the next include file becomes the head of the
-     * list.
-     */
-
-    /* If there is more data in this line, return it. */
-    if ( *i->string )
-        return *i->string++;
-
-    /* If we are reading from an internal string list, go to the next string. */
-    if ( i->strings )
-    {
-        if ( *i->strings )
-        {
-            ++i->line;
-            i->string = *(i->strings++);
-            return *i->string++;
-        }
-    }
-    else
-    {
-        /* If necessary, open the file. */
-        if ( !i->file )
-        {
-            FILE * f = stdin;
-            if ( strcmp( i->fname, "-" ) && !( f = fopen( i->fname, "r" ) ) )
-                perror( i->fname );
-            i->file = f;
-        }
-
-        /* If there is another line in this file, start it. */
-        if ( i->file && fgets( i->buf, sizeof( i->buf ), i->file ) )
-        {
-            ++i->line;
-            i->string = i->buf;
-            return *i->string++;
-        }
-    }
-
-    /* This include is done. Free it up and return EOF so yyparse() returns to
-     * parse_file().
-     */
-
-    incp = i->next;
-
-    /* Close file, free name. */
-    if ( i->file && ( i->file != stdin ) )
-        fclose( i->file );
-    freestr( i->fname );
-    BJAM_FREE( (char *)i );
-
-    return EOF;
-}
-
-
-/*
- * yylex() - set yylval to current token; return its type.
- *
- * Macros to move things along:
- *
- *  yychar() - return and advance character; invalid after EOF.
- *  yyprev() - back up one character; invalid before yychar().
- *
- * yychar() returns a continuous stream of characters, until it hits the EOF of
- * the current include file.
- */
-
-#define yychar() ( *incp->string ? *incp->string++ : yyline() )
-#define yyprev() ( incp->string-- )
-
-int yylex()
-{
-    int c;
-    char buf[ BIGGEST_TOKEN ];
-    char * b = buf;
-
-    if ( !incp )
-        goto eof;
-
-    /* Get first character (whitespace or of token). */
-    c = yychar();
-
-    if ( scanmode == SCAN_STRING )
-    {
-        /* If scanning for a string (action's {}'s), look for the closing brace.
-         * We handle matching braces, if they match.
-         */
-
-        int nest = 1;
-
-        while ( ( c != EOF ) && ( b < buf + sizeof( buf ) ) )
-        {
-            if ( c == '{' )
-                ++nest;
-
-            if ( ( c == '}' ) && !--nest )
-                break;
-
-            *b++ = c;
-
-            c = yychar();
-
-            /* Turn trailing "\r\n" sequences into plain "\n" for Cygwin. */
-            if ( ( c == '\n' ) && ( b[ -1 ] == '\r' ) )
-                --b;
-        }
-
-        /* We ate the ending brace -- regurgitate it. */
-        if ( c != EOF )
-            yyprev();
-
-        /* Check for obvious errors. */
-        if ( b == buf + sizeof( buf ) )
-        {
-            yyerror( "action block too big" );
-            goto eof;
-        }
-
-        if ( nest )
-        {
-            yyerror( "unmatched {} in action block" );
-            goto eof;
-        }
-
-        *b = 0;
-        yylval.type = STRING;
-        yylval.string = newstr( buf );
-        yylval.file = incp->fname;
-        yylval.line = incp->line;
-    }
-    else
-    {
-        char * b = buf;
-        struct keyword * k;
-        int inquote = 0;
-        int notkeyword;
-
-        /* Eat white space. */
-        for ( ;; )
-        {
-            /* Skip past white space. */
-            while ( ( c != EOF ) && isspace( c ) )
-                c = yychar();
-
-            /* Not a comment? */
-            if ( c != '#' )
-                break;
-
-            /* Swallow up comment line. */
-            while ( ( ( c = yychar() ) != EOF ) && ( c != '\n' ) ) ;
-        }
-
-        /* c now points to the first character of a token. */
-        if ( c == EOF )
-            goto eof;
-
-        yylval.file = incp->fname;
-        yylval.line = incp->line;
-
-        /* While scanning the word, disqualify it for (expensive) keyword lookup
-         * when we can: $anything, "anything", \anything
-         */
-        notkeyword = c == '$';
-
-        /* Look for white space to delimit word. "'s get stripped but preserve
-         * white space. \ protects next character.
-         */
-        while
-        (
-            ( c != EOF ) &&
-            ( b < buf + sizeof( buf ) ) &&
-            ( inquote || !isspace( c ) )
-        )
-        {
-            if ( c == '"' )
-            {
-                /* begin or end " */
-                inquote = !inquote;
-                notkeyword = 1;
-            }
-            else if ( c != '\\' )
-            {
-                /* normal char */
-                *b++ = c;
-            }
-            else if ( ( c = yychar() ) != EOF )
-            {
-                /* \c */
-                if (c == 'n')
-                    c = '\n';
-                else if (c == 'r')
-                    c = '\r';
-                else if (c == 't')
-                    c = '\t';
-                *b++ = c;
-                notkeyword = 1;
-            }
-            else
-            {
-                /* \EOF */
-                break;
-            }
-
-            c = yychar();
-        }
-
-        /* Check obvious errors. */
-        if ( b == buf + sizeof( buf ) )
-        {
-            yyerror( "string too big" );
-            goto eof;
-        }
-
-        if ( inquote )
-        {
-            yyerror( "unmatched \" in string" );
-            goto eof;
-        }
-
-        /* We looked ahead a character - back up. */
-        if ( c != EOF )
-            yyprev();
-
-        /* Scan token table. Do not scan if it is obviously not a keyword or if
-         * it is an alphabetic when were looking for punctuation.
-         */
-
-        *b = 0;
-        yylval.type = ARG;
-
-        if ( !notkeyword && !( isalpha( *buf ) && ( scanmode == SCAN_PUNCT ) ) )
-            for ( k = keywords; k->word; ++k )
-                if ( ( *buf == *k->word ) && !strcmp( k->word, buf ) )
-                { 
-                    yylval.type = k->type;
-                    yylval.string = k->word;  /* used by symdump */
-                    break;
-                }
-
-        if ( yylval.type == ARG )
-            yylval.string = newstr( buf );
-    }
-
-    if ( DEBUG_SCAN )
-        printf( "scan %s\n", symdump( &yylval ) );
-
-    return yylval.type;
-
-eof:
-    /* We do not reset yylval.file & yylval.line here so unexpected EOF error
-     * messages would include correct error location information.
-     */
-    yylval.type = EOF;
-    return yylval.type;
-}
-
-
-static char * symdump( YYSTYPE * s )
-{
-    static char buf[ BIGGEST_TOKEN + 20 ];
-    switch ( s->type )
-    {
-        case EOF   : sprintf( buf, "EOF"                          ); break;
-        case 0     : sprintf( buf, "unknown symbol %s", s->string ); break;
-        case ARG   : sprintf( buf, "argument %s"      , s->string ); break;
-        case STRING: sprintf( buf, "string \"%s\""    , s->string ); break;
-        default    : sprintf( buf, "keyword %s"       , s->string ); break;
-    }
-    return buf;
-}
-
-
-/*
- * Get information about the current file and line, for those epsilon
- * transitions that produce a parse.
- */
-
-void yyinput_stream( char * * name, int * line )
-{
-    if ( incp )
-    {
-        *name = incp->fname;
-        *line = incp->line;
-    }
-    else
-    {
-        *name = "(builtin)";
-        *line = -1;
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/engine/scan.h b/SRC/Boost/tools/build/v2/engine/scan.h
deleted file mode 100755
index 183e133..0000000
--- a/SRC/Boost/tools/build/v2/engine/scan.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * scan.h - the jam yacc scanner
- *
- * External functions:
- *
- *  yyerror( char *s ) - print a parsing error message.
- *  yyfparse( char *s ) - scan include file s.
- *  yylex() - parse the next token, returning its type.
- *  yymode() - adjust lexicon of scanner.
- *  yyparse() - declaration for yacc parser.
- *  yyanyerrors() - indicate if any parsing errors occured.
- *
- * The yymode() function is for the parser to adjust the lexicon of the scanner.
- * Aside from normal keyword scanning, there is a mode to handle action strings
- * (look only for the closing }) and a mode to ignore most keywords when looking
- * for a punctuation keyword. This allows non-punctuation keywords to be used in
- * lists without quoting.
- */
-
-/*
- * YYSTYPE - value of a lexical token
- */
-
-#define YYSTYPE YYSYMBOL
-
-typedef struct _YYSTYPE
-{
-    int     type;
-    char  * string;
-    PARSE * parse;
-    LIST  * list;
-    int     number;
-    char  * file;
-    int     line;
-} YYSTYPE;
-
-extern YYSTYPE yylval;
-
-void yymode( int n );
-void yyerror( char * s );
-int yyanyerrors();
-void yyfparse( char * s );
-int yyline();
-int yylex();
-int yyparse();
-void yyinput_stream( char * * name, int * line );
-
-# define SCAN_NORMAL  0   /* normal parsing */
-# define SCAN_STRING  1   /* look only for matching } */
-# define SCAN_PUNCT   2   /* only punctuation keywords */
diff --git a/SRC/Boost/tools/build/v2/engine/search.c b/SRC/Boost/tools/build/v2/engine/search.c
deleted file mode 100755
index a0a486e..0000000
--- a/SRC/Boost/tools/build/v2/engine/search.c
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-#include "jam.h"
-#include "lists.h"
-#include "search.h"
-#include "timestamp.h"
-#include "pathsys.h"
-#include "variable.h"
-#include "newstr.h"
-#include "compile.h"
-#include "strings.h"
-#include "hash.h"
-#include "filesys.h"
-#include <string.h>
-
-
-typedef struct _binding
-{
-    char * binding;
-    char * target;
-} BINDING;
-
-static struct hash *explicit_bindings = 0;
-
-
-void call_bind_rule
-(
-    char * target_,
-    char * boundname_
-)
-{
-    LIST * bind_rule = var_get( "BINDRULE" );
-    if ( bind_rule )
-    {
-        /* No guarantee that the target is an allocated string, so be on the
-         * safe side.
-         */
-        char * target = copystr( target_ );
-
-        /* Likewise, do not rely on implementation details of newstr.c: allocate
-         * a copy of boundname.
-         */
-        char * boundname = copystr( boundname_ );
-        if ( boundname && target )
-        {
-            /* Prepare the argument list. */
-            FRAME frame[1];
-            frame_init( frame );
-
-            /* First argument is the target name. */
-            lol_add( frame->args, list_new( L0, target ) );
-
-            lol_add( frame->args, list_new( L0, boundname ) );
-            if ( lol_get( frame->args, 1 ) )
-                evaluate_rule( bind_rule->string, frame );
-
-            /* Clean up */
-            frame_free( frame );
-        }
-        else
-        {
-            if ( boundname )
-                freestr( boundname );
-            if ( target )
-                freestr( target );
-        }
-    }
-}
-
-/*
- * search.c - find a target along $(SEARCH) or $(LOCATE)
- * First, check if LOCATE is set. If so, use it to determine
- * the location of target and return, regardless of whether anything
- * exists on that location.
- *
- * Second, examine all directories in SEARCH. If there's file already
- * or there's another target with the same name which was placed
- * to this location via LOCATE setting, stop and return the location.
- * In case of previous target, return it's name via the third argument.
- *
- * This bevahiour allow to handle dependency on generated files. If
- * caller does not expect that target is generated, 0 can be passed as
- * the third argument.
- */
-
-char *
-search(
-    char *target,
-    time_t *time,
-    char **another_target,
-    int file
-)
-{
-    PATHNAME f[1];
-    LIST    *varlist;
-    string    buf[1];
-    int     found = 0;
-    /* Will be set to 1 if target location is specified via LOCATE. */
-    int     explicitly_located = 0;
-    char    *boundname = 0;
-
-    if ( another_target )
-        *another_target = 0;
-
-    if (! explicit_bindings )
-        explicit_bindings = hashinit( sizeof(BINDING),
-                                     "explicitly specified locations");
-
-    string_new( buf );
-    /* Parse the filename */
-
-    path_parse( target, f );
-
-    f->f_grist.ptr = 0;
-    f->f_grist.len = 0;
-
-    if ( ( varlist = var_get( "LOCATE" ) ) )
-      {
-        f->f_root.ptr = varlist->string;
-        f->f_root.len = strlen( varlist->string );
-
-        path_build( f, buf, 1 );
-
-        if ( DEBUG_SEARCH )
-            printf( "locate %s: %s\n", target, buf->value );
-
-        explicitly_located = 1;
-
-        timestamp( buf->value, time );
-        found = 1;
-    }
-    else if ( ( varlist = var_get( "SEARCH" ) ) )
-    {
-        while ( varlist )
-        {
-            BINDING b, *ba = &b;
-            file_info_t *ff;
-
-            f->f_root.ptr = varlist->string;
-            f->f_root.len = strlen( varlist->string );
-
-            string_truncate( buf, 0 );
-            path_build( f, buf, 1 );
-
-            if ( DEBUG_SEARCH )
-                printf( "search %s: %s\n", target, buf->value );
-
-            ff = file_query(buf->value);
-            timestamp( buf->value, time );
-
-            b.binding = buf->value;
-
-            if ( hashcheck( explicit_bindings, (HASHDATA**)&ba ) )
-            {
-                if ( DEBUG_SEARCH )
-                    printf(" search %s: found explicitly located target %s\n",
-                           target, ba->target);
-                if ( another_target )
-                    *another_target = ba->target;
-                found = 1;
-                break;
-            }
-            else if ( ff && ff->time )
-            {
-                if ( !file || ff->is_file )
-                {
-                    found = 1;
-                    break;
-                }
-            }
-
-            varlist = list_next( varlist );
-        }
-    }
-
-    if ( !found )
-    {
-        /* Look for the obvious */
-        /* This is a questionable move.  Should we look in the */
-        /* obvious place if SEARCH is set? */
-
-        f->f_root.ptr = 0;
-        f->f_root.len = 0;
-
-        string_truncate( buf, 0 );
-        path_build( f, buf, 1 );
-
-        if ( DEBUG_SEARCH )
-            printf( "search %s: %s\n", target, buf->value );
-
-        timestamp( buf->value, time );
-    }
-
-    boundname = newstr( buf->value );
-    string_free( buf );
-
-    if ( explicitly_located )
-    {
-        BINDING b;
-        BINDING * ba = &b;
-        b.binding = boundname;
-        b.target = target;
-        /* CONSIDER: we probably should issue a warning is another file
-           is explicitly bound to the same location. This might break
-           compatibility, though. */
-        hashenter( explicit_bindings, (HASHDATA * *)&ba );
-    }
-
-    /* prepare a call to BINDRULE if the variable is set */
-    call_bind_rule( target, boundname );
-
-    return boundname;
-}
diff --git a/SRC/Boost/tools/build/v2/engine/search.h b/SRC/Boost/tools/build/v2/engine/search.h
deleted file mode 100755
index 6819c48..0000000
--- a/SRC/Boost/tools/build/v2/engine/search.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * search.h - find a target along $(SEARCH) or $(LOCATE)
- */
-
-char *search( char *target, time_t *time, char **another_target, int file );
diff --git a/SRC/Boost/tools/build/v2/engine/strings.c b/SRC/Boost/tools/build/v2/engine/strings.c
deleted file mode 100755
index ba48498..0000000
--- a/SRC/Boost/tools/build/v2/engine/strings.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/* Copyright David Abrahams 2004. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-#include "jam.h"
-#include "strings.h"
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <stdio.h>
-
-
-#ifndef NDEBUG
-# define JAM_STRING_MAGIC ((char)0xcf)
-# define JAM_STRING_MAGIC_SIZE 4
-static void assert_invariants( string* self )
-{
-    int i;
-
-    if ( self->value == 0 )
-    {
-        assert( self->size == 0 );
-        assert( self->capacity == 0 );
-        assert( self->opt[0] == 0 );
-        return;
-    }
-
-    assert( self->size < self->capacity );
-    assert( ( self->capacity <= sizeof(self->opt) ) == ( self->value == self->opt ) );
-    assert( strlen( self->value ) == self->size );
-
-    for (i = 0; i < 4; ++i)
-    {
-        assert( self->magic[i] == JAM_STRING_MAGIC );
-        assert( self->value[self->capacity + i] == JAM_STRING_MAGIC );
-    }
-}
-#else
-# define JAM_STRING_MAGIC_SIZE 0
-# define assert_invariants(x) do {} while (0)
-#endif
-
-void string_new( string* s )
-{
-    s->value = s->opt;
-    s->size = 0;
-    s->capacity = sizeof(s->opt);
-    s->opt[0] = 0;
-#ifndef NDEBUG
-    memset(s->magic, JAM_STRING_MAGIC, sizeof(s->magic));
-#endif
-    assert_invariants( s );
-}
-
-void string_free( string* s )
-{
-    assert_invariants( s );
-    if ( s->value != s->opt )
-        BJAM_FREE( s->value );
-    string_new( s );
-}
-
-static void string_reserve_internal( string* self, size_t capacity )
-{
-    if ( self->value == self->opt )
-    {
-        self->value = (char*)BJAM_MALLOC_ATOMIC( capacity + JAM_STRING_MAGIC_SIZE );
-        self->value[0] = 0;
-        strncat( self->value, self->opt, sizeof(self->opt) );
-        assert( strlen( self->value ) <= self->capacity ); /* This is a regression test */
-    }
-    else
-    {
-        self->value = (char*)BJAM_REALLOC( self->value, capacity + JAM_STRING_MAGIC_SIZE );
-    }
-#ifndef NDEBUG
-    memcpy( self->value + capacity, self->magic, JAM_STRING_MAGIC_SIZE );
-#endif
-    self->capacity = capacity;
-}
-
-void string_reserve( string* self, size_t capacity )
-{
-    assert_invariants( self );
-    if ( capacity <= self->capacity )
-        return;
-    string_reserve_internal( self, capacity );
-    assert_invariants( self );
-}
-
-static void extend_full( string* self, char const* start, char const* finish )
-{
-    size_t new_size = self->capacity + ( finish - start );
-    size_t new_capacity = self->capacity;
-    size_t old_size = self->capacity;
-    while ( new_capacity < new_size + 1)
-        new_capacity <<= 1;
-    string_reserve_internal( self, new_capacity );
-    memcpy( self->value + old_size, start, new_size - old_size );
-    self->value[new_size] = 0;
-    self->size = new_size;
-}
-
-void string_append( string* self, char const* rhs )
-{
-    char* p = self->value + self->size;
-    char* end = self->value + self->capacity;
-    assert_invariants( self );
-
-    while ( *rhs && p != end)
-        *p++ = *rhs++;
-
-    if ( p != end )
-    {
-        *p = 0;
-        self->size = p - self->value;
-    }
-    else
-    {
-        extend_full( self, rhs, rhs + strlen(rhs) );
-    }
-    assert_invariants( self );
-}
-
-void string_append_range( string* self, char const* start, char const* finish )
-{
-    char* p = self->value + self->size;
-    char* end = self->value + self->capacity;
-    assert_invariants( self );
-
-    while ( p != end && start != finish )
-        *p++ = *start++;
-
-    if ( p != end )
-    {
-        *p = 0;
-        self->size = p - self->value;
-    }
-    else
-    {
-        extend_full( self, start, finish );
-    }
-    assert_invariants( self );
-}
-
-void string_copy( string* s, char const* rhs )
-{
-    string_new( s );
-    string_append( s, rhs );
-}
-
-void string_truncate( string* self, size_t n )
-{
-    assert_invariants( self );
-    assert( n <= self->capacity );
-    self->value[self->size = n] = 0;
-    assert_invariants( self );
-}
-
-void string_pop_back( string* self )
-{
-    string_truncate( self, self->size - 1 );
-}
-
-void string_push_back( string* self, char x )
-{
-    string_append_range( self, &x, &x + 1 );
-}
-
-char string_back( string* self )
-{
-    assert_invariants( self );
-    return self->value[self->size - 1];
-}
-
-#ifndef NDEBUG
-void string_unit_test()
-{
-    string s[1];
-    int i;
-    char buffer[sizeof(s->opt) * 2 + 2];
-    int limit = sizeof(buffer) > 254 ? 254 : sizeof(buffer);
-
-    string_new(s);
-
-    for (i = 0; i < limit; ++i)
-    {
-        string_push_back( s, (char)(i + 1) );
-    };
-
-    for (i = 0; i < limit; ++i)
-    {
-        assert( i < s->size );
-        assert( s->value[i] == (char)(i + 1));
-    }
-
-    string_free(s);
-
-}
-#endif
-
diff --git a/SRC/Boost/tools/build/v2/engine/strings.h b/SRC/Boost/tools/build/v2/engine/strings.h
deleted file mode 100755
index 5d99de5..0000000
--- a/SRC/Boost/tools/build/v2/engine/strings.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef STRINGS_DWA20011024_H
-# define STRINGS_DWA20011024_H
-
-/* Copyright David Abrahams 2004. Distributed under the Boost */
-/* Software License, Version 1.0. (See accompanying */
-/* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */
-
-# include <stddef.h>
-
-typedef struct string
-{
-    char* value;
-    unsigned long size;
-    unsigned long capacity;
-    char opt[32];
-#ifndef NDEBUG
-    char magic[4];
-#endif
-} string;
-
-void string_new( string* );
-void string_copy( string*, char const* );
-void string_free( string* );
-void string_append( string*, char const* );
-void string_append_range( string*, char const*, char const* );
-void string_push_back( string* s, char x );
-void string_reserve( string*, size_t );
-void string_truncate( string*, size_t );
-void string_pop_back( string* );
-char string_back( string* );
-void string_unit_test();
-
-#endif
-
diff --git a/SRC/Boost/tools/build/v2/engine/subst.c b/SRC/Boost/tools/build/v2/engine/subst.c
deleted file mode 100755
index a870445..0000000
--- a/SRC/Boost/tools/build/v2/engine/subst.c
+++ /dev/null
@@ -1,94 +0,0 @@
-#include <stddef.h>
-#include "jam.h"
-#include "regexp.h"
-#include "hash.h"
-
-#include "newstr.h"
-#include "lists.h"
-#include "parse.h"
-#include "compile.h"
-#include "frames.h"
-
-struct regex_entry
-{
-    const char* pattern;
-    regexp* regex;
-};
-typedef struct regex_entry regex_entry;
-
-static struct hash* regex_hash;
-
-regexp* regex_compile( const char* pattern )
-{
-    regex_entry entry, *e = &entry;
-    entry.pattern = pattern;
-
-    if ( !regex_hash )
-        regex_hash = hashinit(sizeof(regex_entry), "regex");
-
-    if ( hashenter( regex_hash, (HASHDATA **)&e ) )
-        e->regex = regcomp( (char*)pattern );
-
-    return e->regex;
-}
-
-LIST*
-builtin_subst(
-    PARSE    *parse,
-    FRAME      *frame )
-{
-  LIST* result = L0;
-  LIST* arg1 = lol_get( frame->args, 0 );
-
-  if ( arg1 && list_next(arg1) && list_next(list_next(arg1)) )
-  {
-
-      const char* source = arg1->string;
-      const char* pattern = list_next(arg1)->string;
-      regexp* repat = regex_compile( pattern );
-
-      if ( regexec( repat, (char*)source) )
-      {
-          LIST* subst = list_next(arg1);
-
-          while ((subst = list_next(subst)) != L0)
-          {
-# define BUFLEN 4096
-              char buf[BUFLEN + 1];
-              const char* in = subst->string;
-              char* out = buf;
-
-              for ( in = subst->string; *in && out < buf + BUFLEN; ++in )
-              {
-                  if ( *in == '\\' || *in == '$' )
-                  {
-                      ++in;
-                      if ( *in == 0 )
-                      {
-                          break;
-                      }
-                      else if ( *in >= '0' && *in <= '9' )
-                      {
-                          unsigned n = *in - '0';
-                          const size_t srclen = repat->endp[n] - repat->startp[n];
-                          const size_t remaining = buf + BUFLEN - out;
-                          const size_t len = srclen < remaining ? srclen : remaining;
-                          memcpy( out, repat->startp[n], len );
-                          out += len;
-                          continue;
-                      }
-                      /* fall through and copy the next character */
-                  }
-                  *out++ = *in;
-              }
-              *out = 0;
-
-              result = list_new( result, newstr( buf ) );
-#undef BUFLEN
-          }
-      }
-  }
-
-  return result;
-}
-
diff --git a/SRC/Boost/tools/build/v2/engine/timestamp.c b/SRC/Boost/tools/build/v2/engine/timestamp.c
deleted file mode 100755
index 29796dd..0000000
--- a/SRC/Boost/tools/build/v2/engine/timestamp.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-# include "jam.h"
-
-# include "hash.h"
-# include "filesys.h"
-# include "pathsys.h"
-# include "timestamp.h"
-# include "newstr.h"
-# include "strings.h"
-
-/*
- * timestamp.c - get the timestamp of a file or archive member
- *
- * 09/22/00 (seiwald) - downshift names on OS2, too
- */
-
-/*
- * BINDING - all known files
- */
-
-typedef struct _binding BINDING;
-
-struct _binding {
-    char    *name;
-    short   flags;
-
-# define BIND_SCANNED   0x01    /* if directory or arch, has been scanned */
-
-    short   progress;
-
-# define BIND_INIT  0   /* never seen */
-# define BIND_NOENTRY   1   /* timestamp requested but file never found */
-# define BIND_SPOTTED   2   /* file found but not timed yet */
-# define BIND_MISSING   3   /* file found but can't get timestamp */
-# define BIND_FOUND 4   /* file found and time stamped */
-
-    time_t  time;       /* update time - 0 if not exist */
-};
-
-static struct hash * bindhash = 0;
-static void time_enter( void *, char *, int, time_t );
-
-static char * time_progress[] =
-{
-    "INIT",
-    "NOENTRY",
-    "SPOTTED",
-    "MISSING",
-    "FOUND"
-};
-
-
-/*
- * timestamp() - return timestamp on a file, if present.
- */
-
-void timestamp( char * target, time_t * time )
-{
-    PROFILE_ENTER( timestamp );
-
-    PATHNAME   f1;
-    PATHNAME   f2;
-    BINDING    binding;
-    BINDING  * b = &binding;
-    string     buf[ 1 ];
-#ifdef DOWNSHIFT_PATHS
-    string     path;
-    char     * p;
-#endif
-
-#ifdef DOWNSHIFT_PATHS
-    string_copy( &path, target );
-    p = path.value;
-
-    do
-    {
-        *p = tolower( *p );
-#ifdef NT
-        /* On NT, we must use backslashes or the file will not be found. */
-        if ( *p == '/' )
-            *p = PATH_DELIM;
-#endif
-    }
-    while ( *p++ );
-
-    target = path.value;
-#endif  /* #ifdef DOWNSHIFT_PATHS */
-    string_new( buf );
-
-    if ( !bindhash )
-        bindhash = hashinit( sizeof( BINDING ), "bindings" );
-
-    /* Quick path - is it there? */
-    b->name = target;
-    b->time = b->flags = 0;
-    b->progress = BIND_INIT;
-
-    if ( hashenter( bindhash, (HASHDATA * *)&b ) )
-        b->name = newstr( target );  /* never freed */
-
-    if ( b->progress != BIND_INIT )
-        goto afterscanning;
-
-    b->progress = BIND_NOENTRY;
-
-    /* Not found - have to scan for it. */
-    path_parse( target, &f1 );
-
-    /* Scan directory if not already done so. */
-    {
-        BINDING binding;
-        BINDING * b = &binding;
-
-        f2 = f1;
-        f2.f_grist.len = 0;
-        path_parent( &f2 );
-        path_build( &f2, buf, 0 );
-
-        b->name = buf->value;
-        b->time = b->flags = 0;
-        b->progress = BIND_INIT;
-
-        if ( hashenter( bindhash, (HASHDATA * *)&b ) )
-            b->name = newstr( buf->value );  /* never freed */
-
-        if ( !( b->flags & BIND_SCANNED ) )
-        {
-            file_dirscan( buf->value, time_enter, bindhash );
-            b->flags |= BIND_SCANNED;
-        }
-    }
-
-    /* Scan archive if not already done so. */
-    if ( f1.f_member.len )
-    {
-        BINDING binding;
-        BINDING * b = &binding;
-
-        f2 = f1;
-        f2.f_grist.len = 0;
-        f2.f_member.len = 0;
-        string_truncate( buf, 0 );
-        path_build( &f2, buf, 0 );
-
-        b->name = buf->value;
-        b->time = b->flags = 0;
-        b->progress = BIND_INIT;
-
-        if ( hashenter( bindhash, (HASHDATA * *)&b ) )
-            b->name = newstr( buf->value );  /* never freed */
-
-        if ( !( b->flags & BIND_SCANNED ) )
-        {
-            file_archscan( buf->value, time_enter, bindhash );
-            b->flags |= BIND_SCANNED;
-        }
-    }
-
-    afterscanning:
-
-    if ( b->progress == BIND_SPOTTED )
-    {
-         b->progress = file_time( b->name, &b->time ) < 0
-            ? BIND_MISSING
-            : BIND_FOUND;
-    }
-
-    *time = b->progress == BIND_FOUND ? b->time : 0;
-        string_free( buf );
-#ifdef DOWNSHIFT_PATHS
-    string_free( &path );
-#endif
-
-    PROFILE_EXIT( timestamp );
-}
-
-
-static void time_enter( void * closure, char * target, int found, time_t time )
-{
-    BINDING binding;
-    BINDING * b = &binding;
-    struct hash * bindhash = (struct hash *)closure;
-
-#ifdef DOWNSHIFT_PATHS
-    char path[ MAXJPATH ];
-    char * p = path;
-
-    do *p++ = tolower( *target );
-    while ( *target++ );
-
-    target = path;
-#endif
-
-    b->name = target;
-    b->flags = 0;
-
-    if ( hashenter( bindhash, (HASHDATA * *)&b ) )
-        b->name = newstr( target );  /* never freed */
-
-    b->time = time;
-    b->progress = found ? BIND_FOUND : BIND_SPOTTED;
-
-    if ( DEBUG_BINDSCAN )
-        printf( "time ( %s ) : %s\n", target, time_progress[ b->progress ] );
-}
-
-
-/*
- * stamps_done() - free timestamp tables.
- */
-
-void stamps_done()
-{
-    hashdone( bindhash );
-}
diff --git a/SRC/Boost/tools/build/v2/engine/timestamp.h b/SRC/Boost/tools/build/v2/engine/timestamp.h
deleted file mode 100755
index c2f6d1a..0000000
--- a/SRC/Boost/tools/build/v2/engine/timestamp.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Copyright 1993, 1995 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * timestamp.h - get the timestamp of a file or archive member
- */
-
-void timestamp( char * target, time_t * time );
-void stamps_done();
diff --git a/SRC/Boost/tools/build/v2/engine/variable.c b/SRC/Boost/tools/build/v2/engine/variable.c
deleted file mode 100755
index 3d790a6..0000000
--- a/SRC/Boost/tools/build/v2/engine/variable.c
+++ /dev/null
@@ -1,631 +0,0 @@
-/*
- * Copyright 1993, 2000 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*  This file is ALSO:
- *  Copyright 2001-2004 David Abrahams.
- *  Copyright 2005 Reece H. Dunn.
- *  Copyright 2005 Rene Rivera.
- *  Distributed under the Boost Software License, Version 1.0.
- *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
-
-#include "jam.h"
-#include "lists.h"
-#include "parse.h"
-#include "variable.h"
-#include "expand.h"
-#include "hash.h"
-#include "filesys.h"
-#include "newstr.h"
-#include "strings.h"
-#include "pathsys.h"
-#include <stdlib.h>
-#include <stdio.h>
-
-/*
- * variable.c - handle Jam multi-element variables.
- *
- * External routines:
- *
- *  var_defines() - load a bunch of variable=value settings.
- *  var_string()  - expand a string with variables in it.
- *  var_get()     - get value of a user defined symbol.
- *  var_set()     - set a variable in jam's user defined symbol table.
- *  var_swap()    - swap a variable's value with the given one.
- *  var_done()    - free variable tables.
- *
- * Internal routines:
- *
- *  var_enter() - make new var symbol table entry, returning var ptr.
- *  var_dump()  - dump a variable to stdout.
- *
- * 04/13/94 (seiwald) - added shorthand L0 for null list pointer
- * 08/23/94 (seiwald) - Support for '+=' (append to variable)
- * 01/22/95 (seiwald) - split environment variables at blanks or :'s
- * 05/10/95 (seiwald) - split path variables at SPLITPATH (not :)
- * 09/11/00 (seiwald) - defunct var_list() removed
- */
-
-static struct hash *varhash = 0;
-
-/*
- * VARIABLE - a user defined multi-value variable
- */
-
-typedef struct _variable VARIABLE ;
-
-struct _variable
-{
-    char * symbol;
-    LIST * value;
-};
-
-static VARIABLE * var_enter( char * symbol );
-static void var_dump( char * symbol, LIST * value, char * what );
-
-
-/*
- * var_hash_swap() - swap all variable settings with those passed
- *
- * Used to implement separate settings spaces for modules
- */
-
-void var_hash_swap( struct hash * * new_vars )
-{
-    struct hash * old = varhash;
-    varhash = *new_vars;
-    *new_vars = old;
-}
-
-
-/*
- * var_defines() - load a bunch of variable=value settings
- *
- * If preprocess is false, take the value verbatim.
- *
- * Otherwise, if the variable value is enclosed in quotes, strip the
- * quotes.
- *
- * Otherwise, if variable name ends in PATH, split value at :'s.
- *
- * Otherwise, split the value at blanks.
- */
-
-void var_defines( char * const * e, int preprocess )
-{
-    string buf[1];
-
-    string_new( buf );
-
-    for ( ; *e; ++e )
-    {
-        char * val;
-
-# ifdef OS_MAC
-        /* On the mac (MPW), the var=val is actually var\0val */
-        /* Think different. */
-
-        if ( ( val = strchr( *e, '=' ) ) || ( val = *e + strlen( *e ) ) )
-# else
-        if ( ( val = strchr( *e, '=' ) ) )
-# endif
-        {
-            LIST * l = L0;
-            char * pp;
-            char * p;
-# ifdef OPT_NO_EXTERNAL_VARIABLE_SPLIT
-            char split = '\0';
-# else
-    # ifdef OS_MAC
-            char split = ',';
-    # else
-            char split = ' ';
-    # endif
-# endif
-            size_t len = strlen( val + 1 );
-
-            int quoted = ( val[1] == '"' ) && ( val[len] == '"' ) &&
-                ( len > 1 );
-
-            if ( quoted && preprocess )
-            {
-                string_append_range( buf, val + 2, val + len );
-                l = list_new( l, newstr( buf->value ) );
-                string_truncate( buf, 0 );
-            }
-            else
-            {
-                /* Split *PATH at :'s, not spaces. */
-                if ( val - 4 >= *e )
-                {
-                    if ( !strncmp( val - 4, "PATH", 4 ) ||
-                        !strncmp( val - 4, "Path", 4 ) ||
-                        !strncmp( val - 4, "path", 4 ) )
-                        split = SPLITPATH;
-                }
-
-                /* Do the split. */
-                for
-                (
-                    pp = val + 1;
-                    preprocess && ( ( p = strchr( pp, split ) ) != 0 );
-                    pp = p + 1
-                )
-                {
-                    string_append_range( buf, pp, p );
-                    l = list_new( l, newstr( buf->value ) );
-                    string_truncate( buf, 0 );
-                }
-
-                l = list_new( l, newstr( pp ) );
-            }
-
-            /* Get name. */
-            string_append_range( buf, *e, val );
-            var_set( buf->value, l, VAR_SET );
-            string_truncate( buf, 0 );
-        }
-    }
-    string_free( buf );
-}
-
-
-/*
- * var_string() - expand a string with variables in it
- *
- * Copies in to out; doesn't modify targets & sources.
- */
-
-int var_string( char * in, char * out, int outsize, LOL * lol )
-{
-    char * out0 = out;
-    char * oute = out + outsize - 1;
-
-    while ( *in )
-    {
-        char * lastword;
-        int    dollar = 0;
-
-        /* Copy white space. */
-        while ( isspace( *in ) )
-        {
-            if ( out >= oute )
-                return -1;
-            *out++ = *in++;
-        }
-
-        lastword = out;
-
-        /* Copy non-white space, watching for variables. */
-        while ( *in && !isspace( *in ) )
-        {
-            if ( out >= oute )
-                return -1;
-
-            if ( ( in[ 0 ] == '$' ) && ( in[ 1 ] == '(' ) )
-            {
-                ++dollar;
-                *out++ = *in++;
-            }
-            #ifdef OPT_AT_FILES
-            else if ( ( in[ 0 ] == '@' ) && ( in[ 1 ] == '(' ) )
-            {
-                int depth = 1;
-                char * ine = in + 2;
-                char * split = 0;
-
-                /* Scan the content of the response file @() section. */
-                while ( *ine && ( depth > 0 ) )
-                {
-                    switch ( *ine )
-                    {
-                    case '(': ++depth; break;
-                    case ')': --depth; break;
-                    case ':':
-                        if ( ( depth == 1 ) && ( ine[ 1 ] == 'E' ) && ( ine[ 2 ] == '=' ) )
-                            split = ine;
-                        break;
-                    }
-                    ++ine;
-                }
-
-                if ( !split )
-                {
-                    /*  the @() reference doesn't match the @(foo:E=bar) format.
-                        hence we leave it alone by copying directly to output. */
-                    int l = 0;
-                    if ( out + 2 >= oute ) return -1;
-                    *( out++ ) = '@';
-                    *( out++ ) = '(';
-                    l = var_string( in + 2, out, oute - out, lol );
-                    if ( l < 0 ) return -1;
-                    out += l;
-                    if ( out + 1 >= oute ) return -1;
-                    *( out++ ) = ')';
-                }
-                else if ( depth == 0 )
-                {
-                    string file_name_v;
-                    int file_name_l = 0;
-                    const char * file_name_s = 0;
-
-                    /* Expand the temporary file name var inline. */
-                    #if 0
-                    string_copy( &file_name_v, "$(" );
-                    string_append_range( &file_name_v, in + 2, split );
-                    string_push_back( &file_name_v, ')' );
-                    #else
-                    string_new( &file_name_v );
-                    string_append_range( &file_name_v, in + 2, split );
-                    #endif
-                    file_name_l = var_string( file_name_v.value, out, oute - out + 1, lol );
-                    string_free( &file_name_v );
-                    if ( file_name_l < 0 ) return -1;
-                    file_name_s = out;
-
-                    /* For stdout/stderr we will create a temp file and generate
-                     * a command that outputs the content as needed.
-                     */
-                    if ( ( strcmp( "STDOUT", out ) == 0 ) ||
-                        ( strcmp( "STDERR", out ) == 0 ) )
-                    {
-                        int err_redir = strcmp( "STDERR", out ) == 0;
-                        out[ 0 ] = '\0';
-                        file_name_s = path_tmpfile();
-                        file_name_l = strlen(file_name_s);
-                        #ifdef OS_NT
-                        if ( ( out + 7 + file_name_l + ( err_redir ? 5 : 0 ) ) >= oute )
-                            return -1;
-                        sprintf( out,"type \"%s\"%s", file_name_s,
-                            err_redir ? " 1>&2" : "" );
-                        #else
-                        if ( ( out + 6 + file_name_l + ( err_redir ? 5 : 0 ) ) >= oute )
-                            return -1;
-                        sprintf( out,"cat \"%s\"%s", file_name_s,
-                            err_redir ? " 1>&2" : "" );
-                        #endif
-                        /* We also make sure that the temp files created by this
-                         * get nuked eventually.
-                         */
-                        file_remove_atexit( file_name_s );
-                    }
-
-                    /* Expand the file value into the file reference. */
-                    var_string_to_file( split + 3, ine - split - 4, file_name_s,
-                        lol );
-
-                    /* Continue on with the expansion. */
-                    out += strlen( out );
-                }
-
-                /* And continue with the parsing just past the @() reference. */
-                in = ine;
-            }
-            #endif
-            else
-            {
-                *out++ = *in++;
-            }
-        }
-
-        /* Add zero to 'out' so that 'lastword' is correctly zero-terminated. */
-        if ( out >= oute )
-            return -1;
-        /* Do not increment, intentionally. */
-        *out = '\0';
-
-        /* If a variable encountered, expand it and and embed the
-         * space-separated members of the list in the output.
-         */
-        if ( dollar )
-        {
-            LIST * l = var_expand( L0, lastword, out, lol, 0 );
-
-            out = lastword;
-
-            while ( l )
-            {
-                int so = strlen( l->string );
-
-                if ( out + so >= oute )
-                    return -1;
-
-                strcpy( out, l->string );
-                out += so;
-                l = list_next( l );
-                if ( l ) *out++ = ' ';
-            }
-
-            list_free( l );
-        }
-    }
-
-    if ( out >= oute )
-        return -1;
-
-    *out++ = '\0';
-
-    return out - out0;
-}
-
-
-void var_string_to_file( const char * in, int insize, const char * out, LOL * lol )
-{
-    char const * ine = in + insize;
-    FILE * out_file = 0;
-    int out_debug = DEBUG_EXEC ? 1 : 0;
-    if ( globs.noexec )
-    {
-        /* out_debug = 1; */
-    }
-    else if ( strcmp( out, "STDOUT" ) == 0 )
-    {
-        out_file = stdout;
-    }
-    else if ( strcmp( out, "STDERR" ) == 0 )
-    {
-        out_file = stderr;
-    }
-    else
-    {
-        /* Handle "path to file" filenames. */
-        string out_name;
-        if ( ( out[ 0 ] == '"' ) && ( out[ strlen( out ) - 1 ] == '"' ) )
-        {
-            string_copy( &out_name, out + 1 );
-            string_truncate( &out_name, out_name.size - 1 );
-        }
-        else
-        {
-            string_copy( &out_name,out );
-        }
-        out_file = fopen( out_name.value, "w" );
-        if ( !out_file )
-        {
-            printf( "failed to write output file '%s'!\n", out_name.value );
-            exit( EXITBAD );
-        }
-        string_free( &out_name );
-    }
-
-    if ( out_debug ) printf( "\nfile %s\n", out );
-
-    while ( *in && ( in < ine ) )
-    {
-        int dollar = 0;
-        const char * output_0 = in;
-        const char * output_1 = in;
-
-        /* Copy white space. */
-        while ( ( output_1 < ine ) && isspace( *output_1 ) )
-            ++output_1;
-
-        if ( output_0 < output_1 )
-        {
-            if ( out_file  ) fwrite( output_0, output_1 - output_0, 1, out_file );
-            if ( out_debug ) fwrite( output_0, output_1 - output_0, 1, stdout   );
-        }
-        output_0 = output_1;
-
-        /* Copy non-white space, watching for variables. */
-        while ( ( output_1 < ine ) && *output_1 && !isspace( *output_1 ) )
-        {
-            if ( ( output_1[ 0 ] == '$' ) && ( output_1[ 1 ] == '(' ) )
-                ++dollar;
-            ++output_1;
-        }
-
-        /* If a variable encountered, expand it and embed the space-separated
-         * members of the list in the output.
-         */
-        if ( dollar )
-        {
-            LIST * l = var_expand( L0, (char *)output_0, (char *)output_1, lol, 0 );
-
-            while ( l )
-            {
-                if ( out_file ) fputs( l->string, out_file );
-                if ( out_debug ) puts( l->string );
-                l = list_next( l );
-                if ( l )
-                {
-                    if ( out_file ) fputc( ' ', out_file );
-                    if ( out_debug ) fputc( ' ', stdout );
-                }
-            }
-
-            list_free( l );
-        }
-        else if ( output_0 < output_1 )
-        {
-            if ( out_file )
-            {
-                const char * output_n = output_0;
-                while ( output_n < output_1 )
-                {
-                    output_n += fwrite( output_n, 1, output_1-output_n, out_file );
-                }
-            }
-            if ( out_debug )
-            {
-                const char * output_n = output_0;
-                while ( output_n < output_1 )
-                {
-                    output_n += fwrite( output_n, 1, output_1-output_n, stdout );
-                }
-            }
-        }
-
-        in = output_1;
-    }
-
-    if ( out_file && ( out_file != stdout ) && ( out_file != stderr ) )
-    {
-        fflush( out_file );
-        fclose( out_file );
-    }
-
-    if ( out_debug ) fputc( '\n', stdout );
-}
-
-
-/*
- * var_get() - get value of a user defined symbol.
- *
- * Returns NULL if symbol unset.
- */
-
-LIST * var_get( char * symbol )
-{
-    LIST * result = 0;
-#ifdef OPT_AT_FILES
-    /* Some "fixed" variables... */
-    if ( strcmp( "TMPDIR", symbol ) == 0 )
-    {
-        result = list_new( L0, newstr( (char *)path_tmpdir() ) );
-    }
-    else if ( strcmp( "TMPNAME", symbol ) == 0 )
-    {
-        result = list_new( L0, newstr( (char *)path_tmpnam() ) );
-    }
-    else if ( strcmp( "TMPFILE", symbol ) == 0 )
-    {
-        result = list_new( L0, newstr( (char *)path_tmpfile() ) );
-    }
-    else if ( strcmp( "STDOUT", symbol ) == 0 )
-    {
-        result = list_new( L0, newstr( "STDOUT" ) );
-    }
-    else if ( strcmp( "STDERR", symbol ) == 0 )
-    {
-        result = list_new( L0, newstr( "STDERR" ) );
-    }
-    else
-#endif
-    {
-        VARIABLE var;
-        VARIABLE * v = &var;
-
-        v->symbol = symbol;
-
-        if ( varhash && hashcheck( varhash, (HASHDATA * *)&v ) )
-        {
-            if ( DEBUG_VARGET )
-                var_dump( v->symbol, v->value, "get" );
-            result = v->value;
-        }
-    }
-    return result;
-}
-
-
-/*
- * var_set() - set a variable in Jam's user defined symbol table.
- *
- * 'flag' controls the relationship between new and old values of the variable:
- * SET replaces the old with the new; APPEND appends the new to the old; DEFAULT
- * only uses the new if the variable was previously unset.
- *
- * Copies symbol. Takes ownership of value.
- */
-
-void var_set( char * symbol, LIST * value, int flag )
-{
-    VARIABLE * v = var_enter( symbol );
-
-    if ( DEBUG_VARSET )
-        var_dump( symbol, value, "set" );
-
-    switch ( flag )
-    {
-    case VAR_SET:
-        /* Replace value */
-        list_free( v->value );
-        v->value = value;
-        break;
-
-    case VAR_APPEND:
-        /* Append value */
-        v->value = list_append( v->value, value );
-        break;
-
-    case VAR_DEFAULT:
-        /* Set only if unset */
-        if ( !v->value )
-            v->value = value;
-        else
-            list_free( value );
-        break;
-    }
-}
-
-
-/*
- * var_swap() - swap a variable's value with the given one.
- */
-
-LIST * var_swap( char * symbol, LIST * value )
-{
-    VARIABLE * v = var_enter( symbol );
-    LIST     * oldvalue = v->value;
-    if ( DEBUG_VARSET )
-        var_dump( symbol, value, "set" );
-    v->value = value;
-    return oldvalue;
-}
-
-
-/*
- * var_enter() - make new var symbol table entry, returning var ptr.
- */
-
-static VARIABLE * var_enter( char * symbol )
-{
-    VARIABLE var;
-    VARIABLE * v = &var;
-
-    if ( !varhash )
-        varhash = hashinit( sizeof( VARIABLE ), "variables" );
-
-    v->symbol = symbol;
-    v->value = 0;
-
-    if ( hashenter( varhash, (HASHDATA * *)&v ) )
-        v->symbol = newstr( symbol );  /* never freed */
-
-    return v;
-}
-
-
-/*
- * var_dump() - dump a variable to stdout.
- */
-
-static void var_dump( char * symbol, LIST * value, char * what )
-{
-    printf( "%s %s = ", what, symbol );
-    list_print( value );
-    printf( "\n" );
-}
-
-
-/*
- * var_done() - free variable tables.
- */
-
-static void delete_var_( void * xvar, void * data )
-{
-    VARIABLE * v = (VARIABLE *)xvar;
-    freestr( v->symbol );
-    list_free( v-> value );
-}
-
-
-void var_done()
-{
-    hashenumerate( varhash, delete_var_, (void *)0 );
-    hashdone( varhash );
-}
diff --git a/SRC/Boost/tools/build/v2/engine/variable.h b/SRC/Boost/tools/build/v2/engine/variable.h
deleted file mode 100755
index bc26a74..0000000
--- a/SRC/Boost/tools/build/v2/engine/variable.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 1993, 2000 Christopher Seiwald.
- *
- * This file is part of Jam - see jam.c for Copyright information.
- */
-
-/*
- * variable.h - handle jam multi-element variables
- */
-
-struct hash;
-
-void    var_defines( char* const *e, int preprocess );
-int     var_string( char *in, char *out, int outsize, LOL *lol );
-LIST *  var_get( char *symbol );
-void    var_set( char *symbol, LIST *value, int flag );
-LIST *  var_swap( char *symbol, LIST *value );
-void    var_done();
-void    var_hash_swap( struct hash** );
-
-/** Expands the "in" expression directly into the "out" file.
-    The file can be one of: a path, STDOUT, or STDERR to send
-    the output to a file overwriting previous content, to
-    the console, or to the error output respectively.
-*/
-void var_string_to_file( const char * in, int insize, const char * out, LOL * lol );
-
-/*
- * Defines for var_set().
- */
-
-# define VAR_SET    0   /* override previous value */
-# define VAR_APPEND 1   /* append to previous value */
-# define VAR_DEFAULT    2   /* set only if no previous value */
-
diff --git a/SRC/Boost/tools/build/v2/engine/w32_getreg.c b/SRC/Boost/tools/build/v2/engine/w32_getreg.c
deleted file mode 100755
index 868b62e..0000000
--- a/SRC/Boost/tools/build/v2/engine/w32_getreg.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
-Copyright Paul Lin 2003. Copyright 2006 Bojan Resnik.
-Distributed under the Boost Software License, Version 1.0. (See accompanying
-file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-# include "jam.h"
-
-# if defined( OS_NT ) || defined( OS_CYGWIN )
-
-# include "lists.h"
-# include "newstr.h"
-# include "parse.h"
-# include "frames.h"
-# include "strings.h"
-
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-
-# define  MAX_REGISTRY_DATA_LENGTH 4096
-# define  MAX_REGISTRY_KEYNAME_LENGTH 256
-# define  MAX_REGISTRY_VALUENAME_LENGTH 16384
-
-typedef struct
-{
-    LPCSTR  name;
-    HKEY    value;
-} KeyMap;
-
-static const KeyMap dlRootKeys[] = {
-    { "HKLM", HKEY_LOCAL_MACHINE },
-    { "HKCU", HKEY_CURRENT_USER },
-    { "HKCR", HKEY_CLASSES_ROOT },
-    { "HKEY_LOCAL_MACHINE", HKEY_LOCAL_MACHINE },
-    { "HKEY_CURRENT_USER", HKEY_CURRENT_USER },
-    { "HKEY_CLASSES_ROOT", HKEY_CLASSES_ROOT },
-    { 0, 0 }
-};
-
-static HKEY get_key(char const** path)
-{
-    const KeyMap *p;
-
-    for (p = dlRootKeys; p->name; ++p)
-    {
-        int n = strlen(p->name);
-        if (!strncmp(*path,p->name,n))
-        {
-            if ((*path)[n] == '\\' || (*path)[n] == 0)
-            {
-                *path += n + 1;
-                break;
-            }
-        }
-    }
-
-    return p->value;
-}
-
-LIST*
-builtin_system_registry(
-    PARSE    *parse,
-    FRAME    *frame )
-{
-    char const* path = lol_get(frame->args, 0)->string;
-    LIST* result = L0;
-    HKEY key = get_key(&path);
-
-    if (
-        key != 0
-        && ERROR_SUCCESS == RegOpenKeyEx(key, path, 0, KEY_QUERY_VALUE, &key)
-    )
-    {
-        DWORD  type;
-        BYTE   data[MAX_REGISTRY_DATA_LENGTH];
-        DWORD  len = sizeof(data);
-        LIST const* const field = lol_get(frame->args, 1);
-
-        if ( ERROR_SUCCESS ==
-             RegQueryValueEx(key, field ? field->string : 0, 0, &type, data, &len) )
-        {
-            switch (type)
-            {
-
-             case REG_EXPAND_SZ:
-                 {
-                     long len;
-                     string expanded[1];
-                     string_new(expanded);
-
-                     while (
-                         (len = ExpandEnvironmentStrings(
-                             (LPCSTR)data, expanded->value, expanded->capacity))
-                         > expanded->capacity
-                     )
-                         string_reserve(expanded, len);
-
-                     expanded->size = len - 1;
-
-                     result = list_new( result, newstr(expanded->value) );
-                     string_free( expanded );
-                 }
-                 break;
-
-             case REG_MULTI_SZ:
-                 {
-                     char* s;
-
-                     for (s = (char*)data; *s; s += strlen(s) + 1)
-                         result = list_new( result, newstr(s) );
-
-                 }
-                 break;
-
-             case REG_DWORD:
-                 {
-                     char buf[100];
-                     sprintf( buf, "%u", *(PDWORD)data );
-                     result = list_new( result, newstr(buf) );
-                 }
-                 break;
-
-             case REG_SZ:
-                 result = list_new( result, newstr((char*)data) );
-                 break;
-            }
-        }
-        RegCloseKey(key);
-    }
-    return  result;
-}
-
-static LIST* get_subkey_names(HKEY key, char const* path)
-{
-    LIST* result = 0;
-
-    if ( ERROR_SUCCESS ==
-         RegOpenKeyEx(key, path, 0, KEY_ENUMERATE_SUB_KEYS, &key)
-    )
-    {
-        char name[MAX_REGISTRY_KEYNAME_LENGTH];
-        DWORD name_size = sizeof(name);
-        DWORD index;
-        FILETIME last_write_time;
-
-        for ( index = 0;
-              ERROR_SUCCESS == RegEnumKeyEx(
-                  key, index, name, &name_size, 0, 0, 0, &last_write_time);
-              ++index,
-              name_size = sizeof(name)
-        )
-        {
-            name[name_size] = 0;
-            result = list_append(result, list_new(0, newstr(name)));
-        }
-
-        RegCloseKey(key);
-    }
-
-    return result;
-}
-
-static LIST* get_value_names(HKEY key, char const* path)
-{
-    LIST* result = 0;
-
-    if ( ERROR_SUCCESS == RegOpenKeyEx(key, path, 0, KEY_QUERY_VALUE, &key) )
-    {
-        char name[MAX_REGISTRY_VALUENAME_LENGTH];
-        DWORD name_size = sizeof(name);
-        DWORD index;
-
-        for ( index = 0;
-              ERROR_SUCCESS == RegEnumValue(
-                  key, index, name, &name_size, 0, 0, 0, 0);
-              ++index,
-              name_size = sizeof(name)
-        )
-        {
-            name[name_size] = 0;
-            result = list_append(result, list_new(0, newstr(name)));
-        }
-
-        RegCloseKey(key);
-    }
-
-    return result;
-}
-
-LIST*
-builtin_system_registry_names(
-    PARSE    *parse,
-    FRAME    *frame )
-{
-    char const* path        = lol_get(frame->args, 0)->string;
-    char const* result_type = lol_get(frame->args, 1)->string;
-
-    HKEY key = get_key(&path);
-
-    if ( !strcmp(result_type, "subkeys") )
-        return get_subkey_names(key, path);
-    if ( !strcmp(result_type, "values") )
-        return get_value_names(key, path);
-    return 0;
-}
-
-# endif
diff --git a/SRC/Boost/tools/build/v2/engine/yyacc.c b/SRC/Boost/tools/build/v2/engine/yyacc.c
deleted file mode 100755
index acfbe84..0000000
--- a/SRC/Boost/tools/build/v2/engine/yyacc.c
+++ /dev/null
@@ -1,268 +0,0 @@
-/* Copyright 2002 Rene Rivera.
-** Distributed under the Boost Software License, Version 1.0.
-** (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-#include <stdlib.h>
-
-/*
-# yyacc - yacc wrapper
-#
-# Allows tokens to be written as `literal` and then automatically
-# substituted with #defined tokens.
-#
-# Usage:
-#    yyacc file.y filetab.h file.yy
-#
-# inputs:
-#    file.yy        yacc grammar with ` literals
-#
-# outputs:
-#    file.y        yacc grammar
-#    filetab.h    array of string <-> token mappings
-#
-# 3-13-93
-#    Documented and p moved in sed command (for some reason,
-#    s/x/y/p doesn't work).
-# 10-12-93
-#    Take basename as second argument.
-# 12-31-96
-#    reversed order of args to be compatible with GenFile rule
-# 11-20-2002
-#    Reimplemented as a C program for portability. (Rene Rivera)
-*/
-
-void print_usage();
-char * copy_string(char * s, int l);
-char * tokenize_string(char * s);
-int cmp_literal(const void * a, const void * b);
-
-typedef struct
-{
-    char * string;
-    char * token;
-} literal;
-
-int main(int argc, char ** argv)
-{
-    int result = 0;
-    if (argc != 4)
-    {
-        print_usage();
-        result = 1;
-    }
-    else
-    {
-        FILE * token_output_f = 0;
-        FILE * grammar_output_f = 0;
-        FILE * grammar_source_f = 0;
-
-        grammar_source_f = fopen(argv[3],"r");
-        if (grammar_source_f == 0) { result = 1; }
-        if (result == 0)
-        {
-            literal literals[1024];
-            int t = 0;
-            char l[2048];
-            while (1)
-            {
-                if (fgets(l,2048,grammar_source_f) != 0)
-                {
-                    char * c = l;
-                    while (1)
-                    {
-                        char * c1 = strchr(c,'`');
-                        if (c1 != 0)
-                        {
-                            char * c2 = strchr(c1+1,'`');
-                            if (c2 != 0)
-                            {
-                                literals[t].string = copy_string(c1+1,c2-c1-1);
-                                literals[t].token = tokenize_string(literals[t].string);
-                                t += 1;
-                                c = c2+1;
-                            }
-                            else
-                                break;
-                        }
-                        else
-                            break;
-                    }
-                }
-                else
-                {
-                    break;
-                }
-            }
-            literals[t].string = 0;
-            literals[t].token = 0;
-            qsort(literals,t,sizeof(literal),cmp_literal);
-            {
-                int p = 1;
-                int i = 1;
-                while (literals[i].string != 0)
-                {
-                    if (strcmp(literals[p-1].string,literals[i].string) != 0)
-                    {
-                        literals[p] = literals[i];
-                        p += 1;
-                    }
-                    i += 1;
-                }
-                literals[p].string = 0;
-                literals[p].token = 0;
-                t = p;
-            }
-            token_output_f = fopen(argv[2],"w");
-            if (token_output_f != 0)
-            {
-                int i = 0;
-                while (literals[i].string != 0)
-                {
-                    fprintf(token_output_f,"    { \"%s\", %s },\n",literals[i].string,literals[i].token);
-                    i += 1;
-                }
-                fclose(token_output_f);
-            }
-            else
-                result = 1;
-            if (result == 0)
-            {
-                grammar_output_f = fopen(argv[1],"w");
-                if (grammar_output_f != 0)
-                {
-                    int i = 0;
-                    while (literals[i].string != 0)
-                    {
-                        fprintf(grammar_output_f,"%%token %s\n",literals[i].token);
-                        i += 1;
-                    }
-                    rewind(grammar_source_f);
-                    while (1)
-                    {
-                        if (fgets(l,2048,grammar_source_f) != 0)
-                        {
-                            char * c = l;
-                            while (1)
-                            {
-                                char * c1 = strchr(c,'`');
-                                if (c1 != 0)
-                                {
-                                    char * c2 = strchr(c1+1,'`');
-                                    if (c2 != 0)
-                                    {
-                                        literal key;
-                                        literal * replacement = 0;
-                                        key.string = copy_string(c1+1,c2-c1-1);
-                                        key.token = 0;
-                                        replacement = (literal*)bsearch(
-                                            &key,literals,t,sizeof(literal),cmp_literal);
-                                        *c1 = 0;
-                                        fprintf(grammar_output_f,"%s%s",c,replacement->token);
-                                        c = c2+1;
-                                    }
-                                    else
-                                    {
-                                        fprintf(grammar_output_f,"%s",c);
-                                        break;
-                                    }
-                                }
-                                else
-                                {
-                                    fprintf(grammar_output_f,"%s",c);
-                                    break;
-                                }
-                            }
-                        }
-                        else
-                        {
-                            break;
-                        }
-                    }
-                    fclose(grammar_output_f);
-                }
-                else
-                    result = 1;
-            }
-        }
-        if (result != 0)
-        {
-            perror("yyacc");
-        }
-    }
-    return result;
-}
-
-static char * usage[] = {
-    "yyacc <grammar output.y> <token table output.h> <grammar source.yy>",
-    0 };
-
-void print_usage()
-{
-    char ** u;
-    for (u = usage; *u != 0; ++u)
-    {
-        fputs(*u,stderr); putc('\n',stderr);
-    }
-}
-
-char * copy_string(char * s, int l)
-{
-    char * result = (char*)malloc(l+1);
-    strncpy(result,s,l);
-    result[l] = 0;
-    return result;
-}
-
-char * tokenize_string(char * s)
-{
-    char * result;
-    char * literal = s;
-    int l;
-    int c;
-
-    if (strcmp(s,":") == 0) literal = "_colon";
-    else if (strcmp(s,"!") == 0) literal = "_bang";
-    else if (strcmp(s,"!=") == 0) literal = "_bang_equals";
-    else if (strcmp(s,"&&") == 0) literal = "_amperamper";
-    else if (strcmp(s,"&") == 0) literal = "_amper";
-    else if (strcmp(s,"+") == 0) literal = "_plus";
-    else if (strcmp(s,"+=") == 0) literal = "_plus_equals";
-    else if (strcmp(s,"||") == 0) literal = "_barbar";
-    else if (strcmp(s,"|") == 0) literal = "_bar";
-    else if (strcmp(s,";") == 0) literal = "_semic";
-    else if (strcmp(s,"-") == 0) literal = "_minus";
-    else if (strcmp(s,"<") == 0) literal = "_langle";
-    else if (strcmp(s,"<=") == 0) literal = "_langle_equals";
-    else if (strcmp(s,">") == 0) literal = "_rangle";
-    else if (strcmp(s,">=") == 0) literal = "_rangle_equals";
-    else if (strcmp(s,".") == 0) literal = "_period";
-    else if (strcmp(s,"?") == 0) literal = "_question";
-    else if (strcmp(s,"?=") == 0) literal = "_question_equals";
-    else if (strcmp(s,"=") == 0) literal = "_equals";
-    else if (strcmp(s,",") == 0) literal = "_comma";
-    else if (strcmp(s,"[") == 0) literal = "_lbracket";
-    else if (strcmp(s,"]") == 0) literal = "_rbracket";
-    else if (strcmp(s,"{") == 0) literal = "_lbrace";
-    else if (strcmp(s,"}") == 0) literal = "_rbrace";
-    else if (strcmp(s,"(") == 0) literal = "_lparen";
-    else if (strcmp(s,")") == 0) literal = "_rparen";
-    l = strlen(literal)+2;
-    result = (char*)malloc(l+1);
-    for (c = 0; literal[c] != 0; ++c)
-    {
-        result[c] = toupper(literal[c]);
-    }
-    result[l-2] = '_';
-    result[l-1] = 't';
-    result[l] = 0;
-    return result;
-}
-
-int cmp_literal(const void * a, const void * b)
-{
-    return strcmp(((const literal *)a)->string,((const literal *)b)->string);
-}
diff --git a/SRC/Boost/tools/build/v2/example/boost-build.jam b/SRC/Boost/tools/build/v2/example/boost-build.jam
deleted file mode 100755
index 1f1ab2d..0000000
--- a/SRC/Boost/tools/build/v2/example/boost-build.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-boost-build ../kernel ;
diff --git a/SRC/Boost/tools/build/v2/example/built_tool/Jamroot.jam b/SRC/Boost/tools/build/v2/example/built_tool/Jamroot.jam
deleted file mode 100755
index 8ce22c3..0000000
--- a/SRC/Boost/tools/build/v2/example/built_tool/Jamroot.jam
+++ /dev/null
@@ -1,8 +0,0 @@
-
-import feature ;
-
-feature.feature tblgen : : dependency free ;
-
-project built_tool ;
-
-build-project core ;
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/example/built_tool/core/Jamfile.jam b/SRC/Boost/tools/build/v2/example/built_tool/core/Jamfile.jam
deleted file mode 100755
index 3877d3f..0000000
--- a/SRC/Boost/tools/build/v2/example/built_tool/core/Jamfile.jam
+++ /dev/null
@@ -1,30 +0,0 @@
-
-import toolset ;
-
-project : requirements <tblgen>../tblgen//tblgen ;
-
-
-# Create a.c using a custom action defined below.
-make a.c : a.td : @tblgen ;
-
-# Use a.c in executable.
-exe core : core.cpp a.c ;
-
-# The action has to invoke the tool built in other
-# parts of the project. The <tblgen> feature is used
-# to specify the location of the tool, and the flags
-# statement below make the full path to the tool
-# available inside the action.
-toolset.flags tblgen COMMAND <tblgen> ;
-
-# We generally want a.c to be rebuilt when the tool changes.
-rule tblgen ( targets * : sources * : properties * )
-{
-    DEPENDS $(targets) : [ on $(targets) return $(COMMAND) ] ;
-}
-
-# The action that invokes the tool
-actions tblgen bind COMMAND
-{
-    $(COMMAND:E=tblgen) > $(<)
-}
diff --git a/SRC/Boost/tools/build/v2/example/built_tool/core/a.td b/SRC/Boost/tools/build/v2/example/built_tool/core/a.td
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/example/built_tool/core/core.cpp b/SRC/Boost/tools/build/v2/example/built_tool/core/core.cpp
deleted file mode 100755
index 28503ff..0000000
--- a/SRC/Boost/tools/build/v2/example/built_tool/core/core.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-
-int main()
-{
-    return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/example/built_tool/readme.txt b/SRC/Boost/tools/build/v2/example/built_tool/readme.txt
deleted file mode 100755
index ea1465e..0000000
--- a/SRC/Boost/tools/build/v2/example/built_tool/readme.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-
-This example shows how to build an executable and then use it
-for generating other targets. The 'tblgen' subdirectory builds
-a tool, while the 'core' subdirectory uses that tool. Refer
-to core/Jamfile.jam for detailed comments.
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/example/built_tool/tblgen/Jamfile.jam b/SRC/Boost/tools/build/v2/example/built_tool/tblgen/Jamfile.jam
deleted file mode 100755
index 4617fba..0000000
--- a/SRC/Boost/tools/build/v2/example/built_tool/tblgen/Jamfile.jam
+++ /dev/null
@@ -1,4 +0,0 @@
-
-project : requirements -<tblgen>tblgen//tblgen ;
-
-exe tblgen : tblgen.cpp ;
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/example/built_tool/tblgen/tblgen.cpp b/SRC/Boost/tools/build/v2/example/built_tool/tblgen/tblgen.cpp
deleted file mode 100755
index c3a1a94..0000000
--- a/SRC/Boost/tools/build/v2/example/built_tool/tblgen/tblgen.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-
-#include <iostream>
-
-int main()
-{
-    std::cout << "int foo;\n";
-    return 0;
-}
-
diff --git a/SRC/Boost/tools/build/v2/example/customization/class.verbatim b/SRC/Boost/tools/build/v2/example/customization/class.verbatim
deleted file mode 100755
index 73c4282..0000000
--- a/SRC/Boost/tools/build/v2/example/customization/class.verbatim
+++ /dev/null
@@ -1,7 +0,0 @@
-class_template
-
-class %class_name% {
-public:
-    %class_name%() {}
-    ~%class_name%() {}
-};
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/example/customization/codegen.cpp b/SRC/Boost/tools/build/v2/example/customization/codegen.cpp
deleted file mode 100755
index a1b2e77..0000000
--- a/SRC/Boost/tools/build/v2/example/customization/codegen.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// (C) Copyright Vladimir Prus, 2003
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Please see 'usage.verbatim' file for usage notes.
-
-#include <iostream>
-#include <string>
-#include <cstring>
-using std::cout;
-using std::string;
-using std::strlen;
-
-extern const char class_template[];
-extern const char usage[];
-
-int main(int ac, char* av[])
-{
-    if (av[1]) {        
-
-        string class_name = av[1];
-        string s = class_template;
-        
-        string::size_type n;
-        while((n = s.find("%class_name%")) != string::npos) {
-            s.replace(n, strlen("%class_name%"), class_name);
-        }
-        std::cout << "Output is:\n";
-        std::cout << s << "\n";        
-        return 0;
-    } else {
-        std::cout << usage << "\n";
-        return 1;
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/example/customization/inline_file.py b/SRC/Boost/tools/build/v2/example/customization/inline_file.py
deleted file mode 100755
index 0d52eb1..0000000
--- a/SRC/Boost/tools/build/v2/example/customization/inline_file.py
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import sys
-from string import strip
-
-def quote_line(line):
-
-    result = ""
-
-    for i in line:
-        if (i == '\\'):
-            result = result + '\\\\'
-        elif (i == '\"'):
-            result = result + '\\\"'
-        elif (i != '\r' and i != '\n'):
-            result = result + i;
-
-    return '\"' + result + '\\n\"'
-
-def quote_file(file):
-    result = ""
-
-    for i in file.readlines():
-        result = result + quote_line(i) + "\n"
-
-    return result
-
-if len(sys.argv) < 3:
-    print "Usage: inline_file.py output_c_file file_to_include"
-else:
-    output_c_file = sys.argv[1]
-    out_file = open(output_c_file, "w");
-
-    file_to_include = sys.argv[2]
-
-    in_file  = open(file_to_include, "r");
-    variable_name = strip(in_file.readline())    
-    out_file.write("extern const char %s[] = {\n%s};\n\n" % (variable_name, quote_file(in_file)))
-    in_file.close()
-    out_file.close()
diff --git a/SRC/Boost/tools/build/v2/example/customization/jamroot.jam b/SRC/Boost/tools/build/v2/example/customization/jamroot.jam
deleted file mode 100755
index acf0580..0000000
--- a/SRC/Boost/tools/build/v2/example/customization/jamroot.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import verbatim ;
-
-exe codegen : codegen.cpp class.verbatim usage.verbatim 
-    t1.verbatim ;
-
diff --git a/SRC/Boost/tools/build/v2/example/customization/readme.txt b/SRC/Boost/tools/build/v2/example/customization/readme.txt
deleted file mode 100755
index 6572006..0000000
--- a/SRC/Boost/tools/build/v2/example/customization/readme.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-Copyright 2003 Vladimir Prus 
-Distributed under the Boost Software License, Version 1.0. 
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-This example show how to add a new target type and a new tool support to
-Boost.Build. Please refer to extender manual for a complete description of this
-example.
-
-Note that this example requires Python. If cygwin Python on Windows is to be
-used, please go to "verbatim.jam" and follow instructions there.
diff --git a/SRC/Boost/tools/build/v2/example/customization/t1.verbatim b/SRC/Boost/tools/build/v2/example/customization/t1.verbatim
deleted file mode 100755
index 3021f48..0000000
--- a/SRC/Boost/tools/build/v2/example/customization/t1.verbatim
+++ /dev/null
@@ -1,2 +0,0 @@
-t1
-//###include "t2.verbatim"
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/example/customization/t2.verbatim b/SRC/Boost/tools/build/v2/example/customization/t2.verbatim
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/example/customization/usage.verbatim b/SRC/Boost/tools/build/v2/example/customization/usage.verbatim
deleted file mode 100755
index 7ce3c73..0000000
--- a/SRC/Boost/tools/build/v2/example/customization/usage.verbatim
+++ /dev/null
@@ -1,5 +0,0 @@
-usage
-Usage: codegen class_name
-
-This program takes a template of C++ code and replaces of all occurrences of
-%class_name% with the passed 'class_name' parameter.
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/example/customization/verbatim.jam b/SRC/Boost/tools/build/v2/example/customization/verbatim.jam
deleted file mode 100755
index 508d858..0000000
--- a/SRC/Boost/tools/build/v2/example/customization/verbatim.jam
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2003, 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-#  This file shows some of the primary customization mechanisms in Boost.Build V2
-#  and should serve as a basic for your own customization.
-#  Each part has a comment describing its purpose, and you can pick the parts
-#  which are relevant to your case, remove everything else, and then change names
-#  and actions to taste.
-
-#  Declare a new target type. This allows Boost.Build to do something sensible
-#  when targets with the .verbatim extension are found in sources.
-import type ;
-type.register VERBATIM : verbatim ;
-
-#  Declare a dependency scanner for the new target type. The
-#  'inline-file.py' script does not handle includes, so this is
-#  only for illustraction.
-import scanner ;
-#  First, define a new class, derived from 'common-scanner',
-#  that class has all the interesting logic, and we only need
-#  to override the 'pattern' method which return regular
-#  expression to use when scanning.
-class verbatim-scanner : common-scanner 
-{
-    rule pattern ( )
-    {
-        return "//###include[ ]*\"([^\"]*)\"" ;
-    }
-}
-
-# Register the scanner class. The 'include' is
-# the property which specifies the search path
-# for includes.
-scanner.register verbatim-scanner : include ;
-# Assign the scanner class to the target type.
-# Now, all .verbatim sources will be scanned.
-# To test this, build the project, touch the 
-# t2.verbatim file and build again.
-type.set-scanner VERBATIM : verbatim-scanner ;
-
-import generators ;
-generators.register-standard verbatim.inline-file : VERBATIM : CPP ;
-
-# Note: To use Cygwin Python on Windows change the following line
-# to "python inline_file.py $(<) $(>)"
-# Also, make sure that "python" in in PATH.
-actions inline-file 
-{
-    "./inline_file.py" $(<) $(>)
-}
diff --git a/SRC/Boost/tools/build/v2/example/customization/verbatim.py b/SRC/Boost/tools/build/v2/example/customization/verbatim.py
deleted file mode 100755
index 2a3b633..0000000
--- a/SRC/Boost/tools/build/v2/example/customization/verbatim.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2010 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# This file is only used with Python port of Boost.Build
-
-#  This file shows some of the primary customization mechanisms in Boost.Build V2
-#  and should serve as a basic for your own customization.
-#  Each part has a comment describing its purpose, and you can pick the parts
-#  which are relevant to your case, remove everything else, and then change names
-#  and actions to taste.
-
-#  Declare a new target type. This allows Boost.Build to do something sensible
-#  when targets with the .verbatim extension are found in sources.
-import b2.build.type as type
-type.register("VERBATIM", ["verbatim"])
-
-#  Declare a dependency scanner for the new target type. The
-#  'inline-file.py' script does not handle includes, so this is
-#  only for illustraction.
-import b2.build.scanner as scanner;
-#  First, define a new class, derived from 'common-scanner',
-#  that class has all the interesting logic, and we only need
-#  to override the 'pattern' method which return regular
-#  expression to use when scanning.
-class VerbatimScanner(scanner.CommonScanner):
-
-    def pattern(self):
-        return "//###include[ ]*\"([^\"]*)\""
-
-scanner.register(VerbatimScanner, ["include"])
-type.set_scanner("VERBATIM", VerbatimScanner)
-
-import b2.build.generators as generators
-
-generators.register_standard("verbatim.inline-file",
-                             ["VERBATIM"], ["CPP"])
-
-from b2.manager import get_manager
-
-get_manager().engine().register_action("verbatim.inline-file",
-"""
-./inline_file.py $(<) $(>)
-""")
-
-
-
diff --git a/SRC/Boost/tools/build/v2/example/generate/REAME.txt b/SRC/Boost/tools/build/v2/example/generate/REAME.txt
deleted file mode 100755
index 740251a..0000000
--- a/SRC/Boost/tools/build/v2/example/generate/REAME.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright 2007 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-This example shows the 'generate' rule, that allows you to construct target
-using any arbitrary set of transformation and commands.
-
-The rule is similar to 'make' and 'notfile', but unlike those, you can operate
-in terms of Boost.Build 'virtual targets', which is more flexible.
-
-Please consult the docs for more explanations.
diff --git a/SRC/Boost/tools/build/v2/example/generate/a.cpp b/SRC/Boost/tools/build/v2/example/generate/a.cpp
deleted file mode 100755
index 25e8cab..0000000
--- a/SRC/Boost/tools/build/v2/example/generate/a.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-
-int main() 
-{
-}
-
-/* 
-Copyright 2007 Vladimir Prus
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
diff --git a/SRC/Boost/tools/build/v2/example/generate/gen.jam b/SRC/Boost/tools/build/v2/example/generate/gen.jam
deleted file mode 100755
index 4155bef..0000000
--- a/SRC/Boost/tools/build/v2/example/generate/gen.jam
+++ /dev/null
@@ -1,26 +0,0 @@
-
-import "class" : new ;
-import common ;
-
-rule generate-example ( project name : property-set : sources * )
-{
-    local result ;
-    for local s in $(sources)
-    {
-        #local source-name = [ $(s).name ] ;
-        #local source-action = [ $(s).action ] ;
-        #local source-properties = [ $(source-action).properties ] ;
-
-        # Create a new action, that takes the source target and runs the
-        # 'common.copy' command on it.
-        local a = [ new non-scanning-action $(s) : common.copy : $(property-set)
-            ] ;
-
-        # Create a target to represent the action result. Uses the target name
-        # passed here via the 'name' parameter and the same type and project as
-        # the source.
-        result += [ new file-target $(name) : [ $(s).type ] : $(project) : $(a)
-            ] ;
-    }
-    return $(result) ;
-}
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/example/generate/gen.py b/SRC/Boost/tools/build/v2/example/generate/gen.py
deleted file mode 100755
index 006412d..0000000
--- a/SRC/Boost/tools/build/v2/example/generate/gen.py
+++ /dev/null
@@ -1,16 +0,0 @@
-
-from b2.build.virtual_target import NonScanningAction, FileTarget
-
-def generate_example(project, name, ps, sources):
-
-    result = []
-    for s in sources:
-
-        a = NonScanningAction([s], "common.copy", ps)
-
-        # Create a target to represent the action result. Uses the target name
-        # passed here via the 'name' parameter and the same type and project as
-        # the source.
-        result.append(FileTarget(name, s.type(), project, a))
-
-    return result
diff --git a/SRC/Boost/tools/build/v2/example/generate/jamroot.jam b/SRC/Boost/tools/build/v2/example/generate/jamroot.jam
deleted file mode 100755
index 3e01f24..0000000
--- a/SRC/Boost/tools/build/v2/example/generate/jamroot.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2007 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import generate ;
-
-import gen ;
-
-generate a2 : a.cpp : <generating-rule>@gen.generate-example ;
diff --git a/SRC/Boost/tools/build/v2/example/generator/README.txt b/SRC/Boost/tools/build/v2/example/generator/README.txt
deleted file mode 100755
index 3340eff..0000000
--- a/SRC/Boost/tools/build/v2/example/generator/README.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-This example shows how to declare a new generator class. It is necessary when
-generator's logic is more complex that just running a single tool.
diff --git a/SRC/Boost/tools/build/v2/example/generator/foo.gci b/SRC/Boost/tools/build/v2/example/generator/foo.gci
deleted file mode 100755
index 243309e..0000000
--- a/SRC/Boost/tools/build/v2/example/generator/foo.gci
+++ /dev/null
@@ -1,10 +0,0 @@
-
-int main()
-{
-    return 0;
-}
-/*
-Copyright 2006 Vladimir Prus
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- */
diff --git a/SRC/Boost/tools/build/v2/example/generator/jamroot.jam b/SRC/Boost/tools/build/v2/example/generator/jamroot.jam
deleted file mode 100755
index 4be61aa..0000000
--- a/SRC/Boost/tools/build/v2/example/generator/jamroot.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import soap ;
-exe foo : foo.gci : <server>on ;
diff --git a/SRC/Boost/tools/build/v2/example/generator/soap.jam b/SRC/Boost/tools/build/v2/example/generator/soap.jam
deleted file mode 100755
index db51213..0000000
--- a/SRC/Boost/tools/build/v2/example/generator/soap.jam
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This is example of a fictional code generator tool.
-# It accepts a single input of type '.gci' and produces
-# either one or two outputs of type .cpp, depending
-# on the value of the feature <server-mode>
-#
-# This example is loosely based on gSOAP code generator.
-
-import type ;
-import generators ;
-import feature ;
-import common ;
-import "class" : new ;
-
-type.register GCI : gci ;
-
-feature.feature server : off on : incidental ;
-
-class soap-generator : generator
-{
-    import "class" : new ;
-
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-
-    rule run ( project name ? : property-set : sources * )
-    {
-        if ! $(sources[2])
-        {
-            # Accept only single source.
-            local t = [ $(sources[1]).type ] ;
-            if $(t) = GCI
-            {
-                # The type is correct.
-
-                # If no output name is specified, guess it from sources.
-                if ! $(name)
-                {
-                    name = [ generator.determine-output-name $(sources) ] ;
-                }
-
-                # Produce one output, using just copy.
-                local a = [ new action $(sources[1])
-                  : common.copy : $(property-set) ] ;
-                local t = [ new file-target $(name) : CPP : $(project)
-                  : $(a) ] ;
-
-                # If in server mode, create another output -- an
-                # empty file. If this were a real SOAP generator, we
-                # might have created a single action, and two targets
-                # both using that action.
-        local t2 ;
-        if [ $(property-set).get <server> ] = "on"
-        {
-                    local a = [ new action : soap.touch : $(property-set) ] ;
-                    t2 = [ new file-target $(name)_server : CPP : $(project)
-                      : $(a) ] ;
-                }
-                return [ virtual-target.register $(t) ]
-               [ virtual-target.register $(t2) ] ;
-            }
-        }
-    }
-}
-
-generators.register [ new soap-generator soap.soap : GCI : CPP ] ;
-
-TOUCH = [ common.file-touch-command ] ;
-actions touch
-{
-    $(TOUCH) $(<)
-}
diff --git a/SRC/Boost/tools/build/v2/example/gettext/jamfile.jam b/SRC/Boost/tools/build/v2/example/gettext/jamfile.jam
deleted file mode 100755
index 412804c..0000000
--- a/SRC/Boost/tools/build/v2/example/gettext/jamfile.jam
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2003, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-# Declare a main target.
-exe main : main.cpp ;
-
-# Declare an action for updating translations
-# After changing main.cpp, invocation of
-#
-#   bjam update-russian
-# 
-# will update translations in russian.po
-gettext.update update-russian : russian.po main ;
-
-# Compiled message catalog.
-gettext.catalog russian : russian.po ;
-
-# A stage rule which installs message catalog to the
-# location gettext expects.
-stage messages-russian : russian
-    : <location>messages/ru_RU.KOI8-R/LC_MESSAGES 
-      <name>main.mo
-    ;
-
diff --git a/SRC/Boost/tools/build/v2/example/gettext/jamroot.jam b/SRC/Boost/tools/build/v2/example/gettext/jamroot.jam
deleted file mode 100755
index 84f88fb..0000000
--- a/SRC/Boost/tools/build/v2/example/gettext/jamroot.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-using gettext ;
diff --git a/SRC/Boost/tools/build/v2/example/gettext/main.cpp b/SRC/Boost/tools/build/v2/example/gettext/main.cpp
deleted file mode 100755
index a94b50a..0000000
--- a/SRC/Boost/tools/build/v2/example/gettext/main.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright Vladimir Prus 2003.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-#include <locale.h>
-#include <libintl.h>
-#define i18n(s) gettext(s)
-
-#include <iostream>
-using namespace std;
-
-int main()
-{    
-    // Specify that translations are stored in directory
-    // "messages".
-    bindtextdomain("main", "messages");
-    textdomain("main");
-
-    // Switch to russian locale.
-    setlocale(LC_MESSAGES, "ru_RU.KOI8-R");
-
-    // Output localized message.
-    std::cout << i18n("hello") << "\n";
-
-    return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/example/gettext/readme.txt b/SRC/Boost/tools/build/v2/example/gettext/readme.txt
deleted file mode 100755
index e57e1ea..0000000
--- a/SRC/Boost/tools/build/v2/example/gettext/readme.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-Copyright 2003 Vladimir Prus
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-
-This example shows how it is possible to use GNU gettext utilities with
-Boost.Build.
-
-A simple translation file is compiled and installed as message catalog for
-russian. The main application explicitly switches to russian locale and outputs
-the translation of "hello".
-
-To test:
-
-   bjam
-   bin/gcc/debug/main
-
-To test even more:
-
-   - add more localized strings to "main.cpp"
-   - run "bjam update-russian"
-   - edit "russian.po"
-   - run bjam
-   - run "main"
diff --git a/SRC/Boost/tools/build/v2/example/gettext/russian.po b/SRC/Boost/tools/build/v2/example/gettext/russian.po
deleted file mode 100755
index 40b7173..0000000
--- a/SRC/Boost/tools/build/v2/example/gettext/russian.po
+++ /dev/null
@@ -1,21 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2003-07-01 15:45+0400\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: main.cpp:16
-msgid "hello"
-msgstr "international hello"
diff --git a/SRC/Boost/tools/build/v2/example/hello/hello.cpp b/SRC/Boost/tools/build/v2/example/hello/hello.cpp
deleted file mode 100755
index 722be12..0000000
--- a/SRC/Boost/tools/build/v2/example/hello/hello.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#include <iostream>
-
-int main()
-{
-    std::cout << "Hello!\n";
-    return 1;
-}
diff --git a/SRC/Boost/tools/build/v2/example/hello/jamroot.jam b/SRC/Boost/tools/build/v2/example/hello/jamroot.jam
deleted file mode 100755
index 001d922..0000000
--- a/SRC/Boost/tools/build/v2/example/hello/jamroot.jam
+++ /dev/null
@@ -1 +0,0 @@
-exe hello : hello.cpp ;
diff --git a/SRC/Boost/tools/build/v2/example/hello/readme.txt b/SRC/Boost/tools/build/v2/example/hello/readme.txt
deleted file mode 100755
index 3261d86..0000000
--- a/SRC/Boost/tools/build/v2/example/hello/readme.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Copyright 2008 Jurko Gospodnetic
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-
-This example shows a very basic Boost Build project set up so it compiles a
-single executable from a single source file.
diff --git a/SRC/Boost/tools/build/v2/example/libraries/app/app.cpp b/SRC/Boost/tools/build/v2/example/libraries/app/app.cpp
deleted file mode 100755
index 260ddf5..0000000
--- a/SRC/Boost/tools/build/v2/example/libraries/app/app.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#include <lib1.h>
-
-int main()
-{
-    foo();
-}
diff --git a/SRC/Boost/tools/build/v2/example/libraries/app/jamfile.jam b/SRC/Boost/tools/build/v2/example/libraries/app/jamfile.jam
deleted file mode 100755
index ba6b120..0000000
--- a/SRC/Boost/tools/build/v2/example/libraries/app/jamfile.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2002, 2003, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-# Declare a executable file, which uses a library. Note that
-# includes that for library will be automatically used
-# when compiling 'app.cpp'
-exe app : app.cpp /library-example/foo//bar ;
diff --git a/SRC/Boost/tools/build/v2/example/libraries/jamroot.jam b/SRC/Boost/tools/build/v2/example/libraries/jamroot.jam
deleted file mode 100755
index 5a1df48..0000000
--- a/SRC/Boost/tools/build/v2/example/libraries/jamroot.jam
+++ /dev/null
@@ -1,4 +0,0 @@
-
-use-project /library-example/foo : util/foo ;
-
-build-project app ;
diff --git a/SRC/Boost/tools/build/v2/example/libraries/util/foo/bar.cpp b/SRC/Boost/tools/build/v2/example/libraries/util/foo/bar.cpp
deleted file mode 100755
index 04b5916..0000000
--- a/SRC/Boost/tools/build/v2/example/libraries/util/foo/bar.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void foo() {}
diff --git a/SRC/Boost/tools/build/v2/example/libraries/util/foo/include/lib1.h b/SRC/Boost/tools/build/v2/example/libraries/util/foo/include/lib1.h
deleted file mode 100755
index 3dc724a..0000000
--- a/SRC/Boost/tools/build/v2/example/libraries/util/foo/include/lib1.h
+++ /dev/null
@@ -1,10 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-void foo();
diff --git a/SRC/Boost/tools/build/v2/example/libraries/util/foo/jamfile.jam b/SRC/Boost/tools/build/v2/example/libraries/util/foo/jamfile.jam
deleted file mode 100755
index dcfca62..0000000
--- a/SRC/Boost/tools/build/v2/example/libraries/util/foo/jamfile.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-project 
-    : usage-requirements <include>include ;
-
-lib bar : bar.cpp ;
diff --git a/SRC/Boost/tools/build/v2/example/make/foo.py b/SRC/Boost/tools/build/v2/example/make/foo.py
deleted file mode 100755
index 0136413..0000000
--- a/SRC/Boost/tools/build/v2/example/make/foo.py
+++ /dev/null
@@ -1,2 +0,0 @@
-import sys
-open(sys.argv[2], "w").write(open(sys.argv[1]).read())
diff --git a/SRC/Boost/tools/build/v2/example/make/jamroot.jam b/SRC/Boost/tools/build/v2/example/make/jamroot.jam
deleted file mode 100755
index e1ec135..0000000
--- a/SRC/Boost/tools/build/v2/example/make/jamroot.jam
+++ /dev/null
@@ -1,13 +0,0 @@
-import feature ;
-import toolset ;
-
-path-constant HERE : . ;
-make main.cpp : main_cpp.pro : @do-something ;
-
-feature.feature example.python.interpreter : : free ;
-
-toolset.flags do-something PYTHON : <example.python.interpreter> ;
-actions do-something
-{
-    "$(PYTHON:E=python)" "$(HERE)/foo.py" "$(>)" "$(<)"
-}
diff --git a/SRC/Boost/tools/build/v2/example/make/main_cpp.pro b/SRC/Boost/tools/build/v2/example/make/main_cpp.pro
deleted file mode 100755
index ebedb6e..0000000
--- a/SRC/Boost/tools/build/v2/example/make/main_cpp.pro
+++ /dev/null
@@ -1 +0,0 @@
-int main() {}
diff --git a/SRC/Boost/tools/build/v2/example/make/readme.txt b/SRC/Boost/tools/build/v2/example/make/readme.txt
deleted file mode 100755
index 9da4579..0000000
--- a/SRC/Boost/tools/build/v2/example/make/readme.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Copyright 2002, 2005 Vladimir Prus
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-
-Example of using custom command to create one file from another, using the
-built-in 'make' rule.
diff --git a/SRC/Boost/tools/build/v2/example/pch/include/pch.hpp b/SRC/Boost/tools/build/v2/example/pch/include/pch.hpp
deleted file mode 100755
index 763de8a..0000000
--- a/SRC/Boost/tools/build/v2/example/pch/include/pch.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2006 Vladimir Prus
-
-   Distributed under the Boost Software License, Version 1.0. (See
-   accompanying file LICENSE_1_0.txt or copy at
-   http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#ifdef BOOST_BUILD_PCH_ENABLED
-
-#ifdef FOO2
-int bar();
-#endif
-
-class TestClass {
-public:
-    TestClass(int, int) {}
-};
-
-#endif
diff --git a/SRC/Boost/tools/build/v2/example/pch/jamroot.jam b/SRC/Boost/tools/build/v2/example/pch/jamroot.jam
deleted file mode 100755
index 329cee6..0000000
--- a/SRC/Boost/tools/build/v2/example/pch/jamroot.jam
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2006 Ilya Sokolov
-#
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# pch ##########################################################################
-
-import pch ;
-
-cpp-pch pch
-  : # sources
-    include/pch.hpp
-  : # requirements
-    <include>include
-  ;
-explicit pch ;
-
-# exe ##########################################################################
-
-exe hello_world
-  : # sources
-    pch
-    source/hello_world.cpp
-  : # requirements
-    <include>include
-  : # default build
-  : # usage requirements
-  ;
diff --git a/SRC/Boost/tools/build/v2/example/pch/source/hello_world.cpp b/SRC/Boost/tools/build/v2/example/pch/source/hello_world.cpp
deleted file mode 100755
index eb2d5bc..0000000
--- a/SRC/Boost/tools/build/v2/example/pch/source/hello_world.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright 2006 Ilya Sokolov
-   Copyright 2006 Vladimir Prus
-
-   Distributed under the Boost Software License, Version 1.0. (See
-   accompanying file LICENSE_1_0.txt or copy at
-   http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#include <pch.hpp>
-
-int main()
-{
-  TestClass c(1, 2);    
-  return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/example/python_modules/jamroot.jam b/SRC/Boost/tools/build/v2/example/python_modules/jamroot.jam
deleted file mode 100755
index adf18bc..0000000
--- a/SRC/Boost/tools/build/v2/example/python_modules/jamroot.jam
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import python_helpers ;
-
-ECHO "test1:" [ python_helpers.test1 ] ;
-ECHO "test2:" [ python_helpers.test2 1234 : 5678 ] ;
diff --git a/SRC/Boost/tools/build/v2/example/python_modules/python_helpers.jam b/SRC/Boost/tools/build/v2/example/python_modules/python_helpers.jam
deleted file mode 100755
index cc72c7f..0000000
--- a/SRC/Boost/tools/build/v2/example/python_modules/python_helpers.jam
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import modules ;
-local here = [ modules.binding $(__name__) ] ;
-here = $(here:D) ;
-modules.poke : EXTRA_PYTHONPATH : $(here) ;
-
-# Import the Python rules to Boost.Build
-PYTHON_IMPORT_RULE python_helpers : test1 : python_helpers : test1 ;
-PYTHON_IMPORT_RULE python_helpers : test2 : python_helpers : test2 ;
-
-# Make the new rules accessible to everybody who imports us.
-EXPORT python_helpers : test1 test2 ;
diff --git a/SRC/Boost/tools/build/v2/example/python_modules/python_helpers.py b/SRC/Boost/tools/build/v2/example/python_modules/python_helpers.py
deleted file mode 100755
index f710702..0000000
--- a/SRC/Boost/tools/build/v2/example/python_modules/python_helpers.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Declare a couple of functions called from Boost.Build
-#
-# Each function will receive as many arguments as there ":"-separated
-# arguments in bjam call. Each argument is a list of strings.
-# As a special exception (aka bug), if no arguments are passed in bjam,
-# Python function will be passed a single empty list.
-#
-# All Python functions must return a list of strings, which may be empty.
-
-def test1(l):
-    return ["foo", "bar"]
-
-def test2(l, l2):
-    return [l[0], l2[0]]
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/example/python_modules/readme.txt b/SRC/Boost/tools/build/v2/example/python_modules/readme.txt
deleted file mode 100755
index ba69c16..0000000
--- a/SRC/Boost/tools/build/v2/example/python_modules/readme.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-Copyright 2006 Vladimir Prus
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-
-This example shows how you can use Python modules from Boost.Build.
-
-In order to do this, you need to build bjam with Python support, by running:
-
-   ./build.sh --with-python=/usr
-
-in the jam/src directory (replace /usr with the root of your Python
-installation).
-
-The integration between Python and bjam is very basic now, but enough to be
-useful.
diff --git a/SRC/Boost/tools/build/v2/example/qt/README.txt b/SRC/Boost/tools/build/v2/example/qt/README.txt
deleted file mode 100755
index 3d81157..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/README.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright 2005 Vladimir Prus 
-Distributed under the Boost Software License, Version 1.0. 
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-This directory contains Boost.Build examples for the Qt library
-(http://www.trolltech.com/products/qt/index.html).
-
-The current examples are:
-  1. Basic setup -- application with several sources and moccable header.
-  2. Using of .ui source file.
-  3. Running .cpp files via the moc tool.
-
-For convenience, there are examples both for 3.* and 4.* version of Qt, they are
-mostly identical and differ only in source code.
-
-All examples assumes that you just installed Boost.Build and that QTDIR
-environment variables is set (typical values can be /usr/share/qt3 and
-/usr/share/qt4). After adding "using qt ..." to your user-config.jam, you would
-have to remove "using qt ; " statements from example Jamroot files.
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt3/hello/canvas.cpp b/SRC/Boost/tools/build/v2/example/qt/qt3/hello/canvas.cpp
deleted file mode 100755
index 4991b2d..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt3/hello/canvas.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright Vladimir Prus 2004.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "canvas.h"
-
-#include <qlabel.h>
-#include <qcanvas.h>
-#include <qlayout.h>
-
-Canvas::Canvas(QWidget* parent)
-: QWidget(parent)
-{
-    m_pen = QPen(QColor(255, 128, 128));
-    m_brushes = new QBrush[2];
-    m_brushes[0] = QBrush(QColor(255, 0, 0));
-    m_brushes[1] = QBrush(QColor(0, 255, 0));
-    m_current_brush = 0;
-    
-    m_canvas = new QCanvas(this);
-    m_canvas->resize(4*1600, 600);
-    
-    redraw();   
-    
-    QVBoxLayout* l = new QVBoxLayout(this); 
-    
-    m_canvas_view = new QCanvasView(m_canvas, this);
-    l->addWidget(m_canvas_view);    
-    m_canvas_view->resize(rect().size());
-    m_canvas_view->show();    
-}
-
-Canvas::~Canvas()
-{
-    delete m_brushes;
-}
-
-void Canvas::redraw()
-{
-    QCanvasItemList l = m_canvas->allItems();    
-    for(QCanvasItemList::iterator i = l.begin(),
-            e = l.end(); i != e; ++i)
-    {
-        delete *i;
-    }
-    
-    unsigned count = 0;
-    for (unsigned x = 10; x < 4*1600; x += 20)
-        for (unsigned y = 10; y < 600; y += 20) {
-            QCanvasRectangle* r = new QCanvasRectangle(x, y, 10, 10, m_canvas);
-            r->setPen(m_pen);
-            r->setBrush(m_brushes[m_current_brush]);
-            r->show();  
-            ++count;  
-            QCanvasText* t = new QCanvasText("D", m_canvas);
-            t->move(x, y);
-            t->show();
-            ++count;
-        }
-    
-    (new QCanvasText(QString::number(count), m_canvas))->show();
-    m_canvas->setAllChanged();
-
-}
-
-void Canvas::change_color()
-{
-    m_current_brush = (m_current_brush + 1)%2;
-    redraw();
-    m_canvas->update();
-}
-
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt3/hello/canvas.h b/SRC/Boost/tools/build/v2/example/qt/qt3/hello/canvas.h
deleted file mode 100755
index bf77459..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt3/hello/canvas.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright Vladimir Prus 2004.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-#ifndef CANVAS_VP_2004_08_31
-#define CANVAS_VP_2004_08_31
-
-#include <qmainwindow.h>
-#include <qpen.h>
-#include <qbrush.h>
-
-class Canvas : public QWidget
-{
-    Q_OBJECT
-public:
-    Canvas(QWidget* parent);
-
-    virtual ~Canvas();
-    
-public slots:
-    void change_color();    
-    
-private:
-    void redraw();
-    class QCanvas* m_canvas;
-    class QCanvasView* m_canvas_view;
-    class QPen m_pen;
-    class QBrush* m_brushes;    
-    int m_current_brush;
-};
-
-#endif
-
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt3/hello/jamroot.jam b/SRC/Boost/tools/build/v2/example/qt/qt3/hello/jamroot.jam
deleted file mode 100755
index 2e54026..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt3/hello/jamroot.jam
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright Vladimir Prus 2004.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt
-# or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-using qt ;
-
-project
-    # built MT version, unless asked otherwise.
-    : default-build <threading>multi 
-    ;
-
-exe canvas : main.cpp canvas.cpp canvas.h : <library>/qt//qt ;
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt3/hello/main.cpp b/SRC/Boost/tools/build/v2/example/qt/qt3/hello/main.cpp
deleted file mode 100755
index 8f283b4..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt3/hello/main.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright Vladimir Prus 2004.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "canvas.h"
-#include <qapplication.h>
-#include <qvbox.h>
-#include <qpushbutton.h>
-
-class Window : public QMainWindow
-{
-public:
-    Window()
-    {
-        setCaption("QCanvas test");
-        QVBox* vb = new QVBox(this);
-        setCentralWidget(vb);   
-    
-        Canvas* c = new Canvas(vb); 
-        QPushButton* b = new QPushButton("Change color", vb);
-        connect(b, SIGNAL(clicked()), c, SLOT(change_color())); 
-    }        
-};
-
-int main(int argc, char **argv)
-{
-    QApplication app(argc, argv);
-    Window *w = new Window();
-
-    app.setMainWidget(w);
-    w->show();
-    
-    return app.exec();
-}
-
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt3/moccable-cpp/jamroot.jam b/SRC/Boost/tools/build/v2/example/qt/qt3/moccable-cpp/jamroot.jam
deleted file mode 100755
index 58976c7..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt3/moccable-cpp/jamroot.jam
+++ /dev/null
@@ -1,11 +0,0 @@
-
-using qt ;
-import cast ;
-
-project 
-    : default-build <threading>multi 
-    ;
-
-exe main : main.cpp [ cast _ moccable-cpp : main.cpp ]
-           /qt//qt 
-    ;
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt3/moccable-cpp/main.cpp b/SRC/Boost/tools/build/v2/example/qt/qt3/moccable-cpp/main.cpp
deleted file mode 100755
index cabdbdb..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt3/moccable-cpp/main.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright Vladimir Prus 2005.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-#include <qwidget.h>
-#include <qpushbutton.h>
-#include <qapplication.h>
-
-#include <iostream>
-
-class My_widget : public QWidget
-{
-    Q_OBJECT
-public:
-    My_widget() : QWidget() 
-    {
-        QPushButton* b = new QPushButton("Push me", this);
-    
-        connect(b, SIGNAL(clicked()), this, SLOT(theSlot()));
-    }
-
-private slots:
-    void theSlot()
-    {
-        std::cout << "Clicked\n";
-    }    
-    
-};
-
-int main(int ac, char* av[])
-{
-    QApplication app(ac, av);
-    My_widget mw;
-    mw.show();
-    app.setMainWidget(&mw);
-    app.exec();
-}
-
-#include "main.moc"
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt3/uic/hello_world_widget.ui b/SRC/Boost/tools/build/v2/example/qt/qt3/uic/hello_world_widget.ui
deleted file mode 100755
index 47e0f4f..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt3/uic/hello_world_widget.ui
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
-<class>HelloWorldWidget</class>
-<comment>
-<!--
-    Copyright Felix E. Klee, 2003
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt
-    or copy at http://www.boost.org/LICENSE_1_0.txt)
--->
-</comment>
-<widget class="QWidget">
-    <property name="name">
-        <cstring>HelloWorldWidget</cstring>
-    </property>
-    <property name="geometry">
-        <rect>
-            <x>0</x>
-            <y>0</y>
-            <width>124</width>
-            <height>63</height>
-        </rect>
-    </property>
-    <property name="caption">
-        <string>Hello World!</string>
-    </property>
-    <vbox>
-        <property name="name">
-            <cstring>unnamed</cstring>
-        </property>
-        <property name="margin">
-            <number>11</number>
-        </property>
-        <property name="spacing">
-            <number>6</number>
-        </property>
-        <widget class="QLabel">
-            <property name="name">
-                <cstring>TextLabel2</cstring>
-            </property>
-            <property name="text">
-                <string>Hello World!</string>
-            </property>
-            <property name="alignment">
-                <set>AlignCenter</set>
-            </property>
-        </widget>
-        <widget class="QPushButton">
-            <property name="name">
-                <cstring>OkButton</cstring>
-            </property>
-            <property name="text">
-                <string>OK</string>
-            </property>
-        </widget>
-    </vbox>
-</widget>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt3/uic/jamroot.jam b/SRC/Boost/tools/build/v2/example/qt/qt3/uic/jamroot.jam
deleted file mode 100755
index 9b3812c..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt3/uic/jamroot.jam
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright Felix E. Klee, 2003
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt
-# or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-# Tell that QT should be used. QTDIR will give installation
-# prefix. 
-using qt ;
-
-project
-    : default-build <threading>multi
-    ;
-
-exe hello : main.cpp hello_world_widget.ui : <library>/qt//qt ;
-
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt3/uic/main.cpp b/SRC/Boost/tools/build/v2/example/qt/qt3/uic/main.cpp
deleted file mode 100755
index b529695..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt3/uic/main.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright Felix E. Klee, 2003
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "hello_world_widget.h"
-#include <qapplication.h>
-
-#include <qpushbutton.h>
-
-int main(int argc, char **argv) {
-    QApplication a(argc, argv);
-    HelloWorldWidget w;
-    QObject::connect(static_cast<QObject*>(w.OkButton), SIGNAL(clicked()), &w, SLOT(close()));
-    a.setMainWidget(&w);
-    w.show();
-    return a.exec();
-}
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt4/hello/arrow.cpp b/SRC/Boost/tools/build/v2/example/qt/qt4/hello/arrow.cpp
deleted file mode 100755
index 448c35c..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt4/hello/arrow.cpp
+++ /dev/null
@@ -1,158 +0,0 @@
-// Copyright Vladimir Prus 2005.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "arrow.h"
-
-#include <QtGui/qapplication.h>
-
-#include <QtGui/qwidget.h>
-#include <QtGui/qpainter.h>
-#include <QtGui/qpainterpath.h>
-
-#include <stdlib.h>
-#include <math.h>
-
-Arrow_widget::Arrow_widget(QWidget* parent) : QWidget(parent), color_(0)
-{
-    QPalette pal = palette();
-    pal.setBrush(backgroundRole(), QBrush(Qt::white));
-    setPalette(pal);
-}
-
-void Arrow_widget::slotChangeColor()
-{
-    color_ = (color_ + 1) % 3;
-    update();
-}
-
-void 
-Arrow_widget::draw_arrow(int x1, int y1, int x2, int y2, QPainter& painter)
-{
-    // The length of the from the tip of the arrow to the point
-    // where line starts.
-    const int arrowhead_length = 16;
-    
-    QPainterPath arrow;
-    arrow.moveTo(x1, y1);
-    
-    // Determine the angle of the straight line.
-    double a1 = (x2-x1);
-    double a2 = (y2-y1);
-    double b1 = 1;
-    double b2 = 0;
-    
-    double straight_length = sqrt(a1*a1 + a2*a2);
-    
-    double dot_product = a1*b1 + a2*b2;
-    double cosine = dot_product/
-        (sqrt(pow(a1, 2) + pow(a2, 2))*sqrt(b1 + b2));
-    double angle = acos(cosine);
-    if (y1 < y2)
-    {
-        angle = -angle;
-    }
-    double straight_angle = angle*180/M_PI;
-    
-    double limit = 10;
-    
-    double angle_to_vertical;
-    if (fabs(straight_angle) < 90)
-        angle_to_vertical = fabs(straight_angle);
-    else if (straight_angle > 0)
-        angle_to_vertical = 180-straight_angle;
-    else
-        angle_to_vertical = 180-(-straight_angle);
-    
-    double angle_delta = 0;
-    if (angle_to_vertical > limit)
-        angle_delta = 30 * (angle_to_vertical - limit)/90;
-    double start_angle = straight_angle > 0 
-        ? straight_angle - angle_delta :
-        straight_angle + angle_delta;
-    
-    
-    QMatrix m1;
-    m1.translate(x1, y1);
-    m1.rotate(-start_angle);
-    
-    double end_angle = straight_angle > 0 
-        ? (straight_angle + 180 + angle_delta) :
-        (straight_angle + 180 - angle_delta);
-    
-    QMatrix m2;
-    m2.reset();
-    m2.translate(x2, y2);        
-    m2.rotate(-end_angle);
-    
-    arrow.cubicTo(m1.map(QPointF(straight_length/2, 0)),              
-                  m2.map(QPointF(straight_length/2, 0)),
-                  m2.map(QPointF(arrowhead_length, 0)));
-    
-    painter.save();
-    painter.setBrush(Qt::NoBrush);
-    painter.drawPath(arrow);    
-    painter.restore();
-    
-    painter.save();
-    painter.translate(x2, y2);
-    
-    painter.rotate(-90);
-    painter.rotate(-end_angle);
-    painter.rotate(180);
-    
-    QPolygon arrowhead(4);
-    arrowhead.setPoint(0, 0, 0);
-    arrowhead.setPoint(1, arrowhead_length/3, -arrowhead_length*5/4);
-    arrowhead.setPoint(2, 0, -arrowhead_length);
-    arrowhead.setPoint(3, -arrowhead_length/3, -arrowhead_length*5/4);
-    
-    painter.drawPolygon(arrowhead);
-    
-    painter.restore();            
-    
-}
-
-
-void Arrow_widget::paintEvent(QPaintEvent*)
-{
-    QPainter p(this);
-    
-    p.setRenderHint(QPainter::Antialiasing);
-    
-    int base_x = 550;
-    int base_y = 200;
-
-    if (color_ == 0)   
-        p.setBrush(Qt::black);
-    else if (color_ == 1)
-        p.setBrush(Qt::green);
-    else if (color_ == 2)
-        p.setBrush(Qt::yellow);
-    else
-        p.setBrush(Qt::black);
-    
-    for (int x_step = 0; x_step < 6; ++x_step)
-    {
-        for (int y_step = 1; y_step <= 3; ++y_step)
-        {
-            draw_arrow(base_x, base_y, base_x+x_step*100, 
-                       base_y - y_step*50, p);
-            
-            draw_arrow(base_x, base_y, base_x+x_step*100, 
-                       base_y + y_step*50, p);
-            
-            draw_arrow(base_x, base_y, base_x-x_step*100, 
-                       base_y + y_step*50, p);
-            
-            draw_arrow(base_x, base_y, base_x-x_step*100, 
-                       base_y - y_step*50, p);
-        }
-    }
-
-    draw_arrow(50, 400, 1000, 450, p);
-    draw_arrow(1000, 400, 50, 450, p);
-    
-}
-
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt4/hello/arrow.h b/SRC/Boost/tools/build/v2/example/qt/qt4/hello/arrow.h
deleted file mode 100755
index 26972f1..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt4/hello/arrow.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright Vladimir Prus 2005.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include <QtGui/qapplication.h>
-
-#include <QtGui/qwidget.h>
-#include <QtGui/qpainter.h>
-#include <QtGui/qpainterpath.h>
-
-#include <stdlib.h>
-#include <math.h>
-
-class Arrow_widget : public QWidget
-{
-    Q_OBJECT
-public:
-    Arrow_widget(QWidget* parent = 0);
-
-public slots:
-    void slotChangeColor();
-
-private:
-    void draw_arrow(int x1, int y1, int x2, int y2, QPainter& painter);
-    void paintEvent(QPaintEvent*);
-
-private:
-    int color_;
-};
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt4/hello/jamroot.jam b/SRC/Boost/tools/build/v2/example/qt/qt4/hello/jamroot.jam
deleted file mode 100755
index 3c49dbc..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt4/hello/jamroot.jam
+++ /dev/null
@@ -1,14 +0,0 @@
-
-import qt4 ;
-
-if ! [ qt4.initialized ]
-{
-    ECHO "Warning: Qt4 not initialized in user-config.jam" ;
-    ECHO "Assuming /space/p2/ghost/build/Qt4 as location." ;
-    ECHO "This is very likely won't work for you. " ;
-    using qt4 : /space/p2/ghost/build/Qt4 ;
-}
-
-project : requirements <threading>multi ;
-
-exe arrow : main.cpp arrow.cpp arrow.h /qt//QtGui ;
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt4/hello/main.cpp b/SRC/Boost/tools/build/v2/example/qt/qt4/hello/main.cpp
deleted file mode 100755
index 8e0fa91..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt4/hello/main.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright Vladimir Prus 2005.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "arrow.h"
-
-#include <QApplication>
-#include <QTimer>
-
-int main(int ac, char* av[])
-{
-    QApplication app(ac, av);
-    Arrow_widget* w = new Arrow_widget;
-    w->resize(1100, 480);
-
-    QTimer timer;
-    QObject::connect(&timer, SIGNAL(timeout()),
-                     w, SLOT(slotChangeColor()));
-
-    timer.start(2000);
-
-    w->show();
-    app.exec();
-    return 0;
-}
-
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt4/moccable-cpp/jamroot.jam b/SRC/Boost/tools/build/v2/example/qt/qt4/moccable-cpp/jamroot.jam
deleted file mode 100755
index 9e4b9d7..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt4/moccable-cpp/jamroot.jam
+++ /dev/null
@@ -1,18 +0,0 @@
-
-import qt4 ;
-if ! [ qt4.initialized ]
-{
-    ECHO "Warning: Qt4 not initialized in user-config.jam" ;
-    ECHO "Assuming /space/p2/ghost/build/Qt4 as location." ;
-    ECHO "This is very likely won't work for you. " ;
-    using qt4 : /space/p2/ghost/build/Qt4 ;
-}
-
-import cast ;
-exe main : main.cpp 
-           [ cast _ moccable-cpp : main.cpp ]
-           /qt//QtGui 
-	 : <threading>multi   
-         ;
-
-
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt4/moccable-cpp/main.cpp b/SRC/Boost/tools/build/v2/example/qt/qt4/moccable-cpp/main.cpp
deleted file mode 100755
index 624953c..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt4/moccable-cpp/main.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright Vladimir Prus 2005.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include <qwidget.h>
-#include <qpushbutton.h>
-#include <qapplication.h>
-
-#include <iostream>
-
-class My_widget : public QWidget
-{
-    Q_OBJECT
-public:
-    My_widget() : QWidget() 
-    {
-        QPushButton* b = new QPushButton("Push me", this);
-    
-        connect(b, SIGNAL(clicked()), this, SLOT(theSlot()));
-    }
-
-private slots:
-    void theSlot()
-    {
-        std::cout << "Clicked\n";
-    }    
-    
-};
-
-int main(int ac, char* av[])
-{
-    QApplication app(ac, av);
-    My_widget mw;
-    mw.show();
-    app.exec();
-}
-
-#include "main.moc"
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt4/uic/hello_world_widget.ui b/SRC/Boost/tools/build/v2/example/qt/qt4/uic/hello_world_widget.ui
deleted file mode 100755
index c86f1be..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt4/uic/hello_world_widget.ui
+++ /dev/null
@@ -1,55 +0,0 @@
-<ui version="4.0" >
- <author></author>
- <comment>
-<!--
-    Copyright Felix E. Klee, 2003
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt
-    or copy at http://www.boost.org/LICENSE_1_0.txt)
--->
- </comment>
- <exportmacro></exportmacro>
- <class>HelloWorldWidget</class>
- <widget class="QWidget" name="HelloWorldWidget" >
-  <property name="geometry" >
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>124</width>
-    <height>63</height>
-   </rect>
-  </property>
-  <property name="windowTitle" >
-   <string>Hello World!</string>
-  </property>
-  <layout class="QVBoxLayout" >
-   <property name="margin" >
-    <number>11</number>
-   </property>
-   <property name="spacing" >
-    <number>6</number>
-   </property>
-   <item>
-    <widget class="QLabel" name="TextLabel2" >
-     <property name="text" >
-      <string>Hello World!</string>
-     </property>
-     <property name="alignment" >
-      <set>Qt::AlignCenter</set>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QPushButton" name="OkButton" >
-     <property name="text" >
-      <string>OK</string>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11" />
- <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
- <resources/>
- <connections/>
-</ui>
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt4/uic/jamroot.jam b/SRC/Boost/tools/build/v2/example/qt/qt4/uic/jamroot.jam
deleted file mode 100755
index 55c6db9..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt4/uic/jamroot.jam
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright Felix E. Klee, 2003
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt
-# or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import qt4 ;
-if ! [ qt4.initialized ]
-{
-    ECHO "Warning: Qt4 not initialized in user-config.jam" ;
-    ECHO "Assuming /space/p2/ghost/build/Qt4 as location." ;
-    ECHO "This is very likely won't work for you. " ;
-    using qt4 : /space/p2/ghost/build/Qt4 ;
-}
-
-project : requirements <threading>multi
-    ;
-
-exe hello : main.cpp hello_world_widget.ui : <library>/qt//QtGui ;
diff --git a/SRC/Boost/tools/build/v2/example/qt/qt4/uic/main.cpp b/SRC/Boost/tools/build/v2/example/qt/qt4/uic/main.cpp
deleted file mode 100755
index f8c1816..0000000
--- a/SRC/Boost/tools/build/v2/example/qt/qt4/uic/main.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright Felix E. Klee, 2003
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "ui_hello_world_widget.h"
-#include <qapplication.h>
-#include <qwidget.h>
-
-#include <qpushbutton.h>
-
-int main(int argc, char **argv) {
-    QApplication a(argc, argv);
-
-    QWidget w;
-    Ui::HelloWorldWidget wm;
-    wm.setupUi(&w);
-
-    QObject::connect(wm.OkButton, SIGNAL(clicked()), &w, SLOT(close()));
-
-    w.show();
-    return a.exec();
-}
diff --git a/SRC/Boost/tools/build/v2/example/variant/a.cpp b/SRC/Boost/tools/build/v2/example/variant/a.cpp
deleted file mode 100755
index 6c182e2..0000000
--- a/SRC/Boost/tools/build/v2/example/variant/a.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright Vladimir Prus 2004.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-void l();
-int main() { l(); return 0; }
diff --git a/SRC/Boost/tools/build/v2/example/variant/jamfile.jam b/SRC/Boost/tools/build/v2/example/variant/jamfile.jam
deleted file mode 100755
index be7d8a7..0000000
--- a/SRC/Boost/tools/build/v2/example/variant/jamfile.jam
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-
-# By default, build the project with the two variants we have defined in
-# jamroot.jam.
-
-project : default-build crazy super_release ;
-
-exe a : a.cpp libs//l ;
diff --git a/SRC/Boost/tools/build/v2/example/variant/jamroot.jam b/SRC/Boost/tools/build/v2/example/variant/jamroot.jam
deleted file mode 100755
index a14cc31..0000000
--- a/SRC/Boost/tools/build/v2/example/variant/jamroot.jam
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-# Define a build variant which is just combination
-# of four properties. 
-variant crazy : <optimization>speed <inlining>off 
-                <debug-symbols>on <profiling>on ;
-		
-# Define a built variant inherited from 'release'.
-# It defines one new property and get all properties
-# from parent variant.		
-variant super_release : release : <define>USE_ASM ;
diff --git a/SRC/Boost/tools/build/v2/example/variant/libs/jamfile.jam b/SRC/Boost/tools/build/v2/example/variant/libs/jamfile.jam
deleted file mode 100755
index a3650b2..0000000
--- a/SRC/Boost/tools/build/v2/example/variant/libs/jamfile.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-lib l : l.cpp ;
diff --git a/SRC/Boost/tools/build/v2/example/variant/libs/l.cpp b/SRC/Boost/tools/build/v2/example/variant/libs/l.cpp
deleted file mode 100755
index adbc22a..0000000
--- a/SRC/Boost/tools/build/v2/example/variant/libs/l.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright Vladimir Prus 2002-2004.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void l() {}
diff --git a/SRC/Boost/tools/build/v2/example/variant/readme.txt b/SRC/Boost/tools/build/v2/example/variant/readme.txt
deleted file mode 100755
index 5cc8b9a..0000000
--- a/SRC/Boost/tools/build/v2/example/variant/readme.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-Copyright 2004 Vladimir Prus
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-
-This example shows how user can create his own build variants. Two variants are
-defined: "crazy", which is just a random combination of properties, and
-"super-release", which is inherited from "release", and differs by a single
-define.
-
-See the jamroot.jam for the definitions.
diff --git a/SRC/Boost/tools/build/v2/example/versioned/hello.cpp b/SRC/Boost/tools/build/v2/example/versioned/hello.cpp
deleted file mode 100755
index 231e6ec..0000000
--- a/SRC/Boost/tools/build/v2/example/versioned/hello.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright Rene Rivera, 2003
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include <iostream>
-
-int main()
-{
-    std::cout << "Hello there!\n";
-    return 1;
-}
diff --git a/SRC/Boost/tools/build/v2/example/versioned/jamfile.jam b/SRC/Boost/tools/build/v2/example/versioned/jamfile.jam
deleted file mode 100755
index 8af85fa..0000000
--- a/SRC/Boost/tools/build/v2/example/versioned/jamfile.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2003 Rene Rivera 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-#~ exe hello : hello.cpp : <version>1.0 ;
-lib hello : hello.cpp : <version>1.0 ;
-
-symlink hello_debug hello_release : hello/<variant>debug hello/<variant>release ;
-symlink links/hello_release : hello/<variant>release ;
diff --git a/SRC/Boost/tools/build/v2/example/versioned/jamroot.jam b/SRC/Boost/tools/build/v2/example/versioned/jamroot.jam
deleted file mode 100755
index 1d5afe3..0000000
--- a/SRC/Boost/tools/build/v2/example/versioned/jamroot.jam
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright 2003 Rene Rivera 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-import gcc ;
-import toolset ;
-import modifiers ;
diff --git a/SRC/Boost/tools/build/v2/exceptions.py b/SRC/Boost/tools/build/v2/exceptions.py
deleted file mode 100755
index b67b585..0000000
--- a/SRC/Boost/tools/build/v2/exceptions.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright Pedro Ferreira 2005. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-# TODO: add more exception types?
-
-class BaseException (Exception):
-    def __init__ (self, message = ''): Exception.__init__ (self, message)
-
-class UserError (BaseException):
-    def __init__ (self, message = ''): BaseException.__init__ (self, message)
-
-class FeatureConflict (BaseException):
-    def __init__ (self, message = ''): BaseException.__init__ (self, message)
-
-class InvalidSource (BaseException):
-    def __init__ (self, message = ''): BaseException.__init__ (self, message)
-
-class InvalidFeature (BaseException):
-    def __init__ (self, message = ''): BaseException.__init__ (self, message)
-
-class InvalidProperty (BaseException):
-    def __init__ (self, message = ''): BaseException.__init__ (self, message)
-
-class InvalidValue (BaseException):
-    def __init__ (self, message = ''): BaseException.__init__ (self, message)
-
-class InvalidAttribute (BaseException):
-    def __init__ (self, message = ''): BaseException.__init__ (self, message)
-
-class AlreadyDefined (BaseException):
-    def __init__ (self, message = ''): BaseException.__init__ (self, message)
-
-class IllegalOperation (BaseException):
-    def __init__ (self, message = ''): BaseException.__init__ (self, message)
-
-class Recursion (BaseException):
-    def __init__ (self, message = ''): BaseException.__init__ (self, message)
-
-class NoBestMatchingAlternative (BaseException):
-    def __init__ (self, message = ''): BaseException.__init__ (self, message)
-
-class NoAction (BaseException):
-    def __init__ (self, message = ''): BaseException.__init__ (self, message)
diff --git a/SRC/Boost/tools/build/v2/hacking.txt b/SRC/Boost/tools/build/v2/hacking.txt
deleted file mode 100755
index db034f5..0000000
--- a/SRC/Boost/tools/build/v2/hacking.txt
+++ /dev/null
@@ -1,154 +0,0 @@
-Copyright 2003, 2006 Vladimir Prus
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-
-             ----------------------------------
-             Boost.Build contributor guidelines
-             ----------------------------------
-
-Boost.Build is an open-source project. This means that we welcome and appreciate
-all contributions --- be it ideas, bug reports, or patches. This document
-contains guidelines which helps to assure that development goes on smoothly, and
-changes are made quickly.
-
-The guidelines are not mandatory, and you can decide for yourself which one to
-follow. But note, that 10 mins that you spare writing a comment, for example,
-might lead to significally longer delay for everyone.
-
-Before contributing, make sure you are subscribed to our mailing list
-
-   boost-build at lists.boost.org
-
-Additional resources include
-
-   - The issue tracker
-     http://zigzag.cs.msu.su/boost.build
-
-   - commits mailing list:
-     boost-build at lists.sourceforge.net
-     http://sourceforge.net/mailarchive/forum.php?forum_id=9097
-
-
-BUGS and PATCHES
-
-Both bugs and patches can be send to our mailing list.
-
-When reporting a bug, please try to provide the following information.
-
-   - What you did. A minimal reproducible testcase is very much appreciated.
-     Shell script with some annotations is much better than verbose description
-     of the problem. A regression test is the best (see test/test_system.html).
-   - What you got.
-   - What you expected.
-   - What version of Boost.Build and Boost.Jam did you use. If possible,
-     please try to test with the CVS HEAD state.
-
-When submitting a patch, please:
-
-  - make a single patch for a single logical change
-  - follow the policies and coding conventions below,
-  - send patches in unified diff format,
-    (using either "cvs diff -u" or "diff -u")
-  - provide a log message together with the patch
-  - put the patch and the log message as attachment to your email.
-
-The purpose of log message serves to communicate what was changed, and *why*.
-Without a good log message, you might spend a lot of time later, wondering where
-a strange piece of code came from and why it was necessary.
-
-The good log message mentions each changed file and each rule/method, saying
-what happend to it, and why. Consider, the following log message
-
-    Better direct request handling.
-
-     * new/build-request.jam
-       (directly-requested-properties-adjuster): Redo.
-
-     * new/targets.jam
-       (main-target.generate-really): Adjust properties here.
-
-     * new/virtual-target.jam
-       (register-actual-name): New rule.
-       (virtual-target.actualize-no-scanner): Call the above, to detected bugs,
-       where two virtual target correspond to one Jam target name.
-
-The log messages for the last two files are good. They tell what was changed.
-The change to the first file is clearly undercommented.
-
-It's OK to use terse log messages for uninteresting changes, like ones induced
-by interface changes elsewhere.
-
-
-POLICIES.
-
-1. Testing.
-
-All serious changes must be tested. New rules must be tested by the module where
-they are declared. Test system (test/test_system.html) should be used to verify
-user-observable behaviour.
-
-2. Documentation.
-
-It turns out that it's hard to have too much comments, but it's easy to have too
-little. Please prepend each rule with a comment saying what the rule does and
-what arguments mean. Stop for a minute and consider if the comment makes sense
-for anybody else, and completely describes what the rules does. Generic phrases
-like "adjusts properties" are really not enough.
-
-When applicable, make changes to the user documentation as well.
-
-
-CODING CONVENTIONS.
-
-    1. All names of rules and variables are lowercase with "-" to separate
-    words.
-
-        rule call-me-ishmael ( ) ...
-
-    2. Names with dots in them are "intended globals". Ordinary globals use a
-    dot prefix:
-
-        .foobar
-        $(.foobar)
-
-    3. Pseudofunctions or associations are <parameter>.<property>:
-
-        $(argument).name = hello ;
-        $($(argument).name)
-
-    4. Class attribute names are prefixed with "self.":
-
-        self.x
-        $(self.x)
-
-    5. Builtin rules are called via their ALL_UPPERCASE_NAMES:
-
-        DEPENDS $(target) : $(sources) ;
-
-    6. Opening and closing braces go on separate lines:
-
-        if $(a)
-        {
-            #
-        }
-        else
-        {
-            #
-        }
-
-HTML DOCUMENTATION.
-
-    Please pass HTML files though HTML Tidy (http://tidy.sf.net) before
-    comitting. This has to important purposes:
-    - detecting bad HTML
-    - converting files to uniform indentation style, which inverses effect of
-      different editors and makes differences between revisions much smaller and
-      easy for review.
-
-    Alas, the way Tidy indents HTML differs between version. Please use the
-    version available at
-
-       http://tidy.sourceforge.net/src/old/tidy_src_020411.tgz
-
-    and "-i -wrap 78" command line parameters.
diff --git a/SRC/Boost/tools/build/v2/index.html b/SRC/Boost/tools/build/v2/index.html
deleted file mode 100755
index da75e45..0000000
--- a/SRC/Boost/tools/build/v2/index.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<!-- Copyright 2004 Aleksey Gurtovoy -->
-<!-- Copyright 2004, 2005, 2006 Vladimir Prus -->
-<!-- Distributed under the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) -->
-
-<html>
-  <head>
-    <meta name="generator" content=
-    "HTML Tidy for Linux/x86 (vers 1st April 2002), see www.w3.org">
-    <meta name="generator" content="Microsoft FrontPage 5.0">
-    <meta http-equiv="Content-Type" content=
-    "text/html; charset=windows-1252">
-    <!-- tidy options: ‐‐tidy-mark false -i -wrap 78 !-->
-<style type="text/css">
-div.sidebar {
-  margin-left: 1em ;
-  border: medium outset ;
-  padding: 0em 1em ;
-  background-color: #adbed2;
-  border-color: #000000;
-  border-width: 1;
-  width: 40% ;
-  float: right ;
-  clear: right }
-}
-  
-div.sidebar p.rubric {
-  font-family: sans-serif ;
-  font-size: medium }
-</style>
-
-    <title>Boost.Build V2</title>
-  </head>
-
-  <body bgcolor="#FFFFFF" text="#000000">
-  
-  <p align="center"><img src="boost_build.png" width="396" height="60" alt="Boost.Build V2"></img>
-
-    <div class="contents sidebar topic" id="index">
-      <p>
-        <b>Quick access</b>
-        <ul>
-        <li>Download: <a href=
-    "http://prdownloads.sourceforge.net/boost/boost-build-2.0-m12.zip">[zip]
-          </a>, <a href=
-    "http://prdownloads.sourceforge.net/boost/boost-build-2.0-m12.tar.bz2">[tar.bz2]
-          </a>
-        <li>Nightly build: <a href="http://boost.org/boost-build2/boost-build.zip">[zip]</a>, 
-          <a href="http://boost.org/boost-build2/boost-build.tar.bz2">[tar.bz2]</a>
-        <li><a href="../../../doc/html/bbv2.html">Documentation</a> 
-          (<a href="doc/userman.pdf">PDF</a>)
-        <li><a
-          href="http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost.Build_V2">Wiki
-          (User-contibuted documentation)</a>
-        <li>Feedback: <a
-    href="http://lists.boost.org/mailman/listinfo.cgi/boost-build">[mailing list]</a>,
-          <a
-            href="news://news.gmane.org/gmane.comp.lib.boost.build">[newsgroup]</a>
-          <ul>
-            <li>Before posting, <a href="http://lists.boost.org/mailman/listinfo.cgi/boost-build">subscribe</a>
-	    <!--
-	    <li><form method="get" action="http://search.gmane.org/">
-	        <input type="text" name="query">
-		<input type="hidden" name="group" value="gmane.comp.lib.boost.build">
-		<input type="submit" value="Search">
-		</form> -->
-          </ul>
-	<li><a href="https://trac.lvk.cs.msu.su/boost.build">Bug tracker</a>  
-<!--        <li>Rate Boost.Build: <a href="http://freshmeat.net/rate/38012/">Freshmeat</a>    -->
-      </ul>
-    </p>
-   </div>
-     
-<!--    <h1>Boost.Build V2</h1> -->
-
-
-    <h2>Overview</h2>
-
-    <p>Boost.Build is an easy way to build C++ projects, everywhere. You 
-    name you executables and libraries and list their sources. Boost.Build
-    takes care about compiling your sources with right options, creating
-    static and shared libraries, making executables, and other chores --
-    whether you're using gcc, msvc, or a dozen more supported C++
-    compilers -- on Windows, OSX, Linux and commercial UNIX systems.
-
-    <p>Some of the most important features:
-    <ul>
-      <li><b>Simple and high level build description</b>. In most
-      cases a name of target and list of sources is all you need.</li>
-
-      <li><b>Portability</b>. Most important build properties have symbolic
-      names that work everywhere. Why memorize compiler flags necessary 
-      for multi-threaded 64-bit shared library, if Boost.Build can do it for you?
-      
-      <li><b>Variant builds</b>. When you build the same project
-      twice with different properties, all produced files are placed
-      in different directories, so you can build with 2 versions of
-      gcc, or both debug and release variants in one invocation.</li>
-
-      <li><b>Global dependencies</b>. No matter what directory you build
-      in, Boost.Build will always check all dependencies in your entire
-      project, preventing inconsistent binaries.  And it's easy to
-      use one Boost.Build project in other, again with full dependency
-      tracking.
-
-      <li><b>Usage requirements</b>. A target can specify properties,
-      like include paths and preprocessor defines, that are necessary to use
-      it.  Those properties will be automatically applied whenever the target
-      is used.</li>
-
-      <li><b>Standalone</b>. Boost.Build's only dependency is a C compiler,
-      so it's easy to setup. You can even include all of Boost.Build in your 
-      project. Boost.Build does not depend on C++ Boost in any way.</li>
-    </ul>
-
-    <h2>Status and future</h2>
-
-    <p>Boost.Build is ready to use today, and new features are being actively
-    developed.
-
-    <p>The current version of 2.0 Milestone 12, which added support for
-    precompiled headers on gcc, and added 3 new C++ compilers 
-    (<a href="http://svn.boost.org/svn/boost/trunk/tools/build/v2/changes.txt">full changelog</a>).
-
-    <p>Milestone 13 is planned as bugfix release. Milestone 14 will
-    focus on improving user documentation. Milestone 15 will see most 
-    of Boost.Build reimplemented in Python, to make extending 
-    Boost.Build even easier for end users (see <a href="https://trac.lvk.cs.msu.su/boost.build/wiki/PythonPort">PythonPort</a>).
-    The specific issues planned for each release can be found on the 
-    <a href="https://trac.lvk.cs.msu.su/boost.build/roadmap">roadmap</a>.
-
-    
-       
-    <h2>Feedback and contributing</h2>
-
-    <p>Should you have any questions or comments, we'd be glad to hear them.
-    Post everything to the <a href="http://lists.boost.org/mailman/listinfo.cgi/boost-build">mailing list</a>.</p>
-
-    <p>Bugs and feature requests can be entered at our 
-    <a href="https://trac.lvk.cs.msu.su/boost.build">bug tracker</a>.
-
-    <p>If you'd like to help with development, just pick a bug
-    in the tracker that you'd like to fix, or feel free to implement
-    any feature you like. There's a separate 
-    <a href="hacking.txt">guidelines document</a> for working on code.</p>
-    <hr>
-
-    <p>© Copyright David Abrahams and Vladimir Prus 2002-2007.
-    Permission to copy, use, modify, sell and distribute this document is
-    granted provided this copyright notice appears in all copies. This
-    document is provided "as is" without express or implied warranty, and
-    with no claim as to its suitability for any purpose.</p>
-
-    <p>Revised 
-    <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan
-                                            -->Oct 4, 2007 
-    <!--webbot bot="Timestamp" endspan i-checksum="13972"
-                                            -->
-    </p>
-    
-  </body>
-</html>
-
diff --git a/SRC/Boost/tools/build/v2/kernel/boost-build.jam b/SRC/Boost/tools/build/v2/kernel/boost-build.jam
deleted file mode 100755
index 0b3f1be..0000000
--- a/SRC/Boost/tools/build/v2/kernel/boost-build.jam
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2003 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-boost-build . ;
diff --git a/SRC/Boost/tools/build/v2/kernel/bootstrap.jam b/SRC/Boost/tools/build/v2/kernel/bootstrap.jam
deleted file mode 100755
index dae0450..0000000
--- a/SRC/Boost/tools/build/v2/kernel/bootstrap.jam
+++ /dev/null
@@ -1,263 +0,0 @@
-# Copyright 2003 Dave Abrahams 
-# Copyright 2003, 2005, 2006 Rene Rivera 
-# Copyright 2003, 2005, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# First of all, check the jam version
-
-if $(JAM_VERSION:J="") < 030112
-{
-    ECHO "error: Boost.Jam version 3.1.12 or later required" ;
-    EXIT ;
-}
-
-local required-rules = GLOB-RECURSIVELY HAS_NATIVE_RULE ;
-
-for local r in $(required-rules)
-{
-    if ! $(r) in [ RULENAMES ]
-    {
-        ECHO "error: builtin rule '$(r)' is not present" ;
-        ECHO "error: your version of bjam is likely out of date" ;
-        ECHO "error: please get a fresh version from SVN." ;
-        EXIT ;
-    }
-}
-
-local native =
-    regex transform 2
-    ;
-while $(native)
-{
-    if ! [ HAS_NATIVE_RULE $(native[1]) :
-                           $(native[2]) :
-               $(native[3]) ]
-    {
-        ECHO "error: missing native rule '$(native[1]).$(native[2])'" ;
-        ECHO "error: or interface version of that rule is too low" ;
-        ECHO "error: your version of bjam is likely out of date" ;
-        ECHO "error: please get a fresh version from SVN." ;
-        EXIT ;
-    }
-    native = $(native[4-]) ;
-}
-
-# Check that the builtin .ENVIRON module is present. We don't have a
-# builtin to check that a module is present, so we assume that the PATH
-# environment variable is always set and verify that the .ENVIRON module
-# has non-empty value of that variable.
-module .ENVIRON
-{
-    local p = $(PATH) $(Path) $(path) ;
-    if ! $(p)
-    {
-        ECHO "error: no builtin module .ENVIRON is found" ;
-        ECHO "error: your version of bjam is likely out of date" ;
-        ECHO "error: please get a fresh version from SVN." ;
-        EXIT ;
-    }
-}
-
-# Check that @() functionality is present. Similarly to modules,
-# we don't have a way to test that directly. Instead we check that
-# $(TMPNAME) functionality is present which was added at roughly
-# the same time (more precisely it was added just before).
-{
-    if ! $(TMPNAME)
-    {
-        ECHO "error: no @() functionality found" ;
-        ECHO "error: your version of bjam is likely out of date" ;
-        ECHO "error: please get a fresh version from SVN." ;
-        EXIT ;
-    }
-}
-
-# Make sure that \n escape is avaiable.
-if "\n" = "n"
-{
-    if $(OS) = CYGWIN 
-    {        
-        ECHO "warning: escape sequences are not supported" ;
-        ECHO "warning: this will cause major misbehaviour on cygwin" ;
-        ECHO "warning: your version of bjam is likely out of date" ;
-        ECHO "warning: please get a fresh version from SVN." ;
-    }    
-}
-
-# Bootstrap the module system. Then bring the import rule into the global module.
-#
-SEARCH on <module@>modules.jam = $(.bootstrap-file:D) ;
-module modules { include <module@>modules.jam ; }
-IMPORT modules : import : : import ;
-
-{
-    # Add module subdirectories to the BOOST_BUILD_PATH, which allows
-    # us to make an incremental refactoring step by moving modules to
-    # the appropriate subdirectories, thereby achieving some physical
-    # separation of different layers without changing all of our code
-    # to specify subdirectories in import statements or use an extra
-    # level of qualification on imported names.
-
-    local subdirs =
-      kernel        # only the most-intrinsic modules: modules, errors
-      util          # low-level substrate: string/number handling, etc.
-      build         # essential elements of the build system architecture
-      tools         # toolsets for handling specific build jobs and targets.
-      contrib       # user contributed (unreviewed) modules
-      .             # build-system.jam lives here
-      ;
-    local whereami = [ NORMALIZE_PATH $(.bootstrap-file:DT) ] ;
-    BOOST_BUILD_PATH += $(whereami:D)/$(subdirs) ;
-
-    modules.poke .ENVIRON : BOOST_BUILD_PATH : $(BOOST_BUILD_PATH) ;
-    
-    modules.poke : EXTRA_PYTHONPATH : $(whereami) ;
-}
-
-# Reload the modules, to clean up things. The modules module can tolerate
-# being included twice.
-#
-import modules ;
-
-# Process option plugins first to alow them to prevent loading
-# the rest of the build system.
-#
-import option ;
-local dont-build = [ option.process ] ;
-
-# Should we skip building, i.e. loading the build system, according
-# to the options processed?
-#
-if ! $(dont-build)
-{
-    if ! --python in $(ARGV)
-    {
-        # Allow users to override the build system file from the
-        # command-line (mostly for testing)
-        local build-system = [ MATCH --build-system=(.*) : $(ARGV) ] ;
-        build-system ?= build-system ;
-
-        # Use last element in case of multiple command-line options
-        import $(build-system[-1]) ;
-    }
-    else
-    {
-        ECHO "Boost.Build V2 Python port (experimental)" ;
-                
-        # Define additional interface that is exposed to Python code. Python code will
-        # also have access to select bjam builtins in the 'bjam' module, but some
-        # things are easier to define outside C.
-        module python_interface
-        {
-            rule load ( module-name : location )
-            {        
-                USER_MODULE $(module-name) ;
-	        # Make all rules in the loaded module available in
-	        # the global namespace, so that we don't have
-	        # to bother specifying "right" module when calling
-	        # from Python.
-                module $(module-name)
-                {
-                    __name__ = $(1) ;
-                    include $(2) ;
-                    local rules = [ RULENAMES $(1) ] ;
-                    IMPORT $(1) : $(rules) : $(1) : $(1).$(rules) ;
-                }
-            }    
-            
-            rule peek ( module-name ? : variables + )
-            {
-                module $(<)
-                {
-                    return $($(>)) ;
-                }
-            }
-            
-            rule set-variable ( module-name : name : value * )
-            {
-                module $(<)
-                {
-                    $(>) = $(3) ;
-                }        
-            }
-            
-            rule set-top-level-targets ( targets * )
-            {
-                DEPENDS all : $(targets) ;
-            }
-            
-            rule call-in-module ( m : rulename : * )
-            {
-                module $(m)
-                {
-                    return [ $(2) $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ] ;
-                }                
-            }
-
-            
-            rule set-update-action ( action : targets * : sources * : properties * )
-            {
-                $(action) $(targets) : $(sources) : $(properties) ;
-            }
-            
-            rule set-update-action-in-module ( m : action : targets * : sources * : properties * )
-            {
-                module $(m)
-                {
-                    $(2) $(3) : $(4) : $(5) ;
-                }                
-            }
-                        
-            rule set-target-variable ( targets + : variable : value * : append ? )
-            {
-                if $(append)
-                {            
-	            $(variable) on $(targets) += $(value) ;
-                }
-                else
-                {
-	            $(variable) on $(targets) = $(value) ;            
-                }        
-            }        
-
-            rule get-target-variable ( targets + : variable )
-            {
-                return [ on $(targets) return $($(variable)) ] ;
-            }
-
-            rule import-rules-from-parent ( parent-module : this-module : user-rules * )
-            {
-                IMPORT $(parent-module) : $(user-rules) : $(this-module) : $(user-rules) ;
-                EXPORT $(this-module) : $(user-rules) ;
-            }
-
-            rule mark-included ( targets * : includes * ) {
-                NOCARE $(includes) ;
-                INCLUDES $(targets) : $(includes) ;
-                ISFILE $(includes) ;
-            }
-        }
-
-        PYTHON_IMPORT_RULE bootstrap : bootstrap : PyBB : bootstrap ;
-        modules.poke PyBB : root : [ NORMALIZE_PATH $(.bootstrap-file:DT)/.. ] ;
-        
-        module PyBB
-        {
-            local ok = [ bootstrap $(root) ] ;
-            if ! $(ok)
-            {
-                EXIT ;
-            }            
-        }
-        
-        
-        #PYTHON_IMPORT_RULE boost.build.build_system : main : PyBB : main ;
-
-        #module PyBB
-        #{    
-        #    main ;
-        #}
-
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/kernel/bootstrap.py b/SRC/Boost/tools/build/v2/kernel/bootstrap.py
deleted file mode 100755
index 4f0d805..0000000
--- a/SRC/Boost/tools/build/v2/kernel/bootstrap.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2009 Vladimir Prus 
-#
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import imp
-import sys
-
-def bootstrap(root_path):
-    """Performs python-side bootstrapping of Boost.Build/Python.
-
-    This function arranges for 'b2.whatever' package names to work, while also
-    allowing to put python files alongside corresponding jam modules.
-    """
-
-    m = imp.new_module("b2")
-    # Note that:
-    # 1. If __path__ is not list of strings, nothing will work
-    # 2. root_path is already list of strings.
-    m.__path__ = root_path
-    sys.modules["b2"] = m
-
-    import b2.build_system
-    return b2.build_system.main()
-
diff --git a/SRC/Boost/tools/build/v2/kernel/class.jam b/SRC/Boost/tools/build/v2/kernel/class.jam
deleted file mode 100755
index c3ac28e..0000000
--- a/SRC/Boost/tools/build/v2/kernel/class.jam
+++ /dev/null
@@ -1,420 +0,0 @@
-# Copyright 2001, 2002, 2003 Dave Abrahams
-# Copyright 2002, 2005 Rene Rivera
-# Copyright 2002, 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Polymorphic class system built on top of core Jam facilities.
-#
-# Classes are defined by 'class' keywords::
-#
-#     class myclass
-#     {
-#         rule __init__ ( arg1 )     # constructor
-#         {
-#             self.attribute = $(arg1) ;
-#         }
-#
-#         rule method1 ( )           # method
-#         {
-#             return [ method2 ] ;
-#         }
-#
-#         rule method2 ( )           # method
-#         {
-#             return $(self.attribute) ;
-#         }
-#     }
-#
-# The __init__ rule is the constructor, and sets member variables.
-#
-# New instances are created by invoking [ new <class> <args...> ]:
-#
-#     local x = [ new myclass foo ] ;        # x is a new myclass object
-#     assert.result foo : [ $(x).method1 ] ; # $(x).method1 returns "foo"
-#
-# Derived class are created by mentioning base classes in the declaration::
-#
-#     class derived : myclass
-#     {
-#          rule __init__ ( arg )
-#          {
-#              myclass.__init__ $(arg) ;  # call base __init__
-#
-#          }
-#
-#          rule method2 ( )           # method override
-#          {
-#              return $(self.attribute)XXX ;
-#          }
-#     }
-#
-# All methods operate virtually, replacing behavior in the base classes. For
-# example::
-#
-#     local y = [ new derived foo ] ;            # y is a new derived object
-#     assert.result fooXXX : [ $(y).method1 ] ;  # $(y).method1 returns "foo"
-#
-# Each class instance is its own core Jam module. All instance attributes and
-# methods are accessible without additional qualification from within the class
-# instance. All rules imported in class declaration, or visible in base classses
-# are also visible. Base methods are available in qualified form:
-# base-name.method-name. By convention, attribute names are prefixed with
-# "self.".
-
-import modules ;
-import numbers ;
-
-
-rule xinit ( instance : class )
-{
-    module $(instance)
-    {
-        __class__ = $(2) ;
-        __name__ = $(1) ;
-    }
-}
-
-
-rule new ( class args * : * )
-{
-    .next-instance ?= 1 ;
-    local id = object($(class))@$(.next-instance) ;
-
-    xinit $(id) : $(class) ;
-
-    INSTANCE $(id) : class@$(class) ;
-    IMPORT_MODULE $(id) ;
-    $(id).__init__ $(args) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-
-    # Bump the next unique object name.
-    .next-instance = [ numbers.increment $(.next-instance) ] ;
-
-    # Return the name of the new instance.
-    return $(id) ;
-}
-
-
-rule bases ( class )
-{
-    module class@$(class)
-    {
-        return $(__bases__) ;
-    }
-}
-
-
-rule is-derived ( class : bases + )
-{
-    local stack = $(class) ;
-    local visited found ;
-    while ! $(found) && $(stack)
-    {
-        local top = $(stack[1]) ;
-        stack = $(stack[2-]) ;
-        if ! ( $(top) in $(visited) )
-        {
-            visited += $(top) ;
-            stack += [ bases $(top) ] ;
-
-            if $(bases) in $(visited)
-            {
-                found = true ;
-            }
-        }
-    }
-    return $(found) ;
-}
-
-
-# Returns true if the 'value' is a class instance.
-#
-rule is-instance ( value )
-{
-    return [ MATCH "^(object\\()[^@]+\\)@.*" : $(value) ] ;
-}
-
-
-# Check if the given value is of the given type.
-#
-rule is-a (
-    instance  # The value to check.
-    : type  # The type to test for.
-)
-{
-    if [ is-instance $(instance) ]
-    {
-        return [ class.is-derived [ modules.peek $(instance) : __class__ ] : $(type) ] ;
-    }
-}
-
-
-local rule typecheck ( x )
-{
-    local class-name = [ MATCH "^\\[(.*)\\]$" : [ BACKTRACE 1 ] ] ;
-    if ! [ is-a $(x) : $(class-name) ]
-    {
-        return "Expected an instance of "$(class-name)" but got \""$(x)"\" for argument" ;
-    }
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-    import "class" : new ;
-
-    # This will be the construction function for a class called 'myclass'.
-    #
-    class myclass
-    {
-        import assert ;
-
-        rule __init__ ( x_ * : y_ * )
-        {
-            # Set some instance variables.
-            x = $(x_) ;
-            y = $(y_) ;
-            foo += 10 ;
-        }
-
-        rule set-x ( newx * )
-        {
-            x = $(newx) ;
-        }
-
-        rule get-x ( )
-        {
-            return $(x) ;
-        }
-
-        rule set-y ( newy * )
-        {
-            y = $(newy) ;
-        }
-
-        rule get-y ( )
-        {
-            return $(y) ;
-        }
-
-        rule f ( )
-        {
-            return [ g $(x) ] ;
-        }
-
-        rule g ( args * )
-        {
-            if $(x) in $(y)
-            {
-                return $(x) ;
-            }
-            else if $(y) in $(x)
-            {
-                return $(y) ;
-            }
-            else
-            {
-                return ;
-            }
-        }
-
-        rule get-class ( )
-        {
-            return $(__class__) ;
-        }
-
-        rule get-instance ( )
-        {
-            return $(__name__) ;
-        }
-
-        rule invariant ( )
-        {
-            assert.equal 1 : 1 ;
-        }
-
-        rule get-foo ( )
-        {
-            return $(foo) ;
-        }
-    }
-#    class myclass ;
-
-    class derived1 : myclass
-    {
-        rule __init__ ( z_ )
-        {
-            myclass.__init__ $(z_) : X ;
-            z = $(z_) ;
-        }
-
-        # Override g.
-        #
-        rule g ( args * )
-        {
-            return derived1.g ;
-        }
-
-        rule h ( )
-        {
-            return derived1.h ;
-        }
-
-        rule get-z ( )
-        {
-            return $(z) ;
-        }
-
-        # Check that 'assert.equal' visible in base class is visible here.
-        #
-        rule invariant2 ( )
-        {
-            assert.equal 2 : 2 ;
-        }
-
-        # Check that 'assert.variable-not-empty' visible in base class is
-        # visible here.
-        #
-        rule invariant3 ( )
-        {
-            local v = 10 ;
-            assert.variable-not-empty v ;
-        }
-    }
-#    class derived1 : myclass ;
-
-    class derived2 : myclass
-    {
-        rule __init__ ( )
-        {
-            myclass.__init__ 1 : 2 ;
-        }
-
-        # Override g.
-        #
-        rule g ( args * )
-        {
-            return derived2.g ;
-        }
-
-        # Test the ability to call base class functions with qualification.
-        #
-        rule get-x ( )
-        {
-            return [ myclass.get-x ] ;
-        }
-    }
-#    class derived2 : myclass ;
-
-    class derived2a : derived2
-    {
-        rule __init__
-        {
-            derived2.__init__ ;
-        }
-    }
-#    class derived2a : derived2 ;
-
-    local rule expect_derived2 ( [derived2] x ) { }
-
-    local a = [ new myclass 3 4 5 : 4 5 ] ;
-    local b = [ new derived1 4 ] ;
-    local b2 = [ new derived1 4 ] ;
-    local c = [ new derived2 ] ;
-    local d = [ new derived2 ] ;
-    local e = [ new derived2a ] ;
-
-    expect_derived2 $(d) ;
-    expect_derived2 $(e) ;
-
-    # Argument checking is set up to call exit(1) directly on failure, and we
-    # can not hijack that with try, so we should better not do this test by
-    # default. We could fix this by having errors look up and invoke the EXIT
-    # rule instead; EXIT can be hijacked (;-)
-    if --fail-typecheck in [ modules.peek : ARGV ]
-    {
-        try ;
-        {
-            expect_derived2 $(a) ;
-        }
-        catch
-            "Expected an instance of derived2 but got" instead
-            ;
-    }
-
-    #try ;
-    #{
-    #    new bad_subclass ;
-    #}
-    #catch
-    #  bad_subclass.bad_subclass failed to call base class constructor myclass.__init__
-    #  ;
-
-    #try ;
-    #{
-    #    class bad_subclass ;
-    #}
-    #catch bad_subclass has already been declared ;
-
-    assert.result 3 4 5 : $(a).get-x ;
-    assert.result 4 5 : $(a).get-y ;
-    assert.result 4 : $(b).get-x ;
-    assert.result X : $(b).get-y ;
-    assert.result 4 : $(b).get-z ;
-    assert.result 1 : $(c).get-x ;
-    assert.result 2 : $(c).get-y ;
-    assert.result 4 5 : $(a).f ;
-    assert.result derived1.g : $(b).f ;
-    assert.result derived2.g : $(c).f ;
-    assert.result derived2.g : $(d).f ;
-
-    assert.result 10 : $(b).get-foo ;
-
-    $(a).invariant ;
-    $(b).invariant2 ;
-    $(b).invariant3 ;
-
-    # Check that the __class__ attribute is getting properly set.
-    assert.result myclass : $(a).get-class ;
-    assert.result derived1 : $(b).get-class ;
-    assert.result $(a) : $(a).get-instance ;
-
-    $(a).set-x a.x ;
-    $(b).set-x b.x ;
-    $(c).set-x c.x ;
-    $(d).set-x d.x ;
-    assert.result a.x : $(a).get-x ;
-    assert.result b.x : $(b).get-x ;
-    assert.result c.x : $(c).get-x ;
-    assert.result d.x : $(d).get-x ;
-
-    class derived3 : derived1 derived2
-    {
-        rule __init__ ( )
-        {
-        }
-    }
-
-    assert.result : bases myclass ;
-    assert.result myclass : bases derived1 ;
-    assert.result myclass : bases derived2 ;
-    assert.result derived1 derived2 : bases derived3 ;
-
-    assert.true is-derived derived1 : myclass ;
-    assert.true is-derived derived2 : myclass ;
-    assert.true is-derived derived3 : derived1 ;
-    assert.true is-derived derived3 : derived2 ;
-    assert.true is-derived derived3 : derived1 derived2 myclass ;
-    assert.true is-derived derived3 : myclass ;
-
-    assert.false is-derived myclass : derived1 ;
-
-    assert.true is-instance $(a) ;
-    assert.false is-instance bar ;
-
-    assert.true is-a $(a) : myclass ;
-    assert.true is-a $(c) : derived2 ;
-    assert.true is-a $(d) : myclass ;
-    assert.false is-a literal : myclass ;
-}
diff --git a/SRC/Boost/tools/build/v2/kernel/errors.jam b/SRC/Boost/tools/build/v2/kernel/errors.jam
deleted file mode 100755
index 0c1ba87..0000000
--- a/SRC/Boost/tools/build/v2/kernel/errors.jam
+++ /dev/null
@@ -1,274 +0,0 @@
-# Copyright 2003 Dave Abrahams
-# Copyright 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Print a stack backtrace leading to this rule's caller. Each argument
-# represents a line of output to be printed after the first line of the
-# backtrace.
-#
-rule backtrace ( skip-frames prefix messages * : * )
-{
-    local frame-skips = 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 ;
-    local drop-elements = $(frame-skips[$(skip-frames)]) ;
-    if ! ( $(skip-frames) in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 )
-    {
-        ECHO "warning: backtrace doesn't support skipping $(skip-frames) frames;"
-            "using 1 instead." ;
-        drop-elements = 5 ;
-    }
-
-    local args = $(.args) ;
-    if $(.user-modules-only)
-    {
-        local bt = [ nearest-user-location ] ;
-        ECHO "$(prefix) at $(bt) " ;
-        for local n in $(args)
-        {
-            if $($(n))-is-not-empty
-            {
-                ECHO $(prefix) $($(n)) ;
-            }
-        }
-    }
-    else
-    {
-        # Get the whole backtrace, then drop the initial quadruples
-        # corresponding to the frames that must be skipped.
-        local bt = [ BACKTRACE ] ;
-        bt = $(bt[$(drop-elements)-]) ;
-
-        while $(bt)
-        {
-            local m = [ MATCH ^(.+)\\.$ : $(bt[3]) ] ;
-            ECHO $(bt[1]):$(bt[2]): "in" $(bt[4]) "from module" $(m) ;
-
-            # The first time through, print each argument on a separate line.
-            for local n in $(args)
-            {
-                if $($(n))-is-not-empty
-                {
-                    ECHO $(prefix) $($(n)) ;
-                }
-            }
-            args = ;  # Kill args so that this never happens again.
-
-            # Move on to the next quadruple.
-            bt = $(bt[5-]) ;
-        }
-    }
-}
-
-.args ?= messages 2 3 4 5 6 7 8 9 ;
-.disabled ?= ;
-.last-error-$(.args) ?= ;
-
-
-# try-catch --
-#
-# This is not really an exception-handling mechanism, but it does allow us to
-# perform some error-checking on our error-checking. Errors are suppressed after
-# a try, and the first one is recorded. Use catch to check that the error
-# message matched expectations.
-
-# Begin looking for error messages.
-#
-rule try ( )
-{
-    .disabled += true ;
-    .last-error-$(.args) = ;
-}
-
-
-# Stop looking for error messages; generate an error if an argument of messages
-# is not found in the corresponding argument in the error call.
-#
-rule catch ( messages * : * )
-{
-    .disabled = $(.disabled[2-]) ;  # Pop the stack.
-
-    import sequence ;
-
-    if ! $(.last-error-$(.args))-is-not-empty
-    {
-        error-skip-frames 3 expected an error, but none occurred ;
-    }
-    else
-    {
-        for local n in $(.args)
-        {
-            if ! $($(n)) in $(.last-error-$(n))
-            {
-                local v = [ sequence.join $($(n)) : " " ] ;
-                v ?= "" ;
-                local joined = [ sequence.join $(.last-error-$(n)) : " " ] ;
-
-                .last-error-$(.args) = ;
-                error-skip-frames 3 expected \"$(v)\" in argument $(n) of error
-                    : got \"$(joined)\" instead ;
-            }
-        }
-    }
-}
-
-
-rule error-skip-frames ( skip-frames messages * : * )
-{
-    if ! $(.disabled)
-    {
-        backtrace $(skip-frames) error: $(messages) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-        EXIT ;
-    }
-    else if ! $(.last-error-$(.args))
-    {
-        for local n in $(.args)
-        {
-            # Add an extra empty string so that we always have
-            # something in the event of an error
-            .last-error-$(n) = $($(n)) "" ;
-        }
-    }
-}
-
-if --no-error-backtrace in [ modules.peek : ARGV ]
-{
-    .no-error-backtrace = true ;
-}
-
-
-# Print an error message with a stack backtrace and exit.
-#
-rule error ( messages * : * )
-{
-    if $(.no-error-backtrace)
-    {
-        # Print each argument on a separate line.
-        for local n in $(.args)
-        {
-            if $($(n))-is-not-empty
-            {
-                if ! $(first-printed)
-                {
-                    ECHO error: $($(n)) ;
-                    first-printed = true ;
-                }
-                else
-                {
-                    ECHO $($(n)) ;
-                }
-            }
-        }
-        EXIT ;
-    }
-    else
-    {
-        error-skip-frames 3 $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-}
-
-
-# Same as 'error', but the generated backtrace will include only user files.
-#
-rule user-error ( messages * : * )
-{
-    .user-modules-only = 1 ;
-    error-skip-frames 3 $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-}
-
-
-# Print a warning message with a stack backtrace and exit.
-#
-rule warning
-{
-    backtrace 2 warning: $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-}
-
-
-# Convert an arbitrary argument list into a list with ":" separators and quoted
-# elements representing the same information. This is mostly useful for
-# formatting descriptions of arguments with which a rule was called when
-# reporting an error.
-#
-rule lol->list ( * )
-{
-    local result ;
-    local remaining = 1 2 3 4 5 6 7 8 9 ;
-    while $($(remaining))
-    {
-        local n = $(remaining[1]) ;
-        remaining = $(remaining[2-]) ;
-
-        if $(n) != 1
-        {
-            result += ":" ;
-        }
-        result += \"$($(n))\" ;
-    }
-    return $(result) ;
-}
-
-
-# Return the file:line for the nearest entry in backtrace which correspond to a
-# user module.
-#
-rule nearest-user-location ( )
-{
-    local bt = [ BACKTRACE ] ;
-
-    local result ;
-    while $(bt) && ! $(result)
-    {
-        local m = [ MATCH ^(.+)\\.$ : $(bt[3]) ] ;
-        local user-modules = ([Jj]amroot(.jam|.v2|)|([Jj]amfile(.jam|.v2|)|user-config.jam|site-config.jam|project-root.jam) ;
-
-        if [ MATCH $(user-modules) : $(bt[1]:D=) ]
-        {
-            result = $(bt[1]):$(bt[2]) ;
-        }
-        bt = $(bt[5-]) ;
-    }
-    return $(result) ;
-}
-
-
-# If optimized rule is available in Jam, use it.
-if NEAREST_USER_LOCATION in [ RULENAMES ]
-{
-    rule nearest-user-location ( )
-    {
-        local r = [ NEAREST_USER_LOCATION ] ;
-        return $(r[1]):$(r[2]) ;
-    }
-}
-
-
-rule __test__ ( )
-{
-    # Show that we can correctly catch an expected error.
-    try ;
-    {
-        error an error occurred : somewhere ;
-    }
-    catch an error occurred : somewhere ;
-
-    # Show that unexpected errors generate real errors.
-    try ;
-    {
-        try ;
-        {
-            error an error occurred : somewhere ;
-        }
-        catch an error occurred : nowhere ;
-    }
-    catch expected \"nowhere\" in argument 2 ;
-
-    # Show that not catching an error where one was expected is an error.
-    try ;
-    {
-        try ;
-        {
-        }
-        catch ;
-    }
-    catch expected an error, but none occurred ;
-}
diff --git a/SRC/Boost/tools/build/v2/kernel/modules.jam b/SRC/Boost/tools/build/v2/kernel/modules.jam
deleted file mode 100755
index a8e8820..0000000
--- a/SRC/Boost/tools/build/v2/kernel/modules.jam
+++ /dev/null
@@ -1,354 +0,0 @@
-# Copyright 2003 Dave Abrahams
-# Copyright 2003, 2005 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Essentially an include guard; ensures that no module is loaded multiple times.
-.loaded ?= ;
-
-# A list of modules currently being loaded for error reporting of circular
-# dependencies.
-.loading ?= ;
-
-# A list of modules needing to be tested using their __test__ rule.
-.untested ?= ;
-
-# A list of modules which have been tested using their __test__ rule.
-.tested ?= ;
-
-
-# Runs internal Boost Build unit tests for the specified module. The module's
-# __test__ rule is executed in its own module to eliminate any inadvertent
-# effects of testing module dependencies (such as assert) on the module itself.
-#
-local rule run-module-test ( m )
-{
-    local tested-modules = [ modules.peek modules : .tested ] ;
-
-    if ( ! $(m) in $(tested-modules) )  # Avoid recursive test invocations.
-        && ( ( --debug in $(argv) ) || ( --debug-module=$(m) in $(argv) ) )
-    {
-        modules.poke modules : .tested : $(tested-modules) $(m) ;
-
-        if ! ( __test__ in [ RULENAMES $(m) ] )
-        {
-            local argv = [ peek : ARGV ] ;
-            if ! ( --quiet in $(argv) ) && ( --debug-tests in $(argv) )
-            {
-                ECHO warning: no __test__ rule defined in module $(m) ;
-            }
-        }
-        else
-        {
-            if ! ( --quiet in $(argv) )
-            {
-                ECHO testing module $(m)... ;
-            }
-
-            local test-module = __test-$(m)__ ;
-            IMPORT $(m) : [ RULENAMES $(m) ] : $(test-module) : [ RULENAMES $(m) ] ;
-            IMPORT $(m) : __test__ : $(test-module) : __test__ : LOCALIZE ;
-            module $(test-module)
-            {
-                __test__ ;
-            }
-        }
-    }
-}
-
-
-# Return the binding of the given module.
-#
-rule binding ( module )
-{
-    return $($(module).__binding__) ;
-}
-
-
-# Sets the module-local value of a variable. This is the most reliable way to
-# set a module-local variable in a different module; it eliminates issues of
-# name shadowing due to dynamic scoping.
-#
-rule poke ( module-name ? : variables + : value * )
-{
-    module $(<)
-    {
-        $(>) = $(3) ;
-    }
-}
-
-
-# Returns the module-local value of a variable. This is the most reliable way to
-# examine a module-local variable in a different module; it eliminates issues of
-# name shadowing due to dynamic scoping.
-#
-rule peek ( module-name ? : variables + )
-{
-    module $(<)
-    {
-        return $($(>)) ;
-    }
-}
-
-
-# Call the given rule locally in the given module. Use this for rules accepting
-# rule names as arguments, so that the passed rule may be invoked in the context
-# of the rule's caller (for example, if the rule accesses module globals or is a
-# local rule). Note that rules called this way may accept at most 8 parameters.
-#
-rule call-in ( module-name ? : rule-name args * : * )
-{
-    module $(module-name)
-    {
-        return [ $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ] ;
-    }
-}
-
-
-# Given a possibly qualified rule name and arguments, remove any initial module
-# qualification from the rule and invoke it in that module. If there is no
-# module qualification, the rule is invoked in the global module. Note that
-# rules called this way may accept at most 8 parameters.
-#
-rule call-locally ( qualified-rule-name args * : * )
-{
-    local module-rule = [ MATCH (.*)\\.(.*) : $(qualified-rule-name) ] ;
-    local rule-name = $(module-rule[2]) ;
-    rule-name ?= $(qualified-rule-name) ;
-    #   We pass only 8 parameters here since Boost Jam allows at most 9 rule
-    # parameter positions and the call-in rule already uses up the initial
-    # position for the module name.
-    return [ call-in $(module-rule[1]) : $(rule-name) $(args) : $(2) : $(3) :
-        $(4) : $(5) : $(6) : $(7) : $(8) ] ;
-}
-
-
-# Load the indicated module if it is not already loaded.
-#
-rule load (
-      module-name  # Name of module to load. Rules will be defined in this
-                   # module.
-    : filename ?   # (partial) path to file; Defaults to $(module-name).jam.
-    : search *     # Directories in which to search for filename. Defaults to
-                   # $(BOOST_BUILD_PATH).
-)
-{
-    # Avoid loading modules twice.
-    if ! ( $(module-name) in $(.loaded) )
-    {
-        filename ?= $(module-name).jam ;
-
-        # Mark the module loaded so we do not try to load it recursively.
-        .loaded += $(module-name) ;
-
-        # Suppress tests if any module loads are already in progress.
-        local suppress-test = $(.loading[1]) ;
-
-        # Push this module on the loading stack.
-        .loading += $(module-name) ;
-
-        # Remember that it is untested.
-        .untested += $(module-name) ;
-
-        # Insert the new module's __name__ and __file__ globals.
-        poke $(module-name) : __name__ : $(module-name) ;
-        poke $(module-name) : __file__ : $(filename) ;
-
-        module $(module-name)
-        {
-            # Add some grist so that the module will have a unique target name.
-            local module-target = $(__file__:G=module@) ;
-
-            local search = $(3) ;
-            search ?= [ modules.peek : BOOST_BUILD_PATH ] ;
-            SEARCH on $(module-target) = $(search) ;
-            BINDRULE on $(module-target) = modules.record-binding ;
-
-            include $(module-target) ;
-
-            # Allow the module to see its own names with full qualification.
-            local rules = [ RULENAMES $(__name__) ] ;
-            IMPORT $(__name__) : $(rules) : $(__name__) : $(__name__).$(rules) ;
-        }
-
-        if $(module-name) != modules && ! [ binding $(module-name) ]
-        {
-            import errors ;
-            errors.error "Could not find module" $(module-name) in $(search) ;
-        }
-
-        # Pop the loading stack. Must happen before testing or we will run into
-        # a circular loading dependency.
-        .loading = $(.loading[1--2]) ;
-
-        # Run any pending tests if this is an outer load.
-        if ! $(suppress-test)
-        {
-            local argv = [ peek : ARGV ] ;
-            for local m in $(.untested)
-            {
-                run-module-test $(m) ;
-            }
-            .untested = ;
-        }
-    }
-    else if $(module-name) in $(.loading)
-    {
-        import errors ;
-        errors.error loading \"$(module-name)\"
-            : circular module loading dependency:
-            : $(.loading)" ->" $(module-name) ;
-    }
-}
-
-
-# This helper is used by load (above) to record the binding (path) of each
-# loaded module.
-#
-rule record-binding ( module-target : binding )
-{
-    $(.loading[-1]).__binding__ = $(binding) ;
-}
-
-
-# Transform each path in the list, with all backslashes converted to forward
-# slashes and all detectable redundancy removed. Something like this is probably
-# needed in path.jam, but I am not sure of that, I do not understand it, and I
-# am not ready to move all of path.jam into the kernel.
-#
-local rule normalize-raw-paths ( paths * )
-{
-    local result ;
-    for p in $(paths:T)
-    {
-        result += [ NORMALIZE_PATH $(p) ] ;
-    }
-    return $(result) ;
-}
-
-
-.cwd = [ PWD ] ;
-
-
-# Load the indicated module and import rule names into the current module. Any
-# members of rules-opt will be available without qualification in the caller's
-# module. Any members of rename-opt will be taken as the names of the rules in
-# the caller's module, in place of the names they have in the imported module.
-# If rules-opt = '*', all rules from the indicated module are imported into the
-# caller's module. If rename-opt is supplied, it must have the same number of
-# elements as rules-opt.
-#
-rule import ( module-names + : rules-opt * : rename-opt * )
-{
-    if ( $(rules-opt) = * || ! $(rules-opt) ) && $(rename-opt)
-    {
-        import errors ;
-        errors.error "Rule aliasing is only available for explicit imports." ;
-    }
-
-    if $(module-names[2]) && ( $(rules-opt) || $(rename-opt) )
-    {
-        import errors ;
-        errors.error "When loading multiple modules, no specific rules or"
-            "renaming is allowed" ;
-    }
-
-    local caller = [ CALLER_MODULE ] ;
-
-    # Import each specified module
-    for local m in $(module-names)
-    {
-        if ! $(m) in $(.loaded)
-        {
-            # If the importing module isn't already in the BOOST_BUILD_PATH,
-            # prepend it to the path.  We don't want to invert the search order
-            # of modules that are already there.
-
-            local caller-location ;
-            if $(caller)
-            {
-                caller-location = [ binding $(caller) ] ;
-                caller-location = $(caller-location:D) ;
-                caller-location = [ normalize-raw-paths $(caller-location:R=$(.cwd)) ] ;
-            }
-
-            local search = [ peek : BOOST_BUILD_PATH ] ;
-            search = [ normalize-raw-paths $(search:R=$(.cwd)) ] ;
-
-            if $(caller-location) && ! $(caller-location) in $(search)
-            {
-                search = $(caller-location) $(search) ;
-            }
-
-            load $(m) : : $(search) ;
-        }
-
-        IMPORT_MODULE $(m) : $(caller) ;
-
-        if $(rules-opt)
-        {
-            local source-names ;
-            if $(rules-opt) = *
-            {
-                local all-rules = [ RULENAMES $(m) ] ;
-                source-names = $(all-rules) ;
-            }
-            else
-            {
-                source-names = $(rules-opt) ;
-            }
-            local target-names = $(rename-opt) ;
-            target-names ?= $(source-names) ;
-            IMPORT $(m) : $(source-names) : $(caller) : $(target-names) ;
-        }
-    }
-}
-
-
-# Define exported copies in $(target-module) of all rules exported from
-# $(source-module). Also make them available in the global module with
-# qualification, so that it is just as though the rules were defined originally
-# in $(target-module).
-#
-rule clone-rules ( source-module target-module )
-{
-    local rules = [ RULENAMES $(source-module) ] ;
-
-    IMPORT $(source-module) : $(rules) : $(target-module) : $(rules) : LOCALIZE ;
-    EXPORT $(target-module) : $(rules) ;
-    IMPORT $(target-module) : $(rules) : : $(target-module).$(rules) ;
-}
-
-
-# These rules need to be available in all modules to implement module loading
-# itself and other fundamental operations.
-local globalize = peek poke record-binding ;
-IMPORT modules : $(globalize) : : modules.$(globalize) ;
-
-
-rule __test__ ( )
-{
-    import assert ;
-    import modules : normalize-raw-paths ;
-
-    module modules.__test__
-    {
-        foo = bar ;
-    }
-
-    assert.result bar : peek modules.__test__ : foo ;
-
-    poke modules.__test__ : foo : bar baz ;
-    assert.result bar baz : peek modules.__test__ : foo ;
-
-    assert.result c:/foo/bar : normalize-raw-paths c:/x/../foo/./xx/yy/../../bar ;
-    assert.result .          : normalize-raw-paths .                             ;
-    assert.result ..         : normalize-raw-paths ..                            ;
-    assert.result ../..      : normalize-raw-paths ../..                         ;
-    assert.result ..         : normalize-raw-paths ./..                          ;
-    assert.result / /        : normalize-raw-paths / \\                          ;
-    assert.result a          : normalize-raw-paths a                             ;
-    assert.result a          : normalize-raw-paths a/                            ;
-    assert.result /a         : normalize-raw-paths /a/                           ;
-    assert.result /          : normalize-raw-paths /a/..                         ;
-}
diff --git a/SRC/Boost/tools/build/v2/manager.py b/SRC/Boost/tools/build/v2/manager.py
deleted file mode 100755
index 3b935a9..0000000
--- a/SRC/Boost/tools/build/v2/manager.py
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright Pedro Ferreira 2005. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import bjam
-
-# To simplify implementation of tools level, we'll
-# have a global variable keeping the current manager.
-the_manager = None
-def get_manager():
-    return the_manager
-
-class Manager:
-    """ This class is a facade to the Boost.Build system.
-        It serves as the root to access all data structures in use.
-    """
-        
-    def __init__ (self, engine, global_build_dir):
-        """ Constructor.
-            engine: the build engine that will actually construct the targets.
-        """
-        from build.virtual_target import VirtualTargetRegistry
-        from build.targets import TargetRegistry
-        from build.project import ProjectRegistry
-        from build.scanner import ScannerRegistry
-        from build.errors import Errors
-        from b2.util.logger import NullLogger
-        from build import build_request, property_set, feature
-        
-        self.engine_ = engine
-        self.virtual_targets_ = VirtualTargetRegistry (self)
-        self.projects_ = ProjectRegistry (self, global_build_dir)
-        self.targets_ = TargetRegistry ()
-        self.logger_ = NullLogger ()
-        self.scanners_ = ScannerRegistry (self)
-        self.argv_ = bjam.variable("ARGV")
-        self.boost_build_path_ = bjam.variable("BOOST_BUILD_PATH")
-        self.errors_ = Errors()
-        self.command_line_free_features_ = property_set.empty()
-        
-        global the_manager
-        the_manager = self
-        
-    def scanners (self):
-        return self.scanners_
-
-    def engine (self):
-        return self.engine_
-        
-    def virtual_targets (self):
-        return self.virtual_targets_
-
-    def targets (self):
-        return self.targets_
-
-    def projects (self):
-        return self.projects_
-
-    def argv (self):
-        return self.argv_
-    
-    def logger (self):
-        return self.logger_
-
-    def set_logger (self, logger):
-        self.logger_ = logger
-
-    def errors (self):
-        return self.errors_
-
-    def getenv(self, name):
-        return bjam.variable(name)
-
-    def boost_build_path(self):
-        return self.boost_build_path_
-
-    def command_line_free_features(self):
-        return self.command_line_free_features_
-
-    def set_command_line_free_features(self, v):
-        self.command_line_free_features_ = v
-
-    def construct (self, properties = [], targets = []):
-        """ Constructs the dependency graph.
-            properties:  the build properties.
-            targets:     the targets to consider. If none is specified, uses all.
-        """
-        if not targets:
-            for name, project in self.projects ().projects ():
-                targets.append (project.target ())
-            
-        property_groups = build_request.expand_no_defaults (properties)
-
-        virtual_targets = []
-        build_prop_sets = []
-        for p in property_groups:
-            build_prop_sets.append (property_set.create (feature.split (p)))
-
-        if not build_prop_sets:
-            build_prop_sets = [property_set.empty ()]
-
-        for build_properties in build_prop_sets:
-            for target in targets:
-                result = target.generate (build_properties)
-                virtual_targets.extend (result.targets ())
-
-        actual_targets = []
-        for virtual_target in virtual_targets:
-            actual_targets.extend (virtual_target.actualize ())
-    
diff --git a/SRC/Boost/tools/build/v2/nightly.sh b/SRC/Boost/tools/build/v2/nightly.sh
deleted file mode 100755
index 0d9f310..0000000
--- a/SRC/Boost/tools/build/v2/nightly.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-
-# Copyright 2004, 2005, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# This script create a nightly tarball of Boost.Build V2
-# and updates the web site.
-
-# Create the packages
-set -e
-trap "echo 'Nightly build failed'" ERR
-
-export QTDIR=/usr/share/qt3
-export LC_ALL=C
-export LC_MESSAGES=C
-export LANG=C
-cd /tmp
-rm -rf boost-build-nightly
-mkdir boost-build-nightly
-echo "Checking out sources"
-svn co http://svn.boost.org/svn/boost/trunk/tools/build/v2 boost-build-nightly/boost-build > /tmp/boost_build_checkout_log
-mv /tmp/boost_build_checkout_log boost-build-nightly/checkout-log
-cd boost-build-nightly/boost-build/
-echo "Building packages and uploading docs"
-./roll.sh > ../roll-log 2>&1
-cd ..
-echo "Uploading packages"
-scp boost-build.zip boost-build.tar.bz2 vladimir_prus,boost at web.sourceforge.net:/home/groups/b/bo/boost/htdocs/boost-build2 > scp-log
-echo "Nightly build successful"
diff --git a/SRC/Boost/tools/build/v2/notes/README.txt b/SRC/Boost/tools/build/v2/notes/README.txt
deleted file mode 100755
index 31d207f..0000000
--- a/SRC/Boost/tools/build/v2/notes/README.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Copyright 2005 Vladimir Prus 
-Distributed under the Boost Software License, Version 1.0. 
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-This directory contains various development notes. Some of them
-may eventually find the way into documentation, so are purely
-imlementation comments.
diff --git a/SRC/Boost/tools/build/v2/notes/build_dir_option.txt b/SRC/Boost/tools/build/v2/notes/build_dir_option.txt
deleted file mode 100755
index f81aab1..0000000
--- a/SRC/Boost/tools/build/v2/notes/build_dir_option.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-Copyright 2005 Vladimir Prus
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-
-Summary
--------
-
-We need a --build-dir option that users building from read-only
-medium can use to force building to some other location. Pretty much
-every project need this functionality, so it's desirable to have it
-out-of-the box, without explicit setup.
-
-Design
-------
-
-We can achieve the desired effect manually by adding something like this
-to Jamroot:
-
-  project .... : build-dir [ my-rule-to-compute-build-dir ] ;
-
-Where 'my-rule-to-compute-build-dir' would look at the --build-dir option.
-
-We need to automate this, but essentially, --build-dir will only affect
-the 'build-dir' attribute of Jamroots.
-
-If Jamroot contains:
-
-   project foo ;
-
-and --build-dir options' value if /tmp/build, then we'll act as if Jamroot
-contained:
-
-   project foo : build-dir /tmp/build/foo ;
-
-If the 'project' rule has explicit 'build-dir':
-
-   project foo : build-dir bin.v2 ;
-
-then with the same value of --build-dir we'd act as if Jamroot contained:
-
-   project foo : build-dir /tmp/build/foo/bin.v2 ;
-
-We can't drop "bin.v2" because it's quite possible that the name of build dir
-have specific meaning. For example, it can be used to separate Boost.Build V1
-and V2 build results.
-
-The --build-dir option has no effect if Jamroot does not define any project id.
-Doing otherwise can lead to nasty problems if we're building two distinct
-projects (that is with two different Jamroot). They'll get the same build
-directory. Most likely, user will see the "duplicate target" error, which is
-generally confusing.
-
-It is expected that any non-trivial project will have top-level "project"
-invocation with non empty id, so the above limitation is not so drastic.
-We'll emit a warning if Jamroot does not define project id, and --build-dir
-is specified.
-
-Here's the exact behavior of the --build-dir option. If we're loading a
-Jamfile (either root or non-root), that declare some project id and some
-build-dir attribute, the following table gives the value of build-dir
-that will actually be used.
-
--------------------------------------------------------------------------------
-Root?    Id      Build-dir attribute   Resulting build dir
--------------------------------------------------------------------------------
-yes      none    *                     --build-dir is ignored, with warning
-yes      'foo'   none                  /tmp/build/foo
-yes      'foo'   'bin.v2'              /tmp/build/foo/bin.v2
-yes      'foo'   '/tmp/bar'            Error [1]
-no       *       none                  --build-dir has no effect, inherited
-                                       build dir is used
-no       *       non-empty             Error [2]
--------------------------------------------------------------------------------
-[1] -- not clear what to do
-[2] -- can be made to work, but non-empty build-dir
-attribute in non-root Jamfile does not make much sense even without --build-dir
diff --git a/SRC/Boost/tools/build/v2/notes/relative_source_paths.txt b/SRC/Boost/tools/build/v2/notes/relative_source_paths.txt
deleted file mode 100755
index 13bb880..0000000
--- a/SRC/Boost/tools/build/v2/notes/relative_source_paths.txt
+++ /dev/null
@@ -1,76 +0,0 @@
-Copyright 2005 Vladimir Prus 
-Distributed under the Boost Software License, Version 1.0. 
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-Hi,
-recently, we had a couple of problems caused by using relative file paths, and 
-I'd like to discuss what to do.
-
-Let's use the case from C�dric. Simplified version is:
-
-    exe a : a.cpp dir1/qt_file.h ;
-    exe b : a.cpp dir2/qt_file.h ;
-
-Both exes have the same source cpp file but different *.h files -- which are 
-processed by Qt tools. V2 currently strips directory name from all targets, 
-so it tries to
-
-   - create "bin/mvsc/debug/moc_qt_file.cpp" from dir1/qt_file.h
-   - create "bin/msvc/debug/moc_qt_file.cpp" from dir2/qt_file.h
-
-There are two solutions that I see:
-
-   1. Rewrite the code like:
-      
-      lib aux : a.cpp 
-      exe a : aux dir1/qt_file.h : <location-prefix>a ;
-      exe b : aux dir2/qt_file.h : <location-prefix>b ;
-
-    This way, two version of moc_qt_file.cpp will be generated to different
-    places. 
-
-  2. Rewrite the code like:
-
-      obj a_moc : dir1/qt_file.h : <library>/qt//qt ;
-      exe a : a.cpp a_moc ;
-      obj b_moc : dir2/qt_file.h : <library>/qt//qt ;
-      exe b : a.cpp b_moc ;
-
-     Explicitly changing name for the problematic files.
-
-  3. Generally change V2 so that directory part of source is preserved. This
-      will generate targets:
-     "bin/msvc/debug/dir1/moc_qt_file.cpp" and
-     "bin/msvc/debug/dir2/moc_qt_file.cpp". No problems.
-
-   However, there are some additional questions:
-
-       - What if source has absolute file name?
-       - What if source is "../../include/qt_file.h"?
-
-       We can ignore directory names in those cases (i.e. use the current 
-       behaviour) but that would be a bit inconsistent.
-
-Any opinions?
-
-Pedro Ferreira:
-
-I think this is a corner case and BB should not try to solve everything 
-automatically - otherwise it will become really complex.
-I don't see a problem in requiring the user to help the build system by 
-using solutions 1 or 2.
-Of course, the better the error reporting, the easier it will be to 
-find the cause and the cure of the problem.
-
-TEMPLIE Cedric:
-
-I agree with Pedro. Solution 1 or 2 is the best way to deal with this 
-problem. Of course I have a preference for the solution 1, but the 
-solution 2 has the advantage to work without any modification...
-
-Toon Knapen:
-
-I agree.
-
-
diff --git a/SRC/Boost/tools/build/v2/options/help.jam b/SRC/Boost/tools/build/v2/options/help.jam
deleted file mode 100755
index 3048fad..0000000
--- a/SRC/Boost/tools/build/v2/options/help.jam
+++ /dev/null
@@ -1,212 +0,0 @@
-# Copyright 2003 Dave Abrahams 
-# Copyright 2003, 2006 Rene Rivera 
-# Copyright 2003, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# This module is the plug-in handler for the --help and --help-.*
-# command-line options
-import modules ;
-import assert ;
-import doc : do-scan set-option set-output set-output-file print-help-usage print-help-top ;
-import sequence ;
-import set ;
-import project ;
-import print ;
-import os ;
-import version ;
-import path ;
-
-# List of possible modules, but which really aren't.
-#
-.not-modules =
-    boost-build bootstrap site-config test user-config
-    -tools allyourbase boost-base features python stlport testing unit-tests ;
-
-# The help system options are parsed here and handed off to the doc
-# module to translate into documentation requests and actions. The
-# understood options are:
-#
-#    --help-disable-<option>
-#    --help-doc-options
-#    --help-enable-<option>
-#    --help-internal
-#    --help-options
-#    --help-usage
-#    --help-output <type>
-#    --help-output-file <file>
-#    --help [<module-or-class>]
-#
-rule process (
-    command # The option.
-    : values * # The values, starting after the "=".
-    )
-{
-    assert.result --help : MATCH ^(--help).* : $(command) ;
-    local did-help = ;
-    switch $(command)
-    {
-        case --help-internal :
-        local path-to-modules = [ modules.peek : BOOST_BUILD_PATH ] ;
-        path-to-modules ?= . ;
-        local possible-modules = [ GLOB $(path-to-modules) : *\\.jam ] ;
-        local not-modules = [ GLOB $(path-to-modules) : *$(.not-modules)\\.jam ] ;
-        local modules-to-list =
-            [ sequence.insertion-sort
-                [ set.difference $(possible-modules:D=:S=) : $(not-modules:D=:S=) ] ] ;
-        local modules-to-scan ;
-        for local m in $(modules-to-list)
-        {
-            local module-files = [ GLOB $(path-to-modules) : $(m)\\.jam ] ;
-            modules-to-scan += $(module-files[1]) ;
-        }
-        do-scan $(modules-to-scan) : print-help-all ;
-        did-help = true ;
-
-        case --help-enable-* :
-        local option = [ MATCH --help-enable-(.*) : $(command) ] ; option = $(option:L) ;
-        set-option $(option) : enabled ;
-        did-help = true ;
-
-        case --help-disable-* :
-        local option = [ MATCH --help-disable-(.*) : $(command) ] ; option = $(option:L) ;
-        set-option $(option) ;
-        did-help = true ;
-
-        case --help-output :
-        set-output $(values[1]) ;
-        did-help = true ;
-
-        case --help-output-file :
-        set-output-file $(values[1]) ;
-        did-help = true ;
-
-        case --help-doc-options :
-        local doc-module-spec = [ split-symbol doc ] ;
-        do-scan $(doc-module-spec[1]) : print-help-options ;
-        did-help = true ;
-
-        case --help-options :
-        print-help-usage ;
-        did-help = true ;
-
-        case --help :
-        local spec = $(values[1]) ;
-        if $(spec)
-        {
-            local spec-parts = [ split-symbol $(spec) ] ;
-            if $(spec-parts)
-            {
-                if $(spec-parts[2])
-                {
-                    do-scan $(spec-parts[1]) : print-help-classes $(spec-parts[2]) ;
-                    do-scan $(spec-parts[1]) : print-help-rules $(spec-parts[2]) ;
-                    do-scan $(spec-parts[1]) : print-help-variables $(spec-parts[2]) ;
-                }
-                else
-                {
-                    do-scan $(spec-parts[1]) : print-help-module ;
-                }
-            }
-            else
-            {
-                EXIT "Unrecognized help option '"$(command)" "$(spec)"'." ;
-            }
-        }
-        else
-        {
-            version.print ;
-            ECHO ;
-            # First print documentation from the current Jamfile, if any.            
-            # FIXME: Generally, this duplication of project.jam logic is bad.
-            local names = [ modules.peek project : JAMROOT ]
-              [ modules.peek project : JAMFILE ] ;
-            local project-file = [ path.glob . : $(names) ] ;
-            if ! $(project-file)
-            {
-                project-file = [ path.glob-in-parents . : $(names) ] ;
-            }
-            
-            for local p in $(project-file)
-            {
-                do-scan $(p) : print-help-project $(p) ;
-            }
-            
-            # Next any user-config help.
-            local user-path = [ os.home-directories ] [ os.environ BOOST_BUILD_PATH ] ;
-            local user-config = [ GLOB $(user-path) : user-config.jam ] ;
-            if $(user-config)
-            {
-                do-scan $(user-config[1]) : print-help-config user $(user-config[1]) ;
-            }
-            
-            # Next any site-config help.
-            local site-config = [ GLOB $(user-path) : site-config.jam ] ;
-            if $(site-config)
-            {
-                do-scan $(site-config[1]) : print-help-config site $(site-config[1]) ;
-            }
-
-            # Then the overall help.
-            print-help-top ;
-        }
-        did-help = true ;
-    }
-    if $(did-help)
-    {
-        UPDATE all ;
-        NOCARE all ;
-    }
-    return $(did-help) ;
-}
-
-# Split a reference to a symbol into module and symbol parts.
-#
-local rule split-symbol (
-    symbol # The symbol to split.
-    )
-{
-    local path-to-modules = [ modules.peek : BOOST_BUILD_PATH ] ;
-    path-to-modules ?= . ;
-    local module-name = $(symbol) ;
-    local symbol-name = ;
-    local result = ;
-    while ! $(result)
-    {
-        local module-path = [ GLOB $(path-to-modules) : $(module-name)\\.jam ] ;
-        if $(module-path)
-        {
-            # The 'module-name' in fact refers to module. Return the full
-            # module path and a symbol within it. If 'symbol' passed to this
-            # rule is already module, 'symbol-name' will be empty. Otherwise,
-            # it's initialized on the previous loop iteration.
-            # In case there are several modules by this name,
-            # use the first one.
-            result = $(module-path[1]) $(symbol-name) ;
-        }
-        else
-        {
-            if ! $(module-name:S)
-            {
-                result = - ;
-            }
-            else
-            {
-                local next-symbol-part = [ MATCH ^.(.*) : $(module-name:S) ] ;
-                if $(symbol-name)
-                {
-                    symbol-name = $(next-symbol-part).$(symbol-name) ;
-                }
-                else
-                {
-                    symbol-name = $(next-symbol-part) ;
-                }
-                module-name = $(module-name:B) ;
-            }
-        }
-    }
-    if $(result) != -
-    {
-        return $(result) ;
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/release_procedure.txt b/SRC/Boost/tools/build/v2/release_procedure.txt
deleted file mode 100755
index 3354d03..0000000
--- a/SRC/Boost/tools/build/v2/release_procedure.txt
+++ /dev/null
@@ -1,83 +0,0 @@
-Copyright 2003, 2005, 2006 Vladimir Prus 
-Distributed under the Boost Software License, Version 1.0. 
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-   Boost.Build V2 release procedure.
-
-[ Must be done from a Unix shell ]
-
-0. Look for all issues for current milestone in the tracker. Close the fixed one,
-   if not already closed. Move to a later milestone, or fix all the unfixed
-   ones.
-
-   Make sure that "bjam --version" output is correct. Update version string if
-   needed. Update bjam version and the version check is necessary.  
-   Check the download locations in "index.html". Check that "last modified"
-   string in index.html is correct.
-
-1. Make sure you don't have any local modification, and create SVN directory
-
-	https://svn.boost.org/svn/boost/branches/build/Milestone_X
-	
-   Then, copy:
-   
-        https://svn.boost.org/svn/boost/trunk/tools/build
-	https://svn.boost.org/svn/boost/trunk/tools/jam
-	
-   to that directory.
-  
-2. Run
-
-   svn co https://svn.boost.org/svn/boost/branches/build/Milestone_X boost-build
-
-3. Go to "boost-build/build/v2" directory.
-
-4. Run "./roll.sh". This will create "boost-build.zip" and
-   "boost-build.tar.bz2" in parent directory, and also upload
-   new docs to sourceforge.
-
-5. Unpack "boost-build.tar.bz2", and build jam.
-
-6. Go to "test" and copy "test-config-example.jam" to "test-config.jam".
-   If you're not ghost, edit test-config.jam to specify all the right paths.
-   Run gcc tests:
-
-      python test_all.py gcc --extras
-
-7. Build all projects in examples-v2, using the bjam binary created at step 4.
-   Note: "threading=multi" might be needed to build QT examples.
-
-8. Make SF release:
-
-   - Go to
-     https://sourceforge.net/project/admin/editpackages.php?group_id=7586
-   
-   - Create new Boost.Build release. Name it 2.0-mXX
-
-   - Upload the changelog. Be sure to turn the "Preserve my pre-formatted
-     text" checkbox.
-
-   - Rename previously built packages to boost-build-2.0-mXX.tar.bz2
-     and boost-build-2.0-mXX.zip. Upload them to the
-     /incoming directory on ftp://upload.sourceforge.net
-
-   - Add those file to release, edit file properties.
-
-   - In a separate browser, verify changelog is not damaged.
-
-   - In a separate browser, Download the files and verify checksums.
-
-   - In SF file release interface, send email notice.
-       
-9. Announce the release, etc.
-
-10. Login to SF and update the current-release redirects in 
-    /home/groups/b/bo/boost/htdocs/boost-build2/.htaccess.
-
-11. If any issues were found during release in this document or in 
-    test-config-example.jam, commit those changes. The release need
-    not be redone, but changes must be comitted.
-
-12. Set release date in changes.txt and commit.
-   
diff --git a/SRC/Boost/tools/build/v2/roll.sh b/SRC/Boost/tools/build/v2/roll.sh
deleted file mode 100755
index 4a8f52e..0000000
--- a/SRC/Boost/tools/build/v2/roll.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/bash
-
-# Copyright 2004 Aleksey Gurtovoy
-# Copyright 2006 Rene Rivera 
-# Copyright 2003, 2004, 2005, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-set -e
-
-# Capture the version
-revision=`svnversion .`
-echo "SVN Revision $revision" >> timestamp.txt
-date >> timestamp.txt
-
-# This one is not fully finished
-rm -rf example/versioned
-
-# Remove unnecessary top-level files
-find . -maxdepth 1 -type f | egrep -v "boost-build.jam|timestamp.txt|roll.sh|bootstrap.jam|build-system.jam|boost_build.png|index.html|hacking.txt|site-config.jam|user-config.jam|bootstrap.sh|bootstrap.bat|Jamroot.jam" | xargs rm -f
-
-# Build the documentation
-touch doc/jamroot.jam
-export BOOST_BUILD_PATH=`pwd`
-./bootstrap.sh
-cd doc
-../bjam --v2
-../bjam --v2 pdf
-cp `find bin -name "*.pdf"` ../..
-mv ../../standalone.pdf ../../userman.pdf
-cp ../../userman.pdf .
-rm -rf bin
-cd ..
-rm bjam
-
-# Get the boost logo.
-wget http://boost.sf.net/boost-build2/boost.png
-
-# Adjust the links, so they work with the standalone package
-perl -pi -e 's%../../../boost.png%boost.png%' index.html
-perl -pi -e 's%../../../doc/html/bbv2.html%doc/html/index.html%' index.html
-perl -pi -e 's%../../../doc/html/bbv2.installation.html%doc/html/bbv2.installation.html%' index.html
-
-# Make packages
-find . -name ".svn" | xargs rm -rf
-rm roll.sh
-chmod a+x engine/build.bat
-cd .. && zip -r boost-build.zip boost-build && tar --bzip2 -cf boost-build.tar.bz2 boost-build
-# Copy packages to a location where they are grabbed for beta.boost.org
-cp userman.pdf boost-build.zip boost-build.tar.bz2 ~/public_html/boost_build_nightly
-cd boost-build
-
-chmod -R u+w *
-# Upload docs to sourceforge
-x=`cat <<EOF
-<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
-</script>
-<script type="text/javascript">
-_uacct = "UA-2917240-2";
-urchinTracker();
-</script>
-EOF`
-echo $x
-perl -pi -e "s|</body>|$x</body>|" index.html `find doc -name '*.html'`
-scp -r  doc example boost_build.png *.html hacking.txt vladimir_prus,boost at web.sourceforge.net:/home/groups/b/bo/boost/htdocs/boost-build2
-scp ../userman.pdf vladimir_prus,boost at web.sourceforge.net:/home/groups/b/bo/boost/htdocs/boost-build2/doc
diff --git a/SRC/Boost/tools/build/v2/site-config.jam b/SRC/Boost/tools/build/v2/site-config.jam
deleted file mode 100755
index 1fec8a8..0000000
--- a/SRC/Boost/tools/build/v2/site-config.jam
+++ /dev/null
@@ -1,4 +0,0 @@
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
diff --git a/SRC/Boost/tools/build/v2/test/BoostBuild.py b/SRC/Boost/tools/build/v2/test/BoostBuild.py
deleted file mode 100755
index e8fe13b..0000000
--- a/SRC/Boost/tools/build/v2/test/BoostBuild.py
+++ /dev/null
@@ -1,921 +0,0 @@
-# Copyright 2002-2005 Vladimir Prus.
-# Copyright 2002-2003 Dave Abrahams.
-# Copyright 2006 Rene Rivera.
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#         http://www.boost.org/LICENSE_1_0.txt)
-
-import TestCmd
-import copy
-import fnmatch
-import glob
-import math
-import os
-import re
-import shutil
-import string
-import StringIO
-import sys
-import tempfile
-import time
-import traceback
-import tree
-import types
-
-from xml.sax.saxutils import escape
-
-
-annotations = []
-
-
-def print_annotation(name, value, xml):
-    """Writes some named bits of information about test run.
-    """
-    if xml:      
-        print escape(name) + " {{{"
-        print escape(value)
-        print "}}}"
-    else:
-        print name + " {{{"
-        print value
-        print "}}}"
-        
-def flush_annotations(xml=0):
-    global annotations
-    for ann in annotations:
-        print_annotation(ann[0], ann[1], xml)
-    annotations = []
-
-def clear_annotations():
-    global annotations
-    annotations = []
-
-defer_annotations = 0
-
-
-def set_defer_annotations(n):
-    global defer_annotations
-    defer_annotations = n
-
-
-def annotation(name, value):
-    """Records an annotation about the test run.
-    """
-    annotations.append((name, value))
-    if not defer_annotations:
-        flush_annotations()
-
-
-def get_toolset():
-    toolset = None;
-    for arg in sys.argv[1:]:
-        if not arg.startswith('-'):
-            toolset = arg
-    return toolset or 'gcc'
-
-
-# Detect the host OS.
-windows = False
-if os.environ.get('OS', '').lower().startswith('windows') or \
-       os.__dict__.has_key('uname') and \
-       os.uname()[0].lower().startswith('cygwin'):
-    windows = True
-
-
-suffixes = {}
-
-
-# Prepare the map of suffixes
-def prepare_suffix_map(toolset):
-    global windows
-    global suffixes
-    suffixes = {'.exe': '', '.dll': '.so', '.lib': '.a', '.obj': '.o'}
-    suffixes['.implib'] = '.no_implib_files_on_this_platform'
-    if windows:
-        suffixes = {}
-        if toolset in ["gcc"]:
-            suffixes['.lib'] = '.a' # static libs have '.a' suffix with mingw...
-            suffixes['.obj'] = '.o'
-        suffixes['.implib'] = '.lib'
-    if os.__dict__.has_key('uname') and (os.uname()[0] == 'Darwin'):
-        suffixes['.dll'] = '.dylib'
-
-
-def re_remove(sequence, regex):
-    me = re.compile(regex)
-    result = filter(lambda x: me.match(x), sequence)
-    if 0 == len(result):
-        raise ValueError()
-    for r in result:
-        sequence.remove(r)
-
-
-def glob_remove(sequence, pattern):
-    result = fnmatch.filter(sequence, pattern)
-    if 0 == len(result):
-        raise ValueError()
-    for r in result:
-        sequence.remove(r)
-
-
-# Configuration stating whether Boost Build is expected to automatically prepend
-# prefixes to built library targets.
-lib_prefix = True
-dll_prefix = True
-if windows:
-    dll_prefix = False
-
-
-#
-# FIXME: this is copy-pasted from TestSCons.py
-# Should be moved to TestCmd.py?
-#
-if os.name == 'posix':
-    def _failed(self, status=0):
-        if self.status is None:
-            return None
-        return _status(self) != status
-    def _status(self):
-        if os.WIFEXITED(self.status):
-            return os.WEXITSTATUS(self.status)
-        else:
-            return -1
-elif os.name == 'nt':
-    def _failed(self, status=0):
-        return not self.status is None and self.status != status
-    def _status(self):
-        return self.status
-
-
-class Tester(TestCmd.TestCmd):
-    """Main tester class for Boost Build.
-
-    Optional arguments:
-
-    `arguments`                   - Arguments passed to the run executable.
-    `executable`                  - Name of the executable to invoke.
-    `match`                       - Function to use for compating actual and
-                                    expected file contents.
-    `boost_build_path`            - Boost build path to be passed to the run
-                                    executable.
-    `translate_suffixes`          - Whether to update suffixes on the the file
-                                    names passed from the test script so they
-                                    match those actually created by the current
-                                    toolset. For example, static library files
-                                    are specified by using the .lib suffix but
-                                    when the 'gcc' toolset is used it actually
-                                    creates them using the .a suffix.
-    `pass_toolset`                - Whether the test system should pass the
-                                    specified toolset to the run executable.
-    `use_test_config`             - Whether the test system should tell the run
-                                    executable to read in the test_config.jam
-                                    configuration file.
-    `ignore_toolset_requirements` - Whether the test system should tell the run
-                                    executable to ignore toolset requirements.
-    `workdir`                     - indicates an absolute directory where the
-                                    test will be run from.
-
-    Optional arguments inherited from the base class:
-
-    `description`                 - Test description string displayed in case of
-                                    a failed test.
-    `subdir'                      - List of subdirectories to automatically
-                                    create under the working directory. Each
-                                    subdirectory needs to be specified
-                                    separately parent coming before its child.
-    `verbose`                     - Flag that may be used to enable more verbose
-                                    test system output. Note that it does not
-                                    also enable more verbose build system
-                                    output like the --verbose command line
-                                    option does.
-    """
-    def __init__(self, arguments="", executable="bjam",
-        match=TestCmd.match_exact, boost_build_path=None,
-        translate_suffixes=True, pass_toolset=True, use_test_config=True,
-        ignore_toolset_requirements=True, workdir="", **keywords):
-
-        self.original_workdir = os.getcwd()
-        if workdir != '' and not os.path.isabs(workdir):
-            raise "Parameter workdir <"+workdir+"> must point to an absolute directory: "
-
-        self.last_build_time_start = 0
-        self.last_build_time_finish = 0
-        self.translate_suffixes = translate_suffixes
-        self.use_test_config = use_test_config
-
-        self.toolset = get_toolset()
-        self.pass_toolset = pass_toolset
-        self.ignore_toolset_requirements = ignore_toolset_requirements
-
-        prepare_suffix_map(pass_toolset and self.toolset or 'gcc')
-
-        if not '--default-bjam' in sys.argv:
-            jam_build_dir = ""
-            if os.name == 'nt':
-                jam_build_dir = "bin.ntx86"
-            elif (os.name == 'posix') and os.__dict__.has_key('uname'):
-                if os.uname()[0].lower().startswith('cygwin'):
-                    jam_build_dir = "bin.cygwinx86"
-                    if 'TMP' in os.environ and os.environ['TMP'].find('~') != -1:
-                        print 'Setting $TMP to /tmp to get around problem with short path names'
-                        os.environ['TMP'] = '/tmp'
-                elif os.uname()[0] == 'Linux':
-                    cpu = os.uname()[4]
-                    if re.match("i.86", cpu):
-                        jam_build_dir = "bin.linuxx86";
-                    else:
-                        jam_build_dir = "bin.linux" + os.uname()[4]
-                elif os.uname()[0] == 'SunOS':
-                    jam_build_dir = "bin.solaris"
-                elif os.uname()[0] == 'Darwin':
-                    if os.uname()[4] == 'i386':
-                        jam_build_dir = "bin.macosxx86"
-                    else:
-                        jam_build_dir = "bin.macosxppc"
-                elif os.uname()[0] == "AIX":
-                    jam_build_dir = "bin.aix"
-                elif os.uname()[0] == "IRIX64":
-                    jam_build_dir = "bin.irix"
-                elif os.uname()[0] == "FreeBSD":
-                    jam_build_dir = "bin.freebsd"
-                elif os.uname()[0] == "OSF1":
-                    jam_build_dir = "bin.osf"
-                else:
-                    raise "Don't know directory where Jam is built for this system: " + os.name + "/" + os.uname()[0]
-            else:
-                raise "Don't know directory where Jam is built for this system: " + os.name
-
-            # Find where jam_src is located. Try for the debug version if it is
-            # lying around.
-            dirs = [os.path.join('../engine', jam_build_dir + '.debug'),
-                    os.path.join('../engine', jam_build_dir),
-                    ]
-            for d in dirs:
-                if os.path.exists(d):
-                    jam_build_dir = d
-                    break
-            else:
-                print "Cannot find built Boost.Jam"
-                sys.exit(1)
-
-        verbosity = ['-d0', '--quiet']
-        if '--verbose' in sys.argv:
-            keywords['verbose'] = True
-            verbosity = ['-d+2']
-
-        if boost_build_path is None:
-            boost_build_path = self.original_workdir + "/.."
-
-        program_list = []
-
-        if '--default-bjam' in sys.argv:
-            program_list.append(executable)
-            inpath_bjam = True
-        else:
-            program_list.append(os.path.join(jam_build_dir, executable))
-            inpath_bjam = None
-        program_list.append('-sBOOST_BUILD_PATH="' + boost_build_path + '"')
-        if verbosity:
-            program_list += verbosity
-        if arguments:
-            program_list += arguments.split(" ")
-
-        TestCmd.TestCmd.__init__(
-            self
-            , program=program_list
-            , match=match
-            , workdir=workdir
-            , inpath=inpath_bjam
-            , **keywords)
-
-        os.chdir(self.workdir)
-
-    def cleanup(self):
-        try:
-            TestCmd.TestCmd.cleanup(self)
-            os.chdir(self.original_workdir)
-        except AttributeError:
-            # When this is called during TestCmd.TestCmd.__del__ we can have
-            # both 'TestCmd' and 'os' unavailable in our scope. Do nothing in
-            # this case.
-            pass
-
-    #
-    # Methods that change the working directory's content.
-    #
-    def set_tree(self, tree_location):
-        # It is not possible to remove the current directory.
-        d = os.getcwd()
-        os.chdir(os.path.dirname(self.workdir))
-        shutil.rmtree(self.workdir, ignore_errors=False)
-
-        if not os.path.isabs(tree_location):
-            tree_location = os.path.join(self.original_workdir, tree_location)
-        shutil.copytree(tree_location, self.workdir)
-
-        os.chdir(d)
-
-        def make_writable(unused, dir, entries):
-            for e in entries:
-                name = os.path.join(dir, e)
-                os.chmod(name, os.stat(name)[0] | 0222)
-
-        os.path.walk(".", make_writable, None)
-
-    def write(self, file, content):
-        self.wait_for_time_change_since_last_build()
-        nfile = self.native_file_name(file)
-        try:
-            os.makedirs(os.path.dirname(nfile))
-        except Exception, e:
-            pass
-        open(nfile, "wb").write(content)
-
-    def rename(self, old, new):
-        try:
-            os.makedirs(os.path.dirname(new))
-        except:
-            pass
-
-        try:
-            os.remove(new)
-        except:
-            pass
-
-        os.rename(old, new)
-        self.touch(new);
-
-    def copy(self, src, dst):
-        self.wait_for_time_change_since_last_build()
-        try:
-            self.write(dst, self.read(src, 1))
-        except:
-            self.fail_test(1)
-
-    def copy_preserving_timestamp(self, src, dst):
-        src_name = self.native_file_name(src)
-        dst_name = self.native_file_name(dst)
-        stats = os.stat(src_name)
-        self.write(dst, self.read(src, 1))
-        os.utime(dst_name, (stats.st_atime, stats.st_mtime))
-
-    def touch(self, names):
-        self.wait_for_time_change_since_last_build()
-        for name in self.adjust_names(names):
-            os.utime(self.native_file_name(name), None)
-
-    def rm(self, names):
-        self.wait_for_time_change_since_last_build()
-        if not type(names) == types.ListType:
-            names = [names]
-
-        # Avoid attempts to remove the current directory.
-        os.chdir(self.original_workdir)
-        for name in names:
-            n = self.native_file_name(name)
-            n = glob.glob(n)
-            if n: n = n[0]
-            if not n:
-                n = self.glob_file(string.replace(name, "$toolset", self.toolset+"*"))
-            if n:
-                if os.path.isdir(n):
-                    shutil.rmtree(n, ignore_errors=False)
-                else:
-                    os.unlink(n)
-
-        # Create working dir root again in case we removed it.
-        if not os.path.exists(self.workdir):
-            os.mkdir(self.workdir)
-        os.chdir(self.workdir)
-
-    def expand_toolset(self, name):
-        """Expands $toolset in the given file to tested toolset.
-        """
-        content = self.read(name)
-        content = string.replace(content, "$toolset", self.toolset)
-        self.write(name, content)
-
-    def dump_stdio(self):
-        annotation("STDOUT", self.stdout())
-        annotation("STDERR", self.stderr())
-
-    #
-    #   FIXME: Large portion copied from TestSCons.py, should be moved?
-    #
-    def run_build_system(self, extra_args="", subdir="", stdout=None, stderr="",
-        status=0, match=None, pass_toolset=None, use_test_config=None,
-        ignore_toolset_requirements=None, expected_duration=None, **kw):
-
-        self.last_build_time_start = time.time()
-
-        try:
-            if os.path.isabs(subdir):
-                if stderr:
-                    print "You must pass a relative directory to subdir <"+subdir+">."
-                status = 1
-                return
-
-            self.previous_tree = tree.build_tree(self.workdir)
-
-            if match is None:
-                match = self.match
-
-            if pass_toolset is None:
-                pass_toolset = self.pass_toolset
-
-            if use_test_config is None:
-                use_test_config = self.use_test_config
-
-            if ignore_toolset_requirements is None:
-                ignore_toolset_requirements = self.ignore_toolset_requirements
-
-            try:
-                kw['program'] = []
-                kw['program'] += self.program
-                if extra_args:
-                    kw['program'] += extra_args.split(" ")
-                if pass_toolset:
-                    kw['program'].append("toolset=" + self.toolset)
-                if use_test_config:
-                    kw['program'].append('--test-config="%s"'
-                        % os.path.join(self.original_workdir, "test-config.jam"))
-                if ignore_toolset_requirements:
-                    kw['program'].append("--ignore-toolset-requirements")
-                if "--python" in sys.argv:
-                    kw['program'].append("--python")
-                kw['chdir'] = subdir
-                self.last_program_invocation = kw['program']
-                apply(TestCmd.TestCmd.run, [self], kw)
-            except:
-                self.dump_stdio()
-                raise
-        finally:
-            self.last_build_time_finish = time.time()
-
-        if (status != None) and _failed(self, status):
-            expect = ''
-            if status != 0:
-                expect = " (expected %d)" % status
-
-            annotation("failure", '"%s" returned %d%s'
-                % (kw['program'], _status(self), expect))
-            
-            annotation("reason", "unexpected status returned by bjam")
-            self.fail_test(1)
-
-        if not (stdout is None) and not match(self.stdout(), stdout):
-            annotation("failure", "Unexpected stdout")
-            annotation("Expected STDOUT", stdout)
-            annotation("Actual STDOUT", self.stdout())
-            stderr = self.stderr()
-            if stderr:
-                annotation("STDERR", stderr)
-            self.maybe_do_diff(self.stdout(), stdout)
-            self.fail_test(1, dump_stdio=False)
-
-        # Intel tends to produce some messages to stderr which make tests fail.
-        intel_workaround = re.compile("^xi(link|lib): executing.*\n", re.M)
-        actual_stderr = re.sub(intel_workaround, "", self.stderr())
-
-        if not (stderr is None) and not match(actual_stderr, stderr):
-            annotation("failure", "Unexpected stderr")
-            annotation("Expected STDERR", stderr)
-            annotation("Actual STDERR", self.stderr())
-            annotation("STDOUT", self.stdout())
-            self.maybe_do_diff(actual_stderr, stderr)
-            self.fail_test(1, dump_stdio=False)
-
-        if not expected_duration is None:
-            actual_duration = self.last_build_time_finish - self.last_build_time_start 
-            if (actual_duration > expected_duration):
-                print "Test run lasted %f seconds while it was expected to " \
-                    "finish in under %f seconds." % (actual_duration,
-                    expected_duration)
-                self.fail_test(1, dump_stdio=False)
-
-        self.tree = tree.build_tree(self.workdir)
-        self.difference = tree.trees_difference(self.previous_tree, self.tree)
-        self.difference.ignore_directories()
-        self.unexpected_difference = copy.deepcopy(self.difference)
-
-    def glob_file(self, name):
-        result = None
-        if hasattr(self, 'difference'):
-            for f in self.difference.added_files+self.difference.modified_files+self.difference.touched_files:
-                if fnmatch.fnmatch(f, name):
-                    result = self.native_file_name(f)
-                    break
-        if not result:
-            result = glob.glob(self.native_file_name(name))
-            if result:
-                result = result[0]
-        return result
-
-    def read(self, name, binary=False):
-        try:
-            if self.toolset:
-                name = string.replace(name, "$toolset", self.toolset+"*")
-            name = self.glob_file(name)
-            openMode = "r"
-            if binary:
-                openMode += "b"
-            else:
-                openMode += "U"
-            return open(name, openMode).read()
-        except:
-            annotation("failure", "Could not open '%s'" % name)
-            self.fail_test(1)
-            return ''
-
-    def read_and_strip(self, name):
-        if not self.glob_file(name):
-            return ''
-        f = open(self.glob_file(name), "rb")
-        lines = f.readlines()
-        result = string.join(map(string.rstrip, lines), "\n")
-        if lines and lines[-1][-1] == '\n':
-            return result + '\n'
-        else:
-            return result
-
-    def fail_test(self, condition, dump_stdio=True, *args):
-        if not condition:
-            return
-
-        if hasattr(self, 'difference'):
-            f = StringIO.StringIO()
-            self.difference.pprint(f)
-            annotation("changes caused by the last build command", f.getvalue())
-
-        if dump_stdio:
-            self.dump_stdio()
-
-        if '--preserve' in sys.argv:
-            print
-            print "*** Copying the state of working dir into 'failed_test' ***"
-            print
-            path = os.path.join(self.original_workdir, "failed_test")
-            if os.path.isdir(path):
-                shutil.rmtree(path, ignore_errors=False)
-            elif os.path.exists(path):
-                raise "Path " + path + " already exists and is not a directory";
-            shutil.copytree(self.workdir, path)
-            print "The failed command was:"
-            print ' '.join(self.last_program_invocation)
-
-        at = TestCmd.caller(traceback.extract_stack(), 0)
-        annotation("stacktrace", at)
-        sys.exit(1)
-
-    # A number of methods below check expectations with actual difference
-    # between directory trees before and after a build. All the 'expect*'
-    # methods require exact names to be passed. All the 'ignore*' methods allow
-    # wildcards.
-
-    # All names can be lists, which are taken to be directory components.
-    def expect_addition(self, names):
-        for name in self.adjust_names(names):
-            try:
-                glob_remove(self.unexpected_difference.added_files, name)
-            except:
-                annotation("failure", "File %s not added as expected" % name)
-                self.fail_test(1)
-
-    def ignore_addition(self, wildcard):
-        self.ignore_elements(self.unexpected_difference.added_files, wildcard)
-
-    def expect_removal(self, names):
-        for name in self.adjust_names(names):
-            try:
-                glob_remove(self.unexpected_difference.removed_files, name)
-            except:
-                annotation("failure", "File %s not removed as expected" % name)
-                self.fail_test(1)
-
-    def ignore_removal(self, wildcard):
-        self.ignore_elements(self.unexpected_difference.removed_files, wildcard)
-
-    def expect_modification(self, names):
-        for name in self.adjust_names(names):
-            try:
-                glob_remove(self.unexpected_difference.modified_files, name)
-            except:
-                annotation("failure", "File %s not modified as expected" % name)
-                self.fail_test(1)
-
-    def ignore_modification(self, wildcard):
-        self.ignore_elements(self.unexpected_difference.modified_files, \
-            wildcard)
-
-    def expect_touch(self, names):
-        d = self.unexpected_difference
-        for name in self.adjust_names(names):
-            # We need to check both touched and modified files. The reason is
-            # that:
-            #   (1) Windows binaries such as obj, exe or dll files have slight
-            #       differences even with identical inputs due to Windows PE
-            #       format headers containing an internal timestamp.
-            #   (2) Intel's compiler for Linux has the same behaviour.
-            filesets = [d.modified_files, d.touched_files]
-
-            while filesets:
-                try:
-                    glob_remove(filesets[-1], name)
-                    break
-                except ValueError:
-                    filesets.pop()
-
-            if not filesets:
-                annotation("failure", "File %s not touched as expected" % name)
-                self.fail_test(1)
-
-    def ignore_touch(self, wildcard):
-        self.ignore_elements(self.unexpected_difference.touched_files, wildcard)
-
-    def ignore(self, wildcard):
-        self.ignore_elements(self.unexpected_difference.added_files, wildcard)
-        self.ignore_elements(self.unexpected_difference.removed_files, wildcard)
-        self.ignore_elements(self.unexpected_difference.modified_files, wildcard)
-        self.ignore_elements(self.unexpected_difference.touched_files, wildcard)
-
-    def expect_nothing(self, names):
-        for name in self.adjust_names(names):
-            if name in self.difference.added_files:
-                annotation("failure",
-                    "File %s added, but no action was expected" % name)
-                self.fail_test(1)
-            if name in self.difference.removed_files:
-                annotation("failure",
-                    "File %s removed, but no action was expected" % name)
-                self.fail_test(1)
-                pass
-            if name in self.difference.modified_files:
-                annotation("failure",
-                    "File %s modified, but no action was expected" % name)
-                self.fail_test(1)
-            if name in self.difference.touched_files:
-                annotation("failure",
-                    "File %s touched, but no action was expected" % name)
-                self.fail_test(1)
-
-    def expect_nothing_more(self):
-        # Not totally sure about this change, but I do not see a good
-        # alternative.
-        if windows:
-            self.ignore('*.ilk')       # MSVC incremental linking files.
-            self.ignore('*.pdb')       # MSVC program database files.
-            self.ignore('*.rsp')       # Response files.
-            self.ignore('*.tds')       # Borland debug symbols.
-            self.ignore('*.manifest')  # MSVC DLL manifests.            
-
-        # Debug builds of bjam built with gcc produce this profiling data.
-        self.ignore('gmon.out')
-        self.ignore('*/gmon.out')
-
-        self.ignore("bin/config.log")
-
-        self.ignore("*.pyc")
-
-        if not self.unexpected_difference.empty():
-            annotation('failure', 'Unexpected changes found')
-            output = StringIO.StringIO()
-            self.unexpected_difference.pprint(output)
-            annotation("unexpected changes", output.getvalue())
-            self.fail_test(1)
-
-    def __expect_line(self, content, expected, expected_to_exist):
-        expected = expected.strip()
-        lines = content.splitlines()
-        found = False
-        for line in lines:
-            line = line.strip()
-            if fnmatch.fnmatch(line, expected):
-                found = True
-                break
-
-        if expected_to_exist and not found:
-            annotation("failure",
-                "Did not find expected line:\n%s\nin output:\n%s" %
-                (expected, content))
-            self.fail_test(1)
-        if not expected_to_exist and found:
-            annotation("failure",
-                "Found an unexpected line:\n%s\nin output:\n%s" %
-                (expected, content))
-            self.fail_test(1)
-
-    def expect_output_line(self, line, expected_to_exist=True):
-        self.__expect_line(self.stdout(), line, expected_to_exist)
-
-    def expect_content_line(self, name, line, expected_to_exist=True):
-        content = self.__read_file(name)
-        self.__expect_line(content, line, expected_to_exist)
-
-    def __read_file(self, name, exact=False):
-        name = self.adjust_names(name)[0]
-        result = ""
-        try:
-            if exact:
-                result = self.read(name)
-            else:
-                result = string.replace(self.read_and_strip(name), "\\", "/")
-        except (IOError, IndexError):
-            print "Note: could not open file", name
-            self.fail_test(1)
-        return result
-
-    def expect_content(self, name, content, exact=False):
-        actual = self.__read_file(name, exact)
-        content = string.replace(content, "$toolset", self.toolset+"*")
-
-        matched = False
-        if exact:
-            matched = fnmatch.fnmatch(actual, content)
-        else:
-            def sorted_(x):
-                x.sort()
-                return x
-            actual_ = map(lambda x: sorted_(x.split()), actual.splitlines())
-            content_ = map(lambda x: sorted_(x.split()), content.splitlines())
-            if len(actual_) == len(content_):
-                matched = map(
-                    lambda x, y: map(lambda n, p: fnmatch.fnmatch(n, p), x, y),
-                    actual_, content_)
-                matched = reduce(
-                    lambda x, y: x and reduce(
-                        lambda a, b: a and b,
-                    y),
-                    matched)
-
-        if not matched:
-            print "Expected:\n"
-            print content
-            print "Got:\n"
-            print actual
-            self.fail_test(1)
-
-    def maybe_do_diff(self, actual, expected):
-        if os.environ.has_key("DO_DIFF") and os.environ["DO_DIFF"] != '':
-            e = tempfile.mktemp("expected")
-            a = tempfile.mktemp("actual")
-            open(e, "w").write(expected)
-            open(a, "w").write(actual)
-            print "DIFFERENCE"
-            if os.system("diff -u " + e + " " + a):
-                print "Unable to compute difference: diff -u %s %s" % (e, a)
-            os.unlink(e)
-            os.unlink(a)
-        else:
-            print "Set environmental variable 'DO_DIFF' to examine difference."
-
-    # Helpers.
-    def mul(self, *arguments):
-        if len(arguments) == 0:
-            return None
-
-        here = arguments[0]
-        if type(here) == type(''):
-            here = [here]
-
-        if len(arguments) > 1:
-            there = apply(self.mul, arguments[1:])
-            result = []
-            for i in here:
-                for j in there:
-                    result.append(i + j)
-            return result
-
-        return here
-
-    # Internal methods.
-    def ignore_elements(self, list, wildcard):
-        """Removes in-place, element of 'list' that match the given wildcard.
-        """
-        list[:] = filter(lambda x, w=wildcard: not fnmatch.fnmatch(x, w), list)
-
-    def adjust_lib_name(self, name):
-        global lib_prefix
-        result = name
-
-        pos = string.rfind(name, ".")
-        if pos != -1:
-            suffix = name[pos:]
-            if suffix == ".lib":
-                (head, tail) = os.path.split(name)
-                if lib_prefix:
-                    tail = "lib" + tail
-                    result = os.path.join(head, tail)
-            elif suffix == ".dll":
-                (head, tail) = os.path.split(name)
-                if dll_prefix:
-                    tail = "lib" + tail
-                    result = os.path.join(head, tail)
-        # If we want to use this name in a Jamfile, we better convert \ to /, as
-        # otherwise we would have to quote \.
-        result = string.replace(result, "\\", "/")
-        return result
-
-    def adjust_suffix(self, name):
-        if not self.translate_suffixes:
-            return name
-
-        pos = string.rfind(name, ".")
-        if pos != -1:
-            suffix = name[pos:]
-            name = name[:pos]
-
-            if suffixes.has_key(suffix):
-                suffix = suffixes[suffix]
-        else:
-            suffix = ''
-
-        return name + suffix
-
-    # Acceps either a string or a list of strings and returns a list of strings.
-    # Adjusts suffixes on all names.
-    def adjust_names(self, names):
-        if type(names) == types.StringType:
-            names = [names]
-        r = map(self.adjust_lib_name, names)
-        r = map(self.adjust_suffix, r)
-        r = map(lambda x, t=self.toolset: string.replace(x, "$toolset", t+"*"), r)
-        return r
-
-    def native_file_name(self, name):
-        name = self.adjust_names(name)[0]
-        elements = string.split(name, "/")
-        return os.path.normpath(apply(os.path.join, [self.workdir]+elements))
-
-    # Wait while time is no longer equal to the time last "run_build_system"
-    # call finished. Used to avoid subsequent builds treating existing files as
-    # 'current'.
-    def wait_for_time_change_since_last_build(self):
-        while 1:
-            # In fact, I'm not sure why "+ 2" as opposed to "+ 1" is needed but
-            # empirically, "+ 1" sometimes causes 'touch' and other functions
-            # not to bump the file time enough for a rebuild to happen.
-            if math.floor(time.time()) < math.floor(self.last_build_time_finish) + 2:
-                time.sleep(0.1)
-            else:
-                break
-
-
-class List:
-
-    def __init__(self, s=""):
-        elements = []
-        if isinstance(s, type("")):
-            # Have to handle espaced spaces correctly.
-            s = string.replace(s, "\ ", '\001')
-            elements = string.split(s)
-        else:
-            elements = s;
-
-        self.l = []
-        for e in elements:
-            self.l.append(string.replace(e, '\001', ' '))
-
-    def __len__(self):
-        return len(self.l)
-
-    def __getitem__(self, key):
-        return self.l[key]
-
-    def __setitem__(self, key, value):
-        self.l[key] = value
-
-    def __delitem__(self, key):
-        del self.l[key]
-
-    def __str__(self):
-        return str(self.l)
-
-    def __repr__(self):
-        return (self.__module__ + '.List('
-                 + repr(string.join(self.l, ' '))
-                 + ')')
-
-    def __mul__(self, other):
-        result = List()
-        if not isinstance(other, List):
-            other = List(other)
-        for f in self:
-            for s in other:
-                result.l.append(f + s)
-        return result
-
-    def __rmul__(self, other):
-        if not isinstance(other, List):
-            other = List(other)
-        return List.__mul__(other, self)
-
-    def __add__(self, other):
-        result = List()
-        result.l = self.l[:] + other.l[:]
-        return result
-
-# Quickie tests. Should use doctest instead.
-if __name__ == '__main__':
-    assert str(List("foo bar") * "/baz") == "['foo/baz', 'bar/baz']"
-    assert repr("foo/" * List("bar baz")) == "__main__.List('foo/bar foo/baz')"
-    print 'tests passed'
diff --git a/SRC/Boost/tools/build/v2/test/Jamrules b/SRC/Boost/tools/build/v2/test/Jamrules
deleted file mode 100755
index 4844a87..0000000
--- a/SRC/Boost/tools/build/v2/test/Jamrules
+++ /dev/null
@@ -1,4 +0,0 @@
-# This simple Jamrules file is used for the Boost.Build test project.
-
-# The testing framework itself gets no boost-Jambase
-BOOST_JAMBASE = empty.jam ;
diff --git a/SRC/Boost/tools/build/v2/test/TestCmd.py b/SRC/Boost/tools/build/v2/test/TestCmd.py
deleted file mode 100755
index 4cf4ae0..0000000
--- a/SRC/Boost/tools/build/v2/test/TestCmd.py
+++ /dev/null
@@ -1,651 +0,0 @@
-"""
-TestCmd.py:  a testing framework for commands and scripts.
-
-The TestCmd module provides a framework for portable automated testing of
-executable commands and scripts (in any language, not just Python), especially
-commands and scripts that require file system interaction.
-
-In addition to running tests and evaluating conditions, the TestCmd module
-manages and cleans up one or more temporary workspace directories, and provides
-methods for creating files and directories in those workspace directories from
-in-line data, here-documents), allowing tests to be completely self-contained.
-
-A TestCmd environment object is created via the usual invocation:
-
-    test = TestCmd()
-
-The TestCmd module provides pass_test(), fail_test(), and no_result() unbound
-methods that report test results for use with the Aegis change management
-system. These methods terminate the test immediately, reporting PASSED, FAILED
-or NO RESULT respectively and exiting with status 0 (success), 1 or 2
-respectively. This allows for a distinction between an actual failed test and a
-test that could not be properly evaluated because of an external condition (such
-as a full file system or incorrect permissions).
-"""
-
-# Copyright 2000 Steven Knight
-# This module is free software, and you may redistribute it and/or modify
-# it under the same terms as Python itself, so long as this copyright message
-# and disclaimer are retained in their original form.
-#
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
-# SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
-# THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-# DAMAGE.
-#
-# THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-# PARTICULAR PURPOSE.  THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS,
-# AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
-# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-
-# Copyright 2002-2003 Vladimir Prus.
-# Copyright 2002-2003 Dave Abrahams.
-# Copyright 2006 Rene Rivera.
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#         http://www.boost.org/LICENSE_1_0.txt)
-
-
-from string import join, split
-
-__author__ = "Steven Knight <knight at baldmt.com>"
-__revision__ = "TestCmd.py 0.D002 2001/08/31 14:56:12 software"
-__version__ = "0.02"
-
-from types import *
-
-import os
-import os.path
-import popen2
-import re
-import shutil
-import stat
-import sys
-import tempfile
-import traceback
-
-
-tempfile.template = 'testcmd.'
-
-_Cleanup = []
-
-def _clean():
-    global _Cleanup
-    list = _Cleanup[:]
-    _Cleanup = []
-    list.reverse()
-    for test in list:
-        test.cleanup()
-
-sys.exitfunc = _clean
-
-
-def caller(tblist, skip):
-    string = ""
-    arr = []
-    for file, line, name, text in tblist:
-        if file[-10:] == "TestCmd.py":
-                break
-        arr = [(file, line, name, text)] + arr
-    atfrom = "at"
-    for file, line, name, text in arr[skip:]:
-        if name == "?":
-            name = ""
-        else:
-            name = " (" + name + ")"
-        string = string + ("%s line %d of %s%s\n" % (atfrom, line, file, name))
-        atfrom = "\tfrom"
-    return string
-
-
-def fail_test(self=None, condition=True, function=None, skip=0):
-    """Cause the test to fail.
-
-    By default, the fail_test() method reports that the test FAILED and exits
-    with a status of 1. If a condition argument is supplied, the test fails only
-    if the condition is true.
-    """
-    if not condition:
-        return
-    if not function is None:
-        function()
-    of = ""
-    desc = ""
-    sep = " "
-    if not self is None:
-        if self.program:
-            of = " of " + join(self.program, " ")
-            sep = "\n\t"
-        if self.description:
-            desc = " [" + self.description + "]"
-            sep = "\n\t"
-
-    at = caller(traceback.extract_stack(), skip)
-
-    sys.stderr.write("FAILED test" + of + desc + sep + at + """
-in directory: """ + os.getcwd() )
-    sys.exit(1)
-
-
-def no_result(self=None, condition=True, function=None, skip=0):
-    """Causes a test to exit with no valid result.
-
-    By default, the no_result() method reports NO RESULT for the test and exits
-    with a status of 2. If a condition argument is supplied, the test fails only
-    if the condition is true.
-    """
-    if not condition:
-        return
-    if not function is None:
-        function()
-    of = ""
-    desc = ""
-    sep = " "
-    if not self is None:
-        if self.program:
-            of = " of " + self.program
-            sep = "\n\t"
-        if self.description:
-            desc = " [" + self.description + "]"
-            sep = "\n\t"
-
-    at = caller(traceback.extract_stack(), skip)
-    sys.stderr.write("NO RESULT for test" + of + desc + sep + at)
-    sys.exit(2)
-
-
-def pass_test(self=None, condition=True, function=None):
-    """Causes a test to pass.
-
-    By default, the pass_test() method reports PASSED for the test and exits
-    with a status of 0. If a condition argument is supplied, the test passes
-    only if the condition is true.
-    """
-    if not condition:
-        return
-    if not function is None:
-        function()
-    sys.stderr.write("PASSED\n")
-    sys.exit(0)
-
-
-def match_exact(lines=None, matches=None):
-    """Returns whether the given lists or strings containing lines separated
-    using newline characters contain exactly the same data.
-    """
-    if not type(lines) is ListType:
-        lines = split(lines, "\n")
-    if not type(matches) is ListType:
-        matches = split(matches, "\n")
-    if len(lines) != len(matches):
-        return
-    for i in range(len(lines)):
-        if lines[i] != matches[i]:
-            return
-    return 1
-
-
-def match_re(lines=None, res=None):
-    """Given lists or strings contain lines separated using newline characters.
-    This function matches those lines one by one, interpreting the lines in the
-    res parameter as regular expressions.
-    """
-    if not type(lines) is ListType:
-        lines = split(lines, "\n")
-    if not type(res) is ListType:
-        res = split(res, "\n")
-    if len(lines) != len(res):
-        return
-    for i in range(len(lines)):
-        if not re.compile("^" + res[i] + "$").search(lines[i]):
-            return
-    return 1
-
-
-class TestCmd:
-    """Class TestCmd.
-    """
-
-    def __init__(self, description=None, program=None, workdir=None,
-        subdir=None, verbose=False, match=None, inpath=None):
-
-        self._cwd = os.getcwd()
-        self.description_set(description)
-        if inpath:
-            self.program = program
-        else:
-            self.program_set(program)
-        self.verbose_set(verbose)
-        if not match is None:
-            self.match_func = match
-        else:
-            self.match_func = match_re
-        self._dirlist = []
-        self._preserve = {'pass_test': 0, 'fail_test': 0, 'no_result': 0}
-        if os.environ.has_key('PRESERVE') and not os.environ['PRESERVE'] is '':
-            self._preserve['pass_test'] = os.environ['PRESERVE']
-            self._preserve['fail_test'] = os.environ['PRESERVE']
-            self._preserve['no_result'] = os.environ['PRESERVE']
-        else:
-            try:
-                self._preserve['pass_test'] = os.environ['PRESERVE_PASS']
-            except KeyError:
-                pass
-            try:
-                self._preserve['fail_test'] = os.environ['PRESERVE_FAIL']
-            except KeyError:
-                pass
-            try:
-                self._preserve['no_result'] = os.environ['PRESERVE_NO_RESULT']
-            except KeyError:
-                pass
-        self._stdout = []
-        self._stderr = []
-        self.status = None
-        self.condition = 'no_result'
-        self.workdir_set(workdir)
-        self.subdir(subdir)
-
-    def __del__(self):
-        self.cleanup()
-
-    def __repr__(self):
-        return "%x" % id(self)
-
-    def cleanup(self, condition=None):
-        """Removes any temporary working directories for the specified TestCmd
-        environment. If the environment variable PRESERVE was set when the
-        TestCmd environment was created, temporary working directories are not
-        removed. If any of the environment variables PRESERVE_PASS,
-        PRESERVE_FAIL or PRESERVE_NO_RESULT were set when the TestCmd
-        environment was created, then temporary working directories are not
-        removed if the test passed, failed or had no result, respectively.
-        Temporary working directories are also preserved for conditions
-        specified via the preserve method.
-
-        Typically, this method is not called directly, but is used when the
-        script exits to clean up temporary working directories as appropriate
-        for the exit status.
-        """
-        if not self._dirlist:
-            return
-        if condition is None:
-            condition = self.condition
-        if self._preserve[condition]:
-            for dir in self._dirlist:
-                print "Preserved directory", dir
-        else:
-            list = self._dirlist[:]
-            list.reverse()
-            for dir in list:
-                self.writable(dir, 1)
-                shutil.rmtree(dir, ignore_errors = 1)
-
-        self._dirlist = []
-        self.workdir = None
-        os.chdir(self._cwd)
-        try:
-            global _Cleanup
-            _Cleanup.remove(self)
-        except (AttributeError, ValueError):
-            pass
-
-    def description_set(self, description):
-        """Set the description of the functionality being tested.
-        """
-        self.description = description
-
-    def fail_test(self, condition=True, function=None, skip=0):
-        """Cause the test to fail.
-        """
-        if not condition:
-            return
-        self.condition = 'fail_test'
-        fail_test(self = self,
-                  condition = condition,
-                  function = function,
-                  skip = skip)
-
-    def match(self, lines, matches):
-        """Compare actual and expected file contents.
-        """
-        return self.match_func(lines, matches)
-
-    def match_exact(self, lines, matches):
-        """Compare actual and expected file contents.
-        """
-        return match_exact(lines, matches)
-
-    def match_re(self, lines, res):
-        """Compare actual and expected file contents.
-        """
-        return match_re(lines, res)
-
-    def no_result(self, condition=True, function=None, skip=0):
-        """Report that the test could not be run.
-        """
-        if not condition:
-            return
-        self.condition = 'no_result'
-        no_result(self = self,
-                  condition = condition,
-                  function = function,
-                  skip = skip)
-
-    def pass_test(self, condition=True, function=None):
-        """Cause the test to pass.
-        """
-        if not condition:
-            return
-        self.condition = 'pass_test'
-        pass_test(self = self, condition = condition, function = function)
-
-    def preserve(self, *conditions):
-        """Arrange for the temporary working directories for the specified
-        TestCmd environment to be preserved for one or more conditions. If no
-        conditions are specified, arranges for the temporary working directories
-        to be preserved for all conditions.
-        """
-        if conditions is ():
-            conditions = ('pass_test', 'fail_test', 'no_result')
-        for cond in conditions:
-            self._preserve[cond] = 1
-
-    def program_set(self, program):
-        """Set the executable program or script to be tested.
-        """
-        if program and program[0] and not os.path.isabs(program[0]):
-            program[0] = os.path.join(self._cwd, program[0])
-        self.program = program
-
-    def read(self, file, mode='rb'):
-        """Reads and returns the contents of the specified file name. The file
-        name may be a list, in which case the elements are concatenated with the
-        os.path.join() method. The file is assumed to be under the temporary
-        working directory unless it is an absolute path name. The I/O mode for
-        the file may be specified; it must begin with an 'r'. The default is
-        'rb' (binary read).
-        """
-        if type(file) is ListType:
-            file = apply(os.path.join, tuple(file))
-        if not os.path.isabs(file):
-            file = os.path.join(self.workdir, file)
-        if mode[0] != 'r':
-            raise ValueError, "mode must begin with 'r'"
-        return open(file, mode).read()
-
-    def run(self, program=None, arguments=None, chdir=None, stdin=None):
-        """Runs a test of the program or script for the test environment.
-        Standard output and error output are saved for future retrieval via the
-        stdout() and stderr() methods.
-        """
-        if chdir:
-            oldcwd = os.getcwd()
-            if not os.path.isabs(chdir):
-                chdir = os.path.join(self.workpath(chdir))
-            if self.verbose:
-                sys.stderr.write("chdir(" + chdir + ")\n")
-            os.chdir(chdir)
-        cmd = []
-        if program and program[0]:
-            if program[0] != self.program[0] and not os.path.isabs(program[0]):
-                program[0] = os.path.join(self._cwd, program[0])
-            cmd += program
-        else:
-            cmd += self.program
-        if arguments:
-            cmd += arguments.split(" ")
-        if self.verbose:
-            sys.stderr.write(join(cmd, " ") + "\n")
-        try:
-            p = popen2.Popen3(cmd, 1)
-        except AttributeError:
-            # We end up here in case the popen2.Popen3 class is not available
-            # (e.g. on Windows). We will be using the os.popen3() Python API
-            # which takes a string parameter and so needs its executable quoted
-            # in case its name contains spaces.
-            cmd[0] = '"' + cmd[0] + '"'
-            command_string = join(cmd, " ")
-            if ( os.name == 'nt' ):
-                # This is a workaround for a longstanding Python bug on Windows
-                # when using os.popen(), os.system() and similar functions to
-                # execute a command containing quote characters. The bug seems
-                # to be related to the quote stripping functionality used by the
-                # Windows cmd.exe interpreter when its /S is not specified.
-                #
-                # Cleaned up quote from the cmd.exe help screen as displayed on
-                # Windows XP SP2:
-                #
-                #   1. If all of the following conditions are met, then quote
-                #      characters on the command line are preserved:
-                #
-                #       - no /S switch
-                #       - exactly two quote characters
-                #       - no special characters between the two quote
-                #         characters, where special is one of: &<>()@^|
-                #       - there are one or more whitespace characters between
-                #         the two quote characters
-                #       - the string between the two quote characters is the
-                #         name of an executable file.
-                #
-                #   2. Otherwise, old behavior is to see if the first character
-                #      is a quote character and if so, strip the leading
-                #      character and remove the last quote character on the
-                #      command line, preserving any text after the last quote
-                #      character.
-                #
-                # This causes some commands containing quotes not to be executed
-                # correctly. For example:
-                #
-                #   "\Long folder name\aaa.exe" --name="Jurko" --no-surname
-                #
-                # would get its outermost quotes stripped and would be executed
-                # as:
-                #
-                #   \Long folder name\aaa.exe" --name="Jurko --no-surname
-                #
-                # which would report an error about '\Long' not being a valid
-                # command.
-                #
-                # cmd.exe help seems to indicate it would be enough to add an
-                # extra space character in front of the command to avoid this
-                # but this does not work, most likely due to the shell first
-                # stripping all leading whitespace characters from the command.
-                #
-                # Solution implemented here is to quote the whole command in
-                # case it contains any quote characters. Note thought this will
-                # not work correctly should Python ever fix this bug.
-                #                                    (01.05.2008.) (Jurko)
-                if command_string.find('"') != -1:
-                    command_string = '"' + command_string + '"'
-            (tochild, fromchild, childerr) = os.popen3(command_string)
-            if stdin:
-                if type(stdin) is ListType:
-                    for line in stdin:
-                        tochild.write(line)
-                else:
-                    tochild.write(stdin)
-            tochild.close()
-            self._stdout.append(fromchild.read())
-            self._stderr.append(childerr.read())
-            fromchild.close()
-            self.status = childerr.close()
-            if not self.status:
-                self.status = 0
-        except:
-            raise
-        else:
-            if stdin:
-                if type(stdin) is ListType:
-                    for line in stdin:
-                        p.tochild.write(line)
-                else:
-                    p.tochild.write(stdin)
-            p.tochild.close()
-            self._stdout.append(p.fromchild.read())
-            self._stderr.append(p.childerr.read())
-            self.status = p.wait()
-
-        if self.verbose:
-            sys.stdout.write(self._stdout[-1])
-            sys.stderr.write(self._stderr[-1])
-
-        if chdir:
-            os.chdir(oldcwd)
-
-    def stderr(self, run=None):
-        """Returns the error output from the specified run number. If there is
-        no specified run number, then returns the error output of the last run.
-        If the run number is less than zero, then returns the error output from
-        that many runs back from the current run.
-        """
-        if not run:
-            run = len(self._stderr)
-        elif run < 0:
-            run = len(self._stderr) + run
-        run = run - 1
-        if (run < 0):
-            return ''
-        return self._stderr[run]
-
-    def stdout(self, run=None):
-        """Returns the standard output from the specified run number. If there
-        is no specified run number, then returns the standard output of the last
-        run. If the run number is less than zero, then returns the standard
-        output from that many runs back from the current run.
-        """
-        if not run:
-            run = len(self._stdout)
-        elif run < 0:
-            run = len(self._stdout) + run
-        run = run - 1
-        if (run < 0):
-            return ''
-        return self._stdout[run]
-
-    def subdir(self, *subdirs):
-        """Create new subdirectories under the temporary working directory, one
-        for each argument. An argument may be a list, in which case the list
-        elements are concatenated using the os.path.join() method.
-        Subdirectories multiple levels deep must be created using a separate
-        argument for each level:
-
-                test.subdir('sub', ['sub', 'dir'], ['sub', 'dir', 'ectory'])
-
-        Returns the number of subdirectories actually created.
-        """
-        count = 0
-        for sub in subdirs:
-            if sub is None:
-                continue
-            if type(sub) is ListType:
-                sub = apply(os.path.join, tuple(sub))
-            new = os.path.join(self.workdir, sub)
-            try:
-                os.mkdir(new)
-            except:
-                pass
-            else:
-                count = count + 1
-        return count
-
-    def unlink (self, file):
-        """Unlinks the specified file name. The file name may be a list, in
-        which case the elements are concatenated using the os.path.join()
-        method. The file is assumed to be under the temporary working directory
-        unless it is an absolute path name.
-        """
-        if type(file) is ListType:
-            file = apply(os.path.join, tuple(file))
-        if not os.path.isabs(file):
-            file = os.path.join(self.workdir, file)
-        os.unlink(file)
-
-    def verbose_set(self, verbose):
-        """Set the verbose level.
-        """
-        self.verbose = verbose
-
-    def workdir_set(self, path):
-        """Creates a temporary working directory with the specified path name.
-        If the path is a null string (''), a unique directory name is created.
-        """
-
-        if os.path.isabs(path):
-            self.workdir = path
-        else:
-            if (path != None):
-                if path == '':
-                    path = tempfile.mktemp()
-                if path != None:
-                    os.mkdir(path)
-                self._dirlist.append(path)
-                global _Cleanup
-                try:
-                    _Cleanup.index(self)
-                except ValueError:
-                    _Cleanup.append(self)
-                # We'd like to set self.workdir like this:
-                #        self.workdir = path
-                # But symlinks in the path will report things differently from
-                # os.getcwd(), so chdir there and back to fetch the canonical
-                # path.
-                cwd = os.getcwd()
-                os.chdir(path)
-                self.workdir = os.getcwd()
-                os.chdir(cwd)
-            else:
-                self.workdir = None
-
-    def workpath(self, *args):
-        """Returns the absolute path name to a subdirectory or file within the
-        current temporary working directory. Concatenates the temporary working
-        directory name with the specified arguments using the os.path.join()
-        method.
-        """
-        return apply(os.path.join, (self.workdir,) + tuple(args))
-
-    def writable(self, top, write):
-        """Make the specified directory tree writable (write == 1) or not
-        (write == None).
-        """
-
-        def _walk_chmod(arg, dirname, names):
-            st = os.stat(dirname)
-            os.chmod(dirname, arg(st[stat.ST_MODE]))
-            for name in names:
-                n = os.path.join(dirname, name)
-                st = os.stat(n)
-                os.chmod(n, arg(st[stat.ST_MODE]))
-
-        def _mode_writable(mode):
-            return stat.S_IMODE(mode|0200)
-
-        def _mode_non_writable(mode):
-            return stat.S_IMODE(mode&~0200)
-
-        if write:
-            f = _mode_writable
-        else:
-            f = _mode_non_writable
-        try:
-            os.path.walk(top, _walk_chmod, f)
-        except:
-            pass  # Ignore any problems changing modes.
-
-    def write(self, file, content, mode='wb'):
-        """Writes the specified content text (second argument) to the specified
-        file name (first argument). The file name may be a list, in which case
-        the elements are concatenated using the os.path.join() method. The file
-        is created under the temporary working directory. Any subdirectories in
-        the path must already exist. The I/O mode for the file may be specified;
-        it must begin with a 'w'. The default is 'wb' (binary write).
-        """
-        if type(file) is ListType:
-            file = apply(os.path.join, tuple(file))
-        if not os.path.isabs(file):
-            file = os.path.join(self.workdir, file)
-        if mode[0] != 'w':
-            raise ValueError, "mode must begin with 'w'"
-        open(file, mode).write(content)
diff --git a/SRC/Boost/tools/build/v2/test/abs_workdir.py b/SRC/Boost/tools/build/v2/test/abs_workdir.py
deleted file mode 100755
index f44d95d..0000000
--- a/SRC/Boost/tools/build/v2/test/abs_workdir.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# Niklaus Giger, 2005-03-15
-# Testing whether we may run a test in absolute directories. There are no tests
-# for temporary directories as this is implictly tested in a lot of other cases.
-
-import BoostBuild
-import os
-import string
-
-t = BoostBuild.Tester(arguments="pwd", executable="jam", workdir=os.getcwd(),
-    pass_toolset=0)
-
-t.write("jamroot.jam", """
-actions print_pwd { pwd ; }
-print_pwd pwd ;
-ALWAYS pwd ;
-""")
-
-t.run_build_system(status=0)
-
-if 'TMP' in os.environ:
-  tmp_dir = os.environ.get('TMP')
-else:
-  tmp_dir = "/tmp"
-
-if string.rfind(t.stdout(), tmp_dir) != -1:
-    t.fail_test(1)
-
-if string.rfind(t.stdout(), 'build/v2/test') == -1:
-    t.fail_test(1)
-
-t.run_build_system(status=1, subdir="/must/fail/with/absolute/path",
-    stderr=None)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/absolute_sources.py b/SRC/Boost/tools/build/v2/test/absolute_sources.py
deleted file mode 100755
index 34408c6..0000000
--- a/SRC/Boost/tools/build/v2/test/absolute_sources.py
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003, 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that sources with absolute names are handled OK.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-path-constant TOP : . ;
-""")
-
-t.write("jamfile.jam", """
-local pwd = [ PWD ] ;
-ECHO $(pwd) XXXXX ;
-exe hello : $(pwd)/hello.cpp $(TOP)/empty.cpp ;
-""")
-
-t.write("hello.cpp", "int main() {}\n")
-
-t.write("empty.cpp", "\n")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/hello.exe")
-
-# Test a contrived case. There, absolute name is used in a standalone project
-# (not Jamfile). Moreover, the target with an absolute name is returned by
-# 'alias' and used from another project.
-t.write("a.cpp", """
-int main() {}
-""")
-
-t.write("jamfile.jam", """
-exe a : /standalone//a ;
-""")
-
-t.write("jamroot.jam", """
-import standalone ;
-""")
-
-t.write("standalone.jam", """
-import project ;
-
-project.initialize $(__name__) ;
-project standalone ;
-
-local pwd = [ PWD ] ;
-alias a : $(pwd)/a.cpp ;
-""")
-
-t.write("standalone.py", """
-from b2.manager import get_manager
-
-# FIXME: this is ugly as death
-get_manager().projects().initialize(__name__)
-
-import os ;
-
-# This use of list as parameter is also ugly.
-project(['standalone'])
-
-pwd = os.getcwd()
-alias('a', [os.path.join(pwd, 'a.cpp')])
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/a.exe")
-
-# Test absolute path in target ids.
-t.rm(".")
-
-t.write("d1/jamroot.jam", "")
-
-t.write("d1/jamfile.jam", """
-exe a : a.cpp ;
-""")
-
-t.write("d1/a.cpp", """
-int main() {}
-""")
-
-t.write("d2/jamroot.jam", "")
-
-t.write("d2/jamfile.jam", """
-local pwd = [ PWD ] ;
-alias x : $(pwd)/../d1//a ;
-""")
-
-t.run_build_system(subdir="d2")
-t.expect_addition("d1/bin/$toolset/debug/a.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/alias.py b/SRC/Boost/tools/build/v2/test/alias.py
deleted file mode 100755
index cc273af..0000000
--- a/SRC/Boost/tools/build/v2/test/alias.py
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-
-################################################################################
-#
-# test_alias_rule()
-# -----------------
-#
-################################################################################
-
-def test_alias_rule(t):
-    """Basic alias rule test.
-    """
-
-    t.write("jamroot.jam", """
-exe a : a.cpp ;
-exe b : b.cpp ;
-exe c : c.cpp ;
-
-alias bin1 : a ;
-alias bin2 : a b ;
-
-alias src : s.cpp ;
-exe hello : hello.cpp src ;
-""")
-
-    t.write("a.cpp", "int main() {}\n")
-    t.copy("a.cpp", "b.cpp")
-    t.copy("a.cpp", "c.cpp")
-    t.copy("a.cpp", "hello.cpp")
-    t.write("s.cpp", "")
-
-    # Check that targets to which "bin1" refers are updated, and only those.
-    t.run_build_system("bin1")
-    t.expect_addition(BoostBuild.List("bin/$toolset/debug/") * "a.exe a.obj")
-    t.expect_nothing_more()
-
-    # Try again with "bin2"
-    t.run_build_system("bin2")
-    t.expect_addition(BoostBuild.List("bin/$toolset/debug/") * "b.exe b.obj")
-    t.expect_nothing_more()
-
-    # Try building everything, making sure 'hello' target is created.
-    t.run_build_system()
-    t.expect_addition(BoostBuild.List("bin/$toolset/debug/") * \
-        "hello.exe hello.obj")
-    t.expect_addition("bin/$toolset/debug/s.obj")
-    t.expect_addition(BoostBuild.List("bin/$toolset/debug/") * "c.exe c.obj")
-    t.expect_nothing_more()
-
-
-################################################################################
-#
-# test_alias_source_usage_requirements()
-# --------------------------------------
-#
-################################################################################
-
-def test_alias_source_usage_requirements(t):
-    """Check whether usage requirements are propagated via "alias". In case they
-    are not, linking will fail as there will be no main() function defined
-    anywhere in the source.
-    """
-
-    t.write("jamroot.jam", """
-lib l : l.cpp : : : <define>WANT_MAIN ;
-alias la : l ;
-exe main : main.cpp la ;
-""")
-
-    t.write("l.cpp", """
-void
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-foo() {}
-""")
-
-    t.write("main.cpp", """
-#ifdef WANT_MAIN
-int main() {}
-#endif
-""")
-
-    t.run_build_system()
-
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-t = BoostBuild.Tester()
-
-test_alias_rule(t)
-test_alias_source_usage_requirements(t)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/alternatives.py b/SRC/Boost/tools/build/v2/test/alternatives.py
deleted file mode 100755
index d7e27b1..0000000
--- a/SRC/Boost/tools/build/v2/test/alternatives.py
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2003, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test main target alternatives.
-
-import BoostBuild
-import string
-
-t = BoostBuild.Tester()
-
-# Test that basic alternatives selection works.
-t.write("jamroot.jam", "")
-
-t.write("jamfile.jam", """
-exe a : a_empty.cpp ;
-exe a : a.cpp : <variant>release ;
-""")
-
-t.write("a_empty.cpp", "")
-
-t.write("a.cpp", "int main() {}\n")
-
-t.run_build_system("release")
-
-t.expect_addition("bin/$toolset/release/a.exe")
-
-# Test that alternative selection works for ordinary properties, in particular
-# user-defined.
-t.write("jamroot.jam", "")
-
-t.write("jamfile.jam", """
-import feature ;
-feature.feature X : off on : propagated ;
-exe a : b.cpp ;
-exe a : a.cpp : <X>on ;
-""")
-t.write("b.cpp", "int main() {}\n")
-
-t.rm("bin")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/b.obj")
-
-t.run_build_system("X=on")
-t.expect_addition("bin/$toolset/debug/X-on/a.obj")
-
-t.rm("bin")
-
-# Test that everything works ok even with default build.
-t.write("jamfile.jam", """
-exe a : a_empty.cpp : <variant>release ;
-exe a : a.cpp : <variant>debug ;
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/a.exe")
-
-# Test that only properties which are in build request matter for alternative
-# selection. IOW, alternative with <variant>release is better than one with
-# <variant>debug when building release version.
-t.write("jamfile.jam", """
-exe a : a_empty.cpp : <variant>debug ;
-exe a : a.cpp : <variant>release ;
-""")
-
-t.run_build_system("release")
-t.expect_addition("bin/$toolset/release/a.exe")
-
-# Test that free properties do not matter. We really do not want <cxxflags>
-# property in build request to affect alternative selection.
-t.write("jamfile.jam", """
-exe a : a_empty.cpp : <variant>debug <define>FOO <include>BAR ;
-exe a : a.cpp : <variant>release ;
-""")
-
-t.rm("bin/$toolset/release/a.exe")
-t.run_build_system("release define=FOO")
-t.expect_addition("bin/$toolset/release/a.exe")
-
-# Test that ambiguity is reported correctly.
-t.write("jamfile.jam", """
-exe a : a_empty.cpp ;
-exe a : a.cpp ;
-""")
-t.run_build_system("--no-error-backtrace", status=None)
-t.fail_test(string.find(t.stdout(), "No best alternative") == -1)
-
-# Another ambiguity test: two matches properties in one alternative are neither
-# better nor worse than a single one in another alternative.
-t.write("jamfile.jam", """
-exe a : a_empty.cpp : <optimization>off <profiling>off ;
-exe a : a.cpp : <debug-symbols>on ;
-""")
-
-t.run_build_system("--no-error-backtrace", status=None)
-t.fail_test(string.find(t.stdout(), "No best alternative") == -1)
-
-# Test that we can have alternative without sources.
-t.write("jamfile.jam", """
-alias specific-sources ;
-import feature ;
-feature.extend os : MAGIC ;
-alias specific-sources : b.cpp : <os>MAGIC ;
-exe a : a.cpp specific-sources ;
-""")
-t.rm("bin")
-t.run_build_system()
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/assert-equal.jam b/SRC/Boost/tools/build/v2/test/assert-equal.jam
deleted file mode 100755
index 96c1b92..0000000
--- a/SRC/Boost/tools/build/v2/test/assert-equal.jam
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2001 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Evaluates [ rulename arg1... : arg2... : ... : argN... ] and compares the
-# result to expected-results. If there is a mismatch, prints an error message
-# and exits.
-rule assert-equal ( expected-results *
-    : rulename a1 * :  a2 * : a3 * : a4 * : a5 * : a6 * : a7 * : a8 * : a9 * )
-{
-
-    local results = [ $(rulename) $(a1) : $(a2) : $(a3)
-                        : $(a4) : $(a5) : $(a6) : $(a7) : $(a8) ] ;
-                      
-    if $(results) != $(expected-results)
-    {
-        EXIT ******ASSERTION FAILURE******* "
-    [ $(rulename) " $(a1)
-        ": "$(a2[1]) $(a2[2-])
-        ": "$(a3[1]) $(a3[2-])
-        ": "$(a4[1]) $(a4[2-])
-        ": "$(a5[1]) $(a5[2-])
-        ": "$(a6[1]) $(a6[2-])
-        ": "$(a7[1]) $(a7[2-])
-        ": "$(a8[1]) $(a8[2-]) "]
-expected:
-    (" $(expected-results) ")
-result was:
-    (" $(results) ")"
-       ;
-    
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/test/bad_dirname.py b/SRC/Boost/tools/build/v2/test/bad_dirname.py
deleted file mode 100755
index 15fd5bf..0000000
--- a/SRC/Boost/tools/build/v2/test/bad_dirname.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Regression test: when directory of project root contained regex
-# metacharacters, Boost.Build failed to work. Bug reported by Michael Stevens.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("bad[abc]dirname/jamfile.jam", """
-""")
-
-t.write("bad[abc]dirname/jamroot.jam", """
-""")
-
-t.run_build_system(subdir="bad[abc]dirname")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/boost-build.jam b/SRC/Boost/tools/build/v2/test/boost-build.jam
deleted file mode 100755
index 66a5586..0000000
--- a/SRC/Boost/tools/build/v2/test/boost-build.jam
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 2002, 2003 Dave Abrahams 
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Assume BOOST_BUILD_PATH point to the 'test' directory.
-# We need to leave 'test' there, so that 'test-config.jam'
-# can be found, but also add parent directory, to find
-# all the other modules.
-
-BOOST_BUILD_PATH = $(BOOST_BUILD_PATH)/.. $(BOOST_BUILD_PATH) ;
-
-# Find the boost build system in the ../kernel directory.
-boost-build ../kernel ;
diff --git a/SRC/Boost/tools/build/v2/test/boostbook.py b/SRC/Boost/tools/build/v2/test/boostbook.py
deleted file mode 100755
index 1dd642e..0000000
--- a/SRC/Boost/tools/build/v2/test/boostbook.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2004, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-import string
-
-t = BoostBuild.Tester()
-
-t.set_tree("boostbook")
-
-# For some reason, the messages are sent to stderr.
-t.run_build_system()
-t.fail_test(string.find(t.stdout(), """Writing boost/A.html for refentry(boost.A)
-Writing library/reference.html for section(library.reference)
-Writing index.html for chapter(library)
-Writing docs_HTML.manifest
-""") == -1)
-t.expect_addition(["html/boost/A.html", "html/index.html"])
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/boostbook/a.hpp b/SRC/Boost/tools/build/v2/test/boostbook/a.hpp
deleted file mode 100755
index 6fdf680..0000000
--- a/SRC/Boost/tools/build/v2/test/boostbook/a.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2004, 2006 Vladimir Prus */
-/* Distributed under the Boost Software License, Version 1.0. */
-/* (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) */
-
-
-// Seems like Boostbook does like classes outside of namespaces,
-// and won't generate anything for them.
-namespace boost {
-
-/// A class
-class A {
-public:
-    /// A constructor
-    A();    
-};
-}
diff --git a/SRC/Boost/tools/build/v2/test/boostbook/docs.xml b/SRC/Boost/tools/build/v2/test/boostbook/docs.xml
deleted file mode 100755
index c2829b9..0000000
--- a/SRC/Boost/tools/build/v2/test/boostbook/docs.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
-     "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
-
-<!-- Copyright 2004 Vladimir Prus -->
-<!-- Distributed under the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) -->
-
-<library 
-    name="library"
-    dirname="librarys" id="library" 
-    xmlns:xi="http://www.w3.org/2001/XInclude">
-  <libraryinfo>
-    <author>
-      <firstname>Joe</firstname>
-      <surname>Hacker</surname>
-    </author>
-    
-    <copyright>
-      <year>7002</year>
-      <holder>Joe Hacker</holder>
-    </copyright>
-
-  </libraryinfo>
-  
-  <title>Documentation</title>
-  
-  <section>
-    <title>Introduction</title>
-
-    <para>This is introduction</para>
-    
-  </section>
-   
-  <xi:include href="autodoc.xml"/> 
-</library>
diff --git a/SRC/Boost/tools/build/v2/test/boostbook/jamroot.jam b/SRC/Boost/tools/build/v2/test/boostbook/jamroot.jam
deleted file mode 100755
index b7b21a2..0000000
--- a/SRC/Boost/tools/build/v2/test/boostbook/jamroot.jam
+++ /dev/null
@@ -1,3 +0,0 @@
-
-boostbook docs : docs.xml autodoc ;
-doxygen autodoc : [ glob *.hpp ] ;
diff --git a/SRC/Boost/tools/build/v2/test/build_dir.py b/SRC/Boost/tools/build/v2/test/build_dir.py
deleted file mode 100755
index dd0f399..0000000
--- a/SRC/Boost/tools/build/v2/test/build_dir.py
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2002, 2003, 2005 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that we can change build directory using the 'build-dir' project
-# attribute.
-
-import BoostBuild
-import string
-import os
-
-t = BoostBuild.Tester()
-
-
-# Test that top-level project can affect build dir.
-t.write("jamroot.jam", "import gcc ;")
-t.write("jamfile.jam", """
-project : build-dir build ;
-exe a : a.cpp ;
-build-project src ;
-""")
-
-t.write("a.cpp", "int main() {}\n")
-
-t.write("src/jamfile.jam", "exe b : b.cpp ; ")
-
-t.write("src/b.cpp", "int main() {}\n")
-
-t.run_build_system()
-
-t.expect_addition(["build/$toolset/debug/a.exe",
-                   "build/src/$toolset/debug/b.exe"])
-
-# Test that building from child projects work.
-t.run_build_system(subdir='src')
-t.ignore("build/config.log")
-t.expect_nothing_more()
-
-# Test that project can override build dir.
-t.write("jamfile.jam", """
-exe a : a.cpp ;
-build-project src ;
-""")
-
-t.write("src/jamfile.jam", """
-project : build-dir build ;
-exe b : b.cpp ;
-""")
-
-t.run_build_system()
-t.expect_addition(["bin/$toolset/debug/a.exe",
-                   "src/build/$toolset/debug/b.exe"])
-
-# Now test the '--build-dir' option.
-t.rm(".")
-t.write("jamroot.jam", "")
-
-# Test that we get an error when no project id is specified.
-t.run_build_system("--build-dir=foo")
-t.fail_test(string.find(t.stdout(),
-                   "warning: the --build-dir option will be ignored") == -1)
-
-t.write("jamroot.jam", """
-project foo ;
-exe a : a.cpp ;
-build-project sub ;
-""")
-t.write("a.cpp", "int main() {}\n")
-t.write("sub/jamfile.jam", "exe b : b.cpp ;\n")
-t.write("sub/b.cpp", "int main() {}\n")
-
-t.run_build_system("--build-dir=build")
-t.expect_addition(["build/foo/$toolset/debug/a.exe",
-                   "build/foo/sub/$toolset/debug/b.exe"])
-
-t.write("jamroot.jam", """
-project foo : build-dir bin.v2 ;
-exe a : a.cpp ;
-build-project sub ;
-""")
-
-t.run_build_system("--build-dir=build")
-t.expect_addition(["build/foo/bin.v2/$toolset/debug/a.exe",
-                   "build/foo/bin.v2/sub/$toolset/debug/b.exe"])
-
-# Try building in subdir. We expect that the entire build tree with be in
-# 'sub/build'. Today, I am not sure if this is what the user expects, but let it
-# be.
-t.rm('build')
-t.run_build_system("--build-dir=build", subdir="sub")
-t.expect_addition(["sub/build/foo/bin.v2/sub/$toolset/debug/b.exe"])
-
-t.write("jamroot.jam", """
-project foo : build-dir %s ;
-exe a : a.cpp ;
-build-project sub ;
-""" % string.replace(os.getcwd(), '\\', '\\\\'))
-
-t.run_build_system("--build-dir=build", status=1)
-t.fail_test(string.find(t.stdout(),
-    "Absolute directory specified via 'build-dir' project attribute") == -1)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/build_file.py b/SRC/Boost/tools/build/v2/test/build_file.py
deleted file mode 100755
index 60144c9..0000000
--- a/SRC/Boost/tools/build/v2/test/build_file.py
+++ /dev/null
@@ -1,170 +0,0 @@
-#!/usr/bin/python
-
-#  Copyright (C) Vladimir Prus 2006.
-#  Copyright (C) Jurko Gospodnetic 2008.
-#  Distributed under the Boost Software License, Version 1.0. (See
-#  accompanying file LICENSE_1_0.txt or copy at
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests that we explicitly request a file (not target) to be built by specifying
-# its name on the command line.
-
-import BoostBuild
-
-
-################################################################################
-#
-# test_building_file_from_specific_project()
-# ------------------------------------------
-#
-################################################################################
-
-def test_building_file_from_specific_project():
-    t = BoostBuild.Tester()
-
-    t.write("jamroot.jam", """
-exe hello : hello.cpp ;
-exe hello2 : hello.cpp ;
-build-project sub ;
-""")
-    t.write("hello.cpp", "int main() {}")
-    t.write("sub/jamfile.jam", """
-exe hello : hello.cpp ;
-exe hello2 : hello.cpp ;
-exe sub : hello.cpp ;
-""")
-    t.write("sub/hello.cpp", "int main() {}")
-
-    t.run_build_system("sub " + t.adjust_suffix("hello.obj"))
-    t.expect_output_line("*depends on itself*", False)
-    t.expect_addition("sub/bin/$toolset/debug/hello.obj")
-    t.expect_nothing_more()
-
-    t.cleanup()
-
-
-################################################################################
-#
-# test_building_file_from_specific_target()
-# -----------------------------------------
-#
-################################################################################
-
-def test_building_file_from_specific_target():
-    t = BoostBuild.Tester()
-
-    t.write("jamroot.jam", """
-exe hello1 : hello1.cpp ;
-exe hello2 : hello2.cpp ;
-exe hello3 : hello3.cpp ;
-""")
-    t.write("hello1.cpp", "int main() {}")
-    t.write("hello2.cpp", "int main() {}")
-    t.write("hello3.cpp", "int main() {}")
-
-    t.run_build_system("hello1 " + t.adjust_suffix("hello1.obj"))
-    t.expect_addition("bin/$toolset/debug/hello1.obj")
-    t.expect_nothing_more()
-
-    t.cleanup()
-
-
-################################################################################
-#
-# test_building_missing_file_from_specific_target()
-# -------------------------------------------------
-#
-################################################################################
-
-def test_building_missing_file_from_specific_target():
-    t = BoostBuild.Tester()
-
-    t.write("jamroot.jam", """
-exe hello1 : hello1.cpp ;
-exe hello2 : hello2.cpp ;
-exe hello3 : hello3.cpp ;
-""")
-    t.write("hello1.cpp", "int main() {}")
-    t.write("hello2.cpp", "int main() {}")
-    t.write("hello3.cpp", "int main() {}")
-
-    t.run_build_system("hello1 " + t.adjust_suffix("hello2.obj"), status=1)
-    t.expect_output_line("don't know how to make*" + t.adjust_suffix("hello2.obj"))
-    t.expect_nothing_more()
-
-    t.cleanup()
-
-
-################################################################################
-#
-# test_building_multiple_files_with_different_names()
-# ---------------------------------------------------
-#
-################################################################################
-
-def test_building_multiple_files_with_different_names():
-    t = BoostBuild.Tester()
-
-    t.write("jamroot.jam", """
-exe hello1 : hello1.cpp ;
-exe hello2 : hello2.cpp ;
-exe hello3 : hello3.cpp ;
-""")
-    t.write("hello1.cpp", "int main() {}")
-    t.write("hello2.cpp", "int main() {}")
-    t.write("hello3.cpp", "int main() {}")
-
-    t.run_build_system(
-        t.adjust_suffix("hello1.obj") + " " +
-        t.adjust_suffix("hello2.obj"))
-    t.expect_addition("bin/$toolset/debug/hello1.obj")
-    t.expect_addition("bin/$toolset/debug/hello2.obj")
-    t.expect_nothing_more()
-
-    t.cleanup()
-
-
-################################################################################
-#
-# test_building_multiple_files_with_the_same_name()
-# -------------------------------------------------
-#
-################################################################################
-
-def test_building_multiple_files_with_the_same_name():
-    t = BoostBuild.Tester()
-
-    t.write("jamroot.jam", """
-exe hello : hello.cpp ;
-exe hello2 : hello.cpp ;
-build-project sub ;
-""")
-    t.write("hello.cpp", "int main() {}")
-    t.write("sub/jamfile.jam", """
-exe hello : hello.cpp ;
-exe hello2 : hello.cpp ;
-exe sub : hello.cpp ;
-""")
-    t.write("sub/hello.cpp", "int main() {}")
-
-    t.run_build_system(t.adjust_suffix("hello.obj"))
-    t.expect_output_line("*depends on itself*", False)
-    t.expect_addition("bin/$toolset/debug/hello.obj")
-    t.expect_addition("sub/bin/$toolset/debug/hello.obj")
-    t.expect_nothing_more()
-
-    t.cleanup()
-
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-test_building_file_from_specific_project()
-test_building_file_from_specific_target()
-test_building_missing_file_from_specific_target()
-test_building_multiple_files_with_different_names()
-test_building_multiple_files_with_the_same_name()
diff --git a/SRC/Boost/tools/build/v2/test/build_no.py b/SRC/Boost/tools/build/v2/test/build_no.py
deleted file mode 100755
index f947ab3..0000000
--- a/SRC/Boost/tools/build/v2/test/build_no.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2006.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests that <build>no property prevents a target from being built.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-exe hello : hello.cpp : <variant>debug:<build>no ;
-""")
-
-t.write("hello.cpp", """
-int main() {}
-""")
-
-t.run_build_system()
-t.expect_nothing_more()
-
-t.run_build_system("release")
-t.expect_addition("bin/$toolset/release/hello.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/c_file.py b/SRC/Boost/tools/build/v2/test/c_file.py
deleted file mode 100755
index 32aed94..0000000
--- a/SRC/Boost/tools/build/v2/test/c_file.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that C files are compiled by a C compiler.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-project ;
-exe hello : hello.cpp a.c ;
-""")
-
-t.write("hello.cpp", """
-extern "C" int foo();
-int main() { return foo(); }
-""")
-
-t.write("a.c", """
-// This will not compile unless in C mode.
-int foo()
-{
-    int new = 0;
-    new = (new+1)*7;
-    return new;
-}
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/hello.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/chain.py b/SRC/Boost/tools/build/v2/test/chain.py
deleted file mode 100755
index 980d669..0000000
--- a/SRC/Boost/tools/build/v2/test/chain.py
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams 
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# This tests that :
-#  1) the 'make' correctly assigns types to produced targets
-#  2) if 'make' creates targets of type CPP, they are correctly used.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-# In order to correctly link this app, 'b.cpp', created by a 'make' rule, should
-# be compiled.
-
-t.write("jamroot.jam", "import gcc ;")
-
-t.write("jamfile.jam", r'''
-import os ;
-if [ os.name ] = NT
-{
-    actions create 
-    {
-        echo int main() {} > $(<)
-    }
-}
-else
-{
-    actions create 
-    {
-        echo "int main() {}" > $(<)
-    }
-}
-
-IMPORT $(__name__) : create : : create ;
-
-exe a : l dummy.cpp ;
-
-# Needs to be static lib for Windows - main() cannot appear in DLL.
-static-lib l : a.cpp b.cpp ;
-
-make b.cpp : : create ;
-''')
-
-t.write("a.cpp", "")
-
-t.write("dummy.cpp", "// msvc needs at least one object file\n")
-
-t.run_build_system()
-
-t.expect_addition("bin/$toolset/debug/a.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/check-arguments.jam b/SRC/Boost/tools/build/v2/test/check-arguments.jam
deleted file mode 100755
index 9c71df0..0000000
--- a/SRC/Boost/tools/build/v2/test/check-arguments.jam
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 2001 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-#
-# Jam code for testing the named-argument patch.
-#
-
-include recursive.jam ;
-
-# Prefixes for all of the jam code we're going to test
-local ECHO_ARGS = "include echo_args.jam ; echo_args "
-   ;
-
-local ECHO_VARARGS = "include echo_args.jam ; echo_varargs "
-   ;
-
-# Check that it will find missing arguments
-Jam-fail $(ECHO_ARGS)";"
-    : "missing argument a"
-    ;
-
-# Check that it will find if too many arguments are passed
-Jam-fail $(ECHO_ARGS)"1 2 : 3 : 4 : 5 ;"
-    : "extra argument 5"
-    ;
-
-# Check that it will find when an argument has too many elements
-Jam-fail $(ECHO_ARGS)"a b c1 c2 : d ;"
-    : "extra argument c2"
-    ;
-
-# Check modifier '?'
-Jam $(ECHO_ARGS)"1 2 3 : 4 ;"
-    : "a= 1 b= 2 c= 3 : d= 4 : e=" ;
-Jam $(ECHO_ARGS)"1 2 : 3 ;"
-    : "a= 1 b= 2 c= : d= 3 : e=" ;
-Jam $(ECHO_ARGS)"1 : 2 ;"
-    : "a= 1 b= c= : d= 2 : e=" ;
-
-# Check modifier '+'
-Jam-fail $(ECHO_ARGS)"1 ;"
-    : "missing argument d" ;
-Jam $(ECHO_ARGS)"1 : 2 3 ;"
-    : "a= 1 b= c= : d= 2 3 : e=" ;
-Jam $(ECHO_ARGS)"1 : 2 3 4 ;"
-    : "a= 1 b= c= : d= 2 3 4 : e=" ;
-
-# Check modifier '*'
-Jam $(ECHO_ARGS)"1 : 2 : 3 ;"
-    : "a= 1 b= c= : d= 2 : e= 3" ;
-Jam $(ECHO_ARGS)"1 : 2 : 3 4 ;"
-    : "a= 1 b= c= : d= 2 : e= 3 4" ;
-Jam $(ECHO_ARGS)"1 : 2 : 3 4 5 ;"
-    : "a= 1 b= c= : d= 2 : e= 3 4 5" ;
-
-#
-# Check varargs
-#
-Jam $(ECHO_VARARGS)"1 : 2 : 3 4 5 ;"
-    : "a= 1 b= c= : d= 2 : e= 3 4 5" ;
-Jam $(ECHO_VARARGS)"1 : 2 : 3 4 5 : 6 ;"
-    : "a= 1 b= c= : d= 2 : e= 3 4 5 : rest= 6" ;
-Jam $(ECHO_VARARGS)"1 : 2 : 3 4 5 : 6 7 ;"
-    : "a= 1 b= c= : d= 2 : e= 3 4 5 : rest= 6 7" ;
-Jam $(ECHO_VARARGS)"1 : 2 : 3 4 5 : 6 7 : 8 ;"
-    : "a= 1 b= c= : d= 2 : e= 3 4 5 : rest= 6 7 : 8" ;
-Jam $(ECHO_VARARGS)"1 : 2 : 3 4 5 : 6 7 : 8 : 9 ;"
-    : "a= 1 b= c= : d= 2 : e= 3 4 5 : rest= 6 7 : 8 : 9" ;
-
-
diff --git a/SRC/Boost/tools/build/v2/test/check-bindrule.jam b/SRC/Boost/tools/build/v2/test/check-bindrule.jam
deleted file mode 100755
index c2d1d20..0000000
--- a/SRC/Boost/tools/build/v2/test/check-bindrule.jam
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2001 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# This rule establishes a dependency, with no special build actions
-rule do-nothing ( target : source )
-{
-    DEPENDS $(target) : $(source) ;
-}
-actions quietly do-nothing
-{
-}
-
-# Make a non-file target which depends on a file that exists
-NOTFILE fake-target ;
-SEARCH on file-to-bind = subdir1 ;
-
-do-nothing fake-target
-    : file-to-bind ;
-
-# Set jam up to call our bind-rule
-BINDRULE = bind-rule ;
-
-rule bind-rule ( target : path )
-{
-    ECHO found: $(target) at $(path) ;
-}
-
-DEPENDS all : fake-target ;
diff --git a/SRC/Boost/tools/build/v2/test/check-jam-patches.jam b/SRC/Boost/tools/build/v2/test/check-jam-patches.jam
deleted file mode 100755
index a275a55..0000000
--- a/SRC/Boost/tools/build/v2/test/check-jam-patches.jam
+++ /dev/null
@@ -1,293 +0,0 @@
-# Copyright 2001, 2002 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Get the recursive Jam invocation code
-include recursive.jam ;
-include assert-equal.jam ;
-
-Jam "include check-bindrule.jam ;"
-    : "found: file-to-bind at subdir1$(SLASH)file-to-bind"
-    ;
-
-include check-arguments.jam ;
-
-if $(NT)
-{
-    # if this one fails, you don't have the line length patch
-    Jam "include test_nt_line_length.jam ;" ;
-}
-
-# a little utility for assertions
-rule identity ( list * )
-{
-    return $(list) ;
-}
-
-#
-# test rule indirection
-#
-rule select ( n list * )
-{
-    return $(list[$(n)]) ;
-}
-
-rule indirect1 ( rule + : args * )
-{
-    return [ $(rule) $(args) ] ;
-}
-
-assert-equal a : indirect1 select 1 : a b c d e ;
-assert-equal b : indirect1 select 2 : a b c d e ;
-
-x = reset ;
-rule reset-x ( new-value )
-{
-    x = $(new-value) ; 
-}
-$(x)-x bar ;                       # invokes reset-x...
-assert-equal bar : identity $(x) ; # which changes x
-
-# Check that unmatched subst returns an empty list
-assert-equal # nothing
-    : SUBST "abc" "d+" x ;
-
-# Check that a matched subst works
-assert-equal x
-    : SUBST "ddd" "d+" x ;
-    
-# Check that we can get multiple substitutions from a single invocation
-assert-equal x y x-y
-    : SUBST "x/y/z" "([^/]*)/([^/]*).*" "\\1" $2 "\\1-\\2" ;
-
-#
-# test local foreach modification
-#
-{
-    local x = 0 ;
-    local entered = ;
-    for local x in a b c # x declared local to for loop.
-    {
-        entered = 1 ;
-        if ! ( $(x) in a b c )
-        {
-            EXIT "local foreach: expected one of a, b, c; got" $(x) ;
-        }
-    }
-    
-    if $(x) != 0 # if x was modified, it failed to be a local variable
-    {
-        EXIT "local foreach failed" ;
-    }
-}
-
-#
-# test while loops
-#
-{
-    local x = a b c ;
-    local y = $(x) ;
-    local z = ;
-    
-    while $(y)
-    {
-        z += $(y[1]) ;
-        y = $(y[2-]) ;
-    }
-    
-    if $(z) != $(x)
-    {
-        EXIT "while loops failed" ;
-    }
-}
-
-#
-# test negative list indices and slices
-#
-{
-    local x = a b c d e ;
-    
-    rule assert-index ( index : list * )
-    {
-        if $(x[$(index)]) != $(list)
-        {
-            ECHO with x= $(x) ;
-            ECHO x[$(index)] == $(x[$(index)]) ;
-            EXIT expected $(list) ;
-        }
-    }
-    
-    assert-index 1 : a ;
-    assert-index 3 : c ;
-    assert-index 1-2 : a b ;
-    assert-index -1 : e ;
-    assert-index -2 : d ;
-    assert-index 2--2 : b c d ;
-    assert-index -3--2 : c d ;
-    assert-index 1--2 : a b c d ;
-    assert-index 1--2 : a b c d ;
-    assert-index 1--10 : ;
-    x = a ;
-    assert-index 1--2 : ;
-    assert-index 1--2 : ;
-}
-
-#
-# test module primitives
-#
-{
-    local x = a b c d e f g h i j ;
-    local y = $(x[3-]) ;
-
-    rule shift1 ( dummy ) { }
-
-    rule my_module.not_really ( ) { return something ; }
-
-    # import the identity rule into my_module as "id"
-    IMPORT  : identity : my_module : id ;
-    module my_module
-    {
-        # assert-equal operates in its own module, so call id in here and use
-        # identity later.
-        local f = [ id x y z ] ;
-        assert-equal x y z : identity $(f) ;
-        
-        w = ;
-        y = ;
-        x2 = 1 2 3 ;
-        x3 = $(x2) ;
-        z = $(x2) ;
-        
-        x3 = ; # should reset x3
-        
-        # drops one element from the head of x
-        # moves the first element of z from the head of z to the head of y
-        rule shift1 ( )
-        {
-            x = $(x[2-]) ;
-            y = $(z[1]) $(y) ;
-            z = $(z[2-]) ;
-        }
-
-        rule shift2 ( )
-        {
-            shift1 ;
-        }
-        
-        shift1 ;
-        shift2 ;
-
-        rule get ( symbol )
-        {
-            return $($(symbol)) ;
-        }
-        local rule not_really ( ) { return nothing ; }
-    }
-    
-    local expected = shift1 shift2 get ;
-    if ! ( $(expected) in [ RULENAMES my_module ] )
-      || ! ( [ RULENAMES my_module ] in $(expected) )
-    {
-        EXIT "[ RULENAMES my_module ] =" [ RULENAMES my_module ] "!=" shift1 shift2 get ;
-    }        
-    
-          
-    # show that not_really was actually a local definition
-    assert-equal something : my_module.not_really ;
-
-    if not_really in [ RULENAMES my_module ]
-    {
-        EXIT unexpectedly found local rule "not_really" in "my_module" ;
-    }
-    EXPORT my_module : not_really ;
-    
-    if ! ( not_really in [ RULENAMES my_module ] )
-    {
-        EXIT unexpectedly failed to find exported rule "not_really" in "my_module" ;
-    }
-    
-    # show that my_module doesn't have access to our variables
-    my_module.shift1 ;
-    assert-equal $(x[3-]) : identity $(y) ;
-
-    # check module locals
-    assert-equal : my_module.get w ;
-    assert-equal 3 2 1 : my_module.get y ;
-    assert-equal 1 2 3 : my_module.get x2 ;
-    assert-equal : my_module.get x3 ;
-    assert-equal : my_module.get z ;
-    
-    my_module.shift2 ;
-    x = $(x[3-]) ;
-    assert-equal $(x) : identity $(y) ;
-
-    # Prove that the module's rule is not exposed to the world at large without
-    # qualification
-    shift1 nothing ;
-    assert-equal $(x) : identity $(y) ;
-
-    # import my_module.shift1 into the global module as "shifty", and
-    # my_module.shift2 into the global module as "shift2".
-    IMPORT my_module : shift1 shift2 : : shifty shift2 ;
-
-    shifty ;
-    assert-equal $(x) : identity $(y) ;
-
-    shift2 ;
-    assert-equal $(x) : identity $(y) ;
-
-    # Now do the same with localization
-    IMPORT my_module : shift1 : : shifty : LOCALIZE ;
-
-    shifty ;
-    y = $(y[3-]) ;
-    assert-equal $(x) : identity $(y) ;
-
-    # import everything from my_module into the global module using
-    # the same names.
-    IMPORT my_module : [ RULENAMES my_module ] : : [ RULENAMES my_module ] : LOCALIZE ;
-
-    shift1 ;
-    y = $(y[2-]) ;
-    assert-equal $(x) : identity $(y) ;
-
-    shift2 ;
-    y = $(y[2-]) ;
-    assert-equal $(x) : identity $(y) ;
-}
-
-#
-# test CALLER_MODULE and backtrace
-#
-{
-    rule backtrace ( )
-    {
-        local bt = [ BACKTRACE ] ;
-        bt = $(bt[5-]) ;
-        while $(bt)
-        {
-            ECHO $(bt[1]):$(bt[2]): "in" $(bt[4]) ;
-            bt = $(bt[5-]) ;
-        }
-    }
-    module module1
-    {
-        rule f ( )
-        {
-            local m = [ CALLER_MODULE ] ;
-            assert-equal : identity $(m) ;
-            module2.f ;
-        }
-
-    }
-    module module2
-    {
-        rule f ( )
-        {
-            local m = [ CALLER_MODULE ] ;
-            assert-equal module1 : identity $(m) ;
-            backtrace ;
-        }
-    }
-    module1.f ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/check-test-tools.jam b/SRC/Boost/tools/build/v2/test/check-test-tools.jam
deleted file mode 100755
index 38eb7e5..0000000
--- a/SRC/Boost/tools/build/v2/test/check-test-tools.jam
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2001 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-include recursive.jam ;
-include assert-equal.jam ;
-
-#####################################
-# Test the testing tools right here #
-#####################################
-
-# This command always exits with a failure.
-Jam-fail "EXIT error ;" ;
-
-# This should fail to fail
-Jam-fail
-     "include recursive.jam ; Jam-fail \"# this innocuous Jamfile should fail to fail\" ;"
-      ;
-
-# the ECHO rule always has an empty result.
-Jam-fail "include assert-equal.jam ; assert-equal fubar : ECHO checking that assertions fail ;"
-    : "ASSERTION FAILURE"
-    ;
-
-local NOTHING = ;
-assert-equal $(NOTHING) : ECHO checking that assertions succeed ;
diff --git a/SRC/Boost/tools/build/v2/test/clean.py b/SRC/Boost/tools/build/v2/test/clean.py
deleted file mode 100755
index 2714eaf..0000000
--- a/SRC/Boost/tools/build/v2/test/clean.py
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/usr/bin/python
-
-#  Copyright (C) Vladimir Prus 2006.
-#  Distributed under the Boost Software License, Version 1.0. (See
-#  accompanying file LICENSE_1_0.txt or copy at
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("a.cpp", """
-int main() {}
-""")
-
-t.write("jamroot.jam", """
-exe a : a.cpp sub1//sub1 sub2//sub2 sub3//sub3 ;
-""")
-
-t.write("sub1/jamfile.jam", """
-lib sub1 : sub1.cpp sub1_2 ../sub2//sub2 ;
-lib sub1_2 : sub1_2.cpp ;
-""")
-
-t.write("sub1/sub1.cpp", """
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void sub1() {}
-""")
-
-t.write("sub1/sub1_2.cpp", """
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void sub1() {}
-""")
-
-t.write("sub2/jamfile.jam", """
-lib sub2 : sub2.cpp ;
-""")
-
-t.write("sub2/sub2.cpp", """
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void sub2() {}
-""")
-
-t.write("sub3/jamroot.jam", """
-lib sub3 : sub3.cpp ;
-""")
-
-t.write("sub3/sub3.cpp", """
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void sub3() {}
-""")
-
-# The 'clean' should not remove files under separate jamroot.jam.
-t.run_build_system()
-t.run_build_system("--clean")
-t.expect_removal("bin/$toolset/debug/a.obj")
-t.expect_removal("sub1/bin/$toolset/debug/sub1.obj")
-t.expect_removal("sub1/bin/$toolset/debug/sub1_2.obj")
-t.expect_removal("sub2/bin/$toolset/debug/sub2.obj")
-t.expect_nothing("sub3/bin/$toolset/debug/sub3.obj")
-
-# The 'clean-all' removes everything it can reach.
-t.run_build_system()
-t.run_build_system("--clean-all")
-t.expect_removal("bin/$toolset/debug/a.obj")
-t.expect_removal("sub1/bin/$toolset/debug/sub1.obj")
-t.expect_removal("sub1/bin/$toolset/debug/sub1_2.obj")
-t.expect_removal("sub2/bin/$toolset/debug/sub2.obj")
-t.expect_nothing("sub3/bin/$toolset/debug/sub3.obj")
-
-# The 'clean' together with project target removes only under that project.
-t.run_build_system()
-t.run_build_system("sub1 --clean")
-t.expect_nothing("bin/$toolset/debug/a.obj")
-t.expect_removal("sub1/bin/$toolset/debug/sub1.obj")
-t.expect_removal("sub1/bin/$toolset/debug/sub1_2.obj")
-t.expect_nothing("sub2/bin/$toolset/debug/sub2.obj")
-t.expect_nothing("sub3/bin/$toolset/debug/sub3.obj")
-
-# And 'clean-all' removes everything.
-t.run_build_system()
-t.run_build_system("sub1 --clean-all")
-t.expect_nothing("bin/$toolset/debug/a.obj")
-t.expect_removal("sub1/bin/$toolset/debug/sub1.obj")
-t.expect_removal("sub1/bin/$toolset/debug/sub1_2.obj")
-t.expect_removal("sub2/bin/$toolset/debug/sub2.obj")
-t.expect_nothing("sub3/bin/$toolset/debug/sub3.obj")
-
-# If main target is explicitly named, we should not remove files from other
-# targets.
-t.run_build_system()
-t.run_build_system("sub1//sub1 --clean")
-t.expect_removal("sub1/bin/$toolset/debug/sub1.obj")
-t.expect_nothing("sub1/bin/$toolset/debug/sub1_2.obj")
-t.expect_nothing("sub2/bin/$toolset/debug/sub2.obj")
-t.expect_nothing("sub3/bin/$toolset/debug/sub3.obj")
-
-# Regression test: sources of the 'cast' rule were mistakenly deleted.
-t.rm(".")
-t.write("jamroot.jam", """
-import cast ;
-cast a cpp : a.h ;
-""")
-t.write("a.h", "")
-t.run_build_system("--clean")
-t.expect_nothing("a.h")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/composite.py b/SRC/Boost/tools/build/v2/test/composite.py
deleted file mode 100755
index d9d19cc..0000000
--- a/SRC/Boost/tools/build/v2/test/composite.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Test that composite properties are handled correctly.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-exe hello : hello.cpp : <variant>release ;
-""")
-
-t.write("hello.cpp", """
-int main() {}
-""")
-
-t.run_build_system()
-
-t.expect_addition("bin/$toolset/release/hello.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/conditionals.py b/SRC/Boost/tools/build/v2/test/conditionals.py
deleted file mode 100755
index f5d4d4e..0000000
--- a/SRC/Boost/tools/build/v2/test/conditionals.py
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2002, 2003, 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test conditional properties.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-# Arrange a project which will build only if 'a.cpp' is compiled with "STATIC"
-# define.
-t.write("a.cpp", """
-#ifdef STATIC
-int main() {}
-#endif
-""")
-
-# Test conditionals in target requirements.
-t.write("jamroot.jam", "exe a : a.cpp : <link>static:<define>STATIC ;")
-t.run_build_system("link=static")
-t.expect_addition("bin/$toolset/debug/link-static/a.exe")
-t.rm("bin")
-
-# Test conditionals in project requirements.
-t.write("jamroot.jam", """
-project : requirements <link>static:<define>STATIC ;
-exe a : a.cpp ;
-""")
-t.run_build_system("link=static")
-t.expect_addition("bin/$toolset/debug/link-static/a.exe")
-t.rm("bin")
-
-# Regression test for a bug found by Ali Azarbayejani. Conditionals inside usage
-# requirement were not being evaluated.
-t.write("jamroot.jam", """
-lib l : l.cpp : : : <link>static:<define>STATIC ;
-exe a : a.cpp l ;
-""")
-t.write("l.cpp", "int i;")
-t.run_build_system("link=static")
-t.expect_addition("bin/$toolset/debug/link-static/a.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/conditionals2.py b/SRC/Boost/tools/build/v2/test/conditionals2.py
deleted file mode 100755
index a012795..0000000
--- a/SRC/Boost/tools/build/v2/test/conditionals2.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Regression test: it was possible that due to evaluation of conditional
-# requirements, two different values of non-free features were present in a
-# property set.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("a.cpp", "")
-
-t.write("jamroot.jam", """
-import feature ;
-import common ;
-
-feature.feature the_feature : false true : propagated ;
-
-rule maker ( targets * : sources * : properties * )
-{
-    if <the_feature>false in $(properties) &&
-        <the_feature>true in $(properties)
-    {
-        EXIT "Oops, two different values of non-free feature" ;
-    }
-    CMD on $(targets) = [ common.file-creation-command ] ;
-}
-
-actions maker
-{
-    $(CMD) $(<) ;
-}
-
-make a : a.cpp : maker : <variant>debug:<the_feature>true ;
-""")
-
-t.run_build_system()
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/conditionals3.py b/SRC/Boost/tools/build/v2/test/conditionals3.py
deleted file mode 100755
index c0d808b..0000000
--- a/SRC/Boost/tools/build/v2/test/conditionals3.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that conditional properties work, even if property is free, and value
-# includes a colon.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-exe hello : hello.cpp : <variant>debug:<define>CLASS=Foo::Bar ;
-""")
-
-t.write("hello.cpp", """
-namespace Foo { class Bar { } ; }
-int main()
-{
-    CLASS c;
-    c;  // Disables the unused variable warning.
-}
-""")
-
-t.run_build_system(stdout=None, stderr=None)
-t.expect_addition("bin/$toolset/debug/hello.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/conditionals_multiple.py b/SRC/Boost/tools/build/v2/test/conditionals_multiple.py
deleted file mode 100755
index a4a4994..0000000
--- a/SRC/Boost/tools/build/v2/test/conditionals_multiple.py
+++ /dev/null
@@ -1,297 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2008 Jurko Gospodnetic
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests that properties conditioned on more than one other property work as
-# expected.
-
-import BoostBuild
-
-
-################################################################################
-#
-# test_multiple_conditions()
-# --------------------------
-#
-################################################################################
-
-def test_multiple_conditions():
-    """Basic tests for properties conditioned on multiple other properties.
-    """
-
-    t = BoostBuild.Tester("--ignore-regular-config toolset=testToolset",
-        pass_toolset=False, use_test_config=False)
-
-    t.write("testToolset.jam", """
-import feature ;
-feature.extend toolset : testToolset ;
-rule init ( ) { }
-""")
-
-    t.write("jamroot.jam", """
-import feature ;
-import notfile ;
-import toolset ;
-
-feature.feature description : : free incidental ;
-feature.feature aaa : 1 0 : incidental ;
-feature.feature bbb : 1 0 : incidental ;
-feature.feature ccc : 1 0 : incidental ;
-
-rule buildRule ( name : targets ? : properties * )
-{
-    for local description in [ feature.get-values description : $(properties) ]
-    {
-        ECHO "description:" /$(description)/ ;
-    }
-}
-
-notfile testTarget1 : @buildRule : :
-    <description>d
-    <aaa>0:<description>a0
-    <aaa>1:<description>a1
-    <aaa>0,<bbb>0:<description>a0-b0
-    <aaa>0,<bbb>1:<description>a0-b1
-    <aaa>1,<bbb>0:<description>a1-b0
-    <aaa>1,<bbb>1:<description>a1-b1
-    <aaa>0,<bbb>0,<ccc>0:<description>a0-b0-c0
-    <aaa>0,<bbb>0,<ccc>1:<description>a0-b0-c1
-    <aaa>0,<bbb>1,<ccc>1:<description>a0-b1-c1
-    <aaa>1,<bbb>0,<ccc>1:<description>a1-b0-c1
-    <aaa>1,<bbb>1,<ccc>0:<description>a1-b1-c0
-    <aaa>1,<bbb>1,<ccc>1:<description>a1-b1-c1 ;
-""")
-
-    t.run_build_system("aaa=1 bbb=1 ccc=1")
-    t.expect_output_line("description: /d/"              )
-    t.expect_output_line("description: /a0/"      , False)
-    t.expect_output_line("description: /a1/"             )
-    t.expect_output_line("description: /a0-b0/"   , False)
-    t.expect_output_line("description: /a0-b1/"   , False)
-    t.expect_output_line("description: /a1-b0/"   , False)
-    t.expect_output_line("description: /a1-b1/"          )
-    t.expect_output_line("description: /a0-b0-c0/", False)
-    t.expect_output_line("description: /a0-b0-c1/", False)
-    t.expect_output_line("description: /a0-b1-c1/", False)
-    t.expect_output_line("description: /a1-b0-c1/", False)
-    t.expect_output_line("description: /a1-b1-c0/", False)
-    t.expect_output_line("description: /a1-b1-c1/"       )
-
-    t.run_build_system("aaa=0 bbb=0 ccc=1")
-    t.expect_output_line("description: /d/"              )
-    t.expect_output_line("description: /a0/"             )
-    t.expect_output_line("description: /a1/"      , False)
-    t.expect_output_line("description: /a0-b0/"          )
-    t.expect_output_line("description: /a0-b1/"   , False)
-    t.expect_output_line("description: /a1-b0/"   , False)
-    t.expect_output_line("description: /a1-b1/"   , False)
-    t.expect_output_line("description: /a0-b0-c0/", False)
-    t.expect_output_line("description: /a0-b0-c1/"       )
-    t.expect_output_line("description: /a0-b1-c1/", False)
-    t.expect_output_line("description: /a1-b0-c1/", False)
-    t.expect_output_line("description: /a1-b1-c0/", False)
-    t.expect_output_line("description: /a1-b1-c1/", False)
-
-    t.run_build_system("aaa=0 bbb=0 ccc=0")
-    t.expect_output_line("description: /d/"              )
-    t.expect_output_line("description: /a0/"             )
-    t.expect_output_line("description: /a1/"      , False)
-    t.expect_output_line("description: /a0-b0/"          )
-    t.expect_output_line("description: /a0-b1/"   , False)
-    t.expect_output_line("description: /a1-b0/"   , False)
-    t.expect_output_line("description: /a1-b1/"   , False)
-    t.expect_output_line("description: /a0-b0-c0/"       )
-    t.expect_output_line("description: /a0-b0-c1/", False)
-    t.expect_output_line("description: /a0-b1-c1/", False)
-    t.expect_output_line("description: /a1-b0-c1/", False)
-    t.expect_output_line("description: /a1-b1-c0/", False)
-    t.expect_output_line("description: /a1-b1-c1/", False)
-
-    t.cleanup()
-
-
-################################################################################
-#
-# test_multiple_conditions_with_toolset_version()
-# -----------------------------------------------
-#
-################################################################################
-
-def test_multiple_conditions_with_toolset_version():
-    """Regression tests for properties conditioned on the toolset version
-    subfeature and some additional properties.
-    """
-
-    toolset = "testToolset" ;
-
-    t = BoostBuild.Tester("--ignore-regular-config", pass_toolset=False, use_test_config=False)
-
-    t.write( toolset + ".jam", """
-import feature ;
-feature.extend toolset : %(toolset)s ;
-feature.subfeature toolset %(toolset)s : version : 0 1 ;
-rule init ( version ? ) { }
-""" % {"toolset": toolset})
-
-    t.write("jamroot.jam", """
-import feature ;
-import notfile ;
-import toolset ;
-
-toolset.using testToolset ;
-
-feature.feature description : : free incidental ;
-feature.feature aaa : 0 1 : incidental ;
-feature.feature bbb : 0 1 : incidental ;
-feature.feature ccc : 0 1 : incidental ;
-
-rule buildRule ( name : targets ? : properties * )
-{
-    local ttt = [ feature.get-values toolset                     : $(properties) ] ;
-    local vvv = [ feature.get-values toolset-testToolset:version : $(properties) ] ;
-    local aaa = [ feature.get-values aaa                         : $(properties) ] ;
-    local bbb = [ feature.get-values bbb                         : $(properties) ] ;
-    local ccc = [ feature.get-values ccc                         : $(properties) ] ;
-    ECHO "toolset:" /$(ttt)/ "version:" /$(vvv)/ "aaa/bbb/ccc:" /$(aaa)/$(bbb)/$(ccc)/ ;
-    for local description in [ feature.get-values description : $(properties) ]
-    {
-        ECHO "description:" /$(description)/ ;
-    }
-}
-
-notfile testTarget1 : @buildRule : :
-    <toolset>testToolset,<aaa>0:<description>t-a0
-    <toolset>testToolset,<aaa>1:<description>t-a1
-
-    <toolset>testToolset-0,<aaa>0:<description>t0-a0
-    <toolset>testToolset-0,<aaa>1:<description>t0-a1
-    <toolset>testToolset-1,<aaa>0:<description>t1-a0
-    <toolset>testToolset-1,<aaa>1:<description>t1-a1
-
-    <toolset>testToolset,<aaa>0,<bbb>0:<description>t-a0-b0
-    <toolset>testToolset,<aaa>0,<bbb>1:<description>t-a0-b1
-    <toolset>testToolset,<aaa>1,<bbb>0:<description>t-a1-b0
-    <toolset>testToolset,<aaa>1,<bbb>1:<description>t-a1-b1
-
-    <aaa>0,<toolset>testToolset,<bbb>0:<description>a0-t-b0
-    <aaa>0,<toolset>testToolset,<bbb>1:<description>a0-t-b1
-    <aaa>1,<toolset>testToolset,<bbb>0:<description>a1-t-b0
-    <aaa>1,<toolset>testToolset,<bbb>1:<description>a1-t-b1
-
-    <aaa>0,<bbb>0,<toolset>testToolset:<description>a0-b0-t
-    <aaa>0,<bbb>1,<toolset>testToolset:<description>a0-b1-t
-    <aaa>1,<bbb>0,<toolset>testToolset:<description>a1-b0-t
-    <aaa>1,<bbb>1,<toolset>testToolset:<description>a1-b1-t
-
-    <toolset>testToolset-0,<aaa>0,<bbb>0:<description>t0-a0-b0
-    <toolset>testToolset-0,<aaa>0,<bbb>1:<description>t0-a0-b1
-    <toolset>testToolset-0,<aaa>1,<bbb>0:<description>t0-a1-b0
-    <toolset>testToolset-0,<aaa>1,<bbb>1:<description>t0-a1-b1
-    <toolset>testToolset-1,<aaa>0,<bbb>0:<description>t1-a0-b0
-    <toolset>testToolset-1,<aaa>0,<bbb>1:<description>t1-a0-b1
-    <toolset>testToolset-1,<aaa>1,<bbb>0:<description>t1-a1-b0
-    <toolset>testToolset-1,<aaa>1,<bbb>1:<description>t1-a1-b1
-
-    <aaa>0,<toolset>testToolset-1,<bbb>0:<description>a0-t1-b0
-    <aaa>0,<toolset>testToolset-1,<bbb>1:<description>a0-t1-b1
-    <aaa>1,<toolset>testToolset-0,<bbb>0:<description>a1-t0-b0
-    <aaa>1,<toolset>testToolset-0,<bbb>1:<description>a1-t0-b1
-
-    <bbb>0,<aaa>1,<toolset>testToolset-0:<description>b0-a1-t0
-    <bbb>0,<aaa>0,<toolset>testToolset-1:<description>b0-a0-t1
-    <bbb>0,<aaa>1,<toolset>testToolset-1:<description>b0-a1-t1
-    <bbb>1,<aaa>0,<toolset>testToolset-1:<description>b1-a0-t1
-    <bbb>1,<aaa>1,<toolset>testToolset-0:<description>b1-a1-t0
-    <bbb>1,<aaa>1,<toolset>testToolset-1:<description>b1-a1-t1 ;
-""")
-
-    t.run_build_system("aaa=1 bbb=1 ccc=1 toolset=%s-0" % toolset)
-    t.expect_output_line("description: /t-a0/"    , False)
-    t.expect_output_line("description: /t-a1/"           )
-    t.expect_output_line("description: /t0-a0/"   , False)
-    t.expect_output_line("description: /t0-a1/"          )
-    t.expect_output_line("description: /t1-a0/"   , False)
-    t.expect_output_line("description: /t1-a1/"   , False)
-    t.expect_output_line("description: /t-a0-b0/" , False)
-    t.expect_output_line("description: /t-a0-b1/" , False)
-    t.expect_output_line("description: /t-a1-b0/" , False)
-    t.expect_output_line("description: /t-a1-b1/"        )
-    t.expect_output_line("description: /a0-t-b0/" , False)
-    t.expect_output_line("description: /a0-t-b1/" , False)
-    t.expect_output_line("description: /a1-t-b0/" , False)
-    t.expect_output_line("description: /a1-t-b1/"        )
-    t.expect_output_line("description: /a0-b0-t/" , False)
-    t.expect_output_line("description: /a0-b1-t/" , False)
-    t.expect_output_line("description: /a1-b0-t/" , False)
-    t.expect_output_line("description: /a1-b1-t/"        )
-    t.expect_output_line("description: /t0-a0-b0/", False)
-    t.expect_output_line("description: /t0-a0-b1/", False)
-    t.expect_output_line("description: /t0-a1-b0/", False)
-    t.expect_output_line("description: /t0-a1-b1/"       )
-    t.expect_output_line("description: /t1-a0-b0/", False)
-    t.expect_output_line("description: /t1-a0-b1/", False)
-    t.expect_output_line("description: /t1-a1-b0/", False)
-    t.expect_output_line("description: /t1-a1-b1/", False)
-    t.expect_output_line("description: /a0-t1-b0/", False)
-    t.expect_output_line("description: /a0-t1-b1/", False)
-    t.expect_output_line("description: /a1-t0-b0/", False)
-    t.expect_output_line("description: /a1-t0-b1/"       )
-    t.expect_output_line("description: /b0-a1-t0/", False)
-    t.expect_output_line("description: /b0-a0-t1/", False)
-    t.expect_output_line("description: /b0-a1-t1/", False)
-    t.expect_output_line("description: /b1-a0-t1/", False)
-    t.expect_output_line("description: /b1-a1-t0/"       )
-    t.expect_output_line("description: /b1-a1-t1/", False)
-
-    t.run_build_system("aaa=1 bbb=1 ccc=1 toolset=%s-1" % toolset)
-    t.expect_output_line("description: /t-a0/"    , False)
-    t.expect_output_line("description: /t-a1/"           )
-    t.expect_output_line("description: /t0-a0/"   , False)
-    t.expect_output_line("description: /t0-a1/"   , False)
-    t.expect_output_line("description: /t1-a0/"   , False)
-    t.expect_output_line("description: /t1-a1/"          )
-    t.expect_output_line("description: /t-a0-b0/" , False)
-    t.expect_output_line("description: /t-a0-b1/" , False)
-    t.expect_output_line("description: /t-a1-b0/" , False)
-    t.expect_output_line("description: /t-a1-b1/"        )
-    t.expect_output_line("description: /a0-t-b0/" , False)
-    t.expect_output_line("description: /a0-t-b1/" , False)
-    t.expect_output_line("description: /a1-t-b0/" , False)
-    t.expect_output_line("description: /a1-t-b1/"        )
-    t.expect_output_line("description: /a0-b0-t/" , False)
-    t.expect_output_line("description: /a0-b1-t/" , False)
-    t.expect_output_line("description: /a1-b0-t/" , False)
-    t.expect_output_line("description: /a1-b1-t/"        )
-    t.expect_output_line("description: /t0-a0-b0/", False)
-    t.expect_output_line("description: /t0-a0-b1/", False)
-    t.expect_output_line("description: /t0-a1-b0/", False)
-    t.expect_output_line("description: /t0-a1-b1/", False)
-    t.expect_output_line("description: /t1-a0-b0/", False)
-    t.expect_output_line("description: /t1-a0-b1/", False)
-    t.expect_output_line("description: /t1-a1-b0/", False)
-    t.expect_output_line("description: /t1-a1-b1/"       )
-    t.expect_output_line("description: /a0-t1-b0/", False)
-    t.expect_output_line("description: /a0-t1-b1/", False)
-    t.expect_output_line("description: /a1-t0-b0/", False)
-    t.expect_output_line("description: /a1-t0-b1/", False)
-    t.expect_output_line("description: /b0-a1-t0/", False)
-    t.expect_output_line("description: /b0-a0-t1/", False)
-    t.expect_output_line("description: /b0-a1-t1/", False)
-    t.expect_output_line("description: /b1-a0-t1/", False)
-    t.expect_output_line("description: /b1-a1-t0/", False)
-    t.expect_output_line("description: /b1-a1-t1/"       )
-
-    t.cleanup()
-
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-test_multiple_conditions()
-test_multiple_conditions_with_toolset_version()
diff --git a/SRC/Boost/tools/build/v2/test/configuration.py b/SRC/Boost/tools/build/v2/test/configuration.py
deleted file mode 100755
index 852a58f..0000000
--- a/SRC/Boost/tools/build/v2/test/configuration.py
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2008 Jurko Gospodnetic
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that Boost Build configuration file handling.
-
-import BoostBuild
-import os.path
-import string
-
-
-################################################################################
-#
-# test_user_configuration()
-# -------------------------
-#
-################################################################################
-
-def test_user_configuration():
-    """Test Boost Build user configuration handling. Both relative and absolute
-    path handling is tested.
-    """
-
-    t = BoostBuild.Tester("--debug-configuration", pass_toolset=False,
-        use_test_config=False)
-
-    implicitConfigLoadMessage = "notice: Loading user-config configuration file: *"
-    explicitConfigLoadMessage = "notice: Loading explicitly specified user configuration file:"
-    testMessage = "_!_!_!_!_!_!_!_!_ %s _!_!_!_!_!_!_!_!_"
-    toolsetName = "__myDummyToolset__"
-    subdirName = "ASubDirectory"
-    configFileNames = ["ups_lala_1.jam", "ups_lala_2.jam",
-        os.path.join(subdirName, "ups_lala_3.jam")]
-
-    for configFileName in configFileNames:
-        message = "ECHO \"%s\" ;" % testMessage % configFileName
-        # We need to double any backslashes in the message or Jam will interpret
-        # them as escape characters.
-        t.write(configFileName, message.replace("\\", "\\\\"))
-
-    # Prepare a dummy toolset so we do not get errors in case the default one is
-    # not found.
-    t.write(toolsetName + ".jam", """
-import feature ;
-feature.extend toolset : %s ;
-rule init ( ) { }
-""" % toolsetName )
-    t.write("jamroot.jam", "using %s ;" % toolsetName)
-
-    t.run_build_system()
-    t.expect_output_line(explicitConfigLoadMessage, False)
-    t.expect_output_line(testMessage % configFileNames[0], False)
-    t.expect_output_line(testMessage % configFileNames[1], False)
-    t.expect_output_line(testMessage % configFileNames[2], False)
-
-    t.run_build_system("--user-config=")
-    t.expect_output_line(implicitConfigLoadMessage, False)
-    t.expect_output_line(explicitConfigLoadMessage, False)
-    t.expect_output_line(testMessage % configFileNames[0], False)
-    t.expect_output_line(testMessage % configFileNames[1], False)
-    t.expect_output_line(testMessage % configFileNames[2], False)
-
-    t.run_build_system('--user-config=""')
-    t.expect_output_line(implicitConfigLoadMessage, False)
-    t.expect_output_line(explicitConfigLoadMessage, False)
-    t.expect_output_line(testMessage % configFileNames[0], False)
-    t.expect_output_line(testMessage % configFileNames[1], False)
-    t.expect_output_line(testMessage % configFileNames[2], False)
-
-    t.run_build_system('--user-config="%s"' % configFileNames[0])
-    t.expect_output_line(implicitConfigLoadMessage, False)
-    t.expect_output_line(explicitConfigLoadMessage)
-    t.expect_output_line(testMessage % configFileNames[0]       )
-    t.expect_output_line(testMessage % configFileNames[1], False)
-    t.expect_output_line(testMessage % configFileNames[2], False)
-
-    t.run_build_system('--user-config="%s"' % configFileNames[2])
-    t.expect_output_line(implicitConfigLoadMessage, False)
-    t.expect_output_line(explicitConfigLoadMessage)
-    t.expect_output_line(testMessage % configFileNames[0], False)
-    t.expect_output_line(testMessage % configFileNames[1], False)
-    t.expect_output_line(testMessage % configFileNames[2]       )
-
-    t.run_build_system('--user-config="%s"' % os.path.abspath(configFileNames[1]))
-    t.expect_output_line(implicitConfigLoadMessage, False)
-    t.expect_output_line(explicitConfigLoadMessage)
-    t.expect_output_line(testMessage % configFileNames[0], False)
-    t.expect_output_line(testMessage % configFileNames[1]       )
-    t.expect_output_line(testMessage % configFileNames[2], False)
-
-    t.run_build_system('--user-config="%s"' % os.path.abspath(configFileNames[2]))
-    t.expect_output_line(implicitConfigLoadMessage, False)
-    t.expect_output_line(explicitConfigLoadMessage)
-    t.expect_output_line(testMessage % configFileNames[0], False)
-    t.expect_output_line(testMessage % configFileNames[1], False)
-    t.expect_output_line(testMessage % configFileNames[2]       )
-
-    t.cleanup()
-
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-test_user_configuration()
diff --git a/SRC/Boost/tools/build/v2/test/copy_time.py b/SRC/Boost/tools/build/v2/test/copy_time.py
deleted file mode 100755
index 1b54d89..0000000
--- a/SRC/Boost/tools/build/v2/test/copy_time.py
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (c) 2008
-# Steven Watanabe
-#
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that the common.copy rule set the modification
-# date of the new file the current time.
-
-import BoostBuild
-
-tester = BoostBuild.Tester()
-
-tester.write("test1.cpp", """
-#include <iostream>
-template<bool, int M, class Next>
-struct time_waster {
-    typedef typename time_waster<true, M-1, time_waster>::type type1;
-    typedef typename time_waster<false, M-1, time_waster>::type type2;
-    typedef void type;
-};
-template<bool B, class Next>
-struct time_waster<B, 0, Next> {
-    typedef void type;
-};
-typedef time_waster<true, 10, void>::type type;
-int f() { return 0; }
-""")
-
-tester.write("test2.cpp", """
-#include <iostream>
-template<bool, int M, class Next>
-struct time_waster {
-    typedef typename time_waster<true, M-1, time_waster>::type type1;
-    typedef typename time_waster<false, M-1, time_waster>::type type2;
-    typedef void type;
-};
-template<bool B, class Next>
-struct time_waster<B, 0, Next> {
-    typedef void type;
-};
-typedef time_waster<true, 10, void>::type type;
-int g() { return 0; }
-""")
-
-tester.write("jamroot.jam", """
-obj test2 : test2.cpp ;
-obj test1 : test1.cpp : <dependency>test2 ;
-install test2i : test2 : <dependency>test1 ;
-""")
-
-tester.run_build_system()
-
-tester.expect_addition("bin/$toolset/debug/test2.obj")
-tester.expect_addition("bin/$toolset/debug/test1.obj")
-tester.expect_addition("test2i/test2.obj")
-tester.expect_nothing_more()
-
-test2src = tester.read("test2i/test2.obj")
-test2dest = tester.read("bin/$toolset/debug/test2.obj")
-
-if test2src != test2dest:
-    BoostBuild.annotation("failure", "The object file was not copied correctly")
-    tester.fail_test(1)
-
-del test2src
-del test2dest
-
-tester.run_build_system("-d1")
-tester.expect_output_line("common.copy*", expected_to_exist=False)
-tester.expect_nothing_more()
-
-tester.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/core_d12.py b/SRC/Boost/tools/build/v2/test/core_d12.py
deleted file mode 100755
index 31d7474..0000000
--- a/SRC/Boost/tools/build/v2/test/core_d12.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002, 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This tests correct handling of "-d1" and "-d2" options.
-
-import BoostBuild
-
-t = BoostBuild.Tester(pass_toolset=0)
-
-t.write("file.jam", """
-actions a { }
-actions quietly b { }
-ALWAYS all ;
-a all ;
-b all ;
-""")
-
-t.run_build_system("-ffile.jam -d0", stdout="")
-
-t.run_build_system("-ffile.jam -d1", stdout=
-"""...found 1 target...
-...updating 1 target...
-a all
-...updated 1 target...
-""")
-
-t.run_build_system("-ffile.jam -d2")
-
-t.fail_test(t.stdout().find("a all") == -1)
-t.fail_test(t.stdout().find("b all") == -1)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/core_delete_module.py b/SRC/Boost/tools/build/v2/test/core_delete_module.py
deleted file mode 100755
index 7d672f3..0000000
--- a/SRC/Boost/tools/build/v2/test/core_delete_module.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This tests the facilities for deleting modules.
-
-import BoostBuild
-
-t = BoostBuild.Tester(pass_toolset=0)
-
-t.write("file.jam", """
-module foo
-{
-    rule bar { }
-    var = x y ;
-}
-DELETE_MODULE foo ;
-if [ RULENAMES foo ]
-{
-     EXIT DELETE_MODULE failed to kill foo's rules: [ RULENAMES foo ] ;
-}
-
-module foo
-{
-     if $(var)
-     {
-         EXIT DELETE_MODULE failed to kill foo's variables ;
-     }
-
-     rule bar { }
-     var = x y ;
-
-     DELETE_MODULE foo ;
-
-     if $(var)
-     {
-         EXIT internal DELETE_MODULE failed to kill foo's variables ;
-     }
-     if [ RULENAMES foo ]
-     {
-         EXIT internal DELETE_MODULE failed to kill foo's rules: [ RULENAMES foo ] ;
-     }
-}
-DEPENDS all : xx ;
-NOTFILE xx ;
-""")
-
-t.run_build_system("-ffile.jam", status=0)
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/core_dependencies.py b/SRC/Boost/tools/build/v2/test/core_dependencies.py
deleted file mode 100755
index 83f8533..0000000
--- a/SRC/Boost/tools/build/v2/test/core_dependencies.py
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# This tests correct handling of dependencies, specifically, on generated
-# sources, and from generated sources.
-
-import BoostBuild
-
-import string
-
-t = BoostBuild.Tester(pass_toolset=0)
-
-t.write("core-dependency-helpers", """
-rule hdrrule
-{
-   INCLUDES $(1) : $(2) ;
-}
-actions copy
-{
-   cp $(>) $(<)
-}
-""")
-
-code = """include core-dependency-helpers ;
-DEPENDS all : a ;
-DEPENDS a : b ;
-
-actions create-b
-{
-   echo '#include <foo.h>' > $(<) 
-}
-copy a : b ;
-create-b b ;
-HDRRULE on b foo.h bar.h = hdrrule ;
-HDRSCAN on b foo.h bar.h = \"#include <(.*)>\" ;
-"""
-
-# This creates 'a' which depends on 'b', which is generated. The generated 'b'
-# contains '#include <foo.h>' and no rules for foo.h are given. The system
-# should error out on the first invocation.
-t.run_build_system("-f-", stdin=code)
-t.fail_test(string.find(t.stdout(), "...skipped a for lack of foo.h...") == -1)
-
-t.rm('b')
-
-# Now test that if target 'c' also depends on 'b', then it will not be built, as
-# well.
-t.run_build_system("-f-", stdin=code + " copy c : b ; DEPENDS c : b ; DEPENDS all : c ; ")
-t.fail_test(string.find(t.stdout(), "...skipped c for lack of foo.h...") == -1)
-
-t.rm('b')
-
-# Now add a rule for creating foo.h.
-code += """
-actions create-foo
-{
-    echo // > $(<)
-}
-create-foo foo.h ;
-"""
-t.run_build_system("-f-", stdin=code)
-
-# Run two times, adding explicit dependency from all to foo.h at the beginning
-# and at the end, to make sure that foo.h is generated before 'a' in all cases.
-
-def mk_correct_order_func(s1, s2):
-    def correct_order(s):
-        n1 = string.find(s, s1)
-        n2 = string.find(s, s2)
-        return ( n1 != -1 ) and ( n2 != -1 ) and ( n1 < n2 )
-    return correct_order
-
-correct_order = mk_correct_order_func("create-foo", "copy a")
-
-t.rm(["a", "b", "foo.h"])
-t.run_build_system("-d+2 -f-", stdin=code + " DEPENDS all : foo.h ;")
-t.fail_test(not correct_order(t.stdout()))
-
-t.rm(["a", "b", "foo.h"])
-t.run_build_system("-d+2 -f-", stdin=" DEPENDS all : foo.h ; " + code)
-t.fail_test(not correct_order(t.stdout()))
-
-# Now foo.h exists. Test include from b -> foo.h -> bar.h -> biz.h. b and foo.h
-# already have updating actions. 
-t.rm(["a", "b"])
-t.write("foo.h", "#include <bar.h>")
-t.write("bar.h", "#include <biz.h>")
-t.run_build_system("-d+2 -f-", stdin=code)
-t.fail_test(string.find(t.stdout(), "...skipped a for lack of biz.h...") == -1)
-
-# Add an action for biz.h.
-code += """
-actions create-biz
-{
-   echo // > $(<)
-}
-create-biz biz.h ;
-"""
-
-t.rm(["b"])
-correct_order = mk_correct_order_func("create-biz", "copy a")
-t.run_build_system("-d+2 -f-", stdin=code + " DEPENDS all : biz.h ;")
-t.fail_test(not correct_order(t.stdout()))
-
-t.rm(["a", "biz.h"])
-t.run_build_system("-d+2 -f-", stdin=" DEPENDS all : biz.h ; " + code)
-t.fail_test(not correct_order(t.stdout()))           
-
-t.write("a", "")
-
-code="""
-DEPENDS all : main d ;
-
-actions copy 
-{
-    cp $(>) $(<) ;
-}
-
-DEPENDS main : a ;
-copy main : a ;
-
-INCLUDES a : <1>c ;
-
-NOCARE <1>c ;
-SEARCH on <1>c = . ;
-
-actions create-c 
-{
-    echo d > $(<)    
-}
-
-actions create-d
-{
-    echo // > $(<)
-}
-
-create-c <2>c ;
-LOCATE on <2>c = . ;
-create-d d ;
-
-HDRSCAN on <1>c = (.*) ;
-HDRRULE on <1>c = hdrrule ;
-
-rule hdrrule 
-{
-    INCLUDES $(1) : d ;
-}
-"""
-
-correct_order = mk_correct_order_func("create-d", "copy main")
-t.run_build_system("-d2 -f-", stdin=code)
-t.fail_test(not correct_order(t.stdout()))
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/core_import_module.py b/SRC/Boost/tools/build/v2/test/core_import_module.py
deleted file mode 100755
index f69180e..0000000
--- a/SRC/Boost/tools/build/v2/test/core_import_module.py
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester(pass_toolset=0)
-
-t.write("code", """
-module a
-{
-    rule r1 ( )
-    {
-        ECHO R1 ;
-    }
-}
-module a2
-{
-    rule r2 ( )
-    {
-        ECHO R2 ;
-    }
-}
-IMPORT a2 : r2 : : a2.r2 ;
-
-module b
-{
-    IMPORT_MODULE a : b ;
-    rule test
-    {
-        # Call rule visible via IMPORT_MODULE
-        a.r1 ;
-        # Call rule in global scope
-        a2.r2 ;
-    }
-}
-
-IMPORT b : test : : test ;
-test ;
-
-module c
-{
-    rule test
-    {
-        ECHO CTEST ;
-    }
-}
-
-IMPORT_MODULE c : ;
-c.test ;
-
-actions do-nothing { }
-do-nothing all ;
-""")
-
-t.run_build_system("-fcode", stdout="""R1
-R2
-CTEST
-""")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/core_modifiers.py b/SRC/Boost/tools/build/v2/test/core_modifiers.py
deleted file mode 100755
index da13f58..0000000
--- a/SRC/Boost/tools/build/v2/test/core_modifiers.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This tests the "existing" and "updated" modifiers on actions.
-
-import BoostBuild
-import string
-
-t = BoostBuild.Tester(pass_toolset=0)
-
-code = """
-DEPENDS all : a ;
-ALWAYS a ;
-NOTFILE a ;
-
-actions existing make-a
-{
-    echo $(>) > list
-}
-make-a a : a-1 a-2 a-3 ;
-DEPENDS a : a-1 a-2 a-3 ;
-NOCARE a-1 a-2 ;
-
-actions make-a3
-{
-   echo foo > $(<)
-}
-make-a3 a-3 ;
-"""
-
-t.write("file.jam", code)
-t.write("a-1", "")
-
-t.run_build_system("-ffile.jam")
-t.fail_test(string.strip(t.read("list")) != "a-1")
-t.rm(["a-3", "list"])
-
-code = string.replace(code, "existing", "updated")
-t.write("file.jam", code)
-t.run_build_system("-ffile.jam")
-t.fail_test(string.strip(t.read("list")) != "a-3")
-
-code = string.replace(code, "updated", "existing updated")
-t.write("file.jam", code)
-t.run_build_system("-ffile.jam")
-t.fail_test(string.strip(t.read("list")) != "a-1 a-3")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/core_typecheck.py b/SRC/Boost/tools/build/v2/test/core_typecheck.py
deleted file mode 100755
index ced3760..0000000
--- a/SRC/Boost/tools/build/v2/test/core_typecheck.py
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# This tests the typechecking facilities.
-
-import BoostBuild
-
-t = BoostBuild.Tester(pass_toolset=0)
-
-t.write("file.jam", """
-module .typecheck 
-{
-    rule [path] ( x )
-    {
-        if ! [ MATCH "^(::)" : $(x) ] 
-        {
-            ECHO "Error: $(x) is not a path" ;
-            return true ;
-        }
-    }
-}
-
-rule do ( [path] a )
-{
-}
-
-do $(ARGUMENT) ;
-
-actions dummy { } 
-dummy all ;
-""")
-
-t.run_build_system("-ffile.jam -sARGUMENT=::a/b/c")
-t.run_build_system("-ffile.jam -sARGUMENT=a/b/c", status=1,
-                   stdout="""Error: a/b/c is not a path
-file.jam:18: in module scope
-*** argument error
-* rule do ( [path] a )
-* called with: ( a/b/c )
-* true a
-file.jam:16:see definition of rule 'do' being called
-""")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/core_varnames.py b/SRC/Boost/tools/build/v2/test/core_varnames.py
deleted file mode 100755
index e4b4b1d..0000000
--- a/SRC/Boost/tools/build/v2/test/core_varnames.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This tests the core rule for enumerating the variable names in a module.
-
-import BoostBuild
-
-t = BoostBuild.Tester(pass_toolset=0)
-
-t.write("file.jam", """
-module foo
-{
-    rule bar { }
-    var1 = x y ;
-    var2 = fubar ;
-}
-
-expected = var1 var2 ;
-names = [ VARNAMES foo ] ;
-if $(names) in $(expected) && $(expected) in $(names)
-{
-    # everything OK
-}
-else
-{
-    EXIT expected to find variables $(expected:J=", ") in module foo,
-    but found $(names:J=", ") instead. ;
-}
-DEPENDS all : xx ;
-NOTFILE xx ;
-""")
-
-t.run_build_system("-ffile.jam", status=0)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/custom_generator.py b/SRC/Boost/tools/build/v2/test/custom_generator.py
deleted file mode 100755
index 6d47ad6..0000000
--- a/SRC/Boost/tools/build/v2/test/custom_generator.py
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003, 2004, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Attempt to declare a generator for creating OBJ from RC files. That generator
-# should be considered together with standard CPP->OBJ generators and
-# successfully create the target. Since we do not have a RC compiler everywhere,
-# we fake the action. The resulting OBJ will be unusable, but it must be
-# created.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """ 
-import rcc ; 
-""")
-
-t.write("rcc.jam", """ 
-import type ;
-import generators ;
-import print ;
-
-# Use 'RCC' to avoid conflicts with definitions in the standard rc.jam and
-# msvc.jam
-type.register RCC : rcc ;
-
-rule resource-compile ( targets * : sources * : properties * )
-{
-    print.output $(targets[1]) ;
-    print.text "rc-object" ;
-}
-
-generators.register-standard rcc.resource-compile : RCC : OBJ ;
-""")
-
-t.write("rcc.py", """
-import b2.build.type as type
-import b2.build.generators as generators
-
-from b2.manager import get_manager
-
-# Use 'RCC' to avoid conflicts with definitions in the standard rc.jam and
-# msvc.jam
-type.register('RCC', ['rcc'])
-
-generators.register_standard("rcc.resource-compile", ["RCC"], ["OBJ"])
-
-get_manager().engine().register_action(
-    "rcc.resource-compile",
-    '@($(STDOUT):E=rc-object) > "$(<)"')
-""")
-
-t.write("jamfile.jam", """ 
-obj r : r.rcc ; 
-""")
-
-t.write("r.rcc", """ 
-""")
-
-t.run_build_system()
-t.expect_content("bin/$toolset/debug/r.obj", "rc-object")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/default_build.py b/SRC/Boost/tools/build/v2/test/default_build.py
deleted file mode 100755
index cef881c..0000000
--- a/SRC/Boost/tools/build/v2/test/default_build.py
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2002, 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that default build clause actually has any effect.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", "import gcc ;")
-t.write("jamfile.jam", "exe a : a.cpp : : debug release ;")
-t.write("a.cpp", "int main() {}\n")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/a.exe")
-t.expect_addition("bin/$toolset/release/a.exe")
-
-# Check that explictly-specified build variant supresses default-build.
-t.rm("bin")
-t.run_build_system("release")
-t.expect_addition(BoostBuild.List("bin/$toolset/release/") * "a.exe a.obj")
-t.expect_nothing_more()
-
-# Now check that we can specify explicit build request and default-build will be
-# combined with it.
-t.run_build_system("optimization=space")
-t.expect_addition("bin/$toolset/debug/optimization-space/a.exe")
-t.expect_addition("bin/$toolset/release/optimization-space/a.exe")
-
-# Test that default-build must be identical in all alternatives. Error case.
-t.write("jamfile.jam", """
-exe a : a.cpp : : debug ;
-exe a : b.cpp : : ;
-""")
-expected="""error: default build must be identical in all alternatives
-main target is ./a
-with
-differing from previous default build <variant>debug
-
-"""
-t.run_build_system("-n --no-error-backtrace", status=1)
-t.fail_test(t.stdout().find("default build must be identical in all alternatives") == -1)
-
-# Test that default-build must be identical in all alternatives. No Error case,
-# empty default build.
-t.write("jamfile.jam", """
-exe a : a.cpp : <variant>debug ;
-exe a : b.cpp : <variant>release ;
-""")
-t.run_build_system("-n --no-error-backtrace", status=0)
-
-
-# Now try a harder example: default build which contains <define> should cause
-# <define> to be present when "b" is compiled. This happens only if
-# "build-project b" is placed first.
-t.write("jamfile.jam", """
-project : default-build <define>FOO ;
-build-project a ;
-build-project b ;
-""")
-
-t.write("a/jamfile.jam", """
-exe a : a.cpp ../b//b ;
-""")
-
-t.write("a/a.cpp", """
-#ifdef _WIN32
-__declspec(dllimport)
-#endif
-void foo();
-int main() { foo(); }
-""")
-
-t.write("b/jamfile.jam", """
-lib b : b.cpp ;
-""")
-
-t.write("b/b.cpp", """
-#ifdef FOO
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void foo() {}
-#endif
-""")
-
-t.run_build_system()
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/default_features.py b/SRC/Boost/tools/build/v2/test/default_features.py
deleted file mode 100755
index 78c1813..0000000
--- a/SRC/Boost/tools/build/v2/test/default_features.py
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that features with default values are always present in build properties
-# of any target.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-# Declare *non-propagated* feature foo.
-t.write("jamroot.jam", """
-import feature : feature ;
-feature foo : on off ;
-""")
-
-# Note that '<foo>on' will not be propagated to 'd/l'.
-t.write("jamfile.jam", """
-exe hello : hello.cpp d//l ;
-""")
-
-t.write("hello.cpp", """
-#ifdef _WIN32
-__declspec(dllimport)
-#endif
-void foo();
-int main() { foo(); }
-""")
-
-t.write("d/jamfile.jam", """
-lib l : l.cpp : <foo>on:<define>FOO ;
-""")
-
-t.write("d/l.cpp", """
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-#ifdef FOO
-void foo() {}
-#endif
-""")
-
-t.run_build_system()
-
-t.expect_addition("bin/$toolset/debug/hello.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/default_toolset.py b/SRC/Boost/tools/build/v2/test/default_toolset.py
deleted file mode 100755
index 500da88..0000000
--- a/SRC/Boost/tools/build/v2/test/default_toolset.py
+++ /dev/null
@@ -1,211 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2008 Jurko Gospodnetic
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that the expected default toolset is used when no toolset is explicitly
-# specified on the command line or used from code via the using rule. Test that
-# the default toolset is correctly used just like any other explicitly used
-# toolset (e.g. toolset prerequisites, properties conditioned on toolset related
-# features, etc.).
-#
-# Note that we need to ignore regular site/user/test configuration files to
-# avoid them marking any toolsets not under our control as used.
-
-import BoostBuild
-
-
-# Line displayed by Boost Build when using the default toolset.
-configuring_default_toolset_message = \
-    'warning: Configuring default toolset "%s".'
-
-
-################################################################################
-#
-# test_conditions_on_default_toolset()
-# ------------------------------------
-#
-################################################################################
-
-def test_conditions_on_default_toolset():
-    """Test that toolset and toolset subfeature conditioned properties get
-    applied correctly when the toolset is selected by default. Implicitly tests
-    that we can use the set-default-toolset rule to set the default toolset to
-    be used by Boost Build.
-    """
-
-    t = BoostBuild.Tester("--user-config= --ignore-site-config",
-        pass_toolset=False, use_test_config=False)
-
-    toolset_name           = "myCustomTestToolset"
-    toolset_version        = "v"
-    toolset_version_unused = "v_unused"
-    message_loaded         = "Toolset '%s' loaded." % toolset_name
-    message_initialized    = "Toolset '%s' initialized." % toolset_name ;
-
-    # Custom toolset.
-    t.write(toolset_name + ".jam", """
-import feature ;
-ECHO "%(message_loaded)s" ;
-feature.extend toolset : %(toolset_name)s ;
-feature.subfeature toolset %(toolset_name)s : version : %(toolset_version)s %(toolset_version_unused)s ;
-rule init ( version ) { ECHO "%(message_initialized)s" ; }
-""" % {'message_loaded'     : message_loaded     ,
-    'message_initialized'   : message_initialized,
-    'toolset_name'          : toolset_name       ,
-    'toolset_version'       : toolset_version    ,
-    'toolset_version_unused': toolset_version_unused})
-
-    # Main Boost Build project script.
-    t.write("jamroot.jam", """
-import build-system ;
-import errors ;
-import feature ;
-import notfile ;
-
-build-system.set-default-toolset %(toolset_name)s : %(toolset_version)s ;
-
-feature.feature description : : free incidental ;
-
-# We use a rule instead of an action to avoid problems with action output not
-# getting piped to stdout by the testing system.
-rule buildRule ( names : targets ? : properties * )
-{
-    local descriptions = [ feature.get-values description : $(properties) ] ;
-    ECHO "descriptions:" /$(descriptions)/ ;
-    local toolset = [ feature.get-values toolset : $(properties) ] ;
-    ECHO "toolset:" /$(toolset)/ ;
-    local toolset-version = [ feature.get-values "toolset-$(toolset):version" : $(properties) ] ;
-    ECHO "toolset-version:" /$(toolset-version)/ ;
-}
-
-notfile testTarget
-    : @buildRule
-    :
-    :
-    <description>stand-alone
-    <toolset>%(toolset_name)s:<description>toolset
-    <toolset>%(toolset_name)s-%(toolset_version)s:<description>toolset-version
-    <toolset>%(toolset_name)s-%(toolset_version_unused)s:<description>toolset-version-unused ;
-""" % {'toolset_name'       : toolset_name   ,
-    'toolset_version'       : toolset_version,
-    'toolset_version_unused': toolset_version_unused})
-
-    t.run_build_system()
-    t.expect_output_line(configuring_default_toolset_message % toolset_name)
-    t.expect_output_line(message_loaded)
-    t.expect_output_line(message_initialized)
-    t.expect_output_line("descriptions: /stand-alone/ /toolset/ /toolset-version/")
-    t.expect_output_line("toolset: /%s/" % toolset_name)
-    t.expect_output_line("toolset-version: /%s/" % toolset_version)
-
-    t.cleanup()
-
-
-################################################################################
-#
-# test_default_toolset_on_os()
-# ----------------------------
-#
-################################################################################
-
-def test_default_toolset_on_os( os, expected_toolset ):
-    """Test that the given toolset is used as the default toolset on the given
-    os. Uses hardcoded knowledge of how Boost Build decides on which host OS it
-    is currently running. Note that we must not do much after tricking Boost
-    Build into believing it has a specific host OS as this might mess up other
-    important internal Boost Build state.
-    """
-
-    t = BoostBuild.Tester("--user-config= --ignore-site-config",
-        pass_toolset=False, use_test_config=False)
-
-    t.write("jamroot.jam", "modules.poke os : .name : %s ;" % os)
-
-    # We need to tell the test system to ignore stderr output as attempting to
-    # load missing toolsets might cause random failures with which we are not
-    # concerned in this test.
-    t.run_build_system(stderr=None)
-    t.expect_output_line(configuring_default_toolset_message % expected_toolset)
-
-    t.cleanup()
-
-
-################################################################################
-#
-# test_default_toolset_requirements()
-# -----------------------------------
-#
-################################################################################
-
-def test_default_toolset_requirements():
-    """Test that default toolset's requirements get applied correctly.
-    """
-
-    t = BoostBuild.Tester("--user-config= --ignore-site-config",
-        pass_toolset=False, use_test_config=False,
-        ignore_toolset_requirements=False)
-
-    toolset_name = "customTestToolsetWithRequirements"
-
-    # Custom toolset.
-    t.write(toolset_name + ".jam", """
-import feature ;
-import toolset ;
-feature.extend toolset : %(toolset_name)s ;
-toolset.add-requirements <description>toolset-requirement ;
-rule init ( ) { }
-""" % {'toolset_name': toolset_name})
-
-    # Main Boost Build project script.
-    t.write("jamroot.jam", """
-import build-system ;
-import errors ;
-import feature ;
-import notfile ;
-
-build-system.set-default-toolset %(toolset_name)s ;
-
-feature.feature description : : free incidental ;
-
-# We use a rule instead of an action to avoid problems with action output not
-# getting piped to stdout by the testing system.
-rule buildRule ( names : targets ? : properties * )
-{
-    local descriptions = [ feature.get-values description : $(properties) ] ;
-    ECHO "descriptions:" /$(descriptions)/ ;
-    local toolset = [ feature.get-values toolset : $(properties) ] ;
-    ECHO "toolset:" /$(toolset)/ ;
-}
-
-notfile testTarget
-    : @buildRule
-    :
-    :
-    <description>target-requirement
-    <description>toolset-requirement:<description>conditioned-requirement
-    <description>unrelated-condition:<description>unrelated-description ;
-""" % {'toolset_name': toolset_name})
-
-    t.run_build_system()
-    t.expect_output_line(configuring_default_toolset_message % toolset_name)
-    t.expect_output_line("descriptions: /conditioned-requirement/ /target-requirement/ /toolset-requirement/")
-    t.expect_output_line("toolset: /%s/" % toolset_name)
-
-    t.cleanup()
-
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-test_default_toolset_on_os("NT"         , "msvc")
-test_default_toolset_on_os("LINUX"      , "gcc" )
-test_default_toolset_on_os("CYGWIN"     , "gcc" )
-test_default_toolset_on_os("SomeOtherOS", "gcc" )
-test_default_toolset_requirements()
-test_conditions_on_default_toolset()
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/a.cpp b/SRC/Boost/tools/build/v2/test/dependency-test/a.cpp
deleted file mode 100755
index 6ebccd5..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/a.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#include <a.h>
-# include "a.h"
-#include <x.h>
-
-int main()
-{
-    return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/a.h b/SRC/Boost/tools/build/v2/test/dependency-test/a.h
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/a.h
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/a_c.c b/SRC/Boost/tools/build/v2/test/dependency-test/a_c.c
deleted file mode 100755
index ef1e370..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/a_c.c
+++ /dev/null
@@ -1,12 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#include <a.h>
-# include "a.h"
-#include <x.h>
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/b.cpp b/SRC/Boost/tools/build/v2/test/dependency-test/b.cpp
deleted file mode 100755
index 14f038e..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/b.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#include "a.h"
-
-int main()
-{
-}
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/b.h b/SRC/Boost/tools/build/v2/test/dependency-test/b.h
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/b.h
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/c.cpp b/SRC/Boost/tools/build/v2/test/dependency-test/c.cpp
deleted file mode 100755
index de6afb8..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/c.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#include "x.h"
-
-int main()
-{
-}
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/e.cpp b/SRC/Boost/tools/build/v2/test/dependency-test/e.cpp
deleted file mode 100755
index 91d501f..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/e.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#include "x.h"
-
-int main()
-{
-    return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/foo.jam b/SRC/Boost/tools/build/v2/test/dependency-test/foo.jam
deleted file mode 100755
index 908679b..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/foo.jam
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2003 Dave Abrahams 
-# Copyright 2002, 2003, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import type ;
-import generators ;
-import os ;
-import print ;
-
-type.register FOO : foo ;
-
-generators.register-standard foo.foo : FOO : CPP H ;
-
-nl = "
-" ;
-
-rule foo ( targets * : sources * : properties * )
-{
-    # On NT, you need an exported symbol in order to have an 
-    # import lib generated
-    # We won't really use the symbol defined here, just force
-    # lib creation.
-    if ( [ os.name ] = NT || [ modules.peek : OS ] in CYGWIN )
-        && <main-target-type>LIB in $(properties)
-    {
-        .decl =  "void __declspec(dllexport) foo(){}" ;
-    }
-    
-    print.output $(<[1]) ;
-    print.text $(.decl:E="//")$(nl) ;
-    print.output $(<[2]) ;
-    print.text "#include <z.h>"$(nl) ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/foo.py b/SRC/Boost/tools/build/v2/test/dependency-test/foo.py
deleted file mode 100755
index 68fdaaa..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/foo.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2003 Dave Abrahams 
-# Copyright 2002, 2003, 2005, 2010 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import bjam
-import b2.build.type as type
-import b2.build.generators as generators
-
-from b2.manager import get_manager
-
-type.register("FOO", ["foo"])
-generators.register_standard("foo.foo", ["FOO"], ["CPP", "H"])
-
-def prepare_foo(targets, sources, properties):
-
-    if properties.get('os') in ['windows', 'cygwin']:
-        bjam.call('set-target-variable', targets, "DECL", 
-                  "void __declspec(dllexport) foo(){}")
-    
-    pass
-
-get_manager().engine().register_action("foo.foo",\
-"""echo -e $(DECL:E="//")\\n > $(<[1])
-echo -e "#include <z.h>\\n" > $(<[2])
-""", function=prepare_foo)
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/jamfile.jam b/SRC/Boost/tools/build/v2/test/dependency-test/jamfile.jam
deleted file mode 100755
index 96dd7d3..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/jamfile.jam
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2002, 2003, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-project test 
-    : requirements <include>src1 
-    ;
-
-exe a 
-    : x.foo a.cpp a_c.c
-    ;
-    
-exe b
-    : b.cpp
-    ;    
-    
-# Because of <define>, c.cpp will be compiled to different
-# directory than everything for main target "a". Therefore
-# without <implicit-dependency>, it won't find "x.h", which is part
-# of "a"'s dependency graph.
-exe c
-    : c.cpp 
-    : <define>FOO <implicit-dependency>a
-    ;    
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/jamroot.jam b/SRC/Boost/tools/build/v2/test/dependency-test/jamroot.jam
deleted file mode 100755
index d75a4c4..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/jamroot.jam
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-import gcc ;
-import foo ;
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/src1/a.h b/SRC/Boost/tools/build/v2/test/dependency-test/src1/a.h
deleted file mode 100755
index 986cb53..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/src1/a.h
+++ /dev/null
@@ -1,10 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#include "b.h"
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/src1/b.h b/SRC/Boost/tools/build/v2/test/dependency-test/src1/b.h
deleted file mode 100755
index 42a2964..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/src1/b.h
+++ /dev/null
@@ -1,10 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#include "c.h"
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/src1/c.h b/SRC/Boost/tools/build/v2/test/dependency-test/src1/c.h
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/src1/c.h
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/src1/z.h b/SRC/Boost/tools/build/v2/test/dependency-test/src1/z.h
deleted file mode 100755
index 6ab7dcf..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/src1/z.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/* Copyright 2003, 2004, 2006 Vladimir Prus */
-/* Distributed under the Boost Software License, Version 1.0. */
-/* (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) */
-
-extern int dummy_variabled_need_to_suppress_empty_file_warning_on_hp_cxx_compiler;
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/src2/b.h b/SRC/Boost/tools/build/v2/test/dependency-test/src2/b.h
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency-test/src2/b.h
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/x.foo b/SRC/Boost/tools/build/v2/test/dependency-test/x.foo
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/test/dependency-test/y.foo b/SRC/Boost/tools/build/v2/test/dependency-test/y.foo
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/test/dependency_property.py b/SRC/Boost/tools/build/v2/test/dependency_property.py
deleted file mode 100755
index d046902..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency_property.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Regression test: virtual targets with different dependency properties were
-# considered different by 'virtual-target.register', but the code which
-# determined target paths ignored dependency properties --- so both targets used
-# to be placed to the same location.
-
-import BoostBuild
-import string
-
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-lib foo : foo.cpp ;
-exe hello : hello.cpp ;
-exe hello2 : hello.cpp : <library>foo ;
-""")
-
-t.write("hello.cpp", "int main() {}\n")
-
-t.write("foo.cpp", """
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void foo() {}
-""")
-
-t.run_build_system("--no-error-backtrace", status=1)
-t.fail_test(string.find(t.stdout(), "Duplicate name of actual target") == -1)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/dependency_test.py b/SRC/Boost/tools/build/v2/test/dependency_test.py
deleted file mode 100755
index 6f02998..0000000
--- a/SRC/Boost/tools/build/v2/test/dependency_test.py
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2002, 2003, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.set_tree("dependency-test")
-
-t.run_build_system()
-
-# Check that main target 'c' was able to find 'x.h' from 'a's dependency graph.
-t.expect_addition("bin/$toolset/debug/c.exe")
-
-# Check handling of first level includes.
-
-# Both 'a' and 'b' include "a.h" and should be updated.
-t.touch("a.h")
-t.run_build_system()
-
-t.expect_touch("bin/$toolset/debug/a.exe")
-t.expect_touch("bin/$toolset/debug/a.obj")
-t.expect_touch("bin/$toolset/debug/a_c.obj")
-t.expect_touch("bin/$toolset/debug/b.exe")
-t.expect_touch("bin/$toolset/debug/b.obj")
-# Now, <dependency> does not add a dependency. It sound weird, but is
-# intentional. Need to rename <dependency> eventually.
-#t.expect_touch("bin/$toolset/debug/main-target-c/c.exe")
-t.ignore("*.tds")
-t.expect_nothing_more()
-
-# Only 'a' include <a.h> and should be updated.
-t.touch("src1/a.h")
-t.run_build_system()
-
-t.expect_touch("bin/$toolset/debug/a.exe")
-t.expect_touch("bin/$toolset/debug/a.obj")
-t.expect_touch("bin/$toolset/debug/a_c.obj")
-t.ignore("*.tds")
-t.expect_nothing_more()
-
-# "src/a.h" includes "b.h" (in the same dir).
-t.touch("src1/b.h")
-t.run_build_system()
-t.expect_touch("bin/$toolset/debug/a.exe")
-t.expect_touch("bin/$toolset/debug/a.obj")
-t.expect_touch("bin/$toolset/debug/a_c.obj")
-t.ignore("*.tds")
-t.expect_nothing_more()
-
-# Included by "src/b.h". We had a bug: file included via "", like "b.h" is in
-# this case was not scanned at all.
-t.touch("src1/c.h")
-t.run_build_system()
-t.expect_touch("bin/$toolset/debug/a.exe")
-
-t.touch("b.h")
-t.run_build_system()
-t.expect_nothing_more()
-
-# Test dependency on a generated header.
-#
-# TODO: we have also to check that generated header is found correctly if it is
-# different for different subvariants. Lacking any toolset support, this check
-# will be implemented later.
-t.touch("x.foo")
-t.run_build_system()
-t.expect_touch("bin/$toolset/debug/a.obj")
-t.expect_touch("bin/$toolset/debug/a_c.obj")
-
-# Check that generated headers are scanned for dependencies as well.
-t.touch("src1/z.h")
-t.run_build_system()
-t.expect_touch("bin/$toolset/debug/a.obj")
-t.expect_touch("bin/$toolset/debug/a_c.obj")
-
-# Regression test: on Windows, <includes> with absolute paths were not
-# considered when scanning dependencies.
-t.rm(".")
-
-t.write("jamroot.jam", """
-path-constant TOP : . ;
-exe app : main.cpp : <include>$(TOP)/include ;
-""");
-
-t.write("main.cpp", """
-#include <dir/header.h>
-int main() {}
-""")
-
-t.write("include/dir/header.h", "")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/main.obj")
-
-t.touch("include/dir/header.h")
-t.run_build_system()
-t.expect_touch("bin/$toolset/debug/main.obj")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/direct-request-test/a.cpp b/SRC/Boost/tools/build/v2/test/direct-request-test/a.cpp
deleted file mode 100755
index c105f36..0000000
--- a/SRC/Boost/tools/build/v2/test/direct-request-test/a.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-void
-# ifdef _WIN32
-__declspec(dllimport)
-# endif 
-foo();
-
-int main() 
-{
-    foo();
-}
diff --git a/SRC/Boost/tools/build/v2/test/direct-request-test/b.cpp b/SRC/Boost/tools/build/v2/test/direct-request-test/b.cpp
deleted file mode 100755
index 28b1945..0000000
--- a/SRC/Boost/tools/build/v2/test/direct-request-test/b.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-// This file will declare 'foo' is 'MACROS' is defined.
-
-#ifdef MACROS
-void
-# ifdef _WIN32
-__declspec(dllexport)
-# endif 
-foo() {}
-#endif
-
-# ifdef _WIN32
-int __declspec(dllexport) force_implib_creation;
-# endif 
diff --git a/SRC/Boost/tools/build/v2/test/direct-request-test/b_inverse.cpp b/SRC/Boost/tools/build/v2/test/direct-request-test/b_inverse.cpp
deleted file mode 100755
index d1a3ea9..0000000
--- a/SRC/Boost/tools/build/v2/test/direct-request-test/b_inverse.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-// This file will declare 'foo' is 'MACROS' is NOT defined.
-
-#ifndef MACROS
-void
-# ifdef _WIN32
-__declspec(dllexport)
-# endif 
-foo() {}
-#endif
-
-# ifdef _WIN32
-int __declspec(dllexport) force_implib_creation;
-# endif 
diff --git a/SRC/Boost/tools/build/v2/test/direct-request-test/jamfile.jam b/SRC/Boost/tools/build/v2/test/direct-request-test/jamfile.jam
deleted file mode 100755
index 0498487..0000000
--- a/SRC/Boost/tools/build/v2/test/direct-request-test/jamfile.jam
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-# This will link correctly only if symbol MACROS is defined when compiling
-# b.cpp. However, this is only possible if that symbol is requested
-# on command line and b.cpp is compiled with directly requested
-# properties.
-
-exe a : a.cpp b ;
-
-lib b : b.cpp ;
diff --git a/SRC/Boost/tools/build/v2/test/direct-request-test/jamfile2.jam b/SRC/Boost/tools/build/v2/test/direct-request-test/jamfile2.jam
deleted file mode 100755
index 32accdc..0000000
--- a/SRC/Boost/tools/build/v2/test/direct-request-test/jamfile2.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-
-# This will link correctly only if symbol MACROS is not defined when 
-# compiling b.cpp. This tests if direct build request
-# 'release <define>MACROS' to 'b' does not add 'MACROS' when 'b'
-# is compiled with 'debug' -- the version needed by 'a'.
-
-exe a : a.cpp b : <variant>debug ;
-
-lib b : b.cpp ;
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/test/direct-request-test/jamroot.jam b/SRC/Boost/tools/build/v2/test/direct-request-test/jamroot.jam
deleted file mode 100755
index 94b21c9..0000000
--- a/SRC/Boost/tools/build/v2/test/direct-request-test/jamroot.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-import gcc ;
diff --git a/SRC/Boost/tools/build/v2/test/direct_request_test.py b/SRC/Boost/tools/build/v2/test/direct_request_test.py
deleted file mode 100755
index bc80edd..0000000
--- a/SRC/Boost/tools/build/v2/test/direct_request_test.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/python
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-
-# First check some startup.
-t.set_tree("direct-request-test")
-t.run_build_system(extra_args="define=MACROS")
-t.expect_addition("bin/$toolset/debug/" 
-                  * (BoostBuild.List("a.obj b.obj b.dll a.exe")))
-
-
-# When building a debug version, the 'define' still applies.
-t.rm("bin")
-t.run_build_system(extra_args="debug define=MACROS")
-t.expect_addition("bin/$toolset/debug/" 
-                  * (BoostBuild.List("a.obj b.obj b.dll a.exe")))
-
-
-# When building release version, the 'define' should not apply: we will have
-# direct build request 'release <define>MACROS' and a real build property
-# 'debug'.
-t.copy("jamfile2.jam", "jamfile.jam")
-t.copy("b_inverse.cpp", "b.cpp")
-t.rm("bin")
-t.run_build_system(extra_args="release define=MACROS")
-
-
-# Regression test: direct build request was not working when there was more than
-# one level of 'build-project'.
-t.rm(".")
-t.write('jamroot.jam', '')
-t.write('jamfile.jam', 'build-project a ;')
-t.write('a/jamfile.jam', 'build-project b ;')
-t.write('a/b/jamfile.jam', '')
-t.run_build_system("release")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/disambiguation.py b/SRC/Boost/tools/build/v2/test/disambiguation.py
deleted file mode 100755
index a365289..0000000
--- a/SRC/Boost/tools/build/v2/test/disambiguation.py
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2006.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that it is possible to add a suffix to a main target name to disambiguate
-# that main target from another, and that this does not affect the names of the
-# generated targets.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-exe hello.exe : hello.obj ;
-obj hello.obj : hello.cpp : <variant>debug ;
-obj hello.obj2 : hello.cpp : <variant>release ;
-""")
-
-t.write("hello.cpp", """
-int main() {}
-""")
-
-t.run_build_system()
-
-t.expect_addition("bin/$toolset/debug/hello.exe")
-t.expect_addition("bin/$toolset/debug/hello.obj")
-t.expect_addition("bin/$toolset/release/hello.obj")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/dll_path.py b/SRC/Boost/tools/build/v2/test/dll_path.py
deleted file mode 100755
index f89b89a..0000000
--- a/SRC/Boost/tools/build/v2/test/dll_path.py
+++ /dev/null
@@ -1,158 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2003. Permission to copy, use, modify, sell and
-# distribute this software is granted provided this copyright notice appears in
-# all copies. This software is provided "as is" without express or implied
-# warranty, and with no claim as to its suitability for any purpose.
-
-# Test that the <dll-path> property is correctly set when using
-# <hardcode-dll-paths>true.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-# The point of this test is to have exe "main" which uses library "b", which
-# uses library "a". When "main" is built with <hardcode-dll-paths>true, paths to
-# both libraries should be present as values of <dll-path> feature. We create a
-# special target type which reports <dll-path> values on its sources and compare
-# the list of found values with out expectations.
-
-t.write("jamfile.jam", """
-exe main : main.cpp b//b ;
-explicit main ;
-path-list mp : main ;
-""")
-
-t.write("main.cpp", """
-int main() {}
-""")
-
-t.write("jamroot.jam", """
-using dll_paths ;
-""")
-
-t.write("dll_paths.jam", """
-import type ;
-import generators ;
-import feature ;
-import sequence ;
-import print ;
-import "class" : new ;
-
-rule init ( )
-{
-    type.register PATH_LIST : pathlist ;
-
-    class dll-paths-list-generator : generator
-    {
-        rule __init__ ( )
-        {
-            generator.__init__ dll_paths.list : EXE : PATH_LIST ;
-        }
-
-        rule generated-targets ( sources + : property-set : project name ? )
-        {
-            local dll-paths ;
-            for local s in $(sources)
-            {
-                local a = [ $(s).action ] ;
-                if $(a)
-                {
-                    local p = [ $(a).properties ] ;
-                    dll-paths += [ $(p).get <dll-path> ] ;
-                }
-            }
-            return [ generator.generated-targets $(sources) :
-                [ $(property-set).add-raw $(dll-paths:G=<dll-path>) ] :
-                $(project) $(name) ] ;
-
-        }
-    }
-    generators.register [ new dll-paths-list-generator ] ;
-}
-
-rule list ( target : sources * : properties * )
-{
-    local paths = [ feature.get-values <dll-path> : $(properties) ] ;
-    paths = [ sequence.insertion-sort $(paths) ] ;
-    print.output $(target) ;
-    print.text $(paths) ;
-}
-""")
-
-t.write("dll_paths.py", """
-import bjam
-
-import b2.build.type as type
-import b2.build.generators as generators
-
-from b2.manager import get_manager
-
-def init():
-    type.register("PATH_LIST", ["pathlist"])
-
-    class DllPathsListGenerator(generators.Generator):
-
-        def __init__(self):
-            generators.Generator.__init__(self, "dll_paths.list", False, ["EXE"], ["PATH_LIST"])
-
-        def generated_targets(self, sources, ps, project, name):
-
-            dll_paths = []
-            for s in sources:
-                a = s.action()
-                if a:
-                    p = a.properties()
-                    dll_paths += p.get('dll-path')
-            dll_paths.sort()
-            return generators.Generator.generated_targets(self,
-                sources, ps.add_raw(["<dll-path>" + p for p in dll_paths]),
-                project, name)
-
-    generators.register(DllPathsListGenerator())
-
-command = \"\"\"
-echo $(PATHS) > $(<[1])
-\"\"\"
-def function(target, sources, ps):
-    bjam.call('set-target-variable', target, "PATHS", ps.get('dll-path'))
-    
-get_manager().engine().register_action("dll_paths.list", command, function=function)
-""")
-
-t.write("a/a.cpp", """
-void
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-foo() {}
-""")
-
-t.write("a/jamfile.jam", """
-lib a : a.cpp ;
-""")
-
-t.write("b/b.cpp", """
-void
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-bar() {}
-""")
-
-t.write("b/jamfile.jam", """
-lib b : b.cpp ../a//a ;
-""")
-
-t.run_build_system("hardcode-dll-paths=true")
-
-t.expect_addition("bin/$toolset/debug/mp.pathlist")
-
-es1 = t.adjust_names(["a/bin/$toolset/debug"])[0]
-es2 = t.adjust_names(["b/bin/$toolset/debug"])[0]
-
-t.expect_content_line("bin/$toolset/debug/mp.pathlist", "*" + es1);
-t.expect_content_line("bin/$toolset/debug/mp.pathlist", "*" + es2);
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/double_loading.py b/SRC/Boost/tools/build/v2/test/double_loading.py
deleted file mode 100755
index 4f27001..0000000
--- a/SRC/Boost/tools/build/v2/test/double_loading.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-# Regression test for double loading of the same Jamfile.
-t.write("jamroot.jam", "" )
-t.write("jamfile.jam", "build-project subdir ;")
-t.write("subdir/jamfile.jam", 'ECHO "Loaded subdir" ;')
-
-t.run_build_system(subdir="subdir")
-t.expect_output_line("Loaded subdir")
-
-
-# Regression test for a more contrived case. The top-level Jamfile refers to
-# subdir via use-project, while subdir's Jamfile is being loaded. The motivation
-# why use-project referring to subprojects is useful can be found at
-# http://article.gmane.org/gmane.comp.lib.boost.build/3906/
-t.write("jamroot.jam", "" )
-t.write("jamfile.jam", "use-project /subdir : subdir ;")
-t.write("subdir/jamfile.jam", "project subdir ;")
-
-t.run_build_system(subdir="subdir");
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/duplicate.py b/SRC/Boost/tools/build/v2/test/duplicate.py
deleted file mode 100755
index 26182b5..0000000
--- a/SRC/Boost/tools/build/v2/test/duplicate.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This test tries to stage the same file to the same location by *two* different
-# stage rules, in two different projects. This is not exactly good thing to do,
-# but still, V2 should handle this. We had two bugs:
-# - since the file is referred from two projects, we created to different
-#   virtual targets
-# - we also failed to figure out that the two target corresponding to the copied
-#   files (created in two projects) are actually equivalent.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("a.cpp", """
-""")
-
-t.write("jamroot.jam", """
-build-project a ;
-build-project b ;
-""")
-
-t.write("a/jamfile.jam", """
-stage bin : ../a.cpp : <location>../dist ;
-""")
-
-t.write("b/jamfile.jam", """
-stage bin : ../a.cpp : <location>../dist ;
-""")
-
-t.run_build_system()
-t.expect_addition("dist/a.cpp")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/echo_args.jam b/SRC/Boost/tools/build/v2/test/echo_args.jam
deleted file mode 100755
index f870bd3..0000000
--- a/SRC/Boost/tools/build/v2/test/echo_args.jam
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2001 Dave Abrahams
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-rule echo_args ( a b ? c ? : d + : e * )
-{
-    ECHO a= $(a) b= $(b) c= $(c) ":" d= $(d) ":" e= $(e) ;
-}
-
-rule echo_varargs ( a b ? c ? : d + : e * : * )
-{
-    ECHO a= $(a) b= $(b) c= $(c) ":" d= $(d) ":" e= $(e)
-      ": rest= "$(4[1]) $(4[2])
-      ": "$(5[1]) $(5[2])
-      ": "$(6[1]) $(6[2])
-      ": "$(7[1]) $(7[2])
-      ": "$(8[1]) $(8[2])
-      ": "$(9[1]) $(9[2]) ;
-}
-
diff --git a/SRC/Boost/tools/build/v2/test/empty.jam b/SRC/Boost/tools/build/v2/test/empty.jam
deleted file mode 100755
index db9e33f..0000000
--- a/SRC/Boost/tools/build/v2/test/empty.jam
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2001 Dave Abrahams
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This file is empty; it just suppresses warnings
diff --git a/SRC/Boost/tools/build/v2/test/engine/README.txt b/SRC/Boost/tools/build/v2/test/engine/README.txt
deleted file mode 100755
index 7b50849..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/README.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-
-This directory contains tests for the update engine of
-Boost.Build. They presently are not integrated with
-the Python based test system and must be run by
-hand.
diff --git a/SRC/Boost/tools/build/v2/test/engine/action_status.jam b/SRC/Boost/tools/build/v2/test/engine/action_status.jam
deleted file mode 100755
index 758b9f9..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/action_status.jam
+++ /dev/null
@@ -1,28 +0,0 @@
-#~ Copyright 2007 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-if ! $(BJAM_SUBTEST)
-{
-    ECHO --- Testing \"actions status results\"... ;
-
-    assert "" 0 : (==) : [ SHELL "\"$(ARGV[1])\" -f action_status.jam -sBJAM_SUBTEST=1" : exit-status : no-output ] ;
-    if $(NT)
-    {
-        assert "" 0 : (==) : [ SHELL "\"$(ARGV[1])\" -f action_status.jam -sBJAM_SUBTEST=1 \"-sACTION=;\"" : exit-status : no-output ] ;
-    }
-    assert "" 0 : (!=) : [ SHELL "\"$(ARGV[1])\" -f action_status.jam -sBJAM_SUBTEST=1 -sACTION=invalid" : exit-status : no-output ] ;
-}
-else
-{
-    actions quietly .a. { $(ACTION) }
-
-    rule .a.
-    {
-        DEPENDS $(<) : $(>) ;
-    }
-
-    NOTFILE subtest ;
-    .a. subtest_a : subtest ;
-    DEPENDS all : subtest_a ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/engine/actions_quietly.jam b/SRC/Boost/tools/build/v2/test/engine/actions_quietly.jam
deleted file mode 100755
index 5d4cf3f..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/actions_quietly.jam
+++ /dev/null
@@ -1,55 +0,0 @@
-#~ Copyright 2007 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-if ! $(BJAM_SUBTEST)
-{
-    ECHO --- Testing \"actions quietly\"... ;
-
-    assert "...found 4 targets...
-...updating 2 targets...
-.a. subtest_a
-
-echo [subtest_a] 0
-echo [subtest_a] 1
-echo [subtest_a] 2
-    
-[subtest_a] 0
-[subtest_a] 1
-[subtest_a] 2
-.a. subtest_b
-
-echo [subtest_b] 0
-echo [subtest_b] 1
-echo [subtest_b] 2
-    
-[subtest_b] 0
-[subtest_b] 1
-[subtest_b] 2
-...updated 2 targets...
-" : (==) : [ SHELL "\"$(ARGV[1])\" -f actions_quietly.jam -sBJAM_SUBTEST=1 -d2" ] ;
-
-    assert "...found 4 targets...
-...updating 2 targets...
-...updated 2 targets...
-" : (==) : [ SHELL "\"$(ARGV[1])\" -f actions_quietly.jam -sBJAM_SUBTEST=1" ] ;
-}
-else
-{
-    actions quietly .a.
-    {
-echo [$(<:B)] 0
-echo [$(<:B)] 1
-echo [$(<:B)] 2
-    }
-    
-    rule .a.
-    {
-        DEPENDS $(<) : $(>) ;
-    }
-    
-    NOTFILE subtest ;
-    .a. subtest_a : subtest ;
-    .a. subtest_b : subtest ;
-    DEPENDS all : subtest_a subtest_b ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/engine/builtin_normalize_path.jam b/SRC/Boost/tools/build/v2/test/engine/builtin_normalize_path.jam
deleted file mode 100755
index 29412ea..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/builtin_normalize_path.jam
+++ /dev/null
@@ -1,60 +0,0 @@
-#~ Copyright 2008 Jurko Gospodnetic.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-ECHO --- Testing NORMALIZE_PATH builtin... ;
-
-assert "."     : (==) : [ NORMALIZE_PATH ] ;
-assert "."     : (==) : [ NORMALIZE_PATH "" ] ;
-assert "."     : (==) : [ NORMALIZE_PATH "." ] ;
-assert ".."    : (==) : [ NORMALIZE_PATH ".." ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "/" ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "\\" ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "//" ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "\\\\" ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "//\\\\//\\\\" ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "/." ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "/./" ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "\\\\///.///\\\\\\" ] ;
-assert "."     : (==) : [ NORMALIZE_PATH "./././././." ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "/./././././." ] ;
-assert "foo"   : (==) : [ NORMALIZE_PATH "foo" ] ;
-assert "foo"   : (==) : [ NORMALIZE_PATH "foo/" ] ;
-assert "foo"   : (==) : [ NORMALIZE_PATH "foo\\" ] ;
-assert "foo"   : (==) : [ NORMALIZE_PATH "foo\\\\/////" ] ;
-assert "foo"   : (==) : [ NORMALIZE_PATH "foo\\\\/////././." ] ;
-assert "foo"   : (==) : [ NORMALIZE_PATH "foo\\\\/////./././" ] ;
-assert "."     : (==) : [ NORMALIZE_PATH "foo/.." ] ;
-assert "."     : (==) : [ NORMALIZE_PATH "foo////.." ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "///foo/\\\\/.." ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "\\\\\\foo\\//\\.." ] ;
-assert "."     : (==) : [ NORMALIZE_PATH "foo/./.." ] ;
-assert "."     : (==) : [ NORMALIZE_PATH "foo/././././.." ] ;
-assert "foo"   : (==) : [ NORMALIZE_PATH "foo/./././bar/./././.././././baz/./././.." ] ;
-assert "/foo"  : (==) : [ NORMALIZE_PATH "/foo/./././bar/./././.././././baz/./././.." ] ;
-assert "foo"   : (==) : [ NORMALIZE_PATH "foo/./././bar/./././////.././././baz/./././.." ] ;
-assert "/foo"  : (==) : [ NORMALIZE_PATH "/foo/./././bar/./././////.././././baz/./././.." ] ;
-assert ".."    : (==) : [ NORMALIZE_PATH "./.." ] ;
-assert ".."    : (==) : [ NORMALIZE_PATH "././././.." ] ;
-assert "../.." : (==) : [ NORMALIZE_PATH "../.." ] ;
-assert "../.." : (==) : [ NORMALIZE_PATH "./../.." ] ;
-assert "../.." : (==) : [ NORMALIZE_PATH "././././../.." ] ;
-assert "../.." : (==) : [ NORMALIZE_PATH "./.././././.." ] ;
-assert "../.." : (==) : [ NORMALIZE_PATH "././././.././././.." ] ;
-assert "../.." : (==) : [ NORMALIZE_PATH "..//\\\\\\//.." ] ;
-assert "../.." : (==) : [ NORMALIZE_PATH "../..\\\\/\\\\" ] ;
-assert "."     : (==) : [ NORMALIZE_PATH "foo/../bar/../baz/.." ] ;
-assert "."     : (==) : [ NORMALIZE_PATH "foo////..////bar////.//////.////../baz/.." ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "/foo/../bar/../baz/.." ] ;
-assert "/"     : (==) : [ NORMALIZE_PATH "/foo////..////bar////.//////.////../baz/.." ] ;
-
-# Invalid rooted paths with leading dotdots.
-assert         : (==) : [ NORMALIZE_PATH "/.." ] ;
-assert         : (==) : [ NORMALIZE_PATH "/../" ] ;
-assert         : (==) : [ NORMALIZE_PATH "//\\\\//\\\\/.." ] ;
-assert         : (==) : [ NORMALIZE_PATH "\\\\//\\\\//\\.." ] ;
-assert         : (==) : [ NORMALIZE_PATH "/../.." ] ;
-assert         : (==) : [ NORMALIZE_PATH "/../../.." ] ;
-assert         : (==) : [ NORMALIZE_PATH "/foo/bar/../baz/../../.." ] ;
-assert         : (==) : [ NORMALIZE_PATH "/../for/././../././bar/././../././.." ] ;
-assert         : (==) : [ NORMALIZE_PATH "/../foo/bar" ] ;
diff --git a/SRC/Boost/tools/build/v2/test/engine/builtin_shell.jam b/SRC/Boost/tools/build/v2/test/engine/builtin_shell.jam
deleted file mode 100755
index 4f7cc6b..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/builtin_shell.jam
+++ /dev/null
@@ -1,31 +0,0 @@
-#~ Copyright 2006 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# TODO: Here we should test for the Windows popen() command unquoting bug but
-# that test will have to wait until a better testing framework is implemented.
-# To reproduce the bug try executing any command with its first parameter quoted
-# and containing spaces and having at least one other quote in the command
-# string.
-#
-# For example:
-#
-#   "\Long folder name\aaa.exe" --name="Jurko" --no-surname
-#
-# would get its outermost quotes stripped and would be executed as:
-#
-#   \Long folder name\aaa.exe" --name="Jurko --no-surname
-
-ECHO --- Testing SHELL builtin... ;
-
-local c = "date" ;
-if $(NT) { c = "PATH" ; }
-
-assert ""   : (!=) : [ SHELL $(c) ] ;
-assert ""   : (==) : [ SHELL $(c) : no-output ] ;
-assert "" 0 : (!=) : [ SHELL $(c) : exit-status ] ;
-assert "" 0 : (==) : [ SHELL $(c) : no-output : exit-status ] ;
-assert ""   : (!=) : [ COMMAND $(c) ] ;
-assert ""   : (==) : [ COMMAND $(c) : no-output ] ;
-assert "" 0 : (!=) : [ COMMAND $(c) : exit-status ] ;
-assert "" 0 : (==) : [ COMMAND $(c) : no-output : exit-status ] ;
diff --git a/SRC/Boost/tools/build/v2/test/engine/builtin_w32_getregnames.jam b/SRC/Boost/tools/build/v2/test/engine/builtin_w32_getregnames.jam
deleted file mode 100755
index 25d49a5..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/builtin_w32_getregnames.jam
+++ /dev/null
@@ -1,17 +0,0 @@
-#~ Copyright 2006 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-ECHO --- Testing W32_GETREGNAMES builtin... ;
-
-if $(NT)
-{
-    assert "Beep" "ExtendedSounds"
-        : (==) : [ W32_GETREGNAMES "HKEY_CURRENT_USER\\Control Panel\\Sound" : values ] ;
-    assert "Beep" "ExtendedSounds"
-        : (==) : [ W32_GETREGNAMES "HKCU\\Control Panel\\Sound" : values ] ;
-    assert "Control" "Enum" "Hardware Profiles" "Services"
-        : (==) : [ W32_GETREGNAMES "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet" : subkeys ] ;
-    assert "Control" "Enum" "Hardware Profiles" "Services"
-        : (==) : [ W32_GETREGNAMES "HKLM\\SYSTEM\\CurrentControlSet" : subkeys ] ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/engine/option_d2.jam b/SRC/Boost/tools/build/v2/test/engine/option_d2.jam
deleted file mode 100755
index f314dd3..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/option_d2.jam
+++ /dev/null
@@ -1,50 +0,0 @@
-#~ Copyright 2007 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-if ! $(BJAM_SUBTEST)
-{
-    ECHO --- Testing -d2 option... ;
-
-    assert "...found 4 targets...
-...updating 2 targets...
-.a. subtest_a
-
-echo [subtest_a] 0
-echo [subtest_a] 1
-echo [subtest_a] 2
-    
-[subtest_a] 0
-[subtest_a] 1
-[subtest_a] 2
-.a. subtest_b
-
-echo [subtest_b] 0
-echo [subtest_b] 1
-echo [subtest_b] 2
-    
-[subtest_b] 0
-[subtest_b] 1
-[subtest_b] 2
-...updated 2 targets...
-" : (==) : [ SHELL "\"$(ARGV[1])\" -f option_d2.jam -sBJAM_SUBTEST=1 -d2" ] ;
-}
-else
-{
-    actions .a.
-    {
-echo [$(<:B)] 0
-echo [$(<:B)] 1
-echo [$(<:B)] 2
-    }
-    
-    rule .a.
-    {
-        DEPENDS $(<) : $(>) ;
-    }
-    
-    NOTFILE subtest ;
-    .a. subtest_a : subtest ;
-    .a. subtest_b : subtest ;
-    DEPENDS all : subtest_a subtest_b ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/engine/option_l.jam b/SRC/Boost/tools/build/v2/test/engine/option_l.jam
deleted file mode 100755
index 56f9c42..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/option_l.jam
+++ /dev/null
@@ -1,34 +0,0 @@
-#~ Copyright 2007 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-if ! $(BJAM_SUBTEST)
-{
-    ECHO --- Testing -l option... ;
-
-    assert "...found 2 targets...
-...updating 1 target...
-.a. sleeper
-2 second time limit exceeded
-001
-
-echo 001
-sleep 4
-echo 002
-
-...failed .a. sleeper...
-...failed updating 1 target...
-" : (==) : [ SHELL "\"$(ARGV[1])\" -f option_l.jam -sBJAM_SUBTEST=1 -l2" ] ;
-}
-else
-{
-    actions .a. {
-echo 001
-sleep 4
-echo 002
-}
-
-    .a. sleeper ;
-
-    DEPENDS all : sleeper ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/engine/option_n.jam b/SRC/Boost/tools/build/v2/test/engine/option_n.jam
deleted file mode 100755
index 0e41f34..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/option_n.jam
+++ /dev/null
@@ -1,44 +0,0 @@
-#~ Copyright 2007 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-if ! $(BJAM_SUBTEST)
-{
-    ECHO --- Testing -n option... ;
-
-    assert "...found 4 targets...
-...updating 2 targets...
-.a. subtest_a
-
-echo [subtest_a] 0
-echo [subtest_a] 1
-echo [subtest_a] 2
-    
-.a. subtest_b
-
-echo [subtest_b] 0
-echo [subtest_b] 1
-echo [subtest_b] 2
-    
-...updated 2 targets...
-" : (==) : [ SHELL "\"$(ARGV[1])\" -f option_n.jam -sBJAM_SUBTEST=1 -n" ] ;
-}
-else
-{
-    actions .a.
-    {
-echo [$(<:B)] 0
-echo [$(<:B)] 1
-echo [$(<:B)] 2
-    }
-    
-    rule .a.
-    {
-        DEPENDS $(<) : $(>) ;
-    }
-    
-    NOTFILE subtest ;
-    .a. subtest_a : subtest ;
-    .a. subtest_b : subtest ;
-    DEPENDS all : subtest_a subtest_b ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/engine/parallel_actions.jam b/SRC/Boost/tools/build/v2/test/engine/parallel_actions.jam
deleted file mode 100755
index ec00f2b..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/parallel_actions.jam
+++ /dev/null
@@ -1,91 +0,0 @@
-#~ Copyright 2006 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-if ! $(BJAM_SUBTEST)
-{
-    ECHO --- Testing -jN parallel execution of actions... ;
-
-    assert "...found 12 targets...
-...updating 8 targets...
-sleeper 1.a
-[.a] 0
-[.a] 1
-[.a] 2
-sleeper 2.a
-[.a] 0
-[.a] 1
-[.a] 2
-sleeper 3.a
-[.a] 0
-[.a] 1
-[.a] 2
-sleeper 4.a
-[.a] 0
-[.a] 1
-[.a] 2
-sleeper 1.b
-[.b] 0
-[.b] 1
-[.b] 2
-sleeper 2.b
-[.b] 0
-[.b] 1
-[.b] 2
-sleeper 3.b
-[.b] 0
-[.b] 1
-[.b] 2
-sleeper 4.b
-[.b] 0
-[.b] 1
-[.b] 2
-...updated 8 targets...
-" : (==) : [ SHELL "\"$(ARGV[1])\" -f parallel_actions.jam -sBJAM_SUBTEST=1 -j4" ] ;
-}
-else
-{
-    if $(NT)
-    {
-        actions sleeper
-        {
-echo [$(<:S)] 0
-sleep 1
-echo [$(<:S)] 1
-sleep 1
-echo [$(<:S)] 2
-sleep $(<:B)
-        }
-    }
-    else
-    {
-        actions sleeper
-        {
-echo "[$(<:S)] 0" 1>&2
-sleep 1
-echo "[$(<:S)] 1"
-sleep 1
-echo "[$(<:S)] 2" 1>&2
-sleep $(<:B)
-        }
-    }
-    
-    rule sleeper
-    {
-        DEPENDS $(<) : $(>) ;
-    }
-    
-    NOTFILE front ;
-    sleeper 1.a : front ;
-    sleeper 2.a : front ;
-    sleeper 3.a : front ;
-    sleeper 4.a : front ;
-    NOTFILE choke ;
-    DEPENDS choke : 1.a 2.a 3.a 4.a ;
-    sleeper 1.b : choke ;
-    sleeper 2.b : choke ;
-    sleeper 3.b : choke ;
-    sleeper 4.b : choke ;
-    DEPENDS bottom : 1.b 2.b 3.b 4.b ;
-    DEPENDS all : bottom ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/engine/parallel_multifile_actions_1.jam b/SRC/Boost/tools/build/v2/test/engine/parallel_multifile_actions_1.jam
deleted file mode 100755
index 2468e30..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/parallel_multifile_actions_1.jam
+++ /dev/null
@@ -1,45 +0,0 @@
-#~ Copyright 2007 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-if ! $(BJAM_SUBTEST)
-{
-    ECHO --- Testing -jN parallel execution of multi-file actions - 1... ;
-
-    assert "...found 6 targets...
-...updating 4 targets...
-.gen. g1.generated
-001
-002
-.use.1 u1.user
-003
-.use.2 u2.user
-004
-...updated 4 targets...
-" : (==) : [ SHELL "\"$(ARGV[1])\" -f parallel_multifile_actions_1.jam -sBJAM_SUBTEST=1 -j2" ] ;
-}
-else
-{
-    actions .gen. {
-echo 001
-sleep 4
-echo 002
-}
-    rule .use.1 { DEPENDS $(<) : $(>) ; }
-    actions .use.1 {
-echo 003
-}
-    rule .use.2 { DEPENDS $(<) : $(>) ; }
-    actions .use.2 {
-sleep 1
-echo 004
-}
-
-    .gen. g1.generated g2.generated ;
-    .use.1 u1.user : g1.generated ;
-    .use.2 u2.user : g2.generated ;
-
-    NOTFILE root ;
-    DEPENDS g1.generated g2.generated : root ;
-    DEPENDS all : u1.user u2.user ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/engine/parallel_multifile_actions_2.jam b/SRC/Boost/tools/build/v2/test/engine/parallel_multifile_actions_2.jam
deleted file mode 100755
index 4e63bac..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/parallel_multifile_actions_2.jam
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2008 Jurko Gospodnetic, Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-#   Added to guard against a bug causing targets to be used before they
-# themselves have finished building. This used to happen for targets built by a
-# multi-file action that got triggered by another target, except when the target
-# triggering the action was the first one in the list of targets produced by
-# that action.
-#
-# Example:
-#   When target A and target B were declared as created by a single action with
-# A being the first one listed, and target B triggered running that action then
-# while the action was still running, target A was already reporting as being
-# built causing other targets depending on target A to be built prematurely.
-
-if ! $(BJAM_SUBTEST)
-{
-    ECHO --- Testing -jN parallel execution of multi-file actions - 2... ;
-
-    assert "...found 4 targets...
-...updating 3 targets...
-link dll
-001 - linked
-install installed_dll
-002 - installed
-...updated 3 targets...
-" : (==) : [ SHELL "\"$(ARGV[1])\" -f parallel_multifile_actions_2.jam -sBJAM_SUBTEST=1 -j2" ] ;
-}
-else
-{
-    actions link
-    {
-        sleep 1
-        echo 001 - linked
-    }
-
-    link dll lib ;
-
-    actions install
-    {
-        echo 002 - installed
-    }
-
-    install installed_dll : dll ;
-    DEPENDS installed_dll : dll ;
-
-    DEPENDS all : lib installed_dll ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/engine/rule_param.jam b/SRC/Boost/tools/build/v2/test/engine/rule_param.jam
deleted file mode 100755
index 0355a2e..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/rule_param.jam
+++ /dev/null
@@ -1,60 +0,0 @@
-#~ Copyright 2008 Jonathan Biggar
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-ECHO -- Testing parameter passing... ;
-
-rule test_numeric_params
-{
-    assert $(1) : (==) : 1 ;
-    assert $(2) : (==) : 2 ;
-    assert $(3) : (==) : 3 ;
-    assert $(4) : (==) : 4 ;
-    assert $(5) : (==) : 5 ;
-    assert $(6) : (==) : 6 ;
-    assert $(7) : (==) : 7 ;
-    assert $(8) : (==) : 8 ;
-    assert $(9) : (==) : 9 ;
-    assert $(10) : (==) : 10 ;
-    assert $(11) : (==) : 11 ;
-    assert $(12) : (==) : 12 ;
-    assert $(13) : (==) : 13 ;
-    assert $(14) : (==) : 14 ;
-    assert $(15) : (==) : 15 ;
-    assert $(16) : (==) : 16 ;
-    assert $(17) : (==) : 17 ;
-    assert $(18) : (==) : 18 ;
-    assert $(19) : (==) : 19 ;
-}
-
-rule test_named_params ( p1 : p2 : p3 : p4 : p5 : p6 : p7 : p8 : p9 :
-                         p10 : p11 : p12 : p13 : p14 : p15 : p16 : p17 : p18 : p19 )
-
-
-{
-    assert $(p1) : (==) : 1 ;
-    assert $(p2) : (==) : 2 ;
-    assert $(p3) : (==) : 3 ;
-    assert $(p4) : (==) : 4 ;
-    assert $(p5) : (==) : 5 ;
-    assert $(p6) : (==) : 6 ;
-    assert $(p7) : (==) : 7 ;
-    assert $(p8) : (==) : 8 ;
-    assert $(p9) : (==) : 9 ;
-    assert $(p10) : (==) : 10 ;
-    assert $(p11) : (==) : 11 ;
-    assert $(p12) : (==) : 12 ;
-    assert $(p13) : (==) : 13 ;
-    assert $(p14) : (==) : 14 ;
-    assert $(p15) : (==) : 15 ;
-    assert $(p16) : (==) : 16 ;
-    assert $(p17) : (==) : 17 ;
-    assert $(p18) : (==) : 18 ;
-    assert $(p19) : (==) : 19 ;
-}
-
-test_numeric_params 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 :
-                    10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 ;
-
-test_named_params 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 :
-                  10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 ;
diff --git a/SRC/Boost/tools/build/v2/test/engine/stress_var_expand.jam b/SRC/Boost/tools/build/v2/test/engine/stress_var_expand.jam
deleted file mode 100755
index 43b5f75..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/stress_var_expand.jam
+++ /dev/null
@@ -1,14 +0,0 @@
-#~ Copyright 2006 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-ECHO --- Testing var expansion... ;
-
-local i = 0 ;
-local v = one two ;
-while $(i) != 4
-{
-    i = [ CALC $(i) + 1 ] ;
-    v = $(v)$(v) ;
-    assert $(i) : (==) : $(i) ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/engine/target_var.jam b/SRC/Boost/tools/build/v2/test/engine/target_var.jam
deleted file mode 100755
index 194c335..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/target_var.jam
+++ /dev/null
@@ -1,16 +0,0 @@
-#~ Copyright 2006 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-ECHO --- Testing var on target semantics... ;
-
-v on a = 1 ;
-v on b = 1 2 ;
-v on c = 1 2 3 ;
-v on d ?= 1 2 3 4 ;
-v on d ?= 5 6 7 8 ;
-v on a ?= 2 ;
-assert [ on a return $(v) ] : (==) : 1 ;
-assert [ on b return $(v) ] : (==) : 1 2 ;
-assert [ on c return $(v) ] : (==) : 1 2 3 ;
-assert [ on d return $(v) ] : (==) : 1 2 3 4 ;
diff --git a/SRC/Boost/tools/build/v2/test/engine/test.bat b/SRC/Boost/tools/build/v2/test/engine/test.bat
deleted file mode 100755
index f8d8d66..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/test.bat
+++ /dev/null
@@ -1,53 +0,0 @@
- at ECHO OFF
-
-REM ~ Copyright 2006-2008 Rene Rivera.
-REM ~ Distributed under the Boost Software License, Version 1.0.
-REM ~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-REM ~ set BJAM=bjam
-REM ~ set BJAM_SRC=..\src
-REM ~ set BJAM_BIN=..\src\bin.ntx86\bjam.exe
-
-setlocal
-goto Start
-
-:Test_Path
-REM Tests for the given file(executable) presence in the directories in the PATH
-REM environment variable. Additionaly sets FOUND_PATH to the path of the
-REM found file.
-setlocal & endlocal & ver>NUL
-setlocal
-set test=%~$PATH:1
-endlocal
-if not errorlevel 1 set FOUND_PATH=%~dp$PATH:1
-goto :eof
-
-:Guess_BJAM
-setlocal & endlocal & ver>NUL
-if NOT "_%BJAM%_" == "__" goto :eof
-call :Test_Path bjam.exe
-if not errorlevel 1 (
-    set BJAM=bjam.exe
-    goto :eof)
-if "_%BJAM%_" == "__" (
-    set BJAM=%BJAM_BIN%
-    goto :eof)
-setlocal & endlocal & ver>NUL
-goto :eof
-
-:Build_BJAM_To_Test
-setlocal & endlocal & ver>NUL
-if "_%BJAM_SRC%_" == "__" set BJAM_SRC=..\src
-PUSHD %BJAM_SRC%
-call build.bat
- at ECHO OFF
-POPD
-set BJAM_BIN=%BJAM_SRC%\bin.ntx86\bjam.exe
-setlocal & endlocal & ver>NUL
-goto :eof
-
-:Start
-call :Build_BJAM_To_Test
-call :Guess_BJAM
- at ECHO ON
-%BJAM% -f test.jam "-sBJAM=%BJAM_BIN%"
diff --git a/SRC/Boost/tools/build/v2/test/engine/test.jam b/SRC/Boost/tools/build/v2/test/engine/test.jam
deleted file mode 100755
index 0b8b0a5..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/test.jam
+++ /dev/null
@@ -1,91 +0,0 @@
-#~ Copyright 2006-2008 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-TESTS =
-    action_status
-    actions_quietly
-    builtin_normalize_path
-    builtin_shell
-    builtin_w32_getregnames
-    option_d2
-    option_l
-    option_n
-    parallel_actions
-    parallel_multifile_actions_1
-    parallel_multifile_actions_2
-    rule_param
-    stress_var_expand
-    target_var
-    var_expand
-    ;
-
-BJAM ?= bjam ;
-
-#############################################################################
-
-if $(BJAM_RUN_TEST)
-{
-    fail-count = 0 ;
-    pass-count = 0 ;
-
-    rule message ( message * )
-    {
-        local b = [ BACKTRACE ] ;
-        ECHO "$(b[-4]):$(b[-3]):" $(message) ;
-    }
-
-
-    rule fail ( message * )
-    {
-        fail-count = [ CALC $(fail-count) + 1 ] ;
-        message "error:" [FAILED] $(message) ;
-    }
-
-
-    rule pass ( message * )
-    {
-        pass-count = [ CALC $(pass-count) + 1 ] ;
-        if --verbose in $(ARGV)
-        {
-            message "info:" [PASSED] $(message) ;
-        }
-    }
-
-
-    rule assert ( expected * : test ? : obtained * )
-    {
-        test ?= "(==)" ;
-        local r = 0 ;
-        if $(test) = "(==)" && "*$(expected)*" != "*$(obtained)*"
-        {
-            fail '$(expected)' $(test) '$(obtained)' ;
-        }
-        else if $(test) = "(!=)" && "*$(expected)*" = "*$(obtained)*"
-        {
-            fail '$(expected)' $(test) '$(obtained)' ;
-        }
-        else
-        {
-            pass '$(expected)' $(test) '$(obtained)' ;
-        }
-    }
-    
-    include $(BJAM_RUN_TEST).jam ;
-    
-    EXIT --- $(BJAM_RUN_TEST): PASSED($(pass-count)) *FAILED($(fail-count))* : $(fail-count) ;
-}
-else
-{
-    ECHO "Testing: $(BJAM)" ;
-    fail-count = 0 ;
-
-    for local test in $(TESTS)
-    {
-        local result = [ SHELL "\"$(BJAM)\" -f test.jam -sBJAM_RUN_TEST=$(test)" : exit-status ] ;
-        fail-count = [ CALC $(fail-count) + $(result[1]) ] ;
-        ECHO $(result[0]) ;
-    }
-
-    EXIT --- Complete: *FAILED($(fail-count))* : $(fail-count) ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/engine/test.sh b/SRC/Boost/tools/build/v2/test/engine/test.sh
deleted file mode 100755
index 5c09283..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/test.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-
-#~ Copyright 2006-2008 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-#~ BJAM=bjam
-#~ BJAM_SRC=../src
-#~ BJAM_BIN=`ls -1 ${BJAM_SRC}/bin.*/bjam`
-
-# Run a command, and echo before doing so. Also checks the exit
-# status and quits if there was an error.
-echo_run ()
-{
-    echo "$@"
-    $@
-    r=$?
-    if test $r -ne 0 ; then
-        exit $r
-    fi
-}
-
-# Check that a command is in the PATH.
-test_path ()
-{
-    if `command -v command 1>/dev/null 2>/dev/null`; then
-        command -v $1 1>/dev/null 2>/dev/null
-    else
-        hash $1 1>/dev/null 2>/dev/null
-    fi
-}
-
-Guess_BJAM ()
-{
-    if test_path bjam ; then BJAM=bjam
-    elif test -r ./bjam ; then BJAM=./bjam
-    elif test -r "${BJAM_BIN}" ; then BJAM="${BJAM_BIN}"
-    fi
-}
-
-Build_BJAM_To_Test ()
-{
-    cwd=`pwd`
-    if test "${BJAM_SRC}" = "" ; then BJAM_SRC=../src ; fi
-    cd "${BJAM_SRC}"
-    ./build.sh
-    if test "${BJAM_BIN}" = "" ; then BJAM_BIN=`ls -1 ${BJAM_SRC}/bin.*/bjam` ; fi
-    cd "${cwd}"
-}
-
-Build_BJAM_To_Test
-Guess_BJAM
-echo_run "${BJAM}" -f test.jam "-sBJAM=${BJAM_BIN}" "$@"
diff --git a/SRC/Boost/tools/build/v2/test/engine/var_expand.jam b/SRC/Boost/tools/build/v2/test/engine/var_expand.jam
deleted file mode 100755
index 7e1ab13..0000000
--- a/SRC/Boost/tools/build/v2/test/engine/var_expand.jam
+++ /dev/null
@@ -1,19 +0,0 @@
-#~ Copyright 2006 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-ECHO --- Testing var expansion... ;
-
-local p0 = name ;
-local p1 = dir/name ;
-local p2 = dir/sub/name ;
-
-assert name : (==) : $(p0:D=) ;
-assert name : (==) : $(p1:D=) ;
-assert name : (==) : $(p2:D=) ;
-assert "" : (==) : $(p0:D) ;
-assert dir : (==) : $(p1:D) ;
-assert dir/sub : (==) : $(p2:D) ;
-assert "" : (==) : $(p0:S) ;
-assert ($(p0)) : (==) : [ MATCH ^@(.*) : "@($(p0))" ] ;
-assert ($(p0)) : (==) : [ MATCH @(.*) : "--@($(p0))" ] ;
diff --git a/SRC/Boost/tools/build/v2/test/example_customization.py b/SRC/Boost/tools/build/v2/test/example_customization.py
deleted file mode 100755
index b9c4fc4..0000000
--- a/SRC/Boost/tools/build/v2/test/example_customization.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2006.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Test the 'customization' example.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.set_tree("../example/customization")
-
-t.run_build_system()
-
-t.expect_addition(["bin/$toolset/debug/codegen.exe",
-                   "bin/$toolset/debug/usage.cpp"])
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/example_gettext.py b/SRC/Boost/tools/build/v2/test/example_gettext.py
deleted file mode 100755
index 445ca58..0000000
--- a/SRC/Boost/tools/build/v2/test/example_gettext.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2006.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Test the 'gettext' example.
-
-import BoostBuild
-import os
-import string
-
-t = BoostBuild.Tester()
-
-t.set_tree("../example/gettext")
-
-t.run_build_system(stderr=None)
-
-t.expect_addition(["bin/$toolset/debug/main.exe",
-                   "bin/$toolset/debug/russian.mo"])
-
-file = t.adjust_names(["bin/$toolset/debug/main.exe"])[0]
-
-input_fd = os.popen(file)
-input = input_fd.read();
-
-t.fail_test(string.find(input, "international hello") != 0)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/example_libraries.py b/SRC/Boost/tools/build/v2/test/example_libraries.py
deleted file mode 100755
index 3190d2d..0000000
--- a/SRC/Boost/tools/build/v2/test/example_libraries.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2006.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Test the 'libraries' example.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.set_tree("../example/libraries")
-
-t.run_build_system()
-
-t.expect_addition(["app/bin/$toolset/debug/app.exe",
-                   "util/foo/bin/$toolset/debug/bar.dll"])
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/example_make.py b/SRC/Boost/tools/build/v2/test/example_make.py
deleted file mode 100755
index 4ade4c2..0000000
--- a/SRC/Boost/tools/build/v2/test/example_make.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2006.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Test the 'make' example.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.set_tree("../example/make")
-
-t.run_build_system()
-
-t.expect_addition(["bin/$toolset/debug/main.cpp"])
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/example_qt4.py b/SRC/Boost/tools/build/v2/test/example_qt4.py
deleted file mode 100755
index 7369e05..0000000
--- a/SRC/Boost/tools/build/v2/test/example_qt4.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/python
-
-#  Copyright (C) Vladimir Prus 2006.
-#  Distributed under the Boost Software License, Version 1.0. (See
-#  accompanying file LICENSE_1_0.txt or copy at
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-#  Test the 'qt4' examples.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.set_tree("../example/qt/qt4/hello")
-t.run_build_system()
-t.expect_addition(["bin/$toolset/debug/threading-multi/arrow"])
-
-t.set_tree("../example/qt/qt4/moccable-cpp")
-t.run_build_system()
-t.expect_addition(["bin/$toolset/debug/threading-multi/main"])
-
-t.set_tree("../example/qt/qt4/uic")
-t.run_build_system()
-t.expect_addition(["bin/$toolset/debug/threading-multi/hello"])
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/exit_status.py b/SRC/Boost/tools/build/v2/test/exit_status.py
deleted file mode 100755
index d0f0e38..0000000
--- a/SRC/Boost/tools/build/v2/test/exit_status.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2010.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that build failure results in non-zero exit status
-
-import BoostBuild
-
-# Create a temporary working directory.
-t = BoostBuild.Tester()
-
-# Create the needed files.
-t.write("jamroot.jam", """
-exe hello : hello.cpp ;
-""")
-
-t.write("hello.cpp", """
-int main() {
-""")
-
-t.run_build_system(status=1)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/expansion.py b/SRC/Boost/tools/build/v2/test/expansion.py
deleted file mode 100755
index 1dfa7dd..0000000
--- a/SRC/Boost/tools/build/v2/test/expansion.py
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("a.cpp", """
-#ifdef CF_IS_OFF
-int main() {}
-#endif
-""")
-
-t.write("b.cpp", """
-#ifdef CF_1
-int main() {}
-#endif
-""")
-
-t.write("c.cpp", """
-#ifdef FOO
-int main() {}
-#endif
-""")
-
-t.write("jamfile.jam", """
-# See if default value of composite feature 'cf' will be expanded to
-# <define>CF_IS_OFF.
-exe a : a.cpp ;
-
-# See if subfeature in requirements in expanded.
-exe b : b.cpp : <cf>on-1 ;
-
-# See if conditional requirements are recursively expanded.
-exe c : c.cpp : <toolset>$toolset:<variant>release <variant>release:<define>FOO
-    ;
-""")
-
-t.write("jamroot.jam", """
-import feature ;
-feature.feature cf : off on : composite incidental ;
-feature.compose <cf>off : <define>CF_IS_OFF ;
-feature.subfeature cf on : version : 1 2 : composite optional incidental ;
-feature.compose <cf-on:version>1 : <define>CF_1 ;
-""")
-
-t.expand_toolset("jamfile.jam")
-
-t.run_build_system()
-t.expect_addition(["bin/$toolset/debug/a.exe",
-                   "bin/$toolset/debug/b.exe",
-                   "bin/$toolset/release/c.exe"])
-
-t.rm("bin")
-
-
-# Test for issue BB60.
-
-t.write("test.cpp", """
-#include "header.h"
-int main() {}
-""")
-
-t.write("jamfile.jam", """
-project : requirements <toolset>$toolset:<include>foo ;
-exe test : test.cpp : <toolset>$toolset ;
-""")
-
-t.expand_toolset("jamfile.jam")
-t.write("foo/header.h", "\n")
-t.write("jamroot.jam", "")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/test.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/explicit.py b/SRC/Boost/tools/build/v2/test/explicit.py
deleted file mode 100755
index a251107..0000000
--- a/SRC/Boost/tools/build/v2/test/explicit.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-exe hello : hello.cpp ;
-exe hello2 : hello.cpp ;
-explicit hello2 ;
-""")
-
-t.write("hello.cpp", """
-int main() {}
-""")
-
-t.run_build_system()
-t.ignore("*.tds")
-t.expect_addition(BoostBuild.List("bin/$toolset/debug/hello") * \
-    [".exe", ".obj"])
-t.expect_nothing_more()
-
-t.run_build_system("hello2")
-t.expect_addition("bin/$toolset/debug/hello2.exe")
-
-t.rm(".")
-
-
-# Test that 'explicit' used in a helper rule applies to the current project, and
-# not to the Jamfile where the helper rule is defined.
-t.write("jamroot.jam", """
-rule myinstall ( name : target )
-{
-    install $(name)-bin : $(target) ;
-    explicit $(name)-bin ;
-    alias $(name) : $(name)-bin ;
-}
-""")
-
-t.write("sub/a.cpp", """
-""")
-
-t.write("sub/jamfile.jam", """
-myinstall dist : a.cpp ;
-""")
-
-t.run_build_system(subdir="sub")
-t.expect_addition("sub/dist-bin/a.cpp")
-
-t.rm("sub/dist-bin")
-
-t.write("sub/jamfile.jam", """
-myinstall dist : a.cpp ;
-explicit dist ;
-""")
-
-t.run_build_system(subdir="sub")
-t.expect_nothing_more()
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/file_name_handling.py b/SRC/Boost/tools/build/v2/test/file_name_handling.py
deleted file mode 100755
index d3a9b7a..0000000
--- a/SRC/Boost/tools/build/v2/test/file_name_handling.py
+++ /dev/null
@@ -1,255 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2008 Jurko Gospodnetic
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests Boost Jam & Boost Build's source & target file name handling. Originally
-# added as a regression test for a bug causing versions included in the Boost
-# library 1.35 release (and earlier) not handling Windows short file names
-# correctly. Also tests handling target file names containing spaces.
-
-# Implementation notes:
-#
-#   We expect Boost Jam to automatically update the 'all' target when no target
-# has been explicitly specified on the command line.
-#
-#   Windows short & long file names can not be matched until the file in
-# question actually exists so we need to create the file before running Boost
-# Jam.
-#
-#   Currently Windows short file names are hardcoded but in case this proves
-# insufficient we should use the GetShortPathName() Windows API to get the
-# correct short file for a given long file name.
-#                                                    (30.04.2008.) (Jurko)
-
-import BoostBuild
-import os
-import time
-
-
-################################################################################
-#
-# prepare_file()
-# --------------
-#
-################################################################################
-
-def prepare_file(tester, target_name, age_in_seconds=0):
-    """Prepares a new file with the given name, optionally setting its last
-    access and modification timestamps to the given number of seconds in the
-    history.
-    """
-    tester.write( target_name, "Original file content." )
-    if ( ( not age_in_seconds is None ) and ( age_in_seconds != 0 ) ):
-        t = time.time() - age_in_seconds
-        os.utime( tester.native_file_name( target_name ), ( t, t ) )
-
-
-################################################################################
-#
-# test_simple_file_names()
-# ------------------------
-#
-################################################################################
-
-def test_simple_file_names():
-    """Runs simple file name handling that is not expected to fail anywhere. Not
-    really needed for regular testing but the test is really fast and its
-    content may be used for comparing to other more complex test functions in
-    this module which test the same system but with some potentially more
-    problematic file names.
-    """
-    t = BoostBuild.Tester(pass_toolset=0)
-
-    prepare_file(t, "source.txt"              )
-    prepare_file(t, "target.txt"         , 120)
-    prepare_file(t, "target_noupdate.txt", 240)
-
-    t.write("testScript.jam", """
-actions create-file
-{
-    echo "Modified file content ($(1:E=""))."> "$(1:E="")"
-}
-
-DEPENDS all : standaloneTarget.txt ;
-create-file standaloneTarget.txt : all ;
-
-DEPENDS all : target.txt ;
-DEPENDS target.txt : source.txt ;
-create-file target.txt ;
-
-NOUPDATE target_noupdate.txt ;
-DEPENDS all : target_noupdate.txt ;
-DEPENDS target_noupdate.txt : source.txt ;
-create-file target_noupdate.txt ;
-
-create-file shouldNotBeCreated1 ;
-create-file shouldNotBeCreated2 ;
-create-file shouldNotBeCreated3 ;
-""")
-
-    t.run_build_system("-ftestScript.jam")
-    t.expect_addition("standaloneTarget.txt")
-    t.expect_modification("target.txt")
-    t.expect_nothing_more()
-
-    t.cleanup()
-
-
-################################################################################
-#
-# test_short_file_name_with_action()
-# ----------------------------------
-#
-################################################################################
-
-def test_short_file_name_with_action():
-    """Tests how Boost Jam handles the case when a Windows short file name is
-    passed to a Boost Jam action.
-    """
-    if ( not BoostBuild.windows ):
-        return
-
-    t = BoostBuild.Tester(pass_toolset=0)
-
-    long_file_name1 = "1__target that should be rebuilt.txt"
-    long_file_name2 = "2__target that should be rebuilt.txt"
-    short_file_name2 = "2__tar~1.txt"
-
-    prepare_file(t, long_file_name1)
-    prepare_file(t, long_file_name2)
-
-    t.write("testScript.jam", """
-actions create-file
-{
-    echo Modified file content ($(1:E="")).> "$(1:E="")"
-}
-
-ALWAYS "%(long_file_name1)s" ;
-DEPENDS all : "%(long_file_name1)s" ;
-create-file "%(long_file_name1)s" ;
-
-ALWAYS "%(long_file_name2)s" ;
-DEPENDS all : "%(long_file_name2)s" ;
-create-file "%(short_file_name2)s" ;
-""" % {'long_file_name1': long_file_name1,
-    'long_file_name2'   : long_file_name2,
-    'short_file_name2'  : short_file_name2})
-
-    t.run_build_system("-ftestScript.jam")
-    t.expect_modification(long_file_name1)
-    t.expect_modification(long_file_name2)
-    t.expect_nothing_more()
-
-    t.cleanup()
-
-
-################################################################################
-#
-# test_short_file_name_with_ALWAYS()
-# ----------------------------------
-#
-################################################################################
-
-def test_short_file_name_with_ALWAYS():
-    """Tests how Boost Jam handles the case when a Windows short file name is
-    passed to the builtin ALWAYS rule.
-    """
-    if ( not BoostBuild.windows ):
-        return
-
-    t = BoostBuild.Tester(pass_toolset=0)
-
-    long_file_name1 = "1__target that should be rebuilt.txt"
-    long_file_name2 = "2__target that should be rebuilt.txt"
-    short_file_name2 = "2__tar~1.txt"
-
-    prepare_file(t, long_file_name1)
-    prepare_file(t, long_file_name2)
-
-    t.write("testScript.jam", """
-actions create-file
-{
-    echo Modified file content ($(1:E="")).> "$(1:E="")"
-}
-
-ALWAYS "%(long_file_name1)s" ;
-DEPENDS all : "%(long_file_name1)s" ;
-create-file "%(long_file_name1)s" ;
-
-ALWAYS "%(short_file_name2)s" ;
-DEPENDS all : "%(long_file_name2)s" ;
-create-file "%(long_file_name2)s" ;
-""" % {'long_file_name1': long_file_name1,
-    'long_file_name2'   : long_file_name2,
-    'short_file_name2'  : short_file_name2})
-
-    t.run_build_system("-ftestScript.jam")
-    t.expect_modification(long_file_name1)
-    t.expect_modification(long_file_name2)
-    t.expect_nothing_more()
-
-    t.cleanup()
-
-
-################################################################################
-#
-# test_short_file_name_with_NOUPDATE()
-# ------------------------------------
-#
-################################################################################
-
-def test_short_file_name_with_NOUPDATE():
-    """Tests how Boost Jam handles the case when a Windows short file name is
-    passed to the builtin NOUPDATE rule.
-    """
-    if ( not BoostBuild.windows ):
-        return
-
-    t = BoostBuild.Tester(pass_toolset=0)
-
-    long_file_name1 = "1__target that should be rebuilt.txt"
-    long_file_name2 = "2__target that should not be rebuilt.txt"
-    short_file_name2 = "2__tar~1.txt"
-
-    prepare_file(t, "source.txt"      )
-    prepare_file(t, long_file_name1, 120)
-    prepare_file(t, long_file_name2, 120)
-
-    t.write("testScript.jam", """
-actions create-file
-{
-    echo Modified file content ($(1:E="")).> "$(1:E="")"
-}
-
-DEPENDS all : "%(long_file_name1)s" ;
-DEPENDS "%(long_file_name1)s" : source.txt ;
-create-file "%(long_file_name1)s" ;
-
-NOUPDATE "%(short_file_name2)s" ;
-DEPENDS all : "%(long_file_name2)s" ;
-DEPENDS "%(long_file_name2)s" : source.txt ;
-create-file "%(long_file_name2)s" ;
-""" % {'long_file_name1': long_file_name1,
-    'long_file_name2'   : long_file_name2,
-    'short_file_name2'  : short_file_name2})
-
-    t.run_build_system("-ftestScript.jam")
-    t.expect_modification(long_file_name1)
-    t.expect_nothing_more()
-
-    t.cleanup()
-
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-test_simple_file_names()
-test_short_file_name_with_action()
-test_short_file_name_with_ALWAYS()
-test_short_file_name_with_NOUPDATE()
diff --git a/SRC/Boost/tools/build/v2/test/free_features_request.py b/SRC/Boost/tools/build/v2/test/free_features_request.py
deleted file mode 100755
index 02d4551..0000000
--- a/SRC/Boost/tools/build/v2/test/free_features_request.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2007.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests that a free feature specified on the command line applies to all targets
-# ever built.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-exe hello : hello.cpp foo ;
-lib foo : foo.cpp ;
-""")
-
-t.write("hello.cpp", """
-extern void foo();
-#ifdef FOO
-int main() { foo(); }
-#endif
-""")
-
-t.write("foo.cpp", """
-#ifdef FOO
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void foo() {}
-#endif
-""")
-
-# If FOO is not defined when compiling the 'foo' target, we will get a link
-# error at this point.
-t.run_build_system("hello define=FOO")
-
-t.expect_addition("bin/$toolset/debug/hello.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/gcc_runtime.py b/SRC/Boost/tools/build/v2/test/gcc_runtime.py
deleted file mode 100755
index 257c01c..0000000
--- a/SRC/Boost/tools/build/v2/test/gcc_runtime.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests that on gcc, we correctly report problem when static runtime is
-# requested for building a shared library.
-
-import BoostBuild
-import string
-
-t = BoostBuild.Tester()
-
-# Create the needed files.
-t.write("jamroot.jam", "")
-
-t.write("jamfile.jam", """
-lib hello : hello.cpp ;
-""")
-
-t.write("hello.cpp", """
-int main() { }
-""")
-
-t.run_build_system("runtime-link=static")
-t.fail_test(string.find(t.stdout(),
-    "On gcc, DLL can't be build with '<runtime-link>static'") == -1)
-
-t.run_build_system("link=static runtime-link=static")
-t.expect_addition("bin/$toolset/debug/link-static/runtime-link-static/hello.lib")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/generator_selection.py b/SRC/Boost/tools/build/v2/test/generator_selection.py
deleted file mode 100755
index 484900a..0000000
--- a/SRC/Boost/tools/build/v2/test/generator_selection.py
+++ /dev/null
@@ -1,140 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2008 Jurko Gospodnetic
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests that generators get selected correctly.
-
-import BoostBuild
-
-
-################################################################################
-#
-# test_generator_added_after_already_building_a_target_of_its_target_type()
-# -------------------------------------------------------------------------
-#
-################################################################################
-
-def test_generator_added_after_already_building_a_target_of_its_target_type():
-    """Regression test for a Boost Build bug causing it to not use a generator
-    if it got added after already building a targer of its target type.
-    """
-
-    t = BoostBuild.Tester()
-
-    t.write("dummy.cpp", "void f() {}\n")
-
-    t.write("jamroot.jam", """
-# Building this dummy target must not cause a later defined CPP target type
-# generator not to be recognized as viable.
-obj dummy : dummy.cpp ;
-alias the-other-obj : Other//other-obj ;
-""")
-
-    t.write("Other/source.extension", "A dummy source file.")
-
-    t.write("Other/mygen.jam", """
-import generators ;
-import os ;
-import type ;
-type.register MY_TYPE : extension ;
-generators.register-standard mygen.generate-a-cpp-file : MY_TYPE : CPP ;
-rule generate-a-cpp-file { ECHO Generating a CPP file... ; }
-if [ os.name ] = NT
-{
-    actions generate-a-cpp-file { echo void g() {} > "$(<)" }
-}
-else
-{
-    actions generate-a-cpp-file { echo "void g() {}" > "$(<)" }
-}
-""")
-
-    t.write("Other/mygen.py", """
-import b2.build.generators as generators
-import b2.build.type as type
-
-from b2.manager import get_manager
-
-import os
-
-
-type.register('MY_TYPE', ['extension'])
-generators.register_standard('mygen.generate-a-cpp-file', ['MY_TYPE'], ['CPP'])
-if os.name == 'nt':
-    action = 'echo void g() {} > "$(<)"'
-else:
-    action = 'echo "void g() {}" > "$(<)"'
-def f(*args):
-    print "Generating a CPP file..."
-
-get_manager().engine().register_action("mygen.generate-a-cpp-file",
-                                       action, function=f)    
-""")
-
-    t.write("Other/jamfile.jam", """
-import mygen ;
-obj other-obj : source.extension ;
-""")
-
-    t.run_build_system()
-    t.expect_output_line("Generating a CPP file...")
-    t.expect_addition("bin/$toolset/debug/dummy.obj")
-    t.expect_addition("Other/bin/$toolset/debug/other-obj.obj")
-
-    t.cleanup()
-
-
-################################################################################
-#
-# test_using_a_derived_source_type_created_after_generator_already_used()
-# -----------------------------------------------------------------------
-#
-################################################################################
-
-def test_using_a_derived_source_type_created_after_generator_already_used():
-    """Regression test for a Boost Build bug causing it to not use a generator
-    with a source type derived from one of the generator's sources but created
-    only after already using the generateor.
-    """
-
-    t = BoostBuild.Tester()
-
-    t.write("dummy.cpp", "void f() {}\n")
-
-    t.write("jamroot.jam", """
-# Building this dummy target must not cause a later defined UNGA_CPP target type
-# not to be recognized as a viable source type for building OBJ targets.
-obj dummy : dummy.cpp ;
-alias the-test-output : Other//other-obj ;
-""")
-
-    t.write("Other/source.unga_cpp", "void g() {}\n")
-
-    t.write("Other/jamfile.jam", """
-import type ;
-type.register UNGA_CPP : unga_cpp : CPP ;
-# We are careful not to do anything between defining our new UNGA_CPP target
-# type and using the CPP --> OBJ generator that could potentially cover the
-# Boost Build bug by clearing its internal viable source target type state.
-obj other-obj : source.unga_cpp ;
-""")
-
-    t.run_build_system()
-    t.expect_addition("bin/$toolset/debug/dummy.obj")
-    t.expect_addition("Other/bin/$toolset/debug/other-obj.obj")
-    t.expect_nothing_more()
-
-    t.cleanup()
-
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-test_generator_added_after_already_building_a_target_of_its_target_type()
-test_using_a_derived_source_type_created_after_generator_already_used()
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/a.cpp b/SRC/Boost/tools/build/v2/test/generators-test/a.cpp
deleted file mode 100755
index b574feb..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/a.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-int foo();
-int bar();
-
-void z1(), z2();
-
-int main()
-{
-    foo();
-    bar();
-    z1();
-    z2();
-    return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/b.cxx b/SRC/Boost/tools/build/v2/test/generators-test/b.cxx
deleted file mode 100755
index d6f3f0d..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/b.cxx
+++ /dev/null
@@ -1,10 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-int foo() { return 0; }
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/c.tui b/SRC/Boost/tools/build/v2/test/generators-test/c.tui
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/d.wd b/SRC/Boost/tools/build/v2/test/generators-test/d.wd
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/e.cpp b/SRC/Boost/tools/build/v2/test/generators-test/e.cpp
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/e.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/extra.jam b/SRC/Boost/tools/build/v2/test/generators-test/extra.jam
deleted file mode 100755
index 6001677..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/extra.jam
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 2002, 2003, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-import type ;
-import generators ;
-import "class" : new ;
-import common ;
-
-type.register WHL : whl ;
-type.register DLP : dlp ;
-type.register WHL_LR0 : lr0 ;
-type.register WD : wd ;
-
-generators.register-standard extra.whale : WHL : CPP WHL_LR0 H H(%_symbols) ;
-generators.register-standard extra.dolphin : DLP : CPP ;
-generators.register-standard extra.wd : WD : WHL(%_parser) DLP(%_lexer) ;
-
-class wd-to-cpp : generator
-{
-    rule __init__ ( * : * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) ;
-    }
-    
-    rule run ( project name ? : property-set : source )
-    {
-        local new-sources ;
-        if ! [ $(source).type ] in WHL DLP
-        {            
-            local r1 = [ generators.construct $(project) $(name) 
-              : WHL : $(property-set) : $(source) ] ;
-            local r2 = [ generators.construct $(project) $(name) 
-              : DLP : $(property-set) : $(source) ] ;
-            
-            new-sources = [ sequence.unique $(r1[2-]) $(r2[2-]) ] ;
-        }
-        else
-        {
-            new-sources = $(source) ;
-        }
-                    
-        local result ;
-        for local i in $(new-sources) 
-        {
-            local t = [ generators.construct $(project) $(name) : CPP 
-              : $(property-set) : $(i) ] ;          
-            result += $(t[2-]) ;
-        }
-        return $(result) ;
-    }        
-}
-generators.override extra.wd-to-cpp : extra.whale ;
-generators.override extra.wd-to-cpp : extra.dolphin ;
-
-generators.register [ new wd-to-cpp extra.wd-to-cpp : : CPP ] ;
-    
-rule whale ( targets * : sources * : properties * )
-{
-}
-
-TOUCH = [ common.file-touch-command ] ;
-
-actions whale 
-{
-    echo "Whale consuming " $(>)
-    $(TOUCH) $(<[1])
-    $(TOUCH) $(<[2])
-    $(TOUCH) $(<[3])
-    $(TOUCH) $(<[4])
-}
-
-rule dolphin ( targets * : source * : properties * )
-{
-}
-
-actions dolphin
-{    
-    echo "Dolphin consuming" $(>)
-    $(TOUCH) $(<)        
-}
-
-rule wd ( targets * : source * : properties * )
-{
-}
-
-actions wd
-{    
-    echo "WD consuming" $(>)
-    $(TOUCH) $(<[1])        
-    $(TOUCH) $(<[2])
-}
-
-rule x ( target * : source * : properties * )
-{
-}
-
-
-actions x 
-{
-    echo "X: source is " $(>)
-    $(TOUCH) $(<[1])
-}
-
-rule x_pro ( target * : source * : properties * )
-{
-}
-
-
-actions x_pro
-{
-    echo "X_PRO: source is " $(>)
-    $(TOUCH) $(<[1])
-    $(TOUCH) $(<[2])
-}
-
-
-
-
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/jamfile.jam b/SRC/Boost/tools/build/v2/test/generators-test/jamfile.jam
deleted file mode 100755
index 48bcdc3..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/jamfile.jam
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2002, 2003, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-project 
-    # This is needed to supress gcc warning on flex output, which otherwise
-    # results in test failure
-    : requirements <define>YY_NO_UNPUT
-    ;
-
-exe a : a.cpp b.cxx obj_1 obj_2 c.tui d.wd x.l y.x_pro lib//auxilliary ;
-# This should not cause second compilation of a.cpp 
-exe f : a.cpp b.cxx obj_1 obj_2 lib//auxilliary ;
-
-obj obj_1 : z.cpp : <define>SELECT=1 ;
-obj obj_2 : z.cpp : <define>SELECT=2 ;
-
-nm-exe e : e.cpp ;
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/jamroot.jam b/SRC/Boost/tools/build/v2/test/generators-test/jamroot.jam
deleted file mode 100755
index 251c834..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/jamroot.jam
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 2002, 2003, 2004, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-import "class" : new ;
-
-import lex ;
-import qt ;
-import extra ;
-
-import type ;
-
-type.register tUI : tui ;
-type.register tUIC_H ;
-type.set-generated-target-suffix tUIC_H : : h ;
-
-type.register X1 : x1 ;
-type.register X2 : x2  ;
-type.register X_PRO : x_pro ;
-
-import generators ;
-
-generators.register-standard qt.uic : tUI tUIC_H : CPP ;
-generators.register-standard qt.uic-h : tUI : tUIC_H ;
-
-# That's an interesting example. Currently, X_PRO will be processed
-# twice.
-generators.register-standard extra.x : X1 X2 : CPP ;
-generators.register-standard extra.x_pro : X_PRO : X1 X2 ;
-
-# The point of this setup of to implement this functionality
-# "When main target type is EST_EXE, build OBJ from CPP-MARKED, not
-# for anything else (like CPP)
-# Unfortunately, this does not really works.
-
-#if $(no-var) {
-import nm ;
-
-type.register CPP_MARKED : marked_cpp : CPP ;
-type.register POSITIONS : positions ;
-type.register NM.TARGET.CPP : target_cpp : CPP ;
-type.register NM_EXE : : EXE ;
-
-generators.register-standard nm.target-source : CPP_MARKED : NM.TARGET.CPP ;
-generators.register-standard nm.cpp-mark : CPP : CPP_MARKED POSITIONS ;
-    
-class nm::target::cpp-obj-generator : generator
-{
-    rule __init__ ( )
-    {        
-        generator.__init__ nm.target-obj : NM.TARGET.CPP : OBJ ;
-    }
-    
-    rule requirements ( )
-    {
-        return <main-target-type>NM_EXE ;
-    }
-        
-    # Consider: it it OK to ignore all other generated targets except for the first?
-    rule run ( project name ? : properties * : source : multiple ? ) 
-    {
-        if [ $(source).type ] = CPP {    
-            local converted = [ generators.construct $(project) : NM.TARGET.CPP : $(properties) : $(source) ] ;
-        if $(converted[1])
-            {            
-                local result = [ generators.construct $(project) : OBJ : $(properties) : $(converted[2]) ] ;
-                return $(result) ;
-            }
-            else
-            {
-                return ;
-            }        
-        }
-        else
-        {
-            return ;
-        }        
-    }                
-}
-
-generators.register [ new nm::target::cpp-obj-generator ] ;
-
-generators.override nm.target-obj : all ;
-
-#}
-
-
-
-
-
-
-
-
-
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/lex.jam b/SRC/Boost/tools/build/v2/test/generators-test/lex.jam
deleted file mode 100755
index 5653f4b..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/lex.jam
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2002, 2003, 2004, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import type ;
-import generators ;
-import feature ;
-import property ;
-import print ;
-
-type.register LEX : l ;
-
-generators.register-standard lex.lex : LEX : C ;
-
-rule lex ( targets * : sources * : properties * )
-{
-    print.output $(<) ;
-    # Need to supress SunCC's warning about empty source
-    # file.
-    print.text "void foo() {}
-" ;
-}
-
-actions lex 
-{
-}
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/lib/c.cpp b/SRC/Boost/tools/build/v2/test/generators-test/lib/c.cpp
deleted file mode 100755
index e263d55..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/lib/c.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-int bar() { return 0; }
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/lib/jamfile.jam b/SRC/Boost/tools/build/v2/test/generators-test/lib/jamfile.jam
deleted file mode 100755
index 3753183..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/lib/jamfile.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-static-lib auxilliary : c.cpp ;
-
-lib auxilliary2 : c.cpp ;
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/nm.jam b/SRC/Boost/tools/build/v2/test/generators-test/nm.jam
deleted file mode 100755
index f5409ff..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/nm.jam
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2002, 2003 Dave Abrahams 
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import modules ;
-import common ;
-
-TOUCH = [ common.file-touch-command ] ;
-
-rule target-source ( targets * : sources * : properties * )
-{
-    if [ modules.peek : NT ]
-    {
-        main on $(<) = "int main() { return 0; }" ;
-    }
-    else
-    {
-        main on $(<) = "\"int main() { return 0; }\"" ;
-    }
-}
-
-actions target-source
-{
-    echo "NM target source consuming " $(>)
-    echo $(main) > $(<)      
-}
-
-rule cpp-mark ( targets * : sources * : properties * )
-{
-}
-
-actions cpp-mark
-{
-    echo "CPP-MARK consuming " $(>)
-    $(TOUCH) $(<[1])
-    $(TOUCH) $(<[2])
-}
-
-
-
-
-
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/qt.jam b/SRC/Boost/tools/build/v2/test/generators-test/qt.jam
deleted file mode 100755
index c2a49b8..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/qt.jam
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import modules ;
-
-if [ modules.peek : NT ]
-{
-    comment = // ;
-}
-else
-{
-    comment = \"//\" ;
-}
-
-rule uic ( target : sources * : properties * )
-{
-    comment on $(<) = $(comment) ;
-}
-rule uic-h ( target : sources * : properties * )
-{
-    comment on $(<) = $(comment) ;
-}
-
-actions uic 
-{
-    echo $(comment) $(>) > $(<)
-}
-
-actions uic-h
-{
-    echo $(comment) $(>) > $(<)
-}
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/x.l b/SRC/Boost/tools/build/v2/test/generators-test/x.l
deleted file mode 100755
index ffd081a..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/x.l
+++ /dev/null
@@ -1,5 +0,0 @@
-%option noyywrap
-
-%%
-
-%%
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/y.x_pro b/SRC/Boost/tools/build/v2/test/generators-test/y.x_pro
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/test/generators-test/z.cpp b/SRC/Boost/tools/build/v2/test/generators-test/z.cpp
deleted file mode 100755
index 00af7fc..0000000
--- a/SRC/Boost/tools/build/v2/test/generators-test/z.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#if SELECT == 1
-void z1() {}
-#elif SELECT == 2
-void z2() {}
-#else
-#error Invlid value of SELECT
-#endif
diff --git a/SRC/Boost/tools/build/v2/test/generators_test.py b/SRC/Boost/tools/build/v2/test/generators_test.py
deleted file mode 100755
index 5231df2..0000000
--- a/SRC/Boost/tools/build/v2/test/generators_test.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2002, 2003, 2005 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.set_tree("generators-test")
-
-t.run_build_system()
-
-t.expect_addition( "bin/$toolset/debug/" * BoostBuild.List( "a.obj b.obj c.h "
-    + "c.cpp c.obj d_parser.whl d_lexer.dlp d_parser.cpp d_lexer.cpp "
-    + "d_parser.lr0 d_parser.h d_parser_symbols.h x.c x.obj y.x1 y.x2 y.cpp "
-    + "y.obj e.marked_cpp e.positions e.target_cpp e.obj"))
-t.expect_addition("bin/$toolset/debug/a.exe")
-t.expect_addition(["lib/bin/$toolset/debug/c.obj",
-                   "lib/bin/$toolset/debug/auxilliary.lib"])
-
-t.run_build_system(subdir='lib')
-t.expect_addition(["lib/bin/$toolset/debug/auxilliary2.dll"])
-
-t.run_build_system(subdir='lib', extra_args="link=static")
-t.expect_addition(["lib/bin/$toolset/debug/link-static/auxilliary2.lib"])
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/implicit_dependency.py b/SRC/Boost/tools/build/v2/test/implicit_dependency.py
deleted file mode 100755
index 5245234..0000000
--- a/SRC/Boost/tools/build/v2/test/implicit_dependency.py
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2006.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Test the <implicit-dependency> is respected even if the target referred to is
-# not built itself, but only referred to by <implicit-dependency>.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-make a.h : : gen-header ;
-explicit a.h ;
-
-exe hello : hello.cpp : <implicit-dependency>a.h ;
-
-import os ;
-if [ os.name ] = NT
-{
-    actions gen-header
-    {
-       echo int i; > $(<)
-    }
-}
-else
-{
-    actions gen-header
-    {
-        echo "int i;" > $(<)
-    }
-}
-""")
-
-t.write("hello.cpp", """
-#include "a.h"
-int main() { return i; }
-""")
-
-
-t.run_build_system()
-
-t.expect_addition("bin/$toolset/debug/hello.exe")
-
-t.rm("bin")
-
-t.write("jamroot.jam", """
-make dir/a.h : : gen-header ;
-explicit dir/a.h ;
-
-exe hello : hello.cpp : <implicit-dependency>dir/a.h ;
-
-import os ;
-if [ os.name ] = NT
-{
-    actions gen-header
-    {
-       echo int i; > $(<)
-    }
-}
-else
-{
-    actions gen-header
-    {
-        echo "int i;" > $(<)
-    }
-}
-""")
-
-t.write("hello.cpp", """
-#include "dir/a.h"
-int main() { return i; }
-""")
-t.run_build_system()
-
-t.expect_addition("bin/$toolset/debug/hello.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/indirect_conditional.py b/SRC/Boost/tools/build/v2/test/indirect_conditional.py
deleted file mode 100755
index 8a81bf0..0000000
--- a/SRC/Boost/tools/build/v2/test/indirect_conditional.py
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2006.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-exe a1 : a1.cpp : <conditional>@a1-rule ;
-
-rule a1-rule ( properties * )
-{
-    if <variant>debug in $(properties)
-    {
-        return <define>OK ;
-    }
-}
-
-exe a2 : a2.cpp : <conditional>@$(__name__).a2-rule
-    <variant>debug:<optimization>speed ;
-
-rule a2-rule ( properties * )
-{
-    if <optimization>speed in $(properties)
-    {
-        return <define>OK ;
-    }
-}
-
-exe a3 : a3.cpp : <conditional>@$(__name__).a3-rule-1
-    <conditional>@$(__name__).a3-rule-2 ;
-
-rule a3-rule-1 ( properties * )
-{
-    if <optimization>speed in $(properties)
-    {
-        return <define>OK ;
-    }
-}
-
-rule a3-rule-2 ( properties * )
-{
-    if <variant>debug in $(properties)
-    {
-        return <optimization>speed ;
-    }
-}
-""")
-
-t.write("a1.cpp", """
-#ifdef OK
-int main() {}
-#endif
-""")
-
-t.write("a2.cpp", """
-#ifdef OK
-int main() {}
-#endif
-""")
-
-t.write("a3.cpp", """
-#ifdef OK
-int main() {}
-#endif
-""")
-
-t.run_build_system()
-
-t.expect_addition("bin/$toolset/debug/a1.exe")
-t.expect_addition("bin/$toolset/debug/optimization-speed/a2.exe")
-t.expect_addition("bin/$toolset/debug/optimization-speed/a3.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/inherit_toolset.py b/SRC/Boost/tools/build/v2/test/inherit_toolset.py
deleted file mode 100755
index 0d7dba1..0000000
--- a/SRC/Boost/tools/build/v2/test/inherit_toolset.py
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-import string
-
-t = BoostBuild.Tester(pass_toolset=0)
-
-t.write("a.cpp", """
-""")
-
-t.write("yfc1.jam", """
-import feature ;
-import generators ;
-
-feature.extend toolset : yfc1 ;
-rule init ( ) { }
-
-generators.register-standard yfc1.compile : CPP : OBJ : <toolset>yfc1 ;
-generators.register-standard yfc1.link : OBJ : EXE : <toolset>yfc1 ;
-
-actions compile { yfc1-compile }
-actions link { yfc1-link }
-""")
-
-t.write("yfc2.jam", """
-import feature ;
-import toolset ;
-
-feature.extend toolset : yfc2 ;
-toolset.inherit yfc2 : yfc1 ;
-rule init ( ) { }
-
-actions link { yfc2-link }
-""")
-
-t.write("jamfile.jam", """
-exe a : a.cpp ;
-""")
-
-t.write("jamroot.jam", """
-using yfc1 ;
-""")
-
-t.run_build_system("-n -d2 yfc1")
-t.fail_test(string.find(t.stdout(), "yfc1-link") == -1)
-
-# Make sure we do not have to explicitly 'use' yfc1.
-t.write("jamroot.jam", """
-using yfc2 ;
-""")
-
-t.run_build_system("-n -d2 yfc2")
-t.fail_test(string.find(t.stdout(), "yfc2-link") == -1)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/inherited_dependency.py b/SRC/Boost/tools/build/v2/test/inherited_dependency.py
deleted file mode 100755
index 2462450..0000000
--- a/SRC/Boost/tools/build/v2/test/inherited_dependency.py
+++ /dev/null
@@ -1,237 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (c) 2008 Steven Watanabe
-#
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt) or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-tester = BoostBuild.Tester()
-
-
-################################################################################
-#
-# Test without giving the project an explicit id.
-#
-################################################################################
-
-tester.write("jamroot.jam", """
-lib test : test.cpp ;
-project : requirements <library>test ;
-build-project a ;
-""")
-
-tester.write("test.cpp", """
-#ifdef _WIN32
-    __declspec(dllexport)
-#endif
-void foo() {}
-""")
-
-tester.write("a/test1.cpp", """
-int main() {}
-""")
-
-tester.write("a/jamfile.jam", """
-exe test1 : test1.cpp ;
-""")
-
-tester.run_build_system()
-
-tester.expect_addition("bin/$toolset/debug/test.obj")
-tester.expect_addition("a/bin/$toolset/debug/test1.exe")
-
-tester.rm("bin")
-tester.rm("a/bin")
-
-
-################################################################################
-#
-# Run the same test from the "a" directory.
-#
-################################################################################
-
-tester.run_build_system(subdir="a")
-
-tester.expect_addition("bin/$toolset/debug/test.obj")
-tester.expect_addition("a/bin/$toolset/debug/test1.exe")
-
-tester.rm("bin")
-tester.rm("a/bin")
-
-
-################################################################################
-#
-# This time, do give the project an id.
-#
-################################################################################
-
-tester.write("jamroot.jam", """
-lib test : test.cpp ;
-project test_project : requirements <library>test ;
-build-project a ;
-""")
-
-tester.run_build_system()
-
-tester.expect_addition("bin/$toolset/debug/test.obj")
-tester.expect_addition("a/bin/$toolset/debug/test1.exe")
-
-tester.rm("bin")
-tester.rm("a/bin")
-
-
-################################################################################
-#
-# Now, give the project an id in its attributes.
-#
-################################################################################
-
-tester.write("jamroot.jam", """
-lib test : test.cpp ;
-project : id test_project : requirements <library>test ;
-build-project a ;
-""")
-
-tester.run_build_system()
-
-tester.expect_addition("bin/$toolset/debug/test.obj")
-tester.expect_addition("a/bin/$toolset/debug/test1.exe")
-
-tester.rm("bin")
-tester.rm("a/bin")
-
-
-################################################################################
-#
-# Give the project an id in both ways at once.
-#
-################################################################################
-
-tester.write("jamroot.jam", """
-lib test : test.cpp ;
-project test_project1 : id test_project : requirements <library>test ;
-build-project a ;
-""")
-
-tester.run_build_system()
-
-tester.expect_addition("bin/$toolset/debug/test.obj")
-tester.expect_addition("a/bin/$toolset/debug/test1.exe")
-
-tester.rm("bin")
-tester.rm("a/bin")
-
-
-################################################################################
-#
-# Test an absolute path in native format.
-#
-################################################################################
-
-tester.write("jamroot.jam", """
-import path ;
-path-constant here : . ;
-current-location = [ path.native [ path.root [ path.make $(here) ] [ path.pwd ]
-    ] ] ;
-project test : requirements <source>$(current-location)/a/test1.cpp ;
-exe test : test.cpp ;
-""")
-
-tester.run_build_system()
-tester.expect_addition("bin/$toolset/debug/test.exe")
-
-tester.rm("bin")
-tester.rm("a/bin")
-
-
-################################################################################
-#
-# Test an absolute path in canonical format.
-#
-################################################################################
-
-tester.write("jamroot.jam", """
-import path ;
-path-constant here : . ;
-current-location = [ path.root [ path.make $(here) ] [ path.pwd ] ] ;
-project test : requirements <source>$(current-location)/a/test1.cpp ;
-exe test : test.cpp ;
-""")
-
-tester.run_build_system()
-tester.expect_addition("bin/$toolset/debug/test.exe")
-
-tester.rm("bin")
-tester.rm("a/bin")
-
-
-################################################################################
-#
-# Test dependency properties (e.g. <source>) whose targets are specified using a
-# relative path.
-#
-################################################################################
-
-# Use jamroot.jam rather than jamfile.jam to avoid inheriting the <source> from
-# the parent as that would would make test3 a source of itself.
-tester.write("b/jamroot.jam", """
-obj test3 : test3.cpp ;
-""")
-
-tester.write("b/test3.cpp", """
-void bar() {}
-""")
-
-tester.write("jamroot.jam", """
-project test : requirements <source>b//test3 ;
-build-project a ;
-""")
-
-tester.write("a/jamfile.jam", """
-exe test : test1.cpp ;
-""")
-
-tester.write("a/test1.cpp", """
-void bar();
-int main() { bar(); }
-""")
-
-tester.run_build_system()
-tester.expect_addition("b/bin/$toolset/debug/test3.obj")
-tester.expect_addition("a/bin/$toolset/debug/test.exe")
-
-tester.rm("bin")
-tester.rm("a")
-tester.rm("jamroot.jam")
-tester.rm("test.cpp")
-
-
-################################################################################
-#
-# Test that source-location is respected.
-#
-################################################################################
-
-tester.write("build/jamroot.jam", """
-project : requirements <source>test.cpp : source-location ../src ;
-""")
-
-tester.write("src/test.cpp", """
-int main() {}
-""")
-
-tester.write("build/a/jamfile.jam", """
-project : source-location ../../a_src ;
-exe test : test1.cpp ;
-""")
-
-tester.write("a_src/test1.cpp", """
-""")
-
-tester.run_build_system(subdir="build/a")
-tester.expect_addition("build/a/bin/$toolset/debug/test.exe")
-
-tester.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/inline.py b/SRC/Boost/tools/build/v2/test/inline.py
deleted file mode 100755
index 1155f20..0000000
--- a/SRC/Boost/tools/build/v2/test/inline.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-project : requirements <link>static ;
-exe a : a.cpp [ lib helper : helper.cpp ] ;
-""")
-
-t.write("a.cpp", """
-extern void helper();
-int main() {}
-""")
-
-t.write("helper.cpp", """
-void helper() {}
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/link-static/a__helper.lib")
-t.rm("bin/$toolset/debug/link-static/a__helper.lib")
-
-t.run_build_system("a__helper")
-t.expect_addition("bin/$toolset/debug/link-static/a__helper.lib")
-
-t.rm("bin")
-
-
-# Now check that inline targets with the same name but present in different
-# places are not confused between each other, and with top-level targets.
-t.write("jamroot.jam", """
-project : requirements <link>static ;
-exe a : a.cpp [ lib helper : helper.cpp ] ;
-exe a2 : a.cpp [ lib helper : helper.cpp ] ;
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/link-static/a.exe")
-t.expect_addition("bin/$toolset/debug/link-static/a__helper.lib")
-t.expect_addition("bin/$toolset/debug/link-static/a2__helper.lib")
-
-
-# Check that the 'alias' target does not change the name of inline targets, and
-# that inline targets are explicit.
-t.write("jamroot.jam", """
-project : requirements <link>static ;
-alias a : [ lib helper : helper.cpp ] ;
-explicit a ;
-""")
-t.rm("bin")
-
-t.run_build_system()
-t.expect_nothing_more()
-
-t.run_build_system("a")
-t.expect_addition("bin/$toolset/debug/link-static/helper.lib")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/jamfile.jam b/SRC/Boost/tools/build/v2/test/jamfile.jam
deleted file mode 100755
index fb9f069..0000000
--- a/SRC/Boost/tools/build/v2/test/jamfile.jam
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright 2001 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-# establish a project root right here in the test directory, so that we can test
-# things independently of the boost jambase, etc.
-project-root ; 
-
-include check-test-tools.jam ;
-include check-jam-patches.jam ;
diff --git a/SRC/Boost/tools/build/v2/test/lib_source_property.py b/SRC/Boost/tools/build/v2/test/lib_source_property.py
deleted file mode 100755
index 8cc69da..0000000
--- a/SRC/Boost/tools/build/v2/test/lib_source_property.py
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2006.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Regression test: if a library had no explicit sources, but only <source>
-# properties, it was built as if it were a searched library, and the specified
-# sources were not compiled.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-lib a : : <source>a.cpp ;
-""")
-
-t.write("a.cpp", """
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void foo() {}
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/a.obj")
-
-t.rm("bin")
-
-
-# Now try with <conditional>.
-t.write("jamroot.jam", """
-rule test ( properties * )
-{
-    return <source>a.cpp ;
-}
-lib a : : <conditional>@test ;
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/a.obj")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/library_chain.py b/SRC/Boost/tools/build/v2/test/library_chain.py
deleted file mode 100755
index 79a350a..0000000
--- a/SRC/Boost/tools/build/v2/test/library_chain.py
+++ /dev/null
@@ -1,166 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that a chain of libraries works ok, no matter if we use static or shared
-# linking.
-
-import BoostBuild
-import string
-import os
-
-t = BoostBuild.Tester()
-
-t.write("jamfile.jam", """
-# Stage the binary, so that it will be relinked without hardcode-dll-paths. That
-# will chech that we pass correct -rpath-link, even if not passing -rpath.
-stage dist : main ;
-exe main : main.cpp b ;
-""")
-
-t.write("main.cpp", """
-void foo();
-int main() { foo(); }
-""")
-
-t.write("jamroot.jam", """
-""")
-
-t.write("a/a.cpp", """
-void
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-gee() {}
-void
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-geek() {}
-""")
-
-t.write("a/jamfile.jam", """
-lib a : a.cpp ;
-""")
-
-t.write("b/b.cpp", """
-void geek();
-void
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-foo() { geek(); }
-""")
-
-t.write("b/jamfile.jam", """
-lib b : b.cpp ../a//a ;
-""")
-
-t.run_build_system("-d2", stderr=None)
-t.expect_addition("bin/$toolset/debug/main.exe")
-t.rm(["bin", "a/bin", "b/bin"])
-
-t.run_build_system("link=static")
-t.expect_addition("bin/$toolset/debug/link-static/main.exe")
-t.rm(["bin", "a/bin", "b/bin"])
-
-
-# Check that <library> works for static linking.
-t.write("b/jamfile.jam", """
-lib b : b.cpp : <library>../a//a ;
-""")
-
-t.run_build_system("link=static")
-t.expect_addition("bin/$toolset/debug/link-static/main.exe")
-
-t.rm(["bin", "a/bin", "b/bin"])
-
-t.write("b/jamfile.jam", """
-lib b : b.cpp ../a//a/<link>shared : <link>static ;
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/main.exe")
-
-t.rm(["bin", "a/bin", "b/bin"])
-
-
-# Test that putting a library in sources of a searched library works.
-t.write("jamfile.jam", """
-exe main : main.cpp png ;
-lib png : z : <name>png ;
-lib z : : <name>zzz ;
-""")
-
-t.run_build_system("-a -d+2", status=None, stderr=None)
-# Try to find the "zzz" string either in response file (for Windows compilers),
-# or in the standard output.
-rsp = t.adjust_names("bin/$toolset/debug/main.exe.rsp")[0]
-if os.path.exists(rsp) and ( string.find(open(rsp).read(), "zzz") != -1 ):
-    pass
-elif string.find(t.stdout(), "zzz") != -1:
-    pass
-else:
-    t.fail_test(1)
-
-# Test main -> libb -> liba chain in the case where liba is a file and not a
-# Boost.Build target.
-t.rm(".")
-
-t.write("jamroot.jam", "")
-
-t.write("a/jamfile.jam", """
-lib a : a.cpp ;
-install dist : a ;
-""")
-
-t.write("a/a.cpp", """
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-void a() {}
-""")
-
-t.run_build_system(subdir="a")
-t.expect_addition("a/dist/a.dll")
-
-if ( ( os.name == 'nt' ) or os.uname()[0].lower().startswith('cygwin') ) and \
-    ( BoostBuild.get_toolset() != 'gcc' ):
-    # This is windows import library -- we know the exact name.
-    file = "a/dist/a.lib"
-else:
-    file = t.adjust_names(["a/dist/a.dll"])[0]
-
-t.write("b/jamfile.jam", """
-lib b : b.cpp ../%s ;
-""" % file)
-
-t.write("b/b.cpp", """
-#if defined(_WIN32)
-__declspec(dllimport)
-#endif
-void a();
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-void b() { a(); }
-""")
-
-t.write("jamroot.jam", """
-exe main : main.cpp b//b ;
-""")
-
-t.write("main.cpp", """
-#if defined(_WIN32)
-__declspec(dllimport)
-#endif
-void b();
-int main() { b(); }
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/main.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/library_order.py b/SRC/Boost/tools/build/v2/test/library_order.py
deleted file mode 100755
index 0053ac5..0000000
--- a/SRC/Boost/tools/build/v2/test/library_order.py
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that on compilers sensitive to library order on linker's command line, we
-# generate the correct order.
-
-import BoostBuild
-import string
-
-
-t = BoostBuild.Tester()
-
-t.write("a.cpp", """
-void b();
-void a() { b(); }
-""")
-
-t.write("b.cpp", """
-void c();
-void b() { c(); }
-""")
-
-t.write("c.cpp", """
-void d();
-void c() { d(); }
-""")
-
-t.write("d.cpp", """
-void d() {}
-""")
-
-# The order of libraries in 'main' is crafted so that we get error unless we do
-# something about the order ourselves.
-t.write("jamfile.jam", """
-exe main : main.cpp libd libc libb liba ;
-lib libd : d.cpp ;
-lib libc : c.cpp : <link>static <use>libd ;
-lib libb : b.cpp : <use>libc ;
-lib liba : a.cpp : <use>libb ;
-""")
-
-t.write("main.cpp", """
-void a();
-int main() { a(); }
-""")
-
-t.write("jamroot.jam", """
-""")
-
-t.run_build_system("-d2")
-t.expect_addition("bin/$toolset/debug/main.exe")
-
-
-# Test the order between searched libraries.
-t.write("jamfile.jam", """
-exe main : main.cpp png z ;
-lib png : z : <name>png ;
-lib z : : <name>zzz ;
-""")
-
-t.run_build_system("-a -n -d+2")
-t.fail_test(string.find(t.stdout(), "png") > string.find(t.stdout(), "zzz"))
-
-t.write("jamfile.jam", """
-exe main : main.cpp png z ;
-lib png : : <name>png ;
-lib z : png : <name>zzz ;
-""")
-
-t.run_build_system("-a -n -d+2")
-t.fail_test(string.find(t.stdout(), "png") < string.find(t.stdout(), "zzz"))
-
-
-# Test the order between prebuilt libraries.
-t.write("first.a", "")
-
-t.write("second.a", "")
-
-t.write("jamfile.jam", """
-exe main : main.cpp first second ;
-lib first : second : <file>first.a ;
-lib second : : <file>second.a ;
-""")
-
-t.run_build_system("-a -n -d+2")
-t.fail_test(string.find(t.stdout(), "first") > string.find(t.stdout(), "second"))
-
-t.write("jamfile.jam", """
-exe main : main.cpp first second ;
-lib first : : <file>first.a ;
-lib second : first : <file>second.a ;
-""")
-
-t.run_build_system("-a -n -d+2")
-t.fail_test(string.find(t.stdout(), "first") < string.find(t.stdout(), "second"))
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/library_property.py b/SRC/Boost/tools/build/v2/test/library_property.py
deleted file mode 100755
index 1224930..0000000
--- a/SRC/Boost/tools/build/v2/test/library_property.py
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that the <library> property has no effect on "obj" targets. Previously,
-# it affected all targets, so
-#
-#    project : requirements <library>foo ;
-#    exe a : a.cpp helper ;
-#    obj helper : helper.cpp : <optimization>off ;
-#
-# caused 'foo' to be built with and without optimization.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-project : requirements <library>lib//x ;
-exe a : a.cpp foo ;
-obj foo : foo.cpp : <variant>release ;
-""")
-
-t.write("a.cpp", """
-void aux();
-int main() { aux(); }
-""")
-
-t.write("foo.cpp", """
-void gee();
-void aux() { gee(); }
-""")
-
-t.write("lib/x.cpp", """
-void
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-gee() {}
-""")
-
-t.write("lib/jamfile.jam", """
-lib x : x.cpp ;
-""")
-
-t.write("lib/jamroot.jam", """
-""")
-
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/a.exe")
-t.expect_nothing("lib/bin/$toolset/release/x.obj")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/load_dir.py b/SRC/Boost/tools/build/v2/test/load_dir.py
deleted file mode 100755
index 0eb677d..0000000
--- a/SRC/Boost/tools/build/v2/test/load_dir.py
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/usr/bin/python
-
-"""
-Traverses a directory and output the code that would create the same directory
-structure during testing. Assumes that the instance of Tester is called 't'.
-"""
-
-import sys
-import os
-import stat
-import string
-
-def usage():
-    print "usage: load_dir.py directory"
-
-
-def remove_first_component(path):
-    result = [path]
-    while 1:
-        s = os.path.split(result[0])
-        if not s[0]:
-            break
-        result[:1] = list(s)
-    return apply(os.path.join, result[1:])
-
-
-def create_file(arg, dirname, fnames):
-    for n in fnames:
-        path = os.path.join(dirname, n)
-        if not os.path.isdir(path):
-            print "t.write(\"%s\", \"\"\"" % (remove_first_component(path),),
-            f = open(path, "r")
-            for l in f:
-                print l,
-            print '\n""")\n'
-
-
-header = """#!/usr/bin/python
-
-#  Copyright (C) FILL SOMETHING HERE 2005.
-#  Distributed under the Boost Software License, Version 1.0. (See
-#  accompanying file LICENSE_1_0.txt or copy at
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-"""
-
-footer = """
-
-t.run_build_system()
-
-t.expect_addition("bin/$toolset/debug/FILL_SOME_HERE.exe")
-
-t.cleanup()
-"""
-
-
-def main():
-    if len(sys.argv) != 2:
-        usage()
-    else:
-        path = sys.argv[1]
-
-        if not os.access(path, os.F_OK):
-            print "Path '%s' does not exist" % (path,)
-            sys.exit(1)
-
-        if not os.path.isdir(path):
-            print "Path '%s' is not a directory" % (path,)
-
-        print header
-
-        os.path.walk(path, create_file, None)
-
-        print footer
-
-
-if __name__ == '__main__':
-    main()
diff --git a/SRC/Boost/tools/build/v2/test/load_order.py b/SRC/Boost/tools/build/v2/test/load_order.py
deleted file mode 100755
index 0f92f79..0000000
--- a/SRC/Boost/tools/build/v2/test/load_order.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2004 Vladimir Prus.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that we load parent projects before loading children.
-
-import BoostBuild
-import string
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-use-project /child : child ;
-ECHO "Setting parent requirements" ;
-project : requirements <define>PASS_THE_TEST ;
-alias x : child//main ;
-""")
-
-t.write("child/jamfile.jam", """
-ECHO "Setting child requirements" ;
-project /child ;
-exe main : main.cpp ;
-""")
-
-t.write("child/main.cpp", """
-#if defined(PASS_THE_TEST)
-int main() {}
-#endif
-""")
-
-t.run_build_system()
-
-t.expect_addition("child/bin/$toolset/debug/main.exe")
-t.fail_test(string.find(t.stdout(), "Setting child requirements") <
-            string.find(t.stdout(), "Setting parent requirements"))
-
-
-# Regression test: parent requirements were ignored in some cases.
-t.rm(".")
-t.write("jamroot.jam", """
-build-project src ;
-""")
-
-t.write("src/jamfile.jam", """
-project : requirements <define>EVERYTHING_OK ;
-""")
-
-t.write("src/app/jamfile.jam", """
-exe test : test.cpp ;
-""")
-
-t.write("src/app/test.cpp", """
-#ifdef EVERYTHING_OK
-int main() {}
-#endif
-""")
-
-t.run_build_system(subdir="src/app")
-t.expect_addition("src/app/bin/$toolset/debug/test.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/loop.py b/SRC/Boost/tools/build/v2/test/loop.py
deleted file mode 100755
index 4eddf58..0000000
--- a/SRC/Boost/tools/build/v2/test/loop.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-import string
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-lib main : main.cpp l ;
-lib l : l.cpp main ;
-""")
-
-t.write("main.cpp", "")
-
-t.write("l.cpp", "")
-
-t.run_build_system("--no-error-backtrace", status=1)
-t.fail_test(string.find(t.stdout(),
-    "error: Recursion in main target references") == -1)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/m1-01.py b/SRC/Boost/tools/build/v2/test/m1-01.py
deleted file mode 100755
index 4574ae2..0000000
--- a/SRC/Boost/tools/build/v2/test/m1-01.py
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test the very basic 'make' functionality.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.set_tree("test1")
-
-# Check that we can build something.
-t.run_build_system("-sTOOLSET=yfc")
-
-t.expect_addition("bin/a.obj/yfc/debug/runtime-link-dynamic/a.obj")
-t.expect_addition("bin/a/yfc/debug/runtime-link-dynamic/a")
-t.expect_nothing_more()
-
-t.fail(t.read("bin/a.obj/yfc/debug/runtime-link-dynamic/a.obj") !=\
-"""
-<optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-a.cpp
-""")
-
-t.fail(t.read("bin/a/yfc/debug/runtime-link-dynamic/a") !=\
-"""
-<optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-<optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-a.cpp
-""")
-
-# Check that we have vanilla target names available.
-t.touch("a.cpp")
-t.run_build_system("-sTOOLSET a.obj")
-t.expect_touch("bin/a.obj/yfc/debug/runtime-link-dynamic/a.obj")
-t.expect_no_modification("bin/a/yfc/debug/runtime-link-dynamic/a")
-
-
-# Check that if a build request cannot be completely matches, a warning is
-# issued and a subvariant with link-compatible properties is used.
-t.write("jamfile.jam", t.read("jamfile2.jam"))
-stdout="""Warning: cannot exactly satisfy request for ./a with properties
-    <optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-Using
-    <optimization>space <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-instead.
-""")
-t.run_build_system("-sTOOLSET=yfc", stdout=stdout)
-
-# Check that conflicting link-incompatible requirements prevent building.
-t.write("jamfile.jam", t.read("jamfile3.jam"))
-stdout="""Warning: cannot satisfy request for ./a with properties
-    <optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-Nothing will be built.
-""")
-t.run_build_system("-sTOOLSET=yfc", stdout=stdout, status=1)
-
-t.pass_test()
diff --git a/SRC/Boost/tools/build/v2/test/m1-02.py b/SRC/Boost/tools/build/v2/test/m1-02.py
deleted file mode 100755
index 873f0cc..0000000
--- a/SRC/Boost/tools/build/v2/test/m1-02.py
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Tests that 'make' accepts targets from other directories and that build
-# requests for those targets can be overriden.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.set_tree("test1")
-
-t.run_build_system("-sTOOLSET=yfc")
-
-t.expect_addition("bin/a.obj/yfc/debug/runtime-link-dynamic/a.obj")
-t.expect_addition("auxillary/bin/b.obj/yfc/debug/runtime-link-dynamic/optimization-space/b.obj")
-t.expect_addition("bin/a/yfc/debug/runtime-link-dynamic/a")
-t.expect_nothing_more()
-
-t.fail(t.read("bin/a.obj/yfc/debug/runtime-link-dynamic/a.obj") !=\
-"""
-<optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-a.cpp
-""")
-
-t.fail(t.read("auxillary/bin/b.obj/yfc/debug/runtime-link-dynamic/b.obj") !=\
-"""
-<optimization>space <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-b.cpp
-""")
-
-t.fail(t.read("bin/a/yfc/debug/runtime-link-dynamic/a") !=\
-"""
-<optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-<optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-a.cpp
-<optimization>space <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-b.cpp
-""")
-
-# Check that we have vanilla target names available in subdirs.
-t.touch("auxillary/b.cpp")
-t.run_build_system("-sTOOLSET b.obj", subdir="auxillary")
-t.expect_touch("auxillary/bin/b.obj/yfc/debug/runtime-link-dynamic/optimization-space/b.obj")
-t.expect_no_modification("bin/a.obj/yfc/debug/runtime-link-dynamic/a.obj")
-t.expect_no_modification("bin/a/yfc/debug/runtime-link-dynamic/a")
-
-
-# Check that we can not request link-incompatible property for source target.
-t.write('jamfile.jam', t.read('jamfile2.jam'))
-stdout="""Error: subvariant of target ./a with properties
-    <optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-requests link-incompatible property
-    <rtti>off
-for source @auxillary/b.obj
-"""
-t.run_build_system("-sTOOLSET=yfc", stdout=stdout)
-
-
-# Check that if we request link-compatible property then requirement for the
-# source target will override it, with a warning. This is similar to the way
-# build requests are satisfied (see the first test).
-#
-# CONSIDER: should be print the main target which requests this one (and
-# modifies requirements)?
-t.write('jamfile.jam', t.read('jamfile3.jam'))
-t.write('auxillary/jamfile.jam', t.read('auxillary/jamfile3.jam'))
-stdout="""Warning: cannot exactly satisfy request for auxillary/b.obj with properties
-    <optimization>space <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-Using
-    <optimization>speed <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-instead.
-"""
-t.run_build_system("-sTOOLSET=yfc", stdout=stdout)
-
-
-# Check for link-incompatible properties.
-t.write('jamfile.jam', t.read('jamfile4.jam'))
-t.write('auxillary/jamfile.jam', t.read('auxillary/jamfile4.jam'))
-stdout="""Warning: cannot satisfy request for auxillary/b.obj with properties
-    <optimization>space <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-Nothing will be built.
-"""
-t.run_build_system("-sTOOLSET=yfc", stdout=stdout)
-
-
-t.pass_test()
diff --git a/SRC/Boost/tools/build/v2/test/m1-03.py b/SRC/Boost/tools/build/v2/test/m1-03.py
deleted file mode 100755
index 3acb79c..0000000
--- a/SRC/Boost/tools/build/v2/test/m1-03.py
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests that we can use objects from other projects, i.e. with other project
-# root. Test also that we can refer to those target using project-id.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.set_tree("test1")
-
-t.run_build_system("-sTOOLSET=yfc", subdir="p1")
-
-t.expect_addition("p1/bin/a.obj/yfc/debug/runtime-link-dynamic/a.obj")
-t.expect_addition("p1/auxillary/bin/b.obj/yfc/debug/runtime-link-dynamic/optimization-space/b.obj")
-t.expect_addition("p2/bin/c.obj/yfc/debug/runtime-link-dynamic/c.obj")
-t.expect_addition("bin/a/yfc/debug/runtime-link-dynamic/a")
-t.expect_nothing_more()
-
-t.fail(t.read("p1/bin/a.obj/yfc/debug/runtime-link-dynamic/a.obj") !=\
-"""
-<optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-a.cpp
-""")
-
-t.fail(t.read("p1/auxillary/bin/b.obj/yfc/debug/runtime-link-dynamic/b.obj") !=\
-"""
-<optimization>space <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-b.cpp
-""")
-
-t.fail(t.read("p2/bin/c.obj/yfc/debug/runtime-link-dynamic/c.obj") !=\
-"""
-<include>everything <optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-a.cpp
-""")
-
-t.fail(t.read("bin/a/yfc/debug/runtime-link-dynamic/a") !=\
-"""
-<optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-<optimization>off <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-a.cpp
-<optimization>space <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-b.cpp
-<include>everything <optimization>space <rtti>on <runtime-link>dynamic <toolset>yfc <variant>debug
-c.cpp
-""")
-
-t.expect_nothing_more()
-
-# TODO: need to write test cases for referring to targets using project-id.
-
-t.pass_test()
diff --git a/SRC/Boost/tools/build/v2/test/make_rule.py b/SRC/Boost/tools/build/v2/test/make_rule.py
deleted file mode 100755
index 78143a7..0000000
--- a/SRC/Boost/tools/build/v2/test/make_rule.py
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2003, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test the 'make' rule.
-
-import BoostBuild
-import string
-
-t = BoostBuild.Tester(pass_toolset=1)
-
-t.write("jamroot.jam", """
-import feature ;
-feature.feature test_feature : : free ;
-
-import toolset ;
-toolset.flags creator STRING : <test_feature> ;
-
-actions creator
-{
-    echo $(STRING) > $(<)
-}
-
-make foo.bar : : creator : <test_feature>12345678 ;
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/foo.bar")
-t.fail_test(string.find(t.read("bin/$toolset/debug/foo.bar"), "12345678") == -1)
-
-
-# Regression test. Make sure that if a main target is requested two times, and
-# build requests differ only in incidental properties, the main target is
-# created only once. The bug was discovered by Kirill Lapshin.
-t.write("jamroot.jam", """
-# Make sure that incidental property does not cause second creation of
-# 'hello1.cpp'.
-exe a : dir//hello1.cpp ;
-exe b : dir//hello1.cpp/<hardcode-dll-paths>true ;
-""")
-
-t.write("dir/jamfile.jam", """
-import common ;
-make hello1.cpp : hello.cpp : common.copy ;
-""")
-
-t.write("dir/hello.cpp", """
-int main() {}
-""")
-
-# Show only action names.
-t.run_build_system("-d1 -n")
-t.fail_test(t.stdout().count("copy") != 1)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/module-actions/boost-build.jam b/SRC/Boost/tools/build/v2/test/module-actions/boost-build.jam
deleted file mode 100755
index 0b3f1be..0000000
--- a/SRC/Boost/tools/build/v2/test/module-actions/boost-build.jam
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2003 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-boost-build . ;
diff --git a/SRC/Boost/tools/build/v2/test/module-actions/bootstrap.jam b/SRC/Boost/tools/build/v2/test/module-actions/bootstrap.jam
deleted file mode 100755
index 3e1027d..0000000
--- a/SRC/Boost/tools/build/v2/test/module-actions/bootstrap.jam
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2003 Dave Abrahams
-# Copyright 2006 Rene Rivera
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Demonstration that module variables have the right effect in actions.
-
-
-# Top-level rule that causes a target to be built by invoking the specified
-# action.
-rule make ( target : sources * : act )
-{
-    DEPENDS all : $(target) ;
-    DEPENDS $(target) : $(sources) ;
-    $(act) $(target) : $(sources) ;
-}
-
-
-X1 = X1-global ;
-X2 = X2-global ;
-X3 = X3-global ;
-
-module A
-{
-    X1 = X1-A ;
-
-    rule act ( target )
-    {
-        NOTFILE $(target) ;
-        ALWAYS $(target) ;
-    }
-
-    actions act { echo A.act $(<): $(X1) $(X2) $(X3) }
-
-    make t1 : : A.act ;
-    make t2 : : A.act ;
-    make t3 : : A.act ;
-}
-
-module B
-{
-    X2 = X2-B ;
-
-    actions act { echo B.act $(<): $(X1) $(X2) $(X3) }
-
-    make t1 : : B.act ;
-    make t2 : : B.act ;
-    make t3 : : B.act ;
-}
-
-actions act { echo act $(<): $(X1) $(X2) $(X3) }
-
-make t1 : : act ;
-make t2 : : act ;
-make t3 : : act ;
-
-X1 on t1 = X1-t1 ;
-X2 on t2 = X2-t2 ;
-X3 on t3 = X3-t3 ;
-
-DEPENDS all : t1 t2 t3 ;
diff --git a/SRC/Boost/tools/build/v2/test/module_actions.py b/SRC/Boost/tools/build/v2/test/module_actions.py
deleted file mode 100755
index 3bcc184..0000000
--- a/SRC/Boost/tools/build/v2/test/module_actions.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams 
-# Copyright 2006 Rene Rivera 
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import BoostBuild
-import os
-import re
-
-spaces_re = re.compile("\ \ +")
-trailing_spaces_re = re.compile("\ +\n")
-
-t = BoostBuild.Tester("-d+1", pass_toolset=0)
-
-t.set_tree('module-actions')
-
-#   Note that the following string contains some trailing spaces that should not
-# be removed.
-expected_output = """...found 4 targets...
-...updating 3 targets...
-A.act t1
-A.act t1: X1-t1   
-B.act t1
-B.act t1: X1-t1 X2-B  
-act t1
-act t1: X1-t1 X2-global X3-global 
-A.act t2
-A.act t2: X1-A X2-t2  
-B.act t2
-B.act t2:  X2-t2  
-act t2
-act t2: X1-global X2-t2 X3-global 
-A.act t3
-A.act t3: X1-A  X3-t3 
-B.act t3
-B.act t3:  X2-B X3-t3 
-act t3
-act t3: X1-global X2-global X3-t3 
-...updated 3 targets...
-"""
-
-# On Unixes, call to 'echo 1     2      3' produces '1 2 3' (note the spacing)
-# Accomodate for that fact.
-if os.name != 'nt':
-    expected_output = re.sub(spaces_re, " ", expected_output)
-    expected_output = re.sub(trailing_spaces_re, "\n", expected_output)
-
-t.run_build_system(stdout=expected_output)
-t.expect_nothing_more()
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/ndebug.py b/SRC/Boost/tools/build/v2/test/ndebug.py
deleted file mode 100755
index 731f477..0000000
--- a/SRC/Boost/tools/build/v2/test/ndebug.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that building with optimization brings NDEBUG define, and, more
-# importantly, that dependency targets are built with NDEBUG as well, even if
-# they are not directly requested.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-exe hello : hello.cpp lib//lib1 ;
-""")
-
-t.write("hello.cpp", """
-#ifdef NDEBUG
-void foo();
-int main() { foo(); }
-#endif
-""")
-
-t.write("lib/jamfile.jam", """
-lib lib1 : lib1.cpp ;
-""")
-t.write("lib/lib1.cpp", """
-#ifdef NDEBUG
-void foo() {}
-#endif
-""")
-
-# 'release' builds should get the NDEBUG define. We use static linking to avoid
-# messing with imports/exports on windows.
-t.run_build_system("link=static release")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/no_type.py b/SRC/Boost/tools/build/v2/test/no_type.py
deleted file mode 100755
index 25089e8..0000000
--- a/SRC/Boost/tools/build/v2/test/no_type.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Test that we cannot specify targets of unknown type as sources. This is based
-# on the fact that Unix 'ar' will happily consume just about anything.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-import gcc ;
-static-lib a : a.foo ;
-""")
-
-t.write("a.foo", "")
-
-t.run_build_system(status=1)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/notfile.py b/SRC/Boost/tools/build/v2/test/notfile.py
deleted file mode 100755
index 9a99d75..0000000
--- a/SRC/Boost/tools/build/v2/test/notfile.py
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2005.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Basic tests for the 'notfile' rule.
-
-import BoostBuild
-import string
-import os
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """ 
-import notfile ;
-notfile say : "echo hi" ;
-
-exe hello : hello.cpp ;
-notfile hello_valgrind : @valgrind : hello ;
-
-actions valgrind
-{
-   valgrind $(>[1]) 
-}
-""")
-
-t.write("hello.cpp", """
-#include <iostream>
-int main() { std::cout << "Hello!\\n"; }
-""")
-
-
-t.run_build_system("-n -d+2")
-
-t.fail_test(string.find(t.stdout(), "echo hi") == -1)
-
-name = t.adjust_names(["bin/$toolset/debug/hello.exe"])[0]
-name = apply(os.path.join, string.split(name, "/"));
-c = "valgrind *" + name
-t.expect_output_line(c)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/ordered_include.py b/SRC/Boost/tools/build/v2/test/ordered_include.py
deleted file mode 100755
index 71e7d83..0000000
--- a/SRC/Boost/tools/build/v2/test/ordered_include.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (c) 2008 Steven Watanabe
-#
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt) or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-tester = BoostBuild.Tester()
-
-tester.write("jamroot.jam", """
-obj test : test.cpp : <include>a&&b ;
-""")
-
-tester.write("test.cpp", """
-#include <test1.hpp>
-#include <test2.hpp>
-int main() {}
-""")
-
-tester.write("a/test1.hpp", """
-""")
-
-tester.write("b/test2.hpp", """
-""")
-
-tester.run_build_system()
-
-tester.expect_addition("bin/$toolset/debug/test.obj")
-
-tester.touch("a/test1.hpp")
-tester.run_build_system()
-tester.expect_touch("bin/$toolset/debug/test.obj")
-
-tester.touch("b/test2.hpp")
-tester.run_build_system()
-tester.expect_touch("bin/$toolset/debug/test.obj")
-
-tester.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/ordered_properties.py b/SRC/Boost/tools/build/v2/test/ordered_properties.py
deleted file mode 100755
index 111cb0c..0000000
--- a/SRC/Boost/tools/build/v2/test/ordered_properties.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This checks that Boost.Build does not reorder <include> properties
-# lexicographically.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("a.cpp", """
-#include <a.h>
-int main() { foo(); }
-""")
-
-t.write("jamroot.jam", """
-exe a : a.cpp : <include>d2 <include>d1 ;
-""")
-
-t.write("d1/a.h", """
-""")
-
-t.write("d2/a.h", """
-inline void foo() {}
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/a.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/out_of_tree.py b/SRC/Boost/tools/build/v2/test/out_of_tree.py
deleted file mode 100755
index 7a6cbfe..0000000
--- a/SRC/Boost/tools/build/v2/test/out_of_tree.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) FILL SOMETHING HERE 2005.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests that we can build a project when the current directory is outside of
-# that project tree, that is 'bjam some_dir' works.
-
-import BoostBuild
-
-# Create a temporary working directory.
-t = BoostBuild.Tester()
-
-# Create the needed files.
-t.write("p1/jamroot.jam", """
-exe hello : hello.cpp ;
-""")
-
-t.write("p1/hello.cpp", """
-int main() {}
-""")
-
-t.write("p2/jamroot.jam", """
-exe hello2 : hello.cpp ;
-exe hello3 : hello.cpp ;
-""")
-
-t.write("p2/hello.cpp", """
-int main() {}
-""")
-
-t.run_build_system("p1 p2//hello3")
-
-t.expect_addition("p1/bin/$toolset/debug/hello.exe")
-t.expect_addition("p2/bin/$toolset/debug/hello3.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/path_features.py b/SRC/Boost/tools/build/v2/test/path_features.py
deleted file mode 100755
index 5160aa6..0000000
--- a/SRC/Boost/tools/build/v2/test/path_features.py
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams 
-# Copyright 2002, 2003, 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", "import gcc ;")
-t.write("jamfile.jam", "lib a : a.cpp : <include>. ;")
-t.write("a.cpp", """
-#include <a.h>
-void
-# ifdef _WIN32
-__declspec(dllexport)
-# endif 
-foo() {}
-""")
-t.write("a.h", "//empty file\n")
-
-t.write("d/jamfile.jam", "exe b : b.cpp ..//a ; ")
-t.write("d/b.cpp", """
-void foo();
-int main() { foo(); }
-""")
-
-t.run_build_system(subdir="d")
-
-# Now test the path features with condition work as well.
-t.write("jamfile.jam", "lib a : a.cpp : <variant>debug:<include>.  ;")
-t.rm("bin")
-t.run_build_system(subdir="d")
-
-# Test path features with condition in usage requirements.
-t.write("jamfile.jam", """
-lib a : a.cpp : <include>. : : <variant>debug:<include>. ;
-""")
-t.write("d/b.cpp", """
-#include <a.h>
-void foo();
-int main() { foo(); }
-""")
-t.rm("d/bin")
-t.run_build_system(subdir="d")
-
-# Test that absolute paths inside requirements are ok. The problems appeared
-# only when building targets in subprojects.
-t.write("jamroot.jam", "")
-t.write("jamfile.jam", "build-project x ; ")
-t.write("x/jamfile.jam", """
-local pwd = [ PWD ] ;
-project : requirements <include>$(pwd)/x/include ;
-exe m : m.cpp : <include>$(pwd)/x/include2 ;
-""")
-t.write("x/m.cpp", """
-#include <h1.hpp>
-#include <h2.hpp>
-int main() {}
-""")
-t.write("x/include/h1.hpp", "\n")
-t.write("x/include2/h2.hpp", "\n")
-
-t.run_build_system()
-t.expect_addition("x/bin/$toolset/debug/m.exe")
-
-# Test that "&&" in path features is handled correctly.
-t.rm("bin")
-t.write("jamfile.jam", "build-project sub ;")
-t.write("sub/jamfile.jam", """
-exe a : a.cpp : <include>../h1&&../h2 ;
-""")
-t.write("sub/a.cpp", """
-#include <header.h>
-int main() { return OK; }
-""")
-t.write("h2/header.h", """
-const int OK = 0;
-""")
-t.run_build_system()
-t.expect_addition("sub/bin/$toolset/debug/a.exe")        
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/pch.py b/SRC/Boost/tools/build/v2/test/pch.py
deleted file mode 100755
index e5bfa34..0000000
--- a/SRC/Boost/tools/build/v2/test/pch.py
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2006 Vladimir Prus.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-import pch ;
-cpp-pch pch : pch.hpp : <toolset>msvc:<source>pch.cpp <include>. ;
-exe hello : hello.cpp pch : <include>. ;
-""")
-
-t.write("pch.hpp.bad", """
-THIS WILL NOT COMPILE
-""")
-
-# Note that pch.hpp is written after pch.hpp.bad, so its timestamp will not be
-# less than timestamp of pch.hpp.bad.
-t.write("pch.hpp", """
-class TestClass
-{
-public:
-    TestClass( int, int ) {}
-};
-""")
-
-t.write("pch.cpp", """#include <pch.hpp>
-""")
-
-t.write("hello.cpp", """#include <pch.hpp>
-int main() { TestClass c(1, 2); }
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/hello.exe")
-
-
-# Now make the header unusable, without changing timestamp. If everything is OK,
-# Boost.Build will not recreate PCH, and compiler will happily use pre-compiled
-# header, not noticing that the real header is bad.
-
-t.copy_preserving_timestamp("pch.hpp.bad", "pch.hpp")
-
-t.rm("bin/$toolset/debug/hello.obj")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/hello.obj")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/prebuilt.py b/SRC/Boost/tools/build/v2/test/prebuilt.py
deleted file mode 100755
index 0543a89..0000000
--- a/SRC/Boost/tools/build/v2/test/prebuilt.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002, 2003, 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Test that we can use already built sources
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.set_tree('prebuilt')
-
-t.expand_toolset("ext/jamroot.jam")
-t.expand_toolset("jamroot.jam")
-
-# First, build the external project.
-t.run_build_system("debug release", subdir="ext")
-
-# Then pretend that we do not have the sources for the external project, and can
-# only use compiled binaries.
-t.copy("ext/jamfile2.jam", "ext/jamfile.jam")
-t.expand_toolset("ext/jamfile.jam")
-
-# Now check that we can build the main project, and that correct prebuilt file
-# is picked, depending of variant. This also checks that correct includes for
-# prebuilt libraries are used.
-t.run_build_system("debug release")
-t.expect_addition("bin/$toolset/debug/hello.exe")
-t.expect_addition("bin/$toolset/release/hello.exe")
-
-t.rm("bin")
-
-
-# Now test that prebuilt file specified by absolute name works too.
-t.copy("ext/jamfile3.jam", "ext/jamfile.jam")
-t.expand_toolset("ext/jamfile.jam")
-t.run_build_system("debug release")
-t.expect_addition("bin/$toolset/debug/hello.exe")
-t.expect_addition("bin/$toolset/release/hello.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/prebuilt/ext/a.cpp b/SRC/Boost/tools/build/v2/test/prebuilt/ext/a.cpp
deleted file mode 100755
index 6235ca2..0000000
--- a/SRC/Boost/tools/build/v2/test/prebuilt/ext/a.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-#ifdef RELEASE
-void release() {}
-#else
-void debug() {}
-#endif
diff --git a/SRC/Boost/tools/build/v2/test/prebuilt/ext/debug/a.h b/SRC/Boost/tools/build/v2/test/prebuilt/ext/debug/a.h
deleted file mode 100755
index 907bdc6..0000000
--- a/SRC/Boost/tools/build/v2/test/prebuilt/ext/debug/a.h
+++ /dev/null
@@ -1,13 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#ifdef _WIN32
-__declspec(dllimport)
-#endif
-void debug();
diff --git a/SRC/Boost/tools/build/v2/test/prebuilt/ext/jamfile.jam b/SRC/Boost/tools/build/v2/test/prebuilt/ext/jamfile.jam
deleted file mode 100755
index 5614696..0000000
--- a/SRC/Boost/tools/build/v2/test/prebuilt/ext/jamfile.jam
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-project ext 
-    : requirements <variant>release:<define>RELEASE
-    ;
-
-lib a : a.cpp ;
-
-install dist : a : <variant>release:<location>release
-                   <variant>debug:<location>debug ;
diff --git a/SRC/Boost/tools/build/v2/test/prebuilt/ext/jamfile2.jam b/SRC/Boost/tools/build/v2/test/prebuilt/ext/jamfile2.jam
deleted file mode 100755
index 1ae55b4..0000000
--- a/SRC/Boost/tools/build/v2/test/prebuilt/ext/jamfile2.jam
+++ /dev/null
@@ -1,39 +0,0 @@
-
-import modules ;
-
-local dll-suffix = so ;
-local prefix = "" ;
-if [ modules.peek : OS ] in CYGWIN NT
-{
-   if [ MATCH ^(gcc) : $toolset ]
-   {
-      dll-suffix = dll ;
-   }
-   else
-   {
-      dll-suffix = lib ;
-   }
-}
-else
-{
-   prefix = "lib" ;      
-}
-if [ MATCH ^(darwin) : $toolset ]
-{
-   dll-suffix = dylib ;
-}
-
-project ext ;
-
-lib a : 
-    : <file>debug/$(prefix)a.$(dll-suffix) <variant>debug
-    :
-    : <include>debug
-    ;
-    
-lib a :
-    : <file>release/$(prefix)a.$(dll-suffix) <variant>release
-    :
-    : <include>release
-    ;
-    
diff --git a/SRC/Boost/tools/build/v2/test/prebuilt/ext/jamfile3.jam b/SRC/Boost/tools/build/v2/test/prebuilt/ext/jamfile3.jam
deleted file mode 100755
index 5e7ea0d..0000000
--- a/SRC/Boost/tools/build/v2/test/prebuilt/ext/jamfile3.jam
+++ /dev/null
@@ -1,46 +0,0 @@
-
-# This Jamfile is the same as Jamfile2, except that
-# it tries to access prebuilt targets using absolute
-# paths. It used to be broken on Windows.
-
-import modules ;
-
-local dll-suffix = so ;
-local prefix = "" ;
-if [ modules.peek : OS ] in CYGWIN NT
-{
-   if [ MATCH ^(gcc) : $toolset ]
-   {
-      dll-suffix = dll ;
-   }
-   else
-   {
-      dll-suffix = lib ;
-   }
-}
-else
-{
-   prefix = "lib" ;      
-}
-if [ MATCH ^(darwin) : $toolset ]
-{
-   dll-suffix = dylib ;
-}
-
-project ext ;
-
-# Assumed bjam was invoked from the project root
-local pwd = [ PWD ] ;
-
-lib a : 
-    : <file>$(pwd)/ext/debug/$(prefix)a.$(dll-suffix) <variant>debug
-    :
-    : <include>debug
-    ;
-    
-lib a :
-    : <file>$(pwd)/ext/release/$(prefix)a.$(dll-suffix) <variant>release
-    :
-    : <include>release
-    ;
-    
diff --git a/SRC/Boost/tools/build/v2/test/prebuilt/ext/jamroot.jam b/SRC/Boost/tools/build/v2/test/prebuilt/ext/jamroot.jam
deleted file mode 100755
index 81849f5..0000000
--- a/SRC/Boost/tools/build/v2/test/prebuilt/ext/jamroot.jam
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2002, 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
diff --git a/SRC/Boost/tools/build/v2/test/prebuilt/ext/release/a.h b/SRC/Boost/tools/build/v2/test/prebuilt/ext/release/a.h
deleted file mode 100755
index 824ffac..0000000
--- a/SRC/Boost/tools/build/v2/test/prebuilt/ext/release/a.h
+++ /dev/null
@@ -1,13 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#ifdef _WIN32
-__declspec(dllimport)
-#endif
-void release();
diff --git a/SRC/Boost/tools/build/v2/test/prebuilt/hello.cpp b/SRC/Boost/tools/build/v2/test/prebuilt/hello.cpp
deleted file mode 100755
index 185559b..0000000
--- a/SRC/Boost/tools/build/v2/test/prebuilt/hello.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-#include <a.h>
-
-int main()
-{
-    #ifdef RELEASE
-    release();
-    #else
-    debug();
-    #endif
-    return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/test/prebuilt/jamfile.jam b/SRC/Boost/tools/build/v2/test/prebuilt/jamfile.jam
deleted file mode 100755
index 94f5d06..0000000
--- a/SRC/Boost/tools/build/v2/test/prebuilt/jamfile.jam
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-project test
-    : requirements <variant>release:<define>RELEASE
-    ;
-
-use-project /ext : ext ;
-
-exe hello : hello.cpp /ext//a ;
-
diff --git a/SRC/Boost/tools/build/v2/test/prebuilt/jamroot.jam b/SRC/Boost/tools/build/v2/test/prebuilt/jamroot.jam
deleted file mode 100755
index 7367f1a..0000000
--- a/SRC/Boost/tools/build/v2/test/prebuilt/jamroot.jam
+++ /dev/null
@@ -1,4 +0,0 @@
-# Copyright 2002, 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
diff --git a/SRC/Boost/tools/build/v2/test/preprocessor.py b/SRC/Boost/tools/build/v2/test/preprocessor.py
deleted file mode 100755
index a768b40..0000000
--- a/SRC/Boost/tools/build/v2/test/preprocessor.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Copyright 2011 Steven Watanabe
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test the C/C++ preprocessor.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-project ;
-preprocessed hello : hello.cpp ;
-preprocessed a : a.c ;
-exe hello.exe : hello a : <define>FAIL ;
-""")
-
-t.write("hello.cpp", """
-#ifndef __cplusplus
-#error "This file must be compiled as C++"
-#endif
-#ifdef FAIL
-#error "Not preprocessed?"
-#endif
-extern "C" int foo();
-int main() { return foo(); }
-""")
-
-t.write("a.c", """
-/* This will not compile unless in C mode. */
-#ifdef __cplusplus
-#error "This file must be compiled as C"
-#endif
-#ifdef FAIL
-#error "Not preprocessed?"
-#endif
-int foo()
-{
-    int new = 0;
-    new = (new+1)*7;
-    return new;
-}
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/hello.ii")
-t.expect_addition("bin/$toolset/debug/a.i")
-t.expect_addition("bin/$toolset/debug/hello.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/print.py b/SRC/Boost/tools/build/v2/test/print.py
deleted file mode 100755
index 1841d61..0000000
--- a/SRC/Boost/tools/build/v2/test/print.py
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Douglas Gregor 
-# Copyright 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", "import gcc ;")
-
-t.write("jamfile.jam", """
-import print ;
-print.output foo ;
-print.text \\\"Something\\\" ;
-DEPENDS all : foo ;
-ALWAYS foo ;
-""")
-
-t.run_build_system()
-t.expect_content("foo", """\"Something\"""")
-
-t.write("jamfile.jam", """
-import print ;
-print.output foo ;
-print.text \\\n\\\"Somethingelse\\\" ;
-DEPENDS all : foo ;
-ALWAYS foo ;
-""")
-
-t.run_build_system()
-t.expect_content("foo", """\"Something\"
-\"Somethingelse\"""")
-
-t.write("jamfile.jam", """
-import print ;
-print.output foo ;
-print.text \\\"Different\\\" : true ;
-DEPENDS all : foo ;
-ALWAYS foo ;
-""")
-
-t.run_build_system()
-t.expect_content("foo", """\"Different\"""")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/project-test1.jam b/SRC/Boost/tools/build/v2/test/project-test1.jam
deleted file mode 100755
index b7f01d9..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test1.jam
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2002, 2003 Dave Abrahams 
-# Copyright 2002 Rene Rivera 
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import project ;
-import targets ;
-import assert ;
-
-project.load project-test1 ;
-import project-roots ;
-
-project-roots.print ;
-
-NOTFILE all ;
-
-
diff --git a/SRC/Boost/tools/build/v2/test/project-test1/dir/jamfile.jam b/SRC/Boost/tools/build/v2/test/project-test1/dir/jamfile.jam
deleted file mode 100755
index 4ec19a1..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test1/dir/jamfile.jam
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright 2003 Dave Abrahams 
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-project /boost-build-test-project-1/dir 
-    : source-location src 
-    : default-build release
-    ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test1/dir2/jamfile.jam b/SRC/Boost/tools/build/v2/test/project-test1/dir2/jamfile.jam
deleted file mode 100755
index 6a40759..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test1/dir2/jamfile.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2004 Rene Rivera 
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-project /cool-library 
-    : requirements <include>/home/ghost/build/boost-cvs 
-    ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test1/dir2/jamroot.jam b/SRC/Boost/tools/build/v2/test/project-test1/dir2/jamroot.jam
deleted file mode 100755
index fa7d59a..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test1/dir2/jamroot.jam
+++ /dev/null
@@ -1,4 +0,0 @@
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
diff --git a/SRC/Boost/tools/build/v2/test/project-test1/jamfile.jam b/SRC/Boost/tools/build/v2/test/project-test1/jamfile.jam
deleted file mode 100755
index 3d2dcf0..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test1/jamfile.jam
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-project /boost-build-test-project-1
-    : requirements <threading>multi <include>/home/ghost/local/include ;
-
-build-project dir2 ;
-build-project dir ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test1/jamroot.jam b/SRC/Boost/tools/build/v2/test/project-test1/jamroot.jam
deleted file mode 100755
index efb3a32..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test1/jamroot.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-import builtin ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test1/project-test1.jam b/SRC/Boost/tools/build/v2/test/project-test1/project-test1.jam
deleted file mode 100755
index a9950ab..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test1/project-test1.jam
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2002, 2003 Dave Abrahams 
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import project ;
-import targets ;
-import assert ;
-import project-roots ;
-
-project.load "." ;
-
-import standalone-project ;
-
-project-roots.print ;
-
-assert.result standalone-project : project.find /teeest : "." ;
-
-NOTFILE all ;
-
-
diff --git a/SRC/Boost/tools/build/v2/test/project-test1/readme.txt b/SRC/Boost/tools/build/v2/test/project-test1/readme.txt
deleted file mode 100755
index 92d07c9..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test1/readme.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Copyright 2003 Dave Abrahams 
-Copyright 2002 Vladimir Prus 
-Distributed under the Boost Software License, Version 1.0. 
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-This tests for basic project handling -- declaring subprojects, finding
-parent projects and project roots and for working project-ids.
diff --git a/SRC/Boost/tools/build/v2/test/project-test1/standalone-project.jam b/SRC/Boost/tools/build/v2/test/project-test1/standalone-project.jam
deleted file mode 100755
index 0e60971..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test1/standalone-project.jam
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-import project ;
-
-# Convert ourself into a real project.
-project.initialize $(__name__) ;
-
-# Now we can identify ourselfs.
-project /teeest ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/a.cpp b/SRC/Boost/tools/build/v2/test/project-test3/a.cpp
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/a.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/jamfile.jam b/SRC/Boost/tools/build/v2/test/project-test3/jamfile.jam
deleted file mode 100755
index 8acebf3..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/jamfile.jam
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-use-project /lib2 : lib2 ;
-use-project /lib3 : lib3 ;
-
-make a.exe : a.obj lib//b.obj /lib2//c.obj lib2//d.obj lib2/helper//e.obj /lib3//f.obj : yfc-link ;
-make a.obj : a.cpp : yfc-compile ; 
-
-build-project lib2 ;
-build-project lib ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/jamroot.jam b/SRC/Boost/tools/build/v2/test/project-test3/jamroot.jam
deleted file mode 100755
index 387b326..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/jamroot.jam
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2002-2005 Vladimir Prus.
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#         http://www.boost.org/LICENSE_1_0.txt)
-
-import gcc ;
-import property ;
-
-rule properties-as-path ( properties * )
-{
-    local r ;
-    for local p in $(properties)
-    {
-        if $(p:G) != <action>
-        {
-            r += $(p) ;
-        }
-    }
-    return [ property.as-path
-        [ property.remove incidental : $(r) ] ] ;
-}
-
-rule yfc-compile ( target : sources * : property-set * )
-{
-    PROPERTIES on $(target) = [ properties-as-path $(property-set) ] ;
-}
-
-actions yfc-compile
-{
-    echo $(PROPERTIES) > $(<)
-    echo $(>) >> $(<)
-}
-
-rule yfc-link ( target : sources * : property-set * )
-{
-    PROPERTIES on $(target) = [ properties-as-path $(property-set) ] ;
-}
-
-actions yfc-link
-{
-    echo $(PROPERTIES) > $(<)
-    echo $(>) >> $(<)
-}
-
-
-IMPORT $(__name__) : yfc-compile yfc-link : : yfc-compile yfc-link ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/lib/b.cpp b/SRC/Boost/tools/build/v2/test/project-test3/lib/b.cpp
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/lib/b.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/lib/jamfile.jam b/SRC/Boost/tools/build/v2/test/project-test3/lib/jamfile.jam
deleted file mode 100755
index e2ba377..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/lib/jamfile.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-use-project /lib2 : ../lib2 ;
-
-make b.obj : b.cpp : yfc-compile ;
-make m.exe : b.obj /lib2//c.obj : yfc-link ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/lib2/c.cpp b/SRC/Boost/tools/build/v2/test/project-test3/lib2/c.cpp
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/lib2/c.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/lib2/d.cpp b/SRC/Boost/tools/build/v2/test/project-test3/lib2/d.cpp
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/lib2/d.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/lib2/helper/e.cpp b/SRC/Boost/tools/build/v2/test/project-test3/lib2/helper/e.cpp
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/lib2/helper/e.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/lib2/helper/jamfile.jam b/SRC/Boost/tools/build/v2/test/project-test3/lib2/helper/jamfile.jam
deleted file mode 100755
index 5be9008..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/lib2/helper/jamfile.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-project lib2/helper ;
-
-make e.obj : e.cpp : yfc-compile ;
-
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/lib2/jamfile.jam b/SRC/Boost/tools/build/v2/test/project-test3/lib2/jamfile.jam
deleted file mode 100755
index f7e5f74..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/lib2/jamfile.jam
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-project lib2 ;
-use-project /lib2/helper : helper ;
-
-make c.obj : c.cpp : yfc-compile ;
-make d.obj : d.cpp : yfc-compile ;
-make l.exe : c.obj ..//a.obj : yfc-link ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/lib3/f.cpp b/SRC/Boost/tools/build/v2/test/project-test3/lib3/f.cpp
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/lib3/f.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/lib3/jamfile.jam b/SRC/Boost/tools/build/v2/test/project-test3/lib3/jamfile.jam
deleted file mode 100755
index 0198319..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/lib3/jamfile.jam
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2003, 2005 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This project-root.jam also serves the role of Jamfile
-project lib3 ;
-
-use-project /lib2/helper : ../lib2/helper ;
-
-import property ;
-
-rule properties-as-path ( properties * )
-{
-    local r ;
-    for local p in $(properties)
-    {
-        if $(p:G) != <action>
-        {
-            r += $(p) ;
-        }
-    }
-    return [ property.as-path
-        [ property.remove incidental : $(r) ] ] ;
-}
-
-rule mfc-compile ( target : sources * : property-set * )
-{
-    PROPERTIES on $(target) = [ properties-as-path $(property-set) ] ;
-}
-
-actions mfc-compile
-{
-    echo $(PROPERTIES) > $(<)
-    echo $(>) >> $(<)
-}
-
-make f.obj : f.cpp /lib2/helper//e.obj : mfc-compile ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/lib3/jamroot.jam b/SRC/Boost/tools/build/v2/test/project-test3/lib3/jamroot.jam
deleted file mode 100755
index 314c841..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/lib3/jamroot.jam
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2002 Rene Rivera 
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
diff --git a/SRC/Boost/tools/build/v2/test/project-test3/readme.txt b/SRC/Boost/tools/build/v2/test/project-test3/readme.txt
deleted file mode 100755
index 0fc92ce..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test3/readme.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Copyright 2002 Vladimir Prus 
-Distributed under the Boost Software License, Version 1.0. 
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-This test checks that we have minimally working 'make' rule and that we can use target from
-different project with different project roots.
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/a.cpp b/SRC/Boost/tools/build/v2/test/project-test4/a.cpp
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/a.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/a_gcc.cpp b/SRC/Boost/tools/build/v2/test/project-test4/a_gcc.cpp
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/a_gcc.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/jamfile.jam b/SRC/Boost/tools/build/v2/test/project-test4/jamfile.jam
deleted file mode 100755
index 95e002d..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/jamfile.jam
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright 2003 Dave Abrahams 
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-project test : requirements <include>everything <threading>single ;
-
-make a.exe : a.obj lib//b.obj/<optimization>speed : yfc-link ;
-make b.exe : a.obj : yfc-link : <define>MACROS ;
-make a.obj : a.cpp : yfc-compile ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/jamfile3.jam b/SRC/Boost/tools/build/v2/test/project-test4/jamfile3.jam
deleted file mode 100755
index bd5e358..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/jamfile3.jam
+++ /dev/null
@@ -1,5 +0,0 @@
-
-make a.exe : a.obj lib//b.obj/<optimization>on a_gcc.obj : yfc-link : <toolset>gcc ;
-make a.exe : a.obj lib//b.obj/<optimization>on : yfc-link : <threading>multi ;
-make a.obj : a.cpp : yfc-compile ;
-make a_gcc.obj : a_gcc.cpp : yfc-compile ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/jamfile4.jam b/SRC/Boost/tools/build/v2/test/project-test4/jamfile4.jam
deleted file mode 100755
index 1690765..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/jamfile4.jam
+++ /dev/null
@@ -1,4 +0,0 @@
-
-project test : requirements <include>everything <threading>single ;
-
-build-project lib2 ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/jamfile5.jam b/SRC/Boost/tools/build/v2/test/project-test4/jamfile5.jam
deleted file mode 100755
index 500f186..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/jamfile5.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-
-project test : requirements <include>everything <threading>single ;
-
-make a.exe : a.obj lib//b.obj/<variant>release : yfc-link ;
-make b.exe : a.obj : yfc-link : <define>MACROS ;
-make a.obj : a.cpp : yfc-compile ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/jamroot.jam b/SRC/Boost/tools/build/v2/test/project-test4/jamroot.jam
deleted file mode 100755
index 5e88f12..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/jamroot.jam
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2002, 2003, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-import gcc ;
-import property ;
-
-rule properties-as-path ( properties * )
-{
-    local r ;
-    for local p in $(properties)
-    {
-	    if $(p:G) != <action>
-	    {
-	        r += $(p) ;
-	    }
-    }
-    return [ property.as-path
-        [ property.remove incidental : $(r) ] ] ;
-}
-
-
-rule yfc-compile ( target : sources * : property-set * )
-{
-    PROPERTIES on $(target) = [ properties-as-path $(property-set) ] ;      
-}
-
-actions yfc-compile
-{
-    echo $(PROPERTIES) > $(<)
-    echo $(>) >> $(<)
-}
-
-rule yfc-link ( target : sources * : property-set * )
-{
-    PROPERTIES on $(target) = [ properties-as-path $(property-set) ] ;
-}
-
-actions yfc-link
-{
-    echo $(PROPERTIES) > $(<)
-    echo $(>) >> $(<)
-}
-
-
-IMPORT $(__name__) : yfc-compile yfc-link : : yfc-compile yfc-link ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/lib/b.cpp b/SRC/Boost/tools/build/v2/test/project-test4/lib/b.cpp
deleted file mode 100755
index 4e4f239..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/lib/b.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/lib/jamfile.jam b/SRC/Boost/tools/build/v2/test/project-test4/lib/jamfile.jam
deleted file mode 100755
index 68907a5..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/lib/jamfile.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-make b.obj : b.cpp : yfc-compile ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/lib/jamfile1.jam b/SRC/Boost/tools/build/v2/test/project-test4/lib/jamfile1.jam
deleted file mode 100755
index 7256231..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/lib/jamfile1.jam
+++ /dev/null
@@ -1,2 +0,0 @@
-
-make b.obj : b.cpp : yfc-compile ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/lib/jamfile2.jam b/SRC/Boost/tools/build/v2/test/project-test4/lib/jamfile2.jam
deleted file mode 100755
index fdb215a..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/lib/jamfile2.jam
+++ /dev/null
@@ -1,4 +0,0 @@
-
-project lib : requirements <threading>multi ;
-
-make b.obj : b.cpp : yfc-compile ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/lib/jamfile3.jam b/SRC/Boost/tools/build/v2/test/project-test4/lib/jamfile3.jam
deleted file mode 100755
index 4e4ef86..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/lib/jamfile3.jam
+++ /dev/null
@@ -1,2 +0,0 @@
-
-make b.obj : b.cpp : yfc-compile : <rtti>off ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/lib2/jamfile.jam b/SRC/Boost/tools/build/v2/test/project-test4/lib2/jamfile.jam
deleted file mode 100755
index b37fdb0..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/lib2/jamfile.jam
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-project
-    : requirements <rtti>off
-    ;
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/lib2/jamfile2.jam b/SRC/Boost/tools/build/v2/test/project-test4/lib2/jamfile2.jam
deleted file mode 100755
index 4e8ae08..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/lib2/jamfile2.jam
+++ /dev/null
@@ -1,4 +0,0 @@
-
-project mylib
-    : requirements <rtti>off
-    ; 
diff --git a/SRC/Boost/tools/build/v2/test/project-test4/readme.txt b/SRC/Boost/tools/build/v2/test/project-test4/readme.txt
deleted file mode 100755
index d81b385..0000000
--- a/SRC/Boost/tools/build/v2/test/project-test4/readme.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Copyright 2002 Vladimir Prus 
-Distributed under the Boost Software License, Version 1.0. 
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-This test checks for correct properties of generated and used targets.
diff --git a/SRC/Boost/tools/build/v2/test/project_dependencies.py b/SRC/Boost/tools/build/v2/test/project_dependencies.py
deleted file mode 100755
index ddc8f81..0000000
--- a/SRC/Boost/tools/build/v2/test/project_dependencies.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2002, 2003, 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that we can specify a dependency property in project requirements, and
-# that it will not cause every main target in the project to be generated in its
-# own subdirectory.
-
-# The whole test is somewhat moot now.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", "build-project src ;")
-
-t.write("lib/jamfile.jam", "lib lib1 : lib1.cpp ;")
-
-t.write("lib/lib1.cpp", """
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void foo() {}\n
-""")
-
-t.write("src/jamfile.jam", """
-project : requirements <library>../lib//lib1 ;
-exe a : a.cpp ;
-exe b : b.cpp ;
-""")
-
-t.write("src/a.cpp", """
-#ifdef _WIN32
-__declspec(dllimport)
-#endif
-void foo();
-int main() { foo(); }
-""")
-
-t.copy("src/a.cpp", "src/b.cpp")
-
-t.run_build_system()
-
-# Test that there is no "main-target-a" part.
-# t.expect_addition("src/bin/$toolset/debug/a.exe")
-# t.expect_addition("src/bin/$toolset/debug/b.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/project_glob.py b/SRC/Boost/tools/build/v2/test/project_glob.py
deleted file mode 100755
index 35c4eb1..0000000
--- a/SRC/Boost/tools/build/v2/test/project_glob.py
+++ /dev/null
@@ -1,161 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2003.
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#         http://www.boost.org/LICENSE_1_0.txt)
-
-# Test the 'glob' rule in Jamfile context.
-
-import BoostBuild
-
-# Create a temporary working directory.
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-""")
-
-t.write("d1/a.cpp", """
-int main() {}
-""")
-
-t.write("d1/jamfile.jam", """
-exe a : [ glob *.cpp ] ../d2/d//l ;
-""")
-
-t.write("d2/d/l.cpp", """
-#if defined(_WIN32)
-__declspec(dllexport)
-void force_import_lib_creation() {}
-#endif
-""")
-
-t.write("d2/d/jamfile.jam", """
-lib l : [ glob *.cpp ] ;
-""")
-
-t.write("d3/d/jamfile.jam", """
-exe a : [ glob ../*.cpp ] ;
-""")
-
-t.write("d3/a.cpp", """
-int main() {}
-""")
-
-t.run_build_system(subdir="d1")
-t.expect_addition("d1/bin/$toolset/debug/a.exe")
-
-t.run_build_system(subdir="d3/d")
-t.expect_addition("d3/d/bin/$toolset/debug/a.exe")
-
-t.rm("d2/d/bin")
-
-t.run_build_system(subdir="d2/d")
-t.expect_addition("d2/d/bin/$toolset/debug/l.dll")
-
-
-# Test that when 'source-location' is explicitly-specified glob works relatively
-# to the source location.
-t.rm("d1")
-
-t.write("d1/src/a.cpp", """
-int main() {}
-""")
-
-t.write("d1/jamfile.jam", """
-project : source-location src ;
-exe a : [ glob *.cpp ] ../d2/d//l ;
-""")
-
-t.run_build_system(subdir="d1")
-t.expect_addition("d1/bin/$toolset/debug/a.exe")
-
-# Test that wildcards can include directories. Also test exclusion patterns.
-t.rm("d1")
-
-t.write("d1/src/foo/a.cpp", """
-void bar();
-int main() { bar(); }
-""")
-
-t.write("d1/src/bar/b.cpp", """
-void bar() {}
-""")
-
-t.write("d1/src/bar/bad.cpp", """
-very bad non-compilable file
-""")
-
-t.write("d1/jamfile.jam", """
-project : source-location src ;
-exe a : [ glob foo/*.cpp bar/*.cpp : bar/bad* ] ../d2/d//l ;
-""")
-
-t.run_build_system(subdir="d1")
-t.expect_addition("d1/bin/$toolset/debug/a.exe")
-
-
-# Test that 'glob-tree' works.
-t.rm("d1/bin/$toolset/debug/a.exe")
-
-t.write("d1/jamfile.jam", """
-project : source-location src ;
-exe a : [ glob-tree *.cpp : bad* ] ../d2/d//l ;
-""")
-
-t.run_build_system(subdir="d1")
-t.expect_addition("d1/bin/$toolset/debug/a.exe")
-
-
-# Test that directory names in patterns for 'glob-tree' are rejected.
-t.write("d1/jamfile.jam", """
-project : source-location src ;
-exe a : [ glob-tree foo/*.cpp bar/*.cpp : bad* ] ../d2/d//l ;
-""")
-
-t.run_build_system(subdir="d1", status=1)
-t.expect_output_line("error: The patterns * may not include directory")
-
-
-t.rm("d1/src/bar/bad.cpp")
-
-# Test that 'glob' works with absolute names.
-t.rm("d1/bin")
-
-# Note that to get current dir, we use bjam's PWD, not Python's os.getcwd(),
-# because the former will always return long path while the latter might return
-# a short path, and that will confuse path.glob.
-t.write("d1/jamfile.jam", """
-project : source-location src ;
-local pwd = [ PWD ] ;  # Always absolute
-exe a : [ glob $(pwd)/src/foo/*.cpp $(pwd)/src/bar/*.cpp ] ../d2/d//l ;
-""")
-
-t.run_build_system(subdir="d1")
-t.expect_addition("d1/bin/$toolset/debug/a.exe")
-
-
-# Regression test: glob excludes used to be broken when building from a
-# subdirectory.
-t.rm(".")
-
-t.write("jamroot.jam", """
-build-project p ;
-""")
-
-t.write("p/p.c", """
-int main() {}
-""")
-
-t.write("p/p_x.c", """
-int main() {}
-""")
-
-t.write("p/jamfile.jam", """
-exe p : [ glob *.c : p_x.c ] ;
-""")
-
-t.run_build_system(subdir="p")
-t.expect_addition("p/bin/$toolset/debug/p.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/project_root_constants.py b/SRC/Boost/tools/build/v2/test/project_root_constants.py
deleted file mode 100755
index e5cbf97..0000000
--- a/SRC/Boost/tools/build/v2/test/project_root_constants.py
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003, 2004, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import BoostBuild
-import string
-
-# Create a temporary working directory.
-t = BoostBuild.Tester()
-
-# Create the needed files.
-t.write("jamroot.jam", """
-constant FOO : foobar gee ;
-ECHO $(FOO) ;
-""")
-
-t.run_build_system()
-t.fail_test(string.find(t.stdout(), "foobar gee") == -1)
-
-# Regression test: when absolute paths were passed to path-constant rule,
-# Boost.Build failed to recognize path as absolute and prepended the current
-# dir.
-t.write("jamroot.jam", """
-import path ;
-local here = [ path.native [ path.pwd ] ] ;
-path-constant HERE : $(here) ;
-if $(HERE) != $(here) 
-{
-    ECHO "PWD           =" $(here) ;
-    ECHO "path constant =" $(HERE) ;
-    EXIT ;
-}
-""")
-t.write("jamfile.jam", "")
-
-t.run_build_system()
-
-t.write("jamfile.jam", """
-# This tests that rule 'hello' will be imported to children unlocalized, and
-# will still access variables in this Jamfile.
-x = 10 ;
-constant FOO : foo ;
-rule hello ( ) { ECHO "Hello $(x)" ; }
-""")
-
-t.write("d/jamfile.jam", """
-ECHO "d: $(FOO)" ;
-constant BAR : bar ;
-""")
-
-t.write("d/d2/jamfile.jam", """
-ECHO "d2: $(FOO)" ;
-ECHO "d2: $(BAR)" ;
-hello ;
-""")
-
-t.run_build_system(subdir="d/d2")
-t.fail_test(t.stdout().find("""d: foo
-d2: foo
-d2: bar
-Hello 10
-""") == -1)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/project_root_rule.py b/SRC/Boost/tools/build/v2/test/project_root_rule.py
deleted file mode 100755
index 1f0d21c..0000000
--- a/SRC/Boost/tools/build/v2/test/project_root_rule.py
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2005.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests that we can declare a rule in Jamroot that will be can be called in
-# child Jamfile to declare a target. Specifically test for use of 'glob' in that
-# rule.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-
-t.write("jamroot.jam", """
-project : requirements <link>static ;
-rule my-lib ( name ) { lib $(name) : [ glob *.cpp ] ; }
-""")
-
-t.write("sub/a.cpp", """
-""")
-
-t.write("sub/jamfile.jam", """
-my-lib foo ;
-""")
-
-
-t.run_build_system(subdir="sub")
-
-t.expect_addition("sub/bin/$toolset/debug/link-static/foo.lib")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/project_test1.py b/SRC/Boost/tools/build/v2/test/project_test1.py
deleted file mode 100755
index bd03d82..0000000
--- a/SRC/Boost/tools/build/v2/test/project_test1.py
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002 Dave Abrahams 
-# Copyright 2002, 2003, 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import BoostBuild
-import os
-
-t = BoostBuild.Tester("--build-system=project-test1", boost_build_path='',
-    pass_toolset=0)
-
-# This test does no modifications, so run in in the invocation dir.
-os.chdir(t.original_workdir)
-
-expected_output1="""Project Roots:
-
-"""
-
-expected_output2="""'%(root-dir-prefix)sdir2':
-
-  Module for project-root is 'project-root<%(root-dir-prefix)sdir2>'
-
-Projects:
-
-'/cool-library':
-
-* Parent project: (none)
-* Requirements: <include>/home/ghost/build/boost-cvs
-* Default build:
-* Source location: %(root-dir-prefix)sdir2
-* Projects to build:
-
-"""
-
-expected_output3="""'%(root-dir)s':
-
-  Module for project-root is 'project-root<%(root-dir)s>'
-
-Projects:
-
-'/boost-build-test-project-1':
-
-* Parent project: (none)
-* Requirements: <include>/home/ghost/local/include <threading>multi
-* Default build:
-* Source location: %(root-dir)s
-* Projects to build: dir dir2
-
-'/boost-build-test-project-1/dir':
-
-* Parent project: %(root-dir)s
-* Requirements: <include>/home/ghost/local/include <threading>multi
-* Default build: <variant>release
-* Source location: %(root-dir-prefix)sdir/src
-* Projects to build:
-
-"""
-
-# Test that correct project structure is created when jam is invoked outside of
-# the source tree.
-expected = (expected_output1 + expected_output2 + expected_output3) % \
-    {"root-dir": "project-test1",
-     "root-dir-prefix": "project-test1/" }
-
-t.run_build_system(stdout=expected)
-
-# Test that correct project structure is created when jam is invoked at the top
-# of the source tree.
-expected = (expected_output1 + expected_output3 + expected_output2) % \
-    {"root-dir": ".",
-     "root-dir-prefix": "" }
-
-os.chdir("project-test1")
-t.run_build_system(stdout=expected)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/project_test3.py b/SRC/Boost/tools/build/v2/test/project_test3.py
deleted file mode 100755
index 27871ad..0000000
--- a/SRC/Boost/tools/build/v2/test/project_test3.py
+++ /dev/null
@@ -1,133 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002, 2003 Dave Abrahams
-# Copyright 2002, 2003, 2004, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-import os
-
-t = BoostBuild.Tester(translate_suffixes=0)
-
-# First check some startup.
-t.set_tree("project-test3")
-os.remove("jamroot.jam")
-t.run_build_system(status=1, stdout=
-"""error: Could not find parent for project at '.'
-error: Did not find Jamfile.jam or Jamroot.jam in any parent directory.
-""")
-
-t.set_tree("project-test3")
-t.run_build_system()
-
-t.expect_addition("bin/$toolset/debug/a.obj")
-t.expect_content("bin/$toolset/debug/a.obj",
-"""$toolset/debug
-a.cpp
-""")
-
-t.expect_addition("bin/$toolset/debug/a.exe")
-t.expect_content("bin/$toolset/debug/a.exe",
-"$toolset/debug\n" +
-"bin/$toolset/debug/a.obj lib/bin/$toolset/debug/b.obj " +
-"lib2/bin/$toolset/debug/c.obj lib2/bin/$toolset/debug/d.obj " +
-"lib2/helper/bin/$toolset/debug/e.obj " +
-"lib3/bin/$toolset/debug/f.obj\n"
-)
-
-t.expect_addition("lib/bin/$toolset/debug/b.obj")
-t.expect_content("lib/bin/$toolset/debug/b.obj",
-"""$toolset/debug
-lib/b.cpp
-""")
-
-t.expect_addition("lib/bin/$toolset/debug/m.exe")
-t.expect_content("lib/bin/$toolset/debug/m.exe",
-"""$toolset/debug
-lib/bin/$toolset/debug/b.obj lib2/bin/$toolset/debug/c.obj
-""")
-
-t.expect_addition("lib2/bin/$toolset/debug/c.obj")
-t.expect_content("lib2/bin/$toolset/debug/c.obj",
-"""$toolset/debug
-lib2/c.cpp
-""")
-
-t.expect_addition("lib2/bin/$toolset/debug/d.obj")
-t.expect_content("lib2/bin/$toolset/debug/d.obj",
-"""$toolset/debug
-lib2/d.cpp
-""")
-
-t.expect_addition("lib2/bin/$toolset/debug/l.exe")
-t.expect_content("lib2/bin/$toolset/debug/l.exe",
-"""$toolset/debug
-lib2/bin/$toolset/debug/c.obj bin/$toolset/debug/a.obj
-""")
-
-t.expect_addition("lib2/helper/bin/$toolset/debug/e.obj")
-t.expect_content("lib2/helper/bin/$toolset/debug/e.obj",
-"""$toolset/debug
-lib2/helper/e.cpp
-""")
-
-t.expect_addition("lib3/bin/$toolset/debug/f.obj")
-t.expect_content("lib3/bin/$toolset/debug/f.obj",
-"""$toolset/debug
-lib3/f.cpp lib2/helper/bin/$toolset/debug/e.obj
-""")
-
-t.touch("a.cpp")
-t.run_build_system()
-t.expect_touch(["bin/$toolset/debug/a.obj",
-                "bin/$toolset/debug/a.exe",
-                "lib2/bin/$toolset/debug/l.exe"])
-
-t.run_build_system(extra_args="release optimization=off,speed")
-t.expect_addition(["bin/$toolset/release/a.exe",
-                  "bin/$toolset/release/a.obj",
-                  "bin/$toolset/release/optimization-off/a.exe",
-                  "bin/$toolset/release/optimization-off/a.obj"])
-
-t.run_build_system(extra_args='--clean-all')
-t.expect_removal(["bin/$toolset/debug/a.obj",
-                 "bin/$toolset/debug/a.exe",
-                 "lib/bin/$toolset/debug/b.obj",
-                 "lib/bin/$toolset/debug/m.exe",
-                 "lib2/bin/$toolset/debug/c.obj",
-                 "lib2/bin/$toolset/debug/d.obj",
-                 "lib2/bin/$toolset/debug/l.exe",
-                 "lib3/bin/$toolset/debug/f.obj"])
-
-# Now test target ids in command line.
-t.set_tree("project-test3")
-t.run_build_system("lib//b.obj")
-t.expect_addition("lib/bin/$toolset/debug/b.obj")
-t.expect_nothing_more()
-
-t.run_build_system("--clean lib//b.obj")
-t.expect_removal("lib/bin/$toolset/debug/b.obj")
-t.expect_nothing_more()
-
-t.run_build_system("lib//b.obj")
-t.expect_addition("lib/bin/$toolset/debug/b.obj")
-t.expect_nothing_more()
-
-t.run_build_system("release lib2/helper//e.obj /lib3//f.obj")
-t.expect_addition("lib2/helper/bin/$toolset/release/e.obj")
-t.expect_addition("lib3/bin/$toolset/release/f.obj")
-t.expect_nothing_more()
-
-# Test project ids in command line work as well.
-t.set_tree("project-test3")
-t.run_build_system("/lib2")
-t.expect_addition("lib2/bin/$toolset/debug/" * BoostBuild.List("c.obj d.obj l.exe"))
-t.expect_addition("bin/$toolset/debug/a.obj")
-t.expect_nothing_more()
-
-t.run_build_system("lib")
-t.expect_addition("lib/bin/$toolset/debug/" * BoostBuild.List("b.obj m.exe"))
-t.expect_nothing_more()
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/project_test4.py b/SRC/Boost/tools/build/v2/test/project_test4.py
deleted file mode 100755
index 9844f71..0000000
--- a/SRC/Boost/tools/build/v2/test/project_test4.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2002, 2003, 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester(translate_suffixes=0)
-
-
-t.set_tree("project-test4")
-
-t.run_build_system()
-
-t.expect_addition("bin/$toolset/debug/a.obj")
-t.expect_content("bin/$toolset/debug/a.obj",
-"""$toolset/debug/include-everything
-a.cpp
-""")
-
-t.expect_addition("bin/$toolset/debug/a.exe")
-t.expect_content("bin/$toolset/debug/a.exe",
-"$toolset/debug/include-everything\n" +
-"bin/$toolset/debug/a.obj lib/bin/$toolset/debug/optimization-speed/b.obj\n"
-)
-
-t.expect_addition("lib/bin/$toolset/debug/optimization-speed/b.obj")
-t.expect_content("lib/bin/$toolset/debug/optimization-speed/b.obj",
-"""$toolset/debug/include-everything/optimization-speed
-lib/b.cpp
-""")
-
-t.expect_addition("bin/$toolset/debug/b.exe")
-t.expect_content("bin/$toolset/debug/b.exe",
-"$toolset/debug/define-MACROS/include-everything\n" +
-"bin/$toolset/debug/a.obj\n"
-)
-
-t.copy("lib/jamfile3.jam", "lib/jamfile.jam")
-
-# Link-compatibility check for rtti is disabled...
-#t.run_build_system(status=None)
-#import string
-#t.fail_test(string.find(t.stdout(),
-#"""warning: targets produced from b.obj are link incompatible
-#warning: with main target a.exe""") !=-0)
-
-# Test that if we specified composite property in target reference, everything
-# works OK.
-
-t.copy("lib/jamfile1.jam", "lib/jamfile.jam")
-t.copy("jamfile5.jam", "jamfile.jam")
-
-t.run_build_system()
-
-t.expect_addition("lib/bin/$toolset/release/b.obj")
-
-t.expect_content("bin/$toolset/debug/a.exe",
-"$toolset/debug/include-everything\n" +
-"bin/$toolset/debug/a.obj lib/bin/$toolset/release/b.obj\n"
-)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/property_expansion.py b/SRC/Boost/tools/build/v2/test/property_expansion.py
deleted file mode 100755
index 5d4136e..0000000
--- a/SRC/Boost/tools/build/v2/test/property_expansion.py
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Test that free property inside.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-project ;
-variant debug-AA : debug : <define>AA ;
-alias all : hello ;
-exe hello : hello.cpp ;
-explicit hello ;
-""")
-
-t.write("hello.cpp", """
-#ifdef AA
-int main() {}
-#endif
-""")
-
-t.run_build_system("debug-AA")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/qt4.py b/SRC/Boost/tools/build/v2/test/qt4.py
deleted file mode 100755
index 9e060c4..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4.py
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/python
-
-# (c) Copyright Juergen Hunold 2008
-# Use, modification, and distribution are subject to the 
-# Boost Software License, Version 1.0. (See accompanying file 
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-import os
-
-# Run test in real directory in order to find Boost.Test via Boost Top-Level
-# Jamroot.
-qt4_dir = os.getcwd() + "/qt4"
-
-t = BoostBuild.Tester(workdir=qt4_dir)
-
-t.run_build_system()
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/qt4/jamroot.jam b/SRC/Boost/tools/build/v2/test/qt4/jamroot.jam
deleted file mode 100755
index 37aebdf..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/jamroot.jam
+++ /dev/null
@@ -1,79 +0,0 @@
-#  (c) Copyright Juergen Hunold 2008
-#  Use, modification, and distribution are subject to the
-#  Boost Software License, Version 1.0. (See accompanying file
-#  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import qt4 ;
-import testing ;
-import cast ;
-
-
-
-if [ qt4.initialized ]
-{
-    use-project /boost : ../../../../.. ;
-
-    project qttest
-      : requirements
-          <library>/boost/test//boost_unit_test_framework
-      ;
-
-    alias qt-tests :
-      # Check for explicit libraries, <use>/qt should not link any lib
-      [ link-fail qtcorefail.cpp : <use>/qt ]
-
-      [ run qtcore.cpp /qt//QtCore ]
-      [ run qtsql.cpp  /qt//QtSql  ]
-      [ run qtxml.cpp  /qt//QtXml  ]
-      [ run qtnetwork.cpp /qt//QtNetwork ]
-      [ run qtscript.cpp  /qt//QtScript  ]
-      [ run qtscripttools.cpp  /qt//QtScriptTools  ]
-      [ run qtxmlpatterns.cpp  /qt//QtXmlPatterns  ]
-
-      # ToDo: runable example code
-      [ link qtsvg.cpp /qt//QtSvg ]
-      [ link qtgui.cpp /qt//QtGui ]
-
-      # Multimedia toolkits.
-      [ link qtwebkit.cpp /qt//QtWebKit ]
-      [ link phonon.cpp   /qt//phonon  ]
-      [ link qtmultimedia.cpp /qt//QtMultimedia ]
-
-      # QML
-      [ link qtdeclarative.cpp /qt//QtDeclarative ]
-
-      # Help systems.
-      [ link qthelp.cpp      /qt//QtHelp ]
-      [ link qtassistant.cpp /qt//QtAssistantClient : <conditional>@check_for_assistant ]
-
-      # Check working and disabled Qt3Support
-      [ link qt3support.cpp /qt//Qt3Support : <qt3support>on ]
-      [ compile-fail qt3support.cpp /qt//Qt3Support : <qt3support>off ]
-
-      # Testing using QtTest. Simple sample
-      # ToDo: better support for "automoc" aka '#include "qttest.moc"'
-      [ run qttest.cpp [ cast _ moccable-cpp : qttest.cpp ] /qt//QtTest : : : <define>TEST_MOCK ]
-
-      # Test moc rule
-      [ run mock.cpp mock.h /qt//QtCore : : : <define>TEST_MOCK ]
-
-   : # requirements
-   : # default-build
-   : # usage-requirements
-   ;
-}
-
-# QtAssistant is removed from Qt >= 4.6
-rule check_for_assistant ( properties * )
-{
-    # Extract version number from toolset
-    local version = [ MATCH "<qt>([0-9.]+).*"
-        : $(properties) ] ;
-
-    if $(version) > "4.6.99"
-    {
-       result += <build>no ;
-    }
-}
-
-
diff --git a/SRC/Boost/tools/build/v2/test/qt4/mock.cpp b/SRC/Boost/tools/build/v2/test/qt4/mock.cpp
deleted file mode 100755
index 941dea9..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/mock.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// (c) Copyright Juergen Hunold 2011
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtMoc
-
-#include "mock.h"
-
-#include <boost/test/unit_test.hpp>
-
-Mock::Mock()
-{
-}
-
-/*!
-  Check that the compiler get the correct #defines.
-  The logic to test the moc is in the header file "mock.h"
- */
-BOOST_AUTO_TEST_CASE(construct_mock)
-{
-    delete new Mock();
-
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(TEST_MOCK), true);
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/mock.h b/SRC/Boost/tools/build/v2/test/qt4/mock.h
deleted file mode 100755
index df0ddec..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/mock.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// (c) Copyright Juergen Hunold 2011
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <QtCore/QObject>
-
-class Mock : public QObject
-{
-    /*!
-      Test that the moc gets the necessary #defines
-      Else the moc will not see the Q_OBJECT macro, issue a warning
-      and linking will fail due to missing vtable symbols.
-     */
-#if defined(TEST_MOCK)
-    Q_OBJECT
-#endif
-    public:
-
-    Mock();
-};
diff --git a/SRC/Boost/tools/build/v2/test/qt4/phonon.cpp b/SRC/Boost/tools/build/v2/test/qt4/phonon.cpp
deleted file mode 100755
index 857c8c9..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/phonon.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtPhonon
-
-#include <phonon/MediaObject>
-
-#include <boost/test/unit_test.hpp>
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_GUI_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_XML_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_PHONON_LIB), true);
-}
-
-BOOST_AUTO_TEST_CASE( phonon_object)
-{
-    Phonon::MediaObject player;
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qt3support.cpp b/SRC/Boost/tools/build/v2/test/qt4/qt3support.cpp
deleted file mode 100755
index 95d71bb..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qt3support.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE Qt3Support
-
-#include <Q3Table>
-
-#include <boost/test/unit_test.hpp>
-
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_GUI_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_XML_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_SQL_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_NETWORK_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_QT3SUPPORT_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT3_SUPPORT), true);
-}
-
-BOOST_AUTO_TEST_CASE( q3table )
-{
-    Q3Table q3table;
-
-}
-
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtassistant.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtassistant.cpp
deleted file mode 100755
index ae36795..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtassistant.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtAssistant
-
-#include <QAssistantClient>
-
-#include <boost/test/unit_test.hpp>
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_GUI_LIB), true);
-}
-
-BOOST_AUTO_TEST_CASE( empty_assistant)
-{
-    QAssistantClient client(QString());
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtcore.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtcore.cpp
deleted file mode 100755
index bcc8bea..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtcore.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtCore
-#include <QtCore>
-
-#include <boost/test/unit_test.hpp>
-
-BOOST_AUTO_TEST_CASE (defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-}
-
-
-BOOST_AUTO_TEST_CASE( qstring_test)
-{
-    QString dummy;
-
-    BOOST_CHECK_EQUAL(dummy.isEmpty(), true);
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtcorefail.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtcorefail.cpp
deleted file mode 100755
index e283597..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtcorefail.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtCoreFail
-
-#include <QtCore>
-
-#include <boost/test/unit_test.hpp>
-
-BOOST_AUTO_TEST_CASE (defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-}
-
-
-BOOST_AUTO_TEST_CASE( qstring_test)
-{
-    QString dummy;
-
-    BOOST_CHECK_EQUAL(dummy.isEmpty(), true);
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtdeclarative.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtdeclarative.cpp
deleted file mode 100755
index 1e384c9..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtdeclarative.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// (c) Copyright Juergen Hunold 2011
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtMultimedia
-
-#include <QApplication>
-#include <QDeclarativeView>
-
-#include <boost/test/unit_test.hpp>
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_GUI_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_XML_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_DECLARATIVE_LIB), true);
-}
-
-
-BOOST_AUTO_TEST_CASE( declarative )
-{
-    QApplication app(boost::unit_test::framework::master_test_suite().argc,
-                     boost::unit_test::framework::master_test_suite().argv);
-    QDeclarativeView view;
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtgui.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtgui.cpp
deleted file mode 100755
index 3dd8cbb..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtgui.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtGui
-
-#include <QApplication>
-
-#include <boost/test/unit_test.hpp>
-
-struct Fixture
-{
-    Fixture()
-        : application(boost::unit_test::framework::master_test_suite().argc,
-                      boost::unit_test::framework::master_test_suite().argv,
-                      false)
-    {
-        BOOST_TEST_MESSAGE( "setup QApplication fixture" );
-    }
-
-    ~Fixture()
-    {
-        BOOST_TEST_MESSAGE( "teardown QApplication fixture" );
-    }
-
-    QApplication application;
-};
-
-BOOST_GLOBAL_FIXTURE( Fixture )
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_GUI_LIB), true);
-}
-
-
-BOOST_AUTO_TEST_CASE( qtgui_test)
-{
-    BOOST_CHECK_EQUAL(true, true);
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qthelp.cpp b/SRC/Boost/tools/build/v2/test/qt4/qthelp.cpp
deleted file mode 100755
index fdaf02d..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qthelp.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtHelp
-
-#include <QtHelp>
-
-#include <boost/test/unit_test.hpp>
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_GUI_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_XML_LIB), true);
-}
-
-BOOST_AUTO_TEST_CASE( empty_engine)
-{
-    QHelpEngine engine(QString());
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtmultimedia.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtmultimedia.cpp
deleted file mode 100755
index 20afdc6..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtmultimedia.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// (c) Copyright Juergen Hunold 2009
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtMultimedia
-
-#include <QAudioDeviceInfo>
-
-#include <boost/test/unit_test.hpp>
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_GUI_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_MULTIMEDIA_LIB), true);
-}
-
-BOOST_AUTO_TEST_CASE( audiodevices)
-{
-    QList<QAudioDeviceInfo> devices = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput);
-    for(int i = 0; i < devices.size(); ++i) {
-        BOOST_TEST_MESSAGE(QAudioDeviceInfo(devices.at(i)).deviceName().constData());
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtnetwork.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtnetwork.cpp
deleted file mode 100755
index 5cf0da9..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtnetwork.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtNetwork
-
-#include <QHostInfo>
-
-#include <QTextStream>
-
-#include <boost/test/unit_test.hpp>
-
-#include <iostream>
-
-BOOST_AUTO_TEST_CASE (defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_NETWORK_LIB), true);
-}
-
-BOOST_AUTO_TEST_CASE( hostname )
-{
-    QHostInfo info(QHostInfo::fromName("www.boost.org")); //blocking lookup
-
-    QTextStream stream(stdout, QIODevice::WriteOnly);
-
-    Q_FOREACH(QHostAddress address, info.addresses())
-    {
-        BOOST_CHECK_EQUAL(address.isNull(), false);
-        stream << address.toString() << endl;
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtscript.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtscript.cpp
deleted file mode 100755
index fb5a281..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtscript.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtScript
-
-#include <QScriptEngine>
-
-#include <QCoreApplication>
-
-#include <boost/test/unit_test.hpp>
-
-#include <iostream>
-
-std::ostream&
-operator << (std::ostream& stream, QString const& string)
-{
-    stream << qPrintable(string);
-    return stream;
-}
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_SCRIPT_LIB), true);
-}
-
-BOOST_AUTO_TEST_CASE( script )
-{
-    QCoreApplication app(boost::unit_test::framework::master_test_suite().argc,
-                         boost::unit_test::framework::master_test_suite().argv);
-    QScriptEngine myEngine;
-    QScriptValue three = myEngine.evaluate("1 + 2");
-
-    BOOST_CHECK_EQUAL(three.toNumber(), 3);
-    BOOST_CHECK_EQUAL(three.toString(), QLatin1String("3"));
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtscripttools.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtscripttools.cpp
deleted file mode 100755
index 3af45b5..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtscripttools.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// (c) Copyright Juergen Hunold 2009
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtScriptTools
-
-#include <QScriptEngine>
-
-#include <QScriptEngineDebugger>
-
-#include <QApplication>
-
-#include <boost/test/unit_test.hpp>
-
-#include <iostream>
-
-namespace utf = boost::unit_test::framework;
-
-std::ostream&
-operator << (std::ostream& stream, QString const& string)
-{
-    stream << qPrintable(string);
-    return stream;
-}
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_SCRIPTTOOLS_LIB), true);
-}
-
-BOOST_AUTO_TEST_CASE( script )
-{
-   QApplication app(utf::master_test_suite().argc,
-                    utf::master_test_suite().argv);
-
-   QScriptEngine myEngine;
-   QScriptValue three = myEngine.evaluate("1 + 2");
-
-   QScriptEngineDebugger debugger;
-   debugger.attachTo(&myEngine);
-
-   BOOST_CHECK_EQUAL(three.toNumber(), 3);
-   BOOST_CHECK_EQUAL(three.toString(), QLatin1String("3"));
-
-   debugger.detach();
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtsql.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtsql.cpp
deleted file mode 100755
index 78786d7..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtsql.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtSql
-
-#include <QSqlDatabase>
-
-#include <QTextStream>
-#include <QStringList>
-
-#include <boost/test/unit_test.hpp>
-
-#include <iostream>
-
-BOOST_AUTO_TEST_CASE (defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_SQL_LIB), true);
-}
-
-BOOST_AUTO_TEST_CASE( drivers )
-{
-    QTextStream stream(stdout, QIODevice::WriteOnly);
-
-    Q_FOREACH(QString it, QSqlDatabase:: drivers())
-    {
-        stream << it << endl;
-    }
-}
-
-BOOST_AUTO_TEST_CASE( construct )
-{
-    QSqlDatabase database;
-    BOOST_CHECK_EQUAL(database.isOpen(), false);
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtsvg.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtsvg.cpp
deleted file mode 100755
index 1484793..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtsvg.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtSvg
-
-#include <QtSvg>
-
-#include <boost/test/unit_test.hpp>
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_SVG_LIB), true);
-}
-
-BOOST_AUTO_TEST_CASE( generator_construct)
-{
-    QSvgGenerator generator;
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qttest.cpp b/SRC/Boost/tools/build/v2/test/qt4/qttest.cpp
deleted file mode 100755
index 3c92164..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qttest.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// (c) Copyright Juergen Hunold 2008-2011
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include <QtTest>
-
-class QtTest: public QObject
-{
-    /*!
-      Test if the moc gets the #define
-    */
-#if defined(TEST_MOCK)
-    Q_OBJECT
-#endif
-
-private Q_SLOTS:
-    void toUpper();
-};
-
-void
-QtTest::toUpper()
-{
-    QString str = "Hello";
-    QCOMPARE(str.toUpper(), QString("HELLO"));
-}
-
-QTEST_MAIN(QtTest)
-#include "qttest.moc"
-
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtwebkit.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtwebkit.cpp
deleted file mode 100755
index 3dca7c0..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtwebkit.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtWebKit
-
-#include <QWebPage>
-#include <QApplication>
-
-#include <boost/test/unit_test.hpp>
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_GUI_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_WEBKIT_LIB), true);
-}
-
-BOOST_AUTO_TEST_CASE( webkit )
-{
-    QWebPage page;
-    BOOST_CHECK_EQUAL(page.isModified(), false);
-}
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtxml.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtxml.cpp
deleted file mode 100755
index 36e2433..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtxml.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtXml
-
-#include <QtXml>
-
-#include <boost/test/unit_test.hpp>
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_XML_LIB), true);
-}
-
-BOOST_AUTO_TEST_CASE( reader_construct)
-{
-    QXmlStreamReader reader;
-    BOOST_CHECK_EQUAL(reader.atEnd(), false);
-}
-
-BOOST_AUTO_TEST_CASE( writer_construct)
-{
-    QXmlStreamWriter writer;
-    BOOST_CHECK_EQUAL(writer.device(), static_cast<QIODevice*>(0));
-}
-
diff --git a/SRC/Boost/tools/build/v2/test/qt4/qtxmlpatterns.cpp b/SRC/Boost/tools/build/v2/test/qt4/qtxmlpatterns.cpp
deleted file mode 100755
index 47ced90..0000000
--- a/SRC/Boost/tools/build/v2/test/qt4/qtxmlpatterns.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-// (c) Copyright Juergen Hunold 2008
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#define BOOST_TEST_MODULE QtXmlPatterns
-
-#include <QXmlQuery>
-#include <QXmlSerializer>
-
-#include <QCoreApplication>
-#include <QString>
-#include <QTextStream>
-#include <QBuffer>
-
-#include <boost/test/unit_test.hpp>
-
-
-struct Fixture
-{
-    Fixture()
-        : application(boost::unit_test::framework::master_test_suite().argc,
-                      boost::unit_test::framework::master_test_suite().argv)
-    {
-        BOOST_TEST_MESSAGE( "setup QCoreApplication fixture" );
-    }
-
-    ~Fixture()
-    {
-        BOOST_TEST_MESSAGE( "teardown QCoreApplication fixture" );
-    }
-
-    QCoreApplication application;
-};
-
-BOOST_GLOBAL_FIXTURE( Fixture )
-
-QByteArray doc("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
-               "<html xmlns=\"http://www.w3.org/1999/xhtml/\" xml:lang=\"en\" lang=\"en\">"
-"   <head>"
-"      <title>Global variables report for globals.gccxml</title>"
-"   </head>"
-"<body><p>Some Test text</p></body></html>");
-
-BOOST_AUTO_TEST_CASE( defines)
-{
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true);
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_XMLPATTERNS_LIB), true);
-
-    BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_XML_LIB), false);
-}
-
-BOOST_AUTO_TEST_CASE( extract )
-{
-
-     QBuffer buffer(&doc); // This is a QIODevice.
-     buffer.open(QIODevice::ReadOnly);
-     QXmlQuery query;
-     query.bindVariable("myDocument", &buffer);
-     query.setQuery("declare variable $myDocument external;"
-                    "doc($myDocument)");///p[1]");
-
-     BOOST_CHECK_EQUAL(query.isValid(), true);
-
-     QByteArray result;
-     QBuffer out(&result);
-     out.open(QIODevice::WriteOnly);
-     
-     QXmlSerializer serializer(query, &out);
-     BOOST_CHECK_EQUAL(query.evaluateTo(&serializer), true);
-
-     QTextStream stream(stdout);
-     BOOST_CHECK_EQUAL(result.isEmpty(), false);
-     stream << "hallo" << result << endl;
-}
-
diff --git a/SRC/Boost/tools/build/v2/test/railsys.py b/SRC/Boost/tools/build/v2/test/railsys.py
deleted file mode 100755
index 1dad454..0000000
--- a/SRC/Boost/tools/build/v2/test/railsys.py
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.set_tree("railsys")
-t.run_build_system("--v2", subdir="program")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/railsys/libx/include/test_libx.h b/SRC/Boost/tools/build/v2/test/railsys/libx/include/test_libx.h
deleted file mode 100755
index c88b157..0000000
--- a/SRC/Boost/tools/build/v2/test/railsys/libx/include/test_libx.h
+++ /dev/null
@@ -1,25 +0,0 @@
-//  Copyright (c) 2003 Institute of Transport, 
-//             Railway Construction and Operation, 
-//             University of Hanover, Germany
-//
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifdef _WIN32
-#ifdef LIBX_SOURCE
-__declspec(dllexport)
-#else
-__declspec(dllimport)
-#endif
-#endif
-class TestLibX
-{
-public:
-
-    TestLibX();
-    
-    // Needed to suppress 'unused variable' warning
-    // in some cases.
-    void do_something() {}
-};
diff --git a/SRC/Boost/tools/build/v2/test/railsys/libx/jamroot.jam b/SRC/Boost/tools/build/v2/test/railsys/libx/jamroot.jam
deleted file mode 100755
index 13200db..0000000
--- a/SRC/Boost/tools/build/v2/test/railsys/libx/jamroot.jam
+++ /dev/null
@@ -1,13 +0,0 @@
-#  Copyright (c) 2002 Institute of Transport, 
-#             Railway Construction and Operation, 
-#             University of Hanover, Germany
-#  Copyright (c) 2006 J�rgen Hunold
-#
-#  Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-# Tell that Qt3 should be used. QTDIR will give installation prefix.
-using qt3 ;
-
-
diff --git a/SRC/Boost/tools/build/v2/test/railsys/libx/src/jamfile.jam b/SRC/Boost/tools/build/v2/test/railsys/libx/src/jamfile.jam
deleted file mode 100755
index 16e6325..0000000
--- a/SRC/Boost/tools/build/v2/test/railsys/libx/src/jamfile.jam
+++ /dev/null
@@ -1,19 +0,0 @@
-#  Copyright (c) 2003 Institute of Transport, 
-#             Railway Construction and Operation, 
-#             University of Hanover, Germany
-#
-#  Copyright (c) 2006 J�rgen Hunold
-#
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-project libx 
-    : requirements 
-        <include>../include
-    : usage-requirements
-        <include>../include
-    ;
-
-
-lib libx : test_libx.cpp ;
diff --git a/SRC/Boost/tools/build/v2/test/railsys/libx/src/test_libx.cpp b/SRC/Boost/tools/build/v2/test/railsys/libx/src/test_libx.cpp
deleted file mode 100755
index a3904ea..0000000
--- a/SRC/Boost/tools/build/v2/test/railsys/libx/src/test_libx.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-//  Copyright (c) 2003 Institute of Transport, 
-//             Railway Construction and Operation, 
-//             University of Hanover, Germany
-//
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-#define LIBX_SOURCE
-#include <test_libx.h>
-
-TestLibX::TestLibX()
-{
-}
diff --git a/SRC/Boost/tools/build/v2/test/railsys/program/include/test_a.h b/SRC/Boost/tools/build/v2/test/railsys/program/include/test_a.h
deleted file mode 100755
index 05c7350..0000000
--- a/SRC/Boost/tools/build/v2/test/railsys/program/include/test_a.h
+++ /dev/null
@@ -1,22 +0,0 @@
-//  Copyright (c) 2003 Institute of Transport, 
-//             Railway Construction and Operation, 
-//             University of Hanover, Germany
-//
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-#include <qobject.h>
-
-class TestA : public QObject
-{
-    Q_OBJECT
-
-public:
-
-    TestA();
-    
-    // Needed to suppress 'unused variable' varning.
-    void do_something() { }
-};
diff --git a/SRC/Boost/tools/build/v2/test/railsys/program/jamfile.jam b/SRC/Boost/tools/build/v2/test/railsys/program/jamfile.jam
deleted file mode 100755
index be1923f..0000000
--- a/SRC/Boost/tools/build/v2/test/railsys/program/jamfile.jam
+++ /dev/null
@@ -1,45 +0,0 @@
-# ================================================================
-#
-#  Railsys
-#  --------------
-#
-#  Copyright (c) 2002 Institute of Transport, 
-#             Railway Construction and Operation, 
-#             University of Hanover, Germany
-#  Copyright (c) 2006 J�rgen Hunold
-#
-#  Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-#
-#  02/21/02! J�rgen Hunold
-#
-#  $Id: jamfile.jam 55188 2009-07-26 20:11:03Z danieljames $
-#
-# ================================================================
-
-local BOOST_ROOT = [ modules.peek : BOOST_ROOT ] ;
-
-use-project /libx : ../libx/src ;
-
-project program
-    : requirements 
-        <include>$(BOOST_ROOT)
-        <threading>multi
-        <library>/qt3//qt    
-        <hardcode-dll-paths>true
-        <stdlib>stlport
-        <use>/libx
-        <library>/libx//libx
-           
- : usage-requirements 
-        <include>$(BOOST_ROOT)
-        : 
-        default-build release
-        <threading>multi
-        <library>/qt3//qt
-        <hardcode-dll-paths>true
-        ;
-
-build-project main ;
-
diff --git a/SRC/Boost/tools/build/v2/test/railsys/program/jamroot.jam b/SRC/Boost/tools/build/v2/test/railsys/program/jamroot.jam
deleted file mode 100755
index fcc8f1c..0000000
--- a/SRC/Boost/tools/build/v2/test/railsys/program/jamroot.jam
+++ /dev/null
@@ -1,14 +0,0 @@
-#  Copyright (c) 2002 Institute of Transport, 
-#             Railway Construction and Operation, 
-#             University of Hanover, Germany
-#  Copyright (c) 2006 J�rgen Hunold
-#
-#  Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-# Tell that Qt3 should be used. QTDIR will give installation prefix. 
-using qt3 ;
-
-# Not that good, but sufficient for testing
-using stlport : : /path/to/stlport ;
diff --git a/SRC/Boost/tools/build/v2/test/railsys/program/liba/jamfile.jam b/SRC/Boost/tools/build/v2/test/railsys/program/liba/jamfile.jam
deleted file mode 100755
index ebbe209..0000000
--- a/SRC/Boost/tools/build/v2/test/railsys/program/liba/jamfile.jam
+++ /dev/null
@@ -1,14 +0,0 @@
-#  Copyright (c) 2003 Institute of Transport, 
-#             Railway Construction and Operation, 
-#             University of Hanover, Germany
-#  Copyright (c) 2006 J�rgen Hunold
-#
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-project liba ;
-
-lib liba : test ../include/test_a.h ;
-
-obj test : test_a.cpp : <optimization>off ;
diff --git a/SRC/Boost/tools/build/v2/test/railsys/program/liba/test_a.cpp b/SRC/Boost/tools/build/v2/test/railsys/program/liba/test_a.cpp
deleted file mode 100755
index 08809aa..0000000
--- a/SRC/Boost/tools/build/v2/test/railsys/program/liba/test_a.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-//  Copyright (c) 2003 Institute of Transport, 
-//             Railway Construction and Operation, 
-//             University of Hanover, Germany
-//
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "../include/test_a.h"
-
-#include <test_libx.h>
-
-TestA::TestA()
-{
-    TestLibX aTestLibX;
-    aTestLibX.do_something();
-}
diff --git a/SRC/Boost/tools/build/v2/test/railsys/program/main/jamfile.jam b/SRC/Boost/tools/build/v2/test/railsys/program/main/jamfile.jam
deleted file mode 100755
index e950005..0000000
--- a/SRC/Boost/tools/build/v2/test/railsys/program/main/jamfile.jam
+++ /dev/null
@@ -1,12 +0,0 @@
-#  Copyright (c) 2002 Institute of Transport, 
-#             Railway Construction and Operation, 
-#             University of Hanover, Germany
-#  Copyright (c) 2006 J�rgen Hunold
-#
-#  Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-project main ;
-
-exe test_a : main.cpp ../liba//liba /libx ;
diff --git a/SRC/Boost/tools/build/v2/test/railsys/program/main/main.cpp b/SRC/Boost/tools/build/v2/test/railsys/program/main/main.cpp
deleted file mode 100755
index 14d6839..0000000
--- a/SRC/Boost/tools/build/v2/test/railsys/program/main/main.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-//  Copyright (c) 2002 Institute of Transport, 
-//             Railway Construction and Operation, 
-//             University of Hanover, Germany
-//
-//  Use, modification and distribution are subject to the 
-//  Boost Software License, Version 1.0. (See accompanying file 
-//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include "../include/test_a.h"
-
-#include <test_libx.h>
-
-int main()
-{
-    TestLibX stTestLibX;
-    TestA stTestA;
-    
-    stTestLibX.do_something();
-};
diff --git a/SRC/Boost/tools/build/v2/test/readme.txt b/SRC/Boost/tools/build/v2/test/readme.txt
deleted file mode 100755
index 534c68f..0000000
--- a/SRC/Boost/tools/build/v2/test/readme.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2002 Dave Abrahams
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-  See test_system.html for detailed information on using the Boost Build test
-system.
diff --git a/SRC/Boost/tools/build/v2/test/rebuilds.py b/SRC/Boost/tools/build/v2/test/rebuilds.py
deleted file mode 100755
index 8a04423..0000000
--- a/SRC/Boost/tools/build/v2/test/rebuilds.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2005 Dave Abrahams
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester(pass_toolset=0)
-
-t.write('file.jam', '''
-rule make
-{
-    DEPENDS $(<) : $(>) ;
-    DEPENDS all : $(<) ;
-}
-actions make
-{
-    echo "******" making $(<) from $(>) "******"
-    echo made from $(>) > $(<)
-}
-
-make aux1 : bar ;
-make foo : bar ;
-REBUILDS foo : bar ;
-make bar : baz ;
-make aux2 : bar ;
-''')
-
-t.write('baz', 'nothing\n')
-
-t.run_build_system('-ffile.jam bar')
-t.expect_addition('bar')
-t.expect_nothing_more()
-
-t.wait_for_time_change_since_last_build()
-t.run_build_system('-ffile.jam foo')
-t.expect_touch('bar')
-t.expect_addition('foo')
-t.expect_nothing_more()
-
-t.run_build_system('-ffile.jam')
-t.expect_addition(['aux1', 'aux2'])
-t.expect_nothing_more()
-
-t.touch('bar')
-t.run_build_system('-ffile.jam')
-t.expect_touch(['foo', 'aux1', 'aux2'])
-t.expect_nothing_more()
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/recursive.jam b/SRC/Boost/tools/build/v2/test/recursive.jam
deleted file mode 100755
index 9f87879..0000000
--- a/SRC/Boost/tools/build/v2/test/recursive.jam
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 2001, 2002 Dave Abrahams 
-# Copyright 2005 Rene Rivera 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-##############################################################
-# Rules and actions that test Jam by invoking it recursively #
-#                                                            #
-# This is necessary for testing anything that requires Jam   #
-# to execute build actions whose results must be checked,    #
-# and anything which exits Jam with a failure code (e.g. a   #
-# failed assertion).                                         #
-##############################################################
-
-# Creates a fake target, always built, which succeeds in building if Invoking a
-# Jamfile containing the given string succeeds. If optional-expected-output is
-# supplied, creates another fake target which succeeds in building if
-# optional-expected-output is in the Jam output.
-#
-# RETURNS: the target name of the Jam command.
-rule Jam ( command : expected-output ? )
-{
-    local jam-cmd = "$(command:G=jam_command)" ;
-    
-    NOTFILE "$(jam-cmd)" ;
-    ALWAYS "$(jam-cmd)" ;
-    DEPENDS all : "$(jam-cmd)" ;
-
-    if ($NT)
-    {
-        redirect on $(jam-cmd) = "nul" ;
-    }
-    else if $(UNIX)
-    {
-        redirect on $(jam-cmd) = "/dev/null" ;
-    }
-
-    if $(VERBOSE)
-    {
-        redirect on $(jam-cmd) = ;
-    }
-
-    invoke-Jam "$(jam-cmd)" ;
-    
-    if $(expected-output)
-    {
-        redirect on $(jam-cmd) = "scratch-output.txt" ;
-        local output-target = "$(expected-output:G=$(command))" ;
-        NOTFILE "$(output-target)" ;
-        ALWAYS "$(output-target)" ;
-        DEPENDS all : "$(output-target)" ;
-        Expect-in-output "$(output-target)" ;
-        
-        if $(VERBOSE)
-        {
-            if $(NT) { VERBOSE on $(output-target) = "type " ; }
-            else { VERBOSE on $(output-target) = "cat " ; }
-        }
-    }
-    return $(jam-cmd) ;
-}
-
-# Just like the "Jam" rule, above, but only succeeds if the Jam command /fails/.
-rule Jam-fail ( command : expected-output ? )
-{
-    local target = [ Jam $(command) : $(expected-output) ] ;
-    FAIL_EXPECTED $(target) ;
-    return $(target) ;
-}
-
-# The temporary jamfile we write is called "temp.jam". If the user has set
-# BOOST_BUILD_ROOT, it will be built there.
-gBOOST_TEST_JAMFILE = temp.jam ;
-LOCATE on gBOOST_TEST_JAMFILE ?= $(BOOST_BUILD_ROOT) ;
-
-# Runs Jam on a temporary Jamfile which contains the string in $(command:G=)
-# and redirects the results into a file whose name is given by $(redirect) on
-# command
-rule invoke-Jam ( command )
-{
-    PREFIX on $(command) = "actions unbuilt { } unbuilt all ;" ;
-    if $(NT)
-    {
-        REMOVE on $(command) = $(SystemRoot)\System32\find ;
-    }
-    REMOVE on $(command) ?= rm ;
-}
-actions invoke-Jam
-{
-    echo $(PREFIX) $(<:G=) > $(gBOOST_TEST_JAMFILE)
-    jam -sBOOST_ROOT=../../.. -sJAMFILE=$(gBOOST_TEST_JAMFILE)  $(JAMARGS) >$(redirect)
-}
-#     $(REMOVE) $(gBOOST_TEST_JAMFILE)
-
-
-# These actions expect to find the ungristed part of $(<) in scratch-output.txt
-# and return a nonzero exit code otherwise
-if $(NT)
-{
-    # Explicitly get the NT find command in case someone has another find in their path.
-    actions quietly Expect-in-output
-    {
-        $(VERBOSE)scratch-output.txt ;
-        $(SystemRoot)\System32\find /C "$(<:G=)" scratch-output.txt >nul
-    }
-}
-else
-{
-    # Not really the right actions for Unix; the argument will be interpreted as
-    # a regular expression. Is there a simpler find?
-    actions quietly Expect-in-output
-    {
-        $(VERBOSE)scratch-output.txt;
-        grep "$(<:G=)" scratch-output.txt
-    }
-}
-
diff --git a/SRC/Boost/tools/build/v2/test/regression.py b/SRC/Boost/tools/build/v2/test/regression.py
deleted file mode 100755
index 460582a..0000000
--- a/SRC/Boost/tools/build/v2/test/regression.py
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2003.
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#         http://www.boost.org/LICENSE_1_0.txt)
-
-# Test for the regression testing framework.
-
-import BoostBuild
-
-# Create a temporary working directory.
-t = BoostBuild.Tester()
-
-t.write("c.cpp", "\n")
-
-t.write("r.cpp", """
-void helper();
-
-#include <iostream>
-int main( int ac, char * av[] )
-{
-    helper();
-    for ( int i = 1; i < ac; ++i )
-       std::cout << av[ i ] << '\\n';
-}
-""")
-
-t.write("c-f.cpp", """
-int
-""")
-
-t.write("r-f.cpp", """
-int main() { return 1; }
-""")
-
-
-t.write("jamfile.jam", """
-import testing ;
-compile c.cpp ;
-compile-fail c-f.cpp ;
-run r.cpp libs//helper : foo bar ;
-run-fail r-f.cpp ;
-""")
-
-t.write("libs/jamfile.jam", """
-lib helper : helper.cpp ;
-""")
-
-t.write("libs/helper.cpp", """
-void
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-helper() {}
-""")
-
-t.write("jamroot.jam", "")
-
-# First test that when outcomes are expected, all .test files are created.
-t.run_build_system("hardcode-dll-paths=false", stderr=None, status=None)
-t.expect_addition("bin/c.test/$toolset/debug/c.test")
-t.expect_addition("bin/c-f.test/$toolset/debug/c-f.test")
-t.expect_addition("bin/r.test/$toolset/debug/r.test")
-t.expect_addition("bin/r-f.test/$toolset/debug/r-f.test")
-
-# Make sure args are handled.
-t.expect_content("bin/r.test/$toolset/debug/r.output",
-                 "foo\nbar\n*\nEXIT STATUS: 0*\n", True)
-
-# Test that input file is handled as well.
-t.write("r.cpp", """
-#include <iostream>
-#include <fstream>
-int main( int ac, char * av[] )
-{
-    for ( int i = 1; i < ac; ++i )
-    {
-        std::ifstream ifs( av[ i ] );
-        std::cout << ifs.rdbuf();
-    }
-}
-""")
-
-t.write("dir/input.txt", "test input")
-
-t.write("jamfile.jam", """
-import testing ;
-compile c.cpp ;
-obj c-obj : c.cpp ;
-compile-fail c-f.cpp ;
-run r.cpp : : dir/input.txt ;
-run-fail r-f.cpp ;
-time execution : r ;
-time compilation : c-obj ;
-""")
-
-t.run_build_system('hardcode-dll-paths=false')
-t.expect_content("bin/r.test/$toolset/debug/r.output",
-                 "test input\nEXIT STATUS: 0\n")
-
-t.expect_addition('bin/$toolset/debug/execution.time')
-t.expect_addition('bin/$toolset/debug/compilation.time')
-
-# Make sure test failures are detected. Reverse expectation and see if .test
-# files are created or not.
-t.write("jamfile.jam", """
-import testing ;
-
-compile-fail c.cpp ;
-compile c-f.cpp ;
-run-fail r.cpp : : dir/input.txt ;
-run r-f.cpp ;
-""")
-
-t.touch(BoostBuild.List("c.cpp c-f.cpp r.cpp r-f.cpp"))
-
-t.run_build_system("hardcode-dll-paths=false", stderr=None, status=1)
-t.expect_removal("bin/c.test/$toolset/debug/c.test")
-t.expect_removal("bin/c-f.test/$toolset/debug/c-f.test")
-t.expect_removal("bin/r.test/$toolset/debug/r.test")
-t.expect_removal("bin/r-f.test/$toolset/debug/r-f.test")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/relative_sources.py b/SRC/Boost/tools/build/v2/test/relative_sources.py
deleted file mode 100755
index e9d7ce3..0000000
--- a/SRC/Boost/tools/build/v2/test/relative_sources.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2002, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that we can specify sources using relative names.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-# Test that relative path to source, 'src', is preserved.
-t.write("jamroot.jam", "exe a : src/a.cpp ;")
-t.write("src/a.cpp", "int main() {}\n")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/src/a.obj")
- 
-# Test that the relative path to source is preserved
-# when using 'glob'.
-t.rm("bin")
-t.write("jamroot.jam", "exe a : [ glob src/*.cpp ] ;")
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/src/a.obj")
-
-
-# Test that relative path with ".." is *not* added to
-# target path.
-t.rm(".")
-t.write("jamroot.jam", "")
-t.write("a.cpp", "int main() { return 0; }\n")
-t.write("build/Jamfile", "exe a : ../a.cpp ; ")
-t.run_build_system(subdir="build")
-t.expect_addition("build/bin/$toolset/debug/a.obj")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/remove_requirement.py b/SRC/Boost/tools/build/v2/test/remove_requirement.py
deleted file mode 100755
index 521f15d..0000000
--- a/SRC/Boost/tools/build/v2/test/remove_requirement.py
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2006.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-
-t.write("jamroot.jam", """
-project : requirements <threading>multi <variant>debug:<link>static ;
-
-build-project sub ;
-build-project sub2 ;
-build-project sub3 ;
-build-project sub4 ;
-""")
-
-t.write("sub/jamfile.jam", """
-exe hello : hello.cpp : -<threading>multi ;
-""")
-
-t.write("sub/hello.cpp", """
-int main() {}
-""")
-
-t.write("sub2/jamfile.jam", """
-project : requirements -<threading>multi ;
-exe hello : hello.cpp ;
-""")
-
-t.write("sub2/hello.cpp", """
-int main() {}
-""")
-
-t.write("sub3/hello.cpp", """
-int main() {}
-""")
-
-t.write("sub3/jamfile.jam", """
-exe hello : hello.cpp : -<variant>debug:<link>static ;
-""")
-
-t.write("sub4/hello.cpp", """
-int main() {}
-""")
-
-t.write("sub4/jamfile.jam", """
-project : requirements -<variant>debug:<link>static ;
-exe hello : hello.cpp ;
-""")
-
-t.run_build_system()
-
-t.expect_addition("sub/bin/$toolset/debug/link-static/hello.exe")
-t.expect_addition("sub2/bin/$toolset/debug/link-static/hello.exe")
-t.expect_addition("sub3/bin/$toolset/debug/threading-multi/hello.exe")
-t.expect_addition("sub4/bin/$toolset/debug/threading-multi/hello.exe")
-
-t.rm(".")
-
-# Now test that path requirements can be removed as well.
-t.write("jamroot.jam", """
-build-project sub ;
-""")
-
-t.write("sub/jamfile.jam", """
-project : requirements <include>broken ;
-exe hello : hello.cpp : -<include>broken ;
-""")
-
-t.write("sub/hello.cpp", """
-#include "math.h"
-int main() {}
-""")
-
-t.write("sub/broken/math.h", """
-Broken
-""")
-
-
-t.run_build_system()
-
-t.expect_addition("sub/bin/$toolset/debug/hello.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/resolution.py b/SRC/Boost/tools/build/v2/test/resolution.py
deleted file mode 100755
index 57a7315..0000000
--- a/SRC/Boost/tools/build/v2/test/resolution.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2006.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests for the target id resolution process.
-
-import BoostBuild
-
-# Create a temporary working directory.
-t = BoostBuild.Tester()
-
-# Create the needed files
-t.write("jamroot.jam", """
-exe hello : hello.cpp ;
-# This should use the 'hello' target, even if there is a 'hello' file in the
-# current dir.
-install s : hello : <location>. ;
-""")
-
-t.write("hello.cpp", """
-int main() {}
-""")
-
-t.run_build_system()
-
-t.expect_addition("bin/$toolset/debug/hello.obj")
-
-t.touch("hello.cpp")
-t.run_build_system("s")
-# If 'hello' in the 's' target resolved to file in the current dir, nothing will
-# be rebuilt.
-t.expect_touch("bin/$toolset/debug/hello.obj")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/searched_lib.py b/SRC/Boost/tools/build/v2/test/searched_lib.py
deleted file mode 100755
index 35dd7c0..0000000
--- a/SRC/Boost/tools/build/v2/test/searched_lib.py
+++ /dev/null
@@ -1,187 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test usage of searched-libs: one which are found via -l
-# switch to the linker/compiler.
-
-import BoostBuild
-import os
-import string
-
-t = BoostBuild.Tester()
-
-
-# To start with, we have to prepare a library to link with.
-t.write("lib/jamroot.jam", "")
-t.write("lib/jamfile.jam", "lib test_lib : test_lib.cpp ;")
-t.write("lib/test_lib.cpp", """
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void foo() {}
-""");
-
-t.run_build_system(subdir="lib")
-t.expect_addition("lib/bin/$toolset/debug/test_lib.dll")
-
-
-# Auto adjusting of suffixes does not work, since we need to
-# change dll to lib.
-if ( ( os.name == "nt" ) or os.uname()[0].lower().startswith("cygwin") ) and \
-    ( BoostBuild.get_toolset() != "gcc" ):
-    t.copy("lib/bin/$toolset/debug/test_lib.implib", "lib/test_lib.implib")
-    t.copy("lib/bin/$toolset/debug/test_lib.dll", "lib/test_lib.dll")
-else:
-    t.copy("lib/bin/$toolset/debug/test_lib.dll", "lib/test_lib.dll")
-
-
-# Test that the simplest usage of searched library works.
-t.write("jamroot.jam", "")
-
-t.write("jamfile.jam", """
-import path ;
-import project ;
-
-exe main : main.cpp helper ;
-lib helper : helper.cpp test_lib ;
-lib test_lib : : <name>test_lib <search>lib ;
-""")
-
-t.write("main.cpp", """
-void helper();
-int main() { helper(); }
-""")
-
-t.write("helper.cpp", """
-void foo();
-void
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-helper() { foo(); }
-""")
-
-t.run_build_system("-d2")
-t.expect_addition("bin/$toolset/debug/main.exe")
-t.rm("bin/$toolset/debug/main.exe")
-
-
-# Test that 'unit-test' will correctly add runtime paths to searched libraries.
-t.write("jamfile.jam", """
-
-import path ;
-import project ;
-import testing ;
-
-project : requirements <hardcode-dll-paths>false ;
-
-unit-test main : main.cpp helper ;
-lib helper : helper.cpp test_lib ;
-lib test_lib : : <name>test_lib <search>lib ;
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/main.passed")
-t.rm("bin/$toolset/debug/main.exe")
-
-
-# Now try using searched lib from static lib. Request shared version of searched
-# lib, since we do not have a static one handy.
-t.write("jamfile.jam", """
-exe main : main.cpp helper ;
-lib helper : helper.cpp test_lib/<link>shared : <link>static ;
-lib test_lib : : <name>test_lib <search>lib ;
-""")
-
-t.run_build_system(stderr=None)
-t.expect_addition("bin/$toolset/debug/main.exe")
-t.expect_addition("bin/$toolset/debug/link-static/helper.lib")
-t.rm("bin/$toolset/debug/main.exe")
-
-# A regression test: <library>property referring to searched-lib was being
-# mishandled. As the result, we were putting target name to the command line!
-# Note that
-#    g++ ...... <.>z
-# works nicely in some cases, sending output from compiler to file 'z'. This
-# problem shows up when searched libs are in usage requirements.
-t.write("jamfile.jam", "exe main : main.cpp d/d2//a ;")
-t.write("main.cpp", """
-void foo();
-int main() { foo(); }
-""")
-
-t.write("d/d2/jamfile.jam", """
-lib test_lib : : <name>test_lib <search>../../lib ;
-lib a : a.cpp : : : <library>test_lib ;
-""")
-
-t.write("d/d2/a.cpp", """
-#ifdef _WIN32
-__declspec(dllexport) int force_library_creation_for_a;
-#endif
-""")
-
-t.run_build_system()
-
-
-# A regression test. Searched targets were not associated with any properties.
-# For that reason, if the same searched lib is generated with two different
-# properties, we had an error saying they are actualized to the same Jam target
-# name.
-t.write("jamroot.jam", "")
-
-t.write("a.cpp", "")
-
-# The 'l' library will be built in two variants: 'debug' (directly requested)
-# and 'release' (requested from 'a').
-t.write("jamfile.jam", """
-exe a : a.cpp l/<variant>release ;
-lib l : : <name>l_d <variant>debug ;
-lib l : : <name>l_r <variant>release ;
-""")
-
-t.run_build_system("-n")
-
-
-# A regression test. Two virtual target with the same properties were created
-# for 'l' target, which caused and error to be reported when actualizing
-# targets. The final error is correct, but we should not create two duplicated
-# targets. Thanks to Andre Hentz for finding this bug.
-t.write("jamroot.jam", "")
-
-t.write("a.cpp", "")
-
-t.write("jamfile.jam", """
-project a : requirements <runtime-link>static ;
-static-lib a : a.cpp l ;
-lib l : : <name>l_f ;
-""")
-
-t.run_build_system("-n")
-
-
-# Make sure plain "lib foobar ; " works.
-t.write("jamfile.jam", """
-exe a : a.cpp foobar ;
-lib foobar ;
-""")
-
-t.run_build_system("-n -d2")
-t.fail_test(string.find(t.stdout(), "foobar") == -1)
-
-
-# Make sure plain "lib foo bar ; " works.
-t.write("jamfile.jam", """
-exe a : a.cpp foo bar ;
-lib foo bar ;
-""")
-
-t.run_build_system("-n -d2")
-t.fail_test(string.find(t.stdout(), "foo") == -1)
-t.fail_test(string.find(t.stdout(), "bar") == -1)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/skipping.py b/SRC/Boost/tools/build/v2/test/skipping.py
deleted file mode 100755
index b011eb4..0000000
--- a/SRC/Boost/tools/build/v2/test/skipping.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that V2 does not fail gracelessy when any target is skipped.
-
-import BoostBuild
-
-# Create a temporary working directory.
-t = BoostBuild.Tester()
-
-t.write("a.cpp", """
-int main() {}
-""")
-
-t.write("b.cpp", """
-int main() {}
-""")
-
-t.write("c.cpp", """
-int main() {}
-""")
-
-t.write("jamroot.jam", """
-import feature ;
-feature.feature foo : 1 2 : link-incompatible ;
-exe a : a.cpp : <foo>1 ;
-exe b : b.cpp : <foo>2 ;
-exe c : c.cpp ;
-""")
-
-t.run_build_system("foo=1")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/sort_rule.py b/SRC/Boost/tools/build/v2/test/sort_rule.py
deleted file mode 100755
index c21bcb0..0000000
--- a/SRC/Boost/tools/build/v2/test/sort_rule.py
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/python
-
-#  Copyright (C) Jurko Gospodnetic 2008.
-#  Distributed under the Boost Software License, Version 1.0. (See
-#  accompanying file LICENSE_1_0.txt or copy at
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests for the Boost Jam builtin SORT rule.
-
-import BoostBuild
-
-
-################################################################################
-#
-# testSORTCorrectness()
-# ---------------------
-#
-################################################################################
-
-def testSORTCorrectness():
-    """Testing that Boost Jam's SORT builtin rule actually sorts correctly.
-    """
-    t = BoostBuild.Tester("-f test.jam -d1", pass_toolset=False,
-        use_test_config=False)
-
-    t.write("test.jam", """
-NOCARE all ;
-source-data = 1 8 9 2 7 3 4 7 1 27 27 9 98 98 1 1 4 5 6 2 3 4 8 1 -2 -2 0 0 0 ;
-target-data = -2 -2 0 0 0 1 1 1 1 1 2 2 27 27 3 3 4 4 4 5 6 7 7 8 8 9 9 98 98 ;
-ECHO "starting up" ;
-sorted-data = [ SORT $(source-data) ] ;
-ECHO "done" ;
-if $(sorted-data) != $(target-data)
-{
-    ECHO "Source       :" $(source-data) ;
-    ECHO "Expected     :" $(target-data) ;
-    ECHO "SORT returned:" $(sorted-data) ;
-    EXIT "SORT error" : -2 ;
-}
-""")
-
-    t.run_build_system()
-    t.expect_output_line("starting up")
-    t.expect_output_line("done")
-    t.expect_output_line("SORT error", False)
-
-    t.cleanup()
-
-
-################################################################################
-#
-# testSORTDuration()
-# ------------------
-#
-################################################################################
-
-def testSORTDuration():
-    """Regression test making sure Boost Jam's SORT builtin rule does not get
-    quadratic behaviour again in this use case.
-    """
-    t = BoostBuild.Tester("-f test.jam -d1", pass_toolset=False,
-        use_test_config=False)
-
-    f = open(t.workpath("test.jam"), "w")
-    print >> f, "data = "
-    for i in range(0, 20000):
-        if i % 2 != 0:
-            print >> f, '"aaa"'
-        else:
-            print >> f, '"bbb"'
-    print >> f, """;
-
-ECHO "starting up" ;
-sorted = [ SORT $(data) ] ;
-ECHO "done" ;
-NOCARE all ;
-"""
-    f.close()
-
-    t.run_build_system(expected_duration=1)
-    t.expect_output_line("starting up")
-    t.expect_output_line("done")
-
-    t.cleanup()
-
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-testSORTCorrectness()
-testSORTDuration()
diff --git a/SRC/Boost/tools/build/v2/test/source_locations.py b/SRC/Boost/tools/build/v2/test/source_locations.py
deleted file mode 100755
index 303c72e..0000000
--- a/SRC/Boost/tools/build/v2/test/source_locations.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/python
-
-#  Copyright (C) Craig Rodrigues 2005.
-#  Distributed under the Boost Software License, Version 1.0. (See
-#  accompanying file LICENSE_1_0.txt or copy at
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that projects with multiple source-location directories are handled OK.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", """
-path-constant SRC1  : "./src1" ;
-path-constant SRC2  : "./src2" ;
-path-constant SRC3  : "./src3" ;
-path-constant BUILD : "build" ;
-
-project : requirements <include>$(SRC1)/include <threading>multi
-    : build-dir $(BUILD) ;
-
-build-project project1 ;
-""")
-
-t.write("project1/jamfile.jam", """
-project project1 : source-location $(SRC1) $(SRC2) $(SRC3) ;
-SRCS = s1.cpp s2.cpp testfoo.cpp ;
-exe test : $(SRCS) ;
-""")
-
-t.write("src1/s1.cpp", "int main() {}\n")
-t.write("src2/s2.cpp", "void hello() {}\n")
-t.write("src3/testfoo.cpp", "void testfoo() {}\n")
-
-# This file should not be picked up, because "src2" is before "src3" in the list
-# of source directories.
-t.write("src3/s2.cpp", "void hello() {}\n")
-
-t.run_build_system()
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/stage.py b/SRC/Boost/tools/build/v2/test/stage.py
deleted file mode 100755
index a0c5f8b..0000000
--- a/SRC/Boost/tools/build/v2/test/stage.py
+++ /dev/null
@@ -1,258 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test staging.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", "import gcc ;")
-
-t.write("jamfile.jam", """
-lib a : a.cpp ;
-stage dist : a a.h auxilliary/1 ;
-""")
-
-t.write(
-    "a.cpp",
-"""
-int
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-must_export_something;
-""")
-
-t.write("a.h", "")
-t.write("auxilliary/1", "")
-
-t.run_build_system()
-t.expect_addition(["dist/a.dll", "dist/a.h", "dist/1"])
-
-
-# Regression test: the following was causing the "duplicate target name" error.
-t.write("jamfile.jam", """
-project : requirements <hardcode-dll-paths>true ;
-lib a : a.cpp ;
-stage dist : a a.h auxilliary/1 ;
-alias dist-alias : dist ;
-""")
-
-t.run_build_system()
-
-
-# Test the <location> property.
-t.write("jamfile.jam", """
-lib a : a.cpp ;
-stage dist : a : <variant>debug:<location>ds <variant>release:<location>rs ;
-""")
-
-t.run_build_system()
-t.expect_addition("ds/a.dll")
-
-t.run_build_system("release")
-t.expect_addition("rs/a.dll")
-
-
-# Test the <location> property in subprojects. Thanks to Kirill Lapshin for the
-# bug report.
-
-t.write("jamroot.jam", """
-path-constant DIST : dist ;
-""")
-
-t.write("jamfile.jam", "build-project d ;")
-
-t.write("d/jamfile.jam", """
-exe a : a.cpp ;
-stage dist : a : <location>$(DIST) ;
-""")
-
-t.write("d/a.cpp", "int main() {}\n")
-
-t.run_build_system()
-t.expect_addition("dist/a.exe")
-
-t.rm("dist")
-
-# Workaround a BIG BUG: the response file is not deleted, even if application
-# *is* deleted. We will try to use the same response file when building from
-# subdir, with very bad results.
-t.rm("d/bin")
-t.run_build_system(subdir="d")
-t.expect_addition("dist/a.exe")
-
-
-# Check that 'stage' does not incorrectly reset target suffixes.
-t.write("a.cpp", """
-int main() {}
-""")
-
-t.write("jamroot.jam", """
-import type ;
-type.register MYEXE : : EXE ;
-type.set-generated-target-suffix MYEXE : <optimization>off : myexe ;
-""")
-
-# Since <optimization>off is in properties when 'a' is built, and staged, its
-# suffix should be "myexe".
-t.write("jamfile.jam", """
-stage dist : a ;
-myexe a : a.cpp ;
-""")
-
-t.run_build_system()
-t.expect_addition("dist/a.myexe")
-
-# Test 'stage's ability to traverse dependencies.
-t.write("a.cpp", """
-int main() {}
-""")
-
-t.write("l.cpp", """
-void
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-foo() {}
-""")
-
-t.write("jamfile.jam", """
-lib l : l.cpp ;
-exe a : a.cpp l ;
-stage dist : a : <install-dependencies>on <install-type>EXE <install-type>LIB ;
-""")
-
-t.write("jamroot.jam", "")
-
-t.rm("dist")
-
-t.run_build_system()
-t.expect_addition("dist/a.exe")
-t.expect_addition("dist/l.dll")
-
-# Check that <use> properties are ignored the traversing target for staging.
-t.copy("l.cpp", "l2.cpp")
-
-t.copy("l.cpp", "l3.cpp")
-
-t.write("jamfile.jam", """
-lib l2 : l2.cpp ;
-lib l3 : l3.cpp ;
-lib l : l.cpp : <use>l2 <dependency>l3 ;
-exe a : a.cpp l ;
-stage dist : a : <install-dependencies>on <install-type>EXE <install-type>LIB ;
-""")
-
-t.rm("dist")
-
-t.run_build_system()
-t.expect_addition("dist/l3.dll")
-t.expect_nothing("dist/l2.dll")
-
-# Check if <dependency> on 'stage' works.
-t.rm(".")
-t.write("jamroot.jam", """
-stage a1 : a1.txt : <location>dist ;
-stage a2 : a2.txt : <location>dist <dependency>a1 ;
-""")
-t.write("a1.txt", "")
-t.write("a2.txt", "")
-t.run_build_system("a2")
-t.expect_addition(["dist/a1.txt", "dist/a2.txt"])
-
-# Regression test: check that <location>. works.
-t.rm(".")
-
-t.write("jamroot.jam", """
-stage a1 : d/a1.txt : <location>. ;
-""")
-
-t.write("d/a1.txt", "")
-
-t.run_build_system()
-t.expect_addition("a1.txt")
-
-# Test that relative paths of sources can be preserved.
-t.rm(".")
-
-t.write("jamroot.jam", """
-install dist : a/b/c.h : <install-source-root>. ;
-""")
-
-t.write("a/b/c.h", "")
-
-t.run_build_system()
-t.expect_addition("dist/a/b/c.h")
-
-t.write("jamroot.jam", """
-install dist : a/b/c.h : <install-source-root>a ;
-""")
-
-t.write("a/b/c.h", "")
-
-t.run_build_system()
-t.expect_addition("dist/b/c.h")
-
-t.rm(".")
-t.write("build/jamroot.jam", """
-install dist : ../a/b/c.h : <location>../dist <install-source-root>../a ;
-""")
-
-t.write("a/b/c.h", "")
-
-t.run_build_system(subdir="build")
-t.expect_addition("dist/b/c.h")
-
-t.write("jamroot.jam", """
-install dist2 : a/b/c.h : <install-source-root>a ;
-""")
-
-t.write("a/b/c.h", "")
-
-t.write("sub/jamfile.jam", """
-alias h : ..//dist2 ;
-""")
-
-t.run_build_system(subdir="sub")
-t.expect_addition("dist2/b/c.h")
-
-# Test that when installing .cpp files, we do not scan include dependencies.
-t.rm(".")
-
-t.write("jamroot.jam", """
-install dist : a.cpp ;
-""")
-
-t.write("a.cpp", """
-#include "a.h"
-""")
-
-t.write("a.h", "")
-
-t.run_build_system()
-t.expect_addition("dist/a.cpp")
-
-t.touch("a.h")
-
-t.run_build_system()
-t.expect_nothing("dist/a.cpp")
-
-# Test that <name> property works, when there is just one file in sources.
-t.rm(".")
-
-t.write("jamroot.jam", """
-install dist : a.cpp : <name>b.cpp ;
-""")
-
-t.write("a.cpp", "test file")
-
-t.run_build_system()
-t.expect_addition("dist/b.cpp")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/standalone.py b/SRC/Boost/tools/build/v2/test/standalone.py
deleted file mode 100755
index ad3eec0..0000000
--- a/SRC/Boost/tools/build/v2/test/standalone.py
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-
-# Regression tests: standalone project were not able to refer to targets
-# declared in themselves.
-
-t.write("a.cpp", """
-int main() {}
-""")
-
-t.write("jamroot.jam", """
-import standalone ;
-""")
-
-t.write("standalone.jam", """
-import project ;
-
-project.initialize $(__name__) ;
-project standalone ;
-
-local pwd = [ PWD ] ;
-
-alias x : $(pwd)/../a.cpp ;
-alias runtime : x ;
-""")
-
-t.write("standalone.py", """
-from b2.manager import get_manager
-
-# FIXME: this is ugly as death
-get_manager().projects().initialize(__name__)
-
-import os ;
-
-# This use of list as parameter is also ugly.
-project(['standalone'])
-
-pwd = os.getcwd()
-alias('x', [os.path.join(pwd, '../a.cpp')])
-alias('runtime', ['x'])
-""")
-
-
-t.write("sub/jamfile.jam", """
-stage bin : /standalone//runtime ;
-""")
-
-t.run_build_system(subdir="sub")
-t.expect_addition("sub/bin/a.cpp")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/startup/boost-root/boost-build.jam b/SRC/Boost/tools/build/v2/test/startup/boost-root/boost-build.jam
deleted file mode 100755
index 30beb31..0000000
--- a/SRC/Boost/tools/build/v2/test/startup/boost-root/boost-build.jam
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Copyright 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Emulate v1 behavior; with the boost-build file in the boost root directory.
-boost-build build ;
diff --git a/SRC/Boost/tools/build/v2/test/startup/boost-root/build/boost-build.jam b/SRC/Boost/tools/build/v2/test/startup/boost-root/build/boost-build.jam
deleted file mode 100755
index c8edcdb..0000000
--- a/SRC/Boost/tools/build/v2/test/startup/boost-root/build/boost-build.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# The presence of this file emulates the Boost 1.27.0 release
-include $(BOOST_ROOT)/tools/build/bootstrap.jam ;
diff --git a/SRC/Boost/tools/build/v2/test/startup/boost-root/build/bootstrap.jam b/SRC/Boost/tools/build/v2/test/startup/boost-root/build/bootstrap.jam
deleted file mode 100755
index 348c294..0000000
--- a/SRC/Boost/tools/build/v2/test/startup/boost-root/build/bootstrap.jam
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-ECHO build system bootstrapped ;
-DEPENDS all : nothing ;
-NOTFILE nothing ;
diff --git a/SRC/Boost/tools/build/v2/test/startup/bootstrap-env/boost-build.jam b/SRC/Boost/tools/build/v2/test/startup/bootstrap-env/boost-build.jam
deleted file mode 100755
index e931fde..0000000
--- a/SRC/Boost/tools/build/v2/test/startup/bootstrap-env/boost-build.jam
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-boost-build ;
diff --git a/SRC/Boost/tools/build/v2/test/startup/bootstrap-explicit/boost-build.jam b/SRC/Boost/tools/build/v2/test/startup/bootstrap-explicit/boost-build.jam
deleted file mode 100755
index 678a0a5..0000000
--- a/SRC/Boost/tools/build/v2/test/startup/bootstrap-explicit/boost-build.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Copyright 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-boost-build ../boost-root/build ;
diff --git a/SRC/Boost/tools/build/v2/test/startup/bootstrap-implicit/readme.txt b/SRC/Boost/tools/build/v2/test/startup/bootstrap-implicit/readme.txt
deleted file mode 100755
index 2f1037b..0000000
--- a/SRC/Boost/tools/build/v2/test/startup/bootstrap-implicit/readme.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Copyright 2002 Dave Abrahams 
-Distributed under the Boost Software License, Version 1.0. 
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-This file is only here so that cvs update -P won't fail to create a directory
diff --git a/SRC/Boost/tools/build/v2/test/startup/no-bootstrap1/boost-build.jam b/SRC/Boost/tools/build/v2/test/startup/no-bootstrap1/boost-build.jam
deleted file mode 100755
index d8f48a8..0000000
--- a/SRC/Boost/tools/build/v2/test/startup/no-bootstrap1/boost-build.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Bootstrap file not found via implicit lookup in BOOST_BUILD_PATH
-boost-build ;
diff --git a/SRC/Boost/tools/build/v2/test/startup/no-bootstrap1/subdir/readme.txt b/SRC/Boost/tools/build/v2/test/startup/no-bootstrap1/subdir/readme.txt
deleted file mode 100755
index 9db63ab..0000000
--- a/SRC/Boost/tools/build/v2/test/startup/no-bootstrap1/subdir/readme.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Copyright 2002 Dave Abrahams 
-Distributed under the Boost Software License, Version 1.0. 
-(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-This file is only here so cvs update -P will create the directory.
diff --git a/SRC/Boost/tools/build/v2/test/startup/no-bootstrap2/boost-build.jam b/SRC/Boost/tools/build/v2/test/startup/no-bootstrap2/boost-build.jam
deleted file mode 100755
index 04d88bb..0000000
--- a/SRC/Boost/tools/build/v2/test/startup/no-bootstrap2/boost-build.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Bootstrap file not found via explicit lookup in .
-boost-build . ;
diff --git a/SRC/Boost/tools/build/v2/test/startup/no-bootstrap3/boost-build.jam b/SRC/Boost/tools/build/v2/test/startup/no-bootstrap3/boost-build.jam
deleted file mode 100755
index 5d0a9d1..0000000
--- a/SRC/Boost/tools/build/v2/test/startup/no-bootstrap3/boost-build.jam
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Call to boost-build is intentionally missing
diff --git a/SRC/Boost/tools/build/v2/test/startup_v1.py b/SRC/Boost/tools/build/v2/test/startup_v1.py
deleted file mode 100755
index 2a2ea0c..0000000
--- a/SRC/Boost/tools/build/v2/test/startup_v1.py
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002 Dave Abrahams
-# Copyright 2003, 2004, 2005 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-import os
-import re
-
-def expect_substring(actual, expected):
-    return actual.find(expected) != -1
-
-def match_re(actual, expected):
-    return re.match(expected, actual, re.DOTALL) != None
-
-# Test the v1 startup behavior.
-t = BoostBuild.Tester(executable='bjam', match=match_re, boost_build_path='',
-    pass_toolset=0)
-
-t.set_tree('startup')
-
-#if os.name == 'nt':
-#    t.run_build_system(
-#        status=1, stdout="You didn't set BOOST_ROOT", match = expect_substring)
-
-t.run_build_system(extra_args='-sBOOST_ROOT=.', status=1,
-    stdout=r'''Unable to load Boost\.Build: could not find ''' +
-    r'''"boost-build\.jam".''')
-
-os.chdir('no-bootstrap1')
-
-t.run_build_system(extra_args='-sBOOST_ROOT=.', status=1,
-    stdout=r'''Unable to load Boost\.Build: could not find build system\.'''
-    + r'''.*attempted to load the build system by invoking'''
-    + r'''.*'boost-build ;'.*'''
-    + r'''but we were unable to find "bootstrap\.jam"''')
-
-# Descend to a subdirectory which /doesn't/ contain a boost-build.jam
-# file, and try again to test the crawl-up behavior.
-os.chdir('subdir')
-
-t.run_build_system(extra_args='-sBOOST_ROOT=.', status=1,
-    stdout=r'''Unable to load Boost\.Build: could not find build system\.'''
-    + r'''.*attempted to load the build system by invoking'''
-    + r'''.*'boost-build ;'.*'''
-    + r'''but we were unable to find "bootstrap\.jam"''')
-
-os.chdir('../../no-bootstrap2')
-
-t.run_build_system(extra_args='-sBOOST_ROOT=.', status=1,
-    stdout=r'''Unable to load Boost\.Build: could not find build system\.'''
-    + r'''.*attempted to load the build system by invoking'''
-    + r'''.*'boost-build \. ;'.*'''
-    + r'''but we were unable to find "bootstrap\.jam"''')
-
-os.chdir('../no-bootstrap3')
-
-t.run_build_system(extra_args='-sBOOST_ROOT=.', status=1,
-    stdout=r'''Unable to load Boost.Build
-.*boost-build.jam" was found.*
-However, it failed to call the "boost-build" rule''')
-
-# test bootstrapping based on BOOST_BUILD_PATH
-os.chdir('../bootstrap-env')
-t.run_build_system(extra_args='-sBOOST_ROOT=../boost-root ' +
-    '-sBOOST_BUILD_PATH=../boost-root/build',
-    stdout='build system bootstrapped')
-
-# test bootstrapping based on an explicit path in boost-build.jam
-os.chdir('../bootstrap-explicit')
-t.run_build_system(extra_args='-sBOOST_ROOT=../boost-root',
-    stdout='build system bootstrapped')
-
-# test bootstrapping based on BOOST_ROOT
-os.chdir('../bootstrap-implicit')
-t.run_build_system(extra_args='-sBOOST_ROOT=../boost-root',
-    stdout='build system bootstrapped')
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/startup_v2.py b/SRC/Boost/tools/build/v2/test/startup_v2.py
deleted file mode 100755
index f452ef5..0000000
--- a/SRC/Boost/tools/build/v2/test/startup_v2.py
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002 Dave Abrahams
-# Copyright 2003, 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-import os
-import re
-
-
-def match_re(actual,expected):
-    return re.match(expected,actual,re.DOTALL) != None
-
-# Test the v1 startup behavior.
-t = BoostBuild.Tester(match=match_re, boost_build_path='', pass_toolset=0)
-
-t.set_tree('startup')
-
-t.run_build_system(
-    status=1, stdout=r'''Unable to load Boost\.Build: could not find "boost-build.jam"
-.*Attempted search from .* up to the root''', match = match_re)
-
-os.chdir('no-bootstrap1')
-
-t.run_build_system(
-    status=1
-    , stdout=r'''Unable to load Boost\.Build: could not find build system\.'''
-    + r'''.*attempted to load the build system by invoking'''
-    + r'''.*'boost-build ;'.*'''
-    + r'''but we were unable to find "bootstrap\.jam"'''
-    )
-
-# Descend to a subdirectory which /doesn't/ contain a boost-build.jam file, and
-# try again to test the crawl-up behavior.
-os.chdir('subdir')
-
-t.run_build_system(
-    status=1
-    , stdout=r'''Unable to load Boost\.Build: could not find build system\.'''
-    + r'''.*attempted to load the build system by invoking'''
-    + r'''.*'boost-build ;'.*'''
-    + r'''but we were unable to find "bootstrap\.jam"'''
-    )
-
-os.chdir('../../no-bootstrap2')
-
-t.run_build_system(
-    status=1
-    , stdout=r'''Unable to load Boost\.Build: could not find build system\.'''
-    + r'''.*attempted to load the build system by invoking'''
-    + r'''.*'boost-build \. ;'.*'''
-    + r'''but we were unable to find "bootstrap\.jam"'''
-    )
-
-os.chdir('../no-bootstrap3')
-
-t.run_build_system(
-    status=1
-    , stdout=r'''Unable to load Boost.Build
-.*boost-build.jam" was found.*
-However, it failed to call the "boost-build" rule'''
-    )
-
-# Test bootstrapping based on BOOST_BUILD_PATH.
-os.chdir('../bootstrap-env')
-t.run_build_system(
-    extra_args = '-sBOOST_BUILD_PATH=../boost-root/build'
-    , stdout = 'build system bootstrapped'
-    )
-
-# Test bootstrapping based on an explicit path in boost-build.jam.
-os.chdir('../bootstrap-explicit')
-t.run_build_system(
-    stdout = 'build system bootstrapped'
-    )
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/subdir1/file-to-bind b/SRC/Boost/tools/build/v2/test/subdir1/file-to-bind
deleted file mode 100755
index 7ff128f..0000000
--- a/SRC/Boost/tools/build/v2/test/subdir1/file-to-bind
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/test/suffix.py b/SRC/Boost/tools/build/v2/test/suffix.py
deleted file mode 100755
index a8a9b84..0000000
--- a/SRC/Boost/tools/build/v2/test/suffix.py
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003, 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-# Regression test: when staging V2 used to change suffixes on targets
-# corresponding to real files.
-t.write("jamfile.jam", """
-import type : register ;
-register A : a1 a2 a3 ;
-stage a : a.a3 ;
-""")
-
-t.write("jamroot.jam", "")
-t.write("a.a3", "")
-
-t.run_build_system()
-t.expect_addition("a/a.a3");
-
-# Regression test: we should be able to specify empty suffix for derived target
-# type, even if base type has non-empty suffix.
-t.write("a.cpp", "")
-
-t.write("suffixes.jam", """
-import type ;
-import generators ;
-import common ;
-
-type.register First : first : ;
-type.register Second : "" : First ;
-
-generators.register-standard $(__name__).second : CPP : Second ;
-
-rule second
-{
-    TOUCH on $(<) = [ common.file-creation-command ] ;
-}
-
-actions second
-{
-    $(TOUCH) $(<)
-}
-""")
-
-t.write("suffixes.py", """
-import b2.build.type as type
-import b2.build.generators as generators
-import b2.tools.common as common
-
-from b2.manager import get_manager
-
-type.register("First", ["first"])
-type.register("Second", [""], "First")
-
-generators.register_standard("suffixes.second", ["CPP"], ["Second"])
-
-get_manager().engine().register_action("suffixes.second",
-                                       "%s $(<)" % common.file_creation_command())
-
-""")
-
-t.write("jamroot.jam", """
-import suffixes ;
-""")
-
-t.write("jamfile.jam", """
-second a : a.cpp ;
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/a")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/svn_tree.py b/SRC/Boost/tools/build/v2/test/svn_tree.py
deleted file mode 100755
index 4f8ec20..0000000
--- a/SRC/Boost/tools/build/v2/test/svn_tree.py
+++ /dev/null
@@ -1,668 +0,0 @@
-#!/usr/bin/env python
-#
-#  tree.py: tools for comparing directory trees
-#
-#  Subversion is a tool for revision control.
-#  See http://subversion.tigris.org for more information.
-#
-# ====================================================================
-# Copyright (c) 2001 Sam Tobin-Hochstadt.  All rights reserved.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution.  The terms
-# are also available at http://subversion.tigris.org/license-1.html.
-# If newer versions of this license are posted there, you may use a
-# newer version instead, at your option.
-#
-######################################################################
-
-# This file was modified by Vladimir Prus to store modification times in tree
-# nodes.
-
-import re
-import string
-import os.path
-import os
-import stat
-
-
-#========================================================================
-
-# ===>  Overview of our Datastructures  <===
-
-# The general idea here is that many, many things can be represented by
-# a tree structure:
-
-#   - a working copy's structure and contents
-#   - the output of 'svn status'
-#   - the output of 'svn checkout/update'
-#   - the output of 'svn commit'
-
-# The idea is that a test function creates a "expected" tree of some
-# kind, and is then able to compare it to an "actual" tree that comes
-# from running the Subversion client.  This is what makes a test
-# automated; if an actual and expected tree match exactly, then the test
-# has passed.  (See compare_trees() below.)
-
-# The SVNTreeNode class is the fundamental data type used to build tree
-# structures.  The class contains a method for "dropping" a new node
-# into an ever-growing tree structure. (See also create_from_path()).
-
-# We have four parsers in this file for the four use cases listed above:
-# each parser examines some kind of input and returns a tree of
-# SVNTreeNode objects.  (See build_tree_from_checkout(),
-# build_tree_from_commit(), build_tree_from_status(), and
-# build_tree_from_wc()).  These trees are the "actual" trees that result
-# from running the Subversion client.
-
-# Also necessary, of course, is a convenient way for a test to create an
-# "expected" tree.  The test *could* manually construct and link a bunch
-# of SVNTreeNodes, certainly.  But instead, all the tests are using the
-# build_generic_tree() routine instead.
-
-# build_generic_tree() takes a specially-formatted list of lists as
-# input, and returns a tree of SVNTreeNodes.  The list of lists has this
-# structure:
-
-#   [ ['/full/path/to/item', 'text contents', {prop-hash}, {att-hash}],
-#     [...],
-#     [...],
-#     ...   ]
-
-# You can see that each item in the list essentially defines an
-# SVNTreeNode.  build_generic_tree() instantiates a SVNTreeNode for each
-# item, and then drops it into a tree by parsing each item's full path.
-
-# So a typical test routine spends most of its time preparing lists of
-# this format and sending them to build_generic_tree(), rather than
-# building the "expected" trees directly.
-
-#   ### Note: in the future, we'd like to remove this extra layer of
-#   ### abstraction.  We'd like the SVNTreeNode class to be more
-#   ### directly programmer-friendly, providing a number of accessor
-#   ### routines, so that tests can construct trees directly.
-
-# The first three fields of each list-item are self-explanatory.  It's
-# the fourth field, the "attribute" hash, that needs some explanation.
-# The att-hash is used to place extra information about the node itself,
-# depending on the parsing context:
-
-#   - in the 'svn co/up' use-case, each line of output starts with two
-#     characters from the set of (A, D, G, U, C, _).  This status code
-#     is stored in a attribute named 'status'.
-
-#   - in the 'svn ci/im' use-case, each line of output starts with one
-#      of the words (Adding, Deleting, Sending).  This verb is stored in
-#      an attribute named 'verb'.
-
-#   - in the 'svn status' use-case (which is always run with the -v
-#     (--verbose) flag), each line of output contains a working revision
-#     number and a two-letter status code similar to the 'svn co/up'
-#     case.  The repository revision is also printed.  All of this
-#     information is stored in attributes named 'wc_rev', 'status', and
-#     'repos_rev', respectively.
-
-#   - in the working-copy use-case, the att-hash is ignored.
-
-
-# Finally, one last explanation: the file 'actions.py' contain a number
-# of helper routines named 'run_and_verify_FOO'.  These routines take
-# one or more "expected" trees as input, then run some svn subcommand,
-# then push the output through an appropriate parser to derive an
-# "actual" tree.  Then it runs compare_trees() and returns the result.
-# This is why most tests typically end with a call to
-# run_and_verify_FOO().
-
-
-
-
-# A node in a tree.
-#
-# If CHILDREN is None, then the node is a file.  Otherwise, CHILDREN
-# is a list of the nodes making up that directory's children.
-#
-# NAME is simply the name of the file or directory.  CONTENTS is a
-# string that contains the file's contents (if a file), PROPS are
-# properties attached to files or dirs, and ATTS is a dictionary of
-# other metadata attached to the node.
-
-class SVNTreeNode:
-
-  def __init__(self, name, children=None, contents=None, props={}, atts={}):
-    self.name = name
-    self.mtime = 0
-    self.children = children
-    self.contents = contents
-    self.props = props
-    self.atts = atts
-    self.path = name
-
-# TODO: Check to make sure contents and children are mutually exclusive
-
-  def add_child(self, newchild):
-    if self.children is None:  # if you're a file,
-      self.children = []     # become an empty dir.
-    child_already_exists = 0
-    for a in self.children:
-      if a.name == newchild.name:
-        child_already_exists = 1
-        break
-    if child_already_exists == 0:
-      self.children.append(newchild)
-      newchild.path = os.path.join (self.path, newchild.name)      
-
-    # If you already have the node,
-    else:      
-      if newchild.children is None:
-        # this is the 'end' of the chain, so copy any content here.
-        a.contents = newchild.contents
-        a.props = newchild.props
-        a.atts = newchild.atts
-        a.path = os.path.join (self.path, newchild.name)
-      else:
-        # try to add dangling children to your matching node
-        for i in newchild.children:
-          a.add_child(i)
-
-
-  def pprint(self):
-    print " * Node name:  ", self.name
-    print "    Path:      ", self.path
-    print "    Contents:  ", self.contents
-    print "    Properties:", self.props
-    print "    Attributes:", self.atts
-    ### FIXME: I'd like to be able to tell the difference between
-    ### self.children is None (file) and self.children == [] (empty
-    ### diretory), but it seems that most places that construct
-    ### SVNTreeNode objects don't even try to do that.  --xbc
-    if self.children is not None:
-      print "    Children:  ", len(self.children)
-    else:
-      print "    Children: is a file."
-
-# reserved name of the root of the tree
-
-root_node_name = "__SVN_ROOT_NODE"
-
-# Exception raised if you screw up in this module.
-
-class SVNTreeError(Exception): pass
-
-# Exception raised if two trees are unequal
-
-class SVNTreeUnequal(Exception): pass
-
-# Exception raised if one node is file and other is dir
-
-class SVNTypeMismatch(Exception): pass
-
-# Exception raised if get_child is passed a file.
-
-class SVNTreeIsNotDirectory(Exception): pass
-
-
-# Some attributes 'stack' on each other if the same node is added
-# twice to a tree.  Place all such special cases in here.
-def attribute_merge(orighash, newhash):
-  "Merge the attributes in NEWHASH into ORIGHASH."
-
-  if orighash.has_key('verb') and newhash.has_key('verb'):
-    # Special case: if a commit reports a node as "deleted", then
-    # "added", it's a replacment.
-    if orighash['verb'] == "Deleting":
-      if newhash['verb'] == "Adding":
-        orighash['verb'] = "Replacing"
-
-  # Add future stackable attributes here...
-
-  return orighash
-
-
-# helper func
-def add_elements_as_path(top_node, element_list):
-  """Add the elements in ELEMENT_LIST as if they were a single path
-  below TOP_NODE."""
-
-  # The idea of this function is to take a list like so:
-  # ['A', 'B', 'C'] and a top node, say 'Z', and generate a tree
-  # like this:
-  #
-  #             Z -> A -> B -> C
-  #
-  # where 1 -> 2 means 2 is a child of 1.
-  #
-
-  prev_node = top_node
-  for i in element_list:
-    new_node = SVNTreeNode(i, None)
-    prev_node.add_child(new_node)
-    prev_node = new_node
-
-
-# Sorting function -- sort 2 nodes by their names.
-def node_is_greater(a, b):
-  "Sort the names of two nodes."
-  # Interal use only
-  if a.name == b.name:
-    return 0
-  if a.name > b.name:
-    return 1
-  else:
-    return -1
-
-
-# Helper for compare_trees
-def compare_file_nodes(a, b):
-  """Compare two nodes' names, contents, and properties, ignoring
-  children.  Return 0 if the same, 1 otherwise."""
-  if a.name != b.name:
-    return 1
-  if a.contents != b.contents:
-    return 1
-  if a.props != b.props:
-    return 1
-  if a.atts != b.atts:
-    return 1
-
-
-# Internal utility used by most build_tree_from_foo() routines.
-#
-# (Take the output and .add_child() it to a root node.)
-
-def create_from_path(path, contents=None, props={}, atts={}):
-  """Create and return a linked list of treenodes, given a PATH
-  representing a single entry into that tree.  CONTENTS and PROPS are
-  optional arguments that will be deposited in the tail node."""
-
-  # get a list of all the names in the path
-  # each of these will be a child of the former
-  elements = path.split("/")
-  if len(elements) == 0:
-    raise SVNTreeError
-
-  root_node = SVNTreeNode(elements[0], None)
-
-  add_elements_as_path(root_node, elements[1:])
-
-  # deposit contents in the very last node.
-  node = root_node
-  while 1:
-    if node.children is None:
-      node.contents = contents
-      node.props = props
-      node.atts = atts
-      break
-    node = node.children[0]
-
-  return root_node
-
-
-# helper for handle_dir(), which is a helper for build_tree_from_wc()
-def get_props(path):
-  "Return a hash of props for PATH, using the svn client."
-
-  # It's not kosher to look inside SVN/ and try to read the internal
-  # property storage format.  Instead, we use 'svn proplist'.  After
-  # all, this is the only way the user can retrieve them, so we're
-  # respecting the black-box paradigm.
-
-  props = {}
-  output, errput = main.run_svn(1, "proplist", path, "--verbose")
-
-  for line in output:
-    name, value = line.split(' : ')
-    name = string.strip(name)
-    value = string.strip(value)
-    props[name] = value
-
-  return props
-
-
-# helper for handle_dir(), which helps build_tree_from_wc()
-def get_text(path):
-  "Return a string with the textual contents of a file at PATH."
-
-  # sanity check
-  if not os.path.isfile(path):
-    return None
-
-  fp = open(path, 'r')
-  contents = fp.read()
-  fp.close()
-  return contents
-
-
-# main recursive helper for build_tree_from_wc()
-def handle_dir(path, current_parent, load_props, ignore_svn):
-
-  # get a list of all the files
-  all_files = os.listdir(path)
-  files = []
-  dirs = []
-
-  # put dirs and files in their own lists, and remove SVN dirs
-  for f in all_files:
-    f = os.path.join(path, f)
-    if (os.path.isdir(f) and os.path.basename(f) != 'SVN'):
-      dirs.append(f)
-    elif os.path.isfile(f):
-      files.append(f)
-
-  # add each file as a child of CURRENT_PARENT
-  for f in files:
-    fcontents = get_text(f)
-    if load_props:
-      fprops = get_props(f)
-    else:
-      fprops = {}
-    c = SVNTreeNode(os.path.basename(f), None,
-                                         fcontents, fprops)
-    c.mtime = os.stat(f)[stat.ST_MTIME]
-    current_parent.add_child(c)
-
-  # for each subdir, create a node, walk its tree, add it as a child
-  for d in dirs:
-    if load_props:
-      dprops = get_props(d)
-    else:
-      dprops = {}
-    new_dir_node = SVNTreeNode(os.path.basename(d), [], None, dprops)
-    handle_dir(d, new_dir_node, load_props, ignore_svn)
-    new_dir_node.mtime = os.stat(f)[stat.ST_MTIME]
-    current_parent.add_child(new_dir_node)
-
-def get_child(node, name):
-  """If SVNTreeNode NODE contains a child named NAME, return child;
-  else, return None. If SVNTreeNode is not a directory, raise a
-  SVNTreeIsNotDirectory exception"""
-  if node.children == None:
-    raise SVNTreeIsNotDirectory
-  for n in node.children:
-    if (name == n.name):
-      return n
-  return None
-
-
-# Helper for compare_trees
-def default_singleton_handler(a, baton):
-  "Printing SVNTreeNode A's name, then raise SVNTreeUnequal."
-  print "Got singleton", a.name
-  a.pprint()
-  raise SVNTreeUnequal
-
-
-###########################################################################
-###########################################################################
-# EXPORTED ROUTINES ARE BELOW
-
-
-# Main tree comparison routine!
-
-def compare_trees(a, b,
-                  singleton_handler_a = None,
-                  a_baton = None,
-                  singleton_handler_b = None,
-                  b_baton = None):
-  """Compare SVNTreeNodes A and B, expressing differences using FUNC_A
-  and FUNC_B.  FUNC_A and FUNC_B are functions of two arguments (a
-  SVNTreeNode and a context baton), and may raise exception
-  SVNTreeUnequal.  Their return value is ignored.
-
-  If A and B are both files, then return 0 if their contents,
-  properties, and names are all the same; else raise a SVNTreeUnequal.
-  If A is a file and B is a directory, raise a SVNTypeMismatch; same
-  vice-versa.  If both are directories, then for each entry that
-  exists in both, call compare_trees on the two entries; otherwise, if
-  the entry exists only in A, invoke FUNC_A on it, and likewise for
-  B with FUNC_B."""
-
-  def display_nodes(a, b):
-    'Display two nodes, expected and actual.'
-    print "============================================================="
-    print "Expected", b.name, "and actual", a.name, "are different!"
-    print "============================================================="
-    print "EXPECTED NODE TO BE:"
-    print "============================================================="
-    b.pprint()
-    print "============================================================="
-    print "ACTUAL NODE FOUND:"
-    print "============================================================="
-    a.pprint()
-
-  # Setup singleton handlers
-  if (singleton_handler_a is None):
-    singleton_handler_a = default_singleton_handler
-  if (singleton_handler_b is None):
-    singleton_handler_b = default_singleton_handler
-
-  try:
-    # A and B are both files.
-    if ((a.children is None) and (b.children is None)):
-      if compare_file_nodes(a, b):
-        display_nodes(a, b)
-        raise main.SVNTreeUnequal
-    # One is a file, one is a directory.
-    elif (((a.children is None) and (b.children is not None))
-          or ((a.children is not None) and (b.children is None))):
-      display_nodes(a, b)
-      raise main.SVNTypeMismatch
-    # They're both directories.
-    else:
-      # First, compare the directories' two hashes.
-      if (a.props != b.props) or (a.atts != b.atts):
-        display_nodes(a, b)
-        raise main.SVNTreeUnequal
-
-      accounted_for = []
-      # For each child of A, check and see if it's in B.  If so, run
-      # compare_trees on the two children and add b's child to
-      # accounted_for.  If not, run FUNC_A on the child.  Next, for each
-      # child of B, check and see if it's in accounted_for.  If it is,
-      # do nothing. If not, run FUNC_B on it.
-      for a_child in a.children:
-        b_child = get_child(b, a_child.name)
-        if b_child:
-          accounted_for.append(b_child)
-          compare_trees(a_child, b_child,
-                        singleton_handler_a, a_baton,
-                        singleton_handler_b, b_baton)
-        else:
-          singleton_handler_a(a_child, a_baton)
-      for b_child in b.children:
-        if (b_child not in accounted_for):
-          singleton_handler_b(b_child, b_baton)
-      return 0
-  except SVNTypeMismatch:
-    print 'Unequal Types: one Node is a file, the other is a directory'
-    raise SVNTreeUnequal
-  except SVNTreeIsNotDirectory:
-    print "Error: Foolish call to get_child."
-    sys.exit(1)
-  except IndexError:
-    print "Error: unequal number of children"
-    raise SVNTreeUnequal
-  except SVNTreeUnequal:
-    if a.name == root_node_name:
-      return 1
-    else:
-      print "Unequal at node %s" % a.name
-      raise SVNTreeUnequal
-  return 0
-
-
-
-
-# Visually show a tree's structure
-
-def dump_tree(n,indent=""):
-  "Print out a nice representation of the tree's structure."
-
-  # Code partially stolen from Dave Beazley.
-  if n.children is None:
-    tmp_children = []
-  else:
-    tmp_children = n.children
-
-  if n.name == root_node_name:
-    print "%s%s" % (indent, "ROOT")
-  else:
-    print "%s%s" % (indent, n.name)
-
-  indent = indent.replace("-", " ")
-  indent = indent.replace("+", " ")
-  for i in range(len(tmp_children)):
-    c = tmp_children[i]
-    if i == len(tmp_children) - 1:
-      dump_tree(c,indent + "  +-- ")
-    else:
-      dump_tree(c,indent + "  |-- ")
-
-
-###################################################################
-###################################################################
-# PARSERS that return trees made of SVNTreeNodes....
-
-
-###################################################################
-# Build an "expected" static tree from a list of lists
-
-
-# Create a list of lists, of the form:
-#
-#  [ [path, contents, props, atts], ... ]
-#
-#  and run it through this parser.  PATH is a string, a path to the
-#  object.  CONTENTS is either a string or None, and PROPS and ATTS are
-#  populated dictionaries or {}.  Each CONTENTS/PROPS/ATTS will be
-#  attached to the basename-node of the associated PATH.
-
-def build_generic_tree(nodelist):
-  "Given a list of lists of a specific format, return a tree."
-
-  root = SVNTreeNode(root_node_name)
-
-  for list in nodelist:
-    new_branch = create_from_path(list[0], list[1], list[2], list[3])
-    root.add_child(new_branch)
-
-  return root
-
-
-####################################################################
-# Build trees from different kinds of subcommand output.
-
-
-# Parse co/up output into a tree.
-#
-#   Tree nodes will contain no contents, and only one 'status' att.
-
-def build_tree_from_checkout(lines):
-  "Return a tree derived by parsing the output LINES from 'co' or 'up'."
-
-  root = SVNTreeNode(root_node_name)
-  rm = re.compile ('^([MAGCUD_ ][MAGCUD_ ]) (.+)')
-  
-  for line in lines:
-    match = rm.search(line)
-    if match and match.groups():
-      new_branch = create_from_path(match.group(2), None, {},
-                                    {'status' : match.group(1)})
-      root.add_child(new_branch)
-
-  return root
-
-
-# Parse ci/im output into a tree.
-#
-#   Tree nodes will contain no contents, and only one 'verb' att.
-
-def build_tree_from_commit(lines):
-  "Return a tree derived by parsing the output LINES from 'ci' or 'im'."
-
-  # Lines typically have a verb followed by whitespace then a path.
-  root = SVNTreeNode(root_node_name)
-  rm1 = re.compile ('^(\w+)\s+(.+)')
-  rm2 = re.compile ('^Transmitting')
-  
-  for line in lines:
-    match = rm2.search(line)
-    if not match:
-      match = rm1.search(line)
-      if match and match.groups():
-        new_branch = create_from_path(match.group(2), None, {},
-                                      {'verb' : match.group(1)})
-        root.add_child(new_branch)
-
-  return root
-
-
-# Parse status output into a tree.
-#
-#   Tree nodes will contain no contents, and these atts:
-#
-#          'status', 'wc_rev', 'repos_rev'
-#             ... and possibly 'locked', 'copied', IFF columns non-empty.
-# 
-
-def build_tree_from_status(lines):
-  "Return a tree derived by parsing the output LINES from 'st'."
-
-  root = SVNTreeNode(root_node_name)
-  rm = re.compile ('^.+\:.+(\d+)')
-  lastline = string.strip(lines.pop())
-  match = rm.search(lastline)
-  if match and match.groups():
-    repos_rev = match.group(1)
-  else:
-    repos_rev = '?'
-    
-  # Try http://www.wordsmith.org/anagram/anagram.cgi?anagram=ACDRMGU
-  rm = re.compile ('^([MACDRUG_ ][MACDRUG_ ])(.)(.)   .   [^0-9-]+(\d+|-)(.{23})(.+)')
-  for line in lines:
-    match = rm.search(line)
-    if match and match.groups():
-      if match.group(5) != '-': # ignore items that only exist on repos
-        atthash = {'status' : match.group(1),
-                   'wc_rev' : match.group(4),
-                   'repos_rev' : repos_rev}
-        if match.group(2) != ' ':
-          atthash['locked'] = match.group(2)
-        if match.group(3) != ' ':
-          atthash['copied'] = match.group(3)
-        new_branch = create_from_path(match.group(6), None, {}, atthash)
-
-      root.add_child(new_branch)
-
-  return root
-
-
-####################################################################
-# Build trees by looking at the working copy
-
-
-#   The reason the 'load_props' flag is off by default is because it
-#   creates a drastic slowdown -- we spawn a new 'svn proplist'
-#   process for every file and dir in the working copy!
-
-
-def build_tree_from_wc(wc_path, load_props=0, ignore_svn=1):
-    """Takes WC_PATH as the path to a working copy.  Walks the tree below
-    that path, and creates the tree based on the actual found
-    files.  If IGNORE_SVN is true, then exclude SVN dirs from the tree.
-    If LOAD_PROPS is true, the props will be added to the tree."""
-
-    root = SVNTreeNode(root_node_name, None)
-
-    # if necessary, store the root dir's props in the root node.
-    if load_props:
-      root.props = get_props(wc_path)
-
-    # Walk the tree recursively
-    handle_dir(os.path.normpath(wc_path), root, load_props, ignore_svn)
-
-    return root
-
-### End of file.
-# local variables:
-# eval: (load-file "../../../../../tools/dev/svn-dev.el")
-# end:
diff --git a/SRC/Boost/tools/build/v2/test/symlink.py b/SRC/Boost/tools/build/v2/test/symlink.py
deleted file mode 100755
index cb13e81..0000000
--- a/SRC/Boost/tools/build/v2/test/symlink.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test the 'symlink' rule.
-
-import os
-import BoostBuild
-
-
-if os.name != 'posix':
-    print "The symlink tests can be run on posix only."
-    import sys
-    sys.exit(1)
-
-
-t = BoostBuild.Tester()
-
-t.write("jamroot.jam", "import gcc ;")
-
-t.write("jamfile.jam", """
-exe hello : hello.cpp ;
-symlink hello_release : hello/<variant>release ;
-symlink hello_debug : hello/<variant>debug ;
-symlink links/hello_release : hello/<variant>release ;
-""")
-
-t.write("hello.cpp", """
-int main() {}
-""")
-
-t.run_build_system()
-t.expect_addition([
-    'hello_debug.exe',
-    'hello_release.exe',
-    'links/hello_release.exe'])
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/tag.py b/SRC/Boost/tools/build/v2/test/tag.py
deleted file mode 100755
index ea76443..0000000
--- a/SRC/Boost/tools/build/v2/test/tag.py
+++ /dev/null
@@ -1,122 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Pedro Ferreira 2003. Permission to copy, use, modify, sell and
-# distribute this software is granted provided this copyright notice appears in
-# all copies. This software is provided "as is" without express or implied
-# warranty, and with no claim as to its suitability for any purpose.
-
-import BoostBuild
-
-
-################################################################################
-#
-# test_folder_with_dot_in_name()
-# ------------------------------
-#
-################################################################################
-
-def test_folder_with_dot_in_name(t):
-    """ Regression test: the 'tag' feature did not work in directories that had
-    a dot in their name.
-    """
-
-    t.write("version-1.32.0/jamroot.jam", """
-project test : requirements <tag>@$(__name__).tag ;
-
-rule tag ( name : type ? : property-set )
-{
-   # Do nothing, just make sure the rule is invoked OK.
-   ECHO "The tag rule has been invoked." ;
-}
-exe a : a.cpp ;
-""")
-    t.write("version-1.32.0/a.cpp", "int main() {}\n")
-
-    t.run_build_system(subdir="version-1.32.0")
-    t.expect_addition("version-1.32.0/bin/$toolset/debug/a.exe")
-    t.expect_output_line("The tag rule has been invoked.")
-
-
-################################################################################
-#
-# test_tag_property()
-# -------------------
-#
-################################################################################
-
-def test_tag_property(t):
-    """Basic tag property test.
-    """
-
-    t.write("jamroot.jam", """
-import virtual-target ;
-
-rule tag ( name : type ? : property-set )
-{
-    local tags ;
-    switch [ $(property-set).get <variant> ]
-    {
-        case debug   : tags += d ;
-        case release : tags += r ;
-    }
-    switch [ $(property-set).get <link> ]
-    {
-        case shared : tags += s ;
-        case static : tags += t ;
-    }
-    if $(tags)
-    {
-        return [ virtual-target.add-prefix-and-suffix $(name)_$(tags:J="")
-            : $(type) : $(property-set) ] ;
-    }
-}
-
-# Test both fully-qualified and local name of the rule
-exe a : a.cpp : <tag>@$(__name__).tag ;
-lib b : a.cpp : <tag>@tag ;
-stage c : a ;
-""")
-
-    t.write("a.cpp", """
-int main() {}
-#ifdef _MSC_VER
-__declspec (dllexport) void x () {}
-#endif
-""")
-
-    file_list = \
-        BoostBuild.List("bin/$toolset/debug/a_ds.exe") + \
-        BoostBuild.List("bin/$toolset/debug/b_ds.dll") + \
-        BoostBuild.List("c/a_ds.exe") + \
-        BoostBuild.List("bin/$toolset/release/a_rs.exe") + \
-        BoostBuild.List("bin/$toolset/release/b_rs.dll") + \
-        BoostBuild.List("c/a_rs.exe") + \
-        BoostBuild.List("bin/$toolset/debug/link-static/a_dt.exe") + \
-        BoostBuild.List("bin/$toolset/debug/link-static/b_dt.lib") + \
-        BoostBuild.List("c/a_dt.exe") + \
-        BoostBuild.List("bin/$toolset/release/link-static/a_rt.exe") + \
-        BoostBuild.List("bin/$toolset/release/link-static/b_rt.lib") + \
-        BoostBuild.List("c/a_rt.exe")
-
-    variants = "debug release link=static,shared"
-
-    t.run_build_system(variants)
-    t.expect_addition(file_list)
-
-    t.run_build_system(variants + " clean")
-    t.expect_removal(file_list)
-
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-t = BoostBuild.Tester()
-
-test_tag_property(t)
-test_folder_with_dot_in_name(t)
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/template.py b/SRC/Boost/tools/build/v2/test/template.py
deleted file mode 100755
index b74a581..0000000
--- a/SRC/Boost/tools/build/v2/test/template.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) FILL SOMETHING HERE 2006.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# This file is template for Boost.Build tests. It creates a simple project that
-# builds one exe from one source, and checks that the exe is really created.
-
-import BoostBuild
-
-
-# Create a temporary working directory.
-t = BoostBuild.Tester()
-
-# Create the needed files.
-t.write("jamroot.jam", """
-exe hello : hello.cpp ;
-""")
-
-t.write("hello.cpp", """
-int main() {}
-"""
-
-# Run the build.
-t.run_build_system()
-
-# First, create a list of three pathnames.
-file_list = BoostBuild.List("bin/$toolset/debug/") * \
-    BoostBuild.List("hello.exe hello.obj")
-# Second, assert that those files were added as result of the last build system
-# invocation.
-t.expect_addition(file_list)
-
-# Invoke the build system once again.
-t.run_build_system("clean")
-# Check if the files added previously were removed.
-t.expect_removal(file_list)
-
-# Remove temporary directories.
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/test-config-example.jam b/SRC/Boost/tools/build/v2/test/test-config-example.jam
deleted file mode 100755
index ee6c4ea..0000000
--- a/SRC/Boost/tools/build/v2/test/test-config-example.jam
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2004, 2005, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-# Skeleton for test configuration. If your local configuration 
-# interferes with testing, rename this files to 'test-system.jam'
-# and tweak it. When tests are run, only this file will be loaded,
-# while site-config.jam and user-config.jam will be ignored.
-
-using gcc ;
-
-using boostbook 
-     : /home/ghost/Store/docbook/xsl
-     : /home/ghost/Store/docbook/dtd
-     : /home/ghost/Work/Boost/boost-svn/tools/boostbook
-     ; 
-using doxygen ;
-using qt4 : /usr/share/qt4 ;
diff --git a/SRC/Boost/tools/build/v2/test/test.jam b/SRC/Boost/tools/build/v2/test/test.jam
deleted file mode 100755
index 4320c76..0000000
--- a/SRC/Boost/tools/build/v2/test/test.jam
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2001, 2002, 2003 Dave Abrahams 
-# Copyright 2002 Rene Rivera 
-# Copyright 2002, 2003, 2004 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import indirect ;
-import string ;
-import numbers ;
-import sequence ;
-import "class" ;
-import os ;
-import path ;
-import feature ;
-import property ;
-import build-request ;
-import container ;
-import print ;
-import common ;
-
-
-actions nothing { }
-nothing all ;
diff --git a/SRC/Boost/tools/build/v2/test/test1.py b/SRC/Boost/tools/build/v2/test/test1.py
deleted file mode 100755
index 774559a..0000000
--- a/SRC/Boost/tools/build/v2/test/test1.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("test.jam", """
-actions unbuilt { }
-unbuilt all ;
-ECHO "Hi" ;
-""")
-
-t.run_build_system("-ftest.jam", stdout="Hi\n")
-t.pass_test()
diff --git a/SRC/Boost/tools/build/v2/test/test2.py b/SRC/Boost/tools/build/v2/test/test2.py
deleted file mode 100755
index 6d22930..0000000
--- a/SRC/Boost/tools/build/v2/test/test2.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002, 2003 Dave Abrahams
-# Copyright 2002, 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.set_tree("test2")
-
-file_list = 'bin/foo/$toolset/debug/runtime-link-dynamic/' * \
-    BoostBuild.List("foo foo.o")
-
-t.run_build_system("-sBOOST_BUILD_PATH=" + t.original_workdir + "/..")
-t.expect_addition(file_list)
-
-
-t.write("foo.cpp", "int main() {}\n")
-t.run_build_system("-d2 -sBOOST_BUILD_PATH=" + t.original_workdir + "/..")
-t.expect_touch(file_list)
-
-t.pass_test()
diff --git a/SRC/Boost/tools/build/v2/test/test2/Jamrules b/SRC/Boost/tools/build/v2/test/test2/Jamrules
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/test/test2/foo.cpp b/SRC/Boost/tools/build/v2/test/test2/foo.cpp
deleted file mode 100755
index 19c90ab..0000000
--- a/SRC/Boost/tools/build/v2/test/test2/foo.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-//  Copyright (c) 2003 Vladimir Prus
-//
-//  Distributed under the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-//  http://www.boost.org
-// 
-
-int main() { return 0; }
diff --git a/SRC/Boost/tools/build/v2/test/test2/jamfile.jam b/SRC/Boost/tools/build/v2/test/test2/jamfile.jam
deleted file mode 100755
index 29cc079..0000000
--- a/SRC/Boost/tools/build/v2/test/test2/jamfile.jam
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright 2002 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-project-root ;
-
-exe foo : foo.cpp ;
diff --git a/SRC/Boost/tools/build/v2/test/test_all.py b/SRC/Boost/tools/build/v2/test/test_all.py
deleted file mode 100755
index 6392366..0000000
--- a/SRC/Boost/tools/build/v2/test/test_all.py
+++ /dev/null
@@ -1,240 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002-2005 Dave Abrahams.
-# Copyright 2002-2006 Vladimir Prus.
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#         http://www.boost.org/LICENSE_1_0.txt)
-
-import os
-import sys
-import string
-import BoostBuild
-
-xml = "--xml" in sys.argv
-toolset = BoostBuild.get_toolset()
-
-
-# Clear environment for testing.
-#
-for s in ('BOOST_ROOT', 'BOOST_BUILD_PATH', 'JAM_TOOLSET', 'BCCROOT', 'MSVCDir',
-    'MSVC', 'MSVCNT', 'MINGW', 'watcom' ):
-    try:
-        del os.environ[s]
-    except:
-        pass
-
-BoostBuild.set_defer_annotations(1)
-
-
-def run_tests(critical_tests, other_tests):
-    """Runs first critical tests and then other_tests.
-
-       Stops on first error, and write the name of failed test to
-       test_results.txt. Critical tests are run in the specified order, other
-       tests are run starting with the one that failed the last time.
-    """
-    last_failed = last_failed_test()
-    other_tests = reorder_tests(other_tests, last_failed)
-    all_tests = critical_tests + other_tests
-
-    invocation_dir = os.getcwd()
-
-    pass_count = 0
-    failures_count = 0
-
-    for i in all_tests:
-        passed = 1
-        if not xml:
-            print ("%-25s : " %(i)),
-        try:
-            __import__(i)
-        except SystemExit:
-            passed = 0;
-            if failures_count == 0:
-                f = open(os.path.join(invocation_dir, 'test_results.txt'), 'w')
-                f.write(i)
-                f.close()
-            failures_count = failures_count + 1
-            # Restore the current directory, which might be changed by the test.
-            os.chdir(invocation_dir)
-
-        if not xml:
-            if passed:
-                print "PASSED"
-            else:
-                print "FAILED"
-
-            if i == "regression":
-                BoostBuild.flush_annotations()
-            BoostBuild.clear_annotations()
-        else:
-            rs = "succeed"
-            if not passed:
-                rs = "fail"
-            print """
-<test-log library="build" test-name="%s" test-type="run" toolset="%s" test-program="%s" target-directory="%s">
-<run result="%s">""" % (i, toolset, "tools/build/v2/test/" + i + ".py",
-                        "boost/bin.v2/boost.build.tests/" + toolset + "/" + i, rs)
-
-            if not passed:
-                BoostBuild.flush_annotations(1)
-
-            print """
-</run>
-</test-log>
-"""
-        if passed:
-            pass_count = pass_count + 1
-        sys.stdout.flush()  # Makes testing under emacs more entertaining.
-
-    # Erase the file on success.
-    if failures_count == 0:
-        open('test_results.txt', 'w')
-
-    if not xml:
-        print """
-        === Test summary ===
-        PASS: %d
-        FAIL: %d
-        """ % (pass_count, failures_count)
-
-
-def last_failed_test():
-    "Returns the name of last failed test or None"
-    try:
-        f = open("test_results.txt")
-        s = string.strip(f.read())
-        return s
-    except:
-        return None
-
-
-def reorder_tests(tests, first_test):
-    try:
-        n = tests.index(first_test)
-        return [first_test] + tests[:n] + tests[n+1:]
-    except ValueError:
-        return tests
-
-
-critical_tests = ["unit_tests", "module_actions", "startup_v1", "startup_v2"]
-
-critical_tests += ["core_d12", "core_typecheck", "core_delete_module",
-                   "core_varnames", "core_import_module"]
-
-tests = [ "absolute_sources",
-          "alias",
-          "alternatives",
-          "bad_dirname",
-          "build_dir",
-          "build_file",
-          "build_no",
-          "c_file",
-          "chain",
-          "clean",
-          "composite",
-          "conditionals",
-          "conditionals2",
-          "conditionals3",
-          "conditionals_multiple",
-          "configuration",
-          "copy_time",
-          "custom_generator",
-          "default_build",
-          "default_features",
-# This test is known to be broken itself.
-#          "default_toolset",
-          "dependency_property",
-          "dependency_test",
-          "disambiguation",
-          "dll_path",
-          "double_loading",
-          "duplicate",
-          "example_libraries",
-          "example_make",
-          "expansion",
-          "explicit",
-          "file_name_handling",
-          "free_features_request",
-          "generator_selection",
-          "generators_test",
-          "implicit_dependency",
-          "indirect_conditional",
-          "inherit_toolset",
-          "inherited_dependency",
-          "inline",
-          "lib_source_property",
-          "library_chain",
-          "library_property",
-          "load_order",
-          "loop",
-          "make_rule",
-          "ndebug",
-          "no_type",
-          "notfile",
-          "ordered_include",
-          "out_of_tree",
-          "path_features",
-          "prebuilt",
-          "print",
-          "project_dependencies",
-          "project_glob",
-          "project_root_constants",
-          "project_root_rule",
-          "project_test3",
-          "project_test4",
-          "property_expansion",
-          "rebuilds",
-          "regression",
-          "relative_sources",
-          "remove_requirement",
-          "resolution",
-          "searched_lib",
-          "skipping",
-          "sort_rule",
-          "source_locations",
-          "stage",
-          "standalone",
-          "suffix",
-          "tag",
-          "test_result_dumping",
-          "testing_support",
-          "timedata",
-          "unit_test",
-          "use_requirements",
-          "using",
-          "wrapper",
-          "wrong_project",
-          "exit_status",
-          ]
-
-if os.name == 'posix':
-    tests.append("symlink")
-    # On windows, library order is not important, so skip this test. Besides, it
-    # fails ;-). Further, the test relies on the fact that on Linux, one can
-    # build a shared library with unresolved symbols. This is not true on
-    # Windows (even with cygwin gcc).
-    if string.find(os.uname()[0], "CYGWIN") == -1:
-        tests.append("library_order")
-
-if string.find(BoostBuild.get_toolset(), 'gcc') == 0:
-    tests.append("gcc_runtime")
-
-if ( string.find(BoostBuild.get_toolset(), 'gcc') == 0 )or  \
-    ( string.find(BoostBuild.get_toolset(), 'msvc') == 0 ):
-    tests.append("pch")
-
-if "--extras" in sys.argv:
-    tests.append("boostbook")
-    tests.append("qt4")
-    tests.append("example_qt4")
-    # Requires ./whatever.py to work, so is not guaranted to work everywhere.
-    tests.append("example_customization")
-    # Requires gettext tools.
-    tests.append("example_gettext")
-
-elif not xml:
-    print 'Note: skipping extra tests'
-
-run_tests(critical_tests, tests)
diff --git a/SRC/Boost/tools/build/v2/test/test_nt_line_length.jam b/SRC/Boost/tools/build/v2/test/test_nt_line_length.jam
deleted file mode 100755
index 69069d3..0000000
--- a/SRC/Boost/tools/build/v2/test/test_nt_line_length.jam
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2001 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Test that the patch which allows long command-lines in actions on NT is
-# working. For reasons of backward-compatibility, this patch requires that the
-# action fits on a single command-line, and that the JAMSHELL variable on the
-# target being built is set to "%".
-if $(NT)
-{
-    #
-    # Build a really long commandline. (> 10K characters).
-    #
-    ten = 0 1 2 3 4 5 6 7 8 9 ;
-    1x7chars = 0_____ ;
-    # add a digit and multiply by 10
-    10x8chars = $(ten)$(1x7chars) ;
-    # add a digit to each of 10 strings and multiply by 10
-    100x9chars = $(ten)$(10x8chars) ;
-    # add a digit to each of 100 strings and multiply by 10
-    1000x10chars = $(ten)$(100x9chars) ;
-
-    #
-    # Cause line_length_test to be built
-    #
-    actions do_echo
-    {
-        echo $(text)
-    }
-
-    400x10chars = $(ten[1-4])$(100x9chars) ;
-
-    text on line_length_test = $(400x10chars) 40$(10x8chars[1-9]) 01234 ;
-    text on line_length_test = $(1000x10chars) $(1000x10chars) ;
-    JAMSHELL on line_length_test = % ;
-    DEPENDS all : line_length_test ;
-
-    do_echo line_length_test ;
-}
diff --git a/SRC/Boost/tools/build/v2/test/test_result_dumping.py b/SRC/Boost/tools/build/v2/test/test_result_dumping.py
deleted file mode 100755
index facf9a1..0000000
--- a/SRC/Boost/tools/build/v2/test/test_result_dumping.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2008 Jurko Gospodnetic
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests dumping Boost Build based testing results.
-
-import BoostBuild
-
-
-################################################################################
-#
-#   Test that dumping Boost Build based testing results works in case test code
-# is not located in a folder under the Jamroot folder.
-#
-################################################################################
-
-t = BoostBuild.Tester("--dump-tests")
-
-t.write("TestBuild/jamroot.jam", """
-import testing ;
-test-suite testit : [ run ../TestSource/test.cpp ] ;
-""")
-
-t.write("TestSource/test.cpp", """
-int main() {}
-""")
-
-t.run_build_system("", subdir="TestBuild")
-t.expect_output_line('boost-test(RUN) "*/TestBuild/test" : "../TestSource/test.cpp"')
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/test_system.html b/SRC/Boost/tools/build/v2/test/test_system.html
deleted file mode 100755
index 2cef6d3..0000000
--- a/SRC/Boost/tools/build/v2/test/test_system.html
+++ /dev/null
@@ -1,618 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
-"http://www.w3.org/TR/html4/strict.dtd">
-
-<html>
-  <head>
-    <meta name="generator" content=
-    "HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org">
-    <!--tidy options: -i -wrap 78 -->
-    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-
-    <title>A testing system for Boost.Build</title>
-<style type="text/css">
-        hr { color: black }
-        p.revision { text-align: right; font-style: italic }
-        pre.code { margin-left: 2em }
-        pre.example { margin-left: 2em; border: solid black thin }
-        pre.output { margin-left: 2em }
-        img.banner { border: 0; float: left }
-        h1 { text-align: right }
-        br.clear { clear: left }
-        div.attention { color: red }
-
-</style>
-  </head>
-
-  <body>
-    <p><a href="../../../../index.htm"><img class="banner" height="86" width=
-    "277" alt="C++ Boost" src="../../../../boost.png"></a></p>
-
-    <h1>A testing system for Boost.Build<br class="clear">
-    </h1>
-    <hr>
-
-    <dl class="page-index">
-      <dt><a href="#sec-intro">Introduction for users</a></dt>
-
-      <dd>
-        <dl class="page-index">
-          <dt><a href="#sec-command-line-options">Command line options</a></dt>
-        </dl>
-      </dd>
-
-      <dt><a href="#sec-developers">Introduction for developers</a></dt>
-
-      <dd>
-        <dl class="page-index">
-          <dt><a href="#sec-intro-changing">Changing the working
-          directory</a></dt>
-
-          <dt><a href="#sec-intro-examining">Examining the working directory and
-          changing it</a></dt>
-
-          <dt><a href="#sec-intro-results">Test result</a></dt>
-        </dl>
-      </dd>
-
-      <dt><a href="#sec-reference">Reference documentation</a></dt>
-
-      <dd>
-        <dl class="page-index">
-          <dt><a href="#method-__init__">Method __init__</a></dt>
-
-          <dt><a href="#method-set_tree">Method <tt>set_tree</tt></a></dt>
-
-          <dt><a href="#method-write">Method <tt>write</tt></a></dt>
-
-          <dt><a href="#method-copy">Method <tt>copy</tt></a></dt>
-
-          <dt><a href="#method-touch">Method <tt>touch</tt></a></dt>
-
-          <dt><a href="#method-run_build_system">Method
-          <tt>run_build_system</tt></a></dt>
-
-          <dt><a href="#method-read">Method <tt>read</tt></a></dt>
-
-          <dt><a href="#method-read_and_strip">Method
-          <tt>read_and_strip</tt></a></dt>
-
-          <dt><a href="#methods-expectations">Methods for declaring
-          expectations</a></dt>
-
-          <dt><a href="#methods-ignoring">Methods for ignoring
-          changes</a></dt>
-
-          <dt><a href="#methods-result">Methods for explicitly specifying
-          results</a></dt>
-
-          <dt><a href="#class-list">Helper class <tt>List</tt></a></dt>
-        </dl>
-      </dd>
-    </dl>
-    <hr>
-
-    <h2><a name="sec-intro">Introduction for users</a></h2>
-
-    <p>The testing system for Boost.Build is a small set of Python modules and
-    scripts for automatically testing user-obversable behaviour. It uses
-    components from testing systems of <a href="http://www.scons.org">Scons</a>
-    and <a href="http://subversion.tigris.org">Subversion</a>, together with
-    some additional functionality.</p>
-
-    <p>To run the tests you need to:</p>
-
-    <ol>
-      <li>Get the source tree of Boost.Build (located at <tt>tools/build</tt>
-      in Boost)</li>
-
-      <li>Have <a href="http://www.python.org">Python</a> installed. Version
-      2.1 is known to work.</li>
-
-      <li>Build Boost.Jam. See <a href=
-      "../engine/index.html">$boost_build_root/engine/index.html</a> for
-      instructions.</li>
-
-      <li>Configure at least one toolset. You can edit <tt>site-config.jam</tt>
-      or <tt>user-config.jam</tt> to add new toolsets. Or you can create file
-      <tt>test-config.jam</tt> in <tt>$boost_build_root/test</tt> directory. In
-      this case, <tt>site-config.jam</tt> and <tt>user-config.jam</tt> will be
-      ignored for testing.</li>
-    </ol>
-
-    <p>When all is set, you can run all the tests using the <tt>test_all.py</tt>
-     script or you can run a specific test by starting its Python script
-     directly.</p>
-
-    <p>Examples:</p>
-
-<pre class="code">
-python test_all.py
-python generators_test.py
-</pre>
-
-    <p>If everything is OK, you will see a list of passed tests. Otherwise, a
-    failure will be reported.</p>
-
-    <h3><a name="sec-command-line-options">Command line options</a></h3>
-
-    <p>Test scripts will use the toolset you configured to be the default or
-    you can specify a specific one on the command line:</p>
-
-<pre class="code">
-python test_all.py borland
-python generators_test.py msvc-7.1
-</pre>
-
-    <p>Other test script flags you can specify on the command line are:</p>
-
-    <ul>
-        <li><tt>--default-bjam</tt> -- By default the test system will use the
-        Boost Jam executable found built in its default development build
-        location. This option makes it use the default one available on your
-        system, i.e. the one found in the system path.</li>
-
-        <li><tt>--preserve</tt> -- In case of a failed test its working
-        directory will be copied to the "failed_test" directory under the
-        current directory.</li>
-
-        <li><tt>--verbose</tt> -- Makes the test system and the run build system
-        display additional output. Note though that this may cause tests that
-        check the build system output to fail.</li>
-    </ul>
-
-    <h2><a name="sec-developers">Introduction for developers</a></h2>
-
-    <p>It is suggested that every new functionality come together with tests,
-    and that bugfixes are accompanied by tests. There's no need to say that
-    tests are good, but two points are extremely important:</p>
-
-    <ul>
-      <li>For an interpreted language like Jam, without any static checks,
-      testing is simply the only sefeguard we can have.</li>
-
-      <li>Good tests allow us to change internal design much more safely, and we
-      have not gotten everything nailed down yet.</li>
-    </ul>
-
-    <p>Adding a new test is simple:</p>
-
-    <ol>
-      <li>Go to <tt>$boost_build_root/test/test_all.py</tt> and add new test
-      name to the list at the end of the file. Suppose the test name is "hello".
-      </li>
-
-      <li>Add a new python module, in this example "hello.py", to do the actual
-      testing.</li>
-    </ol>
-
-    <p>The module, in general will perform these basic actions:</p>
-
-    <ol>
-      <li>Set up the initial working directory state</li>
-
-      <li>
-        Run the build system and check the results:
-
-        <ol>
-          <li>generated output,</li>
-
-          <li>changes made to the working directory,</li>
-
-          <li>new content of the working directory.</li>
-        </ol>
-      </li>
-
-      <li>Add, remove or touch files or change their content and then repeat
-      the previous step until satisfied.</li>
-
-      <li>Clean up</li>
-    </ol>
-
-    <p>The "hello.py" module might contain:</p>
-<pre class="example">
-from BoostBuild import List
-
-# Create a temporary working directory
-t = BoostBuild.Tester()
-
-# Create the needed files
-t.write("jamroot.jam", "")
-t.write("jamfile.jam", """
-exe hello : hello.cpp ;
-""")
-t.write("hello.cpp", """
-int main()
-{
-    return 0;
-}
-
-""")
-
-t.run_build_system()
-
-# First, create a list of three pathnames.
-file_list = List("bin/$toolset/debug/") * List("hello.exe hello.obj")
-# Second, assert that those files were added as result of the last build system invocation.
-t.expect_addition(file_list)
-
-# Invoke the build system once again.
-t.run_build_system("clean")
-# Check if the files added previously were removed.
-t.expect_removal(file_list)
-
-# Remove temporary directories
-t.cleanup()
-</pre>
-
-    <p>The <tt>test</tt> directory contains a file "template.py" which can be
-    used as a start for your own tests.</p>
-
-    <p>Overview of the most important methods of class <tt>Tester</tt> follows.
-    </p>
-
-    <h3><a name="sec-intro-changing">Changing the working directory</a></h3>
-
-    <p>The class <tt>Tester</tt> creates a temporary directory in its
-    constructor and changes to that directory. It can be modified by calling
-    these methods:</p>
-
-    <ul>
-      <li><tt>set_tree</tt> -- sets the content of the working directory to be
-      equal to the content of the specified directory. This method is
-      preferrable when directory tree for testing is large.</li>
-
-      <li><tt>write</tt> -- sets the content of file in a working directory.
-      This is optimal if you want to create a directory tree with 3-4 small
-      files.</li>
-
-      <li><tt>touch</tt> -- changes the modification times of a file</li>
-    </ul>
-
-    <h3><a name="sec-intro-examining">Examining the working directory and
-    changing it</a></h3>
-
-    <p>The method <tt>read</tt>, inherited from the <tt>TestCmd</tt> class, can
-    be used to read any file in the working directory and check its content.
-    <tt>Tester</tt> adds another method for tracking changes. Whenever the build
-    system is run (using <a href="#method-run_build_system"><tt>run_build_system
-    </tt></a>), the working dir state before and after running is recorded. In
-    addition, difference between the two states -- i.e. lists of files that were
-    added, removed, modified or touched -- are stored in two member variables -
-    <tt>tree_difference</tt> and <tt>unexpected_difference</tt>.</p>
-
-    <p>After than, the test author may specify that some change is expected, for
-    example, by calling <tt>expect_addition("foo")</tt>. This call will check if
-    the file was indeed added, and if so, will remove its name from the list of
-    added files in <tt>unexpected_difference</tt>. Likewise, it is possible to
-    specify that some changes are not interesting, for example a call to
-    <tt>ignore("*.obj")</tt> will just remove every file with the ".obj"
-    extension from <tt>unexpected_difference</tt>.</p>
-
-    <p>When test has finished with expectations and ignoring, the member
-    <tt>unexpected_difference</tt> will contain the list of all changes not yet
-    accounted for. It is possible to assure that this list is empty by calling
-    the <tt>expect_nothing_more</tt> member function.</p>
-
-    <h3><a name="sec-intro-results">Test result</a></h3>
-
-    <p>Any of the <tt>expect*</tt> methods below will fail the test if the
-    expectation is not met. It is also possible to perform manually arbitrary
-    test and explicitly cause the test to either pass or fail. Ordinary
-    filesystem functions can be used to work with the directory tree. Methods
-    <tt>pass_test</tt> and <tt>fail_test</tt> are used to explicitly give the
-    test outcome.</p>
-
-    <p>Typically, after test termination, the working directory is erased. See
-    the <a href="#sec-command-line-options">"--preserve" command line option</a>
-    for information on how to preserve the working directory content for failed
-    tests for debugging purposes.</p>
-
-    <h2 id="sec-reference">Reference documentation</h2>
-
-    <p>The test system is composed of class <tt>Tester</tt>, derived form
-    <tt>TestCmd.TestCmd</tt>, and helper class <tt>List</tt>. <tt>Tester</tt>
-    and <tt>List</tt> methods are described below.</p>
-
-    <p>The documentation frequently refers to <tt>filename</tt>. In all cases,
-    files are specified in unix style: a sequence of components, separated by
-    "/". This is true on all platforms. In some contexts a list of files is
-    allowed. In those cases any object with a sequence interface is allowed.</p>
-
-    <h3><a name="method-__init__">Method <tt>__init__(self, arguments="",
-    executable="bjam", match=TestCmd.match_exact, boost_build_path=None,
-    translate_suffixes=True, pass_toolset=True, use_test_config=True,
-    ignore_toolset_requirements=True, workdir="", **keywords)</tt></a></h3>
-
-    <p><b>Optional arguments:</b></p>
-
-    <ul>
-        <li><tt>arguments</tt>
-            -- Arguments passed to the run executable.</li>
-        <li><tt>executable</tt>
-            -- Name of the executable to invoke.</li>
-        <li><tt>match</tt>
-            -- Function to use for compating actual and expected file contents.
-            </li>
-        <li><tt>boost_build_path</tt>
-            -- Boost build path to be passed to the run executable.</li>
-        <li><tt>translate_suffixes</tt>
-            -- Whether to update suffixes on the the file names passed from the
-            test script so they match those actually created by the current
-            toolset. For example, static library files are specified by using
-            the .lib suffix but when the 'gcc' toolset is used it actually
-            creates them using the .a suffix.</li>
-        <li><tt>pass_toolset</tt>
-            -- Whether the test system should pass the specified toolset to the
-            run executable.</li>
-        <li><tt>use_test_config</tt>
-            -- Whether the test system should tell the run executable to read in
-            the test_config.jam configuration file.</li>
-        <li><tt>ignore_toolset_requirements</tt>
-            -- Whether the test system should tell the run executable to ignore
-            toolset requirements.</li>
-        <li><tt>workdir</tt>
-            -- Indicates an absolute directory where the test will be run from.
-            </li>
-    </ul>
-
-    <p><b>Optional arguments inherited from the base class:</b></p>
-
-    <ul>
-        <li><tt>description</tt>
-            -- Test description string displayed in case of a failed test.</li>
-        <li><tt>subdir</tt>
-            -- List of subdirectories to automatically create under the working
-              directory. Each subdirectory needs to be specified separately
-              parent coming before its child.</li>
-        <li><tt>verbose</tt>
-            -- Flag that may be used to enable more verbose test system output.
-            Note that it does not also enable more verbose build system output
-            like the <a href="#sec-command-line-options">"--verbose" command
-            line option</a> does.</li>
-    </ul>
-
-    <p><b>Effects:</b></p>
-
-    <ol>
-      <li>Remembers the current working directory in member
-      <tt>original_workdir</tt>.</li>
-
-      <li>Determines the location of the executable (<code>bjam</code> by
-      default) and build system files, assuming that the current directory is
-      <tt>tools/build/test</tt>. Formulates jam invocation command, which
-      will include explicit setting for the <tt>BOOST_BUILD_PATH</tt> variable
-      and arguments passed to this methods, if any. This command will be used
-      by subsequent invocation of <a href="#method-run_build_system"><tt>
-      run_build_system</tt></a>. Finally, initializes the base class.</li>
-
-      <li>Changes the current working directory to the temporary working
-      directory created by the base constructor.</li>
-
-      <li>If you want to run a test in an existing directory, pass it as
-      <tt>workdir</tt>.</li>
-
-      <li> Most parameters passed to this constructor function may be overruled
-      for each specific test system run using <a href=
-      "#method-run_build_system"><tt>run_build_system</tt></a> parameters.
-    </ol>
-
-    <h3><a name="method-set_tree">Method <tt>set_tree(self,
-    tree_location)</tt></a></h3>
-
-    <p><b>Effects:</b></p>
-
-    <p>Replaces the content of the current working directory with the content
-    of directory at <tt>tree_location</tt>. If <tt>tree_location</tt> is not
-    absolute pathname, it will be treated as relative to
-    <tt>self.original_workdir</tt>. This methods also explicitly makes the
-    copied files writeable.</p>
-
-    <h3><a name="method-write">Method <tt>write(self, name,
-    content)</tt></a></h3>
-
-    <p><b>Effects:</b></p>
-
-    <p>Writes the specified content to the file given by <tt>name</tt> under
-    the temporary working directory. If the file already exists, it is
-    overwritten. Any required directories are automatically created.</p>
-
-    <h3><a name="method-copy">Method <tt>copy(self, src, dst)</tt></a></h3>
-
-    <p><b>Effects:</b></p>
-
-    <p>Equvivalent to <tt>self.write(self.read(src), dst)</tt>.</p>
-
-    <h3><a name="method-touch">Method <tt>touch(self, names)</tt></a></h3>
-
-    <p><b>Effects:</b></p>
-
-    <p>Sets the access and modification times for all files in <tt>names</tt> to
-    the current time. All the elements in <tt>names</tt> should be relative
-    paths.</p>
-
-    <h3><a name="method-run_build_system">Method <tt>run_build_system(self,
-    extra_args="", subdir="", stdout=None, stderr="", status=0, match=None,
-    pass_toolset=None, use_test_config=None, ignore_toolset_requirements=None,
-    expected_duration=None, **kw)</tt></a></h3>
-
-    <p><b>Effects:</b></p>
-
-    <ol>
-      <li>Stores the state of the working directory in
-      <tt>self.previous_tree</tt>.</li>
-
-      <li>Changes to <tt>subdir</tt>, if it is specified. It is relative to
-      the <tt>original_workdir</tt> or the workdir specified in
-      <tt>__init</tt>.</li>
-
-      <li>Invokes the <tt>bjam</tt> executable, passing <tt>extra_args</tt>
-      to it. The binary should be located under
-      <tt><test_invocation_dir>/../jam/src/bin.<platform></tt>.
-      This is to make sure tests use the version of jam build from CVS.</li>
-
-      <li>Compares the stdout, stderr and exit status of build system
-      invocation with values to appropriate parameters, if they are not
-      <tt>None</tt>. If any difference is found, the test fails.</li>
-
-      <li>If the <tt>expected_duration</tt> parameter is specified then it
-      represents the maximal allowed time in seconds for the test to run. The
-      test will be marked as failed if its duration is greater than the given
-      <tt>expected_duration</tt> parameter value.</li>
-
-      <li>Stores the new state of the working directory in <tt>self.tree</tt>.
-      Computes the difference between previous and current trees and stores them
-      in variables <tt>self.tree_difference</tt> and
-      <tt>self.unexpected_difference</tt>. Both variables are instances of class
-      <tt>tree.Trees_different</tt>, which have four attributes:
-      <tt>added_files</tt>, <tt>removed_files</tt>, <tt>modified_files</tt> and
-      <tt>touched_files</tt>. Each is a list of strings.</p></li>
-    </ol>
-
-    <h3><a name="method-read">Method <tt>read(self, name)</tt></a></h3>
-
-    <p><b>Effects:</b></p>
-
-    <p>Read the specified file and returns it content. Raises an exception is
-    the file is absent.</p>
-
-    <h3><a name="method-read_and_strip">Method <tt>read_and_strip(self, name)
-    </tt></a></h3>
-
-    <p><b>Effects:</b></p>
-
-    <p>Read the specified file and returns it content, after removing trailing
-    whitespace from every line. Raises an exception is the file is absent.</p>
-
-    <p><b>Rationale:</b></p>
-
-    <p>Althought this method is questionable, there are a lot of cases when jam
-    or shells it uses insert spaces. It seems that introducing this method is
-    much simpler than dealing with all those cases.</p>
-
-    <h3><a name="methods-expectations">Methods for declaring expectations</a>
-    </h3>
-
-    <p>Accordingly to the number of changes kinds that are detected, there are
-    four methods that specify that test author expects a specific change to
-    occur. They check <tt>self.unexpected_difference</tt>, and if the change is
-    present there, it is removed. Otherwise, test fails.</p>
-
-    <p>Each method accepts a list of names. Those names use <tt>/</tt> path
-    separator on all systems. Additionaly, the test system translates suffixes
-    appropriately. For the test to be portable, suffixes should use Windows
-    convention: <tt>exe</tt> for executables, <tt>dll</tt> for dynamic libraries
-    and <tt>lib</tt> for static libraries. Lastly, the string "$toolset" in file
-    names is replaced by the name of tested toolset.</p>
-
-    <p><b>Note:</b> The <tt>List</tt> helper class might be useful to create
-    lists of names.</p>
-
-    <p><b>Note:</b> The file content can be examined using the
-    <tt>TestCmd.read</tt> function.</p>
-
-    <p>The members are:</p>
-
-    <ul>
-      <li>expect_addition</li>
-      <li>expect_removal</li>
-      <li>expect_modification</li>
-      <li>expect_nothing</li>
-    </ul>
-
-    <p>Note that <tt>expect_modification</tt> is used to check that a either
-    file content or timestamp has changed. The rationale is that some compilers
-    change content even if sources does not change, and it's easier to have a
-    method which checks for both content and time changes.</p>
-
-    <p>There's also a member <tt>expect_nothing_more</tt>, which checks that all
-    the changes are either expected or ignored, in other words that
-    <tt>unexpected_difference</tt> is empty by now.</p>
-
-    <p>Lastly, there's a method to compare file content with expected content:
-    </p>
-    <tt>expect_content(self, name, content, exact=0)</tt>
-
-    <p>The method fails the test if the content of file identified by 'name' is
-    different from 'content'. If 'exact' is true, the file content is used
-    as-is, otherwise, two transformations are applied:</p>
-
-    <ul>
-      <li>The <tt>read_and_strip</tt> method is used to read the file, which
-      removes trailing whitespace</li>
-
-      <li>Each backslash in the file content is converted to forward slash.</li>
-    </ul>
-
-    <h3><a name="methods-ignoring">Methods for ignoring changes</a></h3>
-
-    <p>There are five methods which ignore changes made to the working tree.
-    They silently remove elements from <tt>self.unexpected_difference</tt>, and
-    don't generate error if element is not found. They accept shell style
-    wildcard.</p>
-
-    <p>The following methods correspond to four kinds of changes:</p>
-
-    <ul>
-      <li>ignore_addition(self, wildcard)</li>
-      <li>ignore_removal(self, wildcard)</li>
-      <li>ignore_modification(self, wildcard)</li>
-      <li>ignore_touch(self, wilcard)</li>
-    </ul>
-
-    <p>The method <tt>ignore(self, wildcard)</tt> ignores all the changes made
-    to files that match a wildcard.</p>
-
-    <h3><a name="methods-result">Methods for explicitly specifying results</a>
-    </h3>
-
-    <h4>Method <tt>pass_test(self, condition=1)</tt></h4>
-
-    <div class="attention">
-      At this moment, the method should not be used.
-    </div>
-
-    <h4>Method <tt>fail_test(self, condition=1)</tt></h4>
-
-    <p><b>Effects:</b> Cause the test to fail if <tt>condition</tt> is true.</p>
-
-    <h3><a name="class-list">Helper class <tt>List</tt></a></h3>
-    The class has sequence interface and two additional methods.
-
-    <h4>Method <tt>__init__(self, string)</tt></h4>
-
-    <p><b>Effects:</b> Splits the string on unescaped spaces and tabs. The split
-    components can further be retrieved using standard sequence access.</p>
-
-    <h4>Method <tt>__mul__(self, other)</tt></h4>
-
-    <p><b>Effects:</b> Returns an <tt>List</tt> instance, which elements are all
-    possible concatenations of two string, first of which is from <tt>self</tt>,
-    and second of which is from <tt>other</tt>.</p>
-
-    <p>The class also defines <tt>__str__</tt> and <tt>__repr__</tt> methods.
-    Finally, there's <tt>__coerce__</tt> method which allows to convert strings
-    to instances of <tt>List</tt>.</p>
-
-    <p><b>Example:</b></p>
-<pre>
-    l = "a b" * List("c d")
-    for e in l:
-        print e
-</pre>
-
-    <p>will output:</p>
-<pre>
-    ac
-    ad
-    bc
-    bd
-
-</pre>
-    <hr>
-    <p class="revision">Last modified: May 02, 2008</p>
-    <p>© Copyright Vladimir Prus 2002, 2003, 2004, 2005.<br>
-    © Copyright Jurko Gospodnetic 2008.<br>
-    Distributed under the Boost Software License, Version 1.0.
-    (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)</p>
-  </body>
-</html>
diff --git a/SRC/Boost/tools/build/v2/test/testing-primitives/boost-build.jam b/SRC/Boost/tools/build/v2/test/testing-primitives/boost-build.jam
deleted file mode 100755
index 3cff165..0000000
--- a/SRC/Boost/tools/build/v2/test/testing-primitives/boost-build.jam
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-boost-build . ;
diff --git a/SRC/Boost/tools/build/v2/test/testing-primitives/bootstrap.jam b/SRC/Boost/tools/build/v2/test/testing-primitives/bootstrap.jam
deleted file mode 100755
index 979282a..0000000
--- a/SRC/Boost/tools/build/v2/test/testing-primitives/bootstrap.jam
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Proof-of-concept for bjam-based testing mechanism. This file should
-# work on NT, Cygwin, and Linux. No promises for other platforms.
-
-# Set a variable which says how to dump a file to stdout
-if $(NT)
-{ 
-    CATENATE = type ;
-}
-else
-{
-    CATENATE = cat ;
-}
-
-# invoke the given action rule `act' to build target from sources
-rule do-make ( target : sources * : act )
-{
-    DEPENDS $(target) : $(sources) ;
-    $(act) $(target) : $(sources) ;
-}
-
-# top-level version of do-make which causes target to be built by
-# default
-rule make ( target : sources * : act )
-{
-    DEPENDS all : $(target) ;
-    do-make $(target) : $(sources) : $(act) ;
-}
-
-# cause `target' to exist and building to succeed if invoking
-#
-#    $(act) $(target) : $(sources)
-#
-# fails, and to fail if the action succeeds.
-rule make-fail ( target : sources * : act )
-{
-    # Establish another logical target which refers to the same file,
-    # by using different grist.
-    DEPENDS all : <different-grist>$(target) ;
-    
-    # Make the new logical target depend on the target
-    DEPENDS <different-grist>$(target) : $(target) ;
-    
-    # Cause the target to be built from sources using $(act).
-    do-make $(target) : $(sources) : $(act) ;
-    
-    # Note that we expect target to fail to build
-    FAIL_EXPECTED $(target) ;
-    
-    # Build a failure marker file. Because targets are only built if
-    # all their dependents "succeed", the marker will only be
-    # generated if $(target) failed to build, as expected.
-    failure-marker <different-grist>$(target) ;
-}
-
-# Simple action rules which write text into the target. Different
-# names for different purposes.
-actions failure-marker
-{
-    echo failed as expected > $(<)
-}
-
-actions create
-{
-    echo creating > $(<)
-}
-
-# An action which will always fail, for testing expected failure rules
-actions fail-to-create
-{
-    exit 1
-}
-
-# Basic rule-action pair which builds the target by executing the
-# given commands
-rule do-run ( target : commands + )
-{
-    COMMANDS on $(target) = $(commands) ;
-    NOTFILE $(commands) ;
-}
-
-# Run commands, leaving the output behind in $(<:S=.out). Echo to
-# stdout if the command fails.
-#
-#  Detailed explanation:
-#
-#  $(COMMANDS)                          Run commands
-#       > $(<:S=.out)                   into the output file
-#       2>&1                            including stderr
-#     &&                                and if that succeeds
-#       cp -f $(<:S=.out) $(<)          copy the output file into the target
-#  ||                                   otherwise
-#     ( $(CATENATE) $(<:S=.out)         dump any output to stdout
-#       && exit 1                       and exit with an error code
-#     )
-actions do-run
-{
-    $(COMMANDS) > $(<:S=.out) 2>&1 && cp -f $(<:S=.out) $(<) || ( $(CATENATE) $(<:S=.out) && exit 1 )
-}
-
-# top-level version of do-run which causes target to be built by
-# default
-rule run ( target : commands + )
-{
-    DEPENDS all : $(target) ;
-    do-run $(target) : $(commands) ;
-}
-
-# experimental expected-failure version of run. This doesn't have
-# quite the right semantics w.r.t. output dumping (it is still only
-# dumped if the run fails), but we don't need run-fail anyway so it
-# doesn't matter too much.
-rule run-fail ( target : commands + )
-{
-    make-fail $(target) : $(commands) : do-run ;
-}
-
-# A command which will always fail to run.  There is no file called
-# nonexistent, so executing $(error) always causes an error. We can't
-# just use `exit 1' below because that will cause all command
-# processing to stop, and we want the rest of the do-run action
-# command-line to execute.
-error = $(CATENATE)" nonexistent" ;
-
-make-fail t1.txt : : create ;
-make-fail t2.txt : : fail-to-create ;
-make t3.txt : : create ;
-make t4.txt : : fail-to-create ;
-
-run t5.txt : "( echo failing t5 && $(error) )" ;
-run t6.txt : echo hi ;
-
-run-fail t7.txt : "( echo failing t7 && $(error) )" ;
-run-fail t8.txt : echo hi ;
diff --git a/SRC/Boost/tools/build/v2/test/testing_primitives.py b/SRC/Boost/tools/build/v2/test/testing_primitives.py
deleted file mode 100755
index 36cf5ad..0000000
--- a/SRC/Boost/tools/build/v2/test/testing_primitives.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import BoostBuild
-import re
-
-def match_re(actual, expected):
-    return re.match(expected, actual, re.DOTALL) != None
-
-t = BoostBuild.Tester(match=match_re)
-
-t.set_tree('testing-primitives')
-
-# We expect t5 and t7's output to be dumped to stdout.
-t.run_build_system(stdout=r'''.*failing t5.*failing t7''')
-
-t.expect_addition('t2.txt')
-t.expect_addition('t3.txt')
-t.expect_addition('t5.out')
-t.expect_addition('t6.out')
-t.expect_addition('t6.txt')
-t.expect_addition('t7.out')
-t.expect_addition('t7.txt')
-t.expect_addition('t8.out')
-t.expect_nothing_more()
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/testing_support.py b/SRC/Boost/tools/build/v2/test/testing_support.py
deleted file mode 100755
index 2b742d5..0000000
--- a/SRC/Boost/tools/build/v2/test/testing_support.py
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2008 Jurko Gospodnetic
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests different aspects of Boost Builds automated testing support.
-
-import BoostBuild
-
-
-################################################################################
-#
-# test_files_with_spaces_in_their_name()
-# --------------------------------------
-#
-################################################################################
-
-def test_files_with_spaces_in_their_name():
-    """Regression test making sure test result files get created correctly when
-    testing files with spaces in their name.
-    """
-
-    t = BoostBuild.Tester()
-
-    t.write("valid source.cpp", "int main() {}\n");
-
-    t.write("invalid source.cpp", "this is not valid source code");
-    
-    t.write("jamroot.jam", """
-import testing ;
-testing.compile "valid source.cpp" ;
-testing.compile-fail "invalid source.cpp" ;
-""")
-
-    t.run_build_system(status=0)
-    t.expect_addition("bin/invalid source.test/$toolset/debug/invalid source.obj")
-    t.expect_addition("bin/invalid source.test/$toolset/debug/invalid source.test")
-    t.expect_addition("bin/valid source.test/$toolset/debug/valid source.obj")
-    t.expect_addition("bin/valid source.test/$toolset/debug/valid source.test")
-
-    t.expect_content("bin/valid source.test/$toolset/debug/valid source.test", \
-        "passed" )
-    t.expect_content( \
-        "bin/invalid source.test/$toolset/debug/invalid source.test", \
-        "passed" )
-    t.expect_content( \
-        "bin/invalid source.test/$toolset/debug/invalid source.obj", \
-        "failed as expected" )
-
-    t.cleanup()
-
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-test_files_with_spaces_in_their_name()
diff --git a/SRC/Boost/tools/build/v2/test/timedata.py b/SRC/Boost/tools/build/v2/test/timedata.py
deleted file mode 100755
index 7d5d64a..0000000
--- a/SRC/Boost/tools/build/v2/test/timedata.py
+++ /dev/null
@@ -1,155 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2005 David Abrahams
-# Copyright 2008 Jurko Gospodnetic
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Tests the build step timing facilities.
-
-
-import BoostBuild
-import re
-
-
-################################################################################
-#
-# basic_jam_action_test()
-# -----------------------
-#
-################################################################################
-
-def basic_jam_action_test():
-    """Tests basic Jam action timing support."""
-
-    t = BoostBuild.Tester(pass_toolset=0)
-
-    t.write("file.jam", """
-rule time
-{
-    DEPENDS $(<) : $(>) ;
-    __TIMING_RULE__ on $(>) = record_time $(<) ;
-    DEPENDS all : $(<) ;
-}
-
-actions time
-{
-    echo $(>) user: $(__USER_TIME__) system: $(__SYSTEM_TIME__)
-    echo timed from $(>) >> $(<)
-}
-
-rule record_time ( target : source : start end user system )
-{
-    __USER_TIME__ on $(target) = $(user) ;
-    __SYSTEM_TIME__ on $(target) = $(system) ;
-}
-
-rule make
-{
-    DEPENDS $(<) : $(>) ;
-}
-
-actions make
-{
-    echo made from $(>) >> $(<)
-}
-
-time foo : bar ;
-make bar : baz ;
-""")
-
-    t.write("baz", "nothing\n")
-
-    expected_output = """\.\.\.found 4 targets\.\.\.
-\.\.\.updating 2 targets\.\.\.
-make bar
-time foo
-bar +user: [0-9\.]+ +system: +[0-9\.]+ *
-\.\.\.updated 2 targets\.\.\.$
-"""
-
-    t.run_build_system("-ffile.jam -d+1", stdout=expected_output, match=lambda
-        actual, expected: re.search(expected, actual, re.DOTALL))
-    t.expect_addition("foo")
-    t.expect_addition("bar")
-    t.expect_nothing_more()
-
-    t.cleanup()
-
-
-################################################################################
-#
-# boost_build_testing_support_timing_rule():
-# ------------------------------------------
-#
-################################################################################
-
-def boost_build_testing_support_timing_rule():
-    """Tests the target build timing rule provided by the Boost Build testing
-    support system.
-    """
-
-    t = BoostBuild.Tester()
-
-    t.write("aaa.cpp", "int main() {}\n")
-
-    t.write("jamroot.jam", """
-import testing ;
-exe my-exe : aaa.cpp ;
-time my-time : my-exe ;
-""")
-
-    t.run_build_system()
-    t.expect_addition("bin/$toolset/debug/aaa.obj")
-    t.expect_addition("bin/$toolset/debug/my-exe.exe")
-    t.expect_addition("bin/$toolset/debug/my-time.time")
-
-    t.expect_content_line("bin/$toolset/debug/my-time.time", "user: *")
-    t.expect_content_line("bin/$toolset/debug/my-time.time", "system: *")
-
-    t.cleanup()
-
-
-################################################################################
-#
-# boost_build_testing_support_timing_rule_with_spaces_in_names()
-# --------------------------------------------------------------
-#
-################################################################################
-
-def boost_build_testing_support_timing_rule_with_spaces_in_names():
-    """Tests the target build timing rule provided by the Boost Build testing
-    support system when used with targets contining spaces in their names.
-    """
-
-    t = BoostBuild.Tester()
-
-    t.write("aaa bbb.cpp", "int main() {}\n")
-
-    t.write("jamroot.jam", """
-import testing ;
-exe "my exe" : "aaa bbb.cpp" ;
-time "my time" : "my exe" ;
-""")
-
-    t.run_build_system()
-    t.expect_addition("bin/$toolset/debug/aaa bbb.obj")
-    t.expect_addition("bin/$toolset/debug/my exe.exe")
-    t.expect_addition("bin/$toolset/debug/my time.time")
-
-    t.expect_content_line("bin/$toolset/debug/my time.time", "user: *")
-    t.expect_content_line("bin/$toolset/debug/my time.time", "system: *")
-
-    t.cleanup()
-
-
-################################################################################
-#
-# main()
-# ------
-#
-################################################################################
-
-basic_jam_action_test()
-boost_build_testing_support_timing_rule()
-boost_build_testing_support_timing_rule_with_spaces_in_names()
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/test/tree.py b/SRC/Boost/tools/build/v2/test/tree.py
deleted file mode 100755
index efa86e0..0000000
--- a/SRC/Boost/tools/build/v2/test/tree.py
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 2003 Dave Abrahams
-# Copyright 2001, 2002 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This file is based in part on the content of svn_tree.py.
-
-import svn_tree;
-
-class Trees_difference:
-
-    def __init__(self):
-        self.added_files = []
-        self.removed_files = []
-        self.modified_files = []
-        self.touched_files = []
-
-    def append(self, other):
-        self.added_files.extend(other.added_files)
-        self.removed_files.extend(other.removed_files)
-        self.modified_files.extend(other.modified_files)
-        self.touched_files.extend(other.touched_files)
-
-    def ignore_directories(self):
-        "Removes directories for list of found differences"
-
-        def not_dir(x):
-            return x[-1] != "/"
-        self.added_files = filter(not_dir, self.added_files)
-        self.removed_files = filter(not_dir, self.removed_files)
-        self.modified_files = filter(not_dir, self.modified_files)
-        self.touched_files = filter(not_dir, self.touched_files)
-
-    def pprint(self, f=None):
-        print >> f, "Added files   :", self.added_files
-        print >> f, "Removed files :", self.removed_files
-        print >> f, "Modified files:", self.modified_files
-        print >> f, "Touched files :", self.touched_files
-
-    def empty(self):
-        return ( len(self.added_files) == 0 ) and \
-            ( len(self.removed_files) == 0 ) and \
-            ( len(self.modified_files) == 0 ) and \
-            ( len(self.touched_files) == 0 )
-
-def build_tree(dir):
-    return svn_tree.build_tree_from_wc(dir, load_props=0, ignore_svn=1)
-
-def trees_difference(a, b, current_name=""):
-    """Compare SVNTreeNodes A and B, and create Trees_difference class."""
-
-    assert a.name == b.name
-
-    result = Trees_difference()
-    try:
-        # A and B are both files.
-        if ((a.children is None) and (b.children is None)):
-            assert a.name == b.name
-            if svn_tree.compare_file_nodes(a, b):
-                result.modified_files.append(current_name)
-            elif (a.mtime != b.mtime):
-                result.touched_files.append(current_name)
-
-        # One is a file, one is a directory.
-        # this case is disabled because svn_tree doesn't distinguish
-        # empty directories from files, at least on Cygwin.
-        elif 0 and (((a.children is None) and (b.children is not None))
-            or ((a.children is not None) and (b.children is None))):
-            a.pprint()
-            b.pprint()
-            raise svn_tree.SVNTypeMismatch
-        # They're both directories.
-        else:
-            # accounted_for holds childrens present in both trees
-            accounted_for = []
-            for a_child in (a.children or []):
-                b_child = svn_tree.get_child(b, a_child.name)
-                if b_child:
-                    accounted_for.append(b_child)
-                    if current_name:
-                        result.append(trees_difference(a_child, b_child, current_name + "/" + a_child.name))
-                    else:
-                        result.append(trees_difference(a_child, b_child, a_child.name))
-                else:
-                    if current_name:
-                        result.removed_files.append(current_name + "/" + a_child.name)
-                    else:
-                        result.removed_files.append(a_child.name)
-            for b_child in (b.children or []):
-                if (b_child not in accounted_for):
-                    result.added_files.extend(traverse_tree(b_child, current_name))
-
-    except svn_tree.SVNTypeMismatch:
-        print 'Unequal Types: one Node is a file, the other is a directory'
-        raise svn_tree.SVNTreeUnequal
-    except svn_tree.SVNTreeIsNotDirectory:
-        print "Error: Foolish call to get_child."
-        sys.exit(1)
-    except IndexError:
-        print "Error: unequal number of children"
-        raise svn_tree.SVNTreeUnequal
-    return result
-
-def dump_tree(t):
-    svn_tree.dump_tree(t)
-
-def traverse_tree(t, parent_name=""):
-    """ Returns the list of all names in tree. """
-    if parent_name:
-        full_node_name = parent_name + "/" + t.name
-    else:
-        full_node_name = t.name
-
-    if (t.children is None):
-        result = [full_node_name]
-    else:
-        result = [full_node_name + "/"]
-        for i in t.children:
-            result.extend(traverse_tree(i, full_node_name))
-    return result
diff --git a/SRC/Boost/tools/build/v2/test/unit-tests.jam b/SRC/Boost/tools/build/v2/test/unit-tests.jam
deleted file mode 100755
index 3e10aac..0000000
--- a/SRC/Boost/tools/build/v2/test/unit-tests.jam
+++ /dev/null
@@ -1,262 +0,0 @@
-# Copyright 2001 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# assert_equal a : b
-#
-# exits with an assertion failure if a != b
-rule assert_equal
-{
-    if $(<) != $(>)
-    {
-        EXIT "assertion failure: [" $(<) "] != [" $(>) "]" ;
-    }
-}
-
-rule assert_equal_sets
-{
-    if ! [ equal-sets $(<) : $(>) ]
-    {
-        EXIT "assertion failure: [" $(<) "] !=(set) [" $(>) "]" ;
-    }
-}
-
-# FAppendSuffix
-assert_equal [ FAppendSuffix yacc lex foo.bat : ] : yacc lex foo.bat ;
-assert_equal [ FAppendSuffix yacc lex foo.bat : .exe ] : yacc.exe lex.exe foo.bat ;
-assert_equal [ FAppendSuffix yacc lex foo.bat : .dll .lib ] : yacc.dll yacc.lib lex.dll lex.lib foo.bat foo.lib ;
-
-# sort
-assert_equal [ sort 7 3 5 6 2 4 ] : 2 3 4 5 6 7 ;
-
-# min
-assert_equal [ min 7 3 5 6 2 4 ] : 2 ;
-
-# difference
-assert_equal [ difference 0 1 2 3 4 5 6 7 8 9 : 2 3 5 7 ] : 0 1 4 6 8 9 ;
-
-# replace
-assert_equal [ replace 1 3 5 7 7 9 2 5 4 3 1 : 7 x ] : 1 3 5 x x 9 2 5 4 3 1 ;
-
-# select-ungristed
-assert_equal [ select-ungristed <a>b c <d>e f ] : c f ;
-
-# split-qualified-property
-assert_equal [ split-qualified-property <feature>value ]
-    : <*> <*> <feature>value ;
-    
-assert_equal [ split-qualified-property <variant><feature>value ]
-    : <*> <variant> <feature>value ;
-    
-assert_equal [ split-qualified-property <toolset><variant><feature>value ]
-    : <toolset> <variant> <feature>value ;
-
-# unique
-assert_equal [ unique 0 1 2 3 1 7 6 6 4 5 ] : 0 1 2 3 7 6 4 5 ;
-
-# get-properties
-assert_equal [ get-properties <foo> <bar> : <foo>bar <foo>baz <bar>fight <baz>niss ]
-    : <foo>bar <foo>baz <bar>fight ;
-
-# get-values
-assert_equal [ get-values <foo> : <foo>bar <foo>baz <bar>fight <baz>niss ] : bar baz ;
-
-# normalize-properties
-assert_equal [ normalize-properties <a>b <c><d>e <f><g><h>i ] :
-     <*><*><a>b <*><c><d>e <f><g><h>i ;
-
-# intersection
-assert_equal [ intersection 1 2 2 3 3 4 5 6 7 : 5 1 3 7 3 9 11 ] : 1 3 3 5 7 ;
-
-# is-subset
-assert_equal [ is-subset a b c : c a b d ] : true ;
-assert_equal [ is-subset a b z : c a b d ] : ;
-
-# split-path
-assert_equal [ split-path <a>b/c/<d>e ] : <a>b c <d>e ;
-assert_equal [ split-path <a>/<d>/<e> ] : <a> <d> <e> ;
-assert_equal [ split-path <a> ] : <a> ;
-assert_equal [ split-path x ] : x ;
-assert_equal [ split-path $(DOT) ] : $(DOT) ;
-assert_equal [ split-path a/b.c/d.e/f ] : a b.c d.e f ;
-if $(NT)
-{
-    assert_equal [ split-path x:\\y\\z\\w ] : x: y z w ;
-    assert_equal [ split-path x:\\y\\z ] : x: y z ;
-    assert_equal [ split-path x:\\y ] : x: y ;
-    assert_equal [ split-path x:\\ ] : x: ;
-    assert_equal [ split-path x: ] : x: ;
-}
-
-# distribute-feature
-assert_equal [ distribute-feature <feature>value1 ] : <feature>value1 ;
-assert_equal [ distribute-feature <feature>value1/value2 ] : <feature>value1 <feature>value2 ;
-assert_equal [ distribute-feature <feature>value1/value2/value3 ] : <feature>value1 <feature>value2 <feature>value3 ;
-
-# segregate-free-properties
-{
-    local gFREE_FEATURES = <a> <c> <e> ;
-    local x = <a>b <b>c <d>e ;
-    local y = <a>b <a>c <b>c <e>f ;
-    local free = [ segregate-free-properties x y ] ;
-    assert_equal $(free) : <a>b <a>c <e>f ;
-    assert_equal $(x) : <b>c <d>e ;
-    assert_equal $(y) : <b>c ;
-}
-
-# set-insert
-{
-    local gTEST_SET = 1 2 3 ;
-    set-insert gTEST_SET : 2 ;
-    assert_equal $(gTEST_SET) : 1 2 3 ;
-    set-insert gTEST_SET : 0 ;
-    assert_equal $(gTEST_SET) : 1 2 3 0 ;
-}
-
-# equal-sets
-assert_equal [ equal-sets 1 2 3 : 3 2 2 1 ] : true ;
-assert_equal [ equal-sets 1 2 3 3 : 3 2 2 1 ] : true ;
-assert_equal [ equal-sets 1 2 3 3 4 : 3 2 2 1 ] : ;
-
-# segregate-overrides
-{
-    local base = <a>b <c>d <e>f ;
-    local overrides = <a>b <c>c <d>e <f>g ;
-    segregate-overrides overrides : base ;
-    assert_equal $(overrides) : <c>c <d>e <f>g ;
-    assert_equal $(base) : <a>b <e>f ;
-}
-
-# select-properties
-{
-    local TOOLS = gcc msvc ;
-    
-    local gRELEVANT_FEATURES(msvc)  = <debug-symbols> <optimization> <inlining> <inline> <runtime-build> <runtime-link> <threading> <define> <undef> <include> <target-type> ;
-    local gRELEVANT_FEATURES(gcc)  = <runtime-link> <debug-symbols> <optimization> <inlining> <profiling> <define> <undef> <include> <shared-linkable> <target-type> ;
-    local gFREE_FEATURES =  <define> <undef> <include> ;
-    
-    local gBASE_PROPERTIES(msvc,debug)  = <debug-symbols>on <inlining>off <optimization>off <runtime-build>debug <threading>single ;
-    local gBASE_PROPERTIES(gcc,debug)  = <debug-symbols>on <inlining>off <optimization>off <profiling>off <shared-linkable>false ;
-    local gBASE_PROPERTIES(msvc,release)  = <debug-symbols>off <define>NDEBUG <inlining>full <optimization>speed <runtime-build>release <threading>single ;
-    local gBASE_PROPERTIES(gcc,release)  = <debug-symbols>off <define>NDEBUG <inlining>full <optimization>speed <profiling>off <shared-linkable>false ;
-    
-    local TEST_PROPERTIES = <inlining>off <define>FOO <*><release><inlining>on
-                  <debug><define>DEBUG <msvc><release><foo>bar
-                  <gcc><*><inlining>on
-                  <msvc><*><foo>baz
-                  <msvc><release><optimization>speed
-                  <msvc><*><optimization>off
-                  <*><debug><optimization>off
-                  ;
-                  
-    assert_equal_sets [ select-properties gcc debug my-target : $(TEST_PROPERTIES) ]
-        : <define>FOO <define>DEBUG <inlining>on <optimization>off ;
-
-    assert_equal_sets [ select-properties gcc release my-target : $(TEST_PROPERTIES) ]
-        : <define>FOO <inlining>on ;
-
-    assert_equal_sets [ select-properties msvc debug my-target : $(TEST_PROPERTIES) ]
-        : <define>FOO <define>DEBUG <inlining>off <optimization>off ;
-
-    assert_equal_sets [ select-properties msvc release my-target : $(TEST_PROPERTIES) ]
-        : <define>FOO <inlining>on <optimization>speed ;
-}
-
-
-# ungrist-properties
-feature TEST_FEATURE1 : a b ;
-feature TEST_FEATURE2 : c d ;
-assert_equal [ ungrist-properties <TEST_FEATURE1>a <TEST_FEATURE2>c ]
-    : TEST_FEATURE1-a TEST_FEATURE2-c ;
-
-
-# fixup-path-properties
-{
-    local RELATIVE_SUBDIR = foobar ;
-    local gPATH_FEATURES = <include> ;
-    assert_equal [ fixup-path-properties <a>b <include>.. <c>d ]
-                : <include>foobar$(SLASH).. <a>b <c>d ;
-}
-# multiply-property-sets
-assert_equal [ multiply-property-sets <b>1 <a>2/3 <c>4/5 ]
-    : <a>2/<b>1/<c>4 <a>2/<b>1/<c>5 <a>3/<b>1/<c>4 <a>3/<b>1/<c>5 ;
-
-# make-path-property-sets
-{
-    local gUNGRISTED(<a>) = a ;
-    local gUNGRISTED(<c>) = c ;
-    local gUNGRISTED(<e>) = e ;
-    local gUNGRISTED(<g>) = g ;
-    local gUNGRISTED(<i>) = i ;
-    assert_equal [ make-path-property-sets foo$(SLASH)bar : <a>b <c>d : <e>f$(SLASH)<g>h <i>j ]
-    : foo$(SLASH)bar$(SLASH)e-f$(SLASH)g-h$(SLASH)<a>b$(SLASH)<c>d$(SLASH)<e>f$(SLASH)<g>h foo$(SLASH)bar$(SLASH)i-j$(SLASH)<a>b$(SLASH)<c>d$(SLASH)<i>j ;
-    assert_equal [ make-path-property-sets foo$(SLASH)bar : <a>b <c>d : ]
-    : foo$(SLASH)bar$(SLASH)<a>b$(SLASH)<c>d ;
-}
-
-
-# split-path-at-grist
-assert_equal
- [ split-path-at-grist <a>b$(SLASH)c$(SLASH)<d>e$(SLASH)<f>g$(SLASH)h$(SLASH)i ]
- : <a>b$(SLASH)c <d>e <f>g$(SLASH)h$(SLASH)i ;
-assert_equal
- [ split-path-at-grist b$(SLASH)c$(SLASH)<d>e$(SLASH)<f>g$(SLASH)h$(SLASH)i ]
- : b$(SLASH)c <d>e <f>g$(SLASH)h$(SLASH)i ;
-if $(NT)
-{
-    assert_equal
-        [ split-path-at-grist b\\c\\<include>e:\\f\\g\\<h>i ]
-        : b\\c <include>e:\\f\\g <h>i ;
-}
-# directory-of
-assert_equal [ directory-of a$(SLASH)b c d$(SLASH)e$(SLASH)f ] : a . d$(SLASH)e ;
-
-# top-relative-tokens
-{
-    local SUBDIR_TOKENS = a b c ;
-    assert_equal [ top-relative-tokens ..$(SLASH)d$(SLASH)e ] : a b d e ;
-}
-
-# flags
-{
-    local gBUILD_PROPERTIES = <a>b <c>d <e>f ;
-    local FLAGS1 FLAGS2 FLAGS3 ;
-    flags toolset FLAGS1 <a>b/<c>d <a>b/<e>f <x>y <a>/<c> <e> : foobar ;
-    assert_equal $(FLAGS1) : foobar b d f ;
-    flags toolset FLAGS2 <a> : foobar ;
-    assert_equal $(FLAGS2) : b ;
-    flags toolset FLAGS1 <a>b/<c>d <a>b/<e>f : foobar ;
-    assert_equal $(FLAGS1) : foobar b d f foobar ;
-}
-
-# get-BUILD
-{
-    local DEFAULT_BUILD = a ;
-    local BUILD = b ;
-    assert_equal [ get-BUILD c <d>e ] : b ;
-    BUILD = ;
-    assert_equal [ get-BUILD c <d>e ] : c <d>e ;
-    assert_equal [ get-BUILD ] : a ;
-    assert_equal [ get-BUILD <d>e ] : <d>e a ;
-    BUILD = <f>g ;
-    assert_equal [ get-BUILD c <d>e ] : <f>g a ;
-}
-
-# strip-initial
-assert_equal [ strip-initial a b c : a b c d e f g ] : d e f g ;
-assert_equal [ strip-initial a b c : a b d e f g ] : a b d e f g ;
-assert_equal [ strip-initial a b c : b d e f g ] : b d e f g ;
-assert_equal [ strip-initial a b c : ] :  ;
-
-# simplify-path-tokens
-{
-    local $(gTOP)_TOKENS = .. .. .. ;
-    local gINVOCATION_SUBDIR_TOKENS = d e ;
-    assert_equal [ simplify-path-tokens a b . c .. .. d e ] : a d e ;
-    assert_equal [ simplify-path-tokens a b .. .. .. d e ] : .. d e ;
-    assert_equal [ simplify-path-tokens .. .. d e : xxx ] : .. .. d e ;
-    assert_equal [ simplify-path-tokens a b .. .. : xxx ] : xxx ;
-    $(gTOP)_TOKENS = .. .. ;
-    assert_equal [ simplify-path-tokens .. .. d e : xxx ] : xxx ; 
-    assert_equal [ simplify-path-tokens .. .. d e f g : xxx ] : f g ; 
-}
diff --git a/SRC/Boost/tools/build/v2/test/unit_test.py b/SRC/Boost/tools/build/v2/test/unit_test.py
deleted file mode 100755
index f154a3b..0000000
--- a/SRC/Boost/tools/build/v2/test/unit_test.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003, 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-#  Test the unit_test rule.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-# Create the needed files.
-t.write("jamroot.jam", """
-using testing ;
-lib helper : helper.cpp ;
-unit-test test : test.cpp : <library>helper ;
-""")
-
-t.write("test.cpp", """
-void helper();
-int main() { helper(); }
-""")
-
-t.write("helper.cpp", """
-void
-#if defined(_WIN32)
-__declspec(dllexport)
-#endif
-helper() {}
-""")
-
-t.run_build_system("link=static")
-t.expect_addition("bin/$toolset/debug/link-static/test.passed")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/unit_tests.py b/SRC/Boost/tools/build/v2/test/unit_tests.py
deleted file mode 100755
index 49a55e6..0000000
--- a/SRC/Boost/tools/build/v2/test/unit_tests.py
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import BoostBuild
-
-t = BoostBuild.Tester(pass_toolset=0)
-
-t.run_build_system(extra_args="--debug --build-system=test/test")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/unused.py b/SRC/Boost/tools/build/v2/test/unused.py
deleted file mode 100755
index 4c390ed..0000000
--- a/SRC/Boost/tools/build/v2/test/unused.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Test that unused sources are at least reported.
-
-import BoostBuild
-from string import find
-
-t = BoostBuild.Tester()
-
-t.set_tree("unused")
-
-t.run_build_system()
-# The second invocation should do nothing, and produce no warning. The previous
-# invocation might have printed executed actions and other things, so it is not
-# easy to check if warning was issued or not.
-t.run_build_system()
-t.fail_test(find(t.stdout(), "warning: Unused source { b.X } in main target ./a") == -1)
-
-t.run_build_system("-sGENERATE_ONLY_UNUSABLE=1")
-t.fail_test(find(t.stdout(), "warning: Unused source { b.X } in main target ./a") == -1)
-
-# Now check that even if main target generates nothing, its usage requirements
-# are still propagated to dependants.
-t.write("a.cpp", """
-#ifdef FOO
-int main() {}
-#endif
-""")
-t.run_build_system("-sGENERATE_NOTHING=1")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/unused/a.cpp b/SRC/Boost/tools/build/v2/test/unused/a.cpp
deleted file mode 100755
index b092bbd..0000000
--- a/SRC/Boost/tools/build/v2/test/unused/a.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright Vladimir Prus 2003.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-int main()
-{
-    return 0;
-}
diff --git a/SRC/Boost/tools/build/v2/test/unused/b.cpp b/SRC/Boost/tools/build/v2/test/unused/b.cpp
deleted file mode 100755
index eb8289e..0000000
--- a/SRC/Boost/tools/build/v2/test/unused/b.cpp
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Copyright 2003 Vladimir Prus */
-/* Distributed under the Boost Software License, Version 1.0. */
-/* (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) */
-
diff --git a/SRC/Boost/tools/build/v2/test/unused/b.x b/SRC/Boost/tools/build/v2/test/unused/b.x
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/test/unused/jamfile.jam b/SRC/Boost/tools/build/v2/test/unused/jamfile.jam
deleted file mode 100755
index b464736..0000000
--- a/SRC/Boost/tools/build/v2/test/unused/jamfile.jam
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-exe a : a.cpp b c ;
-
-make-b-main-target ;
-
-# Expands to nothing, intentionally.
-alias c ;
diff --git a/SRC/Boost/tools/build/v2/test/unused/jamroot.jam b/SRC/Boost/tools/build/v2/test/unused/jamroot.jam
deleted file mode 100755
index b80c492..0000000
--- a/SRC/Boost/tools/build/v2/test/unused/jamroot.jam
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-
-import type ;
-import generators ;
-import print ;
-import virtual-target ;
-import "class" : new ;
-import modules ;
-import targets ;
-
-
-type.register X : x ;
-
-class test-target-class : basic-target
-{
-    rule __init__ ( name : project )
-    {
-        basic-target.__init__ $(name) : $(project) ;
-    }
-        
-    rule construct ( source-targets * : property-set )
-    {
-        if [ modules.peek : GENERATE_NOTHING ]
-        {
-            return ;
-        }
-        else if [ modules.peek : GENERATE_ONLY_UNUSABLE ] 
-        {
-            return [ virtual-target.from-file b.x : $(self.project) ] 
-              ;             
-        }
-        else
-        {            
-            return [ virtual-target.from-file b.x : $(self.project) ] 
-              [ virtual-target.from-file b.cpp : $(self.project) ] 
-                ; 
-        }        
-    }
-    
-    rule compute-usage-requirements ( rproperties : targets * )
-    {
-        return [ property-set.create <define>FOO ] ;
-    }
-}
-
-rule make-b-main-target
-{
-    local project = [ CALLER_MODULE ] ;    
-    
-    targets.main-target-alternative 
-      [ new test-target-class b : $(project) ] ;
-}
-
-IMPORT $(__name__) : make-b-main-target : : make-b-main-target ;
diff --git a/SRC/Boost/tools/build/v2/test/use_requirements.py b/SRC/Boost/tools/build/v2/test/use_requirements.py
deleted file mode 100755
index 1e4a9a9..0000000
--- a/SRC/Boost/tools/build/v2/test/use_requirements.py
+++ /dev/null
@@ -1,295 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2003 Dave Abrahams
-# Copyright 2002, 2003, 2004, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-
-# Test that use requirements on main target work (and a propagated all the way
-# up, not only to direct dependants).
-t.write("jamroot.jam", "import gcc ;")
-
-# Note: 'lib cc ..', not 'lib c'. If using 'lib c: ...' the HP-CXX linker will
-# confuse it with the system C runtime.
-t.write("jamfile.jam", """
-lib b : b.cpp : <link>shared:<define>SHARED_B : :
-    <define>FOO <link>shared:<define>SHARED_B ;
-lib cc : c.cpp b ;
-exe a : a.cpp cc ;
-""")
-
-t.write("b.cpp", """
-void
-#if defined(_WIN32) && defined(SHARED_B)
-__declspec(dllexport)
-#endif
-foo() {}\n
-""")
-
-t.write("c.cpp", """
-void
-#if defined(_WIN32) && defined(SHARED_B)
-__declspec(dllexport)
-#endif
-create_lib_please() {}\n
-""")
-
-t.write("a.cpp", """
-#ifdef FOO
-void
-# if defined(_WIN32) && defined(SHARED_B)
-__declspec(dllexport)
-# endif
-foo() {}
-#endif
-int main() { foo(); }
-""")
-
-t.run_build_system()
-t.run_build_system("--clean")
-
-
-# Test that use requirements on main target work, when they are referred using
-# 'dependency' features.
-t.write("jamroot.jam", "import gcc ;")
-
-t.write("jamfile.jam", """
-lib b : b.cpp : <link>shared:<define>SHARED_B : : <define>FOO
-    <link>shared:<define>SHARED_B ;
-exe a : a.cpp : <use>b ;
-""")
-
-t.write("b.cpp", """
-void
-#if defined(_WIN32) && defined(SHARED_B)
-__declspec(dllexport)
-#endif
-foo() {}
-""")
-
-t.write("a.cpp", """
-#ifdef FOO
-int main() {}
-#endif
-""")
-
-t.run_build_system()
-
-t.run_build_system("--clean")
-
-
-# Test that usage requirements on a project work.
-t.write("jamfile.jam", "exe a : a.cpp lib//b ;")
-
-t.write("lib/jamfile.jam", """
-project
-   : requirements <link>shared:<define>SHARED_B
-   : usage-requirements <define>FOO <link>shared:<define>SHARED_B ;
-lib b : b.cpp ;
-""")
-
-t.write("lib/b.cpp", """
-void
-#if defined(_WIN32) && defined(SHARED_B)
-__declspec(dllexport)
-#endif
-foo() {}\n
-""")
-
-t.run_build_system()
-
-
-# Test that use requirements are inherited correctly.
-t.write("jamfile.jam", "exe a : a.cpp lib/1//b ;")
-
-t.write("a.cpp", """
-#if defined(FOO) && defined(ZOO)
-void foo() {}
-#endif
-int main() { foo(); }
-""")
-
-t.write("lib/jamfile.jam", """
-project : requirements : usage-requirements <define>FOO ;
-""")
-
-t.write("lib/1/jamfile.jam", """
-project
-   : requirements <link>shared:<define>SHARED_B
-   : usage-requirements <define>ZOO <link>shared:<define>SHARED_B ;
-lib b : b.cpp ;
-""")
-
-t.write("lib/1/b.cpp", """
-void
-#if defined(_WIN32) && defined(SHARED_B)
-__declspec(dllexport)
-#endif
-foo() {}\n
-""")
-
-t.run_build_system()
-t.run_build_system("--clean")
-
-
-# Test that we correctly handle dependency features in use requirements on
-# target.
-t.write("jamfile.jam", """
-lib b : b.cpp : <link>shared:<define>SHARED_B : : <define>FOO
-    <link>shared:<define>SHARED_B ;
-
-# Here's the test: we should correctly handle dependency feature and get usage
-# requirements from 'b'.
-lib cc : c.cpp : <link>shared:<define>SHARED_C : : <library>b ;
-
-# This will build only if <define>FOO was propagated from 'c'.
-exe a : a.cpp cc ;
-""")
-
-t.write("a.cpp", """
-#ifdef FOO
-void
-# if defined(_WIN32) && defined(SHARED_B)
-__declspec(dllexport)
-# endif
-foo();
-#endif
-
-int main() { foo(); }
-""")
-
-t.write("c.cpp", """
-int
-#if defined(_WIN32) && defined(SHARED_C)
-__declspec(dllexport)
-#endif
-must_export_something;
-""")
-
-t.run_build_system()
-t.run_build_system("--clean")
-
-
-# Test correct handling of dependency features in project requirements.
-t.write("jamfile.jam", """
-exe a : a.cpp lib1//cc ;
-""")
-
-t.write("lib1/jamfile.jam", """
-project
-    : requirements <link>shared:<define>SHARED_C
-    : usage-requirements <library>../lib2//b <link>shared:<define>SHARED_C ;
-lib cc : c.cpp ;
-""")
-
-t.write("lib1/c.cpp", """
-int
-#if defined(_WIN32) && defined(SHARED_C)
-__declspec(dllexport)
-#endif
-must_export_something;
-""")
-
-t.write("lib2/jamfile.jam", """
-lib b : b.cpp : <link>shared:<define>SHARED_B : : <define>FOO
-    <link>shared:<define>SHARED_B ;
-""")
-
-t.copy("b.cpp", "lib2/b.cpp")
-
-t.run_build_system()
-
-
-# Test that dependency feature in use requirements are built with the correct
-# properties.
-t.rm(".")
-
-t.write("jamfile.jam", """
-lib main : main.cpp : <use>libs//lib1 : : <library>libs//lib1 ;
-exe hello : hello.cpp main : ;
-""")
-
-t.write("main.cpp", """
-void
-#if defined(_WIN32) && defined(SHARED_LIB1)
-__declspec(dllimport)
-#endif
-foo();
-
-int main() { foo(); }
-""")
-
-t.write("hello.cpp", "\n")
-
-t.write("jamroot.jam", """
-import gcc ;
-""")
-
-t.write("libs/a.cpp", """
-void
-#if defined(_WIN32) && defined(SHARED_LIB1)
-__declspec(dllexport)
-#endif
-foo() {}
-""")
-
-
-# This library should be build with the same properties as 'main'. This is a
-# regression test for a bug when they were generated with empty properties, and
-# there were ambiguity between variants.
-t.write("libs/jamfile.jam", """
-lib lib1 : a_d.cpp : <variant>debug <link>shared:<define>SHARED_LIB1 : :
-    <link>shared:<define>SHARED_LIB1 ;
-lib lib1 : a.cpp : <variant>release <link>shared:<define>SHARED_LIB1 : :
-    <link>shared:<define>SHARED_LIB1 ;
-""")
-
-t.write("libs/a_d.cpp", """
-void
-#if defined(_WIN32) && defined(SHARED_LIB1)
-__declspec(dllexport)
-#endif
-foo() {}
-""")
-
-t.run_build_system("link=static")
-t.expect_addition("libs/bin/$toolset/debug/link-static/a_d.obj")
-
-
-# Test that indirect conditionals are respected in usage requirements.
-t.rm(".")
-
-t.write("jamroot.jam", """
-rule has-foo ( properties * )
-{
-    return <define>HAS_FOO ;
-}
-
-exe a : a.cpp b ;
-lib b : b.cpp : <link>static : : <conditional>@has-foo ;
-""")
-
-t.write("a.cpp", """
-#ifdef HAS_FOO
-void foo();
-int main() { foo(); }
-#endif
-""")
-
-t.write("b.cpp", """
-void
-#if defined(_WIN32) && defined(SHARED_B)
-__declspec(dllexport)
-#endif
-foo() {}\n
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/a.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/using.py b/SRC/Boost/tools/build/v2/test/using.py
deleted file mode 100755
index c8a020b..0000000
--- a/SRC/Boost/tools/build/v2/test/using.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) Vladimir Prus 2005.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("sub/a.cpp", """
-int main() {}
-""")
-
-t.write("jamroot.jam", """
-using some_tool ;
-""")
-
-t.write("some_tool.jam", """
-import project ;
-project.initialize $(__name__) ;
-rule init ( ) { }
-""")
-
-t.write("some_tool.py", """
-from b2.manager import get_manager
-
-get_manager().projects().initialize(__name__)
-
-def init():
-    pass
-""")
-
-t.write("sub/jamfile.jam", """
-exe a : a.cpp ;
-""")
-
-t.run_build_system(subdir="sub")
-t.expect_addition("sub/bin/$toolset/debug/a.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/v1-testing/a.cpp b/SRC/Boost/tools/build/v2/test/v1-testing/a.cpp
deleted file mode 100755
index 99a2380..0000000
--- a/SRC/Boost/tools/build/v2/test/v1-testing/a.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright David Abrahams 2003-2004. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-void foo() {}
diff --git a/SRC/Boost/tools/build/v2/test/v1-testing/b.cpp b/SRC/Boost/tools/build/v2/test/v1-testing/b.cpp
deleted file mode 100755
index a875a08..0000000
--- a/SRC/Boost/tools/build/v2/test/v1-testing/b.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#error this does not compile.
diff --git a/SRC/Boost/tools/build/v2/test/v1-testing/boost-build.jam b/SRC/Boost/tools/build/v2/test/v1-testing/boost-build.jam
deleted file mode 100755
index 09ad90a..0000000
--- a/SRC/Boost/tools/build/v2/test/v1-testing/boost-build.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-TOOLS = gcc ;
-boost-build ../.. ;
diff --git a/SRC/Boost/tools/build/v2/test/v1-testing/c.cpp b/SRC/Boost/tools/build/v2/test/v1-testing/c.cpp
deleted file mode 100755
index 560b5e0..0000000
--- a/SRC/Boost/tools/build/v2/test/v1-testing/c.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#include <iostream>
-
-#ifndef RESULTCODE
-# define RESULTCODE 0
-#endif
-
-int main()
-{
-    std::cout << "returning result: " << RESULTCODE << std::endl;
-    return RESULTCODE;
-}
-
diff --git a/SRC/Boost/tools/build/v2/test/v1-testing/jamfile.jam b/SRC/Boost/tools/build/v2/test/v1-testing/jamfile.jam
deleted file mode 100755
index 5a58317..0000000
--- a/SRC/Boost/tools/build/v2/test/v1-testing/jamfile.jam
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2002, 2003 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import testing ;
-
-# A number of tests which should succeed
-compile a.cpp ;
-compile-fail b.cpp ;
-link-fail a.cpp : : link-no ;
-link c.cpp : : link-yes ;
-run c.cpp : : : : run-yes ;
-run-fail c.cpp : : : <define>RESULTCODE=1 : run-no ;
-
-# some tests which should fail
-
-compile-fail a.cpp : : fail-compile-no ;
-compile b.cpp : : fail-compile-yes ;
-link a.cpp : : fail-link-yes ;
-link-fail c.cpp : : fail-link-no ;
-run-fail c.cpp : : : : fail-run-no ;
-run c.cpp : : : <define>RESULTCODE=1 : fail-run-yes ;
-
-# Make sure we still fail if a dependency of an expected-failure test
-# fails. 
-link-fail b.cpp : : fail-link-no-dependency ;
diff --git a/SRC/Boost/tools/build/v2/test/v1_testing.py b/SRC/Boost/tools/build/v2/test/v1_testing.py
deleted file mode 100755
index 9ba4ecd..0000000
--- a/SRC/Boost/tools/build/v2/test/v1_testing.py
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2002 Dave Abrahams
-# Copyright 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import BoostBuild
-import os
-from string import strip
-import re
-import time
-
-def match_re(actual,expected):
-    return re.match(expected,actual,re.DOTALL) != None
-
-t = BoostBuild.Tester(match = match_re, boost_build_path = os.path.join(os.getcwd(), ".."))
-t.set_tree('v1_testing')
-
-os.environ['TOOLS'] = 'gcc'
-os.environ['NOARSCAN'] = '1'
-
-# 1) No existing bin directories.  Both build and test ran fine. As
-# expected, the residue files were a bit different: There was no
-# path_test.success, and path_test.test contained the word "passed"
-# instead of the path to the .cpp file.  I've haven't looked yet to
-# see if the lack of the path is a problem for reporting, but
-# hopefully the information is trivially available somewhere else.
-t.run_build_system(arguments = 'test', status = 0)
-t.expect_addition(
-    ['bin/compile.test/gcc/debug/runtime-link-dynamic/compile.test'
-     , 'bin/nocompile.test/gcc/debug/runtime-link-dynamic/nocompile.test'
-     , 'bin/link.test/gcc/debug/runtime-link-dynamic/link.test'
-     , 'bin/nolink.test/gcc/debug/runtime-link-dynamic/nolink.test'
-     , 'bin/run.test/gcc/debug/runtime-link-dynamic/run.test'])
-
-
-# 2) Missing source file for the library build. path_test.test was
-# deleted, so the reporting programs would know that failure
-# occurred. The stdout messages also indicated what had
-# happened. Excellent!
-t.rename('lib.cpp', 'lib.cpp.bak')
-t.run_build_system(arguments = 'test', status = 1)
-t.expect_removal(
-    ['bin/link.test/gcc/debug/runtime-link-dynamic/link.test'
-     , 'bin/nolink.test/gcc/debug/runtime-link-dynamic/nolink.test'
-     , 'bin/run.test/gcc/debug/runtime-link-dynamic/run.test'])
-
-# 3) Missing file restored. Worked fine; path_test.test was recreated,
-# no other files were touched.
-t.rename('lib.cpp.bak', 'lib.cpp')
-t.run_build_system(arguments = 'test', status = 0)
-t.expect_addition(
-    [ 'bin/link.test/gcc/debug/runtime-link-dynamic/link.test'
-     , 'bin/nolink.test/gcc/debug/runtime-link-dynamic/nolink.test'
-     , 'bin/run.test/gcc/debug/runtime-link-dynamic/run.test'])
-     # I didn't add a test for 'no other files were touched', because
-     # it's a little complicated. There is an expect_nothing_more()
-     # function, but we actually need to spell out a lot more than
-     # what we currently have to do that.
-
-# 4) Introduced error into one of the library files, causing a library build
-# compile to fail. path_test.test was deleted, so the reporting programs
-# would know that failure occurred. Excellent! This is the case that has
-# caused regression testing to report the wrong results in the past, so it
-# was good news to see it working correctly now. We probably should figure
-# out some other test cases just to be sure it is working for full coverage.
-t.rename('lib.cpp', 'lib.cpp.bak')
-t.rename('lib-err.cpp', 'lib.cpp')
-t.touch('lib.cpp')
-t.run_build_system(arguments = 'test', status=1)
-t.expect_removal(
-    ['bin/link.test/gcc/debug/runtime-link-dynamic/link.test'
-     , 'bin/nolink.test/gcc/debug/runtime-link-dynamic/nolink.test'
-     , 'bin/run.test/gcc/debug/runtime-link-dynamic/run.test'])
-
-# 5) Fixed the error in the library file.  The library build then worked, and
-# path_test.exe was relinked, without first recompiling path_test.obj. Test was
-# rerun. Exactly the right behavior!
-t.rename('lib.cpp.bak', 'lib.cpp')
-t.run_build_system(arguments = 'test', status = 0)
-t.expect_addition(
-    [ 'bin/link.test/gcc/debug/runtime-link-dynamic/link.test'
-     , 'bin/nolink.test/gcc/debug/runtime-link-dynamic/nolink.test'
-     , 'bin/run.test/gcc/debug/runtime-link-dynamic/run.test'])
-
-t.cleanup()
-print 'testing complete'
diff --git a/SRC/Boost/tools/build/v2/test/v1_testing/Jamrules b/SRC/Boost/tools/build/v2/test/v1_testing/Jamrules
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/test/v1_testing/boost-build.jam b/SRC/Boost/tools/build/v2/test/v1_testing/boost-build.jam
deleted file mode 100755
index 09ad90a..0000000
--- a/SRC/Boost/tools/build/v2/test/v1_testing/boost-build.jam
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-TOOLS = gcc ;
-boost-build ../.. ;
diff --git a/SRC/Boost/tools/build/v2/test/v1_testing/foo.cpp b/SRC/Boost/tools/build/v2/test/v1_testing/foo.cpp
deleted file mode 100755
index d56c6ca..0000000
--- a/SRC/Boost/tools/build/v2/test/v1_testing/foo.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#if NOCOMPILE
-1 = 1;
-#endif 
-
-void lib();
-
-void f()
-{
-    lib();
-}
-
-#ifndef NOLINK
-int main()
-{
-}
-#endif
-
diff --git a/SRC/Boost/tools/build/v2/test/v1_testing/jamfile.jam b/SRC/Boost/tools/build/v2/test/v1_testing/jamfile.jam
deleted file mode 100755
index ed15f3e..0000000
--- a/SRC/Boost/tools/build/v2/test/v1_testing/jamfile.jam
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2002, 2003 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-TOOLS = $(TOOLS[1]) ;
-project-root ;
-
-# bring in rules for testing
-import testing ;
-
-lib mylib : lib.cpp ;
-
-compile foo.cpp : : compile ;
-compile-fail foo.cpp : <define>NOCOMPILE : nocompile ;
-
-link foo.cpp <lib>mylib : : link ;
-link-fail foo.cpp  <lib>mylib : <define>NOLINK : nolink ;
-
-run foo.cpp  <lib>mylib
-  : # args
-  : # input-files
-  : <define>RUN
-  : run ;
diff --git a/SRC/Boost/tools/build/v2/test/v1_testing/jamroot.jam b/SRC/Boost/tools/build/v2/test/v1_testing/jamroot.jam
deleted file mode 100755
index bb170ad..0000000
--- a/SRC/Boost/tools/build/v2/test/v1_testing/jamroot.jam
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright 2002 Dave Abrahams 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# just label the project root
diff --git a/SRC/Boost/tools/build/v2/test/v1_testing/lib-err.cpp b/SRC/Boost/tools/build/v2/test/v1_testing/lib-err.cpp
deleted file mode 100755
index e7fcbd8..0000000
--- a/SRC/Boost/tools/build/v2/test/v1_testing/lib-err.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-3 = 4;
-void lib() {}
diff --git a/SRC/Boost/tools/build/v2/test/v1_testing/lib.cpp b/SRC/Boost/tools/build/v2/test/v1_testing/lib.cpp
deleted file mode 100755
index 1bc8e99..0000000
--- a/SRC/Boost/tools/build/v2/test/v1_testing/lib.cpp
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-void lib() {}
diff --git a/SRC/Boost/tools/build/v2/test/wrapper.py b/SRC/Boost/tools/build/v2/test/wrapper.py
deleted file mode 100755
index cafa4d8..0000000
--- a/SRC/Boost/tools/build/v2/test/wrapper.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/python
-
-# Copyright 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Test that the user can define his own rule that will call built-in main target
-# rule and that this will work.
-
-import BoostBuild
-
-
-t = BoostBuild.Tester()
-
-t.write("jamfile.jam", """
-my-test : test.cpp ;
-""")
-
-t.write("test.cpp", """
-int main() {}
-""")
-
-t.write("jamroot.jam", """
-using testing ;
-
-rule my-test ( name ? : sources + )
-{
-    name ?= test ;
-    unit-test $(name) : $(sources) ;  # /site-config//cppunit /util//testMain ;
-}
-
-IMPORT $(__name__) : my-test : : my-test ;
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/test.passed")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/test/wrong_project.py b/SRC/Boost/tools/build/v2/test/wrong_project.py
deleted file mode 100755
index 9154ef6..0000000
--- a/SRC/Boost/tools/build/v2/test/wrong_project.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/python
-
-# Copyright Vladimir Prus 2005.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt
-# or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-# Regression test. When Jamfile contained "using whatever ; " and the 'whatever'
-# module declared a project, then all targets in Jamfile were considered to be
-# declared in the project associated with 'whatever', not with the Jamfile.
-
-import BoostBuild
-
-t = BoostBuild.Tester()
-
-t.write("a.cpp", "int main() {}\n")
-
-t.write("jamroot.jam", """
-using some_tool ;
-exe a : a.cpp ;
-""")
-
-t.write("some_tool.jam", """
-import project ;
-project.initialize $(__name__) ;
-rule init ( ) { }
-""")
-
-t.write("some_tool.py", """
-from b2.manager import get_manager
-
-get_manager().projects().initialize(__name__)
-
-def init():
-    pass
-""")
-
-t.run_build_system()
-t.expect_addition("bin/$toolset/debug/a.exe")
-
-t.cleanup()
diff --git a/SRC/Boost/tools/build/v2/to_merge.sh b/SRC/Boost/tools/build/v2/to_merge.sh
deleted file mode 100755
index 7e43389..0000000
--- a/SRC/Boost/tools/build/v2/to_merge.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-for python in build/*.py; do
-    jam="${python%.py}.jam"
-    if [ -f "$jam" ]; then
-        line=`grep "Base revision" $python`
-        revision=`echo $line | sed 's/# Base revision: \([0-9]*\).*/\1/'`
-        if [ -e "$revision" ] ; then
-            echo "No base version for $python" >&2
-        else
-            svn diff -r $revision:HEAD "$jam"
-        fi
-    fi
-done
-
-
diff --git a/SRC/Boost/tools/build/v2/tools/__init__.py b/SRC/Boost/tools/build/v2/tools/__init__.py
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/tools/acc.jam b/SRC/Boost/tools/build/v2/tools/acc.jam
deleted file mode 100755
index ca2a90e..0000000
--- a/SRC/Boost/tools/build/v2/tools/acc.jam
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright Vladimir Prus 2004.
-# Copyright Toon Knapen 2004.
-# Copyright Boris Gubenko 2007.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt
-# or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#
-# Boost.Build V2 toolset for the HP aC++ compiler.
-#
-
-import toolset : flags ;
-import feature ;
-import generators ;
-import common ;
-
-feature.extend toolset : acc ;
-toolset.inherit acc : unix ;
-generators.override builtin.lib-generator : acc.prebuilt ;
-generators.override acc.searched-lib-generator : searched-lib-generator ;
-
-# Configures the acc toolset.
-rule init ( version ? : user-provided-command * : options * )
-{
-    local condition = [ common.check-init-parameters acc
-        : version $(version) ] ;
-
-    local command = [ common.get-invocation-command acc : aCC
-        : $(user-provided-command) ] ;
-
-    common.handle-options acc : $(condition) : $(command) : $(options) ;
-}
-
-
-# Declare generators
-generators.register-c-compiler acc.compile.c : C : OBJ : <toolset>acc ;
-generators.register-c-compiler acc.compile.c++ : CPP : OBJ : <toolset>acc ;
-
-# Declare flags.
-flags acc CFLAGS <optimization>off : ;
-flags acc CFLAGS <optimization>speed : -O3 ;
-flags acc CFLAGS <optimization>space : -O2 ;
-
-flags acc CFLAGS <inlining>off : +d ;
-flags acc CFLAGS <inlining>on : ;
-flags acc CFLAGS <inlining>full : ;
-
-flags acc C++FLAGS <exception-handling>off : ;
-flags acc C++FLAGS <exception-handling>on : ;
-
-flags acc C++FLAGS <rtti>off : ;
-flags acc C++FLAGS <rtti>on : ;
-
-# We want the full path to the sources in the debug symbols because otherwise
-# the debugger won't find the sources when we use boost.build.
-flags acc CFLAGS <debug-symbols>on : -g ;
-flags acc LINKFLAGS <debug-symbols>on : -g ;
-flags acc LINKFLAGS <debug-symbols>off : -s ;
-
-# V2 does not have <shared-linkable>, not sure what this meant in V1.
-# flags acc CFLAGS <shared-linkable>true : +Z ;
-
-flags acc CFLAGS <profiling>on : -pg ;
-flags acc LINKFLAGS <profiling>on : -pg ;
-
-flags acc CFLAGS <address-model>64 : +DD64 ;
-flags acc LINKFLAGS <address-model>64 : +DD64 ;
-
-# It is unknown if there's separate option for rpath used only
-# at link time, similar to -rpath-link in GNU. We'll use -L.
-flags acc RPATH_LINK : <xdll-path> ;
-
-flags acc CFLAGS <cflags> ;
-flags acc C++FLAGS <cxxflags> ;
-flags acc DEFINES <define> ;
-flags acc UNDEFS <undef> ;
-flags acc HDRS <include> ;
-flags acc STDHDRS <sysinclude> ;
-flags acc LINKFLAGS <linkflags> ;
-flags acc ARFLAGS <arflags> ;
-
-flags acc LIBPATH <library-path> ;
-flags acc NEEDLIBS <library-file> ;
-flags acc FINDLIBS <find-shared-library> ;
-flags acc FINDLIBS <find-static-library> ;
-
-# Select the compiler name according to the threading model.
-flags acc CFLAGS <threading>multi : -mt   ;
-flags acc LINKFLAGS <threading>multi : -mt ;
-
-flags acc.compile.c++ TEMPLATE_DEPTH <c++-template-depth> ;
-
-
-actions acc.link bind NEEDLIBS
-{
-    $(CONFIG_COMMAND) -AA $(LINKFLAGS) -o "$(<[1])" -L"$(RPATH_LINK)" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(OPTIONS)
-}
-
-SPACE = " " ;
-actions acc.link.dll bind NEEDLIBS
-{
-    $(CONFIG_COMMAND) -AA -b $(LINKFLAGS) -o "$(<[1])" -L"$(RPATH_LINK)" -Wl,+h$(<[-1]:D=) -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(OPTIONS)
-}
-
-actions acc.compile.c
-{
-    cc -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" $(OPTIONS)
-}
-
-actions acc.compile.c++
-{
-    $(CONFIG_COMMAND) -AA -c -Wc,--pending_instantiations=$(TEMPLATE_DEPTH) -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" $(OPTIONS)
-}
-
-actions updated together piecemeal acc.archive
-{
-    ar ru$(ARFLAGS:E="") "$(<)" "$(>)"
-}
diff --git a/SRC/Boost/tools/build/v2/tools/auto-index.jam b/SRC/Boost/tools/build/v2/tools/auto-index.jam
deleted file mode 100755
index d551abe..0000000
--- a/SRC/Boost/tools/build/v2/tools/auto-index.jam
+++ /dev/null
@@ -1,212 +0,0 @@
-
-import feature ;
-import generators ;
-import "class" ;
-import toolset ;
-import targets ;
-import "class" : new ;
-import project ;
-
-feature.feature auto-index : off "on" ;
-feature.feature auto-index-internal : off "on" ;
-feature.feature auto-index-verbose : off "on" ;
-feature.feature auto-index-no-duplicates : off "on" ;
-feature.feature auto-index-script : : free ;
-feature.feature auto-index-prefix : : free ;
-feature.feature auto-index-type : : free ;
-feature.feature auto-index-section-names : "on" off ;
-
-toolset.flags auto-index.auto-index FLAGS <auto-index-internal>on : --internal-index ;
-toolset.flags auto-index.auto-index SCRIPT <auto-index-script> ;
-toolset.flags auto-index.auto-index PREFIX <auto-index-prefix> ;
-toolset.flags auto-index.auto-index INDEX_TYPE <auto-index-type> ;
-toolset.flags auto-index.auto-index FLAGS <auto-index-verbose>on : --verbose ;
-toolset.flags auto-index.auto-index FLAGS <auto-index-no-duplicates>on : --no-duplicates ;
-toolset.flags auto-index.auto-index FLAGS <auto-index-section-names>off : --no-section-names ;
-
-# <auto-index-binary> shell command to run AutoIndex
-# <auto-index-binary-dependencies> targets to build AutoIndex from sources.
-feature.feature <auto-index-binary> : : free ;
-feature.feature <auto-index-binary-dependencies> : : free dependency ;
-
-class auto-index-generator : generator
-{
-    import common modules path targets build-system ;
-    rule run ( project name ? : property-set : sources * )
-    {
-        # AutoIndex invocation command and dependencies.
-        local auto-index-binary = [ modules.peek auto-index : .command ] ;
-        local auto-index-binary-dependencies ;
-
-        if $(auto-index-binary)
-        {
-            # Use user-supplied command.
-            auto-index-binary = [ common.get-invocation-command auto-index : auto-index : $(auto-index-binary) ] ;
-        }
-        else
-        {
-            # Search for AutoIndex sources in sensible places, like
-            #   $(BOOST_ROOT)/tools/auto_index
-            #   $(BOOST_BUILD_PATH)/../../auto_index
-
-            # And build auto-index executable from sources.
-
-            local boost-root = [ modules.peek : BOOST_ROOT ] ;
-            local boost-build-path = [ build-system.location ] ;
-            local boost-build-path2 = [ modules.peek : BOOST_BUILD_PATH ] ;
-
-            local auto-index-dir ;
-
-            if $(boost-root)
-            {
-                auto-index-dir += [ path.join $(boost-root) tools ] ;
-            }
-
-            if $(boost-build-path)
-            {
-                auto-index-dir += $(boost-build-path)/../.. ;
-            }
-            if $(boost-build-path2)
-            {
-                auto-index-dir += $(boost-build-path2)/.. ;
-            }
-
-            #ECHO $(auto-index-dir) ;
-            auto-index-dir = [ path.glob $(auto-index-dir) : auto_index ] ;
-            #ECHO $(auto-index-dir) ;
-
-            # If the AutoIndex source directory was found, mark its main target
-            # as a dependency for the current project. Otherwise, try to find
-            # 'auto-index' in user's PATH
-            if $(auto-index-dir)
-            {
-                auto-index-dir = [ path.make $(auto-index-dir[1]) ] ;
-                auto-index-dir = $(auto-index-dir)/build ;
-                
-                #ECHO $(auto-index-dir) ;
-
-                # Get the main-target in AutoIndex directory.
-                local auto-index-main-target = [ targets.resolve-reference $(auto-index-dir) : $(project) ] ;
-                
-                #ECHO $(auto-index-main-target) ;
-
-                # The first element are actual targets, the second are
-                # properties found in target-id. We do not care about these
-                # since we have passed the id ourselves.
-                auto-index-main-target =
-                    [ $(auto-index-main-target[1]).main-target auto_index ] ;
-
-                #ECHO $(auto-index-main-target) ;
-
-                auto-index-binary-dependencies =
-                    [ $(auto-index-main-target).generate [ $(property-set).propagated ] ] ;
-
-                # Ignore usage-requirements returned as first element.
-                auto-index-binary-dependencies = $(auto-index-binary-dependencies[2-]) ;
-
-                # Some toolsets generate extra targets (e.g. RSP). We must mark
-                # all targets as dependencies for the project, but we will only
-                # use the EXE target for auto-index-to-boostbook translation.
-                for local target in $(auto-index-binary-dependencies)
-                {
-                    if [ $(target).type ] = EXE
-                    {
-                        auto-index-binary = 
-                            [ path.native 
-                                [ path.join
-                                    [ $(target).path ]
-                                    [ $(target).name ]
-                                ]
-                            ] ;
-                    }
-                }
-            }
-            else
-            {
-                ECHO "AutoIndex warning: The path to the auto-index executable was" ;
-                ECHO "  not provided. Additionally, couldn't find AutoIndex" ;
-                ECHO "  sources searching in" ;
-                ECHO "    * BOOST_ROOT/tools/auto-index" ;
-                ECHO "    * BOOST_BUILD_PATH/../../auto-index" ;
-                ECHO "  Will now try to find a precompiled executable by searching" ;
-                ECHO "  the PATH for 'auto-index'." ;
-                ECHO "  To disable this warning in the future, or to completely" ;
-                ECHO "  avoid compilation of auto-index, you can explicitly set the" ;
-                ECHO "  path to a auto-index executable command in user-config.jam" ;
-                ECHO "  or site-config.jam with the call" ;
-                ECHO "    using auto-index : /path/to/auto-index ;" ;
-
-                # As a last resort, search for 'auto-index' command in path. Note
-                # that even if the 'auto-index' command is not found,
-                # get-invocation-command will still return 'auto-index' and might
-                # generate an error while generating the virtual-target.
-
-                auto-index-binary = [ common.get-invocation-command auto-index : auto-index ] ;
-            }
-        }
-
-        # Add $(auto-index-binary-dependencies) as a dependency of the current
-        # project and set it as the <auto-index-binary> feature for the
-        # auto-index-to-boostbook rule, below.
-        property-set = [ $(property-set).add-raw
-            <dependency>$(auto-index-binary-dependencies)
-            <auto-index-binary>$(auto-index-binary)
-            <auto-index-binary-dependencies>$(auto-index-binary-dependencies)
-        ] ;
-        
-        #ECHO "binary = " $(auto-index-binary) ;
-        #ECHO "dependencies = " $(auto-index-binary-dependencies) ;
-
-        if [ $(property-set).get <auto-index> ] = "on"
-        {
-            return [ generator.run $(project) $(name) : $(property-set) : $(sources) ] ;
-        }
-        else
-        {
-            return [ generators.construct $(project) $(name) : DOCBOOK : $(property-set)
-              : $(sources) ] ;
-        }        
-    }
-}
-
-# Initialization of toolset.
-#
-# Parameters:
-#   command ?    -> path to AutoIndex executable.
-#
-# When command is not supplied toolset will search for AutoIndex directory and
-# compile the executable from source. If that fails we still search the path for
-# 'auto_index'.
-#
-rule init (
-        command ?   # path to the AutoIndex executable.
-    )
-{
-    if ! $(.initialized)
-    {
-        .initialized = true ;
-        .command = $(command) ;
-    }
-}
-
-toolset.flags auto-index.auto-index AI-COMMAND      <auto-index-binary> ;
-toolset.flags auto-index.auto-index AI-DEPENDENCIES <auto-index-binary-dependencies> ;
-
-generators.register [ class.new auto-index-generator auto-index.auto-index : DOCBOOK : DOCBOOK(%.auto_index) ] ;
-generators.override auto-index.auto-index : boostbook.boostbook-to-docbook ;
-
-rule auto-index ( target : source : properties * )
-{
-    # Signal dependency of auto-index sources on <auto-index-binary-dependencies>
-    # upon invocation of auto-index-to-boostbook.
-    #ECHO "AI-COMMAND= " $(AI-COMMAND) ;
-    DEPENDS $(target) : [ on $(target) return $(AI-DEPENDENCIES) ] ;
-    #DEPENDS $(target) : [ on $(target) return $(SCRIPT) ] ;
-}
-
-actions auto-index
-{
-    $(AI-COMMAND) $(FLAGS) "--prefix="$(PREFIX) "--script="$(SCRIPT) "--index-type="$(INDEX_TYPE) "--in="$(>) "--out="$(<)
-}
-
-
diff --git a/SRC/Boost/tools/build/v2/tools/bison.jam b/SRC/Boost/tools/build/v2/tools/bison.jam
deleted file mode 100755
index 02adb82..0000000
--- a/SRC/Boost/tools/build/v2/tools/bison.jam
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import generators ;
-import feature ;
-import type ;
-import property ;
-
-feature.feature bison.prefix : : free ;
-type.register Y : y ;
-type.register YY : yy ;
-generators.register-standard bison.bison : Y : C H ;
-generators.register-standard bison.bison : YY : CPP HPP ;
-
-rule init ( )
-{
-}
-
-rule bison ( dst dst_header : src : properties * )
-{
-    local r = [ property.select bison.prefix : $(properties) ] ;
-    if $(r)
-    {
-        PREFIX_OPT on $(<) = -p $(r:G=) ;
-    }
-}
-
-actions bison 
-{
-    bison $(PREFIX_OPT) -d -o $(<[1]) $(>)
-}
diff --git a/SRC/Boost/tools/build/v2/tools/boostbook-config.jam b/SRC/Boost/tools/build/v2/tools/boostbook-config.jam
deleted file mode 100755
index aff9872..0000000
--- a/SRC/Boost/tools/build/v2/tools/boostbook-config.jam
+++ /dev/null
@@ -1,13 +0,0 @@
-#~ Copyright 2005 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Automatic configuration for BoostBook tools. To use, just import this module.
-#
-# This module is deprecated.
-#   using boostbook ;
-# with no arguments now suffices.
-
-import toolset : using ;
-
-using boostbook ;
diff --git a/SRC/Boost/tools/build/v2/tools/boostbook.jam b/SRC/Boost/tools/build/v2/tools/boostbook.jam
deleted file mode 100755
index befdf85..0000000
--- a/SRC/Boost/tools/build/v2/tools/boostbook.jam
+++ /dev/null
@@ -1,727 +0,0 @@
-# Copyright 2003, 2004, 2005 Dave Abrahams 
-# Copyright 2003, 2004, 2005 Douglas Gregor 
-# Copyright 2005, 2006, 2007 Rene Rivera 
-# Copyright 2003, 2004, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-#  This module defines rules to handle generation of documentation
-#  from BoostBook sources.
-#
-#  The type of output is controlled by the <format> feature which can
-#  have the following values::
-#
-#   * html: Generates html documention.  This is the default.
-#   * xhtml: Generates xhtml documentation
-#   * htmlhelp: Generates html help output.
-#   * onehtml: Generates a single html page.
-#   * man: Generates man pages.
-#   * pdf: Generates pdf documentation.
-#   * ps: Generates postscript output.
-#   * docbook: Generates docbook XML.
-#   * fo: Generates XSL formating objects.
-#   * tests: Extracts test cases from the boostbook XML.
-#
-#  format is an implicit feature, so typing pdf on the command
-#  line (for example) is a short-cut for format=pdf.
-
-import "class" : new ;
-import common ;
-import errors ;
-import targets ;
-import feature ;
-import generators ;
-import print ;
-import property ;
-import project ;
-import property-set ;
-import regex ;
-import scanner ;
-import sequence ;
-import make ;
-import os ;
-import type ;
-import modules path project ;
-import build-system ;
-
-import xsltproc : xslt xslt-dir ;
-
-# Make this module into a project.
-project.initialize $(__name__) ;
-project boostbook ;
-
-
-feature.feature format : html xhtml htmlhelp onehtml man pdf ps docbook fo tests
-  : incidental implicit composite propagated ;
-
-type.register DTDXML : dtdxml ;
-type.register XML : xml ;
-type.register BOOSTBOOK : boostbook : XML ;
-type.register DOCBOOK : docbook : XML ; 
-type.register FO : fo : XML ;
-type.register PDF : pdf ;
-type.register PS : ps ;
-type.register XSLT : xsl : XML ;
-type.register HTMLDIR ;
-type.register XHTMLDIR ;
-type.register HTMLHELP ;
-type.register MANPAGES ;
-type.register TESTS : tests ;
-# Artificial target type, used to require invocation of top-level
-# BoostBook generator.
-type.register BOOSTBOOK_MAIN ;
-
-
-# Initialize BoostBook support.
-rule init (
-      docbook-xsl-dir ? # The DocBook XSL stylesheet directory. If not
-                        # provided, we use DOCBOOK_XSL_DIR from the environment
-                        # (if available) or look in standard locations.
-                        # Otherwise, we let the XML processor load the
-                        # stylesheets remotely.
-            
-    : docbook-dtd-dir ? # The DocBook DTD directory. If not provided, we use
-                        # DOCBOOK_DTD_DIR From the environment (if available) or
-                        # look in standard locations.  Otherwise, we let the XML
-                        # processor load the DTD remotely.
-
-    : boostbook-dir ?   # The BoostBook directory with the DTD and XSL subdirs.
-)
-{
-
-  if ! $(.initialized) 
-  {
-    .initialized = true ;
-    
-    check-boostbook-dir $(boostbook-dir) ;
-    find-tools $(docbook-xsl-dir) : $(docbook-dtd-dir) : $(boostbook-dir) ;
-
-    # Register generators only if we've were called via "using boostbook ; "
-    generators.register-standard boostbook.dtdxml-to-boostbook : DTDXML : XML ;
-    generators.register-standard boostbook.boostbook-to-docbook : XML : DOCBOOK ;
-    generators.register-standard boostbook.boostbook-to-tests : XML : TESTS ;
-    generators.register-standard boostbook.docbook-to-onehtml : DOCBOOK : HTML ;
-    generators.register-standard boostbook.docbook-to-htmldir : DOCBOOK : HTMLDIR ;
-    generators.register-standard boostbook.docbook-to-xhtmldir : DOCBOOK : XHTMLDIR ;
-    generators.register-standard boostbook.docbook-to-htmlhelp : DOCBOOK : HTMLHELP ;
-    generators.register-standard boostbook.docbook-to-manpages : DOCBOOK : MANPAGES ;
-    generators.register-standard boostbook.docbook-to-fo : DOCBOOK : FO ;
-    
-    # The same about Jamfile main target rules.
-    IMPORT $(__name__) : boostbook : : boostbook ;
-  }
-  else
-  {
-    if $(docbook-xsl-dir) 
-    {
-      modify-config ;
-      .docbook-xsl-dir = [ path.make $(docbook-xsl-dir) ] ;
-      check-docbook-xsl-dir ;
-    }
-    if $(docbook-dtd-dir) 
-    {
-      modify-config ;
-      .docbook-dtd-dir = [ path.make $(docbook-dtd-dir) ] ;
-      check-docbook-dtd-dir ;
-    }
-    if $(boostbook-dir)
-    {
-      modify-config ;
-      check-boostbook-dir $(boostbook-dir) ;
-      local boostbook-xsl-dir = [ path.glob $(boostbook-dir) : xsl ] ;
-      local boostbook-dtd-dir = [ path.glob $(boostbook-dir) : dtd ] ;
-      .boostbook-xsl-dir = $(boostbook-xsl-dir[1]) ;
-      .boostbook-dtd-dir = $(boostbook-dtd-dir[1]) ;
-      check-boostbook-xsl-dir ;
-      check-boostbook-dtd-dir ;
-    }
-  }
-}
-
-rule lock-config ( )
-{
-  if ! $(.initialized)
-  {
-    errors.user-error "BoostBook has not been configured." ;
-  }
-  if ! $(.config-locked)
-  {
-    .config-locked = true ;
-  }
-}
-
-rule modify-config ( )
-{
-  if $(.config-locked)
-  {
-    errors.user-error "BoostBook configuration cannot be changed after it has been used." ;
-  }
-}
-
-rule find-boost-in-registry ( keys * )
-{
-  local boost-root = ;
-  for local R in $(keys) 
-  {
-    local installed-boost = [ W32_GETREG
-      "HKEY_LOCAL_MACHINE\\SOFTWARE\\$(R)"
-      : "InstallRoot" ] ;
-    if $(installed-boost)
-    {
-      boost-root += [ path.make $(installed-boost) ] ;
-    }
-  }
-  return $(boost-root) ;
-}
-
-rule check-docbook-xsl-dir ( )
-{
-  if $(.docbook-xsl-dir)
-  {
-    if ! [ path.glob $(.docbook-xsl-dir) : common/common.xsl ]
-    {
-      errors.user-error "BoostBook: could not find docbook XSL stylesheets in:" [ path.native $(.docbook-xsl-dir) ] ;
-    }
-    else
-    {
-      if --debug-configuration in [ modules.peek : ARGV ]
-      {
-        ECHO "notice: BoostBook: found docbook XSL stylesheets in:" [ path.native $(.docbook-xsl-dir) ] ;
-      }
-    }
-  }
-}
-
-rule check-docbook-dtd-dir ( )
-{
-  if $(.docbook-dtd-dir)
-  {
-    if ! [ path.glob $(.docbook-dtd-dir) : docbookx.dtd ]
-    {
-      errors.user-error "error: BoostBook: could not find docbook DTD in:" [ path.native $(.docbook-dtd-dir) ] ;
-    }
-    else
-    {
-      if --debug-configuration in [ modules.peek : ARGV ]
-      {
-        ECHO "notice: BoostBook: found docbook DTD in:" [ path.native $(.docbook-dtd-dir) ] ;
-      }
-    }
-  }
-}
-
-rule check-boostbook-xsl-dir ( )
-{
-  if ! $(.boostbook-xsl-dir)
-  {
-    errors.user-error "error: BoostBook: could not find boostbook XSL stylesheets." ;
-  }
-  else if ! [ path.glob $(.boostbook-xsl-dir) : docbook.xsl ]
-  {
-    errors.user-error "error: BoostBook: could not find docbook XSL stylesheets in:" [ path.native $(.boostbook-xsl-dir) ] ;
-  }
-  else
-  {
-    if --debug-configuration in [ modules.peek : ARGV ]
-    {
-      ECHO "notice: BoostBook: found boostbook XSL stylesheets in:" [ path.native $(.boostbook-xsl-dir) ] ;
-    }
-  }
-}
-
-rule check-boostbook-dtd-dir ( )
-{
-  if ! $(.boostbook-dtd-dir)
-  {
-    errors.user-error "error: BoostBook: could not find boostbook DTD." ;
-  }
-  else if ! [ path.glob $(.boostbook-dtd-dir) : boostbook.dtd ]
-  {
-    errors.user-error "error: BoostBook: could not find boostbook DTD in:" [ path.native $(.boostbook-dtd-dir) ] ;
-  }
-  else
-  {
-    if --debug-configuration in [ modules.peek : ARGV ]
-    {
-      ECHO "notice: BoostBook: found boostbook DTD in:" [ path.native $(.boostbook-dtd-dir) ] ;
-    }
-  }
-}
-
-rule check-boostbook-dir ( boostbook-dir ? )
-{
-  if $(boostbook-dir) && ! [ path.glob $(boostbook-dir) : xsl ]
-  {
-    errors.user-error "error: BoostBook: could not find boostbook in:" [ path.native $(boostbook-dir) ] ;
-  }
-}
-
-rule find-tools ( docbook-xsl-dir ? : docbook-dtd-dir ? : boostbook-dir ? )
-{
-  docbook-xsl-dir ?= [ modules.peek : DOCBOOK_XSL_DIR ] ;
-  docbook-dtd-dir ?= [ modules.peek : DOCBOOK_DTD_DIR ] ;
-  boostbook-dir ?= [ modules.peek : BOOSTBOOK_DIR ] ;
-
-  # Look for the boostbook stylesheets relative to BOOST_ROOT
-  # and Boost.Build.
-  local boost-build-root = [ path.make [ build-system.location ] ] ;
-  local boostbook-search-dirs = [ path.join $(boost-build-root) .. .. ] ;
-
-  local boost-root =  [ modules.peek : BOOST_ROOT ] ;
-  if $(boost-root)
-  {
-    boostbook-search-dirs += [ path.join [ path.make $(boost-root) ] tools ] ;
-  }
-  boostbook-dir ?= [ path.glob $(boostbook-search-dirs) : boostbook* ] ; 
-
-  # Try to find the tools in platform specific locations
-  if [ os.name ] = NT
-  {
-    # If installed by the Boost installer.
-    local boost-root = ;
-
-    local boost-installer-versions = snapshot cvs 1.33.0 ;
-    local boost-consulting-installer-versions = 1.33.1 1.34.0 1.34.1 ;
-    local boostpro-installer-versions =
-        1.35.0 1.36.0 1.37.0 1.38.0 1.39.0 1.40.0 1.41.0 1.42.0
-        1.43.0 1.44.0 1.45.0 1.46.0 1.47.0 1.48.0 1.49.0 1.50.0 ;
-
-    local old-installer-root = [ find-boost-in-registry Boost.org\\$(boost-installer-versions) ] ;
-
-    # Make sure that the most recent version is searched for first
-    boost-root += [ sequence.reverse
-      [ find-boost-in-registry
-        Boost-Consulting.com\\$(boost-consulting-installer-versions)
-        boostpro.com\\$(boostpro-installer-versions) ] ] ;
-
-    # Plausible locations.
-    local root = [ PWD ] ;
-    while $(root) != $(root:D) { root = $(root:D) ; }
-    root = [ path.make $(root) ] ;
-    local search-dirs = ;
-    local docbook-search-dirs = ;
-    for local p in $(boost-root) {
-      search-dirs += [ path.join $(p) tools ] ;
-    }
-    for local p in $(old-installer-root)
-    {
-      search-dirs += [ path.join $(p) share ] ;
-      docbook-search-dirs += [ path.join $(p) share ] ;
-    }
-    search-dirs += [ path.join $(root) Boost tools ] ;
-    search-dirs += [ path.join $(root) Boost share ] ;
-    docbook-search-dirs += [ path.join $(root) Boost share ] ;
-
-    docbook-xsl-dir ?= [ path.glob $(docbook-search-dirs) : docbook-xsl* ] ;
-    docbook-dtd-dir ?= [ path.glob $(docbook-search-dirs) : docbook-xml* ] ;
-    boostbook-dir ?= [ path.glob $(search-dirs) : boostbook* ] ;
-  }
-  else
-  {
-    # Plausible locations.
-
-    local share = /usr/local/share /usr/share /opt/share /opt/local/share ;
-    local dtd-versions = 4.2 ;
-
-    docbook-xsl-dir ?= [ path.glob $(share) : docbook-xsl* ] ;
-    docbook-xsl-dir ?= [ path.glob $(share)/sgml/docbook : xsl-stylesheets ] ;
-    docbook-xsl-dir ?= [ path.glob $(share)/xsl : docbook* ] ;
-
-    docbook-dtd-dir ?= [ path.glob $(share) : docbook-xml* ] ;
-    docbook-dtd-dir ?= [ path.glob $(share)/sgml/docbook : xml-dtd-$(dtd-versions)* ] ;
-    docbook-dtd-dir ?= [ path.glob $(share)/xml/docbook : $(dtd-versions) ] ;
-
-    boostbook-dir ?= [ path.glob $(share) : boostbook* ] ;
-
-    # Ubuntu Linux
-    docbook-xsl-dir ?= [ path.glob /usr/share/xml/docbook/stylesheet : nwalsh ] ;
-    docbook-dtd-dir ?= [ path.glob /usr/share/xml/docbook/schema/dtd : $(dtd-versions) ] ;
-  }
-
-  if $(docbook-xsl-dir) 
-  {
-    .docbook-xsl-dir = [ path.make $(docbook-xsl-dir[1]) ] ;
-  }
-  if $(docbook-dtd-dir) 
-  {
-    .docbook-dtd-dir = [ path.make $(docbook-dtd-dir[1]) ] ;
-  }
-
-  if --debug-configuration in [ modules.peek : ARGV ] 
-  {
-    ECHO "notice: Boost.Book: searching XSL/DTD in" ;
-    ECHO "notice:" [ sequence.transform path.native : $(boostbook-dir) ] ;
-  }    
-  local boostbook-xsl-dir ;
-  for local dir in $(boostbook-dir) {
-    boostbook-xsl-dir += [ path.glob $(dir) : xsl ] ;
-  }
-  local boostbook-dtd-dir ; 
-  for local dir in $(boostbook-dir) {
-    boostbook-dtd-dir += [ path.glob $(dir) : dtd ] ;
-  }
-  .boostbook-xsl-dir = $(boostbook-xsl-dir[1]) ;
-  .boostbook-dtd-dir = $(boostbook-dtd-dir[1]) ;
-
-  check-docbook-xsl-dir ;
-  check-docbook-dtd-dir ;
-  check-boostbook-xsl-dir ;
-  check-boostbook-dtd-dir ; 
-}
-
-rule xsl-dir
-{
-  lock-config ;
-  return $(.boostbook-xsl-dir) ;
-}
-
-rule dtd-dir
-{
-  lock-config ;
-  return $(.boostbook-dtd-dir) ;
-}
-
-rule docbook-xsl-dir
-{
-  lock-config ;
-  return $(.docbook-xsl-dir) ;
-}
-
-rule docbook-dtd-dir
-{
-  lock-config ;
-  return $(.docbook-dtd-dir) ;
-}
-
-rule dtdxml-to-boostbook ( target : source : properties * )
-{
-  lock-config ;
-  xslt $(target) : $(source) "$(.boostbook-xsl-dir)/dtd/dtd2boostbook.xsl" 
-                 : $(properties) ;
-}
-
-rule boostbook-to-docbook ( target : source : properties * )
-{
-  lock-config ;
-  local stylesheet = [ path.native $(.boostbook-xsl-dir)/docbook.xsl ] ;
-  xslt $(target) : $(source) $(stylesheet) : $(properties) ;
-}
-
-rule docbook-to-onehtml ( target : source : properties * )
-{
-  lock-config ;
-  local stylesheet = [ path.native $(.boostbook-xsl-dir)/html-single.xsl ] ;
-  xslt $(target) : $(source) $(stylesheet) : $(properties) ;
-}
-
-rule docbook-to-htmldir ( target : source : properties * )
-{
-  lock-config ;
-  local stylesheet = [ path.native $(.boostbook-xsl-dir)/html.xsl ] ;
-  xslt-dir $(target) : $(source) $(stylesheet) : $(properties) : html ;
-}
-
-rule docbook-to-xhtmldir ( target : source : properties * )
-{
-  lock-config ;
-  local stylesheet = [ path.native $(.boostbook-xsl-dir)/xhtml.xsl ] ;
-  xslt-dir $(target) : $(source) $(stylesheet) : $(properties) : xhtml ;
-}
-
-rule docbook-to-htmlhelp ( target : source : properties * )
-{
-  lock-config ;
-  local stylesheet = [ path.native $(.boostbook-xsl-dir)/html-help.xsl ] ;
-  xslt-dir $(target) : $(source) $(stylesheet) : $(properties) : htmlhelp ;
-}
-
-rule docbook-to-manpages ( target : source : properties * )
-{
-  lock-config ;
-  local stylesheet = [ path.native $(.boostbook-xsl-dir)/manpages.xsl ] ;
-  xslt-dir $(target) : $(source) $(stylesheet) : $(properties) : man ;
-}
-
-rule docbook-to-fo ( target : source : properties * )
-{
-  lock-config ;
-  local stylesheet = [ path.native $(.boostbook-xsl-dir)/fo.xsl ] ;
-  xslt $(target) : $(source) $(stylesheet) : $(properties) ;
-}
-
-rule format-catalog-path ( path )
-{
-    local result = $(path) ;
-    if [ xsltproc.is-cygwin ]
-    {
-        if [ os.name ] = NT
-        {
-            drive = [ MATCH ^/(.):(.*)$ : $(path) ] ;
-            result = /cygdrive/$(drive[1])$(drive[2]) ;
-        }
-    }
-    else
-    {
-        if [ os.name ] = CYGWIN
-        {
-            local native-path = [ path.native $(path) ] ;
-            result = [ path.make $(native-path:W) ] ;
-        }
-    }
-    return [ regex.replace $(result) " " "%20" ] ;
-}
-
-rule generate-xml-catalog ( target : sources * : properties * )
-{
-  print.output $(target) ;
-
-  # BoostBook DTD catalog entry
-  local boostbook-dtd-dir = [ boostbook.dtd-dir ] ;
-  if $(boostbook-dtd-dir)
-  {      
-    boostbook-dtd-dir = [ format-catalog-path $(boostbook-dtd-dir) ] ;
-  }
-    
-  print.text
-    "<?xml version=\"1.0\"?>"
-    "<!DOCTYPE catalog "
-    "  PUBLIC \"-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN\""
-    "  \"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd\">"
-    "<catalog xmlns=\"urn:oasis:names:tc:entity:xmlns:xml:catalog\">"
-    "  <rewriteURI uriStartString=\"http://www.boost.org/tools/boostbook/dtd/\" rewritePrefix=\"file://$(boostbook-dtd-dir)/\"/>"
-    : true ;
-
-  local docbook-xsl-dir = [ boostbook.docbook-xsl-dir ] ;    
-  if ! $(docbook-xsl-dir) 
-  {
-    ECHO "BoostBook warning: no DocBook XSL directory specified." ;
-    ECHO "  If you have the DocBook XSL stylesheets installed, please " ;
-    ECHO "  set DOCBOOK_XSL_DIR to the stylesheet directory on either " ;
-    ECHO "  the command line (via -sDOCBOOK_XSL_DIR=...) or in a " ;
-    ECHO "  Boost.Jam configuration file. The DocBook XSL stylesheets " ;
-    ECHO "  are available here: http://docbook.sourceforge.net/ " ;
-    ECHO "  Stylesheets will be downloaded on-the-fly (very slow!) " ;
-  }
-  else 
-  {
-    docbook-xsl-dir = [ format-catalog-path $(docbook-xsl-dir) ] ;      
-    print.text "  <rewriteURI uriStartString=\"http://docbook.sourceforge.net/release/xsl/current/\" rewritePrefix=\"file://$(docbook-xsl-dir)/\"/>" ;
-  }
-
-  local docbook-dtd-dir = [ boostbook.docbook-dtd-dir ] ;  
-  if ! $(docbook-dtd-dir)
-  {
-    ECHO "BoostBook warning: no DocBook DTD directory specified." ;
-    ECHO "  If you have the DocBook DTD installed, please set " ;
-    ECHO "  DOCBOOK_DTD_DIR to the DTD directory on either " ;
-    ECHO "  the command line (via -sDOCBOOK_DTD_DIR=...) or in a " ;
-    ECHO "  Boost.Jam configuration file. The DocBook DTD is available " ;
-    ECHO "  here: http://www.oasis-open.org/docbook/xml/4.2/index.shtml" ;
-    ECHO "  The DTD will be downloaded on-the-fly (very slow!) " ;
-  }
-  else 
-  {
-    docbook-dtd-dir = [ format-catalog-path $(docbook-dtd-dir) ] ;      
-    print.text "  <rewriteURI uriStartString=\"http://www.oasis-open.org/docbook/xml/4.2/\" rewritePrefix=\"file://$(docbook-dtd-dir)/\"/>" ;
-  }
-
-  print.text "</catalog>" ;
-}
-
-rule xml-catalog ( )
-{
-    if ! $(.xml-catalog)
-    {
-        # The target is created as part of the root project. But ideally
-        # it would be created as part of the boostbook project. This is not
-        # current possible as such global projects don't inherit things like
-        # the build directory.
-        
-        # Find the root project.
-        local root-project = [ project.current ] ;
-        root-project = [ $(root-project).project-module ] ;
-        while
-            [ project.attribute $(root-project) parent-module ] &&
-            [ project.attribute $(root-project) parent-module ] != user-config &&
-            [ project.attribute $(root-project) parent-module ] != project-config
-        {
-            root-project = [ project.attribute $(root-project) parent-module ] ;
-        }
-        .xml-catalog = [ new file-target boostbook_catalog
-            : XML
-            : [ project.target $(root-project) ]
-            : [ new action : boostbook.generate-xml-catalog ]
-            :
-            ] ;
-        .xml-catalog-file = [ $(.xml-catalog).path ] [ $(.xml-catalog).name ] ;
-        .xml-catalog-file = $(.xml-catalog-file:J=/) ;
-    }
-    return $(.xml-catalog) $(.xml-catalog-file) ;
-}
-
-class boostbook-generator : generator
-{
-    import feature ;
-    import virtual-target ;
-    import generators ;
-    import boostbook ;
-      
-    
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-    
-    rule run ( project name ? : property-set : sources * )
-    {
-        # Generate the catalog, but only once...
-        local global-catalog = [ boostbook.xml-catalog ] ;
-        local catalog = $(global-catalog[1]) ;
-        local catalog-file = $(global-catalog[2]) ;
-        local targets ;
-       
-        # Add the catalog to the property set
-        property-set = [ $(property-set).add-raw <catalog>$(catalog-file) ] ;
-
-        local type = none ;
-        local manifest ; 
-        local format = [ $(property-set).get <format> ] ;
-        switch $(format) 
-        {
-            case html    : 
-            {
-                type = HTMLDIR ;
-                manifest = HTML.manifest ;
-            }
-            case xhtml    : 
-            {
-                type = XHTMLDIR ;
-                manifest = HTML.manifest ;
-            }
-            case htmlhelp    : 
-            {
-                type = HTMLHELP ;
-                manifest = HTML.manifest ;
-            }
-            
-            case onehtml : type = HTML ;
-            
-            case man : 
-            {
-                type = MANPAGES ;
-                manifest = man.manifest ;
-            }
-            
-            case docbook : type = DOCBOOK ;
-            case fo      : type = FO ;
-            case pdf     : type = PDF ;
-            case ps      : type = PS ;
-            case tests   : type = TESTS ;
-        }
-        
-        if $(manifest)
-        {
-            # Create DOCBOOK file from BOOSTBOOK sources.
-            local base-target = [ generators.construct $(project) 
-              : DOCBOOK : $(property-set) : $(sources) ] ;
-            base-target = $(base-target[2]) ;
-            $(base-target).depends $(catalog) ;
-            
-            # Generate HTML/PDF/PS from DOCBOOK.
-            local target = [ generators.construct $(project) $(name)_$(manifest)
-                : $(type)
-                : [ $(property-set).add-raw
-                    <xsl:param>manifest=$(name)_$(manifest) ]
-                : $(base-target) ] ;
-            local name = [ $(property-set).get <name> ] ;
-            name ?= $(format) ;
-            $(target[2]).set-path $(name) ;
-            $(target[2]).depends $(catalog) ;            
-
-            targets += $(target[2]) ;
-        }
-        else {
-            local target = [ generators.construct $(project)
-              : $(type) : $(property-set) : $(sources) ] ;
-            
-            if ! $(target)
-            {
-                errors.error "Cannot build documentation type '$(format)'" ;
-            }
-            else 
-            {
-                $(target[2]).depends $(catalog) ;
-                targets += $(target[2]) ;
-            }
-        }
-        
-        return $(targets) ;
-    }
-}
-
-generators.register [ new boostbook-generator boostbook.main : : BOOSTBOOK_MAIN ] ;
-
-# Creates a boostbook target.
-rule boostbook ( target-name : sources * : requirements * : default-build * )
-{ 
-  local project = [ project.current ] ;
-    
-  targets.main-target-alternative 
-    [ new typed-target $(target-name) : $(project) : BOOSTBOOK_MAIN
-        : [ targets.main-target-sources $(sources) : $(target-name) ] 
-        : [ targets.main-target-requirements $(requirements) : $(project) ]
-        : [ targets.main-target-default-build $(default-build) : $(project) ] 
-    ] ;
-}
-
-#############################################################################
-# Dependency scanners
-#############################################################################
-# XInclude scanner. Mostly stolen from c-scanner :)
-# Note that this assumes an "xi" prefix for XIncludes. This isn't always the
-# case for XML documents, but we'll assume it's true for anything we encounter.
-class xinclude-scanner : scanner 
-{
-    import virtual-target ;
-    import path ;
-    import scanner ;
-        
-    rule __init__ ( includes * )
-    {
-        scanner.__init__ ;
-        self.includes = $(includes) ;
-    }
-    
-  rule pattern ( )
-  {
-    return "xi:include[ ]*href=\"([^\"]*)\"" ;
-  }
-
-  rule process ( target : matches * : binding )
-  {
-    local target_path = [ NORMALIZE_PATH $(binding:D) ] ;
-
-    NOCARE $(matches) ;
-    INCLUDES $(target) : $(matches) ;
-    SEARCH on $(matches) = $(target_path) $(self.includes:G=) ;
-    
-    scanner.propagate $(__name__) : $(matches) : $(target) ;     
-  }
-}
-
-scanner.register xinclude-scanner : xsl:path ;
-type.set-scanner XML : xinclude-scanner ;
-
-rule boostbook-to-tests ( target : source : properties * )
-{
-  lock-config ;
-  local boost_root = [ modules.peek : BOOST_ROOT ] ;
-  local native-path =
-    [ path.native [ path.join $(.boostbook-xsl-dir) testing Jamfile ] ] ;
-  local stylesheet = $(native-path:S=.xsl) ;
-  xslt $(target) : $(source) $(stylesheet) 
-                 : $(properties) <xsl:param>boost.root=$(boost_root) 
-                 ;
-}
-
-
diff --git a/SRC/Boost/tools/build/v2/tools/borland.jam b/SRC/Boost/tools/build/v2/tools/borland.jam
deleted file mode 100755
index 0f105bd..0000000
--- a/SRC/Boost/tools/build/v2/tools/borland.jam
+++ /dev/null
@@ -1,220 +0,0 @@
-# Copyright 2005 Dave Abrahams 
-# Copyright 2003 Rene Rivera 
-# Copyright 2003, 2004, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-#  Support for the Borland's command line compiler
-
-import property ;
-import generators ;
-import os ;
-import toolset : flags ;
-import feature : get-values ;
-import type ;
-import common ;
-
-feature.extend toolset : borland ;
-
-rule init ( version ? : command * : options * )
-{
-    local condition = [ common.check-init-parameters borland :
-        version $(version) ] ;
-    
-    local command = [ common.get-invocation-command borland : bcc32.exe 
-        : $(command) ] ;
-     
-    common.handle-options borland : $(condition) : $(command) : $(options) ;    
-    
-    if $(command)
-    {
-        command = [ common.get-absolute-tool-path $(command[-1]) ] ;
-    }   
-    root = $(command:D) ;    
-    
-    flags borland.compile STDHDRS $(condition) : $(root)/include/ ;
-    flags borland.link STDLIBPATH $(condition) : $(root)/lib ;
-    flags borland.link RUN_PATH $(condition) : $(root)/bin ;
-    flags borland .root $(condition) : $(root)/bin/ ;    
-}
-
-
-# A borland-specific target type
-type.register BORLAND.TDS : tds ;
-
-# Declare generators
-
-generators.register-linker borland.link : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB : EXE : <toolset>borland ;
-generators.register-linker borland.link.dll : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB : SHARED_LIB IMPORT_LIB : <toolset>borland ;
-
-generators.register-archiver borland.archive : OBJ : STATIC_LIB : <toolset>borland ;
-generators.register-c-compiler borland.compile.c++ : CPP : OBJ : <toolset>borland ;
-generators.register-c-compiler borland.compile.c : C : OBJ : <toolset>borland ;
-generators.register-standard borland.asm : ASM : OBJ : <toolset>borland ;
-
-# Declare flags 
-
-flags borland.compile OPTIONS <debug-symbols>on : -v ;
-flags borland.link OPTIONS <debug-symbols>on : -v ;
-
-flags borland.compile OPTIONS <optimization>off : -Od ;
-flags borland.compile OPTIONS <optimization>speed : -O2 ;
-flags borland.compile OPTIONS <optimization>space : -O1 ;
-
-if $(.BORLAND_HAS_FIXED_INLINING_BUGS)
-{
-    flags borland CFLAGS <inlining>off : -vi- ;
-    flags borland CFLAGS <inlining>on : -vi -w-inl ;
-    flags borland CFLAGS <inlining>full : -vi -w-inl ;
-}
-else
-{
-    flags borland CFLAGS : -vi- ;
-}
-
-flags borland.compile OPTIONS <warnings>off : -w- ;
-flags borland.compile OPTIONS <warnings>all : -w ;
-flags borland.compile OPTIONS <warnings-as-errors>on : -w! ;
-
-
-# Deal with various runtime configs...
-
-# This should be not for DLL
-flags borland OPTIONS <user-interface>console : -tWC ;
-
-# -tWR sets -tW as well, so we turn it off here and then turn it 
-# on again later if we need it:
-flags borland OPTIONS <runtime-link>shared : -tWR -tWC ;
-flags borland OPTIONS <user-interface>gui : -tW ;
-
-flags borland OPTIONS <main-target-type>LIB/<link>shared : -tWD ;
-# Hmm.. not sure what's going on here.
-flags borland OPTIONS : -WM- ;
-flags borland OPTIONS <threading>multi : -tWM ;
-
-
-
-flags borland.compile OPTIONS <cxxflags> ;
-flags borland.compile DEFINES <define> ;
-flags borland.compile INCLUDES <include> ;
-
-flags borland NEED_IMPLIB <main-target-type>LIB/<link>shared : "" ;
-
-#
-# for C++ compiles the following options are turned on by default:
-#
-# -j5    stops after 5 errors
-# -g255  allow an unlimited number of warnings
-# -q     no banner
-# -c     compile to object
-# -P     C++ code regardless of file extention
-# -a8    8 byte alignment, this option is on in the IDE by default 
-#        and effects binary compatibility.
-#
-
-# -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)"  -I"$(STDHDRS)" -o"$(<)" "$(>)"
-
-
-actions compile.c++
-{
-    "$(CONFIG_COMMAND)" -j5 -g255 -q -c -P -a8 -Vx- -Ve- -b- $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -I"$(STDHDRS)" -o"$(<)" "$(>)"
-}
-
-# For C, we don't pass -P flag
-actions compile.c
-{
-    "$(CONFIG_COMMAND)" -j5 -g255 -q -c -a8 -Vx- -Ve- -b- $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -I"$(STDHDRS)" -o"$(<)" "$(>)"
-}
-
-
-# Declare flags and action for linking
-toolset.flags borland.link OPTIONS <debug-symbols>on : -v ;
-toolset.flags borland.link LIBRARY_PATH <library-path> ;
-toolset.flags borland.link FINDLIBS_ST <find-static-library> ;
-toolset.flags borland.link FINDLIBS_SA <find-shared-library> ;
-toolset.flags borland.link LIBRARIES <library-file> ;
-
-flags borland.link OPTIONS <linkflags> ;
-flags borland.link OPTIONS <link>shared : -tWD ;
-
-flags borland.link LIBRARY_PATH_OPTION <toolset>borland : -L : unchecked ;
-flags borland.link LIBRARY_OPTION <toolset>borland : "" : unchecked ;
-
-
-
-# bcc32 needs to have ilink32 in the path in order to invoke it, so explicitly
-# specifying $(BCC_TOOL_PATH)bcc32 doesn't help. You need to add
-# $(BCC_TOOL_PATH) to the path
-# The NEED_IMPLIB variable controls whether we need to invoke implib.
-
-flags borland.archive AROPTIONS <archiveflags> ;
-
-# Declare action for archives. We don't use response file
-# since it's hard to get "+-" there.
-# The /P256 increases 'page' size -- with too low
-# values tlib fails when building large applications.
-# CONSIDER: don't know what 'together' is for...
-actions updated together piecemeal archive
-{ 
-    $(.set-path)$(.root:W)$(.old-path)
-    tlib $(AROPTIONS) /P256 /u /a /C "$(<:W)" +-"$(>:W)"
-}
-
-
-if [ os.name ] = CYGWIN
-{
-    .set-path = "cmd /S /C set \"PATH=" ;
-    .old-path = ";%PATH%\" \"&&\"" ;
-    
-
-    # Couldn't get TLIB to stop being confused about pathnames
-    # containing dashes (it seemed to treat them as option separators
-    # when passed through from bash), so we explicitly write the
-    # command into a .bat file and execute that.  TLIB is also finicky
-    # about pathname style! Forward slashes, too, are treated as
-    # options.
-    actions updated together piecemeal archive
-    { 
-       chdir $(<:D)
-       echo +-$(>:BS) > $(<:BS).rsp
-       $(.set-path)$(.root)$(.old-path) "tlib.exe" $(AROPTIONS) /P256 /C $(<:BS) @$(<:BS).rsp && $(RM) $(<:BS).rsp
-    }    
-}
-else if [ os.name ] = NT
-{
-    .set-path = "set \"PATH=" ;
-    .old-path = ";%PATH%\"
-      " ;
-}
-else
-{
-    .set-path = "PATH=\"" ;
-    .old-path = "\":$PATH
-      export PATH
-      " ;
-}
-
-RM = [ common.rm-command ] ;
-
-nl = "
-" ;
-
-actions link
-{
-    $(.set-path)$(.root:W)$(.old-path) "$(CONFIG_COMMAND)" -v -q $(OPTIONS) -L"$(LIBRARY_PATH:W)" -L"$(STDLIBPATH:W)" -e"$(<[1]:W)" @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
-}
-
-
-actions link.dll bind LIBRARIES RSP
-{
-    $(.set-path)$(.root:W)$(.old-path) "$(CONFIG_COMMAND)" -v -q $(OPTIONS) -L"$(LIBRARY_PATH:W)" -L"$(STDLIBPATH:W)" -e"$(<[1]:W)" @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"  && "$(.root)implib" "$(<[2]:W)" "$(<[1]:W)"
-}
-
-# It seems impossible to specify output file with directory when compiling
-# asm files using bcc32, so use tasm32 directly.
-# /ml makes all symbol names case-sensitive
-actions asm
-{
-    $(.set-path)$(.root:W)$(.old-path) tasm32.exe /ml "$(>)" "$(<)"
-}
-
diff --git a/SRC/Boost/tools/build/v2/tools/builtin.jam b/SRC/Boost/tools/build/v2/tools/builtin.jam
deleted file mode 100755
index d9c915d..0000000
--- a/SRC/Boost/tools/build/v2/tools/builtin.jam
+++ /dev/null
@@ -1,960 +0,0 @@
-# Copyright 2002, 2003, 2004, 2005 Dave Abrahams
-# Copyright 2002, 2005, 2006, 2007, 2010 Rene Rivera
-# Copyright 2006 Juergen Hunold
-# Copyright 2005 Toon Knapen
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Defines standard features and rules.
-
-import alias ;
-import "class" : new ;
-import errors ;
-import feature ;
-import generators ;
-import numbers ;
-import os ;
-import path ;
-import print ;
-import project ;
-import property ;
-import regex ;
-import scanner ;
-import sequence ;
-import stage ;
-import symlink ;
-import toolset ;
-import type ;
-import targets ;
-import types/register ;
-import utility ;
-import virtual-target ;
-import message ;
-import convert ;
-
-# FIXME: the following generate module import is not needed here but removing it
-# too hastly will break using code (e.g. the main Boost library Jamroot file)
-# that forgot to import the generate module before calling the generate rule.
-import generate ;
-
-
-.os-names = aix bsd cygwin darwin freebsd hpux iphone linux netbsd
-    openbsd osf qnx qnxnto sgi solaris unix unixware windows 
-    elf # Not actually an OS -- used for targeting bare metal where
-        # object format is ELF.  This catches both -elf and -eabi gcc
-        # targets and well as other compilers targeting ELF. It is not
-        # clear how often do we need to key of ELF specifically as opposed
-        # to other bare metal targets, but let's stick with gcc naming.
-    ;
-
-# Feature used to determine which OS we're on. New <target-os> and <host-os>
-# features should be used instead.
-local os = [ modules.peek : OS ] ;
-feature.feature os : $(os) : propagated link-incompatible ;
-
-
-# Translates from bjam current OS to the os tags used in host-os and target-os,
-# i.e. returns the running host-os.
-#
-local rule default-host-os ( )
-{
-    local host-os ;
-    if [ os.name ] in $(.os-names:U)
-    {
-        host-os = [ os.name ] ;
-    }
-    else
-    {
-        switch [ os.name ]
-        {
-            case NT           : host-os = windows ;
-            case AS400        : host-os = unix    ;
-            case MINGW        : host-os = windows ;
-            case BSDI         : host-os = bsd     ;
-            case COHERENT     : host-os = unix    ;
-            case DRAGONFLYBSD : host-os = bsd     ;
-            case IRIX         : host-os = sgi     ;
-            case MACOSX       : host-os = darwin  ;
-            case KFREEBSD     : host-os = freebsd ;
-            case LINUX        : host-os = linux   ;
-            case SUNOS        : 
-              ECHO "SunOS is not a supported operating system." ;
-              ECHO "We believe last version of SunOS was released in 1992, " ;
-              ECHO "so if you get this message, something is very wrong with configuration logic. " ;
-              ECHO "Please report this as a bug. " ;
-              EXIT ;
-            case *            : host-os = unix    ;
-        }
-    }
-    return $(host-os:L) ;
-}
-
-
-# The two OS features define a known set of abstract OS names. The host-os is
-# the OS under which bjam is running. Even though this should really be a fixed
-# property we need to list all the values to prevent unknown value errors. Both
-# set the default value to the current OS to account for the default use case of
-# building on the target OS.
-feature.feature host-os : $(.os-names) ;
-feature.set-default host-os : [ default-host-os ] ;
-
-feature.feature target-os : $(.os-names) : propagated link-incompatible ;
-feature.set-default target-os : [ default-host-os ] ;
-
-
-feature.feature toolset            :                 : implicit propagated symmetric ;
-feature.feature stdlib             : native          : propagated composite ;
-feature.feature link               : shared static   : propagated ;
-feature.feature runtime-link       : shared static   : propagated ;
-feature.feature runtime-debugging  : on off          : propagated ;
-feature.feature optimization       : off speed space : propagated ;
-feature.feature profiling          : off on          : propagated ;
-feature.feature inlining           : off on full     : propagated ;
-feature.feature threading          : single multi    : propagated ;
-feature.feature rtti               : on off          : propagated ;
-feature.feature exception-handling : on off          : propagated ;
-
-# Whether there is support for asynchronous EH (e.g. catching SEGVs).
-feature.feature asynch-exceptions  : off on          : propagated ;
-
-# Whether all extern "C" functions are considered nothrow by default.
-feature.feature extern-c-nothrow   : off on          : propagated ;
-
-feature.feature debug-symbols      : on off          : propagated ;
-# Controls whether the binary should be stripped -- that is have
-# everything not necessary to running removed. This option should
-# not be very often needed. Also, this feature will show up in
-# target paths of everything, not just binaries. Should fix that
-# when impelementing feature relevance.
-feature.feature strip              : off on          : propagated ;
-feature.feature define             :                 : free ;
-feature.feature undef              :                 : free ;
-feature.feature "include"          :                 : free path ; #order-sensitive ;
-feature.feature cflags             :                 : free ;
-feature.feature cxxflags           :                 : free ;
-feature.feature fflags             :                 : free ;
-feature.feature asmflags           :                 : free ;
-feature.feature linkflags          :                 : free ;
-feature.feature archiveflags       :                 : free ;
-feature.feature version            :                 : free ;
-
-# Generic, i.e. non-language specific, flags for tools.
-feature.feature flags           : : free ;
-feature.feature location-prefix : : free ;
-
-
-# The following features are incidental since they have no effect on built
-# products. Not making them incidental will result in problems in corner cases,
-# e.g.:
-#
-#    unit-test a : a.cpp : <use>b ;
-#    lib b : a.cpp b ;
-#
-# Here, if <use> is not incidental, we would decide we have two targets for
-# a.obj with different properties and complain about it.
-#
-# Note that making a feature incidental does not mean it is ignored. It may be
-# ignored when creating a virtual target, but the rest of build process will use
-# them.
-feature.feature use                 : : free dependency incidental ;
-feature.feature dependency          : : free dependency incidental ;
-feature.feature implicit-dependency : : free dependency incidental ;
-
-feature.feature warnings :
-    on         # Enable default/"reasonable" warning level for the tool.
-    all        # Enable all possible warnings issued by the tool.
-    off        # Disable all warnings issued by the tool.
-  : incidental propagated ;
-
-feature.feature warnings-as-errors :
-    off        # Do not fail the compilation if there are warnings.
-    on         # Fail the compilation if there are warnings.
-  : incidental propagated ;
-
-# Feature that allows us to configure the maximal template instantiation depth
-# level allowed by a C++ compiler. Applies only to C++ toolsets whose compilers
-# actually support this configuration setting.
-#
-# Note that Boost Build currently does not allow defining features that take any
-# positive integral value as a parameter, which is what we need here, so we just
-# define some of the values here and leave it up to the user to extend this set
-# as he needs using the feature.extend rule.
-#
-# TODO: This should be upgraded as soon as Boost Build adds support for custom
-# validated feature values or at least features allowing any positive integral
-# value. See related Boost Build related trac ticket #194.
-#
-feature.feature c++-template-depth
-    :
-        [ numbers.range 64 1024 : 64 ]
-        [ numbers.range 20 1000 : 10 ]
-        #   Maximum template instantiation depth guaranteed for ANSI/ISO C++
-        # conforming programs.
-        17
-    :
-        incidental optional propagated ;
-
-feature.feature source              :            : free dependency incidental ;
-feature.feature library             :            : free dependency incidental ;
-feature.feature file                :            : free dependency incidental ;
-feature.feature find-shared-library :            : free ; #order-sensitive ;
-feature.feature find-static-library :            : free ; #order-sensitive ;
-feature.feature library-path        :            : free path ; #order-sensitive ;
-
-# Internal feature.
-feature.feature library-file        :            : free dependency ;
-
-feature.feature name                :            : free ;
-feature.feature tag                 :            : free ;
-feature.feature search              :            : free path ; #order-sensitive ;
-feature.feature location            :            : free path ;
-feature.feature dll-path            :            : free path ;
-feature.feature hardcode-dll-paths  : true false : incidental ;
-
-
-# An internal feature that holds the paths of all dependency shared libraries.
-# On Windows, it is needed so that we can add all those paths to PATH when
-# running applications. On Linux, it is needed to add proper -rpath-link command
-# line options.
-feature.feature xdll-path : : free path ;
-
-# Provides means to specify def-file for windows DLLs.
-feature.feature def-file : : free dependency ;
-
-feature.feature suppress-import-lib : false true : incidental ;
-
-# Internal feature used to store the name of a bjam action to call when building
-# a target.
-feature.feature action : : free ;
-
-# This feature is used to allow specific generators to run. For example, QT
-# tools can only be invoked when QT library is used. In that case, <allow>qt
-# will be in usage requirement of the library.
-feature.feature allow : : free ;
-
-# The addressing model to generate code for. Currently a limited set only
-# specifying the bit size of pointers.
-feature.feature address-model : 16 32 64 32_64 : propagated optional ;
-
-# Type of CPU architecture to compile for.
-feature.feature architecture :
-    # x86 and x86-64
-    x86
-
-    # ia64
-    ia64
-
-    # Sparc
-    sparc
-
-    # RS/6000 & PowerPC
-    power
-
-    # MIPS/SGI
-    mips1 mips2 mips3 mips4 mips32 mips32r2 mips64
-
-    # HP/PA-RISC
-    parisc
-
-    # Advanced RISC Machines
-    arm
-
-    # Combined architectures for platforms/toolsets that support building for
-    # multiple architectures at once. "combined" would be the default multi-arch
-    # for the toolset.
-    combined
-    combined-x86-power
-
-    : propagated optional ;
-
-# The specific instruction set in an architecture to compile.
-feature.feature instruction-set :
-    # x86 and x86-64
-    native i386 i486 i586 i686 pentium pentium-mmx pentiumpro pentium2 pentium3
-    pentium3m pentium-m pentium4 pentium4m prescott nocona core2 conroe conroe-xe
-    conroe-l allendale mermon mermon-xe kentsfield kentsfield-xe penryn wolfdale
-    yorksfield nehalem k6 k6-2 k6-3 athlon athlon-tbird athlon-4 athlon-xp
-    athlon-mp k8 opteron athlon64 athlon-fx winchip-c6 winchip2 c3 c3-2
-
-    # ia64
-    itanium itanium1 merced itanium2 mckinley
-
-    # Sparc
-    v7 cypress v8 supersparc sparclite hypersparc sparclite86x f930 f934
-    sparclet tsc701 v9 ultrasparc ultrasparc3
-
-    # RS/6000 & PowerPC
-    401 403 405 405fp 440 440fp 505 601 602 603 603e 604 604e 620 630 740 7400
-    7450 750 801 821 823 860 970 8540 power-common ec603e g3 g4 g5 power power2
-    power3 power4 power5 powerpc powerpc64 rios rios1 rsc rios2 rs64a
-
-    # MIPS
-    4kc 4kp 5kc 20kc m4k r2000 r3000 r3900 r4000 r4100 r4300 r4400 r4600 r4650
-    r6000 r8000 rm7000 rm9000 orion sb1 vr4100 vr4111 vr4120 vr4130 vr4300
-    vr5000 vr5400 vr5500
-
-    # HP/PA-RISC
-    700 7100 7100lc 7200 7300 8000
-
-    # Advanced RISC Machines
-    armv2 armv2a armv3 armv3m armv4 armv4t armv5 armv5t armv5te armv6 armv6j iwmmxt ep9312
-
-    : propagated optional ;
-
-# Used to select a specific variant of C++ ABI if the compiler supports several.
-feature.feature c++abi : : propagated optional ;
-
-feature.feature conditional : : incidental free ;
-
-# The value of 'no' prevents building of a target.
-feature.feature build : yes no : optional ;
-
-# Windows-specific features
-
-feature.feature user-interface : console gui wince native auto ;
-
-feature.feature variant : : implicit composite propagated symmetric ;
-
-
-# Declares a new variant.
-#
-# First determines explicit properties for this variant, by refining parents'
-# explicit properties with the passed explicit properties. The result is
-# remembered and will be used if this variant is used as parent.
-#
-# Second, determines the full property set for this variant by adding to the
-# explicit properties default values for all missing non-symmetric properties.
-#
-# Lastly, makes appropriate value of 'variant' property expand to the full
-# property set.
-#
-rule variant ( name            # Name of the variant
-    : parents-or-properties *  # Specifies parent variants, if
-                               # 'explicit-properties' are given, and
-                               # explicit-properties or parents otherwise.
-    : explicit-properties *    # Explicit properties.
-    )
-{
-    local parents ;
-    if ! $(explicit-properties)
-    {
-        if $(parents-or-properties[1]:G)
-        {
-            explicit-properties = $(parents-or-properties) ;
-        }
-        else
-        {
-            parents = $(parents-or-properties) ;
-        }
-    }
-    else
-    {
-        parents = $(parents-or-properties) ;
-    }
-
-    # The problem is that we have to check for conflicts between base variants.
-    if $(parents[2])
-    {
-        errors.error "multiple base variants are not yet supported" ;
-    }
-
-    local inherited ;
-    # Add explicitly specified properties for parents.
-    for local p in $(parents)
-    {
-        # TODO: This check may be made stricter.
-        if ! [ feature.is-implicit-value $(p) ]
-        {
-            errors.error "Invalid base variant" $(p)  ;
-        }
-
-        inherited += $(.explicit-properties.$(p)) ;
-    }
-    property.validate $(explicit-properties) ;
-    explicit-properties = [ property.refine $(inherited)
-        : $(explicit-properties) ] ;
-
-    # Record explicitly specified properties for this variant. We do this after
-    # inheriting parents' properties so they affect other variants derived from
-    # this one.
-    .explicit-properties.$(name) = $(explicit-properties) ;
-
-    feature.extend variant : $(name) ;
-    feature.compose <variant>$(name) : $(explicit-properties) ;
-}
-IMPORT $(__name__) : variant : : variant ;
-
-
-variant debug   : <optimization>off <debug-symbols>on <inlining>off
-                  <runtime-debugging>on ;
-variant release : <optimization>speed <debug-symbols>off <inlining>full
-                  <runtime-debugging>off <define>NDEBUG ;
-variant profile : release : <profiling>on <debug-symbols>on ;
-
-
-class searched-lib-target : abstract-file-target
-{
-    rule __init__ ( name
-        : project
-        : shared ?
-        : search *
-        : action
-    )
-    {
-        abstract-file-target.__init__ $(name) : SEARCHED_LIB : $(project)
-          : $(action) : ;
-
-        self.shared = $(shared) ;
-        self.search = $(search) ;
-    }
-
-    rule shared ( )
-    {
-        return $(self.shared) ;
-    }
-
-    rule search ( )
-    {
-        return $(self.search) ;
-    }
-
-    rule actualize-location ( target )
-    {
-        NOTFILE $(target) ;
-    }
-
-    rule path ( )
-    {
-    }
-}
-
-
-# The generator class for libraries (target type LIB). Depending on properties
-# it will request building of the appropriate specific library type --
-# -- SHARED_LIB, STATIC_LIB or SHARED_LIB.
-#
-class lib-generator : generator
-{
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-
-    rule run ( project name ? : property-set : sources * )
-    {
-        # The lib generator is composing, and can be only invoked with an
-        # explicit name. This check is present in generator.run (and so in
-        # builtin.linking-generator) but duplicated here to avoid doing extra
-        # work.
-        if $(name)
-        {
-            local properties = [ $(property-set).raw ] ;
-            # Determine the needed target type.
-            local actual-type ;
-                # <source>files can be generated by <conditional>@rule feature
-                # in which case we do not consider it a SEARCHED_LIB type.
-            if ! <source> in $(properties:G) &&
-               ( <search> in $(properties:G) || <name> in $(properties:G) )
-            {
-                actual-type = SEARCHED_LIB ;
-            }
-            else if <file> in $(properties:G)
-            {
-                actual-type = LIB ;
-            }
-            else if <link>shared in $(properties)
-            {
-                actual-type = SHARED_LIB ;
-            }
-            else
-            {
-                actual-type = STATIC_LIB ;
-            }
-            property-set = [ $(property-set).add-raw <main-target-type>LIB ] ;
-            # Construct the target.
-            return [ generators.construct $(project) $(name) : $(actual-type)
-                : $(property-set) : $(sources) ] ;
-        }
-    }
-
-    rule viable-source-types ( )
-    {
-        return * ;
-    }
-}
-
-
-generators.register [ new lib-generator builtin.lib-generator :  : LIB ] ;
-
-
-# The implementation of the 'lib' rule. Beyond standard syntax that rule allows
-# simplified: "lib a b c ;".
-#
-rule lib ( names + : sources * : requirements * : default-build * :
-    usage-requirements * )
-{
-    if $(names[2])
-    {
-        if <name> in $(requirements:G)
-        {
-            errors.user-error "When several names are given to the 'lib' rule" :
-                "it is not allowed to specify the <name> feature." ;
-        }
-        if $(sources)
-        {
-            errors.user-error "When several names are given to the 'lib' rule" :
-                "it is not allowed to specify sources." ;
-        }
-    }
-
-    # This is a circular module dependency so it must be imported here.
-    import targets ;
-
-    local project = [ project.current ] ;
-    local result ;
-
-    for local name in $(names)
-    {
-        local r = $(requirements) ;
-        # Support " lib a ; " and " lib a b c ; " syntax.
-        if ! $(sources) && ! <name> in $(requirements:G)
-                        && ! <file> in $(requirements:G)
-        {
-            r += <name>$(name) ;
-        }
-        result += [ targets.main-target-alternative
-            [ new typed-target $(name) : $(project) : LIB
-                : [ targets.main-target-sources $(sources) : $(name) ]
-                : [ targets.main-target-requirements $(r) : $(project) ]
-                : [ targets.main-target-default-build $(default-build) : $(project) ]
-                : [ targets.main-target-usage-requirements $(usage-requirements) : $(project) ]
-            ] ] ;
-    }
-    return $(result) ;
-}
-IMPORT $(__name__) : lib : : lib ;
-
-
-class searched-lib-generator : generator
-{
-    import property-set ;
-
-    rule __init__ ( )
-    {
-        # The requirements cause the generators to be tried *only* when we're
-        # building a lib target with a 'search' feature. This seems ugly --- all
-        # we want is to make sure searched-lib-generator is not invoked deep
-        # inside transformation search to produce intermediate targets.
-        generator.__init__ searched-lib-generator : : SEARCHED_LIB ;
-    }
-
-    rule run ( project name ? : property-set : sources * )
-    {
-        if $(name)
-        {
-            # If 'name' is empty, it means we have not been called to build a
-            # top-level target. In this case, we just fail immediately, because
-            # searched-lib-generator cannot be used to produce intermediate
-            # targets.
-
-            local properties = [ $(property-set).raw ] ;
-            local shared ;
-            if <link>shared in $(properties)
-            {
-                shared = true ;
-            }
-
-            local search = [ feature.get-values <search> : $(properties) ] ;
-
-            local a = [ new null-action $(property-set) ] ;
-            local lib-name = [ feature.get-values <name> : $(properties) ] ;
-            lib-name ?= $(name) ;
-            local t = [ new searched-lib-target $(lib-name) : $(project)
-                : $(shared) : $(search) : $(a) ] ;
-            # We return sources for a simple reason. If there is
-            #    lib png : z : <name>png ;
-            # the 'z' target should be returned, so that apps linking to 'png'
-            # will link to 'z', too.
-            return [ property-set.create <xdll-path>$(search) ]
-                   [ virtual-target.register $(t) ] $(sources) ;
-        }
-    }
-}
-
-generators.register [ new searched-lib-generator ] ;
-
-
-class prebuilt-lib-generator : generator
-{
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-
-    rule run ( project name ? : property-set : sources * )
-    {
-        local f = [ $(property-set).get <file> ] ;
-        return $(f) $(sources) ;
-    }
-}
-
-generators.register
-  [ new prebuilt-lib-generator builtin.prebuilt : : LIB : <file> ] ;
-
-generators.override builtin.prebuilt : builtin.lib-generator ;
-
-class preprocessed-target-class : basic-target
-{
-    import generators ;
-    rule construct ( name : sources * : property-set )
-    {
-        local result = [ generators.construct [ project ]
-            $(name) : PREPROCESSED_CPP : $(property-set) : $(sources) ] ;
-        if ! $(result)
-        {
-            result = [ generators.construct [ project ]
-                $(name) : PREPROCESSED_C : $(property-set) : $(sources) ] ;
-        }
-        if ! $(result)
-        {
-            local s ;
-            for x in $(sources)
-            {
-                s += [ $(x).name ] ;
-            }
-            local p = [ project ] ;
-            errors.user-error
-                "In project" [ $(p).name ] :
-                "Could not construct preprocessed file \"$(name)\" from $(s:J=, )." ;
-        }
-        return $(result) ;
-    }
-}
-
-rule preprocessed ( name : sources * : requirements * : default-build * :
-    usage-requirements * )
-{
-    local project = [ project.current ] ;
-    return [ targets.main-target-alternative
-        [ new preprocessed-target-class $(name) : $(project)
-            : [ targets.main-target-sources $(sources) : $(name) ]
-            : [ targets.main-target-requirements $(r) : $(project) ]
-            : [ targets.main-target-default-build $(default-build) : $(project) ]
-            : [ targets.main-target-usage-requirements $(usage-requirements) : $(project) ]
-        ] ] ;
-}
-
-IMPORT $(__name__) : preprocessed : : preprocessed ;
-
-class compile-action : action
-{
-    import sequence ;
-
-    rule __init__ ( targets * : sources * : action-name : properties * )
-    {
-        action.__init__ $(targets) : $(sources) : $(action-name) : $(properties) ;
-    }
-
-    # For all virtual targets for the same dependency graph as self, i.e. which
-    # belong to the same main target, add their directories to the include path.
-    #
-    rule adjust-properties ( property-set )
-    {
-        local s = [ $(self.targets[1]).creating-subvariant ] ;
-        return [ $(property-set).add-raw
-          [ $(s).implicit-includes "include" : H ] ] ;
-    }
-}
-
-
-# Declare a special compiler generator. The only thing it does is changing the
-# type used to represent 'action' in the constructed dependency graph to
-# 'compile-action'. That class in turn adds additional include paths to handle
-# cases when a source file includes headers which are generated themselves.
-#
-class C-compiling-generator : generator
-{
-    rule __init__ ( id : source-types + : target-types + : requirements *
-        : optional-properties * )
-    {
-        generator.__init__ $(id) : $(source-types) : $(target-types) :
-            $(requirements) : $(optional-properties) ;
-    }
-
-    rule action-class ( )
-    {
-        return compile-action ;
-    }
-}
-
-
-rule register-c-compiler ( id : source-types + : target-types + : requirements *
-    : optional-properties * )
-{
-    generators.register [ new C-compiling-generator $(id) : $(source-types) :
-        $(target-types) : $(requirements) : $(optional-properties) ] ;
-}
-
-# FIXME: this is ugly, should find a better way (we would like client code to
-# register all generators as "generators.some-rule" instead of
-# "some-module.some-rule".)
-#
-IMPORT $(__name__) : register-c-compiler : : generators.register-c-compiler ;
-
-
-# The generator class for handling EXE and SHARED_LIB creation.
-#
-class linking-generator : generator
-{
-    import path ;
-    import project ;
-    import property-set ;
-    import type ;
-
-    rule __init__ ( id
-        composing ?    :  # The generator will be composing if a non-empty
-                          # string is passed or the parameter is not given. To
-                          # make the generator non-composing, pass an empty
-                          # string ("").
-        source-types + :
-        target-types + :
-        requirements * )
-    {
-        composing ?= true ;
-        generator.__init__ $(id) $(composing) : $(source-types)
-            : $(target-types) : $(requirements) ;
-    }
-
-    rule run ( project name ? : property-set : sources + )
-    {
-        sources += [ $(property-set).get <library>  ] ;
-
-        # Add <library-path> properties for all searched libraries.
-        local extra ;
-        for local s in $(sources)
-        {
-            if [ $(s).type ] = SEARCHED_LIB
-            {
-                local search = [ $(s).search ] ;
-                extra += <library-path>$(search) ;
-            }
-        }
-
-        # It is possible that sources include shared libraries that did not came
-        # from 'lib' targets, e.g. .so files specified as sources. In this case
-        # we have to add extra dll-path properties and propagate extra xdll-path
-        # properties so that application linking to us will get xdll-path to
-        # those libraries.
-        local extra-xdll-paths ;
-        for local s in $(sources)
-        {
-            if [ type.is-derived [ $(s).type ] SHARED_LIB ] && ! [ $(s).action ]
-            {
-                # Unfortunately, we do not have a good way to find the path to a
-                # file, so use this nasty approach.
-                #
-                # TODO: This needs to be done better. One thing that is really
-                # broken with this is that it does not work correctly with
-                # projects having multiple source locations.
-                local p = [ $(s).project ] ;
-                local location = [ path.root [ $(s).name ]
-                    [ $(p).get source-location ] ] ;
-                extra-xdll-paths += [ path.parent $(location) ] ;
-            }
-        }
-
-        # Hardcode DLL paths only when linking executables.
-        # Pros: do not need to relink libraries when installing.
-        # Cons: "standalone" libraries (plugins, python extensions) can not
-        # hardcode paths to dependent libraries.
-        if [ $(property-set).get <hardcode-dll-paths> ] = true
-            && [ type.is-derived $(self.target-types[1]) EXE ]
-        {
-            local xdll-path = [ $(property-set).get <xdll-path> ] ;
-            extra += <dll-path>$(xdll-path) <dll-path>$(extra-xdll-paths) ;
-        }
-
-        if $(extra)
-        {
-            property-set = [ $(property-set).add-raw $(extra) ] ;
-        }
-
-        local result = [ generator.run $(project) $(name) : $(property-set)
-            : $(sources) ] ;
-
-        local ur ;
-        if $(result)
-        {
-            ur = [ extra-usage-requirements $(result) : $(property-set) ] ;
-            ur = [ $(ur).add
-              [ property-set.create <xdll-path>$(extra-xdll-paths) ] ] ;
-        }
-        return $(ur) $(result) ;
-    }
-
-    rule extra-usage-requirements ( created-targets * : property-set )
-    {
-        local result = [ property-set.empty ] ;
-        local extra ;
-
-        # Add appropricate <xdll-path> usage requirements.
-        local raw = [ $(property-set).raw ] ;
-        if <link>shared in $(raw)
-        {
-            local paths ;
-            local pwd = [ path.pwd ] ;
-            for local t in $(created-targets)
-            {
-                if [ type.is-derived [ $(t).type ] SHARED_LIB ]
-                {
-                    paths += [ path.root [ path.make [ $(t).path ] ] $(pwd) ] ;
-                }
-            }
-            extra += $(paths:G=<xdll-path>) ;
-        }
-
-        # We need to pass <xdll-path> features that we've got from sources,
-        # because if a shared library is built, exe using it needs to know paths
-        # to other shared libraries this one depends on in order to be able to
-        # find them all at runtime.
-
-        # Just pass all features in property-set, it is theorically possible
-        # that we will propagate <xdll-path> features explicitly specified by
-        # the user, but then the user is to blaim for using an internal feature.
-        local values = [ $(property-set).get <xdll-path> ] ;
-        extra += $(values:G=<xdll-path>) ;
-
-        if $(extra)
-        {
-            result = [ property-set.create $(extra) ] ;
-        }
-        return $(result) ;
-    }
-
-    rule generated-targets ( sources + : property-set : project name ? )
-    {
-        local sources2 ;     # Sources to pass to inherited rule.
-        local properties2 ;  # Properties to pass to inherited rule.
-        local libraries ;    # Library sources.
-
-        # Searched libraries are not passed as arguments to the linker but via
-        # some option. So, we pass them to the action using a property.
-        properties2 = [ $(property-set).raw ] ;
-        local fsa ;
-        local fst ;
-        for local s in $(sources)
-        {
-            if [ type.is-derived [ $(s).type ] SEARCHED_LIB ]
-            {
-                local name = [ $(s).name ] ;
-                if [ $(s).shared ]
-                {
-                    fsa += $(name) ;
-                }
-                else
-                {
-                    fst += $(name) ;
-                }
-            }
-            else
-            {
-                sources2 += $(s) ;
-            }
-        }
-        properties2 += <find-shared-library>$(fsa:J=&&)
-                       <find-static-library>$(fst:J=&&) ;
-
-        return [ generator.generated-targets $(sources2)
-            : [ property-set.create $(properties2) ] : $(project) $(name) ] ;
-    }
-}
-
-
-rule register-linker ( id composing ? : source-types + : target-types +
-    : requirements * )
-{
-    generators.register [ new linking-generator $(id) $(composing)
-        : $(source-types) : $(target-types) : $(requirements) ] ;
-}
-
-
-# The generator class for handling STATIC_LIB creation.
-#
-class archive-generator : generator
-{
-    import property-set ;
-
-    rule __init__ ( id composing ? : source-types + : target-types +
-        : requirements * )
-    {
-        composing ?= true ;
-        generator.__init__ $(id) $(composing) : $(source-types)
-            : $(target-types) : $(requirements) ;
-    }
-
-    rule run ( project name ? : property-set : sources + )
-    {
-        sources += [ $(property-set).get <library>  ] ;
-
-        local result = [ generator.run $(project) $(name) : $(property-set)
-            : $(sources) ] ;
-
-        # For static linking, if we get a library in source, we can not directly
-        # link to it so we need to cause our dependencies to link to that
-        # library. There are two approaches:
-        # - adding the library to the list of returned targets.
-        # - using the <library> usage requirements.
-        # The problem with the first is:
-        #
-        #     lib a1 : : <file>liba1.a ;
-        #     lib a2 : a2.cpp a1 : <link>static ;
-        #     install dist : a2 ;
-        #
-        # here we will try to install 'a1', even though it is not necessary in
-        # the general case. With the second approach, even indirect dependants
-        # will link to the library, but it should not cause any harm. So, return
-        # all LIB sources together with created targets, so that dependants link
-        # to them.
-        local usage-requirements ;
-        if [ $(property-set).get <link> ] = static
-        {
-            for local t in $(sources)
-            {
-                if [ type.is-derived [ $(t).type ] LIB ]
-                {
-                    usage-requirements += <library>$(t) ;
-                }
-            }
-        }
-
-        usage-requirements = [ property-set.create $(usage-requirements) ] ;
-
-        return $(usage-requirements) $(result) ;
-    }
-}
-
-
-rule register-archiver ( id composing ? : source-types + : target-types +
-    : requirements * )
-{
-    generators.register [ new archive-generator $(id) $(composing)
-        : $(source-types) : $(target-types) : $(requirements) ] ;
-}
-
-
-# Generator that accepts everything and produces nothing. Useful as a general
-# fallback for toolset-specific actions like PCH generation.
-#
-class dummy-generator : generator
-{
-    import property-set ;
-
-    rule run ( project name ? : property-set : sources + )
-    {
-        return [ property-set.empty ] ;
-    }
-}
-
-IMPORT $(__name__) : register-linker register-archiver
-    : : generators.register-linker generators.register-archiver ;
diff --git a/SRC/Boost/tools/build/v2/tools/builtin.py b/SRC/Boost/tools/build/v2/tools/builtin.py
deleted file mode 100755
index bd9be5e..0000000
--- a/SRC/Boost/tools/build/v2/tools/builtin.py
+++ /dev/null
@@ -1,718 +0,0 @@
-# Status: minor updates by Steven Watanabe to make gcc work
-#
-#  Copyright (C) Vladimir Prus 2002. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-
-""" Defines standard features and rules.
-"""
-
-import b2.build.targets as targets
-
-import sys
-from b2.build import feature, property, virtual_target, generators, type, property_set, scanner
-from b2.util.utility import *
-from b2.util import path, regex, bjam_signature
-import b2.tools.types
-from b2.manager import get_manager
-
-
-# Records explicit properties for a variant.
-# The key is the variant name.
-__variant_explicit_properties = {}
-
-def reset ():
-    """ Clear the module state. This is mainly for testing purposes.
-    """
-    global __variant_explicit_properties
-
-    __variant_explicit_properties = {}
-
- at bjam_signature((["name"], ["parents_or_properties", "*"], ["explicit_properties", "*"]))
-def variant (name, parents_or_properties, explicit_properties = []):
-    """ Declares a new variant.
-        First determines explicit properties for this variant, by
-        refining parents' explicit properties with the passed explicit
-        properties. The result is remembered and will be used if
-        this variant is used as parent.
-        
-        Second, determines the full property set for this variant by
-        adding to the explicit properties default values for all properties 
-        which neither present nor are symmetric.
-        
-        Lastly, makes appropriate value of 'variant' property expand
-        to the full property set.
-        name:                   Name of the variant
-        parents_or_properties:  Specifies parent variants, if 
-                                'explicit_properties' are given,
-                                and explicit_properties otherwise.
-        explicit_properties:    Explicit properties.
-    """
-    parents = []
-    if not explicit_properties:
-        explicit_properties = parents_or_properties
-    else:
-        parents = parents_or_properties
-    
-    inherited = property_set.empty()
-    if parents:
-
-        # If we allow multiple parents, we'd have to to check for conflicts
-        # between base variants, and there was no demand for so to bother.
-        if len (parents) > 1:
-            raise BaseException ("Multiple base variants are not yet supported")
-        
-        p = parents[0]
-        # TODO: the check may be stricter
-        if not feature.is_implicit_value (p):
-            raise BaseException ("Invalid base varaint '%s'" % p)
-        
-        inherited = __variant_explicit_properties[p]
-
-    explicit_properties = property_set.create_with_validation(explicit_properties)
-    explicit_properties = inherited.refine(explicit_properties)
-    
-    # Record explicitly specified properties for this variant
-    # We do this after inheriting parents' properties, so that
-    # they affect other variants, derived from this one.
-    __variant_explicit_properties[name] = explicit_properties
-           
-    feature.extend('variant', [name])
-    feature.compose ("<variant>" + name, explicit_properties.all())
-
-__os_names = """
-    amiga aix bsd cygwin darwin dos emx freebsd hpux iphone linux netbsd
-    openbsd osf qnx qnxnto sgi solaris sun sunos svr4 sysv ultrix unix unixware
-    vms windows
-""".split()
-
-# Translates from bjam current OS to the os tags used in host-os and target-os,
-# i.e. returns the running host-os.
-#
-def default_host_os():
-    host_os = os_name()
-    if host_os not in (x.upper() for x in __os_names):
-        if host_os == 'NT': host_os = 'windows'
-        elif host_os == 'AS400': host_os = 'unix'
-        elif host_os == 'MINGW': host_os = 'windows'
-        elif host_os == 'BSDI': host_os = 'bsd'
-        elif host_os == 'COHERENT': host_os = 'unix'
-        elif host_os == 'DRAGONFLYBSD': host_os = 'bsd'
-        elif host_os == 'IRIX': host_os = 'sgi'
-        elif host_os == 'MACOSX': host_os = 'darwin'
-        elif host_os == 'KFREEBSD': host_os = 'freebsd'
-        elif host_os == 'LINUX': host_os = 'linux'
-        else: host_os = 'unix'
-    return host_os.lower()
-
-def register_globals ():
-    """ Registers all features and variants declared by this module.
-    """
-
-    # This feature is used to determine which OS we're on.
-    # In future, this may become <target-os> and <host-os>
-    # TODO: check this. Compatibility with bjam names? Subfeature for version?
-    os = sys.platform
-    feature.feature ('os', [os], ['propagated', 'link-incompatible'])
-
-
-    # The two OS features define a known set of abstract OS names. The host-os is
-    # the OS under which bjam is running. Even though this should really be a fixed
-    # property we need to list all the values to prevent unknown value errors. Both
-    # set the default value to the current OS to account for the default use case of
-    # building on the target OS.
-    feature.feature('host-os', __os_names)
-    feature.set_default('host-os', default_host_os())
-
-    feature.feature('target-os', __os_names, ['propagated', 'link-incompatible'])
-    feature.set_default('target-os', default_host_os())
-    
-    feature.feature ('toolset', [], ['implicit', 'propagated' ,'symmetric'])
-    
-    feature.feature ('stdlib', ['native'], ['propagated', 'composite'])
-    
-    feature.feature ('link', ['shared', 'static'], ['propagated'])
-    feature.feature ('runtime-link', ['shared', 'static'], ['propagated'])
-    feature.feature ('runtime-debugging', ['on', 'off'], ['propagated'])
-    
-    
-    feature.feature ('optimization',  ['off', 'speed', 'space'], ['propagated'])
-    feature.feature ('profiling', ['off', 'on'], ['propagated'])
-    feature.feature ('inlining', ['off', 'on', 'full'], ['propagated'])
-    
-    feature.feature ('threading', ['single', 'multi'], ['propagated'])
-    feature.feature ('rtti', ['on', 'off'], ['propagated'])
-    feature.feature ('exception-handling', ['on', 'off'], ['propagated'])
-    feature.feature ('debug-symbols', ['on', 'off'], ['propagated'])
-    feature.feature ('define', [], ['free'])
-    feature.feature ('include', [], ['free', 'path']) #order-sensitive
-    feature.feature ('cflags', [], ['free'])
-    feature.feature ('cxxflags', [], ['free'])
-    feature.feature ('linkflags', [], ['free'])
-    feature.feature ('archiveflags', [], ['free'])
-    feature.feature ('version', [], ['free'])
-    
-    feature.feature ('location-prefix', [], ['free'])
-
-    feature.feature ('action', [], ['free'])
-
-    
-    # The following features are incidental, since
-    # in themself they have no effect on build products.
-    # Not making them incidental will result in problems in corner
-    # cases, for example:
-    # 
-    #    unit-test a : a.cpp : <use>b ;
-    #    lib b : a.cpp b ;
-    # 
-    # Here, if <use> is not incidental, we'll decide we have two 
-    # targets for a.obj with different properties, and will complain.
-    #
-    # Note that making feature incidental does not mean it's ignored. It may
-    # be ignored when creating the virtual target, but the rest of build process
-    # will use them.
-    feature.feature ('use', [], ['free', 'dependency', 'incidental'])
-    feature.feature ('dependency', [], ['free', 'dependency', 'incidental'])
-    feature.feature ('implicit-dependency', [], ['free', 'dependency', 'incidental'])
-
-    feature.feature('warnings', [
-        'on',         # Enable default/"reasonable" warning level for the tool.
-        'all',        # Enable all possible warnings issued by the tool.
-        'off'],       # Disable all warnings issued by the tool.
-        ['incidental', 'propagated'])
-
-    feature.feature('warnings-as-errors', [
-        'off',        # Do not fail the compilation if there are warnings.
-        'on'],        # Fail the compilation if there are warnings.
-        ['incidental', 'propagated'])
-    
-    feature.feature ('source', [], ['free', 'dependency', 'incidental'])
-    feature.feature ('library', [], ['free', 'dependency', 'incidental'])
-    feature.feature ('file', [], ['free', 'dependency', 'incidental'])
-    feature.feature ('find-shared-library', [], ['free']) #order-sensitive ;
-    feature.feature ('find-static-library', [], ['free']) #order-sensitive ;
-    feature.feature ('library-path', [], ['free', 'path']) #order-sensitive ;
-    # Internal feature.
-    feature.feature ('library-file', [], ['free', 'dependency'])
-    
-    feature.feature ('name', [], ['free'])
-    feature.feature ('tag', [], ['free'])
-    feature.feature ('search', [], ['free', 'path']) #order-sensitive ;
-    feature.feature ('location', [], ['free', 'path'])
-    
-    feature.feature ('dll-path', [], ['free', 'path'])
-    feature.feature ('hardcode-dll-paths', ['true', 'false'], ['incidental'])
-    
-    
-    # This is internal feature which holds the paths of all dependency
-    # dynamic libraries. On Windows, it's needed so that we can all
-    # those paths to PATH, when running applications.
-    # On Linux, it's needed to add proper -rpath-link command line options.
-    feature.feature ('xdll-path', [], ['free', 'path'])
-    
-    #provides means to specify def-file for windows dlls.
-    feature.feature ('def-file', [], ['free', 'dependency'])
-    
-    # This feature is used to allow specific generators to run.
-    # For example, QT tools can only be invoked when QT library
-    # is used. In that case, <allow>qt will be in usage requirement
-    # of the library.
-    feature.feature ('allow', [], ['free'])
-    
-    # The addressing model to generate code for. Currently a limited set only
-    # specifying the bit size of pointers.
-    feature.feature('address-model', ['16', '32', '64'], ['propagated', 'optional'])
-
-    # Type of CPU architecture to compile for.
-    feature.feature('architecture', [
-        # x86 and x86-64
-        'x86',
-
-        # ia64
-        'ia64',
-
-        # Sparc
-        'sparc',
-
-        # RS/6000 & PowerPC
-        'power',
-
-        # MIPS/SGI
-        'mips1', 'mips2', 'mips3', 'mips4', 'mips32', 'mips32r2', 'mips64',
-
-        # HP/PA-RISC
-        'parisc',
-        
-        # Advanced RISC Machines
-        'arm',
-
-        # Combined architectures for platforms/toolsets that support building for
-        # multiple architectures at once. "combined" would be the default multi-arch
-        # for the toolset.
-        'combined',
-        'combined-x86-power'],
-
-        ['propagated', 'optional'])
-
-    # The specific instruction set in an architecture to compile.
-    feature.feature('instruction-set', [
-        # x86 and x86-64
-        'i386', 'i486', 'i586', 'i686', 'pentium', 'pentium-mmx', 'pentiumpro', 'pentium2', 'pentium3',
-        'pentium3m', 'pentium-m', 'pentium4', 'pentium4m', 'prescott', 'nocona', 'conroe', 'conroe-xe',
-        'conroe-l', 'allendale', 'mermon', 'mermon-xe', 'kentsfield', 'kentsfield-xe', 'penryn', 'wolfdale',
-        'yorksfield', 'nehalem', 'k6', 'k6-2', 'k6-3', 'athlon', 'athlon-tbird', 'athlon-4', 'athlon-xp',
-        'athlon-mp', 'k8', 'opteron', 'athlon64', 'athlon-fx', 'winchip-c6', 'winchip2', 'c3', 'c3-2',
-
-        # ia64
-        'itanium', 'itanium1', 'merced', 'itanium2', 'mckinley',
-
-        # Sparc
-        'v7', 'cypress', 'v8', 'supersparc', 'sparclite', 'hypersparc', 'sparclite86x', 'f930', 'f934',
-        'sparclet', 'tsc701', 'v9', 'ultrasparc', 'ultrasparc3',
-
-        # RS/6000 & PowerPC
-        '401', '403', '405', '405fp', '440', '440fp', '505', '601', '602',
-        '603', '603e', '604', '604e', '620', '630', '740', '7400',
-        '7450', '750', '801', '821', '823', '860', '970', '8540',
-        'power-common', 'ec603e', 'g3', 'g4', 'g5', 'power', 'power2',
-        'power3', 'power4', 'power5', 'powerpc', 'powerpc64', 'rios',
-        'rios1', 'rsc', 'rios2', 'rs64a',
-
-        # MIPS
-        '4kc', '4kp', '5kc', '20kc', 'm4k', 'r2000', 'r3000', 'r3900', 'r4000',
-        'r4100', 'r4300', 'r4400', 'r4600', 'r4650',
-        'r6000', 'r8000', 'rm7000', 'rm9000', 'orion', 'sb1', 'vr4100',
-        'vr4111', 'vr4120', 'vr4130', 'vr4300',
-        'vr5000', 'vr5400', 'vr5500',
-
-        # HP/PA-RISC
-        '700', '7100', '7100lc', '7200', '7300', '8000',
-        
-        # Advanced RISC Machines
-        'armv2', 'armv2a', 'armv3', 'armv3m', 'armv4', 'armv4t', 'armv5',
-        'armv5t', 'armv5te', 'armv6', 'armv6j', 'iwmmxt', 'ep9312'],
-
-        ['propagated', 'optional'])
-
-    feature.feature('conditional', [], ['incidental', 'free'])
-
-    # The value of 'no' prevents building of a target.
-    feature.feature('build', ['yes', 'no'], ['optional'])
-    
-    # Windows-specific features
-    feature.feature ('user-interface', ['console', 'gui', 'wince', 'native', 'auto'], [])
-    feature.feature ('variant', [], ['implicit', 'composite', 'propagated', 'symmetric'])
-
-
-    variant ('debug', ['<optimization>off', '<debug-symbols>on', '<inlining>off', '<runtime-debugging>on'])
-    variant ('release', ['<optimization>speed', '<debug-symbols>off', '<inlining>full', 
-                         '<runtime-debugging>off', '<define>NDEBUG'])
-    variant ('profile', ['release'], ['<profiling>on', '<debug-symbols>on'])
-
-    type.register ('H', ['h'])
-    type.register ('HPP', ['hpp'], 'H')
-    type.register ('C', ['c'])
-    
-
-reset ()
-register_globals ()
-
-class SearchedLibTarget (virtual_target.AbstractFileTarget):
-    def __init__ (self, name, project, shared, real_name, search, action):
-        virtual_target.AbstractFileTarget.__init__ (self, name, 'SEARCHED_LIB', project, action)
-        
-        self.shared_ = shared
-        self.real_name_ = real_name
-        if not self.real_name_:
-            self.real_name_ = name
-        self.search_ = search
-
-    def shared (self):
-        return self.shared_
-    
-    def real_name (self):
-        return self.real_name_
-    
-    def search (self):
-        return self.search_
-        
-    def actualize_location (self, target):
-        bjam.call("NOTFILE", target)
-    
-    def path (self):
-        #FIXME: several functions rely on this not being None
-        return ""
-
-
-class CScanner (scanner.Scanner):
-    def __init__ (self, includes):
-        scanner.Scanner.__init__ (self)
-    
-        self.includes_ = includes
-
-    def pattern (self):
-        return r'#[ \t]*include[ ]*(<(.*)>|"(.*)")'
-
-    def process (self, target, matches, binding):
-       
-        angle = regex.transform (matches, "<(.*)>")
-        quoted = regex.transform (matches, '"(.*)"')
-
-        g = str(id(self))
-        b = os.path.normpath(os.path.dirname(binding[0]))
-        
-        # Attach binding of including file to included targets.
-        # When target is directly created from virtual target
-        # this extra information is unnecessary. But in other
-        # cases, it allows to distinguish between two headers of the 
-        # same name included from different places.      
-        # We don't need this extra information for angle includes,
-        # since they should not depend on including file (we can't
-        # get literal "." in include path).
-        g2 = g + "#" + b
-
-        g = "<" + g + ">"
-        g2 = "<" + g2 + ">"
-        angle = [g + x for x in angle]
-        quoted = [g2 + x for x in quoted]
-
-        all = angle + quoted
-        bjam.call("mark-included", target, all)
-
-        engine = get_manager().engine()
-        engine.set_target_variable(angle, "SEARCH", get_value(self.includes_))
-        engine.set_target_variable(quoted, "SEARCH", [b] + get_value(self.includes_))
-        
-        # Just propagate current scanner to includes, in a hope
-        # that includes do not change scanners. 
-        get_manager().scanners().propagate(self, angle + quoted)
-        
-scanner.register (CScanner, 'include')
-type.set_scanner ('CPP', CScanner)
-type.set_scanner ('C', CScanner)
-
-# Ported to trunk at 47077
-class LibGenerator (generators.Generator):
-    """ The generator class for libraries (target type LIB). Depending on properties it will
-        request building of the approapriate specific type -- SHARED_LIB, STATIC_LIB or 
-        SHARED_LIB.
-    """
-
-    def __init__(self, id = 'LibGenerator', composing = True, source_types = [], target_types_and_names = ['LIB'], requirements = []):
-        generators.Generator.__init__(self, id, composing, source_types, target_types_and_names, requirements)
-    
-    def run(self, project, name, prop_set, sources):
-
-        # The lib generator is composing, and can be only invoked with
-        # explicit name. This check is present in generator.run (and so in
-        # builtin.LinkingGenerator), but duplicate it here to avoid doing
-        # extra work.
-        if name:
-            properties = prop_set.raw()
-            # Determine the needed target type
-            actual_type = None
-            properties_grist = get_grist(properties)
-            if '<source>' not in properties_grist  and \
-               ('<search>' in properties_grist or '<name>' in properties_grist):
-                actual_type = 'SEARCHED_LIB'
-            elif '<file>' in properties_grist:
-                # The generator for 
-                actual_type = 'LIB'
-            elif '<link>shared' in properties:
-                actual_type = 'SHARED_LIB'
-            else:
-                actual_type = 'STATIC_LIB'
-
-            prop_set = prop_set.add_raw(['<main-target-type>LIB'])
-
-            # Construct the target.
-            return generators.construct(project, name, actual_type, prop_set, sources)
-
-    def viable_source_types(self):
-        return ['*']
-
-generators.register(LibGenerator())
-
-def lib(names, sources=[], requirements=[], default_build=[], usage_requirements=[]):
-    """The implementation of the 'lib' rule. Beyond standard syntax that rule allows
-    simplified: 'lib a b c ;'."""
-
-    if len(names) > 1:
-        if any(r.startswith('<name>') for r in requirements):
-            get_manager().errors()("When several names are given to the 'lib' rule\n" +
-                                   "it is not allowed to specify the <name> feature.")
-
-        if sources:
-            get_manager().errors()("When several names are given to the 'lib' rule\n" +
-                                   "it is not allowed to specify sources.")
-
-    project = get_manager().projects().current()
-    result = []
-
-    for name in names:
-        r = requirements[:]
-
-        # Support " lib a ; " and " lib a b c ; " syntax.
-        if not sources and not any(r.startswith("<name>") for r in requirements) \
-           and not any(r.startswith("<file") for r in requirements):
-            r.append("<name>" + name)
-
-        result.append(targets.create_typed_metatarget(name, "LIB", sources,
-                                                      r,
-                                                      default_build,
-                                                      usage_requirements))
-    return result
-
-get_manager().projects().add_rule("lib", lib)
-
-
-# Updated to trunk at 47077
-class SearchedLibGenerator (generators.Generator):
-    def __init__ (self, id = 'SearchedLibGenerator', composing = False, source_types = [], target_types_and_names = ['SEARCHED_LIB'], requirements = []):
-        # TODO: the comment below looks strange. There are no requirements!
-        # The requirements cause the generators to be tried *only* when we're building
-        # lib target and there's 'search' feature. This seems ugly --- all we want
-        # is make sure SearchedLibGenerator is not invoked deep in transformation
-        # search.
-        generators.Generator.__init__ (self, id, composing, source_types, target_types_and_names, requirements)
-    
-    def run(self, project, name, prop_set, sources):
-
-        if not name:
-            return None
-
-        # If name is empty, it means we're called not from top-level.
-        # In this case, we just fail immediately, because SearchedLibGenerator
-        # cannot be used to produce intermediate targets.
-        
-        properties = prop_set.raw ()
-        shared = '<link>shared' in properties
-
-        a = virtual_target.NullAction (project.manager(), prop_set)
-        
-        real_name = feature.get_values ('<name>', properties)
-        if real_name:
-            real_name = real_name[0]
-        else:
-            real_nake = name
-        search = feature.get_values('<search>', properties)
-        usage_requirements = property_set.create(['<xdll-path>' + p for p in search])
-        t = SearchedLibTarget(name, project, shared, real_name, search, a)
-
-        # We return sources for a simple reason. If there's
-        #    lib png : z : <name>png ; 
-        # the 'z' target should be returned, so that apps linking to
-        # 'png' will link to 'z', too.
-        return(usage_requirements, [b2.manager.get_manager().virtual_targets().register(t)] + sources)
-
-generators.register (SearchedLibGenerator ())
-
-### class prebuilt-lib-generator : generator
-### {
-###     rule __init__ ( * : * )
-###     {
-###         generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-###     }
-### 
-###     rule run ( project name ? : prop_set : sources * : multiple ? )
-###     {
-###         local f = [ $(prop_set).get <file> ] ;
-###         return $(f) $(sources) ;
-###     }    
-### }
-### 
-### generators.register 
-###   [ new prebuilt-lib-generator builtin.prebuilt : : LIB : <file> ] ;
-
-
-class CompileAction (virtual_target.Action):
-    def __init__ (self, manager, sources, action_name, prop_set):
-        virtual_target.Action.__init__ (self, manager, sources, action_name, prop_set)
-
-    def adjust_properties (self, prop_set):
-        """ For all virtual targets for the same dependency graph as self, 
-            i.e. which belong to the same main target, add their directories
-            to include path.
-        """
-        s = self.targets () [0].creating_subvariant ()
-
-        return prop_set.add_raw (s.implicit_includes ('include', 'H'))
-
-class CCompilingGenerator (generators.Generator):
-    """ Declare a special compiler generator.
-        The only thing it does is changing the type used to represent
-        'action' in the constructed dependency graph to 'CompileAction'.
-        That class in turn adds additional include paths to handle a case
-        when a source file includes headers which are generated themselfs.
-    """
-    def __init__ (self, id, composing, source_types, target_types_and_names, requirements):
-        # TODO: (PF) What to do with optional_properties? It seemed that, in the bjam version, the arguments are wrong.
-        generators.Generator.__init__ (self, id, composing, source_types, target_types_and_names, requirements)
-            
-    def action_class (self):
-        return CompileAction
-
-def register_c_compiler (id, source_types, target_types, requirements, optional_properties = []):
-    g = CCompilingGenerator (id, False, source_types, target_types, requirements + optional_properties)
-    return generators.register (g)
-
-
-class LinkingGenerator (generators.Generator):
-    """ The generator class for handling EXE and SHARED_LIB creation.
-    """
-    def __init__ (self, id, composing, source_types, target_types_and_names, requirements):
-        generators.Generator.__init__ (self, id, composing, source_types, target_types_and_names, requirements)
-        
-    def run (self, project, name, prop_set, sources):
-       
-        lib_sources = prop_set.get('<library>')
-        sources.extend(lib_sources)
-        
-        # Add <library-path> properties for all searched libraries
-        extra = []
-        for s in sources:
-            if s.type () == 'SEARCHED_LIB':
-                search = s.search()
-                extra.extend(property.Property('<library-path>', sp) for sp in search)
-
-        orig_xdll_path = []
-                   
-        if prop_set.get('<hardcode-dll-paths>') == ['true'] \
-               and type.is_derived(self.target_types_ [0], 'EXE'):
-            xdll_path = prop_set.get('<xdll-path>')
-            orig_xdll_path = [ replace_grist(x, '<dll-path>') for x in xdll_path ]
-            # It's possible that we have libraries in sources which did not came
-            # from 'lib' target. For example, libraries which are specified
-            # just as filenames as sources. We don't have xdll-path properties
-            # for such target, but still need to add proper dll-path properties.
-            for s in sources:
-                if type.is_derived (s.type (), 'SHARED_LIB') and not s.action ():
-                    # Unfortunately, we don't have a good way to find the path
-                    # to a file, so use this nasty approach.
-                    p = s.project()
-                    location = path.root(s.name(), p.get('source-location'))
-                    xdll_path.append(path.parent(location))
-                          
-            extra.extend(property.Property('<dll-path>', sp) for sp in xdll_path)
-        
-        if extra:
-            prop_set = prop_set.add_raw (extra)
-                        
-        result = generators.Generator.run(self, project, name, prop_set, sources)
-
-        if result:
-            ur = self.extra_usage_requirements(result, prop_set)
-            ur = ur.add(property_set.create(orig_xdll_path))
-        else:
-            return None
-        
-        return(ur, result)
-    
-    def extra_usage_requirements (self, created_targets, prop_set):
-        
-        result = property_set.empty ()
-        extra = []
-                        
-        # Add appropriate <xdll-path> usage requirements.
-        raw = prop_set.raw ()
-        if '<link>shared' in raw:
-            paths = []
-            
-            # TODO: is it safe to use the current directory? I think we should use 
-            # another mechanism to allow this to be run from anywhere.
-            pwd = os.getcwd()
-            
-            for t in created_targets:
-                if type.is_derived(t.type(), 'SHARED_LIB'):
-                    paths.append(path.root(path.make(t.path()), pwd))
-
-            extra += replace_grist(paths, '<xdll-path>')
-        
-        # We need to pass <xdll-path> features that we've got from sources,
-        # because if shared library is built, exe which uses it must know paths
-        # to other shared libraries this one depends on, to be able to find them
-        # all at runtime.
-                        
-        # Just pass all features in property_set, it's theorically possible
-        # that we'll propagate <xdll-path> features explicitly specified by
-        # the user, but then the user's to blaim for using internal feature.                
-        values = prop_set.get('<xdll-path>')
-        extra += replace_grist(values, '<xdll-path>')
-        
-        if extra:
-            result = property_set.create(extra)
-
-        return result
-
-    def generated_targets (self, sources, prop_set, project, name):
-
-        # sources to pass to inherited rule
-        sources2 = []
-        # sources which are libraries
-        libraries  = []
-        
-        # Searched libraries are not passed as argument to linker
-        # but via some option. So, we pass them to the action
-        # via property. 
-        fsa = []
-        fst = []
-        for s in sources:
-            if type.is_derived(s.type(), 'SEARCHED_LIB'):
-                n = s.real_name()
-                if s.shared():
-                    fsa.append(n)
-
-                else:
-                    fst.append(n)
-
-            else:
-                sources2.append(s)
-
-        add = []
-        if fsa:
-            add.append("<find-shared-library>" + '&&'.join(fsa))
-        if fst:
-            add.append("<find-static-library>" + '&&'.join(fst))
-
-        spawn = generators.Generator.generated_targets(self, sources2, prop_set.add_raw(add), project, name)       
-        return spawn
-
-
-def register_linker(id, source_types, target_types, requirements):
-    g = LinkingGenerator(id, True, source_types, target_types, requirements)
-    generators.register(g)
-
-class ArchiveGenerator (generators.Generator):
-    """ The generator class for handling STATIC_LIB creation.
-    """
-    def __init__ (self, id, composing, source_types, target_types_and_names, requirements):
-        generators.Generator.__init__ (self, id, composing, source_types, target_types_and_names, requirements)
-        
-    def run (self, project, name, prop_set, sources):
-        sources += prop_set.get ('<library>')
-        
-        result = generators.Generator.run (self, project, name, prop_set, sources)
-             
-        return result
-
-### rule register-archiver ( id composing ? : source_types + : target_types + :
-###                             requirements * )
-### {
-###     local g = [ new ArchiveGenerator $(id) $(composing) : $(source_types) 
-###                 : $(target_types) : $(requirements) ] ;
-###     generators.register $(g) ;
-### }
-### 
-### 
-### IMPORT $(__name__) : register-linker register-archiver 
-###   : : generators.register-linker generators.register-archiver ;
-### 
-### 
-### 
-
-get_manager().projects().add_rule("variant", variant)
-
-import stage
-import symlink
-import message
diff --git a/SRC/Boost/tools/build/v2/tools/cast.jam b/SRC/Boost/tools/build/v2/tools/cast.jam
deleted file mode 100755
index 86bd5e9..0000000
--- a/SRC/Boost/tools/build/v2/tools/cast.jam
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 2005 Vladimir Prus.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Defines main target 'cast', used to change type for target. For example, in Qt
-# library one wants two kinds of CPP files -- those that just compiled and those
-# that are passed via the MOC tool.
-#
-# This is done with:
-#
-#    exe main : main.cpp [ cast _ moccable-cpp : widget.cpp ] ;
-#
-# Boost.Build will assing target type CPP to both main.cpp and widget.cpp. Then,
-# the cast rule will change target type of widget.cpp to MOCCABLE-CPP, and Qt
-# support will run the MOC tool as part of the build process.
-#
-# At the moment, the 'cast' rule only works for non-derived (source) targets.
-#
-# TODO: The following comment is unclear or incorrect. Clean it up.
-# > Another solution would be to add a separate main target 'moc-them' that
-# > would moc all the passed sources, no matter what their type is, but I prefer
-# > cast, as defining a new target type + generator for that type is somewhat
-# > simpler than defining a main target rule.
-
-import "class" : new ;
-import errors ;
-import project ;
-import property-set ;
-import targets ;
-import type ;
-
-
-class cast-target-class : typed-target
-{
-    import type ;
-
-    rule __init__ ( name : project : type : sources * : requirements * :
-        default-build * : usage-requirements * )
-    {
-        typed-target.__init__ $(name) : $(project) : $(type) : $(sources) :
-            $(requirements) : $(default-build) : $(usage-requirements) ;
-    }
-
-    rule construct ( name : source-targets * : property-set )
-    {
-        local result ;
-        for local s in $(source-targets)
-        {
-            if ! [ class.is-a $(s) : file-target ]
-            {
-                import errors ;
-                errors.user-error Source to the 'cast' rule is not a file! ;
-            }
-            if [ $(s).action ]
-            {
-                import errors ;
-                errors.user-error Only non-derived target are allowed for
-                    'cast'. : when building [ full-name ] ;
-            }
-            local r = [ $(s).clone-with-different-type $(self.type) ] ;
-            result += [ virtual-target.register $(r) ] ;
-        }
-        return [ property-set.empty ] $(result) ;
-    }
-}
-
-
-rule cast ( name type : sources * : requirements * : default-build * :
-    usage-requirements * )
-{
-    local project = [ project.current ] ;
-
-    local real-type = [ type.type-from-rule-name $(type) ] ;
-    if ! $(real-type)
-    {
-        errors.user-error No type corresponds to the main target rule name
-            '$(type)' : "Hint: try a lowercase name" ;
-    }
-
-    targets.main-target-alternative [ new cast-target-class $(name) : $(project)
-        : $(real-type)
-        : [ targets.main-target-sources $(sources) : $(name) ]
-        : [ targets.main-target-requirements $(requirements) : $(project) ]
-        : [ targets.main-target-default-build $(default-build) : $(project) ]
-        : [ targets.main-target-usage-requirements $(usage-requirements) :
-            $(project) ] ] ;
-}
-
-
-IMPORT $(__name__) : cast : : cast ;
diff --git a/SRC/Boost/tools/build/v2/tools/cast.py b/SRC/Boost/tools/build/v2/tools/cast.py
deleted file mode 100755
index 687b635..0000000
--- a/SRC/Boost/tools/build/v2/tools/cast.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# Status: ported
-# Base revision: 64432.
-# Copyright 2005-2010 Vladimir Prus.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Defines main target 'cast', used to change type for target. For example, in Qt
-# library one wants two kinds of CPP files -- those that just compiled and those
-# that are passed via the MOC tool.
-#
-# This is done with:
-#
-#    exe main : main.cpp [ cast _ moccable-cpp : widget.cpp ] ;
-#
-# Boost.Build will assing target type CPP to both main.cpp and widget.cpp. Then,
-# the cast rule will change target type of widget.cpp to MOCCABLE-CPP, and Qt
-# support will run the MOC tool as part of the build process.
-#
-# At the moment, the 'cast' rule only works for non-derived (source) targets.
-#
-# TODO: The following comment is unclear or incorrect. Clean it up.
-# > Another solution would be to add a separate main target 'moc-them' that
-# > would moc all the passed sources, no matter what their type is, but I prefer
-# > cast, as defining a new target type + generator for that type is somewhat
-# > simpler than defining a main target rule.
-
-import b2.build.targets as targets
-import b2.build.virtual_target as virtual_target
-
-from b2.manager import get_manager
-from b2.util import bjam_signature
-
-class CastTargetClass(targets.TypedTarget):
-
-    def construct(name, source_targets, ps):
-        result = []
-        for s in source_targets:
-            if not isinstance(s, virtual_targets.FileTarget):
-                get_manager().errors()("Source to the 'cast' metatager is not a file")
-
-            if s.action():
-                get_manager().errors()("Only non-derived targets allowed as sources for 'cast'.")
-
-
-            r = s.clone_with_different_type(self.type())
-            result.append(get_manager().virtual_targets().register(r))
-
-        return result
-    
-
- at bjam_signature((["name", "type"], ["sources", "*"], ["requirements", "*"],
-                 ["default_build", "*"], ["usage_requirements", "*"]))
-def cast(name, type, sources, requirements, default_build, usage_requirements):
-   
-    from b2.manager import get_manager
-    t = get_manager().targets()
-    
-    project = get_manager().projects().current()
-        
-    return t.main_target_alternative(
-        CastTargetClass(name, project, type,
-                        t.main_target_sources(sources, name),
-                        t.main_target_requirements(requirements, project),
-                        t.main_target_default_build(default_build, project),
-                        t.main_target_usage_requirements(usage_requirements, project)))
-
-
-get_manager().projects().add_rule("cast", cast)
diff --git a/SRC/Boost/tools/build/v2/tools/clang-darwin.jam b/SRC/Boost/tools/build/v2/tools/clang-darwin.jam
deleted file mode 100755
index 7c213a4..0000000
--- a/SRC/Boost/tools/build/v2/tools/clang-darwin.jam
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright Vladimir Prus 2004.
-# Copyright Noel Belcourt 2007.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt
-# or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import clang ;
-import feature : feature ;
-import os ;
-import toolset ;
-import toolset : flags ;
-import gcc ;
-import common ;
-import errors ;
-import generators ;
-
-feature.extend-subfeature toolset clang : platform : darwin ;
-
-toolset.inherit-generators clang-darwin 
-  <toolset>clang <toolset-clang:platform>darwin 
-  : gcc 
-  # Don't inherit PCH generators. They were not tested, and probably
-  # don't work for this compiler.
-  : gcc.mingw.link gcc.mingw.link.dll gcc.compile.c.pch gcc.compile.c++.pch
-  ;
-
-generators.override clang-darwin.prebuilt : builtin.lib-generator ;
-generators.override clang-darwin.prebuilt : builtin.prebuilt ;
-generators.override clang-darwin.searched-lib-generator : searched-lib-generator ;
-
-toolset.inherit-rules clang-darwin : gcc ;
-toolset.inherit-flags clang-darwin : gcc 
-        : <inlining>off <inlining>on <inlining>full <optimization>space 
-          <warnings>off <warnings>all <warnings>on
-          <architecture>x86/<address-model>32
-          <architecture>x86/<address-model>64
-        ;
-        
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-    .debug-configuration = true ;
-}
-                       
-# vectorization diagnostics
-feature vectorize : off on full ;
-
-# Initializes the clang-darwin toolset
-#   version in optional
-#   name (default clang++) is used to invoke the specified clang complier
-#   compile and link options allow you to specify addition command line options for each version
-rule init ( version ? :  command * : options * )
-{
-    command = [ common.get-invocation-command clang-darwin : clang++ 
-        : $(command) ] ;
-
-    # Determine the version
-    local command-string = $(command:J=" ") ;
-    if $(command)
-    {    
-        version ?= [ MATCH "^([0-9.]+)"
-            : [ SHELL "$(command-string) -dumpversion" ] ] ;
-    }
-
-    local condition = [ common.check-init-parameters clang-darwin
-        : version $(version) ] ;    
-
-    common.handle-options clang-darwin : $(condition) : $(command) : $(options) ;
-
-    gcc.init-link-flags clang-darwin darwin $(condition) ;
-
-}
-
-SPACE = " " ;
-
-flags clang-darwin.compile OPTIONS <cflags> ;
-flags clang-darwin.compile OPTIONS <cxxflags> ;
-# flags clang-darwin.compile INCLUDES <include> ;
-
-# Declare flags and action for compilation.
-toolset.flags clang-darwin.compile OPTIONS <optimization>off   : -O0 ;
-toolset.flags clang-darwin.compile OPTIONS <optimization>speed : -O3 ;
-toolset.flags clang-darwin.compile OPTIONS <optimization>space : -Os ;
-
-toolset.flags clang-darwin.compile OPTIONS <inlining>off  : -fno-inline ;
-toolset.flags clang-darwin.compile OPTIONS <inlining>on   : -Wno-inline ;
-toolset.flags clang-darwin.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
-
-toolset.flags clang-darwin.compile OPTIONS <warnings>off : -w ;
-toolset.flags clang-darwin.compile OPTIONS <warnings>on  : -Wall ;
-toolset.flags clang-darwin.compile OPTIONS <warnings>all : -Wall -pedantic ;
-toolset.flags clang-darwin.compile OPTIONS <warnings-as-errors>on : -Werror ;
-
-toolset.flags clang-darwin.compile OPTIONS <debug-symbols>on : -g ;
-toolset.flags clang-darwin.compile OPTIONS <profiling>on : -pg ;
-toolset.flags clang-darwin.compile OPTIONS <rtti>off : -fno-rtti ;
-
-actions compile.c
-{
-    "$(CONFIG_COMMAND)" -x c $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.c++
-{
-    "$(CONFIG_COMMAND)" -x c++ $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-flags clang-darwin ARFLAGS <archiveflags> ;
-
-# Default value. Mostly for the sake of clang-linux
-# that inherits from gcc, but does not has the same
-# logic to set the .AR variable. We can put the same
-# logic in clang-linux, but that's hardly worth the trouble
-# as on Linux, 'ar' is always available.
-.AR = ar ;
-
-rule archive ( targets * : sources * : properties * )
-{
-  # Always remove archive and start again. Here's rationale from
-  # Andre Hentz:
-  #
-  # I had a file, say a1.c, that was included into liba.a. 
-  # I moved a1.c to a2.c, updated my Jamfiles and rebuilt. 
-  # My program was crashing with absurd errors. 
-  # After some debugging I traced it back to the fact that a1.o was *still* 
-  # in liba.a 
-  #
-  # Rene Rivera:
-  #
-  # Originally removing the archive was done by splicing an RM
-  # onto the archive action. That makes archives fail to build on NT
-  # when they have many files because it will no longer execute the
-  # action directly and blow the line length limit. Instead we
-  # remove the file in a different action, just before the building
-  # of the archive.
-  #
-  local clean.a = $(targets[1])(clean) ;
-  TEMPORARY $(clean.a) ;
-  NOCARE $(clean.a) ;
-  LOCATE on $(clean.a) = [ on $(targets[1]) return $(LOCATE) ] ;
-  DEPENDS $(clean.a) : $(sources) ;
-  DEPENDS $(targets) : $(clean.a) ;
-  common.RmTemps $(clean.a) : $(targets) ;
-}
-
-actions piecemeal archive
-{
-  "$(.AR)" $(AROPTIONS) rc "$(<)" "$(>)"
-  "ranlib" -cs "$(<)"
-}
-
-flags clang-darwin.link USER_OPTIONS <linkflags> ;
-
-# Declare actions for linking
-rule link ( targets * : sources * : properties * )
-{
-  SPACE on $(targets) = " " ;
-  # Serialize execution of the 'link' action, since
-  # running N links in parallel is just slower.
-  JAM_SEMAPHORE on $(targets) = <s>clang-darwin-link-semaphore ;
-}
-
-actions link bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" $(USER_OPTIONS) -L"$(LINKPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS)
-}
-
-actions link.dll bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" $(USER_OPTIONS) -L"$(LINKPATH)" -o "$(<)" -single_module -dynamiclib -install_name "$(<[1]:D=)" "$(>)"  "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS)
-}
diff --git a/SRC/Boost/tools/build/v2/tools/clang-linux.jam b/SRC/Boost/tools/build/v2/tools/clang-linux.jam
deleted file mode 100755
index be6fe2e..0000000
--- a/SRC/Boost/tools/build/v2/tools/clang-linux.jam
+++ /dev/null
@@ -1,196 +0,0 @@
-#  Copyright (c) 2003      Michael Stevens
-#  Copyright (c) 2010-2011 Bryce Lelbach (blelbach at cct.lsu.edu, maintainer)
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-import toolset ;
-import feature ;
-import toolset : flags ;
-
-import clang ;
-import gcc ;
-import common ;
-import errors ;
-import generators ;
-import type ;
-import numbers ;
-
-feature.extend-subfeature toolset clang : platform : linux ;
-
-toolset.inherit-generators clang-linux 
-    <toolset>clang <toolset-clang:platform>linux : gcc
-  : gcc.mingw.link gcc.mingw.link.dll gcc.cygwin.link gcc.cygwin.link.dll ;
-generators.override clang-linux.prebuilt : builtin.lib-generator ;
-generators.override clang-linux.prebuilt : builtin.prebuilt ;
-generators.override clang-linux.searched-lib-generator : searched-lib-generator ;
-
-# Override default do-nothing generators.
-generators.override clang-linux.compile.c.pch   : pch.default-c-pch-generator   ;
-generators.override clang-linux.compile.c++.pch : pch.default-cpp-pch-generator ;
- 
-type.set-generated-target-suffix PCH
-  : <toolset>clang <toolset-clang:platform>linux : pth ;
-
-toolset.inherit-rules clang-linux : gcc ;
-toolset.inherit-flags clang-linux : gcc 
-  : <inlining>off <inlining>on <inlining>full
-    <optimization>space <optimization>speed
-    <warnings>off <warnings>all <warnings>on ;
-        
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ] {
-  .debug-configuration = true ;
-}
-                       
-rule init ( version ? :  command * : options * ) {
-  command = [ common.get-invocation-command clang-linux : clang++ 
-    : $(command) ] ;
-                
-  # Determine the version
-  local command-string = $(command:J=" ") ;
-
-  if $(command) {    
-    version ?= [ MATCH "version ([0-9.]+)"
-      : [ SHELL "$(command-string) --version" ] ] ;
-  }
-
-  local condition = [ common.check-init-parameters clang-linux
-    : version $(version) ] ;
-    
-  common.handle-options clang-linux : $(condition) : $(command) : $(options) ;
-
-  gcc.init-link-flags clang-linux gnu $(condition) ;
-}
-
-###############################################################################
-# Flags
-
-toolset.flags clang-linux.compile OPTIONS <cflags> ;
-toolset.flags clang-linux.compile OPTIONS <cxxflags> ;
-
-toolset.flags clang-linux.compile OPTIONS <optimization>off   : ;
-toolset.flags clang-linux.compile OPTIONS <optimization>speed : -O3 ;
-toolset.flags clang-linux.compile OPTIONS <optimization>space : -Os ;
-
-# note: clang silently ignores some of these inlining options
-toolset.flags clang-linux.compile OPTIONS <inlining>off  : -fno-inline ;
-toolset.flags clang-linux.compile OPTIONS <inlining>on   : -Wno-inline ;
-toolset.flags clang-linux.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
-
-toolset.flags clang-linux.compile OPTIONS <warnings>off : -w ;
-toolset.flags clang-linux.compile OPTIONS <warnings>on  : -Wall ;
-toolset.flags clang-linux.compile OPTIONS <warnings>all : -Wall -pedantic ;
-toolset.flags clang-linux.compile OPTIONS <warnings-as-errors>on : -Werror ;
-
-toolset.flags clang-linux.compile OPTIONS <debug-symbols>on : -g ;
-toolset.flags clang-linux.compile OPTIONS <profiling>on : -pg ;
-toolset.flags clang-linux.compile OPTIONS <rtti>off : -fno-rtti ;
-
-###############################################################################
-# C and C++ compilation
-
-rule compile.c++ ( targets * : sources * : properties * ) {
-  gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-  gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
-  gcc.setup-address-model $(targets) : $(sources) : $(properties) ;
-
-  local pth-file = [ on $(<) return $(PCH_FILE) ] ;
-
-  if $(pth-file) {
-    DEPENDS $(<) : $(pth-file) ;
-    compile.c++.with-pch $(targets) : $(sources) ;
-  }
-  else {
-    compile.c++.without-pth $(targets) : $(sources) ;
-  }
-}
-
-actions compile.c++.without-pth {
-  "$(CONFIG_COMMAND)" -c -x c++ $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -o "$(<)" "$(>)"
-}
-
-actions compile.c++.with-pch bind PCH_FILE
-{
-  "$(CONFIG_COMMAND)" -c -x c++ $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -include-pth -Xclang "$(PCH_FILE)" -o "$(<)" "$(>)"
-}
-
-rule compile.c ( targets * : sources * : properties * )
-{
-  gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-  gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
-  gcc.setup-address-model $(targets) : $(sources) : $(properties) ;    
-
-  local pth-file = [ on $(<) return $(PCH_FILE) ] ;
-
-  if $(pth-file) {
-    DEPENDS $(<) : $(pth-file) ;
-    compile.c.with-pch $(targets) : $(sources) ;
-  }
-  else {
-    compile.c.without-pth $(targets) : $(sources) ;
-  }
-}
-
-actions compile.c.without-pth
-{
-  "$(CONFIG_COMMAND)" -c -x c $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.c.with-pch bind PCH_FILE
-{
-  "$(CONFIG_COMMAND)" -c -x c $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -include-pth -Xclang "$(PCH_FILE)" -c -o "$(<)" "$(>)"
-}
-
-###############################################################################
-# PCH emission
-
-rule compile.c++.pch ( targets * : sources * : properties * ) {
-  gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-  gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
-  gcc.setup-address-model $(targets) : $(sources) : $(properties) ;    
-}
-
-actions compile.c++.pch {
-  rm -f "$(<)" && "$(CONFIG_COMMAND)" -x c++-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -emit-pth -o "$(<)" "$(>)"
-}
-
-rule compile.c.pch ( targets * : sources * : properties * ) {
-  gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-  gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
-  gcc.setup-address-model $(targets) : $(sources) : $(properties) ;    
-}
-
-actions compile.c.pch
-{
-  rm -f "$(<)" && "$(CONFIG_COMMAND)" -x c-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Xclang -emit-pth -o "$(<)" "$(>)"
-}
-
-###############################################################################
-# Linking
-
-SPACE = " " ;
-
-rule link ( targets * : sources * : properties * ) {
-  gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-  gcc.setup-address-model $(targets) : $(sources) : $(properties) ;    
-  SPACE on $(targets) = " " ;
-  JAM_SEMAPHORE on $(targets) = <s>clang-linux-link-semaphore ;
-}
-
-actions link bind LIBRARIES {
-  "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS) $(USER_OPTIONS)
-}
-
-rule link.dll ( targets * : sources * : properties * ) {
-  gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-  gcc.setup-address-model $(targets) : $(sources) : $(properties) ;    
-  SPACE on $(targets) = " " ;
-  JAM_SEMAPHORE on $(targets) = <s>clang-linux-link-semaphore ;
-}
-
-# Differ from 'link' above only by -shared.
-actions link.dll bind LIBRARIES {
-  "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -o "$(<)" -Wl,-soname$(SPACE)-Wl,$(<[1]:D=) -shared "$(>)"  "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS) $(USER_OPTIONS)
-}
-
diff --git a/SRC/Boost/tools/build/v2/tools/clang.jam b/SRC/Boost/tools/build/v2/tools/clang.jam
deleted file mode 100755
index ef488e5..0000000
--- a/SRC/Boost/tools/build/v2/tools/clang.jam
+++ /dev/null
@@ -1,27 +0,0 @@
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt
-# or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-# This is a generic 'clang' toolset. Depending on the current system, it
-# forwards either to 'clang-unix' or 'clang-darwin' modules.
-
-import feature ;
-import os ;
-import toolset ;
-
-feature.extend toolset : clang ;
-feature.subfeature toolset clang : platform : : propagated link-incompatible ;
-
-rule init ( * : * )
-{
-    if [ os.name ] = MACOSX
-    {
-        toolset.using clang-darwin : 
-          $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-    else
-    {
-        toolset.using clang-linux : 
-          $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/tools/common.jam b/SRC/Boost/tools/build/v2/tools/common.jam
deleted file mode 100755
index 2b8d856..0000000
--- a/SRC/Boost/tools/build/v2/tools/common.jam
+++ /dev/null
@@ -1,986 +0,0 @@
-# Copyright 2003, 2005 Dave Abrahams
-# Copyright 2005, 2006 Rene Rivera
-# Copyright 2005 Toon Knapen
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-#   Provides actions common to all toolsets, such as creating directories and
-# removing files.
-
-import os ;
-import modules ;
-import utility ;
-import print ;
-import type ;
-import feature ;
-import errors ;
-import path ;
-import sequence ;
-import toolset ;
-import virtual-target ;
-
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-    .debug-configuration = true ;
-}
-if [ MATCH (--show-configuration) : [ modules.peek : ARGV ] ]
-{
-    .show-configuration = true ;
-}
-
-# Configurations
-#
-# The following class helps to manage toolset configurations. Each configuration
-# has a unique ID and one or more parameters. A typical example of a unique ID
-# is a condition generated by 'common.check-init-parameters' rule. Other kinds
-# of IDs can be used. Parameters may include any details about the configuration
-# like 'command', 'path', etc.
-#
-# A toolset configuration may be in one of the following states:
-#
-#   - registered
-#       Configuration has been registered (e.g. explicitly or by auto-detection
-#       code) but has not yet been marked as used, i.e. 'toolset.using' rule has
-#       not yet been called for it.
-#   - used
-#       Once called 'toolset.using' rule marks the configuration as 'used'.
-#
-# The main difference between the states above is that while a configuration is
-# 'registered' its options can be freely changed. This is useful in particular
-# for autodetection code - all detected configurations may be safely overwritten
-# by user code.
-
-class configurations
-{
-    import errors ;
-
-    rule __init__ ( )
-    {
-    }
-
-    # Registers a configuration.
-    #
-    # Returns 'true' if the configuration has been added and an empty value if
-    # it already exists. Reports an error if the configuration is 'used'.
-    #
-    rule register ( id )
-    {
-        if $(id) in $(self.used)
-        {
-            errors.error "common: the configuration '$(id)' is in use" ;
-        }
-
-        local retval ;
-
-        if ! $(id) in $(self.all)
-        {
-            self.all += $(id) ;
-
-            # Indicate that a new configuration has been added.
-            retval = true ;
-        }
-
-        return $(retval) ;
-    }
-
-    # Mark a configuration as 'used'.
-    #
-    # Returns 'true' if the state of the configuration has been changed to
-    # 'used' and an empty value if it the state has not been changed. Reports an
-    # error if the configuration is not known.
-    #
-    rule use ( id )
-    {
-        if ! $(id) in $(self.all)
-        {
-            errors.error "common: the configuration '$(id)' is not known" ;
-        }
-
-        local retval ;
-
-        if ! $(id) in $(self.used)
-        {
-            self.used += $(id) ;
-
-            # Indicate that the configuration has been marked as 'used'.
-            retval = true ;
-        }
-
-        return $(retval) ;
-    }
-
-    # Return all registered configurations.
-    #
-    rule all ( )
-    {
-        return $(self.all) ;
-    }
-
-    # Return all used configurations.
-    #
-    rule used ( )
-    {
-        return $(self.used) ;
-    }
-
-    # Returns the value of a configuration parameter.
-    #
-    rule get ( id : param )
-    {
-        return $(self.$(param).$(id)) ;
-    }
-
-    # Sets the value of a configuration parameter.
-    #
-    rule set ( id : param : value * )
-    {
-        self.$(param).$(id) = $(value) ;
-    }
-}
-
-
-# The rule for checking toolset parameters. Trailing parameters should all be
-# parameter name/value pairs. The rule will check that each parameter either has
-# a value in each invocation or has no value in each invocation. Also, the rule
-# will check that the combination of all parameter values is unique in all
-# invocations.
-#
-# Each parameter name corresponds to a subfeature. This rule will declare a
-# subfeature the first time a non-empty parameter value is passed and will
-# extend it with all the values.
-#
-# The return value from this rule is a condition to be used for flags settings.
-#
-rule check-init-parameters ( toolset requirement * : * )
-{
-    local sig = $(toolset) ;
-    local condition = <toolset>$(toolset) ;
-    local subcondition ;
-    for local index in 2 3 4 5 6 7 8 9
-    {
-        local name = $($(index)[1]) ;
-        local value = $($(index)[2]) ;
-
-        if $(value)-is-not-empty
-        {
-            condition = $(condition)-$(value) ;
-            if $(.had-unspecified-value.$(toolset).$(name))
-            {
-                errors.user-error
-                    "$(toolset) initialization: parameter '$(name)'"
-                    "inconsistent" : "no value was specified in earlier"
-                    "initialization" : "an explicit value is specified now" ;
-            }
-            # The below logic is for intel compiler. It calls this rule with
-            # 'intel-linux' and 'intel-win' as toolset, so we need to get the
-            # base part of toolset name. We can not pass 'intel' as toolset
-            # because in that case it will be impossible to register versionless
-            # intel-linux and intel-win toolsets of a specific version.
-            local t = $(toolset) ;
-            local m = [ MATCH ([^-]*)- : $(toolset) ] ;
-            if $(m)
-            {
-                t = $(m[1]) ;
-            }
-            if ! $(.had-value.$(toolset).$(name))
-            {
-                if ! $(.declared-subfeature.$(t).$(name))
-                {
-                    feature.subfeature toolset $(t) : $(name) : : propagated ;
-                    .declared-subfeature.$(t).$(name) = true ;
-                }
-                .had-value.$(toolset).$(name) = true ;
-            }
-            feature.extend-subfeature toolset $(t) : $(name) : $(value) ;
-            subcondition += <toolset-$(t):$(name)>$(value) ;
-        }
-        else
-        {
-            if $(.had-value.$(toolset).$(name))
-            {
-                errors.user-error
-                    "$(toolset) initialization: parameter '$(name)'"
-                    "inconsistent" : "an explicit value was specified in an"
-                    "earlier initialization" : "no value is specified now" ;
-            }
-            .had-unspecified-value.$(toolset).$(name) = true ;
-        }
-        sig = $(sig)$(value:E="")- ;
-    }
-    if $(sig) in $(.all-signatures)
-    {
-        local message =
-            "duplicate initialization of $(toolset) with the following parameters: " ;
-        for local index in 2 3 4 5 6 7 8 9
-        {
-            local p = $($(index)) ;
-            if $(p)
-            {
-                message += "$(p[1]) = $(p[2]:E=<unspecified>)" ;
-            }
-        }
-        message += "previous initialization at $(.init-loc.$(sig))" ;
-        errors.user-error
-            $(message[1]) : $(message[2]) : $(message[3]) : $(message[4]) :
-            $(message[5]) : $(message[6]) : $(message[7]) : $(message[8]) ;
-    }
-    .all-signatures += $(sig) ;
-    .init-loc.$(sig) = [ errors.nearest-user-location ] ;
-
-    # If we have a requirement, this version should only be applied under that
-    # condition. To accomplish this we add a toolset requirement that imposes
-    # the toolset subcondition, which encodes the version.
-    if $(requirement)
-    {
-        local r = <toolset>$(toolset) $(requirement) ;
-        r = $(r:J=,) ;
-        toolset.add-requirements $(r):$(subcondition) ;
-    }
-
-    # We add the requirements, if any, to the condition to scope the toolset
-    # variables and options to this specific version.
-    condition += $(requirement) ;
-
-    if $(.show-configuration)
-    {
-        ECHO notice: $(condition) ;
-    }
-    return $(condition:J=/) ;
-}
-
-
-# A helper rule to get the command to invoke some tool. If
-# 'user-provided-command' is not given, tries to find binary named 'tool' in
-# PATH and in the passed 'additional-path'. Otherwise, verifies that the first
-# element of 'user-provided-command' is an existing program.
-#
-# This rule returns the command to be used when invoking the tool. If we can not
-# find the tool, a warning is issued. If 'path-last' is specified, PATH is
-# checked after 'additional-paths' when searching for 'tool'.
-#
-rule get-invocation-command-nodefault ( toolset : tool :
-    user-provided-command * : additional-paths * : path-last ? )
-{
-    local command ;
-    if ! $(user-provided-command)
-    {
-        command = [ find-tool $(tool) : $(additional-paths) : $(path-last) ] ;
-        if ! $(command) && $(.debug-configuration)
-        {
-            ECHO "warning: toolset $(toolset) initialization: can not find tool $(tool)" ;
-            ECHO "warning: initialized from" [ errors.nearest-user-location ] ;
-        }
-    }
-    else
-    {
-        command = [ check-tool $(user-provided-command) ] ;
-        if ! $(command) && $(.debug-configuration)
-        {
-            ECHO "warning: toolset $(toolset) initialization: " ;
-            ECHO "warning: can not find user-provided command " '$(user-provided-command)' ;
-            ECHO "warning: initialized from" [ errors.nearest-user-location ] ;
-        }
-    }
-
-    return $(command) ;
-}
-
-
-# Same as get-invocation-command-nodefault, except that if no tool is found,
-# returns either the user-provided-command, if present, or the 'tool' parameter.
-#
-rule get-invocation-command ( toolset : tool : user-provided-command * :
-    additional-paths * : path-last ? )
-{
-    local result = [ get-invocation-command-nodefault $(toolset) : $(tool) :
-        $(user-provided-command) : $(additional-paths) : $(path-last) ] ;
-
-    if ! $(result)
-    {
-        if $(user-provided-command)
-        {
-            result = $(user-provided-command) ;
-        }
-        else
-        {
-            result = $(tool) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Given an invocation command return the absolute path to the command. This
-# works even if command has no path element and was found on the PATH.
-#
-rule get-absolute-tool-path ( command )
-{
-    if $(command:D)
-    {
-        return $(command:D) ;
-    }
-    else
-    {
-        local m = [ GLOB [ modules.peek : PATH Path path ] : $(command) $(command).exe ] ;
-        return $(m[1]:D) ;
-    }
-}
-
-
-# Attempts to find tool (binary) named 'name' in PATH and in 'additional-paths'.
-# If found in PATH, returns 'name' and if found in additional paths, returns
-# absolute name. If the tool is found in several directories, returns the
-# first path found. Otherwise, returns an empty string. If 'path-last' is
-# specified, PATH is searched after 'additional-paths'.
-#
-local rule find-tool ( name : additional-paths * : path-last ? )
-{
-    local path = [ path.programs-path ] ;
-    local match = [ path.glob $(path) : $(name) $(name).exe ] ;
-    local additional-match = [ path.glob $(additional-paths) : $(name) $(name).exe ] ;
-
-    local result ;
-    if $(path-last)
-    {
-        result = $(additional-match) ;
-        if ! $(result) && $(match)
-        {
-            result = $(name) ;
-        }
-    }
-    else
-    {
-        if $(match)
-        {
-            result = $(name) ;
-        }
-        else
-        {
-            result = $(additional-match) ;
-        }
-    }
-    if $(result)
-    {
-        return [ path.native $(result[1]) ] ;
-    }
-}
-
-
-# Checks if 'command' can be found either in path or is a full name to an
-# existing file.
-#
-local rule check-tool-aux ( command )
-{
-    if $(command:D)
-    {
-        if [ path.exists $(command) ]
-            # Both NT and Cygwin will run .exe files by their unqualified names.
-            || ( [ os.on-windows ] && [ path.exists $(command).exe ] )
-            # Only NT will run .bat & .cmd files by their unqualified names.
-            || ( ( [ os.name ] = NT ) && ( [ path.exists $(command).bat ] ||
-                [ path.exists $(command).cmd ] ) )
-        {
-            return $(command) ;
-        }
-    }
-    else
-    {
-        if [ GLOB [ modules.peek : PATH Path path ] : $(command) ]
-        {
-            return $(command) ;
-        }
-    }
-}
-
-
-# Checks that a tool can be invoked by 'command'. If command is not an absolute
-# path, checks if it can be found in 'path'. If comand is an absolute path,
-# check that it exists. Returns 'command' if ok or empty string otherwise.
-#
-local rule check-tool ( xcommand + )
-{
-    if [ check-tool-aux $(xcommand[1]) ] ||
-       [ check-tool-aux $(xcommand[-1]) ]
-    {
-        return $(xcommand) ;
-    }
-}
-
-
-# Handle common options for toolset, specifically sets the following flag
-# variables:
-# - CONFIG_COMMAND to $(command)
-# - OPTIONS for compile         to the value of <compileflags> in $(options)
-# - OPTIONS for compile.c       to the value of <cflags>       in $(options)
-# - OPTIONS for compile.c++     to the value of <cxxflags>     in $(options)
-# - OPTIONS for compile.fortran to the value of <fflags>       in $(options)
-# - OPTIONS for link            to the value of <linkflags>    in $(options)
-#
-rule handle-options ( toolset : condition * : command * : options * )
-{
-    if $(.debug-configuration)
-    {
-        ECHO "notice: will use '$(command)' for $(toolset), condition $(condition:E=(empty))" ;
-    }
-
-    #   The last parameter ('unchecked') says it is OK to set flags for another
-    # module.
-    toolset.flags $(toolset) CONFIG_COMMAND $(condition) : $(command)
-        : unchecked ;
-
-    toolset.flags $(toolset).compile         OPTIONS $(condition) :
-        [ feature.get-values <compileflags> : $(options) ] : unchecked ;
-
-    toolset.flags $(toolset).compile.c       OPTIONS $(condition) :
-        [ feature.get-values <cflags>       : $(options) ] : unchecked ;
-
-    toolset.flags $(toolset).compile.c++     OPTIONS $(condition) :
-        [ feature.get-values <cxxflags>     : $(options) ] : unchecked ;
-
-    toolset.flags $(toolset).compile.fortran OPTIONS $(condition) :
-        [ feature.get-values <fflags>       : $(options) ] : unchecked ;
-
-    toolset.flags $(toolset).link            OPTIONS $(condition) :
-        [ feature.get-values <linkflags>    : $(options) ] : unchecked ;
-}
-
-
-# Returns the location of the "program files" directory on a Windows platform.
-#
-rule get-program-files-dir ( )
-{
-    local ProgramFiles = [ modules.peek : ProgramFiles ] ;
-    if $(ProgramFiles)
-    {
-        ProgramFiles = "$(ProgramFiles:J= )" ;
-    }
-    else
-    {
-        ProgramFiles = "c:\\Program Files" ;
-    }
-    return $(ProgramFiles) ;
-}
-
-
-if [ os.name ] = NT
-{
-    RM = del /f /q ;
-    CP = copy /b ;
-    IGNORE = "2>nul >nul & setlocal" ;
-    LN ?= $(CP) ;
-    # Ugly hack to convince copy to set the timestamp of the
-    # destination to the current time by concatenating the
-    # source with a nonexistent file.  Note that this requires
-    # /b (binary) as the default when concatenating files is /a (ascii).
-    WINDOWS-CP-HACK = "+ this-file-does-not-exist-A698EE7806899E69" ;
-}
-else
-{
-    RM = rm -f ;
-    CP = cp ;
-    LN = ln ;
-}
-
-
-rule rm-command ( )
-{
-    return $(RM) ;
-}
-
-
-rule copy-command ( )
-{
-    return $(CP) ;
-}
-
-
-if "\n" = "n" 
-{    
-    # Escape characters are not supported. Use ugly hacks that won't work,
-    # see below.
-    nl = "
-" ;
-    q = "" ;
-}
-else
-{
-    nl = "\n" ; 
-    q = "\"" ;
-}
-
-# Returns the command needed to set an environment variable on the current
-# platform. The variable setting persists through all following commands and is
-# visible in the environment seen by subsequently executed commands. In other
-# words, on Unix systems, the variable is exported, which is consistent with the
-# only possible behavior on Windows systems.
-#
-rule variable-setting-command ( variable : value )
-{
-    if [ os.name ] = NT
-    {
-        return "set $(variable)=$(value)$(nl)" ;
-    }
-    else
-    {
-        # If we don't have escape characters support in bjam, the below blows
-        # up on CYGWIN, since the $(nl) variable holds a Windows new-line \r\n 
-        # sequence that messes up the executed export command which then reports
-        # that the passed variable name is incorrect.
-        # But we have a check for cygwin in kernel/bootstrap.jam already.
-        return "$(variable)=$(q)$(value)$(q)$(nl)export $(variable)$(nl)" ;
-    }
-}
-
-
-# Returns a command to sets a named shell path variable to the given NATIVE
-# paths on the current platform.
-#
-rule path-variable-setting-command ( variable : paths * )
-{
-    local sep = [ os.path-separator ] ;
-    return [ variable-setting-command $(variable) : $(paths:J=$(sep)) ] ;
-}
-
-
-# Returns a command that prepends the given paths to the named path variable on
-# the current platform.
-#
-rule prepend-path-variable-command ( variable : paths * )
-{
-    return [ path-variable-setting-command $(variable)
-        : $(paths) [ os.expand-variable $(variable) ] ] ;
-}
-
-
-# Return a command which can create a file. If 'r' is result of invocation, then
-# 'r foobar' will create foobar with unspecified content. What happens if file
-# already exists is unspecified.
-#
-rule file-creation-command ( )
-{
-    if [ os.name ] = NT
-    {
-        # A few alternative implementations on Windows:
-        #
-        #   'type NUL >> '
-        #        That would construct an empty file instead of a file containing
-        #      a space and an end-of-line marker but it would also not change
-        #      the target's timestamp in case the file already exists.
-        #
-        #   'type NUL > '
-        #        That would construct an empty file instead of a file containing
-        #      a space and an end-of-line marker but it would also destroy an
-        #      already existing file by overwriting it with an empty one.
-        #
-        #   I guess the best solution would be to allow Boost Jam to define
-        # built-in functions such as 'create a file', 'touch a file' or 'copy a
-        # file' which could be used from inside action code. That would allow
-        # completely portable operations without this kind of kludge.
-        #                                            (22.02.2009.) (Jurko)
-        return "echo. > " ;
-    }
-    else
-    {
-        return "touch " ;
-    }
-}
-
-
-# Returns a command that may be used for 'touching' files. It is not a real
-# 'touch' command on NT because it adds an empty line at the end of file but it
-# works with source files.
-#
-rule file-touch-command ( )
-{
-    if [ os.name ] = NT
-    {
-        return "echo. >> " ;
-    }
-    else
-    {
-        return "touch " ;
-    }
-}
-
-
-rule MkDir
-{
-    # If dir exists, do not update it. Do this even for $(DOT).
-    NOUPDATE $(<) ;
-
-    if $(<) != $(DOT) && ! $($(<)-mkdir)
-    {
-        # Cheesy gate to prevent multiple invocations on same dir.
-        $(<)-mkdir = true ;
-
-        # Schedule the mkdir build action.
-        common.mkdir $(<) ;
-
-        # Prepare a Jam 'dirs' target that can be used to make the build only
-        # construct all the target directories.
-        DEPENDS dirs : $(<) ;
-
-        # Recursively create parent directories. $(<:P) = $(<)'s parent & we
-        # recurse until root.
-
-        local s = $(<:P) ;
-        if [ os.name ] = NT
-        {
-            switch $(s)
-            {
-                case *:   : s = ;
-                case *:\\ : s = ;
-            }
-        }
-
-        if $(s)
-        {
-            if $(s) != $(<)
-            {
-                DEPENDS $(<) : $(s) ;
-                MkDir $(s) ;
-            }
-            else
-            {
-                NOTFILE $(s) ;
-            }
-        }
-    }
-}
-
-
-#actions MkDir1
-#{
-#    mkdir "$(<)"
-#}
-
-#   The following quick-fix actions should be replaced using the original MkDir1
-# action once Boost Jam gets updated to correctly detect different paths leading
-# up to the same filesystem target and triggers their build action only once.
-#                                             (todo) (04.07.2008.) (Jurko)
-
-if [ os.name ] = NT
-{
-    actions mkdir
-    {
-        if not exist "$(<)\\" mkdir "$(<)"
-    }
-}
-else
-{
-    actions mkdir
-    {
-        mkdir -p "$(<)"
-    }
-}
-
-actions piecemeal together existing Clean
-{
-    $(RM) "$(>)"
-}
-
-
-rule copy
-{
-}
-
-
-actions copy
-{
-    $(CP) "$(>)" $(WINDOWS-CP-HACK) "$(<)"
-}
-
-
-rule RmTemps
-{
-}
-
-
-actions quietly updated piecemeal together RmTemps
-{
-    $(RM) "$(>)" $(IGNORE)
-}
-
-
-actions hard-link
-{
-    $(RM) "$(<)" 2$(NULL_OUT) $(NULL_OUT)
-    $(LN) "$(>)" "$(<)" $(NULL_OUT)
-}
-
-
-# Given a target, as given to a custom tag rule, returns a string formatted
-# according to the passed format. Format is a list of properties that is
-# represented in the result. For each element of format the corresponding target
-# information is obtained and added to the result string. For all, but the
-# literal, the format value is taken as the as string to prepend to the output
-# to join the item to the rest of the result. If not given "-" is used as a
-# joiner.
-#
-# The format options can be:
-#
-#   <base>[joiner]
-#       ::  The basename of the target name.
-#   <toolset>[joiner]
-#       ::  The abbreviated toolset tag being used to build the target.
-#   <threading>[joiner]
-#       ::  Indication of a multi-threaded build.
-#   <runtime>[joiner]
-#       ::  Collective tag of the build runtime.
-#   <version:/version-feature | X.Y[.Z]/>[joiner]
-#       ::  Short version tag taken from the given "version-feature" in the
-#           build properties. Or if not present, the literal value as the
-#           version number.
-#   <property:/property-name/>[joiner]
-#       ::  Direct lookup of the given property-name value in the build
-#           properties. /property-name/ is a regular expression. E.g.
-#           <property:toolset-.*:flavor> will match every toolset.
-#   /otherwise/
-#       ::  The literal value of the format argument.
-#
-# For example this format:
-#
-#   boost_ <base> <toolset> <threading> <runtime> <version:boost-version>
-#
-# Might return:
-#
-#   boost_thread-vc80-mt-gd-1_33.dll, or
-#   boost_regex-vc80-gd-1_33.dll
-#
-# The returned name also has the target type specific prefix and suffix which
-# puts it in a ready form to use as the value from a custom tag rule.
-#
-rule format-name ( format * : name : type ? : property-set )
-{
-    local result = "" ;
-    for local f in $(format)
-    {
-        switch $(f:G)
-        {
-            case <base> :
-                result += $(name:B) ;
-            
-            case <toolset> :
-                result += [ join-tag $(f:G=) : [ toolset-tag $(name) : $(type) :
-                $(property-set) ] ] ;
-            
-            case <threading> :
-                result += [ join-tag $(f:G=) : [ threading-tag $(name) : $(type)
-                : $(property-set) ] ] ;
-            
-            case <runtime> :
-                result += [ join-tag $(f:G=) : [ runtime-tag $(name) : $(type) :
-                $(property-set) ] ] ;
-            
-            case <qt> :
-            result += [ join-tag $(f:G=) : [ qt-tag $(name) : $(type) :
-                $(property-set) ] ] ;
-
-            case <address-model> :
-            result += [ join-tag $(f:G=) : [ address-model-tag $(name) : $(type) :
-                $(property-set) ] ] ;
-
-            case <version:*> :
-                local key = [ MATCH <version:(.*)> : $(f:G) ] ;
-                local version = [ $(property-set).get <$(key)> ] ;
-                version ?= $(key) ;
-                version = [ MATCH "^([^.]+)[.]([^.]+)[.]?([^.]*)" : $(version) ] ;
-                result += [ join-tag $(f:G=) : $(version[1])_$(version[2]) ] ;
-
-            case <property:*> :
-                local key = [ MATCH <property:(.*)> : $(f:G) ] ;
-                local p0 = [ MATCH <($(key))> : [ $(property-set).raw ] ] ;
-                if $(p0)
-                {
-                    local p = [ $(property-set).get <$(p0)> ] ;
-                    if $(p)
-                    {
-                        result += [ join-tag $(f:G=) : $(p) ] ;
-                    }
-                }
-
-            case * :
-                result += $(f:G=) ;
-        }
-    }
-    result = [ virtual-target.add-prefix-and-suffix $(result:J=) : $(type) :
-      $(property-set) ] ;
-    return $(result) ;
-}
-
-
-local rule join-tag ( joiner ? : tag ? )
-{
-    if ! $(joiner) { joiner = - ; }
-    return $(joiner)$(tag) ;
-}
-
-
-local rule toolset-tag ( name : type ? : property-set )
-{
-    local tag = ;
-
-    local properties = [ $(property-set).raw ] ;
-    switch [ $(property-set).get <toolset> ]
-    {
-        case borland* : tag += bcb ;
-        case clang* :
-        {
-            switch [ $(property-set).get <toolset-clang:platform> ]
-            {
-               case darwin : tag += clang-darwin ;
-               case linux  : tag += clang ;
-            }
-        }
-        case como* : tag += como ;
-        case cw : tag += cw ;
-        case darwin* : tag += xgcc ;
-        case edg* : tag += edg ;
-        case gcc* :
-        {
-            switch [ $(property-set).get <toolset-gcc:flavor> ]
-            {
-                case *mingw* : tag += mgw ;
-                case * : tag += gcc ;
-            }
-        }
-        case intel :
-        if [ $(property-set).get <toolset-intel:platform> ] = win
-        {
-            tag += iw ;
-        }
-        else
-        {
-            tag += il ;
-        }
-        case kcc* : tag += kcc ;
-        case kylix* : tag += bck ;
-        #case metrowerks* : tag += cw ;
-        #case mingw* : tag += mgw ;
-        case mipspro* : tag += mp ;
-        case msvc* : tag += vc ;
-        case qcc* : tag += qcc ;
-        case sun* : tag += sw ;
-        case tru64cxx* : tag += tru ;
-        case vacpp* : tag += xlc ;
-    }
-    local version = [ MATCH "<toolset.*version>([0123456789]+)[.]([0123456789]*)"
-        : $(properties) ] ;
-    # For historical reasons, vc6.0 and vc7.0 use different naming.
-    if $(tag) = vc
-    {
-        if $(version[1]) = 6
-        {
-            # Cancel minor version.
-            version = 6 ;
-        }
-        else if $(version[1]) = 7 && $(version[2]) = 0
-        {
-            version = 7 ;
-        }
-    }
-    # On intel, version is not added, because it does not matter and it is the
-    # version of vc used as backend that matters. Ideally, we should encode the
-    # backend version but that would break compatibility with V1.
-    if $(tag) = iw
-    {
-        version = ;
-    }
-
-    # On borland, version is not added for compatibility with V1.
-    if $(tag) = bcb
-    {
-        version = ;
-    }
-
-    tag += $(version) ;
-
-    return $(tag:J=) ;
-}
-
-
-local rule threading-tag ( name : type ? : property-set )
-{
-    local tag = ;
-    local properties = [ $(property-set).raw ] ;
-    if <threading>multi in $(properties) { tag = mt ; }
-
-    return $(tag:J=) ;
-}
-
-
-local rule runtime-tag ( name : type ? : property-set )
-{
-    local tag = ;
-
-    local properties = [ $(property-set).raw ] ;
-    if <runtime-link>static in $(properties) { tag += s ; }
-
-    # This is an ugly thing. In V1, there is code to automatically detect which
-    # properties affect a target. So, if <runtime-debugging> does not affect gcc
-    # toolset, the tag rules will not even see <runtime-debugging>. Similar
-    # functionality in V2 is not implemented yet, so we just check for toolsets
-    # known to care about runtime debugging.
-    if ( <toolset>msvc in $(properties) ) ||
-        ( <stdlib>stlport in $(properties) ) ||
-        ( <toolset-intel:platform>win in $(properties) )
-    {
-        if <runtime-debugging>on in $(properties) { tag += g ; }
-    }
-
-    if <python-debugging>on in $(properties) { tag += y ; }
-    if <variant>debug in $(properties) { tag += d ; }
-    if <stdlib>stlport in $(properties) { tag += p ; }
-    if <stdlib-stlport:iostream>hostios in $(properties) { tag += n ; }
-
-    return $(tag:J=) ;
-}
-
-# Create a tag for the Qt library version
-# "<qt>4.6.0" will result in tag "qt460"
-local rule qt-tag ( name : type ? : property-set )
-{
-    local properties = [ $(property-set).get <qt> ] ;
-    local version = [ MATCH "([0123456789]+)[.]?([0123456789]*)[.]?([0123456789]*)"
-        : $(properties) ] ;
-    local tag = "qt"$(version:J=) ;
-    return $(tag) ;
-}
-
-# Create a tag for the address-model
-# <address-model>64 will simply generate "64"
-local rule address-model-tag ( name : type ? : property-set )
-{
-    local tag = ;
-    local version = [ $(property-set).get <address-model> ] ;
-    return $(version) ;
-}
-
-rule __test__ ( )
-{
-    import assert ;
-
-    local nl = "
-" ;
-
-    local save-os = [ modules.peek os : .name ] ;
-
-    modules.poke os : .name : LINUX ;
-
-    assert.result "PATH=\"foo:bar:baz\"$(nl)export PATH$(nl)"
-        : path-variable-setting-command PATH : foo bar baz ;
-
-    assert.result "PATH=\"foo:bar:$PATH\"$(nl)export PATH$(nl)"
-        : prepend-path-variable-command PATH : foo bar ;
-
-    modules.poke os : .name : NT ;
-
-    assert.result "set PATH=foo;bar;baz$(nl)"
-        : path-variable-setting-command PATH : foo bar baz ;
-
-    assert.result "set PATH=foo;bar;%PATH%$(nl)"
-        : prepend-path-variable-command PATH : foo bar ;
-
-    modules.poke os : .name : $(save-os) ;
-}
diff --git a/SRC/Boost/tools/build/v2/tools/common.py b/SRC/Boost/tools/build/v2/tools/common.py
deleted file mode 100755
index 95381d4..0000000
--- a/SRC/Boost/tools/build/v2/tools/common.py
+++ /dev/null
@@ -1,840 +0,0 @@
-#  Status: being ported by Steven Watanabe
-#  Base revision: 47174
-#
-#  Copyright (C) Vladimir Prus 2002. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-
-""" Provides actions common to all toolsets, such as creating directories and
-    removing files.
-"""
-
-import re
-import bjam
-import os
-import os.path
-import sys
-
-from b2.build import feature
-from b2.util.utility import *
-from b2.util import path
-
-__re__before_first_dash = re.compile ('([^-]*)-')
-
-def reset ():
-    """ Clear the module state. This is mainly for testing purposes.
-        Note that this must be called _after_ resetting the module 'feature'.
-    """    
-    global __had_unspecified_value, __had_value, __declared_subfeature
-    global __init_loc
-    global __all_signatures, __debug_configuration, __show_configuration
-    
-    # Stores toolsets without specified initialization values.
-    __had_unspecified_value = {}
-
-    # Stores toolsets with specified initialization values.
-    __had_value = {}
-    
-    # Stores toolsets with declared subfeatures.
-    __declared_subfeature = {}
-    
-    # Stores all signatures of the toolsets.
-    __all_signatures = {}
-
-    # Stores the initialization locations of each toolset
-    __init_loc = {}
-
-    __debug_configuration = '--debug-configuration' in bjam.variable('ARGV')
-    __show_configuration = '--show-configuration' in bjam.variable('ARGV')
-
-    global __executable_path_variable
-    OS = bjam.call("peek", [], "OS")[0]
-    if OS == "NT":
-        # On Windows the case and capitalization of PATH is not always predictable, so
-        # let's find out what variable name was really set.
-        for n in sys.environ:
-            if n.lower() == "path":
-                __executable_path_variable = n
-                break
-    else:
-        __executable_path_variable = "PATH"
-
-    m = {"NT": __executable_path_variable,
-         "CYGWIN": "PATH",
-         "MACOSX": "DYLD_LIBRARY_PATH",
-         "AIX": "LIBPATH"}
-    global __shared_library_path_variable
-    __shared_library_path_variable = m.get(OS, "LD_LIBRARY_PATH")
-                            
-reset()
-
-def shared_library_path_variable():
-    return __shared_library_path_variable
-
-# ported from trunk at 47174
-class Configurations(object):
-    """
-        This class helps to manage toolset configurations. Each configuration
-        has a unique ID and one or more parameters. A typical example of a unique ID
-        is a condition generated by 'common.check-init-parameters' rule. Other kinds
-        of IDs can be used. Parameters may include any details about the configuration
-        like 'command', 'path', etc.
-
-        A toolset configuration may be in one of the following states:
-
-        - registered
-              Configuration has been registered (e.g. by autodetection code) but has
-              not yet been marked as used, i.e. 'toolset.using' rule has not yet been
-              called for it.
-          - used
-              Once called 'toolset.using' rule marks the configuration as 'used'.
-
-        The main difference between the states above is that while a configuration is
-        'registered' its options can be freely changed. This is useful in particular
-        for autodetection code - all detected configurations may be safely overwritten
-        by user code.
-    """
-
-    def __init__(self):
-        self.used_ = set()
-        self.all_ = set()
-        self.params = {}
-
-    def register(self, id):
-        """
-            Registers a configuration.
-
-            Returns True if the configuration has been added and False if
-            it already exists. Reports an error if the configuration is 'used'.
-        """
-        if id in self.used_:
-            #FIXME
-            errors.error("common: the configuration '$(id)' is in use")
-
-        if id not in self.all_:
-            self.all_ += [id]
-
-            # Indicate that a new configuration has been added.
-            return True
-        else:
-            return False
-
-    def use(self, id):
-        """
-            Mark a configuration as 'used'.
-
-            Returns True if the state of the configuration has been changed to
-            'used' and False if it the state wasn't changed. Reports an error
-            if the configuration isn't known.
-        """
-        if id not in self.all_:
-            #FIXME:
-            errors.error("common: the configuration '$(id)' is not known")
-
-        if id not in self.used_:
-            self.used_ += [id]
-
-            # indicate that the configuration has been marked as 'used'
-            return True
-        else:
-            return False
-
-    def all(self):
-        """ Return all registered configurations. """
-        return self.all_
-
-    def used(self):
-        """ Return all used configurations. """
-        return self.used_
-
-    def get(self, id, param):
-        """ Returns the value of a configuration parameter. """
-        self.params_.getdefault(param, {}).getdefault(id, None)
-
-    def set (self, id, param, value):
-        """ Sets the value of a configuration parameter. """
-        self.params_.setdefault(param, {})[id] = value
-
-# Ported from trunk at 47174
-def check_init_parameters(toolset, requirement, *args):
-    """ The rule for checking toolset parameters. Trailing parameters should all be
-        parameter name/value pairs. The rule will check that each parameter either has
-        a value in each invocation or has no value in each invocation. Also, the rule
-        will check that the combination of all parameter values is unique in all
-        invocations.
-
-        Each parameter name corresponds to a subfeature. This rule will declare a
-        subfeature the first time a non-empty parameter value is passed and will
-        extend it with all the values.
-
-        The return value from this rule is a condition to be used for flags settings.
-    """
-    # The type checking here is my best guess about
-    # what the types should be.
-    assert(isinstance(toolset, str))
-    assert(isinstance(requirement, str) or requirement is None)
-    sig = toolset
-    condition = replace_grist(toolset, '<toolset>')
-    subcondition = []
-    
-    for arg in args:
-        assert(isinstance(arg, tuple))
-        assert(len(arg) == 2)
-        name = arg[0]
-        value = arg[1]
-        assert(isinstance(name, str))
-        assert(isinstance(value, str) or value is None)
-        
-        str_toolset_name = str((toolset, name))
-
-        # FIXME: is this the correct translation?
-        ### if $(value)-is-not-empty
-        if value is not None:
-            condition = condition + '-' + value
-            if __had_unspecified_value.has_key(str_toolset_name):
-                raise BaseException("'%s' initialization: parameter '%s' inconsistent\n" \
-                "no value was specified in earlier initialization\n" \
-                "an explicit value is specified now" % (toolset, name))
-
-            # The logic below is for intel compiler. It calls this rule
-            # with 'intel-linux' and 'intel-win' as toolset, so we need to
-            # get the base part of toolset name.
-            # We can't pass 'intel' as toolset, because it that case it will
-            # be impossible to register versionles intel-linux and
-            # intel-win of specific version.
-            t = toolset
-            m = __re__before_first_dash.match(toolset)
-            if m:
-                t = m.group(1)
-
-            if not __had_value.has_key(str_toolset_name):
-                if not __declared_subfeature.has_key(str((t, name))):
-                    feature.subfeature('toolset', t, name, [], ['propagated'])
-                    __declared_subfeature[str((t, name))] = True
-
-                __had_value[str_toolset_name] = True
-
-            feature.extend_subfeature('toolset', t, name, [value])
-            subcondition += ['<toolset-' + t + ':' + name + '>' + value ]
-
-        else:
-            if __had_value.has_key(str_toolset_name):
-                raise BaseException ("'%s' initialization: parameter '%s' inconsistent\n" \
-                "an explicit value was specified in an earlier initialization\n" \
-                "no value is specified now" % (toolset, name))
-
-            __had_unspecified_value[str_toolset_name] = True
-
-        if value == None: value = ''
-        
-        sig = sig + value + '-'
-
-    if __all_signatures.has_key(sig):
-        message = "duplicate initialization of '%s' with the following parameters: " % toolset
-        
-        for arg in args:
-            name = arg[0]
-            value = arg[1]
-            if value == None: value = '<unspecified>'
-            
-            message += "'%s' = '%s'\n" % (name, value)
-
-        raise BaseException(message)
-
-    __all_signatures[sig] = True
-    # FIXME
-    __init_loc[sig] = "User location unknown" #[ errors.nearest-user-location ] ;
-
-    # If we have a requirement, this version should only be applied under that
-    # condition. To accomplish this we add a toolset requirement that imposes
-    # the toolset subcondition, which encodes the version.
-    if requirement:
-        r = ['<toolset>' + toolset, requirement]
-        r = ','.join(r)
-        toolset.add_requirements([r + ':' + c for c in subcondition])
-
-    # We add the requirements, if any, to the condition to scope the toolset
-    # variables and options to this specific version.
-    condition = [condition]
-    if requirement:
-        condition += [requirement]
-
-    if __show_configuration:
-        print "notice:", condition
-    return ['/'.join(condition)]
-
-# Ported from trunk at 47077
-def get_invocation_command_nodefault(
-    toolset, tool, user_provided_command=[], additional_paths=[], path_last=False):
-    """
-        A helper rule to get the command to invoke some tool. If
-        'user-provided-command' is not given, tries to find binary named 'tool' in
-        PATH and in the passed 'additional-path'. Otherwise, verifies that the first
-        element of 'user-provided-command' is an existing program.
-        
-        This rule returns the command to be used when invoking the tool. If we can't
-        find the tool, a warning is issued. If 'path-last' is specified, PATH is
-        checked after 'additional-paths' when searching for 'tool'.
-    """
-    assert(isinstance(toolset, str))
-    assert(isinstance(tool, str))
-    assert(isinstance(user_provided_command, list))
-    if additional_paths is not None:
-        assert(isinstance(additional_paths, list))
-        assert(all([isinstance(path, str) for path in additional_paths]))
-    assert(all(isinstance(path, str) for path in additional_paths))
-    assert(isinstance(path_last, bool))
-    
-    if not user_provided_command:
-        command = find_tool(tool, additional_paths, path_last) 
-        if not command and __debug_configuration:
-            print "warning: toolset", toolset, "initialization: can't find tool, tool"
-            #FIXME
-            #print "warning: initialized from" [ errors.nearest-user-location ] ;
-    else:
-        command = check_tool(user_provided_command)
-        if not command and __debug_configuration:
-            print "warning: toolset", toolset, "initialization:"
-            print "warning: can't find user-provided command", user_provided_command
-            #FIXME
-            #ECHO "warning: initialized from" [ errors.nearest-user-location ]
-
-    assert(isinstance(command, str))
-    
-    return command
-
-# ported from trunk at 47174
-def get_invocation_command(toolset, tool, user_provided_command = [],
-                           additional_paths = [], path_last = False):
-    """ Same as get_invocation_command_nodefault, except that if no tool is found,
-        returns either the user-provided-command, if present, or the 'tool' parameter.
-    """
-
-    assert(isinstance(toolset, str))
-    assert(isinstance(tool, str))
-    assert(isinstance(user_provided_command, list))
-    if additional_paths is not None:
-        assert(isinstance(additional_paths, list))
-        assert(all([isinstance(path, str) for path in additional_paths]))
-    assert(isinstance(path_last, bool))
-
-    result = get_invocation_command_nodefault(toolset, tool,
-                                              user_provided_command,
-                                              additional_paths,
-                                              path_last)
-
-    if not result:
-        if user_provided_command:
-            result = user_provided_command[0]
-        else:
-            result = tool
-
-    assert(isinstance(result, str))
-    
-    return result
-
-# ported from trunk at 47281
-def get_absolute_tool_path(command):
-    """
-        Given an invocation command,
-        return the absolute path to the command. This works even if commnad
-        has not path element and is present in PATH.
-    """
-    if os.path.dirname(command):
-        return os.path.dirname(command)
-    else:
-        programs = path.programs_path()
-        m = path.glob(programs, [command, command + '.exe' ])
-        if not len(m):
-            print "Could not find:", command, "in", programs
-        return os.path.dirname(m[0])
-
-# ported from trunk at 47174
-def find_tool(name, additional_paths = [], path_last = False):
-    """ Attempts to find tool (binary) named 'name' in PATH and in
-        'additional-paths'.  If found in path, returns 'name'.  If
-        found in additional paths, returns full name.  If the tool
-        is found in several directories, returns the first path found.
-        Otherwise, returns the empty string.  If 'path_last' is specified,
-        path is checked after 'additional_paths'.
-    """
-    assert(isinstance(name, str))
-    assert(isinstance(additional_paths, list))
-    assert(isinstance(path_last, bool))
-
-    programs = path.programs_path()
-    match = path.glob(programs, [name, name + '.exe'])
-    additional_match = path.glob(additional_paths, [name, name + '.exe'])
-
-    result = []
-    if path_last:
-        result = additional_match
-        if not result and match:
-            result = match
-
-    else:
-        if match:
-            result = match
-
-        elif additional_match:
-            result = additional_match
-
-    if result:
-        return path.native(result[0])
-    else:
-        return ''
-
-#ported from trunk at 47281
-def check_tool_aux(command):
-    """ Checks if 'command' can be found either in path
-        or is a full name to an existing file.
-    """
-    assert(isinstance(command, str))
-    dirname = os.path.dirname(command)
-    if dirname:
-        if os.path.exists(command):
-            return command
-        # Both NT and Cygwin will run .exe files by their unqualified names.
-        elif on_windows() and os.path.exists(command + '.exe'):
-            return command
-        # Only NT will run .bat files by their unqualified names.
-        elif os_name() == 'NT' and os.path.exists(command + '.bat'):
-            return command
-    else:
-        paths = path.programs_path()
-        if path.glob(paths, [command]):
-            return command
-
-# ported from trunk at 47281
-def check_tool(command):
-    """ Checks that a tool can be invoked by 'command'. 
-        If command is not an absolute path, checks if it can be found in 'path'.
-        If comand is absolute path, check that it exists. Returns 'command'
-        if ok and empty string otherwise.
-    """
-    assert(isinstance(command, list))
-    assert(all(isinstance(c, str) for c in command))
-    #FIXME: why do we check the first and last elements????
-    if check_tool_aux(command[0]) or check_tool_aux(command[-1]):
-        return command
-
-# ported from trunk at 47281
-def handle_options(tool, condition, command, options):
-    """ Handle common options for toolset, specifically sets the following
-        flag variables:
-        - CONFIG_COMMAND to 'command'
-        - OPTIOns for compile to the value of <compileflags> in options
-        - OPTIONS for compile.c to the value of <cflags> in options
-        - OPTIONS for compile.c++ to the value of <cxxflags> in options
-        - OPTIONS for compile.fortran to the value of <fflags> in options
-        - OPTIONs for link to the value of <linkflags> in options
-    """
-    from b2.build import toolset
-
-    assert(isinstance(tool, str))
-    assert(isinstance(condition, list))
-    assert(isinstance(command, str))
-    assert(isinstance(options, list))
-    assert(command)
-    toolset.flags(tool, 'CONFIG_COMMAND', condition, [command])
-    toolset.flags(tool + '.compile', 'OPTIONS', condition, feature.get_values('<compileflags>', options))
-    toolset.flags(tool + '.compile.c', 'OPTIONS', condition, feature.get_values('<cflags>', options))
-    toolset.flags(tool + '.compile.c++', 'OPTIONS', condition, feature.get_values('<cxxflags>', options))
-    toolset.flags(tool + '.compile.fortran', 'OPTIONS', condition, feature.get_values('<fflags>', options))
-    toolset.flags(tool + '.link', 'OPTIONS', condition, feature.get_values('<linkflags>', options))
-
-# ported from trunk at 47281
-def get_program_files_dir():
-    """ returns the location of the "program files" directory on a windows
-        platform
-    """
-    ProgramFiles = bjam.variable("ProgramFiles")
-    if ProgramFiles:
-        ProgramFiles = ' '.join(ProgramFiles)
-    else:
-        ProgramFiles = "c:\\Program Files"
-    return ProgramFiles
-
-# ported from trunk at 47281
-def rm_command():
-    return __RM
-
-# ported from trunk at 47281
-def copy_command():
-    return __CP
-
-# ported from trunk at 47281
-def variable_setting_command(variable, value):
-    """
-        Returns the command needed to set an environment variable on the current
-        platform. The variable setting persists through all following commands and is
-        visible in the environment seen by subsequently executed commands. In other
-        words, on Unix systems, the variable is exported, which is consistent with the
-        only possible behavior on Windows systems.
-    """
-    assert(isinstance(variable, str))
-    assert(isinstance(value, str))
-
-    if os_name() == 'NT':
-        return "set " + variable + "=" + value + os.linesep
-    else:
-        # (todo)
-        #   The following does not work on CYGWIN and needs to be fixed. On
-        # CYGWIN the $(nl) variable holds a Windows new-line \r\n sequence that
-        # messes up the executed export command which then reports that the
-        # passed variable name is incorrect. This is most likely due to the
-        # extra \r character getting interpreted as a part of the variable name.
-        #
-        #   Several ideas pop to mind on how to fix this:
-        #     * One way would be to separate the commands using the ; shell
-        #       command separator. This seems like the quickest possible
-        #       solution but I do not know whether this would break code on any
-        #       platforms I I have no access to.
-        #     * Another would be to not use the terminating $(nl) but that would
-        #       require updating all the using code so it does not simply
-        #       prepend this variable to its own commands.
-        #     * I guess the cleanest solution would be to update Boost Jam to
-        #       allow explicitly specifying \n & \r characters in its scripts
-        #       instead of always relying only on the 'current OS native newline
-        #       sequence'.
-        #
-        #   Some code found to depend on this behaviour:
-        #     * This Boost Build module.
-        #         * __test__ rule.
-        #         * path-variable-setting-command rule.
-        #     * python.jam toolset.
-        #     * xsltproc.jam toolset.
-        #     * fop.jam toolset.
-        #                                     (todo) (07.07.2008.) (Jurko)
-        #
-        # I think that this works correctly in python -- Steven Watanabe
-        return variable + "=" + value + os.linesep + "export " + variable + os.linesep
-
-def path_variable_setting_command(variable, paths):
-    """
-        Returns a command to sets a named shell path variable to the given NATIVE
-        paths on the current platform.
-    """
-    assert(isinstance(variable, str))
-    assert(isinstance(paths, list))
-    sep = os.path.pathsep
-    return variable_setting_command(variable, sep.join(paths))
-
-def prepend_path_variable_command(variable, paths):
-    """
-        Returns a command that prepends the given paths to the named path variable on
-        the current platform.
-    """    
-    return path_variable_setting_command(variable,
-        paths + os.environ.get(variable, "").split(os.pathsep))
-
-def file_creation_command():
-    """
-        Return a command which can create a file. If 'r' is result of invocation, then
-        'r foobar' will create foobar with unspecified content. What happens if file
-        already exists is unspecified.
-    """
-    if os_name() == 'NT':
-        return "echo. > "
-    else:
-        return "touch "
-
-#FIXME: global variable
-__mkdir_set = set()
-__re_windows_drive = re.compile(r'^.*:\$')
-
-def mkdir(engine, target):
-    # If dir exists, do not update it. Do this even for $(DOT).
-    bjam.call('NOUPDATE', target)
-
-    global __mkdir_set
-
-    # FIXME: Where is DOT defined?
-    #if $(<) != $(DOT) && ! $($(<)-mkdir):
-    if target != '.' and target not in __mkdir_set:
-        # Cheesy gate to prevent multiple invocations on same dir.
-        __mkdir_set.add(target)
-
-        # Schedule the mkdir build action.
-        if os_name() == 'NT':
-            engine.set_update_action("common.MkDir1-quick-fix-for-windows", target, [])
-        else:
-            engine.set_update_action("common.MkDir1-quick-fix-for-unix", target, [])
-
-        # Prepare a Jam 'dirs' target that can be used to make the build only
-        # construct all the target directories.
-        engine.add_dependency('dirs', target)
-
-        # Recursively create parent directories. $(<:P) = $(<)'s parent & we
-        # recurse until root.
-
-        s = os.path.dirname(target)
-        if os_name() == 'NT':
-            if(__re_windows_drive.match(s)):
-                s = ''
-                
-        if s:
-            if s != target:
-                engine.add_dependency(target, s)
-                mkdir(engine, s)
-            else:
-                bjam.call('NOTFILE', s)
-
-__re_version = re.compile(r'^([^.]+)[.]([^.]+)[.]?([^.]*)')
-
-def format_name(format, name, target_type, prop_set):
-    """ Given a target, as given to a custom tag rule, returns a string formatted
-        according to the passed format. Format is a list of properties that is
-        represented in the result. For each element of format the corresponding target
-        information is obtained and added to the result string. For all, but the
-        literal, the format value is taken as the as string to prepend to the output
-        to join the item to the rest of the result. If not given "-" is used as a
-        joiner.
-
-        The format options can be:
-
-          <base>[joiner]
-              ::  The basename of the target name.
-          <toolset>[joiner]
-              ::  The abbreviated toolset tag being used to build the target.
-          <threading>[joiner]
-              ::  Indication of a multi-threaded build.
-          <runtime>[joiner]
-              ::  Collective tag of the build runtime.
-          <version:/version-feature | X.Y[.Z]/>[joiner]
-              ::  Short version tag taken from the given "version-feature"
-                  in the build properties. Or if not present, the literal
-                  value as the version number.
-          <property:/property-name/>[joiner]
-              ::  Direct lookup of the given property-name value in the
-                  build properties. /property-name/ is a regular expression.
-                  e.g. <property:toolset-.*:flavor> will match every toolset.
-          /otherwise/
-              ::  The literal value of the format argument.
-
-        For example this format:
-
-          boost_ <base> <toolset> <threading> <runtime> <version:boost-version>
-
-        Might return:
-
-          boost_thread-vc80-mt-gd-1_33.dll, or
-          boost_regex-vc80-gd-1_33.dll
-
-        The returned name also has the target type specific prefix and suffix which
-        puts it in a ready form to use as the value from a custom tag rule.
-    """
-    assert(isinstance(format, list))
-    assert(isinstance(name, str))
-    assert(isinstance(target_type, str) or not type)
-    # assert(isinstance(prop_set, property_set.PropertySet))
-    if type.is_derived(target_type, 'LIB'):
-        result = "" ;
-        for f in format:
-            grist = get_grist(f)
-            if grist == '<base>':
-                result += os.path.basename(name)
-            elif grist == '<toolset>':
-                result += join_tag(ungrist(f), 
-                    toolset_tag(name, target_type, prop_set))
-            elif grist == '<threading>':
-                result += join_tag(ungrist(f),
-                    threading_tag(name, target_type, prop_set))
-            elif grist == '<runtime>':
-                result += join_tag(ungrist(f),
-                    runtime_tag(name, target_type, prop_set))
-            elif grist.startswith('<version:'):
-                key = grist[len('<version:'):-1]
-                version = prop_set.get('<' + key + '>')
-                if not version:
-                    version = key
-                version = __re_version.match(version)
-                result += join_tag(ungrist(f), version[1] + '_' + version[2])
-            elif grist.startswith('<property:'):
-                key = grist[len('<property:'):-1]
-                property_re = re.compile('<(' + key + ')>')
-                p0 = None
-                for prop in prop_set.raw():
-                    match = property_re.match(prop)
-                    if match:
-                        p0 = match[1]
-                        break
-                if p0:
-                    p = prop_set.get('<' + p0 + '>')
-                    if p:
-                        assert(len(p) == 1)
-                        result += join_tag(ungrist(f), p)
-            else:
-                result += ungrist(f)
-
-        result = virtual_target.add_prefix_and_suffix(
-            ''.join(result), target_type, prop_set)
-        return result
-
-def join_tag(joiner, tag):
-    if not joiner: joiner = '-'
-    return joiner + tag
-
-__re_toolset_version = re.compile(r"<toolset.*version>(\d+)[.](\d*)")
-
-def toolset_tag(name, target_type, prop_set):
-    tag = ''
-
-    properties = prop_set.raw()
-    tools = prop_set.get('<toolset>')
-    assert(len(tools) == 0)
-    tools = tools[0]
-    if tools.startswith('borland'): tag += 'bcb'
-    elif tools.startswith('como'): tag += 'como'
-    elif tools.startswith('cw'): tag += 'cw'
-    elif tools.startswith('darwin'): tag += 'xgcc'
-    elif tools.startswith('edg'): tag += edg
-    elif tools.startswith('gcc'):
-        flavor = prop_set.get('<toolset-gcc:flavor>')
-        ''.find
-        if flavor.find('mingw') != -1:
-            tag += 'mgw'
-        else:
-            tag += 'gcc'
-    elif tools == 'intel':
-        if prop_set.get('<toolset-intel:platform>') == ['win']:
-            tag += 'iw'
-        else:
-            tag += 'il'
-    elif tools.startswith('kcc'): tag += 'kcc'
-    elif tools.startswith('kylix'): tag += 'bck'
-    #case metrowerks* : tag += cw ;
-    #case mingw* : tag += mgw ;
-    elif tools.startswith('mipspro'): tag += 'mp'
-    elif tools.startswith('msvc'): tag += 'vc'
-    elif tools.startswith('sun'): tag += 'sw'
-    elif tools.startswith('tru64cxx'): tag += 'tru'
-    elif tools.startswith('vacpp'): tag += 'xlc'
-
-    for prop in properties:
-        match = __re_toolset_version.match(prop)
-        if(match):
-            version = match
-            break
-    version_string = None
-    # For historical reasons, vc6.0 and vc7.0 use different naming.
-    if tag == 'vc':
-        if version.group(1) == '6':
-            # Cancel minor version.
-            version_string = '6'
-        elif version.group(1) == '7' and version.group(2) == '0':
-            version_string = '7'
-
-    # On intel, version is not added, because it does not matter and it's the
-    # version of vc used as backend that matters. Ideally, we'd encode the
-    # backend version but that would break compatibility with V1.
-    elif tag == 'iw':
-        version_string = ''
-
-    # On borland, version is not added for compatibility with V1.
-    elif tag == 'bcb':
-        version_string = ''
-
-    if version_string is None:
-        version = version.group(1) + version.group(2)
-
-    tag += version
-
-    return tag
-
-
-def threading_tag(name, target_type, prop_set):
-    tag = ''
-    properties = prop_set.raw()
-    if '<threading>multi' in properties: tag = 'mt'
-
-    return tag
-
-
-def runtime_tag(name, target_type, prop_set ):
-    tag = ''
-
-    properties = prop_set.raw()
-    if '<runtime-link>static' in properties: tag += 's'
-
-    # This is an ugly thing. In V1, there's a code to automatically detect which
-    # properties affect a target. So, if <runtime-debugging> does not affect gcc
-    # toolset, the tag rules won't even see <runtime-debugging>. Similar
-    # functionality in V2 is not implemented yet, so we just check for toolsets
-    # which are known to care about runtime debug.
-    if '<toolset>msvc' in properties \
-       or '<stdlib>stlport' in properties \
-       or '<toolset-intel:platform>win' in properties:
-        if '<runtime-debugging>on' in properties: tag += 'g'
-
-    if '<python-debugging>on' in properties: tag += 'y'
-    if '<variant>debug' in properties: tag += 'd'
-    if '<stdlib>stlport' in properties: tag += 'p'
-    if '<stdlib-stlport:iostream>hostios' in properties: tag += 'n'
-
-    return tag
-
-
-## TODO:
-##rule __test__ ( )
-##{
-##    import assert ;
-##
-##    local nl = "
-##" ;
-##
-##    local save-os = [ modules.peek os : .name ] ;
-##
-##    modules.poke os : .name : LINUX ;
-##
-##    assert.result "PATH=foo:bar:baz$(nl)export PATH$(nl)"
-##        : path-variable-setting-command PATH : foo bar baz ;
-##
-##    assert.result "PATH=foo:bar:$PATH$(nl)export PATH$(nl)"
-##        : prepend-path-variable-command PATH : foo bar ;
-##
-##    modules.poke os : .name : NT ;
-##
-##    assert.result "set PATH=foo;bar;baz$(nl)"
-##        : path-variable-setting-command PATH : foo bar baz ;
-##
-##    assert.result "set PATH=foo;bar;%PATH%$(nl)"
-##        : prepend-path-variable-command PATH : foo bar ;
-##
-##    modules.poke os : .name : $(save-os) ;
-##}
-
-def init(manager):
-    engine = manager.engine()
-
-    engine.register_action("common.MkDir1-quick-fix-for-unix", 'mkdir -p "$(<)"')
-    engine.register_action("common.MkDir1-quick-fix-for-windows", 'if not exist "$(<)\\" mkdir "$(<)"')
-
-    import b2.tools.make
-    import b2.build.alias
-
-    global __RM, __CP, __IGNORE, __LN
-    # ported from trunk at 47281
-    if os_name() == 'NT':
-        __RM = 'del /f /q'
-        __CP = 'copy'
-        __IGNORE = '2>nul >nul & setlocal'
-        __LN = __CP
-        #if not __LN:
-        #    __LN = CP
-    else:
-        __RM = 'rm -f'
-        __CP = 'cp'
-        __IGNORE = ''
-        __LN = 'ln'
-        
-    engine.register_action("common.Clean", __RM + ' "$(>)"',
-                           flags=['piecemeal', 'together', 'existing'])
-    engine.register_action("common.copy", __CP + ' "$(>)" "$(<)"')
-    engine.register_action("common.RmTemps", __RM + ' "$(>)" ' + __IGNORE,
-                           flags=['quietly', 'updated', 'piecemeal', 'together'])
-
-    engine.register_action("common.hard-link", 
-        __RM + ' "$(<)" 2$(NULL_OUT) $(NULL_OUT)' + os.linesep +
-        __LN + ' "$(>)" "$(<)" $(NULL_OUT)')
diff --git a/SRC/Boost/tools/build/v2/tools/como-linux.jam b/SRC/Boost/tools/build/v2/tools/como-linux.jam
deleted file mode 100755
index 2d0e4a8..0000000
--- a/SRC/Boost/tools/build/v2/tools/como-linux.jam
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# The following #// line will be used by the regression test table generation
-# program as the column heading for HTML tables. Must not include a version
-# number.
-#//<a href="http://www.comeaucomputing.com/">Comeau<br>C++</a>
-
-import toolset ;
-import feature ;
-import toolset : flags ;
-import common ;
-import generators ;
-
-import unix ;
-import como ;
-
-feature.extend-subfeature toolset como : platform : linux ;
-
-toolset.inherit-generators como-linux
-     <toolset>como <toolset-como:platform>linux : unix ;
-generators.override como-linux.prebuilt : builtin.lib-generator ;
-generators.override como-linux.searched-lib-generator : searched-lib-generator ;
-toolset.inherit-flags como-linux : unix ;
-toolset.inherit-rules como-linux : gcc ;
-
-generators.register-c-compiler como-linux.compile.c++ : CPP : OBJ
-    : <toolset>como <toolset-como:platform>linux ;
-generators.register-c-compiler como-linux.compile.c : C : OBJ
-    : <toolset>como <toolset-como:platform>linux ;
-
-
-rule init ( version ? : command * : options * )
-{
-    local condition = [ common.check-init-parameters como-linux
-        : version $(version) ] ;
-
-    command = [ common.get-invocation-command como-linux : como
-        : $(command) ] ;
-
-    common.handle-options como-linux : $(condition) : $(command) : $(options) ;
-}
-
-
-flags como-linux C++FLAGS <exception-handling>off : --no_exceptions ;
-flags como-linux C++FLAGS <exception-handling>on : --exceptions ;
-
-flags como-linux CFLAGS <inlining>off : --no_inlining ;
-flags como-linux CFLAGS <inlining>on <inlining>full : --inlining ;
-
-flags como-linux CFLAGS <optimization>off : -O0 ;
-flags como-linux CFLAGS <optimization>speed : -O3 ;
-flags como-linux CFLAGS <optimization>space : -Os ;
-
-flags como-linux CFLAGS <debug-symbols>on : -g ;
-flags como-linux LINKFLAGS <debug-symbols>on : -g ;
-
-flags como-linux FINDLIBS : m ;
-flags como-linux FINDLIBS : rt ;
-
-flags como-linux CFLAGS <cflags> ;
-flags como-linux C++FLAGS <cxxflags> ;
-flags como-linux DEFINES <define> ;
-flags como-linux UNDEFS <undef> ;
-flags como-linux HDRS <include> ;
-flags como-linux STDHDRS <sysinclude> ;
-flags como-linux LINKFLAGS <linkflags> ;
-flags como-linux ARFLAGS <arflags> ;
-
-flags como-linux.link LIBRARIES <library-file> ;
-flags como-linux.link LINKPATH <library-path> ;
-flags como-linux.link FINDLIBS-ST <find-static-library> ;
-flags como-linux.link FINDLIBS-SA <find-shared-library> ;
-
-flags como-linux.link RPATH <dll-path> ;
-flags como-linux.link RPATH_LINK <xdll-path> ;
-
-
-actions link bind LIBRARIES
-{
-    $(CONFIG_COMMAND) $(LINKFLAGS) -o "$(<[1])" "$(>)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)"  "$(LIBRARIES)"  "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) 2>&1
-}
-
-actions link.dll bind LIBRARIES
-{
-    $(CONFIG_COMMAND) $(LINKFLAGS) -shared -o "$(<[1])" "$(>)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" "$(LIBRARIES)"  "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) 2>&1
-}
-
-actions compile.c
-{
-    $(CONFIG_COMMAND) -c --c99 --long_long -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" 2>&1
-}
-
-actions compile.c++
-{
-    $(CONFIG_COMMAND) -tused -c --long_long -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)"  -o "$(<)" "$(>)" 2>&1
-}
-
-actions archive
-{
-    ar rcu $(<) $(>)
-}
diff --git a/SRC/Boost/tools/build/v2/tools/como-win.jam b/SRC/Boost/tools/build/v2/tools/como-win.jam
deleted file mode 100755
index eeab26c..0000000
--- a/SRC/Boost/tools/build/v2/tools/como-win.jam
+++ /dev/null
@@ -1,117 +0,0 @@
-# (C) Copyright David Abrahams 2001.
-# (C) Copyright MetaCommunications, Inc. 2004.
-
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# The following #// line will be used by the regression test table generation
-# program as the column heading for HTML tables. Must not include a version
-# number.
-#//<a href="http://www.comeaucomputing.com/">Comeau<br>C++</a>
-
-import common ;
-import como ;
-import feature ;
-import generators ;
-import toolset : flags ;
-
-feature.extend-subfeature toolset como : platform : win ;
-
-
-# Initializes the Comeau toolset for windows. The command is the command which
-# invokes the compiler. You should either set environment variable
-# COMO_XXX_INCLUDE where XXX is the used backend (as described in the
-# documentation), or pass that as part of command, e.g:
-#
-#   using como-win : 4.3 : "set COMO_BCC_INCLUDE=C:/include &&" como.exe ;
-#
-rule init ( version ? : command * : options * )
-{
-    local condition = [  common.check-init-parameters como-win
-        : version $(version) ] ;
-
-    command = [ common.get-invocation-command como-win : como.exe :
-        $(command) ] ;
-
-    common.handle-options como-win : $(condition) : $(command) : $(options) ;
-}
-
-generators.register-c-compiler como-win.compile.c++ : CPP : OBJ
-    : <toolset>como <toolset-como:platform>win ;
-generators.register-c-compiler como-win.compile.c : C : OBJ
-    : <toolset>como <toolset-como:platform>win ;
-
-
-generators.register-linker como-win.link
-    : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
-    : EXE
-    : <toolset>como <toolset-como:platform>win ;
-
-# Note that status of shared libraries support is not clear, so we do not define
-# the link.dll generator.
-generators.register-archiver como-win.archive
-    : OBJ : STATIC_LIB
-    : <toolset>como <toolset-como:platform>win ;
-
-
-flags como-win C++FLAGS <exception-handling>off : --no_exceptions ;
-flags como-win C++FLAGS <exception-handling>on : --exceptions ;
-
-flags como-win CFLAGS <inlining>off : --no_inlining ;
-flags como-win CFLAGS <inlining>on <inlining>full : --inlining ;
-
-
-# The following seems to be VC-specific options. At least, when I uncomment
-# then, Comeau with bcc as backend reports that bcc32 invocation failed.
-#
-#flags como-win CFLAGS <debug-symbols>on : /Zi ;
-#flags como-win CFLAGS <optimization>off : /Od ;
-
-
-flags como-win CFLAGS <cflags> ;
-flags como-win CFLAGS : -D_WIN32 ;  # Make sure that we get the Boost Win32 platform config header.
-flags como-win CFLAGS <threading>multi : -D_MT ;  # Make sure that our config knows that threading is on.
-flags como-win C++FLAGS <cxxflags> ;
-flags como-win DEFINES <define> ;
-flags como-win UNDEFS <undef> ;
-flags como-win HDRS <include> ;
-flags como-win SYSHDRS <sysinclude> ;
-flags como-win LINKFLAGS <linkflags> ;
-flags como-win ARFLAGS <arflags> ;
-flags como-win NO_WARN <no-warn> ;
-
-#flags como-win STDHDRS : $(COMO_INCLUDE_PATH) ;
-#flags como-win STDLIB_PATH : $(COMO_STDLIB_PATH)$(SLASH) ;
-
-flags como-win LIBPATH <library-path> ;
-flags como-win LIBRARIES <library-file> ;
-flags como-win FINDLIBS <find-shared-library> ;
-flags como-win FINDLIBS <find-static-library> ;
-
-nl = "
-" ;
-
-
-# For como, we repeat all libraries so that dependencies are always resolved.
-#
-actions link bind LIBRARIES
-{
-    $(CONFIG_COMMAND) --no_version --no_prelink_verbose $(LINKFLAGS) -o "$(<[1]:S=)" @"@($(<[1]:W).rsp:E=$(nl)"$(>)")" "$(LIBRARIES)" "$(FINDLIBS:S=.lib)"
-}
-
-actions compile.c
-{
-    $(CONFIG_COMMAND) -c --c99 -e5 --no_version --display_error_number --diag_suppress=9,21,161,748,940,962 -U$(UNDEFS) -D$(DEFINES) $(WARN) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -I"$(SYSHDRS)" -o "$(<:D=)" "$(>)"
-}
-
-actions compile.c++
-{
-    $(CONFIG_COMMAND) -c -e5 --no_version --no_prelink_verbose --display_error_number --long_long --diag_suppress=9,21,161,748,940,962 --diag_error=461 -D__STL_LONG_LONG -U$(UNDEFS) -D$(DEFINES) $(WARN) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -I"$(SYSHDRS)" -o "$(<)" "$(>)"
-}
-
-actions archive
-{
-    $(CONFIG_COMMAND) --no_version --no_prelink_verbose --prelink_object @"@($(<[1]:W).rsp:E=$(nl)"$(>)")"
-    lib $(ARFLAGS) /nologo /out:"$(<:S=.lib)" @"@($(<[1]:W).rsp:E=$(nl)"$(>)")"
-}
diff --git a/SRC/Boost/tools/build/v2/tools/como.jam b/SRC/Boost/tools/build/v2/tools/como.jam
deleted file mode 100755
index 6530dcc..0000000
--- a/SRC/Boost/tools/build/v2/tools/como.jam
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright Vladimir Prus 2004.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt
-# or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-# This is a generic 'como' toolset. Depending on the current system, it
-# forwards either to 'como-linux' or 'como-win' modules.
-
-import feature ;
-import os ;
-import toolset ;
-
-feature.extend toolset : como ;
-feature.subfeature toolset como : platform : : propagated link-incompatible ;
-
-rule init ( * : * )
-{
-    if [ os.name ] = LINUX
-    {
-        toolset.using como-linux : 
-          $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-    else
-    {
-        toolset.using como-win :
-          $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-
-    }        
-}
diff --git a/SRC/Boost/tools/build/v2/tools/convert.jam b/SRC/Boost/tools/build/v2/tools/convert.jam
deleted file mode 100755
index cac9d6e..0000000
--- a/SRC/Boost/tools/build/v2/tools/convert.jam
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright (c) 2009 Vladimir Prus
-#
-# Use, modification and distribution is subject to the Boost Software
-# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Implements 'convert' target that takes a bunch of source and
-# tries to convert each one to the specified type.
-#
-# For example:
-#
-#   convert objects obj : a.cpp b.cpp ;
-#
-
-import targets ;
-import generators ;
-import project ;
-import type ;
-import "class" : new ;
-
-class convert-target-class : typed-target
-{
-    rule __init__ ( name : project : type
-    : sources * : requirements * : default-build * : usage-requirements * )
-    {
-        typed-target.__init__ $(name) : $(project) : $(type)
-          : $(sources) : $(requirements) : $(default-build) : $(usage-requirements) ;
-    }
-
-    rule construct ( name : source-targets * : property-set )
-    {
-        local r = [ generators.construct $(self.project) : $(self.type)
-          : [ property-set.create [ $(property-set).raw ] # [ feature.expand
-              <main-target-type>$(self.type) ]
-          # ]
-            : $(source-targets) ] ;
-        if ! $(r)
-        {
-            errors.error "unable to construct" [ full-name ] ;
-        }
-
-        return $(r) ;
-    }
-
-}
-
-rule convert ( name type : sources * : requirements * : default-build *
-    : usage-requirements * )
-{
-    local project = [ project.current ] ;
-
-    # This is a circular module dependency, so it must be imported here
-    modules.import targets ;
-    targets.main-target-alternative
-      [ new convert-target-class $(name) : $(project) : [ type.type-from-rule-name $(type) ]
-        : [ targets.main-target-sources $(sources) : $(name) ]
-        : [ targets.main-target-requirements $(requirements) : $(project) ]
-        : [ targets.main-target-default-build $(default-build) : $(project) ]
-        : [ targets.main-target-usage-requirements $(usage-requirements) : $(project) ]
-      ] ;
-}
-IMPORT $(__name__) : convert : : convert ;
diff --git a/SRC/Boost/tools/build/v2/tools/cw-config.jam b/SRC/Boost/tools/build/v2/tools/cw-config.jam
deleted file mode 100755
index 1117f52..0000000
--- a/SRC/Boost/tools/build/v2/tools/cw-config.jam
+++ /dev/null
@@ -1,34 +0,0 @@
-#~ Copyright 2005 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Automatic configuration for CodeWarrior toolset. To use, just import this module.
-
-import os ;
-import toolset : using ;
-
-if [ os.name ] = NT
-{
-    for local R in 9 8 7
-    {
-        local cw-path = [ W32_GETREG
-            "HKEY_LOCAL_MACHINE\\SOFTWARE\\Metrowerks\\CodeWarrior\\Product Versions\\CodeWarrior for Windows R$(R)"
-            : "PATH" ] ;
-        local cw-version = [ W32_GETREG
-            "HKEY_LOCAL_MACHINE\\SOFTWARE\\Metrowerks\\CodeWarrior\\Product Versions\\CodeWarrior for Windows R$(R)"
-            : "VERSION" ] ;
-        cw-path ?= [ W32_GETREG
-            "HKEY_LOCAL_MACHINE\\SOFTWARE\\Metrowerks\\CodeWarrior for Windows\\$(R).0"
-            : "PATH" ] ;
-        cw-version ?= $(R).0 ;
-        
-        if $(cw-path)
-        {
-            if --debug-configuration in [ modules.peek : ARGV ]
-            {
-                ECHO "notice:" using cw ":" $(cw-version) ":" "$(cw-path)\\Other Metrowerks Tools\\Command Line Tools\\mwcc.exe" ;
-            }
-            using cw : $(cw-version) : "$(cw-path)\\Other Metrowerks Tools\\Command Line Tools\\mwcc.exe" ;
-        }
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/tools/cw.jam b/SRC/Boost/tools/build/v2/tools/cw.jam
deleted file mode 100755
index 9ade02f..0000000
--- a/SRC/Boost/tools/build/v2/tools/cw.jam
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright (C) Reece H Dunn 2004
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# based on the msvc.jam toolset
-
-import property ;
-import generators ;
-import os ;
-import type ;
-import toolset : flags ;
-import errors : error ;
-import feature : feature get-values ;
-import path ;
-import sequence : unique ;
-import common ;
-
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-   .debug-configuration = true ;
-}
-
-feature.extend toolset : cw ;
-
-toolset.add-requirements <toolset>cw,<runtime-link>shared:<threading>multi ;
-
-nl = "
-" ;
-
-rule init ( version ? : command * : options * )
-{
-   # TODO: fix the $(command[1]) = $(compiler) issue
-    
-    setup = [ get-values <setup> : $(options) ] ;
-    setup    ?= cwenv.bat ;
-    compiler = [ get-values <compiler> : $(options) ] ;
-    compiler ?= mwcc ;
-    linker = [ get-values <linker> : $(options) ] ;
-    linker   ?= mwld ;
-
-    local condition = [ common.check-init-parameters cw :
-        version $(version) ] ;
-
-    command = [ common.get-invocation-command cw : mwcc.exe : $(command) :
-        [ default-paths $(version) ] ] ;
-    
-    common.handle-options cw : $(condition) : $(command) : $(options) ;
-
-    local root = [ feature.get-values <root> : $(options) ] ;    
-    if $(command)
-    {
-        command = [ common.get-absolute-tool-path $(command[-1]) ] ;
-    }
-    local tool-root = $(command) ;
-
-    setup = $(tool-root)\\$(setup) ;
-
-   # map the batch file in setup so it can be executed
-
-    other-tools = $(tool-root:D) ;
-    root ?= $(other-tools:D) ;
-    
-    flags cw.link RUN_PATH $(condition) : 
-        "$(root)\\Win32-x86 Support\\Libraries\\Runtime"
-        "$(root)\\Win32-x86 Support\\Libraries\\Runtime\\Libs\\MSL_All-DLLs" ;      
-    
-    setup = "set \"CWFOLDER="$(root)"\" && call \""$(setup)"\" > nul " ;
-
-   if [ os.name ] = NT
-   {
-      setup = $(setup)"
-" ;
-   }
-   else
-   {
-      setup = "cmd /S /C "$(setup)" \"&&\" " ;
-   }
-
-   # bind the setup command to the tool so it can be executed before the
-   # command
-
-   local prefix = $(setup) ;
-
-   flags cw.compile .CC $(condition) : $(prefix)$(compiler) ;
-   flags cw.link .LD $(condition) : $(prefix)$(linker) ;
-   flags cw.archive .LD $(condition) : $(prefix)$(linker) ;
-
-    if [ MATCH ^([89]\\.) : $(version) ]   
-    {
-        if [ os.name ] = NT
-        {
-        # The runtime libraries
-        flags cw.compile CFLAGS <runtime-link>static/<threading>single/<runtime-debugging>off : -runtime ss ;
-        flags cw.compile CFLAGS <runtime-link>static/<threading>single/<runtime-debugging>on : -runtime ssd ;
-        
-        flags cw.compile CFLAGS <runtime-link>static/<threading>multi/<runtime-debugging>off : -runtime sm ;
-        flags cw.compile CFLAGS <runtime-link>static/<threading>multi/<runtime-debugging>on : -runtime smd ;
-        
-        flags cw.compile CFLAGS <runtime-link>shared/<runtime-debugging>off : -runtime dm ;
-        flags cw.compile CFLAGS <runtime-link>shared/<runtime-debugging>on : -runtime dmd ;
-        }        
-    }    
-}
-
-
-local rule default-paths ( version ? )  # FIXME
-{
-   local possible-paths ;
-   local ProgramFiles = [ common.get-program-files-dir ] ;
-
-   # TODO: add support for cw8 and cw9 detection
-
-   local version-6-path = $(ProgramFiles)"\\Metrowerks\\CodeWarrior" ;
-   possible-paths += $(version-6-path) ;
-
-   # perform post-processing
-
-   possible-paths
-      = $(possible-paths)"\\Other Metrowerks Tools\\Command Line Tools" ;
-
-   possible-paths += [ modules.peek : PATH Path path ] ;
-
-   return $(possible-paths) ;
-}
-
-
-
-
-## declare generators
-
-generators.register-c-compiler cw.compile.c++ : CPP : OBJ : <toolset>cw ;
-generators.register-c-compiler cw.compile.c : C : OBJ : <toolset>cw ;
-
-generators.register-linker cw.link
-   : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
-   : EXE
-   : <toolset>cw
-   ;
-generators.register-linker cw.link.dll
-   : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
-   : SHARED_LIB IMPORT_LIB
-   : <toolset>cw
-   ;
-
-generators.register-archiver cw.archive
-   : OBJ
-   : STATIC_LIB
-   : <toolset>cw
-   ;
-
-## compilation phase
-
-flags cw WHATEVER <toolset-cw:version> ;
-
-flags cw.compile CFLAGS <debug-symbols>on : -g ;
-flags cw.compile CFLAGS <optimization>off : -O0 ;
-flags cw.compile CFLAGS <optimization>speed : -O4,p ;
-flags cw.compile CFLAGS <optimization>space : -O4,s ;
-flags cw.compile CFLAGS <inlining>off : -inline off ;
-flags cw.compile CFLAGS <inlining>on : -inline on ;
-flags cw.compile CFLAGS <inlining>full : -inline all ;
-flags cw.compile CFLAGS <exception-handling>off : -Cpp_exceptions off ;
-
-
-flags cw.compile CFLAGS <rtti>on : -RTTI on ;
-flags cw.compile CFLAGS <rtti>off : -RTTI off ;
-
-flags cw.compile CFLAGS <warnings>on : -w on ;
-flags cw.compile CFLAGS <warnings>off : -w off ;
-flags cw.compile CFLAGS <warnings>all : -w all ;
-flags cw.compile CFLAGS <warnings-as-errors>on : -w error ;
-
-flags cw.compile USER_CFLAGS <cflags> : ;
-flags cw.compile.c++ USER_CFLAGS <cxxflags> : ;
-
-flags cw.compile DEFINES <define> ;
-flags cw.compile UNDEFS <undef> ;
-flags cw.compile INCLUDES <include> ;
-
-actions compile.c
-{
-   $(.CC) -c -cwd include -lang c -U$(UNDEFS) $(CFLAGS) $(USER_CFLAGS) -I- -o "$(<)" @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)-D$(DEFINES) $(nl)"-I$(INCLUDES)")"
-}
-actions compile.c++
-{
-   $(.CC) -c -cwd include -lang c++ -U$(UNDEFS) $(CFLAGS) $(USER_CFLAGS) -I- -o "$(<)" @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)-D$(DEFINES) $(nl)"-I$(INCLUDES)")"
-}
-
-## linking phase
-
-flags cw.link DEF_FILE <def-file> ;
-
-flags cw LINKFLAGS : -search ;
-flags cw LINKFLAGS <debug-symbols>on : -g ;
-flags cw LINKFLAGS <user-interface>console : -subsystem console ;
-flags cw LINKFLAGS <user-interface>gui : -subsystem windows ;
-flags cw LINKFLAGS <user-interface>wince : -subsystem wince ;
-flags cw LINKFLAGS <user-interface>native : -subsystem native ;
-flags cw LINKFLAGS <user-interface>auto : -subsystem auto ;
-
-flags cw LINKFLAGS <main-target-type>LIB/<link>static : -library ;
-
-flags cw.link USER_LINKFLAGS <linkflags> ;
-flags cw.link LINKPATH <library-path> ;
-
-flags cw.link FINDLIBS_ST <find-static-library> ;
-flags cw.link FINDLIBS_SA <find-shared-library> ;
-flags cw.link LIBRARY_OPTION <toolset>cw : "" : unchecked ;
-flags cw.link LIBRARIES_MENTIONED_BY_FILE : <library-file> ;
-
-rule link.dll ( targets + : sources * : properties * )
-{
-    DEPENDS $(<) : [ on $(<) return $(DEF_FILE) ] ;
-}
-
-if [ os.name ] in NT
-{
-   actions archive
-   {
-      if exist "$(<[1])" DEL "$(<[1])"
-      $(.LD) -library -o "$(<[1])" @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
-   }
-}
-else # cygwin
-{
-   actions archive
-   {
-      _bbv2_out_="$(<)"
-      if test -f "$_bbv2_out_" ; then
-         _bbv2_existing_="$(<:W)"
-      fi
-      $(.LD) -library -o "$(<:W)" $_bbv2_existing_ @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
-   }
-}
-
-actions link bind DEF_FILE
-{
-   $(.LD) -o "$(<[1]:W)" -L"$(LINKPATH)" $(LINKFLAGS) $(USER_LINKFLAGS) @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
-}
-
-actions link.dll bind DEF_FILE
-{
-   $(.LD) -shared -o "$(<[1]:W)" -implib "$(<[2]:W)" -L"$(LINKPATH)" $(LINKFLAGS) -f"$(DEF_FILE)" $(USER_LINKFLAGS) @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
-}
-
diff --git a/SRC/Boost/tools/build/v2/tools/darwin.jam b/SRC/Boost/tools/build/v2/tools/darwin.jam
deleted file mode 100755
index 396ebb9..0000000
--- a/SRC/Boost/tools/build/v2/tools/darwin.jam
+++ /dev/null
@@ -1,568 +0,0 @@
-# Copyright 2003 Christopher Currie
-# Copyright 2006 Dave Abrahams 
-# Copyright 2003, 2004, 2005, 2006 Vladimir Prus 
-# Copyright 2005-2007 Mat Marcus
-# Copyright 2005-2007 Adobe Systems Incorporated
-# Copyright 2007-2010 Rene Rivera
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-#  Please see http://article.gmane.org/gmane.comp.lib.boost.build/3389/
-#  for explanation why it's a separate toolset.
-
-import feature : feature ;
-import toolset : flags ;
-import type ;
-import common ;
-import generators ;
-import path : basename ;
-import version ;
-import property-set ;
-import regex ;
-import errors ;
-
-## Use a framework.
-feature framework : : free ;
-
-## The MacOSX version to compile for, which maps to the SDK to use (sysroot).
-feature macosx-version : : propagated link-incompatible symmetric optional ;
-
-## The minimal MacOSX version to target.
-feature macosx-version-min : : propagated optional ;
-
-## A dependency, that is forced to be included in the link.
-feature force-load : : free dependency incidental ;
-
-#############################################################################
-
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-    .debug-configuration = true ;
-}
-
-feature.extend toolset : darwin ;
-import gcc ;
-toolset.inherit-generators darwin : gcc : gcc.mingw.link gcc.mingw.link.dll ;
-
-generators.override darwin.prebuilt : builtin.prebuilt ;
-generators.override darwin.searched-lib-generator : searched-lib-generator ;
-
-# Override default do-nothing generators.
-generators.override darwin.compile.c.pch   : pch.default-c-pch-generator   ;
-generators.override darwin.compile.c++.pch : pch.default-cpp-pch-generator ;
-
-type.set-generated-target-suffix PCH : <toolset>darwin : gch ;
-
-toolset.inherit-rules darwin : gcc : localize ;
-toolset.inherit-flags darwin : gcc     
-  :  <runtime-link>static
-     <architecture>arm/<address-model>32
-     <architecture>arm/<address-model>64
-     <architecture>arm/<instruction-set>
-     <architecture>x86/<address-model>32
-     <architecture>x86/<address-model>64
-     <architecture>x86/<instruction-set>
-     <architecture>power/<address-model>32
-     <architecture>power/<address-model>64
-     <architecture>power/<instruction-set>  ;
-
-# Options:
-#
-#   <root>PATH
-#       Platform root path. The common autodetection will set this to
-#       "/Developer". And when a command is given it will be set to
-#       the corresponding "*.platform/Developer" directory.
-#
-rule init ( version ? : command * : options * : requirement * )
-{
-    # First time around, figure what is host OSX version
-    if ! $(.host-osx-version)  
-    {
-        .host-osx-version = [ MATCH "^([0-9.]+)"
-          : [ SHELL "/usr/bin/sw_vers -productVersion" ] ] ;
-        if $(.debug-configuration)
-        {
-            ECHO notice: OSX version on this machine is $(.host-osx-version) ;
-        }
-    }
-                      
-    # - The root directory of the tool install.
-    local root = [ feature.get-values <root> : $(options) ] ;
-    
-    # - The bin directory where to find the commands to execute.
-    local bin ;
-    
-    # - The configured compile driver command.
-    local command = [ common.get-invocation-command darwin : g++ : $(command) ] ;
-    
-    # The version as reported by the compiler
-    local real-version ;
-    
-    # - Autodetect the root and bin dir if not given.
-    if $(command)
-    {
-        bin ?= [ common.get-absolute-tool-path $(command[1]) ] ;
-        if $(bin) = "/usr/bin"
-        {
-            root ?= /Developer ;
-        }
-        else
-        {
-            local r = $(bin:D) ;
-            r = $(r:D) ;
-            root ?= $(r) ;
-        }
-    }
-    
-    # - Autodetect the version if not given.
-    if $(command)
-    {
-        # - The 'command' variable can have multiple elements. When calling
-        #   the SHELL builtin we need a single string.
-        local command-string = $(command:J=" ") ;
-        real-version = [ MATCH "^([0-9.]+)"
-            : [ SHELL "$(command-string) -dumpversion" ] ] ;
-        version ?= $(real-version) ;
-    }
-    
-    .real-version.$(version) = $(real-version) ;
-    
-    # - Define the condition for this toolset instance.
-    local condition =
-        [ common.check-init-parameters darwin $(requirement) : version $(version) ] ;
-    
-    # - Set the toolset generic common options.
-    common.handle-options darwin : $(condition) : $(command) : $(options) ;
-    
-    # - GCC 4.0 and higher in Darwin does not have -fcoalesce-templates.
-    if $(real-version) < "4.0.0"
-    {
-        flags darwin.compile.c++ OPTIONS $(condition) : -fcoalesce-templates ;
-    }
-    # - GCC 4.2 and higher in Darwin does not have -Wno-long-double.
-    if $(real-version) < "4.2.0"
-    {
-        flags darwin.compile OPTIONS $(condition) : -Wno-long-double ;
-    }
-
-    # - Set the link flags common with the GCC toolset.
-    gcc.init-link-flags darwin darwin $(condition) ;
-
-    # - The symbol strip program.
-    local strip ;
-    if <striper> in $(options)
-    {
-        # We can turn off strip by specifying it as empty. In which
-        # case we switch to using the linker to do the strip.
-        flags darwin.link.dll OPTIONS
-            $(condition)/<main-target-type>LIB/<link>shared/<address-model>32/<strip>on : -Wl,-x ;
-        flags darwin.link.dll OPTIONS
-            $(condition)/<main-target-type>LIB/<link>shared/<address-model>/<strip>on : -Wl,-x ;
-        flags darwin.link OPTIONS
-            $(condition)/<main-target-type>EXE/<address-model>32/<strip>on : -s ;
-        flags darwin.link OPTIONS
-            $(condition)/<main-target-type>EXE/<address-model>/<strip>on : -s ;
-    }
-    else
-    {
-        # Otherwise we need to find a strip program to use. And hence
-        # also tell the link action that we need to use a strip
-        # post-process.
-        flags darwin.link NEED_STRIP $(condition)/<strip>on : "" ;
-        strip =
-            [ common.get-invocation-command darwin
-                : strip : [ feature.get-values <striper> : $(options) ] : $(bin) : search-path ] ;
-        flags darwin.link .STRIP $(condition) : $(strip[1]) ;
-        if $(.debug-configuration)
-        {
-            ECHO notice: using strip for $(condition) at $(strip[1]) ;
-        }
-    }
-
-    # - The archive builder (libtool is the default as creating
-    #   archives in darwin is complicated.
-    local archiver =
-        [ common.get-invocation-command darwin
-            : libtool : [ feature.get-values <archiver> : $(options) ] : $(bin) : search-path ] ;
-    flags darwin.archive .LIBTOOL $(condition) : $(archiver[1]) ;
-    if $(.debug-configuration)
-    {
-        ECHO notice: using archiver for $(condition) at $(archiver[1]) ;
-    }
-    
-    # - Initialize the SDKs available in the root for this tool.
-    local sdks = [ init-available-sdk-versions $(condition) : $(root) ] ;
-    
-    #~ ECHO --- ;
-    #~ ECHO --- bin :: $(bin) ;
-    #~ ECHO --- root :: $(root) ;
-    #~ ECHO --- version :: $(version) ;
-    #~ ECHO --- condition :: $(condition) ;
-    #~ ECHO --- strip :: $(strip) ;
-    #~ ECHO --- archiver :: $(archiver) ;
-    #~ ECHO --- sdks :: $(sdks) ;
-    #~ ECHO --- ;
-    #~ EXIT ;
-}
-
-# Add and set options for a discovered SDK version.
-local rule init-sdk ( condition * : root ? : version + : version-feature ? )
-{
-    local rule version-to-feature ( version + )
-    {
-        switch $(version[1])
-        {
-            case iphone* :
-            {
-                return $(version[1])-$(version[2-]:J=.) ;
-            }
-            case mac* :
-            {
-                return $(version[2-]:J=.) ;
-            }
-            case * :
-            {
-                return $(version:J=.) ;
-            }
-        }
-    }
-    
-    if $(version-feature)
-    {
-        if $(.debug-configuration)
-        {
-            ECHO notice: available sdk for $(condition)/<macosx-version>$(version-feature) at $(sdk) ;
-        }
-        
-        # Add the version to the features for specifying them.
-        if ! $(version-feature) in [ feature.values macosx-version ]
-        {
-            feature.extend macosx-version : $(version-feature) ;
-        }
-        if ! $(version-feature) in [ feature.values macosx-version-min ]
-        {
-            feature.extend macosx-version-min : $(version-feature) ;
-        }
-        
-        # Set the flags the version needs to compile with, first
-        # generic options.
-        flags darwin.compile OPTIONS $(condition)/<macosx-version>$(version-feature)
-            : -isysroot $(sdk) ;
-        flags darwin.link OPTIONS $(condition)/<macosx-version>$(version-feature)
-            : -isysroot $(sdk) ;
-        
-        # Then device variation options.
-        switch $(version[1])
-        {
-            case iphonesim* :
-            {
-                local N = $(version[2]) ;
-                if ! $(version[3]) { N += 00 ; }
-                else if [ regex.match (..) : $(version[3]) ] { N += $(version[3]) ; }
-                else { N += 0$(version[3]) ; }
-                if ! $(version[4]) { N += 00 ; }
-                else if [ regex.match (..) : $(version[4]) ] { N += $(version[4]) ; }
-                else { N += 0$(version[4]) ; }
-                N = $(N:J=) ;
-                flags darwin.compile OPTIONS <macosx-version-min>$(version-feature)
-                    : -D__IPHONE_OS_VERSION_MIN_REQUIRED=$(N) ;
-                flags darwin.link OPTIONS <macosx-version-min>$(version-feature)
-                    : -D__IPHONE_OS_VERSION_MIN_REQUIRED=$(N) ;
-            }
-            
-            case iphone* :
-            {
-                flags darwin.compile OPTIONS <macosx-version-min>$(version-feature)
-                    : -miphoneos-version-min=$(version[2-]:J=.) ;
-                flags darwin.link OPTIONS <macosx-version-min>$(version-feature)
-                    : -miphoneos-version-min=$(version[2-]:J=.) ;
-            }
-            
-            case mac* :
-            {
-                flags darwin.compile OPTIONS <macosx-version-min>$(version-feature)
-                    : -mmacosx-version-min=$(version[2-]:J=.) ;
-                flags darwin.link OPTIONS <macosx-version-min>$(version-feature)
-                    : -mmacosx-version-min=$(version[2-]:J=.) ;
-            }
-        }
-        
-        return $(version-feature) ;
-    }
-    else if $(version[4])
-    {
-        # We have a patch version of an SDK. We want to set up
-        # both the specific patch version, and the minor version.
-        # So we recurse to set up the minor version. Plus the minor version.
-        return
-            [ init-sdk $(condition) : $(root)
-                : $(version[1-3]) : [ version-to-feature $(version[1-3]) ] ]
-            [ init-sdk $(condition) : $(root)
-                : $(version) : [ version-to-feature $(version) ] ] ;
-    }
-    else
-    {
-        # Yes, this is intentionally recursive.
-        return
-            [ init-sdk $(condition) : $(root)
-                : $(version) : [ version-to-feature $(version) ] ] ;
-    }
-}
-
-# Determine the MacOSX SDK versions installed and their locations.
-local rule init-available-sdk-versions ( condition * : root ? )
-{
-    root ?= /Developer ;
-    local sdks-root = $(root)/SDKs ;
-    local sdks = [ GLOB $(sdks-root) : MacOSX*.sdk iPhoneOS*.sdk iPhoneSimulator*.sdk ] ;
-    local result ;
-    for local sdk in $(sdks)
-    {
-        local sdk-match = [ MATCH ([^0-9]+)([0-9]+)[.]([0-9x]+)[.]?([0-9x]+)? : $(sdk:D=) ] ;
-        local sdk-platform = $(sdk-match[1]:L) ;
-        local sdk-version = $(sdk-match[2-]) ;
-        if $(sdk-version)
-        {
-            switch $(sdk-platform)
-            {
-                case macosx :
-                {
-                    sdk-version = mac $(sdk-version) ;
-                }
-                case iphoneos :
-                {
-                    sdk-version = iphone $(sdk-version) ;
-                }
-                case iphonesimulator :
-                {
-                    sdk-version = iphonesim $(sdk-version) ;
-                }
-                case * :
-                {
-                    sdk-version = $(sdk-version:J=-) ;
-                }
-            }
-            result += [ init-sdk $(condition) : $(sdk) : $(sdk-version) ] ;
-        }
-    }
-    return $(result) ;
-}
-
-# Generic options.
-flags darwin.compile OPTIONS <flags> ;
-
-# The following adds objective-c support to darwin.
-# Thanks to http://thread.gmane.org/gmane.comp.lib.boost.build/13759
-
-generators.register-c-compiler darwin.compile.m : OBJECTIVE_C : OBJ : <toolset>darwin ;
-generators.register-c-compiler darwin.compile.mm : OBJECTIVE_CPP : OBJ : <toolset>darwin ;
-
-rule setup-address-model ( targets * : sources * : properties * )
-{
-    local ps = [ property-set.create $(properties) ] ;
-    local arch = [ $(ps).get <architecture> ] ;
-    local address-model = [ $(ps).get <address-model> ] ;
-    local osx-version = [ $(ps).get <macosx-version> ] ;
-    local gcc-version = [ $(ps).get <toolset-darwin:version> ] ;
-    gcc-version = $(.real-version.$(gcc-version)) ;
-    local options ;
-    
-    local support-ppc64 = 1 ;
-    
-    osx-version ?= $(.host-osx-version) ;
-
-    switch $(osx-version)
-    {
-        case iphone* :
-        {
-            support-ppc64 = ;
-        }
-        
-        case * :
-        if $(osx-version) && ! [ version.version-less [ regex.split $(osx-version) \\. ] : 10 6 ]
-        {
-            # When targeting 10.6:
-            # - gcc 4.2 will give a compiler errir if ppc64 compilation is requested
-            # - gcc 4.0 will compile fine, somehow, but then fail at link time
-            support-ppc64 = ;
-        }
-    }
-    switch $(arch)
-    {
-        case combined : 
-        {
-            if $(address-model) = 32_64 {
-                if $(support-ppc64) {
-                    options = -arch i386 -arch ppc -arch x86_64 -arch ppc64 ;                    
-                } else {
-                    # Build 3-way binary
-                    options = -arch i386 -arch ppc -arch x86_64 ;
-                }                                
-            } else if $(address-model) = 64 {
-                if $(support-ppc64) {
-                    options = -arch x86_64 -arch ppc64 ;
-                } else {
-                    errors.user-error "64-bit PPC compilation is not supported when targeting OSX 10.6 or later" ;
-                }                
-            } else {
-                options = -arch i386 -arch ppc ;
-            }
-        }
-        
-        case x86 : 
-        {
-            if $(address-model) = 32_64 {
-                options = -arch i386 -arch x86_64 ;
-            } else if $(address-model) = 64 {
-                options = -arch x86_64 ;
-            } else {
-                options = -arch i386 ;
-            }
-        }        
-        
-        case power :
-        {
-            if ! $(support-ppc64) 
-              && (  $(address-model) = 32_64 || $(address-model) = 64 )
-            {
-                errors.user-error "64-bit PPC compilation is not supported when targeting OSX 10.6 or later" ;
-            }
-            
-            if $(address-model) = 32_64 {
-                options = -arch ppc -arch ppc64 ;
-            } else if $(address-model) = 64 {
-                options = -arch ppc64 ;
-            } else {
-                options = -arch ppc ;
-            }
-        }
-        
-        case arm :
-        {
-            options = -arch armv6 ;
-        }        
-    }
-    
-    if $(options)
-    {
-        OPTIONS on $(targets) += $(options) ;
-    }            
-}
-
-rule setup-threading ( targets * : sources * : properties * )
-{
-    gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-}
-
-rule setup-fpic ( targets * : sources * : properties * )
-{
-    gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
-}
-
-rule compile.m ( targets * : sources * : properties * )
-{
-    LANG on $(<) = "-x objective-c" ;
-    gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-}
-
-actions compile.m
-{
-    "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-rule compile.mm  ( targets * : sources * : properties * )
-{
-    LANG on $(<) = "-x objective-c++" ;
-    gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-}
-
-actions compile.mm
-{
-    "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-# Set the max header padding to allow renaming of libs for installation.
-flags darwin.link.dll OPTIONS : -headerpad_max_install_names ;
-
-# To link the static runtime we need to link to all the core runtime libraries.
-flags darwin.link OPTIONS <runtime-link>static
-    : -nodefaultlibs -shared-libgcc -lstdc++-static -lgcc_eh -lgcc -lSystem ;
-
-# Strip as much as possible when optimizing.
-flags darwin.link OPTIONS <optimization>speed : -Wl,-dead_strip -no_dead_strip_inits_and_terms ;
-flags darwin.link OPTIONS <optimization>space : -Wl,-dead_strip -no_dead_strip_inits_and_terms ;
-
-# Dynamic/shared linking.
-flags darwin.compile OPTIONS <link>shared : -dynamic ;
-
-# Misc options.
-flags darwin.compile OPTIONS : -no-cpp-precomp -gdwarf-2 -fexceptions ;
-#~ flags darwin.link OPTIONS : -fexceptions ;
-
-# Add the framework names to use.
-flags darwin.link FRAMEWORK <framework> ;
-
-#
-flags darwin.link FORCE_LOAD <force-load> ;
-
-# This is flag is useful for debugging the link step
-# uncomment to see what libtool is doing under the hood
-#~ flags darwin.link.dll OPTIONS : -Wl,-v ;
-
-_ = " " ;
-
-# set up the -F option to include the paths to any frameworks used.
-local rule prepare-framework-path ( target + )
-{
-    # The -framework option only takes basename of the framework.
-    # The -F option specifies the directories where a framework
-    # is searched for.  So, if we find <framework> feature
-    # with some path, we need to generate property -F option.
-    local framework-paths = [ on $(target) return $(FRAMEWORK:D) ] ;
-
-    # Be sure to generate no -F if there's no path.
-    for local framework-path in $(framework-paths)
-    {
-        if $(framework-path) != ""
-        {
-            FRAMEWORK_PATH on $(target) += -F$(framework-path) ;
-        }
-    }
-}
-
-rule link ( targets * : sources * : properties * )
-{
-    DEPENDS $(targets) : [ on $(targets) return $(FORCE_LOAD) ] ;
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-    prepare-framework-path $(<) ;
-}
-
-# Note that using strip without any options was reported to result in broken
-# binaries, at least on OS X 10.5.5, see:
-#    http://svn.boost.org/trac/boost/ticket/2347
-# So we pass -S -x.
-actions link bind LIBRARIES FORCE_LOAD
-{
-    "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -o "$(<)" "$(>)" -Wl,-force_load$(_)"$(FORCE_LOAD)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(FRAMEWORK_PATH) -framework$(_)$(FRAMEWORK:D=:S=) $(OPTIONS) $(USER_OPTIONS)
-    $(NEED_STRIP)"$(.STRIP)" $(NEED_STRIP)-S $(NEED_STRIP)-x $(NEED_STRIP)"$(<)"
-}
-
-rule link.dll ( targets * : sources * : properties * )
-{
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-    prepare-framework-path $(<) ;
-}
-
-actions link.dll bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" -dynamiclib -Wl,-single_module -install_name "$(<:B)$(<:S)" -L"$(LINKPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(FRAMEWORK_PATH) -framework$(_)$(FRAMEWORK:D=:S=) $(OPTIONS) $(USER_OPTIONS)
-}
-
-# We use libtool instead of ar to support universal binary linking
-# TODO: Find a way to use the underlying tools, i.e. lipo, to do this.
-actions piecemeal archive
-{
-    "$(.LIBTOOL)" -static -o "$(<:T)"  $(ARFLAGS)  "$(>:T)"
-}
diff --git a/SRC/Boost/tools/build/v2/tools/darwin.py b/SRC/Boost/tools/build/v2/tools/darwin.py
deleted file mode 100755
index 969c3ff..0000000
--- a/SRC/Boost/tools/build/v2/tools/darwin.py
+++ /dev/null
@@ -1,57 +0,0 @@
-#  Copyright (C) Christopher Currie 2003. Permission to copy, use,
-#  modify, sell and distribute this software is granted provided this
-#  copyright notice appears in all copies. This software is provided
-# "as is" without express or implied warranty, and with no claim as to
-#  its suitability for any purpose.
-
-#  Please see http://article.gmane.org/gmane.comp.lib.boost.build/3389/
-#  for explanation why it's a separate toolset.
-
-import common, gcc, builtin
-from b2.build import feature, toolset, type, action, generators
-from b2.util.utility import *
-
-toolset.register ('darwin')
-
-toolset.inherit_generators ('darwin', [], 'gcc')
-toolset.inherit_flags ('darwin', 'gcc')
-toolset.inherit_rules ('darwin', 'gcc')
-
-def init (version = None, command = None, options = None):
-    options = to_seq (options)
-
-    condition = common.check_init_parameters ('darwin', None, ('version', version))
-    
-    command = common.get_invocation_command ('darwin', 'g++', command)
-
-    common.handle_options ('darwin', condition, command, options)
-    
-    gcc.init_link_flags ('darwin', 'darwin', condition)
-
-# Darwin has a different shared library suffix
-type.set_generated_target_suffix ('SHARED_LIB', ['<toolset>darwin'], 'dylib')
-
-# we need to be able to tell the type of .dylib files
-type.register_suffixes ('dylib', 'SHARED_LIB')
-
-feature.feature ('framework', [], ['free'])
-
-toolset.flags ('darwin.compile', 'OPTIONS', '<link>shared', ['-dynamic'])
-toolset.flags ('darwin.compile', 'OPTIONS', None, ['-Wno-long-double', '-no-cpp-precomp'])
-toolset.flags ('darwin.compile.c++', 'OPTIONS', None, ['-fcoalesce-templates'])
-
-toolset.flags ('darwin.link', 'FRAMEWORK', '<framework>')
-
-# This is flag is useful for debugging the link step
-# uncomment to see what libtool is doing under the hood
-# toolset.flags ('darwin.link.dll', 'OPTIONS', None, '[-Wl,-v'])
-
-action.register ('darwin.compile.cpp', None, ['$(CONFIG_COMMAND) $(ST_OPTIONS) -L"$(LINKPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) -framework$(_)$(FRAMEWORK) $(OPTIONS)'])
-
-# TODO: how to set 'bind LIBRARIES'?
-action.register ('darwin.link.dll', None, ['$(CONFIG_COMMAND) -dynamiclib -L"$(LINKPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) -framework$(_)$(FRAMEWORK) $(OPTIONS)'])
-
-def darwin_archive (manager, targets, sources, properties):
-    pass
-
-action.register ('darwin.archive', darwin_archive, ['ar -c -r -s $(ARFLAGS) "$(<:T)" "$(>:T)"'])
diff --git a/SRC/Boost/tools/build/v2/tools/dmc.jam b/SRC/Boost/tools/build/v2/tools/dmc.jam
deleted file mode 100755
index 3e60324..0000000
--- a/SRC/Boost/tools/build/v2/tools/dmc.jam
+++ /dev/null
@@ -1,134 +0,0 @@
-# Digital Mars C++
-
-# (C) Copyright Christof Meerwald 2003.
-# (C) Copyright Aleksey Gurtovoy 2004.
-# (C) Copyright Arjan Knepper 2006.
-#
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# The following #// line will be used by the regression test table generation
-# program as the column heading for HTML tables. Must not include version number.
-#//<a href="http://www.digitalmars.com/">Digital<br>Mars C++</a>
-
-import feature generators common ;
-import toolset : flags ;
-import sequence regex ;
-
-feature.extend toolset : dmc ;
-
-rule init ( version ? : command * : options * )
-{
-    local condition = [ common.check-init-parameters dmc : version $(version) ] ;
-    
-    local command = [ common.get-invocation-command dmc : dmc : $(command) ] ;
-    command ?= dmc ;
-
-    common.handle-options dmc : $(condition) : $(command) : $(options) ;   
-    
-    if $(command)
-    {
-        command = [ common.get-absolute-tool-path $(command[-1]) ] ;
-    }   
-    root = $(command:D) ;    
-    
-    if $(root)
-    {        
-        # DMC linker is sensitive the the direction of slashes, and
-        # won't link if forward slashes are used in command.
-        root = [ sequence.join [ regex.split $(root) "/" ] : "\\" ] ;
-        flags dmc .root $(condition) : $(root)\\bin\\ ;
-    }
-    else
-    {
-        flags dmc .root $(condition) : "" ;
-    }    
-}
-
-
-# Declare generators
-generators.register-linker dmc.link : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB : EXE : <toolset>dmc ;
-generators.register-linker dmc.link.dll : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB : SHARED_LIB IMPORT_LIB : <toolset>dmc ;
-
-generators.register-archiver dmc.archive : OBJ : STATIC_LIB : <toolset>dmc ;
-generators.register-c-compiler dmc.compile.c++ : CPP : OBJ : <toolset>dmc ;
-generators.register-c-compiler dmc.compile.c : C : OBJ : <toolset>dmc ;
-
-
-# Declare flags
-# dmc optlink has some limitation on the amount of debug-info included. Therefore only linenumbers are enabled in debug builds.
-# flags dmc.compile OPTIONS <debug-symbols>on : -g ;
-flags dmc.compile OPTIONS <debug-symbols>on : -gl ;
-flags dmc.link OPTIONS <debug-symbols>on : /CO /NOPACKF /DEBUGLI ;
-flags dmc.link OPTIONS <debug-symbols>off : /PACKF ;
-
-flags dmc.compile OPTIONS <optimization>off : -S -o+none ;
-flags dmc.compile OPTIONS <optimization>speed : -o+time ;
-flags dmc.compile OPTIONS <optimization>space : -o+space ;
-flags dmc.compile OPTIONS <exception-handling>on : -Ae ;
-flags dmc.compile OPTIONS <rtti>on : -Ar ;
-# FIXME:
-# Compiling sources to be linked into a shared lib (dll) the -WD cflag should be used
-# Compiling sources to be linked into a static lib (lib) or executable the -WA cflag should be used
-# But for some reason the -WD cflag is always in use.
-# flags dmc.compile OPTIONS <link>shared : -WD ;
-# flags dmc.compile OPTIONS <link>static : -WA ;
-
-# Note that these two options actually imply multithreading support on DMC
-# because there is no single-threaded dynamic runtime library. Specifying
-# <threading>multi would be a bad idea, though, because no option would be
-# matched when the build uses the default settings of <runtime-link>dynamic
-# and <threading>single.
-flags dmc.compile OPTIONS <runtime-debugging>off/<runtime-link>shared : -ND ;
-flags dmc.compile OPTIONS <runtime-debugging>on/<runtime-link>shared : -ND ;
-
-flags dmc.compile OPTIONS <runtime-debugging>off/<runtime-link>static/<threading>single : ;
-flags dmc.compile OPTIONS <runtime-debugging>on/<runtime-link>static/<threading>single : ;
-flags dmc.compile OPTIONS <runtime-debugging>off/<runtime-link>static/<threading>multi : -D_MT ;
-flags dmc.compile OPTIONS <runtime-debugging>on/<runtime-link>static/<threading>multi : -D_MT ;
-
-flags dmc.compile OPTIONS : <cflags> ;
-flags dmc.compile.c++ OPTIONS : <cxxflags> ;
-
-flags dmc.compile DEFINES : <define> ;
-flags dmc.compile INCLUDES : <include> ;
-
-flags dmc.link <linkflags> ;
-flags dmc.archive OPTIONS <arflags> ;
-
-flags dmc LIBPATH <library-path> ;
-flags dmc LIBRARIES <library-file> ;
-flags dmc FINDLIBS <find-library-sa> ;
-flags dmc FINDLIBS <find-library-st> ;
-
-actions together link bind LIBRARIES
-{
-    "$(.root)link" $(OPTIONS) /NOI /DE /XN "$(>)" , "$(<[1])" ,, $(LIBRARIES) user32.lib kernel32.lib "$(FINDLIBS:S=.lib)" , "$(<[2]:B).def"
-}
-
-actions together link.dll bind LIBRARIES
-{
-    echo LIBRARY "$(<[1])" > $(<[2]:B).def
-    echo DESCRIPTION 'A Library' >> $(<[2]:B).def
-    echo EXETYPE NT >> $(<[2]:B).def
-    echo SUBSYSTEM WINDOWS >> $(<[2]:B).def
-    echo CODE	EXECUTE READ >> $(<[2]:B).def
-    echo DATA	READ WRITE >> $(<[2]:B).def
-    "$(.root)link" $(OPTIONS) /NOI /DE /XN /ENTRY:_DllMainCRTStartup /IMPLIB:"$(<[2])" "$(>)" $(LIBRARIES) , "$(<[1])" ,, user32.lib kernel32.lib "$(FINDLIBS:S=.lib)" , "$(<[2]:B).def"
-}
-
-actions compile.c
-{
-    "$(.root)dmc"  -c $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -o"$(<)" "$(>)"
-}
-
-actions compile.c++
-{
-    "$(.root)dmc" -cpp -c -Ab $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -o"$(<)" "$(>)"
-}
-
-actions together piecemeal archive
-{
-    "$(.root)lib" $(OPTIONS) -c -n -p256 "$(<)" "$(>)"
-}
diff --git a/SRC/Boost/tools/build/v2/tools/docutils.jam b/SRC/Boost/tools/build/v2/tools/docutils.jam
deleted file mode 100755
index 552761d..0000000
--- a/SRC/Boost/tools/build/v2/tools/docutils.jam
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright David Abrahams 2004. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-# Support for docutils ReStructuredText processing.
-
-import type ;
-import scanner ;
-import generators ;
-import os ;
-import common ;
-import toolset ;
-import path ;
-import feature : feature ;
-import property ;
-
-.initialized = ;
-
-type.register ReST : rst ;
-
-class rst-scanner : common-scanner
-{
-    rule __init__ ( paths * )
-    {
-        common-scanner.__init__ . $(paths) ;
-    }
-    
-    rule pattern ( )
-    {
-         return "^[ 	]*\\.\\.[ 	]+include::[ 	]+([^
-]+)"
-        "^[ 	]*\\.\\.[ 	]+image::[ 	]+([^
-]+)"
-        "^[ 	]*\\.\\.[ 	]+figure::[ 	]+([^
-]+)"
-        ;
-    }
-}
-
-scanner.register rst-scanner : include ;
-type.set-scanner ReST : rst-scanner ;
-
-generators.register-standard docutils.html : ReST : HTML ;
-
-rule init ( docutils-dir ? : tools-dir ? )
-{
-    docutils-dir ?= [ modules.peek : DOCUTILS_DIR ] ;
-    tools-dir ?= $(docutils-dir)/tools ;
-
-    if ! $(.initialized)
-    {
-        .initialized = true ;
-        .docutils-dir = $(docutils-dir) ;
-        .tools-dir = $(tools-dir:R="") ;
-       
-        .setup = [ 
-          common.prepend-path-variable-command PYTHONPATH 
-            : $(.docutils-dir) $(.docutils-dir)/extras ] ;
-    }
-}
-
-rule html ( target : source : properties *  )
-{
-    if ! [ on $(target) return $(RST2XXX) ]
-    {
-        local python-cmd = [ property.select <python.interpreter> : $(properties) ] ;
-        RST2XXX on $(target) = $(python-cmd:G=:E="python") $(.tools-dir)/rst2html.py ;
-    }
-}
-
-
-feature docutils : : free ;
-feature docutils-html : : free ;
-feature docutils-cmd : : free ;
-toolset.flags docutils COMMON-FLAGS : <docutils> ;
-toolset.flags docutils HTML-FLAGS : <docutils-html> ;
-toolset.flags docutils RST2XXX : <docutils-cmd> ;
-  
-actions html
-{
-    $(.setup)
-    "$(RST2XXX)" $(COMMON-FLAGS) $(HTML-FLAGS) $(>) $(<)
-}
-
diff --git a/SRC/Boost/tools/build/v2/tools/doxproc.py b/SRC/Boost/tools/build/v2/tools/doxproc.py
deleted file mode 100755
index 7ea4bbb..0000000
--- a/SRC/Boost/tools/build/v2/tools/doxproc.py
+++ /dev/null
@@ -1,859 +0,0 @@
-#!/usr/bin/python
-# Copyright 2006 Rene Rivera
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-'''
-Processing of Doxygen generated XML.
-'''
-
-import os
-import os.path
-import sys
-import time
-import string
-import getopt
-import glob
-import re
-import xml.dom.minidom
-
-    
-def usage():
-    print '''
-Usage:
-    %s options
-
-Options:
-    --xmldir        Directory with the Doxygen xml result files.
-    --output        Write the output BoostBook to the given location.
-    --id            The ID of the top level BoostBook section.
-    --title         The title of the top level BoostBook section.
-    --enable-index  Generate additional index sections for classes and
-                    types.
-''' % ( sys.argv[0] )
-
-
-def get_args( argv = sys.argv[1:] ):
-    spec = [
-        'xmldir=',
-        'output=',
-        'id=',
-        'title=',
-        'enable-index',
-        'help' ]
-    options = {
-        '--xmldir' : 'xml',
-        '--output' : None,
-        '--id' : 'dox',
-        '--title' : 'Doxygen'
-        }
-    ( option_pairs, other ) = getopt.getopt( argv, '', spec )
-    map( lambda x: options.__setitem__( x[0], x[1] ), option_pairs )
-    
-    if options.has_key( '--help' ):
-        usage()
-        sys.exit(1)
-    
-    return {
-        'xmldir' : options['--xmldir'],
-        'output' : options['--output'],
-        'id' : options['--id'],
-        'title' : options['--title'],
-        'index' : options.has_key('--enable-index')
-        }
-
-def if_attribute(node, attribute, true_value, false_value=None):
-    if node.getAttribute(attribute) == 'yes':
-        return true_value
-    else:
-        return false_value
-
-class Doxygen2BoostBook:
-    
-    def __init__( self, **kwargs ):
-        ##
-        self.args = kwargs
-        self.args.setdefault('id','')
-        self.args.setdefault('title','')
-        self.args.setdefault('last_revision', time.asctime())
-        self.args.setdefault('index', False)
-        self.id = '%(id)s.reference' % self.args
-        self.args['id'] = self.id
-        #~ This is our template BoostBook document we insert the generated content into.
-        self.boostbook = xml.dom.minidom.parseString('''<?xml version="1.0" encoding="UTF-8"?>
-<section id="%(id)s" name="%(title)s" last-revision="%(last_revision)s">
-    <title>%(title)s</title>
-    <library-reference id="%(id)s.headers">
-        <title>Headers</title>
-    </library-reference>
-    <index id="%(id)s.classes">
-        <title>Classes</title>
-    </index>
-    <index id="%(id)s.index">
-        <title>Index</title>
-    </index>
-</section>
-''' % self.args )
-        self.section = {
-            'headers' : self._getChild('library-reference',id='%(id)s.headers' % self.args),
-            'classes' : self._getChild('index',id='%(id)s.classes' % self.args),
-            'index' : self._getChild('index',id='%(id)s.index' % self.args)
-            }
-        #~ Remove the index sections if we aren't generating it.
-        if not self.args['index']:
-            self.section['classes'].parentNode.removeChild(self.section['classes'])
-            self.section['classes'].unlink()
-            del self.section['classes']
-            self.section['index'].parentNode.removeChild(self.section['index'])
-            self.section['index'].unlink()
-            del self.section['index']
-        #~ The symbols, per Doxygen notion, that we translated.
-        self.symbols = {}
-        #~ Map of Doxygen IDs and BoostBook IDs, so we can translate as needed.
-        self.idmap = {}
-        #~ Marks generation, to prevent redoing it.
-        self.generated = False
-    
-    #~ Add an Doxygen generated XML document to the content we are translating.
-    def addDox( self, document ):
-        self._translateNode(document.documentElement)
-    
-    #~ Turns the internal XML tree into an output UTF-8 string.
-    def tostring( self ):
-        self._generate()
-        #~ return self.boostbook.toprettyxml('  ')
-        return self.boostbook.toxml('utf-8')
-    
-    #~ Does post-processing on the partial generated content to generate additional info
-    #~ now that we have the complete source documents.
-    def _generate( self ):
-        if not self.generated:
-            self.generated = True
-            symbols = self.symbols.keys()
-            symbols.sort()
-            #~ Populate the header section.
-            for symbol in symbols:
-                if self.symbols[symbol]['kind'] in ('header'):
-                    self.section['headers'].appendChild(self.symbols[symbol]['dom'])
-            for symbol in symbols:
-                if self.symbols[symbol]['kind'] not in ('namespace', 'header'):
-                    container = self._resolveContainer(self.symbols[symbol],
-                        self.symbols[self.symbols[symbol]['header']]['dom'])
-                    if container.nodeName != 'namespace':
-                        ## The current BoostBook to Docbook translation doesn't
-                        ## respect, nor assign, IDs to inner types of any kind.
-                        ## So nuke the ID entry so as not create bogus links.
-                        del self.idmap[self.symbols[symbol]['id']]
-                    container.appendChild(self.symbols[symbol]['dom'])
-            self._rewriteIDs(self.boostbook.documentElement)
-    
-    #~ Rewrite the various IDs from Doxygen references to the newly created
-    #~ BoostBook references.
-    def _rewriteIDs( self, node ):
-        if node.nodeName in ('link'):
-            if (self.idmap.has_key(node.getAttribute('linkend'))):
-                #~ A link, and we have someplace to repoint it at.
-                node.setAttribute('linkend',self.idmap[node.getAttribute('linkend')])
-            else:
-                #~ A link, but we don't have a generated target for it.
-                node.removeAttribute('linkend')
-        elif hasattr(node,'hasAttribute') and node.hasAttribute('id') and self.idmap.has_key(node.getAttribute('id')):
-            #~ Simple ID, and we have a translation.
-            node.setAttribute('id',self.idmap[node.getAttribute('id')])
-        #~ Recurse, and iterate, depth-first traversal which turns out to be
-        #~ left-to-right and top-to-bottom for the document.
-        if node.firstChild:
-            self._rewriteIDs(node.firstChild)
-        if node.nextSibling:
-            self._rewriteIDs(node.nextSibling)
-    
-    def _resolveContainer( self, cpp, root ):
-        container = root
-        for ns in cpp['namespace']:
-            node = self._getChild('namespace',name=ns,root=container)
-            if not node:
-                node = container.appendChild(
-                    self._createNode('namespace',name=ns))
-            container = node
-        for inner in cpp['name'].split('::'):
-            node = self._getChild(name=inner,root=container)
-            if not node:
-                break
-            container = node
-        return container
-    
-    def _setID( self, id, name ):
-        self.idmap[id] = name.replace('::','.').replace('/','.')
-        #~ print '--| setID:',id,'::',self.idmap[id]
-    
-    #~ Translate a given node within a given context.
-    #~ The translation dispatches to a local method of the form
-    #~ "_translate[_context0,...,_contextN]", and the keyword args are
-    #~ passed along. If there is no translation handling method we
-    #~ return None.
-    def _translateNode( self, *context, **kwargs ):
-        node = None
-        names = [ ]
-        for c in context:
-            if c:
-                if not isinstance(c,xml.dom.Node):
-                    suffix = '_'+c.replace('-','_')
-                else:
-                    suffix = '_'+c.nodeName.replace('-','_')
-                    node = c
-                names.append('_translate')
-                names = map(lambda x: x+suffix,names)
-        if node:
-            for name in names:
-                if hasattr(self,name):
-                    return getattr(self,name)(node,**kwargs)
-        return None
-    
-    #~ Translates the children of the given parent node, appending the results
-    #~ to the indicated target. For nodes not translated by the translation method
-    #~ it copies the child over and recurses on that child to translate any
-    #~ possible interior nodes. Hence this will translate the entire subtree.
-    def _translateChildren( self, parent, **kwargs ):
-        target = kwargs['target']
-        for n in parent.childNodes:
-            child = self._translateNode(n,target=target)
-            if child:
-                target.appendChild(child)
-            else:
-                child = n.cloneNode(False)
-                if hasattr(child,'data'):
-                    child.data = re.sub(r'\s+',' ',child.data)
-                target.appendChild(child)
-                self._translateChildren(n,target=child)
-    
-    #~ Translate the given node as a description, into the description subnode
-    #~ of the target. If no description subnode is present in the target it
-    #~ is created.
-    def _translateDescription( self, node, target=None, tag='description', **kwargs ):
-        description = self._getChild(tag,root=target)
-        if not description:
-            description = target.appendChild(self._createNode(tag))
-        self._translateChildren(node,target=description)
-        return description
-    
-    #~ Top level translation of: <doxygen ...>...</doxygen>,
-    #~ translates the children.
-    def _translate_doxygen( self, node ):
-        #~ print '_translate_doxygen:', node.nodeName
-        result = []
-        for n in node.childNodes:
-            newNode = self._translateNode(n)
-            if newNode:
-                result.append(newNode)
-        return result
-    
-    #~ Top level translation of:
-    #~ <doxygenindex ...>
-    #~   <compound ...>
-    #~     <member ...>
-    #~       <name>...</name>
-    #~     </member>
-    #~     ...
-    #~   </compound>
-    #~   ...
-    #~ </doxygenindex>
-    #~ builds the class and symbol sections, if requested.
-    def _translate_doxygenindex( self, node ):
-        #~ print '_translate_doxygenindex:', node.nodeName
-        if self.args['index']:
-            entries = []
-            classes = []
-            #~ Accumulate all the index entries we care about.
-            for n in node.childNodes:
-                if n.nodeName == 'compound':
-                    if n.getAttribute('kind') not in ('file','dir','define'):
-                        cpp = self._cppName(self._getChildData('name',root=n))
-                        entry = {
-                            'name' : cpp['name'],
-                            'compoundname' : cpp['compoundname'],
-                            'id' : n.getAttribute('refid')
-                            }
-                        if n.getAttribute('kind') in ('class','struct'):
-                            classes.append(entry)
-                        entries.append(entry)
-                        for m in n.childNodes:
-                            if m.nodeName == 'member':
-                                cpp = self._cppName(self._getChildData('name',root=m))
-                                entry = {
-                                    'name' : cpp['name'],
-                                    'compoundname' : cpp['compoundname'],
-                                    'id' : n.getAttribute('refid')
-                                    }
-                                if hasattr(m,'getAttribute') and m.getAttribute('kind') in ('class','struct'):
-                                    classes.append(entry)
-                                entries.append(entry)
-            #~ Put them in a sensible order.
-            entries.sort(lambda x,y: cmp(x['name'].lower(),y['name'].lower()))
-            classes.sort(lambda x,y: cmp(x['name'].lower(),y['name'].lower()))
-            #~ And generate the BoostBook for them.
-            self._translate_index_(entries,target=self.section['index'])
-            self._translate_index_(classes,target=self.section['classes'])
-        return None
-    
-    #~ Translate a set of index entries in the BoostBook output. The output
-    #~ is grouped into groups of the first letter of the entry names.
-    def _translate_index_(self, entries, target=None, **kwargs ):
-        i = 0
-        targetID = target.getAttribute('id')
-        while i < len(entries):
-            dividerKey = entries[i]['name'][0].upper()
-            divider = target.appendChild(self._createNode('indexdiv',id=targetID+'.'+dividerKey))
-            divider.appendChild(self._createText('title',dividerKey))
-            while i < len(entries) and dividerKey == entries[i]['name'][0].upper():
-                iename = entries[i]['name']
-                ie = divider.appendChild(self._createNode('indexentry'))
-                ie = ie.appendChild(self._createText('primaryie',iename))
-                while i < len(entries) and entries[i]['name'] == iename:
-                    ie.appendChild(self.boostbook.createTextNode(' ('))
-                    ie.appendChild(self._createText(
-                        'link',entries[i]['compoundname'],linkend=entries[i]['id']))
-                    ie.appendChild(self.boostbook.createTextNode(')'))
-                    i += 1
-    
-    #~ Translate a <compounddef ...>...</compounddef>,
-    #~ by retranslating with the "kind" of compounddef.
-    def _translate_compounddef( self, node, target=None, **kwargs ):
-        return self._translateNode(node,node.getAttribute('kind'))
-    
-    #~ Translate a <compounddef kind="namespace"...>...</compounddef>. For
-    #~ namespaces we just collect the information for later use as there is no
-    #~ currently namespaces are not included in the BoostBook format. In the future
-    #~ it might be good to generate a namespace index.
-    def _translate_compounddef_namespace( self, node, target=None, **kwargs ):
-        namespace = {
-            'id' : node.getAttribute('id'),
-            'kind' : 'namespace',
-            'name' : self._getChildData('compoundname',root=node),
-            'brief' : self._getChildData('briefdescription',root=node),
-            'detailed' : self._getChildData('detaileddescription',root=node),
-            'parsed' : False
-            }
-        if self.symbols.has_key(namespace['name']):
-            if not self.symbols[namespace['name']]['parsed']:
-                self.symbols[namespace['name']]['parsed'] = True
-                #~ for n in node.childNodes:
-                    #~ if hasattr(n,'getAttribute'):
-                        #~ self._translateNode(n,n.getAttribute('kind'),target=target,**kwargs)
-        else:
-            self.symbols[namespace['name']] = namespace
-            #~ self._setID(namespace['id'],namespace['name'])
-        return None
-    
-    #~ Translate a <compounddef kind="class"...>...</compounddef>, which
-    #~ forwards to the kind=struct as they are the same.
-    def _translate_compounddef_class( self, node, target=None, **kwargs ):
-        return self._translate_compounddef_struct(node,tag='class',target=target,**kwargs)
-    
-    #~ Translate a <compounddef kind="struct"...>...</compounddef> into:
-    #~ <header id="?" name="?">
-    #~   <struct name="?">
-    #~     ...
-    #~   </struct>
-    #~ </header>
-    def _translate_compounddef_struct( self, node, tag='struct', target=None, **kwargs ):
-        result = None
-        includes = self._getChild('includes',root=node)
-        if includes:
-            ## Add the header into the output table.
-            self._translate_compounddef_includes_(includes,includes,**kwargs)
-            ## Compounds are the declared symbols, classes, types, etc.
-            ## We add them to the symbol table, along with the partial DOM for them
-            ## so that they can be organized into the output later.
-            compoundname = self._getChildData('compoundname',root=node)
-            compoundname = self._cppName(compoundname)
-            self._setID(node.getAttribute('id'),compoundname['compoundname'])
-            struct = self._createNode(tag,name=compoundname['name'].split('::')[-1])
-            self.symbols[compoundname['compoundname']] = {
-                'header' : includes.firstChild.data,
-                'namespace' : compoundname['namespace'],
-                'id' : node.getAttribute('id'),
-                'kind' : tag,
-                'name' : compoundname['name'],
-                'dom' : struct
-                }
-            ## Add the children which will be the members of the struct.
-            for n in node.childNodes:
-                self._translateNode(n,target=struct,scope=compoundname['compoundname'])
-            result = struct
-        return result
-    
-    #~ Translate a <compounddef ...><includes ...>...</includes></compounddef>,
-    def _translate_compounddef_includes_( self, node, target=None, **kwargs ):
-        name = node.firstChild.data
-        if not self.symbols.has_key(name):
-            self._setID(node.getAttribute('refid'),name)
-            self.symbols[name] = {
-                'kind' : 'header',
-                'id' : node.getAttribute('refid'),
-                'dom' : self._createNode('header',
-                    id=node.getAttribute('refid'),
-                    name=name)
-                }
-        return None
-    
-    #~ Translate a <basecompoundref...>...</basecompoundref> into:
-    #~ <inherit access="?">
-    #~   ...
-    #~ </inherit>
-    def _translate_basecompoundref( self, ref, target=None, **kwargs ):
-        inherit = target.appendChild(self._createNode('inherit',
-            access=ref.getAttribute('prot')))
-        self._translateChildren(ref,target=inherit)
-        return
-    
-    #~ Translate:
-    #~   <templateparamlist>
-    #~     <param>
-    #~       <type>...</type>
-    #~       <declname>...</declname>
-    #~       <defname>...</defname>
-    #~       <defval>...</defval>
-    #~     </param>
-    #~     ...
-    #~   </templateparamlist>
-    #~ Into:
-    #~   <template>
-    #~     <template-type-parameter name="?" />
-    #~     <template-nontype-parameter name="?">
-    #~       <type>?</type>
-    #~       <default>?</default>
-    #~     </template-nontype-parameter>
-    #~   </template>
-    def _translate_templateparamlist( self, templateparamlist, target=None, **kwargs ):
-        template = target.appendChild(self._createNode('template'))
-        for param in templateparamlist.childNodes:
-            if param.nodeName == 'param':
-                type = self._getChildData('type',root=param)
-                defval = self._getChild('defval',root=param)
-                paramKind = None
-                if type in ('class','typename'):
-                    paramKind = 'template-type-parameter'
-                else:
-                    paramKind = 'template-nontype-parameter'
-                templateParam = template.appendChild(
-                    self._createNode(paramKind,
-                        name=self._getChildData('declname',root=param)))
-                if paramKind == 'template-nontype-parameter':
-                    template_type = templateParam.appendChild(self._createNode('type'))
-                    self._translate_type(
-                        self._getChild('type',root=param),target=template_type)
-                if defval:
-                    value = self._getChildData('ref',root=defval.firstChild)
-                    if not value:
-                        value = self._getData(defval)
-                    templateParam.appendChild(self._createText('default',value))
-        return template
-    
-    #~ Translate:
-    #~   <briefdescription>...</briefdescription>
-    #~ Into:
-    #~   <purpose>...</purpose>
-    def _translate_briefdescription( self, brief, target=None, **kwargs ):
-        self._translateDescription(brief,target=target,**kwargs)
-        return self._translateDescription(brief,target=target,tag='purpose',**kwargs)
-    
-    #~ Translate:
-    #~   <detaileddescription>...</detaileddescription>
-    #~ Into:
-    #~   <description>...</description>
-    def _translate_detaileddescription( self, detailed, target=None, **kwargs ):
-        return self._translateDescription(detailed,target=target,**kwargs)
-    
-    #~ Translate:
-    #~   <sectiondef kind="?">...</sectiondef>
-    #~ With kind specific translation.
-    def _translate_sectiondef( self, sectiondef, target=None, **kwargs ):
-        self._translateNode(sectiondef,sectiondef.getAttribute('kind'),target=target,**kwargs)
-    
-    #~ Translate non-function sections.
-    def _translate_sectiondef_x_( self, sectiondef, target=None, **kwargs ):
-        for n in sectiondef.childNodes:
-            if hasattr(n,'getAttribute'):
-                self._translateNode(n,n.getAttribute('kind'),target=target,**kwargs)
-        return None
-    
-    #~ Translate:
-    #~   <sectiondef kind="public-type">...</sectiondef>
-    def _translate_sectiondef_public_type( self, sectiondef, target=None, **kwargs ):
-        return self._translate_sectiondef_x_(sectiondef,target=target,**kwargs)
-    
-    #~ Translate:
-    #~   <sectiondef kind="public-sttrib">...</sectiondef>
-    def _translate_sectiondef_public_attrib( self, sectiondef, target=None, **kwargs):
-        return self._translate_sectiondef_x_(sectiondef,target=target,**kwargs)
-    
-    #~ Translate:
-    #~   <sectiondef kind="?-func">...</sectiondef>
-    #~ All the various function group translations end up here for which
-    #~ they are translated into:
-    #~   <method-group name="?">
-    #~   ...
-    #~   </method-group>
-    def _translate_sectiondef_func_( self, sectiondef, name='functions', target=None, **kwargs ):
-        members = target.appendChild(self._createNode('method-group',name=name))
-        for n in sectiondef.childNodes:
-            if hasattr(n,'getAttribute'):
-                self._translateNode(n,n.getAttribute('kind'),target=members,**kwargs)
-        return members
-    
-    #~ Translate:
-    #~   <sectiondef kind="public-func">...</sectiondef>
-    def _translate_sectiondef_public_func( self, sectiondef, target=None, **kwargs ):
-        return self._translate_sectiondef_func_(sectiondef,
-            name='public member functions',target=target,**kwargs)
-    
-    #~ Translate:
-    #~   <sectiondef kind="public-static-func">...</sectiondef>
-    def _translate_sectiondef_public_static_func( self, sectiondef, target=None, **kwargs):
-        return self._translate_sectiondef_func_(sectiondef,
-            name='public static functions',target=target,**kwargs)
-    
-    #~ Translate:
-    #~   <sectiondef kind="protected-func">...</sectiondef>
-    def _translate_sectiondef_protected_func( self, sectiondef, target=None, **kwargs ):
-        return self._translate_sectiondef_func_(sectiondef,
-            name='protected member functions',target=target,**kwargs)
-    
-    #~ Translate:
-    #~   <sectiondef kind="private-static-func">...</sectiondef>
-    def _translate_sectiondef_private_static_func( self, sectiondef, target=None, **kwargs):
-        return self._translate_sectiondef_func_(sectiondef,
-            name='private static functions',target=target,**kwargs)
-    
-    #~ Translate:
-    #~   <sectiondef kind="public-func">...</sectiondef>
-    def _translate_sectiondef_private_func( self, sectiondef, target=None, **kwargs ):
-        return self._translate_sectiondef_func_(sectiondef,
-            name='private member functions',target=target,**kwargs)
-
-    #~ Translate:
-    #~   <sectiondef kind="user-defined"><header>...</header>...</sectiondef>
-    def _translate_sectiondef_user_defined( self, sectiondef, target=None, **kwargs ):
-        return self._translate_sectiondef_func_(sectiondef,
-            name=self._getChildData('header', root=sectiondef),target=target,**kwargs)
-    
-    #~ Translate:
-    #~   <memberdef kind="typedef" id="?">
-    #~     <name>...</name>
-    #~   </memberdef>
-    #~ To:
-    #~   <typedef id="?" name="?">
-    #~     <type>...</type>
-    #~   </typedef>
-    def _translate_memberdef_typedef( self, memberdef, target=None, scope=None, **kwargs ):
-        self._setID(memberdef.getAttribute('id'),
-            scope+'::'+self._getChildData('name',root=memberdef))
-        typedef = target.appendChild(self._createNode('typedef',
-            id=memberdef.getAttribute('id'),
-            name=self._getChildData('name',root=memberdef)))
-        typedef_type = typedef.appendChild(self._createNode('type'))
-        self._translate_type(self._getChild('type',root=memberdef),target=typedef_type)
-        return typedef
-    
-    #~ Translate:
-    #~   <memberdef kind="function" id="?" const="?" static="?" explicit="?" inline="?">
-    #~     <name>...</name>
-    #~   </memberdef>
-    #~ To:
-    #~   <method name="?" cv="?" specifiers="?">
-    #~     ...
-    #~   </method>
-    def _translate_memberdef_function( self, memberdef, target=None, scope=None, **kwargs ):
-        name = self._getChildData('name',root=memberdef)
-        self._setID(memberdef.getAttribute('id'),scope+'::'+name)
-        ## Check if we have some specific kind of method.
-        if name == scope.split('::')[-1]:
-            kind = 'constructor'
-            target = target.parentNode
-        elif name == '~'+scope.split('::')[-1]:
-            kind = 'destructor'
-            target = target.parentNode
-        elif name == 'operator=':
-            kind = 'copy-assignment'
-            target = target.parentNode
-        else:
-            kind = 'method'
-        method = target.appendChild(self._createNode(kind,
-            # id=memberdef.getAttribute('id'),
-            name=name,
-            cv=' '.join([
-                if_attribute(memberdef,'const','const','').strip()
-                ]),
-            specifiers=' '.join([
-                if_attribute(memberdef,'static','static',''),
-                if_attribute(memberdef,'explicit','explicit',''),
-                if_attribute(memberdef,'inline','inline','')
-                ]).strip()
-            ))
-        ## We iterate the children to translate each part of the function.
-        for n in memberdef.childNodes:
-            self._translateNode(memberdef,'function',n,target=method)
-        return method
-    
-    #~ Translate:
-    #~   <memberdef kind="function"...><templateparamlist>...</templateparamlist></memberdef>
-    def _translate_memberdef_function_templateparamlist(
-        self, templateparamlist, target=None, **kwargs ):
-        return self._translate_templateparamlist(templateparamlist,target=target,**kwargs)
-    
-    #~ Translate:
-    #~   <memberdef kind="function"...><type>...</type></memberdef>
-    #~ To:
-    #~   ...<type>?</type>
-    def _translate_memberdef_function_type( self, resultType, target=None, **kwargs ):
-        methodType = self._createNode('type')
-        self._translate_type(resultType,target=methodType)
-        if methodType.hasChildNodes():
-            target.appendChild(methodType)
-        return methodType
-    
-    #~ Translate:
-    #~   <memberdef kind="function"...><briefdescription>...</briefdescription></memberdef>
-    def _translate_memberdef_function_briefdescription( self, description, target=None, **kwargs ):
-        result = self._translateDescription(description,target=target,**kwargs)
-        ## For functions if we translate the brief docs to the purpose they end up
-        ## right above the regular description. And since we just added the brief to that
-        ## on the previous line, don't bother with the repetition.
-        # result = self._translateDescription(description,target=target,tag='purpose',**kwargs)
-        return result
-    
-    #~ Translate:
-    #~   <memberdef kind="function"...><detaileddescription>...</detaileddescription></memberdef>
-    def _translate_memberdef_function_detaileddescription( self, description, target=None, **kwargs ):
-        return self._translateDescription(description,target=target,**kwargs)
-    
-    #~ Translate:
-    #~   <memberdef kind="function"...><inbodydescription>...</inbodydescription></memberdef>
-    def _translate_memberdef_function_inbodydescription( self, description, target=None, **kwargs ):
-        return self._translateDescription(description,target=target,**kwargs)
-    
-    #~ Translate:
-    #~   <memberdef kind="function"...><param>...</param></memberdef>
-    def _translate_memberdef_function_param( self, param, target=None, **kwargs ):
-        return self._translate_param(param,target=target,**kwargs)
-    
-    #~ Translate:
-    #~   <memberdef kind="variable" id="?">
-    #~     <name>...</name>
-    #~     <type>...</type>
-    #~   </memberdef>
-    #~ To:
-    #~   <data-member id="?" name="?">
-    #~     <type>...</type>
-    #~   </data-member>
-    def _translate_memberdef_variable( self, memberdef, target=None, scope=None, **kwargs ):
-        self._setID(memberdef.getAttribute('id'),
-            scope+'::'+self._getChildData('name',root=memberdef))
-        data_member = target.appendChild(self._createNode('data-member',
-            id=memberdef.getAttribute('id'),
-            name=self._getChildData('name',root=memberdef)))
-        data_member_type = data_member.appendChild(self._createNode('type'))
-        self._translate_type(self._getChild('type',root=memberdef),target=data_member_type)
-    
-    #~ Translate:
-    #~   <memberdef kind="enum" id="?">
-    #~     <name>...</name>
-    #~     ...
-    #~   </memberdef>
-    #~ To:
-    #~   <enum id="?" name="?">
-    #~     ...
-    #~   </enum>
-    def _translate_memberdef_enum( self, memberdef, target=None, scope=None, **kwargs ):
-        self._setID(memberdef.getAttribute('id'),
-            scope+'::'+self._getChildData('name',root=memberdef))
-        enum = target.appendChild(self._createNode('enum',
-            id=memberdef.getAttribute('id'),
-            name=self._getChildData('name',root=memberdef)))
-        for n in memberdef.childNodes:
-            self._translateNode(memberdef,'enum',n,target=enum,scope=scope,**kwargs)
-        return enum
-    
-    #~ Translate:
-    #~   <memberdef kind="enum"...>
-    #~     <enumvalue id="?">
-    #~       <name>...</name>
-    #~       <initializer>...</initializer>
-    #~     </enumvalue>
-    #~   </memberdef>
-    #~ To:
-    #~   <enumvalue id="?" name="?">
-    #~     <default>...</default>
-    #~   </enumvalue>
-    def _translate_memberdef_enum_enumvalue( self, enumvalue, target=None, scope=None, **kwargs ):
-        self._setID(enumvalue.getAttribute('id'),
-            scope+'::'+self._getChildData('name',root=enumvalue))
-        value = target.appendChild(self._createNode('enumvalue',
-            id=enumvalue.getAttribute('id'),
-            name=self._getChildData('name',root=enumvalue)))
-        initializer = self._getChild('initializer',root=enumvalue)
-        if initializer:
-            self._translateChildren(initializer,
-                target=target.appendChild(self._createNode('default')))
-        return value
-    
-    #~ Translate:
-    #~   <param>
-    #~     <type>...</type>
-    #~     <declname>...</declname>
-    #~     <defval>...</defval>
-    #~   </param>
-    #~ To:
-    #~   <parameter name="?">
-    #~     <paramtype>...</paramtype>
-    #~     ...
-    #~   </parameter>
-    def _translate_param( self, param, target=None, **kwargs):
-        parameter = target.appendChild(self._createNode('parameter',
-            name=self._getChildData('declname',root=param)))
-        paramtype = parameter.appendChild(self._createNode('paramtype'))
-        self._translate_type(self._getChild('type',root=param),target=paramtype)
-        defval = self._getChild('defval',root=param)
-        if defval:
-            self._translateChildren(self._getChild('defval',root=param),target=parameter)
-        return parameter
-    
-    #~ Translate:
-    #~   <ref kindref="?" ...>...</ref>
-    def _translate_ref( self, ref, **kwargs ):
-        return self._translateNode(ref,ref.getAttribute('kindref'))
-    
-    #~ Translate:
-    #~   <ref refid="?" kindref="compound">...</ref>
-    #~ To:
-    #~   <link linkend="?"><classname>...</classname></link>
-    def _translate_ref_compound( self, ref, **kwargs ):
-        result = self._createNode('link',linkend=ref.getAttribute('refid'))
-        classname = result.appendChild(self._createNode('classname'))
-        self._translateChildren(ref,target=classname)
-        return result
-    
-    #~ Translate:
-    #~   <ref refid="?" kindref="member">...</ref>
-    #~ To:
-    #~   <link linkend="?">...</link>
-    def _translate_ref_member( self, ref, **kwargs ):
-        result = self._createNode('link',linkend=ref.getAttribute('refid'))
-        self._translateChildren(ref,target=result)
-        return result
-    
-    #~ Translate:
-    #~   <type>...</type>
-    def _translate_type( self, type, target=None, **kwargs ):
-        result = self._translateChildren(type,target=target,**kwargs)
-        #~ Filter types to clean up various readability problems, most notably
-        #~ with really long types.
-        xml = target.toxml('utf-8');
-        if (
-            xml.startswith('<type>boost::mpl::') or
-            xml.startswith('<type>BOOST_PP_') or
-            re.match('<type>boost::(lazy_)?(enable|disable)_if',xml)
-            ):
-            while target.firstChild:
-                target.removeChild(target.firstChild)
-            target.appendChild(self._createText('emphasis','unspecified'))
-        return result
-    
-    def _getChild( self, tag = None, id = None, name = None, root = None ):
-        if not root:
-            root = self.boostbook.documentElement
-        for n in root.childNodes:
-            found = True
-            if tag and found:
-                found = found and tag == n.nodeName
-            if id and found:
-                if n.hasAttribute('id'):
-                    found = found and n.getAttribute('id') == id
-                else:
-                    found = found and n.hasAttribute('id') and n.getAttribute('id') == id
-            if name and found:
-                found = found and n.hasAttribute('name') and n.getAttribute('name') == name
-            if found:
-                #~ print '--|', n
-                return n
-        return None
-    
-    def _getChildData( self, tag, **kwargs ):
-        return self._getData(self._getChild(tag,**kwargs),**kwargs)
-    
-    def _getData( self, node, **kwargs ):
-        if node:
-            text = self._getChild('#text',root=node)
-            if text:
-                return text.data.strip()
-        return ''
-    
-    def _cppName( self, type ):
-        parts = re.search('^([^<]+)[<]?(.*)[>]?$',type.strip().strip(':'))
-        result = {
-            'compoundname' : parts.group(1),
-            'namespace' : parts.group(1).split('::')[0:-1],
-            'name' : parts.group(1).split('::')[-1],
-            'specialization' : parts.group(2)
-            }
-        if result['namespace'] and len(result['namespace']) > 0:
-            namespace = '::'.join(result['namespace'])
-            while (
-                len(result['namespace']) > 0 and (
-                    not self.symbols.has_key(namespace) or
-                    self.symbols[namespace]['kind'] != 'namespace')
-                ):
-                result['name'] = result['namespace'].pop()+'::'+result['name']
-                namespace = '::'.join(result['namespace'])
-        return result
-    
-    def _createNode( self, tag, **kwargs ):
-        result = self.boostbook.createElement(tag)
-        for k in kwargs.keys():
-            if kwargs[k] != '':
-                if k == 'id':
-                    result.setAttribute('id',kwargs[k])
-                else:
-                    result.setAttribute(k,kwargs[k])
-        return result
-    
-    def _createText( self, tag, data, **kwargs ):
-        result = self._createNode(tag,**kwargs)
-        data = data.strip()
-        if len(data) > 0:
-            result.appendChild(self.boostbook.createTextNode(data))
-        return result
-
-
-def main( xmldir=None, output=None, id=None, title=None, index=False ):
-    #~ print '--- main: xmldir = %s, output = %s' % (xmldir,output)
-    
-    input = glob.glob( os.path.abspath( os.path.join( xmldir, "*.xml" ) ) )
-    input.sort
-    translator = Doxygen2BoostBook(id=id, title=title, index=index)
-    #~ Feed in the namespaces first to build up the set of namespaces
-    #~ and definitions so that lookup is unambiguous when reading in the definitions.
-    namespace_files = filter(
-        lambda x:
-            os.path.basename(x).startswith('namespace'),
-        input)
-    decl_files = filter(
-        lambda x:
-            not os.path.basename(x).startswith('namespace') and not os.path.basename(x).startswith('_'),
-        input)
-    for dox in namespace_files:
-        #~ print '--|',os.path.basename(dox)
-        translator.addDox(xml.dom.minidom.parse(dox))
-    for dox in decl_files:
-        #~ print '--|',os.path.basename(dox)
-        translator.addDox(xml.dom.minidom.parse(dox))
-    
-    if output:
-        output = open(output,'w')
-    else:
-        output = sys.stdout
-    if output:
-        output.write(translator.tostring())
-
-
-main( **get_args() )
diff --git a/SRC/Boost/tools/build/v2/tools/doxygen-config.jam b/SRC/Boost/tools/build/v2/tools/doxygen-config.jam
deleted file mode 100755
index 6d52b8a..0000000
--- a/SRC/Boost/tools/build/v2/tools/doxygen-config.jam
+++ /dev/null
@@ -1,11 +0,0 @@
-#~ Copyright 2005, 2006 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Automatic configuration for Doxygen tools. To use, just import this module.
-
-import toolset : using ;
-
-ECHO "warning: doxygen-config.jam is deprecated. Use 'using doxygen ;' instead." ;
-
-using doxygen ;
diff --git a/SRC/Boost/tools/build/v2/tools/doxygen.jam b/SRC/Boost/tools/build/v2/tools/doxygen.jam
deleted file mode 100755
index 2e29a8c..0000000
--- a/SRC/Boost/tools/build/v2/tools/doxygen.jam
+++ /dev/null
@@ -1,776 +0,0 @@
-# Copyright 2003, 2004 Douglas Gregor
-# Copyright 2003, 2004, 2005 Vladimir Prus
-# Copyright 2006 Rene Rivera
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This module defines rules to handle generation of various outputs from source
-# files documented with doxygen comments. The supported transformations are:
-#
-# * Source -> Doxygen XML -> BoostBook XML
-# * Source -> Doxygen HTML
-#
-# The type of transformation is selected based on the target requested. For
-# BoostBook XML, the default, specifying a target with an ".xml" suffix, or an
-# empty suffix, will produce a <target>.xml and <target>.boostbook. For Doxygen
-# HTML specifying a target with an ".html" suffix will produce a directory
-# <target> with the Doxygen html files, and a <target>.html file redirecting to
-# that directory.
-
-import "class" : new ;
-import targets ;
-import feature ;
-import property ;
-import generators ;
-import boostbook ;
-import type ;
-import path ;
-import print ;
-import regex ;
-import stage ;
-import project ;
-import xsltproc ;
-import make ;
-import os ;
-import toolset : flags ;
-import alias ;
-import common ;
-import modules ;
-import project ;
-import utility ;
-import errors ;
-
-
-# Use to specify extra configuration paramters. These get translated
-# into a doxyfile which configures the building of the docs.
-feature.feature doxygen:param : : free ;
-
-# Specify the "<xsl:param>boost.doxygen.header.prefix" XSLT option.
-feature.feature prefix : : free ;
-
-# Specify the "<xsl:param>boost.doxygen.reftitle" XSLT option.
-feature.feature reftitle : : free ;
-
-# Which processor to use for various translations from Doxygen.
-feature.feature doxygen.processor : xsltproc doxproc : propagated implicit ;
-
-# To generate, or not, index sections.
-feature.feature doxygen.doxproc.index : no yes : propagated incidental ;
-
-# The ID for the resulting BoostBook reference section.
-feature.feature doxygen.doxproc.id : : free ;
-
-# The title for the resulting BoostBook reference section.
-feature.feature doxygen.doxproc.title : : free ;
-
-# Location for images when generating XML
-feature.feature doxygen:xml-imagedir : : free ;
-
-# Indicates whether the entire directory should be deleted
-feature.feature doxygen.rmdir : off on : optional incidental ;
-
-# Doxygen configuration input file.
-type.register DOXYFILE : doxyfile ;
-
-# Doxygen XML multi-file output.
-type.register DOXYGEN_XML_MULTIFILE : xml-dir : XML ;
-
-# Doxygen XML coallesed output.
-type.register DOXYGEN_XML : doxygen : XML ;
-
-# Doxygen HTML multifile directory.
-type.register DOXYGEN_HTML_MULTIFILE : html-dir : HTML ;
-
-# Redirection HTML file to HTML multifile directory.
-type.register DOXYGEN_HTML : : HTML ;
-
-type.register DOXYGEN_XML_IMAGES : doxygen-xml-images ;
-
-# Initialize the Doxygen module. Parameters are:
-#   name: the name of the 'doxygen' executable. If not specified, the name
-#         'doxygen' will be used
-#
-rule init ( name ? )
-{
-    if ! $(.initialized)
-    {
-        .initialized = true ;
-
-        .doxproc = [ modules.binding $(__name__) ] ;
-        .doxproc = $(.doxproc:D)/doxproc.py ;
-
-        generators.register-composing doxygen.headers-to-doxyfile
-            : H HPP CPP : DOXYFILE ;
-        generators.register-standard doxygen.run
-            : DOXYFILE : DOXYGEN_XML_MULTIFILE ;
-        generators.register-standard doxygen.xml-dir-to-boostbook
-            : DOXYGEN_XML_MULTIFILE : BOOSTBOOK : <doxygen.processor>doxproc ;
-        generators.register-standard doxygen.xml-to-boostbook
-            : DOXYGEN_XML : BOOSTBOOK : <doxygen.processor>xsltproc ;
-        generators.register-standard doxygen.collect
-            : DOXYGEN_XML_MULTIFILE : DOXYGEN_XML ;
-        generators.register-standard doxygen.run
-            : DOXYFILE : DOXYGEN_HTML_MULTIFILE ;
-        generators.register-standard doxygen.html-redirect
-            : DOXYGEN_HTML_MULTIFILE : DOXYGEN_HTML ;
-        generators.register-standard doxygen.copy-latex-pngs
-            : DOXYGEN_HTML : DOXYGEN_XML_IMAGES ;
-
-        IMPORT $(__name__) : doxygen : : doxygen ;
-    }
-
-    if $(name)
-    {
-        modify-config ;
-        .doxygen = $(name) ;
-        check-doxygen ;
-    }
-
-    if ! $(.doxygen)
-    {
-        check-doxygen ;
-    }
-}
-
-rule freeze-config ( )
-{
-    if ! $(.initialized)
-    {
-        errors.user-error "doxygen must be initialized before it can be used." ;
-    }
-    if ! $(.config-frozen)
-    {
-        .config-frozen = true ;
-
-        if [ .is-cygwin ]
-        {
-            .is-cygwin = true ;
-        }
-    }
-}
-
-rule modify-config ( )
-{
-    if $(.config-frozen)
-    {
-        errors.user-error "Cannot change doxygen after it has been used." ;
-    }
-}
-
-rule check-doxygen ( )
-{
-    if --debug-configuration in [ modules.peek : ARGV ]
-    {
-        ECHO "notice:" using doxygen ":" $(.doxygen) ;
-    }
-    local extra-paths ;
-    if [ os.name ] = NT
-    {
-        local ProgramFiles = [ modules.peek : ProgramFiles ] ;
-        if $(ProgramFiles)
-        {
-            extra-paths = "$(ProgramFiles:J= )" ;
-        }
-        else
-        {
-            extra-paths = "C:\\Program Files" ;
-        }
-    }
-    .doxygen = [ common.get-invocation-command doxygen :
-                 doxygen : $(.doxygen) : $(extra-paths) ] ;
-}
-
-rule name ( )
-{
-    freeze-config ;
-    return $(.doxygen) ;
-}
-
-rule .is-cygwin ( )
-{
-    if [ os.on-windows ]
-    {
-        local file = [ path.make [ modules.binding $(__name__) ] ] ;
-        local dir = [ path.native
-                      [ path.join [ path.parent $(file) ] doxygen ] ] ;
-        local command =
-         "cd \"$(dir)\" && \"$(.doxygen)\" windows-paths-check.doxyfile 2>&1" ;
-        result = [ SHELL $(command) ] ;
-        if [ MATCH "(Parsing file /)" : $(result) ]
-        {
-            return true ;
-        }
-    }
-}
-
-# Runs Doxygen on the given Doxygen configuration file (the source) to generate
-# the Doxygen files. The output is dumped according to the settings in the
-# Doxygen configuration file, not according to the target! Because of this, we
-# essentially "touch" the target file, in effect making it look like we have
-# really written something useful to it. Anyone that uses this action must deal
-# with this behavior.
-#
-actions doxygen-action
-{
-    $(RM) "$(*.XML)" & "$(NAME:E=doxygen)" "$(>)" && echo "Stamped" > "$(<)"
-}
-
-
-# Runs the Python doxproc XML processor.
-#
-actions doxproc
-{
-    python "$(DOXPROC)" "--xmldir=$(>)" "--output=$(<)" "$(OPTIONS)" "--id=$(ID)" "--title=$(TITLE)"
-}
-
-
-rule translate-path ( path )
-{
-    freeze-config ;
-    if [ os.on-windows ]
-    {
-        if [ os.name ] = CYGWIN
-        {
-            if $(.is-cygwin)
-            {
-                return $(path) ;
-            }
-            else
-            {
-                return $(path:W) ;
-            }
-        }
-        else
-        {
-            if $(.is-cygwin)
-            {
-                match = [ MATCH ^(.):(.*) : $(path) ] ;
-                if $(match)
-                {
-                    return /cygdrive/$(match[1])$(match[2]:T) ;
-                }
-                else
-                {
-                    return $(path:T) ;
-                }
-            }
-            else
-            {
-                return $(path) ;
-            }
-        }
-    }
-    else
-    {
-        return $(path) ;
-    }
-}
-
-
-# Generates a doxygen configuration file (doxyfile) given a set of C++ sources
-# and a property list that may contain <doxygen:param> features.
-#
-rule headers-to-doxyfile ( target : sources * : properties * )
-{
-    local text "# Generated by Boost.Build version 2" ;
-
-    local output-dir ;
-
-    # Translate <doxygen:param> into command line flags.
-    for local param in [ feature.get-values <doxygen:param> : $(properties) ]
-    {
-        local namevalue = [ regex.match ([^=]*)=(.*) : $(param) ] ;
-        if $(namevalue[1]) = OUTPUT_DIRECTORY
-        {
-            output-dir = [ translate-path
-                           [ utility.unquote $(namevalue[2]) ] ] ;
-            text += "OUTPUT_DIRECTORY = \"$(output-dir)\"" ;
-        }
-        else
-        {
-            text += "$(namevalue[1]) = $(namevalue[2])" ;
-        }
-    }
-
-    if ! $(output-dir)
-    {
-        output-dir = [ translate-path [ on $(target) return $(LOCATE) ] ] ;
-        text += "OUTPUT_DIRECTORY = \"$(output-dir)\"" ;
-    }
-
-    local headers = ;
-    for local header in $(sources:G=)
-    {
-        header = [ translate-path $(header) ] ;
-        headers += \"$(header)\" ;
-    }
-
-    # Doxygen generates LaTex by default. So disable it unconditionally, or at
-    # least until someone needs, and hence writes support for, LaTex output.
-    text += "GENERATE_LATEX = NO" ;
-    text += "INPUT = $(headers:J= )" ;
-    print.output $(target) plain ;
-    print.text $(text) : true ;
-}
-
-
-# Run Doxygen. See doxygen-action for a description of the strange properties of
-# this rule.
-#
-rule run ( target : source : properties * )
-{
-    freeze-config ;
-    if <doxygen.rmdir>on in $(properties)
-    {
-        local output-dir =
-            [ path.make
-                [ MATCH <doxygen:param>OUTPUT_DIRECTORY=\"?([^\"]*) :
-                  $(properties) ] ] ;
-        local html-dir =
-            [ path.make
-                [ MATCH <doxygen:param>HTML_OUTPUT=(.*) :
-                  $(properties) ] ] ;
-        if $(output-dir) && $(html-dir) &&
-            [ path.glob $(output-dir) : $(html-dir) ]
-        {
-            HTMLDIR on $(target) =
-                [ path.native [ path.join $(output-dir) $(html-dir) ] ] ;
-            rm-htmldir $(target) ;
-        }
-    }
-    doxygen-action $(target) : $(source) ;
-    NAME on $(target) = $(.doxygen) ;
-    RM on $(target) = [ modules.peek common : RM ] ;
-    *.XML on $(target) =
-        [ path.native
-            [ path.join
-                [ path.make [ on $(target) return $(LOCATE) ] ]
-                $(target:B:S=)
-                *.xml ] ] ;
-}
-
-if [ os.name ] = NT
-{
-    RMDIR = rmdir /s /q ;
-}
-else
-{
-    RMDIR = rm -rf ;
-}
-
-actions quietly rm-htmldir
-{
-    $(RMDIR) $(HTMLDIR)
-}
-
-# The rules below require Boost.Book stylesheets, so we need some code to check
-# that the boostbook module has actualy been initialized.
-#
-rule check-boostbook ( )
-{
-    if ! [ modules.peek boostbook : .initialized ]
-    {
-        ECHO "error: the boostbook module is not initialized" ;
-        ECHO "error: you've attempted to use the 'doxygen' toolset, " ;
-        ECHO "error: which requires Boost.Book," ;
-        ECHO "error: but never initialized Boost.Book." ;
-        EXIT "error: Hint: add 'using boostbook ;' to your user-config.jam" ;
-    }
-}
-
-
-# Collect the set of Doxygen XML files into a single XML source file that can be
-# handled by an XSLT processor. The source is completely ignored (see
-# doxygen-action), because this action picks up the Doxygen XML index file
-# xml/index.xml. This is because we can not teach Doxygen to act like a NORMAL
-# program and take a "-o output.xml" argument (grrrr). The target of the
-# collection will be a single Doxygen XML file.
-#
-rule collect ( target : source : properties * )
-{
-    check-boostbook ;
-    local collect-xsl-dir
-        = [ path.native [ path.join [ boostbook.xsl-dir ] doxygen collect ] ] ;
-    local source-path
-        = [ path.make [ on $(source) return $(LOCATE) ] ] ;
-    local collect-path
-        = [ path.root [ path.join $(source-path) $(source:B) ] [ path.pwd ] ] ;
-    local native-path
-        = [ path.native $(collect-path) ] ;
-    local real-source
-        = [ path.native [ path.join $(collect-path) index.xml ] ] ;
-    xsltproc.xslt $(target) : $(real-source) $(collect-xsl-dir:S=.xsl)
-        : <xsl:param>doxygen.xml.path=$(native-path) ;
-}
-
-
-# Translate Doxygen XML into BoostBook.
-#
-rule xml-to-boostbook ( target : source : properties * )
-{
-    check-boostbook ;
-    local xsl-dir = [ boostbook.xsl-dir ] ;
-    local d2b-xsl = [ path.native [ path.join [ boostbook.xsl-dir ] doxygen
-        doxygen2boostbook.xsl ] ] ;
-
-    local xslt-properties = $(properties) ;
-    for local prefix in [ feature.get-values <prefix> : $(properties) ]
-    {
-        xslt-properties += "<xsl:param>boost.doxygen.header.prefix=$(prefix)" ;
-    }
-    for local title in [ feature.get-values <reftitle> : $(properties) ]
-    {
-        xslt-properties += "<xsl:param>boost.doxygen.reftitle=$(title)" ;
-    }
-
-    xsltproc.xslt $(target) : $(source) $(d2b-xsl) : $(xslt-properties) ;
-}
-
-
-flags doxygen.xml-dir-to-boostbook OPTIONS <doxygen.doxproc.index>yes : --enable-index ;
-flags doxygen.xml-dir-to-boostbook ID <doxygen.doxproc.id> ;
-flags doxygen.xml-dir-to-boostbook TITLE <doxygen.doxproc.title> ;
-
-
-rule xml-dir-to-boostbook ( target : source : properties * )
-{
-    DOXPROC on $(target) = $(.doxproc) ;
-
-    LOCATE on $(source:S=) = [ on $(source) return $(LOCATE) ] ;
-
-    doxygen.doxproc $(target) : $(source:S=) ;
-}
-
-
-# Generate the HTML redirect to HTML dir index.html file.
-#
-rule html-redirect ( target : source : properties * )
-{
-    local uri = "$(target:B)/index.html" ;
-    print.output $(target) plain ;
-    print.text
-"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
-    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
-<html xmlns=\"http://www.w3.org/1999/xhtml\">
-<head>
-  <meta http-equiv=\"refresh\" content=\"0; URL=$(uri)\" />
-
-  <title></title>
-</head>
-
-<body>
-  Automatic redirection failed, please go to <a href=
-  \"$(uri)\">$(uri)</a>.
-</body>
-</html>
-"
-        : true ;
-}
-
-rule copy-latex-pngs ( target : source : requirements * )
-{
-    local directory = [ path.native
-                        [ feature.get-values <doxygen:xml-imagedir> :
-                          $(requirements) ] ] ;
-
-    local location = [ on $(target) return $(LOCATE) ] ;
-
-    local pdf-location =
-        [ path.native
-            [ path.join
-                [ path.make $(location) ]
-                [ path.make $(directory) ] ] ] ;
-    local html-location =
-        [ path.native
-            [ path.join
-                .
-                html
-                [ path.make $(directory) ] ] ] ;
-
-    common.MkDir $(pdf-location) ;
-    common.MkDir $(html-location) ;
-
-    DEPENDS $(target) : $(pdf-location) $(html-location) ;
-
-    if [ os.name ] = NT
-    {
-        CP on $(target) = copy /y ;
-        FROM on $(target) = \\*.png ;
-        TOHTML on $(target) = .\\html\\$(directory) ;
-        TOPDF on $(target) = \\$(directory) ;
-    }
-    else
-    {
-        CP on $(target) = cp ;
-        FROM on $(target) = /*.png ;
-        TOHTML on $(target) = ./html/$(directory) ;
-        TOPDF on $(target) = $(target:D)/$(directory) ;
-    }
-}
-
-actions copy-latex-pngs
-{
-    $(CP) $(>:S=)$(FROM) $(TOHTML)
-    $(CP) $(>:S=)$(FROM) $(<:D)$(TOPDF)
-    echo "Stamped" > "$(<)"
-}
-
-# building latex images for doxygen XML depends
-# on latex, dvips, and ps being in your PATH.
-# This is true for most Unix installs, but
-# not on Win32, where you will need to install
-# MkTex and Ghostscript and add these tools
-# to your path.
-
-actions check-latex
-{
-    latex -version >$(<)
-}
-
-actions check-dvips
-{
-    dvips -version >$(<)
-}
-
-if [ os.name ] = "NT"
-{
-   actions check-gs
-   {
-       gswin32c -version >$(<)
-   }
-}
-else
-{
-   actions check-gs
-   {
-       gs -version >$(<)
-   }
-}
-
-rule check-tools ( )
-{
-    if ! $(.check-tools-targets)
-    {
-        # Find the root project.
-        local root-project = [ project.current ] ;
-        root-project = [ $(root-project).project-module ] ;
-        while
-            [ project.attribute $(root-project) parent-module ] &&
-            [ project.attribute $(root-project) parent-module ] != user-config
-        {
-            root-project =
-                [ project.attribute $(root-project) parent-module ] ;
-        }
-
-        .latex.check = [ new file-target latex.check
-            :
-            : [ project.target $(root-project) ]
-            : [ new action : doxygen.check-latex ]
-            :
-            ] ;
-        .dvips.check = [ new file-target dvips.check
-            :
-            : [ project.target $(root-project) ]
-            : [ new action : doxygen.check-dvips ]
-            :
-            ] ;
-        .gs.check = [ new file-target gs.check
-            :
-            : [ project.target $(root-project) ]
-            : [ new action : doxygen.check-gs ]
-            :
-            ] ;
-        .check-tools-targets = $(.latex.check) $(.dvips.check) $(.gs.check) ;
-    }
-    return $(.check-tools-targets) ;
-}
-
-project.initialize $(__name__) ;
-project doxygen ;
-
-class doxygen-check-tools-target-class : basic-target
-{
-    import doxygen ;
-    rule construct ( name : sources * : property-set )
-    {
-        return [ property-set.empty ] [ doxygen.check-tools ] ;
-    }
-}
-
-local project = [ project.current ] ;
-
-targets.main-target-alternative
-    [ new doxygen-check-tools-target-class check-tools : $(project)
-        : [ targets.main-target-sources : check-tools : no-renaming ]
-        : [ targets.main-target-requirements : $(project) ]
-        : [ targets.main-target-default-build : $(project) ]
-        : [ targets.main-target-usage-requirements : $(project) ]
-    ] ;
-
-# User-level rule to generate BoostBook XML from a set of headers via Doxygen.
-#
-rule doxygen ( target : sources * : requirements * : default-build * : usage-requirements * )
-{
-    freeze-config ;
-    local project = [ project.current ] ;
-
-    if $(target:S) = .html
-    {
-        # Build an HTML directory from the sources.
-        local html-location = [ feature.get-values <location> : $(requirements) ] ;
-        local output-dir ;
-        if [ $(project).get build-dir ] 
-        {
-            # Explicitly specified build dir. Add html at the end.
-            output-dir = [ path.join [ $(project).build-dir ] $(html-location:E=html) ] ;
-        }
-        else
-        {
-            # Trim 'bin' from implicit build dir, for no other reason that backward
-            # compatibility.
-            output-dir = [ path.join [ path.parent [ $(project).build-dir ] ] 
-              $(html-location:E=html) ] ;
-        }
-        output-dir = [ path.root $(output-dir) [ path.pwd ] ] ;        
-        local output-dir-native = [ path.native $(output-dir) ] ;
-        requirements = [ property.change $(requirements) : <location> ] ;
-
-        ## The doxygen configuration file.
-        targets.main-target-alternative
-            [ new typed-target $(target:S=.tag) : $(project) : DOXYFILE
-                : [ targets.main-target-sources $(sources) : $(target:S=.tag) ]
-                : [ targets.main-target-requirements $(requirements)
-                    <doxygen:param>GENERATE_HTML=YES
-                    <doxygen:param>GENERATE_XML=NO
-                    <doxygen:param>"OUTPUT_DIRECTORY=\"$(output-dir-native)\""
-                    <doxygen:param>HTML_OUTPUT=$(target:B)
-                    : $(project) ]
-                : [ targets.main-target-default-build $(default-build) : $(project) ]
-            ] ;
-        $(project).mark-target-as-explicit $(target:S=.tag) ;
-
-        ## The html directory to generate by running doxygen.
-        targets.main-target-alternative
-            [ new typed-target $(target:S=.dir) : $(project) : DOXYGEN_HTML_MULTIFILE
-                : $(target:S=.tag)
-                : [ targets.main-target-requirements $(requirements)
-                    <doxygen:param>"OUTPUT_DIRECTORY=\"$(output-dir-native)\""
-                    <doxygen:param>HTML_OUTPUT=$(target:B)
-                    : $(project) ]
-                : [ targets.main-target-default-build $(default-build) : $(project) ]
-                ] ;
-        $(project).mark-target-as-explicit $(target:S=.dir) ;
-
-        ## The redirect html file into the generated html.
-        targets.main-target-alternative
-            [ new typed-target $(target) : $(project) : DOXYGEN_HTML
-                : $(target:S=.dir)
-                : [ targets.main-target-requirements $(requirements)
-                    <location>$(output-dir)
-                    : $(project) ]
-                : [ targets.main-target-default-build $(default-build) : $(project) ]
-                ] ;
-    }
-    else
-    {
-        # Build a BoostBook XML file from the sources.
-        local location-xml = [ feature.get-values <location> : $(requirements) ] ;
-        requirements = [ property.change $(requirements) : <location> ] ;
-        local target-xml = $(target:B=$(target:B)-xml) ;
-
-        # Check whether we need to build images
-        local images-location =
-            [ feature.get-values <doxygen:xml-imagedir> : $(requirements) ] ;
-        if $(images-location)
-        {
-            doxygen $(target).doxygen-xml-images.html : $(sources)
-                : $(requirements)
-                  <doxygen.rmdir>on
-                  <doxygen:param>QUIET=YES
-                  <doxygen:param>WARNINGS=NO
-                  <doxygen:param>WARN_IF_UNDOCUMENTED=NO
-                  <dependency>/doxygen//check-tools ;
-            $(project).mark-target-as-explicit
-                $(target).doxygen-xml-images.html ;
-
-            targets.main-target-alternative
-                [ new typed-target $(target).doxygen-xml-images
-                    : $(project) : DOXYGEN_XML_IMAGES
-                    : $(target).doxygen-xml-images.html
-                    : [ targets.main-target-requirements $(requirements)
-                        : $(project) ]
-                    : [ targets.main-target-default-build $(default-build)
-                        : $(project) ]
-                ] ;
-
-            $(project).mark-target-as-explicit
-                $(target).doxygen-xml-images ;
-
-            if ! [ regex.match "^(.*/)$" : $(images-location) ]
-            {
-                images-location = $(images-location)/ ;
-            }
-
-            requirements +=
-                <dependency>$(target).doxygen-xml-images
-                <xsl:param>boost.doxygen.formuladir=$(images-location) ;
-        }
-
-        ## The doxygen configuration file.
-        targets.main-target-alternative
-            [ new typed-target $(target-xml:S=.tag) : $(project) : DOXYFILE
-                : [ targets.main-target-sources $(sources) : $(target-xml:S=.tag) ]
-                : [ targets.main-target-requirements $(requirements)
-                    <doxygen:param>GENERATE_HTML=NO
-                    <doxygen:param>GENERATE_XML=YES
-                    <doxygen:param>XML_OUTPUT=$(target-xml)
-                    : $(project) ]
-                : [ targets.main-target-default-build $(default-build) : $(project) ]
-            ] ;
-        $(project).mark-target-as-explicit $(target-xml:S=.tag) ;
-
-        ## The Doxygen XML directory of the processed source files.
-        targets.main-target-alternative
-            [ new typed-target $(target-xml:S=.dir) : $(project) : DOXYGEN_XML_MULTIFILE
-                : $(target-xml:S=.tag)
-                : [ targets.main-target-requirements $(requirements)
-                    : $(project) ]
-                : [ targets.main-target-default-build $(default-build) : $(project) ]
-            ] ;
-        $(project).mark-target-as-explicit $(target-xml:S=.dir) ;
-
-        ## The resulting BoostBook file is generated by the processor tool. The
-        ## tool can be either the xsltproc plus accompanying XSL scripts. Or it
-        ## can be the python doxproc.py script.
-        targets.main-target-alternative
-            [ new typed-target $(target-xml) : $(project) : BOOSTBOOK
-                :  $(target-xml:S=.dir)
-                : [ targets.main-target-requirements $(requirements)
-                    : $(project) ]
-                : [ targets.main-target-default-build $(default-build) : $(project) ]
-            ] ;
-        $(project).mark-target-as-explicit $(target-xml) ;
-
-        targets.main-target-alternative
-            [ new install-target-class $(target:S=.xml) : $(project)
-                : $(target-xml)
-                : [ targets.main-target-requirements $(requirements)
-                    <location>$(location-xml:E=.)
-                    <name>$(target:S=.xml)
-                    : $(project) ]
-                : [ targets.main-target-default-build $(default-build) : $(project) ]
-            ] ;
-        $(project).mark-target-as-explicit $(target:S=.xml) ;
-
-        targets.main-target-alternative
-            [ new alias-target-class $(target) : $(project)
-                :
-                : [ targets.main-target-requirements $(requirements)
-                    : $(project) ]
-                : [ targets.main-target-default-build $(default-build) : $(project) ]
-                : [ targets.main-target-usage-requirements $(usage-requirements)
-                    <dependency>$(target:S=.xml)
-                    : $(project) ]
-            ] ;
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/tools/doxygen/windows-paths-check.doxyfile b/SRC/Boost/tools/build/v2/tools/doxygen/windows-paths-check.doxyfile
deleted file mode 100755
index 57264ae..0000000
--- a/SRC/Boost/tools/build/v2/tools/doxygen/windows-paths-check.doxyfile
+++ /dev/null
@@ -1,3 +0,0 @@
-INPUT = windows-paths-check.hpp
-GENERATE_HTML = NO
-GENERATE_LATEX = NO
diff --git a/SRC/Boost/tools/build/v2/tools/doxygen/windows-paths-check.hpp b/SRC/Boost/tools/build/v2/tools/doxygen/windows-paths-check.hpp
deleted file mode 100755
index e69de29..0000000
diff --git a/SRC/Boost/tools/build/v2/tools/fop.jam b/SRC/Boost/tools/build/v2/tools/fop.jam
deleted file mode 100755
index 4e4f5c3..0000000
--- a/SRC/Boost/tools/build/v2/tools/fop.jam
+++ /dev/null
@@ -1,69 +0,0 @@
-#  Copyright (C) 2003-2004 Doug Gregor and Dave Abrahams. Distributed
-# under the Boost Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-#
-#  This module defines rules to handle generation of PDF and
-#  PostScript files from XSL Formatting Objects via Apache FOP
-
-import generators ;
-import common ;
-import boostbook ;
-
-generators.register-standard fop.render.pdf : FO : PDF ;
-generators.register-standard fop.render.ps : FO : PS ;
-
-# Initializes the fop toolset.
-#
-rule init ( fop-command ? : java-home ? : java ? )
-{
-    local has-command = $(.has-command) ;
-
-    if $(fop-command)
-    {
-        .has-command = true ;
-    }
-
-    if $(fop-command) || ! $(has-command)
-    {
-        fop-command = [ common.get-invocation-command fop : fop : $(fop-command) 
-          : [ modules.peek : FOP_DIR ] ] ;
-    }
-    
-    if $(fop-command)
-    {
-        .FOP_COMMAND = $(fop-command) ;
-    }
-
-    if $(java-home) || $(java)
-    {
-        .FOP_SETUP = ;
-
-    
-        # JAVA_HOME is the location that java was installed to.
-    
-        if $(java-home)
-        {
-            .FOP_SETUP += [ common.variable-setting-command JAVA_HOME : $(java-home) ] ;
-        }
-
-        # JAVACMD is the location that of the java executable, useful for a
-        # non-standard java installation, where the executable isn't at
-        # $JAVA_HOME/bin/java.
-    
-        if $(java)
-        {
-            .FOP_SETUP += [ common.variable-setting-command JAVACMD : $(java) ] ;
-        }
-    }
-}
-
-actions render.pdf
-{
-    $(.FOP_SETUP) $(.FOP_COMMAND:E=fop) $(>) $(<)
-}
-
-actions render.ps
-{
-    $(.FOP_SETUP) $(.FOP_COMMAND:E=fop) $(>) -ps $(<)
-}
diff --git a/SRC/Boost/tools/build/v2/tools/fortran.jam b/SRC/Boost/tools/build/v2/tools/fortran.jam
deleted file mode 100755
index f82c397..0000000
--- a/SRC/Boost/tools/build/v2/tools/fortran.jam
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright (C) 2004 Toon Knapen
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-#
-# This file contains common settings for all fortran tools
-#
-
-import "class" : new ;
-import feature : feature ;
-
-import type ;
-import generators ;
-import common ;
-
-type.register FORTRAN : f F for f77 ;
-type.register FORTRAN90 : f90 F90 ;
-
-feature fortran : : free ;
-feature fortran90 : : free ;
-
-class fortran-compiling-generator : generator
-{
-    rule __init__ ( id : source-types + : target-types + : requirements * : optional-properties * )
-    {
-        generator.__init__ $(id) : $(source-types) : $(target-types) : $(requirements) : $(optional-properties) ;
-    }
-}
-
-rule register-fortran-compiler ( id : source-types + : target-types + : requirements * : optional-properties * )
-{
-    local g = [ new fortran-compiling-generator $(id) : $(source-types) : $(target-types) : $(requirements) : $(optional-properties) ] ;
-    generators.register $(g) ;
-}
-
-class fortran90-compiling-generator : generator
-{
-    rule __init__ ( id : source-types + : target-types + : requirements * : optional-properties * )
-    {
-        generator.__init__ $(id) : $(source-types) : $(target-types) : $(requirements) : $(optional-properties) ;
-    }
-}
-
-rule register-fortran90-compiler ( id : source-types + : target-types + : requirements * : optional-properties * )
-{
-    local g = [ new fortran90-compiling-generator $(id) : $(source-types) : $(target-types) : $(requirements) : $(optional-properties) ] ;
-    generators.register $(g) ;
-}
-
-# FIXME: this is ugly, should find a better way (we'd want client code to
-# register all generators as "generator.some-rule", not with "some-module.some-rule".)
-IMPORT $(__name__) : register-fortran-compiler : : generators.register-fortran-compiler ;
-IMPORT $(__name__) : register-fortran90-compiler : : generators.register-fortran90-compiler ;
diff --git a/SRC/Boost/tools/build/v2/tools/gcc.jam b/SRC/Boost/tools/build/v2/tools/gcc.jam
deleted file mode 100755
index c325979..0000000
--- a/SRC/Boost/tools/build/v2/tools/gcc.jam
+++ /dev/null
@@ -1,1185 +0,0 @@
-# Copyright 2001 David Abrahams.
-# Copyright 2002-2006 Rene Rivera.
-# Copyright 2002-2003 Vladimir Prus.
-#  Copyright (c) 2005 Reece H. Dunn.
-# Copyright 2006 Ilya Sokolov.
-# Copyright 2007 Roland Schwarz
-# Copyright 2007 Boris Gubenko.
-#
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-import "class" : new ;
-import common ;
-import errors ;
-import feature ;
-import generators ;
-import os ;
-import pch ;
-import property ;
-import property-set ;
-import toolset ;
-import type ;
-import rc ;
-import regex ;
-import set ;
-import unix ;
-import fortran ;
-
-
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-    .debug-configuration = true ;
-}
-
-
-feature.extend toolset : gcc ;
-# feature.subfeature toolset gcc : flavor : : optional ;
-
-toolset.inherit-generators gcc : unix : unix.link unix.link.dll ;
-toolset.inherit-flags gcc : unix ;
-toolset.inherit-rules gcc : unix ;
-
-generators.override gcc.prebuilt : builtin.prebuilt ;
-generators.override gcc.searched-lib-generator : searched-lib-generator ;
-
-# Make gcc toolset object files use the "o" suffix on all platforms.
-type.set-generated-target-suffix OBJ : <toolset>gcc : o ;
-type.set-generated-target-suffix OBJ : <toolset>gcc <target-os>windows : o ;
-type.set-generated-target-suffix OBJ : <toolset>gcc <target-os>cygwin : o ;
-
-# Initializes the gcc toolset for the given version. If necessary, command may
-# be used to specify where the compiler is located. The parameter 'options' is a
-# space-delimited list of options, each one specified as
-# <option-name>option-value. Valid option names are: cxxflags, linkflags and
-# linker-type. Accepted linker-type values are aix, darwin, gnu, hpux, osf or
-# sun and the default value will be selected based on the current OS.
-# Example:
-#   using gcc : 3.4 : : <cxxflags>foo <linkflags>bar <linker-type>sun ;
-#
-# The compiler command to use is detected in a three step manner:
-# 1) If an explicit command is specified by the user, it will be used and must available.
-# 2) If only a certain version is specified, it is enforced:
-#    - either a command 'g++-VERSION' must be available
-#    - or the default command 'g++' must be available and match the exact version.
-# 3) Without user-provided restrictions use default 'g++'
-rule init ( version ? : command * : options * )
-{
-    #1): use user-provided command
-    local tool-command = ;
-    if $(command)
-    {
-       tool-command  =  [ common.get-invocation-command-nodefault gcc : g++ : $(command) ] ;
-       if ! $(tool-command)
-       {
-           errors.error "toolset gcc initialization:" :
-                        "provided command '$(command)' not found" :
-                        "initialized from" [ errors.nearest-user-location ] ;
-       }
-    }
-    #2): enforce user-provided version
-    else if $(version)
-    {
-        tool-command  =  [ common.get-invocation-command-nodefault gcc : "g++-$(version[1])" ] ;
-        
-        #2.1) fallback: check whether "g++" reports the requested version
-        if ! $(tool-command)
-        {
-            tool-command = [ common.get-invocation-command-nodefault gcc : g++ ] ;
-            if $(tool-command)
-            {
-                local tool-command-string = $(tool-command:J=" ") ;
-                local tool-version = [ MATCH "^([0-9.]+)" : [ SHELL "$(tool-command-string) -dumpversion" ] ] ;
-                if $(tool-version) != $(version)
-                {
-                    # Permit a match betwen two-digit version specified by the user
-                    # (e.g. 4.4) and 3-digit version reported by gcc.
-                    # Since only two digits are present in binary name anyway,
-                    # insisting that user specify 3-digit version when
-                    # configuring Boost.Build while it's not required on 
-                    # command like would be strange.
-                    local stripped = [ MATCH "^([0-9]+\.[0-9]+).*" : $(tool-version) ] ;
-                    if $(stripped) != $(version)
-                    {                                            
-                        errors.error "toolset gcc initialization:" :
-                          "version '$(version)' requested but 'g++-$(version)' not found and version '$(tool-version)' of default '$(tool-command)' does not match" :
-                            "initialized from" [ errors.nearest-user-location ] ;
-                        tool-command = ;
-                    }
-                    # Use full 3-digit version to be compatible with the 'using gcc ;' case
-                    version = $(tool-version) ;
-                }
-            }
-            else
-            {
-                errors.error "toolset gcc initialization:" :
-                             "version '$(version)' requested but neither 'g++-$(version)' nor default 'g++' found" :
-                             "initialized from" [ errors.nearest-user-location ] ;
-            }
-        }
-    }
-    #3) default: no command and no version specified, try using default command "g++"
-    else
-    {
-        tool-command = [ common.get-invocation-command-nodefault gcc : g++ ] ;
-        if ! $(tool-command)
-        {
-            errors.error "toolset gcc initialization:" :
-                         "no command provided, default command 'g++' not found" :
-                         "initialized from" [ errors.nearest-user-location ] ;
-        }
-    }
-    
-    
-    # Information about the gcc command...
-    #   The command.
-    local command = $(tool-command) ;
-    #   The root directory of the tool install.
-    local root = [ feature.get-values <root> : $(options) ] ;
-    #   The bin directory where to find the command to execute.
-    local bin ;
-    #   The flavor of compiler.
-    local flavor = [ feature.get-values <flavor> : $(options) ] ;
-    #   Autodetect the root and bin dir if not given.
-    if $(command)
-    {
-        bin ?= [ common.get-absolute-tool-path $(command[-1]) ] ;
-        root ?= $(bin:D) ;
-    }
-    # The 'command' variable can have multiple elements. When calling
-    # the SHELL builtin we need a single string.
-    local command-string = $(command:J=" ") ;
-    #   Autodetect the version and flavor if not given.
-    if $(command)
-    {    
-        local machine = [ MATCH "^([^ ]+)"
-            : [ SHELL "$(command-string) -dumpmachine" ] ] ;
-        version ?= [ MATCH "^([0-9.]+)"
-            : [ SHELL "$(command-string) -dumpversion" ] ] ;
-        switch $(machine:L)
-        {
-            case *mingw* : flavor ?= mingw ;
-        }
-    }
-
-    local condition ;
-    if $(flavor)
-    {
-        condition = [ common.check-init-parameters gcc
-            : version $(version)
-            : flavor $(flavor)
-            ] ;
-    }
-    else
-    {
-        condition = [ common.check-init-parameters gcc
-            : version $(version)
-            ] ;
-        condition = $(condition) ;  #/<toolset-gcc:flavor> ;
-    }
-
-    common.handle-options gcc : $(condition) : $(command) : $(options) ;
-
-    local linker = [ feature.get-values <linker-type> : $(options) ] ;
-    # The logic below should actually be keyed on <target-os>
-    if ! $(linker)
-    {
-        if [ os.name ] = OSF
-        {
-            linker = osf ;
-        }
-        else if [ os.name ] = HPUX
-        {
-            linker = hpux ;
-        }
-        else if [ os.name ] = AIX
-        {
-            linker = aix ;
-        }
-        else if [ os.name ] = SOLARIS
-        {
-            linker = sun ;
-        }        
-        else
-        {
-            linker = gnu ;
-        }
-    }
-    init-link-flags gcc $(linker) $(condition) ;
-
-
-    # If gcc is installed in non-standard location, we'd need to add
-    # LD_LIBRARY_PATH when running programs created with it (for unit-test/run
-    # rules).
-    if $(command)
-    {
-        # On multilib 64-bit boxes, there are both 32-bit and 64-bit libraries
-        # and all must be added to LD_LIBRARY_PATH. The linker will pick the
-        # right onces. Note that we don't provide a clean way to build 32-bit
-        # binary with 64-bit compiler, but user can always pass -m32 manually.
-        local lib_path = $(root)/bin $(root)/lib $(root)/lib32 $(root)/lib64 ;
-        if $(.debug-configuration)
-        {
-            ECHO notice: using gcc libraries :: $(condition) :: $(lib_path) ;
-        }
-        toolset.flags gcc.link RUN_PATH $(condition) : $(lib_path) ;
-    }
-
-    # If it's not a system gcc install we should adjust the various programs as
-    # needed to prefer using the install specific versions. This is essential
-    # for correct use of MinGW and for cross-compiling.
-    
-    local nl = "
-" ;
-
-    # - The archive builder.
-    local archiver = [ common.get-invocation-command gcc
-            : [ NORMALIZE_PATH [ MATCH "(.*)[$(nl)]+" : [ SHELL "$(command-string) -print-prog-name=ar" ] ] ]
-            : [ feature.get-values <archiver> : $(options) ] 
-            : $(bin) 
-            : search-path ] ;
-    toolset.flags gcc.archive .AR $(condition) : $(archiver[1]) ;
-    if $(.debug-configuration)
-    {
-        ECHO notice: using gcc archiver :: $(condition) :: $(archiver[1]) ;
-    }
-
-    # - Ranlib
-    local ranlib = [ common.get-invocation-command gcc
-            : [ NORMALIZE_PATH [ MATCH "(.*)[$(nl)]+" : [ SHELL "$(command-string) -print-prog-name=ranlib" ] ] ]
-            : [ feature.get-values <ranlib> : $(options) ] 
-            : $(bin) 
-            : search-path ] ;
-    toolset.flags gcc.archive .RANLIB $(condition) : $(ranlib[1]) ;
-    if $(.debug-configuration)
-    {
-        ECHO notice: using gcc ranlib :: $(condition) :: $(ranlib[1]) ;
-    }
-
-
-    # - The resource compiler.
-    local rc =
-        [ common.get-invocation-command-nodefault gcc
-            : windres : [ feature.get-values <rc> : $(options) ] : $(bin) : search-path ] ;
-    local rc-type =
-        [ feature.get-values <rc-type> : $(options) ] ;
-    rc-type ?= windres ;
-    if ! $(rc)
-    {
-        # If we can't find an RC compiler we fallback to a null RC compiler that
-        # creates empty object files. This allows the same Jamfiles to work
-        # across the board. The null RC uses the assembler to create the empty
-        # objects, so configure that.
-        rc = [ common.get-invocation-command gcc : as : : $(bin) : search-path ] ;
-        rc-type = null ;
-    }
-    rc.configure $(rc) : $(condition) : <rc-type>$(rc-type) ;
-}
-
-if [ os.name ] = NT
-{
-    # This causes single-line command invocation to not go through .bat files,
-    # thus avoiding command-line length limitations.
-    JAMSHELL = % ;
-}
-
-generators.register-c-compiler gcc.compile.c++.preprocess : CPP : PREPROCESSED_CPP : <toolset>gcc ;
-generators.register-c-compiler gcc.compile.c.preprocess   : C   : PREPROCESSED_C   : <toolset>gcc ;
-generators.register-c-compiler gcc.compile.c++ : CPP : OBJ : <toolset>gcc ;
-generators.register-c-compiler gcc.compile.c   : C   : OBJ : <toolset>gcc ;
-generators.register-c-compiler gcc.compile.asm : ASM : OBJ : <toolset>gcc ;
-generators.register-fortran-compiler gcc.compile.fortran : FORTRAN FORTRAN90 : OBJ : <toolset>gcc ;
-
-# pch support
-
-# The compiler looks for a precompiled header in each directory just before it
-# looks for the include file in that directory. The name searched for is the
-# name specified in the #include directive with ".gch" suffix appended. The
-# logic in gcc-pch-generator will make sure that BASE_PCH suffix is appended to
-# full name of the header.
-
-type.set-generated-target-suffix PCH : <toolset>gcc : gch ;
-
-# GCC-specific pch generator.
-class gcc-pch-generator : pch-generator
-{
-    import project ;
-    import property-set ;
-    import type ;
-
-    rule run-pch ( project name ? : property-set : sources + )
-    {
-        # Find the header in sources. Ignore any CPP sources.
-        local header ;
-        for local s in $(sources)
-        {
-            if [ type.is-derived [ $(s).type ] H ]
-            {
-                header = $(s) ;
-            }
-        }
-
-        # Error handling: Base header file name should be the same as the base
-        # precompiled header name.
-        local header-name = [ $(header).name ] ;
-        local header-basename = $(header-name:B) ;
-        if $(header-basename) != $(name)
-        {
-            local location = [ $(project).project-module ] ;
-            errors.user-error "in" $(location)": pch target name `"$(name)"' should be the same as the base name of header file `"$(header-name)"'" ;
-        }
-
-        local pch-file = [ generator.run $(project) $(name) : $(property-set)
-            : $(header) ] ;
-
-        # return result of base class and pch-file property as usage-requirements
-        return
-            [ property-set.create <pch-file>$(pch-file) <cflags>-Winvalid-pch ]
-            $(pch-file)
-          ;
-    }
-
-    # Calls the base version specifying source's name as the name of the created
-    # target. As result, the PCH will be named whatever.hpp.gch, and not
-    # whatever.gch.
-    rule generated-targets ( sources + : property-set : project name ? )
-    {
-        name = [ $(sources[1]).name ] ;
-        return [ generator.generated-targets $(sources)
-          : $(property-set) : $(project) $(name) ] ;
-    }
-}
-
-# Note: the 'H' source type will catch both '.h' header and '.hpp' header. The
-# latter have HPP type, but HPP type is derived from H. The type of compilation
-# is determined entirely by the destination type.
-generators.register [ new gcc-pch-generator gcc.compile.c.pch   : H :   C_PCH : <pch>on <toolset>gcc ] ;
-generators.register [ new gcc-pch-generator gcc.compile.c++.pch : H : CPP_PCH : <pch>on <toolset>gcc ] ;
-
-# Override default do-nothing generators.
-generators.override gcc.compile.c.pch   : pch.default-c-pch-generator   ;
-generators.override gcc.compile.c++.pch : pch.default-cpp-pch-generator ;
-
-toolset.flags gcc.compile PCH_FILE <pch>on : <pch-file> ;
-
-# Declare flags and action for compilation.
-toolset.flags gcc.compile OPTIONS <optimization>off   : -O0 ;
-toolset.flags gcc.compile OPTIONS <optimization>speed : -O3 ;
-toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
-
-toolset.flags gcc.compile OPTIONS <inlining>off  : -fno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>on   : -Wno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
-
-toolset.flags gcc.compile OPTIONS <warnings>off : -w ;
-toolset.flags gcc.compile OPTIONS <warnings>on  : -Wall ;
-toolset.flags gcc.compile OPTIONS <warnings>all : -Wall -pedantic ;
-toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : -Werror ;
-
-toolset.flags gcc.compile OPTIONS <debug-symbols>on : -g ;
-toolset.flags gcc.compile OPTIONS <profiling>on : -pg ;
-toolset.flags gcc.compile OPTIONS <rtti>off : -fno-rtti ;
-
-rule setup-fpic ( targets * : sources * : properties * )
-{
-    local link = [ feature.get-values link : $(properties) ] ;
-    if $(link) = shared
-    {        
-        local target = [ feature.get-values target-os : $(properties) ] ;
-        
-        # This logic will add -fPIC for all compilations:
-        #
-        # lib a : a.cpp b ;
-        # obj b : b.cpp ;
-        # exe c : c.cpp a d ;
-        # obj d : d.cpp ;
-        #
-        # This all is fine, except that 'd' will be compiled with -fPIC even though
-        # it is not needed, as 'd' is used only in exe. However, it is hard to
-        # detect where a target is going to be used. Alternatively, we can set -fPIC
-        # only when main target type is LIB but than 'b' would be compiled without
-        # -fPIC which would lead to link errors on x86-64. So, compile everything
-        # with -fPIC.
-        #
-        # Yet another alternative would be to create a propagated <sharedable>
-        # feature and set it when building shared libraries, but that would be hard
-        # to implement and would increase the target path length even more.
-        
-        # On Windows, fPIC is default, specifying -fPIC explicitly leads to
-        # a warning.
-        if $(target) != cygwin && $(target) != windows
-        {
-            OPTIONS on $(targets) += -fPIC ;
-        }        
-    }
-}
-
-rule setup-address-model ( targets * : sources * : properties * )
-{
-    local model = [ feature.get-values address-model : $(properties) ] ;
-    if $(model)
-    {
-        local option ;
-        local os = [ feature.get-values target-os : $(properties) ] ;
-        if $(os) = aix
-        {
-            if $(model) = 32
-            {
-                option = -maix32 ;
-            }
-            else
-            {
-                option = -maix64 ;
-            }
-        }
-        else if $(os) = hpux
-        {
-            if $(model) = 32
-            {
-                option = -milp32 ;
-            }
-            else
-            {
-                option = -mlp64 ;
-            }
-        }
-        else
-        {
-            if $(model) = 32
-            {
-                option = -m32 ;
-            }
-            else if $(model) = 64
-            {
-                option = -m64 ;
-            }
-            # For darwin, the model can be 32_64. darwin.jam will handle that
-            # on its own.
-        }
-        OPTIONS on $(targets) += $(option) ;
-    }    
-}
-
-
-# FIXME: this should not use os.name.
-if [ os.name ] != NT && [ os.name ] != OSF && [ os.name ] != HPUX && [ os.name ] != AIX
-{
-    # OSF does have an option called -soname but it does not seem to work as
-    # expected, therefore it has been disabled.
-    HAVE_SONAME   = "" ;
-    SONAME_OPTION = -h ;
-}
-
-# HPUX, for some reason, seem to use '+h', not '-h'.
-if [ os.name ] = HPUX
-{
-    HAVE_SONAME   = "" ;
-    SONAME_OPTION = +h ;
-}
-
-toolset.flags gcc.compile USER_OPTIONS <cflags> ;
-toolset.flags gcc.compile.c++ USER_OPTIONS <cxxflags> ;
-toolset.flags gcc.compile DEFINES <define> ;
-toolset.flags gcc.compile INCLUDES <include> ;
-toolset.flags gcc.compile.c++ TEMPLATE_DEPTH <c++-template-depth> ;
-toolset.flags gcc.compile.fortran USER_OPTIONS <fflags> ;
-
-rule compile.c++.pch ( targets * : sources * : properties * )
-{
-    setup-threading $(targets) : $(sources) : $(properties) ;
-    setup-fpic $(targets) : $(sources) : $(properties) ;
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-}
-
-actions compile.c++.pch
-{
-    "$(CONFIG_COMMAND)" -x c++-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-rule compile.c.pch ( targets * : sources * : properties * )
-{
-    setup-threading $(targets) : $(sources) : $(properties) ;
-    setup-fpic $(targets) : $(sources) : $(properties) ;
-    setup-address-model $(targets) : $(sources) : $(properties) ;    
-}
-
-actions compile.c.pch
-{
-    "$(CONFIG_COMMAND)" -x c-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-rule compile.c++.preprocess ( targets * : sources * : properties * )
-{
-    setup-threading $(targets) : $(sources) : $(properties) ;
-    setup-fpic $(targets) : $(sources) : $(properties) ;
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-    
-    # Some extensions are compiled as C++ by default. For others, we need to
-    # pass -x c++. We could always pass -x c++ but distcc does not work with it.
-    if ! $(>:S) in .cc .cp .cxx .cpp .c++ .C
-    {
-        LANG on $(<) = "-x c++" ;
-    }
-    DEPENDS $(<) : [ on $(<) return $(PCH_FILE) ] ;
-}
-
-rule compile.c.preprocess ( targets * : sources * : properties * )
-{
-    setup-threading $(targets) : $(sources) : $(properties) ;
-    setup-fpic $(targets) : $(sources) : $(properties) ;
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-    
-    # If we use the name g++ then default file suffix -> language mapping does
-    # not work. So have to pass -x option. Maybe, we can work around this by
-    # allowing the user to specify both C and C++ compiler names.
-    #if $(>:S) != .c
-    #{
-        LANG on $(<) = "-x c" ;
-    #}
-    DEPENDS $(<) : [ on $(<) return $(PCH_FILE) ] ;
-}
-
-rule compile.c++ ( targets * : sources * : properties * )
-{
-    setup-threading $(targets) : $(sources) : $(properties) ;
-    setup-fpic $(targets) : $(sources) : $(properties) ;
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-    
-    # Some extensions are compiled as C++ by default. For others, we need to
-    # pass -x c++. We could always pass -x c++ but distcc does not work with it.
-    if ! $(>:S) in .cc .cp .cxx .cpp .c++ .C
-    {
-        LANG on $(<) = "-x c++" ;
-    }
-    DEPENDS $(<) : [ on $(<) return $(PCH_FILE) ] ;
-    
-    # Here we want to raise the template-depth parameter value to something
-    # higher than the default value of 17. Note that we could do this using the
-    # feature.set-default rule but we do not want to set the default value for
-    # all toolsets as well.
-    #
-    # TODO: This 'modified default' has been inherited from some 'older Boost
-    # Build implementation' and has most likely been added to make some Boost
-    # library parts compile correctly. We should see what exactly prompted this
-    # and whether we can get around the problem more locally.
-    local template-depth = [ on $(<) return $(TEMPLATE_DEPTH) ] ;
-    if ! $(template-depth)
-    {
-        TEMPLATE_DEPTH on $(<) = 128 ;
-    }
-}
-
-rule compile.c ( targets * : sources * : properties * )
-{
-    setup-threading $(targets) : $(sources) : $(properties) ;
-    setup-fpic $(targets) : $(sources) : $(properties) ;
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-    
-    # If we use the name g++ then default file suffix -> language mapping does
-    # not work. So have to pass -x option. Maybe, we can work around this by
-    # allowing the user to specify both C and C++ compiler names.
-    #if $(>:S) != .c
-    #{
-        LANG on $(<) = "-x c" ;
-    #}
-    DEPENDS $(<) : [ on $(<) return $(PCH_FILE) ] ;
-}
-
-rule compile.fortran ( targets * : sources * : properties * )
-{
-    setup-threading $(targets) : $(sources) : $(properties) ;
-    setup-fpic $(targets) : $(sources) : $(properties) ;
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-}
-
-actions compile.c++ bind PCH_FILE
-{
-    "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
-}
-
-actions compile.c bind PCH_FILE
-{
-    "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.c++.preprocess bind PCH_FILE
-{
-    "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)"
-}
-
-actions compile.c.preprocess bind PCH_FILE
-{
-    "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>)" -E >$(<)
-}
-
-actions compile.fortran
-{
-  "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<)" "$(>)" 
-}
-
-rule compile.asm ( targets * : sources * : properties * )
-{
-    setup-fpic $(targets) : $(sources) : $(properties) ;    
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-    LANG on $(<) = "-x assembler-with-cpp" ;
-}
-
-actions compile.asm
-{
-    "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-# The class which check that we don't try to use the <runtime-link>static
-# property while creating or using shared library, since it's not supported by
-# gcc/libc.
-class gcc-linking-generator : unix-linking-generator
-{
-    rule run ( project name ? : property-set : sources + )
-    {
-        # TODO: Replace this with the use of a target-os property.
-        local no-static-link = ;
-        if [ modules.peek : UNIX ]
-        {
-            switch [ modules.peek : JAMUNAME ]
-            {
-                case * : no-static-link = true ;
-            }
-        }
-
-        local properties = [ $(property-set).raw ] ;
-        local reason ;
-        if $(no-static-link) && <runtime-link>static in $(properties)
-        {
-            if <link>shared in $(properties)
-            {
-                reason =
-                    "On gcc, DLL can't be build with '<runtime-link>static'." ;
-            }
-            else if [ type.is-derived $(self.target-types[1]) EXE ]
-            {
-                for local s in $(sources)
-                {
-                    local type = [ $(s).type ] ;
-                    if $(type) &&  [ type.is-derived $(type) SHARED_LIB ]
-                    {
-                        reason =
-                            "On gcc, using DLLS together with the"
-                            "<runtime-link>static options is not possible " ;
-                    }
-                }
-            }
-        }
-        if $(reason)
-        {
-            ECHO warning:
-                $(reason) ;
-            ECHO warning:
-                "It is suggested to use '<runtime-link>static' together"
-                "with '<link>static'." ;
-            return ;
-        }
-        else
-        {
-            local generated-targets = [ unix-linking-generator.run $(project)
-                $(name) : $(property-set) : $(sources) ] ;
-            return $(generated-targets) ;
-        }
-    }
-}
-
-# The set of permissible input types is different on mingw.
-# So, define two sets of generators, with mingw generators
-# selected when target-os=windows.
-
-local g ;
-g = [ new gcc-linking-generator gcc.mingw.link
-      : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
-      : EXE
-      : <toolset>gcc <target-os>windows ] ;
-$(g).set-rule-name gcc.link ;
-generators.register $(g) ;
-
-g = [ new gcc-linking-generator gcc.mingw.link.dll
-      : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
-      : IMPORT_LIB SHARED_LIB
-      : <toolset>gcc <target-os>windows ] ;
-$(g).set-rule-name gcc.link.dll ;
-generators.register $(g) ;
-
-generators.register
-  [ new gcc-linking-generator gcc.link
-      : LIB OBJ
-      : EXE
-      : <toolset>gcc ] ;
-generators.register
-  [ new gcc-linking-generator gcc.link.dll
-      : LIB OBJ
-      : SHARED_LIB
-      : <toolset>gcc ] ;
-
-generators.override gcc.mingw.link : gcc.link ;
-generators.override gcc.mingw.link.dll : gcc.link.dll ;
-
-# Cygwin is similar to msvc and mingw in that it uses import libraries.
-# While in simple cases, it can directly link to a shared library,
-# it is believed to be slower, and not always possible. Define cygwin-specific
-# generators here.
-
-g = [ new gcc-linking-generator gcc.cygwin.link
-      : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
-      : EXE
-      : <toolset>gcc <target-os>cygwin ] ;
-$(g).set-rule-name gcc.link ;
-generators.register $(g) ;
-
-g = [ new gcc-linking-generator gcc.cygwin.link.dll
-      : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB
-      : IMPORT_LIB SHARED_LIB
-      : <toolset>gcc <target-os>cygwin ] ;
-$(g).set-rule-name gcc.link.dll ;
-generators.register $(g) ;
-
-generators.override gcc.cygwin.link : gcc.link ;
-generators.override gcc.cygwin.link.dll : gcc.link.dll ;
-
-# Declare flags for linking.
-# First, the common flags.
-toolset.flags gcc.link OPTIONS <debug-symbols>on : -g ;
-toolset.flags gcc.link OPTIONS <profiling>on : -pg ;
-toolset.flags gcc.link USER_OPTIONS <linkflags> ;
-toolset.flags gcc.link LINKPATH <library-path> ;
-toolset.flags gcc.link FINDLIBS-ST <find-static-library> ;
-toolset.flags gcc.link FINDLIBS-SA <find-shared-library> ;
-toolset.flags gcc.link LIBRARIES <library-file> ;
-
-toolset.flags gcc.link.dll .IMPLIB-COMMAND <target-os>windows : "-Wl,--out-implib," ;
-toolset.flags gcc.link.dll .IMPLIB-COMMAND <target-os>cygwin : "-Wl,--out-implib," ;
-
-# For <runtime-link>static we made sure there are no dynamic libraries in the
-# link. On HP-UX not all system libraries exist as archived libraries (for
-# example, there is no libunwind.a), so, on this platform, the -static option
-# cannot be specified.
-if [ os.name ] != HPUX
-{
-    toolset.flags gcc.link OPTIONS <runtime-link>static : -static ;
-}
-
-# Now, the vendor specific flags.
-# The parameter linker can be either aix, darwin, gnu, hpux, osf or sun.
-rule init-link-flags ( toolset linker condition )
-{
-    switch $(linker)
-    {
-    case aix :
-        {
-        #
-        # On AIX we *have* to use the native linker.
-        #
-        # Using -brtl, the AIX linker will look for libraries with both the .a
-        # and .so extensions, such as libfoo.a and libfoo.so. Without -brtl, the
-        # AIX linker looks only for libfoo.a. Note that libfoo.a is an archived
-        # file that may contain shared objects and is different from static libs
-        # as on Linux.
-        #
-        # The -bnoipath strips the prepending (relative) path of libraries from
-        # the loader section in the target library or executable. Hence, during
-        # load-time LIBPATH (identical to LD_LIBRARY_PATH) or a hard-coded
-        # -blibpath (*similar* to -lrpath/-lrpath-link) is searched. Without
-        # this option, the prepending (relative) path + library name is
-        # hard-coded in the loader section, causing *only* this path to be
-        # searched during load-time. Note that the AIX linker does not have an
-        # -soname equivalent, this is as close as it gets.
-        #
-        # The above options are definately for AIX 5.x, and most likely also for
-        # AIX 4.x and AIX 6.x. For details about the AIX linker see:
-        # http://download.boulder.ibm.com/ibmdl/pub/software/dw/aix/es-aix_ll.pdf
-        #
-
-        toolset.flags $(toolset).link OPTIONS : -Wl,-brtl -Wl,-bnoipath
-            : unchecked ;
-        }
-
-    case darwin :
-        {
-        # On Darwin, the -s option to ld does not work unless we pass -static,
-        # and passing -static unconditionally is a bad idea. So, don't pass -s.
-        # at all, darwin.jam will use separate 'strip' invocation.
-        toolset.flags $(toolset).link RPATH $(condition) : <dll-path> : unchecked ;
-        toolset.flags $(toolset).link RPATH_LINK $(condition) : <xdll-path> : unchecked ;
-        }
-
-    case gnu :
-        {
-        # Strip the binary when no debugging is needed. We use --strip-all flag
-        # as opposed to -s since icc (intel's compiler) is generally
-        # option-compatible with and inherits from the gcc toolset, but does not
-        # support -s.
-        toolset.flags $(toolset).link OPTIONS     $(condition)/<strip>on          : -Wl,--strip-all   : unchecked ;
-        toolset.flags $(toolset).link RPATH       $(condition)                    : <dll-path>        : unchecked ;
-        toolset.flags $(toolset).link RPATH_LINK  $(condition)                    : <xdll-path>       : unchecked ;
-        toolset.flags $(toolset).link START-GROUP $(condition)                    : -Wl,--start-group : unchecked ;
-        toolset.flags $(toolset).link END-GROUP   $(condition)                    : -Wl,--end-group   : unchecked ;
-
-        # gnu ld has the ability to change the search behaviour for libraries
-        # referenced by -l switch. These modifiers are -Bstatic and -Bdynamic
-        # and change search for -l switches that follow them. The following list
-        # shows the tried variants.
-        # The search stops at the first variant that has a match.
-        # *nix: -Bstatic -lxxx
-        #    libxxx.a
-        #
-        # *nix: -Bdynamic -lxxx
-        #    libxxx.so
-        #    libxxx.a
-        #
-        # windows (mingw,cygwin) -Bstatic -lxxx
-        #    libxxx.a
-        #    xxx.lib
-        #
-        # windows (mingw,cygwin) -Bdynamic -lxxx
-        #    libxxx.dll.a
-        #    xxx.dll.a
-        #    libxxx.a
-        #    xxx.lib
-        #    cygxxx.dll (*)
-        #    libxxx.dll
-        #    xxx.dll
-        #    libxxx.a
-        #
-        # (*) This is for cygwin
-        # Please note that -Bstatic and -Bdynamic are not a guarantee that a
-        # static or dynamic lib indeed gets linked in. The switches only change
-        # search patterns!
-
-        # On *nix mixing shared libs with static runtime is not a good idea.
-        toolset.flags $(toolset).link FINDLIBS-ST-PFX $(condition)/<runtime-link>shared
-            : -Wl,-Bstatic : unchecked ;
-        toolset.flags $(toolset).link FINDLIBS-SA-PFX $(condition)/<runtime-link>shared
-            : -Wl,-Bdynamic : unchecked ;
-
-        # On windows allow mixing of static and dynamic libs with static
-        # runtime.
-        toolset.flags $(toolset).link FINDLIBS-ST-PFX $(condition)/<runtime-link>static/<target-os>windows
-            : -Wl,-Bstatic : unchecked ;
-        toolset.flags $(toolset).link FINDLIBS-SA-PFX $(condition)/<runtime-link>static/<target-os>windows
-            : -Wl,-Bdynamic : unchecked ;
-        toolset.flags $(toolset).link OPTIONS $(condition)/<runtime-link>static/<target-os>windows
-            : -Wl,-Bstatic : unchecked ;
-        }
-
-    case hpux :
-        {
-        toolset.flags $(toolset).link OPTIONS $(condition)/<strip>on
-            : -Wl,-s : unchecked ;
-        toolset.flags $(toolset).link OPTIONS $(condition)/<link>shared
-            : -fPIC : unchecked ;
-        }
-
-    case osf :
-        {
-        # No --strip-all, just -s.
-        toolset.flags $(toolset).link OPTIONS $(condition)/<strip>on
-            : -Wl,-s : unchecked ;
-        toolset.flags $(toolset).link RPATH $(condition) : <dll-path>
-            : unchecked ;
-        # This does not supports -R.
-        toolset.flags $(toolset).link RPATH_OPTION $(condition) : -rpath
-            : unchecked ;
-        # -rpath-link is not supported at all.
-        }
-
-    case sun :
-        {
-        toolset.flags $(toolset).link OPTIONS $(condition)/<strip>on
-            : -Wl,-s : unchecked ;
-        toolset.flags $(toolset).link RPATH $(condition) : <dll-path>
-            : unchecked ;
-        # Solaris linker does not have a separate -rpath-link, but allows to use
-        # -L for the same purpose.
-        toolset.flags $(toolset).link LINKPATH $(condition) : <xdll-path>
-            : unchecked ;
-
-        # This permits shared libraries with non-PIC code on Solaris.
-        # VP, 2004/09/07: Now that we have -fPIC hardcode in link.dll, the
-        # following is not needed. Whether -fPIC should be hardcoded, is a
-        # separate question.
-        # AH, 2004/10/16: it is still necessary because some tests link against
-        # static libraries that were compiled without PIC.
-        toolset.flags $(toolset).link OPTIONS $(condition)/<link>shared
-            : -mimpure-text : unchecked ;
-        }
-
-    case * :
-        {
-        errors.user-error
-            "$(toolset) initialization: invalid linker '$(linker)'" :
-            "The value '$(linker)' specified for <linker> is not recognized." :
-            "Possible values are 'aix', 'darwin', 'gnu', 'hpux', 'osf' or 'sun'" ;
-        }
-    }
-}
-
-# Enclose the RPATH variable on 'targets' in (double) quotes,
-# unless it's already enclosed in single quotes.
-# This special casing is done because it's common to pass
-# '$ORIGIN' to linker -- and it has to have single quotes
-# to prevent expansion by shell -- and if we add double
-# quotes then preventing properties of single quotes disappear.
-rule quote-rpath ( targets * )
-{
-    local r = [ on $(targets[1]) return $(RPATH) ] ;
-    if ! [ MATCH "('.*')" : $(r) ] 
-    {
-        r = "\"$(r)\"" ;
-    }
-    RPATH on $(targets) = $(r) ;
-}
-
-# Declare actions for linking.
-rule link ( targets * : sources * : properties * )
-{
-    setup-threading $(targets) : $(sources) : $(properties) ;
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-    SPACE on $(targets) = " " ;
-    # Serialize execution of the 'link' action, since running N links in
-    # parallel is just slower. For now, serialize only gcc links, it might be a
-    # good idea to serialize all links.
-    JAM_SEMAPHORE on $(targets) = <s>gcc-link-semaphore ;
-    quote-rpath $(targets) ;
-}
-
-actions link bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,$(RPATH) -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
-
-}
-
-# Default value. Mostly for the sake of intel-linux that inherits from gcc, but
-# does not have the same logic to set the .AR variable. We can put the same
-# logic in intel-linux, but that's hardly worth the trouble as on Linux, 'ar' is
-# always available.
-.AR = ar ;
-.RANLIB = ranlib ;
-
-toolset.flags gcc.archive AROPTIONS <archiveflags> ;
-
-rule archive ( targets * : sources * : properties * )
-{
-    # Always remove archive and start again. Here is the rationale from
-    #
-    # Andre Hentz:
-    #
-    # I had a file, say a1.c, that was included into liba.a. I moved a1.c to
-    # a2.c, updated my Jamfiles and rebuilt. My program was crashing with absurd
-    # errors. After some debugging I traced it back to the fact that a1.o was
-    # *still* in liba.a
-    #
-    # Rene Rivera:
-    #
-    # Originally removing the archive was done by splicing an RM onto the
-    # archive action. That makes archives fail to build on NT when they have
-    # many files because it will no longer execute the action directly and blow
-    # the line length limit. Instead we remove the file in a different action,
-    # just before building the archive.
-    #
-    local clean.a = $(targets[1])(clean) ;
-    TEMPORARY $(clean.a) ;
-    NOCARE $(clean.a) ;
-    LOCATE on $(clean.a) = [ on $(targets[1]) return $(LOCATE) ] ;
-    DEPENDS $(clean.a) : $(sources) ;
-    DEPENDS $(targets) : $(clean.a) ;
-    common.RmTemps $(clean.a) : $(targets) ;
-}
-
-# Declare action for creating static libraries.
-# The letter 'r' means to add files to the archive with replacement. Since we
-# remove archive, we don't care about replacement, but there's no option "add
-# without replacement".
-# The letter 'c' suppresses the warning in case the archive does not exists yet.
-# That warning is produced only on some platforms, for whatever reasons.
-actions piecemeal archive
-{
-    "$(.AR)" $(AROPTIONS) rc "$(<)" "$(>)"
-    "$(.RANLIB)" "$(<)"
-}
-
-rule link.dll ( targets * : sources * : properties * )
-{
-    setup-threading $(targets) : $(sources) : $(properties) ;
-    setup-address-model $(targets) : $(sources) : $(properties) ;
-    SPACE on $(targets) = " " ;
-    JAM_SEMAPHORE on $(targets) = <s>gcc-link-semaphore ;
-    quote-rpath $(targets) ;
-}
-
-# Differs from 'link' above only by -shared.
-actions link.dll bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,$(RPATH) "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
-}
-
-rule setup-threading ( targets * : sources * : properties * )
-{
-    local threading = [ feature.get-values threading : $(properties) ] ;
-    if $(threading) = multi
-    {        
-        local target = [ feature.get-values target-os : $(properties) ] ;
-        local option ;
-        local libs ;
-        
-        switch $(target)
-        {
-            case windows :
-            {
-                option = -mthreads ;
-            }
-            case cygwin :
-            {
-                option = -mthreads ;
-            }
-            case solaris :
-            {
-                option = -pthreads ;
-                libs = rt ;
-            }
-            case beos :
-            {            
-                # BeOS has no threading options, so do not set anything here.
-            }        
-            case *bsd :
-            {
-                option = -pthread ;
-                # There is no -lrt on BSD.
-            }
-            case sgi :
-            {
-                # gcc on IRIX does not support multi-threading so do not set anything
-                # here.
-            }
-            case darwin :
-            {
-                # Darwin has no threading options so do not set anything here.
-            }
-            case * :
-            {
-                option = -pthread ;
-                libs = rt ;
-            }
-        }
-    
-        if $(option)
-        {
-            OPTIONS on $(targets) += $(option) ;
-        }
-        if $(libs)
-        {
-            FINDLIBS-SA on $(targets) += $(libs) ;
-        }
-    }    
-}
-
-local rule cpu-flags ( toolset variable : architecture : instruction-set + : values + : default ? )
-{
-    if $(default)
-    {
-        toolset.flags $(toolset) $(variable)
-            <architecture>$(architecture)/<instruction-set>
-            : $(values) ;
-    }
-    toolset.flags $(toolset) $(variable)
-        <architecture>/<instruction-set>$(instruction-set)
-        <architecture>$(architecture)/<instruction-set>$(instruction-set)
-        : $(values) ;
-}
-
-# Set architecture/instruction-set options.
-#
-# x86 and compatible
-# The 'native' option appeared in gcc 4.2 so we cannot safely use it
-# as default. Use conservative i386 instead.
-cpu-flags gcc OPTIONS : x86 : native : -march=native ;
-cpu-flags gcc OPTIONS : x86 : i386 : -march=i386 : default ;
-cpu-flags gcc OPTIONS : x86 : i486 : -march=i486 ;
-cpu-flags gcc OPTIONS : x86 : i586 : -march=i586 ;
-cpu-flags gcc OPTIONS : x86 : i686 : -march=i686 ;
-cpu-flags gcc OPTIONS : x86 : pentium : -march=pentium ;
-cpu-flags gcc OPTIONS : x86 : pentium-mmx : -march=pentium-mmx ;
-cpu-flags gcc OPTIONS : x86 : pentiumpro : -march=pentiumpro ;
-cpu-flags gcc OPTIONS : x86 : pentium2 : -march=pentium2 ;
-cpu-flags gcc OPTIONS : x86 : pentium3 : -march=pentium3 ;
-cpu-flags gcc OPTIONS : x86 : pentium3m : -march=pentium3m ;
-cpu-flags gcc OPTIONS : x86 : pentium-m : -march=pentium-m ;
-cpu-flags gcc OPTIONS : x86 : pentium4 : -march=pentium4 ;
-cpu-flags gcc OPTIONS : x86 : pentium4m : -march=pentium4m ;
-cpu-flags gcc OPTIONS : x86 : prescott : -march=prescott ;
-cpu-flags gcc OPTIONS : x86 : nocona : -march=nocona ;
-cpu-flags gcc OPTIONS : x86 : core2 : -march=core2 ;
-cpu-flags gcc OPTIONS : x86 : k6 : -march=k6 ;
-cpu-flags gcc OPTIONS : x86 : k6-2 : -march=k6-2 ;
-cpu-flags gcc OPTIONS : x86 : k6-3 : -march=k6-3 ;
-cpu-flags gcc OPTIONS : x86 : athlon : -march=athlon ;
-cpu-flags gcc OPTIONS : x86 : athlon-tbird : -march=athlon-tbird ;
-cpu-flags gcc OPTIONS : x86 : athlon-4 : -march=athlon-4 ;
-cpu-flags gcc OPTIONS : x86 : athlon-xp : -march=athlon-xp ;
-cpu-flags gcc OPTIONS : x86 : athlon-mp : -march=athlon-mp ;
-##
-cpu-flags gcc OPTIONS : x86 : k8 : -march=k8 ;
-cpu-flags gcc OPTIONS : x86 : opteron : -march=opteron ;
-cpu-flags gcc OPTIONS : x86 : athlon64 : -march=athlon64 ;
-cpu-flags gcc OPTIONS : x86 : athlon-fx : -march=athlon-fx ;
-cpu-flags gcc OPTIONS : x86 : winchip-c6 : -march=winchip-c6 ;
-cpu-flags gcc OPTIONS : x86 : winchip2 : -march=winchip2 ;
-cpu-flags gcc OPTIONS : x86 : c3 : -march=c3 ;
-cpu-flags gcc OPTIONS : x86 : c3-2 : -march=c3-2 ;
-# Sparc
-cpu-flags gcc OPTIONS : sparc : c3 : -mcpu=c3 : default ;
-cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 ;
-cpu-flags gcc OPTIONS : sparc : cypress : -mcpu=cypress ;
-cpu-flags gcc OPTIONS : sparc : v8 : -mcpu=v8 ;
-cpu-flags gcc OPTIONS : sparc : supersparc : -mcpu=supersparc ;
-cpu-flags gcc OPTIONS : sparc : sparclite : -mcpu=sparclite ;
-cpu-flags gcc OPTIONS : sparc : hypersparc : -mcpu=hypersparc ;
-cpu-flags gcc OPTIONS : sparc : sparclite86x : -mcpu=sparclite86x ;
-cpu-flags gcc OPTIONS : sparc : f930 : -mcpu=f930 ;
-cpu-flags gcc OPTIONS : sparc : f934 : -mcpu=f934 ;
-cpu-flags gcc OPTIONS : sparc : sparclet : -mcpu=sparclet ;
-cpu-flags gcc OPTIONS : sparc : tsc701 : -mcpu=tsc701 ;
-cpu-flags gcc OPTIONS : sparc : v9 : -mcpu=v9 ;
-cpu-flags gcc OPTIONS : sparc : ultrasparc : -mcpu=ultrasparc ;
-cpu-flags gcc OPTIONS : sparc : ultrasparc3 : -mcpu=ultrasparc3 ;
-# RS/6000 & PowerPC
-cpu-flags gcc OPTIONS : power : 403 : -mcpu=403 ;
-cpu-flags gcc OPTIONS : power : 505 : -mcpu=505 ;
-cpu-flags gcc OPTIONS : power : 601 : -mcpu=601 ;
-cpu-flags gcc OPTIONS : power : 602 : -mcpu=602 ;
-cpu-flags gcc OPTIONS : power : 603 : -mcpu=603 ;
-cpu-flags gcc OPTIONS : power : 603e : -mcpu=603e ;
-cpu-flags gcc OPTIONS : power : 604 : -mcpu=604 ;
-cpu-flags gcc OPTIONS : power : 604e : -mcpu=604e ;
-cpu-flags gcc OPTIONS : power : 620 : -mcpu=620 ;
-cpu-flags gcc OPTIONS : power : 630 : -mcpu=630 ;
-cpu-flags gcc OPTIONS : power : 740 : -mcpu=740 ;
-cpu-flags gcc OPTIONS : power : 7400 : -mcpu=7400 ;
-cpu-flags gcc OPTIONS : power : 7450 : -mcpu=7450 ;
-cpu-flags gcc OPTIONS : power : 750 : -mcpu=750 ;
-cpu-flags gcc OPTIONS : power : 801 : -mcpu=801 ;
-cpu-flags gcc OPTIONS : power : 821 : -mcpu=821 ;
-cpu-flags gcc OPTIONS : power : 823 : -mcpu=823 ;
-cpu-flags gcc OPTIONS : power : 860 : -mcpu=860 ;
-cpu-flags gcc OPTIONS : power : 970 : -mcpu=970 ;
-cpu-flags gcc OPTIONS : power : 8540 : -mcpu=8540 ;
-cpu-flags gcc OPTIONS : power : power : -mcpu=power ;
-cpu-flags gcc OPTIONS : power : power2 : -mcpu=power2 ;
-cpu-flags gcc OPTIONS : power : power3 : -mcpu=power3 ;
-cpu-flags gcc OPTIONS : power : power4 : -mcpu=power4 ;
-cpu-flags gcc OPTIONS : power : power5 : -mcpu=power5 ;
-cpu-flags gcc OPTIONS : power : powerpc : -mcpu=powerpc ;
-cpu-flags gcc OPTIONS : power : powerpc64 : -mcpu=powerpc64 ;
-cpu-flags gcc OPTIONS : power : rios : -mcpu=rios ;
-cpu-flags gcc OPTIONS : power : rios1 : -mcpu=rios1 ;
-cpu-flags gcc OPTIONS : power : rios2 : -mcpu=rios2 ;
-cpu-flags gcc OPTIONS : power : rsc : -mcpu=rsc ;
-cpu-flags gcc OPTIONS : power : rs64a : -mcpu=rs64 ;
-# AIX variant of RS/6000 & PowerPC
-toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X 64" ;
diff --git a/SRC/Boost/tools/build/v2/tools/gcc.py b/SRC/Boost/tools/build/v2/tools/gcc.py
deleted file mode 100755
index 5aedcc4..0000000
--- a/SRC/Boost/tools/build/v2/tools/gcc.py
+++ /dev/null
@@ -1,796 +0,0 @@
-# Status: being ported by Steven Watanabe
-# Base revision: 47077
-# TODO: common.jam needs to be ported
-# TODO: generators.jam needs to have register_c_compiler.
-#
-# Copyright 2001 David Abrahams.
-# Copyright 2002-2006 Rene Rivera.
-# Copyright 2002-2003 Vladimir Prus.
-#  Copyright (c) 2005 Reece H. Dunn.
-# Copyright 2006 Ilya Sokolov.
-# Copyright 2007 Roland Schwarz
-# Copyright 2007 Boris Gubenko.
-# Copyright 2008 Steven Watanabe
-#
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-import os
-import subprocess
-import re
-
-import bjam
-
-from b2.tools import unix, common, rc, pch, builtin
-from b2.build import feature, type, toolset, generators
-from b2.util.utility import os_name, on_windows
-from b2.manager import get_manager
-from b2.build.generators import Generator
-from b2.build.toolset import flags
-from b2.util.utility import to_seq
-
-__debug = None
-
-def debug():
-    global __debug
-    if __debug is None:
-        __debug = "--debug-configuration" in bjam.variable("ARGV")        
-    return __debug
-
-feature.extend('toolset', ['gcc'])
-
-
-toolset.inherit_generators('gcc', [], 'unix', ['unix.link', 'unix.link.dll'])
-toolset.inherit_flags('gcc', 'unix')
-toolset.inherit_rules('gcc', 'unix')
-
-generators.override('gcc.prebuilt', 'builtin.prebuilt')
-generators.override('gcc.searched-lib-generator', 'searched-lib-generator')
-
-# Target naming is determined by types/lib.jam and the settings below this
-# comment.
-#
-# On *nix:
-#     libxxx.a     static library
-#     libxxx.so    shared library
-#
-# On windows (mingw):
-#     libxxx.lib   static library
-#     xxx.dll      DLL
-#     xxx.lib      import library
-#
-# On windows (cygwin) i.e. <target-os>cygwin
-#     libxxx.a     static library
-#     xxx.dll      DLL
-#     libxxx.dll.a import library
-#
-# Note: user can always override by using the <tag>@rule
-#       This settings have been choosen, so that mingw
-#       is in line with msvc naming conventions. For
-#       cygwin the cygwin naming convention has been choosen.
-
-# Make the "o" suffix used for gcc toolset on all
-# platforms
-type.set_generated_target_suffix('OBJ', ['<toolset>gcc'], 'o')
-type.set_generated_target_suffix('STATIC_LIB', ['<toolset>gcc', '<target-os>cygwin'], 'a')
-
-type.set_generated_target_suffix('IMPORT_LIB', ['<toolset>gcc', '<target-os>cygwin'], 'dll.a')
-type.set_generated_target_prefix('IMPORT_LIB', ['<toolset>gcc', '<target-os>cygwin'], 'lib')
-
-__machine_match = re.compile('^([^ ]+)')
-__version_match = re.compile('^([0-9.]+)')
-
-def init(version = None, command = None, options = None):
-    """
-        Initializes the gcc toolset for the given version. If necessary, command may
-        be used to specify where the compiler is located. The parameter 'options' is a
-        space-delimited list of options, each one specified as
-        <option-name>option-value. Valid option names are: cxxflags, linkflags and
-        linker-type. Accepted linker-type values are gnu, darwin, osf, hpux or sun
-        and the default value will be selected based on the current OS.
-        Example:
-          using gcc : 3.4 : : <cxxflags>foo <linkflags>bar <linker-type>sun ;
-    """
-
-    options = to_seq(options)
-    command = to_seq(command)
-
-    # Information about the gcc command...
-    #   The command.
-    command = to_seq(common.get_invocation_command('gcc', 'g++', command))
-    #   The root directory of the tool install.
-    root = feature.get_values('<root>', options) ;
-    #   The bin directory where to find the command to execute.
-    bin = None
-    #   The flavor of compiler.
-    flavor = feature.get_values('<flavor>', options)
-    #   Autodetect the root and bin dir if not given.
-    if command:
-        if not bin:
-            bin = common.get_absolute_tool_path(command[-1])
-        if not root:
-            root = os.path.dirname(bin)
-    #   Autodetect the version and flavor if not given.
-    if command:
-        machine_info = subprocess.Popen(command + ['-dumpmachine'], stdout=subprocess.PIPE).communicate()[0]
-        machine = __machine_match.search(machine_info).group(1)
-
-        version_info = subprocess.Popen(command + ['-dumpversion'], stdout=subprocess.PIPE).communicate()[0]
-        version = __version_match.search(version_info).group(1)
-        if not flavor and machine.find('mingw') != -1:
-            flavor = 'mingw'
-
-    condition = None
-    if flavor:
-        condition = common.check_init_parameters('gcc', None,
-            ('version', version),
-            ('flavor', flavor))
-    else:
-        condition = common.check_init_parameters('gcc', None,
-            ('version', version))
-
-    if command:
-        command = command[0]
-
-    common.handle_options('gcc', condition, command, options)
-
-    linker = feature.get_values('<linker-type>', options)
-    if not linker:
-        if os_name() == 'OSF':
-            linker = 'osf'
-        elif os_name() == 'HPUX':
-            linker = 'hpux' ;
-        else:
-            linker = 'gnu'
-
-    init_link_flags('gcc', linker, condition)
-
-    # If gcc is installed in non-standard location, we'd need to add
-    # LD_LIBRARY_PATH when running programs created with it (for unit-test/run
-    # rules).
-    if command:
-        # On multilib 64-bit boxes, there are both 32-bit and 64-bit libraries
-        # and all must be added to LD_LIBRARY_PATH. The linker will pick the
-        # right onces. Note that we don't provide a clean way to build 32-bit
-        # binary with 64-bit compiler, but user can always pass -m32 manually.
-        lib_path = [os.path.join(root, 'bin'),
-                    os.path.join(root, 'lib'),
-                    os.path.join(root, 'lib32'),
-                    os.path.join(root, 'lib64')]
-        if debug():
-            print 'notice: using gcc libraries ::', condition, '::', lib_path
-        toolset.flags('gcc.link', 'RUN_PATH', condition, lib_path)
-
-    # If it's not a system gcc install we should adjust the various programs as
-    # needed to prefer using the install specific versions. This is essential
-    # for correct use of MinGW and for cross-compiling.
-
-    # - The archive builder.
-    archiver = common.get_invocation_command('gcc',
-            'ar', feature.get_values('<archiver>', options), [bin], path_last=True)
-    toolset.flags('gcc.archive', '.AR', condition, [archiver])
-    if debug():
-        print 'notice: using gcc archiver ::', condition, '::', archiver
-
-    # - The resource compiler.
-    rc_command = common.get_invocation_command_nodefault('gcc',
-            'windres', feature.get_values('<rc>', options), [bin], path_last=True)
-    rc_type = feature.get_values('<rc-type>', options)
-
-    if not rc_type:
-        rc_type = 'windres'
-
-    if not rc_command:
-        # If we can't find an RC compiler we fallback to a null RC compiler that
-        # creates empty object files. This allows the same Jamfiles to work
-        # across the board. The null RC uses the assembler to create the empty
-        # objects, so configure that.
-        rc_command = common.get_invocation_command('gcc', 'as', [], [bin], path_last=True)
-        rc_type = 'null'
-    rc.configure(rc_command, condition, '<rc-type>' + rc_type)
-
-###if [ os.name ] = NT
-###{
-###    # This causes single-line command invocation to not go through .bat files,
-###    # thus avoiding command-line length limitations.
-###    JAMSHELL = % ;
-###}
-
-#FIXME: when register_c_compiler is moved to
-# generators, these should be updated
-builtin.register_c_compiler('gcc.compile.c++', ['CPP'], ['OBJ'], ['<toolset>gcc'])
-builtin.register_c_compiler('gcc.compile.c', ['C'], ['OBJ'], ['<toolset>gcc'])
-builtin.register_c_compiler('gcc.compile.asm', ['ASM'], ['OBJ'], ['<toolset>gcc'])
-
-# pch support
-
-# The compiler looks for a precompiled header in each directory just before it
-# looks for the include file in that directory. The name searched for is the
-# name specified in the #include directive with ".gch" suffix appended. The
-# logic in gcc-pch-generator will make sure that BASE_PCH suffix is appended to
-# full name of the header.
-
-type.set_generated_target_suffix('PCH', ['<toolset>gcc'], 'gch')
-
-# GCC-specific pch generator.
-class GccPchGenerator(pch.PchGenerator):
-
-    # Inherit the __init__ method
-
-    def run_pch(self, project, name, prop_set, sources):
-        # Find the header in sources. Ignore any CPP sources.
-        header = None
-        for s in sources:
-            if type.is_derived(s.type, 'H'):
-                header = s
-
-        # Error handling: Base header file name should be the same as the base
-        # precompiled header name.
-        header_name = header.name
-        header_basename = os.path.basename(header_name).rsplit('.', 1)[0]
-        if header_basename != name:
-            location = project.project_module
-            ###FIXME:
-            raise Exception()
-            ### errors.user-error "in" $(location)": pch target name `"$(name)"' should be the same as the base name of header file `"$(header-name)"'" ;
-
-        pch_file = Generator.run(self, project, name, prop_set, [header])
-
-        # return result of base class and pch-file property as usage-requirements
-        # FIXME: what about multiple results from generator.run?
-        return (property_set.create('<pch-file>' + pch_file[0], '<cflags>-Winvalid-pch'),
-                pch_file)
-
-    # Calls the base version specifying source's name as the name of the created
-    # target. As result, the PCH will be named whatever.hpp.gch, and not
-    # whatever.gch.
-    def generated_targets(self, sources, prop_set, project, name = None):
-        name = sources[0].name
-        return Generator.generated_targets(self, sources,
-            prop_set, project, name)
-
-# Note: the 'H' source type will catch both '.h' header and '.hpp' header. The
-# latter have HPP type, but HPP type is derived from H. The type of compilation
-# is determined entirely by the destination type.
-generators.register(GccPchGenerator('gcc.compile.c.pch', False, ['H'], ['C_PCH'], ['<pch>on', '<toolset>gcc' ]))
-generators.register(GccPchGenerator('gcc.compile.c++.pch', False, ['H'], ['CPP_PCH'], ['<pch>on', '<toolset>gcc' ]))
-
-# Override default do-nothing generators.
-generators.override('gcc.compile.c.pch', 'pch.default-c-pch-generator')
-generators.override('gcc.compile.c++.pch', 'pch.default-cpp-pch-generator')
-
-flags('gcc.compile', 'PCH_FILE', ['<pch>on'], ['<pch-file>'])
-
-# Declare flags and action for compilation
-flags('gcc.compile', 'OPTIONS', ['<optimization>off'], ['-O0'])
-flags('gcc.compile', 'OPTIONS', ['<optimization>speed'], ['-O3'])
-flags('gcc.compile', 'OPTIONS', ['<optimization>space'], ['-Os'])
-
-flags('gcc.compile', 'OPTIONS', ['<inlining>off'], ['-fno-inline'])
-flags('gcc.compile', 'OPTIONS', ['<inlining>on'], ['-Wno-inline'])
-flags('gcc.compile', 'OPTIONS', ['<inlining>full'], ['-finline-functions', '-Wno-inline'])
-
-flags('gcc.compile', 'OPTIONS', ['<warnings>off'], ['-w'])
-flags('gcc.compile', 'OPTIONS', ['<warnings>on'], ['-Wall'])
-flags('gcc.compile', 'OPTIONS', ['<warnings>all'], ['-Wall', '-pedantic'])
-flags('gcc.compile', 'OPTIONS', ['<warnings-as-errors>on'], ['-Werror'])
-
-flags('gcc.compile', 'OPTIONS', ['<debug-symbols>on'], ['-g'])
-flags('gcc.compile', 'OPTIONS', ['<profiling>on'], ['-pg'])
-flags('gcc.compile', 'OPTIONS', ['<rtti>off'], ['-fno-rtti'])
-
-# On cygwin and mingw, gcc generates position independent code by default, and
-# warns if -fPIC is specified. This might not be the right way of checking if
-# we're using cygwin. For example, it's possible to run cygwin gcc from NT
-# shell, or using crosscompiling. But we'll solve that problem when it's time.
-# In that case we'll just add another parameter to 'init' and move this login
-# inside 'init'.
-if not os_name () in ['CYGWIN', 'NT']:
-    # This logic will add -fPIC for all compilations:
-    #
-    # lib a : a.cpp b ;
-    # obj b : b.cpp ;
-    # exe c : c.cpp a d ;
-    # obj d : d.cpp ;
-    #
-    # This all is fine, except that 'd' will be compiled with -fPIC even though
-    # it's not needed, as 'd' is used only in exe. However, it's hard to detect
-    # where a target is going to be used. Alternative, we can set -fPIC only
-    # when main target type is LIB but than 'b' will be compiled without -fPIC.
-    # In x86-64 that will lead to link errors. So, compile everything with
-    # -fPIC.
-    #
-    # Yet another alternative would be to create propagated <sharedable>
-    # feature, and set it when building shared libraries, but that's hard to
-    # implement and will increase target path length even more.
-    flags('gcc.compile', 'OPTIONS', ['<link>shared'], ['-fPIC'])
-
-if os_name() != 'NT' and os_name() != 'OSF' and os_name() != 'HPUX':
-    # OSF does have an option called -soname but it doesn't seem to work as
-    # expected, therefore it has been disabled.
-    HAVE_SONAME   = ''
-    SONAME_OPTION = '-h'
-
-
-flags('gcc.compile', 'USER_OPTIONS', [], ['<cflags>'])
-flags('gcc.compile.c++', 'USER_OPTIONS',[], ['<cxxflags>'])
-flags('gcc.compile', 'DEFINES', [], ['<define>'])
-flags('gcc.compile', 'INCLUDES', [], ['<include>'])
-
-engine = get_manager().engine()
-
-engine.register_action('gcc.compile.c++.pch', 
-    '"$(CONFIG_COMMAND)" -x c++-header $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"')
-
-engine.register_action('gcc.compile.c.pch',
-    '"$(CONFIG_COMMAND)" -x c-header $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"')
-
-
-def gcc_compile_cpp(targets, sources, properties):
-    # Some extensions are compiled as C++ by default. For others, we need to
-    # pass -x c++. We could always pass -x c++ but distcc does not work with it.
-    extension = os.path.splitext (sources [0]) [1]
-    lang = ''
-    if not extension in ['.cc', '.cp', '.cxx', '.cpp', '.c++', '.C']:
-        lang = '-x c++'
-    get_manager().engine().set_target_variable (targets, 'LANG', lang)
-    engine.add_dependency(targets, bjam.call('get-target-variable', targets, 'PCH_FILE'))
-
-def gcc_compile_c(targets, sources, properties):
-    engine = get_manager().engine()
-    # If we use the name g++ then default file suffix -> language mapping does
-    # not work. So have to pass -x option. Maybe, we can work around this by
-    # allowing the user to specify both C and C++ compiler names.
-    #if $(>:S) != .c
-    #{
-    engine.set_target_variable (targets, 'LANG', '-x c')
-    #}
-    engine.add_dependency(targets, bjam.call('get-target-variable', targets, 'PCH_FILE'))
-    
-engine.register_action(
-    'gcc.compile.c++',
-    '"$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-128 $(OPTIONS) ' +
-        '$(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" ' +
-        '-c -o "$(<:W)" "$(>:W)"',
-    function=gcc_compile_cpp,
-    bound_list=['PCH_FILE'])
-
-engine.register_action(
-    'gcc.compile.c',
-    '"$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) ' +
-        '-I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<)" "$(>)"',
-    function=gcc_compile_c,
-    bound_list=['PCH_FILE'])
-
-def gcc_compile_asm(targets, sources, properties):
-    get_manager().engine().set_target_variable(targets, 'LANG', '-x assembler-with-cpp')
-
-engine.register_action(
-    'gcc.compile.asm',
-    '"$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"',
-    function=gcc_compile_asm)
-
-
-class GccLinkingGenerator(unix.UnixLinkingGenerator):
-    """
-        The class which check that we don't try to use the <runtime-link>static
-        property while creating or using shared library, since it's not supported by
-        gcc/libc.
-    """
-    def run(self, project, name, ps, sources):
-        # TODO: Replace this with the use of a target-os property.
-
-        no_static_link = False
-        if bjam.variable('UNIX'):
-            no_static_link = True;
-        ##FIXME: what does this mean?
-##        {
-##            switch [ modules.peek : JAMUNAME ]
-##            {
-##                case * : no-static-link = true ;
-##            }
-##        }
-
-        reason = None
-        if no_static_link and ps.get('runtime-link') == 'static':
-            if ps.get('link') == 'shared':
-                reason = "On gcc, DLL can't be build with '<runtime-link>static'."
-            elif type.is_derived(self.target_types[0], 'EXE'):
-                for s in sources:
-                    source_type = s.type()
-                    if source_type and type.is_derived(source_type, 'SHARED_LIB'):
-                        reason = "On gcc, using DLLS together with the " +\
-                                 "<runtime-link>static options is not possible "
-        if reason:
-            print 'warning:', reason
-            print 'warning:',\
-                "It is suggested to use '<runtime-link>static' together",\
-                "with '<link>static'." ;
-            return
-        else:
-            generated_targets = unix.UnixLinkingGenerator.run(self, project,
-                name, ps, sources)
-            return generated_targets
-
-if on_windows():
-    flags('gcc.link.dll', '.IMPLIB-COMMAND', [], ['-Wl,--out-implib,'])
-    generators.register(
-        GccLinkingGenerator('gcc.link', True,
-            ['OBJ', 'SEARCHED_LIB', 'STATIC_LIB', 'IMPORT_LIB'],
-            [ 'EXE' ],
-            [ '<toolset>gcc' ]))
-    generators.register(
-        GccLinkingGenerator('gcc.link.dll', True,
-            ['OBJ', 'SEARCHED_LIB', 'STATIC_LIB', 'IMPORT_LIB'],
-            ['IMPORT_LIB', 'SHARED_LIB'],
-            ['<toolset>gcc']))
-else:
-    generators.register(
-        GccLinkingGenerator('gcc.link', True,
-            ['LIB', 'OBJ'],
-            ['EXE'],
-            ['<toolset>gcc']))
-    generators.register(
-        GccLinkingGenerator('gcc.link.dll', True,
-            ['LIB', 'OBJ'],
-            ['SHARED_LIB'],
-            ['<toolset>gcc']))
-
-# Declare flags for linking.
-# First, the common flags.
-flags('gcc.link', 'OPTIONS', ['<debug-symbols>on'], ['-g'])
-flags('gcc.link', 'OPTIONS', ['<profiling>on'], ['-pg'])
-flags('gcc.link', 'USER_OPTIONS', [], ['<linkflags>'])
-flags('gcc.link', 'LINKPATH', [], ['<library-path>'])
-flags('gcc.link', 'FINDLIBS-ST', [], ['<find-static-library>'])
-flags('gcc.link', 'FINDLIBS-SA', [], ['<find-shared-library>'])
-flags('gcc.link', 'LIBRARIES', [], ['<library-file>'])
-
-# For <runtime-link>static we made sure there are no dynamic libraries in the
-# link. On HP-UX not all system libraries exist as archived libraries (for
-# example, there is no libunwind.a), so, on this platform, the -static option
-# cannot be specified.
-if os_name() != 'HPUX':
-    flags('gcc.link', 'OPTIONS', ['<runtime-link>static'], ['-static'])
-
-# Now, the vendor specific flags.
-# The parameter linker can be either gnu, darwin, osf, hpux or sun.
-def init_link_flags(toolset, linker, condition):
-    """
-        Now, the vendor specific flags.
-        The parameter linker can be either gnu, darwin, osf, hpux or sun.
-    """
-    toolset_link = toolset + '.link'
-    if linker == 'gnu':
-        # Strip the binary when no debugging is needed. We use --strip-all flag
-        # as opposed to -s since icc (intel's compiler) is generally
-        # option-compatible with and inherits from the gcc toolset, but does not
-        # support -s.
-
-        # FIXME: what does unchecked translate to?
-        flags(toolset_link, 'OPTIONS', map(lambda x: x + '/<debug-symbols>off', condition), ['-Wl,--strip-all'])  # : unchecked ;
-        flags(toolset_link, 'RPATH',       condition,                      ['<dll-path>'])       # : unchecked ;
-        flags(toolset_link, 'RPATH_LINK',  condition,                      ['<xdll-path>'])      # : unchecked ;
-        flags(toolset_link, 'START-GROUP', condition,                      ['-Wl,--start-group'])# : unchecked ;
-        flags(toolset_link, 'END-GROUP',   condition,                      ['-Wl,--end-group'])  # : unchecked ;
-
-        # gnu ld has the ability to change the search behaviour for libraries
-        # referenced by -l switch. These modifiers are -Bstatic and -Bdynamic
-        # and change search for -l switches that follow them. The following list
-        # shows the tried variants.
-        # The search stops at the first variant that has a match.
-        # *nix: -Bstatic -lxxx
-        #    libxxx.a
-        #
-        # *nix: -Bdynamic -lxxx
-        #    libxxx.so
-        #    libxxx.a
-        #
-        # windows (mingw,cygwin) -Bstatic -lxxx
-        #    libxxx.a
-        #    xxx.lib
-        #
-        # windows (mingw,cygwin) -Bdynamic -lxxx
-        #    libxxx.dll.a
-        #    xxx.dll.a
-        #    libxxx.a
-        #    xxx.lib
-        #    cygxxx.dll (*)
-        #    libxxx.dll
-        #    xxx.dll
-        #    libxxx.a
-        #
-        # (*) This is for cygwin
-        # Please note that -Bstatic and -Bdynamic are not a guarantee that a
-        # static or dynamic lib indeed gets linked in. The switches only change
-        # search patterns!
-
-        # On *nix mixing shared libs with static runtime is not a good idea.
-        flags(toolset_link, 'FINDLIBS-ST-PFX',
-              map(lambda x: x + '/<runtime-link>shared', condition),
-            ['-Wl,-Bstatic']) # : unchecked ;
-        flags(toolset_link, 'FINDLIBS-SA-PFX',
-              map(lambda x: x + '/<runtime-link>shared', condition),
-            ['-Wl,-Bdynamic']) # : unchecked ;
-
-        # On windows allow mixing of static and dynamic libs with static
-        # runtime.
-        flags(toolset_link, 'FINDLIBS-ST-PFX',
-              map(lambda x: x + '/<runtime-link>static/<target-os>windows', condition),
-              ['-Wl,-Bstatic']) # : unchecked ;
-        flags(toolset_link, 'FINDLIBS-SA-PFX',
-              map(lambda x: x + '/<runtime-link>static/<target-os>windows', condition),
-              ['-Wl,-Bdynamic']) # : unchecked ;
-        flags(toolset_link, 'OPTIONS',
-              map(lambda x: x + '/<runtime-link>static/<target-os>windows', condition),
-              ['-Wl,-Bstatic']) # : unchecked ;
-
-    elif linker == 'darwin':
-        # On Darwin, the -s option to ld does not work unless we pass -static,
-        # and passing -static unconditionally is a bad idea. So, don't pass -s.
-        # at all, darwin.jam will use separate 'strip' invocation.
-        flags(toolset_link, 'RPATH', condition, ['<dll-path>']) # : unchecked ;
-        flags(toolset_link, 'RPATH_LINK', condition, ['<xdll-path>']) # : unchecked ;
-
-    elif linker == 'osf':
-        # No --strip-all, just -s.
-        flags(toolset_link, 'OPTIONS', map(lambda x: x + '/<debug-symbols>off', condition), ['-Wl,-s'])
-            # : unchecked ;
-        flags(toolset_link, 'RPATH', condition, ['<dll-path>']) # : unchecked ;
-        # This does not supports -R.
-        flags(toolset_link, 'RPATH_OPTION', condition, ['-rpath']) # : unchecked ;
-        # -rpath-link is not supported at all.
-
-    elif linker == 'sun':
-        flags(toolset_link, 'OPTIONS', map(lambda x: x + '/<debug-symbols>off', condition), ['-Wl,-s'])
-            # : unchecked ;
-        flags(toolset_link, 'RPATH', condition, ['<dll-path>']) # : unchecked ;
-        # Solaris linker does not have a separate -rpath-link, but allows to use
-        # -L for the same purpose.
-        flags(toolset_link, 'LINKPATH', condition, ['<xdll-path>']) # : unchecked ;
-
-        # This permits shared libraries with non-PIC code on Solaris.
-        # VP, 2004/09/07: Now that we have -fPIC hardcode in link.dll, the
-        # following is not needed. Whether -fPIC should be hardcoded, is a
-        # separate question.
-        # AH, 2004/10/16: it is still necessary because some tests link against
-        # static libraries that were compiled without PIC.
-        flags(toolset_link, 'OPTIONS', map(lambda x: x + '/<link>shared', condition), ['-mimpure-text'])
-            # : unchecked ;
-
-    elif linker == 'hpux':
-        flags(toolset_link, 'OPTIONS', map(lambda x: x + '/<debug-symbols>off', condition),
-            ['-Wl,-s']) # : unchecked ;
-        flags(toolset_link, 'OPTIONS', map(lambda x: x + '/<link>shared', condition),
-            ['-fPIC']) # : unchecked ;
-
-    else:
-        # FIXME:
-        errors.user_error(
-        "$(toolset) initialization: invalid linker '$(linker)' " +
-        "The value '$(linker)' specified for <linker> is not recognized. " +
-        "Possible values are 'gnu', 'darwin', 'osf', 'hpux' or 'sun'")
-
-# Declare actions for linking.
-def gcc_link(targets, sources, properties):
-    engine = get_manager().engine()
-    engine.set_target_variable(targets, 'SPACE', ' ')
-    # Serialize execution of the 'link' action, since running N links in
-    # parallel is just slower. For now, serialize only gcc links, it might be a
-    # good idea to serialize all links.
-    engine.set_target_variable(targets, 'JAM_SEMAPHORE', '<s>gcc-link-semaphore')
-
-engine.register_action(
-    'gcc.link',
-    '"$(CONFIG_COMMAND)" -L"$(LINKPATH)" ' +
-        '-Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" ' +
-        '-Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" ' +
-        '$(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) ' +
-        '-l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) ' +
-        '$(OPTIONS) $(USER_OPTIONS)',
-    function=gcc_link,
-    bound_list=['LIBRARIES'])
-
-# Default value. Mostly for the sake of intel-linux that inherits from gcc, but
-# does not have the same logic to set the .AR variable. We can put the same
-# logic in intel-linux, but that's hardly worth the trouble as on Linux, 'ar' is
-# always available.
-__AR = 'ar'
-
-flags('gcc.archive', 'AROPTIONS', [], ['<archiveflags>'])
-
-def gcc_archive(targets, sources, properties):
-    # Always remove archive and start again. Here's rationale from
-    #
-    # Andre Hentz:
-    #
-    # I had a file, say a1.c, that was included into liba.a. I moved a1.c to
-    # a2.c, updated my Jamfiles and rebuilt. My program was crashing with absurd
-    # errors. After some debugging I traced it back to the fact that a1.o was
-    # *still* in liba.a
-    #
-    # Rene Rivera:
-    #
-    # Originally removing the archive was done by splicing an RM onto the
-    # archive action. That makes archives fail to build on NT when they have
-    # many files because it will no longer execute the action directly and blow
-    # the line length limit. Instead we remove the file in a different action,
-    # just before building the archive.
-    clean = targets[0] + '(clean)'
-    bjam.call('TEMPORARY', clean)
-    bjam.call('NOCARE', clean)
-    engine = get_manager().engine()
-    engine.set_target_variable('LOCATE', clean, bjam.call('get-target-variable', targets, 'LOCATE'))
-    engine.add_dependency(clean, sources)
-    engine.add_dependency(targets, clean)
-    engine.set_update_action('common.RmTemps', clean, targets)
-
-# Declare action for creating static libraries.
-# The letter 'r' means to add files to the archive with replacement. Since we
-# remove archive, we don't care about replacement, but there's no option "add
-# without replacement".
-# The letter 'c' suppresses the warning in case the archive does not exists yet.
-# That warning is produced only on some platforms, for whatever reasons.
-engine.register_action('gcc.archive',
-                       '"$(.AR)" $(AROPTIONS) rc "$(<)" "$(>)"',
-                       function=gcc_archive,
-                       flags=['piecemeal'])
-
-def gcc_link_dll(targets, sources, properties):
-    engine = get_manager().engine()
-    engine.set_target_variable(targets, 'SPACE', ' ')
-    engine.set_target_variable(targets, 'JAM_SEMAPHORE', '<s>gcc-link-semaphore')
-    engine.set_target_variable(targets, "HAVE_SONAME", HAVE_SONAME)
-    engine.set_target_variable(targets, "SONAME_OPTION", SONAME_OPTION)
-
-engine.register_action(
-    'gcc.link.dll',
-    # Differ from 'link' above only by -shared.
-    '"$(CONFIG_COMMAND)" -L"$(LINKPATH)" ' +
-        '-Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" ' +
-        '"$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" ' +
-        '$(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) ' +
-        '-shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) ' +
-        '-l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) ' +
-        '$(OPTIONS) $(USER_OPTIONS)',
-    function = gcc_link_dll,
-    bound_list=['LIBRARIES'])
-
-# Set up threading support. It's somewhat contrived, so perform it at the end,
-# to avoid cluttering other code.
-
-if on_windows():
-    flags('gcc', 'OPTIONS', ['<threading>multi'], ['-mthreads'])
-elif bjam.variable('UNIX'):
-    jamuname = bjam.variable('JAMUNAME')
-    host_os_name = jamuname[0]
-    if host_os_name.startswith('SunOS'):
-        flags('gcc', 'OPTIONS', ['<threading>multi'], ['-pthreads'])
-        flags('gcc', 'FINDLIBS-SA', [], ['rt'])
-    elif host_os_name == 'BeOS':
-        # BeOS has no threading options, don't set anything here.
-        pass
-    elif host_os_name.endswith('BSD'):
-        flags('gcc', 'OPTIONS', ['<threading>multi'], ['-pthread'])
-        # there is no -lrt on BSD
-    elif host_os_name == 'DragonFly':
-        flags('gcc', 'OPTIONS', ['<threading>multi'], ['-pthread'])
-        # there is no -lrt on BSD - DragonFly is a FreeBSD variant,
-        # which anoyingly doesn't say it's a *BSD.
-    elif host_os_name == 'IRIX':
-        # gcc on IRIX does not support multi-threading, don't set anything here.
-        pass
-    elif host_os_name == 'Darwin':
-        # Darwin has no threading options, don't set anything here.
-        pass
-    else:
-        flags('gcc', 'OPTIONS', ['<threading>multi'], ['-pthread'])
-        flags('gcc', 'FINDLIBS-SA', [], ['rt'])
-
-def cpu_flags(toolset, variable, architecture, instruction_set, values, default=None):
-    #FIXME: for some reason this fails.  Probably out of date feature code
-##    if default:
-##        flags(toolset, variable,
-##              ['<architecture>' + architecture + '/<instruction-set>'],
-##              values)
-    flags(toolset, variable,
-          #FIXME: same as above
-          [##'<architecture>/<instruction-set>' + instruction_set,
-           '<architecture>' + architecture + '/<instruction-set>' + instruction_set],
-          values)
-
-# Set architecture/instruction-set options.
-#
-# x86 and compatible
-flags('gcc', 'OPTIONS', ['<architecture>x86/<address-model>32'], ['-m32'])
-flags('gcc', 'OPTIONS', ['<architecture>x86/<address-model>64'], ['-m64'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'i386', ['-march=i386'], default=True)
-cpu_flags('gcc', 'OPTIONS', 'x86', 'i486', ['-march=i486'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'i586', ['-march=i586'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'i686', ['-march=i686'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium', ['-march=pentium'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium-mmx', ['-march=pentium-mmx'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentiumpro', ['-march=pentiumpro'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium2', ['-march=pentium2'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium3', ['-march=pentium3'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium3m', ['-march=pentium3m'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium-m', ['-march=pentium-m'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium4', ['-march=pentium4'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium4m', ['-march=pentium4m'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'prescott', ['-march=prescott'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'nocona', ['-march=nocona'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'k6', ['-march=k6'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'k6-2', ['-march=k6-2'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'k6-3', ['-march=k6-3'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon', ['-march=athlon'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-tbird', ['-march=athlon-tbird'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-4', ['-march=athlon-4'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-xp', ['-march=athlon-xp'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-mp', ['-march=athlon-mp'])
-##
-cpu_flags('gcc', 'OPTIONS', 'x86', 'k8', ['-march=k8'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'opteron', ['-march=opteron'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon64', ['-march=athlon64'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-fx', ['-march=athlon-fx'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'winchip-c6', ['-march=winchip-c6'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'winchip2', ['-march=winchip2'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'c3', ['-march=c3'])
-cpu_flags('gcc', 'OPTIONS', 'x86', 'c3-2', ['-march=c3-2'])
-# Sparc
-flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>32'], ['-m32'])
-flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>64'], ['-m64'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'c3', ['-mcpu=c3'], default=True)
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v7', ['-mcpu=v7'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'cypress', ['-mcpu=cypress'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v8', ['-mcpu=v8'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'supersparc', ['-mcpu=supersparc'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite', ['-mcpu=sparclite'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'hypersparc', ['-mcpu=hypersparc'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite86x', ['-mcpu=sparclite86x'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'f930', ['-mcpu=f930'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'f934', ['-mcpu=f934'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclet', ['-mcpu=sparclet'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'tsc701', ['-mcpu=tsc701'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v9', ['-mcpu=v9'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc', ['-mcpu=ultrasparc'])
-cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc3', ['-mcpu=ultrasparc3'])
-# RS/6000 & PowerPC
-flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>32'], ['-m32'])
-flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>64'], ['-m64'])
-cpu_flags('gcc', 'OPTIONS', 'power', '403', ['-mcpu=403'])
-cpu_flags('gcc', 'OPTIONS', 'power', '505', ['-mcpu=505'])
-cpu_flags('gcc', 'OPTIONS', 'power', '601', ['-mcpu=601'])
-cpu_flags('gcc', 'OPTIONS', 'power', '602', ['-mcpu=602'])
-cpu_flags('gcc', 'OPTIONS', 'power', '603', ['-mcpu=603'])
-cpu_flags('gcc', 'OPTIONS', 'power', '603e', ['-mcpu=603e'])
-cpu_flags('gcc', 'OPTIONS', 'power', '604', ['-mcpu=604'])
-cpu_flags('gcc', 'OPTIONS', 'power', '604e', ['-mcpu=604e'])
-cpu_flags('gcc', 'OPTIONS', 'power', '620', ['-mcpu=620'])
-cpu_flags('gcc', 'OPTIONS', 'power', '630', ['-mcpu=630'])
-cpu_flags('gcc', 'OPTIONS', 'power', '740', ['-mcpu=740'])
-cpu_flags('gcc', 'OPTIONS', 'power', '7400', ['-mcpu=7400'])
-cpu_flags('gcc', 'OPTIONS', 'power', '7450', ['-mcpu=7450'])
-cpu_flags('gcc', 'OPTIONS', 'power', '750', ['-mcpu=750'])
-cpu_flags('gcc', 'OPTIONS', 'power', '801', ['-mcpu=801'])
-cpu_flags('gcc', 'OPTIONS', 'power', '821', ['-mcpu=821'])
-cpu_flags('gcc', 'OPTIONS', 'power', '823', ['-mcpu=823'])
-cpu_flags('gcc', 'OPTIONS', 'power', '860', ['-mcpu=860'])
-cpu_flags('gcc', 'OPTIONS', 'power', '970', ['-mcpu=970'])
-cpu_flags('gcc', 'OPTIONS', 'power', '8540', ['-mcpu=8540'])
-cpu_flags('gcc', 'OPTIONS', 'power', 'power', ['-mcpu=power'])
-cpu_flags('gcc', 'OPTIONS', 'power', 'power2', ['-mcpu=power2'])
-cpu_flags('gcc', 'OPTIONS', 'power', 'power3', ['-mcpu=power3'])
-cpu_flags('gcc', 'OPTIONS', 'power', 'power4', ['-mcpu=power4'])
-cpu_flags('gcc', 'OPTIONS', 'power', 'power5', ['-mcpu=power5'])
-cpu_flags('gcc', 'OPTIONS', 'power', 'powerpc', ['-mcpu=powerpc'])
-cpu_flags('gcc', 'OPTIONS', 'power', 'powerpc64', ['-mcpu=powerpc64'])
-cpu_flags('gcc', 'OPTIONS', 'power', 'rios', ['-mcpu=rios'])
-cpu_flags('gcc', 'OPTIONS', 'power', 'rios1', ['-mcpu=rios1'])
-cpu_flags('gcc', 'OPTIONS', 'power', 'rios2', ['-mcpu=rios2'])
-cpu_flags('gcc', 'OPTIONS', 'power', 'rsc', ['-mcpu=rsc'])
-cpu_flags('gcc', 'OPTIONS', 'power', 'rs64a', ['-mcpu=rs64'])
-# AIX variant of RS/6000 & PowerPC
-flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>32/<target-os>aix'], ['-maix32'])
-flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>64/<target-os>aix'], ['-maix64'])
-flags('gcc', 'AROPTIONS', ['<architecture>power/<address-model>64/<target-os>aix'], ['-X 64'])
diff --git a/SRC/Boost/tools/build/v2/tools/generate.jam b/SRC/Boost/tools/build/v2/tools/generate.jam
deleted file mode 100755
index 35c7f7b..0000000
--- a/SRC/Boost/tools/build/v2/tools/generate.jam
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Declares main target 'generate' used to produce targets by calling a
-# user-provided rule that takes and produces virtual targets.
-
-import "class" : new ;
-import errors ;
-import feature ;
-import project ;
-import property ;
-import property-set ;
-import targets ;
-import regex ;
-
-
-feature.feature generating-rule : : free ;
-
-
-class generated-target-class : basic-target
-{
-    import errors ;
-    import indirect ;
-    import virtual-target ;
-
-    rule __init__ ( name : project : sources * : requirements *
-        : default-build * : usage-requirements * )
-    {
-        basic-target.__init__ $(name) : $(project) : $(sources)
-            : $(requirements) : $(default-build) : $(usage-requirements) ;
-
-        if ! [ $(self.requirements).get <generating-rule> ]
-        {
-            errors.user-error "The generate rule requires the <generating-rule>"
-                "property to be set" ;
-        }
-    }
-
-    rule construct ( name : sources * : property-set )
-    {
-        local result ;
-        local gr = [ $(property-set).get <generating-rule> ] ;
-
-        # FIXME: this is a copy-paste from virtual-target.jam. We should add a
-        # utility rule to call a rule like this.
-        local rule-name = [ MATCH ^@(.*) : $(gr) ] ;
-        if $(rule-name)
-        {
-            if $(gr[2])
-            {
-                local target-name = [ full-name ] ;
-                errors.user-error "Multiple <generating-rule> properties"
-                    "encountered for target $(target-name)." ;
-            }
-
-            result = [ indirect.call $(rule-name) $(self.project) $(name)
-                : $(property-set) : $(sources) ] ;
-
-            if ! $(result)
-            {
-                ECHO "warning: Unable to construct" [ full-name ] ;
-            }
-        }
-
-        local ur ;
-        local targets ;
-
-        if $(result)
-        {
-            if  [ class.is-a $(result[1]) : property-set ]
-            {
-                ur = $(result[1]) ;
-                targets = $(result[2-]) ;
-            }
-            else
-            {
-                ur = [ property-set.empty ] ;
-                targets = $(result) ;
-            }
-        }
-        # FIXME: the following loop should be doable using sequence.transform or
-        # some similar utility rule.
-        local rt ;
-        for local t in $(targets)
-        {
-            rt += [ virtual-target.register $(t) ] ;
-        }
-        return $(ur) $(rt) ;
-    }
-}
-
-
-rule generate ( name : sources * : requirements * : default-build *
-    : usage-requirements * )
-{
-    local project = [ project.current ] ;
-
-    targets.main-target-alternative
-        [ new generated-target-class $(name) : $(project)
-            : [ targets.main-target-sources $(sources) : $(name) ]
-            : [ targets.main-target-requirements $(requirements) : $(project) ]
-            : [ targets.main-target-default-build $(default-build) : $(project) ]
-            : [ targets.main-target-usage-requirements $(usage-requirements) : $(project) ]
-        ] ;
-}
-
-IMPORT $(__name__) : generate : : generate ;
diff --git a/SRC/Boost/tools/build/v2/tools/gettext.jam b/SRC/Boost/tools/build/v2/tools/gettext.jam
deleted file mode 100755
index bd65086..0000000
--- a/SRC/Boost/tools/build/v2/tools/gettext.jam
+++ /dev/null
@@ -1,230 +0,0 @@
-# Copyright 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-#  This module support GNU gettext internationalization utilities.
-#
-#  It provides two main target rules: 'gettext.catalog', used for
-#  creating machine-readable catalogs from translations files, and
-#  'gettext.update', used for update translation files from modified
-#  sources.
-#
-#  To add i18n support to your application you should follow these
-#  steps.
-#
-#  - Decide on a file name which will contain translations and
-#  what main target name will be used to update it. For example::
-#
-#    gettext.update update-russian : russian.po a.cpp my_app ;
-#
-#  - Create the initial translation file by running::
-#
-#    bjam update-russian
-#
-#  - Edit russian.po. For example, you might change fields like LastTranslator.
-#
-#  - Create a main target for final message catalog::
-#
-#    gettext.catalog russian : russian.po ;
-#
-#  The machine-readable catalog will be updated whenever you update
-#  "russian.po". The "russian.po" file will be updated only on explicit
-#  request. When you're ready to update translations, you should
-#
-#  - Run::
-#
-#    bjam update-russian
-#
-#  - Edit "russian.po" in appropriate editor.
-#
-#  The next bjam run will convert "russian.po" into machine-readable form.
-#
-#  By default, translations are marked by 'i18n' call. The 'gettext.keyword'
-#  feature can be used to alter this.
-
-
-import targets ;
-import property-set ;
-import virtual-target ;
-import "class" : new ;
-import project ;
-import type ;
-import generators ;
-import errors ;
-import feature : feature ;
-import toolset : flags ;
-import regex ;
-
-.path = "" ;
-
-# Initializes the gettext module.
-rule init ( path ? # Path where all tools are located. If not specified,
-                   # they should be in PATH.
-          )
-{
-    if $(.initialized) && $(.path) != $(path)
-    {
-        errors.error "Attempt to reconfigure with different path" ;
-    }
-    .initialized = true ;
-    if $(path)
-    {
-        .path = $(path)/ ;
-    }
-}
-
-# Creates a main target 'name', which, when updated, will cause
-# file 'existing-translation' to be updated with translations
-# extracted from 'sources'. It's possible to specify main target
-# in sources --- it which case all target from dependency graph
-# of those main targets will be scanned, provided they are of
-# appropricate type. The 'gettext.types' feature can be used to
-# control the types.
-#
-# The target will be updated only if explicitly requested on the
-# command line.
-rule update ( name : existing-translation sources + : requirements * )
-{
-    local project = [ project.current ] ;
-
-    targets.main-target-alternative
-      [ new typed-target $(name) : $(project) : gettext.UPDATE :
-        $(existing-translation) $(sources)
-        : [ targets.main-target-requirements $(requirements) : $(project) ]
-      ] ;
-    $(project).mark-target-as-explicit $(name) ;
-}
-
-
-# The human editable source, containing translation.
-type.register gettext.PO : po ;
-# The machine readable message catalog.
-type.register gettext.catalog : mo ;
-# Intermediate type produce by extracting translations from
-# sources.
-type.register gettext.POT : pot ;
-# Pseudo type used to invoke update-translations generator
-type.register gettext.UPDATE ;
-
-# Identifies the keyword that should be used when scanning sources.
-# Default: i18n
-feature gettext.keyword : : free ;
-# Contains space-separated list of sources types which should be scanned.
-# Default: "C CPP"
-feature gettext.types : : free ;
-
-generators.register-standard gettext.compile : gettext.PO : gettext.catalog ;
-
-class update-translations-generator : generator
-{
-    import regex : split ;
-    import property-set ;
-
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-
-    # The rule should be called with at least two sources. The first source
-    # is the translation (.po) file to update. The remaining sources are targets
-    # which should be scanned for new messages. All sources files for those targets
-    # will be found and passed to the 'xgettext' utility, which extracts the
-    # messages for localization. Those messages will be merged to the .po file.
-    rule run ( project name ? : property-set : sources * : multiple ? )
-    {
-        local types = [ $(property-set).get <gettext.types> ] ;
-        types ?= "C CPP" ;
-        types = [ regex.split $(types) " " ] ;
-
-        local keywords = [ $(property-set).get <gettext.keyword> ] ;
-        property-set = [ property-set.create $(keywords:G=<gettext.keyword>) ] ;
-
-        # First deterime the list of sources that must be scanned for
-        # messages.
-        local all-sources ;
-        # CONSIDER: I'm not sure if the logic should be the same as for 'stage':
-        # i.e. following dependency properties as well.
-        for local s in $(sources[2-])
-        {
-            all-sources += [ virtual-target.traverse $(s) : : include-sources ] ;
-        }
-        local right-sources ;
-        for local s in $(all-sources)
-        {
-            if [ $(s).type ] in $(types)
-            {
-                right-sources += $(s) ;
-            }
-        }
-
-        local .constructed ;
-        if $(right-sources)
-        {
-            # Create the POT file, which will contain list of messages extracted
-            # from the sources.
-            local extract =
-              [ new action $(right-sources) : gettext.extract : $(property-set) ] ;
-            local new-messages = [ new file-target $(name) : gettext.POT
-              : $(project) : $(extract) ] ;
-
-            # Create a notfile target which will update the existing translation file
-            # with new messages.
-            local a = [ new action $(sources[1]) $(new-messages)
-              : gettext.update-po-dispatch ] ;
-            local r = [ new notfile-target $(name) : $(project) : $(a) ] ;
-            .constructed = [ virtual-target.register $(r) ] ;
-        }
-        else
-        {
-            errors.error "No source could be scanned by gettext tools" ;
-        }
-        return $(.constructed) ;
-    }
-}
-generators.register [ new update-translations-generator gettext.update : : gettext.UPDATE ] ;
-
-flags gettext.extract KEYWORD <gettext.keyword> ;
-actions extract
-{
-    $(.path)xgettext -k$(KEYWORD:E=i18n) -o $(<) $(>)
-}
-
-# Does realy updating of po file. The tricky part is that
-# we're actually updating one of the sources:
-# $(<) is the NOTFILE target we're updating
-# $(>[1]) is the PO file to be really updated.
-# $(>[2]) is the PO file created from sources.
-#
-# When file to be updated does not exist (during the
-# first run), we need to copy the file created from sources.
-# In all other cases, we need to update the file.
-rule update-po-dispatch
-{
-    NOCARE $(>[1]) ;
-    gettext.create-po $(<) : $(>) ;
-    gettext.update-po $(<) : $(>) ;
-    _ on $(<) = " " ;
-    ok on $(<) = "" ;
-    EXISTING_PO on $(<) = $(>[1]) ;
-}
-
-# Due to fancy interaction of existing and updated, this rule can be called with
-# one source, in which case we copy the lonely source into EXISTING_PO, or with
-# two sources, in which case the action body expands to nothing. I'd really like
-# to have "missing" action modifier.
-actions quietly existing updated create-po bind EXISTING_PO
-{
-    cp$(_)"$(>[1])"$(_)"$(EXISTING_PO)"$($(>[2]:E=ok))
-}
-
-actions updated update-po bind EXISTING_PO
-{
-    $(.path)msgmerge$(_)-U$(_)"$(EXISTING_PO)"$(_)"$(>[1])"
-}
-
-actions gettext.compile
-{
-    $(.path)msgfmt -o $(<) $(>)
-}
-
-IMPORT $(__name__) : update : : gettext.update ;
diff --git a/SRC/Boost/tools/build/v2/tools/gfortran.jam b/SRC/Boost/tools/build/v2/tools/gfortran.jam
deleted file mode 100755
index 703c1be..0000000
--- a/SRC/Boost/tools/build/v2/tools/gfortran.jam
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (C) 2004 Toon Knapen
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-import toolset : flags ;
-import feature ;
-import fortran ;
-
-rule init ( version ? : command * : options * )
-{
-}
-
-# Declare flags and action for compilation
-flags gfortran OPTIONS <fflags> ;
-
-flags gfortran OPTIONS <optimization>off : -O0 ;
-flags gfortran OPTIONS <optimization>speed : -O3 ;
-flags gfortran OPTIONS <optimization>space : -Os ;
-
-flags gfortran OPTIONS <debug-symbols>on : -g ;
-flags gfortran OPTIONS <profiling>on : -pg ;
-
-flags gfortran OPTIONS <link>shared/<main-target-type>LIB : -fPIC ;
-
-flags gfortran DEFINES <define> ;
-flags gfortran INCLUDES <include> ;
-
-rule compile.fortran
-{
-}
-
-actions compile.fortran
-{
-  gcc -Wall $(OPTIONS) -D$(DEFINES) -I$(INCLUDES) -c -o "$(<)" "$(>)" 
-}
-
-generators.register-fortran-compiler gfortran.compile.fortran : FORTRAN FORTRAN90 : OBJ ; 
diff --git a/SRC/Boost/tools/build/v2/tools/hp_cxx.jam b/SRC/Boost/tools/build/v2/tools/hp_cxx.jam
deleted file mode 100755
index 718f7e1..0000000
--- a/SRC/Boost/tools/build/v2/tools/hp_cxx.jam
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 2001 David Abrahams.
-# Copyright 2004, 2005 Markus Schoepflin.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-#
-# HP CXX compiler
-# See http://h30097.www3.hp.com/cplus/?jumpid=reg_R1002_USEN
-#
-#
-# Notes on this toolset:
-#
-# - Because of very subtle issues with the default ansi mode, strict_ansi mode
-#   is used for compilation. One example of things that don't work correctly in
-#   the default ansi mode is overload resolution of function templates when
-#   mixed with non-template functions.
-#
-# - For template instantiation "-timplicit_local" is used. Previously,
-#   "-tlocal" has been tried to avoid the need for a template repository
-#   but this doesn't work with manually instantiated templates. "-tweak"
-#   has not been used to avoid the stream of warning messages issued by
-#   ar or ld when creating a library or linking an application.
-#
-# - Debug symbols are generated with "-g3", as this works both in debug and
-#   release mode. When compiling C++ code without optimization, we additionally
-#   use "-gall", which generates full symbol table information for all classes,
-#   structs, and unions. As this turns off optimization, it can't be used when
-#   optimization is needed.
-#
-
-import feature generators common ;
-import toolset : flags ;
-
-feature.extend toolset : hp_cxx ;
-feature.extend c++abi : cxxarm ;
-
-# Inherit from Unix toolset to get library ordering magic.
-toolset.inherit  hp_cxx : unix ;
-
-generators.override hp_cxx.prebuilt : builtin.lib-generator ;
-generators.override hp_cxx.prebuilt : builtin.prebuilt ;
-generators.override hp_cxx.searched-lib-generator : searched-lib-generator ;
-
-
-rule init ( version ? : command * : options * )
-{
-    local condition = [ common.check-init-parameters hp_cxx : version $(version) ] ;
-    
-    local command = [ common.get-invocation-command hp_cxx : cxx : $(command) ] ;
-    
-    if $(command)
-    {
-        local root = [ common.get-absolute-tool-path $(command[-1]) ] ;
-
-        if $(root)
-        {
-            flags hp_cxx .root $(condition) : "\"$(root)\"/" ;
-        }        
-    }      
-    # If we can't find 'cxx' anyway, at least show 'cxx' in the commands
-    command ?= cxx ;
-        
-    common.handle-options hp_cxx : $(condition) : $(command) : $(options) ;               
-}
-
-generators.register-c-compiler hp_cxx.compile.c++ : CPP : OBJ : <toolset>hp_cxx ;
-generators.register-c-compiler hp_cxx.compile.c : C : OBJ : <toolset>hp_cxx ;
-
-
-
-# No static linking as far as I can tell.
-# flags cxx LINKFLAGS <runtime-link>static : -bstatic ;
-flags hp_cxx.compile OPTIONS <debug-symbols>on : -g3 ;
-flags hp_cxx.compile OPTIONS <optimization>off/<debug-symbols>on : -gall ;
-flags hp_cxx.link OPTIONS <debug-symbols>on : -g ;
-flags hp_cxx.link OPTIONS <debug-symbols>off : -s ;
-
-flags hp_cxx.compile OPTIONS <optimization>off : -O0 ;
-flags hp_cxx.compile OPTIONS <optimization>speed/<inlining>on : -O2 ;
-flags hp_cxx.compile OPTIONS <optimization>speed : -O2 ;
-
-# This (undocumented) macro needs to be defined to get all C function
-# overloads required by the C++ standard.
-flags hp_cxx.compile.c++ OPTIONS : -D__CNAME_OVERLOADS ;
-
-# Added for threading support
-flags hp_cxx.compile OPTIONS <threading>multi : -pthread ;
-flags hp_cxx.link OPTIONS <threading>multi : -pthread ;
-
-flags hp_cxx.compile OPTIONS <optimization>space/<inlining>on : <inlining>size ;
-flags hp_cxx.compile OPTIONS <optimization>space : -O1 ;
-flags hp_cxx.compile OPTIONS <inlining>off : -inline none ;
-
-# The compiler versions tried (up to V6.5-040) hang when compiling Boost code
-# with full inlining enabled. So leave it at the default level for now.
-#
-# flags hp_cxx.compile OPTIONS <inlining>full : -inline all ;
-
-flags hp_cxx.compile OPTIONS <profiling>on : -pg ;
-flags hp_cxx.link OPTIONS <profiling>on : -pg ;
-
-# Selection of the object model. This flag is needed on both the C++ compiler
-# and linker command line.
-
-# Unspecified ABI translates to '-model ansi' as most
-# standard-conforming.
-flags hp_cxx.compile.c++ OPTIONS <c++abi> : -model ansi : : hack-hack ;
-flags hp_cxx.compile.c++ OPTIONS <c++abi>cxxarm : -model arm ;
-flags hp_cxx.link OPTIONS <c++abi> : -model ansi : : hack-hack ;
-flags hp_cxx.link OPTIONS <c++abi>cxxarm : -model arm ;
-
-# Display a descriptive tag together with each compiler message. This tag can
-# be used by the user to explicitely suppress the compiler message.
-flags hp_cxx.compile OPTIONS : -msg_display_tag ;
-
-flags hp_cxx.compile OPTIONS <cflags> ;
-flags hp_cxx.compile.c++ OPTIONS <cxxflags> ;
-flags hp_cxx.compile DEFINES <define> ;
-flags hp_cxx.compile INCLUDES <include> ;
-flags hp_cxx.link OPTIONS <linkflags> ;
-
-flags hp_cxx.link LIBPATH <library-path> ;
-flags hp_cxx.link LIBRARIES <library-file> ;
-flags hp_cxx.link FINDLIBS-ST <find-static-library> ;
-flags hp_cxx.link FINDLIBS-SA <find-shared-library> ;
-
-flags hp_cxx.compile.c++ TEMPLATE_DEPTH <c++-template-depth> ;
-
-actions link bind LIBRARIES
-{
-    $(CONFIG_COMMAND) -noimplicit_include $(OPTIONS) -o "$(<)" -L$(LIBPATH) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) -lrt -lm
-}
-
-# When creating dynamic libraries, we don't want to be warned about unresolved
-# symbols, therefore all unresolved symbols are marked as expected by
-# '-expect_unresolved *'. This also mirrors the behaviour of the GNU tool
-# chain.
-
-actions link.dll bind LIBRARIES
-{
-    $(CONFIG_COMMAND) -shared -expect_unresolved \* -noimplicit_include $(OPTIONS) -o "$(<[1])" -L$(LIBPATH)  "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) -lm
-}
-
-
-# Note: Relaxed ANSI mode (-std) is used for compilation because in strict ANSI
-# C89 mode (-std1) the compiler doesn't accept C++ comments in C files. As -std
-# is the default, no special flag is needed.
-actions compile.c
-{
-    $(.root:E=)cc -c $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -o "$(<)" "$(>)"
-}
-
-# Note: The compiler is forced to compile the files as C++ (-x cxx) because
-# otherwise it will silently ignore files with no file extension.
-#
-# Note: We deliberately don't suppress any warnings on the compiler command
-# line, the user can always do this in a customized toolset later on.
-
-rule compile.c++
-{
-    # We preprocess the TEMPLATE_DEPTH command line option here because we found
-    # no way to do it correctly in the actual action code. There we either get
-    # the -pending_instantiations parameter when no c++-template-depth property
-    # has been specified or we get additional quotes around
-    # "-pending_instantiations ".
-    local template-depth = [ on $(1) return $(TEMPLATE_DEPTH) ] ;
-    TEMPLATE_DEPTH on $(1) = "-pending_instantiations "$(template-depth) ;
-}
-
-actions compile.c++
-{
-    $(CONFIG_COMMAND) -x cxx -c -std strict_ansi -nopure_cname -noimplicit_include -timplicit_local -ptr "$(<[1]:D)/cxx_repository" $(OPTIONS) $(TEMPLATE_DEPTH) -D$(DEFINES) -I"$(INCLUDES)" -o "$(<)" "$(>)"
-}
-
-# Always create archive from scratch. See the gcc toolet for rationale.
-RM = [ common.rm-command ] ;
-actions together piecemeal archive
-{
-  $(RM) "$(<)"
-  ar rc $(<) $(>)
-}
diff --git a/SRC/Boost/tools/build/v2/tools/hpfortran.jam b/SRC/Boost/tools/build/v2/tools/hpfortran.jam
deleted file mode 100755
index 843c8a9..0000000
--- a/SRC/Boost/tools/build/v2/tools/hpfortran.jam
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (C) 2004 Toon Knapen
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-import toolset : flags ;
-import feature ;
-import fortran ;
-
-rule init ( version ? : command * : options * )
-{
-}
-
-# Declare flags and action for compilation
-flags hpfortran OPTIONS <optimization>off : -O0 ;
-flags hpfortran OPTIONS <optimization>speed : -O3 ;
-flags hpfortran OPTIONS <optimization>space : -O1 ;
-
-flags hpfortran OPTIONS <debug-symbols>on : -g ;
-flags hpfortran OPTIONS <profiling>on : -pg ;
-
-flags hpfortran DEFINES <define> ;
-flags hpfortran INCLUDES <include> ;
-
-rule compile.fortran
-{
-}
-
-actions compile.fortran
-{
-  f77 +DD64 $(OPTIONS) -D$(DEFINES) -I$(INCLUDES) -c -o "$(<)" "$(>)" 
-}
-
-generators.register-fortran-compiler hpfortran.compile.fortran : FORTRAN : OBJ ; 
diff --git a/SRC/Boost/tools/build/v2/tools/ifort.jam b/SRC/Boost/tools/build/v2/tools/ifort.jam
deleted file mode 100755
index ca60b71..0000000
--- a/SRC/Boost/tools/build/v2/tools/ifort.jam
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright (C) 2004 Toon Knapen
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-import toolset : flags ;
-import feature ;
-import fortran ;
-
-rule init ( version ? : command * : options * )
-{
-}
-
-# Declare flags and action for compilation
-flags ifort OPTIONS <fflags> ;
-
-flags ifort OPTIONS <optimization>off : /Od ;
-flags ifort OPTIONS <optimization>speed : /O3 ;
-flags ifort OPTIONS <optimization>space : /O1 ;
-
-flags ifort OPTIONS <debug-symbols>on : /debug:full ;
-flags ifort OPTIONS <profiling>on : /Qprof_gen ;
-
-flags ifort.compile FFLAGS <runtime-debugging>off/<runtime-link>shared : /MD ;
-flags ifort.compile FFLAGS <runtime-debugging>on/<runtime-link>shared : /MDd ;
-flags ifort.compile FFLAGS <runtime-debugging>off/<runtime-link>static/<threading>single : /ML ;
-flags ifort.compile FFLAGS <runtime-debugging>on/<runtime-link>static/<threading>single : /MLd ;
-flags ifort.compile FFLAGS <runtime-debugging>off/<runtime-link>static/<threading>multi : /MT ;
-flags ifort.compile FFLAGS <runtime-debugging>on/<runtime-link>static/<threading>multi : /MTd ;
-
-flags ifort DEFINES <define> ;
-flags ifort INCLUDES <include> ;
-
-rule compile.fortran
-{
-}
-
-actions compile.fortran
-{
-  ifort $(FFLAGS) $(OPTIONS) /names:lowercase /D$(DEFINES) /I"$(INCLUDES)" /c /object:"$(<)" "$(>)" 
-}
-
-generators.register-fortran-compiler ifort.compile.fortran : FORTRAN : OBJ ; 
diff --git a/SRC/Boost/tools/build/v2/tools/intel-darwin.jam b/SRC/Boost/tools/build/v2/tools/intel-darwin.jam
deleted file mode 100755
index fa0b604..0000000
--- a/SRC/Boost/tools/build/v2/tools/intel-darwin.jam
+++ /dev/null
@@ -1,220 +0,0 @@
-# Copyright Vladimir Prus 2004.
-# Copyright Noel Belcourt 2007.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt
-# or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import intel ;
-import feature : feature ;
-import os ;
-import toolset ;
-import toolset : flags ;
-import gcc ;
-import common ;
-import errors ;
-import generators ;
-
-feature.extend-subfeature toolset intel : platform : darwin ;
-
-toolset.inherit-generators intel-darwin 
-  <toolset>intel <toolset-intel:platform>darwin 
-  : gcc 
-  # Don't inherit PCH generators. They were not tested, and probably
-  # don't work for this compiler.
-  : gcc.mingw.link gcc.mingw.link.dll gcc.compile.c.pch gcc.compile.c++.pch
-  ;
-
-generators.override intel-darwin.prebuilt : builtin.lib-generator ;
-generators.override intel-darwin.prebuilt : builtin.prebuilt ;
-generators.override intel-darwin.searched-lib-generator : searched-lib-generator ;
-
-toolset.inherit-rules intel-darwin : gcc ;
-toolset.inherit-flags intel-darwin : gcc 
-        : <inlining>off <inlining>on <inlining>full <optimization>space 
-          <warnings>off <warnings>all <warnings>on
-          <architecture>x86/<address-model>32
-          <architecture>x86/<address-model>64
-        ;
-        
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-    .debug-configuration = true ;
-}
-                       
-# vectorization diagnostics
-feature vectorize : off on full ;
-
-# Initializes the intel-darwin toolset
-#   version in mandatory
-#   name (default icc) is used to invoke the specified intel complier
-#   compile and link options allow you to specify addition command line options for each version
-rule init ( version ? :  command * : options * )
-{
-    local condition = [ common.check-init-parameters intel-darwin
-        : version $(version) ] ;
-    
-    command = [ common.get-invocation-command intel-darwin : icc 
-        : $(command) : /opt/intel_cc_80/bin ] ;
-
-    common.handle-options intel-darwin : $(condition) : $(command) : $(options) ;
-
-    gcc.init-link-flags intel-darwin darwin $(condition) ;
-
-    # handle <library-path>
-    # local library-path = [ feature.get-values <library-path> : $(options) ] ;
-    # flags intel-darwin.link USER_OPTIONS $(condition) : [ feature.get-values <dll-path> : $(options) ] ;
-
-    local root = [ feature.get-values <root> : $(options) ] ;
-    local bin ;
-    if $(command) || $(root)
-    {
-        bin ?= [ common.get-absolute-tool-path $(command[-1]) ] ;
-        root ?= $(bin:D) ;
-    
-        if $(root)
-        {
-            # Libraries required to run the executable may be in either
-            # $(root)/lib (10.1 and earlier) 
-            #     or 
-            # $(root)/lib/architecture-name (11.0 and later:
-            local lib_path = $(root)/lib $(root:P)/lib/$(bin:B) ;
-            if $(.debug-configuration)
-            {
-                ECHO notice: using intel libraries :: $(condition) :: $(lib_path) ;
-            }
-            flags intel-darwin.link RUN_PATH $(condition) : $(lib_path) ;
-        }   
-    }
-
-    local m = [ MATCH (..).* : $(version) ] ;
-    local n = [ MATCH (.)\\. : $(m) ] ;
-    if $(n) {
-      m = $(n) ;
-    }
-
-    local major = $(m) ;
-    
-    if $(major) = "9" {
-      flags intel-darwin.compile OPTIONS $(condition)/<inlining>off : -Ob0 ;
-      flags intel-darwin.compile OPTIONS $(condition)/<inlining>on : -Ob1  ;
-      flags intel-darwin.compile OPTIONS $(condition)/<inlining>full : -Ob2  ;
-      flags intel-darwin.compile OPTIONS $(condition)/<vectorize>off : -vec-report0 ;
-      flags intel-darwin.compile OPTIONS $(condition)/<vectorize>on : -vec-report1 ;
-      flags intel-darwin.compile OPTIONS $(condition)/<vectorize>full : -vec-report5 ;
-      flags intel-darwin.link OPTIONS $(condition)/<runtime-link>static : -static -static-libcxa -lstdc++ -lpthread ;
-      flags intel-darwin.link OPTIONS $(condition)/<runtime-link>shared : -shared-libcxa -lstdc++ -lpthread ;
-    }
-    else {
-      flags intel-darwin.compile OPTIONS $(condition)/<inlining>off : -inline-level=0 ;
-      flags intel-darwin.compile OPTIONS $(condition)/<inlining>on : -inline-level=1  ;
-      flags intel-darwin.compile OPTIONS $(condition)/<inlining>full : -inline-level=2  ;
-      flags intel-darwin.compile OPTIONS $(condition)/<vectorize>off : -vec-report0 ;
-      flags intel-darwin.compile OPTIONS $(condition)/<vectorize>on : -vec-report1 ;
-      flags intel-darwin.compile OPTIONS $(condition)/<vectorize>full : -vec-report5 ;
-      flags intel-darwin.link OPTIONS $(condition)/<runtime-link>static : -static -static-intel -lstdc++ -lpthread ;
-      flags intel-darwin.link OPTIONS $(condition)/<runtime-link>shared : -shared-intel -lstdc++ -lpthread ;
-    }
-
-    local minor = [ MATCH ".*\\.(.).*" : $(version) ] ;
-
-    # wchar_t char_traits workaround for compilers older than 10.2
-    if $(major) = "9" || ( $(major) = "10" && ( $(minor) = "0" || $(minor) = "1" ) ) {
-        flags intel-darwin.compile DEFINES $(condition) : __WINT_TYPE__=int : unchecked ;
-    }
-}
-
-SPACE = " " ;
-
-flags intel-darwin.compile OPTIONS <cflags> ;
-flags intel-darwin.compile OPTIONS <cxxflags> ;
-# flags intel-darwin.compile INCLUDES <include> ;
-
-flags intel-darwin.compile OPTIONS <optimization>space : -O1 ; # no specific space optimization flag in icc
-
-# 
-cpu-type-em64t = prescott nocona ;
-flags intel-darwin.compile OPTIONS <instruction-set>$(cpu-type-em64t)/<address-model>32 : -m32 ; # -mcmodel=small ;
-flags intel-darwin.compile OPTIONS <instruction-set>$(cpu-type-em64t)/<address-model>64 : -m64 ; # -mcmodel=large ;
-
-flags intel-darwin.compile.c OPTIONS <warnings>off : -w0 ;
-flags intel-darwin.compile.c OPTIONS <warnings>on : -w1 ;
-flags intel-darwin.compile.c OPTIONS <warnings>all : -w2 ;
-
-flags intel-darwin.compile.c++ OPTIONS <warnings>off : -w0 ;
-flags intel-darwin.compile.c++ OPTIONS <warnings>on : -w1 ;
-flags intel-darwin.compile.c++ OPTIONS <warnings>all : -w2 ;
-
-actions compile.c
-{
-    "$(CONFIG_COMMAND)" -xc $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.c++
-{
-    "$(CONFIG_COMMAND)" -xc++ $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-flags intel-darwin ARFLAGS <archiveflags> ;
-
-# Default value. Mostly for the sake of intel-linux
-# that inherits from gcc, but does not has the same
-# logic to set the .AR variable. We can put the same
-# logic in intel-linux, but that's hardly worth the trouble
-# as on Linux, 'ar' is always available.
-.AR = ar ;
-
-rule archive ( targets * : sources * : properties * )
-{
-  # Always remove archive and start again. Here's rationale from
-  # Andre Hentz:
-  #
-  # I had a file, say a1.c, that was included into liba.a. 
-  # I moved a1.c to a2.c, updated my Jamfiles and rebuilt. 
-  # My program was crashing with absurd errors. 
-  # After some debugging I traced it back to the fact that a1.o was *still* 
-  # in liba.a 
-  #
-  # Rene Rivera:
-  #
-  # Originally removing the archive was done by splicing an RM
-  # onto the archive action. That makes archives fail to build on NT
-  # when they have many files because it will no longer execute the
-  # action directly and blow the line length limit. Instead we
-  # remove the file in a different action, just before the building
-  # of the archive.
-  #
-  local clean.a = $(targets[1])(clean) ;
-  TEMPORARY $(clean.a) ;
-  NOCARE $(clean.a) ;
-  LOCATE on $(clean.a) = [ on $(targets[1]) return $(LOCATE) ] ;
-  DEPENDS $(clean.a) : $(sources) ;
-  DEPENDS $(targets) : $(clean.a) ;
-  common.RmTemps $(clean.a) : $(targets) ;
-}
-
-actions piecemeal archive
-{
-  "$(.AR)" $(AROPTIONS) rc "$(<)" "$(>)"
-  "ranlib" -cs "$(<)"
-}
-
-flags intel-darwin.link USER_OPTIONS <linkflags> ;
-
-# Declare actions for linking
-rule link ( targets * : sources * : properties * )
-{
-  SPACE on $(targets) = " " ;
-  # Serialize execution of the 'link' action, since
-  # running N links in parallel is just slower.
-  JAM_SEMAPHORE on $(targets) = <s>intel-darwin-link-semaphore ;
-}
-
-actions link bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" $(USER_OPTIONS) -L"$(LINKPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS)
-}
-
-actions link.dll bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" $(USER_OPTIONS) -L"$(LINKPATH)" -o "$(<)" -single_module -dynamiclib -install_name "$(<[1]:D=)" "$(>)"  "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS)
-}
diff --git a/SRC/Boost/tools/build/v2/tools/intel-linux.jam b/SRC/Boost/tools/build/v2/tools/intel-linux.jam
deleted file mode 100755
index 89c9468..0000000
--- a/SRC/Boost/tools/build/v2/tools/intel-linux.jam
+++ /dev/null
@@ -1,250 +0,0 @@
-#  Copyright (c) 2003 Michael Stevens
-#  Copyright (c) 2011 Bryce Lelbach
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-import toolset ;
-import feature ;
-import toolset : flags ;
-
-import intel ;
-import gcc ;
-import common ;
-import errors ;
-import generators ;
-import type ;
-import numbers ;
-
-feature.extend-subfeature toolset intel : platform : linux ;
-
-toolset.inherit-generators intel-linux 
-     <toolset>intel <toolset-intel:platform>linux : gcc : gcc.mingw.link gcc.mingw.link.dll ;
-generators.override intel-linux.prebuilt : builtin.lib-generator ;
-generators.override intel-linux.prebuilt : builtin.prebuilt ;
-generators.override intel-linux.searched-lib-generator : searched-lib-generator ;
-
-# Override default do-nothing generators.
-generators.override intel-linux.compile.c.pch   : pch.default-c-pch-generator   ;
-generators.override intel-linux.compile.c++.pch : pch.default-cpp-pch-generator ;
- 
-type.set-generated-target-suffix PCH : <toolset>intel <toolset-intel:platform>linux : pchi ;
-
-toolset.inherit-rules intel-linux : gcc ;
-toolset.inherit-flags intel-linux : gcc 
-        : <inlining>off <inlining>on <inlining>full
-          <optimization>space <optimization>speed
-          <warnings>off <warnings>all <warnings>on
-        ;
-        
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-    .debug-configuration = true ;
-}
-                       
-# Initializes the intel-linux toolset
-#   version in mandatory
-#   name (default icpc) is used to invoke the specified intel-linux complier
-#   compile and link options allow you to specify addition command line options for each version
-rule init ( version ? :  command * : options * )
-{
-    local condition = [ common.check-init-parameters intel-linux
-        : version $(version) ] ;
-    
-    if $(.debug-configuration)
-    {
-        ECHO "notice: intel-linux version is" $(version) ;
-    }
-
-    local default_path ;
-
-    # Intel C++ Composer XE 2011 for Linux, aka Intel C++ Compiler XE 12.0,
-    # aka intel-linux-12.0. In this version, Intel thankfully decides to install
-    # to a sane 'intel' folder in /opt.
-    if [ MATCH "(12[.]0|12)" : $(version) ]
-        { default_path = /opt/intel/bin ; }
-    # Intel C++ Compiler 11.1. 
-    else if [ MATCH "(11[.]1)" : $(version) ]
-        { default_path = /opt/intel_cce_11.1.064.x86_64/bin ; }
-    # Intel C++ Compiler 11.0. 
-    else if [ MATCH "(11[.]0|11)" : $(version) ]
-        { default_path = /opt/intel_cce_11.0.074.x86_64/bin ; }
-    # Intel C++ Compiler 10.1. 
-    else if [ MATCH "(10[.]1)" : $(version) ]
-        { default_path = /opt/intel_cce_10.1.013_x64/bin ; }
-    # Intel C++ Compiler 9.1. 
-    else if [ MATCH "(9[.]1)" : $(version) ]
-        { default_path = /opt/intel_cc_91/bin ; }
-    # Intel C++ Compiler 9.0. 
-    else if [ MATCH "(9[.]0|9)" : $(version) ]
-        { default_path = /opt/intel_cc_90/bin ; }
-    # Intel C++ Compiler 8.1. 
-    else if [ MATCH "(8[.]1)" : $(version) ]
-        { default_path = /opt/intel_cc_81/bin ; }
-    # Intel C++ Compiler 8.0 - this used to be the default, so now it's the
-    # fallback. 
-    else 
-        { default_path = /opt/intel_cc_80/bin ; }
-            
-    if $(.debug-configuration)
-    {
-        ECHO "notice: default search path for intel-linux is" $(default_path) ;
-    }
-
-    command = [ common.get-invocation-command intel-linux : icpc 
-        : $(command) : $(default_path) ] ;
-                
-    common.handle-options intel-linux : $(condition) : $(command) : $(options) ;
-
-    gcc.init-link-flags intel-linux gnu $(condition) ;
-    
-    local root = [ feature.get-values <root> : $(options) ] ;
-    local bin ;
-    if $(command) || $(root)
-    {
-        bin ?= [ common.get-absolute-tool-path $(command[-1]) ] ;
-        root ?= $(bin:D) ;
-        
-        local command-string = $(command:J=" ") ;
-        local version-output = [ SHELL "$(command-string) --version" ] ;
-        local real-version = [ MATCH "([0-9.]+)" : $(version-output) ] ;
-        local major = [ MATCH "([0-9]+).*" : $(real-version) ] ;
-        
-        # If we failed to determine major version, use the behaviour for
-        # the current compiler.
-        if $(major) && [ numbers.less $(major) 10 ]
-        {
-            flags intel-linux.compile OPTIONS $(condition)/<inlining>off : "-Ob0" ;
-            flags intel-linux.compile OPTIONS $(condition)/<inlining>on : "-Ob1" ;
-            flags intel-linux.compile OPTIONS $(condition)/<inlining>full : "-Ob2" ;            
-            flags intel-linux.compile OPTIONS $(condition)/<optimization>space : "-O1" ;
-            flags intel-linux.compile OPTIONS $(condition)/<optimization>speed : "-O3 -ip" ;
-        }
-        else if $(major) && [ numbers.less $(major) 11 ]
-        {
-            flags intel-linux.compile OPTIONS $(condition)/<inlining>off : "-inline-level=0" ; 
-            flags intel-linux.compile OPTIONS $(condition)/<inlining>on : "-inline-level=1" ; 
-            flags intel-linux.compile OPTIONS $(condition)/<inlining>full : "-inline-level=2" ;                
-            flags intel-linux.compile OPTIONS $(condition)/<optimization>space : "-O1" ;
-            flags intel-linux.compile OPTIONS $(condition)/<optimization>speed : "-O3 -ip" ;
-        }
-        else # newer version of intel do have -Os (at least 11+, don't know about 10)
-        {                        
-            flags intel-linux.compile OPTIONS $(condition)/<inlining>off : "-inline-level=0" ; 
-            flags intel-linux.compile OPTIONS $(condition)/<inlining>on : "-inline-level=1" ; 
-            flags intel-linux.compile OPTIONS $(condition)/<inlining>full : "-inline-level=2" ;                
-            flags intel-linux.compile OPTIONS $(condition)/<optimization>space : "-Os" ;
-            flags intel-linux.compile OPTIONS $(condition)/<optimization>speed : "-O3 -ip" ;
-        }        
-           
-        if $(root)
-        {
-            # Libraries required to run the executable may be in either
-            # $(root)/lib (10.1 and earlier) 
-            #     or 
-            # $(root)/lib/architecture-name (11.0 and later:
-            local lib_path = $(root)/lib $(root:P)/lib/$(bin:B) ;
-            if $(.debug-configuration)
-            {
-                ECHO notice: using intel libraries :: $(condition) :: $(lib_path) ;
-            }
-            flags intel-linux.link RUN_PATH $(condition) : $(lib_path) ;
-        }   
-    }
-}
-
-SPACE = " " ;
-
-flags intel-linux.compile OPTIONS <warnings>off : -w0 ;
-flags intel-linux.compile OPTIONS <warnings>on : -w1 ;
-flags intel-linux.compile OPTIONS <warnings>all : -w2 ;
-
-rule compile.c++ ( targets * : sources * : properties * )
-{
-    gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-    gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
-    gcc.setup-address-model $(targets) : $(sources) : $(properties) ;
-    DEPENDS $(<) : [ on $(<) return $(PCH_FILE) ] ;
-}
-
-actions compile.c++ bind PCH_FILE
-{
-    "$(CONFIG_COMMAND)" -c -xc++ $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)"  -use-pch"$(PCH_FILE)" -c -o "$(<)" "$(>)"
-}
-
-rule compile.c ( targets * : sources * : properties * )
-{
-    gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-    gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
-    gcc.setup-address-model $(targets) : $(sources) : $(properties) ;    
-    DEPENDS $(<) : [ on $(<) return $(PCH_FILE) ] ;
-}
-
-actions compile.c bind PCH_FILE
-{
-    "$(CONFIG_COMMAND)" -c -xc $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -use-pch"$(PCH_FILE)" -c -o "$(<)" "$(>)"
-}
-
-rule compile.c++.pch ( targets * : sources * : properties * )
-{
-    gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-    gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
-    gcc.setup-address-model $(targets) : $(sources) : $(properties) ;    
-}
-#
-# Compiling a pch first deletes any existing *.pchi file, as Intel's compiler
-# won't over-write an existing pch: instead it creates filename$1.pchi, filename$2.pchi
-# etc - which appear not to do anything except take up disk space :-(
-#
-actions compile.c++.pch
-{
-    rm -f "$(<)" && "$(CONFIG_COMMAND)" -x c++-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -pch-create "$(<)" "$(>)"
-}
-
-actions compile.fortran
-{
-    "ifort" -c $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-rule compile.c.pch ( targets * : sources * : properties * )
-{
-    gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-    gcc.setup-fpic $(targets) : $(sources) : $(properties) ;
-    gcc.setup-address-model $(targets) : $(sources) : $(properties) ;    
-}
-
-actions compile.c.pch
-{
-    rm -f "$(<)" && "$(CONFIG_COMMAND)" -x c-header $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -pch-create "$(<)" "$(>)"
-}
-
-rule link ( targets * : sources * : properties * )
-{
-    gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-    gcc.setup-address-model $(targets) : $(sources) : $(properties) ;    
-    SPACE on $(targets) = " " ;
-    JAM_SEMAPHORE on $(targets) = <s>intel-linux-link-semaphore ;
-}
-
-actions link bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS) $(USER_OPTIONS)
-}
-
-rule link.dll ( targets * : sources * : properties * )
-{
-    gcc.setup-threading $(targets) : $(sources) : $(properties) ;
-    gcc.setup-address-model $(targets) : $(sources) : $(properties) ;    
-    SPACE on $(targets) = " " ;
-    JAM_SEMAPHORE on $(targets) = <s>intel-linux-link-semaphore ;
-}
-
-# Differ from 'link' above only by -shared.
-actions link.dll bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -o "$(<)" -Wl,-soname$(SPACE)-Wl,$(<[1]:D=) -shared "$(>)"  "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS) $(USER_OPTIONS)
-}
-
-
-
diff --git a/SRC/Boost/tools/build/v2/tools/intel-win.jam b/SRC/Boost/tools/build/v2/tools/intel-win.jam
deleted file mode 100755
index 5341f83..0000000
--- a/SRC/Boost/tools/build/v2/tools/intel-win.jam
+++ /dev/null
@@ -1,184 +0,0 @@
-# Copyright Vladimir Prus 2004.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt
-# or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-# Importing common is needed because the rules we inherit here depend on it.
-# That is nasty.
-import common ;
-import errors ;
-import feature ;
-import intel ;
-import msvc ;
-import os ;
-import toolset ;
-import generators ;
-import type ;
-
-feature.extend-subfeature toolset intel : platform : win ;
-
-toolset.inherit-generators intel-win <toolset>intel <toolset-intel:platform>win : msvc ;
-toolset.inherit-flags intel-win : msvc : : YLOPTION ;
-toolset.inherit-rules intel-win : msvc ;
-
-# Override default do-nothing generators.
-generators.override intel-win.compile.c.pch   : pch.default-c-pch-generator   ;
-generators.override intel-win.compile.c++.pch : pch.default-cpp-pch-generator ;
-generators.override intel-win.compile.rc : rc.compile.resource ;
-generators.override intel-win.compile.mc : mc.compile ;
-
-toolset.flags intel-win.compile PCH_SOURCE <pch>on : <pch-source> ;
-
-toolset.add-requirements <toolset>intel-win,<runtime-link>shared:<threading>multi ;
-
-# Initializes the intel toolset for windows
-rule init ( version ? :     # the compiler version
-            command * :     # the command to invoke the compiler itself
-            options *       # Additional option: <compatibility>
-                            # either 'vc6', 'vc7', 'vc7.1'
-                            # or 'native'(default).
-          )
-{
-    local compatibility =
-      [ feature.get-values <compatibility> : $(options) ] ;
-    local condition = [  common.check-init-parameters intel-win
-        : version $(version) : compatibility $(compatibility) ] ;
-
-    command = [ common.get-invocation-command intel-win : icl.exe :
-        $(command) ] ;
-
-    common.handle-options intel-win : $(condition) : $(command) : $(options) ;
-
-    local root ;
-    if $(command)
-    {
-        root = [ common.get-absolute-tool-path $(command[-1]) ] ;
-        root = $(root)/ ;
-    }
-
-    local setup ;
-    setup = [ GLOB $(root) : iclvars_*.bat ] ;
-    if ! $(setup)
-    {
-       setup = $(root)/iclvars.bat ;
-    }
-    setup = "call \""$(setup)"\" > nul " ;
-
-    if [ os.name ] = NT
-    {
-        setup = $(setup)"
-" ;
-    }
-    else
-    {
-        setup = "cmd /S /C "$(setup)" \"&&\" " ;
-    }
-
-    toolset.flags intel-win.compile .CC $(condition) : $(setup)icl ;
-    toolset.flags intel-win.link .LD $(condition) : $(setup)xilink ;
-    toolset.flags intel-win.archive .LD $(condition) : $(setup)xilink /lib ;
-    toolset.flags intel-win.link .MT $(condition) : $(setup)mt -nologo ;
-    toolset.flags intel-win.compile .MC $(condition) : $(setup)mc ;
-    toolset.flags intel-win.compile .RC $(condition) : $(setup)rc ;
-
-    local m = [ MATCH (.).* : $(version) ] ;
-    local major = $(m[1]) ;
-
-    local C++FLAGS ;
-
-    C++FLAGS += /nologo ;
-
-    # Reduce the number of spurious error messages
-    C++FLAGS += /Qwn5 /Qwd985 ;
-
-    # Enable ADL
-    C++FLAGS += -Qoption,c,--arg_dep_lookup ; #"c" works for C++, too
-
-    # Disable Microsoft "secure" overloads in Dinkumware libraries since they
-    # cause compile errors with Intel versions 9 and 10.
-    C++FLAGS += -D_SECURE_SCL=0 ;
-
-    if $(major) > 5
-    {
-        C++FLAGS += /Zc:forScope ;  # Add support for correct for loop scoping.
-    }
-
-    # Add options recognized only by intel7 and above.
-    if $(major) >= 7
-    {
-        C++FLAGS += /Qansi_alias ;
-    }
-
-    if $(compatibility) = vc6
-    {
-        C++FLAGS +=
-          # Emulate VC6
-          /Qvc6
-
-          # No wchar_t support in vc6 dinkum library.  Furthermore, in vc6
-          # compatibility-mode, wchar_t is not a distinct type from unsigned
-          # short.
-          -DBOOST_NO_INTRINSIC_WCHAR_T
-          ;
-    }
-    else
-    {
-        if $(major) > 5
-        {
-            # Add support for wchar_t
-            C++FLAGS += /Zc:wchar_t
-              # Tell the dinkumware library about it.
-              -D_NATIVE_WCHAR_T_DEFINED
-              ;
-        }
-    }
-
-    if $(compatibility) && $(compatibility) != native
-    {
-        C++FLAGS += /Q$(base-vc) ;
-    }
-    else
-    {
-        C++FLAGS +=
-          -Qoption,cpp,--arg_dep_lookup
-          # The following options were intended to disable the Intel compiler's
-          # 'bug-emulation' mode, but were later reported to be causing ICE with
-          # Intel-Win 9.0. It is not yet clear which options can be safely used.
-          # -Qoption,cpp,--const_string_literals
-          # -Qoption,cpp,--new_for_init
-          # -Qoption,cpp,--no_implicit_typename
-          # -Qoption,cpp,--no_friend_injection
-          # -Qoption,cpp,--no_microsoft_bugs
-          ;
-    }
-
-    toolset.flags intel-win CFLAGS $(condition) : $(C++FLAGS) ;
-    # By default, when creating PCH, intel adds 'i' to the explicitly
-    # specified name of the PCH file. Of course, Boost.Build is not
-    # happy when compiler produces not the file it was asked for.
-    # The option below stops this behaviour.
-    toolset.flags intel-win CFLAGS : -Qpchi- ;
-
-    if ! $(compatibility)
-    {
-        # If there's no backend version, assume 7.1.
-        compatibility = vc7.1 ;
-    }
-
-    local extract-version = [ MATCH ^vc(.*) : $(compatibility) ] ;
-    if ! $(extract-version)
-    {
-        errors.user-error "Invalid value for compatibility option:"
-            $(compatibility) ;
-    }
-
-    # Depending on the settings, running of tests require some runtime DLLs.
-    toolset.flags intel-win RUN_PATH $(condition) : $(root) ;
-
-    msvc.configure-version-specific intel-win : $(extract-version[1]) : $(condition) ;
-}
-
-toolset.flags intel-win.link LIBRARY_OPTION <toolset>intel : "" ;
-
-toolset.flags intel-win YLOPTION ;
-
diff --git a/SRC/Boost/tools/build/v2/tools/intel.jam b/SRC/Boost/tools/build/v2/tools/intel.jam
deleted file mode 100755
index f6770c3..0000000
--- a/SRC/Boost/tools/build/v2/tools/intel.jam
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright Vladimir Prus 2004.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt
-# or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-# This is a generic 'intel' toolset. Depending on the current
-# system, it forwards either to 'intel-linux' or 'intel-win'
-# modules.
-
-import feature ;
-import os ;
-import toolset ;
-
-feature.extend toolset : intel ;
-feature.subfeature toolset intel : platform : : propagated link-incompatible ;
-
-rule init ( * : * )
-{
-    if [ os.name ] = LINUX
-    {
-        toolset.using intel-linux : 
-          $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-    else if [ os.name ] = MACOSX
-    {
-        toolset.using intel-darwin : 
-          $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-    else
-    {
-        toolset.using intel-win :
-          $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }        
-}
diff --git a/SRC/Boost/tools/build/v2/tools/lex.jam b/SRC/Boost/tools/build/v2/tools/lex.jam
deleted file mode 100755
index 0f57378..0000000
--- a/SRC/Boost/tools/build/v2/tools/lex.jam
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import type ;
-import generators ;
-import feature ;
-import property ;
-
-
-feature.feature flex.prefix : : free ;
-type.register LEX : l ;
-type.register LEX++ : ll ;
-generators.register-standard lex.lex : LEX : C ;
-generators.register-standard lex.lex : LEX++ : CPP ;
-
-rule init ( )
-{
-}
-
-rule lex ( target : source : properties * )
-{   
-    local r = [ property.select flex.prefix : $(properties) ] ;
-    if $(r)
-    {
-        PREFIX on $(<) = $(r:G=) ;
-    }
-}
-
-actions lex 
-{
-    flex -P$(PREFIX) -o$(<) $(>)    
-}
diff --git a/SRC/Boost/tools/build/v2/tools/make.jam b/SRC/Boost/tools/build/v2/tools/make.jam
deleted file mode 100755
index 6eac5ef..0000000
--- a/SRC/Boost/tools/build/v2/tools/make.jam
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2003 Dave Abrahams
-# Copyright 2003 Douglas Gregor
-# Copyright 2006 Rene Rivera
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-#  This module defines the 'make' main target rule.
-
-import "class" : new ;
-import errors : error ;
-import project ;
-import property ;
-import property-set ;
-import regex ;
-import targets ;
-
-
-class make-target-class : basic-target
-{
-    import type regex virtual-target ;
-    import "class" : new ;
-
-    rule __init__ ( name : project : sources * : requirements *
-        : default-build * : usage-requirements * )
-    {
-        basic-target.__init__ $(name) : $(project) : $(sources) :
-            $(requirements) : $(default-build) : $(usage-requirements) ;
-    }
-
-    rule construct ( name : source-targets * : property-set )
-    {
-        local action-name = [ $(property-set).get <action> ] ;
-        # 'm' will always be set -- we add '@' ourselves in the 'make' rule
-        # below.
-        local m = [ MATCH ^@(.*) : $(action-name) ] ;
-
-        local a = [ new action $(source-targets) : $(m[1]) : $(property-set) ] ;
-        local t = [ new file-target $(self.name) exact : [ type.type
-            $(self.name) ] : $(self.project) : $(a) ] ;
-        return [ property-set.empty ] [ virtual-target.register $(t) ] ;
-    }
-}
-
-
-# Declares the 'make' main target.
-#
-rule make ( target-name : sources * : generating-rule + : requirements * :
-    usage-requirements * )
-{
-    local project = [ project.current ] ;
-
-    # The '@' sign causes the feature.jam module to qualify rule name with the
-    # module name of current project, if needed.
-    local m = [ MATCH ^(@).* : $(generating-rule) ] ;
-    if ! $(m)
-    {
-        generating-rule = @$(generating-rule) ;
-    }
-    requirements += <action>$(generating-rule) ;
-
-    targets.main-target-alternative
-        [ new make-target-class $(target-name) : $(project)
-            : [ targets.main-target-sources $(sources) : $(target-name) ]
-            : [ targets.main-target-requirements $(requirements) : $(project) ]
-            : [ targets.main-target-default-build : $(project) ]
-            : [ targets.main-target-usage-requirements $(usage-requirements) :
-                $(project) ] ] ;
-}
-
-
-IMPORT $(__name__) : make : : make ;
diff --git a/SRC/Boost/tools/build/v2/tools/make.py b/SRC/Boost/tools/build/v2/tools/make.py
deleted file mode 100755
index d93a220..0000000
--- a/SRC/Boost/tools/build/v2/tools/make.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# Status: ported.
-# Base revision: 64068
-
-# Copyright 2003 Dave Abrahams 
-# Copyright 2003 Douglas Gregor 
-# Copyright 2006 Rene Rivera 
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-#  This module defines the 'make' main target rule.
-
-from b2.build.targets import BasicTarget
-from b2.build.virtual_target import Action, FileTarget
-from b2.build import type
-from b2.manager import get_manager
-import b2.build.property_set
-
-
-class MakeTarget(BasicTarget):
-  
-    def construct(self, name, source_targets, property_set):
-
-        action_name = property_set.get("<action>")[0]            
-        action = Action(get_manager(), source_targets, action_name[1:], property_set)
-        target = FileTarget(self.name(), type.type(self.name()),
-                            self.project(), action, exact=True)    
-        return [ b2.build.property_set.empty(),
-                 [self.project().manager().virtual_targets().register(target)]]
-
-def make (target_name, sources, generating_rule,
-          requirements=None, usage_requirements=None):
-
-    target_name = target_name[0]
-    generating_rule = generating_rule[0]
-    if generating_rule[0] != '@':
-        generating_rule = '@' + generating_rule
-
-    if not requirements:
-        requirements = []
-
-        
-    requirements.append("<action>%s" % generating_rule)
-    
-    m = get_manager()
-    targets = m.targets()
-    project = m.projects().current()
-    engine = m.engine()
-    engine.register_bjam_action(generating_rule)
-
-    targets.main_target_alternative(MakeTarget(
-        target_name, project,
-        targets.main_target_sources(sources, target_name),
-        targets.main_target_requirements(requirements, project),
-        targets.main_target_default_build([], project),
-        targets.main_target_usage_requirements(usage_requirements or [], project)))
-
-get_manager().projects().add_rule("make", make)
-
diff --git a/SRC/Boost/tools/build/v2/tools/mc.jam b/SRC/Boost/tools/build/v2/tools/mc.jam
deleted file mode 100755
index dd42837..0000000
--- a/SRC/Boost/tools/build/v2/tools/mc.jam
+++ /dev/null
@@ -1,44 +0,0 @@
-#~ Copyright 2005 Alexey Pakhunov.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-#  Support for Microsoft message compiler tool.
-#  Notes:
-#  - there's just message compiler tool, there's no tool for 
-#    extracting message strings from sources
-#  - This file allows to use Microsoft message compiler
-#    with any toolset. In msvc.jam, there's more specific
-#    message compiling action.
-
-import common ;
-import generators ;
-import feature : feature get-values ;
-import toolset : flags ;
-import type ;
-import rc ;
-
-rule init ( )
-{
-}
-
-type.register MC : mc ;
-
-
-# Command line options
-feature mc-input-encoding : ansi unicode : free ;
-feature mc-output-encoding : unicode ansi : free ;
-feature mc-set-customer-bit : no yes : free ;
-
-flags mc.compile MCFLAGS <mc-input-encoding>ansi : -a ;
-flags mc.compile MCFLAGS <mc-input-encoding>unicode : -u ;
-flags mc.compile MCFLAGS <mc-output-encoding>ansi : -A ;
-flags mc.compile MCFLAGS <mc-output-encoding>unicode : -U ;
-flags mc.compile MCFLAGS <mc-set-customer-bit>no : ;
-flags mc.compile MCFLAGS <mc-set-customer-bit>yes : -c ;
-
-generators.register-standard mc.compile : MC : H RC ;
-
-actions compile
-{
-    mc $(MCFLAGS) -h "$(<[1]:DW)" -r "$(<[2]:DW)" "$(>:W)"
-}
diff --git a/SRC/Boost/tools/build/v2/tools/message.jam b/SRC/Boost/tools/build/v2/tools/message.jam
deleted file mode 100755
index 8f79311..0000000
--- a/SRC/Boost/tools/build/v2/tools/message.jam
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2008 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Defines main target type 'message', that prints a message when built for the
-# first time.
-
-import project ;
-import "class" : new ;
-import targets ;
-import property-set ;
-
-class message-target-class : basic-target
-{
-    rule __init__ ( name-and-dir : project : * )
-    {
-        basic-target.__init__ $(name-and-dir) : $(project) ;
-        self.3 = $(3) ;
-        self.4 = $(4) ;
-        self.5 = $(5) ;
-        self.6 = $(6) ;
-        self.7 = $(7) ;
-        self.8 = $(8) ;        
-        self.9 = $(9) ;        
-        self.built = ;
-    }
-    
-    rule construct ( name : source-targets * : property-set )
-    {
-        if ! $(self.built)
-        {
-            for i in 3 4 5 6 7 8 9
-            {
-                if $(self.$(i))
-                {
-                    ECHO $(self.$(i)) ;
-                }
-            }
-            self.built = 1 ;
-        }
-        
-        return [ property-set.empty ] ;
-    }
-}
-
-
-rule message ( name : * )
-{
-    local project = [ project.current ] ;
-
-    targets.main-target-alternative
-      [ new message-target-class $(name) : $(project) 
-        : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) ] ;
-}
-IMPORT $(__name__) : message : : message ;
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/tools/message.py b/SRC/Boost/tools/build/v2/tools/message.py
deleted file mode 100755
index 428118d..0000000
--- a/SRC/Boost/tools/build/v2/tools/message.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# Status: ported.
-# Base revision: 64488.
-#
-# Copyright 2008, 2010 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Defines main target type 'message', that prints a message when built for the
-# first time.
-
-import b2.build.targets as targets
-import b2.build.property_set as property_set
-
-from b2.manager import get_manager
-
-class MessageTargetClass(targets.BasicTarget):
-
-    def __init__(self, name, project, *args):
-
-        targets.BasicTarget.__init__(self, name, project, [])
-        self.args = args
-        self.built = False
-
-    def construct(self, name, sources, ps):
-
-        if not self.built:
-            for arg in self.args:
-                if type(arg) == type([]):
-                    arg = " ".join(arg)                
-                print arg
-            self.built = True
-
-        return (property_set.empty(), [])
-
-def message(name, *args):
-
-    if type(name) == type([]):
-        name = name[0]
-
-    t = get_manager().targets()
-    
-    project = get_manager().projects().current()
-        
-    return t.main_target_alternative(MessageTargetClass(*((name, project) + args)))
-
-get_manager().projects().add_rule("message", message)
diff --git a/SRC/Boost/tools/build/v2/tools/midl.jam b/SRC/Boost/tools/build/v2/tools/midl.jam
deleted file mode 100755
index c9affc9..0000000
--- a/SRC/Boost/tools/build/v2/tools/midl.jam
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright (c) 2005 Alexey Pakhunov.
-#
-# Use, modification and distribution is subject to the Boost Software
-# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Microsoft Interface Definition Language (MIDL) related routines
-
-import common ;
-import generators ;
-import feature : feature get-values ;
-import os ;
-import scanner ;
-import toolset : flags ;
-import type ;
-
-rule init ( )
-{
-}
-
-type.register IDL : idl ;
-
-# A type library (.tlb) is generated by MIDL compiler and can be included
-# to resources of an application (.rc). In order to be found by a resource 
-# compiler its target type should be derived from 'H' - otherwise
-# the property '<implicit-dependency>' will be ignored.
-type.register MSTYPELIB : tlb : H ;
-
-
-# Register scanner for MIDL files
-class midl-scanner : scanner 
-{
-    import path property-set regex scanner type virtual-target ;
-    
-    rule __init__ ( includes * )
-    {
-        scanner.__init__ ;
-    
-        self.includes = $(includes) ;
-
-        # List of quoted strings 
-        self.re-strings = "[ \t]*\"([^\"]*)\"([ \t]*,[ \t]*\"([^\"]*)\")*[ \t]*" ;
-
-        # 'import' and 'importlib' directives 
-        self.re-import    = "import"$(self.re-strings)"[ \t]*;" ;
-        self.re-importlib = "importlib[ \t]*[(]"$(self.re-strings)"[)][ \t]*;" ;
-
-        # C preprocessor 'include' directive
-        self.re-include-angle  = "#[ \t]*include[ \t]*<(.*)>" ;
-        self.re-include-quoted = "#[ \t]*include[ \t]*\"(.*)\"" ;
-    }    
-
-    rule pattern ( )
-    {
-        # Match '#include', 'import' and 'importlib' directives
-        return "((#[ \t]*include|import(lib)?).+(<(.*)>|\"(.*)\").+)" ;
-    }
-
-    rule process ( target : matches * : binding )
-    {
-        local included-angle  = [ regex.transform $(matches) : $(self.re-include-angle)  : 1 ] ;
-        local included-quoted = [ regex.transform $(matches) : $(self.re-include-quoted) : 1 ] ;
-        local imported        = [ regex.transform $(matches) : $(self.re-import)         : 1 3 ] ;
-        local imported_tlbs   = [ regex.transform $(matches) : $(self.re-importlib)      : 1 3 ] ;
-
-        # CONSIDER: the new scoping rule seem to defeat "on target" variables.
-        local g = [ on $(target) return $(HDRGRIST) ] ;  
-        local b = [ NORMALIZE_PATH $(binding:D) ] ;
-
-        # Attach binding of including file to included targets.
-        # When target is directly created from virtual target
-        # this extra information is unnecessary. But in other
-        # cases, it allows to distinguish between two headers of the 
-        # same name included from different places.      
-        local g2 = $(g)"#"$(b) ;
-
-        included-angle = $(included-angle:G=$(g)) ;
-        included-quoted = $(included-quoted:G=$(g2)) ;
-        imported = $(imported:G=$(g2)) ;
-        imported_tlbs = $(imported_tlbs:G=$(g2)) ;
-
-        local all = $(included-angle) $(included-quoted) $(imported) ;
-
-        INCLUDES $(target) : $(all) ;
-        DEPENDS $(target) : $(imported_tlbs) ;
-        NOCARE $(all) $(imported_tlbs) ;
-        SEARCH on $(included-angle)  = $(self.includes:G=) ;
-        SEARCH on $(included-quoted) = $(b) $(self.includes:G=) ;
-        SEARCH on $(imported)        = $(b) $(self.includes:G=) ;
-        SEARCH on $(imported_tlbs)   = $(b) $(self.includes:G=) ;
-        
-        scanner.propagate 
-            [ type.get-scanner CPP : [ property-set.create $(self.includes) ] ] : 
-            $(included-angle) $(included-quoted) : $(target) ;
-
-        scanner.propagate $(__name__) : $(imported) : $(target) ;
-    }        
-}
-
-scanner.register midl-scanner : include ;
-type.set-scanner IDL : midl-scanner ;
-
-
-# Command line options
-feature midl-stubless-proxy : yes no : propagated ;
-feature midl-robust : yes no : propagated ;
-
-flags midl.compile.idl MIDLFLAGS <midl-stubless-proxy>yes : /Oicf ;
-flags midl.compile.idl MIDLFLAGS <midl-stubless-proxy>no : /Oic ;
-flags midl.compile.idl MIDLFLAGS <midl-robust>yes : /robust ;
-flags midl.compile.idl MIDLFLAGS <midl-robust>no : /no_robust ;
-
-# Architecture-specific options
-architecture-x86 = <architecture> <architecture>x86 ;
-address-model-32 = <address-model> <address-model>32 ;
-address-model-64 = <address-model> <address-model>64 ;
-
-flags midl.compile.idl MIDLFLAGS $(architecture-x86)/$(address-model-32) : /win32 ;
-flags midl.compile.idl MIDLFLAGS $(architecture-x86)/<address-model>64 : /x64 ;
-flags midl.compile.idl MIDLFLAGS <architecture>ia64/$(address-model-64) : /ia64 ;
-
-
-flags midl.compile.idl DEFINES <define> ;
-flags midl.compile.idl UNDEFS <undef> ;
-flags midl.compile.idl INCLUDES <include> ;
-
-
-generators.register-c-compiler midl.compile.idl : IDL : MSTYPELIB H C(%_i) C(%_proxy) C(%_dlldata) ;
-
-
-# MIDL does not always generate '%_proxy.c' and '%_dlldata.c'. This behavior 
-# depends on contents of the source IDL file. Calling TOUCH_FILE below ensures
-# that both files will be created so bjam will not try to recreate them 
-# constantly.
-TOUCH_FILE = [ common.file-touch-command ] ;
-
-actions compile.idl
-{
-    midl /nologo @"@($(<[1]:W).rsp:E=$(nl)"$(>:W)" $(nl)-D$(DEFINES) $(nl)"-I$(INCLUDES)" $(nl)-U$(UNDEFS) $(nl)$(MIDLFLAGS) $(nl)/tlb "$(<[1]:W)" $(nl)/h "$(<[2]:W)" $(nl)/iid "$(<[3]:W)" $(nl)/proxy "$(<[4]:W)" $(nl)/dlldata "$(<[5]:W)")"
-    $(TOUCH_FILE) "$(<[4]:W)"  
-    $(TOUCH_FILE) "$(<[5]:W)"  
-}
diff --git a/SRC/Boost/tools/build/v2/tools/mipspro.jam b/SRC/Boost/tools/build/v2/tools/mipspro.jam
deleted file mode 100755
index acde58e..0000000
--- a/SRC/Boost/tools/build/v2/tools/mipspro.jam
+++ /dev/null
@@ -1,145 +0,0 @@
-#  Copyright Noel Belcourt 2007.
-#  Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-import property ;
-import generators ;
-import os ;
-import toolset : flags ;
-import feature ;
-import fortran ;
-import type ;
-import common ;
-
-feature.extend toolset : mipspro ;
-toolset.inherit mipspro : unix ;
-generators.override mipspro.prebuilt : builtin.lib-generator ;
-generators.override mipspro.searched-lib-generator : searched-lib-generator ;
-
-#  Documentation and toolchain description located
-#  http://www.sgi.com/products/software/irix/tools/
-
-rule init ( version ? : command * : options * ) 
-{
-  local condition = [ 
-    common.check-init-parameters mipspro : version $(version) ] ;
-
-  command = [ common.get-invocation-command mipspro : CC : $(command) ] ;
-
-  common.handle-options mipspro : $(condition) : $(command) : $(options) ;
-    
-  command_c = $(command_c[1--2]) $(command[-1]:B=cc) ;
-
-  toolset.flags mipspro CONFIG_C_COMMAND $(condition) : $(command_c) ;
-
-  # fortran support
-  local command = [ 
-    common.get-invocation-command mipspro : f77 : $(command) : $(install_dir) ] ;
-
-  command_f = $(command_f[1--2]) $(command[-1]:B=f77) ;
-  toolset.flags mipspro CONFIG_F_COMMAND $(condition) : $(command_f) ;
-
-  # set link flags
-  flags mipspro.link FINDLIBS-ST : [ 
-    feature.get-values <find-static-library> : $(options) ] : unchecked ;
-
-  flags mipspro.link FINDLIBS-SA : [ 
-    feature.get-values <find-shared-library> : $(options) ] : unchecked ;
-}
-
-# Declare generators
-generators.register-c-compiler mipspro.compile.c : C : OBJ : <toolset>mipspro ;
-generators.register-c-compiler mipspro.compile.c++ : CPP : OBJ : <toolset>mipspro ;
-generators.register-fortran-compiler mipspro.compile.fortran : FORTRAN : OBJ : <toolset>mipspro ;
-
-cpu-arch-32 =
-  <architecture>/<address-model>
-  <architecture>/<address-model>32 ;
-
-cpu-arch-64 =
-  <architecture>/<address-model>64 ;
-
-flags mipspro.compile OPTIONS $(cpu-arch-32) : -n32 ;
-flags mipspro.compile OPTIONS $(cpu-arch-64) : -64 ;
-
-# Declare flags and actions for compilation
-flags mipspro.compile OPTIONS <debug-symbols>on : -g ; 
-# flags mipspro.compile OPTIONS <profiling>on : -xprofile=tcov ;
-flags mipspro.compile OPTIONS <warnings>off : -w ;
-flags mipspro.compile OPTIONS <warnings>on : -ansiW -diag_suppress 1429 ; # suppress long long is nonstandard warning
-flags mipspro.compile OPTIONS <warnings>all : -fullwarn ;
-flags mipspro.compile OPTIONS <optimization>speed : -Ofast ;
-flags mipspro.compile OPTIONS <optimization>space : -O2 ;
-flags mipspro.compile OPTIONS <cflags> : -LANG:std ;
-flags mipspro.compile.c++ OPTIONS <inlining>off : -INLINE:none ;
-flags mipspro.compile.c++ OPTIONS <cxxflags> ;
-flags mipspro.compile DEFINES <define> ;
-flags mipspro.compile INCLUDES <include> ;
-
-
-flags mipspro.compile.fortran OPTIONS <fflags> ;
-
-actions compile.c
-{
-    "$(CONFIG_C_COMMAND)" $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.c++
-{
-    "$(CONFIG_COMMAND)" -FE:template_in_elf_section -ptused $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.fortran
-{
-    "$(CONFIG_F_COMMAND)" $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-# Declare flags and actions for linking
-flags mipspro.link OPTIONS <debug-symbols>on : -g ;
-# Strip the binary when no debugging is needed
-# flags mipspro.link OPTIONS <debug-symbols>off : -s ;
-# flags mipspro.link OPTIONS <profiling>on : -xprofile=tcov ;
-# flags mipspro.link OPTIONS <threading>multi : -mt ;
-
-flags mipspro.link OPTIONS $(cpu-arch-32) : -n32 ;
-flags mipspro.link OPTIONS $(cpu-arch-64) : -64 ;
-
-flags mipspro.link OPTIONS <optimization>speed : -Ofast ;
-flags mipspro.link OPTIONS <optimization>space : -O2 ;
-flags mipspro.link OPTIONS <linkflags> ;
-flags mipspro.link LINKPATH <library-path> ;
-flags mipspro.link FINDLIBS-ST <find-static-library> ;
-flags mipspro.link FINDLIBS-SA <find-shared-library> ;
-flags mipspro.link FINDLIBS-SA <threading>multi : pthread ;
-flags mipspro.link LIBRARIES <library-file> ;
-flags mipspro.link LINK-RUNTIME <runtime-link>static : static ;
-flags mipspro.link LINK-RUNTIME <runtime-link>shared : dynamic ;
-flags mipspro.link RPATH <dll-path> ;
-
-rule link ( targets * : sources * : properties * )
-{
-    SPACE on $(targets) = " " ;
-}
-
-actions link bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" -FE:template_in_elf_section -ptused $(OPTIONS) -L"$(LINKPATH)" -R"$(RPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -Bdynamic -l$(FINDLIBS-SA) -Bstatic -l$(FINDLIBS-ST) -B$(LINK-RUNTIME) -lm
-}
-
-# Slight mods for dlls
-rule link.dll ( targets * : sources * : properties * )
-{
-    SPACE on $(targets) = " " ;
-}
-
-actions link.dll bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" $(OPTIONS) -L"$(LINKPATH)" -R"$(RPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -Bdynamic -l$(FINDLIBS-SA) -Bstatic -l$(FINDLIBS-ST) -B$(LINK-RUNTIME)
-}
-
-# Declare action for creating static libraries
-actions piecemeal archive
-{
-    ar -cr "$(<)" "$(>)"
-}
diff --git a/SRC/Boost/tools/build/v2/tools/mpi.jam b/SRC/Boost/tools/build/v2/tools/mpi.jam
deleted file mode 100755
index 052f6c6..0000000
--- a/SRC/Boost/tools/build/v2/tools/mpi.jam
+++ /dev/null
@@ -1,583 +0,0 @@
-# Support for the Message Passing Interface (MPI)
-#
-# (C) Copyright 2005, 2006 Trustees of Indiana University
-# (C) Copyright 2005 Douglas Gregor
-#
-# Distributed under the Boost Software License, Version 1.0. (See accompanying 
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
-#
-# Authors: Douglas Gregor
-#          Andrew Lumsdaine
-#
-# ==== MPI Configuration ====
-# 
-# For many users, MPI support can be enabled simply by adding the following 
-# line to your user-config.jam file:
-#
-#   using mpi ;
-#
-# This should auto-detect MPI settings based on the MPI wrapper compiler in 
-# your path, e.g., "mpic++". If the wrapper compiler is not in your path, or
-# has a different name, you can pass the name of the wrapper compiler as the
-# first argument to the mpi module:
-#
-#   using mpi : /opt/mpich2-1.0.4/bin/mpiCC ;
-#
-# If your MPI implementation does not have a wrapper compiler, or the MPI 
-# auto-detection code does not work with your MPI's wrapper compiler,
-# you can pass MPI-related options explicitly via the second parameter to the 
-# mpi module:
-#
-#    using mpi : : <find-shared-library>lammpio <find-shared-library>lammpi++
-#                  <find-shared-library>mpi <find-shared-library>lam 
-#                  <find-shared-library>dl ;
-#
-# To see the results of MPI auto-detection, pass "--debug-configuration" on
-# the bjam command line.
-#
-# The (optional) fourth argument configures Boost.MPI for running
-# regression tests. These parameters specify the executable used to
-# launch jobs (default: "mpirun") followed by any necessary arguments
-# to this to run tests and tell the program to expect the number of
-# processors to follow (default: "-np").  With the default parameters,
-# for instance, the test harness will execute, e.g.,
-#  
-#    mpirun -np 4 all_gather_test
-#
-# ==== Linking Against the MPI Libraries ===
-#
-# To link against the MPI libraries, import the "mpi" module and add the 
-# following requirement to your target:
-# 
-#   <library>/mpi//mpi 
-#
-# Since MPI support is not always available, you should check 
-# "mpi.configured" before trying to link against the MPI libraries.
-
-import "class" : new ;
-import common ;
-import feature : feature ;
-import generators ;
-import os ;
-import project ;
-import property ;
-import testing ;
-import toolset ;
-import type ;
-import path ;
-
-# Make this module a project
-project.initialize $(__name__) ;
-project mpi ;
-
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-  .debug-configuration = true ;
-}
-
-# Assuming the first part of the command line is the given prefix
-# followed by some non-empty value, remove the first argument. Returns
-# either nothing (if there was no prefix or no value) or a pair
-#
-#   <name>value rest-of-cmdline
-#
-# This is a subroutine of cmdline_to_features
-rule add_feature ( prefix name cmdline ) 
-{
-    local match = [ MATCH "^$(prefix)([^\" ]+|\"[^\"]+\") *(.*)$" : $(cmdline) ] ;
-
-    # If there was no value associated with the prefix, abort
-    if ! $(match) {
-      return ;
-    }
-
-    local value = $(match[1]) ;
-
-    if [ MATCH " +" : $(value) ] {
-      value = "\"$(value)\"" ;
-    }
-
-    return "<$(name)>$(value)" $(match[2]) ;
-}
-
-# Strip any end-of-line characters off the given string and return the
-# result.
-rule strip-eol ( string )
-{
-  local match = [ MATCH "^(([A-Za-z0-9~`\.!@#$%^&*()_+={};:'\",.<>/?\\| -]|[|])*).*$" : $(string) ] ;
-
-  if $(match)
-  {
-    return $(match[1]) ;
-  }
-  else
-  {
-    return $(string) ;
-  }
-}
-
-# Split a command-line into a set of features. Certain kinds of
-# compiler flags are recognized (e.g., -I, -D, -L, -l) and replaced
-# with their Boost.Build equivalents (e.g., <include>, <define>,
-# <library-path>, <find-library>). All other arguments are introduced
-# using the features in the unknown-features parameter, because we
-# don't know how to deal with them. For instance, if your compile and
-# correct. The incoming command line should be a string starting with
-# an executable (e.g., g++ -I/include/path") and may contain any
-# number of command-line arguments thereafter. The result is a list of
-# features corresponding to the given command line, ignoring the
-# executable.
-rule cmdline_to_features ( cmdline : unknown-features ? )
-{
-    local executable ;
-    local features ;
-    local otherflags ;
-    local result ;
-
-    unknown-features ?= <cxxflags> <linkflags> ;
-
-    # Pull the executable out of the command line. At this point, the
-    # executable is just thrown away.
-    local match = [ MATCH "^([^\" ]+|\"[^\"]+\") *(.*)$" : $(cmdline) ] ;
-    executable = $(match[1]) ;
-    cmdline = $(match[2]) ;
-
-    # List the prefix/feature pairs that we will be able to transform. 
-    # Every kind of parameter not mentioned here will be placed in both
-    # cxxflags and linkflags, because we don't know where they should go.
-    local feature_kinds-D = "define" ;
-    local feature_kinds-I = "include" ;
-    local feature_kinds-L = "library-path" ;
-    local feature_kinds-l = "find-shared-library" ;
-
-    while $(cmdline) {
-
-        # Check for one of the feature prefixes we know about. If we
-        # find one (and the associated value is nonempty), convert it
-        # into a feature.
-        local match = [ MATCH "^(-.)(.*)" : $(cmdline) ] ;
-        local matched ;
-        if $(match) && $(match[2]) {
-           local prefix = $(match[1]) ;
-           if $(feature_kinds$(prefix)) {
-               local name = $(feature_kinds$(prefix)) ;
-               local add = [ add_feature $(prefix) $(name) $(cmdline) ] ;
-
-               if $(add) {
-
-                  if $(add[1]) = <find-shared-library>pthread
-                  {
-                      # Uhm. It's not really nice that this MPI implementation
-                      # uses -lpthread as opposed to -pthread. We do want to
-                      # set <threading>multi, instead of -lpthread.
-                      result += "<threading>multi" ;
-                      MPI_EXTRA_REQUIREMENTS += "<threading>multi" ;                      
-                  }
-                  else
-                  {                      
-                      result += $(add[1]) ;                  
-                  }
-                                     
-                  cmdline = $(add[2]) ;
-                  matched = yes ;
-               }
-           }
-        }
-
-        # If we haven't matched a feature prefix, just grab the command-line
-        # argument itself. If we can map this argument to a feature
-        # (e.g., -pthread -> <threading>multi), then do so; otherwise,
-        # and add it to the list of "other" flags that we don't
-        # understand.
-        if ! $(matched) {
-           match = [ MATCH "^([^\" ]+|\"[^\"]+\") *(.*)$" : $(cmdline) ] ;
-           local value = $(match[1]) ;
-           cmdline = $(match[2]) ;
-
-           # Check for multithreading support
-           if $(value) = "-pthread" || $(value) = "-pthreads"
-           {
-             result += "<threading>multi" ;
-
-             # DPG: This is a hack intended to work around a BBv2 bug where
-             # requirements propagated from libraries are not checked for
-             # conflicts when BBv2 determines which "common" properties to
-             # apply to a target. In our case, the <threading>single property
-             # gets propagated from the common properties to Boost.MPI
-             # targets, even though <threading>multi is in the usage 
-             # requirements of <library>/mpi//mpi.
-             MPI_EXTRA_REQUIREMENTS += "<threading>multi" ;
-           }
-           else if [ MATCH "(.*[a-zA-Z0-9<>?-].*)" : $(value) ] {
-              otherflags += $(value) ;
-           }
-        }
-    }
-
-    # If there are other flags that we don't understand, add them to the
-    # result as both <cxxflags> and <linkflags>
-    if $(otherflags) {
-       for unknown in $(unknown-features)
-       {
-         result += "$(unknown)$(otherflags:J= )" ;
-       }
-    }
-
-    return $(result) ;
-}
-
-# Determine if it is safe to execute the given shell command by trying
-# to execute it and determining whether the exit code is zero or
-# not. Returns true for an exit code of zero, false otherwise.
-local rule safe-shell-command ( cmdline )
-{
-  local result = [ SHELL "$(cmdline) > /dev/null 2>/dev/null; if [ "$?" -eq "0" ]; then echo SSCOK; fi" ] ;
-  return [ MATCH ".*(SSCOK).*" : $(result) ] ;
-}
-
-# Initialize the MPI module.  
-rule init ( mpicxx ? : options * : mpirun-with-options * )
-{
-  if ! $(options) && $(.debug-configuration)
-  {
-    ECHO "===============MPI Auto-configuration===============" ;
-  }
-    
-  if ! $(mpicxx) && [ os.on-windows ]
-  {  
-    # Try to auto-configure to the Microsoft Compute Cluster Pack
-    local cluster_pack_path_native = "C:\\Program Files\\Microsoft Compute Cluster Pack" ;
-    local cluster_pack_path = [ path.make $(cluster_pack_path_native) ] ;
-    if [ GLOB $(cluster_pack_path_native)\\Include : mpi.h ]
-    {
-      if $(.debug-configuration)
-      {
-        ECHO "Found Microsoft Compute Cluster Pack: $(cluster_pack_path_native)" ;
-      }
-      
-      # Pick up either the 32-bit or 64-bit library, depending on which address
-      # model the user has selected. Default to 32-bit.
-      options = <include>$(cluster_pack_path)/Include 
-                <address-model>64:<library-path>$(cluster_pack_path)/Lib/amd64
-                <library-path>$(cluster_pack_path)/Lib/i386
-                <find-static-library>msmpi
-                <toolset>msvc:<define>_SECURE_SCL=0
-              ;
-              
-      # Setup the "mpirun" equivalent (mpiexec)
-      .mpirun = "\"$(cluster_pack_path_native)\\Bin\\mpiexec.exe"\" ;
-      .mpirun_flags = -n ;
-    }
-    else if $(.debug-configuration)
-    {
-      ECHO "Did not find Microsoft Compute Cluster Pack in $(cluster_pack_path_native)." ;
-    }
-  } 
-   
-  if ! $(options)
-  { 
-    # Try to auto-detect options based on the wrapper compiler
-    local command = [ common.get-invocation-command mpi : mpic++ : $(mpicxx) ] ;
-
-    if ! $(mpicxx) && ! $(command) 
-    {
-      # Try "mpiCC", which is used by MPICH 
-      command = [ common.get-invocation-command mpi : mpiCC ] ;
-    }
-
-    if ! $(mpicxx) && ! $(command) 
-    {
-      # Try "mpicxx", which is used by OpenMPI and MPICH2
-      command = [ common.get-invocation-command mpi : mpicxx ] ;
-    }
-
-    local result ;
-    local compile_flags ;
-    local link_flags ;
-
-    if ! $(command)
-    { 
-      # Do nothing: we'll complain later
-    }
-    # OpenMPI and newer versions of LAM-MPI have -showme:compile and 
-    # -showme:link.
-    else if [ safe-shell-command "$(command) -showme:compile" ] &&
-              [ safe-shell-command "$(command) -showme:link" ]
-    {
-      if $(.debug-configuration)
-      {
-        ECHO "Found recent LAM-MPI or Open MPI wrapper compiler: $(command)" ;
-      }
-
-      compile_flags = [ SHELL "$(command) -showme:compile" ] ;
-      link_flags = [ SHELL "$(command) -showme:link" ] ;
-   
-      # Prepend COMPILER as the executable name, to match the format of 
-      # other compilation commands.
-      compile_flags = "COMPILER $(compile_flags)" ;
-      link_flags = "COMPILER $(link_flags)" ;
-    }
-    # Look for LAM-MPI's -showme
-    else if [ safe-shell-command "$(command) -showme" ]
-    {
-      if $(.debug-configuration)
-      {
-        ECHO "Found older LAM-MPI wrapper compiler: $(command)" ;
-      }
-
-      result = [ SHELL "$(command) -showme" ] ;
-    }
-    # Look for MPICH
-    else if [ safe-shell-command "$(command) -show" ]
-    {
-      if $(.debug-configuration)
-      {
-        ECHO "Found MPICH wrapper compiler: $(command)" ;
-      }
-      compile_flags = [ SHELL "$(command) -compile_info" ] ;
-      link_flags = [ SHELL "$(command) -link_info" ] ;
-    }
-    # Sun HPC and Ibm POE
-    else if [ SHELL "$(command) -v 2>/dev/null" ]
-    {
-      compile_flags = [ SHELL "$(command) -c -v -xtarget=native64 2>/dev/null" ] ;
-
-      local back = [ MATCH "--------------------(.*)" : $(compile_flags) ] ;
-      if $(back)
-      {
-        # Sun HPC
-        if $(.debug-configuration)
-        {
-          ECHO "Found Sun MPI wrapper compiler: $(command)" ;
-        }
-
-        compile_flags = [ MATCH "(.*)--------------------" : $(back) ] ;
-        compile_flags = [ MATCH "(.*)-v" :  $(compile_flags) ] ;
-        link_flags = [ SHELL "$(command) -v -xtarget=native64 2>/dev/null" ] ;
-        link_flags = [ MATCH "--------------------(.*)" : $(link_flags) ] ;
-        link_flags = [ MATCH "(.*)--------------------" : $(link_flags) ] ;
-
-        # strip out -v from compile options
-        local front = [ MATCH "(.*)-v" :  $(link_flags) ] ;
-        local back = [ MATCH "-v(.*)" :  $(link_flags) ] ;
-        link_flags = "$(front) $(back)" ;
-        front = [ MATCH "(.*)-xtarget=native64" :  $(link_flags) ] ;
-        back = [ MATCH "-xtarget=native64(.*)" :  $(link_flags) ] ;
-        link_flags = "$(front) $(back)" ;
-      }
-      else
-      {
-        # Ibm POE
-        if $(.debug-configuration)
-        {
-          ECHO "Found IBM MPI wrapper compiler: $(command)" ;
-        }
-
-        # 
-        compile_flags = [ SHELL "$(command) -c -v 2>/dev/null" ] ;
-        compile_flags = [ MATCH "(.*)exec: export.*" : $(compile_flags) ] ;
-        local front = [ MATCH "(.*)-v" :  $(compile_flags) ] ;
-        local back = [ MATCH "-v(.*)" :  $(compile_flags) ] ;
-        compile_flags = "$(front) $(back)" ;
-        front = [ MATCH "(.*)-c" :  $(compile_flags) ] ;
-        back = [ MATCH "-c(.*)" :  $(compile_flags) ] ;
-        compile_flags = "$(front) $(back)" ;
-        link_flags = $(compile_flags) ;
-
-        # get location of mpif.h from mpxlf
-        local f_flags = [ SHELL "mpxlf -v 2>/dev/null" ] ;
-        f_flags = [ MATCH "(.*)exec: export.*" : $(f_flags) ] ;
-        front = [ MATCH "(.*)-v" :  $(f_flags) ] ;
-        back = [ MATCH "-v(.*)" :  $(f_flags) ] ;
-        f_flags = "$(front) $(back)" ;
-        f_flags = [ MATCH "xlf_r(.*)" : $(f_flags) ] ;
-        f_flags = [ MATCH "-F:mpxlf_r(.*)" : $(f_flags) ] ;
-        compile_flags = [ strip-eol $(compile_flags) ] ;
-        compile_flags = "$(compile_flags) $(f_flags)" ;
-      }
-    }
-
-    if $(result) || $(compile_flags) && $(link_flags)
-    {
-      if $(result)
-      {
-         result = [ strip-eol $(result) ] ;
-         options = [ cmdline_to_features $(result) ] ;
-      }
-      else 
-      { 
-         compile_flags = [ strip-eol $(compile_flags) ] ;
-         link_flags = [ strip-eol $(link_flags) ] ;
-
-         # Separately process compilation and link features, then combine
-         # them at the end.
-         local compile_features = [ cmdline_to_features $(compile_flags) 
-                                                        : "<cxxflags>" ] ; 
-         local link_features = [ cmdline_to_features $(link_flags) 
-                                                     : "<linkflags>" ] ; 
-         options = $(compile_features) $(link_features) ;
-      }
-
-      # If requested, display MPI configuration information.
-      if $(.debug-configuration)
-      {
-        if $(result)
-        {
-          ECHO "  Wrapper compiler command line: $(result)" ;
-        }
-        else
-        {
-	  local match = [ MATCH "^([^\" ]+|\"[^\"]+\") *(.*)$" 
-                                : $(compile_flags) ] ;
-          ECHO "MPI compilation flags: $(match[2])" ;
-	  local match = [ MATCH "^([^\" ]+|\"[^\"]+\") *(.*)$" 
-                                : $(link_flags) ] ;
-          ECHO "MPI link flags: $(match[2])" ;
-        }
-      }
-    } 
-    else 
-    {
-      if $(command)
-      {
-        ECHO "MPI auto-detection failed: unknown wrapper compiler $(command)" ;
-        ECHO "Please report this error to the Boost mailing list: http://www.boost.org" ;
-      }     
-      else if $(mpicxx)
-      {
-        ECHO "MPI auto-detection failed: unable to find wrapper compiler $(mpicxx)" ;
-      } 
-      else
-      {
-        ECHO "MPI auto-detection failed: unable to find wrapper compiler `mpic++' or `mpiCC'" ;
-      }
-      ECHO "You will need to manually configure MPI support." ;
-    }
- 
-  }
-
-  # Find mpirun (or its equivalent) and its flags
-  if ! $(.mpirun)
-  {
-    .mpirun = 
-        [ common.get-invocation-command mpi : mpirun : $(mpirun-with-options[1]) ] ;
-    .mpirun_flags = $(mpirun-with-options[2-]) ;
-    .mpirun_flags ?= -np ;
-  }
-  
-  if $(.debug-configuration)
-  {
-    if $(options)
-    {
-      echo "MPI build features: " ;
-      ECHO $(options) ;
-    }
-
-    if $(.mpirun)
-    {
-      echo "MPI launcher: $(.mpirun) $(.mpirun_flags)" ;
-    }
-        
-    ECHO "====================================================" ;
-  }
-
-  if $(options)  
-  {
-    .configured = true ;
-
-    # Set up the "mpi" alias 
-    alias mpi : : : : $(options) ;
-  }
-}
-
-# States whether MPI has bee configured
-rule configured ( )
-{
-  return $(.configured) ;
-}
-
-# Returs the "extra" requirements needed to build MPI. These requirements are
-# part of the /mpi//mpi library target, but they need to be added to anything
-# that uses MPI directly to work around bugs in BBv2's propagation of
-# requirements.
-rule extra-requirements ( )
-{
-  return $(MPI_EXTRA_REQUIREMENTS) ;
-}
-
-# Support for testing; borrowed from Python
-type.register RUN_MPI_OUTPUT ;
-type.register RUN_MPI : : TEST ;
-
-class mpi-test-generator : generator
-{
-    import property-set ;
-
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-        self.composing = true ;
-    }
-
-    rule run ( project name ? : property-set : sources * : multiple ? )
-    {  
-      # Generate an executable from the sources. This is the executable we will run.
-      local executable = 
-        [ generators.construct $(project) $(name) : EXE : $(property-set) : $(sources) ] ;
-
-      result = 
-        [ construct-result $(executable[2-]) : $(project) $(name)-run : $(property-set) ] ;
-    }
-}
-
-# Use mpi-test-generator to generate MPI tests from sources
-generators.register 
-  [ new mpi-test-generator mpi.capture-output : : RUN_MPI_OUTPUT ] ;
-
-generators.register-standard testing.expect-success 
-  : RUN_MPI_OUTPUT : RUN_MPI ;
-
-# The number of processes to spawn when executing an MPI test.
-feature mpi:processes : : free incidental ;
-
-# The flag settings on testing.capture-output do not
-# apply to mpi.capture output at the moment.
-# Redo this explicitly.
-toolset.flags mpi.capture-output ARGS <testing.arg> ;
-rule capture-output ( target : sources * : properties * )
-{
-    # Use the standard capture-output rule to run the tests
-    testing.capture-output $(target) : $(sources[1]) : $(properties) ;
-
-    # Determine the number of processes we should run on.
-    local num_processes = [ property.select <mpi:processes> : $(properties) ] ;
-    num_processes = $(num_processes:G=) ;
-
-    # serialize the MPI tests to avoid overloading systems
-    JAM_SEMAPHORE on $(target) = <s>mpi-run-semaphore ;
-
-    # We launch MPI processes using the "mpirun" equivalent specified by the user.
-    LAUNCHER on $(target) =  
-      [ on $(target) return $(.mpirun) $(.mpirun_flags) $(num_processes) ] ;
-}
-
-# Creates a set of test cases to be run through the MPI launcher. The name, sources, 
-# and requirements are the same as for any other test generator. However, schedule is 
-# a list of numbers, which indicates how many processes each test run will use. For 
-# example, passing 1 2 7 will run the test with 1 process, then 2 processes, then 7
-# 7 processes. The name provided is just the base name: the actual tests will be 
-# the name followed by a hypen, then the number of processes. 
-rule mpi-test ( name : sources * : requirements * : schedule * )
-{        
-    sources ?= $(name).cpp ;
-    schedule ?= 1 2 3 4 7 8 13 17 ;
-
-    local result ;
-    for processes in $(schedule)
-    {  
-      result += [ testing.make-test 
-        run-mpi : $(sources) /boost/mpi//boost_mpi
-          : $(requirements) <toolset>msvc:<link>static <mpi:processes>$(processes) : $(name)-$(processes) ] ;
-    }
-    return $(result) ;
-}
diff --git a/SRC/Boost/tools/build/v2/tools/msvc-config.jam b/SRC/Boost/tools/build/v2/tools/msvc-config.jam
deleted file mode 100755
index 2f10b22..0000000
--- a/SRC/Boost/tools/build/v2/tools/msvc-config.jam
+++ /dev/null
@@ -1,12 +0,0 @@
-#~ Copyright 2005 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Automatic configuration for VisualStudio toolset. To use, just import this module.
-
-import toolset : using ;
-
-ECHO "warning: msvc-config.jam is deprecated. Use 'using msvc : all ;' instead." ;
-
-using msvc : all ;
-
diff --git a/SRC/Boost/tools/build/v2/tools/msvc.jam b/SRC/Boost/tools/build/v2/tools/msvc.jam
deleted file mode 100755
index 976f081..0000000
--- a/SRC/Boost/tools/build/v2/tools/msvc.jam
+++ /dev/null
@@ -1,1392 +0,0 @@
-# Copyright (c) 2003 David Abrahams.
-# Copyright (c) 2005 Vladimir Prus.
-# Copyright (c) 2005 Alexey Pakhunov.
-# Copyright (c) 2006 Bojan Resnik.
-# Copyright (c) 2006 Ilya Sokolov.
-# Copyright (c) 2007 Rene Rivera
-# Copyright (c) 2008 Jurko Gospodnetic
-#
-# Use, modification and distribution is subject to the Boost Software
-# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-# http://www.boost.org/LICENSE_1_0.txt)
-
-################################################################################
-#
-# MSVC Boost Build toolset module.
-# --------------------------------
-#
-# All toolset versions need to have their location either auto-detected or
-# explicitly specified except for the special 'default' version that expects the
-# environment to find the needed tools or report an error.
-#
-################################################################################
-
-import "class" : new ;
-import common ;
-import errors ;
-import feature ;
-import generators ;
-import mc ;
-import midl ;
-import os ;
-import path ;
-import pch ;
-import property ;
-import rc ;
-import toolset ;
-import type ;
-
-
-type.register MANIFEST : manifest ;
-feature.feature embed-manifest : on off : incidental propagated ;
-
-type.register PDB : pdb ;
-
-################################################################################
-#
-# Public rules.
-#
-################################################################################
-
-# Initialize a specific toolset version configuration. As the result, path to
-# compiler and, possible, program names are set up, and will be used when that
-# version of compiler is requested. For example, you might have:
-#
-#    using msvc : 6.5 : cl.exe ;
-#    using msvc : 7.0 : Y:/foo/bar/cl.exe ;
-#
-# The version parameter may be ommited:
-#
-#    using msvc : : Z:/foo/bar/cl.exe ;
-#
-# The following keywords have special meanings when specified as versions:
-#   - all     - all detected but not yet used versions will be marked as used
-#               with their default options.
-#   - default - this is an equivalent to an empty version.
-#
-# Depending on a supplied version, detected configurations and presence 'cl.exe'
-# in the path different results may be achieved. The following table describes
-# the possible scenarios:
-#
-#                                      Nothing            "x.y"
-# Passed   Nothing       "x.y"         detected,          detected,
-# version  detected      detected      cl.exe in path     cl.exe in path
-#
-# default  Error         Use "x.y"     Create "default"   Use "x.y"
-# all      None          Use all       None               Use all
-# x.y      -             Use "x.y"     -                  Use "x.y"
-# a.b      Error         Error         Create "a.b"       Create "a.b"
-#
-# "x.y" - refers to a detected version;
-# "a.b" - refers to an undetected version.
-#
-# FIXME: Currently the command parameter and the <compiler> property parameter
-# seem to overlap in duties. Remove this duplication. This seems to be related
-# to why someone started preparing to replace init with configure rules.
-#
-rule init (
-    # The msvc version being configured. When omitted the tools invoked when no
-    # explicit version is given will be configured.
-    version ?
-
-    # The command used to invoke the compiler. If not specified:
-    #   - if version is given, default location for that version will be
-    #     searched
-    #
-    #   - if version is not given, default locations for MSVC 9.0, 8.0, 7.1, 7.0
-    #     and 6.* will be searched
-    #
-    #   - if compiler is not found in the default locations, PATH will be
-    #     searched.
-    : command *
-
-    # Options may include:
-    #
-    #     All options shared by multiple toolset types as handled by the
-    #   common.handle-options() rule, e.g. <cflags>, <compileflags>, <cxxflags>,
-    #   <fflags> & <linkflags>.
-    #
-    #   <assembler>
-    #   <compiler>
-    #   <idl-compiler>
-    #   <linker>
-    #   <mc-compiler>
-    #   <resource-compiler>
-    #       Exact tool names to be used by this msvc toolset configuration.
-    #
-    #   <compiler-filter>
-    #       Command through which to pipe the output of running the compiler.
-    #     For example to pass the output to STLfilt.
-    #
-    #   <setup>
-    #       Global setup command to invoke before running any of the msvc tools.
-    #     It will be passed additional option parameters depending on the actual
-    #     target platform.
-    #
-    #   <setup-amd64>
-    #   <setup-i386>
-    #   <setup-ia64>
-    #       Platform specific setup command to invoke before running any of the
-    #     msvc tools used when builing a target for a specific platform, e.g.
-    #     when building a 32 or 64 bit executable.
-    : options *
-)
-{
-    if $(command)
-    {
-        options += <command>$(command) ;
-    }
-    configure $(version) : $(options) ;
-}
-
-
-# 'configure' is a newer version of 'init'. The parameter 'command' is passed as
-# a part of the 'options' list. See the 'init' rule comment for more detailed
-# information.
-#
-rule configure ( version ? : options * )
-{
-    switch $(version)
-    {
-        case "all" :
-            if $(options)
-            {
-                errors.error "MSVC toolset configuration: options should be"
-                    "empty when '$(version)' is specified." ;
-            }
-
-            # Configure (i.e. mark as used) all registered versions.
-            local all-versions = [ $(.versions).all ] ;
-            if ! $(all-versions)
-            {
-                if $(.debug-configuration)
-                {
-                    ECHO "notice: [msvc-cfg] Asked to configure all registered"
-                        "msvc toolset versions when there are none currently"
-                        "registered." ;
-                }
-            }
-            else
-            {
-                for local v in $(all-versions)
-                {
-                    # Note that there is no need to skip already configured
-                    # versions here as this will request configure-really rule
-                    # to configure the version using default options which will
-                    # in turn cause it to simply do nothing in case the version
-                    # has already been configured.
-                    configure-really $(v) ;
-                }
-            }
-
-        case "default" :
-            configure-really : $(options) ;
-
-        case * :
-            configure-really $(version) : $(options) ;
-    }
-}
-
-
-# Sets up flag definitions dependent on the compiler version used.
-# - 'version' is the version of compiler in N.M format.
-# - 'conditions' is the property set to be used as flag conditions.
-# - 'toolset' is the toolset for which flag settings are to be defined.
-#   This makes the rule reusable for other msvc-option-compatible compilers.
-#
-rule configure-version-specific ( toolset : version : conditions )
-{
-    toolset.push-checking-for-flags-module unchecked ;
-    # Starting with versions 7.0, the msvc compiler have the /Zc:forScope and
-    # /Zc:wchar_t options that improve C++ standard conformance, but those
-    # options are off by default. If we are sure that the msvc version is at
-    # 7.*, add those options explicitly. We can be sure either if user specified
-    # version 7.* explicitly or if we auto-detected the version ourselves.
-    if ! [ MATCH ^(6\\.) : $(version) ]
-    {
-        toolset.flags $(toolset).compile CFLAGS $(conditions) : /Zc:forScope /Zc:wchar_t ;
-        toolset.flags $(toolset).compile.c++ C++FLAGS $(conditions) : /wd4675 ;
-
-        # Explicitly disable the 'function is deprecated' warning. Some msvc
-        # versions have a bug, causing them to emit the deprecation warning even
-        # with /W0.
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/<warnings>off : /wd4996 ;
-
-        if [ MATCH ^([78]\\.) : $(version) ]
-        {
-            # 64-bit compatibility warning deprecated since 9.0, see
-            # http://msdn.microsoft.com/en-us/library/yt4xw8fh.aspx
-            toolset.flags $(toolset).compile CFLAGS $(conditions)/<warnings>all : /Wp64 ;
-        }
-    }
-
-    #
-    # Processor-specific optimization.
-    #
-
-    if [ MATCH ^([67]) : $(version) ]
-    {
-        # 8.0 deprecates some of the options.
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/<optimization>speed $(conditions)/<optimization>space : /Ogiy /Gs ;
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/<optimization>speed : /Ot ;
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/<optimization>space : /Os ;
-
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/$(.cpu-arch-i386)/<instruction-set> : /GB ;
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/$(.cpu-arch-i386)/<instruction-set>i386 : /G3 ;
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/$(.cpu-arch-i386)/<instruction-set>i486 : /G4 ;
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/$(.cpu-arch-i386)/<instruction-set>$(.cpu-type-g5) : /G5 ;
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/$(.cpu-arch-i386)/<instruction-set>$(.cpu-type-g6) : /G6 ;
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/$(.cpu-arch-i386)/<instruction-set>$(.cpu-type-g7) : /G7 ;
-
-        # Improve floating-point accuracy. Otherwise, some of C++ Boost's "math"
-        # tests will fail.
-        toolset.flags $(toolset).compile CFLAGS $(conditions) : /Op ;
-
-        # 7.1 and below have single-threaded static RTL.
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/<runtime-debugging>off/<runtime-link>static/<threading>single : /ML ;
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/<runtime-debugging>on/<runtime-link>static/<threading>single : /MLd ;
-    }
-    else
-    {
-        # 8.0 and above adds some more options.
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/$(.cpu-arch-amd64)/<instruction-set> : /favor:blend ;
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/$(.cpu-arch-amd64)/<instruction-set>$(.cpu-type-em64t) : /favor:EM64T ;
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/$(.cpu-arch-amd64)/<instruction-set>$(.cpu-type-amd64) : /favor:AMD64 ;
-
-        # 8.0 and above only has multi-threaded static RTL.
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/<runtime-debugging>off/<runtime-link>static/<threading>single : /MT ;
-        toolset.flags $(toolset).compile CFLAGS $(conditions)/<runtime-debugging>on/<runtime-link>static/<threading>single : /MTd ;
-
-        # Specify target machine type so the linker will not need to guess.
-        toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-amd64) : /MACHINE:X64 ;
-        toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-i386)  : /MACHINE:X86 ;
-        toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-ia64)  : /MACHINE:IA64 ;
-        
-        # Make sure that manifest will be generated even if there is no
-        # dependencies to put there.
-        toolset.flags $(toolset).link LINKFLAGS $(conditions)/<embed-manifest>off : /MANIFEST ;
-    }
-    toolset.pop-checking-for-flags-module ;
-}
-
-
-# Registers this toolset including all of its flags, features & generators. Does
-# nothing on repeated calls.
-#
-rule register-toolset ( )
-{
-    if ! msvc in [ feature.values toolset ]
-    {
-        register-toolset-really ;
-    }
-}
-
-
-# Declare action for creating static libraries. If library exists, remove it
-# before adding files. See
-# http://article.gmane.org/gmane.comp.lib.boost.build/4241 for rationale.
-if [ os.name ] in NT
-{
-    # The 'DEL' command would issue a message to stdout if the file does not
-    # exist, so need a check.
-    actions archive
-    {
-        if exist "$(<[1])" DEL "$(<[1])"
-        $(.LD) $(AROPTIONS) /out:"$(<[1])" @"@($(<[1]:W).rsp:E=$(.nl)"$(>)" $(.nl)$(LIBRARIES_MENTIONED_BY_FILE) $(.nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST).lib" $(.nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA).lib")"
-    }
-}
-else
-{
-    actions archive
-    {
-        $(.RM) "$(<[1])"
-        $(.LD) $(AROPTIONS) /out:"$(<[1])" @"@($(<[1]:W).rsp:E=$(.nl)"$(>)" $(.nl)$(LIBRARIES_MENTIONED_BY_FILE) $(.nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST).lib" $(.nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA).lib")"
-    }
-}
-
-
-# For the assembler the following options are turned on by default:
-#
-#   -Zp4   align structures to 4 bytes
-#   -Cp    preserve case of user identifiers
-#   -Cx    preserve case in publics, externs
-#
-actions compile.asm
-{
-    $(.ASM) -c -Zp4 -Cp -Cx -D$(DEFINES) $(ASMFLAGS) $(USER_ASMFLAGS) -Fo "$(<:W)" "$(>:W)"
-}
-
-
-rule compile.c ( targets + : sources * : properties * )
-{
-    C++FLAGS on $(targets[1]) = ;
-    get-rspline $(targets) : -TC ;
-    compile-c-c++ $(<) : $(>) [ on $(<) return $(PCH_FILE) ] [ on $(<) return $(PCH_HEADER) ] ;
-}
-
-
-rule compile.c.preprocess ( targets + : sources * : properties * )
-{
-    C++FLAGS on $(targets[1]) = ;
-    get-rspline $(targets) : -TC ;
-    preprocess-c-c++ $(<) : $(>) [ on $(<) return $(PCH_FILE) ] [ on $(<) return $(PCH_HEADER) ] ;
-}
-
-
-rule compile.c.pch ( targets + : sources * : properties * )
-{
-    C++FLAGS on $(targets[1]) = ;
-    get-rspline $(targets[1]) : -TC ;
-    get-rspline $(targets[2]) : -TC ;
-    local pch-source = [ on $(<) return $(PCH_SOURCE) ] ;
-    if $(pch-source)
-    {
-        DEPENDS $(<) : $(pch-source) ;
-        compile-c-c++-pch-s $(targets) : $(sources) $(pch-source) ;
-    }
-    else
-    {
-        compile-c-c++-pch $(targets) : $(sources) ;
-    }
-}
-
-toolset.flags msvc YLOPTION : "-Yl" ;
-
-# Action for running the C/C++ compiler without using precompiled headers.
-#
-# WARNING: Synchronize any changes this in action with intel-win
-#
-# Notes regarding PDB generation, for when we use <debug-symbols>on/<debug-store>database
-#
-# 1. PDB_CFLAG is only set for <debug-symbols>on/<debug-store>database, ensuring that the /Fd flag is dropped if PDB_CFLAG is empty
-#
-# 2. When compiling executables's source files, PDB_NAME is set on a per-source file basis by rule compile-c-c++. 
-#    The linker will pull these into the executable's PDB
-#
-# 3. When compiling library's source files, PDB_NAME is updated to <libname>.pdb for each source file by rule archive, 
-#    as in this case the compiler must be used to create a single PDB for our library.
-#
-actions compile-c-c++ bind PDB_NAME
-{
-    $(.CC) @"@($(<[1]:W).rsp:E="$(>[1]:W)" -Fo"$(<[1]:W)" $(PDB_CFLAG)"$(PDB_NAME)" -Yu"$(>[3]:D=)" -Fp"$(>[2]:W)" $(CC_RSPLINE))" $(.CC.FILTER)
-}
-
-actions preprocess-c-c++ bind PDB_NAME
-{
-    $(.CC) @"@($(<[1]:W).rsp:E="$(>[1]:W)" -E $(PDB_CFLAG)"$(PDB_NAME)" -Yu"$(>[3]:D=)" -Fp"$(>[2]:W)" $(CC_RSPLINE))" >"$(<[1]:W)"
-}
-
-rule compile-c-c++ ( targets + : sources * )
-{
-    DEPENDS $(<[1]) : [ on $(<[1]) return $(PCH_HEADER) ] ;
-    DEPENDS $(<[1]) : [ on $(<[1]) return $(PCH_FILE) ] ;
-    PDB_NAME on $(<) = $(<:S=.pdb) ;
-}
-
-rule preprocess-c-c++ ( targets + : sources * )
-{
-    DEPENDS $(<[1]) : [ on $(<[1]) return $(PCH_HEADER) ] ;
-    DEPENDS $(<[1]) : [ on $(<[1]) return $(PCH_FILE) ] ;
-    PDB_NAME on $(<) = $(<:S=.pdb) ;
-}
-
-# Action for running the C/C++ compiler using precompiled headers. In addition
-# to whatever else it needs to compile, this action also adds a temporary source
-# .cpp file used to compile the precompiled headers themselves.
-#
-# The global .escaped-double-quote variable is used to avoid messing up Emacs
-# syntax highlighting in the messy N-quoted code below.
-actions compile-c-c++-pch
-{
-    $(.CC) @"@($(<[1]:W).rsp:E="$(>[2]:W)" -Fo"$(<[2]:W)" -Yc"$(>[1]:D=)" $(YLOPTION)"__bjam_pch_symbol_$(>[1]:D=)" -Fp"$(<[1]:W)" $(CC_RSPLINE))" "@($(<[1]:W).cpp:E=#include $(.escaped-double-quote)$(>[1]:D=)$(.escaped-double-quote)$(.nl))" $(.CC.FILTER)
-}
-
-
-# Action for running the C/C++ compiler using precompiled headers. An already
-# built source file for compiling the precompiled headers is expected to be
-# given as one of the source parameters.
-actions compile-c-c++-pch-s
-{
-    $(.CC) @"@($(<[1]:W).rsp:E="$(>[2]:W)" -Fo"$(<[2]:W)" -Yc"$(>[1]:D=)" $(YLOPTION)"__bjam_pch_symbol_$(>[1]:D=)" -Fp"$(<[1]:W)" $(CC_RSPLINE))" $(.CC.FILTER)
-}
-
-
-rule compile.c++ ( targets + : sources * : properties * )
-{
-    get-rspline $(targets) : -TP ;
-    compile-c-c++ $(<) : $(>) [ on $(<) return $(PCH_FILE) ] [ on $(<) return $(PCH_HEADER) ] ;
-}
-
-rule compile.c++.preprocess ( targets + : sources * : properties * )
-{
-    get-rspline $(targets) : -TP ;
-    preprocess-c-c++ $(<) : $(>) [ on $(<) return $(PCH_FILE) ] [ on $(<) return $(PCH_HEADER) ] ;
-}
-
-
-rule compile.c++.pch ( targets + : sources * : properties * )
-{
-    get-rspline $(targets[1]) : -TP ;
-    get-rspline $(targets[2]) : -TP ;
-    local pch-source = [ on $(<) return $(PCH_SOURCE) ] ;
-    if $(pch-source)
-    {
-        DEPENDS $(<) : $(pch-source) ;
-        compile-c-c++-pch-s $(targets) : $(sources) $(pch-source) ;
-    }
-    else
-    {
-        compile-c-c++-pch $(targets) : $(sources) ;
-    }
-}
-
-
-# See midl.jam for details.
-#
-actions compile.idl
-{
-    $(.IDL) /nologo @"@($(<[1]:W).rsp:E=$(.nl)"$(>:W)" $(.nl)-D$(DEFINES) $(.nl)"-I$(INCLUDES:W)" $(.nl)-U$(UNDEFS) $(.nl)$(MIDLFLAGS) $(.nl)/tlb "$(<[1]:W)" $(.nl)/h "$(<[2]:W)" $(.nl)/iid "$(<[3]:W)" $(.nl)/proxy "$(<[4]:W)" $(.nl)/dlldata "$(<[5]:W)")"
-    $(.TOUCH_FILE) "$(<[4]:W)"
-    $(.TOUCH_FILE) "$(<[5]:W)"
-}
-
-
-actions compile.mc
-{
-    $(.MC) $(MCFLAGS) -h "$(<[1]:DW)" -r "$(<[2]:DW)" "$(>:W)"
-}
-
-
-actions compile.rc
-{
-    $(.RC) -l 0x409 -U$(UNDEFS) -D$(DEFINES) -I"$(INCLUDES:W)" -fo "$(<:W)" "$(>:W)"
-}
-
-
-rule link ( targets + : sources * : properties * )
-{
-    if <embed-manifest>on in $(properties)
-    {        
-        msvc.manifest $(targets) : $(sources) : $(properties) ;
-    }    
-}
-
-rule link.dll ( targets + : sources * : properties * )
-{
-    DEPENDS $(<) : [ on $(<) return $(DEF_FILE) ] ;
-    if <embed-manifest>on in $(properties)
-    {        
-        msvc.manifest.dll $(targets) : $(sources) : $(properties) ;
-    }    
-}
-
-# Incremental linking a DLL causes no end of problems: if the actual exports do
-# not change, the import .lib file is never updated. Therefore, the .lib is
-# always out-of-date and gets rebuilt every time. I am not sure that incremental
-# linking is such a great idea in general, but in this case I am sure we do not
-# want it.
-
-# Windows manifest is a new way to specify dependencies on managed DotNet
-# assemblies and Windows native DLLs. The manifests are embedded as resources
-# and are useful in any PE target (both DLL and EXE).
-
-if [ os.name ] in NT
-{
-    actions link bind DEF_FILE LIBRARIES_MENTIONED_BY_FILE
-    {
-        $(.LD) $(LINKFLAGS) /out:"$(<[1]:W)" /LIBPATH:"$(LINKPATH:W)" $(OPTIONS) @"@($(<[1]:W).rsp:E=$(.nl)"$(>)" $(.nl)$(LIBRARIES_MENTIONED_BY_FILE) $(.nl)$(LIBRARIES) $(.nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST).lib" $(.nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA).lib")"
-        if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
-    }
-    
-    actions manifest
-    {        
-        if exist "$(<[1]).manifest" (
-            $(.MT) -manifest "$(<[1]).manifest" "-outputresource:$(<[1]);1"
-        )
-    }
-    
-    actions link.dll bind DEF_FILE LIBRARIES_MENTIONED_BY_FILE
-    {
-        $(.LD) /DLL $(LINKFLAGS) /out:"$(<[1]:W)" /IMPLIB:"$(<[2]:W)" /LIBPATH:"$(LINKPATH:W)" /def:"$(DEF_FILE)" $(OPTIONS) @"@($(<[1]:W).rsp:E=$(.nl)"$(>)" $(.nl)$(LIBRARIES_MENTIONED_BY_FILE) $(.nl)$(LIBRARIES) $(.nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST).lib" $(.nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA).lib")"
-        if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
-    }
-
-    actions manifest.dll
-    {        
-        if exist "$(<[1]).manifest" (
-            $(.MT) -manifest "$(<[1]).manifest" "-outputresource:$(<[1]);2"
-        )
-    }    
-}
-else
-{        
-    actions link bind DEF_FILE LIBRARIES_MENTIONED_BY_FILE
-    {
-        $(.LD) $(LINKFLAGS) /out:"$(<[1]:W)" /LIBPATH:"$(LINKPATH:W)" $(OPTIONS) @"@($(<[1]:W).rsp:E=$(.nl)"$(>)" $(.nl)$(LIBRARIES_MENTIONED_BY_FILE) $(.nl)$(LIBRARIES) $(.nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST).lib" $(.nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA).lib")"
-    }
-
-    actions manifest
-    {        
-        if test -e "$(<[1]).manifest"; then
-            $(.MT) -manifest "$(<[1]:W).manifest" "-outputresource:$(<[1]:W);1"
-        fi
-    }
-    
-    actions link.dll bind DEF_FILE LIBRARIES_MENTIONED_BY_FILE
-    {
-        $(.LD) /DLL $(LINKFLAGS) /out:"$(<[1]:W)" /IMPLIB:"$(<[2]:W)" /LIBPATH:"$(LINKPATH:W)" /def:"$(DEF_FILE)" $(OPTIONS) @"@($(<[1]:W).rsp:E=$(.nl)"$(>)" $(.nl)$(LIBRARIES_MENTIONED_BY_FILE) $(.nl)$(LIBRARIES) $(.nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST).lib" $(.nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA).lib")"
-    }
-    
-    actions manifest.dll
-    {
-        if test -e "$(<[1]).manifest"; then
-          $(.MT) -manifest "$(<[1]:W).manifest" "-outputresource:$(<[1]:W);2"
-        fi
-    }    
-}
-
-# this rule sets up the pdb file that will be used when generating static 
-# libraries and the debug-store option is database, so that the compiler 
-# puts all debug info into a single .pdb file named after the library
-#
-# Poking at source targets this way is probably not clean, but it's the
-# easiest approach.
-rule archive ( targets + : sources * : properties * )
-{
-    PDB_NAME on $(>) = $(<:S=.pdb) ;
-}
-
-################################################################################
-#
-# Classes.
-#
-################################################################################
-
-class msvc-pch-generator : pch-generator
-{
-    import property-set ;
-
-    rule run-pch ( project name ? : property-set : sources * )
-    {
-        # Searching for the header and source file in the sources.
-        local pch-header ;
-        local pch-source ;
-        for local s in $(sources)
-        {
-            if [ type.is-derived [ $(s).type ] H ]
-            {
-                pch-header = $(s) ;
-            }
-            else if
-                [ type.is-derived [ $(s).type ] CPP ] ||
-                [ type.is-derived [ $(s).type ] C ]
-            {
-                pch-source = $(s) ;
-            }
-        }
-
-        if ! $(pch-header)
-        {
-            errors.user-error "can not build pch without pch-header" ;
-        }
-
-        # If we do not have the PCH source - that is fine. We will just create a
-        # temporary .cpp file in the action.
-
-        local generated = [ generator.run $(project) $(name)
-            : [ property-set.create
-                # Passing of <pch-source> is a dirty trick, needed because
-                # non-composing generators with multiple inputs are subtly
-                # broken. For more detailed information see:
-                # https://zigzag.cs.msu.su:7813/boost.build/ticket/111
-                <pch-source>$(pch-source)
-                [ $(property-set).raw ] ]
-            : $(pch-header) ] ;
-
-        local pch-file ;
-        for local g in $(generated)
-        {
-            if [ type.is-derived [ $(g).type ] PCH ]
-            {
-                pch-file = $(g) ;
-            }
-        }
-
-        return [ property-set.create <pch-header>$(pch-header)
-            <pch-file>$(pch-file) ] $(generated) ;
-    }
-}
-
-
-################################################################################
-#
-# Local rules.
-#
-################################################################################
-
-# Detects versions listed as '.known-versions' by checking registry information,
-# environment variables & default paths. Supports both native Windows and
-# Cygwin.
-#
-local rule auto-detect-toolset-versions ( )
-{
-    if [ os.name ] in NT CYGWIN
-    {
-        # Get installation paths from the registry.
-        for local i in $(.known-versions)
-        {
-            if $(.version-$(i)-reg)
-            {
-                local vc-path ;
-                for local x in "" "Wow6432Node\\"
-                {
-                    vc-path += [ W32_GETREG
-                        "HKEY_LOCAL_MACHINE\\SOFTWARE\\"$(x)"\\Microsoft\\"$(.version-$(i)-reg)
-                        : "ProductDir" ] ;
-                }
-
-                if $(vc-path)
-                {
-                    vc-path = [ path.join [ path.make-NT $(vc-path[1]) ] "bin" ] ;
-                    register-configuration $(i) : [ path.native $(vc-path[1]) ] ;
-                }
-            }
-        }
-    }
-
-    # Check environment and default installation paths.
-    for local i in $(.known-versions)
-    {
-        if ! $(i) in [ $(.versions).all ]
-        {
-            register-configuration $(i) : [ default-path $(i) ] ;
-        }
-    }
-}
-
-
-# Worker rule for toolset version configuration. Takes an explicit version id or
-# nothing in case it should configure the default toolset version (the first
-# registered one or a new 'default' one in case no toolset versions have been
-# registered yet).
-#
-local rule configure-really ( version ? : options * )
-{
-    local v = $(version) ;
-
-    # Decide what the 'default' version is.
-    if ! $(v)
-    {
-        # Take the first registered (i.e. auto-detected) version.
-        version = [ $(.versions).all ] ;
-        version = $(version[1]) ;
-        v = $(version) ;
-
-        # Note: 'version' can still be empty at this point if no versions have
-        # been auto-detected.
-        version ?= "default" ;
-    }
-
-    # Version alias -> real version number.
-    if $(.version-alias-$(version))
-    {
-        version = $(.version-alias-$(version)) ;
-    }
-
-    # Check whether the selected configuration is already in use.
-    if $(version) in [ $(.versions).used ]
-    {
-        # Allow multiple 'toolset.using' calls for the same configuration if the
-        # identical sets of options are used.
-        if $(options) && ( $(options) != [ $(.versions).get $(version) : options ] )
-        {
-            errors.error "MSVC toolset configuration: Toolset version"
-                "'$(version)' already configured." ;
-        }
-    }
-    else
-    {
-        # Register a new configuration.
-        $(.versions).register $(version) ;
-
-        # Add user-supplied to auto-detected options.
-        options = [ $(.versions).get $(version) : options ] $(options) ;
-
-        # Mark the configuration as 'used'.
-        $(.versions).use $(version) ;
-
-        # Generate conditions and save them.
-        local conditions = [ common.check-init-parameters msvc : version $(v) ]
-            ;
-
-        $(.versions).set $(version) : conditions : $(conditions) ;
-
-        local command = [ feature.get-values <command> : $(options) ] ;
-
-        # If version is specified, we try to search first in default paths, and
-        # only then in PATH.
-        command = [ common.get-invocation-command msvc : cl.exe : $(command) :
-            [ default-paths $(version) ] : $(version) ] ;
-
-        common.handle-options msvc : $(conditions) : $(command) : $(options) ;
-
-        if ! $(version)
-        {
-            # Even if version is not explicitly specified, try to detect the
-            # version from the path.
-            # FIXME: We currently detect both Microsoft Visual Studio 9.0 and
-            # 9.0express as 9.0 here.
-            if [ MATCH "(Microsoft Visual Studio 10)" : $(command) ]
-            {
-                version = 10.0 ;
-            }
-            else if [ MATCH "(Microsoft Visual Studio 9)" : $(command) ]
-            {
-                version = 9.0 ;
-            }
-            else if [ MATCH "(Microsoft Visual Studio 8)" : $(command) ]
-            {
-                version = 8.0 ;
-            }
-            else if [ MATCH "(NET 2003[\/\\]VC7)" : $(command) ]
-            {
-                version = 7.1 ;
-            }
-            else if [ MATCH "(Microsoft Visual C\\+\\+ Toolkit 2003)" :
-                $(command) ]
-            {
-                version = 7.1toolkit ;
-            }
-            else if [ MATCH "(.NET[\/\\]VC7)" : $(command) ]
-            {
-                version = 7.0 ;
-            }
-            else
-            {
-                version = 6.0 ;
-            }
-        }
-
-        # Generate and register setup command.
-
-        local below-8.0 = [ MATCH ^([67]\\.) : $(version) ] ;
-
-        local cpu = i386 amd64 ia64 ;
-        if $(below-8.0)
-        {
-            cpu = i386 ;
-        }
-
-        local setup-amd64 ;
-        local setup-i386 ;
-        local setup-ia64 ;
-
-        if $(command)
-        {
-            # TODO: Note that if we specify a non-existant toolset version then
-            # this rule may find and use a corresponding compiler executable
-            # belonging to an incorrect toolset version. For example, if you
-            # have only MSVC 7.1 installed, have its executable on the path and
-            # specify you want Boost Build to use MSVC 9.0, then you want Boost
-            # Build to report an error but this may cause it to silently use the
-            # MSVC 7.1 compiler even though it thinks it is using the msvc-9.0
-            # toolset version.
-            command = [ common.get-absolute-tool-path $(command[-1]) ] ;
-        }
-        
-        if $(command)
-        {            
-            local parent = [ path.make $(command) ] ;
-            parent = [ path.parent $(parent) ] ;
-            parent = [ path.native $(parent) ] ;
-
-            # Setup will be used if the command name has been specified. If
-            # setup is not specified explicitly then a default setup script will
-            # be used instead. Setup scripts may be global or arhitecture/
-            # /platform/cpu specific. Setup options are used only in case of
-            # global setup scripts.
-
-            # Default setup scripts provided with different VC distributions:
-            #
-            #   VC 7.1 had only the vcvars32.bat script specific to 32 bit i386
-            # builds. It was located in the bin folder for the regular version
-            # and in the root folder for the free VC 7.1 tools.
-            #
-            #   Later 8.0 & 9.0 versions introduce separate platform specific
-            # vcvars*.bat scripts (e.g. 32 bit, 64 bit AMD or 64 bit Itanium)
-            # located in or under the bin folder. Most also include a global
-            # vcvarsall.bat helper script located in the root folder which runs
-            # one of the aforementioned vcvars*.bat scripts based on the options
-            # passed to it. So far only the version coming with some PlatformSDK
-            # distributions does not include this top level script but to
-            # support those we need to fall back to using the worker scripts
-            # directly in case the top level script can not be found.
-
-            local global-setup = [ feature.get-values <setup> : $(options) ] ;
-            global-setup = $(global-setup[1]) ;
-            if ! $(below-8.0)
-            {
-                global-setup ?= [ locate-default-setup $(command) : $(parent) :
-                    vcvarsall.bat ] ;
-            }
-
-            local default-setup-amd64 = vcvarsx86_amd64.bat ;
-            local default-setup-i386  = vcvars32.bat ;
-            local default-setup-ia64  = vcvarsx86_ia64.bat ;
-
-            # http://msdn2.microsoft.com/en-us/library/x4d2c09s(VS.80).aspx and
-            # http://msdn2.microsoft.com/en-us/library/x4d2c09s(vs.90).aspx
-            # mention an x86_IPF option, that seems to be a documentation bug
-            # and x86_ia64 is the correct option.
-            local default-global-setup-options-amd64 = x86_amd64 ;
-            local default-global-setup-options-i386  = x86 ;
-            local default-global-setup-options-ia64  = x86_ia64 ;
-
-            # When using 64-bit Windows, and targeting 64-bit, it is possible to
-            # use a native 64-bit compiler, selected by the "amd64" & "ia64"
-            # parameters to vcvarsall.bat. There are two variables we can use --
-            # PROCESSOR_ARCHITECTURE and PROCESSOR_IDENTIFIER. The first is
-            # 'x86' when running 32-bit Windows, no matter which processor is
-            # used, and 'AMD64' on 64-bit windows on x86 (either AMD64 or EM64T)
-            # Windows.
-            #
-            if [ MATCH ^(AMD64) : [ os.environ PROCESSOR_ARCHITECTURE ] ]
-            {
-                default-global-setup-options-amd64 = amd64 ;
-            }
-            # TODO: The same 'native compiler usage' should be implemented for
-            # the Itanium platform by using the "ia64" parameter. For this
-            # though we need someone with access to this platform who can find
-            # out how to correctly detect this case.
-            else if $(somehow-detect-the-itanium-platform)
-            {
-                default-global-setup-options-ia64 = ia64 ;
-            }
-
-            local setup-prefix = "call " ;
-            local setup-suffix = " >nul"$(.nl) ;
-            if ! [ os.name ] in NT
-            {
-                setup-prefix = "cmd.exe /S /C call " ;
-                setup-suffix = " \">nul\" \"&&\" " ;
-            }
-
-            for local c in $(cpu)
-            {
-                local setup-options ;
-
-                setup-$(c) = [ feature.get-values <setup-$(c)> : $(options) ] ;
-
-                if ! $(setup-$(c))-is-not-empty
-                {
-                    if $(global-setup)-is-not-empty
-                    {
-                        setup-$(c) = $(global-setup) ;
-
-                        # If needed we can easily add using configuration flags
-                        # here for overriding which options get passed to the
-                        # global setup command for which target platform:
-                        # setup-options = [ feature.get-values <setup-options-$(c)> : $(options) ] ;
-
-                        setup-options ?= $(default-global-setup-options-$(c)) ;
-                    }
-                    else
-                    {
-                        setup-$(c) = [ locate-default-setup $(command) : $(parent) : $(default-setup-$(c)) ] ;
-                    }
-                }
-
-                # Cygwin to Windows path translation.
-                setup-$(c) = "\""$(setup-$(c):W)"\"" ;
-
-                # Append setup options to the setup name and add the final setup
-                # prefix & suffix.
-                setup-options ?= "" ;
-                setup-$(c) = $(setup-prefix)$(setup-$(c):J=" ")" "$(setup-options:J=" ")$(setup-suffix) ;
-            }
-        }
-
-        # Get tool names (if any) and finish setup.
-
-        compiler = [ feature.get-values <compiler> : $(options) ] ;
-        compiler ?= cl ;
-
-        linker = [ feature.get-values <linker> : $(options) ] ;
-        linker ?= link ;
-
-        resource-compiler = [ feature.get-values <resource-compiler> : $(options) ] ;
-        resource-compiler ?= rc ;
-
-        # Turn on some options for i386 assembler
-        #  -coff  generate COFF format object file (compatible with cl.exe output)
-        local default-assembler-amd64 = ml64 ;
-        local default-assembler-i386  = "ml -coff" ;
-        local default-assembler-ia64  = ias ;
-
-        assembler = [ feature.get-values <assembler> : $(options) ] ;
-
-        idl-compiler = [ feature.get-values <idl-compiler> : $(options) ] ;
-        idl-compiler ?= midl ;
-
-        mc-compiler = [ feature.get-values <mc-compiler> : $(options) ] ;
-        mc-compiler ?= mc ;
-
-        manifest-tool = [ feature.get-values <manifest-tool> : $(options) ] ;
-        manifest-tool ?= mt ;
-        
-        local cc-filter = [ feature.get-values <compiler-filter> : $(options) ] ;
-
-        for local c in $(cpu)
-        {
-            # Setup script is not required in some configurations.
-            setup-$(c) ?= "" ;
-
-            local cpu-conditions = $(conditions)/$(.cpu-arch-$(c)) ;
-
-            if $(.debug-configuration)
-            {
-                for local cpu-condition in $(cpu-conditions)
-                {
-                    ECHO "notice: [msvc-cfg] condition: '$(cpu-condition)', setup: '$(setup-$(c))'" ;
-                }
-            }
-
-            local cpu-assembler = $(assembler) ;
-            cpu-assembler ?= $(default-assembler-$(c)) ;
-
-            toolset.flags msvc.compile .CC  $(cpu-conditions) : $(setup-$(c))$(compiler) /Zm800 -nologo ;
-            toolset.flags msvc.compile .RC  $(cpu-conditions) : $(setup-$(c))$(resource-compiler) ;
-            toolset.flags msvc.compile .ASM $(cpu-conditions) : $(setup-$(c))$(cpu-assembler) -nologo ;
-            toolset.flags msvc.link    .LD  $(cpu-conditions) : $(setup-$(c))$(linker) /NOLOGO /INCREMENTAL:NO ;
-            toolset.flags msvc.archive .LD  $(cpu-conditions) : $(setup-$(c))$(linker) /lib /NOLOGO  ;
-            toolset.flags msvc.compile .IDL $(cpu-conditions) : $(setup-$(c))$(idl-compiler) ;
-            toolset.flags msvc.compile .MC  $(cpu-conditions) : $(setup-$(c))$(mc-compiler) ;
-
-            toolset.flags msvc.link .MT $(cpu-conditions) : $(setup-$(c))$(manifest-tool) -nologo ;
-
-            if $(cc-filter)
-            {
-                toolset.flags msvc .CC.FILTER $(cpu-conditions) : "|" $(cc-filter) ;
-            }
-        }
-
-        # Set version-specific flags.
-        configure-version-specific msvc : $(version) : $(conditions) ;
-    }
-}
-
-
-# Returns the default installation path for the given version.
-#
-local rule default-path ( version )
-{
-    # Use auto-detected path if possible.
-    local path = [ feature.get-values <command> : [ $(.versions).get $(version)
-        : options ] ] ;
-
-    if $(path)
-    {
-        path = $(path:D) ;
-    }
-    else
-    {
-        # Check environment.
-        if $(.version-$(version)-env)
-        {
-            local vc-path = [ os.environ $(.version-$(version)-env) ] ;
-            if $(vc-path)
-            {
-                vc-path = [ path.make $(vc-path) ] ;
-                vc-path = [ path.join $(vc-path) $(.version-$(version)-envpath) ] ;
-                vc-path = [ path.native $(vc-path) ] ;
-
-                path = $(vc-path) ;
-            }
-        }
-
-        # Check default path.
-        if ! $(path) && $(.version-$(version)-path)
-        {
-            path = [ path.native [ path.join $(.ProgramFiles) $(.version-$(version)-path) ] ] ;
-        }
-    }
-
-    return $(path) ;
-}
-
-
-# Returns either the default installation path (if 'version' is not empty) or
-# list of all known default paths (if no version is given)
-#
-local rule default-paths ( version ? )
-{
-    local possible-paths ;
-
-    if $(version)
-    {
-        possible-paths += [ default-path $(version) ] ;
-    }
-    else
-    {
-        for local i in $(.known-versions)
-        {
-            possible-paths += [ default-path $(i) ] ;
-        }
-    }
-
-    return $(possible-paths) ;
-}
-
-
-rule get-rspline ( target : lang-opt )
-{
-    CC_RSPLINE on $(target) = [ on $(target) return $(lang-opt) -U$(UNDEFS)
-        $(CFLAGS) $(C++FLAGS) $(OPTIONS) -c $(.nl)-D$(DEFINES)
-        $(.nl)\"-I$(INCLUDES:W)\" ] ;
-}
-
-class msvc-linking-generator : linking-generator
-{
-    # Calls the base version.  If necessary, also create a target for the
-    # manifest file.specifying source's name as the name of the created
-    # target. As result, the PCH will be named whatever.hpp.gch, and not
-    # whatever.gch.
-    rule generated-targets ( sources + : property-set : project name ? )
-    {
-        local result = [ linking-generator.generated-targets $(sources)
-          : $(property-set) : $(project) $(name) ] ;
-
-        if $(result)
-        {
-            local name-main = [ $(result[0]).name ] ;
-            local action = [ $(result[0]).action ] ;
-            
-            if [ $(property-set).get <debug-symbols> ] = "on"
-            {		 
-                # We force exact name on PDB. The reason is tagging -- the tag rule may
-                # reasonably special case some target types, like SHARED_LIB. The tag rule
-                # will not catch PDB, and it cannot even easily figure if PDB is paired with
-                # SHARED_LIB or EXE or something else. Because PDB always get the
-                # same name as the main target, with .pdb as extension, just force it.
-                local target = [ class.new file-target $(name-main:S=.pdb) exact : PDB : $(project) : $(action) ] ;
-                local registered-target = [ virtual-target.register $(target) ] ;
-                if $(target) != $(registered-target)
-                {
-                    $(action).replace-targets $(target) : $(registered-target) ;
-                }
-                result += $(registered-target) ;
-            }
-
-            if [ $(property-set).get <embed-manifest> ] = "off"
-            {
-                # Manifest is evil target. It has .manifest appened to the name of 
-                # main target, including extension. E.g. a.exe.manifest. We use 'exact'
-                # name because to achieve this effect.
-                local target = [ class.new file-target $(name-main).manifest exact : MANIFEST : $(project) : $(action) ] ;
-                local registered-target = [ virtual-target.register $(target) ] ;
-                if $(target) != $(registered-target)
-                {
-                    $(action).replace-targets $(target) : $(registered-target) ;
-                }
-                result += $(registered-target) ;
-            }
-        }
-        return $(result) ;
-    }
-}
-
-
-
-# Unsafe worker rule for the register-toolset() rule. Must not be called
-# multiple times.
-#
-local rule register-toolset-really ( )
-{
-    feature.extend toolset : msvc ;
-
-    # Intel and msvc supposedly have link-compatible objects.
-    feature.subfeature toolset msvc : vendor : intel : propagated optional ;
-
-    # Inherit MIDL flags.
-    toolset.inherit-flags msvc : midl ;
-
-    # Inherit MC flags.
-    toolset.inherit-flags msvc : mc ;
-
-    # Dynamic runtime comes only in MT flavour.
-    toolset.add-requirements
-        <toolset>msvc,<runtime-link>shared:<threading>multi ;
-
-    # Declare msvc toolset specific features.
-    {
-        feature.feature debug-store : object database : propagated ;
-        feature.feature pch-source  :                 : dependency free ;
-    }
-
-    # Declare generators.
-    {
-        # TODO: Is it possible to combine these? Make the generators
-        # non-composing so that they do not convert each source into a separate
-        # .rsp file.
-        generators.register [ new msvc-linking-generator 
-            msvc.link : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB : EXE : <toolset>msvc ] ;
-        generators.register [ new msvc-linking-generator 
-            msvc.link.dll : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB : SHARED_LIB IMPORT_LIB : <toolset>msvc ] ;
-
-        generators.register-archiver msvc.archive : OBJ : STATIC_LIB : <toolset>msvc ;
-        generators.register-c-compiler msvc.compile.c++ : CPP : OBJ : <toolset>msvc ;
-        generators.register-c-compiler msvc.compile.c : C : OBJ : <toolset>msvc ;
-        generators.register-c-compiler msvc.compile.c++.preprocess : CPP : PREPROCESSED_CPP : <toolset>msvc ;
-        generators.register-c-compiler msvc.compile.c.preprocess : C : PREPROCESSED_C : <toolset>msvc ;
-
-        # Using 'register-c-compiler' adds the build directory to INCLUDES.
-        generators.register-c-compiler msvc.compile.rc : RC : OBJ(%_res) : <toolset>msvc ;
-        generators.override msvc.compile.rc : rc.compile.resource ;
-        generators.register-standard msvc.compile.asm : ASM : OBJ : <toolset>msvc ;
-
-        generators.register-c-compiler msvc.compile.idl : IDL : MSTYPELIB H C(%_i) C(%_proxy) C(%_dlldata) : <toolset>msvc ;
-        generators.override msvc.compile.idl : midl.compile.idl ;
-
-        generators.register-standard msvc.compile.mc : MC : H RC : <toolset>msvc ;
-        generators.override msvc.compile.mc : mc.compile ;
-
-        # Note: the 'H' source type will catch both '.h' and '.hpp' headers as
-        # the latter have their HPP type derived from H. The type of compilation
-        # is determined entirely by the destination type.
-        generators.register [ new msvc-pch-generator msvc.compile.c.pch   : H :   C_PCH OBJ : <pch>on <toolset>msvc ] ;
-        generators.register [ new msvc-pch-generator msvc.compile.c++.pch : H : CPP_PCH OBJ : <pch>on <toolset>msvc ] ;
-
-        generators.override msvc.compile.c.pch   : pch.default-c-pch-generator ;
-        generators.override msvc.compile.c++.pch : pch.default-cpp-pch-generator ;
-    }
-
-    toolset.flags msvc.compile PCH_FILE   <pch>on : <pch-file>   ;
-    toolset.flags msvc.compile PCH_SOURCE <pch>on : <pch-source> ;
-    toolset.flags msvc.compile PCH_HEADER <pch>on : <pch-header> ;
-
-    #
-    # Declare flags for compilation.
-    #
-
-    toolset.flags msvc.compile CFLAGS <optimization>speed : /O2 ;
-    toolset.flags msvc.compile CFLAGS <optimization>space : /O1 ;
-
-    toolset.flags msvc.compile CFLAGS $(.cpu-arch-ia64)/<instruction-set>$(.cpu-type-itanium) : /G1 ;
-    toolset.flags msvc.compile CFLAGS $(.cpu-arch-ia64)/<instruction-set>$(.cpu-type-itanium2) : /G2 ;
-
-    toolset.flags msvc.compile CFLAGS <debug-symbols>on/<debug-store>object : /Z7 ;
-    toolset.flags msvc.compile CFLAGS <debug-symbols>on/<debug-store>database : /Zi ;
-    toolset.flags msvc.compile CFLAGS <optimization>off : /Od ;
-    toolset.flags msvc.compile CFLAGS <inlining>off : /Ob0 ;
-    toolset.flags msvc.compile CFLAGS <inlining>on : /Ob1 ;
-    toolset.flags msvc.compile CFLAGS <inlining>full : /Ob2 ;
-
-    toolset.flags msvc.compile CFLAGS <warnings>on : /W3 ;
-    toolset.flags msvc.compile CFLAGS <warnings>off : /W0 ;
-    toolset.flags msvc.compile CFLAGS <warnings>all : /W4 ;
-    toolset.flags msvc.compile CFLAGS <warnings-as-errors>on : /WX ;
-
-    toolset.flags msvc.compile C++FLAGS  <exception-handling>on/<asynch-exceptions>off/<extern-c-nothrow>off : /EHs ;
-    toolset.flags msvc.compile C++FLAGS  <exception-handling>on/<asynch-exceptions>off/<extern-c-nothrow>on : /EHsc ;
-    toolset.flags msvc.compile C++FLAGS  <exception-handling>on/<asynch-exceptions>on/<extern-c-nothrow>off : /EHa ;
-    toolset.flags msvc.compile C++FLAGS  <exception-handling>on/<asynch-exceptions>on/<extern-c-nothrow>on : /EHac ;
-
-    # By default 8.0 enables rtti support while prior versions disabled it. We
-    # simply enable or disable it explicitly so we do not have to depend on this
-    # default behaviour.
-    toolset.flags msvc.compile CFLAGS <rtti>on : /GR ;
-    toolset.flags msvc.compile CFLAGS <rtti>off : /GR- ;
-    toolset.flags msvc.compile CFLAGS <runtime-debugging>off/<runtime-link>shared : /MD ;
-    toolset.flags msvc.compile CFLAGS <runtime-debugging>on/<runtime-link>shared : /MDd ;
-
-    toolset.flags msvc.compile CFLAGS <runtime-debugging>off/<runtime-link>static/<threading>multi : /MT ;
-    toolset.flags msvc.compile CFLAGS <runtime-debugging>on/<runtime-link>static/<threading>multi : /MTd ;
-
-    toolset.flags msvc.compile OPTIONS <cflags> : ;
-    toolset.flags msvc.compile.c++ OPTIONS <cxxflags> : ;
-
-    toolset.flags msvc.compile PDB_CFLAG <debug-symbols>on/<debug-store>database : /Fd ;
-
-    toolset.flags msvc.compile DEFINES <define> ;
-    toolset.flags msvc.compile UNDEFS <undef> ;
-    toolset.flags msvc.compile INCLUDES <include> ;
-
-    # Declare flags for the assembler.
-    toolset.flags msvc.compile.asm USER_ASMFLAGS <asmflags> ;
-
-    toolset.flags msvc.compile.asm ASMFLAGS <debug-symbols>on : "/Zi /Zd" ;
-
-    toolset.flags msvc.compile.asm ASMFLAGS <warnings>on : /W3 ;
-    toolset.flags msvc.compile.asm ASMFLAGS <warnings>off : /W0 ;
-    toolset.flags msvc.compile.asm ASMFLAGS <warnings>all : /W4 ;
-    toolset.flags msvc.compile.asm ASMFLAGS <warnings-as-errors>on : /WX ;
-
-    toolset.flags msvc.compile.asm DEFINES <define> ;
-
-    # Declare flags for linking.
-    {
-        toolset.flags msvc.link PDB_LINKFLAG <debug-symbols>on/<debug-store>database : /PDB: ;  # not used yet
-        toolset.flags msvc.link LINKFLAGS <debug-symbols>on : /DEBUG ;
-        toolset.flags msvc.link DEF_FILE <def-file> ;
-
-        # The linker disables the default optimizations when using /DEBUG so we
-        # have to enable them manually for release builds with debug symbols.
-        toolset.flags msvc LINKFLAGS <debug-symbols>on/<runtime-debugging>off : /OPT:REF,ICF ;
-
-        toolset.flags msvc LINKFLAGS <user-interface>console : /subsystem:console ;
-        toolset.flags msvc LINKFLAGS <user-interface>gui : /subsystem:windows ;
-        toolset.flags msvc LINKFLAGS <user-interface>wince : /subsystem:windowsce ;
-        toolset.flags msvc LINKFLAGS <user-interface>native : /subsystem:native ;
-        toolset.flags msvc LINKFLAGS <user-interface>auto : /subsystem:posix ;
-
-        toolset.flags msvc.link OPTIONS <linkflags> ;
-        toolset.flags msvc.link LINKPATH <library-path> ;
-
-        toolset.flags msvc.link FINDLIBS_ST <find-static-library> ;
-        toolset.flags msvc.link FINDLIBS_SA <find-shared-library> ;
-        toolset.flags msvc.link LIBRARY_OPTION <toolset>msvc : "" : unchecked ;
-        toolset.flags msvc.link LIBRARIES_MENTIONED_BY_FILE : <library-file> ;
-    }
-
-    toolset.flags msvc.archive AROPTIONS <archiveflags> ;
-}
-
-
-# Locates the requested setup script under the given folder and returns its full
-# path or nothing in case the script can not be found. In case multiple scripts
-# are found only the first one is returned.
-#
-# TODO: There used to exist a code comment for the msvc.init rule stating that
-# we do not correctly detect the location of the vcvars32.bat setup script for
-# the free VC7.1 tools in case user explicitly provides a path. This should be
-# tested or simply remove this whole comment in case this toolset version is no
-# longer important.
-#
-local rule locate-default-setup ( command : parent : setup-name )
-{
-    local result = [ GLOB $(command) $(parent) : $(setup-name) ] ;
-    if $(result[1])
-    {
-        return $(result[1]) ;
-    }
-}
-
-
-# Validates given path, registers found configuration and prints debug
-# information about it.
-#
-local rule register-configuration ( version : path ? )
-{
-    if $(path)
-    {
-        local command = [ GLOB $(path) : cl.exe ] ;
-
-        if $(command)
-        {
-            if $(.debug-configuration)
-            {
-                ECHO "notice: [msvc-cfg] msvc-$(version) detected, command: '$(command)'" ;
-            }
-
-            $(.versions).register $(version) ;
-            $(.versions).set $(version) : options : <command>$(command) ;
-        }
-    }
-}
-
-
-################################################################################
-#
-#   Startup code executed when loading this module.
-#
-################################################################################
-
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-    .debug-configuration = true ;
-}
-
-# Miscellaneous constants.
-.RM = [ common.rm-command ] ;
-.nl = "
-" ;
-.ProgramFiles = [ path.make [ common.get-program-files-dir ] ] ;
-.escaped-double-quote = "\"" ;
-.TOUCH_FILE = [ common.file-touch-command ] ;
-
-# List of all registered configurations.
-.versions = [ new configurations ] ;
-
-# Supported CPU architectures.
-.cpu-arch-i386 =
-    <architecture>/<address-model>
-    <architecture>/<address-model>32
-    <architecture>x86/<address-model>
-    <architecture>x86/<address-model>32 ;
-
-.cpu-arch-amd64 =
-    <architecture>/<address-model>64
-    <architecture>x86/<address-model>64 ;
-
-.cpu-arch-ia64 =
-    <architecture>ia64/<address-model>
-    <architecture>ia64/<address-model>64 ;
-
-
-# Supported CPU types (only Itanium optimization options are supported from
-# VC++ 2005 on). See
-# http://msdn2.microsoft.com/en-us/library/h66s5s0e(vs.90).aspx for more
-# detailed information.
-.cpu-type-g5       = i586 pentium pentium-mmx ;
-.cpu-type-g6       = i686 pentiumpro pentium2 pentium3 pentium3m pentium-m k6
-                     k6-2 k6-3 winchip-c6 winchip2 c3 c3-2 ;
-.cpu-type-em64t    = prescott nocona conroe conroe-xe conroe-l allendale mermon
-                     mermon-xe kentsfield kentsfield-xe penryn wolfdale
-                     yorksfield nehalem ;
-.cpu-type-amd64    = k8 opteron athlon64 athlon-fx ;
-.cpu-type-g7       = pentium4 pentium4m athlon athlon-tbird athlon-4 athlon-xp
-                     athlon-mp $(.cpu-type-em64t) $(.cpu-type-amd64) ;
-.cpu-type-itanium  = itanium itanium1 merced ;
-.cpu-type-itanium2 = itanium2 mckinley ;
-
-
-# Known toolset versions, in order of preference.
-.known-versions = 10.0 10.0express 9.0 9.0express 8.0 8.0express 7.1 7.1toolkit 7.0 6.0 ;
-
-# Version aliases.
-.version-alias-6 = 6.0 ;
-.version-alias-6.5 = 6.0 ;
-.version-alias-7 = 7.0 ;
-.version-alias-8 = 8.0 ;
-.version-alias-9 = 9.0 ;
-.version-alias-10 = 10.0 ;
-
-# Names of registry keys containing the Visual C++ installation path (relative
-# to "HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft").
-.version-6.0-reg = "VisualStudio\\6.0\\Setup\\Microsoft Visual C++" ;
-.version-7.0-reg = "VisualStudio\\7.0\\Setup\\VC" ;
-.version-7.1-reg = "VisualStudio\\7.1\\Setup\\VC" ;
-.version-8.0-reg = "VisualStudio\\8.0\\Setup\\VC" ;
-.version-8.0express-reg = "VCExpress\\8.0\\Setup\\VC" ;
-.version-9.0-reg = "VisualStudio\\9.0\\Setup\\VC" ;
-.version-9.0express-reg = "VCExpress\\9.0\\Setup\\VC" ;
-.version-10.0-reg = "VisualStudio\\10.0\\Setup\\VC" ;
-.version-10.0express-reg = "VCExpress\\10.0\\Setup\\VC" ;
-
-# Visual C++ Toolkit 2003 does not store its installation path in the registry.
-# The environment variable 'VCToolkitInstallDir' and the default installation
-# path will be checked instead.
-.version-7.1toolkit-path    = "Microsoft Visual C++ Toolkit 2003" "bin" ;
-.version-7.1toolkit-env     = VCToolkitInstallDir ;
-
-# Path to the folder containing "cl.exe" relative to the value of the
-# corresponding environment variable.
-.version-7.1toolkit-envpath = "bin" ;
-
-
-# Auto-detect all the available msvc installations on the system.
-auto-detect-toolset-versions ;
-
-
-# And finally trigger the actual Boost Build toolset registration.
-register-toolset ;
diff --git a/SRC/Boost/tools/build/v2/tools/notfile.jam b/SRC/Boost/tools/build/v2/tools/notfile.jam
deleted file mode 100755
index 1c21273..0000000
--- a/SRC/Boost/tools/build/v2/tools/notfile.jam
+++ /dev/null
@@ -1,74 +0,0 @@
-#  Copyright (c) 2005 Vladimir Prus.
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-import "class" : new ;
-import generators ;
-import project ;
-import targets ;
-import toolset ;
-import type ;
-
-
-type.register NOTFILE_MAIN ;
-
-
-class notfile-generator : generator
-{
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-
-    rule run ( project name ? : property-set : sources * : multiple ? )
-    {
-        local action ;
-        local action-name = [ $(property-set).get <action> ] ;
-
-        local m = [ MATCH ^@(.*) : $(action-name) ] ;
-
-        if $(m)
-        {
-            action = [ new action $(sources) : $(m[1])
-              : $(property-set) ] ;
-        }
-        else
-        {
-            action = [ new action $(sources) : notfile.run
-              : $(property-set) ] ;
-        }
-        return [ virtual-target.register 
-            [ new notfile-target $(name) : $(project) : $(action) ] ] ;
-    }
-}
-
-
-generators.register [ new notfile-generator notfile.main : : NOTFILE_MAIN ] ;
-
-
-toolset.flags notfile.run ACTION : <action> ;
-
-
-actions run
-{
-    $(ACTION)
-}
-
-
-rule notfile ( target-name : action + : sources * : requirements * : default-build * )
-{
-    local project = [ project.current ] ;
-
-    requirements += <action>$(action) ;
-
-    targets.main-target-alternative
-        [ new typed-target $(target-name) : $(project) : NOTFILE_MAIN
-            : [ targets.main-target-sources $(sources) : $(target-name) ]
-            : [ targets.main-target-requirements $(requirements) : $(project) ]
-            : [ targets.main-target-default-build $(default-build) : $(project) ]
-        ] ;
-}
-
-IMPORT $(__name__) : notfile : : notfile ;
diff --git a/SRC/Boost/tools/build/v2/tools/notfile.py b/SRC/Boost/tools/build/v2/tools/notfile.py
deleted file mode 100755
index 9cbb31b..0000000
--- a/SRC/Boost/tools/build/v2/tools/notfile.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# Status: ported.
-# Base revision: 64429.
-#
-#  Copyright (c) 2005-2010 Vladimir Prus.
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-
-import b2.build.type as type
-import b2.build.generators as generators
-import b2.build.virtual_target as virtual_target
-import b2.build.toolset as toolset
-import b2.build.targets as targets
-
-from b2.manager import get_manager
-from b2.util import bjam_signature
-
-type.register("NOTFILE_MAIN")
-
-class NotfileGenerator(generators.Generator):
-
-    def run(self, project, name, ps, sources):
-        pass
-        action_name = ps.get('action')[0]
-        if action_name[0] == '@':
-            action = virtual_target.Action(get_manager(), sources, action_name[1:], ps)
-        else:
-            action = virtual_target.Action(get_manager(), sources, "notfile.run", ps)
-
-        return [get_manager().virtual_targets().register(
-            virtual_target.NotFileTarget(name, project, action))]
-
-generators.register(NotfileGenerator("notfile.main", False, [], ["NOTFILE_MAIN"]))
-
-toolset.flags("notfile.run", "ACTION", [], ["<action>"])
-
-get_manager().engine().register_action("notfile.run", "$(ACTION)")
-
- at bjam_signature((["target_name"], ["action"], ["sources", "*"], ["requirements", "*"],
-                 ["default_build", "*"]))
-def notfile(target_name, action, sources, requirements, default_build):
-
-    requirements.append("<action>" + action)
-
-    return targets.create_typed_metatarget(target_name, "NOTFILE_MAIN", sources, requirements,
-                                           default_build, [])
-
-
-get_manager().projects().add_rule("notfile", notfile)
diff --git a/SRC/Boost/tools/build/v2/tools/package.jam b/SRC/Boost/tools/build/v2/tools/package.jam
deleted file mode 100755
index 28164a9..0000000
--- a/SRC/Boost/tools/build/v2/tools/package.jam
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright (c) 2005 Vladimir Prus.
-# Copyright 2006 Rene Rivera.
-#
-# Use, modification and distribution is subject to the Boost Software
-# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Provides mechanism for installing whole packages into a specific directory
-# structure. This is opposed to the 'install' rule, that installs a number of
-# targets to a single directory, and does not care about directory structure at
-# all.
-
-# Example usage:
-#
-#   package.install boost : <properties>
-#                         : <binaries>
-#                         : <libraries>
-#                         : <headers>
-#                         ;
-#
-# This will install binaries, libraries and headers to the 'proper' location,
-# given by command line options --prefix, --exec-prefix, --bindir, --libdir and
-# --includedir.
-#
-# The rule is just a convenient wrapper, avoiding the need to define several
-# 'install' targets.
-#
-# The only install-related feature is <install-source-root>. It will apply to
-# headers only and if present, paths of headers relatively to source root will
-# be retained after installing. If it is not specified, then "." is assumed, so
-# relative paths in headers are always preserved.
-
-import "class" : new ;
-import option ;
-import project ;
-import feature ;
-import property ;
-import stage ;
-import targets ;
-import modules ;
-
-feature.feature install-default-prefix : : free incidental ;
-
-rule install ( name package-name ? : requirements * : binaries * : libraries * : headers * )
-{
-    package-name ?= $(name) ;
-    if [ MATCH --prefix=(.*) : [ modules.peek : ARGV ] ]
-    {
-        # If --prefix is explicitly specified on the command line,
-        # then we need wipe away any settings of libdir/includir that
-        # is specified via options in config files.
-        option.set bindir : ;
-        option.set libdir : ;
-        option.set includedir : ;
-    }
-            
-    # If <install-source-root> is not specified, all headers are installed to
-    # prefix/include, no matter what their relative path is. Sometimes that is
-    # what is needed.
-    local install-source-root = [ property.select <install-source-root> :
-        $(requirements) ] ;
-    install-source-root = $(install-source-root:G=) ;
-    requirements = [ property.change $(requirements) : <install-source-root> ] ;
-
-    local install-header-subdir = [ property.select <install-header-subdir> :
-        $(requirements) ] ;
-    install-header-subdir = /$(install-header-subdir:G=) ;
-    install-header-subdir ?= "" ;
-    requirements = [ property.change $(requirements) : <install-header-subdir> ]
-        ;
-
-    # First, figure out all locations. Use the default if no prefix option
-    # given.
-    local prefix = [ get-prefix $(name) : $(requirements) ] ;
-
-    # Architecture dependent files.
-    local exec-locate = [ option.get exec-prefix : $(prefix) ] ;
-
-    # Binaries.
-    local bin-locate = [ option.get bindir : $(prefix)/bin ] ;
-
-    # Object code libraries.
-    local lib-locate = [ option.get libdir : $(prefix)/lib ] ;
-
-    # Source header files.
-    local include-locate = [ option.get includedir : $(prefix)/include ] ;
-
-    stage.install $(name)-bin : $(binaries) : $(requirements)
-        <location>$(bin-locate) ;
-    alias $(name)-lib : $(name)-lib-shared $(name)-lib-static ;
-    
-    # Since the install location of shared libraries differs on universe
-    # and cygwin, use target alternatives to make different targets.
-    # We should have used indirection conditioanl requirements, but it's
-    # awkward to pass bin-locate and lib-locate from there to another rule.
-    alias $(name)-lib-shared : $(name)-lib-shared-universe ;
-    alias $(name)-lib-shared : $(name)-lib-shared-cygwin : <target-os>cygwin ;
-    
-    # For shared libraries, we install both explicitly specified one and the
-    # shared libraries that the installed executables depend on.
-    stage.install $(name)-lib-shared-universe : $(binaries) $(libraries) : $(requirements)
-      <location>$(lib-locate) <install-dependencies>on <install-type>SHARED_LIB ;
-    stage.install $(name)-lib-shared-cygwin : $(binaries) $(libraries) : $(requirements)
-      <location>$(bin-locate) <install-dependencies>on <install-type>SHARED_LIB ;
-
-    # For static libraries, we do not care about executable dependencies, since
-    # static libraries are already incorporated into them.
-    stage.install $(name)-lib-static : $(libraries) : $(requirements)
-        <location>$(lib-locate) <install-dependencies>on <install-type>STATIC_LIB ;
-    stage.install $(name)-headers : $(headers) : $(requirements)
-        <location>$(include-locate)$(install-header-subdir)
-        <install-source-root>$(install-source-root) ;
-    alias $(name) : $(name)-bin $(name)-lib $(name)-headers ;
-
-    local c = [ project.current ] ;
-    local project-module = [ $(c).project-module ] ;
-    module $(project-module)
-    {
-        explicit $(1)-bin $(1)-lib $(1)-headers $(1) $(1)-lib-shared $(1)-lib-static 
-          $(1)-lib-shared-universe $(1)-lib-shared-cygwin ;
-    }
-}
-
-rule install-data ( target-name : package-name : data * : requirements * )
-{
-    package-name ?= target-name ;
-    if [ MATCH --prefix=(.*) : [ modules.peek : ARGV ] ]
-    {
-        # If --prefix is explicitly specified on the command line,
-        # then we need wipe away any settings of datarootdir
-        option.set datarootdir : ;
-    }   
-    
-    local prefix = [ get-prefix $(package-name) : $(requirements) ] ;
-    local datadir = [ option.get datarootdir : $(prefix)/share ] ;
-
-    stage.install $(target-name) 
-        : $(data)
-        : $(requirements) <location>$(datadir)/$(package-name)
-        ;
-    
-    local c = [ project.current ] ;
-    local project-module = [ $(c).project-module ] ;
-    module $(project-module)
-    {
-        explicit $(1) ;
-    }
-}
-
-local rule get-prefix ( package-name : requirements * )
-{
-    local prefix = [ option.get prefix : [ property.select
-        <install-default-prefix> : $(requirements) ] ] ;
-    prefix = $(prefix:G=) ;
-    requirements = [ property.change $(requirements) : <install-default-prefix>
-        ] ;
-    # Or some likely defaults if neither is given.
-    if ! $(prefix)
-    {
-        if [ modules.peek : NT ] { prefix = C:\\$(package-name) ; }
-        else if [ modules.peek : UNIX ] { prefix = /usr/local ; }        
-    }
-    return $(prefix) ;
-}           
-
diff --git a/SRC/Boost/tools/build/v2/tools/package.py b/SRC/Boost/tools/build/v2/tools/package.py
deleted file mode 100755
index 4a0cb1c..0000000
--- a/SRC/Boost/tools/build/v2/tools/package.py
+++ /dev/null
@@ -1,168 +0,0 @@
-# Status: ported
-# Base revision: 64488
-#
-# Copyright (c) 2005, 2010 Vladimir Prus.
-# Copyright 2006 Rene Rivera.
-#
-# Use, modification and distribution is subject to the Boost Software
-# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Provides mechanism for installing whole packages into a specific directory
-# structure. This is opposed to the 'install' rule, that installs a number of
-# targets to a single directory, and does not care about directory structure at
-# all.
-
-# Example usage:
-#
-#   package.install boost : <properties>
-#                         : <binaries>
-#                         : <libraries>
-#                         : <headers>
-#                         ;
-#
-# This will install binaries, libraries and headers to the 'proper' location,
-# given by command line options --prefix, --exec-prefix, --bindir, --libdir and
-# --includedir.
-#
-# The rule is just a convenient wrapper, avoiding the need to define several
-# 'install' targets.
-#
-# The only install-related feature is <install-source-root>. It will apply to
-# headers only and if present, paths of headers relatively to source root will
-# be retained after installing. If it is not specified, then "." is assumed, so
-# relative paths in headers are always preserved.
-
-import b2.build.feature as feature
-import b2.build.property as property
-import b2.util.option as option
-import b2.tools.stage as stage
-
-from b2.build.alias import alias
-
-from b2.manager import get_manager
-
-from b2.util import bjam_signature
-from b2.util.utility import ungrist
-
-
-import os
-
-feature.feature("install-default-prefix", [], ["free", "incidental"])
-
- at bjam_signature((["name", "package_name", "?"], ["requirements", "*"],
-                 ["binaries", "*"], ["libraries", "*"], ["headers", "*"]))
-def install(name, package_name=None, requirements=[], binaries=[], libraries=[], headers=[]):
-
-    requirements = requirements[:]
-    binaries = binaries[:]
-    libraries
-
-    if not package_name:
-        package_name = name
-
-    if option.get("prefix"):
-        # If --prefix is explicitly specified on the command line,
-        # then we need wipe away any settings of libdir/includir that
-        # is specified via options in config files.
-        option.set("bindir", None)
-        option.set("libdir", None)
-        option.set("includedir", None)
-            
-    # If <install-source-root> is not specified, all headers are installed to
-    # prefix/include, no matter what their relative path is. Sometimes that is
-    # what is needed.
-    install_source_root = property.select('install-source-root', requirements)
-    if install_source_root:
-        requirements = property.change(requirements, 'install-source-root', None)
-            
-    install_header_subdir = property.select('install-header-subdir', requirements)
-    if install_header_subdir:
-        install_header_subdir = ungrist(install_header_subdir[0])
-        requirements = property.change(requirements, 'install-header-subdir', None)
-
-    # First, figure out all locations. Use the default if no prefix option
-    # given.
-    prefix = get_prefix(name, requirements)
-
-    # Architecture dependent files.
-    exec_locate = option.get("exec-prefix", prefix)
-
-    # Binaries.
-    bin_locate = option.get("bindir", os.path.join(prefix, "bin"))
-
-    # Object code libraries.
-    lib_locate = option.get("libdir", os.path.join(prefix, "lib"))
-
-    # Source header files.
-    include_locate = option.get("includedir", os.path.join(prefix, "include"))
-
-    stage.install(name + "-bin", binaries, requirements + ["<location>" + bin_locate])
-    
-    alias(name + "-lib", [name + "-lib-shared", name + "-lib-static"])
-    
-    # Since the install location of shared libraries differs on universe
-    # and cygwin, use target alternatives to make different targets.
-    # We should have used indirection conditioanl requirements, but it's
-    # awkward to pass bin-locate and lib-locate from there to another rule.
-    alias(name + "-lib-shared", [name + "-lib-shared-universe"])
-    alias(name + "-lib-shared", [name + "-lib-shared-cygwin"], ["<target-os>cygwin"])
-    
-    # For shared libraries, we install both explicitly specified one and the
-    # shared libraries that the installed executables depend on.
-    stage.install(name + "-lib-shared-universe", binaries + libraries,
-                  requirements + ["<location>" + lib_locate, "<install-dependencies>on",
-                                  "<install-type>SHARED_LIB"])
-    stage.install(name + "-lib-shared-cygwin", binaries + libraries,
-                  requirements + ["<location>" + bin_locate, "<install-dependencies>on",
-                                  "<install-type>SHARED_LIB"])
-
-    # For static libraries, we do not care about executable dependencies, since
-    # static libraries are already incorporated into them.
-    stage.install(name + "-lib-static", libraries, requirements +
-                  ["<location>" + lib_locate, "<install-dependencies>on", "<install-type>STATIC_LIB"])
-    stage.install(name + "-headers", headers, requirements \
-                  + ["<location>" + os.path.join(include_locate, s) for s in install_header_subdir]
-                  + install_source_root)
-
-    alias(name, [name + "-bin", name + "-lib", name + "-headers"])
-
-    pt = get_manager().projects().current()
-
-    for subname in ["bin", "lib", "headers", "lib-shared", "lib-static", "lib-shared-universe", "lib-shared-cygwin"]:
-        pt.mark_targets_as_explicit([name + "-" + subname])
-
- at bjam_signature((["target_name"], ["package_name"], ["data", "*"], ["requirements", "*"]))
-def install_data(target_name, package_name, data, requirements):
-    if not package_name:
-        package_name = target_name
-
-    if option.get("prefix"):
-        # If --prefix is explicitly specified on the command line,
-        # then we need wipe away any settings of datarootdir
-        option.set("datarootdir", None)
-    
-    prefix = get_prefix(package_name, requirements)
-    datadir = option.get("datarootdir", os.path.join(prefix, "share"))
-
-    stage.install(target_name, data,
-                  requirements + ["<location>" + os.path.join(datadir, package_name)])
-
-    get_manager().projects().current().mark_targets_as_explicit([target_name])
-
-def get_prefix(package_name, requirements):
-
-    specified = property.select("install-default-prefix", requirements)
-    if specified:
-        specified = ungrist(specified[0])
-    prefix = option.get("prefix", specified)
-    requirements = property.change(requirements, "install-default-prefix", None)    
-    # Or some likely defaults if neither is given.
-    if not prefix:
-        if os.name == "nt":
-            prefix = "C:\\" + package_name
-        elif os.name == "posix":
-            prefix = "/usr/local"
-
-    return prefix
-
diff --git a/SRC/Boost/tools/build/v2/tools/pathscale.jam b/SRC/Boost/tools/build/v2/tools/pathscale.jam
deleted file mode 100755
index 99519e5..0000000
--- a/SRC/Boost/tools/build/v2/tools/pathscale.jam
+++ /dev/null
@@ -1,168 +0,0 @@
-#  Copyright 2006 Noel Belcourt
-#  Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-import property ;
-import generators ;
-import toolset : flags ;
-import feature ;
-import type ;
-import common ;
-import fortran ;
-
-feature.extend toolset : pathscale ;
-toolset.inherit pathscale : unix ;
-generators.override pathscale.prebuilt : builtin.prebuilt ;
-generators.override pathscale.searched-lib-generator : searched-lib-generator ;
-
-# Documentation and toolchain description located
-# http://www.pathscale.com/docs.html
-
-rule init ( version ? : command * : options * ) 
-{
-  command = [ common.get-invocation-command pathscale : pathCC : $(command) 
-    : /opt/ekopath/bin ] ;
-  
-  # Determine the version
-  local command-string = $(command:J=" ") ;
-  if $(command)
-  {    
-      version ?= [ MATCH "^([0-9.]+)"
-          : [ SHELL "$(command-string) -dumpversion" ] ] ;
-  }
-  
-  local condition = [ common.check-init-parameters pathscale
-    : version $(version) ] ;
-
-  common.handle-options pathscale : $(condition) : $(command) : $(options) ;
-    
-  toolset.flags pathscale.compile.fortran90 OPTIONS $(condition) :
-    [ feature.get-values <fflags> : $(options) ] : unchecked ;
-
-  command_c = $(command_c[1--2]) $(command[-1]:B=pathcc) ;
-
-  toolset.flags pathscale CONFIG_C_COMMAND $(condition) : $(command_c) ;
-
-  # fortran support
-  local f-command = [ common.get-invocation-command pathscale : pathf90 : $(command) ] ;
-  local command_f = $(command_f[1--2]) $(f-command[-1]:B=pathf90) ;
-  local command_f90 = $(command_f[1--2]) $(f-command[-1]:B=pathf90) ;
-
-  toolset.flags pathscale CONFIG_F_COMMAND $(condition) : $(command_f) ;
-  toolset.flags pathscale CONFIG_F90_COMMAND $(condition) : $(command_f90) ;
-
-  # always link lib rt to resolve clock_gettime()
-  flags pathscale.link FINDLIBS-SA : rt : unchecked ;
-}
-
-# Declare generators
-generators.register-c-compiler pathscale.compile.c : C : OBJ : <toolset>pathscale ;
-generators.register-c-compiler pathscale.compile.c++ : CPP : OBJ : <toolset>pathscale ;
-generators.register-fortran-compiler pathscale.compile.fortran : FORTRAN : OBJ : <toolset>pathscale ;
-generators.register-fortran90-compiler pathscale.compile.fortran90 : FORTRAN90 : OBJ : <toolset>pathscale ;
-
-# Declare flags and actions for compilation
-flags pathscale.compile OPTIONS <optimization>off   : -O0 ;
-flags pathscale.compile OPTIONS <optimization>speed : -O3 ;
-flags pathscale.compile OPTIONS <optimization>space : -Os ;
-
-flags pathscale.compile OPTIONS <inlining>off  : -noinline ;
-flags pathscale.compile OPTIONS <inlining>on   : -inline ;
-flags pathscale.compile OPTIONS <inlining>full : -inline ;
-
-flags pathscale.compile OPTIONS <warnings>off           : -woffall ;
-flags pathscale.compile OPTIONS <warnings>on            : -Wall ;
-flags pathscale.compile OPTIONS <warnings>all           : -Wall -pedantic ;
-flags pathscale.compile OPTIONS <warnings-as-errors>on  : -Werror ;
-
-flags pathscale.compile OPTIONS <debug-symbols>on : -ggdb ;
-flags pathscale.compile OPTIONS <profiling>on     : -pg ;
-flags pathscale.compile OPTIONS <link>shared      : -fPIC ;
-flags pathscale.compile OPTIONS <address-model>32 : -m32 ;
-flags pathscale.compile OPTIONS <address-model>64 : -m64 ;
-
-flags pathscale.compile USER_OPTIONS <cflags> ;
-flags pathscale.compile.c++ USER_OPTIONS <cxxflags> ;
-flags pathscale.compile DEFINES <define> ;
-flags pathscale.compile INCLUDES <include> ;
-
-flags pathscale.compile.fortran USER_OPTIONS <fflags> ;
-flags pathscale.compile.fortran90 USER_OPTIONS <fflags> ;
-
-actions compile.c
-{
-    "$(CONFIG_C_COMMAND)" $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.c++
-{
-    "$(CONFIG_COMMAND)" $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.fortran
-{
-    "$(CONFIG_F_COMMAND)" $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-rule compile.fortran90 ( targets * : sources * : properties * )
-{
-  # the space rule inserts spaces between targets and it's necessary
-  SPACE on $(targets) = " " ;
-  # Serialize execution of the compile.fortran90 action
-  # F90 source must be compiled in a particular order so we
-  # serialize the build as a parallel F90 compile might fail
-  JAM_SEMAPHORE on $(targets) = <s>pathscale-f90-semaphore ;
-}
-
-actions compile.fortran90
-{
-    "$(CONFIG_F90_COMMAND)" $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -module $(<[1]:D) -c -o "$(<)" "$(>)"
-}
-
-# Declare flags and actions for linking
-flags pathscale.link OPTIONS <debug-symbols>on : -ggdb -rdynamic ;
-# Strip the binary when no debugging is needed
-flags pathscale.link OPTIONS <debug-symbols>off : -g0 ;
-flags pathscale.link OPTIONS <profiling>on : -pg ;
-flags pathscale.link USER_OPTIONS <linkflags> ;
-flags pathscale.link LINKPATH <library-path> ;
-flags pathscale.link FINDLIBS-ST <find-static-library> ;
-flags pathscale.link FINDLIBS-SA <find-shared-library> ;
-flags pathscale.link FINDLIBS-SA <threading>multi : pthread ;
-flags pathscale.link LIBRARIES <library-file> ;
-flags pathscale.link LINK-RUNTIME <runtime-link>static : static ;
-flags pathscale.link LINK-RUNTIME <runtime-link>shared : dynamic ;
-flags pathscale.link RPATH <dll-path> ;
-# On gcc, there are separate options for dll path at runtime and
-# link time. On Solaris, there's only one: -R, so we have to use
-# it, even though it's bad idea.
-flags pathscale.link RPATH <xdll-path> ;
-
-rule link ( targets * : sources * : properties * )
-{
-    SPACE on $(targets) = " " ;
-}
-
-actions link bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" $(OPTIONS) $(USER_OPTIONS) -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST)
-}
-
-# Slight mods for dlls
-rule link.dll ( targets * : sources * : properties * )
-{
-    SPACE on $(targets) = " " ;
-}
-
-actions link.dll bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" $(OPTIONS) $(USER_OPTIONS) -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" -o "$(<)" -Wl,-soname$(SPACE)-Wl,$(<[1]:D=) -shared "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST)
-}
-
-# Declare action for creating static libraries
-# "$(CONFIG_COMMAND)" -ar -o "$(<)" "$(>)"
-actions piecemeal archive
-{
-    ar $(ARFLAGS) ru "$(<)" "$(>)"
-}
diff --git a/SRC/Boost/tools/build/v2/tools/pch.jam b/SRC/Boost/tools/build/v2/tools/pch.jam
deleted file mode 100755
index b7ad192..0000000
--- a/SRC/Boost/tools/build/v2/tools/pch.jam
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright (c) 2005 Reece H. Dunn.
-# Copyright 2006 Ilya Sokolov
-#
-# Use, modification and distribution is subject to the Boost Software
-# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-# http://www.boost.org/LICENSE_1_0.txt)
-
-##### Using Precompiled Headers (Quick Guide) #####
-#
-# Make precompiled mypch.hpp:
-#
-#    import pch ;
-#
-#    cpp-pch mypch
-#      : # sources
-#        mypch.hpp
-#      : # requiremnts
-#        <toolset>msvc:<source>mypch.cpp
-#      ;
-#
-# Add cpp-pch to sources:
-#
-#    exe hello
-#      : main.cpp hello.cpp mypch
-#      ;
-
-import "class" : new ;
-import type ;
-import feature ;
-import generators ;
-
-type.register     PCH : pch ;
-
-type.register   C_PCH : : PCH ;
-type.register CPP_PCH : : PCH ;
-
-# Control precompiled header (PCH) generation.
-feature.feature pch :
-      on
-      off
-    : propagated ;
-
-
-feature.feature pch-header : : free dependency ;
-feature.feature pch-file   : : free dependency ;
-
-# Base PCH generator. The 'run' method has the logic to prevent this generator
-# from being run unless it's being used for a top-level PCH target.
-class pch-generator : generator
-{
-    import property-set ;
-
-    rule action-class ( )
-    {
-        return compile-action ;
-    }
-
-    rule run ( project name ? : property-set : sources + )
-    {
-        if ! $(name)
-        {
-            # Unless this generator is invoked as the top-most generator for a
-            # main target, fail. This allows using 'H' type as input type for
-            # this generator, while preventing Boost.Build to try this generator
-            # when not explicitly asked for.
-            #
-            # One bad example is msvc, where pch generator produces both PCH
-            # target and OBJ target, so if there's any header generated (like by
-            # bison, or by msidl), we'd try to use pch generator to get OBJ from
-            # that H, which is completely wrong. By restricting this generator
-            # only to pch main target, such problem is solved.
-        }
-        else
-        {
-            local r = [ run-pch $(project) $(name)
-              : [ $(property-set).add-raw <define>BOOST_BUILD_PCH_ENABLED ]
-              : $(sources) ] ;
-            return [ generators.add-usage-requirements $(r)
-              : <define>BOOST_BUILD_PCH_ENABLED ] ;
-        }
-    }
-
-    # This rule must be overridden by the derived classes.
-    rule run-pch ( project name ? : property-set : sources + )
-    {
-    }
-}
-
-
-# NOTE: requirements are empty, default pch generator can be applied when
-# pch=off.
-generators.register
-    [ new dummy-generator pch.default-c-pch-generator   : :   C_PCH ] ;
-generators.register
-    [ new dummy-generator pch.default-cpp-pch-generator : : CPP_PCH ] ;
diff --git a/SRC/Boost/tools/build/v2/tools/pch.py b/SRC/Boost/tools/build/v2/tools/pch.py
deleted file mode 100755
index ed9e7aa..0000000
--- a/SRC/Boost/tools/build/v2/tools/pch.py
+++ /dev/null
@@ -1,83 +0,0 @@
-# Status: Being ported by Steven Watanabe
-# Base revision: 47077
-#
-# Copyright (c) 2005 Reece H. Dunn.
-# Copyright 2006 Ilya Sokolov
-# Copyright (c) 2008 Steven Watanabe
-#
-# Use, modification and distribution is subject to the Boost Software
-# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-# http://www.boost.org/LICENSE_1_0.txt)
-
-##### Using Precompiled Headers (Quick Guide) #####
-#
-# Make precompiled mypch.hpp:
-#
-#    import pch ;
-#
-#    cpp-pch mypch
-#      : # sources
-#        mypch.hpp
-#      : # requiremnts
-#        <toolset>msvc:<source>mypch.cpp
-#      ;
-#
-# Add cpp-pch to sources:
-#
-#    exe hello
-#      : main.cpp hello.cpp mypch
-#      ;
-
-from b2.build import type, feature, generators
-
-type.register('PCH', ['pch'])
-type.register('C_PCH', [], 'PCH')
-type.register('CPP_PCH', [], 'PCH')
-
-# Control precompiled header (PCH) generation.
-feature.feature('pch',
-                ['on', 'off'],
-                ['propagated'])
-
-feature.feature('pch-header', [], ['free', 'dependency'])
-feature.feature('pch-file', [], ['free', 'dependency'])
-
-class PchGenerator(generators.Generator):
-    """
-        Base PCH generator. The 'run' method has the logic to prevent this generator
-        from being run unless it's being used for a top-level PCH target.
-    """
-    def action_class(self):
-        return 'compile-action'
-
-    def run(self, project, name, prop_set, sources):
-        if not name:
-            # Unless this generator is invoked as the top-most generator for a
-            # main target, fail. This allows using 'H' type as input type for
-            # this generator, while preventing Boost.Build to try this generator
-            # when not explicitly asked for.
-            #
-            # One bad example is msvc, where pch generator produces both PCH
-            # target and OBJ target, so if there's any header generated (like by
-            # bison, or by msidl), we'd try to use pch generator to get OBJ from
-            # that H, which is completely wrong. By restricting this generator
-            # only to pch main target, such problem is solved.
-            pass
-        else:
-            r = self.run_pch(project, name,
-                 prop_set.add_raw('<define>BOOST_BUILD_PCH_ENABLED'),
-                 sources)
-            return generators.add_usage_requirements(
-                r, ['<define>BOOST_BUILD_PCH_ENABLED'])
-
-    # This rule must be overridden by the derived classes.
-    def run_pch(self, project, name, prop_set, sources):
-        pass
-
-#FIXME: dummy-generator in builtins.jam needs to be ported.
-# NOTE: requirements are empty, default pch generator can be applied when
-# pch=off.
-###generators.register(
-###    [ new dummy-generator pch.default-c-pch-generator   : :   C_PCH ] ;
-###generators.register
-###    [ new dummy-generator pch.default-cpp-pch-generator : : CPP_PCH ] ;
diff --git a/SRC/Boost/tools/build/v2/tools/pgi.jam b/SRC/Boost/tools/build/v2/tools/pgi.jam
deleted file mode 100755
index b72f8cf..0000000
--- a/SRC/Boost/tools/build/v2/tools/pgi.jam
+++ /dev/null
@@ -1,147 +0,0 @@
-#  Copyright Noel Belcourt 2007.
-#  Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-import property ;
-import generators ;
-import os ;
-import toolset : flags ;
-import feature ;
-import fortran ;
-import type ;
-import common ;
-import gcc ;
-
-feature.extend toolset : pgi ;
-toolset.inherit pgi : unix ;
-generators.override pgi.prebuilt : builtin.lib-generator ;
-generators.override pgi.searched-lib-generator : searched-lib-generator ;
-
-# Documentation and toolchain description located
-# http://www.pgroup.com/resources/docs.htm
-
-rule init ( version ? : command * : options * ) 
-{
-  local condition = [ common.check-init-parameters pgi : version $(version) ] ;
-
-  local l_command = [ common.get-invocation-command pgi : pgCC : $(command) ] ;
-
-  common.handle-options pgi : $(condition) : $(l_command) : $(options) ;
-    
-  command_c = $(command_c[1--2]) $(l_command[-1]:B=cc) ;
-
-  toolset.flags pgi CONFIG_C_COMMAND $(condition) : $(command_c) ;
-
-  flags pgi.compile DEFINES $(condition) :
-    [ feature.get-values <define> : $(options) ] : unchecked ;
-
-  # IOV_MAX support
-  flags pgi.compile DEFINES $(condition) : __need_IOV_MAX : unchecked ;
-
-  # set link flags
-  flags pgi.link FINDLIBS-ST : [
-    feature.get-values <find-static-library> : $(options) ] : unchecked ;
-
-  # always link lib rt to resolve clock_gettime()
-  flags pgi.link FINDLIBS-SA : rt [
-    feature.get-values <find-shared-library> : $(options) ] : unchecked ;
-
-  gcc.init-link-flags pgi gnu $(condition) ;
-}
-
-# Declare generators
-generators.register-c-compiler pgi.compile.c : C : OBJ : <toolset>pgi ;
-generators.register-c-compiler pgi.compile.c++ : CPP : OBJ : <toolset>pgi ;
-generators.register-fortran-compiler pgi.compile.fortran : FORTRAN : OBJ : <toolset>pgi ;
-
-# Declare flags and actions for compilation
-flags pgi.compile OPTIONS : -Kieee ;
-flags pgi.compile OPTIONS <link>shared : -fpic -fPIC ;
-flags pgi.compile OPTIONS <debug-symbols>on : -gopt ;
-flags pgi.compile OPTIONS <profiling>on : -xprofile=tcov ;
-flags pgi.compile OPTIONS <optimization>speed : -fast -Mx,8,0x10000000 ;
-flags pgi.compile OPTIONS <optimization>space : -xO2 -xspace ;
-# flags pgi.compile OPTIONS <threading>multi : -mt ;
-
-flags pgi.compile OPTIONS <warnings>off : -Minform=severe ;
-flags pgi.compile OPTIONS <warnings>on : -Minform=warn ;
-
-flags pgi.compile.c++ OPTIONS <inlining>off : -INLINE:none ;
-
-flags pgi.compile OPTIONS <cflags> ;
-flags pgi.compile.c++ OPTIONS <cxxflags> ;
-flags pgi.compile DEFINES <define> ;
-flags pgi.compile INCLUDES <include> ;
-
-flags pgi.compile.fortran OPTIONS <fflags> ;
-
-actions compile.c
-{
-    "$(CONFIG_C_COMMAND)" $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.c++
-{
-    "$(CONFIG_COMMAND)" $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.fortran
-{
-    "$(CONFIG_F_COMMAND)" $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-# Declare flags and actions for linking
-flags pgi.link OPTIONS <debug-symbols>on : -gopt ;
-# Strip the binary when no debugging is needed
-flags pgi.link OPTIONS <debug-symbols>off : -s ;
-flags pgi.link OPTIONS <profiling>on : -xprofile=tcov ;
-flags pgi.link OPTIONS <linkflags> ;
-flags pgi.link OPTIONS <link>shared : -fpic -fPIC ;
-flags pgi.link LINKPATH <library-path> ;
-flags pgi.link FINDLIBS-ST <find-static-library> ;
-flags pgi.link FINDLIBS-SA <find-shared-library> ;
-flags pgi.link FINDLIBS-SA <threading>multi : pthread rt ;
-flags pgi.link LIBRARIES <library-file> ;
-flags pgi.link LINK-RUNTIME <runtime-link>static : static ;
-flags pgi.link LINK-RUNTIME <runtime-link>shared : dynamic ;
-flags pgi.link RPATH <dll-path> ;
-
-# On gcc, there are separate options for dll path at runtime and
-# link time. On Solaris, there's only one: -R, so we have to use
-# it, even though it's bad idea.
-flags pgi.link RPATH <xdll-path> ;
-
-rule link ( targets * : sources * : properties * )
-{
-    SPACE on $(targets) = " " ;
-}
-
-# reddish can only link statically and, somehow, the presence of -Bdynamic on the link line 
-# marks the executable as a dynamically linked exec even though no dynamic libraries are supplied.
-# Yod on redstorm refuses to load an executable that is dynamically linked.
-# removing the dynamic link options should get us where we need to be on redstorm.
-# "$(CONFIG_COMMAND)" $(OPTIONS) -L"$(LINKPATH)" -R"$(RPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -Bdynamic -l$(FINDLIBS-SA) -Bstatic -l$(FINDLIBS-ST) -B$(LINK-RUNTIME)
-actions link bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" $(OPTIONS) -L"$(LINKPATH)" -R"$(RPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -Bstatic -l$(FINDLIBS-ST) -Bdynamic -l$(FINDLIBS-SA) -B$(LINK-RUNTIME)
-}
-
-# Slight mods for dlls
-rule link.dll ( targets * : sources * : properties * )
-{
-    SPACE on $(targets) = " " ;
-}
-
-# "$(CONFIG_COMMAND)" $(OPTIONS) -L"$(LINKPATH)" -R"$(RPATH)" -o "$(<)" -h$(<[1]:D=) -G "$(>)" "$(LIBRARIES)" -Bdynamic -l$(FINDLIBS-SA) -Bstatic -l$(FINDLIBS-ST) -B$(LINK-RUNTIME)
-
-actions link.dll bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" $(OPTIONS) -shared -L"$(LINKPATH)" -R"$(RPATH)" -o "$(<)" "$(>)" -Wl,-h -Wl,$(<[1]:D=) "$(LIBRARIES)" -Bdynamic -l$(FINDLIBS-SA) -Bstatic -l$(FINDLIBS-ST) -B$(LINK-RUNTIME)
-}
-
-actions updated together piecemeal pgi.archive
-{
-    ar -rc$(ARFLAGS:E=) "$(<)" "$(>)"
-}
-
diff --git a/SRC/Boost/tools/build/v2/tools/python-config.jam b/SRC/Boost/tools/build/v2/tools/python-config.jam
deleted file mode 100755
index 5b9e5f4..0000000
--- a/SRC/Boost/tools/build/v2/tools/python-config.jam
+++ /dev/null
@@ -1,27 +0,0 @@
-#~ Copyright 2005 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Automatic configuration for Python tools and librries. To use, just import this module.
-
-import os ;
-import toolset : using ;
-
-if [ os.name ] = NT
-{
-    for local R in 2.4 2.3 2.2
-    {
-        local python-path = [ W32_GETREG
-            "HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\$(R)\\InstallPath" ] ;
-        local python-version = $(R) ;
-        
-        if $(python-path)
-        {
-            if --debug-configuration in [ modules.peek : ARGV ]
-            {
-                ECHO "notice:" using python ":" $(python-version) ":" $(python-path) ;
-            }
-            using python : $(python-version) : $(python-path) ;
-        }
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/tools/python.jam b/SRC/Boost/tools/build/v2/tools/python.jam
deleted file mode 100755
index 96e5f68..0000000
--- a/SRC/Boost/tools/build/v2/tools/python.jam
+++ /dev/null
@@ -1,1267 +0,0 @@
-# Copyright 2004 Vladimir Prus.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Support for Python and the the Boost.Python library.
-#
-# This module defines
-#
-# - a project 'python' with a target 'python' in it, that corresponds to the
-#   python library
-#
-# - a main target rule 'python-extension' which can be used to build a python
-#   extension.
-#
-# Extensions that use Boost.Python must explicitly link to it.
-
-import type ;
-import testing ;
-import generators ;
-import project ;
-import errors ;
-import targets ;
-import "class" : new ;
-import os ;
-import common ;
-import toolset ;
-import regex ;
-import numbers ;
-import string ;
-import property ;
-import sequence ;
-import path ;
-import feature ;
-import set ;
-import builtin ;
-import version ;
-
-
-# Make this module a project.
-project.initialize $(__name__) ;
-project python ;
-
-# Save the project so that if 'init' is called several times we define new
-# targets in the python project, not in whatever project we were called by.
-.project = [ project.current ] ;
-
-# Dynamic linker lib. Necessary to specify it explicitly on some platforms.
-lib dl ;
-# This contains 'openpty' function need by python. Again, on some system need to
-# pass this to linker explicitly.
-lib util ;
-# Python uses pthread symbols.
-lib pthread ;
-# Extra library needed by phtread on some platforms.
-lib rt ;
-
-# The pythonpath feature specifies additional elements for the PYTHONPATH
-# environment variable, set by run-pyd. For example, pythonpath can be used to
-# access Python modules that are part of the product being built, but are not
-# installed in the development system's default paths.
-feature.feature pythonpath : : free optional path ;
-
-# Initializes the Python toolset. Note that all parameters are optional.
-#
-# - version -- the version of Python to use. Should be in Major.Minor format,
-#   for example 2.3.  Do not include the subminor version.
-#
-# - cmd-or-prefix: Preferably, a command that invokes a Python interpreter.
-#   Alternatively, the installation prefix for Python libraries and includes. If
-#   empty, will be guessed from the version, the platform's installation
-#   patterns, and the python executables that can be found in PATH.
-#
-# - includes: the include path to Python headers. If empty, will be guessed.
-#
-# - libraries: the path to Python library binaries. If empty, will be guessed.
-#   On MacOS/Darwin, you can also pass the path of the Python framework.
-#
-# - condition: if specified, should be a set of properties that are matched
-#   against the build configuration when Boost.Build selects a Python
-#   configuration to use.
-#
-# - extension-suffix: A string to append to the name of extension modules before
-#   the true filename extension.  Ordinarily we would just compute this based on
-#   the value of the <python-debugging> feature. However ubuntu's python-dbg
-#   package uses the windows convention of appending _d to debug-build extension
-#   modules. We have no way of detecting ubuntu, or of probing python for the
-#   "_d" requirement, and if you configure and build python using
-#   --with-pydebug, you'll be using the standard *nix convention. Defaults to ""
-#   (or "_d" when targeting windows and <python-debugging> is set).
-#
-# Example usage:
-#
-#   using python : 2.3 ;
-#   using python : 2.3 : /usr/local/bin/python ;
-#
-rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
-    : condition * : extension-suffix ? )
-{
-    project.push-current $(.project) ;
-
-    debug-message Configuring python... ;
-    for local v in version cmd-or-prefix includes libraries condition
-    {
-        if $($(v))
-        {
-            debug-message "  user-specified "$(v): \"$($(v))\" ;
-        }
-    }
-
-    configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ;
-
-    project.pop-current ;
-}
-
-# A simpler version of SHELL that grabs stderr as well as stdout, but returns
-# nothing if there was an error.
-#
-local rule shell-cmd ( cmd )
-{
-    debug-message running command '$(cmd)" 2>&1"' ;
-    x = [ SHELL $(cmd)" 2>&1" : exit-status ] ;
-    if $(x[2]) = 0
-    {
-        return $(x[1]) ;
-    }
-    else
-    {
-        return ;
-    }
-}
-
-
-# Try to identify Cygwin symlinks. Invoking such a file directly as an NT
-# executable from a native Windows build of bjam would be fatal to the bjam
-# process. One /can/ invoke them through sh.exe or bash.exe, if you can prove
-# that those are not also symlinks. ;-)
-#
-# If a symlink is found returns non-empty; we try to extract the target of the
-# symlink from the file and return that.
-#
-# Note: 1. only works on NT  2. path is a native path.
-local rule is-cygwin-symlink ( path )
-{
-    local is-symlink = ;
-
-    # Look for a file with the given path having the S attribute set, as cygwin
-    # symlinks do. /-C means "do not use thousands separators in file sizes."
-    local dir-listing = [ shell-cmd "DIR /-C /A:S \""$(path)"\"" ] ;
-
-    if $(dir-listing)
-    {
-        # Escape any special regex characters in the base part of the path.
-        local base-pat = [ regex.escape $(path:D=) : ].[()*+?|\\$^ : \\ ] ;
-
-        # Extract the file's size from the directory listing.
-        local size-of-system-file = [ MATCH "([0-9]+) "$(base-pat) : $(dir-listing) : 1 ] ;
-
-        # If the file has a reasonably small size, look for the special symlink
-        # identification text.
-        if $(size-of-system-file) && [ numbers.less $(size-of-system-file) 1000 ]
-        {
-            local link = [ SHELL "FIND /OFF \"!<symlink>\" \""$(path)"\" 2>&1" ] ;
-            if $(link[2]) != 0
-            {
-                local nl = "
-
-" ;
-                is-symlink = [ MATCH ".*!<symlink>([^"$(nl)"]*)" : $(link[1]) : 1 ] ;
-                if $(is-symlink)
-                {
-                    is-symlink = [ *nix-path-to-native $(is-symlink) ] ;
-                    is-symlink = $(is-symlink:R=$(path:D)) ;
-                }
-
-            }
-        }
-    }
-    return $(is-symlink) ;
-}
-
-
-# Append ext to each member of names that does not contain '.'.
-#
-local rule default-extension ( names * : ext * )
-{
-    local result ;
-    for local n in $(names)
-    {
-        switch $(n)
-        {
-            case *.* : result += $(n) ;
-            case * : result += $(n)$(ext) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Tries to determine whether invoking "cmd" would actually attempt to launch a
-# cygwin symlink.
-#
-# Note: only works on NT.
-#
-local rule invokes-cygwin-symlink ( cmd )
-{
-    local dirs = $(cmd:D) ;
-    if ! $(dirs)
-    {
-        dirs = . [ os.executable-path ] ;
-    }
-    local base = [ default-extension $(cmd:D=) : .exe .cmd .bat ] ;
-    local paths = [ GLOB $(dirs) : $(base) ] ;
-    if $(paths)
-    {
-        # Make sure we have not run into a Cygwin symlink. Invoking such a file
-        # as an NT executable would be fatal for the bjam process.
-        return [ is-cygwin-symlink $(paths[1]) ] ;
-    }
-}
-
-
-local rule debug-message ( message * )
-{
-    if --debug-configuration in [ modules.peek : ARGV ]
-    {
-        ECHO notice: [python-cfg] $(message) ;
-    }
-}
-
-
-# Like W32_GETREG, except prepend HKEY_CURRENT_USER\SOFTWARE and
-# HKEY_LOCAL_MACHINE\SOFTWARE to the first argument, returning the first result
-# found. Also accounts for the fact that on 64-bit machines, 32-bit software has
-# its own area, under SOFTWARE\Wow6432node.
-#
-local rule software-registry-value ( path : data ? )
-{
-    local result ;
-    for local root in HKEY_CURRENT_USER HKEY_LOCAL_MACHINE
-    {
-        for local x64elt in "" Wow6432node\\ # Account for 64-bit windows
-        {
-            if ! $(result)
-            {
-                result = [ W32_GETREG $(root)\\SOFTWARE\\$(x64elt)$(path) : $(data) ] ;
-            }
-        }
-
-    }
-    return $(result) ;
-}
-
-
-.windows-drive-letter-re = ^([A-Za-z]):[\\/](.*) ;
-.cygwin-drive-letter-re = ^/cygdrive/([a-z])/(.*) ;
-
-.working-directory = [ PWD ] ;
-.working-drive-letter = [ SUBST $(.working-directory) $(.windows-drive-letter-re) $1 ] ;
-.working-drive-letter ?= [ SUBST $(.working-directory) $(.cygwin-drive-letter-re) $1 ] ;
-
-
-local rule windows-to-cygwin-path ( path )
-{
-    # If path is rooted with a drive letter, rewrite it using the /cygdrive
-    # mountpoint.
-    local p = [ SUBST $(path:T) $(.windows-drive-letter-re) /cygdrive/$1/$2 ] ;
-
-    # Else if path is rooted without a drive letter, use the working directory.
-    p ?= [ SUBST $(path:T) ^/(.*) /cygdrive/$(.working-drive-letter:L)/$2 ] ;
-
-    # Else return the path unchanged.
-    return $(p:E=$(path:T)) ;
-}
-
-
-# :W only works in Cygwin builds of bjam.  This one works on NT builds as well.
-#
-local rule cygwin-to-windows-path ( path )
-{
-    path = $(path:R="") ; # strip any trailing slash
-
-    local drive-letter = [ SUBST $(path) $(.cygwin-drive-letter-re) $1:/$2 ] ;
-    if $(drive-letter)
-    {
-        path = $(drive-letter) ;
-    }
-    else if $(path:R=/x) = $(path) # already rooted?
-    {
-        # Look for a cygwin mount that includes each head sequence in $(path).
-        local head = $(path) ;
-        local tail = "" ;
-
-        while $(head)
-        {
-            local root = [ software-registry-value
-                "Cygnus Solutions\\Cygwin\\mounts v2\\"$(head) : native ] ;
-
-            if $(root)
-            {
-                path = $(tail:R=$(root)) ;
-                head = ;
-            }
-            tail = $(tail:R=$(head:D=)) ;
-
-            if $(head) = /
-            {
-                head = ;
-            }
-            else
-            {
-                head = $(head:D) ;
-            }
-        }
-    }
-    return [ regex.replace $(path:R="") / \\ ] ;
-}
-
-
-# Convert a *nix path to native.
-#
-local rule *nix-path-to-native ( path )
-{
-    if [ os.name ] = NT
-    {
-        path = [ cygwin-to-windows-path $(path) ] ;
-    }
-    return $(path) ;
-}
-
-
-# Convert an NT path to native.
-#
-local rule windows-path-to-native ( path )
-{
-    if [ os.name ] = NT
-    {
-        return $(path) ;
-    }
-    else
-    {
-        return [ windows-to-cygwin-path $(path) ] ;
-    }
-}
-
-
-# Return nonempty if path looks like a windows path, i.e. it starts with a drive
-# letter or contains backslashes.
-#
-local rule guess-windows-path ( path )
-{
-    return [ SUBST $(path) ($(.windows-drive-letter-re)|.*([\\]).*) $1 ] ;
-}
-
-
-local rule path-to-native ( paths * )
-{
-    local result ;
-
-    for local p in $(paths)
-    {
-        if [ guess-windows-path $(p) ]
-        {
-            result += [ windows-path-to-native $(p) ] ;
-        }
-        else
-        {
-            result += [ *nix-path-to-native $(p:T) ] ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Validate the version string and extract the major/minor part we care about.
-#
-local rule split-version ( version )
-{
-    local major-minor = [ MATCH ^([0-9]+)\.([0-9]+)(.*)$ : $(version) : 1 2 3 ] ;
-    if ! $(major-minor[2]) || $(major-minor[3])
-    {
-        ECHO "Warning: \"using python\" expects a two part (major, minor) version number; got" $(version) instead ;
-
-        # Add a zero to account for the missing digit if necessary.
-        major-minor += 0 ;
-    }
-
-    return $(major-minor[1]) $(major-minor[2]) ;
-}
-
-
-# Build a list of versions from 3.0 down to 1.5. Because bjam can not enumerate
-# registry sub-keys, we have no way of finding a version with a 2-digit minor
-# version, e.g. 2.10 -- let us hope that never happens.
-#
-.version-countdown = ;
-for local v in [ numbers.range 15 30 ]
-{
-    .version-countdown = [ SUBST $(v) (.)(.*) $1.$2 ] $(.version-countdown) ;
-}
-
-
-local rule windows-installed-pythons ( version ? )
-{
-    version ?= $(.version-countdown) ;
-    local interpreters ;
-
-    for local v in $(version)
-    {
-        local install-path = [
-          software-registry-value "Python\\PythonCore\\"$(v)"\\InstallPath" ] ;
-
-        if $(install-path)
-        {
-            install-path = [ windows-path-to-native $(install-path) ] ;
-            debug-message Registry indicates Python $(v) installed at \"$(install-path)\" ;
-        }
-
-        interpreters += $(:E=python:R=$(install-path)) ;
-    }
-    return $(interpreters) ;
-}
-
-
-local rule darwin-installed-pythons ( version ? )
-{
-    version ?= $(.version-countdown) ;
-
-    local prefix
-      = [ GLOB /System/Library/Frameworks /Library/Frameworks
-          : Python.framework ] ;
-
-    return $(prefix)/Versions/$(version)/bin/python ;
-}
-
-
-# Assume "python-cmd" invokes a python interpreter and invoke it to extract all
-# the information we care about from its "sys" module. Returns void if
-# unsuccessful.
-#
-local rule probe ( python-cmd )
-{
-    # Avoid invoking a Cygwin symlink on NT.
-    local skip-symlink ;
-    if [ os.name ] = NT
-    {
-        skip-symlink = [ invokes-cygwin-symlink $(python-cmd) ] ;
-    }
-
-    if $(skip-symlink)
-    {
-        debug-message -------------------------------------------------------------------- ;
-        debug-message \"$(python-cmd)\" would attempt to invoke a Cygwin symlink, ;
-        debug-message causing a bjam built for Windows to hang. ;
-        debug-message ;
-        debug-message If you intend to target a Cygwin build of Python, please ;
-        debug-message replace the path to the link with the path to a real executable ;
-        debug-message (guessing: \"$(skip-symlink)\") "in" your 'using python' line ;
-        debug-message "in" user-config.jam or site-config.jam. Do not forget to escape ;
-        debug-message backslashes ;
-        debug-message -------------------------------------------------------------------- ;
-    }
-    else
-    {
-        # Prepare a List of Python format strings and expressions that can be
-        # used to print the constants we want from the sys module.
-
-        # We do not really want sys.version since that is a complicated string,
-        # so get the information from sys.version_info instead.
-        local format = "version=%d.%d" ;
-        local exprs = "version_info[0]" "version_info[1]" ;
-
-        for local s in $(sys-elements[2-])
-        {
-            format += $(s)=%s ;
-            exprs += $(s) ;
-        }
-
-        # Invoke Python and ask it for all those values.
-        if [ version.check-jam-version 3 1 17 ] || ( [ os.name ] != NT )
-        {
-            # Prior to version 3.1.17 Boost Jam's SHELL command did not support
-            # quoted commands correctly on Windows. This means that on that
-            # platform we do not support using a Python command interpreter
-            # executable whose path contains a space character.
-            python-cmd = \"$(python-cmd)\" ;
-        }
-        local full-cmd =
-            $(python-cmd)" -c \"from sys import *; print('"$(format:J=\\n)"' % ("$(exprs:J=,)"))\"" ;
-
-        local output = [ shell-cmd $(full-cmd) ] ;
-        if $(output)
-        {
-            # Parse the output to get all the results.
-            local nl = "
-
-" ;
-            for s in $(sys-elements)
-            {
-                # These variables are expected to be declared local in the
-                # caller, so Jam's dynamic scoping will set their values there.
-                sys.$(s) = [ SUBST $(output) \\<$(s)=([^$(nl)]+) $1 ] ;
-            }
-        }
-        return $(output) ;
-    }
-}
-
-
-# Make sure the "libraries" and "includes" variables (in an enclosing scope)
-# have a value based on the information given.
-#
-local rule compute-default-paths ( target-os : version ? : prefix ? :
-    exec-prefix ? )
-{
-    exec-prefix ?= $(prefix) ;
-
-    if $(target-os) = windows
-    {
-        # The exec_prefix is where you're supposed to look for machine-specific
-        # libraries.
-        local default-library-path = $(exec-prefix)\\libs ;
-        local default-include-path = $(:E=Include:R=$(prefix)) ;
-
-        # If the interpreter was found in a directory called "PCBuild" or
-        # "PCBuild8," assume we're looking at a Python built from the source
-        # distro, and go up one additional level to the default root. Otherwise,
-        # the default root is the directory where the interpreter was found.
-
-        # We ask Python itself what the executable path is in case of
-        # intermediate symlinks or shell scripts.
-        local executable-dir = $(sys.executable:D) ;
-
-        if [ MATCH ^(PCBuild) : $(executable-dir:D=) ]
-        {
-            debug-message "This Python appears to reside in a source distribution;" ;
-            debug-message "prepending \""$(executable-dir)"\" to default library search path" ;
-
-            default-library-path = $(executable-dir) $(default-library-path) ;
-
-            default-include-path = $(:E=PC:R=$(executable-dir:D)) $(default-include-path) ;
-
-            debug-message "and \""$(default-include-path[1])"\" to default #include path" ;
-        }
-
-        libraries ?= $(default-library-path) ;
-        includes ?= $(default-include-path) ;
-    }
-    else
-    {
-        includes ?= $(prefix)/include/python$(version) ;
-
-        local lib = $(exec-prefix)/lib ;
-        libraries ?= $(lib)/python$(version)/config $(lib) ;
-    }
-}
-
-# The version of the python interpreter to use.
-feature.feature python : : propagated ;
-feature.feature python.interpreter : : free ;
-
-toolset.flags python.capture-output PYTHON : <python.interpreter> ;
-
-#
-# Support for Python configured --with-pydebug
-#
-feature.feature python-debugging : off on : propagated ;
-builtin.variant debug-python : debug : <python-debugging>on ;
-
-
-# Return a list of candidate commands to try when looking for a Python
-# interpreter. prefix is expected to be a native path.
-#
-local rule candidate-interpreters ( version ? : prefix ? : target-os )
-{
-    local bin-path = bin ;
-    if $(target-os) = windows
-    {
-        # On Windows, look in the root directory itself and, to work with the
-        # result of a build-from-source, the PCBuild directory.
-        bin-path = PCBuild8 PCBuild "" ;
-    }
-
-    bin-path = $(bin-path:R=$(prefix)) ;
-
-    if $(target-os) in windows darwin
-    {
-        return                                            # Search:
-            $(:E=python:R=$(bin-path))                    #   Relative to the prefix, if any
-            python                                        #   In the PATH
-            [ $(target-os)-installed-pythons $(version) ] #   Standard install locations
-        ;
-    }
-    else
-    {
-        # Search relative to the prefix, or if none supplied, in PATH.
-        local unversioned = $(:E=python:R=$(bin-path:E=)) ;
-
-        # If a version was specified, look for a python with that specific
-        # version appended before looking for one called, simply, "python"
-        return $(unversioned)$(version) $(unversioned) ;
-    }
-}
-
-
-# Compute system library dependencies for targets linking with static Python
-# libraries.
-#
-# On many systems, Python uses libraries such as pthreads or libdl. Since static
-# libraries carry no library dependency information of their own that the linker
-# can extract, these extra dependencies have to be given explicitly on the link
-# line of the client.  The information about these dependencies is packaged into
-# the "python" target below.
-#
-# Even where Python itself uses pthreads, it never allows extension modules to
-# be entered concurrently (unless they explicitly give up the interpreter lock).
-# Therefore, extension modules do not need the efficiency overhead of threadsafe
-# code as produced by <threading>multi, and we handle libpthread along with
-# other libraries here. Note: this optimization is based on an assumption that
-# the compiler generates link-compatible code in both the single- and
-# multi-threaded cases, and that system libraries do not change their ABIs
-# either.
-#
-# Returns a list of usage-requirements that link to the necessary system
-# libraries.
-#
-local rule system-library-dependencies ( target-os )
-{
-    switch $(target-os)
-    {
-        case s[uo][nl]* : # solaris, sun, sunos
-            # Add a librt dependency for the gcc toolset on SunOS (the sun
-            # toolset adds -lrt unconditionally). While this appears to
-            # duplicate the logic already in gcc.jam, it does not as long as
-            # we are not forcing <threading>multi.
-
-            # On solaris 10, distutils.sysconfig.get_config_var('LIBS') yields
-            # '-lresolv -lsocket -lnsl -lrt -ldl'. However, that does not seem
-            # to be the right list for extension modules. For example, on my
-            # installation, adding -ldl causes at least one test to fail because
-            # the library can not be found and removing it causes no failures.
-
-            # Apparently, though, we need to add -lrt for gcc.
-            return <toolset>gcc:<library>rt ;
-
-        case osf : return  <library>pthread <toolset>gcc:<library>rt ;
-
-        case qnx* : return ;
-        case darwin : return ;
-        case windows : return ;
-
-        case hpux : return  <library>rt ;
-        case *bsd : return  <library>pthread <toolset>gcc:<library>util ;
-
-        case aix : return  <library>pthread <library>dl ;
-
-        case * : return  <library>pthread <library>dl 
-            <toolset>gcc:<library>util <toolset-intel:platform>linux:<library>util ;
-    }
-}
-
-
-# Declare a target to represent Python's library.
-#
-local rule declare-libpython-target ( version ? : requirements * )
-{
-    # Compute the representation of Python version in the name of Python's
-    # library file.
-    local lib-version = $(version) ;
-    if <target-os>windows in $(requirements)
-    {
-        local major-minor = [ split-version $(version) ] ;
-        lib-version = $(major-minor:J="") ;
-        if <python-debugging>on in $(requirements)
-        {
-            lib-version = $(lib-version)_d ;
-        }
-    }
-
-    if ! $(lib-version)
-    {
-        ECHO *** warning: could not determine Python version, which will ;
-        ECHO *** warning: probably prevent us from linking with the python ;
-        ECHO *** warning: library.  Consider explicitly passing the version ;
-        ECHO *** warning: to 'using python'. ;
-    }
-
-    # Declare it.
-    lib python.lib : : <name>python$(lib-version) $(requirements) ;
-}
-
-
-# Implementation of init.
-local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
-    condition * : extension-suffix ? )
-{
-    local prefix ;
-    local exec-prefix ;
-    local cmds-to-try ;
-    local interpreter-cmd ;
-
-    local target-os = [ feature.get-values target-os : $(condition) ] ;
-    target-os ?= [ feature.defaults target-os ] ;
-    target-os = $(target-os:G=) ;
-
-    if $(target-os) = windows && <python-debugging>on in $(condition)
-    {
-        extension-suffix ?= _d ;
-    }
-    extension-suffix ?= "" ;
-
-    # Normalize and dissect any version number.
-    local major-minor ;
-    if $(version)
-    {
-        major-minor = [ split-version $(version) ] ;
-        version = $(major-minor:J=.) ;
-    }
-
-    local cmds-to-try ;
-
-    if ! $(cmd-or-prefix) || [ GLOB $(cmd-or-prefix) : * ]
-    {
-        # If the user did not pass a command, whatever we got was a prefix.
-        prefix = $(cmd-or-prefix) ;
-        cmds-to-try = [ candidate-interpreters $(version) : $(prefix) : $(target-os) ] ;
-    }
-    else
-    {
-        # Work with the command the user gave us.
-        cmds-to-try = $(cmd-or-prefix) ;
-
-        # On Windows, do not nail down the interpreter command just yet in case
-        # the user specified something that turns out to be a cygwin symlink,
-        # which could bring down bjam if we invoke it.
-        if $(target-os) != windows
-        {
-            interpreter-cmd = $(cmd-or-prefix) ;
-        }
-    }
-
-    # Values to use in case we can not really find anything in the system.
-    local fallback-cmd = $(cmds-to-try[1]) ;
-    local fallback-version ;
-
-    # Anything left to find or check?
-    if ! ( $(interpreter-cmd) && $(includes) && $(libraries) )
-    {
-        # Values to be extracted from python's sys module. These will be set by
-        # the probe rule, above, using Jam's dynamic scoping.
-        local sys-elements = version platform prefix exec_prefix executable ;
-        local sys.$(sys-elements) ;
-
-        # Compute the string Python's sys.platform needs to match. If not
-        # targeting Windows or cygwin we will assume only native builds can
-        # possibly run, so we will not require a match and we leave sys.platform
-        # blank.
-        local platform ;
-        switch $(target-os)
-        {
-            case windows : platform = win32 ;
-            case cygwin : platform = cygwin ;
-        }
-
-        while $(cmds-to-try)
-        {
-            # Pop top command.
-            local cmd = $(cmds-to-try[1]) ;
-            cmds-to-try = $(cmds-to-try[2-]) ;
-
-            debug-message Checking interpreter command \"$(cmd)\"... ;
-            if [ probe $(cmd) ]
-            {
-                fallback-version ?= $(sys.version) ;
-
-                # Check for version/platform validity.
-                for local x in version platform
-                {
-                    if $($(x)) && $($(x)) != $(sys.$(x))
-                    {
-                        debug-message ...$(x) "mismatch (looking for"
-                            $($(x)) but found $(sys.$(x))")" ;
-                        cmd = ;
-                    }
-                }
-
-                if $(cmd)
-                {
-                    debug-message ...requested configuration matched! ;
-
-                    exec-prefix = $(sys.exec_prefix) ;
-
-                    compute-default-paths $(target-os) : $(sys.version) :
-                        $(sys.prefix) : $(sys.exec_prefix) ;
-
-                    version = $(sys.version) ;
-                    interpreter-cmd ?= $(cmd) ;
-                    cmds-to-try = ;  # All done.
-                }
-            }
-            else
-            {
-                debug-message ...does not invoke a working interpreter ;
-            }
-        }
-    }
-
-    # Anything left to compute?
-    if $(includes) && $(libraries)
-    {
-        .configured = true ;
-    }
-    else
-    {
-        version ?= $(fallback-version) ;
-        version ?= 2.5 ;
-        exec-prefix ?= $(prefix) ;
-        compute-default-paths $(target-os) : $(version) : $(prefix:E=) ;
-    }
-
-    if ! $(interpreter-cmd)
-    {
-        fallback-cmd ?= python ;
-        debug-message No working Python interpreter found. ;
-        if [ os.name ] != NT || ! [ invokes-cygwin-symlink $(fallback-cmd) ]
-        {
-            interpreter-cmd = $(fallback-cmd) ;
-            debug-message falling back to \"$(interpreter-cmd)\" ;
-        }
-    }
-
-    includes = [ path-to-native $(includes) ] ;
-    libraries = [ path-to-native $(libraries) ] ;
-
-    debug-message "Details of this Python configuration:" ;
-    debug-message "  interpreter command:" \"$(interpreter-cmd:E=<empty>)\" ;
-    debug-message "  include path:" \"$(includes:E=<empty>)\" ;
-    debug-message "  library path:" \"$(libraries:E=<empty>)\" ;
-    if $(target-os) = windows
-    {
-        debug-message "  DLL search path:" \"$(exec-prefix:E=<empty>)\" ;
-    }
-
-    #
-    # End autoconfiguration sequence.
-    #
-    local target-requirements = $(condition) ;
-
-    # Add the version, if any, to the target requirements.
-    if $(version)
-    {
-        if ! $(version) in [ feature.values python ]
-        {
-            feature.extend python : $(version) ;
-        }
-        target-requirements += <python>$(version:E=default) ;
-    }
- 
-    target-requirements += <target-os>$(target-os) ;
-
-    # See if we can find a framework directory on darwin.
-    local framework-directory ;
-    if $(target-os) = darwin
-    {
-        # Search upward for the framework directory.
-        local framework-directory = $(libraries[-1]) ;
-        while $(framework-directory:D=) && $(framework-directory:D=) != Python.framework
-        {
-            framework-directory = $(framework-directory:D) ;
-        }
-
-        if $(framework-directory:D=) = Python.framework
-        {
-            debug-message framework directory is \"$(framework-directory)\" ;
-        }
-        else
-        {
-            debug-message "no framework directory found; using library path" ;
-            framework-directory = ;
-        }
-    }
-
-    local dll-path = $(libraries) ;
-
-    # Make sure that we can find the Python DLL on Windows.
-    if ( $(target-os) = windows ) && $(exec-prefix)
-    {
-        dll-path += $(exec-prefix) ;
-    }
-
-    #
-    # Prepare usage requirements.
-    #
-    local usage-requirements = [ system-library-dependencies $(target-os) ] ;
-    usage-requirements += <include>$(includes) <python.interpreter>$(interpreter-cmd) ;
-    if <python-debugging>on in $(condition)
-    {
-        if $(target-os) = windows
-        {
-            # In pyconfig.h, Py_DEBUG is set if _DEBUG is set. If we define
-            # Py_DEBUG we will get multiple definition warnings.
-            usage-requirements += <define>_DEBUG ;
-        }
-        else
-        {
-            usage-requirements += <define>Py_DEBUG ;
-        }
-    }
-
-    # Global, but conditional, requirements to give access to the interpreter
-    # for general utilities, like other toolsets, that run Python scripts.
-    toolset.add-requirements
-        $(target-requirements:J=,):<python.interpreter>$(interpreter-cmd) ;
-
-    # Register the right suffix for extensions.
-    register-extension-suffix $(extension-suffix) : $(target-requirements) ;
-
-    #
-    # Declare the "python" target. This should really be called
-    # python_for_embedding.
-    #
-
-    if $(framework-directory)
-    {
-        alias python
-          :
-          : $(target-requirements)
-          :
-          : $(usage-requirements) <framework>$(framework-directory)
-          ;
-    }
-    else
-    {
-        declare-libpython-target $(version) : $(target-requirements) ;
-
-        # This is an evil hack.  On, Windows, when Python is embedded, nothing
-        # seems to set up sys.path to include Python's standard library
-        # (http://article.gmane.org/gmane.comp.python.general/544986). The evil
-        # here, aside from the workaround necessitated by Python's bug, is that:
-        #
-        # a. we're guessing the location of the python standard library from the
-        #    location of pythonXX.lib
-        #
-        # b. we're hijacking the <testing.launcher> property to get the
-        #    environment variable set up, and the user may want to use it for
-        #    something else (e.g. launch the debugger).
-        local set-PYTHONPATH ;
-        if $(target-os) = windows
-        {
-            set-PYTHONPATH = [ common.prepend-path-variable-command PYTHONPATH :
-                $(libraries:D)/Lib ] ;
-        }
-
-        alias python
-          :
-          : $(target-requirements)
-          :
-            # Why python.lib must be listed here instead of along with the
-            # system libs is a mystery, but if we do not do it, on cygwin,
-            # -lpythonX.Y never appears in the command line (although it does on
-            # linux).
-          : $(usage-requirements)
-            <testing.launcher>$(set-PYTHONPATH)
-              <library-path>$(libraries) <dll-path>$(dll-path) <library>python.lib
-          ;
-    }
-
-    # On *nix, we do not want to link either Boost.Python or Python extensions
-    # to libpython, because the Python interpreter itself provides all those
-    # symbols. If we linked to libpython, we would get duplicate symbols. So
-    # declare two targets -- one for building extensions and another for
-    # embedding.
-    #
-    # Unlike most *nix systems, Mac OS X's linker does not permit undefined
-    # symbols when linking a shared library. So, we still need to link against
-    # the Python framework, even when building extensions. Note that framework
-    # builds of Python always use shared libraries, so we do not need to worry
-    # about duplicate Python symbols.
-    if $(target-os) in windows cygwin darwin
-    {
-        alias python_for_extensions : python : $(target-requirements) ;
-    }
-    # On AIX we need Python extensions and Boost.Python to import symbols from
-    # the Python interpreter. Dynamic libraries opened with dlopen() do not
-    # inherit the symbols from the Python interpreter.
-    else if $(target-os) = aix
-    {
-        alias python_for_extensions
-            :
-            : $(target-requirements)
-            :
-            : $(usage-requirements) <linkflags>-Wl,-bI:$(libraries[1])/python.exp
-            ;
-    }
-    else
-    {
-        alias python_for_extensions
-            :
-            : $(target-requirements)
-            :
-            : $(usage-requirements)
-            ;
-    }
-}
-
-
-rule configured ( )
-{
-     return $(.configured) ;
-}
-
-
-type.register PYTHON_EXTENSION : : SHARED_LIB ;
-
-
-local rule register-extension-suffix ( root : condition * )
-{
-    local suffix ;
-
-    switch [ feature.get-values target-os : $(condition) ]
-    {
-        case windows : suffix = pyd ;
-        case cygwin : suffix = dll ;
-        case hpux :
-        {
-            if [ feature.get-values python : $(condition) ] in 1.5 1.6 2.0 2.1 2.2 2.3 2.4
-            {
-                suffix = sl ;
-            }
-            else
-            {
-                suffix = so ;
-            }
-        }
-        case * : suffix = so ;
-    }
-
-    type.set-generated-target-suffix PYTHON_EXTENSION : $(condition) : <$(root).$(suffix)> ;
-}
-
-
-# Unset 'lib' prefix for PYTHON_EXTENSION
-type.set-generated-target-prefix PYTHON_EXTENSION : : "" ;
-
-
-rule python-extension ( name : sources * : requirements * : default-build * :
-                        usage-requirements * )
-{
-    if [ configured ]
-    {
-        requirements += <use>/python//python_for_extensions ;
-    }
-    requirements += <suppress-import-lib>true ;
-
-    local project = [ project.current ] ;
-
-    targets.main-target-alternative
-        [ new typed-target $(name) : $(project) : PYTHON_EXTENSION
-            : [ targets.main-target-sources $(sources) : $(name) ]
-            : [ targets.main-target-requirements $(requirements) : $(project) ]
-            : [ targets.main-target-default-build $(default-build) : $(project) ]
-        ] ;
-}
-
-IMPORT python : python-extension : : python-extension ;
-
-rule py2to3
-{
-    common.copy $(>) $(<) ;
-    2to3 $(<) ;
-}
-
-actions 2to3
-{
-    2to3 -wn "$(<)"
-    2to3 -dwn "$(<)"
-}
-
-
-# Support for testing.
-type.register PY : py ;
-type.register RUN_PYD_OUTPUT ;
-type.register RUN_PYD : : TEST ;
-
-
-class python-test-generator : generator
-{
-    import set ;
-
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-        self.composing = true ;
-    }
-
-    rule run ( project name ? : property-set : sources * : multiple ? )
-    {
-        local pyversion = [ $(property-set).get <python> ] ;
-        local python ;
-        local other-pythons ;
-    
-        # Make new target that converting Python source by 2to3 when running with Python 3.
-        local rule make-2to3-source ( source )
-        {
-            if $(pyversion) >= 3.0
-            {
-                local a = [ new action $(source) : python.py2to3 : $(property-set) ] ;
-                local t =  [ utility.basename [ $(s).name ] ] ;
-                local p = [ new file-target $(t) : PY : $(project) : $(a) ] ;
-                return $(p) ;
-            }
-            else
-            {
-                return $(source) ;
-            }
-        }
-
-        for local s in $(sources)
-        {
-            if [ $(s).type ] = PY
-            {
-                if ! $(python)
-                {
-                    # First Python source ends up on command line.
-                    python = [ make-2to3-source $(s) ] ;
-
-                }
-                else
-                {
-                    # Other Python sources become dependencies.
-                    other-pythons += [ make-2to3-source $(s) ] ;
-                }
-            }
-        }
-
-        local extensions ;
-        for local s in $(sources)
-        {
-            if [ $(s).type ] = PYTHON_EXTENSION
-            {
-                extensions += $(s) ;
-            }
-        }
-
-        local libs ;
-        for local s in $(sources)
-        {
-            if [ type.is-derived [ $(s).type ] LIB ]
-              && ! $(s) in $(extensions)
-            {
-                libs += $(s) ;
-            }
-        }
-
-        local new-sources ;
-        for local s in $(sources)
-        {
-            if [ type.is-derived [ $(s).type ] CPP ]
-            {
-                local name = [ utility.basename [ $(s).name ] ] ;
-                if $(name) = [ utility.basename [ $(python).name ] ]
-                {
-                    name = $(name)_ext ;
-                }
-                local extension = [ generators.construct $(project) $(name) :
-                  PYTHON_EXTENSION : $(property-set) : $(s) $(libs) ] ;
-
-                # The important part of usage requirements returned from
-                # PYTHON_EXTENSION generator are xdll-path properties that will
-                # allow us to find the python extension at runtime.
-                property-set = [ $(property-set).add $(extension[1]) ] ;
-
-                # Ignore usage requirements. We're a top-level generator and
-                # nobody is going to use what we generate.
-                new-sources += $(extension[2-]) ;
-            }
-        }
-
-        property-set = [ $(property-set).add-raw <dependency>$(other-pythons) ] ;
-
-        result = [ construct-result $(python) $(extensions) $(new-sources) :
-            $(project) $(name) : $(property-set) ] ;
-    }
-}
-
-
-generators.register
-  [ new python-test-generator python.capture-output : : RUN_PYD_OUTPUT ] ;
-
-generators.register-standard testing.expect-success
-  : RUN_PYD_OUTPUT : RUN_PYD ;
-
-
-# There are two different ways of spelling OS names. One is used for [ os.name ]
-# and the other is used for the <host-os> and <target-os> properties. Until that
-# is remedied, this sets up a crude mapping from the latter to the former, that
-# will work *for the purposes of cygwin/NT cross-builds only*. Could not think
-# of a better name than "translate".
-#
-.translate-os-windows = NT ;
-.translate-os-cygwin = CYGWIN ;
-local rule translate-os ( src-os )
-{
-    local x = $(.translate-os-$(src-os)) [ os.name ] ;
-    return $(x[1]) ;
-}
-
-
-# Extract the path to a single ".pyd" source. This is used to build the
-# PYTHONPATH for running bpl tests.
-#
-local rule pyd-pythonpath ( source )
-{
-    return [ on $(source) return $(LOCATE) $(SEARCH) ] ;
-}
-
-
-# The flag settings on testing.capture-output do not apply to python.capture
-# output at the moment. Redo this explicitly.
-toolset.flags python.capture-output ARGS <testing.arg> ;
-
-
-rule capture-output ( target : sources * : properties * )
-{
-    # Setup up a proper DLL search path. Here, $(sources[1]) is a python module
-    # and $(sources[2]) is a DLL. Only $(sources[1]) is passed to
-    # testing.capture-output, so RUN_PATH variable on $(sources[2]) is not
-    # consulted. Move it over explicitly.
-    RUN_PATH on $(sources[1]) = [ on $(sources[2-]) return $(RUN_PATH) ] ;
-
-    PYTHONPATH  = [ sequence.transform pyd-pythonpath : $(sources[2-]) ] ;
-    PYTHONPATH += [ feature.get-values pythonpath : $(properties) ] ;
-
-    # After test is run, we remove the Python module, but not the Python script.
-    testing.capture-output $(target) : $(sources[1]) : $(properties) :
-        $(sources[2-]) ;
-
-    # PYTHONPATH is different; it will be interpreted by whichever Python is
-    # invoked and so must follow path rules for the target os. The only OSes
-    # where we can run python for other OSes currently are NT and CYGWIN so we
-    # only need to handle those cases.
-    local target-os = [ feature.get-values target-os : $(properties) ] ;
-    # Oddly, host-os is not in properties, so grab the default value.
-    local host-os = [ feature.defaults host-os ] ;
-    host-os = $(host-os:G=) ;
-    if $(target-os) != $(host-os)
-    {
-        PYTHONPATH = [ sequence.transform $(host-os)-to-$(target-os)-path :
-            $(PYTHONPATH) ] ;
-    }
-    local path-separator = [ os.path-separator [ translate-os $(target-os) ] ] ;
-    local set-PYTHONPATH = [ common.variable-setting-command PYTHONPATH :
-        $(PYTHONPATH:J=$(path-separator)) ] ;
-    LAUNCHER on $(target) = $(set-PYTHONPATH) [ on $(target) return \"$(PYTHON)\" ] ;
-}
-
-
-rule bpl-test ( name : sources * : requirements * )
-{
-    local s ;
-    sources ?= $(name).py $(name).cpp ;
-    return [ testing.make-test run-pyd : $(sources) /boost/python//boost_python
-        : $(requirements) : $(name) ] ;
-}
-
-
-IMPORT $(__name__) : bpl-test : : bpl-test ;
diff --git a/SRC/Boost/tools/build/v2/tools/qcc.jam b/SRC/Boost/tools/build/v2/tools/qcc.jam
deleted file mode 100755
index 4175f59..0000000
--- a/SRC/Boost/tools/build/v2/tools/qcc.jam
+++ /dev/null
@@ -1,236 +0,0 @@
-#  Copyright (c) 2001 David Abrahams.
-#  Copyright (c) 2002-2003 Rene Rivera.
-#  Copyright (c) 2002-2003 Vladimir Prus.
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-import "class" : new ;
-import common ;
-import errors ;
-import feature ;
-import generators ;
-import os ;
-import property ;
-import set ;
-import toolset ;
-import type ;
-import unix ;
-
-feature.extend toolset : qcc ;
-
-toolset.inherit-generators qcc : unix : unix.link unix.link.dll ;
-generators.override builtin.lib-generator : qcc.prebuilt ;
-toolset.inherit-flags qcc : unix ;
-toolset.inherit-rules qcc : unix ;
-
-# Initializes the qcc toolset for the given version. If necessary, command may
-# be used to specify where the compiler is located. The parameter 'options' is a
-# space-delimited list of options, each one being specified as
-# <option-name>option-value. Valid option names are: cxxflags, linkflags and
-# linker-type. Accepted values for linker-type are gnu and sun, gnu being the
-# default.
-#
-# Example:
-#   using qcc : 3.4 : : <cxxflags>foo <linkflags>bar <linker-type>sun ;
-#
-rule init ( version ? : command * : options * )
-{
-    local condition = [ common.check-init-parameters qcc : version $(version) ] ;
-    local command = [ common.get-invocation-command qcc : QCC : $(command) ] ;
-    common.handle-options qcc : $(condition) : $(command) : $(options) ;
-}
-
-
-generators.register-c-compiler qcc.compile.c++ : CPP : OBJ : <toolset>qcc ;
-generators.register-c-compiler qcc.compile.c   : C   : OBJ : <toolset>qcc ;
-generators.register-c-compiler qcc.compile.asm : ASM : OBJ : <toolset>qcc ;
-
-
-# Declare flags for compilation.
-toolset.flags qcc.compile OPTIONS <debug-symbols>on : -gstabs+ ;
-
-# Declare flags and action for compilation.
-toolset.flags qcc.compile OPTIONS <optimization>off : -O0 ;
-toolset.flags qcc.compile OPTIONS <optimization>speed : -O3 ;
-toolset.flags qcc.compile OPTIONS <optimization>space : -Os ;
-
-toolset.flags qcc.compile OPTIONS <inlining>off : -Wc,-fno-inline ;
-toolset.flags qcc.compile OPTIONS <inlining>on : -Wc,-Wno-inline ;
-toolset.flags qcc.compile OPTIONS <inlining>full : -Wc,-finline-functions -Wc,-Wno-inline ;
-
-toolset.flags qcc.compile OPTIONS <warnings>off : -w ;
-toolset.flags qcc.compile OPTIONS <warnings>all : -Wc,-Wall ;
-toolset.flags qcc.compile OPTIONS <warnings-as-errors>on : -Wc,-Werror ;
-
-toolset.flags qcc.compile OPTIONS <profiling>on : -p ;
-
-toolset.flags qcc.compile OPTIONS <cflags> ;
-toolset.flags qcc.compile.c++ OPTIONS <cxxflags> ;
-toolset.flags qcc.compile DEFINES <define> ;
-toolset.flags qcc.compile INCLUDES <include> ;
-
-toolset.flags qcc.compile OPTIONS <link>shared : -shared ;
-
-toolset.flags qcc.compile.c++ TEMPLATE_DEPTH <c++-template-depth> ;
-
-
-rule compile.c++
-{
-    # Here we want to raise the template-depth parameter value to something
-    # higher than the default value of 17. Note that we could do this using the
-    # feature.set-default rule but we do not want to set the default value for
-    # all toolsets as well.
-    #
-    # TODO: This 'modified default' has been inherited from some 'older Boost
-    # Build implementation' and has most likely been added to make some Boost
-    # library parts compile correctly. We should see what exactly prompted this
-    # and whether we can get around the problem more locally.
-    local template-depth = [ on $(1) return $(TEMPLATE_DEPTH) ] ;
-    if ! $(template-depth)
-    {
-        TEMPLATE_DEPTH on $(1) = 128 ;
-    }
-}
-
-actions compile.c++
-{
-    "$(CONFIG_COMMAND)" -Wc,-ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.c
-{
-    "$(CONFIG_COMMAND)" $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.asm
-{
-    "$(CONFIG_COMMAND)" $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-
-# The class checking that we do not try to use the <runtime-link>static property
-# while creating or using a shared library, since it is not supported by qcc/
-# /libc.
-#
-class qcc-linking-generator : unix-linking-generator
-{
-    rule generated-targets ( sources + : property-set : project name ? )
-    {
-        if <runtime-link>static in [ $(property-set).raw ]
-        {
-            local m ;
-            if [ id ] = "qcc.link.dll"
-            {
-                m = "on qcc, DLL can't be build with <runtime-link>static" ;
-            }
-            if ! $(m)
-            {
-                for local s in $(sources)
-                {
-                    local type = [ $(s).type ] ;
-                    if $(type) && [ type.is-derived $(type) SHARED_LIB ]
-                    {
-                        m = "on qcc, using DLLS together with the <runtime-link>static options is not possible " ;
-                    }
-                }
-            }
-            if $(m)
-            {
-                errors.user-error $(m) : "It is suggested to use"
-                    "<runtime-link>static together with <link>static." ;
-            }
-        }
-
-        return [ unix-linking-generator.generated-targets
-            $(sources) : $(property-set) : $(project) $(name) ] ;
-    }
-}
-
-generators.register [ new qcc-linking-generator qcc.link : LIB OBJ : EXE
-    : <toolset>qcc ] ;
-
-generators.register [ new qcc-linking-generator qcc.link.dll : LIB OBJ
-    : SHARED_LIB : <toolset>qcc ] ;
-
-generators.override qcc.prebuilt : builtin.prebuilt ;
-generators.override qcc.searched-lib-generator : searched-lib-generator ;
-
-
-# Declare flags for linking.
-# First, the common flags.
-toolset.flags qcc.link OPTIONS <debug-symbols>on : -gstabs+ ;
-toolset.flags qcc.link OPTIONS <profiling>on : -p ;
-toolset.flags qcc.link OPTIONS <linkflags> ;
-toolset.flags qcc.link LINKPATH <library-path> ;
-toolset.flags qcc.link FINDLIBS-ST <find-static-library> ;
-toolset.flags qcc.link FINDLIBS-SA <find-shared-library> ;
-toolset.flags qcc.link LIBRARIES <library-file> ;
-
-toolset.flags qcc.link FINDLIBS-SA : m ;
-
-# For <runtime-link>static we made sure there are no dynamic libraries in the
-# link.
-toolset.flags qcc.link OPTIONS <runtime-link>static : -static ;
-
-# Assuming this is just like with gcc.
-toolset.flags qcc.link RPATH : <dll-path> : unchecked ;
-toolset.flags qcc.link RPATH_LINK : <xdll-path> : unchecked ;
-
-
-# Declare actions for linking.
-#
-rule link ( targets * : sources * : properties * )
-{
-    SPACE on $(targets) = " " ;
-    # Serialize execution of the 'link' action, since running N links in
-    # parallel is just slower. For now, serialize only qcc links while it might
-    # be a good idea to serialize all links.
-    JAM_SEMAPHORE on $(targets) = <s>qcc-link-semaphore ;
-}
-
-actions link bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(OPTIONS)
-}
-
-
-# Always remove archive and start again. Here is the rationale from Andre Hentz:
-# I had a file, say a1.c, that was included into liba.a. I moved a1.c to a2.c,
-# updated my Jamfiles and rebuilt. My program was crashing with absurd errors.
-# After some debugging I traced it back to the fact that a1.o was *still* in
-# liba.a
-RM = [ common.rm-command ] ;
-if [ os.name ] = NT
-{
-    RM = "if exist \"$(<[1])\" DEL \"$(<[1])\""  ;
-}
-
-
-# Declare action for creating static libraries. The 'r' letter means to add
-# files to the archive with replacement. Since we remove the archive, we do not
-# care about replacement, but there is no option to "add without replacement".
-# The 'c' letter suppresses warnings in case the archive does not exists yet.
-# That warning is produced only on some platforms, for whatever reasons.
-#
-actions piecemeal archive
-{
-    $(RM) "$(<)"
-    ar rc "$(<)" "$(>)"
-}
-
-
-rule link.dll ( targets * : sources * : properties * )
-{
-    SPACE on $(targets) = " " ;
-    JAM_SEMAPHORE on $(targets) = <s>qcc-link-semaphore ;
-}
-
-
-# Differ from 'link' above only by -shared.
-#
-actions link.dll bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -o "$(<)" $(HAVE_SONAME)-Wl,-h$(SPACE)-Wl,$(<[1]:D=) -shared "$(>)"  "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(OPTIONS)
-}
diff --git a/SRC/Boost/tools/build/v2/tools/qt.jam b/SRC/Boost/tools/build/v2/tools/qt.jam
deleted file mode 100755
index 5d95878..0000000
--- a/SRC/Boost/tools/build/v2/tools/qt.jam
+++ /dev/null
@@ -1,17 +0,0 @@
-#  Copyright (c) 2006 Vladimir Prus.
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-#  Forwarning toolset file to Qt GUI library. Forwards to the toolset file
-#  for the current version of Qt.
-
-import qt4 ;
-
-rule init ( prefix : full_bin ? : full_inc ? : full_lib ? : version ? : condition * )
-{
-    qt4.init $(prefix) : $(full_bin)  : $(full_inc) : $(full_lib) : $(version) : $(condition) ;
-}
-
-
diff --git a/SRC/Boost/tools/build/v2/tools/qt3.jam b/SRC/Boost/tools/build/v2/tools/qt3.jam
deleted file mode 100755
index a94d25f..0000000
--- a/SRC/Boost/tools/build/v2/tools/qt3.jam
+++ /dev/null
@@ -1,209 +0,0 @@
-# Copyright 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Support for the Qt GUI library version 3
-# (http://www.trolltech.com/products/qt3/index.html).
-# For new developments, it is recommended to use Qt4 via the qt4 Boost.Build
-# module.
-
-import modules ;
-import feature ;
-import errors ;
-import type ;
-import "class" : new ;
-import generators ;
-import project ;
-import toolset : flags ;
-
-# Convert this module into a project, so that we can declare targets here.
-project.initialize $(__name__) ;
-project qt3 ;
-
-
-# Initialized the QT support module. The 'prefix' parameter tells where QT is
-# installed. When not given, environmental variable QTDIR should be set.
-#
-rule init ( prefix ? )
-{
-    if ! $(prefix)
-    {
-        prefix = [ modules.peek : QTDIR ] ;
-        if ! $(prefix) 
-        {
-            errors.error 
-              "QT installation prefix not given and QTDIR variable is empty" ;
-        }        
-    }
- 
-    if $(.initialized)
-    {
-        if $(prefix) != $(.prefix)
-        {
-            errors.error 
-              "Attempt the reinitialize QT with different installation prefix" ;
-        }        
-    } 
-    else
-    {            
-        .initialized = true ;
-        .prefix = $(prefix) ;
-        
-        generators.register-standard qt3.moc : H : CPP(moc_%) : <allow>qt3 ;
-        # Note: the OBJ target type here is fake, take a look at
-        # qt4.jam/uic-h-generator for explanations that apply in this case as
-        # well.
-        generators.register [ new moc-h-generator-qt3 
-            qt3.moc.cpp : MOCCABLE_CPP : OBJ : <allow>qt3 ] ;
-        
-        # The UI type is defined in types/qt.jam, and UIC_H is only used in
-        # qt.jam, but not in qt4.jam, so define it here.
-        type.register UIC_H : : H ;
-        
-        generators.register-standard qt3.uic-h : UI : UIC_H : <allow>qt3 ;
-        
-        # The following generator is used to convert UI files to CPP. It creates
-        # UIC_H from UI, and constructs CPP from UI/UIC_H. In addition, it also
-        # returns UIC_H target, so that it can be mocced.
-        class qt::uic-cpp-generator : generator
-        {
-            rule __init__ ( )
-            {
-                generator.__init__ qt3.uic-cpp : UI UIC_H : CPP : <allow>qt3 ;
-            }
-                        
-            rule run ( project name ? : properties * : sources + )
-            {
-                # Consider this:
-                #    obj test : test_a.cpp : <optimization>off ;
-                #
-                # This generator will somehow be called in this case, and,
-                # will fail -- which is okay. However, if there are <library>
-                # properties they will be converted to sources, so the size of 
-                # 'sources' will be more than 1. In this case, the base generator
-                # will just crash -- and that's not good. Just use a quick test
-                # here.
-                                
-                local result ;
-                if ! $(sources[2])
-                {    
-                    # Construct CPP as usual
-                    result = [ generator.run $(project) $(name) 
-                      : $(properties) : $(sources) ] ;
-                    
-                    # If OK, process UIC_H with moc. It's pretty clear that
-                    # the object generated with UIC will have Q_OBJECT macro.
-                    if $(result)
-                    {
-                        local action = [ $(result[1]).action ] ;
-                        local sources = [ $(action).sources ] ;
-                        local mocced = [ generators.construct $(project) $(name)
-                          : CPP : $(properties) : $(sources[2]) ] ;
-                        result += $(mocced[2-]) ;
-                    }
-                }
-                            
-                return $(result) ;
-            }               
-        }
-    
-        generators.register [ new qt::uic-cpp-generator ] ;
-        
-        # Finally, declare prebuilt target for QT library.
-        local usage-requirements = 
-             <include>$(.prefix)/include 
-             <dll-path>$(.prefix)/lib
-             <library-path>$(.prefix)/lib     
-             <allow>qt3
-             ;  
-        lib qt : : <name>qt-mt <threading>multi : : $(usage-requirements) ;
-        lib qt : : <name>qt <threading>single : : $(usage-requirements) ;        
-    }
-}
-
-class moc-h-generator-qt3 : generator
-{
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-
-    rule run ( project name ? : property-set : sources * )
-    {       
-        if ! $(sources[2]) && [ $(sources[1]).type ] = MOCCABLE_CPP
-        {                              
-            name = [ $(sources[1]).name ] ;
-            name = $(name:B) ;
-            
-            local a = [ new action $(sources[1]) : qt3.moc.cpp :
-              $(property-set) ] ;
-            
-            local target = [ 
-              new file-target $(name) : MOC : $(project) : $(a) ] ;
-            
-            local r = [ virtual-target.register $(target) ] ; 
-                                  
-            # Since this generator will return a H target, the linking generator
-            # won't use it at all, and won't set any dependency on it. However, 
-            # we need the target to be seen by bjam, so that the dependency from
-            # sources to this generated header is detected -- if Jam does not
-            # know about this target, it won't do anything.
-            DEPENDS all : [ $(r).actualize ] ;
-            
-            return $(r) ;            
-        }        
-    }    
-}
-
-
-# Query the installation directory. This is needed in at least two scenarios.
-# First, when re-using sources from the Qt-Tree. Second, to "install" custom Qt
-# plugins to the Qt-Tree.
-#
-rule directory 
-{ 
-    return $(.prefix) ; 
-} 
-
-# -f forces moc to include the processed source file. Without it, it would think
-# that .qpp is not a header and would not include it from the generated file.
-#
-actions moc 
-{
-    $(.prefix)/bin/moc -f $(>) -o $(<)
-}
-
-# When moccing .cpp files, we don't need -f, otherwise generated code will
-# include .cpp and we'll get duplicated symbols.
-#
-actions moc.cpp
-{
-    $(.prefix)/bin/moc $(>) -o $(<)
-}
-
-
-space = " " ;
-
-# Sometimes it's required to make 'plugins' available during uic invocation. To
-# help with this we add paths to all dependency libraries to uic commane line.
-# The intention is that it's possible to write
-#    
-#     exe a : ... a.ui ... : <uses>some_plugin ; 
-# 
-# and have everything work. We'd add quite a bunch of unrelated paths but it
-# won't hurt.
-#
-flags qt3.uic-h LIBRARY_PATH <xdll-path> ;
-actions uic-h
-{
-    $(.prefix)/bin/uic $(>) -o $(<) -L$(space)$(LIBRARY_PATH)
-}
-
-
-flags qt3.uic-cpp LIBRARY_PATH <xdll-path> ;
-# The second target is uic-generated header name. It's placed in build dir, but
-# we want to include it using only basename.
-actions uic-cpp
-{
-    $(.prefix)/bin/uic $(>[1]) -i $(>[2]:D=) -o $(<) -L$(space)$(LIBRARY_PATH)
-}
diff --git a/SRC/Boost/tools/build/v2/tools/qt4.jam b/SRC/Boost/tools/build/v2/tools/qt4.jam
deleted file mode 100755
index 7a1012d..0000000
--- a/SRC/Boost/tools/build/v2/tools/qt4.jam
+++ /dev/null
@@ -1,724 +0,0 @@
-# Copyright 2002-2006 Vladimir Prus
-# Copyright 2005 Alo Sarv
-# Copyright 2005-2009 Juergen Hunold
-#
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Qt4 library support module
-#
-# The module attempts to auto-detect QT installation location from QTDIR
-# environment variable; failing that, installation location can be passed as
-# argument:
-#
-# toolset.using qt4 : /usr/local/Trolltech/Qt-4.0.0 ;
-#
-# The module supports code generation from .ui and .qrc files, as well as
-# running the moc preprocessor on headers. Note that you must list all your
-# moc-able headers in sources.
-#
-# Example:
-#
-#     exe myapp : myapp.cpp myapp.h myapp.ui myapp.qrc
-#                 /qt4//QtGui /qt4//QtNetwork ;
-#
-# It's also possible to run moc on cpp sources:
-#
-#   import cast ;
-#
-#   exe myapp : myapp.cpp [ cast _ moccable-cpp : myapp.cpp ] /qt4//QtGui ;
-#
-# When moccing source file myapp.cpp you need to include "myapp.moc" from
-# myapp.cpp. When moccing .h files, the output of moc will be automatically
-# compiled and linked in, you don't need any includes.
-#
-# This is consistent with Qt guidelines:
-# http://doc.trolltech.com/4.0/moc.html
-
-import modules ;
-import feature ;
-import errors ;
-import type ;
-import "class" : new ;
-import generators ;
-import project ;
-import toolset : flags ;
-import os ;
-import virtual-target ;
-import scanner ;
-
-# Qt3Support control feature
-#
-# Qt4 configure defaults to build Qt4 libraries with Qt3Support.
-# The autodetection is missing, so we default to disable Qt3Support.
-# This prevents the user from inadvertedly using a deprecated API.
-#
-# The Qt3Support library can be activated by adding
-# "<qt3support>on" to requirements
-#
-# Use "<qt3support>on:<define>QT3_SUPPORT_WARNINGS"
-# to get warnings about deprecated Qt3 support funtions and classes.
-# Files ported by the "qt3to4" conversion tool contain _tons_ of
-# warnings, so this define is not set as default.
-#
-# Todo: Detect Qt3Support from Qt's configure data.
-#       Or add more auto-configuration (like python).
-feature.feature qt3support : off on : propagated link-incompatible ;
-
-# The Qt version used for requirements
-# Valid are <qt>4.4 or <qt>4.5.0
-# Auto-detection via qmake sets '<qt>major.minor.patch'
-feature.feature qt : : propagated ;
-
-project.initialize $(__name__) ;
-project qt ;
-
-# Save the project so that we tolerate 'import + using' combo.
-.project = [ project.current ] ;
-
-# Helper utils for easy debug output
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-    .debug-configuration = TRUE ;
-}
-
-local rule debug-message ( message * )
-{
-    if $(.debug-configuration) = TRUE
-    {
-        ECHO notice: [qt4-cfg] $(message) ;
-    }
-}
-
-# Capture qmake output line by line
-local rule read-output ( content )
-{
-    local lines ;
-    local nl = "
-" ;
-    local << = "([^$(nl)]*)[$(nl)](.*)" ;
-    local line+ = [ MATCH "$(<<)" : "$(content)" ] ;
-    while $(line+)
-    {
-        lines += $(line+[1]) ;
-        line+ = [ MATCH "$(<<)" : "$(line+[2])" ] ;
-    }
-    return $(lines) ;
-}
-
-# Capture Qt version from qmake
-local rule check-version ( bin_prefix )
-{
-    full-cmd = $(bin_prefix)"/qmake -v" ;
-    debug-message Running '$(full-cmd)' ;
-    local output = [ SHELL $(full-cmd) ] ;
-    for line in [ read-output $(output) ]
-    {
-        # Parse the output to get all the results.
-        if [ MATCH "QMake" : $(line) ]
-        {
-            # Skip first line of output
-        }
-        else
-        {
-            temp = [ MATCH "([0-9]*)\\.([0-9]*)\\.([0-9]*)" : $(line) ] ;
-        }
-    }
-    return $(temp) ;
-}
-
-# Validate the version string and extract the major/minor part we care about.
-#
-local rule split-version ( version )
-{
-    local major-minor = [ MATCH ^([0-9]+)\.([0-9]+)(.*)$ : $(version) : 1 2 3 ] ;
-    if ! $(major-minor[2]) || $(major-minor[3])
-    {
-        ECHO "Warning: 'using qt' expects a two part (major, minor) version number; got" $(version) instead ;
-
-        # Add a zero to account for the missing digit if necessary.
-        major-minor += 0 ;
-    }
-
-    return $(major-minor[1]) $(major-minor[2]) ;
-}
-
-# Initialize the QT support module.
-# Parameters:
-# - 'prefix'    parameter tells where Qt is installed.
-# - 'full_bin'  optional full path to Qt binaries (qmake,moc,uic,rcc)
-# - 'full_inc'  optional full path to Qt top-level include directory
-# - 'full_lib'  optional full path to Qt library directory
-# - 'version'   optional version of Qt, else autodetected via 'qmake -v'
-# - 'condition' optional requirements
-rule init ( prefix : full_bin ? : full_inc ? : full_lib ? : version ? : condition * )
-{
-    project.push-current $(.project) ;
-
-    debug-message "==== Configuring Qt ... ====" ;
-    for local v in version cmd-or-prefix includes libraries condition
-    {
-        if $($(v))
-        {
-            debug-message "  user-specified "$(v): '$($(v))' ;
-        }
-    }
-
-    # Needed as default value
-    .prefix = $(prefix) ;
-
-    # pre-build paths to detect reinitializations changes
-    local inc_prefix lib_prefix bin_prefix ;
-    if $(full_inc)
-    {
-        inc_prefix = $(full_inc) ;
-    }
-    else
-    {
-        inc_prefix = $(prefix)/include ;
-    }
-    if $(full_lib)
-    {
-        lib_prefix = $(full_lib) ;
-    }
-    else
-    {
-        lib_prefix = $(prefix)/lib ;
-    }
-    if $(full_bin)
-    {
-        bin_prefix = $(full_bin) ;
-    }
-    else
-    {
-        bin_prefix = $(prefix)/bin ;
-    }
-
-    # Globally needed variables
-    .incprefix = $(inc_prefix) ;
-    .libprefix = $(lib_prefix) ;
-    .binprefix = $(bin_prefix) ;
-
-    if ! $(.initialized)
-    {
-        # Make sure this is initialised only once
-        .initialized = true ;
-
-        # Generates cpp files from header files using "moc" tool
-        generators.register-standard qt4.moc : H : CPP(moc_%) : <allow>qt4 ;
-
-        # The OBJ result type is a fake, 'H' will be really produced. See
-        # comments on the generator class, defined below the 'init' function.
-        generators.register [ new uic-generator qt4.uic : UI : OBJ :
-            <allow>qt4  ] ;
-
-        # The OBJ result type is a fake here too.
-        generators.register [ new moc-h-generator
-            qt4.moc.inc : MOCCABLE_CPP : OBJ : <allow>qt4 ] ;
-
-        generators.register [ new moc-inc-generator
-            qt4.moc.inc : MOCCABLE_H : OBJ : <allow>qt4 ] ;
-
-        # Generates .cpp files from .qrc files.
-        generators.register-standard qt4.rcc : QRC : CPP(qrc_%) ;
-
-        # dependency scanner for wrapped files.
-        type.set-scanner QRC : qrc-scanner ;
-
-        # Save value of first occuring prefix
-        .PREFIX = $(prefix) ;
-    }
-
-    if $(version)
-    {
-        major-minor = [ split-version $(version) ] ;
-        version = $(major-minor:J=.) ;
-    }
-    else
-    {
-        version = [ check-version $(bin_prefix) ] ;
-        if $(version)
-        {
-            version = $(version:J=.) ;
-        }
-        debug-message Detected version '$(version)' ;
-    }
-
-    local target-requirements = $(condition) ;
-
-    # Add the version, if any, to the target requirements.
-    if $(version)
-    {
-        if ! $(version) in [ feature.values qt ]
-        {
-            feature.extend qt : $(version) ;
-        }
-        target-requirements += <qt>$(version:E=default) ;
-    }
-
-    local target-os = [ feature.get-values target-os : $(condition) ] ;
-    if ! $(target-os)
-    {
-        target-os ?= [ feature.defaults target-os ] ;
-        target-os = $(target-os:G=) ;
-        target-requirements += <target-os>$(target-os) ;
-    }
-
-    # Build exact requirements for the tools
-    local tools-requirements = $(target-requirements:J=/) ;
-
-    debug-message "Details of this Qt configuration:" ;
-    debug-message "  prefix:      " '$(prefix:E=<empty>)' ;
-    debug-message "  binary path: " '$(bin_prefix:E=<empty>)' ;
-    debug-message "  include path:" '$(inc_prefix:E=<empty>)' ;
-    debug-message "  library path:" '$(lib_prefix:E=<empty>)' ;
-    debug-message "  target requirements:" '$(target-requirements)' ;
-    debug-message "  tool requirements:  " '$(tools-requirements)' ;
-
-    # setup the paths for the tools
-    toolset.flags qt4.moc .BINPREFIX $(tools-requirements) : $(bin_prefix) ;
-    toolset.flags qt4.rcc .BINPREFIX $(tools-requirements) : $(bin_prefix) ;
-    toolset.flags qt4.uic .BINPREFIX $(tools-requirements) : $(bin_prefix) ;
-
-    # TODO: 2009-02-12: Better support for directories
-    # Most likely needed are separate getters for: include,libraries,binaries and sources.
-    toolset.flags qt4.directory .PREFIX $(tools-requirements) : $(prefix) ;
-
-    # Test for a buildable Qt.
-    if [ glob $(.prefix)/Jamroot ]
-    {
-       .bjam-qt = true
-
-       # this will declare QtCore (and qtmain on <target-os>windows)
-       add-shared-library QtCore ;
-   }
-   else
-   # Setup common pre-built Qt.
-   # Special setup for QtCore on which everything depends
-   {
-       local usage-requirements =
-           <include>$(.incprefix)
-           <library-path>$(.libprefix)
-           <dll-path>$(.libprefix)
-           <threading>multi
-           <allow>qt4 ;
-
-       local suffix ;
-
-       # Since Qt-4.2, debug versions on unix have to be built
-       # separately and therefore have no suffix.
-       .suffix_version = "" ;
-       .suffix_debug = "" ;
-
-       # Control flag for auto-configuration of the debug libraries.
-       # This setup requires Qt 'configure -debug-and-release'.
-       # Only available on some platforms.
-       # ToDo: 2009-02-12: Maybe throw this away and
-       # require separate setup with <variant>debug as condition.
-       .have_separate_debug = FALSE ;
-
-       # Setup other platforms
-       if $(target-os) in windows cygwin
-       {
-           .have_separate_debug = TRUE ;
-
-           # On NT, the libs have "4" suffix, and "d" suffix in debug builds.
-           .suffix_version = "4" ;
-           .suffix_debug = "d" ;
-
-           # On Windows we must link against the qtmain library
-           lib qtmain
-               : # sources
-               : # requirements
-                  <name>qtmain$(.suffix_debug)
-                  <variant>debug
-                  $(target-requirements)
-               ;
-
-           lib qtmain
-               : # sources
-               : # requirements
-                   <name>qtmain
-                   $(target-requirements)
-               ;
-       }
-       else if $(target-os) = darwin
-       {
-           # On MacOS X, both debug and release libraries are available.
-           .suffix_debug = "_debug" ;
-
-           .have_separate_debug = TRUE ;
-
-           alias qtmain ;
-       }
-       else
-       {
-           alias qtmain : : $(target-requirements) ;
-       }
-
-       lib QtCore : qtmain
-           : # requirements
-             <name>QtCore$(.suffix_version)
-             $(target-requirements)
-           : # default-build
-           : # usage-requirements
-             <define>QT_CORE_LIB
-             <define>QT_NO_DEBUG
-             <include>$(.incprefix)/QtCore
-             $(usage-requirements)
-           ;
-
-       if $(.have_separate_debug) = TRUE
-       {
-           debug-message Configure debug libraries with suffix '$(.suffix_debug)' ;
-
-           lib QtCore : $(main)
-               : # requirements
-                 <name>QtCore$(.suffix_debug)$(.suffix_version)
-                 <variant>debug
-                 $(target-requirements)
-               : # default-build
-               : # usage-requirements
-                 <define>QT_CORE_LIB
-                 <include>$(.incprefix)/QtCore
-                 $(usage-requirements)
-               ;
-        }
-    }
-
-    # Initialising the remaining libraries is canonical
-    # parameters 'module' : 'depends-on' : 'usage-define' : 'requirements' : 'include'
-    # 'include' only for non-canonical include paths.
-    add-shared-library QtGui     : QtCore : QT_GUI_LIB     : $(target-requirements) ;
-    add-shared-library QtNetwork : QtCore : QT_NETWORK_LIB : $(target-requirements) ;
-    add-shared-library QtSql     : QtCore : QT_SQL_LIB     : $(target-requirements) ;
-    add-shared-library QtXml     : QtCore : QT_XML_LIB     : $(target-requirements) ;
-
-    add-shared-library Qt3Support : QtGui QtNetwork QtXml QtSql
-                                  : QT_QT3SUPPORT_LIB QT3_SUPPORT
-                                  : <qt3support>on $(target-requirements) ;
-
-    # Dummy target to enable "<qt3support>off" and
-    # "<library>/qt//Qt3Support" at the same time. This enables quick
-    # switching from one to the other for test/porting purposes.
-    alias Qt3Support : : <qt3support>off $(target-requirements) ;
-
-    # OpenGl Support
-    add-shared-library QtOpenGL : QtGui : QT_OPENGL_LIB : $(target-requirements) ;
-
-    # SVG-Support (Qt 4.1)
-    add-shared-library QtSvg : QtXml QtOpenGL : QT_SVG_LIB : $(target-requirements) ;
-
-    # Test-Support (Qt 4.1)
-    add-shared-library QtTest : QtCore : : $(target-requirements) ;
-
-    # Qt designer library
-    add-shared-library QtDesigner : QtGui QtXml : : $(target-requirements) ;
-    add-shared-library QtDesignerComponents : QtGui QtXml : : $(target-requirements) ;
-
-    # Support for dynamic Widgets (Qt 4.1)
-    add-static-library  QtUiTools : QtGui QtXml : $(target-requirements) ;
-
-    # DBus-Support (Qt 4.2)
-    add-shared-library QtDBus : QtXml : : $(target-requirements) ;
-
-    # Script-Engine (Qt 4.3)
-    add-shared-library QtScript : QtGui QtXml : QT_SCRIPT_LIB : $(target-requirements) ;
-
-    # Tools for the Script-Engine (Qt 4.5)
-    add-shared-library QtScriptTools : QtScript : QT_SCRIPTTOOLS_LIB : $(target-requirements) ;
-
-    # WebKit (Qt 4.4)
-    add-shared-library QtWebKit : QtGui : QT_WEBKIT_LIB : $(target-requirements) ;
-
-    # Phonon Multimedia (Qt 4.4)
-    add-shared-library phonon : QtGui QtXml : QT_PHONON_LIB : $(target-requirements) ;
-
-    # Multimedia engine (Qt 4.6)
-    add-shared-library QtMultimedia : QtGui : QT_MULTIMEDIA_LIB : $(target-requirements) ;
-
-    # XmlPatterns-Engine (Qt 4.4)
-    add-shared-library QtXmlPatterns : QtNetwork : QT_XMLPATTERNS_LIB : $(target-requirements) ;
-
-    # Help-Engine (Qt 4.4)
-    add-shared-library QtHelp    : QtGui QtSql QtXml : : $(target-requirements) ;
-    add-shared-library QtCLucene : QCore QtSql QtXml : : $(target-requirements) ;
-
-    # QML-Engine (Qt 4.7)
-    add-shared-library QtDeclarative : QtGui QtXml : : $(target-requirements) ;
-
-    # AssistantClient Support
-    # Compat library removed in 4.7.0
-    # Pre-4.4 help system, use QtHelp for new programs
-    if $(version) < "4.7"
-    {
-       add-shared-library QtAssistantClient : QtGui : : $(target-requirements) : QtAssistant ;
-    }
-    debug-message "==== Configured Qt-$(version) ====" ;
-
-    project.pop-current ;
-}
-
-rule initialized ( )
-{
-    return $(.initialized) ;
-}
-
-
-
-# This custom generator is needed because in QT4, UI files are translated only
-# into H files, and no C++ files are created. Further, the H files need not be
-# passed via MOC. The header is used only via inclusion. If we define a standard
-# UI -> H generator, Boost.Build will run MOC on H, and then compile the
-# resulting cpp. It will give a warning, since output from moc will be empty.
-#
-# This generator is declared with a UI -> OBJ signature, so it gets invoked when
-# linking generator tries to convert sources to OBJ, but it produces target of
-# type H. This is non-standard, but allowed. That header won't be mocced.
-#
-class uic-generator : generator
-{
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-
-    rule run ( project name ? : property-set : sources * )
-    {
-        if ! $(name)
-        {
-            name = [ $(sources[0]).name ] ;
-            name = $(name:B) ;
-        }
-
-        local a = [ new action $(sources[1]) : qt4.uic : $(property-set) ] ;
-
-        # The 'ui_' prefix is to match qmake's default behavior.
-        local target = [ new file-target ui_$(name) : H : $(project) : $(a) ] ;
-
-        local r = [ virtual-target.register $(target) ] ;
-
-        # Since this generator will return a H target, the linking generator
-        # won't use it at all, and won't set any dependency on it. However, we
-        # need the target to be seen by bjam, so that dependency from sources to
-        # this generated header is detected -- if jam does not know about this
-        # target, it won't do anything.
-        DEPENDS all : [ $(r).actualize ] ;
-
-        return $(r) ;
-    }
-}
-
-
-class moc-h-generator : generator
-{
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-
-    rule run ( project name ? : property-set : sources * )
-    {
-        if ! $(sources[2]) && [ $(sources[1]).type ] = MOCCABLE_CPP
-        {
-            name = [ $(sources[0]).name ] ;
-            name = $(name:B) ;
-
-            local a = [ new action $(sources[1]) : qt4.moc.inc :
-                $(property-set) ] ;
-
-            local target = [ new file-target $(name) : MOC : $(project) : $(a)
-                ] ;
-
-            local r = [ virtual-target.register $(target) ] ;
-
-            # Since this generator will return a H target, the linking generator
-            # won't use it at all, and won't set any dependency on it. However,
-            # we need the target to be seen by bjam, so that dependency from
-            # sources to this generated header is detected -- if jam does not
-            # know about this target, it won't do anything.
-            DEPENDS all : [ $(r).actualize ] ;
-
-            return $(r) ;
-        }
-    }
-}
-
-
-class moc-inc-generator : generator
-{
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-
-    rule run ( project name ? : property-set : sources * )
-    {
-        if ! $(sources[2]) && [ $(sources[1]).type ] = MOCCABLE_H
-        {
-            name = [ $(sources[0]).name ] ;
-            name = $(name:B) ;
-
-            local a = [ new action $(sources[1]) : qt4.moc.inc :
-                $(property-set) ] ;
-
-            local target = [ new file-target moc_$(name) : CPP : $(project) :
-                $(a) ] ;
-
-            # Since this generator will return a H target, the linking generator
-            # won't use it at all, and won't set any dependency on it. However,
-            # we need the target to be seen by bjam, so that dependency from
-            # sources to this generated header is detected -- if jam does not
-            # know about this target, it won't do anything.
-            DEPENDS all : [ $(target).actualize ] ;
-
-            return [ virtual-target.register $(target) ] ;
-        }
-    }
-}
-
-
-# Query the installation directory. This is needed in at least two scenarios.
-# First, when re-using sources from the Qt-Tree. Second, to "install" custom Qt
-# plugins to the Qt-Tree.
-#
-rule directory
-{
-    return $(.PREFIX) ;
-}
-
-# Add a shared Qt library.
-rule add-shared-library ( lib-name : depends-on * : usage-defines * : requirements * :  include ? )
-{
-     add-library $(lib-name) : $(.suffix_version) : $(depends-on) : $(usage-defines) : $(requirements) : $(include) ;
-}
-
-# Add a static Qt library.
-rule add-static-library ( lib-name : depends-on * : usage-defines * : requirements * : include ? )
-{
-     add-library $(lib-name) : : $(depends-on) : $(usage-defines) : $(requirements) : $(include) ;
-}
-
-# Add a Qt library.
-# Static libs are unversioned, whereas shared libs have the major number as suffix.
-# Creates both release and debug versions on platforms where both are enabled by Qt configure.
-# Flags:
-# - lib-name Qt library Name
-# - version  Qt major number used as shared library suffix (QtCore4.so)
-# - depends-on other Qt libraries
-# - usage-defines those are set by qmake, so set them when using this library
-# - requirements addional requirements
-# - include non-canonical include path. The canonical path is $(.incprefix)/$(lib-name).
-rule add-library ( lib-name : version ? : depends-on * : usage-defines * : requirements * : include ? )
-{
-    if $(.bjam-qt)
-    {
-        # Import Qt module
-        # Eveything will be setup there
-        alias $(lib-name)
-           : $(.prefix)//$(lib-name)
-           :
-           :
-           : <allow>qt4 ;
-    }
-    else
-    {
-        local real_include ;
-        real_include ?= $(include) ;
-        real_include ?= $(lib-name) ;
-
-        lib $(lib-name)
-           : # sources
-             $(depends-on)
-           : # requirements
-             <name>$(lib-name)$(version)
-             $(requirements)
-           : # default-build
-           : # usage-requirements
-             <define>$(usage-defines)
-             <include>$(.incprefix)/$(real_include)
-           ;
-
-        if $(.have_separate_debug) = TRUE
-        {
-            lib $(lib-name)
-               : # sources
-                 $(depends-on)
-               : # requirements
-                 <name>$(lib-name)$(.suffix_debug)$(version)
-                 $(requirements)
-                 <variant>debug
-               : # default-build
-               : # usage-requirements
-                 <define>$(usage-defines)
-                 <include>$(.incprefix)/$(real_include)
-               ;
-        }
-    }
-
-    # Make library explicit so that a simple <use>qt4 will not bring in everything.
-    # And some components like QtDBus/Phonon may not be available on all platforms.
-    explicit $(lib-name) ;
-}
-
-# Use $(.BINPREFIX[-1]) for the paths as several tools-requirements can match.
-# The exact match is the last one.
-
-# Get <include> and <defines> from current toolset.
-flags qt4.moc INCLUDES <include> ;
-flags qt4.moc DEFINES <define> ;
-
-# need a newline for expansion of DEFINES and INCLUDES in the response file.
-.nl  = "
-" ;
-
-# Processes headers to create Qt MetaObject information. Qt4-moc has its
-# c++-parser, so pass INCLUDES and DEFINES.
-# We use response file with one INCLUDE/DEFINE per line
-#
-actions moc
-{
-    $(.BINPREFIX[-1])/moc -f $(>) -o $(<) @"@($(<).rsp:E=-D$(DEFINES)$(.nl) -I$(INCLUDES:T)$(.nl))"
-}
-
-# When moccing files for include only, we don't need -f, otherwise the generated
-# code will include the .cpp and we'll get duplicated symbols.
-#
-actions moc.inc
-{
-    $(.BINPREFIX[-1])/moc $(>) -o $(<) @"@($(<).rsp:E=-D$(DEFINES)$(.nl) -I$(INCLUDES:T)$(.nl))"
-}
-
-
-# Generates source files from resource files.
-#
-actions rcc
-{
-    $(.BINPREFIX[-1])/rcc $(>) -name $(>:B) -o $(<)
-}
-
-
-# Generates user-interface source from .ui files.
-#
-actions uic
-{
-    $(.BINPREFIX[-1])/uic $(>) -o $(<)
-}
-
-
-# Scanner for .qrc files. Look for the CDATA section of the <file> tag. Ignore
-# the "alias" attribute. See http://doc.trolltech.com/qt/resources.html for
-# detailed documentation of the Qt Resource System.
-#
-class qrc-scanner : common-scanner
-{
-    rule pattern ( )
-    {
-        return "<file.*>(.*)</file>" ;
-    }
-}
-
-
-# Wrapped files are "included".
-scanner.register qrc-scanner : include ;
diff --git a/SRC/Boost/tools/build/v2/tools/quickbook-config.jam b/SRC/Boost/tools/build/v2/tools/quickbook-config.jam
deleted file mode 100755
index 1c6864c..0000000
--- a/SRC/Boost/tools/build/v2/tools/quickbook-config.jam
+++ /dev/null
@@ -1,44 +0,0 @@
-#~ Copyright 2005 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Automatic configuration for BoostBook tools. To use, just import this module.
-
-import os ;
-import toolset : using ;
-
-if [ os.name ] = NT
-{
-    local boost-dir = ;
-    for local R in snapshot cvs 1.33.0
-    {
-        boost-dir += [ W32_GETREG
-            "HKEY_LOCAL_MACHINE\\SOFTWARE\\Boost.org\\$(R)"
-            : "InstallRoot" ] ;
-    }
-    local quickbook-path = [ GLOB "$(boost-dir)\\bin" "\\Boost\\bin" : quickbook.exe ] ;
-    quickbook-path = $(quickbook-path[1]) ;
-    
-    if $(quickbook-path)
-    {
-        if --debug-configuration in [ modules.peek : ARGV ]
-        {
-            ECHO "notice:" using quickbook ":" $(quickbook-path) ;
-        }
-        using quickbook : $(quickbook-path) ;
-    }
-}
-else
-{
-    local quickbook-path = [ GLOB "/usr/local/bin" "/usr/bin" "/opt/bin" : quickbook ] ;
-    quickbook-path = $(quickbook-path[1]) ;
-    
-    if $(quickbook-path)
-    {
-        if --debug-configuration in [ modules.peek : ARGV ]
-        {
-            ECHO "notice:" using quickbook ":" $(quickbook-path) ;
-        }
-        using quickbook : $(quickbook-path) ;
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/tools/quickbook.jam b/SRC/Boost/tools/build/v2/tools/quickbook.jam
deleted file mode 100755
index 9dde33f..0000000
--- a/SRC/Boost/tools/build/v2/tools/quickbook.jam
+++ /dev/null
@@ -1,361 +0,0 @@
-#
-#   Copyright (c) 2005 Jo�o Abecasis
-#   Copyright (c) 2005 Vladimir Prus
-#   Copyright (c) 2006 Rene Rivera
-#
-#   Distributed under the Boost Software License, Version 1.0. (See
-#   accompanying file LICENSE_1_0.txt or copy at
-#   http://www.boost.org/LICENSE_1_0.txt)
-#
-
-# This toolset defines a generator to translate QuickBook to BoostBook. It can
-# be used to generate nice (!) user documentation in different formats
-# (pdf/html/...), from a single text file with simple markup.
-#
-# The toolset defines the QUICKBOOK type (file extension 'qbk') and
-# a QUICKBOOK to XML (BOOSTBOOK) generator.
-#
-#
-#   ===========================================================================
-#   Q & A
-#   ===========================================================================
-#
-#   If you don't know what this is all about, some Q & A will hopefully get you
-#   up to speed with QuickBook and this toolset.
-#
-#
-#   What is QuickBook ?
-#
-#       QuickBook is a WikiWiki style documentation tool geared towards C++
-#       documentation using simple rules and markup for simple formatting tasks.
-#       QuickBook extends the WikiWiki concept. Like the WikiWiki, QuickBook
-#       documents are simple text files. A single QuickBook document can
-#       generate a fully linked set of nice HTML and PostScript/PDF documents
-#       complete with images and syntax-colorized source code.
-#
-#
-#   Where can I get QuickBook ?
-#
-#       Quickbook can be found in Boost's repository, under the tools/quickbook
-#       directory it was added there on Jan 2005, some time after the release of
-#       Boost v1.32.0 and has been an integral part of the Boost distribution
-#       since v1.33.
-#
-#       Here's a link to the SVN repository:
-#           https://svn.boost.org/svn/boost/trunk/tools/quickbook
-#
-#       And to QuickBook's QuickBook-generated docs:
-#           http://www.boost.org/doc/libs/release/tools/quickbook/index.html
-#
-#
-#   How do I use QuickBook and this toolset in my projects ?
-#
-#       The minimal example is:
-#
-#           using boostbook ;
-#           import quickbook ;
-#
-#           boostbook my_docs : my_docs_source.qbk ;
-#
-#       where my_docs is a target name and my_docs_source.qbk is a QuickBook
-#       file. The documentation format to be generated is determined by the
-#       boostbook toolset. By default html documentation should be generated,
-#       but you should check BoostBook's docs to be sure.
-#
-#
-#   What do I need ?
-#
-#       You should start by setting up the BoostBook toolset. Please refer to
-#       boostbook.jam and the BoostBook documentation for information on how to
-#       do this.
-#
-#       A QuickBook executable is also needed. The toolset will generate this
-#       executable if it can find the QuickBook sources. The following
-#       directories will be searched:
-#
-#           BOOST_ROOT/tools/quickbook/
-#           BOOST_BUILD_PATH/../../quickbook/
-#
-#       (BOOST_ROOT and BOOST_BUILD_PATH are environment variables)
-#
-#       If QuickBook sources are not found the toolset will then try to use
-#       the shell command 'quickbook'.
-#
-#
-#   How do I provide a custom QuickBook executable ?
-#
-#       You may put the following in your user-config.jam or site-config.jam:
-#
-#           using quickbook : /path/to/quickbook ;
-#
-#       or, if 'quickbook' can be found in your PATH,
-#
-#           using quickbook : quickbook ;
-#
-#
-#   For convenience three alternatives are tried to get a QuickBook executable:
-#
-#       1.  If the user points us to the a QuickBook executable, that is used.
-#
-#       2.  Otherwise, we search for the QuickBook sources and compile QuickBook
-#           using the default toolset.
-#
-#       3.  As a last resort, we rely on the shell for finding 'quickbook'.
-#
-
-import boostbook ;
-import "class" : new ;
-import feature ;
-import generators ;
-import toolset ;
-import type ;
-import scanner ;
-import project ;
-import targets ;
-import build-system ;
-import path ;
-import common ;
-import errors ;
-
-# The one and only QUICKBOOK type!
-type.register QUICKBOOK : qbk ;
-
-# <quickbook-binary> shell command to run QuickBook
-# <quickbook-binary-dependencies> targets to build QuickBook from sources.
-feature.feature <quickbook-binary> : : free ;
-feature.feature <quickbook-binary-dependencies> : : free dependency ;
-feature.feature <quickbook-define> : : free ;
-feature.feature <quickbook-indent> : : free ;
-feature.feature <quickbook-line-width> : : free ;
-
-
-# quickbook-binary-generator handles generation of the QuickBook executable, by
-# marking it as a dependency for QuickBook docs.
-#
-# If the user supplied the QuickBook command that will be used.
-#
-# Otherwise we search some sensible places for the QuickBook sources and compile
-# from scratch using the default toolset.
-#
-# As a last resort we rely on the shell to find 'quickbook'.
-#
-class quickbook-binary-generator : generator
-{
-    import modules path targets quickbook ;
-
-    rule run ( project name ? : property-set : sources * : multiple ? )
-    {
-        quickbook.freeze-config ;
-        # QuickBook invocation command and dependencies.
-        local quickbook-binary = [ modules.peek quickbook : .quickbook-binary ] ;
-        local quickbook-binary-dependencies ;
-
-        if ! $(quickbook-binary)
-        {
-            # If the QuickBook source directory was found, mark its main target
-            # as a dependency for the current project. Otherwise, try to find
-            # 'quickbook' in user's PATH
-            local quickbook-dir = [ modules.peek quickbook : .quickbook-dir ] ;
-            if $(quickbook-dir)
-            {
-                # Get the main-target in QuickBook directory.
-                local quickbook-main-target = [ targets.resolve-reference $(quickbook-dir) : $(project) ] ;
-
-                # The first element are actual targets, the second are
-                # properties found in target-id. We do not care about these
-                # since we have passed the id ourselves.
-                quickbook-main-target =
-                    [ $(quickbook-main-target[1]).main-target quickbook ] ;
-
-                quickbook-binary-dependencies =
-                    [ $(quickbook-main-target).generate [ $(property-set).propagated ] ] ;
-
-                # Ignore usage-requirements returned as first element.
-                quickbook-binary-dependencies = $(quickbook-binary-dependencies[2-]) ;
-
-                # Some toolsets generate extra targets (e.g. RSP). We must mark
-                # all targets as dependencies for the project, but we will only
-                # use the EXE target for quickbook-to-boostbook translation.
-                for local target in $(quickbook-binary-dependencies)
-                {
-                    if [ $(target).type ] = EXE
-                    {
-                        quickbook-binary = 
-                            [ path.native 
-                                [ path.join
-                                    [ $(target).path ]
-                                    [ $(target).name ]
-                                ]
-                            ] ;
-                    }
-                }
-            }
-        }
-
-        # Add $(quickbook-binary-dependencies) as a dependency of the current
-        # project and set it as the <quickbook-binary> feature for the
-        # quickbook-to-boostbook rule, below.
-        property-set = [ $(property-set).add-raw
-            <dependency>$(quickbook-binary-dependencies)
-            <quickbook-binary>$(quickbook-binary)
-            <quickbook-binary-dependencies>$(quickbook-binary-dependencies)
-        ] ;
-
-        return [ generator.run $(project) $(name) : $(property-set) : $(sources) : $(multiple) ] ;
-    }
-}
-
-
-# Define a scanner for tracking QBK include dependencies.
-#
-class qbk-scanner : common-scanner
-{
-    rule pattern ( )
-    {
-        return "\\[[ ]*include[ ]+([^]]+)\\]" 
-        "\\[[ ]*include:[a-zA-Z0-9_]+[ ]+([^]]+)\\]" 
-        "\\[[ ]*import[ ]+([^]]+)\\]" ;
-    }
-}
-
-
-scanner.register qbk-scanner : include ;
-
-type.set-scanner QUICKBOOK : qbk-scanner ;
-
-
-# Initialization of toolset.
-#
-# Parameters:
-#   command ?    -> path to QuickBook executable.
-#
-# When command is not supplied toolset will search for QuickBook directory and
-# compile the executable from source. If that fails we still search the path for
-# 'quickbook'.
-#
-rule init (
-        command ?   # path to the QuickBook executable.
-    )
-{
-    if $(command)
-    {
-        if $(.config-frozen)
-        {
-            errors.user-error "quickbook: configuration cannot be changed after it has been used." ;
-        }
-        .command = $(command) ;
-    }
-}
-
-rule freeze-config ( )
-{
-    if ! $(.config-frozen)
-    {
-        .config-frozen = true ;
-
-        # QuickBook invocation command and dependencies.
-
-        .quickbook-binary = $(.command) ;
-
-        if $(.quickbook-binary)
-        {
-            # Use user-supplied command.
-            .quickbook-binary = [ common.get-invocation-command quickbook : quickbook : $(.quickbook-binary) ] ;
-        }
-        else
-        {
-            # Search for QuickBook sources in sensible places, like
-            #   $(BOOST_ROOT)/tools/quickbook
-            #   $(BOOST_BUILD_PATH)/../../quickbook
-
-            # And build quickbook executable from sources.
-
-            local boost-root = [ modules.peek : BOOST_ROOT ] ;
-            local boost-build-path = [ build-system.location ] ;
-
-            if $(boost-root)
-            {
-                .quickbook-dir += [ path.join $(boost-root) tools ] ;
-            }
-
-            if $(boost-build-path)
-            {
-                .quickbook-dir += $(boost-build-path)/../.. ;
-            }
-
-            .quickbook-dir = [ path.glob $(.quickbook-dir) : quickbook ] ;
-
-            # If the QuickBook source directory was found, mark its main target
-            # as a dependency for the current project. Otherwise, try to find
-            # 'quickbook' in user's PATH
-            if $(.quickbook-dir)
-            {
-                .quickbook-dir = [ path.make $(.quickbook-dir[1]) ] ;
-            }
-            else
-            {
-                ECHO "QuickBook warning: The path to the quickbook executable was" ;
-                ECHO "  not provided. Additionally, couldn't find QuickBook" ;
-                ECHO "  sources searching in" ;
-                ECHO "    * BOOST_ROOT/tools/quickbook" ;
-                ECHO "    * BOOST_BUILD_PATH/../../quickbook" ;
-                ECHO "  Will now try to find a precompiled executable by searching" ;
-                ECHO "  the PATH for 'quickbook'." ;
-                ECHO "  To disable this warning in the future, or to completely" ;
-                ECHO "  avoid compilation of quickbook, you can explicitly set the" ;
-                ECHO "  path to a quickbook executable command in user-config.jam" ;
-                ECHO "  or site-config.jam with the call" ;
-                ECHO "    using quickbook : /path/to/quickbook ;" ;
-
-                # As a last resort, search for 'quickbook' command in path. Note
-                # that even if the 'quickbook' command is not found,
-                # get-invocation-command will still return 'quickbook' and might
-                # generate an error while generating the virtual-target.
-
-                .quickbook-binary = [ common.get-invocation-command quickbook : quickbook ] ;
-            }
-        }
-    }
-}
-
-
-generators.register [ new quickbook-binary-generator quickbook.quickbook-to-boostbook : QUICKBOOK : XML ] ;
-
-
-# <quickbook-binary> shell command to run QuickBook
-# <quickbook-binary-dependencies> targets to build QuickBook from sources.
-toolset.flags quickbook.quickbook-to-boostbook QB-COMMAND      <quickbook-binary> ;
-toolset.flags quickbook.quickbook-to-boostbook QB-DEPENDENCIES <quickbook-binary-dependencies> ;
-toolset.flags quickbook.quickbook-to-boostbook INCLUDES        <include> ;
-toolset.flags quickbook.quickbook-to-boostbook QB-DEFINES      <quickbook-define> ;
-toolset.flags quickbook.quickbook-to-boostbook QB-INDENT       <quickbook-indent> ;
-toolset.flags quickbook.quickbook-to-boostbook QB-LINE-WIDTH   <quickbook-line-width> ;
-
-
-rule quickbook-to-boostbook ( target : source : properties * )
-{
-    # Signal dependency of quickbook sources on <quickbook-binary-dependencies>
-    # upon invocation of quickbook-to-boostbook.
-    DEPENDS $(target) : [ on $(target) return $(QB-DEPENDENCIES) ] ;
-}
-
-
-actions quickbook-to-boostbook
-{
-    "$(QB-COMMAND)" -I"$(INCLUDES)" -D"$(QB-DEFINES)" --indent="$(QB-INDENT)" --linewidth="$(QB-LINE-WIDTH)" --output-file="$(1)" "$(2)"
-}
-
-
-# Declare a main target to convert a quickbook source into a boostbook XML file.
-#
-rule to-boostbook ( target-name : sources * : requirements * : default-build * )
-{ 
-  local project = [ project.current ] ;
-    
-  targets.main-target-alternative 
-    [ new typed-target $(target-name) : $(project) : XML
-        : [ targets.main-target-sources $(sources) : $(target-name) ] 
-        : [ targets.main-target-requirements $(requirements) : $(project) ]
-        : [ targets.main-target-default-build $(default-build) : $(project) ] 
-    ] ;
-}
diff --git a/SRC/Boost/tools/build/v2/tools/rc.jam b/SRC/Boost/tools/build/v2/tools/rc.jam
deleted file mode 100755
index 33db130..0000000
--- a/SRC/Boost/tools/build/v2/tools/rc.jam
+++ /dev/null
@@ -1,156 +0,0 @@
-#  Copyright (C) Andre Hentz 2003. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-#  
-#  Copyright (c) 2006 Rene Rivera.
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-import type ;
-import generators ;
-import feature ;
-import errors ;
-import scanner ;
-import toolset : flags ;
-
-if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
-{
-    .debug-configuration = true ;
-}
-
-type.register RC : rc ;
-
-rule init ( )
-{
-}
-
-# Configures a new resource compilation command specific to a condition,
-# usually a toolset selection condition. The possible options are:
-#
-#     * <rc-type>(rc|windres) - Indicates the type of options the command
-#       accepts.
-#
-# Even though the arguments are all optional, only when a command, condition,
-# and at minimum the rc-type option are given will the command be configured.
-# This is so that callers don't have to check auto-configuration values
-# before calling this. And still get the functionality of build failures when
-# the resource compiler can't be found.
-#
-rule configure ( command ? : condition ? : options * )
-{
-    local rc-type = [ feature.get-values <rc-type> : $(options) ] ;
-
-    if $(command) && $(condition) && $(rc-type)
-    {
-        flags rc.compile.resource .RC $(condition) : $(command) ;
-        flags rc.compile.resource .RC_TYPE $(condition) : $(rc-type:L) ;
-        flags rc.compile.resource DEFINES <define> ;
-        flags rc.compile.resource INCLUDES <include> ;
-        if $(.debug-configuration)
-        {
-            ECHO notice: using rc compiler :: $(condition) :: $(command) ;
-        }
-    }
-}
-
-rule compile.resource ( target : sources * : properties * )
-{
-    local rc-type = [ on $(target) return $(.RC_TYPE) ] ;
-    rc-type ?= null ;
-    compile.resource.$(rc-type) $(target) : $(sources[1]) ;
-}
-
-actions compile.resource.rc
-{
-    "$(.RC)" -l 0x409 "-U$(UNDEFS)" "-D$(DEFINES)" -I"$(>:D)" -I"$(<:D)" -I"$(INCLUDES)" -fo "$(<)" "$(>)"
-}
-
-actions compile.resource.windres
-{
-    "$(.RC)" "-U$(UNDEFS)" "-D$(DEFINES)" -I"$(>:D)" -I"$(<:D)" -I"$(INCLUDES)" -o "$(<)" -i "$(>)"
-}
-
-actions quietly compile.resource.null
-{
-    as /dev/null -o "$(<)"
-}
-
-# Since it's a common practice to write
-# exe hello : hello.cpp hello.rc
-# we change the name of object created from RC file, to
-# avoid conflict with hello.cpp.
-# The reason we generate OBJ and not RES, is that gcc does not
-# seem to like RES files, but works OK with OBJ.
-# See http://article.gmane.org/gmane.comp.lib.boost.build/5643/
-#
-# Using 'register-c-compiler' adds the build directory to INCLUDES
-generators.register-c-compiler rc.compile.resource : RC : OBJ(%_res) ;
-
-# Register scanner for resources
-class res-scanner : scanner 
-{
-    import regex virtual-target path scanner ;    
-    
-    rule __init__ ( includes * )
-    {
-        scanner.__init__ ;
-    
-        self.includes = $(includes) ;
-    }    
-
-    rule pattern ( )
-    {
-        return "(([^ ]+[ ]+(BITMAP|CURSOR|FONT|ICON|MESSAGETABLE|RT_MANIFEST)[ ]+([^ \"]+|\"[^\"]+\"))|(#include[ ]*(<[^<]+>|\"[^\"]+\")))" ;
-    }
-
-    rule process ( target : matches * : binding )
-    {
-        local angle = [ regex.transform $(matches) : "#include[ ]*<([^<]+)>" ] ;
-        local quoted = [ regex.transform $(matches) : "#include[ ]*\"([^\"]+)\"" ] ;
-        local res = [ regex.transform $(matches) : "[^ ]+[ ]+(BITMAP|CURSOR|FONT|ICON|MESSAGETABLE|RT_MANIFEST)[ ]+(([^ \"]+)|\"([^\"]+)\")" : 3 4 ] ;
-
-        # Icons and other includes may referenced as 
-        #
-        # IDR_MAINFRAME ICON "res\\icon.ico"
-        #
-        # so we have to replace double backslashes to single ones.
-        res = [ regex.replace-list $(res) : "\\\\\\\\" : "/" ] ;
-
-        # CONSIDER: the new scoping rule seem to defeat "on target" variables.
-        local g = [ on $(target) return $(HDRGRIST) ] ;  
-        local b = [ NORMALIZE_PATH $(binding:D) ] ;
-
-        # Attach binding of including file to included targets.
-        # When target is directly created from virtual target
-        # this extra information is unnecessary. But in other
-        # cases, it allows to distinguish between two headers of the 
-        # same name included from different places.      
-        # We don't need this extra information for angle includes,
-        # since they should not depend on including file (we can't
-        # get literal "." in include path).
-        local g2 = $(g)"#"$(b) ;
-       
-        angle = $(angle:G=$(g)) ;
-        quoted = $(quoted:G=$(g2)) ;
-        res = $(res:G=$(g2)) ;
-        
-        local all = $(angle) $(quoted) ;
-
-        INCLUDES $(target) : $(all) ;
-        DEPENDS $(target) : $(res) ;
-        NOCARE $(all) $(res) ;
-        SEARCH on $(angle) = $(self.includes:G=) ;
-        SEARCH on $(quoted) = $(b) $(self.includes:G=) ;
-        SEARCH on $(res) = $(b) $(self.includes:G=) ;
-        
-        # Just propagate current scanner to includes, in a hope
-        # that includes do not change scanners. 
-        scanner.propagate $(__name__) : $(angle) $(quoted) : $(target) ;
-    }        
-}
-
-scanner.register res-scanner : include ;
-type.set-scanner RC : res-scanner ;
diff --git a/SRC/Boost/tools/build/v2/tools/rc.py b/SRC/Boost/tools/build/v2/tools/rc.py
deleted file mode 100755
index 4678550..0000000
--- a/SRC/Boost/tools/build/v2/tools/rc.py
+++ /dev/null
@@ -1,189 +0,0 @@
-# Status: being ported by Steven Watanabe
-# Base revision: 47077
-#
-#  Copyright (C) Andre Hentz 2003. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-#  
-#  Copyright (c) 2006 Rene Rivera.
-#
-#  Copyright (c) 2008 Steven Watanabe
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-##import type ;
-##import generators ;
-##import feature ;
-##import errors ;
-##import scanner ;
-##import toolset : flags ;
-
-from b2.build import type, toolset, generators, scanner, feature
-from b2.tools import builtin
-from b2.util import regex
-from b2.build.toolset import flags
-from b2.manager import get_manager
-
-__debug = None
-
-def debug():
-    global __debug
-    if __debug is None:
-        __debug = "--debug-configuration" in bjam.variable("ARGV")        
-    return __debug
-
-type.register('RC', ['rc'])
-
-def init():
-    pass
-
-def configure (command = None, condition = None, options = None):
-    """
-        Configures a new resource compilation command specific to a condition,
-        usually a toolset selection condition. The possible options are:
-        
-            * <rc-type>(rc|windres) - Indicates the type of options the command
-              accepts.
-        
-        Even though the arguments are all optional, only when a command, condition,
-        and at minimum the rc-type option are given will the command be configured.
-        This is so that callers don't have to check auto-configuration values
-        before calling this. And still get the functionality of build failures when
-        the resource compiler can't be found.
-    """
-    rc_type = feature.get_values('<rc-type>', options)
-    if rc_type:
-        assert(len(rc_type) == 1)
-        rc_type = rc_type[0]
-
-    if command and condition and rc_type:
-        flags('rc.compile.resource', '.RC', condition, command)
-        flags('rc.compile.resource', '.RC_TYPE', condition, rc_type.lower())
-        flags('rc.compile.resource', 'DEFINES', [], ['<define>'])
-        flags('rc.compile.resource', 'INCLUDES', [], ['<include>'])
-        if debug():
-            print 'notice: using rc compiler ::', condition, '::', command
-
-engine = get_manager().engine()
-
-class RCAction:
-    """Class representing bjam action defined from Python.
-    The function must register the action to execute."""
-    
-    def __init__(self, action_name, function):
-        self.action_name = action_name
-        self.function = function
-            
-    def __call__(self, targets, sources, property_set):
-        if self.function:
-            self.function(targets, sources, property_set)
-
-# FIXME: What is the proper way to dispatch actions?
-def rc_register_action(action_name, function = None):
-    global engine
-    if engine.actions.has_key(action_name):
-        raise "Bjam action %s is already defined" % action_name
-    engine.actions[action_name] = RCAction(action_name, function)
-
-def rc_compile_resource(targets, sources, properties):
-    rc_type = bjam.call('get-target-variable', targets, '.RC_TYPE')
-    global engine
-    engine.set_update_action('rc.compile.resource.' + rc_type, targets, sources, properties)
-
-rc_register_action('rc.compile.resource', rc_compile_resource)
-
-
-engine.register_action(
-    'rc.compile.resource.rc',
-    '"$(.RC)" -l 0x409 "-U$(UNDEFS)" "-D$(DEFINES)" -I"$(>:D)" -I"$(<:D)" -I"$(INCLUDES)" -fo "$(<)" "$(>)"')
-
-engine.register_action(
-    'rc.compile.resource.windres',
-    '"$(.RC)" "-U$(UNDEFS)" "-D$(DEFINES)" -I"$(>:D)" -I"$(<:D)" -I"$(INCLUDES)" -o "$(<)" -i "$(>)"')
-
-# FIXME: this was originally declared quietly
-engine.register_action(
-    'compile.resource.null',
-    'as /dev/null -o "$(<)"')
-
-# Since it's a common practice to write
-# exe hello : hello.cpp hello.rc
-# we change the name of object created from RC file, to
-# avoid conflict with hello.cpp.
-# The reason we generate OBJ and not RES, is that gcc does not
-# seem to like RES files, but works OK with OBJ.
-# See http://article.gmane.org/gmane.comp.lib.boost.build/5643/
-#
-# Using 'register-c-compiler' adds the build directory to INCLUDES
-# FIXME: switch to generators
-builtin.register_c_compiler('rc.compile.resource', ['RC'], ['OBJ(%_res)'], [])
-
-__angle_include_re = "#include[ ]*<([^<]+)>"
-
-# Register scanner for resources
-class ResScanner(scanner.Scanner):
-    
-    def __init__(self, includes):
-        scanner.__init__ ;
-        self.includes = includes
-
-    def pattern(self):
-        return "(([^ ]+[ ]+(BITMAP|CURSOR|FONT|ICON|MESSAGETABLE|RT_MANIFEST)" +\
-               "[ ]+([^ \"]+|\"[^\"]+\"))|(#include[ ]*(<[^<]+>|\"[^\"]+\")))" ;
-
-    def process(self, target, matches, binding):
-
-        angle = regex.transform(matches, "#include[ ]*<([^<]+)>")
-        quoted = regex.transform(matches, "#include[ ]*\"([^\"]+)\"")
-        res = regex.transform(matches,
-                              "[^ ]+[ ]+(BITMAP|CURSOR|FONT|ICON|MESSAGETABLE|RT_MANIFEST)" +\
-                              "[ ]+(([^ \"]+)|\"([^\"]+)\")", [3, 4])
-
-        # Icons and other includes may referenced as 
-        #
-        # IDR_MAINFRAME ICON "res\\icon.ico"
-        #
-        # so we have to replace double backslashes to single ones.
-        res = [ re.sub(r'\\\\', '/', match) for match in res ]
-
-        # CONSIDER: the new scoping rule seem to defeat "on target" variables.
-        g = bjam.call('get-target-variable', target, 'HDRGRIST')
-        b = os.path.normalize_path(os.path.dirname(binding))
-
-        # Attach binding of including file to included targets.
-        # When target is directly created from virtual target
-        # this extra information is unnecessary. But in other
-        # cases, it allows to distinguish between two headers of the 
-        # same name included from different places.      
-        # We don't need this extra information for angle includes,
-        # since they should not depend on including file (we can't
-        # get literal "." in include path).
-        g2 = g + "#" + b
-       
-        g = "<" + g + ">"
-        g2 = "<" + g2 + ">"
-        angle = [g + x for x in angle]
-        quoted = [g2 + x for x in quoted]
-        res = [g2 + x for x in res]
-        
-        all = angle + quoted
-
-        bjam.call('mark-included', target, all)
-
-        engine = get_manager().engine()
-
-        engine.add_dependency(target, res)
-        bjam.call('NOCARE', all + res)
-        engine.set_target_variable(angle, 'SEARCH', ungrist(self.includes))
-        engine.set_target_variable(quoted, 'SEARCH', b + ungrist(self.includes))
-        engine.set_target_variable(res, 'SEARCH', b + ungrist(self.includes)) ;
-        
-        # Just propagate current scanner to includes, in a hope
-        # that includes do not change scanners.
-        get_manager().scanners().propagate(self, angle + quoted)
-
-scanner.register(ResScanner, 'include')
-type.set_scanner('RC', ResScanner)
diff --git a/SRC/Boost/tools/build/v2/tools/stage.jam b/SRC/Boost/tools/build/v2/tools/stage.jam
deleted file mode 100755
index 3912b70..0000000
--- a/SRC/Boost/tools/build/v2/tools/stage.jam
+++ /dev/null
@@ -1,524 +0,0 @@
-# Copyright 2003 Dave Abrahams
-# Copyright 2005, 2006 Rene Rivera
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This module defines the 'install' rule, used to copy a set of targets to a
-# single location.
-
-import targets ;
-import "class" : new ;
-import errors ;
-import type ;
-import generators ;
-import feature ;
-import project ;
-import virtual-target ;
-import path ;
-import types/register ;
-
-
-feature.feature <install-dependencies> : off on : incidental      ;
-feature.feature <install-type>         :        : free incidental ;
-feature.feature <install-source-root>  :        : free path       ;
-feature.feature <so-version>           :        : free incidental ;
-
-# If 'on', version symlinks for shared libraries will not be created. Affects
-# Unix builds only.
-feature.feature <install-no-version-symlinks> : on : optional incidental ;
-
-
-class install-target-class : basic-target
-{
-    import feature ;
-    import project ;
-    import type ;
-    import errors ;
-    import generators ;
-    import path ;
-    import stage ;
-    import "class" : new ;
-    import property ;
-    import property-set ;
-
-    rule __init__ ( name-and-dir : project : sources * : requirements * : default-build * )
-    {
-        basic-target.__init__ $(name-and-dir) : $(project) : $(sources) :
-            $(requirements) : $(default-build) ;
-    }
-
-    # If <location> is not set, sets it based on the project data.
-    #
-    rule update-location ( property-set )
-    {
-        local loc = [ $(property-set).get <location> ] ;
-        if ! $(loc)
-        {
-            loc = [ path.root $(self.name) [ $(self.project).get location ] ] ;
-            property-set = [ $(property-set).add-raw $(loc:G=<location>) ] ;
-        }
-
-        return $(property-set) ;
-    }
-
-    # Takes a target that is installed and a property set which is used when
-    # installing.
-    #
-    rule adjust-properties ( target : build-property-set )
-    {
-        local ps-raw ;
-        local a = [ $(target).action ] ;
-        if $(a)
-        {
-            local ps = [ $(a).properties ] ;
-            ps-raw = [ $(ps).raw ] ;
-
-            # Unless <hardcode-dll-paths>true is in properties, which can happen
-            # only if the user has explicitly requested it, nuke all <dll-path>
-            # properties.
-            if [ $(build-property-set).get <hardcode-dll-paths> ] != true
-            {
-                ps-raw = [ property.change $(ps-raw) : <dll-path> ] ;
-            }
-
-            # If any <dll-path> properties were specified for installing, add
-            # them.
-            local l = [ $(build-property-set).get <dll-path> ] ;
-            ps-raw += $(l:G=<dll-path>) ;
-
-            # Also copy <linkflags> feature from current build set, to be used
-            # for relinking.
-            local l = [ $(build-property-set).get <linkflags> ] ;
-            ps-raw += $(l:G=<linkflags>) ;
-
-            # Remove the <tag> feature on original targets.
-            ps-raw = [ property.change $(ps-raw) : <tag> ] ;
-
-            # And <location>. If stage target has another stage target in
-            # sources, then we shall get virtual targets with the <location>
-            # property set.
-            ps-raw = [ property.change $(ps-raw) : <location> ] ;
-        }
-
-        local d = [ $(build-property-set).get <dependency> ] ;
-        ps-raw += $(d:G=<dependency>) ;
-
-        local d = [ $(build-property-set).get <location> ] ;
-        ps-raw += $(d:G=<location>) ;
-
-        local ns = [ $(build-property-set).get <install-no-version-symlinks> ] ;
-        ps-raw += $(ns:G=<install-no-version-symlinks>) ;
-
-        local d = [ $(build-property-set).get <install-source-root> ] ;
-        # Make the path absolute: we shall use it to compute relative paths and
-        # making the path absolute will help.
-        if $(d)
-        {
-            d = [ path.root $(d) [ path.pwd ] ] ;
-            ps-raw += $(d:G=<install-source-root>) ;
-        }
-
-        if $(ps-raw)
-        {
-            return [ property-set.create $(ps-raw) ]  ;
-        }
-        else
-        {
-            return [ property-set.empty ] ;
-        }
-    }
-
-    rule construct ( name : source-targets * : property-set )
-    {
-        source-targets = [ targets-to-stage $(source-targets) :
-            $(property-set) ] ;
-
-        property-set = [ update-location $(property-set) ] ;
-
-        local ename = [ $(property-set).get <name> ] ;
-
-        if $(ename) && $(source-targets[2])
-        {
-            errors.error "When <name> property is used in 'install', only one"
-                "source is allowed" ;
-        }
-
-        local result ;
-        for local i in $(source-targets)
-        {
-            local staged-targets ;
-
-            local new-properties = [ adjust-properties $(i) :
-                $(property-set) ] ;
-
-            # See if something special should be done when staging this type. It
-            # is indicated by the presence of a special "INSTALLED_" type.
-            local t = [ $(i).type ] ;
-            if $(t) && [ type.registered INSTALLED_$(t) ]
-            {
-                if $(ename)
-                {
-                    errors.error "In 'install': <name> property specified with target that requires relinking." ;
-                }
-                else
-                {
-                    local targets = [ generators.construct $(self.project)
-                        $(name) : INSTALLED_$(t) : $(new-properties) : $(i) ] ;
-                    staged-targets += $(targets[2-]) ;
-                }
-            }
-            else
-            {
-                staged-targets = [ stage.copy-file $(self.project) $(ename) :
-                    $(i) : $(new-properties) ] ;
-            }
-
-            if ! $(staged-targets)
-            {
-                errors.error "Unable to generate staged version of " [ $(source).str ] ;
-            }
-
-            for t in $(staged-targets)
-            {
-                result += [ virtual-target.register $(t) ] ;
-            }
-        }
-
-        return [ property-set.empty ] $(result) ;
-    }
-
-    # Given the list of source targets explicitly passed to 'stage', returns the
-    # list of targets which must be staged.
-    #
-    rule targets-to-stage ( source-targets * : property-set )
-    {
-        local result ;
-
-        # Traverse the dependencies, if needed.
-        if [ $(property-set).get <install-dependencies> ] = "on"
-        {
-            source-targets = [ collect-targets $(source-targets) ] ;
-        }
-
-        # Filter the target types, if needed.
-        local included-types = [ $(property-set).get <install-type> ] ;
-        for local r in $(source-targets)
-        {
-            local ty = [ $(r).type ] ;
-            if $(ty)
-            {
-                # Do not stage searched libs.
-                if $(ty) != SEARCHED_LIB
-                {
-                    if $(included-types)
-                    {
-                        if [ include-type $(ty) : $(included-types) ]
-                        {
-                            result += $(r) ;
-                        }
-                    }
-                    else
-                    {
-                        result += $(r) ;
-                    }
-                }
-            }
-            else if ! $(included-types)
-            {
-                # Don't install typeless target if there is an explicit list of
-                # allowed types.
-                result += $(r) ;
-            }
-        }
-
-        return $(result) ;
-    }
-
-    # CONSIDER: figure out why we can not use virtual-target.traverse here.
-    #
-    rule collect-targets ( targets * )
-    {
-        # Find subvariants
-        local s ;
-        for local t in $(targets)
-        {
-            s += [ $(t).creating-subvariant ] ;
-        }
-        s = [ sequence.unique $(s) ] ;
-        
-        local result = [ new set ] ;
-        $(result).add $(targets) ;
-        
-        for local i in $(s)
-        {
-            $(i).all-referenced-targets $(result) ;
-        }
-        local result2 ;
-        for local r in [ $(result).list ]
-        {
-            if $(r:G) != <use>
-            {
-                result2 += $(r:G=) ;
-            }
-        }
-        DELETE_MODULE $(result) ;
-        result = [ sequence.unique $(result2) ] ;
-    }
-
-    # Returns true iff 'type' is subtype of some element of 'types-to-include'.
-    #
-    local rule include-type ( type : types-to-include * )
-    {
-        local found ;
-        while $(types-to-include) && ! $(found)
-        {
-            if [ type.is-subtype $(type) $(types-to-include[1]) ]
-            {
-                found = true ;
-            }
-            types-to-include = $(types-to-include[2-]) ;
-        }
-
-        return $(found) ;
-    }
-}
-
-
-# Creates a copy of target 'source'. The 'properties' object should have a
-# <location> property which specifies where the target must be placed.
-#
-rule copy-file ( project name ? : source : properties )
-{
-    name ?= [ $(source).name ] ;
-    local relative ;
-
-    local new-a = [ new non-scanning-action $(source) : common.copy :
-        $(properties) ] ;
-    local source-root = [ $(properties).get <install-source-root> ] ;
-    if $(source-root)
-    {
-        # Get the real path of the target. We probably need to strip relative
-        # path from the target name at construction.
-        local path = [ $(source).path ] ;
-        path = [ path.root $(name:D) $(path) ] ;
-        # Make the path absolute. Otherwise, it would be hard to compute the
-        # relative path. The 'source-root' is already absolute, see the
-        # 'adjust-properties' method above.
-        path = [ path.root $(path) [ path.pwd ] ] ;
-
-        relative = [ path.relative-to $(source-root) $(path) ] ;
-    }
-
-    # Note: Using $(name:D=$(relative)) might be faster here, but then we would
-    # need to explicitly check that relative is not ".", otherwise we might get
-    # paths like '<prefix>/boost/.', try to create it and mkdir would obviously
-    # fail.
-    name = [ path.join $(relative) $(name:D=) ] ;
-
-    return [ new file-target $(name) exact : [ $(source).type ] : $(project) :
-        $(new-a) ] ;
-}
-
-
-rule symlink ( name : project : source : properties )
-{
-    local a = [ new action $(source) : symlink.ln : $(properties) ] ;
-    return [ new file-target $(name) exact : [ $(source).type ] : $(project) :
-        $(a) ] ;
-}
-
-
-rule relink-file ( project : source : property-set  )
-{
-    local action = [ $(source).action ] ;
-    local cloned-action = [ virtual-target.clone-action $(action) : $(project) :
-        "" : $(property-set) ] ;
-    return [ $(cloned-action).targets ] ;
-}
-
-
-# Declare installed version of the EXE type. Generator for this type will cause
-# relinking to the new location.
-type.register INSTALLED_EXE : : EXE ;
-
-
-class installed-exe-generator : generator
-{
-    import type ;
-    import property-set ;
-    import modules ;
-    import stage ;
-
-    rule __init__ ( )
-    {
-        generator.__init__ install-exe : EXE : INSTALLED_EXE ;
-    }
-
-    rule run ( project name ? : property-set : source : multiple ? )
-    {
-        local need-relink ;
-        
-        if [ $(property-set).get <os> ] in NT CYGWIN ||
-            [ $(property-set).get <target-os> ] in windows cygwin
-        {
-        }
-        else
-        {
-            # See if the dll-path properties are not changed during
-            # install. If so, copy, don't relink.
-            local a = [ $(source).action ] ;
-            local p = [ $(a).properties ] ;
-            local original = [ $(p).get <dll-path> ] ;
-            local current = [ $(property-set).get <dll-path> ] ;
-            
-            if $(current) != $(original)
-            {
-                need-relink = true ;
-            }            
-        }
-        
-            
-        if $(need-relink)
-        {
-            return [ stage.relink-file $(project)
-              : $(source) : $(property-set) ] ;
-        }
-        else
-        {
-            return [ stage.copy-file $(project)
-              : $(source) : $(property-set) ] ;
-        }
-    }
-}
-
-
-generators.register [ new installed-exe-generator ] ;
-
-
-# Installing a shared link on Unix might cause a creation of versioned symbolic
-# links.
-type.register INSTALLED_SHARED_LIB : : SHARED_LIB ;
-
-
-class installed-shared-lib-generator : generator
-{
-    import type ;
-    import property-set ;
-    import modules ;
-    import stage ;
-
-    rule __init__ ( )
-    {
-        generator.__init__ install-shared-lib : SHARED_LIB
-          : INSTALLED_SHARED_LIB ;
-    }
-
-    rule run ( project name ? : property-set : source : multiple ? )
-    {
-        if [ $(property-set).get <os> ] in NT CYGWIN ||
-            [ $(property-set).get <target-os> ] in windows cygwin
-        {
-            local copied = [ stage.copy-file $(project) : $(source) :
-                $(property-set) ] ;
-            return [ virtual-target.register $(copied) ] ;
-        }
-        else
-        {
-            local a = [ $(source).action ] ;
-            local copied ;
-            if ! $(a)
-            {
-                # Non-derived file, just copy.
-                copied = [ stage.copy-file $(project) : $(source) :
-                    $(property-set) ] ;
-            }
-            else
-            {
-                local cp = [ $(a).properties ] ;
-                local current-dll-path = [ $(cp).get <dll-path> ] ;
-                local new-dll-path = [ $(property-set).get <dll-path> ] ;
-
-                if $(current-dll-path) != $(new-dll-path)
-                {
-                    # Rpath changed, need to relink.
-                    copied = [ stage.relink-file $(project) : $(source) :
-                        $(property-set) ] ;
-                }
-                else
-                {
-                    copied = [ stage.copy-file $(project) : $(source) :
-                        $(property-set) ] ;
-                }
-            }
-
-            copied = [ virtual-target.register $(copied) ] ;
-
-            local result = $(copied) ;
-            # If the name is in the form NNN.XXX.YYY.ZZZ, where all 'X', 'Y' and
-            # 'Z' are numbers, we need to create NNN.XXX and NNN.XXX.YYY
-            # symbolic links.
-            local m = [ MATCH (.*)\\.([0123456789]+)\\.([0123456789]+)\\.([0123456789]+)$
-                : [ $(copied).name ] ] ;
-            if $(m)
-            {
-                # Symlink without version at all is used to make
-                # -lsome_library work.
-                result += [ stage.symlink $(m[1]) : $(project) : $(copied) :
-                    $(property-set) ] ;
-
-                # Symlinks of some libfoo.N and libfoo.N.M are used so that
-                # library can found at runtime, if libfoo.N.M.X has soname of
-                # libfoo.N. That happens when the library makes some binary
-                # compatibility guarantees. If not, it is possible to skip those
-                # symlinks.
-                local suppress =
-                    [ $(property-set).get <install-no-version-symlinks> ] ;
-
-                if $(suppress) != "on"
-                {
-                    result += [ stage.symlink $(m[1]).$(m[2]) : $(project)
-                      : $(copied) : $(property-set) ] ;
-                    result += [ stage.symlink $(m[1]).$(m[2]).$(m[3])  : $(project)
-                      : $(copied) : $(property-set) ] ;
-                }
-            }
-
-            return $(result) ;
-        }
-    }
-}
-
-generators.register [ new installed-shared-lib-generator ] ;
-
-
-# Main target rule for 'install'.
-#
-rule install ( name : sources * : requirements * : default-build * )
-{
-    local project = [ project.current ] ;
-
-    # Unless the user has explicitly asked us to hardcode dll paths, add
-    # <hardcode-dll-paths>false in requirements, to override default value.
-    if ! <hardcode-dll-paths>true in $(requirements)
-    {
-        requirements += <hardcode-dll-paths>false ;
-    }
-
-    if <tag> in $(requirements:G)
-    {
-        errors.user-error
-            "The <tag> property is not allowed for the 'install' rule" ;
-    }
-
-    targets.main-target-alternative
-      [ new install-target-class $(name) : $(project)
-        : [ targets.main-target-sources $(sources) : $(name) ]
-        : [ targets.main-target-requirements $(requirements) : $(project) ]
-        : [ targets.main-target-default-build $(default-build) : $(project) ]
-      ] ;
-}
-
-
-IMPORT $(__name__) : install : : install ;
-IMPORT $(__name__) : install : : stage ;
diff --git a/SRC/Boost/tools/build/v2/tools/stage.py b/SRC/Boost/tools/build/v2/tools/stage.py
deleted file mode 100755
index 266c487..0000000
--- a/SRC/Boost/tools/build/v2/tools/stage.py
+++ /dev/null
@@ -1,350 +0,0 @@
-# Status: ported.
-# Base revision 64444.
-#
-# Copyright 2003 Dave Abrahams
-# Copyright 2005, 2006 Rene Rivera
-# Copyright 2002, 2003, 2004, 2005, 2006, 2010 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This module defines the 'install' rule, used to copy a set of targets to a
-# single location.
-
-import b2.build.feature as feature
-import b2.build.targets as targets
-import b2.build.property as property
-import b2.build.property_set as property_set
-import b2.build.generators as generators
-import b2.build.virtual_target as virtual_target
-
-from b2.manager import get_manager
-from b2.util.sequence import unique
-from b2.util import bjam_signature
-
-import b2.build.type
-
-import os.path
-import re
-import types
-
-feature.feature('install-dependencies', ['off', 'on'], ['incidental'])
-feature.feature('install-type', [], ['free', 'incidental'])
-feature.feature('install-source-root', [], ['free', 'path'])
-feature.feature('so-version', [], ['free', 'incidental'])
-
-# If 'on', version symlinks for shared libraries will not be created. Affects
-# Unix builds only.
-feature.feature('install-no-version-symlinks', ['on'], ['optional', 'incidental'])
-
-class InstallTargetClass(targets.BasicTarget):
-
-    def update_location(self, ps):
-        """If <location> is not set, sets it based on the project data."""
-
-        loc = ps.get('location')
-        if not loc:
-            loc = os.path.join(self.project().get('location'), self.name())
-            ps = ps.add_raw(["<location>" + loc])
-
-        return ps
-
-    def adjust_properties(self, target, build_ps):
-        a = target.action()
-        properties = []
-        if a:
-            ps = a.properties()
-            properties = ps.all()
-            
-            # Unless <hardcode-dll-paths>true is in properties, which can happen
-            # only if the user has explicitly requested it, nuke all <dll-path>
-            # properties.
-
-            if build_ps.get('hardcode-dll-paths') != ['true']:
-                properties = [p for p in properties if p.feature().name() != 'dll-path']
-
-            # If any <dll-path> properties were specified for installing, add
-            # them.
-            properties.extend(build_ps.get_properties('dll-path'))
-
-            # Also copy <linkflags> feature from current build set, to be used
-            # for relinking.
-            properties.extend(build_ps.get_properties('linkflags'))
-
-            # Remove the <tag> feature on original targets.
-            # And <location>. If stage target has another stage target in
-            # sources, then we shall get virtual targets with the <location>
-            # property set.
-            properties = [p for p in properties
-                          if not p.feature().name() in ['tag', 'location']]
-
-        properties.extend(build_ps.get_properties('dependency'))
-
-        properties.extend(build_ps.get_properties('location'))
-        
-
-        properties.extend(build_ps.get_properties('install-no-version-symlinks'))
-
-        d = build_ps.get_properties('install-source-root')
-
-        # Make the path absolute: we shall use it to compute relative paths and
-        # making the path absolute will help.
-        if d:
-            p = d[0]
-            properties.append(property.Property(p.feature(), os.path.abspath(p.value())))
-
-        return property_set.create(properties)
-    
-
-    def construct(self, name, source_targets, ps):
-
-        source_targets = self.targets_to_stage(source_targets, ps)
-        ps = self.update_location(ps)
-
-        ename = ps.get('name')
-        if ename:
-            ename = ename[0]
-        if ename and len(source_targets) > 1:
-            get_manager().errors()("When <name> property is used in 'install', only one source is allowed")
-
-        result = []
-
-        for i in source_targets:
-
-            staged_targets = []
-            new_ps = self.adjust_properties(i, ps)
-
-            # See if something special should be done when staging this type. It
-            # is indicated by the presence of a special "INSTALLED_" type.
-            t = i.type()
-            if t and b2.build.type.registered("INSTALLED_" + t):
-
-                if ename:
-                    get_manager().errors()("In 'install': <name> property specified with target that requires relinking.")
-                else:
-                    (r, targets) = generators.construct(self.project(), name, "INSTALLED_" + t,
-                                                        new_ps, [i])
-                    assert isinstance(r, property_set.PropertySet)
-                    staged_targets.extend(targets)
-                    
-            else:
-                staged_targets.append(copy_file(self.project(), ename, i, new_ps))
-
-            if not staged_targets:
-                get_manager().errors()("Unable to generate staged version of " + i)
-
-            result.extend(get_manager().virtual_targets().register(t) for t in staged_targets)
-
-        return (property_set.empty(), result)
-
-    def targets_to_stage(self, source_targets, ps):
-        """Given the list of source targets explicitly passed to 'stage', returns the
-        list of targets which must be staged."""
-
-        result = []
-
-        # Traverse the dependencies, if needed.
-        if ps.get('install-dependencies') == ['on']:
-            source_targets = self.collect_targets(source_targets)
-
-        # Filter the target types, if needed.
-        included_types = ps.get('install-type')
-        for r in source_targets:
-            ty = r.type()
-            if ty:
-                # Do not stage searched libs.
-                if ty != "SEARCHED_LIB":
-                    if included_types:
-                        if self.include_type(ty, included_types):
-                            result.append(r)
-                    else:
-                        result.append(r)
-            elif not included_types:
-                # Don't install typeless target if there is an explicit list of
-                # allowed types.
-                result.append(r)
-
-        return result
-
-    # CONSIDER: figure out why we can not use virtual-target.traverse here.
-    #
-    def collect_targets(self, targets):
-        
-        s = [t.creating_subvariant() for t in targets]
-        s = unique(s)
-        
-        result = set(targets)
-        for i in s:
-            i.all_referenced_targets(result)
-           
-        result2 = []
-        for r in result:
-            if isinstance(r, property.Property):
-                
-                if r.feature().name() != 'use':
-                    result2.append(r.value())
-            else:
-                result2.append(r)
-        result2 = unique(result2)
-        return result2
-
-    # Returns true iff 'type' is subtype of some element of 'types-to-include'.
-    #
-    def include_type(self, type, types_to_include):
-        return any(b2.build.type.is_subtype(type, ti) for ti in types_to_include)
-
-# Creates a copy of target 'source'. The 'properties' object should have a
-# <location> property which specifies where the target must be placed.
-#
-def copy_file(project, name, source, ps):
-
-    if not name:
-        name = source.name()
-
-    relative = ""
-
-    new_a = virtual_target.NonScanningAction([source], "common.copy", ps)
-    source_root = ps.get('install-source-root')
-    if source_root:
-        source_root = source_root[0]
-        # Get the real path of the target. We probably need to strip relative
-        # path from the target name at construction.
-        path = os.path.join(source.path(), os.path.dirname(name))
-        # Make the path absolute. Otherwise, it would be hard to compute the
-        # relative path. The 'source-root' is already absolute, see the
-        # 'adjust-properties' method above.
-        path = os.path.abspath(path)
-
-        relative = os.path.relpath(path, source_root)
-
-    name = os.path.join(relative, os.path.basename(name))
-    return virtual_target.FileTarget(name, source.type(), project, new_a, exact=True)
-
-def symlink(name, project, source, ps):
-    a = virtual_target.Action([source], "symlink.ln", ps)
-    return virtual_target.FileTarget(name, source.type(), project, a, exact=True)
-
-def relink_file(project, source, ps):
-    action = source.action()
-    cloned_action = virtual_target.clone_action(action, project, "", ps)
-    targets = cloned_action.targets()
-    # We relink only on Unix, where exe or shared lib is always a single file.
-    assert len(targets) == 1
-    return targets[0]
-
-
-# Declare installed version of the EXE type. Generator for this type will cause
-# relinking to the new location.
-b2.build.type.register('INSTALLED_EXE', [], 'EXE')
-
-class InstalledExeGenerator(generators.Generator):
-
-    def __init__(self):
-        generators.Generator.__init__(self, "install-exe", False, ['EXE'], ['INSTALLED_EXE'])
-
-    def run(self, project, name, ps, source):
-
-        need_relink = False;
-
-        if ps.get('os') in ['NT', 'CYGWIN'] or ps.get('target-os') in ['windows', 'cygwin']:
-            # Never relink
-            pass
-        else:
-            # See if the dll-path properties are not changed during
-            # install. If so, copy, don't relink.
-            need_relink = ps.get('dll-path') != source[0].action().properties().get('dll-path')
-
-        if need_relink:
-            return [relink_file(project, source, ps)]
-        else:
-            return [copy_file(project, None, source[0], ps)]
-
-generators.register(InstalledExeGenerator())
-
-
-# Installing a shared link on Unix might cause a creation of versioned symbolic
-# links.
-b2.build.type.register('INSTALLED_SHARED_LIB', [], 'SHARED_LIB')
-
-class InstalledSharedLibGenerator(generators.Generator):
-
-    def __init__(self):
-        generators.Generator.__init__(self, 'install-shared-lib', False, ['SHARED_LIB'], ['INSTALLED_SHARED_LIB'])
-
-    def run(self, project, name, ps, source):
-
-        source = source[0]
-        if ps.get('os') in ['NT', 'CYGWIN'] or ps.get('target-os') in ['windows', 'cygwin']:
-            copied = copy_file(project, None, source, ps)
-            return [get_manager().virtual_targets().register(copied)]
-        else:
-            a = source.action()
-            if not a:
-                # Non-derived file, just copy.
-                copied = copy_file(project, source, ps)
-            else:
-
-                need_relink = ps.get('dll-path') != source.action().properties().get('dll-path')
-                
-                if need_relink:
-                    # Rpath changed, need to relink.
-                    copied = relink_file(project, source, ps)
-                else:
-                    copied = copy_file(project, None, source, ps)
-
-            result = [get_manager().virtual_targets().register(copied)]
-            # If the name is in the form NNN.XXX.YYY.ZZZ, where all 'X', 'Y' and
-            # 'Z' are numbers, we need to create NNN.XXX and NNN.XXX.YYY
-            # symbolic links.
-            m = re.match("(.*)\\.([0123456789]+)\\.([0123456789]+)\\.([0123456789]+)$",
-                         copied.name());
-            if m:
-                # Symlink without version at all is used to make
-                # -lsome_library work.
-                result.append(symlink(m.group(1), project, copied, ps))
-
-                # Symlinks of some libfoo.N and libfoo.N.M are used so that
-                # library can found at runtime, if libfoo.N.M.X has soname of
-                # libfoo.N. That happens when the library makes some binary
-                # compatibility guarantees. If not, it is possible to skip those
-                # symlinks.
-                if ps.get('install-no-version-symlinks') != ['on']:
-                
-                    result.append(symlink(m.group(1) + '.' + m.group(2), project, copied, ps))
-                    result.append(symlink(m.group(1) + '.' + m.group(2) + '.' + m.group(3),
-                                          project, copied, ps))
-
-            return result
-            
-generators.register(InstalledSharedLibGenerator())
-
-
-# Main target rule for 'install'.
-#
- at bjam_signature((["name"], ["sources", "*"], ["requirements", "*"],
-                 ["default_build", "*"], ["usage_requirements", "*"]))
-def install(name, sources, requirements=[], default_build=[], usage_requirements=[]):
-
-    requirements = requirements[:]
-    # Unless the user has explicitly asked us to hardcode dll paths, add
-    # <hardcode-dll-paths>false in requirements, to override default value.
-    if not '<hardcode-dll-paths>true' in requirements:
-        requirements.append('<hardcode-dll-paths>false')
-
-    if any(r.startswith('<tag>') for r in requirements):
-        get_manager().errors()("The <tag> property is not allowed for the 'install' rule")
-
-    from b2.manager import get_manager
-    t = get_manager().targets()
-    
-    project = get_manager().projects().current()
-        
-    return t.main_target_alternative(
-        InstallTargetClass(name, project,
-                           t.main_target_sources(sources, name),
-                           t.main_target_requirements(requirements, project),
-                           t.main_target_default_build(default_build, project),
-                           t.main_target_usage_requirements(usage_requirements, project)))
-
-get_manager().projects().add_rule("install", install)
-get_manager().projects().add_rule("stage", install)
-
diff --git a/SRC/Boost/tools/build/v2/tools/stlport.jam b/SRC/Boost/tools/build/v2/tools/stlport.jam
deleted file mode 100755
index 82e7398..0000000
--- a/SRC/Boost/tools/build/v2/tools/stlport.jam
+++ /dev/null
@@ -1,303 +0,0 @@
-# Copyright Gennadiy Rozental
-# Copyright 2006 Rene Rivera 
-# Copyright 2003, 2004, 2006 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# The STLPort is usable by means of 'stdlib' feature. When
-# stdlib=stlport is specified, default version of STLPort will be used,
-# while stdlib=stlport-4.5 will use specific version.
-# The subfeature value 'hostios' means to use host compiler's iostreams.
-#
-# The specific version of stlport is selected by features:
-# The <runtime-link> feature selects between static and shared library
-# The <runtime-debugging>on selects STLPort with debug symbols
-# and stl debugging.
-# There's no way to use STLPort with debug symbols but without
-# stl debugging.
-
-# TODO: must implement selection of different STLPort installations based
-# on used toolset.
-# Also, finish various flags:
-#
-# This is copied from V1 toolset, "+" means "implemented"
-#+flags $(CURR_TOOLSET) DEFINES <stlport-iostream>off : _STLP_NO_OWN_IOSTREAMS=1 _STLP_HAS_NO_NEW_IOSTREAMS=1 ;
-#+flags $(CURR_TOOLSET) DEFINES <stlport-extensions>off : _STLP_NO_EXTENSIONS=1 ;
-# flags $(CURR_TOOLSET) DEFINES <stlport-anachronisms>off : _STLP_NO_ANACHRONISMS=1 ;
-# flags $(CURR_TOOLSET) DEFINES <stlport-cstd-namespace>global : _STLP_VENDOR_GLOBAL_CSTD=1 ;
-# flags $(CURR_TOOLSET) DEFINES <exception-handling>off : _STLP_NO_EXCEPTIONS=1 ;
-# flags $(CURR_TOOLSET) DEFINES <stlport-debug-alloc>on : _STLP_DEBUG_ALLOC=1 ;
-#+flags $(CURR_TOOLSET) DEFINES <runtime-build>debug : _STLP_DEBUG=1 _STLP_DEBUG_UNINITIALIZED=1 ;
-#+flags $(CURR_TOOLSET) DEFINES <runtime-link>dynamic : _STLP_USE_DYNAMIC_LIB=1 ;
-
-
-import feature : feature subfeature ;
-import project ;
-import "class" : new ;
-import targets ;
-import property-set ;
-import common ;
-import type ;
-
-# Make this module into a project.
-project.initialize $(__name__) ;
-project stlport ;
-
-# The problem: how to request to use host compiler's iostreams?
-#
-# Solution 1: Global 'stlport-iostream' feature.
-#    That's ugly. Subfeature make more sense for stlport-specific thing.
-# Solution 2: Use subfeature with two values, one of which ("use STLPort iostream")
-#     is default.
-#    The problem is that such subfeature will appear in target paths, and that's ugly
-# Solution 3: Use optional subfeature with only one value.
-
-feature.extend stdlib : stlport ;
-feature.compose <stdlib>stlport : <library>/stlport//stlport ;
-
-# STLport iostreams or native iostreams
-subfeature stdlib stlport : iostream : hostios : optional propagated  ;
-
-# STLport extensions
-subfeature stdlib stlport : extensions : noext : optional propagated ;
-
-# STLport anachronisms -- NOT YET SUPPORTED
-# subfeature stdlib stlport : anachronisms : on off ;
-
-# STLport debug allocation -- NOT YET SUPPORTED
-#subfeature stdlib stlport : debug-alloc : off on ;
-
-# Declare a special target class to handle the creation of search-lib-target
-# instances for STLport. We need a special class, because otherwise we'll have
-# - declare prebuilt targets for all possible toolsets. And by the time 'init'
-#   is called we don't even know the list of toolsets that are registered
-# - when host iostreams are used, we really should produce nothing. It would
-#   be hard/impossible to achieve this using prebuilt targets.
-
-class stlport-target-class : basic-target
-{
-    import feature project type errors generators ;
-    import set : difference ;
-
-    rule __init__ ( project : headers ? : libraries * :  version ? )
-    {
-        basic-target.__init__ stlport : $(project) ;
-        self.headers = $(headers) ;
-        self.libraries = $(libraries) ;
-        self.version = $(version) ;
-        self.version.5 = [ MATCH "^(5[.][0123456789]+).*" : $(version) ] ;
-        
-        local requirements ;
-        requirements += <stdlib-stlport:version>$(self.version) ;
-        self.requirements = [ property-set.create $(requirements) ] ;
-    }
-
-    rule generate ( property-set )
-    {
-        # Since this target is built with <stdlib>stlport, it will also
-        # have <library>/stlport//stlport in requirements, which will
-        # cause a loop in main target references. Remove that property
-        # manually.
-
-        property-set = [ property-set.create
-            [ difference
-                [ $(property-set).raw ] :
-                <library>/stlport//stlport
-                <stdlib>stlport
-                ]
-            ] ;
-        return [ basic-target.generate $(property-set) ] ;
-    }
-
-    rule construct ( name : source-targets * : property-set )
-    {
-        # Deduce the name of stlport library, based on toolset and
-        # debug setting.
-        local raw = [ $(property-set).raw ] ;
-        local hostios = [ feature.get-values <stdlib-stlport:iostream> : $(raw) ] ;
-        local toolset = [ feature.get-values <toolset> : $(raw) ] ;
-
-        if $(self.version.5)
-        {
-            # Version 5.x
-            
-            # STLport host IO streams no longer supported. So we always 
-            # need libraries.
-            
-            # name: stlport(stl)?[dg]?(_static)?.M.R
-            local name = stlport ;
-            if [ feature.get-values <runtime-debugging> : $(raw) ] = "on"
-            {
-                name += stl ;
-                switch $(toolset)
-                {
-                    case gcc* : name += g ;
-                    case darwin* : name += g ;
-                    case * : name += d ;
-                }
-            }
-
-            if [ feature.get-values <runtime-link> : $(raw) ] = "static"
-            {
-                name += _static ;
-            }
-
-            # Starting with version 5.2.0, the STLport static libraries no longer
-            #  include a version number in their name
-            local version.pre.5.2 = [ MATCH "^(5[.][01]+).*" : $(version) ] ;
-            if $(version.pre.5.2) || [ feature.get-values <runtime-link> : $(raw) ] != "static" 
-            {
-                name += .$(self.version.5) ;
-            }
-			
-            name = $(name:J=) ;
-            
-            if [ feature.get-values <install-dependencies> : $(raw) ] = "on"
-            {
-                #~ Allow explicitly asking to install the STLport lib by
-                #~ refering to it directly: /stlport//stlport/<install-dependencies>on
-                #~ This allows for install packaging of all libs one might need for
-                #~ a standalone distribution.
-                import path : make : path-make ;
-                local runtime-link
-                    = [ feature.get-values <runtime-link> : $(raw) ] ;
-                local lib-file.props
-                    = [ property-set.create $(raw) <link>$(runtime-link) ] ;
-                local lib-file.prefix
-                    = [ type.generated-target-prefix $(runtime-link:U)_LIB : $(lib-file.props) ] ;
-                local lib-file.suffix
-                    = [ type.generated-target-suffix $(runtime-link:U)_LIB : $(lib-file.props) ] ;
-                lib-file.prefix
-                    ?= "" "lib" ;
-                lib-file.suffix
-                    ?= "" ;
-                local lib-file
-                    = [ GLOB $(self.libraries) [ modules.peek : PATH ] :
-                        $(lib-file.prefix)$(name).$(lib-file.suffix) ] ;
-                lib-file
-                    = [ new file-reference [ path-make $(lib-file[1]) ] : $(self.project) ] ;
-                lib-file
-                    = [ $(lib-file).generate "" ] ;
-                local lib-file.requirements
-                    = [ targets.main-target-requirements
-                        [ $(lib-file.props).raw ] <file>$(lib-file[-1])
-                        : $(self.project) ] ;
-                return [ generators.construct $(self.project) $(name) : LIB : $(lib-file.requirements) ] ;
-            }
-            else
-            {
-                #~ Otherwise, it's just a regular usage of the library.
-                return [ generators.construct
-                    $(self.project) $(name) : SEARCHED_LIB : $(property-set) ] ;
-            }
-        }
-        else if ! $(hostios) && $(toolset) != msvc
-        {
-            # We don't need libraries if host istreams are used. For
-            # msvc, automatic library selection will be used.
-            
-            # name: stlport_<toolset>(_stldebug)?
-            local name = stlport ;
-            name = $(name)_$(toolset) ;
-            if [ feature.get-values <runtime-debugging> : $(raw) ] = "on"
-            {
-                name = $(name)_stldebug ;
-            }
-
-            return [ generators.construct
-                $(self.project) $(name) : SEARCHED_LIB : $(property-set) ] ;
-        }
-        else
-        {
-            return [ property-set.empty ] ;
-        }
-    }
-
-    rule compute-usage-requirements ( subvariant )
-    {
-        local usage-requirements =
-            <include>$(self.headers)
-            <dll-path>$(self.libraries)
-            <library-path>$(self.libraries)
-            ;
-
-        local rproperties = [ $(subvariant).build-properties ] ;
-        # CONSIDER: should this "if" sequence be replaced with
-        # some use of 'property-map' class?
-        if [ $(rproperties).get <runtime-debugging> ] = "on"
-        {
-            usage-requirements +=
-                <define>_STLP_DEBUG=1
-                <define>_STLP_DEBUG_UNINITIALIZED=1 ;
-        }
-        if [ $(rproperties).get <runtime-link> ] = "shared"
-        {
-            usage-requirements +=
-                <define>_STLP_USE_DYNAMIC_LIB=1 ;
-        }
-        if [ $(rproperties).get <stdlib-stlport:extensions> ] = noext
-        {
-            usage-requirements +=
-                <define>_STLP_NO_EXTENSIONS=1 ;
-        }
-        if [ $(rproperties).get <stdlib-stlport:iostream> ] = hostios
-        {
-            usage-requirements +=
-                <define>_STLP_NO_OWN_IOSTREAMS=1
-                <define>_STLP_HAS_NO_NEW_IOSTREAMS=1 ;
-        }
-        if $(self.version.5)
-        {
-            # Version 5.x
-            if [ $(rproperties).get <threading> ] = "single"
-            {
-                # Since STLport5 doesn't normally support single-thread
-                # we force STLport5 into the multi-thread mode. Hence
-                # getting what other libs provide of single-thread code
-                # linking against a multi-thread lib.
-                usage-requirements +=
-                    <define>_STLP_THREADS=1 ;
-            }
-        }
-        
-        return [ property-set.create $(usage-requirements) ] ;
-    }
-}
-
-rule stlport-target ( headers ? : libraries * : version ? )
-{
-    local project = [ project.current ] ;
-
-    targets.main-target-alternative
-      [ new stlport-target-class  $(project) : $(headers) : $(libraries)
-        : $(version)
-      ] ;
-}
-
-local .version-subfeature-defined ;
-
-# Initialize stlport support.
-rule init (
-    version ? :
-    headers   :     # Location of header files
-    libraries *     # Location of libraries, lib and bin subdirs of STLport.
-    )
-{
-    # FIXME: need to use common.check-init-parameters here.
-    # At the moment, that rule always tries to define subfeature
-    # of the 'toolset' feature, while we need to define subfeature
-    # of <stdlib>stlport, so tweaks to check-init-parameters are needed.
-    if $(version)
-    {
-        if ! $(.version-subfeature-defined)
-        {
-            feature.subfeature stdlib stlport : version : : propagated ;
-            .version-subfeature-defined = true ;
-        }
-        feature.extend-subfeature stdlib stlport : version : $(version) ;
-    }
-
-    # Declare the main target for this STLPort version.
-    stlport-target $(headers) : $(libraries) : $(version) ;
-}
-
diff --git a/SRC/Boost/tools/build/v2/tools/sun.jam b/SRC/Boost/tools/build/v2/tools/sun.jam
deleted file mode 100755
index 216d89c..0000000
--- a/SRC/Boost/tools/build/v2/tools/sun.jam
+++ /dev/null
@@ -1,142 +0,0 @@
-#  Copyright (C) Christopher Currie 2003. Permission to copy, use,
-#  modify, sell and distribute this software is granted provided this
-#  copyright notice appears in all copies. This software is provided
-#  "as is" without express or implied warranty, and with no claim as
-#  to its suitability for any purpose.
-
-import property ;
-import generators ;
-import os ;
-import toolset : flags ;
-import feature ;
-import type ;
-import common ;
-
-feature.extend toolset : sun ;
-toolset.inherit  sun : unix ;
-generators.override sun.prebuilt : builtin.lib-generator ;
-generators.override sun.prebuilt : builtin.prebuilt ;
-generators.override sun.searched-lib-generator : searched-lib-generator ;
-
-feature.extend stdlib : sun-stlport ;
-feature.compose <stdlib>sun-stlport
-    : <cxxflags>-library=stlport4 <linkflags>-library=stlport4
-    ;
-
-rule init ( version ? : command * : options * ) 
-{
-    local condition = [ 
-      common.check-init-parameters sun : version $(version) ] ;
-    
-    command = [ common.get-invocation-command sun : CC 
-        : $(command) : "/opt/SUNWspro/bin" ] ;
-
-    # Even if the real compiler is not found, put CC to
-    # command line so that user see command line that would have being executed.
-    command ?= CC ;
-
-    common.handle-options sun : $(condition) : $(command) : $(options) ;
-    
-    command_c = $(command[1--2]) $(command[-1]:B=cc) ;
-
-    toolset.flags sun CONFIG_C_COMMAND $(condition) : $(command_c) ;
-}
-
-# Declare generators
-generators.register-c-compiler sun.compile.c : C : OBJ : <toolset>sun ;
-generators.register-c-compiler sun.compile.c++ : CPP : OBJ : <toolset>sun ;
-
-# Declare flags and actions for compilation
-flags sun.compile OPTIONS <debug-symbols>on : -g ;
-flags sun.compile OPTIONS <profiling>on : -xprofile=tcov ;
-flags sun.compile OPTIONS <optimization>speed : -xO4  ;
-flags sun.compile OPTIONS <optimization>space : -xO2 -xspace ;
-flags sun.compile OPTIONS <threading>multi : -mt ;
-flags sun.compile OPTIONS <warnings>off : -erroff ;
-flags sun.compile OPTIONS <warnings>on : -erroff=%none ;
-flags sun.compile OPTIONS <warnings>all  : -erroff=%none ;
-flags sun.compile OPTIONS <warnings-as-errors>on : -errwarn ;
-
-flags sun.compile.c++ OPTIONS <inlining>off : +d ;
-
-# The -m32 and -m64 options are supported starting
-# with Sun Studio 12.  On earlier compilers, the
-# 'address-model' feature is not supported and should not
-# be used. Instead, use -xarch=generic64 command line
-# option.
-# See http://svn.boost.org/trac/boost/ticket/1186
-# for details.
-flags sun OPTIONS <address-model>32 : -m32 ;
-flags sun OPTIONS <address-model>64 : -m64 ;
-# On sparc, there's a difference between -Kpic
-# and -KPIC. The first is slightly more efficient,
-# but has the limits on the size of GOT table.
-# For minimal fuss on user side, we use -KPIC here.
-# See http://svn.boost.org/trac/boost/ticket/1186#comment:6
-# for detailed explanation.
-flags sun OPTIONS <link>shared : -KPIC ;
-
-flags sun.compile OPTIONS <cflags> ;
-flags sun.compile.c++ OPTIONS <cxxflags> ;
-flags sun.compile DEFINES <define> ;
-flags sun.compile INCLUDES <include> ;
-
-actions compile.c
-{
-    "$(CONFIG_C_COMMAND)" $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-actions compile.c++
-{
-    "$(CONFIG_COMMAND)" $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-}
-
-# Declare flags and actions for linking
-flags sun.link OPTIONS <debug-symbols>on : -g ;
-# Strip the binary when no debugging is needed
-flags sun.link OPTIONS <debug-symbols>off : -s ;
-flags sun.link OPTIONS <profiling>on : -xprofile=tcov ;
-flags sun.link OPTIONS <threading>multi : -mt ;
-flags sun.link OPTIONS <linkflags> ;
-flags sun.link LINKPATH <library-path> ;
-flags sun.link FINDLIBS-ST <find-static-library> ;
-flags sun.link FINDLIBS-SA <find-shared-library> ;
-flags sun.link LIBRARIES <library-file> ;
-flags sun.link LINK-RUNTIME <runtime-link>static : static ;
-flags sun.link LINK-RUNTIME <runtime-link>shared : dynamic ;
-flags sun.link RPATH <dll-path> ;
-# On gcc, there are separate options for dll path at runtime and
-# link time. On Solaris, there's only one: -R, so we have to use
-# it, even though it's bad idea.
-flags sun.link RPATH <xdll-path> ;
-
-# The POSIX real-time library is always needed (nanosleep, clock_gettime etc.)
-flags sun.link FINDLIBS-SA : rt ;
-
-rule link ( targets * : sources * : properties * )
-{
-    SPACE on $(targets) = " " ;
-}
-
-actions link bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" $(OPTIONS) -L"$(LINKPATH)" -R"$(RPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -Bdynamic -l$(FINDLIBS-SA) -Bstatic -l$(FINDLIBS-ST) -B$(LINK-RUNTIME)
-}
-
-# Slight mods for dlls
-rule link.dll ( targets * : sources * : properties * )
-{
-    SPACE on $(targets) = " " ;
-}
-
-actions link.dll bind LIBRARIES
-{
-    "$(CONFIG_COMMAND)" $(OPTIONS) -L"$(LINKPATH)" -R"$(RPATH)" -o "$(<)" -h$(<[1]:D=) -G "$(>)" "$(LIBRARIES)" -Bdynamic -l$(FINDLIBS-SA) -Bstatic -l$(FINDLIBS-ST) -B$(LINK-RUNTIME)
-}
-
-# Declare action for creating static libraries
-actions piecemeal archive
-{
-    "$(CONFIG_COMMAND)" -xar -o "$(<)" "$(>)"
-}
-
diff --git a/SRC/Boost/tools/build/v2/tools/symlink.jam b/SRC/Boost/tools/build/v2/tools/symlink.jam
deleted file mode 100755
index 9192929..0000000
--- a/SRC/Boost/tools/build/v2/tools/symlink.jam
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright 2003 Dave Abrahams 
-# Copyright 2002, 2003 Rene Rivera 
-# Copyright 2002, 2003, 2004, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Defines the "symlink" special target. 'symlink' targets make symbolic links
-# to the sources.
-
-import targets modules path class os feature project property-set ;
-
-.count = 0 ;
-
-feature.feature symlink-location : project-relative build-relative : incidental ;
-
-# The class representing "symlink" targets.
-#
-class symlink-targets : basic-target
-{
-    import numbers modules class property project path ;
-    
-    rule __init__ (
-      project
-        : targets *
-        : sources *
-    )
-    {    
-        # Generate a fake name for now. Need unnamed targets eventually.
-        local c = [ modules.peek symlink : .count ] ;
-        modules.poke symlink : .count : [ numbers.increment $(c) ] ;
-        local fake-name = symlink#$(c) ;
-    
-          basic-target.__init__ $(fake-name) : $(project) : $(sources) ;
-    
-        # Remember the targets to map the sources onto. Pad or truncate
-        # to fit the sources given.
-        self.targets = ;
-        for local source in $(sources)
-        {
-            if $(targets)
-            {
-                self.targets += $(targets[1]) ;
-                targets = $(targets[2-]) ;
-            }
-            else
-            {
-                self.targets += $(source) ;
-            }
-        }
-    
-        # The virtual targets corresponding to the given targets.
-        self.virtual-targets = ;
-    }    
-    
-    rule construct ( name : source-targets * : property-set )
-    {
-        local i = 1 ;
-        for local t in $(source-targets)
-        {
-            local s = $(self.targets[$(i)]) ;
-            local a = [ class.new action  $(t) : symlink.ln : $(property-set) ] ;
-            local vt = [ class.new file-target $(s:D=) 
-              : [ $(t).type ] : $(self.project) : $(a) ] ;
-            
-            # Place the symlink in the directory relative to the project
-            # location, instead of placing it in the build directory.
-            if [ property.select <symlink-location> : [ $(property-set).raw ] ] = <symlink-location>project-relative
-            {
-                $(vt).set-path [ path.root $(s:D) [ $(self.project).get location ] ] ;
-            }
-            
-            self.virtual-targets += $(vt) ;
-            i = [ numbers.increment $(i) ] ;
-        }
-        return [ property-set.empty ] $(self.virtual-targets) ;
-    }
-}
-
-# Creates a symbolic link from a set of targets to a set of sources.
-# The targets and sources map one to one. The symlinks generated are
-# limited to be the ones given as the sources. That is, the targets
-# are either padded or trimmed to equate to the sources. The padding
-# is done with the name of the corresponding source. For example::
-#
-#     symlink : one two ;
-#
-# Is equal to::
-#
-#     symlink one two : one two ;
-#
-# Names for symlink are relative to the project location. They cannot
-# include ".." path components.
-rule symlink (
-    targets *
-    : sources *
-    )
-{
-    local project = [ project.current ] ;
-    
-    return [ targets.main-target-alternative
-        [ class.new symlink-targets $(project) : $(targets) : 
-          # Note: inline targets are not supported for symlink, intentionally,
-          # since it's used to linking existing non-local targets.
-          $(sources) ] ] ;
-}
-
-rule ln
-{
-    local os ;
-    if [ modules.peek : UNIX ] { os = UNIX ; }
-    else { os ?= [ os.name ] ; }
-    # Remember the path to make the link relative to where the symlink is located.
-    local path-to-source = [ path.relative-to
-        [ path.make [ on $(<) return $(LOCATE) ] ]
-        [ path.make [ on $(>) return $(LOCATE) ] ] ] ;
-    if $(path-to-source) = .
-    {
-        PATH_TO_SOURCE on $(<) = "" ;
-    }
-    else
-    {
-        PATH_TO_SOURCE on $(<) = [ path.native $(path-to-source) ] ;
-    }
-    ln-$(os) $(<) : $(>) ;
-}
-
-actions ln-UNIX
-{
-    ln -f -s '$(>:D=:R=$(PATH_TO_SOURCE))' '$(<)'
-}
-
-# there is a way to do this; we fall back to a copy for now
-actions ln-NT
-{
-    echo "NT symlinks not supported yet, making copy"
-    del /f /q "$(<)" 2>nul >nul
-    copy "$(>)" "$(<)" $(NULL_OUT)
-}
-
-IMPORT $(__name__) : symlink : : symlink ;
diff --git a/SRC/Boost/tools/build/v2/tools/symlink.py b/SRC/Boost/tools/build/v2/tools/symlink.py
deleted file mode 100755
index 5c46850..0000000
--- a/SRC/Boost/tools/build/v2/tools/symlink.py
+++ /dev/null
@@ -1,112 +0,0 @@
-# Status: ported.
-# Base revision: 64488.
-
-# Copyright 2003 Dave Abrahams 
-# Copyright 2002, 2003 Rene Rivera 
-# Copyright 2002, 2003, 2004, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Defines the "symlink" special target. 'symlink' targets make symbolic links
-# to the sources.
-
-import b2.build.feature as feature
-import b2.build.targets as targets
-import b2.build.property_set as property_set
-import b2.build.virtual_target as virtual_target
-import b2.build.targets
-
-from b2.manager import get_manager
-
-import bjam
-
-import os
-
-
-feature.feature("symlink-location", ["project-relative", "build-relative"], ["incidental"])
-
-class SymlinkTarget(targets.BasicTarget):
-
-    _count = 0
-
-    def __init__(self, project, targets, sources):
-         
-        # Generate a fake name for now. Need unnamed targets eventually.
-        fake_name = "symlink#%s" % SymlinkTarget._count
-        SymlinkTarget._count = SymlinkTarget._count + 1
-
-        b2.build.targets.BasicTarget.__init__(self, fake_name, project, sources)
-    
-        # Remember the targets to map the sources onto. Pad or truncate
-        # to fit the sources given.
-        assert len(targets) <= len(sources)
-        self.targets = targets[:] + sources[len(targets):]
-            
-        # The virtual targets corresponding to the given targets.
-        self.virtual_targets = []
-
-    def construct(self, name, source_targets, ps):
-        i = 0
-        for t in source_targets:
-            s = self.targets[i]
-            a = virtual_target.Action(self.manager(), [t], "symlink.ln", ps)
-            vt = virtual_target.FileTarget(os.path.basename(s), t.type(), self.project(), a)
-                        
-            # Place the symlink in the directory relative to the project
-            # location, instead of placing it in the build directory.
-            if not ps.get('symlink-location') == "project-relative":
-                vt.set_path(os.path.join(self.project().get('location'), os.path.dirname(s)))
-
-            vt = get_manager().virtual_targets().register(vt)
-            self.virtual_targets.append(vt)
-            i = i + 1
-
-        return (property_set.empty(), self.virtual_targets)
-
-# Creates a symbolic link from a set of targets to a set of sources.
-# The targets and sources map one to one. The symlinks generated are
-# limited to be the ones given as the sources. That is, the targets
-# are either padded or trimmed to equate to the sources. The padding
-# is done with the name of the corresponding source. For example::
-#
-#     symlink : one two ;
-#
-# Is equal to::
-#
-#     symlink one two : one two ;
-#
-# Names for symlink are relative to the project location. They cannot
-# include ".." path components.
-def symlink(targets, sources):
-
-    from b2.manager import get_manager
-    t = get_manager().targets()   
-    p = get_manager().projects().current()
-
-    return t.main_target_alternative(
-        SymlinkTarget(p, targets, 
-                      # Note: inline targets are not supported for symlink, intentionally,
-                      # since it's used to linking existing non-local targets.
-                      sources))
-
-
-def setup_ln(targets, sources, ps):
-
-    source_path = bjam.call("get-target-variable", sources[0], "LOCATE")[0]
-    target_path = bjam.call("get-target-variable", targets[0], "LOCATE")[0]
-    rel = os.path.relpath(source_path, target_path)
-    if rel == ".":
-        bjam.call("set-target-variable", targets, "PATH_TO_SOURCE", "")
-    else:
-        bjam.call("set-target-variable", targets, "PATH_TO_SOURCE", rel)
-
-if os.name == 'nt':
-    ln_action = """echo "NT symlinks not supported yet, making copy"
-del /f /q "$(<)" 2>nul >nul
-copy "$(>)" "$(<)" $(NULL_OUT)"""
-else:
-    ln_action = "ln -f -s '$(>:D=:R=$(PATH_TO_SOURCE))' '$(<)'"
-
-get_manager().engine().register_action("symlink.ln", ln_action, function=setup_ln)
-
-get_manager().projects().add_rule("symlink", symlink)
diff --git a/SRC/Boost/tools/build/v2/tools/testing-aux.jam b/SRC/Boost/tools/build/v2/tools/testing-aux.jam
deleted file mode 100755
index 9e0c72a..0000000
--- a/SRC/Boost/tools/build/v2/tools/testing-aux.jam
+++ /dev/null
@@ -1,210 +0,0 @@
-# This module is imported by testing.py. The definitions here are
-# too tricky to do in Python
-
-# Causes the 'target' to exist after bjam invocation if and only if all the
-# dependencies were successfully built.
-#
-rule expect-success ( target : dependency + : requirements * )
-{
-    **passed** $(target) : $(sources) ;
-}
-IMPORT testing : expect-success : : testing.expect-success ;
-
-# Causes the 'target' to exist after bjam invocation if and only if all some of
-# the dependencies were not successfully built.
-#
-rule expect-failure ( target : dependency + : properties * )
-{
-    local grist = [ MATCH ^<(.*)> : $(dependency:G) ] ;
-    local marker = $(dependency:G=$(grist)*fail) ;
-    (failed-as-expected) $(marker) ;
-    FAIL_EXPECTED $(dependency) ;
-    LOCATE on $(marker) = [ on $(dependency) return $(LOCATE) ] ;
-    RMOLD $(marker) ;
-    DEPENDS $(marker) : $(dependency) ;
-    DEPENDS $(target) : $(marker) ;
-    **passed** $(target) : $(marker) ;
-}
-IMPORT testing : expect-failure : : testing.expect-failure ;
-
-# The rule/action combination used to report successful passing of a test.
-#
-rule **passed**
-{
-    # Force deletion of the target, in case any dependencies failed to build.
-    RMOLD $(<) ;
-}
-
-
-# Used to create test files signifying passed tests.
-#
-actions **passed**
-{
-    echo passed > "$(<)"
-}
-
-
-# Used to create replacement object files that do not get created during tests
-# that are expected to fail.
-#
-actions (failed-as-expected)
-{
-    echo failed as expected > "$(<)"
-}
-
-# Runs executable 'sources' and stores stdout in file 'target'. Unless
-# --preserve-test-targets command line option has been specified, removes the
-# executable. The 'target-to-remove' parameter controls what should be removed:
-#   - if 'none', does not remove anything, ever
-#   - if empty, removes 'source'
-#   - if non-empty and not 'none', contains a list of sources to remove.
-#
-rule capture-output ( target : source : properties * : targets-to-remove * )
-{
-    output-file on $(target) = $(target:S=.output) ;
-    LOCATE on $(target:S=.output) = [ on $(target) return $(LOCATE) ] ;
-
-    # The INCLUDES kill a warning about independent target...
-    INCLUDES $(target) : $(target:S=.output) ;
-    # but it also puts .output into dependency graph, so we must tell jam it is
-    # OK if it cannot find the target or updating rule.
-    NOCARE $(target:S=.output) ;
-
-    # This has two-fold effect. First it adds input files to the dependendency
-    # graph, preventing a warning. Second, it causes input files to be bound
-    # before target is created. Therefore, they are bound using SEARCH setting
-    # on them and not LOCATE setting of $(target), as in other case (due to jam
-    # bug).
-    DEPENDS $(target) : [ on $(target) return $(INPUT_FILES) ] ;
-
-    if $(targets-to-remove) = none
-    {
-        targets-to-remove = ;
-    }
-    else if ! $(targets-to-remove)
-    {
-        targets-to-remove = $(source) ;
-    }
-
-    if [ on $(target) return $(REMOVE_TEST_TARGETS) ]
-    {
-        TEMPORARY $(targets-to-remove) ;
-        # Set a second action on target that will be executed after capture
-        # output action. The 'RmTemps' rule has the 'ignore' modifier so it is
-        # always considered succeeded. This is needed for 'run-fail' test. For
-        # that test the target will be marked with FAIL_EXPECTED, and without
-        # 'ignore' successful execution will be negated and be reported as
-        # failure. With 'ignore' we do not detect a case where removing files
-        # fails, but it is not likely to happen.
-        RmTemps $(target) : $(targets-to-remove) ;
-    }
-}
-
-
-if [ os.name ] = NT
-{
-    .STATUS        = %status% ;
-    .SET_STATUS    = "set status=%ERRORLEVEL%" ;
-    .RUN_OUTPUT_NL = "echo." ;
-    .STATUS_0      = "%status% EQU 0 (" ;
-    .STATUS_NOT_0  = "%status% NEQ 0 (" ;
-    .VERBOSE       = "%verbose% EQU 1 (" ;
-    .ENDIF         = ")" ;
-    .SHELL_SET     = "set " ;
-    .CATENATE      = type ;
-    .CP            = copy ;
-}
-else
-{
-    .STATUS        = "$status" ;
-    .SET_STATUS    = "status=$?" ;
-    .RUN_OUTPUT_NL = "echo" ;
-    .STATUS_0      = "test $status -eq 0 ; then" ;
-    .STATUS_NOT_0  = "test $status -ne 0 ; then" ;
-    .VERBOSE       = "test $verbose -eq 1 ; then" ;
-    .ENDIF         = "fi" ;
-    .SHELL_SET     = "" ;
-    .CATENATE      = cat ;
-    .CP            = cp ;
-}
-
-
-.VERBOSE_TEST = 0 ;
-if --verbose-test in [ modules.peek : ARGV ]
-{
-    .VERBOSE_TEST = 1 ;
-}
-
-
-.RM = [ common.rm-command ] ;
-
-
-actions capture-output bind INPUT_FILES output-file
-{
-    $(PATH_SETUP)
-    $(LAUNCHER) "$(>)" $(ARGS) "$(INPUT_FILES)" > "$(output-file)" 2>&1
-    $(.SET_STATUS)
-    $(.RUN_OUTPUT_NL) >> "$(output-file)"
-    echo EXIT STATUS: $(.STATUS) >> "$(output-file)"
-    if $(.STATUS_0)
-        $(.CP) "$(output-file)" "$(<)"
-    $(.ENDIF)
-    $(.SHELL_SET)verbose=$(.VERBOSE_TEST)
-    if $(.STATUS_NOT_0)
-        $(.SHELL_SET)verbose=1
-    $(.ENDIF)
-    if $(.VERBOSE)
-        echo ====== BEGIN OUTPUT ======
-        $(.CATENATE) "$(output-file)"
-        echo ====== END OUTPUT ======
-    $(.ENDIF)
-    exit $(.STATUS)
-}
-
-IMPORT testing : capture-output : : testing.capture-output ;
-
-
-actions quietly updated ignore piecemeal together RmTemps
-{
-    $(.RM) "$(>)"
-}
-
-
-.MAKE_FILE = [ common.file-creation-command ] ;
-
-actions unit-test
-{
-    $(PATH_SETUP)
-    $(LAUNCHER) $(>) $(ARGS) && $(.MAKE_FILE) $(<)
-}
-
-rule record-time ( target : source : start end user system )
-{
-    local src-string = [$(source:G=:J=",")"] " ;
-    USER_TIME on $(target) += $(src-string)$(user) ;
-    SYSTEM_TIME on $(target) += $(src-string)$(system) ;
-}
-
-# Calling this rule requests that Boost Build time how long it taks to build the
-# 'source' target and display the results both on the standard output and in the
-# 'target' file.
-#
-rule time ( target : source : properties *  )
-{
-    # Set up rule for recording timing information.
-    __TIMING_RULE__ on $(source) = testing.record-time $(target) ;
-
-    # Make sure that the source is rebuilt any time we need to retrieve that
-    # information.
-    REBUILDS $(target) : $(source) ;
-}
-
-
-actions time
-{
-    echo user: $(USER_TIME)
-    echo system: $(SYSTEM_TIME)
-
-    echo user: $(USER_TIME)" seconds" > "$(<)"
-    echo system: $(SYSTEM_TIME)" seconds" >> "$(<)"
-}
diff --git a/SRC/Boost/tools/build/v2/tools/testing.jam b/SRC/Boost/tools/build/v2/tools/testing.jam
deleted file mode 100755
index b51e091..0000000
--- a/SRC/Boost/tools/build/v2/tools/testing.jam
+++ /dev/null
@@ -1,581 +0,0 @@
-# Copyright 2005 Dave Abrahams
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This module implements regression testing framework. It declares a number of
-# main target rules which perform some action and, if the results are OK,
-# creates an output file.
-#
-# The exact list of rules is:
-# 'compile'       -- creates .test file if compilation of sources was
-#                    successful.
-# 'compile-fail'  -- creates .test file if compilation of sources failed.
-# 'run'           -- creates .test file is running of executable produced from
-#                    sources was successful. Also leaves behind .output file
-#                    with the output from program run.
-# 'run-fail'      -- same as above, but .test file is created if running fails.
-#
-# In all cases, presence of .test file is an indication that the test passed.
-# For more convenient reporting, you might want to use C++ Boost regression
-# testing utilities (see http://www.boost.org/more/regression.html).
-#
-# For historical reason, a 'unit-test' rule is available which has the same
-# syntax as 'exe' and behaves just like 'run'.
-
-# Things to do:
-#  - Teach compiler_status handle Jamfile.v2.
-# Notes:
-#  - <no-warn> is not implemented, since it is Como-specific, and it is not
-#    clear how to implement it
-#  - std::locale-support is not implemented (it is used in one test).
-
-
-import alias ;
-import "class" ;
-import common ;
-import errors ;
-import feature ;
-import generators ;
-import os ;
-import path ;
-import project ;
-import property ;
-import property-set ;
-import regex ;
-import sequence ;
-import targets ;
-import toolset ;
-import type ;
-import virtual-target ;
-
-
-rule init ( )
-{
-}
-
-
-# Feature controling the command used to lanch test programs.
-feature.feature testing.launcher   : : free optional ;
-
-feature.feature test-info          : : free incidental ;
-feature.feature testing.arg        : : free incidental ;
-feature.feature testing.input-file : : free dependency ;
-
-feature.feature preserve-test-targets : on off : incidental propagated ;
-
-# Register target types.
-type.register TEST         : test          ;
-type.register COMPILE      :        : TEST ;
-type.register COMPILE_FAIL :        : TEST ;
-type.register RUN_OUTPUT   : run           ;
-type.register RUN          :        : TEST ;
-type.register RUN_FAIL     :        : TEST ;
-type.register LINK_FAIL    :        : TEST ;
-type.register LINK         :        : TEST ;
-type.register UNIT_TEST    : passed : TEST ;
-
-
-# Declare the rules which create main targets. While the 'type' module already
-# creates rules with the same names for us, we need extra convenience: default
-# name of main target, so write our own versions.
-
-# Helper rule. Create a test target, using basename of first source if no target
-# name is explicitly passed. Remembers the created target in a global variable.
-#
-rule make-test ( target-type : sources + : requirements * : target-name ? )
-{
-    target-name ?= $(sources[1]:D=:S=) ;
-
-    # Having periods (".") in the target name is problematic because the typed
-    # generator will strip the suffix and use the bare name for the file
-    # targets. Even though the location-prefix averts problems most times it
-    # does not prevent ambiguity issues when referring to the test targets. For
-    # example when using the XML log output. So we rename the target to remove
-    # the periods, and provide an alias for users.
-    local real-name = [ regex.replace $(target-name) "[.]" "~" ] ;
-
-    local project = [ project.current ] ;
-    # The <location-prefix> forces the build system for generate paths in the
-    # form '$build_dir/array1.test/gcc/debug'. This is necessary to allow
-    # post-processing tools to work.
-    local t = [ targets.create-typed-target [ type.type-from-rule-name
-        $(target-type) ] : $(project) : $(real-name) : $(sources) :
-        $(requirements) <location-prefix>$(real-name).test ] ;
-
-    # The alias to the real target, per period replacement above.
-    if $(real-name) != $(target-name)
-    {
-        alias $(target-name) : $(t) ;
-    }
-
-    # Remember the test (for --dump-tests). A good way would be to collect all
-    # given a project. This has some technical problems: e.g. we can not call
-    # this dump from a Jamfile since projects referred by 'build-project' are
-    # not available until the whole Jamfile has been loaded.
-    .all-tests += $(t) ;
-    return $(t) ;
-}
-
-
-# Note: passing more that one cpp file here is known to fail. Passing a cpp file
-# and a library target works.
-#
-rule compile ( sources + : requirements * : target-name ? )
-{
-    return [ make-test compile : $(sources) : $(requirements) : $(target-name) ]
-        ;
-}
-
-
-rule compile-fail ( sources + : requirements * : target-name ? )
-{
-    return [ make-test compile-fail : $(sources) : $(requirements) :
-        $(target-name) ] ;
-}
-
-
-rule link ( sources + : requirements * : target-name ? )
-{
-    return [ make-test link : $(sources) : $(requirements) : $(target-name) ] ;
-}
-
-
-rule link-fail ( sources + : requirements * : target-name ? )
-{
-    return [ make-test link-fail : $(sources) : $(requirements) : $(target-name)
-        ] ;
-}
-
-
-rule handle-input-files ( input-files * )
-{
-    if $(input-files[2])
-    {
-        # Check that sorting made when creating property-set instance will not
-        # change the ordering.
-        if [ sequence.insertion-sort $(input-files) ] != $(input-files)
-        {
-            errors.user-error "Names of input files must be sorted alphabetically"
-                : "due to internal limitations" ;
-        }
-    }
-    return <testing.input-file>$(input-files) ;
-}
-
-
-rule run ( sources + : args * : input-files * : requirements * : target-name ? :
-    default-build * )
-{
-    requirements += <testing.arg>$(args:J=" ") ;
-    requirements += [ handle-input-files $(input-files) ] ;
-    return [ make-test run : $(sources) : $(requirements) : $(target-name) ] ;
-}
-
-
-rule run-fail ( sources + : args * : input-files * : requirements * :
-    target-name ? : default-build * )
-{
-    requirements += <testing.arg>$(args:J=" ") ;
-    requirements += [ handle-input-files $(input-files) ] ;
-    return [ make-test run-fail : $(sources) : $(requirements) : $(target-name)
-        ] ;
-}
-
-
-# Use 'test-suite' as a synonym for 'alias', for backward compatibility.
-IMPORT : alias : : test-suite ;
-
-
-# For all main targets in 'project-module', which are typed targets with type
-# derived from 'TEST', produce some interesting information.
-#
-rule dump-tests
-{
-    for local t in $(.all-tests)
-    {
-        dump-test $(t) ;
-    }
-}
-
-
-# Given a project location in normalized form (slashes are forward), compute the
-# name of the Boost library.
-#
-local rule get-library-name ( path )
-{
-    # Path is in normalized form, so all slashes are forward.
-    local match1 = [ MATCH /(tools|libs)/(.*)/(test|example) : $(path) ] ;
-    local match2 = [ MATCH /(tools|libs)/(.*)$ : $(path) ] ;
-    local match3 = [ MATCH (/status$) : $(path) ] ;
-
-    if $(match1) { return $(match1[2]) ; }
-    else if $(match2) { return $(match2[2]) ; }
-    else if $(match3) { return "" ; }
-    else if --dump-tests in [ modules.peek : ARGV ]
-    {
-        # The 'run' rule and others might be used outside boost. In that case,
-        # just return the path, since the 'library name' makes no sense.
-        return $(path) ;
-    }
-}
-
-
-# Was an XML dump requested?
-.out-xml = [ MATCH --out-xml=(.*) : [ modules.peek : ARGV ] ] ;
-
-
-# Takes a target (instance of 'basic-target') and prints
-#   - its type
-#   - its name
-#   - comments specified via the <test-info> property
-#   - relative location of all source from the project root.
-#
-rule dump-test ( target )
-{
-    local type = [ $(target).type ] ;
-    local name = [ $(target).name ] ;
-    local project = [ $(target).project ] ;
-
-    local project-root = [ $(project).get project-root ] ;
-    local library = [ get-library-name [ path.root [ $(project).get location ]
-        [ path.pwd ] ] ] ;
-    if $(library)
-    {
-        name = $(library)/$(name) ;
-    }
-
-    local sources = [ $(target).sources ] ;
-    local source-files ;
-    for local s in $(sources)
-    {
-        if [ class.is-a $(s) : file-reference ]
-        {
-            local location = [ path.root [ path.root [ $(s).name ]
-                [ $(s).location ] ] [ path.pwd ] ] ;
-
-            source-files += [ path.relative-to [ path.root $(project-root)
-                [ path.pwd ] ] $(location) ] ;
-        }
-    }
-
-    local target-name = [ $(project).get location ] // [ $(target).name ] .test
-        ;
-    target-name = $(target-name:J=) ;
-
-    local r = [ $(target).requirements ] ;
-    # Extract values of the <test-info> feature.
-    local test-info = [ $(r).get <test-info> ] ;
-
-    # If the user requested XML output on the command-line, add the test info to
-    # that XML file rather than dumping them to stdout.
-    if $(.out-xml)
-    {
-        local nl = "
-" ;
-        .contents on $(.out-xml) +=
-            "$(nl)  <test type=\"$(type)\" name=\"$(name)\">"
-            "$(nl)    <target><![CDATA[$(target-name)]]></target>"
-            "$(nl)    <info><![CDATA[$(test-info)]]></info>"
-            "$(nl)    <source><![CDATA[$(source-files)]]></source>"
-            "$(nl)  </test>"
-            ;
-    }
-    else
-    {
-        # Format them into a single string of quoted strings.
-        test-info = \"$(test-info:J=\"\ \")\" ;
-
-        ECHO boost-test($(type)) \"$(name)\" [$(test-info)] ":"
-            \"$(source-files)\" ;
-    }
-}
-
-
-# Register generators. Depending on target type, either 'expect-success' or
-# 'expect-failure' rule will be used.
-generators.register-standard testing.expect-success : OBJ        : COMPILE      ;
-generators.register-standard testing.expect-failure : OBJ        : COMPILE_FAIL ;
-generators.register-standard testing.expect-success : RUN_OUTPUT : RUN          ;
-generators.register-standard testing.expect-failure : RUN_OUTPUT : RUN_FAIL     ;
-generators.register-standard testing.expect-failure : EXE        : LINK_FAIL    ;
-generators.register-standard testing.expect-success : EXE        : LINK         ;
-
-# Generator which runs an EXE and captures output.
-generators.register-standard testing.capture-output : EXE : RUN_OUTPUT ;
-
-# Generator which creates a target if sources run successfully. Differs from RUN
-# in that run output is not captured. The reason why it exists is that the 'run'
-# rule is much better for automated testing, but is not user-friendly (see
-# http://article.gmane.org/gmane.comp.lib.boost.build/6353).
-generators.register-standard testing.unit-test : EXE : UNIT_TEST ;
-
-
-# The action rules called by generators.
-
-# Causes the 'target' to exist after bjam invocation if and only if all the
-# dependencies were successfully built.
-#
-rule expect-success ( target : dependency + : requirements * )
-{
-    **passed** $(target) : $(sources) ;
-}
-
-
-# Causes the 'target' to exist after bjam invocation if and only if all some of
-# the dependencies were not successfully built.
-#
-rule expect-failure ( target : dependency + : properties * )
-{
-    local grist = [ MATCH ^<(.*)> : $(dependency:G) ] ;
-    local marker = $(dependency:G=$(grist)*fail) ;
-    (failed-as-expected) $(marker) ;
-    FAIL_EXPECTED $(dependency) ;
-    LOCATE on $(marker) = [ on $(dependency) return $(LOCATE) ] ;
-    RMOLD $(marker) ;
-    DEPENDS $(marker) : $(dependency) ;
-    DEPENDS $(target) : $(marker) ;
-    **passed** $(target) : $(marker) ;
-}
-
-
-# The rule/action combination used to report successful passing of a test.
-#
-rule **passed**
-{
-    # Dump all the tests, if needed. We do it here, since dump should happen
-    # only after all Jamfiles have been read, and there is no such place
-    # currently defined (but there should be).
-    if ! $(.dumped-tests) && ( --dump-tests in [ modules.peek : ARGV ] )
-    {
-        .dumped-tests = true ;
-        dump-tests ;
-    }
-
-    # Force deletion of the target, in case any dependencies failed to build.
-    RMOLD $(<) ;
-}
-
-
-# Used to create test files signifying passed tests.
-#
-actions **passed**
-{
-    echo passed > "$(<)"
-}
-
-
-# Used to create replacement object files that do not get created during tests
-# that are expected to fail.
-#
-actions (failed-as-expected)
-{
-    echo failed as expected > "$(<)"
-}
-
-
-rule run-path-setup ( target : source : properties * )
-{
-    # For testing, we need to make sure that all dynamic libraries needed by the
-    # test are found. So, we collect all paths from dependency libraries (via
-    # xdll-path property) and add whatever explicit dll-path user has specified.
-    # The resulting paths are added to the environment on each test invocation.
-    local dll-paths = [ feature.get-values <dll-path> : $(properties) ] ;
-    dll-paths += [ feature.get-values <xdll-path> : $(properties) ] ;
-    dll-paths += [ on $(source) return $(RUN_PATH) ] ;
-    dll-paths = [ sequence.unique $(dll-paths) ] ;
-    if $(dll-paths)
-    {
-        dll-paths = [ sequence.transform path.native : $(dll-paths) ] ;
-        PATH_SETUP on $(target) = [ common.prepend-path-variable-command
-            [ os.shared-library-path-variable ] : $(dll-paths) ] ;
-    }
-}
-
-
-local argv = [ modules.peek : ARGV ] ;
-
-toolset.flags testing.capture-output ARGS <testing.arg> ;
-toolset.flags testing.capture-output INPUT_FILES <testing.input-file> ;
-toolset.flags testing.capture-output LAUNCHER <testing.launcher> ;
-
-
-# Runs executable 'sources' and stores stdout in file 'target'. Unless
-# --preserve-test-targets command line option has been specified, removes the
-# executable. The 'target-to-remove' parameter controls what should be removed:
-#   - if 'none', does not remove anything, ever
-#   - if empty, removes 'source'
-#   - if non-empty and not 'none', contains a list of sources to remove.
-#
-rule capture-output ( target : source : properties * : targets-to-remove * )
-{
-    output-file on $(target) = $(target:S=.output) ;
-    LOCATE on $(target:S=.output) = [ on $(target) return $(LOCATE) ] ;
-
-    # The INCLUDES kill a warning about independent target...
-    INCLUDES $(target) : $(target:S=.output) ;
-    # but it also puts .output into dependency graph, so we must tell jam it is
-    # OK if it cannot find the target or updating rule.
-    NOCARE $(target:S=.output) ;
-
-    # This has two-fold effect. First it adds input files to the dependendency
-    # graph, preventing a warning. Second, it causes input files to be bound
-    # before target is created. Therefore, they are bound using SEARCH setting
-    # on them and not LOCATE setting of $(target), as in other case (due to jam
-    # bug).
-    DEPENDS $(target) : [ on $(target) return $(INPUT_FILES) ] ;
-
-    if $(targets-to-remove) = none
-    {
-        targets-to-remove = ;
-    }
-    else if ! $(targets-to-remove)
-    {
-        targets-to-remove = $(source) ;
-    }
-
-    run-path-setup $(target) : $(source) : $(properties) ;
-
-    if [ feature.get-values preserve-test-targets : $(properties) ] = off
-    {
-        TEMPORARY $(targets-to-remove) ;
-        # Set a second action on target that will be executed after capture
-        # output action. The 'RmTemps' rule has the 'ignore' modifier so it is
-        # always considered succeeded. This is needed for 'run-fail' test. For
-        # that test the target will be marked with FAIL_EXPECTED, and without
-        # 'ignore' successful execution will be negated and be reported as
-        # failure. With 'ignore' we do not detect a case where removing files
-        # fails, but it is not likely to happen.
-        RmTemps $(target) : $(targets-to-remove) ;
-    }
-}
-
-
-if [ os.name ] = NT
-{
-    .STATUS        = %status% ;
-    .SET_STATUS    = "set status=%ERRORLEVEL%" ;
-    .RUN_OUTPUT_NL = "echo." ;
-    .STATUS_0      = "%status% EQU 0 (" ;
-    .STATUS_NOT_0  = "%status% NEQ 0 (" ;
-    .VERBOSE       = "%verbose% EQU 1 (" ;
-    .ENDIF         = ")" ;
-    .SHELL_SET     = "set " ;
-    .CATENATE      = type ;
-    .CP            = copy ;
-}
-else
-{
-    .STATUS        = "$status" ;
-    .SET_STATUS    = "status=$?" ;
-    .RUN_OUTPUT_NL = "echo" ;
-    .STATUS_0      = "test $status -eq 0 ; then" ;
-    .STATUS_NOT_0  = "test $status -ne 0 ; then" ;
-    .VERBOSE       = "test $verbose -eq 1 ; then" ;
-    .ENDIF         = "fi" ;
-    .SHELL_SET     = "" ;
-    .CATENATE      = cat ;
-    .CP            = cp ;
-}
-
-
-.VERBOSE_TEST = 0 ;
-if --verbose-test in [ modules.peek : ARGV ]
-{
-    .VERBOSE_TEST = 1 ;
-}
-
-
-.RM = [ common.rm-command ] ;
-
-
-actions capture-output bind INPUT_FILES output-file
-{
-    $(PATH_SETUP)
-    $(LAUNCHER) "$(>)" $(ARGS) "$(INPUT_FILES)" > "$(output-file)" 2>&1
-    $(.SET_STATUS)
-    $(.RUN_OUTPUT_NL) >> "$(output-file)"
-    echo EXIT STATUS: $(.STATUS) >> "$(output-file)"
-    if $(.STATUS_0)
-        $(.CP) "$(output-file)" "$(<)"
-    $(.ENDIF)
-    $(.SHELL_SET)verbose=$(.VERBOSE_TEST)
-    if $(.STATUS_NOT_0)
-        $(.SHELL_SET)verbose=1
-    $(.ENDIF)
-    if $(.VERBOSE)
-        echo ====== BEGIN OUTPUT ======
-        $(.CATENATE) "$(output-file)"
-        echo ====== END OUTPUT ======
-    $(.ENDIF)
-    exit $(.STATUS)
-}
-
-
-actions quietly updated ignore piecemeal together RmTemps
-{
-    $(.RM) "$(>)"
-}
-
-
-.MAKE_FILE = [ common.file-creation-command ] ;
-
-toolset.flags testing.unit-test LAUNCHER <testing.launcher> ;
-toolset.flags testing.unit-test ARGS <testing.arg> ;
-
-
-rule unit-test ( target : source : properties * )
-{
-    run-path-setup $(target) : $(source) : $(properties) ;
-}
-
-
-actions unit-test
-{
-    $(PATH_SETUP)
-    $(LAUNCHER) $(>) $(ARGS) && $(.MAKE_FILE) $(<)
-}
-
-
-IMPORT $(__name__) : compile compile-fail run run-fail link link-fail
-    : : compile compile-fail run run-fail link link-fail ;
-
-
-type.register TIME : time ;
-generators.register-standard testing.time : : TIME ;
-
-
-rule record-time ( target : source : start end user system )
-{
-    local src-string = [$(source:G=:J=",")"] " ;
-    USER_TIME on $(target) += $(src-string)$(user) ;
-    SYSTEM_TIME on $(target) += $(src-string)$(system) ;
-}
-
-
-IMPORT testing : record-time : : testing.record-time ;
-
-
-# Calling this rule requests that Boost Build time how long it taks to build the
-# 'source' target and display the results both on the standard output and in the
-# 'target' file.
-#
-rule time ( target : source : properties *  )
-{
-    # Set up rule for recording timing information.
-    __TIMING_RULE__ on $(source) = testing.record-time $(target) ;
-
-    # Make sure that the source is rebuilt any time we need to retrieve that
-    # information.
-    REBUILDS $(target) : $(source) ;
-}
-
-
-actions time
-{
-    echo user: $(USER_TIME)
-    echo system: $(SYSTEM_TIME)
-
-    echo user: $(USER_TIME)" seconds" > "$(<)"
-    echo system: $(SYSTEM_TIME)" seconds" >> "$(<)"
-}
diff --git a/SRC/Boost/tools/build/v2/tools/testing.py b/SRC/Boost/tools/build/v2/tools/testing.py
deleted file mode 100755
index 9246cc6..0000000
--- a/SRC/Boost/tools/build/v2/tools/testing.py
+++ /dev/null
@@ -1,342 +0,0 @@
-# Status: ported, except for --out-xml
-# Base revision: 64488
-#
-# Copyright 2005 Dave Abrahams
-# Copyright 2002, 2003, 2004, 2005, 2010 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# This module implements regression testing framework. It declares a number of
-# main target rules which perform some action and, if the results are OK,
-# creates an output file.
-#
-# The exact list of rules is:
-# 'compile'       -- creates .test file if compilation of sources was
-#                    successful.
-# 'compile-fail'  -- creates .test file if compilation of sources failed.
-# 'run'           -- creates .test file is running of executable produced from
-#                    sources was successful. Also leaves behind .output file
-#                    with the output from program run.
-# 'run-fail'      -- same as above, but .test file is created if running fails.
-#
-# In all cases, presence of .test file is an indication that the test passed.
-# For more convenient reporting, you might want to use C++ Boost regression
-# testing utilities (see http://www.boost.org/more/regression.html).
-#
-# For historical reason, a 'unit-test' rule is available which has the same
-# syntax as 'exe' and behaves just like 'run'.
-
-# Things to do:
-#  - Teach compiler_status handle Jamfile.v2.
-# Notes:
-#  - <no-warn> is not implemented, since it is Como-specific, and it is not
-#    clear how to implement it
-#  - std::locale-support is not implemented (it is used in one test).
-
-import b2.build.feature as feature
-import b2.build.type as type
-import b2.build.targets as targets
-import b2.build.generators as generators
-import b2.build.toolset as toolset
-import b2.tools.common as common
-import b2.util.option as option
-import b2.build_system as build_system
-
-
-
-from b2.manager import get_manager
-from b2.util import stem, bjam_signature
-from b2.util.sequence import unique
-
-import bjam
-
-import re
-import os.path
-import sys
-
-def init():
-    pass
-
-# Feature controling the command used to lanch test programs.
-feature.feature("testing.launcher", [], ["free", "optional"])
-
-feature.feature("test-info", [], ["free", "incidental"])
-feature.feature("testing.arg", [], ["free", "incidental"])
-feature.feature("testing.input-file", [], ["free", "dependency"])
-
-feature.feature("preserve-test-targets", ["on", "off"], ["incidental", "propagated"])
-
-# Register target types.
-type.register("TEST", ["test"])
-type.register("COMPILE", [], "TEST")
-type.register("COMPILE_FAIL", [], "TEST")
-
-type.register("RUN_OUTPUT", ["run"])
-type.register("RUN", [], "TEST")
-type.register("RUN_FAIL", [], "TEST")
-
-type.register("LINK", [], "TEST")
-type.register("LINK_FAIL", [], "TEST")
-type.register("UNIT_TEST", ["passed"], "TEST")
-
-__all_tests = []
-
-# Declare the rules which create main targets. While the 'type' module already
-# creates rules with the same names for us, we need extra convenience: default
-# name of main target, so write our own versions.
-
-# Helper rule. Create a test target, using basename of first source if no target
-# name is explicitly passed. Remembers the created target in a global variable.
-def make_test(target_type, sources, requirements, target_name=None):
-
-    if not target_name:
-        target_name = stem(os.path.basename(sources[0]))
-
-    # Having periods (".") in the target name is problematic because the typed
-    # generator will strip the suffix and use the bare name for the file
-    # targets. Even though the location-prefix averts problems most times it
-    # does not prevent ambiguity issues when referring to the test targets. For
-    # example when using the XML log output. So we rename the target to remove
-    # the periods, and provide an alias for users.
-    real_name = target_name.replace(".", "~")
-
-    project = get_manager().projects().current()
-    # The <location-prefix> forces the build system for generate paths in the
-    # form '$build_dir/array1.test/gcc/debug'. This is necessary to allow
-    # post-processing tools to work.
-    t = get_manager().targets().create_typed_target(
-        type.type_from_rule_name(target_type), project, real_name, sources,
-        requirements + ["<location-prefix>" + real_name + ".test"], [], [])
-
-    # The alias to the real target, per period replacement above.
-    if real_name != target_name:
-        get_manager().projects().project_rules().all_names_["alias"](
-            target_name, [t])
-
-    # Remember the test (for --dump-tests). A good way would be to collect all
-    # given a project. This has some technical problems: e.g. we can not call
-    # this dump from a Jamfile since projects referred by 'build-project' are
-    # not available until the whole Jamfile has been loaded.
-    __all_tests.append(t)
-    return t
-
-
-# Note: passing more that one cpp file here is known to fail. Passing a cpp file
-# and a library target works.
-#
- at bjam_signature((["sources", "*"], ["requirements", "*"], ["target_name", "?"]))
-def compile(sources, requirements, target_name=None):
-    return make_test("compile", sources, requirements, target_name)
-
- at bjam_signature((["sources", "*"], ["requirements", "*"], ["target_name", "?"]))
-def compile_fail(sources, requirements, target_name=None):
-    return make_test("compile-fail", sources, requirements, target_name)
-
- at bjam_signature((["sources", "*"], ["requirements", "*"], ["target_name", "?"]))
-def link(sources, requirements, target_name=None):
-    return make_test("link", sources, requirements, target_name)
-
- at bjam_signature((["sources", "*"], ["requirements", "*"], ["target_name", "?"]))
-def link_fail(sources, requirements, target_name=None):
-    return make_test("link-fail", sources, requirements, target_name)
-
-def handle_input_files(input_files):
-    if len(input_files) > 1:
-        # Check that sorting made when creating property-set instance will not
-        # change the ordering.
-        if sorted(input_files) != input_files:
-            get_manager().errors()("Names of input files must be sorted alphabetically\n" +
-                                   "due to internal limitations")
-    return ["<testing.input-file>" + f for f in input_files]
-
- at bjam_signature((["sources", "*"], ["args", "*"], ["input_files", "*"],
-                 ["requirements", "*"], ["target_name", "?"],
-                 ["default_build", "*"]))                 
-def run(sources, args, input_files, requirements, target_name=None, default_build=[]):
-    if args:
-        requirements.append("<testing.arg>" + " ".join(args))
-    requirements.extend(handle_input_files(input_files))
-    return make_test("run", sources, requirements, target_name)
-
- at bjam_signature((["sources", "*"], ["args", "*"], ["input_files", "*"],
-                 ["requirements", "*"], ["target_name", "?"],
-                 ["default_build", "*"]))                 
-def run_fail(sources, args, input_files, requirements, target_name=None, default_build=[]):
-    if args:
-        requirements.append("<testing.arg>" + " ".join(args))
-    requirements.extend(handle_input_files(input_files))
-    return make_test("run-fail", sources, requirements, target_name)
-
-# Register all the rules
-for name in ["compile", "compile-fail", "link", "link-fail", "run", "run-fail"]:
-    get_manager().projects().add_rule(name, getattr(sys.modules[__name__], name.replace("-", "_")))
-
-# Use 'test-suite' as a synonym for 'alias', for backward compatibility.
-from b2.build.alias import alias
-get_manager().projects().add_rule("test-suite", alias)
-
-# For all main targets in 'project-module', which are typed targets with type
-# derived from 'TEST', produce some interesting information.
-#
-def dump_tests():
-    for t in __all_tests:
-        dump_test(t)
-
-# Given a project location in normalized form (slashes are forward), compute the
-# name of the Boost library.
-#
-__ln1 = re.compile("/(tools|libs)/(.*)/(test|example)")
-__ln2 = re.compile("/(tools|libs)/(.*)$")
-__ln3 = re.compile("(/status$)")
-def get_library_name(path):
-    
-    path = path.replace("\\", "/")
-    match1 = __ln1.match(path)
-    match2 = __ln2.match(path)
-    match3 = __ln3.match(path)
-
-    if match1:
-        return match1.group(2)
-    elif match2:
-        return match2.group(2)
-    elif match3:
-        return ""
-    elif option.get("dump-tests", False, True):
-        # The 'run' rule and others might be used outside boost. In that case,
-        # just return the path, since the 'library name' makes no sense.
-        return path
-
-# Was an XML dump requested?
-__out_xml = option.get("out-xml", False, True)
-
-# Takes a target (instance of 'basic-target') and prints
-#   - its type
-#   - its name
-#   - comments specified via the <test-info> property
-#   - relative location of all source from the project root.
-#
-def dump_test(target):
-    type = target.type()
-    name = target.name()
-    project = target.project()
-
-    project_root = project.get('project-root')
-    library = get_library_name(os.path.abspath(project.get('location')))
-    if library:
-        name = library + "/" + name
-
-    sources = target.sources()
-    source_files = []
-    for s in sources:
-        if isinstance(s, targets.FileReference):
-            location = os.path.abspath(os.path.join(s.location(), s.name()))
-            source_files.append(os.path.relpath(location, os.path.abspath(project_root)))
-
-    target_name = project.get('location') + "//" + target.name() + ".test"
-
-    test_info = target.requirements().get('test-info')
-    test_info = " ".join('"' + ti + '"' for ti in test_info)
-
-    # If the user requested XML output on the command-line, add the test info to
-    # that XML file rather than dumping them to stdout.
-    #if $(.out-xml)
-    #{
-#        local nl = "
-#" ;
-#        .contents on $(.out-xml) +=
-#            "$(nl)  <test type=\"$(type)\" name=\"$(name)\">"
-#            "$(nl)    <target><![CDATA[$(target-name)]]></target>"
-#            "$(nl)    <info><![CDATA[$(test-info)]]></info>"
-#            "$(nl)    <source><![CDATA[$(source-files)]]></source>"
-#            "$(nl)  </test>"
-#            ;
-#    }
-#    else
-
-    source_files = " ".join('"' + s + '"' for s in source_files)
-    if test_info:
-        print 'boost-test(%s) "%s" [%s] : %s' % (type, name, test_info, source_files)
-    else:
-        print 'boost-test(%s) "%s" : %s' % (type, name, source_files)
-
-# Register generators. Depending on target type, either 'expect-success' or
-# 'expect-failure' rule will be used.
-generators.register_standard("testing.expect-success", ["OBJ"], ["COMPILE"])
-generators.register_standard("testing.expect-failure", ["OBJ"], ["COMPILE_FAIL"])
-generators.register_standard("testing.expect-success", ["RUN_OUTPUT"], ["RUN"])
-generators.register_standard("testing.expect-failure", ["RUN_OUTPUT"], ["RUN_FAIL"])
-generators.register_standard("testing.expect-success", ["EXE"], ["LINK"])
-generators.register_standard("testing.expect-failure", ["EXE"], ["LINK_FAIL"])
-
-# Generator which runs an EXE and captures output.
-generators.register_standard("testing.capture-output", ["EXE"], ["RUN_OUTPUT"])
-
-# Generator which creates a target if sources run successfully. Differs from RUN
-# in that run output is not captured. The reason why it exists is that the 'run'
-# rule is much better for automated testing, but is not user-friendly (see
-# http://article.gmane.org/gmane.comp.lib.boost.build/6353).
-generators.register_standard("testing.unit-test", ["EXE"], ["UNIT_TEST"])
-
-# FIXME: if those calls are after bjam.call, then bjam will crash
-# when toolset.flags calls bjam.caller.
-toolset.flags("testing.capture-output", "ARGS", [], ["<testing.arg>"])
-toolset.flags("testing.capture-output", "INPUT_FILES", [], ["<testing.input-file>"])
-toolset.flags("testing.capture-output", "LAUNCHER", [], ["<testing.launcher>"])
-
-toolset.flags("testing.unit-test", "LAUNCHER", [], ["<testing.launcher>"])
-toolset.flags("testing.unit-test", "ARGS", [], ["<testing.arg>"])
-
-type.register("TIME", ["time"])
-generators.register_standard("testing.time", [], ["TIME"])
-
-
-# The following code sets up actions for this module. It's pretty convoluted,
-# but the basic points is that we most of actions are defined by Jam code
-# contained in testing-aux.jam, which we load into Jam module named 'testing'
-
-def run_path_setup(target, sources, ps):
-
-    # For testing, we need to make sure that all dynamic libraries needed by the
-    # test are found. So, we collect all paths from dependency libraries (via
-    # xdll-path property) and add whatever explicit dll-path user has specified.
-    # The resulting paths are added to the environment on each test invocation.
-    dll_paths = ps.get('dll-path')
-    dll_paths.extend(ps.get('xdll-path'))
-    dll_paths.extend(bjam.call("get-target-variable", sources, "RUN_PATH"))
-    dll_paths = unique(dll_paths)
-    if dll_paths:
-        bjam.call("set-target-variable", target, "PATH_SETUP",
-                  common.prepend_path_variable_command(
-                     common.shared_library_path_variable(), dll_paths))
-
-def capture_output_setup(target, sources, ps):
-    run_path_setup(target, sources, ps)
-
-    if ps.get('preserve-test-targets') == ['off']:
-        bjam.call("set-target-variable", target, "REMOVE_TEST_TARGETS", "1")
-
-get_manager().engine().register_bjam_action("testing.capture-output",
-                                            capture_output_setup)
-
-
-path = os.path.dirname(get_manager().projects().loaded_tool_module_path_[__name__])
-import b2.util.os_j
-get_manager().projects().project_rules()._import_rule("testing", "os.name",
-                                                      b2.util.os_j.name)
-import b2.tools.common
-get_manager().projects().project_rules()._import_rule("testing", "common.rm-command",
-                                                      b2.tools.common.rm_command)
-get_manager().projects().project_rules()._import_rule("testing", "common.file-creation-command",
-                                                      b2.tools.common.file_creation_command)
-
-bjam.call("load", "testing", os.path.join(path, "testing-aux.jam"))
-
-
-for name in ["expect-success", "expect-failure", "time"]:
-    get_manager().engine().register_bjam_action("testing." + name)
-
-get_manager().engine().register_bjam_action("testing.unit-test",
-                                            run_path_setup)
-
-if option.get("dump-tests", False, True):
-    build_system.add_pre_build_hook(dump_tests)
diff --git a/SRC/Boost/tools/build/v2/tools/types/__init__.py b/SRC/Boost/tools/build/v2/tools/types/__init__.py
deleted file mode 100755
index 4fcdcb5..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/__init__.py
+++ /dev/null
@@ -1,18 +0,0 @@
-__all__ = [
-    'asm',
-    'cpp',
-    'exe',
-    'html',
-    'lib',
-    'obj',
-    'rsp',
-]
-
-def register_all ():
-    for i in __all__:
-        m = __import__ (__name__ + '.' + i)
-        reg = i + '.register ()'
-        #exec (reg)
-
-# TODO: (PF) I thought these would be imported automatically. Anyone knows why they aren't?
-register_all ()
diff --git a/SRC/Boost/tools/build/v2/tools/types/asm.jam b/SRC/Boost/tools/build/v2/tools/types/asm.jam
deleted file mode 100755
index 852fe66..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/asm.jam
+++ /dev/null
@@ -1,4 +0,0 @@
-# Copyright Craig Rodrigues 2005. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-type ASM : s S asm ;
diff --git a/SRC/Boost/tools/build/v2/tools/types/asm.py b/SRC/Boost/tools/build/v2/tools/types/asm.py
deleted file mode 100755
index 7341269..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/asm.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright Craig Rodrigues 2005.
-# Copyright (c) 2008 Steven Watanabe
-#
-# Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-from b2.build import type
-
-def register():
-    type.register_type('ASM', ['s', 'S', 'asm'])
-
-register()
diff --git a/SRC/Boost/tools/build/v2/tools/types/cpp.jam b/SRC/Boost/tools/build/v2/tools/types/cpp.jam
deleted file mode 100755
index f4d81e4..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/cpp.jam
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright David Abrahams 2004.
-# Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus
-# Copyright 2010 Rene Rivera
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-import type ;
-import scanner ;
-
-class c-scanner : scanner
-{
-    import path ;
-    import regex ;
-    import scanner ;
-    import sequence ;
-    import virtual-target ;
-
-    rule __init__ ( includes * )
-    {
-        scanner.__init__ ;
-
-        for local i in $(includes)
-        {
-            self.includes += [ sequence.transform path.native
-                                : [ regex.split $(i:G=) "&&" ] ] ;
-        }
-    }
-
-    rule pattern ( )
-    {
-        return "#[ \t]*include[ ]*(<(.*)>|\"(.*)\")" ;
-    }
-
-    rule process ( target : matches * : binding )
-    {
-        local angle  = [ regex.transform $(matches) : "<(.*)>"   ] ;
-        angle = [ sequence.transform path.native : $(angle) ] ;
-        local quoted = [ regex.transform $(matches) : "\"(.*)\"" ] ;
-        quoted = [ sequence.transform path.native : $(quoted) ] ;
-
-        # CONSIDER: the new scoping rule seem to defeat "on target" variables.
-        local g = [ on $(target) return $(HDRGRIST) ] ;
-        local b = [ NORMALIZE_PATH $(binding:D) ] ;
-
-        # Attach binding of including file to included targets. When a target is
-        # directly created from virtual target this extra information is
-        # unnecessary. But in other cases, it allows us to distinguish between
-        # two headers of the same name included from different places. We do not
-        # need this extra information for angle includes, since they should not
-        # depend on including file (we can not get literal "." in include path).
-        local g2 = $(g)"#"$(b) ;
-
-        angle = $(angle:G=$(g)) ;
-        quoted = $(quoted:G=$(g2)) ;
-
-        local all = $(angle) $(quoted) ;
-
-        INCLUDES $(target) : $(all) ;
-        NOCARE $(all) ;
-        SEARCH on $(angle) = $(self.includes:G=) ;
-        SEARCH on $(quoted) = $(b) $(self.includes:G=) ;
-
-        # Just propagate the current scanner to includes in hope that includes
-        # do not change scanners.
-        scanner.propagate $(__name__) : $(angle) $(quoted) : $(target) ;
-
-        ISFILE $(angle) $(quoted) ;
-    }
-}
-
-scanner.register c-scanner : include ;
-
-type.register CPP : cpp cxx cc ;
-type.register H   : h ;
-type.register HPP : hpp : H ;
-type.register C   : c ;
-
-# It most cases where a CPP file or a H file is a source of some action, we
-# should rebuild the result if any of files included by CPP/H are changed. One
-# case when this is not needed is installation, which is handled specifically.
-type.set-scanner CPP : c-scanner ;
-type.set-scanner C   : c-scanner ;
-# One case where scanning of H/HPP files is necessary is PCH generation -- if
-# any header included by HPP being precompiled changes, we need to recompile the
-# header.
-type.set-scanner H   : c-scanner ;
-type.set-scanner HPP : c-scanner ;
diff --git a/SRC/Boost/tools/build/v2/tools/types/cpp.py b/SRC/Boost/tools/build/v2/tools/types/cpp.py
deleted file mode 100755
index b6cf9ab..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/cpp.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright David Abrahams 2004. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-from b2.build import type
-
-def register ():
-    type.register_type ('CPP', ['cpp', 'cxx', 'cc'])
-
-register ()
diff --git a/SRC/Boost/tools/build/v2/tools/types/exe.jam b/SRC/Boost/tools/build/v2/tools/types/exe.jam
deleted file mode 100755
index 3a8c92e..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/exe.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright David Abrahams 2004. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import type ;
-
-type.register EXE ;
-type.set-generated-target-suffix EXE : <target-os>windows : "exe" ;
-type.set-generated-target-suffix EXE : <target-os>cygwin : "exe" ;
diff --git a/SRC/Boost/tools/build/v2/tools/types/exe.py b/SRC/Boost/tools/build/v2/tools/types/exe.py
deleted file mode 100755
index 4b5ebfe..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/exe.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright David Abrahams 2004. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-from b2.build import type
-
-def register ():
-    type.register_type ('EXE', ['exe'], None, ['NT', 'CYGWIN'])
-    type.register_type ('EXE', [], None, [])
-
-register ()
diff --git a/SRC/Boost/tools/build/v2/tools/types/html.jam b/SRC/Boost/tools/build/v2/tools/types/html.jam
deleted file mode 100755
index 5c49e4e..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/html.jam
+++ /dev/null
@@ -1,4 +0,0 @@
-# Copyright David Abrahams 2004. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-type HTML : html ;
diff --git a/SRC/Boost/tools/build/v2/tools/types/html.py b/SRC/Boost/tools/build/v2/tools/types/html.py
deleted file mode 100755
index d83c9e2..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/html.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright David Abrahams 2004. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-from b2.build import type
-
-def register ():
-    type.register_type ('HTML', ['html'])
-
-register ()
diff --git a/SRC/Boost/tools/build/v2/tools/types/lib.jam b/SRC/Boost/tools/build/v2/tools/types/lib.jam
deleted file mode 100755
index f40d1c0..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/lib.jam
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright David Abrahams 2004. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import type ; # for set-generated-target-suffix
-import os ;
-
-# The following naming scheme is used for libraries.
-#
-# On *nix:
-#     libxxx.a       static library
-#     libxxx.so      shared library
-#
-# On windows (msvc)
-#     libxxx.lib     static library
-#     xxx.dll        DLL
-#     xxx.lib        import library
-#
-# On windows (mingw):
-#     libxxx.a       static library
-#     libxxx.dll     DLL
-#     libxxx.dll.a   import library
-#
-# On cygwin i.e. <target-os>cygwin
-#     libxxx.a       static library
-#     cygxxx.dll     DLL
-#     libxxx.dll.a   import library
-#
-
-type.register LIB ;
-
-# FIXME: should not register both extensions on both platforms.
-type.register STATIC_LIB : a lib : LIB ;
-
-# The 'lib' prefix is used everywhere
-type.set-generated-target-prefix STATIC_LIB : : lib ;
-
-# Use '.lib' suffix for windows
-type.set-generated-target-suffix STATIC_LIB : <target-os>windows : lib ;
-
-# Except with gcc.
-type.set-generated-target-suffix STATIC_LIB : <toolset>gcc <target-os>windows : a ;
-
-# Use xxx.lib for import libs
-type IMPORT_LIB : : STATIC_LIB ;
-type.set-generated-target-prefix IMPORT_LIB : : "" ;
-type.set-generated-target-suffix IMPORT_LIB : : lib ;
-
-# Except with gcc (mingw or cygwin), where use libxxx.dll.a
-type.set-generated-target-prefix IMPORT_LIB : <toolset>gcc : lib ;
-type.set-generated-target-suffix IMPORT_LIB : <toolset>gcc : dll.a ;
-
-type.register SHARED_LIB : so dll dylib : LIB ;
-
-# Both mingw and cygwin use libxxx.dll naming scheme.
-# On Linux, use "lib" prefix
-type.set-generated-target-prefix SHARED_LIB : : lib ;
-# But don't use it on windows
-type.set-generated-target-prefix SHARED_LIB : <target-os>windows : "" ;
-# But use it again on mingw
-type.set-generated-target-prefix SHARED_LIB : <toolset>gcc <target-os>windows : lib ;
-# And use 'cyg' on cygwin
-type.set-generated-target-prefix SHARED_LIB : <target-os>cygwin : cyg ;
-
-
-type.set-generated-target-suffix SHARED_LIB : <target-os>windows : dll ;
-type.set-generated-target-suffix SHARED_LIB : <target-os>cygwin : dll ;
-type.set-generated-target-suffix SHARED_LIB : <target-os>darwin : dylib ;
-
-type SEARCHED_LIB : : LIB ;
-# This is needed so that when we create a target of SEARCHED_LIB
-# type, there's no prefix or suffix automatically added.
-type.set-generated-target-prefix SEARCHED_LIB : : "" ;
-type.set-generated-target-suffix SEARCHED_LIB : : "" ;
diff --git a/SRC/Boost/tools/build/v2/tools/types/lib.py b/SRC/Boost/tools/build/v2/tools/types/lib.py
deleted file mode 100755
index 877d2d9..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/lib.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# Status: ported
-# Base revision: 64456.
-# Copyright David Abrahams 2004.
-# Copyright Vladimir Prus 2010.
-# Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import b2.build.type as type
-
-# The following naming scheme is used for libraries.
-#
-# On *nix:
-#     libxxx.a       static library
-#     libxxx.so      shared library
-#
-# On windows (msvc)
-#     libxxx.lib     static library
-#     xxx.dll        DLL
-#     xxx.lib        import library
-#
-# On windows (mingw):
-#     libxxx.a       static library
-#     libxxx.dll     DLL
-#     libxxx.dll.a   import library
-#
-# On cygwin i.e. <target-os>cygwin
-#     libxxx.a       static library
-#     cygxxx.dll     DLL
-#     libxxx.dll.a   import library
-#
-
-type.register('LIB')
-
-# FIXME: should not register both extensions on both platforms.
-type.register('STATIC_LIB', ['a', 'lib'], 'LIB')
-
-# The 'lib' prefix is used everywhere
-type.set_generated_target_prefix('STATIC_LIB', [], 'lib')
-
-# Use '.lib' suffix for windows
-type.set_generated_target_suffix('STATIC_LIB', ['<target-os>windows'], 'lib')
-
-# Except with gcc.
-type.set_generated_target_suffix('STATIC_LIB', ['<toolset>gcc', '<target-os>windows'], 'a')
-
-# Use xxx.lib for import libs
-type.register('IMPORT_LIB', [], 'STATIC_LIB')
-type.set_generated_target_prefix('IMPORT_LIB', [], '')
-type.set_generated_target_suffix('IMPORT_LIB', [], 'lib')
-
-# Except with gcc (mingw or cygwin), where use libxxx.dll.a
-type.set_generated_target_prefix('IMPORT_LIB', ['<toolset>gcc'], 'lib')
-type.set_generated_target_suffix('IMPORT_LIB', ['<toolset>gcc'], 'dll.a')
-
-type.register('SHARED_LIB', ['so', 'dll', 'dylib'], 'LIB')
-
-# Both mingw and cygwin use libxxx.dll naming scheme.
-# On Linux, use "lib" prefix
-type.set_generated_target_prefix('SHARED_LIB', [], 'lib')
-# But don't use it on windows
-type.set_generated_target_prefix('SHARED_LIB', ['<target-os>windows'], '')
-# But use it again on mingw
-type.set_generated_target_prefix('SHARED_LIB', ['<toolset>gcc', '<target-os>windows'], 'lib')
-# And use 'cyg' on cygwin
-type.set_generated_target_prefix('SHARED_LIB', ['<target-os>cygwin'], 'cyg')
-
-
-type.set_generated_target_suffix('SHARED_LIB', ['<target-os>windows'], 'dll')
-type.set_generated_target_suffix('SHARED_LIB', ['<target-os>cygwin'], 'dll')
-type.set_generated_target_suffix('SHARED_LIB', ['<target-os>darwin'], 'dylib')
-
-type.register('SEARCHED_LIB', [], 'LIB')
-# This is needed so that when we create a target of SEARCHED_LIB
-# type, there's no prefix or suffix automatically added.
-type.set_generated_target_prefix('SEARCHED_LIB', [], '')
-type.set_generated_target_suffix('SEARCHED_LIB', [], '')
diff --git a/SRC/Boost/tools/build/v2/tools/types/obj.jam b/SRC/Boost/tools/build/v2/tools/types/obj.jam
deleted file mode 100755
index 18276ff..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/obj.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright David Abrahams 2004. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import type ;
-
-type.register OBJ : o obj ;
-type.set-generated-target-suffix OBJ : <target-os>windows : obj ;
-type.set-generated-target-suffix OBJ : <target-os>cygwin : obj ;
diff --git a/SRC/Boost/tools/build/v2/tools/types/obj.py b/SRC/Boost/tools/build/v2/tools/types/obj.py
deleted file mode 100755
index 5b99acf..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/obj.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright David Abrahams 2004. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-from b2.build import type
-
-def register ():
-    type.register_type ('OBJ', ['obj'], None, ['NT', 'CYGWIN'])
-    type.register_type ('OBJ', ['o'])
-
-register ()
diff --git a/SRC/Boost/tools/build/v2/tools/types/objc.jam b/SRC/Boost/tools/build/v2/tools/types/objc.jam
deleted file mode 100755
index 0fa8bdd..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/objc.jam
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright Rene Rivera 2008, 2010.
-# Distributed under the Boost Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-import type ;
-import scanner ;
-import types/cpp ;
-
-class objc-scanner : c-scanner
-{
-    rule __init__ ( includes * )
-    {
-        c-scanner.__init__ $(includes) ;
-    }
-
-    rule pattern ( )
-    {
-        return "#[ \t]*include|import[ ]*(<(.*)>|\"(.*)\")" ;
-    }
-}
-
-scanner.register objc-scanner : include ;
-
-type.register OBJECTIVE_C : m ;
-type.register OBJECTIVE_CPP : mm ;
-type.set-scanner OBJECTIVE_C : objc-scanner ;
-type.set-scanner OBJECTIVE_CPP : objc-scanner ;
diff --git a/SRC/Boost/tools/build/v2/tools/types/preprocessed.jam b/SRC/Boost/tools/build/v2/tools/types/preprocessed.jam
deleted file mode 100755
index be58a95..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/preprocessed.jam
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright Steven Watanabe 2011
-# Distributed under the Boost Software License Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-import type ;
-
-type.register PREPROCESSED_C : i : C ;
-type.register PREPROCESSED_CPP : ii : CPP ;
diff --git a/SRC/Boost/tools/build/v2/tools/types/qt.jam b/SRC/Boost/tools/build/v2/tools/types/qt.jam
deleted file mode 100755
index e8e323f..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/qt.jam
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright Vladimir Prus 2005. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-type UI : ui ;
-type QRC : qrc ;
-type MOCCABLE_CPP ;
-type MOCCABLE_H ;
-# Result of running moc.
-type MOC : moc : H ;
diff --git a/SRC/Boost/tools/build/v2/tools/types/register.jam b/SRC/Boost/tools/build/v2/tools/types/register.jam
deleted file mode 100755
index bd89788..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/register.jam
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright David Abrahams 2004. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-# This module's job is to automatically import all the type
-# registration modules in its directory.
-import type os path modules ;
-
-# Register the given type on the specified OSes, or on remaining OSes
-# if os is not specified.  This rule is injected into each of the type
-# modules for the sake of convenience.
-local rule type ( type : suffixes * : base-type ? : os * )
-{
-    if ! [ type.registered $(type) ]
-    {
-        if ( ! $(os) ) || [ os.name ] in $(os)
-        {
-            type.register $(type) : $(suffixes) : $(base-type) ;
-        }
-    }
-}
-
-.this-module's-file = [ modules.binding $(__name__) ] ;
-.this-module's-dir = [ path.parent $(.this-module's-file) ] ;
-.sibling-jamfiles =  [ path.glob $(.this-module's-dir) : *.jam ] ;
-.sibling-modules = [ MATCH ^(.*)\.jam$ : $(.sibling-jamfiles) ] ;
-
-# A loop over all modules in this directory
-for m in $(.sibling-modules)
-{
-    m = [ path.basename $(m) ] ;
-    m = types/$(m) ;
-    
-    # Inject the type rule into the new module
-    IMPORT $(__name__) : type : $(m) : type ;
-    import $(m) ;
-}
-
-
diff --git a/SRC/Boost/tools/build/v2/tools/types/rsp.jam b/SRC/Boost/tools/build/v2/tools/types/rsp.jam
deleted file mode 100755
index 139a503..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/rsp.jam
+++ /dev/null
@@ -1,4 +0,0 @@
-# Copyright David Abrahams 2004. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-type RSP : rsp ;
diff --git a/SRC/Boost/tools/build/v2/tools/types/rsp.py b/SRC/Boost/tools/build/v2/tools/types/rsp.py
deleted file mode 100755
index 15f095d..0000000
--- a/SRC/Boost/tools/build/v2/tools/types/rsp.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright David Abrahams 2004. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-from b2.build import type
-
-def register ():
-    type.register_type ('RSP', ['rsp'])
-
-register ()
diff --git a/SRC/Boost/tools/build/v2/tools/unix.jam b/SRC/Boost/tools/build/v2/tools/unix.jam
deleted file mode 100755
index 422c64b..0000000
--- a/SRC/Boost/tools/build/v2/tools/unix.jam
+++ /dev/null
@@ -1,224 +0,0 @@
-#  Copyright (c) 2004 Vladimir Prus.
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-#  This file implements linking semantic common to all unixes. On unix, static
-#  libraries must be specified in a fixed order on the linker command line. Generators
-#  declared there store information about the order and use it property.
-
-import feature ;
-import "class" : new ;
-import generators ;
-import type ;
-import set ;
-import order ;
-import builtin ;
-
-class unix-linking-generator : linking-generator
-{
-    import property-set ;
-    import type ;
-    import unix ;
-    
-    rule __init__ ( id 
-        composing ? : # Specify if generator is composing. The generator will be
-        # composing if non-empty string is passed, or parameter is
-        # not given. To make generator non-composing, pass empty
-        # string ("")
-        source-types + : target-types + : 
-        requirements * )
-    {
-        composing ?= true ;
-        generator.__init__ $(id) $(composing) : $(source-types) : $(target-types) :
-          $(requirements) ;
-    }
-    
-    rule run ( project name ? : property-set : sources + )
-    {   
-        local result = [ linking-generator.run $(project) $(name) : $(property-set)
-          : $(sources) ] ;
-        
-        unix.set-library-order $(sources) : $(property-set) : $(result[2-]) ;
-                                
-        return $(result) ;
-    }
-    
-    rule generated-targets ( sources + : property-set : project name ? )
-    {
-        local sources2 ;
-        local libraries ;
-        for local l in $(sources)
-        {
-            if [ type.is-derived [ $(l).type ] LIB ]
-            {
-                libraries += $(l) ;
-            }
-            else
-            {
-                sources2 += $(l) ;
-            }            
-        }
-        
-        sources = $(sources2) [ unix.order-libraries $(libraries) ] ;
-        
-        return [ linking-generator.generated-targets $(sources) : $(property-set)
-          : $(project) $(name) ] ;
-    }
-    
-} 
-
-class unix-archive-generator : archive-generator
-{
-    import unix ; 
-
-    rule __init__ ( id composing ? : source-types + : target-types + : 
-        requirements * )
-    {
-        composing ?= true ;
-        archive-generator.__init__ $(id) $(composing) : $(source-types) : $(target-types) :
-          $(requirements) ;
-    }
-        
-    rule run ( project name ? : property-set : sources + )
-    {                                
-        local result = [ archive-generator.run $(project) $(name) : $(property-set)
-          : $(sources) ] ;
-        
-        unix.set-library-order $(sources) : $(property-set) : $(result[2-]) ;
-        
-        return $(result) ;
-
-    }    
-}
-
-class unix-searched-lib-generator : searched-lib-generator
-{
-    import unix ;
-    rule __init__ ( * : * )
-    { 
-        generator.__init__ 
-          $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-    
-    rule optional-properties ( )
-    {
-        return $(self.requirements) ;
-    }
-              
-    rule run ( project name ? : property-set : sources * )
-    {
-        local result = [ searched-lib-generator.run $(project) $(name) 
-          : $(property-set) : $(sources) ] ;
-        
-        unix.set-library-order $(sources) : $(property-set) : $(result[2-]) ;
-        
-        return $(result) ;
-    }    
-}
-
-class unix-prebuilt-lib-generator : generator
-{
-    import unix ;
-    rule __init__ ( * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-
-    rule run ( project name ? : property-set : sources * )
-    {
-        local f = [ $(property-set).get <file> ] ;
-        unix.set-library-order-aux $(f) : $(sources) ;
-        return $(f) $(sources) ;
-    }    
-}
-
-generators.register 
-  [ new unix-prebuilt-lib-generator unix.prebuilt : : LIB 
-      : <file> <toolset>unix ] ;
-
-generators.override unix.prebuilt : builtin.lib-generator ;
-
-
-# Declare generators
-generators.register [ new unix-linking-generator unix.link : LIB OBJ : EXE 
-    : <toolset>unix ] ;
-
-generators.register [ new unix-archive-generator unix.archive : OBJ : STATIC_LIB 
-    : <toolset>unix ] ;
-
-generators.register [ new unix-linking-generator unix.link.dll : LIB OBJ : SHARED_LIB 
-    : <toolset>unix ] ;
-
-generators.register [ new unix-searched-lib-generator 
-   unix.searched-lib-generator : : SEARCHED_LIB : <toolset>unix ] ;
-
-
-# The derived toolset must specify their own actions.
-actions link {
-}
-
-actions link.dll {
-}
-
-actions archive {    
-}
-
-actions searched-lib-generator {    
-}
-
-actions prebuilt {
-}
-
-    
-
-
-
-.order = [ new order ] ;
-
-rule set-library-order-aux ( from * : to * )
-{        
-    for local f in $(from)
-    {
-        for local t in $(to)
-        {            
-            if $(f) != $(t)
-            {                
-                $(.order).add-pair $(f) $(t) ;
-            }            
-        }        
-    }    
-}
-
-rule set-library-order ( sources * : property-set : result * )
-{
-    local used-libraries ;
-    local deps = [ $(property-set).dependency ] ;        
-    for local l in $(sources) $(deps:G=)        
-    {
-        if [ $(l).type ] && [ type.is-derived [ $(l).type ] LIB ]
-        {
-            used-libraries += $(l) ;
-        }
-    }
-
-    local created-libraries ;
-    for local l in $(result)
-    {
-        if [ $(l).type ] && [ type.is-derived [ $(l).type ] LIB ] 
-        {
-            created-libraries += $(l) ;
-        }            
-    }
-    
-    created-libraries = [ set.difference $(created-libraries) : $(used-libraries) ] ;
-    set-library-order-aux $(created-libraries) : $(used-libraries) ;
-}
-
-rule order-libraries ( libraries * )
-{
-    local r = [ $(.order).order $(libraries) ] ;
-    return $(r) ;
-}
-     
\ No newline at end of file
diff --git a/SRC/Boost/tools/build/v2/tools/unix.py b/SRC/Boost/tools/build/v2/tools/unix.py
deleted file mode 100755
index 6c927fd..0000000
--- a/SRC/Boost/tools/build/v2/tools/unix.py
+++ /dev/null
@@ -1,150 +0,0 @@
-#  Copyright (c) 2004 Vladimir Prus.
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-""" This file implements linking semantics common to all unixes. On unix, static
-    libraries must be specified in a fixed order on the linker command line. Generators
-    declared there store information about the order and use it properly.
-"""
-
-import builtin
-from b2.build import generators, type
-from b2.util.utility import *
-from b2.util import set, sequence
-
-class UnixLinkingGenerator (builtin.LinkingGenerator):
-    
-    def __init__ (self, id, composing, source_types, target_types, requirements):
-        builtin.LinkingGenerator.__init__ (self, id, composing, source_types, target_types, requirements)
-    
-    def run (self, project, name, prop_set, sources):
-        result = builtin.LinkingGenerator.run (self, project, name, prop_set, sources)
-        if result:
-            set_library_order (project.manager (), sources, prop_set, result [1])
-                                
-        return result
-    
-    def generated_targets (self, sources, prop_set, project, name):
-        sources2 = []
-        libraries = []
-        for l in sources:
-            if type.is_derived (l.type (), 'LIB'):
-                libraries.append (l)
-
-            else:
-                sources2.append (l)
-        
-        sources = sources2 + order_libraries (libraries)
-        
-        return builtin.LinkingGenerator.generated_targets (self, sources, prop_set, project, name)
-
-
-class UnixArchiveGenerator (builtin.ArchiveGenerator):
-    def __init__ (self, id, composing, source_types, target_types_and_names, requirements):
-        builtin.ArchiveGenerator.__init__ (self, id, composing, source_types, target_types_and_names, requirements)
-        
-    def run (self, project, name, prop_set, sources):
-        result = builtin.ArchiveGenerator.run(self, project, name, prop_set, sources)
-        set_library_order(project.manager(), sources, prop_set, result)
-        return result
-
-class UnixSearchedLibGenerator (builtin.SearchedLibGenerator):
-    
-    def __init__ (self):
-        builtin.SearchedLibGenerator.__init__ (self)
-    
-    def optional_properties (self):
-        return self.requirements ()
-              
-    def run (self, project, name, prop_set, sources, multiple):
-        result = SearchedLibGenerator.run (project, name, prop_set, sources, multiple)
-        
-        set_library_order (sources, prop_set, result)
-        
-        return result
-
-class UnixPrebuiltLibGenerator (generators.Generator):
-    def __init__ (self, id, composing, source_types, target_types_and_names, requirements):
-        generators.Generator.__init__ (self, id, composing, source_types, target_types_and_names, requirements)
-
-    def run (self, project, name, prop_set, sources, multiple):
-        f = prop_set.get ('<file>')
-        set_library_order_aux (f, sources)
-        return (f, sources)
-
-### # The derived toolset must specify their own rules and actions.
-# FIXME: restore?
-# action.register ('unix.prebuilt', None, None)
-
-
-generators.register (UnixPrebuiltLibGenerator ('unix.prebuilt', False, [], ['LIB'], ['<file>', '<toolset>unix']))
-
-
-
-
-
-### # Declare generators
-### generators.register [ new UnixLinkingGenerator unix.link : LIB OBJ : EXE 
-###     : <toolset>unix ] ;
-generators.register (UnixArchiveGenerator ('unix.archive', True, ['OBJ'], ['STATIC_LIB'], ['<toolset>unix']))
-
-### generators.register [ new UnixLinkingGenerator unix.link.dll : LIB OBJ : SHARED_LIB 
-###     : <toolset>unix ] ;
-### 
-### generators.register [ new UnixSearchedLibGenerator 
-###    unix.SearchedLibGenerator : : SEARCHED_LIB : <toolset>unix ] ;
-### 
-### 
-### # The derived toolset must specify their own actions.
-### actions link {
-### }
-### 
-### actions link.dll {
-### }
-
-def unix_archive (manager, targets, sources, properties):
-    pass
-
-# FIXME: restore?
-#action.register ('unix.archive', unix_archive, [''])
-
-### actions searched-lib-generator {    
-### }
-### 
-### actions prebuilt {
-### }
-
-
-from b2.util.order import Order
-__order = Order ()
-
-def set_library_order_aux (from_libs, to_libs):
-    for f in from_libs:
-        for t in to_libs:
-            if f != t:
-                __order.add_pair (f, t)
-
-def set_library_order (manager, sources, prop_set, result):
-    used_libraries = []
-    deps = prop_set.dependency ()
-
-    sources.extend(d.value() for d in deps)
-    sources = sequence.unique(sources)
-
-    for l in sources:
-        if l.type () and type.is_derived (l.type (), 'LIB'):
-            used_libraries.append (l)
-
-    created_libraries = []
-    for l in result:
-        if l.type () and type.is_derived (l.type (), 'LIB'):
-            created_libraries.append (l)
-    
-    created_libraries = set.difference (created_libraries, used_libraries)
-    set_library_order_aux (created_libraries, used_libraries)
-
-def order_libraries (libraries):
-    return __order.order (libraries)
-     
diff --git a/SRC/Boost/tools/build/v2/tools/vacpp.jam b/SRC/Boost/tools/build/v2/tools/vacpp.jam
deleted file mode 100755
index 33ab88d..0000000
--- a/SRC/Boost/tools/build/v2/tools/vacpp.jam
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright Vladimir Prus 2004.
-# Copyright Toon Knapen 2004.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt
-# or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#
-# Boost.Build V2 toolset for the IBM XL C++ compiler
-#
-
-import toolset : flags ;
-import feature ;
-import common ;
-import generators ;
-import os ;
-
-feature.extend toolset : vacpp ;
-toolset.inherit vacpp : unix ;
-generators.override vacpp.prebuilt : builtin.prebuilt ;
-generators.override vacpp.searched-lib-generator : searched-lib-generator ;
-
-# Configure the vacpp toolset
-rule init ( version ? : command * : options * )
-{
-    local condition = [ 
-        common.check-init-parameters vacpp : version $(version) ] ;
-              
-    command = [ common.get-invocation-command vacpp : xlC
-        : $(command) : "/usr/vacpp/bin/xlC" ] ;
-        
-    common.handle-options vacpp : $(condition) : $(command) : $(options) ;
-}
-
-# Declare generators
-generators.register-c-compiler vacpp.compile.c : C : OBJ : <toolset>vacpp ;
-generators.register-c-compiler vacpp.compile.c++ : CPP : OBJ : <toolset>vacpp ;
-
-# Allow C++ style comments in C files
-flags vacpp CFLAGS : -qcpluscmt ;
-
-# Declare flags
-flags vacpp CFLAGS <optimization>off : -qNOOPTimize ;
-flags vacpp CFLAGS <optimization>speed : -O3 -qstrict ;
-flags vacpp CFLAGS <optimization>space : -O2 -qcompact ;
-
-# Discretionary inlining (not recommended)
-flags vacpp CFLAGS <inlining>off : -qnoinline ;
-flags vacpp CFLAGS <inlining>on : -qinline ;
-#flags vacpp CFLAGS <inlining>full : -qinline ;
-flags vacpp CFLAGS <inlining>full : ;
-
-# Exception handling
-flags vacpp C++FLAGS <exception-handling>off : -qnoeh ;
-flags vacpp C++FLAGS <exception-handling>on : -qeh ;
-
-# Run-time Type Identification
-flags vacpp C++FLAGS <rtti>off : -qnortti ;
-flags vacpp C++FLAGS <rtti>on : -qrtti ;
-
-# Enable 64-bit memory addressing model
-flags vacpp CFLAGS <address-model>64 : -q64 ;
-flags vacpp LINKFLAGS <address-model>64 : -q64 ;
-flags vacpp ARFLAGS <target-os>aix/<address-model>64 : -X 64 ;
-
-# Use absolute path when generating debug information
-flags vacpp CFLAGS <debug-symbols>on : -g -qfullpath ;
-flags vacpp LINKFLAGS <debug-symbols>on : -g -qfullpath ;
-flags vacpp LINKFLAGS <debug-symbols>off : -s ;
-
-if [ os.name ] = AIX
-{
-    flags vacpp.compile C++FLAGS : -qfuncsect ;
-
-    # The -bnoipath strips the prepending (relative) path of libraries from
-    # the loader section in the target library or executable. Hence, during
-    # load-time LIBPATH (identical to LD_LIBRARY_PATH) or a hard-coded
-    # -blibpath (*similar* to -lrpath/-lrpath-link) is searched. Without
-    # this option, the prepending (relative) path + library name is
-    # hard-coded in the loader section, causing *only* this path to be
-    # searched during load-time. Note that the AIX linker does not have an
-    # -soname equivalent, this is as close as it gets.
-    #
-    # The above options are definately for AIX 5.x, and most likely also for
-    # AIX 4.x and AIX 6.x. For details about the AIX linker see:
-    # http://download.boulder.ibm.com/ibmdl/pub/software/dw/aix/es-aix_ll.pdf
-    #
-    flags vacpp.link LINKFLAGS <link>shared : -bnoipath ;
-
-    # Run-time linking
-    flags vacpp.link EXE-LINKFLAGS <link>shared : -brtl ;
-}
-else
-{
-    # Linux PPC
-    flags vacpp.compile CFLAGS <link>shared : -qpic=large ;
-    flags vacpp FINDLIBS : rt ;
-}
-
-# Profiling
-flags vacpp CFLAGS <profiling>on : -pg ;
-flags vacpp LINKFLAGS <profiling>on : -pg ;
-
-flags vacpp.compile OPTIONS <cflags> ;
-flags vacpp.compile.c++ OPTIONS <cxxflags> ;
-flags vacpp DEFINES <define> ;
-flags vacpp UNDEFS <undef> ;
-flags vacpp HDRS <include> ;
-flags vacpp STDHDRS <sysinclude> ;
-flags vacpp.link OPTIONS <linkflags> ;
-flags vacpp ARFLAGS <arflags> ;
-
-flags vacpp LIBPATH <library-path> ;
-flags vacpp NEEDLIBS <library-file> ;
-flags vacpp FINDLIBS <find-shared-library> ;
-flags vacpp FINDLIBS <find-static-library> ;
-
-# Select the compiler name according to the threading model.
-flags vacpp VA_C_COMPILER  <threading>single : xlc   ;
-flags vacpp VA_C_COMPILER  <threading>multi : xlc_r ;
-flags vacpp VA_CXX_COMPILER <threading>single : xlC   ;
-flags vacpp VA_CXX_COMPILER <threading>multi : xlC_r ;
-
-SPACE = " " ;
-
-flags vacpp.link.dll HAVE_SONAME <target-os>linux : "" ;
-
-actions vacpp.link bind NEEDLIBS
-{
-    $(VA_CXX_COMPILER) $(EXE-LINKFLAGS) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(OPTIONS) $(USER_OPTIONS)
-}
-
-actions vacpp.link.dll bind NEEDLIBS
-{
-    xlC_r -G $(LINKFLAGS) -o "$(<[1])" $(HAVE_SONAME)-Wl,-soname$(SPACE)-Wl,$(<[-1]:D=) -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(OPTIONS) $(USER_OPTIONS) 
-}
-
-actions vacpp.compile.c
-{
-    $(VA_C_COMPILER) -c $(OPTIONS) $(USER_OPTIONS) -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
-}
-
-actions vacpp.compile.c++
-{
-    $(VA_CXX_COMPILER) -c $(OPTIONS) $(USER_OPTIONS) -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
-}
-
-actions updated together piecemeal vacpp.archive
-{
-    ar $(ARFLAGS) ru "$(<)" "$(>)"
-}
diff --git a/SRC/Boost/tools/build/v2/tools/whale.jam b/SRC/Boost/tools/build/v2/tools/whale.jam
deleted file mode 100755
index e40565a..0000000
--- a/SRC/Boost/tools/build/v2/tools/whale.jam
+++ /dev/null
@@ -1,116 +0,0 @@
-#  Copyright (C) Vladimir Prus 2002-2005. 
-
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-#  This module implements support for Whale/Dolphin/WD parser/lexer tools. 
-#  See http://www.cs.queensu.ca/home/okhotin/whale/ for details.
-#
-#  There are three interesting target types:
-#  - WHL (the parser sources), that are converted to CPP and H
-#  - DLP (the lexer sources), that are converted to CPP and H
-#  - WD (combined parser/lexer sources), that are converted to WHL + DLP
-
-import type ;
-import generators ;
-import path ;
-import "class" : new ;
-import errors ;
-
-rule init ( path # path the Whale/Dolphin/WD binaries 
-          )
-{
-    if $(.configured) && $(.path) != $(path)
-    {
-        errors.user-error "Attempt to reconfigure Whale support" :
-          "Previously configured with path \"$(.path:E=<empty>)\"" :
-          "Now configuring with path \"$(path:E=<empty>)\"" ;
-
-    }
-    .configured = true ;
-    .path = $(path) ;
-
-    .whale = [ path.join $(path) whale ] ;
-    .dolphin = [ path.join $(path) dolphin ] ;
-    .wd = [ path.join $(path) wd ] ;
-}     
-
-
-# Declare the types.
-type.register WHL : whl ;
-type.register DLP : dlp ;
-type.register WHL_LR0 : lr0 ;
-type.register WD : wd ;
-
-# Declare standard generators.
-generators.register-standard whale.whale : WHL : CPP H H(%_symbols) ;
-generators.register-standard whale.dolphin : DLP : CPP H ;
-generators.register-standard whale.wd : WD : WHL(%_parser) DLP(%_lexer) ;
-
-# The conversions defines above a ambiguious when we generated CPP from WD.
-# We can either go via WHL type, or via DLP type.
-# The following custom generator handles this by running both conversions.
-
-class wd-to-cpp : generator
-{
-    rule __init__ ( * : * : * )
-    {
-        generator.__init__ $(1) : $(2) : $(3) ;
-    }
-    
-    rule run ( project name ? : property-set : source * )
-    {
-        if ! $(source[2])
-        {                
-            local new-sources ;
-            if ! [ $(source).type ] in WHL DLP
-            {            
-                local r1 = [ generators.construct $(project) $(name) 
-                  : WHL : $(property-set) : $(source) ] ;
-                local r2 = [ generators.construct $(project) $(name) 
-                  : DLP : $(property-set) : $(source) ] ;
-                
-                new-sources = [ sequence.unique $(r1[2-]) $(r2[2-]) ] ;
-            }
-            else
-            {
-                new-sources = $(source) ;
-            }
-            
-            local result ;
-            for local i in $(new-sources) 
-            {
-                local t = [ generators.construct $(project) $(name) : CPP 
-                  : $(property-set) : $(i) ] ;          
-                result += $(t[2-]) ;
-            }
-            return $(result) ;
-        }        
-    }
-    
-}
-
-
-generators.override whale.wd-to-cpp : whale.whale ;
-generators.override whale.wd-to-cpp : whale.dolphin ;
-
-
-generators.register [ new wd-to-cpp whale.wd-to-cpp : : CPP ] ;
-
-
-actions whale 
-{
-    $(.whale) -d $(<[1]:D) $(>)      
-}
-
-actions dolphin
-{    
-    $(.dolphin) -d $(<[1]:D) $(>)
-}
-
-actions wd
-{    
-    $(.wd) -d $(<[1]:D) -g $(>)
-}
-
diff --git a/SRC/Boost/tools/build/v2/tools/xlf.jam b/SRC/Boost/tools/build/v2/tools/xlf.jam
deleted file mode 100755
index 73e48de..0000000
--- a/SRC/Boost/tools/build/v2/tools/xlf.jam
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (C) 2004 Toon Knapen
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-#
-# toolset configuration for the IBM Fortran compiler (xlf)
-# 
-
-import toolset : flags ;
-import feature ;
-import fortran ;
-
-rule init ( version ? : command * : options * )
-{
-}
-
-# Declare flags and action for compilation
-flags xlf OPTIONS <optimization>off : -O0 ;
-flags xlf OPTIONS <optimization>speed : -O3 ;
-flags xlf OPTIONS <optimization>space : -Os ;
-
-flags xlf OPTIONS <debug-symbols>on : -g ;
-flags xlf OPTIONS <profiling>on : -pg ;
-
-flags xlf DEFINES <define> ;
-flags xlf INCLUDES <include> ;
-
-rule compile-fortran
-{
-}
-
-actions compile-fortran
-{
-  xlf $(OPTIONS) -I$(INCLUDES) -c -o "$(<)" "$(>)" 
-}
-
-generators.register-fortran-compiler xlf.compile-fortran : FORTRAN : OBJ ; 
diff --git a/SRC/Boost/tools/build/v2/tools/xsltproc-config.jam b/SRC/Boost/tools/build/v2/tools/xsltproc-config.jam
deleted file mode 100755
index 2d00099..0000000
--- a/SRC/Boost/tools/build/v2/tools/xsltproc-config.jam
+++ /dev/null
@@ -1,37 +0,0 @@
-#~ Copyright 2005 Rene Rivera.
-#~ Distributed under the Boost Software License, Version 1.0.
-#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Automatic configuration for Python tools and librries. To use, just import this module.
-
-import os ;
-import toolset : using ;
-
-if [ os.name ] = NT
-{
-    local xsltproc-path = [ GLOB [ modules.peek : PATH ] "C:\\Boost\\bin" : xsltproc\.exe ] ;
-    xsltproc-path = $(xsltproc-path[1]) ;
-    
-    if $(xsltproc-path)
-    {
-        if --debug-configuration in [ modules.peek : ARGV ]
-        {
-            ECHO "notice:" using xsltproc ":" $(xsltproc-path) ;
-        }
-        using xsltproc : $(xsltproc-path) ;
-    }
-}
-else
-{
-    local xsltproc-path = [ GLOB [ modules.peek : PATH ] : xsltproc ] ;
-    xsltproc-path = $(xsltproc-path[1]) ;
-    
-    if $(xsltproc-path)
-    {
-        if --debug-configuration in [ modules.peek : ARGV ]
-        {
-            ECHO "notice:" using xsltproc ":" $(xsltproc-path) ;
-        }
-        using xsltproc : $(xsltproc-path) ;
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/tools/xsltproc.jam b/SRC/Boost/tools/build/v2/tools/xsltproc.jam
deleted file mode 100755
index d1ce87e..0000000
--- a/SRC/Boost/tools/build/v2/tools/xsltproc.jam
+++ /dev/null
@@ -1,194 +0,0 @@
-# Copyright (C) 2003 Doug Gregor. Permission to copy, use, modify, sell and
-# distribute this software is granted provided this copyright notice appears in
-# all copies. This software is provided "as is" without express or implied
-# warranty, and with no claim as to its suitability for any purpose.
-
-# This module defines rules to apply an XSLT stylesheet to an XML file using the
-# xsltproc driver, part of libxslt.
-#
-# Note: except for 'init', this modules does not provide any rules for end
-# users.
-
-import feature ;
-import regex ;
-import sequence ;
-import common ;
-import os ;
-import modules ;
-import path ;
-import errors ;
-
-feature.feature xsl:param : : free ;
-feature.feature xsl:path : : free ;
-feature.feature catalog : : free ;
-
-
-# Initialize xsltproc support. The parameters are:
-#   xsltproc: The xsltproc executable
-#
-rule init ( xsltproc ? )
-{
-    if $(xsltproc)
-    {
-        modify-config ;
-        .xsltproc = $(xsltproc) ;
-        check-xsltproc ;
-    }
-}
-
-rule freeze-config ( )
-{
-    if ! $(.config-frozen)
-    {
-        .config-frozen = true ;
-        .xsltproc ?= [ modules.peek : XSLTPROC ] ;
-        .xsltproc ?= xsltproc ;
-        check-xsltproc ;
-        .is-cygwin = [ .is-cygwin $(.xsltproc) ] ;
-    }
-}
-
-rule modify-config
-{
-    if $(.config-frozen)
-    {
-        errors.user-error "xsltproc: Cannot change xsltproc command after it has been used." ;
-    }
-}
-
-rule check-xsltproc ( )
-{
-    if $(.xsltproc)
-    {
-        local status = [ SHELL "\"$(.xsltproc)\" -V" : no-output : exit-status ] ;
-        if $(status[2]) != "0"
-        {
-            errors.user-error "xsltproc: Could not run \"$(.xsltproc)\" -V." ;
-        }
-    }
-}
-
-# Returns a non-empty string if a cygwin xsltproc binary was specified.
-rule is-cygwin ( )
-{
-    freeze-config ;
-    return $(.is-cygwin) ;
-}
-
-rule .is-cygwin ( xsltproc )
-{
-    if [ os.on-windows ]
-    {
-        local file = [ path.make [ modules.binding $(__name__) ] ] ;
-        local dir = [ path.native
-                      [ path.join [ path.parent $(file) ] xsltproc ] ] ;
-        if [ os.name ] = CYGWIN
-        {
-            dir = $(dir:W) ;
-        }
-        local command =
-            "\"$(xsltproc)\" \"$(dir)\\test.xsl\" \"$(dir)\\test.xml\" 2>&1" ;
-        local status = [ SHELL $(command) : no-output : exit-status ] ;
-        if $(status[2]) != "0"
-        {
-            return true ;
-        }
-    }
-}
-
-rule compute-xslt-flags ( target : properties * )
-{
-    local flags ;
-
-    # Raw flags.
-    flags += [ feature.get-values <flags> : $(properties) ] ;
-
-    # Translate <xsl:param> into command line flags.
-    for local param in [ feature.get-values <xsl:param> : $(properties) ]
-    {
-        local namevalue = [ regex.split $(param) "=" ] ;
-        flags += --stringparam $(namevalue[1]) \"$(namevalue[2])\" ;
-    }
-
-    # Translate <xsl:path>.
-    for local path in [ feature.get-values <xsl:path> : $(properties) ]
-    {
-        flags += --path \"$(path:G=)\" ;
-    }
-
-    # Take care of implicit dependencies.
-    local other-deps ;
-    for local dep in [ feature.get-values <implicit-dependency> : $(properties) ]
-    {
-        other-deps += [ $(dep:G=).creating-subvariant ] ;
-    }
-
-    local implicit-target-directories ;
-    for local dep in [ sequence.unique $(other-deps) ]
-    {
-        implicit-target-directories += [ $(dep).all-target-directories ] ;
-    }
-
-    for local dir in $(implicit-target-directories)
-    {
-        flags += --path \"$(dir:T)\" ;
-    }
-
-    return $(flags) ;
-}
-
-
-local rule .xsltproc ( target : source stylesheet : properties * : dirname ? : action )
-{
-    freeze-config ;
-    STYLESHEET on $(target) = $(stylesheet) ;
-    FLAGS on $(target) += [ compute-xslt-flags $(target) : $(properties) ] ;
-    NAME on $(target) = $(.xsltproc) ;
-
-    for local catalog in [ feature.get-values <catalog> : $(properties) ]
-    {
-        CATALOG = [ common.variable-setting-command XML_CATALOG_FILES : $(catalog:T) ] ;
-    }
-
-    if [ os.on-windows ] && ! [ is-cygwin ]
-    {
-        action = $(action).windows ;
-    }
-
-    $(action) $(target) : $(source) ;
-}
-
-
-rule xslt ( target : source stylesheet : properties * )
-{
-    return [ .xsltproc $(target) : $(source) $(stylesheet) : $(properties) : : xslt-xsltproc ] ;
-}
-
-
-rule xslt-dir ( target : source stylesheet : properties * : dirname )
-{
-    return [ .xsltproc $(target) : $(source) $(stylesheet) : $(properties) : $(dirname) : xslt-xsltproc-dir ] ;
-}
-
-actions xslt-xsltproc.windows
-{
-    $(CATALOG) "$(NAME:E=xsltproc)" $(FLAGS) --xinclude -o "$(<)" "$(STYLESHEET:W)" "$(>:W)"
-}
-
-
-actions xslt-xsltproc bind STYLESHEET
-{
-    $(CATALOG) "$(NAME:E=xsltproc)" $(FLAGS) --xinclude -o "$(<)" "$(STYLESHEET:T)" "$(>:T)"
-}
-
-
-actions xslt-xsltproc-dir.windows bind STYLESHEET
-{
-    $(CATALOG) "$(NAME:E=xsltproc)" $(FLAGS) --xinclude -o "$(<:D)/" "$(STYLESHEET:W)" "$(>:W)"
-}
-
-
-actions xslt-xsltproc-dir bind STYLESHEET
-{
-    $(CATALOG) "$(NAME:E=xsltproc)" $(FLAGS) --xinclude -o "$(<:D)/" "$(STYLESHEET:T)" "$(>:T)"
-}
diff --git a/SRC/Boost/tools/build/v2/tools/xsltproc/included.xsl b/SRC/Boost/tools/build/v2/tools/xsltproc/included.xsl
deleted file mode 100755
index 5750cff..0000000
--- a/SRC/Boost/tools/build/v2/tools/xsltproc/included.xsl
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-   Copyright (c) 2010 Steven Watanabe
-  
-   Distributed under the Boost Software License, Version 1.0.
-   (See accompanying file LICENSE_1_0.txt or copy at
-   http://www.boost.org/LICENSE_1_0.txt)
-  -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0">
-</xsl:stylesheet>
diff --git a/SRC/Boost/tools/build/v2/tools/xsltproc/test.xml b/SRC/Boost/tools/build/v2/tools/xsltproc/test.xml
deleted file mode 100755
index 972e887..0000000
--- a/SRC/Boost/tools/build/v2/tools/xsltproc/test.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root/>
diff --git a/SRC/Boost/tools/build/v2/tools/xsltproc/test.xsl b/SRC/Boost/tools/build/v2/tools/xsltproc/test.xsl
deleted file mode 100755
index 0ec1e78..0000000
--- a/SRC/Boost/tools/build/v2/tools/xsltproc/test.xsl
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-   Copyright (c) 2010 Steven Watanabe
-  
-   Distributed under the Boost Software License, Version 1.0.
-   (See accompanying file LICENSE_1_0.txt or copy at
-   http://www.boost.org/LICENSE_1_0.txt)
-  -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0">
-  <xsl:include href="included.xsl"/>
-</xsl:stylesheet>
diff --git a/SRC/Boost/tools/build/v2/tools/zlib.jam b/SRC/Boost/tools/build/v2/tools/zlib.jam
deleted file mode 100755
index 094d63f..0000000
--- a/SRC/Boost/tools/build/v2/tools/zlib.jam
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright (c) 2010 Vladimir Prus.
-#
-# Use, modification and distribution is subject to the Boost Software
-# License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Supports the zlib library
-#
-# After 'using zlib', the following targets are available:
-#
-# /zlib//zlib -- The zlib library
-
-
-# In addition to direct purpose of supporting zlib, this module also
-# serves as canonical example of how third-party condiguration works
-# in Boost.Build. The operation is as follows
-#
-# - For each 'using zlib : condition ... : ...' we create a target alternative
-#   for zlib, with the specified condition.
-# - There's one target alternative for 'zlib' with no specific condition
-#   properties. 
-#
-# Two invocations of 'using zlib' with the same condition but different
-# properties are not permitted, e.g.:
-#
-#   using zlib : condition <target-os>windows : include foo ;
-#   using zlib : condition <target-os>windows : include bar ;
-#
-# is in error. One exception is for empty condition, 'using' without any
-# parameters is overridable. That is:
-#
-#   using zlib ;
-#   using zlib : include foo ;
-# 
-# Is OK then the first 'using' is ignored. Likewise if the order of the statements
-# is reversed.
-#
-# When 'zlib' target is built, a target alternative is selected as usual for
-# Boost.Build. The selected alternative is a custom target class, which:
-#
-# - calls ac.find-include-path to find header path. If explicit path is provided
-#   in 'using', only that path is checked, and if no header is found there, error
-#   is emitted. Otherwise, we check a directory specified using ZLIB_INCLUDE
-#   environment variable, and failing that, in standard directories.
-#   [TODO: document sysroot handling]
-# - calls ac.find-library to find the library, in an identical fashion.
-#
-
-import project ;
-import ac ;
-import errors ;
-import "class" : new ;
-import targets ; 
-
-project.initialize $(__name__) ;
-project = [ project.current ] ;
-project zlib ;
-
-header = zlib.h ;
-names = z zlib zll zdll ;
-
-.default-alternative = [ new ac-library zlib : $(project) ] ;
-$(.default-alternative).set-header $(header) ;
-$(.default-alternative).set-default-names $(names) ;
-targets.main-target-alternative $(.default-alternative) ;
-
-rule init ( * : * )
-{
-    if ! $(condition)
-    {
-        # Special case the no-condition case so that 'using' without parameters
-        # can mix with more specific 'using'.
-        $(.default-alternative).reconfigure $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ;
-    }
-    else                    
-    {
-        # FIXME: consider if we should allow overriding definitions for a given
-        # condition -- e.g. project-config.jam might want to override whatever is
-        # in user-config.jam. 
-        local mt = [ new ac-library zlib : $(project)
-          : $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ] ;
-        $(mt).set-header $(header) ;
-        $(mt).set-default-names $(names) ;
-        targets.main-target-alternative $(mt) ;
-    }    
-}
-
-
-
-
-
-
diff --git a/SRC/Boost/tools/build/v2/user-config.jam b/SRC/Boost/tools/build/v2/user-config.jam
deleted file mode 100755
index aa5e256..0000000
--- a/SRC/Boost/tools/build/v2/user-config.jam
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2003, 2005 Douglas Gregor
-# Copyright 2004 John Maddock
-# Copyright 2002, 2003, 2004, 2007 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-#   This file is used to configure your Boost.Build installation. You can modify
-# this file in place, or you can place it in a permanent location so that it
-# does not get overwritten should you get a new version of Boost.Build. See:
-#
-#   http://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html
-#
-# for documentation about possible permanent locations.
-
-#   This file specifies which toolsets (C++ compilers), libraries, and other
-# tools are available. Often, you should be able to just uncomment existing
-# example lines and adjust them to taste. The complete list of supported tools,
-# and configuration instructions can be found at:
-#
-#   http://boost.org/boost-build2/doc/html/bbv2/reference/tools.html
-#
-
-#   This file uses Jam language syntax to describe available tools. Mostly,
-# there are 'using' lines, that contain the name of the used tools, and
-# parameters to pass to those tools -- where paremeters are separated by
-# semicolons. Important syntax notes:
-#
-#   - Both ':' and ';' must be separated from other tokens by whitespace
-#   - The '\' symbol is a quote character, so when specifying Windows paths you
-#     should use '/' or '\\' instead.
-#
-# More details about the syntax can be found at:
-#
-#   http://boost.org/boost-build2/doc/html/bbv2/advanced.html#bbv2.advanced.jam_language
-#
-
-# ------------------
-# GCC configuration.
-# ------------------
-
-# Configure gcc (default version).
-# using gcc ;
-
-# Configure specific gcc version, giving alternative name to use.
-# using gcc : 3.2 : g++-3.2 ;
-
-
-# -------------------
-# MSVC configuration.
-# -------------------
-
-# Configure msvc (default version, searched for in standard locations and PATH).
-# using msvc ;
-
-# Configure specific msvc version (searched for in standard locations and PATH).
-# using msvc : 8.0 ;
-
-
-# ----------------------
-# Borland configuration.
-# ----------------------
-# using borland ;
-
-
-# ----------------------
-# STLPort configuration.
-# ----------------------
-
-#   Configure specifying location of STLPort headers. Libraries must be either
-# not needed or available to the compiler by default.
-# using stlport : : /usr/include/stlport ;
-
-# Configure specifying location of both headers and libraries explicitly.
-# using stlport : : /usr/include/stlport /usr/lib ;
-
-
-# -----------------
-# QT configuration.
-# -----------------
-
-# Configure assuming QTDIR gives the installation prefix.
-# using qt ;
-
-# Configure with an explicit installation prefix.
-# using qt : /usr/opt/qt ;
-
-# ---------------------
-# Python configuration.
-# ---------------------
-
-# Configure specific Python version.
-# using python : 3.1 : /usr/bin/python3 : /usr/include/python3.1 : /usr/lib ;
diff --git a/SRC/Boost/tools/build/v2/util/__init__.py b/SRC/Boost/tools/build/v2/util/__init__.py
deleted file mode 100755
index 4dee7a7..0000000
--- a/SRC/Boost/tools/build/v2/util/__init__.py
+++ /dev/null
@@ -1,136 +0,0 @@
-
-import bjam
-import re
-import types
-
-# Decorator the specifies bjam-side prototype for a Python function
-def bjam_signature(s):
-
-    def wrap(f):       
-        f.bjam_signature = s
-        return f
-
-    return wrap
-
-def metatarget(f):
-
-    f.bjam_signature = (["name"], ["sources", "*"], ["requirements", "*"],
-                        ["default_build", "*"], ["usage_requirements", "*"])
-    return f
-
-class cached(object):
-
-    def __init__(self, function):
-        self.function = function
-        self.cache = {}
-
-    def __call__(self, *args):
-        try:
-            return self.cache[args]
-        except KeyError:
-            v = self.function(*args)
-            self.cache[args] = v
-            return v
-
-    def __get__(self, instance, type):
-        return types.MethodType(self, instance, type)
-
-def unquote(s):
-    if s and s[0] == '"' and s[-1] == '"':
-        return s[1:-1]
-    else:
-        return s
-
-_extract_jamfile_and_rule = re.compile("(Jamfile<.*>)%(.*)")
-
-def qualify_jam_action(action_name, context_module):
-
-    if action_name.startswith("###"):
-        # Callable exported from Python. Don't touch
-        return action_name
-    elif _extract_jamfile_and_rule.match(action_name):
-        # Rule is already in indirect format
-        return action_name
-    else:
-        ix = action_name.find('.')
-        if ix != -1 and action_name[:ix] == context_module:
-            return context_module + '%' + action_name[ix+1:]
-        
-        return context_module + '%' + action_name        
-    
-
-def set_jam_action(name, *args):
-
-    m = _extract_jamfile_and_rule.match(name)
-    if m:
-        args = ("set-update-action-in-module", m.group(1), m.group(2)) + args
-    else:
-        args = ("set-update-action", name) + args
-
-    return bjam.call(*args)
-
-
-def call_jam_function(name, *args):
-
-    m = _extract_jamfile_and_rule.match(name)
-    if m:
-        args = ("call-in-module", m.group(1), m.group(2)) + args
-        return bjam.call(*args)
-    else:
-        return bjam.call(*((name,) + args))
-
-__value_id = 0
-__python_to_jam = {}
-__jam_to_python = {}
-
-def value_to_jam(value, methods=False):
-    """Makes a token to refer to a Python value inside Jam language code.
-
-    The token is merely a string that can be passed around in Jam code and
-    eventually passed back. For example, we might want to pass PropertySet
-    instance to a tag function and it might eventually call back
-    to virtual_target.add_suffix_and_prefix, passing the same instance.
-
-    For values that are classes, we'll also make class methods callable
-    from Jam.
-
-    Note that this is necessary to make a bit more of existing Jamfiles work.
-    This trick should not be used to much, or else the performance benefits of
-    Python port will be eaten.
-    """
-
-    global __value_id
-
-    r = __python_to_jam.get(value, None)
-    if r:
-        return r
-
-    exported_name = '###_' + str(__value_id)
-    __value_id = __value_id + 1
-    __python_to_jam[value] = exported_name
-    __jam_to_python[exported_name] = value
-
-    if methods and type(value) == types.InstanceType:
-        for field_name in dir(value):
-            field = getattr(value, field_name)
-            if callable(field) and not field_name.startswith("__"):
-                bjam.import_rule("", exported_name + "." + field_name, field)
-
-    return exported_name
-
-def record_jam_to_value_mapping(jam_value, python_value):
-    __jam_to_python[jam_value] = python_value
-
-def jam_to_value_maybe(jam_value):
-
-    if type(jam_value) == type(""):
-        return __jam_to_python.get(jam_value, jam_value)
-    else:
-        return jam_value
-
-def stem(filename):
-    i = filename.find('.')
-    if i != -1:
-        return filename[0:i]
-    else:
-        return filename
diff --git a/SRC/Boost/tools/build/v2/util/assert.jam b/SRC/Boost/tools/build/v2/util/assert.jam
deleted file mode 100755
index dd90314..0000000
--- a/SRC/Boost/tools/build/v2/util/assert.jam
+++ /dev/null
@@ -1,336 +0,0 @@
-# Copyright 2001, 2002, 2003 Dave Abrahams
-# Copyright 2006 Rene Rivera
-# Copyright 2002, 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import errors ;
-import modules ;
-
-
-################################################################################
-#
-# Private implementation details.
-#
-################################################################################
-
-# Rule added as a replacement for the regular Jam = operator but which does not
-# ignore trailing empty string elements.
-#
-local rule exact-equal-test ( lhs * : rhs * )
-{
-    local lhs_extended = $(lhs) xxx ;
-    local rhs_extended = $(rhs) xxx ;
-    if $(lhs_extended) = $(rhs_extended)
-    {
-        return true ;
-    }
-}
-
-
-# Two lists are considered set-equal if they contain the same elements, ignoring
-# duplicates and ordering.
-#
-local rule set-equal-test ( set1 * : set2 * )
-{
-    if ( $(set1) in $(set2) ) && ( $(set2) in $(set1) )
-    {
-        return true ;
-    }
-}
-
-
-################################################################################
-#
-# Public interface.
-#
-################################################################################
-
-# Assert the equality of A and B, ignoring trailing empty string elements.
-#
-rule equal ( a * : b * )
-{
-    if $(a) != $(b)
-    {
-        errors.error-skip-frames 3 assertion failure: \"$(a)\" "==" \"$(b)\"
-            (ignoring trailing empty strings) ;
-    }
-}
-
-
-# Assert that the result of calling RULE-NAME on the given arguments has a false
-# logical value (is either an empty list or all empty strings).
-#
-rule false ( rule-name args * : * )
-{
-    local result ;
-    module [ CALLER_MODULE ]
-    {
-        modules.poke assert : result : [ $(1) : $(2) : $(3) : $(4) : $(5) : $(6)
-            : $(7) : $(8) : $(9) ] ;
-    }
-
-    if $(result)
-    {
-        errors.error-skip-frames 3 assertion failure: Expected false result from
-            "[" $(rule-name) [ errors.lol->list $(args) : $(2) : $(3) : $(4) :
-            $(5) : $(6) : $(7) : $(8) : $(9) ] "]" : Got: "[" \"$(result)\" "]" ;
-    }
-}
-
-
-# Assert that ELEMENT is present in LIST.
-#
-rule "in" ( element : list * )
-{
-    if ! $(element) in $(list)
-    {
-        errors.error-skip-frames 3 assertion failure: Expected \"$(element)\" in
-            "[" \"$(list)\" "]" ;
-    }
-}
-
-
-# Assert the inequality of A and B, ignoring trailing empty string elements.
-#
-rule not-equal ( a * : b * )
-{
-    if $(a) = $(b)
-    {
-        errors.error-skip-frames 3 assertion failure: \"$(a)\" "!=" \"$(b)\"
-            (ignoring trailing empty strings) ;
-    }
-}
-
-
-# Assert that ELEMENT is not present in LIST.
-#
-rule not-in ( element : list * )
-{
-    if $(element) in $(list)
-    {
-        errors.error-skip-frames 3 assertion failure: Did not expect
-            \"$(element)\" in "[" \"$(list)\" "]" ;
-    }
-}
-
-
-# Assert the inequality of A and B as sets.
-#
-rule not-set-equal ( a * : b * )
-{
-    if [ set-equal-test $(a) : $(b) ]
-    {
-        errors.error-skip-frames 3 assertion failure: Expected "[" \"$(a)\" "]"
-            and "[" \"$(b)\" "]" to not be equal as sets ;
-    }
-}
-
-
-# Assert that A and B are not exactly equal, not ignoring trailing empty string
-# elements.
-#
-rule not-exact-equal ( a * : b * )
-{
-    if [ exact-equal-test $(a) : $(b) ]
-    {
-        errors.error-skip-frames 3 assertion failure: \"$(a)\" "!=" \"$(b)\" ;
-    }
-}
-
-
-# Assert that EXPECTED is the result of calling RULE-NAME with the given
-# arguments.
-#
-rule result ( expected * : rule-name args * : * )
-{
-    local result ;
-    module [ CALLER_MODULE ]
-    {
-        modules.poke assert : result : [ $(2) : $(3) : $(4) : $(5) : $(6) : $(7)
-            : $(8) : $(9) ] ;
-    }
-
-    if ! [ exact-equal-test $(result) : $(expected) ]
-    {
-        errors.error-skip-frames 3 assertion failure: "[" $(rule-name) [
-            errors.lol->list $(args) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) :
-            $(9) ] "]" : Expected: "[" \"$(expected)\" "]" : Got: "["
-            \"$(result)\" "]" ;
-    }
-}
-
-
-# Assert that EXPECTED is set-equal (i.e. duplicates and ordering are ignored)
-# to the result of calling RULE-NAME with the given arguments. Note that rules
-# called this way may accept at most 8 parameters.
-#
-rule result-set-equal ( expected * : rule-name args * : * )
-{
-    local result ;
-    module [ CALLER_MODULE ]
-    {
-        modules.poke assert : result : [ $(2) : $(3) : $(4) : $(5) : $(6) : $(7)
-            : $(8) : $(9) ] ;
-    }
-
-    if ! [ set-equal-test $(result) : $(expected) ]
-    {
-        errors.error-skip-frames 3 assertion failure: "[" $(rule-name) [
-            errors.lol->list $(args) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) :
-            $(9) ] "]" : Expected: "[" \"$(expected)\" "]" : Got: "["
-            \"$(result)\" "]" ;
-    }
-}
-
-
-# Assert the equality of A and B as sets.
-#
-rule set-equal ( a * : b * )
-{
-    if ! [ set-equal-test $(a) : $(b) ]
-    {
-        errors.error-skip-frames 3 assertion failure: Expected "[" \"$(a)\" "]"
-            and "[" \"$(b)\" "]" to be equal as sets ;
-    }
-}
-
-
-# Assert that the result of calling RULE-NAME on the given arguments has a true
-# logical value (is neither an empty list nor all empty strings).
-#
-rule true ( rule-name args * : * )
-{
-    local result ;
-    module [ CALLER_MODULE ]
-    {
-        modules.poke assert : result : [ $(1) : $(2) : $(3) : $(4) : $(5) : $(6)
-            : $(7) : $(8) : $(9) ] ;
-    }
-
-    if ! $(result)
-    {
-        errors.error-skip-frames 3 assertion failure: Expected true result from
-            "[" $(rule-name) [ errors.lol->list $(args) : $(2) : $(3) : $(4) :
-            $(5) : $(6) : $(7) : $(8) : $(9) ] "]" ;
-    }
-}
-
-
-# Assert the exact equality of A and B, not ignoring trailing empty string
-# elements.
-#
-rule exact-equal ( a * : b * )
-{
-    if ! [ exact-equal-test $(a) : $(b) ]
-    {
-        errors.error-skip-frames 3 assertion failure: \"$(a)\" "==" \"$(b)\" ;
-    }
-}
-
-
-# Assert that the given variable is not an empty list.
-#
-rule variable-not-empty ( name )
-{
-    local value = [ modules.peek [ CALLER_MODULE ] : $(name) ] ;
-    if ! $(value)-is-not-empty
-    {
-        errors.error-skip-frames 3 assertion failure: Expected variable
-            \"$(name)\" not to be an empty list ;
-    }
-}
-
-
-rule __test__ ( )
-{
-    # Helper rule used to avoid test duplication related to different list
-    # equality test rules.
-    #
-    local rule run-equality-test ( equality-assert : ignore-trailing-empty-strings ? )
-    {
-        local not-equality-assert = not-$(equality-assert) ;
-
-        # When the given equality test is expected to ignore trailing empty
-        # strings some of the test results should be inverted.
-        local not-equality-assert-i = not-$(equality-assert) ;
-        if $(ignore-trailing-empty-strings)
-        {
-            not-equality-assert-i = $(equality-assert) ;
-        }
-
-            $(equality-assert)         :       ;
-            $(equality-assert)   "" "" : "" "" ;
-        $(not-equality-assert-i)       : "" "" ;
-            $(equality-assert)   x     : x     ;
-        $(not-equality-assert)         : x     ;
-        $(not-equality-assert)   ""    : x     ;
-        $(not-equality-assert)   "" "" : x     ;
-        $(not-equality-assert-i) x     : x ""  ;
-            $(equality-assert)   x ""  : x ""  ;
-        $(not-equality-assert)   x     : "" x  ;
-            $(equality-assert)   "" x  : "" x  ;
-
-            $(equality-assert) 1 2 3 : 1 2 3   ;
-        $(not-equality-assert) 1 2 3 : 3 2 1   ;
-        $(not-equality-assert) 1 2 3 : 1 5 3   ;
-        $(not-equality-assert) 1 2 3 : 1 "" 3  ;
-        $(not-equality-assert) 1 2 3 : 1 1 2 3 ;
-        $(not-equality-assert) 1 2 3 : 1 2 2 3 ;
-        $(not-equality-assert) 1 2 3 : 5 6 7   ;
-
-        # Extra variables used here just to make sure Boost Jam or Boost Build
-        # do not handle lists with empty strings differently depending on
-        # whether they are literals or stored in variables.
-
-        local empty           =         ;
-        local empty-strings   = "" ""   ;
-        local x-empty-strings = x "" "" ;
-        local empty-strings-x = "" "" x ;
-
-            $(equality-assert)                      : $(empty)           ;
-        $(not-equality-assert-i) ""                 : $(empty)           ;
-        $(not-equality-assert-i) "" ""              : $(empty)           ;
-        $(not-equality-assert-i)                    : $(empty-strings)   ;
-        $(not-equality-assert-i) ""                 : $(empty-strings)   ;
-            $(equality-assert)   "" ""              : $(empty-strings)   ;
-            $(equality-assert)   $(empty)           : $(empty)           ;
-            $(equality-assert)   $(empty-strings)   : $(empty-strings)   ;
-        $(not-equality-assert-i) $(empty)           : $(empty-strings)   ;
-            $(equality-assert)   $(x-empty-strings) : $(x-empty-strings) ;
-            $(equality-assert)   $(empty-strings-x) : $(empty-strings-x) ;
-        $(not-equality-assert)   $(empty-strings-x) : $(x-empty-strings) ;
-        $(not-equality-assert-i) x                  : $(x-empty-strings) ;
-        $(not-equality-assert)   x                  : $(empty-strings-x) ;
-        $(not-equality-assert-i) x                  : $(x-empty-strings) ;
-        $(not-equality-assert-i) x ""               : $(x-empty-strings) ;
-            $(equality-assert)   x "" ""            : $(x-empty-strings) ;
-        $(not-equality-assert)   x                  : $(empty-strings-x) ;
-        $(not-equality-assert)   "" x               : $(empty-strings-x) ;
-            $(equality-assert)   "" "" x            : $(empty-strings-x) ;
-    }                                    
-
-
-    # ---------------
-    # Equality tests.
-    # ---------------
-
-    run-equality-test equal : ignore-trailing-empty-strings ;
-    run-equality-test exact-equal ;
-
-
-    # -------------------------
-    # assert.set-equal() tests.
-    # -------------------------
-
-        set-equal         :         ;
-    not-set-equal "" ""   :         ;
-        set-equal "" ""   : ""      ;
-        set-equal "" ""   : "" ""   ;
-        set-equal a b c   : a b c   ;
-        set-equal a b c   : b c a   ;
-        set-equal a b c a : a b c   ;
-        set-equal a b c   : a b c a ;
-    not-set-equal a b c   : a b c d ;
-    not-set-equal a b c d : a b c   ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/container.jam b/SRC/Boost/tools/build/v2/util/container.jam
deleted file mode 100755
index 5bee1e3..0000000
--- a/SRC/Boost/tools/build/v2/util/container.jam
+++ /dev/null
@@ -1,339 +0,0 @@
-# Copyright 2003 Dave Abrahams
-# Copyright 2002, 2003 Rene Rivera
-# Copyright 2002, 2003, 2004 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Various container classes.
-
-# Base for container objects. This lets us construct recursive structures. That
-# is containers with containers in them, specifically so we can tell literal
-# values from node values.
-#
-class node
-{
-    rule __init__ (
-        value ?  # Optional value to set node to initially.
-    )
-    {
-        self.value = $(value) ;
-    }
-
-    # Set the value of this node, passing nothing will clear it.
-    #
-    rule set ( value * )
-    {
-        self.value = $(value) ;
-    }
-
-    # Get the value of this node.
-    #
-    rule get ( )
-    {
-        return $(self.value) ;
-    }
-}
-
-
-# A simple vector. Interface mimics the C++ std::vector and std::list, with the
-# exception that indices are one (1) based to follow Jam standard.
-#
-# TODO: Possibly add assertion checks.
-#
-class vector : node
-{
-    import numbers ;
-    import utility ;
-    import sequence ;
-
-    rule __init__ (
-        values *  # Initial contents of vector.
-    )
-    {
-        node.__init__ ;
-        self.value = $(values) ;
-    }
-
-    # Get the value of the first element.
-    #
-    rule front ( )
-    {
-        return $(self.value[1]) ;
-    }
-
-    # Get the value of the last element.
-    #
-    rule back ( )
-    {
-        return $(self.value[-1]) ;
-    }
-
-    # Get the value of the element at the given index, one based. Access to
-    # elements of recursive structures is supported directly. Specifying
-    # additional index values recursively accesses the elements as containers.
-    # For example: [ $(v).at 1 : 2 ] would retrieve the second element of our
-    # first element, assuming the first element is a container.
-    #
-    rule at (
-        index  # The element index, one based.
-        : *  # Additional indices to access recursively.
-    )
-    {
-        local r = $(self.value[$(index)]) ;
-        if $(2)
-        {
-            r = [ $(r).at $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ] ;
-        }
-        return $(r) ;
-    }
-
-    # Get the value contained in the given element. This has the same
-    # functionality and interface as "at" but in addition gets the value of the
-    # referenced element, assuming it is a "node".
-    #
-    rule get-at (
-        index  # The element index, one based.
-        : *  # Additional indices to access recursively.
-    )
-    {
-        local r = $(self.value[$(index)]) ;
-        if $(2)
-        {
-            r = [ $(r).at $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ] ;
-        }
-        return [ $(r).get ] ;
-    }
-
-    # Insert the given value into the front of the vector pushing the rest of
-    # the elements back.
-    #
-    rule push-front (
-        value  # Value to become first element.
-    )
-    {
-        self.value = $(value) $(self.value) ;
-    }
-
-    # Remove the front element from the vector. Does not return the value. No
-    # effect if vector is empty.
-    #
-    rule pop-front ( )
-    {
-        self.value = $(self.value[2-]) ;
-    }
-
-    # Add the given value at the end of the vector.
-    #
-    rule push-back (
-        value  # Value to become back element.
-    )
-    {
-        self.value += $(value) ;
-    }
-
-    # Remove the back element from the vector. Does not return the value. No
-    # effect if vector is empty.
-    #
-    rule pop-back ( )
-    {
-        self.value = $(self.value[1--2]) ;
-    }
-
-    # Insert the given value at the given index, one based. The values at and to
-    # the right of the index are pushed back to make room for the new value.
-    # If the index is passed the end of the vector the element is added to the
-    # end.
-    #
-    rule insert (
-        index  # The index to insert at, one based.
-        : value  # The value to insert.
-    )
-    {
-        local left = $(self.value[1-$(index)]) ;
-        local right = $(self.value[$(index)-]) ;
-        if $(right)-is-not-empty
-        {
-            left = $(left[1--2]) ;
-        }
-        self.value = $(left) $(value) $(right) ;
-    }
-
-    # Remove one or more elements from the vector. The range is inclusive, and
-    # not specifying an end is equivalent to the [start, start] range.
-    #
-    rule erase (
-        start  # Index of first element to remove.
-        end ?  # Optional, index of last element to remove.
-    )
-    {
-        end ?= $(start) ;
-        local left = $(self.value[1-$(start)]) ;
-        left = $(left[1--2]) ;
-        local right = $(self.value[$(end)-]) ;
-        right = $(right[2-]) ;
-        self.value = $(left) $(right) ;
-    }
-
-    # Remove all elements from the vector.
-    #
-    rule clear ( )
-    {
-        self.value = ;
-    }
-
-    # The number of elements in the vector.
-    #
-    rule size ( )
-    {
-        return [ sequence.length $(self.value) ] ;
-    }
-
-    # Returns "true" if there are NO elements in the vector, empty otherwise.
-    #
-    rule empty ( )
-    {
-        if ! $(self.value)-is-not-empty
-        {
-            return true ;
-        }
-    }
-
-    # Returns the textual representation of content.
-    #
-    rule str ( )
-    {
-        return "[" [ sequence.transform utility.str : $(self.value) ] "]" ;
-    }
-
-    # Sorts the vector inplace, calling 'utility.less' for comparisons.
-    #
-    rule sort ( )
-    {
-        self.value = [ sequence.insertion-sort $(self.value) : utility.less ] ;
-    }
-
-    # Returns true if content is equal to the content of other vector. Uses
-    # 'utility.equal' for comparison.
-    #
-    rule equal ( another )
-    {
-        local mismatch ;
-        local size = [ size ] ;
-        if $(size) = [ $(another).size ]
-        {
-            for local i in [ numbers.range 1 $(size) ]
-            {
-                if ! [ utility.equal [ at $(i) ] [ $(another).at $(i) ] ]
-                {
-                    mismatch = true ;
-                }
-            }
-        }
-        else
-        {
-            mismatch = true ;
-        }
-
-        if ! $(mismatch)
-        {
-            return true ;
-        }
-    }
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-    import "class" : new ;
-
-    local v1 = [ new vector ] ;
-    assert.true $(v1).equal $(v1) ;
-    assert.true $(v1).empty ;
-    assert.result 0 : $(v1).size ;
-    assert.result "[" "]" : $(v1).str ;
-    $(v1).push-back b ;
-    $(v1).push-front a ;
-    assert.result "[" a b "]" : $(v1).str ;
-    assert.result a : $(v1).front ;
-    assert.result b : $(v1).back ;
-    $(v1).insert 2 : d ;
-    $(v1).insert 2 : c ;
-    $(v1).insert 4 : f ;
-    $(v1).insert 4 : e ;
-    $(v1).pop-back ;
-    assert.result 5 : $(v1).size ;
-    assert.result d : $(v1).at 3 ;
-    $(v1).pop-front ;
-    assert.result c : $(v1).front ;
-    assert.false $(v1).empty ;
-    $(v1).erase 3 4 ;
-    assert.result 2 : $(v1).size ;
-
-    local v2 = [ new vector q w e r t y ] ;
-    assert.result 6 : $(v2).size ;
-    $(v1).push-back $(v2) ;
-    assert.result 3 : $(v1).size ;
-    local v2-alias = [ $(v1).back ] ;
-    assert.result e : $(v2-alias).at 3 ;
-    $(v1).clear ;
-    assert.true $(v1).empty ;
-    assert.false $(v2-alias).empty ;
-    $(v2).pop-back ;
-    assert.result t : $(v2-alias).back ;
-
-    local v3 = [ new vector ] ;
-    $(v3).push-back [ new vector 1 2 3 4 5 ] ;
-    $(v3).push-back [ new vector a b c ] ;
-    assert.result "[" "[" 1 2 3 4 5 "]" "[" a b c "]" "]" : $(v3).str ;
-    $(v3).push-back [ new vector [ new vector x y z ] [ new vector 7 8 9 ] ] ;
-    assert.result 1 : $(v3).at 1 : 1 ;
-    assert.result b : $(v3).at 2 : 2 ;
-    assert.result a b c : $(v3).get-at 2 ;
-    assert.result 7 8 9 : $(v3).get-at 3 : 2 ;
-
-    local v4 = [ new vector 4 3 6 ] ;
-    $(v4).sort ;
-    assert.result 3 4 6 : $(v4).get ;
-    assert.false $(v4).equal $(v3) ;
-
-    local v5 = [ new vector 3 4 6 ] ;
-    assert.true $(v4).equal $(v5) ;
-    # Check that vectors of different sizes are considered non-equal.
-    $(v5).pop-back ;
-    assert.false $(v4).equal $(v5) ;
-
-    local v6 = [ new vector [ new vector 1 2 3 ] ] ;
-    assert.true $(v6).equal [ new vector [ new vector 1 2 3 ] ] ;
-
-    local v7 = [ new vector 111 222 333 ] ;
-    assert.true $(v7).equal $(v7) ;
-    $(v7).insert 4 : 444 ;
-    assert.result 111 222 333 444 : $(v7).get ;
-    $(v7).insert 999 : xxx ;
-    assert.result 111 222 333 444 xxx : $(v7).get ;
-
-    local v8 = [ new vector "" "" "" ] ;
-    assert.true $(v8).equal $(v8) ;
-    assert.false $(v8).empty ;
-    assert.result 3  : $(v8).size ;
-    assert.result "" : $(v8).at 1 ;
-    assert.result "" : $(v8).at 2 ;
-    assert.result "" : $(v8).at 3 ;
-    assert.result    : $(v8).at 4 ;
-    $(v8).insert 2 : 222 ;
-    assert.result 4 : $(v8).size ;
-    assert.result "" 222 "" "" : $(v8).get ;
-    $(v8).insert 999 : "" ;
-    assert.result 5 : $(v8).size ;
-    assert.result "" 222 "" "" "" : $(v8).get ;
-    $(v8).insert 999 : xxx ;
-    assert.result 6 : $(v8).size ;
-    assert.result "" 222 "" "" "" xxx : $(v8).get ;
-
-    # Regression test for a bug causing vector.equal to compare only the first
-    # and the last element in the given vectors.
-    local v9 = [ new vector 111 xxx 222 ] ;
-    local v10 = [ new vector 111 yyy 222 ] ;
-    assert.false $(v9).equal $(v10) ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/doc.jam b/SRC/Boost/tools/build/v2/util/doc.jam
deleted file mode 100755
index 81116d5..0000000
--- a/SRC/Boost/tools/build/v2/util/doc.jam
+++ /dev/null
@@ -1,997 +0,0 @@
-# Copyright 2002, 2005 Dave Abrahams
-# Copyright 2002, 2003, 2006 Rene Rivera
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-# Documentation system, handles --help requests.
-# It defines rules that attach documentation to modules, rules, and variables.
-# Collects and generates documentation for the various parts of the build
-# system. The documentation is collected from comments integrated into the code.
-
-import modules ;
-import print ;
-import set ;
-import container ;
-import "class" ;
-import sequence ;
-import path ;
-
-
-# The type of output to generate.
-# "console" is formated text echoed to the console (the default);
-# "text" is formated text appended to the output file;
-# "html" is HTML output to the file.
-#
-help-output = console ;
-
-
-# The file to output documentation to when generating "text" or "html" help.
-# This is without extension as the extension is determined by the type of
-# output.
-#
-help-output-file = help ;
-
-# Whether to include local rules in help output.
-#
-.option.show-locals ?= ;
-
-# When showing documentation for a module, whether to also generate
-# automatically the detailed docs for each item in the module.
-#
-.option.detailed ?= ;
-
-# Generate debug output as the help is generated and modules are parsed.
-#
-.option.debug ?= ;
-
-# Enable or disable a documentation option.
-#
-local rule set-option (
-    option  # The option name.
-    : value ?  # Enabled (non-empty), or disabled (empty)
-)
-{
-    .option.$(option) = $(value) ;
-}
-
-
-# Set the type of output.
-#
-local rule set-output ( type )
-{
-    help-output = $(type) ;
-}
-
-
-# Set the output to a file.
-#
-local rule set-output-file ( file )
-{
-    help-output-file = $(file) ;
-}
-
-
-# Extracts the brief comment from a complete comment. The brief comment is the
-# first sentence.
-#
-local rule brief-comment (
-    docs *  # The comment documentation.
-)
-{
-    local d = $(docs:J=" ") ;
-    local p = [ MATCH ".*([.])$" : $(d) ] ;
-    if ! $(p) { d = $(d)"." ; }
-    d = $(d)" " ;
-    local m = [ MATCH "^([^.]+[.])(.*)" : $(d) ] ;
-    local brief = $(m[1]) ;
-    while $(m[2]) && [ MATCH "^([^ ])" : $(m[2]) ]
-    {
-        m = [ MATCH "^([^.]+[.])(.*)" : $(m[2]) ] ;
-        brief += $(m[1]) ;
-    }
-    return $(brief:J="") ;
-}
-
-
-# Specifies the documentation for the current module.
-#
-local rule set-module-doc (
-    module-name ?  # The name of the module to document.
-    : docs *  # The documentation for the module.
-)
-{
-    module-name ?= * ;
-
-    $(module-name).brief = [ brief-comment $(docs) ] ;
-    $(module-name).docs = $(docs) ;
-
-    if ! $(module-name) in $(documented-modules)
-    {
-        documented-modules += $(module-name) ;
-    }
-}
-
-
-# Specifies the documentation for the current module.
-#
-local rule set-module-copyright (
-    module-name ?  # The name of the module to document.
-    : copyright *  # The copyright for the module.
-)
-{
-    module-name ?= * ;
-
-    $(module-name).copy-brief = [ brief-comment $(copyright) ] ;
-    $(module-name).copy-docs = $(docs) ;
-
-    if ! $(module-name) in $(documented-modules)
-    {
-        documented-modules += $(module-name) ;
-    }
-}
-
-
-# Specifies the documentation for a rule in the current module. If called in the
-# global module, this documents a global rule.
-#
-local rule set-rule-doc (
-    name  # The name of the rule.
-    module-name ?  # The name of the module to document.
-    is-local ?  # Whether the rule is local to the module.
-    : docs *  # The documentation for the rule.
-)
-{
-    module-name ?= * ;
-
-    $(module-name).$(name).brief = [ brief-comment $(docs) ] ;
-    $(module-name).$(name).docs = $(docs) ;
-    $(module-name).$(name).is-local = $(is-local) ;
-
-    if ! $(name) in $($(module-name).rules)
-    {
-        $(module-name).rules += $(name) ;
-    }
-}
-
-
-# Specify a class, will turn a rule into a class.
-#
-local rule set-class-doc (
-    name  # The name of the class.
-    module-name ?  # The name of the module to document.
-    : super-name ?  # The super class name.
-)
-{
-    module-name ?= * ;
-
-    $(module-name).$(name).is-class = true ;
-    $(module-name).$(name).super-name = $(super-name) ;
-    $(module-name).$(name).class-rules =
-        [ MATCH "^($(name)[.].*)" : $($(module-name).rules) ] ;
-    $(module-name).$($(module-name).$(name).class-rules).is-class-rule = true ;
-
-    $(module-name).classes += $(name) ;
-    $(module-name).class-rules += $($(module-name).$(name).class-rules) ;
-    $(module-name).rules =
-        [ set.difference $($(module-name).rules) :
-            $(name) $($(module-name).$(name).class-rules) ] ;
-}
-
-
-# Set the argument call signature of a rule.
-#
-local rule set-rule-arguments-signature (
-    name  # The name of the rule.
-    module-name ?  # The name of the module to document.
-    : signature *  # The arguments signature.
-)
-{
-    module-name ?= * ;
-
-    $(module-name).$(name).signature = $(signature) ;
-}
-
-
-# Specifies the documentation for an argument of a rule.
-#
-local rule set-argument-doc (
-    name  # The name of the argument.
-    qualifier  # Argument syntax qualifier, "*", "+", etc.
-    rule-name  # The name of the rule.
-    module-name ?  # THe optional name of the module.
-    : docs *  # The documentation.
-)
-{
-    module-name ?= * ;
-
-    $(module-name).$(rule-name).args.$(name).qualifier = $(qualifier) ;
-    $(module-name).$(rule-name).args.$(name).docs = $(docs) ;
-
-    if ! $(name) in $($(module-name).$(rule-name).args)
-    {
-        $(module-name).$(rule-name).args += $(name) ;
-    }
-}
-
-
-# Specifies the documentation for a variable in the current module. If called in
-# the global module, the global variable is documented.
-#
-local rule set-variable-doc (
-    name  # The name of the variable.
-    default  # The default value.
-    initial  # The initial value.
-    module-name ?  # The name of the module to document.
-    : docs *  # The documentation for the variable.
-)
-{
-    module-name ?= * ;
-
-    $(module-name).$(name).brief = [ brief-comment $(docs) ] ;
-    $(module-name).$(name).default = $(default) ;
-    $(module-name).$(name).initial = $(initial) ;
-    $(module-name).$(name).docs = $(docs) ;
-
-    if ! $(name) in $($(module-name).variables)
-    {
-        $(module-name).variables += $(name) ;
-    }
-}
-
-
-# Generates a general description of the documentation and help system.
-#
-local rule print-help-top ( )
-{
-    print.section "General command line usage" ;
-
-    print.text "    bjam [options] [properties] [targets]
-
-  Options, properties and targets can be specified in any order.
-      " ;
-
-    print.section "Important Options" ;
-
-    print.list-start ;
-    print.list-item "--clean Remove targets instead of building" ;
-    print.list-item "-a Rebuild everything" ;
-    print.list-item "-n Don't execute the commands, only print them" ;
-    print.list-item "-d+2 Show commands as they are executed" ;
-    print.list-item "-d0 Supress all informational messages" ;
-    print.list-item "-q Stop at first error" ;
-    print.list-item "--debug-configuration Diagnose configuration" ;
-    print.list-item "--debug-building Report which targets are built with what properties" ;
-    print.list-item "--debug-generator Diagnose generator search/execution" ;
-    print.list-end ;
-
-    print.section "Further Help"
-        The following options can be used to obtain additional documentation.
-      ;
-
-    print.list-start ;
-    print.list-item "--help-options Print more obscure command line options." ;
-    print.list-item "--help-internal Boost.Build implementation details." ;
-    print.list-item "--help-doc-options Implementation details doc formatting." ;
-    print.list-end ;
-}
-
-
-# Generate Jam/Boost.Jam command usage information.
-#
-local rule print-help-usage ( )
-{
-    print.section "Boost.Jam Usage"
-        "bjam [ options... ] targets..."
-        ;
-    print.list-start ;
-    print.list-item -a;
-        Build all targets, even if they are current. ;
-    print.list-item -fx;
-        Read '"x"' as the Jamfile for building instead of searching for the
-        Boost.Build system. ;
-    print.list-item -jx;
-        Run up to '"x"' commands concurrently. ;
-    print.list-item -n;
-        Do not execute build commands. Instead print out the commands as they
-        would be executed if building. ;
-    print.list-item -ox;
-        Output the used build commands to file '"x"'. ;
-    print.list-item -q;
-        Quit as soon as a build failure is encountered. Without this option
-        Boost.Jam will continue building as many targets as it can.
-    print.list-item -sx=y;
-        Sets a Jam variable '"x"' to the value '"y"', overriding any value that
-        variable would have from the environment. ;
-    print.list-item -tx;
-        Rebuild the target '"x"', even if it is up-to-date. ;
-    print.list-item -v;
-        Display the version of bjam. ;
-    print.list-item --x;
-        Any option not explicitly handled by Boost.Jam remains available to
-        build scripts using the '"ARGV"' variable. ;
-    print.list-item -dn;
-        Enables output of diagnostic messages. The debug level '"n"' and all
-        below it are enabled by this option. ;
-    print.list-item -d+n;
-        Enables output of diagnostic messages. Only the output for debug level
-        '"n"' is enabled. ;
-    print.list-end ;
-    print.section "Debug Levels"
-        Each debug level shows a different set of information. Usually with
-        higher levels producing more verbose information. The following levels
-        are supported: ;
-    print.list-start ;
-    print.list-item 0;
-        Turn off all diagnostic output. Only errors are reported. ;
-    print.list-item 1;
-        Show the actions taken for building targets, as they are executed. ;
-    print.list-item 2;
-        Show "quiet" actions and display all action text, as they are executed. ;
-    print.list-item 3;
-        Show dependency analysis, and target/source timestamps/paths. ;
-    print.list-item 4;
-        Show arguments of shell invocations. ;
-    print.list-item 5;
-        Show rule invocations and variable expansions. ;
-    print.list-item 6;
-        Show directory/header file/archive scans, and attempts at binding to targets. ;
-    print.list-item 7;
-        Show variable settings. ;
-    print.list-item 8;
-        Show variable fetches, variable expansions, and evaluation of '"if"' expressions. ;
-    print.list-item 9;
-        Show variable manipulation, scanner tokens, and memory usage. ;
-    print.list-item 10;
-        Show execution times for rules. ;
-    print.list-item 11;
-        Show parsing progress of Jamfiles. ;
-    print.list-item 12;
-        Show graph for target dependencies. ;
-    print.list-item 13;
-        Show changes in target status (fate). ;
-    print.list-end ;
-}
-
-
-# Generates description of options controlling the help system. This
-# automatically reads the options as all variables in the doc module of the form
-# ".option.*".
-#
-local rule print-help-options (
-    module-name  # The doc module.
-)
-{
-    print.section "Help Options"
-        These are all the options available for enabling or disabling to control
-        the help system in various ways. Options can be enabled or disabled with
-        '"--help-enable-<option>"', and "'--help-disable-<option>'"
-        respectively.
-        ;
-    local options-to-list = [ MATCH ^[.]option[.](.*) : $($(module-name).variables) ] ;
-    if $(options-to-list)
-    {
-        print.list-start ;
-        for local option in [ sequence.insertion-sort $(options-to-list) ]
-        {
-            local def = disabled ;
-            if $($(module-name)..option.$(option).default) != "(empty)"
-            {
-                def = enabled ;
-            }
-            print.list-item $(option): $($(module-name)..option.$(option).docs)
-                Default is $(def). ;
-        }
-        print.list-end ;
-    }
-}
-
-
-# Generate brief documentation for all the known items in the section for a
-# module. Possible sections are: "rules", and "variables".
-#
-local rule print-help-module-section (
-    module  # The module name.
-    section  # rules or variables.
-    : section-head  # The title of the section.
-    section-description *  # The detailed description of the section.
-)
-{
-    if $($(module).$(section))
-    {
-        print.section $(section-head) $(section-description) ;
-        print.list-start ;
-        for local item in [ sequence.insertion-sort $($(module).$(section)) ]
-        {
-            local show = ;
-            if ! $($(module).$(item).is-local)
-            {
-                show = yes ;
-            }
-            if $(.option.show-locals)
-            {
-                show = yes ;
-            }
-            if $(show)
-            {
-                print.list-item $(item): $($(module).$(item).brief) ;
-            }
-        }
-        print.list-end ;
-    }
-}
-
-
-# Generate documentation for all possible modules. We attempt to list all known
-# modules together with a brief description of each.
-#
-local rule print-help-all (
-    ignored  # Usually the module name, but is ignored here.
-)
-{
-    print.section "Modules"
-        "These are all the known modules. Use --help <module> to get more"
-        "detailed information."
-        ;
-    if $(documented-modules)
-    {
-        print.list-start ;
-        for local module-name in [ sequence.insertion-sort $(documented-modules) ]
-        {
-            # The brief docs for each module.
-            print.list-item $(module-name): $($(module-name).brief) ;
-        }
-        print.list-end ;
-    }
-    # The documentation for each module when details are requested.
-    if $(documented-modules) && $(.option.detailed)
-    {
-        for local module-name in [ sequence.insertion-sort $(documented-modules) ]
-        {
-            # The brief docs for each module.
-            print-help-module $(module-name) ;
-        }
-    }
-}
-
-
-# Generate documentation for a module. Basic information about the module is
-# generated.
-#
-local rule print-help-module (
-    module-name  # The module to generate docs for.
-)
-{
-    # Print the docs.
-    print.section "Module '$(module-name)'" $($(module-name).docs) ;
-
-    # Print out the documented classes.
-    print-help-module-section $(module-name) classes : "Module '$(module-name)' classes"
-        Use --help $(module-name).<class-name> to get more information. ;
-
-    # Print out the documented rules.
-    print-help-module-section $(module-name) rules : "Module '$(module-name)' rules"
-        Use --help $(module-name).<rule-name> to get more information. ;
-
-    # Print out the documented variables.
-    print-help-module-section $(module-name) variables : "Module '$(module-name)' variables"
-        Use --help $(module-name).<variable-name> to get more information. ;
-
-    # Print out all the same information but indetailed form.
-    if $(.option.detailed)
-    {
-        print-help-classes $(module-name) ;
-        print-help-rules $(module-name) ;
-        print-help-variables $(module-name) ;
-    }
-}
-
-
-# Generate documentation for a set of rules in a module.
-#
-local rule print-help-rules (
-    module-name  # Module of the rules.
-    : name *  # Optional list of rules to describe.
-)
-{
-    name ?= $($(module-name).rules) ;
-    if [ set.intersection $(name) : $($(module-name).rules) $($(module-name).class-rules) ]
-    {
-        # Print out the given rules.
-        for local rule-name in [ sequence.insertion-sort $(name) ]
-        {
-            if $(.option.show-locals) || ! $($(module-name).$(rule-name).is-local)
-            {
-                local signature = $($(module-name).$(rule-name).signature:J=" ") ;
-                signature ?= "" ;
-                print.section "Rule '$(module-name).$(rule-name) ( $(signature) )'"
-                    $($(module-name).$(rule-name).docs) ;
-                if $($(module-name).$(rule-name).args)
-                {
-                    print.list-start ;
-                    for local arg-name in $($(module-name).$(rule-name).args)
-                    {
-                        print.list-item $(arg-name): $($(module-name).$(rule-name).args.$(arg-name).docs) ;
-                    }
-                    print.list-end ;
-                }
-            }
-        }
-    }
-}
-
-
-# Generate documentation for a set of classes in a module.
-#
-local rule print-help-classes (
-    module-name  # Module of the classes.
-    : name *  # Optional list of classes to describe.
-)
-{
-    name ?= $($(module-name).classes) ;
-    if [ set.intersection $(name) : $($(module-name).classes) ]
-    {
-        # Print out the given classes.
-        for local class-name in [ sequence.insertion-sort $(name) ]
-        {
-            if $(.option.show-locals) || ! $($(module-name).$(class-name).is-local)
-            {
-                local signature = $($(module-name).$(class-name).signature:J=" ") ;
-                signature ?= "" ;
-                print.section "Class '$(module-name).$(class-name) ( $(signature) )'"
-                    $($(module-name).$(class-name).docs)
-                   "Inherits from '"$($(module-name).$(class-name).super-name)"'." ;
-                if $($(module-name).$(class-name).args)
-                {
-                    print.list-start ;
-                    for local arg-name in $($(module-name).$(class-name).args)
-                    {
-                        print.list-item $(arg-name): $($(module-name).$(class-name).args.$(arg-name).docs) ;
-                    }
-                    print.list-end ;
-                }
-            }
-
-            # Print out the documented rules of the class.
-            print-help-module-section $(module-name) $(class-name).class-rules : "Class '$(module-name).$(class-name)' rules"
-                Use --help $(module-name).<rule-name> to get more information. ;
-
-            # Print out all the rules if details are requested.
-            if $(.option.detailed)
-            {
-                print-help-rules $(module-name) : $($(module-name).$(class-name).class-rules) ;
-            }
-        }
-    }
-}
-
-
-# Generate documentation for a set of variables in a module.
-#
-local rule print-help-variables (
-    module-name ?  # Module of the variables.
-    : name *  # Optional list of variables to describe.
-)
-{
-    name ?= $($(module-name).variables) ;
-    if [ set.intersection $(name) : $($(module-name).variables) ]
-    {
-        # Print out the given variables.
-        for local variable-name in [ sequence.insertion-sort $(name) ]
-        {
-            print.section "Variable '$(module-name).$(variable-name)'" $($(module-name).$(variable-name).docs) ;
-            if $($(module-name).$(variable-name).default) ||
-                $($(module-name).$(variable-name).initial)
-            {
-                print.list-start ;
-                if $($(module-name).$(variable-name).default)
-                {
-                    print.list-item "default value:" '$($(module-name).$(variable-name).default:J=" ")' ;
-                }
-                if $($(module-name).$(variable-name).initial)
-                {
-                    print.list-item "initial value:" '$($(module-name).$(variable-name).initial:J=" ")' ;
-                }
-                print.list-end ;
-            }
-        }
-    }
-}
-
-
-# Generate documentation for a project.
-#
-local rule print-help-project (
-    unused ?
-    : jamfile *  # The project Jamfile.
-)
-{
-    if $(jamfile<$(jamfile)>.docs)
-    {
-        # Print the docs.
-        print.section "Project-specific help"
-            Project has jamfile at $(jamfile) ;
-
-        print.lines $(jamfile<$(jamfile)>.docs) "" ;
-    }
-}
-
-
-# Generate documentation for a config file.
-#
-local rule print-help-config (
-    unused ?
-    : type  # The type of configuration file user or site.
-    config-file  # The configuration Jamfile.
-)
-{
-    if $(jamfile<$(config-file)>.docs)
-    {
-        # Print the docs.
-        print.section "Configuration help"
-            Configuration file at $(config-file) ;
-
-        print.lines $(jamfile<$(config-file)>.docs) "" ;
-    }
-}
-
-
-ws = "	 " ;
-
-# Extract the text from a block of comments.
-#
-local rule extract-comment (
-    var  # The name of the variable to extract from.
-)
-{
-    local comment = ;
-    local line = $($(var)[1]) ;
-    local l = [ MATCH "^[$(ws)]*(#)(.*)$" : $(line) ] ;
-    while $(l[1]) && $($(var))
-    {
-        if $(l[2]) { comment += [ MATCH "^[$(ws)]?(.*)$" : $(l[2]) ] ; }
-        else { comment += "" ; }
-        $(var) = $($(var)[2-]) ;
-        line = $($(var)[1]) ;
-        l = [ MATCH "^[$(ws)]*(#)(.*)$" : $(line) ] ;
-    }
-    return $(comment) ;
-}
-
-
-# Extract s single line of Jam syntax, ignoring any comments.
-#
-local rule extract-syntax (
-    var  # The name of the variable to extract from.
-)
-{
-    local syntax = ;
-    local line = $($(var)[1]) ;
-    while ! $(syntax) && ! [ MATCH "^[$(ws)]*(#)" : $(line) ] && $($(var))
-    {
-        local m = [ MATCH "^[$(ws)]*(.*)$" : $(line) ] ;
-        if $(m) && ! $(m) = ""
-        {
-            syntax = $(m) ;
-        }
-        $(var) = $($(var)[2-]) ;
-        line = $($(var)[1]) ;
-    }
-    return $(syntax) ;
-}
-
-
-# Extract the next token, this is either a single Jam construct or a comment as
-# a single token.
-#
-local rule extract-token (
-    var  # The name of the variable to extract from.
-)
-{
-    local parts = ;
-    while ! $(parts)
-    {
-        parts = [ MATCH "^[$(ws)]*([^$(ws)]+)[$(ws)]*(.*)" : $($(var)[1]) ] ;
-        if ! $(parts)
-        {
-            $(var) = $($(var)[2-]) ;
-        }
-    }
-    local token = ;
-    if [ MATCH "^(#)" : $(parts[1]) ]
-    {
-        token = $(parts:J=" ") ;
-        $(var) = $($(var)[2-]) ;
-    }
-    else
-    {
-        token = $(parts[1]) ;
-        $(var) = $(parts[2-]:J=" ") $($(var)[2-]) ;
-    }
-    return $(token) ;
-}
-
-
-# Scan for a rule declaration as the next item in the variable.
-#
-local rule scan-rule (
-    syntax ?  # The first part of the text which contains the rule declaration.
-    : var  # The name of the variable to extract from.
-)
-{
-    local rule-parts =
-        [ MATCH "^[$(ws)]*(rule|local[$(ws)]*rule)[$(ws)]+([^$(ws)]+)[$(ws)]*(.*)" : $(syntax:J=" ") ] ;
-    if $(rule-parts[1])
-    {
-        # Mark as doc for rule.
-        local rule-name = $(rule-parts[2]) ;
-        if $(scope-name)
-        {
-            rule-name = $(scope-name).$(rule-name) ;
-        }
-        local is-local = [ MATCH "^(local).*" : $(rule-parts[1]) ] ;
-        if $(comment-block)
-        {
-            set-rule-doc $(rule-name) $(module-name) $(is-local) : $(comment-block) ;
-        }
-        # Parse args of rule.
-        $(var) = $(rule-parts[3-]) $($(var)) ;
-        set-rule-arguments-signature $(rule-name) $(module-name) : [ scan-rule-arguments $(var) ] ;
-        # Scan within this rules scope.
-        local scope-level = [ extract-token $(var) ] ;
-        local scope-name = $(rule-name) ;
-        while $(scope-level)
-        {
-            local comment-block = [ extract-comment $(var) ] ;
-            local syntax-block = [ extract-syntax $(var) ] ;
-            if [ scan-rule $(syntax-block) : $(var) ]
-            {
-            }
-            else if [ MATCH "^(\\{)" : $(syntax-block) ]
-            {
-                scope-level += "{" ;
-            }
-            else if [ MATCH "^[^\\}]*([\\}])[$(ws)]*$"  : $(syntax-block) ]
-            {
-                scope-level = $(scope-level[2-]) ;
-            }
-        }
-
-        return true ;
-    }
-}
-
-
-# Scan the arguments of a rule.
-#
-local rule scan-rule-arguments (
-    var  # The name of the variable to extract from.
-)
-{
-    local arg-syntax = ;
-    local token = [ extract-token $(var) ] ;
-    while $(token) != "(" && $(token) != "{"
-    {
-        token = [ extract-token $(var) ] ;
-    }
-    if $(token) != "{"
-    {
-        token = [ extract-token $(var) ] ;
-    }
-    local arg-signature = ;
-    while $(token) != ")" && $(token) != "{"
-    {
-        local arg-name = ;
-        local arg-qualifier = " " ;
-        local arg-doc = ;
-        if $(token) = ":"
-        {
-            arg-signature += $(token) ;
-            token = [ extract-token $(var) ] ;
-        }
-        arg-name = $(token) ;
-        arg-signature += $(token) ;
-        token = [ extract-token $(var) ] ;
-        if [ MATCH "^([\\*\\+\\?])" : $(token) ]
-        {
-            arg-qualifier = $(token) ;
-            arg-signature += $(token) ;
-            token = [ extract-token $(var) ] ;
-        }
-        if $(token) = ":"
-        {
-            arg-signature += $(token) ;
-            token = [ extract-token $(var) ] ;
-        }
-        if [ MATCH "^(#)" : $(token) ]
-        {
-            $(var) = $(token) $($(var)) ;
-            arg-doc = [ extract-comment $(var) ] ;
-            token = [ extract-token $(var) ] ;
-        }
-        set-argument-doc $(arg-name) $(arg-qualifier) $(rule-name) $(module-name) : $(arg-doc) ;
-    }
-    while $(token) != "{"
-    {
-        token = [ extract-token $(var) ] ;
-    }
-    $(var) = "{" $($(var)) ;
-    arg-signature ?= "" ;
-    return $(arg-signature) ;
-}
-
-
-# Scan for a variable declaration.
-#
-local rule scan-variable (
-    syntax ?  # The first part of the text which contains the variable declaration.
-    : var  # The name of the variable to extract from.
-)
-{
-    # [1] = name, [2] = value(s)
-    local var-parts =
-        [ MATCH "^[$(ws)]*([^$(ws)]+)[$(ws)]+([\\?\\=]*)[$(ws)]+([^\\;]*)\\;" : $(syntax) ] ;
-    if $(var-parts)
-    {
-        local value = [ MATCH "^(.*)[ ]$" : $(var-parts[3-]:J=" ") ] ;
-        local default-value = "" ;
-        local initial-valie = "" ;
-        if $(var-parts[2]) = "?="
-        {
-            default-value = $(value) ;
-            default-value ?= "(empty)" ;
-        }
-        else
-        {
-            initial-value = $(value) ;
-            initial-value ?= "(empty)" ;
-        }
-        if $(comment-block)
-        {
-            set-variable-doc $(var-parts[1]) $(default-value) $(initial-value) $(module-name) : $(comment-block) ;
-        }
-        return true ;
-    }
-}
-
-
-# Scan a class declaration.
-#
-local rule scan-class (
-    syntax ?  # The syntax text for the class declaration.
-)
-{
-    # [1] = class?, [2] = name, [3] = superclass
-    local class-parts =
-        [ MATCH "^[$(ws)]*([^$(ws)]+)[$(ws)]+([^$(ws)]+)[$(ws)]+:*[$(ws)]*([^$(ws);]*)" : $(syntax) ] ;
-    if $(class-parts[1]) = "class" || $(class-parts[1]) = "class.class"
-    {
-        set-class-doc $(class-parts[2]) $(module-name) : $(class-parts[3]) ;
-    }
-}
-
-
-# Scan a module file for documentation comments. This also invokes any actions
-# assigned to the module. The actions are the rules that do the actual output of
-# the documentation. This rule is invoked as the header scan rule for the module
-# file.
-#
-rule scan-module (
-    target  # The module file.
-    : text *  # The text in the file, one item per line.
-    : action *  # Rule to call to output docs for the module.
-)
-{
-    if $(.option.debug) { ECHO "HELP:" scanning module target '$(target)' ; }
-    local module-name = $(target:B) ;
-    local module-documented = ;
-    local comment-block = ;
-    local syntax-block = ;
-    # This is a hack because we can not get the line of a file if it happens to
-    # not have a new-line termination.
-    text += "}" ;
-    while $(text)
-    {
-        comment-block = [ extract-comment text ] ;
-        syntax-block = [ extract-syntax text ] ;
-        if $(.option.debug)
-        {
-            ECHO "HELP:" comment block; '$(comment-block)' ;
-            ECHO "HELP:" syntax block; '$(syntax-block)' ;
-        }
-        if [ scan-rule $(syntax-block) : text ] { }
-        else if [ scan-variable $(syntax-block) : text ] { }
-        else if [ scan-class $(syntax-block) ] { }
-        else if [ MATCH .*([cC]opyright).* : $(comment-block:J=" ") ]
-        {
-            # mark as the copy for the module.
-            set-module-copyright $(module-name) : $(comment-block) ;
-        }
-        else if $(action[1]) in "print-help-project" "print-help-config"
-            && ! $(jamfile<$(target)>.docs)
-        {
-            # special module docs for the project jamfile.
-            jamfile<$(target)>.docs = $(comment-block) ;
-        }
-        else if ! $(module-documented)
-        {
-            # document the module.
-            set-module-doc $(module-name) : $(comment-block) ;
-            module-documented = true ;
-        }
-    }
-    if $(action)
-    {
-        $(action[1]) $(module-name) : $(action[2-]) ;
-    }
-}
-
-
-# Import scan-module to global scope, so that it is available during header
-# scanning phase.
-#
-IMPORT $(__name__) : scan-module : : doc.scan-module ;
-
-
-# Read in a file using the SHELL builtin and return the individual lines as
-# would be done for header scanning.
-#
-local rule read-file (
-    file  # The file to read in.
-)
-{
-    file = [ path.native [ path.root [ path.make $(file) ] [ path.pwd ] ] ] ;
-    if ! $(.file<$(file)>.lines)
-    {
-        local content ;
-        switch [ modules.peek : OS ]
-        {
-            case NT :
-            content = [ SHELL "TYPE \"$(file)\"" ] ;
-
-            case * :
-            content = [ SHELL "cat \"$(file)\"" ] ;
-        }
-        local lines ;
-        local nl = "
-" ;
-        local << = "([^$(nl)]*)[$(nl)](.*)" ;
-        local line+ = [ MATCH "$(<<)" : "$(content)" ] ;
-        while $(line+)
-        {
-            lines += $(line+[1]) ;
-            line+ = [ MATCH "$(<<)" : "$(line+[2])" ] ;
-        }
-        .file<$(file)>.lines = $(lines) ;
-    }
-    return $(.file<$(file)>.lines) ;
-}
-
-
-# Add a scan action to perform to generate the help documentation. The action
-# rule is passed the name of the module as the first argument. The second
-# argument(s) are optional and passed directly as specified here.
-#
-local rule do-scan (
-    modules +  # The modules to scan and perform the action on.
-    : action *  # The action rule, plus the secondary arguments to pass to the action rule.
-)
-{
-    if $(help-output) = text
-    {
-        print.output $(help-output-file).txt plain ;
-        ALWAYS $(help-output-file).txt ;
-        DEPENDS all : $(help-output-file).txt ;
-    }
-    if $(help-output) = html
-    {
-        print.output $(help-output-file).html html ;
-        ALWAYS $(help-output-file).html ;
-        DEPENDS all : $(help-output-file).html ;
-    }
-    for local module-file in $(modules[1--2])
-    {
-        scan-module $(module-file) : [ read-file $(module-file) ] ;
-    }
-    scan-module $(modules[-1]) : [ read-file $(modules[-1]) ] : $(action) ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/indirect.jam b/SRC/Boost/tools/build/v2/util/indirect.jam
deleted file mode 100755
index 9b0fff2..0000000
--- a/SRC/Boost/tools/build/v2/util/indirect.jam
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright 2003 Dave Abrahams
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import modules ;
-import numbers ;
-
-
-# The pattern that indirect rules must match: module%rule
-.pattern = ^([^%]*)%([^%]+)$ ;
-
-
-#
-# Type checking rules.
-#
-local rule indirect-rule ( x )
-{
-    if ! [ MATCH $(.pattern) : $(x) ]
-    {
-        return "expected a string of the form module%rule, but got \""$(x)"\" for argument" ;
-    }
-}
-
-
-# Make an indirect rule which calls the given rule. If context is supplied it is
-# expected to be the module in which to invoke the rule by the 'call' rule
-# below. Otherwise, the rule will be invoked in the module of this rule's
-# caller.
-#
-rule make ( rulename bound-args * : context ? )
-{
-    context ?= [ CALLER_MODULE ] ;
-    context ?= "" ;
-    return $(context)%$(rulename) $(bound-args) ;
-}
-
-
-# Make an indirect rule which calls the given rule. 'rulename' may be a
-# qualified rule; if so it is returned unchanged. Otherwise, if frames is not
-# supplied, the result will be invoked (by 'call', below) in the module of the
-# caller. Otherwise, frames > 1 specifies additional call frames to back up in
-# order to find the module context.
-#
-rule make-qualified ( rulename bound-args * : frames ? )
-{
-    if [ MATCH $(.pattern) : $(rulename) ]
-    {
-        return $(rulename) $(bound-args) ;
-    }
-    else
-    {
-        frames ?= 1 ;
-        # If the rule name includes a Jamfile module, grab it.
-        local module-context = [ MATCH ^(Jamfile<[^>]*>)\\..* : $(rulename) ] ;
-        
-        if ! $(module-context)
-        {                    
-            # Take the first dot-separated element as module name. This disallows
-            # module names with dots, but allows rule names with dots.
-            module-context = [ MATCH ^([^.]*)\\..* : $(rulename) ] ;
-        }        
-        module-context ?= [ CALLER_MODULE $(frames) ] ;
-        return [ make $(rulename) $(bound-args) : $(module-context) ] ;
-    }
-}
-
-
-# Returns the module name in which the given indirect rule will be invoked.
-#
-rule get-module ( [indirect-rule] x )
-{
-    local m = [ MATCH $(.pattern) : $(x) ] ;
-    if ! $(m[1])
-    {
-        m = ;
-    }
-    return $(m[1]) ;
-}
-
-
-# Returns the rulename that will be called when x is invoked.
-#
-rule get-rule ( [indirect-rule] x )
-{
-    local m = [ MATCH $(.pattern) : $(x) ] ;
-    return $(m[2]) ;
-}
-
-
-# Invoke the given indirect-rule.
-#
-rule call ( [indirect-rule] r args * : * )
-{
-    return [ modules.call-in [ get-module $(r) ] : [ get-rule $(r) ] $(args)
-        : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ] ;
-}
-
-
-rule __test__
-{
-    import assert ;
-
-    rule foo-barr! ( x )
-    {
-        assert.equal $(x) : x ;
-    }
-
-    assert.equal [ get-rule [ make foo-barr! ] ] : foo-barr! ;
-    assert.equal [ get-module [ make foo-barr! ] ] : [ CALLER_MODULE ] ;
-
-    call [ make foo-barr! ] x ;
-    call [ make foo-barr! x ] ;
-    call [ make foo-barr! : [ CALLER_MODULE ] ] x ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/indirect.py b/SRC/Boost/tools/build/v2/util/indirect.py
deleted file mode 100755
index 0d82fc9..0000000
--- a/SRC/Boost/tools/build/v2/util/indirect.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# Status: minimally ported. This module is not supposed to be used much
-# with Boost.Build/Python.
-# 
-# Copyright 2003 Dave Abrahams
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-from b2.util import call_jam_function, bjam_signature
-
-def call(*args):
-    a1 = args[0]
-    name = a1[0]
-    a1tail = a1[1:]
-    call_jam_function(name, *((a1tail,) + args[1:]))
diff --git a/SRC/Boost/tools/build/v2/util/logger.py b/SRC/Boost/tools/build/v2/util/logger.py
deleted file mode 100755
index 6a341bf..0000000
--- a/SRC/Boost/tools/build/v2/util/logger.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright Pedro Ferreira 2005. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-import sys
-
-class NullLogger:
-    def __init__ (self):
-        self.indent_ = ''
-    
-    def log (self, source_name, *args):
-        if self.on () and self.interesting (source_name):
-            self.do_log (self.indent_)
-            for i in args:
-                self.do_log (i)
-            self.do_log ('\n')
-    
-    def increase_indent (self):
-        if self.on ():
-            self.indent_ += '    '
-        
-    def decrease_indent (self):
-        if self.on () and len (self.indent_) > 4:
-            self.indent_ = self.indent_ [-4:]
-
-    def do_log (self, *args):
-        pass
-    
-    def interesting (self, source_name):
-        return False
-
-    def on (self):
-        return True
-
-class TextLogger (NullLogger):
-    def __init__ (self):
-        NullLogger.__init__ (self)
-    
-    def do_log (self, arg):
-            sys.stdout.write (str (arg))
-    
-    def interesting (self, source_name):
-        return True
-
-    def on (self):
-        return True
diff --git a/SRC/Boost/tools/build/v2/util/numbers.jam b/SRC/Boost/tools/build/v2/util/numbers.jam
deleted file mode 100755
index 5b7beb0..0000000
--- a/SRC/Boost/tools/build/v2/util/numbers.jam
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 2001, 2002 Dave Abrahams
-# Copyright 2002, 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import errors ;
-
-
-rule trim-leading-zeroes ( value )
-{
-    return [ CALC $(value) + 0 ] ;
-}
-
-
-rule check ( numbers * )
-{
-    for local n in $(numbers)
-    {
-        switch $(n)
-        {
-            case *[^0-9]* :
-                errors.error $(n) "in" $(numbers) : is not a number ;
-        }
-    }
-}
-
-
-rule increment ( number )
-{
-    return [ CALC $(number) + 1 ] ;
-}
-
-
-rule decrement ( number )
-{
-    return [ CALC $(number) - 1 ] ;
-}
-
-
-rule range ( start finish ? : step ? )
-{
-    if ! $(finish)
-    {
-        finish = $(start) ;
-        start = 1 ;
-    }
-    step ?= 1 ;
-
-    check $(start) $(finish) $(step) ;
-
-    if $(finish) != 0
-    {
-        local result ;
-        while [ less $(start) $(finish) ] || $(start) = $(finish)
-        {
-            result += $(start) ;
-            start = [ CALC $(start) + $(step) ] ;
-        }
-        return $(result) ;
-    }
-}
-
-
-rule less ( n1 n2 )
-{
-    switch [ CALC $(n2) - $(n1) ]
-    {
-        case [1-9]* : return true ;
-    }
-}
-
-
-rule log10 ( number )
-{
-    switch $(number)
-    {
-        case *[^0-9]* : errors.error $(number) is not a number ;
-        case 0 : errors.error can't take log of zero ;
-        case [1-9] : return 0 ;
-        case [1-9]? : return 1 ;
-        case [1-9]?? : return 2 ;
-        case [1-9]??? : return 3 ;
-        case [1-9]???? : return 4 ;
-        case [1-9]????? : return 5 ;
-        case [1-9]?????? : return 6 ;
-        case [1-9]??????? : return 7 ;
-        case [1-9]???????? : return 8 ;
-        case [1-9]????????? : return 9 ;
-        case * :
-        {
-            import sequence ;
-            import string ;
-            local chars = [ string.chars $(number) ] ;
-            while $(chars[1]) = 0
-            {
-                chars = $(chars[2-]) ;
-            }
-            if ! $(chars)
-            {
-                errors.error can't take log of zero ;
-            }
-            else
-            {
-                return [ decrement [ sequence.length $(chars) ] ] ;
-            }
-        }
-    }
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-
-    assert.result 1 : increment 0 ;
-    assert.result 2 : increment 1 ;
-    assert.result 1 : decrement 2 ;
-    assert.result 0 : decrement 1 ;
-    assert.result 50 : increment 49 ;
-    assert.result 49 : decrement 50 ;
-    assert.result 99 : increment 98 ;
-    assert.result 99 : decrement 100 ;
-    assert.result 100 : increment 99 ;
-    assert.result 999 : decrement 1000 ;
-    assert.result 1000 : increment 999 ;
-
-    assert.result 1 2 3 : range 3 ;
-    assert.result 1 2 3 4 5 6 7 8 9 10 11 12 : range 12 ;
-    assert.result 3 4 5 6 7 8 9 10 11 : range 3 11 ;
-    assert.result : range 0 ;
-    assert.result 1 4 7 10 : range 10 : 3 ;
-    assert.result 2 4 6 8 10 : range 2 10 : 2 ;
-    assert.result 25 50 75 100 : range 25 100 : 25 ;
-
-    assert.result 0           : trim-leading-zeroes 0           ;
-    assert.result 1234        : trim-leading-zeroes 1234        ;
-    assert.result 123456      : trim-leading-zeroes 0000123456  ;
-    assert.result 1000123456  : trim-leading-zeroes 1000123456  ;
-    assert.result 10000       : trim-leading-zeroes 10000       ;
-    assert.result 10000       : trim-leading-zeroes 00010000    ;
-
-    assert.true  less 1 2 ;
-    assert.true  less 1 12 ;
-    assert.true  less 1 21 ;
-    assert.true  less 005 217 ;
-    assert.false less 0 0 ;
-    assert.false less 03 3 ;
-    assert.false less 3 03 ;
-    assert.true  less 005 217 ;
-    assert.true  less 0005 217 ;
-    assert.true  less 5 00217 ;
-
-    # TEMPORARY disabled, because nested "try"/"catch" do not work and I do no
-    # have the time to fix that right now.
-    if $(0)
-    {
-    try ;
-    {
-        decrement 0 ;
-    }
-    catch can't decrement zero! ;
-
-    try ;
-    {
-        check foo ;
-    }
-    catch : not a number ;
-
-    try ;
-    {
-        increment foo ;
-    }
-    catch : not a number ;
-
-    try ;
-    {
-        log10 0 ;
-    }
-    catch can't take log of zero ;
-
-    try ;
-    {
-        log10 000 ;
-    }
-    catch can't take log of zero ;
-
-    }
-
-    assert.result 0 : log10 1 ;
-    assert.result 0 : log10 9 ;
-    assert.result 1 : log10 10 ;
-    assert.result 1 : log10 99 ;
-    assert.result 2 : log10 100 ;
-    assert.result 2 : log10 101 ;
-    assert.result 2 : log10 125 ;
-    assert.result 2 : log10 999 ;
-    assert.result 3 : log10 1000 ;
-    assert.result 10 : log10 12345678901 ;
-
-    for local x in [ range 75 110 : 5 ]
-    {
-        for local y in [ range $(x) 111 : 3 ]
-        {
-            if $(x) != $(y)
-            {
-                assert.true less $(x) $(y) ;
-            }
-        }
-    }
-
-    for local x in [ range 90 110 : 2 ]
-    {
-        for local y in [ range 80 $(x) : 4 ]
-        {
-            assert.false less $(x) $(y) ;
-        }
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/util/option.jam b/SRC/Boost/tools/build/v2/util/option.jam
deleted file mode 100755
index 9bb8f57..0000000
--- a/SRC/Boost/tools/build/v2/util/option.jam
+++ /dev/null
@@ -1,109 +0,0 @@
-#  Copyright (c) 2005 Vladimir Prus.
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-import modules ;
-
-# Set a value for a named option, to be used when not overridden on the command
-# line.
-rule set ( name : value ? )
-{
-    .option.$(name) = $(value) ;
-}
-
-rule get ( name : default-value ? : implied-value ? )
-{
-    local m = [ MATCH --$(name)=(.*) : [ modules.peek : ARGV ] ] ;
-    if $(m)
-    {
-        return $(m[1]) ;
-    }
-    else  
-    {        
-        m = [ MATCH (--$(name)) : [ modules.peek : ARGV ] ] ;
-        if $(m) && $(implied-value)
-        {
-            return $(implied-value) ;
-        }
-        else if $(.option.$(name))
-        {
-            return $(.option.$(name)) ;
-        }    
-        else
-        {
-            return $(default-value) ;
-        }    
-    }              
-}
-
-
-# Check command-line args as soon as possible. For each option try to load
-# module named after option. Is that succeeds, invoke 'process' rule in the
-# module. The rule may return "true" to indicate that the regular build process
-# should not be attempted.
-#
-# Options take the general form of: --<name>[=<value>] [<value>]
-#
-rule process ( )
-{
-    local ARGV = [ modules.peek : ARGV ] ;
-    local BOOST_BUILD_PATH = [ modules.peek : BOOST_BUILD_PATH ] ;
-
-    local dont-build ;
-    local args = $(ARGV) ;
-    while $(args)
-    {
-        local arg = [ MATCH ^--(.*) : $(args[1]) ] ;
-        while $(args[2-]) && ! $(arg)
-        {
-            args = $(args[2-]) ;
-            arg = [ MATCH ^--(.*) : $(args[1]) ] ;
-        }
-        args = $(args[2-]) ;
-
-        if $(arg)
-        {
-            local split = [ MATCH ^(([^-=]+)[^=]*)(=?)(.*)$ : $(arg) ] ;
-            local full-name = $(split[1]) ;
-            local prefix = $(split[2]) ;
-            local values ;
-
-            if $(split[3])
-            {
-                values = $(split[4]) ;
-            }
-            if $(args) && ! [ MATCH ^(--).* : $(args[1]) ]
-            {
-                values += $(args[1]) ;
-                args = $(args[2-]) ;
-            }
-
-            # Jook in options subdirectories of BOOST_BUILD_PATH for modules
-            # matching the full option name and then its prefix.
-            local plugin-dir = options ;
-            local option-files = [ GLOB $(plugin-dir:D=$(BOOST_BUILD_PATH)) :
-                $(full-name).jam $(prefix).jam ] ;
-
-            if $(option-files)
-            {
-                # Load the file into a module named for the option.
-                local f = $(option-files[1]) ;
-                local module-name = --$(f:D=:S=) ;
-                modules.load $(module-name) : $(f:D=) : $(f:D) ;
-
-                # If there is a process rule, call it with the full option name
-                # and its value (if any). If there was no "=" in the option, the
-                # value will be empty.
-                if process in [ RULENAMES $(module-name) ]
-                {
-                    dont-build += [ modules.call-in $(module-name) : process
-                        --$(full-name) : $(values) ] ;
-                }
-            }
-        }
-    }
-
-    return $(dont-build) ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/option.py b/SRC/Boost/tools/build/v2/util/option.py
deleted file mode 100755
index 868161f..0000000
--- a/SRC/Boost/tools/build/v2/util/option.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#  Copyright (c) 2005-2010 Vladimir Prus.
-#
-#  Use, modification and distribution is subject to the Boost Software
-#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or
-#  http://www.boost.org/LICENSE_1_0.txt)
-
-import sys
-import re
-import b2.util.regex
-
-options = {}
-
-# Set a value for a named option, to be used when not overridden on the command
-# line.
-def set(name, value=None):
-    
-    global options
-    
-    options[name] = value
-
-def get(name, default_value=None, implied_value=None):
-
-    global options
-
-    matches = b2.util.regex.transform(sys.argv, "--" + re.escape(name) + "=(.*)")
-    if matches:
-        return matches[-1]
-    else:
-        m = b2.util.regex.transform(sys.argv, "--(" + re.escape(name) + ")")
-        if m and implied_value:
-            return implied_value
-        elif options.has_key(name) and options[name] != None:
-            return options[name]
-        else:
-            return default_value
diff --git a/SRC/Boost/tools/build/v2/util/order.jam b/SRC/Boost/tools/build/v2/util/order.jam
deleted file mode 100755
index 88a1a68..0000000
--- a/SRC/Boost/tools/build/v2/util/order.jam
+++ /dev/null
@@ -1,169 +0,0 @@
-#  Copyright (C) 2003 Vladimir Prus
-#  Use, modification, and distribution is subject to the Boost Software
-#  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
-#  at http://www.boost.org/LICENSE_1_0.txt)
-
-#  This module defines a class which allows to order arbitrary object with
-# regard to arbitrary binary relation.
-#
-#  The primary use case is the gcc toolset, which is sensitive to library order:
-#  if library 'a' uses symbols from library 'b', then 'a' must be present before
-#  'b' on the linker's command line.
-#
-#  This requirement can be lifted for gcc with GNU ld, but for gcc with Solaris
-#  LD (and for Solaris toolset as well), the order always matters.
-#
-#  So, we need to store order requirements and then order libraries according to
-#  them. It is not possible to use the dependency graph as order requirements.
-#  What we need is a "use symbols" relationship while dependency graph provides
-#  the "needs to be updated" relationship.
-#
-#  For example::
-#    lib a : a.cpp b;
-#    lib b ;
-#
-#  For static linking, library 'a' need not depend on 'b'. However, it should
-#  still come before 'b' on the command line.
-
-class order
-{
-    rule __init__ ( )
-    {
-    }
-
-    # Adds the constraint that 'first' should preceede 'second'.
-    rule add-pair ( first second )
-    {
-        .constraits += $(first)--$(second) ;
-    }
-    NATIVE_RULE class at order : add-pair ;
-
-    # Given a list of objects, reorder them so that the constraints specified by
-    # 'add-pair' are satisfied.
-    #
-    # The algorithm was adopted from an awk script by Nikita Youshchenko
-    # (yoush at cs dot msu dot su)
-    rule order ( objects * )
-    {
-        # The algorithm used is the same is standard transitive closure, except
-        # that we're not keeping in-degree for all vertices, but rather removing
-        # edges.
-        local result ;
-        if $(objects)
-        {
-            local constraints = [ eliminate-unused-constraits $(objects) ] ;
-
-            # Find some library that nobody depends upon and add it to the
-            # 'result' array.
-            local obj ;
-            while $(objects)
-            {
-                local new_objects ;
-                while $(objects)
-                {
-                    obj = $(objects[1]) ;
-                    if [ has-no-dependents $(obj) : $(constraints) ]
-                    {
-                        # Emulate break ;
-                        new_objects += $(objects[2-]) ;
-                        objects = ;
-                    }
-                    else
-                    {
-                        new_objects += $(obj) ;
-                        obj = ;
-                        objects = $(objects[2-]) ;
-                    }
-                }
-
-                if ! $(obj)
-                {
-                    errors.error "Circular order dependencies" ;
-                }
-                # No problem with placing first.
-                result += $(obj) ;
-                # Remove all contraints where 'obj' comes first, since they are
-                # already satisfied.
-                constraints = [ remove-satisfied $(constraints) : $(obj) ] ;
-
-                # Add the remaining objects for further processing on the next
-                # iteration
-                objects = $(new_objects) ;
-            }
-
-        }
-        return $(result) ;
-    }
-    NATIVE_RULE class at order : order ;
-
-    # Eliminate constraints which mention objects not in 'objects'. In
-    # graph-theory terms, this is finding a subgraph induced by ordered
-    # vertices.
-    rule eliminate-unused-constraits ( objects * )
-    {
-        local result ;
-        for local c in $(.constraints)
-        {
-            local m = [ MATCH (.*)--(.*) : $(c) ] ;
-            if $(m[1]) in $(objects) && $(m[2]) in $(objects)
-            {
-                result += $(c) ;
-            }
-        }
-        return $(result) ;
-    }
-
-    # Returns true if there's no constraint in 'constaraints' where 'obj' comes
-    # second.
-    rule has-no-dependents ( obj : constraints * )
-    {
-        local failed ;
-        while $(constraints) && ! $(failed)
-        {
-            local c = $(constraints[1]) ;
-            local m = [ MATCH (.*)--(.*) : $(c) ] ;
-            if $(m[2]) = $(obj)
-            {
-                failed = true ;
-            }
-            constraints = $(constraints[2-]) ;
-        }
-        if ! $(failed)
-        {
-            return true ;
-        }
-    }
-
-    rule remove-satisfied ( constraints * : obj )
-    {
-        local result ;
-        for local c in $(constraints)
-        {
-            local m = [ MATCH (.*)--(.*) : $(c) ] ;
-            if $(m[1]) != $(obj)
-            {
-                result += $(c) ;
-            }
-        }
-        return $(result) ;
-    }
-}
-
-
-rule __test__ ( )
-{
-    import "class" : new ;
-    import assert ;
-
-    c1 = [ new order ] ;
-    $(c1).add-pair l1 l2 ;
-
-    assert.result l1 l2 : $(c1).order l1 l2 ;
-    assert.result l1 l2 : $(c1).order l2 l1 ;
-
-    $(c1).add-pair l2 l3 ;
-    assert.result l1 l2 : $(c1).order l2 l1 ;
-    $(c1).add-pair x l2 ;
-    assert.result l1 l2 : $(c1).order l2 l1 ;
-    assert.result l1 l2 l3 : $(c1).order l2 l3 l1 ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/order.py b/SRC/Boost/tools/build/v2/util/order.py
deleted file mode 100755
index 576229f..0000000
--- a/SRC/Boost/tools/build/v2/util/order.py
+++ /dev/null
@@ -1,121 +0,0 @@
-#  Copyright (C) 2003 Vladimir Prus
-#  Use, modification, and distribution is subject to the Boost Software
-#  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
-#  at http://www.boost.org/LICENSE_1_0.txt)
-
-class Order:
-    """Allows ordering arbitrary objects with regard to arbitrary binary relation.
-
-        The primary use case is the gcc toolset, which is sensitive to
-        library order: if library 'a' uses symbols from library 'b',
-        then 'a' must be present before 'b' on the linker's command line.
-        
-        This requirement can be lifted for gcc with GNU ld, but for gcc with
-        Solaris LD (and for Solaris toolset as well), the order always matters.
-        
-        So, we need to store order requirements and then order libraries
-        according to them. It it not possible to use dependency graph as
-        order requirements. What we need is "use symbols" relationship
-        while dependency graph provides "needs to be updated" relationship.
-        
-        For example::
-          lib a : a.cpp b;
-          lib b ;
-        
-        For static linking, the 'a' library need not depend on 'b'. However, it
-        still should come before 'b' on the command line.
-    """
-
-    def __init__ (self):
-        self.constraints_ = []
-        
-    def add_pair (self, first, second):
-        """ Adds the constraint that 'first' should precede 'second'.
-        """
-        self.constraints_.append ((first, second))
-
-    def order (self, objects):
-        """ Given a list of objects, reorder them so that the constains specified
-            by 'add_pair' are satisfied.
-            
-            The algorithm was adopted from an awk script by Nikita Youshchenko
-            (yoush at cs dot msu dot su)
-        """
-        # The algorithm used is the same is standard transitive closure,
-        # except that we're not keeping in-degree for all vertices, but
-        # rather removing edges.
-        result = []
-
-        if not objects: 
-            return result
-
-        constraints = self.__eliminate_unused_constraits (objects)
-        
-        # Find some library that nobody depends upon and add it to
-        # the 'result' array.
-        obj = None
-        while objects:
-            new_objects = []
-            while objects:
-                obj = objects [0]
-
-                if self.__has_no_dependents (obj, constraints):
-                    # Emulate break ;
-                    new_objects.extend (objects [1:])
-                    objects = []
-
-                else:
-                    new_objects.append (obj)
-                    obj = None
-                    objects = objects [1:]
-            
-            if not obj:
-                raise BaseException ("Circular order dependencies")
-
-            # No problem with placing first.
-            result.append (obj)
-
-            # Remove all containts where 'obj' comes first,
-            # since they are already satisfied.
-            constraints = self.__remove_satisfied (constraints, obj)
-
-            # Add the remaining objects for further processing
-            # on the next iteration
-            objects = new_objects
-            
-        return result
-
-    def __eliminate_unused_constraits (self, objects):
-        """ Eliminate constraints which mention objects not in 'objects'.
-            In graph-theory terms, this is finding subgraph induced by
-            ordered vertices.
-        """
-        result = []
-        for c in self.constraints_:
-            if c [0] in objects and c [1] in objects:
-                result.append (c)
-
-        return result
-    
-    def __has_no_dependents (self, obj, constraints):
-        """ Returns true if there's no constraint in 'constraints' where 
-            'obj' comes second.
-        """
-        failed = False
-        while constraints and not failed:
-            c = constraints [0]
-
-            if c [1] == obj:
-                failed = True
-
-            constraints = constraints [1:]
-
-        return not failed
-    
-    def __remove_satisfied (self, constraints, obj):
-        result = []
-        for c in constraints:
-            if c [0] != obj:
-                result.append (c)
-
-        return result
diff --git a/SRC/Boost/tools/build/v2/util/os.jam b/SRC/Boost/tools/build/v2/util/os.jam
deleted file mode 100755
index aa49210..0000000
--- a/SRC/Boost/tools/build/v2/util/os.jam
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright 2001, 2002, 2003, 2005 Dave Abrahams
-# Copyright 2006 Rene Rivera
-# Copyright 2003, 2005 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import modules ;
-import string ;
-
-
-# Return the value(s) of the given environment variable(s) at the time bjam was
-# invoked.
-rule environ ( variable-names + )
-{
-    return [ modules.peek .ENVIRON : $(variable-names) ] ;
-}
-
-.name = [ modules.peek : OS ] ;
-.platform = [ modules.peek : OSPLAT ] ;
-.version = [ modules.peek : OSVER ] ;
-
-
-local rule constant ( c : os ? )
-{
-    os ?= $(.name) ;
-    # First look for a platform-specific name, then the general value.
-    local variables = .$(c)-$(os) .$(c) ;
-    local result = $($(variables)) ;
-    return $(result[1]) ;
-}
-
-rule get-constant ( os ? )
-{
-    # Find the name of the constant being accessed, which is equal to the name
-    # used to invoke us.
-    local bt = [ BACKTRACE 1 ] ;
-    local rulename = [ MATCH ([^.]*)$ : $(bt[4]) ] ;
-    return [ constant $(rulename) : $(os) ] ;
-}
-
-
-# export all the common constants
-.constants = name platform version shared-library-path-variable path-separator executable-path-variable executable-suffix ;
-for local constant in $(.constants)
-{
-    IMPORT $(__name__) : get-constant : $(__name__) : $(constant) ;
-}
-EXPORT $(__name__) : $(.constants) ;
-
-.executable-path-variable-NT = PATH ;
-# On Windows the case and capitalization of PATH is not always predictable, so
-# let's find out what variable name was really set.
-if $(.name) = NT
-{
-    for local n in [ VARNAMES .ENVIRON ]
-    {
-        if $(n:L) = path
-        {
-            .executable-path-variable-NT = $(n) ;
-        }
-    }
-}
-
-# Specific constants for various platforms.  There's no need to define any
-# constant whose value would be the same as the default, below.
-.shared-library-path-variable-NT = $(.executable-path-variable-NT) ;
-.path-separator-NT = ";" ;
-.expand-variable-prefix-NT = % ;
-.expand-variable-suffix-NT = % ;
-.executable-suffix-NT = .exe ;
-
-.shared-library-path-variable-CYGWIN = PATH ;
-
-.shared-library-path-variable-MACOSX = DYLD_LIBRARY_PATH ;
-
-.shared-library-path-variable-AIX = LIBPATH ;
-
-# Default constants
-.shared-library-path-variable = LD_LIBRARY_PATH ;
-.path-separator = ":" ;
-.expand-variable-prefix = $ ;
-.expand-variable-suffix = "" ;
-.executable-path-variable = PATH ;
-.executable-suffix = "" ;
-
-
-# Return a list of the directories in the PATH. Yes, that information is (sort
-# of) available in the global module, but jam code can change those values, and
-# it isn't always clear what case/capitalization to use when looking. This rule
-# is a more reliable way to get there.
-rule executable-path ( )
-{
-    return [ string.words [ environ [ constant executable-path-variable ] ]
-        : [ constant path-separator ] ] ;
-}
-
-
-# Initialize the list of home directories for the current user depending on the
-# OS.
-if $(.name) = NT
-{
-    local home = [ environ HOMEDRIVE HOMEPATH ] ;
-    .home-directories = $(home[1])$(home[2]) [ environ HOME ] [ environ USERPROFILE ] ;
-}
-else
-{
-    .home-directories = [ environ HOME ] ;
-}
-
-
-# Can't use 'constant' mechanism because it only returns 1-element values.
-rule home-directories ( )
-{
-    return $(.home-directories) ;
-}
-
-
-# Return the string needed to represent the expansion of the named shell
-# variable.
-rule expand-variable ( variable )
-{
-    local prefix = [ constant expand-variable-prefix ] ;
-    local suffix = [ constant expand-variable-suffix ] ;
-    return $(prefix)$(variable)$(suffix) ;
-}
-
-
-# Returns true if running on windows, whether in cygwin or not.
-rule on-windows ( )
-{
-    local result ;
-    if [ modules.peek : NT ]
-    {
-        result = true ;
-    }
-    else if [ modules.peek : UNIX ]
-    {
-        switch [ modules.peek : JAMUNAME ]
-        {
-            case CYGWIN* :
-            {
-                result = true ;
-            }
-        }
-    }
-    return $(result) ;
-}
-
-
-if ! [ on-windows ]
-{
-    .on-unix = 1 ;
-}
-
-
-rule on-unix
-{
-    return $(.on-unix) ;
-}
-
-
-rule __test__
-{
-    import assert ;
-    if ! ( --quiet in [ modules.peek : ARGV ] )
-    {
-        ECHO os: name= [ name ] ;
-        ECHO os: version= [ version ] ;
-    }
-    assert.true name ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/os_j.py b/SRC/Boost/tools/build/v2/util/os_j.py
deleted file mode 100755
index b194e91..0000000
--- a/SRC/Boost/tools/build/v2/util/os_j.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# Status: stub, just enough to make tests work.
-#
-# Named os_j to avoid conflicts with standard 'os'. See
-# project.py:import for special-casing.
-#
-# Copyright 2001, 2002, 2003, 2005 Dave Abrahams
-# Copyright 2006 Rene Rivera
-# Copyright 2003, 2005 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import bjam
-
-__OS = bjam.call("peek", [], "OS")[0]
-
-# Return Jam's name of OS to prevent existing code from burning
-# when faced with Python naming
-def name():
-    return __OS
diff --git a/SRC/Boost/tools/build/v2/util/path.jam b/SRC/Boost/tools/build/v2/util/path.jam
deleted file mode 100755
index 06e1d8c..0000000
--- a/SRC/Boost/tools/build/v2/util/path.jam
+++ /dev/null
@@ -1,934 +0,0 @@
-# Copyright Vladimir Prus 2002-2006.
-# Copyright Dave Abrahams 2003-2004.
-# Copyright Rene Rivera 2003-2006.
-#
-# Distributed under the Boost Software License, Version 1.0.
-#    (See accompanying file LICENSE_1_0.txt or copy at
-#          http://www.boost.org/LICENSE_1_0.txt)
-
-# Performs various path manipulations. Paths are always in a 'normalized'
-# representation. In it, a path may be either:
-#
-#     - '.', or
-#
-#     - ['/'] [ ( '..' '/' )* (token '/')* token ]
-#
-# In plain english, path can be rooted, '..' elements are allowed only at the
-# beginning, and it never ends in slash, except for path consisting of slash
-# only.
-
-import errors ;
-import modules ;
-import regex ;
-import sequence ;
-import set ;
-import version ;
-
-
-os = [ modules.peek : OS ] ;
-if [ modules.peek : UNIX ]
-{
-    local uname = [ modules.peek : JAMUNAME ] ;
-    switch $(uname)
-    {
-        case CYGWIN* : os = CYGWIN ;
-        case *       : os = UNIX ;
-    }
-}
-
-
-# Converts the native path into normalized form.
-#
-rule make ( native )
-{
-    return [ make-$(os) $(native) ] ;
-}
-
-
-# Builds native representation of the path.
-#
-rule native ( path )
-{
-    return [ native-$(os) $(path) ] ;
-}
-
-
-# Tests if a path is rooted.
-#
-rule is-rooted ( path )
-{
-    return [ MATCH "^(/)" : $(path) ] ;
-}
-
-
-# Tests if a path has a parent.
-#
-rule has-parent ( path )
-{
-    if $(path) != /
-    {
-        return 1 ;
-    }
-    else
-    {
-        return ;
-    }
-}
-
-
-# Returns the path without any directory components.
-#
-rule basename ( path )
-{
-    return [ MATCH "([^/]+)$" : $(path) ] ;
-}
-
-
-# Returns parent directory of the path. If no parent exists, error is issued.
-#
-rule parent ( path )
-{
-    if [ has-parent $(path) ]
-    {
-        if $(path) = .
-        {
-            return .. ;
-        }
-        else
-        {
-            # Strip everything at the end of path up to and including the last
-            # slash.
-            local result = [ regex.match "((.*)/)?([^/]+)" : $(path) : 2 3 ] ;
-
-            # Did we strip what we shouldn't?
-            if $(result[2]) = ".."
-            {
-                return $(path)/.. ;
-            }
-            else
-            {
-                if ! $(result[1])
-                {
-                    if [ is-rooted $(path) ]
-                    {
-                        result = / ;
-                    }
-                    else
-                    {
-                        result = . ;
-                    }
-                }
-                return $(result[1]) ;
-            }
-        }
-    }
-    else
-    {
-        errors.error "Path '$(path)' has no parent" ;
-    }
-}
-
-
-# Returns path2 such that "[ join path path2 ] = .". The path may not contain
-# ".." element or be rooted.
-#
-rule reverse ( path )
-{
-    if $(path) = .
-    {
-        return $(path) ;
-    }
-    else
-    {
-        local tokens = [ regex.split $(path) "/" ] ;
-        local tokens2 ;
-        for local i in $(tokens)
-        {
-            tokens2 += .. ;
-        }
-        return [ sequence.join $(tokens2) : "/" ] ;
-    }
-}
-
-
-# Concatenates the passed path elements. Generates an error if any element other
-# than the first one is rooted. Skips any empty or undefined path elements.
-#
-rule join ( elements + )
-{
-    if ! $(elements[2-])
-    {
-        return $(elements[1]) ;
-    }
-    else
-    {
-        for local e in $(elements[2-])
-        {
-            if [ is-rooted $(e) ]
-            {
-                errors.error only the first element may be rooted ;
-            }
-        }
-        if [ version.check-jam-version 3 1 17 ]
-        {
-            return [ NORMALIZE_PATH "$(elements)" ] ;
-        }
-        else
-        {
-            # Boost Jam prior to version 3.1.17 had problems with its
-            # NORMALIZE_PATH rule in case you passed it a leading backslash
-            # instead of a slash, in some cases when you sent it an empty
-            # initial path element and possibly some others. At least some of
-            # those cases were being hit and relied upon when calling this rule
-            # from the path.make-NT rule.
-            if ! $(elements[1]) && $(elements[2])
-            {
-                return [ NORMALIZE_PATH "/" "$(elements[2-])" ] ;
-            }
-            else
-            {
-                return [ NORMALIZE_PATH "$(elements)" ] ;
-            }
-        }
-    }
-}
-
-
-# If 'path' is relative, it is rooted at 'root'. Otherwise, it is unchanged.
-#
-rule root ( path root )
-{
-    if [ is-rooted $(path) ]
-    {
-        return $(path) ;
-    }
-    else
-    {
-        return [ join $(root) $(path) ] ;
-    }
-}
-
-
-# Returns the current working directory.
-#
-rule pwd ( )
-{
-    if ! $(.pwd)
-    {
-        .pwd = [ make [ PWD ] ] ;
-    }
-    return $(.pwd) ;
-}
-
-
-# Returns the list of files matching the given pattern in the specified
-# directory. Both directories and patterns are supplied as portable paths. Each
-# pattern should be non-absolute path, and can't contain "." or ".." elements.
-# Each slash separated element of pattern can contain the following special
-# characters:
-#   - '?', which match any character
-#   - '*', which matches arbitrary number of characters.
-# A file $(d)/e1/e2/e3 (where 'd' is in $(dirs)) matches pattern p1/p2/p3 if and
-# only if e1 matches p1, e2 matches p2 and so on.
-#
-# For example:
-#   [ glob . : *.cpp ]
-#   [ glob . : */build/Jamfile ]
-#
-rule glob ( dirs * : patterns + : exclude-patterns * )
-{
-    local result ;
-    local real-patterns ;
-    local real-exclude-patterns ;
-    for local d in $(dirs)
-    {
-        for local p in $(patterns)
-        {
-            local pattern = [ path.root $(p) $(d) ] ;
-            real-patterns += [ path.native $(pattern) ] ;
-        }
-
-        for local p in $(exclude-patterns)
-        {
-            local pattern = [ path.root $(p) $(d) ] ;
-            real-exclude-patterns += [ path.native $(pattern) ] ;
-        }
-    }
-
-    local inc = [ GLOB-RECURSIVELY $(real-patterns) ] ;
-    inc = [ sequence.transform NORMALIZE_PATH : $(inc) ] ;
-    local exc = [ GLOB-RECURSIVELY $(real-exclude-patterns) ] ;
-    exc = [ sequence.transform NORMALIZE_PATH : $(exc) ] ;
-
-    return [ sequence.transform path.make : [ set.difference $(inc) : $(exc) ] ]
-        ;
-}
-
-
-# Recursive version of GLOB. Builds the glob of files while also searching in
-# the subdirectories of the given roots. An optional set of exclusion patterns
-# will filter out the matching entries from the result. The exclusions also
-# apply to the subdirectory scanning, such that directories that match the
-# exclusion patterns will not be searched.
-#
-rule glob-tree ( roots * : patterns + : exclude-patterns * )
-{
-    return [ sequence.transform path.make : [ .glob-tree [ sequence.transform
-        path.native : $(roots) ] : $(patterns) : $(exclude-patterns) ] ] ;
-}
-
-
-local rule .glob-tree ( roots * : patterns * : exclude-patterns * )
-{
-    local excluded ;
-    if $(exclude-patterns)
-    {
-        excluded = [ GLOB $(roots) : $(exclude-patterns) ] ;
-    }
-    local result = [ set.difference [ GLOB $(roots) : $(patterns) ] :
-        $(excluded) ] ;
-    local subdirs ;
-    for local d in [ set.difference [ GLOB $(roots) : * ] : $(excluded) ]
-    {
-        if ! ( $(d:D=) in . .. ) && ! [ CHECK_IF_FILE $(d) ]
-        {
-            subdirs += $(d) ;
-        }
-    }
-    if $(subdirs)
-    {
-        result += [ .glob-tree $(subdirs) : $(patterns) : $(exclude-patterns) ]
-            ;
-    }
-    return $(result) ;
-}
-
-
-# Returns true is the specified file exists.
-#
-rule exists ( file )
-{
-    return [ path.glob $(file:D) : $(file:D=) ] ;
-}
-NATIVE_RULE path : exists ;
-
-
-# Find out the absolute name of path and returns the list of all the parents,
-# starting with the immediate one. Parents are returned as relative names. If
-# 'upper_limit' is specified, directories above it will be pruned.
-#
-rule all-parents ( path : upper_limit ? : cwd ? )
-{
-    cwd ?= [ pwd ] ;
-    local path_ele = [ regex.split [ root $(path) $(cwd) ] "/" ] ;
-
-    if ! $(upper_limit)
-    {
-        upper_limit = / ;
-    }
-    local upper_ele = [ regex.split [ root $(upper_limit) $(cwd) ] "/" ] ;
-
-    # Leave only elements in 'path_ele' below 'upper_ele'.
-    while $(path_ele) && ( $(upper_ele[1]) = $(path_ele[1]) )
-    {
-        upper_ele = $(upper_ele[2-]) ;
-        path_ele = $(path_ele[2-]) ;
-    }
-
-    # Have all upper elements been removed ?
-    if $(upper_ele)
-    {
-        errors.error "$(upper_limit) is not prefix of $(path)" ;
-    }
-    
-    # Create the relative paths to parents, number of elements in 'path_ele'.
-    local result ;
-    for local i in $(path_ele)
-    {
-        path = [ parent $(path) ] ;
-        result += $(path) ;
-    }
-    return $(result) ;
-}
-
-
-# Search for 'pattern' in parent directories of 'dir', up till and including
-# 'upper_limit', if it is specified, or till the filesystem root otherwise.
-#
-rule glob-in-parents ( dir : patterns + : upper-limit ? )
-{
-    local result ;
-    local parent-dirs = [ all-parents $(dir) : $(upper-limit) ] ;
-
-    while $(parent-dirs) && ! $(result)
-    {
-        result = [ glob $(parent-dirs[1]) : $(patterns) ] ;
-        parent-dirs = $(parent-dirs[2-]) ;
-    }
-    return $(result) ;
-}
-
-
-# Assuming 'child' is a subdirectory of 'parent', return the relative path from
-# 'parent' to 'child'.
-#
-rule relative ( child parent : no-error ? )
-{
-    local not-a-child ;
-    if $(parent) = "."
-    {
-        return $(child) ;
-    }
-    else
-    {
-        local split1 = [ regex.split $(parent) / ] ;
-        local split2 = [ regex.split $(child) / ] ;
-
-        while $(split1)
-        {
-            if $(split1[1]) = $(split2[1])
-            {
-                split1 = $(split1[2-]) ;
-                split2 = $(split2[2-]) ;
-            }
-            else
-            {
-                not-a-child = true ;
-                split1 = ;
-            }
-        }
-        if $(split2)
-        {
-            if $(not-a-child)
-            {
-                if $(no-error)
-                {
-                    return not-a-child ;
-                }
-                else
-                {
-                    errors.error $(child) is not a subdir of $(parent) ;
-                }                        
-            }
-            else
-            {
-                return [ join $(split2) ] ;    
-            }        
-        }
-        else
-        {
-            return "." ;
-        }
-    }
-}
-
-
-# Returns the minimal path to path2 that is relative path1.
-#
-rule relative-to ( path1 path2 )
-{
-    local root_1 = [ regex.split [ reverse $(path1) ] / ] ;
-    local split1 = [ regex.split $(path1) / ] ;
-    local split2 = [ regex.split $(path2) / ] ;
-
-    while $(split1) && $(root_1)
-    {
-        if $(split1[1]) = $(split2[1])
-        {
-            root_1 = $(root_1[2-]) ;
-            split1 = $(split1[2-]) ;
-            split2 = $(split2[2-]) ;
-        }
-        else
-        {
-            split1 = ;
-        }
-    }
-    return [ join . $(root_1) $(split2) ] ;
-}
-
-
-# Returns the list of paths which are used by the operating system for looking
-# up programs.
-#
-rule programs-path ( )
-{
-    local result ;
-    local raw = [ modules.peek : PATH Path path ] ;
-    for local p in $(raw)
-    {
-        if $(p)
-        {
-            result += [ path.make $(p) ] ;
-        }
-    }
-    return $(result) ;
-}
-
-rule makedirs ( path )
-{
-    local result = true ;
-    local native = [ native $(path) ] ;
-    if ! [ exists $(native) ]
-    {
-        if [ makedirs [ parent $(path) ] ]
-        {            
-            if ! [ MAKEDIR $(native) ]
-            {
-                errors.error "Could not create directory '$(path)'" ;
-                result = ;
-            }
-        }        
-    }    
-    return $(result) ;
-}
-
-# Converts native Windows paths into our internal canonic path representation.
-# Supports 'invalid' paths containing multiple successive path separator
-# characters.
-#
-# TODO: Check and if needed add support for Windows 'X:file' path format where
-# the file is located in the current folder on drive X.
-#
-rule make-NT ( native )
-{
-    local result ;
-
-    if [ version.check-jam-version 3 1 17 ]
-    {
-        result = [ NORMALIZE_PATH $(native) ] ;
-    }
-    else
-    {
-        # This old implementation is really fragile due to a not so clear way
-        # NORMALIZE_PATH rule worked in Boost.Jam versions prior to 3.1.17. E.g.
-        # path.join would mostly ignore empty path elements but would root the
-        # joined path in case the initial two path elements were empty or some
-        # similar accidental wierdness.
-        result = [ path.join [ regex.split $(native) "[/\\]" ] ] ;
-    }
-
-    # We need to add an extra '/' in front in case this is a rooted Windows path
-    # starting with a drive letter and not a path separator character since the
-    # builtin NORMALIZE_PATH rule has no knowledge of this leading drive letter
-    # and treats it as a regular folder name.
-    if [ regex.match "(^.:)" : $(native) ]
-    {
-        result = /$(result) ;
-    }
-
-    return $(result) ;
-}
-
-
-rule native-NT ( path )
-{
-    local result ;
-    if [ is-rooted $(path) ] && ! [ regex.match "^/(.:)" : $(path) ]
-    {
-        result = $(path) ;
-    }
-    else
-    {
-        result = [ MATCH "^/?(.*)" : $(path) ] ;
-    }
-    result = [ sequence.join [ regex.split $(result) "/" ] : "\\" ] ;
-    return $(result) ;
-}
-
-
-rule make-UNIX ( native )
-{
-    # VP: I have no idea now 'native' can be empty here! But it can!
-    if ! $(native)
-    {
-        errors.error "Empty path passed to 'make-UNIX'" ;
-    }
-    else
-    {
-        return [ NORMALIZE_PATH $(native:T) ] ;
-    }
-}
-
-
-rule native-UNIX ( path )
-{
-    return $(path) ;
-}
-
-
-rule make-CYGWIN ( path )
-{
-    return [ make-NT $(path) ] ;
-}
-
-
-rule native-CYGWIN ( path )
-{
-    local result = $(path) ;
-    if [ regex.match "(^/.:)" : $(path)  ]  # Windows absolute path.
-    {
-        result = [ MATCH "^/?(.*)" : $(path) ] ;  # Remove leading '/'.
-    }
-    return [ native-UNIX $(result) ] ;
-}
-
-
-# split-path-VMS: splits input native path into device dir file (each part is
-# optional).
-#
-# example:
-#
-# dev:[dir]file.c => dev: [dir] file.c
-#
-rule split-path-VMS ( native )
-{
-    local matches = [ MATCH ([a-zA-Z0-9_-]+:)?(\\[[^\]]*\\])?(.*)?$   : $(native) ] ;
-    local device = $(matches[1]) ;
-    local dir = $(matches[2]) ;
-    local file = $(matches[3]) ;
-
-    return $(device) $(dir) $(file) ;
-}
-
-
-# Converts a native VMS path into a portable path spec.
-#
-# Does not handle current-device absolute paths such as "[dir]File.c" as it is
-# not clear how to represent them in the portable path notation.
-#
-# Adds a trailing dot (".") to the file part if no extension is present (helps
-# when converting it back into native path).
-#
-rule make-VMS ( native )
-{
-    if [ MATCH ^(\\[[a-zA-Z0-9]) : $(native) ]
-    {
-        errors.error "Can't handle default-device absolute paths: " $(native) ;
-    }
-
-    local parts = [ split-path-VMS $(native) ] ;
-    local device = $(parts[1]) ;
-    local dir = $(parts[2]) ;
-    local file = $(parts[3]) ;
-    local elems ;
-
-    if $(device)
-    {
-        #
-        # rooted
-        #
-        elems = /$(device) ;
-    }
-
-    if $(dir) = "[]"
-    {
-        #
-        # Special case: current directory
-        #
-        elems = $(elems) "." ;
-    }
-    else if $(dir)
-    {
-        dir = [ regex.replace $(dir) "\\[|\\]" "" ] ;
-        local dir_parts = [ regex.split $(dir) \\. ]  ;
-
-        if $(dir_parts[1]) = ""
-        {
-            #
-            # Relative path
-            #
-            dir_parts = $(dir_parts[2--1]) ;
-        }
-
-        #
-        # replace "parent-directory" parts (- => ..)
-        #
-        dir_parts = [ regex.replace-list $(dir_parts) : - : .. ] ;
-
-        elems = $(elems) $(dir_parts) ;
-    }
-
-    if $(file)
-    {
-        if ! [ MATCH (\\.) : $(file) ]
-        {
-            #
-            # Always add "." to end of non-extension file.
-            #
-            file = $(file). ;
-        }
-        elems = $(elems) $(file) ;
-    }
-
-    local portable = [ path.join $(elems) ] ;
-
-    return $(portable) ;
-}
-
-
-# Converts a portable path spec into a native VMS path.
-#
-# Relies on having at least one dot (".") included in the file name to be able
-# to differentiate it from the directory part.
-#
-rule native-VMS ( path )
-{
-    local device = "" ;
-    local dir = $(path) ;
-    local file = "" ;
-    local native ;
-    local split ;
-
-    #
-    # Has device ?
-    #
-    if [ is-rooted $(dir) ]
-    {
-        split = [ MATCH ^/([^:]+:)/?(.*) : $(dir) ] ;
-        device = $(split[1]) ;
-        dir = $(split[2]) ;
-    }
-
-    #
-    # Has file ?
-    #
-    # This is no exact science, just guess work:
-    #
-    # If the last part of the current path spec
-    # includes some chars, followed by a dot,
-    # optionally followed by more chars -
-    # then it is a file (keep your fingers crossed).
-    #
-    split = [ regex.split $(dir) / ] ;
-    local maybe_file = $(split[-1]) ;
-
-    if [ MATCH ^([^.]+\\..*) : $(maybe_file) ]
-    {
-        file = $(maybe_file) ;
-        dir = [ sequence.join $(split[1--2]) : / ] ;
-    }
-
-    #
-    # Has dir spec ?
-    #
-    if $(dir) = "."
-    {
-        dir = "[]" ;
-    }
-    else if $(dir)
-    {
-        dir = [ regex.replace $(dir) \\.\\. - ] ;
-        dir = [ regex.replace $(dir) / . ] ;
-
-        if $(device) = ""
-        {
-            #
-            # Relative directory
-            #
-            dir = "."$(dir) ;
-        }
-        dir = "["$(dir)"]" ;
-    }
-
-    native = [ sequence.join $(device) $(dir) $(file) ] ;
-
-    return $(native) ;
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-    import errors : try catch ;
-
-    assert.true is-rooted "/" ;
-    assert.true is-rooted "/foo" ;
-    assert.true is-rooted "/foo/bar" ;
-    assert.result : is-rooted "." ;
-    assert.result : is-rooted "foo" ;
-    assert.result : is-rooted "foo/bar" ;
-
-    assert.true has-parent "foo" ;
-    assert.true has-parent "foo/bar" ;
-    assert.true has-parent "." ;
-    assert.result : has-parent "/" ;
-
-    assert.result "." : basename "." ;
-    assert.result ".." : basename ".." ;
-    assert.result "foo" : basename "foo" ;
-    assert.result "foo" : basename "bar/foo" ;
-    assert.result "foo" : basename "gaz/bar/foo" ;
-    assert.result "foo" : basename "/gaz/bar/foo" ;
-
-    assert.result "." : parent "foo" ;
-    assert.result "/" : parent "/foo" ;
-    assert.result "foo/bar" : parent "foo/bar/giz" ;
-    assert.result ".." : parent "." ;
-    assert.result ".." : parent "../foo" ;
-    assert.result "../../foo" : parent "../../foo/bar" ;
-
-    assert.result "." : reverse "." ;
-    assert.result ".." : reverse "foo" ;
-    assert.result "../../.." : reverse "foo/bar/giz" ;
-
-    assert.result "foo" : join "foo" ;
-    assert.result "/foo" : join "/" "foo" ;
-    assert.result "foo/bar" : join "foo" "bar" ;
-    assert.result "foo/bar" : join "foo/giz" "../bar" ;
-    assert.result "foo/giz" : join "foo/bar/baz" "../../giz" ;
-    assert.result ".." : join "." ".." ;
-    assert.result ".." : join "foo" "../.." ;
-    assert.result "../.." : join "../foo" "../.." ;
-    assert.result "/foo" : join "/bar" "../foo" ;
-    assert.result "foo/giz" : join "foo/giz" "." ;
-    assert.result "." : join lib2 ".." ;
-    assert.result "/" : join "/a" ".." ;
-
-    assert.result /a/b : join /a/b/c .. ;
-
-    assert.result "foo/bar/giz" : join "foo" "bar" "giz" ;
-    assert.result "giz" : join "foo" ".." "giz" ;
-    assert.result "foo/giz" : join "foo" "." "giz" ;
-
-    try ;
-    {
-        join "a" "/b" ;
-    }
-    catch only first element may be rooted ;
-
-    local CWD = "/home/ghost/build" ;
-    assert.result : all-parents . : . : $(CWD) ;
-    assert.result . .. ../.. ../../..  : all-parents "Jamfile" : "" : $(CWD) ;
-    assert.result foo . .. ../.. ../../.. : all-parents "foo/Jamfile" : "" : $(CWD) ;
-    assert.result ../Work .. ../.. ../../.. : all-parents "../Work/Jamfile" : "" : $(CWD) ;
-
-    local CWD = "/home/ghost" ;
-    assert.result . .. : all-parents "Jamfile" : "/home" : $(CWD) ;
-    assert.result . : all-parents "Jamfile" : "/home/ghost" : $(CWD) ;
-
-    assert.result "c/d" : relative "a/b/c/d" "a/b" ;
-    assert.result "foo" : relative "foo" "." ;
-
-    local save-os = [ modules.peek path : os ] ;
-    modules.poke path : os : NT ;
-
-    assert.result "foo/bar/giz" : make "foo/bar/giz" ;
-    assert.result "foo/bar/giz" : make "foo\\bar\\giz" ;
-    assert.result "foo" : make "foo/" ;
-    assert.result "foo" : make "foo\\" ;
-    assert.result "foo" : make "foo/." ;
-    assert.result "foo" : make "foo/bar/.." ;
-    assert.result "foo" : make "foo/bar/../" ;
-    assert.result "foo" : make "foo/bar/..\\" ;
-    assert.result "foo/bar" : make "foo/././././bar" ;
-    assert.result "/foo" : make "\\foo" ;
-    assert.result "/D:/My Documents" : make "D:\\My Documents" ;
-    assert.result "/c:/boost/tools/build/new/project.jam" : make "c:\\boost\\tools\\build\\test\\..\\new\\project.jam" ;
-    
-    #   Test processing 'invalid' paths containing multiple successive path
-    # separators.
-    assert.result "foo" : make "foo//" ;
-    assert.result "foo" : make "foo///" ;
-    assert.result "foo" : make "foo\\\\" ;
-    assert.result "foo" : make "foo\\\\\\" ;
-    assert.result "/foo" : make "//foo" ;
-    assert.result "/foo" : make "///foo" ;
-    assert.result "/foo" : make "\\\\foo" ;
-    assert.result "/foo" : make "\\\\\\foo" ;
-    assert.result "/foo" : make "\\/\\/foo" ;
-    assert.result "foo/bar" : make "foo//\\//\\\\bar//\\//\\\\\\//\\//\\\\" ;
-    assert.result "foo" : make "foo/bar//.." ;
-    assert.result "foo/bar" : make "foo/bar/giz//.." ;
-    assert.result "foo/giz" : make "foo//\\//\\\\bar///\\\\//\\\\////\\/..///giz\\//\\\\\\//\\//\\\\" ;
-    assert.result "../../../foo" : make "..///.//..///.//..////foo///" ;
-
-    #   Test processing 'invalid' rooted paths with too many '..' path elements
-    # that would place them before the root.
-    assert.result : make "/.." ;
-    assert.result : make "/../" ;
-    assert.result : make "/../." ;
-    assert.result : make "/.././" ;
-    assert.result : make "/foo/../bar/giz/.././././../../." ;
-    assert.result : make "/foo/../bar/giz/.././././../.././" ;
-    assert.result : make "//foo/../bar/giz/.././././../../." ;
-    assert.result : make "//foo/../bar/giz/.././././../.././" ;
-    assert.result : make "\\\\foo/../bar/giz/.././././../../." ;
-    assert.result : make "\\\\foo/../bar/giz/.././././../.././" ;
-    assert.result : make "/..///.//..///.//..////foo///" ;
-
-    assert.result "foo\\bar\\giz" : native "foo/bar/giz" ;
-    assert.result "foo" : native "foo" ;
-    assert.result "\\foo" : native "/foo" ;
-    assert.result "D:\\My Documents\\Work" : native "/D:/My Documents/Work" ;
-
-    modules.poke path : os : UNIX ;
-
-    assert.result "foo/bar/giz" : make "foo/bar/giz" ;
-    assert.result "/sub1" : make "/sub1/." ;
-    assert.result "/sub1" : make "/sub1/sub2/.." ;
-    assert.result "sub1" : make "sub1/." ;
-    assert.result "sub1" : make "sub1/sub2/.." ;
-    assert.result "/foo/bar" : native "/foo/bar" ;
-
-    modules.poke path : os : VMS ;
-
-    #
-    # Don't really need to poke os before these
-    #
-    assert.result "disk:" "[dir]"  "file" : split-path-VMS "disk:[dir]file" ;
-    assert.result "disk:" "[dir]"  ""     : split-path-VMS "disk:[dir]" ;
-    assert.result "disk:" ""       ""     : split-path-VMS "disk:" ;
-    assert.result "disk:" ""       "file" : split-path-VMS "disk:file" ;
-    assert.result ""      "[dir]"  "file" : split-path-VMS "[dir]file" ;
-    assert.result ""      "[dir]"  ""     : split-path-VMS "[dir]" ;
-    assert.result ""      ""       "file" : split-path-VMS "file" ;
-    assert.result ""      ""       ""     : split-path-VMS "" ;
-
-    #
-    # Special case: current directory
-    #
-    assert.result ""      "[]"     ""     : split-path-VMS "[]" ;
-    assert.result "disk:" "[]"     ""     : split-path-VMS "disk:[]" ;
-    assert.result ""      "[]"     "file" : split-path-VMS "[]file" ;
-    assert.result "disk:" "[]"     "file" : split-path-VMS "disk:[]file" ;
-
-    #
-    # Make portable paths
-    #
-    assert.result "/disk:" : make "disk:" ;
-    assert.result "foo/bar/giz" : make "[.foo.bar.giz]" ;
-    assert.result "foo" : make "[.foo]" ;
-    assert.result "foo" : make "[.foo.bar.-]" ;
-    assert.result ".." : make "[.-]" ;
-    assert.result ".." : make "[-]" ;
-    assert.result "." : make "[]" ;
-    assert.result "giz.h" : make "giz.h" ;
-    assert.result "foo/bar/giz.h" : make "[.foo.bar]giz.h" ;
-    assert.result "/disk:/my_docs" : make "disk:[my_docs]" ;
-    assert.result "/disk:/boost/tools/build/new/project.jam" : make "disk:[boost.tools.build.test.-.new]project.jam" ;
-
-    #
-    # Special case (adds '.' to end of file w/o extension to
-    # disambiguate from directory in portable path spec).
-    #
-    assert.result "Jamfile." : make "Jamfile" ;
-    assert.result "dir/Jamfile." : make "[.dir]Jamfile" ;
-    assert.result "/disk:/dir/Jamfile." : make "disk:[dir]Jamfile" ;
-
-    #
-    # Make native paths
-    #
-    assert.result "disk:" : native "/disk:" ;
-    assert.result "[.foo.bar.giz]" : native "foo/bar/giz" ;
-    assert.result "[.foo]" : native "foo" ;
-    assert.result "[.-]" : native ".." ;
-    assert.result "[.foo.-]" : native "foo/.." ;
-    assert.result "[]" : native "." ;
-    assert.result "disk:[my_docs.work]" : native "/disk:/my_docs/work" ;
-    assert.result "giz.h" : native "giz.h" ;
-    assert.result "disk:Jamfile." : native "/disk:Jamfile." ;
-    assert.result "disk:[my_docs.work]Jamfile." : native "/disk:/my_docs/work/Jamfile." ;
-
-    modules.poke path : os : $(save-os) ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/path.py b/SRC/Boost/tools/build/v2/util/path.py
deleted file mode 100755
index 7930e63..0000000
--- a/SRC/Boost/tools/build/v2/util/path.py
+++ /dev/null
@@ -1,904 +0,0 @@
-# Status: this module is ported on demand by however needs something
-# from it.  Functionality that is not needed by Python port will
-# be dropped.
-
-#  Copyright (C) Vladimir Prus 2002. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-
-#  Performs various path manipulations. Path are always in a 'normilized' 
-#  representation. In it, a path may be either:
-#
-#     - '.', or
-#
-#     - ['/'] [ ( '..' '/' )*  (token '/')* token ]
-# 
-#   In plain english, path can be rooted, '..' elements are allowed only
-#   at the beginning, and it never ends in slash, except for path consisting
-#   of slash only.
-
-import os.path
-from utility import to_seq
-from glob import glob as builtin_glob
-
-from b2.util import bjam_signature
-
- at bjam_signature((["path", "root"],))
-def root (path, root):
-    """ If 'path' is relative, it is rooted at 'root'. Otherwise, it's unchanged.
-    """
-    if os.path.isabs (path):
-        return path
-    else:
-        return os.path.join (root, path)
-
- at bjam_signature((["native"],))
-def make (native):
-    """ Converts the native path into normalized form.
-    """
-    # TODO: make os selection here.
-    return make_UNIX (native)
-
-def make_UNIX (native):
-
-    # VP: I have no idea now 'native' can be empty here! But it can!
-    assert (native)
-
-    return os.path.normpath (native)
-
- at bjam_signature((["path"],))
-def native (path):
-    """ Builds a native representation of the path.
-    """
-    # TODO: make os selection here.
-    return native_UNIX (path)
-
-def native_UNIX (path):
-    return path
-
-
-def pwd ():
-    """ Returns the current working directory.
-        # TODO: is it a good idea to use the current dir? Some use-cases 
-                may not allow us to depend on the current dir.
-    """
-    return make (os.getcwd ())
-
-def is_rooted (path):
-    """ Tests if a path is rooted.
-    """
-    return path and path [0] == '/'
-
-
-###################################################################
-# Still to port.
-# Original lines are prefixed with "#   "
-#
-#   #  Copyright (C) Vladimir Prus 2002. Permission to copy, use, modify, sell and
-#   #  distribute this software is granted provided this copyright notice appears in
-#   #  all copies. This software is provided "as is" without express or implied
-#   #  warranty, and with no claim as to its suitability for any purpose.
-#   
-#   #  Performs various path manipulations. Path are always in a 'normilized' 
-#   #  representation. In it, a path may be either:
-#   #
-#   #     - '.', or
-#   #
-#   #     - ['/'] [ ( '..' '/' )*  (token '/')* token ]
-#   # 
-#   #   In plain english, path can be rooted, '..' elements are allowed only
-#   #   at the beginning, and it never ends in slash, except for path consisting
-#   #   of slash only.
-#   
-#   import modules ;
-#   import sequence ;
-#   import regex ;
-#   import errors : error ;
-#   
-#   
-#   os = [ modules.peek : OS ] ;
-#   if [ modules.peek : UNIX ] 
-#   {    
-#       local uname = [ modules.peek : JAMUNAME ] ;
-#       switch $(uname)
-#       {
-#           case CYGWIN* :
-#             os = CYGWIN ;
-#           
-#           case * :
-#             os = UNIX ;
-#       }        
-#   }
-#   
-#   #
-#   #    Tests if a path is rooted.
-#   #
-#   rule is-rooted ( path )
-#   {
-#       return [ MATCH "^(/)" : $(path) ] ;
-#   }
-#   
-#   #
-#   #    Tests if a path has a parent.
-#   #
-#   rule has-parent ( path )
-#   {
-#       if $(path) != / {
-#           return 1 ;
-#       } else {
-#           return ;
-#       }
-#   }
-#   
-#   #
-#   #    Returns the path without any directory components.
-#   #
-#   rule basename ( path )
-#   {
-#       return [ MATCH "([^/]+)$" : $(path) ] ;
-#   }
-#   
-#   #
-#   #    Returns parent directory of the path. If no parent exists, error is issued.
-#   #
-#   rule parent ( path )
-#   {
-#       if [ has-parent $(path) ] {
-#   
-#           if $(path) = . {
-#               return .. ;
-#           } else {
-#   
-#               # Strip everything at the end of path up to and including
-#               # the last slash
-#               local result = [ regex.match "((.*)/)?([^/]+)" : $(path) : 2 3 ] ;
-#   
-#               # Did we strip what we shouldn't?
-#               if $(result[2]) = ".." {
-#                   return $(path)/.. ;
-#               } else {
-#                   if ! $(result[1]) {
-#                       if [ is-rooted $(path) ] {
-#                           result = / ;
-#                       } else {
-#                           result = . ;
-#                       }
-#                   }
-#                   return $(result[1]) ;
-#               }
-#           }
-#       } else {
-#           error "Path '$(path)' has no parent" ;
-#       }
-#   }
-#   
-#   #
-#   #    Returns path2 such that "[ join path path2 ] = .".
-#   #    The path may not contain ".." element or be rooted.
-#   #
-#   rule reverse ( path )
-#   {
-#       if $(path) = .
-#       {
-#           return $(path) ;
-#       }
-#       else
-#       {
-#           local tokens = [ regex.split $(path) "/" ] ;
-#           local tokens2 ;
-#           for local i in $(tokens) {
-#               tokens2 += .. ;
-#           }
-#           return [ sequence.join $(tokens2) : "/" ] ;
-#       }
-#   }
-#   
-#   #
-#   # Auxillary rule: does all the semantic of 'join', except for error cheching.
-#   # The error checking is separated because this rule is recursive, and I don't
-#   # like the idea of checking the same input over and over.
-#   #
-#   local rule join-imp ( elements + )
-#   {
-#       return [ NORMALIZE_PATH $(elements:J="/") ] ;
-#   }
-#   
-#   #
-#   #    Contanenates the passed path elements. Generates an error if
-#   #    any element other than the first one is rooted.
-#   #
-#   rule join ( elements + )
-#   {
-#       if ! $(elements[2]) 
-#       {
-#           return $(elements[1]) ;
-#       }
-#       else
-#       {        
-#           for local e in $(elements[2-])
-#           {
-#               if [ is-rooted $(e) ]
-#               {
-#                   error only first element may be rooted ;
-#               }
-#           }
-#           return [ join-imp $(elements) ] ;
-#       }    
-#   }
-
-
-def glob (dirs, patterns):
-    """ Returns the list of files matching the given pattern in the
-    specified directory.  Both directories and patterns are 
-    supplied as portable paths. Each pattern should be non-absolute
-    path, and can't contain "." or ".." elements. Each slash separated
-    element of pattern can contain the following special characters:
-    -  '?', which match any character
-    -  '*', which matches arbitrary number of characters.
-    A file $(d)/e1/e2/e3 (where 'd' is in $(dirs)) matches pattern p1/p2/p3
-    if and only if e1 matches p1, e2 matches p2 and so on.
-    
-    For example: 
-        [ glob . : *.cpp ] 
-        [ glob . : */build/Jamfile ] 
-    """
-#   {
-#       local result ;
-#       if $(patterns:D)
-#       {
-#           # When a pattern has a directory element, we first glob for
-#           # directory, and then glob for file name is the found directories.
-#           for local p in $(patterns)
-#           {
-#               # First glob for directory part.
-#               local globbed-dirs = [ glob $(dirs) : $(p:D) ] ;
-#               result += [ glob $(globbed-dirs) : $(p:D="") ] ;
-#           }        
-#       }
-#       else
-#       {        
-#           # When a pattern has not directory, we glob directly.
-#           # Take care of special ".." value. The "GLOB" rule simply ignores
-#           # the ".." element (and ".") element in directory listings. This is
-#           # needed so that 
-#           #
-#           #    [ glob libs/*/Jamfile ]
-#           #
-#           # don't return 
-#           #
-#           #    libs/../Jamfile (which is the same as ./Jamfile)
-#           #
-#           # On the other hand, when ".." is explicitly present in the pattern
-#           # we need to return it.
-#           # 
-#           for local dir in $(dirs)
-#           {
-#               for local p in $(patterns)
-#               {                
-#                   if $(p) != ".."
-#                   {                
-#                       result += [ sequence.transform make 
-#                           : [ GLOB [ native $(dir) ] : $(p) ] ] ;
-#                   }            
-#                   else
-#                   {
-#                       result += [ path.join $(dir) .. ] ;
-#                   }            
-#               }            
-#           }
-#       }    
-#       return $(result) ;
-#   }
-#   
-
-# TODO: (PF) I replaced the code above by this. I think it should work but needs to be tested.
-    result = []
-    dirs = to_seq (dirs)
-    patterns = to_seq (patterns)
-
-    splitdirs = []
-    for dir in dirs:
-        splitdirs += dir.split (os.pathsep)
-
-    for dir in splitdirs:
-        for pattern in patterns:
-            p = os.path.join (dir, pattern)
-            import glob
-            result.extend (glob.glob (p))
-    return result
-    
-#
-#   Find out the absolute name of path and returns the list of all the parents,
-#   starting with the immediate one. Parents are returned as relative names.
-#   If 'upper_limit' is specified, directories above it will be pruned.
-#
-def all_parents(path, upper_limit=None, cwd=None):
-
-    if not cwd:
-        cwd = os.getcwd()
-
-    path_abs = os.path.join(cwd, path)
-
-    if upper_limit:
-        upper_limit = os.path.join(cwd, upper_limit)
-
-    result = []
-    while path_abs and path_abs != upper_limit:
-        (head, tail) = os.path.split(path)
-        path = os.path.join(path, "..")        
-        result.append(path)
-        path_abs = head
-
-    if upper_limit and path_abs != upper_limit:
-        raise BaseException("'%s' is not a prefix of '%s'" % (upper_limit, path))
-
-    return result
-    
-#  Search for 'pattern' in parent directories of 'dir', up till and including
-#  'upper_limit', if it is specified, or till the filesystem root otherwise.
-#
-def glob_in_parents(dir, patterns, upper_limit=None):
-
-    result = []
-    parent_dirs = all_parents(dir, upper_limit)
-
-    for p in parent_dirs:
-        result = glob(p, patterns)
-        if result: break
-
-    return result
-
-#   
-#   #
-#   # Assuming 'child' is a subdirectory of 'parent', return the relative
-#   # path from 'parent' to 'child'
-#   #
-#   rule relative ( child parent )
-#   {
-#       if $(parent) = "." 
-#       {
-#           return $(child) ;
-#       }
-#       else 
-#       {       
-#           local split1 = [ regex.split $(parent) / ] ;
-#           local split2 = [ regex.split $(child) / ] ;
-#       
-#           while $(split1)
-#           {
-#               if $(split1[1]) = $(split2[1])
-#               {
-#                   split1 = $(split1[2-]) ;
-#                   split2 = $(split2[2-]) ;
-#               }
-#               else
-#               {
-#                   errors.error $(child) is not a subdir of $(parent) ;
-#               }                
-#           }    
-#           return [ join $(split2) ] ;    
-#       }    
-#   }
-#   
-#   # Returns the minimal path to path2 that is relative path1.
-#   #
-#   rule relative-to ( path1 path2 )
-#   {
-#       local root_1 = [ regex.split [ reverse $(path1) ] / ] ;
-#       local split1 = [ regex.split $(path1) / ] ;
-#       local split2 = [ regex.split $(path2) / ] ;
-#   
-#       while $(split1) && $(root_1)
-#       {
-#           if $(split1[1]) = $(split2[1])
-#           {
-#               root_1 = $(root_1[2-]) ;
-#               split1 = $(split1[2-]) ;
-#               split2 = $(split2[2-]) ;
-#           }
-#           else
-#           {
-#               split1 = ;
-#           }
-#       }
-#       return [ join . $(root_1) $(split2) ] ;
-#   }
-
-# Returns the list of paths which are used by the operating system
-# for looking up programs
-def programs_path ():
-    raw = []
-    names = ['PATH', 'Path', 'path']
-    
-    for name in names:
-        raw.append(os.environ.get (name, ''))
-    
-    result = []
-    for elem in raw:
-        if elem:
-            for p in elem.split(os.path.pathsep):
-                result.append(make(p))
-
-    return result
-
-#   rule make-NT ( native )
-#   {
-#       local tokens = [ regex.split $(native) "[/\\]" ] ;
-#       local result ;
-#   
-#       # Handle paths ending with slashes
-#       if $(tokens[-1]) = ""
-#       {
-#           tokens = $(tokens[1--2]) ; # discard the empty element
-#       }
-#   
-#       result = [ path.join $(tokens) ] ;
-#   
-#       if [ regex.match "(^.:)" : $(native)  ]
-#       {
-#           result = /$(result) ;
-#       }
-#       
-#       if $(native) = ""
-#       {
-#           result = "." ;
-#       }
-#           
-#       return $(result) ;
-#   }
-#   
-#   rule native-NT ( path )
-#   {
-#       local result = [ MATCH "^/?(.*)" : $(path) ] ;
-#       result = [ sequence.join [ regex.split $(result) "/" ] : "\\" ] ;
-#       return $(result) ;
-#   }
-#   
-#   rule make-CYGWIN ( path )
-#   {
-#       return [ make-NT $(path) ] ;
-#   }
-#   
-#   rule native-CYGWIN ( path )
-#   {
-#       local result = $(path) ;
-#       if [ regex.match "(^/.:)" : $(path)  ] # win absolute
-#       {
-#           result = [ MATCH "^/?(.*)" : $(path) ] ; # remove leading '/'
-#       }
-#       return [ native-UNIX $(result) ] ;
-#   }
-#   
-#   #
-#   # split-VMS: splits input native path into
-#   # device dir file (each part is optional),
-#   # example:
-#   #
-#   # dev:[dir]file.c => dev: [dir] file.c
-#   #
-#   rule split-path-VMS ( native )
-#   {
-#       local matches = [ MATCH ([a-zA-Z0-9_-]+:)?(\\[[^\]]*\\])?(.*)?$   : $(native) ] ;
-#       local device = $(matches[1]) ;
-#       local dir = $(matches[2]) ;
-#       local file = $(matches[3]) ;
-#   
-#       return $(device) $(dir) $(file) ;
-#   }
-#   
-#   #
-#   # Converts a native VMS path into a portable path spec.
-#   #
-#   # Does not handle current-device absolute paths such
-#   # as "[dir]File.c" as it is not clear how to represent
-#   # them in the portable path notation.
-#   #
-#   # Adds a trailing dot (".") to the file part if no extension
-#   # is present (helps when converting it back into native path).
-#   #
-#   rule make-VMS ( native )
-#   {
-#       if [ MATCH ^(\\[[a-zA-Z0-9]) : $(native) ]
-#       {
-#           errors.error "Can't handle default-device absolute paths: " $(native) ;
-#       }
-#           
-#       local parts = [ split-path-VMS $(native) ] ;
-#       local device = $(parts[1]) ;
-#       local dir = $(parts[2]) ;
-#       local file = $(parts[3]) ;
-#       local elems ;
-#       
-#       if $(device)
-#       {
-#           #
-#           # rooted
-#           #
-#           elems = /$(device) ;
-#       }
-#       
-#       if $(dir) = "[]"
-#       {
-#           #
-#           # Special case: current directory
-#           #
-#           elems = $(elems) "." ;
-#       }
-#       else if $(dir)
-#       {
-#           dir = [ regex.replace $(dir) "\\[|\\]" "" ] ;
-#           local dir_parts = [ regex.split $(dir) \\. ]  ;
-#       
-#           if $(dir_parts[1]) = ""
-#           {
-#               #
-#               # Relative path
-#               #
-#               dir_parts = $(dir_parts[2--1]) ;
-#           }
-#           
-#           #
-#           # replace "parent-directory" parts (- => ..)
-#           #
-#           dir_parts = [ regex.replace-list $(dir_parts) : - : .. ] ;
-#           
-#           elems = $(elems) $(dir_parts) ;
-#       }
-#       
-#       if $(file)
-#       {
-#           if ! [ MATCH (\\.) : $(file) ]
-#           {
-#               #
-#               # Always add "." to end of non-extension file
-#               #
-#               file = $(file). ;
-#           }
-#           elems = $(elems) $(file) ;
-#       }
-#   
-#       local portable = [ path.join $(elems) ] ;
-#   
-#       return $(portable) ;
-#   }
-#   
-#   #
-#   # Converts a portable path spec into a native VMS path.
-#   #
-#   # Relies on having at least one dot (".") included in the file
-#   # name to be able to differentiate it ftom the directory part.
-#   #
-#   rule native-VMS ( path )
-#   {
-#       local device = "" ;
-#       local dir = $(path) ;
-#       local file = "" ;
-#       local native ;
-#       local split ;
-#   
-#       #
-#       # Has device ?
-#       #
-#       if [ is-rooted $(dir) ]
-#       {
-#           split = [ MATCH ^/([^:]+:)/?(.*) : $(dir) ] ;
-#           device = $(split[1]) ;
-#           dir = $(split[2]) ;
-#       }
-#   
-#       #
-#       # Has file ?
-#       #
-#       # This is no exact science, just guess work:
-#       #
-#       # If the last part of the current path spec
-#       # includes some chars, followed by a dot,
-#       # optionally followed by more chars -
-#       # then it is a file (keep your fingers crossed).
-#       #
-#       split = [ regex.split $(dir) / ] ;
-#       local maybe_file = $(split[-1]) ;
-#   
-#       if [ MATCH ^([^.]+\\..*) : $(maybe_file) ]
-#       {
-#           file = $(maybe_file) ;
-#           dir = [ sequence.join $(split[1--2]) : / ] ;
-#       }
-#       
-#       #
-#       # Has dir spec ?
-#       #
-#       if $(dir) = "."
-#       {
-#           dir = "[]" ;
-#       }
-#       else if $(dir)
-#       {
-#           dir = [ regex.replace $(dir) \\.\\. - ] ;
-#           dir = [ regex.replace $(dir) / . ] ;
-#   
-#           if $(device) = ""
-#           {
-#               #
-#               # Relative directory
-#               # 
-#               dir = "."$(dir) ;
-#           }
-#           dir = "["$(dir)"]" ;
-#       }
-#       
-#       native = [ sequence.join $(device) $(dir) $(file) ] ;
-#   
-#       return $(native) ;
-#   }
-#   
-#   
-#   rule __test__ ( ) {
-#   
-#       import assert ;
-#       import errors : try catch ;
-#   
-#       assert.true is-rooted "/" ;
-#       assert.true is-rooted "/foo" ;
-#       assert.true is-rooted "/foo/bar" ;
-#       assert.result : is-rooted "." ;
-#       assert.result : is-rooted "foo" ;
-#       assert.result : is-rooted "foo/bar" ;
-#   
-#       assert.true has-parent "foo" ;
-#       assert.true has-parent "foo/bar" ;
-#       assert.true has-parent "." ;
-#       assert.result : has-parent "/" ;
-#   
-#       assert.result "." : basename "." ;
-#       assert.result ".." : basename ".." ;
-#       assert.result "foo" : basename "foo" ;
-#       assert.result "foo" : basename "bar/foo" ;
-#       assert.result "foo" : basename "gaz/bar/foo" ;
-#       assert.result "foo" : basename "/gaz/bar/foo" ;
-#   
-#       assert.result "." : parent "foo" ;
-#       assert.result "/" : parent "/foo" ;
-#       assert.result "foo/bar" : parent "foo/bar/giz" ;
-#       assert.result ".." : parent "." ;
-#       assert.result ".." : parent "../foo" ;
-#       assert.result "../../foo" : parent "../../foo/bar" ;
-#   
-#   
-#       assert.result "." : reverse "." ;
-#       assert.result ".." : reverse "foo" ;
-#       assert.result "../../.." : reverse "foo/bar/giz" ;
-#   
-#       assert.result "foo" : join "foo" ;
-#       assert.result "/foo" : join "/" "foo" ;
-#       assert.result "foo/bar" : join "foo" "bar" ;
-#       assert.result "foo/bar" : join "foo/giz" "../bar" ;
-#       assert.result "foo/giz" : join "foo/bar/baz" "../../giz" ;
-#       assert.result ".." : join "." ".." ;
-#       assert.result ".." : join "foo" "../.." ;
-#       assert.result "../.." : join "../foo" "../.." ;
-#       assert.result "/foo" : join "/bar" "../foo" ;
-#       assert.result "foo/giz" : join "foo/giz" "." ;
-#       assert.result "." : join lib2 ".." ;
-#       assert.result "/" : join "/a" ".." ;
-#   
-#       assert.result /a/b : join /a/b/c .. ;
-#   
-#       assert.result "foo/bar/giz" : join "foo" "bar" "giz" ;
-#       assert.result "giz" : join "foo" ".." "giz" ;
-#       assert.result "foo/giz" : join "foo" "." "giz" ;
-#   
-#       try ;
-#       {
-#           join "a" "/b" ;
-#       }
-#       catch only first element may be rooted ;
-#   
-#       local CWD = "/home/ghost/build" ;
-#       assert.result : all-parents . : . : $(CWD) ;
-#       assert.result . .. ../.. ../../..  : all-parents "Jamfile" : "" : $(CWD) ;
-#       assert.result foo . .. ../.. ../../.. : all-parents "foo/Jamfile" : "" : $(CWD) ;
-#       assert.result ../Work .. ../.. ../../.. : all-parents "../Work/Jamfile" : "" : $(CWD) ;
-#   
-#       local CWD = "/home/ghost" ;
-#       assert.result . .. : all-parents "Jamfile" : "/home" : $(CWD) ;
-#       assert.result . : all-parents "Jamfile" : "/home/ghost" : $(CWD) ;
-#       
-#       assert.result "c/d" : relative "a/b/c/d" "a/b" ;
-#       assert.result "foo" : relative "foo" "." ;
-#   
-#       local save-os = [ modules.peek path : os ] ;
-#       modules.poke path : os : NT ;
-#   
-#       assert.result "foo/bar/giz" : make "foo/bar/giz" ;
-#       assert.result "foo/bar/giz" : make "foo\\bar\\giz" ;
-#       assert.result "foo" : make "foo/." ;
-#       assert.result "foo" : make "foo/bar/.." ;
-#       assert.result "/D:/My Documents" : make "D:\\My Documents" ;
-#       assert.result "/c:/boost/tools/build/new/project.jam" : make "c:\\boost\\tools\\build\\test\\..\\new\\project.jam" ;
-#   
-#       assert.result "foo\\bar\\giz" : native "foo/bar/giz" ;
-#       assert.result "foo" : native "foo" ;
-#       assert.result "D:\\My Documents\\Work" : native "/D:/My Documents/Work" ;
-#   
-#       modules.poke path : os : UNIX ;
-#   
-#       assert.result "foo/bar/giz" : make "foo/bar/giz" ;
-#       assert.result "/sub1" : make "/sub1/." ;
-#       assert.result "/sub1" : make "/sub1/sub2/.." ;    
-#       assert.result "sub1" : make "sub1/." ;
-#       assert.result "sub1" : make "sub1/sub2/.." ;
-#       assert.result "/foo/bar" : native "/foo/bar" ;
-#   
-#       modules.poke path : os : VMS ;
-#   
-#       #
-#       # Don't really need to poke os before these
-#       #
-#       assert.result "disk:" "[dir]"  "file" : split-path-VMS "disk:[dir]file" ;
-#       assert.result "disk:" "[dir]"  ""     : split-path-VMS "disk:[dir]" ;
-#       assert.result "disk:" ""     ""       : split-path-VMS "disk:" ;
-#       assert.result "disk:" ""     "file"   : split-path-VMS "disk:file" ;
-#       assert.result ""      "[dir]"  "file" : split-path-VMS "[dir]file" ;
-#       assert.result ""      "[dir]"  ""     : split-path-VMS "[dir]" ;
-#       assert.result ""      ""     "file"   : split-path-VMS "file" ;
-#       assert.result ""      ""     ""       : split-path-VMS "" ;
-#   
-#       #
-#       # Special case: current directory
-#       #
-#       assert.result ""      "[]"     ""     : split-path-VMS "[]" ;
-#       assert.result "disk:" "[]"     ""     : split-path-VMS "disk:[]" ;
-#       assert.result ""      "[]"     "file" : split-path-VMS "[]file" ;
-#       assert.result "disk:" "[]"     "file" : split-path-VMS "disk:[]file" ;
-#   
-#       #
-#       # Make portable paths
-#       #
-#       assert.result "/disk:" : make "disk:" ;
-#       assert.result "foo/bar/giz" : make "[.foo.bar.giz]" ;
-#       assert.result "foo" : make "[.foo]" ;
-#       assert.result "foo" : make "[.foo.bar.-]" ;
-#       assert.result ".." : make "[.-]" ;
-#       assert.result ".." : make "[-]" ;
-#       assert.result "." : make "[]" ;
-#       assert.result "giz.h" : make "giz.h" ;
-#       assert.result "foo/bar/giz.h" : make "[.foo.bar]giz.h" ;
-#       assert.result "/disk:/my_docs" : make "disk:[my_docs]" ;
-#       assert.result "/disk:/boost/tools/build/new/project.jam" : make "disk:[boost.tools.build.test.-.new]project.jam" ;
-#   
-#       #
-#       # Special case (adds '.' to end of file w/o extension to
-#       # disambiguate from directory in portable path spec).
-#       #
-#       assert.result "Jamfile." : make "Jamfile" ;
-#       assert.result "dir/Jamfile." : make "[.dir]Jamfile" ;
-#       assert.result "/disk:/dir/Jamfile." : make "disk:[dir]Jamfile" ;
-#   
-#       #
-#       # Make native paths
-#       #
-#       assert.result "disk:" : native "/disk:" ;
-#       assert.result "[.foo.bar.giz]" : native "foo/bar/giz" ;
-#       assert.result "[.foo]" : native "foo" ;
-#       assert.result "[.-]" : native ".." ;
-#       assert.result "[.foo.-]" : native "foo/.." ;
-#       assert.result "[]" : native "." ;
-#       assert.result "disk:[my_docs.work]" : native "/disk:/my_docs/work" ;
-#       assert.result "giz.h" : native "giz.h" ;
-#       assert.result "disk:Jamfile." : native "/disk:Jamfile." ;
-#       assert.result "disk:[my_docs.work]Jamfile." : native "/disk:/my_docs/work/Jamfile." ;
-#   
-#       modules.poke path : os : $(save-os) ;
-#   
-#   }
-
-#
-
-
-#def glob(dir, patterns):
-#    result = []
-#    for pattern in patterns:
-#        result.extend(builtin_glob(os.path.join(dir, pattern)))
-#    return result
-
-def glob(dirs, patterns, exclude_patterns=None):
-    """Returns the list of files matching the given pattern in the
-    specified directory.  Both directories and patterns are 
-    supplied as portable paths. Each pattern should be non-absolute
-    path, and can't contain '.' or '..' elements. Each slash separated
-    element of pattern can contain the following special characters:
-    -  '?', which match any character
-    -  '*', which matches arbitrary number of characters.
-    A file $(d)/e1/e2/e3 (where 'd' is in $(dirs)) matches pattern p1/p2/p3
-    if and only if e1 matches p1, e2 matches p2 and so on.
-    For example: 
-        [ glob . : *.cpp ] 
-        [ glob . : */build/Jamfile ]
-    """
-
-    assert(isinstance(patterns, list))
-    assert(isinstance(dirs, list))
-
-    if not exclude_patterns:
-        exclude_patterns = []
-    else:
-       assert(isinstance(exclude_patterns, list))
-
-    real_patterns = [os.path.join(d, p) for p in patterns for d in dirs]    
-    real_exclude_patterns = [os.path.join(d, p) for p in exclude_patterns
-                             for d in dirs]
-
-    inc = [os.path.normpath(name) for p in real_patterns
-           for name in builtin_glob(p)]
-    exc = [os.path.normpath(name) for p in real_exclude_patterns
-           for name in builtin_glob(p)]
-    return [x for x in inc if x not in exc]
-
-def glob_tree(roots, patterns, exclude_patterns=None):
-    """Recursive version of GLOB. Builds the glob of files while
-    also searching in the subdirectories of the given roots. An
-    optional set of exclusion patterns will filter out the
-    matching entries from the result. The exclusions also apply
-    to the subdirectory scanning, such that directories that
-    match the exclusion patterns will not be searched."""
-
-    if not exclude_patterns:
-        exclude_patterns = []
-
-    result = glob(roots, patterns, exclude_patterns)
-    subdirs = [s for s in glob(roots, ["*"]) if s != "." and s != ".." and os.path.isdir(s)]
-    if subdirs:
-        result.extend(glob_tree(subdirs, patterns, exclude_patterns))
-        
-    return result
-
-def glob_in_parents(dir, patterns, upper_limit=None):
-    """Recursive version of GLOB which glob sall parent directories
-    of dir until the first match is found. Returns an empty result if no match
-    is found"""    
-    
-    assert(isinstance(dir, str))
-    assert(isinstance(patterns, list))
-
-    result = []
-
-    absolute_dir = os.path.join(os.getcwd(), dir)
-    absolute_dir = os.path.normpath(absolute_dir)
-    while absolute_dir:
-        new_dir = os.path.split(absolute_dir)[0]
-        if new_dir == absolute_dir:
-            break
-        result = glob([new_dir], patterns)
-        if result:
-            break
-        absolute_dir = new_dir
-
-    return result
-
-
-# The relpath functionality is written by
-# Cimarron Taylor
-def split(p, rest=[]):
-    (h,t) = os.path.split(p)
-    if len(h) < 1: return [t]+rest
-    if len(t) < 1: return [h]+rest
-    return split(h,[t]+rest)
-
-def commonpath(l1, l2, common=[]):
-    if len(l1) < 1: return (common, l1, l2)
-    if len(l2) < 1: return (common, l1, l2)
-    if l1[0] != l2[0]: return (common, l1, l2)
-    return commonpath(l1[1:], l2[1:], common+[l1[0]])
-
-def relpath(p1, p2):
-    (common,l1,l2) = commonpath(split(p1), split(p2))
-    p = []
-    if len(l1) > 0:
-        p = [ '../' * len(l1) ]
-    p = p + l2
-    if p:
-        return os.path.join( *p )
-    else:
-        return "."
diff --git a/SRC/Boost/tools/build/v2/util/print.jam b/SRC/Boost/tools/build/v2/util/print.jam
deleted file mode 100755
index 6f7f884..0000000
--- a/SRC/Boost/tools/build/v2/util/print.jam
+++ /dev/null
@@ -1,488 +0,0 @@
-# Copyright 2003 Douglas Gregor 
-# Copyright 2002, 2003, 2005 Rene Rivera 
-# Copyright 2002, 2003, 2004, 2005 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-# Utilities for generating format independent output. Using these
-# will help in generation of documentation in at minimum plain/console
-# and html.
-
-import modules ;
-import numbers ;
-import string ;
-import regex ;
-import "class" ;
-import scanner ;
-import path ;
-
-# The current output target. Defaults to console.
-output-target = console ;
-
-# The current output type. Defaults to plain. Other possible values are "html".
-output-type = plain ;
-
-# Whitespace.
-.whitespace = [ string.whitespace ] ;
-
-
-# Set the target and type of output to generate. This sets both the destination
-# output and the type of docs to generate to that output. The target can be
-# either a file or "console" for echoing to the console. If the type of output
-# is not specified it defaults to plain text.
-#
-rule output (
-    target  # The target file or device; file or "console".
-    type ?  # The type of output; "plain" or "html".
-)
-{
-    type ?= plain ;
-    if $(output-target) != $(target)
-    {
-        output-target = $(target) ;
-        output-type = $(type) ;
-        if $(output-type) = html
-        {
-            text
-                "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"
-                "<html>"
-                "<head>"
-                "</head>"
-                "<body link=\"#0000ff\" vlink=\"#800080\">"
-                : true
-                : prefix ;
-            text
-                "</body>"
-                "</html>"
-                :
-                : suffix ;
-        }
-    }
-}
-
-
-# Generate a section with a description. The type of output can be controlled by
-# the value of the 'output-type' variable.
-#
-rule section (
-    name  # The name of the section.
-    description *  # A number of description lines.
-)
-{
-    if $(output-type) = plain
-    {
-        lines [ split-at-words $(name): ] ;
-        lines ;
-    }
-    else if $(output-type) = html
-    {
-        name = [ escape-html $(name) ] ;
-        text <h3>$(name)</h3> <p> ;
-    }
-    local pre = ;
-    while $(description)
-    {
-        local paragraph = ;
-        while $(description) && [ string.is-whitespace $(description[1]) ] { description = $(description[2-]) ; }
-        if $(pre)
-        {
-            while $(description) && (
-                $(pre) = " $(description[1])" ||
-                ( $(pre) < [ string.chars [ MATCH "^([$(.whitespace)]*)" : " $(description[1])" ] ] )
-                )
-                { paragraph += $(description[1]) ; description = $(description[2-]) ; }
-            while [ string.is-whitespace $(paragraph[-1]) ] { paragraph = $(paragraph[1--2]) ; }
-            pre = ;
-            if $(output-type) = plain
-            {
-                lines $(paragraph) "" : "  " "  " ;
-            }
-            else if $(output-type) = html
-            {
-                text <blockquote> ;
-                lines $(paragraph) ;
-                text </blockquote> ;
-            }
-        }
-        else
-        {
-            while $(description) && ! [ string.is-whitespace $(description[1]) ]
-                { paragraph += $(description[1]) ; description = $(description[2-]) ; }
-            if $(paragraph[1]) = :: && ! $(paragraph[2])
-            {
-                pre = " " ;
-            }
-            if $(paragraph[1]) = ::
-            {
-                if $(output-type) = plain
-                {
-                    lines $(paragraph[2-]) "" : "  " "  " ;
-                    lines ;
-                }
-                else if $(output-type) = html
-                {
-                    text <blockquote> ;
-                    lines $(paragraph[2-]) ;
-                    text </blockquote> ;
-                }
-            }
-            else
-            {
-                local p = [ MATCH "(.*)(::)$" : $(paragraph[-1]) ] ;
-                local pws = [ MATCH "([ 	]*)$" : $(p[1]) ] ;
-                p = [ MATCH "(.*)($(pws))($(p[2]))$" :  $(paragraph[-1]) ] ;
-                if $(p[3]) = ::
-                {
-                    pre = [ string.chars [ MATCH "^([$(.whitespace)]*)" : " $(p[1])" ] ] ;
-                    if ! $(p[2]) || $(p[2]) = "" { paragraph = $(paragraph[1--2]) $(p[1]): ; }
-                    else { paragraph = $(paragraph[1--2]) $(p[1]) ; }
-                    if $(output-type) = plain
-                    {
-                        lines [ split-at-words " " $(paragraph) ] : "  " "  " ;
-                        lines ;
-                    }
-                    else if $(output-type) = html
-                    {
-                        text </p> <p> [ escape-html $(paragraph) ] ;
-                    }
-                }
-                else
-                {
-                    if $(output-type) = plain
-                    {
-                        lines [ split-at-words " " $(paragraph) ] : "  " "  " ;
-                        lines ;
-                    }
-                    else if $(output-type) = html
-                    {
-                        text </p> <p> [ escape-html $(paragraph) ] ;
-                    }
-                }
-            }
-        }
-    }
-    if $(output-type) = html
-    {
-        text </p> ;
-    }
-}
-
-
-# Generate the start of a list of items. The type of output can be controlled by
-# the value of the 'output-type' variable.
-#
-rule list-start ( )
-{
-    if $(output-type) = plain
-    {
-    }
-    else if $(output-type) = html
-    {
-        text <ul> ;
-    }
-}
-
-
-# Generate an item in a list. The type of output can be controlled by the value
-# of the 'output-type' variable.
-#
-rule list-item (
-    item +  # The item to list.
-)
-{
-    if $(output-type) = plain
-    {
-        lines [ split-at-words "*" $(item) ] : "    " "  " ;
-    }
-    else if $(output-type) = html
-    {
-        text <li> [ escape-html $(item) ] </li> ;
-    }
-}
-
-
-# Generate the end of a list of items. The type of output can be controlled by
-# the value of the 'output-type' variable.
-#
-rule list-end ( )
-{
-    if $(output-type) = plain
-    {
-        lines ;
-    }
-    else if $(output-type) = html
-    {
-        text </ul> ;
-    }
-}
-
-
-# Split the given text into separate lines, word-wrapping to a margin. The
-# default margin is 78 characters.
-#
-rule split-at-words (
-    text +  # The text to split.
-    : margin ?  # An optional margin, default is 78.
-)
-{
-    local lines = ;
-    text = [ string.words $(text:J=" ") ] ;
-    text = $(text:J=" ") ;
-    margin ?= 78 ;
-    local char-match-1 = ".?" ;
-    local char-match = "" ;
-    while $(margin) != 0
-    {
-        char-match = $(char-match)$(char-match-1) ;
-        margin = [ numbers.decrement $(margin) ] ;
-    }
-    while $(text)
-    {
-        local s = "" ;
-        local t = "" ;
-        # divide s into the first X characters and the rest
-        s = [ MATCH "^($(char-match))(.*)" : $(text) ] ;
-        
-        if $(s[2])
-        {
-            # split the first half at a space
-            t = [ MATCH "^(.*)[\\ ]([^\\ ]*)$" : $(s[1]) ] ;
-        }
-        else
-        {
-            t = $(s) ;
-        }
-        
-        if ! $(t[2])
-        {
-            t += "" ;
-        }
-        
-        text = $(t[2])$(s[2]) ;
-        lines += $(t[1]) ;
-    }
-    return $(lines) ;
-}
-
-
-# Generate a set of fixed lines. Each single item passed in is output on a
-# separate line. For console this just echos each line, but for html this will
-# split them with <br>.
-#
-rule lines (
-    text *  # The lines of text.
-    : indent ?  # Optional indentation prepended to each line after the first one.
-    outdent ?  # Optional indentation to prepend to the first line.
-)
-{
-    text ?= "" ;
-    indent ?= "" ;
-    outdent ?= "" ;
-    if $(output-type) = plain
-    {
-        text $(outdent)$(text[1]) $(indent)$(text[2-]) ;
-    }
-    else if $(output-type) = html
-    {
-        local indent-chars = [ string.chars $(indent) ] ;
-        indent = "" ;
-        for local c in $(indent-chars)
-        {
-            if $(c) = " " { c = " " ; }
-            else if $(c) = "	" { c = "    " ; }
-            indent = $(indent)$(c) ;
-        }
-        local html-text = [ escape-html $(text) : " " ] ;
-        text $(html-text[1])<br> $(indent)$(html-text[2-])<br> ;
-    }
-}
-
-
-# Output text directly to the current target. When doing output to a file, one
-# can indicate if the text should be output to "prefix" it, as the "body"
-# (default), or "suffix" of the file. This is independant of the actual
-# execution order of the text rule. This rule invokes a singular action, one
-# action only once, which does the build of the file. Therefore actions on the
-# target outside of this rule will happen entirely before and/or after all
-# output using this rule.
-#
-rule text (
-    strings *  # The strings of text to output.
-    : overwrite ?  # true to overwrite the output (if it is a file)
-    : prefix-body-suffix ?  # Indication to output prefix, body, or suffix (for a file).
-)
-{
-    prefix-body-suffix ?= body ;
-    if $(output-target) = console
-    {
-        if ! $(strings)
-        {
-            ECHO ;
-        }
-        else
-        {
-            for local s in $(strings)
-            {
-                ECHO $(s) ;
-            }
-        }
-    }
-    if ! $($(output-target).did-action)
-    {
-        $(output-target).did-action = yes ;
-        $(output-target).text-prefix = ;
-        $(output-target).text-body = ;
-        $(output-target).text-suffix = ;
-        
-        nl on $(output-target) = "
-" ;
-        text-redirect on $(output-target) = ">>" ;
-        if $(overwrite)
-        {
-            text-redirect on $(output-target) = ">" ;
-        }
-        text-content on $(output-target) = ;
-        
-        text-action $(output-target) ;
-
-        if $(overwrite) && $(output-target) != console
-        {
-            check-for-update $(output-target) ;
-        }
-    }
-    $(output-target).text-$(prefix-body-suffix) += $(strings) ;
-    text-content on $(output-target) =
-        $($(output-target).text-prefix)
-        $($(output-target).text-body)
-        $($(output-target).text-suffix) ;
-}
-
-
-# Outputs the text to the current targets, after word-wrapping it.
-#
-rule wrapped-text ( text + )
-{
-    local lines = [ split-at-words $(text) ] ;
-    text $(lines) ;
-}
-
-
-# Escapes text into html/xml printable equivalents. Does not know about tags and
-# therefore tags fed into this will also be escaped. Currently escapes space,
-# "<", ">", and "&".
-#
-rule escape-html (
-    text +  # The text to escape.
-    : space ?  # What to replace spaces with, defaults to " ".
-)
-{
-    local html-text = ;
-    while $(text)
-    {
-        local html = $(text[1]) ;
-        text = $(text[2-]) ;
-        html = [ regex.replace $(html) "&" "&" ] ;
-        html = [ regex.replace $(html) "<" "<" ] ;
-        html = [ regex.replace $(html) ">" ">" ] ;
-        if $(space)
-        {
-            html = [ regex.replace $(html) " " "$(space)" ] ;
-        }
-        html-text += $(html) ;
-    }
-    return $(html-text) ;
-}
-
-
-# Outputs the text strings collected by the text rule to the output file.
-#
-actions quietly text-action
-{
-    @($(STDOUT):E=$(text-content:J=$(nl))) $(text-redirect) "$(<)"
-}
-
-
-rule get-scanner ( )
-{
-    if ! $(.scanner)
-    {
-        .scanner = [ class.new print-scanner ] ;
-    }
-    return $(.scanner) ;
-}
-
-
-# The following code to update print targets when their contents
-# change is a horrible hack.  It basically creates a target which
-# binds to this file (print.jam) and installs a scanner on it
-# which reads the target and compares its contents to the new
-# contents that we're writing.
-#
-rule check-for-update ( target )
-{
-    local scanner = [ get-scanner ] ;
-    local file = [ path.native [ modules.binding $(__name__) ] ] ;
-    local g = [ MATCH <(.*)> : $(target:G) ] ;
-    local dependency-target = $(__file__:G=$(g:E=)-$(target:G=)-$(scanner)) ;
-    DEPENDS $(target) : $(dependency-target) ;
-    SEARCH on $(dependency-target) = $(file:D) ;
-    ISFILE $(dependency-target) ;
-    NOUPDATE $(dependency-target) ;
-    base on $(dependency-target) = $(target) ;
-    scanner.install $(scanner) : $(dependency-target) none ;
-    return $(dependency-target) ;
-}
-
-
-class print-scanner : scanner
-{
-    import path ;
-    import os ;
-
-    rule pattern ( )
-    {
-        return "(One match...)" ;
-    }
-
-    rule process ( target : matches * : binding )
-    {
-        local base = [ on $(target) return $(base) ] ;
-        local nl = [ on $(base) return $(nl) ] ;
-        local text-content = [ on $(base) return $(text-content) ] ;
-        local dir = [ on $(base) return $(LOCATE) ] ;
-        if $(dir)
-        {
-            dir = [ path.make $(dir) ] ;
-        }
-        local file = [ path.native [ path.join $(dir) $(base:G=) ] ] ;
-        local actual-content ;
-        if [ os.name ] = NT
-        {
-            actual-content = [ SHELL "type \"$(file)\" 2>nul" ] ;
-        }
-        else
-        {
-            actual-content = [ SHELL "cat \"$(file)\" 2>/dev/null" ] ;
-        }
-        if $(text-content:J=$(nl)) != $(actual-content)
-        {
-            ALWAYS $(base) ;
-        }
-    }
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-    
-    assert.result one two three   : split-at-words one two three : 5 ;
-    assert.result "one two" three : split-at-words one two three : 8 ;
-    assert.result "one two" three : split-at-words one two three : 9 ;
-    assert.result "one two three" : split-at-words one two three ;
-
-    # VP, 2004-12-03 The following test fails for some reason, so commenting it
-    # out.
-    #assert.result "one two three" "&<>" :
-    #    escape-html "one two three" "&<>" ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/regex.jam b/SRC/Boost/tools/build/v2/util/regex.jam
deleted file mode 100755
index 023c7f6..0000000
--- a/SRC/Boost/tools/build/v2/util/regex.jam
+++ /dev/null
@@ -1,193 +0,0 @@
-# Copyright 2001, 2002 Dave Abrahams
-# Copyright 2003 Douglas Gregor
-# Copyright 2003 Rene Rivera
-# Copyright 2002, 2003, 2004, 2005 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-#
-#   Returns a list of the following substrings:
-#   1) from beginning till the first occurrence of 'separator' or till the end,
-#   2) between each occurrence of 'separator' and the next occurrence,
-#   3) from the last occurrence of 'separator' till the end.
-#   If no separator is present, the result will contain only one element.
-#
-
-rule split ( string separator )
-{
-    local result ;
-    local s = $(string) ;
-
-    # Break pieaces off 's' until it has no separators left.
-    local match = 1 ;
-    while $(match)
-    {
-        match = [ MATCH ^(.*)($(separator))(.*) : $(s) ] ;
-        if $(match)
-        {
-            match += "" ;  # in case 3rd item was empty - works around MATCH bug
-            result = $(match[3]) $(result) ;
-            s = $(match[1]) ;
-        }
-    }
-    # Combine the remaining part at the beginning, which does not have
-    # separators, with the pieces broken off. Note that the rule's signature
-    # does not allow the initial s to be empty.
-    return $(s) $(result) ;
-}
-
-
-# Returns the concatenated results of Applying regex.split to every element of
-# the list using the separator pattern.
-#
-rule split-list ( list * : separator )
-{
-    local result ;
-    for s in $(list)
-    {
-        result += [ split $(s) $(separator) ] ;
-    }
-    return $(result) ;
-}
-
-
-# Match string against pattern, and return the elements indicated by indices.
-#
-rule match ( pattern : string : indices * )
-{
-    indices ?= 1 2 3 4 5 6 7 8 9 ;
-    local x = [ MATCH $(pattern) : $(string) ] ;
-    return $(x[$(indices)]) ;
-}
-
-
-# Matches all elements of 'list' agains the 'pattern' and returns a list of
-# elements indicated by indices of all successful matches. If 'indices' is
-# omitted returns a list of first paranthethised groups of all successful
-# matches.
-#
-rule transform ( list * : pattern : indices * )
-{
-    indices ?= 1 ;
-    local result ;
-    for local e in $(list)
-    {
-        local m = [ MATCH $(pattern) : $(e) ] ;
-        if $(m)
-        {
-            result += $(m[$(indices)]) ;
-        }
-    }
-    return $(result) ;
-}
-
-NATIVE_RULE regex : transform ;
-
-
-# Escapes all of the characters in symbols using the escape symbol escape-symbol
-# for the given string, and returns the escaped string.
-#
-rule escape ( string : symbols : escape-symbol )
-{
-    local result = "" ;
-    local m = 1 ;
-    while $(m)
-    {
-        m = [ MATCH ^([^$(symbols)]*)([$(symbols)])(.*) : $(string) ] ;
-        if $(m)
-        {
-            m += "" ;  # Supposedly a bug fix; borrowed from regex.split
-            result = "$(result)$(m[1])$(escape-symbol)$(m[2])" ;
-            string = $(m[3]) ;
-        }
-    }
-    string ?= "" ;
-    result = "$(result)$(string)" ;
-    return $(result) ;
-}
-
-
-# Replaces occurrences of a match string in a given string and returns the new
-# string. The match string can be a regex expression.
-#
-rule replace (
-    string  # The string to modify.
-    match  # The characters to replace.
-    replacement  # The string to replace with.
-    )
-{
-    local result = "" ;
-    local parts = 1 ;
-    while $(parts)
-    {
-        parts = [ MATCH ^(.*)($(match))(.*) : $(string) ] ;
-        if $(parts)
-        {
-            parts += "" ;
-            result = "$(replacement)$(parts[3])$(result)" ;
-            string = $(parts[1]) ;
-        }
-    }
-    string ?= "" ;
-    result = "$(string)$(result)" ;
-    return $(result) ;
-}
-
-
-# Replaces occurrences of a match string in a given list of strings and returns
-# a list of new strings. The match string can be a regex expression.
-#
-# list        - the list of strings to modify.
-# match       - the search expression.
-# replacement - the string to replace with.
-#
-rule replace-list ( list * : match : replacement )
-{
-    local result ;
-    for local e in $(list)
-    {
-        result += [ replace $(e) $(match) $(replacement) ] ;
-    }
-    return $(result) ;
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-
-    assert.result a b c : split "a/b/c" / ;
-    assert.result "" a b c : split "/a/b/c" / ;
-    assert.result "" "" a b c : split "//a/b/c" / ;
-    assert.result "" a "" b c : split "/a//b/c" / ;
-    assert.result "" a "" b c "" : split "/a//b/c/" / ;
-    assert.result "" a "" b c "" "" : split "/a//b/c//" / ;
-
-    assert.result a c b d
-        : match (.)(.)(.)(.) : abcd : 1 3 2 4 ;
-
-    assert.result a b c d
-        : match (.)(.)(.)(.) : abcd ;
-
-    assert.result ababab cddc
-        : match ((ab)*)([cd]+) : abababcddc : 1 3 ;
-
-    assert.result a.h c.h
-        : transform <a.h> \"b.h\" <c.h> : <(.*)> ;
-
-    assert.result a.h b.h c.h
-        : transform <a.h> \"b.h\" <c.h> : <([^>]*)>|\"([^\"]*)\" : 1 2 ;
-
-    assert.result "^<?xml version=\"1.0\"^>"
-        : escape "<?xml version=\"1.0\">" : "&|()<>^" : "^" ;
-
-    assert.result "<?xml version=\\\"1.0\\\">"
-        : escape "<?xml version=\"1.0\">" : "\\\"" : "\\" ;
-
-    assert.result "string string " : replace "string string " " " " " ;
-    assert.result " string string" : replace " string string" " " " " ;
-    assert.result "string  string" : replace "string  string" " " " " ;
-    assert.result "-" : replace "&" "&" "-" ;
-
-    assert.result "-" "a-b" : replace-list "&" "a&b" : "&" : "-" ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/regex.py b/SRC/Boost/tools/build/v2/util/regex.py
deleted file mode 100755
index db22c20..0000000
--- a/SRC/Boost/tools/build/v2/util/regex.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#  (C) Copyright David Abrahams 2001. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-
-import re
-
-def transform (list, pattern, indices = [1]):
-    """ Matches all elements of 'list' agains the 'pattern' 
-        and returns a list of the elements indicated by indices of 
-        all successfull matches. If 'indices' is omitted returns
-        a list of first paranthethised groups of all successfull
-        matches.
-    """
-    result = []
-
-    for e in list:
-        m = re.match (pattern, e)
-
-        if m:
-            for i in indices:
-                result.append (m.group (i))
-
-    return result
-
diff --git a/SRC/Boost/tools/build/v2/util/sequence.jam b/SRC/Boost/tools/build/v2/util/sequence.jam
deleted file mode 100755
index bfb533f..0000000
--- a/SRC/Boost/tools/build/v2/util/sequence.jam
+++ /dev/null
@@ -1,335 +0,0 @@
-# Copyright 2001, 2002, 2003 Dave Abrahams 
-# Copyright 2006 Rene Rivera 
-# Copyright 2002, 2003 Vladimir Prus 
-# Distributed under the Boost Software License, Version 1.0. 
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
-
-import assert ;
-import numbers ; 
-import modules ;
-
-
-# Note that algorithms in this module execute largely in the caller's module
-# namespace, so that local rules can be used as function objects. Also note that
-# most predicates can be multi-element lists. In that case, all but the first
-# element are prepended to the first argument which is passed to the rule named
-# by the first element.
-
-
-# Return the elements e of $(sequence) for which [ $(predicate) e ] has a
-# non-null value.
-#
-rule filter ( predicate + : sequence * )
-{
-    local caller = [ CALLER_MODULE ] ;
-    local result ;
-
-    for local e in $(sequence)
-    {
-        if [ modules.call-in $(caller) : $(predicate) $(e) ]
-        {
-            result += $(e) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Return a new sequence consisting of [ $(function) $(e) ] for each element e of
-# $(sequence).
-#
-rule transform ( function + : sequence * )
-{
-    local caller = [ CALLER_MODULE ] ;
-    local result ;
-
-    for local e in $(sequence)
-    {
-        result += [ modules.call-in $(caller) : $(function) $(e) ] ;
-    }
-    return $(result) ;
-}
-
-
-rule reverse ( s * )
-{
-    local r ;
-    for local x in $(s)
-    {
-        r = $(x) $(r) ;
-    }
-    return $(r) ;
-}
-
-
-rule less ( a b )
-{
-    if $(a) < $(b)
-    {
-        return true ;
-    }
-}
-
-
-# Insertion-sort s using the BinaryPredicate ordered.
-#
-rule insertion-sort ( s * : ordered * )
-{
-    if ! $(ordered)
-    {
-        return [ SORT $(s) ] ;
-    }
-    else 
-    {           
-        local caller = [ CALLER_MODULE ] ;
-        ordered ?= sequence.less ;
-        local result = $(s[1]) ;
-        if $(ordered) = sequence.less
-        {
-            local head tail ;
-            for local x in $(s[2-])
-            {
-                head = ;
-                tail = $(result) ;
-                while $(tail) && ( $(tail[1]) < $(x) )
-                {
-                    head += $(tail[1]) ;
-                    tail = $(tail[2-]) ;
-                }
-                result = $(head) $(x) $(tail) ;
-            }
-        }
-        else
-        {
-            for local x in $(s[2-])
-            {
-                local head tail ;
-                tail = $(result) ;
-                while $(tail) && [ modules.call-in $(caller) : $(ordered) $(tail[1]) $(x) ]
-                {
-                    head += $(tail[1]) ;
-                    tail = $(tail[2-]) ;
-                }
-                result = $(head) $(x) $(tail) ;
-            }
-        }
-        
-        return $(result) ;
-    }    
-}
-
-
-# Merge two ordered sequences using the BinaryPredicate ordered.
-#
-rule merge ( s1 * : s2 * : ordered * )
-{
-    ordered ?= sequence.less ;
-    local result__ ;
-    local caller = [ CALLER_MODULE ] ;
-
-    while $(s1) && $(s2)
-    {
-        if [ modules.call-in $(caller) : $(ordered) $(s1[1]) $(s2[1]) ]
-        {
-            result__ += $(s1[1]) ;
-            s1 = $(s1[2-]) ;
-        }
-        else if [ modules.call-in $(caller) : $(ordered) $(s2[1]) $(s1[1]) ]
-        {
-            result__ += $(s2[1]) ;
-            s2 = $(s2[2-]) ;
-        }
-        else 
-        {           
-            s2 = $(s2[2-]) ;
-        }
-        
-    }
-    result__ += $(s1) ;
-    result__ += $(s2) ;
-
-    return $(result__) ;
-}
-
-
-# Join the elements of s into one long string. If joint is supplied, it is used
-# as a separator.
-#
-rule join ( s * : joint ? )
-{
-    joint ?= "" ;
-    return $(s:J=$(joint)) ;
-}
-
-
-# Find the length of any sequence.
-#
-rule length ( s * )
-{
-    local result = 0 ;
-    for local i in $(s)
-    {
-        result = [ CALC $(result) + 1 ] ;
-    }
-    return $(result) ;
-}
-
-
-rule unique ( list * : stable ? )
-{
-    local result ;
-    local prev ;
-    if $(stable)
-    {
-        for local f in $(list)
-        {
-            if ! $(f) in $(result)
-            {
-                result += $(f) ;
-            }
-        }
-    }
-    else
-    {
-        for local i in [ SORT $(list) ]
-        {
-            if $(i) != $(prev)
-            {
-                result += $(i) ;
-            }
-            prev = $(i) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Returns the maximum number in 'elements'. Uses 'ordered' for comparisons or
-# 'numbers.less' if none is provided.
-#
-rule max-element ( elements + : ordered ? )
-{
-    ordered ?= numbers.less ;
-
-    local max = $(elements[1]) ;
-    for local e in $(elements[2-]) 
-    {
-        if [ $(ordered) $(max) $(e) ] 
-        {
-            max = $(e) ;
-        }
-    }
-    return $(max) ;           
-}
-
-
-# Returns all of 'elements' for which corresponding element in parallel list
-# 'rank' is equal to the maximum value in 'rank'.
-#
-rule select-highest-ranked ( elements * : ranks * )
-{
-    if $(elements)
-    {        
-        local max-rank = [ max-element $(ranks) ] ;
-        local result ;
-        while $(elements) 
-        {
-            if $(ranks[1]) = $(max-rank)
-            {
-                result += $(elements[1]) ;
-            }
-            elements = $(elements[2-]) ;
-            ranks = $(ranks[2-]) ;
-        }
-        return $(result) ;
-    }    
-}
-NATIVE_RULE sequence : select-highest-ranked ;
-
-
-rule __test__ ( )
-{
-    # Use a unique module so we can test the use of local rules.
-    module sequence.__test__
-    {
-        import assert ;
-        import sequence ;
-        
-        local rule is-even ( n )
-        {
-            if $(n) in 0 2 4 6 8
-            {
-                return true ;
-            }
-        }
-
-        assert.result 4 6 4 2 8 : sequence.filter is-even : 1 4 6 3 4 7 2 3 8 ;
-
-        # Test that argument binding works.
-        local rule is-equal-test ( x y )
-        {
-            if $(x) = $(y)
-            {
-                return true ;
-            }
-        }
-
-        assert.result 3 3 3 : sequence.filter is-equal-test 3 : 1 2 3 4 3 5 3 5 7 ;
-
-        local rule append-x ( n )
-        {
-            return $(n)x ;
-        }
-
-        assert.result 1x 2x 3x : sequence.transform append-x : 1 2 3 ;
-
-        local rule repeat2 ( x )
-        {
-            return $(x) $(x) ;
-        }
-
-        assert.result 1 1 2 2 3 3 : sequence.transform repeat2 : 1 2 3 ;
-
-        local rule test-greater ( a b )
-        {
-            if $(a) > $(b)
-            {
-                return true ;
-            }
-        }
-        assert.result 1 2 3 4 5 6 7 8 9 : sequence.insertion-sort 9 6 5 3 8 7 1 2 4 ;
-        assert.result 9 8 7 6 5 4 3 2 1 : sequence.insertion-sort 9 6 5 3 8 7 1 2 4 : test-greater ;
-        assert.result 1 2 3 4 5 6 :  sequence.merge 1 3 5 : 2 4 6 ;
-        assert.result 6 5 4 3 2 1 :  sequence.merge 5 3 1 : 6 4 2 : test-greater ;
-        assert.result 1 2 3 : sequence.merge 1 2 3 : ;
-        assert.result 1 : sequence.merge 1 : 1 ;
-
-        assert.result foo-bar-baz : sequence.join foo bar baz : - ;
-        assert.result substandard : sequence.join sub stan dard ;
-        assert.result 3.0.1 : sequence.join 3.0.1 : - ;
-
-        assert.result 0 : sequence.length ;
-        assert.result 3 : sequence.length a b c ;
-        assert.result 17 : sequence.length 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 ;
-
-        assert.result 1 : sequence.length a ;
-        assert.result 10 : sequence.length a b c d e f g h i j ;
-        assert.result 11 : sequence.length a b c d e f g h i j k ;
-        assert.result 12 : sequence.length a b c d e f g h i j k l ;
-
-        local p2 = x ;
-        for local i in 1 2 3 4 5 6 7 8
-        {
-            p2 = $(p2) $(p2) ;
-        }
-        assert.result 256 : sequence.length $(p2) ;
-
-        assert.result 1 2 3 4 5 : sequence.unique 1 2 3 2 4 3 3 5 5 5 ;
-                
-        assert.result 5 : sequence.max-element 1 3 5 0 4 ;
-        
-        assert.result e-3 h-3 : sequence.select-highest-ranked e-1 e-3 h-3 m-2 : 1 3 3 2 ;
-        
-        assert.result 7 6 5 4 3 2 1 : sequence.reverse 1 2 3 4 5 6 7 ;
-    }
-}
diff --git a/SRC/Boost/tools/build/v2/util/sequence.py b/SRC/Boost/tools/build/v2/util/sequence.py
deleted file mode 100755
index f7fe421..0000000
--- a/SRC/Boost/tools/build/v2/util/sequence.py
+++ /dev/null
@@ -1,50 +0,0 @@
-#  (C) Copyright David Abrahams 2002. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-
-import operator
-
-def unique (values, stable=False):
-    if stable:
-        s = set()
-        r = []
-        for v in values:
-            if not v in s:
-                r.append(v)
-                s.add(v)
-        return r
-    else:
-        return list(set(values))
-
-def max_element (elements, ordered = None):
-    """ Returns the maximum number in 'elements'. Uses 'ordered' for comparisons,
-        or '<' is none is provided.
-    """
-    if not ordered: ordered = operator.lt
-
-    max = elements [0]
-    for e in elements [1:]:
-        if ordered (max, e):
-            max = e
-
-    return max
-
-def select_highest_ranked (elements, ranks):
-    """ Returns all of 'elements' for which corresponding element in parallel
-        list 'rank' is equal to the maximum value in 'rank'.
-    """
-    if not elements:
-        return []
-
-    max_rank = max_element (ranks)
-
-    result = []
-    while elements:
-        if ranks [0] == max_rank:
-            result.append (elements [0])
-
-        elements = elements [1:]
-        ranks = ranks [1:]
-
-    return result
diff --git a/SRC/Boost/tools/build/v2/util/set.jam b/SRC/Boost/tools/build/v2/util/set.jam
deleted file mode 100755
index 7567a91..0000000
--- a/SRC/Boost/tools/build/v2/util/set.jam
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 2001, 2002 Dave Abrahams
-# Copyright 2003 Vladimir Prus
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-class set
-{
-    rule __init__ ( )
-    {
-    }  
-    
-    rule add ( elements * )
-    {
-        for local e in $(elements)
-        {
-            if ! $($(e))
-            {
-                $(e) = 1 ;
-                self.result += $(e) ;
-            }            
-        }        
-    }    
-    
-    rule contains ( element )
-    {
-        return $($(element)) ;
-    }
-    
-    rule list ( )
-    {
-        return $(self.result) ;
-    }            
-}
-
-
-
-# Returns the elements of set1 that are not in set2.
-#
-rule difference ( set1 * : set2 * )
-{
-    local result = ;
-    for local element in $(set1)
-    {
-        if ! ( $(element) in $(set2) )
-        {
-            result += $(element) ;
-        }
-    }
-    return $(result) ;
-}
-
-NATIVE_RULE set : difference ;
-
-
-# Removes all the items appearing in both set1 & set2.
-#
-rule intersection ( set1 * : set2 * )
-{
-    local result ;
-    for local v in $(set1)
-    {
-        if $(v) in $(set2)
-        {
-            result += $(v) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# Returns whether set1 & set2 contain the same elements. Note that this ignores
-# any element ordering differences as well as any element duplication.
-#
-rule equal ( set1 * : set2 * )
-{
-    if $(set1) in $(set2) && ( $(set2) in $(set1) )
-    {
-        return true ;
-    }
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-
-    assert.result 0 1 4 6 8 9 : difference   0 1 2 3 4 5 6 7 8 9 : 2 3 5 7 ;
-    assert.result 2 5 7       : intersection 0 1 2   4 5 6 7 8 9 : 2 3 5 7 ;
-
-    assert.true  equal         :         ;
-    assert.true  equal 1 1 2 3 : 3 2 2 1 ;
-    assert.false equal 2 3     : 3 2 2 1 ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/set.py b/SRC/Boost/tools/build/v2/util/set.py
deleted file mode 100755
index 1bdb347..0000000
--- a/SRC/Boost/tools/build/v2/util/set.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#  (C) Copyright David Abrahams 2001. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-
-from utility import to_seq
-
-def difference (b, a):
-    """ Returns the elements of B that are not in A.
-    """
-    result = []
-    for element in b:
-        if not element in a:
-            result.append (element)
-
-    return result
-
-def intersection (set1, set2):
-    """ Removes from set1 any items which don't appear in set2 and returns the result.
-    """
-    result = []
-    for v in set1:
-        if v in set2:
-            result.append (v)
-    return result
-
-def contains (small, large):
-    """ Returns true iff all elements of 'small' exist in 'large'.
-    """
-    small = to_seq (small)
-    large = to_seq (large)
-
-    for s in small:
-        if not s in large:
-            return False
-    return True
-
-def equal (a, b):
-    """ Returns True iff 'a' contains the same elements as 'b', irrespective of their order.
-        # TODO: Python 2.4 has a proper set class.
-    """
-    return contains (a, b) and contains (b, a)
diff --git a/SRC/Boost/tools/build/v2/util/string.jam b/SRC/Boost/tools/build/v2/util/string.jam
deleted file mode 100755
index 1de1edf..0000000
--- a/SRC/Boost/tools/build/v2/util/string.jam
+++ /dev/null
@@ -1,189 +0,0 @@
-# Copyright 2002 Dave Abrahams
-# Copyright 2002, 2003 Rene Rivera
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import regex ;
-
-
-# Characters considered whitespace, as a list.
-.whitespace-chars = " " "	" "
-" ;
-
-# Characters considered whitespace, as a single string.
-.whitespace = $(.whitespace-chars:J="") ;
-
-
-# Returns the canonical set of whitespace characters, as a list.
-#
-rule whitespace-chars ( )
-{
-    return $(.whitespace-chars) ;
-}
-
-
-# Returns the canonical set of whitespace characters, as a single string.
-#
-rule whitespace ( )
-{
-    return $(.whitespace) ;
-}
-
-
-# Splits the given string into a list of strings composed of each character of
-# the string in sequence.
-#
-rule chars (
-    string  # The string to split.
-    )
-{
-    local result ;
-    while $(string)
-    {
-        local s = [ MATCH (.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.*) : $(string) ] ;
-        string = $(s[9]) ;
-        result += $(s[1-8]) ;
-    }
-
-    # Trim off empty strings.
-    while $(result[1]) && ! $(result[-1])
-    {
-        result = $(result[1--2]) ;
-    }
-
-    return $(result) ;
-}
-
-
-# Apply a set of standard transformations to string to produce an abbreviation
-# no more than 5 characters long.
-#
-rule abbreviate ( string )
-{
-    local r = $(.abbreviated-$(string)) ;
-    if $(r)
-    {
-        return $(r) ;
-    }
-    # Anything less than 4 characters gets no abbreviation.
-    else if ! [ MATCH (....) : $(string) ]
-    {
-        .abbreviated-$(string) = $(string) ;
-        return $(string) ;
-    }
-    else
-    {
-        # Separate the initial letter in case it's a vowel.
-        local s1 = [ MATCH ^(.)(.*) : $(string) ] ;
-
-        # Drop trailing "ing".
-        local s2 = [ MATCH ^(.*)ing$ : $(s1[2]) ] ;
-        s2 ?= $(s1[2]) ;
-
-        # Reduce all doubled characters to one.
-        local last = "" ;
-        for local c in [ chars $(s2) ]
-        {
-            if $(c) != $(last)
-            {
-                r += $(c) ;
-                last = $(c) ;
-            }
-        }
-        s2 = $(r:J="") ;
-
-        # Chop all vowels out of the remainder.
-        s2 = [ regex.replace $(s2) [AEIOUaeiou] "" ] ;
-
-        # Shorten remaining consonants to 4 characters.
-        s2 = [ MATCH ^(.?.?.?.?) : $(s2) ] ;
-
-        # Glue the initial character back on to the front.
-        s2 = $(s1[1])$(s2) ;
-
-        .abbreviated-$(string) = $(s2) ;
-        return $(s2) ;
-    }
-}
-
-
-# Concatenates the given strings, inserting the given separator between each
-# string.
-#
-rule join (
-    strings *  # The strings to join.
-    : separator ?  # The optional separator.
-    )
-{
-    separator ?= "" ;
-    return $(strings:J=$(separator)) ;
-}
-
-
-# Split a string into whitespace separated words.
-#
-rule words (
-    string  # The string to split.
-    : whitespace *  # Optional, characters to consider as whitespace.
-    )
-{
-    whitespace = $(whitespace:J="") ;
-    whitespace ?= $(.whitespace) ;
-    local w = ;
-    while $(string)
-    {
-        string = [ MATCH "^[$(whitespace)]*([^$(whitespace)]*)(.*)" : $(string) ] ;
-        if $(string[1]) && $(string[1]) != ""
-        {
-            w += $(string[1]) ;
-        }
-        string = $(string[2]) ;
-    }
-    return $(w) ;
-}
-
-
-# Check that the given string is composed entirely of whitespace.
-#
-rule is-whitespace (
-    string ?  # The string to test.
-    )
-{
-    if ! $(string) { return true ; }
-    else if $(string) = "" { return true ; }
-    else if [ MATCH "^([$(.whitespace)]+)$" : $(string) ] { return true ; }
-    else { return ; }
-}
-
-rule __test__ ( )
-{
-    import assert ;
-    assert.result a b c : chars abc ;
-
-    assert.result rntm : abbreviate runtime ;
-    assert.result ovrld : abbreviate overload ;
-    assert.result dbg : abbreviate debugging ;
-    assert.result async : abbreviate asynchronous ;
-    assert.result pop : abbreviate pop ;
-    assert.result aaa : abbreviate aaa ;
-    assert.result qck : abbreviate quack ;
-    assert.result sttc : abbreviate static ;
-
-    # Check boundary cases.
-    assert.result a : chars a ;
-    assert.result : chars "" ;
-    assert.result a b c d e f g h : chars abcdefgh ;
-    assert.result a b c d e f g h i : chars abcdefghi ;
-    assert.result a b c d e f g h i j : chars abcdefghij ;
-    assert.result a b c d e f g h i j k : chars abcdefghijk ;
-
-    assert.result a//b/c/d : join a "" b c d : / ;
-    assert.result abcd : join  a "" b c d ;
-
-    assert.result a b c : words "a b	c" ;
-
-    assert.true is-whitespace "     	" ;
-    assert.false is-whitespace "  a b c	" ;
-    assert.true is-whitespace "" ;
-    assert.true is-whitespace ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/utility.jam b/SRC/Boost/tools/build/v2/util/utility.jam
deleted file mode 100755
index 116fe86..0000000
--- a/SRC/Boost/tools/build/v2/util/utility.jam
+++ /dev/null
@@ -1,235 +0,0 @@
-# Copyright 2001, 2002 Dave Abrahams
-# Copyright 2002, 2003, 2004, 2005 Vladimir Prus
-# Copyright 2008 Jurko Gospodnetic
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-import "class" : is-instance ;
-import errors ;
-
-
-# For all elements of 'list' which do not already have 'suffix', add 'suffix'.
-#
-rule apply-default-suffix ( suffix : list * )
-{
-    local result ;
-    for local i in $(list)
-    {
-        if $(i:S) = $(suffix)
-        {
-            result += $(i) ;
-        }
-        else
-        {
-            result += $(i)$(suffix) ;
-        }
-    }
-    return $(result) ;
-}
-
-
-# If 'name' contains a dot, returns the part before the last dot. If 'name'
-# contains no dot, returns it unmodified.
-#
-rule basename ( name )
-{
-    if $(name:S)
-    {
-        name = $(name:B) ;
-    }
-    return $(name) ;
-}
-
-
-# Return the file of the caller of the rule that called caller-file.
-#
-rule caller-file ( )
-{
-    local bt = [ BACKTRACE ] ;
-    return $(bt[9]) ;
-}
-
-
-# Tests if 'a' is equal to 'b'. If 'a' is a class instance, calls its 'equal'
-# method. Uses ordinary jam's comparison otherwise.
-#
-rule equal ( a b )
-{
-    if [ is-instance $(a) ]
-    {
-        return [ $(a).equal $(b) ] ;
-    }
-    else
-    {
-        if $(a) = $(b)
-        {
-            return true ;
-        }
-    }
-}
-
-
-# Tests if 'a' is less than 'b'. If 'a' is a class instance, calls its 'less'
-# method. Uses ordinary jam's comparison otherwise.
-#
-rule less ( a b )
-{
-    if [ is-instance $(a) ]
-    {
-        return [ $(a).less $(b) ] ;
-    }
-    else
-    {
-        if $(a) < $(b)
-        {
-            return true ;
-        }
-    }
-}
-
-
-# Returns the textual representation of argument. If it is a class instance,
-# class its 'str' method. Otherwise, returns the argument.
-#
-rule str ( value )
-{
-    if [ is-instance $(value) ]
-    {
-        return [ $(value).str ] ;
-    }
-    else
-    {
-        return $(value) ;
-    }
-}
-
-
-# Accepts a list of gristed values and returns them ungristed. Reports an error
-# in case any of the passed parameters is not gristed, i.e. surrounded in angle
-# brackets < and >.
-#
-rule ungrist ( names * )
-{
-    local result ;
-    for local name in $(names)
-    {
-        local stripped = [ MATCH ^<(.*)>$ : $(name) ] ;
-        if ! $(stripped)
-        {
-            errors.error "in ungrist $(names) : $(name) is not of the form <.*>" ;
-        }
-        result += $(stripped) ;
-    }
-    return $(result) ;
-}
-
-
-# If the passed value is quoted, unquotes it. Otherwise returns the value
-# unchanged.
-#
-rule unquote ( value ? )
-{
-    local match-result = [ MATCH ^(\")(.*)(\")$ : $(value) ] ;
-    if $(match-result)
-    {
-        return $(match-result[2]) ;
-    }
-    else
-    {
-        return $(value) ;
-    }
-}
-
-
-rule __test__ ( )
-{
-    import assert ;
-    import "class" : new ;
-    import errors : try catch ;
-
-    assert.result 123 : str 123 ;
-
-    class test-class__
-    {
-        rule __init__ (   ) {                            }
-        rule str      (   ) { return "str-test-class"  ; }
-        rule less     ( a ) { return "yes, of course!" ; }
-        rule equal    ( a ) { return "not sure"        ; }
-    }
-
-    assert.result "str-test-class" : str [ new test-class__ ] ;
-    assert.true less 1 2 ;
-    assert.false less 2 1 ;
-    assert.result "yes, of course!" : less [ new test-class__ ] 1 ;
-    assert.true equal 1 1 ;
-    assert.false equal 1 2 ;
-    assert.result "not sure" : equal [ new test-class__ ] 1 ;
-
-    assert.result foo.lib foo.lib : apply-default-suffix .lib : foo.lib foo.lib
-        ;
-
-    assert.result foo : basename foo ;
-    assert.result foo : basename foo.so ;
-    assert.result foo.so : basename foo.so.1 ;
-
-    assert.result         : unquote ;
-    assert.result ""      : unquote "" ;
-    assert.result foo     : unquote foo ;
-    assert.result \"foo   : unquote \"foo ;
-    assert.result foo\"   : unquote foo\" ;
-    assert.result foo     : unquote \"foo\" ;
-    assert.result \"foo\" : unquote \"\"foo\"\" ;
-
-    assert.result         : ungrist ;
-    assert.result foo     : ungrist <foo> ;
-    assert.result <foo>   : ungrist <<foo>> ;
-    assert.result foo bar : ungrist <foo> <bar> ;
-
-    try ;
-    {
-        ungrist "" ;
-    }
-    catch "in ungrist  :  is not of the form <.*>" ;
-
-    try ;
-    {
-        ungrist <> ;
-    }
-    catch "in ungrist <> : <> is not of the form <.*>" ;
-
-    try ;
-    {
-        ungrist foo ;
-    }
-    catch "in ungrist foo : foo is not of the form <.*>" ;
-
-    try ;
-    {
-        ungrist <foo ;
-    }
-    catch "in ungrist <foo : <foo is not of the form <.*>" ;
-
-    try ;
-    {
-        ungrist foo> ;
-    }
-    catch "in ungrist foo> : foo> is not of the form <.*>" ;
-
-    try ;
-    {
-        ungrist foo bar ;
-    }
-    catch "in ungrist foo : foo is not of the form <.*>" ;
-
-    try ;
-    {
-        ungrist foo <bar> ;
-    }
-    catch "in ungrist foo : foo is not of the form <.*>" ;
-
-    try ;
-    {
-        ungrist <foo> bar ;
-    }
-    catch "in ungrist bar : bar is not of the form <.*>" ;
-}
diff --git a/SRC/Boost/tools/build/v2/util/utility.py b/SRC/Boost/tools/build/v2/util/utility.py
deleted file mode 100755
index a9d4893..0000000
--- a/SRC/Boost/tools/build/v2/util/utility.py
+++ /dev/null
@@ -1,155 +0,0 @@
-#  (C) Copyright David Abrahams 2001. Permission to copy, use, modify, sell and
-#  distribute this software is granted provided this copyright notice appears in
-#  all copies. This software is provided "as is" without express or implied
-#  warranty, and with no claim as to its suitability for any purpose.
-
-""" Utility functions to add/remove/get grists.
-    Grists are string enclosed in angle brackets (<>) that are used as prefixes. See Jam for more information.
-"""
-
-import re
-import os
-import bjam
-from b2.exceptions import *
-
-__re_grist_and_value = re.compile (r'(<[^>]*>)(.*)')
-__re_grist_content = re.compile ('^<(.*)>$')
-__re_backslash = re.compile (r'\\')
-
-def to_seq (value):
-    """ If value is a sequence, returns it.
-        If it is a string, returns a sequence with value as its sole element.
-        """
-    if not value:
-        return []
-
-    if isinstance (value, str):
-        return [value]
-
-    else:
-        return value
-
-def replace_references_by_objects (manager, refs):
-    objs = []
-    for r in refs:
-        objs.append (manager.get_object (r))
-    return objs
-
-def add_grist (features):
-    """ Transform a string by bracketing it with "<>". If already bracketed, does nothing.
-        features: one string or a sequence of strings
-        return: the gristed string, if features is a string, or a sequence of gristed strings, if features is a sequence
-    """
-
-    def grist_one (feature):
-        if feature [0] != '<' and feature [len (feature) - 1] != '>':
-            return '<' + feature + '>'
-        else:
-            return feature
-    
-    if isinstance (features, str):
-        return grist_one (features)
-    else:
-        return [ grist_one (feature) for feature in features ]
-
-def replace_grist (features, new_grist):
-    """ Replaces the grist of a string by a new one.
-        Returns the string with the new grist.
-    """
-    def replace_grist_one (name, new_grist):
-        split = __re_grist_and_value.match (name)
-        if not split:
-            return new_grist + name
-        else:
-            return new_grist + split.group (2)
-
-    if isinstance (features, str):
-        return replace_grist_one (features, new_grist)
-    else:
-        return [ replace_grist_one (feature, new_grist) for feature in features ]
-
-def get_value (property):
-    """ Gets the value of a property, that is, the part following the grist, if any.
-    """
-    return replace_grist (property, '')
-    
-def get_grist (value):
-    """ Returns the grist of a string.
-        If value is a sequence, does it for every value and returns the result as a sequence.
-    """
-    def get_grist_one (name):
-        split = __re_grist_and_value.match (name)
-        if not split:
-            return ''
-        else:
-            return split.group (1)
-
-    if isinstance (value, str):
-        return get_grist_one (value)
-    else:
-        return [ get_grist_one (v) for v in value ]
-
-def ungrist (value):
-    """ Returns the value without grist. 
-        If value is a sequence, does it for every value and returns the result as a sequence.
-    """
-    def ungrist_one (value):
-        stripped = __re_grist_content.match (value)
-        if not stripped:
-            raise BaseException ("in ungrist: '%s' is not of the form <.*>" % value)
-
-        return stripped.group (1)
-
-    if isinstance (value, str):
-        return ungrist_one (value)
-    else:
-        return [ ungrist_one (v) for v in value ]
-
-def replace_suffix (name, new_suffix):
-    """ Replaces the suffix of name by new_suffix.
-        If no suffix exists, the new one is added.
-    """
-    split = os.path.splitext (name)
-    return split [0] + new_suffix
-
-def forward_slashes (s):
-    """ Converts all backslashes to forward slashes.
-    """
-    return __re_backslash.sub ('/', s)
-
-
-def split_action_id (id):
-    """ Splits an id in the toolset and specific rule parts. E.g.
-        'gcc.compile.c++' returns ('gcc', 'compile.c++')
-    """
-    split = id.split ('.', 1)
-    toolset = split [0]
-    name = ''
-    if len (split) > 1:
-        name = split [1]
-    return (toolset, name)
-
-def os_name ():
-    result = bjam.variable("OS")
-    assert(len(result) == 1)
-    return result[0]
-
-def platform ():
-    return bjam.variable("OSPLAT")
-    
-def os_version ():
-    return bjam.variable("OSVER")
-
-def on_windows ():
-    """ Returns true if running on windows, whether in cygwin or not.
-    """
-    if bjam.variable("NT"):
-        return True
-
-    elif bjam.variable("UNIX"):
-
-        uname = bjam.variable("JAMUNAME")
-        if uname and uname[0].startswith("CYGWIN"):
-            return True
-
-    return False
diff --git a/SRC/ChronoEngine/ChronoEngine.pro b/SRC/ChronoEngine/ChronoEngine.pro
index b756de3..413e2c8 100644
--- a/SRC/ChronoEngine/ChronoEngine.pro
+++ b/SRC/ChronoEngine/ChronoEngine.pro
@@ -19,6 +19,8 @@ OBJECTS_DIR = ./BUILD/obj
 
 INCLUDEPATH = ./ ./collision/bullet ./collision/gimpact
 
+CONFIG += c++11
+
 # Input
 HEADERS += collision/ChCCollisionInfo.h \
            collision/ChCCollisionModel.h \
@@ -727,9 +729,3 @@ pneumatica/ugello_controllato_PA.cpp \
 pneumatica/ugello_controllato_RA.cpp \
 pneumatica/sis_attuatore_3_2_prop.cpp \
 pneumatica/sis_attuatore_3_2.cpp
-
-
-target.path = ./BUILD/lib
-include.path = ./BUILD/include/ChronoEngine
-include.files = $${HEADERS}
-INSTALLS *= target
diff --git a/SRC/OpenMeca/Core/AutoRegisteredPtr.hpp b/SRC/OpenMeca/Core/AutoRegisteredPtr.hpp
index 5f336ec..f8018b4 100644
--- a/SRC/OpenMeca/Core/AutoRegisteredPtr.hpp
+++ b/SRC/OpenMeca/Core/AutoRegisteredPtr.hpp
@@ -20,8 +20,8 @@
 #ifndef OpenMeca_Core_AutoRegisterdPtr_hpp
 #define OpenMeca_Core_AutoRegisterdPtr_hpp
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 #include "OpenMeca/Core/Macro.hpp"
 
 namespace OpenMeca
diff --git a/SRC/OpenMeca/Core/DrawableUserItem.cpp b/SRC/OpenMeca/Core/DrawableUserItem.cpp
index df9a3a5..7538d09 100644
--- a/SRC/OpenMeca/Core/DrawableUserItem.cpp
+++ b/SRC/OpenMeca/Core/DrawableUserItem.cpp
@@ -28,7 +28,7 @@
 #include "OpenMeca/Core/DrawableUserItem.hpp"
 #include "OpenMeca/Core/SelectionManager.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Core::DrawableUserItem)
 
diff --git a/SRC/OpenMeca/Core/Item.cpp b/SRC/OpenMeca/Core/Item.cpp
index a0c98d3..55c7567 100644
--- a/SRC/OpenMeca/Core/Item.cpp
+++ b/SRC/OpenMeca/Core/Item.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Core/Item.hpp"
 #include "OpenMeca/Core/System.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 
 
 namespace OpenMeca
diff --git a/SRC/OpenMeca/Core/Item.hpp b/SRC/OpenMeca/Core/Item.hpp
index ed8fe0e..6499f0e 100644
--- a/SRC/OpenMeca/Core/Item.hpp
+++ b/SRC/OpenMeca/Core/Item.hpp
@@ -30,8 +30,8 @@
 #include "OpenMeca/Core/AutoRegister.hpp"
 #include "OpenMeca/Core/Macro.hpp"
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "ChronoEngine/physics/ChSystem.h"
 
diff --git a/SRC/OpenMeca/Core/Macro.cpp b/SRC/OpenMeca/Core/Macro.cpp
index 8cd591f..9294a77 100644
--- a/SRC/OpenMeca/Core/Macro.cpp
+++ b/SRC/OpenMeca/Core/Macro.cpp
@@ -17,8 +17,6 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-#include "Boost/BUILD/include/boost/lexical_cast.hpp"
-
 #include "OpenMeca/Core/Macro.hpp"
 #include "OpenMeca/Gui/MainWindow.hpp"
 
@@ -64,7 +62,7 @@ namespace OpenMeca
           std::string text = "Sorry, openmeca encounters an error\n\n";
           text += "Error details :\n";
           text += "source file :" + file + "\n";
-          text += "line :" + boost::lexical_cast<std::string>(line) + "\n";
+          text += "line :" + std::to_string(line) + "\n";
 	  text += "condition :" + condition + "\n";
 	  
 	  if (!message.empty())
diff --git a/SRC/OpenMeca/Core/SetOf.hpp b/SRC/OpenMeca/Core/SetOf.hpp
index 690f6af..848884c 100755
--- a/SRC/OpenMeca/Core/SetOf.hpp
+++ b/SRC/OpenMeca/Core/SetOf.hpp
@@ -26,8 +26,8 @@
 #include <list>
 #include <iostream>
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Core/SetOfBase.hpp"
 
diff --git a/SRC/OpenMeca/Core/SetOfBase.hpp b/SRC/OpenMeca/Core/SetOfBase.hpp
index 31b6e03..23dec56 100644
--- a/SRC/OpenMeca/Core/SetOfBase.hpp
+++ b/SRC/OpenMeca/Core/SetOfBase.hpp
@@ -26,9 +26,9 @@
 #include <list>
 #include <iostream>
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
-#include "Boost/BUILD/include/boost/serialization/list.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
+#include "Serialization/list.hpp"
 
 #include "OpenMeca/Core/Macro.hpp"
 
diff --git a/SRC/OpenMeca/Core/Singleton.hpp b/SRC/OpenMeca/Core/Singleton.hpp
index e235a7b..e060203 100644
--- a/SRC/OpenMeca/Core/Singleton.hpp
+++ b/SRC/OpenMeca/Core/Singleton.hpp
@@ -22,8 +22,7 @@
 #ifndef OpenMeca_Core_Singleton_hpp
 #define OpenMeca_Core_Singleton_hpp
 
-#include "Boost/BUILD/include/boost/type_traits/is_base_of.hpp"
-#include "Boost/BUILD/include/boost/static_assert.hpp"
+#include <type_traits>
 
 #include "OpenMeca/Core/Macro.hpp"
 
@@ -74,8 +73,8 @@ namespace OpenMeca
     inline T&
     Singleton<T>::Get()
     {
-      BOOST_STATIC_ASSERT_MSG((boost::is_base_of<Singleton<T>, T>::value),
-				"T must be a descendant of Singleton");
+      static_assert((std::is_base_of<Singleton<T>, T>::value),
+		    "T must be a descendant of Singleton");
       if (me_ == 0)
 	new T;
       return *me_;
diff --git a/SRC/OpenMeca/Core/System.cpp b/SRC/OpenMeca/Core/System.cpp
index 9196fcb..99e3e09 100755
--- a/SRC/OpenMeca/Core/System.cpp
+++ b/SRC/OpenMeca/Core/System.cpp
@@ -21,9 +21,8 @@
 #include <iostream>
 #include <fstream>
 
-#include "Boost/BUILD/include/boost/lexical_cast.hpp"
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Util/Var.hpp"
 #include "OpenMeca/Core/System.hpp"
@@ -266,7 +265,7 @@ namespace OpenMeca
 	    }
 	}
       maxNumber++;
-      return childTypeStr + '_' + boost::lexical_cast<std::string>(maxNumber);
+      return childTypeStr + '_' + std::to_string(maxNumber);
     }
 
     OpenMeca::Setting::Scales& 
diff --git a/SRC/OpenMeca/Core/System.hpp b/SRC/OpenMeca/Core/System.hpp
index 271cd6e..2aaa162 100755
--- a/SRC/OpenMeca/Core/System.hpp
+++ b/SRC/OpenMeca/Core/System.hpp
@@ -167,7 +167,7 @@ namespace OpenMeca
   }
 }
 
-#include "Boost/BUILD/include/boost/serialization/version.hpp"
+#include "Serialization/version.hpp"
 BOOST_CLASS_VERSION(OpenMeca::Core::System, 2)
 
 #endif
diff --git a/SRC/OpenMeca/Core/SystemSettingT.hpp b/SRC/OpenMeca/Core/SystemSettingT.hpp
index 0881bd4..3f1a33e 100644
--- a/SRC/OpenMeca/Core/SystemSettingT.hpp
+++ b/SRC/OpenMeca/Core/SystemSettingT.hpp
@@ -22,8 +22,8 @@
 #define OpenMeca_Core_SystemSettingT_hpp
 
 #include <QFile>
-#include "Boost/BUILD/include/boost/type_traits/is_base_of.hpp"
-#include "Boost/BUILD/include/boost/static_assert.hpp"
+#include <type_traits>
+
 #include "OpenMeca/Core/SystemSetting.hpp"
 #include "OpenMeca/Util/Color.hpp"
 #include "OpenMeca/Util/Icon.hpp"
diff --git a/SRC/OpenMeca/Core/UserItem.cpp b/SRC/OpenMeca/Core/UserItem.cpp
index 1c17c74..6c9c54a 100644
--- a/SRC/OpenMeca/Core/UserItem.cpp
+++ b/SRC/OpenMeca/Core/UserItem.cpp
@@ -224,12 +224,12 @@ namespace OpenMeca
       return SetOfBase<UserItem>();
     }
 
-    boost::function<const Geom::Frame<_3D>& ()> 
+    std::function<const Geom::Frame<_3D>& ()> 
     UserItem::GetFrameFct() const
     {
       const UserItem& me = *this;
       const Geom::Frame<_3D>&(UserItem::*fnpt)() const = &UserItem::GetFrame;
-      boost::function<const Geom::Frame<_3D>& ()> f = boost::bind(fnpt, boost::ref(me));
+      std::function<const Geom::Frame<_3D>& ()> f = std::bind(fnpt, std::ref(me));
       return f;
     }
 
diff --git a/SRC/OpenMeca/Core/UserItem.hpp b/SRC/OpenMeca/Core/UserItem.hpp
index fb0b5b2..f35dac9 100644
--- a/SRC/OpenMeca/Core/UserItem.hpp
+++ b/SRC/OpenMeca/Core/UserItem.hpp
@@ -24,8 +24,8 @@
 #include <string>
 #include <QIcon>
 #include <QTreeWidgetItem>
+#include <functional>
 
-#include "Boost/BUILD/include/boost/bind.hpp"
 
 #include "OpenMeca/Core/Item.hpp"
 #include "OpenMeca/Core/SetOf.hpp"
@@ -86,7 +86,7 @@ namespace OpenMeca
 
       
 
-      boost::function<const Geom::Frame<_3D>& ()> GetFrameFct() const;
+      std::function<const Geom::Frame<_3D>& ()> GetFrameFct() const;
 
       virtual const Geom::Frame<_3D>& GetReferenceFrame() const; // forbidden
       virtual const Geom::Frame<_3D>& GetFrame() const; // forbidden
diff --git a/SRC/OpenMeca/Geom/Coordinate.hpp b/SRC/OpenMeca/Geom/Coordinate.hpp
index fe98c1a..066cc3a 100644
--- a/SRC/OpenMeca/Geom/Coordinate.hpp
+++ b/SRC/OpenMeca/Geom/Coordinate.hpp
@@ -30,12 +30,15 @@
 #include <cassert>
 #include <typeinfo>
 #include <iostream>
+#include <array>
+#include <functional>
+
+
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
+#include "Serialization/array.hpp"
+
 
-#include "Boost/BUILD/include/boost/array.hpp"
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
-#include "Boost/BUILD/include/boost/serialization/nvp.hpp"
-#include "Boost/BUILD/include/boost/function.hpp"
 
 #include "OpenMeca/Geom/SpaceDim.hpp"
 #include "OpenMeca/Geom/CoordinateSystem.hpp"
@@ -108,8 +111,8 @@ namespace OpenMeca
       friend Matrix<_3D> operator/ (const Matrix<_3D> &, const double &);
 
     public:
-      explicit Coordinate(boost::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
-      Coordinate(double x, double y, double z, boost::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
+      explicit Coordinate(std::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
+      Coordinate(double x, double y, double z, std::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
       ~Coordinate();
 
       Coordinate(const Coordinate & source);
@@ -136,12 +139,12 @@ namespace OpenMeca
       const double* GetCoordinates() const {return c_;}
       unsigned int GetRank() {return GetFrame().GetRank();};
 
-      boost::function<const Frame<N>& ()>& GetFrameFunctionAccess() {return getFrame_;}
-      const boost::function<const Frame<N>& ()>& GetFrameFunctionAccess() const {return getFrame_;}
+      std::function<const Frame<N>& ()>& GetFrameFunctionAccess() {return getFrame_;}
+      const std::function<const Frame<N>& ()>& GetFrameFunctionAccess() const {return getFrame_;}
 
       //Expression management
-      boost::array<Util::Expr,N>& GetExpression();
-      const boost::array<Util::Expr,N>& GetExpression() const;
+      std::array<Util::Expr,N>& GetExpression();
+      const std::array<Util::Expr,N>& GetExpression() const;
       
     private:
       friend class boost::serialization::access;
@@ -151,7 +154,7 @@ namespace OpenMeca
 
     private:  // Data
       boost::array<double,N> c_;
-      boost::function<const Frame<N>& ()> getFrame_;
+      std::function<const Frame<N>& ()> getFrame_;
 
     public: 	// Data
       const SpaceDim dimension;
@@ -231,7 +234,7 @@ namespace OpenMeca
     //
 
     template<SpaceDim N, typename coordSystem> inline
-    Coordinate<N, coordSystem>::Coordinate(boost::function<const Frame<N>& ()> f)
+    Coordinate<N, coordSystem>::Coordinate(std::function<const Frame<N>& ()> f)
       : getFrame_(f), dimension(N)
     {
       OMC_ASSERT(!"Coordinate<N, coordSystem> generic constructour should not be called !!!");
@@ -512,14 +515,14 @@ namespace OpenMeca
     // Constructors ...
 
     template<> inline
-    Coordinate<_3D, Cartesian>::Coordinate(boost::function<const Frame<_3D>& ()> f)
+    Coordinate<_3D, Cartesian>::Coordinate(std::function<const Frame<_3D>& ()> f)
       :  getFrame_(f), dimension(_3D)
     {
       c_[0]=c_[1]=c_[2]=0.;
     }
 
     template<> inline
-    Coordinate<_3D, Cartesian>::Coordinate(double x, double y, double z, boost::function<const Frame<_3D>& ()> f)
+    Coordinate<_3D, Cartesian>::Coordinate(double x, double y, double z, std::function<const Frame<_3D>& ()> f)
       : getFrame_(f), dimension(_3D)
     {
       c_[0]=x;
diff --git a/SRC/OpenMeca/Geom/Frame.cpp b/SRC/OpenMeca/Geom/Frame.cpp
index ae4e7b1..5c24ec1 100755
--- a/SRC/OpenMeca/Geom/Frame.cpp
+++ b/SRC/OpenMeca/Geom/Frame.cpp
@@ -26,7 +26,7 @@
 
 #include <cmath>
 #include <iostream>
-#include "QGLViewer/BUILD/include/QGLViewer/qglviewer.h"
+#include <QGLViewer/qglviewer.h>
 
 #include "OpenMeca/Geom/Frame.hpp"
 #include "OpenMeca/Geom/Point.hpp"
@@ -87,7 +87,7 @@ namespace OpenMeca
     template<> void
     Frame<_3D>::BuildAxis()
     {
-      boost::function<const Frame<_3D>& ()> f = boost::bind(&Frame<_3D>::GetMe, boost::ref(*this));
+      std::function<const Frame<_3D>& ()> f = std::bind(&Frame<_3D>::GetMe, std::ref(*this));
       xAxis_ = new Vector<_3D>(1.,0.,0.,f);
       yAxis_ = new Vector<_3D>(0.,1.,0.,f);
       zAxis_ = new Vector<_3D>(0.,0.,1.,f);
diff --git a/SRC/OpenMeca/Geom/Frame.hpp b/SRC/OpenMeca/Geom/Frame.hpp
index f39d253..58f0c22 100755
--- a/SRC/OpenMeca/Geom/Frame.hpp
+++ b/SRC/OpenMeca/Geom/Frame.hpp
@@ -36,8 +36,8 @@
   #include <OpenGL/gl.h>
 #endif
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Geom/SpaceDim.hpp"
 #include "OpenMeca/Core/Macro.hpp"
diff --git a/SRC/OpenMeca/Geom/Matrix.cpp b/SRC/OpenMeca/Geom/Matrix.cpp
index 7748e94..343d8da 100755
--- a/SRC/OpenMeca/Geom/Matrix.cpp
+++ b/SRC/OpenMeca/Geom/Matrix.cpp
@@ -47,7 +47,7 @@ namespace OpenMeca
    }
 
 
-    Matrix<_3D>::Matrix(const Matrix<_3D>& M, boost::function<const Frame<_3D>& ()> f):
+    Matrix<_3D>::Matrix(const Matrix<_3D>& M, std::function<const Frame<_3D>& ()> f):
       c0_(f), c1_(f), c2_(f)
     {
       c_[0] = &c0_;
diff --git a/SRC/OpenMeca/Geom/Matrix.hpp b/SRC/OpenMeca/Geom/Matrix.hpp
index d21a8d9..9829b98 100755
--- a/SRC/OpenMeca/Geom/Matrix.hpp
+++ b/SRC/OpenMeca/Geom/Matrix.hpp
@@ -29,8 +29,8 @@
 #include <cmath>
 #include <iostream>
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Geom/Vector.hpp"
 #include "OpenMeca/Geom/Frame.hpp"
@@ -78,10 +78,10 @@ namespace OpenMeca
     class Matrix<_3D>
     {
     public:
-      Matrix(boost::function<const Frame<_3D>& ()> = &Frame<_3D>::GetGlobal);
-      Matrix(double, double, double, double, double, double, double, double, double, boost::function<const Frame<_3D>& ()> = &Frame<_3D>::GetGlobal);
+      Matrix(std::function<const Frame<_3D>& ()> = &Frame<_3D>::GetGlobal);
+      Matrix(double, double, double, double, double, double, double, double, double, std::function<const Frame<_3D>& ()> = &Frame<_3D>::GetGlobal);
       Matrix(const Matrix<_3D>&);
-      Matrix(const Matrix<_3D>&, boost::function<const Frame<_3D>& ()>);
+      Matrix(const Matrix<_3D>&, std::function<const Frame<_3D>& ()>);
       Matrix& operator=(const Matrix<_3D>&);
       static std::string GetStrKey(){return std::string("Matrix" + SpaceDimUtil<_3D>::GetStrKey());}
       static std::string GetStrType(){return std::string("Matrix");}
@@ -115,8 +115,8 @@ namespace OpenMeca
       const Coordinate<_3D>& GetLine1() const {return c1_;}
       const Coordinate<_3D>& GetLine2() const {return c2_;}
 
-      boost::function<const Frame<_3D>& ()>& GetFrameFunctionAccess() {return c0_.GetFrameFunctionAccess();}
-      const boost::function<const Frame<_3D>& ()>& GetFrameFunctionAccess() const {return c0_.GetFrameFunctionAccess();}
+      std::function<const Frame<_3D>& ()>& GetFrameFunctionAccess() {return c0_.GetFrameFunctionAccess();}
+      const std::function<const Frame<_3D>& ()>& GetFrameFunctionAccess() const {return c0_.GetFrameFunctionAccess();}
   
     private:
       //double m_[N*N]; //-------->[line][colums] || [x] = [3*l + c]
@@ -130,9 +130,9 @@ namespace OpenMeca
       {
 	//a simple way to serialize without saving frame tree
 	//be carefull...
-	ar  &boost::serialization::make_nvp("line0", c0_);
-	ar  &boost::serialization::make_nvp("line1", c1_);
-	ar  &boost::serialization::make_nvp("line2", c2_);
+	ar &c0_;
+	ar &c1_;
+	ar &c2_;
       }
      
 
@@ -214,7 +214,7 @@ namespace OpenMeca
     //CONSTRUCTOR
     //
     inline 
-    Matrix<_3D>::Matrix(double d0, double d1, double d2, double d3, double d4, double d5, double d6, double d7, double d8, boost::function<const Frame<_3D>& ()> f)
+    Matrix<_3D>::Matrix(double d0, double d1, double d2, double d3, double d4, double d5, double d6, double d7, double d8, std::function<const Frame<_3D>& ()> f)
       : c0_(d0,d1,d2,f), c1_(d3,d4,d5,f), c2_(d6,d7,d8,f) 
     {
       c_[0] = &c0_;
@@ -225,7 +225,7 @@ namespace OpenMeca
   
     
     inline 
-    Matrix<_3D>::Matrix(boost::function<const Frame<_3D>& ()> f)
+    Matrix<_3D>::Matrix(std::function<const Frame<_3D>& ()> f)
     :c0_(0,0,0,f), c1_(0,0,0,f), c2_(0,0,0,f)
     {
       c_[0] = &c0_;
diff --git a/SRC/OpenMeca/Geom/Point.hpp b/SRC/OpenMeca/Geom/Point.hpp
index b0b519c..ee0d3df 100644
--- a/SRC/OpenMeca/Geom/Point.hpp
+++ b/SRC/OpenMeca/Geom/Point.hpp
@@ -33,9 +33,8 @@
 #include "OpenMeca/Geom/Coordinate.hpp"
 #include "OpenMeca/Geom/Vector.hpp"
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
-#include "Boost/BUILD/include/boost/function.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "ChronoEngine/core/ChVector.h"
 
@@ -59,9 +58,9 @@ namespace OpenMeca
 
     public:
       //CONSTRUCTORS & DESTRUCTORS
-      explicit Point(boost::function<const Frame<N>& ()> = &Frame<N>::GetGlobal) ;
-      explicit Point(const Point<N> &, boost::function<const Frame<N>& ()>);
-      explicit Point(double, double, double, boost::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
+      explicit Point(std::function<const Frame<N>& ()> = &Frame<N>::GetGlobal) ;
+      explicit Point(const Point<N> &, std::function<const Frame<N>& ()>);
+      explicit Point(double, double, double, std::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
       Point(const Point &);
       virtual ~Point();
 
@@ -98,8 +97,8 @@ namespace OpenMeca
       void ResetState();
       void RecoveryState(unsigned int);
 
-      boost::function<const Frame<N>& ()>& GetFrameFunctionAccess(); 
-      const boost::function<const Frame<N>& ()>& GetFrameFunctionAccess() const;
+      std::function<const Frame<N>& ()>& GetFrameFunctionAccess(); 
+      const std::function<const Frame<N>& ()>& GetFrameFunctionAccess() const;
 
       const double* GetPtr() const;
 
@@ -110,7 +109,7 @@ namespace OpenMeca
     
     private:
       Coordinate<N, Cartesian> coord_;  
-      std::vector< boost::array<double,N> > states_;
+      std::vector< std::array<double,N> > states_;
       
     };
 
@@ -129,7 +128,7 @@ namespace OpenMeca
 
     
     template<SpaceDim N>
-    Point<N>::Point(double x, double y, double z, boost::function<const Frame<N>& ()> f)
+    Point<N>::Point(double x, double y, double z, std::function<const Frame<N>& ()> f)
     {
       OMC_ASSERT(!"Generic constructour should not be called !!!");
     }
@@ -142,7 +141,7 @@ namespace OpenMeca
     // Constructors ...
 
     template<SpaceDim N> inline
-    Point<N>::Point(boost::function<const Frame<N>& ()> f)
+    Point<N>::Point(std::function<const Frame<N>& ()> f)
       :  coord_(f)
     {
     }
@@ -155,7 +154,7 @@ namespace OpenMeca
 
 
     template<SpaceDim N> inline 
-    Point<N>::Point(const Point<N> & p, boost::function<const Frame<N>& ()> f) 
+    Point<N>::Point(const Point<N> & p, std::function<const Frame<N>& ()> f) 
       :  coord_(f)
     {
       if (p.GetFrame()==f())
@@ -351,8 +350,8 @@ namespace OpenMeca
     void
     Point<N>::SaveState()
     {
-      states_.push_back(boost::array<double,N>());
-      boost::array<double,N>& array = states_[states_.size() - 1];
+      states_.push_back(std::array<double,N>());
+      std::array<double,N>& array = states_[states_.size() - 1];
       for (int i = 0; i < N; ++i)
 	array[i] = coord_.c_[i];
     }
@@ -378,21 +377,21 @@ namespace OpenMeca
     Point<N>::RecoveryState(unsigned int i)
     {
       OMC_ASSERT(i < states_.size());
-      boost::array<double,N>& array = states_[i];
+      std::array<double,N>& array = states_[i];
       for (int i = 0; i < N; ++i)
 	coord_.c_[i] = array[i];
     }
 
 
       template<SpaceDim N> inline 
-    boost::function<const Frame<N>& ()>& 
+    std::function<const Frame<N>& ()>& 
     Point<N>::GetFrameFunctionAccess() 
     {
       return coord_.GetFrameFunctionAccess();
     }
     
     template<SpaceDim N> inline 
-    const boost::function<const Frame<N>& ()>& 
+    const std::function<const Frame<N>& ()>& 
     Point<N>::GetFrameFunctionAccess() const 
     {
       return coord_.GetFrameFunctionAccess();
@@ -413,7 +412,7 @@ namespace OpenMeca
     // Constructors ...
 
     template<> inline 
-    Point<_3D>::Point(double x, double y, double z, boost::function<const Frame<_3D>& ()> f)
+    Point<_3D>::Point(double x, double y, double z, std::function<const Frame<_3D>& ()> f)
       :  coord_(x,y,z,f)
     {
     }
diff --git a/SRC/OpenMeca/Geom/Quaternion.cpp b/SRC/OpenMeca/Geom/Quaternion.cpp
index d1d0bcb..a79e462 100755
--- a/SRC/OpenMeca/Geom/Quaternion.cpp
+++ b/SRC/OpenMeca/Geom/Quaternion.cpp
@@ -79,7 +79,7 @@ namespace OpenMeca
     Matrix<_3D>  
     Quaternion<_3D>::ToRotationMatrix() const
     {
-      boost::function<const Frame<_3D>& ()> f = boost::bind(&Quaternion<_3D>::GetFrameTo, boost::ref(*this));
+      std::function<const Frame<_3D>& ()> f = std::bind(&Quaternion<_3D>::GetFrameTo, std::ref(*this));
       Matrix<_3D> m(f);
       m[0][0] = 1. - 2.*q_[1]*q_[1] - 2*q_[2]*q_[2];
       m[1][1] = 1. - 2.*q_[0]*q_[0] - 2*q_[2]*q_[2];
diff --git a/SRC/OpenMeca/Geom/Quaternion.hpp b/SRC/OpenMeca/Geom/Quaternion.hpp
index f10a402..e9219ee 100755
--- a/SRC/OpenMeca/Geom/Quaternion.hpp
+++ b/SRC/OpenMeca/Geom/Quaternion.hpp
@@ -28,10 +28,10 @@
 
 #include <cmath>
 #include <iostream>
+#include <functional>
 
-#include "Boost/BUILD/include/boost/bind.hpp"
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Geom/SpaceDim.hpp"
 #include "OpenMeca/Geom/Vector.hpp"
@@ -69,12 +69,12 @@ namespace OpenMeca
 
     public:
       //CONSTRUCTORS & DESTRUCTORS
-      Quaternion(boost::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
-      Quaternion(double , double , double , double , boost::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
-      Quaternion(double , double , double , double , boost::function<const Frame<N>& ()>, const Frame<N>&);
-      Quaternion(const Vector<_3D>&, double, boost::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
+      Quaternion(std::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
+      Quaternion(double , double , double , double , std::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
+      Quaternion(double , double , double , double , std::function<const Frame<N>& ()>, const Frame<N>&);
+      Quaternion(const Vector<_3D>&, double, std::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
       Quaternion(const Quaternion<N> &);
-      Quaternion(const Quaternion<N> &, boost::function<const Frame<N>& ()>);
+      Quaternion(const Quaternion<N> &, std::function<const Frame<N>& ()>);
       Quaternion(const Vector<N> &, const Vector<N> &);
       ~Quaternion();
 
@@ -96,7 +96,7 @@ namespace OpenMeca
       Vector<N> GetAxis() const;
       double GetAngle() const;
       void GetAxisAngle(Vector<N>& axis, double& angle) const;
-      Vector<N> ToVector(boost::function<const Frame<N>& ()> = &Frame<N>::GetGlobal) const;
+      Vector<N> ToVector(std::function<const Frame<N>& ()> = &Frame<N>::GetGlobal) const;
 
       //OPERATORS
       Quaternion& operator=(const Quaternion& Q);
@@ -136,8 +136,8 @@ namespace OpenMeca
       Matrix<N> ToRotationMatrix() const;
       std::ostream & Write (std::ostream & out) const;
 
-            boost::function<const Frame<N>& ()>& GetFrameFunctionAccess() {return q_.GetFrameFunctionAccess();}
-      const boost::function<const Frame<N>& ()>& GetFrameFunctionAccess() const {return q_.GetFrameFunctionAccess();}
+            std::function<const Frame<N>& ()>& GetFrameFunctionAccess() {return q_.GetFrameFunctionAccess();}
+      const std::function<const Frame<N>& ()>& GetFrameFunctionAccess() const {return q_.GetFrameFunctionAccess();}
 
       unsigned int GetStateNumber() const;
       void SetAsFirstState();
@@ -148,7 +148,7 @@ namespace OpenMeca
 
     private:
       Quaternion(double , double , double , double , 
-		 boost::function<const Frame<N>& ()>, const Frame<N>&, Quaternion*);
+		 std::function<const Frame<N>& ()>, const Frame<N>&, Quaternion*);
       void EqualComponent(const Quaternion<_3D> &);
       // - BOOST SERIALIZATION - //
       friend class boost::serialization::access;
@@ -159,7 +159,7 @@ namespace OpenMeca
       double real_;
       Coordinate<N> q_;
       const Frame<N> *frameTo_;
-      std::vector< boost::array<double,N+1> > states_;
+      std::vector< std::array<double,N+1> > states_;
       Quaternion<N>* conjugate_;
     };
 
@@ -338,8 +338,8 @@ namespace OpenMeca
     void
     Quaternion<N>::SaveState()
     {
-      states_.push_back(boost::array<double,N+1>());
-      boost::array<double,N+1>& array = states_[states_.size() - 1];
+      states_.push_back(std::array<double,N+1>());
+      std::array<double,N+1>& array = states_[states_.size() - 1];
       for (int i = 0; i < N; ++i)
 	array[i] = q_.c_[i];
       array[N] = real_;
@@ -359,7 +359,7 @@ namespace OpenMeca
     Quaternion<N>::RecoveryState(unsigned int i)
     {
       OMC_ASSERT(i < states_.size());
-      boost::array<double,N+1>& array = states_[i];
+      std::array<double,N+1>& array = states_[i];
       for (int i = 0; i < N; ++i)
 	q_.c_[i] = array[i];
       real_ = array[N];
@@ -398,27 +398,27 @@ namespace OpenMeca
     // Constructors
     //
     template<> inline
-    Quaternion<_3D>::Quaternion(boost::function<const Frame<_3D>& ()>f)
+    Quaternion<_3D>::Quaternion(std::function<const Frame<_3D>& ()>f)
       : real_(1.), q_(0.,0.,0.,f), frameTo_(&Frame<_3D>::Null), conjugate_(0)
     {
      
     }
 
     template<> inline
-    Quaternion<_3D>::Quaternion(const Vector<_3D>& axis, double angle, boost::function<const Frame<_3D>& ()> f)
+    Quaternion<_3D>::Quaternion(const Vector<_3D>& axis, double angle, std::function<const Frame<_3D>& ()> f)
       : real_(1.), q_(0.,0.,0.,f), frameTo_(&Frame<_3D>::Null), conjugate_(0)
     {
       SetAxisAngle(axis, angle);
     }
 
     template<> inline
-    Quaternion<_3D>::Quaternion(double q0, double q1, double q2, double real, boost::function<const Frame<_3D>& ()> f)
+    Quaternion<_3D>::Quaternion(double q0, double q1, double q2, double real, std::function<const Frame<_3D>& ()> f)
       : real_(real), q_(q0,q1,q2,f), frameTo_(&Frame<_3D>::Null), conjugate_(0)
     {
     }
 
     template<> inline
-    Quaternion<_3D>::Quaternion(double q0, double q1, double q2, double real, boost::function<const Frame<_3D>& ()> f, const Frame<_3D>& to)
+    Quaternion<_3D>::Quaternion(double q0, double q1, double q2, double real, std::function<const Frame<_3D>& ()> f, const Frame<_3D>& to)
       :real_(real), q_(q0,q1,q2,f), frameTo_(&to), conjugate_(0)
     {
     }
@@ -724,7 +724,7 @@ namespace OpenMeca
       const double q23 = - 2.0 * q_.c_[2] * real_;
       
       
-      boost::function<const Frame<_3D>& ()> f = boost::bind(&Quaternion<_3D>::GetFrameTo, boost::ref(*this));
+      std::function<const Frame<_3D>& ()> f = std::bind(&Quaternion<_3D>::GetFrameTo, std::ref(*this));
 
       return Vector<_3D> ((1.0 - q11 - q22)*v_in[0] + (q01 - q23)*v_in[1] + (q02 + q13)*v_in[2],
 			  (q01 + q23)*v_in[0] + (1.0 - q22 - q00)*v_in[1] + (q12 - q03)*v_in[2],
@@ -745,7 +745,7 @@ namespace OpenMeca
     
     template<> inline 
     Vector<_3D> 
-    Quaternion<_3D>::ToVector(boost::function<const Frame<_3D>& ()> f) const
+    Quaternion<_3D>::ToVector(std::function<const Frame<_3D>& ()> f) const
     {
       return Vector<_3D>(q_.c_[0],q_.c_[1],q_.c_[2], f);
     }
@@ -771,7 +771,7 @@ namespace OpenMeca
     //***********************************
 
     template<SpaceDim N> inline
-    Quaternion<N>::Quaternion(const Quaternion<N>& q, boost::function<const Frame<N>& ()> f)
+    Quaternion<N>::Quaternion(const Quaternion<N>& q, std::function<const Frame<N>& ()> f)
       : real_(q.real_), q_(q.q_.c_[0],q.q_.c_[1],q.q_.c_[2],f), 
 	frameTo_(&q.GetFrameTo()), conjugate_(0)
     {
diff --git a/SRC/OpenMeca/Geom/Vector.hpp b/SRC/OpenMeca/Geom/Vector.hpp
index 70fa2a1..5e400ae 100644
--- a/SRC/OpenMeca/Geom/Vector.hpp
+++ b/SRC/OpenMeca/Geom/Vector.hpp
@@ -36,12 +36,12 @@
 #include "OpenMeca/Geom/Coordinate.hpp"
 
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
-#include "Boost/BUILD/include/boost/function.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
+#include "Serialization/array.hpp"
 
 #include "ChronoEngine/core/ChVector.h"
-#include "QGLViewer/BUILD/include/QGLViewer/qglviewer.h"
+#include <QGLViewer/qglviewer.h>
 
 //
 // This is the Free Vector in a dimension N workspace.
@@ -130,14 +130,14 @@ namespace OpenMeca
 
     public: // Methods
       explicit Vector (chrono::ChVector<double>&, 
-		       boost::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
-      explicit Vector (boost::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
+		       std::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
+      explicit Vector (std::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
       Vector (const Vector<N> &);
-      explicit Vector (const Vector<N> &, boost::function<const Frame<N>& ()>);
+      explicit Vector (const Vector<N> &, std::function<const Frame<N>& ()>);
       explicit Vector (const Coordinate<N, Cartesian> &);
       explicit Vector (const Point<N> &);
       explicit Vector (const Point<N> &, const Point<N>&);
-      Vector (double x, double y, double z, boost::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
+      Vector (double x, double y, double z, std::function<const Frame<N>& ()> = &Frame<N>::GetGlobal);
       virtual ~Vector();
 
       //CONVERSION
@@ -199,8 +199,8 @@ namespace OpenMeca
       void ToGlobalFrame(Vector<N>&) const;
       void ToLocalFrame(const Frame<N>&, Vector<N>&) const;
       
-      boost::function<const Frame<N>& ()>& GetFrameFunctionAccess(); 
-      const boost::function<const Frame<N>& ()>& GetFrameFunctionAccess() const;
+      std::function<const Frame<N>& ()>& GetFrameFunctionAccess(); 
+      const std::function<const Frame<N>& ()>& GetFrameFunctionAccess() const;
 
       // STATE 
       unsigned int GetStateNumber() const;
@@ -208,13 +208,13 @@ namespace OpenMeca
       void SaveState();
       void ResetState();
       void RecoveryState(unsigned int);
-      const std::vector< boost::array<double,N> >& GetRecordedState();
+      const std::vector< std::array<double,N> >& GetRecordedState();
 
       const double* GetPtr() const;
 
     private:
       Coordinate<N, Cartesian> coord_;
-      std::vector< boost::array<double,N> > states_;
+      std::vector< std::array<double,N> > states_;
 
       //BOOST SERIALIZATION       
       friend class boost::serialization::access;
@@ -243,7 +243,7 @@ namespace OpenMeca
     // Constructors ...
     template<SpaceDim N> inline
     Vector<N>::Vector (chrono::ChVector<double>& v,
-		       boost::function<const Frame<N>& ()> f)
+		       std::function<const Frame<N>& ()> f)
       : coord_ ( f)
     {
       coord_.c_[0] = v.x;
@@ -252,7 +252,7 @@ namespace OpenMeca
     }
 
     template<SpaceDim N> inline
-    Vector<N>::Vector (boost::function<const Frame<N>& ()> f)
+    Vector<N>::Vector (std::function<const Frame<N>& ()> f)
         : coord_ (f)
     {
     }
@@ -264,7 +264,7 @@ namespace OpenMeca
     }
 
     template<SpaceDim N> inline
-    Vector<N>::Vector (const Vector<N> & v, boost::function<const Frame<N>& ()> f)
+    Vector<N>::Vector (const Vector<N> & v, std::function<const Frame<N>& ()> f)
         :  coord_ (f)
     {
       if (v.GetFrame()==f())
@@ -671,8 +671,8 @@ namespace OpenMeca
     void
     Vector<N>::SaveState()
     {
-      states_.push_back(boost::array<double,N>());
-      boost::array<double,N>& array = states_[states_.size() - 1];
+      states_.push_back(std::array<double,N>());
+      std::array<double,N>& array = states_[states_.size() - 1];
       for (int i = 0; i < N; ++i)
 	array[i] = coord_.c_[i];
     }
@@ -691,13 +691,13 @@ namespace OpenMeca
     Vector<N>::RecoveryState(unsigned int i)
     {
       OMC_ASSERT(i < states_.size());
-      boost::array<double,N>& array = states_[i];
+      std::array<double,N>& array = states_[i];
       for (int i = 0; i < N; ++i)
 	coord_.c_[i] = array[i];
     }
 
     template<SpaceDim N> inline 
-    const std::vector< boost::array<double,N> >&
+    const std::vector< std::array<double,N> >&
     Vector<N>::GetRecordedState()
     {
       return states_;
@@ -713,14 +713,14 @@ namespace OpenMeca
 
 
     template<SpaceDim N> inline 
-    boost::function<const Frame<N>& ()>& 
+    std::function<const Frame<N>& ()>& 
     Vector<N>::GetFrameFunctionAccess() 
     {
       return coord_.GetFrameFunctionAccess();
     }
     
     template<SpaceDim N> inline 
-    const boost::function<const Frame<N>& ()>& 
+    const std::function<const Frame<N>& ()>& 
     Vector<N>::GetFrameFunctionAccess() const 
     {
       return coord_.GetFrameFunctionAccess();
@@ -736,7 +736,7 @@ namespace OpenMeca
     
 
     template<> inline
-    Vector<_3D>::Vector (double x, double y, double z, boost::function<const Frame<_3D>& ()> f)
+    Vector<_3D>::Vector (double x, double y, double z, std::function<const Frame<_3D>& ()> f)
         : coord_ (x, y, z, f)
     {
     }
diff --git a/SRC/OpenMeca/Gui/Dialog/DialogVariable.cpp b/SRC/OpenMeca/Gui/Dialog/DialogVariable.cpp
index b6a7d8a..0933d4a 100644
--- a/SRC/OpenMeca/Gui/Dialog/DialogVariable.cpp
+++ b/SRC/OpenMeca/Gui/Dialog/DialogVariable.cpp
@@ -18,8 +18,6 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-#include "Boost/BUILD/include/boost/lexical_cast.hpp"
-
 #include "OpenMeca/Gui/Dialog/DialogVariable.hpp"
 #include "OpenMeca/Gui/MainWindow.hpp"
 #include "OpenMeca/Item/Variable.hpp"
diff --git a/SRC/OpenMeca/Gui/ExampleAction.cpp b/SRC/OpenMeca/Gui/ExampleAction.cpp
index 5d7887b..63e7987 100644
--- a/SRC/OpenMeca/Gui/ExampleAction.cpp
+++ b/SRC/OpenMeca/Gui/ExampleAction.cpp
@@ -22,6 +22,7 @@
 #include <QTemporaryDir>
 
 #include "OpenMeca/Gui/ExampleAction.hpp"
+#include "OpenMeca/Gui/MainWindow.hpp"
 #include "OpenMeca/Core/System.hpp"
 
 namespace OpenMeca
@@ -43,12 +44,16 @@ namespace OpenMeca
     void
     ExampleAction::OpenExample()
     {
-      QFile file(":/Rsc/Example/"+fileName_+".omc");
-      QTemporaryDir dir;
-      OMC_ASSERT_MSG(file.copy(dir.path() + fileName_+".omc"), "can't copy file in temporary dir !");
+      if (MainWindow::Get().CloseDialog(true))
+	{
       
-      const std::string file_cp = QString(dir.path()+fileName_+".omc").toStdString();
-      Core::System::Get().LoadFile(file_cp);
+	  QFile file(":/Rsc/Example/"+fileName_+".omc");
+	  QTemporaryDir dir;
+	  OMC_ASSERT_MSG(file.copy(dir.path() + fileName_+".omc"), "can't copy file in temporary dir !");
+	  
+	  const std::string file_cp = QString(dir.path()+fileName_+".omc").toStdString();
+	  Core::System::Get().LoadFile(file_cp);
+	}
     }
   
     
diff --git a/SRC/OpenMeca/Gui/GeneralSetting.cpp b/SRC/OpenMeca/Gui/GeneralSetting.cpp
index df50398..d334b28 100644
--- a/SRC/OpenMeca/Gui/GeneralSetting.cpp
+++ b/SRC/OpenMeca/Gui/GeneralSetting.cpp
@@ -19,8 +19,7 @@
 
 #include <QMenu>
 #include <QMessageBox>
-
-#include "qwt_legend.h"
+#include <qwt/qwt_legend.h>
 
 #include "OpenMeca/Gui/GeneralSetting.hpp"
 #include "OpenMeca/Core/ConfigDirectory.hpp"
diff --git a/SRC/OpenMeca/Gui/MainPlotWindow.cpp b/SRC/OpenMeca/Gui/MainPlotWindow.cpp
index f26ebb7..5f5dca0 100644
--- a/SRC/OpenMeca/Gui/MainPlotWindow.cpp
+++ b/SRC/OpenMeca/Gui/MainPlotWindow.cpp
@@ -19,8 +19,7 @@
 
 #include <QMenu>
 #include <QMessageBox>
-
-#include "qwt_legend.h"
+#include <qwt/qwt_legend.h>
 
 #include "OpenMeca/Gui/MainPlotWindow.hpp"
 #include "OpenMeca/Core/System.hpp"
diff --git a/SRC/OpenMeca/Gui/MainPlotWindow.hpp b/SRC/OpenMeca/Gui/MainPlotWindow.hpp
index b72c11d..15f5ce4 100644
--- a/SRC/OpenMeca/Gui/MainPlotWindow.hpp
+++ b/SRC/OpenMeca/Gui/MainPlotWindow.hpp
@@ -22,8 +22,8 @@
 #define OpenMeca_Gui_MainPlotWindow_hpp
 
 #include <QMainWindow>
-#include "qwt_plot.h"
-#include "qwt_plot_curve.h"
+#include <qwt/qwt_plot.h>
+#include <qwt/qwt_plot_curve.h>
 
 #include "ui_MainPlotWindow.h"
 #include "OpenMeca/Setting/Simulation.hpp"
diff --git a/SRC/OpenMeca/Gui/MainPlotWindow.ui b/SRC/OpenMeca/Gui/MainPlotWindow.ui
index 6fd5446..4350e1e 100644
--- a/SRC/OpenMeca/Gui/MainPlotWindow.ui
+++ b/SRC/OpenMeca/Gui/MainPlotWindow.ui
@@ -59,7 +59,7 @@
   <customwidget>
    <class>QwtPlot</class>
    <extends>QFrame</extends>
-   <header>qwt_plot.h</header>
+   <header>qwt/qwt_plot.h</header>
   </customwidget>
  </customwidgets>
  <resources/>
diff --git a/SRC/OpenMeca/Gui/MainWindow.cpp b/SRC/OpenMeca/Gui/MainWindow.cpp
index 913f5ab..b64ea40 100755
--- a/SRC/OpenMeca/Gui/MainWindow.cpp
+++ b/SRC/OpenMeca/Gui/MainWindow.cpp
@@ -27,8 +27,8 @@
 #include <QHelpIndexWidget>
 #include <QDockWidget>
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Gui/MainWindow.hpp"
 #include "OpenMeca/Gui/HelpBrowser.hpp"
@@ -422,27 +422,31 @@ namespace OpenMeca
     void 
     MainWindow::SaveAs()
     {
-      //the qt QFileDialog::getSaveFileName static method don't manage suffix
-      //it's boring
-      QFileDialog fileDialog(this, tr("Save As"));
-      fileDialog.setFilter (QDir::Files);
-      fileDialog.setDefaultSuffix ("omc");
-      fileDialog.setFileMode(QFileDialog::AnyFile);
-      fileDialog.setAcceptMode(QFileDialog::AcceptSave);
-      QString fileName;
-      if (fileDialog.exec()) 
-	{ 
-	  QStringList fileNames = fileDialog.selectedFiles(); 
-	  if ( fileNames.count() ) 
-	    fileName = fileNames.at(0); 
-	}
-
-      
-      if (!fileName.isEmpty())
+      if (CloseDialog(true))
 	{
-	  OMC_ASSERT_MSG(fileName.endsWith(".omc"), "The .omc extension must be respected");
-	  currentFileName_ = fileName.toStdString();
-	  Save();
+	  
+	  //the qt QFileDialog::getSaveFileName static method don't manage suffix
+	  //it's boring
+	  QFileDialog fileDialog(this, tr("Save As"));
+	  fileDialog.setFilter (QDir::Files);
+	  fileDialog.setDefaultSuffix ("omc");
+	  fileDialog.setFileMode(QFileDialog::AnyFile);
+	  fileDialog.setAcceptMode(QFileDialog::AcceptSave);
+	  QString fileName;
+	  if (fileDialog.exec()) 
+	    { 
+	      QStringList fileNames = fileDialog.selectedFiles(); 
+	      if ( fileNames.count() ) 
+		fileName = fileNames.at(0); 
+	}
+	  
+	  
+	  if (!fileName.isEmpty())
+	    {
+	      OMC_ASSERT_MSG(fileName.endsWith(".omc"), "The .omc extension must be respected");
+	      currentFileName_ = fileName.toStdString();
+	      Save();
+	    }
 	}
     }
 
@@ -450,44 +454,54 @@ namespace OpenMeca
     void 
     MainWindow::New()
     {
-      if (Core::System::Get().IsEdited())
+      if (CloseDialog(true))
 	{
-	  const QString msg = tr("The current action will clear your system, do you want to continue ?");
-	  
-	  QMessageBox mBox(QMessageBox::Question, tr("Are you sure ?"), 
-			   msg, QMessageBox::Yes|QMessageBox::No);
-	  if (QMessageBox::No == mBox.exec()) 
-	    return;
+	  if (Core::System::Get().IsEdited())
+	    {
+	      const QString msg = tr("The current action will clear your system, do you want to continue ?");
+	      
+	      QMessageBox mBox(QMessageBox::Question, tr("Are you sure ?"), 
+			       msg, QMessageBox::Yes|QMessageBox::No);
+	      if (QMessageBox::No == mBox.exec()) 
+		return;
+	    }
+	  Core::System::Get().Reset();
 	}
-      Core::System::Get().Reset();
     }
 
     void 
     MainWindow::Save()
     {
-      if (currentFileName_.empty())
+      if (CloseDialog(true))
 	{
-	  SaveAs();
-	  return;
+	  
+	  if (currentFileName_.empty())
+	    {
+	      SaveAs();
+	      return;
+	    }
+	  QString qfileNameStr = currentFileName_.c_str();
+	  OMC_ASSERT_MSG(qfileNameStr.endsWith(".omc"), "The .omc extension must be respected");
+	  Core::System::Get().SaveFile(currentFileName_);
 	}
-      QString qfileNameStr = currentFileName_.c_str();
-      OMC_ASSERT_MSG(qfileNameStr.endsWith(".omc"), "The .omc extension must be respected");
-      Core::System::Get().SaveFile(currentFileName_);
     }
     
     
     void 
     MainWindow::Load()
     {
-      //Todo check if system is edited
-      QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),"", tr("OpenMeca Files (*.omc)"));
-      if (!fileName.isEmpty())
+      if (CloseDialog(true))
 	{
-	  currentFileName_ = fileName.toStdString();
-	  Core::System::Get().LoadFile(currentFileName_);
-	  UpdateHistoric();
+	  
+	  //Todo check if system is edited
+	  QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),"", tr("OpenMeca Files (*.omc)"));
+	  if (!fileName.isEmpty())
+	    {
+	      currentFileName_ = fileName.toStdString();
+	      Core::System::Get().LoadFile(currentFileName_);
+	      UpdateHistoric();
+	    }
 	}
-     
     }
 
     void 
diff --git a/SRC/OpenMeca/Gui/MainWindow.hpp b/SRC/OpenMeca/Gui/MainWindow.hpp
index 3693d4f..41da728 100755
--- a/SRC/OpenMeca/Gui/MainWindow.hpp
+++ b/SRC/OpenMeca/Gui/MainWindow.hpp
@@ -22,7 +22,7 @@
 #define OpenMeca_Gui_MainWindow_hpp
 
 #include <QMainWindow>
-#include "qwt_plot.h"
+#include <qwt/qwt_plot.h>
 
 #include "ui_MainWindow.h"
 #include "OpenMeca/Core/GlobalSetting.hpp"
diff --git a/SRC/OpenMeca/Gui/SecondaryTreeItem.cpp b/SRC/OpenMeca/Gui/SecondaryTreeItem.cpp
index fb08d32..d66ffce 100644
--- a/SRC/OpenMeca/Gui/SecondaryTreeItem.cpp
+++ b/SRC/OpenMeca/Gui/SecondaryTreeItem.cpp
@@ -29,9 +29,9 @@ namespace OpenMeca
   {
 
     SecondaryTreeItem::SecondaryTreeItem(QTreeWidgetItem& parent,
-					 boost::function<Core::Item& ()> item)
+					 std::function<Core::Item& ()> item)
       :AbstractTreeItem(&parent),
-       itemFn_(new boost::function<Core::Item& ()>(item)),
+       itemFn_(new std::function<Core::Item& ()>(item)),
        itemPtr_(0)
     {
     }
diff --git a/SRC/OpenMeca/Gui/SecondaryTreeItem.hpp b/SRC/OpenMeca/Gui/SecondaryTreeItem.hpp
index 7ed14b1..cbdd430 100644
--- a/SRC/OpenMeca/Gui/SecondaryTreeItem.hpp
+++ b/SRC/OpenMeca/Gui/SecondaryTreeItem.hpp
@@ -22,7 +22,6 @@
 #define OpenMeca_Gui_SecondaryTreeItem_hpp
 
 #include "OpenMeca/Gui/AbstractTreeItem.hpp"
-#include "Boost/BUILD/include/boost/function.hpp"
 
 namespace OpenMeca
 {
@@ -39,7 +38,7 @@ namespace OpenMeca
     {
     
     public:
-      SecondaryTreeItem(QTreeWidgetItem& parent, boost::function<Core::Item& ()>);
+      SecondaryTreeItem(QTreeWidgetItem& parent, std::function<Core::Item& ()>);
       SecondaryTreeItem(QTreeWidgetItem& parent, Core::Item& item);
       ~SecondaryTreeItem();
 
@@ -51,7 +50,7 @@ namespace OpenMeca
       SecondaryTreeItem& operator=(const SecondaryTreeItem&);  //Not Allowed
 
     private:
-      boost::function<Core::Item& ()>* itemFn_;
+      std::function<Core::Item& ()>* itemFn_;
       Core::Item* itemPtr_;
 
     };
diff --git a/SRC/OpenMeca/Gui/Viewer.cpp b/SRC/OpenMeca/Gui/Viewer.cpp
index 75a8d64..d3d3161 100755
--- a/SRC/OpenMeca/Gui/Viewer.cpp
+++ b/SRC/OpenMeca/Gui/Viewer.cpp
@@ -105,7 +105,7 @@ namespace OpenMeca
     void 
     Viewer::init()
     {
-      setMouseBinding(Qt::RightButton + Qt::SHIFT, SELECT);
+      setMouseBinding(Qt::ShiftModifier, Qt::RightButton, SELECT);
     }
 
     void 
diff --git a/SRC/OpenMeca/Gui/Viewer.hpp b/SRC/OpenMeca/Gui/Viewer.hpp
index 9fe73ce..9b282f9 100755
--- a/SRC/OpenMeca/Gui/Viewer.hpp
+++ b/SRC/OpenMeca/Gui/Viewer.hpp
@@ -22,7 +22,7 @@
 #define OpenMeca_Gui_Viewer_hpp
 
 #include <QMessageBox>
-#include "QGLViewer/BUILD/include/QGLViewer/qglviewer.h"
+#include <QGLViewer/qglviewer.h>
 #include "OpenMeca/Geom/Point.hpp"
 
 namespace OpenMeca
diff --git a/SRC/OpenMeca/Info.txt b/SRC/OpenMeca/Info.txt
index af50165..a5989e8 100644
--- a/SRC/OpenMeca/Info.txt
+++ b/SRC/OpenMeca/Info.txt
@@ -1,6 +1,6 @@
 Project   : openmeca
 Authors   : Damien ANDRE, Cedric HUBERT
-Version   : 2.1.7
+Version   : 2.2.4
 Licence   : GPL v3
 Contact   : openmeca at yakuru.fr
 Copyright : 2008-2017, openmeca team
diff --git a/SRC/OpenMeca/Item/Body.cpp b/SRC/OpenMeca/Item/Body.cpp
index 21a5ad9..d251b3d 100644
--- a/SRC/OpenMeca/Item/Body.cpp
+++ b/SRC/OpenMeca/Item/Body.cpp
@@ -31,7 +31,7 @@
 #include "OpenMeca/Util/Icon.hpp"
 
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Item::Body)
 
@@ -58,7 +58,7 @@ namespace OpenMeca
        center_(0., 0., 0.), 
        quaternion_(0., 0., 0., 1.),
        frame_(center_, quaternion_),
-       massCenter_(0., 0., 0., boost::bind(GetFnPtrCstFrame(&Body::GetFrame), boost::ref(*this))), 
+       massCenter_(0., 0., 0., std::bind(GetFnPtrCstFrame(&Body::GetFrame), std::ref(*this))), 
        inertia_(1.,0.,0., 0.,1.,0., 0.,0.,1.),
        fixed_(false),
        showReferenceFrame_(false),
diff --git a/SRC/OpenMeca/Item/Body.hpp b/SRC/OpenMeca/Item/Body.hpp
index d1179c3..c1c97a7 100644
--- a/SRC/OpenMeca/Item/Body.hpp
+++ b/SRC/OpenMeca/Item/Body.hpp
@@ -158,7 +158,7 @@ namespace OpenMeca
 	  ar & BOOST_SERIALIZATION_NVP(massCenter_);
 	else
 	  {
-	    Geom::Point<_3D> p(boost::bind(GetFnPtrCstFrame(&Body::GetFrame), boost::ref(*this)));
+	    Geom::Point<_3D> p(std::bind(GetFnPtrCstFrame(&Body::GetFrame), std::ref(*this)));
 	    ar & BOOST_SERIALIZATION_NVP(p);
 	    massCenter_ = p;
 	  }
@@ -237,7 +237,7 @@ namespace OpenMeca
   }
 }
 
-#include "Boost/BUILD/include/boost/serialization/version.hpp"
+#include "Serialization/version.hpp"
 BOOST_CLASS_VERSION(OpenMeca::Item::Body, 3)
 
 #endif
diff --git a/SRC/OpenMeca/Item/How/GetAngAcc.cpp b/SRC/OpenMeca/Item/How/GetAngAcc.cpp
index 1565121..7e66bbe 100644
--- a/SRC/OpenMeca/Item/How/GetAngAcc.cpp
+++ b/SRC/OpenMeca/Item/How/GetAngAcc.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Item/How/GetAngAcc.hpp"
 #include "OpenMeca/Item/Body.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::How::GetAngAcc::MySensor)
 
 
diff --git a/SRC/OpenMeca/Item/How/GetAngPos.cpp b/SRC/OpenMeca/Item/How/GetAngPos.cpp
index a98024b..b33d693 100644
--- a/SRC/OpenMeca/Item/How/GetAngPos.cpp
+++ b/SRC/OpenMeca/Item/How/GetAngPos.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Item/How/GetAngPos.hpp"
 #include "OpenMeca/Item/Body.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::How::GetAngPos::MySensor)
 
 
diff --git a/SRC/OpenMeca/Item/How/GetAngVel.cpp b/SRC/OpenMeca/Item/How/GetAngVel.cpp
index 36610dc..8720cd9 100644
--- a/SRC/OpenMeca/Item/How/GetAngVel.cpp
+++ b/SRC/OpenMeca/Item/How/GetAngVel.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Item/How/GetAngVel.hpp"
 #include "OpenMeca/Item/Body.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::How::GetAngVel::MySensor)
 
 
diff --git a/SRC/OpenMeca/Item/How/GetLinAcc.cpp b/SRC/OpenMeca/Item/How/GetLinAcc.cpp
index f3ccfb4..84c3c22 100644
--- a/SRC/OpenMeca/Item/How/GetLinAcc.cpp
+++ b/SRC/OpenMeca/Item/How/GetLinAcc.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Item/How/GetLinAcc.hpp"
 #include "OpenMeca/Item/Body.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::How::GetLinAcc::MySensor)
 
 
@@ -55,8 +55,8 @@ namespace OpenMeca
 	Body& body = const_cast<Body&>(parent.GetBody());
 	Geom::Frame<_3D>&(Body::*fnptr)() = &Body::GetFrame;
 	
-	boost::function<const Geom::Frame<_3D>& ()> f = 
-	  boost::bind(fnptr, boost::ref(body));
+	std::function<const Geom::Frame<_3D>& ()> f = 
+	  std::bind(fnptr, std::ref(body));
 	
 	const Geom::Point<_3D> p(parent.GetPoint(), f);
 	chrono::ChSharedBodyPtr& chbody = 
diff --git a/SRC/OpenMeca/Item/How/GetLinPos.cpp b/SRC/OpenMeca/Item/How/GetLinPos.cpp
index d8abbd7..aab0c86 100644
--- a/SRC/OpenMeca/Item/How/GetLinPos.cpp
+++ b/SRC/OpenMeca/Item/How/GetLinPos.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Item/How/GetLinPos.hpp"
 #include "OpenMeca/Item/Body.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::How::GetLinPos::MySensor)
 
 
diff --git a/SRC/OpenMeca/Item/How/GetLinVel.cpp b/SRC/OpenMeca/Item/How/GetLinVel.cpp
index 2f93073..2487622 100644
--- a/SRC/OpenMeca/Item/How/GetLinVel.cpp
+++ b/SRC/OpenMeca/Item/How/GetLinVel.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Item/How/GetLinVel.hpp"
 #include "OpenMeca/Item/Body.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::How::GetLinVel::MySensor)
 
 
@@ -55,8 +55,8 @@ namespace OpenMeca
 	Body& body = const_cast<Body&>(parent.GetBody());
 	Geom::Frame<_3D>&(Body::*fnptr)() = &Body::GetFrame;
 
-	boost::function<const Geom::Frame<_3D>& ()> f = 
-	  boost::bind(fnptr, boost::ref(body));
+	std::function<const Geom::Frame<_3D>& ()> f = 
+	  std::bind(fnptr, std::ref(body));
 	
 	const Geom::Point<_3D> p(parent.GetPoint(), f);
 	chrono::ChSharedBodyPtr& chbody = 
diff --git a/SRC/OpenMeca/Item/How/GetReacForce.cpp b/SRC/OpenMeca/Item/How/GetReacForce.cpp
index 689d80b..59d3144 100644
--- a/SRC/OpenMeca/Item/How/GetReacForce.cpp
+++ b/SRC/OpenMeca/Item/How/GetReacForce.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Item/How/GetReacForce.hpp"
 #include "OpenMeca/Item/Body.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::How::GetReacForce::MySensor)
 
 
diff --git a/SRC/OpenMeca/Item/How/GetReacTorque.cpp b/SRC/OpenMeca/Item/How/GetReacTorque.cpp
index dc5ae70..6c70374 100644
--- a/SRC/OpenMeca/Item/How/GetReacTorque.cpp
+++ b/SRC/OpenMeca/Item/How/GetReacTorque.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Item/How/GetReacTorque.hpp"
 #include "OpenMeca/Item/Body.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::How::GetReacTorque::MySensor)
 
 
diff --git a/SRC/OpenMeca/Item/How/SetForce.cpp b/SRC/OpenMeca/Item/How/SetForce.cpp
index f78df0e..b1af812 100644
--- a/SRC/OpenMeca/Item/How/SetForce.cpp
+++ b/SRC/OpenMeca/Item/How/SetForce.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Item/How/SetForce.hpp"
 #include "OpenMeca/Item/Body.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::How::SetForce::MyLoad)
 
 
diff --git a/SRC/OpenMeca/Item/How/SetTorque.cpp b/SRC/OpenMeca/Item/How/SetTorque.cpp
index 22f2860..63cc18c 100644
--- a/SRC/OpenMeca/Item/How/SetTorque.cpp
+++ b/SRC/OpenMeca/Item/How/SetTorque.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Item/How/SetTorque.hpp"
 #include "OpenMeca/Item/Body.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::How::SetTorque::MyLoad)
 
 
diff --git a/SRC/OpenMeca/Item/Link.cpp b/SRC/OpenMeca/Item/Link.cpp
index 01bcc42..fe550f1 100644
--- a/SRC/OpenMeca/Item/Link.cpp
+++ b/SRC/OpenMeca/Item/Link.cpp
@@ -26,7 +26,7 @@
 #include "OpenMeca/Gui/MainWindow.hpp"
 
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Item::Link)
 
@@ -69,18 +69,18 @@ namespace OpenMeca
        quaternion_(),
        frame_(center_,quaternion_),
 
-       centerBody1_(boost::bind(&Link::GetReferenceFrameBody1, boost::ref(*this))),
-       quaternionBody1_(boost::bind(&Link::GetReferenceFrameBody1, boost::ref(*this))),
+       centerBody1_(std::bind(&Link::GetReferenceFrameBody1, std::ref(*this))),
+       quaternionBody1_(std::bind(&Link::GetReferenceFrameBody1, std::ref(*this))),
        frameBody1_(centerBody1_, quaternionBody1_),
 
-       centerBody2_(boost::bind(&Link::GetReferenceFrameBody2, boost::ref(*this))),
-       quaternionBody2_(boost::bind(&Link::GetReferenceFrameBody2, boost::ref(*this))),
+       centerBody2_(std::bind(&Link::GetReferenceFrameBody2, std::ref(*this))),
+       quaternionBody2_(std::bind(&Link::GetReferenceFrameBody2, std::ref(*this))),
       frameBody2_(centerBody2_, quaternionBody2_)
     {
       treeItembody1_ = new Gui::SecondaryTreeItem(GetMainTreeItem(), 
-						  boost::bind(&Link::Body1, boost::ref(*this)));
+						  std::bind(&Link::Body1, std::ref(*this)));
       treeItembody2_ = new Gui::SecondaryTreeItem(GetMainTreeItem(), 
-						  boost::bind(&Link::Body2, boost::ref(*this)));
+						  std::bind(&Link::Body2, std::ref(*this)));
       AddSecondaryTreeItem(*treeItembody1_);
       AddSecondaryTreeItem(*treeItembody2_);
       UpdateReferenceFrame();
@@ -98,18 +98,18 @@ namespace OpenMeca
        quaternion_(),
        frame_(center_,quaternion_),
        
-       centerBody1_(boost::bind(&Link::GetReferenceFrameBody1, boost::ref(*this))),
-       quaternionBody1_(boost::bind(&Link::GetReferenceFrameBody1, boost::ref(*this))),
+       centerBody1_(std::bind(&Link::GetReferenceFrameBody1, std::ref(*this))),
+       quaternionBody1_(std::bind(&Link::GetReferenceFrameBody1, std::ref(*this))),
       frameBody1_(centerBody1_, quaternionBody1_),
       
-      centerBody2_(boost::bind(&Link::GetReferenceFrameBody2, boost::ref(*this))),
-      quaternionBody2_(boost::bind(&Link::GetReferenceFrameBody2, boost::ref(*this))),
+      centerBody2_(std::bind(&Link::GetReferenceFrameBody2, std::ref(*this))),
+      quaternionBody2_(std::bind(&Link::GetReferenceFrameBody2, std::ref(*this))),
       frameBody2_(centerBody2_, quaternionBody2_)
     {
       treeItembody1_ = new Gui::SecondaryTreeItem(GetMainTreeItem(), 
-						  boost::bind(&Link::Body1, boost::ref(*this)));
+						  std::bind(&Link::Body1, std::ref(*this)));
       treeItembody2_ = new Gui::SecondaryTreeItem(GetMainTreeItem(), 
-						  boost::bind(&Link::Body2, boost::ref(*this)));
+						  std::bind(&Link::Body2, std::ref(*this)));
       AddSecondaryTreeItem(*treeItembody1_);
       AddSecondaryTreeItem(*treeItembody2_);
       UpdateReferenceFrame();
@@ -278,13 +278,13 @@ namespace OpenMeca
     Link::UpdateReferenceFrame()
     {
       centerBody1_ = Geom::Point<_3D>(center_, 
-      				      boost::bind(&Link::GetReferenceFrameBody1, boost::ref(*this)));
+      				      std::bind(&Link::GetReferenceFrameBody1, std::ref(*this)));
       quaternionBody1_ = Geom::Quaternion<_3D>(quaternion_, 
-      					       boost::bind(&Link::GetReferenceFrameBody1, boost::ref(*this)));
+      					       std::bind(&Link::GetReferenceFrameBody1, std::ref(*this)));
       centerBody2_ = Geom::Point<_3D>(center_, 
-      				      boost::bind(&Link::GetReferenceFrameBody2, boost::ref(*this)));
+      				      std::bind(&Link::GetReferenceFrameBody2, std::ref(*this)));
       quaternionBody2_ = Geom::Quaternion<_3D>(quaternion_, 
-      					       boost::bind(&Link::GetReferenceFrameBody2, boost::ref(*this)));
+      					       std::bind(&Link::GetReferenceFrameBody2, std::ref(*this)));
 
     }
 
diff --git a/SRC/OpenMeca/Item/Link.hpp b/SRC/OpenMeca/Item/Link.hpp
index c355e13..854d95f 100644
--- a/SRC/OpenMeca/Item/Link.hpp
+++ b/SRC/OpenMeca/Item/Link.hpp
@@ -95,7 +95,7 @@ namespace OpenMeca
       const Geom::Frame<_3D>& GetReferenceFrameBody2() const;
 
       template<int N> const Geom::Frame<_3D>& GetFrameBody() const;
-      template<int N> boost::function<const Geom::Frame<_3D>& ()> GetFrameFctBody() const;
+      template<int N> std::function<const Geom::Frame<_3D>& ()> GetFrameFctBody() const;
 
       virtual Part& GetPart1() = 0;
       virtual const Part& GetPart1() const = 0;
@@ -184,12 +184,12 @@ namespace OpenMeca
     
     
     template<int N> 
-    inline  boost::function<const Geom::Frame<_3D>& ()> 
+    inline  std::function<const Geom::Frame<_3D>& ()> 
     Link::GetFrameFctBody() const
     {
       const Link& me = *this;
       const Geom::Frame<_3D>&(Link::*fnpt)() const = &Link::GetFrameBody<1>;
-      boost::function<const Geom::Frame<_3D>& ()> f = boost::bind(fnpt, boost::ref(me));
+      std::function<const Geom::Frame<_3D>& ()> f = std::bind(fnpt, std::ref(me));
       return f;
     }
 
@@ -212,7 +212,7 @@ namespace OpenMeca
 }
 
 
-#include "Boost/BUILD/include/boost/serialization/version.hpp"
+#include "Serialization/version.hpp"
 BOOST_CLASS_VERSION(OpenMeca::Item::Link, 2)
 
 #endif
diff --git a/SRC/OpenMeca/Item/Link/LinearMotor.hpp b/SRC/OpenMeca/Item/Link/LinearMotor.hpp
index 6667eb0..d7a2df8 100644
--- a/SRC/OpenMeca/Item/Link/LinearMotor.hpp
+++ b/SRC/OpenMeca/Item/Link/LinearMotor.hpp
@@ -107,7 +107,7 @@ namespace OpenMeca
   }
 }
 
-#include "Boost/BUILD/include/boost/serialization/version.hpp"
+#include "Serialization/version.hpp"
 BOOST_CLASS_VERSION(OpenMeca::Item::LinearMotor, 0)
 
 
diff --git a/SRC/OpenMeca/Item/Link/Motor.hpp b/SRC/OpenMeca/Item/Link/Motor.hpp
index 6c3bc2e..94c7747 100644
--- a/SRC/OpenMeca/Item/Link/Motor.hpp
+++ b/SRC/OpenMeca/Item/Link/Motor.hpp
@@ -111,7 +111,7 @@ namespace OpenMeca
   }
 }
 
-#include "Boost/BUILD/include/boost/serialization/version.hpp"
+#include "Serialization/version.hpp"
 BOOST_CLASS_VERSION(OpenMeca::Item::Motor, 1)
 
 
diff --git a/SRC/OpenMeca/Item/Link/Spring.hpp b/SRC/OpenMeca/Item/Link/Spring.hpp
index a92aaea..1c48d5c 100644
--- a/SRC/OpenMeca/Item/Link/Spring.hpp
+++ b/SRC/OpenMeca/Item/Link/Spring.hpp
@@ -143,7 +143,7 @@ namespace OpenMeca
   }
 }
 
-#include "Boost/BUILD/include/boost/serialization/version.hpp"
+#include "Serialization/version.hpp"
 BOOST_CLASS_VERSION(OpenMeca::Item::Spring, 1)
 
 #endif
diff --git a/SRC/OpenMeca/Item/LinkT.cpp b/SRC/OpenMeca/Item/LinkT.cpp
index 321c1eb..d9bb566 100644
--- a/SRC/OpenMeca/Item/LinkT.cpp
+++ b/SRC/OpenMeca/Item/LinkT.cpp
@@ -25,7 +25,7 @@
 
 #include "OpenMeca/Item/Link/All.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Item::LinkT<OpenMeca::Item::Cylindrical>)
 BOOST_CLASS_EXPORT(OpenMeca::Item::LinkT<OpenMeca::Item::Gear>)
diff --git a/SRC/OpenMeca/Item/Load.cpp b/SRC/OpenMeca/Item/Load.cpp
index 4f086a5..5db17c0 100644
--- a/SRC/OpenMeca/Item/Load.cpp
+++ b/SRC/OpenMeca/Item/Load.cpp
@@ -24,7 +24,7 @@
 #include "OpenMeca/Core/System.hpp"
 #include "OpenMeca/Gui/RootTreeItemT.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::Load)
 
 
diff --git a/SRC/OpenMeca/Item/Part.cpp b/SRC/OpenMeca/Item/Part.cpp
index c8964bf..453dd26 100644
--- a/SRC/OpenMeca/Item/Part.cpp
+++ b/SRC/OpenMeca/Item/Part.cpp
@@ -21,7 +21,7 @@
 #include "OpenMeca/Item/Part.hpp"
 #include "OpenMeca/Core/System.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Item::Part)
 
diff --git a/SRC/OpenMeca/Item/Part.hpp b/SRC/OpenMeca/Item/Part.hpp
index e4815e2..16bc95a 100644
--- a/SRC/OpenMeca/Item/Part.hpp
+++ b/SRC/OpenMeca/Item/Part.hpp
@@ -21,7 +21,6 @@
 #ifndef OpenMeca_Item_Part_hpp
 #define OpenMeca_Item_Part_hpp
 
-#include "Boost/BUILD/include/boost/lexical_cast.hpp"
 #include "OpenMeca/Core/AutoRegister.hpp"
 #include "OpenMeca/Core/DrawableUserItem.hpp"
 
diff --git a/SRC/OpenMeca/Item/PartLinkT.cpp b/SRC/OpenMeca/Item/PartLinkT.cpp
index 9d4ea28..450f2c8 100644
--- a/SRC/OpenMeca/Item/PartLinkT.cpp
+++ b/SRC/OpenMeca/Item/PartLinkT.cpp
@@ -24,7 +24,7 @@
 
 
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 typedef OpenMeca::Item::PartLinkT<OpenMeca::Item::Revolute,1> PartLinkTRevolute1;
 typedef OpenMeca::Item::PartLinkT<OpenMeca::Item::Revolute,2> PartLinkTRevolute2;
 BOOST_CLASS_EXPORT(PartLinkTRevolute1)
diff --git a/SRC/OpenMeca/Item/PartLinkT.hpp b/SRC/OpenMeca/Item/PartLinkT.hpp
index 37c39cb..3b7ca97 100644
--- a/SRC/OpenMeca/Item/PartLinkT.hpp
+++ b/SRC/OpenMeca/Item/PartLinkT.hpp
@@ -20,8 +20,6 @@
 #ifndef OpenMeca_Item_PartLinkT_hpp
 #define OpenMeca_Item_PartLinkT_hpp
 
-#include "Boost/BUILD/include/boost/lexical_cast.hpp"
-
 #include "OpenMeca/Item/Part.hpp"
 #include "OpenMeca/Item/PartUserPoint.hpp"
 #include "OpenMeca/Core/AutoRegisteredPtr.hpp"
@@ -137,7 +135,7 @@ namespace OpenMeca
     PartLinkT<T,N>::GetStrType()
     {
       return std::string(Part::GetStrType() + '_' + T::GetStrType() + '_' 
-			 + boost::lexical_cast<std::string>(N));
+			 + std::to_string(N));
     }
 
     template<class T, int N> 
@@ -145,7 +143,7 @@ namespace OpenMeca
     PartLinkT<T,N>::GetQStrType()
     {
       return QString(Part::GetQStrType() + '_' + T::GetQStrType() + '_' 
-		     + boost::lexical_cast<std::string>(N).c_str());
+		     + std::to_string(N).c_str());
     }
 
 
@@ -162,8 +160,8 @@ namespace OpenMeca
     PartLinkT<T,N>::PartLinkT(LinkT<T>& link)
       :Part(GetStrType(), link.template GetBody<N>().GetMainTreeItem(), true),
        link_(*this, link),
-       center_(boost::bind(&PartLinkT<T,N>::GetReferenceFrame, boost::ref(*this))),
-       quaternion_(boost::bind(&PartLinkT<T,N>::GetReferenceFrame, boost::ref(*this))),
+       center_(std::bind(&PartLinkT<T,N>::GetReferenceFrame, std::ref(*this))),
+       quaternion_(std::bind(&PartLinkT<T,N>::GetReferenceFrame, std::ref(*this))),
        frame_(center_, quaternion_),
        points_()
     {      
diff --git a/SRC/OpenMeca/Item/PartPoint.cpp b/SRC/OpenMeca/Item/PartPoint.cpp
index fbc9111..8d8105e 100644
--- a/SRC/OpenMeca/Item/PartPoint.cpp
+++ b/SRC/OpenMeca/Item/PartPoint.cpp
@@ -26,7 +26,7 @@
 
 #include "OpenMeca/Item/PartPoint_CreateAction_SpecializedT.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::PartPoint)
 
 namespace OpenMeca
@@ -78,7 +78,7 @@ namespace OpenMeca
     PartPoint::PartPoint(Core::UserItem& parent)
       :PartUser(GetStrType(), parent),
        mustBeScaled_(false),
-       scaleCoordinate_(boost::bind(&PartUser::GetReferenceFrame, boost::ref(*this)))
+       scaleCoordinate_(std::bind(&PartUser::GetReferenceFrame, std::ref(*this)))
     {
     }
 
@@ -86,7 +86,7 @@ namespace OpenMeca
     PartPoint::PartPoint(const std::string& childStrType, Core::UserItem& parent)
       :PartUser(childStrType, parent),
        mustBeScaled_(false),
-       scaleCoordinate_(boost::bind(&PartUser::GetReferenceFrame, boost::ref(*this)))
+       scaleCoordinate_(std::bind(&PartUser::GetReferenceFrame, std::ref(*this)))
     {
     }  
     
diff --git a/SRC/OpenMeca/Item/PartUser.cpp b/SRC/OpenMeca/Item/PartUser.cpp
index 1ef6680..1931673 100644
--- a/SRC/OpenMeca/Item/PartUser.cpp
+++ b/SRC/OpenMeca/Item/PartUser.cpp
@@ -21,7 +21,7 @@
 #include "OpenMeca/Item/PartUser.hpp"
 #include "OpenMeca/Item/Body.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::PartUser)
 
 namespace OpenMeca
@@ -41,8 +41,8 @@ namespace OpenMeca
     PartUser::PartUser(const std::string strType, Core::UserItem& parent)
       :Part(strType, parent.GetMainTreeItem(), true),
        parentItem_(*this, parent),
-       center_(boost::bind(&PartUser::GetReferenceFrame, boost::ref(*this))),
-       quaternion_(boost::bind(&PartUser::GetReferenceFrame, boost::ref(*this))),
+       center_(std::bind(&PartUser::GetReferenceFrame, std::ref(*this))),
+       quaternion_(std::bind(&PartUser::GetReferenceFrame, std::ref(*this))),
        frame_(center_, quaternion_),
        bodyIsDeleted_(false)
     {
diff --git a/SRC/OpenMeca/Item/PartUserJunction.cpp b/SRC/OpenMeca/Item/PartUserJunction.cpp
index 6eb9122..c628f0c 100644
--- a/SRC/OpenMeca/Item/PartUserJunction.cpp
+++ b/SRC/OpenMeca/Item/PartUserJunction.cpp
@@ -27,7 +27,7 @@
 #include "OpenMeca/Util/Draw.hpp"
 
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::PartUserJunction)
 
 
@@ -91,11 +91,11 @@ namespace OpenMeca
       //Translate
       Geom::Point<_3D>& p1 = PartUser::GetPoint();
       p1 = Geom::Point<_3D>(GetStartPoint().GetPoint(),
-			   boost::bind(&PartUser::GetReferenceFrame, boost::ref(*this)));
+			   std::bind(&PartUser::GetReferenceFrame, std::ref(*this)));
 
       //Rotate
       Geom::Point<_3D> p2(GetEndPoint().GetPoint(), 
-			   boost::bind(&PartUser::GetReferenceFrame, boost::ref(*this)));
+			   std::bind(&PartUser::GetReferenceFrame, std::ref(*this)));
       Geom::Vector<_3D> axis(p1, p2);
       Geom::Quaternion<_3D>& q = PartUser::GetQuaternion();
       const Geom::Vector<_3D>& X = GetReferenceFrame().GetXAxis();
diff --git a/SRC/OpenMeca/Item/PartUserPipe.cpp b/SRC/OpenMeca/Item/PartUserPipe.cpp
index d2ad528..0e923b0 100644
--- a/SRC/OpenMeca/Item/PartUserPipe.cpp
+++ b/SRC/OpenMeca/Item/PartUserPipe.cpp
@@ -26,7 +26,7 @@
 #include "OpenMeca/Core/System.hpp"
 #include "OpenMeca/Util/Draw.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::PartUserPipe)
 
 
@@ -64,7 +64,7 @@ namespace OpenMeca
     
     PartUserPipe::PartUserPipe(PartPoint& parent)
       :PartUser(GetStrType(), parent),
-       axis_(1.,0.,0.,boost::bind(&PartUserPipe::GetReferenceFrame, boost::ref(*this))),
+       axis_(1.,0.,0.,std::bind(&PartUserPipe::GetReferenceFrame, std::ref(*this))),
        length_(0.5*Part::GetScaleValue()),
        endPoint_(new PartPoint(*this))
     {
@@ -112,7 +112,7 @@ namespace OpenMeca
     {
       Geom::Point<_3D>& p = PartUser::GetPoint();
       p = Geom::Point<_3D>(GetStartPoint().GetPoint(),
-			   boost::bind(&PartUserPipe::GetReferenceFrame, boost::ref(*this)));
+			   std::bind(&PartUserPipe::GetReferenceFrame, std::ref(*this)));
 
       Geom::Quaternion<_3D>& q = PartUser::GetQuaternion();
       const Geom::Vector<_3D>& X = GetReferenceFrame().GetXAxis();
diff --git a/SRC/OpenMeca/Item/PartUserPoint.cpp b/SRC/OpenMeca/Item/PartUserPoint.cpp
index 138740b..bb4f391 100644
--- a/SRC/OpenMeca/Item/PartUserPoint.cpp
+++ b/SRC/OpenMeca/Item/PartUserPoint.cpp
@@ -23,7 +23,7 @@
 
 #include "OpenMeca/Item/PartPoint_CreateAction_SpecializedT.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::PartUserPoint)
 
 namespace OpenMeca
@@ -79,7 +79,7 @@ namespace OpenMeca
     
     PartUserPoint::PartUserPoint(Core::UserItem& parent)
       :PartPoint(GetStrType(), parent),
-       centerExpr_(boost::bind(&PartUser::GetReferenceFrame, boost::ref(*this)))
+       centerExpr_(std::bind(&PartUser::GetReferenceFrame, std::ref(*this)))
     {
     }
 
diff --git a/SRC/OpenMeca/Item/PartUserPoint.hpp b/SRC/OpenMeca/Item/PartUserPoint.hpp
index 863ed12..8bba11a 100644
--- a/SRC/OpenMeca/Item/PartUserPoint.hpp
+++ b/SRC/OpenMeca/Item/PartUserPoint.hpp
@@ -128,7 +128,7 @@ namespace boost
 
 
 
-#include "Boost/BUILD/include/boost/serialization/version.hpp"
+#include "Serialization/version.hpp"
 BOOST_CLASS_VERSION(OpenMeca::Item::PartUserPoint, 1)
 
 #endif
diff --git a/SRC/OpenMeca/Item/PartUserShape.cpp b/SRC/OpenMeca/Item/PartUserShape.cpp
index 61a0580..8447d8f 100644
--- a/SRC/OpenMeca/Item/PartUserShape.cpp
+++ b/SRC/OpenMeca/Item/PartUserShape.cpp
@@ -25,7 +25,7 @@
 #include "OpenMeca/Core/UserItemCommonProperty.hpp"
 #include "OpenMeca/Core/System.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::PartUserShape)
 
 
diff --git a/SRC/OpenMeca/Item/PartUserShapeT.hpp b/SRC/OpenMeca/Item/PartUserShapeT.hpp
index a7dbe00..b48c5f9 100644
--- a/SRC/OpenMeca/Item/PartUserShapeT.hpp
+++ b/SRC/OpenMeca/Item/PartUserShapeT.hpp
@@ -152,7 +152,7 @@ namespace OpenMeca
     {
       Geom::Point<_3D>& p = PartUser::GetPoint();
       p = Geom::Point<_3D>(GetStartPoint().GetPoint(),
-			   boost::bind(&PartUserShapeT<T>::GetReferenceFrame, boost::ref(*this)));
+			   std::bind(&PartUserShapeT<T>::GetReferenceFrame, std::ref(*this)));
       shape_.BeginDraw();
     }
 
diff --git a/SRC/OpenMeca/Item/Physical.cpp b/SRC/OpenMeca/Item/Physical.cpp
index 3fb37b6..6f32d64 100644
--- a/SRC/OpenMeca/Item/Physical.cpp
+++ b/SRC/OpenMeca/Item/Physical.cpp
@@ -28,7 +28,7 @@
 #include "OpenMeca/Gui/RootTreeItemT.hpp"
 #include "OpenMeca/Physic/Type.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::Physical)
 
 
diff --git a/SRC/OpenMeca/Item/Sensor.cpp b/SRC/OpenMeca/Item/Sensor.cpp
index a00133b..829b858 100644
--- a/SRC/OpenMeca/Item/Sensor.cpp
+++ b/SRC/OpenMeca/Item/Sensor.cpp
@@ -24,7 +24,7 @@
 #include "OpenMeca/Core/System.hpp"
 #include "OpenMeca/Gui/RootTreeItemT.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::Sensor)
 
 
diff --git a/SRC/OpenMeca/Item/Shape/Box.cpp b/SRC/OpenMeca/Item/Shape/Box.cpp
index ea42fd6..f20898b 100644
--- a/SRC/OpenMeca/Item/Shape/Box.cpp
+++ b/SRC/OpenMeca/Item/Shape/Box.cpp
@@ -24,7 +24,7 @@
 #include "OpenMeca/Item/Body.hpp"
 #include "OpenMeca/Util/Draw.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::PartUserShapeT<OpenMeca::Item::Shape::Box>)
 
 
@@ -84,7 +84,7 @@ namespace OpenMeca
 	
 	Body& body = GetPart().GetBody();
 	Geom::Frame<_3D>&(Body::*fnptr)() = &Body::GetFrame;
-	boost::function<const Geom::Frame<_3D>& ()> f = boost::bind(fnptr, boost::ref(body));
+	std::function<const Geom::Frame<_3D>& ()> f = std::bind(fnptr, std::ref(body));
 
 	Geom::Point<_3D> p(GetPart().GetPoint(), f);
 	chrono::ChVector<> chp = body.ExpressPointInLocalChFrame(p);
diff --git a/SRC/OpenMeca/Item/Shape/Box.hpp b/SRC/OpenMeca/Item/Shape/Box.hpp
index d925024..651af11 100644
--- a/SRC/OpenMeca/Item/Shape/Box.hpp
+++ b/SRC/OpenMeca/Item/Shape/Box.hpp
@@ -21,8 +21,8 @@
 #ifndef OpenMeca_Item_Shape_Box_hpp
 #define OpenMeca_Item_Shape_Box_hpp
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Item/Shape/ShapeBase.hpp"
 #include "OpenMeca/Gui/Dialog/Shape/ShapeDialogBox.hpp"
diff --git a/SRC/OpenMeca/Item/Shape/Cylinder.cpp b/SRC/OpenMeca/Item/Shape/Cylinder.cpp
index 1107287..3055f72 100644
--- a/SRC/OpenMeca/Item/Shape/Cylinder.cpp
+++ b/SRC/OpenMeca/Item/Shape/Cylinder.cpp
@@ -24,7 +24,7 @@
 #include "OpenMeca/Item/Body.hpp"
 #include "OpenMeca/Util/Draw.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::PartUserShapeT<OpenMeca::Item::Shape::Cylinder>)
 
 
@@ -53,7 +53,7 @@ namespace OpenMeca
 	:ShapeBase(part),
 	 radius_(0.),
 	 length_(0.),
-	 axis_(1., 0., 0., boost::bind(&PartUser::GetReferenceFrame, boost::ref(part)))
+	 axis_(1., 0., 0., std::bind(&PartUser::GetReferenceFrame, std::ref(part)))
       {
       }
    
@@ -82,7 +82,7 @@ namespace OpenMeca
       {
 	Body& body = GetPart().GetBody();
 	Geom::Frame<_3D>&(Body::*fnptr)() = &Body::GetFrame;
-	boost::function<const Geom::Frame<_3D>& ()> f = boost::bind(fnptr, boost::ref(body));
+	std::function<const Geom::Frame<_3D>& ()> f = std::bind(fnptr, std::ref(body));
 
 	Geom::Point<_3D> p(GetPart().GetPoint(), f);
 	chrono::ChVector<> chp = body.ExpressPointInLocalChFrame(p);
diff --git a/SRC/OpenMeca/Item/Shape/Cylinder.hpp b/SRC/OpenMeca/Item/Shape/Cylinder.hpp
index 69c7fe1..a2ab454 100644
--- a/SRC/OpenMeca/Item/Shape/Cylinder.hpp
+++ b/SRC/OpenMeca/Item/Shape/Cylinder.hpp
@@ -21,8 +21,8 @@
 #ifndef OpenMeca_Item_Shape_Cylinder_hpp
 #define OpenMeca_Item_Shape_Cylinder_hpp
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 #include "OpenMeca/Item/Shape/ShapeBase.hpp"
 #include "OpenMeca/Gui/Dialog/Shape/DialogCylinder.hpp"
 
diff --git a/SRC/OpenMeca/Item/Shape/Ground.cpp b/SRC/OpenMeca/Item/Shape/Ground.cpp
index 66264f5..8fa693f 100644
--- a/SRC/OpenMeca/Item/Shape/Ground.cpp
+++ b/SRC/OpenMeca/Item/Shape/Ground.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Item/PartUserShapeT.hpp"
 #include "OpenMeca/Util/Draw.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::PartUserShapeT<OpenMeca::Item::Shape::Ground>)
 
 
@@ -50,7 +50,7 @@ namespace OpenMeca
 
       Ground::Ground(PartUser& part)
 	: ShapeBase(part),
-	  axis_(1., 0., 0., boost::bind(&PartUser::GetReferenceFrame, boost::ref(part)))
+	  axis_(1., 0., 0., std::bind(&PartUser::GetReferenceFrame, std::ref(part)))
       {
       }
    
diff --git a/SRC/OpenMeca/Item/Shape/Ground.hpp b/SRC/OpenMeca/Item/Shape/Ground.hpp
index ae05fae..210107b 100644
--- a/SRC/OpenMeca/Item/Shape/Ground.hpp
+++ b/SRC/OpenMeca/Item/Shape/Ground.hpp
@@ -21,8 +21,8 @@
 #ifndef OpenMeca_Item_Shape_Ground_hpp
 #define OpenMeca_Item_Shape_Ground_hpp
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 #include "OpenMeca/Item/Shape/ShapeBase.hpp"
 #include "OpenMeca/Gui/Dialog/Shape/DialogGround.hpp"
 
diff --git a/SRC/OpenMeca/Item/Shape/ShapeBase.hpp b/SRC/OpenMeca/Item/Shape/ShapeBase.hpp
index c46c3dc..0bf9ac6 100644
--- a/SRC/OpenMeca/Item/Shape/ShapeBase.hpp
+++ b/SRC/OpenMeca/Item/Shape/ShapeBase.hpp
@@ -22,8 +22,8 @@
 #define OpenMeca_Item_Shape_ShapeBase_hpp
 
 #include <QString>
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 #include "OpenMeca/Item/PartUser.hpp"
 
 namespace OpenMeca
diff --git a/SRC/OpenMeca/Item/Shape/Sphere.cpp b/SRC/OpenMeca/Item/Shape/Sphere.cpp
index e08ffd8..ed94df0 100644
--- a/SRC/OpenMeca/Item/Shape/Sphere.cpp
+++ b/SRC/OpenMeca/Item/Shape/Sphere.cpp
@@ -25,7 +25,7 @@
 #include "OpenMeca/Util/Draw.hpp"
 #include "OpenMeca/Gui/Prop/PropTree.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 BOOST_CLASS_EXPORT(OpenMeca::Item::PartUserShapeT<OpenMeca::Item::Shape::Sphere>)
 
 
@@ -77,7 +77,7 @@ namespace OpenMeca
       {
 	Body& body = GetPart().GetBody();
 	Geom::Frame<_3D>&(Body::*fnptr)() = &Body::GetFrame;
-	boost::function<const Geom::Frame<_3D>& ()> f = boost::bind(fnptr, boost::ref(body));
+	std::function<const Geom::Frame<_3D>& ()> f = std::bind(fnptr, std::ref(body));
 
 	Geom::Point<_3D> p(GetPart().GetPoint(), f);
 	chrono::ChVector<> chp = body.ExpressPointInLocalChFrame(p);
diff --git a/SRC/OpenMeca/Item/Shape/Sphere.hpp b/SRC/OpenMeca/Item/Shape/Sphere.hpp
index 3ab5974..5c77528 100644
--- a/SRC/OpenMeca/Item/Shape/Sphere.hpp
+++ b/SRC/OpenMeca/Item/Shape/Sphere.hpp
@@ -22,8 +22,8 @@
 #define OpenMeca_Item_Shape_Sphere_hpp
 
 #include <QString>
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 #include "OpenMeca/Item/Shape/ShapeBase.hpp"
 #include "OpenMeca/Gui/Dialog/Shape/DialogSphere.hpp"
 
diff --git a/SRC/OpenMeca/Item/Variable.cpp b/SRC/OpenMeca/Item/Variable.cpp
index 9f129d2..0fedc39 100644
--- a/SRC/OpenMeca/Item/Variable.cpp
+++ b/SRC/OpenMeca/Item/Variable.cpp
@@ -24,7 +24,7 @@
 #include "OpenMeca/Core/UserRootItemCommonProperty.hpp"
 
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Item::Variable)
 
diff --git a/SRC/OpenMeca/OpenMeca.pro b/SRC/OpenMeca/OpenMeca.pro
index becc486..a147f21 100644
--- a/SRC/OpenMeca/OpenMeca.pro
+++ b/SRC/OpenMeca/OpenMeca.pro
@@ -41,20 +41,17 @@ DEPENDPATH += ../../
  
 INCLUDEPATH = ./ ../../ ../ \
               ./BUILD/ui \
-              ../Boost/BUILD/include/ \
               ../ChronoEngine/ \
               ../ChronoEngine/collision/bullet \
               ../ChronoEngine/collision/gimpact \
-              ../QGLViewer/BUILD/include \
-              ../Qwt/BUILD/include \
-              ../Qwt/BUILD/include/Qwt
-
-LIBS      +=  ../QGLViewer/BUILD/lib/libQGLViewer.a \
-              ../Qwt/BUILD/lib/libQwt.a \
-              ../Boost/BUILD/lib/libboost_serialization.a \
-              ../Boost/BUILD/lib/libboost_wserialization.a \
-              ../ChronoEngine/BUILD/lib/libchronoengine.a
- 
+              ../QGLViewer/BUILD/include
+
+LIBS      +=  ../ChronoEngine/BUILD/libchronoengine.a \
+              ../Serialization/BUILD/libserialization.a \
+              -lqwt-qt5 -lQGLViewer
+
+CONFIG += c++11
+              
 win32 {
 LIBS   += -lglu32
 CONFIG += release
@@ -62,7 +59,7 @@ CONFIG += release
 
 unix:!macx {
 LIBS   += -lGL -lGLU
-CONFIG += debug
+CONFIG += release
 }
 
 macx {
diff --git a/SRC/OpenMeca/Physic/AngularAcceleration.cpp b/SRC/OpenMeca/Physic/AngularAcceleration.cpp
index fa47357..3459bc8 100644
--- a/SRC/OpenMeca/Physic/AngularAcceleration.cpp
+++ b/SRC/OpenMeca/Physic/AngularAcceleration.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Util/Dimension.hpp"
 #include "OpenMeca/Core/System.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::AngularAcceleration)
 
diff --git a/SRC/OpenMeca/Physic/AngularPosition.cpp b/SRC/OpenMeca/Physic/AngularPosition.cpp
index 185fbf7..a72fefb 100644
--- a/SRC/OpenMeca/Physic/AngularPosition.cpp
+++ b/SRC/OpenMeca/Physic/AngularPosition.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Util/Dimension.hpp"
 #include "OpenMeca/Core/System.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::AngularPosition)
 
diff --git a/SRC/OpenMeca/Physic/AngularVelocity.cpp b/SRC/OpenMeca/Physic/AngularVelocity.cpp
index ca27c19..ae88dec 100644
--- a/SRC/OpenMeca/Physic/AngularVelocity.cpp
+++ b/SRC/OpenMeca/Physic/AngularVelocity.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Util/Dimension.hpp"
 #include "OpenMeca/Core/System.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::AngularVelocity)
 
diff --git a/SRC/OpenMeca/Physic/Double.cpp b/SRC/OpenMeca/Physic/Double.cpp
index 6110a1a..103e0bd 100644
--- a/SRC/OpenMeca/Physic/Double.cpp
+++ b/SRC/OpenMeca/Physic/Double.cpp
@@ -17,13 +17,12 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+#include <functional>
 
 #include "OpenMeca/Physic/Double.hpp"
 #include "OpenMeca/Gui/MainPlotWindow.hpp"
 
-#include "Boost/BUILD/include/boost/function.hpp"
-#include "Boost/BUILD/include/boost/bind.hpp"
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::Double)
 
diff --git a/SRC/OpenMeca/Physic/Force.cpp b/SRC/OpenMeca/Physic/Force.cpp
index c811606..fa8c001 100644
--- a/SRC/OpenMeca/Physic/Force.cpp
+++ b/SRC/OpenMeca/Physic/Force.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Util/Dimension.hpp"
 #include "OpenMeca/Core/System.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::Force)
 
diff --git a/SRC/OpenMeca/Physic/LinearAcceleration.cpp b/SRC/OpenMeca/Physic/LinearAcceleration.cpp
index 68c0709..86bc774 100644
--- a/SRC/OpenMeca/Physic/LinearAcceleration.cpp
+++ b/SRC/OpenMeca/Physic/LinearAcceleration.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Util/Dimension.hpp"
 #include "OpenMeca/Core/System.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::LinearAcceleration)
 
diff --git a/SRC/OpenMeca/Physic/LinearPosition.cpp b/SRC/OpenMeca/Physic/LinearPosition.cpp
index 1432482..d85298d 100644
--- a/SRC/OpenMeca/Physic/LinearPosition.cpp
+++ b/SRC/OpenMeca/Physic/LinearPosition.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Util/Dimension.hpp"
 #include "OpenMeca/Core/System.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::LinearPosition)
 
@@ -74,7 +74,7 @@ namespace OpenMeca
     void
     LinearPosition::BeginDraw()
     {
-      const std::vector< boost::array<double, 3> >& array = 
+      const std::vector< std::array<double, 3> >& array = 
 	GetRealDataType().GetRealType().GetRecordedState();
 	
 	if (array.size() > 2)
diff --git a/SRC/OpenMeca/Physic/LinearVelocity.cpp b/SRC/OpenMeca/Physic/LinearVelocity.cpp
index 9ff72b1..cde7676 100644
--- a/SRC/OpenMeca/Physic/LinearVelocity.cpp
+++ b/SRC/OpenMeca/Physic/LinearVelocity.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Util/Dimension.hpp"
 #include "OpenMeca/Core/System.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::LinearVelocity)
 
diff --git a/SRC/OpenMeca/Physic/MechanicalAction.cpp b/SRC/OpenMeca/Physic/MechanicalAction.cpp
index aeb5035..dc8622e 100644
--- a/SRC/OpenMeca/Physic/MechanicalAction.cpp
+++ b/SRC/OpenMeca/Physic/MechanicalAction.cpp
@@ -24,7 +24,7 @@
 #include "OpenMeca/Core/System.hpp"
 #include "OpenMeca/Item/Link.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::MechanicalAction)
 
@@ -48,7 +48,7 @@ namespace OpenMeca
 
     MechanicalAction::MechanicalAction(Item::Physical& item, const Util::Color& color)
       :QuantityT<Vector3D>(item, color),
-       value_(boost::bind(&MechanicalAction::GetFrame, boost::ref(*this))),
+       value_(std::bind(&MechanicalAction::GetFrame, std::ref(*this))),
        chForcePtr_(0),
        directionMode_(MechActionEnum::ABSOLUTE_DIR),
        startPointMode_(MechActionEnum::BODY_COORDINATE_POS)
@@ -81,7 +81,7 @@ namespace OpenMeca
       const Geom::Point<_3D>& p = GetPhysicalItem().GetFrame().GetCenter();
       Item::Body& body = GetBody();
       Geom::Frame<_3D>&(Item::Body::*fnpt)() = &Item::Body::GetFrame;
-      boost::function<const Geom::Frame<_3D>& ()> f_body = boost::bind(fnpt, boost::ref(body));
+      std::function<const Geom::Frame<_3D>& ()> f_body = std::bind(fnpt, std::ref(body));
       return Geom::Point<_3D> (p, f_body);
     }
 
@@ -179,8 +179,8 @@ namespace OpenMeca
 	  Item::Body& body = link->GetBody1();
 
 	  Geom::Frame<_3D>&(Item::Body::*fnptr)() = &Item::Body::GetFrame;
-	  boost::function<const Geom::Frame<_3D>& ()> f = 
-	  boost::bind(fnptr, boost::ref(body));
+	  std::function<const Geom::Frame<_3D>& ()> f = 
+	  std::bind(fnptr, std::ref(body));
 	  
 
 	  const Geom::Point<_3D>& p_link  = GetPhysicalItem().GetFrame().GetCenter();
diff --git a/SRC/OpenMeca/Physic/Quantity.cpp b/SRC/OpenMeca/Physic/Quantity.cpp
index fc6c5cf..82cdbb1 100644
--- a/SRC/OpenMeca/Physic/Quantity.cpp
+++ b/SRC/OpenMeca/Physic/Quantity.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Physic/Type.hpp"
 #include "OpenMeca/Item/Physical.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::Quantity)
 
diff --git a/SRC/OpenMeca/Physic/QuantityT.cpp b/SRC/OpenMeca/Physic/QuantityT.cpp
index ffab71b..2377409 100644
--- a/SRC/OpenMeca/Physic/QuantityT.cpp
+++ b/SRC/OpenMeca/Physic/QuantityT.cpp
@@ -25,7 +25,7 @@
 
 #include "OpenMeca/Item/Physical.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::QuantityT<OpenMeca::Physic::Vector3D>)
 
diff --git a/SRC/OpenMeca/Physic/Torque.cpp b/SRC/OpenMeca/Physic/Torque.cpp
index f6f773f..76cbae5 100644
--- a/SRC/OpenMeca/Physic/Torque.cpp
+++ b/SRC/OpenMeca/Physic/Torque.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Util/Dimension.hpp"
 #include "OpenMeca/Core/System.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::Torque)
 
diff --git a/SRC/OpenMeca/Physic/Type.cpp b/SRC/OpenMeca/Physic/Type.cpp
index a8f7870..e1d0d97 100644
--- a/SRC/OpenMeca/Physic/Type.cpp
+++ b/SRC/OpenMeca/Physic/Type.cpp
@@ -22,7 +22,7 @@
 #include "OpenMeca/Physic/Quantity.hpp"
 #include "OpenMeca/Gui/MainPlotWindow.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::Type)
 
diff --git a/SRC/OpenMeca/Physic/Type.hpp b/SRC/OpenMeca/Physic/Type.hpp
index b9747c5..ebd912a 100644
--- a/SRC/OpenMeca/Physic/Type.hpp
+++ b/SRC/OpenMeca/Physic/Type.hpp
@@ -21,8 +21,8 @@
 #ifndef _OpenMeca_Physic_Type_hpp_
 #define _OpenMeca_Physic_Type_hpp_
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include <QObject>
 #include <QMenu>
diff --git a/SRC/OpenMeca/Physic/TypeT.cpp b/SRC/OpenMeca/Physic/TypeT.cpp
index f86eb35..98b9370 100644
--- a/SRC/OpenMeca/Physic/TypeT.cpp
+++ b/SRC/OpenMeca/Physic/TypeT.cpp
@@ -23,7 +23,7 @@
 #include "OpenMeca/Physic/TypeT.hpp"
 #include "OpenMeca/Geom/Vector.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::TypeT<OpenMeca::Geom::Vector<_3D> >)
 
diff --git a/SRC/OpenMeca/Physic/Vector3D.cpp b/SRC/OpenMeca/Physic/Vector3D.cpp
index 8b711b3..63ab023 100644
--- a/SRC/OpenMeca/Physic/Vector3D.cpp
+++ b/SRC/OpenMeca/Physic/Vector3D.cpp
@@ -17,13 +17,12 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+#include <functional>
 
 #include "OpenMeca/Physic/Vector3D.hpp"
 #include "OpenMeca/Gui/MainPlotWindow.hpp"
 
-#include "Boost/BUILD/include/boost/function.hpp"
-#include "Boost/BUILD/include/boost/bind.hpp"
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Physic::Vector3D)
 
@@ -34,11 +33,11 @@ namespace OpenMeca
 
     Vector3D::Vector3D(Quantity& q)
       :TypeT<Geom::Vector<_3D> >(q),
-       vec_(boost::bind(&Quantity::GetFrame, boost::ref(q))), 
+       vec_(std::bind(&Quantity::GetFrame, std::ref(q))), 
        x_(), y_(), z_(), norm_()
     {
       const Geom::Frame<_3D>&(Quantity::*fnpt)() const= &Quantity::GetFrame;
-      boost::function<const Geom::Frame<_3D>& ()> f_body = boost::bind(fnpt, boost::ref(q));
+      std::function<const Geom::Frame<_3D>& ()> f_body = std::bind(fnpt, std::ref(q));
       
 
     }
diff --git a/SRC/OpenMeca/Physic/Vector3D.hpp b/SRC/OpenMeca/Physic/Vector3D.hpp
index c26e404..bf2f56e 100644
--- a/SRC/OpenMeca/Physic/Vector3D.hpp
+++ b/SRC/OpenMeca/Physic/Vector3D.hpp
@@ -84,7 +84,7 @@ namespace OpenMeca
     Vector3D::serialize(Archive & ar, const unsigned int)
     {
 	ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(TypeT <Geom::Vector<_3D> >);
-	ar & BOOST_SERIALIZATION_NVP(vec_);
+	//ar & BOOST_SERIALIZATION_NVP(vec_);
     }
 
   }
diff --git a/SRC/OpenMeca/Setting/Gravity.hpp b/SRC/OpenMeca/Setting/Gravity.hpp
index 00cd25f..4741a18 100644
--- a/SRC/OpenMeca/Setting/Gravity.hpp
+++ b/SRC/OpenMeca/Setting/Gravity.hpp
@@ -21,8 +21,8 @@
 #ifndef OpenMeca_Setting_Gravity_hpp
 #define OpenMeca_Setting_Gravity_hpp
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Core/SystemSettingT.hpp"
 #include "OpenMeca/Core/SetOf.hpp"
diff --git a/SRC/OpenMeca/Setting/LangManager.cpp b/SRC/OpenMeca/Setting/LangManager.cpp
index 3e9484f..66c9c7a 100644
--- a/SRC/OpenMeca/Setting/LangManager.cpp
+++ b/SRC/OpenMeca/Setting/LangManager.cpp
@@ -18,8 +18,6 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-#include "Boost/BUILD/include/boost/lexical_cast.hpp"
-
 #include "OpenMeca/Setting/LangManager.hpp"
 #include "OpenMeca/Core/GlobalSettingCommonProperty.hpp"
 #include "OpenMeca/Util/Dimension.hpp"
diff --git a/SRC/OpenMeca/Setting/Scales.hpp b/SRC/OpenMeca/Setting/Scales.hpp
index 055a944..2c9bb41 100644
--- a/SRC/OpenMeca/Setting/Scales.hpp
+++ b/SRC/OpenMeca/Setting/Scales.hpp
@@ -21,8 +21,8 @@
 #ifndef OpenMeca_Setting_Scales_hpp
 #define OpenMeca_Setting_Scales_hpp
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Core/SystemSettingT.hpp"
 #include "OpenMeca/Core/SetOf.hpp"
diff --git a/SRC/OpenMeca/Setting/Scene.hpp b/SRC/OpenMeca/Setting/Scene.hpp
index ff929e4..e0dd1c1 100644
--- a/SRC/OpenMeca/Setting/Scene.hpp
+++ b/SRC/OpenMeca/Setting/Scene.hpp
@@ -21,8 +21,10 @@
 #ifndef OpenMeca_Setting_Scene_hpp
 #define OpenMeca_Setting_Scene_hpp
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include <QGLViewer/camera.h>
+
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Core/SystemSettingT.hpp"
 #include "OpenMeca/Core/SetOf.hpp"
@@ -33,7 +35,6 @@
 #include "OpenMeca/Geom/Point.hpp"
 #include "OpenMeca/Util/Color.hpp"
 
-#include "QGLViewer/BUILD/include/QGLViewer/camera.h"
 
 namespace OpenMeca
 {
diff --git a/SRC/OpenMeca/Setting/Simulation.cpp b/SRC/OpenMeca/Setting/Simulation.cpp
index 96aec4f..0e9f5f2 100644
--- a/SRC/OpenMeca/Setting/Simulation.cpp
+++ b/SRC/OpenMeca/Setting/Simulation.cpp
@@ -26,7 +26,7 @@
 #include "OpenMeca/Gui/Dialog/DialogSimulation.hpp"
 #include "OpenMeca/Item/Sensor.hpp"
 
-#include "Boost/BUILD/include/boost/serialization/export.hpp"
+#include "Serialization/export.hpp"
 //Don't forget to export for dynamic serialization of child class
 BOOST_CLASS_EXPORT(OpenMeca::Setting::Simulation)
 BOOST_CLASS_EXPORT(OpenMeca::Core::SystemSettingT<OpenMeca::Setting::Simulation>)
diff --git a/SRC/OpenMeca/Setting/Simulation.hpp b/SRC/OpenMeca/Setting/Simulation.hpp
index ba662fd..76e7377 100644
--- a/SRC/OpenMeca/Setting/Simulation.hpp
+++ b/SRC/OpenMeca/Setting/Simulation.hpp
@@ -24,8 +24,8 @@
 #include <QThread>
 #include <map>
 
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Core/SystemSettingT.hpp"
 #include "OpenMeca/Core/SetOf.hpp"
diff --git a/SRC/OpenMeca/Setting/UnitManager.cpp b/SRC/OpenMeca/Setting/UnitManager.cpp
index a4c2cbe..a46db03 100644
--- a/SRC/OpenMeca/Setting/UnitManager.cpp
+++ b/SRC/OpenMeca/Setting/UnitManager.cpp
@@ -18,7 +18,6 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-#include "Boost/BUILD/include/boost/lexical_cast.hpp"
 
 #include "OpenMeca/Setting/UnitManager.hpp"
 #include "OpenMeca/Core/GlobalSettingCommonProperty.hpp"
@@ -128,19 +127,16 @@ namespace OpenMeca
 		 "Wrong tag name");
       const std::string name = e.attribute("Name").toStdString();
       const std::string symbol = e.attribute("Symbol").toStdString();
-      const std::string factor = e.attribute("Factor").toStdString();
-      OMC_ASSERT_MSG(!name.empty() && !factor.empty(),
+      const QString factor = e.attribute("Factor");
+      OMC_ASSERT_MSG(!name.empty() && !factor.isEmpty(),
 		 "One of the attribute is empty");
       
       double factorValue = 0.;
-      try
-        {
-	  factorValue = boost::lexical_cast<double>(factor);
-        }
-      catch(boost::bad_lexical_cast &)
-        {
-	  OMC_ASSERT_MSG(0, "Can't convert unit");
-        }
+      bool conversionOk = false;
+      factorValue = factor.toDouble(&conversionOk);
+      if (conversionOk == false)
+	OMC_ASSERT_MSG(0, "Can't convert unit");
+
       OMC_ASSERT_MSG(factorValue != 0., "The factor value can't be null");
       
       new Util::Unit(dim, name, symbol, factorValue);
diff --git a/SRC/OpenMeca/Util/Color.hpp b/SRC/OpenMeca/Util/Color.hpp
index c8e48ea..b13c3a3 100644
--- a/SRC/OpenMeca/Util/Color.hpp
+++ b/SRC/OpenMeca/Util/Color.hpp
@@ -23,8 +23,8 @@
 
 #include <QString>
 #include <QColor>
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 
 namespace OpenMeca
diff --git a/SRC/OpenMeca/Util/CustomChFunction.hpp b/SRC/OpenMeca/Util/CustomChFunction.hpp
index ea18e2e..34570e3 100644
--- a/SRC/OpenMeca/Util/CustomChFunction.hpp
+++ b/SRC/OpenMeca/Util/CustomChFunction.hpp
@@ -83,7 +83,7 @@ namespace OpenMeca
   }
 }
 
-#include "Boost/BUILD/include/boost/serialization/version.hpp"
+#include "Serialization/version.hpp"
 BOOST_CLASS_VERSION(OpenMeca::Util::CustomChFunction, 1)
 
 #endif
diff --git a/SRC/OpenMeca/Util/Enum.cpp b/SRC/OpenMeca/Util/Enum.cpp
index 15c1c95..8644518 100644
--- a/SRC/OpenMeca/Util/Enum.cpp
+++ b/SRC/OpenMeca/Util/Enum.cpp
@@ -17,15 +17,10 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-#include "Boost/BUILD/include/boost/assign.hpp"
-
-
-
+#include <QGLViewer/camera.h>
 
 #include "ChronoEngine/physics/ChSystem.h"
 
-#include "QGLViewer/BUILD/include/QGLViewer/camera.h"
-
 #include "OpenMeca/Util/Enum.hpp"
 #include "OpenMeca/Physic/PhysEnum.hpp"
 
@@ -36,47 +31,46 @@ namespace OpenMeca
 
     template<>
     Enum<chrono::ChSystem::eCh_lcpSolver>::Map 
-    Enum<chrono::ChSystem::eCh_lcpSolver>::map_ = 
-      boost::assign::map_list_of 
-      ("SOR"     , chrono::ChSystem::LCP_ITERATIVE_SOR)
-      ("SYMMSOR" , chrono::ChSystem::LCP_ITERATIVE_SYMMSOR)
-      ("SIMPLEX" , chrono::ChSystem::LCP_SIMPLEX)
-      ("JACOBI"  , chrono::ChSystem::LCP_ITERATIVE_JACOBI)
-      ("SOR_MULTITHREAD", chrono::ChSystem::LCP_ITERATIVE_SOR_MULTITHREAD)
-      ("PMINRES"        , chrono::ChSystem::LCP_ITERATIVE_PMINRES)
-      ("BARZILAIBORWEIN", chrono::ChSystem::LCP_ITERATIVE_BARZILAIBORWEIN)
-      ("PCG"            , chrono::ChSystem::LCP_ITERATIVE_PCG)
-      ("APGD"           , chrono::ChSystem::LCP_ITERATIVE_APGD)
-      ("DEM"            , chrono::ChSystem::LCP_DEM);
+    Enum<chrono::ChSystem::eCh_lcpSolver>::map_ { 
+      {"SOR"     , chrono::ChSystem::LCP_ITERATIVE_SOR},
+      {"SYMMSOR" , chrono::ChSystem::LCP_ITERATIVE_SYMMSOR},
+      {"SIMPLEX" , chrono::ChSystem::LCP_SIMPLEX},
+      {"JACOBI"  , chrono::ChSystem::LCP_ITERATIVE_JACOBI},
+      {"SOR_MULTITHREAD", chrono::ChSystem::LCP_ITERATIVE_SOR_MULTITHREAD},
+      {"PMINRES"        , chrono::ChSystem::LCP_ITERATIVE_PMINRES},
+      {"BARZILAIBORWEIN", chrono::ChSystem::LCP_ITERATIVE_BARZILAIBORWEIN},
+      {"PCG"            , chrono::ChSystem::LCP_ITERATIVE_PCG},
+      {"APGD"           , chrono::ChSystem::LCP_ITERATIVE_APGD},
+      {"DEM"            , chrono::ChSystem::LCP_DEM}
+    };
 
     template<>
     Enum<chrono::ChSystem::eCh_integrationType>::Map 
-    Enum<chrono::ChSystem::eCh_integrationType>::map_ = 
-      boost::assign::map_list_of 
-      ("ANITESCU", chrono::ChSystem::INT_ANITESCU)
-      ("TASORA"  , chrono::ChSystem::INT_TASORA);
+    Enum<chrono::ChSystem::eCh_integrationType>::map_ = {
+      {"ANITESCU", chrono::ChSystem::INT_ANITESCU},
+      {"TASORA"  , chrono::ChSystem::INT_TASORA}
+    };
 
     template<>
     Enum<OpenMeca::Physic::MechActionEnum::DirectionMode>::Map 
-    Enum<OpenMeca::Physic::MechActionEnum::DirectionMode>::map_ = 
-      boost::assign::map_list_of 
-      ("ABSOLUTE", OpenMeca::Physic::MechActionEnum::ABSOLUTE_DIR)
-      ("BODY"  , OpenMeca::Physic::MechActionEnum::BODY_COORDINATE_DIR);
+    Enum<OpenMeca::Physic::MechActionEnum::DirectionMode>::map_ = {
+      {"ABSOLUTE", OpenMeca::Physic::MechActionEnum::ABSOLUTE_DIR},
+      {"BODY"  , OpenMeca::Physic::MechActionEnum::BODY_COORDINATE_DIR}
+    };
 
     template<>
     Enum<OpenMeca::Physic::MechActionEnum::StartPointMode>::Map 
-    Enum<OpenMeca::Physic::MechActionEnum::StartPointMode>::map_ = 
-      boost::assign::map_list_of 
-      ("ABSOLUTE", OpenMeca::Physic::MechActionEnum::ABSOLUTE_POS)
-      ("BODY"  , OpenMeca::Physic::MechActionEnum::BODY_COORDINATE_POS);
+    Enum<OpenMeca::Physic::MechActionEnum::StartPointMode>::map_ = {
+      {"ABSOLUTE", OpenMeca::Physic::MechActionEnum::ABSOLUTE_POS},
+      {"BODY"  , OpenMeca::Physic::MechActionEnum::BODY_COORDINATE_POS}
+      };
 
     template<>
     Enum<qglviewer::Camera::Type>::Map 
-    Enum<qglviewer::Camera::Type>::map_ = 
-      boost::assign::map_list_of 
-      ("PERSPECTIVE" , qglviewer::Camera::PERSPECTIVE)
-      ("ORTHOGRAPHIC", qglviewer::Camera::ORTHOGRAPHIC);
-    
+    Enum<qglviewer::Camera::Type>::map_ = {
+      {"PERSPECTIVE" , qglviewer::Camera::PERSPECTIVE},
+      {"ORTHOGRAPHIC", qglviewer::Camera::ORTHOGRAPHIC}
+    };
 
   }
 }
diff --git a/SRC/OpenMeca/Util/Expr.cpp b/SRC/OpenMeca/Util/Expr.cpp
index 7bba9ca..3ba3714 100644
--- a/SRC/OpenMeca/Util/Expr.cpp
+++ b/SRC/OpenMeca/Util/Expr.cpp
@@ -19,8 +19,6 @@
 
 #include <sstream>
 
-#include "Boost/BUILD/include/boost/lexical_cast.hpp"
-
 #include "OpenMeca/Util/Expr.hpp"
 #include "OpenMeca/Util/Var.hpp"
 
diff --git a/SRC/OpenMeca/Util/Expr.hpp b/SRC/OpenMeca/Util/Expr.hpp
index e4bdd28..125a8a0 100644
--- a/SRC/OpenMeca/Util/Expr.hpp
+++ b/SRC/OpenMeca/Util/Expr.hpp
@@ -23,8 +23,8 @@
 
 
 #include <string>
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Core/Macro.hpp"
 #include "OpenMeca/Core/SetOfBase.hpp"
diff --git a/SRC/OpenMeca/Util/ExprAttitude.cpp b/SRC/OpenMeca/Util/ExprAttitude.cpp
index 4ad4409..cb02775 100644
--- a/SRC/OpenMeca/Util/ExprAttitude.cpp
+++ b/SRC/OpenMeca/Util/ExprAttitude.cpp
@@ -19,8 +19,6 @@
 
 #include <sstream>
 
-#include "Boost/BUILD/include/boost/lexical_cast.hpp"
-
 #include "OpenMeca/Util/ExprAttitude.hpp"
 #include "OpenMeca/Util/Var.hpp"
 
@@ -32,7 +30,7 @@ namespace OpenMeca
   namespace Util
   {
       
-    ExprAttitude::ExprAttitude(boost::function<const Geom::Frame<_3D>& ()> f)
+    ExprAttitude::ExprAttitude(std::function<const Geom::Frame<_3D>& ()> f)
       :Geom::Quaternion<_3D>(f),
        axis_(1., 0., 0., f), angle_(0)
     {
diff --git a/SRC/OpenMeca/Util/ExprAttitude.hpp b/SRC/OpenMeca/Util/ExprAttitude.hpp
index 80ed3ce..3bfc812 100644
--- a/SRC/OpenMeca/Util/ExprAttitude.hpp
+++ b/SRC/OpenMeca/Util/ExprAttitude.hpp
@@ -41,7 +41,7 @@ namespace OpenMeca
     {
 
     public:
-      ExprAttitude(boost::function<const Geom::Frame<_3D>& ()> = &Geom::Frame<_3D>::GetGlobal);
+      ExprAttitude(std::function<const Geom::Frame<_3D>& ()> = &Geom::Frame<_3D>::GetGlobal);
       virtual ~ExprAttitude();
 
       ExprAttitude& operator=(const Geom::Quaternion<_3D>&); 
diff --git a/SRC/OpenMeca/Util/ExprDouble.cpp b/SRC/OpenMeca/Util/ExprDouble.cpp
index 6b7148a..48b9479 100644
--- a/SRC/OpenMeca/Util/ExprDouble.cpp
+++ b/SRC/OpenMeca/Util/ExprDouble.cpp
@@ -19,8 +19,6 @@
 
 #include <sstream>
 
-#include "Boost/BUILD/include/boost/lexical_cast.hpp"
-
 #include "OpenMeca/Util/ExprDouble.hpp"
 #include "OpenMeca/Util/Var.hpp"
 
diff --git a/SRC/OpenMeca/Util/ExprPoint.cpp b/SRC/OpenMeca/Util/ExprPoint.cpp
index e5dd77b..dcc42ad 100644
--- a/SRC/OpenMeca/Util/ExprPoint.cpp
+++ b/SRC/OpenMeca/Util/ExprPoint.cpp
@@ -19,8 +19,6 @@
 
 #include <sstream>
 
-#include "Boost/BUILD/include/boost/lexical_cast.hpp"
-
 #include "OpenMeca/Util/ExprPoint.hpp"
 #include "OpenMeca/Util/Var.hpp"
 
@@ -32,7 +30,7 @@ namespace OpenMeca
   namespace Util
   {
       
-    ExprPoint::ExprPoint(boost::function<const Geom::Frame<_3D>& ()> f)
+    ExprPoint::ExprPoint(std::function<const Geom::Frame<_3D>& ()> f)
       :Geom::Point<_3D>(f),
        expX_(Geom::Point<_3D>::operator[](0)),
        expY_(Geom::Point<_3D>::operator[](1)),
@@ -44,7 +42,7 @@ namespace OpenMeca
       
     }
 
-    ExprPoint::ExprPoint(double x, double y, double z, boost::function<const Geom::Frame<_3D>& ()> f)
+    ExprPoint::ExprPoint(double x, double y, double z, std::function<const Geom::Frame<_3D>& ()> f)
       :Geom::Point<_3D>(x, y, z, f),
        expX_(Geom::Point<_3D>::operator[](0)),
        expY_(Geom::Point<_3D>::operator[](1)),
diff --git a/SRC/OpenMeca/Util/ExprPoint.hpp b/SRC/OpenMeca/Util/ExprPoint.hpp
index 74dd86b..f36803d 100644
--- a/SRC/OpenMeca/Util/ExprPoint.hpp
+++ b/SRC/OpenMeca/Util/ExprPoint.hpp
@@ -39,8 +39,8 @@ namespace OpenMeca
     {
 
     public:
-      ExprPoint(boost::function<const Geom::Frame<_3D>& ()> = &Geom::Frame<_3D>::GetGlobal);
-      ExprPoint(double, double, double, boost::function<const Geom::Frame<_3D>& ()> = &Geom::Frame<_3D>::GetGlobal);
+      ExprPoint(std::function<const Geom::Frame<_3D>& ()> = &Geom::Frame<_3D>::GetGlobal);
+      ExprPoint(double, double, double, std::function<const Geom::Frame<_3D>& ()> = &Geom::Frame<_3D>::GetGlobal);
       virtual ~ExprPoint();
 
       ExprPoint& operator=(const Geom::Point<_3D>&); 
diff --git a/SRC/OpenMeca/Util/ExprVector.cpp b/SRC/OpenMeca/Util/ExprVector.cpp
index 8465b2b..0d51e42 100644
--- a/SRC/OpenMeca/Util/ExprVector.cpp
+++ b/SRC/OpenMeca/Util/ExprVector.cpp
@@ -19,8 +19,6 @@
 
 #include <sstream>
 
-#include "Boost/BUILD/include/boost/lexical_cast.hpp"
-
 #include "OpenMeca/Util/ExprVector.hpp"
 #include "OpenMeca/Util/Var.hpp"
 
@@ -32,7 +30,7 @@ namespace OpenMeca
   namespace Util
   {
       
-    ExprVector::ExprVector(boost::function<const Geom::Frame<_3D>& ()> f)
+    ExprVector::ExprVector(std::function<const Geom::Frame<_3D>& ()> f)
       :Geom::Vector<_3D>(f),
        expX_(Geom::Vector<_3D>::operator[](0)),
        expY_(Geom::Vector<_3D>::operator[](1)),
@@ -41,7 +39,7 @@ namespace OpenMeca
       
     }
 
-    ExprVector::ExprVector(double x, double y, double z, boost::function<const Geom::Frame<_3D>& ()> f)
+    ExprVector::ExprVector(double x, double y, double z, std::function<const Geom::Frame<_3D>& ()> f)
       :Geom::Vector<_3D>(x, y, z, f),
        expX_(Geom::Vector<_3D>::operator[](0)),
        expY_(Geom::Vector<_3D>::operator[](1)),
diff --git a/SRC/OpenMeca/Util/ExprVector.hpp b/SRC/OpenMeca/Util/ExprVector.hpp
index f447f4a..1d1d8df 100644
--- a/SRC/OpenMeca/Util/ExprVector.hpp
+++ b/SRC/OpenMeca/Util/ExprVector.hpp
@@ -39,8 +39,8 @@ namespace OpenMeca
     {
 
     public:
-      ExprVector(boost::function<const Geom::Frame<_3D>& ()> = &Geom::Frame<_3D>::GetGlobal);
-      ExprVector(double, double, double, boost::function<const Geom::Frame<_3D>& ()> = &Geom::Frame<_3D>::GetGlobal);
+      ExprVector(std::function<const Geom::Frame<_3D>& ()> = &Geom::Frame<_3D>::GetGlobal);
+      ExprVector(double, double, double, std::function<const Geom::Frame<_3D>& ()> = &Geom::Frame<_3D>::GetGlobal);
       virtual ~ExprVector();
 
       ExprVector& operator=(const Geom::Vector<_3D>&); 
diff --git a/SRC/OpenMeca/Util/Var.hpp b/SRC/OpenMeca/Util/Var.hpp
index 2312b14..6f2ca23 100644
--- a/SRC/OpenMeca/Util/Var.hpp
+++ b/SRC/OpenMeca/Util/Var.hpp
@@ -23,8 +23,8 @@
 
 
 #include <string>
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 #include "OpenMeca/Util/exprtk.hpp"
 #include "OpenMeca/Core/Macro.hpp"
diff --git a/SRC/OpenMeca/Util/Version.hpp b/SRC/OpenMeca/Util/Version.hpp
index 0d50cff..e8bdb2c 100644
--- a/SRC/OpenMeca/Util/Version.hpp
+++ b/SRC/OpenMeca/Util/Version.hpp
@@ -22,8 +22,8 @@
 #define OpenMeca_Util_Version_hpp
 
 #include <string>
-#include "Boost/BUILD/include/boost/archive/text_oarchive.hpp"
-#include "Boost/BUILD/include/boost/archive/text_iarchive.hpp"
+#include "Serialization/archive/text_oarchive.hpp"
+#include "Serialization/archive/text_iarchive.hpp"
 
 namespace OpenMeca
 {
diff --git a/SRC/QGLViewer/GPL_EXCEPTION b/SRC/QGLViewer/GPL_EXCEPTION
deleted file mode 100644
index 18f7492..0000000
--- a/SRC/QGLViewer/GPL_EXCEPTION
+++ /dev/null
@@ -1,80 +0,0 @@
-
-libQGLViewer GPL Exception
-==========================
-
-Additional rights granted beyond the GPL (the "Exception").
-
-As a special exception to the terms and conditions of GPL version 2.0 or 
-GPL version 3.0, Gilles Debunne hereby grants you the rights described below,
-provided you agree to the terms and conditions in this Exception, including 
-its obligations and restrictions on use.
-
-Nothing in this Exception gives you or anyone else the right to change the
-licensing terms of the libQGLViewer Open Source Edition.
-
-Below, "Licensed Software" shall refer to the software licensed under the GPL
-version 2.0 or GPL version 3.0 and this exception.
-
-1) The right to use Open Source Licenses not compatible with the GNU
-General Public License version 2.0 or GNU General Public License version
-3.0: You may link software (hereafter referred to as "Your Software")
-against the Licensed Software and/or distribute binaries of Your Software
-linked against the Licensed Software, provided that:
-
-A) Your Software is licensed under one of the following licenses:
-
-
-License name                            Version(s)/Copyright Date
-Academic Free License                   2.0, 2.1, 3.0
-Apache Software License                 1.0 or 1.1
-Apache License                          2.0
-Apple Public Source License             2.0
-BSD license                             "July 22 1999"
-Common Development and Distribution
-  License (CDDL)                        1.0
-Common Public License                   1.0
-Eclipse Public License                  1.0
-GNU Library or "Lesser"
-General Public License (LGPL)           2.0, 2.1, 3.0
-Jabber Open Source License              1.0
-Mozilla Public License (MPL)            1.0 or 1.1
-Open Software License                   2.0, 3.0
-PHP License                             3.0
-Python Software Foundation License      2.1.1
-Q Public License                        1.0
-Sleepycat License                       "1999"
-W3C License                             "2001"
-X11 License                             X11R6.6
-Zope Public License                     2.0, 2.1
-
-
-and
-
-B) You must, on request, make a complete package including the complete 
-    source code of Your Software (as defined in the GNU General Public 
-    License version 2, section 3, but excluding anything excluded by the
-    special exception in the same section) available to Gilles Debunne
-    under the same license as that granted to other recipients of the 
-    source code of Your Software.
-
-and
-
-C) Your or any other contributor's rights to:
-
-        i) distribute the source code of Your Software to anyone for
-        any purpose;
-
-        and
-
-        ii) publicly discuss the development project for Your
-        Software and its goals in any form and in any forum
-
-are not prohibited by any legal instrument, including but not limited to
-contracts, non-disclosure agreements, and employee contracts.
-
-
-2) The right to link non-Open Source applications with versions of the 
-Licensed Software: You may link applications with versions of the Licensed 
-Software, provided that such applications have been developed and are deployed
-in accordance with the terms and conditions of the libQGLViewer Commercial 
-License Agreement.
diff --git a/SRC/QGLViewer/LICENCE b/SRC/QGLViewer/LICENCE
deleted file mode 100644
index 441a687..0000000
--- a/SRC/QGLViewer/LICENCE
+++ /dev/null
@@ -1,1040 +0,0 @@
- libQGLViewer is licensed under two licenses: the GNU General Public License (GPL) 
- and a commercial license.
-
- If you, your company or your organization use this library and do not wish to
- release your complete source code, you are required to purchase a commercial license.
-
- Alternatively, if you are willing to follow the terms of the GPL (General Public License),
- this Open source version of libQGLViewer allows you to develop, modify and distribute 
- your software freely. You must contribute all your source code to the open source
- community, according to the terms of the applicable open source license.
-
- You may use, distribute and copy the QGLViewer library under the terms of
- GNU General Public License version 2 or version 3, which are displayed below.
-
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
--------------------------------------------------------------------------
-
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
-
--------------------------------------------------------------------------
-
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-
--------------------------------------------------------------------------
-
- The QGLViewer library is Copyright (C) 2002-2014 Gilles Debunne.
diff --git a/SRC/QGLViewer/QGLViewer.pro b/SRC/QGLViewer/QGLViewer.pro
deleted file mode 100644
index cc60d6a..0000000
--- a/SRC/QGLViewer/QGLViewer.pro
+++ /dev/null
@@ -1,95 +0,0 @@
-######################################################################
-# qmake internal options
-######################################################################
-
-
-CONFIG           += warn_on
-CONFIG           += no_keywords
-CONFIG           += silent
-CONFIG           += release
-CONFIG           += staticlib
-
-QT +=  xml opengl 
-
-TEMPLATE  = lib
-TARGET    = ./BUILD/QGLViewer
-DESTDIR   = ./
-
-MOC_DIR     = ./BUILD/moc
-UI_DIR      = ./BUILD/ui
-OBJECTS_DIR = ./BUILD/obj
-RCC_DIR     = ./BUILD/rcc
-
-
-INCLUDEPATH = ./QGLViewer
-
-
-FORMS *= ./QGLViewer/VRenderInterface.ui
-
-HEADERS += ./QGLViewer/qglviewer.h \
-	  ./QGLViewer/camera.h \
-	  ./QGLViewer/manipulatedFrame.h \
-	  ./QGLViewer/manipulatedCameraFrame.h \
-	  ./QGLViewer/frame.h \
-	  ./QGLViewer/constraint.h \
-	  ./QGLViewer/keyFrameInterpolator.h \
-	  ./QGLViewer/mouseGrabber.h \
-	  ./QGLViewer/quaternion.h \
-	  ./QGLViewer/vec.h \
-	  ./QGLViewer/domUtils.h \
-	  ./QGLViewer/config.h \
-          ./QGLViewer/VRender/AxisAlignedBox.h \
-          ./QGLViewer/VRender/Exporter.h \
-          ./QGLViewer/VRender/gpc.h \
-          ./QGLViewer/VRender/NVector3.h \
-          ./QGLViewer/VRender/Optimizer.h \
-          ./QGLViewer/VRender/ParserGL.h \
-          ./QGLViewer/VRender/Primitive.h \
-          ./QGLViewer/VRender/PrimitivePositioning.h \
-          ./QGLViewer/VRender/SortMethod.h \
-          ./QGLViewer/VRender/Types.h \
-          ./QGLViewer/VRender/Vector2.h \
-          ./QGLViewer/VRender/Vector3.h \
-          ./QGLViewer/VRender/VRender.h
-
-
-SOURCES = ./QGLViewer/qglviewer.cpp \
-	  ./QGLViewer/camera.cpp \
-	  ./QGLViewer/manipulatedFrame.cpp \
-	  ./QGLViewer/manipulatedCameraFrame.cpp \
-	  ./QGLViewer/frame.cpp \
-	  ./QGLViewer/saveSnapshot.cpp \
-	  ./QGLViewer/constraint.cpp \
-	  ./QGLViewer/keyFrameInterpolator.cpp \
-	  ./QGLViewer/mouseGrabber.cpp \
-	  ./QGLViewer/quaternion.cpp \
-	  ./QGLViewer/vec.cpp \
-          ./QGLViewer/VRender/BackFaceCullingOptimizer.cpp \
-          ./QGLViewer/VRender/BSPSortMethod.cpp \
-          ./QGLViewer/VRender/EPSExporter.cpp \
-          ./QGLViewer/VRender/Exporter.cpp \
-          ./QGLViewer/VRender/FIGExporter.cpp \
-          ./QGLViewer/VRender/gpc.cpp \
-          ./QGLViewer/VRender/ParserGL.cpp \
-          ./QGLViewer/VRender/Primitive.cpp \
-          ./QGLViewer/VRender/PrimitivePositioning.cpp \
-          ./QGLViewer/VRender/TopologicalSortMethod.cpp \
-          ./QGLViewer/VRender/VisibilityOptimizer.cpp \
-          ./QGLViewer/VRender/Vector2.cpp \
-          ./QGLViewer/VRender/Vector3.cpp \
-          ./QGLViewer/VRender/NVector3.cpp \
-          ./QGLViewer/VRender/VRender.cpp
-
-
-
-
-  SOURCES *= \
-	
-
-  VRENDER_HEADERS = \
-	
-
-target.path = ./BUILD/lib
-include.path = ./BUILD/include/QGLViewer
-include.files = $${HEADERS}
-INSTALLS *= target include
diff --git a/SRC/QGLViewer/QGLViewer/ImageInterface.ui b/SRC/QGLViewer/QGLViewer/ImageInterface.ui
deleted file mode 100644
index db85b69..0000000
--- a/SRC/QGLViewer/QGLViewer/ImageInterface.ui
+++ /dev/null
@@ -1,297 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ImageInterface</class>
- <widget class="QDialog" name="ImageInterface">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>298</width>
-    <height>204</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Image settings</string>
-  </property>
-  <layout class="QVBoxLayout">
-   <property name="spacing">
-    <number>6</number>
-   </property>
-   <property name="margin">
-    <number>9</number>
-   </property>
-   <item>
-    <layout class="QHBoxLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <property name="margin">
-      <number>0</number>
-     </property>
-     <item>
-      <widget class="QLabel" name="label_2">
-       <property name="text">
-        <string>Width</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QSpinBox" name="imgWidth">
-       <property name="toolTip">
-        <string>Width of the image (in pixels)</string>
-       </property>
-       <property name="suffix">
-        <string> px</string>
-       </property>
-       <property name="minimum">
-        <number>1</number>
-       </property>
-       <property name="maximum">
-        <number>32000</number>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>20</width>
-         <height>22</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QLabel" name="label_3">
-       <property name="text">
-        <string>Height</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QSpinBox" name="imgHeight">
-       <property name="toolTip">
-        <string>Height of the image (in pixels)</string>
-       </property>
-       <property name="suffix">
-        <string> px</string>
-       </property>
-       <property name="minimum">
-        <number>1</number>
-       </property>
-       <property name="maximum">
-        <number>32000</number>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <property name="margin">
-      <number>0</number>
-     </property>
-     <item>
-      <widget class="QLabel" name="label_4">
-       <property name="text">
-        <string>Image quality</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QSpinBox" name="imgQuality">
-       <property name="toolTip">
-        <string>Between 0 (smallest files) and 100 (highest quality)</string>
-       </property>
-       <property name="minimum">
-        <number>0</number>
-       </property>
-       <property name="maximum">
-        <number>100</number>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>40</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-    </layout>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <property name="margin">
-      <number>0</number>
-     </property>
-     <item>
-      <widget class="QLabel" name="label">
-       <property name="text">
-        <string>Oversampling</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QDoubleSpinBox" name="oversampling">
-       <property name="toolTip">
-        <string>Antialiases image (when larger then 1.0)</string>
-       </property>
-       <property name="prefix">
-        <string>x </string>
-       </property>
-       <property name="decimals">
-        <number>1</number>
-       </property>
-       <property name="minimum">
-        <double>0.100000000000000</double>
-       </property>
-       <property name="maximum">
-        <double>64.000000000000000</double>
-       </property>
-       <property name="singleStep">
-        <double>1.000000000000000</double>
-       </property>
-       <property name="value">
-        <double>1.000000000000000</double>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>40</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-    </layout>
-   </item>
-   <item>
-    <widget class="QCheckBox" name="whiteBackground">
-     <property name="toolTip">
-      <string>Use white as background color</string>
-     </property>
-     <property name="text">
-      <string>Use white background</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QCheckBox" name="expandFrustum">
-     <property name="toolTip">
-      <string>When image aspect ratio differs from viewer's one, expand frustum as needed. Fits inside current frustum otherwise.</string>
-     </property>
-     <property name="text">
-      <string>Expand frustum if needed</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <spacer>
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>16</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <property name="margin">
-      <number>0</number>
-     </property>
-     <item>
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>131</width>
-         <height>31</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="okButton">
-       <property name="text">
-        <string>OK</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections>
-  <connection>
-   <sender>okButton</sender>
-   <signal>clicked()</signal>
-   <receiver>ImageInterface</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>135</x>
-     <y>184</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>96</x>
-     <y>254</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>clicked()</signal>
-   <receiver>ImageInterface</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>226</x>
-     <y>184</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>179</x>
-     <y>282</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/SRC/QGLViewer/QGLViewer/VRender/AxisAlignedBox.h b/SRC/QGLViewer/QGLViewer/VRender/AxisAlignedBox.h
deleted file mode 100644
index db401fd..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/AxisAlignedBox.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef _VRENDER_AXISALIGNEDBOX_H
-#define _VRENDER_AXISALIGNEDBOX_H
-
-namespace vrender
-{
-  class Vector2;
-  class Vector3;
-
-	template<class T> class AxisAlignedBox
-	{
-		public:
-			AxisAlignedBox() ;
-			AxisAlignedBox(const T& v) ;
-			AxisAlignedBox(const T& v,const T& w) ;
-
-			const T& mini() const { return _min ; }
-			const T& maxi() const { return _max ; }
-
-			void include(const T& v) ;
-			void include(const AxisAlignedBox<T>& b) ;
-		private:
-			T _min ;
-			T _max ;
-	};
-
-	typedef AxisAlignedBox< Vector2 > AxisAlignedBox_xy ;
-	typedef AxisAlignedBox< Vector3 > AxisAlignedBox_xyz ;
-
-	template<class T> AxisAlignedBox<T>::AxisAlignedBox()
-	: _min(T::inf), _max(-T::inf)
-	{
-	}
-
-	template<class T> AxisAlignedBox<T>::AxisAlignedBox(const T& v)
-		: _min(v), _max(v)
-	{
-	}
-
-	template<class T> AxisAlignedBox<T>::AxisAlignedBox(const T& v,const T& w)
-		: _min(v), _max(v)
-	{
-		include(w) ;
-	}
-
-	template<class T> void AxisAlignedBox<T>::include(const T& v)
-	{
-		_min = T::mini(_min,v) ;
-		_max = T::maxi(_max,v) ;
-	}
-
-	template<class T> void AxisAlignedBox<T>::include(const AxisAlignedBox<T>& b)
-	{
-		include(b._min) ;
-		include(b._max) ;
-	}
-}
-#endif
diff --git a/SRC/QGLViewer/QGLViewer/VRender/BSPSortMethod.cpp b/SRC/QGLViewer/QGLViewer/VRender/BSPSortMethod.cpp
deleted file mode 100644
index 7d43681..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/BSPSortMethod.cpp
+++ /dev/null
@@ -1,644 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "VRender.h"
-#include "Primitive.h"
-#include "SortMethod.h"
-#include "math.h" // fabs
-
-using namespace vrender;
-using namespace std;
-
-double EGALITY_EPS 		= 0.0001;
-double LINE_EGALITY_EPS = 0.0001;
-
-typedef enum { BSP_CROSS_PLANE, BSP_UPPER, BSP_LOWER } BSPPosition;
-
-class BSPNode;
-
-class BSPTree
-{
-	public:
-		BSPTree();
-		~BSPTree();
-
-		void insert(Polygone *);
-		void insert(Segment *);
-		void insert(Point *);
-
-		void recursFillPrimitiveArray(vector<PtrPrimitive>&) const;
-	private:
-		BSPNode *_root;
-		vector<Segment *> _segments;	// these are for storing segments and points when _root is null
-		vector<Point *> _points;
-};
-
-void BSPSortMethod::sortPrimitives(std::vector<PtrPrimitive>& primitive_tab,VRenderParams& vparams)
-{
-	// 1 - build BSP using polygons only
-
-	BSPTree tree;
-	Polygone *P;
-
-        unsigned int N = primitive_tab.size()/200 +1;
-	int nbinserted = 0;
-
-	vector<PtrPrimitive> segments_and_points;	// Store segments and points for pass 2, because polygons are deleted
-																// by the insertion and can not be dynamic_casted anymore.
-	for(unsigned int i=0;i<primitive_tab.size();++i,++nbinserted)
-	{
-		if((P = dynamic_cast<Polygone *>(primitive_tab[i])) != NULL)
-			tree.insert(P);
-		else
-			segments_and_points.push_back(primitive_tab[i]);
-
-		if(nbinserted%N==0)
-			vparams.progress(nbinserted/(float)primitive_tab.size(), QGLViewer::tr("BSP Construction"));
-	}
-
-	// 2 - insert points and segments into the BSP
-
-	Segment *S;
-	Point *p;
-
-	for(unsigned int j=0;j<segments_and_points.size();++j,++nbinserted)
-	{
-		if((S = dynamic_cast<Segment *>(segments_and_points[j])) != NULL)
-			tree.insert(S);
-		else if((p = dynamic_cast<Point *>(segments_and_points[j])) != NULL)
-			tree.insert(p);
-
-		if(nbinserted%N==0)
-			vparams.progress(nbinserted/(float)primitive_tab.size(), QGLViewer::tr("BSP Construction"));
-	}
-
-	// 3 - refill the array with the content of the BSP
-
-	primitive_tab.resize(0);
-	tree.recursFillPrimitiveArray(primitive_tab);
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////////////
-
-class BSPNode
-{
-	public:
-		BSPNode(Polygone *);
-		~BSPNode();
-
-		void recursFillPrimitiveArray(vector<PtrPrimitive>&) const;
-
-		void insert(Polygone *);
-		void insert(Segment *);
-		void insert(Point *);
-
-	private:
-		double a,b,c,d;
-
-		BSPNode *fils_moins;
-		BSPNode *fils_plus;
-
-		vector<Segment *> seg_plus;
-		vector<Segment *> seg_moins;
-
-		vector<Point *> pts_plus;
-		vector<Point *> pts_moins;
-
-		Polygone *polygone;
-
-		void Classify(Polygone *, Polygone * &, Polygone * &);
-		void Classify(Segment *, Segment * &, Segment * &);
-		int  Classify(Point *);
-
-		void initEquation(const Polygone *P,double & a, double & b, double & c, double & d);
-};
-
-BSPTree::BSPTree()
-{
-	_root = NULL;
-}
-
-BSPTree::~BSPTree()
-{
-	delete _root;
-}
-
-void BSPTree::insert(Point *P) 	{ if(_root == NULL) _points.push_back(P) 	; else _root->insert(P); }
-void BSPTree::insert(Segment *S) { if(_root == NULL) _segments.push_back(S); else _root->insert(S); }
-void BSPTree::insert(Polygone *P){ if(_root == NULL) _root = new BSPNode(P); else _root->insert(P); }
-
-void BSPTree::recursFillPrimitiveArray(vector<PtrPrimitive>& tab) const
-{
-	if(_root != NULL) _root->recursFillPrimitiveArray(tab);
-
-	for(unsigned int i=0;i<_points.size();++i) tab.push_back(_points[i]);
-	for(unsigned int j=0;j<_segments.size();++j) tab.push_back(_segments[j]);
-}
-
-//----------------------------------------------------------------------------//
-
-BSPNode::~BSPNode()
-{
-	delete fils_moins;
-	delete fils_plus;
-}
-
-int BSPNode::Classify(Point *P)
-{
-  double Z = P->sommet3DColor(0).x() * a + P->sommet3DColor(0).y() * b + P->sommet3DColor(0).z() * c - d;
-
-  if(Z > EGALITY_EPS)
-    return 1;
-  else
-    return -1;
-}
-
-void BSPNode::Classify(Segment *S, Segment * & moins_, Segment * & plus_)
-{
-	double Z1 = S->sommet3DColor(0).x() * a + S->sommet3DColor(0).y() * b + S->sommet3DColor(0).z() * c - d;
-	double Z2 = S->sommet3DColor(1).x() * a + S->sommet3DColor(1).y() * b + S->sommet3DColor(1).z() * c - d;
-
-	int s1, s2;
-
-	if(Z1 < -LINE_EGALITY_EPS)
-		s1 = -1;
-	else if(Z1 > EGALITY_EPS)
-		s1 = 1;
-	else
-		s1 = 0;
-
-	if(Z2 < -LINE_EGALITY_EPS)
-		s2 = -1;
-	else if(Z2 > EGALITY_EPS)
-		s2 = 1;
-	else
-		s2 = 0;
-
-	if(s1 == -s2)
-	{
-		if(s1 == 0)
-		{
-			moins_ = S;
-			plus_  = NULL;
-			return;
-		}
-		else
-		{
-			double t = fabs(Z1/(Z2 - Z1));
-
-			if((t < 0.0)||(t > 1.0))
-			{
-				if(t > 1.0) t = 0.999;
-				if(t < 0.0) t = 0.001;
-			}
-
-			Feedback3DColor newVertex((1-t)*S->sommet3DColor(0) + t*S->sommet3DColor(1));
-
-			if(s1 > 0)
-			{
-				plus_  = new Segment(S->sommet3DColor(0), newVertex);
-				moins_ = new Segment(newVertex, S->sommet3DColor(1));
-			}
-			else
-			{
-				plus_  = new Segment(newVertex, S->sommet3DColor(1));
-				moins_ = new Segment(S->sommet3DColor(0), newVertex);
-			}
-
-			delete S;
-			return;
-		}
-	}
-	else if(s1 == s2)
-	{
-		if(s1 == -1)
-		{
-			moins_ = S;
-			plus_ = NULL;
-			return;
-		}
-		else
-		{
-			moins_ = NULL;
-			plus_  = S;
-			return;
-		}
-	}
-	else if(s1 == 0)
-	{
-		if(s2 > 0)
-		{
-			moins_ = NULL;
-			plus_  = S;
-			return;
-		}
-		else
-		{
-			moins_ = S;
-			plus_  = NULL;
-			return;
-		}
-	}
-	else if(s2 == 0)
-	{
-		if(s1 > 0)
-		{
-			moins_ = NULL;
-			plus_  = S;
-			return;
-		}
-		else
-		{
-			moins_ = S;
-			plus_  = NULL;
-			return;
-		}
-	}
-	//else
-		//printf("BSPNode::Classify: unexpected classification case !!\n");
-}
-
-void BSPNode::Classify(Polygone *P, Polygone * & moins_, Polygone * & plus_)
-{
-	static int Signs[100];
-	static double Zvals[100];
-
-	moins_ = NULL;
-	plus_ = NULL;
-
-	if(P == NULL)
-	{
-		//printf("BSPNode::Classify: Error. Null polygon.\n");
-		return;
-	}
-
-	int n = P->nbVertices();
-
-	int Smin = 1;
-	int Smax = -1;
-
-	// On classe les sommets en fonction de leur signe
-
-	for(int i=0;i<n;i++)
-	{
-		double Z = P->vertex(i).x() * a + P->vertex(i).y() * b + P->vertex(i).z() * c - d;
-
-		if(Z < -EGALITY_EPS)
-			Signs[i] = -1;
-		else if(Z > EGALITY_EPS)
-			Signs[i] = 1;
-		else
-			Signs[i] = 0;
-
-		Zvals[i] = Z;
-
-		if(Smin > Signs[i]) Smin = Signs[i];
-		if(Smax < Signs[i]) Smax = Signs[i];
-	}
-
-	// Polygone inclus dans le plan
-
-	if((Smin == 0)&&(Smax == 0))
-	{
-		moins_ = P;
-		plus_  = NULL;
-		return;
-	}
-
-	// Polygone tout positif
-
-	if(Smin == 1)
-	{
-		plus_  = P;
-		moins_ = NULL;
-		return;
-	}
-
-	// Polygone tout negatif
-
-	if(Smax == -1)
-	{
-		plus_ = NULL;
-		moins_ = P;
-		return;
-	}
-
-	if((Smin == -1)&&(Smax == 0))
-	{
-		plus_ = NULL;
-		moins_ = P;
-		return;
-	}
-
-	if((Smin == 0)&&(Smax == 1))
-	{
-		plus_ = P;
-		moins_ = NULL;
-		return;
-	}
-
-	// Reste le cas Smin = -1 et Smax = 1. Il faut couper
-
-	vector<Feedback3DColor> Ps;
-	vector<Feedback3DColor> Ms;
-
-	// On teste la coherence des signes.
-
-	int nZero = 0;
-	int nconsZero = 0;
-
-	for(int j=0;j<n;j++)
-	{
-		if(Signs[j] == 0)
-		{
-			nZero++;
-
-			if(Signs[(j+1)%n] == 0)
-				nconsZero++;
-		}
-	}
-
-	if((nZero > 2)||(nconsZero > 0))
-	{
-		// Ils y a des imprecisions numeriques dues au fait que le poly estpres du plan.
-
-		moins_ = P;
-		plus_  = NULL;
-		return;
-	}
-
-	int dep=0;
-
-	while(Signs[dep] == 0) dep++;
-
-	int prev_sign = Signs[dep];
-
-	for(int k=1;k<=n;k++)
-	{
-		int sign = Signs[(k+dep)%n];
-
-		if(sign == prev_sign)
-		{
-			if(sign == 1)
-				Ps.push_back(P->sommet3DColor(k+dep));
-
-			if(sign == -1)
-				Ms.push_back(P->sommet3DColor(k+dep));
-		}
-		else if(sign == -prev_sign)
-		{
-			//  Il faut effectuer le calcul en utilisant les memes valeurs que pour le calcul des signes,
-			// sinon on risque des incoherences dues aux imprecisions numeriques.
-
-			double Z1 = Zvals[(k+dep-1)%n];
-			double Z2 = Zvals[(k+dep)%n];
-
-			double t = fabs(Z1/(Z2 - Z1));
-
-			if((t < 0.0)||(t > 1.0))
-			{
-				if(t > 1.0) t = 0.999;
-				if(t < 0.0) t = 0.001;
-			}
-
-			Feedback3DColor newVertex((1-t)*P->sommet3DColor(k+dep-1) + t*P->sommet3DColor(k+dep));
-
-			Ps.push_back(newVertex);
-			Ms.push_back(newVertex);
-
-			if(sign == 1)
-				Ps.push_back(P->sommet3DColor(k+dep));
-
-			if(sign == -1)
-				Ms.push_back(P->sommet3DColor(k+dep));
-
-			prev_sign = sign;
-		} // prev_sign != 0 donc necessairement sign = 0. Le sommet tombe dans le plan
-		else
-		{
-			Feedback3DColor newVertex = P->sommet3DColor(k+dep);
-
-			Ps.push_back(newVertex);
-			Ms.push_back(newVertex);
-
-			prev_sign = -prev_sign;
-		}
-	}
-
-	//if((Ps.size() > 100)||(Ms.size() > 100))
-		//printf("BSPNode::Classify: Error. nPs = %d, nMs = %d.\n",int(Ps.size()),int(Ms.size()));
-
-	//if(Ps.size() < 3)
-		//printf("BSPNode::Classify: Error. nPs = %d.\n",int(Ps.size()));
-
-	//if(Ms.size() < 3)
-		//printf("BSPNode::Classify: Error. nMs = %d.\n",int(Ms.size()));
-
-	// Les polygones sont convexes, car OpenGL les clip lui-meme.
-
-	//  Si les parents ne sont pas degeneres, plus et moins ne le
-	// sont pas non plus.
-
-	plus_  = new Polygone(Ps);
-	moins_ = new Polygone(Ms);
-
-	delete  P;
-}
-
-void BSPNode::insert(Polygone *P)
-{
-	Polygone *side_plus = NULL, *side_moins = NULL;
-
-	// 1 - Check on which size the polygon is, possibly split.
-
-	Classify(P,side_moins,side_plus);
-
-	// 2 - insert polygons
-
-	if(side_plus != NULL) {
-		if(fils_plus == NULL)
-			fils_plus = new BSPNode(side_plus);
-		else
-			fils_plus->insert(side_plus);
-	}
-	
-	if(side_moins != NULL) {
-		if(fils_moins == NULL)
-			fils_moins = new BSPNode(side_moins);
-		else
-			fils_moins->insert(side_moins);
-	}
-}
-
-void BSPNode::recursFillPrimitiveArray(vector<PtrPrimitive>& primitive_tab) const
-{
-  if(fils_plus != NULL)
-    fils_plus->recursFillPrimitiveArray(primitive_tab);
-
-  for(unsigned int i=0;i<seg_plus.size();++i)
-    primitive_tab.push_back(seg_plus[i]);
-  for(unsigned int j=0;j<pts_plus.size();++j)
-    primitive_tab.push_back(pts_plus[j]);
-
-  if(polygone != NULL)
-    primitive_tab.push_back(polygone);
-
-  if(fils_moins != NULL)
-    fils_moins->recursFillPrimitiveArray(primitive_tab);
-
-  for(unsigned int i2=0;i2<seg_moins.size();++i2)
-    primitive_tab.push_back(seg_moins[i2]);
-  for(unsigned int j2=0;j2<pts_moins.size();++j2)
-    primitive_tab.push_back(pts_moins[j2]);
-}
-
-void BSPNode::insert(Point *P)
-{
-	int res = Classify(P);
-
-	if(res == -1) {
-		if(fils_moins == NULL)
-			pts_moins.push_back(P);
-		else
-			fils_moins->insert(P);
-	}
-
-	if(res == 1) {
-		if(fils_plus == NULL)
-			pts_plus.push_back(P);
-		else
-			fils_plus->insert(P);
-	}
-}
-
-void BSPNode::insert(Segment *S)
-{
-	Segment *side_plus = NULL, *side_moins = NULL;
-
-	Classify(S,side_moins,side_plus);
-
-	if(side_plus != NULL) {
-		if(fils_plus == NULL)
-			seg_plus.push_back(side_plus);
-		else
-			fils_plus->insert(side_plus);
-	}
-
-	if(side_moins != NULL) {
-		if(fils_moins == NULL)
-			seg_moins.push_back(side_moins);
-		else
-			fils_moins->insert(side_moins);
-	}
-}
-
-BSPNode::BSPNode(Polygone *P)
-{
-  polygone = P;
-
-  initEquation(P,a,b,c,d);
-
-  fils_moins = NULL;
-  fils_plus  = NULL;
-}
-
-void BSPNode::initEquation(const Polygone *P,double & a, double & b, double & c, double & d)
-{
-	Vector3 n(0.,0.,0.);
-        unsigned int j = 0;
-
-	while((j < P->nbVertices())&& n.infNorm() <= 0.00001)
-	{
-		n = (P->vertex(j+2) - P->vertex(j+1))^(P->vertex(j) - P->vertex(j+1));
-		j++;
-	}
-
-	if(n.infNorm() <= 0.00001)
-	{
-                unsigned int ind = P->nbVertices();
-
-                for(unsigned int i=0;i<P->nbVertices();i++)
-			if((P->vertex(i+1)-P->vertex(i)).infNorm() > 0.00001)
-			{
-				ind = i;
-				i = P->nbVertices();
-			}
-
-		if(ind < P->nbVertices())	// the polygon is a true segment
-		{
-			if((P->vertex(ind+1).x() != P->vertex(ind).x())||(P->vertex(ind+1).y() != P->vertex(ind).y()))
-			{
-				n[0] = - P->vertex(ind+1).y() + P->vertex(ind).y();
-				n[1] =   P->vertex(ind+1).x() - P->vertex(ind).x();
-				n[2] =   0;
-			}
-			else
-			{
-				n[0] = - P->vertex(ind+1).z() + P->vertex(ind).z();
-				n[1] =   0;
-				n[2] =   P->vertex(ind+1).x() - P->vertex(ind).x();
-			}
-		}
-		else				// the polygon is a point
-		{
-			n[0] = 1.0;
-			n[1] = 0.0;
-			n[2] = 0.0;
-		}
-	}
-
-	double D = n.norm();
-
-	if(n[2] < 0.0)
-		n /= -D;
-	else
-		n /= D;
-
-	d = n*P->vertex(0);
-
-	a = n[0];
-	b = n[1];
-	c = n[2];
-}
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/BackFaceCullingOptimizer.cpp b/SRC/QGLViewer/QGLViewer/VRender/BackFaceCullingOptimizer.cpp
deleted file mode 100644
index 3cc0868..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/BackFaceCullingOptimizer.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include <vector>
-#include "VRender.h"
-#include "Optimizer.h"
-#include "Primitive.h"
-
-using namespace std ;
-using namespace vrender ;
-
-// Over-simplified algorithm to check wether a polygon is front-facing or not.
-// Only works for convex polygons.
-
-void BackFaceCullingOptimizer::optimize(std::vector<PtrPrimitive>& primitives_tab,VRenderParams&)
-{
-	Polygone *P ;
-	int nb_culled = 0 ;
-
-	for(size_t i=0;i<primitives_tab.size();++i)
-		if((P = dynamic_cast<Polygone *>(primitives_tab[i])) != NULL)
-		{
-						for(unsigned int j=0;j<P->nbVertices();++j)
-				if(( (P->vertex(j+2) - P->vertex(j+1))^(P->vertex(j+1) - P->vertex(j))).z() > 0.0 )
-				{
-					delete primitives_tab[i] ;
-					primitives_tab[i] = NULL ;
-					++nb_culled ;
-					break ;
-				}
-		}
-
-	// Rule out gaps. This avoids testing for null primitives later.
-
-	int j=0 ;
-	for(size_t k=0;k<primitives_tab.size();++k)
-		if(primitives_tab[k] != NULL)
-			primitives_tab[j++] = primitives_tab[k] ;
-
-	primitives_tab.resize(j) ;
-#ifdef DEBUG_BFC
-	cout << "Backface culling: " << nb_culled << " polygons culled." << endl ;
-#endif
-}
diff --git a/SRC/QGLViewer/QGLViewer/VRender/EPSExporter.cpp b/SRC/QGLViewer/QGLViewer/VRender/EPSExporter.cpp
deleted file mode 100644
index 9b4fa9e..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/EPSExporter.cpp
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include <stdio.h>
-#include "Primitive.h"
-#include "Exporter.h"
-#include "math.h"
-
-using namespace vrender ;
-using namespace std ;
-
-const double EPSExporter::EPS_GOURAUD_THRESHOLD = 0.05 ;
-const char *EPSExporter::CREATOR = "VRender library - (c) Cyril Soler 2005" ;
-
-float EPSExporter::last_r = -1.0 ;
-float EPSExporter::last_g = -1.0 ;
-float EPSExporter::last_b = -1.0 ;
-
-EPSExporter::EPSExporter()
-{
-	last_r = -1 ;
-	last_g = -1 ;
-	last_b = -1 ;
-}
-
-void EPSExporter::writeHeader(QTextStream& out) const
-{
-	/* Emit EPS header. */
-
-	out << "%!PS-Adobe-2.0 EPSF-2.0\n";
-
-	out << "%%%%HiResBoundingBox: " << _xmin << " " << _ymin << " " << _xmax << " " << _ymax << "\n";
-
-	out << "%%%%Creator: " << CREATOR << " (using OpenGL feedback)\n";
-	out << "%%EndComments\n\ngsave\n\n";
-
-	out << "%\n";
-	out << "% Contributors:\n";
-	out << "%\n";
-	out << "%   Frederic Delhoume (delhoume at ilog.fr):\n";
-	out << "%        Gouraud triangle PostScript fragment\n";
-	out << "%\n";
-	out << "%   Cyril Soler       (csoler at imag.fr):\n";
-	out << "%        BSP Sort,\n";
-	out << "%        Topological and advanced topological Sort,\n";
-	out << "%        Hidden surface removal,\n";
-	out << "%        Xfig3.2 (and EPS) format\n";
-	out << "%\n\n";
-
-	out << "/threshold " << EPS_GOURAUD_THRESHOLD << " def\n";
-
-	for(int i = 0; GOURAUD_TRIANGLE_EPS[i] != NULL; i++)
-		out << GOURAUD_TRIANGLE_EPS[i] << "\n";
-#ifdef A_VOIR
-	out <<  "\n" <<  << " setlinewidth\n\n", _lineWidth;
-#endif
-	/* Clear the background like OpenGL had it. */
-
-	if(_clearBG)
-	{
-		out << _clearR << " " << _clearG << " " << _clearB << " setrgbcolor\n";
-		out << _xmin << " " << _ymin << " " << _xmax << " " << _ymax << " rectfill\n\n";
-	}
-}
-
-void EPSExporter::writeFooter(QTextStream& out) const
-{
-	out << "grestore\n\n";
-
-	out << "% uncomment next line to be able to print to a printer.\n";
-	out << "% showpage\n";
-}
-
-void PSExporter::writeFooter(QTextStream& out) const
-{
-	out << "showpage\n";
-}
-
-const char *EPSExporter::GOURAUD_TRIANGLE_EPS[] =
-{
-	"/bd{bind def}bind def /triangle { aload pop   ",
-	"setrgbcolor aload pop 5 3 roll 4 2 roll 3 2 roll exch moveto lineto ",
-	"lineto closepath fill } bd /computediff1 { 2 copy sub abs threshold ",
-	"ge {pop pop pop true} { exch 2 index sub abs threshold ge { pop pop ",
-	"true} { sub abs threshold ge } ifelse } ifelse } bd /computediff3 { 3 ",
-	"copy 0 get 3 1 roll 0 get 3 1 roll 0 get computediff1 {true} { 3 copy ",
-	"1 get 3 1 roll 1 get 3 1 roll 1 get computediff1 {true} { 3 copy 2 ",
-	"get 3 1 roll  2 get 3 1 roll 2 get computediff1 } ifelse } ifelse } ",
-	"bd /middlecolor { aload pop 4 -1 roll aload pop 4 -1 roll add 2 div 5 ",
-	"1 roll 3 -1 roll add 2 div 3 1 roll add 2 div 3 1 roll exch 3 array ",
-	"astore } bd /gdt { computediff3 { 4 -1 roll aload 7 1 roll ",
-	"6 -1 roll pop 3 -1 roll pop add 2 div 3 1 roll add 2 div exch 3 -1 roll ",
-	"aload 7 1 roll exch pop 4 -1 roll pop add 2 div 3 1 roll add 2 div ",
-	"exch 3 -1 roll aload 7 1 roll pop 3 -1 roll pop add 2 div 3 1 roll add ",
-	"2 div exch 7 3 roll 10 -3 roll dup 3 index middlecolor 4 1 roll 2 copy ",
-	"middlecolor 4 1 roll 3 copy pop middlecolor 4 1 roll 13 -1 roll aload ",
-	"pop 17 index 6 index 15 index 19 index 6 index 17 index 6 array astore ",
-	"10 index 10 index 14 index gdt 17 index 5 index 17 index ",
-	"19 index 5 index 19 index 6 array astore 10 index 9 index 13 index ",
-	"gdt 13 index 16 index 5 index 15 index 18 index 5 index 6 ",
-	"array astore 12 index 12 index 9 index gdt 17 index 16 ",
-	"index 15 index 19 index 18 index 17 index 6 array astore 10 index 12 ",
-	"index 14 index gdt 18 {pop} repeat } { aload pop 5 3 roll ",
-	"aload pop 7 3 roll aload pop 9 3 roll 8 index 6 index 4 index add add 3 ",
-	"div 10 1 roll 7 index 5 index 3 index add add 3 div 10 1 roll 6 index 4 ",
-	"index 2 index add add 3 div 10 1 roll 9 {pop} repeat 3 array astore ",
-	"triangle } ifelse } bd",
-	NULL
-};
-
-void EPSExporter::spewPolygone(const Polygone *P, QTextStream& out)
-{
-	int nvertices;
-	GLfloat red, green, blue;
-	bool smooth;
-
-	nvertices = P->nbVertices() ;
-
-    const Feedback3DColor& vertex = Feedback3DColor(P->sommet3DColor(0)) ;
-
-	if(nvertices > 0)
-	{
-		red   = vertex.red();
-		green = vertex.green();
-		blue  = vertex.blue();
-
-		smooth = false;
-
-		for(int i=1;i < nvertices && !smooth; i++)
-			if(fabs(red - P->sommet3DColor(i).red()) > 0.01 || fabs(green - P->sommet3DColor(i).green()) > 0.01 || fabs(blue - P->sommet3DColor(i).blue()) > 0.01)
-				smooth = true;
-
-		if(smooth && !_blackAndWhite)
-		{
-			/* Smooth shaded polygon; varying colors at vertices. */
-			/* Break polygon into "nvertices-2" triangle fans. */
-
-			for (int j = 0; j < nvertices - 2; j++)
-			{
-				out <<  "[" << P->sommet3DColor(0).x() << " " << P->sommet3DColor(j + 1).x() << " " << P->sommet3DColor(j + 2).x() 
-					<< " "	<< P->sommet3DColor(0).y() << " " << P->sommet3DColor(j + 1).y() << " " << P->sommet3DColor(j + 2).y() << "]";
-
-				out <<  " [" << P->sommet3DColor(0    ).red() << " " << P->sommet3DColor(0    ).green() << " " << P->sommet3DColor(0    ).blue() 
-					<< "] [" << P->sommet3DColor(j + 1).red() << " " << P->sommet3DColor(j + 1).green() << " " << P->sommet3DColor(j + 1).blue() 
-					<< "] [" << P->sommet3DColor(j + 2).red() << " " << P->sommet3DColor(j + 2).green() << " " << P->sommet3DColor(j + 2).blue() << "] gdt\n";
-
-				last_r = last_g = last_b = -1.0 ;
-			}
-		}
-		else
-		{
-			/* Flat shaded polygon and white polygons; all vertex colors the same. */
-
-			out <<  "newpath\n";
-
-			if(_blackAndWhite)
-				setColor(out,1.0,1.0,1.0) ;
-			else
-				setColor(out,red,green,blue) ;
-
-			/* Draw a filled triangle. */
-
-			out << P->sommet3DColor(0).x() << " " << P->sommet3DColor(0).y() << " moveto\n";
-
-			for (int i = 1; i < nvertices; i++)
-				out << P->sommet3DColor(i).x() << " " << P->sommet3DColor(i).y() << " lineto\n";
-
-			out << "closepath fill\n\n";
-		}
-	}
-}
-
-void EPSExporter::spewSegment(const Segment *S, QTextStream& out)
-{
-  GLdouble dx, dy;
-  GLfloat dr, dg, db, absR, absG, absB, colormax;
-  int steps;
-  GLdouble xstep=0.0, ystep=0.0;
-  GLfloat rstep=0.0, gstep=0.0, bstep=0.0;
-  GLdouble xnext=0.0, ynext=0.0, distance=0.0;
-  GLfloat rnext=0.0, gnext=0.0, bnext=0.0;
-
-  const Feedback3DColor& P1 = Feedback3DColor(S->sommet3DColor(0)) ;
-  const Feedback3DColor& P2 = Feedback3DColor(S->sommet3DColor(1)) ;
-
-  dr = P2.red()   - P1.red();
-  dg = P2.green() - P1.green();
-  db = P2.blue()  - P1.blue();
-
-  if((!_blackAndWhite)&&(dr != 0 || dg != 0 || db != 0))
-  {
-	  /* Smooth shaded line. */
-
-	  dx = P2.x() - P1.x();
-	  dy = P2.y() - P1.y();
-
-	  distance = sqrt(dx*dx + dy*dy);
-
-	  absR = fabs(dr);
-	  absG = fabs(dg);
-	  absB = fabs(db);
-
-	  colormax = max(absR, max(absG, absB));
-	  steps = int(0.5f + max(1.0, colormax * distance * EPS_SMOOTH_LINE_FACTOR));
-
-	  xstep = dx / steps;
-	  ystep = dy / steps;
-
-	  rstep = dr / steps;
-	  gstep = dg / steps;
-	  bstep = db / steps;
-
-	  xnext = P1.x();
-	  ynext = P1.y();
-	  rnext = P1.red();
-	  gnext = P1.green();
-	  bnext = P1.blue();
-
-	  /* Back up half a step; we want the end points to be
-		  exactly the their endpoint colors. */
-
-	  xnext -= xstep / 2.0;
-	  ynext -= ystep / 2.0;
-	  rnext -= rstep / 2.0f;
-	  gnext -= gstep / 2.0f;
-	  bnext -= bstep / 2.0f;
-  }
-  else
-	  steps = 0; /* Single color line. */
-
-  if(_blackAndWhite)
-	  setColor(out,0.0,0.0,0.0) ;
-  else
-	  setColor(out,P1.red(),P1.green(),P1.blue()) ;
-
-  out << P1.x() << " " << P1.y() << " moveto\n";
-
-  for(int i = 0;i < steps;i++)
-  {
-	  xnext += xstep;
-	  ynext += ystep;
-	  rnext += rstep;
-	  gnext += gstep;
-	  bnext += bstep;
-
-	  out << xnext << " " << ynext << " lineto stroke\n";
-	  out << rnext << " " << gnext << " " << bnext << " setrgbcolor\n";
-	  out << xnext << " " << ynext << " moveto\n";
-
-	  last_r = last_g = last_b = -1.0 ;
-  }
-  out << P2.x() << " " << P2.y() << " lineto stroke\n";
-}
-
-void EPSExporter::spewPoint(const Point *P, QTextStream& out)
-{
-	const Feedback3DColor& p = Feedback3DColor(P->sommet3DColor(0)) ;
-
-	if(_blackAndWhite)
-		setColor(out,0.0,0.0,0.0) ;
-	else
-		setColor(out,p.red(),p.green(),p.blue()) ;
-
-	out << p.x() << " " << p.y() << " " << (_pointSize / 2.0) << " 0 360 arc fill\n\n";
-}
-
-void EPSExporter::setColor(QTextStream& out, float red, float green, float blue)
-{
-	if(last_r != red || last_g != green || last_b != blue)
-		out << red << " " << green << " " << blue << " setrgbcolor\n";
-
-	last_r = red ;
-	last_g = green ;
-	last_b = blue ;
-}
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/Exporter.cpp b/SRC/QGLViewer/QGLViewer/VRender/Exporter.cpp
deleted file mode 100644
index fe5c00c..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/Exporter.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "VRender.h"
-#include "Exporter.h"
-#include "../qglviewer.h"
-
-#include <QFile>
-#include <QMessageBox>
-
-using namespace vrender ;
-using namespace std ;
-
-Exporter::Exporter()
-{
-	_xmin=_xmax=_ymin=_ymax=_zmin=_zmax = 0.0 ;
-	_pointSize=1 ;
-}
-
-void Exporter::exportToFile(const QString& filename,
-							const vector<PtrPrimitive>& primitive_tab,
-							VRenderParams& vparams)
-{
-	QFile file(filename);
-
-	if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
-		QMessageBox::warning(NULL, QGLViewer::tr("Exporter error", "Message box window title"), QGLViewer::tr("Unable to open file %1.").arg(filename));
-		return;
-	}
-
-	QTextStream out(&file);
-
-	writeHeader(out) ;
-
-		unsigned int N = primitive_tab.size()/200 + 1 ;
-
-	for(unsigned int i=0;i<primitive_tab.size();++i)
-	{
-		Point *p = dynamic_cast<Point *>(primitive_tab[i]) ;
-		Segment *s = dynamic_cast<Segment *>(primitive_tab[i]) ;
-		Polygone *P = dynamic_cast<Polygone *>(primitive_tab[i]) ;
-
-		if(p != NULL) spewPoint(p,out) ;
-		if(s != NULL) spewSegment(s,out) ;
-		if(P != NULL) spewPolygone(P,out) ;
-
-		if(i%N == 0)
-			vparams.progress(i/(float)primitive_tab.size(),QGLViewer::tr("Exporting to file %1").arg(filename)) ;
-	}
-
-	writeFooter(out) ;
-
-	file.close();
-}
-
-void Exporter::setBoundingBox(float xmin,float ymin,float xmax,float ymax)
-{
-	_xmin = xmin ;
-	_ymin = ymin ;
-	_xmax = xmax ;
-	_ymax = ymax ;
-}
-
-void Exporter::setClearColor(float r, float g, float b) { _clearR=r; _clearG=g; _clearB=b; }
-void Exporter::setClearBackground(bool b) { _clearBG=b; }
-void Exporter::setBlackAndWhite(bool b) { _blackAndWhite = b; }
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/Exporter.h b/SRC/QGLViewer/QGLViewer/VRender/Exporter.h
deleted file mode 100644
index e01b7ee..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/Exporter.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef _VRENDER_EXPORTER_H
-#define _VRENDER_EXPORTER_H
-
-// Set of classes for exporting in various formats, like EPS, XFig3.2, SVG.
-
-#include "Primitive.h"
-
-#include "../config.h"
-#include <QTextStream>
-#include <QString>
-
-namespace vrender
-{
-	class VRenderParams ;
-	class Exporter
-	{
-		public:
-			Exporter() ;
-			virtual ~Exporter() {};
-
-			virtual void exportToFile(const QString& filename,const std::vector<PtrPrimitive>&,VRenderParams&) ;
-
-			void setBoundingBox(float xmin,float ymin,float xmax,float ymax) ;
-			void setClearColor(float r,float g,float b) ;
-			void setClearBackground(bool b) ;
-			void setBlackAndWhite(bool b) ;
-
-		protected:
-			virtual void spewPoint(const Point *, QTextStream& out) = 0 ;
-			virtual void spewSegment(const Segment *, QTextStream& out) = 0 ;
-			virtual void spewPolygone(const Polygone *, QTextStream& out) = 0 ;
-
-			virtual void writeHeader(QTextStream& out) const = 0 ;
-			virtual void writeFooter(QTextStream& out) const = 0 ;
-
-			float _clearR,_clearG,_clearB ;
-			float _pointSize ;
-			float _lineWidth ;
-
-			GLfloat _xmin,_xmax,_ymin,_ymax,_zmin,_zmax ;
-
-			bool _clearBG,_blackAndWhite ;
-	};
-
-	// Exports to encapsulated postscript.
-
-	class EPSExporter: public Exporter
-	{
-		public:
-			EPSExporter() ;
-			virtual ~EPSExporter() {};
-
-		protected:
-			virtual void spewPoint(const Point *, QTextStream& out) ;
-			virtual void spewSegment(const Segment *, QTextStream& out) ;
-			virtual void spewPolygone(const Polygone *, QTextStream& out) ;
-
-			virtual void writeHeader(QTextStream& out) const ;
-			virtual void writeFooter(QTextStream& out) const ;
-
-		private:
-			void setColor(QTextStream& out,float,float,float) ;
-
-			static const double EPS_GOURAUD_THRESHOLD ;
-			static const char *GOURAUD_TRIANGLE_EPS[] ;
-			static const char *CREATOR ;
-
-			static float last_r ;
-			static float last_g ;
-			static float last_b ;
-	};
-
-	//  Exports to postscript. The only difference is the filename extension and
-	// the showpage at the end.
-
-	class PSExporter: public EPSExporter
-	{
-		public:
-			virtual ~PSExporter() {};
-		protected:
-			virtual void writeFooter(QTextStream& out) const ;
-	};
-
-	class FIGExporter: public Exporter
-	{
-		public:
-			FIGExporter() ;
-			virtual ~FIGExporter() {};
-
-		protected:
-			virtual void spewPoint(const Point *, QTextStream& out) ;
-			virtual void spewSegment(const Segment *, QTextStream& out) ;
-			virtual void spewPolygone(const Polygone *, QTextStream& out) ;
-
-			virtual void writeHeader(QTextStream& out) const ;
-			virtual void writeFooter(QTextStream& out) const ;
-
-		private:
-			mutable int _sizeX ;
-			mutable int _sizeY ;
-			mutable int _depth ;
-
-			int FigCoordX(double) const ;
-			int FigCoordY(double) const ;
-			int FigGrayScaleIndex(float red, float green, float blue) const ;
-	};
-#ifdef A_FAIRE
-	class SVGExporter: public Exporter
-	{
-		protected:
-			virtual void spewPoint(const Point *, QTextStream& out) ;
-			virtual void spewSegment(const Segment *, QTextStream& out) ;
-			virtual void spewPolygone(const Polygone *, QTextStream& out) ;
-
-			virtual void writeHeader(QTextStream& out) const ;
-			virtual void writeFooter(QTextStream& out) const ;
-	};
-#endif
-}
-
-#endif
diff --git a/SRC/QGLViewer/QGLViewer/VRender/FIGExporter.cpp b/SRC/QGLViewer/QGLViewer/VRender/FIGExporter.cpp
deleted file mode 100644
index b741158..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/FIGExporter.cpp
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "Exporter.h"
-#include "math.h"
-
-using namespace vrender ;
-using namespace std ;
-
-int FIGExporter::FigCoordX(double x) const
-{
-	float MaxX = 12000 ;
-	float MaxY = MaxX * _sizeY/(float)_sizeX ;
-
-	if(MaxY > 7000)
-	{
-		MaxX *= 7000/(float)MaxY ;
-		MaxY = 7000 ;
-	}
-
-	return int(0.5f + x/_sizeX*MaxX) ;
-}
-
-int FIGExporter::FigCoordY(double y) const
-{
-	float MaxX = 12000 ;
-	float MaxY = MaxX * _sizeY/(float)_sizeX ;
-
-	if(MaxY > 7000)
-	{
-		MaxX *= 7000/(float)MaxY ;
-		MaxY = 7000 ;
-	}
-
-	return int(0.5f + (1.0 - y/_sizeY)*MaxY) ;
-}
-
-int FIGExporter::FigGrayScaleIndex(float red, float green, float blue) const
-{
-	float intensity = 0.3f*red+0.6f*green+0.1f*blue ;
-
-	return int(intensity * 20.0) ;
-}
-
-FIGExporter::FIGExporter()
-{
-}
-
-void FIGExporter::writeHeader(QTextStream& out) const
-{
-	out << "#FIG 3.2\nPortrait\nCenter\nInches\nLetter\n100.00\nSingle\n0\n1200 2\n";
-	_depth = 999 ;
-	_sizeX = int(0.5f + _xmax - _xmin) ;
-	_sizeY = int(0.5f + _ymax - _ymin) ;
-}
-
-void FIGExporter::writeFooter(QTextStream& out) const
-{
-	Q_UNUSED(out);
-}
-
-void FIGExporter::spewPoint(const Point *P, QTextStream& out)
-{
-	out << "2 1 0 5 0 7 " << (_depth--) << " 0 -1 0.000 0 1 -1 0 0 1\n";
-
-	out << "\t " << FigCoordX(P->vertex(0)[0]) << " " << FigCoordY(P->vertex(0)[1]) << "\n";
-	if(_depth > 0) _depth = 0 ;
-}
-
-void FIGExporter::spewSegment(const Segment *S, QTextStream& out)
-{
-	const Feedback3DColor& P1 = Feedback3DColor(S->sommet3DColor(0)) ;
-	const Feedback3DColor& P2 = Feedback3DColor(S->sommet3DColor(1)) ;
-
-	GLdouble dx, dy;
-	GLfloat dr, dg, db, absR, absG, absB, colormax;
-	int steps;
-	GLdouble xstep, ystep;
-	GLfloat rstep, gstep, bstep;
-	GLdouble xnext, ynext, distance;
-	GLfloat rnext, gnext, bnext;
-
-	dr = P2.red()   - P1.red();
-	dg = P2.green() - P1.green();
-	db = P2.blue()  - P1.blue();
-
-	if (dr != 0 || dg != 0 || db != 0)
-	{
-		/* Smooth shaded line. */
-
-		dx = P2.x() - P1.x();
-		dy = P2.y() - P1.y();
-
-		distance = sqrt(dx * dx + dy * dy);
-
-		absR = fabs(dr);
-		absG = fabs(dg);
-		absB = fabs(db);
-
-		colormax = max(absR, max(absG, absB));
-		steps = int(0.5f + max(1.0, colormax * distance * EPS_SMOOTH_LINE_FACTOR));
-
-		xstep = dx / steps;
-		ystep = dy / steps;
-
-		rstep = dr / steps;
-		gstep = dg / steps;
-		bstep = db / steps;
-
-		xnext = P1.x();
-		ynext = P1.y();
-		rnext = P1.red();
-		gnext = P1.green();
-		bnext = P1.blue();
-
-		/* Back up half a step; we want the end points to be
-   			exactly the their endpoint colors. */
-
-		xnext -= xstep / 2.0;
-		ynext -= ystep / 2.0;
-		rnext -= rstep / 2.0f;
-		gnext -= gstep / 2.0f;
-		bnext -= bstep / 2.0f;
-	}
-	else
-	{
-		/* Single color line. */
-		steps = 0;
-	}
-
-	out << "2 1 0 1 0 7 " << (_depth--) << " 0 -1 0.000 0 0 -1 0 0 2\n";
-	out << "\t " << FigCoordX(P1.x()) << " " << FigCoordY(P1.y());
-
-	out << " " << FigCoordX(P2.x()) << " " << FigCoordY(P2.y())<< "\n";
-	if(_depth > 0) _depth = 0 ;
-}
-
-void FIGExporter::spewPolygone(const Polygone *P, QTextStream& out)
-{
-	int nvertices;
-	GLfloat red, green, blue;
-
-	nvertices = P->nbVertices() ;
-
-	Feedback3DColor vertex(P->sommet3DColor(0)) ;
-
-	if (nvertices > 0)
-	{
-		red   = 0 ;
-		green = 0 ;
-		blue  = 0 ;
-
-		for(int i = 0; i < nvertices; i++)
-		{
-			red   += P->sommet3DColor(i).red() ;
-			green += P->sommet3DColor(i).green() ;
-			blue  += P->sommet3DColor(i).blue() ;
-		}
-
-		red   /= nvertices ;
-		green /= nvertices ;
-		blue  /= nvertices ;
-
-		/* Flat shaded polygon; all vertex colors the same. */
-
-		if(_blackAndWhite)
-			out << "2 3 0 0 0 7 " << (_depth--) << " 0 20 0.000 0 0 -1 0 0 " << (nvertices+1) << "\n";
-		else
-			out << "2 3 0 0 0 7 " << (_depth--) << " 0 " << (FigGrayScaleIndex(red,green,blue)) << " 0.000 0 0 -1 0 0 " << (nvertices+1) << "\n";
-
-		/* Draw a filled triangle. */
-
-		out << "\t";
-
-		for (int j = 0; j < nvertices; j++)
-			out << " " << FigCoordX(P->sommet3DColor(j).x()) << " " << FigCoordY(P->sommet3DColor(j).y());
-
-		out << " " << FigCoordX(P->sommet3DColor(0).x()) << " " << FigCoordY(P->sommet3DColor(0).y()) << "\n";
-	}
-
-	if(_depth > 0) _depth = 0 ;
-}
-
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/NVector3.cpp b/SRC/QGLViewer/QGLViewer/VRender/NVector3.cpp
deleted file mode 100644
index 80864a9..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/NVector3.cpp
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "NVector3.h"
-#include "Vector3.h"
-
-using namespace vrender;
-
-NVector3::NVector3(const Vector3 &u,bool normalization)
-{
-  setXYZ(u[0],u[1],u[2],normalization);
-}
-/*
-Vector3 operator+(const NVector3 &u,const Vector3  &v)
-{
-  return Vector3(u[0]+v[0],u[1]+v[1],u[2]+v[2]);
-}
-
-Vector3 operator+(const Vector3  &u,const NVector3 &v)
-{
-  return Vector3(u[0]+v[0],u[1]+v[1],u[2]+v[2]);
-}
-
-Vector3 operator+(const NVector3 &u,const NVector3 &v)
-{
-  return Vector3(u[0]+v[0],u[1]+v[1],u[2]+v[2]);
-}
-
-Vector3 operator-(const NVector3 &u,const Vector3  &v)
-{
-  return Vector3(u[0]-v[0],u[1]-v[1],u[2]-v[2]);
-}
-
-Vector3 operator-(const Vector3  &u,const NVector3 &v)
-{
-  return Vector3(u[0]-v[0],u[1]-v[1],u[2]-v[2]);
-}
-
-Vector3 operator-(const NVector3 &u,const NVector3 &v)
-{
-  return Vector3(u[0]-v[0],u[1]-v[1],u[2]-v[2]);
-}
-*/
-double vrender::operator*(const NVector3 &u,const Vector3  &v)
-{
-  return u[0]*v[0] + u[1]*v[1] + u[2]*v[2];
-}
-
-double vrender::operator*(const Vector3  &u,const NVector3 &v)
-{
-  return u[0]*v[0] + u[1]*v[1] + u[2]*v[2];
-}
-/*
-double operator*(const NVector3 &u,const NVector3 &v)
-{
-  return u[0]*v[0] + u[1]*v[1] + u[2]*v[2];
-}
-
-Vector3 operator*(double r,const NVector3 &u)
-{
-  return Vector3(r*u[0],r*u[1],r*u[2]);
-}
-
-Vector3 operator/(const NVector3 &u,double r)
-{
-  return Vector3(u[0]/r,u[1]/r,u[2]/r);
-}
-
-
-Vector3 operator^(const NVector3 &u,const Vector3  &v)
-{
-  return Vector3(	u[1]*v[2]-u[2]*v[1],
-			u[2]*v[0]-u[0]*v[2],
-			u[0]*v[1]-u[1]*v[0]);
-}
-
-Vector3 operator^(const Vector3  &u,const NVector3 &v)
-{
-  return Vector3(	u[1]*v[2]-u[2]*v[1],
-			u[2]*v[0]-u[0]*v[2],
-			u[0]*v[1]-u[1]*v[0]);
-}
-
-Vector3 operator^(const NVector3 &u,const NVector3 &v)
-{
-  return Vector3(	u[1]*v[2]-u[2]*v[1],
-			u[2]*v[0]-u[0]*v[2],
-			u[0]*v[1]-u[1]*v[0]);
-}
-*/
-// -----------------------------------------------------------------------------
-//! Default constructor (the default normalized vector is (1,0,0))
-NVector3::NVector3()
-{
-  _n[0] = 1.0;
-  _n[1] = 0.0;
-  _n[2] = 0.0;
-}
-
-// -----------------------------------------------------------------------------
-//! Copy constructor
-NVector3::NVector3(const NVector3& u)
-{
-  _n[0] = u._n[0] ;
-  _n[1] = u._n[1] ;
-  _n[2] = u._n[2] ;
-}
-// -----------------------------------------------------------------------------
-//! Writing X,Y and Z coordinates
-void NVector3::setXYZ(double x,double y,double z,bool normalization)
-{
-  _n[0] = x;
-  _n[1] = y;
-  _n[2] = z;
-  if ( normalization ) normalize();
-}
-
-// -----------------------------------------------------------------------------
-//! Assignment
-NVector3& NVector3::operator=(const NVector3& u)
-{
-  if ( &u != this )
-    {
-	_n[0] = u[0];
-	_n[1] = u[1];
-	_n[2] = u[2];
-    }
-  return *this;
-}
-// -----------------------------------------------------------------------------
-//! Out stream override: prints the 3 normalized vector components
-std::ostream& operator<<(std::ostream& out,const NVector3& u)
-{
-  out << u[0] << " " << u[1] << " " << u[2];
-  return out;
-}
-
-// -----------------------------------------------------------------------------
-//! Normalization
-//! Private method to do normalization (using Norm() method of the Vector class)
-//! when it is necessary (construction of a normalized vector for exemple).
-void NVector3::normalize()
-{
-  double n = _n[0]*_n[0]+_n[1]*_n[1]+_n[2]*_n[2] ;
-
-  if ( n > 0.0 )
-    {
-	_n[0] /= n;
-	_n[1] /= n;
-	_n[2] /= n;
-    }
-  else
-    throw std::runtime_error("Attempt to normalize a null 3D vector.") ;
-}
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/NVector3.h b/SRC/QGLViewer/QGLViewer/VRender/NVector3.h
deleted file mode 100644
index cac62e4..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/NVector3.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef _VRENDER_NVECTOR3_H
-#define _VRENDER_NVECTOR3_H
-
-#include <iostream>
-#include <stdexcept>
-
-namespace vrender
-{
-  class Vector3;
-
-  class NVector3
-  {
-  public:
-    NVector3();
-    NVector3(const NVector3& u);
-    inline NVector3(double x,double y,double z,bool normalization=true)
-    {
-      setXYZ(x,y,z,normalization);
-    }
-
-    NVector3(const Vector3 &u,bool normalization=true);
-
-    inline double x() const {return _n[0];}
-    inline double y() const {return _n[1];}
-    inline double z() const {return _n[2];}
-    void setXYZ(double x,double y,double z,bool normalization=true);
-
-    NVector3& operator=(const NVector3& u);
-    /*
-      inline friend bool operator==(const NVector3 &u,const Vector3  &v) {return u.isEqualTo(v);}
-      inline friend bool operator==(const Vector3  &u,const NVector3 &v) {return v.isEqualTo(u);}
-      inline friend bool operator==(const NVector3 &u,const NVector3 &v) {return u.isEqualTo(v);}
-      inline friend bool operator!=(const NVector3 &u,const Vector3  &v) {return !(u == v);}
-      inline friend bool operator!=(const Vector3  &u,const NVector3 &v) {return !(u == v);}
-      inline friend bool operator!=(const NVector3 &u,const NVector3 &v) {return !(u == v);}
-    */
-
-    inline friend NVector3 operator-(const NVector3 &u) { return NVector3(-u[0],-u[1],-u[2],false); }
-    //inline friend Vector3 operator+(const NVector3 &u,const Vector3  &v);
-    //inline friend Vector3 operator+(const Vector3  &u,const NVector3 &v);
-    //inline friend Vector3 operator+(const NVector3 &u,const NVector3 &v);
-    //inline friend Vector3 operator-(const NVector3 &u,const Vector3  &v);
-    //inline friend Vector3 operator-(const Vector3  &u,const NVector3 &v);
-    //inline friend Vector3 operator-(const NVector3 &u,const NVector3 &v);
-    friend double operator*(const NVector3 &u,const Vector3  &v);
-    friend double operator*(const Vector3  &u,const NVector3 &v);
-    //inline friend double operator*(const NVector3 &u,const NVector3 &v);
-    //inline friend Vector3 operator*(double r,const NVector3 &u);
-    //inline friend Vector3 operator/(const NVector3 &u,double r);
-
-    //inline friend Vector3 operator^(const NVector3 &u,const Vector3  &v);
-    //inline friend Vector3 operator^(const Vector3  &u,const NVector3 &v);
-    //inline friend Vector3 operator^(const NVector3 &u,const NVector3 &v);
-
-    inline double norm() const {return 1.0;}
-    inline double squareNorm() const {return 1.0;}
-    friend std::ostream& operator<<(std::ostream &out,const NVector3 &u);
-
-    double operator[](int i) const
-    {
-      if((i < 0)||(i > 2))
-	throw std::runtime_error("Out of bounds in NVector3::operator[]") ;
-
-      return _n[i];
-    }
-
-  private:
-    void normalize();
-
-    double _n[3];  //!< normalized vector
-
-  }; // interface of NVector3
-
-}
-
-#endif // _NVECTOR3_H
diff --git a/SRC/QGLViewer/QGLViewer/VRender/Optimizer.h b/SRC/QGLViewer/QGLViewer/VRender/Optimizer.h
deleted file mode 100644
index be344b4..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/Optimizer.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef _OPTIMIZER_H
-#define _OPTIMIZER_H
-
-#include "Types.h"
-
-namespace vrender
-{
-	// Implements some global optimizations on the polygon sorting.
-
-	class VRenderParams ;
-	class Optimizer
-	{
-		public:
-			virtual void optimize(std::vector<PtrPrimitive>&,VRenderParams&) = 0 ;
-			virtual ~Optimizer() {} ;
-	};
-
-	//  Optimizes visibility by culling primitives which do not appear in the
-	// rendered image. Computations are done analytically rather than using an item
-	// buffer.
-
-	class VisibilityOptimizer: public Optimizer
-	{
-		public:
-			virtual void optimize(std::vector<PtrPrimitive>&,VRenderParams&) ;
-			virtual ~VisibilityOptimizer() {} ;
-	};
-
-	//  Optimizes by collapsing together primitives which can be, without
-	// perturbating the back to front painting algorithm.
-
-	class PrimitiveSplitOptimizer: public Optimizer
-	{
-		public:
-			virtual void optimize(std::vector<PtrPrimitive>&,VRenderParams&) {}
-			virtual ~PrimitiveSplitOptimizer() {} ;
-	};
-
-	class BackFaceCullingOptimizer: public Optimizer
-	{
-		public:
-			virtual void optimize(std::vector<PtrPrimitive>&,VRenderParams&) ;
-			virtual ~BackFaceCullingOptimizer() {} ;
-	};
-}
-
-#endif
diff --git a/SRC/QGLViewer/QGLViewer/VRender/ParserGL.cpp b/SRC/QGLViewer/QGLViewer/VRender/ParserGL.cpp
deleted file mode 100644
index 4afe15d..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/ParserGL.cpp
+++ /dev/null
@@ -1,481 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-
-#include "VRender.h"
-#include "ParserGL.h"
-
-using namespace vrender ;
-using namespace std;
-
-class ParserUtils
-{
-	public:
-		static void NormalizeBufferCoordinates(GLint size, GLfloat * buffer, GLfloat MaxSize, GLfloat& zmin, GLfloat& zmax) ;
-
-		static PtrPrimitive checkPoint(Point *& P);
-		static PtrPrimitive checkSegment(Segment *& P);
-		static PtrPrimitive checkPolygon(Polygone *& P);
-
-		static void ComputeBufferBB(GLint size, GLfloat * buffer,
-				GLfloat & xmin, GLfloat & xmax,
-				GLfloat & ymin, GLfloat & ymax,
-				GLfloat & zmin, GLfloat & zmax) ;
-
-	private:
-		static void print3DcolorVertex(GLint size, GLint * count, GLfloat * buffer) ;
-		static void debug_printBuffer(GLint size, GLfloat *buffer) ;
-
-		static void NormalizePrimitiveCoordinates(GLfloat * & loc,GLfloat MaxSize,GLfloat zmin,GLfloat zmax) ;
-		static void ComputePrimitiveBB(	GLfloat * & loc,
-				GLfloat & xmin,GLfloat & xmax,
-				GLfloat & ymin,GLfloat & ymax,
-				GLfloat & zmin,GLfloat & zmax);
-
-		static const char *nameOfToken(int token);
-
-		static const double EGALITY_EPS ;
-};
-
-const double ParserUtils::EGALITY_EPS = 0.00001 ;
-
-void ParserGL::parseFeedbackBuffer(	GLfloat *buffer,int size,
-												std::vector<PtrPrimitive>& primitive_tab,
-												VRenderParams& vparams)
-{
-	int token;
-	int nvertices = 0 ;
-	nb_lines = 0 ;
-	nb_polys = 0 ;
-	nb_points = 0 ;
-	nb_degenerated_lines = 0 ;
-	nb_degenerated_polys = 0 ;
-	nb_degenerated_points = 0 ;
-
-	// pre-treatment of coordinates so as to get something more consistent
-
-	_xmin = FLT_MAX ;
-	_ymin = FLT_MAX ;
-	_zmin = FLT_MAX ;
-	_xmax = -FLT_MAX ;
-	_ymax = -FLT_MAX ;
-	_zmax = -FLT_MAX ;
-
-	ParserUtils::ComputeBufferBB(size, buffer, _xmin,_xmax,_ymin,_ymax,_zmin,_zmax) ;
-
-#ifdef DEBUGEPSRENDER
-	printf("Buffer bounding box: %f %f %f %f %f %f\n",xmin,xmax,ymin,ymax,zmin,zmax) ;
-#endif
-	float Zdepth = max(_ymax-_ymin,_xmax-_xmin) ;
-	ParserUtils::NormalizeBufferCoordinates(size,buffer,Zdepth,_zmin,_zmax) ;
-
-	// now, read buffer
-	GLfloat *end = buffer + size;
-
-	GLfloat *loc = buffer ;
-	int next_step = 0 ;
-	int N = size/200 + 1 ;
-
-	while (loc < end)
-	{
-		token = int(0.5f + *loc) ;
-		loc++;
-
-		if((end-loc)/N >= next_step)
-			vparams.progress((end-loc)/(float)size, QGLViewer::tr("Parsing feedback buffer.")), ++next_step ;
-
-		switch (token)
-		{
-			case GL_LINE_TOKEN:
-			case GL_LINE_RESET_TOKEN:
-				{
-					Segment *S = new Segment(Feedback3DColor(loc),Feedback3DColor(loc+Feedback3DColor::sizeInBuffer())) ;
-
-					primitive_tab.push_back(ParserUtils::checkSegment(S)) ;
-
-					if(S == NULL)
-						nb_degenerated_lines++ ;
-
-					nb_lines++ ;
-					loc += 2*Feedback3DColor::sizeInBuffer();
-				}
-				break;
-
-			case GL_POLYGON_TOKEN:
-				{
-					nvertices = int(0.5f + *loc) ;
-					loc++;
-
-					std::vector<Feedback3DColor> verts ;
-
-					for(int i=0;i<nvertices;++i)
-						verts.push_back(Feedback3DColor(loc)),loc+=Feedback3DColor::sizeInBuffer() ;
-
-					Polygone *P = new Polygone(verts) ;
-
-					primitive_tab.push_back(ParserUtils::checkPolygon(P)) ;
-
-					if(P == NULL)
-						nb_degenerated_polys++ ;
-
-					nb_polys++ ;
-				}
-				break ;
-
-			case GL_POINT_TOKEN:
-				{
-					Point *Pt = new Point(Feedback3DColor(loc)) ;
-
-					primitive_tab.push_back(Pt);//ParserUtils::checkPoint(Pt)) ;
-
-					if(Pt == NULL)
-						nb_degenerated_points++ ;
-
-					nb_points++ ;
-					loc += Feedback3DColor::sizeInBuffer();
-				}
-				break;
-			default:
-				break;
-		}
-	}
-
-}
-
-// Traitement des cas degeneres. Renvoie false si le polygone est degenere.
-// Traitement des cas degeneres. Renvoie false si le segment est degenere.
-
-PtrPrimitive ParserUtils::checkPoint(Point *& P)
-{
-	return P ;
-}
-
-PtrPrimitive ParserUtils::checkSegment(Segment *& P)
-{
-	if((P->vertex(0) - P->vertex(1)).infNorm() < EGALITY_EPS)
-	{
-		Point *pp = new Point(P->sommet3DColor(0)) ;
-		delete P ;
-		P = NULL ;
-
-		return checkPoint(pp) ;
-	}
-
-	return P ;
-}
-
-PtrPrimitive ParserUtils::checkPolygon(Polygone *& P)
-{
-	if(P->nbVertices() != 3)
-	{
-		cout << "unexpected case: Polygon with " << P->nbVertices() << " vertices !" << endl ;
-		delete P ;
-		return NULL ;
-	}
-
-	if(P->FlatFactor() < FLAT_POLYGON_EPS)
-	{
-		// On ne traite que le cas du triangle plat, vu qu'on est sur d'avoir un triangle
-
-		size_t n = P->nbVertices() ;
-
-		for(size_t i=0;i<n;++i)
-			if( (P->vertex(i) - P->vertex((i+1)%n)).norm() > EGALITY_EPS)
-			{
-				Segment *pp = new Segment(P->sommet3DColor((i+1)%n),P->sommet3DColor((i+2)%n)) ;
-				delete P ;
-				P = NULL ;
-
-				return checkSegment(pp) ;
-			}
-
-		Point *pp = new Point(P->sommet3DColor(0)) ;
-		delete P ;
-		P = NULL ;
-
-		return checkPoint(pp) ;
-	}
-
-	// No problem detected.
-
-	return P ;
-}
-
-
-/* Write contents of one vertex to stdout. */
-
-void ParserUtils::print3DcolorVertex(GLint size, GLint * count, GLfloat * buffer)
-{
-	printf("  ");
-	for (size_t i = 0; i < Feedback3DColor::sizeInBuffer(); i++)
-	{
-		printf("%4.2f ", buffer[size - (*count)]);
-		*count = *count - 1;
-	}
-	printf("\n");
-}
-
-void ParserUtils::debug_printBuffer(GLint size, GLfloat * buffer)
-{
-	GLint count;
-	int token, nvertices;
-
-	count = size;
-	while (count) {
-		token = int(buffer[size - count]);
-		count--;
-		switch (token)
-		{
-			case GL_PASS_THROUGH_TOKEN:
-				printf("GL_PASS_THROUGH_TOKEN\n");
-				printf("  %4.2f\n", buffer[size - count]);
-				count--;
-				break;
-			case GL_POINT_TOKEN:
-				printf("GL_POINT_TOKEN\n");
-				print3DcolorVertex(size, &count, buffer);
-				break;
-			case GL_LINE_TOKEN:
-				printf("GL_LINE_TOKEN\n");
-				print3DcolorVertex(size, &count, buffer);
-				print3DcolorVertex(size, &count, buffer);
-				break;
-			case GL_LINE_RESET_TOKEN:
-				printf("GL_LINE_RESET_TOKEN\n");
-				print3DcolorVertex(size, &count, buffer);
-				print3DcolorVertex(size, &count, buffer);
-				break;
-			case GL_POLYGON_TOKEN:
-				printf("GL_POLYGON_TOKEN\n");
-				nvertices = int(buffer[size - count]) ;
-				count--;
-				for (; nvertices > 0; nvertices--)
-					print3DcolorVertex(size, &count, buffer);
-		}
-	}
-}
-
-void ParserUtils::NormalizePrimitiveCoordinates(GLfloat * & loc,GLfloat MaxSize,GLfloat zmin,GLfloat zmax)
-{
-	int token;
-	int nvertices, i;
-
-	token = int(*loc) ;
-	loc++;
-	int size = Feedback3DColor::sizeInBuffer() ;
-
-	switch (token)
-	{
-		case GL_LINE_RESET_TOKEN:
-		case GL_LINE_TOKEN:
-			{
-				for (i = 0; i < 2; i++)
-					(loc+size*i)[2] = ((loc+size*i)[2] - zmin)/(zmax-zmin)*MaxSize ;
-
-				loc += 2*size;          /* Each vertex element in the feedback buffer is size GLfloats. */
-				break;
-			}
-		case GL_POLYGON_TOKEN:
-			{
-				nvertices = int(*loc) ;
-				loc++;
-
-				for (i = 0; i < nvertices; i++)
-					(loc+size*i)[2] = ((loc+size*i)[2] - zmin)/(zmax-zmin)*MaxSize ;
-
-				loc += nvertices * size;  /* Each vertex element in the feedback buffer is size GLfloats. */
-				break;
-			}
-		case GL_POINT_TOKEN:
-			{
-				loc[2] = (loc[2] - zmin)/(zmax-zmin)*MaxSize ;
-
-				loc += size;           /* Each vertex element in the feedback buffer is size GLfloats. */
-				break;
-			}
-		default:
-			/* XXX Left as an excersie to the reader. */
-#ifdef DEBUGEPSRENDER
-			printf("%s (%d) not handled yet. Sorry.\n", ParserUtils::nameOfToken(token), token);
-#endif
-			;
-	}
-}
-
-void ParserUtils::ComputePrimitiveBB(GLfloat * & loc,GLfloat & xmin,GLfloat & xmax,GLfloat & ymin,GLfloat & ymax, GLfloat & zmin,GLfloat & zmax)
-{
-	int token;
-	int nvertices, i;
-
-	token = int(*loc) ;
-	loc++;
-	int size = Feedback3DColor::sizeInBuffer() ;
-
-	switch (token)
-	{
-		case GL_LINE_RESET_TOKEN:
-		case GL_LINE_TOKEN:
-			{
-				for (i = 0; i < 2; i++)
-				{
-					Feedback3DColor f(loc+size*i) ;
-
-					if(f.x() < xmin) xmin = GLfloat(f.x()) ;
-					if(f.y() < ymin) ymin = GLfloat(f.y()) ;
-					if(f.z() < zmin) zmin = GLfloat(f.z()) ;
-					if(f.x() > xmax) xmax = GLfloat(f.x()) ;
-					if(f.y() > ymax) ymax = GLfloat(f.y()) ;
-					if(f.z() > zmax) zmax = GLfloat(f.z()) ;
-				}
-
-				loc += 2*size;          /* Each vertex element in the feedback
-													buffer is size GLfloats. */
-				break;
-			}
-		case GL_POLYGON_TOKEN:
-			{
-				nvertices = int(*loc) ;
-				loc++;
-
-				for (i = 0; i < nvertices; i++)
-				{
-					Feedback3DColor f(loc+size*i) ;
-
-					if(f.x() < xmin) xmin = GLfloat(f.x()) ;
-					if(f.y() < ymin) ymin = GLfloat(f.y()) ;
-					if(f.z() < zmin) zmin = GLfloat(f.z()) ;
-					if(f.x() > xmax) xmax = GLfloat(f.x()) ;
-					if(f.y() > ymax) ymax = GLfloat(f.y()) ;
-					if(f.z() > zmax) zmax = GLfloat(f.z()) ;
-				}
-
-				loc += nvertices * size;  /* Each vertex element in the
-													  feedback buffer is size GLfloats. */
-				break;
-			}
-		case GL_POINT_TOKEN:
-			{
-				Feedback3DColor f(loc) ;
-
-				if(f.x() < xmin) xmin = GLfloat(f.x()) ;
-				if(f.y() < ymin) ymin = GLfloat(f.y()) ;
-				if(f.z() < zmin) zmin = GLfloat(f.z()) ;
-				if(f.x() > xmax) xmax = GLfloat(f.x()) ;
-				if(f.y() > ymax) ymax = GLfloat(f.y()) ;
-				if(f.z() > zmax) zmax = GLfloat(f.z()) ;
-
-				loc += size;           /* Each vertex element in the feedback
-												  buffer is size GLfloats. */
-				break;
-			}
-		default:
-			/* XXX Left as an excersie to the reader. */
-#ifdef DEBUGEPSRENDER
-			printf("Incomplete implementation.  Unexpected token (%d).\n", token);
-#endif
-			;
-	}
-}
-
-void ParserUtils::NormalizeBufferCoordinates(GLint size, GLfloat * buffer, GLfloat MaxSize, GLfloat& zmin,GLfloat& zmax)
-{
-	GLfloat *loc, *end;
-
-	if(zmax == zmin)
-	{
-#ifdef DEBUGEPSRENDER
-		printf("Warning: zmin = zmax in NormalizePrimitiveCoordinates\n") ;
-#endif
-		return ;
-	}
-
-	loc = buffer;
-	end = buffer + size;
-
-	while (loc < end)
-		NormalizePrimitiveCoordinates(loc,MaxSize,zmin,zmax);
-
-	zmin = 0.0 ;
-	zmax = MaxSize ;
-}
-
-void ParserUtils::ComputeBufferBB(GLint size, GLfloat * buffer,
-		     GLfloat & xmin, GLfloat & xmax,
-		     GLfloat & ymin, GLfloat & ymax,
-		     GLfloat & zmin, GLfloat & zmax)
-{
-	GLfloat *loc, *end;
-
-	loc = buffer;
-	end = buffer + size;
-
-	while (loc < end)
-		ComputePrimitiveBB(loc,xmin,xmax,ymin,ymax,zmin,zmax);
-}
-
-typedef struct _DepthIndex {
-  GLfloat *ptr;
-  GLfloat depth;
-} DepthIndex;
-
-const char *ParserUtils::nameOfToken(int token)
-{
-	switch(token)
-	{
-		case GL_PASS_THROUGH_TOKEN: 	return "GL_PASS_THROUGH_TOKEN" ;
-		case GL_POINT_TOKEN: 			return "GL_POINT_TOKEN" ;
-		case GL_LINE_TOKEN: 				return "GL_LINE_TOKEN" ;
-		case GL_POLYGON_TOKEN: 			return "GL_POLYGON_TOKEN" ;
-		case GL_BITMAP_TOKEN: 			return "GL_BITMAP_TOKEN" ;
-		case GL_DRAW_PIXEL_TOKEN:		return "GL_DRAW_PIXEL_TOKEN" ;
-		case GL_COPY_PIXEL_TOKEN:		return "GL_COPY_PIXEL_TOKEN" ;
-		case GL_LINE_RESET_TOKEN:		return "GL_LINE_RESET_TOKEN" ;
-		default:
-										  		return "(Unidentified token)" ;
-	}
-}
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/ParserGL.h b/SRC/QGLViewer/QGLViewer/VRender/ParserGL.h
deleted file mode 100644
index 2374a78..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/ParserGL.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef _VRENDER_PARSERGL_H
-#define _VRENDER_PARSERGL_H
-
-//  This class implements the conversion from OpenGL feedback buffer into more
-// usable data structures such as points, segments, and polygons (See Primitive.h)
-
-#include <vector>
-#include "Primitive.h"
-
-namespace vrender
-{
-	class ParserGL
-	{
-		public:
-			void parseFeedbackBuffer(	GLfloat *,
-												int size,
-												std::vector<PtrPrimitive>& primitive_tab,
-												VRenderParams& vparams) ;
-			void printStats() const ;
-
-			inline GLfloat xmin() const { return _xmin ; }
-			inline GLfloat ymin() const { return _ymin ; }
-			inline GLfloat zmin() const { return _zmin ; }
-			inline GLfloat xmax() const { return _xmax ; }
-			inline GLfloat ymax() const { return _ymax ; }
-			inline GLfloat zmax() const { return _zmax ; }
-		private:
-			int nb_lines ;
-			int nb_polys ;
-			int nb_points ;
-			int nb_degenerated_lines ;
-			int nb_degenerated_polys ;
-			int nb_degenerated_points ;
-
-			GLfloat _xmin ;
-			GLfloat _ymin ;
-			GLfloat _zmin ;
-			GLfloat _xmax ;
-			GLfloat _ymax ;
-			GLfloat _zmax ;
-	};
-}
-
-#endif
diff --git a/SRC/QGLViewer/QGLViewer/VRender/Primitive.cpp b/SRC/QGLViewer/QGLViewer/VRender/Primitive.cpp
deleted file mode 100644
index b7c2723..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/Primitive.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include <math.h>
-#include <assert.h>
-#include "Primitive.h"
-#include "Types.h"
-
-using namespace vrender ;
-using namespace std ;
-
-
-Point::Point(const Feedback3DColor& f)
-	: _position_and_color(f)
-{
-}
-
-const Vector3& Point::vertex(size_t) const
-{
-	return _position_and_color.pos() ;
-}
-
-const Feedback3DColor& Point::sommet3DColor(size_t) const
-{
-	return _position_and_color ;
-}
-
-const Feedback3DColor& Segment::sommet3DColor(size_t i) const
-{
-	return ( (i&1)==0 )?P1:P2 ;
-}
-
-AxisAlignedBox_xyz Point::bbox() const
-{
-	return AxisAlignedBox_xyz(_position_and_color.pos(),_position_and_color.pos()) ;
-}
-
-const Vector3& Segment::vertex(size_t i) const
-{
-	return ( (i&1)==0 )?P1.pos():P2.pos() ;
-}
-
-AxisAlignedBox_xyz Segment::bbox() const
-{
-	AxisAlignedBox_xyz B(P1.pos());
-	B.include(P2.pos()) ;
-
-	return B ;
-}
-
-const Feedback3DColor& Polygone::sommet3DColor(size_t i) const
-{
-	return _vertices[i % nbVertices()] ;
-}
-
-const Vector3& Polygone::vertex(size_t i) const
-{
-	return _vertices[i % nbVertices()].pos() ;
-}
-
-
-Polygone::Polygone(const vector<Feedback3DColor>& fc)
-	: _vertices(fc)
-{
-	initNormal() ;
-
-	for(size_t i=0;i<fc.size();i++)
-		_bbox.include(fc[i].pos()) ;
-}
-
-AxisAlignedBox_xyz Polygone::bbox() const
-{
-	return _bbox ;
-}
-
-double Polygone::equation(const Vector3& v) const
-{
-	return v * _normal - _c ;
-}
-
-void Polygone::initNormal()
-{
-	FLOAT anglemax = 0.0 ;
-	Vector3 normalmax = Vector3(0.0,0.0,0.0) ;
-	FLOAT v12norm = (vertex(1)-vertex(0)).norm() ;
-
-        for(size_t i=0;i<nbVertices();i++)
-	{
-		Vector3 v1(vertex(i)) ;
-		Vector3 v2(vertex(i+1));
-		Vector3 v3(vertex(i+2)) ;
-
-		Vector3 normal_tmp((v3-v2)^(v1-v2)) ;
-
-		FLOAT v32norm = (v3-v2).norm() ;
-
-		if(normal_tmp.z() > 0)
-			normal_tmp *= -1.0 ;
-
-		if((v32norm > 0.0)&&(v12norm > 0.0))
-		{
-			double anglemaxtmp = normal_tmp.norm()/v32norm/v12norm ;
-
-			if(anglemaxtmp > anglemax)
-			{
-				anglemax = anglemaxtmp ;
-				normalmax = normal_tmp ;
-			}
-		}
-
-		v12norm = v32norm ;
-
-		if(anglemax > FLAT_POLYGON_EPS)	// slight optimization
-			break ;
-	}
-
-	if(normalmax.infNorm() != 0.0)
-		_normal = NVector3(normalmax) ;
-
-	anglefactor = anglemax ;
-	_c = _normal*vertex(0) ;
-}
-
-std::ostream& vrender::operator<<(std::ostream& o,const Feedback3DColor& f)
-{
-	o << "(" << f.pos() << ") + (" << f.red() << "," << f.green() << "," << f.blue() << "," << f.alpha() << ")" << endl ;
-	return o ;
-}
-
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/Primitive.h b/SRC/QGLViewer/QGLViewer/VRender/Primitive.h
deleted file mode 100644
index 34d1f75..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/Primitive.h
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef _PRIMITIVE_H_
-#define _PRIMITIVE_H_
-
-#include <vector>
-#include "AxisAlignedBox.h"
-#include "Vector3.h"
-#include "NVector3.h"
-#include "Types.h"
-
-#ifdef WIN32
-# include <windows.h>
-#endif
-
-#ifdef __APPLE__
-# include <OpenGL/gl.h>
-#else
-# include <GL/gl.h>
-#endif
-
-namespace vrender
-{
-	class Feedback3DColor ;
-	class Primitive ;
-
-#define EPS_SMOOTH_LINE_FACTOR 0.06  /* Lower for better smooth lines. */
-
-	//  A Feedback3DColor is a structure containing informations about a vertex projected into
-	// the frame buffer.
-
-	class Feedback3DColor
-	{
-	public:
-		Feedback3DColor(GLfloat *loc)
-			: 	_pos(loc[0],loc[1],loc[2]),
-			_red(loc[3]),_green(loc[4]),_blue(loc[5]),_alpha(loc[6]) {}
-
-		inline FLOAT x() const { return _pos[0] ; }
-		inline FLOAT y() const { return _pos[1] ; }
-		inline FLOAT z() const { return _pos[2] ; }
-		inline GLfloat red() const { return _red ; }
-		inline GLfloat green() const { return _green ; }
-		inline GLfloat blue() const { return _blue ; }
-		inline GLfloat alpha() const { return _alpha ; }
-		inline const Vector3& pos() const { return _pos ; }
-
-		inline Feedback3DColor operator+(const Feedback3DColor & v) const
-		{
-			return Feedback3DColor(x()+v.x(),y()+v.y(),z()+v.z(),red()+v.red(),green()+v.green(),blue()+v.blue(),alpha()+v.alpha()) ;
-		}
-		inline Feedback3DColor operator*(const GLFLOAT & f) const
-		{
-			return Feedback3DColor(x()*f,y()*f,z()*f,red()*GLfloat(f),green()*GLfloat(f),blue()*GLfloat(f),alpha()*GLfloat(f)) ;
-		}
-		friend inline Feedback3DColor operator*(const GLFLOAT & f,const Feedback3DColor& F)
-		{
-			return F*f ;
-		}
-
-		static size_t sizeInBuffer() { return 7 ; }
-
-		friend std::ostream& operator<<(std::ostream&,const Feedback3DColor&) ;
-
-		protected:
-		Feedback3DColor(FLOAT x, FLOAT y, FLOAT z, GLfloat r, GLfloat g, GLfloat b, GLfloat a)
-			:_pos(x,y,z), _red(r), _green(g), _blue(b), _alpha(a) {}
-
-		Vector3	_pos ;
-		GLfloat	_red;
-		GLfloat	_green;
-		GLfloat	_blue;
-		GLfloat	_alpha;
-	} ;
-
-	// A primitive is an entity
-	//
-	class Primitive
-	{
-	public:
-		virtual ~Primitive() {}
-
-
-		virtual const Feedback3DColor& sommet3DColor(size_t) const =0 ;
-
-		// Renvoie le ieme vertex modulo le nombre de vertex.
-		virtual const Vector3& vertex(size_t) const = 0 ;
-#ifdef A_FAIRE
-		virtual FLOAT Get_I_EPS(Primitive *) const ;
-		Vect3 VerticalProjectPointOnSupportPlane(const Vector3 &) const ;
-		void IntersectPrimitiveWithSupportPlane(Primitive *,int[],FLOAT[],Vect3 *&,Vect3 *&) ;
-		inline FLOAT Equation(const Vect3& p) { return p*_normal-_C ; }
-		virtual void Split(Vect3,FLOAT,Primitive * &,Primitive * &) = 0 ;
-		void GetSigns(Primitive *,int * &,FLOAT * &,int &,int &,FLOAT) ;
-		FLOAT Const() const { return _C ; }
-
-		int depth() const { return _depth ; }
-		void setDepth(int d) const { _depth = d ; }
-#endif
-		virtual AxisAlignedBox_xyz bbox() const = 0 ;
-		virtual size_t nbVertices() const = 0 ;
-
-		protected:
-
-		int _vibility ;
-	} ;
-
-	class Point: public Primitive
-	{
-	public:
-		Point(const Feedback3DColor& f);
-		virtual ~Point() {}
-
-		virtual const Vector3& vertex(size_t) const ;
-		virtual size_t nbVertices() const { return 1 ; }
-		virtual const Feedback3DColor& sommet3DColor(size_t) const ;
-		virtual AxisAlignedBox_xyz bbox() const ;
-
-		private:
-		Feedback3DColor _position_and_color ;
-	};
-
-	class Segment: public Primitive
-	{
-	public:
-		Segment(const Feedback3DColor & p1, const Feedback3DColor & p2): P1(p1), P2(p2) {}
-		virtual ~Segment() {}
-		virtual size_t nbVertices() const { return 2 ; }
-		virtual const Vector3& vertex(size_t) const ;
-		virtual const Feedback3DColor& sommet3DColor(size_t i) const ;
-		virtual AxisAlignedBox_xyz bbox() const ;
-#ifdef A_FAIRE
-		virtual void Split(const Vector3&,FLOAT,Primitive * &,Primitive * &) ;
-#endif
-
-		protected:
-		Feedback3DColor P1 ;
-		Feedback3DColor P2 ;
-	} ;
-
-
-	class Polygone: public Primitive
-	{
-	public:
-		Polygone(const std::vector<Feedback3DColor>&) ;
-		virtual ~Polygone() {}
-#ifdef A_FAIRE
-		virtual int IsAPolygon() { return 1 ; }
-		virtual void Split(const Vector3&,FLOAT,Primitive * &,Primitive * &) ;
-		void InitEquation(double &,double &,double &,double &) ;
-#endif
-		virtual const Feedback3DColor& sommet3DColor(size_t) const ;
-		virtual const Vector3& vertex(size_t) const ;
-		virtual size_t nbVertices() const { return _vertices.size() ; }
-		virtual AxisAlignedBox_xyz bbox() const ;
-		double equation(const Vector3& p) const ;
-		const NVector3& normal() const { return _normal ; }
-		double c() const { return _c ; }
-
-		FLOAT FlatFactor() const { return anglefactor ; }
-
-		protected:
-		virtual void initNormal() ;
-		void CheckInfoForPositionOperators() ;
-
-		AxisAlignedBox_xyz _bbox ;
-		std::vector<Feedback3DColor> _vertices ;
-		// std::vector<FLOAT> _sommetsProjetes ;
-		// Vector3 N,M,L ;
-		double anglefactor ;		//  Determine a quel point un polygone est plat.
-		// Comparer a FLAT_POLYGON_EPS
-		double _c ;
-		NVector3 _normal ;
-	} ;
-}
-#endif
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/PrimitivePositioning.cpp b/SRC/QGLViewer/QGLViewer/VRender/PrimitivePositioning.cpp
deleted file mode 100644
index 072d45c..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/PrimitivePositioning.cpp
+++ /dev/null
@@ -1,671 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "Primitive.h"
-#include "AxisAlignedBox.h"
-#include "PrimitivePositioning.h"
-#include "math.h"
-#include <algorithm>
-#include "Vector2.h"
-
-#include <algorithm>
-
-using namespace vrender ;
-using namespace std ;
-
-#define DEBUG_TS
-
-double PrimitivePositioning::_EPS = 0.00001 ;
-
-// Computes relative position of the second primitive toward the first.
-// As a general rule, the smaller the Z of a primitive, the Upper the primitive.
-
-int PrimitivePositioning::computeRelativePosition(const Primitive *p1,const Primitive *p2)
-{
-	AxisAlignedBox_xyz bb1(p1->bbox()) ;
-	AxisAlignedBox_xyz bb2(p2->bbox()) ;
-
-	// 1 - check if bounding boxes are disjoint. In such a case, a rapid answer is possible.
-
-	if( bb1.maxi().x() < bb2.mini().x() || bb1.mini().x() > bb2.maxi().x()) return Independent ;
-	if( bb1.maxi().y() < bb2.mini().y() || bb1.mini().y() > bb2.maxi().y()) return Independent ;
-
-	// 2 - call specific tests for each case.
-
-	if(p1->nbVertices() >= 3)
-		if(p2->nbVertices() >= 3)
-			return computeRelativePosition( dynamic_cast<const Polygone *>(p1),dynamic_cast<const Polygone *>(p2)) ;
-		else if(p2->nbVertices() == 2) // Case of a segment versus a polygon
-			return computeRelativePosition( dynamic_cast<const Polygone *>(p1),dynamic_cast<const Segment *>(p2)) ;
-		else
-			return computeRelativePosition( dynamic_cast<const Polygone *>(p1),dynamic_cast<const Point *>(p2)) ;
-	else if(p1->nbVertices() == 2)
-		if(p2->nbVertices() >= 3)
-			return inverseRP(computeRelativePosition( dynamic_cast<const Polygone *>(p2),dynamic_cast<const Segment *>(p1))) ;
-		else if(p2->nbVertices() == 2)
-			return computeRelativePosition( dynamic_cast<const Segment *>(p1),dynamic_cast<const Segment *>(p2)) ;
-		else
-			return Independent ;	// segment vs point => independent
-	else
-		if(p2->nbVertices() >= 3)
-			return inverseRP(computeRelativePosition( dynamic_cast<const Polygone *>(p2),dynamic_cast<const Point *>(p1))) ;
-		else if(p2->nbVertices() == 2)
-			return Independent ;	// point vs segment => independent
-		else
-			return Independent ;	// point vs point => independent
-}
-
-// Computes the relative position of the point toward a *convex* polygon.
-
-int PrimitivePositioning::computeRelativePosition(const Polygone *Q,const Point *P)
-{
-	if(pointOutOfPolygon_XY(P->vertex(0),Q,(double)_EPS)) // On met un eps > 0, pour que les
-		return Independent ;							 // points du bords soient inclus dans le polygone.
-
-	// now compute the relative position of the point toward the polygon
-
-	if(Q->equation(P->vertex(0)) >= 0)
-		return Upper ;
-	else
-		return Lower ;
-}
-
-// Computes the relative position of the segment toward a *convex* polygon.
-
-int PrimitivePositioning::computeRelativePosition(const Polygone *P,const Segment *S)
-{
-	//  Computes the intersection of the segment and the polygon in 2D, then
-	// project the extremities of the intersection onto the segment, and compare
-	// the points to the polygon.
-
-	// 1 - 2D-intersection of segment and polygon
-
-	vector<double> intersections ;
-
-	if(!pointOutOfPolygon_XY(S->vertex(0),P,_EPS)) intersections.push_back(0.0);
-	if(!pointOutOfPolygon_XY(S->vertex(1),P,_EPS)) intersections.push_back(1.0);
-
-	double t1,t2 ;
-
-		for(size_t i=0;i<P->nbVertices();++i)
-		if(intersectSegments_XY(Vector2(S->vertex(0)),Vector2(S->vertex(1)),Vector2(P->vertex(i)),Vector2(P->vertex(i+1)),_EPS,t1,t2))
-			intersections.push_back(t1) ;
-
-	// 2 - Checks wether the intersection segment is reduced to a point. In this case,
-	// 	both primitives are independent.
-
-	double tmin = FLT_MAX ;
-	double tmax = -FLT_MAX ;
-
-	for(unsigned int j=0;j<intersections.size();++j)
-	{
-		tmin = std::min(tmin,intersections[j]) ;
-		tmax = std::max(tmax,intersections[j]) ;
-	}
-
-	if(tmax - tmin < 2*_EPS)
-		return Independent ;
-
-	// 3 - The intersection segment is not reduced to a point. Compares 3D
-	//   projections of the intersections with the plane of the polygon.
-
-	int res = Independent ;
-
-	for(unsigned int k=0;k<intersections.size();++k)
-	{
-		Vector3 v( (1-intersections[k])*S->vertex(0) + intersections[k]*S->vertex(1) ) ;
-
-		if(P->equation(v) < -_EPS) res |= Lower ;
-		if(P->equation(v) >  _EPS) res |= Upper ;
-	}
-
-	if(intersections.size() > 1 && res == Independent)	// case of segments tangent to the polygon
-		res = Upper ;
-
-	return res ;
-}
-
-// Computes the relative position of a polygon toward a convex polygon.
-
-int PrimitivePositioning::computeRelativePosition(const Polygone *P1,const Polygone *P2)
-{
-	// 1 - use gpc to conservatively check for intersection. This works fine because
-	//    gpc produces a null intersection for polygons sharing an edge, which
-	//    is exactly what we need.
-
-	gpc_polygon gpc_int ;
-
-	try
-	{
-		gpc_polygon gpc_p1 = createGPCPolygon_XY(P1) ;
-		gpc_polygon gpc_p2 = createGPCPolygon_XY(P2) ;
-
-		gpc_polygon_clip(GPC_INT,&gpc_p1,&gpc_p2,&gpc_int) ;
-
-		gpc_free_polygon(&gpc_p1) ;
-		gpc_free_polygon(&gpc_p2) ;
-	}
-	catch(exception&)
-	{
-		return Independent ;				// no free, because we don't really now what happenned.
-	}
-
-	int res = Independent ;
-
-	if (gpc_int.num_contours != 1) // There is some numerical error in gpc. Let's skip.
-	  {
-		gpc_free_polygon(&gpc_int) ;
-		return res ;
-		// throw runtime_error("Intersection with more than 1 contour ! Non convex polygons ?") ;
-	  }
-
-	// 2 - polygons are not independent. Compute their relative position.
-	//    For this, we project the vertices of the 2D intersection onto the
-	//   support plane of each polygon. The epsilon-signs of each point toward
-	//   both planes give the relative position of the polygons.
-
-	for(long i=0;i<gpc_int.contour[0].num_vertices && (res < (Upper | Lower));++i)
-	{
-		if(P1->normal().z() == 0.0) throw runtime_error("could not project point. Unexpected case !") ;
-		if(P2->normal().z() == 0.0) throw runtime_error("could not project point. Unexpected case !") ;
-
-		// project point onto support planes
-
-		double f1 = P1->normal().x() * gpc_int.contour[0].vertex[i].x + P1->normal().y() * gpc_int.contour[0].vertex[i].y - P1->c() ;
-		double f2 = P2->normal().x() * gpc_int.contour[0].vertex[i].x + P2->normal().y() * gpc_int.contour[0].vertex[i].y - P2->c() ;
-
-		Vector3 v1(gpc_int.contour[0].vertex[i].x,gpc_int.contour[0].vertex[i].y, -f1/P1->normal().z()) ;
-		Vector3 v2(gpc_int.contour[0].vertex[i].x,gpc_int.contour[0].vertex[i].y, -f2/P2->normal().z()) ;
-
-		if(P1->equation(v2) < -_EPS) res |= Lower ;
-		if(P1->equation(v2) >  _EPS) res |= Upper ;
-		if(P2->equation(v1) < -_EPS) res |= Upper ;
-		if(P2->equation(v1) >  _EPS) res |= Lower ;
-	}
-	gpc_free_polygon(&gpc_int) ;
-	return res ;
-}
-
-// Computes the relative position of a segment toward another segment.
-
-int PrimitivePositioning::computeRelativePosition(const Segment *S1,const Segment *S2)
-{
-	double t1,t2 ;
-
-	if(!intersectSegments_XY(	Vector2(S1->vertex(0)),Vector2(S1->vertex(1)),
-										Vector2(S2->vertex(0)),Vector2(S2->vertex(1)),
-										-(double)_EPS,t1,t2 ))
-		return Independent ;
-	else
-	{
-		double z1 = (1.0 - t1)*S1->vertex(0).z() + t1*S1->vertex(1).z() ;
-		double z2 = (1.0 - t2)*S2->vertex(0).z() + t2*S2->vertex(1).z() ;
-
-		if(z1 <= z2)
-			return Lower ;
-		else
-			return Upper ;
-	}
-}
-
-
-// Teste si le point est exterieur au polygone (convexe). Plus I_EPS est grand
-// plus il faut etre loin pour que ca soit vrai. EPS=0 correspond au polygone
-// lui-meme bords inclus. Pour EPS<0, des points interieurs pres de la frontiere sont
-// declares exterieurs.  Plus I_EPS est grand, plus l'ensemble des points
-// consideres comme interieur est dilate.
-
-bool PrimitivePositioning::pointOutOfPolygon_XY(const Vector3& P,const Polygone *Q,double I_EPS)
-{
-	size_t nq = Q->nbVertices() ;
-	Vector2 p = Vector2(P) ;
-
-	FLOAT MaxZ = -FLT_MAX ;
-	FLOAT MinZ =  FLT_MAX ;
-
-	for(size_t j=0;j<nq;j++)  				//  Regarde si P.(x,y) est a l'interieur
-	{                               	// ou a l'exterieur du polygone.
-		Vector2 q1 = Vector2(Q->vertex(j)) ;
-		Vector2 q2 = Vector2(Q->vertex(j+1)) ;
-
-		double Z = (q1-p)^(q2-p) ;
-
-		MinZ = std::min(Z,MinZ) ;
-		MaxZ = std::max(Z,MaxZ) ;
-	}
-
-	if((MaxZ <= -I_EPS*I_EPS)||(MinZ >= I_EPS*I_EPS))	// the point is inside the polygon
-		return false ;
-	else
-		return true ;
-}
-
-int PrimitivePositioning::inverseRP(int pos)
-{
-	// Basically switch bits of Lower and Upper
-
-	switch(pos)
-	{
-		case Independent: return Independent ;
-		case Lower: return Upper ;
-		case Upper: return Lower ;
-		case Upper | Lower: return Upper | Lower ;
-		default:
-								  throw runtime_error("Unexpected value.") ;
-								  return pos ;
-	}
-}
-
-// Calcule l'intersection des segments [P1,Q1] et [P2,Q2]
-// En retour, (1-t1,t1) et (1-t2,t2) sont les coordonnees
-// barycentriques de l'intersection dans chaque segment.
-
-bool PrimitivePositioning::intersectSegments_XY(const Vector2& P1,const Vector2& Q1,
-																const Vector2& P2,const Vector2& Q2,
-																double I_EPS,
-																double & t1,double & t2)
-{
-	double P1x(P1.x()) ;
-	double P1y(P1.y()) ;
-	double P2x(P2.x()) ;
-	double P2y(P2.y()) ;
-	double Q1x(Q1.x()) ;
-	double Q1y(Q1.y()) ;
-	double Q2x(Q2.x()) ;
-	double Q2y(Q2.y()) ;
-
-	double a2 = -(Q2y - P2y) ;
-	double b2 =  (Q2x - P2x) ;
-	double c2 =  P2x*a2+P2y*b2 ;
-
-	double a1 = -(Q1y - P1y) ;
-	double b1 =  (Q1x - P1x) ;
-	double c1 =  P1x*a1+P1y*b1 ;
-
-	double d2 = a2*(Q1x-P1x)+b2*(Q1y-P1y) ;
-	double d1 = a1*(Q2x-P2x)+b1*(Q2y-P2y) ;
-
-	if((fabs(d2) <= fabs(I_EPS))||(fabs(d1) <= fabs(I_EPS)))	// les segments sont paralleles
-	{
-		if(fabs(a2*P1x + b2*P1y - c2) >= I_EPS)
-			return false ;
-
-		double tP1,tQ1 ;
-
-		if(P1x != Q1x)
-		{
-			tP1 = (P2x-P1x)/(Q1x-P1x) ;
-			tQ1 = (Q2x-P1x)/(Q1x-P1x) ;
-		}
-		else if(P1y != Q1y)
-		{
-			tP1 = (P2y-P1y)/(Q1y-P1y) ;
-			tQ1 = (Q2y-P1y)/(Q1y-P1y) ;
-		}
-		else
-		{
-#ifdef DEBUG_TS
-			printf("IntersectSegments2D:: Error ! One segment has length 0\n") ;
-			printf("This special case is not treated yet.\n") ;
-#endif
-			return false ;
-		}
-
-		double tPQM = std::max(tP1,tQ1) ;
-		double tPQm = std::min(tP1,tQ1) ;
-
-		if(( tPQM < -I_EPS) || (tPQm > 1.0+I_EPS))
-			return false ;
-
-		if(tPQm > 0.0)
-		{
-			t1 = tPQm ;
-			t2 = 0.0 ;
-		}
-		else
-		{
-			t1 = 0.0 ;
-			if(P2x != Q2x)
-				t2 = (P1x-P2x)/(Q2x-P2x) ;
-			else if(P2y != Q2y)
-				t2 = (P1y-P2y)/(Q2y-P2y) ;
-			else
-			{
-#ifdef DEBUG_TS
-				printf("IntersectSegments2D:: Error ! One segment has length 0\n") ;
-				printf("This special case is not treated yet.\n") ;
-#endif
-				return false ;
-			}
-		}
-
-		return true ;
-	}
-	else
-	{
-		t2 = (c1 - a1*P2x - b1*P2y)/d1 ;
-		t1 = (c2 - a2*P1x - b2*P1y)/d2 ;
-
-		if((t2 > 1+I_EPS)||(t2 < -I_EPS)||(t1 > 1+I_EPS)||(t1 < -I_EPS))
-			return false ;
-
-		return true ;
-	}
-}
-
-gpc_polygon PrimitivePositioning::createGPCPolygon_XY(const Polygone *P)
-{
-	gpc_polygon p ;
-
-	p.num_contours = 0 ;
-	p.hole = NULL ;
-	p.contour = NULL ;
-
-	gpc_vertex_list *gpc_p_verts = new gpc_vertex_list ;
-
-	gpc_p_verts->num_vertices = P->nbVertices() ;
-	gpc_p_verts->vertex = new gpc_vertex[P->nbVertices()] ;
-
-		for(size_t i=0;i<P->nbVertices();++i)
-	{
-		gpc_p_verts->vertex[i].x = P->vertex(i).x() ;
-		gpc_p_verts->vertex[i].y = P->vertex(i).y() ;
-	}
-
-	gpc_add_contour(&p,gpc_p_verts,false) ;
-
-	return p ;
-}
-
-void PrimitivePositioning::getsigns(const Primitive *P,const NVector3& v,double C,
-												vector<int>& signs,vector<double>& zvals,int& Smin,int& Smax,double I_EPS)
-{
-	if(P == NULL)
-		throw runtime_error("Null primitive in getsigns !") ;
-
-	size_t n = P->nbVertices() ;
-
-	Smin =  1 ;
-	Smax = -1 ;
-
-	// On classe les sommets en fonction de leur signe
-
-	double zmax = -FLT_MAX ;
-	double zmin =  FLT_MAX ;
-	zvals.resize(n) ;
-
-	for(size_t i=0;i<n;i++)
-	{
-		double Z = P->vertex(i) * v - C ;
-
-		if(Z > zmax) zmax = Z ;
-		if(Z < zmin) zmin = Z ;
-
-		zvals[i] = Z ;
-	}
-
-	signs.resize(n) ;
-
-	for(size_t j=0;j<n;j++)
-	{
-		if(zvals[j] < -I_EPS)
-			signs[j] = -1 ;
-		else if(zvals[j] > I_EPS)
-			signs[j] = 1 ;
-		else
-			signs[j] = 0 ;
-
-		if(Smin > signs[j]) Smin = signs[j] ;
-		if(Smax < signs[j]) Smax = signs[j] ;
-	}
-}
-
-void PrimitivePositioning::split(Polygone *P,const NVector3& v,double C,Primitive *& P_plus,Primitive *& P_moins)
-{
-	vector<int> Signs ;
-	vector<double> Zvals ;
-
-	P_plus = NULL ;
-	P_moins = NULL ;
-
-	int Smin = 1 ;
-	int Smax = -1 ;
-
-	getsigns(P,v,C,Signs,Zvals,Smin,Smax,_EPS) ;
-
-	size_t n = P->nbVertices() ;
-
-	if((Smin == 0)&&(Smax == 0)){ P_moins = P ; P_plus = NULL ; return ; }	// Polygone inclus dans le plan
-	if(Smin == 1) 					{ P_plus = P ; P_moins = NULL ; return ; }	// Polygone tout positif
-	if(Smax == -1) 					{ P_plus = NULL ; P_moins = P ; return ; }	// Polygone tout negatif
-
-	if((Smin == -1)&&(Smax == 0)) { P_plus = NULL ; P_moins = P ; return ; }	// Polygone tout negatif ou null
-	if((Smin == 0)&&(Smax == 1))  { P_plus = P ; P_moins = NULL ; return ; }	// Polygone tout positif ou null
-
-	// Reste le cas Smin = -1 et Smax = 1. Il faut couper
-
-	vector<Feedback3DColor> Ps ;
-	vector<Feedback3DColor> Ms ;
-
-	// On teste la coherence des signes.
-
-	int nZero = 0 ;
-	int nconsZero = 0 ;
-
-	for(size_t i=0;i<n;i++)
-	{
-		if(Signs[i] == 0)
-		{
-			nZero++ ;
-
-			if(Signs[(i+1)%n] == 0)
-				nconsZero++ ;
-		}
-	}
-
-	// Ils y a des imprecisions numeriques dues au fait que le poly estpres du plan.
-	if((nZero > 2)||(nconsZero > 0)) { P_moins = P ; P_plus  = NULL ; return ; }
-
-	int dep=0 ; while(Signs[dep] == 0) dep++ ;
-	int prev_sign = Signs[dep] ;
-
-	for(size_t j=1;j<=n;j++)
-	{
-		int sign = Signs[(j+dep)%n] ;
-
-		if(sign == prev_sign)
-		{
-			if(sign ==  1) Ps.push_back(P->sommet3DColor(j+dep)) ;
-			if(sign == -1) Ms.push_back(P->sommet3DColor(j+dep)) ;
-		}
-		else if(sign == -prev_sign)
-		{
-			//  Il faut effectuer le calcul en utilisant les memes valeurs que pour le calcul des signes,
-			// sinon on risque des incoherences dues aux imprecisions numeriques.
-
-			double Z1 = Zvals[(j+dep-1)%n] ;
-			double Z2 = Zvals[(j+dep)%n] ;
-
-			double t = fabs(Z1/(Z2 - Z1)) ;
-
-			if((t < 0.0)||(t > 1.0))
-			{
-				if(t > 1.0) t = 1.0 ;
-				if(t < 0.0) t = 0.0 ;
-			}
-			Feedback3DColor newVertex((1-t)*P->sommet3DColor(j+dep-1) + t*P->sommet3DColor(j+dep)) ;
-
-			Ps.push_back(newVertex) ;
-			Ms.push_back(newVertex) ;
-
-			if(sign == 1)
-				Ps.push_back(P->sommet3DColor(j+dep)) ;
-
-			if(sign == -1)
-				Ms.push_back(P->sommet3DColor(j+dep)) ;
-
-			prev_sign = sign ;
-		} // prev_sign != 0 donc necessairement sign = 0. Le sommet tombe dans le plan
-		else
-		{
-			Feedback3DColor newVertex = P->sommet3DColor(j+dep) ;
-
-			Ps.push_back(newVertex) ;
-			Ms.push_back(newVertex) ;
-
-			prev_sign = -prev_sign ;
-		}
-	}
-
-	if(Ps.size() > 100 || Ms.size() > 100 )
-		printf("Primitive::split: Error. nPs = %d, nMs = %d.\n",int(Ps.size()),int(Ms.size())) ;
-
-	// on suppose pour l'instant que les polygones sont convexes
-
-	if(Ps.size() == 1)
-		P_plus = new Point(Ps[0]) ;
-	else if(Ps.size() == 2)
-		P_plus = new Segment(Ps[0],Ps[1]) ;
-	else
-		P_plus  = new Polygone(Ps) ;
-
-	if(Ms.size() == 1)
-		P_moins = new Point(Ms[0]) ;
-	else if(Ms.size() == 2)
-		P_moins = new Segment(Ms[0],Ms[1]) ;
-	else
-		P_moins = new Polygone(Ms) ;
-}
-
-void PrimitivePositioning::split(Point *P,const NVector3& v,double C,Primitive * & P_plus,Primitive * & P_moins)
-{
-	if(v*P->vertex(0)-C > -_EPS)
-	{
-		P_plus = P ;
-		P_moins = NULL ;
-	}
-	else
-	{
-		P_moins = P ;
-		P_plus = NULL ;
-	}
-}
-
-void PrimitivePositioning::split(Segment *S,const NVector3& v,double C,Primitive * & P_plus,Primitive * & P_moins)
-{
-	vector<int> Signs ;
-	vector<double> Zvals ;
-
-	P_plus = NULL ;
-	P_moins = NULL ;
-
-	int Smin = 1 ;
-	int Smax = -1 ;
-
-	getsigns(S,v,C,Signs,Zvals,Smin,Smax,_EPS) ;
-
-	size_t n = S->nbVertices() ;
-
-	if((Smin == 0)&&(Smax == 0)) 	{ P_moins = S ; P_plus = NULL ; return ; }	// Polygone inclus dans le plan
-	if(Smin == 1) 						{ P_plus = S ; P_moins = NULL ; return ; }	// Polygone tout positif
-	if(Smax == -1) 					{ P_plus = NULL ; P_moins = S ; return ; }	// Polygone tout negatif
-
-	if((Smin == -1)&&(Smax == 0)) { P_plus = NULL ; P_moins = S ; return ; }	// Polygone tout negatif ou null
-	if((Smin == 0)&&(Smax == 1))  { P_plus = S ; P_moins = NULL ; return ; }	// Polygone tout positif ou null
-
-	// Reste le cas Smin = -1 et Smax = 1. Il faut couper
-	// On teste la coherence des signes.
-
-	int nZero = 0 ;
-	int nconsZero = 0 ;
-
-	for(size_t i=0;i<n;i++)
-	{
-		if(Signs[i] == 0)
-		{
-			nZero++ ;
-
-			if(Signs[(i+1)%n] == 0)
-				nconsZero++ ;
-		}
-	}
-
-	// Ils y a des imprecisions numeriques dues au fait que le poly estpres du plan.
-	if((nZero > 2)||(nconsZero > 0)) { P_moins = S ; P_plus  = NULL ; return ; }
-
-	double Z1 = Zvals[0] ;
-	double Z2 = Zvals[1] ;
-
-	double t = fabs(Z1/(Z2 - Z1)) ;
-
-	if((t < 0.0)||(t > 1.0))
-	{
-		if(t > 1.0) t = 1.0 ;
-		if(t < 0.0) t = 0.0 ;
-	}
-
-	Feedback3DColor newVertex = S->sommet3DColor(0) * (1-t) + S->sommet3DColor(1) * t ;
-
-	if(Signs[0] < 0)
-	{
-		P_plus = new Segment(newVertex,S->sommet3DColor(1)) ;
-		P_moins = new Segment(S->sommet3DColor(0),newVertex) ;
-	}
-	else
-	{
-		P_plus = new Segment(S->sommet3DColor(0),newVertex) ;
-		P_moins = new Segment(newVertex,S->sommet3DColor(1)) ;
-	}
-}
-
-// splits primitive P by plane of equation v.X=c. The upper part is setup in a new primitive called prim_up and
-// the lower part is in prim_lo.
-
-void PrimitivePositioning::splitPrimitive(Primitive *P,const NVector3& v,double c, Primitive *& prim_up,Primitive *& prim_lo)
-{
-	Polygone *p1 = dynamic_cast<Polygone *>(P) ; if(p1 != NULL) PrimitivePositioning::split(p1,v,c,prim_up,prim_lo) ;
-	Segment  *p2 = dynamic_cast<Segment  *>(P) ; if(p2 != NULL) PrimitivePositioning::split(p2,v,c,prim_up,prim_lo) ;
-	Point    *p3 = dynamic_cast<Point    *>(P) ; if(p3 != NULL) PrimitivePositioning::split(p3,v,c,prim_up,prim_lo) ;
-}
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/PrimitivePositioning.h b/SRC/QGLViewer/QGLViewer/VRender/PrimitivePositioning.h
deleted file mode 100644
index 1d323a3..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/PrimitivePositioning.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef _PRIMITIVEPOSITIONING_H
-#define _PRIMITIVEPOSITIONING_H
-
-#include <vector>
-#include "gpc.h"
-
-namespace vrender
-{
-	class Primitive ;
-
-	// This class implements a static method for positioning two primitives relative to each other.
-
-	class PrimitivePositioning
-	{
-		public:
-			typedef enum { Independent = 0x0,
-								Upper 		= 0x1,
-								Lower 		= 0x2 } RelativePosition ;
-
-			static int computeRelativePosition(const Primitive *p1,const Primitive *p2) ;
-
-			static void splitPrimitive(Primitive *P,const NVector3& v,double c,Primitive *& prim_up,Primitive *& prim_lo) ;
-
-			static void split(Segment *S,	const NVector3& v,double C,Primitive * & P_plus,Primitive * & P_moins) ;
-			static void split(Point *P,	const NVector3& v,double C,Primitive * & P_plus,Primitive * & P_moins) ;
-			static void split(Polygone *P,const NVector3& v,double C,Primitive * & P_plus,Primitive * & P_moins) ;
-
-		private:
-			static void getsigns(const Primitive *P,const NVector3& v,
-										double C,std::vector<int>& signs,std::vector<double>& zvals,
-										int& Smin,int& Smax,double I_EPS) ;
-
-			static int computeRelativePosition(const Polygone  *p1,const Polygone  *p2) ;
-			static int computeRelativePosition(const Polygone  *p1,const Segment   *p2) ;
-			static int computeRelativePosition(const Polygone  *p1,const Point     *p2) ;
-			static int computeRelativePosition(const Segment   *p1,const Segment   *p2) ;
-
-			//  2D intersection/positioning methods. Parameter I_EPS may be positive of negative
-			// depending on the wanted degree of conservativeness of the result.
-
-			static bool pointOutOfPolygon_XY(const Vector3&  P,const Polygone *Q,double I_EPS) ;
-			static bool intersectSegments_XY(const Vector2& P1,const Vector2& Q1,
-														const Vector2& P2,const Vector2& Q2,
-														double I_EPS,double & t1,double & t2) ;
-			static gpc_polygon createGPCPolygon_XY(const Polygone *P) ;
-
-
-			static int inverseRP(int) ;
-
-			//  This value is *non negative*. It may be used with a negative sign
-			// in 2D methods such as pointOutOfPolygon() so as to rule the behaviour of
-			// the positionning.
-
-			static double _EPS ;
-	};
-}
-
-#endif
diff --git a/SRC/QGLViewer/QGLViewer/VRender/SortMethod.h b/SRC/QGLViewer/QGLViewer/VRender/SortMethod.h
deleted file mode 100644
index e326842..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/SortMethod.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef _SORTMETHOD_H
-#define _SORTMETHOD_H
-
-#include <vector>
-#include "Types.h"
-
-namespace vrender
-{
-	// Class which implements the sorting of the primitives. An object of
-	class VRenderParams ;
-	class SortMethod
-	{
-		public:
-			SortMethod() {}
-			virtual ~SortMethod() {}
-
-			virtual void sortPrimitives(std::vector<PtrPrimitive>&,VRenderParams&) = 0 ;
-
-			void SetZDepth(FLOAT s) { zSize = s ; }
-			FLOAT ZDepth() const { return zSize ; }
-
-		protected:
-			FLOAT zSize ;
-	};
-
-	class DontSortMethod: public SortMethod
-	{
-		public:
-			DontSortMethod() {}
-			virtual ~DontSortMethod() {}
-
-			virtual void sortPrimitives(std::vector<PtrPrimitive>&,VRenderParams&) {}
-	};
-
-	class BSPSortMethod: public SortMethod
-	{
-		public:
-			BSPSortMethod() {} ;
-			virtual ~BSPSortMethod() {}
-
-			virtual void sortPrimitives(std::vector<PtrPrimitive>&,VRenderParams&) ;
-	};
-
-	class TopologicalSortMethod: public SortMethod
-	{
-		public:
-			TopologicalSortMethod() ;
-			virtual ~TopologicalSortMethod() {}
-
-			virtual void sortPrimitives(std::vector<PtrPrimitive>&,VRenderParams&) ;
-
-			void setBreakCycles(bool b) { _break_cycles = b ; }
-		private:
-			bool _break_cycles ;
-	};
-}
-
-#endif
diff --git a/SRC/QGLViewer/QGLViewer/VRender/TopologicalSortMethod.cpp b/SRC/QGLViewer/QGLViewer/VRender/TopologicalSortMethod.cpp
deleted file mode 100644
index 420e8e0..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/TopologicalSortMethod.cpp
+++ /dev/null
@@ -1,688 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include <assert.h>
-#include <climits>
-
-#include "VRender.h"
-#include "Primitive.h"
-#include "PrimitivePositioning.h"
-#include "AxisAlignedBox.h"
-#include "SortMethod.h"
-#include "Vector2.h"
-
-using namespace std ;
-using namespace vrender ;
-
-// #define DEBUG_TS
-
-namespace vrender
-{
-class TopologicalSortUtils
-{
-	public:
-		static void buildPrecedenceGraph(vector<PtrPrimitive>& primitive_tab, vector< vector<size_t> >& precedence_graph) ;
-
-		static void recursFindNeighbors(	const vector<PtrPrimitive>& primitive_tab,
-													const vector<size_t>& pindices,
-													vector< vector<size_t> >& precedence_graph,
-													const AxisAlignedBox_xy&,int) ;
-
-		static void checkAndAddEdgeToGraph(size_t a,size_t b,vector< vector<size_t> >& precedence_graph) ;
-		static void suppressPrecedence(size_t a,size_t b,vector< vector<size_t> >& precedence_graph) ;
-
-		static void recursTopologicalSort(vector< vector<size_t> >& precedence_graph,
-													 vector<PtrPrimitive>& primitive_tab,
-													 vector<bool>& alread_rendered,
-													 vector<bool>& alread_visited,
-													 vector<PtrPrimitive>&,size_t,size_t&,
-													 VRenderParams& vparams,
-													 size_t info_cnt,size_t& nbrendered) ;
-
-		static void recursTopologicalSort(vector< vector<size_t> >& precedence_graph,
-													 vector<PtrPrimitive>& primitive_tab,
-													 vector<bool>& alread_rendered,
-													 vector<bool>& alread_visited,
-													 vector<PtrPrimitive>&,size_t,
-													 vector<size_t>& ancestors,
-													 size_t&, size_t&,
-													 VRenderParams& vparams,
-													 size_t info_cnt,size_t& nbrendered) ;
-
-		static void topologicalSort(	vector< vector<size_t> >& precedence_graph,
-												vector<PtrPrimitive>& primitive_tab,
-												VRenderParams&) ;
-
-		static void topologicalSortBreakCycles(vector< vector<size_t> >& precedence_graph,
-															vector<PtrPrimitive>& primitive_tab,
-															VRenderParams&) ;
-
-#ifdef DEBUG_TS
-		static void printPrecedenceGraph(const vector< vector<size_t> >& precedence_graph,
-													const vector<PtrPrimitive>& primitive_tab) ;
-#endif
-};
-
-TopologicalSortMethod::TopologicalSortMethod()
-{
-	_break_cycles = false ;
-}
-
-void TopologicalSortMethod::sortPrimitives(vector<PtrPrimitive>& primitive_tab,VRenderParams& vparams)
-{
-	// 1 - build a precedence graph
-
-#ifdef DEBUG_TS
-	cout << "Computing precedence graph." << endl ;
-	cout << "Old order: " ;
-	for(size_t i=0;i<primitive_tab.size();++i) cout << (void *)(primitive_tab[i]) << " " ;
-	cout << endl ;
-#endif
-	vector< vector<size_t> > precedence_graph(primitive_tab.size());
-	TopologicalSortUtils::buildPrecedenceGraph(primitive_tab,precedence_graph) ;
-
-#ifdef DEBUG_TS
-	TopologicalSortUtils::printPrecedenceGraph(precedence_graph,primitive_tab) ;
-#endif
-	// 2 - perform a topological sorting of the graph
-
-#ifdef DEBUG_TS
-	cout << "Sorting." << endl ;
-#endif
-
-	if(_break_cycles)
-		TopologicalSortUtils::topologicalSortBreakCycles(precedence_graph, primitive_tab,vparams) ;
-	else
-		TopologicalSortUtils::topologicalSort(precedence_graph, primitive_tab,vparams) ;
-
-#ifdef DEBUG_TS
-	cout << "New order: " ;
-	for(size_t i=0;i<primitive_tab.size();++i) cout << (void *)(primitive_tab[i]) << " " ;
-	cout << endl ;
-#endif
-}
-
-#ifdef DEBUG_TS
-void TopologicalSortUtils::printPrecedenceGraph(const vector< vector<size_t> >& precedence_graph,
-																const vector<PtrPrimitive>& primitive_tab)
-{
-	for(size_t i=0;i<precedence_graph.size();++i)
-	{
-		cout << i << " (" << primitive_tab[i]->nbVertices() << ") : " ;
-		for(size_t j=0;j<precedence_graph[i].size();++j)
-			cout << precedence_graph[i][j] << " " ;
-
-		cout << endl ;
-	}
-}
-#endif
-
-void TopologicalSortUtils::buildPrecedenceGraph(vector<PtrPrimitive>& primitive_tab,
-																vector< vector<size_t> >& precedence_graph)
-{
-	// The precedence graph is constructed by first conservatively determining which
-	// primitives can possibly intersect using a quadtree. Candidate pairs of
-	// primitives are then carefully checked to compute their exact relative positionning.
-	//
-	// Because of the conservativeness of the quadtree, some pairs of primitives may be checked
-	// multiple times for intersection. Using a buffer of already computed results may proove
-	// very efficient.
-
-	// 0 - compute bounding box of the set of primitives.
-
-	AxisAlignedBox_xy BBox ;
-
-	for(size_t i=0;i<primitive_tab.size();++i)
-	{
-		BBox.include(Vector2(primitive_tab[i]->bbox().mini().x(),primitive_tab[i]->bbox().mini().y())) ;
-		BBox.include(Vector2(primitive_tab[i]->bbox().maxi().x(),primitive_tab[i]->bbox().maxi().y())) ;
-	}
-
-	// 1 - recursively find pairs.
-
-	vector<size_t> pindices(primitive_tab.size()) ;
-	for(size_t j=0;j<pindices.size();++j)
-		pindices[j] = j ;
-
-	recursFindNeighbors(primitive_tab, pindices, precedence_graph, BBox,0) ;
-}
-
-void TopologicalSortUtils::recursFindNeighbors(const vector<PtrPrimitive>& primitive_tab,
-																const vector<size_t>& pindices,
-																vector< vector<size_t> >& precedence_graph,
-																const AxisAlignedBox_xy& bbox,
-																int depth)
-{
-	static const size_t MAX_PRIMITIVES_IN_CELL = 5 ;
-
-	// Refinment: first decide which sub-cell each primitive meets, then call
-	// algorithm recursively.
-
-	if(primitive_tab.size() > MAX_PRIMITIVES_IN_CELL)
-	{
-		vector<size_t> p_indices_min_min ;
-		vector<size_t> p_indices_min_max ;
-		vector<size_t> p_indices_max_min ;
-		vector<size_t> p_indices_max_max ;
-
-		double xmin = bbox.mini().x() ;
-		double ymin = bbox.mini().y() ;
-		double xmax = bbox.maxi().x() ;
-		double ymax = bbox.maxi().y() ;
-
-		double xMean = 0.5*(xmin+xmax) ;
-		double yMean = 0.5*(ymin+ymax) ;
-
-		for(size_t i=0;i<pindices.size();++i)
-		{
-			bool left  = primitive_tab[pindices[i]]->bbox().mini().x() <= xMean ;
-			bool right = primitive_tab[pindices[i]]->bbox().maxi().x() >= xMean ;
-			bool down  = primitive_tab[pindices[i]]->bbox().mini().y() <= yMean ;
-			bool up    = primitive_tab[pindices[i]]->bbox().maxi().y() >= yMean ;
-
-			if(left  && down) p_indices_min_min.push_back(pindices[i]) ;
-			if(right && down) p_indices_max_min.push_back(pindices[i]) ;
-			if(left  && up  ) p_indices_min_max.push_back(pindices[i]) ;
-			if(right && up  ) p_indices_max_max.push_back(pindices[i]) ;
-		}
-
-		// checks if refining is not too much stupid
-
-		if(p_indices_min_min.size() < pindices.size() && p_indices_max_min.size() < pindices.size()
-				&& p_indices_min_max.size() < pindices.size() && p_indices_max_max.size() < pindices.size())
-		{
-			recursFindNeighbors(primitive_tab,p_indices_min_min,precedence_graph,AxisAlignedBox_xy(Vector2(xmin,xMean),Vector2(ymin,yMean)),depth+1) ;
-			recursFindNeighbors(primitive_tab,p_indices_min_max,precedence_graph,AxisAlignedBox_xy(Vector2(xmin,xMean),Vector2(yMean,ymax)),depth+1) ;
-			recursFindNeighbors(primitive_tab,p_indices_max_min,precedence_graph,AxisAlignedBox_xy(Vector2(xMean,xmax),Vector2(ymin,yMean)),depth+1) ;
-			recursFindNeighbors(primitive_tab,p_indices_max_max,precedence_graph,AxisAlignedBox_xy(Vector2(xMean,xmax),Vector2(yMean,ymax)),depth+1) ;
-			return ;
-		}
-	}
-
-	// No refinment either because it could not be possible, or because the number of primitives is below
-	// the predefined limit.
-
-	for(size_t i=0;i<pindices.size();++i)
-		for(size_t j=i+1;j<pindices.size();++j)
-		{
-			// Compute the position of j as regard to i
-
-			int prp = PrimitivePositioning::computeRelativePosition(	primitive_tab[pindices[i]], primitive_tab[pindices[j]]) ;
-
-			if(prp & PrimitivePositioning::Upper) checkAndAddEdgeToGraph(pindices[j],pindices[i],precedence_graph) ;
-			if(prp & PrimitivePositioning::Lower) checkAndAddEdgeToGraph(pindices[i],pindices[j],precedence_graph) ;
-		}
-}
-
-void TopologicalSortUtils::checkAndAddEdgeToGraph(size_t a,size_t b,vector< vector<size_t> >& precedence_graph)
-{
-#ifdef DEBUG_TS
-	cout << "Trying to add " << a << " -> " << b << " " ;
-#endif
-	bool found = false ;
-
-	for(size_t k=0;k<precedence_graph[a].size() && !found;++k)
-		if(precedence_graph[a][k] == b)
-			found = true ;
-
-#ifdef DEBUG_TS
-	if(found)
-		cout << "already" << endl ;
-	else
-		cout << "ok" << endl ;
-#endif
-	if(!found)
-		precedence_graph[a].push_back(b) ;
-}
-
-void TopologicalSortUtils::suppressPrecedence(size_t a,size_t b,vector< vector<size_t> >& precedence_graph)
-{
-	vector<size_t> prec_tab = vector<size_t>(precedence_graph[a]) ;
-	bool trouve = false ;
-
-	for(size_t k=0;k<prec_tab.size();++k)
-		if(prec_tab[k] == b)
-		{
-			prec_tab[k] = prec_tab[prec_tab.size()-1] ;
-			prec_tab.pop_back() ;
-		}
-
-	if(!trouve)
-		throw runtime_error("Unexpected error in suppressPrecedence") ;
-}
-
-void TopologicalSortUtils::topologicalSort(vector< vector<size_t> >& precedence_graph,
-														 vector<PtrPrimitive>& primitive_tab,
-														 VRenderParams& vparams)
-{
-	vector<PtrPrimitive> new_pr_tab ;
-	vector<bool> already_visited(primitive_tab.size(),false) ;
-	vector<bool> already_rendered(primitive_tab.size(),false) ;
-	size_t nb_skews = 0 ;
-
-        size_t info_cnt = primitive_tab.size()/200 + 1 ;
-	size_t nbrendered = 0 ;
-
-	// 1 - sorts primitives by rendering order
-
-	for(size_t i=0;i<primitive_tab.size();++i)
-		if(!already_rendered[i])
-			recursTopologicalSort(precedence_graph,primitive_tab,already_rendered,already_visited,new_pr_tab,i,nb_skews,vparams,info_cnt,nbrendered);
-
-#ifdef DEBUG_TS
-	if(nb_skews > 0)
-		cout << nb_skews << " cycles found." << endl ;
-	else
-		cout << "No cycles found." << endl ;
-#endif
-	primitive_tab = new_pr_tab ;
-}
-
-void TopologicalSortUtils::topologicalSortBreakCycles(vector< vector<size_t> >& precedence_graph,
-																		vector<PtrPrimitive>& primitive_tab,
-																		VRenderParams& vparams)
-{
-	vector<PtrPrimitive> new_pr_tab ;
-	vector<bool> already_visited(primitive_tab.size(),false) ;
-	vector<bool> already_rendered(primitive_tab.size(),false) ;
-	vector<size_t> ancestors ;
-	size_t nb_skews = 0 ;
-	size_t ancestors_backward_index ;
-
-	size_t info_cnt = primitive_tab.size()/200 + 1 ;
-	size_t nbrendered = 0 ;
-
-	// 1 - sorts primitives by rendering order
-
-	for(size_t i=0;i<primitive_tab.size();++i)
-		if(!already_rendered[i])
-			recursTopologicalSort(precedence_graph,primitive_tab,already_rendered,already_visited,
-										new_pr_tab,i,ancestors,ancestors_backward_index,nb_skews,vparams,info_cnt,nbrendered) ;
-
-#ifdef DEBUG_TS
-	if(nb_skews > 0)
-		cout << nb_skews << " cycles found." << endl ;
-	else
-		cout << "No cycles found." << endl ;
-#endif
-	primitive_tab = new_pr_tab ;
-}
-
-void TopologicalSortUtils::recursTopologicalSort(	vector< vector<size_t> >& precedence_graph,
-																	vector<PtrPrimitive>& primitive_tab,
-																	vector<bool>& already_rendered,
-																	vector<bool>& already_visited,
-																	vector<PtrPrimitive>& new_pr_tab,
-																	size_t indx,
-																	size_t& nb_cycles,
-																	VRenderParams& vparams,
-																	size_t info_cnt,size_t& nbrendered)
-{
-	// One must first render the primitives indicated by the precedence graph,
-	// then render the current primitive. Skews are detected, but and treated.
-
-	already_visited[indx] = true ;
-
-	for(size_t j=0;j<precedence_graph[indx].size();++j)
-	{
-		// Both tests are important. If we ommit the second one, the recursion is
-		// always performed down to the next cycle, although this is useless if
-		// the current primitive was rendered already.
-
-		if(!already_visited[precedence_graph[indx][j]])
-		{
-			if(!already_rendered[precedence_graph[indx][j]])
-				recursTopologicalSort(	precedence_graph,primitive_tab,already_rendered,already_visited,
-												new_pr_tab,precedence_graph[indx][j],nb_cycles,vparams,info_cnt,nbrendered) ;
-		}
-		else //  A cycle is detected, but in this version, it is not broken.
-			++nb_cycles ;
-	}
-
-	if(!already_rendered[indx])
-	{
-		new_pr_tab.push_back(primitive_tab[indx]) ;
-
-		if((++nbrendered)%info_cnt==0)
-			vparams.progress(nbrendered/(float)primitive_tab.size(), QGLViewer::tr("Topological sort")) ;
-	}
-
-	already_rendered[indx] = true ;
-	already_visited[indx] = false ;
-}
-
-void TopologicalSortUtils::recursTopologicalSort(	vector< vector<size_t> >& precedence_graph,
-																	vector<PtrPrimitive>& primitive_tab,
-																	vector<bool>& already_rendered,
-																	vector<bool>& already_visited,
-																	vector<PtrPrimitive>& new_pr_tab,
-																	size_t indx,
-																	vector<size_t>& ancestors,
-																	size_t& ancestors_backward_index,
-																	size_t& nb_cycles,
-																	VRenderParams& vparams,
-																	size_t info_cnt,size_t& nbrendered)
-{
-	// One must first render the primitives indicated by the precedence graph,
-	// then render the current primitive. Skews are detected, but and treated.
-
-	already_visited[indx] = true ;
-	ancestors.push_back(indx) ;
-
-	for(size_t j=0;j<precedence_graph[indx].size();++j)
-	{
-		// Both tests are important. If we ommit the second one, the recursion is
-		// always performed down to the next cycle, although this is useless if
-		// the current primitive was rendered already.
-
-		if(!already_visited[precedence_graph[indx][j]])
-		{
-			if(!already_rendered[precedence_graph[indx][j]])
-			{
-				recursTopologicalSort(	precedence_graph,primitive_tab,already_rendered,already_visited,
-												new_pr_tab,precedence_graph[indx][j],ancestors,ancestors_backward_index,nb_cycles,vparams,info_cnt,nbrendered) ;
-
-				if(ancestors_backward_index != INT_MAX && ancestors.size() > (size_t)(ancestors_backward_index+1))
-				{
-#ifdef DEBUG_TS
-					cout << "Returning early" << endl ;
-#endif
-					already_visited[indx] = false ;
-					ancestors.pop_back() ;
-					return;
-				}
-				if(ancestors_backward_index != INT_MAX) // we are returning from emergency. j must be re-tried
-					--j ;
-			}
-		}
-		else
-		{
-			//  A cycle is detected. It must be broken. The algorithm is the following: primitives of the cycle
-			// are successively split by a chosen splitting plane and the precendence graph is updated
-			// at the same time by re-computing primitive precedence. As soon as the cycle is broken,
-			// the algorithm stops and calls recursively calls on the new precedence graph. This necessarily
-			// happens because of the BSP-node nature of the current set of primitives.
-
-			// 0 - stats
-			++nb_cycles ;
-
-			// 0.5 - determine cycle beginning
-
-			long cycle_beginning_index = -1 ;
-            for(size_t i=ancestors.size()-1; long(i) >= 0 && cycle_beginning_index < 0;--i)
-				if(ancestors[i] == precedence_graph[indx][j])
-					cycle_beginning_index = (long)i ;
-#ifdef DEBUG_TS
-			cout << "Unbreaking cycle : " ;
-			for(size_t i=0;i<ancestors.size();++i)
-				cout << ancestors[i] << " " ;
-			cout << precedence_graph[indx][j] << endl ;
-#endif
-#ifdef DEBUG_TS
-			assert(cycle_beginning_index >= 0) ;
-#endif
-			// 1 - determine splitting plane
-
-			long split_prim_ancestor_indx = -1 ;
-			long split_prim_indx = -1 ;
-
-			// Go down ancestors tab, starting from the skewing primitive, and stopping at it.
-
-			for(size_t i2=(size_t)cycle_beginning_index;i2<ancestors.size() && split_prim_ancestor_indx < 0;++i2)
-				if(primitive_tab[ancestors[i2]]->nbVertices() > 2)
-				{
-					split_prim_ancestor_indx = (long)i2 ;
-					split_prim_indx = (long)ancestors[i2] ;
-				}
-
-#ifdef DEBUG_TS
-			cout << "Split primitive index = " << split_prim_ancestor_indx << "(primitive = " << split_prim_indx << ")" << endl ;
-#endif
-			if(split_prim_indx < 0)	// no need to unskew cycles between segments and points
-				continue ;
-
-			// 2 - split all necessary primitives
-
-			const Polygone *P = dynamic_cast<const Polygone *>(primitive_tab[(size_t)split_prim_indx]) ;
-			const NVector3& normal = NVector3(P->normal()) ;
-			double c(P->c()) ;
-			ancestors.push_back(precedence_graph[indx][j]) ;				// sentinel
-			ancestors.push_back(ancestors[(size_t)cycle_beginning_index+1]) ;	// sentinel
-			bool cycle_broken = false ;
-
-			for(size_t i3=(size_t)cycle_beginning_index+1;i3<ancestors.size()-1 && !cycle_broken;++i3)
-				if(ancestors[i3] != (size_t)split_prim_indx)
-				{
-					bool prim_lower_ante_contains_im1 = false ;
-					bool prim_upper_ante_contains_im1 = false ;
-					bool prim_lower_prec_contains_ip1 = false ;
-					bool prim_upper_prec_contains_ip1 = false ;
-
-					Primitive *prim_upper = NULL ;
-					Primitive *prim_lower = NULL ;
-
-					PrimitivePositioning::splitPrimitive(primitive_tab[ancestors[i3]],normal,c,prim_upper,prim_lower) ;
-
-					if(prim_upper == NULL || prim_lower == NULL)
-						continue ;
-#ifdef DEBUG_TS
-					cout << "Splitted primitive " << ancestors[i3] << endl ;
-#endif
-
-					vector<size_t> prim_upper_prec ;
-					vector<size_t> prim_lower_prec ;
-
-					vector<size_t> old_prec = vector<size_t>(precedence_graph[ancestors[i3]]) ;
-
-                                        size_t upper_indx = precedence_graph.size() ;
-					size_t lower_indx = ancestors[i3] ;
-
-					//  Updates the precedence graph downwards.
-
-					for(size_t k=0;k<old_prec.size();++k)
-					{
-						int prp1 = PrimitivePositioning::computeRelativePosition(prim_upper,primitive_tab[old_prec[k]]) ;
-#ifdef DEBUG_TS
-						cout << "Compariing " << upper_indx << " and " << old_prec[k] << ": " ;
-#endif
-						// It can not be Upper, because it was lower from the original primitive, but it is not
-						// necessary lower any longer because of the split.
-
-						if(prp1 & PrimitivePositioning::Lower)
-						{
-#ifdef DEBUG_TS
-							cout << " > " << endl ;
-#endif
-							prim_upper_prec.push_back(old_prec[k]) ;
-
-							if(old_prec[k] == ancestors[i3+1])
-								prim_upper_prec_contains_ip1 = true ;
-						}
-#ifdef DEBUG_TS
-						else
-							cout << " I " << endl ;
-#endif
-
-						int prp2 = PrimitivePositioning::computeRelativePosition(prim_lower,primitive_tab[old_prec[k]]) ;
-#ifdef DEBUG_TS
-						cout << "Compariing " << lower_indx << " and " << old_prec[k] << ": " ;
-#endif
-						if(prp2 & PrimitivePositioning::Lower)
-						{
-#ifdef DEBUG_TS
-							cout << " > " << endl ;
-#endif
-							prim_lower_prec.push_back(old_prec[k]) ;
-
-							if(old_prec[k] == ancestors[i3+1])
-								prim_lower_prec_contains_ip1 = true ;
-						}
-#ifdef DEBUG_TS
-						else
-							cout << " I " << endl ;
-#endif
-					}
-
-					// We also have to update the primitives which are upper to the
-					// current one, because some of them may not be upper anymore.
-					// This would requires either a O(n^2) algorithm, or to store an
-					// dual precedence graph. For now it's O(n^2). This test can not
-					// be skipped because upper can still be lower to ancestors[i-1].
-
-					for(size_t l=0;l<precedence_graph.size();++l)
-						if(l != (size_t)lower_indx)
-							for(size_t k=0;k<precedence_graph[l].size();++k)
-								if(precedence_graph[l][k] == ancestors[i3])
-								{
-									int prp1 = PrimitivePositioning::computeRelativePosition(prim_upper,primitive_tab[l]) ;
-
-									// It can not be Lower, because it was upper from the original primitive, but it is not
-									// necessary upper any longer because of the split.
-
-									if(prp1 & PrimitivePositioning::Upper)
-									{
-										// Still upper. Add the new index at end of the array
-
-										precedence_graph[l].push_back(upper_indx) ;
-
-										if(l == (size_t)ancestors[i3-1])
-											prim_upper_ante_contains_im1 = true ;
-									}
-									// If the primitive is not upper anymore there is
-									// nothing to change since the index has changed.
-
-									int prp2 = PrimitivePositioning::computeRelativePosition(prim_lower,primitive_tab[l]) ;
-#ifdef DEBUG_TS
-									cout << "Compariing " << l << " and " << lower_indx  << ": " ;
-#endif
-									if(prp2 & PrimitivePositioning::Upper)
-									{
-#ifdef DEBUG_TS
-										cout << " > " << endl ;
-#endif
-										if(l == (size_t)ancestors[i3-1])						 // The index is the same => nothing to change.
-											prim_lower_ante_contains_im1 = true ;
-									}
-									else
-									{
-#ifdef DEBUG_TS
-										cout << " I " << endl ;
-#endif
-										// Not upper anymore. We have to suppress this entry from the tab.
-
-										precedence_graph[l][k] = precedence_graph[l][precedence_graph[l].size()-1] ;
-										precedence_graph[l].pop_back() ;
-										--k ;
-									}
-
-									break ;	// each entry is present only once.
-								}
-
-					// setup recorded new info
-
-					primitive_tab.push_back(prim_upper) ;
-					delete primitive_tab[lower_indx] ;
-					primitive_tab[lower_indx] = prim_lower ;
-
-					// Adds the info to the precedence graph
-
-					precedence_graph.push_back(prim_upper_prec) ;
-					precedence_graph[lower_indx] = prim_lower_prec ;
-
-					// Adds new entries to the 'already_rendered' and 'already_visited' vectors
-					already_visited.push_back(false) ;
-					already_rendered.push_back(false) ;
-#ifdef DEBUG_TS
-					cout << "New precedence graph: " << endl ;
-					printPrecedenceGraph(precedence_graph,primitive_tab) ;
-#endif
-					// Checks if the cycle is broken. Because the graph is only
-					// updated downwards, we check wether lower (which still is
-					// lower to ancestors[i-1]) is upper to ancestors[i+1], or
-					// if upper is still .
-
-					if(( !(prim_lower_ante_contains_im1 && prim_lower_prec_contains_ip1))
-					  &&(!(prim_upper_ante_contains_im1 && prim_upper_prec_contains_ip1)))
-						cycle_broken = true ;
-				}
-
-			ancestors.pop_back() ;
-			ancestors.pop_back() ;
-
-			// 3 - recurs call
-
-			if(cycle_broken)
-			{
-				ancestors_backward_index = (size_t)cycle_beginning_index ;
-#ifdef DEBUG_TS
-				cout << "Cycle broken. Jumping back to rank " << ancestors_backward_index << endl ;
-#endif
-				already_visited[indx] = false ;
-				ancestors.pop_back() ;
-				return;
-			}
-#ifdef DEBUG_TS
-			else
-				cout << "Cycle could not be broken !!" << endl ;
-#endif
-		}
-	}
-
-	if(!already_rendered[indx])
-	{
-#ifdef DEBUG_TS
-		cout << "Returning ok. Rendered primitive " << indx << endl ;
-#endif
-		new_pr_tab.push_back(primitive_tab[indx]) ;
-
-		if((++nbrendered)%info_cnt==0)
-			vparams.progress(nbrendered/(float)primitive_tab.size(), QGLViewer::tr("Advanced topological sort")) ;
-	}
-
-	already_rendered[indx] = true ;
-	ancestors_backward_index = INT_MAX ;
-	already_visited[indx] = false ;
-	ancestors.pop_back() ;
-}
-} // namespace
diff --git a/SRC/QGLViewer/QGLViewer/VRender/Types.h b/SRC/QGLViewer/QGLViewer/VRender/Types.h
deleted file mode 100644
index e7c0944..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/Types.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef _VRENDER_TYPES_H
-#define _VRENDER_TYPES_H
-
-#ifdef WIN32
-# include <windows.h>
-#endif
-
-#ifdef __APPLE__
-# include <OpenGL/gl.h>
-#else
-# include <GL/gl.h>
-#endif
-
-namespace vrender
-{
-	typedef double FLOAT ;
-	typedef GLdouble GLFLOAT ;
-
-#ifdef A_VOIR
-	typedef T_Vect3<double> DVector3 ;
-	typedef T_Vect2<double> Vector2 ;
-#endif
-
-	class Primitive ;
-	typedef Primitive *PtrPrimitive ;
-
-	const float FLAT_POLYGON_EPS = 1e-5f ;
-}
-
-#endif
diff --git a/SRC/QGLViewer/QGLViewer/VRender/VRender.cpp b/SRC/QGLViewer/QGLViewer/VRender/VRender.cpp
deleted file mode 100644
index 60562fe..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/VRender.cpp
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifdef WIN32
-# include <windows.h>
-#endif
-
-#ifdef __APPLE__
-# include <OpenGL/gl.h>
-#else
-# include <GL/gl.h>
-#endif
-
-#include <stdio.h>
-#include <vector>
-#include <stdlib.h>
-#include <string.h>
-
-#include "VRender.h"
-#include "ParserGL.h"
-#include "Exporter.h"
-#include "SortMethod.h"
-#include "Optimizer.h"
-
-using namespace vrender ;
-using namespace std ;
-
-void vrender::VectorialRender(RenderCB render_callback, void *callback_params, VRenderParams& vparams)
-{
-	GLfloat *feedbackBuffer = NULL ;
-	SortMethod *sort_method = NULL ;
-	Exporter *exporter = NULL ;
-
-	try
-	{
-		GLint returned = -1 ;
-
-		vparams.error() = 0 ;
-
-		int nb_renders = 0 ;
-
-		vparams.progress(0.0, QGLViewer::tr("Rendering...")) ;
-
-		while(returned < 0)
-		{
-			if(feedbackBuffer != NULL)
-				delete[] feedbackBuffer ;
-
-			feedbackBuffer = new GLfloat[vparams.size()] ;
-
-			if(feedbackBuffer == NULL)
-				throw std::runtime_error("Out of memory during feedback buffer allocation.") ;
-
-			glFeedbackBuffer(vparams.size(), GL_3D_COLOR, feedbackBuffer);
-			glRenderMode(GL_FEEDBACK);
-			render_callback(callback_params);
-			returned = glRenderMode(GL_RENDER);
-
-			nb_renders++ ;
-
-			if(returned < 0)
-				vparams.size() *= 2 ;
-		}
-
-#ifdef A_VOIR
-		if(SortMethod != EPS_DONT_SORT)
-		{
-			GLint depth_bits ;
-			glGetIntegerv(GL_DEPTH_BITS, &depth_bits) ;
-
-			EGALITY_EPS 		= 2.0/(1 << depth_bits) ;
-			LINE_EGALITY_EPS 	= 2.0/(1 << depth_bits) ;
-		}
-#endif
-		if (returned > vparams.size())
-			vparams.size() = returned;
-#ifdef _VRENDER_DEBUG
-		cout << "Size = " << vparams.size() << ", returned=" << returned << endl ;
-#endif
-
-		//  On a un beau feedback buffer tout plein de saloperies. Faut aller
-		// defricher tout ca. Ouaiiiis !
-
-		vector<PtrPrimitive> primitive_tab ;
-
-		ParserGL parserGL ;
-		parserGL.parseFeedbackBuffer(feedbackBuffer,returned,primitive_tab,vparams) ;
-
-		if(feedbackBuffer != NULL)
-		{
-			delete[] feedbackBuffer ;
-			feedbackBuffer = NULL ;
-		}
-
-		if(vparams.isEnabled(VRenderParams::OptimizeBackFaceCulling))
-		{
-			BackFaceCullingOptimizer bfopt ;
-			bfopt.optimize(primitive_tab,vparams) ;
-		}
-
-		// Lance la methode de sorting
-
-		switch(vparams.sortMethod())
-		{
-		case VRenderParams::AdvancedTopologicalSort:
-		case VRenderParams::TopologicalSort: {
-			TopologicalSortMethod *tsm = new TopologicalSortMethod() ;
-			tsm->setBreakCycles(vparams.sortMethod() == VRenderParams::AdvancedTopologicalSort) ;
-			sort_method = tsm ;
-											 }
-											 break ;
-
-		case VRenderParams::BSPSort: 				sort_method = new BSPSortMethod() ;
-			break ;
-
-		case VRenderParams::NoSorting: 			sort_method = new DontSortMethod() ;
-			break ;
-		default:
-			throw std::runtime_error("Unknown sorting method.") ;
-		}
-
-		sort_method->sortPrimitives(primitive_tab,vparams) ;
-
-		// Lance les optimisations. L'ordre est important.
-
-		if(vparams.isEnabled(VRenderParams::CullHiddenFaces))
-		{
-			VisibilityOptimizer vopt ;
-			vopt.optimize(primitive_tab,vparams) ;
-		}
-
-#ifdef A_FAIRE
-		if(vparams.isEnabled(VRenderParams::OptimizePrimitiveSplit))
-		{
-			PrimitiveSplitOptimizer psopt ;
-			psopt.optimize(primitive_tab) ;
-		}
-#endif
-		// Ecrit le fichier
-
-		switch(vparams.format())
-		{
-		case VRenderParams::EPS: exporter = new EPSExporter() ;
-			break ;
-		case VRenderParams::PS:  exporter = new PSExporter() ;
-			break ;
-		case VRenderParams::XFIG:exporter = new FIGExporter() ;
-			break ;
-#ifdef A_FAIRE
-		case VRenderParams::SVG: exporter = new SVGExporter() ;
-			break ;
-#endif
-		default:
-			throw std::runtime_error("Sorry, this output format is not handled now. Only EPS and PS are currently supported.") ;
-		}
-
-		// sets background and black & white options
-
-		GLfloat viewport[4],clearColor[4],lineWidth,pointSize ;
-
-		glGetFloatv(GL_COLOR_CLEAR_VALUE, clearColor);
-		glGetFloatv(GL_LINE_WIDTH, &lineWidth);
-		glGetFloatv(GL_POINT_SIZE, &pointSize);
-		glGetFloatv(GL_VIEWPORT, viewport);
-
-		lineWidth /= (float)max(viewport[2] - viewport[0],viewport[3]-viewport[1]) ;
-
-		// Sets which bounding box to use.
-
-		if(vparams.isEnabled(VRenderParams::TightenBoundingBox))
-			exporter->setBoundingBox(parserGL.xmin(),parserGL.ymin(),parserGL.xmax(),parserGL.ymax()) ;
-		else
-			exporter->setBoundingBox(viewport[0],viewport[1],viewport[0]+viewport[2],viewport[1]+viewport[3]) ;
-
-		exporter->setBlackAndWhite(vparams.isEnabled(VRenderParams::RenderBlackAndWhite)) ;
-		exporter->setClearBackground(vparams.isEnabled(VRenderParams::AddBackground)) ;
-		exporter->setClearColor(clearColor[0],clearColor[1],clearColor[2]) ;
-
-		exporter->exportToFile(vparams.filename(),primitive_tab,vparams) ;
-
-		// deletes primitives
-
-		for(unsigned int i=0;i<primitive_tab.size();++i)
-			delete primitive_tab[i] ;
-
-		if(exporter != NULL) delete exporter ;
-		if(sort_method != NULL) delete sort_method ;
-	}
-	catch(exception& e)
-	{
-		cout << "Render aborted: " << e.what() << endl ;
-
-		if(exporter != NULL) delete exporter ;
-		if(sort_method != NULL) delete sort_method ;
-		if(feedbackBuffer != NULL) delete[] feedbackBuffer ;
-
-		throw e ;
-	}
-}
-
-VRenderParams::VRenderParams()
-{
-	_options = 0 ;
-	_format = EPS ;
-	_filename = "" ;
-	_progress_function = NULL ;
-	_sortMethod = BSPSort ;
-}
-
-VRenderParams::~VRenderParams()
-{}
-
-
-void VRenderParams::progress(float f, const QString& progress_string)
-{
-	_progress_function(f,progress_string) ;
-}
-
-void VRenderParams::setFilename(const QString& filename)
-{
-	_filename = filename;
-}
-
-void VRenderParams::setOption(VRenderOption opt,bool b)
-{
-	if(b)
-		_options |= opt ;
-	else
-		_options &= ~opt ;
-}
-
-bool VRenderParams::isEnabled(VRenderOption opt)
-{
-	return (_options & opt) > 0 ;
-}
diff --git a/SRC/QGLViewer/QGLViewer/VRender/VRender.h b/SRC/QGLViewer/QGLViewer/VRender/VRender.h
deleted file mode 100644
index 5235fe8..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/VRender.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef _VRENDER_H_
-#define _VRENDER_H_
-
-#include "../config.h"
-#include <QTextStream>
-#include <QString>
-
-#include "../qglviewer.h"
-
-namespace vrender
-{
-	class VRenderParams ;
-	typedef void (*RenderCB)(void *) ;
-	typedef void (*ProgressFunction)(float,const QString&) ;
-
-	void VectorialRender(RenderCB DrawFunc, void *callback_params, VRenderParams& render_params) ;
-
-	class VRenderParams
-	{
-		public:
-			VRenderParams() ;
-			~VRenderParams() ;
-
-			enum VRenderSortMethod { NoSorting, BSPSort, TopologicalSort, AdvancedTopologicalSort };
-			enum VRenderFormat     { EPS, PS, XFIG, SVG };
-
-			enum VRenderOption {	CullHiddenFaces         = 0x1,
-						OptimizeBackFaceCulling = 0x4,
-						RenderBlackAndWhite     = 0x8,
-						AddBackground           = 0x10,
-						TightenBoundingBox      = 0x20 } ;
-
-			int sortMethod()    { return _sortMethod; }
-			void setSortMethod(VRenderParams::VRenderSortMethod s) { _sortMethod = s ; }
-
-			int format()        { return _format; }
-			void setFormat(VRenderFormat f) { _format = f; }
-
-			const QString filename() { return _filename ; }
-			void setFilename(const QString& filename) ;
-
-			void setOption(VRenderOption,bool) ;
-			bool isEnabled(VRenderOption) ;
-
-			void setProgressFunction(ProgressFunction pf) { _progress_function = pf ; }
-
-		private:
-			int _error;
-			VRenderSortMethod _sortMethod;
-			VRenderFormat     _format ;
-
-			ProgressFunction _progress_function ;
-
-			unsigned int _options; // _DrawMode; _ClearBG; _TightenBB;
-			QString _filename;
-
-			friend void VectorialRender(	RenderCB render_callback,
-							void *callback_params,
-							VRenderParams& vparams);
-			friend class ParserGL ;
-			friend class Exporter ;
-			friend class BSPSortMethod ;
-			friend class VisibilityOptimizer ;
-			friend class TopologicalSortMethod ;
-			friend class TopologicalSortUtils ;
-
-			int& error() { return _error ; }
-			int& size()  { static int size=1000000; return size ; }
-
-			void progress(float,const QString&) ;
-	};
-}
-#endif
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/Vector2.cpp b/SRC/QGLViewer/QGLViewer/VRender/Vector2.cpp
deleted file mode 100644
index 2748b5b..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/Vector2.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "Vector2.h"
-#include "Vector3.h"
-#include <math.h>
-#include <algorithm>
-
-#ifdef WIN32
-# include <windows.h>
-#endif
-
-using namespace vrender;
-using namespace std;
-
-const Vector2 Vector2::inf(FLT_MAX, FLT_MAX);
-
-//! Default constructor
-Vector2::Vector2 ()
-{
-  _xyz[0] = 0.0;
-  _xyz[1] = 0.0;
-}
-
-// -----------------------------------------------------------------------------
-//! Default destructor
-Vector2::~Vector2 ()
-{
-}
-
-// -----------------------------------------------------------------------------
-//! Copy constructor
-Vector2::Vector2 (const Vector2& u)
-{
-  setXY(u[0],u[1]);
-}
-
-// -----------------------------------------------------------------------------
-//! Create a vector from real values
-Vector2::Vector2 (double x,double y)
-{
-  setXY(x,y);
-}
-
-Vector2::Vector2 (const Vector3& u)
-{
-  _xyz[0] = u[0];
-  _xyz[1] = u[1];
-}
-
-// -----------------------------------------------------------------------------
-//! Inverse
-Vector2 vrender::operator- (const Vector2& u)
-{
-  return Vector2(-u[0], -u[1]) ;
-}
-
-
-// -----------------------------------------------------------------------------
-//! Left multiplication by a real value
-Vector2 operator* (double r,const Vector2& u)
-{
-  return Vector2(r*u[0], r*u[1]) ;
-}
-
-
-// -----------------------------------------------------------------------------
-//! Norm
-double Vector2::norm () const
-{
-  return sqrt( _xyz[0]*_xyz[0] + _xyz[1]*_xyz[1] );
-}
-
-// -----------------------------------------------------------------------------
-//! Square norm (self dot product)
-double Vector2::squareNorm () const
-{
-  return _xyz[0]*_xyz[0] + _xyz[1]*_xyz[1] ;
-}
-
-// -----------------------------------------------------------------------------
-//! Infinite norm
-double Vector2::infNorm() const
-{
-  return max(fabs(_xyz[0]),fabs(_xyz[1])) ;
-}
-
-
-// -----------------------------------------------------------------------------
-//! Out stream override: prints the 3 vector components
-std::ostream& operator<< (std::ostream& out,const Vector2& u)
-{
-  out << u[0] << " " << u[1] ;
-  return ( out );
-}
-
-Vector2 Vector2::mini(const Vector2& v1,const Vector2& v2)
-{
-  return Vector2(std::min(v1[0],v2[0]),std::min(v1[1],v2[1])) ;
-}
-
-Vector2 Vector2::maxi(const Vector2& v1,const Vector2& v2)
-{
-  return Vector2(std::max(v1[0],v2[0]),std::max(v1[1],v2[1])) ;
-}
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/Vector2.h b/SRC/QGLViewer/QGLViewer/VRender/Vector2.h
deleted file mode 100644
index 9414768..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/Vector2.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef _VRENDER_VECTOR2_H
-#define _VRENDER_VECTOR2_H
-
-#include <stdexcept>
-#include <iostream>
-
-namespace vrender
-{
-  class Vector3;
-
-  class Vector2
-	{
-		public:
-			// ---------------------------------------------------------------------------
-			//! @name Constant
-			//@{
-			static const Vector2 inf;
-			//@}
-
-			// ---------------------------------------------------------------------------
-			//! @name Constructor(s) and destructor
-			//@{
-			Vector2 ();
-			~Vector2 ();
-			Vector2 (const Vector2&);
-			Vector2 (const Vector3& u);
-			Vector2 (double,double);
-			//@}
-
-			// ---------------------------------------------------------------------------
-			//! @name Access methods
-			//@{
-			inline double  x() const { return _xyz[0]; }
-			inline double  y() const { return _xyz[1]; }
-			inline void  setX(double r) { _xyz[0] = r; }
-			inline void  setY(double r) { _xyz[1] = r; }
-			inline void  setXY (double x,double y) { _xyz[0] = x; _xyz[1] = y; }
-			//@}
-
-			// ---------------------------------------------------------------------------
-			//! @name Assignment
-			//@{
-			inline Vector2& operator= (const Vector2& u)  { _xyz[0] = u._xyz[0]; _xyz[1] = u._xyz[1]; return *this; }
-			//@}
-
-			// ---------------------------------------------------------------------------
-			//! @name Comparisons
-			//@{
-			friend bool operator== (const Vector2&,const Vector2&);
-			friend bool operator!= (const Vector2&,const Vector2&);
-			//@}
-
-			// ---------------------------------------------------------------------------
-			//! @name Algebraic operations
-			//@{
-			inline Vector2& operator+= (const Vector2& v)
-			{
-				_xyz[0] += v._xyz[0];
-				_xyz[1] += v._xyz[1];
-				return *this;
-			}
-
-			inline Vector2& operator-= (const Vector2& v)
-			{
-				_xyz[0] -= v._xyz[0];
-				_xyz[1] -= v._xyz[1];
-				return *this;
-			}
-
-			inline Vector2& operator*= (double f) { _xyz[0] *= f; _xyz[1] *= f; return *this;}
-			inline Vector2& operator/= (double f) { _xyz[0] /= f; _xyz[1] /= f; return *this;}
-
-			friend Vector2 operator- (const Vector2&);
-			static Vector2 mini(const Vector2&,const Vector2&) ;
-			static Vector2 maxi(const Vector2&,const Vector2&) ;
-
-			inline Vector2 operator+(const Vector2& u) const
-			{
-				return Vector2(_xyz[0]+u._xyz[0],_xyz[1]+u._xyz[1]);
-			}
-			inline Vector2 operator-(const Vector2& u) const
-			{
-				return Vector2(_xyz[0]-u._xyz[0],_xyz[1]-u._xyz[1]);
-			}
-
-			inline double    operator*(const Vector2& u) const
-			{
-				return _xyz[0]*u._xyz[0] + _xyz[1]*u._xyz[1] ;
-			}
-
-			inline double operator^(const Vector2& v) const
-			{
-				return _xyz[0]*v._xyz[1] - _xyz[1]*v._xyz[0] ;
-			}
-
-			Vector2 operator/ (double v) { return Vector2(_xyz[0]/v,_xyz[1]/v); }
-			Vector2 operator* (double v) { return Vector2(_xyz[0]*v,_xyz[1]*v); }
-
-			friend Vector2 operator* (double,const Vector2&);
-			//@}
-
-			// ---------------------------------------------------------------------------
-			//! @name Metrics
-			//@{
-			double norm       () const;
-			double squareNorm () const;
-			double infNorm    () const; /// Should be used for most comparisons, for efficiency reasons.
-			//@}
-			// ---------------------------------------------------------------------------
-			//! @name Stream overrides
-			//@{
-			friend std::ostream& operator<< (std::ostream&,const Vector2&);
-			//@}
-
-			double  operator[] (int i) const
-			{
-				if((i < 0)||(i > 1))
-					throw std::runtime_error("Out of bounds in Vector2::operator[]") ;
-
-				return _xyz[i];
-			}
-
-			double& operator[] (int i)
-			{
-				if((i < 0)||(i > 1))
-					throw std::runtime_error("Out of bounds in Vector2::operator[]") ;
-
-				return _xyz[i];
-			}
-
-		private:
-			double _xyz[2];  //!< The 3 vector components
-
-	}; // interface of Vector2
-}
-
-#endif // _VECTOR2_H
diff --git a/SRC/QGLViewer/QGLViewer/VRender/Vector3.cpp b/SRC/QGLViewer/QGLViewer/VRender/Vector3.cpp
deleted file mode 100644
index 1292f5d..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/Vector3.cpp
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include <iostream>
-#include "Vector3.h"
-#include "NVector3.h"
-#include <math.h>
-#include <algorithm>
-
-#ifdef WIN32
-# include <windows.h>
-#endif
-
-using namespace vrender;
-using namespace std;
-
-const Vector3 Vector3::inf(FLT_MAX, FLT_MAX, FLT_MAX); 
-
-Vector3::Vector3 ()
-{
-  _xyz[0] = 0.0;
-  _xyz[1] = 0.0;
-  _xyz[2] = 0.0;
-}
-
-// -----------------------------------------------------------------------------
-//! Default destructor
-Vector3::~Vector3 ()
-{
-}
-
-// -----------------------------------------------------------------------------
-//! Copy constructor
-Vector3::Vector3 (const Vector3& u)
-{
-  setXYZ(u[0],u[1],u[2]);
-}
-
-// -----------------------------------------------------------------------------
-//! Copy constructor from a normalized vector
-Vector3::Vector3 (const NVector3& u)
-{
-  setXYZ(u[0],u[1],u[2]);
-}
-
-// -----------------------------------------------------------------------------
-//! Create a vector from real values
-Vector3::Vector3 (double x,double y,double z)
-{
-  setXYZ(x,y,z);
-}
-// -----------------------------------------------------------------------------
-//! Assignment with a normalized vector
-Vector3& Vector3::operator= (const NVector3& u)
-{
-  _xyz[0] = u[0];
-  _xyz[1] = u[1];
-  _xyz[2] = u[2];
-  return ( *this );
-}
-
-// -----------------------------------------------------------------------------
-//! Self addition with a normalized vector
-Vector3& Vector3::operator+= (const NVector3& u)
-{
-  _xyz[0] += u[0];
-  _xyz[1] += u[1];
-  _xyz[2] += u[2];
-  return ( *this );
-}
-
-// -----------------------------------------------------------------------------
-//! Self substraction with a normalized vector
-Vector3& Vector3::operator-= (const NVector3& u)
-{
-  _xyz[0] -= u[0];
-  _xyz[1] -= u[1];
-  _xyz[2] -= u[2];
-  return ( *this );
-}
-
-// -----------------------------------------------------------------------------
-//! Left multiplication by a real value
-Vector3 vrender::operator* (double r,const Vector3& u)
-{
-  return ( Vector3(r*u[0], r*u[1], r*u[2]) );
-}
-
-
-// -----------------------------------------------------------------------------
-//! Norm
-double Vector3::norm () const
-{
-  return sqrt( _xyz[0]*_xyz[0] + _xyz[1]*_xyz[1] + _xyz[2]*_xyz[2] );
-}
-
-// -----------------------------------------------------------------------------
-//! Square norm (self dot product)
-double Vector3::squareNorm () const
-{
-  return _xyz[0]*_xyz[0] + _xyz[1]*_xyz[1] + _xyz[2]*_xyz[2];
-}
-
-// -----------------------------------------------------------------------------
-//! Infinite norm
-double Vector3::infNorm() const
-{
-  return std::max(std::max(fabs(_xyz[0]),fabs(_xyz[1])),fabs(_xyz[2])) ;
-}
-
-
-// -----------------------------------------------------------------------------
-//! Out stream override: prints the 3 vector components
-std::ostream& vrender::operator<< (std::ostream& out,const Vector3& u)
-{
-  out << u[0] << " " << u[1] << " " << u[2];
-  return ( out );
-}
-
-Vector3 Vector3::mini(const Vector3& v1,const Vector3& v2)
-{
-  return Vector3(std::min(v1[0],v2[0]),std::min(v1[1],v2[1]),std::min(v1[2],v2[2])) ;
-}
-
-Vector3 Vector3::maxi(const Vector3& v1,const Vector3& v2)
-{
-  return Vector3(std::max(v1[0],v2[0]),std::max(v1[1],v2[1]),std::max(v1[2],v2[2])) ;
-}
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/Vector3.h b/SRC/QGLViewer/QGLViewer/VRender/Vector3.h
deleted file mode 100644
index f6a5853..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/Vector3.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef _VRENDER_VECTOR3_H
-#define _VRENDER_VECTOR3_H
-
-#include <stdexcept>
-
-#ifndef FLT_MAX
-# define FLT_MAX 9.99E20f
-#endif
-
-namespace vrender
-{
-  class NVector3;
-
-	class Vector3
-	{
-		public:
-			// ---------------------------------------------------------------------------
-			//! @name Constant
-			//@{
-			static const Vector3 inf;
-			//@}
-
-			// ---------------------------------------------------------------------------
-			//! @name Constructor(s) and destructor
-			//@{
-			Vector3 ();
-			~Vector3 ();
-			Vector3 (const Vector3&);
-			Vector3 (const NVector3&);
-			Vector3 (double, double, double);
-
-			//@}
-
-			// ---------------------------------------------------------------------------
-			//! @name Access methods
-			//@{
-			inline double  x() const { return _xyz[0]; }
-			inline double  y() const { return _xyz[1]; }
-			inline double  z() const { return _xyz[2]; }
-			inline void  setX(double r) { _xyz[0] = r; }
-			inline void  setY(double r) { _xyz[1] = r; }
-			inline void  setZ(double r) { _xyz[2] = r; }
-			inline void  setXYZ (double x,double y,double z) { _xyz[0] = x; _xyz[1] = y; _xyz[2] = z; }
-			//@}
-
-			// ---------------------------------------------------------------------------
-			//! @name Assignment
-			//@{
-			inline Vector3& operator= (const Vector3& u)  { _xyz[0] = u._xyz[0]; _xyz[1] = u._xyz[1]; _xyz[2] = u._xyz[2]; return *this; }
-			Vector3& operator= (const NVector3& u);
-			//@}
-
-			// ---------------------------------------------------------------------------
-			//! @name Comparisons
-			//@{
-			friend bool operator== (const Vector3&,const Vector3&);
-			friend bool operator!= (const Vector3&,const Vector3&);
-			//@}
-
-			// ---------------------------------------------------------------------------
-			//! @name Algebraic operations
-			//@{
-			inline Vector3& operator+= (const Vector3& v)
-			{
-				_xyz[0] += v._xyz[0];
-				_xyz[1] += v._xyz[1];
-				_xyz[2] += v._xyz[2];
-				return *this;
-			}
-
-			inline Vector3& operator-= (const Vector3& v)
-			{
-				_xyz[0] -= v._xyz[0];
-				_xyz[1] -= v._xyz[1];
-				_xyz[2] -= v._xyz[2];
-				return *this;
-			}
-
-			inline Vector3& operator*= (double f) { _xyz[0] *= f; _xyz[1] *= f; _xyz[2] *= f; return *this;}
-			inline Vector3& operator/= (double f) { _xyz[0] /= f; _xyz[1] /= f; _xyz[2] /= f; return *this;}
-
-			static Vector3 mini(const Vector3&,const Vector3&) ;
-			static Vector3 maxi(const Vector3&,const Vector3&) ;
-
-			Vector3& operator-= (const NVector3&);
-			Vector3& operator+= (const NVector3&);
-
-			friend Vector3 operator- (const Vector3& u) { return Vector3(-u[0], -u[1], -u[2]); }
-
-			inline Vector3 operator+(const Vector3& u) const
-			{
-				return Vector3(_xyz[0]+u._xyz[0],_xyz[1]+u._xyz[1],_xyz[2]+u._xyz[2]);
-			}
-			inline Vector3 operator-(const Vector3& u) const
-			{
-				return Vector3(_xyz[0]-u._xyz[0],_xyz[1]-u._xyz[1],_xyz[2]-u._xyz[2]);
-			}
-
-			inline double    operator*(const Vector3& u) const
-			{
-				return _xyz[0]*u._xyz[0] + _xyz[1]*u._xyz[1] + _xyz[2]*u._xyz[2];
-			}
-
-			inline Vector3 operator^(const Vector3& v) const
-			{
-				return Vector3(	_xyz[1]*v._xyz[2] - _xyz[2]*v._xyz[1],
-											_xyz[2]*v._xyz[0] - _xyz[0]*v._xyz[2],
-											_xyz[0]*v._xyz[1] - _xyz[1]*v._xyz[0]);
-			}
-
-			Vector3 operator/ (double v) { return Vector3(_xyz[0]/v,_xyz[1]/v,_xyz[2]/v); }
-			Vector3 operator* (double v) { return Vector3(_xyz[0]*v,_xyz[1]*v,_xyz[2]*v); }
-
-			friend Vector3 operator* (double,const Vector3&);
-			//@}
-
-			// ---------------------------------------------------------------------------
-			//! @name Metrics
-			//@{
-			double norm       () const;
-			double squareNorm () const;
-			double infNorm    () const; /// Should be used for most comparisons, for efficiency reasons.
-			//@}
-			// ---------------------------------------------------------------------------
-			//! @name Stream overrides
-			//@{
-			friend std::ostream& operator<< (std::ostream&,const Vector3&);
-			//@}
-
-			double  operator[] (int i) const
-			{
-				if((i < 0)||(i > 2))
-					throw std::runtime_error("Out of bounds in Vector3::operator[]") ;
-
-				return _xyz[i];
-			}
-
-			double& operator[] (int i)
-			{
-				if((i < 0)||(i > 2))
-					throw std::runtime_error("Out of bounds in Vector3::operator[]") ;
-
-				return _xyz[i];
-			}
-
-		private:
-			double _xyz[3];  //!< The 3 vector components
-
-	}; // interface of Vector3
-}
-#endif // _VECTOR3_H
diff --git a/SRC/QGLViewer/QGLViewer/VRender/VisibilityOptimizer.cpp b/SRC/QGLViewer/QGLViewer/VRender/VisibilityOptimizer.cpp
deleted file mode 100644
index 62271b7..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/VisibilityOptimizer.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include <vector>
-#include "VRender.h"
-#include "Optimizer.h"
-#include "Primitive.h"
-#include "gpc.h"
-#include "math.h"
-
-using namespace vrender ;
-using namespace std ;
-
-#ifdef A_FAIRE
-void VisibilityOptimizer::optimize(vector<PtrPrimitive>& primitives,float& percentage_finished,string& message)
-#else
-void VisibilityOptimizer::optimize(vector<PtrPrimitive>& primitives,VRenderParams& vparams)
-#endif
-{
-#ifdef DEBUG_VO
-        cout << "Optimizing visibility." << endl ;
-#endif
-        unsigned long N = primitives.size()/200 + 1 ;
-
-#ifdef DEBUG_EPSRENDER__SHOW1
-//	cout << "Showing viewer." << endl ;
-//	myViewer viewer ;
-//	viewer.show();
-        double minx =  FLT_MAX ;
-        double miny =  FLT_MAX ;
-        double maxx = -FLT_MAX ;
-        double maxy = -FLT_MAX ;
-        for(unsigned int i=0;i<primitives.size();++i)
-                for(int j=0;j<primitives[i]->nbVertices();++j)
-                {
-                        if(maxx < primitives[i]->vertex(j).x()) maxx = primitives[i]->vertex(j).x() ;
-                        if(maxy < primitives[i]->vertex(j).y()) maxy = primitives[i]->vertex(j).y() ;
-                        if(minx > primitives[i]->vertex(j).x()) minx = primitives[i]->vertex(j).x() ;
-                        if(miny > primitives[i]->vertex(j).y()) miny = primitives[i]->vertex(j).y() ;
-                }
-
-        glMatrixMode(GL_PROJECTION) ;
-        glLoadIdentity() ;
-        glOrtho(minx,maxx,miny,maxy,-1,1) ;
-        glMatrixMode(GL_MODELVIEW) ;
-        glLoadIdentity() ;
-
-        cout << "Window set to " << minx << " " << maxx << " " << miny << " " << maxy << endl ;
-        glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT) ;
-        glLineWidth(3.0) ;
-#endif
-
-        int nb_culled = 0 ;
-
-        // Ca serait pas mal mieux avec une interface c++...
-
-        gpc_polygon cumulated_union ;
-        cumulated_union.num_contours = 0 ;
-        cumulated_union.hole = NULL ;
-        cumulated_union.contour = NULL ;
-        size_t nboptimised = 0 ;
-
-        for(size_t pindex = primitives.size() - 1; long(pindex) >= 0;--pindex,++nboptimised)
-                if(primitives[pindex] != NULL)
-                {
-#ifdef A_FAIRE
-                        percentage_finished = pindex / (float)primitives.size() ;
-#endif
-
-                        if(primitives[pindex]->nbVertices() > 1)
-                        {
-#ifdef DEBUG_VO
-                                if(pindex%50==0)
-                                {
-                                        char buff[500] ;
-                                        sprintf(buff,"Left: % 6ld - Culled: % 6ld", pindex,(long)nb_culled) ;
-                                        fprintf(stdout,buff);
-
-                                        for(unsigned int j=0;j<strlen(buff);++j)
-                                                fprintf(stdout,"\b") ;
-
-                                        fflush(stdout) ;
-                                }
-#endif
-
-                                try
-                                {
-                                        PtrPrimitive p(primitives[pindex]) ;
-                                        gpc_polygon difference ;
-                                        gpc_polygon new_poly ;
-                                        gpc_polygon new_poly_reduced ;
-                                        new_poly.num_contours = 0 ;
-                                        new_poly.hole = NULL ;
-                                        new_poly.contour = NULL ;
-                                        new_poly_reduced.num_contours = 0 ;
-                                        new_poly_reduced.hole = NULL ;
-                                        new_poly_reduced.contour = NULL ;
-
-                                        // 1 - creates a gpc_polygon corresponding to the current primitive
-
-                                        gpc_vertex_list *new_poly_verts = new gpc_vertex_list ;
-                                        gpc_vertex_list *new_poly_reduced_verts = new gpc_vertex_list ;
-
-                                        double mx = 0.0 ;
-                                        double my = 0.0 ;
-
-                                        if(p->nbVertices() == 2)
-                                        {
-                                                new_poly_verts->num_vertices = 4 ;
-                                                new_poly_verts->vertex = new gpc_vertex[4] ;
-                                                new_poly_reduced_verts->num_vertices = 4 ;
-                                                new_poly_reduced_verts->vertex = new gpc_vertex[4] ;
-
-                                                double deps = 0.001 ;
-                                                double du = p->vertex(1).y()-p->vertex(0).y() ;
-                                                double dv = p->vertex(1).x()-p->vertex(0).x() ;
-                                                double n = sqrt(du*du+dv*dv) ;
-                                                du *= deps/n ;
-                                                dv *= deps/n ;
-                                                new_poly_verts->vertex[0].x = p->vertex(0).x() + du ;
-                                                new_poly_verts->vertex[0].y = p->vertex(0).y() + dv ;
-                                                new_poly_verts->vertex[1].x = p->vertex(1).x() + du ;
-                                                new_poly_verts->vertex[1].y = p->vertex(1).y() + dv ;
-                                                new_poly_verts->vertex[2].x = p->vertex(1).x() - du ;
-                                                new_poly_verts->vertex[2].y = p->vertex(1).y() - dv ;
-                                                new_poly_verts->vertex[3].x = p->vertex(0).x() - du ;
-                                                new_poly_verts->vertex[3].y = p->vertex(0).y() - dv ;
-
-                                                new_poly_reduced_verts->vertex[0].x = p->vertex(0).x() + du ;
-                                                new_poly_reduced_verts->vertex[0].y = p->vertex(0).y() + dv ;
-                                                new_poly_reduced_verts->vertex[1].x = p->vertex(1).x() + du ;
-                                                new_poly_reduced_verts->vertex[1].y = p->vertex(1).y() + dv ;
-                                                new_poly_reduced_verts->vertex[2].x = p->vertex(1).x() - du ;
-                                                new_poly_reduced_verts->vertex[2].y = p->vertex(1).y() - dv ;
-                                                new_poly_reduced_verts->vertex[3].x = p->vertex(0).x() - du ;
-                                                new_poly_reduced_verts->vertex[3].y = p->vertex(0).y() - dv ;
-                                        }
-                                        else
-                                        {
-                                                new_poly_verts->num_vertices = p->nbVertices() ;
-                                                new_poly_verts->vertex = new gpc_vertex[p->nbVertices()] ;
-
-                                                for(size_t i=0;i<p->nbVertices();++i)
-                                                {
-                                                        new_poly_verts->vertex[i].x = p->vertex(i).x() ;
-                                                        new_poly_verts->vertex[i].y = p->vertex(i).y() ;
-                                                        mx += p->vertex(i).x() ;
-                                                        my += p->vertex(i).y() ;
-                                                }
-                                                mx /= p->nbVertices() ;
-                                                my /= p->nbVertices() ;
-
-                                                new_poly_reduced_verts->num_vertices = p->nbVertices() ;
-                                                new_poly_reduced_verts->vertex = new gpc_vertex[p->nbVertices()] ;
-
-                                                for(size_t j=0;j<p->nbVertices();++j)
-                                                {
-                                                        new_poly_reduced_verts->vertex[j].x = mx + (p->vertex(j).x() - mx)*0.999 ;
-                                                        new_poly_reduced_verts->vertex[j].y = my + (p->vertex(j).y() - my)*0.999 ;
-                                                }
-                                        }
-                                        gpc_add_contour(&new_poly,new_poly_verts,false) ;
-                                        gpc_add_contour(&new_poly_reduced,new_poly_reduced_verts,false) ;
-
-                                        // 2 - computes the difference between this polygon, and the union of the
-                                        // 	preceeding ones.
-
-                                        gpc_polygon_clip(GPC_DIFF,&new_poly_reduced,&cumulated_union,&difference) ;
-
-                                        // 3 - checks the difference. If void, the primitive is not visible: skip it
-                                        // 	and go to next primitive.
-
-                                        if(difference.num_contours == 0)
-                                        {
-                                                ++nb_culled ;
-                                                delete p ;
-                                                primitives[pindex] = NULL ;
-                                                continue ;
-                                        }
-
-                                        // 4 - The primitive is visible. Let's add it to the cumulated union of
-                                        // 	primitives.
-
-                                        if(p->nbVertices() > 2)
-                                        {
-                                                gpc_polygon cumulated_union_tmp ;
-                                                cumulated_union_tmp.num_contours = 0 ;
-                                                cumulated_union_tmp.hole = NULL ;
-                                                cumulated_union_tmp.contour = NULL ;
-
-                                                gpc_polygon_clip(GPC_UNION,&new_poly,&cumulated_union,&cumulated_union_tmp) ;
-
-                                                gpc_free_polygon(&cumulated_union) ;
-                                                cumulated_union = cumulated_union_tmp ;
-                                        }
-
-                                        gpc_free_polygon(&new_poly) ;
-                                        gpc_free_polygon(&new_poly_reduced) ;
-                                        gpc_free_polygon(&difference) ;
-#ifdef DEBUG_EPSRENDER__SHOW1
-                                        glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT) ;
-
-                                        glColor3f(1.0,0.0,0.0) ;
-
-                                        for(unsigned long i=0;i<cumulated_union.num_contours;++i)
-                                        {
-                                                glBegin(GL_LINE_LOOP) ;
-                                                for(unsigned long j=0;j<cumulated_union.contour[i].num_vertices;++j)
-                                                        glVertex2f(cumulated_union.contour[i].vertex[j].x,cumulated_union.contour[i].vertex[j].y) ;
-                                                glEnd() ;
-                                        }
-
-                                        glFlush() ;
-                                        glXSwapBuffers(glXGetCurrentDisplay(),glXGetCurrentDrawable()) ;
-#endif
-                                }
-                                catch(exception& )
-                                {
-                                        ; // std::cout << "Could not treat primitive " << pindex << ": internal gpc error." << endl ;
-                                }
-                        }
-
-                        if(nboptimised%N==0)
-                                vparams.progress(nboptimised/(float)primitives.size(), QGLViewer::tr("Visibility optimization")) ;
-                }
-
-#ifdef DEBUG_VO
-        cout << nb_culled << " primitives culled over " << primitives.size() << "." << endl ;
-#endif
-
-        gpc_free_polygon(&cumulated_union) ;
-}
-
-
diff --git a/SRC/QGLViewer/QGLViewer/VRender/gpc.cpp b/SRC/QGLViewer/QGLViewer/VRender/gpc.cpp
deleted file mode 100644
index 96ffa3e..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/gpc.cpp
+++ /dev/null
@@ -1,2544 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-/*
-===========================================================================
-
-Project:   Generic Polygon Clipper
-
-		   A new algorithm for calculating the difference, intersection,
-		   exclusive-or or union of arbitrary polygon sets.
-
-File:      gpc.c
-Author:    Alan Murta (email: gpc at cs.man.ac.uk)
-Version:   2.32
-Date:      17th December 2004
-
-Copyright: (C) 1997-2004, Advanced Interfaces Group,
-		   University of Manchester.
-
-		   This software is free for non-commercial use. It may be copied,
-		   modified, and redistributed provided that this copyright notice
-		   is preserved on all copies. The intellectual property rights of
-		   the algorithms used reside with the University of Manchester
-		   Advanced Interfaces Group.
-
-		   You may not use this software, in whole or in part, in support
-		   of any commercial product without the express consent of the
-		   author.
-
-		   There is no warranty or other guarantee of fitness of this
-		   software for any purpose. It is provided solely "as is".
-
-===========================================================================
-*/
-
-
-/*
-===========================================================================
-								Includes
-===========================================================================
-*/
-
-#include <stdexcept>
-#include "gpc.h"
-#include <stdlib.h>
-#include <float.h>
-#include <math.h>
-
-using namespace std ;
-
-/*
-===========================================================================
-								Constants
-===========================================================================
-*/
-
-#ifndef TRUE
-#define FALSE              0
-#define TRUE               1
-#endif
-
-#define LEFT               0
-#define RIGHT              1
-
-#define ABOVE              0
-#define BELOW              1
-
-#define CLIP               0
-#define SUBJ               1
-
-#define INVERT_TRISTRIPS   FALSE
-
-
-/*
-===========================================================================
-								 Macros
-===========================================================================
-*/
-
-#define EQ(a, b)           (fabs((a) - (b)) <= GPC_EPSILON)
-
-#define PREV_INDEX(i, n)   ((i - 1 + n) % n)
-#define NEXT_INDEX(i, n)   ((i + 1    ) % n)
-
-#define OPTIMAL(v, i, n)   ((v[PREV_INDEX(i, n)].y != v[i].y) || \
-							(v[NEXT_INDEX(i, n)].y != v[i].y))
-
-#define FWD_MIN(v, i, n)   ((v[PREV_INDEX(i, n)].vertex.y >= v[i].vertex.y) \
-						 && (v[NEXT_INDEX(i, n)].vertex.y > v[i].vertex.y))
-
-#define NOT_FMAX(v, i, n)   (v[NEXT_INDEX(i, n)].vertex.y > v[i].vertex.y)
-
-#define REV_MIN(v, i, n)   ((v[PREV_INDEX(i, n)].vertex.y > v[i].vertex.y) \
-						 && (v[NEXT_INDEX(i, n)].vertex.y >= v[i].vertex.y))
-
-#define NOT_RMAX(v, i, n)   (v[PREV_INDEX(i, n)].vertex.y > v[i].vertex.y)
-
-#define VERTEX(e,p,s,x,y)  {add_vertex(&((e)->outp[(p)]->v[(s)]), x, y); \
-							(e)->outp[(p)]->active++;}
-
-#define P_EDGE(d,e,p,i,j)  {(d)= (e); \
-							do {(d)= (d)->prev;} while (!(d)->outp[(p)]); \
-							(i)= (d)->bot.x + (d)->dx * ((j)-(d)->bot.y);}
-
-#define N_EDGE(d,e,p,i,j)  {(d)= (e); \
-							do {(d)= (d)->next;} while (!(d)->outp[(p)]); \
-							(i)= (d)->bot.x + (d)->dx * ((j)-(d)->bot.y);}
-
-#define MALLOC(p, b, s, t) {if ((b) > 0) { \
-							p= (t*)malloc(b); if (!(p)) { \
-							fprintf(stderr, "gpc malloc failure: %s\n", s); \
-							exit(0);}} else p= NULL;}
-
-#define FREE(p)            {if (p) {free(p); (p)= NULL;}}
-
-
-/*
-===========================================================================
-							Private Data Types
-===========================================================================
-*/
-
-typedef enum                        /* Edge intersection classes         */
-{
-  NUL,                              /* Empty non-intersection            */
-  EMX,                              /* External maximum                  */
-  ELI,                              /* External left intermediate        */
-  TED,                              /* Top edge                          */
-  ERI,                              /* External right intermediate       */
-  RED,                              /* Right edge                        */
-  IMM,                              /* Internal maximum and minimum      */
-  IMN,                              /* Internal minimum                  */
-  EMN,                              /* External minimum                  */
-  EMM,                              /* External maximum and minimum      */
-  LED,                              /* Left edge                         */
-  ILI,                              /* Internal left intermediate        */
-  BED,                              /* Bottom edge                       */
-  IRI,                              /* Internal right intermediate       */
-  IMX,                              /* Internal maximum                  */
-  FUL                               /* Full non-intersection             */
-} vertex_type;
-
-typedef enum                        /* Horizontal edge states            */
-{
-  NH,                               /* No horizontal edge                */
-  BH,                               /* Bottom horizontal edge            */
-  TH                                /* Top horizontal edge               */
-} h_state;
-
-typedef enum                        /* Edge bundle state                 */
-{
-  UNBUNDLED,                        /* Isolated edge not within a bundle */
-  BUNDLE_HEAD,                      /* Bundle head node                  */
-  BUNDLE_TAIL                       /* Passive bundle tail node          */
-} bundle_state;
-
-typedef struct v_shape              /* Internal vertex list datatype     */
-{
-  double              x;            /* X coordinate component            */
-  double              y;            /* Y coordinate component            */
-  struct v_shape     *next;         /* Pointer to next vertex in list    */
-} vertex_node;
-
-class polygon_node              /* Internal contour / tristrip type  */
-{
-	public:
-		polygon_node(): next(0),proxy(0) { v[0]=0; v[1]=0; }
-
-		int                 active;       /* Active flag / vertex count        */
-		int                 hole;         /* Hole / external contour flag      */
-		vertex_node        *v[2];         /* Left and right vertex list ptrs   */
-		polygon_node       *next;         /* Pointer to next polygon contour   */
-		polygon_node       *proxy;        /* Pointer to actual structure used  */
-} ;
-
-class edge_node
-{
-	public:
-		edge_node()
-			: prev(0),next(0),pred(0),succ(0),next_bound(0)
-			{
-				outp[0] = 0 ;
-				outp[1] = 0 ;
-			}
-		gpc_vertex          vertex;       /* Piggy-backed contour vertex data  */
-		gpc_vertex          bot;          /* Edge lower (x, y) coordinate      */
-		gpc_vertex          top;          /* Edge upper (x, y) coordinate      */
-		double              xb;           /* Scanbeam bottom x coordinate      */
-		double              xt;           /* Scanbeam top x coordinate         */
-		double              dx;           /* Change in x for a unit y increase */
-		int                 type;         /* Clip / subject edge flag          */
-		int                 bundle[2][2]; /* Bundle edge flags                 */
-		int                 bside[2];     /* Bundle left / right indicators    */
-		bundle_state        bstate[2];    /* Edge bundle state                 */
-		polygon_node       *outp[2];      /* Output polygon / tristrip pointer */
-		edge_node  *prev;         			 /* Previous edge in the AET          */
-		edge_node  *next;         			 /* Next edge in the AET              */
-		edge_node  *pred;         			 /* Edge connected at the lower end   */
-		edge_node  *succ;         			 /* Edge connected at the upper end   */
-		edge_node  *next_bound;   			 /* Pointer to next bound in LMT      */
-} ;
-
-class lmt_node          					 /* Local minima table                */
-{
-	public:
-		lmt_node() : first_bound(0),next(0) {}
-		double              y;            /* Y coordinate at local minimum     */
-		edge_node          *first_bound;  /* Pointer to bound list             */
-		lmt_node   			 *next;         /* Pointer to next local minimum     */
-} ;
-
-typedef struct sbt_t_shape          /* Scanbeam tree                     */
-{
-  double              y;            /* Scanbeam node y value             */
-  struct sbt_t_shape *less;         /* Pointer to nodes with lower y     */
-  struct sbt_t_shape *more;         /* Pointer to nodes with higher y    */
-} sb_tree;
-
-typedef struct it_shape             /* Intersection table                */
-{
-  edge_node          *ie[2];        /* Intersecting edge (bundle) pair   */
-  gpc_vertex          point;        /* Point of intersection             */
-  struct it_shape    *next;         /* The next intersection table node  */
-} it_node;
-
-typedef struct st_shape             /* Sorted edge table                 */
-{
-  edge_node          *edge;         /* Pointer to AET edge               */
-  double              xb;           /* Scanbeam bottom x coordinate      */
-  double              xt;           /* Scanbeam top x coordinate         */
-  double              dx;           /* Change in x for a unit y increase */
-  struct st_shape    *prev;         /* Previous edge in sorted list      */
-} st_node;
-
-typedef struct bbox_shape           /* Contour axis-aligned bounding box */
-{
-  double             xmin;          /* Minimum x coordinate              */
-  double             ymin;          /* Minimum y coordinate              */
-  double             xmax;          /* Maximum x coordinate              */
-  double             ymax;          /* Maximum y coordinate              */
-} bbox;
-
-
-/*
-===========================================================================
-							   Global Data
-===========================================================================
-*/
-
-/* Horizontal edge state transitions within scanbeam boundary */
-const h_state next_h_state[3][6]=
-{
-  /*        ABOVE     BELOW     CROSS */
-  /*        L   R     L   R     L   R */
-  /* NH */ {BH, TH,   TH, BH,   NH, NH},
-  /* BH */ {NH, NH,   NH, NH,   TH, TH},
-  /* TH */ {NH, NH,   NH, NH,   BH, BH}
-};
-
-
-/*
-===========================================================================
-							 Private Functions
-===========================================================================
-*/
-
-static void reset_it(it_node **it)
-{
-  it_node *itn;
-
-  while (*it)
-  {
-	itn= (*it)->next;
-	FREE(*it);
-	*it= itn;
-  }
-}
-
-
-static void reset_lmt(lmt_node **lmt)
-{
-  lmt_node *lmtn;
-
-  while (*lmt)
-  {
-	lmtn= (*lmt)->next;
-	FREE(*lmt);
-	*lmt= lmtn;
-  }
-}
-
-
-static void insert_bound(edge_node **b, edge_node *e)
-{
-  edge_node *existing_bound;
-
-  if (!*b)
-  {
-	/* Link node e to the tail of the list */
-	*b= e;
-  }
-  else
-  {
-	/* Do primary sort on the x field */
-	if (e[0].bot.x < (*b)[0].bot.x)
-	{
-	  /* Insert a new node mid-list */
-	  existing_bound= *b;
-	  *b= e;
-	  (*b)->next_bound= existing_bound;
-	}
-	else
-	{
-	  if (e[0].bot.x == (*b)[0].bot.x)
-	  {
-		/* Do secondary sort on the dx field */
-		if (e[0].dx < (*b)[0].dx)
-		{
-		  /* Insert a new node mid-list */
-		  existing_bound= *b;
-		  *b= e;
-		  (*b)->next_bound= existing_bound;
-		}
-		else
-		{
-		  /* Head further down the list */
-		  insert_bound(&((*b)->next_bound), e);
-		}
-	  }
-	  else
-	  {
-		/* Head further down the list */
-		insert_bound(&((*b)->next_bound), e);
-	  }
-	}
-  }
-}
-
-
-static edge_node **bound_list(lmt_node **lmt, double y)
-{
-  lmt_node *existing_node;
-
-  if (!*lmt)
-  {
-	/* Add node onto the tail end of the LMT */
-	MALLOC(*lmt, sizeof(lmt_node), "LMT insertion", lmt_node);
-	(*lmt)->y= y;
-	(*lmt)->first_bound= NULL;
-	(*lmt)->next= NULL;
-	return &((*lmt)->first_bound);
-  }
-  else
-	if (y < (*lmt)->y)
-	{
-	  /* Insert a new LMT node before the current node */
-	  existing_node= *lmt;
-	  MALLOC(*lmt, sizeof(lmt_node), "LMT insertion", lmt_node);
-	  (*lmt)->y= y;
-	  (*lmt)->first_bound= NULL;
-	  (*lmt)->next= existing_node;
-	  return &((*lmt)->first_bound);
-	}
-	else
-	  if (y > (*lmt)->y)
-		/* Head further up the LMT */
-		return bound_list(&((*lmt)->next), y);
-	  else
-		/* Use this existing LMT node */
-		return &((*lmt)->first_bound);
-}
-
-
-static void add_to_sbtree(int *entries, sb_tree **sbtree, double y)
-{
-  if (!*sbtree)
-  {
-	/* Add a new tree node here */
-	MALLOC(*sbtree, sizeof(sb_tree), "scanbeam tree insertion", sb_tree);
-	(*sbtree)->y= y;
-	(*sbtree)->less= NULL;
-	(*sbtree)->more= NULL;
-	(*entries)++;
-  }
-  else
-  {
-	if ((*sbtree)->y > y)
-	{
-	/* Head into the 'less' sub-tree */
-	  add_to_sbtree(entries, &((*sbtree)->less), y);
-	}
-	else
-	{
-	  if ((*sbtree)->y < y)
-	  {
-		/* Head into the 'more' sub-tree */
-		add_to_sbtree(entries, &((*sbtree)->more), y);
-	  }
-	}
-  }
-}
-
-
-static void build_sbt(int *entries, double *sbt, sb_tree *sbtree)
-{
-  if (sbtree->less)
-	build_sbt(entries, sbt, sbtree->less);
-  sbt[*entries]= sbtree->y;
-  (*entries)++;
-  if (sbtree->more)
-	build_sbt(entries, sbt, sbtree->more);
-}
-
-
-static void free_sbtree(sb_tree **sbtree)
-{
-  if (*sbtree)
-  {
-	free_sbtree(&((*sbtree)->less));
-	free_sbtree(&((*sbtree)->more));
-	FREE(*sbtree);
-  }
-}
-
-
-static int count_optimal_vertices(gpc_vertex_list c)
-{
-  int result= 0;
-
-  /* Ignore non-contributing contours */
-  if (c.num_vertices > 0)
-  {
-	for (long i= 0; i < c.num_vertices; i++)
-	  /* Ignore superfluous vertices embedded in horizontal edges */
-	  if (OPTIMAL(c.vertex, i, c.num_vertices))
-		result++;
-  }
-  return result;
-}
-
-
-static edge_node *build_lmt(lmt_node **lmt, sb_tree **sbtree,
-							int *sbt_entries, gpc_polygon *p, int type,
-							gpc_op op)
-{
-  int          i, min, max, num_edges, v, num_vertices;
-  int          total_vertices= 0, e_index=0;
-  edge_node   *e, *edge_table;
-
-  for (size_t c= 0; c < p->num_contours; c++)
-	total_vertices+= count_optimal_vertices(p->contour[c]);
-
-  /* Create the entire input polygon edge table in one go */
-  MALLOC(edge_table, total_vertices * sizeof(edge_node), "edge table creation", edge_node);
-  for(int k=0;k<total_vertices;++k)
-	  edge_table[k] = edge_node() ;
-
-  for (size_t c= 0; c < p->num_contours; c++)
-  {
-	if (p->contour[c].num_vertices < 0)
-	{
-	  /* Ignore the non-contributing contour and repair the vertex count */
-	  p->contour[c].num_vertices= -p->contour[c].num_vertices;
-	}
-	else
-	{
-	  /* Perform contour optimisation */
-	  num_vertices= 0;
-	  for (i= 0; i < p->contour[c].num_vertices; i++)
-		if (OPTIMAL(p->contour[c].vertex, i, p->contour[c].num_vertices))
-		{
-		  edge_table[num_vertices].vertex.x= p->contour[c].vertex[i].x;
-		  edge_table[num_vertices].vertex.y= p->contour[c].vertex[i].y;
-
-		  /* Record vertex in the scanbeam table */
-		  add_to_sbtree(sbt_entries, sbtree,
-						edge_table[num_vertices].vertex.y);
-
-		  num_vertices++;
-		}
-
-	  /* Do the contour forward pass */
-	  for (min= 0; min < num_vertices; min++)
-	  {
-		/* If a forward local minimum... */
-		if (FWD_MIN(edge_table, min, num_vertices))
-		{
-		  /* Search for the next local maximum... */
-		  num_edges= 1;
-		  max= NEXT_INDEX(min, num_vertices);
-		  while (NOT_FMAX(edge_table, max, num_vertices))
-		  {
-			num_edges++;
-			max= NEXT_INDEX(max, num_vertices);
-		  }
-
-		  /* Build the next edge list */
-		  e= &edge_table[e_index];
-		  e_index+= num_edges;
-		  v= min;
-		  e[0].bstate[BELOW]= UNBUNDLED;
-		  e[0].bundle[BELOW][CLIP]= FALSE;
-		  e[0].bundle[BELOW][SUBJ]= FALSE;
-		  for (i= 0; i < num_edges; i++)
-		  {
-			e[i].xb= edge_table[v].vertex.x;
-			e[i].bot.x= edge_table[v].vertex.x;
-			e[i].bot.y= edge_table[v].vertex.y;
-
-			v= NEXT_INDEX(v, num_vertices);
-
-			e[i].top.x= edge_table[v].vertex.x;
-			e[i].top.y= edge_table[v].vertex.y;
-			e[i].dx= (edge_table[v].vertex.x - e[i].bot.x) /
-					   (e[i].top.y - e[i].bot.y);
-			e[i].type= type;
-			e[i].outp[ABOVE]= NULL;
-			e[i].outp[BELOW]= NULL;
-			e[i].next= NULL;
-			e[i].prev= NULL;
-			e[i].succ= ((num_edges > 1) && (i < (num_edges - 1))) ?
-					   &(e[i + 1]) : NULL;
-			e[i].pred= ((num_edges > 1) && (i > 0)) ? &(e[i - 1]) : NULL;
-			e[i].next_bound= NULL;
-			e[i].bside[CLIP]= (op == GPC_DIFF) ? RIGHT : LEFT;
-			e[i].bside[SUBJ]= LEFT;
-		  }
-		  insert_bound(bound_list(lmt, edge_table[min].vertex.y), e);
-		}
-	  }
-
-	  /* Do the contour reverse pass */
-	  for (min= 0; min < num_vertices; min++)
-	  {
-	  /* If a reverse local minimum... */
-		if (REV_MIN(edge_table, min, num_vertices))
-		{
-		  /* Search for the previous local maximum... */
-		  num_edges= 1;
-		  max= PREV_INDEX(min, num_vertices);
-		  while (NOT_RMAX(edge_table, max, num_vertices))
-		  {
-			num_edges++;
-			max= PREV_INDEX(max, num_vertices);
-		  }
-
-		  /* Build the previous edge list */
-		  e= &edge_table[e_index];
-		  e_index+= num_edges;
-		  v= min;
-		  e[0].bstate[BELOW]= UNBUNDLED;
-		  e[0].bundle[BELOW][CLIP]= FALSE;
-		  e[0].bundle[BELOW][SUBJ]= FALSE;
-		  for (i= 0; i < num_edges; i++)
-		  {
-			e[i].xb= edge_table[v].vertex.x;
-			e[i].bot.x= edge_table[v].vertex.x;
-			e[i].bot.y= edge_table[v].vertex.y;
-
-			v= PREV_INDEX(v, num_vertices);
-
-			e[i].top.x= edge_table[v].vertex.x;
-			e[i].top.y= edge_table[v].vertex.y;
-			e[i].dx= (edge_table[v].vertex.x - e[i].bot.x) /
-					   (e[i].top.y - e[i].bot.y);
-			e[i].type= type;
-			e[i].outp[ABOVE]= NULL;
-			e[i].outp[BELOW]= NULL;
-			e[i].next= NULL;
-			e[i].prev= NULL;
-			e[i].succ= ((num_edges > 1) && (i < (num_edges - 1))) ?
-					   &(e[i + 1]) : NULL;
-			e[i].pred= ((num_edges > 1) && (i > 0)) ? &(e[i - 1]) : NULL;
-			e[i].next_bound= NULL;
-			e[i].bside[CLIP]= (op == GPC_DIFF) ? RIGHT : LEFT;
-			e[i].bside[SUBJ]= LEFT;
-		  }
-		  insert_bound(bound_list(lmt, edge_table[min].vertex.y), e);
-		}
-	  }
-	}
-  }
-  return edge_table;
-}
-
-
-static void add_edge_to_aet(edge_node **aet, edge_node *edge, edge_node *prev)
-{
-  if (!*aet)
-  {
-	/* Append edge onto the tail end of the AET */
-	*aet= edge;
-	edge->prev= prev;
-	edge->next= NULL;
-  }
-  else
-  {
-	/* Do primary sort on the xb field */
-	if (edge->xb < (*aet)->xb)
-	{
-	  /* Insert edge here (before the AET edge) */
-	  edge->prev= prev;
-	  edge->next= *aet;
-	  (*aet)->prev= edge;
-	  *aet= edge;
-	}
-	else
-	{
-	  if (edge->xb == (*aet)->xb)
-	  {
-		/* Do secondary sort on the dx field */
-		if (edge->dx < (*aet)->dx)
-		{
-		  /* Insert edge here (before the AET edge) */
-		  edge->prev= prev;
-		  edge->next= *aet;
-		  (*aet)->prev= edge;
-		  *aet= edge;
-		}
-		else
-		{
-		  /* Head further into the AET */
-		  add_edge_to_aet(&((*aet)->next), edge, *aet);
-		}
-	  }
-	  else
-	  {
-		/* Head further into the AET */
-		add_edge_to_aet(&((*aet)->next), edge, *aet);
-	  }
-	}
-  }
-}
-
-
-static void add_intersection(it_node **it, edge_node *edge0, edge_node *edge1,
-							 double x, double y)
-{
-  it_node *existing_node;
-
-  if (!*it)
-  {
-	/* Append a new node to the tail of the list */
-	MALLOC(*it, sizeof(it_node), "IT insertion", it_node);
-	(*it)->ie[0]= edge0;
-	(*it)->ie[1]= edge1;
-	(*it)->point.x= x;
-	(*it)->point.y= y;
-	(*it)->next= NULL;
-  }
-  else
-  {
-	if ((*it)->point.y > y)
-	{
-	  /* Insert a new node mid-list */
-	  existing_node= *it;
-	  MALLOC(*it, sizeof(it_node), "IT insertion", it_node);
-	  (*it)->ie[0]= edge0;
-	  (*it)->ie[1]= edge1;
-	  (*it)->point.x= x;
-	  (*it)->point.y= y;
-	  (*it)->next= existing_node;
-	}
-	else
-	  /* Head further down the list */
-	  add_intersection(&((*it)->next), edge0, edge1, x, y);
-  }
-}
-
-
-static void add_st_edge(st_node **st, it_node **it, edge_node *edge,
-						double dy)
-{
-  st_node *existing_node;
-  double   den, r, x, y;
-
-  if (!*st)
-  {
-	/* Append edge onto the tail end of the ST */
-	MALLOC(*st, sizeof(st_node), "ST insertion", st_node);
-	(*st)->edge= edge;
-	(*st)->xb= edge->xb;
-	(*st)->xt= edge->xt;
-	(*st)->dx= edge->dx;
-	(*st)->prev= NULL;
-  }
-  else
-  {
-	den= ((*st)->xt - (*st)->xb) - (edge->xt - edge->xb);
-
-	/* If new edge and ST edge don't cross */
-	if ((edge->xt >= (*st)->xt) || (edge->dx == (*st)->dx) ||
-		(fabs(den) <= DBL_EPSILON))
-	{
-	  /* No intersection - insert edge here (before the ST edge) */
-	  existing_node= *st;
-	  MALLOC(*st, sizeof(st_node), "ST insertion", st_node);
-	  (*st)->edge= edge;
-	  (*st)->xb= edge->xb;
-	  (*st)->xt= edge->xt;
-	  (*st)->dx= edge->dx;
-	  (*st)->prev= existing_node;
-	}
-	else
-	{
-	  /* Compute intersection between new edge and ST edge */
-	  r= (edge->xb - (*st)->xb) / den;
-	  x= (*st)->xb + r * ((*st)->xt - (*st)->xb);
-	  y= r * dy;
-
-	  /* Insert the edge pointers and the intersection point in the IT */
-	  add_intersection(it, (*st)->edge, edge, x, y);
-
-	  /* Head further into the ST */
-	  add_st_edge(&((*st)->prev), it, edge, dy);
-	}
-  }
-}
-
-
-static void build_intersection_table(it_node **it, edge_node *aet, double dy)
-{
-  st_node   *st, *stp;
-  edge_node *edge;
-
-  /* Build intersection table for the current scanbeam */
-  reset_it(it);
-  st= NULL;
-
-  /* Process each AET edge */
-  for (edge= aet; edge; edge= edge->next)
-  {
-	if ((edge->bstate[ABOVE] == BUNDLE_HEAD) ||
-		 edge->bundle[ABOVE][CLIP] || edge->bundle[ABOVE][SUBJ])
-	  add_st_edge(&st, it, edge, dy);
-  }
-
-  /* Free the sorted edge table */
-  while (st)
-  {
-	stp= st->prev;
-	FREE(st);
-	st= stp;
-  }
-}
-
-static int count_contours(polygon_node *polygon)
-{
-  int          nc, nv;
-  vertex_node *v, *nextv;
-
-  for (nc= 0; polygon; polygon= polygon->next)
-	if (polygon->active)
-	{
-	  /* Count the vertices in the current contour */
-	  nv= 0;
-	  for (v= polygon->proxy->v[LEFT]; v; v= v->next)
-		nv++;
-
-	  /* Record valid vertex counts in the active field */
-	  if (nv > 2)
-	  {
-		polygon->active= nv;
-		nc++;
-	  }
-	  else
-	  {
-		/* Invalid contour: just free the heap */
-		for (v= polygon->proxy->v[LEFT]; v; v= nextv)
-		{
-		  nextv= v->next;
-		  FREE(v);
-		}
-		polygon->active= 0;
-	  }
-	}
-  return nc;
-}
-
-
-static void add_left(polygon_node *p, double x, double y)
-{
-  vertex_node *nv;
-
-  if(p == NULL) throw runtime_error("GPC: Something's wrong.") ;
-
-  /* Create a new vertex node and set its fields */
-  MALLOC(nv, sizeof(vertex_node), "vertex node creation", vertex_node);
-  nv->x= x;
-  nv->y= y;
-
-  /* Add vertex nv to the left end of the polygon's vertex list */
-  nv->next= p->proxy->v[LEFT];
-
-  /* Update proxy->[LEFT] to point to nv */
-  p->proxy->v[LEFT]= nv;
-}
-
-
-static void merge_left(polygon_node *p, polygon_node *q, polygon_node *list)
-{
-  polygon_node *target;
-
-  if(p == NULL) throw runtime_error("GPC: Something's wrong.") ;
-  if(q == NULL) throw runtime_error("GPC: Something's wrong.") ;
-
-  /* Label contour as a hole */
-  q->proxy->hole= TRUE;
-
-  if (p->proxy != q->proxy)
-  {
-	/* Assign p's vertex list to the left end of q's list */
-	p->proxy->v[RIGHT]->next= q->proxy->v[LEFT];
-	q->proxy->v[LEFT]= p->proxy->v[LEFT];
-
-	/* Redirect any p->proxy references to q->proxy */
-
-	for (target= p->proxy; list; list= list->next)
-	{
-	  if (list->proxy == target)
-	  {
-		list->active= FALSE;
-		list->proxy= q->proxy;
-	  }
-	}
-  }
-}
-
-
-static void add_right(polygon_node *p, double x, double y)
-{
-  vertex_node *nv = 0;
-
-  if(p == NULL) throw runtime_error("GPC: Something's wrong.") ;
-
-  /* Create a new vertex node and set its fields */
-  MALLOC(nv, sizeof(vertex_node), "vertex node creation", vertex_node);
-  nv->x= x;
-  nv->y= y;
-  nv->next= NULL;
-
-  /* Add vertex nv to the right end of the polygon's vertex list */
-  p->proxy->v[RIGHT]->next= nv;
-
-  /* Update proxy->v[RIGHT] to point to nv */
-  p->proxy->v[RIGHT]= nv;
-}
-
-
-static void merge_right(polygon_node *p, polygon_node *q, polygon_node *list)
-{
-  polygon_node *target = 0;
-
-  if(p == NULL) throw runtime_error("GPC: Something's wrong.") ;
-  if(q == NULL) throw runtime_error("GPC: Something's wrong.") ;
-
-
-  /* Label contour as external */
-  q->proxy->hole= FALSE;
-
-  if (p->proxy != q->proxy)
-  {
-	/* Assign p's vertex list to the right end of q's list */
-	q->proxy->v[RIGHT]->next= p->proxy->v[LEFT];
-	q->proxy->v[RIGHT]= p->proxy->v[RIGHT];
-
-	/* Redirect any p->proxy references to q->proxy */
-	for (target= p->proxy; list; list= list->next)
-	{
-	  if (list->proxy == target)
-	  {
-		list->active= FALSE;
-		list->proxy= q->proxy;
-	  }
-	}
-  }
-}
-
-
-static void add_local_min(polygon_node **p, edge_node *edge,
-						  double x, double y)
-{
-  polygon_node *existing_min = 0;
-  vertex_node  *nv;
-
-  existing_min= *p;
-
-  MALLOC(*p, sizeof(polygon_node), "polygon node creation", polygon_node);
-  **p = polygon_node() ;
-
-  /* Create a new vertex node and set its fields */
-  MALLOC(nv, sizeof(vertex_node), "vertex node creation", vertex_node);
-  *nv = vertex_node() ;
-
-  nv->x= x;
-  nv->y= y;
-  nv->next= NULL;
-
-  /* Initialise proxy to point to p itself */
-  (*p)->proxy= (*p);
-  (*p)->active= TRUE;
-  (*p)->next= existing_min;
-
-  /* Make v[LEFT] and v[RIGHT] point to new vertex nv */
-  (*p)->v[LEFT]= nv;
-  (*p)->v[RIGHT]= nv;
-
-  /* Assign polygon p to the edge */
-  edge->outp[ABOVE]= *p;
-}
-
-
-static int count_tristrips(polygon_node *tn)
-{
-  int total;
-
-  for (total= 0; tn; tn= tn->next)
-	if (tn->active > 2)
-	  total++;
-  return total;
-}
-
-
-static void add_vertex(vertex_node **t, double x, double y)
-{
-  if (!(*t))
-  {
-	MALLOC(*t, sizeof(vertex_node), "tristrip vertex creation", vertex_node);
-	(*t)->x= x;
-	(*t)->y= y;
-	(*t)->next= NULL;
-  }
-  else
-	/* Head further down the list */
-	add_vertex(&((*t)->next), x, y);
-}
-
-
-static void new_tristrip(polygon_node **tn, edge_node *edge,
-						 double x, double y)
-{
-  if (!(*tn))
-  {
-	MALLOC(*tn, sizeof(polygon_node), "tristrip node creation", polygon_node);
-	 **tn = polygon_node() ;
-
-	(*tn)->next= NULL;
-	(*tn)->v[LEFT]= NULL;
-	(*tn)->v[RIGHT]= NULL;
-	(*tn)->active= 1;
-	add_vertex(&((*tn)->v[LEFT]), x, y);
-	edge->outp[ABOVE]= *tn;
-  }
-  else
-	/* Head further down the list */
-	new_tristrip(&((*tn)->next), edge, x, y);
-}
-
-
-static bbox *create_contour_bboxes(gpc_polygon *p)
-{
-  bbox *box;
-  int   v;
-
-  MALLOC(box, p->num_contours * sizeof(bbox), "Bounding box creation", bbox);
-
-  /* Construct contour bounding boxes */
-  for (size_t c= 0; c < p->num_contours; c++)
-  {
-	/* Initialise bounding box extent */
-	box[c].xmin= DBL_MAX;
-	box[c].ymin= DBL_MAX;
-	box[c].xmax= -DBL_MAX;
-	box[c].ymax= -DBL_MAX;
-
-	for (v= 0; v < p->contour[c].num_vertices; v++)
-	{
-	  /* Adjust bounding box */
-	  if (p->contour[c].vertex[v].x < box[c].xmin)
-		box[c].xmin= p->contour[c].vertex[v].x;
-	  if (p->contour[c].vertex[v].y < box[c].ymin)
-		box[c].ymin= p->contour[c].vertex[v].y;
-	  if (p->contour[c].vertex[v].x > box[c].xmax)
-		box[c].xmax= p->contour[c].vertex[v].x;
-	  if (p->contour[c].vertex[v].y > box[c].ymax)
-		  box[c].ymax= p->contour[c].vertex[v].y;
-	}
-  }
-  return box;
-}
-
-
-static void minimax_test(gpc_polygon *subj, gpc_polygon *clip, gpc_op op)
-{
-  bbox *s_bbox, *c_bbox;
-  int   *o_table, overlap;
-
-  s_bbox= create_contour_bboxes(subj);
-  c_bbox= create_contour_bboxes(clip);
-
-  MALLOC(o_table, subj->num_contours * clip->num_contours * sizeof(int),
-		 "overlap table creation", int);
-
-  /* Check all subject contour bounding boxes against clip boxes */
-  for (size_t s= 0; s < subj->num_contours; s++)
-	for (size_t c= 0; c < clip->num_contours; c++)
-	  o_table[c * subj->num_contours + s]=
-			 (!((s_bbox[s].xmax < c_bbox[c].xmin) ||
-				(s_bbox[s].xmin > c_bbox[c].xmax))) &&
-			 (!((s_bbox[s].ymax < c_bbox[c].ymin) ||
-				(s_bbox[s].ymin > c_bbox[c].ymax)));
-
-  /* For each clip contour, search for any subject contour overlaps */
-  for (size_t c= 0; c < clip->num_contours; c++)
-  {
-	overlap= 0;
-	for (size_t s= 0; (!overlap) && (s < subj->num_contours); s++)
-	  overlap= o_table[c * subj->num_contours + s];
-
-	if (!overlap)
-	  /* Flag non contributing status by negating vertex count */
-	  clip->contour[c].num_vertices = -clip->contour[c].num_vertices;
-  }
-
-  if (op == GPC_INT)
-  {
-	/* For each subject contour, search for any clip contour overlaps */
-	for (size_t s= 0; s < subj->num_contours; s++)
-	{
-	  overlap= 0;
-	  for (size_t c= 0; (!overlap) && (c < clip->num_contours); c++)
-		overlap= o_table[c * subj->num_contours + s];
-
-	  if (!overlap)
-		/* Flag non contributing status by negating vertex count */
-		subj->contour[s].num_vertices = -subj->contour[s].num_vertices;
-	}
-  }
-
-  FREE(s_bbox);
-  FREE(c_bbox);
-  FREE(o_table);
-}
-
-
-/*
-===========================================================================
-							 Public Functions
-===========================================================================
-*/
-
-void gpc_free_polygon(gpc_polygon *p)
-{
-  for (size_t c= 0; c < p->num_contours; c++)
-	FREE(p->contour[c].vertex);
-  FREE(p->hole);
-  FREE(p->contour);
-  p->num_contours= 0;
-}
-
-/* Unused and fscanf creates compilation warnings
-void gpc_read_polygon(FILE *fp, int read_hole_flags, gpc_polygon *p)
-{
-  int c, v;
-
-  fscanf(fp, "%d", &(p->num_contours));
-  MALLOC(p->hole, p->num_contours * sizeof(int),
-		 "hole flag array creation", int);
-  MALLOC(p->contour, p->num_contours
-		 * sizeof(gpc_vertex_list), "contour creation", gpc_vertex_list);
-  for (c= 0; c < p->num_contours; c++)
-  {
-	fscanf(fp, "%d", &(p->contour[c].num_vertices));
-
-	if (read_hole_flags)
-	  fscanf(fp, "%d", &(p->hole[c]));
-	else
-	  p->hole[c]= FALSE; // Assume all contours to be external
-
-	MALLOC(p->contour[c].vertex, p->contour[c].num_vertices
-		   * sizeof(gpc_vertex), "vertex creation", gpc_vertex);
-	for (v= 0; v < p->contour[c].num_vertices; v++)
-	  fscanf(fp, "%lf %lf", &(p->contour[c].vertex[v].x),
-							&(p->contour[c].vertex[v].y));
-  }
-}
-*/
-
-void gpc_write_polygon(FILE *fp, int write_hole_flags, gpc_polygon *p)
-{
-  fprintf(fp, "%lu\n", p->num_contours);
-  for (size_t c= 0; c < p->num_contours; c++)
-  {
-	fprintf(fp, "%lu\n", p->contour[c].num_vertices);
-
-	if (write_hole_flags)
-	  fprintf(fp, "%d\n", p->hole[c]);
-
-	for (long v= 0; v < p->contour[c].num_vertices; v++)
-	  fprintf(fp, "% .*lf % .*lf\n",
-			  DBL_DIG, p->contour[c].vertex[v].x,
-			  DBL_DIG, p->contour[c].vertex[v].y);
-  }
-}
-
-
-void gpc_add_contour(gpc_polygon *p, gpc_vertex_list *new_contour, int hole)
-{
-  int             *extended_hole;
-  size_t c;
-  gpc_vertex_list *extended_contour;
-
-  /* Create an extended hole array */
-  MALLOC(extended_hole, (p->num_contours + 1)
-		 * sizeof(int), "contour hole addition", int);
-
-  /* Create an extended contour array */
-  MALLOC(extended_contour, (p->num_contours + 1)
-		 * sizeof(gpc_vertex_list), "contour addition", gpc_vertex_list);
-
-  /* Copy the old contour and hole data into the extended arrays */
-  for (c= 0; c < p->num_contours; c++)
-  {
-	extended_hole[c]= p->hole[c];
-	extended_contour[c]= p->contour[c];
-  }
-
-  /* Copy the new contour and hole onto the end of the extended arrays */
-  c= p->num_contours;
-  extended_hole[c]= hole;
-  extended_contour[c].num_vertices= new_contour->num_vertices;
-  MALLOC(extended_contour[c].vertex, new_contour->num_vertices
-		 * sizeof(gpc_vertex), "contour addition", gpc_vertex);
-  for (long v= 0; v < new_contour->num_vertices; v++)
-	extended_contour[c].vertex[v]= new_contour->vertex[v];
-
-  /* Dispose of the old contour */
-  FREE(p->contour);
-  FREE(p->hole);
-
-  /* Update the polygon information */
-  p->num_contours++;
-  p->hole= extended_hole;
-  p->contour= extended_contour;
-}
-
-
-void gpc_polygon_clip(gpc_op op, gpc_polygon *subj, gpc_polygon *clip,
-					  gpc_polygon *result)
-{
-  sb_tree       *sbtree= NULL;
-  it_node       *it= NULL, *intersect=0;
-  edge_node     *edge=0, *prev_edge=0, *next_edge=0, *succ_edge=0, *e0=0, *e1=0;
-  edge_node     *aet= NULL, *c_heap= NULL, *s_heap= NULL;
-  lmt_node      *lmt= NULL, *local_min=0;
-  polygon_node  *out_poly= NULL, *p=0, *q=0, *poly=0, *npoly=0, *cf= NULL;
-  vertex_node   *vtx=0, *nv=0;
-  h_state        horiz[2];
-  int            in[2], exists[2], parity[2]= {LEFT, LEFT};
-  int            c, v, contributing=0, search, scanbeam= 0, sbt_entries= 0;
-  int            vclass=0, bl=0, br=0, tl=0, tr=0;
-  double        *sbt= NULL, xb, px, yb, yt=0.0, dy=0.0, ix, iy;
-
-  /* Test for trivial NULL result cases */
-  if (((subj->num_contours == 0) && (clip->num_contours == 0))
-   || ((subj->num_contours == 0) && ((op == GPC_INT) || (op == GPC_DIFF)))
-   || ((clip->num_contours == 0) &&  (op == GPC_INT)))
-  {
-	result->num_contours= 0;
-	result->hole= NULL;
-	result->contour= NULL;
-	return;
-  }
-
-  /* Identify potentialy contributing contours */
-  if (((op == GPC_INT) || (op == GPC_DIFF))
-   && (subj->num_contours > 0) && (clip->num_contours > 0))
-	minimax_test(subj, clip, op);
-
-  /* Build LMT */
-  if (subj->num_contours > 0)
-	s_heap= build_lmt(&lmt, &sbtree, &sbt_entries, subj, SUBJ, op);
-  if (clip->num_contours > 0)
-	c_heap= build_lmt(&lmt, &sbtree, &sbt_entries, clip, CLIP, op);
-
-  /* Return a NULL result if no contours contribute */
-  if (lmt == NULL)
-  {
-	result->num_contours= 0;
-	result->hole= NULL;
-	result->contour= NULL;
-	reset_lmt(&lmt);
-	FREE(s_heap);
-	FREE(c_heap);
-	return;
-  }
-
-  /* Build scanbeam table from scanbeam tree */
-  MALLOC(sbt, sbt_entries * sizeof(double), "sbt creation", double);
-  build_sbt(&scanbeam, sbt, sbtree);
-  scanbeam= 0;
-  free_sbtree(&sbtree);
-
-  /* Allow pointer re-use without causing memory leak */
-  if (subj == result)
-	gpc_free_polygon(subj);
-  if (clip == result)
-	gpc_free_polygon(clip);
-
-  /* Invert clip polygon for difference operation */
-  if (op == GPC_DIFF)
-	parity[CLIP]= RIGHT;
-
-  local_min= lmt;
-
-  /* Process each scanbeam */
-  while (scanbeam < sbt_entries)
-  {
-	/* Set yb and yt to the bottom and top of the scanbeam */
-	yb= sbt[scanbeam++];
-	if (scanbeam < sbt_entries)
-	{
-	  yt= sbt[scanbeam];
-	  dy= yt - yb;
-	}
-
-	/* === SCANBEAM BOUNDARY PROCESSING ================================ */
-
-	/* If LMT node corresponding to yb exists */
-	if (local_min)
-	{
-	  if (local_min->y == yb)
-	  {
-		/* Add edges starting at this local minimum to the AET */
-		for (edge= local_min->first_bound; edge; edge= edge->next_bound)
-		  add_edge_to_aet(&aet, edge, NULL);
-
-		local_min= local_min->next;
-	  }
-	}
-
-	/* Set dummy previous x value */
-	px= -DBL_MAX;
-
-	/* Create bundles within AET */
-	e0= aet;
-	e1= aet;
-
-	/* Set up bundle fields of first edge */
-	aet->bundle[ABOVE][ aet->type]= (aet->top.y != yb);
-	aet->bundle[ABOVE][!aet->type]= FALSE;
-	aet->bstate[ABOVE]= UNBUNDLED;
-
-	for (next_edge= aet->next; next_edge; next_edge= next_edge->next)
-	{
-	  /* Set up bundle fields of next edge */
-	  next_edge->bundle[ABOVE][ next_edge->type]= (next_edge->top.y != yb);
-	  next_edge->bundle[ABOVE][!next_edge->type]= FALSE;
-	  next_edge->bstate[ABOVE]= UNBUNDLED;
-
-	  /* Bundle edges above the scanbeam boundary if they coincide */
-	  if (next_edge->bundle[ABOVE][next_edge->type])
-	  {
-		if (EQ(e0->xb, next_edge->xb) && EQ(e0->dx, next_edge->dx)
-	 && (e0->top.y != yb))
-		{
-		  next_edge->bundle[ABOVE][ next_edge->type]^=
-			e0->bundle[ABOVE][ next_edge->type];
-		  next_edge->bundle[ABOVE][!next_edge->type]=
-			e0->bundle[ABOVE][!next_edge->type];
-		  next_edge->bstate[ABOVE]= BUNDLE_HEAD;
-		  e0->bundle[ABOVE][CLIP]= FALSE;
-		  e0->bundle[ABOVE][SUBJ]= FALSE;
-		  e0->bstate[ABOVE]= BUNDLE_TAIL;
-		}
-		e0= next_edge;
-	  }
-	}
-
-	horiz[CLIP]= NH;
-	horiz[SUBJ]= NH;
-
-	/* Process each edge at this scanbeam boundary */
-	for (edge= aet; edge; edge= edge->next)
-	{
-	  exists[CLIP]= edge->bundle[ABOVE][CLIP] +
-				   (edge->bundle[BELOW][CLIP] << 1);
-	  exists[SUBJ]= edge->bundle[ABOVE][SUBJ] +
-				   (edge->bundle[BELOW][SUBJ] << 1);
-
-	  if (exists[CLIP] || exists[SUBJ])
-	  {
-		/* Set bundle side */
-		edge->bside[CLIP]= parity[CLIP];
-		edge->bside[SUBJ]= parity[SUBJ];
-
-		/* Determine contributing status and quadrant occupancies */
-		switch (op)
-		{
-		case GPC_DIFF:
-		case GPC_INT:
-		  contributing= (exists[CLIP] && (parity[SUBJ] || horiz[SUBJ]))
-					 || (exists[SUBJ] && (parity[CLIP] || horiz[CLIP]))
-					 || (exists[CLIP] && exists[SUBJ]
-					 && (parity[CLIP] == parity[SUBJ]));
-		  br= (parity[CLIP])
-		   && (parity[SUBJ]);
-		  bl= (parity[CLIP] ^ edge->bundle[ABOVE][CLIP])
-		   && (parity[SUBJ] ^ edge->bundle[ABOVE][SUBJ]);
-		  tr= (parity[CLIP] ^ (horiz[CLIP]!=NH))
-		   && (parity[SUBJ] ^ (horiz[SUBJ]!=NH));
-		  tl= (parity[CLIP] ^ (horiz[CLIP]!=NH) ^ edge->bundle[BELOW][CLIP])
-		   && (parity[SUBJ] ^ (horiz[SUBJ]!=NH) ^ edge->bundle[BELOW][SUBJ]);
-		  break;
-		case GPC_XOR:
-		  contributing= exists[CLIP] || exists[SUBJ];
-		  br= (parity[CLIP])
-			^ (parity[SUBJ]);
-		  bl= (parity[CLIP] ^ edge->bundle[ABOVE][CLIP])
-			^ (parity[SUBJ] ^ edge->bundle[ABOVE][SUBJ]);
-		  tr= (parity[CLIP] ^ (horiz[CLIP]!=NH))
-			^ (parity[SUBJ] ^ (horiz[SUBJ]!=NH));
-		  tl= (parity[CLIP] ^ (horiz[CLIP]!=NH) ^ edge->bundle[BELOW][CLIP])
-			^ (parity[SUBJ] ^ (horiz[SUBJ]!=NH) ^ edge->bundle[BELOW][SUBJ]);
-		  break;
-		case GPC_UNION:
-		  contributing= (exists[CLIP] && (!parity[SUBJ] || horiz[SUBJ]))
-					 || (exists[SUBJ] && (!parity[CLIP] || horiz[CLIP]))
-					 || (exists[CLIP] && exists[SUBJ]
-					 && (parity[CLIP] == parity[SUBJ]));
-		  br= (parity[CLIP])
-		   || (parity[SUBJ]);
-		  bl= (parity[CLIP] ^ edge->bundle[ABOVE][CLIP])
-		   || (parity[SUBJ] ^ edge->bundle[ABOVE][SUBJ]);
-		  tr= (parity[CLIP] ^ (horiz[CLIP]!=NH))
-		   || (parity[SUBJ] ^ (horiz[SUBJ]!=NH));
-		  tl= (parity[CLIP] ^ (horiz[CLIP]!=NH) ^ edge->bundle[BELOW][CLIP])
-		   || (parity[SUBJ] ^ (horiz[SUBJ]!=NH) ^ edge->bundle[BELOW][SUBJ]);
-		  break;
-		}
-
-		/* Update parity */
-		parity[CLIP]^= edge->bundle[ABOVE][CLIP];
-		parity[SUBJ]^= edge->bundle[ABOVE][SUBJ];
-
-		/* Update horizontal state */
-		if (exists[CLIP])
-		  horiz[CLIP]=
-			next_h_state[horiz[CLIP]]
-						[((exists[CLIP] - 1) << 1) + parity[CLIP]];
-		if (exists[SUBJ])
-		  horiz[SUBJ]=
-			next_h_state[horiz[SUBJ]]
-						[((exists[SUBJ] - 1) << 1) + parity[SUBJ]];
-
-		vclass= tr + (tl << 1) + (br << 2) + (bl << 3);
-
-		if (contributing)
-		{
-		  xb= edge->xb;
-
-		  switch (vclass)
-		  {
-		  case EMN:
-		  case IMN:
-			add_local_min(&out_poly, edge, xb, yb);
-			px= xb;
-			cf= edge->outp[ABOVE];
-			break;
-		  case ERI:
-			if (xb != px)
-			{
-			  add_right(cf, xb, yb);
-			  px= xb;
-			}
-			edge->outp[ABOVE]= cf;
-			cf= NULL;
-			break;
-		  case ELI:
-			add_left(edge->outp[BELOW], xb, yb);
-			px= xb;
-			cf= edge->outp[BELOW];
-			break;
-		  case EMX:
-			if (xb != px)
-			{
-			  add_left(cf, xb, yb);
-			  px= xb;
-			}
-			merge_right(cf, edge->outp[BELOW], out_poly);
-			cf= NULL;
-			break;
-		  case ILI:
-			if (xb != px)
-			{
-			  add_left(cf, xb, yb);
-			  px= xb;
-			}
-			edge->outp[ABOVE]= cf;
-			cf= NULL;
-			break;
-		  case IRI:
-			add_right(edge->outp[BELOW], xb, yb);
-			px= xb;
-			cf= edge->outp[BELOW];
-			edge->outp[BELOW]= NULL;
-			break;
-		  case IMX:
-			if (xb != px)
-			{
-			  add_right(cf, xb, yb);
-			  px= xb;
-			}
-			merge_left(cf, edge->outp[BELOW], out_poly);
-			cf= NULL;
-			edge->outp[BELOW]= NULL;
-			break;
-		  case IMM:
-			if (xb != px)
-		{
-			  add_right(cf, xb, yb);
-			  px= xb;
-		}
-			merge_left(cf, edge->outp[BELOW], out_poly);
-			edge->outp[BELOW]= NULL;
-			add_local_min(&out_poly, edge, xb, yb);
-			cf= edge->outp[ABOVE];
-			break;
-		  case EMM:
-			if (xb != px)
-		{
-			  add_left(cf, xb, yb);
-			  px= xb;
-		}
-			merge_right(cf, edge->outp[BELOW], out_poly);
-			edge->outp[BELOW]= NULL;
-			add_local_min(&out_poly, edge, xb, yb);
-			cf= edge->outp[ABOVE];
-			break;
-		  case LED:
-			if (edge->bot.y == yb)
-			  add_left(edge->outp[BELOW], xb, yb);
-			edge->outp[ABOVE]= edge->outp[BELOW];
-			px= xb;
-			break;
-		  case RED:
-			if (edge->bot.y == yb)
-			  add_right(edge->outp[BELOW], xb, yb);
-			edge->outp[ABOVE]= edge->outp[BELOW];
-			px= xb;
-			break;
-		  default:
-			break;
-		  } /* End of switch */
-		} /* End of contributing conditional */
-	  } /* End of edge exists conditional */
-	} /* End of AET loop */
-
-	/* Delete terminating edges from the AET, otherwise compute xt */
-	for (edge= aet; edge; edge= edge->next)
-	{
-	  if (edge->top.y == yb)
-	  {
-		prev_edge= edge->prev;
-		next_edge= edge->next;
-		if (prev_edge)
-		  prev_edge->next= next_edge;
-		else
-		  aet= next_edge;
-		if (next_edge)
-		  next_edge->prev= prev_edge;
-
-		/* Copy bundle head state to the adjacent tail edge if required */
-		if ((edge->bstate[BELOW] == BUNDLE_HEAD) && prev_edge)
-	{
-		  if (prev_edge->bstate[BELOW] == BUNDLE_TAIL)
-		  {
-			prev_edge->outp[BELOW]= edge->outp[BELOW];
-			prev_edge->bstate[BELOW]= UNBUNDLED;
-			if (prev_edge->prev)
-			  if (prev_edge->prev->bstate[BELOW] == BUNDLE_TAIL)
-				prev_edge->bstate[BELOW]= BUNDLE_HEAD;
-	  }
-	}
-	  }
-	  else
-	  {
-		if (edge->top.y == yt)
-		  edge->xt= edge->top.x;
-		else
-		  edge->xt= edge->bot.x + edge->dx * (yt - edge->bot.y);
-	  }
-	}
-
-	if (scanbeam < sbt_entries)
-	{
-	  /* === SCANBEAM INTERIOR PROCESSING ============================== */
-
-	  build_intersection_table(&it, aet, dy);
-
-	  /* Process each node in the intersection table */
-	  for (intersect= it; intersect; intersect= intersect->next)
-	  {
-		e0= intersect->ie[0];
-		e1= intersect->ie[1];
-
-		/* Only generate output for contributing intersections */
-		if ((e0->bundle[ABOVE][CLIP] || e0->bundle[ABOVE][SUBJ])
-		 && (e1->bundle[ABOVE][CLIP] || e1->bundle[ABOVE][SUBJ]))
-	{
-		  p= e0->outp[ABOVE];
-		  q= e1->outp[ABOVE];
-		  ix= intersect->point.x;
-		  iy= intersect->point.y + yb;
-
-		  in[CLIP]= ( e0->bundle[ABOVE][CLIP] && !e0->bside[CLIP])
-				 || ( e1->bundle[ABOVE][CLIP] &&  e1->bside[CLIP])
-				 || (!e0->bundle[ABOVE][CLIP] && !e1->bundle[ABOVE][CLIP]
-					 && e0->bside[CLIP] && e1->bside[CLIP]);
-		  in[SUBJ]= ( e0->bundle[ABOVE][SUBJ] && !e0->bside[SUBJ])
-				 || ( e1->bundle[ABOVE][SUBJ] &&  e1->bside[SUBJ])
-				 || (!e0->bundle[ABOVE][SUBJ] && !e1->bundle[ABOVE][SUBJ]
-					 && e0->bside[SUBJ] && e1->bside[SUBJ]);
-
-		  /* Determine quadrant occupancies */
-		  switch (op)
-		  {
-		  case GPC_DIFF:
-		  case GPC_INT:
-			tr= (in[CLIP])
-			 && (in[SUBJ]);
-			tl= (in[CLIP] ^ e1->bundle[ABOVE][CLIP])
-			 && (in[SUBJ] ^ e1->bundle[ABOVE][SUBJ]);
-			br= (in[CLIP] ^ e0->bundle[ABOVE][CLIP])
-			 && (in[SUBJ] ^ e0->bundle[ABOVE][SUBJ]);
-			bl= (in[CLIP] ^ e1->bundle[ABOVE][CLIP] ^ e0->bundle[ABOVE][CLIP])
-			 && (in[SUBJ] ^ e1->bundle[ABOVE][SUBJ] ^ e0->bundle[ABOVE][SUBJ]);
-			break;
-		  case GPC_XOR:
-			tr= (in[CLIP])
-			  ^ (in[SUBJ]);
-			tl= (in[CLIP] ^ e1->bundle[ABOVE][CLIP])
-			  ^ (in[SUBJ] ^ e1->bundle[ABOVE][SUBJ]);
-			br= (in[CLIP] ^ e0->bundle[ABOVE][CLIP])
-			  ^ (in[SUBJ] ^ e0->bundle[ABOVE][SUBJ]);
-			bl= (in[CLIP] ^ e1->bundle[ABOVE][CLIP] ^ e0->bundle[ABOVE][CLIP])
-			  ^ (in[SUBJ] ^ e1->bundle[ABOVE][SUBJ] ^ e0->bundle[ABOVE][SUBJ]);
-			break;
-		  case GPC_UNION:
-			tr= (in[CLIP])
-			 || (in[SUBJ]);
-			tl= (in[CLIP] ^ e1->bundle[ABOVE][CLIP])
-			 || (in[SUBJ] ^ e1->bundle[ABOVE][SUBJ]);
-			br= (in[CLIP] ^ e0->bundle[ABOVE][CLIP])
-			 || (in[SUBJ] ^ e0->bundle[ABOVE][SUBJ]);
-			bl= (in[CLIP] ^ e1->bundle[ABOVE][CLIP] ^ e0->bundle[ABOVE][CLIP])
-			 || (in[SUBJ] ^ e1->bundle[ABOVE][SUBJ] ^ e0->bundle[ABOVE][SUBJ]);
-			break;
-		  }
-
-		  vclass= tr + (tl << 1) + (br << 2) + (bl << 3);
-
-		  switch (vclass)
-		  {
-		  case EMN:
-			add_local_min(&out_poly, e0, ix, iy);
-			e1->outp[ABOVE]= e0->outp[ABOVE];
-			break;
-		  case ERI:
-			if (p)
-			{
-			  add_right(p, ix, iy);
-			  e1->outp[ABOVE]= p;
-			  e0->outp[ABOVE]= NULL;
-			}
-			break;
-		  case ELI:
-			if (q)
-			{
-			  add_left(q, ix, iy);
-			  e0->outp[ABOVE]= q;
-			  e1->outp[ABOVE]= NULL;
-			}
-			break;
-		  case EMX:
-			if (p && q)
-			{
-			  add_left(p, ix, iy);
-			  merge_right(p, q, out_poly);
-			  e0->outp[ABOVE]= NULL;
-			  e1->outp[ABOVE]= NULL;
-			}
-			break;
-		  case IMN:
-			add_local_min(&out_poly, e0, ix, iy);
-			e1->outp[ABOVE]= e0->outp[ABOVE];
-			break;
-		  case ILI:
-			if (p)
-			{
-			  add_left(p, ix, iy);
-			  e1->outp[ABOVE]= p;
-			  e0->outp[ABOVE]= NULL;
-			}
-			break;
-		  case IRI:
-			if (q)
-			{
-			  add_right(q, ix, iy);
-			  e0->outp[ABOVE]= q;
-			  e1->outp[ABOVE]= NULL;
-			}
-			break;
-		  case IMX:
-			if (p && q)
-			{
-			  add_right(p, ix, iy);
-			  merge_left(p, q, out_poly);
-			  e0->outp[ABOVE]= NULL;
-			  e1->outp[ABOVE]= NULL;
-			}
-			break;
-		  case IMM:
-			if (p && q)
-			{
-			  add_right(p, ix, iy);
-			  merge_left(p, q, out_poly);
-			  add_local_min(&out_poly, e0, ix, iy);
-			  e1->outp[ABOVE]= e0->outp[ABOVE];
-			}
-			break;
-		  case EMM:
-			if (p && q)
-			{
-			  add_left(p, ix, iy);
-			  merge_right(p, q, out_poly);
-			  add_local_min(&out_poly, e0, ix, iy);
-			  e1->outp[ABOVE]= e0->outp[ABOVE];
-			}
-			break;
-		  default:
-			break;
-		  } /* End of switch */
-	} /* End of contributing intersection conditional */
-
-		/* Swap bundle sides in response to edge crossing */
-		if (e0->bundle[ABOVE][CLIP])
-	  e1->bside[CLIP]= !e1->bside[CLIP];
-		if (e1->bundle[ABOVE][CLIP])
-	  e0->bside[CLIP]= !e0->bside[CLIP];
-		if (e0->bundle[ABOVE][SUBJ])
-	  e1->bside[SUBJ]= !e1->bside[SUBJ];
-		if (e1->bundle[ABOVE][SUBJ])
-	  e0->bside[SUBJ]= !e0->bside[SUBJ];
-
-		/* Swap e0 and e1 bundles in the AET */
-		prev_edge= e0->prev;
-		next_edge= e1->next;
-		if (next_edge)
-		  next_edge->prev= e0;
-
-		if (e0->bstate[ABOVE] == BUNDLE_HEAD)
-		{
-		  search= TRUE;
-		  while (search)
-		  {
-			prev_edge= prev_edge->prev;
-			if (prev_edge)
-			{
-			  if (prev_edge->bstate[ABOVE] != BUNDLE_TAIL)
-				search= FALSE;
-			}
-			else
-			  search= FALSE;
-		  }
-		}
-		if (!prev_edge)
-		{
-		  aet->prev= e1;
-		  e1->next= aet;
-		  aet= e0->next;
-		}
-		else
-		{
-		  prev_edge->next->prev= e1;
-		  e1->next= prev_edge->next;
-		  prev_edge->next= e0->next;
-		}
-		  if(e0->next == NULL) throw runtime_error("GPC internal error.") ;
-		  if(e1->next == NULL) throw runtime_error("GPC internal error.") ;
-		e0->next->prev= prev_edge;
-		e1->next->prev= e1;
-		e0->next= next_edge;
-	  } /* End of IT loop*/
-
-	  /* Prepare for next scanbeam */
-	  for (edge= aet; edge; edge= next_edge)
-	  {
-		next_edge= edge->next;
-		succ_edge= edge->succ;
-
-		if ((edge->top.y == yt) && succ_edge)
-		{
-		  /* Replace AET edge by its successor */
-		  succ_edge->outp[BELOW]= edge->outp[ABOVE];
-		  succ_edge->bstate[BELOW]= edge->bstate[ABOVE];
-		  succ_edge->bundle[BELOW][CLIP]= edge->bundle[ABOVE][CLIP];
-		  succ_edge->bundle[BELOW][SUBJ]= edge->bundle[ABOVE][SUBJ];
-		  prev_edge= edge->prev;
-		  if (prev_edge)
-			prev_edge->next= succ_edge;
-		  else
-			aet= succ_edge;
-		  if (next_edge)
-			next_edge->prev= succ_edge;
-		  succ_edge->prev= prev_edge;
-		  succ_edge->next= next_edge;
-		}
-		else
-		{
-		  /* Update this edge */
-		  edge->outp[BELOW]= edge->outp[ABOVE];
-		  edge->bstate[BELOW]= edge->bstate[ABOVE];
-		  edge->bundle[BELOW][CLIP]= edge->bundle[ABOVE][CLIP];
-		  edge->bundle[BELOW][SUBJ]= edge->bundle[ABOVE][SUBJ];
-		  edge->xb= edge->xt;
-		  }
-		edge->outp[ABOVE]= NULL;
-	  }
-	}
-  } /* === END OF SCANBEAM PROCESSING ================================== */
-
-  /* Generate result polygon from out_poly */
-  result->contour= NULL;
-  result->hole= NULL;
-  result->num_contours= count_contours(out_poly);
-  if (result->num_contours > 0)
-  {
-	MALLOC(result->hole, result->num_contours
-		   * sizeof(int), "hole flag table creation", int);
-	MALLOC(result->contour, result->num_contours
-		   * sizeof(gpc_vertex_list), "contour creation", gpc_vertex_list);
-
-	c= 0;
-	for (poly= out_poly; poly; poly= npoly)
-	{
-	  npoly= poly->next;
-	  if (poly->active)
-	  {
-		result->hole[c]= poly->proxy->hole;
-		result->contour[c].num_vertices= poly->active;
-		MALLOC(result->contour[c].vertex,
-		  result->contour[c].num_vertices * sizeof(gpc_vertex),
-		  "vertex creation", gpc_vertex);
-
-		v= result->contour[c].num_vertices - 1;
-		for (vtx= poly->proxy->v[LEFT]; vtx; vtx= nv)
-		{
-		  nv= vtx->next;
-		  result->contour[c].vertex[v].x= vtx->x;
-		  result->contour[c].vertex[v].y= vtx->y;
-		  FREE(vtx);
-		  v--;
-		}
-		c++;
-	  }
-	  FREE(poly);
-	}
-  }
-  else
-  {
-	for (poly= out_poly; poly; poly= npoly)
-	{
-	  npoly= poly->next;
-	  FREE(poly);
-	}
-  }
-
-  /* Tidy up */
-  reset_it(&it);
-  reset_lmt(&lmt);
-  FREE(c_heap);
-  FREE(s_heap);
-  FREE(sbt);
-}
-
-
-void gpc_free_tristrip(gpc_tristrip *t)
-{
-  for (size_t s= 0; s < t->num_strips; s++)
-	FREE(t->strip[s].vertex);
-  FREE(t->strip);
-  t->num_strips= 0;
-}
-
-
-void gpc_polygon_to_tristrip(gpc_polygon *s, gpc_tristrip *t)
-{
-  gpc_polygon c;
-
-  c.num_contours= 0;
-  c.hole= NULL;
-  c.contour= NULL;
-  gpc_tristrip_clip(GPC_DIFF, s, &c, t);
-}
-
-
-void gpc_tristrip_clip(gpc_op op, gpc_polygon *subj, gpc_polygon *clip,
-					   gpc_tristrip *result)
-{
-  sb_tree       *sbtree= NULL;
-  it_node       *it= NULL, *intersect;
-  edge_node     *edge=0, *prev_edge=0, *next_edge=0, *succ_edge=0, *e0=0, *e1=0;
-  edge_node     *aet= NULL, *c_heap= NULL, *s_heap= NULL, *cf=0;
-  lmt_node      *lmt= NULL, *local_min;
-  polygon_node  *tlist= NULL, *tn, *tnn, *p, *q;
-  vertex_node   *lt, *ltn, *rt, *rtn;
-  h_state        horiz[2];
-  vertex_type    cft = NUL;
-  int            in[2], exists[2], parity[2]= {LEFT, LEFT};
-  int            s, v, contributing=0, search, scanbeam= 0, sbt_entries= 0;
-  int            vclass=0, bl=0, br=0, tl=0, tr=0;
-  double        *sbt= NULL, xb, px, nx, yb, yt=0.0, dy=0.0, ix, iy;
-
-  /* Test for trivial NULL result cases */
-  if (((subj->num_contours == 0) && (clip->num_contours == 0))
-   || ((subj->num_contours == 0) && ((op == GPC_INT) || (op == GPC_DIFF)))
-   || ((clip->num_contours == 0) &&  (op == GPC_INT)))
-  {
-	result->num_strips= 0;
-	result->strip= NULL;
-	return;
-  }
-
-  /* Identify potentialy contributing contours */
-  if (((op == GPC_INT) || (op == GPC_DIFF))
-   && (subj->num_contours > 0) && (clip->num_contours > 0))
-	minimax_test(subj, clip, op);
-
-  /* Build LMT */
-  if (subj->num_contours > 0)
-	s_heap= build_lmt(&lmt, &sbtree, &sbt_entries, subj, SUBJ, op);
-  if (clip->num_contours > 0)
-	c_heap= build_lmt(&lmt, &sbtree, &sbt_entries, clip, CLIP, op);
-
-  /* Return a NULL result if no contours contribute */
-  if (lmt == NULL)
-  {
-	result->num_strips= 0;
-	result->strip= NULL;
-	reset_lmt(&lmt);
-	FREE(s_heap);
-	FREE(c_heap);
-	return;
-  }
-
-  /* Build scanbeam table from scanbeam tree */
-  MALLOC(sbt, sbt_entries * sizeof(double), "sbt creation", double);
-  build_sbt(&scanbeam, sbt, sbtree);
-  scanbeam= 0;
-  free_sbtree(&sbtree);
-
-  /* Invert clip polygon for difference operation */
-  if (op == GPC_DIFF)
-	parity[CLIP]= RIGHT;
-
-  local_min= lmt;
-
-  /* Process each scanbeam */
-  while (scanbeam < sbt_entries)
-  {
-	/* Set yb and yt to the bottom and top of the scanbeam */
-	yb= sbt[scanbeam++];
-	if (scanbeam < sbt_entries)
-	{
-	  yt= sbt[scanbeam];
-	  dy= yt - yb;
-	}
-
-	/* === SCANBEAM BOUNDARY PROCESSING ================================ */
-
-	/* If LMT node corresponding to yb exists */
-	if (local_min)
-	{
-	  if (local_min->y == yb)
-	  {
-		/* Add edges starting at this local minimum to the AET */
-		for (edge= local_min->first_bound; edge; edge= edge->next_bound)
-		  add_edge_to_aet(&aet, edge, NULL);
-
-		local_min= local_min->next;
-	  }
-	}
-
-	/* Set dummy previous x value */
-	px= -DBL_MAX;
-
-	/* Create bundles within AET */
-	e0= aet;
-	e1= aet;
-
-	/* Set up bundle fields of first edge */
-	aet->bundle[ABOVE][ aet->type]= (aet->top.y != yb);
-	aet->bundle[ABOVE][!aet->type]= FALSE;
-	aet->bstate[ABOVE]= UNBUNDLED;
-
-	for (next_edge= aet->next; next_edge; next_edge= next_edge->next)
-	{
-	  /* Set up bundle fields of next edge */
-	  next_edge->bundle[ABOVE][ next_edge->type]= (next_edge->top.y != yb);
-	  next_edge->bundle[ABOVE][!next_edge->type]= FALSE;
-	  next_edge->bstate[ABOVE]= UNBUNDLED;
-
-	  /* Bundle edges above the scanbeam boundary if they coincide */
-	  if (next_edge->bundle[ABOVE][next_edge->type])
-	  {
-		if (EQ(e0->xb, next_edge->xb) && EQ(e0->dx, next_edge->dx)
-	 && (e0->top.y != yb))
-		{
-		  next_edge->bundle[ABOVE][ next_edge->type]^=
-			e0->bundle[ABOVE][ next_edge->type];
-		  next_edge->bundle[ABOVE][!next_edge->type]=
-			e0->bundle[ABOVE][!next_edge->type];
-		  next_edge->bstate[ABOVE]= BUNDLE_HEAD;
-		  e0->bundle[ABOVE][CLIP]= FALSE;
-		  e0->bundle[ABOVE][SUBJ]= FALSE;
-		  e0->bstate[ABOVE]= BUNDLE_TAIL;
-		}
-		e0= next_edge;
-	  }
-	}
-
-	horiz[CLIP]= NH;
-	horiz[SUBJ]= NH;
-
-	/* Process each edge at this scanbeam boundary */
-	for (edge= aet; edge; edge= edge->next)
-	{
-	  exists[CLIP]= edge->bundle[ABOVE][CLIP] +
-				   (edge->bundle[BELOW][CLIP] << 1);
-	  exists[SUBJ]= edge->bundle[ABOVE][SUBJ] +
-				   (edge->bundle[BELOW][SUBJ] << 1);
-
-	  if (exists[CLIP] || exists[SUBJ])
-	  {
-		/* Set bundle side */
-		edge->bside[CLIP]= parity[CLIP];
-		edge->bside[SUBJ]= parity[SUBJ];
-
-		/* Determine contributing status and quadrant occupancies */
-		switch (op)
-		{
-		case GPC_DIFF:
-		case GPC_INT:
-		  contributing= (exists[CLIP] && (parity[SUBJ] || horiz[SUBJ]))
-					 || (exists[SUBJ] && (parity[CLIP] || horiz[CLIP]))
-					 || (exists[CLIP] && exists[SUBJ]
-					 && (parity[CLIP] == parity[SUBJ]));
-		  br= (parity[CLIP])
-		   && (parity[SUBJ]);
-		  bl= (parity[CLIP] ^ edge->bundle[ABOVE][CLIP])
-		   && (parity[SUBJ] ^ edge->bundle[ABOVE][SUBJ]);
-		  tr= (parity[CLIP] ^ (horiz[CLIP]!=NH))
-		   && (parity[SUBJ] ^ (horiz[SUBJ]!=NH));
-		  tl= (parity[CLIP] ^ (horiz[CLIP]!=NH) ^ edge->bundle[BELOW][CLIP])
-		   && (parity[SUBJ] ^ (horiz[SUBJ]!=NH) ^ edge->bundle[BELOW][SUBJ]);
-		  break;
-		case GPC_XOR:
-		  contributing= exists[CLIP] || exists[SUBJ];
-		  br= (parity[CLIP])
-			^ (parity[SUBJ]);
-		  bl= (parity[CLIP] ^ edge->bundle[ABOVE][CLIP])
-			^ (parity[SUBJ] ^ edge->bundle[ABOVE][SUBJ]);
-		  tr= (parity[CLIP] ^ (horiz[CLIP]!=NH))
-			^ (parity[SUBJ] ^ (horiz[SUBJ]!=NH));
-		  tl= (parity[CLIP] ^ (horiz[CLIP]!=NH) ^ edge->bundle[BELOW][CLIP])
-			^ (parity[SUBJ] ^ (horiz[SUBJ]!=NH) ^ edge->bundle[BELOW][SUBJ]);
-		  break;
-		case GPC_UNION:
-		  contributing= (exists[CLIP] && (!parity[SUBJ] || horiz[SUBJ]))
-					 || (exists[SUBJ] && (!parity[CLIP] || horiz[CLIP]))
-					 || (exists[CLIP] && exists[SUBJ]
-					 && (parity[CLIP] == parity[SUBJ]));
-		  br= (parity[CLIP])
-		   || (parity[SUBJ]);
-		  bl= (parity[CLIP] ^ edge->bundle[ABOVE][CLIP])
-		   || (parity[SUBJ] ^ edge->bundle[ABOVE][SUBJ]);
-		  tr= (parity[CLIP] ^ (horiz[CLIP]!=NH))
-		   || (parity[SUBJ] ^ (horiz[SUBJ]!=NH));
-		  tl= (parity[CLIP] ^ (horiz[CLIP]!=NH) ^ edge->bundle[BELOW][CLIP])
-		   || (parity[SUBJ] ^ (horiz[SUBJ]!=NH) ^ edge->bundle[BELOW][SUBJ]);
-		  break;
-		}
-
-		/* Update parity */
-		parity[CLIP]^= edge->bundle[ABOVE][CLIP];
-		parity[SUBJ]^= edge->bundle[ABOVE][SUBJ];
-
-		/* Update horizontal state */
-		if (exists[CLIP])
-		  horiz[CLIP]=
-			next_h_state[horiz[CLIP]]
-						[((exists[CLIP] - 1) << 1) + parity[CLIP]];
-		if (exists[SUBJ])
-		  horiz[SUBJ]=
-			next_h_state[horiz[SUBJ]]
-						[((exists[SUBJ] - 1) << 1) + parity[SUBJ]];
-
-		vclass= tr + (tl << 1) + (br << 2) + (bl << 3);
-
-		if (contributing)
-		{
-		  xb= edge->xb;
-
-		  switch (vclass)
-		  {
-		  case EMN:
-			new_tristrip(&tlist, edge, xb, yb);
-			cf= edge;
-			break;
-		  case ERI:
-			edge->outp[ABOVE]= cf->outp[ABOVE];
-			if (xb != cf->xb)
-			  VERTEX(edge, ABOVE, RIGHT, xb, yb);
-			cf= NULL;
-			break;
-		  case ELI:
-			VERTEX(edge, BELOW, LEFT, xb, yb);
-			edge->outp[ABOVE]= NULL;
-			cf= edge;
-			break;
-		  case EMX:
-			if (xb != cf->xb)
-			  VERTEX(edge, BELOW, RIGHT, xb, yb);
-			edge->outp[ABOVE]= NULL;
-			cf= NULL;
-			break;
-		  case IMN:
-			if (cft == LED)
-		{
-			  if (cf->bot.y != yb)
-				VERTEX(cf, BELOW, LEFT, cf->xb, yb);
-			  new_tristrip(&tlist, cf, cf->xb, yb);
-		}
-			edge->outp[ABOVE]= cf->outp[ABOVE];
-			VERTEX(edge, ABOVE, RIGHT, xb, yb);
-			break;
-		  case ILI:
-			new_tristrip(&tlist, edge, xb, yb);
-			cf= edge;
-			cft= ILI;
-			break;
-		  case IRI:
-			if (cft == LED)
-		{
-			  if (cf->bot.y != yb)
-				VERTEX(cf, BELOW, LEFT, cf->xb, yb);
-			  new_tristrip(&tlist, cf, cf->xb, yb);
-		}
-			VERTEX(edge, BELOW, RIGHT, xb, yb);
-			edge->outp[ABOVE]= NULL;
-			break;
-		  case IMX:
-			VERTEX(edge, BELOW, LEFT, xb, yb);
-			edge->outp[ABOVE]= NULL;
-			cft= IMX;
-			break;
-	  case IMM:
-			VERTEX(edge, BELOW, LEFT, xb, yb);
-			edge->outp[ABOVE]= cf->outp[ABOVE];
-			if (xb != cf->xb)
-			  VERTEX(cf, ABOVE, RIGHT, xb, yb);
-			cf= edge;
-			break;
-		  case EMM:
-			VERTEX(edge, BELOW, RIGHT, xb, yb);
-			edge->outp[ABOVE]= NULL;
-			new_tristrip(&tlist, edge, xb, yb);
-			cf= edge;
-			break;
-		  case LED:
-			if (edge->bot.y == yb)
-			  VERTEX(edge, BELOW, LEFT, xb, yb);
-			edge->outp[ABOVE]= edge->outp[BELOW];
-			cf= edge;
-			cft= LED;
-			break;
-		  case RED:
-			edge->outp[ABOVE]= cf->outp[ABOVE];
-			if (cft == LED)
-		{
-			  if (cf->bot.y == yb)
-		  {
-				VERTEX(edge, BELOW, RIGHT, xb, yb);
-		  }
-			  else
-		  {
-				if (edge->bot.y == yb)
-		{
-				  VERTEX(cf, BELOW, LEFT, cf->xb, yb);
-				  VERTEX(edge, BELOW, RIGHT, xb, yb);
-		}
-		  }
-		}
-			else
-		{
-			  VERTEX(edge, BELOW, RIGHT, xb, yb);
-			  VERTEX(edge, ABOVE, RIGHT, xb, yb);
-		}
-			cf= NULL;
-			break;
-		  default:
-			break;
-		  } /* End of switch */
-		} /* End of contributing conditional */
-	  } /* End of edge exists conditional */
-	} /* End of AET loop */
-
-	/* Delete terminating edges from the AET, otherwise compute xt */
-	for (edge= aet; edge; edge= edge->next)
-	{
-	  if (edge->top.y == yb)
-	  {
-		prev_edge= edge->prev;
-		next_edge= edge->next;
-		if (prev_edge)
-		  prev_edge->next= next_edge;
-		else
-		  aet= next_edge;
-		if (next_edge)
-		  next_edge->prev= prev_edge;
-
-		/* Copy bundle head state to the adjacent tail edge if required */
-		if ((edge->bstate[BELOW] == BUNDLE_HEAD) && prev_edge)
-	{
-		  if (prev_edge->bstate[BELOW] == BUNDLE_TAIL)
-		  {
-			prev_edge->outp[BELOW]= edge->outp[BELOW];
-			prev_edge->bstate[BELOW]= UNBUNDLED;
-			if (prev_edge->prev)
-			  if (prev_edge->prev->bstate[BELOW] == BUNDLE_TAIL)
-				prev_edge->bstate[BELOW]= BUNDLE_HEAD;
-	  }
-	}
-	  }
-	  else
-	  {
-		if (edge->top.y == yt)
-		  edge->xt= edge->top.x;
-		else
-		  edge->xt= edge->bot.x + edge->dx * (yt - edge->bot.y);
-	  }
-	}
-
-	if (scanbeam < sbt_entries)
-	{
-	  /* === SCANBEAM INTERIOR PROCESSING ============================== */
-
-	  build_intersection_table(&it, aet, dy);
-
-	  /* Process each node in the intersection table */
-	  for (intersect= it; intersect; intersect= intersect->next)
-	  {
-		e0= intersect->ie[0];
-		e1= intersect->ie[1];
-
-		/* Only generate output for contributing intersections */
-		if ((e0->bundle[ABOVE][CLIP] || e0->bundle[ABOVE][SUBJ])
-		 && (e1->bundle[ABOVE][CLIP] || e1->bundle[ABOVE][SUBJ]))
-	{
-		  p= e0->outp[ABOVE];
-		  q= e1->outp[ABOVE];
-		  ix= intersect->point.x;
-		  iy= intersect->point.y + yb;
-
-		  in[CLIP]= ( e0->bundle[ABOVE][CLIP] && !e0->bside[CLIP])
-				 || ( e1->bundle[ABOVE][CLIP] &&  e1->bside[CLIP])
-				 || (!e0->bundle[ABOVE][CLIP] && !e1->bundle[ABOVE][CLIP]
-					 && e0->bside[CLIP] && e1->bside[CLIP]);
-		  in[SUBJ]= ( e0->bundle[ABOVE][SUBJ] && !e0->bside[SUBJ])
-				 || ( e1->bundle[ABOVE][SUBJ] &&  e1->bside[SUBJ])
-				 || (!e0->bundle[ABOVE][SUBJ] && !e1->bundle[ABOVE][SUBJ]
-					 && e0->bside[SUBJ] && e1->bside[SUBJ]);
-
-		  /* Determine quadrant occupancies */
-		  switch (op)
-		  {
-		  case GPC_DIFF:
-		  case GPC_INT:
-			tr= (in[CLIP])
-			 && (in[SUBJ]);
-			tl= (in[CLIP] ^ e1->bundle[ABOVE][CLIP])
-			 && (in[SUBJ] ^ e1->bundle[ABOVE][SUBJ]);
-			br= (in[CLIP] ^ e0->bundle[ABOVE][CLIP])
-			 && (in[SUBJ] ^ e0->bundle[ABOVE][SUBJ]);
-			bl= (in[CLIP] ^ e1->bundle[ABOVE][CLIP] ^ e0->bundle[ABOVE][CLIP])
-			 && (in[SUBJ] ^ e1->bundle[ABOVE][SUBJ] ^ e0->bundle[ABOVE][SUBJ]);
-			break;
-		  case GPC_XOR:
-			tr= (in[CLIP])
-			  ^ (in[SUBJ]);
-			tl= (in[CLIP] ^ e1->bundle[ABOVE][CLIP])
-			  ^ (in[SUBJ] ^ e1->bundle[ABOVE][SUBJ]);
-			br= (in[CLIP] ^ e0->bundle[ABOVE][CLIP])
-			  ^ (in[SUBJ] ^ e0->bundle[ABOVE][SUBJ]);
-			bl= (in[CLIP] ^ e1->bundle[ABOVE][CLIP] ^ e0->bundle[ABOVE][CLIP])
-			  ^ (in[SUBJ] ^ e1->bundle[ABOVE][SUBJ] ^ e0->bundle[ABOVE][SUBJ]);
-			break;
-		  case GPC_UNION:
-			tr= (in[CLIP])
-			 || (in[SUBJ]);
-			tl= (in[CLIP] ^ e1->bundle[ABOVE][CLIP])
-			 || (in[SUBJ] ^ e1->bundle[ABOVE][SUBJ]);
-			br= (in[CLIP] ^ e0->bundle[ABOVE][CLIP])
-			 || (in[SUBJ] ^ e0->bundle[ABOVE][SUBJ]);
-			bl= (in[CLIP] ^ e1->bundle[ABOVE][CLIP] ^ e0->bundle[ABOVE][CLIP])
-			 || (in[SUBJ] ^ e1->bundle[ABOVE][SUBJ] ^ e0->bundle[ABOVE][SUBJ]);
-			break;
-		  }
-
-		  vclass= tr + (tl << 1) + (br << 2) + (bl << 3);
-
-		  switch (vclass)
-		  {
-		  case EMN:
-			new_tristrip(&tlist, e1, ix, iy);
-			e0->outp[ABOVE]= e1->outp[ABOVE];
-			break;
-		  case ERI:
-			if (p)
-			{
-			  P_EDGE(prev_edge, e0, ABOVE, px, iy);
-			  VERTEX(prev_edge, ABOVE, LEFT, px, iy);
-			  VERTEX(e0, ABOVE, RIGHT, ix, iy);
-			  e1->outp[ABOVE]= e0->outp[ABOVE];
-			  e0->outp[ABOVE]= NULL;
-			}
-			break;
-		  case ELI:
-			if (q)
-			{
-			  N_EDGE(next_edge, e1, ABOVE, nx, iy);
-			  VERTEX(e1, ABOVE, LEFT, ix, iy);
-			  VERTEX(next_edge, ABOVE, RIGHT, nx, iy);
-			  e0->outp[ABOVE]= e1->outp[ABOVE];
-			  e1->outp[ABOVE]= NULL;
-			}
-			break;
-		  case EMX:
-			if (p && q)
-			{
-			  VERTEX(e0, ABOVE, LEFT, ix, iy);
-			  e0->outp[ABOVE]= NULL;
-			  e1->outp[ABOVE]= NULL;
-			}
-			break;
-		  case IMN:
-			P_EDGE(prev_edge, e0, ABOVE, px, iy);
-			VERTEX(prev_edge, ABOVE, LEFT, px, iy);
-			N_EDGE(next_edge, e1, ABOVE, nx, iy);
-			VERTEX(next_edge, ABOVE, RIGHT, nx, iy);
-			new_tristrip(&tlist, prev_edge, px, iy);
-			e1->outp[ABOVE]= prev_edge->outp[ABOVE];
-			VERTEX(e1, ABOVE, RIGHT, ix, iy);
-			new_tristrip(&tlist, e0, ix, iy);
-			next_edge->outp[ABOVE]= e0->outp[ABOVE];
-			VERTEX(next_edge, ABOVE, RIGHT, nx, iy);
-			break;
-		  case ILI:
-			if (p)
-			{
-			  VERTEX(e0, ABOVE, LEFT, ix, iy);
-			  N_EDGE(next_edge, e1, ABOVE, nx, iy);
-			  VERTEX(next_edge, ABOVE, RIGHT, nx, iy);
-			  e1->outp[ABOVE]= e0->outp[ABOVE];
-			  e0->outp[ABOVE]= NULL;
-			}
-			break;
-		  case IRI:
-			if (q)
-			{
-			  VERTEX(e1, ABOVE, RIGHT, ix, iy);
-			  P_EDGE(prev_edge, e0, ABOVE, px, iy);
-			  VERTEX(prev_edge, ABOVE, LEFT, px, iy);
-			  e0->outp[ABOVE]= e1->outp[ABOVE];
-			  e1->outp[ABOVE]= NULL;
-			}
-			break;
-		  case IMX:
-			if (p && q)
-			{
-			  VERTEX(e0, ABOVE, RIGHT, ix, iy);
-			  VERTEX(e1, ABOVE, LEFT, ix, iy);
-			  e0->outp[ABOVE]= NULL;
-			  e1->outp[ABOVE]= NULL;
-			  P_EDGE(prev_edge, e0, ABOVE, px, iy);
-			  VERTEX(prev_edge, ABOVE, LEFT, px, iy);
-			  new_tristrip(&tlist, prev_edge, px, iy);
-			  N_EDGE(next_edge, e1, ABOVE, nx, iy);
-			  VERTEX(next_edge, ABOVE, RIGHT, nx, iy);
-			  next_edge->outp[ABOVE]= prev_edge->outp[ABOVE];
-			  VERTEX(next_edge, ABOVE, RIGHT, nx, iy);
-			}
-			break;
-		  case IMM:
-			if (p && q)
-			{
-			  VERTEX(e0, ABOVE, RIGHT, ix, iy);
-			  VERTEX(e1, ABOVE, LEFT, ix, iy);
-			  P_EDGE(prev_edge, e0, ABOVE, px, iy);
-			  VERTEX(prev_edge, ABOVE, LEFT, px, iy);
-			  new_tristrip(&tlist, prev_edge, px, iy);
-			  N_EDGE(next_edge, e1, ABOVE, nx, iy);
-			  VERTEX(next_edge, ABOVE, RIGHT, nx, iy);
-			  e1->outp[ABOVE]= prev_edge->outp[ABOVE];
-			  VERTEX(e1, ABOVE, RIGHT, ix, iy);
-			  new_tristrip(&tlist, e0, ix, iy);
-			  next_edge->outp[ABOVE]= e0->outp[ABOVE];
-			  VERTEX(next_edge, ABOVE, RIGHT, nx, iy);
-			}
-			break;
-		  case EMM:
-			if (p && q)
-			{
-			  VERTEX(e0, ABOVE, LEFT, ix, iy);
-			  new_tristrip(&tlist, e1, ix, iy);
-			  e0->outp[ABOVE]= e1->outp[ABOVE];
-			}
-			break;
-		  default:
-			break;
-		  } /* End of switch */
-	} /* End of contributing intersection conditional */
-
-		/* Swap bundle sides in response to edge crossing */
-		if (e0->bundle[ABOVE][CLIP])
-	  e1->bside[CLIP]= !e1->bside[CLIP];
-		if (e1->bundle[ABOVE][CLIP])
-	  e0->bside[CLIP]= !e0->bside[CLIP];
-		if (e0->bundle[ABOVE][SUBJ])
-	  e1->bside[SUBJ]= !e1->bside[SUBJ];
-		if (e1->bundle[ABOVE][SUBJ])
-	  e0->bside[SUBJ]= !e0->bside[SUBJ];
-
-		/* Swap e0 and e1 bundles in the AET */
-		prev_edge= e0->prev;
-		next_edge= e1->next;
-		if (e1->next)
-		  e1->next->prev= e0;
-
-		if (e0->bstate[ABOVE] == BUNDLE_HEAD)
-		{
-		  search= TRUE;
-		  while (search)
-		  {
-			prev_edge= prev_edge->prev;
-			if (prev_edge)
-			{
-			  if (prev_edge->bundle[ABOVE][CLIP]
-			   || prev_edge->bundle[ABOVE][SUBJ]
-			   || (prev_edge->bstate[ABOVE] == BUNDLE_HEAD))
-				search= FALSE;
-			}
-			else
-			  search= FALSE;
-		  }
-		}
-		if (!prev_edge)
-		{
-		   e1->next= aet;
-		   aet= e0->next;
-		}
-		else
-		{
-		  e1->next= prev_edge->next;
-		  prev_edge->next= e0->next;
-		}
-		e0->next->prev= prev_edge;
-		e1->next->prev= e1;
-		e0->next= next_edge;
-	  } /* End of IT loop*/
-
-	  /* Prepare for next scanbeam */
-	  for (edge= aet; edge; edge= next_edge)
-	  {
-		next_edge= edge->next;
-		succ_edge= edge->succ;
-
-		if ((edge->top.y == yt) && succ_edge)
-		{
-		  /* Replace AET edge by its successor */
-		  succ_edge->outp[BELOW]= edge->outp[ABOVE];
-		  succ_edge->bstate[BELOW]= edge->bstate[ABOVE];
-		  succ_edge->bundle[BELOW][CLIP]= edge->bundle[ABOVE][CLIP];
-		  succ_edge->bundle[BELOW][SUBJ]= edge->bundle[ABOVE][SUBJ];
-		  prev_edge= edge->prev;
-		  if (prev_edge)
-			prev_edge->next= succ_edge;
-		  else
-			aet= succ_edge;
-		  if (next_edge)
-			next_edge->prev= succ_edge;
-		  succ_edge->prev= prev_edge;
-		  succ_edge->next= next_edge;
-		}
-		else
-		{
-		  /* Update this edge */
-		  edge->outp[BELOW]= edge->outp[ABOVE];
-		  edge->bstate[BELOW]= edge->bstate[ABOVE];
-		  edge->bundle[BELOW][CLIP]= edge->bundle[ABOVE][CLIP];
-		  edge->bundle[BELOW][SUBJ]= edge->bundle[ABOVE][SUBJ];
-		  edge->xb= edge->xt;
-		}
-		edge->outp[ABOVE]= NULL;
-	  }
-	}
-  } /* === END OF SCANBEAM PROCESSING ================================== */
-
-  /* Generate result tristrip from tlist */
-  result->strip= NULL;
-  result->num_strips= count_tristrips(tlist);
-  if (result->num_strips > 0)
-  {
-	MALLOC(result->strip, result->num_strips * sizeof(gpc_vertex_list),
-		   "tristrip list creation", gpc_vertex_list);
-
-	s= 0;
-	for (tn= tlist; tn; tn= tnn)
-	{
-	  tnn= tn->next;
-
-	  if (tn->active > 2)
-	  {
-		/* Valid tristrip: copy the vertices and free the heap */
-		result->strip[s].num_vertices= tn->active;
-		MALLOC(result->strip[s].vertex, tn->active * sizeof(gpc_vertex),
-			   "tristrip creation", gpc_vertex);
-		v= 0;
-		if (INVERT_TRISTRIPS)
-		{
-		  lt= tn->v[RIGHT];
-		  rt= tn->v[LEFT];
-		}
-		else
-		{
-		  lt= tn->v[LEFT];
-		  rt= tn->v[RIGHT];
-		}
-		while (lt || rt)
-		{
-		  if (lt)
-		  {
-			ltn= lt->next;
-			result->strip[s].vertex[v].x= lt->x;
-			result->strip[s].vertex[v].y= lt->y;
-			v++;
-			FREE(lt);
-			lt= ltn;
-		  }
-		  if (rt)
-		  {
-			rtn= rt->next;
-			result->strip[s].vertex[v].x= rt->x;
-			result->strip[s].vertex[v].y= rt->y;
-			v++;
-			FREE(rt);
-			rt= rtn;
-		  }
-		}
-		s++;
-	  }
-	  else
-	  {
-		/* Invalid tristrip: just free the heap */
-		for (lt= tn->v[LEFT]; lt; lt= ltn)
-		{
-		  ltn= lt->next;
-		  FREE(lt);
-		}
-		for (rt= tn->v[RIGHT]; rt; rt=rtn)
-		{
-		  rtn= rt->next;
-		  FREE(rt);
-		}
-	  }
-	  FREE(tn);
-	}
-  }
-
-  /* Tidy up */
-  reset_it(&it);
-  reset_lmt(&lmt);
-  FREE(c_heap);
-  FREE(s_heap);
-  FREE(sbt);
-}
-
-/*
-===========================================================================
-						   End of file: gpc.c
-===========================================================================
-*/
diff --git a/SRC/QGLViewer/QGLViewer/VRender/gpc.h b/SRC/QGLViewer/QGLViewer/VRender/gpc.h
deleted file mode 100644
index 07841c6..0000000
--- a/SRC/QGLViewer/QGLViewer/VRender/gpc.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- This file is part of the VRender library.
- Copyright (C) 2005 Cyril Soler (Cyril.Soler at imag.fr)
- Version 1.0.0, released on June 27, 2005.
-
- http://artis.imag.fr/Members/Cyril.Soler/VRender
-
- VRender is free software; you can 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.
-
- VRender is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with VRender; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-/*
-===========================================================================
-
-Project:   Generic Polygon Clipper
-
-		   A new algorithm for calculating the difference, intersection,
-		   exclusive-or or union of arbitrary polygon sets.
-
-File:      gpc.h
-Author:    Alan Murta (email: gpc at cs.man.ac.uk)
-Version:   2.32
-Date:      17th December 2004
-
-Copyright: (C) 1997-2004, Advanced Interfaces Group,
-		   University of Manchester.
-
-		   This software is free for non-commercial use. It may be copied,
-		   modified, and redistributed provided that this copyright notice
-		   is preserved on all copies. The intellectual property rights of
-		   the algorithms used reside with the University of Manchester
-		   Advanced Interfaces Group.
-
-		   You may not use this software, in whole or in part, in support
-		   of any commercial product without the express consent of the
-		   author.
-
-		   There is no warranty or other guarantee of fitness of this
-		   software for any purpose. It is provided solely "as is".
-
-===========================================================================
-*/
-
-#ifndef __gpc_h
-#define __gpc_h
-
-#include <stdio.h>
-
-
-/*
-===========================================================================
-							   Constants
-===========================================================================
-*/
-
-/* Increase GPC_EPSILON to encourage merging of near coincident edges    */
-
-//#define GPC_EPSILON (DBL_EPSILON)
-#define GPC_EPSILON 1e-7
-
-#define GPC_VERSION "2.32"
-
-
-/*
-===========================================================================
-						   Public Data Types
-===========================================================================
-*/
-
-typedef enum                        /* Set operation type                */
-{
-  GPC_DIFF,                         /* Difference                        */
-  GPC_INT,                          /* Intersection                      */
-  GPC_XOR,                          /* Exclusive or                      */
-  GPC_UNION                         /* Union                             */
-} gpc_op;
-
-typedef struct                      /* Polygon vertex structure          */
-{
-  double              x;            /* Vertex x component                */
-  double              y;            /* vertex y component                */
-} gpc_vertex;
-
-typedef struct                      /* Vertex list structure             */
-{
-  long                num_vertices; /* Number of vertices in list        */
-  gpc_vertex         *vertex;       /* Vertex array pointer              */
-} gpc_vertex_list;
-
-typedef struct                      /* Polygon set structure             */
-{
-  unsigned long       num_contours; /* Number of contours in polygon     */
-  int                *hole;         /* Hole / external contour flags     */
-  gpc_vertex_list    *contour;      /* Contour array pointer             */
-} gpc_polygon;
-
-typedef struct                      /* Tristrip set structure            */
-{
-  unsigned long       num_strips;   /* Number of tristrips               */
-  gpc_vertex_list    *strip;        /* Tristrip array pointer            */
-} gpc_tristrip;
-
-
-/*
-===========================================================================
-					   Public Function Prototypes
-===========================================================================
-*/
-
-void gpc_read_polygon        (FILE            *infile_ptr,
-							  int              read_hole_flags,
-							  gpc_polygon     *polygon);
-
-void gpc_write_polygon       (FILE            *outfile_ptr,
-							  int              write_hole_flags,
-							  gpc_polygon     *polygon);
-
-void gpc_add_contour         (gpc_polygon     *polygon,
-							  gpc_vertex_list *contour,
-							  int              hole);
-
-void gpc_polygon_clip        (gpc_op           set_operation,
-							  gpc_polygon     *subject_polygon,
-							  gpc_polygon     *clip_polygon,
-							  gpc_polygon     *result_polygon);
-
-void gpc_tristrip_clip       (gpc_op           set_operation,
-							  gpc_polygon     *subject_polygon,
-							  gpc_polygon     *clip_polygon,
-							  gpc_tristrip    *result_tristrip);
-
-void gpc_polygon_to_tristrip (gpc_polygon     *polygon,
-							  gpc_tristrip    *tristrip);
-
-void gpc_free_polygon        (gpc_polygon     *polygon);
-
-void gpc_free_tristrip       (gpc_tristrip    *tristrip);
-
-#endif
-
-
-/*
-===========================================================================
-						   End of file: gpc.h
-===========================================================================
-*/
diff --git a/SRC/QGLViewer/QGLViewer/VRenderInterface.ui b/SRC/QGLViewer/QGLViewer/VRenderInterface.ui
deleted file mode 100644
index e6e1a60..0000000
--- a/SRC/QGLViewer/QGLViewer/VRenderInterface.ui
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>VRenderInterface</class>
- <widget class="QDialog" name="VRenderInterface">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>309</width>
-    <height>211</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Vectorial rendering options</string>
-  </property>
-  <layout class="QVBoxLayout">
-   <property name="leftMargin">
-    <number>5</number>
-   </property>
-   <property name="topMargin">
-    <number>5</number>
-   </property>
-   <property name="rightMargin">
-    <number>5</number>
-   </property>
-   <property name="bottomMargin">
-    <number>5</number>
-   </property>
-   <item>
-    <widget class="QCheckBox" name="includeHidden">
-     <property name="toolTip">
-      <string>Hidden polygons are also included in the output (usually twice bigger)</string>
-     </property>
-     <property name="text">
-      <string>Include hidden parts</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QCheckBox" name="cullBackFaces">
-     <property name="toolTip">
-      <string>Back faces (non clockwise point ordering) are removed from the output</string>
-     </property>
-     <property name="text">
-      <string>Cull back faces</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QCheckBox" name="blackAndWhite">
-     <property name="toolTip">
-      <string>Black and white rendering</string>
-     </property>
-     <property name="text">
-      <string>Black and white</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QCheckBox" name="colorBackground">
-     <property name="toolTip">
-      <string>Use current background color instead of white</string>
-     </property>
-     <property name="text">
-      <string>Color background</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QCheckBox" name="tightenBBox">
-     <property name="toolTip">
-      <string>Fit output bounding box to current display</string>
-     </property>
-     <property name="text">
-      <string>Tighten bounding box</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
-     <property name="leftMargin">
-      <number>11</number>
-     </property>
-     <property name="topMargin">
-      <number>11</number>
-     </property>
-     <property name="rightMargin">
-      <number>11</number>
-     </property>
-     <property name="bottomMargin">
-      <number>11</number>
-     </property>
-     <item>
-      <widget class="QLabel" name="sortLabel">
-       <property name="toolTip">
-        <string>Polygon depth sorting method</string>
-       </property>
-       <property name="text">
-        <string>Sort method:</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QComboBox" name="sortMethod">
-       <property name="toolTip">
-        <string>Polygon depth sorting method</string>
-       </property>
-       <property name="currentIndex">
-        <number>3</number>
-       </property>
-       <item>
-        <property name="text">
-         <string>No sorting</string>
-        </property>
-       </item>
-       <item>
-        <property name="text">
-         <string>BSP</string>
-        </property>
-       </item>
-       <item>
-        <property name="text">
-         <string>Topological</string>
-        </property>
-       </item>
-       <item>
-        <property name="text">
-         <string>Advanced topological</string>
-        </property>
-       </item>
-      </widget>
-     </item>
-    </layout>
-   </item>
-   <item>
-    <spacer>
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeType">
-      <enum>QSizePolicy::Expanding</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>31</width>
-       <height>41</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
-     <item>
-      <widget class="QPushButton" name="SaveButton">
-       <property name="text">
-        <string>Save</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="CancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <tabstops>
-  <tabstop>SaveButton</tabstop>
-  <tabstop>CancelButton</tabstop>
-  <tabstop>includeHidden</tabstop>
-  <tabstop>cullBackFaces</tabstop>
-  <tabstop>blackAndWhite</tabstop>
-  <tabstop>colorBackground</tabstop>
-  <tabstop>tightenBBox</tabstop>
-  <tabstop>sortMethod</tabstop>
- </tabstops>
- <resources/>
- <connections>
-  <connection>
-   <sender>SaveButton</sender>
-   <signal>released()</signal>
-   <receiver>VRenderInterface</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>16</x>
-     <y>210</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>35</x>
-     <y>176</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>CancelButton</sender>
-   <signal>released()</signal>
-   <receiver>VRenderInterface</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>225</x>
-     <y>198</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>211</x>
-     <y>180</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/SRC/QGLViewer/QGLViewer/camera.cpp b/SRC/QGLViewer/QGLViewer/camera.cpp
deleted file mode 100644
index 70dde8e..0000000
--- a/SRC/QGLViewer/QGLViewer/camera.cpp
+++ /dev/null
@@ -1,2209 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "domUtils.h"
-#include "camera.h"
-#include "qglviewer.h"
-#include "manipulatedCameraFrame.h"
-
-using namespace std;
-using namespace qglviewer;
-
-/*! Default constructor.
-
- sceneCenter() is set to (0,0,0) and sceneRadius() is set to 1.0. type() is Camera::PERSPECTIVE,
- with a \c M_PI/4 fieldOfView().
-
- See IODistance(), physicalDistanceToScreen(), physicalScreenWidth() and focusDistance()
- documentations for default stereo parameter values. */
-Camera::Camera()
-	: frame_(NULL), fieldOfView_(M_PI/4.0), modelViewMatrixIsUpToDate_(false), projectionMatrixIsUpToDate_(false)
-{
-	// #CONNECTION# Camera copy constructor
-	interpolationKfi_ = new KeyFrameInterpolator;
-	// Requires the interpolationKfi_
-	setFrame(new ManipulatedCameraFrame());
-
-	// #CONNECTION# All these default values identical in initFromDOMElement.
-
-	// Requires fieldOfView() to define focusDistance()
-	setSceneRadius(1.0);
-
-	// Initial value (only scaled after this)
-	orthoCoef_ = tan(fieldOfView()/2.0);
-
-	// Also defines the pivotPoint(), which changes orthoCoef_. Requires a frame().
-	setSceneCenter(Vec(0.0, 0.0, 0.0));
-
-	// Requires fieldOfView() when called with ORTHOGRAPHIC. Attention to projectionMatrix_ below.
-	setType(PERSPECTIVE);
-
-	// #CONNECTION# initFromDOMElement default values
-	setZNearCoefficient(0.005);
-	setZClippingCoefficient(sqrt(3.0));
-
-	// Dummy values
-	setScreenWidthAndHeight(600, 400);
-
-	// Stereo parameters
-	setIODistance(0.062);
-	setPhysicalScreenWidth(0.5);
-	// focusDistance is set from setFieldOfView()
-
-	// #CONNECTION# Camera copy constructor
-	for (unsigned short j=0; j<16; ++j)
-	{
-		modelViewMatrix_[j] = ((j%5 == 0) ? 1.0 : 0.0);
-		// #CONNECTION# computeProjectionMatrix() is lazy and assumes 0.0 almost everywhere.
-		projectionMatrix_[j] = 0.0;
-	}
-	computeProjectionMatrix();
-}
-
-/*! Virtual destructor.
-
- The frame() is deleted, but the different keyFrameInterpolator() are \e not deleted (in case they
- are shared). */
-Camera::~Camera()
-{
-	delete frame_;
-	delete interpolationKfi_;
-}
-
-
-/*! Copy constructor. Performs a deep copy using operator=(). */
-Camera::Camera(const Camera& camera)
-	: QObject(), frame_(NULL)
-{
-	// #CONNECTION# Camera constructor
-	interpolationKfi_ = new KeyFrameInterpolator;
-	// Requires the interpolationKfi_
-	setFrame(new ManipulatedCameraFrame(*camera.frame()));
-
-	for (unsigned short j=0; j<16; ++j)
-	{
-		modelViewMatrix_[j] = ((j%5 == 0) ? 1.0 : 0.0);
-		// #CONNECTION# computeProjectionMatrix() is lazy and assumes 0.0 almost everywhere.
-		projectionMatrix_[j] = 0.0;
-	}
-
-	(*this)=camera;
-}
-
-/*! Equal operator.
-
- All the parameters of \p camera are copied. The frame() pointer is not modified, but its
- Frame::position() and Frame::orientation() are set to those of \p camera.
-
- \attention The Camera screenWidth() and screenHeight() are set to those of \p camera. If your
- Camera is associated with a QGLViewer, you should update these value after the call to this method:
- \code
- *(camera()) = otherCamera;
- camera()->setScreenWidthAndHeight(width(), height());
- \endcode
- The same applies to sceneCenter() and sceneRadius(), if needed. */
-Camera& Camera::operator=(const Camera& camera)
-{
-	setScreenWidthAndHeight(camera.screenWidth(), camera.screenHeight());
-	setFieldOfView(camera.fieldOfView());
-	setSceneRadius(camera.sceneRadius());
-	setSceneCenter(camera.sceneCenter());
-	setZNearCoefficient(camera.zNearCoefficient());
-	setZClippingCoefficient(camera.zClippingCoefficient());
-	setType(camera.type());
-
-	// Stereo parameters
-	setIODistance(camera.IODistance());
-	setFocusDistance(camera.focusDistance());
-	setPhysicalScreenWidth(camera.physicalScreenWidth());
-
-	orthoCoef_ = camera.orthoCoef_;
-	projectionMatrixIsUpToDate_ = false;
-
-	// frame_ and interpolationKfi_ pointers are not shared.
-	frame_->setReferenceFrame(NULL);
-	frame_->setPosition(camera.position());
-	frame_->setOrientation(camera.orientation());
-
-	interpolationKfi_->resetInterpolation();
-
-	kfi_ = camera.kfi_;
-
-	computeProjectionMatrix();
-	computeModelViewMatrix();
-
-	return *this;
-}
-
-/*! Sets Camera screenWidth() and screenHeight() (expressed in pixels).
-
-You should not call this method when the Camera is associated with a QGLViewer, since the
-latter automatically updates these values when it is resized (hence overwritting your values).
-
-Non-positive dimension are silently replaced by a 1 pixel value to ensure frustrum coherence.
-
-If your Camera is used without a QGLViewer (offscreen rendering, shadow maps), use setAspectRatio()
-instead to define the projection matrix. */
-void Camera::setScreenWidthAndHeight(int width, int height)
-{
-	// Prevent negative and zero dimensions that would cause divisions by zero.
-	screenWidth_  = width > 0 ? width : 1;
-	screenHeight_ = height > 0 ? height : 1;
-	projectionMatrixIsUpToDate_ = false;
-}
-
-/*! Returns the near clipping plane distance used by the Camera projection matrix.
-
- The clipping planes' positions depend on the sceneRadius() and sceneCenter() rather than being fixed
- small-enough and large-enough values. A good scene dimension approximation will hence result in an
- optimal precision of the z-buffer.
-
- The near clipping plane is positioned at a distance equal to zClippingCoefficient() * sceneRadius()
- in front of the sceneCenter():
- \code
- zNear = distanceToSceneCenter() - zClippingCoefficient()*sceneRadius();
- \endcode
-
- In order to prevent negative or too small zNear() values (which would degrade the z precision),
- zNearCoefficient() is used when the Camera is inside the sceneRadius() sphere:
- \code
- const qreal zMin = zNearCoefficient() * zClippingCoefficient() * sceneRadius();
- if (zNear < zMin)
-   zNear = zMin;
- // With an ORTHOGRAPHIC type, the value is simply clamped to 0.0
- \endcode
-
- See also the zFar(), zClippingCoefficient() and zNearCoefficient() documentations.
-
- If you need a completely different zNear computation, overload the zNear() and zFar() methods in a
- new class that publicly inherits from Camera and use QGLViewer::setCamera():
- \code
- class myCamera :: public qglviewer::Camera
- {
-   virtual qreal Camera::zNear() const { return 0.001; };
-   virtual qreal Camera::zFar() const { return 100.0; };
- }
- \endcode
-
- See the <a href="../examples/standardCamera.html">standardCamera example</a> for an application.
-
- \attention The value is always positive although the clipping plane is positioned at a negative z
- value in the Camera coordinate system. This follows the \c gluPerspective standard. */
-qreal Camera::zNear() const
-{
-	const qreal zNearScene = zClippingCoefficient() * sceneRadius();
-	qreal z = distanceToSceneCenter() - zNearScene;
-
-	// Prevents negative or null zNear values.
-	const qreal zMin = zNearCoefficient() * zNearScene;
-	if (z < zMin)
-		switch (type())
-		{
-			case Camera::PERSPECTIVE  : z = zMin; break;
-			case Camera::ORTHOGRAPHIC : z = 0.0;  break;
-		}
-	return z;
-}
-
-/*! Returns the far clipping plane distance used by the Camera projection matrix.
-
-The far clipping plane is positioned at a distance equal to zClippingCoefficient() * sceneRadius()
-behind the sceneCenter():
-\code
-zFar = distanceToSceneCenter() + zClippingCoefficient()*sceneRadius();
-\endcode
-
-See the zNear() documentation for details. */
-qreal Camera::zFar() const
-{
-	return distanceToSceneCenter() + zClippingCoefficient() * sceneRadius();
-}
-
-
-/*! Sets the vertical fieldOfView() of the Camera (in radians).
-
-Note that focusDistance() is set to sceneRadius() / tan(fieldOfView()/2) by this method. */
-void Camera::setFieldOfView(qreal fov) {
-	fieldOfView_ = fov;
-	setFocusDistance(sceneRadius() / tan(fov/2.0));
-	projectionMatrixIsUpToDate_ = false;
-}
-
-/*! Defines the Camera type().
-
-Changing the camera Type alters the viewport and the objects' sizes can be changed.
-This method garantees that the two frustum match in a plane normal to viewDirection(), passing through the pivotPoint().
-
-Prefix the type with \c Camera if needed, as in:
-\code
-camera()->setType(Camera::ORTHOGRAPHIC);
-// or even qglviewer::Camera::ORTHOGRAPHIC if you do not use namespace
-\endcode */
-void Camera::setType(Type type)
-{
-	// make ORTHOGRAPHIC frustum fit PERSPECTIVE (at least in plane normal to viewDirection(), passing
-	// through RAP). Done only when CHANGING type since orthoCoef_ may have been changed with a
-	// setPivotPoint() in the meantime.
-	if ( (type == Camera::ORTHOGRAPHIC) && (type_ == Camera::PERSPECTIVE) )
-		orthoCoef_ = tan(fieldOfView()/2.0);
-	type_ = type;
-	projectionMatrixIsUpToDate_ = false;
-}
-
-/*! Sets the Camera frame().
-
-If you want to move the Camera, use setPosition() and setOrientation() or one of the Camera
-positioning methods (lookAt(), fitSphere(), showEntireScene()...) instead.
-
-If you want to save the Camera position(), there's no need to call this method either. Use
-addKeyFrameToPath() and playPath() instead.
-
-This method is actually mainly useful if you derive the ManipulatedCameraFrame class and want to
-use an instance of your new class to move the Camera.
-
-A \c NULL \p mcf pointer will silently be ignored. The calling method is responsible for
-deleting the previous frame() pointer if needed in order to prevent memory leaks. */
-void Camera::setFrame(ManipulatedCameraFrame* const mcf)
-{
-	if (!mcf)
-		return;
-
-	if (frame_) {
-		disconnect(frame_, SIGNAL(modified()), this, SLOT(onFrameModified()));
-	}
-
-	frame_ = mcf;
-	interpolationKfi_->setFrame(frame());
-
-	connect(frame_, SIGNAL(modified()), this, SLOT(onFrameModified()));
-	onFrameModified();
-}
-
-/*! Returns the distance from the Camera center to sceneCenter(), projected along the Camera Z axis.
-  Used by zNear() and zFar() to optimize the Z range. */
-qreal Camera::distanceToSceneCenter() const
-{
-	return fabs((frame()->coordinatesOf(sceneCenter())).z);
-}
-
-
-/*! Returns the \p halfWidth and \p halfHeight of the Camera orthographic frustum.
-
- These values are only valid and used when the Camera is of type() Camera::ORTHOGRAPHIC. They are
- expressed in OpenGL units and are used by loadProjectionMatrix() to define the projection matrix
- using:
- \code
- glOrtho( -halfWidth, halfWidth, -halfHeight, halfHeight, zNear(), zFar() )
- \endcode
-
- These values are proportional to the Camera (z projected) distance to the pivotPoint().
- When zooming on the object, the Camera is translated forward \e and its frustum is narrowed, making
- the object appear bigger on screen, as intuitively expected.
-
- Overload this method to change this behavior if desired, as is done in the
- <a href="../examples/standardCamera.html">standardCamera example</a>. */
-void Camera::getOrthoWidthHeight(GLdouble& halfWidth, GLdouble& halfHeight) const
-{
-	const qreal dist = orthoCoef_ * fabs(cameraCoordinatesOf(pivotPoint()).z);
-	//#CONNECTION# fitScreenRegion
-	halfWidth  = dist * ((aspectRatio() < 1.0) ? 1.0 : aspectRatio());
-	halfHeight = dist * ((aspectRatio() < 1.0) ? 1.0/aspectRatio() : 1.0);
-}
-
-
-/*! Computes the projection matrix associated with the Camera.
-
- If type() is Camera::PERSPECTIVE, defines a \c GL_PROJECTION matrix similar to what would \c
- gluPerspective() do using the fieldOfView(), window aspectRatio(), zNear() and zFar() parameters.
-
- If type() is Camera::ORTHOGRAPHIC, the projection matrix is as what \c glOrtho() would do.
- Frustum's width and height are set using getOrthoWidthHeight().
-
- Both types use zNear() and zFar() to place clipping planes. These values are determined from
- sceneRadius() and sceneCenter() so that they best fit the scene size.
-
- Use getProjectionMatrix() to retrieve this matrix. Overload loadProjectionMatrix() if you want your
- Camera to use an exotic projection matrix.
-
- \note You must call this method if your Camera is not associated with a QGLViewer and is used for
- offscreen computations (using (un)projectedCoordinatesOf() for instance). loadProjectionMatrix()
- does it otherwise. */
-void Camera::computeProjectionMatrix() const
-{
-	if (projectionMatrixIsUpToDate_) return;
-
-	const qreal ZNear = zNear();
-	const qreal ZFar  = zFar();
-
-	switch (type())
-	{
-		case Camera::PERSPECTIVE:
-		{
-			// #CONNECTION# all non null coefficients were set to 0.0 in constructor.
-			const qreal f = 1.0/tan(fieldOfView()/2.0);
-			projectionMatrix_[0]  = f/aspectRatio();
-			projectionMatrix_[5]  = f;
-			projectionMatrix_[10] = (ZNear + ZFar) / (ZNear - ZFar);
-			projectionMatrix_[11] = -1.0;
-			projectionMatrix_[14] = 2.0 * ZNear * ZFar / (ZNear - ZFar);
-			projectionMatrix_[15] = 0.0;
-			// same as gluPerspective( 180.0*fieldOfView()/M_PI, aspectRatio(), zNear(), zFar() );
-			break;
-		}
-		case Camera::ORTHOGRAPHIC:
-		{
-			GLdouble w, h;
-			getOrthoWidthHeight(w,h);
-			projectionMatrix_[0]  = 1.0/w;
-			projectionMatrix_[5]  = 1.0/h;
-			projectionMatrix_[10] = -2.0/(ZFar - ZNear);
-			projectionMatrix_[11] = 0.0;
-			projectionMatrix_[14] = -(ZFar + ZNear)/(ZFar - ZNear);
-			projectionMatrix_[15] = 1.0;
-			// same as glOrtho( -w, w, -h, h, zNear(), zFar() );
-			break;
-		}
-	}
-
-	projectionMatrixIsUpToDate_ = true;
-}
-
-/*! Computes the modelView matrix associated with the Camera's position() and orientation().
-
- This matrix converts from the world coordinates system to the Camera coordinates system, so that
- coordinates can then be projected on screen using the projection matrix (see computeProjectionMatrix()).
-
- Use getModelViewMatrix() to retrieve this matrix.
-
- \note You must call this method if your Camera is not associated with a QGLViewer and is used for
- offscreen computations (using (un)projectedCoordinatesOf() for instance). loadModelViewMatrix()
- does it otherwise. */
-void Camera::computeModelViewMatrix() const
-{
-	if (modelViewMatrixIsUpToDate_) return;
-
-	const Quaternion q = frame()->orientation();
-
-	const qreal q00 = 2.0 * q[0] * q[0];
-	const qreal q11 = 2.0 * q[1] * q[1];
-	const qreal q22 = 2.0 * q[2] * q[2];
-
-	const qreal q01 = 2.0 * q[0] * q[1];
-	const qreal q02 = 2.0 * q[0] * q[2];
-	const qreal q03 = 2.0 * q[0] * q[3];
-
-	const qreal q12 = 2.0 * q[1] * q[2];
-	const qreal q13 = 2.0 * q[1] * q[3];
-
-	const qreal q23 = 2.0 * q[2] * q[3];
-
-	modelViewMatrix_[0] = 1.0 - q11 - q22;
-	modelViewMatrix_[1] =       q01 - q23;
-	modelViewMatrix_[2] =       q02 + q13;
-	modelViewMatrix_[3] = 0.0;
-
-	modelViewMatrix_[4] =       q01 + q23;
-	modelViewMatrix_[5] = 1.0 - q22 - q00;
-	modelViewMatrix_[6] =       q12 - q03;
-	modelViewMatrix_[7] = 0.0;
-
-	modelViewMatrix_[8] =        q02 - q13;
-	modelViewMatrix_[9] =        q12 + q03;
-	modelViewMatrix_[10] = 1.0 - q11 - q00;
-	modelViewMatrix_[11] = 0.0;
-
-	const Vec t = q.inverseRotate(frame()->position());
-
-	modelViewMatrix_[12] = -t.x;
-	modelViewMatrix_[13] = -t.y;
-	modelViewMatrix_[14] = -t.z;
-	modelViewMatrix_[15] = 1.0;
-
-	modelViewMatrixIsUpToDate_ = true;
-}
-
-
-/*! Loads the OpenGL \c GL_PROJECTION matrix with the Camera projection matrix.
-
- The Camera projection matrix is computed using computeProjectionMatrix().
-
- When \p reset is \c true (default), the method clears the previous projection matrix by calling \c
- glLoadIdentity before setting the matrix. Setting \p reset to \c false is useful for \c GL_SELECT
- mode, to combine the pushed matrix with a picking matrix. See QGLViewer::beginSelection() for details.
-
- This method is used by QGLViewer::preDraw() (called before user's QGLViewer::draw() method) to
- set the \c GL_PROJECTION matrix according to the viewer's QGLViewer::camera() settings.
-
- Use getProjectionMatrix() to retrieve this matrix. Overload this method if you want your Camera to
- use an exotic projection matrix. See also loadModelViewMatrix().
-
- \attention \c glMatrixMode is set to \c GL_PROJECTION.
-
- \attention If you use several OpenGL contexts and bypass the Qt main refresh loop, you should call
- QGLWidget::makeCurrent() before this method in order to activate the right OpenGL context. */
-void Camera::loadProjectionMatrix(bool reset) const
-{
-	// WARNING: makeCurrent must be called by every calling method
-	glMatrixMode(GL_PROJECTION);
-
-	if (reset)
-		glLoadIdentity();
-
-	computeProjectionMatrix();
-
-	glMultMatrixd(projectionMatrix_);
-}
-
-/*! Loads the OpenGL \c GL_MODELVIEW matrix with the modelView matrix corresponding to the Camera.
-
- Calls computeModelViewMatrix() to compute the Camera's modelView matrix.
-
- This method is used by QGLViewer::preDraw() (called before user's QGLViewer::draw() method) to
- set the \c GL_MODELVIEW matrix according to the viewer's QGLViewer::camera() position() and
- orientation().
-
- As a result, the vertices used in QGLViewer::draw() can be defined in the so called world
- coordinate system. They are multiplied by this matrix to get converted to the Camera coordinate
- system, before getting projected using the \c GL_PROJECTION matrix (see loadProjectionMatrix()).
-
- When \p reset is \c true (default), the method loads (overwrites) the \c GL_MODELVIEW matrix. Setting
- \p reset to \c false simply calls \c glMultMatrixd (might be useful for some applications).
-
- Overload this method or simply call glLoadMatrixd() at the beginning of QGLViewer::draw() if you
- want your Camera to use an exotic modelView matrix. See also loadProjectionMatrix().
-
- getModelViewMatrix() returns the 4x4 modelView matrix.
-
- \attention glMatrixMode is set to \c GL_MODELVIEW
-
- \attention If you use several OpenGL contexts and bypass the Qt main refresh loop, you should call
- QGLWidget::makeCurrent() before this method in order to activate the right OpenGL context. */
-void Camera::loadModelViewMatrix(bool reset) const
-{
-	// WARNING: makeCurrent must be called by every calling method
-	glMatrixMode(GL_MODELVIEW);
-	computeModelViewMatrix();
-	if (reset)
-		glLoadMatrixd(modelViewMatrix_);
-	else
-		glMultMatrixd(modelViewMatrix_);
-}
-
-/*! Same as loadProjectionMatrix() but for a stereo setup.
-
- Only the Camera::PERSPECTIVE type() is supported for stereo mode. See
- QGLViewer::setStereoDisplay().
-
- Uses focusDistance(), IODistance(), and physicalScreenWidth() to compute cameras
- offset and asymmetric frustums.
-
- When \p leftBuffer is \c true, computes the projection matrix associated to the left eye (right eye
- otherwise). See also loadModelViewMatrixStereo().
-
- See the <a href="../examples/stereoViewer.html">stereoViewer</a> and the <a
- href="../examples/contribs.html#anaglyph">anaglyph</a> examples for an illustration.
-
- To retrieve this matrix, use a code like:
- \code
- glMatrixMode(GL_PROJECTION);
- glPushMatrix();
- loadProjectionMatrixStereo(left_or_right);
- glGetDoublev(GL_PROJECTION_MATRIX, m);
- glPopMatrix();
- \endcode
- Note that getProjectionMatrix() always returns the mono-vision matrix.
-
- \attention glMatrixMode is set to \c GL_PROJECTION. */
-void Camera::loadProjectionMatrixStereo(bool leftBuffer) const
-{
-	qreal left, right, bottom, top;
-	qreal screenHalfWidth, halfWidth, side, shift, delta;
-
-	glMatrixMode(GL_PROJECTION);
-	glLoadIdentity();
-
-	switch (type())
-	{
-		case Camera::PERSPECTIVE:
-			// compute half width of screen,
-			// corresponding to zero parallax plane to deduce decay of cameras
-			screenHalfWidth = focusDistance() * tan(horizontalFieldOfView() / 2.0);
-			shift = screenHalfWidth * IODistance() / physicalScreenWidth();
-			// should be * current y  / y total
-			// to take into account that the window doesn't cover the entire screen
-
-			// compute half width of "view" at znear and the delta corresponding to
-			// the shifted camera to deduce what to set for asymmetric frustums
-			halfWidth = zNear() * tan(horizontalFieldOfView() / 2.0);
-			delta  = shift * zNear() / focusDistance();
-			side   = leftBuffer ? -1.0 : 1.0;
-
-			left   = -halfWidth + side * delta;
-			right  =  halfWidth + side * delta;
-			top    = halfWidth / aspectRatio();
-			bottom = -top;
-			glFrustum(left, right, bottom, top, zNear(), zFar() );
-			break;
-
-		case Camera::ORTHOGRAPHIC:
-			qWarning("Camera::setProjectionMatrixStereo: Stereo not available with Ortho mode");
-			break;
-	}
-}
-
-/*! Same as loadModelViewMatrix() but for a stereo setup.
-
- Only the Camera::PERSPECTIVE type() is supported for stereo mode. See
- QGLViewer::setStereoDisplay().
-
- The modelView matrix is almost identical to the mono-vision one. It is simply translated along its
- horizontal axis by a value that depends on stereo parameters (see focusDistance(),
- IODistance(), and physicalScreenWidth()).
-
- When \p leftBuffer is \c true, computes the modelView matrix associated to the left eye (right eye
- otherwise).
-
- loadProjectionMatrixStereo() explains how to retrieve to resulting matrix.
-
- See the <a href="../examples/stereoViewer.html">stereoViewer</a> and the <a
- href="../examples/contribs.html#anaglyph">anaglyph</a> examples for an illustration.
-
- \attention glMatrixMode is set to \c GL_MODELVIEW. */
-void Camera::loadModelViewMatrixStereo(bool leftBuffer) const
-{
-	// WARNING: makeCurrent must be called by every calling method
-	glMatrixMode(GL_MODELVIEW);
-
-	qreal halfWidth = focusDistance() * tan(horizontalFieldOfView() / 2.0);
-	qreal shift     = halfWidth * IODistance() / physicalScreenWidth(); // * current window width / full screen width
-
-	computeModelViewMatrix();
-	if (leftBuffer)
-		modelViewMatrix_[12] -= shift;
-	else
-		modelViewMatrix_[12] += shift;
-	glLoadMatrixd(modelViewMatrix_);
-}
-
-/*! Fills \p m with the Camera projection matrix values.
-
- Based on computeProjectionMatrix() to make sure the Camera projection matrix is up to date.
-
- This matrix only reflects the Camera's internal parameters and it may differ from the \c
- GL_PROJECTION matrix retrieved using \c glGetDoublev(GL_PROJECTION_MATRIX, m). It actually
- represents the state of the \c GL_PROJECTION after QGLViewer::preDraw(), at the beginning of
- QGLViewer::draw(). If you modified the \c GL_PROJECTION matrix (for instance using
- QGLViewer::startScreenCoordinatesSystem()), the two results differ.
-
- The result is an OpenGL 4x4 matrix, which is given in \e column-major order (see \c glMultMatrix
- man page for details).
-
- See also getModelViewMatrix() and setFromProjectionMatrix(). */
-void Camera::getProjectionMatrix(GLdouble m[16]) const
-{
-	computeProjectionMatrix();
-	for (unsigned short i=0; i<16; ++i)
-		m[i] = projectionMatrix_[i];
-}
-
-/*! Overloaded getProjectionMatrix(GLdouble m[16]) method using a \c GLfloat array instead. */
-void Camera::getProjectionMatrix(GLfloat m[16]) const
-{
-	static GLdouble mat[16];
-	getProjectionMatrix(mat);
-	for (unsigned short i=0; i<16; ++i)
-		m[i] = float(mat[i]);
-}
-
-/*! Fills \p m with the Camera modelView matrix values.
-
- First calls computeModelViewMatrix() to define the Camera modelView matrix.
-
- Note that this matrix may \e not be the one you would get from a \c
- glGetDoublev(GL_MODELVIEW_MATRIX, m). It actually represents the state of the \c
- GL_MODELVIEW after QGLViewer::preDraw(), at the \e beginning of QGLViewer::draw(). It converts from
- the world to the Camera coordinate system. As soon as you modify the \c GL_MODELVIEW in your
- QGLViewer::draw() method (using glTranslate, glRotate... or similar methods), the two matrices differ.
-
- The result is an OpenGL 4x4 matrix, which is given in \e column-major order (see \c glMultMatrix
- man page for details).
-
- See also getProjectionMatrix() and setFromModelViewMatrix(). */
-void Camera::getModelViewMatrix(GLdouble m[16]) const
-{
-	// May not be needed, but easier like this.
-	// Prevents from retrieving matrix in stereo mode -> overwrites shifted value.
-	computeModelViewMatrix();
-	for (unsigned short i=0; i<16; ++i)
-		m[i] = modelViewMatrix_[i];
-}
-
-
-/*! Overloaded getModelViewMatrix(GLdouble m[16]) method using a \c GLfloat array instead. */
-void Camera::getModelViewMatrix(GLfloat m[16]) const
-{
-	static GLdouble mat[16];
-	getModelViewMatrix(mat);
-	for (unsigned short i=0; i<16; ++i)
-		m[i] = float(mat[i]);
-}
-
-/*! Fills \p m with the product of the ModelView and Projection matrices.
-
-  Calls getModelViewMatrix() and getProjectionMatrix() and then fills \p m with the product of these two matrices. */
-void Camera::getModelViewProjectionMatrix(GLdouble m[16]) const
-{
-	GLdouble mv[16];
-	GLdouble proj[16];
-	getModelViewMatrix(mv);
-	getProjectionMatrix(proj);
-
-	for (unsigned short i=0; i<4; ++i)
-	{
-		for (unsigned short j=0; j<4; ++j)
-		{
-			qreal sum = 0.0;
-			for (unsigned short k=0; k<4; ++k)
-				sum += proj[i+4*k]*mv[k+4*j];
-			m[i+4*j] = sum;
-		}
-	}
-}
-
-/*! Overloaded getModelViewProjectionMatrix(GLdouble m[16]) method using a \c GLfloat array instead. */
-void Camera::getModelViewProjectionMatrix(GLfloat m[16]) const
-{
-	static GLdouble mat[16];
-	getModelViewProjectionMatrix(mat);
-	for (unsigned short i=0; i<16; ++i)
-		m[i] = float(mat[i]);
-}
-
-/*! Sets the sceneRadius() value. Negative values are ignored.
-
-\attention This methods also sets focusDistance() to sceneRadius() / tan(fieldOfView()/2) and
-flySpeed() to 1% of sceneRadius(). */
-void Camera::setSceneRadius(qreal radius)
-{
-	if (radius <= 0.0)
-	{
-		qWarning("Scene radius must be positive - Ignoring value");
-		return;
-	}
-
-	sceneRadius_ = radius;
-	projectionMatrixIsUpToDate_ = false;
-
-	setFocusDistance(sceneRadius() / tan(fieldOfView()/2.0));
-
-	frame()->setFlySpeed(0.01*sceneRadius());
-}
-
-/*! Similar to setSceneRadius() and setSceneCenter(), but the scene limits are defined by a (world
-  axis aligned) bounding box. */
-void Camera::setSceneBoundingBox(const Vec& min, const Vec& max)
-{
-	setSceneCenter((min+max)/2.0);
-	setSceneRadius(0.5*(max-min).norm());
-}
-
-
-/*! Sets the sceneCenter().
-
- \attention This method also sets the pivotPoint() to sceneCenter(). */
-void Camera::setSceneCenter(const Vec& center)
-{
-	sceneCenter_ = center;
-	setPivotPoint(sceneCenter());
-	projectionMatrixIsUpToDate_ = false;
-}
-
-/*! setSceneCenter() to the result of pointUnderPixel(\p pixel).
-
-  Returns \c true if a pointUnderPixel() was found and sceneCenter() was actually changed.
-
-  See also setPivotPointFromPixel(). See the pointUnderPixel() documentation. */
-bool Camera::setSceneCenterFromPixel(const QPoint& pixel)
-{
-	bool found;
-	Vec point = pointUnderPixel(pixel, found);
-	if (found)
-		setSceneCenter(point);
-	return found;
-}
-
-#ifndef DOXYGEN
-void Camera::setRevolveAroundPoint(const Vec& point) {
-	qWarning("setRevolveAroundPoint() is deprecated, use setPivotPoint() instead");
-	setPivotPoint(point);
-}
-bool Camera::setRevolveAroundPointFromPixel(const QPoint& pixel) {
-	qWarning("setRevolveAroundPointFromPixel() is deprecated, use setPivotPointFromPixel() instead");
-	return setPivotPointFromPixel(pixel);
-}
-Vec Camera::revolveAroundPoint() const {
-	qWarning("revolveAroundPoint() is deprecated, use pivotPoint() instead");
-	return pivotPoint();
-}
-#endif
-
-/*! Changes the pivotPoint() to \p point (defined in the world coordinate system). */
-void Camera::setPivotPoint(const Vec& point)
-{
-	const qreal prevDist = fabs(cameraCoordinatesOf(pivotPoint()).z);
-
-	// If frame's RAP is set directly, projectionMatrixIsUpToDate_ should also be
-	// set to false to ensure proper recomputation of the ORTHO projection matrix.
-	frame()->setPivotPoint(point);
-
-	// orthoCoef_ is used to compensate for changes of the pivotPoint, so that the image does
-	// not change when the pivotPoint is changed in ORTHOGRAPHIC mode.
-	const qreal newDist = fabs(cameraCoordinatesOf(pivotPoint()).z);
-	// Prevents division by zero when rap is set to camera position
-	if ((prevDist > 1E-9) && (newDist > 1E-9))
-		orthoCoef_ *= prevDist / newDist;
-	projectionMatrixIsUpToDate_ = false;
-}
-
-/*! The pivotPoint() is set to the point located under \p pixel on screen.
-
-Returns \c true if a pointUnderPixel() was found. If no point was found under \p pixel, the
-pivotPoint() is left unchanged.
-
-\p pixel is expressed in Qt format (origin in the upper left corner of the window). See
-pointUnderPixel().
-
-See also setSceneCenterFromPixel(). */
-bool Camera::setPivotPointFromPixel(const QPoint& pixel)
-{
-	bool found;
-	Vec point = pointUnderPixel(pixel, found);
-	if (found)
-		setPivotPoint(point);
-	return found;
-}
-
-/*! Returns the ratio between pixel and OpenGL units at \p position.
-
- A line of \c n * pixelGLRatio() OpenGL units, located at \p position in the world coordinates
- system, will be projected with a length of \c n pixels on screen.
-
- Use this method to scale objects so that they have a constant pixel size on screen. The following
- code will draw a 20 pixel line, starting at sceneCenter() and always directed along the screen
- vertical direction:
- \code
- glBegin(GL_LINES);
- glVertex3fv(sceneCenter());
- glVertex3fv(sceneCenter() + 20 * pixelGLRatio(sceneCenter()) * camera()->upVector());
- glEnd();
- \endcode */
-qreal Camera::pixelGLRatio(const Vec& position) const
-{
-	switch (type())
-	{
-		case Camera::PERSPECTIVE :
-			return 2.0 * fabs((frame()->coordinatesOf(position)).z) * tan(fieldOfView()/2.0) / screenHeight();
-		case Camera::ORTHOGRAPHIC :
-		{
-			GLdouble w, h;
-			getOrthoWidthHeight(w,h);
-			return 2.0 * h / screenHeight();
-		}
-	}
-	// Bad compilers complain
-	return 1.0;
-}
-
-/*! Changes the Camera fieldOfView() so that the entire scene (defined by QGLViewer::sceneCenter()
- and QGLViewer::sceneRadius()) is visible from the Camera position().
-
- The position() and orientation() of the Camera are not modified and you first have to orientate the
- Camera in order to actually see the scene (see lookAt(), showEntireScene() or fitSphere()).
-
- This method is especially useful for \e shadow \e maps computation. Use the Camera positioning
- tools (setPosition(), lookAt()) to position a Camera at the light position. Then use this method to
- define the fieldOfView() so that the shadow map resolution is optimally used:
- \code
- // The light camera needs size hints in order to optimize its fieldOfView
- lightCamera->setSceneRadius(sceneRadius());
- lightCamera->setSceneCenter(sceneCenter());
-
- // Place the light camera.
- lightCamera->setPosition(lightFrame->position());
- lightCamera->lookAt(sceneCenter());
- lightCamera->setFOVToFitScene();
- \endcode
-
- See the (soon available) shadowMap contribution example for a practical implementation.
-
- \attention The fieldOfView() is clamped to M_PI/2.0. This happens when the Camera is at a distance
- lower than sqrt(2.0) * sceneRadius() from the sceneCenter(). It optimizes the shadow map
- resolution, although it may miss some parts of the scene. */
-void Camera::setFOVToFitScene()
-{
-	if (distanceToSceneCenter() > sqrt(2.0)*sceneRadius())
-		setFieldOfView(2.0 * asin(sceneRadius() / distanceToSceneCenter()));
-	else
-		setFieldOfView(M_PI / 2.0);
-}
-
-/*! Makes the Camera smoothly zoom on the pointUnderPixel() \p pixel.
-
- Nothing happens if no pointUnderPixel() is found. Otherwise a KeyFrameInterpolator is created that
- animates the Camera on a one second path that brings the Camera closer to the point under \p pixel.
-
- See also interpolateToFitScene(). */
-void Camera::interpolateToZoomOnPixel(const QPoint& pixel)
-{
-	const qreal coef = 0.1;
-
-	bool found;
-	Vec target = pointUnderPixel(pixel, found);
-
-	if (!found)
-		return;
-
-	if (interpolationKfi_->interpolationIsStarted())
-		interpolationKfi_->stopInterpolation();
-
-	interpolationKfi_->deletePath();
-	interpolationKfi_->addKeyFrame(*(frame()));
-
-	interpolationKfi_->addKeyFrame(Frame(0.3*frame()->position() + 0.7*target, frame()->orientation()), 0.4);
-
-	// Small hack: attach a temporary frame to take advantage of lookAt without modifying frame
-	static ManipulatedCameraFrame* tempFrame = new ManipulatedCameraFrame();
-	ManipulatedCameraFrame* const originalFrame = frame();
-	tempFrame->setPosition(coef*frame()->position() + (1.0-coef)*target);
-	tempFrame->setOrientation(frame()->orientation());
-	setFrame(tempFrame);
-	lookAt(target);
-	setFrame(originalFrame);
-
-	interpolationKfi_->addKeyFrame(*(tempFrame), 1.0);
-
-	interpolationKfi_->startInterpolation();
-}
-
-/*! Interpolates the Camera on a one second KeyFrameInterpolator path so that the entire scene fits
- the screen at the end.
-
- The scene is defined by its sceneCenter() and its sceneRadius(). See showEntireScene().
-
- The orientation() of the Camera is not modified. See also interpolateToZoomOnPixel(). */
-void Camera::interpolateToFitScene()
-{
-	if (interpolationKfi_->interpolationIsStarted())
-		interpolationKfi_->stopInterpolation();
-
-	interpolationKfi_->deletePath();
-	interpolationKfi_->addKeyFrame(*(frame()));
-
-	// Small hack:  attach a temporary frame to take advantage of lookAt without modifying frame
-	static ManipulatedCameraFrame* tempFrame = new ManipulatedCameraFrame();
-	ManipulatedCameraFrame* const originalFrame = frame();
-	tempFrame->setPosition(frame()->position());
-	tempFrame->setOrientation(frame()->orientation());
-	setFrame(tempFrame);
-	showEntireScene();
-	setFrame(originalFrame);
-
-	interpolationKfi_->addKeyFrame(*(tempFrame));
-
-	interpolationKfi_->startInterpolation();
-}
-
-
-/*! Smoothly interpolates the Camera on a KeyFrameInterpolator path so that it goes to \p fr.
-
-  \p fr is expressed in world coordinates. \p duration tunes the interpolation speed (default is
-  1 second).
-
-  See also interpolateToFitScene() and interpolateToZoomOnPixel(). */
-void Camera::interpolateTo(const Frame& fr, qreal duration)
-{
-	if (interpolationKfi_->interpolationIsStarted())
-		interpolationKfi_->stopInterpolation();
-
-	interpolationKfi_->deletePath();
-	interpolationKfi_->addKeyFrame(*(frame()));
-	interpolationKfi_->addKeyFrame(fr, duration);
-
-	interpolationKfi_->startInterpolation();
-}
-
-
-/*! Returns the coordinates of the 3D point located at pixel (x,y) on screen.
-
- Calls a \c glReadPixel to get the pixel depth and applies an unprojectedCoordinatesOf() to the
- result. \p found indicates whether a point was found or not (i.e. background pixel, result's depth
- is zFar() in that case).
-
- \p x and \p y are expressed in pixel units with an origin in the upper left corner. Use
- screenHeight() - y to convert to OpenGL standard.
-
- \attention This method assumes that a GL context is available, and that its content was drawn using
- the Camera (i.e. using its projection and modelview matrices). This method hence cannot be used for
- offscreen Camera computations. Use cameraCoordinatesOf() and worldCoordinatesOf() to perform
- similar operations in that case.
-
- \note The precision of the z-Buffer highly depends on how the zNear() and zFar() values are fitted
- to your scene. Loose boundaries will result in imprecision along the viewing direction. */
-Vec Camera::pointUnderPixel(const QPoint& pixel, bool& found) const
-{
-	float depth;
-	// Qt uses upper corner for its origin while GL uses the lower corner.
-	glReadPixels(pixel.x(), screenHeight()-1-pixel.y(), 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &depth);
-	found = depth < 1.0;
-	Vec point(pixel.x(), pixel.y(), depth);
-	point = unprojectedCoordinatesOf(point);
-	return point;
-}
-
-/*! Moves the Camera so that the entire scene is visible.
-
- Simply calls fitSphere() on a sphere defined by sceneCenter() and sceneRadius().
-
- You will typically use this method in QGLViewer::init() after you defined a new sceneRadius(). */
-void Camera::showEntireScene()
-{
-	fitSphere(sceneCenter(), sceneRadius());
-}
-
-/*! Moves the Camera so that its sceneCenter() is projected on the center of the window. The
- orientation() and fieldOfView() are unchanged.
-
- Simply projects the current position on a line passing through sceneCenter(). See also
- showEntireScene().*/
-void Camera::centerScene()
-{
-	frame()->projectOnLine(sceneCenter(), viewDirection());
-}
-
-/*! Sets the Camera orientation(), so that it looks at point \p target (defined in the world
- coordinate system).
-
- The Camera position() is not modified. Simply setViewDirection().
-
- See also setUpVector(), setOrientation(), showEntireScene(), fitSphere() and fitBoundingBox(). */
-void Camera::lookAt(const Vec& target)
-{
-	setViewDirection(target - position());
-}
-
-/*! Moves the Camera so that the sphere defined by (\p center, \p radius) is visible and fits in the frustum.
-
- The Camera is simply translated to center the sphere in the screen and make it fit the frustum. Its
- orientation() and its fieldOfView() are unchanged.
-
- You should therefore orientate the Camera before you call this method. See lookAt(),
- setOrientation() and setUpVector(). */
-void Camera::fitSphere(const Vec& center, qreal radius)
-{
-	qreal distance = 0.0;
-	switch (type())
-	{
-		case Camera::PERSPECTIVE :
-		{
-			const qreal yview = radius / sin(fieldOfView() / 2.0);
-			const qreal xview = radius / sin(horizontalFieldOfView() / 2.0);
-			distance = qMax(xview, yview);
-			break;
-		}
-		case Camera::ORTHOGRAPHIC :
-		{
-			distance = ((center-pivotPoint()) * viewDirection()) + (radius / orthoCoef_);
-			break;
-		}
-	}
-	Vec newPos(center - distance * viewDirection());
-	frame()->setPositionWithConstraint(newPos);
-}
-
-/*! Moves the Camera so that the (world axis aligned) bounding box (\p min, \p max) is entirely
-  visible, using fitSphere(). */
-void Camera::fitBoundingBox(const Vec& min, const Vec& max)
-{
-	qreal diameter = qMax(fabs(max[1]-min[1]), fabs(max[0]-min[0]));
-	diameter = qMax(fabs(max[2]-min[2]), diameter);
-	fitSphere(0.5*(min+max), 0.5*diameter);
-}
-
-/*! Moves the Camera so that the rectangular screen region defined by \p rectangle (pixel units,
-  with origin in the upper left corner) fits the screen.
-
-  The Camera is translated (its orientation() is unchanged) so that \p rectangle is entirely
-  visible. Since the pixel coordinates only define a \e frustum in 3D, it's the intersection of this
-  frustum with a plane (orthogonal to the viewDirection() and passing through the sceneCenter())
-  that is used to define the 3D rectangle that is eventually fitted. */
-void Camera::fitScreenRegion(const QRect& rectangle)
-{
-	const Vec vd = viewDirection();
-	const qreal distToPlane = distanceToSceneCenter();
-	const QPoint center = rectangle.center();
-
-	Vec orig, dir;
-	convertClickToLine( center, orig, dir );
-	Vec newCenter = orig + distToPlane / (dir*vd) * dir;
-
-	convertClickToLine( QPoint(rectangle.x(), center.y()), orig, dir );
-	const Vec pointX = orig + distToPlane / (dir*vd) * dir;
-
-	convertClickToLine( QPoint(center.x(), rectangle.y()), orig, dir );
-	const Vec pointY = orig + distToPlane / (dir*vd) * dir;
-
-	qreal distance = 0.0;
-	switch (type())
-	{
-		case Camera::PERSPECTIVE :
-		{
-			const qreal distX = (pointX-newCenter).norm() / sin(horizontalFieldOfView()/2.0);
-			const qreal distY = (pointY-newCenter).norm() / sin(fieldOfView()/2.0);
-			distance = qMax(distX, distY);
-			break;
-		}
-		case Camera::ORTHOGRAPHIC :
-		{
-			const qreal dist = ((newCenter-pivotPoint()) * vd);
-			//#CONNECTION# getOrthoWidthHeight
-			const qreal distX = (pointX-newCenter).norm() / orthoCoef_ / ((aspectRatio() < 1.0) ? 1.0 : aspectRatio());
-			const qreal distY = (pointY-newCenter).norm() / orthoCoef_ / ((aspectRatio() < 1.0) ? 1.0/aspectRatio() : 1.0);
-			distance = dist + qMax(distX, distY);
-			break;
-		}
-	}
-
-	Vec newPos(newCenter - distance * vd);
-	frame()->setPositionWithConstraint(newPos);
-}
-
-/*! Rotates the Camera so that its upVector() becomes \p up (defined in the world coordinate
- system).
-
- The Camera is rotated around an axis orthogonal to \p up and to the current upVector() direction.
- Use this method in order to define the Camera horizontal plane.
-
- When \p noMove is set to \c false, the orientation modification is compensated by a translation, so
- that the pivotPoint() stays projected at the same position on screen. This is especially
- useful when the Camera is used as an observer of the scene (default mouse binding).
-
- When \p noMove is \c true (default), the Camera position() is left unchanged, which is an intuitive
- behavior when the Camera is in a walkthrough fly mode (see the QGLViewer::MOVE_FORWARD and
- QGLViewer::MOVE_BACKWARD QGLViewer::MouseAction).
-
- The frame()'s ManipulatedCameraFrame::sceneUpVector() is set accordingly.
-
- See also setViewDirection(), lookAt() and setOrientation(). */
-void Camera::setUpVector(const Vec& up, bool noMove)
-{
-	Quaternion q(Vec(0.0, 1.0, 0.0), frame()->transformOf(up));
-
-	if (!noMove)
-		frame()->setPosition(pivotPoint() - (frame()->orientation()*q).rotate(frame()->coordinatesOf(pivotPoint())));
-
-	frame()->rotate(q);
-
-	// Useful in fly mode to keep the horizontal direction.
-	frame()->updateSceneUpVector();
-}
-
-/*! Sets the orientation() of the Camera using polar coordinates.
-
- \p theta rotates the Camera around its Y axis, and \e then \p phi rotates it around its X axis.
- The polar coordinates are defined in the world coordinates system: \p theta = \p phi = 0 means
- that the Camera is directed towards the world Z axis. Both angles are expressed in radians.
-
- See also setUpVector(). The position() of the Camera is unchanged, you may want to call showEntireScene()
- after this method to move the Camera.
-
- This method can be useful to create Quicktime VR panoramic sequences, see the
- QGLViewer::saveSnapshot() documentation for details. */
-void Camera::setOrientation(qreal theta, qreal phi)
-{
-	Vec axis(0.0, 1.0, 0.0);
-	const Quaternion rot1(axis, theta);
-	axis = Vec(-cos(theta), 0.0, sin(theta));
-	const Quaternion rot2(axis, phi);
-	setOrientation(rot1 * rot2);
-}
-
-/*! Sets the Camera orientation(), defined in the world coordinate system. */
-void Camera::setOrientation(const Quaternion& q)
-{
-	frame()->setOrientation(q);
-	frame()->updateSceneUpVector();
-}
-
-/*! Rotates the Camera so that its viewDirection() is \p direction (defined in the world coordinate
- system).
-
- The Camera position() is not modified. The Camera is rotated so that the horizon (defined by its
- upVector()) is preserved. See also lookAt() and setUpVector(). */
-void Camera::setViewDirection(const Vec& direction)
-{
-	if (direction.squaredNorm() < 1E-10)
-		return;
-
-	Vec xAxis = direction ^ upVector();
-	if (xAxis.squaredNorm() < 1E-10)
-	{
-		// target is aligned with upVector, this means a rotation around X axis
-		// X axis is then unchanged, let's keep it !
-		xAxis = frame()->inverseTransformOf(Vec(1.0, 0.0, 0.0));
-	}
-
-	Quaternion q;
-	q.setFromRotatedBasis(xAxis, xAxis^direction, -direction);
-	frame()->setOrientationWithConstraint(q);
-}
-
-// Compute a 3 by 3 determinant.
-static qreal det(qreal m00,qreal m01,qreal m02,
-				 qreal m10,qreal m11,qreal m12,
-				 qreal m20,qreal m21,qreal m22)
-{
-	return m00*m11*m22 + m01*m12*m20 + m02*m10*m21 - m20*m11*m02 - m10*m01*m22 - m00*m21*m12;
-}
-
-// Computes the index of element [i][j] in a \c qreal matrix[3][4].
-static inline unsigned int ind(unsigned int i, unsigned int j)
-{
-	return (i*4+j);
-}
-
-/*! Returns the Camera position (the eye), defined in the world coordinate system.
-
-Use setPosition() to set the Camera position. Other convenient methods are showEntireScene() or
-fitSphere(). Actually returns \c frame()->position().
-
-This position corresponds to the projection center of a Camera::PERSPECTIVE Camera. It is not
-located in the image plane, which is at a zNear() distance ahead. */
-Vec Camera::position() const { return frame()->position(); }
-
-/*! Returns the normalized up vector of the Camera, defined in the world coordinate system.
-
-Set using setUpVector() or setOrientation(). It is orthogonal to viewDirection() and to
-rightVector().
-
-It corresponds to the Y axis of the associated frame() (actually returns
-frame()->inverseTransformOf(Vec(0.0, 1.0, 0.0)) ). */
-Vec Camera::upVector() const
-{
-	return frame()->inverseTransformOf(Vec(0.0, 1.0, 0.0));
-}
-/*! Returns the normalized view direction of the Camera, defined in the world coordinate system.
-
-Change this value using setViewDirection(), lookAt() or setOrientation(). It is orthogonal to
-upVector() and to rightVector().
-
-This corresponds to the negative Z axis of the frame() ( frame()->inverseTransformOf(Vec(0.0,
-0.0, -1.0)) ). */
-Vec Camera::viewDirection() const { return frame()->inverseTransformOf(Vec(0.0, 0.0, -1.0)); }
-
-/*! Returns the normalized right vector of the Camera, defined in the world coordinate system.
-
-This vector lies in the Camera horizontal plane, directed along the X axis (orthogonal to
-upVector() and to viewDirection()). Set using setUpVector(), lookAt() or setOrientation().
-
-Simply returns frame()->inverseTransformOf(Vec(1.0, 0.0, 0.0)). */
-Vec Camera::rightVector() const
-{
-	return frame()->inverseTransformOf(Vec(1.0, 0.0, 0.0));
-}
-
-/*! Returns the Camera orientation, defined in the world coordinate system.
-
-Actually returns \c frame()->orientation(). Use setOrientation(), setUpVector() or lookAt() to
-set the Camera orientation. */
-Quaternion Camera::orientation() const { return frame()->orientation(); }
-
-/*! Sets the Camera position() (the eye), defined in the world coordinate system. */
-void Camera::setPosition(const Vec& pos) { frame()->setPosition(pos); }
-
-/*! Returns the Camera frame coordinates of a point \p src defined in world coordinates.
-
-worldCoordinatesOf() performs the inverse transformation.
-
-Note that the point coordinates are simply converted in a different coordinate system. They are
-not projected on screen. Use projectedCoordinatesOf() for that. */
-Vec Camera::cameraCoordinatesOf(const Vec& src) const { return frame()->coordinatesOf(src); }
-
-/*! Returns the world coordinates of the point whose position \p src is defined in the Camera
-coordinate system.
-
-cameraCoordinatesOf() performs the inverse transformation. */
-Vec Camera::worldCoordinatesOf(const Vec& src) const { return frame()->inverseCoordinatesOf(src); }
-
-/*! Returns the fly speed of the Camera.
-
-Simply returns frame()->flySpeed(). See the ManipulatedCameraFrame::flySpeed() documentation.
-This value is only meaningful when the MouseAction bindings is QGLViewer::MOVE_FORWARD or
-QGLViewer::MOVE_BACKWARD.
-
-Set to 1% of the sceneRadius() by setSceneRadius(). See also setFlySpeed(). */
-qreal Camera::flySpeed() const { return frame()->flySpeed(); }
-
-/*! Sets the Camera flySpeed().
-
-\attention This value is modified by setSceneRadius(). */
-void Camera::setFlySpeed(qreal speed) { frame()->setFlySpeed(speed); }
-
-/*! The point the Camera pivots around with the QGLViewer::ROTATE mouse binding. Defined in world coordinate system.
-
-Default value is the sceneCenter().
-
-\attention setSceneCenter() changes this value. */
-Vec Camera::pivotPoint() const { return frame()->pivotPoint(); }
-
-/*! Sets the Camera's position() and orientation() from an OpenGL ModelView matrix.
-
-This enables a Camera initialisation from an other OpenGL application. \p modelView is a 16 GLdouble
-vector representing a valid OpenGL ModelView matrix, such as one can get using:
-\code
-GLdouble mvm[16];
-glGetDoublev(GL_MODELVIEW_MATRIX, mvm);
-myCamera->setFromModelViewMatrix(mvm);
-\endcode
-
-After this method has been called, getModelViewMatrix() returns a matrix equivalent to \p
-modelView.
-
-Only the orientation() and position() of the Camera are modified.
-
-\note If you defined your matrix as \c GLdouble \c mvm[4][4], pass \c &(mvm[0][0]) as a
-parameter. */
-void Camera::setFromModelViewMatrix(const GLdouble* const modelViewMatrix)
-{
-	// Get upper left (rotation) matrix
-	qreal upperLeft[3][3];
-	for (int i=0; i<3; ++i)
-		for (int j=0; j<3; ++j)
-			upperLeft[i][j] = modelViewMatrix[i*4+j];
-
-	// Transform upperLeft into the associated Quaternion
-	Quaternion q;
-	q.setFromRotationMatrix(upperLeft);
-
-	setOrientation(q);
-	setPosition(-q.rotate(Vec(modelViewMatrix[12], modelViewMatrix[13], modelViewMatrix[14])));
-}
-
-/*! Defines the Camera position(), orientation() and fieldOfView() from a projection matrix.
-
- \p matrix has to be given in the format used by vision algorithm. It has 3 lines and 4 columns. It
- transforms a point from the world homogeneous coordinate system (4 coordinates: \c sx, \c sy, \c sz
- and \c s) into a point in the screen homogeneous coordinate system (3 coordinates: \c sx, \c sy,
- and \c s, where \c x and \c y are the pixel coordinates on the screen).
-
- Its three lines correspond to the homogeneous coordinates of the normals to the planes x=0, y=0 and
- z=0, defined in the Camera coordinate system.
-
- The elements of the matrix are ordered in line major order: you can call \c
- setFromProjectionMatrix(&(matrix[0][0])) if you defined your matrix as a \c qreal \c matrix[3][4].
-
- \attention Passing the result of getProjectionMatrix() or getModelViewMatrix() to this method is
- not possible (purposefully incompatible matrix dimensions). \p matrix is more likely to be the
- product of these two matrices, without the last line.
-
- Use setFromModelViewMatrix() to set position() and orientation() from a \c GL_MODELVIEW matrix.
- fieldOfView() can also be retrieved from a \e perspective \c GL_PROJECTION matrix using 2.0 *
- atan(1.0/projectionMatrix[5]).
-
- This code was written by Sylvain Paris. */
-void Camera::setFromProjectionMatrix(const qreal matrix[12])
-{
-	// The 3 lines of the matrix are the normals to the planes x=0, y=0, z=0
-	// in the camera CS. As we normalize them, we do not need the 4th coordinate.
-	Vec line_0(matrix[ind(0,0)],matrix[ind(0,1)],matrix[ind(0,2)]);
-	Vec line_1(matrix[ind(1,0)],matrix[ind(1,1)],matrix[ind(1,2)]);
-	Vec line_2(matrix[ind(2,0)],matrix[ind(2,1)],matrix[ind(2,2)]);
-
-	line_0.normalize();
-	line_1.normalize();
-	line_2.normalize();
-
-	// The camera position is at (0,0,0) in the camera CS so it is the
-	// intersection of the 3 planes. It can be seen as the kernel
-	// of the 3x4 projection matrix. We calculate it through 4 dimensional
-	// vectorial product. We go directly into 3D that is to say we directly
-	// divide the first 3 coordinates by the 4th one.
-
-	// We derive the 4 dimensional vectorial product formula from the
-	// computation of a 4x4 determinant that is developped according to
-	// its 4th column. This implies some 3x3 determinants.
-	const Vec cam_pos = Vec(det(matrix[ind(0,1)],matrix[ind(0,2)],matrix[ind(0,3)],
-			matrix[ind(1,1)],matrix[ind(1,2)],matrix[ind(1,3)],
-			matrix[ind(2,1)],matrix[ind(2,2)],matrix[ind(2,3)]),
-
-			-det(matrix[ind(0,0)],matrix[ind(0,2)],matrix[ind(0,3)],
-			matrix[ind(1,0)],matrix[ind(1,2)],matrix[ind(1,3)],
-			matrix[ind(2,0)],matrix[ind(2,2)],matrix[ind(2,3)]),
-
-			det(matrix[ind(0,0)],matrix[ind(0,1)],matrix[ind(0,3)],
-			matrix[ind(1,0)],matrix[ind(1,1)],matrix[ind(1,3)],
-			matrix[ind(2,0)],matrix[ind(2,1)],matrix[ind(2,3)])) /
-
-			(-det(matrix[ind(0,0)],matrix[ind(0,1)],matrix[ind(0,2)],
-			matrix[ind(1,0)],matrix[ind(1,1)],matrix[ind(1,2)],
-			matrix[ind(2,0)],matrix[ind(2,1)],matrix[ind(2,2)]));
-
-	// We compute the rotation matrix column by column.
-
-	// GL Z axis is front facing.
-	Vec column_2 = -line_2;
-
-	// X-axis is almost like line_0 but should be orthogonal to the Z axis.
-	Vec column_0 = ((column_2^line_0)^column_2);
-	column_0.normalize();
-
-	// Y-axis is almost like line_1 but should be orthogonal to the Z axis.
-	// Moreover line_1 is downward oriented as the screen CS.
-	Vec column_1 = -((column_2^line_1)^column_2);
-	column_1.normalize();
-
-	qreal rot[3][3];
-	rot[0][0] = column_0[0];
-	rot[1][0] = column_0[1];
-	rot[2][0] = column_0[2];
-
-	rot[0][1] = column_1[0];
-	rot[1][1] = column_1[1];
-	rot[2][1] = column_1[2];
-
-	rot[0][2] = column_2[0];
-	rot[1][2] = column_2[1];
-	rot[2][2] = column_2[2];
-
-	// We compute the field of view
-
-	// line_1^column_0 -> vector of intersection line between
-	// y_screen=0 and x_camera=0 plane.
-	// column_2*(...)  -> cos of the angle between Z vector et y_screen=0 plane
-	// * 2 -> field of view = 2 * half angle
-
-	// We need some intermediate values.
-	Vec dummy = line_1^column_0;
-	dummy.normalize();
-	qreal fov = acos(column_2*dummy) * 2.0;
-
-	// We set the camera.
-	Quaternion q;
-	q.setFromRotationMatrix(rot);
-	setOrientation(q);
-	setPosition(cam_pos);
-	setFieldOfView(fov);
-}
-
-
-/*
-	// persp : projectionMatrix_[0]  = f/aspectRatio();
-void Camera::setFromProjectionMatrix(const GLdouble* projectionMatrix)
-{
-  QString message;
-  if ((fabs(projectionMatrix[1]) > 1E-3) ||
-	  (fabs(projectionMatrix[2]) > 1E-3) ||
-	  (fabs(projectionMatrix[3]) > 1E-3) ||
-	  (fabs(projectionMatrix[4]) > 1E-3) ||
-	  (fabs(projectionMatrix[6]) > 1E-3) ||
-	  (fabs(projectionMatrix[7]) > 1E-3) ||
-	  (fabs(projectionMatrix[8]) > 1E-3) ||
-	  (fabs(projectionMatrix[9]) > 1E-3))
-	message = "Non null coefficient in projection matrix - Aborting";
-  else
-	if ((fabs(projectionMatrix[11]+1.0) < 1E-5) && (fabs(projectionMatrix[15]) < 1E-5))
-	  {
-	if (projectionMatrix[5] < 1E-4)
-	  message="Negative field of view in Camera::setFromProjectionMatrix";
-	else
-	  setType(Camera::PERSPECTIVE);
-	  }
-	else
-	  if ((fabs(projectionMatrix[11]) < 1E-5) && (fabs(projectionMatrix[15]-1.0) < 1E-5))
-	setType(Camera::ORTHOGRAPHIC);
-	  else
-	message = "Unable to determine camera type in setFromProjectionMatrix - Aborting";
-
-  if (!message.isEmpty())
-	{
-	  qWarning(message);
-	  return;
-	}
-
-  switch (type())
-	{
-	case Camera::PERSPECTIVE:
-	  {
-	setFieldOfView(2.0 * atan(1.0/projectionMatrix[5]));
-	const qreal far = projectionMatrix[14] / (2.0 * (1.0 + projectionMatrix[10]));
-	const qreal near = (projectionMatrix[10]+1.0) / (projectionMatrix[10]-1.0) * far;
-	setSceneRadius((far-near)/2.0);
-	setSceneCenter(position() + (near + sceneRadius())*viewDirection());
-	break;
-	  }
-	case Camera::ORTHOGRAPHIC:
-	  {
-	GLdouble w, h;
-	getOrthoWidthHeight(w,h);
-	projectionMatrix_[0]  = 1.0/w;
-	projectionMatrix_[5]  = 1.0/h;
-	projectionMatrix_[10] = -2.0/(ZFar - ZNear);
-	projectionMatrix_[11] = 0.0;
-	projectionMatrix_[14] = -(ZFar + ZNear)/(ZFar - ZNear);
-	projectionMatrix_[15] = 1.0;
-	// same as glOrtho( -w, w, -h, h, zNear(), zFar() );
-	break;
-	  }
-	}
-}
-*/
-
-///////////////////////// Camera to world transform ///////////////////////
-
-/*! Same as cameraCoordinatesOf(), but with \c qreal[3] parameters (\p src and \p res may be identical pointers). */
-void Camera::getCameraCoordinatesOf(const qreal src[3], qreal res[3]) const
-{
-	Vec r = cameraCoordinatesOf(Vec(src));
-	for (int i=0; i<3; ++i)
-		res[i] = r[i];
-}
-
-/*! Same as worldCoordinatesOf(), but with \c qreal[3] parameters (\p src and \p res may be identical pointers). */
-void Camera::getWorldCoordinatesOf(const qreal src[3], qreal res[3]) const
-{
-	Vec r = worldCoordinatesOf(Vec(src));
-	for (int i=0; i<3; ++i)
-		res[i] = r[i];
-}
-
-/*! Fills \p viewport with the Camera OpenGL viewport.
-
-This method is mainly used in conjunction with \c gluProject, which requires such a viewport.
-Returned values are (0, screenHeight(), screenWidth(), - screenHeight()), so that the origin is
-located in the \e upper left corner of the window (Qt style coordinate system). */
-void Camera::getViewport(GLint viewport[4]) const
-{
-	viewport[0] = 0;
-	viewport[1] = screenHeight();
-	viewport[2] = screenWidth();
-	viewport[3] = -screenHeight();
-}
-
-/*! Returns the screen projected coordinates of a point \p src defined in the \p frame coordinate
- system.
-
- When \p frame in \c NULL (default), \p src is expressed in the world coordinate system.
-
- The x and y coordinates of the returned Vec are expressed in pixel, (0,0) being the \e upper left
- corner of the window. The z coordinate ranges between 0.0 (near plane) and 1.0 (excluded, far
- plane). See the \c gluProject man page for details.
-
- unprojectedCoordinatesOf() performs the inverse transformation.
-
- See the <a href="../examples/screenCoordSystem.html">screenCoordSystem example</a>.
-
- This method only uses the intrinsic Camera parameters (see getModelViewMatrix(),
- getProjectionMatrix() and getViewport()) and is completely independent of the OpenGL \c
- GL_MODELVIEW, \c GL_PROJECTION and viewport matrices. You can hence define a virtual Camera and use
- this method to compute projections out of a classical rendering context.
-
- \attention However, if your Camera is not attached to a QGLViewer (used for offscreen computations
- for instance), make sure the Camera matrices are updated before calling this method. Call
- computeModelViewMatrix() and computeProjectionMatrix() to do so.
-
- If you call this method several times with no change in the matrices, consider precomputing the
- projection times modelview matrix to save computation time if required (\c P x \c M in the \c
- gluProject man page).
-
- Here is the code corresponding to what this method does (kindly submitted by Robert W. Kuhn) :
- \code
- Vec project(Vec point)
- {
-	GLint    Viewport[4];
-	GLdouble Projection[16], Modelview[16];
-	GLdouble matrix[16];
-
-	// Precomputation begin
-	glGetIntegerv(GL_VIEWPORT         , Viewport);
-	glGetDoublev (GL_MODELVIEW_MATRIX , Modelview);
-	glGetDoublev (GL_PROJECTION_MATRIX, Projection);
-
-	for (unsigned short m=0; m<4; ++m)
-	{
-		for (unsigned short l=0; l<4; ++l)
-		{
-			qreal sum = 0.0;
-			for (unsigned short k=0; k<4; ++k)
-				sum += Projection[l+4*k]*Modelview[k+4*m];
-			matrix[l+4*m] = sum;
-		}
-	}
-	// Precomputation end
-
-	GLdouble v[4], vs[4];
-	v[0]=point[0]; v[1]=point[1]; v[2]=point[2]; v[3]=1.0;
-
-	vs[0]=matrix[0 ]*v[0] + matrix[4 ]*v[1] + matrix[8 ]*v[2] + matrix[12 ]*v[3];
-	vs[1]=matrix[1 ]*v[0] + matrix[5 ]*v[1] + matrix[9 ]*v[2] + matrix[13 ]*v[3];
-	vs[2]=matrix[2 ]*v[0] + matrix[6 ]*v[1] + matrix[10]*v[2] + matrix[14 ]*v[3];
-	vs[3]=matrix[3 ]*v[0] + matrix[7 ]*v[1] + matrix[11]*v[2] + matrix[15 ]*v[3];
-
-	vs[0] /= vs[3];
-	vs[1] /= vs[3];
-	vs[2] /= vs[3];
-
-	vs[0] = vs[0] * 0.5 + 0.5;
-	vs[1] = vs[1] * 0.5 + 0.5;
-	vs[2] = vs[2] * 0.5 + 0.5;
-
-	vs[0] = vs[0] * Viewport[2] + Viewport[0];
-	vs[1] = vs[1] * Viewport[3] + Viewport[1];
-
-	return Vec(vs[0], Viewport[3]-vs[1], vs[2]);
-  }
- \endcode
- */
-Vec Camera::projectedCoordinatesOf(const Vec& src, const Frame* frame) const
-{
-	GLdouble x,y,z;
-	static GLint viewport[4];
-	getViewport(viewport);
-
-	if (frame)
-	{
-		const Vec tmp = frame->inverseCoordinatesOf(src);
-		gluProject(tmp.x,tmp.y,tmp.z, modelViewMatrix_, projectionMatrix_, viewport,  &x,&y,&z);
-	}
-	else
-		gluProject(src.x,src.y,src.z, modelViewMatrix_, projectionMatrix_, viewport,  &x,&y,&z);
-
-	return Vec(x,y,z);
-}
-
-/*! Returns the world unprojected coordinates of a point \p src defined in the screen coordinate
- system.
-
- The \p src.x and \p src.y input values are expressed in pixels, (0,0) being the \e upper left corner
- of the window. \p src.z is a depth value ranging in [0..1[ (respectively corresponding to the near
- and far planes). Note that src.z is \e not a linear interpolation between zNear and zFar.
- /code
- src.z = zFar() / (zFar() - zNear()) * (1.0 - zNear() / z);
- /endcode
- Where z is the distance from the point you project to the camera, along the viewDirection().
- See the \c gluUnProject man page for details.
-
- The result is expressed in the \p frame coordinate system. When \p frame is \c NULL (default), the
- result is expressed in the world coordinates system. The possible \p frame Frame::referenceFrame()
- are taken into account.
-
- projectedCoordinatesOf() performs the inverse transformation.
-
- This method only uses the intrinsic Camera parameters (see getModelViewMatrix(),
- getProjectionMatrix() and getViewport()) and is completely independent of the OpenGL \c
- GL_MODELVIEW, \c GL_PROJECTION and viewport matrices. You can hence define a virtual Camera and use
- this method to compute un-projections out of a classical rendering context.
-
- \attention However, if your Camera is not attached to a QGLViewer (used for offscreen computations
- for instance), make sure the Camera matrices are updated before calling this method (use
- computeModelViewMatrix(), computeProjectionMatrix()). See also setScreenWidthAndHeight().
-
- This method is not computationally optimized. If you call it several times with no change in the
- matrices, you should buffer the entire inverse projection matrix (modelview, projection and then
- viewport) to speed-up the queries. See the \c gluUnProject man page for details. */
-Vec Camera::unprojectedCoordinatesOf(const Vec& src, const Frame* frame) const
-{
-	GLdouble x,y,z;
-	static GLint viewport[4];
-	getViewport(viewport);
-	gluUnProject(src.x,src.y,src.z, modelViewMatrix_,  projectionMatrix_,  viewport,  &x,&y,&z);
-	if (frame)
-		return frame->coordinatesOf(Vec(x,y,z));
-	else
-		return Vec(x,y,z);
-}
-
-/*! Same as projectedCoordinatesOf(), but with \c qreal parameters (\p src and \p res can be identical pointers). */
-void Camera::getProjectedCoordinatesOf(const qreal src[3], qreal res[3], const Frame* frame) const
-{
-	Vec r = projectedCoordinatesOf(Vec(src), frame);
-	for (int i=0; i<3; ++i)
-		res[i] = r[i];
-}
-
-/*! Same as unprojectedCoordinatesOf(), but with \c qreal parameters (\p src and \p res can be identical pointers). */
-void Camera::getUnprojectedCoordinatesOf(const qreal src[3], qreal res[3], const Frame* frame) const
-{
-	Vec r = unprojectedCoordinatesOf(Vec(src), frame);
-	for (int i=0; i<3; ++i)
-		res[i] = r[i];
-}
-
-/////////////////////////////////////  KFI /////////////////////////////////////////
-
-/*! Returns the KeyFrameInterpolator that defines the Camera path number \p i.
-
-If path \p i is not defined for this index, the method returns a \c NULL pointer. */
-KeyFrameInterpolator* Camera::keyFrameInterpolator(unsigned int i) const
-{
-	if (kfi_.contains(i))
-		return kfi_[i];
-	else
-		return NULL;
-}
-
-/*! Sets the KeyFrameInterpolator that defines the Camera path of index \p i.
-
- The previous keyFrameInterpolator() is lost and should be deleted by the calling method if
- needed.
-
- The KeyFrameInterpolator::interpolated() signal of \p kfi probably needs to be connected to the
- Camera's associated QGLViewer::update() slot, so that when the Camera position is interpolated
- using \p kfi, every interpolation step updates the display:
- \code
- myViewer.camera()->deletePath(3);
- myViewer.camera()->setKeyFrameInterpolator(3, myKeyFrameInterpolator);
- connect(myKeyFrameInterpolator, SIGNAL(interpolated()), myViewer, SLOT(update());
- \endcode
-
- \note These connections are done automatically when a Camera is attached to a QGLViewer, or when a
- new KeyFrameInterpolator is defined using the QGLViewer::addKeyFrameKeyboardModifiers() and
- QGLViewer::pathKey() (default is Alt+F[1-12]). See the <a href="../keyboard.html">keyboard page</a>
- for details. */
-void Camera::setKeyFrameInterpolator(unsigned int i, KeyFrameInterpolator* const kfi)
-{
-	if (kfi)
-		kfi_[i] = kfi;
-	else
-		kfi_.remove(i);
-}
-
-/*! Adds the current Camera position() and orientation() as a keyFrame to the path number \p i.
-
-This method can also be used if you simply want to save a Camera point of view (a path made of a
-single keyFrame). Use playPath() to make the Camera play the keyFrame path (resp. restore
-the point of view). Use deletePath() to clear the path.
-
-The default keyboard shortcut for this method is Alt+F[1-12]. Set QGLViewer::pathKey() and
-QGLViewer::addKeyFrameKeyboardModifiers().
-
-If you use directly this method and the keyFrameInterpolator(i) does not exist, a new one is
-created. Its KeyFrameInterpolator::interpolated() signal should then be connected to the
-QGLViewer::update() slot (see setKeyFrameInterpolator()). */
-void Camera::addKeyFrameToPath(unsigned int i)
-{
-	if (!kfi_.contains(i))
-		setKeyFrameInterpolator(i, new KeyFrameInterpolator(frame()));
-
-	kfi_[i]->addKeyFrame(*(frame()));
-}
-
-/*! Makes the Camera follow the path of keyFrameInterpolator() number \p i.
-
- If the interpolation is started, it stops it instead.
-
- This method silently ignores undefined (empty) paths (see keyFrameInterpolator()).
-
- The default keyboard shortcut for this method is F[1-12]. Set QGLViewer::pathKey() and
- QGLViewer::playPathKeyboardModifiers(). */
-void Camera::playPath(unsigned int i)
-{
-	if (kfi_.contains(i)) {
-		if (kfi_[i]->interpolationIsStarted())
-			kfi_[i]->stopInterpolation();
-		else
-			kfi_[i]->startInterpolation();
-	}
-}
-
-/*! Resets the path of the keyFrameInterpolator() number \p i.
-
-If this path is \e not being played (see playPath() and
-KeyFrameInterpolator::interpolationIsStarted()), resets it to its starting position (see
-KeyFrameInterpolator::resetInterpolation()). If the path is played, simply stops interpolation. */
-void Camera::resetPath(unsigned int i)
-{
-	if (kfi_.contains(i)) {
-		if ((kfi_[i]->interpolationIsStarted()))
-			kfi_[i]->stopInterpolation();
-		else
-		{
-			kfi_[i]->resetInterpolation();
-			kfi_[i]->interpolateAtTime(kfi_[i]->interpolationTime());
-		}
-	}
-}
-
-/*! Deletes the keyFrameInterpolator() of index \p i.
-
-Disconnect the keyFrameInterpolator() KeyFrameInterpolator::interpolated() signal before deleting the
-keyFrameInterpolator() if needed:
-\code
-disconnect(camera()->keyFrameInterpolator(i), SIGNAL(interpolated()), this, SLOT(update()));
-camera()->deletePath(i);
-\endcode */
-void Camera::deletePath(unsigned int i)
-{
-	if (kfi_.contains(i))
-	{
-		kfi_[i]->stopInterpolation();
-		delete kfi_[i];
-		kfi_.remove(i);
-	}
-}
-
-/*! Draws all the Camera paths defined by the keyFrameInterpolator().
-
- Simply calls KeyFrameInterpolator::drawPath() for all the defined paths. The path color is the
- current \c glColor().
-
- \attention The OpenGL state is modified by this method: see KeyFrameInterpolator::drawPath(). */
-void Camera::drawAllPaths()
-{
-	for (QMap<unsigned int, KeyFrameInterpolator*>::ConstIterator it = kfi_.begin(), end=kfi_.end(); it != end; ++it)
-		(it.value())->drawPath(3, 5, sceneRadius());
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Returns an XML \c QDomElement that represents the Camera.
-
- \p name is the name of the QDomElement tag. \p doc is the \c QDomDocument factory used to create
- QDomElement.
-
- Concatenates the Camera parameters, the ManipulatedCameraFrame::domElement() and the paths'
- KeyFrameInterpolator::domElement().
-
- Use initFromDOMElement() to restore the Camera state from the resulting \c QDomElement.
-
- If you want to save the Camera state in a file, use:
- \code
-  QDomDocument document("myCamera");
-  doc.appendChild( myCamera->domElement("Camera", document) );
-
-  QFile f("myCamera.xml");
-  if (f.open(IO_WriteOnly))
-	{
-	  QTextStream out(&f);
-	  document.save(out, 2);
-	}
- \endcode
-
- Note that the QGLViewer::camera() is automatically saved by QGLViewer::saveStateToFile() when a
- QGLViewer is closed. Use QGLViewer::restoreStateFromFile() to restore it back. */
-QDomElement Camera::domElement(const QString& name, QDomDocument& document) const
-{
-	QDomElement de = document.createElement(name);
-	QDomElement paramNode = document.createElement("Parameters");
-	paramNode.setAttribute("fieldOfView", QString::number(fieldOfView()));
-	paramNode.setAttribute("zNearCoefficient", QString::number(zNearCoefficient()));
-	paramNode.setAttribute("zClippingCoefficient", QString::number(zClippingCoefficient()));
-	paramNode.setAttribute("orthoCoef", QString::number(orthoCoef_));
-	paramNode.setAttribute("sceneRadius", QString::number(sceneRadius()));
-	paramNode.appendChild(sceneCenter().domElement("SceneCenter", document));
-
-	switch (type())
-	{
-		case Camera::PERSPECTIVE  :	paramNode.setAttribute("Type", "PERSPECTIVE"); break;
-		case Camera::ORTHOGRAPHIC :	paramNode.setAttribute("Type", "ORTHOGRAPHIC"); break;
-	}
-	de.appendChild(paramNode);
-
-	QDomElement stereoNode = document.createElement("Stereo");
-	stereoNode.setAttribute("IODist", QString::number(IODistance()));
-	stereoNode.setAttribute("focusDistance", QString::number(focusDistance()));
-	stereoNode.setAttribute("physScreenWidth", QString::number(physicalScreenWidth()));
-	de.appendChild(stereoNode);
-
-	de.appendChild(frame()->domElement("ManipulatedCameraFrame", document));
-
-	// KeyFrame paths
-	for (QMap<unsigned int, KeyFrameInterpolator*>::ConstIterator it = kfi_.begin(), end=kfi_.end(); it != end; ++it)
-	{
-		QDomElement kfNode = (it.value())->domElement("KeyFrameInterpolator", document);
-		kfNode.setAttribute("index", QString::number(it.key()));
-		de.appendChild(kfNode);
-	}
-
-	return de;
-}
-
-/*! Restores the Camera state from a \c QDomElement created by domElement().
-
- Use the following code to retrieve a Camera state from a file created using domElement():
- \code
- // Load DOM from file
- QDomDocument document;
- QFile f("myCamera.xml");
- if (f.open(IO_ReadOnly))
- {
-   document.setContent(&f);
-   f.close();
- }
-
- // Parse the DOM tree
- QDomElement main = document.documentElement();
- myCamera->initFromDOMElement(main);
- \endcode
-
- The frame() pointer is not modified by this method. The frame() state is however modified.
-
- \attention The original keyFrameInterpolator() are deleted and should be copied first if they are shared. */
-void Camera::initFromDOMElement(const QDomElement& element)
-{
-	QDomElement child=element.firstChild().toElement();
-
-	QMutableMapIterator<unsigned int, KeyFrameInterpolator*> it(kfi_);
-	while (it.hasNext()) {
-		it.next();
-		deletePath(it.key());
-	}
-
-	while (!child.isNull())
-	{
-		if (child.tagName() == "Parameters")
-		{
-			// #CONNECTION# Default values set in constructor
-			setFieldOfView(DomUtils::qrealFromDom(child, "fieldOfView", M_PI/4.0));
-			setZNearCoefficient(DomUtils::qrealFromDom(child, "zNearCoefficient", 0.005));
-			setZClippingCoefficient(DomUtils::qrealFromDom(child, "zClippingCoefficient", sqrt(3.0)));
-			orthoCoef_ = DomUtils::qrealFromDom(child, "orthoCoef", tan(fieldOfView()/2.0));
-			setSceneRadius(DomUtils::qrealFromDom(child, "sceneRadius", sceneRadius()));
-
-			setType(PERSPECTIVE);
-			QString type = child.attribute("Type", "PERSPECTIVE");
-			if (type == "PERSPECTIVE")  setType(Camera::PERSPECTIVE);
-			if (type == "ORTHOGRAPHIC") setType(Camera::ORTHOGRAPHIC);
-
-			QDomElement child2=child.firstChild().toElement();
-			while (!child2.isNull())
-			{
-				/* Although the scene does not change when a camera is loaded, restore the saved center and radius values.
-		   Mainly useful when a the viewer is restored on startup, with possible additional cameras. */
-				if (child2.tagName() == "SceneCenter")
-					setSceneCenter(Vec(child2));
-
-				child2 = child2.nextSibling().toElement();
-			}
-		}
-
-		if (child.tagName() == "ManipulatedCameraFrame")
-			frame()->initFromDOMElement(child);
-
-		if (child.tagName() == "Stereo")
-		{
-			setIODistance(DomUtils::qrealFromDom(child, "IODist", 0.062));
-			setFocusDistance(DomUtils::qrealFromDom(child, "focusDistance", focusDistance()));
-			setPhysicalScreenWidth(DomUtils::qrealFromDom(child, "physScreenWidth", 0.5));
-		}
-
-		if (child.tagName() == "KeyFrameInterpolator")
-		{
-			unsigned int index = DomUtils::uintFromDom(child, "index", 0);
-			setKeyFrameInterpolator(index, new KeyFrameInterpolator(frame()));
-			if (keyFrameInterpolator(index))
-				keyFrameInterpolator(index)->initFromDOMElement(child);
-		}
-
-		child = child.nextSibling().toElement();
-	}
-}
-
-/*! Gives the coefficients of a 3D half-line passing through the Camera eye and pixel (x,y).
-
- The origin of the half line (eye position) is stored in \p orig, while \p dir contains the properly
- oriented and normalized direction of the half line.
-
- \p x and \p y are expressed in Qt format (origin in the upper left corner). Use screenHeight() - y
- to convert to OpenGL units.
-
- This method is useful for analytical intersection in a selection method.
-
- See the <a href="../examples/select.html">select example</a> for an illustration. */
-void Camera::convertClickToLine(const QPoint& pixel, Vec& orig, Vec& dir) const
-{
-	switch (type())
-	{
-		case Camera::PERSPECTIVE:
-			orig = position();
-			dir = Vec( ((2.0 * pixel.x() / screenWidth()) - 1.0) * tan(fieldOfView()/2.0) * aspectRatio(),
-					   ((2.0 * (screenHeight()-pixel.y()) / screenHeight()) - 1.0) * tan(fieldOfView()/2.0),
-					   -1.0 );
-			dir = worldCoordinatesOf(dir) - orig;
-			dir.normalize();
-			break;
-
-		case Camera::ORTHOGRAPHIC:
-		{
-			GLdouble w,h;
-			getOrthoWidthHeight(w,h);
-			orig = Vec((2.0 * pixel.x() / screenWidth() - 1.0)*w, -(2.0 * pixel.y() / screenHeight() - 1.0)*h, 0.0);
-			orig = worldCoordinatesOf(orig);
-			dir = viewDirection();
-			break;
-		}
-	}
-}
-
-#ifndef DOXYGEN
-/*! This method has been deprecated in libQGLViewer version 2.2.0 */
-void Camera::drawCamera(qreal, qreal, qreal)
-{
-	qWarning("drawCamera is deprecated. Use Camera::draw() instead.");
-}
-#endif
-
-/*! Draws a representation of the Camera in the 3D world.
-
-The near and far planes are drawn as quads, the frustum is drawn using lines and the camera up
-vector is represented by an arrow to disambiguate the drawing. See the
-<a href="../examples/standardCamera.html">standardCamera example</a> for an illustration.
-
-Note that the current \c glColor and \c glPolygonMode are used to draw the near and far planes. See
-the <a href="../examples/frustumCulling.html">frustumCulling example</a> for an example of
-semi-transparent plane drawing. Similarly, the current \c glLineWidth and \c glColor is used to draw
-the frustum outline.
-
-When \p drawFarPlane is \c false, only the near plane is drawn. \p scale can be used to scale the
-drawing: a value of 1.0 (default) will draw the Camera's frustum at its actual size.
-
-This method assumes that the \c glMatrixMode is \c GL_MODELVIEW and that the current ModelView
-matrix corresponds to the world coordinate system (as it is at the beginning of QGLViewer::draw()).
-The Camera is then correctly positioned and orientated.
-
-\note The drawing of a QGLViewer's own QGLViewer::camera() should not be visible, but may create
-artefacts due to numerical imprecisions. */
-void Camera::draw(bool drawFarPlane, qreal scale) const
-{
-	glPushMatrix();
-	glMultMatrixd(frame()->worldMatrix());
-
-	// 0 is the upper left coordinates of the near corner, 1 for the far one
-	Vec points[2];
-
-	points[0].z = scale * zNear();
-	points[1].z = scale * zFar();
-
-	switch (type())
-	{
-		case Camera::PERSPECTIVE:
-		{
-			points[0].y = points[0].z * tan(fieldOfView()/2.0);
-			points[0].x = points[0].y * aspectRatio();
-
-			const qreal ratio = points[1].z / points[0].z;
-
-			points[1].y = ratio * points[0].y;
-			points[1].x = ratio * points[0].x;
-			break;
-		}
-		case Camera::ORTHOGRAPHIC:
-		{
-			GLdouble hw, hh;
-			getOrthoWidthHeight(hw, hh);
-			points[0].x = points[1].x = scale * qreal(hw);
-			points[0].y = points[1].y = scale * qreal(hh);
-			break;
-		}
-	}
-
-	const int farIndex = drawFarPlane?1:0;
-
-	// Near and (optionally) far plane(s)
-	glBegin(GL_QUADS);
-	for (int i=farIndex; i>=0; --i)
-	{
-		glNormal3d(0.0f, 0.0f, (i==0)?1.0f:-1.0f);
-		glVertex3d( points[i].x,  points[i].y, -points[i].z);
-		glVertex3d(-points[i].x,  points[i].y, -points[i].z);
-		glVertex3d(-points[i].x, -points[i].y, -points[i].z);
-		glVertex3d( points[i].x, -points[i].y, -points[i].z);
-	}
-	glEnd();
-
-	// Up arrow
-	const qreal arrowHeight    = 1.5 * points[0].y;
-	const qreal baseHeight     = 1.2 * points[0].y;
-	const qreal arrowHalfWidth = 0.5 * points[0].x;
-	const qreal baseHalfWidth  = 0.3 * points[0].x;
-
-	glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
-	// Base
-	glBegin(GL_QUADS);
-	glVertex3d(-baseHalfWidth, points[0].y, -points[0].z);
-	glVertex3d( baseHalfWidth, points[0].y, -points[0].z);
-	glVertex3d( baseHalfWidth, baseHeight,  -points[0].z);
-	glVertex3d(-baseHalfWidth, baseHeight,  -points[0].z);
-	glEnd();
-
-	// Arrow
-	glBegin(GL_TRIANGLES);
-	glVertex3d( 0.0,           arrowHeight, -points[0].z);
-	glVertex3d(-arrowHalfWidth, baseHeight,  -points[0].z);
-	glVertex3d( arrowHalfWidth, baseHeight,  -points[0].z);
-	glEnd();
-
-	// Frustum lines
-	switch (type())
-	{
-		case Camera::PERSPECTIVE :
-			glBegin(GL_LINES);
-			glVertex3d(0.0, 0.0, 0.0);
-			glVertex3d( points[farIndex].x,  points[farIndex].y, -points[farIndex].z);
-			glVertex3d(0.0, 0.0, 0.0);
-			glVertex3d(-points[farIndex].x,  points[farIndex].y, -points[farIndex].z);
-			glVertex3d(0.0, 0.0, 0.0);
-			glVertex3d(-points[farIndex].x, -points[farIndex].y, -points[farIndex].z);
-			glVertex3d(0.0, 0.0, 0.0);
-			glVertex3d( points[farIndex].x, -points[farIndex].y, -points[farIndex].z);
-			glEnd();
-			break;
-		case Camera::ORTHOGRAPHIC :
-			if (drawFarPlane)
-			{
-				glBegin(GL_LINES);
-				glVertex3d( points[0].x,  points[0].y, -points[0].z);
-				glVertex3d( points[1].x,  points[1].y, -points[1].z);
-				glVertex3d(-points[0].x,  points[0].y, -points[0].z);
-				glVertex3d(-points[1].x,  points[1].y, -points[1].z);
-				glVertex3d(-points[0].x, -points[0].y, -points[0].z);
-				glVertex3d(-points[1].x, -points[1].y, -points[1].z);
-				glVertex3d( points[0].x, -points[0].y, -points[0].z);
-				glVertex3d( points[1].x, -points[1].y, -points[1].z);
-				glEnd();
-			}
-	}
-
-	glPopMatrix();
-}
-
-
-/*! Returns the 6 plane equations of the Camera frustum.
-
-The six 4-component vectors of \p coef respectively correspond to the left, right, near, far, top
-and bottom Camera frustum planes. Each vector holds a plane equation of the form:
-\code
-a*x + b*y + c*z + d = 0
-\endcode
-where \c a, \c b, \c c and \c d are the 4 components of each vector, in that order.
-
-See the <a href="../examples/frustumCulling.html">frustumCulling example</a> for an application.
-
-This format is compatible with the \c glClipPlane() function. One camera frustum plane can hence be
-applied in an other viewer to visualize the culling results:
-\code
- // Retrieve plane equations
- GLdouble coef[6][4];
- mainViewer->camera()->getFrustumPlanesCoefficients(coef);
-
- // These two additional clipping planes (which must have been enabled)
- // will reproduce the mainViewer's near and far clipping.
- glClipPlane(GL_CLIP_PLANE0, coef[2]);
- glClipPlane(GL_CLIP_PLANE1, coef[3]);
-\endcode */
-void Camera::getFrustumPlanesCoefficients(GLdouble coef[6][4]) const
-{
-	// Computed once and for all
-	const Vec pos          = position();
-	const Vec viewDir      = viewDirection();
-	const Vec up           = upVector();
-	const Vec right        = rightVector();
-	const qreal posViewDir = pos * viewDir;
-
-	static Vec normal[6];
-	static GLdouble dist[6];
-
-	switch (type())
-	{
-		case Camera::PERSPECTIVE :
-		{
-			const qreal hhfov = horizontalFieldOfView() / 2.0;
-			const qreal chhfov = cos(hhfov);
-			const qreal shhfov = sin(hhfov);
-			normal[0] = - shhfov * viewDir;
-			normal[1] = normal[0] + chhfov * right;
-			normal[0] = normal[0] - chhfov * right;
-
-			normal[2] = -viewDir;
-			normal[3] =  viewDir;
-
-			const qreal hfov = fieldOfView() / 2.0;
-			const qreal chfov = cos(hfov);
-			const qreal shfov = sin(hfov);
-			normal[4] = - shfov * viewDir;
-			normal[5] = normal[4] - chfov * up;
-			normal[4] = normal[4] + chfov * up;
-
-			for (int i=0; i<2; ++i)
-				dist[i] = pos * normal[i];
-			for (int j=4; j<6; ++j)
-				dist[j] = pos * normal[j];
-
-			// Natural equations are:
-			// dist[0,1,4,5] = pos * normal[0,1,4,5];
-			// dist[2] = (pos + zNear() * viewDir) * normal[2];
-			// dist[3] = (pos + zFar()  * viewDir) * normal[3];
-
-			// 2 times less computations using expanded/merged equations. Dir vectors are normalized.
-			const qreal posRightCosHH = chhfov * pos * right;
-			dist[0] = -shhfov * posViewDir;
-			dist[1] = dist[0] + posRightCosHH;
-			dist[0] = dist[0] - posRightCosHH;
-			const qreal posUpCosH = chfov * pos * up;
-			dist[4] = - shfov * posViewDir;
-			dist[5] = dist[4] - posUpCosH;
-			dist[4] = dist[4] + posUpCosH;
-
-			break;
-		}
-		case Camera::ORTHOGRAPHIC :
-			normal[0] = -right;
-			normal[1] =  right;
-			normal[4] =  up;
-			normal[5] = -up;
-
-			GLdouble hw, hh;
-			getOrthoWidthHeight(hw, hh);
-			dist[0] = (pos - hw * right) * normal[0];
-			dist[1] = (pos + hw * right) * normal[1];
-			dist[4] = (pos + hh * up) * normal[4];
-			dist[5] = (pos - hh * up) * normal[5];
-			break;
-	}
-
-	// Front and far planes are identical for both camera types.
-	normal[2] = -viewDir;
-	normal[3] =  viewDir;
-	dist[2] = -posViewDir - zNear();
-	dist[3] =  posViewDir + zFar();
-
-	for (int i=0; i<6; ++i)
-	{
-		coef[i][0] = GLdouble(normal[i].x);
-		coef[i][1] = GLdouble(normal[i].y);
-		coef[i][2] = GLdouble(normal[i].z);
-		coef[i][3] = dist[i];
-	}
-}
-
-void Camera::onFrameModified() {
-	projectionMatrixIsUpToDate_ = false;
-	modelViewMatrixIsUpToDate_ = false;
-}
diff --git a/SRC/QGLViewer/QGLViewer/camera.h b/SRC/QGLViewer/QGLViewer/camera.h
deleted file mode 100644
index 4657f95..0000000
--- a/SRC/QGLViewer/QGLViewer/camera.h
+++ /dev/null
@@ -1,512 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef QGLVIEWER_CAMERA_H
-#define QGLVIEWER_CAMERA_H
-
-#include "keyFrameInterpolator.h"
-class QGLViewer;
-
-namespace qglviewer {
-
-class ManipulatedCameraFrame;
-
-/*! \brief A perspective or orthographic camera.
-  \class Camera camera.h QGLViewer/camera.h
-
-  A Camera defines some intrinsic parameters (fieldOfView(), position(), viewDirection(),
-  upVector()...) and useful positioning tools that ease its placement (showEntireScene(),
-  fitSphere(), lookAt()...). It exports its associated OpenGL projection and modelview matrices and
-  can interactively be modified using the mouse.
-
-  <h3>Mouse manipulation</h3>
-
-  The position() and orientation() of the Camera are defined by a ManipulatedCameraFrame (retrieved
-  using frame()). These methods are just convenient wrappers to the equivalent Frame methods. This
-  also means that the Camera frame() can be attached to a Frame::referenceFrame() which enables
-  complex Camera setups.
-
-  Different displacements can be performed using the mouse. The list of possible actions is defined
-  by the QGLViewer::MouseAction enum. Use QGLViewer::setMouseBinding() to attach a specific action
-  to an arbitrary mouse button-state key binding. These actions are detailed in the <a
-  href="../mouse.html">mouse page</a>.
-
-  The default button binding are: QGLViewer::ROTATE (left), QGLViewer::ZOOM (middle) and
-  QGLViewer::TRANSLATE (right). With this configuration, the Camera \e observes a scene and rotates
-  around its pivotPoint(). You can switch between this mode and a fly mode using the
-  QGLViewer::CAMERA_MODE (see QGLViewer::toggleCameraMode()) keyboard shortcut (default is 'Space').
-
-  <h3>Other functionalities</h3>
-
-  The type() of the Camera can be Camera::ORTHOGRAPHIC or Camera::PERSPECTIVE (see Type()).
-  fieldOfView() is meaningless with Camera::ORTHOGRAPHIC.
-
-  The near and far planes of the Camera are fitted to the scene and determined from
-  QGLViewer::sceneRadius(), QGLViewer::sceneCenter() and zClippingCoefficient() by the zNear() and
-  zFar() methods. Reasonable values on the scene extends hence have to be provided to the QGLViewer
-  in order for the Camera to correctly display the scene. High level positioning methods also use
-  this information (showEntireScene(), centerScene()...).
-
-  A Camera holds KeyFrameInterpolator that can be used to save Camera positions and paths. You can
-  interactively addKeyFrameToPath() to a given path using the default \c Alt+F[1-12] shortcuts. Use
-  playPath() to make the Camera follow the path (default shortcut is F[1-12]). See the <a
-  href="../keyboard.html">keyboard page</a> for details on key customization.
-
-  Use cameraCoordinatesOf() and worldCoordinatesOf() to convert to and from the Camera frame()
-  coordinate system. projectedCoordinatesOf() and unprojectedCoordinatesOf() will convert from
-  screen to 3D coordinates. convertClickToLine() is very useful for analytical object selection.
-
-  Stereo display is possible on machines with quad buffer capabilities (with Camera::PERSPECTIVE
-  type() only). Test the <a href="../examples/stereoViewer.html">stereoViewer example</a> to check.
-
-  A Camera can also be used outside of a QGLViewer or even without OpenGL for its coordinate system
-  conversion capabilities. Note however that some of them explicitly rely on the presence of a
-  Z-buffer. \nosubgrouping */
-class QGLVIEWER_EXPORT Camera : public QObject
-{
-#ifndef DOXYGEN
-	friend class ::QGLViewer;
-#endif
-
-	Q_OBJECT
-
-public:
-	Camera();
-	virtual ~Camera();
-
-	Camera(const Camera& camera);
-	Camera& operator=(const Camera& camera);
-
-
-	/*! Enumerates the two possible types of Camera.
-
-	See type() and setType(). This type mainly defines different Camera projection matrix (see
-	loadProjectionMatrix()). Many other methods (pointUnderPixel(), convertClickToLine(),
-	projectedCoordinatesOf(), pixelGLRatio()...) are affected by this Type. */
-	enum Type { PERSPECTIVE, ORTHOGRAPHIC };
-
-	/*! @name Position and orientation */
-	//@{
-public:
-	Vec position() const;
-	Vec upVector() const;
-	Vec viewDirection() const;
-	Vec rightVector() const;
-	Quaternion orientation() const;
-
-	void setFromModelViewMatrix(const GLdouble* const modelViewMatrix);
-	void setFromProjectionMatrix(const qreal matrix[12]);
-
-public Q_SLOTS:
-	void setPosition(const Vec& pos);
-	void setOrientation(const Quaternion& q);
-	void setOrientation(qreal theta, qreal phi);
-	void setUpVector(const Vec& up, bool noMove=true);
-	void setViewDirection(const Vec& direction);
-	//@}
-
-
-	/*! @name Positioning tools */
-	//@{
-public Q_SLOTS:
-	void lookAt(const Vec& target);
-	void showEntireScene();
-	void fitSphere(const Vec& center, qreal radius);
-	void fitBoundingBox(const Vec& min, const Vec& max);
-	void fitScreenRegion(const QRect& rectangle);
-	void centerScene();
-	void interpolateToZoomOnPixel(const QPoint& pixel);
-	void interpolateToFitScene();
-	void interpolateTo(const Frame& fr, qreal duration);
-	//@}
-
-
-	/*! @name Frustum */
-	//@{
-public:
-	/*! Returns the Camera::Type of the Camera.
-
-	Set by setType(). Mainly used by loadProjectionMatrix().
-
-	A Camera::PERSPECTIVE Camera uses a classical projection mainly defined by its fieldOfView().
-
-	With a Camera::ORTHOGRAPHIC type(), the fieldOfView() is meaningless and the width and height of
-	the Camera frustum are inferred from the distance to the pivotPoint() using
-	getOrthoWidthHeight().
-
-	Both types use zNear() and zFar() (to define their clipping planes) and aspectRatio() (for
-	frustum shape). */
-	Type type() const { return type_; }
-
-	/*! Returns the vertical field of view of the Camera (in radians).
-
-	Value is set using setFieldOfView(). Default value is pi/4 radians. This value is meaningless if
-	the Camera type() is Camera::ORTHOGRAPHIC.
-
-	The field of view corresponds the one used in \c gluPerspective (see manual). It sets the Y
-	(vertical) aperture of the Camera. The X (horizontal) angle is inferred from the window aspect
-	ratio (see aspectRatio() and horizontalFieldOfView()).
-
-	Use setFOVToFitScene() to adapt the fieldOfView() to a given scene. */
-	qreal fieldOfView() const { return fieldOfView_; }
-
-	/*! Returns the horizontal field of view of the Camera (in radians).
-
-	Value is set using setHorizontalFieldOfView() or setFieldOfView(). These values
-	are always linked by:
-	\code
-	horizontalFieldOfView() = 2.0 * atan ( tan(fieldOfView()/2.0) * aspectRatio() ).
-	\endcode */
-	qreal horizontalFieldOfView() const { return 2.0 * atan ( tan(fieldOfView()/2.0) * aspectRatio() ); }
-
-	/*! Returns the Camera aspect ratio defined by screenWidth() / screenHeight().
-
-	When the Camera is attached to a QGLViewer, these values and hence the aspectRatio() are
-	automatically fitted to the viewer's window aspect ratio using setScreenWidthAndHeight(). */
-	qreal aspectRatio() const { return screenWidth_ / static_cast<qreal>(screenHeight_); }
-	/*! Returns the width (in pixels) of the Camera screen.
-
-	Set using setScreenWidthAndHeight(). This value is automatically fitted to the QGLViewer's
-	window dimensions when the Camera is attached to a QGLViewer. See also QGLWidget::width() */
-	int screenWidth() const { return screenWidth_; }
-	/*! Returns the height (in pixels) of the Camera screen.
-
-	Set using setScreenWidthAndHeight(). This value is automatically fitted to the QGLViewer's
-	window dimensions when the Camera is attached to a QGLViewer. See also QGLWidget::height() */
-	int screenHeight() const { return screenHeight_; }
-	void getViewport(GLint viewport[4]) const;
-	qreal pixelGLRatio(const Vec& position) const;
-
-	/*! Returns the coefficient which is used to set zNear() when the Camera is inside the sphere
-	defined by sceneCenter() and zClippingCoefficient() * sceneRadius().
-
-	In that case, the zNear() value is set to zNearCoefficient() * zClippingCoefficient() *
-	sceneRadius(). See the zNear() documentation for details.
-
-	Default value is 0.005, which is appropriate for most applications. In case you need a high
-	dynamic ZBuffer precision, you can increase this value (~0.1). A lower value will prevent
-	clipping of very close objects at the expense of a worst Z precision.
-
-	Only meaningful when Camera type is Camera::PERSPECTIVE. */
-	qreal zNearCoefficient() const { return zNearCoef_; }
-	/*! Returns the coefficient used to position the near and far clipping planes.
-
-	The near (resp. far) clipping plane is positioned at a distance equal to zClippingCoefficient() *
-	sceneRadius() in front of (resp. behind) the sceneCenter(). This garantees an optimal use of
-	the z-buffer range and minimizes aliasing. See the zNear() and zFar() documentations.
-
-	Default value is square root of 3.0 (so that a cube of size sceneRadius() is not clipped).
-
-	However, since the sceneRadius() is used for other purposes (see showEntireScene(), flySpeed(),
-	...) and you may want to change this value to define more precisely the location of the clipping
-	planes. See also zNearCoefficient().
-
-	For a total control on clipping planes' positions, an other option is to overload the zNear()
-	and zFar() methods. See the <a href="../examples/standardCamera.html">standardCamera example</a>.
-
-	\attention When QGLViewer::cameraPathAreEdited(), this value is set to 5.0 so that the Camera
-	paths are not clipped. The previous zClippingCoefficient() value is restored back when you leave
-	this mode. */
-	qreal zClippingCoefficient() const { return zClippingCoef_; }
-
-	virtual qreal zNear() const;
-	virtual qreal zFar()  const;
-	virtual void getOrthoWidthHeight(GLdouble& halfWidth, GLdouble& halfHeight) const;
-	void getFrustumPlanesCoefficients(GLdouble coef[6][4]) const;
-
-public Q_SLOTS:
-	void setType(Type type);
-
-	void setFieldOfView(qreal fov);
-
-	/*! Sets the horizontalFieldOfView() of the Camera (in radians).
-
-	horizontalFieldOfView() and fieldOfView() are linked by the aspectRatio(). This method actually
-	calls setFieldOfView(( 2.0 * atan (tan(hfov / 2.0) / aspectRatio()) )) so that a call to
-	horizontalFieldOfView() returns the expected value. */
-	void setHorizontalFieldOfView(qreal hfov) { setFieldOfView( 2.0 * atan (tan(hfov / 2.0) / aspectRatio()) ); }
-
-	void setFOVToFitScene();
-
-	/*! Defines the Camera aspectRatio().
-
-	This value is actually inferred from the screenWidth() / screenHeight() ratio. You should use
-	setScreenWidthAndHeight() instead.
-
-	This method might however be convenient when the Camera is not associated with a QGLViewer. It
-	actually sets the screenHeight() to 100 and the screenWidth() accordingly. See also
-	setFOVToFitScene().
-
-	\note If you absolutely need an aspectRatio() that does not correspond to your viewer's window
-	dimensions, overload loadProjectionMatrix() or multiply the created GL_PROJECTION matrix by a
-	scaled diagonal matrix in your QGLViewer::draw() method. */
-	void setAspectRatio(qreal aspect) { setScreenWidthAndHeight(int(100.0*aspect), 100); }
-
-	void setScreenWidthAndHeight(int width, int height);
-	/*! Sets the zNearCoefficient() value. */
-	void setZNearCoefficient(qreal coef) { zNearCoef_ = coef; projectionMatrixIsUpToDate_ = false; }
-	/*! Sets the zClippingCoefficient() value. */
-	void setZClippingCoefficient(qreal coef) { zClippingCoef_ = coef; projectionMatrixIsUpToDate_ = false; }
-	//@}
-
-
-	/*! @name Scene radius and center */
-	//@{
-public:
-	/*! Returns the radius of the scene observed by the Camera.
-
-	You need to provide such an approximation of the scene dimensions so that the Camera can adapt
-	its zNear() and zFar() values. See the sceneCenter() documentation.
-
-	See also setSceneBoundingBox().
-
-	Note that QGLViewer::sceneRadius() (resp. QGLViewer::setSceneRadius()) simply call this method
-	(resp. setSceneRadius()) on its associated QGLViewer::camera(). */
-	qreal sceneRadius() const { return sceneRadius_; }
-
-	/*! Returns the position of the scene center, defined in the world coordinate system.
-
-	The scene observed by the Camera should be roughly centered on this position, and included in a
-	sceneRadius() sphere. This approximate description of the scene permits a zNear() and zFar()
-	clipping planes definition, and allows convenient positioning methods such as showEntireScene().
-
-	Default value is (0,0,0) (world origin). Use setSceneCenter() to change it. See also
-	setSceneBoundingBox().
-
-	Note that QGLViewer::sceneCenter() (resp. QGLViewer::setSceneCenter()) simply calls this method
-	(resp. setSceneCenter()) on its associated QGLViewer::camera(). */
-	Vec sceneCenter() const { return sceneCenter_; }
-	qreal distanceToSceneCenter() const;
-
-public Q_SLOTS:
-	void setSceneRadius(qreal radius);
-	void setSceneCenter(const Vec& center);
-	bool setSceneCenterFromPixel(const QPoint& pixel);
-	void setSceneBoundingBox(const Vec& min, const Vec& max);
-	//@}
-
-
-	/*! @name Pivot Point */
-	//@{
-public Q_SLOTS:
-	void setPivotPoint(const Vec& point);
-	bool setPivotPointFromPixel(const QPoint& pixel);
-
-public:
-	Vec pivotPoint() const;
-
-#ifndef DOXYGEN
-public Q_SLOTS:
-	void setRevolveAroundPoint(const Vec& point);
-	bool setRevolveAroundPointFromPixel(const QPoint& pixel);
-public:
-	Vec revolveAroundPoint() const;
-#endif
-	//@}
-
-
-	/*! @name Associated frame */
-	//@{
-public:
-	/*! Returns the ManipulatedCameraFrame attached to the Camera.
-
-	This ManipulatedCameraFrame defines its position() and orientation() and can translate mouse
-	events into Camera displacement. Set using setFrame(). */
-	ManipulatedCameraFrame* frame() const { return frame_; }
-public Q_SLOTS:
-	void setFrame(ManipulatedCameraFrame* const mcf);
-	//@}
-
-
-	/*! @name KeyFramed paths */
-	//@{
-public:
-	KeyFrameInterpolator* keyFrameInterpolator(unsigned int i) const;
-
-public Q_SLOTS:
-	void setKeyFrameInterpolator(unsigned int i, KeyFrameInterpolator* const kfi);
-
-	virtual void addKeyFrameToPath(unsigned int i);
-	virtual void playPath(unsigned int i);
-	virtual void deletePath(unsigned int i);
-	virtual void resetPath(unsigned int i);
-	virtual void drawAllPaths();
-	//@}
-
-
-	/*! @name OpenGL matrices */
-	//@{
-public:
-	virtual void loadProjectionMatrix(bool reset=true) const;
-	virtual void loadModelViewMatrix(bool reset=true) const;
-	void computeProjectionMatrix() const;
-	void computeModelViewMatrix() const;
-
-	virtual void loadProjectionMatrixStereo(bool leftBuffer=true) const;
-	virtual void loadModelViewMatrixStereo(bool leftBuffer=true) const;
-
-	void getProjectionMatrix(GLfloat m[16]) const;
-	void getProjectionMatrix(GLdouble m[16]) const;
-
-	void getModelViewMatrix(GLfloat m[16]) const;
-	void getModelViewMatrix(GLdouble m[16]) const;
-
-	void getModelViewProjectionMatrix(GLfloat m[16]) const;
-	void getModelViewProjectionMatrix(GLdouble m[16]) const;
-	//@}
-
-
-	/*! @name Drawing */
-	//@{
-#ifndef DOXYGEN
-	static void drawCamera(qreal scale=1.0, qreal aspectRatio=1.33, qreal fieldOfView=qreal(M_PI)/4.0);
-#endif
-	virtual void draw(bool drawFarPlane=true, qreal scale=1.0) const;
-	//@}
-
-
-	/*! @name World to Camera coordinate systems conversions */
-	//@{
-public:
-	Vec cameraCoordinatesOf(const Vec& src) const;
-	Vec worldCoordinatesOf(const Vec& src) const;
-	void getCameraCoordinatesOf(const qreal src[3], qreal res[3]) const;
-	void getWorldCoordinatesOf(const qreal src[3], qreal res[3]) const;
-	//@}
-
-
-	/*! @name 2D screen to 3D world coordinate systems conversions */
-	//@{
-public:
-	Vec projectedCoordinatesOf(const Vec& src, const Frame* frame=NULL) const;
-	Vec unprojectedCoordinatesOf(const Vec& src, const Frame* frame=NULL) const;
-	void getProjectedCoordinatesOf(const qreal src[3], qreal res[3], const Frame* frame=NULL) const;
-	void getUnprojectedCoordinatesOf(const qreal src[3], qreal res[3], const Frame* frame=NULL) const;
-	void convertClickToLine(const QPoint& pixel, Vec& orig, Vec& dir) const;
-	Vec pointUnderPixel(const QPoint& pixel, bool& found) const;
-	//@}
-
-
-	/*! @name Fly speed */
-	//@{
-public:
-	qreal flySpeed() const;
-public Q_SLOTS:
-	void setFlySpeed(qreal speed);
-	//@}
-
-
-	/*! @name Stereo parameters */
-	//@{
-public:
-	/*! Returns the user's inter-ocular distance (in meters). Default value is 0.062m, which fits most people.
-
-	loadProjectionMatrixStereo() uses this value to define the Camera offset and frustum. See
-	setIODistance(). */
-	qreal IODistance() const { return IODistance_; }
-
-	/*! Returns the physical distance between the user's eyes and the screen (in meters).
-
-	physicalDistanceToScreen() and focusDistance() represent the same distance. The former is
-	expressed in physical real world units, while the latter is expressed in OpenGL virtual world
-	units.
-
-	This is a helper function. It simply returns physicalScreenWidth() / 2.0 / tan(horizontalFieldOfView() / 2.0); */
-	qreal physicalDistanceToScreen() const { return physicalScreenWidth() / 2.0 / tan(horizontalFieldOfView() / 2.0); }
-
-	/*! Returns the physical screen width, in meters. Default value is 0.5m (average monitor width).
-
-	Used for stereo display only (see loadModelViewMatrixStereo() and loadProjectionMatrixStereo()).
-	Set using setPhysicalScreenWidth(). */
-	qreal physicalScreenWidth() const { return physicalScreenWidth_; }
-
-	/*! Returns the focus distance used by stereo display, expressed in OpenGL units.
-
-	This is the distance in the virtual world between the Camera and the plane where the horizontal
-	stereo parallax is null (the stereo left and right cameras' lines of sigth cross at this distance).
-
-	This distance is the virtual world equivalent of the real-world physicalDistanceToScreen().
-
-	\attention This value is modified by QGLViewer::setSceneRadius(), setSceneRadius() and
-	setFieldOfView(). When one of these values is modified, focusDistance() is set to sceneRadius()
-	/ tan(fieldOfView()/2), which provides good results. */
-	qreal focusDistance() const { return focusDistance_; }
-public Q_SLOTS:
-	/*! Sets the IODistance(). */
-	void setIODistance(qreal distance) { IODistance_ = distance; }
-
-#ifndef DOXYGEN
-	/*! This method is deprecated. Use setPhysicalScreenWidth() instead. */
-	void setPhysicalDistanceToScreen(qreal distance) { Q_UNUSED(distance); qWarning("setPhysicalDistanceToScreen is deprecated, use setPhysicalScreenWidth instead"); }
-#endif
-
-	/*! Sets the physical screen (monitor or projected wall) width (in meters). */
-	void setPhysicalScreenWidth(qreal width) { physicalScreenWidth_ = width; }
-
-	/*! Sets the focusDistance(), in OpenGL scene units. */
-	void setFocusDistance(qreal distance) { focusDistance_ = distance; }
-	//@}
-
-
-	/*! @name XML representation */
-	//@{
-public:
-	virtual QDomElement domElement(const QString& name, QDomDocument& document) const;
-public Q_SLOTS:
-	virtual void initFromDOMElement(const QDomElement& element);
-	//@}
-
-
-private Q_SLOTS:
-	void onFrameModified();
-
-private:
-	// F r a m e
-	ManipulatedCameraFrame* frame_;
-
-	// C a m e r a   p a r a m e t e r s
-	int screenWidth_, screenHeight_;  // size of the window, in pixels
-	qreal fieldOfView_; // in radians
-	Vec sceneCenter_;
-	qreal sceneRadius_; // OpenGL units
-	qreal zNearCoef_;
-	qreal zClippingCoef_;
-	qreal orthoCoef_;
-	Type type_; // PERSPECTIVE or ORTHOGRAPHIC
-	mutable GLdouble modelViewMatrix_[16]; // Buffered model view matrix.
-	mutable bool modelViewMatrixIsUpToDate_;
-	mutable GLdouble projectionMatrix_[16]; // Buffered projection matrix.
-	mutable bool projectionMatrixIsUpToDate_;
-
-	// S t e r e o   p a r a m e t e r s
-	qreal IODistance_;		     // inter-ocular distance, in meters
-	qreal focusDistance_;	     // in scene units
-	qreal physicalScreenWidth_;	     // in meters
-
-	// P o i n t s   o f   V i e w s   a n d   K e y F r a m e s
-	QMap<unsigned int, KeyFrameInterpolator*> kfi_;
-	KeyFrameInterpolator* interpolationKfi_;
-};
-
-} // namespace qglviewer
-
-#endif // QGLVIEWER_CAMERA_H
diff --git a/SRC/QGLViewer/QGLViewer/config.h b/SRC/QGLViewer/QGLViewer/config.h
deleted file mode 100644
index 44df099..0000000
--- a/SRC/QGLViewer/QGLViewer/config.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-///////////////////////////////////////////////////////////////////
-//               libQGLViewer configuration file                 //
-//  Modify these settings according to your local configuration  //
-///////////////////////////////////////////////////////////////////
-
-#ifndef QGLVIEWER_CONFIG_H
-#define QGLVIEWER_CONFIG_H
-
-#define QGLVIEWER_VERSION 0x020603
-
-// Needed for Qt < 4 (?)
-#ifndef QT_CLEAN_NAMESPACE
-# define QT_CLEAN_NAMESPACE
-#endif
-
-// Get QT_VERSION and other Qt flags
-#include <qglobal.h>
-
-#if QT_VERSION < 0x040000
-Error : libQGLViewer requires a minimum Qt version of 4.0
-#endif
-
-// Win 32 DLL export macros
-#ifdef Q_OS_WIN32
-# ifndef M_PI
-#  define M_PI 3.14159265358979323846
-# endif
-# ifndef QGLVIEWER_STATIC
-#   ifdef CREATE_QGLVIEWER_DLL
-#     if QT_VERSION >= 0x040500
-#       define QGLVIEWER_EXPORT
-#     else
-#       define QGLVIEWER_EXPORT
-#     endif
-#   else
-#     if QT_VERSION >= 0x040500
-#       define QGLVIEWER_EXPORTy
-#     else
-#       define QGLVIEWER_EXPORT
-#     endif
-#  endif
-# endif
-# ifndef __MINGW32__
-#  pragma warning( disable : 4251 ) // DLL interface, needed with Visual 6
-#  pragma warning( disable : 4786 ) // identifier truncated to 255 in browser information (Visual 6).
-# endif
-#endif // Q_OS_WIN32
-
-// For other architectures, this macro is empty
-#ifndef QGLVIEWER_EXPORT
-# define QGLVIEWER_EXPORT
-#endif
-
-// OpenGL includes - Included here and hence shared by all the files that need OpenGL headers.
-# include <QGLWidget>
-
-// GLU was removed from Qt in version 4.8
-#ifdef Q_OS_MAC
-# include <OpenGL/glu.h>
-#else
-# include <GL/glu.h>
-#endif
-
-// Container classes interfaces changed a lot in Qt.
-// Compatibility patches are all grouped here.
-#include <QList>
-#include <QVector>
-
-// For deprecated methods
-// #define __WHERE__ "In file "<<__FILE__<<", line "<<__LINE__<<": "
-// #define orientationAxisAngle(x,y,z,a) { std::cout << __WHERE__ << "getOrientationAxisAngle()." << std::endl; exit(0); }
-
-// Patch for gcc version <= 2.95. Seems to no longer be needed with recent Qt versions.
-// Uncomment these lines if you have error message dealing with operator << on QStrings
-// #if defined(__GNUC__) && defined(__GNUC_MINOR__) && (__GNUC__ < 3) && (__GNUC_MINOR__ < 96)
-// # include <iostream>
-// # include <qstring.h>
-// std::ostream& operator<<(std::ostream& out, const QString& str)
-// { out << str.latin1();  return out; }
-// #endif
-
-#endif // QGLVIEWER_CONFIG_H
diff --git a/SRC/QGLViewer/QGLViewer/constraint.cpp b/SRC/QGLViewer/QGLViewer/constraint.cpp
deleted file mode 100644
index fbb9a6c..0000000
--- a/SRC/QGLViewer/QGLViewer/constraint.cpp
+++ /dev/null
@@ -1,291 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "constraint.h"
-#include "frame.h"
-#include "camera.h"
-#include "manipulatedCameraFrame.h"
-
-using namespace qglviewer;
-using namespace std;
-
-////////////////////////////////////////////////////////////////////////////////
-//                                  Constraint                                //
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Default constructor.
-
-translationConstraintType() and rotationConstraintType() are set to AxisPlaneConstraint::FREE.
-translationConstraintDirection() and rotationConstraintDirection() are set to (0,0,0). */
-AxisPlaneConstraint::AxisPlaneConstraint()
-	: translationConstraintType_(FREE), rotationConstraintType_(FREE)
-{
-	// Do not use set since setRotationConstraintType needs a read.
-}
-
-/*! Simply calls setTranslationConstraintType() and setTranslationConstraintDirection(). */
-void AxisPlaneConstraint::setTranslationConstraint(Type type, const Vec& direction)
-{
-	setTranslationConstraintType(type);
-	setTranslationConstraintDirection(direction);
-}
-
-/*! Defines the translationConstraintDirection(). The coordinate system where \p direction is expressed depends on your class implementation. */
-void AxisPlaneConstraint::setTranslationConstraintDirection(const Vec& direction)
-{
-	if ((translationConstraintType()!=AxisPlaneConstraint::FREE) && (translationConstraintType()!=AxisPlaneConstraint::FORBIDDEN))
-	{
-		const qreal norm = direction.norm();
-		if (norm < 1E-8)
-		{
-			qWarning("AxisPlaneConstraint::setTranslationConstraintDir: null vector for translation constraint");
-			translationConstraintType_ = AxisPlaneConstraint::FREE;
-		}
-		else
-			translationConstraintDir_ = direction/norm;
-	}
-}
-
-/*! Simply calls setRotationConstraintType() and setRotationConstraintDirection(). */
-void AxisPlaneConstraint::setRotationConstraint(Type type, const Vec& direction)
-{
-	setRotationConstraintType(type);
-	setRotationConstraintDirection(direction);
-}
-
-/*! Defines the rotationConstraintDirection(). The coordinate system where \p direction is expressed depends on your class implementation. */
-void AxisPlaneConstraint::setRotationConstraintDirection(const Vec& direction)
-{
-	if ((rotationConstraintType()!=AxisPlaneConstraint::FREE) && (rotationConstraintType()!=AxisPlaneConstraint::FORBIDDEN))
-	{
-		const qreal norm = direction.norm();
-		if (norm < 1E-8)
-		{
-			qWarning("AxisPlaneConstraint::setRotationConstraintDir: null vector for rotation constraint");
-			rotationConstraintType_ = AxisPlaneConstraint::FREE;
-		}
-		else
-			rotationConstraintDir_ = direction/norm;
-	}
-}
-
-/*! Set the Type() of the rotationConstraintType(). Default is AxisPlaneConstraint::FREE.
-
- Depending on this value, the Frame will freely rotate (AxisPlaneConstraint::FREE), will only be able
- to rotate around an axis (AxisPlaneConstraint::AXIS), or will not able to rotate at all
- (AxisPlaneConstraint::FORBIDDEN).
-
- Use Frame::setOrientation() to define the orientation of the constrained Frame before it gets
- constrained.
-
- \attention An AxisPlaneConstraint::PLANE Type() is not meaningful for rotational constraints and
- will be ignored. */
-void AxisPlaneConstraint::setRotationConstraintType(Type type)
-{
-	if (rotationConstraintType() == AxisPlaneConstraint::PLANE)
-	{
-		qWarning("AxisPlaneConstraint::setRotationConstraintType: the PLANE type cannot be used for a rotation constraints");
-		return;
-	}
-
-	rotationConstraintType_ = type;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//                               LocalConstraint                              //
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Depending on translationConstraintType(), constrain \p translation to be along an axis or
-  limited to a plane defined in the Frame local coordinate system by
-  translationConstraintDirection(). */
-void LocalConstraint::constrainTranslation(Vec& translation, Frame* const frame)
-{
-	Vec proj;
-	switch (translationConstraintType())
-	{
-	case AxisPlaneConstraint::FREE:
-		break;
-	case AxisPlaneConstraint::PLANE:
-		proj = frame->rotation().rotate(translationConstraintDirection());
-		translation.projectOnPlane(proj);
-		break;
-	case AxisPlaneConstraint::AXIS:
-		proj = frame->rotation().rotate(translationConstraintDirection());
-		translation.projectOnAxis(proj);
-		break;
-	case AxisPlaneConstraint::FORBIDDEN:
-		translation = Vec(0.0, 0.0, 0.0);
-		break;
-	}
-}
-
-/*! When rotationConstraintType() is AxisPlaneConstraint::AXIS, constrain \p rotation to be a rotation
-  around an axis whose direction is defined in the Frame local coordinate system by
-  rotationConstraintDirection(). */
-void LocalConstraint::constrainRotation(Quaternion& rotation, Frame* const)
-{
-	switch (rotationConstraintType())
-	{
-	case AxisPlaneConstraint::FREE:
-		break;
-	case AxisPlaneConstraint::PLANE:
-		break;
-	case AxisPlaneConstraint::AXIS:
-	{
-		Vec axis = rotationConstraintDirection();
-		Vec quat = Vec(rotation[0], rotation[1], rotation[2]);
-		quat.projectOnAxis(axis);
-		rotation = Quaternion(quat, 2.0*acos(rotation[3]));
-	}
-		break;
-	case AxisPlaneConstraint::FORBIDDEN:
-		rotation = Quaternion(); // identity
-		break;
-	}
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//                               WorldConstraint                              //
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Depending on translationConstraintType(), constrain \p translation to be along an axis or
-  limited to a plane defined in the world coordinate system by
-  translationConstraintDirection(). */
-void WorldConstraint::constrainTranslation(Vec& translation, Frame* const frame)
-{
-	Vec proj;
-	switch (translationConstraintType())
-	{
-	case AxisPlaneConstraint::FREE:
-		break;
-	case AxisPlaneConstraint::PLANE:
-		if (frame->referenceFrame())
-		{
-			proj = frame->referenceFrame()->transformOf(translationConstraintDirection());
-			translation.projectOnPlane(proj);
-		}
-		else
-			translation.projectOnPlane(translationConstraintDirection());
-		break;
-	case AxisPlaneConstraint::AXIS:
-		if (frame->referenceFrame())
-		{
-			proj = frame->referenceFrame()->transformOf(translationConstraintDirection());
-			translation.projectOnAxis(proj);
-		}
-		else
-			translation.projectOnAxis(translationConstraintDirection());
-		break;
-	case AxisPlaneConstraint::FORBIDDEN:
-		translation = Vec(0.0, 0.0, 0.0);
-		break;
-	}
-}
-
-/*! When rotationConstraintType() is AxisPlaneConstraint::AXIS, constrain \p rotation to be a rotation
-  around an axis whose direction is defined in the world coordinate system by
-  rotationConstraintDirection(). */
-void WorldConstraint::constrainRotation(Quaternion& rotation, Frame* const frame)
-{
-	switch (rotationConstraintType())
-	{
-	case AxisPlaneConstraint::FREE:
-		break;
-	case AxisPlaneConstraint::PLANE:
-		break;
-	case AxisPlaneConstraint::AXIS:
-	{
-		Vec quat(rotation[0], rotation[1], rotation[2]);
-		Vec axis = frame->transformOf(rotationConstraintDirection());
-		quat.projectOnAxis(axis);
-		rotation = Quaternion(quat, 2.0*acos(rotation[3]));
-		break;
-	}
-	case AxisPlaneConstraint::FORBIDDEN:
-		rotation = Quaternion(); // identity
-		break;
-	}
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//                               CameraConstraint                              //
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Creates a CameraConstraint, whose constrained directions are defined in the \p camera coordinate
-  system. */
-CameraConstraint::CameraConstraint(const Camera* const camera)
-	: AxisPlaneConstraint(), camera_(camera)
-{}
-
-/*! Depending on translationConstraintType(), constrain \p translation to be along an axis or
-  limited to a plane defined in the camera() coordinate system by
-  translationConstraintDirection(). */
-void CameraConstraint::constrainTranslation(Vec& translation, Frame* const frame)
-{
-	Vec proj;
-	switch (translationConstraintType())
-	{
-	case AxisPlaneConstraint::FREE:
-		break;
-	case AxisPlaneConstraint::PLANE:
-		proj = camera()->frame()->inverseTransformOf(translationConstraintDirection());
-		if (frame->referenceFrame())
-			proj = frame->referenceFrame()->transformOf(proj);
-		translation.projectOnPlane(proj);
-		break;
-	case AxisPlaneConstraint::AXIS:
-		proj = camera()->frame()->inverseTransformOf(translationConstraintDirection());
-		if (frame->referenceFrame())
-			proj = frame->referenceFrame()->transformOf(proj);
-		translation.projectOnAxis(proj);
-		break;
-	case AxisPlaneConstraint::FORBIDDEN:
-		translation = Vec(0.0, 0.0, 0.0);
-		break;
-	}
-}
-
-/*! When rotationConstraintType() is AxisPlaneConstraint::AXIS, constrain \p rotation to be a rotation
-  around an axis whose direction is defined in the camera() coordinate system by
-  rotationConstraintDirection(). */
-void CameraConstraint::constrainRotation(Quaternion& rotation, Frame* const frame)
-{
-	switch (rotationConstraintType())
-	{
-	case AxisPlaneConstraint::FREE:
-		break;
-	case AxisPlaneConstraint::PLANE:
-		break;
-	case AxisPlaneConstraint::AXIS:
-	{
-		Vec axis = frame->transformOf(camera()->frame()->inverseTransformOf(rotationConstraintDirection()));
-		Vec quat = Vec(rotation[0], rotation[1], rotation[2]);
-		quat.projectOnAxis(axis);
-		rotation = Quaternion(quat, 2.0*acos(rotation[3]));
-	}
-		break;
-	case AxisPlaneConstraint::FORBIDDEN:
-		rotation = Quaternion(); // identity
-		break;
-	}
-}
diff --git a/SRC/QGLViewer/QGLViewer/constraint.h b/SRC/QGLViewer/QGLViewer/constraint.h
deleted file mode 100644
index d90d820..0000000
--- a/SRC/QGLViewer/QGLViewer/constraint.h
+++ /dev/null
@@ -1,338 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef QGLVIEWER_CONSTRAINT_H
-#define QGLVIEWER_CONSTRAINT_H
-
-#include "vec.h"
-#include "quaternion.h"
-
-namespace qglviewer {
-class Frame;
-class Camera;
-
-/*! \brief An interface class for Frame constraints.
-  \class Constraint constraint.h QGLViewer/constraint.h
-
-  This class defines the interface for the Constraints that can be applied to a Frame to limit its
-  motion. Use Frame::setConstraint() to associate a Constraint to a Frame (default is a \c NULL
-  Frame::constraint()).
-
-  <h3>How does it work ?</h3>
-
-  The Constraint acts as a filter on the translation and rotation Frame increments.
-  constrainTranslation() and constrainRotation() should be overloaded to specify the constraint
-  behavior: the desired displacement is given as a parameter that can optionally be modified.
-
-  Here is how the Frame::translate() and Frame::rotate() methods use the Constraint:
-  \code
-  Frame::translate(Vec& T)
-  {
-	if (constraint())
-	  constraint()->constrainTranslation(T, this);
-	t += T;
-  }
-
-  Frame::rotate(Quaternion& Q)
-  {
-	if (constraint())
-	  constraint()->constrainRotation(Q, this);
-	q *= Q;
-  }
-  \endcode
-
-  The default behavior of constrainTranslation() and constrainRotation() is empty (meaning no
-  filtering).
-
-  The Frame which uses the Constraint is passed as a parameter to the constrainTranslation() and
-  constrainRotation() methods, so that they can have access to its current state (mainly
-  Frame::position() and Frame::orientation()). It is not \c const for versatility reasons, but
-  directly modifying it should be avoided.
-
-  \attention Frame::setTranslation(), Frame::setRotation() and similar methods will actually indeed
-  set the frame position and orientation, without taking the constraint into account. Use the \e
-  WithConstraint versions of these methods to enforce the Constraint.
-
-  <h3>Implemented Constraints</h3>
-
-  Classical axial and plane Constraints are provided for convenience: see the LocalConstraint,
-  WorldConstraint and CameraConstraint classes' documentations.
-
-  Try the <a href="../examples/constrainedFrame.html">constrainedFrame</a> and <a
-  href="../examples/constrainedCamera.html">constrainedCamera</a> examples for an illustration.
-
-  <h3>Creating new Constraints</h3>
-
-  The implementation of a new Constraint class simply consists in overloading the filtering methods:
-  \code
-  // This Constraint enforces that the Frame cannot have a negative z world coordinate.
-  class myConstraint : public Constraint
-  {
-  public:
-	virtual void constrainTranslation(Vec& t, Frame * const fr)
-	  {
-		// Express t in the world coordinate system.
-		const Vec tWorld = fr->inverseTransformOf(t);
-	if (fr->position().z + tWorld.z < 0.0) // check the new fr z coordinate
-	  t.z = fr->transformOf(-fr->position().z); // t.z is clamped so that next z position is 0.0
-	  }
-  };
-  \endcode
-
-  Note that the translation (resp. rotation) parameter passed to constrainTranslation() (resp.
-  constrainRotation()) is expressed in the \e local Frame coordinate system. Here, we use the
-  Frame::transformOf() and Frame::inverseTransformOf() method to convert it to and from the world
-  coordinate system.
-
-  Combined constraints can easily be achieved by creating a new class that applies the different
-  constraint filters:
-  \code
-  myConstraint::constrainTranslation(Vec& v, Frame* const fr)
-  {
-	constraint1->constrainTranslation(v, fr);
-	constraint2->constrainTranslation(v, fr);
-	// and so on, with possible branches, tests, loops...
-  }
-  \endcode
-  */
-class QGLVIEWER_EXPORT Constraint
-{
-public:
-	/*! Virtual destructor. Empty. */
-	virtual ~Constraint() {}
-
-	/*! Filters the translation applied to the \p frame. This default implementation is empty (no
-	  filtering).
-
-	Overload this method in your own Constraint class to define a new translation constraint. \p
-	frame is the Frame to which is applied the translation. It is not defined \c const, but you
-	should refrain from directly changing its value in the constraint. Use its Frame::position() and
-	update the \p translation accordingly instead.
-
-	\p translation is expressed in local frame coordinate system. Use Frame::inverseTransformOf() to
-	express it in the world coordinate system if needed. */
-	virtual void constrainTranslation(Vec& translation, Frame* const frame) { Q_UNUSED(translation); Q_UNUSED(frame); }
-	/*! Filters the rotation applied to the \p frame. This default implementation is empty (no
-	  filtering).
-
-	Overload this method in your own Constraint class to define a new rotation constraint. See
-	constrainTranslation() for details.
-
-	Use Frame::inverseTransformOf() on the \p rotation Quaternion::axis() to express \p rotation in
-	the world coordinate system if needed. */
-	virtual void constrainRotation(Quaternion& rotation, Frame* const frame) { Q_UNUSED(rotation); Q_UNUSED(frame); }
-};
-
-/*!
-   \brief An abstract class for Frame Constraints defined by an axis or a plane.
-   \class AxisPlaneConstraint constraint.h QGLViewer/constraint.h
-
-   AxisPlaneConstraint is an interface for (translation and/or rotation) Constraint that are defined
-   by a direction. translationConstraintType() and rotationConstraintType() define how this
-   direction should be interpreted: as an axis (AxisPlaneConstraint::AXIS) or as a plane normal
-   (AxisPlaneConstraint::PLANE). See the Type() documentation for details.
-
-   The three implementations of this class: LocalConstraint, WorldConstraint and CameraConstraint
-   differ by the coordinate system in which this direction is expressed.
-
-   Different implementations of this class are illustrated in the
-   <a href="../examples/constrainedCamera.html">contrainedCamera</a> and
-   <a href="../examples/constrainedFrame.html">constrainedFrame</a> examples.
-
-   \attention When applied, the rotational Constraint may not intuitively follow the mouse
-   displacement. A solution would be to directly measure the rotation angle in screen coordinates,
-   but that would imply to know the QGLViewer::camera(), so that we can compute the projected
-   coordinates of the rotation center (as is done with the QGLViewer::SCREEN_ROTATE binding).
-   However, adding an extra pointer to the QGLViewer::camera() in all the AxisPlaneConstraint
-   derived classes (which the user would have to update in a multi-viewer application) was judged as
-   an overkill. */
-class QGLVIEWER_EXPORT AxisPlaneConstraint : public Constraint
-{
-public:
-	AxisPlaneConstraint();
-	/*! Virtual destructor. Empty. */
-	virtual ~AxisPlaneConstraint() {}
-
-	/*! Type lists the different types of translation and rotation constraints that are available.
-
-	It specifies the meaning of the constraint direction (see translationConstraintDirection() and
-	rotationConstraintDirection()): as an axis direction (AxisPlaneConstraint::AXIS) or a plane
-	normal (AxisPlaneConstraint::PLANE). AxisPlaneConstraint::FREE means no constraint while
-	AxisPlaneConstraint::FORBIDDEN completely forbids the translation and/or the rotation.
-
-	See translationConstraintType() and rotationConstraintType().
-
-	\attention The AxisPlaneConstraint::PLANE Type is not valid for rotational constraint.
-
-	New derived classes can use their own extended enum for specific constraints:
-	\code
-	class MyAxisPlaneConstraint : public AxisPlaneConstraint
-	{
-	public:
-	  enum MyType { FREE, AXIS, PLANE, FORBIDDEN, CUSTOM };
-	  virtual void constrainTranslation(Vec &translation, Frame *const frame)
-	  {
-		// translationConstraintType() is simply an int. CUSTOM Type is handled seamlessly.
-		switch (translationConstraintType())
-		{
-		  case MyAxisPlaneConstraint::FREE: ... break;
-		  case MyAxisPlaneConstraint::CUSTOM: ... break;
-		}
-	  };
-
-	  MyAxisPlaneConstraint* c = new MyAxisPlaneConstraint();
-	  // Note the Type conversion
-	  c->setTranslationConstraintType(AxisPlaneConstraint::Type(MyAxisPlaneConstraint::CUSTOM));
-	};
-	\endcode */
-	enum Type { FREE, AXIS, PLANE, FORBIDDEN };
-
-	/*! @name Translation constraint */
-	//@{
-	/*! Overloading of Constraint::constrainTranslation(). Empty */
-	virtual void constrainTranslation(Vec& translation, Frame* const frame) { Q_UNUSED(translation); Q_UNUSED(frame); };
-
-	void setTranslationConstraint(Type type, const Vec& direction);
-	/*! Sets the Type() of the translationConstraintType(). Default is AxisPlaneConstraint::FREE. */
-	void setTranslationConstraintType(Type type) { translationConstraintType_ = type; };
-	void setTranslationConstraintDirection(const Vec& direction);
-
-	/*! Returns the translation constraint Type().
-
-	Depending on this value, the Frame will freely translate (AxisPlaneConstraint::FREE), will only
-	be able to translate along an axis direction (AxisPlaneConstraint::AXIS), will be forced to stay
-	into a plane (AxisPlaneConstraint::PLANE) or will not able to translate at all
-	(AxisPlaneConstraint::FORBIDDEN).
-
-	Use Frame::setPosition() to define the position of the constrained Frame before it gets
-	constrained. */
-	Type translationConstraintType() const { return translationConstraintType_; };
-	/*! Returns the direction used by the translation constraint.
-
-	It represents the axis direction (AxisPlaneConstraint::AXIS) or the plane normal
-	(AxisPlaneConstraint::PLANE) depending on the translationConstraintType(). It is undefined for
-	AxisPlaneConstraint::FREE or AxisPlaneConstraint::FORBIDDEN.
-
-	The AxisPlaneConstraint derived classes express this direction in different coordinate system
-	(camera for CameraConstraint, local for LocalConstraint, and world for WorldConstraint). This
-	value can be modified with setTranslationConstraintDirection(). */
-	Vec translationConstraintDirection() const { return translationConstraintDir_; };
-	//@}
-
-	/*! @name Rotation constraint */
-	//@{
-	/*! Overloading of Constraint::constrainRotation(). Empty. */
-	virtual void constrainRotation(Quaternion& rotation, Frame* const frame) { Q_UNUSED(rotation); Q_UNUSED(frame); };
-
-	void setRotationConstraint(Type type, const Vec& direction);
-	void setRotationConstraintType(Type type);
-	void setRotationConstraintDirection(const Vec& direction);
-
-	/*! Returns the rotation constraint Type(). */
-	Type rotationConstraintType() const { return rotationConstraintType_; };
-	/*! Returns the axis direction used by the rotation constraint.
-
-	This direction is defined only when rotationConstraintType() is AxisPlaneConstraint::AXIS.
-
-	The AxisPlaneConstraint derived classes express this direction in different coordinate system
-	(camera for CameraConstraint, local for LocalConstraint, and world for WorldConstraint). This
-	value can be modified with setRotationConstraintDirection(). */
-	Vec rotationConstraintDirection() const { return rotationConstraintDir_; };
-	//@}
-
-private:
-	// int and not Type to allow for overloading and new types definition.
-	Type translationConstraintType_;
-	Type rotationConstraintType_;
-
-	Vec translationConstraintDir_;
-	Vec rotationConstraintDir_;
-};
-
-
-/*! \brief An AxisPlaneConstraint defined in the Frame local coordinate system.
-  \class LocalConstraint constraint.h QGLViewer/constraint.h
-
-  The translationConstraintDirection() and rotationConstraintDirection() are expressed in the Frame
-  local coordinate system (see Frame::referenceFrame()).
-
-  See the <a href="../examples/constrainedFrame.html">constrainedFrame</a> example for an illustration. */
-class QGLVIEWER_EXPORT LocalConstraint : public AxisPlaneConstraint
-{
-public:
-	/*! Virtual destructor. Empty. */
-	virtual ~LocalConstraint() {};
-
-	virtual void constrainTranslation(Vec&     translation, Frame* const frame);
-	virtual void constrainRotation   (Quaternion& rotation, Frame* const frame);
-};
-
-
-
-/*! \brief An AxisPlaneConstraint defined in the world coordinate system.
-	\class WorldConstraint constraint.h QGLViewer/constraint.h
-
-  The translationConstraintDirection() and rotationConstraintDirection() are expressed in world
-  coordinate system.
-
-  See the <a href="../examples/constrainedFrame.html">constrainedFrame</a> and <a
-  href="../examples/multiView.html">multiView</a> examples for an illustration. */
-class QGLVIEWER_EXPORT WorldConstraint : public AxisPlaneConstraint
-{
-public:
-	/*! Virtual destructor. Empty. */
-	virtual ~WorldConstraint() {};
-
-	virtual void constrainTranslation(Vec&     translation, Frame* const frame);
-	virtual void constrainRotation   (Quaternion& rotation, Frame* const frame);
-};
-
-
-
-/*! \brief An AxisPlaneConstraint defined in the camera coordinate system.
-  \class CameraConstraint constraint.h QGLViewer/constraint.h
-
-  The translationConstraintDirection() and rotationConstraintDirection() are expressed in the
-  associated camera() coordinate system.
-
-  See the <a href="../examples/constrainedFrame.html">constrainedFrame</a> and <a
-  href="../examples/constrainedCamera.html">constrainedCamera</a> examples for an illustration. */
-class QGLVIEWER_EXPORT CameraConstraint : public AxisPlaneConstraint
-{
-public:
-	explicit CameraConstraint(const Camera* const camera);
-	/*! Virtual destructor. Empty. */
-	virtual ~CameraConstraint() {};
-
-	virtual void constrainTranslation(Vec&     translation, Frame* const frame);
-	virtual void constrainRotation   (Quaternion& rotation, Frame* const frame);
-
-	/*! Returns the associated Camera. Set using the CameraConstraint constructor. */
-	const Camera* camera() const { return camera_; };
-
-private:
-	const Camera* const camera_;
-};
-
-} // namespace qglviewer
-
-#endif // QGLVIEWER_CONSTRAINT_H
diff --git a/SRC/QGLViewer/QGLViewer/domUtils.h b/SRC/QGLViewer/QGLViewer/domUtils.h
deleted file mode 100644
index 3994468..0000000
--- a/SRC/QGLViewer/QGLViewer/domUtils.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "config.h"
-
-#include <QDomElement>
-#include <QString>
-#include <QStringList>
-#include <QColor>
-
-#include <math.h>
-
-#ifndef DOXYGEN
-
-// QDomElement loading with syntax checking.
-class DomUtils
-{
-private:
-	static void warning(const QString& message)
-	{
-		qWarning("%s", message.toLatin1().constData());
-	}
-
-public:
-	static qreal qrealFromDom(const QDomElement& e, const QString& attribute, qreal defValue)
-	{
-		qreal value = defValue;
-		if (e.hasAttribute(attribute)) {
-			const QString s = e.attribute(attribute);
-			bool ok;
-			value = s.toDouble(&ok);
-			if (!ok) {
-				warning(QString("'%1' is not a valid qreal syntax for attribute \"%2\" in initialization of \"%3\". Setting value to %4.")
-						.arg(s).arg(attribute).arg(e.tagName()).arg(QString::number(defValue)));
-				value = defValue;
-			}
-		} else {
-			warning(QString("\"%1\" attribute missing in initialization of \"%2\". Setting value to %3.")
-					.arg(attribute).arg(e.tagName()).arg(QString::number(value)));
-		}
-
-#if defined(isnan)
-		// The "isnan" method may not be available on all platforms.
-		// Find its equivalent or simply remove these two lines
-		if (isnan(value))
-			warning(QString("Warning, attribute \"%1\" initialized to Not a Number in \"%2\"")
-					.arg(attribute).arg(e.tagName()));
-#endif
-
-		return value;
-	}
-
-	static int intFromDom(const QDomElement& e, const QString& attribute, int defValue)
-	{
-		int value = defValue;
-		if (e.hasAttribute(attribute))
-		{
-			const QString s = e.attribute(attribute);
-			bool ok;
-			value = s.toInt(&ok);
-			if (!ok) {
-				warning(QString("'%1' is not a valid integer syntax for attribute \"%2\" in initialization of \"%3\". Setting value to %4.")
-						.arg(s).arg(attribute).arg(e.tagName()).arg(QString::number(defValue)));
-				value = defValue;
-			}
-		} else {
-			warning(QString("\"%1\" attribute missing in initialization of \"%2\". Setting value to %3.")
-					.arg(attribute).arg(e.tagName()).arg(QString::number(value)));
-		}
-
-		return value;
-	}
-
-	static unsigned int uintFromDom(const QDomElement& e, const QString& attribute, unsigned int defValue)
-	{
-		unsigned int value = defValue;
-		if (e.hasAttribute(attribute))
-		{
-			const QString s = e.attribute(attribute);
-			bool ok;
-			value = s.toUInt(&ok);
-			if (!ok) {
-				warning(QString("'%1' is not a valid unsigned integer syntax for attribute \"%2\" in initialization of \"%3\". Setting value to %4.")
-						.arg(s).arg(attribute).arg(e.tagName()).arg(QString::number(defValue)));
-				value = defValue;
-			}
-		} else {
-			warning(QString("\"%1\" attribute missing in initialization of \"%2\". Setting value to %3.")
-					.arg(attribute).arg(e.tagName()).arg(QString::number(value)));
-		}
-
-		return value;
-	}
-
-	static bool boolFromDom(const QDomElement& e, const QString& attribute, bool defValue)
-	{
-		bool value = defValue;
-		if (e.hasAttribute(attribute))
-		{
-			const QString s = e.attribute(attribute);
-			if (s.toLower() == QString("true"))
-				value = true;
-			else if (s.toLower() == QString("false"))
-				value = false;
-			else
-			{
-				warning(QString("'%1' is not a valid boolean syntax for attribute \"%2\" in initialization of \"%3\". Setting value to %4.")
-						.arg(s).arg(attribute).arg(e.tagName()).arg(defValue?"true":"false"));
-			}
-		} else {
-			warning(QString("\"%1\" attribute missing in initialization of \"%2\". Setting value to %3.")
-					.arg(attribute).arg(e.tagName()).arg(value?"true":"false"));
-		}
-
-		return value;
-	}
-
-	static void setBoolAttribute(QDomElement& element, const QString& attribute, bool value) {
-		element.setAttribute(attribute, (value ? "true" : "false"));
-	}
-
-	static QDomElement QColorDomElement(const QColor& color, const QString& name, QDomDocument& doc)
-	{
-		QDomElement de = doc.createElement(name);
-		de.setAttribute("red", QString::number(color.red()));
-		de.setAttribute("green", QString::number(color.green()));
-		de.setAttribute("blue", QString::number(color.blue()));
-		return de;
-	}
-
-	static QColor QColorFromDom(const QDomElement& e)
-	{
-		int color[3];
-		QStringList attribute;
-		attribute << "red" << "green" << "blue";
-		for (int i=0; i<attribute.count(); ++i)
-			color[i] = DomUtils::intFromDom(e, attribute[i], 0);
-		return QColor(color[0], color[1], color[2]);
-	}
-};
-
-#endif // DOXYGEN
diff --git a/SRC/QGLViewer/QGLViewer/frame.cpp b/SRC/QGLViewer/QGLViewer/frame.cpp
deleted file mode 100644
index cce675b..0000000
--- a/SRC/QGLViewer/QGLViewer/frame.cpp
+++ /dev/null
@@ -1,1144 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "domUtils.h"
-#include "frame.h"
-#include <math.h>
-
-using namespace qglviewer;
-using namespace std;
-
-
-/*! Creates a default Frame.
-
-  Its position() is (0,0,0) and it has an identity orientation() Quaternion. The referenceFrame()
-  and the constraint() are \c NULL. */
-Frame::Frame()
-	: constraint_(NULL), referenceFrame_(NULL)
-{}
-
-/*! Creates a Frame with a position() and an orientation().
-
- See the Vec and Quaternion documentations for convenient constructors and methods.
-
- The Frame is defined in the world coordinate system (its referenceFrame() is \c NULL). It
- has a \c NULL associated constraint(). */
-Frame::Frame(const Vec& position, const Quaternion& orientation)
-	: t_(position), q_(orientation), constraint_(NULL), referenceFrame_(NULL)
-{}
-
-/*! Equal operator.
-
-  The referenceFrame() and constraint() pointers are copied.
-
-  \attention Signal and slot connections are not copied. */
-Frame& Frame::operator=(const Frame& frame)
-{
-	// Automatic compiler generated version would not emit the modified() signals as is done in
-	// setTranslationAndRotation.
-	setTranslationAndRotation(frame.translation(), frame.rotation());
-	setConstraint(frame.constraint());
-	setReferenceFrame(frame.referenceFrame());
-	return *this;
-}
-
-/*! Copy constructor.
-
-  The translation() and rotation() as well as constraint() and referenceFrame() pointers are
-  copied. */
-Frame::Frame(const Frame& frame)
-	: QObject()
-{
-	(*this) = frame;
-}
-
-/////////////////////////////// MATRICES //////////////////////////////////////
-
-/*! Returns the 4x4 OpenGL transformation matrix represented by the Frame.
-
-  This method should be used in conjunction with \c glMultMatrixd() to modify the OpenGL modelview
-  matrix from a Frame hierarchy. With this Frame hierarchy:
-  \code
-  Frame* body     = new Frame();
-  Frame* leftArm  = new Frame();
-  Frame* rightArm = new Frame();
-  leftArm->setReferenceFrame(body);
-  rightArm->setReferenceFrame(body);
-  \endcode
-
-  The associated OpenGL drawing code should look like:
-  \code
-  void Viewer::draw()
-  {
-	glPushMatrix();
-	glMultMatrixd(body->matrix());
-	drawBody();
-
-	glPushMatrix();
-	glMultMatrixd(leftArm->matrix());
-	drawArm();
-	glPopMatrix();
-
-	glPushMatrix();
-	glMultMatrixd(rightArm->matrix());
-	drawArm();
-	glPopMatrix();
-
-	glPopMatrix();
-  }
-  \endcode
-  Note the use of nested \c glPushMatrix() and \c glPopMatrix() blocks to represent the frame hierarchy: \c
-  leftArm and \c rightArm are both correctly drawn with respect to the \c body coordinate system.
-
-  This matrix only represents the local Frame transformation (i.e. with respect to the
-  referenceFrame()). Use worldMatrix() to get the full Frame transformation matrix (i.e. from the
-  world to the Frame coordinate system). These two match when the referenceFrame() is \c NULL.
-
-  The result is only valid until the next call to matrix(), getMatrix(), worldMatrix() or
-  getWorldMatrix(). Use it immediately (as above) or use getMatrix() instead.
-
-  \attention The OpenGL format of the result is the transpose of the actual mathematical European
-  representation (translation is on the last \e line instead of the last \e column).
-
-  \note The scaling factor of the 4x4 matrix is 1.0. */
-const GLdouble* Frame::matrix() const
-{
-	static GLdouble m[4][4];
-	getMatrix(m);
-	return (const GLdouble*)(m);
-}
-
-/*! \c GLdouble[4][4] version of matrix(). See also getWorldMatrix() and matrix(). */
-void Frame::getMatrix(GLdouble m[4][4]) const
-{
-	q_.getMatrix(m);
-
-	m[3][0] = t_[0];
-	m[3][1] = t_[1];
-	m[3][2] = t_[2];
-}
-
-/*! \c GLdouble[16] version of matrix(). See also getWorldMatrix() and matrix(). */
-void Frame::getMatrix(GLdouble m[16]) const
-{
-	q_.getMatrix(m);
-
-	m[12] = t_[0];
-	m[13] = t_[1];
-	m[14] = t_[2];
-}
-
-/*! Returns a Frame representing the inverse of the Frame space transformation.
-
-  The rotation() of the new Frame is the Quaternion::inverse() of the original rotation.
-  Its translation() is the negated inverse rotated image of the original translation.
-
-  If a Frame is considered as a space rigid transformation (translation and rotation), the inverse()
-  Frame performs the inverse transformation.
-
-  Only the local Frame transformation (i.e. defined with respect to the referenceFrame()) is inverted.
-  Use worldInverse() for a global inverse.
-
-  The resulting Frame has the same referenceFrame() as the Frame and a \c NULL constraint().
-
-  \note The scaling factor of the 4x4 matrix is 1.0. */
-Frame Frame::inverse() const
-{
-	Frame fr(-(q_.inverseRotate(t_)), q_.inverse());
-	fr.setReferenceFrame(referenceFrame());
-	return fr;
-}
-
-/*! Returns the 4x4 OpenGL transformation matrix represented by the Frame.
-
-  This method should be used in conjunction with \c glMultMatrixd() to modify
-  the OpenGL modelview matrix from a Frame:
-  \code
-  // The modelview here corresponds to the world coordinate system.
-  Frame fr(pos, Quaternion(from, to));
-  glPushMatrix();
-  glMultMatrixd(fr.worldMatrix());
-  // draw object in the fr coordinate system.
-  glPopMatrix();
-  \endcode
-
-  This matrix represents the global Frame transformation: the entire referenceFrame() hierarchy is
-  taken into account to define the Frame transformation from the world coordinate system. Use
-  matrix() to get the local Frame transformation matrix (i.e. defined with respect to the
-  referenceFrame()). These two match when the referenceFrame() is \c NULL.
-
-  The OpenGL format of the result is the transpose of the actual mathematical European
-  representation (translation is on the last \e line instead of the last \e column).
-
-  \attention The result is only valid until the next call to matrix(), getMatrix(), worldMatrix() or
-  getWorldMatrix(). Use it immediately (as above) or use getWorldMatrix() instead.
-
-  \note The scaling factor of the 4x4 matrix is 1.0. */
-const GLdouble* Frame::worldMatrix() const
-{
-	// This test is done for efficiency reasons (creates lots of temp objects otherwise).
-	if (referenceFrame())
-	{
-		static Frame fr;
-		fr.setTranslation(position());
-		fr.setRotation(orientation());
-		return fr.matrix();
-	}
-	else
-		return matrix();
-}
-
-/*! qreal[4][4] parameter version of worldMatrix(). See also getMatrix() and matrix(). */
-void Frame::getWorldMatrix(GLdouble m[4][4]) const
-{
-	const GLdouble* mat = worldMatrix();
-	for (int i=0; i<4; ++i)
-		for (int j=0; j<4; ++j)
-			m[i][j] = mat[i*4+j];
-}
-
-/*! qreal[16] parameter version of worldMatrix(). See also getMatrix() and matrix(). */
-void Frame::getWorldMatrix(GLdouble m[16]) const
-{
-	const GLdouble* mat = worldMatrix();
-	for (int i=0; i<16; ++i)
-		m[i] = mat[i];
-}
-
-/*! This is an overloaded method provided for convenience. Same as setFromMatrix(). */
-void Frame::setFromMatrix(const GLdouble m[4][4])
-{
-	if (fabs(m[3][3]) < 1E-8)
-	{
-		qWarning("Frame::setFromMatrix: Null homogeneous coefficient");
-		return;
-	}
-
-	qreal rot[3][3];
-	for (int i=0; i<3; ++i)
-	{
-		t_[i] = m[3][i] / m[3][3];
-		for (int j=0; j<3; ++j)
-			// Beware of the transposition (OpenGL to European math)
-			rot[i][j] = m[j][i] / m[3][3];
-	}
-	q_.setFromRotationMatrix(rot);
-	Q_EMIT modified();
-}
-
-/*! Sets the Frame from an OpenGL matrix representation (rotation in the upper left 3x3 matrix and
- translation on the last line).
-
- Hence, if a code fragment looks like:
- \code
- GLdouble m[16]={...};
- glMultMatrixd(m);
- \endcode
- It is equivalent to write:
- \code
- Frame fr;
- fr.setFromMatrix(m);
- glMultMatrixd(fr.matrix());
- \endcode
-
- Using this conversion, you can benefit from the powerful Frame transformation methods to translate
- points and vectors to and from the Frame coordinate system to any other Frame coordinate system
- (including the world coordinate system). See coordinatesOf() and transformOf().
-
- Emits the modified() signal. See also matrix(), getMatrix() and
- Quaternion::setFromRotationMatrix().
-
- \attention A Frame does not contain a scale factor. The possible scaling in \p m will not be
- converted into the Frame by this method. */
-void Frame::setFromMatrix(const GLdouble m[16])
-{
-	GLdouble mat[4][4];
-	for (int i=0; i<4; ++i)
-		for (int j=0; j<4; ++j)
-			mat[i][j] = m[i*4+j];
-	setFromMatrix(mat);
-}
-
-//////////////////// SET AND GET LOCAL TRANSLATION AND ROTATION ///////////////////////////////
-
-
-/*! Same as setTranslation(), but with \p qreal parameters. */
-void Frame::setTranslation(qreal x, qreal y, qreal z)
-{
-	setTranslation(Vec(x, y, z));
-}
-
-/*! Fill \c x, \c y and \c z with the translation() of the Frame. */
-void Frame::getTranslation(qreal& x, qreal& y, qreal& z) const
-{
-	const Vec t = translation();
-	x = t[0];
-	y = t[1];
-	z = t[2];
-}
-
-/*! Same as setRotation() but with \c qreal Quaternion parameters. */
-void Frame::setRotation(qreal q0, qreal q1, qreal q2, qreal q3)
-{
-	setRotation(Quaternion(q0, q1, q2, q3));
-}
-
-/*! The \p q are set to the rotation() of the Frame.
-
-See Quaternion::Quaternion(qreal, qreal, qreal, qreal) for details on \c q. */
-void Frame::getRotation(qreal& q0, qreal& q1, qreal& q2, qreal& q3) const
-{
-	const Quaternion q = rotation();
-	q0 = q[0];
-	q1 = q[1];
-	q2 = q[2];
-	q3 = q[3];
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Translates the Frame of \p t (defined in the Frame coordinate system).
-
-  The translation actually applied to the Frame may differ from \p t since it can be filtered by the
-  constraint(). Use translate(Vec&) or setTranslationWithConstraint() to retrieve the filtered
-  translation value. Use setTranslation() to directly translate the Frame without taking the
-  constraint() into account.
-
-  See also rotate(const Quaternion&). Emits the modified() signal. */
-void Frame::translate(const Vec& t)
-{
-	Vec tbis = t;
-	translate(tbis);
-}
-
-/*! Same as translate(const Vec&) but \p t may be modified to satisfy the translation constraint().
-  Its new value corresponds to the translation that has actually been applied to the Frame. */
-void Frame::translate(Vec& t)
-{
-	if (constraint())
-		constraint()->constrainTranslation(t, this);
-	t_ += t;
-	Q_EMIT modified();
-}
-
-/*! Same as translate(const Vec&) but with \c qreal parameters. */
-void Frame::translate(qreal x, qreal y, qreal z)
-{
-	Vec t(x,y,z);
-	translate(t);
-}
-
-/*! Same as translate(Vec&) but with \c qreal parameters. */
-void Frame::translate(qreal& x, qreal& y, qreal& z)
-{
-	Vec t(x,y,z);
-	translate(t);
-	x = t[0];
-	y = t[1];
-	z = t[2];
-}
-
-/*! Rotates the Frame by \p q (defined in the Frame coordinate system): R = R*q.
-
-  The rotation actually applied to the Frame may differ from \p q since it can be filtered by the
-  constraint(). Use rotate(Quaternion&) or setRotationWithConstraint() to retrieve the filtered
-  rotation value. Use setRotation() to directly rotate the Frame without taking the constraint()
-  into account.
-
-  See also translate(const Vec&). Emits the modified() signal. */
-void Frame::rotate(const Quaternion& q)
-{
-	Quaternion qbis = q;
-	rotate(qbis);
-}
-
-/*! Same as rotate(const Quaternion&) but \p q may be modified to satisfy the rotation constraint().
-  Its new value corresponds to the rotation that has actually been applied to the Frame. */
-void Frame::rotate(Quaternion& q)
-{
-	if (constraint())
-		constraint()->constrainRotation(q, this);
-	q_ *= q;
-	q_.normalize(); // Prevents numerical drift
-	Q_EMIT modified();
-}
-
-/*! Same as rotate(Quaternion&) but with \c qreal Quaternion parameters. */
-void Frame::rotate(qreal& q0, qreal& q1, qreal& q2, qreal& q3)
-{
-	Quaternion q(q0,q1,q2,q3);
-	rotate(q);
-	q0 = q[0];
-	q1 = q[1];
-	q2 = q[2];
-	q3 = q[3];
-}
-
-/*! Same as rotate(const Quaternion&) but with \c qreal Quaternion parameters. */
-void Frame::rotate(qreal q0, qreal q1, qreal q2, qreal q3)
-{
-	Quaternion q(q0,q1,q2,q3);
-	rotate(q);
-}
-
-/*! Makes the Frame rotate() by \p rotation around \p point.
-
-  \p point is defined in the world coordinate system, while the \p rotation axis is defined in the
-  Frame coordinate system.
-
-  If the Frame has a constraint(), \p rotation is first constrained using
-  Constraint::constrainRotation(). The translation which results from the filtered rotation around
-  \p point is then computed and filtered using Constraint::constrainTranslation(). The new \p
-  rotation value corresponds to the rotation that has actually been applied to the Frame.
-
-  Emits the modified() signal. */
-void Frame::rotateAroundPoint(Quaternion& rotation, const Vec& point)
-{
-	if (constraint())
-		constraint()->constrainRotation(rotation, this);
-	q_ *= rotation;
-	q_.normalize(); // Prevents numerical drift
-	Vec trans = point + Quaternion(inverseTransformOf(rotation.axis()), rotation.angle()).rotate(position()-point) - t_;
-	if (constraint())
-		constraint()->constrainTranslation(trans, this);
-	t_ += trans;
-	Q_EMIT modified();
-}
-
-/*! Same as rotateAroundPoint(), but with a \c const \p rotation Quaternion. Note that the actual
-  rotation may differ since it can be filtered by the constraint(). */
-void Frame::rotateAroundPoint(const Quaternion& rotation, const Vec& point)
-{
-	Quaternion rot = rotation;
-	rotateAroundPoint(rot, point);
-}
-
-//////////////////// SET AND GET WORLD POSITION AND ORIENTATION ///////////////////////////////
-
-/*! Sets the position() of the Frame, defined in the world coordinate system. Emits the modified()
-  signal.
-
-Use setTranslation() to define the \e local frame translation (with respect to the
-referenceFrame()). The potential constraint() of the Frame is not taken into account, use
-setPositionWithConstraint() instead. */
-void Frame::setPosition(const Vec& position)
-{
-	if (referenceFrame())
-		setTranslation(referenceFrame()->coordinatesOf(position));
-	else
-		setTranslation(position);
-}
-
-/*! Same as setPosition(), but with \c qreal parameters. */
-void Frame::setPosition(qreal x, qreal y, qreal z)
-{
-	setPosition(Vec(x, y, z));
-}
-
-/*! Same as successive calls to setPosition() and then setOrientation().
-
-Only one modified() signal is emitted, which is convenient if this signal is connected to a
-QGLViewer::update() slot. See also setTranslationAndRotation() and
-setPositionAndOrientationWithConstraint(). */
-void Frame::setPositionAndOrientation(const Vec& position, const Quaternion& orientation)
-{
-	if (referenceFrame())
-	{
-		t_ = referenceFrame()->coordinatesOf(position);
-		q_ = referenceFrame()->orientation().inverse() * orientation;
-	}
-	else
-	{
-		t_ = position;
-		q_ = orientation;
-	}
-	Q_EMIT modified();
-}
-
-
-/*! Same as successive calls to setTranslation() and then setRotation().
-
-Only one modified() signal is emitted, which is convenient if this signal is connected to a
-QGLViewer::update() slot. See also setPositionAndOrientation() and
-setTranslationAndRotationWithConstraint(). */
-void Frame::setTranslationAndRotation(const Vec& translation, const Quaternion& rotation)
-{
-	t_ = translation;
-	q_ = rotation;
-	Q_EMIT modified();
-}
-
-
-/*! \p x, \p y and \p z are set to the position() of the Frame. */
-void Frame::getPosition(qreal& x, qreal& y, qreal& z) const
-{
-	Vec p = position();
-	x = p.x;
-	y = p.y;
-	z = p.z;
-}
-
-/*! Sets the orientation() of the Frame, defined in the world coordinate system. Emits the modified() signal.
-
-Use setRotation() to define the \e local frame rotation (with respect to the referenceFrame()). The
-potential constraint() of the Frame is not taken into account, use setOrientationWithConstraint()
-instead. */
-void Frame::setOrientation(const Quaternion& orientation)
-{
-	if (referenceFrame())
-		setRotation(referenceFrame()->orientation().inverse() * orientation);
-	else
-		setRotation(orientation);
-}
-
-/*! Same as setOrientation(), but with \c qreal parameters. */
-void Frame::setOrientation(qreal q0, qreal q1, qreal q2, qreal q3)
-{
-	setOrientation(Quaternion(q0, q1, q2, q3));
-}
-
-/*! Get the current orientation of the frame (same as orientation()).
-  Parameters are the orientation Quaternion values.
-  See also setOrientation(). */
-
-/*! The \p q are set to the orientation() of the Frame.
-
-See Quaternion::Quaternion(qreal, qreal, qreal, qreal) for details on \c q. */
-void Frame::getOrientation(qreal& q0, qreal& q1, qreal& q2, qreal& q3) const
-{
-	Quaternion o = orientation();
-	q0 = o[0];
-	q1 = o[1];
-	q2 = o[2];
-	q3 = o[3];
-}
-
-/*! Returns the position of the Frame, defined in the world coordinate system. See also
-	orientation(), setPosition() and translation(). */
-Vec Frame::position() const {
-	if (referenceFrame_)
-		return inverseCoordinatesOf(Vec(0.0,0.0,0.0));
-	else
-		return t_;
-}
-
-/*! Returns the orientation of the Frame, defined in the world coordinate system. See also
-  position(), setOrientation() and rotation(). */
-Quaternion Frame::orientation() const
-{
-	Quaternion res = rotation();
-	const Frame* fr = referenceFrame();
-	while (fr != NULL)
-	{
-		res = fr->rotation() * res;
-		fr  = fr->referenceFrame();
-	}
-	return res;
-}
-
-
-////////////////////// C o n s t r a i n t   V e r s i o n s  //////////////////////////
-
-/*! Same as setTranslation(), but \p translation is modified so that the potential constraint() of the
-  Frame is satisfied.
-
-  Emits the modified() signal. See also setRotationWithConstraint() and setPositionWithConstraint(). */
-void Frame::setTranslationWithConstraint(Vec& translation)
-{
-	Vec deltaT = translation - this->translation();
-	if (constraint())
-		constraint()->constrainTranslation(deltaT, this);
-
-	setTranslation(this->translation() + deltaT);
-	translation = this->translation();
-}
-
-/*! Same as setRotation(), but \p rotation is modified so that the potential constraint() of the
-  Frame is satisfied.
-
-  Emits the modified() signal. See also setTranslationWithConstraint() and setOrientationWithConstraint(). */
-void Frame::setRotationWithConstraint(Quaternion& rotation)
-{
-	Quaternion deltaQ = this->rotation().inverse() * rotation;
-	if (constraint())
-		constraint()->constrainRotation(deltaQ, this);
-
-	// Prevent numerical drift
-	deltaQ.normalize();
-
-	setRotation(this->rotation() * deltaQ);
-	q_.normalize();
-	rotation = this->rotation();
-}
-
-/*! Same as setTranslationAndRotation(), but \p translation and \p orientation are modified to
-  satisfy the constraint(). Emits the modified() signal. */
-void Frame::setTranslationAndRotationWithConstraint(Vec& translation, Quaternion& rotation)
-{
-	Vec deltaT = translation - this->translation();
-	Quaternion deltaQ = this->rotation().inverse() * rotation;
-
-	if (constraint())
-	{
-		constraint()->constrainTranslation(deltaT, this);
-		constraint()->constrainRotation(deltaQ, this);
-	}
-
-	// Prevent numerical drift
-	deltaQ.normalize();
-
-	t_ += deltaT;
-	q_ *= deltaQ;
-	q_.normalize();
-
-	translation = this->translation();
-	rotation = this->rotation();
-
-	Q_EMIT modified();
-}
-
-/*! Same as setPosition(), but \p position is modified so that the potential constraint() of the
-  Frame is satisfied. See also setOrientationWithConstraint() and setTranslationWithConstraint(). */
-void Frame::setPositionWithConstraint(Vec& position)
-{
-	if (referenceFrame())
-		position = referenceFrame()->coordinatesOf(position);
-
-	setTranslationWithConstraint(position);
-}
-
-/*! Same as setOrientation(), but \p orientation is modified so that the potential constraint() of the Frame
-  is satisfied. See also setPositionWithConstraint() and setRotationWithConstraint(). */
-void Frame::setOrientationWithConstraint(Quaternion& orientation)
-{
-	if (referenceFrame())
-		orientation = referenceFrame()->orientation().inverse() * orientation;
-
-	setRotationWithConstraint(orientation);
-}
-
-/*! Same as setPositionAndOrientation() but \p position and \p orientation are modified to satisfy
-the constraint. Emits the modified() signal. */
-void Frame::setPositionAndOrientationWithConstraint(Vec& position, Quaternion& orientation)
-{
-	if (referenceFrame())
-	{
-		position = referenceFrame()->coordinatesOf(position);
-		orientation = referenceFrame()->orientation().inverse() * orientation;
-	}
-	setTranslationAndRotationWithConstraint(position, orientation);
-}
-
-
-///////////////////////////// REFERENCE FRAMES ///////////////////////////////////////
-
-/*! Sets the referenceFrame() of the Frame.
-
-The Frame translation() and rotation() are then defined in the referenceFrame() coordinate system.
-Use position() and orientation() to express these in the world coordinate system.
-
-Emits the modified() signal if \p refFrame differs from the current referenceFrame().
-
-Using this method, you can create a hierarchy of Frames. This hierarchy needs to be a tree, which
-root is the world coordinate system (i.e. a \c NULL referenceFrame()). A warning is printed and no
-action is performed if setting \p refFrame as the referenceFrame() would create a loop in the Frame
-hierarchy (see settingAsReferenceFrameWillCreateALoop()). */
-void Frame::setReferenceFrame(const Frame* const refFrame)
-{
-	if (settingAsReferenceFrameWillCreateALoop(refFrame))
-		qWarning("Frame::setReferenceFrame would create a loop in Frame hierarchy");
-	else
-	{
-		bool identical = (referenceFrame_ == refFrame);
-		referenceFrame_ = refFrame;
-		if (!identical)
-			Q_EMIT modified();
-	}
-}
-
-/*! Returns \c true if setting \p frame as the Frame's referenceFrame() would create a loop in the
-  Frame hierarchy. */
-bool Frame::settingAsReferenceFrameWillCreateALoop(const Frame* const frame)
-{
-	const Frame* f = frame;
-	while (f != NULL)
-	{
-		if (f == this)
-			return true;
-		f = f->referenceFrame();
-	}
-	return false;
-}
-
-///////////////////////// FRAME TRANSFORMATIONS OF 3D POINTS //////////////////////////////
-
-/*! Returns the Frame coordinates of a point \p src defined in the world coordinate system (converts
- from world to Frame).
-
- inverseCoordinatesOf() performs the inverse convertion. transformOf() converts 3D vectors instead
- of 3D coordinates.
-
- See the <a href="../examples/frameTransform.html">frameTransform example</a> for an
- illustration. */
-Vec Frame::coordinatesOf(const Vec& src) const
-{
-	if (referenceFrame())
-		return localCoordinatesOf(referenceFrame()->coordinatesOf(src));
-	else
-		return localCoordinatesOf(src);
-}
-
-/*! Returns the world coordinates of the point whose position in the Frame coordinate system is \p
-  src (converts from Frame to world).
-
-  coordinatesOf() performs the inverse convertion. Use inverseTransformOf() to transform 3D vectors
-  instead of 3D coordinates. */
-Vec Frame::inverseCoordinatesOf(const Vec& src) const
-{
-	const Frame* fr = this;
-	Vec res = src;
-	while (fr != NULL)
-	{
-		res = fr->localInverseCoordinatesOf(res);
-		fr  = fr->referenceFrame();
-	}
-	return res;
-}
-
-/*! Returns the Frame coordinates of a point \p src defined in the referenceFrame() coordinate
-  system (converts from referenceFrame() to Frame).
-
-  localInverseCoordinatesOf() performs the inverse convertion. See also localTransformOf(). */
-Vec Frame::localCoordinatesOf(const Vec& src) const
-{
-	return rotation().inverseRotate(src - translation());
-}
-
-/*! Returns the referenceFrame() coordinates of a point \p src defined in the Frame coordinate
- system (converts from Frame to referenceFrame()).
-
- localCoordinatesOf() performs the inverse convertion. See also localInverseTransformOf(). */
-Vec Frame::localInverseCoordinatesOf(const Vec& src) const
-{
-	return rotation().rotate(src) + translation();
-}
-
-/*! Returns the Frame coordinates of the point whose position in the \p from coordinate system is \p
-  src (converts from \p from to Frame).
-
-  coordinatesOfIn() performs the inverse transformation. */
-Vec Frame::coordinatesOfFrom(const Vec& src, const Frame* const from) const
-{
-	if (this == from)
-		return src;
-	else
-		if (referenceFrame())
-			return localCoordinatesOf(referenceFrame()->coordinatesOfFrom(src, from));
-		else
-			return localCoordinatesOf(from->inverseCoordinatesOf(src));
-}
-
-/*! Returns the \p in coordinates of the point whose position in the Frame coordinate system is \p
-  src (converts from Frame to \p in).
-
-  coordinatesOfFrom() performs the inverse transformation. */
-Vec Frame::coordinatesOfIn(const Vec& src, const Frame* const in) const
-{
-	const Frame* fr = this;
-	Vec res = src;
-	while ((fr != NULL) && (fr != in))
-	{
-		res = fr->localInverseCoordinatesOf(res);
-		fr  = fr->referenceFrame();
-	}
-
-	if (fr != in)
-		// in was not found in the branch of this, res is now expressed in the world
-		// coordinate system. Simply convert to in coordinate system.
-		res = in->coordinatesOf(res);
-
-	return res;
-}
-
-////// qreal[3] versions
-
-/*! Same as coordinatesOf(), but with \c qreal parameters. */
-void Frame::getCoordinatesOf(const qreal src[3], qreal res[3]) const
-{
-	const Vec r = coordinatesOf(Vec(src));
-	for (int i=0; i<3 ; ++i)
-		res[i] = r[i];
-}
-
-/*! Same as inverseCoordinatesOf(), but with \c qreal parameters. */
-void Frame::getInverseCoordinatesOf(const qreal src[3], qreal res[3]) const
-{
-	const Vec r = inverseCoordinatesOf(Vec(src));
-	for (int i=0; i<3 ; ++i)
-		res[i] = r[i];
-}
-
-/*! Same as localCoordinatesOf(), but with \c qreal parameters. */
-void Frame::getLocalCoordinatesOf(const qreal src[3], qreal res[3]) const
-{
-	const Vec r = localCoordinatesOf(Vec(src));
-	for (int i=0; i<3 ; ++i)
-		res[i] = r[i];
-}
-
-/*! Same as localInverseCoordinatesOf(), but with \c qreal parameters. */
-void Frame::getLocalInverseCoordinatesOf(const qreal src[3], qreal res[3]) const
-{
-	const Vec r = localInverseCoordinatesOf(Vec(src));
-	for (int i=0; i<3 ; ++i)
-		res[i] = r[i];
-}
-
-/*! Same as coordinatesOfIn(), but with \c qreal parameters. */
-void Frame::getCoordinatesOfIn(const qreal src[3], qreal res[3], const Frame* const in) const
-{
-	const Vec r = coordinatesOfIn(Vec(src), in);
-	for (int i=0; i<3 ; ++i)
-		res[i] = r[i];
-}
-
-/*! Same as coordinatesOfFrom(), but with \c qreal parameters. */
-void Frame::getCoordinatesOfFrom(const qreal src[3], qreal res[3], const Frame* const from) const
-{
-	const Vec r = coordinatesOfFrom(Vec(src), from);
-	for (int i=0; i<3 ; ++i)
-		res[i] = r[i];
-}
-
-
-///////////////////////// FRAME TRANSFORMATIONS OF VECTORS //////////////////////////////
-
-/*! Returns the Frame transform of a vector \p src defined in the world coordinate system (converts
- vectors from world to Frame).
-
- inverseTransformOf() performs the inverse transformation. coordinatesOf() converts 3D coordinates
- instead of 3D vectors (here only the rotational part of the transformation is taken into account).
-
- See the <a href="../examples/frameTransform.html">frameTransform example</a> for an
- illustration. */
-Vec Frame::transformOf(const Vec& src) const
-{
-	if (referenceFrame())
-		return localTransformOf(referenceFrame()->transformOf(src));
-	else
-		return localTransformOf(src);
-}
-
-/*! Returns the world transform of the vector whose coordinates in the Frame coordinate
-  system is \p src (converts vectors from Frame to world).
-
-  transformOf() performs the inverse transformation. Use inverseCoordinatesOf() to transform 3D
-  coordinates instead of 3D vectors. */
-Vec Frame::inverseTransformOf(const Vec& src) const
-{
-	const Frame* fr = this;
-	Vec res = src;
-	while (fr != NULL)
-	{
-		res = fr->localInverseTransformOf(res);
-		fr  = fr->referenceFrame();
-	}
-	return res;
-}
-
-/*! Returns the Frame transform of a vector \p src defined in the referenceFrame() coordinate system
-  (converts vectors from referenceFrame() to Frame).
-
-  localInverseTransformOf() performs the inverse transformation. See also localCoordinatesOf(). */
-Vec Frame::localTransformOf(const Vec& src) const
-{
-	return rotation().inverseRotate(src);
-}
-
-/*! Returns the referenceFrame() transform of a vector \p src defined in the Frame coordinate
- system (converts vectors from Frame to referenceFrame()).
-
- localTransformOf() performs the inverse transformation. See also localInverseCoordinatesOf(). */
-Vec Frame::localInverseTransformOf(const Vec& src) const
-{
-	return rotation().rotate(src);
-}
-
-/*! Returns the Frame transform of the vector whose coordinates in the \p from coordinate system is \p
-  src (converts vectors from \p from to Frame).
-
-  transformOfIn() performs the inverse transformation. */
-Vec Frame::transformOfFrom(const Vec& src, const Frame* const from) const
-{
-	if (this == from)
-		return src;
-	else
-		if (referenceFrame())
-			return localTransformOf(referenceFrame()->transformOfFrom(src, from));
-		else
-			return localTransformOf(from->inverseTransformOf(src));
-}
-
-/*! Returns the \p in transform of the vector whose coordinates in the Frame coordinate system is \p
-  src (converts vectors from Frame to \p in).
-
-  transformOfFrom() performs the inverse transformation. */
-Vec Frame::transformOfIn(const Vec& src, const Frame* const in) const
-{
-	const Frame* fr = this;
-	Vec    res = src;
-	while ((fr != NULL) && (fr != in))
-	{
-		res = fr->localInverseTransformOf(res);
-		fr  = fr->referenceFrame();
-	}
-
-	if (fr != in)
-		// in was not found in the branch of this, res is now expressed in the world
-		// coordinate system. Simply convert to in coordinate system.
-		res = in->transformOf(res);
-
-	return res;
-}
-
-/////////////////  qreal[3] versions  //////////////////////
-
-/*! Same as transformOf(), but with \c qreal parameters. */
-void Frame::getTransformOf(const qreal src[3], qreal res[3]) const
-{
-	Vec r = transformOf(Vec(src));
-	for (int i=0; i<3 ; ++i)
-		res[i] = r[i];
-}
-
-/*! Same as inverseTransformOf(), but with \c qreal parameters. */
-void Frame::getInverseTransformOf(const qreal src[3], qreal res[3]) const
-{
-	Vec r = inverseTransformOf(Vec(src));
-	for (int i=0; i<3 ; ++i)
-		res[i] = r[i];
-}
-
-/*! Same as localTransformOf(), but with \c qreal parameters. */
-void Frame::getLocalTransformOf(const qreal src[3], qreal res[3]) const
-{
-	Vec r = localTransformOf(Vec(src));
-	for (int i=0; i<3 ; ++i)
-		res[i] = r[i];
-}
-
-/*! Same as localInverseTransformOf(), but with \c qreal parameters. */
-void Frame::getLocalInverseTransformOf(const qreal src[3], qreal res[3]) const
-{
-	Vec r = localInverseTransformOf(Vec(src));
-	for (int i=0; i<3 ; ++i)
-		res[i] = r[i];
-}
-
-/*! Same as transformOfIn(), but with \c qreal parameters. */
-void Frame::getTransformOfIn(const qreal src[3], qreal res[3], const Frame* const in) const
-{
-	Vec r = transformOfIn(Vec(src), in);
-	for (int i=0; i<3 ; ++i)
-		res[i] = r[i];
-}
-
-/*! Same as transformOfFrom(), but with \c qreal parameters. */
-void Frame::getTransformOfFrom(const qreal src[3], qreal res[3], const Frame* const from) const
-{
-	Vec r = transformOfFrom(Vec(src), from);
-	for (int i=0; i<3 ; ++i)
-		res[i] = r[i];
-}
-
-////////////////////////////      STATE      //////////////////////////////
-
-/*! Returns an XML \c QDomElement that represents the Frame.
-
- \p name is the name of the QDomElement tag. \p doc is the \c QDomDocument factory used to create
- QDomElement.
-
- The resulting QDomElement looks like:
- \code
- <name>
-   <position x=".." y=".." z=".." />
-   <orientation q0=".." q1=".." q2=".." q3=".." />
- </name>
- \endcode
-
- Use initFromDOMElement() to restore the Frame state from the resulting \c QDomElement.
-
- See Vec::domElement() for a complete example. See also Quaternion::domElement(),
- Camera::domElement()...
-
- \attention The constraint() and referenceFrame() are not saved in the QDomElement. */
-QDomElement Frame::domElement(const QString& name, QDomDocument& document) const
-{
-	// TODO: use translation and rotation instead when referenceFrame is coded...
-	QDomElement e = document.createElement(name);
-	e.appendChild(position().domElement("position", document));
-	e.appendChild(orientation().domElement("orientation", document));
-	return e;
-}
-
-/*! Restores the Frame state from a \c QDomElement created by domElement().
-
- See domElement() for the \c QDomElement syntax. See the Vec::initFromDOMElement() and
- Quaternion::initFromDOMElement() documentations for details on default values if an argument is
- missing.
-
- \attention The constraint() and referenceFrame() are not restored by this method and are left
- unchanged. */
-void Frame::initFromDOMElement(const QDomElement& element)
-{
-	// TODO: use translation and rotation instead when referenceFrame is coded...
-
-	// Reset default values. Attention: destroys constraint.
-	// *this = Frame();
-	// This instead ? Better : what is not set is not changed.
-	// setPositionAndOrientation(Vec(), Quaternion());
-
-	QDomElement child=element.firstChild().toElement();
-	while (!child.isNull())
-	{
-		if (child.tagName() == "position")
-			setPosition(Vec(child));
-		if (child.tagName() == "orientation")
-			setOrientation(Quaternion(child).normalized());
-
-		child = child.nextSibling().toElement();
-	}
-}
-
-/////////////////////////////////   ALIGN   /////////////////////////////////
-
-/*! Aligns the Frame with \p frame, so that two of their axis are parallel.
-
-If one of the X, Y and Z axis of the Frame is almost parallel to any of the X, Y, or Z axis of \p
-frame, the Frame is rotated so that these two axis actually become parallel.
-
-If, after this first rotation, two other axis are also almost parallel, a second alignment is
-performed. The two frames then have identical orientations, up to 90 degrees rotations.
-
-\p threshold measures how close two axis must be to be considered parallel. It is compared with the
-absolute values of the dot product of the normalized axis. As a result, useful range is sqrt(2)/2
-(systematic alignment) to 1 (no alignment).
-
-When \p move is set to \c true, the Frame position() is also affected by the alignment. The new
-Frame's position() is such that the \p frame position (computed with coordinatesOf(), in the Frame
-coordinates system) does not change.
-
-\p frame may be \c NULL and then represents the world coordinate system (same convention than for
-the referenceFrame()).
-
-The rotation (and translation when \p move is \c true) applied to the Frame are filtered by the
-possible constraint(). */
-void Frame::alignWithFrame(const Frame* const frame, bool move, qreal threshold)
-{
-	Vec directions[2][3];
-	for (unsigned short d=0; d<3; ++d)
-	{
-		Vec dir((d==0)? 1.0 : 0.0, (d==1)? 1.0 : 0.0, (d==2)? 1.0 : 0.0);
-		if (frame)
-			directions[0][d] = frame->inverseTransformOf(dir);
-		else
-			directions[0][d] = dir;
-		directions[1][d] = inverseTransformOf(dir);
-	}
-
-	qreal maxProj = 0.0;
-	qreal proj;
-	unsigned short index[2];
-	index[0] = index[1] = 0;
-	for (unsigned short i=0; i<3; ++i)
-		for (unsigned short j=0; j<3; ++j)
-			if ( (proj=fabs(directions[0][i]*directions[1][j])) >= maxProj )
-			{
-				index[0] = i;
-				index[1] = j;
-				maxProj  = proj;
-			}
-
-	Frame old;
-	old=*this;
-
-	qreal coef = directions[0][index[0]] * directions[1][index[1]];
-	if (fabs(coef) >= threshold)
-	{
-		const Vec axis = cross(directions[0][index[0]], directions[1][index[1]]);
-		qreal angle = asin(axis.norm());
-		if (coef >= 0.0)
-			angle = -angle;
-		rotate(rotation().inverse() * Quaternion(axis, angle) * orientation());
-
-		// Try to align an other axis direction
-		unsigned short d = (index[1]+1) % 3;
-		Vec dir((d==0)? 1.0 : 0.0, (d==1)? 1.0 : 0.0, (d==2)? 1.0 : 0.0);
-		dir = inverseTransformOf(dir);
-
-		qreal max = 0.0;
-		for (unsigned short i=0; i<3; ++i)
-		{
-			qreal proj = fabs(directions[0][i]*dir);
-			if (proj > max)
-			{
-				index[0] = i;
-				max = proj;
-			}
-		}
-
-		if (max >= threshold)
-		{
-			const Vec axis = cross(directions[0][index[0]], dir);
-			qreal angle = asin(axis.norm());
-			if (directions[0][index[0]] * dir >= 0.0)
-				angle = -angle;
-			rotate(rotation().inverse() * Quaternion(axis, angle) * orientation());
-		}
-	}
-
-	if (move)
-	{
-		Vec center;
-		if (frame)
-			center = frame->position();
-
-		translate(center - orientation().rotate(old.coordinatesOf(center)) - translation());
-	}
-}
-
-/*! Translates the Frame so that its position() lies on the line defined by \p origin and \p
-  direction (defined in the world coordinate system).
-
-Simply uses an orthogonal projection. \p direction does not need to be normalized. */
-void Frame::projectOnLine(const Vec& origin, const Vec& direction)
-{
-	// If you are trying to find a bug here, because of memory problems, you waste your time.
-	// This is a bug in the gcc 3.3 compiler. Compile the library in debug mode and test.
-	// Uncommenting this line also seems to solve the problem. Horrible.
-	// cout << "position = " << position() << endl;
-	// If you found a problem or are using a different compiler, please let me know.
-	const Vec shift = origin - position();
-	Vec proj = shift;
-	proj.projectOnAxis(direction);
-	translate(shift-proj);
-}
diff --git a/SRC/QGLViewer/QGLViewer/frame.h b/SRC/QGLViewer/QGLViewer/frame.h
deleted file mode 100644
index 2b88540..0000000
--- a/SRC/QGLViewer/QGLViewer/frame.h
+++ /dev/null
@@ -1,415 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef QGLVIEWER_FRAME_H
-#define QGLVIEWER_FRAME_H
-
-#include <QObject>
-#include <QString>
-
-#include "constraint.h"
-// #include "GL/gl.h" is now included in config.h for ease of configuration
-
-namespace qglviewer {
-/*! \brief The Frame class represents a coordinate system, defined by a position and an
-  orientation. \class Frame frame.h QGLViewer/frame.h
-
-  A Frame is a 3D coordinate system, represented by a position() and an orientation(). The order of
-  these transformations is important: the Frame is first translated \e and \e then rotated around
-  the new translated origin.
-
-  A Frame is useful to define the position and orientation of a 3D rigid object, using its matrix()
-  method, as shown below:
-  \code
-  // Builds a Frame at position (0.5,0,0) and oriented such that its Y axis is along the (1,1,1)
-  // direction. One could also have used setPosition() and setOrientation().
-  Frame fr(Vec(0.5,0,0), Quaternion(Vec(0,1,0), Vec(1,1,1)));
-  glPushMatrix();
-  glMultMatrixd(fr.matrix());
-  // Draw your object here, in the local fr coordinate system.
-  glPopMatrix();
-  \endcode
-
-  Many functions are provided to transform a 3D point from one coordinate system (Frame) to an
-  other: see coordinatesOf(), inverseCoordinatesOf(), coordinatesOfIn(), coordinatesOfFrom()...
-
-  You may also want to transform a 3D vector (such as a normal), which corresponds to applying only
-  the rotational part of the frame transformation: see transformOf() and inverseTransformOf(). See
-  the <a href="../examples/frameTransform.html">frameTransform example</a> for an illustration.
-
-  The translation() and the rotation() that are encapsulated in a Frame can also be used to
-  represent a \e rigid \e transformation of space. Such a transformation can also be interpreted as
-  a change of coordinate system, and the coordinate system conversion functions actually allow you
-  to use a Frame as a rigid transformation. Use inverseCoordinatesOf() (resp. coordinatesOf()) to
-  apply the transformation (resp. its inverse). Note the inversion.
-
-  <h3>Hierarchy of Frames</h3>
-
-  The position and the orientation of a Frame are actually defined with respect to a
-  referenceFrame(). The default referenceFrame() is the world coordinate system (represented by a \c
-  NULL referenceFrame()). If you setReferenceFrame() to a different Frame, you must then
-  differentiate:
-
-  \arg the \e local translation() and rotation(), defined with respect to the referenceFrame(),
-
-  \arg the \e global position() and orientation(), always defined with respect to the world
-  coordinate system.
-
-  A Frame is actually defined by its translation() with respect to its referenceFrame(), and then by
-  a rotation() of the coordinate system around the new translated origin.
-
-  This terminology for \e local (translation() and rotation()) and \e global (position() and
-  orientation()) definitions is used in all the methods' names and should be sufficient to prevent
-  ambiguities. These notions are obviously identical when the referenceFrame() is \c NULL, i.e. when
-  the Frame is defined in the world coordinate system (the one you are in at the beginning of the
-  QGLViewer::draw() method, see the <a href="../introduction.html">introduction page</a>).
-
-  Frames can hence easily be organized in a tree hierarchy, which root is the world coordinate
-  system. A loop in the hierarchy would result in an inconsistent (multiple) Frame definition.
-  settingAsReferenceFrameWillCreateALoop() checks this and prevents setReferenceFrame() from
-  creating such a loop.
-
-  This frame hierarchy is used in methods like coordinatesOfIn(), coordinatesOfFrom()... which allow
-  coordinates (or vector) conversions from a Frame to any other one (including the world coordinate
-  system).
-
-  However, one must note that this hierarchical representation is internal to the Frame classes.
-  When the Frames represent OpenGL coordinates system, one should map this hierarchical
-  representation to the OpenGL GL_MODELVIEW matrix stack. See the matrix() documentation for
-  details.
-
-  <h3>Constraints</h3>
-
-  An interesting feature of Frames is that their displacements can be constrained. When a Constraint
-  is attached to a Frame, it filters the input of translate() and rotate(), and only the resulting
-  filtered motion is applied to the Frame. The default constraint() is \c NULL resulting in no
-  filtering. Use setConstraint() to attach a Constraint to a frame.
-
-  Constraints are especially usefull for the ManipulatedFrame instances, in order to forbid some
-  mouse motions. See the <a href="../examples/constrainedFrame.html">constrainedFrame</a>, <a
-  href="../examples/constrainedCamera.html">constrainedCamera</a> and <a
-  href="../examples/luxo.html">luxo</a> examples for an illustration.
-
-  Classical constraints are provided for convenience (see LocalConstraint, WorldConstraint and
-  CameraConstraint) and new constraints can very easily be implemented.
-
-  <h3>Derived classes</h3>
-
-  The ManipulatedFrame class inherits Frame and implements a mouse motion convertion, so that a
-  Frame (and hence an object) can be manipulated in the scene with the mouse.
-
-  \nosubgrouping */
-class QGLVIEWER_EXPORT Frame : public QObject
-{
-	Q_OBJECT
-
-public:
-	Frame();
-
-	/*! Virtual destructor. Empty. */
-	virtual ~Frame() {}
-
-	Frame(const Frame& frame);
-	Frame& operator=(const Frame& frame);
-
-Q_SIGNALS:
-	/*! This signal is emitted whenever the position() or the orientation() of the Frame is modified.
-
-	Connect this signal to any object that must be notified:
-	\code
-	QObject::connect(myFrame, SIGNAL(modified()), myObject, SLOT(update()));
-	\endcode
-	Use the QGLViewer::QGLViewerPool() to connect the signal to all the viewers.
-
-	\note If your Frame is part of a Frame hierarchy (see referenceFrame()), a modification of one
-	of the parents of this Frame will \e not emit this signal. Use code like this to change this
-	behavior (you can do this recursively for all the referenceFrame() until the \c NULL world root
-	frame is encountered):
-	\code
-	// Emits the Frame modified() signal when its referenceFrame() is modified().
-	connect(myFrame->referenceFrame(), SIGNAL(modified()), myFrame, SIGNAL(modified()));
-	\endcode
-
-	\attention Connecting this signal to a QGLWidget::update() slot (or a method that calls it)
-	will prevent you from modifying the Frame \e inside your QGLViewer::draw() method as it would
-	result in an infinite loop. However, QGLViewer::draw() should not modify the scene.
-
-	\note Note that this signal might be emitted even if the Frame is not actually modified, for
-	instance after a translate(Vec(0,0,0)) or a setPosition(position()). */
-	void modified();
-
-	/*! This signal is emitted when the Frame is interpolated by a KeyFrameInterpolator.
-
-	See the KeyFrameInterpolator documentation for details.
-
-	If a KeyFrameInterpolator is used to successively interpolate several Frames in your scene,
-	connect the KeyFrameInterpolator::interpolated() signal instead (identical, but independent of
-	the interpolated Frame). */
-	void interpolated();
-
-public:
-	/*! @name World coordinates position and orientation */
-	//@{
-	Frame(const Vec& position, const Quaternion& orientation);
-
-	void setPosition(const Vec& position);
-	void setPosition(qreal x, qreal y, qreal z);
-	void setPositionWithConstraint(Vec& position);
-
-	void setOrientation(const Quaternion& orientation);
-	void setOrientation(qreal q0, qreal q1, qreal q2, qreal q3);
-	void setOrientationWithConstraint(Quaternion& orientation);
-
-	void setPositionAndOrientation(const Vec& position, const Quaternion& orientation);
-	void setPositionAndOrientationWithConstraint(Vec& position, Quaternion& orientation);
-
-	Vec position() const;
-	Quaternion orientation() const;
-
-	void getPosition(qreal& x, qreal& y, qreal& z) const;
-	void getOrientation(qreal& q0, qreal& q1, qreal& q2, qreal& q3) const;
-	//@}
-
-
-public:
-	/*! @name Local translation and rotation w/r reference Frame */
-	//@{
-	/*! Sets the translation() of the frame, locally defined with respect to the referenceFrame().
-	  Emits the modified() signal.
-
-	Use setPosition() to define the world coordinates position(). Use
-	setTranslationWithConstraint() to take into account the potential constraint() of the Frame. */
-	void setTranslation(const Vec& translation) { t_ = translation; Q_EMIT modified(); }
-	void setTranslation(qreal x, qreal y, qreal z);
-	void setTranslationWithConstraint(Vec& translation);
-
-	/*! Set the current rotation Quaternion. See rotation() and the different Quaternion
-	constructors. Emits the modified() signal. See also setTranslation() and
-	setRotationWithConstraint(). */
-
-	/*! Sets the rotation() of the Frame, locally defined with respect to the referenceFrame().
-	  Emits the modified() signal.
-
-	 Use setOrientation() to define the world coordinates orientation(). The potential
-	 constraint() of the Frame is not taken into account, use setRotationWithConstraint()
-	 instead. */
-	void setRotation(const Quaternion& rotation) { q_ = rotation; Q_EMIT modified(); }
-	void setRotation(qreal q0, qreal q1, qreal q2, qreal q3);
-	void setRotationWithConstraint(Quaternion& rotation);
-
-	void setTranslationAndRotation(const Vec& translation, const Quaternion& rotation);
-	void setTranslationAndRotationWithConstraint(Vec& translation, Quaternion& rotation);
-
-	/*! Returns the Frame translation, defined with respect to the referenceFrame().
-
-	Use position() to get the result in the world coordinates. These two values are identical
-	when the referenceFrame() is \c NULL (default).
-
-	See also setTranslation() and setTranslationWithConstraint(). */
-	Vec translation() const { return t_; }
-	/*! Returns the Frame rotation, defined with respect to the referenceFrame().
-
-	Use orientation() to get the result in the world coordinates. These two values are identical
-	when the referenceFrame() is \c NULL (default).
-
-	See also setRotation() and setRotationWithConstraint(). */
-
-	/*! Returns the current Quaternion orientation. See setRotation(). */
-	Quaternion rotation() const { return q_; }
-
-	void getTranslation(qreal& x, qreal& y, qreal& z) const;
-	void getRotation(qreal& q0, qreal& q1, qreal& q2, qreal& q3) const;
-	//@}
-
-public:
-	/*! @name Frame hierarchy */
-	//@{
-	/*! Returns the reference Frame, in which coordinates system the Frame is defined.
-
-	The translation() and rotation() of the Frame are defined with respect to the referenceFrame()
-	coordinate system. A \c NULL referenceFrame() (default value) means that the Frame is defined in
-	the world coordinate system.
-
-	Use position() and orientation() to recursively convert values along the referenceFrame() chain
-	and to get values expressed in the world coordinate system. The values match when the
-	referenceFrame() is \c NULL.
-
-	Use setReferenceFrame() to set this value and create a Frame hierarchy. Convenient functions
-	allow you to convert 3D coordinates from one Frame to an other: see coordinatesOf(),
-	localCoordinatesOf(), coordinatesOfIn() and their inverse functions.
-
-	Vectors can also be converted using transformOf(), transformOfIn, localTransformOf() and their
-	inverse functions. */
-	const Frame* referenceFrame() const { return referenceFrame_; }
-	void setReferenceFrame(const Frame* const refFrame);
-	bool settingAsReferenceFrameWillCreateALoop(const Frame* const frame);
-	//@}
-
-
-	/*! @name Frame modification */
-	//@{
-	void translate(Vec& t);
-	void translate(const Vec& t);
-	// Some compilers complain about "overloading cannot distinguish from previous declaration"
-	// Simply comment out the following method and its associated implementation
-	void translate(qreal x, qreal y, qreal z);
-	void translate(qreal& x, qreal& y, qreal& z);
-
-	void rotate(Quaternion& q);
-	void rotate(const Quaternion& q);
-	// Some compilers complain about "overloading cannot distinguish from previous declaration"
-	// Simply comment out the following method and its associated implementation
-	void rotate(qreal q0, qreal q1, qreal q2, qreal q3);
-	void rotate(qreal& q0, qreal& q1, qreal& q2, qreal& q3);
-
-	void rotateAroundPoint(Quaternion& rotation, const Vec& point);
-	void rotateAroundPoint(const Quaternion& rotation, const Vec& point);
-
-	void alignWithFrame(const Frame* const frame, bool move=false, qreal threshold=0.0);
-	void projectOnLine(const Vec& origin, const Vec& direction);
-	//@}
-
-
-	/*! @name Coordinate system transformation of 3D coordinates */
-	//@{
-	Vec coordinatesOf(const Vec& src) const;
-	Vec inverseCoordinatesOf(const Vec& src) const;
-	Vec localCoordinatesOf(const Vec& src) const;
-	Vec localInverseCoordinatesOf(const Vec& src) const;
-	Vec coordinatesOfIn(const Vec& src, const Frame* const in) const;
-	Vec coordinatesOfFrom(const Vec& src, const Frame* const from) const;
-
-	void getCoordinatesOf(const qreal src[3], qreal res[3]) const;
-	void getInverseCoordinatesOf(const qreal src[3], qreal res[3]) const;
-	void getLocalCoordinatesOf(const qreal src[3], qreal res[3]) const;
-	void getLocalInverseCoordinatesOf(const qreal src[3], qreal res[3]) const;
-	void getCoordinatesOfIn(const qreal src[3], qreal res[3], const Frame* const in) const;
-	void getCoordinatesOfFrom(const qreal src[3], qreal res[3], const Frame* const from) const;
-	//@}
-
-	/*! @name Coordinate system transformation of vectors */
-	// A frame is as a new coordinate system, defined with respect to a reference frame (the world
-	// coordinate system by default, see the "Composition of frame" section).
-
-	// The transformOf() (resp. inverseTransformOf()) functions transform a 3D vector from (resp.
-	// to) the world coordinates system. This section defines the 3D vector transformation
-	// functions. See the Coordinate system transformation of 3D points above for the transformation
-	// of 3D points. The difference between the two sets of functions is simple: for vectors, only
-	// the rotational part of the transformations is taken into account, while translation is also
-	// considered for 3D points.
-
-	// The length of the resulting transformed vector is identical to the one of the source vector
-	// for all the described functions.
-
-	// When local is prepended to the names of the functions, the functions simply transform from
-	// (and to) the reference frame.
-
-	// When In (resp. From) is appended to the names, the functions transform from (resp. To) the
-	// frame that is given as an argument. The frame does not need to be in the same branch or the
-	// hierarchical tree, and can be \c NULL (the world coordinates system).
-
-	// Combining any of these functions with its inverse (in any order) leads to the identity.
-	//@{
-	Vec transformOf(const Vec& src) const;
-	Vec inverseTransformOf(const Vec& src) const;
-	Vec localTransformOf(const Vec& src) const;
-	Vec localInverseTransformOf(const Vec& src) const;
-	Vec transformOfIn(const Vec& src, const Frame* const in) const;
-	Vec transformOfFrom(const Vec& src, const Frame* const from) const;
-
-	void getTransformOf(const qreal src[3], qreal res[3]) const;
-	void getInverseTransformOf(const qreal src[3], qreal res[3]) const;
-	void getLocalTransformOf(const qreal src[3], qreal res[3]) const;
-	void getLocalInverseTransformOf(const qreal src[3], qreal res[3]) const;
-	void getTransformOfIn(const qreal src[3], qreal res[3], const Frame* const in) const;
-	void getTransformOfFrom(const qreal src[3], qreal res[3], const Frame* const from) const;
-	//@}
-
-
-	/*! @name Constraint on the displacement */
-	//@{
-	/*! Returns the current constraint applied to the Frame.
-
-	A \c NULL value (default) means that no Constraint is used to filter Frame translation and
-	rotation. See the Constraint class documentation for details.
-
-	You may have to use a \c dynamic_cast to convert the result to a Constraint derived class. */
-	Constraint* constraint() const { return constraint_; }
-	/*! Sets the constraint() attached to the Frame.
-
-	A \c NULL value means no constraint. The previous constraint() should be deleted by the calling
-	method if needed. */
-	void setConstraint(Constraint* const constraint) { constraint_ = constraint; }
-	//@}
-
-	/*! @name Associated matrices */
-	//@{
-public:
-	const GLdouble* matrix() const;
-	void getMatrix(GLdouble m[4][4]) const;
-	void getMatrix(GLdouble m[16]) const;
-
-	const GLdouble* worldMatrix() const;
-	void getWorldMatrix(GLdouble m[4][4]) const;
-	void getWorldMatrix(GLdouble m[16]) const;
-
-	void setFromMatrix(const GLdouble m[4][4]);
-	void setFromMatrix(const GLdouble m[16]);
-	//@}
-
-	/*! @name Inversion of the transformation */
-	//@{
-	Frame inverse() const;
-	/*! Returns the inverse() of the Frame world transformation.
-
-	The orientation() of the new Frame is the Quaternion::inverse() of the original orientation.
-	Its position() is the negated and inverse rotated image of the original position.
-
-	The result Frame has a \c NULL referenceFrame() and a \c NULL constraint().
-
-	Use inverse() for a local (i.e. with respect to referenceFrame()) transformation inverse. */
-	Frame worldInverse() const { return Frame(-(orientation().inverseRotate(position())), orientation().inverse()); }
-	//@}
-
-	/*! @name XML representation */
-	//@{
-public:
-	virtual QDomElement domElement(const QString& name, QDomDocument& document) const;
-public Q_SLOTS:
-	virtual void initFromDOMElement(const QDomElement& element);
-	//@}
-
-private:
-	// P o s i t i o n   a n d   o r i e n t a t i o n
-	Vec t_;
-	Quaternion q_;
-
-	// C o n s t r a i n t s
-	Constraint* constraint_;
-
-	// F r a m e   c o m p o s i t i o n
-	const Frame* referenceFrame_;
-};
-
-} // namespace qglviewer
-
-#endif // QGLVIEWER_FRAME_H
diff --git a/SRC/QGLViewer/QGLViewer/keyFrameInterpolator.cpp b/SRC/QGLViewer/QGLViewer/keyFrameInterpolator.cpp
deleted file mode 100644
index 480774b..0000000
--- a/SRC/QGLViewer/QGLViewer/keyFrameInterpolator.cpp
+++ /dev/null
@@ -1,714 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "domUtils.h"
-#include "qglviewer.h" // for QGLViewer::drawAxis and Camera::drawCamera
-
-using namespace qglviewer;
-using namespace std;
-
-/*! Creates a KeyFrameInterpolator, with \p frame as associated frame().
-
-  The frame() can be set or changed using setFrame().
-
-  interpolationTime(), interpolationSpeed() and interpolationPeriod() are set to their default
-  values. */
-KeyFrameInterpolator::KeyFrameInterpolator(Frame* frame)
-	: frame_(NULL), period_(40), interpolationTime_(0.0), interpolationSpeed_(1.0), interpolationStarted_(false),
-	  closedPath_(false), loopInterpolation_(false), pathIsValid_(false), valuesAreValid_(true), currentFrameValid_(false)
-	// #CONNECTION# Values cut pasted initFromDOMElement()
-{
-	setFrame(frame);
-	for (int i=0; i<4; ++i)
-		currentFrame_[i] = new QMutableListIterator<KeyFrame*>(keyFrame_);
-	connect(&timer_, SIGNAL(timeout()), SLOT(update()));
-}
-
-/*! Virtual destructor. Clears the keyFrame path. */
-KeyFrameInterpolator::~KeyFrameInterpolator()
-{
-	deletePath();
-	for (int i=0; i<4; ++i)
-		delete currentFrame_[i];
-}
-
-/*! Sets the frame() associated to the KeyFrameInterpolator. */
-void KeyFrameInterpolator::setFrame(Frame* const frame)
-{
-	if (this->frame())
-		disconnect(this, SIGNAL( interpolated() ), this->frame(), SIGNAL( interpolated() ));
-
-	frame_ = frame;
-
-	if (this->frame())
-		connect(this, SIGNAL( interpolated() ), this->frame(), SIGNAL( interpolated() ));
-}
-
-/*! Updates frame() state according to current interpolationTime(). Then adds
-  interpolationPeriod()*interpolationSpeed() to interpolationTime().
-
-  This internal method is called by a timer when interpolationIsStarted(). It can be used for
-  debugging purpose. stopInterpolation() is called when interpolationTime() reaches firstTime() or
-  lastTime(), unless loopInterpolation() is \c true. */
-void KeyFrameInterpolator::update()
-{
-	interpolateAtTime(interpolationTime());
-
-	interpolationTime_ += interpolationSpeed() * interpolationPeriod() / 1000.0;
-
-	if (interpolationTime() > keyFrame_.last()->time())
-	{
-		if (loopInterpolation())
-			setInterpolationTime(keyFrame_.first()->time() + interpolationTime_ - keyFrame_.last()->time());
-		else
-		{
-			// Make sure last KeyFrame is reached and displayed
-			interpolateAtTime(keyFrame_.last()->time());
-			stopInterpolation();
-		}
-		Q_EMIT endReached();
-	}
-	else
-		if (interpolationTime() < keyFrame_.first()->time())
-		{
-			if (loopInterpolation())
-				setInterpolationTime(keyFrame_.last()->time() - keyFrame_.first()->time() + interpolationTime_);
-			else
-			{
-				// Make sure first KeyFrame is reached and displayed
-				interpolateAtTime(keyFrame_.first()->time());
-				stopInterpolation();
-			}
-			Q_EMIT endReached();
-		}
-}
-
-
-/*! Starts the interpolation process.
-
-  A timer is started with an interpolationPeriod() period that updates the frame()'s position and
-  orientation. interpolationIsStarted() will return \c true until stopInterpolation() or
-  toggleInterpolation() is called.
-
-  If \p period is positive, it is set as the new interpolationPeriod(). The previous
-  interpolationPeriod() is used otherwise (default).
-
-  If interpolationTime() is larger than lastTime(), interpolationTime() is reset to firstTime()
-  before interpolation starts (and inversely for negative interpolationSpeed()).
-
-  Use setInterpolationTime() before calling this method to change the starting interpolationTime().
-
-  See the <a href="../examples/keyFrames.html">keyFrames example</a> for an illustration.
-
-  You may also be interested in QGLViewer::animate() and QGLViewer::startAnimation().
-
-  \attention The keyFrames must be defined (see addKeyFrame()) \e before you startInterpolation(),
-  or else the interpolation will naturally immediately stop. */
-void KeyFrameInterpolator::startInterpolation(int period)
-{
-	if (period >= 0)
-		setInterpolationPeriod(period);
-
-	if (!keyFrame_.isEmpty())
-	{
-		if ((interpolationSpeed() > 0.0) && (interpolationTime() >= keyFrame_.last()->time()))
-			setInterpolationTime(keyFrame_.first()->time());
-		if ((interpolationSpeed() < 0.0) && (interpolationTime() <= keyFrame_.first()->time()))
-			setInterpolationTime(keyFrame_.last()->time());
-		timer_.start(interpolationPeriod());
-		interpolationStarted_ = true;
-		update();
-	}
-}
-
-
-/*! Stops an interpolation started with startInterpolation(). See interpolationIsStarted() and toggleInterpolation(). */
-void KeyFrameInterpolator::stopInterpolation()
-{
-	timer_.stop();
-	interpolationStarted_ = false;
-}
-
-
-/*! Stops the interpolation and resets interpolationTime() to the firstTime().
-
-If desired, call interpolateAtTime() after this method to actually move the frame() to
-firstTime(). */
-void KeyFrameInterpolator::resetInterpolation()
-{
-	stopInterpolation();
-	setInterpolationTime(firstTime());
-}
-
-/*! Appends a new keyFrame to the path, with its associated \p time (in seconds).
-
-  The keyFrame is given as a pointer to a Frame, which will be connected to the
-  KeyFrameInterpolator: when \p frame is modified, the KeyFrameInterpolator path is updated
-  accordingly. This allows for dynamic paths, where keyFrame can be edited, even during the
-  interpolation. See the <a href="../examples/keyFrames.html">keyFrames example</a> for an
-  illustration.
-
-  \c NULL \p frame pointers are silently ignored. The keyFrameTime() has to be monotonously
-  increasing over keyFrames.
-
-  Use addKeyFrame(const Frame&, qreal) to add keyFrame by values. */
-void KeyFrameInterpolator::addKeyFrame(const Frame* const frame, qreal time)
-{
-	if (!frame)
-		return;
-
-	if (keyFrame_.isEmpty())
-		interpolationTime_ = time;
-
-	if ( (!keyFrame_.isEmpty()) && (keyFrame_.last()->time() > time) )
-		qWarning("Error in KeyFrameInterpolator::addKeyFrame: time is not monotone");
-	else
-		keyFrame_.append(new KeyFrame(frame, time));
-	connect(frame, SIGNAL(modified()), SLOT(invalidateValues()));
-	valuesAreValid_ = false;
-	pathIsValid_ = false;
-	currentFrameValid_ = false;
-	resetInterpolation();
-}
-
-/*! Appends a new keyFrame to the path, with its associated \p time (in seconds).
-
-  The path will use the current \p frame state. If you want the path to change when \p frame is
-  modified, you need to pass a \e pointer to the Frame instead (see addKeyFrame(const Frame*,
-  qreal)).
-
-  The keyFrameTime() have to be monotonously increasing over keyFrames. */
-void KeyFrameInterpolator::addKeyFrame(const Frame& frame, qreal time)
-{
-	if (keyFrame_.isEmpty())
-		interpolationTime_ = time;
-
-	if ( (!keyFrame_.isEmpty()) && (keyFrame_.last()->time() > time) )
-		qWarning("Error in KeyFrameInterpolator::addKeyFrame: time is not monotone");
-	else
-		keyFrame_.append(new KeyFrame(frame, time));
-
-	valuesAreValid_ = false;
-	pathIsValid_ = false;
-	currentFrameValid_ = false;
-	resetInterpolation();
-}
-
-
-/*! Appends a new keyFrame to the path.
-
- Same as addKeyFrame(const Frame* frame, qreal), except that the keyFrameTime() is set to the
- previous keyFrameTime() plus one second (or 0.0 if there is no previous keyFrame). */
-void KeyFrameInterpolator::addKeyFrame(const Frame* const frame)
-{
-	qreal time;
-	if (keyFrame_.isEmpty())
-		time = 0.0;
-	else
-		time = lastTime() + 1.0;
-
-	addKeyFrame(frame, time);
-}
-
-/*! Appends a new keyFrame to the path.
-
- Same as addKeyFrame(const Frame& frame, qreal), except that the keyFrameTime() is automatically set
- to previous keyFrameTime() plus one second (or 0.0 if there is no previous keyFrame). */
-void KeyFrameInterpolator::addKeyFrame(const Frame& frame)
-{
-	qreal time;
-	if (keyFrame_.isEmpty())
-		time = 0.0;
-	else
-		time = keyFrame_.last()->time() + 1.0;
-
-	addKeyFrame(frame, time);
-}
-
-/*! Removes all keyFrames from the path. The numberOfKeyFrames() is set to 0. */
-void KeyFrameInterpolator::deletePath()
-{
-	stopInterpolation();
-	qDeleteAll(keyFrame_);
-	keyFrame_.clear();
-	pathIsValid_ = false;
-	valuesAreValid_ = false;
-	currentFrameValid_ = false;
-}
-
-static void drawCamera(qreal scale)
-{
-	glDisable(GL_LIGHTING);
-
-	const qreal halfHeight = scale * 0.07;
-	const qreal halfWidth  = halfHeight * 1.3;
-	const qreal dist = halfHeight / tan(qreal(M_PI)/8.0);
-
-	const qreal arrowHeight    = 1.5 * halfHeight;
-	const qreal baseHeight     = 1.2 * halfHeight;
-	const qreal arrowHalfWidth = 0.5 * halfWidth;
-	const qreal baseHalfWidth  = 0.3 * halfWidth;
-
-	// Frustum outline
-	glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
-	glBegin(GL_LINE_STRIP);
-	glVertex3d(-halfWidth, halfHeight,-dist);
-	glVertex3d(-halfWidth,-halfHeight,-dist);
-	glVertex3d( 0.0, 0.0, 0.0);
-	glVertex3d( halfWidth,-halfHeight,-dist);
-	glVertex3d(-halfWidth,-halfHeight,-dist);
-	glEnd();
-	glBegin(GL_LINE_STRIP);
-	glVertex3d( halfWidth,-halfHeight,-dist);
-	glVertex3d( halfWidth, halfHeight,-dist);
-	glVertex3d( 0.0, 0.0, 0.0);
-	glVertex3d(-halfWidth, halfHeight,-dist);
-	glVertex3d( halfWidth, halfHeight,-dist);
-	glEnd();
-
-	// Up arrow
-	glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
-	// Base
-	glBegin(GL_QUADS);
-	glVertex3d(-baseHalfWidth, halfHeight,-dist);
-	glVertex3d( baseHalfWidth, halfHeight,-dist);
-	glVertex3d( baseHalfWidth, baseHeight,-dist);
-	glVertex3d(-baseHalfWidth, baseHeight,-dist);
-	glEnd();
-
-	// Arrow
-	glBegin(GL_TRIANGLES);
-	glVertex3d( 0.0,           arrowHeight,-dist);
-	glVertex3d(-arrowHalfWidth, baseHeight, -dist);
-	glVertex3d( arrowHalfWidth, baseHeight, -dist);
-	glEnd();
-}
-
-/*! Draws the path used to interpolate the frame().
-
-  \p mask controls what is drawn: if (mask & 1) (default), the position path is drawn. If (mask &
-  2), a camera representation is regularly drawn and if (mask & 4), an oriented axis is regularly
-  drawn. Examples:
-
-  \code
-  drawPath();  // Simply draws the interpolation path
-  drawPath(3); // Draws path and cameras
-  drawPath(5); // Draws path and axis
-  \endcode
-
-  In the case where camera or axis is drawn, \p nbFrames controls the number of objects (axis or
-  camera) drawn between two successive keyFrames. When \p nbFrames=1, only the path KeyFrames are
-  drawn. \p nbFrames=2 also draws the intermediate orientation, etc. The maximum value is 30. \p
-  nbFrames should divide 30 so that an object is drawn for each KeyFrame. Default value is 6.
-
-  \p scale (default=1.0) controls the scaling of the camera and axis drawing. A value of
-  QGLViewer::sceneRadius() should give good results.
-
-  See the <a href="../examples/keyFrames.html">keyFrames example</a> for an illustration.
-
-  The color of the path is the current \c glColor().
-
-  \attention The OpenGL state is modified by this method: GL_LIGHTING is disabled and line width set
-  to 2. Use this code to preserve your current OpenGL state:
-  \code
-  glPushAttrib(GL_ALL_ATTRIB_BITS);
-  drawPathModifyGLState(mask, nbFrames, scale);
-  glPopAttrib();
-  \endcode */
-void KeyFrameInterpolator::drawPath(int mask, int nbFrames, qreal scale)
-{
-	const int nbSteps = 30;
-	if (!pathIsValid_)
-	{
-		path_.clear();
-
-		if (keyFrame_.isEmpty())
-			return;
-
-		if (!valuesAreValid_)
-			updateModifiedFrameValues();
-
-		if (keyFrame_.first() == keyFrame_.last())
-			path_.push_back(Frame(keyFrame_.first()->position(), keyFrame_.first()->orientation()));
-		else
-		{
-			static Frame fr;
-			KeyFrame* kf_[4];
-			kf_[0] = keyFrame_.first();
-			kf_[1] = kf_[0];
-			int index = 1;
-			kf_[2] = (index < keyFrame_.size()) ? keyFrame_.at(index) : NULL;
-			index++;
-			kf_[3] = (index < keyFrame_.size()) ? keyFrame_.at(index) : NULL;
-
-			while (kf_[2])
-			{
-				Vec diff = kf_[2]->position() - kf_[1]->position();
-				Vec v1 = 3.0 * diff - 2.0 * kf_[1]->tgP() - kf_[2]->tgP();
-				Vec v2 = -2.0 * diff + kf_[1]->tgP() + kf_[2]->tgP();
-
-				// cout << kf_[0]->time() << " , " << kf_[1]->time() << " , " << kf_[2]->time() << " , " << kf_[3]->time() << endl;
-				for (int step=0; step<nbSteps; ++step)
-				{
-					qreal alpha = step / static_cast<qreal>(nbSteps);
-					fr.setPosition(kf_[1]->position() + alpha * (kf_[1]->tgP() + alpha * (v1+alpha*v2)));
-					fr.setOrientation(Quaternion::squad(kf_[1]->orientation(), kf_[1]->tgQ(), kf_[2]->tgQ(), kf_[2]->orientation(), alpha));
-					path_.push_back(fr);
-				}
-
-				// Shift
-				kf_[0] = kf_[1];
-				kf_[1] = kf_[2];
-				kf_[2] = kf_[3];
-				index++;
-				kf_[3] = (index < keyFrame_.size()) ? keyFrame_.at(index) : NULL;
-			}
-			// Add last KeyFrame
-			path_.push_back(Frame(kf_[1]->position(), kf_[1]->orientation()));
-		}
-		pathIsValid_ = true;
-	}
-
-	if (mask)
-	{
-		glDisable(GL_LIGHTING);
-		glLineWidth(2);
-
-		if (mask & 1)
-		{
-			glBegin(GL_LINE_STRIP);
-			Q_FOREACH (Frame fr, path_)
-				glVertex3fv(fr.position());
-			glEnd();
-		}
-		if (mask & 6)
-		{
-			int count = 0;
-			if (nbFrames > nbSteps)
-				nbFrames = nbSteps;
-			qreal goal = 0.0;
-			Q_FOREACH (Frame fr, path_)
-				if ((count++) >= goal)
-				{
-					goal += nbSteps / static_cast<qreal>(nbFrames);
-					glPushMatrix();
-					glMultMatrixd(fr.matrix());
-					if (mask & 2) drawCamera(scale);
-					if (mask & 4) QGLViewer::drawAxis(scale/10.0);
-					glPopMatrix();
-				}
-		}
-	}
-}
-
-void KeyFrameInterpolator::updateModifiedFrameValues()
-{
-	Quaternion prevQ = keyFrame_.first()->orientation();
-	KeyFrame* kf;
-	for (int i=0; i<keyFrame_.size(); ++i)
-	{
-		kf = keyFrame_.at(i);
-		if (kf->frame())
-			kf->updateValuesFromPointer();
-		kf->flipOrientationIfNeeded(prevQ);
-		prevQ = kf->orientation();
-	}
-
-	KeyFrame* prev = keyFrame_.first();
-	kf = keyFrame_.first();
-	int index = 1;
-	while (kf)
-	{
-		KeyFrame* next = (index < keyFrame_.size()) ? keyFrame_.at(index) : NULL;
-		index++;
-		if (next)
-			kf->computeTangent(prev, next);
-		else
-			kf->computeTangent(prev, kf);
-		prev = kf;
-		kf = next;
-	}
-	valuesAreValid_ = true;
-}
-
-/*! Returns the Frame associated with the keyFrame at index \p index.
-
- See also keyFrameTime(). \p index has to be in the range 0..numberOfKeyFrames()-1.
-
- \note If this keyFrame was defined using a pointer to a Frame (see addKeyFrame(const Frame*
-  const)), the \e current pointed Frame state is returned. */
-Frame KeyFrameInterpolator::keyFrame(int index) const
-{
-	const KeyFrame* const kf = keyFrame_.at(index);
-	return Frame(kf->position(), kf->orientation());
-}
-
-/*! Returns the time corresponding to the \p index keyFrame.
-
- See also keyFrame(). \p index has to be in the range 0..numberOfKeyFrames()-1. */
-qreal KeyFrameInterpolator::keyFrameTime(int index) const
-{
-	return keyFrame_.at(index)->time();
-}
-
-/*! Returns the duration of the KeyFrameInterpolator path, expressed in seconds.
-
- Simply corresponds to lastTime() - firstTime(). Returns 0.0 if the path has less than 2 keyFrames.
- See also keyFrameTime(). */
-qreal KeyFrameInterpolator::duration() const
-{
-	return lastTime() - firstTime();
-}
-
-/*! Returns the time corresponding to the first keyFrame, expressed in seconds.
-
-Returns 0.0 if the path is empty. See also lastTime(), duration() and keyFrameTime(). */
-qreal KeyFrameInterpolator::firstTime() const
-{
-	if (keyFrame_.isEmpty())
-		return 0.0;
-	else
-		return keyFrame_.first()->time();
-}
-
-/*! Returns the time corresponding to the last keyFrame, expressed in seconds.
-
-Returns 0.0 if the path is empty. See also firstTime(), duration() and keyFrameTime(). */
-qreal KeyFrameInterpolator::lastTime() const
-{
-	if (keyFrame_.isEmpty())
-		return 0.0;
-	else
-		return keyFrame_.last()->time();
-}
-
-void KeyFrameInterpolator::updateCurrentKeyFrameForTime(qreal time)
-{
-	// Assertion: times are sorted in monotone order.
-	// Assertion: keyFrame_ is not empty
-
-	// TODO: Special case for loops when closed path is implemented !!
-	if (!currentFrameValid_)
-		// Recompute everything from scrach
-		currentFrame_[1]->toFront();
-
-	while (currentFrame_[1]->peekNext()->time() > time)
-	{
-		currentFrameValid_ = false;
-		if (!currentFrame_[1]->hasPrevious())
-			break;
-		currentFrame_[1]->previous();
-	}
-
-	if (!currentFrameValid_)
-		*currentFrame_[2] = *currentFrame_[1];
-
-	while (currentFrame_[2]->peekNext()->time() < time)
-	{
-		currentFrameValid_ = false;
-		if (!currentFrame_[2]->hasNext())
-			break;
-		currentFrame_[2]->next();
-	}
-
-	if (!currentFrameValid_)
-	{
-		*currentFrame_[1] = *currentFrame_[2];
-		if ((currentFrame_[1]->hasPrevious()) && (time < currentFrame_[2]->peekNext()->time()))
-			currentFrame_[1]->previous();
-
-		*currentFrame_[0] = *currentFrame_[1];
-		if (currentFrame_[0]->hasPrevious())
-			currentFrame_[0]->previous();
-
-		*currentFrame_[3] = *currentFrame_[2];
-		if (currentFrame_[3]->hasNext())
-			currentFrame_[3]->next();
-
-		currentFrameValid_ = true;
-		splineCacheIsValid_ = false;
-	}
-
-	// cout << "Time = " << time << " : " << currentFrame_[0]->peekNext()->time() << " , " <<
-	// currentFrame_[1]->peekNext()->time() << " , " << currentFrame_[2]->peekNext()->time() << " , " <<  currentFrame_[3]->peekNext()->time() << endl;
-}
-
-void KeyFrameInterpolator::updateSplineCache()
-{
-	Vec delta = currentFrame_[2]->peekNext()->position() - currentFrame_[1]->peekNext()->position();
-	v1 = 3.0 * delta - 2.0 * currentFrame_[1]->peekNext()->tgP() - currentFrame_[2]->peekNext()->tgP();
-	v2 = -2.0 * delta + currentFrame_[1]->peekNext()->tgP() + currentFrame_[2]->peekNext()->tgP();
-	splineCacheIsValid_ = true;
-}
-
-/*! Interpolate frame() at time \p time (expressed in seconds). interpolationTime() is set to \p
-  time and frame() is set accordingly.
-
-  If you simply want to change interpolationTime() but not the frame() state, use
-  setInterpolationTime() instead.
-
-  Emits the interpolated() signal and makes the frame() emit the Frame::interpolated() signal. */
-void KeyFrameInterpolator::interpolateAtTime(qreal time)
-{
-	setInterpolationTime(time);
-
-	if ((keyFrame_.isEmpty()) || (!frame()))
-		return;
-
-	if (!valuesAreValid_)
-		updateModifiedFrameValues();
-
-	updateCurrentKeyFrameForTime(time);
-
-	if (!splineCacheIsValid_)
-		updateSplineCache();
-
-	qreal alpha;
-	qreal dt = currentFrame_[2]->peekNext()->time() - currentFrame_[1]->peekNext()->time();
-	if (dt == 0.0)
-		alpha = 0.0;
-	else
-		alpha = (time - currentFrame_[1]->peekNext()->time()) / dt;
-
-	// Linear interpolation - debug
-	// Vec pos = alpha*(currentFrame_[2]->peekNext()->position()) + (1.0-alpha)*(currentFrame_[1]->peekNext()->position());
-	Vec pos = currentFrame_[1]->peekNext()->position() + alpha * (currentFrame_[1]->peekNext()->tgP() + alpha * (v1+alpha*v2));
-	Quaternion q = Quaternion::squad(currentFrame_[1]->peekNext()->orientation(), currentFrame_[1]->peekNext()->tgQ(),
-			currentFrame_[2]->peekNext()->tgQ(), currentFrame_[2]->peekNext()->orientation(), alpha);
-	frame()->setPositionAndOrientationWithConstraint(pos, q);
-
-	Q_EMIT interpolated();
-}
-
-/*! Returns an XML \c QDomElement that represents the KeyFrameInterpolator.
-
- The resulting QDomElement holds the KeyFrameInterpolator parameters as well as the path keyFrames
- (if the keyFrame is defined by a pointer to a Frame, use its current value).
-
- \p name is the name of the QDomElement tag. \p doc is the \c QDomDocument factory used to create
- QDomElement.
-
- Use initFromDOMElement() to restore the ManipulatedFrame state from the resulting QDomElement.
-
- See Vec::domElement() for a complete example. See also Quaternion::domElement(),
- Camera::domElement()...
-
- Note that the Camera::keyFrameInterpolator() are automatically saved by QGLViewer::saveStateToFile()
- when a QGLViewer is closed. */
-QDomElement KeyFrameInterpolator::domElement(const QString& name, QDomDocument& document) const
-{
-	QDomElement de = document.createElement(name);
-	int count = 0;
-	Q_FOREACH (KeyFrame* kf, keyFrame_)
-	{
-		Frame fr(kf->position(), kf->orientation());
-		QDomElement kfNode = fr.domElement("KeyFrame", document);
-		kfNode.setAttribute("index", QString::number(count));
-		kfNode.setAttribute("time",  QString::number(kf->time()));
-		de.appendChild(kfNode);
-		++count;
-	}
-	de.setAttribute("nbKF", QString::number(keyFrame_.count()));
-	de.setAttribute("time", QString::number(interpolationTime()));
-	de.setAttribute("speed", QString::number(interpolationSpeed()));
-	de.setAttribute("period", QString::number(interpolationPeriod()));
-	DomUtils::setBoolAttribute(de, "closedPath", closedPath());
-	DomUtils::setBoolAttribute(de, "loop", loopInterpolation());
-	return de;
-}
-
-/*! Restores the KeyFrameInterpolator state from a \c QDomElement created by domElement().
-
- Note that the frame() pointer is not included in the domElement(): you need to setFrame() after
- this method to attach a Frame to the KeyFrameInterpolator.
-
- See Vec::initFromDOMElement() for a complete code example.
-
- See also Camera::initFromDOMElement() and Frame::initFromDOMElement(). */
-void KeyFrameInterpolator::initFromDOMElement(const QDomElement& element)
-{
-	qDeleteAll(keyFrame_);
-	keyFrame_.clear();
-	QDomElement child=element.firstChild().toElement();
-	while (!child.isNull())
-	{
-		if (child.tagName() == "KeyFrame")
-		{
-			Frame fr;
-			fr.initFromDOMElement(child);
-			qreal time = DomUtils::qrealFromDom(child, "time", 0.0);
-			addKeyFrame(fr, time);
-		}
-
-		child = child.nextSibling().toElement();
-	}
-
-	// #CONNECTION# Values cut pasted from constructor
-	setInterpolationTime(DomUtils::qrealFromDom(element, "time", 0.0));
-	setInterpolationSpeed(DomUtils::qrealFromDom(element, "speed", 1.0));
-	setInterpolationPeriod(DomUtils::intFromDom(element, "period", 40));
-	setClosedPath(DomUtils::boolFromDom(element, "closedPath", false));
-	setLoopInterpolation(DomUtils::boolFromDom(element, "loop", false));
-
-	// setFrame(NULL);
-	pathIsValid_ = false;
-	valuesAreValid_ = false;
-	currentFrameValid_ = false;
-
-	stopInterpolation();
-}
-
-#ifndef DOXYGEN
-
-//////////// KeyFrame private class implementation /////////
-KeyFrameInterpolator::KeyFrame::KeyFrame(const Frame& fr, qreal t)
-	: time_(t), frame_(NULL)
-{
-	p_ = fr.position();
-	q_ = fr.orientation();
-}
-
-KeyFrameInterpolator::KeyFrame::KeyFrame(const Frame* fr, qreal t)
-	: time_(t), frame_(fr)
-{
-	updateValuesFromPointer();
-}
-
-void KeyFrameInterpolator::KeyFrame::updateValuesFromPointer()
-{
-	p_ = frame()->position();
-	q_ = frame()->orientation();
-}
-
-void KeyFrameInterpolator::KeyFrame::computeTangent(const KeyFrame* const prev, const KeyFrame* const next)
-{
-	tgP_ = 0.5 * (next->position() - prev->position());
-	tgQ_ = Quaternion::squadTangent(prev->orientation(), q_, next->orientation());
-}
-
-void KeyFrameInterpolator::KeyFrame::flipOrientationIfNeeded(const Quaternion& prev)
-{
-	if (Quaternion::dot(prev, q_) < 0.0)
-		q_.negate();
-}
-
-#endif //DOXYGEN
diff --git a/SRC/QGLViewer/QGLViewer/keyFrameInterpolator.h b/SRC/QGLViewer/QGLViewer/keyFrameInterpolator.h
deleted file mode 100644
index 100cd2f..0000000
--- a/SRC/QGLViewer/QGLViewer/keyFrameInterpolator.h
+++ /dev/null
@@ -1,357 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef QGLVIEWER_KEY_FRAME_INTERPOLATOR_H
-#define QGLVIEWER_KEY_FRAME_INTERPOLATOR_H
-
-#include <QObject>
-#include <QTimer>
-
-#include "quaternion.h"
-// Not actually needed, but some bad compilers (Microsoft VS6) complain.
-#include "frame.h"
-
-// If you compiler complains about incomplete type, uncomment the next line
-// #include "frame.h"
-// and comment "class Frame;" 3 lines below
-
-namespace qglviewer {
-class Camera;
-class Frame;
-/*! \brief A keyFrame Catmull-Rom Frame interpolator.
-  \class KeyFrameInterpolator keyFrameInterpolator.h QGLViewer/keyFrameInterpolator.h
-
-  A KeyFrameInterpolator holds keyFrames (that define a path) and a pointer to a Frame of your
-  application (which will be interpolated). When the user startInterpolation(), the
-  KeyFrameInterpolator regularly updates the frame() position and orientation along the path.
-
-  Here is a typical utilization example (see also the <a href="../examples/keyFrames.html">keyFrames
-  example</a>):
-  \code
-
-
-  init()
-  {
-	// The KeyFrameInterpolator kfi is given the Frame that it will drive over time.
-	kfi = new KeyFrameInterpolator( new Frame() );
-	kfi->addKeyFrame( Frame( Vec(1,0,0), Quaternion() ) );
-	kfi->addKeyFrame( new Frame( Vec(2,1,0), Quaternion() ) );
-	// ...and so on for all the keyFrames.
-
-	// Ask for a display update after each update of the KeyFrameInterpolator
-	connect(kfi, SIGNAL(interpolated()), SLOT(update()));
-
-	kfi->startInterpolation();
-  }
-
-  draw()
-  {
-	glPushMatrix();
-	glMultMatrixd( kfi->frame()->matrix() );
-	// Draw your object here. Its position and orientation are interpolated.
-	glPopMatrix();
-  }
-  \endcode
-
-  The keyFrames are defined by a Frame and a time, expressed in seconds. The Frame can be provided
-  as a const reference or as a pointer to a Frame (see the addKeyFrame() methods). In the latter
-  case, the path will automatically be updated when the Frame is modified (using the
-  Frame::modified() signal).
-
-  The time has to be monotonously increasing over keyFrames. When interpolationSpeed() equals 1.0
-  (default value), these times correspond to actual user's seconds during interpolation (provided
-  that your main loop is fast enough). The interpolation is then real-time: the keyFrames will be
-  reached at their keyFrameTime().
-
-  <h3>Interpolation details</h3>
-
-  When the user startInterpolation(), a timer is started which will update the frame()'s position
-  and orientation every interpolationPeriod() milliseconds. This update increases the
-  interpolationTime() by interpolationPeriod() * interpolationSpeed() milliseconds.
-
-  Note that this mechanism ensures that the number of interpolation steps is constant and equal to
-  the total path duration() divided by the interpolationPeriod() * interpolationSpeed(). This is
-  especially useful for benchmarking or movie creation (constant number of snapshots).
-
-  During the interpolation, the KeyFrameInterpolator emits an interpolated() signal, which will
-  usually be connected to the QGLViewer::update() slot. The interpolation is stopped when
-  interpolationTime() is greater than the lastTime() (unless loopInterpolation() is \c true) and the
-  endReached() signal is then emitted.
-
-  Note that a Camera has Camera::keyFrameInterpolator(), that can be used to drive the Camera along a
-  path, or to restore a saved position (a path made of a single keyFrame). Press Alt+Fx to define a
-  new keyFrame for path x. Pressing Fx plays/pauses path interpolation. See QGLViewer::pathKey() and
-  the <a href="../keyboard.html">keyboard page</a> for details.
-
-  \attention If a Constraint is attached to the frame() (see Frame::constraint()), it should be
-  deactivated before interpolationIsStarted(), otherwise the interpolated motion (computed as if
-  there was no constraint) will probably be erroneous.
-
-  <h3>Retrieving interpolated values</h3>
-
-  This code defines a KeyFrameInterpolator, and displays the positions that will be followed by the
-  frame() along the path:
-  \code
-  KeyFrameInterpolator kfi( new Frame() );
-  // calls to kfi.addKeyFrame() to define the path.
-
-  const qreal deltaTime = 0.04; // output a position every deltaTime seconds
-  for (qreal time=kfi.firstTime(); time<=kfi.lastTime(); time += deltaTime)
-  {
-	kfi.interpolateAtTime(time);
-	cout << "t=" << time << "\tpos=" << kfi.frame()->position() << endl;
-  }
-  \endcode
-  You may want to temporally disconnect the \c kfi interpolated() signal from the
-  QGLViewer::update() slot before calling this code. \nosubgrouping */
-class QGLVIEWER_EXPORT KeyFrameInterpolator : public QObject
-{
-	// todo closedPath, insertKeyFrames, deleteKeyFrame, replaceKeyFrame
-	Q_OBJECT
-
-public:
-	KeyFrameInterpolator(Frame* fr=NULL);
-	virtual ~KeyFrameInterpolator();
-
-Q_SIGNALS:
-	/*! This signal is emitted whenever the frame() state is interpolated.
-
-	The emission of this signal triggers the synchronous emission of the frame()
-	Frame::interpolated() signal, which may also be useful.
-
-	This signal should especially be connected to your QGLViewer::update() slot, so that the display
-	is updated after every update of the KeyFrameInterpolator frame():
-	\code
-	connect(myKeyFrameInterpolator, SIGNAL(interpolated()), SLOT(update()));
-	\endcode
-	Use the QGLViewer::QGLViewerPool() to connect the signal to all the viewers.
-
-	Note that the QGLViewer::camera() Camera::keyFrameInterpolator() created using QGLViewer::pathKey()
-	have their interpolated() signals automatically connected to the QGLViewer::update() slot. */
-	void interpolated();
-
-	/*! This signal is emitted when the interpolation reaches the first (when interpolationSpeed()
-	  is negative) or the last keyFrame.
-
-	When loopInterpolation() is \c true, interpolationTime() is reset and the interpolation
-	continues. It otherwise stops. */
-	void endReached();
-
-	/*! @name Path creation */
-	//@{
-public Q_SLOTS:
-	void addKeyFrame(const Frame& frame);
-	void addKeyFrame(const Frame& frame, qreal time);
-
-	void addKeyFrame(const Frame* const frame);
-	void addKeyFrame(const Frame* const frame, qreal time);
-
-	void deletePath();
-	//@}
-
-	/*! @name Associated Frame */
-	//@{
-public:
-	/*! Returns the associated Frame and that is interpolated by the KeyFrameInterpolator.
-
-	When interpolationIsStarted(), this Frame's position and orientation will regularly be updated
-	by a timer, so that they follow the KeyFrameInterpolator path.
-
-	Set using setFrame() or with the KeyFrameInterpolator constructor. */
-	Frame* frame() const { return frame_; }
-
-public Q_SLOTS:
-	void setFrame(Frame* const frame);
-	//@}
-
-	/*! @name Path parameters */
-	//@{
-public:
-	Frame keyFrame(int index) const;
-	qreal keyFrameTime(int index) const;
-	/*! Returns the number of keyFrames used by the interpolation. Use addKeyFrame() to add new keyFrames. */
-	int numberOfKeyFrames() const { return keyFrame_.count(); }
-	qreal duration() const;
-	qreal firstTime() const;
-	qreal lastTime() const;
-	//@}
-
-	/*! @name Interpolation parameters */
-	//@{
-public:
-	/*! Returns the current interpolation time (in seconds) along the KeyFrameInterpolator path.
-
-	This time is regularly updated when interpolationIsStarted(). Can be set directly with
-	setInterpolationTime() or interpolateAtTime(). */
-	qreal interpolationTime() const { return interpolationTime_; }
-	/*! Returns the current interpolation speed.
-
-	Default value is 1.0, which means keyFrameTime() will be matched during the interpolation
-	(provided that your main loop is fast enough).
-
-	A negative value will result in a reverse interpolation of the keyFrames. See also
-	interpolationPeriod(). */
-	qreal interpolationSpeed() const { return interpolationSpeed_; }
-	/*! Returns the current interpolation period, expressed in milliseconds.
-
-	The update of the frame() state will be done by a timer at this period when
-	interpolationIsStarted().
-
-	This period (multiplied by interpolationSpeed()) is added to the interpolationTime() at each
-	update, and the frame() state is modified accordingly (see interpolateAtTime()). Default value
-	is 40 milliseconds. */
-	int interpolationPeriod() const { return period_; }
-	/*! Returns \c true when the interpolation is played in an infinite loop.
-
-	When \c false (default), the interpolation stops when interpolationTime() reaches firstTime()
-	(with negative interpolationSpeed()) or lastTime().
-
-	interpolationTime() is otherwise reset to firstTime() (+ interpolationTime() - lastTime()) (and
-	inversely for negative interpolationSpeed()) and interpolation continues.
-
-	In both cases, the endReached() signal is emitted. */
-	bool loopInterpolation() const { return loopInterpolation_; }
-#ifndef DOXYGEN
-	/*! Whether or not (default) the path defined by the keyFrames is a closed loop. When \c true,
-	the last and the first KeyFrame are linked by a new spline segment.
-
-	Use setLoopInterpolation() to create a continuous animation over the entire path.
-	\attention The closed path feature is not yet implemented. */
-	bool closedPath() const { return closedPath_; }
-#endif
-public Q_SLOTS:
-	/*! Sets the interpolationTime().
-
-	\attention The frame() state is not affected by this method. Use this function to define the
-	starting time of a future interpolation (see startInterpolation()). Use interpolateAtTime() to
-	actually interpolate at a given time. */
-	void setInterpolationTime(qreal time) { interpolationTime_ = time; }
-	/*! Sets the interpolationSpeed(). Negative or null values are allowed. */
-	void setInterpolationSpeed(qreal speed) { interpolationSpeed_ = speed; }
-	/*! Sets the interpolationPeriod(). */
-	void setInterpolationPeriod(int period) { period_ = period; }
-	/*! Sets the loopInterpolation() value. */
-	void setLoopInterpolation(bool loop=true) { loopInterpolation_ = loop; }
-#ifndef DOXYGEN
-	/*! Sets the closedPath() value. \attention The closed path feature is not yet implemented. */
-	void setClosedPath(bool closed=true) { closedPath_ = closed; }
-#endif
-	//@}
-
-
-	/*! @name Interpolation */
-	//@{
-public:
-	/*! Returns \c true when the interpolation is being performed. Use startInterpolation(),
-	stopInterpolation() or toggleInterpolation() to modify this state. */
-	bool interpolationIsStarted() const { return interpolationStarted_; }
-public Q_SLOTS:
-	void startInterpolation(int period = -1);
-	void stopInterpolation();
-	void resetInterpolation();
-	/*! Calls startInterpolation() or stopInterpolation(), depending on interpolationIsStarted(). */
-	void toggleInterpolation() { if (interpolationIsStarted()) stopInterpolation(); else startInterpolation(); }
-	virtual void interpolateAtTime(qreal time);
-	//@}
-
-	/*! @name Path drawing */
-	//@{
-public:
-	virtual void drawPath(int mask=1, int nbFrames=6, qreal scale=1.0);
-	//@}
-
-	/*! @name XML representation */
-	//@{
-public:
-	virtual QDomElement domElement(const QString& name, QDomDocument& document) const;
-	virtual void initFromDOMElement(const QDomElement& element);
-	//@}
-
-private Q_SLOTS:
-	virtual void update();
-	virtual void invalidateValues() { valuesAreValid_ = false; pathIsValid_ = false; splineCacheIsValid_ = false; }
-
-private:
-	// Copy constructor and opertor= are declared private and undefined
-	// Prevents everyone from trying to use them
-	// KeyFrameInterpolator(const KeyFrameInterpolator& kfi);
-	// KeyFrameInterpolator& operator=(const KeyFrameInterpolator& kfi);
-
-	void updateCurrentKeyFrameForTime(qreal time);
-	void updateModifiedFrameValues();
-	void updateSplineCache();
-
-#ifndef DOXYGEN
-	// Internal private KeyFrame representation
-	class KeyFrame
-	{
-	public:
-		KeyFrame(const Frame& fr, qreal t);
-		KeyFrame(const Frame* fr, qreal t);
-
-		Vec position() const { return p_; }
-		Quaternion orientation() const { return q_; }
-		Vec tgP() const { return tgP_; }
-		Quaternion tgQ() const { return tgQ_; }
-		qreal time() const { return time_; }
-		const Frame* frame() const { return frame_; }
-		void updateValuesFromPointer();
-		void flipOrientationIfNeeded(const Quaternion& prev);
-		void computeTangent(const KeyFrame* const prev, const KeyFrame* const next);
-	private:
-		Vec p_, tgP_;
-		Quaternion q_, tgQ_;
-		qreal time_;
-		const Frame* const frame_;
-	};
-#endif
-
-	// K e y F r a m e s
-	mutable QList<KeyFrame*> keyFrame_;
-	QMutableListIterator<KeyFrame*>* currentFrame_[4];
-	QList<Frame> path_;
-
-	// A s s o c i a t e d   f r a m e
-	Frame* frame_;
-
-	// R h y t h m
-	QTimer timer_;
-	int period_;
-	qreal interpolationTime_;
-	qreal interpolationSpeed_;
-	bool interpolationStarted_;
-
-	// M i s c
-	bool closedPath_;
-	bool loopInterpolation_;
-
-	// C a c h e d   v a l u e s   a n d   f l a g s
-	bool pathIsValid_;
-	bool valuesAreValid_;
-	bool currentFrameValid_;
-	bool splineCacheIsValid_;
-	Vec v1, v2;
-};
-
-} // namespace qglviewer
-
-#endif // QGLVIEWER_KEY_FRAME_INTERPOLATOR_H
diff --git a/SRC/QGLViewer/QGLViewer/manipulatedCameraFrame.cpp b/SRC/QGLViewer/QGLViewer/manipulatedCameraFrame.cpp
deleted file mode 100644
index 723b0f7..0000000
--- a/SRC/QGLViewer/QGLViewer/manipulatedCameraFrame.cpp
+++ /dev/null
@@ -1,469 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "domUtils.h"
-#include "manipulatedCameraFrame.h"
-#include "qglviewer.h"
-
-#include <QMouseEvent>
-
-using namespace qglviewer;
-using namespace std;
-
-/*! Default constructor.
-
- flySpeed() is set to 0.0 and sceneUpVector() is (0,1,0). The pivotPoint() is set to (0,0,0).
-
-  \attention Created object is removeFromMouseGrabberPool(). */
-ManipulatedCameraFrame::ManipulatedCameraFrame()
-	: driveSpeed_(0.0), sceneUpVector_(0.0, 1.0, 0.0), rotatesAroundUpVector_(false), zoomsOnPivotPoint_(false)
-{
-	setFlySpeed(0.0);
-	removeFromMouseGrabberPool();
-	connect(&flyTimer_, SIGNAL(timeout()), SLOT(flyUpdate()));
-}
-
-/*! Equal operator. Calls ManipulatedFrame::operator=() and then copy attributes. */
-ManipulatedCameraFrame& ManipulatedCameraFrame::operator=(const ManipulatedCameraFrame& mcf)
-{
-	ManipulatedFrame::operator=(mcf);
-
-	setFlySpeed(mcf.flySpeed());
-	setSceneUpVector(mcf.sceneUpVector());
-	setRotatesAroundUpVector(mcf.rotatesAroundUpVector_);
-	setZoomsOnPivotPoint(mcf.zoomsOnPivotPoint_);
-
-	return *this;
-}
-
-/*! Copy constructor. Performs a deep copy of all members using operator=(). */
-ManipulatedCameraFrame::ManipulatedCameraFrame(const ManipulatedCameraFrame& mcf)
-	: ManipulatedFrame(mcf)
-{
-	removeFromMouseGrabberPool();
-	connect(&flyTimer_, SIGNAL(timeout()), SLOT(flyUpdate()));
-	(*this)=(mcf);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Overloading of ManipulatedFrame::spin().
-
-Rotates the ManipulatedCameraFrame around its pivotPoint() instead of its origin. */
-void ManipulatedCameraFrame::spin()
-{
-	rotateAroundPoint(spinningQuaternion(), pivotPoint());
-}
-
-#ifndef DOXYGEN
-/*! Called for continuous frame motion in fly mode (see QGLViewer::MOVE_FORWARD). Emits
-  manipulated(). */
-void ManipulatedCameraFrame::flyUpdate()
-{
-	static Vec flyDisp(0.0, 0.0, 0.0);
-	switch (action_)
-	{
-		case QGLViewer::MOVE_FORWARD:
-			flyDisp.z = -flySpeed();
-			translate(localInverseTransformOf(flyDisp));
-			break;
-		case QGLViewer::MOVE_BACKWARD:
-			flyDisp.z = flySpeed();
-			translate(localInverseTransformOf(flyDisp));
-			break;
-		case QGLViewer::DRIVE:
-			flyDisp.z = flySpeed() * driveSpeed_;
-			translate(localInverseTransformOf(flyDisp));
-			break;
-		default:
-			break;
-	}
-
-	// Needs to be out of the switch since ZOOM/fastDraw()/wheelEvent use this callback to trigger a final draw().
-	// #CONNECTION# wheelEvent.
-	Q_EMIT manipulated();
-}
-
-Vec ManipulatedCameraFrame::flyUpVector() const {
-	qWarning("flyUpVector() is deprecated. Use sceneUpVector() instead.");
-	return sceneUpVector();
-}
-
-void ManipulatedCameraFrame::setFlyUpVector(const Vec& up) {
-	qWarning("setFlyUpVector() is deprecated. Use setSceneUpVector() instead.");
-	setSceneUpVector(up);
-}
-
-#endif
-
-/*! This method will be called by the Camera when its orientation is changed, so that the
-sceneUpVector (private) is changed accordingly. You should not need to call this method. */
-void ManipulatedCameraFrame::updateSceneUpVector()
-{
-	sceneUpVector_ = inverseTransformOf(Vec(0.0, 1.0, 0.0));
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//          S t a t e   s a v i n g   a n d   r e s t o r i n g               //
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Returns an XML \c QDomElement that represents the ManipulatedCameraFrame.
-
- Adds to the ManipulatedFrame::domElement() the ManipulatedCameraFrame specific informations in a \c
- ManipulatedCameraParameters child QDomElement.
-
- \p name is the name of the QDomElement tag. \p doc is the \c QDomDocument factory used to create
- QDomElement.
-
- Use initFromDOMElement() to restore the ManipulatedCameraFrame state from the resulting
- \c QDomElement.
-
- See Vec::domElement() for a complete example. See also Quaternion::domElement(),
- Frame::domElement(), Camera::domElement()... */
-QDomElement ManipulatedCameraFrame::domElement(const QString& name, QDomDocument& document) const
-{
-	QDomElement e = ManipulatedFrame::domElement(name, document);
-	QDomElement mcp = document.createElement("ManipulatedCameraParameters");
-	mcp.setAttribute("flySpeed", QString::number(flySpeed()));
-	DomUtils::setBoolAttribute(mcp, "rotatesAroundUpVector", rotatesAroundUpVector());
-	DomUtils::setBoolAttribute(mcp, "zoomsOnPivotPoint", zoomsOnPivotPoint());
-	mcp.appendChild(sceneUpVector().domElement("sceneUpVector", document));
-	e.appendChild(mcp);
-	return e;
-}
-
-/*! Restores the ManipulatedCameraFrame state from a \c QDomElement created by domElement().
-
-First calls ManipulatedFrame::initFromDOMElement() and then initializes ManipulatedCameraFrame
-specific parameters. */
-void ManipulatedCameraFrame::initFromDOMElement(const QDomElement& element)
-{
-	// No need to initialize, since default sceneUpVector and flySpeed are not meaningful.
-	// It's better to keep current ones. And it would destroy constraint() and referenceFrame().
-	// *this = ManipulatedCameraFrame();
-	ManipulatedFrame::initFromDOMElement(element);
-
-	QDomElement child=element.firstChild().toElement();
-	while (!child.isNull())
-	{
-		if (child.tagName() == "ManipulatedCameraParameters")
-		{
-			setFlySpeed(DomUtils::qrealFromDom(child, "flySpeed", flySpeed()));
-			setRotatesAroundUpVector(DomUtils::boolFromDom(child, "rotatesAroundUpVector", false));
-			setZoomsOnPivotPoint(DomUtils::boolFromDom(child, "zoomsOnPivotPoint", false));
-
-			QDomElement schild=child.firstChild().toElement();
-			while (!schild.isNull())
-			{
-				if (schild.tagName() == "sceneUpVector")
-					setSceneUpVector(Vec(schild));
-
-				schild = schild.nextSibling().toElement();
-			}
-		}
-		child = child.nextSibling().toElement();
-	}
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//                 M o u s e    h a n d l i n g                               //
-////////////////////////////////////////////////////////////////////////////////
-
-#ifndef DOXYGEN
-/*! Protected internal method used to handle mouse events. */
-void ManipulatedCameraFrame::startAction(int ma, bool withConstraint)
-{
-	ManipulatedFrame::startAction(ma, withConstraint);
-
-	switch (action_)
-	{
-		case QGLViewer::MOVE_FORWARD:
-		case QGLViewer::MOVE_BACKWARD:
-		case QGLViewer::DRIVE:
-			flyTimer_.setSingleShot(false);
-			flyTimer_.start(10);
-			break;
-		case QGLViewer::ROTATE:
-			constrainedRotationIsReversed_ = transformOf(sceneUpVector_).y < 0.0;
-			break;
-		default:
-			break;
-	}
-}
-
-void ManipulatedCameraFrame::zoom(qreal delta, const Camera * const camera) {
-	const qreal sceneRadius = camera->sceneRadius();
-	if (zoomsOnPivotPoint_) {
-		Vec direction = position() - camera->pivotPoint();
-		if (direction.norm() > 0.02 * sceneRadius || delta > 0.0)
-			translate(delta * direction);
-	} else {
-		const qreal coef = qMax(fabs((camera->frame()->coordinatesOf(camera->pivotPoint())).z), 0.2 * sceneRadius);
-		Vec trans(0.0, 0.0, -coef * delta);
-		translate(inverseTransformOf(trans));
-	}
-}
-
-#endif
-
-/*! Overloading of ManipulatedFrame::mouseMoveEvent().
-
-Motion depends on mouse binding (see <a href="../mouse.html">mouse page</a> for details). The
-resulting displacements are basically inverted from those of a ManipulatedFrame. */
-void ManipulatedCameraFrame::mouseMoveEvent(QMouseEvent* const event, Camera* const camera)
-{
-	// #CONNECTION# QGLViewer::mouseMoveEvent does the update().
-	switch (action_)
-	{
-		case QGLViewer::TRANSLATE:
-		{
-			const QPoint delta = prevPos_ - event->pos();
-			Vec trans(delta.x(), -delta.y(), 0.0);
-			// Scale to fit the screen mouse displacement
-			switch (camera->type())
-			{
-				case Camera::PERSPECTIVE :
-					trans *= 2.0 * tan(camera->fieldOfView()/2.0) *
-							fabs((camera->frame()->coordinatesOf(pivotPoint())).z) / camera->screenHeight();
-					break;
-				case Camera::ORTHOGRAPHIC :
-				{
-					GLdouble w,h;
-					camera->getOrthoWidthHeight(w, h);
-					trans[0] *= 2.0 * w / camera->screenWidth();
-					trans[1] *= 2.0 * h / camera->screenHeight();
-					break;
-				}
-			}
-			translate(inverseTransformOf(translationSensitivity()*trans));
-			break;
-		}
-
-		case QGLViewer::MOVE_FORWARD:
-		{
-			Quaternion rot = pitchYawQuaternion(event->x(), event->y(), camera);
-			rotate(rot);
-			//#CONNECTION# wheelEvent MOVE_FORWARD case
-			// actual translation is made in flyUpdate().
-			//translate(inverseTransformOf(Vec(0.0, 0.0, -flySpeed())));
-			break;
-		}
-
-		case QGLViewer::MOVE_BACKWARD:
-		{
-			Quaternion rot = pitchYawQuaternion(event->x(), event->y(), camera);
-			rotate(rot);
-			// actual translation is made in flyUpdate().
-			//translate(inverseTransformOf(Vec(0.0, 0.0, flySpeed())));
-			break;
-		}
-
-		case QGLViewer::DRIVE:
-		{
-			Quaternion rot = turnQuaternion(event->x(), camera);
-			rotate(rot);
-			// actual translation is made in flyUpdate().
-			driveSpeed_ = 0.01 * (event->y() - pressPos_.y());
-			break;
-		}
-
-		case QGLViewer::ZOOM:
-		{
-			zoom(deltaWithPrevPos(event, camera), camera);
-			break;
-		}
-
-		case QGLViewer::LOOK_AROUND:
-		{
-			Quaternion rot = pitchYawQuaternion(event->x(), event->y(), camera);
-			rotate(rot);
-			break;
-		}
-
-		case QGLViewer::ROTATE:
-		{
-			Quaternion rot;
-			if (rotatesAroundUpVector_) {
-				// Multiply by 2.0 to get on average about the same speed as with the deformed ball
-				qreal dx = 2.0 * rotationSensitivity() * (prevPos_.x() - event->x()) / camera->screenWidth();
-				qreal dy = 2.0 * rotationSensitivity() * (prevPos_.y() - event->y()) / camera->screenHeight();
-				if (constrainedRotationIsReversed_) dx = -dx;
-				Vec verticalAxis = transformOf(sceneUpVector_);
-				rot = Quaternion(verticalAxis, dx) * Quaternion(Vec(1.0, 0.0, 0.0), dy);
-			} else {
-				Vec trans = camera->projectedCoordinatesOf(pivotPoint());
-				rot = deformedBallQuaternion(event->x(), event->y(), trans[0], trans[1], camera);
-			}
-			//#CONNECTION# These two methods should go together (spinning detection and activation)
-			computeMouseSpeed(event);
-			setSpinningQuaternion(rot);
-			spin();
-			break;
-		}
-
-		case QGLViewer::SCREEN_ROTATE:
-		{
-			Vec trans = camera->projectedCoordinatesOf(pivotPoint());
-
-			const qreal angle = atan2(event->y() - trans[1], event->x() - trans[0]) - atan2(prevPos_.y()-trans[1], prevPos_.x()-trans[0]);
-
-			Quaternion rot(Vec(0.0, 0.0, 1.0), angle);
-			//#CONNECTION# These two methods should go together (spinning detection and activation)
-			computeMouseSpeed(event);
-			setSpinningQuaternion(rot);
-			spin();
-			updateSceneUpVector();
-			break;
-		}
-
-		case QGLViewer::ROLL:
-		{
-			const qreal angle = M_PI * (event->x() - prevPos_.x()) / camera->screenWidth();
-			Quaternion rot(Vec(0.0, 0.0, 1.0), angle);
-			rotate(rot);
-			setSpinningQuaternion(rot);
-			updateSceneUpVector();
-			break;
-		}
-
-		case QGLViewer::SCREEN_TRANSLATE:
-		{
-			Vec trans;
-			int dir = mouseOriginalDirection(event);
-			if (dir == 1)
-				trans.setValue(prevPos_.x() - event->x(), 0.0, 0.0);
-			else if (dir == -1)
-				trans.setValue(0.0, event->y() - prevPos_.y(), 0.0);
-
-			switch (camera->type())
-			{
-				case Camera::PERSPECTIVE :
-					trans *= 2.0 * tan(camera->fieldOfView()/2.0) *
-							fabs((camera->frame()->coordinatesOf(pivotPoint())).z) / camera->screenHeight();
-					break;
-				case Camera::ORTHOGRAPHIC :
-				{
-					GLdouble w,h;
-					camera->getOrthoWidthHeight(w, h);
-					trans[0] *= 2.0 * w / camera->screenWidth();
-					trans[1] *= 2.0 * h / camera->screenHeight();
-					break;
-				}
-			}
-
-			translate(inverseTransformOf(translationSensitivity()*trans));
-			break;
-		}
-
-		case QGLViewer::ZOOM_ON_REGION:
-		case QGLViewer::NO_MOUSE_ACTION:
-			break;
-	}
-
-	if (action_ != QGLViewer::NO_MOUSE_ACTION)
-	{
-		prevPos_ = event->pos();
-		if (action_ != QGLViewer::ZOOM_ON_REGION)
-			// ZOOM_ON_REGION should not emit manipulated().
-			// prevPos_ is used to draw rectangle feedback.
-			Q_EMIT manipulated();
-	}
-}
-
-
-/*! This is an overload of ManipulatedFrame::mouseReleaseEvent(). The QGLViewer::MouseAction is
-  terminated. */
-void ManipulatedCameraFrame::mouseReleaseEvent(QMouseEvent* const event, Camera* const camera)
-{
-	if ((action_ == QGLViewer::MOVE_FORWARD) || (action_ == QGLViewer::MOVE_BACKWARD) || (action_ == QGLViewer::DRIVE))
-		flyTimer_.stop();
-
-	if (action_ == QGLViewer::ZOOM_ON_REGION)
-		camera->fitScreenRegion(QRect(pressPos_, event->pos()));
-
-	ManipulatedFrame::mouseReleaseEvent(event, camera);
-}
-
-/*! This is an overload of ManipulatedFrame::wheelEvent().
-
-The wheel behavior depends on the wheel binded action. Current possible actions are QGLViewer::ZOOM,
-QGLViewer::MOVE_FORWARD, QGLViewer::MOVE_BACKWARD. QGLViewer::ZOOM speed depends on
-wheelSensitivity() while QGLViewer::MOVE_FORWARD and QGLViewer::MOVE_BACKWARD depend on flySpeed().
-See QGLViewer::setWheelBinding() to customize the binding. */
-void ManipulatedCameraFrame::wheelEvent(QWheelEvent* const event, Camera* const camera)
-{
-	//#CONNECTION# QGLViewer::setWheelBinding, ManipulatedFrame::wheelEvent.
-	switch (action_)
-	{
-		case QGLViewer::ZOOM:
-		{
-			zoom(wheelDelta(event), camera);
-			Q_EMIT manipulated();
-			break;
-		}
-		case QGLViewer::MOVE_FORWARD:
-		case QGLViewer::MOVE_BACKWARD:
-			//#CONNECTION# mouseMoveEvent() MOVE_FORWARD case
-			translate(inverseTransformOf(Vec(0.0, 0.0, 0.2*flySpeed()*event->delta())));
-			Q_EMIT manipulated();
-			break;
-		default:
-			break;
-	}
-
-	// #CONNECTION# startAction should always be called before
-	if (previousConstraint_)
-		setConstraint(previousConstraint_);
-
-	// The wheel triggers a fastDraw. A final update() is needed after the last wheel event to
-	// polish the rendering using draw(). Since the last wheel event does not say its name, we use
-	// the flyTimer_ to trigger flyUpdate(), which emits manipulated. Two wheel events
-	// separated by more than this delay milliseconds will trigger a draw().
-	const int finalDrawAfterWheelEventDelay = 400;
-
-	// Starts (or prolungates) the timer.
-	flyTimer_.setSingleShot(true);
-	flyTimer_.start(finalDrawAfterWheelEventDelay);
-
-	// This could also be done *before* manipulated is emitted, so that isManipulated() returns false.
-	// But then fastDraw would not be used with wheel.
-	// Detecting the last wheel event and forcing a final draw() is done using the timer_.
-	action_ = QGLViewer::NO_MOUSE_ACTION;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Returns a Quaternion that is a rotation around current camera Y, proportionnal to the horizontal mouse position. */
-Quaternion ManipulatedCameraFrame::turnQuaternion(int x, const Camera* const camera)
-{
-	return Quaternion(Vec(0.0, 1.0, 0.0), rotationSensitivity()*(prevPos_.x()-x)/camera->screenWidth());
-}
-
-/*! Returns a Quaternion that is the composition of two rotations, inferred from the
-  mouse pitch (X axis) and yaw (sceneUpVector() axis). */
-Quaternion ManipulatedCameraFrame::pitchYawQuaternion(int x, int y, const Camera* const camera)
-{
-	const Quaternion rotX(Vec(1.0, 0.0, 0.0), rotationSensitivity()*(prevPos_.y()-y)/camera->screenHeight());
-	const Quaternion rotY(transformOf(sceneUpVector()), rotationSensitivity()*(prevPos_.x()-x)/camera->screenWidth());
-	return rotY * rotX;
-}
diff --git a/SRC/QGLViewer/QGLViewer/manipulatedCameraFrame.h b/SRC/QGLViewer/QGLViewer/manipulatedCameraFrame.h
deleted file mode 100644
index 1f500ad..0000000
--- a/SRC/QGLViewer/QGLViewer/manipulatedCameraFrame.h
+++ /dev/null
@@ -1,233 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef QGLVIEWER_MANIPULATED_CAMERA_FRAME_H
-#define QGLVIEWER_MANIPULATED_CAMERA_FRAME_H
-
-#include "manipulatedFrame.h"
-
-namespace qglviewer {
-/*! \brief The ManipulatedCameraFrame class represents a ManipulatedFrame with Camera specific mouse bindings.
-  \class ManipulatedCameraFrame manipulatedCameraFrame.h QGLViewer/manipulatedCameraFrame.h
-
-  A ManipulatedCameraFrame is a specialization of a ManipulatedFrame, designed to be set as the
-  Camera::frame(). Mouse motions are basically interpreted in a negated way: when the mouse goes to
-  the right, the ManipulatedFrame translation goes to the right, while the ManipulatedCameraFrame
-  has to go to the \e left, so that the \e scene seems to move to the right.
-
-  A ManipulatedCameraFrame rotates around its pivotPoint(), which corresponds to the
-  associated Camera::pivotPoint().
-
-  A ManipulatedCameraFrame can also "fly" in the scene. It basically moves forward, and turns
-  according to the mouse motion. See flySpeed(), sceneUpVector() and the QGLViewer::MOVE_FORWARD and
-  QGLViewer::MOVE_BACKWARD QGLViewer::MouseAction.
-
-  See the <a href="../mouse.html">mouse page</a> for a description of the possible actions that can
-  be performed using the mouse and their bindings.
-  \nosubgrouping */
-class QGLVIEWER_EXPORT ManipulatedCameraFrame : public ManipulatedFrame
-{
-#ifndef DOXYGEN
-	friend class Camera;
-	friend class ::QGLViewer;
-#endif
-
-	Q_OBJECT
-
-public:
-	ManipulatedCameraFrame();
-	/*! Virtual destructor. Empty. */
-	virtual ~ManipulatedCameraFrame() {}
-
-	ManipulatedCameraFrame(const ManipulatedCameraFrame& mcf);
-	ManipulatedCameraFrame& operator=(const ManipulatedCameraFrame& mcf);
-
-	/*! @name Pivot point */
-	//@{
-public:
-	/*! Returns the point the ManipulatedCameraFrame pivot point, around which the camera rotates.
-
-	It is defined in the world coordinate system. Default value is (0,0,0).
-
-	When the ManipulatedCameraFrame is associated to a Camera, Camera::pivotPoint() also
-	returns this value. This point can interactively be changed using the mouse (see
-	Camera::setPivotPointFromPixel() and QGLViewer::RAP_FROM_PIXEL and QGLViewer::RAP_IS_CENTER
-	in the <a href="../mouse.html">mouse page</a>). */
-	Vec pivotPoint() const { return pivotPoint_; }
-	/*! Sets the pivotPoint(), defined in the world coordinate system. */
-	void setPivotPoint(const Vec& point) { pivotPoint_ = point; }
-
-#ifndef DOXYGEN
-	Vec revolveAroundPoint() const { qWarning("revolveAroundPoint() is deprecated, use pivotPoint() instead"); return  pivotPoint(); }
-	void setRevolveArountPoint(const Vec& point) { qWarning("setRevolveAroundPoint() is deprecated, use setPivotPoint() instead"); setPivotPoint(point); }
-#endif
-	//@}
-
-	/*! @name Camera manipulation */
-	//@{
-public:
-	/*! Returns \c true when the frame's rotation is constrained around the sceneUpVector(),
-		and \c false otherwise, when the rotation is completely free (default).
-
-		In free mode, the associated camera can be arbitrarily rotated in the scene, along its
-		three axis, thus possibly leading to any arbitrary orientation.
-
-		When you setRotatesAroundUpVector() to \c true, the sceneUpVector() defines a
-		'vertical' direction around which the camera rotates. The camera can rotate left
-		or right, around this axis. It can also be moved up or down to show the 'top' and
-		'bottom' views of the scene. As a result, the sceneUpVector() will always appear vertical
-		in the scene, and the horizon is preserved and stays projected along the camera's
-		horizontal axis.
-
-		Note that setting this value to \c true when the sceneUpVector() is not already
-		vertically projected will break these invariants. It will also limit the possible movement
-		of the camera, possibly up to a lock when the sceneUpVector() is projected horizontally.
-		Use Camera::setUpVector() to define the sceneUpVector() and align the camera before calling
-		this method to ensure this does not happen. */
-	bool rotatesAroundUpVector() const { return rotatesAroundUpVector_; }
-	/*! Sets the value of rotatesAroundUpVector().
-
-	   Default value is false (free rotation). */
-	void setRotatesAroundUpVector(bool constrained) { rotatesAroundUpVector_ = constrained; }
-
-	/*! Returns whether or not the QGLViewer::ZOOM action zooms on the pivot point.
-
-	  When set to \c false (default), a zoom action will move the camera along its Camera::viewDirection(),
-	  i.e. back and forth along a direction perpendicular to the projection screen.
-
-	  setZoomsOnPivotPoint() to \c true will move the camera along an axis defined by the
-	  Camera::pivotPoint() and its current position instead. As a result, the projected position of the
-	  pivot point on screen will stay the same during a zoom. */
-	bool zoomsOnPivotPoint() const { return zoomsOnPivotPoint_; }
-	/*! Sets the value of zoomsOnPivotPoint().
-
-	   Default value is false. */
-	void setZoomsOnPivotPoint(bool enabled) { zoomsOnPivotPoint_ = enabled; }
-
-private:
-#ifndef DOXYGEN
-	void zoom(qreal delta, const Camera * const camera);
-#endif
-	//@}
-
-	/*! @name Fly parameters */
-	//@{
-public Q_SLOTS:
-	/*! Sets the flySpeed(), defined in OpenGL units.
-
-	Default value is 0.0, but it is modified according to the QGLViewer::sceneRadius() when the
-	ManipulatedCameraFrame is set as the Camera::frame(). */
-	void setFlySpeed(qreal speed) { flySpeed_ = speed; }
-
-	/*! Sets the sceneUpVector(), defined in the world coordinate system.
-
-	Default value is (0,1,0), but it is updated by the Camera when this object is set as its Camera::frame().
-	Using Camera::setUpVector() instead is probably a better solution. */
-	void setSceneUpVector(const Vec& up) { sceneUpVector_ = up; }
-
-public:
-	/*! Returns the fly speed, expressed in OpenGL units.
-
-	It corresponds to the incremental displacement that is periodically applied to the
-	ManipulatedCameraFrame position when a QGLViewer::MOVE_FORWARD or QGLViewer::MOVE_BACKWARD
-	QGLViewer::MouseAction is proceeded.
-
-	\attention When the ManipulatedCameraFrame is set as the Camera::frame(), this value is set
-	according to the QGLViewer::sceneRadius() by QGLViewer::setSceneRadius(). */
-	qreal flySpeed() const { return flySpeed_; }
-
-	/*! Returns the up vector of the scene, expressed in the world coordinate system.
-
-	In 'fly mode' (corresponding to the QGLViewer::MOVE_FORWARD and QGLViewer::MOVE_BACKWARD
-	QGLViewer::MouseAction bindings), horizontal displacements of the mouse rotate
-	the ManipulatedCameraFrame around this vector. Vertical displacements rotate always around the
-	Camera \c X axis.
-
-	This value is also used when setRotationIsConstrained() is set to \c true to define the up vector
-	(and incidentally the 'horizon' plane) around which the camera will rotate.
-
-	Default value is (0,1,0), but it is updated by the Camera when this object is set as its Camera::frame().
-	Camera::setOrientation() and Camera::setUpVector()) direclty modify this value and should be used
-	instead. */
-	Vec sceneUpVector() const { return sceneUpVector_; }
-
-#ifndef DOXYGEN
-	Vec flyUpVector() const;
-	void setFlyUpVector(const Vec& up);
-#endif
-	//@}
-
-	/*! @name Mouse event handlers */
-	//@{
-protected:
-	virtual void mouseReleaseEvent(QMouseEvent* const event, Camera* const camera);
-	virtual void mouseMoveEvent   (QMouseEvent* const event, Camera* const camera);
-	virtual void wheelEvent       (QWheelEvent* const event, Camera* const camera);
-	//@}
-
-	/*! @name Spinning */
-	//@{
-protected Q_SLOTS:
-	virtual void spin();
-	//@}
-
-	/*! @name XML representation */
-	//@{
-public:
-	virtual QDomElement domElement(const QString& name, QDomDocument& document) const;
-public Q_SLOTS:
-	virtual void initFromDOMElement(const QDomElement& element);
-	//@}
-
-#ifndef DOXYGEN
-protected:
-	virtual void startAction(int ma, bool withConstraint=true); // int is really a QGLViewer::MouseAction
-#endif
-
-private Q_SLOTS:
-	virtual void flyUpdate();
-
-private:
-	void updateSceneUpVector();
-	Quaternion turnQuaternion(int x, const Camera* const camera);
-	Quaternion pitchYawQuaternion(int x, int y, const Camera* const camera);
-
-private:
-	// Fly mode data
-	qreal flySpeed_;
-	qreal driveSpeed_;
-	Vec sceneUpVector_;
-	QTimer flyTimer_;
-
-	bool rotatesAroundUpVector_;
-	// Inverse the direction of an horizontal mouse motion. Depends on the projected
-	// screen orientation of the vertical axis when the mouse button is pressed.
-	bool constrainedRotationIsReversed_;
-
-	bool zoomsOnPivotPoint_;
-
-	Vec pivotPoint_;
-};
-
-} // namespace qglviewer
-
-#endif // QGLVIEWER_MANIPULATED_CAMERA_FRAME_H
diff --git a/SRC/QGLViewer/QGLViewer/manipulatedFrame.cpp b/SRC/QGLViewer/QGLViewer/manipulatedFrame.cpp
deleted file mode 100644
index b6b2d72..0000000
--- a/SRC/QGLViewer/QGLViewer/manipulatedFrame.cpp
+++ /dev/null
@@ -1,550 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "domUtils.h"
-#include "manipulatedFrame.h"
-#include "manipulatedCameraFrame.h"
-#include "qglviewer.h"
-#include "camera.h"
-
-#include <cstdlib>
-
-#include <QMouseEvent>
-
-using namespace qglviewer;
-using namespace std;
-
-/*! Default constructor.
-
-  The translation is set to (0,0,0), with an identity rotation (0,0,0,1) (see Frame constructor
-  for details).
-
-  The different sensitivities are set to their default values (see rotationSensitivity(),
-  translationSensitivity(), spinningSensitivity() and wheelSensitivity()). */
-ManipulatedFrame::ManipulatedFrame()
-	: action_(QGLViewer::NO_MOUSE_ACTION), keepsGrabbingMouse_(false)
-{
-	// #CONNECTION# initFromDOMElement and accessor docs
-	setRotationSensitivity(1.0);
-	setTranslationSensitivity(1.0);
-	setSpinningSensitivity(0.3);
-	setWheelSensitivity(1.0);
-	setZoomSensitivity(1.0);
-
-	isSpinning_ = false;
-	previousConstraint_ = NULL;
-
-	connect(&spinningTimer_, SIGNAL(timeout()), SLOT(spinUpdate()));
-}
-
-/*! Equal operator. Calls Frame::operator=() and then copy attributes. */
-ManipulatedFrame& ManipulatedFrame::operator=(const ManipulatedFrame& mf)
-{
-	Frame::operator=(mf);
-
-	setRotationSensitivity(mf.rotationSensitivity());
-	setTranslationSensitivity(mf.translationSensitivity());
-	setSpinningSensitivity(mf.spinningSensitivity());
-	setWheelSensitivity(mf.wheelSensitivity());
-	setZoomSensitivity(mf.zoomSensitivity());
-
-	mouseSpeed_ = 0.0;
-	dirIsFixed_ = false;
-	keepsGrabbingMouse_ = false;
-	action_ = QGLViewer::NO_MOUSE_ACTION;
-
-	return *this;
-}
-
-/*! Copy constructor. Performs a deep copy of all attributes using operator=(). */
-ManipulatedFrame::ManipulatedFrame(const ManipulatedFrame& mf)
-	: Frame(mf), MouseGrabber()
-{
-	(*this)=mf;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Implementation of the MouseGrabber main method.
-
-The ManipulatedFrame grabsMouse() when the mouse is within a 10 pixels region around its
-Camera::projectedCoordinatesOf() position().
-
-See the <a href="../examples/mouseGrabber.html">mouseGrabber example</a> for an illustration. */
-void ManipulatedFrame::checkIfGrabsMouse(int x, int y, const Camera* const camera)
-{
-	const int thresold = 10;
-	const Vec proj = camera->projectedCoordinatesOf(position());
-	setGrabsMouse(keepsGrabbingMouse_ || ((fabs(x-proj.x) < thresold) && (fabs(y-proj.y) < thresold)));
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//          S t a t e   s a v i n g   a n d   r e s t o r i n g               //
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Returns an XML \c QDomElement that represents the ManipulatedFrame.
-
- Adds to the Frame::domElement() the ManipulatedFrame specific informations in a \c
- ManipulatedParameters child QDomElement.
-
- \p name is the name of the QDomElement tag. \p doc is the \c QDomDocument factory used to create
- QDomElement.
-
- Use initFromDOMElement() to restore the ManipulatedFrame state from the resulting \c QDomElement.
-
- See Vec::domElement() for a complete example. See also Quaternion::domElement(),
- Camera::domElement()... */
-QDomElement ManipulatedFrame::domElement(const QString& name, QDomDocument& document) const
-{
-	QDomElement e = Frame::domElement(name, document);
-	QDomElement mp = document.createElement("ManipulatedParameters");
-	mp.setAttribute("rotSens", QString::number(rotationSensitivity()));
-	mp.setAttribute("transSens", QString::number(translationSensitivity()));
-	mp.setAttribute("spinSens", QString::number(spinningSensitivity()));
-	mp.setAttribute("wheelSens", QString::number(wheelSensitivity()));
-	mp.setAttribute("zoomSens", QString::number(zoomSensitivity()));
-	e.appendChild(mp);
-	return e;
-}
-
-/*! Restores the ManipulatedFrame state from a \c QDomElement created by domElement().
-
-Fields that are not described in \p element are set to their default values (see
-ManipulatedFrame()).
-
-First calls Frame::initFromDOMElement() and then initializes ManipulatedFrame specific parameters.
-Note that constraint() and referenceFrame() are not restored and are left unchanged.
-
-See Vec::initFromDOMElement() for a complete code example. */
-void ManipulatedFrame::initFromDOMElement(const QDomElement& element)
-{
-	// Not called since it would set constraint() and referenceFrame() to NULL.
-	// *this = ManipulatedFrame();
-	Frame::initFromDOMElement(element);
-
-	stopSpinning();
-
-	QDomElement child=element.firstChild().toElement();
-	while (!child.isNull())
-	{
-		if (child.tagName() == "ManipulatedParameters")
-		{
-			// #CONNECTION# constructor default values and accessor docs
-			setRotationSensitivity   (DomUtils::qrealFromDom(child, "rotSens",   1.0));
-			setTranslationSensitivity(DomUtils::qrealFromDom(child, "transSens", 1.0));
-			setSpinningSensitivity   (DomUtils::qrealFromDom(child, "spinSens",  0.3));
-			setWheelSensitivity      (DomUtils::qrealFromDom(child, "wheelSens", 1.0));
-			setZoomSensitivity       (DomUtils::qrealFromDom(child, "zoomSens", 1.0));
-		}
-		child = child.nextSibling().toElement();
-	}
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//                 M o u s e    h a n d l i n g                               //
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Returns \c true when the ManipulatedFrame is being manipulated with the mouse.
-
-  Can be used to change the display of the manipulated object during manipulation.
-
-  When Camera::frame() of the QGLViewer::camera() isManipulated(), QGLViewer::fastDraw() is used in
-  place of QGLViewer::draw() for scene rendering. A simplified drawing will then allow for
-  interactive camera displacements.  */
-bool ManipulatedFrame::isManipulated() const
-{
-	return action_ != QGLViewer::NO_MOUSE_ACTION;
-}
-
-/*! Starts the spinning of the ManipulatedFrame.
-
-This method starts a timer that will call spin() every \p updateInterval milliseconds. The
-ManipulatedFrame isSpinning() until you call stopSpinning(). */
-void ManipulatedFrame::startSpinning(int updateInterval)
-{
-	isSpinning_ = true;
-	spinningTimer_.start(updateInterval);
-}
-
-/*! Rotates the ManipulatedFrame by its spinningQuaternion(). Called by a timer when the
-  ManipulatedFrame isSpinning(). */
-void ManipulatedFrame::spin()
-{
-	rotate(spinningQuaternion());
-}
-
-/* spin() and spinUpdate() differ since spin can be used by itself (for instance by
-   QGLViewer::SCREEN_ROTATE) without a spun emission. Much nicer to use the spinningQuaternion() and
-   hence spin() for these incremental updates. Nothing special to be done for continuous spinning
-   with this design. */
-void ManipulatedFrame::spinUpdate()
-{
-	spin();
-	Q_EMIT spun();
-}
-
-#ifndef DOXYGEN
-/*! Protected internal method used to handle mouse events. */
-void ManipulatedFrame::startAction(int ma, bool withConstraint)
-{
-	action_ = (QGLViewer::MouseAction)(ma);
-
-	// #CONNECTION# manipulatedFrame::wheelEvent, manipulatedCameraFrame::wheelEvent and mouseReleaseEvent()
-	// restore previous constraint
-	if (withConstraint)
-		previousConstraint_ = NULL;
-	else
-	{
-		previousConstraint_ = constraint();
-		setConstraint(NULL);
-	}
-
-	switch (action_)
-	{
-		case QGLViewer::ROTATE:
-		case QGLViewer::SCREEN_ROTATE:
-			mouseSpeed_ = 0.0;
-			stopSpinning();
-			break;
-
-		case QGLViewer::SCREEN_TRANSLATE:
-			dirIsFixed_ = false;
-			break;
-
-		default:
-			break;
-	}
-}
-
-/*! Updates mouse speed, measured in pixels/milliseconds. Should be called by any method which wants to
-use mouse speed. Currently used to trigger spinning in mouseReleaseEvent(). */
-void ManipulatedFrame::computeMouseSpeed(const QMouseEvent* const e)
-{
-	const QPoint delta = (e->pos() - prevPos_);
-	const qreal dist = sqrt(qreal(delta.x()*delta.x() + delta.y()*delta.y()));
-	delay_ = last_move_time.restart();
-	if (delay_ == 0)
-		// Less than a millisecond: assume delay = 1ms
-		mouseSpeed_ = dist;
-	else
-		mouseSpeed_ = dist/delay_;
-}
-
-/*! Return 1 if mouse motion was started horizontally and -1 if it was more vertical. Returns 0 if
-this could not be determined yet (perfect diagonal motion, rare). */
-int ManipulatedFrame::mouseOriginalDirection(const QMouseEvent* const e)
-{
-	static bool horiz = true; // Two simultaneous manipulatedFrame require two mice !
-
-	if (!dirIsFixed_)
-	{
-		const QPoint delta = e->pos() - pressPos_;
-		dirIsFixed_ = abs(delta.x()) != abs(delta.y());
-		horiz = abs(delta.x()) > abs(delta.y());
-	}
-
-	if (dirIsFixed_)
-		if (horiz)
-			return 1;
-		else
-			return -1;
-	else
-		return 0;
-}
-
-qreal ManipulatedFrame::deltaWithPrevPos(QMouseEvent* const event, Camera* const camera) const {
-	qreal dx = qreal(event->x() - prevPos_.x()) / camera->screenWidth();
-	qreal dy = qreal(event->y() - prevPos_.y()) / camera->screenHeight();
-
-	qreal value = fabs(dx) > fabs(dy) ? dx : dy;
-	return value * zoomSensitivity();
-}
-
-qreal ManipulatedFrame::wheelDelta(const QWheelEvent* event) const {
-	static const qreal WHEEL_SENSITIVITY_COEF = 8E-4;
-	return event->delta() * wheelSensitivity() * WHEEL_SENSITIVITY_COEF;
-}
-
-void ManipulatedFrame::zoom(qreal delta, const Camera * const camera) {
-	Vec trans(0.0, 0.0, (camera->position() - position()).norm() * delta);
-
-	trans = camera->frame()->orientation().rotate(trans);
-	if (referenceFrame())
-		trans = referenceFrame()->transformOf(trans);
-	translate(trans);
-}
-
-#endif // DOXYGEN
-
-/*! Initiates the ManipulatedFrame mouse manipulation.
-
-Overloading of MouseGrabber::mousePressEvent(). See also mouseMoveEvent() and mouseReleaseEvent().
-
-The mouse behavior depends on which button is pressed. See the <a href="../mouse.html">QGLViewer
-mouse page</a> for details. */
-void ManipulatedFrame::mousePressEvent(QMouseEvent* const event, Camera* const camera)
-{
-	Q_UNUSED(camera);
-
-	if (grabsMouse())
-		keepsGrabbingMouse_ = true;
-
-	// #CONNECTION setMouseBinding
-	// action_ should no longer possibly be NO_MOUSE_ACTION since this value is not inserted in mouseBinding_
-	//if (action_ == QGLViewer::NO_MOUSE_ACTION)
-	//event->ignore();
-
-	prevPos_ = pressPos_ = event->pos();
-}
-
-/*! Modifies the ManipulatedFrame according to the mouse motion.
-
-Actual behavior depends on mouse bindings. See the QGLViewer::MouseAction enum and the <a
-href="../mouse.html">QGLViewer mouse page</a> for details.
-
-The \p camera is used to fit the mouse motion with the display parameters (see
-Camera::screenWidth(), Camera::screenHeight(), Camera::fieldOfView()).
-
-Emits the manipulated() signal. */
-void ManipulatedFrame::mouseMoveEvent(QMouseEvent* const event, Camera* const camera)
-{
-	switch (action_)
-	{
-		case QGLViewer::TRANSLATE:
-		{
-			const QPoint delta = event->pos() - prevPos_;
-			Vec trans(delta.x(), -delta.y(), 0.0);
-			// Scale to fit the screen mouse displacement
-			switch (camera->type())
-			{
-				case Camera::PERSPECTIVE :
-					trans *= 2.0 * tan(camera->fieldOfView()/2.0) * fabs((camera->frame()->coordinatesOf(position())).z) / camera->screenHeight();
-					break;
-				case Camera::ORTHOGRAPHIC :
-				{
-					GLdouble w,h;
-					camera->getOrthoWidthHeight(w, h);
-					trans[0] *= 2.0 * w / camera->screenWidth();
-					trans[1] *= 2.0 * h / camera->screenHeight();
-					break;
-				}
-			}
-			// Transform to world coordinate system.
-			trans = camera->frame()->orientation().rotate(translationSensitivity()*trans);
-			// And then down to frame
-			if (referenceFrame()) trans = referenceFrame()->transformOf(trans);
-			translate(trans);
-			break;
-		}
-
-		case QGLViewer::ZOOM:
-		{
-			zoom(deltaWithPrevPos(event, camera), camera);
-			break;
-		}
-
-		case QGLViewer::SCREEN_ROTATE:
-		{
-			Vec trans = camera->projectedCoordinatesOf(position());
-
-			const qreal prev_angle = atan2(prevPos_.y()-trans[1], prevPos_.x()-trans[0]);
-			const qreal      angle = atan2(event->y()-trans[1], event->x()-trans[0]);
-
-			const Vec axis = transformOf(camera->frame()->inverseTransformOf(Vec(0.0, 0.0, -1.0)));
-			Quaternion rot(axis, angle-prev_angle);
-			//#CONNECTION# These two methods should go together (spinning detection and activation)
-			computeMouseSpeed(event);
-			setSpinningQuaternion(rot);
-			spin();
-			break;
-		}
-
-		case QGLViewer::SCREEN_TRANSLATE:
-		{
-			Vec trans;
-			int dir = mouseOriginalDirection(event);
-			if (dir == 1)
-				trans.setValue(event->x() - prevPos_.x(), 0.0, 0.0);
-			else if (dir == -1)
-				trans.setValue(0.0, prevPos_.y() - event->y(), 0.0);
-
-			switch (camera->type())
-			{
-				case Camera::PERSPECTIVE :
-					trans *= 2.0 * tan(camera->fieldOfView()/2.0) * fabs((camera->frame()->coordinatesOf(position())).z) / camera->screenHeight();
-					break;
-				case Camera::ORTHOGRAPHIC :
-				{
-					GLdouble w,h;
-					camera->getOrthoWidthHeight(w, h);
-					trans[0] *= 2.0 * w / camera->screenWidth();
-					trans[1] *= 2.0 * h / camera->screenHeight();
-					break;
-				}
-			}
-			// Transform to world coordinate system.
-			trans = camera->frame()->orientation().rotate(translationSensitivity()*trans);
-			// And then down to frame
-			if (referenceFrame())
-				trans = referenceFrame()->transformOf(trans);
-
-			translate(trans);
-			break;
-		}
-
-		case QGLViewer::ROTATE:
-		{
-			Vec trans = camera->projectedCoordinatesOf(position());
-			Quaternion rot = deformedBallQuaternion(event->x(), event->y(), trans[0], trans[1], camera);
-			trans = Vec(-rot[0], -rot[1], -rot[2]);
-			trans = camera->frame()->orientation().rotate(trans);
-			trans = transformOf(trans);
-			rot[0] = trans[0];
-			rot[1] = trans[1];
-			rot[2] = trans[2];
-			//#CONNECTION# These two methods should go together (spinning detection and activation)
-			computeMouseSpeed(event);
-			setSpinningQuaternion(rot);
-			spin();
-			break;
-		}
-
-		case QGLViewer::MOVE_FORWARD:
-		case QGLViewer::MOVE_BACKWARD:
-		case QGLViewer::LOOK_AROUND:
-		case QGLViewer::ROLL:
-		case QGLViewer::DRIVE:
-		case QGLViewer::ZOOM_ON_REGION:
-			// These MouseAction values make no sense for a manipulatedFrame
-			break;
-
-		case QGLViewer::NO_MOUSE_ACTION:
-			// Possible when the ManipulatedFrame is a MouseGrabber. This method is then called without startAction
-			// because of mouseTracking.
-			break;
-	}
-
-	if (action_ != QGLViewer::NO_MOUSE_ACTION)
-	{
-		prevPos_ = event->pos();
-		Q_EMIT manipulated();
-	}
-}
-
-/*! Stops the ManipulatedFrame mouse manipulation.
-
-Overloading of MouseGrabber::mouseReleaseEvent().
-
-If the action was a QGLViewer::ROTATE QGLViewer::MouseAction, a continuous spinning is possible if
-the speed of the mouse cursor is larger than spinningSensitivity() when the button is released.
-Press the rotate button again to stop spinning. See startSpinning() and isSpinning(). */
-void ManipulatedFrame::mouseReleaseEvent(QMouseEvent* const event, Camera* const camera)
-{
-	Q_UNUSED(event);
-	Q_UNUSED(camera);
-
-	keepsGrabbingMouse_ = false;
-
-	if (previousConstraint_)
-		setConstraint(previousConstraint_);
-
-	if (((action_ == QGLViewer::ROTATE) || (action_ == QGLViewer::SCREEN_ROTATE)) && (mouseSpeed_ >= spinningSensitivity()))
-		startSpinning(delay_);
-
-	action_ = QGLViewer::NO_MOUSE_ACTION;
-}
-
-/*! Overloading of MouseGrabber::mouseDoubleClickEvent().
-
-Left button double click aligns the ManipulatedFrame with the \p camera axis (see alignWithFrame()
- and QGLViewer::ALIGN_FRAME). Right button projects the ManipulatedFrame on the \p camera view
- direction. */
-void ManipulatedFrame::mouseDoubleClickEvent(QMouseEvent* const event, Camera* const camera)
-{
-	if (event->modifiers() == Qt::NoModifier)
-		switch (event->button())
-		{
-			case Qt::LeftButton:  alignWithFrame(camera->frame()); break;
-			case Qt::RightButton: projectOnLine(camera->position(), camera->viewDirection()); break;
-			default: break;
-		}
-}
-
-/*! Overloading of MouseGrabber::wheelEvent().
-
-Using the wheel is equivalent to a QGLViewer::ZOOM QGLViewer::MouseAction. See
- QGLViewer::setWheelBinding(), setWheelSensitivity(). */
-void ManipulatedFrame::wheelEvent(QWheelEvent* const event, Camera* const camera)
-{
-	//#CONNECTION# QGLViewer::setWheelBinding
-	if (action_ == QGLViewer::ZOOM)
-	{
-		zoom(wheelDelta(event), camera);
-		Q_EMIT manipulated();
-	}
-
-	// #CONNECTION# startAction should always be called before
-	if (previousConstraint_)
-		setConstraint(previousConstraint_);
-
-	action_ = QGLViewer::NO_MOUSE_ACTION;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Returns "pseudo-distance" from (x,y) to ball of radius size.
-\arg for a point inside the ball, it is proportional to the euclidean distance to the ball
-\arg for a point outside the ball, it is proportional to the inverse of this distance (tends to
-zero) on the ball, the function is continuous. */
-static qreal projectOnBall(qreal x, qreal y)
-{
-	// If you change the size value, change angle computation in deformedBallQuaternion().
-	const qreal size       = 1.0;
-	const qreal size2      = size*size;
-	const qreal size_limit = size2*0.5;
-
-	const qreal d = x*x + y*y;
-	return d < size_limit ? sqrt(size2 - d) : size_limit/sqrt(d);
-}
-
-#ifndef DOXYGEN
-/*! Returns a quaternion computed according to the mouse motion. Mouse positions are projected on a
-deformed ball, centered on (\p cx,\p cy). */
-Quaternion ManipulatedFrame::deformedBallQuaternion(int x, int y, qreal cx, qreal cy, const Camera* const camera)
-{
-	// Points on the deformed ball
-	qreal px = rotationSensitivity() * (prevPos_.x()  - cx) / camera->screenWidth();
-	qreal py = rotationSensitivity() * (cy - prevPos_.y())  / camera->screenHeight();
-	qreal dx = rotationSensitivity() * (x - cx)	    / camera->screenWidth();
-	qreal dy = rotationSensitivity() * (cy - y)	    / camera->screenHeight();
-
-	const Vec p1(px, py, projectOnBall(px, py));
-	const Vec p2(dx, dy, projectOnBall(dx, dy));
-	// Approximation of rotation angle
-	// Should be divided by the projectOnBall size, but it is 1.0
-	const Vec axis = cross(p2,p1);
-	const qreal angle = 5.0 * asin(sqrt(axis.squaredNorm() / p1.squaredNorm() / p2.squaredNorm()));
-	return Quaternion(axis, angle);
-}
-#endif // DOXYGEN
diff --git a/SRC/QGLViewer/QGLViewer/manipulatedFrame.h b/SRC/QGLViewer/QGLViewer/manipulatedFrame.h
deleted file mode 100644
index b27fb25..0000000
--- a/SRC/QGLViewer/QGLViewer/manipulatedFrame.h
+++ /dev/null
@@ -1,335 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef QGLVIEWER_MANIPULATED_FRAME_H
-#define QGLVIEWER_MANIPULATED_FRAME_H
-
-#include "frame.h"
-#include "mouseGrabber.h"
-#include "qglviewer.h"
-
-#include <QString>
-#include <QTimer>
-#include <QDateTime>
-
-namespace qglviewer {
-/*! \brief A ManipulatedFrame is a Frame that can be rotated and translated using the mouse.
-  \class ManipulatedFrame manipulatedFrame.h QGLViewer/manipulatedFrame.h
-
-  It converts the mouse motion into a translation and an orientation updates. A ManipulatedFrame is
-  used to move an object in the scene. Combined with object selection, its MouseGrabber properties
-  and a dynamic update of the scene, the ManipulatedFrame introduces a great reactivity in your
-  applications.
-
-  A ManipulatedFrame is attached to a QGLViewer using QGLViewer::setManipulatedFrame():
-  \code
-  init() { setManipulatedFrame( new ManipulatedFrame() ); }
-
-  draw()
-  {
-	glPushMatrix();
-	glMultMatrixd(manipulatedFrame()->matrix());
-	// draw the manipulated object here
-	glPopMatrix();
-  }
-  \endcode
-  See the <a href="../examples/manipulatedFrame.html">manipulatedFrame example</a> for a complete
-  application.
-
-  Mouse events are normally sent to the QGLViewer::camera(). You have to press the QGLViewer::FRAME
-  state key (default is \c Control) to move the QGLViewer::manipulatedFrame() instead. See the <a
-  href="../mouse.html">mouse page</a> for a description of mouse button bindings.
-
-  <h3>Inherited functionalities</h3>
-
-  A ManipulatedFrame is an overloaded instance of a Frame. The powerful coordinate system
-  transformation functions (Frame::coordinatesOf(), Frame::transformOf(), ...) can hence be applied
-  to a ManipulatedFrame.
-
-  A ManipulatedFrame is also a MouseGrabber. If the mouse cursor gets within a distance of 10 pixels
-  from the projected position of the ManipulatedFrame, the ManipulatedFrame becomes the new
-  QGLViewer::mouseGrabber(). It can then be manipulated directly, without any specific state key,
-  object selection or GUI intervention. This is very convenient to directly move some objects in the
-  scene (typically a light). See the <a href="../examples/mouseGrabber.html">mouseGrabber
-  example</a> as an illustration. Note that QWidget::setMouseTracking() needs to be enabled in order
-  to use this feature (see the MouseGrabber documentation).
-
-  <h3>Advanced functionalities</h3>
-
-  A QGLViewer can handle at most one ManipulatedFrame at a time. If you want to move several objects
-  in the scene, you simply have to keep a list of the different ManipulatedFrames, and to activate
-  the right one (using QGLViewer::setManipulatedFrame()) when needed. This can for instance be done
-  according to an object selection: see the <a href="../examples/luxo.html">luxo example</a> for an
-  illustration.
-
-  When the ManipulatedFrame is being manipulated using the mouse (mouse pressed and not yet
-  released), isManipulated() returns \c true. This might be used to trigger a specific action or
-  display (as is done with QGLViewer::fastDraw()).
-
-  The ManipulatedFrame also emits a manipulated() signal each time its state is modified by the
-  mouse. This signal is automatically connected to the QGLViewer::update() slot when the
-  ManipulatedFrame is attached to a viewer using QGLViewer::setManipulatedFrame().
-
-  You can make the ManipulatedFrame spin() if you release the rotation mouse button while moving the
-  mouse fast enough (see spinningSensitivity()). See also translationSensitivity() and
-  rotationSensitivity() for sensitivity tuning. \nosubgrouping */
-class QGLVIEWER_EXPORT ManipulatedFrame : public Frame, public MouseGrabber
-{
-#ifndef DOXYGEN
-	friend class Camera;
-	friend class ::QGLViewer;
-#endif
-
-	Q_OBJECT
-
-public:
-	ManipulatedFrame();
-	/*! Virtual destructor. Empty. */
-	virtual ~ManipulatedFrame() {}
-
-	ManipulatedFrame(const ManipulatedFrame& mf);
-	ManipulatedFrame& operator=(const ManipulatedFrame& mf);
-
-Q_SIGNALS:
-	/*! This signal is emitted when ever the ManipulatedFrame is manipulated (i.e. rotated or
-	translated) using the mouse. Connect this signal to any object that should be notified.
-
-	Note that this signal is automatically connected to the QGLViewer::update() slot, when the
-	ManipulatedFrame is attached to a viewer using QGLViewer::setManipulatedFrame(), which is
-	probably all you need.
-
-	Use the QGLViewer::QGLViewerPool() if you need to connect this signal to all the viewers.
-
-	See also the spun(), modified(), interpolated() and KeyFrameInterpolator::interpolated()
-	signals' documentations. */
-	void manipulated();
-
-	/*! This signal is emitted when the ManipulatedFrame isSpinning().
-
-	Note that for the QGLViewer::manipulatedFrame(), this signal is automatically connected to the
-	QGLViewer::update() slot.
-
-	Connect this signal to any object that should be notified. Use the QGLViewer::QGLViewerPool() if
-	you need to connect this signal to all the viewers.
-
-	See also the manipulated(), modified(), interpolated() and KeyFrameInterpolator::interpolated()
-	signals' documentations. */
-	void spun();
-
-	/*! @name Manipulation sensitivity */
-	//@{
-public Q_SLOTS:
-	/*! Defines the rotationSensitivity(). */
-	void setRotationSensitivity(qreal sensitivity) { rotationSensitivity_ = sensitivity; }
-	/*! Defines the translationSensitivity(). */
-	void setTranslationSensitivity(qreal sensitivity) { translationSensitivity_ = sensitivity; }
-	/*! Defines the spinningSensitivity(), in pixels per milliseconds. */
-	void setSpinningSensitivity(qreal sensitivity) { spinningSensitivity_ = sensitivity; }
-	/*! Defines the wheelSensitivity(). */
-	void setWheelSensitivity(qreal sensitivity) { wheelSensitivity_ = sensitivity; }
-	/*! Defines the zoomSensitivity(). */
-	void setZoomSensitivity(qreal sensitivity) { zoomSensitivity_ = sensitivity; }
-
-public:
-	/*! Returns the influence of a mouse displacement on the ManipulatedFrame rotation.
-
-	Default value is 1.0. With an identical mouse displacement, a higher value will generate a
-	larger rotation (and inversely for lower values). A 0.0 value will forbid ManipulatedFrame mouse
-	rotation (see also constraint()).
-
-	See also setRotationSensitivity(), translationSensitivity(), spinningSensitivity() and
-	wheelSensitivity(). */
-	qreal rotationSensitivity() const { return rotationSensitivity_; }
-	/*! Returns the influence of a mouse displacement on the ManipulatedFrame translation.
-
-	Default value is 1.0. You should not have to modify this value, since with 1.0 the
-	ManipulatedFrame precisely stays under the mouse cursor.
-
-	With an identical mouse displacement, a higher value will generate a larger translation (and
-	inversely for lower values). A 0.0 value will forbid ManipulatedFrame mouse translation (see
-	also constraint()).
-
-	\note When the ManipulatedFrame is used to move a \e Camera (see the ManipulatedCameraFrame
-	class documentation), after zooming on a small region of your scene, the camera may translate
-	too fast. For a camera, it is the Camera::pivotPoint() that exactly matches the mouse
-	displacement. Hence, instead of changing the translationSensitivity(), solve the problem by
-	(temporarily) setting the Camera::pivotPoint() to a point on the zoomed region (see the
-	QGLViewer::RAP_FROM_PIXEL mouse binding in the <a href="../mouse.html">mouse page</a>).
-
-	See also setTranslationSensitivity(), rotationSensitivity(), spinningSensitivity() and
-	wheelSensitivity(). */
-	qreal translationSensitivity() const { return translationSensitivity_; }
-	/*! Returns the minimum mouse speed required (at button release) to make the ManipulatedFrame
-	  spin().
-
-	See spin(), spinningQuaternion() and startSpinning() for details.
-
-	Mouse speed is expressed in pixels per milliseconds. Default value is 0.3 (300 pixels per
-	second). Use setSpinningSensitivity() to tune this value. A higher value will make spinning more
-	difficult (a value of 100.0 forbids spinning in practice).
-
-	See also setSpinningSensitivity(), translationSensitivity(), rotationSensitivity() and
-	wheelSensitivity(). */
-	qreal spinningSensitivity() const { return spinningSensitivity_; }
-
-	/*! Returns the zoom sensitivity.
-
-	Default value is 1.0. A higher value will make the zoom faster.
-	Use a negative value to invert the zoom in and out directions.
-
-	See also setZoomSensitivity(), translationSensitivity(), rotationSensitivity() wheelSensitivity()
-	and spinningSensitivity(). */
-	qreal zoomSensitivity() const { return zoomSensitivity_; }
-	/*! Returns the mouse wheel sensitivity.
-
-	Default value is 1.0. A higher value will make the wheel action more efficient (usually meaning
-	a faster zoom). Use a negative value to invert the zoom in and out directions.
-
-	See also setWheelSensitivity(), translationSensitivity(), rotationSensitivity() zoomSensitivity()
-	and spinningSensitivity(). */
-	qreal wheelSensitivity() const { return wheelSensitivity_; }
-	//@}
-
-
-	/*! @name Spinning */
-	//@{
-public:
-	/*! Returns \c true when the ManipulatedFrame is spinning.
-
-	During spinning, spin() rotates the ManipulatedFrame by its spinningQuaternion() at a frequency
-	defined when the ManipulatedFrame startSpinning().
-
-	Use startSpinning() and stopSpinning() to change this state. Default value is \c false. */
-	bool isSpinning() const { return isSpinning_; }
-	/*! Returns the incremental rotation that is applied by spin() to the ManipulatedFrame
-	  orientation when it isSpinning().
-
-	 Default value is a null rotation (identity Quaternion). Use setSpinningQuaternion() to change
-	 this value.
-
-	 The spinningQuaternion() axis is defined in the ManipulatedFrame coordinate system. You can use
-	 Frame::transformOfFrom() to convert this axis from an other Frame coordinate system. */
-	Quaternion spinningQuaternion() const { return spinningQuaternion_; }
-public Q_SLOTS:
-	/*! Defines the spinningQuaternion(). Its axis is defined in the ManipulatedFrame coordinate
-	system. */
-	void setSpinningQuaternion(const Quaternion& spinningQuaternion) { spinningQuaternion_ = spinningQuaternion; }
-	virtual void startSpinning(int updateInterval);
-	/*! Stops the spinning motion started using startSpinning(). isSpinning() will return \c false
-	  after this call. */
-	virtual void stopSpinning() { spinningTimer_.stop(); isSpinning_ = false; }
-protected Q_SLOTS:
-	virtual void spin();
-private Q_SLOTS:
-	void spinUpdate();
-	//@}
-
-	/*! @name Mouse event handlers */
-	//@{
-protected:
-	virtual void mousePressEvent      (QMouseEvent* const event, Camera* const camera);
-	virtual void mouseMoveEvent       (QMouseEvent* const event, Camera* const camera);
-	virtual void mouseReleaseEvent    (QMouseEvent* const event, Camera* const camera);
-	virtual void mouseDoubleClickEvent(QMouseEvent* const event, Camera* const camera);
-	virtual void wheelEvent           (QWheelEvent* const event, Camera* const camera);
-	//@}
-
-public:
-	/*! @name Current state */
-	//@{
-	bool isManipulated() const;
-	/*! Returns the \c MouseAction currently applied to this ManipulatedFrame.
-
-	  Will return QGLViewer::NO_MOUSE_ACTION unless a mouse button is being pressed
-	  and has been bound to this QGLViewer::MouseHandler.
-
-	 The binding between mouse buttons and key modifiers and MouseAction is set using
-	 QGLViewer::setMouseBinding(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton buttons, MouseHandler handler, MouseAction action, bool withConstraint).
-	  */
-	QGLViewer::MouseAction currentMouseAction() const { return action_; }
-	//@}
-
-	/*! @name MouseGrabber implementation */
-	//@{
-public:
-	virtual void checkIfGrabsMouse(int x, int y, const Camera* const camera);
-	//@}
-
-	/*! @name XML representation */
-	//@{
-public:
-	virtual QDomElement domElement(const QString& name, QDomDocument& document) const;
-public Q_SLOTS:
-	virtual void initFromDOMElement(const QDomElement& element);
-	//@}
-
-#ifndef DOXYGEN
-protected:
-	Quaternion deformedBallQuaternion(int x, int y, qreal cx, qreal cy, const Camera* const camera);
-
-	QGLViewer::MouseAction action_;
-	Constraint* previousConstraint_; // When manipulation is without Contraint.
-
-	virtual void startAction(int ma, bool withConstraint=true); // int is really a QGLViewer::MouseAction
-	void computeMouseSpeed(const QMouseEvent* const e);
-	int mouseOriginalDirection(const QMouseEvent* const e);
-
-	/*! Returns a screen scaled delta from event's position to prevPos_, along the
-		X or Y direction, whichever has the largest magnitude. */
-	qreal deltaWithPrevPos(QMouseEvent* const event, Camera* const camera) const;
-	/*! Returns a normalized wheel delta, proportionnal to wheelSensitivity(). */
-	qreal wheelDelta(const QWheelEvent* event) const;
-
-	// Previous mouse position (used for incremental updates) and mouse press position.
-	QPoint prevPos_, pressPos_;
-
-private:
-	void zoom(qreal delta, const Camera * const camera);
-
-#endif // DOXYGEN
-
-private:
-	// Sensitivity
-	qreal rotationSensitivity_;
-	qreal translationSensitivity_;
-	qreal spinningSensitivity_;
-	qreal wheelSensitivity_;
-	qreal zoomSensitivity_;
-
-	// Mouse speed and spinning
-	QTime last_move_time;
-	qreal mouseSpeed_;
-	int delay_;
-	bool isSpinning_;
-	QTimer spinningTimer_;
-	Quaternion spinningQuaternion_;
-
-	// Whether the SCREEN_TRANS direction (horizontal or vertical) is fixed or not.
-	bool dirIsFixed_;
-
-	// MouseGrabber
-	bool keepsGrabbingMouse_;
-};
-
-} // namespace qglviewer
-
-#endif // QGLVIEWER_MANIPULATED_FRAME_H
diff --git a/SRC/QGLViewer/QGLViewer/mouseGrabber.cpp b/SRC/QGLViewer/QGLViewer/mouseGrabber.cpp
deleted file mode 100644
index 38cfdd0..0000000
--- a/SRC/QGLViewer/QGLViewer/mouseGrabber.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "mouseGrabber.h"
-
-using namespace qglviewer;
-
-// Static private variable
-QList<MouseGrabber*> MouseGrabber::MouseGrabberPool_;
-
-/*! Default constructor.
-
-Adds the created MouseGrabber in the MouseGrabberPool(). grabsMouse() is set to \c false. */
-MouseGrabber::MouseGrabber()
-	: grabsMouse_(false)
-{
-	addInMouseGrabberPool();
-}
-
-/*! Adds the MouseGrabber in the MouseGrabberPool().
-
-All created MouseGrabber are automatically added in the MouseGrabberPool() by the constructor.
-Trying to add a MouseGrabber that already isInMouseGrabberPool() has no effect.
-
-Use removeFromMouseGrabberPool() to remove the MouseGrabber from the list, so that it is no longer
-tested with checkIfGrabsMouse() by the QGLViewer, and hence can no longer grab mouse focus. Use
-isInMouseGrabberPool() to know the current state of the MouseGrabber. */
-void MouseGrabber::addInMouseGrabberPool()
-{
-	if (!isInMouseGrabberPool())
-		MouseGrabber::MouseGrabberPool_.append(this);
-}
-
-/*! Removes the MouseGrabber from the MouseGrabberPool().
-
-See addInMouseGrabberPool() for details. Removing a MouseGrabber that is not in MouseGrabberPool()
-has no effect. */
-void MouseGrabber::removeFromMouseGrabberPool()
-{
-	if (isInMouseGrabberPool())
-		MouseGrabber::MouseGrabberPool_.removeAll(const_cast<MouseGrabber*>(this));
-}
-
-/*! Clears the MouseGrabberPool().
-
- Use this method only if it is faster to clear the MouseGrabberPool() and then to add back a few
- MouseGrabbers than to remove each one independently. Use QGLViewer::setMouseTracking(false) instead
- if you want to disable mouse grabbing.
-
- When \p autoDelete is \c true, the MouseGrabbers of the MouseGrabberPool() are actually deleted
- (use this only if you're sure of what you do). */
-void MouseGrabber::clearMouseGrabberPool(bool autoDelete)
-{
-	if (autoDelete)
-		qDeleteAll(MouseGrabber::MouseGrabberPool_);
-	MouseGrabber::MouseGrabberPool_.clear();
-}
diff --git a/SRC/QGLViewer/QGLViewer/mouseGrabber.h b/SRC/QGLViewer/QGLViewer/mouseGrabber.h
deleted file mode 100644
index e66a8b4..0000000
--- a/SRC/QGLViewer/QGLViewer/mouseGrabber.h
+++ /dev/null
@@ -1,264 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef QGLVIEWER_MOUSE_GRABBER_H
-#define QGLVIEWER_MOUSE_GRABBER_H
-
-#include "config.h"
-
-#include <QEvent>
-
-class QGLViewer;
-
-namespace qglviewer {
-class Camera;
-
-/*! \brief Abstract class for objects that grab mouse focus in a QGLViewer.
-  \class MouseGrabber mouseGrabber.h QGLViewer/mouseGrabber.h
-
-  MouseGrabber are objects which react to the mouse cursor, usually when it hovers over them. This
-  abstract class only provides an interface for all these objects: their actual behavior has to be
-  defined in a derived class.
-
-  <h3>How does it work ?</h3>
-
-  All the created MouseGrabber are grouped in a MouseGrabberPool(). The QGLViewers parse this pool,
-  calling all the MouseGrabbers' checkIfGrabsMouse() methods that setGrabsMouse() if desired.
-
-  When a MouseGrabber grabsMouse(), it becomes the QGLViewer::mouseGrabber(). All the mouse events
-  (mousePressEvent(), mouseReleaseEvent(), mouseMoveEvent(), mouseDoubleClickEvent() and
-  wheelEvent()) are then transmitted to the QGLViewer::mouseGrabber() instead of being normally
-  processed. This continues while grabsMouse() (updated using checkIfGrabsMouse()) returns \c true.
-
-  If you want to (temporarily) disable a specific MouseGrabbers, you can remove it from this pool
-  using removeFromMouseGrabberPool(). You can also disable a MouseGrabber in a specific QGLViewer
-  using QGLViewer::setMouseGrabberIsEnabled().
-
-  <h3>Implementation details</h3>
-
-  In order to make MouseGrabber react to mouse events, mouse tracking has to be activated in the
-  QGLViewer which wants to use MouseGrabbers:
-  \code
-  init() { setMouseTracking(true); }
-  \endcode
-  Call \c QGLWidget::hasMouseTracking() to get the current state of this flag.
-
-  The \p camera parameter of the different mouse event methods is a pointer to the
-  QGLViewer::camera() of the QGLViewer that uses the MouseGrabber. It can be used to compute 2D to
-  3D coordinates conversion using Camera::projectedCoordinatesOf() and
-  Camera::unprojectedCoordinatesOf().
-
-  Very complex behaviors can be implemented using this framework: auto-selected objects (no need to
-  press a key to use them), automatic drop-down menus, 3D GUI, spinners using the wheelEvent(), and
-  whatever your imagination creates. See the <a href="../examples/mouseGrabber.html">mouseGrabber
-  example</a> for an illustration.
-
-  Note that ManipulatedFrame are MouseGrabber: see the <a href="../examples/keyFrames.html">keyFrame
-  example</a> for an illustration. Every created ManipulatedFrame is hence present in the
-  MouseGrabberPool() (note however that ManipulatedCameraFrame are not inserted).
-
-  <h3>Example</h3>
-
-  Here is for instance a draft version of a MovableObject class. Instances of these class can freely
-  be moved on screen using the mouse, as movable post-it-like notes:
-  \code
-  class MovableObject : public MouseGrabber
-  {
-  public:
-	MovableObject() : pos(0,0), moved(false) {}
-
-	void checkIfGrabsMouse(int x, int y, const qglviewer::Camera* const)
-	{
-	  // MovableObject is active in a region of 5 pixels around its pos.
-	  // May depend on the actual shape of the object. Customize as desired.
-	  // Once clicked (moved = true), it keeps grabbing mouse until button is released.
-	  setGrabsMouse( moved || ((pos-QPoint(x,y)).manhattanLength() < 5) );
-	}
-
-	void mousePressEvent( QMouseEvent* const e, Camera* const) { prevPos = e->pos(); moved = true; }
-
-	void mouseMoveEvent(QMouseEvent* const e, const Camera* const)
-	{
-	  if (moved)
-	  {
-		// Add position delta to current pos
-		pos += e->pos() - prevPos;
-		prevPos = e->pos();
-	  }
-	}
-
-	void mouseReleaseEvent(QMouseEvent* const, Camera* const) { moved = false; }
-
-	void draw()
-	{
-	  // The object is drawn centered on its pos, with different possible aspects:
-	  if (grabsMouse())
-		if (moved)
-	  // Object being moved, maybe a transparent display
-		else
-	  // Object ready to be moved, maybe a highlighted visual feedback
-	  else
-		// Normal display
-	}
-
-  private:
-	QPoint pos, prevPos;
-	bool moved;
-  };
-  \endcode
-  Note that the different event callback methods are called only once the MouseGrabber grabsMouse().
-  \nosubgrouping */
-class QGLVIEWER_EXPORT MouseGrabber
-{
-#ifndef DOXYGEN
-	friend class ::QGLViewer;
-#endif
-
-public:
-	MouseGrabber();
-	/*! Virtual destructor. Removes the MouseGrabber from the MouseGrabberPool(). */
-	virtual ~MouseGrabber() { MouseGrabber::MouseGrabberPool_.removeAll(this); }
-
-	/*! @name Mouse grabbing detection */
-	//@{
-public:
-	/*! Pure virtual method, called by the QGLViewers before they test if the MouseGrabber
-	  grabsMouse(). Should setGrabsMouse() according to the mouse position.
-
-	This is the core method of the MouseGrabber. It has to be overloaded in your derived class.
-	Its goal is to update the grabsMouse() flag according to the mouse and MouseGrabber current
-	positions, using setGrabsMouse().
-
-	grabsMouse() is usually set to \c true when the mouse cursor is close enough to the MouseGrabber
-	position. It should also be set to \c false when the mouse cursor leaves this region in order to
-	release the mouse focus.
-
-	\p x and \p y are the mouse cursor coordinates (Qt coordinate system: (0,0) corresponds to the upper
-	left corner).
-
-	A typical implementation will look like:
-	\code
-	// (posX,posY) is the position of the MouseGrabber on screen.
-	// Here, distance to mouse must be less than 10 pixels to activate the MouseGrabber.
-	setGrabsMouse( sqrt((x-posX)*(x-posX) + (y-posY)*(y-posY)) < 10);
-	\endcode
-
-	If the MouseGrabber position is defined in 3D, use the \p camera parameter, corresponding to
-	the calling QGLViewer Camera. Project on screen and then compare the projected coordinates:
-	\code
-	Vec proj = camera->projectedCoordinatesOf(myMouseGrabber->frame()->position());
-	setGrabsMouse((fabs(x-proj.x) < 5) && (fabs(y-proj.y) < 2)); // Rectangular region
-	\endcode
-
-	See examples in the <a href="#_details">detailed description</a> section and in the <a
-	href="../examples/mouseGrabber.html">mouseGrabber example</a>. */
-	virtual void checkIfGrabsMouse(int x, int y, const Camera* const camera) = 0;
-
-	/*! Returns \c true when the MouseGrabber grabs the QGLViewer's mouse events.
-
-	This flag is set with setGrabsMouse() by the checkIfGrabsMouse() method. */
-	bool grabsMouse() const { return grabsMouse_; }
-
-protected:
-	/*! Sets the grabsMouse() flag. Normally used by checkIfGrabsMouse(). */
-	void setGrabsMouse(bool grabs) { grabsMouse_ = grabs; }
-	//@}
-
-
-	/*! @name MouseGrabber pool */
-	//@{
-public:
-	/*! Returns a list containing pointers to all the active MouseGrabbers.
-
-	Used by the QGLViewer to parse all the MouseGrabbers and to check if any of them grabsMouse()
-	using checkIfGrabsMouse().
-
-	You should not have to directly use this list. Use removeFromMouseGrabberPool() and
-	addInMouseGrabberPool() to modify this list.
-
-	\attention This method returns a \c QPtrList<MouseGrabber> with Qt 3 and a \c QList<MouseGrabber> with Qt 2. */
-	static const QList<MouseGrabber*>& MouseGrabberPool() { return MouseGrabber::MouseGrabberPool_; }
-
-	/*! Returns \c true if the MouseGrabber is currently in the MouseGrabberPool() list.
-
-	Default value is \c true. When set to \c false using removeFromMouseGrabberPool(), the
-	QGLViewers no longer checkIfGrabsMouse() on this MouseGrabber. Use addInMouseGrabberPool() to
-	insert it back. */
-	bool isInMouseGrabberPool() const { return MouseGrabber::MouseGrabberPool_.contains(const_cast<MouseGrabber*>(this)); }
-	void addInMouseGrabberPool();
-	void removeFromMouseGrabberPool();
-	void clearMouseGrabberPool(bool autoDelete=false);
-	//@}
-
-
-	/*! @name Mouse event handlers */
-	//@{
-protected:
-	/*! Callback method called when the MouseGrabber grabsMouse() and a mouse button is pressed.
-
-
-	The MouseGrabber will typically start an action or change its state when a mouse button is
-	pressed. mouseMoveEvent() (called at each mouse displacement) will then update the MouseGrabber
-	accordingly and mouseReleaseEvent() (called when the mouse button is released) will terminate
-	this action.
-
-	Use the \p event QMouseEvent::state() and QMouseEvent::button() to test the keyboard
-	and button state and possibly change the MouseGrabber behavior accordingly.
-
-	See the <a href="#_details">detailed description section</a> and the <a
-	href="../examples/mouseGrabber.html">mouseGrabber example</a> for examples.
-
-	See the \c QGLWidget::mousePressEvent() and the \c QMouseEvent documentations for details. */
-	virtual void mousePressEvent(QMouseEvent* const event, Camera* const camera) { Q_UNUSED(event); Q_UNUSED(camera); }
-	/*! Callback method called when the MouseGrabber grabsMouse() and a mouse button is double clicked.
-
-	See the \c QGLWidget::mouseDoubleClickEvent() and the \c QMouseEvent documentations for details. */
-	virtual void mouseDoubleClickEvent(QMouseEvent* const event, Camera* const camera) { Q_UNUSED(event); Q_UNUSED(camera); }
-	/*! Mouse release event callback method. See mousePressEvent(). */
-	virtual void mouseReleaseEvent(QMouseEvent* const event, Camera* const camera) { Q_UNUSED(event); Q_UNUSED(camera); }
-	/*! Callback method called when the MouseGrabber grabsMouse() and the mouse is moved while a
-	  button is pressed.
-
-	This method will typically update the state of the MouseGrabber from the mouse displacement. See
-	the mousePressEvent() documentation for details. */
-	virtual void mouseMoveEvent(QMouseEvent* const event, Camera* const camera) { Q_UNUSED(event); Q_UNUSED(camera); }
-	/*! Callback method called when the MouseGrabber grabsMouse() and the mouse wheel is used.
-
-	See the \c QGLWidget::wheelEvent() and the \c QWheelEvent documentations for details. */
-	virtual void wheelEvent(QWheelEvent* const event, Camera* const camera) { Q_UNUSED(event); Q_UNUSED(camera); }
-	//@}
-
-private:
-	// Copy constructor and opertor= are declared private and undefined
-	// Prevents everyone from trying to use them
-	MouseGrabber(const MouseGrabber&);
-	MouseGrabber& operator=(const MouseGrabber&);
-
-	bool grabsMouse_;
-
-	// Q G L V i e w e r   p o o l
-	static QList<MouseGrabber*> MouseGrabberPool_;
-};
-
-} // namespace qglviewer
-
-#endif // QGLVIEWER_MOUSE_GRABBER_H
diff --git a/SRC/QGLViewer/QGLViewer/qglviewer-icon.xpm b/SRC/QGLViewer/QGLViewer/qglviewer-icon.xpm
deleted file mode 100644
index 5c7e72a..0000000
--- a/SRC/QGLViewer/QGLViewer/qglviewer-icon.xpm
+++ /dev/null
@@ -1,359 +0,0 @@
-/* XPM */
-static const char * qglviewer_icon[] = {
-"100 100 256 2",
-"  	c None",
-". 	c #0A0B27",
-"+ 	c #090B2C",
-"@ 	c #150C12",
-"# 	c #080F34",
-"$ 	c #1A0E1A",
-"% 	c #220D0B",
-"& 	c #260B0B",
-"* 	c #230E1C",
-"= 	c #12113E",
-"- 	c #2C0D10",
-"; 	c #2F0D09",
-"> 	c #310D14",
-", 	c #1A123A",
-"' 	c #261025",
-") 	c #17134B",
-"! 	c #151453",
-"~ 	c #1B1733",
-"{ 	c #14135E",
-"] 	c #281430",
-"^ 	c #0E1867",
-"/ 	c #3B1215",
-"( 	c #32132A",
-"_ 	c #1D1849",
-": 	c #121C58",
-"< 	c #431014",
-"[ 	c #141974",
-"} 	c #3A152E",
-"| 	c #201A5E",
-"1 	c #1D204C",
-"2 	c #401431",
-"3 	c #261960",
-"4 	c #48171C",
-"5 	c #411B21",
-"6 	c #371B45",
-"7 	c #2A1C6B",
-"8 	c #0E229B",
-"9 	c #52171D",
-"0 	c #441A35",
-"a 	c #1B2582",
-"b 	c #65150F",
-"c 	c #2D2076",
-"d 	c #4D1B3A",
-"e 	c #57182F",
-"f 	c #3E1F54",
-"g 	c #5E1924",
-"h 	c #2E2567",
-"i 	c #002BD1",
-"j 	c #002AD9",
-"k 	c #6D1A13",
-"l 	c #36237A",
-"m 	c #002FCD",
-"n 	c #701A0D",
-"o 	c #462060",
-"p 	c #651C23",
-"q 	c #322581",
-"r 	c #552429",
-"s 	c #581E41",
-"t 	c #671E1B",
-"u 	c #771911",
-"v 	c #6C1B2B",
-"w 	c #562341",
-"x 	c #342A79",
-"y 	c #3C2484",
-"z 	c #062FE6",
-"A 	c #68212B",
-"B 	c #4D236B",
-"C 	c #612045",
-"D 	c #42267B",
-"E 	c #811B10",
-"F 	c #7C1E0E",
-"G 	c #0033F1",
-"H 	c #0032F9",
-"I 	c #3A298E",
-"J 	c #472872",
-"K 	c #72202A",
-"L 	c #4F2774",
-"M 	c #652449",
-"N 	c #442890",
-"O 	c #1F37A8",
-"P 	c #87200E",
-"Q 	c #852014",
-"R 	c #402B98",
-"S 	c #6C244D",
-"T 	c #7D2230",
-"U 	c #8F1F12",
-"V 	c #70254A",
-"W 	c #542A7E",
-"X 	c #212FF2",
-"Y 	c #6E2E28",
-"Z 	c #442E9B",
-"` 	c #772834",
-" .	c #971E15",
-"..	c #552B86",
-"+.	c #693132",
-"@.	c #702A46",
-"#.	c #7B2645",
-"$.	c #862435",
-"%.	c #79264E",
-"&.	c #5A2B88",
-"*.	c #1B3AE9",
-"=.	c #9A2211",
-"-.	c #4E2EA0",
-";.	c #1E3BDE",
-">.	c #722F3D",
-",.	c #5E2C91",
-"'.	c #592F91",
-").	c #7A322A",
-"!.	c #1D42D7",
-"~.	c #902539",
-"{.	c #7D2A52",
-"].	c #862E26",
-"^.	c #822853",
-"/.	c #922B20",
-"(.	c #4E34AA",
-"_.	c #A62411",
-":.	c #5D309A",
-"<.	c #59387B",
-"[.	c #5631AB",
-"}.	c #5533A6",
-"|.	c #912840",
-"1.	c #8C2B3F",
-"2.	c #AE2215",
-"3.	c #862C57",
-"4.	c #5D32A8",
-"5.	c #882C53",
-"6.	c #5C34A2",
-"7.	c #6231A2",
-"8.	c #A32A18",
-"9.	c #5C398B",
-"0.	c #4D4480",
-"a.	c #982A3F",
-"b.	c #8D2B5A",
-"c.	c #962C44",
-"d.	c #902C56",
-"e.	c #7A3B43",
-"f.	c #3249C3",
-"g.	c #B42812",
-"h.	c #583E9B",
-"i.	c #BA2516",
-"j.	c #524297",
-"k.	c #55448B",
-"l.	c #5E3BA3",
-"m.	c #9E2C47",
-"n.	c #5A4676",
-"o.	c #873847",
-"p.	c #404E94",
-"q.	c #932F59",
-"r.	c #BE2810",
-"s.	c #992D5B",
-"t.	c #5941A4",
-"u.	c #8A3F36",
-"v.	c #9D2F58",
-"w.	c #78415D",
-"x.	c #A72D4D",
-"y.	c #A2304B",
-"z.	c #C72815",
-"A.	c #C12C13",
-"B.	c #654298",
-"C.	c #654780",
-"D.	c #8F385F",
-"E.	c #98345D",
-"F.	c #2F51E3",
-"G.	c #A93724",
-"H.	c #A0325B",
-"I.	c #CA2B10",
-"J.	c #A93054",
-"K.	c #A6305D",
-"L.	c #D42A00",
-"M.	c #D22914",
-"N.	c #89415D",
-"O.	c #6546A5",
-"P.	c #AB3255",
-"Q.	c #DC2806",
-"R.	c #A3355D",
-"S.	c #AA325A",
-"T.	c #A13F2F",
-"U.	c #6A4A8E",
-"V.	c #A53754",
-"W.	c #DE2A00",
-"X.	c #CF300A",
-"Y.	c #D62C0E",
-"Z.	c #A8385B",
-"`.	c #4B54C3",
-" +	c #964356",
-".+	c #E82903",
-"++	c #8F4757",
-"@+	c #DF2C14",
-"#+	c #D93011",
-"$+	c #A23D62",
-"%+	c #8C4E44",
-"&+	c #E32F00",
-"*+	c #6E4CA5",
-"=+	c #6E4F9B",
-"-+	c #A04259",
-";+	c #9D4266",
-">+	c #D03716",
-",+	c #E3300D",
-"'+	c #6A51A7",
-")+	c #BA3F2F",
-"!+	c #EC2E07",
-"~+	c #A9405F",
-"{+	c #EB2E13",
-"]+	c #EF3100",
-"^+	c #4A5CDC",
-"/+	c #984A68",
-"(+	c #B54536",
-"_+	c #4563C9",
-":+	c #F62E03",
-"<+	c #EF310B",
-"[+	c #E73411",
-"}+	c #AA4B3E",
-"|+	c #F62E10",
-"1+	c #CE401F",
-"2+	c #D33D23",
-"3+	c #7455A7",
-"4+	c #C54426",
-"5+	c #A5496A",
-"6+	c #F93106",
-"7+	c #A45048",
-"8+	c #CD412C",
-"9+	c #F2350E",
-"0+	c #AA4A64",
-"a+	c #5266C7",
-"b+	c #DE411E",
-"c+	c #EF3C18",
-"d+	c #755FAD",
-"e+	c #C94C34",
-"f+	c #C14F3F",
-"g+	c #DB452E",
-"h+	c #AB526E",
-"i+	c #EB421F",
-"j+	c #AA566A",
-"k+	c #A55B6B",
-"l+	c #AA5873",
-"m+	c #E94824",
-"n+	c #D94D35",
-"o+	c #DB4F31",
-"p+	c #5B71DE",
-"q+	c #A85F76",
-"r+	c #EC4C31",
-"s+	c #E2522E",
-"t+	c #E84F30",
-"u+	c #CD5D42",
-"v+	c #6976CD",
-"w+	c #D9583F",
-"x+	c #E55537",
-"y+	c #E7573E",
-"z+	c #D65F4C",
-"A+	c #CA6457",
-"B+	c #E35C3E",
-"C+	c #D1634E",
-"D+	c #E26447",
-"E+	c #E1674E",
-"F+	c #DE6F57",
-"G+	c #DE705E",
-"                                                                                                                                                                                                        ",
-"                                                                                                                                                                                                        ",
-"                                                                                                                                                                                      C+                ",
-"                                                                                                                          ` >.o.                                                    1+X.u+              ",
-"                                                                                                                    e.A K K T $.T ++                                              1+L.L.X.              ",
-"                                                                                                                  A A v ` T T T 1.~.++                                          X.L.L.L.W.1+            ",
-"                                                                                                                g A K K T T $.$.1.$.1.                                        >+L.L.L.L.L.L.            ",
-"                                                                                                            r g A v v T T $.1.$.$.|.|. +                                  u+X.L.L.L.L.W.W.W.2+          ",
-"                                                                                  f                       r g g K K v T T T |.|.1.1.c.-+                                u+X.L.L.L.Q.L.Q.Q.W.W.          ",
-"                                                                              6 o B C.                  4 9 p p v T T T 1.~.$.1.~.a.~.1.                              u+X.L.L.L.Q.L.W.L.W.W.W.o+        ",
-"                                                                              f o B C.                4 9 9 g v v T T $.1.1.~.|.c.c.c.m.                            4+L.L.L.Q.L.Q.Q.W.&+W.W.,+b+        ",
-"                                                                            f o J L U.                9 9 A v K T $.1.1.$.|.|.c.c.c.a.a.q+                        4+L.L.L.L.L.Q.W.W.&+L.&+&+&+W.        ",
-"                                                                          f o B W L <.              < 9 g A e.` ` $.$.|.$.1.~.a.a.c.c.a.k+                        1+L.L.Q.Q.W.L.W.L.&+&+&+,+&+&+w+      ",
-"                                                                        6 f B L L ..              4 4 9         o.$.|.$.c.a.c.c.m.m.y.c.q+                        u+L.W.Q.L.W.&+&+W.&+,+&+&+&+.+s+      ",
-"                                    p.                                  f o L W W ..            / < r             1.|.|.c.c.c.c.y.m.y.a.k+                          X.L.W.L.,+,+&+,+&+&+&+[+&+&+b+      ",
-"                                    3                                 6 B L W W &.9.            /                 o.|.|.c.a.m.y.a.a.y.y.q+                          e+W.W.&+W.W.,+&+&+&+&+.+&+!+b+      ",
-"                                  a :                               f o L L ....&.B.          /                   ++a.a.m.c.a.y.y.a.y.y.q+                          u+W.W.W.&+.+&+{+&+[+&+!+&+]+&+      ",
-"                                O ^ 1                               f J W ....&.'.U.        / 5                   k+c.m.c.m.y.m.y.y.y.y.                              L.&+&+&+&+&+&+!+]+!+[+!+!+!+      ",
-"                              f.[ )                               $ <.L W ..&.'.'.          /                     k+c.m.a.m.y.a.y.y.y.y.                              b+&+,+&+.+&+&+&+[+]+&+!+&+!+E+    ",
-"                            `.8 ! =                             $   <.W ..&.'.'.B.        -                       k+y.a.y.y.a.y.x.y.x.V.                              b+.+&+!+&+[+!+!+]+!+!+!+9+!+B+    ",
-"                          a+m { = #                             $   ....'.'.'.,.=+      -                         k+m.y.y.y.V.y.x.y.x.V.                              w+!+&+!+]+&+[+&+!+[+<+!+]+&+B+    ",
-"                        v+m 8 ) #                             $   U...'.'.'.,.:.        -                         -+m.m.y.V.x.y.y.x.m.0+                              s+&+!+[+&+!+]+<+!+]+]+[+<+9+B+    ",
-"                        ;.m ) = +                             $   9.&.'.l.l.,.*+      &                           -+y.y.x.x.J.x.y.x.y.0+                              B+&+]+!+<+!+!+[+]+!+]+<+]+<+B+    ",
-"                      ;.i [ = + .                           $     &.'.,.,.,.:.*+      &                           0+y.y.x.y.y.y.J.V.x.l+                              s+!+!+!+[+<+]+]+!+]+]+]+!+]+B+    ",
-"                    ;.z ^+1 # +                             $   =+l.'.l.7.:.'.      %                             y.x.y.x.x.P.y.x.P.y.                                B+.+[+]+!+[+]+]+<+]+]+]+]+<+B+    ",
-"                  ;.z ;.  + + .                           $     '.:.:.:.:.:.3+      &                             V.y.x.y.x.J.P.P.V.Z.                                x+<+]+]+]+:+]+]+]+9+<+9+9+]+      ",
-"              p+*.G G p+    + .                           @   U.:.:.7.:.6.7.      %                             h+P.V.P.P.y.J.P.x.y.0+                                s+]+9+]+]+9+9+]+]+]+]+]+9+<+      ",
-"    f.    p+F.H H G F.    . . .                         $     l.:.:.:.6.:.O.      &                             0+x.J.J.V.P.x.x.P.P.h+                                x+<+]+<+]+]+]+9+]+]+]+9+]+<+      ",
-"    i G X X X G H ;.      . .                           $   =+:.:.6.l.6.:.3+    %                               V.y.y.x.P.V.V.P.P.J.                                  m+!+]+]+]+9+]+|+9+|+]+9+]+c+      ",
-"    m z G H G H G p+      . .                         *     O.6.6.:.7.6.:.      &                               V.P.P.P.x.P.P.V.V.V.                                  i+]+]+<+|+:+]+]+:+]+:+:+]+m+      ",
-"    i z G G G G F.        . .                         *   3+7.7.6.6.6.6.3+    %                               0+x.P.x.V.x.x.x.x.P.0+                                  [+9+]+]+]+|+]+]+]+9+9+9+]+m+      ",
-"    i z G G H *.          . .                       *     :.6.6.7.6.7.:.      &                               0+P.P.P.P.P.P.P.P.V.                                    :+:+]+]+9+]+9+9+|+:+:+:+]+B+      ",
-"    i z G G G p+          .                         *   *+7.}.6.4.6.6.*+    %                                 V.y.P.x.P.x.P.P.P.V.                                  F+]+|+9+:+]+:+:+]+]+:+|+|+:+B+      ",
-"    i z G G ^+            .                         ' n.4.6.7.4.7.4.6.      &                               0+x.P.P.P.P.P.P.P.P.~+                                  s+9+]+:+]+|+6+]+]+|+9+]+]+9+        ",
-"    i z G F.              .                       *   O.4.6.6.6.6.4.*+    &                                 ~+P.P.P.P.P.P.P.P.Z.l+                                  s+6+9+|+]+9+|+|+]+6+:+6+6+9+        ",
-"    j z !.                .                       ] J 4.6.4.[.4.[.l.      &                                 P.P.P.P.P.P.P.P.P.V.                                    c+9+6+]+|+6+9+]+6+9+|+9+|+i+        ",
-"  a+i ;.                  .                     '   l.[.(.6.6.6.4.*+      &                               h+P.P.S.P.S.P.P.P.P.0+                                    :+|+]+]+|+6+|+9+6+]+6+]+9+t+        ",
-"  a+!.                    .                     ] t.(.6.7.4.4.[.6.      &                                 S.P.P.P.P.P.S.S.S.S.q+                                  D+9+9+|+6+]+9+]+6+|+6+9+6+:+E+        ",
-"                        .                       3+7.[.6.(.6.6.6.*+      &                               h+S.S.P.S.~+P.P.P.P.~+                                    r+6+]+9+6+6+6+9+]+9+6+9+6+9+          ",
-"                        .                       6.(.6.4.4.4.(.6.        &                               ~+P.P.P.P.P.P.P.P.P.h+                                    c+6+|+6+9+6+9+6+|+6+|+6+9+9+          ",
-"                        .                     l.[.[.(.6.(.4.(.3+      %                               l+S.V.~+P.P.P.~+P.P.S.                                      9+]+|+6+9+6+|+9+9+]+|+6+9+t+          ",
-"                        ~                   *+(.6.4.4.4.6.4.l.        %                               ~+P.S.P.S.P.S.P.S.S.0+                                    B+9+6+9+9+6+|+9+6+6+|+]+]+|+D+          ",
-"                        ~                 '+(.[.(.(.(.4.4.6.d+      &                                 S.P.S.P.S.P.S.P.P.~+                                      i+9+6+6+9+6+6+:+9+:+6+|+6+c+            ",
-"                        =               '+(.[.(.(.[.4.[.(.O.        %                               ~+~+S.Z.S.Z.S.P.Z.S.~+                                      9+6+6+9+6+9+:+9+6+6+9+6+]+m+            ",
-"                        _             '+Z }.}.4.6.(.(.[.4.          &                             q+S.S.S.~+S.~+S.S.S.S.l+                                    x+]+9+6+9+6+9+6+9+9+6+9+|+6+B+            ",
-"                        ) h         h.Z -.-.}.(.(.[.[.(.'+          &                             R.Z.Z.S.S.S.S.~+Z.Z.R.                                      r+|+6+|+6+9+6+|+6+6+9+6+9+]+F+            ",
-"                        _ 3 x k.j.I Z -.Z Z }.4.(.(.4.t.          %                             l+S.S.Z.Z.Z.S.S.S.S.Z.h+                                    F+]+9+6+9+6+9+6+9+9+6+9+6+6+c+              ",
-"                        ) 3 7 q I I Z N }.}.}.(.}.}.(.            &                             Z.Z.S.Z.Z.S.Z.Z.Z.Z.~+                                      B+6+6+9+6+|+6+9+6+6+|+6+6+9+y+              ",
-"                      = ! 7 c q I N Z Z Z Z -.}.}.}.'+          %                             l+S.Z.S.S.Z.S.S.S.S.Z.h+                                      c+9+6+9+6+9+6+|+9+6+9+9+6+6+                ",
-"                      _ ) 3 l q N N Z N -.}.Z -.(.O.            &                             R.R.R.S.K.S.Z.Z.Z.V.$+                                      D+6+6+9+6+9+6+9+6+6+9+6+6+9+m+                ",
-"                      _ 3 3 l q I N Z Z -.-.}.}.Z               &                           $+S.S.Z.Z.Z.K.K.K.K.S.h+                                      i+9+6+9+6+9+6+9+9+6+9+9+6+9+B+                ",
-"                      _ | 7 l y I I N N Z -.(.-.d+              %                         l+R.R.R.R.S.K.Z.S.S.S.~+                                      F+9+6+9+|+6+6+9+6+6+9+|+6+6+9+                  ",
-"                      _ 3 7 c q I R Z :.Z Z -.'+                &                         R.K.K.K.R.Z.S.Z.Z.Z.K.l+                                      r+9+6+6+9+6+6+6+9+6+6+9+9+6+t+                  ",
-"                      ) | 7 l y y I N R Z -.D                   &                       ;+R.Z.Z.S.K.K.R.Z.S.S.5+                                      G+6+6+9+9+6+9+9+9+6+6+9+6+6+]+E+                  ",
-"                        3 x c I y I Z Z Z h.'                 &                       5+K.K.R.R.S.K.S.K.R.R.S.                                        t+9+6+|+9+6+6+6+6+9+6+9+|+|+i+                    ",
-"                        | c l q I R I Z h.  $                 &                       $+R.s.K.R.R.Z.R.K.K.K.5+                                        9+6+9+6+6+6+c+6+9+6+9+|+6+6+x+                    ",
-"                        h 7 l q y N N j.    *                 &                     H.H.R.s.K.H.H.K.Z.K.S.Z.                                        r+9+6+9+6+6+6+6+6+6+6+9+9+9+c+                      ",
-"                        0.l q y I y '+      '                 ;                   ;+v.v.K.R.H.K.K.v.H.Z.R.5+                                      G+9+|+6+c+6+c+6+c+6+6+9+6+|+6+B+                      ",
-"                          0.x D j.          '                 &                 ;+s.R.s.K.H.s.s.R.K.K.K.$+                                        m+9+9+|+9+6+9+6+6+c+6+6+9+9+6+                        ",
-"                                            ( (               ;               ;+v.$+s.R.v.H.R.K.K.R.s.R.                                        E+9+|+9+6+6+c+6+c+6+6+9+9+6+6+t+                        ",
-"                                            ( }             & ;             /+5.v.v.v.s.H.R.H.H.s.K.R.5+                                        i+9+|+9+9+6+6+6+c+6+6+6+9+6+9+                          ",
-"                                            ( }             - ;           /+q.s.s.s.E.H.v.K.v.R.K.R.$+                                        y+|+|+9+9+|+9+c+6+6+c+9+9+|+9+x+                          ",
-"                                            ( 2 0           - ;         D.d.q.q.E.v.v.s.s.H.s.R.v.$+                                          9+9+|+|+9+6+6+9+c+6+6+6+c+6+9+                            ",
-"                                            } 0 0           ; ;       3.q.b.q.q.s.E.s.H.H.v.K.v.H.5+                                        r+9+|+9+9+6+c+9+6+6+c+9+9+|+|+x+                            ",
-"                                            } 0 d d         ; <   N.5.3.q.q.q.q.s.E.E.E.s.v.s.H.5+                                        D+9+9+|+9+9+6+c+9+6+|+6+9+9+9+9+                              ",
-"                                            } 2 s s s M w.w.e @.{.^.3.3.b.d.q.q.q.s.v.v.s.H.s.$+                                          i+9+|+9+|+c+6+|+6+9+9+9+9+6+|+y+                              ",
-"                                            0 0 d s C M V V V ^.^.5.5.5.3.d.q.q.q.q.s.v.E.R.E.                                          r+9+c+|+9+|+9+c+c+|+|+9+6+9+6+i+                                ",
-"                                            2 2 s w C C V V %.{.{.5.b.5.q.3.d.q.q.s.E.E.v.s.q+                                        w+9+9+9+9+9+9+|+|+|+9+9+|+9+|+9+E+                                ",
-"                                            0 0 d w C C S V V {.%.#.3.5.d.d.d.q.q.s.s.E.E.q+                                        E+c+9+9+c+9+c+9+|+9+|+9+9+9+9+|+i+                                  ",
-"                                            } d s s C M V S %.%.^.3.3.3.3.3.d.d.q.d.q.s./+                                          i+!+c+9+9+9+|+9+9+|+9+|+9+|+|+9+G+                                  ",
-"                                            0 d d e M M V S {.{.^.3.3.d.d.D.d.d.q.q.v./+                                          r+[+|+{+9+c+9+9+9+9+9+9+|+9+9+9+B+                                    ",
-"                                              d s s s V S V S %.{.{.5.3.3.d.d.q.q.q./+                                          o+[+!+c+9+|+9+c+9+c+9+c+9+9+|+9+m+                                      ",
-"                                              0 s C s V V %.V {.^.{.5.5.3.3.D.d.q./+                                          n+{+[+{+[+c+c+|+9+9+9+|+9+c+9+|+|+G+                                      ",
-"                                              d w s M M M V %.%.{.3.{.3.d.d.d.q./+                                          w+[+[+{+&+{+{+{+9+c+9+c+9+c+|+9+c+B+                                        ",
-"                                                w s @.S S S %.%.{.5.5.^.3.b.D.                                            G+ at +[+[+[+c+[+<+[+9+c+|+c+9+9+c+|+m+                                          ",
-"                                                w s C M V V S %.^.{.{.3.5.N.                                            C+ at +[+{+&+{+&+<+[+{+{+{+9+9+9+c+9+c+G+                                          ",
-"                                                  w M M S V {.V ^.5.5.{.                                              w+,+,+ at +[+[+{+[+{+c+9+<+[+9+9+9+9+{+D+                                            ",
-"                                                      M @.V V {.{.#.++                                              w+ at +@+ at +[+{+[+[+{+[+&+[+[+{+c+{+{+{+x+                                              ",
-"                                                          w.>.p t b ).                                            8+ at +,+[+,+ at +{+[+[+&+{+{+{+[+!+[+9+9+b+                                                ",
-"                                                            +.b b n u %+                                        2+#+,+ at +Q.@+[+ at +,+[+[+[+[+[+<+[+<+{+i+                                                  ",
-"                                                              b b k u u                                     u+M.M.#+#+ at +,+ at +[+ at +[+{+[+[+{+[+[+[+[+{+z+                                                  ",
-"                                                              b b n u u /.                              A+2+M.#+#+#+,+ at +@+,+,+[+ at +,+[+{+[+{+{+[+<+w+                                                    ",
-"                                                              t k k F u P /.7+                      A+e+z.#+#+ at +M.#+#+,+#+ at +Q.[+ at +@+,+{+&+[+{+[+B+                                                      ",
-"                                                              Y n u u E Q U U T.7+              f+4+I.M.>+M.M.Y. at +M.@+#+ at +,+ at +@+[+[+[+[+[+[+[+n+                                                        ",
-"                                                                k n F Q Q U  .=._.8.G.(+(+)+g.i.z.r.I.M.I.>+I.#+#+#+#+#+#+,+,+Q.,+ at +,+ at +{+{+o+                                                          ",
-"                                                                k u u E U U U =.=._.2.g.i.i.i.A.r.z.z.I.M.Y.#+>+#+#+#+Q. at +@+ at +@+,+[+ at +[+,+s+                                                            ",
-"                                                                ).n E E P U =.=.=.8._._.g.g.i.i.A.A.z.I.z.M.Y.M.M.M.#+#+#+,+ at +@+ at +[+,+ at +g+                                                              ",
-"                                                                  u u Q U U U =._._.2.g.g.g.A.A.A.z.A.z.M.I.I.Y.#+#+#+#+ at +#+,+,+,+,+ at +o+                                                                ",
-"                                                                  ).F Q U U =.=.=.8._.2.2.g.r.r.r.I.I.I.z.M.I.M.#+M.#+#+#+#+ at +@+ at +,+w+                                                                  ",
-"                                                                    Q Q P U U =._._.2._.g.g.g.i.A.A.A.A.I.I.M.X.M.#+ at +#+ at +@+ at +,+#+z+                                                                    ",
-"                                                                    u.U /.U U 8._.8._.2.2.g.g.i.A.A.I.z.I.I.M.I.Y.>+ at +#+#+#+#+#+A+                                                                      ",
-"                                                                      ].U U =.=.=.2.2._.g.i.i.A.i.A.A.I.z.I.>+Y.>+Y.Y.#+#+#+n+                                                                          ",
-"                                                                        /.U  .=.=._._.2.2.g.i.A.A.z.A.I.I.M.I.M.M.M.M.Y.M.z+                                                                            ",
-"                                                                          /.=.8._._.2._.g.g.g.g.i.A.z.A.z.I.I.Y.I.X.#+8+                                                                                ",
-"                                                                            /.8.8._._.2.2.i.i.A.i.A.z.z.I.I.I.M.M.8+A+                                                                                  ",
-"                                                                              }+8._.2.2.g.2.A.i.A.A.A.>+z.z.z.4+A+                                                                                      ",
-"                                                                                  T.)+_.g.2.A.r.A.A.r.A.4+z+                                                                                            ",
-"                                                                                        }+}+(+(+f+f+A+                                                                                                  ",
-"                                                                                                                                                                                                        ",
-"                                                                                                                                                                                                        "};
diff --git a/SRC/QGLViewer/QGLViewer/qglviewer.cpp b/SRC/QGLViewer/QGLViewer/qglviewer.cpp
deleted file mode 100644
index 3c4ec6f..0000000
--- a/SRC/QGLViewer/QGLViewer/qglviewer.cpp
+++ /dev/null
@@ -1,3849 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "domUtils.h"
-#include "qglviewer.h"
-#include "camera.h"
-#include "keyFrameInterpolator.h"
-#include "manipulatedCameraFrame.h"
-
-# include <QtAlgorithms>
-# include <QTextEdit>
-# include <QApplication>
-# include <QFileInfo>
-# include <QDateTime>
-# include <QMessageBox>
-# include <QPushButton>
-# include <QTabWidget>
-# include <QTextStream>
-# include <QMouseEvent>
-# include <QTimer>
-# include <QImage>
-# include <QDir>
-# include <QUrl>
-
-using namespace std;
-using namespace qglviewer;
-
-// Static private variable
-QList<QGLViewer*> QGLViewer::QGLViewerPool_;
-
-
-/*! \mainpage
-
-libQGLViewer is a free C++ library based on Qt that enables the quick creation of OpenGL 3D viewers.
-It features a powerful camera trackball and simple applications simply require an implementation of
-the <code>draw()</code> method. This makes it a tool of choice for OpenGL beginners and
-assignments. It provides screenshot saving, mouse manipulated frames, stereo display, interpolated
-keyFrames, object selection, and much more. It is fully
-customizable and easy to extend to create complex applications, with a possible Qt GUI.
-
-libQGLViewer is <i>not</i> a 3D viewer that can be used directly to view 3D scenes in various
-formats. It is more likely to be the starting point for the coding of such a viewer.
-
-libQGLViewer is based on the Qt toolkit and hence compiles on any architecture (Unix-Linux, Mac,
-Windows, ...). Full reference documentation and many examples are provided.
-
-See the project main page for details on the project and installation steps. */
-
-void QGLViewer::defaultConstructor()
-{
-	// Test OpenGL context
-	// if (glGetString(GL_VERSION) == 0)
-	// qWarning("Unable to get OpenGL version, context may not be available - Check your configuration");
-
-	int poolIndex = QGLViewer::QGLViewerPool_.indexOf(NULL);
-	setFocusPolicy(Qt::StrongFocus);
-
-	if (poolIndex >= 0)
-		QGLViewer::QGLViewerPool_.replace(poolIndex, this);
-	else
-		QGLViewer::QGLViewerPool_.append(this);
-
-	camera_ = new Camera();
-	setCamera(camera());
-
-	setDefaultShortcuts();
-	setDefaultMouseBindings();
-
-	setSnapshotFileName(tr("snapshot", "Default snapshot file name"));
-	initializeSnapshotFormats();
-	setSnapshotCounter(0);
-	setSnapshotQuality(95);
-
-	fpsTime_.start();
-	fpsCounter_     = 0;
-	f_p_s_          = 0.0;
-	fpsString_      = tr("%1Hz", "Frames per seconds, in Hertz").arg("?");
-	visualHint_     = 0;
-	previousPathId_	= 0;
-	// prevPos_ is not initialized since pos() is not meaningful here.
-	// It will be set when setFullScreen(false) is called after setFullScreen(true)
-
-	// #CONNECTION# default values in initFromDOMElement()
-	manipulatedFrame_ = NULL;
-	manipulatedFrameIsACamera_ = false;
-	mouseGrabberIsAManipulatedFrame_ = false;
-	mouseGrabberIsAManipulatedCameraFrame_ = false;
-	displayMessage_ = false;
-	connect(&messageTimer_, SIGNAL(timeout()), SLOT(hideMessage()));
-	messageTimer_.setSingleShot(true);
-	helpWidget_ = NULL;
-	setMouseGrabber(NULL);
-
-	setSceneRadius(1.0);
-	showEntireScene();
-	setStateFileName(".qglviewer.xml");
-
-	// #CONNECTION# default values in initFromDOMElement()
-	setAxisIsDrawn(false);
-	setGridIsDrawn(false);
-	setFPSIsDisplayed(false);
-	setCameraIsEdited(false);
-	setTextIsEnabled(true);
-	setStereoDisplay(false);
-	// Make sure move() is not called, which would call initializeGL()
-	fullScreen_ = false;
-	setFullScreen(false);
-
-	animationTimerId_ = 0;
-	stopAnimation();
-	setAnimationPeriod(40); // 25Hz
-
-	selectBuffer_ = NULL;
-	setSelectBufferSize(4*1000);
-	setSelectRegionWidth(3);
-	setSelectRegionHeight(3);
-	setSelectedName(-1);
-
-	bufferTextureId_ = 0;
-	bufferTextureMaxU_ = 0.0;
-	bufferTextureMaxV_ = 0.0;
-	bufferTextureWidth_ = 0;
-	bufferTextureHeight_ = 0;
-	previousBufferTextureFormat_ = 0;
-	previousBufferTextureInternalFormat_ = 0;
-	currentlyPressedKey_ = Qt::Key(0);
-
-	setAttribute(Qt::WA_NoSystemBackground);
-
-	tileRegion_ = NULL;
-}
-
-#if !defined QT3_SUPPORT
-/*! Constructor. See \c QGLWidget documentation for details.
-
-All viewer parameters (display flags, scene parameters, associated objects...) are set to their default values. See
-the associated documentation.
-
-If the \p shareWidget parameter points to a valid \c QGLWidget, the QGLViewer will share the OpenGL
-context with \p shareWidget (see isSharing()). */
-QGLViewer::QGLViewer(QWidget* parent, const QGLWidget* shareWidget, Qt::WindowFlags flags)
-	: QGLWidget(parent, shareWidget, flags)
-{ defaultConstructor(); }
-
-/*! Same as QGLViewer(), but a \c QGLContext can be provided so that viewers share GL contexts, even
-with \c QGLContext sub-classes (use \p shareWidget otherwise). */
-QGLViewer::QGLViewer(QGLContext *context, QWidget* parent, const QGLWidget* shareWidget, Qt::WindowFlags flags)
-	: QGLWidget(context, parent, shareWidget, flags)
-{ defaultConstructor(); }
-
-/*! Same as QGLViewer(), but a specific \c QGLFormat can be provided.
-
-This is for instance needed to ask for a stencil buffer or for stereo display (as is illustrated in
-the <a href="../examples/stereoViewer.html">stereoViewer example</a>). */
-QGLViewer::QGLViewer(const QGLFormat& format, QWidget* parent, const QGLWidget* shareWidget, Qt::WindowFlags flags)
-	: QGLWidget(format, parent, shareWidget, flags)
-{ defaultConstructor(); }
-#endif // QT3_SUPPORT
-
-/*! Virtual destructor.
-
-The viewer is replaced by \c NULL in the QGLViewerPool() (in order to preserve other viewer's indexes) and allocated
-memory is released. The camera() is deleted and should be copied before if it is shared by an other viewer. */
-QGLViewer::~QGLViewer()
-{
-	// See closeEvent comment. Destructor is called (and not closeEvent) only when the widget is embedded.
-	// Hence we saveToFile here. It is however a bad idea if virtual domElement() has been overloaded !
-	// if (parent())
-	// saveStateToFileForAllViewers();
-
-	QGLViewer::QGLViewerPool_.replace(QGLViewer::QGLViewerPool_.indexOf(this), NULL);
-
-	delete camera();
-	delete[] selectBuffer_;
-	if (helpWidget())
-	{
-		// Needed for Qt 4 which has no main widget.
-		helpWidget()->close();
-		delete helpWidget_;
-	}
-}
-
-
-static QString QGLViewerVersionString()
-{
-	return QString::number((QGLVIEWER_VERSION & 0xff0000) >> 16) + "." +
-			QString::number((QGLVIEWER_VERSION & 0x00ff00) >> 8) + "." +
-			QString::number(QGLVIEWER_VERSION & 0x0000ff);
-}
-
-static Qt::KeyboardModifiers keyboardModifiersFromState(unsigned int state) {
-	// Convertion of keyboard modifiers and mouse buttons as an int is no longer supported : emulate
-	return Qt::KeyboardModifiers(int(state & 0xFF000000));
-}
-
-
-static Qt::MouseButton mouseButtonFromState(unsigned int state) {
-	// Convertion of keyboard modifiers and mouse buttons as an int is no longer supported : emulate
-	return Qt::MouseButton(state & 0xFFFF);
-}
-
-/*! Initializes the QGLViewer OpenGL context and then calls user-defined init().
-
-This method is automatically called once, before the first call to paintGL().
-
-Overload init() instead of this method to modify viewer specific OpenGL state or to create display
-lists.
-
-To make beginners' life easier and to simplify the examples, this method slightly modifies the
-standard OpenGL state:
-\code
-glEnable(GL_LIGHT0);
-glEnable(GL_LIGHTING);
-glEnable(GL_DEPTH_TEST);
-glEnable(GL_COLOR_MATERIAL);
-\endcode
-
-If you port an existing application to QGLViewer and your display changes, you probably want to
-disable these flags in init() to get back to a standard OpenGL state. */
-void QGLViewer::initializeGL()
-{
-	glEnable(GL_LIGHT0);
-	glEnable(GL_LIGHTING);
-	glEnable(GL_DEPTH_TEST);
-	glEnable(GL_COLOR_MATERIAL);
-
-	// Default colors
-	setForegroundColor(QColor(180, 180, 180));
-	setBackgroundColor(QColor(51, 51, 51));
-
-	// Clear the buffer where we're going to draw
-	if (format().stereo())
-	{
-		glDrawBuffer(GL_BACK_RIGHT);
-		glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-		glDrawBuffer(GL_BACK_LEFT);
-		glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-	}
-	else
-		glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
-	// Calls user defined method. Default emits a signal.
-	init();
-
-	// Give time to glInit to finish and then call setFullScreen().
-	if (isFullScreen())
-		QTimer::singleShot( 100, this, SLOT(delayedFullScreen()) );
-}
-
-/*! Main paint method, inherited from \c QGLWidget.
-
-Calls the following methods, in that order:
-\arg preDraw() (or preDrawStereo() if viewer displaysInStereo()) : places the camera in the world coordinate system.
-\arg draw() (or fastDraw() when the camera is manipulated) : main drawing method. Should be overloaded.
-\arg postDraw() : display of visual hints (world axis, FPS...) */
-void QGLViewer::paintGL()
-{
-	if (displaysInStereo())
-	{
-		for (int view=1; view>=0; --view)
-		{
-			// Clears screen, set model view matrix with shifted matrix for ith buffer
-			preDrawStereo(view);
-			// Used defined method. Default is empty
-			if (camera()->frame()->isManipulated())
-				fastDraw();
-			else
-				draw();
-			postDraw();
-		}
-	}
-	else
-	{
-		// Clears screen, set model view matrix...
-		preDraw();
-		// Used defined method. Default calls draw()
-		if (camera()->frame()->isManipulated())
-			fastDraw();
-		else
-			draw();
-		// Add visual hints: axis, camera, grid...
-		postDraw();
-	}
-	Q_EMIT drawFinished(true);
-}
-
-/*! Sets OpenGL state before draw().
-
-Default behavior clears screen and sets the projection and modelView matrices:
-\code
-glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
-camera()->loadProjectionMatrix();
-camera()->loadModelViewMatrix();
-\endcode
-
-Emits the drawNeeded() signal once this is done (see the <a href="../examples/callback.html">callback example</a>). */
-void QGLViewer::preDraw()
-{
-	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
-	// GL_PROJECTION matrix
-	camera()->loadProjectionMatrix();
-	// GL_MODELVIEW matrix
-	camera()->loadModelViewMatrix();
-
-	Q_EMIT drawNeeded();
-}
-
-/*! Called after draw() to draw viewer visual hints.
-
-Default implementation displays axis, grid, FPS... when the respective flags are sets.
-
-See the <a href="../examples/multiSelect.html">multiSelect</a> and <a
-href="../examples/contribs.html#thumbnail">thumbnail</a> examples for an overloading illustration.
-
-The GLContext (color, LIGHTING, BLEND...) is \e not modified by this method, so that in
-draw(), the user can rely on the OpenGL context he defined. Respect this convention (by pushing/popping the
-different attributes) if you overload this method. */
-void QGLViewer::postDraw()
-{
-	// Reset model view matrix to world coordinates origin
-	glMatrixMode(GL_MODELVIEW);
-	glPushMatrix();
-	camera()->loadModelViewMatrix();
-	// TODO restore model loadProjectionMatrixStereo
-
-	// Save OpenGL state
-	glPushAttrib(GL_ALL_ATTRIB_BITS);
-
-	// Set neutral GL state
-	glDisable(GL_TEXTURE_1D);
-	glDisable(GL_TEXTURE_2D);
-#ifdef GL_TEXTURE_3D  // OpenGL 1.2 Only...
-	glDisable(GL_TEXTURE_3D);
-#endif
-
-	glDisable(GL_TEXTURE_GEN_Q);
-	glDisable(GL_TEXTURE_GEN_R);
-	glDisable(GL_TEXTURE_GEN_S);
-	glDisable(GL_TEXTURE_GEN_T);
-
-#ifdef GL_RESCALE_NORMAL  // OpenGL 1.2 Only...
-	glEnable(GL_RESCALE_NORMAL);
-#endif
-
-	glDisable(GL_COLOR_MATERIAL);
-	qglColor(foregroundColor());
-
-	if (cameraIsEdited())
-		camera()->drawAllPaths();
-
-	// Pivot point, line when camera rolls, zoom region
-	drawVisualHints();
-
-	if (gridIsDrawn()) { glLineWidth(1.0); drawGrid(camera()->sceneRadius()); }
-	if (axisIsDrawn()) { glLineWidth(2.0); drawAxis(camera()->sceneRadius()); }
-
-	// FPS computation
-	const unsigned int maxCounter = 20;
-	if (++fpsCounter_ == maxCounter)
-	{
-		f_p_s_ = 1000.0 * maxCounter / fpsTime_.restart();
-		fpsString_ = tr("%1Hz", "Frames per seconds, in Hertz").arg(f_p_s_, 0, 'f', ((f_p_s_ < 10.0)?1:0));
-		fpsCounter_ = 0;
-	}
-
-	// Restore foregroundColor
-	float color[4];
-	color[0] = foregroundColor().red()   / 255.0f;
-	color[1] = foregroundColor().green() / 255.0f;
-	color[2] = foregroundColor().blue()  / 255.0f;
-	color[3] = 1.0f;
-	glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, color);
-	glDisable(GL_LIGHTING);
-	glDisable(GL_DEPTH_TEST);
-
-	if (FPSIsDisplayed()) displayFPS();
-	if (displayMessage_) drawText(10, height()-10,  message_);
-
-	// Restore GL state
-	glPopAttrib();
-	glPopMatrix();
-}
-
-/*! Called before draw() (instead of preDraw()) when viewer displaysInStereo().
-
-Same as preDraw() except that the glDrawBuffer() is set to \c GL_BACK_LEFT or \c GL_BACK_RIGHT
-depending on \p leftBuffer, and it uses qglviewer::Camera::loadProjectionMatrixStereo() and
-qglviewer::Camera::loadModelViewMatrixStereo() instead. */
-void QGLViewer::preDrawStereo(bool leftBuffer)
-{
-	// Set buffer to draw in
-	// Seems that SGI and Crystal Eyes are not synchronized correctly !
-	// That's why we don't draw in the appropriate buffer...
-	if (!leftBuffer)
-		glDrawBuffer(GL_BACK_LEFT);
-	else
-		glDrawBuffer(GL_BACK_RIGHT);
-
-	// Clear the buffer where we're going to draw
-	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-	// GL_PROJECTION matrix
-	camera()->loadProjectionMatrixStereo(leftBuffer);
-	// GL_MODELVIEW matrix
-	camera()->loadModelViewMatrixStereo(leftBuffer);
-
-	Q_EMIT drawNeeded();
-}
-
-/*! Draws a simplified version of the scene to guarantee interactive camera displacements.
-
-This method is called instead of draw() when the qglviewer::Camera::frame() is
-qglviewer::ManipulatedCameraFrame::isManipulated(). Default implementation simply calls draw().
-
-Overload this method if your scene is too complex to allow for interactive camera manipulation. See
-the <a href="../examples/fastDraw.html">fastDraw example</a> for an illustration. */
-void QGLViewer::fastDraw()
-{
-	draw();
-}
-
-/*! Starts (\p edit = \c true, default) or stops (\p edit=\c false) the edition of the camera().
-
-Current implementation is limited to paths display. Get current state using cameraIsEdited().
-
-\attention This method sets the qglviewer::Camera::zClippingCoefficient() to 5.0 when \p edit is \c
-true, so that the Camera paths (see qglviewer::Camera::keyFrameInterpolator()) are not clipped. It
-restores the previous value when \p edit is \c false. */
-void QGLViewer::setCameraIsEdited(bool edit)
-{
-	cameraIsEdited_ = edit;
-	if (edit)
-	{
-		previousCameraZClippingCoefficient_ = camera()->zClippingCoefficient();
-		// #CONNECTION# 5.0 also used in domElement() and in initFromDOMElement().
-		camera()->setZClippingCoefficient(5.0);
-	}
-	else
-		camera()->setZClippingCoefficient(previousCameraZClippingCoefficient_);
-
-	Q_EMIT cameraIsEditedChanged(edit);
-
-	update();
-}
-
-// Key bindings. 0 means not defined
-void QGLViewer::setDefaultShortcuts()
-{
-	// D e f a u l t   a c c e l e r a t o r s
-	setShortcut(DRAW_AXIS, Qt::Key_A);
-	setShortcut(DRAW_GRID, Qt::Key_G);
-	setShortcut(DISPLAY_FPS, Qt::Key_F);
-	setShortcut(ENABLE_TEXT, Qt::SHIFT+Qt::Key_Question);
-	setShortcut(EXIT_VIEWER, Qt::Key_Escape);
-	setShortcut(SAVE_SCREENSHOT, Qt::CTRL+Qt::Key_S);
-	setShortcut(CAMERA_MODE, Qt::Key_Space);
-	setShortcut(FULL_SCREEN, Qt::ALT+Qt::Key_Return);
-	setShortcut(STEREO, Qt::Key_S);
-	setShortcut(ANIMATION, Qt::Key_Return);
-	setShortcut(HELP, Qt::Key_H);
-	setShortcut(EDIT_CAMERA, Qt::Key_C);
-	setShortcut(MOVE_CAMERA_LEFT, Qt::Key_Left);
-	setShortcut(MOVE_CAMERA_RIGHT,Qt::Key_Right);
-	setShortcut(MOVE_CAMERA_UP, Qt::Key_Up);
-	setShortcut(MOVE_CAMERA_DOWN, Qt::Key_Down);
-	setShortcut(INCREASE_FLYSPEED, Qt::Key_Plus);
-	setShortcut(DECREASE_FLYSPEED, Qt::Key_Minus);
-	setShortcut(SNAPSHOT_TO_CLIPBOARD, Qt::CTRL+Qt::Key_C);
-
-	keyboardActionDescription_[DISPLAY_FPS] = tr("Toggles the display of the FPS", "DISPLAY_FPS action description");
-	keyboardActionDescription_[SAVE_SCREENSHOT] = tr("Saves a screenshot", "SAVE_SCREENSHOT action description");
-	keyboardActionDescription_[FULL_SCREEN] = tr("Toggles full screen display", "FULL_SCREEN action description");
-	keyboardActionDescription_[DRAW_AXIS] = tr("Toggles the display of the world axis", "DRAW_AXIS action description");
-	keyboardActionDescription_[DRAW_GRID] = tr("Toggles the display of the XY grid", "DRAW_GRID action description");
-	keyboardActionDescription_[CAMERA_MODE] = tr("Changes camera mode (observe or fly)", "CAMERA_MODE action description");
-	keyboardActionDescription_[STEREO] = tr("Toggles stereo display", "STEREO action description");
-	keyboardActionDescription_[HELP] = tr("Opens this help window", "HELP action description");
-	keyboardActionDescription_[ANIMATION] = tr("Starts/stops the animation", "ANIMATION action description");
-	keyboardActionDescription_[EDIT_CAMERA] = tr("Toggles camera paths display", "EDIT_CAMERA action description"); // TODO change
-	keyboardActionDescription_[ENABLE_TEXT] = tr("Toggles the display of the text", "ENABLE_TEXT action description");
-	keyboardActionDescription_[EXIT_VIEWER] = tr("Exits program", "EXIT_VIEWER action description");
-	keyboardActionDescription_[MOVE_CAMERA_LEFT] = tr("Moves camera left", "MOVE_CAMERA_LEFT action description");
-	keyboardActionDescription_[MOVE_CAMERA_RIGHT] = tr("Moves camera right", "MOVE_CAMERA_RIGHT action description");
-	keyboardActionDescription_[MOVE_CAMERA_UP] = tr("Moves camera up", "MOVE_CAMERA_UP action description");
-	keyboardActionDescription_[MOVE_CAMERA_DOWN] = tr("Moves camera down", "MOVE_CAMERA_DOWN action description");
-	keyboardActionDescription_[INCREASE_FLYSPEED] = tr("Increases fly speed", "INCREASE_FLYSPEED action description");
-	keyboardActionDescription_[DECREASE_FLYSPEED] = tr("Decreases fly speed", "DECREASE_FLYSPEED action description");
-	keyboardActionDescription_[SNAPSHOT_TO_CLIPBOARD] = tr("Copies a snapshot to clipboard", "SNAPSHOT_TO_CLIPBOARD action description");
-
-	// K e y f r a m e s   s h o r t c u t   k e y s
-	setPathKey(Qt::Key_F1,   1);
-	setPathKey(Qt::Key_F2,   2);
-	setPathKey(Qt::Key_F3,   3);
-	setPathKey(Qt::Key_F4,   4);
-	setPathKey(Qt::Key_F5,   5);
-	setPathKey(Qt::Key_F6,   6);
-	setPathKey(Qt::Key_F7,   7);
-	setPathKey(Qt::Key_F8,   8);
-	setPathKey(Qt::Key_F9,   9);
-	setPathKey(Qt::Key_F10, 10);
-	setPathKey(Qt::Key_F11, 11);
-	setPathKey(Qt::Key_F12, 12);
-
-	setAddKeyFrameKeyboardModifiers(Qt::AltModifier);
-	setPlayPathKeyboardModifiers(Qt::NoModifier);
-}
-
-// M o u s e   b e h a v i o r
-void QGLViewer::setDefaultMouseBindings()
-{
-	const Qt::KeyboardModifiers cameraKeyboardModifiers = Qt::NoModifier;
-	const Qt::KeyboardModifiers frameKeyboardModifiers = Qt::ControlModifier;
-
-	//#CONNECTION# toggleCameraMode()
-	for (int handler=0; handler<2; ++handler)
-	{
-		MouseHandler mh = (MouseHandler)(handler);
-		Qt::KeyboardModifiers modifiers = (mh == FRAME) ? frameKeyboardModifiers : cameraKeyboardModifiers;
-
-		setMouseBinding(modifiers, Qt::LeftButton,  mh, ROTATE);
-		setMouseBinding(modifiers, Qt::MidButton,   mh, ZOOM);
-		setMouseBinding(modifiers, Qt::RightButton, mh, TRANSLATE);
-
-		setMouseBinding(Qt::Key_R, modifiers, Qt::LeftButton, mh, SCREEN_ROTATE);
-
-		setWheelBinding(modifiers, mh, ZOOM);
-	}
-
-	// Z o o m   o n   r e g i o n
-	setMouseBinding(Qt::ShiftModifier, Qt::MidButton, CAMERA, ZOOM_ON_REGION);
-
-	// S e l e c t
-	setMouseBinding(Qt::ShiftModifier, Qt::LeftButton, SELECT);
-
-	setMouseBinding(Qt::ShiftModifier, Qt::RightButton, RAP_FROM_PIXEL);
-	// D o u b l e   c l i c k
-	setMouseBinding(Qt::NoModifier, Qt::LeftButton, ALIGN_CAMERA,      true);
-	setMouseBinding(Qt::NoModifier, Qt::MidButton,  SHOW_ENTIRE_SCENE, true);
-	setMouseBinding(Qt::NoModifier, Qt::RightButton, CENTER_SCENE,     true);
-
-	setMouseBinding(frameKeyboardModifiers, Qt::LeftButton, ALIGN_FRAME, true);
-	// middle double click makes no sense for manipulated frame
-	setMouseBinding(frameKeyboardModifiers, Qt::RightButton, CENTER_FRAME, true);
-
-	// A c t i o n s   w i t h   k e y   m o d i f i e r s
-	setMouseBinding(Qt::Key_Z, Qt::NoModifier, Qt::LeftButton, ZOOM_ON_PIXEL);
-	setMouseBinding(Qt::Key_Z, Qt::NoModifier, Qt::RightButton, ZOOM_TO_FIT);
-
-#ifdef Q_OS_MAC
-	// Specific Mac bindings for touchpads. Two fingers emulate a wheelEvent which zooms.
-	// There is no right button available : make Option key + left emulate the right button.
-	// A Control+Left indeed emulates a right click (OS X system configuration), but it does
-	// no seem to support dragging.
-	// Done at the end to override previous settings.
-	const Qt::KeyboardModifiers macKeyboardModifiers = Qt::AltModifier;
-
-	setMouseBinding(macKeyboardModifiers, Qt::LeftButton, CAMERA, TRANSLATE);
-	setMouseBinding(macKeyboardModifiers, Qt::LeftButton, CENTER_SCENE, true);
-	setMouseBinding(frameKeyboardModifiers | macKeyboardModifiers, Qt::LeftButton, CENTER_FRAME, true);
-	setMouseBinding(frameKeyboardModifiers | macKeyboardModifiers, Qt::LeftButton, FRAME, TRANSLATE);
-#endif
-}
-
-/*! Associates a new qglviewer::Camera to the viewer.
-
-You should only use this method when you derive a new class from qglviewer::Camera and want to use
-one of its instances instead of the original class.
-
-It you simply want to save and restore Camera positions, use qglviewer::Camera::addKeyFrameToPath()
-and qglviewer::Camera::playPath() instead.
-
-This method silently ignores \c NULL \p camera pointers. The calling method is responsible for deleting
-the previous camera pointer in order to prevent memory leaks if needed.
-
-The sceneRadius() and sceneCenter() of \p camera are set to the \e current QGLViewer values.
-
-All the \p camera qglviewer::Camera::keyFrameInterpolator()
-qglviewer::KeyFrameInterpolator::interpolated() signals are connected to the viewer update() slot.
-The connections with the previous viewer's camera are removed. */
-void QGLViewer::setCamera(Camera* const camera)
-{
-	if (!camera)
-		return;
-
-	camera->setSceneRadius(sceneRadius());
-	camera->setSceneCenter(sceneCenter());
-	camera->setScreenWidthAndHeight(width(), height());
-
-	// Disconnect current camera from this viewer.
-	disconnect(this->camera()->frame(), SIGNAL(manipulated()), this, SLOT(update()));
-	disconnect(this->camera()->frame(), SIGNAL(spun()), this, SLOT(update()));
-
-	// Connect camera frame to this viewer.
-	connect(camera->frame(), SIGNAL(manipulated()), SLOT(update()));
-	connect(camera->frame(), SIGNAL(spun()), SLOT(update()));
-
-	connectAllCameraKFIInterpolatedSignals(false);
-	camera_ = camera;
-	connectAllCameraKFIInterpolatedSignals();
-
-	previousCameraZClippingCoefficient_ = this->camera()->zClippingCoefficient();
-}
-
-void QGLViewer::connectAllCameraKFIInterpolatedSignals(bool connection)
-{
-	for (QMap<unsigned int, KeyFrameInterpolator*>::ConstIterator it = camera()->kfi_.begin(), end=camera()->kfi_.end(); it != end; ++it)
-	{
-		if (connection)
-			connect(camera()->keyFrameInterpolator(it.key()), SIGNAL(interpolated()), SLOT(update()));
-		else
-			disconnect(camera()->keyFrameInterpolator(it.key()), SIGNAL(interpolated()), this, SLOT(update()));
-	}
-
-	if (connection)
-		connect(camera()->interpolationKfi_, SIGNAL(interpolated()), SLOT(update()));
-	else
-		disconnect(camera()->interpolationKfi_, SIGNAL(interpolated()), this, SLOT(update()));
-}
-
-/*! Draws a representation of \p light.
-
-Called in draw(), this method is useful to debug or display your light setup. Light drawing depends
-on the type of light (point, spot, directional).
-
-The method retrieves the light setup using \c glGetLightfv. Position and define your lights before
-calling this method.
-
-Light is drawn using its diffuse color. Disabled lights are not displayed.
-
-Drawing size is proportional to sceneRadius(). Use \p scale to rescale it.
-
-See the <a href="../examples/drawLight.html">drawLight example</a> for an illustration.
-
-\attention You need to enable \c GL_COLOR_MATERIAL before calling this method. \c glColor is set to
-the light diffuse color. */
-void QGLViewer::drawLight(GLenum light, qreal scale) const
-{
-	static GLUquadric* quadric = gluNewQuadric();
-
-	const qreal length = sceneRadius() / 5.0 * scale;
-
-	GLboolean lightIsOn;
-	glGetBooleanv(light, &lightIsOn);
-
-	if (lightIsOn)
-	{
-		// All light values are given in eye coordinates
-		glPushMatrix();
-		glLoadIdentity();
-
-		float color[4];
-		glGetLightfv(light, GL_DIFFUSE, color);
-		glColor4fv(color);
-
-		float pos[4];
-		glGetLightfv(light, GL_POSITION, pos);
-
-		if (pos[3] != 0.0)
-		{
-			glTranslatef(pos[0]/pos[3], pos[1]/pos[3], pos[2]/pos[3]);
-
-			GLfloat cutOff;
-			glGetLightfv(light, GL_SPOT_CUTOFF, &cutOff);
-			if (cutOff != 180.0)
-			{
-				GLfloat dir[4];
-				glGetLightfv(light, GL_SPOT_DIRECTION, dir);
-				glMultMatrixd(Quaternion(Vec(0,0,1), Vec(dir)).matrix());
-				QGLViewer::drawArrow(length);
-				gluCylinder(quadric, 0.0, 0.7 * length * sin(cutOff * M_PI / 180.0), 0.7 * length * cos(cutOff * M_PI / 180.0), 12, 1);
-			}
-			else
-				gluSphere(quadric, 0.2*length, 10, 10);
-		}
-		else
-		{
-			// Directional light.
-			Vec dir(pos[0], pos[1], pos[2]);
-			dir.normalize();
-			Frame fr=Frame(camera()->cameraCoordinatesOf(4.0 * length * camera()->frame()->inverseTransformOf(dir)),
-						   Quaternion(Vec(0,0,-1), dir));
-			glMultMatrixd(fr.matrix());
-			drawArrow(length);
-		}
-
-		glPopMatrix();
-	}
-}
-
-
-/*! Draws \p text at position \p x, \p y (expressed in screen coordinates pixels, origin in the
-upper left corner of the widget).
-
-The default QApplication::font() is used to render the text when no \p fnt is specified. Use
-QApplication::setFont() to define this default font.
-
-You should disable \c GL_LIGHTING and \c GL_DEPTH_TEST before this method so that colors are properly rendered.
-
-This method can be used in conjunction with the qglviewer::Camera::projectedCoordinatesOf()
-method to display a text attached to an object. In your draw() method use:
-\code
-qglviewer::Vec screenPos = camera()->projectedCoordinatesOf(myFrame.position());
-drawText((int)screenPos[0], (int)screenPos[1], "My Object");
-\endcode
-See the <a href="../examples/screenCoordSystem.html">screenCoordSystem example</a> for an illustration.
-
-Text is displayed only when textIsEnabled() (default). This mechanism allows the user to
-conveniently remove all the displayed text with a single keyboard shortcut.
-
-See also displayMessage() to drawText() for only a short amount of time.
-
-Use QGLWidget::renderText(x,y,z, text) instead if you want to draw a text located
- at a specific 3D position instead of 2D screen coordinates (fixed size text, facing the camera).
-
-The \c GL_MODELVIEW and \c GL_PROJECTION matrices are not modified by this method.
-
-\attention This method uses display lists to render the characters, with an index that starts at
-2000 by default (see the QGLWidget::renderText() documentation). If you use more than 2000 Display
-Lists, they may overlap with these. Directly use QGLWidget::renderText() in that case, with a
-higher \c listBase parameter (or overload <code>fontDisplayListBase</code>).*/
-void QGLViewer::drawText(int x, int y, const QString& text, const QFont& fnt)
-{
-	if (!textIsEnabled())
-		return;
-
-	if (tileRegion_ != NULL) {
-		renderText(int((x-tileRegion_->xMin) * width() / (tileRegion_->xMax - tileRegion_->xMin)),
-				   int((y-tileRegion_->yMin) * height() / (tileRegion_->yMax - tileRegion_->yMin)), text, scaledFont(fnt));
-	} else
-		renderText(x, y, text, fnt);
-}
-
-/*! Briefly displays a message in the lower left corner of the widget. Convenient to provide
-feedback to the user.
-
-\p message is displayed during \p delay milliseconds (default is 2 seconds) using drawText().
-
-This method should not be called in draw(). If you want to display a text in each draw(), use
-drawText() instead.
-
-If this method is called when a message is already displayed, the new message replaces the old one.
-Use setTextIsEnabled() (default shortcut is '?') to enable or disable text (and hence messages)
-display. */
-void QGLViewer::displayMessage(const QString& message, int delay)
-{
-	message_ = message;
-	displayMessage_ = true;
-	// Was set to single shot in defaultConstructor.
-	messageTimer_.start(delay);
-	if (textIsEnabled())
-		update();
-}
-
-void QGLViewer::hideMessage()
-{
-	displayMessage_ = false;
-	if (textIsEnabled())
-		update();
-}
-
-
-/*! Displays the averaged currentFPS() frame rate in the upper left corner of the widget.
-
-update() should be called in a loop in order to have a meaningful value (this is the case when
-you continuously move the camera using the mouse or when animationIsStarted()).
-setAnimationPeriod(0) to make this loop as fast as possible in order to reach and measure the
-maximum available frame rate.
-
-When FPSIsDisplayed() is \c true (default is \c false), this method is called by postDraw() to
-display the currentFPS(). Use QApplication::setFont() to define the font (see drawText()). */
-void QGLViewer::displayFPS()
-{
-	drawText(10, int(1.5*((QApplication::font().pixelSize()>0)?QApplication::font().pixelSize():QApplication::font().pointSize())), fpsString_);
-}
-
-/*! Modify the projection matrix so that drawing can be done directly with 2D screen coordinates.
-
-Once called, the \p x and \p y coordinates passed to \c glVertex are expressed in pixels screen
-coordinates. The origin (0,0) is in the upper left corner of the widget by default. This follows
-the Qt standards, so that you can directly use the \c pos() provided by for instance \c
-QMouseEvent. Set \p upward to \c true to place the origin in the \e lower left corner, thus
-following the OpenGL and mathematical standards. It is always possible to switch between the two
-representations using \c newY = height() - \c y.
-
-You need to call stopScreenCoordinatesSystem() at the end of the drawing block to restore the
-previous camera matrix.
-
-In practice, this method should be used in draw(). It sets an appropriate orthographic projection
-matrix and then sets \c glMatrixMode to \c GL_MODELVIEW.
-
-See the <a href="../examples/screenCoordSystem.html">screenCoordSystem</a>, <a
-href="../examples/multiSelect.html">multiSelect</a> and <a
-href="../examples/contribs.html#backgroundImage">backgroundImage</a> examples for an illustration.
-
-You may want to disable \c GL_LIGHTING, to enable \c GL_LINE_SMOOTH or \c GL_BLEND to draw when
-this method is used.
-
-If you want to link 2D drawings to 3D objects, use qglviewer::Camera::projectedCoordinatesOf() to
-compute the 2D projection on screen of a 3D point (see the <a
-href="../examples/screenCoordSystem.html">screenCoordSystem</a> example). See also drawText().
-
-In this mode, you should use z values that are in the [0.0, 1.0[ range (0.0 corresponding to the
-near clipping plane and 1.0 being just beyond the far clipping plane). This interval matches the
-values that can be read from the z-buffer. Note that if you use the convenient \c glVertex2i() to
-provide coordinates, the implicit 0.0 z coordinate will make your drawings appear \e on \e top of
-the rest of the scene. */
-void QGLViewer::startScreenCoordinatesSystem(bool upward) const
-{
-	glMatrixMode(GL_PROJECTION);
-	glPushMatrix();
-	glLoadIdentity();
-	if (tileRegion_ != NULL)
-		if (upward)
-			glOrtho(tileRegion_->xMin, tileRegion_->xMax, tileRegion_->yMin, tileRegion_->yMax, 0.0, -1.0);
-		else
-			glOrtho(tileRegion_->xMin, tileRegion_->xMax, tileRegion_->yMax, tileRegion_->yMin, 0.0, -1.0);
-	else
-		if (upward)
-			glOrtho(0, width(), 0, height(), 0.0, -1.0);
-		else
-			glOrtho(0, width(), height(), 0, 0.0, -1.0);
-
-	glMatrixMode(GL_MODELVIEW);
-	glPushMatrix();
-	glLoadIdentity();
-}
-
-/*! Stops the pixel coordinate drawing block started by startScreenCoordinatesSystem().
-
-The \c GL_MODELVIEW and \c GL_PROJECTION matrices modified in
-startScreenCoordinatesSystem() are restored. \c glMatrixMode is set to \c GL_MODELVIEW. */
-void QGLViewer::stopScreenCoordinatesSystem() const
-{
-	glMatrixMode(GL_PROJECTION);
-	glPopMatrix();
-
-	glMatrixMode(GL_MODELVIEW);
-	glPopMatrix();
-}
-
-/*! Overloading of the \c QObject method.
-
-If animationIsStarted(), calls animate() and draw(). */
-void QGLViewer::timerEvent(QTimerEvent *)
-{
-	if (animationIsStarted())
-	{
-		animate();
-		update();
-	}
-}
-
-/*! Starts the animation loop. See animationIsStarted(). */
-void QGLViewer::startAnimation()
-{
-	animationTimerId_ = startTimer(animationPeriod());
-	animationStarted_ = true;
-}
-
-/*! Stops animation. See animationIsStarted(). */
-void QGLViewer::stopAnimation()
-{
-  if (animationStarted_ == true)
-    {
-	animationStarted_ = false;
-	if (animationTimerId_ != 0)
-		killTimer(animationTimerId_);
-    }
-}
-
-/*! Overloading of the \c QWidget method.
-
-Saves the viewer state using saveStateToFile() and then calls QGLWidget::closeEvent(). */
-void QGLViewer::closeEvent(QCloseEvent *e)
-{
-	// When the user clicks on the window close (x) button:
-	// - If the viewer is a top level window, closeEvent is called and then saves to file.
-	// - Otherwise, nothing happen s:(
-	// When the user press the EXIT_VIEWER keyboard shortcut:
-	// - If the viewer is a top level window, saveStateToFile() is also called
-	// - Otherwise, closeEvent is NOT called and keyPressEvent does the job.
-
-	/* After tests:
-	E : Embedded widget
-	N : Widget created with new
-	C : closeEvent called
-	D : destructor called
-
-	E	N	C	D
-	y	y
-	y	n		y
-	n	y	y
-	n	n	y	y
-
-	closeEvent is called iif the widget is NOT embedded.
-
-	Destructor is called iif the widget is created on the stack
-	or if widget (resp. parent if embedded) is created with WDestructiveClose flag.
-
-	closeEvent always before destructor.
-
-	Close using qApp->closeAllWindows or (x) is identical.
-	*/
-
-	// #CONNECTION# Also done for EXIT_VIEWER in keyPressEvent().
-	saveStateToFile();
-	QGLWidget::closeEvent(e);
-}
-
-/*! Simple wrapper method: calls \c select(event->pos()).
-
-Emits \c pointSelected(e) which is useful only if you rely on the Qt signal-slot mechanism and you
-did not overload QGLViewer. If you choose to derive your own viewer class, simply overload
-select() (or probably simply drawWithNames(), see the <a href="../examples/select.html">select
-example</a>) to implement your selection mechanism.
-
-This method is called when you use the QGLViewer::SELECT mouse binding(s) (default is Shift + left
-button). Use setMouseBinding() to change this. */
-void QGLViewer::select(const QMouseEvent* event)
-{
-	// For those who don't derive but rather rely on the signal-slot mechanism.
-	Q_EMIT pointSelected(event);
-	select(event->pos());
-}
-
-/*! This method performs a selection in the scene from pixel coordinates.
-
-It is called when the user clicks on the QGLViewer::SELECT QGLViewer::ClickAction binded button(s)
-(default is Shift + LeftButton).
-
-This template method successively calls four other methods:
-\code
-beginSelection(point);
-drawWithNames();
-endSelection(point);
-postSelection(point);
-\endcode
-
-The default implementation of these methods is as follows (see the methods' documentation for
-more details):
-
-\arg beginSelection() sets the \c GL_SELECT mode with the appropriate picking matrices. A
-rectangular frustum (of size defined by selectRegionWidth() and selectRegionHeight()) centered on
-\p point is created.
-
-\arg drawWithNames() is empty and should be overloaded. It draws each selectable object of the
-scene, enclosed by calls to \c glPushName() / \c glPopName() to tag the object with an integer id.
-
-\arg endSelection() then restores \c GL_RENDER mode and analyzes the selectBuffer() to set in
-selectedName() the id of the object that was drawn in the region. If several object are in the
-region, the closest one in the depth buffer is chosen. If no object has been drawn under cursor,
-selectedName() is set to -1.
-
-\arg postSelection() is empty and can be overloaded for possible signal/display/interface update.
-
-See the \c glSelectBuffer() man page for details on this \c GL_SELECT mechanism.
-
-This default implementation is quite limited: only the closer object is selected, and only one
-level of names can be pushed. However, this reveals sufficient in many cases and you usually only
-have to overload drawWithNames() to implement a simple object selection process. See the <a
-href="../examples/select.html">select example</a> for an illustration.
-
-If you need a more complex selection process (such as a point, edge or triangle selection, which
-is easier with a 2 or 3 levels selectBuffer() heap, and which requires a finer depth sorting to
-privilege point over edge and edges over triangles), overload the endSelection() method. Use
-setSelectRegionWidth(), setSelectRegionHeight() and setSelectBufferSize() to tune the select
-buffer configuration. See the <a href="../examples/multiSelect.html">multiSelect example</a> for
-an illustration.
-
-\p point is the center pixel (origin in the upper left corner) of the selection region. Use
-qglviewer::Camera::convertClickToLine() to transform these coordinates in a 3D ray if you want to
-perform an analytical intersection.
-
-\attention \c GL_SELECT mode seems to report wrong results when used in conjunction with backface
-culling. If you encounter problems try to \c glDisable(GL_CULL_FACE). */
-void QGLViewer::select(const QPoint& point)
-{
-	beginSelection(point);
-	drawWithNames();
-	endSelection(point);
-	postSelection(point);
-}
-
-/*! This method should prepare the selection. It is called by select() before drawWithNames().
-
-The default implementation uses the \c GL_SELECT mode to perform a selection. It uses
-selectBuffer() and selectBufferSize() to define a \c glSelectBuffer(). The \c GL_PROJECTION is then
-set using \c gluPickMatrix(), with a window selection size defined by selectRegionWidth() and
-selectRegionHeight(). Finally, the \c GL_MODELVIEW matrix is set to the world coordinate system
-using qglviewer::Camera::loadModelViewMatrix(). See the gluPickMatrix() documentation for details.
-
-You should not need to redefine this method (if you use the \c GL_SELECT mode to perform your
-selection), since this code is fairly classical and can be tuned. You are more likely to overload
-endSelection() if you want to use a more complex select buffer structure. */
-void QGLViewer::beginSelection(const QPoint& point)
-{
-	// Make OpenGL context current (may be needed with several viewers ?)
-	makeCurrent();
-
-	// Prepare the selection mode
-	glSelectBuffer(selectBufferSize(), selectBuffer());
-	glRenderMode(GL_SELECT);
-	glInitNames();
-
-	// Loads the matrices
-	glMatrixMode(GL_PROJECTION);
-	glLoadIdentity();
-	static GLint viewport[4];
-	camera()->getViewport(viewport);
-	gluPickMatrix(point.x(), point.y(), selectRegionWidth(), selectRegionHeight(), viewport);
-
-	// loadProjectionMatrix() first resets the GL_PROJECTION matrix with a glLoadIdentity().
-	// The false parameter prevents this and hence multiplies the matrices.
-	camera()->loadProjectionMatrix(false);
-	// Reset the original (world coordinates) modelview matrix
-	camera()->loadModelViewMatrix();
-}
-
-/*! This method is called by select() after scene elements were drawn by drawWithNames(). It should
-analyze the selection result to determine which object is actually selected.
-
-The default implementation relies on \c GL_SELECT mode (see beginSelection()). It assumes that
-names were pushed and popped in drawWithNames(), and analyzes the selectBuffer() to find the name
-that corresponds to the closer (z min) object. It then setSelectedName() to this value, or to -1 if
-the selectBuffer() is empty (no object drawn in selection region). Use selectedName() (probably in
-the postSelection() method) to retrieve this value and update your data structure accordingly.
-
-This default implementation, although sufficient for many cases is however limited and you may have
-to overload this method. This will be the case if drawWithNames() uses several push levels in the
-name heap. A more precise depth selection, for instance privileging points over edges and
-triangles to avoid z precision problems, will also require an overloading. A typical implementation
-will look like:
-\code
-glFlush();
-
-// Get the number of objects that were seen through the pick matrix frustum.
-// Resets GL_RENDER mode.
-GLint nbHits = glRenderMode(GL_RENDER);
-
-if (nbHits <= 0)
-setSelectedName(-1);
-else
-{
-// Interpret results: each object created values in the selectBuffer().
-// See the glSelectBuffer() man page for details on the buffer structure.
-// The following code depends on your selectBuffer() structure.
-for (int i=0; i<nbHits; ++i)
-if ((selectBuffer())[i*4+1] < zMin)
-setSelectedName((selectBuffer())[i*4+3])
-}
-\endcode
-
-See the <a href="../examples/multiSelect.html">multiSelect example</a> for
-a multi-object selection implementation of this method. */
-void QGLViewer::endSelection(const QPoint& point)
-{
-	Q_UNUSED(point);
-
-	// Flush GL buffers
-	glFlush();
-
-	// Get the number of objects that were seen through the pick matrix frustum. Reset GL_RENDER mode.
-	GLint nbHits = glRenderMode(GL_RENDER);
-
-	if (nbHits <= 0)
-		setSelectedName(-1);
-	else
-	{
-		// Interpret results: each object created 4 values in the selectBuffer().
-		// selectBuffer[4*i+1] is the object minimum depth value, while selectBuffer[4*i+3] is the id pushed on the stack.
-		// Of all the objects that were projected in the pick region, we select the closest one (zMin comparison).
-		// This code needs to be modified if you use several stack levels. See glSelectBuffer() man page.
-		GLuint zMin = (selectBuffer())[1];
-		setSelectedName(int((selectBuffer())[3]));
-		for (int i=1; i<nbHits; ++i)
-			if ((selectBuffer())[4*i+1] < zMin)
-			{
-				zMin = (selectBuffer())[4*i+1];
-				setSelectedName(int((selectBuffer())[4*i+3]));
-			}
-	}
-}
-
-/*! Sets the selectBufferSize().
-
-The previous selectBuffer() is deleted and a new one is created. */
-void QGLViewer::setSelectBufferSize(int size)
-{
-	if (selectBuffer_)
-		delete[] selectBuffer_;
-	selectBufferSize_ = size;
-	selectBuffer_ = new GLuint[selectBufferSize()];
-}
-
-static QString mouseButtonsString(Qt::MouseButtons b)
-{
-	QString result("");
-	bool addAmpersand = false;
-	if (b & Qt::LeftButton)    { result += QGLViewer::tr("Left", "left mouse button"); addAmpersand=true; }
-	if (b & Qt::MidButton)     { if (addAmpersand) result += " & "; result += QGLViewer::tr("Middle", "middle mouse button"); addAmpersand=true; }
-	if (b & Qt::RightButton)   { if (addAmpersand) result += " & "; result += QGLViewer::tr("Right", "right mouse button"); }
-	return result;
-}
-
-void QGLViewer::performClickAction(ClickAction ca, const QMouseEvent* const e)
-{
-	// Note: action that need it should call update().
-	switch (ca)
-	{
-		// # CONNECTION setMouseBinding prevents adding NO_CLICK_ACTION in clickBinding_
-		// This case should hence not be possible. Prevents unused case warning.
-		case NO_CLICK_ACTION :
-			break;
-		case ZOOM_ON_PIXEL :
-			camera()->interpolateToZoomOnPixel(e->pos());
-			break;
-		case ZOOM_TO_FIT :
-			camera()->interpolateToFitScene();
-			break;
-		case SELECT :
-			select(e);
-			update();
-			break;
-		case RAP_FROM_PIXEL :
-			if (! camera()->setPivotPointFromPixel(e->pos()))
-				camera()->setPivotPoint(sceneCenter());
-			setVisualHintsMask(1);
-			update();
-			break;
-		case RAP_IS_CENTER :
-			camera()->setPivotPoint(sceneCenter());
-			setVisualHintsMask(1);
-			update();
-			break;
-		case CENTER_FRAME :
-			if (manipulatedFrame())
-				manipulatedFrame()->projectOnLine(camera()->position(), camera()->viewDirection());
-			break;
-		case CENTER_SCENE :
-			camera()->centerScene();
-			break;
-		case SHOW_ENTIRE_SCENE :
-			camera()->showEntireScene();
-			break;
-		case ALIGN_FRAME :
-			if (manipulatedFrame())
-				manipulatedFrame()->alignWithFrame(camera()->frame());
-			break;
-		case ALIGN_CAMERA :
-			Frame * frame = new Frame();
-			frame->setTranslation(camera()->pivotPoint());
-			camera()->frame()->alignWithFrame(frame, true);
-			delete frame;
-			break;
-	}
-}
-
-/*! Overloading of the \c QWidget method.
-
-When the user clicks on the mouse:
-\arg if a mouseGrabber() is defined, qglviewer::MouseGrabber::mousePressEvent() is called,
-\arg otherwise, the camera() or the manipulatedFrame() interprets the mouse displacements,
-depending on mouse bindings.
-
-Mouse bindings customization can be achieved using setMouseBinding() and setWheelBinding(). See the
-<a href="../mouse.html">mouse page</a> for a complete description of mouse bindings.
-
-See the mouseMoveEvent() documentation for an example of more complex mouse behavior customization
-using overloading.
-
-\note When the mouseGrabber() is a manipulatedFrame(), the modifier keys are not taken into
-account. This allows for a direct manipulation of the manipulatedFrame() when the mouse hovers,
-which is probably what is expected. */
-void QGLViewer::mousePressEvent(QMouseEvent* e)
-{
-	//#CONNECTION# mouseDoubleClickEvent has the same structure
-	//#CONNECTION# mouseString() concatenates bindings description in inverse order.
-	ClickBindingPrivate cbp(e->modifiers(), e->button(), false, (Qt::MouseButtons)(e->buttons() & ~(e->button())), currentlyPressedKey_);
-
-	if (clickBinding_.contains(cbp)) {
-		performClickAction(clickBinding_[cbp], e);
-	} else
-		if (mouseGrabber())
-		{
-			if (mouseGrabberIsAManipulatedFrame_)
-			{
-				for (QMap<MouseBindingPrivate, MouseActionPrivate>::ConstIterator it=mouseBinding_.begin(), end=mouseBinding_.end(); it!=end; ++it)
-					if ((it.value().handler == FRAME) && (it.key().button == e->button()))
-					{
-						ManipulatedFrame* mf = dynamic_cast<ManipulatedFrame*>(mouseGrabber());
-						if (mouseGrabberIsAManipulatedCameraFrame_)
-						{
-							mf->ManipulatedFrame::startAction(it.value().action, it.value().withConstraint);
-							mf->ManipulatedFrame::mousePressEvent(e, camera());
-						}
-						else
-						{
-							mf->startAction(it.value().action, it.value().withConstraint);
-							mf->mousePressEvent(e, camera());
-						}
-						break;
-					}
-			}
-			else
-				mouseGrabber()->mousePressEvent(e, camera());
-			update();
-		}
-		else
-		{
-			//#CONNECTION# wheelEvent has the same structure
-			const MouseBindingPrivate mbp(e->modifiers(), e->button(), currentlyPressedKey_);
-
-			if (mouseBinding_.contains(mbp))
-			{
-				MouseActionPrivate map = mouseBinding_[mbp];
-				switch (map.handler)
-				{
-					case CAMERA :
-						camera()->frame()->startAction(map.action, map.withConstraint);
-						camera()->frame()->mousePressEvent(e, camera());
-						break;
-					case FRAME :
-						if (manipulatedFrame())
-						{
-							if (manipulatedFrameIsACamera_)
-							{
-								manipulatedFrame()->ManipulatedFrame::startAction(map.action, map.withConstraint);
-								manipulatedFrame()->ManipulatedFrame::mousePressEvent(e, camera());
-							}
-							else
-							{
-								manipulatedFrame()->startAction(map.action, map.withConstraint);
-								manipulatedFrame()->mousePressEvent(e, camera());
-							}
-						}
-						break;
-				}
-				if (map.action == SCREEN_ROTATE)
-					// Display visual hint line
-					update();
-			}
-			else
-				e->ignore();
-		}
-}
-
-/*! Overloading of the \c QWidget method.
-
-Mouse move event is sent to the mouseGrabber() (if any) or to the camera() or the
-manipulatedFrame(), depending on mouse bindings (see setMouseBinding()).
-
-If you want to define your own mouse behavior, do something like this:
-\code
-void Viewer::mousePressEvent(QMouseEvent* e)
-{
-
-if ((e->button() == myButton) && (e->modifiers() == myModifiers))
-  myMouseBehavior = true;
-else
-  QGLViewer::mousePressEvent(e);
-}
-
-void Viewer::mouseMoveEvent(QMouseEvent *e)
-{
-if (myMouseBehavior)
-  // Use e->x() and e->y() as you want...
-else
-  QGLViewer::mouseMoveEvent(e);
-}
-
-void Viewer::mouseReleaseEvent(QMouseEvent* e)
-{
-if (myMouseBehavior)
-  myMouseBehavior = false;
-else
-  QGLViewer::mouseReleaseEvent(e);
-}
-\endcode */
-void QGLViewer::mouseMoveEvent(QMouseEvent* e)
-{
-	if (mouseGrabber())
-	{
-		mouseGrabber()->checkIfGrabsMouse(e->x(), e->y(), camera());
-		if (mouseGrabber()->grabsMouse())
-			if (mouseGrabberIsAManipulatedCameraFrame_)
-				(dynamic_cast<ManipulatedFrame*>(mouseGrabber()))->ManipulatedFrame::mouseMoveEvent(e, camera());
-			else
-				mouseGrabber()->mouseMoveEvent(e, camera());
-		else
-			setMouseGrabber(NULL);
-		update();
-	}
-
-	if (!mouseGrabber())
-	{
-		//#CONNECTION# mouseReleaseEvent has the same structure
-		if (camera()->frame()->isManipulated())
-		{
-			camera()->frame()->mouseMoveEvent(e, camera());
-			// #CONNECTION# manipulatedCameraFrame::mouseMoveEvent specific if at the beginning
-			if (camera()->frame()->action_ == ZOOM_ON_REGION)
-				update();
-		}
-		else // !
-			if ((manipulatedFrame()) && (manipulatedFrame()->isManipulated()))
-				if (manipulatedFrameIsACamera_)
-					manipulatedFrame()->ManipulatedFrame::mouseMoveEvent(e, camera());
-				else
-					manipulatedFrame()->mouseMoveEvent(e, camera());
-			else
-				if (hasMouseTracking())
-				{
-					Q_FOREACH (MouseGrabber* mg, MouseGrabber::MouseGrabberPool())
-					{
-						mg->checkIfGrabsMouse(e->x(), e->y(), camera());
-						if (mg->grabsMouse())
-						{
-							setMouseGrabber(mg);
-							// Check that MouseGrabber is not disabled
-							if (mouseGrabber() == mg)
-							{
-								update();
-								break;
-							}
-						}
-					}
-				}
-	}
-}
-
-/*! Overloading of the \c QWidget method.
-
-Calls the mouseGrabber(), camera() or manipulatedFrame \c mouseReleaseEvent method.
-
-See the mouseMoveEvent() documentation for an example of mouse behavior customization. */
-void QGLViewer::mouseReleaseEvent(QMouseEvent* e)
-{
-	if (mouseGrabber())
-	{
-		if (mouseGrabberIsAManipulatedCameraFrame_)
-			(dynamic_cast<ManipulatedFrame*>(mouseGrabber()))->ManipulatedFrame::mouseReleaseEvent(e, camera());
-		else
-			mouseGrabber()->mouseReleaseEvent(e, camera());
-		mouseGrabber()->checkIfGrabsMouse(e->x(), e->y(), camera());
-		if (!(mouseGrabber()->grabsMouse()))
-			setMouseGrabber(NULL);
-		// update();
-	}
-	else
-		//#CONNECTION# mouseMoveEvent has the same structure
-		if (camera()->frame()->isManipulated())
-		{
-			camera()->frame()->mouseReleaseEvent(e, camera());
-		}
-		else
-			if ((manipulatedFrame()) && (manipulatedFrame()->isManipulated()))
-			{
-				if (manipulatedFrameIsACamera_)
-					manipulatedFrame()->ManipulatedFrame::mouseReleaseEvent(e, camera());
-				else
-					manipulatedFrame()->mouseReleaseEvent(e, camera());
-			}
-			else
-				e->ignore();
-
-	// Not absolutely needed (see above commented code for the optimal version), but may reveal
-	// useful for specific applications.
-	update();
-}
-
-/*! Overloading of the \c QWidget method.
-
-If defined, the wheel event is sent to the mouseGrabber(). It is otherwise sent according to wheel
-bindings (see setWheelBinding()). */
-void QGLViewer::wheelEvent(QWheelEvent* e)
-{
-	if (mouseGrabber())
-	{
-		if (mouseGrabberIsAManipulatedFrame_)
-		{
-			for (QMap<WheelBindingPrivate, MouseActionPrivate>::ConstIterator it=wheelBinding_.begin(), end=wheelBinding_.end(); it!=end; ++it)
-				if (it.value().handler == FRAME)
-				{
-					ManipulatedFrame* mf = dynamic_cast<ManipulatedFrame*>(mouseGrabber());
-					if (mouseGrabberIsAManipulatedCameraFrame_)
-					{
-						mf->ManipulatedFrame::startAction(it.value().action, it.value().withConstraint);
-						mf->ManipulatedFrame::wheelEvent(e, camera());
-					}
-					else
-					{
-						mf->startAction(it.value().action, it.value().withConstraint);
-						mf->wheelEvent(e, camera());
-					}
-					break;
-				}
-		}
-		else
-			mouseGrabber()->wheelEvent(e, camera());
-		update();
-	}
-	else
-	{
-		//#CONNECTION# mousePressEvent has the same structure
-		WheelBindingPrivate wbp(e->modifiers(), currentlyPressedKey_);
-
-		if (wheelBinding_.contains(wbp))
-		{
-			MouseActionPrivate map = wheelBinding_[wbp];
-			switch (map.handler)
-			{
-				case CAMERA :
-					camera()->frame()->startAction(map.action, map.withConstraint);
-					camera()->frame()->wheelEvent(e, camera());
-					break;
-				case FRAME :
-					if (manipulatedFrame()) {
-						if (manipulatedFrameIsACamera_)
-						{
-							manipulatedFrame()->ManipulatedFrame::startAction(map.action, map.withConstraint);
-							manipulatedFrame()->ManipulatedFrame::wheelEvent(e, camera());
-						}
-						else
-						{
-							manipulatedFrame()->startAction(map.action, map.withConstraint);
-							manipulatedFrame()->wheelEvent(e, camera());
-						}
-					}
-					break;
-			}
-		}
-		else
-			e->ignore();
-	}
-}
-
-/*! Overloading of the \c QWidget method.
-
-The behavior of the mouse double click depends on the mouse binding. See setMouseBinding() and the
-<a href="../mouse.html">mouse page</a>. */
-void QGLViewer::mouseDoubleClickEvent(QMouseEvent* e)
-{
-	//#CONNECTION# mousePressEvent has the same structure
-	ClickBindingPrivate cbp(e->modifiers(), e->button(), true, (Qt::MouseButtons)(e->buttons() & ~(e->button())), currentlyPressedKey_);
-	if (clickBinding_.contains(cbp))
-		performClickAction(clickBinding_[cbp], e);
-	else
-		if (mouseGrabber())
-			mouseGrabber()->mouseDoubleClickEvent(e, camera());
-		else
-			e->ignore();
-}
-
-/*! Sets the state of displaysInStereo(). See also toggleStereoDisplay().
-
-First checks that the display is able to handle stereovision using QGLWidget::format(). Opens a
-warning message box in case of failure. Emits the stereoChanged() signal otherwise. */
-void QGLViewer::setStereoDisplay(bool stereo)
-{
-	if (format().stereo())
-	{
-		stereo_ = stereo;
-		if (!displaysInStereo())
-		{
-			glDrawBuffer(GL_BACK_LEFT);
-			glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-			glDrawBuffer(GL_BACK_RIGHT);
-			glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-		}
-
-		Q_EMIT stereoChanged(stereo_);
-
-		update();
-	}
-	else
-		if (stereo)
-			QMessageBox::warning(this, tr("Stereo not supported", "Message box window title"), tr("Stereo is not supported on this display."));
-		else
-			stereo_ = false;
-}
-
-/*! Sets the isFullScreen() state.
-
-If the QGLViewer is embedded in an other QWidget (see QWidget::topLevelWidget()), this widget is
-displayed in full screen instead. */
-void QGLViewer::setFullScreen(bool fullScreen)
-{
-	if (fullScreen_ == fullScreen) return;
-
-	fullScreen_ = fullScreen;
-
-	QWidget* tlw = topLevelWidget();
-
-	if (isFullScreen())
-	{
-		prevPos_ = topLevelWidget()->pos();
-		tlw->showFullScreen();
-		tlw->move(0,0);
-	}
-	else
-	{
-		tlw->showNormal();
-		tlw->move(prevPos_);
-	}
-}
-
-/*! Directly defines the mouseGrabber().
-
-You should not call this method directly as it bypasses the
-qglviewer::MouseGrabber::checkIfGrabsMouse() test performed by mouseMoveEvent().
-
-If the MouseGrabber is disabled (see mouseGrabberIsEnabled()), this method silently does nothing. */
-void QGLViewer::setMouseGrabber(MouseGrabber* mouseGrabber)
-{
-	if (!mouseGrabberIsEnabled(mouseGrabber))
-		return;
-
-	mouseGrabber_ = mouseGrabber;
-
-	mouseGrabberIsAManipulatedFrame_       = (dynamic_cast<ManipulatedFrame*>(mouseGrabber) != NULL);
-	mouseGrabberIsAManipulatedCameraFrame_ = ((dynamic_cast<ManipulatedCameraFrame*>(mouseGrabber) != NULL) &&
-											  (mouseGrabber != camera()->frame()));
-	Q_EMIT mouseGrabberChanged(mouseGrabber);
-}
-
-/*! Sets the mouseGrabberIsEnabled() state. */
-void QGLViewer::setMouseGrabberIsEnabled(const qglviewer::MouseGrabber* const mouseGrabber, bool enabled)
-{
-	if (enabled)
-		disabledMouseGrabbers_.remove(reinterpret_cast<size_t>(mouseGrabber));
-	else
-		disabledMouseGrabbers_[reinterpret_cast<size_t>(mouseGrabber)];
-}
-
-QString QGLViewer::mouseActionString(QGLViewer::MouseAction ma)
-{
-	switch (ma)
-	{
-		case QGLViewer::NO_MOUSE_ACTION : return QString::null;
-		case QGLViewer::ROTATE : return QGLViewer::tr("Rotates", "ROTATE mouse action");
-		case QGLViewer::ZOOM : return QGLViewer::tr("Zooms", "ZOOM mouse action");
-		case QGLViewer::TRANSLATE : return QGLViewer::tr("Translates", "TRANSLATE mouse action");
-		case QGLViewer::MOVE_FORWARD : return QGLViewer::tr("Moves forward", "MOVE_FORWARD mouse action");
-		case QGLViewer::LOOK_AROUND : return QGLViewer::tr("Looks around", "LOOK_AROUND mouse action");
-		case QGLViewer::MOVE_BACKWARD : return QGLViewer::tr("Moves backward", "MOVE_BACKWARD mouse action");
-		case QGLViewer::SCREEN_ROTATE : return QGLViewer::tr("Rotates in screen plane", "SCREEN_ROTATE mouse action");
-		case QGLViewer::ROLL : return QGLViewer::tr("Rolls", "ROLL mouse action");
-		case QGLViewer::DRIVE : return QGLViewer::tr("Drives", "DRIVE mouse action");
-		case QGLViewer::SCREEN_TRANSLATE : return QGLViewer::tr("Horizontally/Vertically translates", "SCREEN_TRANSLATE mouse action");
-		case QGLViewer::ZOOM_ON_REGION : return QGLViewer::tr("Zooms on region for", "ZOOM_ON_REGION mouse action");
-	}
-	return QString::null;
-}
-
-QString QGLViewer::clickActionString(QGLViewer::ClickAction ca)
-{
-	switch (ca)
-	{
-		case QGLViewer::NO_CLICK_ACTION : return QString::null;
-		case QGLViewer::ZOOM_ON_PIXEL : return QGLViewer::tr("Zooms on pixel", "ZOOM_ON_PIXEL click action");
-		case QGLViewer::ZOOM_TO_FIT : return QGLViewer::tr("Zooms to fit scene", "ZOOM_TO_FIT click action");
-		case QGLViewer::SELECT : return QGLViewer::tr("Selects", "SELECT click action");
-		case QGLViewer::RAP_FROM_PIXEL : return QGLViewer::tr("Sets pivot point", "RAP_FROM_PIXEL click action");
-		case QGLViewer::RAP_IS_CENTER : return QGLViewer::tr("Resets pivot point", "RAP_IS_CENTER click action");
-		case QGLViewer::CENTER_FRAME : return QGLViewer::tr("Centers manipulated frame", "CENTER_FRAME click action");
-		case QGLViewer::CENTER_SCENE : return QGLViewer::tr("Centers scene", "CENTER_SCENE click action");
-		case QGLViewer::SHOW_ENTIRE_SCENE : return QGLViewer::tr("Shows entire scene", "SHOW_ENTIRE_SCENE click action");
-		case QGLViewer::ALIGN_FRAME : return QGLViewer::tr("Aligns manipulated frame", "ALIGN_FRAME click action");
-		case QGLViewer::ALIGN_CAMERA : return QGLViewer::tr("Aligns camera", "ALIGN_CAMERA click action");
-	}
-	return QString::null;
-}
-
-static QString keyString(unsigned int key)
-{
-# if QT_VERSION >= 0x040100
-	return QKeySequence(int(key)).toString(QKeySequence::NativeText);
-# else
-	return QString(QKeySequence(key));
-# endif
-}
-
-QString QGLViewer::formatClickActionPrivate(ClickBindingPrivate cbp)
-{
-	bool buttonsBefore = cbp.buttonsBefore != Qt::NoButton;
-	QString keyModifierString = keyString(cbp.modifiers + cbp.key);
-	if (!keyModifierString.isEmpty()) {
-#ifdef Q_OS_MAC
-		// modifiers never has a '+' sign. Add one space to clearly separate modifiers (and possible key) from button
-		keyModifierString += " ";
-#else
-		// modifiers might be of the form : 'S' or 'Ctrl+S' or 'Ctrl+'. For consistency, add an other '+' if needed, no spaces
-		if (!keyModifierString.endsWith('+'))
-			keyModifierString += "+";
-#endif
-	}
-
-	return tr("%1%2%3%4%5%6", "Modifier / button or wheel / double click / with / button / pressed")
-			.arg(keyModifierString)
-			.arg(mouseButtonsString(cbp.button)+(cbp.button == Qt::NoButton ? tr("Wheel", "Mouse wheel") : ""))
-			.arg(cbp.doubleClick ? tr(" double click", "Suffix after mouse button") : "")
-			.arg(buttonsBefore ? tr(" with ", "As in : Left button with Ctrl pressed") : "")
-			.arg(buttonsBefore ? mouseButtonsString(cbp.buttonsBefore) : "")
-			.arg(buttonsBefore ? tr(" pressed", "As in : Left button with Ctrl pressed") : "");
-}
-
-bool QGLViewer::isValidShortcutKey(int key) {
-	return (key >= Qt::Key_Any && key < Qt::Key_Escape) || (key >= Qt::Key_F1 && key <= Qt::Key_F35);
-}
-
-#ifndef DOXYGEN
-/*! This method is deprecated since version 2.5.0
-
- Use setMouseBindingDescription(Qt::KeyboardModifiers, Qt::MouseButtons, QString, bool, Qt::MouseButtons) instead.
-*/
-void QGLViewer::setMouseBindingDescription(unsigned int state, QString description, bool doubleClick, Qt::MouseButtons buttonsBefore) {
-	qWarning("setMouseBindingDescription(int state,...) is deprecated. Use the modifier/button equivalent");
-	setMouseBindingDescription(keyboardModifiersFromState(state),
-							   mouseButtonFromState(state),
-							   description,
-							   doubleClick,
-							   buttonsBefore);
-}
-#endif
-
-/*! Defines a custom mouse binding description, displayed in the help() window's Mouse tab.
-
- Same as calling setMouseBindingDescription(Qt::Key, Qt::KeyboardModifiers, Qt::MouseButton, QString, bool, Qt::MouseButtons),
- with a key value of Qt::Key(0) (i.e. binding description when no regular key needs to be pressed). */
-void QGLViewer::setMouseBindingDescription(Qt::KeyboardModifiers modifiers, Qt::MouseButton button, QString description, bool doubleClick, Qt::MouseButtons buttonsBefore)
-{
-	setMouseBindingDescription(Qt::Key(0), modifiers, button, description, doubleClick, buttonsBefore);
-}
-
-/*! Defines a custom mouse binding description, displayed in the help() window's Mouse tab.
-
-\p modifiers is a combination of Qt::KeyboardModifiers (\c Qt::ControlModifier, \c Qt::AltModifier, \c
-Qt::ShiftModifier, \c Qt::MetaModifier). Possibly combined using the \c "|" operator.
-
-\p button is one of the Qt::MouseButtons (\c Qt::LeftButton, \c Qt::MidButton,
-\c Qt::RightButton...).
-
-\p doubleClick indicates whether or not the user has to double click this button to perform the
-described action. \p buttonsBefore lists the buttons that need to be pressed before the double click.
-
-Set an empty \p description to \e remove a mouse binding description.
-
-\code
-// The R key combined with the Left mouse button rotates the camera in the screen plane.
-setMouseBindingDescription(Qt::Key_R, Qt::NoModifier, Qt::LeftButton, "Rotates camera in screen plane");
-
-// A left button double click toggles full screen
-setMouseBindingDescription(Qt::NoModifier, Qt::LeftButton, "Toggles full screen mode", true);
-
-// Removes the description of Ctrl+Right button
-setMouseBindingDescription(Qt::ControlModifier, Qt::RightButton, "");
-\endcode
-
-Overload mouseMoveEvent() and friends to implement your custom mouse behavior (see the
-mouseMoveEvent() documentation for an example). See the <a
-href="../examples/keyboardAndMouse.html">keyboardAndMouse example</a> for an illustration.
-
-Use setMouseBinding() and setWheelBinding() to change the standard mouse action bindings. */
-void QGLViewer::setMouseBindingDescription(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton button, QString description, bool doubleClick, Qt::MouseButtons buttonsBefore)
-{
-	ClickBindingPrivate cbp(modifiers, button, doubleClick, buttonsBefore, key);
-
-	if (description.isEmpty())
-		mouseDescription_.remove(cbp);
-	else
-		mouseDescription_[cbp] = description;
-}
-
-static QString tableLine(const QString& left, const QString& right)
-{
-	static bool even = false;
-	const QString tdtd("</b></td><td>");
-	const QString tdtr("</td></tr>\n");
-
-	QString res("<tr bgcolor=\"");
-
-	if (even)
-		res += "#eeeeff\">";
-	else
-		res += "#ffffff\">";
-	res += "<td><b>" + left + tdtd + right + tdtr;
-	even = !even;
-
-	return res;
-}
-
-/*! Returns a QString that describes the application mouse bindings, displayed in the help() window
-\c Mouse tab.
-
-Result is a table that describes custom application mouse binding descriptions defined using
-setMouseBindingDescription() as well as standard mouse bindings (defined using setMouseBinding()
-and setWheelBinding()). See the <a href="../mouse.html">mouse page</a> for details on mouse
-bindings.
-
-See also helpString() and keyboardString(). */
-QString QGLViewer::mouseString() const
-{
-	QString text("<center><table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n");
-	const QString trtd("<tr><td>");
-	const QString tdtr("</td></tr>\n");
-	const QString tdtd("</td><td>");
-
-	text += QString("<tr bgcolor=\"#aaaacc\"><th align=\"center\">%1</th><th align=\"center\">%2</th></tr>\n").
-			arg(tr("Button(s)", "Buttons column header in help window mouse tab")).arg(tr("Description", "Description column header in help window mouse tab"));
-
-	QMap<ClickBindingPrivate, QString> mouseBinding;
-
-	// User-defined mouse bindings come first.
-	for (QMap<ClickBindingPrivate, QString>::ConstIterator itm=mouseDescription_.begin(), endm=mouseDescription_.end(); itm!=endm; ++itm)
-		mouseBinding[itm.key()] = itm.value();
-
-	for (QMap<ClickBindingPrivate, QString>::ConstIterator it=mouseBinding.begin(), end=mouseBinding.end(); it != end; ++it)
-	{
-		// Should not be needed (see setMouseBindingDescription())
-		if (it.value().isNull())
-			continue;
-
-		text += tableLine(formatClickActionPrivate(it.key()), it.value());
-	}
-
-	// Optional separator line
-	if (!mouseBinding.isEmpty())
-	{
-		mouseBinding.clear();
-		text += QString("<tr bgcolor=\"#aaaacc\"><td colspan=2>%1</td></tr>\n").arg(tr("Standard mouse bindings", "In help window mouse tab"));
-	}
-
-	// Then concatenates the descriptions of wheelBinding_, mouseBinding_ and clickBinding_.
-	// The order is significant and corresponds to the priorities set in mousePressEvent() (reverse priority order, last one overwrites previous)
-	// #CONNECTION# mousePressEvent() order
-	for (QMap<MouseBindingPrivate, MouseActionPrivate>::ConstIterator itmb=mouseBinding_.begin(), endmb=mouseBinding_.end();
-		 itmb != endmb; ++itmb)
-	{
-		ClickBindingPrivate cbp(itmb.key().modifiers, itmb.key().button, false, Qt::NoButton, itmb.key().key);
-
-		QString text = mouseActionString(itmb.value().action);
-
-		if (!text.isNull())
-		{
-			switch (itmb.value().handler)
-			{
-				case CAMERA: text += " " + tr("camera", "Suffix after action"); break;
-				case FRAME:  text += " " + tr("manipulated frame", "Suffix after action"); break;
-			}
-			if (!(itmb.value().withConstraint))
-				text += "*";
-		}
-		mouseBinding[cbp] = text;
-	}
-
-	for (QMap<WheelBindingPrivate, MouseActionPrivate>::ConstIterator itw=wheelBinding_.begin(), endw=wheelBinding_.end(); itw != endw; ++itw)
-	{
-		ClickBindingPrivate cbp(itw.key().modifiers, Qt::NoButton, false, Qt::NoButton, itw.key().key);
-
-		QString text = mouseActionString(itw.value().action);
-
-		if (!text.isNull())
-		{
-			switch (itw.value().handler)
-			{
-				case CAMERA: text += " " + tr("camera", "Suffix after action"); break;
-				case FRAME:  text += " " + tr("manipulated frame", "Suffix after action"); break;
-			}
-			if (!(itw.value().withConstraint))
-				text += "*";
-		}
-
-		mouseBinding[cbp] = text;
-	}
-
-	for (QMap<ClickBindingPrivate, ClickAction>::ConstIterator itcb=clickBinding_.begin(), endcb=clickBinding_.end(); itcb!=endcb; ++itcb)
-		mouseBinding[itcb.key()] = clickActionString(itcb.value());
-
-	for (QMap<ClickBindingPrivate, QString>::ConstIterator it2=mouseBinding.begin(), end2=mouseBinding.end(); it2 != end2; ++it2)
-	{
-		if (it2.value().isNull())
-			continue;
-
-		text += tableLine(formatClickActionPrivate(it2.key()), it2.value());
-	}
-
-	text += "</table></center>";
-
-	return text;
-}
-
-/*! Defines a custom keyboard shortcut description, that will be displayed in the help() window \c
-Keyboard tab.
-
-The \p key definition is given as an \c int using Qt enumerated values. Set an empty \p description
-to remove a shortcut description:
-\code
-setKeyDescription(Qt::Key_W, "Toggles wireframe display");
-setKeyDescription(Qt::CTRL+Qt::Key_L, "Loads a new scene");
-// Removes a description
-setKeyDescription(Qt::CTRL+Qt::Key_C, "");
-\endcode
-
-See the <a href="../examples/keyboardAndMouse.html">keyboardAndMouse example</a> for illustration
-and the <a href="../keyboard.html">keyboard page</a> for details. */
-void QGLViewer::setKeyDescription(unsigned int key, QString description)
-{
-	if (description.isEmpty())
-		keyDescription_.remove(key);
-	else
-		keyDescription_[key] = description;
-}
-
-QString QGLViewer::cameraPathKeysString() const
-{
-	if (pathIndex_.isEmpty())
-		return QString::null;
-
-	QVector<Qt::Key> keys;
-	keys.reserve(pathIndex_.count());
-	for (QMap<Qt::Key, unsigned int>::ConstIterator i = pathIndex_.begin(), endi=pathIndex_.end(); i != endi; ++i)
-		keys.push_back(i.key());
-	qSort(keys);
-
-	QVector<Qt::Key>::const_iterator it = keys.begin(), end = keys.end();
-	QString res = keyString(*it);
-
-	const int maxDisplayedKeys = 6;
-	int nbDisplayedKeys = 0;
-	Qt::Key previousKey = (*it);
-	int state = 0;
-	++it;
-	while ((it != end) && (nbDisplayedKeys < maxDisplayedKeys-1))
-	{
-		switch (state)
-		{
-			case 0 :
-				if ((*it) == previousKey + 1)
-					state++;
-				else
-				{
-					res += ", " + keyString(*it);
-					nbDisplayedKeys++;
-				}
-				break;
-			case 1 :
-				if ((*it) == previousKey + 1)
-					state++;
-				else
-				{
-					res += ", " + keyString(previousKey);
-					res += ", " + keyString(*it);
-					nbDisplayedKeys += 2;
-					state = 0;
-				}
-				break;
-			default :
-				if ((*it) != previousKey + 1)
-				{
-					res += ".." + keyString(previousKey);
-					res += ", " + keyString(*it);
-					nbDisplayedKeys += 2;
-					state = 0;
-				}
-				break;
-		}
-		previousKey = *it;
-		++it;
-	}
-
-	if (state == 1)
-		res += ", " + keyString(previousKey);
-	if (state == 2)
-		res += ".." + keyString(previousKey);
-	if (it != end)
-		res += "...";
-
-	return res;
-}
-
-/*! Returns a QString that describes the application keyboard shortcut bindings, and that will be
-displayed in the help() window \c Keyboard tab.
-
-Default value is a table that describes the custom shortcuts defined using setKeyDescription() as
-well as the \e standard QGLViewer::KeyboardAction shortcuts (defined using setShortcut()). See the
-<a href="../keyboard.html">keyboard page</a> for details on key customization.
-
-See also helpString() and mouseString(). */
-QString QGLViewer::keyboardString() const
-{
-	QString text("<center><table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n");
-	text += QString("<tr bgcolor=\"#aaaacc\"><th align=\"center\">%1</th><th align=\"center\">%2</th></tr>\n").
-			arg(QGLViewer::tr("Key(s)", "Keys column header in help window mouse tab")).arg(QGLViewer::tr("Description", "Description column header in help window mouse tab"));
-
-	QMap<unsigned int, QString> keyDescription;
-
-	// 1 - User defined key descriptions
-	for (QMap<unsigned int, QString>::ConstIterator kd=keyDescription_.begin(), kdend=keyDescription_.end(); kd!=kdend; ++kd)
-		keyDescription[kd.key()] = kd.value();
-
-	// Add to text in sorted order
-	for (QMap<unsigned int, QString>::ConstIterator kb=keyDescription.begin(), endb=keyDescription.end(); kb!=endb; ++kb)
-		text += tableLine(keyString(kb.key()), kb.value());
-
-
-	// 2 - Optional separator line
-	if (!keyDescription.isEmpty())
-	{
-		keyDescription.clear();
-		text += QString("<tr bgcolor=\"#aaaacc\"><td colspan=2>%1</td></tr>\n").arg(QGLViewer::tr("Standard viewer keys", "In help window keys tab"));
-	}
-
-
-	// 3 - KeyboardAction bindings description
-	for (QMap<KeyboardAction, unsigned int>::ConstIterator it=keyboardBinding_.begin(), end=keyboardBinding_.end(); it != end; ++it)
-		if ((it.value() != 0) && ((!cameraIsInRotateMode()) || ((it.key() != INCREASE_FLYSPEED) && (it.key() != DECREASE_FLYSPEED))))
-			keyDescription[it.value()] = keyboardActionDescription_[it.key()];
-
-	// Add to text in sorted order
-	for (QMap<unsigned int, QString>::ConstIterator kb2=keyDescription.begin(), endb2=keyDescription.end(); kb2!=endb2; ++kb2)
-		text += tableLine(keyString(kb2.key()), kb2.value());
-
-
-	// 4 - Camera paths keys description
-	const QString cpks = cameraPathKeysString();
-	if (!cpks.isNull())
-	{
-		text += "<tr bgcolor=\"#ccccff\"><td colspan=2>\n";
-		text += QGLViewer::tr("Camera paths are controlled using the %1 keys (noted <i>Fx</i> below):", "Help window key tab camera keys").arg(cpks) + "</td></tr>\n";
-		text += tableLine(keyString(playPathKeyboardModifiers()) + "<i>" + QGLViewer::tr("Fx", "Generic function key (F1..F12)") + "</i>",
-						  QGLViewer::tr("Plays path (or resets saved position)"));
-		text += tableLine(keyString(addKeyFrameKeyboardModifiers()) + "<i>" + QGLViewer::tr("Fx", "Generic function key (F1..F12)") + "</i>",
-						  QGLViewer::tr("Adds a key frame to path (or defines a position)"));
-		text += tableLine(keyString(addKeyFrameKeyboardModifiers()) + "<i>" + QGLViewer::tr("Fx", "Generic function key (F1..F12)") + "</i>+<i>" + QGLViewer::tr("Fx", "Generic function key (F1..F12)") + "</i>",
-						  QGLViewer::tr("Deletes path (or saved position)"));
-	}
-	text += "</table></center>";
-
-	return text;
-}
-
-/*! Displays the help window "About" tab. See help() for details. */
-void QGLViewer::aboutQGLViewer() {
-	help();
-	helpWidget()->setCurrentIndex(3);
-}
-
-
-/*! Opens a modal help window that includes four tabs, respectively filled with helpString(),
-keyboardString(), mouseString() and about libQGLViewer.
-
-Rich html-like text can be used (see the QStyleSheet documentation). This method is called when the
-user presses the QGLViewer::HELP key (default is 'H').
-
-You can use helpWidget() to access to the help widget (to add/remove tabs, change layout...).
-
-The helpRequired() signal is emitted. */
-void QGLViewer::help()
-{
-	Q_EMIT helpRequired();
-
-	bool resize = false;
-	int width=600;
-	int height=400;
-
-	static QString label[] = {tr("&Keyboard", "Help window tab title"), tr("&Mouse", "Help window tab title"), tr("&About", "Help window about title")};
-
-	if (!helpWidget())
-	{
-		// Qt4 requires a NULL parent...
-		helpWidget_ = new QTabWidget(NULL);
-		helpWidget()->setWindowTitle(tr("Help", "Help window title"));
-
-		resize = true;
-		for (int i=0; i<3; ++i)
-		{
-			QTextEdit* tab = new QTextEdit(NULL);
-			tab->setReadOnly(true);
-
-			helpWidget()->insertTab(i, tab, label[i]);
-			if (i==2) {
-#               include "qglviewer-icon.xpm"
-				QPixmap pixmap(qglviewer_icon);
-				tab->document()->addResource(QTextDocument::ImageResource,
-											 QUrl("mydata://qglviewer-icon.xpm"), QVariant(pixmap));
-			}
-		}
-	}
-
-	for (int i=0; i<3; ++i)
-	{
-		QString text;
-		switch (i)
-		{
-			case 0 : text = keyboardString(); break;
-			case 1 : text = mouseString();	  break;
-			case 2 : text = QString("<center><br><img src=\"mydata://qglviewer-icon.xpm\">") + tr(
-							"<h1>libQGLViewer</h1>"
-							"<h3>Version %1</h3><br>"
-							"A versatile 3D viewer based on OpenGL and Qt<br>"
-							"Copyright 2002-%2 Gilles Debunne<br>"
-							"<code>%3</code>").arg(QGLViewerVersionString()).arg("2014").arg("http://www.libqglviewer.com") +
-						QString("</center>");
-				break;
-			default : break;
-		}
-
-		QTextEdit* textEdit = (QTextEdit*)(helpWidget()->widget(i));
-		textEdit->setHtml(text);
-		textEdit->setText(text);
-
-		if (resize && (textEdit->height() > height))
-			height = textEdit->height();
-	}
-
-	if (resize)
-		helpWidget()->resize(width, height+40); // 40 pixels is ~ tabs' height
-	helpWidget()->show();
-	helpWidget()->raise();
-}
-
-/*! Overloading of the \c QWidget method.
-
-Default keyboard shortcuts are defined using setShortcut(). Overload this method to implement a
-specific keyboard binding. Call the original method if you do not catch the event to preserve the
-viewer default key bindings:
-\code
-void Viewer::keyPressEvent(QKeyEvent *e)
-{
-  // Defines the Alt+R shortcut.
-  if ((e->key() == Qt::Key_R) && (e->modifiers() == Qt::AltModifier))
-  {
-	myResetFunction();
-	update(); // Refresh display
-  }
-  else
-	QGLViewer::keyPressEvent(e);
-}
-
-// With Qt 2 or 3, you would retrieve modifiers keys using :
-// const Qt::ButtonState modifiers = (Qt::ButtonState)(e->state() & Qt::KeyButtonMask);
-\endcode
-When you define a new keyboard shortcut, use setKeyDescription() to provide a short description
-which is displayed in the help() window Keyboard tab. See the <a
-href="../examples/keyboardAndMouse.html">keyboardAndMouse</a> example for an illustration.
-
-See also QGLWidget::keyReleaseEvent(). */
-void QGLViewer::keyPressEvent(QKeyEvent *e)
-{
-	if (e->key() == 0)
-	{
-		e->ignore();
-		return;
-	}
-
-	const Qt::Key key = Qt::Key(e->key());
-
-	const Qt::KeyboardModifiers modifiers = e->modifiers();
-
-	QMap<KeyboardAction, unsigned int>::ConstIterator it=keyboardBinding_.begin(), end=keyboardBinding_.end();
-	const unsigned int target = key | modifiers;
-	while ((it != end) && (it.value() != target))
-		++it;
-
-	if (it != end)
-		handleKeyboardAction(it.key());
-	else
-		if (pathIndex_.contains(Qt::Key(key)))
-		{
-			// Camera paths
-			unsigned int index = pathIndex_[Qt::Key(key)];
-
-			// not safe, but try to double press on two viewers at the same time !
-			static QTime doublePress;
-
-			if (modifiers == playPathKeyboardModifiers())
-			{
-				int elapsed = doublePress.restart();
-				if ((elapsed < 250) && (index==previousPathId_))
-					camera()->resetPath(index);
-				else
-				{
-					// Stop previous interpolation before starting a new one.
-					if (index != previousPathId_)
-					{
-						KeyFrameInterpolator* previous = camera()->keyFrameInterpolator(previousPathId_);
-						if ((previous) && (previous->interpolationIsStarted()))
-							previous->resetInterpolation();
-					}
-					camera()->playPath(index);
-				}
-				previousPathId_ = index;
-			}
-			else if (modifiers == addKeyFrameKeyboardModifiers())
-			{
-				int elapsed = doublePress.restart();
-				if ((elapsed < 250) && (index==previousPathId_))
-				{
-					if (camera()->keyFrameInterpolator(index))
-					{
-						disconnect(camera()->keyFrameInterpolator(index), SIGNAL(interpolated()), this, SLOT(update()));
-						if (camera()->keyFrameInterpolator(index)->numberOfKeyFrames() > 1)
-							displayMessage(tr("Path %1 deleted", "Feedback message").arg(index));
-						else
-							displayMessage(tr("Position %1 deleted", "Feedback message").arg(index));
-						camera()->deletePath(index);
-					}
-				}
-				else
-				{
-					bool nullBefore = (camera()->keyFrameInterpolator(index) == NULL);
-					camera()->addKeyFrameToPath(index);
-					if (nullBefore)
-						connect(camera()->keyFrameInterpolator(index), SIGNAL(interpolated()), SLOT(update()));
-					int nbKF = camera()->keyFrameInterpolator(index)->numberOfKeyFrames();
-					if (nbKF > 1)
-						displayMessage(tr("Path %1, position %2 added", "Feedback message").arg(index).arg(nbKF));
-					else
-						displayMessage(tr("Position %1 saved", "Feedback message").arg(index));
-				}
-				previousPathId_ = index;
-			}
-			update();
-		} else {
-			if (isValidShortcutKey(key)) currentlyPressedKey_ = key;
-			e->ignore();
-		}
-}
-
-void QGLViewer::keyReleaseEvent(QKeyEvent * e) {
-	if (isValidShortcutKey(e->key())) currentlyPressedKey_ = Qt::Key(0);
-}
-
-void QGLViewer::handleKeyboardAction(KeyboardAction id)
-{
-	switch (id)
-	{
-		case DRAW_AXIS :		toggleAxisIsDrawn(); break;
-		case DRAW_GRID :		toggleGridIsDrawn(); break;
-		case DISPLAY_FPS :		toggleFPSIsDisplayed(); break;
-		case ENABLE_TEXT :		toggleTextIsEnabled(); break;
-		case EXIT_VIEWER :		saveStateToFileForAllViewers(); qApp->closeAllWindows(); break;
-		case SAVE_SCREENSHOT :	saveSnapshot(false, false); break;
-		case FULL_SCREEN :		toggleFullScreen(); break;
-		case STEREO :			toggleStereoDisplay(); break;
-		case ANIMATION :		toggleAnimation(); break;
-	        case HELP :				/*help()*/; break;
-		case EDIT_CAMERA :		toggleCameraIsEdited(); break;
-		case SNAPSHOT_TO_CLIPBOARD :	snapshotToClipboard(); break;
-		case CAMERA_MODE :
-			toggleCameraMode();
-			displayMessage(cameraIsInRotateMode()?tr("Camera in observer mode", "Feedback message"):tr("Camera in fly mode", "Feedback message"));
-			break;
-
-		case MOVE_CAMERA_LEFT :
-			camera()->frame()->translate(camera()->frame()->inverseTransformOf(Vec(-10.0*camera()->flySpeed(), 0.0, 0.0)));
-			update();
-			break;
-		case MOVE_CAMERA_RIGHT :
-			camera()->frame()->translate(camera()->frame()->inverseTransformOf(Vec( 10.0*camera()->flySpeed(), 0.0, 0.0)));
-			update();
-			break;
-		case MOVE_CAMERA_UP :
-			camera()->frame()->translate(camera()->frame()->inverseTransformOf(Vec(0.0, 10.0*camera()->flySpeed(), 0.0)));
-			update();
-			break;
-		case MOVE_CAMERA_DOWN :
-			camera()->frame()->translate(camera()->frame()->inverseTransformOf(Vec(0.0, -10.0*camera()->flySpeed(), 0.0)));
-			update();
-			break;
-
-		case INCREASE_FLYSPEED : camera()->setFlySpeed(camera()->flySpeed() * 1.5); break;
-		case DECREASE_FLYSPEED : camera()->setFlySpeed(camera()->flySpeed() / 1.5); break;
-	}
-}
-
-/*! Callback method used when the widget size is modified.
-
-If you overload this method, first call the inherited method. Also called when the widget is
-created, before its first display. */
-void QGLViewer::resizeGL(int width, int height)
-{
-	QGLWidget::resizeGL(width, height);
-	glViewport( 0, 0, GLint(width), GLint(height) );
-	camera()->setScreenWidthAndHeight(this->width(), this->height());
-}
-
-//////////////////////////////////////////////////////////////////////////
-//              K e y b o a r d   s h o r t c u t s                     //
-//////////////////////////////////////////////////////////////////////////
-
-/*! Defines the shortcut() that triggers a given QGLViewer::KeyboardAction.
-
-Here are some examples:
-\code
-// Press 'Q' to exit application
-setShortcut(EXIT_VIEWER, Qt::Key_Q);
-
-// Alt+M toggles camera mode
-setShortcut(CAMERA_MODE, Qt::ALT + Qt::Key_M);
-
-// The DISPLAY_FPS action is disabled
-setShortcut(DISPLAY_FPS, 0);
-\endcode
-
-Only one shortcut can be assigned to a given QGLViewer::KeyboardAction (new bindings replace
-previous ones). If several KeyboardAction are binded to the same shortcut, only one of them is
-active. */
-void QGLViewer::setShortcut(KeyboardAction action, unsigned int key)
-{
-	keyboardBinding_[action] = key;
-}
-
-/*! Returns the keyboard shortcut associated to a given QGLViewer::KeyboardAction.
-
-Result is an \c unsigned \c int defined using Qt enumerated values, as in \c Qt::Key_Q or
-\c Qt::CTRL + Qt::Key_X. Use Qt::MODIFIER_MASK to separate the key from the state keys. Returns \c 0 if
-the KeyboardAction is disabled (not binded). Set using setShortcut().
-
-If you want to define keyboard shortcuts for custom actions (say, open a scene file), overload
-keyPressEvent() and then setKeyDescription().
-
-These shortcuts and their descriptions are automatically included in the help() window \c Keyboard
-tab.
-
-See the <a href="../keyboard.html">keyboard page</a> for details and default values and the <a
-href="../examples/keyboardAndMouse.html">keyboardAndMouse</a> example for a practical
-illustration. */
-unsigned int QGLViewer::shortcut(KeyboardAction action) const
-{
-	if (keyboardBinding_.contains(action))
-		return keyboardBinding_[action];
-	else
-		return 0;
-}
-
-#ifndef DOXYGEN
-void QGLViewer::setKeyboardAccelerator(KeyboardAction action, unsigned int key)
-{
-	qWarning("setKeyboardAccelerator is deprecated. Use setShortcut instead.");
-	setShortcut(action, key);
-}
-
-unsigned int QGLViewer::keyboardAccelerator(KeyboardAction action) const
-{
-	qWarning("keyboardAccelerator is deprecated. Use shortcut instead.");
-	return shortcut(action);
-}
-#endif
-
-///////     Key Frames associated keys       ///////
-
-/*! Returns the keyboard key associated to camera Key Frame path \p index.
-
-Default values are F1..F12 for indexes 1..12.
-
-addKeyFrameKeyboardModifiers() (resp. playPathKeyboardModifiers()) define the state key(s) that
-must be pressed with this key to add a KeyFrame to (resp. to play) the associated Key Frame path.
-If you quickly press twice the pathKey(), the path is reset (resp. deleted).
-
-Use camera()->keyFrameInterpolator( \p index ) to retrieve the KeyFrameInterpolator that defines
-the path.
-
-If several keys are binded to a given \p index (see setPathKey()), one of them is returned.
-Returns \c 0 if no key is associated with this index.
-
-See also the <a href="../keyboard.html">keyboard page</a>. */
-Qt::Key QGLViewer::pathKey(unsigned int index) const
-{
-	for (QMap<Qt::Key, unsigned int>::ConstIterator it = pathIndex_.begin(), end=pathIndex_.end(); it != end; ++it)
-		if (it.value() == index)
-			return it.key();
-	return Qt::Key(0);
-}
-
-/*! Sets the pathKey() associated with the camera Key Frame path \p index.
-
-Several keys can be binded to the same \p index. Use a negated \p key value to delete the binding
-(the \p index value is then ignored):
-\code
-// Press 'space' to play/pause/add/delete camera path of index 0.
-setPathKey(Qt::Key_Space, 0);
-
-// Remove this binding
-setPathKey(-Qt::Key_Space);
-\endcode */
-void QGLViewer::setPathKey(int key, unsigned int index)
-{
-	Qt::Key k = Qt::Key(abs(key));
-	if (key < 0)
-		pathIndex_.remove(k);
-	else
-		pathIndex_[k] = index;
-}
-
-/*! Sets the playPathKeyboardModifiers() value. */
-void QGLViewer::setPlayPathKeyboardModifiers(Qt::KeyboardModifiers modifiers)
-{
-	playPathKeyboardModifiers_ = modifiers;
-}
-
-/*! Sets the addKeyFrameKeyboardModifiers() value. */
-void QGLViewer::setAddKeyFrameKeyboardModifiers(Qt::KeyboardModifiers modifiers)
-{
-	addKeyFrameKeyboardModifiers_ = modifiers;
-}
-
-/*! Returns the keyboard modifiers that must be pressed with a pathKey() to add the current camera
-position to a KeyFrame path.
-
-It can be \c Qt::NoModifier, \c Qt::ControlModifier, \c Qt::ShiftModifier, \c Qt::AltModifier, \c
-Qt::MetaModifier or a combination of these (using the bitwise '|' operator).
-
-Default value is Qt::AltModifier. Defined using setAddKeyFrameKeyboardModifiers().
-
-See also playPathKeyboardModifiers(). */
-Qt::KeyboardModifiers QGLViewer::addKeyFrameKeyboardModifiers() const
-{
-	return addKeyFrameKeyboardModifiers_;
-}
-
-/*! Returns the keyboard modifiers that must be pressed with a pathKey() to play a camera KeyFrame path.
-
-It can be \c Qt::NoModifier, \c Qt::ControlModifier, \c Qt::ShiftModifier, \c Qt::AltModifier, \c
-Qt::MetaModifier or a combination of these (using the bitwise '|' operator).
-
-Default value is Qt::NoModifier. Defined using setPlayPathKeyboardModifiers().
-
-See also addKeyFrameKeyboardModifiers(). */
-Qt::KeyboardModifiers QGLViewer::playPathKeyboardModifiers() const
-{
-	return playPathKeyboardModifiers_;
-}
-
-#ifndef DOXYGEN
-// Deprecated methods
-Qt::KeyboardModifiers QGLViewer::addKeyFrameStateKey() const
-{
-	qWarning("addKeyFrameStateKey has been renamed addKeyFrameKeyboardModifiers");
-	return addKeyFrameKeyboardModifiers(); }
-
-Qt::KeyboardModifiers QGLViewer::playPathStateKey() const
-{
-	qWarning("playPathStateKey has been renamed playPathKeyboardModifiers");
-	return playPathKeyboardModifiers();
-}
-
-void QGLViewer::setAddKeyFrameStateKey(unsigned int buttonState)
-{
-	qWarning("setAddKeyFrameStateKey has been renamed setAddKeyFrameKeyboardModifiers");
-	setAddKeyFrameKeyboardModifiers(keyboardModifiersFromState(buttonState));
-}
-
-void QGLViewer::setPlayPathStateKey(unsigned int buttonState)
-{
-	qWarning("setPlayPathStateKey has been renamed setPlayPathKeyboardModifiers");
-	setPlayPathKeyboardModifiers(keyboardModifiersFromState(buttonState));
-}
-
-Qt::Key QGLViewer::keyFrameKey(unsigned int index) const
-{
-	qWarning("keyFrameKey has been renamed pathKey.");
-	return pathKey(index);
-}
-
-Qt::KeyboardModifiers QGLViewer::playKeyFramePathStateKey() const
-{
-	qWarning("playKeyFramePathStateKey has been renamed playPathKeyboardModifiers.");
-	return playPathKeyboardModifiers();
-}
-
-void QGLViewer::setKeyFrameKey(unsigned int index, int key)
-{
-	qWarning("setKeyFrameKey is deprecated, use setPathKey instead, with swapped parameters.");
-	setPathKey(key, index);
-}
-
-void QGLViewer::setPlayKeyFramePathStateKey(unsigned int buttonState)
-{
-	qWarning("setPlayKeyFramePathStateKey has been renamed setPlayPathKeyboardModifiers.");
-	setPlayPathKeyboardModifiers(keyboardModifiersFromState(buttonState));
-}
-#endif
-
-////////////////////////////////////////////////////////////////////////////////
-//              M o u s e   b e h a v i o r   s t a t e   k e y s             //
-////////////////////////////////////////////////////////////////////////////////
-#ifndef DOXYGEN
-/*! This method has been deprecated since version 2.5.0
-
-Associates keyboard modifiers to MouseHandler \p handler.
-
-The \p modifiers parameter is \c Qt::AltModifier, \c Qt::ShiftModifier, \c Qt::ControlModifier, \c
-Qt::MetaModifier or a combination of these using the '|' bitwise operator.
-
-\e All the \p handler's associated bindings will then need the specified \p modifiers key(s) to be
-activated.
-
-With this code,
-\code
-setHandlerKeyboardModifiers(QGLViewer::CAMERA, Qt::AltModifier);
-setHandlerKeyboardModifiers(QGLViewer::FRAME, Qt::NoModifier);
-\endcode
-you will have to press the \c Alt key while pressing mouse buttons in order to move the camera(),
-while no key will be needed to move the manipulatedFrame().
-
-This method has a very basic implementation: every action binded to \p handler has its keyboard
-modifier replaced by \p modifiers. If \p handler had some actions binded to different modifiers,
-these settings will be lost. You should hence consider using setMouseBinding() for finer tuning.
-
-The default binding associates \c Qt::ControlModifier to all the QGLViewer::FRAME actions and \c
-Qt::NoModifier to all QGLViewer::CAMERA actions. See <a href="../mouse.html">mouse page</a> for
-details.
-
-\attention This method calls setMouseBinding(), which ensures that only one action is binded to a
-given modifiers. If you want to \e swap the QGLViewer::CAMERA and QGLViewer::FRAME keyboard
-modifiers, you have to use a temporary dummy modifier (as if you were swapping two variables) or
-else the first call will overwrite the previous settings:
-\code
-// Associate FRAME with Alt (temporary value)
-setHandlerKeyboardModifiers(QGLViewer::FRAME, Qt::AltModifier);
-// Control is associated with CAMERA
-setHandlerKeyboardModifiers(QGLViewer::CAMERA, Qt::ControlModifier);
-// And finally, FRAME can be associated with NoModifier
-setHandlerKeyboardModifiers(QGLViewer::FRAME, Qt::NoModifier);
-\endcode */
-void QGLViewer::setHandlerKeyboardModifiers(MouseHandler handler, Qt::KeyboardModifiers modifiers)
-{
-	qWarning("setHandlerKeyboardModifiers is deprecated, call setMouseBinding() instead");
-
-	QMap<MouseBindingPrivate, MouseActionPrivate> newMouseBinding;
-	QMap<WheelBindingPrivate, MouseActionPrivate> newWheelBinding;
-	QMap<ClickBindingPrivate, ClickAction> newClickBinding_;
-
-	QMap<MouseBindingPrivate, MouseActionPrivate>::Iterator mit;
-	QMap<WheelBindingPrivate, MouseActionPrivate>::Iterator wit;
-
-	// First copy unchanged bindings.
-	for (mit = mouseBinding_.begin(); mit != mouseBinding_.end(); ++mit)
-		if ((mit.value().handler != handler) || (mit.value().action == ZOOM_ON_REGION))
-			newMouseBinding[mit.key()] = mit.value();
-
-	for (wit = wheelBinding_.begin(); wit != wheelBinding_.end(); ++wit)
-		if (wit.value().handler != handler)
-			newWheelBinding[wit.key()] = wit.value();
-
-	// Then, add modified bindings, that can overwrite the previous ones.
-	for (mit = mouseBinding_.begin(); mit != mouseBinding_.end(); ++mit)
-		if ((mit.value().handler == handler) && (mit.value().action != ZOOM_ON_REGION))
-		{
-			MouseBindingPrivate mbp(modifiers, mit.key().button, mit.key().key);
-			newMouseBinding[mbp] = mit.value();
-		}
-
-	for (wit = wheelBinding_.begin(); wit != wheelBinding_.end(); ++wit)
-		if (wit.value().handler == handler)
-		{
-			WheelBindingPrivate wbp(modifiers, wit.key().key);
-			newWheelBinding[wbp] = wit.value();
-		}
-
-	// Same for button bindings
-	for (QMap<ClickBindingPrivate, ClickAction>::ConstIterator cb=clickBinding_.begin(), end=clickBinding_.end(); cb != end; ++cb)
-		if (((handler==CAMERA) && ((cb.value() == CENTER_SCENE) || (cb.value() == ALIGN_CAMERA))) ||
-			((handler==FRAME)  && ((cb.value() == CENTER_FRAME) || (cb.value() == ALIGN_FRAME))))
-		{
-			ClickBindingPrivate cbp(modifiers, cb.key().button, cb.key().doubleClick, cb.key().buttonsBefore, cb.key().key);
-			newClickBinding_[cbp] = cb.value();
-		}
-		else
-			newClickBinding_[cb.key()] = cb.value();
-
-	mouseBinding_ = newMouseBinding;
-	wheelBinding_ = newWheelBinding;
-	clickBinding_ = newClickBinding_;
-}
-
-void QGLViewer::setHandlerStateKey(MouseHandler handler, unsigned int buttonState)
-{
-	qWarning("setHandlerStateKey has been renamed setHandlerKeyboardModifiers");
-	setHandlerKeyboardModifiers(handler, keyboardModifiersFromState(buttonState));
-}
-
-void QGLViewer::setMouseStateKey(MouseHandler handler, unsigned int buttonState)
-{
-	qWarning("setMouseStateKey has been renamed setHandlerKeyboardModifiers.");
-	setHandlerKeyboardModifiers(handler, keyboardModifiersFromState(buttonState));
-}
-
-/*! This method is deprecated since version 2.5.0
-
- Use setMouseBinding(Qt::KeyboardModifiers, Qt::MouseButtons, MouseHandler, MouseAction, bool) instead.
-*/
-void QGLViewer::setMouseBinding(unsigned int state, MouseHandler handler, MouseAction action, bool withConstraint)
-{
-  //qWarning("setMouseBinding(int state, MouseHandler...) is deprecated. Use the modifier/button equivalent");
-	setMouseBinding(keyboardModifiersFromState(state),
-					mouseButtonFromState(state),
-					handler,
-					action,
-					withConstraint);
-}
-#endif
-
-/*! Defines a MouseAction binding.
-
-  Same as calling setMouseBinding(Qt::Key, Qt::KeyboardModifiers, Qt::MouseButton, MouseHandler, MouseAction, bool),
-  with a key value of Qt::Key(0) (i.e. no regular extra key needs to be pressed to perform this action). */
-void QGLViewer::setMouseBinding(Qt::KeyboardModifiers modifiers, Qt::MouseButton button, MouseHandler handler, MouseAction action, bool withConstraint) {
-	setMouseBinding(Qt::Key(0), modifiers, button, handler, action, withConstraint);
-}
-
-/*! Associates a MouseAction to any mouse \p button, while keyboard \p modifiers and \p key are pressed.
-The receiver of the mouse events is a MouseHandler (QGLViewer::CAMERA or QGLViewer::FRAME).
-
-The parameters should read: when the mouse \p button is pressed, while the keyboard \p modifiers and \p key are down,
-activate \p action on \p handler. Use Qt::NoModifier to indicate that no modifier
-key is needed, and a \p key value of 0 if no regular key has to be pressed
-(or simply use setMouseBinding(Qt::KeyboardModifiers, Qt::MouseButton, MouseHandler, MouseAction, bool)).
-
-Use the '|' operator to combine modifiers:
-\code
-// The R key combined with the Left mouse button rotates the camera in the screen plane.
-setMouseBinding(Qt::Key_R, Qt::NoModifier, Qt::LeftButton, CAMERA, SCREEN_ROTATE);
-
-// Alt + Shift and Left button rotates the manipulatedFrame().
-setMouseBinding(Qt::AltModifier | Qt::ShiftModifier, Qt::LeftButton, FRAME, ROTATE);
-\endcode
-
-If \p withConstraint is \c true (default), the possible
-qglviewer::Frame::constraint() of the associated Frame will be enforced during motion.
-
-The list of all possible MouseAction, some binding examples and default bindings are provided in
-the <a href="../mouse.html">mouse page</a>.
-
-See the <a href="../examples/keyboardAndMouse.html">keyboardAndMouse</a> example for an illustration.
-
-If no mouse button is specified, the binding is ignored. If an action was previously
-associated with this keyboard and button combination, it is silently overwritten (call mouseAction()
-before to check).
-
-To remove a specific mouse binding, use \p NO_MOUSE_ACTION as the \p action.
-
-See also setMouseBinding(Qt::KeyboardModifiers, Qt::MouseButtons, ClickAction, bool, int), setWheelBinding() and clearMouseBindings(). */
-void QGLViewer::setMouseBinding(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton button, MouseHandler handler, MouseAction action, bool withConstraint)
-{
-	if ((handler == FRAME) && ((action == MOVE_FORWARD) || (action == MOVE_BACKWARD) ||
-							   (action == ROLL) || (action == LOOK_AROUND) ||
-							   (action == ZOOM_ON_REGION)))	{
-		qWarning("Cannot bind %s to FRAME", mouseActionString(action).toLatin1().constData());
-		return;
-	}
-
-	if (button == Qt::NoButton) {
-		qWarning("No mouse button specified in setMouseBinding");
-		return;
-	}
-
-	MouseActionPrivate map;
-	map.handler = handler;
-	map.action = action;
-	map.withConstraint = withConstraint;
-
-	MouseBindingPrivate mbp(modifiers, button, key);
-	if (action == NO_MOUSE_ACTION)
-		mouseBinding_.remove(mbp);
-	else
-		mouseBinding_.insert(mbp, map);
-
-	ClickBindingPrivate cbp(modifiers, button, false, Qt::NoButton, key);
-	clickBinding_.remove(cbp);
-}
-
-#ifndef DOXYGEN
-/*! This method is deprecated since version 2.5.0
-
- Use setMouseBinding(Qt::KeyboardModifiers, Qt::MouseButtons, MouseHandler, MouseAction, bool) instead.
-*/
-void QGLViewer::setMouseBinding(unsigned int state, ClickAction action, bool doubleClick, Qt::MouseButtons buttonsBefore) {
-  //qWarning("setMouseBinding(int state, ClickAction...) is deprecated. Use the modifier/button equivalent");
-	setMouseBinding(keyboardModifiersFromState(state),
-					mouseButtonFromState(state),
-					action,
-					doubleClick,
-					buttonsBefore);
-}
-#endif
-
-/*! Defines a ClickAction binding.
-
- Same as calling setMouseBinding(Qt::Key, Qt::KeyboardModifiers, Qt::MouseButton, ClickAction, bool, Qt::MouseButtons),
- with a key value of Qt::Key(0) (i.e. no regular key needs to be pressed to activate this action). */
-void QGLViewer::setMouseBinding(Qt::KeyboardModifiers modifiers, Qt::MouseButton button, ClickAction action, bool doubleClick, Qt::MouseButtons buttonsBefore)
-{
-	setMouseBinding(Qt::Key(0), modifiers, button, action, doubleClick, buttonsBefore);
-}
-
-/*! Associates a ClickAction to a button and keyboard key and modifier(s) combination.
-
-The parameters should read: when \p button is pressed, while the \p modifiers and \p key keys are down,
-and possibly as a \p doubleClick, then perform \p action. Use Qt::NoModifier to indicate that no modifier
-key is needed, and a \p key value of 0 if no regular key has to be pressed (or simply use
-setMouseBinding(Qt::KeyboardModifiers, Qt::MouseButton, ClickAction, bool, Qt::MouseButtons)).
-
-If \p buttonsBefore is specified (valid only when \p doubleClick is \c true), then this (or these) other mouse
-button(s) has (have) to be pressed \e before the double click occurs in order to execute \p action.
-
-The list of all possible ClickAction, some binding examples and default bindings are listed in the
-<a href="../mouse.html">mouse page</a>. See also the setMouseBinding() documentation.
-
-See the <a href="../examples/keyboardAndMouse.html">keyboardAndMouse example</a> for an
-illustration.
-
-The binding is ignored if Qt::NoButton is specified as \p buttons.
-
-See also setMouseBinding(Qt::KeyboardModifiers, Qt::MouseButtons, MouseHandler, MouseAction, bool), setWheelBinding() and clearMouseBindings().
-*/
-void QGLViewer::setMouseBinding(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton button, ClickAction action, bool doubleClick, Qt::MouseButtons buttonsBefore)
-{
-	if ((buttonsBefore != Qt::NoButton) && !doubleClick) {
-		qWarning("Buttons before is only meaningful when doubleClick is true in setMouseBinding().");
-		return;
-	}
-
-	if (button == Qt::NoButton) {
-		qWarning("No mouse button specified in setMouseBinding");
-		return;
-	}
-
-	ClickBindingPrivate cbp(modifiers, button, doubleClick, buttonsBefore, key);
-
-	// #CONNECTION performClickAction comment on NO_CLICK_ACTION
-	if (action == NO_CLICK_ACTION)
-		clickBinding_.remove(cbp);
-	else
-		clickBinding_.insert(cbp, action);
-
-	if ((!doubleClick) && (buttonsBefore == Qt::NoButton)) {
-		MouseBindingPrivate mbp(modifiers, button, key);
-		mouseBinding_.remove(mbp);
-	}
-}
-
-/*! Defines a mouse wheel binding.
-
- Same as calling setWheelBinding(Qt::Key, Qt::KeyboardModifiers, MouseHandler, MouseAction, bool),
- with a key value of Qt::Key(0) (i.e. no regular key needs to be pressed to activate this action). */
-void QGLViewer::setWheelBinding(Qt::KeyboardModifiers modifiers, MouseHandler handler, MouseAction action, bool withConstraint) {
-	setWheelBinding(Qt::Key(0), modifiers, handler, action, withConstraint);
-}
-
-/*! Associates a MouseAction and a MouseHandler to a mouse wheel event.
-
-This method is very similar to setMouseBinding(), but specific to the wheel.
-
-In the current implementation only QGLViewer::ZOOM can be associated with QGLViewer::FRAME, while
-QGLViewer::CAMERA can receive QGLViewer::ZOOM and QGLViewer::MOVE_FORWARD.
-
-The difference between QGLViewer::ZOOM and QGLViewer::MOVE_FORWARD is that QGLViewer::ZOOM speed
-depends on the distance to the object, while QGLViewer::MOVE_FORWARD moves at a constant speed
-defined by qglviewer::Camera::flySpeed(). */
-void QGLViewer::setWheelBinding(Qt::Key key, Qt::KeyboardModifiers modifiers, MouseHandler handler, MouseAction action, bool withConstraint)
-{
-	//#CONNECTION# ManipulatedFrame::wheelEvent and ManipulatedCameraFrame::wheelEvent switches
-	if ((action != ZOOM) && (action != MOVE_FORWARD) && (action != MOVE_BACKWARD) && (action != NO_MOUSE_ACTION)) {
-		qWarning("Cannot bind %s to wheel", mouseActionString(action).toLatin1().constData());
-		return;
-	}
-
-	if ((handler == FRAME) && (action != ZOOM) && (action != NO_MOUSE_ACTION)) {
-		qWarning("Cannot bind %s to FRAME wheel", mouseActionString(action).toLatin1().constData());
-		return;
-	}
-
-	MouseActionPrivate map;
-	map.handler = handler;
-	map.action  = action;
-	map.withConstraint = withConstraint;
-
-	WheelBindingPrivate wbp(modifiers, key);
-	if (action == NO_MOUSE_ACTION)
-		wheelBinding_.remove(wbp);
-	else
-		wheelBinding_[wbp] = map;
-}
-
-/*! Clears all the default mouse bindings.
-
-After this call, you will have to use setMouseBinding() and setWheelBinding() to restore the mouse bindings you are interested in.
-*/
-void QGLViewer::clearMouseBindings() {
-	mouseBinding_.clear();
-	clickBinding_.clear();
-	wheelBinding_.clear();
-}
-
-/*! Clears all the default keyboard shortcuts.
-
-After this call, you will have to use setShortcut() to define your own keyboard shortcuts.
-*/
-void QGLViewer::clearShortcuts() {
-	keyboardBinding_.clear();
-	pathIndex_.clear();
-}
-
-/*! This method is deprecated since version 2.5.0
-
- Use mouseAction(Qt::Key, Qt::KeyboardModifiers, Qt::MouseButtons) instead.
-*/
-QGLViewer::MouseAction QGLViewer::mouseAction(unsigned int state) const {
-	qWarning("mouseAction(int state,...) is deprecated. Use the modifier/button equivalent");
-	return mouseAction(Qt::Key(0), keyboardModifiersFromState(state), mouseButtonFromState(state));
-}
-
-/*! Returns the MouseAction the will be triggered when the mouse \p button is pressed,
-while the keyboard \p modifiers and \p key are pressed.
-
-Returns QGLViewer::NO_MOUSE_ACTION if no action is associated with this combination. Use 0 for \p key
-to indicate that no regular key needs to be pressed.
-
-For instance, to know which motion corresponds to Alt+LeftButton, do:
-\code
-QGLViewer::MouseAction ma = mouseAction(0, Qt::AltModifier, Qt::LeftButton);
-if (ma != QGLViewer::NO_MOUSE_ACTION) ...
-\endcode
-
-Use mouseHandler() to know which object (QGLViewer::CAMERA or QGLViewer::FRAME) will execute this
-action. */
-QGLViewer::MouseAction QGLViewer::mouseAction(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton button) const
-{
-	MouseBindingPrivate mbp(modifiers, button, key);
-	if (mouseBinding_.contains(mbp))
-		return mouseBinding_[mbp].action;
-	else
-		return NO_MOUSE_ACTION;
-}
-
-/*! This method is deprecated since version 2.5.0
-
- Use mouseHanler(Qt::Key, Qt::KeyboardModifiers, Qt::MouseButtons) instead.
-*/
-int QGLViewer::mouseHandler(unsigned int state) const {
-	qWarning("mouseHandler(int state,...) is deprecated. Use the modifier/button equivalent");
-	return mouseHandler(Qt::Key(0), keyboardModifiersFromState(state), mouseButtonFromState(state));
-}
-
-/*! Returns the MouseHandler which will be activated when the mouse \p button is pressed, while the \p modifiers and \p key are pressed.
-
-If no action is associated with this combination, returns \c -1. Use 0 for \p key and Qt::NoModifier for \p modifiers
-to represent the lack of a key press.
-
-For instance, to know which handler receives the Alt+LeftButton, do:
-\code
-int mh = mouseHandler(0, Qt::AltModifier, Qt::LeftButton);
-if (mh == QGLViewer::CAMERA) ...
-\endcode
-
-Use mouseAction() to know which action (see the MouseAction enum) will be performed on this handler. */
-int QGLViewer::mouseHandler(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton button) const
-{
-	MouseBindingPrivate mbp(modifiers, button, key);
-	if (mouseBinding_.contains(mbp))
-		return mouseBinding_[mbp].handler;
-	else
-		return -1;
-}
-
-
-#ifndef DOXYGEN
-/*! This method is deprecated since version 2.5.0
-
- Use mouseButtons() and keyboardModifiers() instead.
-*/
-int QGLViewer::mouseButtonState(MouseHandler handler, MouseAction action, bool withConstraint) const {
-	qWarning("mouseButtonState() is deprecated. Use mouseButtons() and keyboardModifiers() instead");
-	for (QMap<MouseBindingPrivate, MouseActionPrivate>::ConstIterator it=mouseBinding_.begin(), end=mouseBinding_.end(); it != end; ++it)
-		if ( (it.value().handler == handler) && (it.value().action == action) && (it.value().withConstraint == withConstraint) )
-			return (int) it.key().modifiers | (int) it.key().button;
-
-	return Qt::NoButton;
-}
-#endif
-
-/*! Returns the keyboard state that triggers \p action on \p handler \p withConstraint using the mouse wheel.
-
-If such a binding exists, results are stored in the \p key and \p modifiers
-parameters. If the MouseAction \p action is not bound, \p key is set to the illegal -1 value.
-If several keyboard states trigger the MouseAction, one of them is returned.
-
-See also setMouseBinding(), getClickActionBinding() and getMouseActionBinding(). */
-void QGLViewer::getWheelActionBinding(MouseHandler handler, MouseAction action, bool withConstraint,
-									  Qt::Key& key, Qt::KeyboardModifiers& modifiers) const
-{
-	for (QMap<WheelBindingPrivate, MouseActionPrivate>::ConstIterator it=wheelBinding_.begin(), end=wheelBinding_.end(); it != end; ++it)
-		if ( (it.value().handler == handler) && (it.value().action == action) && (it.value().withConstraint == withConstraint) ) {
-			key = it.key().key;
-			modifiers = it.key().modifiers;
-			return;
-		}
-
-	key = Qt::Key(-1);
-	modifiers = Qt::NoModifier;
-}
-
-/*! Returns the mouse and keyboard state that triggers \p action on \p handler \p withConstraint.
-
-If such a binding exists, results are stored in the \p key, \p modifiers and \p button
-parameters. If the MouseAction \p action is not bound, \p button is set to \c Qt::NoButton.
-If several mouse and keyboard states trigger the MouseAction, one of them is returned.
-
-See also setMouseBinding(), getClickActionBinding() and getWheelActionBinding(). */
-void QGLViewer::getMouseActionBinding(MouseHandler handler, MouseAction action, bool withConstraint,
-									  Qt::Key& key, Qt::KeyboardModifiers& modifiers, Qt::MouseButton& button) const
-{
-	for (QMap<MouseBindingPrivate, MouseActionPrivate>::ConstIterator it=mouseBinding_.begin(), end=mouseBinding_.end(); it != end; ++it) {
-		if ( (it.value().handler == handler) && (it.value().action == action) && (it.value().withConstraint == withConstraint) ) {
-			key = it.key().key;
-			modifiers = it.key().modifiers;
-			button = it.key().button;
-			return;
-		}
-	}
-
-	key = Qt::Key(0);
-	modifiers = Qt::NoModifier;
-	button = Qt::NoButton;
-}
-
-/*! Returns the MouseAction (if any) that is performed when using the wheel, when the \p modifiers and \p key keyboard keys are pressed.
-
-Returns NO_MOUSE_ACTION if no such binding has been defined using setWheelBinding().
-
-Same as mouseAction(), but for the wheel action. See also wheelHandler().
-*/
-QGLViewer::MouseAction QGLViewer::wheelAction(Qt::Key key, Qt::KeyboardModifiers modifiers) const
-{
-	WheelBindingPrivate wbp(modifiers, key);
-	if (wheelBinding_.contains(wbp))
-		return wheelBinding_[wbp].action;
-	else
-		return NO_MOUSE_ACTION;
-}
-
-/*! Returns the MouseHandler (if any) that receives wheel events when the \p modifiers and \p key keyboard keys are pressed.
-
-  Returns -1 if no no such binding has been defined using setWheelBinding(). See also wheelAction().
-*/
-int QGLViewer::wheelHandler(Qt::Key key, Qt::KeyboardModifiers modifiers) const
-{
-	WheelBindingPrivate wbp(modifiers, key);
-	if (wheelBinding_.contains(wbp))
-		return wheelBinding_[wbp].handler;
-	else
-		return -1;
-}
-
-/*! Same as mouseAction(), but for the ClickAction set using setMouseBinding().
-
-Returns NO_CLICK_ACTION if no click action is associated with this keyboard and mouse buttons combination. */
-QGLViewer::ClickAction QGLViewer::clickAction(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton button,
-											  bool doubleClick, Qt::MouseButtons buttonsBefore) const {
-	ClickBindingPrivate cbp(modifiers, button, doubleClick, buttonsBefore, key);
-	if (clickBinding_.contains(cbp))
-		return clickBinding_[cbp];
-	else
-		return NO_CLICK_ACTION;
-}
-
-#ifndef DOXYGEN
-/*! This method is deprecated since version 2.5.0
-
-	Use wheelAction(Qt::Key key, Qt::KeyboardModifiers modifiers) instead. */
-QGLViewer::MouseAction QGLViewer::wheelAction(Qt::KeyboardModifiers modifiers) const {
-	qWarning("wheelAction() is deprecated. Use the new wheelAction() method with a key parameter instead");
-	return wheelAction(Qt::Key(0), modifiers);
-}
-
-/*! This method is deprecated since version 2.5.0
-
-	Use wheelHandler(Qt::Key key, Qt::KeyboardModifiers modifiers) instead. */
-int QGLViewer::wheelHandler(Qt::KeyboardModifiers modifiers) const {
-	qWarning("wheelHandler() is deprecated. Use the new wheelHandler() method with a key parameter instead");
-	return wheelHandler(Qt::Key(0), modifiers);
-}
-
-/*! This method is deprecated since version 2.5.0
-
-  Use wheelAction() and wheelHandler() instead. */
-unsigned int QGLViewer::wheelButtonState(MouseHandler handler, MouseAction action, bool withConstraint) const
-{
-	qWarning("wheelButtonState() is deprecated. Use the wheelAction() and wheelHandler() instead");
-	for (QMap<WheelBindingPrivate, MouseActionPrivate>::ConstIterator it=wheelBinding_.begin(), end=wheelBinding_.end(); it!=end; ++it)
-		if ( (it.value().handler == handler) && (it.value().action == action) && (it.value().withConstraint == withConstraint) )
-			return it.key().key + it.key().modifiers;
-
-	return -1;
-}
-
-/*! This method is deprecated since version 2.5.0
-
- Use clickAction(Qt::KeyboardModifiers, Qt::MouseButtons, bool, Qt::MouseButtons) instead.
-*/
-QGLViewer::ClickAction QGLViewer::clickAction(unsigned int state, bool doubleClick, Qt::MouseButtons buttonsBefore) const {
-	qWarning("clickAction(int state,...) is deprecated. Use the modifier/button equivalent");
-	return clickAction(Qt::Key(0),
-					   keyboardModifiersFromState(state),
-					   mouseButtonFromState(state),
-					   doubleClick,
-					   buttonsBefore);
-}
-
-/*! This method is deprecated since version 2.5.0
-
- Use getClickActionState(ClickAction, Qt::Key, Qt::KeyboardModifiers, Qt::MouseButton, bool, Qt::MouseButtons) instead.
-*/
-void QGLViewer::getClickButtonState(ClickAction action, unsigned int& state, bool& doubleClick, Qt::MouseButtons& buttonsBefore) const {
-	qWarning("getClickButtonState(int state,...) is deprecated. Use the modifier/button equivalent");
-	Qt::KeyboardModifiers modifiers;
-	Qt::MouseButton button;
-	Qt::Key key;
-	getClickActionBinding(action, key, modifiers, button, doubleClick, buttonsBefore);
-	state = (unsigned int) modifiers | (unsigned int) button | (unsigned int) key;
-}
-#endif
-
-/*! Returns the mouse and keyboard state that triggers \p action.
-
-If such a binding exists, results are stored in the \p key, \p modifiers, \p button, \p doubleClick and \p buttonsBefore
-parameters. If the ClickAction \p action is not bound, \p button is set to \c Qt::NoButton.
-If several mouse buttons trigger in the ClickAction, one of them is returned.
-
-See also setMouseBinding(), getMouseActionBinding() and getWheelActionBinding(). */
-void QGLViewer::getClickActionBinding(ClickAction action, Qt::Key& key, Qt::KeyboardModifiers& modifiers, Qt::MouseButton &button, bool& doubleClick, Qt::MouseButtons& buttonsBefore) const
-{
-	for (QMap<ClickBindingPrivate, ClickAction>::ConstIterator it=clickBinding_.begin(), end=clickBinding_.end(); it != end; ++it)
-		if (it.value() == action) {
-			modifiers = it.key().modifiers;
-			button = it.key().button;
-			doubleClick = it.key().doubleClick;
-			buttonsBefore = it.key().buttonsBefore;
-			key = it.key().key;
-			return;
-		}
-
-	modifiers = Qt::NoModifier;
-	button = Qt::NoButton;
-	doubleClick = false;
-	buttonsBefore = Qt::NoButton;
-	key = Qt::Key(0);
-}
-
-/*! This function should be used in conjunction with toggleCameraMode(). It returns \c true when at
-least one mouse button is binded to the \c ROTATE mouseAction. This is crude way of determining
-which "mode" the camera is in. */
-bool QGLViewer::cameraIsInRotateMode() const
-{
-	//#CONNECTION# used in toggleCameraMode() and keyboardString()
-	Qt::Key key;
-	Qt::KeyboardModifiers modifiers;
-	Qt::MouseButton button;
-	getMouseActionBinding(CAMERA, ROTATE, true /*constraint*/, key, modifiers, button);
-	return button != Qt::NoButton;
-}
-
-/*! Swaps between two predefined camera mouse bindings.
-
-The first mode makes the camera observe the scene while revolving around the
-qglviewer::Camera::pivotPoint(). The second mode is designed for walkthrough applications
-and simulates a flying camera.
-
-Practically, the three mouse buttons are respectively binded to:
-\arg In rotate mode: QGLViewer::ROTATE, QGLViewer::ZOOM, QGLViewer::TRANSLATE.
-\arg In fly mode: QGLViewer::MOVE_FORWARD, QGLViewer::LOOK_AROUND, QGLViewer::MOVE_BACKWARD.
-
-The current mode is determined by checking if a mouse button is binded to QGLViewer::ROTATE for
-the QGLViewer::CAMERA. The state key that was previously used to move the camera is preserved. */
-void QGLViewer::toggleCameraMode()
-{
-	Qt::Key key;
-	Qt::KeyboardModifiers modifiers;
-	Qt::MouseButton button;
-	getMouseActionBinding(CAMERA, ROTATE, true /*constraint*/, key, modifiers, button);
-	bool rotateMode = button != Qt::NoButton;
-
-	if (!rotateMode) {
-		getMouseActionBinding(CAMERA, MOVE_FORWARD, true /*constraint*/, key, modifiers, button);
-	}
-
-	//#CONNECTION# setDefaultMouseBindings()
-	if (rotateMode)
-	{
-		camera()->frame()->updateSceneUpVector();
-		camera()->frame()->stopSpinning();
-
-		setMouseBinding(modifiers, Qt::LeftButton,  CAMERA, MOVE_FORWARD);
-		setMouseBinding(modifiers, Qt::MidButton,   CAMERA, LOOK_AROUND);
-		setMouseBinding(modifiers, Qt::RightButton, CAMERA, MOVE_BACKWARD);
-
-		setMouseBinding(Qt::Key_R, modifiers, Qt::LeftButton, CAMERA, ROLL);
-
-		setMouseBinding(Qt::NoModifier, Qt::LeftButton,  NO_CLICK_ACTION, true);
-		setMouseBinding(Qt::NoModifier, Qt::MidButton,   NO_CLICK_ACTION, true);
-		setMouseBinding(Qt::NoModifier, Qt::RightButton, NO_CLICK_ACTION, true);
-
-		setWheelBinding(modifiers, CAMERA, MOVE_FORWARD);
-	}
-	else
-	{
-		// Should stop flyTimer. But unlikely and not easy.
-		setMouseBinding(modifiers, Qt::LeftButton,  CAMERA, ROTATE);
-		setMouseBinding(modifiers, Qt::MidButton,   CAMERA, ZOOM);
-		setMouseBinding(modifiers, Qt::RightButton, CAMERA, TRANSLATE);
-
-		setMouseBinding(Qt::Key_R, modifiers, Qt::LeftButton, CAMERA, SCREEN_ROTATE);
-
-		setMouseBinding(Qt::NoModifier, Qt::LeftButton,  ALIGN_CAMERA,      true);
-		setMouseBinding(Qt::NoModifier, Qt::MidButton,   SHOW_ENTIRE_SCENE, true);
-		setMouseBinding(Qt::NoModifier, Qt::RightButton, CENTER_SCENE,      true);
-
-		setWheelBinding(modifiers, CAMERA, ZOOM);
-	}
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//              M a n i p u l a t e d   f r a m e s                           //
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Sets the viewer's manipulatedFrame().
-
-Several objects can be manipulated simultaneously, as is done the <a
-href="../examples/multiSelect.html">multiSelect example</a>.
-
-Defining the \e own viewer's camera()->frame() as the manipulatedFrame() is possible and will result
-in a classical camera manipulation. See the <a href="../examples/luxo.html">luxo example</a> for an
-illustration.
-
-Note that a qglviewer::ManipulatedCameraFrame can be set as the manipulatedFrame(): it is possible
-to manipulate the camera of a first viewer in a second viewer. */
-void QGLViewer::setManipulatedFrame(ManipulatedFrame* frame)
-{
-	if (manipulatedFrame())
-	{
-		manipulatedFrame()->stopSpinning();
-
-		if (manipulatedFrame() != camera()->frame())
-		{
-			disconnect(manipulatedFrame(), SIGNAL(manipulated()), this, SLOT(update()));
-			disconnect(manipulatedFrame(), SIGNAL(spun()), this, SLOT(update()));
-		}
-	}
-
-	manipulatedFrame_ = frame;
-
-	manipulatedFrameIsACamera_ = ((manipulatedFrame() != camera()->frame()) &&
-								  (dynamic_cast<ManipulatedCameraFrame*>(manipulatedFrame()) != NULL));
-
-	if (manipulatedFrame())
-	{
-		// Prevent multiple connections, that would result in useless display updates
-		if (manipulatedFrame() != camera()->frame())
-		{
-			connect(manipulatedFrame(), SIGNAL(manipulated()), SLOT(update()));
-			connect(manipulatedFrame(), SIGNAL(spun()), SLOT(update()));
-		}
-	}
-}
-
-#ifndef DOXYGEN
-////////////////////////////////////////////////////////////////////////////////
-//                          V i s u a l   H i n t s                           //
-////////////////////////////////////////////////////////////////////////////////
-/*! Draws viewer related visual hints.
-
-Displays the new qglviewer::Camera::pivotPoint() when it is changed. See the <a
-href="../mouse.html">mouse page</a> for details. Also draws a line between
-qglviewer::Camera::pivotPoint() and mouse cursor when the camera is rotated around the
-camera Z axis.
-
-See also setVisualHintsMask() and resetVisualHints(). The hint color is foregroundColor().
-
-\note These methods may become more interesting one day. The current design is too limited and
-should be improved when other visual hints must be drawn.
-
-Limitation : One needs to have access to visualHint_ to overload this method.
-
-Removed from the documentation for this reason. */
-void QGLViewer::drawVisualHints()
-{
-	// Pivot point cross
-	if (visualHint_ & 1)
-	{
-		const qreal size = 15.0;
-		Vec proj = camera()->projectedCoordinatesOf(camera()->pivotPoint());
-		startScreenCoordinatesSystem();
-		glDisable(GL_LIGHTING);
-		glDisable(GL_DEPTH_TEST);
-		glLineWidth(3.0);
-		glBegin(GL_LINES);
-		glVertex2d(proj.x - size, proj.y);
-		glVertex2d(proj.x + size, proj.y);
-		glVertex2d(proj.x, proj.y - size);
-		glVertex2d(proj.x, proj.y + size);
-		glEnd();
-		glEnable(GL_DEPTH_TEST);
-		stopScreenCoordinatesSystem();
-	}
-
-	// if (visualHint_ & 2)
-	// drawText(80, 10, "Play");
-
-	// Screen rotate line
-	ManipulatedFrame* mf = NULL;
-	Vec pnt;
-	if (camera()->frame()->action_ == SCREEN_ROTATE)
-	{
-		mf = camera()->frame();
-		pnt = camera()->pivotPoint();
-	}
-	if (manipulatedFrame() && (manipulatedFrame()->action_ == SCREEN_ROTATE))
-	{
-		mf = manipulatedFrame();
-		// Maybe useful if the mf is a manipCameraFrame...
-		// pnt = manipulatedFrame()->pivotPoint();
-		pnt = manipulatedFrame()->position();
-	}
-
-	if (mf)
-	{
-		pnt = camera()->projectedCoordinatesOf(pnt);
-		startScreenCoordinatesSystem();
-		glDisable(GL_LIGHTING);
-		glDisable(GL_DEPTH_TEST);
-		glLineWidth(3.0);
-		glBegin(GL_LINES);
-		glVertex2d(pnt.x, pnt.y);
-		glVertex2i(mf->prevPos_.x(), mf->prevPos_.y());
-		glEnd();
-		glEnable(GL_DEPTH_TEST);
-		stopScreenCoordinatesSystem();
-	}
-
-	// Zoom on region: draw a rectangle
-	if (camera()->frame()->action_ == ZOOM_ON_REGION)
-	{
-		startScreenCoordinatesSystem();
-		glDisable(GL_LIGHTING);
-		glDisable(GL_DEPTH_TEST);
-		glLineWidth(2.0);
-		glBegin(GL_LINE_LOOP);
-		glVertex2i(camera()->frame()->pressPos_.x(), camera()->frame()->pressPos_.y());
-		glVertex2i(camera()->frame()->prevPos_.x(),  camera()->frame()->pressPos_.y());
-		glVertex2i(camera()->frame()->prevPos_.x(),  camera()->frame()->prevPos_.y());
-		glVertex2i(camera()->frame()->pressPos_.x(), camera()->frame()->prevPos_.y());
-		glEnd();
-		glEnable(GL_DEPTH_TEST);
-		stopScreenCoordinatesSystem();
-	}
-}
-
-/*! Defines the mask that will be used to drawVisualHints(). The only available mask is currently 1,
-corresponding to the display of the qglviewer::Camera::pivotPoint(). resetVisualHints() is
-automatically called after \p delay milliseconds (default is 2 seconds). */
-void QGLViewer::setVisualHintsMask(int mask, int delay)
-{
-	visualHint_ = visualHint_ | mask;
-	QTimer::singleShot(delay, this, SLOT(resetVisualHints()));
-}
-
-/*! Reset the mask used by drawVisualHints(). Called by setVisualHintsMask() after 2 seconds to reset the display. */
-void QGLViewer::resetVisualHints()
-{
-	visualHint_ = 0;
-}
-#endif
-
-////////////////////////////////////////////////////////////////////////////////
-//       A x i s   a n d   G r i d   d i s p l a y   l i s t s                //
-////////////////////////////////////////////////////////////////////////////////
-
-/*! Draws a 3D arrow along the positive Z axis.
-
-\p length, \p radius and \p nbSubdivisions define its geometry. If \p radius is negative
-(default), it is set to 0.05 * \p length.
-
-Use drawArrow(const Vec& from, const Vec& to, qreal radius, int nbSubdivisions) or change the \c
-ModelView matrix to place the arrow in 3D.
-
-Uses current color and does not modify the OpenGL state. */
-void QGLViewer::drawArrow(qreal length, qreal radius, int nbSubdivisions)
-{
-	static GLUquadric* quadric = gluNewQuadric();
-
-	if (radius < 0.0)
-		radius = 0.05 * length;
-
-	const qreal head = 2.5*(radius / length) + 0.1;
-	const qreal coneRadiusCoef = 4.0 - 5.0 * head;
-
-	gluCylinder(quadric, radius, radius, length * (1.0 - head/coneRadiusCoef), nbSubdivisions, 1);
-	glTranslated(0.0, 0.0, length * (1.0 - head));
-	gluCylinder(quadric, coneRadiusCoef * radius, 0.0, head * length, nbSubdivisions, 1);
-	glTranslated(0.0, 0.0, -length * (1.0 - head));
-}
-
-/*! Draws a 3D arrow between the 3D point \p from and the 3D point \p to, both defined in the
-current ModelView coordinates system.
-
-See drawArrow(qreal length, qreal radius, int nbSubdivisions) for details. */
-void QGLViewer::drawArrow(const Vec& from, const Vec& to, qreal radius, int nbSubdivisions)
-{
-	glPushMatrix();
-	glTranslated(from[0], from[1], from[2]);
-	const Vec dir = to-from;
-	glMultMatrixd(Quaternion(Vec(0,0,1), dir).matrix());
-	QGLViewer::drawArrow(dir.norm(), radius, nbSubdivisions);
-	glPopMatrix();
-}
-
-/*! Draws an XYZ axis, with a given size (default is 1.0).
-
-The axis position and orientation matches the current modelView matrix state: three arrows (red,
-green and blue) of length \p length are drawn along the positive X, Y and Z directions.
-
-Use the following code to display the current position and orientation of a qglviewer::Frame:
-\code
-glPushMatrix();
-glMultMatrixd(frame.matrix());
-QGLViewer::drawAxis(sceneRadius() / 5.0); // Or any scale
-glPopMatrix();
-\endcode
-
-The current color and line width are used to draw the X, Y and Z characters at the extremities of
-the three arrows. The OpenGL state is not modified by this method.
-
-axisIsDrawn() uses this method to draw a representation of the world coordinate system. See also
-QGLViewer::drawArrow() and QGLViewer::drawGrid(). */
-void QGLViewer::drawAxis(qreal length)
-{
-	const qreal charWidth = length / 40.0;
-	const qreal charHeight = length / 30.0;
-	const qreal charShift = 1.04 * length;
-
-	GLboolean lighting, colorMaterial;
-	glGetBooleanv(GL_LIGHTING, &lighting);
-	glGetBooleanv(GL_COLOR_MATERIAL, &colorMaterial);
-
-	glDisable(GL_LIGHTING);
-
-	glBegin(GL_LINES);
-	// The X
-	glVertex3d(charShift,  charWidth, -charHeight);
-	glVertex3d(charShift, -charWidth,  charHeight);
-	glVertex3d(charShift, -charWidth, -charHeight);
-	glVertex3d(charShift,  charWidth,  charHeight);
-	// The Y
-	glVertex3d( charWidth, charShift, charHeight);
-	glVertex3d(0.0,        charShift, 0.0);
-	glVertex3d(-charWidth, charShift, charHeight);
-	glVertex3d(0.0,        charShift, 0.0);
-	glVertex3d(0.0,        charShift, 0.0);
-	glVertex3d(0.0,        charShift, -charHeight);
-	// The Z
-	glVertex3d(-charWidth,  charHeight, charShift);
-	glVertex3d( charWidth,  charHeight, charShift);
-	glVertex3d( charWidth,  charHeight, charShift);
-	glVertex3d(-charWidth, -charHeight, charShift);
-	glVertex3d(-charWidth, -charHeight, charShift);
-	glVertex3d( charWidth, -charHeight, charShift);
-	glEnd();
-
-	glEnable(GL_LIGHTING);
-	glDisable(GL_COLOR_MATERIAL);
-
-	float color[4];
-	color[0] = 0.7f;  color[1] = 0.7f;  color[2] = 1.0f;  color[3] = 1.0f;
-	glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, color);
-	QGLViewer::drawArrow(length, 0.01*length);
-
-	color[0] = 1.0f;  color[1] = 0.7f;  color[2] = 0.7f;  color[3] = 1.0f;
-	glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, color);
-	glPushMatrix();
-	glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
-	QGLViewer::drawArrow(length, 0.01*length);
-	glPopMatrix();
-
-	color[0] = 0.7f;  color[1] = 1.0f;  color[2] = 0.7f;  color[3] = 1.0f;
-	glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, color);
-	glPushMatrix();
-	glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
-	QGLViewer::drawArrow(length, 0.01*length);
-	glPopMatrix();
-
-	if (colorMaterial)
-		glEnable(GL_COLOR_MATERIAL);
-	if (!lighting)
-		glDisable(GL_LIGHTING);
-}
-
-/*! Draws a grid in the XY plane, centered on (0,0,0) (defined in the current coordinate system).
-
-\p size (OpenGL units) and \p nbSubdivisions define its geometry. Set the \c GL_MODELVIEW matrix to
-place and orientate the grid in 3D space (see the drawAxis() documentation).
-
-The OpenGL state is not modified by this method. */
-void QGLViewer::drawGrid(qreal size, int nbSubdivisions)
-{
-	GLboolean lighting;
-	glGetBooleanv(GL_LIGHTING, &lighting);
-
-	glDisable(GL_LIGHTING);
-
-	glBegin(GL_LINES);
-	for (int i=0; i<=nbSubdivisions; ++i)
-	{
-		const qreal pos = size*(2.0*i/nbSubdivisions-1.0);
-		glVertex2d(pos, -size);
-		glVertex2d(pos, +size);
-		glVertex2d(-size, pos);
-		glVertex2d( size, pos);
-	}
-	glEnd();
-
-	if (lighting)
-		glEnable(GL_LIGHTING);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//       S t a t i c    m e t h o d s   :  Q G L V i e w e r   P o o l        //
-////////////////////////////////////////////////////////////////////////////////
-
-/*! saveStateToFile() is called on all the QGLViewers using the QGLViewerPool(). */
-void QGLViewer::saveStateToFileForAllViewers()
-{
-	Q_FOREACH (QGLViewer* viewer, QGLViewer::QGLViewerPool())
-	{
-		if (viewer)
-			viewer->saveStateToFile();
-	}
-}
-
-//////////////////////////////////////////////////////////////////////////
-//       S a v e   s t a t e   b e t w e e n    s e s s i o n s         //
-//////////////////////////////////////////////////////////////////////////
-
-/*! Returns the state file name. Default value is \c .qglviewer.xml.
-
-This is the name of the XML file where saveStateToFile() saves the viewer state (camera state,
-widget geometry, display flags... see domElement()) on exit. Use restoreStateFromFile() to restore
-this state later (usually in your init() method).
-
-Setting this value to \c QString::null will disable the automatic state file saving that normally
-occurs on exit.
-
-If more than one viewer are created by the application, this function will return a numbered file
-name (as in ".qglviewer1.xml", ".qglviewer2.xml"... using QGLViewer::QGLViewerIndex()) for extra
-viewers. Each viewer will then read back its own information in restoreStateFromFile(), provided
-that the viewers are created in the same order, which is usually the case. */
-QString QGLViewer::stateFileName() const
-{
-	QString name = stateFileName_;
-
-	if (!name.isEmpty() && QGLViewer::QGLViewerIndex(this) > 0)
-	{
-		QFileInfo fi(name);
-		if (fi.suffix().isEmpty())
-			name += QString::number(QGLViewer::QGLViewerIndex(this));
-		else
-			name = fi.absolutePath() + '/' + fi.completeBaseName() + QString::number(QGLViewer::QGLViewerIndex(this)) + "." + fi.suffix();
-	}
-
-	return name;
-}
-
-/*! Saves in stateFileName() an XML representation of the QGLViewer state, obtained from
-domElement().
-
-Use restoreStateFromFile() to restore this viewer state.
-
-This method is automatically called when a viewer is closed (using Escape or using the window's
-upper right \c x close button). setStateFileName() to \c QString::null to prevent this. */
-void QGLViewer::saveStateToFile()
-{
-	QString name = stateFileName();
-
-	if (name.isEmpty())
-		return;
-
-	QFileInfo fileInfo(name);
-
-	if (fileInfo.isDir())
-	{
-		QMessageBox::warning(this, tr("Save to file error", "Message box window title"), tr("State file name (%1) references a directory instead of a file.").arg(name));
-		return;
-	}
-
-	const QString dirName = fileInfo.absolutePath();
-	if (!QFileInfo(dirName).exists())
-	{
-		QDir dir;
-		if (!(dir.mkdir(dirName)))
-		{
-			QMessageBox::warning(this, tr("Save to file error", "Message box window title"), tr("Unable to create directory %1").arg(dirName));
-			return;
-		}
-	}
-
-	// Write the DOM tree to file
-	QFile f(name);
-	if (f.open(QIODevice::WriteOnly))
-	{
-		QTextStream out(&f);
-		QDomDocument doc("QGLVIEWER");
-		doc.appendChild(domElement("QGLViewer", doc));
-		doc.save(out, 2);
-		f.flush();
-		f.close();
-	}
-	else
-		QMessageBox::warning(this, tr("Save to file error", "Message box window title"), tr("Unable to save to file %1").arg(name) + ":\n" + f.errorString());
-}
-
-/*! Restores the QGLViewer state from the stateFileName() file using initFromDOMElement().
-
-States are saved using saveStateToFile(), which is automatically called on viewer exit.
-
-Returns \c true when the restoration is successful. Possible problems are an non existing or
-unreadable stateFileName() file, an empty stateFileName() or an XML syntax error.
-
-A manipulatedFrame() should be defined \e before calling this method, so that its state can be
-restored. Initialization code put \e after this function will override saved values:
-\code
-void Viewer::init()
-{
-// Default initialization goes here (including the declaration of a possible manipulatedFrame).
-
-if (!restoreStateFromFile())
-showEntireScene(); // Previous state cannot be restored: fit camera to scene.
-
-// Specific initialization that overrides file savings goes here.
-}
-\endcode */
-bool QGLViewer::restoreStateFromFile()
-{
-	QString name = stateFileName();
-
-	if (name.isEmpty())
-		return false;
-
-	QFileInfo fileInfo(name);
-
-	if (!fileInfo.isFile())
-		// No warning since it would be displayed at first start.
-		return false;
-
-	if (!fileInfo.isReadable())
-	{
-		QMessageBox::warning(this, tr("Problem in state restoration", "Message box window title"), tr("File %1 is not readable.").arg(name));
-		return false;
-	}
-
-	// Read the DOM tree form file
-	QFile f(name);
-	if (f.open(QIODevice::ReadOnly))
-	{
-		QDomDocument doc;
-		doc.setContent(&f);
-		f.close();
-		QDomElement main = doc.documentElement();
-		initFromDOMElement(main);
-	}
-	else
-	{
-		QMessageBox::warning(this, tr("Open file error", "Message box window title"), tr("Unable to open file %1").arg(name) + ":\n" + f.errorString());
-		return false;
-	}
-
-	return true;
-}
-
-/*! Returns an XML \c QDomElement that represents the QGLViewer.
-
-Used by saveStateToFile(). restoreStateFromFile() uses initFromDOMElement() to restore the
-QGLViewer state from the resulting \c QDomElement.
-
-\p name is the name of the QDomElement tag. \p doc is the \c QDomDocument factory used to create
-QDomElement.
-
-The created QDomElement contains state values (axisIsDrawn(), FPSIsDisplayed(), isFullScreen()...),
-viewer geometry, as well as camera() (see qglviewer::Camera::domElement()) and manipulatedFrame()
-(if defined, see qglviewer::ManipulatedFrame::domElement()) states.
-
-Overload this method to add your own attributes to the state file:
-\code
-QDomElement Viewer::domElement(const QString& name, QDomDocument& document) const
-{
-// Creates a custom node for a light
-QDomElement de = document.createElement("Light");
-de.setAttribute("state", (lightIsOn()?"on":"off"));
-// Note the include of the ManipulatedFrame domElement method.
-de.appendChild(lightManipulatedFrame()->domElement("LightFrame", document));
-
-// Get default state domElement and append custom node
-QDomElement res = QGLViewer::domElement(name, document);
-res.appendChild(de);
-return res;
-}
-\endcode
-See initFromDOMElement() for the associated restoration code.
-
-\attention For the manipulatedFrame(), qglviewer::Frame::constraint() and
-qglviewer::Frame::referenceFrame() are not saved. See qglviewer::Frame::domElement(). */
-QDomElement QGLViewer::domElement(const QString& name, QDomDocument& document) const
-{
-	QDomElement de = document.createElement(name);
-	de.setAttribute("version", QGLViewerVersionString());
-
-	QDomElement stateNode = document.createElement("State");
-	// hasMouseTracking() is not saved
-	stateNode.appendChild(DomUtils::QColorDomElement(foregroundColor(), "foregroundColor", document));
-	stateNode.appendChild(DomUtils::QColorDomElement(backgroundColor(), "backgroundColor", document));
-	DomUtils::setBoolAttribute(stateNode, "stereo", displaysInStereo());
-	// Revolve or fly camera mode is not saved
-	de.appendChild(stateNode);
-
-	QDomElement displayNode = document.createElement("Display");
-	DomUtils::setBoolAttribute(displayNode, "axisIsDrawn", axisIsDrawn());
-	DomUtils::setBoolAttribute(displayNode, "gridIsDrawn", gridIsDrawn());
-	DomUtils::setBoolAttribute(displayNode, "FPSIsDisplayed", FPSIsDisplayed());
-	DomUtils::setBoolAttribute(displayNode, "cameraIsEdited", cameraIsEdited());
-	// textIsEnabled() is not saved
-	de.appendChild(displayNode);
-
-	QDomElement geometryNode = document.createElement("Geometry");
-	DomUtils::setBoolAttribute(geometryNode, "fullScreen", isFullScreen());
-	if (isFullScreen())
-	{
-		geometryNode.setAttribute("prevPosX", QString::number(prevPos_.x()));
-		geometryNode.setAttribute("prevPosY", QString::number(prevPos_.y()));
-	}
-	else
-	{
-		QWidget* tlw = topLevelWidget();
-		geometryNode.setAttribute("width",  QString::number(tlw->width()));
-		geometryNode.setAttribute("height", QString::number(tlw->height()));
-		geometryNode.setAttribute("posX",   QString::number(tlw->pos().x()));
-		geometryNode.setAttribute("posY",   QString::number(tlw->pos().y()));
-	}
-	de.appendChild(geometryNode);
-
-	// Restore original Camera zClippingCoefficient before saving.
-	if (cameraIsEdited())
-		camera()->setZClippingCoefficient(previousCameraZClippingCoefficient_);
-	de.appendChild(camera()->domElement("Camera", document));
-	if (cameraIsEdited())
-		// #CONNECTION# 5.0 from setCameraIsEdited()
-		camera()->setZClippingCoefficient(5.0);
-
-	if (manipulatedFrame())
-		de.appendChild(manipulatedFrame()->domElement("ManipulatedFrame", document));
-
-	return de;
-}
-
-/*! Restores the QGLViewer state from a \c QDomElement created by domElement().
-
-Used by restoreStateFromFile() to restore the QGLViewer state from a file.
-
-Overload this method to retrieve custom attributes from the QGLViewer state file. This code
-corresponds to the one given in the domElement() documentation:
-\code
-void Viewer::initFromDOMElement(const QDomElement& element)
-{
-// Restore standard state
-QGLViewer::initFromDOMElement(element);
-
-QDomElement child=element.firstChild().toElement();
-while (!child.isNull())
-{
-if (child.tagName() == "Light")
-{
-if (child.hasAttribute("state"))
-setLightOn(child.attribute("state").lower() == "on");
-
-// Assumes there is only one child. Otherwise you need to parse child's children recursively.
-QDomElement lf = child.firstChild().toElement();
-if (!lf.isNull() && lf.tagName() == "LightFrame")
-lightManipulatedFrame()->initFromDomElement(lf);
-}
-child = child.nextSibling().toElement();
-}
-}
-\endcode
-
-See also qglviewer::Camera::initFromDOMElement(), qglviewer::ManipulatedFrame::initFromDOMElement().
-
-\note The manipulatedFrame() \e pointer is not modified by this method. If defined, its state is
-simply set from the \p element values. */
-void QGLViewer::initFromDOMElement(const QDomElement& element)
-{
-	const QString version = element.attribute("version");
-	// if (version != QGLViewerVersionString())
-	if (version[0] != '2')
-		// Patches for previous versions should go here when the state file syntax is modified.
-		qWarning("State file created using QGLViewer version %s may not be correctly read.", version.toLatin1().constData());
-
-	QDomElement child=element.firstChild().toElement();
-	bool tmpCameraIsEdited = cameraIsEdited();
-	while (!child.isNull())
-	{
-		if (child.tagName() == "State")
-		{
-			// #CONNECTION# default values from defaultConstructor()
-			// setMouseTracking(DomUtils::boolFromDom(child, "mouseTracking", false));
-			setStereoDisplay(DomUtils::boolFromDom(child, "stereo", false));
-			//if ((child.attribute("cameraMode", "revolve") == "fly") && (cameraIsInRevolveMode()))
-			//	toggleCameraMode();
-
-			QDomElement ch=child.firstChild().toElement();
-			while (!ch.isNull())
-			{
-				if (ch.tagName() == "foregroundColor")
-					setForegroundColor(DomUtils::QColorFromDom(ch));
-				if (ch.tagName() == "backgroundColor")
-					setBackgroundColor(DomUtils::QColorFromDom(ch));
-				ch = ch.nextSibling().toElement();
-			}
-		}
-
-		if (child.tagName() == "Display")
-		{
-			// #CONNECTION# default values from defaultConstructor()
-			setAxisIsDrawn(DomUtils::boolFromDom(child, "axisIsDrawn", false));
-			setGridIsDrawn(DomUtils::boolFromDom(child, "gridIsDrawn", false));
-			setFPSIsDisplayed(DomUtils::boolFromDom(child, "FPSIsDisplayed", false));
-			// See comment below.
-			tmpCameraIsEdited = DomUtils::boolFromDom(child, "cameraIsEdited", false);
-			// setTextIsEnabled(DomUtils::boolFromDom(child, "textIsEnabled", true));
-		}
-
-		if (child.tagName() == "Geometry")
-		{
-			setFullScreen(DomUtils::boolFromDom(child, "fullScreen", false));
-
-			if (isFullScreen())
-			{
-				prevPos_.setX(DomUtils::intFromDom(child, "prevPosX", 0));
-				prevPos_.setY(DomUtils::intFromDom(child, "prevPosY", 0));
-			}
-			else
-			{
-				int width  = DomUtils::intFromDom(child, "width",  600);
-				int height = DomUtils::intFromDom(child, "height", 400);
-				topLevelWidget()->resize(width, height);
-				camera()->setScreenWidthAndHeight(this->width(), this->height());
-
-				QPoint pos;
-				pos.setX(DomUtils::intFromDom(child, "posX", 0));
-				pos.setY(DomUtils::intFromDom(child, "posY", 0));
-				topLevelWidget()->move(pos);
-			}
-		}
-
-		if (child.tagName() == "Camera")
-		{
-			connectAllCameraKFIInterpolatedSignals(false);
-			camera()->initFromDOMElement(child);
-			connectAllCameraKFIInterpolatedSignals();
-		}
-
-		if ((child.tagName() == "ManipulatedFrame") && (manipulatedFrame()))
-			manipulatedFrame()->initFromDOMElement(child);
-
-		child = child.nextSibling().toElement();
-	}
-
-	// The Camera always stores its "real" zClippingCoef in domElement(). If it is edited,
-	// its "real" coef must be saved and the coef set to 5.0, as is done in setCameraIsEdited().
-	// BUT : Camera and Display are read in an arbitrary order. We must initialize Camera's
-	// "real" coef BEFORE calling setCameraIsEdited. Hence this temp cameraIsEdited and delayed call
-	cameraIsEdited_ = tmpCameraIsEdited;
-	if (cameraIsEdited_)
-	{
-		previousCameraZClippingCoefficient_ = camera()->zClippingCoefficient();
-		// #CONNECTION# 5.0 from setCameraIsEdited.
-		camera()->setZClippingCoefficient(5.0);
-	}
-}
-
-#ifndef DOXYGEN
-/*! This method is deprecated since version 1.3.9-5. Use saveStateToFile() and setStateFileName()
-instead. */
-void QGLViewer::saveToFile(const QString& fileName)
-{
-	if (!fileName.isEmpty())
-		setStateFileName(fileName);
-
-	qWarning("saveToFile() is deprecated, use saveStateToFile() instead.");
-	saveStateToFile();
-}
-
-/*! This function is deprecated since version 1.3.9-5. Use restoreStateFromFile() and
-setStateFileName() instead. */
-bool QGLViewer::restoreFromFile(const QString& fileName)
-{
-	if (!fileName.isEmpty())
-		setStateFileName(fileName);
-
-	qWarning("restoreFromFile() is deprecated, use restoreStateFromFile() instead.");
-	return restoreStateFromFile();
-}
-#endif
-
-/*! Makes a copy of the current buffer into a texture.
-
-Creates a texture (when needed) and uses glCopyTexSubImage2D() to directly copy the buffer in it.
-
-Use \p internalFormat and \p format to define the texture format and hence which and how components
-of the buffer are copied into the texture. See the glTexImage2D() documentation for details.
-
-When \p format is c GL_NONE (default), its value is set to \p internalFormat, which fits most
-cases. Typical \p internalFormat (and \p format) values are \c GL_DEPTH_COMPONENT and \c GL_RGBA.
-Use \c GL_LUMINANCE as the \p internalFormat and \c GL_RED, \c GL_GREEN or \c GL_BLUE as \p format
-to capture a single color component as a luminance (grey scaled) value. Note that \c GL_STENCIL is
-not supported as a format.
-
-The texture has dimensions which are powers of two. It is as small as possible while always being
-larger or equal to the current size of the widget. The buffer image hence does not entirely fill
-the texture: it is stuck to the lower left corner (corresponding to the (0,0) texture coordinates).
-Use bufferTextureMaxU() and bufferTextureMaxV() to get the upper right corner maximum u and v
-texture coordinates. Use bufferTextureId() to retrieve the id of the created texture.
-
-Here is how to display a grey-level image of the z-buffer:
-\code
-copyBufferToTexture(GL_DEPTH_COMPONENT);
-
-glMatrixMode(GL_TEXTURE);
-glLoadIdentity();
-
-glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
-glEnable(GL_TEXTURE_2D);
-
-startScreenCoordinatesSystem(true);
-
-glBegin(GL_QUADS);
-glTexCoord2f(0.0, 0.0);                                 glVertex2i(0, 0);
-glTexCoord2f(bufferTextureMaxU(), 0.0);                 glVertex2i(width(), 0);
-glTexCoord2f(bufferTextureMaxU(), bufferTextureMaxV()); glVertex2i(width(), height());
-glTexCoord2f(0.0, bufferTextureMaxV());                 glVertex2i(0, height());
-glEnd();
-
-stopScreenCoordinatesSystem();
-
-glDisable(GL_TEXTURE_2D);
-\endcode
-
-Use glReadBuffer() to select which buffer is copied into the texture. See also \c
-glPixelTransfer(), \c glPixelZoom() and \c glCopyPixel() for pixel color transformations during
-copy.
-
-Call makeCurrent() before this method to make the OpenGL context active if needed.
-
-\note The \c GL_DEPTH_COMPONENT format may not be supported by all hardware. It may sometimes be
-emulated in software, resulting in poor performances.
-
-\note The bufferTextureId() texture is binded at the end of this method. */
-void QGLViewer::copyBufferToTexture(GLint internalFormat, GLenum format)
-{
-	int h = 16;
-	int w = 16;
-	// Todo compare performance with qt code.
-	while (w < width())
-		w <<= 1;
-	while (h < height())
-		h <<= 1;
-
-	bool init = false;
-
-	if ((w != bufferTextureWidth_) || (h != bufferTextureHeight_))
-	{
-		bufferTextureWidth_ = w;
-		bufferTextureHeight_ = h;
-		bufferTextureMaxU_ = width()  / qreal(bufferTextureWidth_);
-		bufferTextureMaxV_ = height() / qreal(bufferTextureHeight_);
-		init = true;
-	}
-
-	if (bufferTextureId() == 0)
-	{
-		glGenTextures(1, &bufferTextureId_);
-		glBindTexture(GL_TEXTURE_2D, bufferTextureId_);
-		glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-		glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-		init = true;
-	}
-	else
-		glBindTexture(GL_TEXTURE_2D, bufferTextureId_);
-
-	if ((format != previousBufferTextureFormat_) ||
-		(internalFormat != previousBufferTextureInternalFormat_))
-	{
-		previousBufferTextureFormat_ = format;
-		previousBufferTextureInternalFormat_ = internalFormat;
-		init = true;
-	}
-
-	if (init)
-	{
-		if (format == GL_NONE)
-			format = GLenum(internalFormat);
-
-		glTexImage2D(GL_TEXTURE_2D, 0, internalFormat, bufferTextureWidth_, bufferTextureHeight_, 0, format, GL_UNSIGNED_BYTE, NULL);
-	}
-
-	glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, width(), height());
-}
-
-/*! Returns the texture id of the texture created by copyBufferToTexture().
-
-Use glBindTexture() to use this texture. Note that this is already done by copyBufferToTexture().
-
-Returns \c 0 is copyBufferToTexture() was never called or if the texure was deleted using
-glDeleteTextures() since then. */
-GLuint QGLViewer::bufferTextureId() const
-{
-	if (glIsTexture(bufferTextureId_))
-		return bufferTextureId_;
-	else
-		return 0;
-}
diff --git a/SRC/QGLViewer/QGLViewer/qglviewer.h b/SRC/QGLViewer/QGLViewer/qglviewer.h
deleted file mode 100644
index 14a0819..0000000
--- a/SRC/QGLViewer/QGLViewer/qglviewer.h
+++ /dev/null
@@ -1,1298 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef QGLVIEWER_QGLVIEWER_H
-#define QGLVIEWER_QGLVIEWER_H
-
-#include "camera.h"
-
-#include <QMap>
-#include <QClipboard>
-#include <QTime>
-
-class QTabWidget;
-
-namespace qglviewer {
-class MouseGrabber;
-class ManipulatedFrame;
-class ManipulatedCameraFrame;
-}
-
-/*! \brief A versatile 3D OpenGL viewer based on QGLWidget.
-\class QGLViewer qglviewer.h QGLViewer/qglviewer.h
-
-It features many classical viewer functionalities, such as a camera trackball, manipulated objects,
-snapshot saving and much <a href="../features.html">more</a>. Its main goal is to ease the development
-of new 3D applications.
-
-New users should read the <a href="../introduction.html">introduction page</a> to get familiar with
-important notions such as sceneRadius(), sceneCenter() and the world coordinate system. Try the
-numerous simple <a href="../examples/index.html">examples</a> to discover the possibilities and
-understand how it works.
-
-<h3>Usage</h3>
-
-To use a QGLViewer, derive you viewer class from the QGLViewer and overload its draw() virtual
-method. See the <a href="../examples/simpleViewer.html">simpleViewer example</a> for an illustration.
-
-An other option is to connect your drawing methods to the signals emitted by the QGLViewer (Qt's
-callback mechanism). See the <a href="../examples/callback.html">callback example</a> for a
-complete implementation.
-
-\nosubgrouping */
-class QGLVIEWER_EXPORT QGLViewer : public QGLWidget
-{
-	Q_OBJECT
-
-public:
-	// Complete implementation is provided so that the constructor is defined with QT3_SUPPORT when .h is included.
-	// (Would not be available otherwise since lib is compiled without QT3_SUPPORT).
-#ifdef QT3_SUPPORT
-	explicit QGLViewer(QWidget* parent=NULL, const char* name=0, const QGLWidget* shareWidget=0, Qt::WindowFlags flags=0)
-		: QGLWidget(parent, name, shareWidget, flags)
-	{ defaultConstructor(); }
-
-	explicit QGLViewer(const QGLFormat& format, QWidget* parent=0, const char* name=0, const QGLWidget* shareWidget=0,Qt::WindowFlags flags=0)
-		: QGLWidget(format, parent, name, shareWidget, flags)
-	{ defaultConstructor(); }
-
-	QGLViewer(QGLContext* context, QWidget* parent, const char* name=0, const QGLWidget* shareWidget=0, Qt::WindowFlags flags=0)
-		: QGLWidget(context, parent, name, shareWidget, flags) {
-		defaultConstructor(); }
-
-#else
-
-	explicit QGLViewer(QWidget* parent=0, const QGLWidget* shareWidget=0, Qt::WindowFlags flags=0);
-	explicit QGLViewer(QGLContext *context, QWidget* parent=0, const QGLWidget* shareWidget=0, Qt::WindowFlags flags=0);
-	explicit QGLViewer(const QGLFormat& format, QWidget* parent=0, const QGLWidget* shareWidget=0, Qt::WindowFlags flags=0);
-#endif
-
-	virtual ~QGLViewer();
-
-	/*! @name Display of visual hints */
-	//@{
-public:
-	/*! Returns \c true if the world axis is drawn by the viewer.
-
-	Set by setAxisIsDrawn() or toggleAxisIsDrawn(). Default value is \c false. */
-	bool axisIsDrawn() const { return axisIsDrawn_; }
-	/*! Returns \c true if a XY grid is drawn by the viewer.
-
-	Set by setGridIsDrawn() or toggleGridIsDrawn(). Default value is \c false. */
-	bool gridIsDrawn() const { return gridIsDrawn_; }
-	/*! Returns \c true if the viewer displays the current frame rate (Frames Per Second).
-
-	Use QApplication::setFont() to define the display font (see drawText()).
-
-	Set by setFPSIsDisplayed() or toggleFPSIsDisplayed(). Use currentFPS() to get the current FPS.
-	Default value is \c false. */
-	bool FPSIsDisplayed() const { return FPSIsDisplayed_; }
-	/*! Returns \c true if text display (see drawText()) is enabled.
-
-	Set by setTextIsEnabled() or toggleTextIsEnabled(). This feature conveniently removes all the
-	possibly displayed text, cleaning display. Default value is \c true. */
-	bool textIsEnabled() const { return textIsEnabled_; }
-
-	/*! Returns \c true if the camera() is being edited in the viewer.
-
-	Set by setCameraIsEdited() or toggleCameraIsEdited(). Default value is \p false.
-
-	The current implementation is limited: the defined camera() paths (see
-	qglviewer::Camera::keyFrameInterpolator()) are simply displayed using
-	qglviewer::Camera::drawAllPaths(). Actual camera and path edition will be implemented in the
-	future. */
-	bool cameraIsEdited() const { return cameraIsEdited_; }
-
-
-public Q_SLOTS:
-	/*! Sets the state of axisIsDrawn(). Emits the axisIsDrawnChanged() signal. See also toggleAxisIsDrawn(). */
-	void setAxisIsDrawn(bool draw=true) { axisIsDrawn_ = draw; Q_EMIT axisIsDrawnChanged(draw); update(); }
-	/*! Sets the state of gridIsDrawn(). Emits the gridIsDrawnChanged() signal. See also toggleGridIsDrawn(). */
-	void setGridIsDrawn(bool draw=true) { gridIsDrawn_ = draw; Q_EMIT gridIsDrawnChanged(draw); update(); }
-	/*! Sets the state of FPSIsDisplayed(). Emits the FPSIsDisplayedChanged() signal. See also toggleFPSIsDisplayed(). */
-	void setFPSIsDisplayed(bool display=true) { FPSIsDisplayed_ = display; Q_EMIT FPSIsDisplayedChanged(display); update(); }
-	/*! Sets the state of textIsEnabled(). Emits the textIsEnabledChanged() signal. See also toggleTextIsEnabled(). */
-	void setTextIsEnabled(bool enable=true) { textIsEnabled_ = enable; Q_EMIT textIsEnabledChanged(enable); update(); }
-	void setCameraIsEdited(bool edit=true);
-
-	/*! Toggles the state of axisIsDrawn(). See also setAxisIsDrawn(). */
-	void toggleAxisIsDrawn() { setAxisIsDrawn(!axisIsDrawn()); }
-	/*! Toggles the state of gridIsDrawn(). See also setGridIsDrawn(). */
-	void toggleGridIsDrawn() { setGridIsDrawn(!gridIsDrawn()); }
-	/*! Toggles the state of FPSIsDisplayed(). See also setFPSIsDisplayed(). */
-	void toggleFPSIsDisplayed() { setFPSIsDisplayed(!FPSIsDisplayed()); }
-	/*! Toggles the state of textIsEnabled(). See also setTextIsEnabled(). */
-	void toggleTextIsEnabled() { setTextIsEnabled(!textIsEnabled()); }
-	/*! Toggles the state of cameraIsEdited(). See also setCameraIsEdited(). */
-	void toggleCameraIsEdited() { setCameraIsEdited(!cameraIsEdited()); }
-	//@}
-
-
-	/*! @name Viewer's colors */
-	//@{
-public:
-	/*! Returns the background color of the viewer.
-
-	This method is provided for convenience since the background color is an OpenGL state variable
-	set with \c glClearColor(). However, this internal representation has the advantage that it is
-	saved (resp. restored) with saveStateToFile() (resp. restoreStateFromFile()).
-
-	Use setBackgroundColor() to define and activate a background color.
-
-	\attention Each QColor component is an integer ranging from 0 to 255. This differs from the qreal
-	values used by \c glClearColor() which are in the 0.0-1.0 range. Default value is (51, 51, 51)
-	(dark gray). You may have to change foregroundColor() accordingly.
-
-	\attention This method does not return the current OpenGL clear color as \c glGet() does. Instead,
-	it returns the QGLViewer internal variable. If you directly use \c glClearColor() or \c
-	qglClearColor() instead of setBackgroundColor(), the two results will differ. */
-	QColor backgroundColor() const { return backgroundColor_; }
-
-	/*! Returns the foreground color used by the viewer.
-
-	This color is used when FPSIsDisplayed(), gridIsDrawn(), to display the camera paths when the
-	cameraIsEdited().
-
-	\attention Each QColor component is an integer in the range 0-255. This differs from the qreal
-	values used by \c glColor3f() which are in the range 0-1. Default value is (180, 180, 180) (light
-	gray).
-
-	Use \c qglColor(foregroundColor()) to set the current OpenGL color to the foregroundColor().
-
-	See also backgroundColor(). */
-	QColor foregroundColor() const { return foregroundColor_; }
-public Q_SLOTS:
-	/*! Sets the backgroundColor() of the viewer and calls \c qglClearColor(). See also
-		setForegroundColor(). */
-	void setBackgroundColor(const QColor& color) { backgroundColor_=color; qglClearColor(color); }
-	/*! Sets the foregroundColor() of the viewer, used to draw visual hints. See also setBackgroundColor(). */
-	void setForegroundColor(const QColor& color) { foregroundColor_ = color; }
-	//@}
-
-
-	/*! @name Scene dimensions */
-	//@{
-public:
-	/*! Returns the scene radius.
-
-	The entire displayed scene should be included in a sphere of radius sceneRadius(), centered on
-	sceneCenter().
-
-	This approximate value is used by the camera() to set qglviewer::Camera::zNear() and
-	qglviewer::Camera::zFar(). It is also used to showEntireScene() or to scale the world axis
-	display..
-
-	Default value is 1.0. This method is equivalent to camera()->sceneRadius(). See
-	setSceneRadius(). */
-	qreal sceneRadius() const { return camera()->sceneRadius(); }
-	/*! Returns the scene center, defined in world coordinates.
-
-	See sceneRadius() for details.
-
-	Default value is (0,0,0). Simply a wrapper for camera()->sceneCenter(). Set using
-	setSceneCenter().
-
-	Do not mismatch this value (that only depends on the scene) with the qglviewer::Camera::pivotPoint(). */
-	qglviewer::Vec sceneCenter() const { return camera()->sceneCenter(); }
-
-public Q_SLOTS:
-	/*! Sets the sceneRadius().
-
-		The camera() qglviewer::Camera::flySpeed() is set to 1% of this value by this method. Simple
-		wrapper around camera()->setSceneRadius(). */
-	virtual void setSceneRadius(qreal radius) { camera()->setSceneRadius(radius); }
-
-	/*! Sets the sceneCenter(), defined in world coordinates.
-
-		\attention The qglviewer::Camera::pivotPoint() is set to the sceneCenter() value by this
-		method. */
-	virtual void setSceneCenter(const qglviewer::Vec& center) { camera()->setSceneCenter(center); }
-
-	/*! Convenient way to call setSceneCenter() and setSceneRadius() from a (world axis aligned) bounding box of the scene.
-
-		This is equivalent to:
-		\code
-		setSceneCenter((min+max) / 2.0);
-		setSceneRadius((max-min).norm() / 2.0);
-		\endcode */
-	void setSceneBoundingBox(const qglviewer::Vec& min, const qglviewer::Vec& max) { camera()->setSceneBoundingBox(min,max); }
-
-	/*! Moves the camera so that the entire scene is visible.
-
-		Simple wrapper around qglviewer::Camera::showEntireScene(). */
-	void showEntireScene() { camera()->showEntireScene(); update(); }
-	//@}
-
-
-	/*! @name Associated objects */
-	//@{
-public:
-	/*! Returns the associated qglviewer::Camera, never \c NULL. */
-	qglviewer::Camera* camera() const { return camera_; }
-
-	/*! Returns the viewer's qglviewer::ManipulatedFrame.
-
-	This qglviewer::ManipulatedFrame can be moved with the mouse when the associated mouse bindings
-	are used (default is when pressing the \c Control key with any mouse button). Use
-	setMouseBinding() to define new bindings.
-
-	See the <a href="../examples/manipulatedFrame.html">manipulatedFrame example</a> for a complete
-	implementation.
-
-	Default value is \c NULL, meaning that no qglviewer::ManipulatedFrame is set. */
-	qglviewer::ManipulatedFrame* manipulatedFrame() const { return manipulatedFrame_; }
-
-public Q_SLOTS:
-	void setCamera(qglviewer::Camera* const camera);
-	void setManipulatedFrame(qglviewer::ManipulatedFrame* frame);
-	//@}
-
-
-	/*! @name Mouse grabbers */
-	//@{
-public:
-	/*! Returns the current qglviewer::MouseGrabber, or \c NULL if no qglviewer::MouseGrabber
-	currently grabs mouse events.
-
-	When qglviewer::MouseGrabber::grabsMouse(), the different mouse events are sent to the
-	mouseGrabber() instead of their usual targets (camera() or manipulatedFrame()).
-
-	See the qglviewer::MouseGrabber documentation for details on MouseGrabber's mode of operation.
-
-	In order to use MouseGrabbers, you need to enable mouse tracking (so that mouseMoveEvent() is
-	called even when no mouse button is pressed). Add this line in init() or in your viewer
-	constructor:
-	\code
-	setMouseTracking(true);
-	\endcode
-	Note that mouse tracking is disabled by default. Use QWidget::hasMouseTracking() to
-	retrieve current state. */
-	qglviewer::MouseGrabber* mouseGrabber() const { return mouseGrabber_; }
-
-	void setMouseGrabberIsEnabled(const qglviewer::MouseGrabber* const mouseGrabber, bool enabled=true);
-	/*! Returns \c true if \p mouseGrabber is enabled.
-
-	Default value is \c true for all MouseGrabbers. When set to \c false using
-	setMouseGrabberIsEnabled(), the specified \p mouseGrabber will never become the mouseGrabber() of
-	this QGLViewer. This is useful when you use several viewers: some MouseGrabbers may only have a
-	meaning for some specific viewers and should not be selectable in others.
-
-	You can also use qglviewer::MouseGrabber::removeFromMouseGrabberPool() to completely disable a
-	MouseGrabber in all the QGLViewers. */
-	bool mouseGrabberIsEnabled(const qglviewer::MouseGrabber* const mouseGrabber) { return !disabledMouseGrabbers_.contains(reinterpret_cast<size_t>(mouseGrabber)); }
-public Q_SLOTS:
-	void setMouseGrabber(qglviewer::MouseGrabber* mouseGrabber);
-	//@}
-
-
-	/*! @name State of the viewer */
-	//@{
-public:
-	/*! Returns the aspect ratio of the viewer's widget (width() / height()). */
-	qreal aspectRatio() const { return width() / static_cast<qreal>(height()); }
-	/*! Returns the current averaged viewer frame rate.
-
-	This value is computed and averaged over 20 successive frames. It only changes every 20 draw()
-	(previously computed value is otherwise returned).
-
-	This method is useful for true real-time applications that may adapt their computational load
-	accordingly in order to maintain a given frequency.
-
-	This value is meaningful only when draw() is regularly called, either using a \c QTimer, when
-	animationIsStarted() or when the camera is manipulated with the mouse.  */
-	qreal currentFPS() { return f_p_s_; }
-	/*! Returns \c true if the viewer is in fullScreen mode.
-
-	Default value is \c false. Set by setFullScreen() or toggleFullScreen().
-
-	Note that if the QGLViewer is embedded in an other QWidget, it returns \c true when the top level
-	widget is in full screen mode. */
-	bool isFullScreen() const { return fullScreen_; }
-	/*! Returns \c true if the viewer displays in stereo.
-
-	The QGLViewer object must be created with a stereo format to handle stereovision:
-	\code
-	QGLFormat format;
-	format.setStereoDisplay( TRUE );
-	QGLViewer viewer(format);
-	\endcode
-	The hardware needs to support stereo display. Try the <a
-	href="../examples/stereoViewer.html">stereoViewer example</a> to check.
-
-	Set by setStereoDisplay() or toggleStereoDisplay(). Default value is \c false.
-
-	Stereo is performed using the Parallel axis asymmetric frustum perspective projection method.
-	See Camera::loadProjectionMatrixStereo() and Camera::loadModelViewMatrixStereo().
-
-	The stereo parameters are defined by the camera(). See qglviewer::Camera::setIODistance(),
-	qglviewer::Camera::setPhysicalScreenWidth() and
-	qglviewer::Camera::setFocusDistance(). */
-	bool displaysInStereo() const { return stereo_; }
-	/*! Returns the recommended size for the QGLViewer. Default value is 600x400 pixels. */
-	virtual QSize sizeHint() const { return QSize(600, 400); }
-
-public Q_SLOTS:
-	void setFullScreen(bool fullScreen=true);
-	void setStereoDisplay(bool stereo=true);
-	/*! Toggles the state of isFullScreen(). See also setFullScreen(). */
-	void toggleFullScreen() { setFullScreen(!isFullScreen()); }
-	/*! Toggles the state of displaysInStereo(). See setStereoDisplay(). */
-	void toggleStereoDisplay() { setStereoDisplay(!stereo_); }
-	void toggleCameraMode();
-
-private:
-	bool cameraIsInRotateMode() const;
-	//@}
-
-
-	/*! @name Display methods */
-	//@{
-public:
-	static void drawArrow(qreal length=1.0, qreal radius=-1.0, int nbSubdivisions=12);
-	static void drawArrow(const qglviewer::Vec& from, const qglviewer::Vec& to, qreal radius=-1.0, int nbSubdivisions=12);
-	static void drawAxis(qreal length=1.0);
-	static void drawGrid(qreal size=1.0, int nbSubdivisions=10);
-
-	virtual void startScreenCoordinatesSystem(bool upward=false) const;
-	virtual void stopScreenCoordinatesSystem() const;
-
-	void drawText(int x, int y, const QString& text, const QFont& fnt=QFont());
-	void displayMessage(const QString& message, int delay=2000);
-	// void draw3DText(const qglviewer::Vec& pos, const qglviewer::Vec& normal, const QString& string, GLfloat height=0.1);
-
-protected:
-	virtual void drawLight(GLenum light, qreal scale = 1.0) const;
-
-private:
-	void displayFPS();
-	/*! Vectorial rendering callback method. */
-	void drawVectorial() { paintGL(); }
-
-#ifndef DOXYGEN
-	friend void drawVectorial(void* param);
-#endif
-	//@}
-
-
-#ifdef DOXYGEN
-	/*! @name Useful inherited methods */
-	//@{
-public:
-	/*! Returns viewer's widget width (in pixels). See QGLWidget documentation. */
-	int width() const;
-	/*! Returns viewer's widget height (in pixels). See QGLWidget documentation. */
-	int height() const;
-	/*! Updates the display. Do not call draw() directly, use this method instead. See QGLWidget documentation. */
-	virtual void updateGL();
-	/*! Converts \p image into the unnamed format expected by OpenGL methods such as glTexImage2D().
-	See QGLWidget documentation. */
-	static QImage convertToGLFormat(const QImage & image);
-	/*! Calls \c glColor3. See QGLWidget::qglColor(). */
-	void qglColor(const QColor& color) const;
-	/*! Calls \c glClearColor. See QGLWidget documentation. */
-	void qglClearColor(const QColor& color) const;
-	/*! Returns \c true if the widget has a valid GL rendering context. See QGLWidget
-	documentation. */
-	bool isValid() const;
-	/*! Returns \c true if display list sharing with another QGLWidget was requested in the
-	constructor. See QGLWidget documentation. */
-	bool isSharing() const;
-	/*! Makes this widget's rendering context the current OpenGL rendering context. Useful with
-	several viewers. See QGLWidget documentation. */
-	virtual void makeCurrent();
-	/*! Returns \c true if mouseMoveEvent() is called even when no mouse button is pressed.
-
-	You need to setMouseTracking() to \c true in order to use MouseGrabber (see mouseGrabber()). See
-	details in the QWidget documentation. */
-	bool hasMouseTracking () const;
-public Q_SLOTS:
-	/*! Resizes the widget to size \p width by \p height pixels. See also width() and height(). */
-	virtual void resize(int width, int height);
-	/*! Sets the hasMouseTracking() value. */
-	virtual void setMouseTracking(bool enable);
-protected:
-	/*! Returns \c true when buffers are automatically swapped (default). See details in the QGLWidget
-	documentation. */
-	bool autoBufferSwap() const;
-protected Q_SLOTS:
-	/*! Sets the autoBufferSwap() value. */
-	void setAutoBufferSwap(bool on);
-	//@}
-#endif
-
-
-	/*! @name Snapshots */
-	//@{
-public:
-	/*! Returns the snapshot file name used by saveSnapshot().
-
-	This value is used in \p automatic mode (see saveSnapshot()). A dialog is otherwise popped-up to
-	set it.
-
-	You can also directly provide a file name using saveSnapshot(const QString&, bool).
-
-	If the file name is relative, the current working directory at the moment of the method call is
-	used. Set using setSnapshotFileName(). */
-	const QString& snapshotFileName() const { return snapshotFileName_; }
-#ifndef DOXYGEN
-	const QString& snapshotFilename() const;
-#endif
-	/*! Returns the snapshot file format used by saveSnapshot().
-
-	This value is used when saveSnapshot() is passed the \p automatic flag. It is defined using a
-	saveAs pop-up dialog otherwise.
-
-	The available formats are those handled by Qt. Classical values are \c "JPEG", \c "PNG",
-	\c "PPM", \c "BMP". Use the following code to get the actual list:
-	\code
-	QList<QByteArray> formatList = QImageReader::supportedImageFormats();
-	// or with Qt version 2 or 3:
-	QStringList formatList = QImage::outputFormatList();
-	\endcode
-
-	If the library was compiled with the vectorial rendering option (default), three additional
-	vectorial formats are available: \c "EPS", \c "PS" and \c "XFIG". \c "SVG" and \c "PDF" formats
-	should soon be available. The <a href="http://artis.imag.fr/Software/VRender">VRender library</a>
-	was created by Cyril Soler.
-
-	Note that the VRender library has some limitations: vertex shader effects are not reproduced and
-	\c PASS_THROUGH tokens are not handled so one can not change point and line size in the middle of
-	a drawing.
-
-	Default value is the first supported among "JPEG, PNG, EPS, PS, PPM, BMP", in that order.
-
-	This value is set using setSnapshotFormat() or with openSnapshotFormatDialog().
-
-	\attention No verification is performed on the provided format validity. The next call to
-	saveSnapshot() may fail if the format string is not supported. */
-	const QString& snapshotFormat() const { return snapshotFormat_; }
-	/*! Returns the value of the counter used to name snapshots in saveSnapshot() when \p automatic is
-	\c true.
-
-	Set using setSnapshotCounter(). Default value is 0, and it is incremented after each \p automatic
-	snapshot. See saveSnapshot() for details. */
-	int snapshotCounter() const { return snapshotCounter_; }
-	/*! Defines the image quality of the snapshots produced with saveSnapshot().
-
-	Values must be in the range -1..100. Use 0 for lowest quality and 100 for highest quality (and
-	larger files). -1 means use Qt default quality. Default value is 95.
-
-	Set using setSnapshotQuality(). See also the QImage::save() documentation.
-
-	\note This value has no impact on the images produced in vectorial format. */
-	int snapshotQuality() { return snapshotQuality_; }
-
-	// Qt 2.3 does not support qreal default value parameters in slots.
-	// Remove "Q_SLOTS" from the following line to compile with Qt 2.3
-public Q_SLOTS:
-	void saveSnapshot(bool automatic=true, bool overwrite=false);
-
-public Q_SLOTS:
-	void saveSnapshot(const QString& fileName, bool overwrite=false);
-	void setSnapshotFileName(const QString& name);
-
-	/*! Sets the snapshotFormat(). */
-	void setSnapshotFormat(const QString& format) { snapshotFormat_ = format; }
-	/*! Sets the snapshotCounter(). */
-	void setSnapshotCounter(int counter) { snapshotCounter_ = counter; }
-	/*! Sets the snapshotQuality(). */
-	void setSnapshotQuality(int quality) { snapshotQuality_ = quality; }
-	bool openSnapshotFormatDialog();
-	void snapshotToClipboard();
-
-private:
-	bool saveImageSnapshot(const QString& fileName);
-
-#ifndef DOXYGEN
-	/* This class is used internally for screenshot that require tiling (image size size different
-	from window size). Only in that case, is the private tileRegion_ pointer non null.
-	It then contains the current tiled region, which is used by startScreenCoordinatesSystem
-	to adapt the coordinate system. Not using it would result in a tiled drawing of the parts
-	that use startScreenCoordinatesSystem. Also used by scaledFont for same purposes. */
-	class TileRegion { public : qreal xMin, yMin, xMax, yMax, textScale; };
-#endif
-
-public:
-	/*! Return a possibly scaled version of \p font, used for snapshot rendering.
-
-	From a user's point of view, this method simply returns \p font and can be used transparently.
-
-	However when internally rendering a screen snapshot using saveSnapshot(), it returns a scaled version
-	of the font, so that the size of the rendered text on the snapshot is identical to what is displayed on screen,
-	even if the snapshot uses image tiling to create an image of dimensions different from those of the
-	current window. This scaled version will only be used when saveSnapshot() calls your draw() method
-	to generate the snapshot.
-
-	All your calls to QGLWidget::renderText() function hence should use this method.
-	\code
-	renderText(x, y, z, "My Text", scaledFont(QFont()));
-	\endcode
-	will guarantee that this text will be properly displayed on arbitrary sized snapshots.
-
-	Note that this method is not needed if you use drawText() which already calls it internally. */
-	QFont scaledFont(const QFont& font) const {
-		if (tileRegion_ == NULL)
-			return font;
-		else {
-			QFont f(font);
-			if (f.pixelSize() == -1)
-				f.setPointSizeF(f.pointSizeF() * tileRegion_->textScale);
-			else
-				f.setPixelSize(int(f.pixelSize() * tileRegion_->textScale));
-			return f;
-		}
-	}
-	//@}
-
-
-	/*! @name Buffer to texture */
-	//@{
-public:
-	GLuint bufferTextureId() const;
-	/*! Returns the texture coordinate corresponding to the u extremum of the bufferTexture.
-
-	The bufferTexture is created by copyBufferToTexture(). The texture size has powers of two
-	dimensions and the buffer image hence only fills a part of it. This value corresponds to the u
-	coordinate of the extremum right side of the buffer image.
-
-	Use (0,0) to (bufferTextureMaxU(), bufferTextureMaxV()) texture coordinates to map the entire
-	texture on a quad. */
-	qreal bufferTextureMaxU() const { return bufferTextureMaxU_; }
-	/*! Same as bufferTextureMaxU(), but for the v texture coordinate. */
-	qreal bufferTextureMaxV() const { return bufferTextureMaxV_; }
-public Q_SLOTS:
-	void copyBufferToTexture(GLint internalFormat, GLenum format=GL_NONE);
-	//@}
-
-	/*! @name Animation */
-	//@{
-public:
-	/*! Return \c true when the animation loop is started.
-
-	During animation, an infinite loop calls animate() and draw() and then waits for animationPeriod()
-	milliseconds before calling animate() and draw() again. And again.
-
-	Use startAnimation(), stopAnimation() or toggleAnimation() to change this value.
-
-	See the <a href="../examples/animation.html">animation example</a> for illustration. */
-	bool animationIsStarted() const { return animationStarted_; }
-	/*! The animation loop period, in milliseconds.
-
-	When animationIsStarted(), this is delay waited after draw() to call animate() and draw() again.
-	Default value is 40 milliseconds (25 Hz).
-
-	This value will define the currentFPS() when animationIsStarted() (provided that your animate()
-	and draw() methods are fast enough).
-
-	If you want to know the maximum possible frame rate of your machine on a given scene,
-	setAnimationPeriod() to \c 0, and startAnimation() (keyboard shortcut is \c Enter). The display
-	will then be updated as often as possible, and the frame rate will be meaningful.
-
-	\note This value is taken into account only the next time you call startAnimation(). If
-	animationIsStarted(), you should stopAnimation() first. */
-	int animationPeriod() const { return animationPeriod_; }
-
-public Q_SLOTS:
-	/*! Sets the animationPeriod(), in milliseconds. */
-	void setAnimationPeriod(int period) { animationPeriod_ = period; }
-	virtual void startAnimation();
-	virtual void stopAnimation();
-	/*! Scene animation method.
-
-		When animationIsStarted(), this method is in charge of the scene update before each draw().
-		Overload it to define how your scene evolves over time. The time should either be regularly
-		incremented in this method (frame-rate independent animation) or computed from actual time (for
-		instance using QTime::elapsed()) for real-time animations.
-
-				Note that KeyFrameInterpolator (which regularly updates a Frame) does not use this method
-				to animate a Frame, but rather rely on a QTimer signal-slot mechanism.
-
-		See the <a href="../examples/animation.html">animation example</a> for an illustration. */
-	virtual void animate() { Q_EMIT animateNeeded(); }
-	/*! Calls startAnimation() or stopAnimation(), depending on animationIsStarted(). */
-	void toggleAnimation() { if (animationIsStarted()) stopAnimation(); else startAnimation(); }
-	//@}
-
-public:
-Q_SIGNALS:
-	/*! Signal emitted by the default init() method.
-
-	Connect this signal to the methods that need to be called to initialize your viewer or overload init(). */
-	void viewerInitialized();
-
-	/*! Signal emitted by the default draw() method.
-
-	Connect this signal to your main drawing method or overload draw(). See the <a
-	href="../examples/callback.html">callback example</a> for an illustration. */
-	void drawNeeded();
-
-	/*! Signal emitted at the end of the QGLViewer::paintGL() method, when frame is drawn.
-
-	Can be used to notify an image grabbing process that the image is ready. A typical example is to
-	connect this signal to the saveSnapshot() method, so that a (numbered) snapshot is generated after
-	each new display, in order to create a movie:
-	\code
-	connect(viewer, SIGNAL(drawFinished(bool)), SLOT(saveSnapshot(bool)));
-	\endcode
-
-	The \p automatic bool variable is always \c true and has been added so that the signal can be
-	connected to saveSnapshot() with an \c automatic value set to \c true. */
-	void drawFinished(bool automatic);
-
-	/*! Signal emitted by the default animate() method.
-
-	Connect this signal to your scene animation method or overload animate(). */
-	void animateNeeded();
-
-	/*! Signal emitted by the default QGLViewer::help() method.
-
-	Connect this signal to your own help method or overload help(). */
-	void helpRequired();
-
-	/*! This signal is emitted whenever axisIsDrawn() changes value. */
-	void axisIsDrawnChanged(bool drawn);
-	/*! This signal is emitted whenever gridIsDrawn() changes value. */
-	void gridIsDrawnChanged(bool drawn);
-	/*! This signal is emitted whenever FPSIsDisplayed() changes value. */
-	void FPSIsDisplayedChanged(bool displayed);
-	/*! This signal is emitted whenever textIsEnabled() changes value. */
-	void textIsEnabledChanged(bool enabled);
-	/*! This signal is emitted whenever cameraIsEdited() changes value.. */
-	void cameraIsEditedChanged(bool edited);
-	/*! This signal is emitted whenever displaysInStereo() changes value. */
-	void stereoChanged(bool on);
-	/*! Signal emitted by select().
-
-	Connect this signal to your selection method or overload select(), or more probably simply
-	drawWithNames(). */
-	void pointSelected(const QMouseEvent* e);
-
-	/*! Signal emitted by setMouseGrabber() when the mouseGrabber() is changed.
-
-	\p mouseGrabber is a pointer to the new MouseGrabber. Note that this signal is emitted with a \c
-	NULL parameter each time a MouseGrabber stops grabbing mouse. */
-	void mouseGrabberChanged(qglviewer::MouseGrabber* mouseGrabber);
-
-	/*! @name Help window */
-	//@{
-public:
-	/*! Returns the QString displayed in the help() window main tab.
-
-	Overload this method to define your own help string, which should shortly describe your
-	application and explain how it works. Rich-text (HTML) tags can be used (see QStyleSheet()
-	documentation for available tags):
-	\code
-	QString myViewer::helpString() const
-	{
-	QString text("<h2>M y V i e w e r</h2>");
-	text += "Displays a <b>Scene</b> using OpenGL. Move the camera using the mouse.";
-	return text;
-	}
-	\endcode
-
-	See also mouseString() and keyboardString(). */
-	virtual QString helpString() const { return tr("No help available."); }
-
-	virtual QString mouseString() const;
-	virtual QString keyboardString() const;
-
-#ifndef DOXYGEN
-	/*! This method is deprecated, use mouseString() instead. */
-	virtual QString mouseBindingsString () const { return mouseString(); }
-	/*! This method is deprecated, use keyboardString() instead. */
-	virtual QString shortcutBindingsString () const { return keyboardString(); }
-#endif
-
-public Q_SLOTS:
-	virtual void help();
-	virtual void aboutQGLViewer();
-
-protected:
-	/*! Returns a pointer to the help widget.
-
-	Use this only if you want to directly modify the help widget. Otherwise use helpString(),
-	setKeyDescription() and setMouseBindingDescription() to customize the text displayed in the help
-	window tabs. */
-	QTabWidget* helpWidget() { return helpWidget_; }
-	//@}
-
-
-	/*! @name Drawing methods */
-	//@{
-protected:
-	virtual void resizeGL(int width, int height);
-	virtual void initializeGL();
-
-	/*! Initializes the viewer OpenGL context.
-
-	This method is called before the first drawing and should be overloaded to initialize some of the
-	OpenGL flags. The default implementation is empty. See initializeGL().
-
-	Typical usage include camera() initialization (showEntireScene()), previous viewer state
-	restoration (restoreStateFromFile()), OpenGL state modification and display list creation.
-
-	Note that initializeGL() modifies the standard OpenGL context. These values can be restored back
-	in this method.
-
-	\attention You should not call updateGL() (or any method that calls it) in this method, as it will
-	result in an infinite loop. The different QGLViewer set methods (setAxisIsDrawn(),
-	setFPSIsDisplayed()...) are protected against this problem and can safely be called.
-
-	\note All the OpenGL specific initializations must be done in this method: the OpenGL context is
-	not yet available in your viewer constructor. */
-	virtual void init() { Q_EMIT viewerInitialized(); }
-
-	virtual void paintGL();
-	virtual void preDraw();
-	virtual void preDrawStereo(bool leftBuffer=true);
-
-	/*! The core method of the viewer, that draws the scene.
-
-	If you build a class that inherits from QGLViewer, this is the method you want to overload. See
-	the <a href="../examples/simpleViewer.html">simpleViewer example</a> for an illustration.
-
-	The camera modelView matrix set in preDraw() converts from the world to the camera coordinate
-	systems. Vertices given in draw() can then be considered as being given in the world coordinate
-	system. The camera is moved in this world using the mouse. This representation is much more
-	intuitive than the default camera-centric OpenGL standard.
-
-	\attention The \c GL_PROJECTION matrix should not be modified by this method, to correctly display
-	visual hints (axis, grid, FPS...) in postDraw(). Use push/pop or call
-	camera()->loadProjectionMatrix() at the end of draw() if you need to change the projection matrix
-	(unlikely). On the other hand, the \c GL_MODELVIEW matrix can be modified and left in a arbitrary
-	state. */
-	virtual void draw() {}
-	virtual void fastDraw();
-	virtual void postDraw();
-	//@}
-
-	/*! @name Mouse, keyboard and event handlers */
-	//@{
-protected:
-	virtual void mousePressEvent(QMouseEvent *);
-	virtual void mouseMoveEvent(QMouseEvent *);
-	virtual void mouseReleaseEvent(QMouseEvent *);
-	virtual void mouseDoubleClickEvent(QMouseEvent *);
-	virtual void wheelEvent(QWheelEvent *);
-	virtual void keyPressEvent(QKeyEvent *);
-	virtual void keyReleaseEvent(QKeyEvent *);
-	virtual void timerEvent(QTimerEvent *);
-	virtual void closeEvent(QCloseEvent *);
-	//@}
-
-	/*! @name Object selection */
-	//@{
-public:
-	/*! Returns the name (an integer value) of the entity that was last selected by select(). This
-	value is set by endSelection(). See the select() documentation for details.
-
-	As a convention, this method returns -1 if the selectBuffer() was empty, meaning that no object
-	was selected.
-
-	Return value is -1 before the first call to select(). This value is modified using setSelectedName(). */
-	int selectedName() const { return selectedObjectId_; }
-	/*! Returns the selectBuffer() size.
-
-	See the select() documentation for details. Use setSelectBufferSize() to change this value.
-
-	Default value is 4000 (i.e. 1000 objects in selection region, since each object pushes 4 values).
-	This size should be over estimated to prevent a buffer overflow when many objects are drawn under
-	the mouse cursor. */
-	int selectBufferSize() const { return selectBufferSize_; }
-
-	/*! Returns the width (in pixels) of a selection frustum, centered on the mouse cursor, that is
-	used to select objects.
-
-	The height of the selection frustum is defined by selectRegionHeight().
-
-	The objects that will be drawn in this region by drawWithNames() will be recorded in the
-	selectBuffer(). endSelection() then analyzes this buffer and setSelectedName() to the name of the
-	closest object. See the gluPickMatrix() documentation for details.
-
-	The default value is 3, which is adapted to standard applications. A smaller value results in a
-	more precise selection but the user has to be careful for small feature selection.
-
-	See the <a href="../examples/multiSelect.html">multiSelect example</a> for an illustration. */
-	int selectRegionWidth() const { return selectRegionWidth_; }
-	/*! See the selectRegionWidth() documentation. Default value is 3 pixels. */
-	int selectRegionHeight() const { return selectRegionHeight_; }
-
-	/*! Returns a pointer to an array of \c GLuint.
-
-	This buffer is used by the \c GL_SELECT mode in select() to perform object selection. The buffer
-	size can be modified using setSelectBufferSize(). If you overload endSelection(), you will analyze
-	the content of this buffer. See the \c glSelectBuffer() man page for details. */
-	GLuint* selectBuffer() { return selectBuffer_; }
-
-public Q_SLOTS:
-	virtual void select(const QMouseEvent* event);
-	virtual void select(const QPoint& point);
-
-	void setSelectBufferSize(int size);
-	/*! Sets the selectRegionWidth(). */
-	void setSelectRegionWidth(int width) { selectRegionWidth_ = width; }
-	/*! Sets the selectRegionHeight(). */
-	void setSelectRegionHeight(int height) { selectRegionHeight_ = height; }
-	/*! Set the selectedName() value.
-
-		Used in endSelection() during a selection. You should only call this method if you overload the
-		endSelection() method. */
-	void setSelectedName(int id) { selectedObjectId_=id; }
-
-protected:
-	virtual void beginSelection(const QPoint& point);
-	/*! This method is called by select() and should draw selectable entities.
-
-	Default implementation is empty. Overload and draw the different elements of your scene you want
-	to be able to select. The default select() implementation relies on the \c GL_SELECT, and requires
-	that each selectable element is drawn within a \c glPushName() - \c glPopName() block. A typical
-	usage would be (see the <a href="../examples/select.html">select example</a>):
-\code
-void Viewer::drawWithNames() {
-   for (int i=0; i<nbObjects; ++i) {
-	  glPushName(i);
-	  object(i)->draw();
-	  glPopName();
-   }
-}
-\endcode
-
-	The resulting selected name is computed by endSelection(), which setSelectedName() to the integer
-	id pushed by this method (a value of -1 means no selection). Use selectedName() to update your
-	selection, probably in the postSelection() method.
-
-	\attention If your selected objects are points, do not use \c glBegin(GL_POINTS); and \c glVertex3fv()
-	in the above \c draw() method (not compatible with raster mode): use \c glRasterPos3fv() instead. */
-	virtual void drawWithNames() {}
-	virtual void endSelection(const QPoint& point);
-	/*! This method is called at the end of the select() procedure. It should finalize the selection
-	process and update the data structure/interface/computation/display... according to the newly
-	selected entity.
-
-	The default implementation is empty. Overload this method if needed, and use selectedName() to
-	retrieve the selected entity name (returns -1 if no object was selected). See the <a
-	href="../examples/select.html">select example</a> for an illustration. */
-	virtual void postSelection(const QPoint& point) { Q_UNUSED(point); }
-	//@}
-
-
-	/*! @name Keyboard customization */
-	//@{
-public:
-	/*! Defines the different actions that can be associated with a keyboard shortcut using
-	setShortcut().
-
-	See the <a href="../keyboard.html">keyboard page</a> for details. */
-	enum KeyboardAction { DRAW_AXIS, DRAW_GRID, DISPLAY_FPS, ENABLE_TEXT, EXIT_VIEWER,
-						  SAVE_SCREENSHOT, CAMERA_MODE, FULL_SCREEN, STEREO, ANIMATION, HELP, EDIT_CAMERA,
-						  MOVE_CAMERA_LEFT, MOVE_CAMERA_RIGHT, MOVE_CAMERA_UP, MOVE_CAMERA_DOWN,
-						  INCREASE_FLYSPEED, DECREASE_FLYSPEED, SNAPSHOT_TO_CLIPBOARD };
-
-	unsigned int shortcut(KeyboardAction action) const;
-#ifndef DOXYGEN
-	// QGLViewer 1.x
-	unsigned int keyboardAccelerator(KeyboardAction action) const;
-	Qt::Key keyFrameKey(unsigned int index) const;
-	Qt::KeyboardModifiers playKeyFramePathStateKey() const;
-	// QGLViewer 2.0 without Qt4 support
-	Qt::KeyboardModifiers addKeyFrameStateKey() const;
-	Qt::KeyboardModifiers playPathStateKey() const;
-#endif
-	Qt::Key pathKey(unsigned int index) const;
-	Qt::KeyboardModifiers addKeyFrameKeyboardModifiers() const;
-	Qt::KeyboardModifiers playPathKeyboardModifiers() const;
-
-public Q_SLOTS:
-	void setShortcut(KeyboardAction action, unsigned int key);
-#ifndef DOXYGEN
-	void setKeyboardAccelerator(KeyboardAction action, unsigned int key);
-#endif
-	void setKeyDescription(unsigned int key, QString description);
-	void clearShortcuts();
-
-	// Key Frames shortcut keys
-#ifndef DOXYGEN
-	// QGLViewer 1.x compatibility methods
-	virtual void setKeyFrameKey(unsigned int index, int key);
-	virtual void setPlayKeyFramePathStateKey(unsigned int buttonState);
-	// QGLViewer 2.0 without Qt4 support
-	virtual void setPlayPathStateKey(unsigned int buttonState);
-	virtual void setAddKeyFrameStateKey(unsigned int buttonState);
-#endif
-	virtual void setPathKey(int key, unsigned int index = 0);
-	virtual void setPlayPathKeyboardModifiers(Qt::KeyboardModifiers modifiers);
-	virtual void setAddKeyFrameKeyboardModifiers(Qt::KeyboardModifiers modifiers);
-	//@}
-
-
-public:
-	/*! @name Mouse customization */
-	//@{
-	/*! Defines the different mouse handlers: camera() or manipulatedFrame().
-
-	Used by setMouseBinding(), setMouseBinding(Qt::KeyboardModifiers modifiers, Qt::MouseButtons, ClickAction, bool, int)
-	and setWheelBinding() to define which handler receives the mouse events. */
-	enum MouseHandler { CAMERA, FRAME };
-
-	/*! Defines the possible actions that can be binded to a mouse click using
-	setMouseBinding(Qt::KeyboardModifiers, Qt::MouseButtons, ClickAction, bool, int).
-
-	See the <a href="../mouse.html">mouse page</a> for details. */
-	enum ClickAction { NO_CLICK_ACTION, ZOOM_ON_PIXEL, ZOOM_TO_FIT, SELECT, RAP_FROM_PIXEL, RAP_IS_CENTER,
-					   CENTER_FRAME, CENTER_SCENE, SHOW_ENTIRE_SCENE, ALIGN_FRAME, ALIGN_CAMERA };
-
-
-	/*! Defines the possible actions that can be binded to a mouse action (a click, followed by a
-	mouse displacement).
-
-	These actions may be binded to the camera() or to the manipulatedFrame() (see QGLViewer::MouseHandler) using
-	setMouseBinding(). */
-	enum MouseAction { NO_MOUSE_ACTION,
-					   ROTATE, ZOOM, TRANSLATE,
-					   MOVE_FORWARD, LOOK_AROUND, MOVE_BACKWARD,
-					   SCREEN_ROTATE, ROLL, DRIVE,
-					   SCREEN_TRANSLATE, ZOOM_ON_REGION };
-
-#ifndef DOXYGEN
-	MouseAction mouseAction(unsigned int state) const;
-	int mouseHandler(unsigned int state) const;
-	int mouseButtonState(MouseHandler handler, MouseAction action, bool withConstraint=true) const;
-	ClickAction clickAction(unsigned int state, bool doubleClick, Qt::MouseButtons buttonsBefore) const;
-	void getClickButtonState(ClickAction action, unsigned int & state, bool& doubleClick, Qt::MouseButtons& buttonsBefore) const;
-	unsigned int wheelButtonState(MouseHandler handler, MouseAction action, bool withConstraint=true) const;
-#endif
-
-	MouseAction mouseAction(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton button) const;
-	int mouseHandler(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton button) const;
-
-	void getMouseActionBinding(MouseHandler handler, MouseAction action, bool withConstraint,
-							   Qt::Key& key, Qt::KeyboardModifiers& modifiers, Qt::MouseButton& button) const;
-
-	ClickAction clickAction(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton button,
-							bool doubleClick=false, Qt::MouseButtons buttonsBefore=Qt::NoButton) const;
-
-	void getClickActionBinding(ClickAction action, Qt::Key& key, Qt::KeyboardModifiers& modifiers,
-							   Qt::MouseButton& button, bool& doubleClick, Qt::MouseButtons& buttonsBefore) const;
-
-	MouseAction wheelAction(Qt::Key key, Qt::KeyboardModifiers modifiers) const;
-	int wheelHandler(Qt::Key key, Qt::KeyboardModifiers modifiers) const;
-
-	void getWheelActionBinding(MouseHandler handler, MouseAction action, bool withConstraint,
-							   Qt::Key& key, Qt::KeyboardModifiers& modifiers) const;
-
-public Q_SLOTS:
-#ifndef DOXYGEN
-	void setMouseBinding(unsigned int state, MouseHandler handler, MouseAction action, bool withConstraint=true);
-	void setMouseBinding(unsigned int state, ClickAction action, bool doubleClick=false, Qt::MouseButtons buttonsBefore=Qt::NoButton);
-	void setMouseBindingDescription(unsigned int state, QString description, bool doubleClick=false, Qt::MouseButtons buttonsBefore=Qt::NoButton);
-#endif
-
-	void setMouseBinding(Qt::KeyboardModifiers modifiers, Qt::MouseButton buttons, MouseHandler handler, MouseAction action, bool withConstraint=true);
-	void setMouseBinding(Qt::KeyboardModifiers modifiers, Qt::MouseButton button, ClickAction action, bool doubleClick=false, Qt::MouseButtons buttonsBefore=Qt::NoButton);
-	void setWheelBinding(Qt::KeyboardModifiers modifiers, MouseHandler handler, MouseAction action, bool withConstraint=true);
-	void setMouseBindingDescription(Qt::KeyboardModifiers modifiers, Qt::MouseButton button, QString description, bool doubleClick=false, Qt::MouseButtons buttonsBefore=Qt::NoButton);
-
-	void setMouseBinding(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton buttons, MouseHandler handler, MouseAction action, bool withConstraint=true);
-	void setMouseBinding(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton button, ClickAction action, bool doubleClick=false, Qt::MouseButtons buttonsBefore=Qt::NoButton);
-	void setWheelBinding(Qt::Key key, Qt::KeyboardModifiers modifiers, MouseHandler handler, MouseAction action, bool withConstraint=true);
-	void setMouseBindingDescription(Qt::Key key, Qt::KeyboardModifiers modifiers, Qt::MouseButton button, QString description, bool doubleClick=false, Qt::MouseButtons buttonsBefore=Qt::NoButton);
-
-	void clearMouseBindings();
-
-#ifndef DOXYGEN
-	MouseAction wheelAction(Qt::KeyboardModifiers modifiers) const;
-	int wheelHandler(Qt::KeyboardModifiers modifiers) const;
-
-	void setHandlerKeyboardModifiers(MouseHandler handler, Qt::KeyboardModifiers modifiers);
-	void setHandlerStateKey(MouseHandler handler, unsigned int buttonState);
-	void setMouseStateKey(MouseHandler handler, unsigned int buttonState);
-#endif
-
-private:
-	static QString mouseActionString(QGLViewer::MouseAction ma);
-	static QString clickActionString(QGLViewer::ClickAction ca);
-	//@}
-
-
-	/*! @name State persistence */
-	//@{
-public:
-	QString stateFileName() const;
-	virtual QDomElement domElement(const QString& name, QDomDocument& document) const;
-
-public Q_SLOTS:
-	virtual void initFromDOMElement(const QDomElement& element);
-	virtual void saveStateToFile(); // cannot be const because of QMessageBox
-	virtual bool restoreStateFromFile();
-
-	/*! Defines the stateFileName() used by saveStateToFile() and restoreStateFromFile().
-
-		The file name can have an optional prefix directory (no prefix meaning current directory). If the
-		directory does not exist, it will be created by saveStateToFile().
-
-		\code
-		// Name depends on the displayed 3D model. Saved in current directory.
-		setStateFileName(3DModelName() + ".xml");
-
-		// Files are stored in a dedicated directory under user's home directory.
-		setStateFileName(QDir::homeDirPath + "/.config/myApp.xml");
-		\endcode */
-	void setStateFileName(const QString& name) { stateFileName_ = name; }
-
-#ifndef DOXYGEN
-	void saveToFile(const QString& fileName=QString::null);
-	bool restoreFromFile(const QString& fileName=QString::null);
-#endif
-
-private:
-	static void saveStateToFileForAllViewers();
-	//@}
-
-
-	/*! @name QGLViewer pool */
-	//@{
-public:
-	/*! Returns a \c QList that contains pointers to all the created QGLViewers.
-		Note that this list may contain \c NULL pointers if the associated viewer has been deleted.
-
-	Can be useful to apply a method or to connect a signal to all the viewers:
-		\code
-	foreach (QGLViewer* viewer, QGLViewer::QGLViewerPool())
-	  connect(myObject, SIGNAL(IHaveChangedSignal()), viewer, SLOT(update()));
-	\endcode
-
-	\attention With Qt version 3, this method returns a \c QPtrList instead. Use a \c QPtrListIterator
-	to iterate on the list instead.*/
-	static const QList<QGLViewer*>& QGLViewerPool() { return QGLViewer::QGLViewerPool_; }
-
-
-	/*! Returns the index of the QGLViewer \p viewer in the QGLViewerPool(). This index in unique and
-	can be used to identify the different created QGLViewers (see stateFileName() for an application
-	example).
-
-	When a QGLViewer is deleted, the QGLViewers' indexes are preserved and NULL is set for that index.
-		When a QGLViewer is created, it is placed in the first available position in that list.
-		Returns -1 if the QGLViewer could not be found (which should not be possible). */
-	static int QGLViewerIndex(const QGLViewer* const viewer) { return QGLViewer::QGLViewerPool_.indexOf(const_cast<QGLViewer*>(viewer)); }
-	//@}
-
-#ifndef DOXYGEN
-	/*! @name Visual hints */
-	//@{
-public:
-	virtual void setVisualHintsMask(int mask, int delay = 2000);
-	virtual void drawVisualHints();
-
-public Q_SLOTS:
-	virtual void resetVisualHints();
-	//@}
-#endif
-
-private Q_SLOTS:
-	// Patch for a Qt bug with fullScreen on startup
-	void delayedFullScreen() { move(prevPos_); setFullScreen(); }
-	void hideMessage();
-
-private:
-	// Copy constructor and operator= are declared private and undefined
-	// Prevents everyone from trying to use them
-	QGLViewer(const QGLViewer& v);
-	QGLViewer& operator=(const QGLViewer& v);
-
-	// Set parameters to their default values. Called by the constructors.
-	void defaultConstructor();
-
-	void handleKeyboardAction(KeyboardAction id);
-
-	// C a m e r a
-	qglviewer::Camera* camera_;
-	bool cameraIsEdited_;
-	qreal previousCameraZClippingCoefficient_;
-	unsigned int previousPathId_; // double key press recognition
-	void connectAllCameraKFIInterpolatedSignals(bool connection=true);
-
-	// C o l o r s
-	QColor backgroundColor_, foregroundColor_;
-
-	// D i s p l a y    f l a g s
-	bool axisIsDrawn_;	// world axis
-	bool gridIsDrawn_;	// world XY grid
-	bool FPSIsDisplayed_;	// Frame Per Seconds
-	bool textIsEnabled_;	// drawText() actually draws text or not
-	bool stereo_;		// stereo display
-	bool fullScreen_;	// full screen mode
-	QPoint prevPos_;	// Previous window position, used for full screen mode
-
-	// A n i m a t i o n
-	bool animationStarted_; // animation mode started
-	int animationPeriod_;   // period in msecs
-	int animationTimerId_;
-
-	// F P S    d i s p l a y
-	QTime fpsTime_;
-	unsigned int fpsCounter_;
-	QString fpsString_;
-	qreal f_p_s_;
-
-	// M e s s a g e s
-	QString message_;
-	bool displayMessage_;
-	QTimer messageTimer_;
-
-	// M a n i p u l a t e d    f r a m e
-	qglviewer::ManipulatedFrame* manipulatedFrame_;
-	bool manipulatedFrameIsACamera_;
-
-	// M o u s e   G r a b b e r
-	qglviewer::MouseGrabber* mouseGrabber_;
-	bool mouseGrabberIsAManipulatedFrame_;
-	bool mouseGrabberIsAManipulatedCameraFrame_;
-	QMap<size_t, bool> disabledMouseGrabbers_;
-
-	// S e l e c t i o n
-	int selectRegionWidth_, selectRegionHeight_;
-	int selectBufferSize_;
-	GLuint* selectBuffer_;
-	int selectedObjectId_;
-
-	// V i s u a l   h i n t s
-	int visualHint_;
-
-	// S h o r t c u t   k e y s
-	void setDefaultShortcuts();
-	QString cameraPathKeysString() const;
-	QMap<KeyboardAction, QString> keyboardActionDescription_;
-	QMap<KeyboardAction, unsigned int> keyboardBinding_;
-	QMap<unsigned int, QString> keyDescription_;
-
-	// K e y   F r a m e s   s h o r t c u t s
-	QMap<Qt::Key, unsigned int> pathIndex_;
-	Qt::KeyboardModifiers addKeyFrameKeyboardModifiers_, playPathKeyboardModifiers_;
-
-	// B u f f e r   T e x t u r e
-	GLuint bufferTextureId_;
-	qreal bufferTextureMaxU_, bufferTextureMaxV_;
-	int bufferTextureWidth_, bufferTextureHeight_;
-	unsigned int previousBufferTextureFormat_;
-	int previousBufferTextureInternalFormat_;
-
-#ifndef DOXYGEN
-	// M o u s e   a c t i o n s
-	struct MouseActionPrivate {
-		MouseHandler handler;
-		MouseAction action;
-		bool withConstraint;
-	};
-
-	// M o u s e   b i n d i n g s
-	struct MouseBindingPrivate {
-		const Qt::KeyboardModifiers modifiers;
-		const Qt::MouseButton button;
-		const Qt::Key key;
-
-		MouseBindingPrivate(Qt::KeyboardModifiers m, Qt::MouseButton b, Qt::Key k)
-			: modifiers(m), button(b), key(k) {}
-
-		// This sort order is used in mouseString() to display sorted mouse bindings
-		bool operator<(const MouseBindingPrivate& mbp) const
-		{
-			if (key != mbp.key)
-				return key < mbp.key;
-			if (modifiers != mbp.modifiers)
-				return modifiers < mbp.modifiers;
-			return button < mbp.button;
-		}
-	};
-
-	// W h e e l   b i n d i n g s
-	struct WheelBindingPrivate {
-		const Qt::KeyboardModifiers modifiers;
-		const Qt::Key key;
-
-		WheelBindingPrivate(Qt::KeyboardModifiers m, Qt::Key k)
-			: modifiers(m), key(k) {}
-
-		// This sort order is used in mouseString() to display sorted wheel bindings
-		bool operator<(const WheelBindingPrivate& wbp) const
-		{
-			if (key != wbp.key)
-				return key < wbp.key;
-			return modifiers < wbp.modifiers;
-		}
-	};
-
-	// C l i c k   b i n d i n g s
-	struct ClickBindingPrivate {
-		const Qt::KeyboardModifiers modifiers;
-		const Qt::MouseButton button;
-		const bool doubleClick;
-		const Qt::MouseButtons buttonsBefore; // only defined when doubleClick is true
-		const Qt::Key key;
-
-		ClickBindingPrivate(Qt::KeyboardModifiers m, Qt::MouseButton b, bool dc, Qt::MouseButtons bb, Qt::Key k)
-			: modifiers(m), button(b), doubleClick(dc), buttonsBefore(bb), key(k) {}
-
-		// This sort order is used in mouseString() to display sorted mouse bindings
-		bool operator<(const ClickBindingPrivate& cbp) const
-		{
-			if (key != cbp.key)
-				return key < cbp.key;
-			if (buttonsBefore != cbp.buttonsBefore)
-				return buttonsBefore < cbp.buttonsBefore;
-			if (modifiers != cbp.modifiers)
-				return modifiers < cbp.modifiers;
-			if (button != cbp.button)
-				return button < cbp.button;
-			return doubleClick != cbp.doubleClick;
-		}
-	};
-#endif
-	static QString formatClickActionPrivate(ClickBindingPrivate cbp);
-	static bool isValidShortcutKey(int key);
-
-	QMap<ClickBindingPrivate, QString> mouseDescription_;
-
-	void setDefaultMouseBindings();
-	void performClickAction(ClickAction ca, const QMouseEvent* const e);
-	QMap<MouseBindingPrivate, MouseActionPrivate> mouseBinding_;
-	QMap<WheelBindingPrivate, MouseActionPrivate> wheelBinding_;
-	QMap<ClickBindingPrivate, ClickAction> clickBinding_;
-	Qt::Key currentlyPressedKey_;
-
-	// S n a p s h o t s
-	void initializeSnapshotFormats();
-	QImage frameBufferSnapshot();
-	QString snapshotFileName_, snapshotFormat_;
-	int snapshotCounter_, snapshotQuality_;
-	TileRegion* tileRegion_;
-
-	// Q G L V i e w e r   p o o l
-	static QList<QGLViewer*> QGLViewerPool_;
-
-	// S t a t e   F i l e
-	QString stateFileName_;
-
-	// H e l p   w i n d o w
-	QTabWidget* helpWidget_;
-};
-
-#endif // QGLVIEWER_QGLVIEWER_H
diff --git a/SRC/QGLViewer/QGLViewer/quaternion.cpp b/SRC/QGLViewer/QGLViewer/quaternion.cpp
deleted file mode 100644
index 0c30809..0000000
--- a/SRC/QGLViewer/QGLViewer/quaternion.cpp
+++ /dev/null
@@ -1,552 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "domUtils.h"
-#include "quaternion.h"
-#include <stdlib.h> // RAND_MAX
-
-// All the methods are declared inline in Quaternion.h
-using namespace qglviewer;
-using namespace std;
-
-/*! Constructs a Quaternion that will rotate from the \p from direction to the \p to direction.
-
-Note that this rotation is not uniquely defined. The selected axis is usually orthogonal to \p from
-and \p to, minimizing the rotation angle. This method is robust and can handle small or almost identical vectors. */
-Quaternion::Quaternion(const Vec& from, const Vec& to)
-{
-	const qreal epsilon = 1E-10;
-
-	const qreal fromSqNorm = from.squaredNorm();
-	const qreal toSqNorm   = to.squaredNorm();
-	// Identity Quaternion when one vector is null
-	if ((fromSqNorm < epsilon) || (toSqNorm < epsilon))
-	{
-		q[0]=q[1]=q[2]=0.0;
-		q[3]=1.0;
-	}
-	else
-	{
-		Vec axis = cross(from, to);
-		const qreal axisSqNorm = axis.squaredNorm();
-
-		// Aligned vectors, pick any axis, not aligned with from or to
-		if (axisSqNorm < epsilon)
-			axis = from.orthogonalVec();
-
-		qreal angle = asin(sqrt(axisSqNorm / (fromSqNorm * toSqNorm)));
-
-		if (from*to < 0.0)
-			angle = M_PI-angle;
-
-		setAxisAngle(axis, angle);
-	}
-}
-
-/*! Returns the image of \p v by the Quaternion inverse() rotation.
-
-rotate() performs an inverse transformation. Same as inverse().rotate(v). */
-Vec Quaternion::inverseRotate(const Vec& v) const
-{
-	return inverse().rotate(v);
-}
-
-/*! Returns the image of \p v by the Quaternion rotation.
-
-See also inverseRotate() and operator*(const Quaternion&, const Vec&). */
-Vec Quaternion::rotate(const Vec& v) const
-{
-	const qreal q00 = 2.0 * q[0] * q[0];
-	const qreal q11 = 2.0 * q[1] * q[1];
-	const qreal q22 = 2.0 * q[2] * q[2];
-
-	const qreal q01 = 2.0 * q[0] * q[1];
-	const qreal q02 = 2.0 * q[0] * q[2];
-	const qreal q03 = 2.0 * q[0] * q[3];
-
-	const qreal q12 = 2.0 * q[1] * q[2];
-	const qreal q13 = 2.0 * q[1] * q[3];
-
-	const qreal q23 = 2.0 * q[2] * q[3];
-
-	return Vec((1.0 - q11 - q22)*v[0] + (      q01 - q23)*v[1] + (      q02 + q13)*v[2],
-			(      q01 + q23)*v[0] + (1.0 - q22 - q00)*v[1] + (      q12 - q03)*v[2],
-			(      q02 - q13)*v[0] + (      q12 + q03)*v[1] + (1.0 - q11 - q00)*v[2] );
-}
-
-/*! Set the Quaternion from a (supposedly correct) 3x3 rotation matrix.
-
-  The matrix is expressed in European format: its three \e columns are the images by the rotation of
-  the three vectors of an orthogonal basis. Note that OpenGL uses a symmetric representation for its
-  matrices.
-
-  setFromRotatedBasis() sets a Quaternion from the three axis of a rotated frame. It actually fills
-  the three columns of a matrix with these rotated basis vectors and calls this method. */
-void Quaternion::setFromRotationMatrix(const qreal m[3][3])
-{
-	// Compute one plus the trace of the matrix
-	const qreal onePlusTrace = 1.0 + m[0][0] + m[1][1] + m[2][2];
-
-	if (onePlusTrace > 1E-5)
-	{
-		// Direct computation
-		const qreal s = sqrt(onePlusTrace) * 2.0;
-		q[0] = (m[2][1] - m[1][2]) / s;
-		q[1] = (m[0][2] - m[2][0]) / s;
-		q[2] = (m[1][0] - m[0][1]) / s;
-		q[3] = 0.25 * s;
-	}
-	else
-	{
-		// Computation depends on major diagonal term
-		if ((m[0][0] > m[1][1])&(m[0][0] > m[2][2]))
-		{
-			const qreal s = sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]) * 2.0;
-			q[0] = 0.25 * s;
-			q[1] = (m[0][1] + m[1][0]) / s;
-			q[2] = (m[0][2] + m[2][0]) / s;
-			q[3] = (m[1][2] - m[2][1]) / s;
-		}
-		else
-			if (m[1][1] > m[2][2])
-			{
-				const qreal s = sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]) * 2.0;
-				q[0] = (m[0][1] + m[1][0]) / s;
-				q[1] = 0.25 * s;
-				q[2] = (m[1][2] + m[2][1]) / s;
-				q[3] = (m[0][2] - m[2][0]) / s;
-			}
-			else
-			{
-				const qreal s = sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]) * 2.0;
-				q[0] = (m[0][2] + m[2][0]) / s;
-				q[1] = (m[1][2] + m[2][1]) / s;
-				q[2] = 0.25 * s;
-				q[3] = (m[0][1] - m[1][0]) / s;
-			}
-	}
-	normalize();
-}
-
-#ifndef DOXYGEN
-void Quaternion::setFromRotationMatrix(const float m[3][3])
-{
-	qWarning("setFromRotationMatrix now expects a double[3][3] parameter");
-
-	qreal mat[3][3];
-	for (int i=0; i<3; ++i)
-		for (int j=0; j<3; ++j)
-			mat[i][j] = qreal(m[i][j]);
-
-	setFromRotationMatrix(mat);
-}
-
-void Quaternion::setFromRotatedBase(const Vec& X, const Vec& Y, const Vec& Z)
-{
-	qWarning("setFromRotatedBase is deprecated, use setFromRotatedBasis instead");
-	setFromRotatedBasis(X,Y,Z);
-}
-#endif
-
-/*! Sets the Quaternion from the three rotated vectors of an orthogonal basis.
-
-  The three vectors do not have to be normalized but must be orthogonal and direct (X^Y=k*Z, with k>0).
-
-  \code
-  Quaternion q;
-  q.setFromRotatedBasis(X, Y, Z);
-  // Now q.rotate(Vec(1,0,0)) == X and q.inverseRotate(X) == Vec(1,0,0)
-  // Same goes for Y and Z with Vec(0,1,0) and Vec(0,0,1).
-  \endcode
-
-  See also setFromRotationMatrix() and Quaternion(const Vec&, const Vec&). */
-void Quaternion::setFromRotatedBasis(const Vec& X, const Vec& Y, const Vec& Z)
-{
-	qreal m[3][3];
-	qreal normX = X.norm();
-	qreal normY = Y.norm();
-	qreal normZ = Z.norm();
-
-	for (int i=0; i<3; ++i)
-	{
-		m[i][0] = X[i] / normX;
-		m[i][1] = Y[i] / normY;
-		m[i][2] = Z[i] / normZ;
-	}
-
-	setFromRotationMatrix(m);
-}
-
-/*! Returns the axis vector and the angle (in radians) of the rotation represented by the Quaternion.
- See the axis() and angle() documentations. */
-void Quaternion::getAxisAngle(Vec& axis, qreal& angle) const
-{
-	angle = 2.0 * acos(q[3]);
-	axis = Vec(q[0], q[1], q[2]);
-	const qreal sinus = axis.norm();
-	if (sinus > 1E-8)
-		axis /= sinus;
-
-	if (angle > M_PI)
-	{
-		angle = 2.0 * qreal(M_PI) - angle;
-		axis = -axis;
-	}
-}
-
-/*! Returns the normalized axis direction of the rotation represented by the Quaternion.
-
-It is null for an identity Quaternion. See also angle() and getAxisAngle(). */
-Vec Quaternion::axis() const
-{
-	Vec res = Vec(q[0], q[1], q[2]);
-	const qreal sinus = res.norm();
-	if (sinus > 1E-8)
-		res /= sinus;
-	return (acos(q[3]) <= M_PI/2.0) ? res : -res;
-}
-
-/*! Returns the angle (in radians) of the rotation represented by the Quaternion.
-
- This value is always in the range [0-pi]. Larger rotational angles are obtained by inverting the
- axis() direction.
-
- See also axis() and getAxisAngle(). */
-qreal Quaternion::angle() const
-{
-	const qreal angle = 2.0 * acos(q[3]);
-	return (angle <= M_PI) ? angle : 2.0*M_PI - angle;
-}
-
-/*! Returns an XML \c QDomElement that represents the Quaternion.
-
- \p name is the name of the QDomElement tag. \p doc is the \c QDomDocument factory used to create
- QDomElement.
-
- When output to a file, the resulting QDomElement will look like:
- \code
- <name q0=".." q1=".." q2=".." q3=".." />
- \endcode
-
- Use initFromDOMElement() to restore the Quaternion state from the resulting \c QDomElement. See
- also the Quaternion(const QDomElement&) constructor.
-
- See the Vec::domElement() documentation for a complete QDomDocument creation and saving example.
-
- See also Frame::domElement(), Camera::domElement(), KeyFrameInterpolator::domElement()... */
-QDomElement Quaternion::domElement(const QString& name, QDomDocument& document) const
-{
-	QDomElement de = document.createElement(name);
-	de.setAttribute("q0", QString::number(q[0]));
-	de.setAttribute("q1", QString::number(q[1]));
-	de.setAttribute("q2", QString::number(q[2]));
-	de.setAttribute("q3", QString::number(q[3]));
-	return de;
-}
-
-/*! Restores the Quaternion state from a \c QDomElement created by domElement().
-
- The \c QDomElement should contain the \c q0, \c q1 , \c q2 and \c q3 attributes. If one of these
- attributes is missing or is not a number, a warning is displayed and these fields are respectively
- set to 0.0, 0.0, 0.0 and 1.0 (identity Quaternion).
-
- See also the Quaternion(const QDomElement&) constructor. */
-void Quaternion::initFromDOMElement(const QDomElement& element)
-{
-	Quaternion q(element);
-	*this = q;
-}
-
-/*! Constructs a Quaternion from a \c QDomElement representing an XML code of the form
-  \code< anyTagName q0=".." q1=".." q2=".." q3=".." />\endcode
-
-  If one of these attributes is missing or is not a number, a warning is displayed and the associated
-  value is respectively set to 0, 0, 0 and 1 (identity Quaternion).
-
-  See also domElement() and initFromDOMElement(). */
-Quaternion::Quaternion(const QDomElement& element)
-{
-	QStringList attribute;
-	attribute << "q0" << "q1" << "q2" << "q3";
-	for (int i=0; i<attribute.size(); ++i)
-		q[i] = DomUtils::qrealFromDom(element, attribute[i], ((i<3)?0.0:1.0));
-}
-
-/*! Returns the Quaternion associated 4x4 OpenGL rotation matrix.
-
- Use \c glMultMatrixd(q.matrix()) to apply the rotation represented by Quaternion \c q to the
- current OpenGL matrix.
-
- See also getMatrix(), getRotationMatrix() and inverseMatrix().
-
- \attention The result is only valid until the next call to matrix(). Use it immediately (as shown
- above) or consider using getMatrix() instead.
-
- \attention The matrix is given in OpenGL format (row-major order) and is the transpose of the
- actual mathematical European representation. Consider using getRotationMatrix() instead. */
-const GLdouble* Quaternion::matrix() const
-{
-	static GLdouble m[4][4];
-	getMatrix(m);
-	return (const GLdouble*)(m);
-}
-
-/*! Fills \p m with the OpenGL representation of the Quaternion rotation.
-
-Use matrix() if you do not need to store this matrix and simply want to alter the current OpenGL
-matrix. See also getInverseMatrix() and Frame::getMatrix(). */
-void Quaternion::getMatrix(GLdouble m[4][4]) const
-{
-	const qreal q00 = 2.0 * q[0] * q[0];
-	const qreal q11 = 2.0 * q[1] * q[1];
-	const qreal q22 = 2.0 * q[2] * q[2];
-
-	const qreal q01 = 2.0 * q[0] * q[1];
-	const qreal q02 = 2.0 * q[0] * q[2];
-	const qreal q03 = 2.0 * q[0] * q[3];
-
-	const qreal q12 = 2.0 * q[1] * q[2];
-	const qreal q13 = 2.0 * q[1] * q[3];
-
-	const qreal q23 = 2.0 * q[2] * q[3];
-
-	m[0][0] = 1.0 - q11 - q22;
-	m[1][0] =       q01 - q23;
-	m[2][0] =       q02 + q13;
-
-	m[0][1] =       q01 + q23;
-	m[1][1] = 1.0 - q22 - q00;
-	m[2][1] =       q12 - q03;
-
-	m[0][2] =       q02 - q13;
-	m[1][2] =       q12 + q03;
-	m[2][2] = 1.0 - q11 - q00;
-
-	m[0][3] = 0.0;
-	m[1][3] = 0.0;
-	m[2][3] = 0.0;
-
-	m[3][0] = 0.0;
-	m[3][1] = 0.0;
-	m[3][2] = 0.0;
-	m[3][3] = 1.0;
-}
-
-/*! Same as getMatrix(), but with a \c GLdouble[16] parameter. See also getInverseMatrix() and Frame::getMatrix(). */
-void Quaternion::getMatrix(GLdouble m[16]) const
-{
-	static GLdouble mat[4][4];
-	getMatrix(mat);
-	int count = 0;
-	for (int i=0; i<4; ++i)
-		for (int j=0; j<4; ++j)
-			m[count++] = mat[i][j];
-}
-
-/*! Fills \p m with the 3x3 rotation matrix associated with the Quaternion.
-
-  See also getInverseRotationMatrix().
-
-  \attention \p m uses the European mathematical representation of the rotation matrix. Use matrix()
-  and getMatrix() to retrieve the OpenGL transposed version. */
-void Quaternion::getRotationMatrix(qreal m[3][3]) const
-{
-	static GLdouble mat[4][4];
-	getMatrix(mat);
-	for (int i=0; i<3; ++i)
-		for (int j=0; j<3; ++j)
-			// Beware of transposition
-			m[i][j] = qreal(mat[j][i]);
-}
-
-/*! Returns the associated 4x4 OpenGL \e inverse rotation matrix. This is simply the matrix() of the
-  inverse().
-
-  \attention The result is only valid until the next call to inverseMatrix(). Use it immediately (as
-  in \c glMultMatrixd(q.inverseMatrix())) or use getInverseMatrix() instead.
-
-  \attention The matrix is given in OpenGL format (row-major order) and is the transpose of the
-  actual mathematical European representation. Consider using getInverseRotationMatrix() instead. */
-const GLdouble* Quaternion::inverseMatrix() const
-{
-	static GLdouble m[4][4];
-	getInverseMatrix(m);
-	return (const GLdouble*)(m);
-}
-
-/*! Fills \p m with the OpenGL matrix corresponding to the inverse() rotation.
-
-Use inverseMatrix() if you do not need to store this matrix and simply want to alter the current
-OpenGL matrix. See also getMatrix(). */
-void Quaternion::getInverseMatrix(GLdouble m[4][4]) const
-{
-	inverse().getMatrix(m);
-}
-
-/*! Same as getInverseMatrix(), but with a \c GLdouble[16] parameter. See also getMatrix(). */
-void Quaternion::getInverseMatrix(GLdouble m[16]) const
-{
-	inverse().getMatrix(m);
-}
-
-/*! \p m is set to the 3x3 \e inverse rotation matrix associated with the Quaternion.
-
- \attention This is the classical mathematical rotation matrix. The OpenGL format uses its
- transposed version. See inverseMatrix() and getInverseMatrix(). */
-void Quaternion::getInverseRotationMatrix(qreal m[3][3]) const
-{
-	static GLdouble mat[4][4];
-	getInverseMatrix(mat);
-	for (int i=0; i<3; ++i)
-		for (int j=0; j<3; ++j)
-			// Beware of transposition
-			m[i][j] = qreal(mat[j][i]);
-}
-
-
-/*! Returns the slerp interpolation of Quaternions \p a and \p b, at time \p t.
-
- \p t should range in [0,1]. Result is \p a when \p t=0 and \p b when \p t=1.
-
- When \p allowFlip is \c true (default) the slerp interpolation will always use the "shortest path"
- between the Quaternions' orientations, by "flipping" the source Quaternion if needed (see
- negate()). */
-Quaternion Quaternion::slerp(const Quaternion& a, const Quaternion& b, qreal t, bool allowFlip)
-{
-	qreal cosAngle = Quaternion::dot(a, b);
-
-	qreal c1, c2;
-	// Linear interpolation for close orientations
-	if ((1.0 - fabs(cosAngle)) < 0.01)
-	{
-		c1 = 1.0 - t;
-		c2 = t;
-	}
-	else
-	{
-		// Spherical interpolation
-		qreal angle    = acos(fabs(cosAngle));
-		qreal sinAngle = sin(angle);
-		c1 = sin(angle * (1.0 - t)) / sinAngle;
-		c2 = sin(angle * t) / sinAngle;
-	}
-
-	// Use the shortest path
-	if (allowFlip && (cosAngle < 0.0))
-		c1 = -c1;
-
-	return Quaternion(c1*a[0] + c2*b[0], c1*a[1] + c2*b[1], c1*a[2] + c2*b[2], c1*a[3] + c2*b[3]);
-}
-
-/*! Returns the slerp interpolation of the two Quaternions \p a and \p b, at time \p t, using
-  tangents \p tgA and \p tgB.
-
-  The resulting Quaternion is "between" \p a and \p b (result is \p a when \p t=0 and \p b for \p
-  t=1).
-
-  Use squadTangent() to define the Quaternion tangents \p tgA and \p tgB. */
-Quaternion Quaternion::squad(const Quaternion& a, const Quaternion& tgA, const Quaternion& tgB, const Quaternion& b, qreal t)
-{
-	Quaternion ab = Quaternion::slerp(a, b, t);
-	Quaternion tg = Quaternion::slerp(tgA, tgB, t, false);
-	return Quaternion::slerp(ab, tg, 2.0*t*(1.0-t), false);
-}
-
-/*! Returns the logarithm of the Quaternion. See also exp(). */
-Quaternion Quaternion::log()
-{
-	qreal len = sqrt(q[0]*q[0] + q[1]*q[1] + q[2]*q[2]);
-
-	if (len < 1E-6)
-		return Quaternion(q[0], q[1], q[2], 0.0);
-	else
-	{
-		qreal coef = acos(q[3]) / len;
-		return Quaternion(q[0]*coef, q[1]*coef, q[2]*coef, 0.0);
-	}
-}
-
-/*! Returns the exponential of the Quaternion. See also log(). */
-Quaternion Quaternion::exp()
-{
-	qreal theta = sqrt(q[0]*q[0] + q[1]*q[1] + q[2]*q[2]);
-
-	if (theta < 1E-6)
-		return Quaternion(q[0], q[1], q[2], cos(theta));
-	else
-	{
-		qreal coef = sin(theta) / theta;
-		return Quaternion(q[0]*coef, q[1]*coef, q[2]*coef, cos(theta));
-	}
-}
-
-/*! Returns log(a. inverse() * b). Useful for squadTangent(). */
-Quaternion Quaternion::lnDif(const Quaternion& a, const Quaternion& b)
-{
-	Quaternion dif = a.inverse()*b;
-	dif.normalize();
-	return dif.log();
-}
-
-/*! Returns a tangent Quaternion for \p center, defined by \p before and \p after Quaternions.
-
- Useful for smooth spline interpolation of Quaternion with squad() and slerp(). */
-Quaternion Quaternion::squadTangent(const Quaternion& before, const Quaternion& center, const Quaternion& after)
-{
-	Quaternion l1 = Quaternion::lnDif(center,before);
-	Quaternion l2 = Quaternion::lnDif(center,after);
-	Quaternion e;
-	for (int i=0; i<4; ++i)
-		e.q[i] = -0.25 * (l1.q[i] + l2.q[i]);
-	e = center*(e.exp());
-
-	// if (Quaternion::dot(e,b) < 0.0)
-	// e.negate();
-
-	return e;
-}
-
-ostream& operator<<(ostream& o, const Quaternion& Q)
-{
-	return o << Q[0] << '\t' << Q[1] << '\t' << Q[2] << '\t' << Q[3];
-}
-
-/*! Returns a random unit Quaternion.
-
-You can create a randomly directed unit vector using:
-\code
-Vec randomDir = Quaternion::randomQuaternion() * Vec(1.0, 0.0, 0.0); // or any other Vec
-\endcode
-
-\note This function uses rand() to create pseudo-random numbers and the random number generator can
-be initialized using srand().*/
-Quaternion Quaternion::randomQuaternion()
-{
-	// The rand() function is not very portable and may not be available on your system.
-	// Add the appropriate include or replace by an other random function in case of problem.
-	qreal seed = rand()/(qreal)RAND_MAX;
-	qreal r1 = sqrt(1.0 - seed);
-	qreal r2 = sqrt(seed);
-	qreal t1 = 2.0 * M_PI * (rand()/(qreal)RAND_MAX);
-	qreal t2 = 2.0 * M_PI * (rand()/(qreal)RAND_MAX);
-	return Quaternion(sin(t1)*r1, cos(t1)*r1, sin(t2)*r2, cos(t2)*r2);
-}
diff --git a/SRC/QGLViewer/QGLViewer/quaternion.h b/SRC/QGLViewer/QGLViewer/quaternion.h
deleted file mode 100644
index 91f0690..0000000
--- a/SRC/QGLViewer/QGLViewer/quaternion.h
+++ /dev/null
@@ -1,311 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef QGLVIEWER_QUATERNION_H
-#define QGLVIEWER_QUATERNION_H
-
-#include "vec.h"
-#include <math.h>
-#include <iostream>
-
-namespace qglviewer {
-/*! \brief The Quaternion class represents 3D rotations and orientations.
-	\class Quaternion quaternion.h QGLViewer/quaternion.h
-
-	The Quaternion is an appropriate (although not very intuitive) representation for 3D rotations and
-	orientations. Many tools are provided to ease the definition of a Quaternion: see constructors,
-	setAxisAngle(), setFromRotationMatrix(), setFromRotatedBasis().
-
-	You can apply the rotation represented by the Quaternion to 3D points using rotate() and
-	inverseRotate(). See also the Frame class that represents a coordinate system and provides other
-	conversion functions like Frame::coordinatesOf() and Frame::transformOf().
-
-	You can apply the Quaternion \c q rotation to the OpenGL matrices using:
-	\code
-	glMultMatrixd(q.matrix());
-	// equvalent to glRotate(q.angle()*180.0/M_PI, q.axis().x, q.axis().y, q.axis().z);
-	\endcode
-
-	Quaternion is part of the \c qglviewer namespace, specify \c qglviewer::Quaternion or use the qglviewer
-	namespace: \code using namespace qglviewer; \endcode
-
-	<h3>Internal representation</h3>
-
-	The internal representation of a Quaternion corresponding to a rotation around axis \c axis, with an angle
-	\c alpha is made of four qreals (i.e. doubles) q[i]:
-	\code
-	{q[0],q[1],q[2]} = sin(alpha/2) * {axis[0],axis[1],axis[2]}
-	q[3] = cos(alpha/2)
-	\endcode
-
-	Note that certain implementations place the cosine term in first position (instead of last here).
-
-	The Quaternion is always normalized, so that its inverse() is actually its conjugate.
-
-	See also the Vec and Frame classes' documentations.
-	\nosubgrouping */
-class QGLVIEWER_EXPORT Quaternion
-{
-public:
-	/*! @name Defining a Quaternion */
-	//@{
-	/*! Default constructor, builds an identity rotation. */
-	Quaternion()
-	{ q[0]=q[1]=q[2]=0.0;  q[3]=1.0; }
-
-	/*! Constructor from rotation axis (non null) and angle (in radians). See also setAxisAngle(). */
-	Quaternion(const Vec& axis, qreal angle)
-	{
-		setAxisAngle(axis, angle);
-	}
-
-	Quaternion(const Vec& from, const Vec& to);
-
-	/*! Constructor from the four values of a Quaternion. First three values are axis*sin(angle/2) and
-		last one is cos(angle/2).
-
-		\attention The identity Quaternion is Quaternion(0,0,0,1) and \e not Quaternion(0,0,0,0) (which is
-		not unitary). The default Quaternion() creates such identity Quaternion. */
-	Quaternion(qreal q0, qreal q1, qreal q2, qreal q3)
-	{ q[0]=q0;    q[1]=q1;    q[2]=q2;    q[3]=q3; }
-
-	/*! Copy constructor. */
-	Quaternion(const Quaternion& Q)
-	{ for (int i=0; i<4; ++i) q[i] = Q.q[i]; }
-
-	/*! Equal operator. */
-	Quaternion& operator=(const Quaternion& Q)
-	{
-		for (int i=0; i<4; ++i)
-			q[i] = Q.q[i];
-		return (*this);
-	}
-
-	/*! Sets the Quaternion as a rotation of axis \p axis and angle \p angle (in radians).
-
-		\p axis does not need to be normalized. A null \p axis will result in an identity Quaternion. */
-	void setAxisAngle(const Vec& axis, qreal angle)
-	{
-		const qreal norm = axis.norm();
-		if (norm < 1E-8)
-		{
-			// Null rotation
-			q[0] = 0.0;      q[1] = 0.0;      q[2] = 0.0;      q[3] = 1.0;
-		}
-		else
-		{
-			const qreal sin_half_angle = sin(angle / 2.0);
-			q[0] = sin_half_angle*axis[0]/norm;
-			q[1] = sin_half_angle*axis[1]/norm;
-			q[2] = sin_half_angle*axis[2]/norm;
-			q[3] = cos(angle / 2.0);
-		}
-	}
-
-	/*! Sets the Quaternion value. See the Quaternion(qreal, qreal, qreal, qreal) constructor documentation. */
-	void setValue(qreal q0, qreal q1, qreal q2, qreal q3)
-	{ q[0]=q0;    q[1]=q1;    q[2]=q2;    q[3]=q3; }
-
-#ifndef DOXYGEN
-	void setFromRotationMatrix(const float m[3][3]);
-	void setFromRotatedBase(const Vec& X, const Vec& Y, const Vec& Z);
-#endif
-	void setFromRotationMatrix(const qreal m[3][3]);
-	void setFromRotatedBasis(const Vec& X, const Vec& Y, const Vec& Z);
-	//@}
-
-
-	/*! @name Accessing values */
-	//@{
-	Vec axis() const;
-	qreal angle() const;
-	void getAxisAngle(Vec& axis, qreal& angle) const;
-
-	/*! Bracket operator, with a constant return value. \p i must range in [0..3]. See the Quaternion(qreal, qreal, qreal, qreal) documentation. */
-	qreal operator[](int i) const { return q[i]; }
-
-	/*! Bracket operator returning an l-value. \p i must range in [0..3]. See the Quaternion(qreal, qreal, qreal, qreal) documentation. */
-	qreal& operator[](int i) { return q[i]; }
-	//@}
-
-
-	/*! @name Rotation computations */
-	//@{
-	/*! Returns the composition of the \p a and \p b rotations.
-
-		The order is important. When applied to a Vec \c v (see operator*(const Quaternion&, const Vec&)
-		and rotate()) the resulting Quaternion acts as if \p b was applied first and then \p a was
-		applied. This is obvious since the image \c v' of \p v by the composited rotation satisfies: \code
-		v'= (a*b) * v = a * (b*v) \endcode
-
-		Note that a*b usually differs from b*a.
-
-		\attention For efficiency reasons, the resulting Quaternion is not normalized. Use normalize() in
-		case of numerical drift with small rotation composition. */
-	friend Quaternion operator*(const Quaternion& a, const Quaternion& b)
-	{
-		return Quaternion(a.q[3]*b.q[0] + b.q[3]*a.q[0] + a.q[1]*b.q[2] - a.q[2]*b.q[1],
-				a.q[3]*b.q[1] + b.q[3]*a.q[1] + a.q[2]*b.q[0] - a.q[0]*b.q[2],
-				a.q[3]*b.q[2] + b.q[3]*a.q[2] + a.q[0]*b.q[1] - a.q[1]*b.q[0],
-				a.q[3]*b.q[3] - b.q[0]*a.q[0] - a.q[1]*b.q[1] - a.q[2]*b.q[2]);
-	}
-
-	/*! Quaternion rotation is composed with \p q.
-
-		See operator*(), since this is equivalent to \c this = \c this * \p q.
-
-		\note For efficiency reasons, the resulting Quaternion is not normalized.
-		You may normalize() it after each application in case of numerical drift. */
-	Quaternion& operator*=(const Quaternion &q)
-	{
-		*this = (*this)*q;
-		return *this;
-	}
-
-	/*! Returns the image of \p v by the rotation \p q.
-
-		Same as q.rotate(v). See rotate() and inverseRotate(). */
-	friend Vec operator*(const Quaternion& q, const Vec& v)
-	{
-		return q.rotate(v);
-	}
-
-	Vec rotate(const Vec& v) const;
-	Vec inverseRotate(const Vec& v) const;
-	//@}
-
-
-	/*! @name Inversion */
-	//@{
-	/*! Returns the inverse Quaternion (inverse rotation).
-
-		Result has a negated axis() direction and the same angle(). A composition (see operator*()) of a
-		Quaternion and its inverse() results in an identity function.
-
-		Use invert() to actually modify the Quaternion. */
-	Quaternion inverse() const { return Quaternion(-q[0], -q[1], -q[2], q[3]); }
-
-	/*! Inverses the Quaternion (same rotation angle(), but negated axis()).
-
-		See also inverse(). */
-	void invert() { q[0] = -q[0]; q[1] = -q[1]; q[2] = -q[2]; }
-
-	/*! Negates all the coefficients of the Quaternion.
-
-		This results in an other representation of the \e same rotation (opposite rotation angle, but with
-		a negated axis direction: the two cancel out). However, note that the results of axis() and
-		angle() are unchanged after a call to this method since angle() always returns a value in [0,pi].
-
-		This method is mainly useful for Quaternion interpolation, so that the spherical
-		interpolation takes the shortest path on the unit sphere. See slerp() for details. */
-	void negate() { invert(); q[3] = -q[3]; }
-
-	/*! Normalizes the Quaternion coefficients.
-
-		This method should not need to be called since we only deal with unit Quaternions. This is however
-		useful to prevent numerical drifts, especially with small rotational increments. See also
-		normalized(). */
-	qreal normalize()
-	{
-		const qreal norm = sqrt(q[0]*q[0] + q[1]*q[1] + q[2]*q[2] + q[3]*q[3]);
-		for (int i=0; i<4; ++i)
-			q[i] /= norm;
-		return norm;
-	}
-
-	/*! Returns a normalized version of the Quaternion.
-
-		See also normalize(). */
-	Quaternion normalized() const
-	{
-		qreal Q[4];
-		const qreal norm = sqrt(q[0]*q[0] + q[1]*q[1] + q[2]*q[2] + q[3]*q[3]);
-		for (int i=0; i<4; ++i)
-			Q[i] = q[i] / norm;
-		return Quaternion(Q[0], Q[1], Q[2], Q[3]);
-	}
-	//@}
-
-
-	/*! @name Associated matrix */
-	//@{
-	const GLdouble* matrix() const;
-	void getMatrix(GLdouble m[4][4]) const;
-	void getMatrix(GLdouble m[16]) const;
-
-	void getRotationMatrix(qreal m[3][3]) const;
-
-	const GLdouble* inverseMatrix() const;
-	void getInverseMatrix(GLdouble m[4][4]) const;
-	void getInverseMatrix(GLdouble m[16]) const;
-
-	void getInverseRotationMatrix(qreal m[3][3]) const;
-	//@}
-
-
-	/*! @name Slerp interpolation */
-	//@{
-	static Quaternion slerp(const Quaternion& a, const Quaternion& b, qreal t, bool allowFlip=true);
-	static Quaternion squad(const Quaternion& a, const Quaternion& tgA, const Quaternion& tgB, const Quaternion& b, qreal t);
-	/*! Returns the "dot" product of \p a and \p b: a[0]*b[0] + a[1]*b[1] + a[2]*b[2] + a[3]*b[3]. */
-	static qreal dot(const Quaternion& a, const Quaternion& b) { return a[0]*b[0] + a[1]*b[1] + a[2]*b[2] + a[3]*b[3]; }
-
-	Quaternion log();
-	Quaternion exp();
-	static Quaternion lnDif(const Quaternion& a, const Quaternion& b);
-	static Quaternion squadTangent(const Quaternion& before, const Quaternion& center, const Quaternion& after);
-	//@}
-
-	/*! @name Random Quaternion */
-	//@{
-	static Quaternion randomQuaternion();
-	//@}
-
-	/*! @name XML representation */
-	//@{
-	explicit Quaternion(const QDomElement& element);
-	QDomElement domElement(const QString& name, QDomDocument& document) const;
-	void initFromDOMElement(const QDomElement& element);
-	//@}
-
-#ifdef DOXYGEN
-	/*! @name Output stream */
-	//@{
-	/*! Output stream operator. Enables debugging code like:
-		\code
-		Quaternion rot(...);
-		cout << "Rotation=" << rot << endl;
-		\endcode */
-	std::ostream& operator<<(std::ostream& o, const qglviewer::Vec&);
-	//@}
-#endif
-
-private:
-	/*! The internal data representation is private, use operator[] to access values. */
-	qreal q[4];
-};
-
-} // namespace
-
-std::ostream& operator<<(std::ostream& o, const qglviewer::Quaternion&);
-
-#endif // QGLVIEWER_QUATERNION_H
diff --git a/SRC/QGLViewer/QGLViewer/saveSnapshot.cpp b/SRC/QGLViewer/QGLViewer/saveSnapshot.cpp
deleted file mode 100644
index 4a53b8b..0000000
--- a/SRC/QGLViewer/QGLViewer/saveSnapshot.cpp
+++ /dev/null
@@ -1,638 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "qglviewer.h"
-
-#ifndef NO_VECTORIAL_RENDER
-#  include "ui_VRenderInterface.h"
-#  include "VRender/VRender.h"
-#endif
-
-#include "ui_ImageInterface.h"
-
-// Output format list
-# include <QImageWriter>
-
-#include <qfileinfo.h>
-#include <qfiledialog.h>
-#include <qmessagebox.h>
-#include <qapplication.h>
-#include <qmap.h>
-#include <qinputdialog.h>
-#include <qprogressdialog.h>
-#include <qcursor.h>
-
-using namespace std;
-
-////// Static global variables - local to this file //////
-// List of available output file formats, formatted for QFileDialog.
-static QString formats;
-// Converts QFileDialog resulting format to Qt snapshotFormat.
-static QMap<QString, QString> Qtformat;
-// Converts Qt snapshotFormat to QFileDialog menu string.
-static QMap<QString, QString> FDFormatString;
-// Converts snapshotFormat to file extension
-static QMap<QString, QString> extension;
-
-
-/*! Sets snapshotFileName(). */
-void QGLViewer::setSnapshotFileName(const QString& name)
-{
-	snapshotFileName_ = QFileInfo(name).absoluteFilePath();
-}
-
-#ifndef DOXYGEN
-const QString& QGLViewer::snapshotFilename() const
-{
-	qWarning("snapshotFilename is deprecated. Use snapshotFileName() (uppercase N) instead.");
-	return snapshotFileName();
-}
-#endif
-
-
-/*! Opens a dialog that displays the different available snapshot formats.
-
-Then calls setSnapshotFormat() with the selected one (unless the user cancels).
-
-Returns \c false if the user presses the Cancel button and \c true otherwise. */
-bool QGLViewer::openSnapshotFormatDialog()
-{
-	bool ok = false;
-	QStringList list = formats.split(";;", QString::SkipEmptyParts);
-	int current = list.indexOf(FDFormatString[snapshotFormat()]);
-	QString format = QInputDialog::getItem(this, "Snapshot format", "Select a snapshot format", list, current, false, &ok);
-	if (ok)
-		setSnapshotFormat(Qtformat[format]);
-	return ok;
-}
-
-
-// Finds all available Qt output formats, so that they can be available in
-// saveSnapshot dialog. Initialize snapshotFormat() to the first one.
-void QGLViewer::initializeSnapshotFormats()
-{
-	QList<QByteArray> list = QImageWriter::supportedImageFormats();
-	QStringList formatList;
-	for (int i=0; i < list.size(); ++i)
-		formatList << QString(list.at(i).toUpper());
-	//        qWarning("Available image formats: ");
-	//        QStringList::Iterator it = formatList.begin();
-	//        while( it != formatList.end() )
-	//  	      qWarning((*it++).);  QT4 change this. qWarning no longer accepts QString
-
-#ifndef NO_VECTORIAL_RENDER
-	// We add the 3 vectorial formats to the list
-	formatList += "EPS";
-	formatList += "PS";
-	formatList += "XFIG";
-#endif
-
-	// Check that the interesting formats are available and add them in "formats"
-	// Unused formats: XPM XBM PBM PGM
-	QStringList QtText, MenuText, Ext;
-	QtText += "JPEG";	MenuText += "JPEG (*.jpg)";		Ext += "jpg";
-	QtText += "PNG";	MenuText += "PNG (*.png)";      Ext += "png";
-	QtText += "EPS";	MenuText += "Encapsulated Postscript (*.eps)";	Ext += "eps";
-	QtText += "PS";	    MenuText += "Postscript (*.ps)"; Ext += "ps";
-	QtText += "PPM";	MenuText += "24bit RGB Bitmap (*.ppm)";	Ext += "ppm";
-	QtText += "BMP";	MenuText += "Windows Bitmap (*.bmp)";	Ext += "bmp";
-	QtText += "XFIG";	MenuText += "XFig (*.fig)";		Ext += "fig";
-
-	QStringList::iterator itText = QtText.begin();
-	QStringList::iterator itMenu = MenuText.begin();
-	QStringList::iterator itExt  = Ext.begin();
-
-	while (itText != QtText.end())
-	{
-		//QMessageBox::information(this, "Snapshot ", "Trying format\n"+(*itText));
-		if (formatList.contains((*itText)))
-		{
-			//QMessageBox::information(this, "Snapshot ", "Recognized format\n"+(*itText));
-			if (formats.isEmpty())
-				setSnapshotFormat(*itText);
-			else
-				formats += ";;";
-			formats += (*itMenu);
-			Qtformat[(*itMenu)]  = (*itText);
-			FDFormatString[(*itText)]  = (*itMenu);
-			extension[(*itText)] = (*itExt);
-		}
-		// Synchronize parsing
-		itText++;
-		itMenu++;
-		itExt++;
-	}
-}
-
-// Returns false if the user refused to use the fileName
-static bool checkFileName(QString& fileName, QWidget* widget, const QString& snapshotFormat)
-{
-	if (fileName.isEmpty())
-		return false;
-
-	// Check that extension has been provided
-	QFileInfo info(fileName);
-
-	if (info.suffix().isEmpty())
-	{
-		// No extension given. Silently add one
-		if (fileName.right(1) != ".")
-			fileName += ".";
-		fileName += extension[snapshotFormat];
-		info.setFile(fileName);
-	}
-	else if (info.suffix() != extension[snapshotFormat])
-	{
-		// Extension is not appropriate. Propose a modification
-		QString modifiedName = info.absolutePath() + '/' + info.baseName() + "." + extension[snapshotFormat];
-		QFileInfo modifInfo(modifiedName);
-		int i=(QMessageBox::warning(widget,"Wrong extension",
-									info.fileName()+" has a wrong extension.\nSave as "+modifInfo.fileName()+" instead ?",
-									QMessageBox::Yes,
-									QMessageBox::No,
-									QMessageBox::Cancel));
-		if (i==QMessageBox::Cancel)
-			return false;
-
-		if (i==QMessageBox::Yes)
-		{
-			fileName = modifiedName;
-			info.setFile(fileName);
-		}
-	}
-
-	return true;
-}
-
-#ifndef NO_VECTORIAL_RENDER
-// static void drawVectorial(void* param)
-void drawVectorial(void* param)
-{
-	( (QGLViewer*) param )->drawVectorial();
-}
-
-#ifndef DOXYGEN
-class ProgressDialog
-{
-public:
-	static void showProgressDialog(QGLWidget* parent);
-	static void updateProgress(float progress, const QString& stepString);
-	static void hideProgressDialog();
-
-private:
-	static QProgressDialog* progressDialog;
-};
-
-QProgressDialog* ProgressDialog::progressDialog = NULL;
-
-void ProgressDialog::showProgressDialog(QGLWidget* parent)
-{
-	progressDialog = new QProgressDialog(parent);
-	progressDialog->setWindowTitle("Image rendering progress");
-	progressDialog->setMinimumSize(300, 40);
-	progressDialog->setCancelButton(NULL);
-	progressDialog->show();
-}
-
-void ProgressDialog::updateProgress(float progress, const QString& stepString)
-{
-	progressDialog->setValue(int(progress*100));
-	QString message(stepString);
-	if (message.length() > 33)
-		message = message.left(17) + "..." + message.right(12);
-	progressDialog->setLabelText(message);
-	progressDialog->update();
-	qApp->processEvents();
-}
-
-void ProgressDialog::hideProgressDialog()
-{
-	progressDialog->close();
-	delete progressDialog;
-	progressDialog = NULL;
-}
-
-class VRenderInterface: public QDialog, public Ui::VRenderInterface
-{
-public: VRenderInterface(QWidget *parent) : QDialog(parent) { setupUi(this); }
-};
-
-#endif //DOXYGEN
-
-// Pops-up a vectorial output option dialog box and save to fileName
-// Returns -1 in case of Cancel, 0 for success and (todo) error code in case of problem.
-static int saveVectorialSnapshot(const QString& fileName, QGLWidget* widget, const QString& snapshotFormat)
-{
-	static VRenderInterface* VRinterface = NULL;
-
-	if (!VRinterface)
-		VRinterface = new VRenderInterface(widget);
-
-
-	// Configure interface according to selected snapshotFormat
-	if (snapshotFormat == "XFIG")
-	{
-		VRinterface->tightenBBox->setEnabled(false);
-		VRinterface->colorBackground->setEnabled(false);
-	}
-	else
-	{
-		VRinterface->tightenBBox->setEnabled(true);
-		VRinterface->colorBackground->setEnabled(true);
-	}
-
-	if (VRinterface->exec() == QDialog::Rejected)
-		return -1;
-
-	vrender::VRenderParams vparams;
-	vparams.setFilename(fileName);
-
-	if (snapshotFormat == "EPS")	vparams.setFormat(vrender::VRenderParams::EPS);
-	if (snapshotFormat == "PS")	vparams.setFormat(vrender::VRenderParams::PS);
-	if (snapshotFormat == "XFIG")	vparams.setFormat(vrender::VRenderParams::XFIG);
-
-	vparams.setOption(vrender::VRenderParams::CullHiddenFaces, !(VRinterface->includeHidden->isChecked()));
-	vparams.setOption(vrender::VRenderParams::OptimizeBackFaceCulling, VRinterface->cullBackFaces->isChecked());
-	vparams.setOption(vrender::VRenderParams::RenderBlackAndWhite, VRinterface->blackAndWhite->isChecked());
-	vparams.setOption(vrender::VRenderParams::AddBackground, VRinterface->colorBackground->isChecked());
-	vparams.setOption(vrender::VRenderParams::TightenBoundingBox, VRinterface->tightenBBox->isChecked());
-
-	switch (VRinterface->sortMethod->currentIndex())
-	{
-		case 0: vparams.setSortMethod(vrender::VRenderParams::NoSorting); 		break;
-		case 1: vparams.setSortMethod(vrender::VRenderParams::BSPSort); 		break;
-		case 2: vparams.setSortMethod(vrender::VRenderParams::TopologicalSort); 	break;
-		case 3: vparams.setSortMethod(vrender::VRenderParams::AdvancedTopologicalSort);	break;
-		default:
-			qWarning("VRenderInterface::saveVectorialSnapshot: Unknown SortMethod");
-	}
-
-	vparams.setProgressFunction(&ProgressDialog::updateProgress);
-	ProgressDialog::showProgressDialog(widget);
-	widget->makeCurrent();
-	widget->raise();
-	vrender::VectorialRender(drawVectorial, (void*) widget, vparams);
-	ProgressDialog::hideProgressDialog();
-	widget->setCursor(QCursor(Qt::ArrowCursor));
-
-	// Should return vparams.error(), but this is currently not set.
-	return 0;
-}
-#endif // NO_VECTORIAL_RENDER
-
-
-class ImageInterface: public QDialog, public Ui::ImageInterface
-{
-public: ImageInterface(QWidget *parent) : QDialog(parent) { setupUi(this); }
-};
-
-
-// Pops-up an image settings dialog box and save to fileName.
-// Returns false in case of problem.
-bool QGLViewer::saveImageSnapshot(const QString& fileName)
-{
-	static ImageInterface* imageInterface = NULL;
-
-	if (!imageInterface)
-		imageInterface = new ImageInterface(this);
-
-	imageInterface->imgWidth->setValue(width());
-	imageInterface->imgHeight->setValue(height());
-
-	imageInterface->imgQuality->setValue(snapshotQuality());
-
-	if (imageInterface->exec() == QDialog::Rejected)
-		return true;
-
-	// Hide closed dialog
-	qApp->processEvents();
-
-	setSnapshotQuality(imageInterface->imgQuality->value());
-
-	QColor previousBGColor = backgroundColor();
-	if (imageInterface->whiteBackground->isChecked())
-		setBackgroundColor(Qt::white);
-
-	QSize finalSize(imageInterface->imgWidth->value(), imageInterface->imgHeight->value());
-
-	qreal oversampling = imageInterface->oversampling->value();
-	QSize subSize(int(this->width()/oversampling), int(this->height()/oversampling));
-
-	qreal aspectRatio = width() / static_cast<qreal>(height());
-	qreal newAspectRatio = finalSize.width() / static_cast<qreal>(finalSize.height());
-
-	qreal zNear = camera()->zNear();
-	qreal zFar = camera()->zFar();
-
-	qreal xMin, yMin;
-	bool expand = imageInterface->expandFrustum->isChecked();
-	if (camera()->type() == qglviewer::Camera::PERSPECTIVE)
-		if ((expand && (newAspectRatio>aspectRatio)) || (!expand && (newAspectRatio<aspectRatio)))
-		{
-			yMin = zNear * tan(camera()->fieldOfView() / 2.0);
-			xMin = newAspectRatio * yMin;
-		}
-		else
-		{
-			xMin = zNear * tan(camera()->fieldOfView() / 2.0) * aspectRatio;
-			yMin = xMin / newAspectRatio;
-		}
-	else
-	{
-		camera()->getOrthoWidthHeight(xMin, yMin);
-		if ((expand && (newAspectRatio>aspectRatio)) || (!expand && (newAspectRatio<aspectRatio)))
-			xMin = newAspectRatio * yMin;
-		else
-			yMin = xMin / newAspectRatio;
-	}
-
-	QImage image(finalSize.width(), finalSize.height(), QImage::Format_ARGB32);
-
-	if (image.isNull())
-	{
-		QMessageBox::warning(this, "Image saving error",
-							 "Unable to create resulting image",
-							 QMessageBox::Ok, QMessageBox::NoButton);
-		return false;
-	}
-
-	// ProgressDialog disabled since it interfers with the screen grabing mecanism on some platforms. Too bad.
-	// ProgressDialog::showProgressDialog(this);
-
-	qreal scaleX = subSize.width() / static_cast<qreal>(finalSize.width());
-	qreal scaleY = subSize.height() / static_cast<qreal>(finalSize.height());
-
-	qreal deltaX = 2.0 * xMin * scaleX;
-	qreal deltaY = 2.0 * yMin * scaleY;
-
-	int nbX = finalSize.width() / subSize.width();
-	int nbY = finalSize.height() / subSize.height();
-
-	// Extra subimage on the right/bottom border(s) if needed
-	if (nbX * subSize.width() < finalSize.width())
-		nbX++;
-	if (nbY * subSize.height() < finalSize.height())
-		nbY++;
-
-	makeCurrent();
-
-	// tileRegion_ is used by startScreenCoordinatesSystem to appropriately set the local
-	// coordinate system when tiling
-	tileRegion_ = new TileRegion();
-	qreal tileXMin, tileWidth, tileYMin, tileHeight;
-	if ((expand && (newAspectRatio>aspectRatio)) || (!expand && (newAspectRatio<aspectRatio)))
-	{
-		qreal tileTotalWidth = newAspectRatio * height();
-		tileXMin = (width() - tileTotalWidth) / 2.0;
-		tileWidth = tileTotalWidth * scaleX;
-		tileYMin = 0.0;
-		tileHeight = height() * scaleY;
-		tileRegion_->textScale = 1.0 / scaleY;
-	}
-	else
-	{
-		qreal tileTotalHeight = width() / newAspectRatio;
-		tileYMin = (height() - tileTotalHeight) / 2.0;
-		tileHeight = tileTotalHeight * scaleY;
-		tileXMin = 0.0;
-		tileWidth = width() * scaleX;
-		tileRegion_->textScale = 1.0 / scaleX;
-	}
-
-	int count=0;
-	for (int i=0; i<nbX; i++)
-		for (int j=0; j<nbY; j++)
-		{
-			preDraw();
-
-			// Change projection matrix
-			glMatrixMode(GL_PROJECTION);
-			glLoadIdentity();
-			if (camera()->type() == qglviewer::Camera::PERSPECTIVE)
-				glFrustum(-xMin + i*deltaX, -xMin + (i+1)*deltaX, yMin - (j+1)*deltaY, yMin - j*deltaY, zNear, zFar);
-			else
-				glOrtho(-xMin + i*deltaX, -xMin + (i+1)*deltaX, yMin - (j+1)*deltaY, yMin - j*deltaY, zNear, zFar);
-			glMatrixMode(GL_MODELVIEW);
-
-			tileRegion_->xMin = tileXMin + i * tileWidth;
-			tileRegion_->xMax = tileXMin + (i+1) * tileWidth;
-			tileRegion_->yMin = tileYMin + j * tileHeight;
-			tileRegion_->yMax = tileYMin + (j+1) * tileHeight;
-
-			draw();
-			postDraw();
-
-			// ProgressDialog::hideProgressDialog();
-			// qApp->processEvents();
-
-			QImage snapshot = grabFrameBuffer(true);
-
-			// ProgressDialog::showProgressDialog(this);
-			// ProgressDialog::updateProgress(count / (qreal)(nbX*nbY),
-			// "Generating image ["+QString::number(count)+"/"+QString::number(nbX*nbY)+"]");
-			// qApp->processEvents();
-
-			QImage subImage = snapshot.scaled(subSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
-
-			// Copy subImage in image
-			for (int ii=0; ii<subSize.width(); ii++)
-			{
-				int fi = i*subSize.width() + ii;
-				if (fi == image.width())
-					break;
-				for (int jj=0; jj<subSize.height(); jj++)
-				{
-					int fj = j*subSize.height() + jj;
-					if (fj == image.height())
-						break;
-					image.setPixel(fi, fj, subImage.pixel(ii,jj));
-				}
-			}
-			count++;
-		}
-
-	bool saveOK = image.save(fileName, snapshotFormat().toLatin1().constData(), snapshotQuality());
-
-	// ProgressDialog::hideProgressDialog();
-	// setCursor(QCursor(Qt::ArrowCursor));
-
-	delete tileRegion_;
-	tileRegion_ = NULL;
-
-	if (imageInterface->whiteBackground->isChecked())
-		setBackgroundColor(previousBGColor);
-
-	return saveOK;
-}
-
-
-/*! Saves a snapshot of the current image displayed by the widget.
-
- Options are set using snapshotFormat(), snapshotFileName() and snapshotQuality(). For non vectorial
- image formats, the image size is equal to the current viewer's dimensions (see width() and
- height()). See snapshotFormat() for details on supported formats.
-
- If \p automatic is \c false (or if snapshotFileName() is empty), a file dialog is opened to ask for
- the file name.
-
- When \p automatic is \c true, the file name is set to \c NAME-NUMBER, where \c NAME is
- snapshotFileName() and \c NUMBER is snapshotCounter(). The snapshotCounter() is automatically
- incremented after each snapshot saving. This is useful to create videos from your application:
- \code
- void Viewer::init()
- {
-   resize(720, 576); // PAL DV format (use 720x480 for NTSC DV)
-   connect(this, SIGNAL(drawFinished(bool)), SLOT(saveSnapshot(bool)));
- }
- \endcode
- Then call draw() in a loop (for instance using animate() and/or a camera() KeyFrameInterpolator
- replay) to create your image sequence.
-
- If you want to create a Quicktime VR panoramic sequence, simply use code like this:
- \code
- void Viewer::createQuicktime()
- {
-   const int nbImages = 36;
-   for (int i=0; i<nbImages; ++i)
-	 {
-	   camera()->setOrientation(2.0*M_PI/nbImages, 0.0); // Theta-Phi orientation
-	   showEntireScene();
-	   update(); // calls draw(), which emits drawFinished(), which calls saveSnapshot()
-	 }
- }
- \endcode
-
- If snapshotCounter() is negative, no number is appended to snapshotFileName() and the
- snapshotCounter() is not incremented. This is useful to force the creation of a file, overwriting
- the previous one.
-
- When \p overwrite is set to \c false (default), a window asks for confirmation if the file already
- exists. In \p automatic mode, the snapshotCounter() is incremented (if positive) until a
- non-existing file name is found instead. Otherwise the file is overwritten without confirmation.
-
- The VRender library was written by Cyril Soler (Cyril dot Soler at imag dot fr). If the generated
- PS or EPS file is not properly displayed, remove the anti-aliasing option in your postscript viewer.
-
- \note In order to correctly grab the frame buffer, the QGLViewer window is raised in front of
- other windows by this method. */
-void QGLViewer::saveSnapshot(bool automatic, bool overwrite)
-{
-	// Ask for file name
-	if (snapshotFileName().isEmpty() || !automatic)
-	{
-		QString fileName;
-		QString selectedFormat = FDFormatString[snapshotFormat()];
-		fileName = QFileDialog::getSaveFileName(this, "Choose a file name to save under", snapshotFileName(), formats, &selectedFormat,
-												overwrite?QFileDialog::DontConfirmOverwrite:QFlags<QFileDialog::Option>(0));
-		setSnapshotFormat(Qtformat[selectedFormat]);
-
-		if (checkFileName(fileName, this, snapshotFormat()))
-			setSnapshotFileName(fileName);
-		else
-			return;
-	}
-
-	QFileInfo fileInfo(snapshotFileName());
-
-	if ((automatic) && (snapshotCounter() >= 0))
-	{
-		// In automatic mode, names have a number appended
-		const QString baseName = fileInfo.baseName();
-		QString count;
-		count.sprintf("%.04d", snapshotCounter_++);
-		QString suffix;
-		suffix = fileInfo.suffix();
-		if (suffix.isEmpty())
-			suffix = extension[snapshotFormat()];
-		fileInfo.setFile(fileInfo.absolutePath()+ '/' + baseName + '-' + count + '.' + suffix);
-
-		if (!overwrite)
-			while (fileInfo.exists())
-			{
-				count.sprintf("%.04d", snapshotCounter_++);
-				fileInfo.setFile(fileInfo.absolutePath() + '/' +baseName + '-' + count + '.' + fileInfo.suffix());
-			}
-	}
-
-	bool saveOK;
-#ifndef NO_VECTORIAL_RENDER
-	if ( (snapshotFormat() == "EPS") || (snapshotFormat() == "PS") || (snapshotFormat() == "XFIG") )
-		// Vectorial snapshot. -1 means cancel, 0 is ok, >0 (should be) an error
-		saveOK = (saveVectorialSnapshot(fileInfo.filePath(), this, snapshotFormat()) <= 0);
-	else
-#endif
-		if (automatic)
-		{
-			QImage snapshot = frameBufferSnapshot();
-			saveOK = snapshot.save(fileInfo.filePath(), snapshotFormat().toLatin1().constData(), snapshotQuality());
-		}
-		else
-			saveOK = saveImageSnapshot(fileInfo.filePath());
-
-	if (!saveOK)
-		QMessageBox::warning(this, "Snapshot problem", "Unable to save snapshot in\n"+fileInfo.filePath());
-}
-
-QImage QGLViewer::frameBufferSnapshot()
-{
-	// Viewer must be on top of other windows.
-	makeCurrent();
-	raise();
-	// Hack: Qt has problems if the frame buffer is grabbed after QFileDialog is displayed.
-	// We grab the frame buffer before, even if it might be not necessary (vectorial rendering).
-	// The problem could not be reproduced on a simple example to submit a Qt bug.
-	// However, only grabs the backgroundImage in the eponym example. May come from the driver.
-	return grabFrameBuffer(true);
-}
-
-/*! Same as saveSnapshot(), except that it uses \p fileName instead of snapshotFileName().
-
- If \p fileName is empty, opens a file dialog to select the name.
-
- Snapshot settings are set from snapshotFormat() and snapshotQuality().
-
- Asks for confirmation when \p fileName already exists and \p overwrite is \c false (default).
-
- \attention If \p fileName is a char* (as is "myFile.jpg"), it may be casted into a \c bool, and the
- other saveSnapshot() method may be used instead. Pass QString("myFile.jpg") as a parameter to
- prevent this. */
-void QGLViewer::saveSnapshot(const QString& fileName, bool overwrite)
-{
-	const QString previousName = snapshotFileName();
-	const int previousCounter = snapshotCounter();
-	setSnapshotFileName(fileName);
-	setSnapshotCounter(-1);
-	saveSnapshot(true, overwrite);
-	setSnapshotFileName(previousName);
-	setSnapshotCounter(previousCounter);
-}
-
-/*! Takes a snapshot of the current display and pastes it to the clipboard.
-
-This action is activated by the KeyboardAction::SNAPSHOT_TO_CLIPBOARD enum, binded to \c Ctrl+C by default.
-*/
-void QGLViewer::snapshotToClipboard()
-{
-	QClipboard *cb = QApplication::clipboard();
-	cb->setImage(frameBufferSnapshot());
-}
-
diff --git a/SRC/QGLViewer/QGLViewer/ui_ImageInterface.h b/SRC/QGLViewer/QGLViewer/ui_ImageInterface.h
deleted file mode 100644
index 38dff46..0000000
--- a/SRC/QGLViewer/QGLViewer/ui_ImageInterface.h
+++ /dev/null
@@ -1,247 +0,0 @@
-/********************************************************************************
-** Form generated from reading UI file 'ImageInterface.ui'
-**
-** Created by: Qt User Interface Compiler version 5.5.1
-**
-** WARNING! All changes made in this file will be lost when recompiling UI file!
-********************************************************************************/
-
-#ifndef UI_IMAGEINTERFACE_H
-#define UI_IMAGEINTERFACE_H
-
-#include <QtCore/QVariant>
-#include <QtWidgets/QAction>
-#include <QtWidgets/QApplication>
-#include <QtWidgets/QButtonGroup>
-#include <QtWidgets/QCheckBox>
-#include <QtWidgets/QDialog>
-#include <QtWidgets/QDoubleSpinBox>
-#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QHeaderView>
-#include <QtWidgets/QLabel>
-#include <QtWidgets/QPushButton>
-#include <QtWidgets/QSpacerItem>
-#include <QtWidgets/QSpinBox>
-#include <QtWidgets/QVBoxLayout>
-
-QT_BEGIN_NAMESPACE
-
-class Ui_ImageInterface
-{
-public:
-    QVBoxLayout *vboxLayout;
-    QHBoxLayout *hboxLayout;
-    QLabel *label_2;
-    QSpinBox *imgWidth;
-    QSpacerItem *spacerItem;
-    QLabel *label_3;
-    QSpinBox *imgHeight;
-    QHBoxLayout *hboxLayout1;
-    QLabel *label_4;
-    QSpinBox *imgQuality;
-    QSpacerItem *spacerItem1;
-    QHBoxLayout *hboxLayout2;
-    QLabel *label;
-    QDoubleSpinBox *oversampling;
-    QSpacerItem *spacerItem2;
-    QCheckBox *whiteBackground;
-    QCheckBox *expandFrustum;
-    QSpacerItem *spacerItem3;
-    QHBoxLayout *hboxLayout3;
-    QSpacerItem *spacerItem4;
-    QPushButton *okButton;
-    QPushButton *cancelButton;
-
-    void setupUi(QDialog *ImageInterface)
-    {
-        if (ImageInterface->objectName().isEmpty())
-            ImageInterface->setObjectName(QStringLiteral("ImageInterface"));
-        ImageInterface->resize(298, 204);
-        vboxLayout = new QVBoxLayout(ImageInterface);
-#ifndef Q_OS_MAC
-        vboxLayout->setSpacing(6);
-#endif
-#ifndef Q_OS_MAC
-        vboxLayout->setContentsMargins(9, 9, 9, 9);
-#endif
-        vboxLayout->setObjectName(QStringLiteral("vboxLayout"));
-        hboxLayout = new QHBoxLayout();
-#ifndef Q_OS_MAC
-        hboxLayout->setSpacing(6);
-#endif
-#ifndef Q_OS_MAC
-        hboxLayout->setContentsMargins(0, 0, 0, 0);
-#endif
-        hboxLayout->setObjectName(QStringLiteral("hboxLayout"));
-        label_2 = new QLabel(ImageInterface);
-        label_2->setObjectName(QStringLiteral("label_2"));
-
-        hboxLayout->addWidget(label_2);
-
-        imgWidth = new QSpinBox(ImageInterface);
-        imgWidth->setObjectName(QStringLiteral("imgWidth"));
-        imgWidth->setMinimum(1);
-        imgWidth->setMaximum(32000);
-
-        hboxLayout->addWidget(imgWidth);
-
-        spacerItem = new QSpacerItem(20, 22, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        hboxLayout->addItem(spacerItem);
-
-        label_3 = new QLabel(ImageInterface);
-        label_3->setObjectName(QStringLiteral("label_3"));
-
-        hboxLayout->addWidget(label_3);
-
-        imgHeight = new QSpinBox(ImageInterface);
-        imgHeight->setObjectName(QStringLiteral("imgHeight"));
-        imgHeight->setMinimum(1);
-        imgHeight->setMaximum(32000);
-
-        hboxLayout->addWidget(imgHeight);
-
-
-        vboxLayout->addLayout(hboxLayout);
-
-        hboxLayout1 = new QHBoxLayout();
-#ifndef Q_OS_MAC
-        hboxLayout1->setSpacing(6);
-#endif
-        hboxLayout1->setContentsMargins(0, 0, 0, 0);
-        hboxLayout1->setObjectName(QStringLiteral("hboxLayout1"));
-        label_4 = new QLabel(ImageInterface);
-        label_4->setObjectName(QStringLiteral("label_4"));
-
-        hboxLayout1->addWidget(label_4);
-
-        imgQuality = new QSpinBox(ImageInterface);
-        imgQuality->setObjectName(QStringLiteral("imgQuality"));
-        imgQuality->setMinimum(0);
-        imgQuality->setMaximum(100);
-
-        hboxLayout1->addWidget(imgQuality);
-
-        spacerItem1 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        hboxLayout1->addItem(spacerItem1);
-
-
-        vboxLayout->addLayout(hboxLayout1);
-
-        hboxLayout2 = new QHBoxLayout();
-#ifndef Q_OS_MAC
-        hboxLayout2->setSpacing(6);
-#endif
-        hboxLayout2->setContentsMargins(0, 0, 0, 0);
-        hboxLayout2->setObjectName(QStringLiteral("hboxLayout2"));
-        label = new QLabel(ImageInterface);
-        label->setObjectName(QStringLiteral("label"));
-
-        hboxLayout2->addWidget(label);
-
-        oversampling = new QDoubleSpinBox(ImageInterface);
-        oversampling->setObjectName(QStringLiteral("oversampling"));
-        oversampling->setDecimals(1);
-        oversampling->setMinimum(0.1);
-        oversampling->setMaximum(64);
-        oversampling->setSingleStep(1);
-        oversampling->setValue(1);
-
-        hboxLayout2->addWidget(oversampling);
-
-        spacerItem2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        hboxLayout2->addItem(spacerItem2);
-
-
-        vboxLayout->addLayout(hboxLayout2);
-
-        whiteBackground = new QCheckBox(ImageInterface);
-        whiteBackground->setObjectName(QStringLiteral("whiteBackground"));
-
-        vboxLayout->addWidget(whiteBackground);
-
-        expandFrustum = new QCheckBox(ImageInterface);
-        expandFrustum->setObjectName(QStringLiteral("expandFrustum"));
-
-        vboxLayout->addWidget(expandFrustum);
-
-        spacerItem3 = new QSpacerItem(20, 16, QSizePolicy::Minimum, QSizePolicy::Expanding);
-
-        vboxLayout->addItem(spacerItem3);
-
-        hboxLayout3 = new QHBoxLayout();
-#ifndef Q_OS_MAC
-        hboxLayout3->setSpacing(6);
-#endif
-        hboxLayout3->setContentsMargins(0, 0, 0, 0);
-        hboxLayout3->setObjectName(QStringLiteral("hboxLayout3"));
-        spacerItem4 = new QSpacerItem(131, 31, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        hboxLayout3->addItem(spacerItem4);
-
-        okButton = new QPushButton(ImageInterface);
-        okButton->setObjectName(QStringLiteral("okButton"));
-
-        hboxLayout3->addWidget(okButton);
-
-        cancelButton = new QPushButton(ImageInterface);
-        cancelButton->setObjectName(QStringLiteral("cancelButton"));
-
-        hboxLayout3->addWidget(cancelButton);
-
-
-        vboxLayout->addLayout(hboxLayout3);
-
-
-        retranslateUi(ImageInterface);
-        QObject::connect(okButton, SIGNAL(clicked()), ImageInterface, SLOT(accept()));
-        QObject::connect(cancelButton, SIGNAL(clicked()), ImageInterface, SLOT(reject()));
-
-        QMetaObject::connectSlotsByName(ImageInterface);
-    } // setupUi
-
-    void retranslateUi(QDialog *ImageInterface)
-    {
-        ImageInterface->setWindowTitle(QApplication::translate("ImageInterface", "Image settings", 0));
-        label_2->setText(QApplication::translate("ImageInterface", "Width", 0));
-#ifndef QT_NO_TOOLTIP
-        imgWidth->setToolTip(QApplication::translate("ImageInterface", "Width of the image (in pixels)", 0));
-#endif // QT_NO_TOOLTIP
-        imgWidth->setSuffix(QApplication::translate("ImageInterface", " px", 0));
-        label_3->setText(QApplication::translate("ImageInterface", "Height", 0));
-#ifndef QT_NO_TOOLTIP
-        imgHeight->setToolTip(QApplication::translate("ImageInterface", "Height of the image (in pixels)", 0));
-#endif // QT_NO_TOOLTIP
-        imgHeight->setSuffix(QApplication::translate("ImageInterface", " px", 0));
-        label_4->setText(QApplication::translate("ImageInterface", "Image quality", 0));
-#ifndef QT_NO_TOOLTIP
-        imgQuality->setToolTip(QApplication::translate("ImageInterface", "Between 0 (smallest files) and 100 (highest quality)", 0));
-#endif // QT_NO_TOOLTIP
-        label->setText(QApplication::translate("ImageInterface", "Oversampling", 0));
-#ifndef QT_NO_TOOLTIP
-        oversampling->setToolTip(QApplication::translate("ImageInterface", "Antialiases image (when larger then 1.0)", 0));
-#endif // QT_NO_TOOLTIP
-        oversampling->setPrefix(QApplication::translate("ImageInterface", "x ", 0));
-#ifndef QT_NO_TOOLTIP
-        whiteBackground->setToolTip(QApplication::translate("ImageInterface", "Use white as background color", 0));
-#endif // QT_NO_TOOLTIP
-        whiteBackground->setText(QApplication::translate("ImageInterface", "Use white background", 0));
-#ifndef QT_NO_TOOLTIP
-        expandFrustum->setToolTip(QApplication::translate("ImageInterface", "When image aspect ratio differs from viewer's one, expand frustum as needed. Fits inside current frustum otherwise.", 0));
-#endif // QT_NO_TOOLTIP
-        expandFrustum->setText(QApplication::translate("ImageInterface", "Expand frustum if needed", 0));
-        okButton->setText(QApplication::translate("ImageInterface", "OK", 0));
-        cancelButton->setText(QApplication::translate("ImageInterface", "Cancel", 0));
-    } // retranslateUi
-
-};
-
-namespace Ui {
-    class ImageInterface: public Ui_ImageInterface {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_IMAGEINTERFACE_H
diff --git a/SRC/QGLViewer/QGLViewer/ui_VRenderInterface.h b/SRC/QGLViewer/QGLViewer/ui_VRenderInterface.h
deleted file mode 100644
index 9cddd89..0000000
--- a/SRC/QGLViewer/QGLViewer/ui_VRenderInterface.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/********************************************************************************
-** Form generated from reading UI file 'VRenderInterface.ui'
-**
-** Created by: Qt User Interface Compiler version 5.5.1
-**
-** WARNING! All changes made in this file will be lost when recompiling UI file!
-********************************************************************************/
-
-#ifndef UI_VRENDERINTERFACE_H
-#define UI_VRENDERINTERFACE_H
-
-#include <QtCore/QVariant>
-#include <QtWidgets/QAction>
-#include <QtWidgets/QApplication>
-#include <QtWidgets/QButtonGroup>
-#include <QtWidgets/QCheckBox>
-#include <QtWidgets/QComboBox>
-#include <QtWidgets/QDialog>
-#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QHeaderView>
-#include <QtWidgets/QLabel>
-#include <QtWidgets/QPushButton>
-#include <QtWidgets/QSpacerItem>
-#include <QtWidgets/QVBoxLayout>
-
-QT_BEGIN_NAMESPACE
-
-class Ui_VRenderInterface
-{
-public:
-    QVBoxLayout *vboxLayout;
-    QCheckBox *includeHidden;
-    QCheckBox *cullBackFaces;
-    QCheckBox *blackAndWhite;
-    QCheckBox *colorBackground;
-    QCheckBox *tightenBBox;
-    QHBoxLayout *hboxLayout;
-    QLabel *sortLabel;
-    QComboBox *sortMethod;
-    QSpacerItem *spacerItem;
-    QHBoxLayout *hboxLayout1;
-    QPushButton *SaveButton;
-    QPushButton *CancelButton;
-
-    void setupUi(QDialog *VRenderInterface)
-    {
-        if (VRenderInterface->objectName().isEmpty())
-            VRenderInterface->setObjectName(QStringLiteral("VRenderInterface"));
-        VRenderInterface->resize(309, 211);
-        vboxLayout = new QVBoxLayout(VRenderInterface);
-        vboxLayout->setSpacing(6);
-        vboxLayout->setContentsMargins(11, 11, 11, 11);
-        vboxLayout->setObjectName(QStringLiteral("vboxLayout"));
-        vboxLayout->setContentsMargins(5, 5, 5, 5);
-        includeHidden = new QCheckBox(VRenderInterface);
-        includeHidden->setObjectName(QStringLiteral("includeHidden"));
-
-        vboxLayout->addWidget(includeHidden);
-
-        cullBackFaces = new QCheckBox(VRenderInterface);
-        cullBackFaces->setObjectName(QStringLiteral("cullBackFaces"));
-
-        vboxLayout->addWidget(cullBackFaces);
-
-        blackAndWhite = new QCheckBox(VRenderInterface);
-        blackAndWhite->setObjectName(QStringLiteral("blackAndWhite"));
-
-        vboxLayout->addWidget(blackAndWhite);
-
-        colorBackground = new QCheckBox(VRenderInterface);
-        colorBackground->setObjectName(QStringLiteral("colorBackground"));
-
-        vboxLayout->addWidget(colorBackground);
-
-        tightenBBox = new QCheckBox(VRenderInterface);
-        tightenBBox->setObjectName(QStringLiteral("tightenBBox"));
-
-        vboxLayout->addWidget(tightenBBox);
-
-        hboxLayout = new QHBoxLayout();
-        hboxLayout->setSpacing(6);
-        hboxLayout->setObjectName(QStringLiteral("hboxLayout"));
-        hboxLayout->setContentsMargins(11, 11, 11, 11);
-        sortLabel = new QLabel(VRenderInterface);
-        sortLabel->setObjectName(QStringLiteral("sortLabel"));
-
-        hboxLayout->addWidget(sortLabel);
-
-        sortMethod = new QComboBox(VRenderInterface);
-        sortMethod->setObjectName(QStringLiteral("sortMethod"));
-
-        hboxLayout->addWidget(sortMethod);
-
-
-        vboxLayout->addLayout(hboxLayout);
-
-        spacerItem = new QSpacerItem(31, 41, QSizePolicy::Minimum, QSizePolicy::Expanding);
-
-        vboxLayout->addItem(spacerItem);
-
-        hboxLayout1 = new QHBoxLayout();
-        hboxLayout1->setSpacing(6);
-        hboxLayout1->setObjectName(QStringLiteral("hboxLayout1"));
-        SaveButton = new QPushButton(VRenderInterface);
-        SaveButton->setObjectName(QStringLiteral("SaveButton"));
-
-        hboxLayout1->addWidget(SaveButton);
-
-        CancelButton = new QPushButton(VRenderInterface);
-        CancelButton->setObjectName(QStringLiteral("CancelButton"));
-
-        hboxLayout1->addWidget(CancelButton);
-
-
-        vboxLayout->addLayout(hboxLayout1);
-
-        QWidget::setTabOrder(SaveButton, CancelButton);
-        QWidget::setTabOrder(CancelButton, includeHidden);
-        QWidget::setTabOrder(includeHidden, cullBackFaces);
-        QWidget::setTabOrder(cullBackFaces, blackAndWhite);
-        QWidget::setTabOrder(blackAndWhite, colorBackground);
-        QWidget::setTabOrder(colorBackground, tightenBBox);
-        QWidget::setTabOrder(tightenBBox, sortMethod);
-
-        retranslateUi(VRenderInterface);
-        QObject::connect(SaveButton, SIGNAL(released()), VRenderInterface, SLOT(accept()));
-        QObject::connect(CancelButton, SIGNAL(released()), VRenderInterface, SLOT(reject()));
-
-        sortMethod->setCurrentIndex(3);
-
-
-        QMetaObject::connectSlotsByName(VRenderInterface);
-    } // setupUi
-
-    void retranslateUi(QDialog *VRenderInterface)
-    {
-        VRenderInterface->setWindowTitle(QApplication::translate("VRenderInterface", "Vectorial rendering options", 0));
-#ifndef QT_NO_TOOLTIP
-        includeHidden->setToolTip(QApplication::translate("VRenderInterface", "Hidden polygons are also included in the output (usually twice bigger)", 0));
-#endif // QT_NO_TOOLTIP
-        includeHidden->setText(QApplication::translate("VRenderInterface", "Include hidden parts", 0));
-#ifndef QT_NO_TOOLTIP
-        cullBackFaces->setToolTip(QApplication::translate("VRenderInterface", "Back faces (non clockwise point ordering) are removed from the output", 0));
-#endif // QT_NO_TOOLTIP
-        cullBackFaces->setText(QApplication::translate("VRenderInterface", "Cull back faces", 0));
-#ifndef QT_NO_TOOLTIP
-        blackAndWhite->setToolTip(QApplication::translate("VRenderInterface", "Black and white rendering", 0));
-#endif // QT_NO_TOOLTIP
-        blackAndWhite->setText(QApplication::translate("VRenderInterface", "Black and white", 0));
-#ifndef QT_NO_TOOLTIP
-        colorBackground->setToolTip(QApplication::translate("VRenderInterface", "Use current background color instead of white", 0));
-#endif // QT_NO_TOOLTIP
-        colorBackground->setText(QApplication::translate("VRenderInterface", "Color background", 0));
-#ifndef QT_NO_TOOLTIP
-        tightenBBox->setToolTip(QApplication::translate("VRenderInterface", "Fit output bounding box to current display", 0));
-#endif // QT_NO_TOOLTIP
-        tightenBBox->setText(QApplication::translate("VRenderInterface", "Tighten bounding box", 0));
-#ifndef QT_NO_TOOLTIP
-        sortLabel->setToolTip(QApplication::translate("VRenderInterface", "Polygon depth sorting method", 0));
-#endif // QT_NO_TOOLTIP
-        sortLabel->setText(QApplication::translate("VRenderInterface", "Sort method:", 0));
-        sortMethod->clear();
-        sortMethod->insertItems(0, QStringList()
-         << QApplication::translate("VRenderInterface", "No sorting", 0)
-         << QApplication::translate("VRenderInterface", "BSP", 0)
-         << QApplication::translate("VRenderInterface", "Topological", 0)
-         << QApplication::translate("VRenderInterface", "Advanced topological", 0)
-        );
-#ifndef QT_NO_TOOLTIP
-        sortMethod->setToolTip(QApplication::translate("VRenderInterface", "Polygon depth sorting method", 0));
-#endif // QT_NO_TOOLTIP
-        SaveButton->setText(QApplication::translate("VRenderInterface", "Save", 0));
-        CancelButton->setText(QApplication::translate("VRenderInterface", "Cancel", 0));
-    } // retranslateUi
-
-};
-
-namespace Ui {
-    class VRenderInterface: public Ui_VRenderInterface {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_VRENDERINTERFACE_H
diff --git a/SRC/QGLViewer/QGLViewer/vec.cpp b/SRC/QGLViewer/QGLViewer/vec.cpp
deleted file mode 100644
index 669d6f7..0000000
--- a/SRC/QGLViewer/QGLViewer/vec.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#include "domUtils.h"
-#include "vec.h"
-
-// Most of the methods are declared inline in vec.h
-
-using namespace qglviewer;
-using namespace std;
-
-/*! Projects the Vec on the axis of direction \p direction that passes through the origin.
-
-\p direction does not need to be normalized (but must be non null). */
-void Vec::projectOnAxis(const Vec& direction)
-{
-#ifndef QT_NO_DEBUG
-	if (direction.squaredNorm() < 1.0E-10)
-		qWarning("Vec::projectOnAxis: axis direction is not normalized (norm=%f).", direction.norm());
-#endif
-
-	*this = (((*this)*direction) / direction.squaredNorm()) * direction;
-}
-
-/*! Projects the Vec on the plane whose normal is \p normal that passes through the origin.
-
-\p normal does not need to be normalized (but must be non null). */
-void Vec::projectOnPlane(const Vec& normal)
-{
-#ifndef QT_NO_DEBUG
-	if (normal.squaredNorm() < 1.0E-10)
-		qWarning("Vec::projectOnPlane: plane normal is not normalized (norm=%f).", normal.norm());
-#endif
-
-	*this -= (((*this)*normal) / normal.squaredNorm()) * normal;
-}
-
-/*! Returns a Vec orthogonal to the Vec. Its norm() depends on the Vec, but is zero only for a
- null Vec. Note that the function that associates an orthogonalVec() to a Vec is not continous. */
-Vec Vec::orthogonalVec() const
-{
-	// Find smallest component. Keep equal case for null values.
-	if ((fabs(y) >= 0.9*fabs(x)) && (fabs(z) >= 0.9*fabs(x)))
-		return Vec(0.0, -z, y);
-	else
-		if ((fabs(x) >= 0.9*fabs(y)) && (fabs(z) >= 0.9*fabs(y)))
-			return Vec(-z, 0.0, x);
-		else
-			return Vec(-y, x, 0.0);
-}
-
-/*! Constructs a Vec from a \c QDomElement representing an XML code of the form
- \code< anyTagName x=".." y=".." z=".." />\endcode
-
-If one of these attributes is missing or is not a number, a warning is displayed and the associated
-value is set to 0.0.
-
-See also domElement() and initFromDOMElement(). */
-Vec::Vec(const QDomElement& element)
-{
-	QStringList attribute;
-	attribute << "x" << "y" << "z";
-	for (int i=0; i<attribute.size(); ++i)
-#ifdef QGLVIEWER_UNION_NOT_SUPPORTED
-		this->operator[](i) = DomUtils::qrealFromDom(element, attribute[i], 0.0);
-#else
-		v_[i] = DomUtils::qrealFromDom(element, attribute[i], 0.0);
-#endif
-}
-
-/*! Returns an XML \c QDomElement that represents the Vec.
-
- \p name is the name of the QDomElement tag. \p doc is the \c QDomDocument factory used to create
- QDomElement.
-
- When output to a file, the resulting QDomElement will look like:
- \code
- <name x=".." y=".." z=".." />
- \endcode
-
- Use initFromDOMElement() to restore the Vec state from the resulting \c QDomElement. See also the
- Vec(const QDomElement&) constructor.
-
- Here is complete example that creates a QDomDocument and saves it into a file:
- \code
- Vec sunPos;
- QDomDocument document("myDocument");
- QDomElement sunElement = document.createElement("Sun");
- document.appendChild(sunElement);
- sunElement.setAttribute("brightness", sunBrightness());
- sunElement.appendChild(sunPos.domElement("sunPosition", document));
- // Other additions to the document hierarchy...
-
- // Save doc document
- QFile f("myFile.xml");
- if (f.open(IO_WriteOnly))
- {
-   QTextStream out(&f);
-   document.save(out, 2);
-   f.close();
- }
- \endcode
-
- See also Quaternion::domElement(), Frame::domElement(), Camera::domElement()... */
-QDomElement Vec::domElement(const QString& name, QDomDocument& document) const
-{
-	QDomElement de = document.createElement(name);
-	de.setAttribute("x", QString::number(x));
-	de.setAttribute("y", QString::number(y));
-	de.setAttribute("z", QString::number(z));
-	return de;
-}
-
-/*! Restores the Vec state from a \c QDomElement created by domElement().
-
- The \c QDomElement should contain \c x, \c y and \c z attributes. If one of these attributes is
- missing or is not a number, a warning is displayed and the associated value is set to 0.0.
-
- To restore the Vec state from an xml file, use:
- \code
- // Load DOM from file
- QDomDocument doc;
- QFile f("myFile.xml");
- if (f.open(IO_ReadOnly))
- {
-   doc.setContent(&f);
-   f.close();
- }
- // Parse the DOM tree and initialize
- QDomElement main=doc.documentElement();
- myVec.initFromDOMElement(main);
- \endcode
-
- See also the Vec(const QDomElement&) constructor. */
-void Vec::initFromDOMElement(const QDomElement& element)
-{
-	const Vec v(element);
-	*this = v;
-}
-
-ostream& operator<<(ostream& o, const Vec& v)
-{
-	return o << v.x << '\t' << v.y << '\t' << v.z;
-}
-
diff --git a/SRC/QGLViewer/QGLViewer/vec.h b/SRC/QGLViewer/QGLViewer/vec.h
deleted file mode 100644
index 429ab62..0000000
--- a/SRC/QGLViewer/QGLViewer/vec.h
+++ /dev/null
@@ -1,390 +0,0 @@
-/****************************************************************************
-
- Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-
- This file is part of the QGLViewer library version 2.6.3.
-
- http://www.libqglviewer.com - contact at libqglviewer.com
-
- This file may be used under the terms of the GNU General Public License 
- versions 2.0 or 3.0 as published by the Free Software Foundation and
- appearing in the LICENSE file included in the packaging of this file.
- In addition, as a special exception, Gilles Debunne gives you certain 
- additional rights, described in the file GPL_EXCEPTION in this package.
-
- libQGLViewer uses dual licensing. Commercial/proprietary software must
- purchase a libQGLViewer Commercial License.
-
- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*****************************************************************************/
-
-#ifndef QGLVIEWER_VEC_H
-#define QGLVIEWER_VEC_H
-
-#include <math.h>
-#include <iostream>
-
-# include <QDomElement>
-
-// Included by all files as vec.h is at the end of the include hierarchy
-#include "config.h" // Specific configuration options.
-
-namespace qglviewer {
-
-/*! \brief The Vec class represents 3D positions and 3D vectors.
-  \class Vec vec.h QGLViewer/vec.h
-
-  Vec is used as a parameter and return type by many methods of the library. It provides classical
-  algebraic computational methods and is compatible with OpenGL:
-
-  \code
-  // Draws a point located at 3.0 OpenGL units in front of the camera
-  Vec pos = camera()->position() + 3.0 * camera()->viewDirection();
-  glBegin(GL_POINTS);
-  glVertex3fv(pos);
-  glEnd();
-  \endcode
-
-  This makes of Vec a good candidate for representing positions and vectors in your programs. Since
-  it is part of the \c qglviewer namespace, specify \c qglviewer::Vec or use the qglviewer
-  namespace:
-  \code
-  using namespace qglviewer;
-  \endcode
-
-  <h3>Interface with other vector classes</h3>
-
-  Vec implements a universal explicit converter, based on the \c [] \c operator.
-  Everywhere a \c const \c Vec& argument is expected, you can use your own vector type
-  instead, as long as it implements this operator (see the Vec(const C& c) documentation).
-
-  See also the Quaternion and the Frame documentations.
-  \nosubgrouping */
-class QGLVIEWER_EXPORT Vec
-{
-
-	// If your compiler complains the "The class "qglviewer::Vec" has no member "x"."
-	// Add your architecture Q_OS_XXXX flag (see qglobal.h) in this list.
-#if defined (Q_OS_IRIX) || defined (Q_OS_AIX) || defined (Q_OS_HPUX)
-# define QGLVIEWER_UNION_NOT_SUPPORTED
-#endif
-
-public:
-	/*! The internal data representation is public. One can use v.x, v.y, v.z. See also operator[](). */
-#if defined (DOXYGEN) || defined (QGLVIEWER_UNION_NOT_SUPPORTED)
-	qreal x, y, z;
-#else
-	union
-	{
-		struct { qreal x, y, z; };
-		qreal v_[3];
-	};
-#endif
-
-	/*! @name Setting the value */
-	//@{
-	/*! Default constructor. Value is set to (0,0,0). */
-	Vec() : x(0.0), y(0.0), z(0.0) {}
-
-	/*! Standard constructor with the x, y and z values. */
-	Vec(qreal X, qreal Y, qreal Z) : x(X), y(Y), z(Z) {}
-
-	/*! Universal explicit converter from any class to Vec. You can use your own vector class everywhere
-  a \c const \c Vec& parameter is required, as long as it implements the \c operator[ ]:
-
-  \code
-  class MyVec
-  {
-	// ...
-	qreal operator[](int i) const { returns x, y or z when i=0, 1 or 2; }
-  }
-
-  MyVec v(...);
-  camera()->setPosition(v);
-  \endcode
-
-  Note that standard vector types (STL, \c qreal[3], ...) implement this operator and can hence
-  be used in place of Vec. See also operator const qreal*() .*/
-	template <class C>
-	explicit Vec(const C& c) : x(c[0]), y(c[1]), z(c[2]) {}
-	// Should NOT be explicit to prevent conflicts with operator<<.
-
-	// ! Copy constructor
-	// Vec(const Vec& v) : x(v.x), y(v.y), z(v.z) {}
-
-	/*! Equal operator. */
-	Vec& operator=(const Vec& v)
-	{
-		x = v.x;   y = v.y;   z = v.z;
-		return *this;
-	}
-
-	/*! Set the current value. May be faster than using operator=() with a temporary Vec(x,y,z). */
-	void setValue(qreal X, qreal Y, qreal Z)
-	{ x=X; y=Y; z=Z; }
-
-	// Universal equal operator which allows the use of any type in place of Vec,
-	// as long as the [] operator is implemented (v[0]=v.x, v[1]=v.y, v[2]=v.z).
-	// template <class C>
-	// Vec& operator=(const C& c)
-	// {
-	// x=c[0]; y=c[1]; z=c[2];
-	// return *this;
-	// }
-	//@}
-
-	/*! @name Accessing the value */
-	//@{
-	/*! Bracket operator, with a constant return value. \p i must range in [0..2]. */
-	qreal operator[](int i) const {
-#ifdef QGLVIEWER_UNION_NOT_SUPPORTED
-		return (&x)[i];
-#else
-		return v_[i];
-#endif
-	}
-
-	/*! Bracket operator returning an l-value. \p i must range in [0..2]. */
-	qreal& operator[](int i) {
-#ifdef QGLVIEWER_UNION_NOT_SUPPORTED
-		return (&x)[i];
-#else
-		return v_[i];
-#endif
-	}
-
-#ifndef DOXYGEN
-	/*! This method is deprecated since version 2.0. Use operator const double* instead. */
-	const double* address() const { qWarning("Vec::address() is deprecated, use operator const double* instead."); return operator const double*(); }
-#endif
-
-	/*! Conversion operator returning the memory address of the vector.
-
-  Very convenient to pass a Vec pointer as a parameter to \c GLdouble OpenGL functions:
-  \code
-  Vec pos, normal;
-  glNormal3dv(normal);
-  glVertex3dv(pos);
-  \endcode */
-	operator const double*() const {
-#ifdef QGLVIEWER_UNION_NOT_SUPPORTED
-		return &x;
-#else
-		return v_;
-#endif
-	}
-
-	/*! Non const conversion operator returning the memory address of the vector.
-
-  Useful to pass a Vec to a method that requires and fills a \c double*, as provided by certain libraries. */
-	operator double*() {
-#ifdef QGLVIEWER_UNION_NOT_SUPPORTED
-		return &x;
-#else
-		return v_;
-#endif
-	}
-
-	/*! Conversion operator returning the memory address of the vector.
-
-  Very convenient to pass a Vec pointer as a \c float parameter to OpenGL functions:
-  \code
-  Vec pos, normal;
-  glNormal3fv(normal);
-  glVertex3fv(pos);
-  \endcode
-  \note The returned float array is a static shared by all \c Vec instances. */
-	operator const float*() const {
-		static float* const result = new float[3];
-		result[0] = (float)x;
-		result[1] = (float)y;
-		result[2] = (float)z;
-		return result;
-	}
-	//@}
-
-	/*! @name Algebraic computations */
-	//@{
-	/*! Returns the sum of the two vectors. */
-	friend Vec operator+(const Vec &a, const Vec &b)
-	{
-		return Vec(a.x+b.x, a.y+b.y, a.z+b.z);
-	}
-
-	/*! Returns the difference of the two vectors. */
-	friend Vec operator-(const Vec &a, const Vec &b)
-	{
-		return Vec(a.x-b.x, a.y-b.y, a.z-b.z);
-	}
-
-	/*! Unary minus operator. */
-	friend Vec operator-(const Vec &a)
-	{
-		return Vec(-a.x, -a.y, -a.z);
-	}
-
-	/*! Returns the product of the vector with a scalar. */
-	friend Vec operator*(const Vec &a, qreal k)
-	{
-		return Vec(a.x*k, a.y*k, a.z*k);
-	}
-
-	/*! Returns the product of a scalar with the vector. */
-	friend Vec operator*(qreal k, const Vec &a)
-	{
-		return a*k;
-	}
-
-	/*! Returns the division of the vector with a scalar.
-
-  Too small \p k values are \e not tested (unless the library was compiled with the "debug" Qt \c
-  CONFIG flag) and may result in \c NaN values. */
-	friend Vec operator/(const Vec &a, qreal k)
-	{
-#ifndef QT_NO_DEBUG
-		if (fabs(k) < 1.0E-10)
-			qWarning("Vec::operator / : dividing by a null value (%f)", k);
-#endif
-		return Vec(a.x/k, a.y/k, a.z/k);
-	}
-
-	/*! Returns \c true only when the two vector are not equal (see operator==()). */
-	friend bool operator!=(const Vec &a, const Vec &b)
-	{
-		return !(a==b);
-	}
-
-	/*! Returns \c true when the squaredNorm() of the difference vector is lower than 1E-10. */
-	friend bool operator==(const Vec &a, const Vec &b)
-	{
-		const qreal epsilon = 1.0E-10;
-		return (a-b).squaredNorm() < epsilon;
-	}
-
-	/*! Adds \p a to the vector. */
-	Vec& operator+=(const Vec &a)
-	{
-		x += a.x; y += a.y; z += a.z;
-		return *this;
-	}
-
-	/*! Subtracts \p a to the vector. */
-	Vec& operator-=(const Vec &a)
-	{
-		x -= a.x; y -= a.y; z -= a.z;
-		return *this;
-	}
-
-	/*! Multiply the vector by a scalar \p k. */
-	Vec& operator*=(qreal k)
-	{
-		x *= k; y *= k; z *= k;
-		return *this;
-	}
-
-	/*! Divides the vector by a scalar \p k.
-
-  An absolute \p k value lower than 1E-10 will print a warning if the library was compiled with the
-  "debug" Qt \c CONFIG flag. Otherwise, no test is performed for efficiency reasons. */
-	Vec& operator/=(qreal k)
-	{
-#ifndef QT_NO_DEBUG
-		if (fabs(k)<1.0E-10)
-			qWarning("Vec::operator /= : dividing by a null value (%f)", k);
-#endif
-		x /= k; y /= k; z /= k;
-		return *this;
-	}
-
-	/*! Dot product of the two Vec. */
-	friend qreal operator*(const Vec &a, const Vec &b)
-	{
-		return a.x*b.x + a.y*b.y + a.z*b.z;
-	}
-
-	/*! Cross product of the two vectors. Same as cross(). */
-	friend Vec operator^(const Vec &a, const Vec &b)
-	{
-		return cross(a,b);
-	}
-
-	/*! Cross product of the two Vec. Mind the order ! */
-	friend Vec cross(const Vec &a, const Vec &b)
-	{
-		return Vec(a.y*b.z - a.z*b.y,
-				   a.z*b.x - a.x*b.z,
-				   a.x*b.y - a.y*b.x);
-	}
-
-	Vec orthogonalVec() const;
-	//@}
-
-	/*! @name Norm of the vector */
-	//@{
-#ifndef DOXYGEN
-	/*! This method is deprecated since version 2.0. Use squaredNorm() instead. */
-	qreal sqNorm() const { return x*x + y*y + z*z; }
-#endif
-
-	/*! Returns the \e squared norm of the Vec. */
-	qreal squaredNorm() const { return x*x + y*y + z*z; }
-
-	/*! Returns the norm of the vector. */
-	qreal norm() const { return sqrt(x*x + y*y + z*z); }
-
-	/*! Normalizes the Vec and returns its original norm.
-
-  Normalizing a null vector will result in \c NaN values. */
-	qreal normalize()
-	{
-		const qreal n = norm();
-#ifndef QT_NO_DEBUG
-		if (n < 1.0E-10)
-			qWarning("Vec::normalize: normalizing a null vector (norm=%f)", n);
-#endif
-		*this /= n;
-		return n;
-	}
-
-	/*! Returns a unitary (normalized) \e representation of the vector. The original Vec is not modified. */
-	Vec unit() const
-	{
-		Vec v = *this;
-		v.normalize();
-		return v;
-	}
-	//@}
-
-	/*! @name Projection */
-	//@{
-	void projectOnAxis(const Vec& direction);
-	void projectOnPlane(const Vec& normal);
-	//@}
-
-	/*! @name XML representation */
-	//@{
-	explicit Vec(const QDomElement& element);
-	QDomElement domElement(const QString& name, QDomDocument& document) const;
-	void initFromDOMElement(const QDomElement& element);
-	//@}
-
-#ifdef DOXYGEN
-	/*! @name Output stream */
-	//@{
-	/*! Output stream operator. Enables debugging code like:
-  \code
-  Vec pos(...);
-  cout << "Position=" << pos << endl;
-  \endcode */
-	std::ostream& operator<<(std::ostream& o, const qglviewer::Vec&);
-	//@}
-#endif
-};
-
-} // namespace
-
-std::ostream& operator<<(std::ostream& o, const qglviewer::Vec&);
-
-#endif // QGLVIEWER_VEC_H
diff --git a/SRC/QGLViewer/README b/SRC/QGLViewer/README
deleted file mode 100644
index 44f3629..0000000
--- a/SRC/QGLViewer/README
+++ /dev/null
@@ -1,41 +0,0 @@
-
-                          l i b Q G L V i e w e r
-
-	      	 Version 2.6.3. Packaged on July 10, 2015
-
-
-  Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-  http://www.libqglviewer.com
-  Send e-mail to contact at libqglviewer.com
-
-
-libQGLViewer is a C++ library based on Qt that eases the creation of OpenGL 3D viewers.
-
-It provides some of the  typical 3D viewer  functionalities, such as the possibility to
-move the camera using the mouse, which lacks  in most of the other APIs. Other features
-include mouse  manipulated  frames, interpolated  keyFrames,  object selection,  stereo 
-display, screenshot saving and much more. It can be used by OpenGL beginners as well as
-to create complex applications, being fully customizable and easy to extend.
-
-Based on the Qt  toolkit, it compiles on any architecture  (Unix-Linux, Mac,  Windows). 
-Full reference documentation and  many examples are provided.   libQGLViewer  does  not 
-display  3D scenes in various formats,  but it can be the base for the coding of such a 
-viewer.
-
-libQGLViewer uses dual licensing: it is freely available under the terms of the GNU-GPL
-license for open source software development,  while  commercial applications can apply
-for a commercial license.
-
-
-The library's main functionalities are:
-
-     - A camera trackball to intuitively move the camera in the scene.
-     - Screenshot saving in different file formats (JPG, PNG, EPS...).
-     - Easy scene object selection and manipulation using the mouse.
-     - Definition and replay of keyFrame paths.
-     - Stereo display (provided that your hardware supports it).
-     - Clean, well-designed and easily extendable API.
-     - Many examples and a complete reference documentation. 
-
-See the doc/index.html page for details.
-
diff --git a/SRC/Qwt/CHANGES-6.1 b/SRC/Qwt/CHANGES-6.1
deleted file mode 100644
index d18ed59..0000000
--- a/SRC/Qwt/CHANGES-6.1
+++ /dev/null
@@ -1,130 +0,0 @@
-Qwt 6.1.2
-=========
-
-1) Qt 5.4 compatibility
-
-   - QT_STATIC_CONST
-     "QT_STATIC_CONST" replaced by "static const"
-  
-2) build environment
-
-   - QMAKELIBDIRFLAGS
-     using QMAKELIBDIRFLAGS to avoid conflicts with already 
-     installed linux distro packages
-
-3) color maps
-
-    - QwtLinearColorMap 
-      handling of alpha values added
-
-    - QwtAlphaColorMap
-      basic functinality fixed
-
-    - QwtPainter
-      QwtPainter::drawColorBar() fixed for semi transparent colors.
-
-4) QwtPlot and friends
-      
-   - QwtLegend
-     layout issue fixed
-
-   - QwtLogScaleEngine
-     tick duplicates fixed     
-
-   - QwtPainter
-     internal chunk size for drawing polylines with the raster paint engine 
-     reduced from 20 to 6 ( faster ).
-
-Qwt 6.1.1
-=========
-
-1) build environment
-
-   - Shadow builds
-     qmake project files to allow shadow builds
-
-   - pkg-config
-     QwtPkgConfig config option added to qwtconfig.pri to enable generation
-     of pkg-config files ( default setting is: disabled )
-
-2) scales
-
-   - QwtDateScaleEngine
-     Aligning/Autoscaling improved.
-
-   - QwtLinearScaleEngines
-     Trying to avoid overruns for huge intervals ( > max double ) in divideScale().
-
-   - QwtAbstractScaleDraw/QwtScaleDraw
-     Layout issues fixed.
-
-   - QwtRoundScaleDraw
-     Performance for specific use cases improved.
-
-3) controls
-
-   - QwtAbstractSlider/QwtCounter
-     Fixes for tiny step sizes.
-
-   - QwtDial/QwtKnob
-     Rounding instead of flooring, when translating values to angles.
-
-   - QwtKnob/QwtThermo
-     Missing updates, when changing the scale draw.
-
-   - QwtWheel
-     Aligning of values improved.
-
-4) QwtPlot and friends
-
-   - QwtPlot
-     Disabling auto-replot in the destructor.
-     QwtPlot::setPlotLayout() fixed.
-     Calculation in QwtPlot::canvasMap fixed for disabled axes.
-     QwtPlot::autoRefresh() when attaching/detaching a plot item.
-
-   - QwtLegend
-     Clipping code fixed in QwtLegend::renderLegend().
-
-   - QwtPlotRenderer
-     Order of setting printer properties changed to work around a Qt 4.8 bug.
-
-   - QwtGraphic
-     Handling of RenderPensUnscaled flag fixed to respect initial 
-     painter transformations ( non cosmetic pens on legend icons will 
-     be scaled according to paint device resolution - f.e high dpi printouts - now ).
-
-   - QwtPainter
-     Painter transformation for simple rich texts fixed.
-     Applying alpha values, when drawing color bars.
-
-   - QwtPicker
-     Work around a Qt bug when creating an event filter inside of an 
-     event filter ( calling the event filter twice ).
-
-   - QwtPickerMachine
-     Ignoring autorepeated key events.
-
-   - QwtPlotCurve
-     Paint order of curve pen and brush inverted ( pen on top of brush ).
-
-   - QwtPlotAbstractBarChart
-     Using layoutHint() as minimum sample width in AutoAdjustSamples mode.
-
-   - QwtPlotBarChart/QwtPlotMultiBarChart
-     Caluclation of boundingRect() fixed.
-
-   - QwtPlotScaleItem
-     Internal cache removed to avoid out of sync situations
-
-   - QwtPlotSpectroCurve
-     Losing alpha values from the color map fixed.
-
-   - QwtPlotTextLabel
-     No internal caches for record/replay paint devices ( QPicture/QwtGraphic ).
-
-   - QwtRasterData
-     Handling of NaN values added, when calculating contour lines.
-
-   - QwtSymbol
-     Pin point translations fixed.
diff --git a/SRC/Qwt/COPYING b/SRC/Qwt/COPYING
deleted file mode 100644
index 9c01f7e..0000000
--- a/SRC/Qwt/COPYING
+++ /dev/null
@@ -1,543 +0,0 @@
-                             Qwt License
-                           Version 1.0, January 1, 2003
-
-The Qwt library and included programs are provided under the terms
-of the GNU LESSER GENERAL PUBLIC LICENSE (LGPL) with the following
-exceptions:
-
-    1. Widgets that are subclassed from Qwt widgets do not
-       constitute a derivative work.
-
-    2. Static linking of applications and widgets to the
-       Qwt library does not constitute a derivative work
-       and does not require the author to provide source
-       code for the application or widget, use the shared
-       Qwt libraries, or link their applications or
-       widgets against a user-supplied version of Qwt.
-
-       If you link the application or widget to a modified
-       version of Qwt, then the changes to Qwt must be 
-       provided under the terms of the LGPL in sections
-       1, 2, and 4.
-
-    3. You do not have to provide a copy of the Qwt license
-       with programs that are linked to the Qwt library, nor
-       do you have to identify the Qwt license in your
-       program or documentation as required by section 6
-       of the LGPL.
-
-
-       However, programs must still identify their use of Qwt.
-       The following example statement can be included in user
-       documentation to satisfy this requirement:
-
-           [program/widget] is based in part on the work of
-           the Qwt project (http://qwt.sf.net).
-
-----------------------------------------------------------------------
-
-
-          GNU LESSER GENERAL PUBLIC LICENSE
-               Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-          GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-             END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/SRC/Qwt/INSTALL b/SRC/Qwt/INSTALL
deleted file mode 100644
index bafcbe0..0000000
--- a/SRC/Qwt/INSTALL
+++ /dev/null
@@ -1 +0,0 @@
-see doc/html/qwtinstall.html
diff --git a/SRC/Qwt/Qwt.pro b/SRC/Qwt/Qwt.pro
deleted file mode 100644
index 04129b7..0000000
--- a/SRC/Qwt/Qwt.pro
+++ /dev/null
@@ -1,224 +0,0 @@
-######################################################################
-# qmake internal options
-######################################################################
-
-
-CONFIG           += warn_on
-CONFIG           += no_keywords
-CONFIG           += silent
-CONFIG           += release
-CONFIG           += staticlib
-
-TEMPLATE  = lib
-TARGET    = ./BUILD/Qwt
-DESTDIR   = ./
-
-MOC_DIR     = ./BUILD/moc
-UI_DIR      = ./BUILD/ui
-OBJECTS_DIR = ./BUILD/obj
-RCC_DIR     = ./BUILD/rcc
-
-QT +=  widgets opengl concurrent printsupport svg
-
-# Input
-HEADERS += src/qwt.h \
-           src/qwt_abstract_legend.h \
-           src/qwt_abstract_scale.h \
-           src/qwt_abstract_scale_draw.h \
-           src/qwt_abstract_slider.h \
-           src/qwt_analog_clock.h \
-           src/qwt_arrow_button.h \
-           src/qwt_clipper.h \
-           src/qwt_color_map.h \
-           src/qwt_column_symbol.h \
-           src/qwt_compass.h \
-           src/qwt_compass_rose.h \
-           src/qwt_compat.h \
-           src/qwt_counter.h \
-           src/qwt_curve_fitter.h \
-           src/qwt_date.h \
-           src/qwt_date_scale_draw.h \
-           src/qwt_date_scale_engine.h \
-           src/qwt_dial.h \
-           src/qwt_dial_needle.h \
-           src/qwt_dyngrid_layout.h \
-           src/qwt_event_pattern.h \
-           src/qwt_global.h \
-           src/qwt_graphic.h \
-           src/qwt_interval.h \
-           src/qwt_interval_symbol.h \
-           src/qwt_knob.h \
-           src/qwt_legend.h \
-           src/qwt_legend_data.h \
-           src/qwt_legend_label.h \
-           src/qwt_magnifier.h \
-           src/qwt_math.h \
-           src/qwt_matrix_raster_data.h \
-           src/qwt_null_paintdevice.h \
-           src/qwt_painter.h \
-           src/qwt_painter_command.h \
-           src/qwt_panner.h \
-           src/qwt_picker.h \
-           src/qwt_picker_machine.h \
-           src/qwt_pixel_matrix.h \
-           src/qwt_plot.h \
-           src/qwt_plot_abstract_barchart.h \
-           src/qwt_plot_barchart.h \
-           src/qwt_plot_canvas.h \
-           src/qwt_plot_curve.h \
-           src/qwt_plot_dict.h \
-           src/qwt_plot_directpainter.h \
-           src/qwt_plot_glcanvas.h \
-           src/qwt_plot_grid.h \
-           src/qwt_plot_histogram.h \
-           src/qwt_plot_intervalcurve.h \
-           src/qwt_plot_item.h \
-           src/qwt_plot_layout.h \
-           src/qwt_plot_legenditem.h \
-           src/qwt_plot_magnifier.h \
-           src/qwt_plot_marker.h \
-           src/qwt_plot_multi_barchart.h \
-           src/qwt_plot_panner.h \
-           src/qwt_plot_picker.h \
-           src/qwt_plot_rasteritem.h \
-           src/qwt_plot_renderer.h \
-           src/qwt_plot_rescaler.h \
-           src/qwt_plot_scaleitem.h \
-           src/qwt_plot_seriesitem.h \
-           src/qwt_plot_shapeitem.h \
-           src/qwt_plot_spectrocurve.h \
-           src/qwt_plot_spectrogram.h \
-           src/qwt_plot_svgitem.h \
-           src/qwt_plot_textlabel.h \
-           src/qwt_plot_tradingcurve.h \
-           src/qwt_plot_zoneitem.h \
-           src/qwt_plot_zoomer.h \
-           src/qwt_point_3d.h \
-           src/qwt_point_data.h \
-           src/qwt_point_mapper.h \
-           src/qwt_point_polar.h \
-           src/qwt_raster_data.h \
-           src/qwt_round_scale_draw.h \
-           src/qwt_samples.h \
-           src/qwt_sampling_thread.h \
-           src/qwt_scale_div.h \
-           src/qwt_scale_draw.h \
-           src/qwt_scale_engine.h \
-           src/qwt_scale_map.h \
-           src/qwt_scale_widget.h \
-           src/qwt_series_data.h \
-           src/qwt_series_store.h \
-           src/qwt_slider.h \
-           src/qwt_spline.h \
-           src/qwt_symbol.h \
-           src/qwt_system_clock.h \
-           src/qwt_text.h \
-           src/qwt_text_engine.h \
-           src/qwt_text_label.h \
-           src/qwt_thermo.h \
-           src/qwt_transform.h \
-           src/qwt_wheel.h \
-           src/qwt_widget_overlay.h 
-
-SOURCES += src/qwt_abstract_legend.cpp \
-           src/qwt_abstract_scale.cpp \
-           src/qwt_abstract_scale_draw.cpp \
-           src/qwt_abstract_slider.cpp \
-           src/qwt_analog_clock.cpp \
-           src/qwt_arrow_button.cpp \
-           src/qwt_clipper.cpp \
-           src/qwt_color_map.cpp \
-           src/qwt_column_symbol.cpp \
-           src/qwt_compass.cpp \
-           src/qwt_compass_rose.cpp \
-           src/qwt_counter.cpp \
-           src/qwt_curve_fitter.cpp \
-           src/qwt_date.cpp \
-           src/qwt_date_scale_draw.cpp \
-           src/qwt_date_scale_engine.cpp \
-           src/qwt_dial.cpp \
-           src/qwt_dial_needle.cpp \
-           src/qwt_dyngrid_layout.cpp \
-           src/qwt_event_pattern.cpp \
-           src/qwt_graphic.cpp \
-           src/qwt_interval.cpp \
-           src/qwt_interval_symbol.cpp \
-           src/qwt_knob.cpp \
-           src/qwt_legend.cpp \
-           src/qwt_legend_data.cpp \
-           src/qwt_legend_label.cpp \
-           src/qwt_magnifier.cpp \
-           src/qwt_math.cpp \
-           src/qwt_matrix_raster_data.cpp \
-           src/qwt_null_paintdevice.cpp \
-           src/qwt_painter.cpp \
-           src/qwt_painter_command.cpp \
-           src/qwt_panner.cpp \
-           src/qwt_picker.cpp \
-           src/qwt_picker_machine.cpp \
-           src/qwt_pixel_matrix.cpp \
-           src/qwt_plot.cpp \
-           src/qwt_plot_abstract_barchart.cpp \
-           src/qwt_plot_axis.cpp \
-           src/qwt_plot_barchart.cpp \
-           src/qwt_plot_canvas.cpp \
-           src/qwt_plot_curve.cpp \
-           src/qwt_plot_dict.cpp \
-           src/qwt_plot_directpainter.cpp \
-           src/qwt_plot_glcanvas.cpp \
-           src/qwt_plot_grid.cpp \
-           src/qwt_plot_histogram.cpp \
-           src/qwt_plot_intervalcurve.cpp \
-           src/qwt_plot_item.cpp \
-           src/qwt_plot_layout.cpp \
-           src/qwt_plot_legenditem.cpp \
-           src/qwt_plot_magnifier.cpp \
-           src/qwt_plot_marker.cpp \
-           src/qwt_plot_multi_barchart.cpp \
-           src/qwt_plot_panner.cpp \
-           src/qwt_plot_picker.cpp \
-           src/qwt_plot_rasteritem.cpp \
-           src/qwt_plot_renderer.cpp \
-           src/qwt_plot_rescaler.cpp \
-           src/qwt_plot_scaleitem.cpp \
-           src/qwt_plot_seriesitem.cpp \
-           src/qwt_plot_shapeitem.cpp \
-           src/qwt_plot_spectrocurve.cpp \
-           src/qwt_plot_spectrogram.cpp \
-           src/qwt_plot_svgitem.cpp \
-           src/qwt_plot_textlabel.cpp \
-           src/qwt_plot_tradingcurve.cpp \
-           src/qwt_plot_xml.cpp \
-           src/qwt_plot_zoneitem.cpp \
-           src/qwt_plot_zoomer.cpp \
-           src/qwt_point_3d.cpp \
-           src/qwt_point_data.cpp \
-           src/qwt_point_mapper.cpp \
-           src/qwt_point_polar.cpp \
-           src/qwt_raster_data.cpp \
-           src/qwt_round_scale_draw.cpp \
-           src/qwt_sampling_thread.cpp \
-           src/qwt_scale_div.cpp \
-           src/qwt_scale_draw.cpp \
-           src/qwt_scale_engine.cpp \
-           src/qwt_scale_map.cpp \
-           src/qwt_scale_widget.cpp \
-           src/qwt_series_data.cpp \
-           src/qwt_slider.cpp \
-           src/qwt_spline.cpp \
-           src/qwt_symbol.cpp \
-           src/qwt_system_clock.cpp \
-           src/qwt_text.cpp \
-           src/qwt_text_engine.cpp \
-           src/qwt_text_label.cpp \
-           src/qwt_thermo.cpp \
-           src/qwt_transform.cpp \
-           src/qwt_wheel.cpp \
-           src/qwt_widget_overlay.cpp
-
-RESOURCES += designer/qwt_designer_plugin.qrc
-
-target.path = ./BUILD/lib
-include.path = ./BUILD/include/Qwt
-include.files = $${HEADERS}
-INSTALLS *= target include
diff --git a/SRC/Qwt/designer/designer.pro b/SRC/Qwt/designer/designer.pro
deleted file mode 100644
index 504743d..0000000
--- a/SRC/Qwt/designer/designer.pro
+++ /dev/null
@@ -1,121 +0,0 @@
-################################################################
-# Qwt Widget Library
-# Copyright (C) 1997   Josef Wilgen
-# Copyright (C) 2002   Uwe Rathmann
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the Qwt License, Version 1.0
-################################################################
-
-QWT_ROOT = $${PWD}/..
-QWT_OUT_ROOT = $${OUT_PWD}/..
-
-include ( $${QWT_ROOT}/qwtconfig.pri )
-include ( $${QWT_ROOT}/qwtbuild.pri )
-include ( $${QWT_ROOT}/qwtfunctions.pri )
-
-
-CONFIG( debug_and_release ) {
-
-    # When building debug_and_release the designer plugin is built
-    # for release only. If you want to have a debug version it has to be
-    # done with "CONFIG += debug" only.
-
-    message("debug_and_release: building the Qwt designer plugin in release mode only")
-
-    CONFIG -= debug_and_release
-    CONFIG += release
-}
-
-contains(QWT_CONFIG, QwtDesigner) {
-
-    CONFIG    += qt plugin 
-
-    greaterThan(QT_MAJOR_VERSION, 4) {
-
-        QT += designer
-    }
-    else {
-
-        CONFIG    += designer
-    }
-
-
-    TEMPLATE        = lib
-    TARGET          = qwt_designer_plugin
-
-    DESTDIR         = plugins/designer
-
-    INCLUDEPATH    += $${QWT_ROOT}/src 
-    DEPENDPATH     += $${QWT_ROOT}/src 
-
-    contains(QWT_CONFIG, QwtDll) {
-
-        contains(QWT_CONFIG, QwtDesignerSelfContained) {
-            QWT_CONFIG += include_src
-        }
-
-    } else {
-
-        # for linking against a static library the 
-        # plugin will be self contained anyway 
-    }
-
-    contains(QWT_CONFIG, include_src) {
-
-        # compile all qwt classes into the plugin
-
-        include ( $${QWT_ROOT}/src/src.pri )
-
-        for( header, HEADERS) {
-            QWT_HEADERS += $${QWT_ROOT}/src/$${header}
-        }
-
-        for( source, SOURCES ) {
-            QWT_SOURCES += $${QWT_ROOT}/src/$${source}
-        }
-
-        HEADERS = $${QWT_HEADERS}
-        SOURCES = $${QWT_SOURCES}
-
-    } else {
-
-        # compile the path for finding the Qwt library
-        # into the plugin. Not supported on Windows !
-
-        QMAKE_RPATHDIR *= $${QWT_INSTALL_LIBS}
-        qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt)
-
-        contains(QWT_CONFIG, QwtDll) {
-
-            win32 {
-                DEFINES += QT_DLL QWT_DLL
-            }
-        }
-    }
-
-    !contains(QWT_CONFIG, QwtPlot) {
-        DEFINES += NO_QWT_PLOT
-    }
-
-    !contains(QWT_CONFIG, QwtWidgets) {
-        DEFINES += NO_QWT_WIDGETS
-    }
-
-    HEADERS += qwt_designer_plugin.h
-    SOURCES += qwt_designer_plugin.cpp
-
-    contains(QWT_CONFIG, QwtPlot) {
-
-        HEADERS += qwt_designer_plotdialog.h
-        SOURCES += qwt_designer_plotdialog.cpp
-    }
-
-    RESOURCES += qwt_designer_plugin.qrc
-
-    target.path = $${QWT_INSTALL_PLUGINS}
-    INSTALLS += target
-}
-else {
-    TEMPLATE        = subdirs # do nothing
-}
diff --git a/SRC/Qwt/designer/pixmaps/qwtanalogclock.png b/SRC/Qwt/designer/pixmaps/qwtanalogclock.png
deleted file mode 100644
index 89f3451..0000000
Binary files a/SRC/Qwt/designer/pixmaps/qwtanalogclock.png and /dev/null differ
diff --git a/SRC/Qwt/designer/pixmaps/qwtcompass.png b/SRC/Qwt/designer/pixmaps/qwtcompass.png
deleted file mode 100644
index e1e54a1..0000000
Binary files a/SRC/Qwt/designer/pixmaps/qwtcompass.png and /dev/null differ
diff --git a/SRC/Qwt/designer/pixmaps/qwtcounter.png b/SRC/Qwt/designer/pixmaps/qwtcounter.png
deleted file mode 100644
index 1daddb6..0000000
Binary files a/SRC/Qwt/designer/pixmaps/qwtcounter.png and /dev/null differ
diff --git a/SRC/Qwt/designer/pixmaps/qwtdial.png b/SRC/Qwt/designer/pixmaps/qwtdial.png
deleted file mode 100644
index 46f079c..0000000
Binary files a/SRC/Qwt/designer/pixmaps/qwtdial.png and /dev/null differ
diff --git a/SRC/Qwt/designer/pixmaps/qwtknob.png b/SRC/Qwt/designer/pixmaps/qwtknob.png
deleted file mode 100644
index 2118dfa..0000000
Binary files a/SRC/Qwt/designer/pixmaps/qwtknob.png and /dev/null differ
diff --git a/SRC/Qwt/designer/pixmaps/qwtplot.png b/SRC/Qwt/designer/pixmaps/qwtplot.png
deleted file mode 100644
index 8e1ca4e..0000000
Binary files a/SRC/Qwt/designer/pixmaps/qwtplot.png and /dev/null differ
diff --git a/SRC/Qwt/designer/pixmaps/qwtscale.png b/SRC/Qwt/designer/pixmaps/qwtscale.png
deleted file mode 100644
index 00a1421..0000000
Binary files a/SRC/Qwt/designer/pixmaps/qwtscale.png and /dev/null differ
diff --git a/SRC/Qwt/designer/pixmaps/qwtslider.png b/SRC/Qwt/designer/pixmaps/qwtslider.png
deleted file mode 100644
index 8e9316c..0000000
Binary files a/SRC/Qwt/designer/pixmaps/qwtslider.png and /dev/null differ
diff --git a/SRC/Qwt/designer/pixmaps/qwtthermo.png b/SRC/Qwt/designer/pixmaps/qwtthermo.png
deleted file mode 100644
index 3b2bd50..0000000
Binary files a/SRC/Qwt/designer/pixmaps/qwtthermo.png and /dev/null differ
diff --git a/SRC/Qwt/designer/pixmaps/qwtwheel.png b/SRC/Qwt/designer/pixmaps/qwtwheel.png
deleted file mode 100644
index c1f562c..0000000
Binary files a/SRC/Qwt/designer/pixmaps/qwtwheel.png and /dev/null differ
diff --git a/SRC/Qwt/designer/pixmaps/qwtwidget.png b/SRC/Qwt/designer/pixmaps/qwtwidget.png
deleted file mode 100644
index cf72b75..0000000
Binary files a/SRC/Qwt/designer/pixmaps/qwtwidget.png and /dev/null differ
diff --git a/SRC/Qwt/designer/qwt_designer_plotdialog.cpp b/SRC/Qwt/designer/qwt_designer_plotdialog.cpp
deleted file mode 100644
index 62f8435..0000000
--- a/SRC/Qwt/designer/qwt_designer_plotdialog.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include <QLineEdit>
-#include <QTabWidget>
-#include <QHBoxLayout>
-#include <QPushButton>
-#include "qwt_designer_plotdialog.h"
-
-using namespace QwtDesignerPlugin;
-
-PlotDialog::PlotDialog( const QString &properties, QWidget *parent ):
-    QDialog( parent )
-{
-    setWindowTitle( "Plot Properties" );
-
-    QLineEdit *lineEdit = new QLineEdit( properties );
-    connect( lineEdit, SIGNAL( textChanged( const QString & ) ),
-        SIGNAL( edited( const QString & ) ) );
-
-    QTabWidget *tabWidget = new QTabWidget( this );
-    tabWidget->addTab( lineEdit, "General" );
-
-    QPushButton *closeButton = new QPushButton( "Close" );
-    connect( closeButton, SIGNAL( clicked() ), this, SLOT( accept() ) );
-
-    QHBoxLayout *buttonLayout = new QHBoxLayout;
-    buttonLayout->addStretch( 1 );
-    buttonLayout->addWidget( closeButton );
-
-    QVBoxLayout *mainLayout = new QVBoxLayout;
-    mainLayout->addWidget( tabWidget );
-    mainLayout->addLayout( buttonLayout );
-    setLayout( mainLayout );
-}
-
diff --git a/SRC/Qwt/designer/qwt_designer_plotdialog.h b/SRC/Qwt/designer/qwt_designer_plotdialog.h
deleted file mode 100644
index a69acf1..0000000
--- a/SRC/Qwt/designer/qwt_designer_plotdialog.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_DESIGNER_PLOTDIALOG_H
-#define QWT_DESIGNER_PLOTDIALOG_H
-
-#include <QDialog>
-
-namespace QwtDesignerPlugin
-{
-
-    class PlotDialog: public QDialog
-    {
-        Q_OBJECT
-
-    public:
-        PlotDialog( const QString &properties, QWidget *parent = NULL );
-
-    Q_SIGNALS:
-        void edited( const QString& );
-    };
-
-}
-
-#endif
diff --git a/SRC/Qwt/designer/qwt_designer_plugin.cpp b/SRC/Qwt/designer/qwt_designer_plugin.cpp
deleted file mode 100644
index 35ac8f5..0000000
--- a/SRC/Qwt/designer/qwt_designer_plugin.cpp
+++ /dev/null
@@ -1,570 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#if defined(_MSC_VER) /* MSVC Compiler */
-#pragma warning ( disable : 4786 )
-#endif
-
-#include <qglobal.h>
-#include <qaction.h>
-#include <QtPlugin>
-#include <QDesignerFormEditorInterface>
-#include <QDesignerFormWindowInterface>
-#include <QDesignerFormWindowCursorInterface>
-#include <QExtensionManager>
-#include <QErrorMessage>
-
-#include "qwt_designer_plugin.h"
-
-#ifndef NO_QWT_PLOT
-#include "qwt_designer_plotdialog.h"
-#include "qwt_plot.h"
-#include "qwt_plot_canvas.h"
-#include "qwt_scale_widget.h"
-#endif
-
-#ifndef NO_QWT_WIDGETS
-#include "qwt_counter.h"
-#include "qwt_wheel.h"
-#include "qwt_thermo.h"
-#include "qwt_knob.h"
-#include "qwt_slider.h"
-#include "qwt_dial.h"
-#include "qwt_dial_needle.h"
-#include "qwt_analog_clock.h"
-#include "qwt_compass.h"
-#endif
-
-#include "qwt_text_label.h"
-
-using namespace QwtDesignerPlugin;
-
-CustomWidgetInterface::CustomWidgetInterface( QObject *parent ):
-    QObject( parent ),
-    d_isInitialized( false )
-{
-}
-
-bool CustomWidgetInterface::isContainer() const
-{
-    return false;
-}
-
-bool CustomWidgetInterface::isInitialized() const
-{
-    return d_isInitialized;
-}
-
-QIcon CustomWidgetInterface::icon() const
-{
-    return d_icon;
-}
-
-QString CustomWidgetInterface::codeTemplate() const
-{
-    return d_codeTemplate;
-}
-
-QString CustomWidgetInterface::domXml() const
-{
-    return d_domXml;
-}
-
-QString CustomWidgetInterface::group() const
-{
-    return "Qwt Widgets";
-}
-
-QString CustomWidgetInterface::includeFile() const
-{
-    return d_include;
-}
-
-QString CustomWidgetInterface::name() const
-{
-    return d_name;
-}
-
-QString CustomWidgetInterface::toolTip() const
-{
-    return d_toolTip;
-}
-
-QString CustomWidgetInterface::whatsThis() const
-{
-    return d_whatsThis;
-}
-
-void CustomWidgetInterface::initialize(
-    QDesignerFormEditorInterface *formEditor )
-{
-    if ( d_isInitialized )
-        return;
-
-    QExtensionManager *manager = formEditor->extensionManager();
-    if ( manager )
-    {
-        manager->registerExtensions( new TaskMenuFactory( manager ),
-            Q_TYPEID( QDesignerTaskMenuExtension ) );
-    }
-
-    d_isInitialized = true;
-}
-
-#ifndef NO_QWT_PLOT
-
-PlotInterface::PlotInterface( QObject *parent ):
-    CustomWidgetInterface( parent )
-{
-    d_name = "QwtPlot";
-    d_include = "qwt_plot.h";
-    d_icon = QPixmap( ":/pixmaps/qwtplot.png" );
-    d_domXml =
-        "<widget class=\"QwtPlot\" name=\"qwtPlot\">\n"
-        " <property name=\"geometry\">\n"
-        "  <rect>\n"
-        "   <x>0</x>\n"
-        "   <y>0</y>\n"
-        "   <width>400</width>\n"
-        "   <height>200</height>\n"
-        "  </rect>\n"
-        " </property>\n"
-        "</widget>\n";
-}
-
-QWidget *PlotInterface::createWidget( QWidget *parent )
-{
-    return new QwtPlot( parent );
-}
-
-
-PlotCanvasInterface::PlotCanvasInterface( QObject *parent ):
-    CustomWidgetInterface( parent )
-{
-    d_name = "QwtPlotCanvas";
-    d_include = "qwt_plot_canvas.h";
-    d_icon = QPixmap( ":/pixmaps/qwtplot.png" );
-    d_domXml =
-        "<widget class=\"QwtPlotCanvas\" name=\"qwtPlotCanvas\">\n"
-        " <property name=\"geometry\">\n"
-        "  <rect>\n"
-        "   <x>0</x>\n"
-        "   <y>0</y>\n"
-        "   <width>400</width>\n"
-        "   <height>200</height>\n"
-        "  </rect>\n"
-        " </property>\n"
-        "</widget>\n";
-}
-
-QWidget *PlotCanvasInterface::createWidget( QWidget *parent )
-{
-    return new QwtPlotCanvas( qobject_cast<QwtPlot *>( parent ) );
-}
-
-#endif
-
-#ifndef NO_QWT_WIDGETS
-
-AnalogClockInterface::AnalogClockInterface( QObject *parent ):
-    CustomWidgetInterface( parent )
-{
-    d_name = "QwtAnalogClock";
-    d_include = "qwt_analog_clock.h";
-    d_icon = QPixmap( ":/pixmaps/qwtanalogclock.png" );
-    d_domXml =
-        "<widget class=\"QwtAnalogClock\" name=\"AnalogClock\">\n"
-        " <property name=\"geometry\">\n"
-        "  <rect>\n"
-        "   <x>0</x>\n"
-        "   <y>0</y>\n"
-        "   <width>200</width>\n"
-        "   <height>200</height>\n"
-        "  </rect>\n"
-        " </property>\n"
-        " <property name=\"lineWidth\">\n"
-        "  <number>4</number>\n"
-        " </property>\n"
-        "</widget>\n";
-}
-
-QWidget *AnalogClockInterface::createWidget( QWidget *parent )
-{
-    return new QwtAnalogClock( parent );
-}
-
-#endif
-
-#ifndef NO_QWT_WIDGETS
-
-CompassInterface::CompassInterface( QObject *parent ):
-    CustomWidgetInterface( parent )
-{
-    d_name = "QwtCompass";
-    d_include = "qwt_compass.h";
-    d_icon = QPixmap( ":/pixmaps/qwtcompass.png" );
-    d_domXml =
-        "<widget class=\"QwtCompass\" name=\"Compass\">\n"
-        " <property name=\"geometry\">\n"
-        "  <rect>\n"
-        "   <x>0</x>\n"
-        "   <y>0</y>\n"
-        "   <width>200</width>\n"
-        "   <height>200</height>\n"
-        "  </rect>\n"
-        " </property>\n"
-        " <property name=\"lineWidth\">\n"
-        "  <number>4</number>\n"
-        " </property>\n"
-        "</widget>\n";
-}
-
-QWidget *CompassInterface::createWidget( QWidget *parent )
-{
-    QwtCompass *compass = new QwtCompass( parent );
-    compass->setNeedle( new QwtCompassMagnetNeedle(
-        QwtCompassMagnetNeedle::TriangleStyle, 
-        compass->palette().color( QPalette::Mid ),
-        compass->palette().color( QPalette::Dark ) ) );
-
-    return compass;
-}
-
-#endif
-
-#ifndef NO_QWT_WIDGETS
-
-CounterInterface::CounterInterface( QObject *parent ):
-    CustomWidgetInterface( parent )
-{
-    d_name = "QwtCounter";
-    d_include = "qwt_counter.h";
-    d_icon = QPixmap( ":/pixmaps/qwtcounter.png" );
-    d_domXml =
-        "<widget class=\"QwtCounter\" name=\"Counter\">\n"
-        "</widget>\n";
-}
-
-QWidget *CounterInterface::createWidget( QWidget *parent )
-{
-    return new QwtCounter( parent );
-}
-
-#endif
-
-#ifndef NO_QWT_WIDGETS
-
-DialInterface::DialInterface( QObject *parent ):
-    CustomWidgetInterface( parent )
-{
-    d_name = "QwtDial";
-    d_include = "qwt_dial.h";
-    d_icon = QPixmap( ":/pixmaps/qwtdial.png" );
-    d_domXml =
-        "<widget class=\"QwtDial\" name=\"Dial\">\n"
-        " <property name=\"geometry\">\n"
-        "  <rect>\n"
-        "   <x>0</x>\n"
-        "   <y>0</y>\n"
-        "   <width>200</width>\n"
-        "   <height>200</height>\n"
-        "  </rect>\n"
-        " </property>\n"
-        " <property name=\"lineWidth\">\n"
-        "  <number>4</number>\n"
-        " </property>\n"
-        "</widget>\n";
-}
-
-QWidget *DialInterface::createWidget( QWidget *parent )
-{
-    QwtDial *dial = new QwtDial( parent );
-    dial->setNeedle( new QwtDialSimpleNeedle(
-        QwtDialSimpleNeedle::Arrow, true, 
-        dial->palette().color( QPalette::Dark ),
-        dial->palette().color( QPalette::Mid ) ) );
-
-    return dial;
-}
-
-#endif
-
-#ifndef NO_QWT_WIDGETS
-
-KnobInterface::KnobInterface( QObject *parent ):
-    CustomWidgetInterface( parent )
-{
-    d_name = "QwtKnob";
-    d_include = "qwt_knob.h";
-    d_icon = QPixmap( ":/pixmaps/qwtknob.png" );
-    d_domXml =
-        "<widget class=\"QwtKnob\" name=\"Knob\">\n"
-        " <property name=\"geometry\">\n"
-        "  <rect>\n"
-        "   <x>0</x>\n"
-        "   <y>0</y>\n"
-        "   <width>150</width>\n"
-        "   <height>150</height>\n"
-        "  </rect>\n"
-        " </property>\n"
-        "</widget>\n";
-}
-
-QWidget *KnobInterface::createWidget( QWidget *parent )
-{
-    return new QwtKnob( parent );
-}
-
-#endif
-
-#ifndef NO_QWT_PLOT
-
-ScaleWidgetInterface::ScaleWidgetInterface( QObject *parent ):
-    CustomWidgetInterface( parent )
-{
-    d_name = "QwtScaleWidget";
-    d_include = "qwt_scale_widget.h";
-    d_icon = QPixmap( ":/pixmaps/qwtscale.png" );
-    d_domXml =
-        "<widget class=\"QwtScaleWidget\" name=\"ScaleWidget\">\n"
-        " <property name=\"geometry\">\n"
-        "  <rect>\n"
-        "   <x>0</x>\n"
-        "   <y>0</y>\n"
-        "   <width>60</width>\n"
-        "   <height>250</height>\n"
-        "  </rect>\n"
-        " </property>\n"
-        "</widget>\n";
-}
-
-QWidget *ScaleWidgetInterface::createWidget( QWidget *parent )
-{
-    return new QwtScaleWidget( QwtScaleDraw::LeftScale, parent );
-}
-
-#endif
-
-#ifndef NO_QWT_WIDGETS
-
-SliderInterface::SliderInterface( QObject *parent ):
-    CustomWidgetInterface( parent )
-{
-    d_name = "QwtSlider";
-    d_include = "qwt_slider.h";
-    d_icon = QPixmap( ":/pixmaps/qwtslider.png" );
-    d_domXml =
-        "<widget class=\"QwtSlider\" name=\"Slider\">\n"
-        " <property name=\"geometry\">\n"
-        "  <rect>\n"
-        "   <x>0</x>\n"
-        "   <y>0</y>\n"
-        "   <width>60</width>\n"
-        "   <height>250</height>\n"
-        "  </rect>\n"
-        " </property>\n"
-        "</widget>\n";
-}
-
-QWidget *SliderInterface::createWidget( QWidget *parent )
-{
-    return new QwtSlider( parent );
-}
-
-#endif
-
-TextLabelInterface::TextLabelInterface( QObject *parent ):
-    CustomWidgetInterface( parent )
-{
-    d_name = "QwtTextLabel";
-    d_include = "qwt_text_label.h";
-
-    d_icon = QPixmap( ":/pixmaps/qwtwidget.png" );
-    d_domXml =
-        "<widget class=\"QwtTextLabel\" name=\"TextLabel\">\n"
-        " <property name=\"geometry\">\n"
-        "  <rect>\n"
-        "   <x>0</x>\n"
-        "   <y>0</y>\n"
-        "   <width>100</width>\n"
-        "   <height>20</height>\n"
-        "  </rect>\n"
-        " </property>\n"
-        "</widget>\n";
-}
-
-QWidget *TextLabelInterface::createWidget( QWidget *parent )
-{
-    return new QwtTextLabel( QwtText( "Label" ), parent );
-}
-
-#ifndef NO_QWT_WIDGETS
-
-ThermoInterface::ThermoInterface( QObject *parent ):
-    CustomWidgetInterface( parent )
-{
-    d_name = "QwtThermo";
-    d_include = "qwt_thermo.h";
-    d_icon = QPixmap( ":/pixmaps/qwtthermo.png" );
-    d_domXml =
-        "<widget class=\"QwtThermo\" name=\"Thermo\">\n"
-        " <property name=\"geometry\">\n"
-        "  <rect>\n"
-        "   <x>0</x>\n"
-        "   <y>0</y>\n"
-        "   <width>60</width>\n"
-        "   <height>250</height>\n"
-        "  </rect>\n"
-        " </property>\n"
-        "</widget>\n";
-}
-
-QWidget *ThermoInterface::createWidget( QWidget *parent )
-{
-    return new QwtThermo( parent );
-}
-
-#endif
-
-#ifndef NO_QWT_WIDGETS
-
-WheelInterface::WheelInterface( QObject *parent ):
-    CustomWidgetInterface( parent )
-{
-    d_name = "QwtWheel";
-    d_include = "qwt_wheel.h";
-    d_icon = QPixmap( ":/pixmaps/qwtwheel.png" );
-    d_domXml =
-        "<widget class=\"QwtWheel\" name=\"Wheel\">\n"
-        "</widget>\n";
-}
-
-QWidget *WheelInterface::createWidget( QWidget *parent )
-{
-    return new QwtWheel( parent );
-}
-
-#endif
-
-CustomWidgetCollectionInterface::CustomWidgetCollectionInterface(
-        QObject *parent ):
-    QObject( parent )
-{
-#ifndef NO_QWT_PLOT
-    d_plugins.append( new PlotInterface( this ) );
-
-#if 0
-    // better not: the designer crashes TODO ..
-    d_plugins.append( new PlotCanvasInterface( this ) );
-#endif
-
-    d_plugins.append( new ScaleWidgetInterface( this ) );
-#endif
-
-#ifndef NO_QWT_WIDGETS
-    d_plugins.append( new AnalogClockInterface( this ) );
-    d_plugins.append( new CompassInterface( this ) );
-    d_plugins.append( new CounterInterface( this ) );
-    d_plugins.append( new DialInterface( this ) );
-    d_plugins.append( new KnobInterface( this ) );
-    d_plugins.append( new SliderInterface( this ) );
-    d_plugins.append( new ThermoInterface( this ) );
-    d_plugins.append( new WheelInterface( this ) );
-#endif
-
-    d_plugins.append( new TextLabelInterface( this ) );
-}
-
-QList<QDesignerCustomWidgetInterface*>
-CustomWidgetCollectionInterface::customWidgets( void ) const
-{
-    return d_plugins;
-}
-
-TaskMenuFactory::TaskMenuFactory( QExtensionManager *parent ):
-    QExtensionFactory( parent )
-{
-}
-
-QObject *TaskMenuFactory::createExtension(
-    QObject *object, const QString &iid, QObject *parent ) const
-{
-    if ( iid == Q_TYPEID( QDesignerTaskMenuExtension ) )
-    {
-#ifndef NO_QWT_PLOT
-        if ( QwtPlot *plot = qobject_cast<QwtPlot*>( object ) )
-            return new TaskMenuExtension( plot, parent );
-#endif
-#ifndef NO_QWT_WIDGETS
-        if ( QwtDial *dial = qobject_cast<QwtDial*>( object ) )
-            return new TaskMenuExtension( dial, parent );
-#endif
-    }
-
-    return QExtensionFactory::createExtension( object, iid, parent );
-}
-
-
-TaskMenuExtension::TaskMenuExtension( QWidget *widget, QObject *parent ):
-    QObject( parent ),
-    d_widget( widget )
-{
-    d_editAction = new QAction( tr( "Edit Qwt Attributes ..." ), this );
-    connect( d_editAction, SIGNAL( triggered() ),
-        this, SLOT( editProperties() ) );
-}
-
-QList<QAction *> TaskMenuExtension::taskActions() const
-{
-    QList<QAction *> list;
-    list.append( d_editAction );
-    return list;
-}
-
-QAction *TaskMenuExtension::preferredEditAction() const
-{
-    return d_editAction;
-}
-
-void TaskMenuExtension::editProperties()
-{
-    const QVariant v = d_widget->property( "propertiesDocument" );
-    if ( v.type() != QVariant::String )
-        return;
-
-#ifndef NO_QWT_PLOT
-    QString properties = v.toString();
-
-    if ( qobject_cast<QwtPlot*>( d_widget ) )
-    {
-        PlotDialog dialog( properties );
-        connect( &dialog, SIGNAL( edited( const QString& ) ),
-            SLOT( applyProperties( const QString & ) ) );
-        ( void )dialog.exec();
-        return;
-    }
-#endif
-
-    static QErrorMessage *errorMessage = NULL;
-    if ( errorMessage == NULL )
-        errorMessage = new QErrorMessage();
-    errorMessage->showMessage( "Not implemented yet." );
-}
-
-void TaskMenuExtension::applyProperties( const QString &properties )
-{
-    QDesignerFormWindowInterface *formWindow =
-        QDesignerFormWindowInterface::findFormWindow( d_widget );
-    if ( formWindow && formWindow->cursor() )
-        formWindow->cursor()->setProperty( "propertiesDocument", properties );
-}
-
-#if QT_VERSION < 0x050000
-Q_EXPORT_PLUGIN2( QwtDesignerPlugin, CustomWidgetCollectionInterface )
-#endif
diff --git a/SRC/Qwt/designer/qwt_designer_plugin.h b/SRC/Qwt/designer/qwt_designer_plugin.h
deleted file mode 100644
index 980a82f..0000000
--- a/SRC/Qwt/designer/qwt_designer_plugin.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_DESIGNER_PLUGIN_H
-#define QWT_DESIGNER_PLUGIN_H
-
-#include <QDesignerCustomWidgetInterface>
-#include <QDesignerTaskMenuExtension>
-#include <QExtensionFactory>
-
-namespace QwtDesignerPlugin
-{
-    class CustomWidgetInterface: public QObject,
-        public QDesignerCustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        CustomWidgetInterface( QObject *parent );
-
-        virtual bool isContainer() const;
-        virtual bool isInitialized() const;
-        virtual QIcon icon() const;
-        virtual QString codeTemplate() const;
-        virtual QString domXml() const;
-        virtual QString group() const;
-        virtual QString includeFile() const;
-        virtual QString name() const;
-        virtual QString toolTip() const;
-        virtual QString whatsThis() const;
-        virtual void initialize( QDesignerFormEditorInterface * );
-
-    protected:
-        QString d_name;
-        QString d_include;
-        QString d_toolTip;
-        QString d_whatsThis;
-        QString d_domXml;
-        QString d_codeTemplate;
-        QIcon d_icon;
-
-    private:
-        bool d_isInitialized;
-    };
-
-    class CustomWidgetCollectionInterface: public QObject,
-        public QDesignerCustomWidgetCollectionInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetCollectionInterface )
-
-#if QT_VERSION >= 0x050000
-        Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDesignerCustomWidgetCollectionInterface" )
-#endif
-
-
-    public:
-        CustomWidgetCollectionInterface( QObject *parent = NULL );
-
-        virtual QList<QDesignerCustomWidgetInterface*> customWidgets() const;
-
-    private:
-        QList<QDesignerCustomWidgetInterface*> d_plugins;
-    };
-
-#ifndef NO_QWT_PLOT
-    class PlotInterface: public CustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        PlotInterface( QObject *parent );
-        virtual QWidget *createWidget( QWidget *parent );
-    };
-
-    class PlotCanvasInterface: public CustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        PlotCanvasInterface( QObject *parent );
-        virtual QWidget *createWidget( QWidget *parent );
-    };
-#endif
-
-#ifndef NO_QWT_WIDGETS
-    class AnalogClockInterface: public CustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        AnalogClockInterface( QObject *parent );
-        virtual QWidget *createWidget( QWidget *parent );
-    };
-#endif
-
-#ifndef NO_QWT_WIDGETS
-    class CompassInterface: public CustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        CompassInterface( QObject *parent );
-        virtual QWidget *createWidget( QWidget *parent );
-    };
-#endif
-
-#ifndef NO_QWT_WIDGETS
-    class CounterInterface: public CustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        CounterInterface( QObject *parent );
-        virtual QWidget *createWidget( QWidget *parent );
-    };
-#endif
-
-#ifndef NO_QWT_WIDGETS
-    class DialInterface: public CustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        DialInterface( QObject *parent );
-        virtual QWidget *createWidget( QWidget *parent );
-    };
-#endif
-
-#ifndef NO_QWT_WIDGETS
-    class KnobInterface: public CustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        KnobInterface( QObject *parent );
-        virtual QWidget *createWidget( QWidget *parent );
-    };
-#endif
-
-#ifndef NO_QWT_PLOT
-    class ScaleWidgetInterface: public CustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        ScaleWidgetInterface( QObject *parent );
-        virtual QWidget *createWidget( QWidget *parent );
-    };
-#endif
-
-#ifndef NO_QWT_WIDGETS
-    class SliderInterface: public CustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        SliderInterface( QObject *parent );
-        virtual QWidget *createWidget( QWidget *parent );
-    };
-#endif
-
-    class TextLabelInterface: public CustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        TextLabelInterface( QObject *parent );
-        virtual QWidget *createWidget( QWidget *parent );
-    };
-
-#ifndef NO_QWT_WIDGETS
-    class ThermoInterface: public CustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        ThermoInterface( QObject *parent );
-        virtual QWidget *createWidget( QWidget *parent );
-    };
-#endif
-
-#ifndef NO_QWT_WIDGETS
-    class WheelInterface: public CustomWidgetInterface
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerCustomWidgetInterface )
-
-    public:
-        WheelInterface( QObject *parent );
-        virtual QWidget *createWidget( QWidget *parent );
-    };
-#endif
-
-    class TaskMenuFactory: public QExtensionFactory
-    {
-        Q_OBJECT
-
-    public:
-        TaskMenuFactory( QExtensionManager *parent = 0 );
-
-    protected:
-        QObject *createExtension( QObject *object,
-            const QString &iid, QObject *parent ) const;
-    };
-
-    class TaskMenuExtension: public QObject,
-        public QDesignerTaskMenuExtension
-    {
-        Q_OBJECT
-        Q_INTERFACES( QDesignerTaskMenuExtension )
-
-    public:
-        TaskMenuExtension( QWidget *widget, QObject *parent );
-
-        QAction *preferredEditAction() const;
-        QList<QAction *> taskActions() const;
-
-    private Q_SLOTS:
-        void editProperties();
-        void applyProperties( const QString & );
-
-    private:
-        QAction *d_editAction;
-        QWidget *d_widget;
-    };
-
-};
-
-#endif
diff --git a/SRC/Qwt/designer/qwt_designer_plugin.qrc b/SRC/Qwt/designer/qwt_designer_plugin.qrc
deleted file mode 100644
index 01e4ffc..0000000
--- a/SRC/Qwt/designer/qwt_designer_plugin.qrc
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-    <qresource>
-        <file>pixmaps/qwtplot.png</file>
-        <file>pixmaps/qwtanalogclock.png</file>
-        <file>pixmaps/qwtcounter.png</file>
-        <file>pixmaps/qwtcompass.png</file>
-        <file>pixmaps/qwtdial.png</file>
-        <file>pixmaps/qwtknob.png</file>
-        <file>pixmaps/qwtscale.png</file>
-        <file>pixmaps/qwtslider.png</file>
-        <file>pixmaps/qwtthermo.png</file>
-        <file>pixmaps/qwtwheel.png</file>
-        <file>pixmaps/qwtwidget.png</file>
-    </qresource>
-</RCC>
diff --git a/SRC/Qwt/src/qwt.h b/SRC/Qwt/src/qwt.h
deleted file mode 100644
index 4936d9a..0000000
--- a/SRC/Qwt/src/qwt.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_H
-#define QWT_H
-
-#include "qwt_global.h"
-
-/*!
-  Some constants for use within Qwt.
-*/
-namespace Qwt
-{
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_abstract_legend.cpp b/SRC/Qwt/src/qwt_abstract_legend.cpp
deleted file mode 100644
index 7f49648..0000000
--- a/SRC/Qwt/src/qwt_abstract_legend.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_abstract_legend.h"
-
-/*!
-  Constructor
-
-  \param parent Parent widget
-*/
-QwtAbstractLegend::QwtAbstractLegend( QWidget *parent ):
-    QFrame( parent )
-{
-}
-
-//! Destructor
-QwtAbstractLegend::~QwtAbstractLegend()
-{
-}
-
-/*!
-   Return the extent, that is needed for elements to scroll
-   the legend ( usually scrollbars ),
-
-   \param orientation Orientation
-   \return Extent of the corresponding scroll element
-*/
-int QwtAbstractLegend::scrollExtent( Qt::Orientation orientation ) const
-{
-    Q_UNUSED( orientation );
-    return 0;
-}
diff --git a/SRC/Qwt/src/qwt_abstract_legend.h b/SRC/Qwt/src/qwt_abstract_legend.h
deleted file mode 100644
index a17f360..0000000
--- a/SRC/Qwt/src/qwt_abstract_legend.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_ABSTRACT_LEGEND_H
-#define QWT_ABSTRACT_LEGEND_H
-
-#include "qwt_global.h"
-#include "qwt_legend_data.h"
-#include <qframe.h>
-#include <qlist.h>
-
-class QVariant;
-
-/*!
-  \brief Abstract base class for legend widgets
-
-  Legends, that need to be under control of the QwtPlot layout system
-  need to be derived from QwtAbstractLegend. 
-
-  \note Other type of legends can be implemented by connecting to
-        the QwtPlot::legendDataChanged() signal. But as these legends
-        are unknown to the plot layout system the layout code
-        ( on screen and for QwtPlotRenderer ) need to be organized
-        in application code.
-
-  \sa QwtLegend
- */
-class QWT_EXPORT QwtAbstractLegend : public QFrame
-{
-    Q_OBJECT
-
-public:
-    explicit QwtAbstractLegend( QWidget *parent = NULL );
-    virtual ~QwtAbstractLegend();
-
-    /*!
-      Render the legend into a given rectangle.
-
-      \param painter Painter
-      \param rect Bounding rectangle
-      \param fillBackground When true, fill rect with the widget background 
-
-      \sa renderLegend() is used by QwtPlotRenderer
-    */
-    virtual void renderLegend( QPainter *painter, 
-        const QRectF &rect, bool fillBackground ) const = 0;
-
-    //! \return True, when no plot item is inserted
-    virtual bool isEmpty() const = 0;
-
-    virtual int scrollExtent( Qt::Orientation ) const;
-
-public Q_SLOTS:
-
-    /*!
-      \brief Update the entries for a plot item
-
-      \param itemInfo Info about an item
-      \param data List of legend entry attributes for the  item
-     */
-    virtual void updateLegend( const QVariant &itemInfo, 
-        const QList<QwtLegendData> &data ) = 0;
-};
-
-#endif 
diff --git a/SRC/Qwt/src/qwt_abstract_scale.cpp b/SRC/Qwt/src/qwt_abstract_scale.cpp
deleted file mode 100644
index 4eaf62a..0000000
--- a/SRC/Qwt/src/qwt_abstract_scale.cpp
+++ /dev/null
@@ -1,449 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_abstract_scale.h"
-#include "qwt_scale_engine.h"
-#include "qwt_scale_draw.h"
-#include "qwt_scale_div.h"
-#include "qwt_scale_map.h"
-#include "qwt_interval.h"
-
-class QwtAbstractScale::PrivateData
-{
-public:
-    PrivateData():
-        maxMajor( 5 ),
-        maxMinor( 3 ),
-        stepSize( 0.0 )
-    {
-        scaleEngine = new QwtLinearScaleEngine();
-        scaleDraw = new QwtScaleDraw();
-    }
-
-    ~PrivateData()
-    {
-        delete scaleEngine;
-        delete scaleDraw;
-    }
-
-    QwtScaleEngine *scaleEngine;
-    QwtAbstractScaleDraw *scaleDraw;
-
-    int maxMajor;
-    int maxMinor;
-    double stepSize;
-};
-
-/*!
-  Constructor
-
-  \param parent Parent widget
-
-  Creates a default QwtScaleDraw and a QwtLinearScaleEngine.
-  The initial scale boundaries are set to [ 0.0, 100.0 ]
-
-  The scaleStepSize() is initialized to 0.0, scaleMaxMajor() to 5
-  and scaleMaxMajor to 3.
-*/
-
-QwtAbstractScale::QwtAbstractScale( QWidget *parent ):
-    QWidget( parent )
-{
-    d_data = new PrivateData;
-    rescale( 0.0, 100.0, d_data->stepSize );
-}
-
-//! Destructor
-QwtAbstractScale::~QwtAbstractScale()
-{
-    delete d_data;
-}
-
-/*!
-  Set the lower bound of the scale
-
-  \param value Lower bound
-
-  \sa lowerBound(), setScale(), setUpperBound()
-  \note For inverted scales the lower bound 
-        is greater than the upper bound
-*/
-void QwtAbstractScale::setLowerBound( double value )
-{
-    setScale( value, upperBound() );
-}
-
-/*!
-  \return Lower bound of the scale
-  \sa setLowerBound(), setScale(), upperBound()
-*/
-double QwtAbstractScale::lowerBound() const
-{
-    return d_data->scaleDraw->scaleDiv().lowerBound();
-}
-
-/*!
-  Set the upper bound of the scale
-
-  \param value Upper bound
-
-  \sa upperBound(), setScale(), setLowerBound()
-  \note For inverted scales the lower bound 
-        is greater than the upper bound
-*/
-void QwtAbstractScale::setUpperBound( double value )
-{
-    setScale( lowerBound(), value );
-}
-
-/*!
-  \return Upper bound of the scale
-  \sa setUpperBound(), setScale(), lowerBound()
-*/
-double QwtAbstractScale::upperBound() const
-{
-    return d_data->scaleDraw->scaleDiv().upperBound();
-}
-
-/*!
-  \brief Specify a scale.
-
-  Define a scale by an interval 
-
-  The ticks are calculated using scaleMaxMinor(), 
-  scaleMaxMajor() and scaleStepSize().
-
-  \param lowerBound lower limit of the scale interval
-  \param upperBound upper limit of the scale interval
-
-  \note For inverted scales the lower bound 
-        is greater than the upper bound
-*/
-void QwtAbstractScale::setScale( double lowerBound, double upperBound )
-{
-    rescale( lowerBound, upperBound, d_data->stepSize );
-}
-
-/*!
-  \brief Specify a scale.
-
-  Define a scale by an interval
-
-  The ticks are calculated using scaleMaxMinor(), 
-  scaleMaxMajor() and scaleStepSize().
-
-  \param interval Interval
-*/
-void QwtAbstractScale::setScale( const QwtInterval &interval )
-{
-    setScale( interval.minValue(), interval.maxValue() );
-}
-
-/*!
-  \brief Specify a scale.
-
-  scaleMaxMinor(), scaleMaxMajor() and scaleStepSize() and have no effect.
-
-  \param scaleDiv Scale division
-  \sa setAutoScale()
-*/
-void QwtAbstractScale::setScale( const QwtScaleDiv &scaleDiv )
-{
-    if ( scaleDiv != d_data->scaleDraw->scaleDiv() )
-    {
-#if 1
-        if ( d_data->scaleEngine )
-        {
-            d_data->scaleDraw->setTransformation(
-                d_data->scaleEngine->transformation() );
-        }
-#endif
-
-        d_data->scaleDraw->setScaleDiv( scaleDiv );
-
-        scaleChange();
-    }
-}
-
-/*!
-  \brief Set the maximum number of major tick intervals.
-
-  The scale's major ticks are calculated automatically such that
-  the number of major intervals does not exceed ticks.
-
-  The default value is 5.
-
-  \param ticks Maximal number of major ticks.
-
-  \sa scaleMaxMajor(), setScaleMaxMinor(),
-      setScaleStepSize(), QwtScaleEngine::divideInterval()
-*/
-void QwtAbstractScale::setScaleMaxMajor( int ticks )
-{
-    if ( ticks != d_data->maxMajor )
-    {
-        d_data->maxMajor = ticks;
-        updateScaleDraw();
-    }
-}
-
-/*!
-  \return Maximal number of major tick intervals
-  \sa setScaleMaxMajor(), scaleMaxMinor()
-*/
-int QwtAbstractScale::scaleMaxMajor() const
-{
-    return d_data->maxMajor;
-}
-
-/*!
-  \brief Set the maximum number of minor tick intervals
-
-  The scale's minor ticks are calculated automatically such that
-  the number of minor intervals does not exceed ticks.
-  The default value is 3.
-
-  \param ticks Maximal number of minor ticks.
-
-  \sa scaleMaxMajor(), setScaleMaxMinor(),
-      setScaleStepSize(), QwtScaleEngine::divideInterval()
-*/
-void QwtAbstractScale::setScaleMaxMinor( int ticks )
-{
-    if ( ticks != d_data->maxMinor )
-    {
-        d_data->maxMinor = ticks;
-        updateScaleDraw();
-    }
-}
-
-/*!
-  \return Maximal number of minor tick intervals
-  \sa setScaleMaxMinor(), scaleMaxMajor()
-*/
-int QwtAbstractScale::scaleMaxMinor() const
-{
-    return d_data->maxMinor;
-}
-
-/*!
-   \brief Set the step size used for calculating a scale division
-
-   The step size is hint for calculating the intervals for
-   the major ticks of the scale. A value of 0.0 is interpreted
-   as no hint.
-
-   \param stepSize Hint for the step size of the scale
-
-   \sa scaleStepSize(), QwtScaleEngine::divideScale()
-
-   \note Position and distance between the major ticks also
-         depends on scaleMaxMajor().
-*/
-void QwtAbstractScale::setScaleStepSize( double stepSize )
-{
-    if ( stepSize != d_data->stepSize )
-    {
-        d_data->stepSize = stepSize;
-        updateScaleDraw();
-    }
-}
-
-/*!
-  \return Hint for the step size of the scale
-  \sa setScaleStepSize(), QwtScaleEngine::divideScale()
-*/
-double QwtAbstractScale::scaleStepSize() const
-{
-    return d_data->stepSize;
-}
-
-/*!
-  \brief Set a scale draw
-
-  scaleDraw has to be created with new and will be deleted in
-  the destructor or the next call of setAbstractScaleDraw().
-
-  \sa abstractScaleDraw()
-*/
-void QwtAbstractScale::setAbstractScaleDraw( QwtAbstractScaleDraw *scaleDraw )
-{
-    if ( scaleDraw == NULL || scaleDraw == d_data->scaleDraw )
-        return;
-
-    if ( d_data->scaleDraw != NULL )
-        scaleDraw->setScaleDiv( d_data->scaleDraw->scaleDiv() );
-
-    delete d_data->scaleDraw;
-    d_data->scaleDraw = scaleDraw;
-}
-
-/*!
-    \return Scale draw
-    \sa setAbstractScaleDraw()
-*/
-QwtAbstractScaleDraw *QwtAbstractScale::abstractScaleDraw()
-{
-    return d_data->scaleDraw;
-}
-
-/*!
-    \return Scale draw
-    \sa setAbstractScaleDraw()
-*/
-const QwtAbstractScaleDraw *QwtAbstractScale::abstractScaleDraw() const
-{
-    return d_data->scaleDraw;
-}
-
-/*!
-  \brief Set a scale engine
-
-  The scale engine is responsible for calculating the scale division
-  and provides a transformation between scale and widget coordinates.
-
-  scaleEngine has to be created with new and will be deleted in
-  the destructor or the next call of setScaleEngine.
-*/
-void QwtAbstractScale::setScaleEngine( QwtScaleEngine *scaleEngine )
-{
-    if ( scaleEngine != NULL && scaleEngine != d_data->scaleEngine )
-    {
-        delete d_data->scaleEngine;
-        d_data->scaleEngine = scaleEngine;
-    }
-}
-
-/*!
-  \return Scale engine
-  \sa setScaleEngine()
-*/
-const QwtScaleEngine *QwtAbstractScale::scaleEngine() const
-{
-    return d_data->scaleEngine;
-}
-
-/*!
-  \return Scale engine
-  \sa setScaleEngine()
-*/
-QwtScaleEngine *QwtAbstractScale::scaleEngine()
-{
-    return d_data->scaleEngine;
-}
-
-/*!
-  \return Scale boundaries and positions of the ticks
-
-  The scale division might have been assigned explicitly
-  or calculated implicitly by rescale(). 
- */
-const QwtScaleDiv &QwtAbstractScale::scaleDiv() const
-{
-    return d_data->scaleDraw->scaleDiv();
-}
-
-/*!
-  \return Map to translate between scale and widget coordinates
- */
-const QwtScaleMap &QwtAbstractScale::scaleMap() const
-{
-    return d_data->scaleDraw->scaleMap();
-}
-
-/*!
-  Translate a scale value into a widget coordinate
-
-  \param value Scale value 
-  \return Corresponding widget coordinate for value
-  \sa scaleMap(), invTransform()
- */
-int QwtAbstractScale::transform( double value ) const
-{
-    return qRound( d_data->scaleDraw->scaleMap().transform( value ) );
-}
-
-/*!
-  Translate a widget coordinate into a scale value
-
-  \param value Widget coordinate
-  \return Corresponding scale coordinate for value
-  \sa scaleMap(), transform()
- */
-double QwtAbstractScale::invTransform( int value ) const
-{
-    return d_data->scaleDraw->scaleMap().invTransform( value );
-}
-
-/*!
-  \return True, when the scale is increasing in opposite direction
-          to the widget coordinates
- */
-bool QwtAbstractScale::isInverted() const
-{
-    return d_data->scaleDraw->scaleMap().isInverting();
-}
-
-/*!
-  \return The boundary with the smaller value
-  \sa maximum(), lowerBound(), upperBound()
- */
-double QwtAbstractScale::minimum() const
-{
-    return qMin( d_data->scaleDraw->scaleDiv().lowerBound(),
-        d_data->scaleDraw->scaleDiv().upperBound() );
-}
-
-/*!
-  \return The boundary with the larger value
-  \sa minimum(), lowerBound(), upperBound()
- */
-double QwtAbstractScale::maximum() const
-{
-    return qMax( d_data->scaleDraw->scaleDiv().lowerBound(),
-        d_data->scaleDraw->scaleDiv().upperBound() );
-}
-
-//! Notify changed scale
-void QwtAbstractScale::scaleChange()
-{
-}
-
-/*!
-  Recalculate the scale division and update the scale.
-
-  \param lowerBound Lower limit of the scale interval
-  \param upperBound Upper limit of the scale interval
-  \param stepSize Major step size
-
-  \sa scaleChange()
-*/
-void QwtAbstractScale::rescale( 
-    double lowerBound, double upperBound, double stepSize )
-{
-    const QwtScaleDiv scaleDiv = d_data->scaleEngine->divideScale(
-        lowerBound, upperBound, d_data->maxMajor, d_data->maxMinor, stepSize );
-
-    if ( scaleDiv != d_data->scaleDraw->scaleDiv() )
-    {
-#if 1
-        d_data->scaleDraw->setTransformation(
-            d_data->scaleEngine->transformation() );
-#endif
-
-        d_data->scaleDraw->setScaleDiv( scaleDiv );
-        scaleChange();
-    }
-}
-
-void QwtAbstractScale::updateScaleDraw()
-{
-    rescale( d_data->scaleDraw->scaleDiv().lowerBound(),
-        d_data->scaleDraw->scaleDiv().upperBound(), d_data->stepSize );
-}
diff --git a/SRC/Qwt/src/qwt_abstract_scale.h b/SRC/Qwt/src/qwt_abstract_scale.h
deleted file mode 100644
index 15dd742..0000000
--- a/SRC/Qwt/src/qwt_abstract_scale.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_ABSTRACT_SCALE_H
-#define QWT_ABSTRACT_SCALE_H
-
-#include "qwt_global.h"
-#include <qwidget.h>
-
-class QwtScaleEngine;
-class QwtAbstractScaleDraw;
-class QwtScaleDiv;
-class QwtScaleMap;
-class QwtInterval;
-
-/*!
-  \brief An abstract base class for widgets having a scale
-
-  The scale of an QwtAbstractScale is determined by a QwtScaleDiv
-  definition, that contains the boundaries and the ticks of the scale.
-  The scale is painted using a QwtScaleDraw object.
-
-  The scale division might be assigned explicitly - but usually
-  it is calculated from the boundaries using a QwtScaleEngine. 
-
-  The scale engine also decides the type of transformation of the scale 
-  ( linear, logarithmic ... ).
-*/
-
-class QWT_EXPORT QwtAbstractScale: public QWidget
-{
-    Q_OBJECT
-
-    Q_PROPERTY( double lowerBound READ lowerBound WRITE setLowerBound )
-    Q_PROPERTY( double upperBound READ upperBound WRITE setUpperBound )
-
-    Q_PROPERTY( int scaleMaxMajor READ scaleMaxMajor WRITE setScaleMaxMajor )
-    Q_PROPERTY( int scaleMaxMinor READ scaleMaxMinor WRITE setScaleMaxMinor )
-
-    Q_PROPERTY( double scaleStepSize READ scaleStepSize WRITE setScaleStepSize )
-
-public:
-    QwtAbstractScale( QWidget *parent = NULL );
-    virtual ~QwtAbstractScale();
-
-    void setScale( double lowerBound, double upperBound );
-    void setScale( const QwtInterval & );
-    void setScale( const QwtScaleDiv & );
-
-    const QwtScaleDiv& scaleDiv() const;
-
-    void setLowerBound( double value );
-    double lowerBound() const;
-
-    void setUpperBound( double value );
-    double upperBound() const;
-
-    void setScaleStepSize( double stepSize );
-    double scaleStepSize() const;
-
-    void setScaleMaxMajor( int ticks );
-    int scaleMaxMinor() const;
-
-    void setScaleMaxMinor( int ticks );
-    int scaleMaxMajor() const;
-
-    void setScaleEngine( QwtScaleEngine * );
-    const QwtScaleEngine *scaleEngine() const;
-    QwtScaleEngine *scaleEngine();
-
-    int transform( double ) const;
-    double invTransform( int ) const;
-
-    bool isInverted() const;
-
-    double minimum() const;
-    double maximum() const;
-
-    const QwtScaleMap &scaleMap() const;
-
-protected:
-    void rescale( double lowerBound, 
-        double upperBound, double stepSize );
-
-    void setAbstractScaleDraw( QwtAbstractScaleDraw * );
-
-    const QwtAbstractScaleDraw *abstractScaleDraw() const;
-    QwtAbstractScaleDraw *abstractScaleDraw();
-
-    virtual void scaleChange();
-
-private:
-    void updateScaleDraw();
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_abstract_scale_draw.cpp b/SRC/Qwt/src/qwt_abstract_scale_draw.cpp
deleted file mode 100644
index ee39cfd..0000000
--- a/SRC/Qwt/src/qwt_abstract_scale_draw.cpp
+++ /dev/null
@@ -1,420 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_abstract_scale_draw.h"
-#include "qwt_math.h"
-#include "qwt_text.h"
-#include "qwt_painter.h"
-#include "qwt_scale_map.h"
-#include <qpainter.h>
-#include <qpalette.h>
-#include <qmap.h>
-#include <qlocale.h>
-
-class QwtAbstractScaleDraw::PrivateData
-{
-public:
-    PrivateData():
-        spacing( 4.0 ),
-        penWidth( 0 ),
-        minExtent( 0.0 )
-    {
-        components = QwtAbstractScaleDraw::Backbone 
-            | QwtAbstractScaleDraw::Ticks 
-            | QwtAbstractScaleDraw::Labels;
-
-        tickLength[QwtScaleDiv::MinorTick] = 4.0;
-        tickLength[QwtScaleDiv::MediumTick] = 6.0;
-        tickLength[QwtScaleDiv::MajorTick] = 8.0;
-    }
-
-    ScaleComponents components;
-
-    QwtScaleMap map;
-    QwtScaleDiv scaleDiv;
-
-    double spacing;
-    double tickLength[QwtScaleDiv::NTickTypes];
-    int penWidth;
-
-    double minExtent;
-
-    QMap<double, QwtText> labelCache;
-};
-
-/*!
-  \brief Constructor
-
-  The range of the scale is initialized to [0, 100],
-  The spacing (distance between ticks and labels) is
-  set to 4, the tick lengths are set to 4,6 and 8 pixels
-*/
-QwtAbstractScaleDraw::QwtAbstractScaleDraw()
-{
-    d_data = new QwtAbstractScaleDraw::PrivateData;
-}
-
-//! Destructor
-QwtAbstractScaleDraw::~QwtAbstractScaleDraw()
-{
-    delete d_data;
-}
-
-/*!
-  En/Disable a component of the scale
-
-  \param component Scale component
-  \param enable On/Off
-
-  \sa hasComponent()
-*/
-void QwtAbstractScaleDraw::enableComponent(
-    ScaleComponent component, bool enable )
-{
-    if ( enable )
-        d_data->components |= component;
-    else
-        d_data->components &= ~component;
-}
-
-/*!
-  Check if a component is enabled
-
-  \param component Component type
-  \return true, when component is enabled
-  \sa enableComponent()
-*/
-bool QwtAbstractScaleDraw::hasComponent( ScaleComponent component ) const
-{
-    return ( d_data->components & component );
-}
-
-/*!
-  Change the scale division
-  \param scaleDiv New scale division
-*/
-void QwtAbstractScaleDraw::setScaleDiv( const QwtScaleDiv &scaleDiv )
-{
-    d_data->scaleDiv = scaleDiv;
-    d_data->map.setScaleInterval( scaleDiv.lowerBound(), scaleDiv.upperBound() );
-    d_data->labelCache.clear();
-}
-
-/*!
-  Change the transformation of the scale
-  \param transformation New scale transformation
-*/
-void QwtAbstractScaleDraw::setTransformation(
-    QwtTransform *transformation )
-{
-    d_data->map.setTransformation( transformation );
-}
-
-//! \return Map how to translate between scale and pixel values
-const QwtScaleMap &QwtAbstractScaleDraw::scaleMap() const
-{
-    return d_data->map;
-}
-
-//! \return Map how to translate between scale and pixel values
-QwtScaleMap &QwtAbstractScaleDraw::scaleMap()
-{
-    return d_data->map;
-}
-
-//! \return scale division
-const QwtScaleDiv& QwtAbstractScaleDraw::scaleDiv() const
-{
-    return d_data->scaleDiv;
-}
-
-/*!
-  \brief Specify the width of the scale pen
-  \param width Pen width
-  \sa penWidth()
-*/
-void QwtAbstractScaleDraw::setPenWidth( int width )
-{
-    if ( width < 0 )
-        width = 0;
-
-    if ( width != d_data->penWidth )
-        d_data->penWidth = width;
-}
-
-/*!
-    \return Scale pen width
-    \sa setPenWidth()
-*/
-int QwtAbstractScaleDraw::penWidth() const
-{
-    return d_data->penWidth;
-}
-
-/*!
-  \brief Draw the scale
-
-  \param painter    The painter
-
-  \param palette    Palette, text color is used for the labels,
-                    foreground color for ticks and backbone
-*/
-void QwtAbstractScaleDraw::draw( QPainter *painter,
-    const QPalette& palette ) const
-{
-    painter->save();
-
-    QPen pen = painter->pen();
-    pen.setWidth( d_data->penWidth );
-    pen.setCosmetic( false );
-    painter->setPen( pen );
-
-    if ( hasComponent( QwtAbstractScaleDraw::Labels ) )
-    {
-        painter->save();
-        painter->setPen( palette.color( QPalette::Text ) ); // ignore pen style
-
-        const QList<double> &majorTicks =
-            d_data->scaleDiv.ticks( QwtScaleDiv::MajorTick );
-
-        for ( int i = 0; i < majorTicks.count(); i++ )
-        {
-            const double v = majorTicks[i];
-            if ( d_data->scaleDiv.contains( v ) )
-                drawLabel( painter, v );
-        }
-
-        painter->restore();
-    }
-
-    if ( hasComponent( QwtAbstractScaleDraw::Ticks ) )
-    {
-        painter->save();
-
-        QPen pen = painter->pen();
-        pen.setColor( palette.color( QPalette::WindowText ) );
-        pen.setCapStyle( Qt::FlatCap );
-
-        painter->setPen( pen );
-
-        for ( int tickType = QwtScaleDiv::MinorTick;
-            tickType < QwtScaleDiv::NTickTypes; tickType++ )
-        {
-            const double tickLen = d_data->tickLength[tickType];
-            if ( tickLen <= 0.0 )
-                continue;
-
-            const QList<double> &ticks = d_data->scaleDiv.ticks( tickType );
-            for ( int i = 0; i < ticks.count(); i++ )
-            {
-                const double v = ticks[i];
-                if ( d_data->scaleDiv.contains( v ) )
-                    drawTick( painter, v, tickLen );
-            }
-        }
-
-        painter->restore();
-    }
-
-    if ( hasComponent( QwtAbstractScaleDraw::Backbone ) )
-    {
-        painter->save();
-
-        QPen pen = painter->pen();
-        pen.setColor( palette.color( QPalette::WindowText ) );
-        pen.setCapStyle( Qt::FlatCap );
-
-        painter->setPen( pen );
-
-        drawBackbone( painter );
-
-        painter->restore();
-    }
-
-    painter->restore();
-}
-
-/*!
-  \brief Set the spacing between tick and labels
-
-  The spacing is the distance between ticks and labels.
-  The default spacing is 4 pixels.
-
-  \param spacing Spacing
-
-  \sa spacing()
-*/
-void QwtAbstractScaleDraw::setSpacing( double spacing )
-{
-    if ( spacing < 0 )
-        spacing = 0;
-
-    d_data->spacing = spacing;
-}
-
-/*!
-  \brief Get the spacing
-
-  The spacing is the distance between ticks and labels.
-  The default spacing is 4 pixels.
-
-  \return Spacing
-  \sa setSpacing()
-*/
-double QwtAbstractScaleDraw::spacing() const
-{
-    return d_data->spacing;
-}
-
-/*!
-  \brief Set a minimum for the extent
-
-  The extent is calculated from the components of the
-  scale draw. In situations, where the labels are
-  changing and the layout depends on the extent (f.e scrolling
-  a scale), setting an upper limit as minimum extent will
-  avoid jumps of the layout.
-
-  \param minExtent Minimum extent
-
-  \sa extent(), minimumExtent()
-*/
-void QwtAbstractScaleDraw::setMinimumExtent( double minExtent )
-{
-    if ( minExtent < 0.0 )
-        minExtent = 0.0;
-
-    d_data->minExtent = minExtent;
-}
-
-/*!
-  Get the minimum extent
-  \return Minimum extent
-  \sa extent(), setMinimumExtent()
-*/
-double QwtAbstractScaleDraw::minimumExtent() const
-{
-    return d_data->minExtent;
-}
-
-/*!
-  Set the length of the ticks
-
-  \param tickType Tick type
-  \param length New length
-
-  \warning the length is limited to [0..1000]
-*/
-void QwtAbstractScaleDraw::setTickLength(
-    QwtScaleDiv::TickType tickType, double length )
-{
-    if ( tickType < QwtScaleDiv::MinorTick ||
-        tickType > QwtScaleDiv::MajorTick )
-    {
-        return;
-    }
-
-    if ( length < 0.0 )
-        length = 0.0;
-
-    const double maxTickLen = 1000.0;
-    if ( length > maxTickLen )
-        length = maxTickLen;
-
-    d_data->tickLength[tickType] = length;
-}
-
-/*!
-    \return Length of the ticks
-    \sa setTickLength(), maxTickLength()
-*/
-double QwtAbstractScaleDraw::tickLength( QwtScaleDiv::TickType tickType ) const
-{
-    if ( tickType < QwtScaleDiv::MinorTick ||
-        tickType > QwtScaleDiv::MajorTick )
-    {
-        return 0;
-    }
-
-    return d_data->tickLength[tickType];
-}
-
-/*!
-   \return Length of the longest tick
-
-   Useful for layout calculations
-   \sa tickLength(), setTickLength()
-*/
-double QwtAbstractScaleDraw::maxTickLength() const
-{
-    double length = 0.0;
-    for ( int i = 0; i < QwtScaleDiv::NTickTypes; i++ )
-        length = qMax( length, d_data->tickLength[i] );
-
-    return length;
-}
-
-/*!
-  \brief Convert a value into its representing label
-
-  The value is converted to a plain text using
-  QLocale().toString(value).
-  This method is often overloaded by applications to have individual
-  labels.
-
-  \param value Value
-  \return Label string.
-*/
-QwtText QwtAbstractScaleDraw::label( double value ) const
-{
-    return QLocale().toString( value );
-}
-
-/*!
-   \brief Convert a value into its representing label and cache it.
-
-   The conversion between value and label is called very often
-   in the layout and painting code. Unfortunately the
-   calculation of the label sizes might be slow (really slow
-   for rich text in Qt4), so it's necessary to cache the labels.
-
-   \param font Font
-   \param value Value
-
-   \return Tick label
-*/
-const QwtText &QwtAbstractScaleDraw::tickLabel(
-    const QFont &font, double value ) const
-{
-    QMap<double, QwtText>::const_iterator it = d_data->labelCache.find( value );
-    if ( it == d_data->labelCache.end() )
-    {
-        QwtText lbl = label( value );
-        lbl.setRenderFlags( 0 );
-        lbl.setLayoutAttribute( QwtText::MinimumLayout );
-
-        ( void )lbl.textSize( font ); // initialize the internal cache
-
-        it = d_data->labelCache.insert( value, lbl );
-    }
-
-    return ( *it );
-}
-
-/*!
-   Invalidate the cache used by tickLabel()
-
-   The cache is invalidated, when a new QwtScaleDiv is set. If
-   the labels need to be changed. while the same QwtScaleDiv is set,
-   invalidateCache() needs to be called manually.
-*/
-void QwtAbstractScaleDraw::invalidateCache()
-{
-    d_data->labelCache.clear();
-}
diff --git a/SRC/Qwt/src/qwt_abstract_scale_draw.h b/SRC/Qwt/src/qwt_abstract_scale_draw.h
deleted file mode 100644
index 1c09ec7..0000000
--- a/SRC/Qwt/src/qwt_abstract_scale_draw.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_ABSTRACT_SCALE_DRAW_H
-#define QWT_ABSTRACT_SCALE_DRAW_H
-
-#include "qwt_global.h"
-#include "qwt_scale_div.h"
-#include "qwt_text.h"
-
-class QPalette;
-class QPainter;
-class QFont;
-class QwtTransform;
-class QwtScaleMap;
-
-/*!
-  \brief A abstract base class for drawing scales
-
-  QwtAbstractScaleDraw can be used to draw linear or logarithmic scales.
-
-  After a scale division has been specified as a QwtScaleDiv object
-  using setScaleDiv(), the scale can be drawn with the draw() member.
-*/
-class QWT_EXPORT QwtAbstractScaleDraw
-{
-public:
-
-    /*!
-       Components of a scale
-       \sa enableComponent(), hasComponent
-    */
-    enum ScaleComponent
-    {
-        //! Backbone = the line where the ticks are located
-        Backbone = 0x01,
-
-        //! Ticks
-        Ticks = 0x02,
-
-        //! Labels
-        Labels = 0x04
-    };
-
-    //! Scale components
-    typedef QFlags<ScaleComponent> ScaleComponents;
-
-    QwtAbstractScaleDraw();
-    virtual ~QwtAbstractScaleDraw();
-
-    void setScaleDiv( const QwtScaleDiv &s );
-    const QwtScaleDiv& scaleDiv() const;
-
-    void setTransformation( QwtTransform * );
-    const QwtScaleMap &scaleMap() const;
-    QwtScaleMap &scaleMap();
-
-    void enableComponent( ScaleComponent, bool enable = true );
-    bool hasComponent( ScaleComponent ) const;
-
-    void setTickLength( QwtScaleDiv::TickType, double length );
-    double tickLength( QwtScaleDiv::TickType ) const;
-    double maxTickLength() const;
-
-    void setSpacing( double margin );
-    double spacing() const;
-
-    void setPenWidth( int width );
-    int penWidth() const;
-
-    virtual void draw( QPainter *, const QPalette & ) const;
-
-    virtual QwtText label( double ) const;
-
-    /*!
-      Calculate the extent
-
-      The extent is the distance from the baseline to the outermost
-      pixel of the scale draw in opposite to its orientation.
-      It is at least minimumExtent() pixels.
-
-      \param font Font used for drawing the tick labels
-      \return Number of pixels
-
-      \sa setMinimumExtent(), minimumExtent()
-    */
-    virtual double extent( const QFont &font ) const = 0;
-
-    void setMinimumExtent( double );
-    double minimumExtent() const;
-
-protected:
-    /*!
-       Draw a tick
-
-       \param painter Painter
-       \param value Value of the tick
-       \param len Length of the tick
-
-       \sa drawBackbone(), drawLabel()
-    */
-    virtual void drawTick( QPainter *painter, double value, double len ) const = 0;
-
-    /*!
-      Draws the baseline of the scale
-      \param painter Painter
-
-      \sa drawTick(), drawLabel()
-    */
-    virtual void drawBackbone( QPainter *painter ) const = 0;
-
-    /*!
-        Draws the label for a major scale tick
-
-        \param painter Painter
-        \param value Value
-
-        \sa drawTick(), drawBackbone()
-    */
-    virtual void drawLabel( QPainter *painter, double value ) const = 0;
-
-    void invalidateCache();
-    const QwtText &tickLabel( const QFont &, double value ) const;
-
-private:
-    QwtAbstractScaleDraw( const QwtAbstractScaleDraw & );
-    QwtAbstractScaleDraw &operator=( const QwtAbstractScaleDraw & );
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtAbstractScaleDraw::ScaleComponents )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_abstract_slider.cpp b/SRC/Qwt/src/qwt_abstract_slider.cpp
deleted file mode 100644
index 449764b..0000000
--- a/SRC/Qwt/src/qwt_abstract_slider.cpp
+++ /dev/null
@@ -1,822 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_abstract_slider.h"
-#include "qwt_abstract_scale_draw.h"
-#include "qwt_math.h"
-#include "qwt_scale_map.h"
-#include <qevent.h>
-
-#if QT_VERSION < 0x040601
-#define qFabs(x) ::fabs(x)
-#endif
-
-static double qwtAlignToScaleDiv( 
-    const QwtAbstractSlider *slider, double value )
-{
-    const QwtScaleDiv &sd = slider->scaleDiv();
-
-    const int tValue = slider->transform( value );
-
-    if ( tValue == slider->transform( sd.lowerBound() ) )
-        return sd.lowerBound();
-
-    if ( tValue == slider->transform( sd.lowerBound() ) )
-        return sd.upperBound();
-
-    for ( int i = 0; i < QwtScaleDiv::NTickTypes; i++ )
-    {
-        const QList<double> ticks = sd.ticks( i );
-        for ( int j = 0; j < ticks.size(); j++ )
-        {
-            if ( slider->transform( ticks[ j ] ) == tValue )
-                return ticks[ j ];
-        }
-    }
-
-    return value;
-}
-
-class QwtAbstractSlider::PrivateData
-{
-public:
-    PrivateData():
-        isScrolling( false ),
-        isTracking( true ),
-        pendingValueChanged( false ),
-        readOnly( false ),
-        totalSteps( 100 ),
-        singleSteps( 1 ),
-        pageSteps( 10 ),
-        stepAlignment( true ),
-        isValid( false ),
-        value( 0.0 ),
-        wrapping( false ),
-        invertedControls( false )
-    {
-    }
-
-    bool isScrolling;
-    bool isTracking;
-    bool pendingValueChanged;
-
-    bool readOnly;
-
-    uint totalSteps;
-    uint singleSteps;
-    uint pageSteps;
-    bool stepAlignment;
-
-    bool isValid;
-    double value;
-
-    bool wrapping;
-    bool invertedControls;
-};
-
-/*!
-  \brief Constructor
-
-  The scale is initialized to [0.0, 100.0], the
-  number of steps is set to 100 with 1 and 10 and single
-  an page step sizes. Step alignment is enabled.
-
-  The initial value is invalid.
-
-  \param parent Parent widget
-*/
-QwtAbstractSlider::QwtAbstractSlider( QWidget *parent ):
-    QwtAbstractScale( parent )
-{
-    d_data = new QwtAbstractSlider::PrivateData;
-
-    setScale( 0.0, 100.0 );
-    setFocusPolicy( Qt::StrongFocus );
-}
-
-//! Destructor
-QwtAbstractSlider::~QwtAbstractSlider()
-{
-    delete d_data;
-}
-
-/*! 
-  Set the value to be valid/invalid
-
-  \param on When true, the value is invalidated
-
-  \sa setValue()
-*/
-void QwtAbstractSlider::setValid( bool on )
-{
-    if ( on != d_data->isValid )
-    {
-        d_data->isValid = on;
-        sliderChange();
-
-        Q_EMIT valueChanged( d_data->value );
-    }   
-}   
-
-//! \return True, when the value is invalid
-bool QwtAbstractSlider::isValid() const
-{
-    return d_data->isValid;
-}   
-
-/*!
-  En/Disable read only mode
-
-  In read only mode the slider can't be controlled by mouse
-  or keyboard.
-
-  \param on Enables in case of true
-  \sa isReadOnly()
-
-  \warning The focus policy is set to Qt::StrongFocus or Qt::NoFocus
-*/
-void QwtAbstractSlider::setReadOnly( bool on )
-{
-    if ( d_data->readOnly != on )
-    {
-        d_data->readOnly = on;
-        setFocusPolicy( on ? Qt::StrongFocus : Qt::NoFocus );
-
-        update();
-    }
-}
-
-/*!
-  In read only mode the slider can't be controlled by mouse
-  or keyboard.
-
-  \return true if read only
-  \sa setReadOnly()
-*/
-bool QwtAbstractSlider::isReadOnly() const
-{
-    return d_data->readOnly;
-}
-
-/*!
-  \brief Enables or disables tracking.
-
-  If tracking is enabled, the slider emits the valueChanged() 
-  signal while the movable part of the slider is being dragged. 
-  If tracking is disabled, the slider emits the valueChanged() signal 
-  only when the user releases the slider.
-
-  Tracking is enabled by default.
-  \param on \c true (enable) or \c false (disable) tracking.
-
-  \sa isTracking(), sliderMoved()
-*/
-void QwtAbstractSlider::setTracking( bool on )
-{
-    d_data->isTracking = on;
-}
-
-/*!
-  \return True, when tracking has been enabled
-  \sa setTracking()
-*/
-bool QwtAbstractSlider::isTracking() const
-{
-    return d_data->isTracking;
-}
-
-/*!
-   Mouse press event handler
-   \param event Mouse event
-*/
-void QwtAbstractSlider::mousePressEvent( QMouseEvent *event )
-{
-    if ( isReadOnly() )
-    {
-        event->ignore();
-        return;
-    }
-
-    if ( !d_data->isValid || lowerBound() == upperBound() )
-        return;
-
-    d_data->isScrolling = isScrollPosition( event->pos() );
-
-    if ( d_data->isScrolling )
-    {
-        d_data->pendingValueChanged = false;
-
-        Q_EMIT sliderPressed();
-    }
-}
-
-/*!
-   Mouse Move Event handler
-   \param event Mouse event
-*/
-void QwtAbstractSlider::mouseMoveEvent( QMouseEvent *event )
-{
-    if ( isReadOnly() )
-    {
-        event->ignore();
-        return;
-    }
-
-    if ( d_data->isValid && d_data->isScrolling )
-    {
-        double value = scrolledTo( event->pos() );
-        if ( value != d_data->value )
-        {
-            value = boundedValue( value );
-
-            if ( d_data->stepAlignment )
-            {
-                value = alignedValue( value );
-            }
-            else
-            {
-                value = qwtAlignToScaleDiv( this, value );
-            }
-
-            if ( value != d_data->value )
-            {
-                d_data->value = value;
-
-                sliderChange();
-
-                Q_EMIT sliderMoved( d_data->value );
-
-                if ( d_data->isTracking )
-                    Q_EMIT valueChanged( d_data->value );
-                else
-                    d_data->pendingValueChanged = true;
-            }
-        }
-    }
-}
-
-/*!
-   Mouse Release Event handler
-   \param event Mouse event
-*/
-void QwtAbstractSlider::mouseReleaseEvent( QMouseEvent *event )
-{
-    if ( isReadOnly() )
-    {
-        event->ignore();
-        return;
-    }
-
-    if ( d_data->isScrolling && d_data->isValid )
-    {
-        d_data->isScrolling = false;
-
-        if ( d_data->pendingValueChanged )
-            Q_EMIT valueChanged( d_data->value );
-
-        Q_EMIT sliderReleased();
-    }
-}
-
-/*!
-   Wheel Event handler
-
-   In/decreases the value by s number of steps. The direction 
-   depends on the invertedControls() property.
-
-   When the control or shift modifier is pressed the wheel delta
-   ( divided by 120 ) is mapped to an increment according to
-   pageSteps(). Otherwise it is mapped to singleSteps().
-
-   \param event Wheel event
-*/
-void QwtAbstractSlider::wheelEvent( QWheelEvent *event )
-{
-    if ( isReadOnly() )
-    {
-        event->ignore();
-        return;
-    }
-
-    if ( !d_data->isValid || d_data->isScrolling )
-        return;
-
-    int numSteps = 0;
-
-    if ( ( event->modifiers() & Qt::ControlModifier) ||
-        ( event->modifiers() & Qt::ShiftModifier ) )
-    {
-        // one page regardless of delta
-        numSteps = d_data->pageSteps;
-        if ( event->delta() < 0 )
-            numSteps = -numSteps;
-    }
-    else
-    {
-        const int numTurns = ( event->delta() / 120 );
-        numSteps = numTurns * d_data->singleSteps;
-    }
-
-    if ( d_data->invertedControls )
-        numSteps = -numSteps;
-
-    const double value = incrementedValue( d_data->value, numSteps );
-    if ( value != d_data->value )
-    {
-        d_data->value = value;
-        sliderChange();
-
-        Q_EMIT sliderMoved( d_data->value );
-        Q_EMIT valueChanged( d_data->value );
-    }
-}
-
-/*!
-  Handles key events
-
-  QwtAbstractSlider handles the following keys:
-
-  - Qt::Key_Left\n
-    Add/Subtract singleSteps() in direction to lowerBound();
-  - Qt::Key_Right\n
-    Add/Subtract singleSteps() in direction to upperBound();
-  - Qt::Key_Down\n
-    Subtract singleSteps(), when invertedControls() is false
-  - Qt::Key_Up\n
-    Add singleSteps(), when invertedControls() is false
-  - Qt::Key_PageDown\n
-    Subtract pageSteps(), when invertedControls() is false
-  - Qt::Key_PageUp\n
-    Add pageSteps(), when invertedControls() is false
-  - Qt::Key_Home\n
-    Set the value to the minimum()
-  - Qt::Key_End\n
-    Set the value to the maximum()
-
-  \param event Key event
-  \sa isReadOnly()
-*/
-void QwtAbstractSlider::keyPressEvent( QKeyEvent *event )
-{
-    if ( isReadOnly() )
-    {
-        event->ignore();
-        return;
-    }
-
-    if ( !d_data->isValid || d_data->isScrolling )
-        return;
-
-    int numSteps = 0;
-    double value = d_data->value;
-
-    switch ( event->key() )
-    {
-        case Qt::Key_Left:
-        {
-            numSteps = -static_cast<int>( d_data->singleSteps );
-            if ( isInverted() )
-                numSteps = -numSteps;
-
-            break;
-        }
-        case Qt::Key_Right:
-        {
-            numSteps = d_data->singleSteps;
-            if ( isInverted() )
-                numSteps = -numSteps;
-
-            break;
-        }
-        case Qt::Key_Down:
-        {
-            numSteps = -static_cast<int>( d_data->singleSteps );
-            if ( d_data->invertedControls )
-                numSteps = -numSteps;
-            break;
-        }
-        case Qt::Key_Up:
-        {
-            numSteps = d_data->singleSteps;
-            if ( d_data->invertedControls )
-                numSteps = -numSteps;
-
-            break;
-        }
-        case Qt::Key_PageUp:
-        {
-            numSteps = d_data->pageSteps;
-            if ( d_data->invertedControls )
-                numSteps = -numSteps;
-            break;
-        }
-        case Qt::Key_PageDown:
-        {
-            numSteps = -static_cast<int>( d_data->pageSteps );
-            if ( d_data->invertedControls )
-                numSteps = -numSteps;
-            break;
-        }
-        case Qt::Key_Home:
-        {
-            value = minimum();
-            break;
-        }
-        case Qt::Key_End:
-        {
-            value = maximum();
-            break;
-        }
-        default:;
-        {
-            event->ignore();
-        }
-    }
-
-    if ( numSteps != 0 )
-    {
-        value = incrementedValue( d_data->value, numSteps );
-    }
-
-    if ( value != d_data->value )
-    {
-        d_data->value = value;
-        sliderChange();
-
-        Q_EMIT sliderMoved( d_data->value );
-        Q_EMIT valueChanged( d_data->value );
-    }
-}
-
-/*!
-  \brief Set the number of steps
-
-  The range of the slider is divided into a number of steps from
-  which the value increments according to user inputs depend. 
-
-  The default setting is 100.
-
-  \param stepCount Number of steps
-
-  \sa totalSteps(), setSingleSteps(), setPageSteps()
- */
-void QwtAbstractSlider::setTotalSteps( uint stepCount )
-{
-    d_data->totalSteps = stepCount;
-}
-
-/*!
-  \return Number of steps
-  \sa setTotalSteps(), singleSteps(), pageSteps()
- */
-uint QwtAbstractSlider::totalSteps() const
-{
-    return d_data->totalSteps;
-}
-
-/*!
-  \brief Set the number of steps for a single increment
-
-  The range of the slider is divided into a number of steps from
-  which the value increments according to user inputs depend. 
-
-  \param stepCount Number of steps
-
-  \sa singleSteps(), setTotalSteps(), setPageSteps()
- */
-
-void QwtAbstractSlider::setSingleSteps( uint stepCount )
-{
-    d_data->singleSteps = stepCount;
-}   
-
-/*!
-  \return Number of steps
-  \sa setSingleSteps(), totalSteps(), pageSteps()
- */
-uint QwtAbstractSlider::singleSteps() const
-{
-    return d_data->singleSteps;
-}   
-
-/*! 
-  \brief Set the number of steps for a page increment
-    
-  The range of the slider is divided into a number of steps from
-  which the value increments according to user inputs depend. 
-
-  \param stepCount Number of steps
-
-  \sa pageSteps(), setTotalSteps(), setSingleSteps()
- */
-
-void QwtAbstractSlider::setPageSteps( uint stepCount )
-{
-    d_data->pageSteps = stepCount;
-}
-
-/*!
-  \return Number of steps
-  \sa setPageSteps(), totalSteps(), singleSteps()
- */
-uint QwtAbstractSlider::pageSteps() const
-{
-    return d_data->pageSteps;
-}
-
-/*!
-  \brief Enable step alignment
-
-  When step alignment is enabled values resulting from slider
-  movements are aligned to the step size.
-
-  \param on Enable step alignment when true
-  \sa stepAlignment()
-*/
-void QwtAbstractSlider::setStepAlignment( bool on )
-{   
-    if ( on != d_data->stepAlignment )
-    {
-        d_data->stepAlignment = on;
-    }
-}   
-    
-/*!
-  \return True, when step alignment is enabled
-  \sa setStepAlignment()
- */
-bool QwtAbstractSlider::stepAlignment() const
-{
-    return d_data->stepAlignment;
-}
-
-/*!
-  Set the slider to the specified value
-
-  \param value New value
-  \sa setValid(), sliderChange(), valueChanged()
-*/
-void QwtAbstractSlider::setValue( double value )
-{
-    value = qBound( minimum(), value, maximum() );
-
-    const bool changed = ( d_data->value != value ) || !d_data->isValid;
-
-    d_data->value = value;
-    d_data->isValid = true;
-
-    if ( changed )
-    {
-        sliderChange();
-        Q_EMIT valueChanged( d_data->value );
-    }
-}
-
-//! Returns the current value.
-double QwtAbstractSlider::value() const
-{
-    return d_data->value;
-}
-
-/*!
-  If wrapping is true stepping up from upperBound() value will 
-  take you to the minimum() value and vice versa. 
-
-  \param on En/Disable wrapping
-  \sa wrapping()
-*/
-void QwtAbstractSlider::setWrapping( bool on )
-{
-    d_data->wrapping = on;
-}   
-
-/*!
-  \return True, when wrapping is set
-  \sa setWrapping()
- */ 
-bool QwtAbstractSlider::wrapping() const
-{
-    return d_data->wrapping;
-}
-
-/*!
-  Invert wheel and key events
-
-  Usually scrolling the mouse wheel "up" and using keys like page 
-  up will increase the slider's value towards its maximum. 
-  When invertedControls() is enabled the value is scrolled
-  towards its minimum.
-
-  Inverting the controls might be f.e. useful for a vertical slider
-  with an inverted scale ( decreasing from top to bottom ).
-
-  \param on Invert controls, when true
-
-  \sa invertedControls(), keyEvent(), wheelEvent()
- */
-void QwtAbstractSlider::setInvertedControls( bool on )
-{
-    d_data->invertedControls = on;
-}
-
-/*!
- \return True, when the controls are inverted
- \sa setInvertedControls()
- */
-bool QwtAbstractSlider::invertedControls() const
-{
-    return d_data->invertedControls;
-}
-
-/*!
-  Increment the slider
-
-  The step size depends on the number of totalSteps()
-
-  \param stepCount Number of steps
-  \sa setTotalSteps(), incrementedValue()
- */
-void QwtAbstractSlider::incrementValue( int stepCount )
-{
-    const double value = incrementedValue( 
-        d_data->value, stepCount );
-
-    if ( value != d_data->value )
-    {
-        d_data->value = value;
-        sliderChange();
-    }
-}
-
-/*!
-  Increment a value 
-
-  \param value Value 
-  \param stepCount Number of steps
-
-  \return Incremented value
- */
-double QwtAbstractSlider::incrementedValue( 
-    double value, int stepCount ) const
-{
-    if ( d_data->totalSteps == 0 )
-        return value;
-
-    const QwtTransform *transformation =
-        scaleMap().transformation();
-
-    if ( transformation == NULL )
-    {
-        const double range = maximum() - minimum();
-        value += stepCount * range / d_data->totalSteps;
-    }
-    else
-    {
-        QwtScaleMap map = scaleMap();
-        map.setPaintInterval( 0, d_data->totalSteps );
-
-        // we need equidant steps according to
-        // paint device coordinates
-        const double range = transformation->transform( maximum() ) 
-            - transformation->transform( minimum() );
-
-        const double stepSize = range / d_data->totalSteps;
-
-        double v = transformation->transform( value );
-
-        v = qRound( v / stepSize ) * stepSize; 
-        v += stepCount * range / d_data->totalSteps;
-
-        value = transformation->invTransform( v );
-    }
-
-    value = boundedValue( value );
-
-    if ( d_data->stepAlignment )
-        value = alignedValue( value );
-
-    return value;
-}
-
-double QwtAbstractSlider::boundedValue( double value ) const
-{
-    const double vmin = minimum();
-    const double vmax = maximum();
-
-    if ( d_data->wrapping && vmin != vmax )
-    {
-        const int fullCircle = 360 * 16;
-
-        const double pd = scaleMap().pDist();
-        if ( int( pd / fullCircle ) * fullCircle == pd )
-        {
-            // full circle scales: min and max are the same
-            const double range = vmax - vmin;
-
-            if ( value < vmin )
-            {
-                value += ::ceil( ( vmin - value ) / range ) * range;
-            }
-            else if ( value > vmax )
-            {
-                value -= ::ceil( ( value - vmax ) / range ) * range;
-            }
-        }
-        else
-        {
-            if ( value < vmin )
-                value = vmax;
-            else if ( value > vmax )
-                value = vmin;
-        }
-    }
-    else
-    {
-        value = qBound( vmin, value, vmax );
-    }
-
-    return value;
-}
-
-double QwtAbstractSlider::alignedValue( double value ) const
-{
-    if ( d_data->totalSteps == 0 )
-        return value;
-
-    double stepSize;
-
-    if ( scaleMap().transformation() == NULL )
-    {
-        stepSize = ( maximum() - minimum() ) / d_data->totalSteps;
-        if ( stepSize > 0.0 )
-        {
-            value = lowerBound() + 
-                qRound( ( value - lowerBound() ) / stepSize ) * stepSize;
-        }
-    }
-    else
-    {
-        stepSize = ( scaleMap().p2() - scaleMap().p1() ) / d_data->totalSteps;
-
-        if ( stepSize > 0.0 )
-        {
-            double v = scaleMap().transform( value );
-
-            v = scaleMap().p1() +
-                qRound( ( v - scaleMap().p1() ) / stepSize ) * stepSize;
-
-            value = scaleMap().invTransform( v );
-        }
-    }
-
-    if ( qAbs( stepSize ) > 1e-12 )
-    {
-        if ( qFuzzyCompare( value + 1.0, 1.0 ) )
-        {
-            // correct rounding error if value = 0
-            value = 0.0;
-        }
-        else
-        {
-            // correct rounding error at the border
-            if ( qFuzzyCompare( value, upperBound() ) )
-                value = upperBound();
-            else if ( qFuzzyCompare( value, lowerBound() ) )
-                value = lowerBound();
-        }
-    }
-
-    return value;
-}
-
-/*!
-  Update the slider according to modifications of the scale
- */
-void QwtAbstractSlider::scaleChange()
-{
-    const double value = qBound( minimum(), d_data->value, maximum() );
-
-    const bool changed = ( value != d_data->value );
-    if ( changed )
-    {
-        d_data->value = value;
-    }
-
-    if ( d_data->isValid || changed )
-        Q_EMIT valueChanged( d_data->value );
-
-    updateGeometry();
-    update();
-}
-
-//! Calling update()
-void QwtAbstractSlider::sliderChange()
-{
-    update();
-}
diff --git a/SRC/Qwt/src/qwt_abstract_slider.h b/SRC/Qwt/src/qwt_abstract_slider.h
deleted file mode 100644
index ff1dbea..0000000
--- a/SRC/Qwt/src/qwt_abstract_slider.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_ABSTRACT_SLIDER_H
-#define QWT_ABSTRACT_SLIDER_H
-
-#include "qwt_global.h"
-#include "qwt_abstract_scale.h"
-
-/*!
-  \brief An abstract base class for slider widgets with a scale
-
-  A slider widget displays a value according to a scale.
-  The class is designed as a common super class for widgets like 
-  QwtKnob, QwtDial and QwtSlider.
-
-  When the slider is nor readOnly() its value can be modified 
-  by keyboard, mouse and wheel inputs. 
-
-  The range of the slider is divided into a number of steps from
-  which the value increments according to user inputs depend. 
-  Only for linear scales the number of steps correspond with
-  a fixed step size.
-*/
-
-class QWT_EXPORT QwtAbstractSlider: public QwtAbstractScale
-{
-    Q_OBJECT
-
-    Q_PROPERTY( double value READ value WRITE setValue )
-
-    Q_PROPERTY( uint totalSteps READ totalSteps WRITE setTotalSteps )
-    Q_PROPERTY( uint singleSteps READ singleSteps WRITE setSingleSteps )
-    Q_PROPERTY( uint pageSteps READ pageSteps WRITE setPageSteps )
-    Q_PROPERTY( bool stepAlignment READ stepAlignment WRITE setStepAlignment )
-
-    Q_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly )
-    Q_PROPERTY( bool tracking READ isTracking WRITE setTracking )
-    Q_PROPERTY( bool wrapping READ wrapping WRITE setWrapping )
-
-    Q_PROPERTY( bool invertedControls READ invertedControls WRITE setInvertedControls )
-
-public:
-    explicit QwtAbstractSlider( QWidget *parent = NULL );
-    virtual ~QwtAbstractSlider();
-
-    void setValid( bool );
-    bool isValid() const;
-
-    double value() const;
-
-    void setWrapping( bool );
-    bool wrapping() const;
-
-    void setTotalSteps( uint );
-    uint totalSteps() const;
-
-    void setSingleSteps( uint );
-    uint singleSteps() const;
-
-    void setPageSteps( uint );
-    uint pageSteps() const;
-
-    void setStepAlignment( bool ); 
-    bool stepAlignment() const;
-
-    void setTracking( bool );
-    bool isTracking() const;
-
-    void setReadOnly( bool );
-    bool isReadOnly() const;
-
-    void setInvertedControls( bool );
-    bool invertedControls() const;
-
-public Q_SLOTS:
-    void setValue( double val );
-
-Q_SIGNALS:
-
-    /*!
-      \brief Notify a change of value.
-
-      When tracking is enabled (default setting), 
-      this signal will be emitted every time the value changes. 
-
-      \param value New value
-
-      \sa setTracking(), sliderMoved()
-    */
-    void valueChanged( double value );
-
-    /*!
-      This signal is emitted when the user presses the
-      movable part of the slider.
-    */
-    void sliderPressed();
-
-    /*!
-      This signal is emitted when the user releases the
-      movable part of the slider.
-    */
-    void sliderReleased();
-
-    /*!
-      This signal is emitted when the user moves the
-      slider with the mouse.
-
-      \param value New value
-
-      \sa valueChanged()
-    */
-    void sliderMoved( double value );
-
-protected:
-    virtual void mousePressEvent( QMouseEvent * );
-    virtual void mouseReleaseEvent( QMouseEvent * );
-    virtual void mouseMoveEvent( QMouseEvent * );
-    virtual void keyPressEvent( QKeyEvent * );
-    virtual void wheelEvent( QWheelEvent * );
-
-    /*!
-      \brief Determine what to do when the user presses a mouse button.
-
-      \param pos Mouse position
-
-      \retval True, when pos is a valid scroll position
-      \sa scrolledTo()
-    */
-    virtual bool isScrollPosition( const QPoint &pos ) const = 0;
-
-    /*!
-      \brief Determine the value for a new position of the
-             movable part of the slider
-
-      \param pos Mouse position
-
-      \return Value for the mouse position
-      \sa isScrollPosition()
-    */
-    virtual double scrolledTo( const QPoint &pos ) const = 0;
-
-    void incrementValue( int numSteps );
-
-    virtual void scaleChange();
-
-protected:
-    virtual void sliderChange();
-
-    double incrementedValue( 
-        double value, int stepCount ) const;
-
-private:
-    double alignedValue( double ) const;
-    double boundedValue( double ) const;
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_analog_clock.cpp b/SRC/Qwt/src/qwt_analog_clock.cpp
deleted file mode 100644
index 5521dd1..0000000
--- a/SRC/Qwt/src/qwt_analog_clock.cpp
+++ /dev/null
@@ -1,244 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_analog_clock.h"
-#include "qwt_round_scale_draw.h"
-#include <qmath.h>
-#include <qlocale.h>
-
-class QwtAnalogClockScaleDraw: public QwtRoundScaleDraw
-{
-public:
-    QwtAnalogClockScaleDraw()
-    {
-        setSpacing( 8 );
-
-        enableComponent( QwtAbstractScaleDraw::Backbone, false );
-
-        setTickLength( QwtScaleDiv::MinorTick, 2 );
-        setTickLength( QwtScaleDiv::MediumTick, 4 );
-        setTickLength( QwtScaleDiv::MajorTick, 8 );
-
-        setPenWidth( 1 );
-    }
-
-    virtual QwtText label( double value ) const
-    {
-        if ( qFuzzyCompare( value + 1.0, 1.0 ) )
-            value = 60.0 * 60.0 * 12.0;
-
-        return QLocale().toString( qRound( value / ( 60.0 * 60.0 ) ) );
-    }
-};
-
-/*!
-  Constructor
-  \param parent Parent widget
-*/
-QwtAnalogClock::QwtAnalogClock( QWidget *parent ):
-    QwtDial( parent )
-{
-    setWrapping( true );
-    setReadOnly( true );
-
-    setOrigin( 270.0 );
-    setScaleDraw( new QwtAnalogClockScaleDraw() );
-
-    setTotalSteps( 60 );
-
-    const int secondsPerHour = 60.0 * 60.0; 
-
-    QList<double> majorTicks;
-    QList<double> minorTicks;
-
-    for ( int i = 0; i < 12; i++ )
-    {
-        majorTicks += i * secondsPerHour;
-
-        for ( int j = 1; j < 5; j++ )
-            minorTicks += i * secondsPerHour + j * secondsPerHour / 5.0;
-    }
-
-    QwtScaleDiv scaleDiv;
-    scaleDiv.setInterval( 0.0, 12.0 * secondsPerHour );
-    scaleDiv.setTicks( QwtScaleDiv::MajorTick, majorTicks );
-    scaleDiv.setTicks( QwtScaleDiv::MinorTick, minorTicks );
-    setScale( scaleDiv );
-
-    QColor knobColor = palette().color( QPalette::Active, QPalette::Text );
-    knobColor = knobColor.dark( 120 );
-
-    QColor handColor;
-    int width;
-
-    for ( int i = 0; i < NHands; i++ )
-    {
-        if ( i == SecondHand )
-        {
-            width = 2;
-            handColor = knobColor.dark( 120 );
-        }
-        else
-        {
-            width = 8;
-            handColor = knobColor;
-        }
-
-        QwtDialSimpleNeedle *hand = new QwtDialSimpleNeedle(
-            QwtDialSimpleNeedle::Arrow, true, handColor, knobColor );
-        hand->setWidth( width );
-
-        d_hand[i] = NULL;
-        setHand( static_cast<Hand>( i ), hand );
-    }
-}
-
-//! Destructor
-QwtAnalogClock::~QwtAnalogClock()
-{
-    for ( int i = 0; i < NHands; i++ )
-        delete d_hand[i];
-}
-
-/*!
-  Nop method, use setHand() instead
-  \sa setHand()
-*/
-void QwtAnalogClock::setNeedle( QwtDialNeedle * )
-{
-    // no op
-    return;
-}
-
-/*!
-   Set a clock hand
-   \param hand Specifies the type of hand
-   \param needle Hand
-   \sa hand()
-*/
-void QwtAnalogClock::setHand( Hand hand, QwtDialNeedle *needle )
-{
-    if ( hand >= 0 && hand < NHands )
-    {
-        delete d_hand[hand];
-        d_hand[hand] = needle;
-    }
-}
-
-/*!
-  \return Clock hand
-  \param hd Specifies the type of hand
-  \sa setHand()
-*/
-QwtDialNeedle *QwtAnalogClock::hand( Hand hd )
-{
-    if ( hd < 0 || hd >= NHands )
-        return NULL;
-
-    return d_hand[hd];
-}
-
-/*!
-  \return Clock hand
-  \param hd Specifies the type of hand
-  \sa setHand()
-*/
-const QwtDialNeedle *QwtAnalogClock::hand( Hand hd ) const
-{
-    return const_cast<QwtAnalogClock *>( this )->hand( hd );
-}
-
-/*!
-  \brief Set the current time
-*/
-void QwtAnalogClock::setCurrentTime()
-{
-    setTime( QTime::currentTime() );
-}
-
-/*!
-  Set a time
-  \param time Time to display
-*/
-void QwtAnalogClock::setTime( const QTime &time )
-{
-    if ( time.isValid() )
-    {
-        setValue( ( time.hour() % 12 ) * 60.0 * 60.0
-            + time.minute() * 60.0 + time.second() );
-    }
-    else
-        setValid( false );
-}
-
-/*!
-  \brief Draw the needle
-
-  A clock has no single needle but three hands instead. drawNeedle()
-  translates value() into directions for the hands and calls
-  drawHand().
-
-  \param painter Painter
-  \param center Center of the clock
-  \param radius Maximum length for the hands
-  \param dir Dummy, not used.
-  \param colorGroup ColorGroup
-
-  \sa drawHand()
-*/
-void QwtAnalogClock::drawNeedle( QPainter *painter, const QPointF &center,
-    double radius, double dir, QPalette::ColorGroup colorGroup ) const
-{
-    Q_UNUSED( dir );
-
-    if ( isValid() )
-    {
-        const double hours = value() / ( 60.0 * 60.0 );
-        const double minutes = 
-            ( value() - qFloor(hours) * 60.0 * 60.0 ) / 60.0;
-        const double seconds = value() - qFloor(hours) * 60.0 * 60.0
-            - qFloor(minutes) * 60.0;
-
-        double angle[NHands];
-        angle[HourHand] = 360.0 * hours / 12.0;
-        angle[MinuteHand] = 360.0 * minutes / 60.0;
-        angle[SecondHand] = 360.0 * seconds / 60.0;
-
-        for ( int hand = 0; hand < NHands; hand++ )
-        {
-            const double d = 360.0 - angle[hand] - origin();
-            drawHand( painter, static_cast<Hand>( hand ), 
-                center, radius, d, colorGroup );
-        }
-    }
-}
-
-/*!
-  Draw a clock hand
-
-  \param painter Painter
-  \param hd Specify the type of hand
-  \param center Center of the clock
-  \param radius Maximum length for the hands
-  \param direction Direction of the hand in degrees, counter clockwise
-  \param cg ColorGroup
-*/
-void QwtAnalogClock::drawHand( QPainter *painter, Hand hd,
-    const QPointF &center, double radius, double direction,
-    QPalette::ColorGroup cg ) const
-{
-    const QwtDialNeedle *needle = hand( hd );
-    if ( needle )
-    {
-        if ( hd == HourHand )
-            radius = qRound( 0.8 * radius );
-
-        needle->draw( painter, center, radius, direction, cg );
-    }
-}
diff --git a/SRC/Qwt/src/qwt_analog_clock.h b/SRC/Qwt/src/qwt_analog_clock.h
deleted file mode 100644
index 781a334..0000000
--- a/SRC/Qwt/src/qwt_analog_clock.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_ANALOG_CLOCK_H
-#define QWT_ANALOG_CLOCK_H
-
-#include "qwt_global.h"
-#include "qwt_dial.h"
-#include "qwt_dial_needle.h"
-#include <qdatetime.h>
-
-/*!
-  \brief An analog clock
-
-  \image html analogclock.png
-
-  \par Example
-  \code 
-  #include <qwt_analog_clock.h>
-
-  QwtAnalogClock *clock = new QwtAnalogClock(...);
-  clock->scaleDraw()->setPenWidth(3);
-  clock->setLineWidth(6);
-  clock->setFrameShadow(QwtDial::Sunken);
-  clock->setTime();
-
-  // update the clock every second
-  QTimer *timer = new QTimer(clock);
-  timer->connect(timer, SIGNAL(timeout()), clock, SLOT(setCurrentTime()));
-  timer->start(1000);
-
-  \endcode
-
-  \note The examples/dials example shows how to use QwtAnalogClock.
-*/
-
-class QWT_EXPORT QwtAnalogClock: public QwtDial
-{
-    Q_OBJECT
-
-public:
-    /*!
-        Hand type
-        \sa setHand(), hand()
-    */
-    enum Hand
-    {
-        //! Needle displaying the seconds
-        SecondHand,
-
-        //! Needle displaying the minutes
-        MinuteHand,
-
-        //! Needle displaying the hours
-        HourHand,
-
-        //! Number of needles
-        NHands
-    };
-
-    explicit QwtAnalogClock( QWidget* parent = NULL );
-    virtual ~QwtAnalogClock();
-
-    void setHand( Hand, QwtDialNeedle * );
-
-    const QwtDialNeedle *hand( Hand ) const;
-    QwtDialNeedle *hand( Hand );
-
-public Q_SLOTS:
-    void setCurrentTime();
-    void setTime( const QTime & );
-
-protected:
-    virtual void drawNeedle( QPainter *, const QPointF &,
-        double radius, double direction, QPalette::ColorGroup ) const;
-
-    virtual void drawHand( QPainter *, Hand, const QPointF &,
-        double radius, double direction, QPalette::ColorGroup ) const;
-
-private:
-    // use setHand instead
-    void setNeedle( QwtDialNeedle * );
-
-    QwtDialNeedle *d_hand[NHands];
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_arrow_button.cpp b/SRC/Qwt/src/qwt_arrow_button.cpp
deleted file mode 100644
index 28fe2a6..0000000
--- a/SRC/Qwt/src/qwt_arrow_button.cpp
+++ /dev/null
@@ -1,333 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_arrow_button.h"
-#include "qwt_math.h"
-#include <qpainter.h>
-#include <qstyle.h>
-#include <qstyleoption.h>
-#include <qevent.h>
-#include <qapplication.h>
-
-static const int MaxNum = 3;
-static const int Margin = 2;
-static const int Spacing = 1;
-
-class QwtArrowButton::PrivateData
-{
-public:
-    int num;
-    Qt::ArrowType arrowType;
-};
-
-static QStyleOptionButton styleOpt( const QwtArrowButton* btn )
-{
-    QStyleOptionButton option;
-    option.init( btn );
-    option.features = QStyleOptionButton::None;
-    if ( btn->isFlat() )
-        option.features |= QStyleOptionButton::Flat;
-    if ( btn->menu() )
-        option.features |= QStyleOptionButton::HasMenu;
-    if ( btn->autoDefault() || btn->isDefault() )
-        option.features |= QStyleOptionButton::AutoDefaultButton;
-    if ( btn->isDefault() )
-        option.features |= QStyleOptionButton::DefaultButton;
-    if ( btn->isDown() )
-        option.state |= QStyle::State_Sunken;
-    if ( !btn->isFlat() && !btn->isDown() )
-        option.state |= QStyle::State_Raised;
-
-    return option;
-}
-
-/*!
-  \param num Number of arrows
-  \param arrowType see Qt::ArrowType in the Qt docs.
-  \param parent Parent widget
-*/
-QwtArrowButton::QwtArrowButton( int num,
-        Qt::ArrowType arrowType, QWidget *parent ):
-    QPushButton( parent )
-{
-    d_data = new PrivateData;
-    d_data->num = qBound( 1, num, MaxNum );
-    d_data->arrowType = arrowType;
-
-    setAutoRepeat( true );
-    setAutoDefault( false );
-
-    switch ( d_data->arrowType )
-    {
-        case Qt::LeftArrow:
-        case Qt::RightArrow:
-            setSizePolicy( QSizePolicy::Expanding,
-                QSizePolicy::Fixed );
-            break;
-        default:
-            setSizePolicy( QSizePolicy::Fixed,
-                QSizePolicy::Expanding );
-    }
-}
-
-//! Destructor
-QwtArrowButton::~QwtArrowButton()
-{
-    delete d_data;
-    d_data = NULL;
-}
-
-/*!
-  \brief The direction of the arrows
-*/
-Qt::ArrowType QwtArrowButton::arrowType() const
-{
-    return d_data->arrowType;
-}
-
-/*!
-  \brief The number of arrows
-*/
-int QwtArrowButton::num() const
-{
-    return d_data->num;
-}
-
-/*!
-  \return the bounding rectangle for the label
-*/
-QRect QwtArrowButton::labelRect() const
-{
-    const int m = Margin;
-
-    QRect r = rect();
-    r.setRect( r.x() + m, r.y() + m,
-        r.width() - 2 * m, r.height() - 2 * m );
-
-    if ( isDown() )
-    {
-        QStyleOptionButton option = styleOpt( this );
-        const int ph = style()->pixelMetric(
-            QStyle::PM_ButtonShiftHorizontal, &option, this );
-        const int pv = style()->pixelMetric(
-            QStyle::PM_ButtonShiftVertical, &option, this );
-
-        r.translate( ph, pv );
-    }
-
-    return r;
-}
-
-/*!
-   Paint event handler
-   \param event Paint event
-*/
-void QwtArrowButton::paintEvent( QPaintEvent *event )
-{
-    QPushButton::paintEvent( event );
-    QPainter painter( this );
-    drawButtonLabel( &painter );
-}
-
-/*!
-  \brief Draw the button label
-
-  \param painter Painter
-  \sa The Qt Manual for QPushButton
-*/
-void QwtArrowButton::drawButtonLabel( QPainter *painter )
-{
-    const bool isVertical = d_data->arrowType == Qt::UpArrow ||
-        d_data->arrowType == Qt::DownArrow;
-
-    const QRect r = labelRect();
-    QSize boundingSize = labelRect().size();
-    if ( isVertical )
-        boundingSize.transpose();
-
-    const int w =
-        ( boundingSize.width() - ( MaxNum - 1 ) * Spacing ) / MaxNum;
-
-    QSize arrow = arrowSize( Qt::RightArrow,
-        QSize( w, boundingSize.height() ) );
-
-    if ( isVertical )
-        arrow.transpose();
-
-    QRect contentsSize; // aligned rect where to paint all arrows
-    if ( d_data->arrowType == Qt::LeftArrow || d_data->arrowType == Qt::RightArrow )
-    {
-        contentsSize.setWidth( d_data->num * arrow.width()
-            + ( d_data->num - 1 ) * Spacing );
-        contentsSize.setHeight( arrow.height() );
-    }
-    else
-    {
-        contentsSize.setWidth( arrow.width() );
-        contentsSize.setHeight( d_data->num * arrow.height()
-            + ( d_data->num - 1 ) * Spacing );
-    }
-
-    QRect arrowRect( contentsSize );
-    arrowRect.moveCenter( r.center() );
-    arrowRect.setSize( arrow );
-
-    painter->save();
-    for ( int i = 0; i < d_data->num; i++ )
-    {
-        drawArrow( painter, arrowRect, d_data->arrowType );
-
-        int dx = 0;
-        int dy = 0;
-
-        if ( isVertical )
-            dy = arrow.height() + Spacing;
-        else
-            dx = arrow.width() + Spacing;
-
-        arrowRect.translate( dx, dy );
-    }
-    painter->restore();
-
-    if ( hasFocus() )
-    {
-        QStyleOptionFocusRect option;
-        option.init( this );
-        option.backgroundColor = palette().color( QPalette::Window );
-
-        style()->drawPrimitive( QStyle::PE_FrameFocusRect,
-            &option, painter, this );
-    }
-}
-
-/*!
-    Draw an arrow int a bounding rectangle
-
-    \param painter Painter
-    \param r Rectangle where to paint the arrow
-    \param arrowType Arrow type
-*/
-void QwtArrowButton::drawArrow( QPainter *painter,
-    const QRect &r, Qt::ArrowType arrowType ) const
-{
-    QPolygon pa( 3 );
-
-    switch ( arrowType )
-    {
-        case Qt::UpArrow:
-            pa.setPoint( 0, r.bottomLeft() );
-            pa.setPoint( 1, r.bottomRight() );
-            pa.setPoint( 2, r.center().x(), r.top() );
-            break;
-        case Qt::DownArrow:
-            pa.setPoint( 0, r.topLeft() );
-            pa.setPoint( 1, r.topRight() );
-            pa.setPoint( 2, r.center().x(), r.bottom() );
-            break;
-        case Qt::RightArrow:
-            pa.setPoint( 0, r.topLeft() );
-            pa.setPoint( 1, r.bottomLeft() );
-            pa.setPoint( 2, r.right(), r.center().y() );
-            break;
-        case Qt::LeftArrow:
-            pa.setPoint( 0, r.topRight() );
-            pa.setPoint( 1, r.bottomRight() );
-            pa.setPoint( 2, r.left(), r.center().y() );
-            break;
-        default:
-            break;
-    }
-
-    painter->save();
-
-    painter->setRenderHint( QPainter::Antialiasing, true );
-    painter->setPen( Qt::NoPen );
-    painter->setBrush( palette().brush( QPalette::ButtonText ) );
-    painter->drawPolygon( pa );
-
-    painter->restore();
-}
-
-/*!
-  \return a size hint
-*/
-QSize QwtArrowButton::sizeHint() const
-{
-    const QSize hint = minimumSizeHint();
-    return hint.expandedTo( QApplication::globalStrut() );
-}
-
-/*!
-  \brief Return a minimum size hint
-*/
-QSize QwtArrowButton::minimumSizeHint() const
-{
-    const QSize asz = arrowSize( Qt::RightArrow, QSize() );
-
-    QSize sz(
-        2 * Margin + ( MaxNum - 1 ) * Spacing + MaxNum * asz.width(),
-        2 * Margin + asz.height()
-    );
-
-    if ( d_data->arrowType == Qt::UpArrow || d_data->arrowType == Qt::DownArrow )
-        sz.transpose();
-
-    QStyleOption styleOption;
-    styleOption.init( this );
-
-    sz = style()->sizeFromContents( QStyle::CT_PushButton,
-        &styleOption, sz, this );
-
-    return sz;
-}
-
-/*!
-   Calculate the size for a arrow that fits into a rectangle of a given size
-
-   \param arrowType Arrow type
-   \param boundingSize Bounding size
-   \return Size of the arrow
-*/
-QSize QwtArrowButton::arrowSize( Qt::ArrowType arrowType,
-    const QSize &boundingSize ) const
-{
-    QSize bs = boundingSize;
-    if ( arrowType == Qt::UpArrow || arrowType == Qt::DownArrow )
-        bs.transpose();
-
-    const int MinLen = 2;
-    const QSize sz = bs.expandedTo(
-        QSize( MinLen, 2 * MinLen - 1 ) ); // minimum
-
-    int w = sz.width();
-    int h = 2 * w - 1;
-
-    if ( h > sz.height() )
-    {
-        h = sz.height();
-        w = ( h + 1 ) / 2;
-    }
-
-    QSize arrSize( w, h );
-    if ( arrowType == Qt::UpArrow || arrowType == Qt::DownArrow )
-        arrSize.transpose();
-
-    return arrSize;
-}
-
-/*!
-  \brief autoRepeat for the space keys
-*/
-void QwtArrowButton::keyPressEvent( QKeyEvent *event )
-{
-    if ( event->isAutoRepeat() && event->key() == Qt::Key_Space )
-        Q_EMIT clicked();
-
-    QPushButton::keyPressEvent( event );
-}
diff --git a/SRC/Qwt/src/qwt_arrow_button.h b/SRC/Qwt/src/qwt_arrow_button.h
deleted file mode 100644
index b3285da..0000000
--- a/SRC/Qwt/src/qwt_arrow_button.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_ARROW_BUTTON_H
-#define QWT_ARROW_BUTTON_H
-
-#include "qwt_global.h"
-#include <qpushbutton.h>
-
-/*!
-  \brief Arrow Button
-
-  A push button with one or more filled triangles on its front.
-  An Arrow button can have 1 to 3 arrows in a row, pointing
-  up, down, left or right.
-*/
-class QWT_EXPORT QwtArrowButton : public QPushButton
-{
-public:
-    explicit QwtArrowButton ( int num, Qt::ArrowType, QWidget *parent = NULL );
-    virtual ~QwtArrowButton();
-
-    Qt::ArrowType arrowType() const;
-    int num() const;
-
-    virtual QSize sizeHint() const;
-    virtual QSize minimumSizeHint() const;
-
-protected:
-    virtual void paintEvent( QPaintEvent *event );
-
-    virtual void drawButtonLabel( QPainter *p );
-    virtual void drawArrow( QPainter *,
-        const QRect &, Qt::ArrowType ) const;
-    virtual QRect labelRect() const;
-    virtual QSize arrowSize( Qt::ArrowType,
-        const QSize &boundingSize ) const;
-
-    virtual void keyPressEvent( QKeyEvent * );
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_clipper.cpp b/SRC/Qwt/src/qwt_clipper.cpp
deleted file mode 100644
index 0602c8d..0000000
--- a/SRC/Qwt/src/qwt_clipper.cpp
+++ /dev/null
@@ -1,510 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_clipper.h"
-#include "qwt_point_polar.h"
-#include <qrect.h>
-#include <string.h>
-#include <stdlib.h>
-
-#if QT_VERSION < 0x040601
-#define qAtan(x) ::atan(x)
-#endif
-
-namespace QwtClip
-{
-    // some templates used for inlining
-    template <class Point, typename T> class LeftEdge;
-    template <class Point, typename T> class RightEdge;
-    template <class Point, typename T> class TopEdge;
-    template <class Point, typename T> class BottomEdge;
-
-    template <class Point> class PointBuffer;
-}
-
-template <class Point, typename Value>
-class QwtClip::LeftEdge
-{
-public:
-    inline LeftEdge( Value x1, Value, Value, Value ):
-        d_x1( x1 )
-    {
-    }
-
-    inline bool isInside( const Point &p  ) const
-    {
-        return p.x() >= d_x1;
-    }
-
-    inline Point intersection( const Point &p1, const Point &p2 ) const
-    {
-        double dy = ( p1.y() - p2.y() ) / double( p1.x() - p2.x() );
-        return Point( d_x1, static_cast< Value >( p2.y() + ( d_x1 - p2.x() ) * dy ) );
-    }
-private:
-    const Value d_x1;
-};
-
-template <class Point, typename Value>
-class QwtClip::RightEdge
-{
-public:
-    inline RightEdge( Value, Value x2, Value, Value ):
-        d_x2( x2 )
-    {
-    }
-
-    inline bool isInside( const Point &p  ) const
-    {
-        return p.x() <= d_x2;
-    }
-
-    inline Point intersection( const Point &p1, const Point &p2 ) const
-    {
-        double dy = ( p1.y() - p2.y() ) / double( p1.x() - p2.x() );
-        return Point( d_x2, static_cast<Value>( p2.y() + ( d_x2 - p2.x() ) * dy ) );
-    }
-
-private:
-    const Value d_x2;
-};
-
-template <class Point, typename Value>
-class QwtClip::TopEdge
-{
-public:
-    inline TopEdge( Value, Value, Value y1, Value ):
-        d_y1( y1 )
-    {
-    }
-
-    inline bool isInside( const Point &p  ) const
-    {
-        return p.y() >= d_y1;
-    }
-
-    inline Point intersection( const Point &p1, const Point &p2 ) const
-    {
-        double dx = ( p1.x() - p2.x() ) / double( p1.y() - p2.y() );
-        return Point( static_cast<Value>( p2.x() + ( d_y1 - p2.y() ) * dx ), d_y1 );
-    }
-
-private:
-    const Value d_y1;
-};
-
-template <class Point, typename Value>
-class QwtClip::BottomEdge
-{
-public:
-    inline BottomEdge( Value, Value, Value, Value y2 ):
-        d_y2( y2 )
-    {
-    }
-
-    inline bool isInside( const Point &p ) const
-    {
-        return p.y() <= d_y2;
-    }
-
-    inline Point intersection( const Point &p1, const Point &p2 ) const
-    {
-        double dx = ( p1.x() - p2.x() ) / double( p1.y() - p2.y() );
-        return Point( static_cast<Value>( p2.x() + ( d_y2 - p2.y() ) * dx ), d_y2 );
-    }
-
-private:
-    const Value d_y2;
-};
-
-template<class Point>
-class QwtClip::PointBuffer
-{
-public:
-    PointBuffer( int capacity = 0 ):
-        m_capacity( 0 ),
-        m_size( 0 ),
-        m_buffer( NULL )
-    {
-        if ( capacity > 0 )
-            reserve( capacity );
-    }
-
-    ~PointBuffer()
-    {
-        if ( m_buffer )
-            ::free( m_buffer );
-    }
-
-    inline void setPoints( int numPoints, const Point *points )
-    {
-        reserve( numPoints );
-
-        m_size = numPoints;
-        ::memcpy( m_buffer, points, m_size * sizeof( Point ) );
-    }
-
-    inline void reset() 
-    { 
-        m_size = 0; 
-    }
-
-    inline int size() const 
-    { 
-        return m_size; 
-    }
-
-    inline Point *data() const 
-    { 
-        return m_buffer; 
-    }
-
-    inline Point &operator[]( int i ) 
-    { 
-        return m_buffer[i]; 
-    }
-
-    inline const Point &operator[]( int i ) const 
-    { 
-        return m_buffer[i]; 
-    }
-
-    inline void add( const Point &point )
-    {
-        if ( m_capacity <= m_size )
-            reserve( m_size + 1 );
-
-        m_buffer[m_size++] = point;
-    }
-
-private:
-    inline void reserve( int size )
-    {
-        if ( m_capacity == 0 )
-            m_capacity = 1;
-
-        while ( m_capacity < size )
-            m_capacity *= 2;
-
-        m_buffer = static_cast<Point *>( 
-            ::realloc( m_buffer, m_capacity * sizeof( Point ) ) );
-    }
-
-    int m_capacity;
-    int m_size;
-    Point *m_buffer;
-};
-
-using namespace QwtClip;
-
-template <class Polygon, class Rect, class Point, typename T>
-class QwtPolygonClipper
-{
-public:
-    QwtPolygonClipper( const Rect &clipRect ):
-        d_clipRect( clipRect )
-    {
-    }
-
-    Polygon clipPolygon( const Polygon &polygon, bool closePolygon ) const
-    {
-#if 0
-        if ( d_clipRect.contains( polygon.boundingRect() ) )
-            return polygon;
-#endif
-
-        PointBuffer<Point> points1;
-        PointBuffer<Point> points2( qMin( 256, polygon.size() ) );
-
-        points1.setPoints( polygon.size(), polygon.data() );
-
-        clipEdge< LeftEdge<Point, T> >( closePolygon, points1, points2 );
-        clipEdge< RightEdge<Point, T> >( closePolygon, points2, points1 );
-        clipEdge< TopEdge<Point, T> >( closePolygon, points1, points2 );
-        clipEdge< BottomEdge<Point, T> >( closePolygon, points2, points1 );
-
-        Polygon p;
-        p.resize( points1.size() );
-        ::memcpy( p.data(), points1.data(), points1.size() * sizeof( Point ) );
-
-        return p;
-    }
-
-private:
-    template <class Edge>
-    inline void clipEdge( bool closePolygon,
-        PointBuffer<Point> &points, PointBuffer<Point> &clippedPoints ) const
-    {
-        clippedPoints.reset();
-
-        if ( points.size() < 2 )
-        {
-            if ( points.size() == 1 )
-                clippedPoints.add( points[0] );
-            return;
-        }
-
-        const Edge edge( d_clipRect.x(), d_clipRect.x() + d_clipRect.width(),
-            d_clipRect.y(), d_clipRect.y() + d_clipRect.height() );
-
-        int lastPos, start;
-        if ( closePolygon )
-        {
-            start = 0;
-            lastPos = points.size() - 1;
-        }
-        else
-        {
-            start = 1;
-            lastPos = 0;
-
-            if ( edge.isInside( points[0] ) )
-                clippedPoints.add( points[0] );
-        }
-
-        const uint nPoints = points.size();
-        for ( uint i = start; i < nPoints; i++ )
-        {
-            const Point &p1 = points[i];
-            const Point &p2 = points[lastPos];
-
-            if ( edge.isInside( p1 ) )
-            {
-                if ( edge.isInside( p2 ) )
-                {
-                    clippedPoints.add( p1 );
-                }
-                else
-                {
-                    clippedPoints.add( edge.intersection( p1, p2 ) );
-                    clippedPoints.add( p1 );
-                }
-            }
-            else
-            {
-                if ( edge.isInside( p2 ) )
-                {
-                    clippedPoints.add( edge.intersection( p1, p2 ) );
-                }
-            }
-            lastPos = i;
-        }
-    }
-
-    const Rect d_clipRect;
-};
-
-class QwtCircleClipper
-{
-public:
-    QwtCircleClipper( const QRectF &r );
-    QVector<QwtInterval> clipCircle( const QPointF &, double radius ) const;
-
-private:
-    enum Edge
-    {
-        Left,
-        Top,
-        Right,
-        Bottom,
-
-        NEdges
-    };
-
-    QList<QPointF> cuttingPoints(
-        Edge, const QPointF &pos, double radius ) const;
-
-    double toAngle( const QPointF &, const QPointF & ) const;
-
-    const QRectF d_rect;
-};
-
-
-QwtCircleClipper::QwtCircleClipper( const QRectF &r ):
-    d_rect( r )
-{
-}
-
-QVector<QwtInterval> QwtCircleClipper::clipCircle(
-    const QPointF &pos, double radius ) const
-{
-    QList<QPointF> points;
-    for ( int edge = 0; edge < NEdges; edge++ )
-        points += cuttingPoints( static_cast<Edge>(edge), pos, radius );
-
-    QVector<QwtInterval> intv;
-    if ( points.size() <= 0 )
-    {
-        QRectF cRect( 0, 0, 2 * radius, 2 * radius );
-        cRect.moveCenter( pos );
-        if ( d_rect.contains( cRect ) )
-            intv += QwtInterval( 0.0, 2 * M_PI );
-    }
-    else
-    {
-        QList<double> angles;
-        for ( int i = 0; i < points.size(); i++ )
-            angles += toAngle( pos, points[i] );
-        qSort( angles );
-
-        const int in = d_rect.contains( qwtPolar2Pos( pos, radius,
-            angles[0] + ( angles[1] - angles[0] ) / 2 ) );
-
-        if ( in )
-        {
-            for ( int i = 0; i < angles.size() - 1; i += 2 )
-                intv += QwtInterval( angles[i], angles[i+1] );
-        }
-        else
-        {
-            for ( int i = 1; i < angles.size() - 1; i += 2 )
-                intv += QwtInterval( angles[i], angles[i+1] );
-            intv += QwtInterval( angles.last(), angles.first() );
-        }
-    }
-
-    return intv;
-}
-
-double QwtCircleClipper::toAngle(
-    const QPointF &from, const QPointF &to ) const
-{
-    if ( from.x() == to.x() )
-        return from.y() <= to.y() ? M_PI / 2.0 : 3 * M_PI / 2.0;
-
-    const double m = qAbs( ( to.y() - from.y() ) / ( to.x() - from.x() ) );
-
-    double angle = qAtan( m );
-    if ( to.x() > from.x() )
-    {
-        if ( to.y() > from.y() )
-            angle = 2 * M_PI - angle;
-    }
-    else
-    {
-        if ( to.y() > from.y() )
-            angle = M_PI + angle;
-        else
-            angle = M_PI - angle;
-    }
-
-    return angle;
-}
-
-QList<QPointF> QwtCircleClipper::cuttingPoints(
-    Edge edge, const QPointF &pos, double radius ) const
-{
-    QList<QPointF> points;
-
-    if ( edge == Left || edge == Right )
-    {
-        const double x = ( edge == Left ) ? d_rect.left() : d_rect.right();
-        if ( qAbs( pos.x() - x ) < radius )
-        {
-            const double off = qSqrt( qwtSqr( radius ) - qwtSqr( pos.x() - x ) );
-            const double m_y1 = pos.y() + off;
-            if ( m_y1 >= d_rect.top() && m_y1 <= d_rect.bottom() )
-                points += QPointF( x, m_y1 );
-
-            const double m_y2 = pos.y() - off;
-            if ( m_y2 >= d_rect.top() && m_y2 <= d_rect.bottom() )
-                points += QPointF( x, m_y2 );
-        }
-    }
-    else
-    {
-        const double y = ( edge == Top ) ? d_rect.top() : d_rect.bottom();
-        if ( qAbs( pos.y() - y ) < radius )
-        {
-            const double off = qSqrt( qwtSqr( radius ) - qwtSqr( pos.y() - y ) );
-            const double x1 = pos.x() + off;
-            if ( x1 >= d_rect.left() && x1 <= d_rect.right() )
-                points += QPointF( x1, y );
-
-            const double m_x2 = pos.x() - off;
-            if ( m_x2 >= d_rect.left() && m_x2 <= d_rect.right() )
-                points += QPointF( m_x2, y );
-        }
-    }
-    return points;
-}
-
-/*!
-   Sutherland-Hodgman polygon clipping
-
-   \param clipRect Clip rectangle
-   \param polygon Polygon
-   \param closePolygon True, when the polygon is closed
-
-   \return Clipped polygon
-*/
-QPolygon QwtClipper::clipPolygon(
-    const QRectF &clipRect, const QPolygon &polygon, bool closePolygon )
-{
-    const int minX = qCeil( clipRect.left() );
-    const int maxX = qFloor( clipRect.right() );
-    const int minY = qCeil( clipRect.top() );
-    const int maxY = qFloor( clipRect.bottom() );
-
-    const QRect r( minX, minY, maxX - minX, maxY - minY );
-
-    QwtPolygonClipper<QPolygon, QRect, QPoint, int> clipper( r );
-    return clipper.clipPolygon( polygon, closePolygon );
-}
-/*!
-   Sutherland-Hodgman polygon clipping
-
-   \param clipRect Clip rectangle
-   \param polygon Polygon
-   \param closePolygon True, when the polygon is closed
-
-   \return Clipped polygon
-*/
-QPolygon QwtClipper::clipPolygon(
-    const QRect &clipRect, const QPolygon &polygon, bool closePolygon )
-{
-    QwtPolygonClipper<QPolygon, QRect, QPoint, int> clipper( clipRect );
-    return clipper.clipPolygon( polygon, closePolygon );
-}
-
-/*!
-   Sutherland-Hodgman polygon clipping
-
-   \param clipRect Clip rectangle
-   \param polygon Polygon
-   \param closePolygon True, when the polygon is closed
-
-   \return Clipped polygon
-*/
-QPolygonF QwtClipper::clipPolygonF(
-    const QRectF &clipRect, const QPolygonF &polygon, bool closePolygon )
-{
-    QwtPolygonClipper<QPolygonF, QRectF, QPointF, double> clipper( clipRect );
-    return clipper.clipPolygon( polygon, closePolygon );
-}
-
-/*!
-   Circle clipping
-
-   clipCircle() divides a circle into intervals of angles representing arcs
-   of the circle. When the circle is completely inside the clip rectangle
-   an interval [0.0, 2 * M_PI] is returned.
-
-   \param clipRect Clip rectangle
-   \param center Center of the circle
-   \param radius Radius of the circle
-
-   \return Arcs of the circle
-*/
-QVector<QwtInterval> QwtClipper::clipCircle( const QRectF &clipRect,
-    const QPointF &center, double radius )
-{
-    QwtCircleClipper clipper( clipRect );
-    return clipper.clipCircle( center, radius );
-}
diff --git a/SRC/Qwt/src/qwt_clipper.h b/SRC/Qwt/src/qwt_clipper.h
deleted file mode 100644
index ad69489..0000000
--- a/SRC/Qwt/src/qwt_clipper.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_CLIPPER_H
-#define QWT_CLIPPER_H
-
-#include "qwt_global.h"
-#include "qwt_interval.h"
-#include <qpolygon.h>
-#include <qvector.h>
-
-class QRect;
-class QRectF;
-
-/*!
-  \brief Some clipping algorithms
-*/
-
-class QWT_EXPORT QwtClipper
-{
-public:
-    static QPolygon clipPolygon( const QRect &, 
-        const QPolygon &, bool closePolygon = false );
-    static QPolygon clipPolygon( const QRectF &, 
-        const QPolygon &, bool closePolygon = false );
-
-    static QPolygonF clipPolygonF( const QRectF &, 
-        const QPolygonF &, bool closePolygon = false );
-
-    static QVector<QwtInterval> clipCircle(
-        const QRectF &, const QPointF &, double radius );
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_color_map.cpp b/SRC/Qwt/src/qwt_color_map.cpp
deleted file mode 100644
index 5490627..0000000
--- a/SRC/Qwt/src/qwt_color_map.cpp
+++ /dev/null
@@ -1,499 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_color_map.h"
-#include "qwt_math.h"
-#include "qwt_interval.h"
-#include <qnumeric.h>
-
-class QwtLinearColorMap::ColorStops
-{
-public:
-    ColorStops():
-        d_doAlpha( false )
-    {
-        d_stops.reserve( 256 );
-    }
-
-    void insert( double pos, const QColor &color );
-    QRgb rgb( QwtLinearColorMap::Mode, double pos ) const;
-
-    QVector<double> stops() const;
-
-private:
-
-    class ColorStop
-    {
-    public:
-        ColorStop():
-            pos( 0.0 ),
-            rgb( 0 )
-        {
-        };
-
-        ColorStop( double p, const QColor &c ):
-            pos( p ),
-            rgb( c.rgba() )
-        {
-            r = qRed( rgb );
-            g = qGreen( rgb );
-            b = qBlue( rgb );
-            a = qAlpha( rgb );
-
-            /* 
-                when mapping a value to rgb we will have to calcualate: 
-                   - const int v = int( ( s1.v0 + ratio * s1.vStep ) + 0.5 );
-
-                Thus adding 0.5 ( for rounding ) can be done in advance
-             */
-            r0 = r + 0.5;
-            g0 = g + 0.5;
-            b0 = b + 0.5;
-            a0 = a + 0.5;
-
-            rStep = gStep = bStep = aStep = 0.0;
-            posStep = 0.0;
-        }
-
-        void updateSteps( const ColorStop &nextStop )
-        {
-            rStep = nextStop.r - r;
-            gStep = nextStop.g - g;
-            bStep = nextStop.b - b;
-            aStep = nextStop.a - a;
-            posStep = nextStop.pos - pos;
-        }
-
-        double pos;
-        QRgb rgb;
-        int r, g, b, a;
-
-        // precalculated values
-        double rStep, gStep, bStep, aStep;
-        double r0, g0, b0, a0;
-        double posStep;
-    };
-
-    inline int findUpper( double pos ) const;
-    QVector<ColorStop> d_stops;
-    bool d_doAlpha;
-};
-
-void QwtLinearColorMap::ColorStops::insert( double pos, const QColor &color )
-{
-    // Lookups need to be very fast, insertions are not so important.
-    // Anyway, a balanced tree is what we need here. TODO ...
-
-    if ( pos < 0.0 || pos > 1.0 )
-        return;
-
-    int index;
-    if ( d_stops.size() == 0 )
-    {
-        index = 0;
-        d_stops.resize( 1 );
-    }
-    else
-    {
-        index = findUpper( pos );
-        if ( index == d_stops.size() ||
-                qAbs( d_stops[index].pos - pos ) >= 0.001 )
-        {
-            d_stops.resize( d_stops.size() + 1 );
-            for ( int i = d_stops.size() - 1; i > index; i-- )
-                d_stops[i] = d_stops[i-1];
-        }
-    }
-
-    d_stops[index] = ColorStop( pos, color );
-    if ( color.alpha() != 255 )
-        d_doAlpha = true;
-
-    if ( index > 0 )
-        d_stops[index-1].updateSteps( d_stops[index] );
-
-    if ( index < d_stops.size() - 1 )
-        d_stops[index].updateSteps( d_stops[index+1] );
-}
-
-inline QVector<double> QwtLinearColorMap::ColorStops::stops() const
-{
-    QVector<double> positions( d_stops.size() );
-    for ( int i = 0; i < d_stops.size(); i++ )
-        positions[i] = d_stops[i].pos;
-    return positions;
-}
-
-inline int QwtLinearColorMap::ColorStops::findUpper( double pos ) const
-{
-    int index = 0;
-    int n = d_stops.size();
-
-    const ColorStop *stops = d_stops.data();
-
-    while ( n > 0 )
-    {
-        const int half = n >> 1;
-        const int middle = index + half;
-
-        if ( stops[middle].pos <= pos )
-        {
-            index = middle + 1;
-            n -= half + 1;
-        }
-        else
-            n = half;
-    }
-
-    return index;
-}
-
-inline QRgb QwtLinearColorMap::ColorStops::rgb(
-    QwtLinearColorMap::Mode mode, double pos ) const
-{
-    if ( pos <= 0.0 )
-        return d_stops[0].rgb;
-    if ( pos >= 1.0 )
-        return d_stops[ d_stops.size() - 1 ].rgb;
-
-    const int index = findUpper( pos );
-    if ( mode == FixedColors )
-    {
-        return d_stops[index-1].rgb;
-    }
-    else
-    {
-        const ColorStop &s1 = d_stops[index-1];
-
-        const double ratio = ( pos - s1.pos ) / ( s1.posStep );
-
-        const int r = int( s1.r0 + ratio * s1.rStep );
-        const int g = int( s1.g0 + ratio * s1.gStep );
-        const int b = int( s1.b0 + ratio * s1.bStep );
-
-        if ( d_doAlpha )
-        {
-            if ( s1.aStep )
-            {
-                const int a = int( s1.a0 + ratio * s1.aStep );
-                return qRgba( r, g, b, a );
-            }
-            else
-            {
-                return qRgba( r, g, b, s1.a );
-            }
-        }
-        else
-        {
-            return qRgb( r, g, b );
-        }
-    }
-}
-
-//! Constructor
-QwtColorMap::QwtColorMap( Format format ):
-    d_format( format )
-{
-}
-
-//! Destructor
-QwtColorMap::~QwtColorMap()
-{
-}
-
-/*!
-   Build and return a color map of 256 colors
-
-   The color table is needed for rendering indexed images in combination
-   with using colorIndex().
-
-   \param interval Range for the values
-   \return A color table, that can be used for a QImage
-*/
-QVector<QRgb> QwtColorMap::colorTable( const QwtInterval &interval ) const
-{
-    QVector<QRgb> table( 256 );
-
-    if ( interval.isValid() )
-    {
-        const double step = interval.width() / ( table.size() - 1 );
-        for ( int i = 0; i < table.size(); i++ )
-            table[i] = rgb( interval, interval.minValue() + step * i );
-    }
-
-    return table;
-}
-
-class QwtLinearColorMap::PrivateData
-{
-public:
-    ColorStops colorStops;
-    QwtLinearColorMap::Mode mode;
-};
-
-/*!
-   Build a color map with two stops at 0.0 and 1.0. The color
-   at 0.0 is Qt::blue, at 1.0 it is Qt::yellow.
-
-   \param format Preferred format of the color map
-*/
-QwtLinearColorMap::QwtLinearColorMap( QwtColorMap::Format format ):
-    QwtColorMap( format )
-{
-    d_data = new PrivateData;
-    d_data->mode = ScaledColors;
-
-    setColorInterval( Qt::blue, Qt::yellow );
-}
-
-/*!
-   Build a color map with two stops at 0.0 and 1.0.
-
-   \param color1 Color used for the minimum value of the value interval
-   \param color2 Color used for the maximum value of the value interval
-   \param format Preferred format for the color map
-*/
-QwtLinearColorMap::QwtLinearColorMap( const QColor &color1,
-        const QColor &color2, QwtColorMap::Format format ):
-    QwtColorMap( format )
-{
-    d_data = new PrivateData;
-    d_data->mode = ScaledColors;
-    setColorInterval( color1, color2 );
-}
-
-//! Destructor
-QwtLinearColorMap::~QwtLinearColorMap()
-{
-    delete d_data;
-}
-
-/*!
-   \brief Set the mode of the color map
-
-   FixedColors means the color is calculated from the next lower
-   color stop. ScaledColors means the color is calculated
-   by interpolating the colors of the adjacent stops.
-
-   \sa mode()
-*/
-void QwtLinearColorMap::setMode( Mode mode )
-{
-    d_data->mode = mode;
-}
-
-/*!
-   \return Mode of the color map
-   \sa setMode()
-*/
-QwtLinearColorMap::Mode QwtLinearColorMap::mode() const
-{
-    return d_data->mode;
-}
-
-/*!
-   Set the color range
-
-   Add stops at 0.0 and 1.0.
-
-   \param color1 Color used for the minimum value of the value interval
-   \param color2 Color used for the maximum value of the value interval
-
-   \sa color1(), color2()
-*/
-void QwtLinearColorMap::setColorInterval(
-    const QColor &color1, const QColor &color2 )
-{
-    d_data->colorStops = ColorStops();
-    d_data->colorStops.insert( 0.0, color1 );
-    d_data->colorStops.insert( 1.0, color2 );
-}
-
-/*!
-   Add a color stop
-
-   The value has to be in the range [0.0, 1.0].
-   F.e. a stop at position 17.0 for a range [10.0,20.0] must be
-   passed as: (17.0 - 10.0) / (20.0 - 10.0)
-
-   \param value Value between [0.0, 1.0]
-   \param color Color stop
-*/
-void QwtLinearColorMap::addColorStop( double value, const QColor& color )
-{
-    if ( value >= 0.0 && value <= 1.0 )
-        d_data->colorStops.insert( value, color );
-}
-
-/*!
-   \return Positions of color stops in increasing order
-*/
-QVector<double> QwtLinearColorMap::colorStops() const
-{
-    return d_data->colorStops.stops();
-}
-
-/*!
-  \return the first color of the color range
-  \sa setColorInterval()
-*/
-QColor QwtLinearColorMap::color1() const
-{
-    return QColor( d_data->colorStops.rgb( d_data->mode, 0.0 ) );
-}
-
-/*!
-  \return the second color of the color range
-  \sa setColorInterval()
-*/
-QColor QwtLinearColorMap::color2() const
-{
-    return QColor( d_data->colorStops.rgb( d_data->mode, 1.0 ) );
-}
-
-/*!
-  Map a value of a given interval into a RGB value
-
-  \param interval Range for all values
-  \param value Value to map into a RGB value
-
-  \return RGB value for value
-*/
-QRgb QwtLinearColorMap::rgb(
-    const QwtInterval &interval, double value ) const
-{
-    if ( qIsNaN(value) )
-        return 0u;
-
-    const double width = interval.width();
-    if ( width <= 0.0 )
-        return 0u;
-
-    const double ratio = ( value - interval.minValue() ) / width;
-    return d_data->colorStops.rgb( d_data->mode, ratio );
-}
-
-/*!
-  \brief Map a value of a given interval into a color index
-
-  \param interval Range for all values
-  \param value Value to map into a color index
-
-  \return Index, between 0 and 255
-*/
-unsigned char QwtLinearColorMap::colorIndex(
-    const QwtInterval &interval, double value ) const
-{
-    const double width = interval.width();
-
-    if ( qIsNaN(value) || width <= 0.0 || value <= interval.minValue() )
-        return 0;
-
-    if ( value >= interval.maxValue() )
-        return 255;
-
-    const double ratio = ( value - interval.minValue() ) / width;
-
-    unsigned char index;
-    if ( d_data->mode == FixedColors )
-        index = static_cast<unsigned char>( ratio * 255 ); // always floor
-    else
-        index = static_cast<unsigned char>( ratio * 255 + 0.5 );
-
-    return index;
-}
-
-class QwtAlphaColorMap::PrivateData
-{
-public:
-    QColor color;
-    QRgb rgb;
-    QRgb rgbMax;
-};
-
-
-/*!
-   Constructor
-   \param color Color of the map
-*/
-QwtAlphaColorMap::QwtAlphaColorMap( const QColor &color ):
-    QwtColorMap( QwtColorMap::RGB )
-{
-    d_data = new PrivateData;
-    setColor( color );
-}
-
-//! Destructor
-QwtAlphaColorMap::~QwtAlphaColorMap()
-{
-    delete d_data;
-}
-
-/*!
-   Set the color
-
-   \param color Color
-   \sa color()
-*/
-void QwtAlphaColorMap::setColor( const QColor &color )
-{
-    d_data->color = color;
-    d_data->rgb = color.rgb() & qRgba( 255, 255, 255, 0 );
-    d_data->rgbMax = d_data->rgb | ( 255 << 24 );
-}
-
-/*!
-  \return the color
-  \sa setColor()
-*/
-QColor QwtAlphaColorMap::color() const
-{
-    return d_data->color;
-}
-
-/*!
-  \brief Map a value of a given interval into a alpha value
-
-  alpha := (value - interval.minValue()) / interval.width();
-
-  \param interval Range for all values
-  \param value Value to map into a RGB value
-  \return RGB value, with an alpha value
-*/
-QRgb QwtAlphaColorMap::rgb( const QwtInterval &interval, double value ) const
-{
-    if ( qIsNaN(value) )
-        return 0u;
-
-    const double width = interval.width();
-    if ( width <= 0.0 )
-        return 0u;
-
-    if ( value <= interval.minValue() )
-        return d_data->rgb;
-
-    if ( value >= interval.maxValue() )
-        return d_data->rgbMax;
-
-    const double ratio = ( value - interval.minValue() ) / width;
-    return d_data->rgb | ( qRound( 255 * ratio ) << 24 );
-}
-
-/*!
-  Dummy function, needed to be implemented as it is pure virtual
-  in QwtColorMap. Color indices make no sense in combination with
-  an alpha channel.
-
-  \return Always 0
-*/
-unsigned char QwtAlphaColorMap::colorIndex(
-    const QwtInterval &, double ) const
-{
-    return 0;
-}
diff --git a/SRC/Qwt/src/qwt_color_map.h b/SRC/Qwt/src/qwt_color_map.h
deleted file mode 100644
index f36e564..0000000
--- a/SRC/Qwt/src/qwt_color_map.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_COLOR_MAP_H
-#define QWT_COLOR_MAP_H
-
-#include "qwt_global.h"
-#include "qwt_interval.h"
-#include <qcolor.h>
-#include <qvector.h>
-
-/*!
-  \brief QwtColorMap is used to map values into colors.
-
-  For displaying 3D data on a 2D plane the 3rd dimension is often
-  displayed using colors, like f.e in a spectrogram.
-
-  Each color map is optimized to return colors for only one of the
-  following image formats:
-
-  - QImage::Format_Indexed8\n
-  - QImage::Format_ARGB32\n
-
-  \sa QwtPlotSpectrogram, QwtScaleWidget
-*/
-
-class QWT_EXPORT QwtColorMap
-{
-public:
-    /*!
-        Format for color mapping
-        \sa rgb(), colorIndex(), colorTable()
-    */
-
-    enum Format
-    {
-        //! The map is intended to map into RGB values.
-        RGB,
-
-        /*!
-          The map is intended to map into 8 bit values, that
-          are indices into the color table.
-         */
-        Indexed
-    };
-
-    QwtColorMap( Format = QwtColorMap::RGB );
-    virtual ~QwtColorMap();
-
-    Format format() const;
-
-    /*!
-       Map a value of a given interval into a RGB value.
-
-       \param interval Range for the values
-       \param value Value
-       \return RGB value, corresponding to value
-    */
-    virtual QRgb rgb( const QwtInterval &interval,
-        double value ) const = 0;
-
-    /*!
-       Map a value of a given interval into a color index
-
-       \param interval Range for the values
-       \param value Value
-       \return color index, corresponding to value
-     */
-    virtual unsigned char colorIndex(
-        const QwtInterval &interval, double value ) const = 0;
-
-    QColor color( const QwtInterval &, double value ) const;
-    virtual QVector<QRgb> colorTable( const QwtInterval & ) const;
-
-private:
-    Format d_format;
-};
-
-/*!
-  \brief QwtLinearColorMap builds a color map from color stops.
-
-  A color stop is a color at a specific position. The valid
-  range for the positions is [0.0, 1.0]. When mapping a value
-  into a color it is translated into this interval according to mode().
-*/
-class QWT_EXPORT QwtLinearColorMap: public QwtColorMap
-{
-public:
-    /*!
-       Mode of color map
-       \sa setMode(), mode()
-    */
-    enum Mode
-    {
-        //! Return the color from the next lower color stop
-        FixedColors,
-
-        //! Interpolating the colors of the adjacent stops.
-        ScaledColors
-    };
-
-    QwtLinearColorMap( QwtColorMap::Format = QwtColorMap::RGB );
-    QwtLinearColorMap( const QColor &from, const QColor &to,
-        QwtColorMap::Format = QwtColorMap::RGB );
-
-    virtual ~QwtLinearColorMap();
-
-    void setMode( Mode );
-    Mode mode() const;
-
-    void setColorInterval( const QColor &color1, const QColor &color2 );
-    void addColorStop( double value, const QColor& );
-    QVector<double> colorStops() const;
-
-    QColor color1() const;
-    QColor color2() const;
-
-    virtual QRgb rgb( const QwtInterval &, double value ) const;
-    virtual unsigned char colorIndex(
-        const QwtInterval &, double value ) const;
-
-    class ColorStops;
-
-private:
-    // Disabled copy constructor and operator=
-    QwtLinearColorMap( const QwtLinearColorMap & );
-    QwtLinearColorMap &operator=( const QwtLinearColorMap & );
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-/*!
-  \brief QwtAlphaColorMap varies the alpha value of a color
-*/
-class QWT_EXPORT QwtAlphaColorMap: public QwtColorMap
-{
-public:
-    QwtAlphaColorMap( const QColor & = QColor( Qt::gray ) );
-    virtual ~QwtAlphaColorMap();
-
-    void setColor( const QColor & );
-    QColor color() const;
-
-    virtual QRgb rgb( const QwtInterval &, double value ) const;
-
-private:
-    QwtAlphaColorMap( const QwtAlphaColorMap & );
-    QwtAlphaColorMap &operator=( const QwtAlphaColorMap & );
-
-    virtual unsigned char colorIndex(
-        const QwtInterval &, double value ) const;
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-
-/*!
-   Map a value into a color
-
-   \param interval Valid interval for values
-   \param value Value
-
-   \return Color corresponding to value
-
-   \warning This method is slow for Indexed color maps. If it is
-            necessary to map many values, its better to get the
-            color table once and find the color using colorIndex().
-*/
-inline QColor QwtColorMap::color(
-    const QwtInterval &interval, double value ) const
-{
-    if ( d_format == RGB )
-    {
-        return QColor::fromRgba( rgb( interval, value ) );
-    }
-    else
-    {
-        const unsigned int index = colorIndex( interval, value );
-        return colorTable( interval )[index]; // slow
-    }
-}
-
-/*!
-   \return Intended format of the color map
-   \sa Format
-*/
-inline QwtColorMap::Format QwtColorMap::format() const
-{
-    return d_format;
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_column_symbol.cpp b/SRC/Qwt/src/qwt_column_symbol.cpp
deleted file mode 100644
index ab428d9..0000000
--- a/SRC/Qwt/src/qwt_column_symbol.cpp
+++ /dev/null
@@ -1,293 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_column_symbol.h"
-#include "qwt_math.h"
-#include "qwt_painter.h"
-#include <qpainter.h>
-#include <qpalette.h>
-
-static void qwtDrawBox( QPainter *p, const QRectF &rect,
-    const QPalette &pal, double lw )
-{
-    if ( lw > 0.0 )
-    {
-        if ( rect.width() == 0.0 )
-        {
-            p->setPen( pal.dark().color() );
-            p->drawLine( rect.topLeft(), rect.bottomLeft() );
-            return;
-        }
-
-        if ( rect.height() == 0.0 )
-        {
-            p->setPen( pal.dark().color() );
-            p->drawLine( rect.topLeft(), rect.topRight() );
-            return;
-        }
-
-        lw = qMin( lw, rect.height() / 2.0 - 1.0 );
-        lw = qMin( lw, rect.width() / 2.0 - 1.0 );
-
-        const QRectF outerRect = rect.adjusted( 0, 0, 1, 1 );
-        QPolygonF polygon( outerRect );
-
-        if ( outerRect.width() > 2 * lw &&
-                outerRect.height() > 2 * lw )
-        {
-            const QRectF innerRect = outerRect.adjusted( lw, lw, -lw, -lw );
-            polygon = polygon.subtracted( innerRect );
-        }
-
-        p->setPen( Qt::NoPen );
-
-        p->setBrush( pal.dark() );
-        p->drawPolygon( polygon );
-    }
-
-    const QRectF windowRect = rect.adjusted( lw, lw, -lw + 1, -lw + 1 );
-    if ( windowRect.isValid() )
-        p->fillRect( windowRect, pal.window() );
-}
-
-static void qwtDrawPanel( QPainter *painter, const QRectF &rect,
-    const QPalette &pal, double lw )
-{
-    if ( lw > 0.0 )
-    {
-        if ( rect.width() == 0.0 )
-        {
-            painter->setPen( pal.window().color() );
-            painter->drawLine( rect.topLeft(), rect.bottomLeft() );
-            return;
-        }
-
-        if ( rect.height() == 0.0 )
-        {
-            painter->setPen( pal.window().color() );
-            painter->drawLine( rect.topLeft(), rect.topRight() );
-            return;
-        }
-
-        lw = qMin( lw, rect.height() / 2.0 - 1.0 );
-        lw = qMin( lw, rect.width() / 2.0 - 1.0 );
-
-        const QRectF outerRect = rect.adjusted( 0, 0, 1, 1 );
-        const QRectF innerRect = outerRect.adjusted( lw, lw, -lw, -lw );
-
-        QPolygonF lines[2];
-
-        lines[0] += outerRect.bottomLeft();
-        lines[0] += outerRect.topLeft();
-        lines[0] += outerRect.topRight();
-        lines[0] += innerRect.topRight();
-        lines[0] += innerRect.topLeft();
-        lines[0] += innerRect.bottomLeft();
-
-        lines[1] += outerRect.topRight();
-        lines[1] += outerRect.bottomRight();
-        lines[1] += outerRect.bottomLeft();
-        lines[1] += innerRect.bottomLeft();
-        lines[1] += innerRect.bottomRight();
-        lines[1] += innerRect.topRight();
-
-        painter->setPen( Qt::NoPen );
-
-        painter->setBrush( pal.light() );
-        painter->drawPolygon( lines[0] );
-        painter->setBrush( pal.dark() );
-        painter->drawPolygon( lines[1] );
-    }
-
-    painter->fillRect( rect.adjusted( lw, lw, -lw + 1, -lw + 1 ), pal.window() );
-}
-
-class QwtColumnSymbol::PrivateData
-{
-public:
-    PrivateData():
-        style( QwtColumnSymbol::Box ),
-        frameStyle( QwtColumnSymbol::Raised ),
-        lineWidth( 2 )
-    {
-        palette = QPalette( Qt::gray );
-    }
-
-    QwtColumnSymbol::Style style;
-    QwtColumnSymbol::FrameStyle frameStyle;
-
-    QPalette palette;
-    int lineWidth;
-};
-
-/*!
-  Constructor
-
-  \param style Style of the symbol
-  \sa setStyle(), style(), Style
-*/
-QwtColumnSymbol::QwtColumnSymbol( Style style )
-{
-    d_data = new PrivateData();
-    d_data->style = style;
-}
-
-//! Destructor
-QwtColumnSymbol::~QwtColumnSymbol()
-{
-    delete d_data;
-}
-
-/*!
-  Specify the symbol style
-
-  \param style Style
-  \sa style(), setPalette()
-*/
-void QwtColumnSymbol::setStyle( Style style )
-{
-    d_data->style = style;
-}
-
-/*!
-  \return Current symbol style
-  \sa setStyle()
-*/
-QwtColumnSymbol::Style QwtColumnSymbol::style() const
-{
-    return d_data->style;
-}
-
-/*!
-  Assign a palette for the symbol
-
-  \param palette Palette
-  \sa palette(), setStyle()
-*/
-void QwtColumnSymbol::setPalette( const QPalette &palette )
-{
-    d_data->palette = palette;
-}
-
-/*!
-  \return Current palette
-  \sa setPalette()
-*/
-const QPalette& QwtColumnSymbol::palette() const
-{
-    return d_data->palette;
-}
-
-/*!
-   Set the frame, that is used for the Box style.
-
-   \param frameStyle Frame style
-   \sa frameStyle(), setLineWidth(), setStyle()
-*/
-void QwtColumnSymbol::setFrameStyle( FrameStyle frameStyle )
-{
-    d_data->frameStyle = frameStyle;
-}
-
-/*!
-  \return Current frame style, that is used for the Box style.
-  \sa setFrameStyle(), lineWidth(), setStyle()
-*/
-QwtColumnSymbol::FrameStyle QwtColumnSymbol::frameStyle() const
-{
-    return d_data->frameStyle;
-}
-
-/*!
-   Set the line width of the frame, that is used for the Box style.
-
-   \param width Width
-   \sa lineWidth(), setFrameStyle()
-*/
-void QwtColumnSymbol::setLineWidth( int width )
-{
-    if ( width < 0 )
-        width = 0;
-
-    d_data->lineWidth = width;
-}
-
-/*!
-  \return Line width of the frame, that is used for the Box style.
-  \sa setLineWidth(), frameStyle(), setStyle()
-*/
-int QwtColumnSymbol::lineWidth() const
-{
-    return d_data->lineWidth;
-}
-
-/*!
-  Draw the symbol depending on its style.
-
-  \param painter Painter
-  \param rect Directed rectangle
-
-  \sa drawBox()
-*/
-void QwtColumnSymbol::draw( QPainter *painter,
-    const QwtColumnRect &rect ) const
-{
-    painter->save();
-
-    switch ( d_data->style )
-    {
-        case QwtColumnSymbol::Box:
-        {
-            drawBox( painter, rect );
-            break;
-        }
-        default:;
-    }
-
-    painter->restore();
-}
-
-/*!
-  Draw the symbol when it is in Box style.
-
-  \param painter Painter
-  \param rect Directed rectangle
-
-  \sa draw()
-*/
-void QwtColumnSymbol::drawBox( QPainter *painter,
-    const QwtColumnRect &rect ) const
-{
-    QRectF r = rect.toRect();
-    if ( QwtPainter::roundingAlignment( painter ) )
-    {
-        r.setLeft( qRound( r.left() ) );
-        r.setRight( qRound( r.right() ) );
-        r.setTop( qRound( r.top() ) );
-        r.setBottom( qRound( r.bottom() ) );
-    }
-
-    switch ( d_data->frameStyle )
-    {
-        case QwtColumnSymbol::Raised:
-        {
-            qwtDrawPanel( painter, r, d_data->palette, d_data->lineWidth );
-            break;
-        }
-        case QwtColumnSymbol::Plain:
-        {
-            qwtDrawBox( painter, r, d_data->palette, d_data->lineWidth );
-            break;
-        }
-        default:
-        {
-            painter->fillRect( r, d_data->palette.window() );
-        }
-    }
-}
diff --git a/SRC/Qwt/src/qwt_column_symbol.h b/SRC/Qwt/src/qwt_column_symbol.h
deleted file mode 100644
index 83d9a2e..0000000
--- a/SRC/Qwt/src/qwt_column_symbol.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_COLUMN_SYMBOL_H
-#define QWT_COLUMN_SYMBOL_H
-
-#include "qwt_global.h"
-#include "qwt_interval.h"
-#include <qpen.h>
-#include <qsize.h>
-#include <qrect.h>
-
-class QPainter;
-class QPalette;
-class QRect;
-class QwtText;
-
-/*!
-    \brief Directed rectangle representing bounding rectangle and orientation
-    of a column.
-*/
-class QWT_EXPORT QwtColumnRect
-{
-public:
-    //! Direction of the column
-    enum Direction
-    {
-        //! From left to right
-        LeftToRight,
-
-        //! From right to left
-        RightToLeft,
-
-        //! From bottom to top
-        BottomToTop,
-
-        //! From top to bottom
-        TopToBottom
-    };
-
-    //! Build an rectangle with invalid intervals directed BottomToTop.
-    QwtColumnRect():
-        direction( BottomToTop )
-    {
-    }
-
-    //! \return A normalized QRect built from the intervals
-    QRectF toRect() const
-    {
-        QRectF r( hInterval.minValue(), vInterval.minValue(),
-            hInterval.maxValue() - hInterval.minValue(),
-            vInterval.maxValue() - vInterval.minValue() );
-        r = r.normalized();
-
-        if ( hInterval.borderFlags() & QwtInterval::ExcludeMinimum )
-            r.adjust( 1, 0, 0, 0 );
-        if ( hInterval.borderFlags() & QwtInterval::ExcludeMaximum )
-            r.adjust( 0, 0, -1, 0 );
-        if ( vInterval.borderFlags() & QwtInterval::ExcludeMinimum )
-            r.adjust( 0, 1, 0, 0 );
-        if ( vInterval.borderFlags() & QwtInterval::ExcludeMaximum )
-            r.adjust( 0, 0, 0, -1 );
-
-        return r;
-    }
-
-    //! \return Orientation
-    Qt::Orientation orientation() const
-    {
-        if ( direction == LeftToRight || direction == RightToLeft )
-            return Qt::Horizontal;
-
-        return Qt::Vertical;
-    }
-
-    //! Interval for the horizontal coordinates
-    QwtInterval hInterval;
-
-    //! Interval for the vertical coordinates
-    QwtInterval vInterval;
-
-    //! Direction
-    Direction direction;
-};
-
-//! A drawing primitive for columns
-class QWT_EXPORT QwtColumnSymbol
-{
-public:
-    /*!
-      Style
-      \sa setStyle(), style()
-    */
-    enum Style
-    {
-        //! No Style, the symbol draws nothing
-        NoStyle = -1,
-
-        /*!
-          The column is painted with a frame depending on the frameStyle()
-          and lineWidth() using the palette().
-         */
-        Box,
-
-        /*!
-          Styles >= QwtColumnSymbol::UserStyle are reserved for derived
-          classes of QwtColumnSymbol that overload draw() with
-          additional application specific symbol types.
-         */
-        UserStyle = 1000
-    };
-
-    /*!
-      Frame Style used in Box style().
-      \sa Style, setFrameStyle(), frameStyle(), setStyle(), setPalette()
-     */
-    enum FrameStyle
-    {
-        //! No frame
-        NoFrame,
-
-        //! A plain frame style
-        Plain,
-
-        //! A raised frame style
-        Raised
-    };
-
-public:
-    QwtColumnSymbol( Style = NoStyle );
-    virtual ~QwtColumnSymbol();
-
-    void setFrameStyle( FrameStyle style );
-    FrameStyle frameStyle() const;
-
-    void setLineWidth( int width );
-    int lineWidth() const;
-
-    void setPalette( const QPalette & );
-    const QPalette &palette() const;
-
-    void setStyle( Style );
-    Style style() const;
-
-    virtual void draw( QPainter *, const QwtColumnRect & ) const;
-
-protected:
-    void drawBox( QPainter *, const QwtColumnRect & ) const;
-
-private:
-    class PrivateData;
-    PrivateData* d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_compass.cpp b/SRC/Qwt/src/qwt_compass.cpp
deleted file mode 100644
index f503f8e..0000000
--- a/SRC/Qwt/src/qwt_compass.cpp
+++ /dev/null
@@ -1,308 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_compass.h"
-#include "qwt_compass_rose.h"
-#include "qwt_math.h"
-#include "qwt_scale_draw.h"
-#include "qwt_painter.h"
-#include "qwt_dial_needle.h"
-#include <qpainter.h>
-#include <qpixmap.h>
-#include <qevent.h>
-
-/*! 
-  \brief Constructor
-
-  Initializes a label map for multiples of 45 degrees
- */
-QwtCompassScaleDraw::QwtCompassScaleDraw()
-{
-    enableComponent( QwtAbstractScaleDraw::Backbone, false );
-    enableComponent( QwtAbstractScaleDraw::Ticks, false );
-
-    d_labelMap.insert( 0.0, QString::fromLatin1( "N" ) );
-    d_labelMap.insert( 45.0, QString::fromLatin1( "NE" ) );
-    d_labelMap.insert( 90.0, QString::fromLatin1( "E" ) );
-    d_labelMap.insert( 135.0, QString::fromLatin1( "SE" ) );
-    d_labelMap.insert( 180.0, QString::fromLatin1( "S" ) );
-    d_labelMap.insert( 225.0, QString::fromLatin1( "SW" ) );
-    d_labelMap.insert( 270.0, QString::fromLatin1( "W" ) );
-    d_labelMap.insert( 315.0, QString::fromLatin1( "NW" ) );
-
-#if 0
-    d_labelMap.insert( 22.5, QString::fromLatin1( "NNE" ) );
-    d_labelMap.insert( 67.5, QString::fromLatin1( "NEE" ) );
-    d_labelMap.insert( 112.5, QString::fromLatin1( "SEE" ) );
-    d_labelMap.insert( 157.5, QString::fromLatin1( "SSE" ) );
-    d_labelMap.insert( 202.5, QString::fromLatin1( "SSW" ) );
-    d_labelMap.insert( 247.5, QString::fromLatin1( "SWW" ) );
-    d_labelMap.insert( 292.5, QString::fromLatin1( "NWW" ) );
-    d_labelMap.insert( 337.5, QString::fromLatin1( "NNW" ) );
-#endif
-}
-
-/*! 
-  \brief Constructor
-
-  \param map Value to label map
- */
-QwtCompassScaleDraw::QwtCompassScaleDraw( const QMap<double, QString> &map ):
-    d_labelMap( map )
-{
-    enableComponent( QwtAbstractScaleDraw::Backbone, false );
-    enableComponent( QwtAbstractScaleDraw::Ticks, false );
-}
-
-/*!
-  \brief Set a map, mapping values to labels
-  \param map Value to label map
-
-  The values of the major ticks are found by looking into this
-  map. The default map consists of the labels N, NE, E, SE, S, SW, W, NW.
-
-  \warning The map will have no effect for values that are no major
-           tick values. Major ticks can be changed by QwtScaleDraw::setScale
-
-  \sa labelMap(), scaleDraw(), setScale()
-*/
-void QwtCompassScaleDraw::setLabelMap( const QMap<double, QString> &map )
-{
-    d_labelMap = map;
-}
-
-
-/*!
-  \return map, mapping values to labels
-  \sa setLabelMap()
-*/
-QMap<double, QString> QwtCompassScaleDraw::labelMap() const
-{
-    return d_labelMap;
-}
-
-/*!
-  Map a value to a corresponding label
-
-  \param value Value that will be mapped
-
-  label() looks in the labelMap() for a corresponding label for value
-  or returns an null text.
-
-  \return Label, or QString::null
-  \sa labelMap(), setLabelMap()
-*/
-
-QwtText QwtCompassScaleDraw::label( double value ) const
-{
-    if ( qFuzzyCompare( value + 1.0, 1.0 ) )
-        value = 0.0;
-
-    if ( value < 0.0 )
-        value += 360.0;
-
-    if ( d_labelMap.contains( value ) )
-        return d_labelMap[value];
-
-    return QwtText();
-}
-
-class QwtCompass::PrivateData
-{
-public:
-    PrivateData():
-        rose( NULL )
-    {
-    }
-
-    ~PrivateData()
-    {
-        delete rose;
-    }
-
-    QwtCompassRose *rose;
-};
-
-/*!
-  \brief Constructor
-  \param parent Parent widget
-
-  Create a compass widget with a scale, no needle and no rose.
-  The default origin is 270.0 with no valid value. It accepts
-  mouse and keyboard inputs and has no step size. The default mode
-  is QwtDial::RotateNeedle.
-*/
-QwtCompass::QwtCompass( QWidget* parent ):
-    QwtDial( parent )
-{
-    d_data = new PrivateData;
-
-    setScaleDraw( new QwtCompassScaleDraw() );
-
-    setOrigin( 270.0 );
-    setWrapping( true );
-
-    setScaleMaxMajor( 36 );
-    setScaleMaxMinor( 10 );
-
-    setScale( 0.0, 360.0 ); // degrees as default
-    setTotalSteps( 360 );
-}
-
-//!  Destructor
-QwtCompass::~QwtCompass()
-{
-    delete d_data;
-}
-
-
-/*!
-   Draw the contents of the scale
-
-   \param painter Painter
-   \param center Center of the content circle
-   \param radius Radius of the content circle
-*/
-void QwtCompass::drawScaleContents( QPainter *painter,
-    const QPointF &center, double radius ) const
-{
-    QPalette::ColorGroup cg;
-    if ( isEnabled() )
-        cg = hasFocus() ? QPalette::Active : QPalette::Inactive;
-    else
-        cg = QPalette::Disabled;
-
-    double north = origin();
-    if ( isValid() )
-    {
-        if ( mode() == RotateScale )
-            north -= value();
-    }
-
-    const int margin = 4;
-    drawRose( painter, center, radius - margin, 360.0 - north,  cg );
-}
-
-/*!
-  Draw the compass rose
-
-  \param painter Painter
-  \param center Center of the compass
-  \param radius of the circle, where to paint the rose
-  \param north Direction pointing north, in degrees counter clockwise
-  \param cg Color group
-*/
-void QwtCompass::drawRose( QPainter *painter, const QPointF &center,
-    double radius, double north, QPalette::ColorGroup cg ) const
-{
-    if ( d_data->rose )
-        d_data->rose->draw( painter, center, radius, north,  cg );
-}
-
-/*!
-  Set a rose for the compass
-  \param rose Compass rose
-  \warning The rose will be deleted, when a different rose is
-    set or in ~QwtCompass
-  \sa rose()
-*/
-void QwtCompass::setRose( QwtCompassRose *rose )
-{
-    if ( rose != d_data->rose )
-    {
-        if ( d_data->rose )
-            delete d_data->rose;
-
-        d_data->rose = rose;
-        update();
-    }
-}
-
-/*!
-  \return rose
-  \sa setRose()
-*/
-const QwtCompassRose *QwtCompass::rose() const
-{
-    return d_data->rose;
-}
-
-/*!
-  \return rose
-  \sa setRose()
-*/
-QwtCompassRose *QwtCompass::rose()
-{
-    return d_data->rose;
-}
-
-/*!
-  Handles key events
-
-  Beside the keys described in QwtDial::keyPressEvent numbers
-  from 1-9 (without 5) set the direction according to their
-  position on the num pad.
-
-  \sa isReadOnly()
-*/
-void QwtCompass::keyPressEvent( QKeyEvent *kev )
-{
-    if ( isReadOnly() )
-        return;
-
-#if 0
-    if ( kev->key() == Key_5 )
-    {
-        invalidate(); // signal ???
-        return;
-    }
-#endif
-
-    double newValue = value();
-
-    if ( kev->key() >= Qt::Key_1 && kev->key() <= Qt::Key_9 )
-    {
-        if ( mode() != RotateNeedle || kev->key() == Qt::Key_5 )
-            return;
-
-        switch ( kev->key() )
-        {
-            case Qt::Key_6:
-                newValue = 180.0 * 0.0;
-                break;
-            case Qt::Key_3:
-                newValue = 180.0 * 0.25;
-                break;
-            case Qt::Key_2:
-                newValue = 180.0 * 0.5;
-                break;
-            case Qt::Key_1:
-                newValue = 180.0 * 0.75;
-                break;
-            case Qt::Key_4:
-                newValue = 180.0 * 1.0;
-                break;
-            case Qt::Key_7:
-                newValue = 180.0 * 1.25;
-                break;
-            case Qt::Key_8:
-                newValue = 180.0 * 1.5;
-                break;
-            case Qt::Key_9:
-                newValue = 180.0 * 1.75;
-                break;
-        }
-        newValue -= origin();
-        setValue( newValue );
-    }
-    else
-    {
-        QwtDial::keyPressEvent( kev );
-    }
-}
diff --git a/SRC/Qwt/src/qwt_compass.h b/SRC/Qwt/src/qwt_compass.h
deleted file mode 100644
index 9ef3480..0000000
--- a/SRC/Qwt/src/qwt_compass.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_COMPASS_H
-#define QWT_COMPASS_H 1
-
-#include "qwt_global.h"
-#include "qwt_dial.h"
-#include "qwt_round_scale_draw.h"
-#include <qstring.h>
-#include <qmap.h>
-
-class QwtCompassRose;
-
-/*!
-  \brief A special scale draw made for QwtCompass
-
-  QwtCompassScaleDraw maps values to strings using
-  a special map, that can be modified by the application
-
-  The default map consists of the labels N, NE, E, SE, S, SW, W, NW.
-
-  \sa QwtCompass
-*/
-class QWT_EXPORT QwtCompassScaleDraw: public QwtRoundScaleDraw
-{
-public:
-    explicit QwtCompassScaleDraw();
-    explicit QwtCompassScaleDraw( const QMap<double, QString> &map );
-
-    void setLabelMap( const QMap<double, QString> &map );
-    QMap<double, QString> labelMap() const;
-
-    virtual QwtText label( double value ) const;
-
-private:
-    QMap<double, QString> d_labelMap;
-};
-
-/*!
-  \brief A Compass Widget
-
-  QwtCompass is a widget to display and enter directions. It consists
-  of a scale, an optional needle and rose.
-
-  \image html dials1.png
-
-  \note The examples/dials example shows how to use QwtCompass.
-*/
-
-class QWT_EXPORT QwtCompass: public QwtDial
-{
-    Q_OBJECT
-
-public:
-    explicit QwtCompass( QWidget* parent = NULL );
-    virtual ~QwtCompass();
-
-    void setRose( QwtCompassRose *rose );
-    const QwtCompassRose *rose() const;
-    QwtCompassRose *rose();
-
-protected:
-    virtual void drawRose( QPainter *, const QPointF &center,
-        double radius, double north, QPalette::ColorGroup ) const;
-
-    virtual void drawScaleContents( QPainter *,
-        const QPointF &center, double radius ) const;
-
-    virtual void keyPressEvent( QKeyEvent * );
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_compass_rose.cpp b/SRC/Qwt/src/qwt_compass_rose.cpp
deleted file mode 100644
index a470302..0000000
--- a/SRC/Qwt/src/qwt_compass_rose.cpp
+++ /dev/null
@@ -1,269 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_compass_rose.h"
-#include "qwt_point_polar.h"
-#include "qwt_painter.h"
-#include <qpainter.h>
-
-static QPointF qwtIntersection( 
-    QPointF p11, QPointF p12, QPointF p21, QPointF p22 )
-{
-    const QLineF line1( p11, p12 );
-    const QLineF line2( p21, p22 );
-
-    QPointF pos;
-    if ( line1.intersect( line2, &pos ) == QLineF::NoIntersection )
-        return QPointF();
-
-    return pos;
-}
-
-class QwtSimpleCompassRose::PrivateData
-{
-public:
-    PrivateData():
-        width( 0.2 ),
-        numThorns( 8 ),
-        numThornLevels( -1 ),
-        shrinkFactor( 0.9 )
-    {
-    }
-
-    double width;
-    int numThorns;
-    int numThornLevels;
-    double shrinkFactor;
-};
-
-/*!
-   Constructor
-
-   \param numThorns Number of thorns
-   \param numThornLevels Number of thorn levels
-*/
-QwtSimpleCompassRose::QwtSimpleCompassRose(
-    int numThorns, int numThornLevels )
-{
-    d_data = new PrivateData();
-    d_data->numThorns = numThorns;
-    d_data->numThornLevels = numThornLevels;
-
-    const QColor dark( 128, 128, 255 );
-    const QColor light( 192, 255, 255 );
-
-    QPalette palette;
-    palette.setColor( QPalette::Dark, dark );
-    palette.setColor( QPalette::Light, light );
-
-    setPalette( palette );
-}
-
-//! Destructor
-QwtSimpleCompassRose::~QwtSimpleCompassRose()
-{
-    delete d_data;
-}
-
-/*!
-  Set the Factor how to shrink the thorns with each level
-  The default value is 0.9.
-
-  \param factor Shrink factor
-  \sa shrinkFactor()
-*/
-void QwtSimpleCompassRose::setShrinkFactor( double factor )
-{
-    d_data->shrinkFactor = factor;
-}
-
-/*!
-  \return Factor how to shrink the thorns with each level
-  \sa setShrinkFactor()
-*/
-double QwtSimpleCompassRose::shrinkFactor() const
-{
-    return d_data->shrinkFactor;
-}
-
-/*!
-   Draw the rose
-
-   \param painter Painter
-   \param center Center point
-   \param radius Radius of the rose
-   \param north Position
-   \param cg Color group
-*/
-void QwtSimpleCompassRose::draw( QPainter *painter, const QPointF &center,
-    double radius, double north, QPalette::ColorGroup cg ) const
-{
-    QPalette pal = palette();
-    pal.setCurrentColorGroup( cg );
-
-    drawRose( painter, pal, center, radius, north, d_data->width,
-        d_data->numThorns, d_data->numThornLevels, d_data->shrinkFactor );
-}
-
-/*!
-   Draw the rose
-
-   \param painter Painter
-   \param palette Palette
-   \param center Center of the rose
-   \param radius Radius of the rose
-   \param north Position pointing to north
-   \param width Width of the rose
-   \param numThorns Number of thorns
-   \param numThornLevels Number of thorn levels
-   \param shrinkFactor Factor to shrink the thorns with each level
-*/
-void QwtSimpleCompassRose::drawRose(
-    QPainter *painter,
-    const QPalette &palette,
-    const QPointF &center, double radius, double north, double width,
-    int numThorns, int numThornLevels, double shrinkFactor )
-{
-    if ( numThorns < 4 )
-        numThorns = 4;
-
-    if ( numThorns % 4 )
-        numThorns += 4 - numThorns % 4;
-
-    if ( numThornLevels <= 0 )
-        numThornLevels = numThorns / 4;
-
-    if ( shrinkFactor >= 1.0 )
-        shrinkFactor = 1.0;
-
-    if ( shrinkFactor <= 0.5 )
-        shrinkFactor = 0.5;
-
-    painter->save();
-
-    painter->setPen( Qt::NoPen );
-
-    for ( int j = 1; j <= numThornLevels; j++ )
-    {
-        double step =  qPow( 2.0, j ) * M_PI / numThorns;
-        if ( step > M_PI_2 )
-            break;
-
-        double r = radius;
-        for ( int k = 0; k < 3; k++ )
-        {
-            if ( j + k < numThornLevels )
-                r *= shrinkFactor;
-        }
-
-        double leafWidth = r * width;
-        if ( 2.0 * M_PI / step > 32 )
-            leafWidth = 16;
-
-        const double origin = qwtRadians( north );
-        for ( double angle = origin;
-            angle < 2.0 * M_PI + origin; angle += step )
-        {
-            const QPointF p = qwtPolar2Pos( center, r, angle );
-            const QPointF p1 = qwtPolar2Pos( center, leafWidth, angle + M_PI_2 );
-            const QPointF p2 = qwtPolar2Pos( center, leafWidth, angle - M_PI_2 );
-            const QPointF p3 = qwtPolar2Pos( center, r, angle + step / 2.0 );
-            const QPointF p4 = qwtPolar2Pos( center, r, angle - step / 2.0 );
-
-            QPainterPath darkPath;
-            darkPath.moveTo( center );
-            darkPath.lineTo( p );
-            darkPath.lineTo( qwtIntersection( center, p3, p1, p ) );
-
-            painter->setBrush( palette.brush( QPalette::Dark ) );
-            painter->drawPath( darkPath );
-
-            QPainterPath lightPath;
-            lightPath.moveTo( center );
-            lightPath.lineTo( p );
-            lightPath.lineTo( qwtIntersection( center, p4, p2, p ) );
-
-            painter->setBrush( palette.brush( QPalette::Light ) );
-            painter->drawPath( lightPath );
-        }
-    }
-    painter->restore();
-}
-
-/*!
-   Set the width of the rose heads. Lower value make thinner heads.
-   The range is limited from 0.03 to 0.4.
-
-   \param width Width
-*/
-void QwtSimpleCompassRose::setWidth( double width )
-{
-    d_data->width = width;
-    if ( d_data->width < 0.03 )
-        d_data->width = 0.03;
-
-    if ( d_data->width > 0.4 )
-        d_data->width = 0.4;
-}
-
-/*! 
-  \return Width of the rose
-  \sa setWidth()
- */
-double QwtSimpleCompassRose::width() const
-{
-    return d_data->width;
-}
-
-/*!
-  Set the number of thorns on one level
-  The number is aligned to a multiple of 4, with a minimum of 4
-
-  \param numThorns Number of thorns
-  \sa numThorns(), setNumThornLevels()
-*/
-void QwtSimpleCompassRose::setNumThorns( int numThorns )
-{
-    if ( numThorns < 4 )
-        numThorns = 4;
-
-    if ( numThorns % 4 )
-        numThorns += 4 - numThorns % 4;
-
-    d_data->numThorns = numThorns;
-}
-
-/*!
-   \return Number of thorns
-   \sa setNumThorns(), setNumThornLevels()
-*/
-int QwtSimpleCompassRose::numThorns() const
-{
-    return d_data->numThorns;
-}
-
-/*!
-  Set the of thorns levels
-
-  \param numThornLevels Number of thorns levels
-  \sa setNumThorns(), numThornLevels()
-*/
-void QwtSimpleCompassRose::setNumThornLevels( int numThornLevels )
-{
-    d_data->numThornLevels = numThornLevels;
-}
-
-/*!
-   \return Number of thorn levels
-   \sa setNumThorns(), setNumThornLevels()
-*/
-int QwtSimpleCompassRose::numThornLevels() const
-{
-    return d_data->numThornLevels;
-}
diff --git a/SRC/Qwt/src/qwt_compass_rose.h b/SRC/Qwt/src/qwt_compass_rose.h
deleted file mode 100644
index 8a8f1ce..0000000
--- a/SRC/Qwt/src/qwt_compass_rose.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_COMPASS_ROSE_H
-#define QWT_COMPASS_ROSE_H 1
-
-#include "qwt_global.h"
-#include <qpalette.h>
-
-class QPainter;
-
-/*!
-  \brief Abstract base class for a compass rose
-*/
-class QWT_EXPORT QwtCompassRose
-{
-public:
-    //! Destructor
-    virtual ~QwtCompassRose() {};
-
-    //! Assign a palette
-    virtual void setPalette( const QPalette &p )
-    {
-        d_palette = p;
-    }
-
-    //! \return Current palette
-    const QPalette &palette() const
-    {
-        return d_palette;
-    }
-
-    /*!
-        Draw the rose
-
-        \param painter Painter
-        \param center Center point
-        \param radius Radius of the rose
-        \param north Position
-        \param colorGroup Color group
-     */
-    virtual void draw( QPainter *painter, 
-        const QPointF &center, double radius, double north,
-        QPalette::ColorGroup colorGroup = QPalette::Active ) const = 0;
-
-private:
-    QPalette d_palette;
-};
-
-/*!
-  \brief A simple rose for QwtCompass
-*/
-class QWT_EXPORT QwtSimpleCompassRose: public QwtCompassRose
-{
-public:
-    QwtSimpleCompassRose( int numThorns = 8, int numThornLevels = -1 );
-    virtual ~QwtSimpleCompassRose();
-
-    void setWidth( double w );
-    double width() const;
-
-    void setNumThorns( int count );
-    int numThorns() const;
-
-    void setNumThornLevels( int count );
-    int numThornLevels() const;
-
-    void setShrinkFactor( double factor );
-    double shrinkFactor() const;
-
-    virtual void draw( QPainter *, const QPointF &center, double radius,
-        double north, QPalette::ColorGroup = QPalette::Active ) const;
-
-    static void drawRose( QPainter *, const QPalette &,
-        const QPointF &center, double radius, double origin, double width,
-        int numThorns, int numThornLevels, double shrinkFactor );
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif 
diff --git a/SRC/Qwt/src/qwt_compat.h b/SRC/Qwt/src/qwt_compat.h
deleted file mode 100644
index f22a6a9..0000000
--- a/SRC/Qwt/src/qwt_compat.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef _QWT_COMPAT_H_
-#define _QWT_COMPAT_H_
-
-#include "qwt_global.h"
-#include "qwt_interval.h"
-#include "qwt_point_3d.h"
-#include <qlist.h>
-#include <qvector.h>
-#include <qpoint.h>
-#include <qsize.h>
-#include <qrect.h>
-#include <qpolygon.h>
-
-// A couple of definition for Qwt5 compatibility
-
-#define qwtMax qMax
-#define qwtMin qMin
-#define qwtAbs qAbs
-#define qwtRound qRound
-
-#define QwtArray QVector
-
-typedef QList<double> QwtValueList;
-typedef QPointF QwtDoublePoint;
-typedef QSizeF QwtDoubleSize;
-typedef QRectF QwtDoubleRect;
-
-typedef QPolygon QwtPolygon;
-typedef QPolygonF QwtPolygonF;
-typedef QwtInterval QwtDoubleInterval;
-typedef QwtPoint3D QwtDoublePoint3D;
-
-#endif
diff --git a/SRC/Qwt/src/qwt_counter.cpp b/SRC/Qwt/src/qwt_counter.cpp
deleted file mode 100644
index 662a8e8..0000000
--- a/SRC/Qwt/src/qwt_counter.cpp
+++ /dev/null
@@ -1,785 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_arrow_button.h"
-#include "qwt_math.h"
-#include "qwt_counter.h"
-#include <qlayout.h>
-#include <qlineedit.h>
-#include <qvalidator.h>
-#include <qevent.h>
-#include <qstyle.h>
-
-class QwtCounter::PrivateData
-{
-public:
-    PrivateData():
-        minimum( 0.0 ),
-        maximum( 0.0 ),
-        singleStep( 1.0 ),
-        isValid( false ),
-        value( 0.0 ),
-        wrapping( false )
-    {
-        increment[Button1] = 1;
-        increment[Button2] = 10;
-        increment[Button3] = 100;
-    }
-
-    QwtArrowButton *buttonDown[ButtonCnt];
-    QwtArrowButton *buttonUp[ButtonCnt];
-    QLineEdit *valueEdit;
-
-    int increment[ButtonCnt];
-    int numButtons;
-
-    double minimum;
-    double maximum;
-    double singleStep;
-
-    bool isValid;
-    double value;
-
-    bool wrapping;
-};
-
-/*!
-  The counter is initialized with a range is set to [0.0, 1.0] with 
-  0.01 as single step size. The value is invalid.
-
-  The default number of buttons is set to 2. The default increments are:
-  \li Button 1: 1 step
-  \li Button 2: 10 steps
-  \li Button 3: 100 steps
-
-  \param parent
- */
-QwtCounter::QwtCounter( QWidget *parent ):
-    QWidget( parent )
-{
-    initCounter();
-}
-
-void QwtCounter::initCounter()
-{
-    d_data = new PrivateData;
-
-    QHBoxLayout *layout = new QHBoxLayout( this );
-    layout->setSpacing( 0 );
-    layout->setMargin( 0 );
-
-    for ( int i = ButtonCnt - 1; i >= 0; i-- )
-    {
-        QwtArrowButton *btn =
-            new QwtArrowButton( i + 1, Qt::DownArrow, this );
-        btn->setFocusPolicy( Qt::NoFocus );
-        btn->installEventFilter( this );
-        layout->addWidget( btn );
-
-        connect( btn, SIGNAL( released() ), SLOT( btnReleased() ) );
-        connect( btn, SIGNAL( clicked() ), SLOT( btnClicked() ) );
-
-        d_data->buttonDown[i] = btn;
-    }
-
-    d_data->valueEdit = new QLineEdit( this );
-    d_data->valueEdit->setReadOnly( false );
-    d_data->valueEdit->setValidator( new QDoubleValidator( d_data->valueEdit ) );
-    layout->addWidget( d_data->valueEdit );
-
-    connect( d_data->valueEdit, SIGNAL( editingFinished() ),
-         SLOT( textChanged() ) );
-
-    layout->setStretchFactor( d_data->valueEdit, 10 );
-
-    for ( int i = 0; i < ButtonCnt; i++ )
-    {
-        QwtArrowButton *btn =
-            new QwtArrowButton( i + 1, Qt::UpArrow, this );
-        btn->setFocusPolicy( Qt::NoFocus );
-        btn->installEventFilter( this );
-        layout->addWidget( btn );
-
-        connect( btn, SIGNAL( released() ), SLOT( btnReleased() ) );
-        connect( btn, SIGNAL( clicked() ), SLOT( btnClicked() ) );
-
-        d_data->buttonUp[i] = btn;
-    }
-
-    setNumButtons( 2 );
-    setRange( 0.0, 1.0 );
-    setSingleStep( 0.001 );
-    setValue( 0.0 );
-
-    setSizePolicy(
-        QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed ) );
-
-    setFocusProxy( d_data->valueEdit );
-    setFocusPolicy( Qt::StrongFocus );
-}
-
-//! Destructor
-QwtCounter::~QwtCounter()
-{
-    delete d_data;
-}
-
-/*! 
-  Set the counter to be in valid/invalid state
-
-  When the counter is set to invalid, no numbers are displayed and
-  the buttons are disabled.
-
-  \param on If true the counter will be set as valid 
-
-  \sa setValue(), isValid()
-*/
-void QwtCounter::setValid( bool on )
-{
-    if ( on != d_data->isValid )
-    {
-        d_data->isValid = on;
-
-        updateButtons();
-
-        if ( d_data->isValid )
-        {
-            showNumber( value() );
-            Q_EMIT valueChanged( value() );
-        }
-        else
-        {
-            d_data->valueEdit->setText( QString::null );
-        }
-    }   
-}   
-
-/*! 
-  \return True, if the value is valid
-  \sa setValid(), setValue()
- */
-bool QwtCounter::isValid() const
-{
-    return d_data->isValid;
-}   
-
-/*!
-  \brief Allow/disallow the user to manually edit the value
-
-  \param on True disable editing
-  \sa isReadOnly()
-*/
-void QwtCounter::setReadOnly( bool on )
-{
-    d_data->valueEdit->setReadOnly( on );
-}
-
-/*! 
-   \return True, when the line line edit is read only. (default is no)
-  \sa setReadOnly()
- */
-bool QwtCounter::isReadOnly() const
-{
-    return d_data->valueEdit->isReadOnly();
-}
-
-/*!
-  \brief Set a new value without adjusting to the step raster
-
-  The state of the counter is set to be valid.
-
-  \param value New value
-
-  \sa isValid(), value(), valueChanged()
-  \warning The value is clipped when it lies outside the range.
-*/
-
-void QwtCounter::setValue( double value )
-{
-    const double vmin = qMin( d_data->minimum, d_data->maximum );
-    const double vmax = qMax( d_data->minimum, d_data->maximum );
-
-    value = qBound( vmin, value, vmax );
-
-    if ( !d_data->isValid || value != d_data->value )
-    {
-        d_data->isValid = true;
-        d_data->value = value;
-
-        showNumber( value );
-        updateButtons();
-
-        Q_EMIT valueChanged( value );
-    }
-}
-
-/*!
-  \return Current value of the counter
-  \sa setValue(), valueChanged()
- */
-double QwtCounter::value() const
-{
-    return d_data->value;
-}
-
-/*!
-  \brief Set the minimum and maximum values
-
-  The maximum is adjusted if necessary to ensure that the range remains valid.
-  The value might be modified to be inside of the range.
-
-  \param min Minimum value
-  \param max Maximum value
-
-  \sa minimum(), maximum()
- */
-void QwtCounter::setRange( double min, double max )
-{
-    max = qMax( min, max );
-
-    if ( d_data->maximum == max && d_data->minimum == min )
-        return;
-
-    d_data->minimum = min;
-    d_data->maximum = max;
-
-    setSingleStep( singleStep() );
-
-    const double value = qBound( min, d_data->value, max );
-
-    if ( value != d_data->value )
-    {
-        d_data->value = value;
-
-        if ( d_data->isValid )
-        {
-            showNumber( value );
-            Q_EMIT valueChanged( value );
-        }
-    }
-
-    updateButtons();
-}
-
-/*!
-  Set the minimum value of the range
-
-  \param value Minimum value
-  \sa setRange(), setMaximum(), minimum()
-
-  \note The maximum is adjusted if necessary to ensure that the range remains valid.
-*/
-void QwtCounter::setMinimum( double value )
-{
-    setRange( value, maximum() );
-}
-
-/*!
-  \return The minimum of the range
-  \sa setRange(), setMinimum(), maximum()
-*/
-double QwtCounter::minimum() const
-{
-    return d_data->minimum;
-}
-
-/*!
-  Set the maximum value of the range
-
-  \param value Maximum value
-  \sa setRange(), setMinimum(), maximum()
-*/
-void QwtCounter::setMaximum( double value )
-{
-    setRange( minimum(), value );
-}
-
-/*!
-  \return The maximum of the range
-  \sa setRange(), setMaximum(), minimum()
-*/
-double QwtCounter::maximum() const
-{
-    return d_data->maximum;
-}
-
-/*!
-  \brief Set the step size of the counter
-
-  A value <= 0.0 disables stepping
-
-  \param stepSize Single step size
-  \sa singleStep()
-*/
-void QwtCounter::setSingleStep( double stepSize )
-{
-    d_data->singleStep = qMax( stepSize, 0.0 );
-}
-
-/*!
-  \return Single step size
-  \sa setSingleStep()
- */
-double QwtCounter::singleStep() const
-{
-    return d_data->singleStep;
-}
-
-/*!
-  \brief En/Disable wrapping
-
-  If wrapping is true stepping up from maximum() value will take 
-  you to the minimum() value and vice versa. 
-
-  \param on En/Disable wrapping
-  \sa wrapping()
- */
-void QwtCounter::setWrapping( bool on )
-{
-    d_data->wrapping = on;
-}
-
-/*!
-  \return True, when wrapping is set
-  \sa setWrapping()
- */
-bool QwtCounter::wrapping() const
-{
-    return d_data->wrapping;
-}
-
-/*!
-  Specify the number of buttons on each side of the label
-
-  \param numButtons Number of buttons
-  \sa numButtons()
-*/
-void QwtCounter::setNumButtons( int numButtons )
-{
-    if ( numButtons < 0 || numButtons > QwtCounter::ButtonCnt )
-        return;
-
-    for ( int i = 0; i < QwtCounter::ButtonCnt; i++ )
-    {
-        if ( i < numButtons )
-        {
-            d_data->buttonDown[i]->show();
-            d_data->buttonUp[i]->show();
-        }
-        else
-        {
-            d_data->buttonDown[i]->hide();
-            d_data->buttonUp[i]->hide();
-        }
-    }
-
-    d_data->numButtons = numButtons;
-}
-
-/*!
-  \return The number of buttons on each side of the widget.
-  \sa setNumButtons()
-*/
-int QwtCounter::numButtons() const
-{
-    return d_data->numButtons;
-}
-
-/*!
-  Specify the number of steps by which the value
-  is incremented or decremented when a specified button
-  is pushed.
-
-  \param button Button index
-  \param numSteps Number of steps
-
-  \sa incSteps()
-*/
-void QwtCounter::setIncSteps( QwtCounter::Button button, int numSteps )
-{
-    if ( button >= 0 && button < QwtCounter::ButtonCnt )
-        d_data->increment[ button ] = numSteps;
-}
-
-/*!
-  \return The number of steps by which a specified button increments the value
-          or 0 if the button is invalid.
-  \param button Button index
-
-  \sa setIncSteps()
-*/
-int QwtCounter::incSteps( QwtCounter::Button button ) const
-{
-    if ( button >= 0 && button < QwtCounter::ButtonCnt )
-        return d_data->increment[ button ];
-
-    return 0;
-}
-
-
-/*!
-  Set the number of increment steps for button 1
-  \param nSteps Number of steps
-*/
-void QwtCounter::setStepButton1( int nSteps )
-{
-    setIncSteps( QwtCounter::Button1, nSteps );
-}
-
-//! returns the number of increment steps for button 1
-int QwtCounter::stepButton1() const
-{
-    return incSteps( QwtCounter::Button1 );
-}
-
-/*!
-  Set the number of increment steps for button 2
-  \param nSteps Number of steps
-*/
-void QwtCounter::setStepButton2( int nSteps )
-{
-    setIncSteps( QwtCounter::Button2, nSteps );
-}
-
-//! returns the number of increment steps for button 2
-int QwtCounter::stepButton2() const
-{
-    return incSteps( QwtCounter::Button2 );
-}
-
-/*!
-  Set the number of increment steps for button 3
-  \param nSteps Number of steps
-*/
-void QwtCounter::setStepButton3( int nSteps )
-{
-    setIncSteps( QwtCounter::Button3, nSteps );
-}
-
-//! returns the number of increment steps for button 3
-int QwtCounter::stepButton3() const
-{
-    return incSteps( QwtCounter::Button3 );
-}
-
-//! Set from lineedit
-void QwtCounter::textChanged()
-{
-    bool converted = false;
-
-    const double value = d_data->valueEdit->text().toDouble( &converted );
-    if ( converted )
-        setValue( value );
-}
-
-/*!
-   Handle QEvent::PolishRequest events
-   \param event Event
-   \return see QWidget::event()
-*/
-bool QwtCounter::event( QEvent *event )
-{
-    if ( event->type() == QEvent::PolishRequest )
-    {
-        const int w = d_data->valueEdit->fontMetrics().width( "W" ) + 8;
-        for ( int i = 0; i < ButtonCnt; i++ )
-        {
-            d_data->buttonDown[i]->setMinimumWidth( w );
-            d_data->buttonUp[i]->setMinimumWidth( w );
-        }
-    }
-
-    return QWidget::event( event );
-}
-
-/*!
-  Handle key events
-
-  - Ctrl + Qt::Key_Home\n
-    Step to minimum()
-  - Ctrl + Qt::Key_End\n
-    Step to maximum()
-  - Qt::Key_Up\n
-    Increment by incSteps(QwtCounter::Button1)
-  - Qt::Key_Down\n
-    Decrement by incSteps(QwtCounter::Button1)
-  - Qt::Key_PageUp\n
-    Increment by incSteps(QwtCounter::Button2)
-  - Qt::Key_PageDown\n
-    Decrement by incSteps(QwtCounter::Button2)
-  - Shift + Qt::Key_PageUp\n
-    Increment by incSteps(QwtCounter::Button3)
-  - Shift + Qt::Key_PageDown\n
-    Decrement by incSteps(QwtCounter::Button3)
-
-  \param event Key event
-*/
-void QwtCounter::keyPressEvent ( QKeyEvent *event )
-{
-    bool accepted = true;
-
-    switch ( event->key() )
-    {
-        case Qt::Key_Home:
-        {
-            if ( event->modifiers() & Qt::ControlModifier )
-                setValue( minimum() );
-            else
-                accepted = false;
-            break;
-        }
-        case Qt::Key_End:
-        {
-            if ( event->modifiers() & Qt::ControlModifier )
-                setValue( maximum() );
-            else
-                accepted = false;
-            break;
-        }
-        case Qt::Key_Up:
-        {
-            incrementValue( d_data->increment[0] );
-            break;
-        }
-        case Qt::Key_Down:
-        {
-            incrementValue( -d_data->increment[0] );
-            break;
-        }
-        case Qt::Key_PageUp:
-        case Qt::Key_PageDown:
-        {
-            int increment = d_data->increment[0];
-            if ( d_data->numButtons >= 2 )
-                increment = d_data->increment[1];
-            if ( d_data->numButtons >= 3 )
-            {
-                if ( event->modifiers() & Qt::ShiftModifier )
-                    increment = d_data->increment[2];
-            }
-            if ( event->key() == Qt::Key_PageDown )
-                increment = -increment;
-            incrementValue( increment );
-            break;
-        }
-        default:
-        {
-            accepted = false;
-        }
-    }
-
-    if ( accepted )
-    {
-        event->accept();
-        return;
-    }
-
-    QWidget::keyPressEvent ( event );
-}
-
-/*!
-  Handle wheel events
-  \param event Wheel event
-*/
-void QwtCounter::wheelEvent( QWheelEvent *event )
-{
-    event->accept();
-
-    if ( d_data->numButtons <= 0 )
-        return;
-
-    int increment = d_data->increment[0];
-    if ( d_data->numButtons >= 2 )
-    {
-        if ( event->modifiers() & Qt::ControlModifier )
-            increment = d_data->increment[1];
-    }
-    if ( d_data->numButtons >= 3 )
-    {
-        if ( event->modifiers() & Qt::ShiftModifier )
-            increment = d_data->increment[2];
-    }
-
-    for ( int i = 0; i < d_data->numButtons; i++ )
-    {
-        if ( d_data->buttonDown[i]->geometry().contains( event->pos() ) ||
-            d_data->buttonUp[i]->geometry().contains( event->pos() ) )
-        {
-            increment = d_data->increment[i];
-        }
-    }
-
-    const int wheel_delta = 120;
-
-#if 1
-    int delta = event->delta();
-    if ( delta >= 2 * wheel_delta )
-        delta /= 2; // Never saw an abs(delta) < 240
-#endif
-
-    incrementValue( delta / wheel_delta * increment );
-}
-
-void QwtCounter::incrementValue( int numSteps )
-{
-    const double min = d_data->minimum;
-    const double max = d_data->maximum;
-    double stepSize = d_data->singleStep;
-
-    if ( !d_data->isValid || min >= max || stepSize <= 0.0 )
-        return;
-
-
-#if 1
-    stepSize = qMax( stepSize, 1.0e-10 * ( max - min ) );
-#endif
-
-    double value = d_data->value + numSteps * stepSize;
-
-    if ( d_data->wrapping )
-    {
-        const double range = max - min;
-
-        if ( value < min )
-        {
-            value += ::ceil( ( min - value ) / range ) * range;
-        }
-        else if ( value > max )
-        {
-            value -= ::ceil( ( value - max ) / range ) * range;
-        }
-    }
-    else
-    {
-        value = qBound( min, value, max );
-    }
-
-    value = min + qRound( ( value - min ) / stepSize ) * stepSize;
-
-    if ( stepSize > 1e-12 )
-    {
-        if ( qFuzzyCompare( value + 1.0, 1.0 ) )
-        {
-            // correct rounding error if value = 0
-            value = 0.0;
-        }
-        else if ( qFuzzyCompare( value, max ) )
-        {
-            // correct rounding error at the border
-            value = max;
-        }
-    }
-
-    if ( value != d_data->value )
-    {
-        d_data->value = value;
-        showNumber( d_data->value );
-        updateButtons();
-
-        Q_EMIT valueChanged( d_data->value );
-    }
-}
-
-
-/*!
-  \brief Update buttons according to the current value
-
-  When the QwtCounter under- or over-flows, the focus is set to the smallest
-  up- or down-button and counting is disabled.
-
-  Counting is re-enabled on a button release event (mouse or space bar).
-*/
-void QwtCounter::updateButtons()
-{
-    if ( d_data->isValid )
-    {
-        // 1. save enabled state of the smallest down- and up-button
-        // 2. change enabled state on under- or over-flow
-
-        for ( int i = 0; i < QwtCounter::ButtonCnt; i++ )
-        {
-            d_data->buttonDown[i]->setEnabled( value() > minimum() );
-            d_data->buttonUp[i]->setEnabled( value() < maximum() );
-        }
-    }
-    else
-    {
-        for ( int i = 0; i < QwtCounter::ButtonCnt; i++ )
-        {
-            d_data->buttonDown[i]->setEnabled( false );
-            d_data->buttonUp[i]->setEnabled( false );
-        }
-    }
-}
-/*!
-  Display number string
-
-  \param number Number
-*/
-void QwtCounter::showNumber( double number )
-{
-    QString text;
-    text.setNum( number );
-
-    const int cursorPos = d_data->valueEdit->cursorPosition();
-    d_data->valueEdit->setText( text );
-    d_data->valueEdit->setCursorPosition( cursorPos );
-}
-
-//!  Button clicked
-void QwtCounter::btnClicked()
-{
-    for ( int i = 0; i < ButtonCnt; i++ )
-    {
-        if ( d_data->buttonUp[i] == sender() )
-            incrementValue( d_data->increment[i] );
-
-        if ( d_data->buttonDown[i] == sender() )
-            incrementValue( -d_data->increment[i] );
-    }
-}
-
-//!  Button released
-void QwtCounter::btnReleased()
-{
-    Q_EMIT buttonReleased( value() );
-}
-
-//! A size hint
-QSize QwtCounter::sizeHint() const
-{
-    QString tmp;
-
-    int w = tmp.setNum( minimum() ).length();
-    int w1 = tmp.setNum( maximum() ).length();
-    if ( w1 > w )
-        w = w1;
-    w1 = tmp.setNum( minimum() + singleStep() ).length();
-    if ( w1 > w )
-        w = w1;
-    w1 = tmp.setNum( maximum() - singleStep() ).length();
-    if ( w1 > w )
-        w = w1;
-
-    tmp.fill( '9', w );
-
-    QFontMetrics fm( d_data->valueEdit->font() );
-    w = fm.width( tmp ) + 2;
-    if ( d_data->valueEdit->hasFrame() )
-        w += 2 * style()->pixelMetric( QStyle::PM_DefaultFrameWidth );
-
-    // Now we replace default sizeHint contribution of d_data->valueEdit by
-    // what we really need.
-
-    w += QWidget::sizeHint().width() - d_data->valueEdit->sizeHint().width();
-
-    const int h = qMin( QWidget::sizeHint().height(),
-        d_data->valueEdit->minimumSizeHint().height() );
-    return QSize( w, h );
-}
diff --git a/SRC/Qwt/src/qwt_counter.h b/SRC/Qwt/src/qwt_counter.h
deleted file mode 100644
index 52a9e92..0000000
--- a/SRC/Qwt/src/qwt_counter.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_COUNTER_H
-#define QWT_COUNTER_H
-
-#include "qwt_global.h"
-#include <qwidget.h>
-
-/*!
-  \brief The Counter Widget
-
-  A Counter consists of a label displaying a number and
-  one ore more (up to three) push buttons on each side
-  of the label which can be used to increment or decrement
-  the counter's value.
-
-  A counter has a range from a minimum value to a maximum value
-  and a step size. When the wrapping property is set
-  the counter is circular.
- 
-  The number of steps by which a button increments or decrements the value 
-  can be specified using setIncSteps(). The number of buttons can be 
-  changed with setNumButtons().
-
-  Example:
-\code
-#include <qwt_counter.h>
-
-QwtCounter *counter = new QwtCounter(parent);
-
-counter->setRange(0.0, 100.0);                  // From 0.0 to 100
-counter->setSingleStep( 1.0 );                  // Step size 1.0
-counter->setNumButtons(2);                      // Two buttons each side
-counter->setIncSteps(QwtCounter::Button1, 1);   // Button 1 increments 1 step
-counter->setIncSteps(QwtCounter::Button2, 20);  // Button 2 increments 20 steps
-
-connect(counter, SIGNAL(valueChanged(double)), myClass, SLOT(newValue(double)));
-\endcode
- */
-
-class QWT_EXPORT QwtCounter : public QWidget
-{
-    Q_OBJECT
-
-    Q_PROPERTY( double value READ value WRITE setValue )
-    Q_PROPERTY( double minimum READ minimum WRITE setMinimum )
-    Q_PROPERTY( double maximum READ maximum WRITE setMaximum )
-    Q_PROPERTY( double singleStep READ singleStep WRITE setSingleStep )
-
-    Q_PROPERTY( int numButtons READ numButtons WRITE setNumButtons )
-    Q_PROPERTY( int stepButton1 READ stepButton1 WRITE setStepButton1 )
-    Q_PROPERTY( int stepButton2 READ stepButton2 WRITE setStepButton2 )
-    Q_PROPERTY( int stepButton3 READ stepButton3 WRITE setStepButton3 )
-
-    Q_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly )
-    Q_PROPERTY( bool wrapping READ wrapping WRITE setWrapping )
-
-public:
-    //! Button index
-    enum Button
-    {
-        //! Button intended for minor steps
-        Button1,
-
-        //! Button intended for medium steps
-        Button2,
-
-        //! Button intended for large steps
-        Button3,
-
-        //! Number of buttons
-        ButtonCnt
-    };
-
-    explicit QwtCounter( QWidget *parent = NULL );
-    virtual ~QwtCounter();
-
-    void setValid( bool );
-    bool isValid() const;
-
-    void setWrapping( bool );
-    bool wrapping() const;
-
-    bool isReadOnly() const;
-    void setReadOnly( bool );
-
-    void setNumButtons( int n );
-    int numButtons() const;
-
-    void setIncSteps( QwtCounter::Button btn, int nSteps );
-    int incSteps( QwtCounter::Button btn ) const;
-
-    virtual QSize sizeHint() const;
-
-    double singleStep() const;
-    void setSingleStep( double s );
-
-    void setRange( double min, double max );
-    
-    double minimum() const;
-    void setMinimum( double min );
-
-    double maximum() const;
-    void setMaximum( double max );
-
-    void setStepButton1( int nSteps );
-    int stepButton1() const;
-
-    void setStepButton2( int nSteps );
-    int stepButton2() const;
-
-    void setStepButton3( int nSteps );
-    int stepButton3() const;
-
-    double value() const;
-
-public Q_SLOTS:
-    void setValue( double );
-
-
-Q_SIGNALS:
-    /*!
-        This signal is emitted when a button has been released
-        \param value The new value
-    */
-    void buttonReleased ( double value );
-
-    /*!
-        This signal is emitted when the counter's value has changed
-        \param value The new value
-    */
-    void valueChanged ( double value );
-
-protected:
-    virtual bool event( QEvent * );
-    virtual void wheelEvent( QWheelEvent * );
-    virtual void keyPressEvent( QKeyEvent * );
-
-private Q_SLOTS:
-    void btnReleased();
-    void btnClicked();
-    void textChanged();
-
-private:
-    void incrementValue( int numSteps );
-    void initCounter();
-    void updateButtons();
-    void showNumber( double );
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_curve_fitter.cpp b/SRC/Qwt/src/qwt_curve_fitter.cpp
deleted file mode 100644
index c037c85..0000000
--- a/SRC/Qwt/src/qwt_curve_fitter.cpp
+++ /dev/null
@@ -1,453 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_curve_fitter.h"
-#include "qwt_math.h"
-#include "qwt_spline.h"
-#include <qstack.h>
-#include <qvector.h>
-
-#if QT_VERSION < 0x040601
-#define qFabs(x) ::fabs(x)
-#endif
-
-//! Constructor
-QwtCurveFitter::QwtCurveFitter()
-{
-}
-
-//! Destructor
-QwtCurveFitter::~QwtCurveFitter()
-{
-}
-
-class QwtSplineCurveFitter::PrivateData
-{
-public:
-    PrivateData():
-        fitMode( QwtSplineCurveFitter::Auto ),
-        splineSize( 250 )
-    {
-    }
-
-    QwtSpline spline;
-    QwtSplineCurveFitter::FitMode fitMode;
-    int splineSize;
-};
-
-//! Constructor
-QwtSplineCurveFitter::QwtSplineCurveFitter()
-{
-    d_data = new PrivateData;
-}
-
-//! Destructor
-QwtSplineCurveFitter::~QwtSplineCurveFitter()
-{
-    delete d_data;
-}
-
-/*!
-  Select the algorithm used for building the spline
-
-  \param mode Mode representing a spline algorithm
-  \sa fitMode()
-*/
-void QwtSplineCurveFitter::setFitMode( FitMode mode )
-{
-    d_data->fitMode = mode;
-}
-
-/*!
-  \return Mode representing a spline algorithm
-  \sa setFitMode()
-*/
-QwtSplineCurveFitter::FitMode QwtSplineCurveFitter::fitMode() const
-{
-    return d_data->fitMode;
-}
-
-/*!
-  Assign a spline
-
-  \param spline Spline
-  \sa spline()
-*/
-void QwtSplineCurveFitter::setSpline( const QwtSpline &spline )
-{
-    d_data->spline = spline;
-    d_data->spline.reset();
-}
-
-/*!
-  \return Spline
-  \sa setSpline()
-*/
-const QwtSpline &QwtSplineCurveFitter::spline() const
-{
-    return d_data->spline;
-}
-
-/*!
-  \return Spline
-  \sa setSpline()
-*/
-QwtSpline &QwtSplineCurveFitter::spline()
-{
-    return d_data->spline;
-}
-
-/*!
-   Assign a spline size ( has to be at least 10 points )
-
-   \param splineSize Spline size
-   \sa splineSize()
-*/
-void QwtSplineCurveFitter::setSplineSize( int splineSize )
-{
-    d_data->splineSize = qMax( splineSize, 10 );
-}
-
-/*!
-  \return Spline size
-  \sa setSplineSize()
-*/
-int QwtSplineCurveFitter::splineSize() const
-{
-    return d_data->splineSize;
-}
-
-/*!
-  Find a curve which has the best fit to a series of data points
-
-  \param points Series of data points
-  \return Curve points
-*/
-QPolygonF QwtSplineCurveFitter::fitCurve( const QPolygonF &points ) const
-{
-    const int size = points.size();
-    if ( size <= 2 )
-        return points;
-
-    FitMode fitMode = d_data->fitMode;
-    if ( fitMode == Auto )
-    {
-        fitMode = Spline;
-
-        const QPointF *p = points.data();
-        for ( int i = 1; i < size; i++ )
-        {
-            if ( p[i].x() <= p[i-1].x() )
-            {
-                fitMode = ParametricSpline;
-                break;
-            }
-        };
-    }
-
-    if ( fitMode == ParametricSpline )
-        return fitParametric( points );
-    else
-        return fitSpline( points );
-}
-
-QPolygonF QwtSplineCurveFitter::fitSpline( const QPolygonF &points ) const
-{
-    d_data->spline.setPoints( points );
-    if ( !d_data->spline.isValid() )
-        return points;
-
-    QPolygonF fittedPoints( d_data->splineSize );
-
-    const double x1 = points[0].x();
-    const double x2 = points[int( points.size() - 1 )].x();
-    const double dx = x2 - x1;
-    const double delta = dx / ( d_data->splineSize - 1 );
-
-    for ( int i = 0; i < d_data->splineSize; i++ )
-    {
-        QPointF &p = fittedPoints[i];
-
-        const double v = x1 + i * delta;
-        const double sv = d_data->spline.value( v );
-
-        p.setX( v );
-        p.setY( sv );
-    }
-    d_data->spline.reset();
-
-    return fittedPoints;
-}
-
-QPolygonF QwtSplineCurveFitter::fitParametric( const QPolygonF &points ) const
-{
-    int i;
-    const int size = points.size();
-
-    QPolygonF fittedPoints( d_data->splineSize );
-    QPolygonF splinePointsX( size );
-    QPolygonF splinePointsY( size );
-
-    const QPointF *p = points.data();
-    QPointF *spX = splinePointsX.data();
-    QPointF *spY = splinePointsY.data();
-
-    double param = 0.0;
-    for ( i = 0; i < size; i++ )
-    {
-        const double x = p[i].x();
-        const double y = p[i].y();
-        if ( i > 0 )
-        {
-            const double delta = qSqrt( qwtSqr( x - spX[i-1].y() )
-                      + qwtSqr( y - spY[i-1].y() ) );
-            param += qMax( delta, 1.0 );
-        }
-        spX[i].setX( param );
-        spX[i].setY( x );
-        spY[i].setX( param );
-        spY[i].setY( y );
-    }
-
-    d_data->spline.setPoints( splinePointsX );
-    if ( !d_data->spline.isValid() )
-        return points;
-
-    const double deltaX =
-        splinePointsX[size - 1].x() / ( d_data->splineSize - 1 );
-    for ( i = 0; i < d_data->splineSize; i++ )
-    {
-        const double dtmp = i * deltaX;
-        fittedPoints[i].setX( d_data->spline.value( dtmp ) );
-    }
-
-    d_data->spline.setPoints( splinePointsY );
-    if ( !d_data->spline.isValid() )
-        return points;
-
-    const double deltaY =
-        splinePointsY[size - 1].x() / ( d_data->splineSize - 1 );
-    for ( i = 0; i < d_data->splineSize; i++ )
-    {
-        const double dtmp = i * deltaY;
-        fittedPoints[i].setY( d_data->spline.value( dtmp ) );
-    }
-
-    return fittedPoints;
-}
-
-class QwtWeedingCurveFitter::PrivateData
-{
-public:
-    PrivateData():
-        tolerance( 1.0 ),
-        chunkSize( 0 )
-    {
-    }
-
-    double tolerance;
-    uint chunkSize;
-};
-
-class QwtWeedingCurveFitter::Line
-{
-public:
-    Line( int i1 = 0, int i2 = 0 ):
-        from( i1 ),
-        to( i2 )
-    {
-    }
-
-    int from;
-    int to;
-};
-
-/*!
-   Constructor
-
-   \param tolerance Tolerance
-   \sa setTolerance(), tolerance()
-*/
-QwtWeedingCurveFitter::QwtWeedingCurveFitter( double tolerance )
-{
-    d_data = new PrivateData;
-    setTolerance( tolerance );
-}
-
-//! Destructor
-QwtWeedingCurveFitter::~QwtWeedingCurveFitter()
-{
-    delete d_data;
-}
-
-/*!
- Assign the tolerance
-
- The tolerance is the maximum distance, that is acceptable
- between the original curve and the smoothed curve.
-
- Increasing the tolerance will reduce the number of the
- resulting points.
-
- \param tolerance Tolerance
-
- \sa tolerance()
-*/
-void QwtWeedingCurveFitter::setTolerance( double tolerance )
-{
-    d_data->tolerance = qMax( tolerance, 0.0 );
-}
-
-/*!
-  \return Tolerance
-  \sa setTolerance()
-*/
-double QwtWeedingCurveFitter::tolerance() const
-{
-    return d_data->tolerance;
-}
-
-/*!
- Limit the number of points passed to a run of the algorithm
-
- The runtime of the Douglas Peucker algorithm increases non linear
- with the number of points. For a chunk size > 0 the polygon
- is split into pieces passed to the algorithm one by one.
-
- \param numPoints Maximum for the number of points passed to the algorithm
-
- \sa chunkSize()
-*/
-void QwtWeedingCurveFitter::setChunkSize( uint numPoints )
-{
-    if ( numPoints > 0 )
-        numPoints = qMax( numPoints, 3U );
-
-    d_data->chunkSize = numPoints;
-}
-
-/*!
-  
-  \return Maximum for the number of points passed to a run 
-          of the algorithm - or 0, when unlimited
-  \sa setChunkSize()
-*/
-uint QwtWeedingCurveFitter::chunkSize() const
-{
-    return d_data->chunkSize;
-}
-
-/*!
-  \param points Series of data points
-  \return Curve points
-*/
-QPolygonF QwtWeedingCurveFitter::fitCurve( const QPolygonF &points ) const
-{
-    QPolygonF fittedPoints;
-
-    if ( d_data->chunkSize == 0 )
-    {
-        fittedPoints = simplify( points );
-    }
-    else
-    {
-        for ( int i = 0; i < points.size(); i += d_data->chunkSize )
-        {
-            const QPolygonF p = points.mid( i, d_data->chunkSize );
-            fittedPoints += simplify( p );
-        }
-    }
-
-    return fittedPoints;
-}
-
-QPolygonF QwtWeedingCurveFitter::simplify( const QPolygonF &points ) const
-{
-    const double toleranceSqr = d_data->tolerance * d_data->tolerance;
-
-    QStack<Line> stack;
-    stack.reserve( 500 );
-
-    const QPointF *p = points.data();
-    const int nPoints = points.size();
-
-    QVector<bool> usePoint( nPoints, false );
-
-    stack.push( Line( 0, nPoints - 1 ) );
-
-    while ( !stack.isEmpty() )
-    {
-        const Line r = stack.pop();
-
-        // initialize line segment
-        const double vecX = p[r.to].x() - p[r.from].x();
-        const double vecY = p[r.to].y() - p[r.from].y();
-
-        const double vecLength = qSqrt( vecX * vecX + vecY * vecY );
-
-        const double unitVecX = ( vecLength != 0.0 ) ? vecX / vecLength : 0.0;
-        const double unitVecY = ( vecLength != 0.0 ) ? vecY / vecLength : 0.0;
-
-        double maxDistSqr = 0.0;
-        int nVertexIndexMaxDistance = r.from + 1;
-        for ( int i = r.from + 1; i < r.to; i++ )
-        {
-            //compare to anchor
-            const double fromVecX = p[i].x() - p[r.from].x();
-            const double fromVecY = p[i].y() - p[r.from].y();
-
-            double distToSegmentSqr;
-            if ( fromVecX * unitVecX + fromVecY * unitVecY < 0.0 )
-            {
-                distToSegmentSqr = fromVecX * fromVecX + fromVecY * fromVecY;
-            }
-            else
-            {
-                const double toVecX = p[i].x() - p[r.to].x();
-                const double toVecY = p[i].y() - p[r.to].y();
-                const double toVecLength = toVecX * toVecX + toVecY * toVecY;
-
-                const double s = toVecX * ( -unitVecX ) + toVecY * ( -unitVecY );
-                if ( s < 0.0 )
-                {
-                    distToSegmentSqr = toVecLength;
-                }
-                else
-                {
-                    distToSegmentSqr = qFabs( toVecLength - s * s );
-                }
-            }
-
-            if ( maxDistSqr < distToSegmentSqr )
-            {
-                maxDistSqr = distToSegmentSqr;
-                nVertexIndexMaxDistance = i;
-            }
-        }
-        if ( maxDistSqr <= toleranceSqr )
-        {
-            usePoint[r.from] = true;
-            usePoint[r.to] = true;
-        }
-        else
-        {
-            stack.push( Line( r.from, nVertexIndexMaxDistance ) );
-            stack.push( Line( nVertexIndexMaxDistance, r.to ) );
-        }
-    }
-
-    QPolygonF stripped;
-    for ( int i = 0; i < nPoints; i++ )
-    {
-        if ( usePoint[i] )
-            stripped += p[i];
-    }
-
-    return stripped;
-}
diff --git a/SRC/Qwt/src/qwt_curve_fitter.h b/SRC/Qwt/src/qwt_curve_fitter.h
deleted file mode 100644
index 480ea3e..0000000
--- a/SRC/Qwt/src/qwt_curve_fitter.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_CURVE_FITTER_H
-#define QWT_CURVE_FITTER_H
-
-#include "qwt_global.h"
-#include <qpolygon.h>
-#include <qrect.h>
-
-class QwtSpline;
-
-/*!
-  \brief Abstract base class for a curve fitter
-*/
-class QWT_EXPORT QwtCurveFitter
-{
-public:
-    virtual ~QwtCurveFitter();
-
-    /*!
-        Find a curve which has the best fit to a series of data points
-
-        \param polygon Series of data points
-        \return Curve points
-     */
-    virtual QPolygonF fitCurve( const QPolygonF &polygon ) const = 0;
-
-protected:
-    QwtCurveFitter();
-
-private:
-    QwtCurveFitter( const QwtCurveFitter & );
-    QwtCurveFitter &operator=( const QwtCurveFitter & );
-};
-
-/*!
-  \brief A curve fitter using cubic splines
-*/
-class QWT_EXPORT QwtSplineCurveFitter: public QwtCurveFitter
-{
-public:
-    /*!
-      Spline type
-      The default setting is Auto
-      \sa setFitMode(), FitMode()
-     */
-    enum FitMode
-    {
-        /*!
-          Use the default spline algorithm for polygons with
-          increasing x values ( p[i-1] < p[i] ), otherwise use
-          a parametric spline algorithm.
-         */
-        Auto,
-
-        //! Use a default spline algorithm
-        Spline,
-
-        //! Use a parametric spline algorithm
-        ParametricSpline
-    };
-
-    QwtSplineCurveFitter();
-    virtual ~QwtSplineCurveFitter();
-
-    void setFitMode( FitMode );
-    FitMode fitMode() const;
-
-    void setSpline( const QwtSpline& );
-    const QwtSpline &spline() const;
-    QwtSpline &spline();
-
-    void setSplineSize( int size );
-    int splineSize() const;
-
-    virtual QPolygonF fitCurve( const QPolygonF & ) const;
-
-private:
-    QPolygonF fitSpline( const QPolygonF & ) const;
-    QPolygonF fitParametric( const QPolygonF & ) const;
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-/*!
-  \brief A curve fitter implementing Douglas and Peucker algorithm
-
-  The purpose of the Douglas and Peucker algorithm is that given a 'curve'
-  composed of line segments to find a curve not too dissimilar but that
-  has fewer points. The algorithm defines 'too dissimilar' based on the
-  maximum distance (tolerance) between the original curve and the
-  smoothed curve.
-
-  The runtime of the algorithm increases non linear ( worst case O( n*n ) )
-  and might be very slow for huge polygons. To avoid performance issues
-  it might be useful to split the polygon ( setChunkSize() ) and to run the algorithm
-  for these smaller parts. The disadvantage of having no interpolation
-  at the borders is for most use cases irrelevant.
-
-  The smoothed curve consists of a subset of the points that defined the
-  original curve.
-
-  In opposite to QwtSplineCurveFitter the Douglas and Peucker algorithm reduces
-  the number of points. By adjusting the tolerance parameter according to the
-  axis scales QwtSplineCurveFitter can be used to implement different
-  level of details to speed up painting of curves of many points.
-*/
-class QWT_EXPORT QwtWeedingCurveFitter: public QwtCurveFitter
-{
-public:
-    QwtWeedingCurveFitter( double tolerance = 1.0 );
-    virtual ~QwtWeedingCurveFitter();
-
-    void setTolerance( double );
-    double tolerance() const;
-
-    void setChunkSize( uint );
-    uint chunkSize() const;
-
-    virtual QPolygonF fitCurve( const QPolygonF & ) const;
-
-private:
-    virtual QPolygonF simplify( const QPolygonF & ) const;
-
-    class Line;
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_date.cpp b/SRC/Qwt/src/qwt_date.cpp
deleted file mode 100644
index fdd4e72..0000000
--- a/SRC/Qwt/src/qwt_date.cpp
+++ /dev/null
@@ -1,663 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_date.h"
-#include <qdebug.h>
-#include <qlocale.h>
-#include <math.h>
-#include <limits>
-#include <limits.h>
-
-#if QT_VERSION >= 0x050000
-
-typedef qint64 QwtJulianDay;
-static const QwtJulianDay minJulianDayD = Q_INT64_C( -784350574879 );
-static const QwtJulianDay maxJulianDayD = Q_INT64_C( 784354017364 );
-
-#else
-
-// QDate stores the Julian day as unsigned int, but
-// but it is QDate::fromJulianDay( int ). That's why
-// we have the range [ 1, INT_MAX ]
-typedef int QwtJulianDay;
-static const QwtJulianDay minJulianDayD = 1;
-static const QwtJulianDay maxJulianDayD = std::numeric_limits<int>::max();
-
-#endif
-
-static inline Qt::DayOfWeek qwtFirstDayOfWeek()
-{
-#if QT_VERSION >= 0x040800
-    return QLocale().firstDayOfWeek();
-#else
-
-    switch( QLocale().country() )
-    {
-        case QLocale::Maldives:
-            return Qt::Friday;
-
-        case QLocale::Afghanistan:
-        case QLocale::Algeria:
-        case QLocale::Bahrain:
-        case QLocale::Djibouti:
-        case QLocale::Egypt:
-        case QLocale::Eritrea:
-        case QLocale::Ethiopia:
-        case QLocale::Iran:
-        case QLocale::Iraq:
-        case QLocale::Jordan:
-        case QLocale::Kenya:
-        case QLocale::Kuwait:
-        case QLocale::LibyanArabJamahiriya:
-        case QLocale::Morocco:
-        case QLocale::Oman:
-        case QLocale::Qatar:
-        case QLocale::SaudiArabia:
-        case QLocale::Somalia:
-        case QLocale::Sudan:
-        case QLocale::Tunisia:
-        case QLocale::Yemen:
-            return Qt::Saturday;
-
-        case QLocale::AmericanSamoa:
-        case QLocale::Argentina:
-        case QLocale::Azerbaijan:
-        case QLocale::Botswana:
-        case QLocale::Canada:
-        case QLocale::China:
-        case QLocale::FaroeIslands:
-        case QLocale::Georgia:
-        case QLocale::Greenland:
-        case QLocale::Guam:
-        case QLocale::HongKong:
-        case QLocale::Iceland:
-        case QLocale::India:
-        case QLocale::Ireland:
-        case QLocale::Israel:
-        case QLocale::Jamaica:
-        case QLocale::Japan:
-        case QLocale::Kyrgyzstan:
-        case QLocale::Lao:
-        case QLocale::Malta:
-        case QLocale::MarshallIslands:
-        case QLocale::Macau:
-        case QLocale::Mongolia:
-        case QLocale::NewZealand:
-        case QLocale::NorthernMarianaIslands:
-        case QLocale::Pakistan:
-        case QLocale::Philippines:
-        case QLocale::RepublicOfKorea:
-        case QLocale::Singapore:
-        case QLocale::SyrianArabRepublic:
-        case QLocale::Taiwan:
-        case QLocale::Thailand:
-        case QLocale::TrinidadAndTobago:
-        case QLocale::UnitedStates:
-        case QLocale::UnitedStatesMinorOutlyingIslands:
-        case QLocale::USVirginIslands:
-        case QLocale::Uzbekistan:
-        case QLocale::Zimbabwe:
-            return Qt::Sunday;
-
-        default:
-            return Qt::Monday;
-    }
-#endif
-}
-
-static inline void qwtFloorTime( 
-    QwtDate::IntervalType intervalType, QDateTime &dt )
-{
-    // when dt is inside the special hour where DST is ending
-    // an hour is no unique. Therefore we have to
-    // use UTC time.
-
-    const Qt::TimeSpec timeSpec = dt.timeSpec();
-
-    if ( timeSpec == Qt::LocalTime )
-        dt = dt.toTimeSpec( Qt::UTC );
-
-    const QTime t = dt.time();
-    switch( intervalType )
-    {
-        case QwtDate::Second:
-        {
-            dt.setTime( QTime( t.hour(), t.minute(), t.second() ) );
-            break;
-        }
-        case QwtDate::Minute:
-        {
-            dt.setTime( QTime( t.hour(), t.minute(), 0 ) );
-            break;
-        }
-        case QwtDate::Hour:
-        {
-            dt.setTime( QTime( t.hour(), 0, 0 ) );
-            break;
-        }   
-        default:
-            break;
-    }
-
-    if ( timeSpec == Qt::LocalTime )
-        dt = dt.toTimeSpec( Qt::LocalTime );
-}
-
-static inline QDateTime qwtToTimeSpec( 
-    const QDateTime &dt, Qt::TimeSpec spec )
-{
-    if ( dt.timeSpec() == spec )
-        return dt;
-
-    const qint64 jd = dt.date().toJulianDay();
-    if ( jd < 0 || jd >= INT_MAX )
-    {
-        // the conversion between local time and UTC
-        // is internally limited. To avoid
-        // overflows we simply ignore the difference
-        // for those dates
-
-        QDateTime dt2 = dt;
-        dt2.setTimeSpec( spec );
-        return dt2;
-    }
-
-    return dt.toTimeSpec( spec );
-}
-
-static inline double qwtToJulianDay( int year, int month, int day )
-{
-    // code from QDate but using doubles to avoid overflows
-    // for large values
-
-    const int m1 = ( month - 14 ) / 12;
-    const int m2 = ( 367 * ( month - 2 - 12 * m1 ) ) / 12;
-    const double y1 = ::floor( ( 4900.0 + year + m1 ) / 100 );
-
-    return ::floor( ( 1461.0 * ( year + 4800 + m1 ) ) / 4 ) + m2
-            - ::floor( ( 3 * y1 ) / 4 ) + day - 32075;
-}
-
-static inline qint64 qwtFloorDiv64( qint64 a, int b )
-{
-    if ( a < 0 )
-        a -= b - 1;
-
-    return a / b;
-}
-
-static inline qint64 qwtFloorDiv( int a, int b )
-{
-    if ( a < 0 )
-        a -= b - 1;
-        
-    return a / b;
-}   
-
-static inline QDate qwtToDate( int year, int month = 1, int day = 1 )
-{
-#if QT_VERSION >= 0x050000
-    return QDate( year, month, day );
-#else
-    if ( year > 100000 )
-    {
-        // code from QDate but using doubles to avoid overflows
-        // for large values
-
-        const int m1 = ( month - 14 ) / 12;
-        const int m2 = ( 367 * ( month - 2 - 12 * m1 ) ) / 12;
-        const double y1 = ::floor( ( 4900.0 + year + m1 ) / 100 );
-
-        const double jd = ::floor( ( 1461.0 * ( year + 4800 + m1 ) ) / 4 ) + m2
-            - ::floor( ( 3 * y1 ) / 4 ) + day - 32075;
-
-        if ( jd > maxJulianDayD )
-        {
-            qWarning() << "qwtToDate: overflow";
-            return QDate();
-        }
-
-        return QDate::fromJulianDay( static_cast<QwtJulianDay>( jd ) );
-    }
-    else
-    {
-        return QDate( year, month, day );
-    }
-#endif
-}
-
-/*!
-  Translate from double to QDateTime
-
-  \param value Number of milliseconds since the epoch, 
-               1970-01-01T00:00:00 UTC
-  \param timeSpec Time specification
-  \return Datetime value
-
-  \sa toDouble(), QDateTime::setMSecsSinceEpoch()
-  \note The return datetime for Qt::OffsetFromUTC will be Qt::UTC
- */
-QDateTime QwtDate::toDateTime( double value, Qt::TimeSpec timeSpec )
-{
-    const int msecsPerDay = 86400000;
-
-    const double days = static_cast<qint64>( ::floor( value / msecsPerDay ) );
-
-    const double jd = QwtDate::JulianDayForEpoch + days;
-    if ( ( jd > maxJulianDayD ) || ( jd < minJulianDayD ) )
-    {
-        qWarning() << "QwtDate::toDateTime: overflow";
-        return QDateTime();
-    }
-
-    const QDate d = QDate::fromJulianDay( static_cast<QwtJulianDay>( jd ) );
-
-    const int msecs = static_cast<int>( value - days * msecsPerDay );
-
-    static const QTime timeNull( 0, 0, 0, 0 );
-
-    QDateTime dt( d, timeNull.addMSecs( msecs ), Qt::UTC );
-
-    if ( timeSpec == Qt::LocalTime )
-        dt = qwtToTimeSpec( dt, timeSpec );
-
-    return dt;
-}
-
-/*!
-  Translate from QDateTime to double
-
-  \param dateTime Datetime value
-  \return Number of milliseconds since 1970-01-01T00:00:00 UTC has passed.
-
-  \sa toDateTime(), QDateTime::toMSecsSinceEpoch()
-  \warning For values very far below or above 1970-01-01 UTC rounding errors
-           will happen due to the limited significance of a double.
- */
-double QwtDate::toDouble( const QDateTime &dateTime )
-{
-    const int msecsPerDay = 86400000;
-
-    const QDateTime dt = qwtToTimeSpec( dateTime, Qt::UTC );
-
-    const double days = dt.date().toJulianDay() - QwtDate::JulianDayForEpoch;
-
-    const QTime time = dt.time();
-    const double secs = 3600.0 * time.hour() + 
-        60.0 * time.minute() + time.second();
-
-    return days * msecsPerDay + time.msec() + 1000.0 * secs;
-}
-
-/*!
-  Ceil a datetime according the interval type
-
-  \param dateTime Datetime value
-  \param intervalType Interval type, how to ceil. 
-                      F.e. when intervalType = QwtDate::Months, the result
-                      will be ceiled to the next beginning of a month
-  \return Ceiled datetime
-  \sa floor()
- */
-QDateTime QwtDate::ceil( const QDateTime &dateTime, IntervalType intervalType )
-{
-    if ( dateTime.date() >= QwtDate::maxDate() )
-        return dateTime;
-
-    QDateTime dt = dateTime;
-
-    switch ( intervalType )
-    {
-        case QwtDate::Millisecond:
-        {
-            break;
-        }
-        case QwtDate::Second:
-        {
-            qwtFloorTime( QwtDate::Second, dt );
-            if ( dt < dateTime )
-                dt.addSecs( 1 );
-
-            break;
-        }
-        case QwtDate::Minute:
-        {
-            qwtFloorTime( QwtDate::Minute, dt );
-            if ( dt < dateTime )
-                dt.addSecs( 60 );
-
-            break;
-        }
-        case QwtDate::Hour:
-        {
-            qwtFloorTime( QwtDate::Hour, dt );
-            if ( dt < dateTime )
-                dt.addSecs( 3600 );
-
-            break;
-        }
-        case QwtDate::Day:
-        {
-            dt.setTime( QTime( 0, 0 ) );
-            if ( dt < dateTime )
-                dt = dt.addDays( 1 );
-
-            break;
-        }
-        case QwtDate::Week:
-        {
-            dt.setTime( QTime( 0, 0 ) );
-            if ( dt < dateTime )
-                dt = dt.addDays( 1 );
-
-            int days = qwtFirstDayOfWeek() - dt.date().dayOfWeek();
-            if ( days < 0 )
-                days += 7;
-
-            dt = dt.addDays( days );
-
-            break;
-        }
-        case QwtDate::Month:
-        {
-            dt.setTime( QTime( 0, 0 ) );
-            dt.setDate( qwtToDate( dateTime.date().year(), 
-                dateTime.date().month() ) );
-
-            if ( dt < dateTime )
-                dt.addMonths( 1 );
-
-            break;
-        }
-        case QwtDate::Year:
-        {
-            dt.setTime( QTime( 0, 0 ) );
-
-            const QDate d = dateTime.date();
-
-            int year = d.year();
-            if ( d.month() > 1 || d.day() > 1 || !dateTime.time().isNull() )
-                year++;
-
-            if ( year == 0 )
-                year++; // there is no year 0
-
-            dt.setDate( qwtToDate( year ) );
-            break;
-        }
-    }
-
-    return dt;
-}
-
-/*!
-  Floor a datetime according the interval type
-
-  \param dateTime Datetime value
-  \param intervalType Interval type, how to ceil. 
-                      F.e. when intervalType = QwtDate::Months,
-                      the result will be ceiled to the next 
-                      beginning of a month
-  \return Floored datetime
-  \sa floor()
- */
-QDateTime QwtDate::floor( const QDateTime &dateTime, 
-    IntervalType intervalType )
-{
-    if ( dateTime.date() <= QwtDate::minDate() )
-        return dateTime;
-
-    QDateTime dt = dateTime;
-
-    switch ( intervalType )
-    {
-        case QwtDate::Millisecond:
-        {
-            break;
-        }
-        case QwtDate::Second:
-        case QwtDate::Minute:
-        case QwtDate::Hour:
-        {
-            qwtFloorTime( intervalType, dt );
-            break;
-        }
-        case QwtDate::Day:
-        {
-            dt.setTime( QTime( 0, 0 ) );
-            break;
-        }
-        case QwtDate::Week:
-        {
-            dt.setTime( QTime( 0, 0 ) );
-
-            int days = dt.date().dayOfWeek() - qwtFirstDayOfWeek();
-            if ( days < 0 )
-                days += 7;
-
-            dt = dt.addDays( -days );
-
-            break;
-        }
-        case QwtDate::Month:
-        {
-            dt.setTime( QTime( 0, 0 ) );
-
-            const QDate date = qwtToDate( dt.date().year(), 
-                dt.date().month() );
-            dt.setDate( date );
-
-            break;
-        }
-        case QwtDate::Year:
-        {
-            dt.setTime( QTime( 0, 0 ) );
-
-            const QDate date = qwtToDate( dt.date().year() );
-            dt.setDate( date );
-
-            break;
-        }
-    }
-
-    return dt;
-}
-
-/*!
-  Minimum for the supported date range
-
-  The range of valid dates depends on how QDate stores the 
-  Julian day internally.
-
-  - For Qt4 it is "Tue Jan 2 -4713"
-  - For Qt5 it is "Thu Jan 1 -2147483648"
-
-  \return minimum of the date range
-  \sa maxDate()
- */
-QDate QwtDate::minDate()
-{
-    static QDate date;
-    if ( !date.isValid() )
-        date = QDate::fromJulianDay( minJulianDayD );
-
-    return date;
-}
-
-/*!
-  Maximum for the supported date range
-
-  The range of valid dates depends on how QDate stores the 
-  Julian day internally.
-
-  - For Qt4 it is "Tue Jun 3 5874898"
-  - For Qt5 it is "Tue Dec 31 2147483647"
-
-  \return maximum of the date range
-  \sa minDate()
-  \note The maximum differs between Qt4 and Qt5
- */
-QDate QwtDate::maxDate()
-{
-    static QDate date;
-    if ( !date.isValid() )
-        date = QDate::fromJulianDay( maxJulianDayD );
-
-    return date;
-}
-
-/*!
-  \brief Date of the first day of the first week for a year
-
-  The first day of a week depends on the current locale
-  ( QLocale::firstDayOfWeek() ). 
-
-  \param year Year
-  \param type Option how to identify the first week
-  \return First day of week 0
-
-  \sa QLocale::firstDayOfWeek(), weekNumber()
- */ 
-QDate QwtDate::dateOfWeek0( int year, Week0Type type )
-{
-    const Qt::DayOfWeek firstDayOfWeek = qwtFirstDayOfWeek();
-
-    QDate dt0( year, 1, 1 );
-
-    // floor to the first day of the week
-    int days = dt0.dayOfWeek() - firstDayOfWeek;
-    if ( days < 0 )
-        days += 7;
-
-    dt0 = dt0.addDays( -days );
-
-    if ( type == QwtDate::FirstThursday )
-    {
-        // according to ISO 8601 the first week is defined
-        // by the first thursday. 
-
-        int d = Qt::Thursday - firstDayOfWeek;
-        if ( d < 0 )
-            d += 7;
-
-        if ( dt0.addDays( d ).year() < year )
-            dt0 = dt0.addDays( 7 );
-    }
-
-    return dt0;
-}
-
-/*!
-  Find the week number of a date
-
-  - QwtDate::FirstThursday\n
-    Corresponding to ISO 8601 ( see QDate::weekNumber() ). 
-
-  - QwtDate::FirstDay\n
-    Number of weeks that have begun since dateOfWeek0().
-
-  \param date Date
-  \param type Option how to identify the first week
-
-  \return Week number, starting with 1
- */
-int QwtDate::weekNumber( const QDate &date, Week0Type type )
-{
-    int weekNo;
-
-    if ( type == QwtDate::FirstDay )
-    {
-        const QDate day0 = dateOfWeek0( date.year(), type );
-        weekNo = day0.daysTo( date ) / 7 + 1;
-    }
-    else
-    {
-        weekNo = date.weekNumber();
-    }
-
-    return weekNo;
-}
-
-/*!
-   Offset in seconds from Coordinated Universal Time
-
-   The offset depends on the time specification of dateTime:
-
-   - Qt::UTC
-     0, dateTime has no offset
-   - Qt::OffsetFromUTC
-     returns dateTime.utcOffset()
-   - Qt::LocalTime:
-     number of seconds from the UTC
-
-   For Qt::LocalTime the offset depends on the timezone and
-   daylight savings.
-
-   \param dateTime Datetime value
-   \return Offset in seconds
- */
-int QwtDate::utcOffset( const QDateTime &dateTime )
-{
-    int seconds = 0;
-
-    switch( dateTime.timeSpec() )
-    {
-        case Qt::UTC:
-        {
-            break;
-        }
-        case Qt::OffsetFromUTC:
-        {
-            seconds = dateTime.utcOffset();
-        }
-        default:
-        {
-            const QDateTime dt1( dateTime.date(), dateTime.time(), Qt::UTC );
-            seconds = dateTime.secsTo( dt1 );
-        }
-    }
-
-    return seconds;
-}
-
-/*!
-  Translate a datetime into a string
-
-  Beside the format expressions documented in QDateTime::toString()
-  the following expressions are supported:
-
-  - w\n
-    week number: ( 1 - 53 )
-  - ww\n
-    week number with a leading zero ( 01 - 53 )
-
-  \param dateTime Datetime value
-  \param format Format string
-  \param week0Type Specification of week 0
-
-  \return Datetime string
-  \sa QDateTime::toString(), weekNumber(), QwtDateScaleDraw
- */
-QString QwtDate::toString( const QDateTime &dateTime,
-    const QString & format, Week0Type week0Type )
-{
-    QString weekNo;
-    weekNo.setNum( QwtDate::weekNumber( dateTime.date(), week0Type ) );
-
-    QString weekNoWW;
-    if ( weekNo.length() == 1 )
-        weekNoWW += "0";
-    weekNoWW += weekNo;
-
-    QString fmt = format;
-    fmt.replace( "ww", weekNoWW );
-    fmt.replace( "w", weekNo );
-
-    return dateTime.toString( fmt );
-}
diff --git a/SRC/Qwt/src/qwt_date.h b/SRC/Qwt/src/qwt_date.h
deleted file mode 100644
index ad6ac09..0000000
--- a/SRC/Qwt/src/qwt_date.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef _QWT_DATE_H_
-#define _QWT_DATE_H_
-
-#include "qwt_global.h"
-#include <qdatetime.h>
-
-/*!
-  \brief A collection of methods around date/time values
-
-  Qt offers convenient classes for dealing with date/time values,
-  but Qwt uses coordinate systems that are based on doubles.
-  QwtDate offers methods to translate from QDateTime to double and v.v.
-
-  A double is interpreted as the number of milliseconds since
-  1970-01-01T00:00:00 Universal Coordinated Time - also known
-  as "The Epoch". 
-
-  While the range of the Julian day in Qt4 is limited to [0, MAX_INT], 
-  Qt5 stores it as qint64 offering a huge range of valid dates. 
-  As the significance of a double is below this ( assuming a 
-  fraction of 52 bits ) the translation is not 
-  bijective with rounding errors for dates very far from Epoch. 
-  For a resolution of 1 ms those start to happen for dates above the 
-  year 144683. 
-
-  An axis for a date/time interval is expected to be aligned
-  and divided in time/date units like seconds, minutes, ...
-  QwtDate offers several algorithms that are needed to
-  calculate these axes.
-
-  \sa QwtDateScaleEngine, QwtDateScaleDraw, QDate, QTime
-*/
-class QWT_EXPORT QwtDate
-{
-public:
-    /*! 
-       How to identify the first week of year differs between
-       countries. 
-     */
-    enum Week0Type
-    {
-        /*!
-           According to ISO 8601 the first week of a year is defined
-           as "the week with the year's first Thursday in it".
-
-           FirstThursday corresponds to the numbering that is
-           implemented in QDate::weekNumber().
-        */
-        FirstThursday,
-
-        /*!
-            "The week with January 1.1 in it."
-           
-            In the U.S. this definition is more common than
-            FirstThursday.
-        */
-        FirstDay
-    };
-
-    /*! 
-      Classification of an time interval
-
-      Time intervals needs to be classified to decide how to
-      align and divide it.
-     */
-    enum IntervalType
-    {
-        //! The interval is related to milliseconds
-        Millisecond,
-
-        //! The interval is related to seconds
-        Second,
-
-        //! The interval is related to minutes
-        Minute,
-
-        //! The interval is related to hours
-        Hour,
-
-        //! The interval is related to days
-        Day,
-
-        //! The interval is related to weeks
-        Week,
-
-        //! The interval is related to months
-        Month,
-
-        //! The interval is related to years
-        Year
-    };
-
-    enum
-    {
-        //! The Julian day of "The Epoch"
-        JulianDayForEpoch = 2440588
-    };
-
-    static QDate minDate();
-    static QDate maxDate();
-
-    static QDateTime toDateTime( double value, 
-        Qt::TimeSpec = Qt::UTC );
-
-    static double toDouble( const QDateTime & );
-
-    static QDateTime ceil( const QDateTime &, IntervalType );
-    static QDateTime floor( const QDateTime &, IntervalType );
-
-    static QDate dateOfWeek0( int year, Week0Type );
-    static int weekNumber( const QDate &, Week0Type );
-
-    static int utcOffset( const QDateTime & );
-
-    static QString toString( const QDateTime &, 
-        const QString & format, Week0Type );
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_date_scale_draw.cpp b/SRC/Qwt/src/qwt_date_scale_draw.cpp
deleted file mode 100644
index 991dd38..0000000
--- a/SRC/Qwt/src/qwt_date_scale_draw.cpp
+++ /dev/null
@@ -1,278 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_date_scale_draw.h"
-
-class QwtDateScaleDraw::PrivateData
-{
-public:
-    PrivateData( Qt::TimeSpec spec ):
-        timeSpec( spec ),
-        utcOffset( 0 ),
-        week0Type( QwtDate::FirstThursday )
-    {
-        dateFormats[ QwtDate::Millisecond ] = "hh:mm:ss:zzz\nddd dd MMM yyyy";
-        dateFormats[ QwtDate::Second ] = "hh:mm:ss\nddd dd MMM yyyy";
-        dateFormats[ QwtDate::Minute ] = "hh:mm\nddd dd MMM yyyy";
-        dateFormats[ QwtDate::Hour ] = "hh:mm\nddd dd MMM yyyy";
-        dateFormats[ QwtDate::Day ] = "ddd dd MMM yyyy";
-        dateFormats[ QwtDate::Week ] = "Www yyyy";
-        dateFormats[ QwtDate::Month ] = "MMM yyyy";
-        dateFormats[ QwtDate::Year ] = "yyyy";
-    }
-
-    Qt::TimeSpec timeSpec;
-    int utcOffset;
-    QwtDate::Week0Type week0Type;
-    QString dateFormats[ QwtDate::Year + 1 ];
-};
-
-/*!
-  \brief Constructor
-
-  The default setting is to display tick labels for the 
-  given time specification. The first week of a year is defined like
-  for QwtDate::FirstThursday.
-
-  \param timeSpec Time specification
-
-  \sa setTimeSpec(), setWeek0Type()
- */
-QwtDateScaleDraw::QwtDateScaleDraw( Qt::TimeSpec timeSpec )
-{
-    d_data = new PrivateData( timeSpec );
-}
-
-//! Destructor
-QwtDateScaleDraw::~QwtDateScaleDraw()
-{
-    delete d_data;
-}
-
-/*!
-  Set the time specification used for the tick labels
-
-  \param timeSpec Time specification
-  \sa timeSpec(), setUtcOffset(), toDateTime()
- */
-void QwtDateScaleDraw::setTimeSpec( Qt::TimeSpec timeSpec )
-{
-    d_data->timeSpec = timeSpec;
-}
-
-/*!
-  \return Time specification used for the tick labels
-  \sa setTimeSpec(), utcOffset(), toDateTime()
- */
-Qt::TimeSpec QwtDateScaleDraw::timeSpec() const
-{
-    return d_data->timeSpec;
-}
-
-/*!
-  Set the offset in seconds from Coordinated Universal Time
-
-  \param seconds Offset in seconds
-
-  \note The offset has no effect beside for the time specification
-        Qt::OffsetFromUTC.
-
-  \sa QDate::utcOffset(), setTimeSpec(), toDateTime()
- */
-void QwtDateScaleDraw::setUtcOffset( int seconds )
-{
-    d_data->utcOffset = seconds;
-}
-
-/*!
-  \return Offset in seconds from Coordinated Universal Time
-  \note The offset has no effect beside for the time specification
-        Qt::OffsetFromUTC.
-
-  \sa QDate::setUtcOffset(), setTimeSpec(), toDateTime()
- */
-int QwtDateScaleDraw::utcOffset() const
-{
-    return d_data->utcOffset;
-}
-
-/*!
-  Sets how to identify the first week of a year.
-
-  \param week0Type Mode how to identify the first week of a year
-
-  \sa week0Type().
-  \note week0Type has no effect beside for intervals classified as
-        QwtDate::Week. 
- */
-void QwtDateScaleDraw::setWeek0Type( QwtDate::Week0Type week0Type )
-{
-    d_data->week0Type = week0Type;
-}
-
-/*!
-  \return Setting how to identify the first week of a year. 
-  \sa setWeek0Type()
- */
-QwtDate::Week0Type QwtDateScaleDraw::week0Type() const
-{
-    return d_data->week0Type;
-}
-
-/*!
-  Set the default format string for an datetime interval type
-
-  \param intervalType Interval type
-  \param format Default format string
-
-  \sa dateFormat(), dateFormatOfDate(), QwtDate::toString()
- */
-void QwtDateScaleDraw::setDateFormat( 
-    QwtDate::IntervalType intervalType, const QString &format )
-{
-    if ( intervalType >= QwtDate::Millisecond && 
-        intervalType <= QwtDate::Year )
-    {
-        d_data->dateFormats[ intervalType ] = format;
-    }
-}
-
-/*!
-  \param intervalType Interval type
-  \return Default format string for an datetime interval type
-  \sa setDateFormat(), dateFormatOfDate()
- */
-QString QwtDateScaleDraw::dateFormat( 
-    QwtDate::IntervalType intervalType ) const
-{
-    if ( intervalType >= QwtDate::Millisecond && 
-        intervalType <= QwtDate::Year )
-    {
-        return d_data->dateFormats[ intervalType ];
-    }
-
-    return QString::null;
-}
-
-/*!
-  Format string for the representation of a datetime
-
-  dateFormatOfDate() is intended to be overloaded for
-  situations, where formats are individual for specific
-  datetime values.
-
-  The default setting ignores dateTime and return
-  the default format for the interval type.
-
-  \param dateTime Datetime value
-  \param intervalType Interval type
-  \return Format string
-
-  \sa setDateFormat(), QwtDate::toString()
- */
-QString QwtDateScaleDraw::dateFormatOfDate( const QDateTime &dateTime,
-    QwtDate::IntervalType intervalType ) const
-{
-    Q_UNUSED( dateTime )
-
-    if ( intervalType >= QwtDate::Millisecond && 
-        intervalType <= QwtDate::Year )
-    {
-        return d_data->dateFormats[ intervalType ];
-    }
-
-    return d_data->dateFormats[ QwtDate::Second ];
-}
-
-/*!
-  \brief Convert a value into its representing label
-
-  The value is converted to a datetime value using toDateTime()
-  and converted to a plain text using QwtDate::toString().
-
-  \param value Value
-  \return Label string.
-
-  \sa dateFormatOfDate()
-*/
-QwtText QwtDateScaleDraw::label( double value ) const
-{
-    const QDateTime dt = toDateTime( value );
-    const QString fmt = dateFormatOfDate( 
-        dt, intervalType( scaleDiv() ) );
-
-    return QwtDate::toString( dt, fmt, d_data->week0Type );
-}
-
-/*!
-  Find the less detailed datetime unit, where no rounding
-  errors happen.
-
-  \param scaleDiv Scale division
-  \return Interval type
-
-  \sa dateFormatOfDate()
- */
-QwtDate::IntervalType QwtDateScaleDraw::intervalType( 
-    const QwtScaleDiv &scaleDiv ) const
-{
-    int intvType = QwtDate::Year;
-
-    bool alignedToWeeks = true;
-
-    const QList<double> ticks = scaleDiv.ticks( QwtScaleDiv::MajorTick );
-    for ( int i = 0; i < ticks.size(); i++ )
-    {
-        const QDateTime dt = toDateTime( ticks[i] );
-        for ( int j = QwtDate::Second; j <= intvType; j++ )
-        {
-            const QDateTime dt0 = QwtDate::floor( dt, 
-                static_cast<QwtDate::IntervalType>( j ) );
-
-            if ( dt0 != dt )
-            {
-                if ( j == QwtDate::Week )
-                {
-                    alignedToWeeks = false;
-                }
-                else
-                {
-                    intvType = j - 1;
-                    break;
-                }
-            }
-        }
-
-        if ( intvType == QwtDate::Millisecond )
-            break;
-    }
-
-    if ( intvType == QwtDate::Week && !alignedToWeeks )
-        intvType = QwtDate::Day;
-
-    return static_cast<QwtDate::IntervalType>( intvType );
-}
-
-/*!
-  Translate a double value into a QDateTime object.
-
-  \return QDateTime object initialized with timeSpec() and utcOffset().
-  \sa timeSpec(), utcOffset(), QwtDate::toDateTime()
- */
-QDateTime QwtDateScaleDraw::toDateTime( double value ) const
-{
-    QDateTime dt = QwtDate::toDateTime( value, d_data->timeSpec );
-    if ( d_data->timeSpec == Qt::OffsetFromUTC )
-    {
-        dt = dt.addSecs( d_data->utcOffset );
-        dt.setUtcOffset( d_data->utcOffset );
-    }
-
-    return dt;
-}
diff --git a/SRC/Qwt/src/qwt_date_scale_draw.h b/SRC/Qwt/src/qwt_date_scale_draw.h
deleted file mode 100644
index f0b0956..0000000
--- a/SRC/Qwt/src/qwt_date_scale_draw.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef _QWT_DATE_SCALE_DRAW_H_
-#define _QWT_DATE_SCALE_DRAW_H_ 1
-
-#include "qwt_global.h"
-#include "qwt_scale_draw.h"
-#include "qwt_date.h"
-
-/*!
-  \brief A class for drawing datetime scales
-
-  QwtDateScaleDraw displays values as datetime labels.
-  The format of the labels depends on the alignment of
-  the major tick labels.
-
-  The default format strings are:
-
-  - Millisecond\n
-    "hh:mm:ss:zzz\nddd dd MMM yyyy"
-  - Second\n
-    "hh:mm:ss\nddd dd MMM yyyy"
-  - Minute\n
-    "hh:mm\nddd dd MMM yyyy"
-  - Hour\n
-    "hh:mm\nddd dd MMM yyyy"
-  - Day\n
-    "ddd dd MMM yyyy"
-  - Week\n
-    "Www yyyy"
-  - Month\n
-    "MMM yyyy"
-  - Year\n
-    "yyyy"
-
-  The format strings can be modified using setDateFormat()
-  or individually for each tick label by overloading dateFormatOfDate(),
-
-  Usually QwtDateScaleDraw is used in combination with
-  QwtDateScaleEngine, that calculates scales for datetime
-  intervals.
-
-  \sa QwtDateScaleEngine, QwtPlot::setAxisScaleDraw()
-*/
-class QWT_EXPORT QwtDateScaleDraw: public QwtScaleDraw
-{
-public:
-    QwtDateScaleDraw( Qt::TimeSpec = Qt::LocalTime );
-    virtual ~QwtDateScaleDraw();
-
-    void setDateFormat( QwtDate::IntervalType, const QString & );
-    QString dateFormat( QwtDate::IntervalType ) const;
-
-    void setTimeSpec( Qt::TimeSpec );
-    Qt::TimeSpec timeSpec() const;
-
-    void setUtcOffset( int seconds );
-    int utcOffset() const;
-
-    void setWeek0Type( QwtDate::Week0Type );
-    QwtDate::Week0Type week0Type() const;
-
-    virtual QwtText label( double ) const;
-
-    QDateTime toDateTime( double ) const;
-
-protected:
-    virtual QwtDate::IntervalType 
-        intervalType( const QwtScaleDiv & ) const;
-
-    virtual QString dateFormatOfDate( const QDateTime &,
-        QwtDate::IntervalType ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_date_scale_engine.cpp b/SRC/Qwt/src/qwt_date_scale_engine.cpp
deleted file mode 100644
index b0f60e5..0000000
--- a/SRC/Qwt/src/qwt_date_scale_engine.cpp
+++ /dev/null
@@ -1,1309 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_date_scale_engine.h"
-#include "qwt_math.h"
-#include "qwt_transform.h"
-#include <qdatetime.h>
-#include <limits.h>
-
-static inline double qwtMsecsForType( QwtDate::IntervalType type )
-{
-    static const double msecs[] =
-    {
-        1.0,
-        1000.0,
-        60.0 * 1000.0,
-        3600.0 * 1000.0,
-        24.0 * 3600.0 * 1000.0,
-        7.0 * 24.0 * 3600.0 * 1000.0,
-        30.0 * 24.0 * 3600.0 * 1000.0,
-        365.0 * 24.0 * 3600.0 * 1000.0,
-    };
-
-    if ( type < 0 || type >= static_cast<int>( sizeof( msecs ) / sizeof( msecs[0] ) ) )
-        return 1.0;
-
-    return msecs[ type ];
-}
-
-static inline int qwtAlignValue(
-    double value, double stepSize, bool up )
-{
-    double d = value / stepSize;
-    d = up ? ::ceil( d ) : ::floor( d );
-
-    return static_cast<int>( d * stepSize );
-}
-
-static double qwtIntervalWidth( const QDateTime &minDate,
-    const QDateTime &maxDate, QwtDate::IntervalType intervalType ) 
-{
-    switch( intervalType )
-    {
-        case QwtDate::Millisecond:
-        {
-            const double secsTo = minDate.secsTo( maxDate );
-            const double msecs = maxDate.time().msec() -
-                minDate.time().msec();
-
-            return secsTo * 1000 + msecs;
-        }
-        case QwtDate::Second:
-        {
-            return minDate.secsTo( maxDate );
-        }
-        case QwtDate::Minute:
-        {
-            const double secsTo = minDate.secsTo( maxDate );
-            return ::floor( secsTo / 60 );
-        }
-        case QwtDate::Hour:
-        {
-            const double secsTo = minDate.secsTo( maxDate );
-            return ::floor( secsTo / 3600 );
-        }
-        case QwtDate::Day:
-        {
-            return minDate.daysTo( maxDate );
-        }
-        case QwtDate::Week:
-        {
-            return ::floor( minDate.daysTo( maxDate ) / 7.0 );
-        }
-        case QwtDate::Month:
-        {
-            const double years = 
-                double( maxDate.date().year() ) - minDate.date().year();
-
-            int months = maxDate.date().month() - minDate.date().month();
-            if ( maxDate.date().day() < minDate.date().day() )
-                months--;
-
-            return years * 12 + months;
-        }
-        case QwtDate::Year:
-        {
-            double years = 
-                double( maxDate.date().year() ) - minDate.date().year();
-
-            if ( maxDate.date().month() < minDate.date().month() )
-                years -= 1.0;
-
-            return years;
-        }
-    }
-
-    return 0.0;
-}
-
-static double qwtRoundedIntervalWidth( 
-    const QDateTime &minDate, const QDateTime &maxDate, 
-    QwtDate::IntervalType intervalType ) 
-{
-    const QDateTime minD = QwtDate::floor( minDate, intervalType );
-    const QDateTime maxD = QwtDate::ceil( maxDate, intervalType );
-
-    return qwtIntervalWidth( minD, maxD, intervalType );
-}
-
-static inline int qwtStepCount( int intervalSize, int maxSteps,
-    const int limits[], size_t numLimits )
-{
-    for ( uint i = 0; i < numLimits; i++ )
-    {
-        const int numSteps = intervalSize / limits[ i ];
-
-        if ( numSteps > 1 && numSteps <= maxSteps &&
-            numSteps * limits[ i ] == intervalSize )
-        {
-            return numSteps;
-        }
-    }
-
-    return 0;
-}
-
-static int qwtStepSize( int intervalSize, int maxSteps, uint base ) 
-{
-    if ( maxSteps <= 0 )
-        return 0;
-
-    if ( maxSteps > 2 )
-    {
-        for ( int numSteps = maxSteps; numSteps > 1; numSteps-- )
-        {
-            const double stepSize = double( intervalSize ) / numSteps;
-
-            const double p = ::floor( ::log( stepSize ) / ::log( double( base ) ) );
-            const double fraction = qPow( base, p );
-
-            for ( uint n = base; n >= 1; n /= 2 )
-            {
-                if ( qFuzzyCompare( stepSize, n * fraction ) )
-                    return qRound( stepSize );
-
-                if ( n == 3 && ( base % 2 ) == 0 )
-                {
-                    if ( qFuzzyCompare( stepSize, 2 * fraction ) )
-                        return qRound( stepSize );
-                }
-            }
-        }
-    }
-
-    return 0;
-}
-
-static int qwtDivideInterval( double intervalSize, int numSteps, 
-    const int limits[], size_t numLimits )
-{
-    const int v = qCeil( intervalSize / double( numSteps ) );
-
-    for ( uint i = 0; i < numLimits - 1; i++ )
-    {
-        if ( v <= limits[i] )
-            return limits[i];
-    }
-
-    return limits[ numLimits - 1 ];
-}
-
-static double qwtDivideScale( double intervalSize, int numSteps,
-    QwtDate::IntervalType intervalType )
-{
-    if ( intervalType != QwtDate::Day )
-    {
-        if ( ( intervalSize > numSteps ) && 
-            ( intervalSize <= 2 * numSteps ) )
-        {
-            return 2.0;
-        }
-    }
-
-    double stepSize;
-
-    switch( intervalType )
-    {
-        case QwtDate::Second:
-        case QwtDate::Minute:
-        {
-            static int limits[] = { 1, 2, 5, 10, 15, 20, 30, 60 };
-    
-            stepSize = qwtDivideInterval( intervalSize, numSteps,
-                limits, sizeof( limits ) / sizeof( int ) );
-
-            break;
-        }
-        case QwtDate::Hour:
-        {
-            static int limits[] = { 1, 2, 3, 4, 6, 12, 24 };
-    
-            stepSize = qwtDivideInterval( intervalSize, numSteps,
-                limits, sizeof( limits ) / sizeof( int ) );
-
-            break;
-        }
-        case QwtDate::Day:
-        {
-            const double v = intervalSize / double( numSteps );
-            if ( v <= 5.0 )
-                stepSize = qCeil( v );
-            else
-                stepSize = qCeil( v / 7 ) * 7;
-
-            break;
-        }
-        case QwtDate::Week:
-        {
-            static int limits[] = { 1, 2, 4, 8, 12, 26, 52 };
-
-            stepSize = qwtDivideInterval( intervalSize, numSteps,
-                limits, sizeof( limits ) / sizeof( int ) );
-
-            break;
-        }
-        case QwtDate::Month:
-        {
-            static int limits[] = { 1, 2, 3, 4, 6, 12 };
-
-            stepSize = qwtDivideInterval( intervalSize, numSteps,
-                limits, sizeof( limits ) / sizeof( int ) );
-
-            break;
-        }
-        case QwtDate::Year:
-        case QwtDate::Millisecond:
-        default:
-        {
-            stepSize = QwtScaleArithmetic::divideInterval(
-                intervalSize, numSteps, 10 );
-        }
-    }
-
-    return stepSize;
-}
-
-static double qwtDivideMajorStep( double stepSize, int maxMinSteps,
-    QwtDate::IntervalType intervalType )
-{
-    double minStepSize = 0.0;
-
-    switch( intervalType )
-    {
-        case QwtDate::Second:
-        {
-            minStepSize = qwtStepSize( stepSize, maxMinSteps, 10 );
-            if ( minStepSize == 0.0 )
-                minStepSize = 0.5 * stepSize;
-
-            break;
-        }
-        case QwtDate::Minute:
-        {
-            static int limits[] = { 1, 2, 5, 10, 15, 20, 30, 60 };
-
-            int numSteps;
-
-            if ( stepSize > maxMinSteps )
-            {
-                numSteps = qwtStepCount( stepSize, maxMinSteps, 
-                    limits, sizeof( limits ) / sizeof( int ) );
-
-            }
-            else
-            {
-                numSteps = qwtStepCount( stepSize * 60, maxMinSteps, 
-                    limits, sizeof( limits ) / sizeof( int ) );
-            }
-
-            if ( numSteps > 0 )
-                minStepSize = double( stepSize ) / numSteps;
-
-            break;
-        }
-        case QwtDate::Hour:
-        {
-            int numSteps = 0;
-
-            if ( stepSize > maxMinSteps )
-            {
-                static int limits[] = { 1, 2, 3, 4, 6, 12, 24, 48, 72 };
-
-                numSteps = qwtStepCount( stepSize, maxMinSteps,
-                    limits, sizeof( limits ) / sizeof( int ) );
-            }
-            else
-            {
-                static int limits[] = { 1, 2, 5, 10, 15, 20, 30, 60 };
-
-                numSteps = qwtStepCount( stepSize * 60, maxMinSteps,
-                    limits, sizeof( limits ) / sizeof( int ) );
-            }
-
-            if ( numSteps > 0 )
-                minStepSize = double( stepSize ) / numSteps;
-
-            break;
-        }
-        case QwtDate::Day:
-        {
-            int numSteps = 0;
-
-            if ( stepSize > maxMinSteps )
-            {
-                static int limits[] = { 1, 2, 3, 7, 14, 28 };
-
-                numSteps = qwtStepCount( stepSize, maxMinSteps,
-                    limits, sizeof( limits ) / sizeof( int ) );
-            }
-            else
-            {
-                static int limits[] = { 1, 2, 3, 4, 6, 12, 24, 48, 72 };
-
-                numSteps = qwtStepCount( stepSize * 24, maxMinSteps,
-                    limits, sizeof( limits ) / sizeof( int ) );
-            }
-
-            if ( numSteps > 0 )
-                minStepSize = double( stepSize ) / numSteps;
-
-            break;
-        }
-        case QwtDate::Week:
-        {
-            const int daysInStep = stepSize * 7;
-
-            if ( maxMinSteps >= daysInStep )
-            {
-                // we want to have one tick per day
-                minStepSize = 1.0 / 7.0;
-            }
-            else
-            {
-                // when the stepSize is more than a week we want to
-                // have a tick for each week
-
-                const int stepSizeInWeeks = stepSize;
-
-                if ( stepSizeInWeeks <= maxMinSteps )
-                {
-                    minStepSize = 1;
-                }
-                else
-                {
-                    minStepSize = QwtScaleArithmetic::divideInterval( 
-                        stepSizeInWeeks, maxMinSteps, 10 );
-                }
-            }
-            break;
-        }
-        case QwtDate::Month:
-        {
-            // fractions of months doesn't make any sense
-
-            if ( stepSize < maxMinSteps )
-                maxMinSteps = static_cast<int>( stepSize );
-
-            static int limits[] = { 1, 2, 3, 4, 6, 12 };
-
-            int numSteps = qwtStepCount( stepSize, maxMinSteps,
-                limits, sizeof( limits ) / sizeof( int ) );
-
-            if ( numSteps > 0 )
-                minStepSize = double( stepSize ) / numSteps;
-
-            break;
-        }
-        case QwtDate::Year:
-        {
-            if ( stepSize >= maxMinSteps )
-            {
-                minStepSize = QwtScaleArithmetic::divideInterval(
-                    stepSize, maxMinSteps, 10 );
-            }
-            else
-            {
-                // something in months
-
-                static int limits[] = { 1, 2, 3, 4, 6, 12 };
-
-                int numSteps = qwtStepCount( 12 * stepSize, maxMinSteps,
-                    limits, sizeof( limits ) / sizeof( int ) );
-
-                if ( numSteps > 0 )
-                    minStepSize = double( stepSize ) / numSteps;
-            }
-                
-            break;
-        }
-        default:
-            break;
-    }
-
-    if ( intervalType != QwtDate::Month
-        && minStepSize == 0.0 )
-    {
-        minStepSize = 0.5 * stepSize;
-    }
-
-    return minStepSize;
-}
-
-static QList<double> qwtDstTicks( const QDateTime &dateTime,
-    int secondsMajor, int secondsMinor )
-{
-    if ( secondsMinor <= 0 )
-        QList<double>();
-
-    QDateTime minDate = dateTime.addSecs( -secondsMajor );
-    minDate = QwtDate::floor( minDate, QwtDate::Hour );
-
-    const double utcOffset = QwtDate::utcOffset( dateTime );
-
-    // find the hours where daylight saving time happens
-
-    double dstMin = QwtDate::toDouble( minDate );
-    while ( minDate < dateTime &&
-        QwtDate::utcOffset( minDate ) != utcOffset )
-    {
-        minDate = minDate.addSecs( 3600 );
-        dstMin += 3600 * 1000.0;
-    }
-
-    QList<double> ticks;
-    for ( int i = 0; i < 3600; i += secondsMinor )
-        ticks += dstMin + i * 1000.0;
-
-    return ticks;
-}
-
-static QwtScaleDiv qwtDivideToSeconds( 
-    const QDateTime &minDate, const QDateTime &maxDate,
-    double stepSize, int maxMinSteps,
-    QwtDate::IntervalType intervalType ) 
-{
-    // calculate the min step size
-    double minStepSize = 0;
-
-    if ( maxMinSteps > 1 ) 
-    {
-        minStepSize = qwtDivideMajorStep( stepSize, 
-            maxMinSteps, intervalType );
-    }
-
-    bool daylightSaving = false;
-    if ( minDate.timeSpec() == Qt::LocalTime )
-    {
-        daylightSaving = intervalType > QwtDate::Hour;
-        if ( intervalType == QwtDate::Hour )
-        {
-            daylightSaving = stepSize > 1;
-        }
-    }
-
-    const double s = qwtMsecsForType( intervalType ) / 1000;
-    const int secondsMajor = static_cast<int>( stepSize * s );
-    const double secondsMinor = minStepSize * s;
-    
-    // UTC excludes daylight savings. So from the difference
-    // of a date and its UTC counterpart we can find out
-    // the daylight saving hours
-
-    const double utcOffset = QwtDate::utcOffset( minDate );
-    double dstOff = 0;
-
-    QList<double> majorTicks;
-    QList<double> mediumTicks;
-    QList<double> minorTicks;
-
-    for ( QDateTime dt = minDate; dt <= maxDate; 
-        dt = dt.addSecs( secondsMajor ) )
-    {
-        if ( !dt.isValid() )
-            break;
-
-        double majorValue = QwtDate::toDouble( dt );
-
-        if ( daylightSaving )
-        {
-            const double offset = utcOffset - QwtDate::utcOffset( dt );
-            majorValue += offset * 1000.0;
-
-            if ( offset > dstOff )
-            {
-                // we add some minor ticks for the DST hour,
-                // otherwise the ticks will be unaligned: 0, 2, 3, 5 ...
-                minorTicks += qwtDstTicks( 
-                    dt, secondsMajor, qRound( secondsMinor ) );
-            }
-
-            dstOff = offset;
-        }
-
-        if ( majorTicks.isEmpty() || majorTicks.last() != majorValue )
-            majorTicks += majorValue;
-
-        if ( secondsMinor > 0.0 )
-        {
-            const int numMinorSteps = qFloor( secondsMajor / secondsMinor );
-
-            for ( int i = 1; i < numMinorSteps; i++ )
-            {
-                const QDateTime mt = dt.addMSecs( 
-                    qRound64( i * secondsMinor * 1000 ) );
-
-                double minorValue = QwtDate::toDouble( mt );
-                if ( daylightSaving )
-                {
-                    const double offset = utcOffset - QwtDate::utcOffset( mt );
-                    minorValue += offset * 1000.0;
-                }
-
-                if ( minorTicks.isEmpty() || minorTicks.last() != minorValue )
-                {
-                    const bool isMedium = ( numMinorSteps % 2 == 0 ) 
-                        && ( i != 1 ) && ( i == numMinorSteps / 2 );
-
-                    if ( isMedium )
-                        mediumTicks += minorValue;
-                    else
-                        minorTicks += minorValue;
-                }
-            }
-        }
-    }
-
-    QwtScaleDiv scaleDiv;
-
-    scaleDiv.setInterval( QwtDate::toDouble( minDate ),
-        QwtDate::toDouble( maxDate ) );
-
-    scaleDiv.setTicks( QwtScaleDiv::MajorTick, majorTicks );
-    scaleDiv.setTicks( QwtScaleDiv::MediumTick, mediumTicks );
-    scaleDiv.setTicks( QwtScaleDiv::MinorTick, minorTicks );
-
-    return scaleDiv;
-}
-
-static QwtScaleDiv qwtDivideToMonths( 
-    QDateTime &minDate, const QDateTime &maxDate,
-    double stepSize, int maxMinSteps ) 
-{
-    // months are intervals with non 
-    // equidistant ( in ms ) steps: we have to build the 
-    // scale division manually
-
-    int minStepDays = 0;
-    int minStepSize = 0.0; 
-
-    if ( maxMinSteps > 1 )
-    {
-        if ( stepSize == 1 )
-        {
-            if ( maxMinSteps >= 30 )
-                minStepDays = 1;
-            else if ( maxMinSteps >= 6 )
-                minStepDays = 5;
-            else if ( maxMinSteps >= 3 )
-                minStepDays = 10;
-
-            minStepDays = 15;
-        }
-        else
-        {
-            minStepSize = qwtDivideMajorStep( 
-                stepSize, maxMinSteps, QwtDate::Month );
-        }
-    }
-
-    QList<double> majorTicks;
-    QList<double> mediumTicks;
-    QList<double> minorTicks;
-
-    for ( QDateTime dt = minDate; 
-        dt <= maxDate; dt = dt.addMonths( stepSize ) )
-    {
-        if ( !dt.isValid() )
-            break;
-
-        majorTicks += QwtDate::toDouble( dt );
-
-        if ( minStepDays > 0 )
-        {
-            for ( int days = minStepDays; 
-                days < 30; days += minStepDays )
-            {
-                const double tick = QwtDate::toDouble( dt.addDays( days ) );
-
-                if ( days == 15 && minStepDays != 15 )
-                    mediumTicks += tick;
-                else
-                    minorTicks += tick;
-            }
-        }
-        else if ( minStepSize > 0.0 )
-        {
-            const int numMinorSteps = qRound( stepSize / (double) minStepSize );
-
-            for ( int i = 1; i < numMinorSteps; i++ )
-            {
-                const double minorValue =
-                    QwtDate::toDouble( dt.addMonths( i * minStepSize ) );
-
-                if ( ( numMinorSteps % 2 == 0 ) && ( i == numMinorSteps / 2 ) )
-                    mediumTicks += minorValue;
-                else
-                    minorTicks += minorValue;
-            }
-        }
-    }
-
-    QwtScaleDiv scaleDiv;
-    scaleDiv.setInterval( QwtDate::toDouble( minDate ),
-        QwtDate::toDouble( maxDate ) );
-
-    scaleDiv.setTicks( QwtScaleDiv::MajorTick, majorTicks );
-    scaleDiv.setTicks( QwtScaleDiv::MediumTick, mediumTicks );
-    scaleDiv.setTicks( QwtScaleDiv::MinorTick, minorTicks );
-
-    return scaleDiv;
-}
-
-static QwtScaleDiv qwtDivideToYears( 
-    const QDateTime &minDate, const QDateTime &maxDate,
-    double stepSize, int maxMinSteps ) 
-{
-    QList<double> majorTicks;
-    QList<double> mediumTicks;
-    QList<double> minorTicks;
-
-    double minStepSize = 0.0;
-
-    if ( maxMinSteps > 1 )
-    {
-        minStepSize = qwtDivideMajorStep( 
-            stepSize, maxMinSteps, QwtDate::Year );
-    }
-
-    int numMinorSteps = 0;
-    if ( minStepSize > 0.0 )
-        numMinorSteps = qFloor( stepSize / minStepSize );
-
-    bool dateBC = minDate.date().year() < -1;
-
-    for ( QDateTime dt = minDate; dt <= maxDate;
-        dt = dt.addYears( stepSize ) )
-    {
-        if ( dateBC && dt.date().year() > 1 )
-        {
-            // there is no year 0 in the Julian calendar
-            dt = dt.addYears( -1 );
-            dateBC = false;
-        }
-
-        if ( !dt.isValid() )
-            break;
-
-        majorTicks += QwtDate::toDouble( dt );
-
-        for ( int i = 1; i < numMinorSteps; i++ )
-        {
-            QDateTime tickDate;
-
-            const double years = qRound( i * minStepSize );
-            if ( years >= INT_MAX / 12 )
-            {
-                tickDate = dt.addYears( years );
-            }
-            else
-            {
-                tickDate = dt.addMonths( qRound( years * 12 ) );
-            }
-
-            const bool isMedium = ( numMinorSteps > 2 ) &&
-                ( numMinorSteps % 2 == 0 ) && ( i == numMinorSteps / 2 );
-
-            const double minorValue = QwtDate::toDouble( tickDate );
-            if ( isMedium )
-                mediumTicks += minorValue;
-            else
-                minorTicks += minorValue;
-        }
-
-        if ( QwtDate::maxDate().addYears( -stepSize ) < dt.date() )
-        {
-            break;
-        }
-    }   
-
-    QwtScaleDiv scaleDiv;
-    scaleDiv.setInterval( QwtDate::toDouble( minDate ),
-        QwtDate::toDouble( maxDate ) );
-
-    scaleDiv.setTicks( QwtScaleDiv::MajorTick, majorTicks );
-    scaleDiv.setTicks( QwtScaleDiv::MediumTick, mediumTicks );
-    scaleDiv.setTicks( QwtScaleDiv::MinorTick, minorTicks );
-
-    return scaleDiv;
-}
-
-class QwtDateScaleEngine::PrivateData
-{
-public:
-    PrivateData( Qt::TimeSpec spec ):
-        timeSpec( spec ),
-        utcOffset( 0 ),
-        week0Type( QwtDate::FirstThursday ),
-        maxWeeks( 4 )
-    {
-    }
-
-    Qt::TimeSpec timeSpec;
-    int utcOffset;
-    QwtDate::Week0Type week0Type;
-    int maxWeeks;
-};      
-
-
-/*!
-  \brief Constructor
-
-  The engine is initialized to build scales for the 
-  given time specification. It classifies intervals > 4 weeks
-  as >= Qt::Month. The first week of a year is defined like
-  for QwtDate::FirstThursday.
-
-  \param timeSpec Time specification
-
-  \sa setTimeSpec(), setMaxWeeks(), setWeek0Type()
- */
-QwtDateScaleEngine::QwtDateScaleEngine( Qt::TimeSpec timeSpec ):
-    QwtLinearScaleEngine( 10 )
-{
-    d_data = new PrivateData( timeSpec );
-}
-
-//! Destructor
-QwtDateScaleEngine::~QwtDateScaleEngine()
-{
-    delete d_data;
-}
-
-/*!
-  Set the time specification used by the engine
-
-  \param timeSpec Time specification
-  \sa timeSpec(), setUtcOffset(), toDateTime()
- */
-void QwtDateScaleEngine::setTimeSpec( Qt::TimeSpec timeSpec )
-{
-    d_data->timeSpec = timeSpec;
-}
-
-/*!
-  \return Time specification used by the engine
-  \sa setTimeSpec(), utcOffset(), toDateTime()
- */
-Qt::TimeSpec QwtDateScaleEngine::timeSpec() const
-{
-    return d_data->timeSpec;
-}
-
-/*!
-  Set the offset in seconds from Coordinated Universal Time
-
-  \param seconds Offset in seconds
-
-  \note The offset has no effect beside for the time specification
-        Qt::OffsetFromUTC.
-
-  \sa QDate::utcOffset(), setTimeSpec(), toDateTime()
- */
-void QwtDateScaleEngine::setUtcOffset( int seconds )
-{
-    d_data->utcOffset = seconds;
-}
-
-/*!
-  \return Offset in seconds from Coordinated Universal Time
-  \note The offset has no effect beside for the time specification
-        Qt::OffsetFromUTC.
-
-  \sa QDate::setUtcOffset(), setTimeSpec(), toDateTime()
- */
-int QwtDateScaleEngine::utcOffset() const
-{
-    return d_data->utcOffset;
-}
-
-/*!
-  Sets how to identify the first week of a year.
-
-  \param week0Type Mode how to identify the first week of a year
-
-  \sa week0Type(), setMaxWeeks()
-  \note week0Type has no effect beside for intervals classified as
-        QwtDate::Week. 
- */
-void QwtDateScaleEngine::setWeek0Type( QwtDate::Week0Type week0Type )
-{
-    d_data->week0Type = week0Type;
-}
-
-/*!
-  \return Setting how to identify the first week of a year. 
-  \sa setWeek0Type(), maxWeeks()
- */
-QwtDate::Week0Type QwtDateScaleEngine::week0Type() const
-{
-    return d_data->week0Type;
-}
-
-/*!
-  Set a upper limit for the number of weeks, when an interval
-  can be classified as Qt::Week.
-
-  The default setting is 4 weeks.
-
-  \param weeks Upper limit for the number of weeks
-
-  \note In business charts a year is often devided
-        into weeks [1-52]
-  \sa maxWeeks(), setWeek0Type() 
- */
-void QwtDateScaleEngine::setMaxWeeks( int weeks )
-{
-    d_data->maxWeeks = qMax( weeks, 0 );
-}
-
-/*!
-  \return Upper limit for the number of weeks, when an interval
-          can be classified as Qt::Week.
-  \sa setMaxWeeks(), week0Type()
- */
-int QwtDateScaleEngine::maxWeeks() const
-{
-    return d_data->maxWeeks;
-}
-
-/*!
-  Classification of a date/time interval division
-
-  \param minDate Minimum ( = earlier ) of the interval
-  \param maxDate Maximum ( = later ) of the interval
-  \param maxSteps Maximum for the number of steps
-
-  \return Interval classification
- */
-QwtDate::IntervalType QwtDateScaleEngine::intervalType( 
-    const QDateTime &minDate, const QDateTime &maxDate, 
-    int maxSteps ) const
-{
-    const double jdMin = minDate.date().toJulianDay();
-    const double jdMax = maxDate.date().toJulianDay();
-
-    if ( ( jdMax - jdMin ) / 365 > maxSteps )
-        return QwtDate::Year;
-
-    const int months = qwtRoundedIntervalWidth( minDate, maxDate, QwtDate::Month );
-    if ( months > maxSteps * 6 )
-        return QwtDate::Year;
-
-    const int days = qwtRoundedIntervalWidth( minDate, maxDate, QwtDate::Day );
-    const int weeks = qwtRoundedIntervalWidth( minDate, maxDate, QwtDate::Week );
-
-    if ( weeks > d_data->maxWeeks )
-    {
-        if ( days > 4 * maxSteps * 7 )
-            return QwtDate::Month;
-    }
-
-    if ( days > maxSteps * 7 )
-        return QwtDate::Week;
-
-    const int hours = qwtRoundedIntervalWidth( minDate, maxDate, QwtDate::Hour );
-    if ( hours > maxSteps * 24 )
-        return QwtDate::Day;
-
-    const int seconds = qwtRoundedIntervalWidth( minDate, maxDate, QwtDate::Second );
-
-    if ( seconds >= maxSteps * 3600 )
-        return QwtDate::Hour;
-
-    if ( seconds >= maxSteps * 60 )
-        return QwtDate::Minute;
-
-    if ( seconds >= maxSteps )
-        return QwtDate::Second;
-
-    return QwtDate::Millisecond;
-}
-
-/*!
-  Align and divide an interval
-
-  The algorithm aligns and divides the interval into steps. 
-
-  Datetime interval divisions are usually not equidistant and the
-  calculated stepSize can only be used as an approximation
-  for the steps calculated by divideScale(). 
-
-  \param maxNumSteps Max. number of steps
-  \param x1 First limit of the interval (In/Out)
-  \param x2 Second limit of the interval (In/Out)
-  \param stepSize Step size (Out)
-
-  \sa QwtScaleEngine::setAttribute()
-*/
-void QwtDateScaleEngine::autoScale( int maxNumSteps,
-    double &x1, double &x2, double &stepSize ) const
-{
-    stepSize = 0.0;
-
-    QwtInterval interval( x1, x2 );
-    interval = interval.normalized();
-
-    interval.setMinValue( interval.minValue() - lowerMargin() );
-    interval.setMaxValue( interval.maxValue() + upperMargin() );
-
-    if ( testAttribute( QwtScaleEngine::Symmetric ) )
-        interval = interval.symmetrize( reference() );
-
-    if ( testAttribute( QwtScaleEngine::IncludeReference ) )
-        interval = interval.extend( reference() );
-
-    if ( interval.width() == 0.0 )
-        interval = buildInterval( interval.minValue() );
-
-    const QDateTime from = toDateTime( interval.minValue() );
-    const QDateTime to = toDateTime( interval.maxValue() );
-
-    if ( from.isValid() && to.isValid() )
-    {
-        if ( maxNumSteps < 1 )
-            maxNumSteps = 1;
-
-        const QwtDate::IntervalType intvType = 
-            intervalType( from, to, maxNumSteps );
-
-        const double width = qwtIntervalWidth( from, to, intvType );
-
-        const double stepWidth = qwtDivideScale( width, maxNumSteps, intvType );
-        if ( stepWidth != 0.0 && !testAttribute( QwtScaleEngine::Floating ) )
-        {
-            const QDateTime d1 = alignDate( from, stepWidth, intvType, false );
-            const QDateTime d2 = alignDate( to, stepWidth, intvType, true );
-
-            interval.setMinValue( QwtDate::toDouble( d1 ) );
-            interval.setMaxValue( QwtDate::toDouble( d2 ) );
-        }
-
-        stepSize = stepWidth * qwtMsecsForType( intvType );
-    }
-
-    x1 = interval.minValue();
-    x2 = interval.maxValue();
-
-    if ( testAttribute( QwtScaleEngine::Inverted ) )
-    {
-        qSwap( x1, x2 );
-        stepSize = -stepSize;
-    }
-}
-
-/*!
-   \brief Calculate a scale division for a date/time interval
-
-   \param x1 First interval limit
-   \param x2 Second interval limit
-   \param maxMajorSteps Maximum for the number of major steps
-   \param maxMinorSteps Maximum number of minor steps
-   \param stepSize Step size. If stepSize == 0, the scaleEngine
-                   calculates one.
-   \return Calculated scale division
-*/
-QwtScaleDiv QwtDateScaleEngine::divideScale( double x1, double x2,
-    int maxMajorSteps, int maxMinorSteps, double stepSize ) const
-{
-    if ( maxMajorSteps < 1 )
-        maxMajorSteps = 1;
-
-    const double min = qMin( x1, x2 );
-    const double max = qMax( x1, x2 );
-
-    const QDateTime from = toDateTime( min );
-    const QDateTime to = toDateTime( max );
-
-    if ( from == to )
-        return QwtScaleDiv();
-
-    stepSize = qAbs( stepSize );
-    if ( stepSize > 0.0 )
-    {
-        // as interval types above hours are not equidistant
-        // ( even days might have 23/25 hours because of daylight saving )
-        // the stepSize is used as a hint only
-
-        maxMajorSteps = qCeil( ( max - min ) / stepSize );
-    }
-
-    const QwtDate::IntervalType intvType = 
-        intervalType( from, to, maxMajorSteps );
-
-    QwtScaleDiv scaleDiv;
-
-    if ( intvType == QwtDate::Millisecond )
-    {
-        // for milliseconds and below we can use the decimal system
-        scaleDiv = QwtLinearScaleEngine::divideScale( min, max,
-            maxMajorSteps, maxMinorSteps, stepSize );
-    }
-    else
-    {
-        const QDateTime minDate = QwtDate::floor( from, intvType );
-        const QDateTime maxDate = QwtDate::ceil( to, intvType );
-
-        scaleDiv = buildScaleDiv( minDate, maxDate, 
-            maxMajorSteps, maxMinorSteps, intvType );
-
-        // scaleDiv has been calculated from an extended interval
-        // adjusted to the step size. We have to shrink it again.
-
-        scaleDiv = scaleDiv.bounded( min, max );
-    }
-
-    if ( x1 > x2 )
-        scaleDiv.invert();
-
-    return scaleDiv;
-}
-
-QwtScaleDiv QwtDateScaleEngine::buildScaleDiv( 
-    const QDateTime &minDate, const QDateTime &maxDate,
-    int maxMajorSteps, int maxMinorSteps,
-    QwtDate::IntervalType intervalType ) const
-{
-    // calculate the step size
-    const double stepSize = qwtDivideScale( 
-        qwtIntervalWidth( minDate, maxDate, intervalType ), 
-        maxMajorSteps, intervalType );
-
-    // align minDate to the step size
-    QDateTime dt0 = alignDate( minDate, stepSize, intervalType, false );
-    if ( !dt0.isValid() )
-    {
-        // the floored date is out of the range of a 
-        // QDateTime - we ceil instead.
-        dt0 = alignDate( minDate, stepSize, intervalType, true );
-    }
-
-    QwtScaleDiv scaleDiv;
-
-    if ( intervalType <= QwtDate::Week )
-    {
-        scaleDiv = qwtDivideToSeconds( dt0, maxDate, 
-            stepSize, maxMinorSteps, intervalType );
-    }
-    else
-    {
-        if( intervalType == QwtDate::Month )
-        {
-            scaleDiv = qwtDivideToMonths( dt0, maxDate,
-                stepSize, maxMinorSteps );
-        }
-        else if ( intervalType == QwtDate::Year )
-        {
-            scaleDiv = qwtDivideToYears( dt0, maxDate,
-                stepSize, maxMinorSteps );
-        }
-    }
-
-
-    return scaleDiv;
-}
-
-/*!
-  Align a date/time value for a step size
-
-  For Qt::Day alignments there is no "natural day 0" -
-  instead the first day of the year is used to avoid jumping 
-  major ticks positions when panning a scale. For other alignments
-  ( f.e according to the first day of the month ) alignDate()
-  has to be overloaded.
-
-  \param dateTime Date/time value
-  \param stepSize Step size
-  \param intervalType Interval type
-  \param up When true dateTime is ceiled - otherwise it is floored
-
-  \return Aligned date/time value
- */
-QDateTime QwtDateScaleEngine::alignDate( 
-    const QDateTime &dateTime, double stepSize, 
-    QwtDate::IntervalType intervalType, bool up ) const
-{
-    // what about: (year == 1582 && month == 10 && day > 4 && day < 15) ??
-
-    QDateTime dt = dateTime;
-
-    if ( dateTime.timeSpec() == Qt::OffsetFromUTC )
-    {
-        dt.setUtcOffset( 0 );
-    }
-
-    switch( intervalType )
-    {
-        case QwtDate::Millisecond:
-        {
-            const int ms = qwtAlignValue( 
-                dt.time().msec(), stepSize, up ) ;
-
-            dt = QwtDate::floor( dateTime, QwtDate::Second );
-            dt = dt.addMSecs( ms );
-
-            break;
-        }
-        case QwtDate::Second:
-        {
-            int second = dt.time().second();
-            if ( up )
-            {
-                if ( dt.time().msec() > 0 )
-                    second++;
-            }
-
-            const int s = qwtAlignValue( second, stepSize, up );
-
-            dt = QwtDate::floor( dt, QwtDate::Minute );
-            dt = dt.addSecs( s );
-
-            break;
-        }
-        case QwtDate::Minute:
-        {
-            int minute = dt.time().minute();
-            if ( up )
-            {
-                if ( dt.time().msec() > 0 || dt.time().second() > 0 )
-                    minute++;
-            }
-
-            const int m = qwtAlignValue( minute, stepSize, up );
-
-            dt = QwtDate::floor( dt, QwtDate::Hour );
-            dt = dt.addSecs( m * 60 );
-
-            break;
-        }
-        case QwtDate::Hour:
-        {
-            int hour = dt.time().hour();
-            if ( up )
-            {
-                if ( dt.time().msec() > 0 || dt.time().second() > 0
-                    || dt.time().minute() > 0 )
-                {
-                    hour++;
-                }
-            }
-            const int h = qwtAlignValue( hour, stepSize, up );
-
-            dt = QwtDate::floor( dt, QwtDate::Day );
-            dt = dt.addSecs( h * 3600 );
-
-            break;
-        }
-        case QwtDate::Day:
-        {
-            // What date do we expect f.e. from an alignment of 5 days ??
-            // Aligning them to the beginning of the year avoids at least
-            // jumping major ticks when panning
-
-            int day = dt.date().dayOfYear();
-            if ( up )
-            {
-                if ( dt.time() > QTime( 0, 0 ) )
-                    day++;
-            }
-
-            const int d = qwtAlignValue( day, stepSize, up );
-
-            dt = QwtDate::floor( dt, QwtDate::Year );
-            dt = dt.addDays( d - 1 );
-
-            break;
-        }
-        case QwtDate::Week:
-        {
-            const QDate date = QwtDate::dateOfWeek0(
-                dt.date().year(), d_data->week0Type );
-
-            int numWeeks = date.daysTo( dt.date() ) / 7;
-            if ( up )
-            {
-                if ( dt.time() > QTime( 0, 0 ) ||
-                    date.daysTo( dt.date() ) % 7 )
-                {
-                    numWeeks++;
-                }
-            }
-
-            const int d = qwtAlignValue( numWeeks, stepSize, up ) * 7;
-
-            dt = QwtDate::floor( dt, QwtDate::Day );
-            dt.setDate( date );
-            dt = dt.addDays( d );
-
-            break;
-        }
-        case QwtDate::Month:
-        {
-            int month = dt.date().month();
-            if ( up )
-            {
-                if ( dt.date().day() > 1 ||
-                    dt.time() > QTime( 0, 0 ) )
-                {
-                    month++;
-                }
-            }
-
-            const int m = qwtAlignValue( month - 1, stepSize, up );
-
-            dt = QwtDate::floor( dt, QwtDate::Year );
-            dt = dt.addMonths( m );
-
-            break;
-        }
-        case QwtDate::Year:
-        {
-            int year = dateTime.date().year();
-            if ( up )
-            {
-                if ( dateTime.date().dayOfYear() > 1 ||
-                    dt.time() > QTime( 0, 0 ) )
-                {
-                    year++;
-                }
-            }
-
-            const int y = qwtAlignValue( year, stepSize, up );
-
-            dt = QwtDate::floor( dt, QwtDate::Day );
-            if ( y == 0 )
-            {
-                // there is no year 0 in the Julian calendar
-                dt.setDate( QDate( stepSize, 1, 1 ).addYears( -stepSize ) );
-            }
-            else
-            {
-                dt.setDate( QDate( y, 1, 1 ) );
-            }
-
-            break;
-        }
-    }
-
-    if ( dateTime.timeSpec() == Qt::OffsetFromUTC )
-    {
-        dt.setUtcOffset( dateTime.utcOffset() );
-    }
-
-    return dt;
-}
-
-/*!
-  Translate a double value into a QDateTime object.
-
-  For QDateTime result is bounded by QwtDate::minDate() and QwtDate::maxDate()
-
-  \return QDateTime object initialized with timeSpec() and utcOffset().
-  \sa timeSpec(), utcOffset(), QwtDate::toDateTime()
- */
-QDateTime QwtDateScaleEngine::toDateTime( double value ) const
-{
-    QDateTime dt = QwtDate::toDateTime( value, d_data->timeSpec );
-    if ( !dt.isValid() )
-    {
-        const QDate date = ( value <= 0.0 ) 
-            ? QwtDate::minDate() : QwtDate::maxDate();
-
-        dt = QDateTime( date, QTime( 0, 0 ), d_data->timeSpec );
-    }
-
-    if ( d_data->timeSpec == Qt::OffsetFromUTC )
-    {
-        dt = dt.addSecs( d_data->utcOffset );
-        dt.setUtcOffset( d_data->utcOffset );
-    }
-
-    return dt;
-}
-
diff --git a/SRC/Qwt/src/qwt_date_scale_engine.h b/SRC/Qwt/src/qwt_date_scale_engine.h
deleted file mode 100644
index 2458d86..0000000
--- a/SRC/Qwt/src/qwt_date_scale_engine.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef _QWT_DATE_SCALE_ENGINE_H_
-#define _QWT_DATE_SCALE_ENGINE_H_ 1
-
-#include "qwt_date.h"
-#include "qwt_scale_engine.h"
-
-/*!
-  \brief A scale engine for date/time values
-
-  QwtDateScaleEngine builds scales from a time intervals.
-  Together with QwtDateScaleDraw it can be used for
-  axes according to date/time values.
-
-  Years, months, weeks, days, hours and minutes are organized
-  in steps with non constant intervals. QwtDateScaleEngine
-  classifies intervals and aligns the boundaries and tick positions
-  according to this classification.
-
-  QwtDateScaleEngine supports representations depending
-  on Qt::TimeSpec specifications. The valid range for scales
-  is limited by the range of QDateTime, that differs 
-  between Qt4 and Qt5.
-  
-  Datetime values are expected as the number of milliseconds since
-  1970-01-01T00:00:00 Universal Coordinated Time - also known
-  as "The Epoch", that can be converted to QDateTime using 
-  QwtDate::toDateTime().
-
-  \sa QwtDate, QwtPlot::setAxisScaleEngine(),
-      QwtAbstractScale::setScaleEngine()
-*/
-class QWT_EXPORT QwtDateScaleEngine: public QwtLinearScaleEngine
-{
-public:
-    QwtDateScaleEngine( Qt::TimeSpec = Qt::LocalTime );
-    virtual ~QwtDateScaleEngine();
-
-    void setTimeSpec( Qt::TimeSpec );
-    Qt::TimeSpec timeSpec() const;
-
-    void setUtcOffset( int seconds );
-    int utcOffset() const;
-
-    void setWeek0Type( QwtDate::Week0Type );
-    QwtDate::Week0Type week0Type() const;
-    
-    void setMaxWeeks( int );
-    int maxWeeks() const;
-
-    virtual void autoScale( int maxNumSteps,
-        double &x1, double &x2, double &stepSize ) const;
-
-    virtual QwtScaleDiv divideScale( 
-        double x1, double x2,
-        int maxMajorSteps, int maxMinorSteps,
-        double stepSize = 0.0 ) const;
-
-    virtual QwtDate::IntervalType intervalType( 
-        const QDateTime &, const QDateTime &, int maxSteps ) const;
-
-    QDateTime toDateTime( double ) const;
-
-protected:
-    virtual QDateTime alignDate( const QDateTime &, double stepSize,
-        QwtDate::IntervalType, bool up ) const;
-
-private:
-    QwtScaleDiv buildScaleDiv( const QDateTime &, const QDateTime &,
-        int maxMajorSteps, int maxMinorSteps, 
-        QwtDate::IntervalType ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_dial.cpp b/SRC/Qwt/src/qwt_dial.cpp
deleted file mode 100644
index 5b4043b..0000000
--- a/SRC/Qwt/src/qwt_dial.cpp
+++ /dev/null
@@ -1,872 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_dial.h"
-#include "qwt_dial_needle.h"
-#include "qwt_math.h"
-#include "qwt_scale_engine.h"
-#include "qwt_scale_map.h"
-#include "qwt_round_scale_draw.h"
-#include "qwt_painter.h"
-#include <qpainter.h>
-#include <qpalette.h>
-#include <qpixmap.h>
-#include <qevent.h>
-#include <qalgorithms.h>
-#include <qmath.h>
-#include <qstyle.h>
-#include <qstyleoption.h>
-#include <qapplication.h>
-
-static inline double qwtAngleDist( double a1, double a2 )
-{
-    double dist = qAbs( a2 - a1 );
-    if ( dist > 360.0 )
-        dist -= 360.0;
-
-    return dist;
-}
-
-static inline bool qwtIsOnArc( double angle, double min, double max )
-{
-    if ( min < max )
-    {
-        return ( angle >= min ) && ( angle <= max );
-    }
-    else
-    {
-        return ( angle >= min ) || ( angle <= max );
-    }
-}
-
-static inline double qwtBoundedAngle( double min, double angle, double max )
-{
-    double from = qwtNormalizeDegrees( min );
-    double to = qwtNormalizeDegrees( max );
-
-    double a;
-
-    if ( qwtIsOnArc( angle, from, to ) )
-    {
-        a = angle;
-        if ( a < min )
-            a += 360.0;
-    }
-    else
-    {
-        if ( qwtAngleDist( angle, from ) <
-            qwtAngleDist( angle, to ) )
-        {
-            a = min;
-        }
-        else
-        {
-            a = max;
-        }
-    }
-
-    return a;
-}
-
-class QwtDial::PrivateData
-{
-public:
-    PrivateData():
-        frameShadow( Sunken ),
-        lineWidth( 0 ),
-        mode( RotateNeedle ),
-        origin( 90.0 ),
-        minScaleArc( 0.0 ),
-        maxScaleArc( 0.0 ),
-        needle( NULL ),
-        arcOffset( 0.0 ),
-        mouseOffset( 0.0 )
-    {
-    }
-
-    ~PrivateData()
-    {
-        delete needle;
-    }
-    Shadow frameShadow;
-    int lineWidth;
-
-    QwtDial::Mode mode;
-
-    double origin;
-    double minScaleArc;
-    double maxScaleArc;
-
-    double scalePenWidth;
-    QwtDialNeedle *needle;
-
-    double arcOffset;
-    double mouseOffset;
-
-    QPixmap pixmapCache;
-};
-
-/*!
-  \brief Constructor
-  \param parent Parent widget
-
-  Create a dial widget with no needle. The scale is initialized
-  to [ 0.0, 360.0 ] and 360 steps ( QwtAbstractSlider::setTotalSteps() ).
-  The origin of the scale is at 90°,
-
-  The value is set to 0.0.
-
-  The default mode is QwtDial::RotateNeedle.
-*/
-QwtDial::QwtDial( QWidget* parent ):
-    QwtAbstractSlider( parent )
-{
-    d_data = new PrivateData;
-
-    setFocusPolicy( Qt::TabFocus );
-
-    QPalette p = palette();
-    for ( int i = 0; i < QPalette::NColorGroups; i++ )
-    {
-        const QPalette::ColorGroup colorGroup =
-            static_cast<QPalette::ColorGroup>( i );
-
-        // Base: background color of the circle inside the frame.
-        // WindowText: background color of the circle inside the scale
-
-        p.setColor( colorGroup, QPalette::WindowText,
-            p.color( colorGroup, QPalette::Base ) );
-    }
-    setPalette( p );
-
-    QwtRoundScaleDraw* scaleDraw = new QwtRoundScaleDraw();
-    scaleDraw->setRadius( 0 );
-
-    setScaleDraw( scaleDraw );
-
-    setScaleArc( 0.0, 360.0 ); // scale as a full circle
-
-    setScaleMaxMajor( 10 );
-    setScaleMaxMinor( 5 );
-
-    setValue( 0.0 );
-}
-
-//!  Destructor
-QwtDial::~QwtDial()
-{
-    delete d_data;
-}
-
-/*!
-  Sets the frame shadow value from the frame style.
-
-  \param shadow Frame shadow
-  \sa setLineWidth(), QFrame::setFrameShadow()
-*/
-void QwtDial::setFrameShadow( Shadow shadow )
-{
-    if ( shadow != d_data->frameShadow )
-    {
-        invalidateCache();
-
-        d_data->frameShadow = shadow;
-        if ( lineWidth() > 0 )
-            update();
-    }
-}
-
-/*!
-  \return Frame shadow
-  /sa setFrameShadow(), lineWidth(), QFrame::frameShadow()
-*/
-QwtDial::Shadow QwtDial::frameShadow() const
-{
-    return d_data->frameShadow;
-}
-
-/*!
-  Sets the line width of the frame
-
-  \param lineWidth Line width
-  \sa setFrameShadow()
-*/
-void QwtDial::setLineWidth( int lineWidth )
-{
-    if ( lineWidth < 0 )
-        lineWidth = 0;
-
-    if ( d_data->lineWidth != lineWidth )
-    {
-        invalidateCache();
-
-        d_data->lineWidth = lineWidth;
-        update();
-    }
-}
-
-/*!
-  \return Line width of the frame
-  \sa setLineWidth(), frameShadow(), lineWidth()
-*/
-int QwtDial::lineWidth() const
-{
-    return d_data->lineWidth;
-}
-
-/*!
-  \return bounding rectangle of the circle inside the frame
-  \sa setLineWidth(), scaleInnerRect(), boundingRect()
-*/
-QRect QwtDial::innerRect() const
-{
-    const int lw = lineWidth();
-    return boundingRect().adjusted( lw, lw, -lw, -lw );
-}
-
-/*!
-  \return bounding rectangle of the dial including the frame
-  \sa setLineWidth(), scaleInnerRect(), innerRect()
-*/
-QRect QwtDial::boundingRect() const
-{
-    const QRect cr = contentsRect();
-
-    const double dim = qMin( cr.width(), cr.height() );
-
-    QRect inner( 0, 0, dim, dim );
-    inner.moveCenter( cr.center() );
-
-    return inner;
-}
-
-/*!
-  \return rectangle inside the scale
-  \sa setLineWidth(), boundingRect(), innerRect()
-*/
-QRect QwtDial::scaleInnerRect() const
-{
-    QRect rect = innerRect();
-
-    const QwtAbstractScaleDraw *sd = scaleDraw();
-    if ( sd )
-    {
-        int scaleDist = qCeil( sd->extent( font() ) );
-        scaleDist++; // margin
-
-        rect.adjust( scaleDist, scaleDist, -scaleDist, -scaleDist );
-    }
-
-    return rect;
-}
-
-/*!
-  \brief Change the mode of the dial.
-  \param mode New mode
-
-  In case of QwtDial::RotateNeedle the needle is rotating, in case of
-  QwtDial::RotateScale, the needle points to origin()
-  and the scale is rotating.
-
-  The default mode is QwtDial::RotateNeedle.
-
-  \sa mode(), setValue(), setOrigin()
-*/
-void QwtDial::setMode( Mode mode )
-{
-    if ( mode != d_data->mode )
-    {
-        invalidateCache();
-
-        d_data->mode = mode;
-        sliderChange();
-    }
-}
-
-/*!
-  \return Mode of the dial.
-  \sa setMode(), origin(), setScaleArc(), value()
-*/
-QwtDial::Mode QwtDial::mode() const
-{
-    return d_data->mode;
-}
-
-/*!
-  Invalidate the internal caches used to speed up repainting
- */
-void QwtDial::invalidateCache()
-{
-    d_data->pixmapCache = QPixmap();
-}
-
-/*!
-   Paint the dial
-   \param event Paint event
-*/
-void QwtDial::paintEvent( QPaintEvent *event )
-{
-    QPainter painter( this );
-    painter.setClipRegion( event->region() );
-
-    QStyleOption opt;
-    opt.init(this);
-    style()->drawPrimitive(QStyle::PE_Widget, &opt, &painter, this);
-
-    if ( d_data->mode == QwtDial::RotateScale )
-    {
-        painter.save();
-        painter.setRenderHint( QPainter::Antialiasing, true );
-
-        drawContents( &painter );
-
-        painter.restore();
-    }
-
-    const QRect r = contentsRect();
-    if ( r.size() != d_data->pixmapCache.size() )
-    {
-        d_data->pixmapCache = QwtPainter::backingStore( this, r.size() );
-        d_data->pixmapCache.fill( Qt::transparent );
-
-        QPainter p( &d_data->pixmapCache );
-        p.setRenderHint( QPainter::Antialiasing, true );
-        p.translate( -r.topLeft() );
-            
-        if ( d_data->mode != QwtDial::RotateScale )
-            drawContents( &p );
-
-        if ( lineWidth() > 0 )
-            drawFrame( &p );
-
-        if ( d_data->mode != QwtDial::RotateNeedle )
-            drawNeedle( &p );
-    }
-
-    painter.drawPixmap( r.topLeft(), d_data->pixmapCache );
-
-    if ( d_data->mode == QwtDial::RotateNeedle )
-        drawNeedle( &painter );
-
-    if ( hasFocus() )
-        drawFocusIndicator( &painter );
-}
-
-/*!
-  Draw the focus indicator
-  \param painter Painter
-*/
-void QwtDial::drawFocusIndicator( QPainter *painter ) const
-{
-    QwtPainter::drawFocusRect( painter, this, boundingRect() );
-}
-
-/*!
-  Draw the frame around the dial
-
-  \param painter Painter
-  \sa lineWidth(), frameShadow()
-*/
-void QwtDial::drawFrame( QPainter *painter )
-{
-    QwtPainter::drawRoundFrame( painter, boundingRect(),
-        palette(), lineWidth(), d_data->frameShadow );
-}
-
-/*!
-  \brief Draw the contents inside the frame
-
-  QPalette::Window is the background color outside of the frame.
-  QPalette::Base is the background color inside the frame.
-  QPalette::WindowText is the background color inside the scale.
-
-  \param painter Painter
-
-  \sa boundingRect(), innerRect(),
-    scaleInnerRect(), QWidget::setPalette()
-*/
-void QwtDial::drawContents( QPainter *painter ) const
-{
-    if ( testAttribute( Qt::WA_NoSystemBackground ) ||
-        palette().brush( QPalette::Base ) !=
-            palette().brush( QPalette::Window ) )
-    {
-        const QRectF br = boundingRect();
-
-        painter->save();
-        painter->setPen( Qt::NoPen );
-        painter->setBrush( palette().brush( QPalette::Base ) );
-        painter->drawEllipse( br );
-        painter->restore();
-    }
-
-    const QRectF insideScaleRect = scaleInnerRect();
-    if ( palette().brush( QPalette::WindowText ) !=
-            palette().brush( QPalette::Base ) )
-    {
-        painter->save();
-        painter->setPen( Qt::NoPen );
-        painter->setBrush( palette().brush( QPalette::WindowText ) );
-        painter->drawEllipse( insideScaleRect );
-        painter->restore();
-    }
-
-    const QPointF center = insideScaleRect.center();
-    const double radius = 0.5 * insideScaleRect.width();
-
-    painter->save();
-    drawScale( painter, center, radius );
-    painter->restore();
-
-    painter->save();
-    drawScaleContents( painter, center, radius );
-    painter->restore();
-}
-
-/*!
-  Draw the needle
-
-  \param painter Painter
-  \param center Center of the dial
-  \param radius Length for the needle
-  \param direction Direction of the needle in degrees, counter clockwise
-  \param colorGroup ColorGroup
-*/
-void QwtDial::drawNeedle( QPainter *painter, const QPointF &center,
-    double radius, double direction, QPalette::ColorGroup colorGroup ) const
-{
-    if ( d_data->needle )
-    {
-        direction = 360.0 - direction; // counter clockwise
-        d_data->needle->draw( painter, center, radius, direction, colorGroup );
-    }
-}
-
-void QwtDial::drawNeedle( QPainter *painter ) const
-{
-    if ( !isValid() )
-        return;
-
-    QPalette::ColorGroup colorGroup;
-    if ( isEnabled() )
-        colorGroup = hasFocus() ? QPalette::Active : QPalette::Inactive;
-    else
-        colorGroup = QPalette::Disabled;
-
-    const QRectF sr = scaleInnerRect();
-
-    painter->save();
-    painter->setRenderHint( QPainter::Antialiasing, true );
-    drawNeedle( painter, sr.center(), 0.5 * sr.width(),
-        scaleMap().transform( value() ) + 270.0, colorGroup );
-    painter->restore();
-}
-
-/*!
-  Draw the scale
-
-  \param painter Painter
-  \param center Center of the dial
-  \param radius Radius of the scale
-*/
-void QwtDial::drawScale( QPainter *painter, 
-    const QPointF &center, double radius ) const
-{
-    QwtRoundScaleDraw *sd = const_cast<QwtRoundScaleDraw *>( scaleDraw() );
-    if ( sd == NULL )
-        return;
-
-    sd->setRadius( radius );
-    sd->moveCenter( center );
-
-    QPalette pal = palette();
-
-    const QColor textColor = pal.color( QPalette::Text );
-    pal.setColor( QPalette::WindowText, textColor ); // ticks, backbone
-
-    painter->setFont( font() );
-    painter->setPen( QPen( textColor, sd->penWidth() ) );
-
-    painter->setBrush( Qt::red );
-    sd->draw( painter, pal );
-}
-
-/*!
-  Draw the contents inside the scale
-
-  Paints nothing.
-
-  \param painter Painter
-  \param center Center of the contents circle
-  \param radius Radius of the contents circle
-*/
-void QwtDial::drawScaleContents( QPainter *painter,
-    const QPointF &center, double radius ) const
-{
-    Q_UNUSED(painter);
-    Q_UNUSED(center);
-    Q_UNUSED(radius);
-}
-
-/*!
-  Set a needle for the dial
-
-  \param needle Needle
-
-  \warning The needle will be deleted, when a different needle is
-           set or in ~QwtDial()
-*/
-void QwtDial::setNeedle( QwtDialNeedle *needle )
-{
-    if ( needle != d_data->needle )
-    {
-        if ( d_data->needle )
-            delete d_data->needle;
-
-        d_data->needle = needle;
-        update();
-    }
-}
-
-/*!
-  \return needle
-  \sa setNeedle()
-*/
-const QwtDialNeedle *QwtDial::needle() const
-{
-    return d_data->needle;
-}
-
-/*!
-  \return needle
-  \sa setNeedle()
-*/
-QwtDialNeedle *QwtDial::needle()
-{
-    return d_data->needle;
-}
-
-//! \return the scale draw
-QwtRoundScaleDraw *QwtDial::scaleDraw()
-{
-    return static_cast<QwtRoundScaleDraw *>( abstractScaleDraw() );
-}
-
-//! \return the scale draw
-const QwtRoundScaleDraw *QwtDial::scaleDraw() const
-{
-    return static_cast<const QwtRoundScaleDraw *>( abstractScaleDraw() );
-}
-
-/*!
-  Set an individual scale draw
-
-  The motivation for setting a scale draw is often
-  to overload QwtRoundScaleDraw::label() to return 
-  individual tick labels.
-  
-  \param scaleDraw Scale draw
-  \warning The previous scale draw is deleted
-*/
-void QwtDial::setScaleDraw( QwtRoundScaleDraw *scaleDraw )
-{
-    setAbstractScaleDraw( scaleDraw );
-    sliderChange();
-}
-
-/*!
-  Change the arc of the scale
-
-  \param minArc Lower limit
-  \param maxArc Upper limit
-
-  \sa minScaleArc(), maxScaleArc()
-*/
-void QwtDial::setScaleArc( double minArc, double maxArc )
-{
-    if ( minArc != 360.0 && minArc != -360.0 )
-        minArc = ::fmod( minArc, 360.0 );
-    if ( maxArc != 360.0 && maxArc != -360.0 )
-        maxArc = ::fmod( maxArc, 360.0 );
-
-    double minScaleArc = qMin( minArc, maxArc );
-    double maxScaleArc = qMax( minArc, maxArc );
-
-    if ( maxScaleArc - minScaleArc > 360.0 )
-        maxScaleArc = minScaleArc + 360.0;
-
-    if ( ( minScaleArc != d_data->minScaleArc ) || 
-        ( maxScaleArc != d_data->maxScaleArc ) )
-    {
-        d_data->minScaleArc = minScaleArc;
-        d_data->maxScaleArc = maxScaleArc;
-
-        invalidateCache();
-        sliderChange();
-    }
-}
-
-/*! 
-  Set the lower limit for the scale arc
-
-  \param min Lower limit of the scale arc
-  \sa setScaleArc(), setMaxScaleArc()
- */
-void QwtDial::setMinScaleArc( double min )
-{
-    setScaleArc( min, d_data->maxScaleArc );
-}
-
-/*! 
-  \return Lower limit of the scale arc
-  \sa setScaleArc()
-*/
-double QwtDial::minScaleArc() const
-{
-    return d_data->minScaleArc;
-}
-
-/*! 
-  Set the upper limit for the scale arc
-
-  \param max Upper limit of the scale arc
-  \sa setScaleArc(), setMinScaleArc()
- */
-void QwtDial::setMaxScaleArc( double max )
-{
-    setScaleArc( d_data->minScaleArc, max );
-}
-
-/*! 
-  \return Upper limit of the scale arc
-  \sa setScaleArc()
-*/
-double QwtDial::maxScaleArc() const
-{
-    return d_data->maxScaleArc;
-}
-
-/*!
-  \brief Change the origin
-
-  The origin is the angle where scale and needle is relative to.
-
-  \param origin New origin
-  \sa origin()
-*/
-void QwtDial::setOrigin( double origin )
-{
-    invalidateCache();
-
-    d_data->origin = origin;
-    sliderChange();
-}
-
-/*!
-  The origin is the angle where scale and needle is relative to.
-
-  \return Origin of the dial
-  \sa setOrigin()
-*/
-double QwtDial::origin() const
-{
-    return d_data->origin;
-}
-
-/*!
-  \return Size hint
-  \sa minimumSizeHint()
-*/
-QSize QwtDial::sizeHint() const
-{
-    int sh = 0;
-    if ( scaleDraw() )
-        sh = qCeil( scaleDraw()->extent( font() ) );
-
-    const int d = 6 * sh + 2 * lineWidth();
-
-    QSize hint( d, d ); 
-    if ( !isReadOnly() )
-        hint = hint.expandedTo( QApplication::globalStrut() );
-
-    return hint;
-}
-
-/*!
-  \return Minimum size hint
-  \sa sizeHint()
-*/
-QSize QwtDial::minimumSizeHint() const
-{
-    int sh = 0;
-    if ( scaleDraw() )
-        sh = qCeil( scaleDraw()->extent( font() ) );
-
-    const int d = 3 * sh + 2 * lineWidth();
-
-    return QSize( d, d );
-}
-
-/*!
-  \brief Determine what to do when the user presses a mouse button.
-
-  \param pos Mouse position
-
-  \retval True, when the inner circle contains pos 
-  \sa scrolledTo()
-*/
-bool QwtDial::isScrollPosition( const QPoint &pos ) const
-{
-    const QRegion region( innerRect(), QRegion::Ellipse );
-    if ( region.contains( pos ) && ( pos != innerRect().center() ) )
-    {
-        double angle = QLineF( rect().center(), pos ).angle();
-        if ( d_data->mode == QwtDial::RotateScale )
-            angle = 360.0 - angle;
-
-        double valueAngle = 
-            qwtNormalizeDegrees( 90.0 - scaleMap().transform( value() ) );
-
-        d_data->mouseOffset = qwtNormalizeDegrees( angle - valueAngle );
-        d_data->arcOffset = scaleMap().p1();
-
-        return true;
-    }
-
-    return false;
-}
-
-/*!
-  \brief Determine the value for a new position of the
-         slider handle.
-
-  \param pos Mouse position
-
-  \return Value for the mouse position
-  \sa isScrollPosition()
-*/
-double QwtDial::scrolledTo( const QPoint &pos ) const
-{
-    double angle = QLineF( rect().center(), pos ).angle();
-    if ( d_data->mode == QwtDial::RotateScale )
-    {
-        angle += scaleMap().p1() - d_data->arcOffset;
-        angle = 360.0 - angle;
-    }
-
-    angle = qwtNormalizeDegrees( angle - d_data->mouseOffset );
-    angle = qwtNormalizeDegrees( 90.0 - angle );
-
-    if ( scaleMap().pDist() >= 360.0 )
-    {
-        if ( angle < scaleMap().p1() )
-            angle += 360.0;
-
-        if ( !wrapping() )
-        {
-            double boundedAngle = angle;
-
-            const double arc = angle - scaleMap().transform( value() );
-            if ( qAbs( arc ) > 180.0 )
-            {
-                boundedAngle = ( arc > 0 ) 
-                    ? scaleMap().p1() : scaleMap().p2();
-            }
-
-            d_data->mouseOffset += ( boundedAngle - angle );
-
-            angle = boundedAngle;
-        }
-    }
-    else
-    {
-        const double boundedAngle =
-            qwtBoundedAngle( scaleMap().p1(), angle, scaleMap().p2() );
-
-        if ( !wrapping() )
-            d_data->mouseOffset += ( boundedAngle - angle );
-
-        angle = boundedAngle;
-    }
-
-    return scaleMap().invTransform( angle );
-}
-
-/*!
-  Change Event handler
-  \param event Change event
-
-  Invalidates internal paint caches if necessary
-*/
-void QwtDial::changeEvent( QEvent *event )
-{
-    switch( event->type() )
-    {
-        case QEvent::EnabledChange:
-        case QEvent::FontChange:
-        case QEvent::StyleChange:
-        case QEvent::PaletteChange:
-        case QEvent::LanguageChange:
-        case QEvent::LocaleChange:
-        {
-            invalidateCache();
-            break;
-        }
-        default:
-            break;
-    }
-    
-    QwtAbstractSlider::changeEvent( event );
-}
-
-/*!
-  Wheel Event handler
-  \param event Wheel event
-*/
-void QwtDial::wheelEvent( QWheelEvent *event )
-{
-    const QRegion region( innerRect(), QRegion::Ellipse );
-    if ( region.contains( event->pos() ) )
-        QwtAbstractSlider::wheelEvent( event );
-}
-
-void QwtDial::setAngleRange( double angle, double span )
-{
-    QwtRoundScaleDraw *sd = const_cast<QwtRoundScaleDraw *>( scaleDraw() );
-    if ( sd  )
-    {
-        angle = qwtNormalizeDegrees( angle - 270.0 );
-        sd->setAngleRange( angle, angle + span );
-    }
-}
-
-/*!
-  Invalidate the internal caches and call 
-  QwtAbstractSlider::scaleChange()
- */
-void QwtDial::scaleChange()
-{
-    invalidateCache();
-    QwtAbstractSlider::scaleChange();
-}
-
-void QwtDial::sliderChange()
-{
-    setAngleRange( d_data->origin + d_data->minScaleArc,
-        d_data->maxScaleArc - d_data->minScaleArc );
-
-    if ( mode() == RotateScale )
-    {
-        const double arc = scaleMap().transform( value() ) - scaleMap().p1();
-        setAngleRange( d_data->origin - arc,
-            d_data->maxScaleArc - d_data->minScaleArc );
-    }
-
-    QwtAbstractSlider::sliderChange();
-}
diff --git a/SRC/Qwt/src/qwt_dial.h b/SRC/Qwt/src/qwt_dial.h
deleted file mode 100644
index 800152c..0000000
--- a/SRC/Qwt/src/qwt_dial.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_DIAL_H
-#define QWT_DIAL_H 1
-
-#include "qwt_global.h"
-#include "qwt_abstract_slider.h"
-#include "qwt_abstract_scale_draw.h"
-#include <qframe.h>
-#include <qpalette.h>
-
-class QwtDialNeedle;
-class QwtRoundScaleDraw;
-
-/*!
-  \brief QwtDial class provides a rounded range control.
-
-  QwtDial is intended as base class for dial widgets like
-  speedometers, compass widgets, clocks ...
-
-  \image html dials2.png
-
-  A dial contains a scale and a needle indicating the current value
-  of the dial. Depending on Mode one of them is fixed and the
-  other is rotating. If not isReadOnly() the
-  dial can be rotated by dragging the mouse or using keyboard inputs
-  (see QwtAbstractSlider::keyPressEvent()). A dial might be wrapping, what means
-  a rotation below/above one limit continues on the other limit (f.e compass).
-  The scale might cover any arc of the dial, its values are related to
-  the origin() of the dial.
-
-  Often dials have to be updated very often according to values from external
-  devices. For these high refresh rates QwtDial caches as much as possible.
-  For derived classes it might be necessary to clear these caches manually
-  according to attribute changes using invalidateCache().
-
-  \sa QwtCompass, QwtAnalogClock, QwtDialNeedle
-  \note The controls and dials examples shows different types of dials.
-  \note QDial is more similar to QwtKnob than to QwtDial
-*/
-
-class QWT_EXPORT QwtDial: public QwtAbstractSlider
-{
-    Q_OBJECT
-
-    Q_ENUMS( Shadow Mode Direction )
-
-    Q_PROPERTY( int lineWidth READ lineWidth WRITE setLineWidth )
-    Q_PROPERTY( Shadow frameShadow READ frameShadow WRITE setFrameShadow )
-    Q_PROPERTY( Mode mode READ mode WRITE setMode )
-    Q_PROPERTY( double origin READ origin WRITE setOrigin )
-    Q_PROPERTY( double minScaleArc READ minScaleArc WRITE setMinScaleArc )
-    Q_PROPERTY( double maxScaleArc READ maxScaleArc WRITE setMaxScaleArc )
-
-public:
-
-    /*!
-        \brief Frame shadow
-
-         Unfortunately it is not possible to use QFrame::Shadow
-         as a property of a widget that is not derived from QFrame.
-         The following enum is made for the designer only. It is safe
-         to use QFrame::Shadow instead.
-     */
-    enum Shadow
-    {
-        //! QFrame::Plain
-        Plain = QFrame::Plain,
-
-        //! QFrame::Raised
-        Raised = QFrame::Raised,
-
-        //! QFrame::Sunken
-        Sunken = QFrame::Sunken
-    };
-
-    //! Mode controlling whether the needle or the scale is rotating
-    enum Mode
-    {
-        //! The needle is rotating
-        RotateNeedle,
-
-        //! The needle is fixed, the scales are rotating
-        RotateScale
-    };
-
-    explicit QwtDial( QWidget *parent = NULL );
-    virtual ~QwtDial();
-
-    void setFrameShadow( Shadow );
-    Shadow frameShadow() const;
-
-    void setLineWidth( int );
-    int lineWidth() const;
-
-    void setMode( Mode );
-    Mode mode() const;
-
-    void setScaleArc( double min, double max );
-
-    void setMinScaleArc( double min );
-    double minScaleArc() const;
-
-    void setMaxScaleArc( double min );
-    double maxScaleArc() const;
-
-    virtual void setOrigin( double );
-    double origin() const;
-
-    void setNeedle( QwtDialNeedle * );
-    const QwtDialNeedle *needle() const;
-    QwtDialNeedle *needle();
-
-    QRect boundingRect() const;
-    QRect innerRect() const;
-
-    virtual QRect scaleInnerRect() const;
-
-    virtual QSize sizeHint() const;
-    virtual QSize minimumSizeHint() const;
-
-    void setScaleDraw( QwtRoundScaleDraw * );
-
-    QwtRoundScaleDraw *scaleDraw();
-    const QwtRoundScaleDraw *scaleDraw() const;
-
-protected:
-    virtual void wheelEvent( QWheelEvent * );
-    virtual void paintEvent( QPaintEvent * );
-    virtual void changeEvent( QEvent * );
-
-    virtual void drawFrame( QPainter *p );
-    virtual void drawContents( QPainter * ) const;
-    virtual void drawFocusIndicator( QPainter * ) const;
-
-    void invalidateCache();
-
-    virtual void drawScale( QPainter *, 
-        const QPointF &center, double radius ) const;
-
-    virtual void drawScaleContents( QPainter *painter, 
-        const QPointF &center, double radius ) const;
-
-    virtual void drawNeedle( QPainter *, const QPointF &,
-        double radius, double direction, QPalette::ColorGroup ) const;
-
-    virtual double scrolledTo( const QPoint & ) const;
-    virtual bool isScrollPosition( const QPoint & ) const;
-
-    virtual void sliderChange();
-    virtual void scaleChange();
-
-private:
-    void setAngleRange( double angle, double span );
-    void drawNeedle( QPainter * ) const;
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_dial_needle.cpp b/SRC/Qwt/src/qwt_dial_needle.cpp
deleted file mode 100644
index 6b15d2a..0000000
--- a/SRC/Qwt/src/qwt_dial_needle.cpp
+++ /dev/null
@@ -1,440 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_dial_needle.h"
-#include "qwt_global.h"
-#include "qwt_math.h"
-#include "qwt_painter.h"
-#include <qapplication.h>
-#include <qpainter.h>
-
-#if QT_VERSION < 0x040601
-#define qFastSin(x) qSin(x)
-#define qFastCos(x) qCos(x)
-#endif
-
-static void qwtDrawStyle1Needle( QPainter *painter,
-    const QPalette &palette, QPalette::ColorGroup colorGroup,
-    double length )
-{
-    const double r[] = { 0.4, 0.3, 1, 0.8, 1, 0.3, 0.4 };
-    const double a[] = { -45, -20, -15, 0, 15, 20, 45 };
-
-    QPainterPath path;
-    for ( int i = 0; i < 7; i++ )
-    {
-        const double angle = a[i] / 180.0 * M_PI;
-        const double radius = r[i] * length;
-
-        const double x = radius * qFastCos( angle );
-        const double y = radius * qFastSin( angle );
-
-        path.lineTo( x, -y );
-    }
-
-    painter->setPen( Qt::NoPen );
-    painter->setBrush( palette.brush( colorGroup, QPalette::Light ) );
-    painter->drawPath( path );
-}
-
-static void qwtDrawStyle2Needle( QPainter *painter,
-    const QPalette &palette, QPalette::ColorGroup colorGroup, double length )
-{
-    const double ratioX = 0.7;
-    const double ratioY = 0.3;
-
-    QPainterPath path1;
-    path1.lineTo( ratioX * length, 0.0 );
-    path1.lineTo( length, ratioY * length );
-
-    QPainterPath path2;
-    path2.lineTo( ratioX * length, 0.0 );
-    path2.lineTo( length, -ratioY * length );
-
-    painter->setPen( Qt::NoPen );
-
-    painter->setBrush( palette.brush( colorGroup, QPalette::Light ) );
-    painter->drawPath( path1 );
-
-    painter->setBrush( palette.brush( colorGroup, QPalette::Dark ) );
-    painter->drawPath( path2 );
-}
-
-static void qwtDrawShadedPointer( QPainter *painter, 
-    const QColor &lightColor, const QColor &darkColor,
-    double length, double width )
-{
-    const double peak = qMax( length / 10.0, 5.0 );
-
-    const double knobWidth = width + 8;
-    QRectF knobRect( 0, 0, knobWidth, knobWidth );
-    knobRect.moveCenter( QPointF(0, 0) );
-
-    QPainterPath path1;
-    path1.lineTo( 0.0, 0.5 * width );
-    path1.lineTo( length - peak, 0.5 * width );
-    path1.lineTo( length, 0.0 );
-    path1.lineTo( 0.0, 0.0 );
-
-    QPainterPath arcPath1;
-    arcPath1.arcTo( knobRect, 0.0, -90.0 );
-
-    path1 = path1.united( arcPath1 );
-
-    QPainterPath path2;
-    path2.lineTo( 0.0, -0.5 * width );
-    path2.lineTo( length - peak, -0.5 * width );
-    path2.lineTo( length, 0.0 );
-    path2.lineTo( 0.0, 0.0 );
-
-    QPainterPath arcPath2;
-    arcPath2.arcTo( knobRect, 0.0, 90.0 );
-
-    path2 = path2.united( arcPath2 );
-
-    painter->setPen( Qt::NoPen );
-
-    painter->setBrush( lightColor );
-    painter->drawPath( path1 );
-
-    painter->setBrush( darkColor );
-    painter->drawPath( path2 );
-}
-
-static void qwtDrawArrowNeedle( QPainter *painter,
-    const QPalette &palette, QPalette::ColorGroup colorGroup,
-    double length, double width )
-{
-    if ( width <= 0 )
-        width = qMax( length * 0.06, 9.0 );
-
-    const double peak = qMax( 2.0, 0.4 * width );
-
-    QPainterPath path;
-    path.moveTo( 0.0, 0.5 * width );
-    path.lineTo( length - peak, 0.3 * width );
-    path.lineTo( length, 0.0 );
-    path.lineTo( length - peak, -0.3 * width );
-    path.lineTo( 0.0, -0.5 * width );
-
-    QRectF br = path.boundingRect();
-
-    QPalette pal( palette.color( QPalette::Mid ) );
-    QColor c1 = pal.color( QPalette::Light );
-    QColor c2 = pal.color( QPalette::Dark );
-
-    QLinearGradient gradient( br.topLeft(), br.bottomLeft() );
-    gradient.setColorAt( 0.0, c1 );
-    gradient.setColorAt( 0.5, c1 );
-    gradient.setColorAt( 0.5001, c2 );
-    gradient.setColorAt( 1.0, c2 );
-
-    QPen pen( gradient, 1 );
-    pen.setJoinStyle( Qt::MiterJoin );
-
-    painter->setPen( pen );
-    painter->setBrush( palette.brush( colorGroup, QPalette::Mid ) );
-
-    painter->drawPath( path );
-}
-
-static void qwtDrawTriangleNeedle( QPainter *painter,
-    const QPalette &palette, QPalette::ColorGroup colorGroup,
-    double length )
-{
-    const double width = qRound( length / 3.0 );
-
-    QPainterPath path[4];
-
-    path[0].lineTo( length, 0.0 );
-    path[0].lineTo( 0.0, width / 2 );
-
-    path[1].lineTo( length, 0.0 );
-    path[1].lineTo( 0.0, -width / 2 );
-
-    path[2].lineTo( -length, 0.0 );
-    path[2].lineTo( 0.0, width / 2 );
-
-    path[3].lineTo( -length, 0.0 );
-    path[3].lineTo( 0.0, -width / 2 );
-
-
-    const int colorOffset =  10;
-    const QColor darkColor = palette.color( colorGroup, QPalette::Dark );
-    const QColor lightColor = palette.color( colorGroup, QPalette::Light );
-
-    QColor color[4];
-    color[0] = darkColor.light( 100 + colorOffset );
-    color[1] = darkColor.dark( 100 + colorOffset );
-    color[2] = lightColor.light( 100 + colorOffset );
-    color[3] = lightColor.dark( 100 + colorOffset );
-
-    painter->setPen( Qt::NoPen );
-
-    for ( int i = 0; i < 4; i++ )
-    {
-        painter->setBrush( color[i] );
-        painter->drawPath( path[i] );
-    }
-}
-
-//! Constructor
-QwtDialNeedle::QwtDialNeedle():
-    d_palette( QApplication::palette() )
-{
-}
-
-//! Destructor
-QwtDialNeedle::~QwtDialNeedle()
-{
-}
-
-/*!
-    Sets the palette for the needle.
-
-    \param palette New Palette
-*/
-void QwtDialNeedle::setPalette( const QPalette &palette )
-{
-    d_palette = palette;
-}
-
-/*!
-  \return the palette of the needle.
-*/
-const QPalette &QwtDialNeedle::palette() const
-{
-    return d_palette;
-}
-
-/*!
-  Draw the needle
-
-  \param painter Painter
-  \param center Center of the dial, start position for the needle
-  \param length Length of the needle
-  \param direction Direction of the needle, in degrees counter clockwise
-  \param colorGroup Color group, used for painting
-*/
-void QwtDialNeedle::draw( QPainter *painter, 
-    const QPointF &center, double length, double direction, 
-    QPalette::ColorGroup colorGroup ) const
-{
-    painter->save();
-
-    painter->translate( center );
-    painter->rotate( -direction );
-
-    drawNeedle( painter, length, colorGroup );
-
-    painter->restore();
-}
-
-//!  Draw the knob
-void QwtDialNeedle::drawKnob( QPainter *painter,
-    double width, const QBrush &brush, bool sunken ) const
-{
-    QPalette palette( brush.color() );
-
-    QColor c1 = palette.color( QPalette::Light );
-    QColor c2 = palette.color( QPalette::Dark );
-
-    if ( sunken )
-        qSwap( c1, c2 );
-
-    QRectF rect( 0.0, 0.0, width, width );
-    rect.moveCenter( painter->combinedTransform().map( QPointF() ) );
-
-    QLinearGradient gradient( rect.topLeft(), rect.bottomRight() );
-    gradient.setColorAt( 0.0, c1 );
-    gradient.setColorAt( 0.3, c1 );
-    gradient.setColorAt( 0.7, c2 );
-    gradient.setColorAt( 1.0, c2 );
-
-    painter->save();
-
-    painter->resetTransform();
-
-    painter->setPen( QPen( gradient, 1 ) );
-    painter->setBrush( brush );
-    painter->drawEllipse( rect );
-
-    painter->restore();
-}
-
-/*!
-  Constructor
-
-  \param style Style
-  \param hasKnob With/Without knob
-  \param mid Middle color
-  \param base Base color
-*/
-QwtDialSimpleNeedle::QwtDialSimpleNeedle( Style style, bool hasKnob,
-        const QColor &mid, const QColor &base ):
-    d_style( style ),
-    d_hasKnob( hasKnob ),
-    d_width( -1 )
-{
-    QPalette palette;
-    palette.setColor( QPalette::Mid, mid );
-    palette.setColor( QPalette::Base, base );
-
-    setPalette( palette );
-}
-
-/*!
-  Set the width of the needle
-  \param width Width
-  \sa width()
-*/
-void QwtDialSimpleNeedle::setWidth( double width )
-{
-    d_width = width;
-}
-
-/*!
-  \return the width of the needle
-  \sa setWidth()
-*/
-double QwtDialSimpleNeedle::width() const
-{
-    return d_width;
-}
-
-/*!
- Draw the needle
-
- \param painter Painter
- \param length Length of the needle
- \param colorGroup Color group, used for painting
-*/
-void QwtDialSimpleNeedle::drawNeedle( QPainter *painter, 
-    double length, QPalette::ColorGroup colorGroup ) const
-{
-    double knobWidth = 0.0;
-    double width = d_width;
-
-    if ( d_style == Arrow )
-    {
-        if ( width <= 0.0 )
-            width = qMax(length * 0.06, 6.0);
-
-        qwtDrawArrowNeedle( painter, 
-            palette(), colorGroup, length, width );
-
-        knobWidth = qMin( width * 2.0, 0.2 * length );
-    }
-    else
-    {
-        if ( width <= 0.0 )
-            width = 5.0;
-        
-        QPen pen ( palette().brush( colorGroup, QPalette::Mid ), width );
-        pen.setCapStyle( Qt::FlatCap );
-    
-        painter->setPen( pen );
-        painter->drawLine( QPointF( 0.0, 0.0 ), QPointF( length, 0.0 ) );
-
-        knobWidth = qMax( width * 3.0, 5.0 );
-    }
-
-    if ( d_hasKnob && knobWidth > 0.0 )
-    {
-        drawKnob( painter, knobWidth,
-            palette().brush( colorGroup, QPalette::Base ), false );
-    }
-}
-
-//! Constructor
-QwtCompassMagnetNeedle::QwtCompassMagnetNeedle( Style style,
-        const QColor &light, const QColor &dark ):
-    d_style( style )
-{
-    QPalette palette;
-    palette.setColor( QPalette::Light, light );
-    palette.setColor( QPalette::Dark, dark );
-    palette.setColor( QPalette::Base, Qt::gray );
-
-    setPalette( palette );
-}
-
-/*!
-    Draw the needle
-
-    \param painter Painter
-    \param length Length of the needle
-    \param colorGroup Color group, used for painting
-*/
-void QwtCompassMagnetNeedle::drawNeedle( QPainter *painter, 
-    double length, QPalette::ColorGroup colorGroup ) const
-{
-    if ( d_style == ThinStyle )
-    {
-        const double width = qMax( length / 6.0, 3.0 );
-
-        const int colorOffset = 10;
-
-        const QColor light = palette().color( colorGroup, QPalette::Light );
-        const QColor dark = palette().color( colorGroup, QPalette::Dark );
-
-        qwtDrawShadedPointer( painter,
-            dark.light( 100 + colorOffset ),
-            dark.dark( 100 + colorOffset ),
-            length, width );
-        
-        painter->rotate( 180.0 );
-    
-        qwtDrawShadedPointer( painter,
-            light.light( 100 + colorOffset ),
-            light.dark( 100 + colorOffset ),
-            length, width );
-        
-        const QBrush baseBrush = palette().brush( colorGroup, QPalette::Base );
-        drawKnob( painter, width, baseBrush, true );
-    }
-    else
-    {
-        qwtDrawTriangleNeedle( painter, palette(), colorGroup, length );
-    }
-}
-
-/*!
-   Constructor
-
-   \param style Arrow style
-   \param light Light color
-   \param dark Dark color
-*/
-QwtCompassWindArrow::QwtCompassWindArrow( Style style,
-        const QColor &light, const QColor &dark ):
-    d_style( style )
-{
-    QPalette palette;
-    palette.setColor( QPalette::Light, light );
-    palette.setColor( QPalette::Dark, dark );
-
-    setPalette( palette );
-}
-
-/*!
- Draw the needle
-
- \param painter Painter
- \param length Length of the needle
- \param colorGroup Color group, used for painting
-*/
-void QwtCompassWindArrow::drawNeedle( QPainter *painter, 
-    double length, QPalette::ColorGroup colorGroup ) const
-{
-    if ( d_style == Style1 )
-        qwtDrawStyle1Needle( painter, palette(), colorGroup, length );
-    else
-        qwtDrawStyle2Needle( painter, palette(), colorGroup, length );
-}
diff --git a/SRC/Qwt/src/qwt_dial_needle.h b/SRC/Qwt/src/qwt_dial_needle.h
deleted file mode 100644
index 21a2342..0000000
--- a/SRC/Qwt/src/qwt_dial_needle.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_DIAL_NEEDLE_H
-#define QWT_DIAL_NEEDLE_H 1
-
-#include "qwt_global.h"
-#include <qpalette.h>
-
-class QPainter;
-class QPoint;
-
-/*!
-  \brief Base class for needles that can be used in a QwtDial.
-
-  QwtDialNeedle is a pointer that indicates a value by pointing
-  to a specific direction.
-
-  \sa QwtDial, QwtCompass
-*/
-
-class QWT_EXPORT QwtDialNeedle
-{
-public:
-    QwtDialNeedle();
-    virtual ~QwtDialNeedle();
-
-    virtual void setPalette( const QPalette & );
-    const QPalette &palette() const;
-
-    virtual void draw( QPainter *painter, const QPointF &center,
-        double length, double direction, 
-        QPalette::ColorGroup = QPalette::Active ) const;
-
-protected:
-    /*!
-      \brief Draw the needle
-
-      The origin of the needle is at position (0.0, 0.0 )
-      pointing in direction 0.0 ( = east ). 
-
-      The painter is already initialized with translation and 
-      rotation.
-
-      \param painter Painter
-      \param length Length of the needle
-      \param colorGroup Color group, used for painting
-
-      \sa setPalette(), palette()
-    */
-    virtual void drawNeedle( QPainter *painter, 
-        double length, QPalette::ColorGroup colorGroup ) const = 0;
-
-    virtual void drawKnob( QPainter *, double width, 
-        const QBrush &, bool sunken ) const;
-
-private:
-    QPalette d_palette;
-};
-
-/*!
-  \brief A needle for dial widgets
-
-  The following colors are used:
-
-  - QPalette::Mid\n
-    Pointer
-  - QPalette::Base\n
-    Knob
-
-  \sa QwtDial, QwtCompass
-*/
-
-class QWT_EXPORT QwtDialSimpleNeedle: public QwtDialNeedle
-{
-public:
-    //! Style of the needle
-    enum Style
-    {
-        //! Arrow
-        Arrow,
-
-        //! A straight line from the center
-        Ray
-    };
-
-    QwtDialSimpleNeedle( Style, bool hasKnob = true,
-        const QColor &mid = Qt::gray, const QColor &base = Qt::darkGray );
-
-    void setWidth( double width );
-    double width() const;
-
-protected:
-    virtual void drawNeedle( QPainter *, double length,
-        QPalette::ColorGroup ) const;
-
-private:
-    Style d_style;
-    bool d_hasKnob;
-    double d_width;
-};
-
-/*!
-  \brief A magnet needle for compass widgets
-
-  A magnet needle points to two opposite directions indicating
-  north and south.
-
-  The following colors are used:
-  - QPalette::Light\n
-    Used for pointing south
-  - QPalette::Dark\n
-    Used for pointing north
-  - QPalette::Base\n
-    Knob (ThinStyle only)
-
-  \sa QwtDial, QwtCompass
-*/
-
-class QWT_EXPORT QwtCompassMagnetNeedle: public QwtDialNeedle
-{
-public:
-    //! Style of the needle
-    enum Style
-    {
-        //! A needle with a triangular shape
-        TriangleStyle,
-
-        //! A thin needle 
-        ThinStyle
-    };
-
-    QwtCompassMagnetNeedle( Style = TriangleStyle,
-        const QColor &light = Qt::white, const QColor &dark = Qt::red );
-
-protected:
-    virtual void drawNeedle( QPainter *, 
-        double length, QPalette::ColorGroup ) const;
-
-private:
-    Style d_style;
-};
-
-/*!
-  \brief An indicator for the wind direction
-
-  QwtCompassWindArrow shows the direction where the wind comes from.
-
-  - QPalette::Light\n
-    Used for Style1, or the light half of Style2
-  - QPalette::Dark\n
-    Used for the dark half of Style2
-
-  \sa QwtDial, QwtCompass
-*/
-
-class QWT_EXPORT QwtCompassWindArrow: public QwtDialNeedle
-{
-public:
-    //! Style of the arrow
-    enum Style
-    {
-        //! A needle pointing to the center
-        Style1,
-
-        //! A needle pointing to the center
-        Style2
-    };
-
-    QwtCompassWindArrow( Style, const QColor &light = Qt::white,
-        const QColor &dark = Qt::gray );
-
-protected:
-    virtual void drawNeedle( QPainter *, 
-        double length, QPalette::ColorGroup ) const;
-
-private:
-    Style d_style;
-};
-
-#endif 
diff --git a/SRC/Qwt/src/qwt_dyngrid_layout.cpp b/SRC/Qwt/src/qwt_dyngrid_layout.cpp
deleted file mode 100644
index e213116..0000000
--- a/SRC/Qwt/src/qwt_dyngrid_layout.cpp
+++ /dev/null
@@ -1,591 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_dyngrid_layout.h"
-#include "qwt_math.h"
-#include <qvector.h>
-#include <qlist.h>
-
-class QwtDynGridLayout::PrivateData
-{
-public:
-    PrivateData():
-        isDirty( true )
-    {
-    }
-
-    void updateLayoutCache();
-
-    mutable QList<QLayoutItem*> itemList;
-
-    uint maxColumns;
-    uint numRows;
-    uint numColumns;
-
-    Qt::Orientations expanding;
-
-    bool isDirty;
-    QVector<QSize> itemSizeHints;
-};
-
-void QwtDynGridLayout::PrivateData::updateLayoutCache()
-{
-    itemSizeHints.resize( itemList.count() );
-
-    int index = 0;
-
-    for ( QList<QLayoutItem*>::iterator it = itemList.begin();
-        it != itemList.end(); ++it, index++ )
-    {
-        itemSizeHints[ index ] = ( *it )->sizeHint();
-    }
-
-    isDirty = false;
-}
-
-/*!
-  \param parent Parent widget
-  \param margin Margin
-  \param spacing Spacing
-*/
-
-QwtDynGridLayout::QwtDynGridLayout( QWidget *parent,
-        int margin, int spacing ):
-    QLayout( parent )
-{
-    init();
-
-    setSpacing( spacing );
-    setMargin( margin );
-}
-
-/*!
-  \param spacing Spacing
-*/
-
-QwtDynGridLayout::QwtDynGridLayout( int spacing )
-{
-    init();
-    setSpacing( spacing );
-}
-
-/*!
-  Initialize the layout with default values.
-*/
-void QwtDynGridLayout::init()
-{
-    d_data = new QwtDynGridLayout::PrivateData;
-    d_data->maxColumns = d_data->numRows = d_data->numColumns = 0;
-    d_data->expanding = 0;
-}
-
-//! Destructor
-
-QwtDynGridLayout::~QwtDynGridLayout()
-{
-    for ( int i = 0; i < d_data->itemList.size(); i++ )
-        delete d_data->itemList[i];
-
-    delete d_data;
-}
-
-//! Invalidate all internal caches
-void QwtDynGridLayout::invalidate()
-{
-    d_data->isDirty = true;
-    QLayout::invalidate();
-}
-
-/*!
-  Limit the number of columns.
-  \param maxColumns upper limit, 0 means unlimited
-  \sa maxColumns()
-*/
-void QwtDynGridLayout::setMaxColumns( uint maxColumns )
-{
-    d_data->maxColumns = maxColumns;
-}
-
-/*!
-  \brief Return the upper limit for the number of columns.
-
-  0 means unlimited, what is the default.
-
-  \return Upper limit for the number of columns
-  \sa setMaxColumns()
-*/
-uint QwtDynGridLayout::maxColumns() const
-{
-    return d_data->maxColumns;
-}
-
-/*! 
-  \brief Add an item to the next free position.
-  \param item Layout item
- */
-void QwtDynGridLayout::addItem( QLayoutItem *item )
-{
-    d_data->itemList.append( item );
-    invalidate();
-}
-
-/*!
-  \return true if this layout is empty.
-*/
-bool QwtDynGridLayout::isEmpty() const
-{
-    return d_data->itemList.isEmpty();
-}
-
-/*!
-  \return number of layout items
-*/
-uint QwtDynGridLayout::itemCount() const
-{
-    return d_data->itemList.count();
-}
-
-/*!
-  Find the item at a specific index
-
-  \param index Index
-  \return Item at a specific index
-  \sa takeAt()
-*/
-QLayoutItem *QwtDynGridLayout::itemAt( int index ) const
-{
-    if ( index < 0 || index >= d_data->itemList.count() )
-        return NULL;
-
-    return d_data->itemList.at( index );
-}
-
-/*!
-  Find the item at a specific index and remove it from the layout
-
-  \param index Index
-  \return Layout item, removed from the layout
-  \sa itemAt()
-*/
-QLayoutItem *QwtDynGridLayout::takeAt( int index )
-{
-    if ( index < 0 || index >= d_data->itemList.count() )
-        return NULL;
-
-    d_data->isDirty = true;
-    return d_data->itemList.takeAt( index );
-}
-
-//! \return Number of items in the layout
-int QwtDynGridLayout::count() const
-{
-    return d_data->itemList.count();
-}
-
-/*!
-  Set whether this layout can make use of more space than sizeHint().
-  A value of Qt::Vertical or Qt::Horizontal means that it wants to grow in only
-  one dimension, while Qt::Vertical | Qt::Horizontal means that it wants
-  to grow in both dimensions. The default value is 0.
-
-  \param expanding Or'd orientations
-  \sa expandingDirections()
-*/
-void QwtDynGridLayout::setExpandingDirections( Qt::Orientations expanding )
-{
-    d_data->expanding = expanding;
-}
-
-/*!
-  \brief Returns whether this layout can make use of more space than sizeHint().
-
-  A value of Qt::Vertical or Qt::Horizontal means that it wants to grow in only
-  one dimension, while Qt::Vertical | Qt::Horizontal means that it wants
-  to grow in both dimensions.
-
-  \return Orientations, where the layout expands
-  \sa setExpandingDirections()
-*/
-Qt::Orientations QwtDynGridLayout::expandingDirections() const
-{
-    return d_data->expanding;
-}
-
-/*!
-  Reorganizes columns and rows and resizes managed items within
-  a rectangle.
-
-  \param rect Layout geometry
-*/
-void QwtDynGridLayout::setGeometry( const QRect &rect )
-{
-    QLayout::setGeometry( rect );
-
-    if ( isEmpty() )
-        return;
-
-    d_data->numColumns = columnsForWidth( rect.width() );
-    d_data->numRows = itemCount() / d_data->numColumns;
-    if ( itemCount() % d_data->numColumns )
-        d_data->numRows++;
-
-    QList<QRect> itemGeometries = layoutItems( rect, d_data->numColumns );
-
-    int index = 0;
-    for ( QList<QLayoutItem*>::iterator it = d_data->itemList.begin();
-        it != d_data->itemList.end(); ++it )
-    {
-        ( *it )->setGeometry( itemGeometries[index] );
-        index++;
-    }
-}
-
-/*!
-  \brief Calculate the number of columns for a given width. 
-
-  The calculation tries to use as many columns as possible 
-  ( limited by maxColumns() )
-
-  \param width Available width for all columns
-  \return Number of columns for a given width
-
-  \sa maxColumns(), setMaxColumns()
-*/
-uint QwtDynGridLayout::columnsForWidth( int width ) const
-{
-    if ( isEmpty() )
-        return 0;
-
-    uint maxColumns = itemCount();
-    if ( d_data->maxColumns > 0 ) 
-        maxColumns = qMin( d_data->maxColumns, maxColumns );
-
-    if ( maxRowWidth( maxColumns ) <= width )
-        return maxColumns;
-
-    for ( uint numColumns = 2; numColumns <= maxColumns; numColumns++ )
-    {
-        const int rowWidth = maxRowWidth( numColumns );
-        if ( rowWidth > width )
-            return numColumns - 1;
-    }
-
-    return 1; // At least 1 column
-}
-
-/*!
-  Calculate the width of a layout for a given number of
-  columns.
-
-  \param numColumns Given number of columns
-  \param itemWidth Array of the width hints for all items
-*/
-int QwtDynGridLayout::maxRowWidth( int numColumns ) const
-{
-    int col;
-
-    QVector<int> colWidth( numColumns );
-    for ( col = 0; col < numColumns; col++ )
-        colWidth[col] = 0;
-
-    if ( d_data->isDirty )
-        d_data->updateLayoutCache();
-
-    for ( int index = 0;
-        index < d_data->itemSizeHints.count(); index++ )
-    {
-        col = index % numColumns;
-        colWidth[col] = qMax( colWidth[col],
-            d_data->itemSizeHints[int( index )].width() );
-    }
-
-    int rowWidth = 2 * margin() + ( numColumns - 1 ) * spacing();
-    for ( col = 0; col < numColumns; col++ )
-        rowWidth += colWidth[col];
-
-    return rowWidth;
-}
-
-/*!
-  \return the maximum width of all layout items
-*/
-int QwtDynGridLayout::maxItemWidth() const
-{
-    if ( isEmpty() )
-        return 0;
-
-    if ( d_data->isDirty )
-        d_data->updateLayoutCache();
-
-    int w = 0;
-    for ( int i = 0; i < d_data->itemSizeHints.count(); i++ )
-    {
-        const int itemW = d_data->itemSizeHints[i].width();
-        if ( itemW > w )
-            w = itemW;
-    }
-
-    return w;
-}
-
-/*!
-  Calculate the geometries of the layout items for a layout
-  with numColumns columns and a given rectangle.
-
-  \param rect Rect where to place the items
-  \param numColumns Number of columns
-  \return item geometries
-*/
-
-QList<QRect> QwtDynGridLayout::layoutItems( const QRect &rect,
-    uint numColumns ) const
-{
-    QList<QRect> itemGeometries;
-    if ( numColumns == 0 || isEmpty() )
-        return itemGeometries;
-
-    uint numRows = itemCount() / numColumns;
-    if ( numColumns % itemCount() )
-        numRows++;
-
-    if ( numRows == 0 )
-        return itemGeometries;
-
-    QVector<int> rowHeight( numRows );
-    QVector<int> colWidth( numColumns );
-
-    layoutGrid( numColumns, rowHeight, colWidth );
-
-    bool expandH, expandV;
-    expandH = expandingDirections() & Qt::Horizontal;
-    expandV = expandingDirections() & Qt::Vertical;
-
-    if ( expandH || expandV )
-        stretchGrid( rect, numColumns, rowHeight, colWidth );
-
-    const int maxColumns = d_data->maxColumns;
-    d_data->maxColumns = numColumns;
-    const QRect alignedRect = alignmentRect( rect );
-    d_data->maxColumns = maxColumns;
-
-    const int xOffset = expandH ? 0 : alignedRect.x();
-    const int yOffset = expandV ? 0 : alignedRect.y();
-
-    QVector<int> colX( numColumns );
-    QVector<int> rowY( numRows );
-
-    const int xySpace = spacing();
-
-    rowY[0] = yOffset + margin();
-    for ( uint r = 1; r < numRows; r++ )
-        rowY[r] = rowY[r-1] + rowHeight[r-1] + xySpace;
-
-    colX[0] = xOffset + margin();
-    for ( uint c = 1; c < numColumns; c++ )
-        colX[c] = colX[c-1] + colWidth[c-1] + xySpace;
-
-    const int itemCount = d_data->itemList.size();
-    for ( int i = 0; i < itemCount; i++ )
-    {
-        const int row = i / numColumns;
-        const int col = i % numColumns;
-
-        QRect itemGeometry( colX[col], rowY[row],
-            colWidth[col], rowHeight[row] );
-        itemGeometries.append( itemGeometry );
-    }
-
-    return itemGeometries;
-}
-
-
-/*!
-  Calculate the dimensions for the columns and rows for a grid
-  of numColumns columns.
-
-  \param numColumns Number of columns.
-  \param rowHeight Array where to fill in the calculated row heights.
-  \param colWidth Array where to fill in the calculated column widths.
-*/
-
-void QwtDynGridLayout::layoutGrid( uint numColumns,
-    QVector<int>& rowHeight, QVector<int>& colWidth ) const
-{
-    if ( numColumns <= 0 )
-        return;
-
-    if ( d_data->isDirty )
-        d_data->updateLayoutCache();
-
-    for ( int index = 0; index < d_data->itemSizeHints.count(); index++ )
-    {
-        const int row = index / numColumns;
-        const int col = index % numColumns;
-
-        const QSize &size = d_data->itemSizeHints[int( index )];
-
-        rowHeight[row] = ( col == 0 )
-            ? size.height() : qMax( rowHeight[row], size.height() );
-        colWidth[col] = ( row == 0 )
-            ? size.width() : qMax( colWidth[col], size.width() );
-    }
-}
-
-/*!
-  \return true: QwtDynGridLayout implements heightForWidth().
-  \sa heightForWidth()
-*/
-bool QwtDynGridLayout::hasHeightForWidth() const
-{
-    return true;
-}
-
-/*!
-  \return The preferred height for this layout, given a width.
-  \sa hasHeightForWidth()
-*/
-int QwtDynGridLayout::heightForWidth( int width ) const
-{
-    if ( isEmpty() )
-        return 0;
-
-    const uint numColumns = columnsForWidth( width );
-    uint numRows = itemCount() / numColumns;
-    if ( itemCount() % numColumns )
-        numRows++;
-
-    QVector<int> rowHeight( numRows );
-    QVector<int> colWidth( numColumns );
-
-    layoutGrid( numColumns, rowHeight, colWidth );
-
-    int h = 2 * margin() + ( numRows - 1 ) * spacing();
-    for ( uint row = 0; row < numRows; row++ )
-        h += rowHeight[row];
-
-    return h;
-}
-
-/*!
-  Stretch columns in case of expanding() & QSizePolicy::Horizontal and
-  rows in case of expanding() & QSizePolicy::Vertical to fill the entire
-  rect. Rows and columns are stretched with the same factor.
-
-  \param rect Bounding rectangle
-  \param numColumns Number of columns
-  \param rowHeight Array to be filled with the calculated row heights
-  \param colWidth Array to be filled with the calculated column widths
-
-  \sa setExpanding(), expanding()
-*/
-void QwtDynGridLayout::stretchGrid( const QRect &rect,
-    uint numColumns, QVector<int>& rowHeight, QVector<int>& colWidth ) const
-{
-    if ( numColumns == 0 || isEmpty() )
-        return;
-
-    bool expandH, expandV;
-    expandH = expandingDirections() & Qt::Horizontal;
-    expandV = expandingDirections() & Qt::Vertical;
-
-    if ( expandH )
-    {
-        int xDelta = rect.width() - 2 * margin() - ( numColumns - 1 ) * spacing();
-        for ( uint col = 0; col < numColumns; col++ )
-            xDelta -= colWidth[col];
-
-        if ( xDelta > 0 )
-        {
-            for ( uint col = 0; col < numColumns; col++ )
-            {
-                const int space = xDelta / ( numColumns - col );
-                colWidth[col] += space;
-                xDelta -= space;
-            }
-        }
-    }
-
-    if ( expandV )
-    {
-        uint numRows = itemCount() / numColumns;
-        if ( itemCount() % numColumns )
-            numRows++;
-
-        int yDelta = rect.height() - 2 * margin() - ( numRows - 1 ) * spacing();
-        for ( uint row = 0; row < numRows; row++ )
-            yDelta -= rowHeight[row];
-
-        if ( yDelta > 0 )
-        {
-            for ( uint row = 0; row < numRows; row++ )
-            {
-                const int space = yDelta / ( numRows - row );
-                rowHeight[row] += space;
-                yDelta -= space;
-            }
-        }
-    }
-}
-
-/*!
-   Return the size hint. If maxColumns() > 0 it is the size for
-   a grid with maxColumns() columns, otherwise it is the size for
-   a grid with only one row.
-
-   \return Size hint
-   \sa maxColumns(), setMaxColumns()
-*/
-QSize QwtDynGridLayout::sizeHint() const
-{
-    if ( isEmpty() )
-        return QSize();
-
-    uint numColumns = itemCount();
-    if ( d_data->maxColumns > 0 )
-        numColumns = qMin( d_data->maxColumns, numColumns );
-
-    uint numRows = itemCount() / numColumns;
-    if ( itemCount() % numColumns )
-        numRows++;
-
-    QVector<int> rowHeight( numRows );
-    QVector<int> colWidth( numColumns );
-
-    layoutGrid( numColumns, rowHeight, colWidth );
-
-    int h = 2 * margin() + ( numRows - 1 ) * spacing();
-    for ( uint row = 0; row < numRows; row++ )
-        h += rowHeight[row];
-
-    int w = 2 * margin() + ( numColumns - 1 ) * spacing();
-    for ( uint col = 0; col < numColumns; col++ )
-        w += colWidth[col];
-
-    return QSize( w, h );
-}
-
-/*!
-  \return Number of rows of the current layout.
-  \sa numColumns()
-  \warning The number of rows might change whenever the geometry changes
-*/
-uint QwtDynGridLayout::numRows() const
-{
-    return d_data->numRows;
-}
-
-/*!
-  \return Number of columns of the current layout.
-  \sa numRows()
-  \warning The number of columns might change whenever the geometry changes
-*/
-uint QwtDynGridLayout::numColumns() const
-{
-    return d_data->numColumns;
-}
diff --git a/SRC/Qwt/src/qwt_dyngrid_layout.h b/SRC/Qwt/src/qwt_dyngrid_layout.h
deleted file mode 100644
index 9ea0bc2..0000000
--- a/SRC/Qwt/src/qwt_dyngrid_layout.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_DYNGRID_LAYOUT_H
-#define QWT_DYNGRID_LAYOUT_H
-
-#include "qwt_global.h"
-#include <qlayout.h>
-#include <qsize.h>
-#include <qlist.h>
-
-/*!
-  \brief The QwtDynGridLayout class lays out widgets in a grid,
-         adjusting the number of columns and rows to the current size.
-
-  QwtDynGridLayout takes the space it gets, divides it up into rows and
-  columns, and puts each of the widgets it manages into the correct cell(s).
-  It lays out as many number of columns as possible (limited by maxColumns()).
-*/
-
-class QWT_EXPORT QwtDynGridLayout : public QLayout
-{
-    Q_OBJECT
-public:
-    explicit QwtDynGridLayout( QWidget *, int margin = 0, int space = -1 );
-    explicit QwtDynGridLayout( int space = -1 );
-
-    virtual ~QwtDynGridLayout();
-
-    virtual void invalidate();
-
-    void setMaxColumns( uint maxCols );
-    uint maxColumns() const;
-
-    uint numRows () const;
-    uint numColumns () const;
-
-    virtual void addItem( QLayoutItem * );
-
-    virtual QLayoutItem *itemAt( int index ) const;
-    virtual QLayoutItem *takeAt( int index );
-    virtual int count() const;
-
-    void setExpandingDirections( Qt::Orientations );
-    virtual Qt::Orientations expandingDirections() const;
-    QList<QRect> layoutItems( const QRect &, uint numCols ) const;
-
-    virtual int maxItemWidth() const;
-
-    virtual void setGeometry( const QRect &rect );
-
-    virtual bool hasHeightForWidth() const;
-    virtual int heightForWidth( int ) const;
-
-    virtual QSize sizeHint() const;
-
-    virtual bool isEmpty() const;
-    uint itemCount() const;
-
-    virtual uint columnsForWidth( int width ) const;
-
-protected:
-
-    void layoutGrid( uint numCols,
-        QVector<int>& rowHeight, QVector<int>& colWidth ) const;
-    void stretchGrid( const QRect &rect, uint numCols,
-        QVector<int>& rowHeight, QVector<int>& colWidth ) const;
-
-private:
-    void init();
-    int maxRowWidth( int numCols ) const;
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_event_pattern.cpp b/SRC/Qwt/src/qwt_event_pattern.cpp
deleted file mode 100644
index e4248a6..0000000
--- a/SRC/Qwt/src/qwt_event_pattern.cpp
+++ /dev/null
@@ -1,265 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_event_pattern.h"
-#include <qevent.h>
-
-/*!
-  Constructor
-
-  \sa MousePatternCode, KeyPatternCode
-*/
-
-QwtEventPattern::QwtEventPattern():
-    d_mousePattern( MousePatternCount ),
-    d_keyPattern( KeyPatternCount )
-{
-    initKeyPattern();
-    initMousePattern( 3 );
-}
-
-//! Destructor
-QwtEventPattern::~QwtEventPattern()
-{
-}
-
-/*!
-  Set default mouse patterns, depending on the number of mouse buttons
-
-  \param numButtons Number of mouse buttons ( <= 3 )
-  \sa MousePatternCode
-*/
-void QwtEventPattern::initMousePattern( int numButtons )
-{
-    d_mousePattern.resize( MousePatternCount );
-
-    switch ( numButtons )
-    {
-        case 1:
-        {
-            setMousePattern( MouseSelect1, Qt::LeftButton );
-            setMousePattern( MouseSelect2, Qt::LeftButton, Qt::ControlModifier );
-            setMousePattern( MouseSelect3, Qt::LeftButton, Qt::AltModifier );
-            break;
-        }
-        case 2:
-        {
-            setMousePattern( MouseSelect1, Qt::LeftButton );
-            setMousePattern( MouseSelect2, Qt::RightButton );
-            setMousePattern( MouseSelect3, Qt::LeftButton, Qt::AltModifier );
-            break;
-        }
-        default:
-        {
-            setMousePattern( MouseSelect1, Qt::LeftButton );
-            setMousePattern( MouseSelect2, Qt::RightButton );
-            setMousePattern( MouseSelect3, Qt::MidButton );
-        }
-    }
-
-    setMousePattern( MouseSelect4, d_mousePattern[MouseSelect1].button,
-        d_mousePattern[MouseSelect1].modifiers | Qt::ShiftModifier );
-
-    setMousePattern( MouseSelect5, d_mousePattern[MouseSelect2].button,
-        d_mousePattern[MouseSelect2].modifiers | Qt::ShiftModifier );
-
-    setMousePattern( MouseSelect6, d_mousePattern[MouseSelect3].button,
-        d_mousePattern[MouseSelect3].modifiers | Qt::ShiftModifier );
-}
-
-/*!
-  Set default mouse patterns.
-
-  \sa KeyPatternCode
-*/
-void QwtEventPattern::initKeyPattern()
-{
-    d_keyPattern.resize( KeyPatternCount );
-
-    setKeyPattern( KeySelect1, Qt::Key_Return );
-    setKeyPattern( KeySelect2, Qt::Key_Space );
-    setKeyPattern( KeyAbort, Qt::Key_Escape );
-
-    setKeyPattern( KeyLeft, Qt::Key_Left );
-    setKeyPattern( KeyRight, Qt::Key_Right );
-    setKeyPattern( KeyUp, Qt::Key_Up );
-    setKeyPattern( KeyDown, Qt::Key_Down );
-
-    setKeyPattern( KeyRedo, Qt::Key_Plus );
-    setKeyPattern( KeyUndo, Qt::Key_Minus );
-    setKeyPattern( KeyHome, Qt::Key_Escape );
-}
-
-/*!
-  Change one mouse pattern
-
-  \param pattern Index of the pattern
-  \param button Button
-  \param modifiers Keyboard modifiers
-
-  \sa QMouseEvent
-*/
-void QwtEventPattern::setMousePattern( MousePatternCode pattern, 
-    Qt::MouseButton button, Qt::KeyboardModifiers modifiers )
-{
-    if ( pattern >= 0 && pattern < MousePatternCount )
-    {
-        d_mousePattern[ pattern ].button = button;
-        d_mousePattern[ pattern ].modifiers = modifiers;
-    }
-}
-
-/*!
-  Change one key pattern
-
-  \param pattern Index of the pattern
-  \param key Key
-  \param modifiers Keyboard modifiers
-
-  \sa QKeyEvent
-*/
-void QwtEventPattern::setKeyPattern( KeyPatternCode pattern, 
-    int key, Qt::KeyboardModifiers modifiers )
-{
-    if ( pattern >= 0 && pattern < KeyPatternCount )
-    {
-        d_keyPattern[ pattern ].key = key;
-        d_keyPattern[ pattern ].modifiers = modifiers;
-    }
-}
-
-//! Change the mouse event patterns
-void QwtEventPattern::setMousePattern( const QVector<MousePattern> &pattern )
-{
-    d_mousePattern = pattern;
-}
-
-//! Change the key event patterns
-void QwtEventPattern::setKeyPattern( const QVector<KeyPattern> &pattern )
-{
-    d_keyPattern = pattern;
-}
-
-//! \return Mouse pattern
-const QVector<QwtEventPattern::MousePattern> &
-QwtEventPattern::mousePattern() const
-{
-    return d_mousePattern;
-}
-
-//! \return Key pattern
-const QVector<QwtEventPattern::KeyPattern> &
-QwtEventPattern::keyPattern() const
-{
-    return d_keyPattern;
-}
-
-//! \return Mouse pattern
-QVector<QwtEventPattern::MousePattern> &QwtEventPattern::mousePattern()
-{
-    return d_mousePattern;
-}
-
-//! \return Key pattern
-QVector<QwtEventPattern::KeyPattern> &QwtEventPattern::keyPattern()
-{
-    return d_keyPattern;
-}
-
-/*!
-  \brief Compare a mouse event with an event pattern.
-
-  A mouse event matches the pattern when both have the same button
-  value and in the state value the same key flags(Qt::KeyButtonMask)
-  are set.
-
-  \param code Index of the event pattern
-  \param event Mouse event
-  \return true if matches
-
-  \sa keyMatch()
-*/
-bool QwtEventPattern::mouseMatch( MousePatternCode code, 
-    const QMouseEvent *event ) const
-{
-    if ( code >= 0 && code < MousePatternCount )
-        return mouseMatch( d_mousePattern[ code ], event );
-
-    return false;
-}
-
-/*!
-  \brief Compare a mouse event with an event pattern.
-
-  A mouse event matches the pattern when both have the same button
-  value and in the state value the same key flags(Qt::KeyButtonMask)
-  are set.
-
-  \param pattern Mouse event pattern
-  \param event Mouse event
-  \return true if matches
-
-  \sa keyMatch()
-*/
-
-bool QwtEventPattern::mouseMatch( const MousePattern &pattern,
-    const QMouseEvent *event ) const
-{
-    if ( event == NULL )
-        return false;
-
-    const MousePattern mousePattern( event->button(), event->modifiers() );
-    return mousePattern == pattern;
-}
-
-/*!
-  \brief Compare a key event with an event pattern.
-
-  A key event matches the pattern when both have the same key
-  value and in the state value the same key flags (Qt::KeyButtonMask)
-  are set.
-
-  \param code Index of the event pattern
-  \param event Key event
-  \return true if matches
-
-  \sa mouseMatch()
-*/
-bool QwtEventPattern::keyMatch( KeyPatternCode code, 
-    const QKeyEvent *event ) const
-{
-    if ( code >= 0 && code < KeyPatternCount )
-        return keyMatch( d_keyPattern[ code ], event );
-
-    return false;
-}
-
-/*!
-  \brief Compare a key event with an event pattern.
-
-  A key event matches the pattern when both have the same key
-  value and in the state value the same key flags (Qt::KeyButtonMask)
-  are set.
-
-  \param pattern Key event pattern
-  \param event Key event
-  \return true if matches
-
-  \sa mouseMatch()
-*/
-
-bool QwtEventPattern::keyMatch(
-    const KeyPattern &pattern, const QKeyEvent *event ) const
-{
-    if ( event == NULL )
-        return false;
-
-    const KeyPattern keyPattern( event->key(), event->modifiers() );
-    return keyPattern == pattern;
-}
diff --git a/SRC/Qwt/src/qwt_event_pattern.h b/SRC/Qwt/src/qwt_event_pattern.h
deleted file mode 100644
index 8955045..0000000
--- a/SRC/Qwt/src/qwt_event_pattern.h
+++ /dev/null
@@ -1,240 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_EVENT_PATTERN
-#define QWT_EVENT_PATTERN 1
-
-#include "qwt_global.h"
-#include <qnamespace.h>
-#include <qvector.h>
-
-class QMouseEvent;
-class QKeyEvent;
-
-/*!
-  \brief A collection of event patterns
-
-  QwtEventPattern introduces an level of indirection for mouse and
-  keyboard inputs. Those are represented by symbolic names, so
-  the application code can be configured by individual mappings.
-
-  \sa QwtPicker, QwtPickerMachine, QwtPlotZoomer
-*/
-class QWT_EXPORT QwtEventPattern
-{
-public:
-    /*!
-      \brief Symbolic mouse input codes
-
-      QwtEventPattern implements 3 different settings for
-      mice with 1, 2, or 3 buttons that can be activated
-      using initMousePattern(). The default setting is for
-      3 button mice.
-
-      Individual settings can be configured using setMousePattern().
-
-      \sa initMousePattern(), setMousePattern(), setKeyPattern()
-    */
-    enum MousePatternCode
-    {
-        /*! 
-          The default setting for 1, 2 and 3 button mice is:
-
-          - Qt::LeftButton 
-          - Qt::LeftButton 
-          - Qt::LeftButton 
-         */
-        MouseSelect1,
-
-        /*!
-          The default setting for 1, 2 and 3 button mice is:
-
-          - Qt::LeftButton + Qt::ControlModifier
-          - Qt::RightButton
-          - Qt::RightButton
-         */
-        MouseSelect2,
-
-        /*!
-          The default setting for 1, 2 and 3 button mice is:
-
-          - Qt::LeftButton + Qt::AltModifier
-          - Qt::LeftButton + Qt::AltModifier
-          - Qt::MidButton
-         */
-        MouseSelect3,
-
-        /*!
-          The default setting for 1, 2 and 3 button mice is:
-
-          - Qt::LeftButton + Qt::ShiftModifier
-          - Qt::LeftButton + Qt::ShiftModifier
-          - Qt::LeftButton + Qt::ShiftModifier
-         */
-        MouseSelect4,
-
-        /*!
-          The default setting for 1, 2 and 3 button mice is:
-
-          - Qt::LeftButton + Qt::ControlButton | Qt::ShiftModifier
-          - Qt::RightButton + Qt::ShiftModifier
-          - Qt::RightButton + Qt::ShiftModifier
-         */
-        MouseSelect5,
-
-        /*!
-          The default setting for 1, 2 and 3 button mice is:
-
-          - Qt::LeftButton + Qt::AltModifier + Qt::ShiftModifier
-          - Qt::LeftButton + Qt::AltModifier | Qt::ShiftModifier
-          - Qt::MidButton + Qt::ShiftModifier
-         */
-        MouseSelect6,
-
-        //! Number of mouse patterns
-        MousePatternCount
-    };
-
-    /*!
-      \brief Symbolic keyboard input codes
-
-      Individual settings can be configured using setKeyPattern()
-
-      \sa setKeyPattern(), setMousePattern()
-    */
-    enum KeyPatternCode
-    {
-        //! Qt::Key_Return
-        KeySelect1,
-
-        //! Qt::Key_Space
-        KeySelect2,
-
-        //! Qt::Key_Escape
-        KeyAbort,
-
-        //! Qt::Key_Left
-        KeyLeft,
-
-        //! Qt::Key_Right
-        KeyRight,
-
-        //! Qt::Key_Up
-        KeyUp,
-
-        //! Qt::Key_Down
-        KeyDown,
-
-        //! Qt::Key_Plus
-        KeyRedo,
-
-        //! Qt::Key_Minus
-        KeyUndo,
-
-        //! Qt::Key_Escape
-        KeyHome,
-
-        //! Number of key patterns
-        KeyPatternCount
-    };
-
-    //! A pattern for mouse events
-    class MousePattern
-    {
-    public:
-        //! Constructor
-        MousePattern( Qt::MouseButton btn = Qt::NoButton, 
-                Qt::KeyboardModifiers modifierCodes = Qt::NoModifier ):
-            button( btn ),
-            modifiers( modifierCodes )
-        {
-        }
-
-        //! Button 
-        Qt::MouseButton button;
-
-        //! Keyboard modifier
-        Qt::KeyboardModifiers modifiers;
-    };
-
-    //! A pattern for key events
-    class KeyPattern
-    {
-    public:
-        //! Constructor
-        KeyPattern( int keyCode = Qt::Key_unknown, 
-                Qt::KeyboardModifiers modifierCodes = Qt::NoModifier ):
-            key( keyCode ),
-            modifiers( modifierCodes )
-        {
-        }
-
-        //! Key code
-        int key;
-
-        //! Modifiers
-        Qt::KeyboardModifiers modifiers;
-    };
-
-    QwtEventPattern();
-    virtual ~QwtEventPattern();
-
-    void initMousePattern( int numButtons );
-    void initKeyPattern();
-
-    void setMousePattern( MousePatternCode, Qt::MouseButton button, 
-        Qt::KeyboardModifiers = Qt::NoModifier );
-
-    void setKeyPattern( KeyPatternCode, int keyCode, 
-        Qt::KeyboardModifiers modifierCodes = Qt::NoModifier );
-
-    void setMousePattern( const QVector<MousePattern> & );
-    void setKeyPattern( const QVector<KeyPattern> & );
-
-    const QVector<MousePattern> &mousePattern() const;
-    const QVector<KeyPattern> &keyPattern() const;
-
-    QVector<MousePattern> &mousePattern();
-    QVector<KeyPattern> &keyPattern();
-
-    bool mouseMatch( MousePatternCode, const QMouseEvent * ) const;
-    bool keyMatch( KeyPatternCode, const QKeyEvent * ) const;
-
-protected:
-    virtual bool mouseMatch( const MousePattern &, const QMouseEvent * ) const;
-    virtual bool keyMatch( const KeyPattern &, const QKeyEvent * ) const;
-
-private:
-
-#if defined(_MSC_VER)
-#pragma warning(push)
-#pragma warning(disable: 4251)
-#endif
-    QVector<MousePattern> d_mousePattern;
-    QVector<KeyPattern> d_keyPattern;
-#if defined(_MSC_VER)
-#pragma warning(pop)
-#endif
-};
-
-//! Compare operator
-inline bool operator==( QwtEventPattern::MousePattern b1,
-    QwtEventPattern::MousePattern  b2 )
-{
-    return b1.button == b2.button && b1.modifiers == b2.modifiers;
-}
-
-//! Compare operator
-inline bool operator==( QwtEventPattern::KeyPattern b1,
-   QwtEventPattern::KeyPattern  b2 )
-{
-    return b1.key == b2.key && b1.modifiers == b2.modifiers;
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_global.h b/SRC/Qwt/src/qwt_global.h
deleted file mode 100644
index 5f2b63e..0000000
--- a/SRC/Qwt/src/qwt_global.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_GLOBAL_H
-#define QWT_GLOBAL_H
-
-#include <qglobal.h>
-
-// QWT_VERSION is (major << 16) + (minor << 8) + patch.
-
-#define QWT_VERSION       0x060102
-#define QWT_VERSION_STR   "6.1.2"
-
-#if defined(_MSC_VER) /* MSVC Compiler */
-/* template-class specialization 'identifier' is already instantiated */
-#pragma warning(disable: 4660)
-/* inherits via dominance */
-#pragma warning(disable: 4250)
-#endif // _MSC_VER
-
-#ifdef QWT_DLL
-
-#if defined(QWT_MAKEDLL)     // create a Qwt DLL library 
-#define QWT_EXPORT Q_DECL_EXPORT
-#else                        // use a Qwt DLL library
-#define QWT_EXPORT Q_DECL_IMPORT 
-#endif
-
-#endif // QWT_DLL
-
-#ifndef QWT_EXPORT
-#define QWT_EXPORT
-#endif
-
-#endif 
diff --git a/SRC/Qwt/src/qwt_graphic.cpp b/SRC/Qwt/src/qwt_graphic.cpp
deleted file mode 100644
index e246ab5..0000000
--- a/SRC/Qwt/src/qwt_graphic.cpp
+++ /dev/null
@@ -1,1009 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_graphic.h"
-#include "qwt_painter_command.h"
-#include <qvector.h>
-#include <qpainter.h>
-#include <qpaintengine.h>
-#include <qimage.h>
-#include <qpixmap.h>
-#include <qpainterpath.h>
-#include <qmath.h>
-
-static bool qwtHasScalablePen( const QPainter *painter )
-{
-    const QPen pen = painter->pen();
-
-    bool scalablePen = false;
-
-    if ( pen.style() != Qt::NoPen && pen.brush().style() != Qt::NoBrush )
-    {
-        scalablePen = !pen.isCosmetic();
-        if ( !scalablePen && pen.widthF() == 0.0 )
-        {
-            const QPainter::RenderHints hints = painter->renderHints();
-            if ( hints.testFlag( QPainter::NonCosmeticDefaultPen ) )
-                scalablePen = true;
-        }
-    }
-
-    return scalablePen;
-}
-
-static QRectF qwtStrokedPathRect( 
-    const QPainter *painter, const QPainterPath &path )
-{
-    QPainterPathStroker stroker;
-    stroker.setWidth( painter->pen().widthF() );
-    stroker.setCapStyle( painter->pen().capStyle() );
-    stroker.setJoinStyle( painter->pen().joinStyle() );
-    stroker.setMiterLimit( painter->pen().miterLimit() );
-
-    QRectF rect;
-    if ( qwtHasScalablePen( painter ) )
-    {
-        QPainterPath stroke = stroker.createStroke(path);
-        rect = painter->transform().map(stroke).boundingRect();
-    }
-    else
-    {
-        QPainterPath mappedPath = painter->transform().map(path);
-        mappedPath = stroker.createStroke( mappedPath );
-
-        rect = mappedPath.boundingRect();
-    }
-
-    return rect;
-}
-
-static inline void qwtExecCommand( 
-    QPainter *painter, const QwtPainterCommand &cmd, 
-    QwtGraphic::RenderHints renderHints,
-    const QTransform &transform,
-    const QTransform *initialTransform )
-{
-    switch( cmd.type() )
-    {
-        case QwtPainterCommand::Path:
-        {
-            bool doMap = false;
-
-            if ( renderHints.testFlag( QwtGraphic::RenderPensUnscaled )
-                && painter->transform().isScaling() )
-            {
-                bool isCosmetic = painter->pen().isCosmetic();
-                if ( isCosmetic && painter->pen().widthF() == 0.0 )
-                {
-                    QPainter::RenderHints hints = painter->renderHints();
-                    if ( hints.testFlag( QPainter::NonCosmeticDefaultPen ) )
-                        isCosmetic = false;
-                }
-
-                doMap = !isCosmetic;
-            }
-
-            if ( doMap )
-            {
-                const QTransform tr = painter->transform();
-
-                painter->resetTransform();
-
-                QPainterPath path = tr.map( *cmd.path() );
-                if ( initialTransform )
-                {
-                    painter->setTransform( *initialTransform );
-                    path = initialTransform->inverted().map( path );
-                }
-
-                painter->drawPath( path );
-
-                painter->setTransform( tr );
-            }
-            else
-            {
-                painter->drawPath( *cmd.path() );
-            }
-            break;
-        }
-        case QwtPainterCommand::Pixmap:
-        {
-            const QwtPainterCommand::PixmapData *data = cmd.pixmapData();
-            painter->drawPixmap( data->rect, data->pixmap, data->subRect );
-            break;
-        }
-        case QwtPainterCommand::Image:
-        {
-            const QwtPainterCommand::ImageData *data = cmd.imageData();
-            painter->drawImage( data->rect, data->image, 
-                data->subRect, data->flags );
-            break;
-        }
-        case QwtPainterCommand::State:
-        {
-            const QwtPainterCommand::StateData *data = cmd.stateData();
-
-            if ( data->flags & QPaintEngine::DirtyPen ) 
-                painter->setPen( data->pen );
-
-            if ( data->flags & QPaintEngine::DirtyBrush ) 
-                painter->setBrush( data->brush );
-
-            if ( data->flags & QPaintEngine::DirtyBrushOrigin ) 
-                painter->setBrushOrigin( data->brushOrigin );
-
-            if ( data->flags & QPaintEngine::DirtyFont ) 
-                painter->setFont( data->font );
-
-            if ( data->flags & QPaintEngine::DirtyBackground ) 
-            {
-                painter->setBackgroundMode( data->backgroundMode );
-                painter->setBackground( data->backgroundBrush );
-            }
-
-            if ( data->flags & QPaintEngine::DirtyTransform ) 
-            {
-                painter->setTransform( data->transform * transform );
-            }
-
-            if ( data->flags & QPaintEngine::DirtyClipEnabled ) 
-                painter->setClipping( data->isClipEnabled );
-
-            if ( data->flags & QPaintEngine::DirtyClipRegion) 
-            {
-                painter->setClipRegion( data->clipRegion, 
-                    data->clipOperation );
-            }
-
-            if ( data->flags & QPaintEngine::DirtyClipPath ) 
-            {
-                painter->setClipPath( data->clipPath, data->clipOperation );
-            }
-
-            if ( data->flags & QPaintEngine::DirtyHints) 
-            {
-                const QPainter::RenderHints hints = data->renderHints;
-
-                painter->setRenderHint( QPainter::Antialiasing,
-                    hints.testFlag( QPainter::Antialiasing ) );
-
-                painter->setRenderHint( QPainter::TextAntialiasing,
-                    hints.testFlag( QPainter::TextAntialiasing ) );
-
-                painter->setRenderHint( QPainter::SmoothPixmapTransform,
-                    hints.testFlag( QPainter::SmoothPixmapTransform ) );
-
-                painter->setRenderHint( QPainter::HighQualityAntialiasing,
-                    hints.testFlag( QPainter::HighQualityAntialiasing ) );
-
-                painter->setRenderHint( QPainter::NonCosmeticDefaultPen,
-                    hints.testFlag( QPainter::NonCosmeticDefaultPen ) );
-            }
-
-            if ( data->flags & QPaintEngine::DirtyCompositionMode) 
-                painter->setCompositionMode( data->compositionMode );
-
-            if ( data->flags & QPaintEngine::DirtyOpacity) 
-                painter->setOpacity( data->opacity );
-
-            break;
-        }
-        default:
-            break;
-    }
-
-}
-
-class QwtGraphic::PathInfo
-{
-public:
-    PathInfo():
-        d_scalablePen( false )
-    {
-        // QVector needs a default constructor
-    }
-
-    PathInfo( const QRectF &pointRect, 
-            const QRectF &boundingRect, bool scalablePen ):
-        d_pointRect( pointRect ),
-        d_boundingRect( boundingRect ),
-        d_scalablePen( scalablePen )
-    {
-    }
-
-    inline QRectF scaledBoundingRect( double sx, double sy,
-        bool scalePens ) const
-    {
-        if ( sx == 1.0 && sy == 1.0 )
-            return d_boundingRect;
-
-        QTransform transform;
-        transform.scale( sx, sy );
-
-        QRectF rect;
-        if ( scalePens && d_scalablePen )
-        {
-            rect = transform.mapRect( d_boundingRect );
-        }
-        else
-        {
-            rect = transform.mapRect( d_pointRect );
-
-            const double l = qAbs( d_pointRect.left() - d_boundingRect.left() );
-            const double r = qAbs( d_pointRect.right() - d_boundingRect.right() );
-            const double t = qAbs( d_pointRect.top() - d_boundingRect.top() );
-            const double b = qAbs( d_pointRect.bottom() - d_boundingRect.bottom() );
-
-            rect.adjust( -l, -t, r, b );
-        }
-
-        return rect;
-    }
-
-    inline double scaleFactorX( const QRectF& pathRect, 
-        const QRectF &targetRect, bool scalePens ) const
-    {
-        if ( pathRect.width() <= 0.0 )
-            return 0.0;
-
-        const QPointF p0 = d_pointRect.center();
-
-        const double l = qAbs( pathRect.left() - p0.x() );
-        const double r = qAbs( pathRect.right() - p0.x() );
-
-        const double w = 2.0 * qMin( l, r ) 
-            * targetRect.width() / pathRect.width();
-
-        double sx;
-        if ( scalePens && d_scalablePen )
-        {
-            sx = w / d_boundingRect.width();
-        }
-        else
-        {
-            const double pw = qMax( 
-                qAbs( d_boundingRect.left() - d_pointRect.left() ),
-                qAbs( d_boundingRect.right() - d_pointRect.right() ) );
-
-            sx = ( w - 2 * pw ) / d_pointRect.width();
-        }
-
-        return sx;
-    }
-
-    inline double scaleFactorY( const QRectF& pathRect, 
-        const QRectF &targetRect, bool scalePens ) const
-    {
-        if ( pathRect.height() <= 0.0 )
-            return 0.0;
-
-        const QPointF p0 = d_pointRect.center();
-
-        const double t = qAbs( pathRect.top() - p0.y() );
-        const double b = qAbs( pathRect.bottom() - p0.y() );
-
-        const double h = 2.0 * qMin( t, b ) 
-            * targetRect.height() / pathRect.height();
-
-        double sy;
-        if ( scalePens && d_scalablePen )
-        {
-            sy = h / d_boundingRect.height();
-        }
-        else
-        {
-            const double pw = 
-                qMax( qAbs( d_boundingRect.top() - d_pointRect.top() ),
-                qAbs( d_boundingRect.bottom() - d_pointRect.bottom() ) );
-
-            sy = ( h - 2 * pw ) / d_pointRect.height();
-        }
-
-        return sy;
-    }
-
-private:
-    QRectF d_pointRect;
-    QRectF d_boundingRect;
-    bool d_scalablePen;
-};
-
-class QwtGraphic::PrivateData
-{
-public:
-    PrivateData():
-        boundingRect( 0.0, 0.0, -1.0, -1.0 ),
-        pointRect( 0.0, 0.0, -1.0, -1.0 ),
-        initialTransform( NULL )
-    {
-    }
-
-    QSizeF defaultSize;
-    QVector<QwtPainterCommand> commands;
-    QVector<QwtGraphic::PathInfo> pathInfos;
-
-    QRectF boundingRect;
-    QRectF pointRect;
-
-    QwtGraphic::RenderHints renderHints;
-    QTransform *initialTransform;
-};
-
-/*!
-  \brief Constructor
-
-  Initializes a null graphic
-  \sa isNull()
- */
-QwtGraphic::QwtGraphic():
-    QwtNullPaintDevice()
-{
-    setMode( QwtNullPaintDevice::PathMode );
-    d_data = new PrivateData;
-}
-
-/*!
-  \brief Copy constructor
-
-  \param other Source 
-  \sa operator=()
- */
-QwtGraphic::QwtGraphic( const QwtGraphic &other ):
-    QwtNullPaintDevice()
-{
-    setMode( other.mode() );
-    d_data = new PrivateData( *other.d_data );
-}
-
-//! Destructor
-QwtGraphic::~QwtGraphic()
-{
-    delete d_data;
-}
-
-/*!
-  \brief Assignment operator
-
-  \param other Source 
-  \return A reference of this object
- */
-QwtGraphic& QwtGraphic::operator=(const QwtGraphic &other)
-{
-    setMode( other.mode() );
-    *d_data = *other.d_data;
-
-    return *this;
-}
-
-/*!
-  \brief Clear all stored commands 
-  \sa isNull()
- */
-void QwtGraphic::reset() 
-{
-    d_data->commands.clear();
-    d_data->pathInfos.clear();
-
-    d_data->boundingRect = QRectF( 0.0, 0.0, -1.0, -1.0 );
-    d_data->pointRect = QRectF( 0.0, 0.0, -1.0, -1.0 );
-    d_data->defaultSize = QSizeF();
-
-}
-
-/*!
-  \return True, when no painter commands have been stored
-  \sa isEmpty(), commands()
-*/
-bool QwtGraphic::isNull() const
-{
-    return d_data->commands.isEmpty();
-}
-
-/*!
-  \return True, when the bounding rectangle is empty
-  \sa boundingRect(), isNull()
-*/
-bool QwtGraphic::isEmpty() const
-{
-    return d_data->boundingRect.isEmpty();
-}
-
-/*!
-  Toggle an render hint
-
-  \param hint Render hint
-  \param on true/false
-
-  \sa testRenderHint(), RenderHint
-*/
-void QwtGraphic::setRenderHint( RenderHint hint, bool on )
-{
-    if ( on )
-        d_data->renderHints |= hint;
-    else
-        d_data->renderHints &= ~hint;
-}
-
-/*!
-  Test a render hint
-
-  \param hint Render hint
-  \return true/false
-  \sa setRenderHint(), RenderHint
-*/
-bool QwtGraphic::testRenderHint( RenderHint hint ) const
-{
-    return d_data->renderHints.testFlag( hint );
-}
-
-/*!
-  The bounding rectangle is the controlPointRect()
-  extended by the areas needed for rendering the outlines
-  with unscaled pens.
-
-  \return Bounding rectangle of the graphic
-  \sa controlPointRect(), scaledBoundingRect()
- */
-QRectF QwtGraphic::boundingRect() const
-{
-    if ( d_data->boundingRect.width() < 0 )
-        return QRectF();
-
-    return d_data->boundingRect;
-}
-
-/*!
-  The control point rectangle is the bounding rectangle 
-  of all control points of the paths and the target
-  rectangles of the images/pixmaps.
-
-  \return Control point rectangle
-  \sa boundingRect(), scaledBoundingRect()
- */
-QRectF QwtGraphic::controlPointRect() const
-{
-    if ( d_data->pointRect.width() < 0 )
-        return QRectF();
-
-    return d_data->pointRect;
-}
-
-/*!
-  \brief Calculate the target rectangle for scaling the graphic
-
-  \param sx Horizontal scaling factor 
-  \param sy Vertical scaling factor 
-
-  \note In case of paths that are painted with a cosmetic pen 
-        ( see QPen::isCosmetic() ) the target rectangle is different to
-        multiplying the bounding rectangle.
-
-  \return Scaled bounding rectangle
-  \sa boundingRect(), controlPointRect()
- */
-QRectF QwtGraphic::scaledBoundingRect( double sx, double sy ) const
-{
-    if ( sx == 1.0 && sy == 1.0 )
-        return d_data->boundingRect;
-
-    QTransform transform;
-    transform.scale( sx, sy );
-
-    QRectF rect = transform.mapRect( d_data->pointRect );
-
-    for ( int i = 0; i < d_data->pathInfos.size(); i++ )
-    {
-        rect |= d_data->pathInfos[i].scaledBoundingRect( sx, sy, 
-            !d_data->renderHints.testFlag( RenderPensUnscaled ) );
-    }
-
-    return rect;
-}
-
-//! \return Ceiled defaultSize()
-QSize QwtGraphic::sizeMetrics() const
-{
-    const QSizeF sz = defaultSize();
-    return QSize( qCeil( sz.width() ), qCeil( sz.height() ) );
-}
-
-/*!
-  \brief Set a default size
-
-  The default size is used in all methods rendering the graphic,
-  where no size is explicitly specified. Assigning an empty size
-  means, that the default size will be calculated from the bounding 
-  rectangle.
-
-  The default setting is an empty size.
-    
-  \param size Default size
-
-  \sa defaultSize(), boundingRect()
- */
-void QwtGraphic::setDefaultSize( const QSizeF &size )
-{
-    const double w = qMax( qreal( 0.0 ), size.width() );
-    const double h = qMax( qreal( 0.0 ), size.height() );
-
-    d_data->defaultSize = QSizeF( w, h );
-}
-
-/*!
-  \brief Default size
-
-  When a non empty size has been assigned by setDefaultSize() this
-  size will be returned. Otherwise the default size is the size
-  of the bounding rectangle.
-
-  The default size is used in all methods rendering the graphic,
-  where no size is explicitly specified. 
-
-  \return Default size
-  \sa setDefaultSize(), boundingRect()
- */
-QSizeF QwtGraphic::defaultSize() const
-{
-    if ( !d_data->defaultSize.isEmpty() )
-        return d_data->defaultSize;
-
-    return boundingRect().size();
-}
-
-/*!
-  \brief Replay all recorded painter commands
-  \param painter Qt painter
- */
-void QwtGraphic::render( QPainter *painter ) const
-{
-    if ( isNull() )
-        return;
-
-    const int numCommands = d_data->commands.size();
-    const QwtPainterCommand *commands = d_data->commands.constData();
-
-    const QTransform transform = painter->transform();
-
-    painter->save();
-
-    for ( int i = 0; i < numCommands; i++ )
-    {
-        qwtExecCommand( painter, commands[i], 
-            d_data->renderHints, transform, d_data->initialTransform );
-    }
-
-    painter->restore();
-}
-
-/*!
-  \brief Replay all recorded painter commands
-
-  The graphic is scaled to fit into the rectangle
-  of the given size starting at ( 0, 0 ).
-
-  \param painter Qt painter
-  \param size Size for the scaled graphic
-  \param aspectRatioMode Mode how to scale - See Qt::AspectRatioMode
- */
-void QwtGraphic::render( QPainter *painter, const QSizeF &size, 
-    Qt::AspectRatioMode aspectRatioMode ) const
-{
-    const QRectF r( 0.0, 0.0, size.width(), size.height() );
-    render( painter, r, aspectRatioMode );
-}
-
-/*!
-  \brief Replay all recorded painter commands
-
-  The graphic is scaled to fit into the given rectangle
-
-  \param painter Qt painter
-  \param rect Rectangle for the scaled graphic
-  \param aspectRatioMode Mode how to scale - See Qt::AspectRatioMode
- */
-void QwtGraphic::render( QPainter *painter, const QRectF &rect, 
-    Qt::AspectRatioMode aspectRatioMode ) const
-{
-    if ( isEmpty() || rect.isEmpty() )
-        return;
-
-    double sx = 1.0; 
-    double sy = 1.0;
-
-    if ( d_data->pointRect.width() > 0.0 )
-        sx = rect.width() / d_data->pointRect.width();
-
-    if ( d_data->pointRect.height() > 0.0 )
-        sy = rect.height() / d_data->pointRect.height();
-
-    const bool scalePens = 
-        !d_data->renderHints.testFlag( RenderPensUnscaled );
-
-    for ( int i = 0; i < d_data->pathInfos.size(); i++ )
-    {
-        const PathInfo info = d_data->pathInfos[i];
-
-        const double ssx = info.scaleFactorX( 
-            d_data->pointRect, rect, scalePens );
-
-        if ( ssx > 0.0 )
-            sx = qMin( sx, ssx );
-
-        const double ssy = info.scaleFactorY( 
-            d_data->pointRect, rect, scalePens );
-
-        if ( ssy > 0.0 )
-            sy = qMin( sy, ssy );
-    }
-
-    if ( aspectRatioMode == Qt::KeepAspectRatio )
-    {
-        const double s = qMin( sx, sy );
-        sx = s;
-        sy = s;
-    }
-    else if ( aspectRatioMode == Qt::KeepAspectRatioByExpanding )
-    {
-        const double s = qMax( sx, sy );
-        sx = s;
-        sy = s;
-    }
-
-    QTransform tr;
-    tr.translate( rect.center().x() - 0.5 * sx * d_data->pointRect.width(),
-        rect.center().y() - 0.5 * sy * d_data->pointRect.height() );
-    tr.scale( sx, sy );
-    tr.translate( -d_data->pointRect.x(), -d_data->pointRect.y() );
-
-    const QTransform transform = painter->transform();
-    if ( !scalePens && transform.isScaling() )
-    {
-        // we don't want to scale pens according to sx/sy,
-        // but we want to apply the scaling from the 
-        // painter transformation later
-
-        d_data->initialTransform = new QTransform();
-        d_data->initialTransform->scale( transform.m11(), transform.m22() );
-    }
-
-    painter->setTransform( tr, true );
-    render( painter );
-
-    painter->setTransform( transform );
-
-    delete d_data->initialTransform;
-    d_data->initialTransform = NULL;
-}
-
-/*!
-  \brief Replay all recorded painter commands
-
-  The graphic is scaled to the defaultSize() and aligned
-  to a position.
-
-  \param painter Qt painter
-  \param pos Reference point, where to render
-  \param alignment Flags how to align the target rectangle 
-                   to pos.
- */
-void QwtGraphic::render( QPainter *painter, 
-    const QPointF &pos, Qt::Alignment alignment ) const
-{
-    QRectF r( pos, defaultSize() );
-
-    if ( alignment & Qt::AlignLeft )
-    {
-        r.moveLeft( pos.x() );
-    }
-    else if ( alignment & Qt::AlignHCenter )
-    {
-        r.moveCenter( QPointF( pos.x(), r.center().y() ) );
-    }
-    else if ( alignment & Qt::AlignRight )
-    {
-        r.moveRight( pos.x() );
-    }
-
-    if ( alignment & Qt::AlignTop )
-    {
-        r.moveTop( pos.y() );
-    }
-    else if ( alignment & Qt::AlignVCenter )
-    {
-        r.moveCenter( QPointF( r.center().x(), pos.y() ) );
-    }
-    else if ( alignment & Qt::AlignBottom )
-    {
-        r.moveBottom( pos.y() );
-    }
-
-    render( painter, r );
-}
-
-/*!
-  \brief Convert the graphic to a QPixmap
-    
-  All pixels of the pixmap get initialized by Qt::transparent
-  before the graphic is scaled and rendered on it.
-    
-  The size of the pixmap is the default size ( ceiled to integers )
-  of the graphic.
-
-  \return The graphic as pixmap in default size
-  \sa defaultSize(), toImage(), render()
- */ 
-QPixmap QwtGraphic::toPixmap() const
-{
-    if ( isNull() )
-        return QPixmap();
-
-    const QSizeF sz = defaultSize();
-
-    const int w = qCeil( sz.width() );
-    const int h = qCeil( sz.height() );
-
-    QPixmap pixmap( w, h );
-    pixmap.fill( Qt::transparent );
-
-    const QRectF r( 0.0, 0.0, sz.width(), sz.height() );
-
-    QPainter painter( &pixmap );
-    render( &painter, r, Qt::KeepAspectRatio );
-    painter.end();
-
-    return pixmap;
-}
-
-/*!
-  \brief Convert the graphic to a QPixmap
-
-  All pixels of the pixmap get initialized by Qt::transparent
-  before the graphic is scaled and rendered on it.
-
-  \param size Size of the image
-  \param aspectRatioMode Aspect ratio how to scale the graphic
-
-  \return The graphic as pixmap
-  \sa toImage(), render()
- */
-QPixmap QwtGraphic::toPixmap( const QSize &size,
-    Qt::AspectRatioMode aspectRatioMode ) const
-{
-    QPixmap pixmap( size );
-    pixmap.fill( Qt::transparent );
-
-    const QRect r( 0, 0, size.width(), size.height() );
-
-    QPainter painter( &pixmap );
-    render( &painter, r, aspectRatioMode );
-    painter.end();
-
-    return pixmap;
-}
-
-/*!
-  \brief Convert the graphic to a QImage
-
-  All pixels of the image get initialized by 0 ( transparent )
-  before the graphic is scaled and rendered on it.
-
-  The format of the image is QImage::Format_ARGB32_Premultiplied.
-
-  \param size Size of the image
-  \param aspectRatioMode Aspect ratio how to scale the graphic
-
-  \return The graphic as image
-  \sa toPixmap(), render()
- */
-QImage QwtGraphic::toImage( const QSize &size,
-    Qt::AspectRatioMode aspectRatioMode  ) const
-{
-    QImage image( size, QImage::Format_ARGB32_Premultiplied );
-    image.fill( 0 );
-
-    const QRect r( 0, 0, size.width(), size.height() );
-
-    QPainter painter( &image );
-    render( &painter, r, aspectRatioMode );
-    painter.end();
-
-    return image;
-}
-
-/*!
-  \brief Convert the graphic to a QImage
-    
-  All pixels of the image get initialized by 0 ( transparent )
-  before the graphic is scaled and rendered on it.
-
-  The format of the image is QImage::Format_ARGB32_Premultiplied.
-
-  The size of the image is the default size ( ceiled to integers )
-  of the graphic.
-    
-  \return The graphic as image in default size
-  \sa defaultSize(), toPixmap(), render()
- */
-QImage QwtGraphic::toImage() const
-{
-    if ( isNull() )
-        return QImage();
-
-    const QSizeF sz = defaultSize();
-
-    const int w = qCeil( sz.width() );
-    const int h = qCeil( sz.height() );
-
-    QImage image( w, h, QImage::Format_ARGB32 );
-    image.fill( 0 );
-
-    const QRect r( 0, 0, sz.width(), sz.height() );
-
-    QPainter painter( &image );
-    render( &painter, r, Qt::KeepAspectRatio );
-    painter.end();
-
-    return image;
-}
-
-/*!
-  Store a path command in the command list
-
-  \param path Painter path
-  \sa QPaintEngine::drawPath()
-*/
-void QwtGraphic::drawPath( const QPainterPath &path )
-{
-    const QPainter *painter = paintEngine()->painter();
-    if ( painter == NULL )
-        return;
-
-    d_data->commands += QwtPainterCommand( path );
-
-    if ( !path.isEmpty() )
-    {
-        const QPainterPath scaledPath = painter->transform().map( path );
-
-        QRectF pointRect = scaledPath.boundingRect();
-        QRectF boundingRect = pointRect;
-
-        if ( painter->pen().style() != Qt::NoPen 
-            && painter->pen().brush().style() != Qt::NoBrush )
-        {
-            boundingRect = qwtStrokedPathRect( painter, path );
-        }
-
-        updateControlPointRect( pointRect );
-        updateBoundingRect( boundingRect );
-
-        d_data->pathInfos += PathInfo( pointRect, 
-            boundingRect, qwtHasScalablePen( painter ) );
-    }
-}
-
-/*!
-  \brief Store a pixmap command in the command list
-
-  \param rect target rectangle
-  \param pixmap Pixmap to be painted
-  \param subRect Reactangle of the pixmap to be painted
-
-  \sa QPaintEngine::drawPixmap()
-*/
-void QwtGraphic::drawPixmap( const QRectF &rect, 
-    const QPixmap &pixmap, const QRectF &subRect )
-{
-    const QPainter *painter = paintEngine()->painter();
-    if ( painter == NULL )
-        return;
-
-    d_data->commands += QwtPainterCommand( rect, pixmap, subRect );
-
-    const QRectF r = painter->transform().mapRect( rect );
-    updateControlPointRect( r );
-    updateBoundingRect( r );
-}
-
-/*!
-  \brief Store a image command in the command list
-
-  \param rect traget rectangle
-  \param image Image to be painted
-  \param subRect Reactangle of the pixmap to be painted
-  \param flags Image conversion flags
-
-  \sa QPaintEngine::drawImage()
- */
-void QwtGraphic::drawImage( const QRectF &rect, const QImage &image,
-    const QRectF &subRect, Qt::ImageConversionFlags flags)
-{
-    const QPainter *painter = paintEngine()->painter();
-    if ( painter == NULL )
-        return;
-
-    d_data->commands += QwtPainterCommand( rect, image, subRect, flags );
-
-    const QRectF r = painter->transform().mapRect( rect );
-
-    updateControlPointRect( r );
-    updateBoundingRect( r );
-}
-
-/*!
-  \brief Store a state command in the command list
-
-  \param state State to be stored
-  \sa QPaintEngine::updateState()
- */
-void QwtGraphic::updateState( const QPaintEngineState &state)
-{
-    d_data->commands += QwtPainterCommand( state );
-}
-
-void QwtGraphic::updateBoundingRect( const QRectF &rect )
-{
-    QRectF br = rect;
-
-    const QPainter *painter = paintEngine()->painter();
-    if ( painter && painter->hasClipping() )
-    {
-        QRectF cr = painter->clipRegion().boundingRect();
-        cr = painter->transform().mapRect( br );
-
-        br &= cr;
-    }
-
-    if ( d_data->boundingRect.width() < 0 )
-        d_data->boundingRect = br;
-    else
-        d_data->boundingRect |= br;
-}
-
-void QwtGraphic::updateControlPointRect( const QRectF &rect )
-{
-    if ( d_data->pointRect.width() < 0.0 )
-        d_data->pointRect = rect;
-    else
-        d_data->pointRect |= rect;
-}
-
-/*!
-  \return List of recorded paint commands
-  \sa setCommands()
- */
-const QVector< QwtPainterCommand > &QwtGraphic::commands() const
-{
-    return d_data->commands;
-}
-
-/*!
-  \brief Append paint commands
-
-  \param commands Paint commands
-  \sa commands()
- */
-void QwtGraphic::setCommands( QVector< QwtPainterCommand > &commands )
-{
-    reset();
-
-    const int numCommands = commands.size();
-    if ( numCommands <= 0 )
-        return;
-
-    // to calculate a proper bounding rectangle we don't simply copy 
-    // the commands. 
-
-    const QwtPainterCommand *cmds = commands.constData();
-
-    QPainter painter( this );
-    for ( int i = 0; i < numCommands; i++ )
-        qwtExecCommand( &painter, cmds[i], RenderHints(), QTransform(), NULL );
-
-    painter.end();
-}
diff --git a/SRC/Qwt/src/qwt_graphic.h b/SRC/Qwt/src/qwt_graphic.h
deleted file mode 100644
index 592b8c1..0000000
--- a/SRC/Qwt/src/qwt_graphic.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_GRAPHIC_H
-#define QWT_GRAPHIC_H
-
-#include "qwt_global.h"
-#include "qwt_null_paintdevice.h"
-#include <qmetatype.h>
-#include <qimage.h>
-#include <qpixmap.h>
-
-class QwtPainterCommand;
-
-/*!
-    \brief A paint device for scalable graphics
-
-    QwtGraphic is the representation of a graphic that is tailored for
-    scalability. Like QPicture it will be initialized by QPainter
-    operations and can be replayed later to any target paint device.
-
-    While the usual image representations QImage and QPixmap are not
-    scalable Qt offers two paint devices, that might be candidates
-    for representing a vector graphic:
-
-    - QPicture\n
-      Unfortunately QPicture had been forgotten, when Qt4
-      introduced floating point based render engines. Its API
-      is still on integers, what make it unusable for proper scaling.
-
-    - QSvgRenderer/QSvgGenerator\n
-      Unfortunately QSvgRenderer hides to much information about
-      its nodes in internal APIs, that are necessary for proper 
-      layout calculations. Also it is derived from QObject and 
-      can't be copied like QImage/QPixmap.
-
-    QwtGraphic maps all scalable drawing primitives to a QPainterPath
-    and stores them together with the painter state changes 
-    ( pen, brush, transformation ... ) in a list of QwtPaintCommands. 
-    For being a complete QPaintDevice it also stores pixmaps or images, 
-    what is somehow against the idea of the class, because these objects 
-    can't be scaled without a loss in quality.
-
-    The main issue about scaling a QwtGraphic object are the pens used for
-    drawing the outlines of the painter paths. While non cosmetic pens 
-    ( QPen::isCosmetic() ) are scaled with the same ratio as the path, 
-    cosmetic pens have a fixed width. A graphic might have paths with 
-    different pens - cosmetic and non-cosmetic.
-
-    QwtGraphic caches 2 different rectangles:
-
-    - control point rectangle\n
-      The control point rectangle is the bounding rectangle of all
-      control point rectangles of the painter paths, or the target 
-      rectangle of the pixmaps/images.
-
-    - bounding rectangle\n
-      The bounding rectangle extends the control point rectangle by
-      what is needed for rendering the outline with an unscaled pen.
-
-    Because the offset for drawing the outline depends on the shape 
-    of the painter path ( the peak of a triangle is different than the flat side ) 
-    scaling with a fixed aspect ratio always needs to be calculated from the 
-    control point rectangle.
-
-    \sa QwtPainterCommand
- */
-class QWT_EXPORT QwtGraphic: public QwtNullPaintDevice
-{
-public:
-    /*! 
-        Hint how to render a graphic
-        \sa setRenderHint(), testRenderHint()
-     */
-    enum RenderHint
-    {
-        /*!
-           When rendering a QwtGraphic a specific scaling between 
-           the controlPointRect() and the coordinates of the target rectangle
-           is set up internally in render().
-
-           When RenderPensUnscaled is set this specific scaling is applied
-           for the control points only, but not for the pens.
-           All other painter transformations ( set up by application code )
-           are supposed to work like usual.
-
-           \sa render();
-         */
-        RenderPensUnscaled = 0x1
-    };
-
-    /*! 
-        \brief Render hints
-
-        The default setting is to disable all hints
-     */
-    typedef QFlags<RenderHint> RenderHints;
-
-    QwtGraphic();
-    QwtGraphic( const QwtGraphic & );
-
-    virtual ~QwtGraphic();
-
-    QwtGraphic& operator=( const QwtGraphic & );
-
-    void reset();
-
-    bool isNull() const;
-    bool isEmpty() const;
-
-    void render( QPainter * ) const;
-
-    void render( QPainter *, const QSizeF &, 
-            Qt::AspectRatioMode = Qt::IgnoreAspectRatio  ) const;
-
-    void render( QPainter *, const QRectF &, 
-            Qt::AspectRatioMode = Qt::IgnoreAspectRatio  ) const;
-
-    void render( QPainter *, const QPointF &,
-        Qt::Alignment = Qt::AlignTop | Qt::AlignLeft ) const;
-
-    QPixmap toPixmap() const; 
-    QPixmap toPixmap( const QSize &, 
-        Qt::AspectRatioMode = Qt::IgnoreAspectRatio  ) const;
-
-    QImage toImage() const; 
-    QImage toImage( const QSize &, 
-        Qt::AspectRatioMode = Qt::IgnoreAspectRatio  ) const;
-
-    QRectF scaledBoundingRect( double sx, double sy ) const;
-
-    QRectF boundingRect() const;
-    QRectF controlPointRect() const;
-
-    const QVector< QwtPainterCommand > &commands() const;
-    void setCommands( QVector< QwtPainterCommand > & );
-
-    void setDefaultSize( const QSizeF & );
-    QSizeF defaultSize() const;
-    
-    void setRenderHint( RenderHint, bool on = true );
-    bool testRenderHint( RenderHint ) const;
-
-protected:
-    virtual QSize sizeMetrics() const;
-
-    virtual void drawPath( const QPainterPath & );
-
-    virtual void drawPixmap( const QRectF &,
-        const QPixmap &, const QRectF & );
-
-    virtual void drawImage( const QRectF &,
-        const QImage &, const QRectF &, Qt::ImageConversionFlags );
-
-    virtual void updateState( const QPaintEngineState &state );
-
-private:
-    void updateBoundingRect( const QRectF & );
-    void updateControlPointRect( const QRectF & );
-
-    class PathInfo;
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtGraphic::RenderHints )
-Q_DECLARE_METATYPE( QwtGraphic )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_interval.cpp b/SRC/Qwt/src/qwt_interval.cpp
deleted file mode 100644
index 90f10d9..0000000
--- a/SRC/Qwt/src/qwt_interval.cpp
+++ /dev/null
@@ -1,354 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_interval.h"
-#include "qwt_math.h"
-#include <qalgorithms.h>
-
-/*!
-  \brief Normalize the limits of the interval
-
-  If maxValue() < minValue() the limits will be inverted.
-  \return Normalized interval
-
-  \sa isValid(), inverted()
-*/
-QwtInterval QwtInterval::normalized() const
-{
-    if ( d_minValue > d_maxValue )
-    {
-        return inverted();
-    }
-    if ( d_minValue == d_maxValue && d_borderFlags == ExcludeMinimum )
-    {
-        return inverted();
-    }
-
-    return *this;
-}
-
-/*!
-  Invert the limits of the interval
-  \return Inverted interval
-  \sa normalized()
-*/
-QwtInterval QwtInterval::inverted() const
-{
-    BorderFlags borderFlags = IncludeBorders;
-    if ( d_borderFlags & ExcludeMinimum )
-        borderFlags |= ExcludeMaximum;
-    if ( d_borderFlags & ExcludeMaximum )
-        borderFlags |= ExcludeMinimum;
-
-    return QwtInterval( d_maxValue, d_minValue, borderFlags );
-}
-
-/*!
-  Test if a value is inside an interval
-
-  \param value Value
-  \return true, if value >= minValue() && value <= maxValue()
-*/
-bool QwtInterval::contains( double value ) const
-{
-    if ( !isValid() )
-        return false;
-
-    if ( value < d_minValue || value > d_maxValue )
-        return false;
-
-    if ( value == d_minValue && d_borderFlags & ExcludeMinimum )
-        return false;
-
-    if ( value == d_maxValue && d_borderFlags & ExcludeMaximum )
-        return false;
-
-    return true;
-}
-
-//! Unite 2 intervals
-QwtInterval QwtInterval::unite( const QwtInterval &other ) const
-{
-    /*
-     If one of the intervals is invalid return the other one.
-     If both are invalid return an invalid default interval
-     */
-    if ( !isValid() )
-    {
-        if ( !other.isValid() )
-            return QwtInterval();
-        else
-            return other;
-    }
-    if ( !other.isValid() )
-        return *this;
-
-    QwtInterval united;
-    BorderFlags flags = IncludeBorders;
-
-    // minimum
-    if ( d_minValue < other.minValue() )
-    {
-        united.setMinValue( d_minValue );
-        flags &= d_borderFlags & ExcludeMinimum;
-    }
-    else if ( other.minValue() < d_minValue )
-    {
-        united.setMinValue( other.minValue() );
-        flags &= other.borderFlags() & ExcludeMinimum;
-    }
-    else // d_minValue == other.minValue()
-    {
-        united.setMinValue( d_minValue );
-        flags &= ( d_borderFlags & other.borderFlags() ) & ExcludeMinimum;
-    }
-
-    // maximum
-    if ( d_maxValue > other.maxValue() )
-    {
-        united.setMaxValue( d_maxValue );
-        flags &= d_borderFlags & ExcludeMaximum;
-    }
-    else if ( other.maxValue() > d_maxValue )
-    {
-        united.setMaxValue( other.maxValue() );
-        flags &= other.borderFlags() & ExcludeMaximum;
-    }
-    else // d_maxValue == other.maxValue() )
-    {
-        united.setMaxValue( d_maxValue );
-        flags &= d_borderFlags & other.borderFlags() & ExcludeMaximum;
-    }
-
-    united.setBorderFlags( flags );
-    return united;
-}
-
-/*! 
-  \brief Intersect 2 intervals
-  
-  \param other Interval to be intersect with
-  \return Intersection
- */
-QwtInterval QwtInterval::intersect( const QwtInterval &other ) const
-{
-    if ( !other.isValid() || !isValid() )
-        return QwtInterval();
-
-    QwtInterval i1 = *this;
-    QwtInterval i2 = other;
-
-    // swap i1/i2, so that the minimum of i1
-    // is smaller then the minimum of i2
-
-    if ( i1.minValue() > i2.minValue() )
-    {
-        qSwap( i1, i2 );
-    }
-    else if ( i1.minValue() == i2.minValue() )
-    {
-        if ( i1.borderFlags() & ExcludeMinimum )
-            qSwap( i1, i2 );
-    }
-
-    if ( i1.maxValue() < i2.minValue() )
-    {
-        return QwtInterval();
-    }
-
-    if ( i1.maxValue() == i2.minValue() )
-    {
-        if ( i1.borderFlags() & ExcludeMaximum ||
-            i2.borderFlags() & ExcludeMinimum )
-        {
-            return QwtInterval();
-        }
-    }
-
-    QwtInterval intersected;
-    BorderFlags flags = IncludeBorders;
-
-    intersected.setMinValue( i2.minValue() );
-    flags |= i2.borderFlags() & ExcludeMinimum;
-
-    if ( i1.maxValue() < i2.maxValue() )
-    {
-        intersected.setMaxValue( i1.maxValue() );
-        flags |= i1.borderFlags() & ExcludeMaximum;
-    }
-    else if ( i2.maxValue() < i1.maxValue() )
-    {
-        intersected.setMaxValue( i2.maxValue() );
-        flags |= i2.borderFlags() & ExcludeMaximum;
-    }
-    else // i1.maxValue() == i2.maxValue()
-    {
-        intersected.setMaxValue( i1.maxValue() );
-        flags |= i1.borderFlags() & i2.borderFlags() & ExcludeMaximum;
-    }
-
-    intersected.setBorderFlags( flags );
-    return intersected;
-}
-
-/*! 
-  \brief Unite this interval with the given interval.
-
-  \param other Interval to be united with
-  \return This interval
- */
-QwtInterval& QwtInterval::operator|=( const QwtInterval &other )
-{
-    *this = *this | other;
-    return *this;
-}
-
-/*! 
-  \brief Intersect this interval with the given interval.
-
-  \param other Interval to be intersected with
-  \return This interval
- */
-QwtInterval& QwtInterval::operator&=( const QwtInterval &other )
-{
-    *this = *this & other;
-    return *this;
-}
-
-/*!
-  \brief Test if two intervals overlap
-
-  \param other Interval
-  \return True, when the intervals are intersecting
-*/
-bool QwtInterval::intersects( const QwtInterval &other ) const
-{
-    if ( !isValid() || !other.isValid() )
-        return false;
-
-    QwtInterval i1 = *this;
-    QwtInterval i2 = other;
-
-    // swap i1/i2, so that the minimum of i1
-    // is smaller then the minimum of i2
-
-    if ( i1.minValue() > i2.minValue() )
-    {
-        qSwap( i1, i2 );
-    }
-    else if ( i1.minValue() == i2.minValue() &&
-              i1.borderFlags() & ExcludeMinimum )
-    {
-        qSwap( i1, i2 );
-    }
-
-    if ( i1.maxValue() > i2.minValue() )
-    {
-        return true;
-    }
-    if ( i1.maxValue() == i2.minValue() )
-    {
-        return !( ( i1.borderFlags() & ExcludeMaximum ) ||
-            ( i2.borderFlags() & ExcludeMinimum ) );
-    }
-    return false;
-}
-
-/*!
-  Adjust the limit that is closer to value, so that value becomes
-  the center of the interval.
-
-  \param value Center
-  \return Interval with value as center
-*/
-QwtInterval QwtInterval::symmetrize( double value ) const
-{
-    if ( !isValid() )
-        return *this;
-
-    const double delta =
-        qMax( qAbs( value - d_maxValue ), qAbs( value - d_minValue ) );
-
-    return QwtInterval( value - delta, value + delta );
-}
-
-/*!
-  Limit the interval, keeping the border modes
-
-  \param lowerBound Lower limit
-  \param upperBound Upper limit
-
-  \return Limited interval
-*/
-QwtInterval QwtInterval::limited( double lowerBound, double upperBound ) const
-{
-    if ( !isValid() || lowerBound > upperBound )
-        return QwtInterval();
-
-    double minValue = qMax( d_minValue, lowerBound );
-    minValue = qMin( minValue, upperBound );
-
-    double maxValue = qMax( d_maxValue, lowerBound );
-    maxValue = qMin( maxValue, upperBound );
-
-    return QwtInterval( minValue, maxValue, d_borderFlags );
-}
-
-/*!
-  \brief Extend the interval
-
-  If value is below minValue(), value becomes the lower limit.
-  If value is above maxValue(), value becomes the upper limit.
-
-  extend() has no effect for invalid intervals
-
-  \param value Value
-  \return extended interval
-
-  \sa isValid()
-*/
-QwtInterval QwtInterval::extend( double value ) const
-{
-    if ( !isValid() )
-        return *this;
-
-    return QwtInterval( qMin( value, d_minValue ),
-        qMax( value, d_maxValue ), d_borderFlags );
-}
-
-/*!
-  Extend an interval
-
-  \param value Value
-  \return Reference of the extended interval
-
-  \sa extend()
-*/
-QwtInterval& QwtInterval::operator|=( double value )
-{
-    *this = *this | value;
-    return *this;
-}
-
-#ifndef QT_NO_DEBUG_STREAM
-
-QDebug operator<<( QDebug debug, const QwtInterval &interval )
-{
-    const int flags = interval.borderFlags();
-
-    debug.nospace() << "QwtInterval("
-        << ( ( flags & QwtInterval::ExcludeMinimum ) ? "]" : "[" )
-        << interval.minValue() << "," << interval.maxValue()
-        << ( ( flags & QwtInterval::ExcludeMaximum ) ? "[" : "]" )
-        << ")";
-
-    return debug.space();
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_interval.h b/SRC/Qwt/src/qwt_interval.h
deleted file mode 100644
index b55e434..0000000
--- a/SRC/Qwt/src/qwt_interval.h
+++ /dev/null
@@ -1,320 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_INTERVAL_H
-#define QWT_INTERVAL_H
-
-#include "qwt_global.h"
-#include <qmetatype.h>
-
-#ifndef QT_NO_DEBUG_STREAM
-#include <qdebug.h>
-#endif
-
-/*!
-  \brief A class representing an interval
-
-  The interval is represented by 2 doubles, the lower and the upper limit.
-*/
-
-class QWT_EXPORT QwtInterval
-{
-public:
-    /*!
-      Flag indicating if a border is included or excluded 
-      \sa setBorderFlags(), borderFlags()
-    */
-    enum BorderFlag
-    {
-        //! Min/Max values are inside the interval
-        IncludeBorders = 0x00,
-
-        //! Min value is not included in the interval
-        ExcludeMinimum = 0x01,
-
-        //! Max value is not included in the interval
-        ExcludeMaximum = 0x02,
-
-        //! Min/Max values are not included in the interval
-        ExcludeBorders = ExcludeMinimum | ExcludeMaximum
-    };
-
-    //! Border flags
-    typedef QFlags<BorderFlag> BorderFlags;
-
-    QwtInterval();
-    QwtInterval( double minValue, double maxValue,
-        BorderFlags = IncludeBorders );
-
-    void setInterval( double minValue, double maxValue,
-        BorderFlags = IncludeBorders );
-
-    QwtInterval normalized() const;
-    QwtInterval inverted() const;
-    QwtInterval limited( double minValue, double maxValue ) const;
-
-    bool operator==( const QwtInterval & ) const;
-    bool operator!=( const QwtInterval & ) const;
-
-    void setBorderFlags( BorderFlags );
-    BorderFlags borderFlags() const;
-
-    double minValue() const;
-    double maxValue() const;
-
-    double width() const;
-
-    void setMinValue( double );
-    void setMaxValue( double );
-
-    bool contains( double value ) const;
-
-    bool intersects( const QwtInterval & ) const;
-    QwtInterval intersect( const QwtInterval & ) const;
-    QwtInterval unite( const QwtInterval & ) const;
-
-    QwtInterval operator|( const QwtInterval & ) const;
-    QwtInterval operator&( const QwtInterval & ) const;
-
-    QwtInterval &operator|=( const QwtInterval & );
-    QwtInterval &operator&=( const QwtInterval & );
-
-    QwtInterval extend( double value ) const;
-    QwtInterval operator|( double ) const;
-    QwtInterval &operator|=( double );
-
-    bool isValid() const;
-    bool isNull() const;
-    void invalidate();
-
-    QwtInterval symmetrize( double value ) const;
-
-private:
-    double d_minValue;
-    double d_maxValue;
-    BorderFlags d_borderFlags;
-};
-
-Q_DECLARE_TYPEINFO(QwtInterval, Q_MOVABLE_TYPE);
-
-/*!
-  \brief Default Constructor
-
-  Creates an invalid interval [0.0, -1.0]
-  \sa setInterval(), isValid()
-*/
-inline QwtInterval::QwtInterval():
-    d_minValue( 0.0 ),
-    d_maxValue( -1.0 ),
-    d_borderFlags( IncludeBorders )
-{
-}
-
-/*!
-   Constructor
-
-   Build an interval with from min/max values
-
-   \param minValue Minimum value
-   \param maxValue Maximum value
-   \param borderFlags Include/Exclude borders
-*/
-inline QwtInterval::QwtInterval(
-        double minValue, double maxValue, BorderFlags borderFlags ):
-    d_minValue( minValue ),
-    d_maxValue( maxValue ),
-    d_borderFlags( borderFlags )
-{
-}
-
-/*!
-   Assign the limits of the interval
-
-   \param minValue Minimum value
-   \param maxValue Maximum value
-   \param borderFlags Include/Exclude borders
-*/
-inline void QwtInterval::setInterval(
-    double minValue, double maxValue, BorderFlags borderFlags )
-{
-    d_minValue = minValue;
-    d_maxValue = maxValue;
-    d_borderFlags = borderFlags;
-}
-
-/*!
-   Change the border flags
-
-   \param borderFlags Or'd BorderMode flags
-   \sa borderFlags()
-*/
-inline void QwtInterval::setBorderFlags( BorderFlags borderFlags )
-{
-    d_borderFlags = borderFlags;
-}
-
-/*!
-   \return Border flags
-   \sa setBorderFlags()
-*/
-inline QwtInterval::BorderFlags QwtInterval::borderFlags() const
-{
-    return d_borderFlags;
-}
-
-/*!
-   Assign the lower limit of the interval
-
-   \param minValue Minimum value
-*/
-inline void QwtInterval::setMinValue( double minValue )
-{
-    d_minValue = minValue;
-}
-
-/*!
-   Assign the upper limit of the interval
-
-   \param maxValue Maximum value
-*/
-inline void QwtInterval::setMaxValue( double maxValue )
-{
-    d_maxValue = maxValue;
-}
-
-//! \return Lower limit of the interval
-inline double QwtInterval::minValue() const
-{
-    return d_minValue;
-}
-
-//! \return Upper limit of the interval
-inline double QwtInterval::maxValue() const
-{
-    return d_maxValue;
-}
-
-/*!
-   A interval is valid when minValue() <= maxValue().
-   In case of QwtInterval::ExcludeBorders it is true
-   when minValue() < maxValue()
-
-   \return True, when the interval is valid
-*/
-inline bool QwtInterval::isValid() const
-{
-    if ( ( d_borderFlags & ExcludeBorders ) == 0 )
-        return d_minValue <= d_maxValue;
-    else
-        return d_minValue < d_maxValue;
-}
-
-/*!
-   \brief Return the width of an interval
-
-   The width of invalid intervals is 0.0, otherwise the result is
-   maxValue() - minValue().
-
-   \return Interval width
-   \sa isValid()
-*/
-inline double QwtInterval::width() const
-{
-    return isValid() ? ( d_maxValue - d_minValue ) : 0.0;
-}
-
-/*!
-   \brief Intersection of two intervals
- 
-   \param other Interval to intersect with
-   \return Intersection of this and other
-
-   \sa intersect()
-*/
-inline QwtInterval QwtInterval::operator&(
-    const QwtInterval &other ) const
-{
-    return intersect( other );
-}
-
-/*!
-   Union of two intervals
-
-   \param other Interval to unite with
-   \return Union of this and other
-
-   \sa unite()
-*/
-inline QwtInterval QwtInterval::operator|(
-    const QwtInterval &other ) const
-{
-    return unite( other );
-}
-
-/*! 
-   \brief Compare two intervals
-
-   \param other Interval to compare with
-   \return True, when this and other are equal
-*/
-inline bool QwtInterval::operator==( const QwtInterval &other ) const
-{
-    return ( d_minValue == other.d_minValue ) &&
-           ( d_maxValue == other.d_maxValue ) &&
-           ( d_borderFlags == other.d_borderFlags );
-}
-/*! 
-   \brief Compare two intervals
-
-   \param other Interval to compare with
-   \return True, when this and other are not equal
-*/
-inline bool QwtInterval::operator!=( const QwtInterval &other ) const
-{
-    return ( !( *this == other ) );
-}
-
-/*!
-   Extend an interval
-
-   \param value Value
-   \return Extended interval
-   \sa extend()
-*/
-inline QwtInterval QwtInterval::operator|( double value ) const
-{
-    return extend( value );
-}
-
-//! \return true, if isValid() && (minValue() >= maxValue())
-inline bool QwtInterval::isNull() const
-{
-    return isValid() && d_minValue >= d_maxValue;
-}
-
-/*!
-  Invalidate the interval
-
-  The limits are set to interval [0.0, -1.0]
-  \sa isValid()
-*/
-inline void QwtInterval::invalidate()
-{
-    d_minValue = 0.0;
-    d_maxValue = -1.0;
-}
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtInterval::BorderFlags )
-Q_DECLARE_METATYPE( QwtInterval )
-
-#ifndef QT_NO_DEBUG_STREAM
-QWT_EXPORT QDebug operator<<( QDebug, const QwtInterval & );
-#endif
-
-#endif
diff --git a/SRC/Qwt/src/qwt_interval_symbol.cpp b/SRC/Qwt/src/qwt_interval_symbol.cpp
deleted file mode 100644
index 9b782cf..0000000
--- a/SRC/Qwt/src/qwt_interval_symbol.cpp
+++ /dev/null
@@ -1,319 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_interval_symbol.h"
-#include "qwt_painter.h"
-#include "qwt_math.h"
-#include <qpainter.h>
-
-#if QT_VERSION < 0x040601
-#define qAtan2(y, x) ::atan2(y, x)
-#define qFastSin(x) qSin(x)
-#define qFastCos(x) qCos(x)
-#endif
-
-class QwtIntervalSymbol::PrivateData
-{
-public:
-    PrivateData():
-        style( QwtIntervalSymbol::NoSymbol ),
-        width( 6 )
-    {
-    }
-
-    bool operator==( const PrivateData &other ) const
-    {
-        return ( style == other.style )
-            && ( width == other.width )
-            && ( brush == other.brush )
-            && ( pen == other.pen );
-    }
-
-    QwtIntervalSymbol::Style style;
-    int width;
-
-    QPen pen;
-    QBrush brush;
-};
-
-/*!
-  Constructor
-
-  \param style Style of the symbol
-  \sa setStyle(), style(), Style
-*/
-QwtIntervalSymbol::QwtIntervalSymbol( Style style )
-{
-    d_data = new PrivateData();
-    d_data->style = style;
-}
-
-//! Copy constructor
-QwtIntervalSymbol::QwtIntervalSymbol( const QwtIntervalSymbol &other )
-{
-    d_data = new PrivateData();
-    *d_data = *other.d_data;
-}
-
-//! Destructor
-QwtIntervalSymbol::~QwtIntervalSymbol()
-{
-    delete d_data;
-}
-
-//! \brief Assignment operator
-QwtIntervalSymbol &QwtIntervalSymbol::operator=( 
-    const QwtIntervalSymbol &other )
-{
-    *d_data = *other.d_data;
-    return *this;
-}
-
-//! \brief Compare two symbols
-bool QwtIntervalSymbol::operator==( 
-    const QwtIntervalSymbol &other ) const
-{
-    return *d_data == *other.d_data;
-}
-
-//! \brief Compare two symbols
-bool QwtIntervalSymbol::operator!=( 
-    const QwtIntervalSymbol &other ) const
-{
-    return !( *d_data == *other.d_data );
-}
-
-/*!
-  Specify the symbol style
-
-  \param style Style
-  \sa style(), Style
-*/
-void QwtIntervalSymbol::setStyle( Style style )
-{
-    d_data->style = style;
-}
-
-/*!
-  \return Current symbol style
-  \sa setStyle()
-*/
-QwtIntervalSymbol::Style QwtIntervalSymbol::style() const
-{
-    return d_data->style;
-}
-
-/*!
-  Specify the width of the symbol
-  It is used depending on the style.
-
-  \param width Width
-  \sa width(), setStyle()
-*/
-void QwtIntervalSymbol::setWidth( int width )
-{
-    d_data->width = width;
-}
-
-/*!
-  \return Width of the symbol.
-  \sa setWidth(), setStyle()
-*/
-int QwtIntervalSymbol::width() const
-{
-    return d_data->width;
-}
-
-/*!
-  \brief Assign a brush
-
-  The brush is used for the Box style.
-
-  \param brush Brush
-  \sa brush()
-*/
-void QwtIntervalSymbol::setBrush( const QBrush &brush )
-{
-    d_data->brush = brush;
-}
-
-/*!
-  \return Brush
-  \sa setBrush()
-*/
-const QBrush& QwtIntervalSymbol::brush() const
-{
-    return d_data->brush;
-}
-
-/*! 
-  Build and assign a pen
-    
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it
-  non cosmetic ( see QPen::isCosmetic() ). This method has been introduced
-  to hide this incompatibility.
-
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-    
-  \sa pen(), brush()
- */ 
-void QwtIntervalSymbol::setPen( const QColor &color, 
-    qreal width, Qt::PenStyle style )
-{   
-    setPen( QPen( color, width, style ) );
-}
-
-/*!
-  Assign a pen
-
-  \param pen Pen
-  \sa pen(), setBrush()
-*/
-void QwtIntervalSymbol::setPen( const QPen &pen )
-{
-    d_data->pen = pen;
-}
-
-/*!
-  \return Pen
-  \sa setPen(), brush()
-*/
-const QPen& QwtIntervalSymbol::pen() const
-{
-    return d_data->pen;
-}
-
-/*!
-  Draw a symbol depending on its style
-
-  \param painter Painter
-  \param orientation Orientation
-  \param from Start point of the interval in target device coordinates
-  \param to End point of the interval in target device coordinates
-
-  \sa setStyle()
-*/
-void QwtIntervalSymbol::draw( QPainter *painter, Qt::Orientation orientation,
-    const QPointF &from, const QPointF &to ) const
-{
-    const qreal pw = qMax( painter->pen().widthF(), qreal( 1.0 ) );
-
-    QPointF p1 = from;
-    QPointF p2 = to;
-    if ( QwtPainter::roundingAlignment( painter ) )
-    {
-        p1 = p1.toPoint();
-        p2 = p2.toPoint();
-    }
-
-    switch ( d_data->style )
-    {
-        case QwtIntervalSymbol::Bar:
-        {
-            QwtPainter::drawLine( painter, p1, p2 );
-            if ( d_data->width > pw )
-            {
-                if ( ( orientation == Qt::Horizontal ) 
-                    && ( p1.y() == p2.y() ) )
-                {
-                    const double sw = d_data->width;
-
-                    const double y = p1.y() - sw / 2;
-                    QwtPainter::drawLine( painter,
-                        p1.x(), y, p1.x(), y + sw );
-                    QwtPainter::drawLine( painter,
-                        p2.x(), y, p2.x(), y + sw );
-                }
-                else if ( ( orientation == Qt::Vertical ) 
-                    && ( p1.x() == p2.x() ) )
-                {
-                    const double sw = d_data->width;
-
-                    const double x = p1.x() - sw / 2;
-                    QwtPainter::drawLine( painter,
-                        x, p1.y(), x + sw, p1.y() );
-                    QwtPainter::drawLine( painter,
-                        x, p2.y(), x + sw, p2.y() );
-                }
-                else
-                {
-                    const double sw = d_data->width;
-
-                    const double dx = p2.x() - p1.x();
-                    const double dy = p2.y() - p1.y();
-                    const double angle = qAtan2( dy, dx ) + M_PI_2;
-                    double dw2 = sw / 2.0;
-
-                    const double cx = qFastCos( angle ) * dw2;
-                    const double sy = qFastSin( angle ) * dw2;
-
-                    QwtPainter::drawLine( painter,
-                        p1.x() - cx, p1.y() - sy,
-                        p1.x() + cx, p1.y() + sy );
-                    QwtPainter::drawLine( painter,
-                        p2.x() - cx, p2.y() - sy,
-                        p2.x() + cx, p2.y() + sy );
-                }
-            }
-            break;
-        }
-        case QwtIntervalSymbol::Box:
-        {
-            if ( d_data->width <= pw )
-            {
-                QwtPainter::drawLine( painter, p1, p2 );
-            }
-            else
-            {
-                if ( ( orientation == Qt::Horizontal ) 
-                    && ( p1.y() == p2.y() ) )
-                {
-                    const double sw = d_data->width;
-
-                    const double y = p1.y() - d_data->width / 2;
-                    QwtPainter::drawRect( painter,
-                        p1.x(), y, p2.x() - p1.x(),  sw );
-                }
-                else if ( ( orientation == Qt::Vertical )
-                    && ( p1.x() == p2.x() ) )
-                {
-                    const double sw = d_data->width;
-
-                    const double x = p1.x() - d_data->width / 2;
-                    QwtPainter::drawRect( painter,
-                        x, p1.y(), sw, p2.y() - p1.y() );
-                }
-                else
-                {
-                    const double sw = d_data->width;
-
-                    const double dx = p2.x() - p1.x();
-                    const double dy = p2.y() - p1.y();
-                    const double angle = qAtan2( dy, dx ) + M_PI_2;
-                    double dw2 = sw / 2.0;
-
-                    const double cx = qFastCos( angle ) * dw2;
-                    const double sy = qFastSin( angle ) * dw2;
-
-                    QPolygonF polygon;
-                    polygon += QPointF( p1.x() - cx, p1.y() - sy );
-                    polygon += QPointF( p1.x() + cx, p1.y() + sy );
-                    polygon += QPointF( p2.x() + cx, p2.y() + sy );
-                    polygon += QPointF( p2.x() - cx, p2.y() - sy );
-
-                    QwtPainter::drawPolygon( painter, polygon );
-                }
-            }
-            break;
-        }
-        default:;
-    }
-}
diff --git a/SRC/Qwt/src/qwt_interval_symbol.h b/SRC/Qwt/src/qwt_interval_symbol.h
deleted file mode 100644
index c233213..0000000
--- a/SRC/Qwt/src/qwt_interval_symbol.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_INTERVAL_SYMBOL_H
-#define QWT_INTERVAL_SYMBOL_H
-
-#include "qwt_global.h"
-#include <qpen.h>
-#include <qsize.h>
-
-class QPainter;
-class QRect;
-class QPointF;
-
-/*!
-  \brief A drawing primitive for displaying an interval like an error bar
-
-  \sa QwtPlotIntervalCurve
-*/
-class QWT_EXPORT QwtIntervalSymbol
-{
-public:
-    //! Symbol style
-    enum Style
-    {
-        //! No Style. The symbol cannot be drawn.
-        NoSymbol = -1,
-
-        /*!
-          The symbol displays a line with caps at the beginning/end.
-          The size of the caps depends on the symbol width().
-         */
-        Bar,
-
-        /*!
-          The symbol displays a plain rectangle using pen() and brush().
-          The size of the rectangle depends on the translated interval and
-          the width(),
-         */
-        Box,
-
-        /*!
-          Styles >= UserSymbol are reserved for derived
-          classes of QwtIntervalSymbol that overload draw() with
-          additional application specific symbol types.
-         */
-        UserSymbol = 1000
-    };
-
-public:
-    QwtIntervalSymbol( Style = NoSymbol );
-    QwtIntervalSymbol( const QwtIntervalSymbol & );
-    virtual ~QwtIntervalSymbol();
-
-    QwtIntervalSymbol &operator=( const QwtIntervalSymbol & );
-    bool operator==( const QwtIntervalSymbol & ) const;
-    bool operator!=( const QwtIntervalSymbol & ) const;
-
-    void setWidth( int );
-    int width() const;
-
-    void setBrush( const QBrush& b );
-    const QBrush& brush() const;
-
-    void setPen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setPen( const QPen & );
-    const QPen& pen() const;
-
-    void setStyle( Style );
-    Style style() const;
-
-    virtual void draw( QPainter *, Qt::Orientation,
-        const QPointF& from, const QPointF& to ) const;
-
-private:
-
-    class PrivateData;
-    PrivateData* d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_knob.cpp b/SRC/Qwt/src/qwt_knob.cpp
deleted file mode 100644
index f9bde9a..0000000
--- a/SRC/Qwt/src/qwt_knob.cpp
+++ /dev/null
@@ -1,855 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_knob.h"
-#include "qwt_round_scale_draw.h"
-#include "qwt_math.h"
-#include "qwt_painter.h"
-#include "qwt_scale_map.h"
-#include <qpainter.h>
-#include <qpalette.h>
-#include <qstyle.h>
-#include <qstyleoption.h>
-#include <qevent.h>
-#include <qmath.h>
-#include <qapplication.h>
-
-#if QT_VERSION < 0x040601
-#define qAtan2(y, x) ::atan2(y, x)
-#define qFabs(x) ::fabs(x)
-#define qFastCos(x) qCos(x)
-#define qFastSin(x) qSin(x)
-#endif
-
-static QSize qwtKnobSizeHint( const QwtKnob *knob, int min )
-{
-    int knobWidth = knob->knobWidth();
-    if ( knobWidth <= 0 )
-        knobWidth = qMax( 3 * knob->markerSize(), min );
-
-    // Add the scale radial thickness to the knobWidth
-    const int extent = qCeil( knob->scaleDraw()->extent( knob->font() ) );
-    const int d = 2 * ( extent + 4 ) + knobWidth;
-
-    int left, right, top, bottom;
-    knob->getContentsMargins( &left, &top, &right, &bottom );
-
-    return QSize( d + left + right, d + top + bottom );
-}
-
-static inline double qwtToScaleAngle( double angle )
-{
-    // the map is counter clockwise with the origin
-    // at 90° using angles from -180° -> 180°
-
-    double a = 90.0 - angle;
-    if ( a <= -180.0 )
-        a += 360.0;
-    else if ( a >= 180.0 )
-        a -= 360.0;
-
-    return a;
-}
-
-static double qwtToDegrees( double value )
-{
-    return qwtNormalizeDegrees( 90.0 - value );
-}
-
-class QwtKnob::PrivateData
-{
-public:
-    PrivateData():
-        knobStyle( QwtKnob::Raised ),
-        markerStyle( QwtKnob::Notch ),
-        borderWidth( 2 ),
-        borderDist( 4 ),
-        scaleDist( 4 ),
-        maxScaleTicks( 11 ),
-        knobWidth( 0 ),
-        alignment( Qt::AlignCenter ),
-        markerSize( 8 ),
-        totalAngle( 270.0 ),
-        mouseOffset( 0.0 )
-    {
-    }
-
-    QwtKnob::KnobStyle knobStyle;
-    QwtKnob::MarkerStyle markerStyle;
-
-    int borderWidth;
-    int borderDist;
-    int scaleDist;
-    int maxScaleTicks;
-    int knobWidth;
-    Qt::Alignment alignment;
-    int markerSize;
-
-    double totalAngle;
-
-    double mouseOffset;
-};
-
-/*!
-  \brief Constructor
-
-  Construct a knob with an angle of 270°. The style is
-  QwtKnob::Raised and the marker style is QwtKnob::Notch.
-  The width of the knob is set to 50 pixels.
-
-  \param parent Parent widget
-
-  \sa setTotalAngle()
-*/
-QwtKnob::QwtKnob( QWidget* parent ):
-    QwtAbstractSlider( parent )
-{
-    d_data = new PrivateData;
-
-    setScaleDraw( new QwtRoundScaleDraw() );
-
-    setTotalAngle( 270.0 );
-
-    setScale( 0.0, 10.0 );
-    setValue( 0.0 );
-
-    setSizePolicy( QSizePolicy::MinimumExpanding, 
-        QSizePolicy::MinimumExpanding );
-}
-
-//! Destructor
-QwtKnob::~QwtKnob()
-{
-    delete d_data;
-}
-
-/*!
-  \brief Set the knob type 
-
-  \param knobStyle Knob type
-  \sa knobStyle(), setBorderWidth()
-*/
-void QwtKnob::setKnobStyle( KnobStyle knobStyle )
-{
-    if ( d_data->knobStyle != knobStyle )
-    {
-        d_data->knobStyle = knobStyle;
-        update();
-    }
-}
-
-/*!
-    \return Marker type of the knob
-    \sa setKnobStyle(), setBorderWidth()
-*/
-QwtKnob::KnobStyle QwtKnob::knobStyle() const
-{
-    return d_data->knobStyle;
-}
-
-/*!
-  \brief Set the marker type of the knob
-
-  \param markerStyle Marker type
-  \sa markerStyle(), setMarkerSize()
-*/
-void QwtKnob::setMarkerStyle( MarkerStyle markerStyle )
-{
-    if ( d_data->markerStyle != markerStyle )
-    {
-        d_data->markerStyle = markerStyle;
-        update();
-    }
-}
-
-/*!
-  \return Marker type of the knob
-  \sa setMarkerStyle(), setMarkerSize()
-*/
-QwtKnob::MarkerStyle QwtKnob::markerStyle() const
-{
-    return d_data->markerStyle;
-}
-
-/*!
-  \brief Set the total angle by which the knob can be turned
-  \param angle Angle in degrees.
-
-  The angle has to be between [10, 360] degrees. Angles above
-  360 ( so that the knob can be turned several times around its axis )
-  have to be set using setNumTurns().
-
-  The default angle is 270 degrees. 
-
-  \sa totalAngle(), setNumTurns()
-*/
-void QwtKnob::setTotalAngle ( double angle )
-{
-    angle = qBound( 10.0, angle, 360.0 );
-
-    if ( angle != d_data->totalAngle )
-    {
-        d_data->totalAngle = angle;
-
-        scaleDraw()->setAngleRange( -0.5 * d_data->totalAngle,
-            0.5 * d_data->totalAngle );
-
-        updateGeometry();
-        update();
-    }
-}
-
-/*! 
-  \return the total angle
-  \sa setTotalAngle(), setNumTurns(), numTurns()
- */
-double QwtKnob::totalAngle() const
-{
-    return d_data->totalAngle;
-}
-
-/*!
-  \brief Set the number of turns
-
-  When numTurns > 1 the knob can be turned several times around its axis
-  - otherwise the total angle is floored to 360°.
-
-  \sa numTurns(), totalAngle(), setTotalAngle()
-*/
-  
-void QwtKnob::setNumTurns( int numTurns )
-{
-    numTurns = qMax( numTurns, 1 );
-
-    if ( numTurns == 1 && d_data->totalAngle <= 360.0 )
-        return;
-
-    const double angle = numTurns * 360.0;
-    if ( angle != d_data->totalAngle )
-    {
-        d_data->totalAngle = angle;
-
-        scaleDraw()->setAngleRange( -0.5 * d_data->totalAngle,
-            0.5 * d_data->totalAngle );
-
-        updateGeometry();
-        update();
-    }
-}
-
-/*!
-  \return Number of turns. 
-
-  When the total angle is below 360° numTurns() is ceiled to 1.
-  \sa setNumTurns(), setTotalAngle(), totalAngle()
- */
-int QwtKnob::numTurns() const
-{
-    return qCeil( d_data->totalAngle / 360.0 );
-}
-
-/*!
-   Change the scale draw of the knob
-
-   For changing the labels of the scales, it
-   is necessary to derive from QwtRoundScaleDraw and
-   overload QwtRoundScaleDraw::label().
-
-   \sa scaleDraw()
-*/
-void QwtKnob::setScaleDraw( QwtRoundScaleDraw *scaleDraw )
-{
-    setAbstractScaleDraw( scaleDraw );
-    setTotalAngle( d_data->totalAngle );
-
-    updateGeometry();
-    update();
-}
-
-/*!
-   \return the scale draw of the knob
-   \sa setScaleDraw()
-*/
-const QwtRoundScaleDraw *QwtKnob::scaleDraw() const
-{
-    return static_cast<const QwtRoundScaleDraw *>( abstractScaleDraw() );
-}
-
-/*!
-   \return the scale draw of the knob
-   \sa setScaleDraw()
-*/
-QwtRoundScaleDraw *QwtKnob::scaleDraw()
-{
-    return static_cast<QwtRoundScaleDraw *>( abstractScaleDraw() );
-}
-
-/*!
-  Calculate the bounding rectangle of the knob without the scale
-
-  \return Bounding rectangle of the knob
-  \sa knobWidth(), alignment(), QWidget::contentsRect()
- */
-QRect QwtKnob::knobRect() const
-{
-    const QRect cr = contentsRect();
-
-    const int extent = qCeil( scaleDraw()->extent( font() ) );
-    const int d = extent + d_data->scaleDist;
-
-    int w = d_data->knobWidth;
-    if ( w <= 0 )
-    {
-        const int dim = qMin( cr.width(), cr.height() );
-
-        w = dim - 2 * ( d );
-        w = qMax( 0, w );
-    }
-
-    QRect r( 0, 0, w, w );
-
-    if ( d_data->alignment & Qt::AlignLeft )
-    {
-        r.moveLeft( cr.left() + d );
-    }
-    else if ( d_data->alignment & Qt::AlignRight )
-    {
-        r.moveRight( cr.right() - d );
-    }
-    else
-    {
-        r.moveCenter( QPoint( cr.center().x(), r.center().y() ) );
-    }
-
-    if ( d_data->alignment & Qt::AlignTop )
-    {
-        r.moveTop( cr.top() + d );
-    }
-    else if ( d_data->alignment & Qt::AlignBottom )
-    {
-        r.moveBottom( cr.bottom() - d );
-    }
-    else 
-    {
-        r.moveCenter( QPoint( r.center().x(), cr.center().y() ) );
-    }
-
-    return r;
-}
-
-/*!
-  \brief Determine what to do when the user presses a mouse button.
-
-  \param pos Mouse position
-
-  \retval True, when pos is inside the circle of the knob.
-  \sa scrolledTo()
-*/
-bool QwtKnob::isScrollPosition( const QPoint &pos ) const
-{
-    const QRect kr = knobRect();
-
-    const QRegion region( kr, QRegion::Ellipse );
-    if ( region.contains( pos ) && ( pos != kr.center() ) )
-    {
-        const double angle = QLineF( kr.center(), pos ).angle();
-        const double valueAngle = qwtToDegrees( scaleMap().transform( value() ) );
-
-        d_data->mouseOffset = qwtNormalizeDegrees( angle - valueAngle );
-
-        return true;
-    }
-
-    return false;
-}
-
-/*!
-  \brief Determine the value for a new position of the mouse
-
-  \param pos Mouse position
-
-  \return Value for the mouse position
-  \sa isScrollPosition()
-*/
-double QwtKnob::scrolledTo( const QPoint &pos ) const
-{
-    double angle = QLineF( rect().center(), pos ).angle();
-    angle = qwtNormalizeDegrees( angle - d_data->mouseOffset );
-
-    if ( scaleMap().pDist() > 360.0 )
-    {
-        angle = qwtToDegrees( angle );
-
-        const double v = scaleMap().transform( value() );
-
-        int numTurns = qFloor( ( v - scaleMap().p1() ) / 360.0 );
-
-        double valueAngle = qwtNormalizeDegrees( v );
-        if ( qAbs( valueAngle - angle ) > 180.0 )
-        {
-            numTurns += ( angle > valueAngle ) ? -1 : 1;
-        }
-
-        angle += scaleMap().p1() + numTurns * 360.0;
-
-        if ( !wrapping() )
-        {
-            const double boundedAngle = 
-                qBound( scaleMap().p1(), angle, scaleMap().p2() );
-
-            d_data->mouseOffset += ( boundedAngle - angle );
-            angle = boundedAngle;
-        }
-    }
-    else
-    {
-        angle = qwtToScaleAngle( angle );
-
-        double boundedAngle = qBound( scaleMap().p1(), angle, scaleMap().p2() );
-
-        if ( !wrapping() )
-        {
-            const double currentAngle = scaleMap().transform( value() );
-
-            if ( ( currentAngle > 90.0 ) && ( boundedAngle < -90.0 ) )
-                boundedAngle = scaleMap().p2();
-            else if ( ( currentAngle < -90.0 ) && ( boundedAngle > 90.0 ) )
-                boundedAngle = scaleMap().p1();
-
-            d_data->mouseOffset += ( boundedAngle - angle );
-        }
-
-        angle = boundedAngle;
-    }
-
-    return scaleMap().invTransform( angle );
-}
-
-/*! 
-  Handle QEvent::StyleChange and QEvent::FontChange;
-  \param event Change event
-*/
-void QwtKnob::changeEvent( QEvent *event )
-{
-    switch( event->type() )
-    {
-        case QEvent::StyleChange:
-        case QEvent::FontChange:
-        {
-            updateGeometry();
-            update();
-            break;
-        }
-        default:
-            break;
-    }
-}
-
-/*!
-  Repaint the knob
-  \param event Paint event
-*/
-void QwtKnob::paintEvent( QPaintEvent *event )
-{
-    const QRectF knobRect = this->knobRect();
-
-    QPainter painter( this );
-    painter.setClipRegion( event->region() );
-
-    QStyleOption opt;
-    opt.init(this);
-    style()->drawPrimitive(QStyle::PE_Widget, &opt, &painter, this);
-
-    painter.setRenderHint( QPainter::Antialiasing, true );
-
-    if ( !knobRect.contains( event->region().boundingRect() ) )
-    {
-        scaleDraw()->setRadius( 0.5 * knobRect.width() + d_data->scaleDist );
-        scaleDraw()->moveCenter( knobRect.center() );
-
-        scaleDraw()->draw( &painter, palette() );
-    }
-
-    drawKnob( &painter, knobRect );
-
-    drawMarker( &painter, knobRect, 
-        qwtNormalizeDegrees( scaleMap().transform( value() ) ) );
-
-    painter.setRenderHint( QPainter::Antialiasing, false );
-
-    if ( hasFocus() )
-        drawFocusIndicator( &painter );
-}
-
-/*!
-  \brief Draw the knob
-
-  \param painter painter
-  \param knobRect Bounding rectangle of the knob (without scale)
-*/
-void QwtKnob::drawKnob( QPainter *painter, const QRectF &knobRect ) const
-{
-    double dim = qMin( knobRect.width(), knobRect.height() );
-    dim -= d_data->borderWidth * 0.5;
-
-    QRectF aRect( 0, 0, dim, dim );
-    aRect.moveCenter( knobRect.center() );
-
-    QPen pen( Qt::NoPen );
-    if ( d_data->borderWidth > 0 )
-    {
-        QColor c1 = palette().color( QPalette::Light );
-        QColor c2 = palette().color( QPalette::Dark );
-
-        QLinearGradient gradient( aRect.topLeft(), aRect.bottomRight() );
-        gradient.setColorAt( 0.0, c1 );
-        gradient.setColorAt( 0.3, c1 );
-        gradient.setColorAt( 0.7, c2 );
-        gradient.setColorAt( 1.0, c2 );
-
-        pen = QPen( gradient, d_data->borderWidth ); 
-    }
-
-    QBrush brush;
-    switch( d_data->knobStyle )
-    {
-        case QwtKnob::Raised:
-        {
-            double off = 0.3 * knobRect.width();
-            QRadialGradient gradient( knobRect.center(),
-                knobRect.width(), knobRect.topLeft() + QPointF( off, off ) );
-            
-            gradient.setColorAt( 0.0, palette().color( QPalette::Midlight ) );
-            gradient.setColorAt( 1.0, palette().color( QPalette::Button ) );
-
-            brush = QBrush( gradient );
-
-            break;
-        }
-        case QwtKnob::Styled:
-        {
-            QRadialGradient gradient(knobRect.center().x() - knobRect.width() / 3,
-                knobRect.center().y() - knobRect.height() / 2,
-                knobRect.width() * 1.3,
-                knobRect.center().x(),
-                knobRect.center().y() - knobRect.height() / 2);
-
-            const QColor c = palette().color( QPalette::Button );
-            gradient.setColorAt(0, c.lighter(110));
-            gradient.setColorAt(qreal(0.5), c);
-            gradient.setColorAt(qreal(0.501), c.darker(102));
-            gradient.setColorAt(1, c.darker(115));
-
-            brush = QBrush( gradient );
-
-            break;
-        }
-        case QwtKnob::Sunken:
-        {
-            QLinearGradient gradient( 
-                knobRect.topLeft(), knobRect.bottomRight() );
-            gradient.setColorAt( 0.0, palette().color( QPalette::Mid ) );
-            gradient.setColorAt( 0.5, palette().color( QPalette::Button ) );
-            gradient.setColorAt( 1.0, palette().color( QPalette::Midlight ) );
-            brush = QBrush( gradient );
-
-            break;
-        }
-        case QwtKnob::Flat:
-        default:
-            brush = palette().brush( QPalette::Button );
-    }
-
-    painter->setPen( pen );
-    painter->setBrush( brush );
-    painter->drawEllipse( aRect );
-}
-
-
-/*!
-  \brief Draw the marker at the knob's front
-
-  \param painter Painter
-  \param rect Bounding rectangle of the knob without scale
-  \param angle Angle of the marker in degrees 
-               ( clockwise, 0 at the 12 o'clock position )
-*/
-void QwtKnob::drawMarker( QPainter *painter, 
-    const QRectF &rect, double angle ) const
-{
-    if ( d_data->markerStyle == NoMarker || !isValid() )
-        return;
-
-    const double radians = qwtRadians( angle );
-    const double sinA = -qFastSin( radians );
-    const double cosA = qFastCos( radians );
-
-    const double xm = rect.center().x();
-    const double ym = rect.center().y();
-    const double margin = 4.0;
-
-    double radius = 0.5 * ( rect.width() - d_data->borderWidth ) - margin;
-    if ( radius < 1.0 )
-        radius = 1.0;
-
-    int markerSize = d_data->markerSize;
-    if ( markerSize <= 0 )
-        markerSize = qRound( 0.4 * radius );
-
-    switch ( d_data->markerStyle )
-    {
-        case Notch:
-        case Nub:
-        {
-            const double dotWidth = 
-                qMin( double( markerSize ), radius);
-
-            const double dotCenterDist = radius - 0.5 * dotWidth;
-            if ( dotCenterDist > 0.0 )
-            {
-                const QPointF center( xm - sinA * dotCenterDist, 
-                    ym - cosA * dotCenterDist );
-
-                QRectF ellipse( 0.0, 0.0, dotWidth, dotWidth );
-                ellipse.moveCenter( center );
-
-                QColor c1 = palette().color( QPalette::Light );
-                QColor c2 = palette().color( QPalette::Mid );
-
-                if ( d_data->markerStyle == Notch )
-                    qSwap( c1, c2 );
-
-                QLinearGradient gradient( 
-                    ellipse.topLeft(), ellipse.bottomRight() );
-                gradient.setColorAt( 0.0, c1 );
-                gradient.setColorAt( 1.0, c2 );
-
-                painter->setPen( Qt::NoPen );
-                painter->setBrush( gradient );
-
-                painter->drawEllipse( ellipse );
-            }
-            break;
-        }
-        case Dot:
-        {
-            const double dotWidth = 
-                qMin( double( markerSize ), radius);
-
-            const double dotCenterDist = radius - 0.5 * dotWidth;
-            if ( dotCenterDist > 0.0 )
-            {
-                const QPointF center( xm - sinA * dotCenterDist, 
-                    ym - cosA * dotCenterDist );
-
-                QRectF ellipse( 0.0, 0.0, dotWidth, dotWidth );
-                ellipse.moveCenter( center );
-
-                painter->setPen( Qt::NoPen );
-                painter->setBrush( palette().color( QPalette::ButtonText ) );
-                painter->drawEllipse( ellipse );
-            }
-
-            break;
-        }
-        case Tick:
-        {
-            const double rb = qMax( radius - markerSize, 1.0 );
-            const double re = radius;
-
-            const QLineF line( xm - sinA * rb, ym - cosA * rb,
-                xm - sinA * re, ym - cosA * re );
-
-            QPen pen( palette().color( QPalette::ButtonText ), 0 );
-            pen.setCapStyle( Qt::FlatCap );
-            painter->setPen( pen );
-            painter->drawLine ( line );
-
-            break;
-        }
-        case Triangle:
-        {
-            const double rb = qMax( radius - markerSize, 1.0 );
-            const double re = radius;
-
-            painter->translate( rect.center() );
-            painter->rotate( angle - 90.0 );
-            
-            QPolygonF polygon;
-            polygon += QPointF( re, 0.0 );
-            polygon += QPointF( rb, 0.5 * ( re - rb ) );
-            polygon += QPointF( rb, -0.5 * ( re - rb ) );
-
-            painter->setPen( Qt::NoPen );
-            painter->setBrush( palette().color( QPalette::ButtonText ) );
-            painter->drawPolygon( polygon );
-
-            painter->resetTransform();
-
-            break;
-        }
-        default:
-            break;
-    }
-}
-
-/*!
-  Draw the focus indicator
-  \param painter Painter
-*/
-void QwtKnob::drawFocusIndicator( QPainter *painter ) const
-{       
-    const QRect cr = contentsRect();
-
-    int w = d_data->knobWidth;
-    if ( w <= 0 )
-    {
-        w = qMin( cr.width(), cr.height() );
-    }
-    else
-    {
-        const int extent = qCeil( scaleDraw()->extent( font() ) );
-        w += 2 * ( extent + d_data->scaleDist );
-    }
-
-    QRect focusRect( 0, 0, w, w );
-    focusRect.moveCenter( cr.center() );
-
-    QwtPainter::drawFocusRect( painter, this, focusRect );
-}  
-
-/*!
-  \brief Set the alignment of the knob
-
-  Similar to a QLabel::alignment() the flags decide how
-  to align the knob inside of contentsRect(). 
-
-  The default setting is Qt::AlignCenter
-
-  \param alignment Or'd alignment flags
-
-  \sa alignment(), setKnobWidth(), knobRect()
- */
-void QwtKnob::setAlignment( Qt::Alignment alignment )
-{
-    if ( d_data->alignment != alignment )
-    {
-        d_data->alignment = alignment;
-        update();
-    }
-}
-
-/*!
-  \return Alignment of the knob inside of contentsRect()
-  \sa setAlignment(), knobWidth(), knobRect()
- */
-Qt::Alignment QwtKnob::alignment() const
-{
-    return d_data->alignment;
-}
-
-/*!
-  \brief Change the knob's width.
-
-  Setting a fixed value for the diameter of the knob 
-  is helpful for aligning several knobs in a row.
-
-  \param width New width
-
-  \sa knobWidth(), setAlignment()
-  \note Modifies the sizePolicy() 
-*/
-void QwtKnob::setKnobWidth( int width )
-{
-    width = qMax( width, 0 );
-
-    if ( width != d_data->knobWidth )
-    {
-        QSizePolicy::Policy policy;
-        if ( width > 0 )
-            policy = QSizePolicy::Minimum;
-        else
-            policy = QSizePolicy::MinimumExpanding;
-
-        setSizePolicy( policy, policy );
-
-        d_data->knobWidth = width;
-
-        updateGeometry();
-        update();
-    }
-}
-
-//! Return the width of the knob
-int QwtKnob::knobWidth() const
-{
-    return d_data->knobWidth;
-}
-
-/*!
-  \brief Set the knob's border width
-  \param borderWidth new border width
-*/
-void QwtKnob::setBorderWidth( int borderWidth )
-{
-    d_data->borderWidth = qMax( borderWidth, 0 );
-
-    updateGeometry();
-    update();
-}
-
-//! Return the border width
-int QwtKnob::borderWidth() const
-{
-    return d_data->borderWidth;
-}
-
-/*!
-  \brief Set the size of the marker
-
-  When setting a size <= 0 the marker will
-  automatically scaled to 40% of the radius of the knob.
-
-  \sa markerSize(), markerStyle()
-*/
-void QwtKnob::setMarkerSize( int size )
-{
-    if ( d_data->markerSize != size )
-    {
-        d_data->markerSize = size;
-        update();
-    }
-}
-
-/*! 
-  \return Marker size
-  \sa setMarkerSize()
- */
-int QwtKnob::markerSize() const
-{
-    return d_data->markerSize;
-}
-
-/*!
-  \return sizeHint()
-*/
-QSize QwtKnob::sizeHint() const
-{
-    const QSize hint = qwtKnobSizeHint( this, 50 );
-    return hint.expandedTo( QApplication::globalStrut() );
-}
-
-/*!
-  \return Minimum size hint
-  \sa sizeHint()
-*/
-QSize QwtKnob::minimumSizeHint() const
-{
-    return qwtKnobSizeHint( this, 20 );
-}
diff --git a/SRC/Qwt/src/qwt_knob.h b/SRC/Qwt/src/qwt_knob.h
deleted file mode 100644
index 8a6f5c4..0000000
--- a/SRC/Qwt/src/qwt_knob.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_KNOB_H
-#define QWT_KNOB_H
-
-#include "qwt_global.h"
-#include "qwt_abstract_slider.h"
-
-class QwtRoundScaleDraw;
-
-/*!
-  \brief The Knob Widget
-
-  The QwtKnob widget imitates look and behavior of a volume knob on a radio.
-  It looks similar to QDial - not to QwtDial.
-
-  The value range of a knob might be divided into several turns.
-
-  The layout of the knob depends on the knobWidth().
-
-  - width > 0 
-    The diameter of the knob is fixed and the knob is aligned
-    according to the alignment() flags inside of the contentsRect(). 
-
-  - width <= 0
-    The knob is extended to the minimum of width/height of the contentsRect()
-    and aligned in the other direction according to alignment().
-
-  Setting a fixed knobWidth() is helpful to align several knobs with different
-  scale labels.
-  
-  \image html knob.png
-*/
-
-class QWT_EXPORT QwtKnob: public QwtAbstractSlider
-{
-    Q_OBJECT
-
-    Q_ENUMS ( KnobStyle MarkerStyle )
-
-    Q_PROPERTY( KnobStyle knobStyle READ knobStyle WRITE setKnobStyle )
-    Q_PROPERTY( int knobWidth READ knobWidth WRITE setKnobWidth )
-    Q_PROPERTY( Qt::Alignment alignment READ alignment WRITE setAlignment )
-    Q_PROPERTY( double totalAngle READ totalAngle WRITE setTotalAngle )
-    Q_PROPERTY( int numTurns READ numTurns WRITE setNumTurns )
-    Q_PROPERTY( MarkerStyle markerStyle READ markerStyle WRITE setMarkerStyle )
-    Q_PROPERTY( int markerSize READ markerSize WRITE setMarkerSize )
-    Q_PROPERTY( int borderWidth READ borderWidth WRITE setBorderWidth )
-
-public:
-    /*! 
-       \brief Style of the knob surface
-
-       Depending on the KnobStyle the surface of the knob is
-       filled from the brushes of the widget palette().
-
-       \sa setKnobStyle(), knobStyle()
-     */
-    enum KnobStyle
-    {
-        //! Fill the knob with a brush from QPalette::Button.
-        Flat,
-
-        //! Build a gradient from QPalette::Midlight and QPalette::Button
-        Raised,
-
-        /*! 
-          Build a gradient from QPalette::Midlight, QPalette::Button
-          and QPalette::Midlight
-         */
-        Sunken,
-
-        /*! 
-          Build a radial gradient from QPalette::Button
-          like it is used for QDial in various Qt styles.
-         */
-        Styled
-    };
-
-    /*!
-        \brief Marker type
- 
-        The marker indicates the current value on the knob
-        The default setting is a Notch marker.
-
-        \sa setMarkerStyle(), setMarkerSize()
-    */
-    enum MarkerStyle 
-    { 
-        //! Don't paint any marker
-        NoMarker = -1,
-
-        //! Paint a single tick in QPalette::ButtonText color
-        Tick, 
-
-        //! Paint a triangle in QPalette::ButtonText color
-        Triangle, 
-
-        //! Paint a circle in QPalette::ButtonText color
-        Dot, 
-
-        /*! 
-          Draw a raised ellipse with a gradient build from
-          QPalette::Light and QPalette::Mid
-         */ 
-        Nub, 
-
-        /*! 
-          Draw a sunken ellipse with a gradient build from
-          QPalette::Light and QPalette::Mid
-         */ 
-        Notch 
-    };
-
-    explicit QwtKnob( QWidget* parent = NULL );
-    virtual ~QwtKnob();
-
-    void setAlignment( Qt::Alignment );
-    Qt::Alignment alignment() const;
-
-    void setKnobWidth( int );
-    int knobWidth() const;
-
-    void setNumTurns( int );
-    int numTurns() const;
-
-    void setTotalAngle ( double angle );
-    double totalAngle() const;
-
-    void setKnobStyle( KnobStyle );
-    KnobStyle knobStyle() const;
-
-    void setBorderWidth( int bw );
-    int borderWidth() const;
-
-    void setMarkerStyle( MarkerStyle );
-    MarkerStyle markerStyle() const;
-
-    void setMarkerSize( int );
-    int markerSize() const;
-
-    virtual QSize sizeHint() const;
-    virtual QSize minimumSizeHint() const;
-
-    void setScaleDraw( QwtRoundScaleDraw * );
-
-    const QwtRoundScaleDraw *scaleDraw() const;
-    QwtRoundScaleDraw *scaleDraw();
-
-    QRect knobRect() const;
-
-protected:
-    virtual void paintEvent( QPaintEvent * );
-    virtual void changeEvent( QEvent * );
-
-    virtual void drawKnob( QPainter *, const QRectF & ) const;
-
-    virtual void drawFocusIndicator( QPainter * ) const;
-
-    virtual void drawMarker( QPainter *, 
-        const QRectF &, double arc ) const;
-
-    virtual double scrolledTo( const QPoint & ) const;
-    virtual bool isScrollPosition( const QPoint & ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_legend.cpp b/SRC/Qwt/src/qwt_legend.cpp
deleted file mode 100644
index afb3597..0000000
--- a/SRC/Qwt/src/qwt_legend.cpp
+++ /dev/null
@@ -1,811 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_legend.h"
-#include "qwt_legend_label.h"
-#include "qwt_dyngrid_layout.h"
-#include "qwt_math.h"
-#include "qwt_plot_item.h"
-#include "qwt_painter.h"
-#include <qapplication.h>
-#include <qscrollbar.h>
-#include <qscrollarea.h>
-#include <qpainter.h>
-#include <qstyle.h>
-#include <qstyleoption.h>
-
-class QwtLegendMap
-{
-public:
-    inline bool isEmpty() const { return d_entries.isEmpty(); }
-
-    void insert( const QVariant &, const QList<QWidget *> & );
-    void remove( const QVariant & );
-
-    void removeWidget( const QWidget * );
-
-    QList<QWidget *> legendWidgets( const QVariant & ) const;
-    QVariant itemInfo( const QWidget * ) const;
-
-private:
-    // we don't know anything about itemInfo and therefore don't have
-    // any key that can be used for a map or hashtab.
-    // But a simple linear list is o.k. here, as we will never have
-    // more than a few entries.
-
-    class Entry
-    {
-    public:
-        QVariant itemInfo;
-        QList<QWidget *> widgets;
-    };
-
-    QList< Entry > d_entries;
-};
-
-void QwtLegendMap::insert( const QVariant &itemInfo, 
-    const QList<QWidget *> &widgets )
-{
-    for ( int i = 0; i < d_entries.size(); i++ )
-    {
-        Entry &entry = d_entries[i];
-        if ( entry.itemInfo == itemInfo )
-        {
-            entry.widgets = widgets;
-            return;
-        }
-    }
-
-    Entry newEntry;
-    newEntry.itemInfo = itemInfo;
-    newEntry.widgets = widgets;
-
-    d_entries += newEntry;
-}
-
-void QwtLegendMap::remove( const QVariant &itemInfo )
-{
-    for ( int i = 0; i < d_entries.size(); i++ )
-    {
-        Entry &entry = d_entries[i];
-        if ( entry.itemInfo == itemInfo )
-        {
-            d_entries.removeAt( i );
-            return;
-        }
-    }
-}
-
-void QwtLegendMap::removeWidget( const QWidget *widget )
-{
-    QWidget *w = const_cast<QWidget *>( widget );
-
-    for ( int i = 0; i < d_entries.size(); i++ )
-        d_entries[ i ].widgets.removeAll( w );
-}
-
-QVariant QwtLegendMap::itemInfo( const QWidget *widget ) const
-{
-    if ( widget != NULL )
-    {
-        QWidget *w = const_cast<QWidget *>( widget );
-
-        for ( int i = 0; i < d_entries.size(); i++ )
-        {
-            const Entry &entry = d_entries[i];
-            if ( entry.widgets.indexOf( w ) >= 0 )
-                return entry.itemInfo;
-        }
-    }
-
-    return QVariant();
-}
-
-QList<QWidget *> QwtLegendMap::legendWidgets( const QVariant &itemInfo ) const
-{
-    if ( itemInfo.isValid() )
-    {
-        for ( int i = 0; i < d_entries.size(); i++ )
-        {
-            const Entry &entry = d_entries[i];
-            if ( entry.itemInfo == itemInfo )
-                return entry.widgets;
-        }
-    }
-
-    return QList<QWidget *>();
-}
-
-class QwtLegend::PrivateData
-{
-public:
-    PrivateData():
-        itemMode( QwtLegendData::ReadOnly ),
-        view( NULL )
-    {
-    }
-
-    QwtLegendData::Mode itemMode;
-    QwtLegendMap itemMap;
-
-    class LegendView;
-    LegendView *view;
-};
-
-class QwtLegend::PrivateData::LegendView: public QScrollArea
-{
-public:
-    LegendView( QWidget *parent ):
-        QScrollArea( parent )
-    {
-        contentsWidget = new QWidget( this );
-        contentsWidget->setObjectName( "QwtLegendViewContents" );
-
-        setWidget( contentsWidget );
-        setWidgetResizable( false );
-
-        viewport()->setObjectName( "QwtLegendViewport" );
-
-        // QScrollArea::setWidget internally sets autoFillBackground to true
-        // But we don't want a background.
-        contentsWidget->setAutoFillBackground( false );
-        viewport()->setAutoFillBackground( false );
-    }
-
-    virtual bool event( QEvent *event )
-    {
-        if ( event->type() == QEvent::PolishRequest )
-        {
-            setFocusPolicy( Qt::NoFocus );
-        }
-
-        if ( event->type() == QEvent::Resize )
-        {
-            // adjust the size to en/disable the scrollbars
-            // before QScrollArea adjusts the viewport size
-
-            const QRect cr = contentsRect();
-
-            int w = cr.width();
-            int h = contentsWidget->heightForWidth( cr.width() );
-            if ( h > w )
-            {
-                w -= verticalScrollBar()->sizeHint().width();
-                h = contentsWidget->heightForWidth( w );
-            }
-
-            contentsWidget->resize( w, h );
-        }
-
-        return QScrollArea::event( event );
-    }
-
-    virtual bool viewportEvent( QEvent *event )
-    {
-        bool ok = QScrollArea::viewportEvent( event );
-
-        if ( event->type() == QEvent::Resize )
-        {
-            layoutContents();
-        }
-        return ok;
-    }
-
-    QSize viewportSize( int w, int h ) const
-    {
-        const int sbHeight = horizontalScrollBar()->sizeHint().height();
-        const int sbWidth = verticalScrollBar()->sizeHint().width();
-
-        const int cw = contentsRect().width();
-        const int ch = contentsRect().height();
-
-        int vw = cw;
-        int vh = ch;
-
-        if ( w > vw )
-            vh -= sbHeight;
-
-        if ( h > vh )
-        {
-            vw -= sbWidth;
-            if ( w > vw && vh == ch )
-                vh -= sbHeight;
-        }
-        return QSize( vw, vh );
-    }
-
-    void layoutContents()
-    {
-        const QwtDynGridLayout *tl = qobject_cast<QwtDynGridLayout *>(
-            contentsWidget->layout() );
-        if ( tl == NULL )
-            return;
-
-        const QSize visibleSize = viewport()->contentsRect().size();
-
-        const int minW = int( tl->maxItemWidth() ) + 2 * tl->margin();
-
-        int w = qMax( visibleSize.width(), minW );
-        int h = qMax( tl->heightForWidth( w ), visibleSize.height() );
-
-        const int vpWidth = viewportSize( w, h ).width();
-        if ( w > vpWidth )
-        {
-            w = qMax( vpWidth, minW );
-            h = qMax( tl->heightForWidth( w ), visibleSize.height() );
-        }
-
-        contentsWidget->resize( w, h );
-    }
-
-    QWidget *contentsWidget;
-};
-
-/*!
-  Constructor
-  \param parent Parent widget
-*/
-QwtLegend::QwtLegend( QWidget *parent ):
-    QwtAbstractLegend( parent )
-{
-    setFrameStyle( NoFrame );
-
-    d_data = new QwtLegend::PrivateData;
-
-    d_data->view = new QwtLegend::PrivateData::LegendView( this );
-    d_data->view->setObjectName( "QwtLegendView" );
-    d_data->view->setFrameStyle( NoFrame );
-
-    QwtDynGridLayout *gridLayout = new QwtDynGridLayout(
-        d_data->view->contentsWidget );
-    gridLayout->setAlignment( Qt::AlignHCenter | Qt::AlignTop );
-
-    d_data->view->contentsWidget->installEventFilter( this );
-
-    QVBoxLayout *layout = new QVBoxLayout( this );
-    layout->setContentsMargins( 0, 0, 0, 0 );
-    layout->addWidget( d_data->view );
-}
-
-//! Destructor
-QwtLegend::~QwtLegend()
-{
-    delete d_data;
-}
-
-/*!
-  \brief Set the maximum number of entries in a row
-
-  F.e when the maximum is set to 1 all items are aligned
-  vertically. 0 means unlimited
-
-  \param numColums Maximum number of entries in a row
-
-  \sa maxColumns(), QwtDynGridLayout::setMaxColumns()
- */
-void QwtLegend::setMaxColumns( uint numColums )
-{
-    QwtDynGridLayout *tl = qobject_cast<QwtDynGridLayout *>(
-        d_data->view->contentsWidget->layout() );
-    if ( tl )
-        tl->setMaxColumns( numColums );
-}
-
-/*!
-  \return Maximum number of entries in a row
-  \sa setMaxColumns(), QwtDynGridLayout::maxColumns()
- */
-uint QwtLegend::maxColumns() const
-{
-    uint maxCols = 0;
-
-    const QwtDynGridLayout *tl = qobject_cast<const QwtDynGridLayout *>(
-        d_data->view->contentsWidget->layout() );
-    if ( tl )
-        maxCols = tl->maxColumns();
-
-    return maxCols;
-}
-
-/*!
-  \brief Set the default mode for legend labels
-
-  Legend labels will be constructed according to the
-  attributes in a QwtLegendData object. When it doesn't
-  contain a value for the QwtLegendData::ModeRole the
-  label will be initialized with the default mode of the legend.
-
-  \param mode Default item mode
-
-  \sa itemMode(), QwtLegendData::value(), QwtPlotItem::legendData()
-  \note Changing the mode doesn't have any effect on existing labels.
- */
-void QwtLegend::setDefaultItemMode( QwtLegendData::Mode mode )
-{
-    d_data->itemMode = mode;
-}
-
-/*!
-  \return Default item mode
-  \sa setDefaultItemMode()
-*/
-QwtLegendData::Mode QwtLegend::defaultItemMode() const
-{
-    return d_data->itemMode;
-}
-
-/*!
-  The contents widget is the only child of the viewport of 
-  the internal QScrollArea and the parent widget of all legend items.
-
-  \return Container widget of the legend items
-*/
-QWidget *QwtLegend::contentsWidget()
-{
-    return d_data->view->contentsWidget;
-}
-
-/*!
-  \return Horizontal scrollbar
-  \sa verticalScrollBar()
-*/
-QScrollBar *QwtLegend::horizontalScrollBar() const
-{
-    return d_data->view->horizontalScrollBar();
-}
-
-/*!
-  \return Vertical scrollbar
-  \sa horizontalScrollBar()
-*/
-QScrollBar *QwtLegend::verticalScrollBar() const
-{
-    return d_data->view->verticalScrollBar();
-}
-
-/*!
-  The contents widget is the only child of the viewport of 
-  the internal QScrollArea and the parent widget of all legend items.
-
-  \return Container widget of the legend items
-
-*/
-const QWidget *QwtLegend::contentsWidget() const
-{
-    return d_data->view->contentsWidget;
-}
-
-/*!
-  \brief Update the entries for an item
-
-  \param itemInfo Info for an item
-  \param data List of legend entry attributes for the item
- */
-void QwtLegend::updateLegend( const QVariant &itemInfo, 
-    const QList<QwtLegendData> &data )
-{
-    QList<QWidget *> widgetList = legendWidgets( itemInfo );
-
-    if ( widgetList.size() != data.size() )
-    {
-        QLayout *contentsLayout = d_data->view->contentsWidget->layout();
-
-        while ( widgetList.size() > data.size() )
-        {
-            QWidget *w = widgetList.takeLast();
-
-            contentsLayout->removeWidget( w );
-
-            // updates might be triggered by signals from the legend widget
-            // itself. So we better don't delete it here.
-
-            w->hide();
-            w->deleteLater();
-        }
-
-        for ( int i = widgetList.size(); i < data.size(); i++ )
-        {
-            QWidget *widget = createWidget( data[i] );
-
-            if ( contentsLayout )
-                contentsLayout->addWidget( widget );
-
-            if ( isVisible() )
-            {
-                // QLayout does a delayed show, with the effect, that
-                // the size hint will be wrong, when applications
-                // call replot() right after changing the list
-                // of plot items. So we better do the show now.
-
-                widget->setVisible( true );
-            }
-
-            widgetList += widget;
-        }
-
-        if ( widgetList.isEmpty() )
-        {
-            d_data->itemMap.remove( itemInfo );
-        }
-        else
-        {
-            d_data->itemMap.insert( itemInfo, widgetList );
-        }
-
-        updateTabOrder();
-    }
-    
-    for ( int i = 0; i < data.size(); i++ )
-        updateWidget( widgetList[i], data[i] );
-}
-
-/*!
-  \brief Create a widget to be inserted into the legend
-
-  The default implementation returns a QwtLegendLabel.
-
-  \param data Attributes of the legend entry
-  \return Widget representing data on the legend
-  
-  \note updateWidget() will called soon after createWidget()
-        with the same attributes.
- */
-QWidget *QwtLegend::createWidget( const QwtLegendData &data ) const
-{
-    Q_UNUSED( data );
-
-    QwtLegendLabel *label = new QwtLegendLabel();
-    label->setItemMode( defaultItemMode() );
-
-    connect( label, SIGNAL( clicked() ), SLOT( itemClicked() ) );
-    connect( label, SIGNAL( checked( bool ) ), SLOT( itemChecked( bool ) ) );
-
-    return label;
-}
-
-/*!
-  \brief Update the widget 
-
-  \param widget Usually a QwtLegendLabel
-  \param data Attributes to be displayed
-
-  \sa createWidget()
-  \note When widget is no QwtLegendLabel updateWidget() does nothing.
- */
-void QwtLegend::updateWidget( QWidget *widget, const QwtLegendData &data )
-{
-    QwtLegendLabel *label = qobject_cast<QwtLegendLabel *>( widget );
-    if ( label )
-    {
-        label->setData( data );
-        if ( !data.value( QwtLegendData::ModeRole ).isValid() )
-        {
-            // use the default mode, when there is no specific
-            // hint from the legend data
-
-            label->setItemMode( defaultItemMode() );
-        }
-    }
-}
-
-void QwtLegend::updateTabOrder()
-{
-    QLayout *contentsLayout = d_data->view->contentsWidget->layout();
-    if ( contentsLayout )
-    {
-        // set tab focus chain
-
-        QWidget *w = NULL;
-
-        for ( int i = 0; i < contentsLayout->count(); i++ )
-        {
-            QLayoutItem *item = contentsLayout->itemAt( i );
-            if ( w && item->widget() )
-                QWidget::setTabOrder( w, item->widget() );
-
-            w = item->widget();
-        }
-    }
-}
-
-//! Return a size hint.
-QSize QwtLegend::sizeHint() const
-{
-    QSize hint = d_data->view->contentsWidget->sizeHint();
-    hint += QSize( 2 * frameWidth(), 2 * frameWidth() );
-
-    return hint;
-}
-
-/*!
-  \return The preferred height, for a width.
-  \param width Width
-*/
-int QwtLegend::heightForWidth( int width ) const
-{
-    width -= 2 * frameWidth();
-
-    int h = d_data->view->contentsWidget->heightForWidth( width );
-    if ( h >= 0 )
-        h += 2 * frameWidth();
-
-    return h;
-}
-
-
-/*!
-  Handle QEvent::ChildRemoved andQEvent::LayoutRequest events 
-  for the contentsWidget().
-
-  \param object Object to be filtered
-  \param event Event
-
-  \return Forwarded to QwtAbstractLegend::eventFilter()
-*/
-bool QwtLegend::eventFilter( QObject *object, QEvent *event )
-{
-    if ( object == d_data->view->contentsWidget )
-    {
-        switch ( event->type() )
-        {
-            case QEvent::ChildRemoved:
-            {
-                const QChildEvent *ce = 
-                    static_cast<const QChildEvent *>(event);
-                if ( ce->child()->isWidgetType() )
-                {
-                    QWidget *w = static_cast< QWidget * >( ce->child() );
-                    d_data->itemMap.removeWidget( w );
-                }
-                break;
-            }
-            case QEvent::LayoutRequest:
-            {
-                d_data->view->layoutContents();
-
-                if ( parentWidget() && parentWidget()->layout() == NULL )
-                {
-                    /*
-                       We want the parent widget ( usually QwtPlot ) to recalculate
-                       its layout, when the contentsWidget has changed. But
-                       because of the scroll view we have to forward the LayoutRequest
-                       event manually.
-
-                       We don't use updateGeometry() because it doesn't post LayoutRequest
-                       events when the legend is hidden. But we want the
-                       parent widget notified, so it can show/hide the legend
-                       depending on its items.
-                     */
-                    QApplication::postEvent( parentWidget(),
-                        new QEvent( QEvent::LayoutRequest ) );
-                }                
-                break;
-            }
-            default:
-                break;
-        }
-    }
-
-    return QwtAbstractLegend::eventFilter( object, event );
-}
-
-/*!
-  Called internally when the legend has been clicked on.
-  Emits a clicked() signal.
-*/
-void QwtLegend::itemClicked()
-{
-    QWidget *w = qobject_cast<QWidget *>( sender() );
-    if ( w )
-    {
-        const QVariant itemInfo = d_data->itemMap.itemInfo( w );
-        if ( itemInfo.isValid() )
-        {
-            const QList<QWidget *> widgetList =
-                d_data->itemMap.legendWidgets( itemInfo );
-
-            const int index = widgetList.indexOf( w );
-            if ( index >= 0 )
-                Q_EMIT clicked( itemInfo, index );
-        }
-    }
-}
-
-/*!
-  Called internally when the legend has been checked
-  Emits a checked() signal.
-*/
-void QwtLegend::itemChecked( bool on )
-{
-    QWidget *w = qobject_cast<QWidget *>( sender() );
-    if ( w )
-    {
-        const QVariant itemInfo = d_data->itemMap.itemInfo( w );
-        if ( itemInfo.isValid() )
-        {
-            const QList<QWidget *> widgetList =
-                d_data->itemMap.legendWidgets( itemInfo );
-
-            const int index = widgetList.indexOf( w );
-            if ( index >= 0 )
-                Q_EMIT checked( itemInfo, on, index );
-        }
-    }
-}
-
-/*!
-  Render the legend into a given rectangle.
-
-  \param painter Painter
-  \param rect Bounding rectangle
-  \param fillBackground When true, fill rect with the widget background 
-
-  \sa renderLegend() is used by QwtPlotRenderer - not by QwtLegend itself
-*/
-void QwtLegend::renderLegend( QPainter *painter, 
-    const QRectF &rect, bool fillBackground ) const
-{
-    if ( d_data->itemMap.isEmpty() )
-        return;
-
-    if ( fillBackground )
-    {
-        if ( autoFillBackground() ||
-            testAttribute( Qt::WA_StyledBackground ) )
-        {
-            QwtPainter::drawBackgound( painter, rect, this );
-        }
-    }
-
-    const QwtDynGridLayout *legendLayout = 
-        qobject_cast<QwtDynGridLayout *>( contentsWidget()->layout() );
-    if ( legendLayout == NULL )
-        return;
-
-    int left, right, top, bottom;
-    getContentsMargins( &left, &top, &right, &bottom );
-
-    QRect layoutRect; 
-    layoutRect.setLeft( qCeil( rect.left() ) + left );
-    layoutRect.setTop( qCeil( rect.top() ) + top );
-    layoutRect.setRight( qFloor( rect.right() ) - right );
-    layoutRect.setBottom( qFloor( rect.bottom() ) - bottom );
-
-    uint numCols = legendLayout->columnsForWidth( layoutRect.width() );
-    QList<QRect> itemRects =
-        legendLayout->layoutItems( layoutRect, numCols );
-
-    int index = 0;
-
-    for ( int i = 0; i < legendLayout->count(); i++ )
-    {
-        QLayoutItem *item = legendLayout->itemAt( i );
-        QWidget *w = item->widget();
-        if ( w )
-        {
-            painter->save();
-
-            painter->setClipRect( itemRects[index], Qt::IntersectClip );
-            renderItem( painter, w, itemRects[index], fillBackground );
-
-            index++;
-            painter->restore();
-        }
-    }
-}
-
-/*!
-  Render a legend entry into a given rectangle.
-
-  \param painter Painter
-  \param widget Widget representing a legend entry
-  \param rect Bounding rectangle
-  \param fillBackground When true, fill rect with the widget background 
-
-  \note When widget is not derived from QwtLegendLabel renderItem
-        does nothing beside the background
-*/
-void QwtLegend::renderItem( QPainter *painter, 
-    const QWidget *widget, const QRectF &rect, bool fillBackground ) const
-{
-    if ( fillBackground )
-    {
-        if ( widget->autoFillBackground() ||
-            widget->testAttribute( Qt::WA_StyledBackground ) )
-        {
-            QwtPainter::drawBackgound( painter, rect, widget );
-        }
-    }
-
-    const QwtLegendLabel *label = qobject_cast<const QwtLegendLabel *>( widget );
-    if ( label )
-    {
-        // icon
-
-        const QwtGraphic &icon = label->data().icon();
-        const QSizeF sz = icon.defaultSize();
-
-        const QRectF iconRect( rect.x() + label->margin(),
-            rect.center().y() - 0.5 * sz.height(), 
-            sz.width(), sz.height() );
-
-        icon.render( painter, iconRect, Qt::KeepAspectRatio );
-
-        // title
-
-        QRectF titleRect = rect;
-        titleRect.setX( iconRect.right() + 2 * label->spacing() );
-
-        painter->setFont( label->font() );
-        painter->setPen( label->palette().color( QPalette::Text ) );
-        const_cast< QwtLegendLabel *>( label )->drawText( painter, titleRect );
-    }
-}
-
-/*!
-  \return List of widgets associated to a item
-  \param itemInfo Info about an item
-  \sa legendWidget(), itemInfo(), QwtPlot::itemToInfo()
- */
-QList<QWidget *> QwtLegend::legendWidgets( const QVariant &itemInfo ) const
-{
-    return d_data->itemMap.legendWidgets( itemInfo );
-}
-
-/*!
-  \return First widget in the list of widgets associated to an item
-  \param itemInfo Info about an item
-  \sa itemInfo(), QwtPlot::itemToInfo()
-  \note Almost all types of items have only one widget
-*/
-QWidget *QwtLegend::legendWidget( const QVariant &itemInfo ) const
-{
-    const QList<QWidget *> list = d_data->itemMap.legendWidgets( itemInfo );
-    if ( list.isEmpty() )
-        return NULL;
-
-    return list[0];
-}
-
-/*!
-  Find the item that is associated to a widget
-
-  \param widget Widget on the legend
-  \return Associated item info
-  \sa legendWidget()
- */
-QVariant QwtLegend::itemInfo( const QWidget *widget ) const
-{
-    return d_data->itemMap.itemInfo( widget );
-}
-
-//! \return True, when no item is inserted
-bool QwtLegend::isEmpty() const
-{
-    return d_data->itemMap.isEmpty();
-}
-
-/*!
-    Return the extent, that is needed for the scrollbars
-
-    \param orientation Orientation ( 
-    \return The width of the vertical scrollbar for Qt::Horizontal and v.v.
- */
-int QwtLegend::scrollExtent( Qt::Orientation orientation ) const
-{
-    int extent = 0;
-
-    if ( orientation == Qt::Horizontal )
-        extent = verticalScrollBar()->sizeHint().width();
-    else
-        extent = horizontalScrollBar()->sizeHint().height();
-
-    return extent;
-}
-
diff --git a/SRC/Qwt/src/qwt_legend.h b/SRC/Qwt/src/qwt_legend.h
deleted file mode 100644
index 6aefb0f..0000000
--- a/SRC/Qwt/src/qwt_legend.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_LEGEND_H
-#define QWT_LEGEND_H
-
-#include "qwt_global.h"
-#include "qwt_abstract_legend.h"
-#include <qvariant.h>
-
-class QScrollBar;
-
-/*!
-  \brief The legend widget
-
-  The QwtLegend widget is a tabular arrangement of legend items. Legend
-  items might be any type of widget, but in general they will be
-  a QwtLegendLabel.
-
-  \sa QwtLegendLabel, QwtPlotItem, QwtPlot
-*/
-
-class QWT_EXPORT QwtLegend : public QwtAbstractLegend
-{
-    Q_OBJECT
-
-public:
-    explicit QwtLegend( QWidget *parent = NULL );
-    virtual ~QwtLegend();
-
-    void setMaxColumns( uint numColums );
-    uint maxColumns() const;
-
-    void setDefaultItemMode( QwtLegendData::Mode );
-    QwtLegendData::Mode defaultItemMode() const;
-
-    QWidget *contentsWidget();
-    const QWidget *contentsWidget() const;
-
-    QWidget *legendWidget( const QVariant &  ) const;
-    QList<QWidget *> legendWidgets( const QVariant & ) const;
-
-    QVariant itemInfo( const QWidget * ) const;
-
-    virtual bool eventFilter( QObject *, QEvent * );
-
-    virtual QSize sizeHint() const;
-    virtual int heightForWidth( int w ) const;
-
-    QScrollBar *horizontalScrollBar() const;
-    QScrollBar *verticalScrollBar() const;
-
-    virtual void renderLegend( QPainter *, 
-        const QRectF &, bool fillBackground ) const;
-
-    virtual void renderItem( QPainter *, 
-        const QWidget *, const QRectF &, bool fillBackground ) const;
-
-    virtual bool isEmpty() const;
-    virtual int scrollExtent( Qt::Orientation ) const;
-
-Q_SIGNALS:
-    /*!
-      A signal which is emitted when the user has clicked on
-      a legend label, which is in QwtLegendData::Clickable mode.
-
-      \param itemInfo Info for the item item of the
-                      selected legend item
-      \param index Index of the legend label in the list of widgets
-                   that are associated with the plot item
-
-      \note clicks are disabled as default
-      \sa setDefaultItemMode(), defaultItemMode(), QwtPlot::itemToInfo()
-     */
-    void clicked( const QVariant &itemInfo, int index );
-
-    /*!
-      A signal which is emitted when the user has clicked on
-      a legend label, which is in QwtLegendData::Checkable mode
-
-      \param itemInfo Info for the item of the
-                      selected legend label
-      \param index Index of the legend label in the list of widgets
-                   that are associated with the plot item
-      \param on True when the legend label is checked
-
-      \note clicks are disabled as default
-      \sa setDefaultItemMode(), defaultItemMode(), QwtPlot::itemToInfo()
-     */
-    void checked( const QVariant &itemInfo, bool on, int index );
-
-public Q_SLOTS:
-    virtual void updateLegend( const QVariant &,
-        const QList<QwtLegendData> & );
-
-protected Q_SLOTS:
-    void itemClicked();
-    void itemChecked( bool );
-
-protected:
-    virtual QWidget *createWidget( const QwtLegendData & ) const;
-    virtual void updateWidget( QWidget *widget, const QwtLegendData &data );
-
-private:
-    void updateTabOrder();
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif 
diff --git a/SRC/Qwt/src/qwt_legend_data.cpp b/SRC/Qwt/src/qwt_legend_data.cpp
deleted file mode 100644
index 9d346e9..0000000
--- a/SRC/Qwt/src/qwt_legend_data.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_legend_data.h"
-
-//! Constructor
-QwtLegendData::QwtLegendData()
-{
-}
-
-//! Destructor
-QwtLegendData::~QwtLegendData()
-{
-}
-
-/*!
-  Set the legend attributes
-
-  QwtLegendData actually is a QMap<int, QVariant> with some
-  convenience interfaces
-
-  \param map Values
-  \sa values()
- */
-void QwtLegendData::setValues( const QMap<int, QVariant> &map )
-{
-    d_map = map;
-}
-
-/*!
-  \return Legend attributes
-  \sa setValues()
- */
-const QMap<int, QVariant> &QwtLegendData::values() const
-{
-    return d_map;
-}
-
-/*!
-  \param role Attribute role
-  \return True, when the internal map has an entry for role
- */
-bool QwtLegendData::hasRole( int role ) const
-{
-    return d_map.contains( role );
-}
-
-/*!
-  Set an attribute value
-
-  \param role Attribute role
-  \param data Attribute value
-
-  \sa value()
- */
-void QwtLegendData::setValue( int role, const QVariant &data )
-{
-    d_map[role] = data;
-}
-
-/*!
-  \param role Attribute role
-  \return Attribute value for a specific role
- */
-QVariant QwtLegendData::value( int role ) const
-{
-    if ( !d_map.contains( role ) )
-        return QVariant();
-
-    return d_map[role];
-}
-
-//! \return True, when the internal map is empty
-bool QwtLegendData::isValid() const
-{
-    return !d_map.isEmpty();
-}
-
-//! \return Value of the TitleRole attribute
-QwtText QwtLegendData::title() const
-{
-    QwtText text;
-
-    const QVariant titleValue = value( QwtLegendData::TitleRole );
-    if ( titleValue.canConvert<QwtText>() )
-    {
-        text = qvariant_cast<QwtText>( titleValue );
-    }
-    else if ( titleValue.canConvert<QString>() )
-    {
-        text.setText( qvariant_cast<QString>( titleValue ) );
-    }
-
-    return text;
-}
-
-//! \return Value of the IconRole attribute
-QwtGraphic QwtLegendData::icon() const
-{
-    const QVariant iconValue = value( QwtLegendData::IconRole );
-
-    QwtGraphic graphic;
-    if ( iconValue.canConvert<QwtGraphic>() )
-    {
-        graphic = qvariant_cast<QwtGraphic>( iconValue );
-    }
-
-    return graphic;
-}
-
-//! \return Value of the ModeRole attribute
-QwtLegendData::Mode QwtLegendData::mode() const
-{
-    const QVariant modeValue = value( QwtLegendData::ModeRole );
-    if ( modeValue.canConvert<int>() )
-    {
-        const int mode = qvariant_cast<int>( modeValue );
-        return static_cast<QwtLegendData::Mode>( mode );
-    }
-    
-    return QwtLegendData::ReadOnly;
-}
-
diff --git a/SRC/Qwt/src/qwt_legend_data.h b/SRC/Qwt/src/qwt_legend_data.h
deleted file mode 100644
index c42debc..0000000
--- a/SRC/Qwt/src/qwt_legend_data.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_LEGEND_DATA_H
-#define QWT_LEGEND_DATA_H
-
-#include "qwt_global.h"
-#include "qwt_text.h"
-#include "qwt_graphic.h"
-#include <qvariant.h>
-#include <qpixmap.h>
-#include <qmap.h>
-
-/*!
-  \brief Attributes of an entry on a legend
-
-  QwtLegendData is an abstract container ( like QAbstractModel )
-  to exchange attributes, that are only known between to 
-  the plot item and the legend. 
-  
-  By overloading QwtPlotItem::legendData() any other set of attributes
-  could be used, that can be handled by a modified ( or completely 
-  different ) implementation of a legend.
-
-  \sa QwtLegend, QwtPlotLegendItem
-  \note The stockchart example implements a legend as a tree
-        with checkable items
- */
-class QWT_EXPORT QwtLegendData
-{
-public:
-    //! Mode defining how a legend entry interacts
-    enum Mode
-    {
-        //! The legend item is not interactive, like a label
-        ReadOnly,
-
-        //! The legend item is clickable, like a push button
-        Clickable,
-
-        //! The legend item is checkable, like a checkable button
-        Checkable
-    };
-
-    //! Identifier how to interprete a QVariant
-    enum Role
-    {
-        // The value is a Mode
-        ModeRole, 
-
-        // The value is a title
-        TitleRole, 
-
-        // The value is an icon
-        IconRole, 
-
-        // Values < UserRole are reserved for internal use
-        UserRole  = 32
-    };
-
-    QwtLegendData();
-    ~QwtLegendData();
-
-    void setValues( const QMap<int, QVariant> & );
-    const QMap<int, QVariant> &values() const;
-
-    void setValue( int role, const QVariant & );
-    QVariant value( int role ) const;
-
-    bool hasRole( int role ) const;
-    bool isValid() const;
-
-    QwtGraphic icon() const;
-    QwtText title() const;
-    Mode mode() const;
-
-private:
-    QMap<int, QVariant> d_map;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_legend_label.cpp b/SRC/Qwt/src/qwt_legend_label.cpp
deleted file mode 100644
index 674c0bd..0000000
--- a/SRC/Qwt/src/qwt_legend_label.cpp
+++ /dev/null
@@ -1,421 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_legend_label.h"
-#include "qwt_legend_data.h"
-#include "qwt_math.h"
-#include "qwt_painter.h"
-#include "qwt_symbol.h"
-#include "qwt_graphic.h"
-#include <qpainter.h>
-#include <qdrawutil.h>
-#include <qstyle.h>
-#include <qpen.h>
-#include <qevent.h>
-#include <qstyleoption.h>
-#include <qapplication.h>
-
-static const int ButtonFrame = 2;
-static const int Margin = 2;
-
-static QSize buttonShift( const QwtLegendLabel *w )
-{
-    QStyleOption option;
-    option.init( w );
-
-    const int ph = w->style()->pixelMetric(
-        QStyle::PM_ButtonShiftHorizontal, &option, w );
-    const int pv = w->style()->pixelMetric(
-        QStyle::PM_ButtonShiftVertical, &option, w );
-    return QSize( ph, pv );
-}
-
-class QwtLegendLabel::PrivateData
-{
-public:
-    PrivateData():
-        itemMode( QwtLegendData::ReadOnly ),
-        isDown( false ),
-        spacing( Margin )
-    {
-    }
-
-    QwtLegendData::Mode itemMode;
-    QwtLegendData legendData;
-    bool isDown;
-
-    QPixmap icon;
-
-    int spacing;
-};
-
-/*!
-  Set the attributes of the legend label
-
-  \param legendData Attributes of the label
-  \sa data()
- */
-void QwtLegendLabel::setData( const QwtLegendData &legendData )
-{
-    d_data->legendData = legendData;
-
-    const bool doUpdate = updatesEnabled();
-    setUpdatesEnabled( false );
-
-    setText( legendData.title() );
-    setIcon( legendData.icon().toPixmap() );
-
-    if ( legendData.hasRole( QwtLegendData::ModeRole ) )
-        setItemMode( legendData.mode() );
-
-    if ( doUpdate )
-    {
-        setUpdatesEnabled( true );
-        update();
-    }
-}
-
-/*!
-  \return Attributes of the label
-  \sa setData(), QwtPlotItem::legendData()
- */
-const QwtLegendData &QwtLegendLabel::data() const
-{
-    return d_data->legendData;
-}
-
-/*!
-  \param parent Parent widget
-*/
-QwtLegendLabel::QwtLegendLabel( QWidget *parent ):
-    QwtTextLabel( parent )
-{
-    d_data = new PrivateData;
-    setMargin( Margin );
-    setIndent( Margin );
-}
-
-//! Destructor
-QwtLegendLabel::~QwtLegendLabel()
-{
-    delete d_data;
-    d_data = NULL;
-}
-
-/*!
-   Set the text to the legend item
-
-   \param text Text label
-    \sa QwtTextLabel::text()
-*/
-void QwtLegendLabel::setText( const QwtText &text )
-{
-    const int flags = Qt::AlignLeft | Qt::AlignVCenter
-        | Qt::TextExpandTabs | Qt::TextWordWrap;
-
-    QwtText txt = text;
-    txt.setRenderFlags( flags );
-
-    QwtTextLabel::setText( txt );
-}
-
-/*!
-   Set the item mode
-   The default is QwtLegendData::ReadOnly
-
-   \param mode Item mode
-   \sa itemMode()
-*/
-void QwtLegendLabel::setItemMode( QwtLegendData::Mode mode )
-{
-    if ( mode != d_data->itemMode )
-    {
-        d_data->itemMode = mode;
-        d_data->isDown = false;
-
-        setFocusPolicy( ( mode != QwtLegendData::ReadOnly ) 
-            ? Qt::TabFocus : Qt::NoFocus );
-        setMargin( ButtonFrame + Margin );
-
-        updateGeometry();
-    }
-}
-
-/*!
-   \return Item mode
-   \sa setItemMode()
-*/
-QwtLegendData::Mode QwtLegendLabel::itemMode() const
-{
-    return d_data->itemMode;
-}
-
-/*!
-  Assign the icon
-
-  \param icon Pixmap representing a plot item
-
-  \sa icon(), QwtPlotItem::legendIcon()
-*/
-void QwtLegendLabel::setIcon( const QPixmap &icon )
-{
-    d_data->icon = icon;
-
-    int indent = margin() + d_data->spacing;
-    if ( icon.width() > 0 )
-        indent += icon.width() + d_data->spacing;
-
-    setIndent( indent );
-}
-
-/*!
-  \return Pixmap representing a plot item
-  \sa setIcon()
-*/
-QPixmap QwtLegendLabel::icon() const
-{
-    return d_data->icon;
-}
-
-/*!
-   \brief Change the spacing between icon and text
-
-   \param spacing Spacing
-   \sa spacing(), QwtTextLabel::margin()
-*/
-void QwtLegendLabel::setSpacing( int spacing )
-{
-    spacing = qMax( spacing, 0 );
-    if ( spacing != d_data->spacing )
-    {
-        d_data->spacing = spacing;
-
-        int indent = margin() + d_data->spacing;
-        if ( d_data->icon.width() > 0 )
-            indent += d_data->icon.width() + d_data->spacing;
-
-        setIndent( indent );
-    }
-}
-
-/*!
-   \return Spacing between icon and text
-   \sa setSpacing(), QwtTextLabel::margin()
-*/
-int QwtLegendLabel::spacing() const
-{
-    return d_data->spacing;
-}
-
-/*!
-    Check/Uncheck a the item
-
-    \param on check/uncheck
-    \sa setItemMode()
-*/
-void QwtLegendLabel::setChecked( bool on )
-{
-    if ( d_data->itemMode == QwtLegendData::Checkable )
-    {
-        const bool isBlocked = signalsBlocked();
-        blockSignals( true );
-
-        setDown( on );
-
-        blockSignals( isBlocked );
-    }
-}
-
-//! Return true, if the item is checked
-bool QwtLegendLabel::isChecked() const
-{
-    return d_data->itemMode == QwtLegendData::Checkable && isDown();
-}
-
-//! Set the item being down
-void QwtLegendLabel::setDown( bool down )
-{
-    if ( down == d_data->isDown )
-        return;
-
-    d_data->isDown = down;
-    update();
-
-    if ( d_data->itemMode == QwtLegendData::Clickable )
-    {
-        if ( d_data->isDown )
-            Q_EMIT pressed();
-        else
-        {
-            Q_EMIT released();
-            Q_EMIT clicked();
-        }
-    }
-
-    if ( d_data->itemMode == QwtLegendData::Checkable )
-        Q_EMIT checked( d_data->isDown );
-}
-
-//! Return true, if the item is down
-bool QwtLegendLabel::isDown() const
-{
-    return d_data->isDown;
-}
-
-//! Return a size hint
-QSize QwtLegendLabel::sizeHint() const
-{
-    QSize sz = QwtTextLabel::sizeHint();
-    sz.setHeight( qMax( sz.height(), d_data->icon.height() + 4 ) );
-
-    if ( d_data->itemMode != QwtLegendData::ReadOnly )
-    {
-        sz += buttonShift( this );
-        sz = sz.expandedTo( QApplication::globalStrut() );
-    }
-
-    return sz;
-}
-
-//! Paint event
-void QwtLegendLabel::paintEvent( QPaintEvent *e )
-{
-    const QRect cr = contentsRect();
-
-    QPainter painter( this );
-    painter.setClipRegion( e->region() );
-
-    if ( d_data->isDown )
-    {
-        qDrawWinButton( &painter, 0, 0, width(), height(),
-            palette(), true );
-    }
-
-    painter.save();
-
-    if ( d_data->isDown )
-    {
-        const QSize shiftSize = buttonShift( this );
-        painter.translate( shiftSize.width(), shiftSize.height() );
-    }
-
-    painter.setClipRect( cr );
-
-    drawContents( &painter );
-
-    if ( !d_data->icon.isNull() )
-    {
-        QRect iconRect = cr;
-        iconRect.setX( iconRect.x() + margin() );
-        if ( d_data->itemMode != QwtLegendData::ReadOnly )
-            iconRect.setX( iconRect.x() + ButtonFrame );
-
-        iconRect.setSize( d_data->icon.size() );
-        iconRect.moveCenter( QPoint( iconRect.center().x(), cr.center().y() ) );
-
-        painter.drawPixmap( iconRect, d_data->icon );
-    }
-
-    painter.restore();
-}
-
-//! Handle mouse press events
-void QwtLegendLabel::mousePressEvent( QMouseEvent *e )
-{
-    if ( e->button() == Qt::LeftButton )
-    {
-        switch ( d_data->itemMode )
-        {
-            case QwtLegendData::Clickable:
-            {
-                setDown( true );
-                return;
-            }
-            case QwtLegendData::Checkable:
-            {
-                setDown( !isDown() );
-                return;
-            }
-            default:;
-        }
-    }
-    QwtTextLabel::mousePressEvent( e );
-}
-
-//! Handle mouse release events
-void QwtLegendLabel::mouseReleaseEvent( QMouseEvent *e )
-{
-    if ( e->button() == Qt::LeftButton )
-    {
-        switch ( d_data->itemMode )
-        {
-            case QwtLegendData::Clickable:
-            {
-                setDown( false );
-                return;
-            }
-            case QwtLegendData::Checkable:
-            {
-                return; // do nothing, but accept
-            }
-            default:;
-        }
-    }
-    QwtTextLabel::mouseReleaseEvent( e );
-}
-
-//! Handle key press events
-void QwtLegendLabel::keyPressEvent( QKeyEvent *e )
-{
-    if ( e->key() == Qt::Key_Space )
-    {
-        switch ( d_data->itemMode )
-        {
-            case QwtLegendData::Clickable:
-            {
-                if ( !e->isAutoRepeat() )
-                    setDown( true );
-                return;
-            }
-            case QwtLegendData::Checkable:
-            {
-                if ( !e->isAutoRepeat() )
-                    setDown( !isDown() );
-                return;
-            }
-            default:;
-        }
-    }
-
-    QwtTextLabel::keyPressEvent( e );
-}
-
-//! Handle key release events
-void QwtLegendLabel::keyReleaseEvent( QKeyEvent *e )
-{
-    if ( e->key() == Qt::Key_Space )
-    {
-        switch ( d_data->itemMode )
-        {
-            case QwtLegendData::Clickable:
-            {
-                if ( !e->isAutoRepeat() )
-                    setDown( false );
-                return;
-            }
-            case QwtLegendData::Checkable:
-            {
-                return; // do nothing, but accept
-            }
-            default:;
-        }
-    }
-
-    QwtTextLabel::keyReleaseEvent( e );
-}
diff --git a/SRC/Qwt/src/qwt_legend_label.h b/SRC/Qwt/src/qwt_legend_label.h
deleted file mode 100644
index 9906b03..0000000
--- a/SRC/Qwt/src/qwt_legend_label.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_LEGEND_LABEL_H
-#define QWT_LEGEND_LABEL_H
-
-#include "qwt_global.h"
-#include "qwt_legend_data.h"
-#include "qwt_text.h"
-#include "qwt_text_label.h"
-#include <qpixmap.h>
-
-class QwtLegendData;
-
-/*!
-  \brief A widget representing something on a QwtLegend.
-*/
-class QWT_EXPORT QwtLegendLabel: public QwtTextLabel
-{
-    Q_OBJECT
-public:
-    explicit QwtLegendLabel( QWidget *parent = 0 );
-    virtual ~QwtLegendLabel();
-
-    void setData( const QwtLegendData & );
-    const QwtLegendData &data() const;
-
-    void setItemMode( QwtLegendData::Mode );
-    QwtLegendData::Mode itemMode() const;
-
-    void setSpacing( int spacing );
-    int spacing() const;
-
-    virtual void setText( const QwtText & );
-
-    void setIcon( const QPixmap & );
-    QPixmap icon() const;
-
-    virtual QSize sizeHint() const;
-
-    bool isChecked() const;
-
-public Q_SLOTS:
-    void setChecked( bool on );
-
-Q_SIGNALS:
-    //! Signal, when the legend item has been clicked
-    void clicked();
-
-    //! Signal, when the legend item has been pressed
-    void pressed();
-
-    //! Signal, when the legend item has been released
-    void released();
-
-    //! Signal, when the legend item has been toggled
-    void checked( bool );
-
-protected:
-    void setDown( bool );
-    bool isDown() const;
-
-    virtual void paintEvent( QPaintEvent * );
-    virtual void mousePressEvent( QMouseEvent * );
-    virtual void mouseReleaseEvent( QMouseEvent * );
-    virtual void keyPressEvent( QKeyEvent * );
-    virtual void keyReleaseEvent( QKeyEvent * );
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif 
diff --git a/SRC/Qwt/src/qwt_magnifier.cpp b/SRC/Qwt/src/qwt_magnifier.cpp
deleted file mode 100644
index c131f5f..0000000
--- a/SRC/Qwt/src/qwt_magnifier.cpp
+++ /dev/null
@@ -1,492 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_magnifier.h"
-#include "qwt_math.h"
-#include <qevent.h>
-#include <qwidget.h>
-
-class QwtMagnifier::PrivateData
-{
-public:
-    PrivateData():
-        isEnabled( false ),
-        wheelFactor( 0.9 ),
-        wheelModifiers( Qt::NoModifier ),
-        mouseFactor( 0.95 ),
-        mouseButton( Qt::RightButton ),
-        mouseButtonModifiers( Qt::NoModifier ),
-        keyFactor( 0.9 ),
-        zoomInKey( Qt::Key_Plus ),
-        zoomInKeyModifiers( Qt::NoModifier ),
-        zoomOutKey( Qt::Key_Minus ),
-        zoomOutKeyModifiers( Qt::NoModifier ),
-        mousePressed( false )
-    {
-    }
-
-    bool isEnabled;
-
-    double wheelFactor;
-    Qt::KeyboardModifiers wheelModifiers;
-
-    double mouseFactor;
-
-    Qt::MouseButton mouseButton;
-    Qt::KeyboardModifiers mouseButtonModifiers;
-
-    double keyFactor;
-
-    int zoomInKey;
-    Qt::KeyboardModifiers zoomInKeyModifiers;
-
-    int zoomOutKey;
-    Qt::KeyboardModifiers  zoomOutKeyModifiers;
-
-    bool mousePressed;
-    bool hasMouseTracking;
-    QPoint mousePos;
-};
-
-/*!
-   Constructor
-   \param parent Widget to be magnified
-*/
-QwtMagnifier::QwtMagnifier( QWidget *parent ):
-    QObject( parent )
-{
-    d_data = new PrivateData();
-    setEnabled( true );
-}
-
-//! Destructor
-QwtMagnifier::~QwtMagnifier()
-{
-    delete d_data;
-}
-
-/*!
-  \brief En/disable the magnifier
-
-  When enabled is true an event filter is installed for
-  the observed widget, otherwise the event filter is removed.
-
-  \param on true or false
-  \sa isEnabled(), eventFilter()
-*/
-void QwtMagnifier::setEnabled( bool on )
-{
-    if ( d_data->isEnabled != on )
-    {
-        d_data->isEnabled = on;
-
-        QObject *o = parent();
-        if ( o )
-        {
-            if ( d_data->isEnabled )
-                o->installEventFilter( this );
-            else
-                o->removeEventFilter( this );
-        }
-    }
-}
-
-/*!
-  \return true when enabled, false otherwise
-  \sa setEnabled(), eventFilter()
-*/
-bool QwtMagnifier::isEnabled() const
-{
-    return d_data->isEnabled;
-}
-
-/*!
-   \brief Change the wheel factor
-
-   The wheel factor defines the ratio between the current range
-   on the parent widget and the zoomed range for each step of the wheel.
-
-   Use values > 1 for magnification (i.e. 2.0) and values < 1 for
-   scaling down (i.e. 1/2.0 = 0.5). You can use this feature for
-   inverting the direction of the wheel.
-
-   The default value is 0.9.
-
-   \param factor Wheel factor
-   \sa wheelFactor(), setWheelButtonState(),
-       setMouseFactor(), setKeyFactor()
-*/
-void QwtMagnifier::setWheelFactor( double factor )
-{
-    d_data->wheelFactor = factor;
-}
-
-/*!
-   \return Wheel factor
-   \sa setWheelFactor()
-*/
-double QwtMagnifier::wheelFactor() const
-{
-    return d_data->wheelFactor;
-}
-
-/*!
-   Assign keyboard modifiers for zooming in/out using the wheel.
-   The default modifiers are Qt::NoModifiers.
-
-   \param modifiers Keyboard modifiers
-   \sa wheelModifiers()
-*/
-void QwtMagnifier::setWheelModifiers( Qt::KeyboardModifiers modifiers )
-{
-    d_data->wheelModifiers = modifiers;
-}
-
-/*!
-   \return Wheel modifiers
-   \sa setWheelModifiers()
-*/
-Qt::KeyboardModifiers QwtMagnifier::wheelModifiers() const
-{
-    return d_data->wheelModifiers;
-}
-
-/*!
-   \brief Change the mouse factor
-
-   The mouse factor defines the ratio between the current range
-   on the parent widget and the zoomed range for each vertical mouse movement.
-   The default value is 0.95.
-
-   \param factor Wheel factor
-   \sa mouseFactor(), setMouseButton(), setWheelFactor(), setKeyFactor()
-*/
-void QwtMagnifier::setMouseFactor( double factor )
-{
-    d_data->mouseFactor = factor;
-}
-
-/*!
-   \return Mouse factor
-   \sa setMouseFactor()
-*/
-double QwtMagnifier::mouseFactor() const
-{
-    return d_data->mouseFactor;
-}
-
-/*!
-   Assign the mouse button, that is used for zooming in/out.
-   The default value is Qt::RightButton.
-
-   \param button Button
-   \param modifiers Keyboard modifiers
-
-   \sa getMouseButton()
-*/
-void QwtMagnifier::setMouseButton( 
-    Qt::MouseButton button, Qt::KeyboardModifiers modifiers )
-{
-    d_data->mouseButton = button;
-    d_data->mouseButtonModifiers = modifiers;
-}
-
-//! \sa setMouseButton()
-void QwtMagnifier::getMouseButton(
-    Qt::MouseButton &button, Qt::KeyboardModifiers &modifiers ) const
-{
-    button = d_data->mouseButton;
-    modifiers = d_data->mouseButtonModifiers;
-}
-
-/*!
-   \brief Change the key factor
-
-   The key factor defines the ratio between the current range
-   on the parent widget and the zoomed range for each key press of
-   the zoom in/out keys. The default value is 0.9.
-
-   \param factor Key factor
-   \sa keyFactor(), setZoomInKey(), setZoomOutKey(),
-       setWheelFactor, setMouseFactor()
-*/
-void QwtMagnifier::setKeyFactor( double factor )
-{
-    d_data->keyFactor = factor;
-}
-
-/*!
-   \return Key factor
-   \sa setKeyFactor()
-*/
-double QwtMagnifier::keyFactor() const
-{
-    return d_data->keyFactor;
-}
-
-/*!
-   Assign the key, that is used for zooming in.
-   The default combination is Qt::Key_Plus + Qt::NoModifier.
-
-   \param key
-   \param modifiers
-   \sa getZoomInKey(), setZoomOutKey()
-*/
-void QwtMagnifier::setZoomInKey( int key, 
-    Qt::KeyboardModifiers modifiers )
-{
-    d_data->zoomInKey = key;
-    d_data->zoomInKeyModifiers = modifiers;
-}
-
-/*! 
-   \brief Retrieve the settings of the zoom in key
-
-   \param key Key code, see Qt::Key
-   \param modifiers Keyboard modifiers
-
-   \sa setZoomInKey()
-*/
-void QwtMagnifier::getZoomInKey( int &key, 
-    Qt::KeyboardModifiers &modifiers ) const
-{
-    key = d_data->zoomInKey;
-    modifiers = d_data->zoomInKeyModifiers;
-}
-
-/*!
-   Assign the key, that is used for zooming out.
-   The default combination is Qt::Key_Minus + Qt::NoModifier.
-
-   \param key
-   \param modifiers
-   \sa getZoomOutKey(), setZoomOutKey()
-*/
-void QwtMagnifier::setZoomOutKey( int key, 
-    Qt::KeyboardModifiers modifiers )
-{
-    d_data->zoomOutKey = key;
-    d_data->zoomOutKeyModifiers = modifiers;
-}
-
-/*! 
-   \brief Retrieve the settings of the zoom out key
-
-   \param key Key code, see Qt::Key
-   \param modifiers Keyboard modifiers
-
-   \sa setZoomOutKey()
-*/
-void QwtMagnifier::getZoomOutKey( int &key, 
-    Qt::KeyboardModifiers &modifiers ) const
-{
-    key = d_data->zoomOutKey;
-    modifiers = d_data->zoomOutKeyModifiers;
-}
-
-/*!
-  \brief Event filter
-
-  When isEnabled() is true, the mouse events of the
-  observed widget are filtered.
-
-  \param object Object to be filtered
-  \param event Event
-
-  \return Forwarded to QObject::eventFilter()
-
-  \sa widgetMousePressEvent(), widgetMouseReleaseEvent(),
-      widgetMouseMoveEvent(), widgetWheelEvent(), widgetKeyPressEvent()
-      widgetKeyReleaseEvent()
-*/
-bool QwtMagnifier::eventFilter( QObject *object, QEvent *event )
-{
-    if ( object && object == parent() )
-    {
-        switch ( event->type() )
-        {
-            case QEvent::MouseButtonPress:
-            {
-                widgetMousePressEvent( static_cast<QMouseEvent *>( event ) );
-                break;
-            }
-            case QEvent::MouseMove:
-            {
-                widgetMouseMoveEvent( static_cast<QMouseEvent *>( event ) );
-                break;
-            }
-            case QEvent::MouseButtonRelease:
-            {
-                widgetMouseReleaseEvent( static_cast<QMouseEvent *>( event ) );
-                break;
-            }
-            case QEvent::Wheel:
-            {
-                widgetWheelEvent( static_cast<QWheelEvent *>( event ) );
-                break;
-            }
-            case QEvent::KeyPress:
-            {
-                widgetKeyPressEvent( static_cast<QKeyEvent *>( event ) );
-                break;
-            }
-            case QEvent::KeyRelease:
-            {
-                widgetKeyReleaseEvent( static_cast<QKeyEvent *>( event ) );
-                break;
-            }
-            default:;
-        }
-    }
-    return QObject::eventFilter( object, event );
-}
-
-/*!
-  Handle a mouse press event for the observed widget.
-
-  \param mouseEvent Mouse event
-  \sa eventFilter(), widgetMouseReleaseEvent(), widgetMouseMoveEvent()
-*/
-void QwtMagnifier::widgetMousePressEvent( QMouseEvent *mouseEvent )
-{
-    if ( parentWidget() == NULL )
-        return;
-
-    if ( ( mouseEvent->button() != d_data->mouseButton ) ||
-        ( mouseEvent->modifiers() != d_data->mouseButtonModifiers ) )
-    {
-        return;
-    }
-
-    d_data->hasMouseTracking = parentWidget()->hasMouseTracking();
-
-    parentWidget()->setMouseTracking( true );
-    d_data->mousePos = mouseEvent->pos();
-    d_data->mousePressed = true;
-}
-
-/*!
-  Handle a mouse release event for the observed widget.
-
-  \param mouseEvent Mouse event
-
-  \sa eventFilter(), widgetMousePressEvent(), widgetMouseMoveEvent(),
-*/
-void QwtMagnifier::widgetMouseReleaseEvent( QMouseEvent *mouseEvent )
-{
-    Q_UNUSED( mouseEvent );
-
-    if ( d_data->mousePressed && parentWidget() )
-    {
-        d_data->mousePressed = false;
-        parentWidget()->setMouseTracking( d_data->hasMouseTracking );
-    }
-}
-
-/*!
-  Handle a mouse move event for the observed widget.
-
-  \param mouseEvent Mouse event
-  \sa eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(),
-*/
-void QwtMagnifier::widgetMouseMoveEvent( QMouseEvent *mouseEvent )
-{
-    if ( !d_data->mousePressed )
-        return;
-
-    const int dy = mouseEvent->pos().y() - d_data->mousePos.y();
-    if ( dy != 0 )
-    {
-        double f = d_data->mouseFactor;
-        if ( dy < 0 )
-            f = 1 / f;
-
-        rescale( f );
-    }
-
-    d_data->mousePos = mouseEvent->pos();
-}
-
-/*!
-  Handle a wheel event for the observed widget.
-
-  \param wheelEvent Wheel event
-  \sa eventFilter()
-*/
-void QwtMagnifier::widgetWheelEvent( QWheelEvent *wheelEvent )
-{
-    if ( wheelEvent->modifiers() != d_data->wheelModifiers )
-    {
-        return;
-    }
-
-    if ( d_data->wheelFactor != 0.0 )
-    {
-        /*
-            A positive delta indicates that the wheel was
-            rotated forwards away from the user; a negative
-            value indicates that the wheel was rotated
-            backwards toward the user.
-            Most mouse types work in steps of 15 degrees,
-            in which case the delta value is a multiple
-            of 120 (== 15 * 8).
-         */
-        double f = qPow( d_data->wheelFactor, 
-            qAbs( wheelEvent->delta() / 120.0 ) );
-
-        if ( wheelEvent->delta() > 0 )
-            f = 1 / f;
-
-        rescale( f );
-    }
-}
-
-/*!
-  Handle a key press event for the observed widget.
-
-  \param keyEvent Key event
-  \sa eventFilter(), widgetKeyReleaseEvent()
-*/
-void QwtMagnifier::widgetKeyPressEvent( QKeyEvent *keyEvent )
-{
-    if ( keyEvent->key() == d_data->zoomInKey &&
-        keyEvent->modifiers() == d_data->zoomInKeyModifiers )
-    {
-        rescale( d_data->keyFactor );
-    }
-    else if ( keyEvent->key() == d_data->zoomOutKey &&
-        keyEvent->modifiers() == d_data->zoomOutKeyModifiers )
-    {
-        rescale( 1.0 / d_data->keyFactor );
-    }
-}
-
-/*!
-  Handle a key release event for the observed widget.
-
-  \param keyEvent Key event
-  \sa eventFilter(), widgetKeyReleaseEvent()
-*/
-void QwtMagnifier::widgetKeyReleaseEvent( QKeyEvent *keyEvent )
-{
-    Q_UNUSED( keyEvent );
-}
-
-//! \return Parent widget, where the rescaling happens
-QWidget *QwtMagnifier::parentWidget()
-{
-    return qobject_cast<QWidget *>( parent() );
-}
-
-//! \return Parent widget, where the rescaling happens
-const QWidget *QwtMagnifier::parentWidget() const
-{
-    return qobject_cast<const QWidget *>( parent() );
-}
-
diff --git a/SRC/Qwt/src/qwt_magnifier.h b/SRC/Qwt/src/qwt_magnifier.h
deleted file mode 100644
index 42ff41f..0000000
--- a/SRC/Qwt/src/qwt_magnifier.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_MAGNIFIER_H
-#define QWT_MAGNIFIER_H 1
-
-#include "qwt_global.h"
-#include <qobject.h>
-
-class QWidget;
-class QMouseEvent;
-class QWheelEvent;
-class QKeyEvent;
-
-/*!
-  \brief QwtMagnifier provides zooming, by magnifying in steps.
-
-  Using QwtMagnifier a plot can be zoomed in/out in steps using
-  keys, the mouse wheel or moving a mouse button in vertical direction.
-*/
-class QWT_EXPORT QwtMagnifier: public QObject
-{
-    Q_OBJECT
-
-public:
-    explicit QwtMagnifier( QWidget * );
-    virtual ~QwtMagnifier();
-
-    QWidget *parentWidget();
-    const QWidget *parentWidget() const;
-
-    void setEnabled( bool );
-    bool isEnabled() const;
-
-    // mouse
-    void setMouseFactor( double );
-    double mouseFactor() const;
-
-    void setMouseButton( Qt::MouseButton, Qt::KeyboardModifiers = Qt::NoModifier );
-    void getMouseButton( Qt::MouseButton &, Qt::KeyboardModifiers & ) const;
-
-    // mouse wheel
-    void setWheelFactor( double );
-    double wheelFactor() const;
-
-    void setWheelModifiers( Qt::KeyboardModifiers );
-    Qt::KeyboardModifiers wheelModifiers() const;
-
-    // keyboard
-    void setKeyFactor( double );
-    double keyFactor() const;
-
-    void setZoomInKey( int key, Qt::KeyboardModifiers = Qt::NoModifier );
-    void getZoomInKey( int &key, Qt::KeyboardModifiers & ) const;
-
-    void setZoomOutKey( int key, Qt::KeyboardModifiers = Qt::NoModifier );
-    void getZoomOutKey( int &key, Qt::KeyboardModifiers & ) const;
-
-    virtual bool eventFilter( QObject *, QEvent * );
-
-protected:
-    /*!
-       Rescale the parent widget
-       \param factor Scale factor
-     */
-    virtual void rescale( double factor ) = 0;
-
-    virtual void widgetMousePressEvent( QMouseEvent * );
-    virtual void widgetMouseReleaseEvent( QMouseEvent * );
-    virtual void widgetMouseMoveEvent( QMouseEvent * );
-    virtual void widgetWheelEvent( QWheelEvent * );
-    virtual void widgetKeyPressEvent( QKeyEvent * );
-    virtual void widgetKeyReleaseEvent( QKeyEvent * );
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_math.cpp b/SRC/Qwt/src/qwt_math.cpp
deleted file mode 100644
index 2186e02..0000000
--- a/SRC/Qwt/src/qwt_math.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_math.h"
-
-/*!
-  \brief Find the smallest value in an array
-  \param array Pointer to an array
-  \param size Array size
-*/
-double qwtGetMin( const double *array, int size )
-{
-    if ( size <= 0 )
-        return 0.0;
-
-    double rv = array[0];
-    for ( int i = 1; i < size; i++ )
-        rv = qMin( rv, array[i] );
-
-    return rv;
-}
-
-
-/*!
-  \brief Find the largest value in an array
-  \param array Pointer to an array
-  \param size Array size
-*/
-double qwtGetMax( const double *array, int size )
-{
-    if ( size <= 0 )
-        return 0.0;
-
-    double rv = array[0];
-    for ( int i = 1; i < size; i++ )
-        rv = qMax( rv, array[i] );
-
-    return rv;
-}
-
-/*!
-  \brief Normalize an angle to be int the range [0.0, 2 * PI[
-  \param radians Angle in radians
-  \return Normalized angle in radians
-*/
-double qwtNormalizeRadians( double radians )
-{
-    double a = ::fmod( radians, 2.0 * M_PI );
-    if ( a < 0.0 )
-        a += 2.0 * M_PI;
-
-    return a;
-
-}
-
-/*!
-  \brief Normalize an angle to be int the range [0.0, 360.0[
-  \param radians Angle in degrees
-  \return Normalized angle in degrees
-*/
-double qwtNormalizeDegrees( double degrees )
-{
-    double a = ::fmod( degrees, 360.0 );
-    if ( a < 0.0 )
-        a += 360.0;
-
-    return a;
-}
diff --git a/SRC/Qwt/src/qwt_math.h b/SRC/Qwt/src/qwt_math.h
deleted file mode 100644
index d6d0495..0000000
--- a/SRC/Qwt/src/qwt_math.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_MATH_H
-#define QWT_MATH_H
-
-#include "qwt_global.h"
-
-#if defined(_MSC_VER)
-/*
-  Microsoft says:
-
-  Define _USE_MATH_DEFINES before including math.h to expose these macro
-  definitions for common math constants.  These are placed under an #ifdef
-  since these commonly-defined names are not part of the C/C++ standards.
-*/
-#define _USE_MATH_DEFINES 1
-#endif
-
-#include <qmath.h>
-#include "qwt_global.h"
-
-#ifndef M_PI_2
-// For Qt <= 4.8.4 M_PI_2 is not known by MinGW-w64 
-// when compiling with -std=c++11
-#define M_PI_2 (1.57079632679489661923)
-#endif
-
-#ifndef LOG_MIN
-//! Minimum value for logarithmic scales
-#define LOG_MIN 1.0e-100
-#endif
-
-#ifndef LOG_MAX
-//! Maximum value for logarithmic scales
-#define LOG_MAX 1.0e100
-#endif
-
-QWT_EXPORT double qwtGetMin( const double *array, int size );
-QWT_EXPORT double qwtGetMax( const double *array, int size );
-
-QWT_EXPORT double qwtNormalizeRadians( double radians );
-QWT_EXPORT double qwtNormalizeDegrees( double degrees );
-
-/*!
-  \brief Compare 2 values, relative to an interval
-
-  Values are "equal", when :
-  \f$\cdot value2 - value1 <= abs(intervalSize * 10e^{-6})\f$
-
-  \param value1 First value to compare
-  \param value2 Second value to compare
-  \param intervalSize interval size
-
-  \return 0: if equal, -1: if value2 > value1, 1: if value1 > value2
-*/
-inline int qwtFuzzyCompare( double value1, double value2, double intervalSize )
-{
-    const double eps = qAbs( 1.0e-6 * intervalSize );
-
-    if ( value2 - value1 > eps )
-        return -1;
-
-    if ( value1 - value2 > eps )
-        return 1;
-
-    return 0;
-}
-
-
-inline bool qwtFuzzyGreaterOrEqual( double d1, double d2 )
-{
-    return ( d1 >= d2 ) || qFuzzyCompare( d1, d2 );
-}
-
-inline bool qwtFuzzyLessOrEqual( double d1, double d2 )
-{
-    return ( d1 <= d2 ) || qFuzzyCompare( d1, d2 );
-}
-
-//! Return the sign
-inline int qwtSign( double x )
-{
-    if ( x > 0.0 )
-        return 1;
-    else if ( x < 0.0 )
-        return ( -1 );
-    else
-        return 0;
-}
-
-//! Return the square of a number
-inline double qwtSqr( double x )
-{
-    return x * x;
-}
-
-//! Approximation of arc tangent ( error below 0,005 radians )
-inline double qwtFastAtan( double x )
-{
-    if ( x < -1.0 )
-        return -M_PI_2 - x / ( x * x + 0.28 );
-
-    if ( x > 1.0 )
-        return M_PI_2 - x / ( x * x + 0.28 );
-
-    return x / ( 1.0 + x * x * 0.28 );
-}
-
-//! Approximation of arc tangent ( error below 0,005 radians )
-inline double qwtFastAtan2( double y, double x )
-{
-    if ( x > 0 )
-        return qwtFastAtan( y / x );
-
-    if ( x < 0 )
-    {
-        const double d = qwtFastAtan( y / x );
-        return ( y >= 0 ) ? d + M_PI : d - M_PI;
-    }
-
-    if ( y < 0.0 )
-        return -M_PI_2;
-
-    if ( y > 0.0 )
-        return M_PI_2;
-
-    return 0.0;
-}
-
-//! Translate degrees into radians
-inline double qwtRadians( double degrees )
-{
-    return degrees * M_PI / 180.0;
-}
-
-//! Translate radians into degrees
-inline double qwtDegrees( double degrees )
-{
-    return degrees * 180.0 / M_PI;
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_matrix_raster_data.cpp b/SRC/Qwt/src/qwt_matrix_raster_data.cpp
deleted file mode 100644
index d0d2703..0000000
--- a/SRC/Qwt/src/qwt_matrix_raster_data.cpp
+++ /dev/null
@@ -1,298 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_matrix_raster_data.h"
-#include <qnumeric.h>
-#include <qmath.h>
-
-class QwtMatrixRasterData::PrivateData
-{
-public:
-    PrivateData():
-        resampleMode(QwtMatrixRasterData::NearestNeighbour),
-        numColumns(0)
-    {
-    }
-
-    inline double value(int row, int col) const
-    {
-        return values.data()[ row * numColumns + col ];
-    }
-
-    QwtMatrixRasterData::ResampleMode resampleMode;
-
-    QVector<double> values;
-    int numColumns;
-    int numRows;
-
-    double dx;
-    double dy;
-};
-
-//! Constructor
-QwtMatrixRasterData::QwtMatrixRasterData()
-{
-    d_data = new PrivateData();
-    update();
-}
-
-//! Destructor
-QwtMatrixRasterData::~QwtMatrixRasterData()
-{
-    delete d_data;
-}
-
-/*!
-   \brief Set the resampling algorithm
-
-   \param mode Resampling mode
-   \sa resampleMode(), value()
-*/
-void QwtMatrixRasterData::setResampleMode( ResampleMode mode )
-{
-    d_data->resampleMode = mode;
-}
-
-/*!
-   \return resampling algorithm
-   \sa setResampleMode(), value()
-*/
-QwtMatrixRasterData::ResampleMode QwtMatrixRasterData::resampleMode() const
-{
-    return d_data->resampleMode;
-}
-
-/*!
-   \brief Assign the bounding interval for an axis
-
-   Setting the bounding intervals for the X/Y axis is mandatory
-   to define the positions for the values of the value matrix.
-   The interval in Z direction defines the possible range for
-   the values in the matrix, what is f.e used by QwtPlotSpectrogram
-   to map values to colors. The Z-interval might be the bounding
-   interval of the values in the matrix, but usually it isn't.
-   ( f.e a interval of 0.0-100.0 for values in percentage )
-
-   \param axis X, Y or Z axis
-   \param interval Interval
-   
-   \sa QwtRasterData::interval(), setValueMatrix()
-*/
-void QwtMatrixRasterData::setInterval( 
-    Qt::Axis axis, const QwtInterval &interval )
-{
-    QwtRasterData::setInterval( axis, interval );
-    update();
-}
-
-/*!
-   \brief Assign a value matrix
-
-   The positions of the values are calculated by dividing
-   the bounding rectangle of the X/Y intervals into equidistant
-   rectangles ( pixels ). Each value corresponds to the center of 
-   a pixel.
-
-   \param values Vector of values
-   \param numColumns Number of columns
-
-   \sa valueMatrix(), numColumns(), numRows(), setInterval()()
-*/
-void QwtMatrixRasterData::setValueMatrix( 
-    const QVector<double> &values, int numColumns )
-{
-    d_data->values = values;
-    d_data->numColumns = qMax( numColumns, 0 );
-    update();
-}
-
-/*!
-   \return Value matrix
-   \sa setValueMatrix(), numColumns(), numRows(), setInterval()
-*/
-const QVector<double> QwtMatrixRasterData::valueMatrix() const
-{
-    return d_data->values;
-}
-
-/*!
-  \brief Change a single value in the matrix
-
-  \param row Row index
-  \param col Column index
-  \param value New value
-
-  \sa value(), setValueMatrix()
-*/
-void QwtMatrixRasterData::setValue( int row, int col, double value )
-{
-    if ( row >= 0 && row < d_data->numRows &&
-        col >= 0 && col < d_data->numColumns )
-    {
-        const int index = row * d_data->numColumns + col;
-        d_data->values.data()[ index ] = value;
-    }
-}
-
-/*!
-   \return Number of columns of the value matrix
-   \sa valueMatrix(), numRows(), setValueMatrix()
-*/
-int QwtMatrixRasterData::numColumns() const
-{
-    return d_data->numColumns;
-}
-
-/*!
-   \return Number of rows of the value matrix
-   \sa valueMatrix(), numColumns(), setValueMatrix()
-*/
-int QwtMatrixRasterData::numRows() const
-{
-    return d_data->numRows;
-}
-
-/*!
-   \brief Calculate the pixel hint
-
-   pixelHint() returns the geometry of a pixel, that can be used 
-   to calculate the resolution and alignment of the plot item, that is
-   representing the data. 
-
-   - NearestNeighbour\n
-     pixelHint() returns the surrounding pixel of the top left value 
-     in the matrix.
-
-   - BilinearInterpolation\n
-     Returns an empty rectangle recommending
-     to render in target device ( f.e. screen ) resolution. 
-
-   \param area Requested area, ignored
-   \return Calculated hint
-
-   \sa ResampleMode, setMatrix(), setInterval()
-*/
-QRectF QwtMatrixRasterData::pixelHint( const QRectF &area ) const
-{
-    Q_UNUSED( area )
-
-    QRectF rect;
-    if ( d_data->resampleMode == NearestNeighbour )
-    {
-        const QwtInterval intervalX = interval( Qt::XAxis );
-        const QwtInterval intervalY = interval( Qt::YAxis );
-        if ( intervalX.isValid() && intervalY.isValid() )
-        {
-            rect = QRectF( intervalX.minValue(), intervalY.minValue(),
-                d_data->dx, d_data->dy );
-        }
-    }
-
-    return rect;
-}
-
-/*!
-   \return the value at a raster position
-
-   \param x X value in plot coordinates
-   \param y Y value in plot coordinates
-
-   \sa ResampleMode
-*/
-double QwtMatrixRasterData::value( double x, double y ) const
-{
-    const QwtInterval xInterval = interval( Qt::XAxis );
-    const QwtInterval yInterval = interval( Qt::YAxis );
-
-    if ( !( xInterval.contains(x) && yInterval.contains(y) ) )
-        return qQNaN();
-
-    double value;
-
-    switch( d_data->resampleMode )
-    {
-        case BilinearInterpolation:
-        {
-            int col1 = qRound( (x - xInterval.minValue() ) / d_data->dx ) - 1;
-            int row1 = qRound( (y - yInterval.minValue() ) / d_data->dy ) - 1;
-            int col2 = col1 + 1;
-            int row2 = row1 + 1;
-
-            if ( col1 < 0 )
-                col1 = col2;
-            else if ( col2 >= static_cast<int>( d_data->numColumns ) )
-                col2 = col1;
-
-            if ( row1 < 0 )
-                row1 = row2;
-            else if ( row2 >= static_cast<int>( d_data->numRows ) )
-                row2 = row1;
-
-            const double v11 = d_data->value( row1, col1 );
-            const double v21 = d_data->value( row1, col2 );
-            const double v12 = d_data->value( row2, col1 );
-            const double v22 = d_data->value( row2, col2 );
-
-            const double x2 = xInterval.minValue() + 
-                ( col2 + 0.5 ) * d_data->dx;
-            const double y2 = yInterval.minValue() + 
-                ( row2 + 0.5 ) * d_data->dy;
-                
-            const double rx = ( x2 - x ) / d_data->dx;
-            const double ry = ( y2 - y ) / d_data->dy;
-
-            const double vr1 = rx * v11 + ( 1.0 - rx ) * v21;
-            const double vr2 = rx * v12 + ( 1.0 - rx ) * v22;
-
-            value = ry * vr1 + ( 1.0 - ry ) * vr2;
-
-            break;
-        }
-        case NearestNeighbour:
-        default:
-        {
-            int row = int( (y - yInterval.minValue() ) / d_data->dy );
-            int col = int( (x - xInterval.minValue() ) / d_data->dx );
-
-            // In case of intervals, where the maximum is included
-            // we get out of bound for row/col, when the value for the
-            // maximum is requested. Instead we return the value
-            // from the last row/col
-
-            if ( row >= d_data->numRows )
-                row = d_data->numRows - 1;
-
-            if ( col >= d_data->numColumns )
-                col = d_data->numColumns - 1;
-
-            value = d_data->value( row, col );
-        }
-    }
-
-    return value;
-}
-
-void QwtMatrixRasterData::update()
-{
-    d_data->numRows = 0;
-    d_data->dx = 0.0;
-    d_data->dy = 0.0;
-
-    if ( d_data->numColumns > 0 )
-    {
-        d_data->numRows = d_data->values.size() / d_data->numColumns;
-
-        const QwtInterval xInterval = interval( Qt::XAxis );
-        const QwtInterval yInterval = interval( Qt::YAxis );
-        if ( xInterval.isValid() )
-            d_data->dx = xInterval.width() / d_data->numColumns;
-        if ( yInterval.isValid() )
-            d_data->dy = yInterval.width() / d_data->numRows;
-    }
-}
diff --git a/SRC/Qwt/src/qwt_matrix_raster_data.h b/SRC/Qwt/src/qwt_matrix_raster_data.h
deleted file mode 100644
index 34c4cf4..0000000
--- a/SRC/Qwt/src/qwt_matrix_raster_data.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_MATRIX_RASTER_DATA_H
-#define QWT_MATRIX_RASTER_DATA_H 1
-
-#include "qwt_global.h"
-#include "qwt_raster_data.h"
-#include <qvector.h>
-
-/*!
-  \brief A class representing a matrix of values as raster data
-
-  QwtMatrixRasterData implements an interface for a matrix of
-  equidistant values, that can be used by a QwtPlotRasterItem. 
-  It implements a couple of resampling algorithms, to provide
-  values for positions, that or not on the value matrix.
-*/
-class QWT_EXPORT QwtMatrixRasterData: public QwtRasterData
-{
-public:
-    /*!
-      \brief Resampling algorithm
-      The default setting is NearestNeighbour;
-    */
-    enum ResampleMode
-    {
-        /*!
-          Return the value from the matrix, that is nearest to the
-          the requested position.
-         */
-        NearestNeighbour,
-
-        /*!
-          Interpolate the value from the distances and values of the 
-          4 surrounding values in the matrix,
-         */
-        BilinearInterpolation
-    };
-
-    QwtMatrixRasterData();
-    virtual ~QwtMatrixRasterData();
-
-    void setResampleMode(ResampleMode mode);
-    ResampleMode resampleMode() const;
-
-    virtual void setInterval( Qt::Axis, const QwtInterval & );
-
-    void setValueMatrix( const QVector<double> &values, int numColumns );
-    const QVector<double> valueMatrix() const;
-
-    void setValue( int row, int col, double value );
-
-    int numColumns() const;
-    int numRows() const;
-
-    virtual QRectF pixelHint( const QRectF & ) const;
-
-    virtual double value( double x, double y ) const;
-
-private:
-    void update();
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_null_paintdevice.cpp b/SRC/Qwt/src/qwt_null_paintdevice.cpp
deleted file mode 100644
index 1d1169f..0000000
--- a/SRC/Qwt/src/qwt_null_paintdevice.cpp
+++ /dev/null
@@ -1,593 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_null_paintdevice.h"
-#include <qpaintengine.h>
-#include <qpixmap.h>
-
-class QwtNullPaintDevice::PrivateData
-{
-public:
-    PrivateData():
-        mode( QwtNullPaintDevice::NormalMode )
-    {
-    }
-
-    QwtNullPaintDevice::Mode mode;
-};
-
-class QwtNullPaintDevice::PaintEngine: public QPaintEngine
-{
-public:
-    PaintEngine();
-
-    virtual bool begin( QPaintDevice * );
-    virtual bool end();
-
-    virtual Type type () const;
-    virtual void updateState(const QPaintEngineState &);
-
-    virtual void drawRects(const QRect *, int );
-    virtual void drawRects(const QRectF *, int );
-
-    virtual void drawLines(const QLine *, int );
-    virtual void drawLines(const QLineF *, int );
-
-    virtual void drawEllipse(const QRectF &);
-    virtual void drawEllipse(const QRect &);
-
-    virtual void drawPath(const QPainterPath &);
-
-    virtual void drawPoints(const QPointF *, int );
-    virtual void drawPoints(const QPoint *, int );
-
-    virtual void drawPolygon(const QPointF *, int , PolygonDrawMode );
-    virtual void drawPolygon(const QPoint *, int , PolygonDrawMode );
-
-    virtual void drawPixmap(const QRectF &, 
-        const QPixmap &, const QRectF &);
-
-    virtual void drawTextItem(const QPointF &, const QTextItem &);
-
-    virtual void drawTiledPixmap(const QRectF &, 
-        const QPixmap &, const QPointF &s);
-
-    virtual void drawImage(const QRectF &, 
-        const QImage &, const QRectF &, Qt::ImageConversionFlags );
-
-private:
-    QwtNullPaintDevice *nullDevice();
-};
-    
-QwtNullPaintDevice::PaintEngine::PaintEngine():
-    QPaintEngine( QPaintEngine::AllFeatures )
-{
-}
-
-bool QwtNullPaintDevice::PaintEngine::begin( QPaintDevice * )
-{
-    setActive( true );
-    return true;
-}
-
-bool QwtNullPaintDevice::PaintEngine::end()
-{
-    setActive( false );
-    return true;
-}
-
-QPaintEngine::Type QwtNullPaintDevice::PaintEngine::type() const
-{
-    return QPaintEngine::User;
-}
-
-void QwtNullPaintDevice::PaintEngine::drawRects(
-    const QRect *rects, int rectCount)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    if ( device->mode() != QwtNullPaintDevice::NormalMode )
-    {
-        QPaintEngine::drawRects( rects, rectCount );
-        return;
-    }
-
-    device->drawRects( rects, rectCount );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawRects(
-    const QRectF *rects, int rectCount)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    if ( device->mode() != QwtNullPaintDevice::NormalMode )
-    {
-        QPaintEngine::drawRects( rects, rectCount );
-        return;
-    }
-
-    device->drawRects( rects, rectCount );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawLines(
-    const QLine *lines, int lineCount)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    if ( device->mode() != QwtNullPaintDevice::NormalMode )
-    {
-        QPaintEngine::drawLines( lines, lineCount );
-        return;
-    }
-
-    device->drawLines( lines, lineCount );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawLines(
-    const QLineF *lines, int lineCount)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    if ( device->mode() != QwtNullPaintDevice::NormalMode )
-    {
-        QPaintEngine::drawLines( lines, lineCount );
-        return;
-    }
-
-    device->drawLines( lines, lineCount );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawEllipse(
-    const QRectF &rect)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    if ( device->mode() != QwtNullPaintDevice::NormalMode )
-    {
-        QPaintEngine::drawEllipse( rect );
-        return;
-    }
-
-    device->drawEllipse( rect );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawEllipse(
-    const QRect &rect)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    if ( device->mode() != QwtNullPaintDevice::NormalMode )
-    {
-        QPaintEngine::drawEllipse( rect );
-        return;
-    }
-
-    device->drawEllipse( rect );
-}
-
-
-void QwtNullPaintDevice::PaintEngine::drawPath(
-    const QPainterPath &path)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    device->drawPath( path );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawPoints(
-    const QPointF *points, int pointCount)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    if ( device->mode() != QwtNullPaintDevice::NormalMode )
-    {
-        QPaintEngine::drawPoints( points, pointCount );
-        return;
-    }
-
-    device->drawPoints( points, pointCount );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawPoints(
-    const QPoint *points, int pointCount)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    if ( device->mode() != QwtNullPaintDevice::NormalMode )
-    {
-        QPaintEngine::drawPoints( points, pointCount );
-        return;
-    }
-
-    device->drawPoints( points, pointCount );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawPolygon(
-    const QPointF *points, int pointCount, PolygonDrawMode mode)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    if ( device->mode() == QwtNullPaintDevice::PathMode )
-    {
-        QPainterPath path;
-
-        if ( pointCount > 0 )
-        {
-            path.moveTo( points[0] );
-            for ( int i = 1; i < pointCount; i++ )
-                path.lineTo( points[i] );
-
-            if ( mode != PolylineMode )
-                path.closeSubpath();
-        }
-
-        device->drawPath( path );
-        return;
-    }
-
-    device->drawPolygon( points, pointCount, mode );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawPolygon(
-    const QPoint *points, int pointCount, PolygonDrawMode mode)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    if ( device->mode() == QwtNullPaintDevice::PathMode )
-    {
-        QPainterPath path;
-
-        if ( pointCount > 0 )
-        {
-            path.moveTo( points[0] );
-            for ( int i = 1; i < pointCount; i++ )
-                path.lineTo( points[i] );
-
-            if ( mode != PolylineMode )
-                path.closeSubpath();
-        }
-
-        device->drawPath( path );
-        return;
-    }
-
-    device->drawPolygon( points, pointCount, mode );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawPixmap( 
-    const QRectF &rect, const QPixmap &pm, const QRectF &subRect )
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    device->drawPixmap( rect, pm, subRect );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawTextItem(
-    const QPointF &pos, const QTextItem &textItem)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    if ( device->mode() != QwtNullPaintDevice::NormalMode )
-    {
-        QPaintEngine::drawTextItem( pos, textItem );
-        return;
-    }
-
-    device->drawTextItem( pos, textItem );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawTiledPixmap(
-    const QRectF &rect, const QPixmap &pixmap, 
-    const QPointF &subRect)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    if ( device->mode() != QwtNullPaintDevice::NormalMode )
-    {
-        QPaintEngine::drawTiledPixmap( rect, pixmap, subRect );
-        return;
-    }   
-
-    device->drawTiledPixmap( rect, pixmap, subRect );
-}
-
-void QwtNullPaintDevice::PaintEngine::drawImage(
-    const QRectF &rect, const QImage &image, 
-    const QRectF &subRect, Qt::ImageConversionFlags flags)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    device->drawImage( rect, image, subRect, flags );
-}
-
-void QwtNullPaintDevice::PaintEngine::updateState(
-    const QPaintEngineState &state)
-{
-    QwtNullPaintDevice *device = nullDevice();
-    if ( device == NULL )
-        return;
-
-    device->updateState( state );
-}
-
-inline QwtNullPaintDevice *QwtNullPaintDevice::PaintEngine::nullDevice()
-{
-    if ( !isActive() )
-        return NULL;
-
-    return static_cast<QwtNullPaintDevice *>( paintDevice() );
-}
-
-//! Constructor
-QwtNullPaintDevice::QwtNullPaintDevice():
-    d_engine( NULL )
-{
-    d_data = new PrivateData;
-}
-
-//! Destructor
-QwtNullPaintDevice::~QwtNullPaintDevice()
-{
-    delete d_engine;
-    delete d_data;
-}
-
-/*!
-    Set the render mode
-
-    \param mode New mode
-    \sa mode()
- */
-void QwtNullPaintDevice::setMode( Mode mode )
-{
-    d_data->mode = mode;
-}
-
-/*! 
-    \return Render mode
-    \sa setMode()
-*/
-QwtNullPaintDevice::Mode QwtNullPaintDevice::mode() const
-{
-    return d_data->mode;
-}
-
-//! See QPaintDevice::paintEngine()
-QPaintEngine *QwtNullPaintDevice::paintEngine() const
-{
-    if ( d_engine == NULL )
-    {
-        QwtNullPaintDevice *that = 
-            const_cast< QwtNullPaintDevice * >( this );
-
-        that->d_engine = new PaintEngine();
-    }
-
-    return d_engine;
-}
-
-/*! 
-    See QPaintDevice::metric()
-
-    \param deviceMetric Type of metric
-    \return Metric information for the given paint device metric.
-
-    \sa sizeMetrics()
-*/
-int QwtNullPaintDevice::metric( PaintDeviceMetric deviceMetric ) const
-{
-    int value;
-
-    switch ( deviceMetric ) 
-    {
-        case PdmWidth:
-        {
-            value = sizeMetrics().width();
-            break;
-        }
-        case PdmHeight:
-        {
-            value = sizeMetrics().height();
-            break;
-        }
-        case PdmNumColors:
-        {
-            value = 0xffffffff;
-            break;
-        }
-        case PdmDepth:
-        {
-            value = 32;
-            break;
-        }
-        case PdmPhysicalDpiX:
-        case PdmPhysicalDpiY:
-        case PdmDpiY:
-        case PdmDpiX:
-        {
-            value = 72;
-            break;
-        }
-        case PdmWidthMM:
-        {
-            value = qRound( metric( PdmWidth ) * 25.4 / metric( PdmDpiX ) );
-            break;
-        }
-        case PdmHeightMM:
-        {
-            value = qRound( metric( PdmHeight ) * 25.4 / metric( PdmDpiY ) );
-            break;
-        }
-        default:
-            value = 0;
-    }
-    return value;
-
-}
-
-//! See QPaintEngine::drawRects()
-void QwtNullPaintDevice::drawRects(
-    const QRect *rects, int rectCount)
-{
-    Q_UNUSED(rects);
-    Q_UNUSED(rectCount);
-}
-
-//! See QPaintEngine::drawRects()
-void QwtNullPaintDevice::drawRects(
-    const QRectF *rects, int rectCount)
-{
-    Q_UNUSED(rects);
-    Q_UNUSED(rectCount);
-}
-
-//! See QPaintEngine::drawLines()
-void QwtNullPaintDevice::drawLines(
-    const QLine *lines, int lineCount)
-{
-    Q_UNUSED(lines);
-    Q_UNUSED(lineCount);
-}
-
-//! See QPaintEngine::drawLines()
-void QwtNullPaintDevice::drawLines(
-    const QLineF *lines, int lineCount)
-{
-    Q_UNUSED(lines);
-    Q_UNUSED(lineCount);
-}
-
-//! See QPaintEngine::drawEllipse()
-void QwtNullPaintDevice::drawEllipse( const QRectF &rect )
-{
-    Q_UNUSED(rect);
-}
-
-//! See QPaintEngine::drawEllipse()
-void QwtNullPaintDevice::drawEllipse( const QRect &rect )
-{
-    Q_UNUSED(rect);
-}
-
-//! See QPaintEngine::drawPath()
-void QwtNullPaintDevice::drawPath( const QPainterPath &path )
-{
-    Q_UNUSED(path);
-}
-
-//! See QPaintEngine::drawPoints()
-void QwtNullPaintDevice::drawPoints(
-    const QPointF *points, int pointCount)
-{
-    Q_UNUSED(points);
-    Q_UNUSED(pointCount);
-}
-
-//! See QPaintEngine::drawPoints()
-void QwtNullPaintDevice::drawPoints(
-    const QPoint *points, int pointCount)
-{
-    Q_UNUSED(points);
-    Q_UNUSED(pointCount);
-}
-
-//! See QPaintEngine::drawPolygon()
-void QwtNullPaintDevice::drawPolygon(
-    const QPointF *points, int pointCount, 
-    QPaintEngine::PolygonDrawMode mode)
-{
-    Q_UNUSED(points);
-    Q_UNUSED(pointCount);
-    Q_UNUSED(mode);
-}
-
-//! See QPaintEngine::drawPolygon()
-void QwtNullPaintDevice::drawPolygon(
-    const QPoint *points, int pointCount, 
-    QPaintEngine::PolygonDrawMode mode)
-{
-    Q_UNUSED(points);
-    Q_UNUSED(pointCount);
-    Q_UNUSED(mode);
-}
-
-//! See QPaintEngine::drawPixmap()
-void QwtNullPaintDevice::drawPixmap( const QRectF &rect, 
-    const QPixmap &pm, const QRectF &subRect )
-{
-    Q_UNUSED(rect);
-    Q_UNUSED(pm);
-    Q_UNUSED(subRect);
-}
-
-//! See QPaintEngine::drawTextItem()
-void QwtNullPaintDevice::drawTextItem(
-    const QPointF &pos, const QTextItem &textItem)
-{
-    Q_UNUSED(pos);
-    Q_UNUSED(textItem);
-}
-
-//! See QPaintEngine::drawTiledPixmap()
-void QwtNullPaintDevice::drawTiledPixmap(
-    const QRectF &rect, const QPixmap &pixmap, 
-    const QPointF &subRect)
-{
-    Q_UNUSED(rect);
-    Q_UNUSED(pixmap);
-    Q_UNUSED(subRect);
-}
-
-//! See QPaintEngine::drawImage()
-void QwtNullPaintDevice::drawImage(
-    const QRectF &rect, const QImage &image, 
-    const QRectF &subRect, Qt::ImageConversionFlags flags)
-{
-    Q_UNUSED(rect);
-    Q_UNUSED(image);
-    Q_UNUSED(subRect);
-    Q_UNUSED(flags);
-}
-
-//! See QPaintEngine::updateState()
-void QwtNullPaintDevice::updateState( 
-    const QPaintEngineState &state )
-{
-    Q_UNUSED(state);
-}
diff --git a/SRC/Qwt/src/qwt_null_paintdevice.h b/SRC/Qwt/src/qwt_null_paintdevice.h
deleted file mode 100644
index 679ec5d..0000000
--- a/SRC/Qwt/src/qwt_null_paintdevice.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_NULL_PAINT_DEVICE_H
-#define QWT_NULL_PAINT_DEVICE_H 1
-
-#include "qwt_global.h"
-#include <qpaintdevice.h>
-#include <qpaintengine.h>
-
-/*!
-  \brief A null paint device doing nothing
-
-  Sometimes important layout/rendering geometries are not 
-  available or changeable from the public Qt class interface. 
-  ( f.e hidden in the style implementation ).
-
-  QwtNullPaintDevice can be used to manipulate or filter out 
-  this information by analyzing the stream of paint primitives.
-
-  F.e. QwtNullPaintDevice is used by QwtPlotCanvas to identify
-  styled backgrounds with rounded corners.
-*/
-
-class QWT_EXPORT QwtNullPaintDevice: public QPaintDevice
-{
-public:
-    /*!
-      \brief Render mode
-
-      \sa setMode(), mode()
-     */
-    enum Mode
-    {
-        /*!
-           All vector graphic primitives are painted by
-           the corresponding draw methods
-         */
-        NormalMode, 
-
-        /*!
-           Vector graphic primitives ( beside polygons ) are mapped to a QPainterPath
-           and are painted by drawPath. In PathMode mode
-           only a few draw methods are called:
-
-           - drawPath()
-           - drawPixmap()
-           - drawImage()
-           - drawPolygon()
-         */
-        PolygonPathMode,
-
-        /*!
-           Vector graphic primitives are mapped to a QPainterPath
-           and are painted by drawPath. In PathMode mode
-           only a few draw methods are called:
-
-           - drawPath()
-           - drawPixmap()
-           - drawImage()
-         */
-        PathMode
-    };
-
-    QwtNullPaintDevice();
-    virtual ~QwtNullPaintDevice();
-
-    void setMode( Mode );
-    Mode mode() const;
-
-    virtual QPaintEngine *paintEngine() const;
-
-    virtual int metric( PaintDeviceMetric metric ) const;
-
-    virtual void drawRects(const QRect *, int );
-    virtual void drawRects(const QRectF *, int );
-
-    virtual void drawLines(const QLine *, int );
-    virtual void drawLines(const QLineF *, int );
-
-    virtual void drawEllipse(const QRectF &);
-    virtual void drawEllipse(const QRect &);
-
-    virtual void drawPath(const QPainterPath &);
-
-    virtual void drawPoints(const QPointF *, int );
-    virtual void drawPoints(const QPoint *, int );
-
-    virtual void drawPolygon(
-        const QPointF *, int , QPaintEngine::PolygonDrawMode );
-
-    virtual void drawPolygon(
-        const QPoint *, int , QPaintEngine::PolygonDrawMode );
-
-    virtual void drawPixmap(const QRectF &,
-        const QPixmap &, const QRectF &);
-
-    virtual void drawTextItem(const QPointF &, const QTextItem &);
-
-    virtual void drawTiledPixmap(const QRectF &,
-        const QPixmap &, const QPointF &s);
-
-    virtual void drawImage(const QRectF &,
-        const QImage &, const QRectF &, Qt::ImageConversionFlags );
-
-    virtual void updateState( const QPaintEngineState &state );
-
-protected:
-    //! \return Size needed to implement metric()
-    virtual QSize sizeMetrics() const = 0;
-
-private:
-    class PaintEngine;
-    PaintEngine *d_engine;
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_painter.cpp b/SRC/Qwt/src/qwt_painter.cpp
deleted file mode 100644
index 229ac5d..0000000
--- a/SRC/Qwt/src/qwt_painter.cpp
+++ /dev/null
@@ -1,1294 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_painter.h"
-#include "qwt_math.h"
-#include "qwt_clipper.h"
-#include "qwt_color_map.h"
-#include "qwt_scale_map.h"
-#include <qwindowdefs.h>
-#include <qwidget.h>
-#include <qframe.h>
-#include <qrect.h>
-#include <qpainter.h>
-#include <qpalette.h>
-#include <qpaintdevice.h>
-#include <qpixmap.h>
-#include <qstyle.h>
-#include <qtextdocument.h>
-#include <qabstracttextdocumentlayout.h>
-#include <qstyleoption.h>
-#include <qpaintengine.h>
-#include <qapplication.h>
-#include <qdesktopwidget.h>
-
-#if QT_VERSION >= 0x050000
-#include <qwindow.h>
-#endif
-
-#if QT_VERSION < 0x050000 
-
-#ifdef Q_WS_X11
-#include <qx11info_x11.h>
-#endif
-
-#endif
-
-bool QwtPainter::d_polylineSplitting = true;
-bool QwtPainter::d_roundingAlignment = true;
-
-static inline bool qwtIsClippingNeeded( 
-    const QPainter *painter, QRectF &clipRect )
-{
-    bool doClipping = false;
-    const QPaintEngine *pe = painter->paintEngine();
-    if ( pe && pe->type() == QPaintEngine::SVG )
-    {
-        // The SVG paint engine ignores any clipping,
-
-        if ( painter->hasClipping() )
-        {
-            doClipping = true;
-            clipRect = painter->clipRegion().boundingRect();
-        }
-    }
-
-    return doClipping;
-}
-
-template <class T>
-static inline void qwtDrawPolyline( QPainter *painter,
-    const T *points, int pointCount, bool polylineSplitting )
-{
-    bool doSplit = false;
-    if ( polylineSplitting )
-    {
-        const QPaintEngine *pe = painter->paintEngine();
-        if ( pe && pe->type() == QPaintEngine::Raster )
-        {
-            /*
-                The raster paint engine seems to use some algo with O(n*n).
-                ( Qt 4.3 is better than Qt 4.2, but remains unacceptable)
-                To work around this problem, we have to split the polygon into
-                smaller pieces.
-             */
-            doSplit = true;
-        }
-    }
-
-    if ( doSplit )
-    {
-        const int splitSize = 6;
-
-        for ( int i = 0; i < pointCount; i += splitSize )
-        {
-            const int n = qMin( splitSize + 1, pointCount - i );
-            painter->drawPolyline( points + i, n );
-        }
-    }
-    else
-    {
-        painter->drawPolyline( points, pointCount );
-    }
-}
-
-static inline QSize qwtScreenResolution()
-{
-    static QSize screenResolution;
-    if ( !screenResolution.isValid() )
-    {
-        QDesktopWidget *desktop = QApplication::desktop();
-        if ( desktop )
-        {
-            screenResolution.setWidth( desktop->logicalDpiX() );
-            screenResolution.setHeight( desktop->logicalDpiY() );
-        }
-    }
-
-    return screenResolution;
-}
-
-static inline void qwtUnscaleFont( QPainter *painter )
-{
-    if ( painter->font().pixelSize() >= 0 )
-        return;
-
-    const QSize screenResolution = qwtScreenResolution();
-
-    const QPaintDevice *pd = painter->device();
-    if ( pd->logicalDpiX() != screenResolution.width() ||
-        pd->logicalDpiY() != screenResolution.height() )
-    {
-        QFont pixelFont( painter->font(), QApplication::desktop() );
-        pixelFont.setPixelSize( QFontInfo( pixelFont ).pixelSize() );
-
-        painter->setFont( pixelFont );
-    }
-}
-
-/*!
-  Check is the application is running with the X11 graphics system
-  that has some special capabilities that can be used for incremental
-  painting to a widget.
-
-  \return True, when the graphics system is X11
-*/
-bool QwtPainter::isX11GraphicsSystem()
-{
-    static int onX11 = -1;
-    if ( onX11 < 0 )
-    {
-        QPixmap pm( 1, 1 );
-        QPainter painter( &pm );
-
-        onX11 = ( painter.paintEngine()->type() == QPaintEngine::X11 ) ? 1 : 0;
-    }
-
-    return onX11 == 1;
-}
-
-/*!
-  Check if the painter is using a paint engine, that aligns
-  coordinates to integers. Today these are all paint engines
-  beside QPaintEngine::Pdf and QPaintEngine::SVG.
-
-  If we have an integer based paint engine it is also
-  checked if the painter has a transformation matrix,
-  that rotates or scales.
-
-  \param  painter Painter
-  \return true, when the painter is aligning
-
-  \sa setRoundingAlignment()
-*/
-bool QwtPainter::isAligning( QPainter *painter )
-{
-    if ( painter && painter->isActive() )
-    {
-        switch ( painter->paintEngine()->type() )
-        {
-            case QPaintEngine::Pdf:
-            case QPaintEngine::SVG:
-                return false;
-
-            default:;
-        }
-
-        const QTransform tr = painter->transform();
-        if ( tr.isRotating() || tr.isScaling() )
-        {
-            // we might have to check translations too
-            return false;
-        }
-    }
-
-    return true;
-}
-
-/*!
-  Enable whether coordinates should be rounded, before they are painted
-  to a paint engine that floors to integer values. For other paint engines
-  this ( PDF, SVG ), this flag has no effect.
-  QwtPainter stores this flag only, the rounding itself is done in 
-  the painting code ( f.e the plot items ).
-
-  The default setting is true. 
-
-  \sa roundingAlignment(), isAligning()
-*/
-void QwtPainter::setRoundingAlignment( bool enable )
-{
-    d_roundingAlignment = enable;
-}
-
-/*!
-  \brief En/Disable line splitting for the raster paint engine
-
-  In some Qt versions the raster paint engine paints polylines of many points
-  much faster when they are split in smaller chunks: f.e all supported Qt versions
-  >= Qt 5.0 when drawing an antialiased polyline with a pen width >=2.
-
-  The default setting is true.
-
-  \sa polylineSplitting()
-*/
-void QwtPainter::setPolylineSplitting( bool enable )
-{
-    d_polylineSplitting = enable;
-}
-
-//! Wrapper for QPainter::drawPath()
-void QwtPainter::drawPath( QPainter *painter, const QPainterPath &path )
-{
-    painter->drawPath( path );
-}
-
-//! Wrapper for QPainter::drawRect()
-void QwtPainter::drawRect( QPainter *painter, double x, double y, double w, double h )
-{
-    drawRect( painter, QRectF( x, y, w, h ) );
-}
-
-//! Wrapper for QPainter::drawRect()
-void QwtPainter::drawRect( QPainter *painter, const QRectF &rect )
-{
-    const QRectF r = rect;
-
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    if ( deviceClipping )
-    {
-        if ( !clipRect.intersects( r ) )
-            return;
-
-        if ( !clipRect.contains( r ) )
-        {
-            fillRect( painter, r & clipRect, painter->brush() );
-
-            painter->save();
-            painter->setBrush( Qt::NoBrush );
-            drawPolyline( painter, QPolygonF( r ) );
-            painter->restore();
-
-            return;
-        }
-    }
-
-    painter->drawRect( r );
-}
-
-//! Wrapper for QPainter::fillRect()
-void QwtPainter::fillRect( QPainter *painter,
-    const QRectF &rect, const QBrush &brush )
-{
-    if ( !rect.isValid() )
-        return;
-
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    /*
-      Performance of Qt4 is horrible for a non trivial brush. Without
-      clipping expect minutes or hours for repainting large rectangles
-      (might result from zooming)
-    */
-
-    if ( deviceClipping )
-        clipRect &= painter->window();
-    else
-        clipRect = painter->window();
-
-    if ( painter->hasClipping() )
-        clipRect &= painter->clipRegion().boundingRect();
-
-    QRectF r = rect;
-    if ( deviceClipping )
-        r = r.intersected( clipRect );
-
-    if ( r.isValid() )
-        painter->fillRect( r, brush );
-}
-
-//! Wrapper for QPainter::drawPie()
-void QwtPainter::drawPie( QPainter *painter, const QRectF &rect,
-    int a, int alen )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-    if ( deviceClipping && !clipRect.contains( rect ) )
-        return;
-
-    painter->drawPie( rect, a, alen );
-}
-
-//! Wrapper for QPainter::drawEllipse()
-void QwtPainter::drawEllipse( QPainter *painter, const QRectF &rect )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    if ( deviceClipping && !clipRect.contains( rect ) )
-        return;
-
-    painter->drawEllipse( rect );
-}
-
-//! Wrapper for QPainter::drawText()
-void QwtPainter::drawText( QPainter *painter, double x, double y,
-        const QString &text )
-{
-    drawText( painter, QPointF( x, y ), text );
-}
-
-//! Wrapper for QPainter::drawText()
-void QwtPainter::drawText( QPainter *painter, const QPointF &pos,
-        const QString &text )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    if ( deviceClipping && !clipRect.contains( pos ) )
-        return;
-
-
-    painter->save();
-    qwtUnscaleFont( painter );
-    painter->drawText( pos, text );
-    painter->restore();
-}
-
-//! Wrapper for QPainter::drawText()
-void QwtPainter::drawText( QPainter *painter,
-    double x, double y, double w, double h,
-    int flags, const QString &text )
-{
-    drawText( painter, QRectF( x, y, w, h ), flags, text );
-}
-
-//! Wrapper for QPainter::drawText()
-void QwtPainter::drawText( QPainter *painter, const QRectF &rect,
-        int flags, const QString &text )
-{
-    painter->save();
-    qwtUnscaleFont( painter );
-    painter->drawText( rect, flags, text );
-    painter->restore();
-}
-
-#ifndef QT_NO_RICHTEXT
-
-/*!
-  Draw a text document into a rectangle
-
-  \param painter Painter
-  \param rect Traget rectangle
-  \param flags Alignments/Text flags, see QPainter::drawText()
-  \param text Text document
-*/
-void QwtPainter::drawSimpleRichText( QPainter *painter, const QRectF &rect,
-    int flags, const QTextDocument &text )
-{
-    QTextDocument *txt = text.clone();
-
-    painter->save();
-
-    QRectF unscaledRect = rect;
-
-    if ( painter->font().pixelSize() < 0 )
-    {
-        const QSize res = qwtScreenResolution();
-
-        const QPaintDevice *pd = painter->device();
-        if ( pd->logicalDpiX() != res.width() ||
-            pd->logicalDpiY() != res.height() )
-        {
-            QTransform transform;
-            transform.scale( res.width() / double( pd->logicalDpiX() ),
-                res.height() / double( pd->logicalDpiY() ));
-
-            painter->setWorldTransform( transform, true );
-            unscaledRect = transform.inverted().mapRect(rect);
-        }
-    }  
-
-    txt->setDefaultFont( painter->font() );
-    txt->setPageSize( QSizeF( unscaledRect.width(), QWIDGETSIZE_MAX ) );
-
-    QAbstractTextDocumentLayout* layout = txt->documentLayout();
-
-    const double height = layout->documentSize().height();
-    double y = unscaledRect.y();
-    if ( flags & Qt::AlignBottom )
-        y += ( unscaledRect.height() - height );
-    else if ( flags & Qt::AlignVCenter )
-        y += ( unscaledRect.height() - height ) / 2;
-
-    QAbstractTextDocumentLayout::PaintContext context;
-    context.palette.setColor( QPalette::Text, painter->pen().color() );
-
-    painter->translate( unscaledRect.x(), y );
-    layout->draw( painter, context );
-
-    painter->restore();
-    delete txt;
-}
-
-#endif // !QT_NO_RICHTEXT
-
-
-//! Wrapper for QPainter::drawLine()
-void QwtPainter::drawLine( QPainter *painter,
-    const QPointF &p1, const QPointF &p2 )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    if ( deviceClipping &&
-        !( clipRect.contains( p1 ) && clipRect.contains( p2 ) ) )
-    {
-        QPolygonF polygon;
-        polygon += p1;
-        polygon += p2;
-        drawPolyline( painter, polygon );
-        return;
-    }
-
-    painter->drawLine( p1, p2 );
-}
-
-//! Wrapper for QPainter::drawPolygon()
-void QwtPainter::drawPolygon( QPainter *painter, const QPolygonF &polygon )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    QPolygonF cpa = polygon;
-    if ( deviceClipping )
-        cpa = QwtClipper::clipPolygonF( clipRect, polygon );
-
-    painter->drawPolygon( cpa );
-}
-
-//! Wrapper for QPainter::drawPolyline()
-void QwtPainter::drawPolyline( QPainter *painter, const QPolygonF &polygon )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    QPolygonF cpa = polygon;
-    if ( deviceClipping )
-        cpa = QwtClipper::clipPolygonF( clipRect, cpa );
-
-    qwtDrawPolyline<QPointF>( painter,
-        cpa.constData(), cpa.size(), d_polylineSplitting );
-}
-
-//! Wrapper for QPainter::drawPolyline()
-void QwtPainter::drawPolyline( QPainter *painter,
-    const QPointF *points, int pointCount )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    if ( deviceClipping )
-    {
-        QPolygonF polygon( pointCount );
-        ::memcpy( polygon.data(), points, pointCount * sizeof( QPointF ) );
-
-        polygon = QwtClipper::clipPolygonF( clipRect, polygon );
-        qwtDrawPolyline<QPointF>( painter,
-            polygon.constData(), polygon.size(), d_polylineSplitting );
-    }
-    else
-    {
-        qwtDrawPolyline<QPointF>( painter, points, pointCount, d_polylineSplitting );
-    }
-}
-
-//! Wrapper for QPainter::drawPolygon()
-void QwtPainter::drawPolygon( QPainter *painter, const QPolygon &polygon )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    QPolygon cpa = polygon;
-    if ( deviceClipping )
-        cpa = QwtClipper::clipPolygon( clipRect, polygon );
-
-    painter->drawPolygon( cpa );
-}
-
-//! Wrapper for QPainter::drawPolyline()
-void QwtPainter::drawPolyline( QPainter *painter, const QPolygon &polygon )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    QPolygon cpa = polygon;
-    if ( deviceClipping )
-        cpa = QwtClipper::clipPolygon( clipRect, cpa );
-
-    qwtDrawPolyline<QPoint>( painter,
-        cpa.constData(), cpa.size(), d_polylineSplitting );
-}
-
-//! Wrapper for QPainter::drawPolyline()
-void QwtPainter::drawPolyline( QPainter *painter,
-    const QPoint *points, int pointCount )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    if ( deviceClipping )
-    {
-        QPolygon polygon( pointCount );
-        ::memcpy( polygon.data(), points, pointCount * sizeof( QPoint ) );
-
-        polygon = QwtClipper::clipPolygon( clipRect, polygon );
-        qwtDrawPolyline<QPoint>( painter,
-            polygon.constData(), polygon.size(), d_polylineSplitting );
-    }
-    else
-        qwtDrawPolyline<QPoint>( painter, points, pointCount, d_polylineSplitting );
-}
-
-//! Wrapper for QPainter::drawPoint()
-void QwtPainter::drawPoint( QPainter *painter, const QPointF &pos )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    if ( deviceClipping && !clipRect.contains( pos ) )
-        return;
-
-    painter->drawPoint( pos );
-}
-
-//! Wrapper for QPainter::drawPoint()
-void QwtPainter::drawPoint( QPainter *painter, const QPoint &pos )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    if ( deviceClipping )
-    {
-        const int minX = qCeil( clipRect.left() );
-        const int maxX = qFloor( clipRect.right() );
-        const int minY = qCeil( clipRect.top() );
-        const int maxY = qFloor( clipRect.bottom() );
-
-        if ( pos.x() < minX || pos.x() > maxX 
-            || pos.y() < minY || pos.y() > maxY )
-        {
-            return;
-        }
-    }
-
-    painter->drawPoint( pos );
-}
-
-//! Wrapper for QPainter::drawPoints()
-void QwtPainter::drawPoints( QPainter *painter, 
-    const QPoint *points, int pointCount )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    if ( deviceClipping )
-    {
-        const int minX = qCeil( clipRect.left() );
-        const int maxX = qFloor( clipRect.right() );
-        const int minY = qCeil( clipRect.top() );
-        const int maxY = qFloor( clipRect.bottom() );
-
-        const QRect r( minX, minY, maxX - minX, maxY - minY );
-
-        QPolygon clippedPolygon( pointCount );
-        QPoint *clippedData = clippedPolygon.data();
-
-        int numClippedPoints = 0;
-        for ( int i = 0; i < pointCount; i++ )
-        {
-            if ( r.contains( points[i] ) )
-                clippedData[ numClippedPoints++ ] = points[i];
-        }
-        painter->drawPoints( clippedData, numClippedPoints );
-    }
-    else
-    {
-        painter->drawPoints( points, pointCount );
-    }
-}
-
-//! Wrapper for QPainter::drawPoints()
-void QwtPainter::drawPoints( QPainter *painter, 
-    const QPointF *points, int pointCount )
-{
-    QRectF clipRect;
-    const bool deviceClipping = qwtIsClippingNeeded( painter, clipRect );
-
-    if ( deviceClipping )
-    {
-        QPolygonF clippedPolygon( pointCount );
-        QPointF *clippedData = clippedPolygon.data();
-
-        int numClippedPoints = 0;
-        for ( int i = 0; i < pointCount; i++ )
-        {
-            if ( clipRect.contains( points[i] ) )
-                clippedData[ numClippedPoints++ ] = points[i];
-        }
-        painter->drawPoints( clippedData, numClippedPoints );
-    }
-    else
-    {
-        painter->drawPoints( points, pointCount );
-    }
-}
-
-//! Wrapper for QPainter::drawImage()
-void QwtPainter::drawImage( QPainter *painter,
-    const QRectF &rect, const QImage &image )
-{
-    const QRect alignedRect = rect.toAlignedRect();
-
-    if ( alignedRect != rect )
-    {
-        const QRectF clipRect = rect.adjusted( 0.0, 0.0, -1.0, -1.0 );
-
-        painter->save();
-        painter->setClipRect( clipRect, Qt::IntersectClip );
-        painter->drawImage( alignedRect, image );
-        painter->restore();
-    }
-    else
-    {
-        painter->drawImage( alignedRect, image );
-    }
-}
-
-//! Wrapper for QPainter::drawPixmap()
-void QwtPainter::drawPixmap( QPainter *painter,
-    const QRectF &rect, const QPixmap &pixmap )
-{
-    const QRect alignedRect = rect.toAlignedRect();
-
-    if ( alignedRect != rect )
-    {
-        const QRectF clipRect = rect.adjusted( 0.0, 0.0, -1.0, -1.0 );
-
-        painter->save();
-        painter->setClipRect( clipRect, Qt::IntersectClip );
-        painter->drawPixmap( alignedRect, pixmap );
-        painter->restore();
-    }
-    else
-    {
-        painter->drawPixmap( alignedRect, pixmap );
-    }
-}
-
-//! Draw a focus rectangle on a widget using its style.
-void QwtPainter::drawFocusRect( QPainter *painter, const QWidget *widget )
-{
-    drawFocusRect( painter, widget, widget->rect() );
-}
-
-//! Draw a focus rectangle on a widget using its style.
-void QwtPainter::drawFocusRect( QPainter *painter, const QWidget *widget,
-    const QRect &rect )
-{
-    QStyleOptionFocusRect opt;
-    opt.init( widget );
-    opt.rect = rect;
-    opt.state |= QStyle::State_HasFocus;
-
-    widget->style()->drawPrimitive( QStyle::PE_FrameFocusRect,
-        &opt, painter, widget );
-}
-
-/*!
-  Draw a round frame 
-
-  \param painter Painter
-  \param rect Frame rectangle
-  \param palette QPalette::WindowText is used for plain borders
-                 QPalette::Dark and QPalette::Light for raised
-                 or sunken borders
-  \param lineWidth Line width
-  \param frameStyle bitwise OR´ed value of QFrame::Shape and QFrame::Shadow
-*/
-void QwtPainter::drawRoundFrame( QPainter *painter,
-    const QRectF &rect, const QPalette &palette, 
-    int lineWidth, int frameStyle )
-{
-    enum Style
-    {
-        Plain,
-        Sunken,
-        Raised
-    };
-
-    Style style = Plain;
-    if ( (frameStyle & QFrame::Sunken) == QFrame::Sunken )
-        style = Sunken;
-    else if ( (frameStyle & QFrame::Raised) == QFrame::Raised )
-        style = Raised;
-
-    const double lw2 = 0.5 * lineWidth;
-    QRectF r = rect.adjusted( lw2, lw2, -lw2, -lw2 );
-
-    QBrush brush;
-
-    if ( style != Plain )
-    {
-        QColor c1 = palette.color( QPalette::Light );
-        QColor c2 = palette.color( QPalette::Dark );
-
-        if ( style == Sunken )
-            qSwap( c1, c2 );
-
-        QLinearGradient gradient( r.topLeft(), r.bottomRight() );
-        gradient.setColorAt( 0.0, c1 );
-#if 0
-        gradient.setColorAt( 0.3, c1 );
-        gradient.setColorAt( 0.7, c2 );
-#endif
-        gradient.setColorAt( 1.0, c2 );
-
-        brush = QBrush( gradient );
-    }
-    else // Plain
-    {
-        brush = palette.brush( QPalette::WindowText );
-    }
-
-    painter->save();
-
-    painter->setPen( QPen( brush, lineWidth ) );
-    painter->setBrush( Qt::NoBrush );
-
-    painter->drawEllipse( r );
-
-    painter->restore();
-}
-
-/*!
-  Draw a rectangular frame
-
-  \param painter Painter
-  \param rect Frame rectangle
-  \param palette Palette
-  \param foregroundRole Foreground role used for QFrame::Plain
-  \param frameWidth Frame width
-  \param midLineWidth Used for QFrame::Box
-  \param frameStyle bitwise OR´ed value of QFrame::Shape and QFrame::Shadow
-*/
-void QwtPainter::drawFrame( QPainter *painter, const QRectF &rect,
-    const QPalette &palette, QPalette::ColorRole foregroundRole,
-    int frameWidth, int midLineWidth, int frameStyle )
-{
-    if ( frameWidth <= 0 || rect.isEmpty() )
-        return;
-
-    const int shadow = frameStyle & QFrame::Shadow_Mask;
-
-    painter->save();
-
-    if ( shadow == QFrame::Plain )
-    {
-        const QRectF outerRect = rect.adjusted( 0.0, 0.0, -1.0, -1.0 );
-        const QRectF innerRect = outerRect.adjusted( 
-            frameWidth, frameWidth, -frameWidth, -frameWidth );
-
-        QPainterPath path;
-        path.addRect( outerRect );
-        path.addRect( innerRect );
-
-        painter->setPen( Qt::NoPen );
-        painter->setBrush( palette.color( foregroundRole ) );
-
-        painter->drawPath( path );
-    }
-    else
-    {
-        const int shape = frameStyle & QFrame::Shape_Mask;
-
-        if ( shape == QFrame::Box )
-        {
-            const QRectF outerRect = rect.adjusted( 0.0, 0.0, -1.0, -1.0 );
-            const QRectF midRect1 = outerRect.adjusted( 
-                frameWidth, frameWidth, -frameWidth, -frameWidth );
-            const QRectF midRect2 = midRect1.adjusted( 
-                midLineWidth, midLineWidth, -midLineWidth, -midLineWidth );
-
-            const QRectF innerRect = midRect2.adjusted( 
-                frameWidth, frameWidth, -frameWidth, -frameWidth );
-
-            QPainterPath path1;
-            path1.moveTo( outerRect.bottomLeft() );
-            path1.lineTo( outerRect.topLeft() );
-            path1.lineTo( outerRect.topRight() );
-            path1.lineTo( midRect1.topRight() );
-            path1.lineTo( midRect1.topLeft() );
-            path1.lineTo( midRect1.bottomLeft() );
-
-            QPainterPath path2;
-            path2.moveTo( outerRect.bottomLeft() );
-            path2.lineTo( outerRect.bottomRight() );
-            path2.lineTo( outerRect.topRight() );
-            path2.lineTo( midRect1.topRight() );
-            path2.lineTo( midRect1.bottomRight() );
-            path2.lineTo( midRect1.bottomLeft() );
-
-            QPainterPath path3;
-            path3.moveTo( midRect2.bottomLeft() );
-            path3.lineTo( midRect2.topLeft() );
-            path3.lineTo( midRect2.topRight() );
-            path3.lineTo( innerRect.topRight() );
-            path3.lineTo( innerRect.topLeft() );
-            path3.lineTo( innerRect.bottomLeft() );
-
-            QPainterPath path4;
-            path4.moveTo( midRect2.bottomLeft() );
-            path4.lineTo( midRect2.bottomRight() );
-            path4.lineTo( midRect2.topRight() );
-            path4.lineTo( innerRect.topRight() );
-            path4.lineTo( innerRect.bottomRight() );
-            path4.lineTo( innerRect.bottomLeft() );
-
-            QPainterPath path5;
-            path5.addRect( midRect1 );
-            path5.addRect( midRect2 );
-
-            painter->setPen( Qt::NoPen );
-
-            QBrush brush1 = palette.dark().color();
-            QBrush brush2 = palette.light().color();
-
-            if ( shadow == QFrame::Raised )
-                qSwap( brush1, brush2 );
-
-            painter->setBrush( brush1 );
-            painter->drawPath( path1 );
-            painter->drawPath( path4 );
-
-            painter->setBrush( brush2 );
-            painter->drawPath( path2 );
-            painter->drawPath( path3 );
-
-            painter->setBrush( palette.mid() );
-            painter->drawPath( path5 );
-        }
-#if 0
-        // qDrawWinPanel doesn't result in something nice
-        // on a scalable document like PDF. Better draw a
-        // Panel.
-
-        else if ( shape == QFrame::WinPanel )
-        {
-            painter->setRenderHint( QPainter::NonCosmeticDefaultPen, true );
-            qDrawWinPanel ( painter, rect.toRect(), palette,
-                frameStyle & QFrame::Sunken );
-        }
-        else if ( shape == QFrame::StyledPanel )
-        {
-        }
-#endif
-        else
-        {
-            const QRectF outerRect = rect.adjusted( 0.0, 0.0, -1.0, -1.0 );
-            const QRectF innerRect = outerRect.adjusted( 
-                frameWidth - 1.0, frameWidth - 1.0, 
-                -( frameWidth - 1.0 ), -( frameWidth - 1.0 ) );
-
-            QPainterPath path1;
-            path1.moveTo( outerRect.bottomLeft() );
-            path1.lineTo( outerRect.topLeft() );
-            path1.lineTo( outerRect.topRight() );
-            path1.lineTo( innerRect.topRight() );
-            path1.lineTo( innerRect.topLeft() );
-            path1.lineTo( innerRect.bottomLeft() );
-
-
-            QPainterPath path2;
-            path2.moveTo( outerRect.bottomLeft() );
-            path2.lineTo( outerRect.bottomRight() );
-            path2.lineTo( outerRect.topRight() );
-            path2.lineTo( innerRect.topRight() );
-            path2.lineTo( innerRect.bottomRight() );
-            path2.lineTo( innerRect.bottomLeft() );
-
-            painter->setPen( Qt::NoPen );
-
-            QBrush brush1 = palette.dark().color();
-            QBrush brush2 = palette.light().color();
-
-            if ( shadow == QFrame::Raised )
-                qSwap( brush1, brush2 );
-
-            painter->setBrush( brush1 );
-            painter->drawPath( path1 );
-
-            painter->setBrush( brush2 );
-            painter->drawPath( path2 );
-        }
-
-    }
-
-    painter->restore();
-}
-
-/*!
-  Draw a rectangular frame with rounded borders
-
-  \param painter Painter
-  \param rect Frame rectangle
-  \param xRadius x-radius of the ellipses defining the corners
-  \param yRadius y-radius of the ellipses defining the corners
-  \param palette QPalette::WindowText is used for plain borders
-                 QPalette::Dark and QPalette::Light for raised
-                 or sunken borders
-  \param lineWidth Line width
-  \param frameStyle bitwise OR´ed value of QFrame::Shape and QFrame::Shadow
-*/
-
-void QwtPainter::drawRoundedFrame( QPainter *painter, 
-    const QRectF &rect, double xRadius, double yRadius, 
-    const QPalette &palette, int lineWidth, int frameStyle )
-{
-    painter->save();
-    painter->setRenderHint( QPainter::Antialiasing, true );
-    painter->setBrush( Qt::NoBrush );
-
-    double lw2 = lineWidth * 0.5;
-    QRectF r = rect.adjusted( lw2, lw2, -lw2, -lw2 );
-
-    QPainterPath path;
-    path.addRoundedRect( r, xRadius, yRadius );
-
-    enum Style
-    {
-        Plain,
-        Sunken,
-        Raised
-    };
-
-    Style style = Plain;
-    if ( (frameStyle & QFrame::Sunken) == QFrame::Sunken )
-        style = Sunken;
-    else if ( (frameStyle & QFrame::Raised) == QFrame::Raised )
-        style = Raised;
-
-    if ( style != Plain && path.elementCount() == 17 )
-    {
-        // move + 4 * ( cubicTo + lineTo )
-        QPainterPath pathList[8];
-        
-        for ( int i = 0; i < 4; i++ )
-        {
-            const int j = i * 4 + 1;
-            
-            pathList[ 2 * i ].moveTo(
-                path.elementAt(j - 1).x, path.elementAt( j - 1 ).y
-            );  
-            
-            pathList[ 2 * i ].cubicTo(
-                path.elementAt(j + 0).x, path.elementAt(j + 0).y,
-                path.elementAt(j + 1).x, path.elementAt(j + 1).y,
-                path.elementAt(j + 2).x, path.elementAt(j + 2).y );
-                
-            pathList[ 2 * i + 1 ].moveTo(
-                path.elementAt(j + 2).x, path.elementAt(j + 2).y
-            );  
-            pathList[ 2 * i + 1 ].lineTo(
-                path.elementAt(j + 3).x, path.elementAt(j + 3).y
-            );  
-        }   
-
-        QColor c1( palette.color( QPalette::Dark ) );
-        QColor c2( palette.color( QPalette::Light ) );
-
-        if ( style == Raised )
-            qSwap( c1, c2 );
-
-        for ( int i = 0; i < 4; i++ )
-        {
-            QRectF r = pathList[2 * i].controlPointRect();
-
-            QPen arcPen;
-            arcPen.setCapStyle( Qt::FlatCap );
-            arcPen.setWidth( lineWidth );
-
-            QPen linePen;
-            linePen.setCapStyle( Qt::FlatCap );
-            linePen.setWidth( lineWidth );
-
-            switch( i )
-            {
-                case 0:
-                {
-                    arcPen.setColor( c1 );
-                    linePen.setColor( c1 );
-                    break;
-                }
-                case 1:
-                {
-                    QLinearGradient gradient;
-                    gradient.setStart( r.topLeft() );
-                    gradient.setFinalStop( r.bottomRight() );
-                    gradient.setColorAt( 0.0, c1 );
-                    gradient.setColorAt( 1.0, c2 );
-
-                    arcPen.setBrush( gradient );
-                    linePen.setColor( c2 );
-                    break;
-                }
-                case 2:
-                {
-                    arcPen.setColor( c2 );
-                    linePen.setColor( c2 );
-                    break;
-                }
-                case 3:
-                {
-                    QLinearGradient gradient;
-
-                    gradient.setStart( r.bottomRight() );
-                    gradient.setFinalStop( r.topLeft() );
-                    gradient.setColorAt( 0.0, c2 );
-                    gradient.setColorAt( 1.0, c1 );
-
-                    arcPen.setBrush( gradient );
-                    linePen.setColor( c1 );
-                    break;
-                }
-            }
-
-
-            painter->setPen( arcPen );
-            painter->drawPath( pathList[ 2 * i] );
-
-            painter->setPen( linePen );
-            painter->drawPath( pathList[ 2 * i + 1] );
-        }
-    }
-    else
-    {
-        QPen pen( palette.color( QPalette::WindowText ), lineWidth );
-        painter->setPen( pen );
-        painter->drawPath( path );
-    }
-
-    painter->restore();
-}
-
-/*!
-  Draw a color bar into a rectangle
-
-  \param painter Painter
-  \param colorMap Color map
-  \param interval Value range
-  \param scaleMap Scale map
-  \param orientation Orientation
-  \param rect Traget rectangle
-*/
-void QwtPainter::drawColorBar( QPainter *painter,
-        const QwtColorMap &colorMap, const QwtInterval &interval,
-        const QwtScaleMap &scaleMap, Qt::Orientation orientation,
-        const QRectF &rect )
-{
-    QVector<QRgb> colorTable;
-    if ( colorMap.format() == QwtColorMap::Indexed )
-        colorTable = colorMap.colorTable( interval );
-
-    QColor c;
-
-    const QRect devRect = rect.toAlignedRect();
-
-    /*
-      We paint to a pixmap first to have something scalable for printing
-      ( f.e. in a Pdf document )
-     */
-
-    QPixmap pixmap( devRect.size() );
-    pixmap.fill( Qt::transparent );
-
-    QPainter pmPainter( &pixmap );
-    pmPainter.translate( -devRect.x(), -devRect.y() );
-
-    if ( orientation == Qt::Horizontal )
-    {
-        QwtScaleMap sMap = scaleMap;
-        sMap.setPaintInterval( rect.left(), rect.right() );
-
-        for ( int x = devRect.left(); x <= devRect.right(); x++ )
-        {
-            const double value = sMap.invTransform( x );
-
-            if ( colorMap.format() == QwtColorMap::RGB )
-                c.setRgba( colorMap.rgb( interval, value ) );
-            else
-                c = colorTable[colorMap.colorIndex( interval, value )];
-
-            pmPainter.setPen( c );
-            pmPainter.drawLine( x, devRect.top(), x, devRect.bottom() );
-        }
-    }
-    else // Vertical
-    {
-        QwtScaleMap sMap = scaleMap;
-        sMap.setPaintInterval( rect.bottom(), rect.top() );
-
-        for ( int y = devRect.top(); y <= devRect.bottom(); y++ )
-        {
-            const double value = sMap.invTransform( y );
-
-            if ( colorMap.format() == QwtColorMap::RGB )
-                c.setRgba( colorMap.rgb( interval, value ) );
-            else
-                c = colorTable[colorMap.colorIndex( interval, value )];
-
-            pmPainter.setPen( c );
-            pmPainter.drawLine( devRect.left(), y, devRect.right(), y );
-        }
-    }
-    pmPainter.end();
-
-    drawPixmap( painter, rect, pixmap );
-}
-
-static inline void qwtFillRect( const QWidget *widget, QPainter *painter, 
-    const QRect &rect, const QBrush &brush)
-{
-    if ( brush.style() == Qt::TexturePattern ) 
-    {
-        painter->save();
-
-        painter->setClipRect( rect );
-        painter->drawTiledPixmap(rect, brush.texture(), rect.topLeft());
-
-        painter->restore();
-    } 
-    else if ( brush.gradient() )
-    {
-        painter->save();
-
-        painter->setClipRect( rect );
-        painter->fillRect(0, 0, widget->width(), 
-            widget->height(), brush);
-
-        painter->restore();
-    } 
-    else 
-    {
-        painter->fillRect(rect, brush);
-    }
-}
-
-/*!
-  Fill a pixmap with the content of a widget
-
-  In Qt >= 5.0 QPixmap::fill() is a nop, in Qt 4.x it is buggy
-  for backgrounds with gradients. Thus fillPixmap() offers 
-  an alternative implementation.
-
-  \param widget Widget
-  \param pixmap Pixmap to be filled
-  \param offset Offset 
-
-  \sa QPixmap::fill()
- */
-void QwtPainter::fillPixmap( const QWidget *widget, 
-    QPixmap &pixmap, const QPoint &offset )
-{
-    const QRect rect( offset, pixmap.size() );
-
-    QPainter painter( &pixmap );
-    painter.translate( -offset );
-
-    const QBrush autoFillBrush = 
-        widget->palette().brush( widget->backgroundRole() );
-
-    if ( !( widget->autoFillBackground() && autoFillBrush.isOpaque() ) ) 
-    {
-        const QBrush bg = widget->palette().brush( QPalette::Window );
-        qwtFillRect( widget, &painter, rect, bg);
-    }
-
-    if ( widget->autoFillBackground() )
-        qwtFillRect( widget, &painter, rect, autoFillBrush);
-
-    if ( widget->testAttribute(Qt::WA_StyledBackground) ) 
-    {
-        painter.setClipRegion( rect );
-
-        QStyleOption opt;
-        opt.initFrom( widget );
-        widget->style()->drawPrimitive( QStyle::PE_Widget, 
-            &opt, &painter, widget );
-    }
-}
-
-/*!
-  Fill rect with the background of a widget
-
-  \param painter Painter
-  \param rect Rectangle to be filled
-  \param widget Widget
-
-  \sa QStyle::PE_Widget, QWidget::backgroundRole()
- */
-void QwtPainter::drawBackgound( QPainter *painter,
-    const QRectF &rect, const QWidget *widget )
-{
-    if ( widget->testAttribute( Qt::WA_StyledBackground ) )
-    {
-        QStyleOption opt;
-        opt.initFrom( widget );
-        opt.rect = rect.toAlignedRect();
-
-        widget->style()->drawPrimitive(
-            QStyle::PE_Widget, &opt, painter, widget);
-    }
-    else
-    {
-        const QBrush brush =
-            widget->palette().brush( widget->backgroundRole() );
-
-        painter->fillRect( rect, brush );
-    }
-}
-
-/*!
-  \return A pixmap that can be used as backing store
-
-  \param widget Widget, for which the backinstore is intended
-  \param size Size of the pixmap
- */
-QPixmap QwtPainter::backingStore( QWidget *widget, const QSize &size )
-{
-    QPixmap pm;
-
-#define QWT_HIGH_DPI 1
-
-#if QT_VERSION >= 0x050000 && QWT_HIGH_DPI
-    qreal pixelRatio = 1.0;
-
-    if ( widget && widget->windowHandle() )
-    {
-        pixelRatio = widget->windowHandle()->devicePixelRatio();
-    }
-    else
-    {
-        if ( qApp )
-            pixelRatio = qApp->devicePixelRatio();
-    }
-
-    pm = QPixmap( size * pixelRatio );
-    pm.setDevicePixelRatio( pixelRatio );
-#else
-    Q_UNUSED( widget )
-    pm = QPixmap( size );
-#endif
-
-#if QT_VERSION < 0x050000 
-#ifdef Q_WS_X11
-    if ( widget && isX11GraphicsSystem() )
-    {
-        if ( pm.x11Info().screen() != widget->x11Info().screen() )
-            pm.x11SetScreen( widget->x11Info().screen() );
-    }
-#endif
-#endif
-
-    return pm;
-}
-
diff --git a/SRC/Qwt/src/qwt_painter.h b/SRC/Qwt/src/qwt_painter.h
deleted file mode 100644
index 871f95b..0000000
--- a/SRC/Qwt/src/qwt_painter.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PAINTER_H
-#define QWT_PAINTER_H
-
-#include "qwt_global.h"
-
-#include <qpoint.h>
-#include <qrect.h>
-#include <qpen.h>
-#include <qline.h>
-#include <qpalette.h>
-
-class QPainter;
-class QBrush;
-class QColor;
-class QWidget;
-class QPolygonF;
-class QRectF;
-class QImage;
-class QPixmap;
-class QwtScaleMap;
-class QwtColorMap;
-class QwtInterval;
-
-class QTextDocument;
-class QPainterPath;
-
-/*!
-  \brief A collection of QPainter workarounds
-*/
-class QWT_EXPORT QwtPainter
-{
-public:
-    static void setPolylineSplitting( bool );
-    static bool polylineSplitting();
-
-    static void setRoundingAlignment( bool );
-    static bool roundingAlignment();
-    static bool roundingAlignment(QPainter *);
-
-    static void drawText( QPainter *, double x, double y, const QString & );
-    static void drawText( QPainter *, const QPointF &, const QString & );
-    static void drawText( QPainter *, double x, double y, double w, double h,
-        int flags, const QString & );
-    static void drawText( QPainter *, const QRectF &, 
-        int flags, const QString & );
-
-#ifndef QT_NO_RICHTEXT
-    static void drawSimpleRichText( QPainter *, const QRectF &,
-        int flags, const QTextDocument & );
-#endif
-
-    static void drawRect( QPainter *, double x, double y, double w, double h );
-    static void drawRect( QPainter *, const QRectF &rect );
-    static void fillRect( QPainter *, const QRectF &, const QBrush & );
-
-    static void drawEllipse( QPainter *, const QRectF & );
-    static void drawPie( QPainter *, const QRectF & r, int a, int alen );
-
-    static void drawLine( QPainter *, double x1, double y1, double x2, double y2 );
-    static void drawLine( QPainter *, const QPointF &p1, const QPointF &p2 );
-    static void drawLine( QPainter *, const QLineF & );
-
-    static void drawPolygon( QPainter *, const QPolygonF & );
-    static void drawPolyline( QPainter *, const QPolygonF & );
-    static void drawPolyline( QPainter *, const QPointF *, int pointCount );
-
-    static void drawPolygon( QPainter *, const QPolygon & );
-    static void drawPolyline( QPainter *, const QPolygon & );
-    static void drawPolyline( QPainter *, const QPoint *, int pointCount );
-
-    static void drawPoint( QPainter *, const QPoint & );
-    static void drawPoints( QPainter *, const QPolygon & );
-    static void drawPoints( QPainter *, const QPoint *, int pointCount );
-
-    static void drawPoint( QPainter *, double x, double y );
-    static void drawPoint( QPainter *, const QPointF & );
-    static void drawPoints( QPainter *, const QPolygonF & );
-    static void drawPoints( QPainter *, const QPointF *, int pointCount );
-
-    static void drawPath( QPainter *, const QPainterPath & );
-    static void drawImage( QPainter *, const QRectF &, const QImage & );
-    static void drawPixmap( QPainter *, const QRectF &, const QPixmap & );
-
-    static void drawRoundFrame( QPainter *,
-        const QRectF &, const QPalette &, int lineWidth, int frameStyle );
-
-    static void drawRoundedFrame( QPainter *, 
-        const QRectF &, double xRadius, double yRadius,
-        const QPalette &, int lineWidth, int frameStyle );
-
-    static void drawFrame( QPainter *, const QRectF &rect,
-        const QPalette &palette, QPalette::ColorRole foregroundRole,
-        int lineWidth, int midLineWidth, int frameStyle ); 
-
-    static void drawFocusRect( QPainter *, const QWidget * );
-    static void drawFocusRect( QPainter *, const QWidget *, const QRect & );
-
-    static void drawColorBar( QPainter *painter,
-        const QwtColorMap &, const QwtInterval &,
-        const QwtScaleMap &, Qt::Orientation, const QRectF & );
-
-    static bool isAligning( QPainter *painter );
-    static bool isX11GraphicsSystem();
-
-    static void fillPixmap( const QWidget *, 
-        QPixmap &, const QPoint &offset = QPoint() );
-
-    static void drawBackgound( QPainter *painter,
-        const QRectF &rect, const QWidget *widget );
-
-    static QPixmap backingStore( QWidget *, const QSize & );
-
-private:
-    static bool d_polylineSplitting;
-    static bool d_roundingAlignment;
-};
-
-//!  Wrapper for QPainter::drawPoint()
-inline void QwtPainter::drawPoint( QPainter *painter, double x, double y )
-{
-    QwtPainter::drawPoint( painter, QPointF( x, y ) );
-}
-
-//! Wrapper for QPainter::drawPoints()
-inline void QwtPainter::drawPoints( QPainter *painter, const QPolygon &polygon )
-{
-    drawPoints( painter, polygon.data(), polygon.size() );
-}
-
-//! Wrapper for QPainter::drawPoints()
-inline void QwtPainter::drawPoints( QPainter *painter, const QPolygonF &polygon )
-{
-    drawPoints( painter, polygon.data(), polygon.size() );
-}
-
-//!  Wrapper for QPainter::drawLine()
-inline void QwtPainter::drawLine( QPainter *painter,
-    double x1, double y1, double x2, double y2 )
-{
-    QwtPainter::drawLine( painter, QPointF( x1, y1 ), QPointF( x2, y2 ) );
-}
-
-//!  Wrapper for QPainter::drawLine()
-inline void QwtPainter::drawLine( QPainter *painter, const QLineF &line )
-{
-    QwtPainter::drawLine( painter, line.p1(), line.p2() );
-}
-
-/*!
-  \return True, when line splitting for the raster paint engine is enabled.
-  \sa setPolylineSplitting()
-*/
-inline bool QwtPainter::polylineSplitting()
-{
-    return d_polylineSplitting;
-}
-
-/*!
-  Check whether coordinates should be rounded, before they are painted
-  to a paint engine that rounds to integer values. For other paint engines
-  ( PDF, SVG ), this flag has no effect.
-
-  \return True, when rounding is enabled
-  \sa setRoundingAlignment(), isAligning()
-*/
-inline bool QwtPainter::roundingAlignment()
-{
-    return d_roundingAlignment;
-}
-
-/*!
-  \return roundingAlignment() && isAligning(painter);
-  \param painter Painter
-*/
-inline bool QwtPainter::roundingAlignment(QPainter *painter)
-{
-    return d_roundingAlignment && isAligning(painter);
-}
-#endif
diff --git a/SRC/Qwt/src/qwt_painter_command.cpp b/SRC/Qwt/src/qwt_painter_command.cpp
deleted file mode 100644
index 222f8b4..0000000
--- a/SRC/Qwt/src/qwt_painter_command.cpp
+++ /dev/null
@@ -1,237 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_painter_command.h"
-
-//! Construct an invalid command
-QwtPainterCommand::QwtPainterCommand():
-    d_type( Invalid )
-{
-}
-
-//! Copy constructor
-QwtPainterCommand::QwtPainterCommand( const QPainterPath &path ):
-    d_type( Path )
-{
-    d_path = new QPainterPath( path );
-}
-
-/*!
-  Constructor for Pixmap paint operation
-
-  \param rect Target rectangle
-  \param pixmap Pixmap
-  \param subRect Rectangle inside the pixmap
-
-  \sa QPainter::drawPixmap()
- */
-QwtPainterCommand::QwtPainterCommand( const QRectF &rect,
-        const QPixmap &pixmap, const QRectF& subRect ):
-    d_type( Pixmap )
-{
-    d_pixmapData = new PixmapData();
-    d_pixmapData->rect = rect;
-    d_pixmapData->pixmap = pixmap;
-    d_pixmapData->subRect = subRect;
-}
-
-/*!
-  Constructor for Image paint operation
-
-  \param rect Target rectangle
-  \param image Image
-  \param subRect Rectangle inside the image
-  \param flags Conversion flags
-
-  \sa QPainter::drawImage()
- */
-QwtPainterCommand::QwtPainterCommand( const QRectF &rect,
-        const QImage &image, const QRectF& subRect,
-        Qt::ImageConversionFlags flags ):
-    d_type( Image )
-{
-    d_imageData = new ImageData();
-    d_imageData->rect = rect;
-    d_imageData->image = image;
-    d_imageData->subRect = subRect;
-    d_imageData->flags = flags;
-}
-
-/*! 
-  Constructor for State paint operation
-  \param state Paint engine state
- */  
-QwtPainterCommand::QwtPainterCommand( const QPaintEngineState &state ):
-    d_type( State )
-{
-    d_stateData = new StateData();
-
-    d_stateData->flags = state.state();
-
-    if ( d_stateData->flags & QPaintEngine::DirtyPen ) 
-        d_stateData->pen = state.pen();
-
-    if ( d_stateData->flags & QPaintEngine::DirtyBrush ) 
-        d_stateData->brush = state.brush();
-
-    if ( d_stateData->flags & QPaintEngine::DirtyBrushOrigin ) 
-        d_stateData->brushOrigin = state.brushOrigin();
-
-    if ( d_stateData->flags & QPaintEngine::DirtyFont ) 
-        d_stateData->font = state.font();
-
-    if ( d_stateData->flags & QPaintEngine::DirtyBackground ) 
-    {
-        d_stateData->backgroundMode = state.backgroundMode();
-        d_stateData->backgroundBrush = state.backgroundBrush();
-    }
-
-    if ( d_stateData->flags & QPaintEngine::DirtyTransform ) 
-        d_stateData->transform = state.transform();
-
-    if ( d_stateData->flags & QPaintEngine::DirtyClipEnabled ) 
-        d_stateData->isClipEnabled = state.isClipEnabled();
-
-    if ( d_stateData->flags & QPaintEngine::DirtyClipRegion ) 
-    {
-        d_stateData->clipRegion = state.clipRegion();
-        d_stateData->clipOperation = state.clipOperation();
-    }
-
-    if ( d_stateData->flags & QPaintEngine::DirtyClipPath ) 
-    {
-        d_stateData->clipPath = state.clipPath();
-        d_stateData->clipOperation = state.clipOperation();
-    }
-
-    if ( d_stateData->flags & QPaintEngine::DirtyHints ) 
-        d_stateData->renderHints = state.renderHints();
-
-    if ( d_stateData->flags & QPaintEngine::DirtyCompositionMode ) 
-        d_stateData->compositionMode = state.compositionMode();
-
-    if ( d_stateData->flags & QPaintEngine::DirtyOpacity ) 
-        d_stateData->opacity = state.opacity();
-}
-
-/*!
-  Copy constructor
-  \param other Command to be copied
-  
- */
-QwtPainterCommand::QwtPainterCommand(const QwtPainterCommand &other)
-{
-    copy( other );
-}
-
-//! Destructor
-QwtPainterCommand::~QwtPainterCommand()
-{
-    reset();
-}
-
-/*!
-  Assignment operator
-
-  \param other Command to be copied
-  \return Modified command
- */
-QwtPainterCommand &QwtPainterCommand::operator=(const QwtPainterCommand &other)
-{
-    reset();
-    copy( other );
-
-    return *this;
-}
-
-void QwtPainterCommand::copy( const QwtPainterCommand &other )
-{
-    d_type = other.d_type;
-
-    switch( other.d_type )
-    {
-        case Path:
-        {
-            d_path = new QPainterPath( *other.d_path );
-            break;
-        }
-        case Pixmap:
-        {
-            d_pixmapData = new PixmapData( *other.d_pixmapData );
-            break;
-        }
-        case Image:
-        {
-            d_imageData = new ImageData( *other.d_imageData );
-            break;
-        }
-        case State:
-        {
-            d_stateData = new StateData( *other.d_stateData );
-            break;
-        }
-        default:
-            break;
-    }
-}
-
-void QwtPainterCommand::reset()
-{
-    switch( d_type )
-    {
-        case Path:
-        {
-            delete d_path;
-            break;
-        }
-        case Pixmap:
-        {
-            delete d_pixmapData;
-            break;
-        }
-        case Image:
-        {
-            delete d_imageData;
-            break;
-        }
-        case State:
-        {
-            delete d_stateData;
-            break;
-        }
-        default:
-            break;
-    }
-
-    d_type = Invalid;
-}
-
-//! \return Painter path to be painted
-QPainterPath *QwtPainterCommand::path() 
-{
-    return d_path;
-}
-
-//! \return Attributes how to paint a QPixmap
-QwtPainterCommand::PixmapData* QwtPainterCommand::pixmapData() 
-{
-    return d_pixmapData;
-}
-
-//! \return Attributes how to paint a QImage
-QwtPainterCommand::ImageData* QwtPainterCommand::imageData() 
-{
-    return d_imageData;
-}
-
-//! \return Attributes of a state change
-QwtPainterCommand::StateData* QwtPainterCommand::stateData() 
-{
-    return d_stateData;
-}
diff --git a/SRC/Qwt/src/qwt_painter_command.h b/SRC/Qwt/src/qwt_painter_command.h
deleted file mode 100644
index e3cdcb2..0000000
--- a/SRC/Qwt/src/qwt_painter_command.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PAINTER_COMMAND_H
-#define QWT_PAINTER_COMMAND_H
-
-#include "qwt_global.h"
-#include <qpaintengine.h>
-#include <qpixmap.h>
-#include <qimage.h>
-#include <qpolygon.h>
-
-class QPainterPath;
-
-/*!
-  QwtPainterCommand represents the attributes of a paint operation
-  how it is used between QPainter and QPaintDevice
-
-  It is used by QwtGraphic to record and replay paint operations
-
-  \sa QwtGraphic::commands()
- */
-  
-class QWT_EXPORT QwtPainterCommand
-{
-public:
-    //! Type of the paint command
-    enum Type
-    {
-        //! Invalid command
-        Invalid = -1,
-
-        //! Draw a QPainterPath
-        Path,
-
-        //! Draw a QPixmap
-        Pixmap,
-
-        //! Draw a QImage
-        Image,
-
-        //! QPainter state change
-        State
-    };
-
-    //! Attributes how to paint a QPixmap 
-    struct PixmapData
-    {
-        QRectF rect;
-        QPixmap pixmap;
-        QRectF subRect;
-    };
-
-    //! Attributes how to paint a QImage 
-    struct ImageData
-    {
-        QRectF rect;
-        QImage image;
-        QRectF subRect;
-        Qt::ImageConversionFlags flags;
-    };
-
-    //! Attributes of a state change
-    struct StateData
-    {
-        QPaintEngine::DirtyFlags flags;
-
-        QPen pen;
-        QBrush brush;
-        QPointF brushOrigin;
-        QBrush backgroundBrush;
-        Qt::BGMode backgroundMode;
-        QFont font;
-        QMatrix matrix;
-        QTransform transform;
-
-        Qt::ClipOperation clipOperation;
-        QRegion clipRegion;
-        QPainterPath clipPath;
-        bool isClipEnabled;
-
-        QPainter::RenderHints renderHints;
-        QPainter::CompositionMode compositionMode;
-        qreal opacity;
-    };
-
-    QwtPainterCommand();
-    QwtPainterCommand(const QwtPainterCommand &);
-
-    QwtPainterCommand( const QPainterPath & );
-
-    QwtPainterCommand( const QRectF &rect,
-            const QPixmap &, const QRectF& subRect );
-
-    QwtPainterCommand( const QRectF &rect,
-            const QImage &, const QRectF& subRect,
-            Qt::ImageConversionFlags );
-
-    QwtPainterCommand( const QPaintEngineState & );
-
-    ~QwtPainterCommand();
-
-    QwtPainterCommand &operator=(const QwtPainterCommand & );
-
-    Type type() const;
-
-    QPainterPath *path();
-    const QPainterPath *path() const;
-
-    PixmapData* pixmapData();
-    const PixmapData* pixmapData() const;
-
-    ImageData* imageData();
-    const ImageData* imageData() const;
-
-    StateData* stateData();
-    const StateData* stateData() const;
-
-private:
-    void copy( const QwtPainterCommand & );
-    void reset();
-
-    Type d_type;
-
-    union
-    {
-        QPainterPath *d_path;
-        PixmapData *d_pixmapData;
-        ImageData *d_imageData;
-        StateData *d_stateData;
-    };
-};
-
-//! \return Type of the command
-inline QwtPainterCommand::Type QwtPainterCommand::type() const
-{
-    return d_type;
-}
-
-//! \return Painter path to be painted
-inline const QPainterPath *QwtPainterCommand::path() const
-{
-    return d_path;
-}
-
-//! \return Attributes how to paint a QPixmap
-inline const QwtPainterCommand::PixmapData* 
-QwtPainterCommand::pixmapData() const
-{
-    return d_pixmapData;
-}
-
-//! \return Attributes how to paint a QImage
-inline const QwtPainterCommand::ImageData * 
-QwtPainterCommand::imageData() const
-{
-    return d_imageData;
-}
-
-//! \return Attributes of a state change
-inline const QwtPainterCommand::StateData * 
-QwtPainterCommand::stateData() const
-{
-    return d_stateData;
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_panner.cpp b/SRC/Qwt/src/qwt_panner.cpp
deleted file mode 100644
index 187bfb6..0000000
--- a/SRC/Qwt/src/qwt_panner.cpp
+++ /dev/null
@@ -1,538 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_panner.h"
-#include "qwt_picker.h"
-#include "qwt_painter.h"
-#include <qpainter.h>
-#include <qpixmap.h>
-#include <qevent.h>
-#include <qcursor.h>
-#include <qbitmap.h>
-
-static QVector<QwtPicker *> qwtActivePickers( QWidget *w )
-{
-    QVector<QwtPicker *> pickers;
-
-    QObjectList children = w->children();
-    for ( int i = 0; i < children.size(); i++ )
-    {
-        QwtPicker *picker = qobject_cast<QwtPicker *>( children[i] );
-        if ( picker && picker->isEnabled() )
-            pickers += picker;
-    }
-
-    return pickers;
-}
-
-class QwtPanner::PrivateData
-{
-public:
-    PrivateData():
-        button( Qt::LeftButton ),
-        buttonModifiers( Qt::NoModifier ),
-        abortKey( Qt::Key_Escape ),
-        abortKeyModifiers( Qt::NoModifier ),
-#ifndef QT_NO_CURSOR
-        cursor( NULL ),
-        restoreCursor( NULL ),
-        hasCursor( false ),
-#endif
-        isEnabled( false )
-    {
-        orientations = Qt::Vertical | Qt::Horizontal;
-    }
-
-    ~PrivateData()
-    {
-#ifndef QT_NO_CURSOR
-        delete cursor;
-        delete restoreCursor;
-#endif
-    }
-
-    Qt::MouseButton button;
-    Qt::KeyboardModifiers  buttonModifiers;
-
-    int abortKey;
-    Qt::KeyboardModifiers abortKeyModifiers;
-
-    QPoint initialPos;
-    QPoint pos;
-
-    QPixmap pixmap;
-    QBitmap contentsMask;
-
-#ifndef QT_NO_CURSOR
-    QCursor *cursor;
-    QCursor *restoreCursor;
-    bool hasCursor;
-#endif
-    bool isEnabled;
-    Qt::Orientations orientations;
-};
-
-/*!
-  Creates an panner that is enabled for the left mouse button.
-
-  \param parent Parent widget to be panned
-*/
-QwtPanner::QwtPanner( QWidget *parent ):
-    QWidget( parent )
-{
-    d_data = new PrivateData();
-
-    setAttribute( Qt::WA_TransparentForMouseEvents );
-    setAttribute( Qt::WA_NoSystemBackground );
-    setFocusPolicy( Qt::NoFocus );
-    hide();
-
-    setEnabled( true );
-}
-
-//! Destructor
-QwtPanner::~QwtPanner()
-{
-    delete d_data;
-}
-
-/*!
-   Change the mouse button and modifiers used for panning
-   The defaults are Qt::LeftButton and Qt::NoModifier
-*/
-void QwtPanner::setMouseButton( Qt::MouseButton button,
-    Qt::KeyboardModifiers modifiers )
-{
-    d_data->button = button;
-    d_data->buttonModifiers = modifiers;
-}
-
-//! Get mouse button and modifiers used for panning
-void QwtPanner::getMouseButton( Qt::MouseButton &button,
-    Qt::KeyboardModifiers &modifiers ) const
-{
-    button = d_data->button;
-    modifiers = d_data->buttonModifiers;
-}
-
-/*!
-   Change the abort key
-   The defaults are Qt::Key_Escape and Qt::NoModifiers
-
-   \param key Key ( See Qt::Keycode )
-   \param modifiers Keyboard modifiers
-*/
-void QwtPanner::setAbortKey( int key, 
-    Qt::KeyboardModifiers modifiers )
-{
-    d_data->abortKey = key;
-    d_data->abortKeyModifiers = modifiers;
-}
-
-//! Get the abort key and modifiers
-void QwtPanner::getAbortKey( int &key, 
-    Qt::KeyboardModifiers &modifiers ) const
-{
-    key = d_data->abortKey;
-    modifiers = d_data->abortKeyModifiers;
-}
-
-/*!
-   Change the cursor, that is active while panning
-   The default is the cursor of the parent widget.
-
-   \param cursor New cursor
-
-   \sa setCursor()
-*/
-#ifndef QT_NO_CURSOR
-void QwtPanner::setCursor( const QCursor &cursor )
-{
-    d_data->cursor = new QCursor( cursor );
-}
-#endif
-
-/*!
-   \return Cursor that is active while panning
-   \sa setCursor()
-*/
-#ifndef QT_NO_CURSOR
-const QCursor QwtPanner::cursor() const
-{
-    if ( d_data->cursor )
-        return *d_data->cursor;
-
-    if ( parentWidget() )
-        return parentWidget()->cursor();
-
-    return QCursor();
-}
-#endif
-
-/*!
-  \brief En/disable the panner
-
-  When enabled is true an event filter is installed for
-  the observed widget, otherwise the event filter is removed.
-
-  \param on true or false
-  \sa isEnabled(), eventFilter()
-*/
-void QwtPanner::setEnabled( bool on )
-{
-    if ( d_data->isEnabled != on )
-    {
-        d_data->isEnabled = on;
-
-        QWidget *w = parentWidget();
-        if ( w )
-        {
-            if ( d_data->isEnabled )
-            {
-                w->installEventFilter( this );
-            }
-            else
-            {
-                w->removeEventFilter( this );
-                hide();
-            }
-        }
-    }
-}
-
-/*!
-   Set the orientations, where panning is enabled
-   The default value is in both directions: Qt::Horizontal | Qt::Vertical
-
-   /param o Orientation
-*/
-void QwtPanner::setOrientations( Qt::Orientations o )
-{
-    d_data->orientations = o;
-}
-
-//! Return the orientation, where paning is enabled
-Qt::Orientations QwtPanner::orientations() const
-{
-    return d_data->orientations;
-}
-
-/*!
-   \return True if an orientation is enabled
-   \sa orientations(), setOrientations()
-*/
-bool QwtPanner::isOrientationEnabled( Qt::Orientation o ) const
-{
-    return d_data->orientations & o;
-}
-
-/*!
-  \return true when enabled, false otherwise
-  \sa setEnabled, eventFilter()
-*/
-bool QwtPanner::isEnabled() const
-{
-    return d_data->isEnabled;
-}
-
-/*!
-   \brief Paint event
-
-   Repaint the grabbed pixmap on its current position and
-   fill the empty spaces by the background of the parent widget.
-
-   \param pe Paint event
-*/
-void QwtPanner::paintEvent( QPaintEvent *pe )
-{
-    int dx = d_data->pos.x() - d_data->initialPos.x();
-    int dy = d_data->pos.y() - d_data->initialPos.y();
-
-    QRect r( 0, 0, d_data->pixmap.width(), d_data->pixmap.height() );
-    r.moveCenter( QPoint( r.center().x() + dx, r.center().y() + dy ) );
-
-    QPixmap pm( size() );
-    QwtPainter::fillPixmap( parentWidget(), pm );
-
-    QPainter painter( &pm );
-
-    if ( !d_data->contentsMask.isNull() )
-    {
-        QPixmap masked = d_data->pixmap;
-        masked.setMask( d_data->contentsMask );
-        painter.drawPixmap( r, masked );
-    }
-    else
-    {
-        painter.drawPixmap( r, d_data->pixmap );
-    }
-
-    painter.end();
-
-    if ( !d_data->contentsMask.isNull() )
-        pm.setMask( d_data->contentsMask );
-
-    painter.begin( this );
-    painter.setClipRegion( pe->region() );
-    painter.drawPixmap( 0, 0, pm );
-}
-
-/*!
-  \brief Calculate a mask for the contents of the panned widget
-
-  Sometimes only parts of the contents of a widget should be
-  panned. F.e. for a widget with a styled background with rounded borders
-  only the area inside of the border should be panned.
-
-  \return An empty bitmap, indicating no mask
-*/
-QBitmap QwtPanner::contentsMask() const
-{
-    return QBitmap();
-}
-
-/*!
-  Grab the widget into a pixmap.
-  \return Grabbed pixmap
-*/
-QPixmap QwtPanner::grab() const
-{
-#if QT_VERSION >= 0x050000
-    return parentWidget()->grab( parentWidget()->rect() );
-#else
-    return QPixmap::grabWidget( parentWidget() );
-#endif
-}
-
-/*!
-  \brief Event filter
-
-  When isEnabled() is true mouse events of the
-  observed widget are filtered.
-
-  \param object Object to be filtered
-  \param event Event
-
-  \return Always false, beside for paint events for the
-          parent widget.
-
-  \sa widgetMousePressEvent(), widgetMouseReleaseEvent(),
-      widgetMouseMoveEvent()
-*/
-bool QwtPanner::eventFilter( QObject *object, QEvent *event )
-{
-    if ( object == NULL || object != parentWidget() )
-        return false;
-
-    switch ( event->type() )
-    {
-        case QEvent::MouseButtonPress:
-        {
-            widgetMousePressEvent( static_cast<QMouseEvent *>( event ) );
-            break;
-        }
-        case QEvent::MouseMove:
-        {
-            widgetMouseMoveEvent( static_cast<QMouseEvent *>( event ) );
-            break;
-        }
-        case QEvent::MouseButtonRelease:
-        {
-            widgetMouseReleaseEvent( static_cast<QMouseEvent *>( event ) );
-            break;
-        }
-        case QEvent::KeyPress:
-        {
-            widgetKeyPressEvent( static_cast<QKeyEvent *>( event ) );
-            break;
-        }
-        case QEvent::KeyRelease:
-        {
-            widgetKeyReleaseEvent( static_cast<QKeyEvent *>( event ) );
-            break;
-        }
-        case QEvent::Paint:
-        {
-            if ( isVisible() )
-                return true;
-            break;
-        }
-        default:;
-    }
-
-    return false;
-}
-
-/*!
-  Handle a mouse press event for the observed widget.
-
-  \param mouseEvent Mouse event
-  \sa eventFilter(), widgetMouseReleaseEvent(),
-      widgetMouseMoveEvent(),
-*/
-void QwtPanner::widgetMousePressEvent( QMouseEvent *mouseEvent )
-{
-    if ( ( mouseEvent->button() != d_data->button )
-        || ( mouseEvent->modifiers() != d_data->buttonModifiers ) )
-    {
-        return;
-    }
-
-    QWidget *w = parentWidget();
-    if ( w == NULL )
-        return;
-
-#ifndef QT_NO_CURSOR
-    showCursor( true );
-#endif
-
-    d_data->initialPos = d_data->pos = mouseEvent->pos();
-
-    setGeometry( parentWidget()->rect() );
-
-    // We don't want to grab the picker !
-    QVector<QwtPicker *> pickers = qwtActivePickers( parentWidget() );
-    for ( int i = 0; i < pickers.size(); i++ )
-        pickers[i]->setEnabled( false );
-
-    d_data->pixmap = grab();
-    d_data->contentsMask = contentsMask();
-
-    for ( int i = 0; i < pickers.size(); i++ )
-        pickers[i]->setEnabled( true );
-
-    show();
-}
-
-/*!
-  Handle a mouse move event for the observed widget.
-
-  \param mouseEvent Mouse event
-  \sa eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent()
-*/
-void QwtPanner::widgetMouseMoveEvent( QMouseEvent *mouseEvent )
-{
-    if ( !isVisible() )
-        return;
-
-    QPoint pos = mouseEvent->pos();
-    if ( !isOrientationEnabled( Qt::Horizontal ) )
-        pos.setX( d_data->initialPos.x() );
-    if ( !isOrientationEnabled( Qt::Vertical ) )
-        pos.setY( d_data->initialPos.y() );
-
-    if ( pos != d_data->pos && rect().contains( pos ) )
-    {
-        d_data->pos = pos;
-        update();
-
-        Q_EMIT moved( d_data->pos.x() - d_data->initialPos.x(),
-            d_data->pos.y() - d_data->initialPos.y() );
-    }
-}
-
-/*!
-  Handle a mouse release event for the observed widget.
-
-  \param mouseEvent Mouse event
-  \sa eventFilter(), widgetMousePressEvent(),
-      widgetMouseMoveEvent(),
-*/
-void QwtPanner::widgetMouseReleaseEvent( QMouseEvent *mouseEvent )
-{
-    if ( isVisible() )
-    {
-        hide();
-#ifndef QT_NO_CURSOR
-        showCursor( false );
-#endif
-
-        QPoint pos = mouseEvent->pos();
-        if ( !isOrientationEnabled( Qt::Horizontal ) )
-            pos.setX( d_data->initialPos.x() );
-        if ( !isOrientationEnabled( Qt::Vertical ) )
-            pos.setY( d_data->initialPos.y() );
-
-        d_data->pixmap = QPixmap();
-        d_data->contentsMask = QBitmap();
-        d_data->pos = pos;
-
-        if ( d_data->pos != d_data->initialPos )
-        {
-            Q_EMIT panned( d_data->pos.x() - d_data->initialPos.x(),
-                d_data->pos.y() - d_data->initialPos.y() );
-        }
-    }
-}
-
-/*!
-  Handle a key press event for the observed widget.
-
-  \param keyEvent Key event
-  \sa eventFilter(), widgetKeyReleaseEvent()
-*/
-void QwtPanner::widgetKeyPressEvent( QKeyEvent *keyEvent )
-{
-    if ( ( keyEvent->key() == d_data->abortKey )
-        && ( keyEvent->modifiers() == d_data->abortKeyModifiers ) )
-    {
-        hide();
-
-#ifndef QT_NO_CURSOR
-        showCursor( false );
-#endif
-        d_data->pixmap = QPixmap();
-    }
-}
-
-/*!
-  Handle a key release event for the observed widget.
-
-  \param keyEvent Key event
-  \sa eventFilter(), widgetKeyReleaseEvent()
-*/
-void QwtPanner::widgetKeyReleaseEvent( QKeyEvent *keyEvent )
-{
-    Q_UNUSED( keyEvent );
-}
-
-#ifndef QT_NO_CURSOR
-void QwtPanner::showCursor( bool on )
-{
-    if ( on == d_data->hasCursor )
-        return;
-
-    QWidget *w = parentWidget();
-    if ( w == NULL || d_data->cursor == NULL )
-        return;
-
-    d_data->hasCursor = on;
-
-    if ( on )
-    {
-        if ( w->testAttribute( Qt::WA_SetCursor ) )
-        {
-            delete d_data->restoreCursor;
-            d_data->restoreCursor = new QCursor( w->cursor() );
-        }
-        w->setCursor( *d_data->cursor );
-    }
-    else
-    {
-        if ( d_data->restoreCursor )
-        {
-            w->setCursor( *d_data->restoreCursor );
-            delete d_data->restoreCursor;
-            d_data->restoreCursor = NULL;
-        }
-        else
-            w->unsetCursor();
-    }
-}
-#endif
diff --git a/SRC/Qwt/src/qwt_panner.h b/SRC/Qwt/src/qwt_panner.h
deleted file mode 100644
index e31b4ab..0000000
--- a/SRC/Qwt/src/qwt_panner.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PANNER_H
-#define QWT_PANNER_H 1
-
-#include "qwt_global.h"
-#include <qwidget.h>
-#include <qpixmap.h>
-
-class QCursor;
-
-/*!
-  \brief QwtPanner provides panning of a widget
-
-  QwtPanner grabs the contents of a widget, that can be dragged
-  in all directions. The offset between the start and the end position
-  is emitted by the panned signal.
-
-  QwtPanner grabs the content of the widget into a pixmap and moves
-  the pixmap around, without initiating any repaint events for the widget.
-  Areas, that are not part of content are not painted  while panning.
-  This makes panning fast enough for widgets, where
-  repaints are too slow for mouse movements.
-
-  For widgets, where repaints are very fast it might be better to
-  implement panning manually by mapping mouse events into paint events.
-*/
-class QWT_EXPORT QwtPanner: public QWidget
-{
-    Q_OBJECT
-
-public:
-    QwtPanner( QWidget* parent );
-    virtual ~QwtPanner();
-
-    void setEnabled( bool );
-    bool isEnabled() const;
-
-    void setMouseButton( Qt::MouseButton, 
-        Qt::KeyboardModifiers = Qt::NoModifier );
-    void getMouseButton( Qt::MouseButton &button, 
-        Qt::KeyboardModifiers & ) const;
-
-    void setAbortKey( int key, Qt::KeyboardModifiers = Qt::NoModifier );
-    void getAbortKey( int &key, Qt::KeyboardModifiers & ) const;
-
-    void setCursor( const QCursor & );
-    const QCursor cursor() const;
-
-    void setOrientations( Qt::Orientations );
-    Qt::Orientations orientations() const;
-
-    bool isOrientationEnabled( Qt::Orientation ) const;
-
-    virtual bool eventFilter( QObject *, QEvent * );
-
-Q_SIGNALS:
-    /*!
-      Signal emitted, when panning is done
-
-      \param dx Offset in horizontal direction
-      \param dy Offset in vertical direction
-    */
-    void panned( int dx, int dy );
-
-    /*!
-      Signal emitted, while the widget moved, but panning
-      is not finished.
-
-      \param dx Offset in horizontal direction
-      \param dy Offset in vertical direction
-    */
-    void moved( int dx, int dy );
-
-protected:
-    virtual void widgetMousePressEvent( QMouseEvent * );
-    virtual void widgetMouseReleaseEvent( QMouseEvent * );
-    virtual void widgetMouseMoveEvent( QMouseEvent * );
-    virtual void widgetKeyPressEvent( QKeyEvent * );
-    virtual void widgetKeyReleaseEvent( QKeyEvent * );
-
-    virtual void paintEvent( QPaintEvent * );
-
-    virtual QBitmap contentsMask() const;
-    virtual QPixmap grab() const;
-
-private:
-#ifndef QT_NO_CURSOR
-    void showCursor( bool );
-#endif
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_picker.cpp b/SRC/Qwt/src/qwt_picker.cpp
deleted file mode 100644
index c6f06a5..0000000
--- a/SRC/Qwt/src/qwt_picker.cpp
+++ /dev/null
@@ -1,1593 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_picker.h"
-#include "qwt_picker_machine.h"
-#include "qwt_painter.h"
-#include "qwt_math.h"
-#include "qwt_widget_overlay.h"
-#include <qapplication.h>
-#include <qevent.h>
-#include <qpainter.h>
-#include <qframe.h>
-#include <qcursor.h>
-#include <qbitmap.h>
-#include <qpointer.h>
-#include <qpaintengine.h>
-#include <qmath.h>
-
-static inline QRegion qwtMaskRegion( const QRect &r, int penWidth )
-{
-    const int pw = qMax( penWidth, 1 );
-    const int pw2 = penWidth / 2;
-
-    int x1 = r.left() - pw2;
-    int x2 = r.right() + 1 + pw2 + ( pw % 2 );
-
-    int y1 = r.top() - pw2;
-    int y2 = r.bottom() + 1 + pw2 + ( pw % 2 );
-
-    QRegion region;
-
-    region += QRect( x1, y1, x2 - x1, pw );
-    region += QRect( x1, y1, pw, y2 - y1 );
-    region += QRect( x1, y2 - pw, x2 - x1, pw );
-    region += QRect( x2 - pw, y1, pw, y2 - y1 );
-
-    return region;
-}
-
-static inline QRegion qwtMaskRegion( const QLine &l, int penWidth )
-{
-    const int pw = qMax( penWidth, 1 );
-    const int pw2 = penWidth / 2;
-
-    QRegion region;
-
-    if ( l.x1() == l.x2() )
-    {
-        region += QRect( l.x1() - pw2, l.y1(), 
-            pw, l.y2() ).normalized();
-    }
-    else if ( l.y1() == l.y2() )
-    {
-        region += QRect( l.x1(), l.y1() - pw2, 
-            l.x2(), pw ).normalized();
-    }
-
-    return region;
-}
-
-class QwtPickerRubberband: public QwtWidgetOverlay
-{
-public:
-    QwtPickerRubberband( QwtPicker *, QWidget * );
-
-protected:
-    virtual void drawOverlay( QPainter * ) const;
-    virtual QRegion maskHint() const;
-
-    QwtPicker *d_picker;
-};
-
-class QwtPickerTracker: public QwtWidgetOverlay
-{                                  
-public:
-    QwtPickerTracker( QwtPicker *, QWidget * );
-    
-protected:
-    virtual void drawOverlay( QPainter * ) const;
-    virtual QRegion maskHint() const;
-    
-    QwtPicker *d_picker;
-};  
-
-
-class QwtPicker::PrivateData
-{
-public:
-    PrivateData():
-        enabled( false ),
-        stateMachine( NULL ),
-        resizeMode( QwtPicker::Stretch ),
-        rubberBand( QwtPicker::NoRubberBand ),
-        trackerMode( QwtPicker::AlwaysOff ),
-        isActive( false ),
-        trackerPosition( -1, -1 ),
-        mouseTracking( false ),
-        openGL( false )
-    {
-    }
-        
-    bool enabled;
-
-    QwtPickerMachine *stateMachine;
-
-    QwtPicker::ResizeMode resizeMode;
-
-    QwtPicker::RubberBand rubberBand;
-    QPen rubberBandPen;
-
-    QwtPicker::DisplayMode trackerMode;
-    QPen trackerPen;
-    QFont trackerFont;
-
-    QPolygon pickedPoints;
-    bool isActive;
-    QPoint trackerPosition;
-
-    bool mouseTracking; // used to save previous value
-
-    QPointer< QwtPickerRubberband > rubberBandOverlay;
-    QPointer< QwtPickerTracker> trackerOverlay;
-
-    bool openGL;
-};
-
-QwtPickerRubberband::QwtPickerRubberband(
-        QwtPicker *picker, QWidget *parent ):
-    QwtWidgetOverlay( parent ),
-    d_picker( picker )
-{
-    setMaskMode( QwtWidgetOverlay::MaskHint );
-}
-
-QRegion QwtPickerRubberband::maskHint() const
-{
-    return d_picker->rubberBandMask();
-}
-
-void QwtPickerRubberband::drawOverlay( QPainter *painter ) const
-{
-    painter->setPen( d_picker->rubberBandPen() );
-    d_picker->drawRubberBand( painter );
-}
-
-QwtPickerTracker::QwtPickerTracker(
-        QwtPicker *picker, QWidget *parent ):
-    QwtWidgetOverlay( parent ),
-    d_picker( picker )
-{
-    setMaskMode( QwtWidgetOverlay::MaskHint );
-}
-
-QRegion QwtPickerTracker::maskHint() const
-{
-    return d_picker->trackerRect( font() );
-}
-
-void QwtPickerTracker::drawOverlay( QPainter *painter ) const
-{
-    painter->setPen( d_picker->trackerPen() );
-    d_picker->drawTracker( painter );
-}
-
-/*!
-  Constructor
-
-  Creates an picker that is enabled, but without a state machine.
-  rubber band and tracker are disabled.
-
-  \param parent Parent widget, that will be observed
- */
-
-QwtPicker::QwtPicker( QWidget *parent ):
-    QObject( parent )
-{
-    init( parent, NoRubberBand, AlwaysOff );
-}
-
-/*!
-  Constructor
-
-  \param rubberBand Rubber band style
-  \param trackerMode Tracker mode
-  \param parent Parent widget, that will be observed
- */
-QwtPicker::QwtPicker( RubberBand rubberBand,
-        DisplayMode trackerMode, QWidget *parent ):
-    QObject( parent )
-{
-    init( parent, rubberBand, trackerMode );
-}
-
-//! Destructor
-QwtPicker::~QwtPicker()
-{
-    setMouseTracking( false );
-
-    delete d_data->stateMachine;
-    delete d_data->rubberBandOverlay;
-    delete d_data->trackerOverlay;
-
-    delete d_data;
-}
-
-//! Initialize the picker - used by the constructors
-void QwtPicker::init( QWidget *parent,
-    RubberBand rubberBand, DisplayMode trackerMode )
-{
-    d_data = new PrivateData;
-
-    d_data->rubberBand = rubberBand;
-
-    if ( parent )
-    {
-        if ( parent->focusPolicy() == Qt::NoFocus )
-            parent->setFocusPolicy( Qt::WheelFocus );
-
-        d_data->openGL = parent->inherits( "QGLWidget" );
-        d_data->trackerFont = parent->font();
-        d_data->mouseTracking = parent->hasMouseTracking();
-
-        setEnabled( true );
-    }
-
-    setTrackerMode( trackerMode );
-}
-
-/*!
-  Set a state machine and delete the previous one
-
-  \param stateMachine State machine
-  \sa stateMachine()
-*/
-void QwtPicker::setStateMachine( QwtPickerMachine *stateMachine )
-{
-    if ( d_data->stateMachine != stateMachine )
-    {
-        reset();
-
-        delete d_data->stateMachine;
-        d_data->stateMachine = stateMachine;
-
-        if ( d_data->stateMachine )
-            d_data->stateMachine->reset();
-    }
-}
-
-/*!
-  \return Assigned state machine
-  \sa setStateMachine()
-*/
-QwtPickerMachine *QwtPicker::stateMachine()
-{
-    return d_data->stateMachine;
-}
-
-/*!
-  \return Assigned state machine
-  \sa setStateMachine()
-*/
-const QwtPickerMachine *QwtPicker::stateMachine() const
-{
-    return d_data->stateMachine;
-}
-
-//! Return the parent widget, where the selection happens
-QWidget *QwtPicker::parentWidget()
-{
-    QObject *obj = parent();
-    if ( obj && obj->isWidgetType() )
-        return static_cast<QWidget *>( obj );
-
-    return NULL;
-}
-
-//! Return the parent widget, where the selection happens
-const QWidget *QwtPicker::parentWidget() const
-{
-    QObject *obj = parent();
-    if ( obj && obj->isWidgetType() )
-        return static_cast< const QWidget *>( obj );
-
-    return NULL;
-}
-
-/*!
-  Set the rubber band style
-
-  \param rubberBand Rubber band style
-         The default value is NoRubberBand.
-
-  \sa rubberBand(), RubberBand, setRubberBandPen()
-*/
-void QwtPicker::setRubberBand( RubberBand rubberBand )
-{
-    d_data->rubberBand = rubberBand;
-}
-
-/*!
-  \return Rubber band style
-  \sa setRubberBand(), RubberBand, rubberBandPen()
-*/
-QwtPicker::RubberBand QwtPicker::rubberBand() const
-{
-    return d_data->rubberBand;
-}
-
-/*!
-  \brief Set the display mode of the tracker.
-
-  A tracker displays information about current position of
-  the cursor as a string. The display mode controls
-  if the tracker has to be displayed whenever the observed
-  widget has focus and cursor (AlwaysOn), never (AlwaysOff), or
-  only when the selection is active (ActiveOnly).
-
-  \param mode Tracker display mode
-
-  \warning In case of AlwaysOn, mouseTracking will be enabled
-           for the observed widget.
-  \sa trackerMode(), DisplayMode
-*/
-
-void QwtPicker::setTrackerMode( DisplayMode mode )
-{
-    if ( d_data->trackerMode != mode )
-    {
-        d_data->trackerMode = mode;
-        setMouseTracking( d_data->trackerMode == AlwaysOn );
-    }
-}
-
-/*!
-  \return Tracker display mode
-  \sa setTrackerMode(), DisplayMode
-*/
-QwtPicker::DisplayMode QwtPicker::trackerMode() const
-{
-    return d_data->trackerMode;
-}
-
-/*!
-  \brief Set the resize mode.
-
-  The resize mode controls what to do with the selected points of an active
-  selection when the observed widget is resized.
-
-  Stretch means the points are scaled according to the new
-  size, KeepSize means the points remain unchanged.
-
-  The default mode is Stretch.
-
-  \param mode Resize mode
-  \sa resizeMode(), ResizeMode
-*/
-void QwtPicker::setResizeMode( ResizeMode mode )
-{
-    d_data->resizeMode = mode;
-}
-
-/*!
-  \return Resize mode
-  \sa setResizeMode(), ResizeMode
-*/
-
-QwtPicker::ResizeMode QwtPicker::resizeMode() const
-{
-    return d_data->resizeMode;
-}
-
-/*!
-  \brief En/disable the picker
-
-  When enabled is true an event filter is installed for
-  the observed widget, otherwise the event filter is removed.
-
-  \param enabled true or false
-  \sa isEnabled(), eventFilter()
-*/
-void QwtPicker::setEnabled( bool enabled )
-{
-    if ( d_data->enabled != enabled )
-    {
-        d_data->enabled = enabled;
-
-        QWidget *w = parentWidget();
-        if ( w )
-        {
-            if ( enabled )
-                w->installEventFilter( this );
-            else
-                w->removeEventFilter( this );
-        }
-
-        updateDisplay();
-    }
-}
-
-/*!
-  \return true when enabled, false otherwise
-  \sa setEnabled(), eventFilter()
-*/
-
-bool QwtPicker::isEnabled() const
-{
-    return d_data->enabled;
-}
-
-/*!
-  Set the font for the tracker
-
-  \param font Tracker font
-  \sa trackerFont(), setTrackerMode(), setTrackerPen()
-*/
-void QwtPicker::setTrackerFont( const QFont &font )
-{
-    if ( font != d_data->trackerFont )
-    {
-        d_data->trackerFont = font;
-        updateDisplay();
-    }
-}
-
-/*!
-  \return Tracker font
-  \sa setTrackerFont(), trackerMode(), trackerPen()
-*/
-
-QFont QwtPicker::trackerFont() const
-{
-    return d_data->trackerFont;
-}
-
-/*!
-  Set the pen for the tracker
-
-  \param pen Tracker pen
-  \sa trackerPen(), setTrackerMode(), setTrackerFont()
-*/
-void QwtPicker::setTrackerPen( const QPen &pen )
-{
-    if ( pen != d_data->trackerPen )
-    {
-        d_data->trackerPen = pen;
-        updateDisplay();
-    }
-}
-
-/*!
-  \return Tracker pen
-  \sa setTrackerPen(), trackerMode(), trackerFont()
-*/
-QPen QwtPicker::trackerPen() const
-{
-    return d_data->trackerPen;
-}
-
-/*!
-  Set the pen for the rubberband
-
-  \param pen Rubber band pen
-  \sa rubberBandPen(), setRubberBand()
-*/
-void QwtPicker::setRubberBandPen( const QPen &pen )
-{
-    if ( pen != d_data->rubberBandPen )
-    {
-        d_data->rubberBandPen = pen;
-        updateDisplay();
-    }
-}
-
-/*!
-  \return Rubber band pen
-  \sa setRubberBandPen(), rubberBand()
-*/
-QPen QwtPicker::rubberBandPen() const
-{
-    return d_data->rubberBandPen;
-}
-
-/*!
-   \brief Return the label for a position
-
-   In case of HLineRubberBand the label is the value of the
-   y position, in case of VLineRubberBand the value of the x position.
-   Otherwise the label contains x and y position separated by a ',' .
-
-   The format for the string conversion is "%d".
-
-   \param pos Position
-   \return Converted position as string
-*/
-
-QwtText QwtPicker::trackerText( const QPoint &pos ) const
-{
-    QString label;
-
-    switch ( rubberBand() )
-    {
-        case HLineRubberBand:
-            label.sprintf( "%d", pos.y() );
-            break;
-        case VLineRubberBand:
-            label.sprintf( "%d", pos.x() );
-            break;
-        default:
-            label.sprintf( "%d, %d", pos.x(), pos.y() );
-    }
-    return label;
-}
-
-/*!
-  Calculate the mask for the rubber band overlay
-
-  \return Region for the mask
-  \sa QWidget::setMask()
- */
-QRegion QwtPicker::rubberBandMask() const
-{
-    QRegion mask;
-
-    if ( !isActive() || rubberBand() == NoRubberBand ||
-        rubberBandPen().style() == Qt::NoPen )
-    {
-        return mask;
-    }
-
-    const QPolygon pa = adjustedPoints( d_data->pickedPoints );
-
-    QwtPickerMachine::SelectionType selectionType =
-        QwtPickerMachine::NoSelection;
-
-    if ( d_data->stateMachine )
-        selectionType = d_data->stateMachine->selectionType();
-
-    switch ( selectionType )
-    {
-        case QwtPickerMachine::NoSelection:
-        case QwtPickerMachine::PointSelection:
-        {
-            if ( pa.count() < 1 )
-                return mask;
-
-            const QPoint pos = pa[0];
-            const int pw = rubberBandPen().width();
-
-            const QRect pRect = pickArea().boundingRect().toRect();
-            switch ( rubberBand() )
-            {
-                case VLineRubberBand:
-                {
-                    mask += qwtMaskRegion( QLine( pos.x(), pRect.top(), 
-                        pos.x(), pRect.bottom() ), pw );
-                    break;
-                }
-                case HLineRubberBand:
-                {
-                    mask += qwtMaskRegion( QLine( pRect.left(), pos.y(), 
-                        pRect.right(), pos.y() ), pw );
-                    break;
-                }
-                case CrossRubberBand:
-                {
-                    mask += qwtMaskRegion( QLine( pos.x(), pRect.top(), 
-                        pos.x(), pRect.bottom() ), pw );
-                    mask += qwtMaskRegion( QLine( pRect.left(), pos.y(), 
-                        pRect.right(), pos.y() ), pw );
-                    break;
-                }
-                default:
-                    break;
-            }
-            break;
-        }
-        case QwtPickerMachine::RectSelection:
-        {
-            if ( pa.count() < 2 )
-                return mask;
-
-            const int pw = rubberBandPen().width();
-
-            switch ( rubberBand() )
-            {
-                case RectRubberBand:
-                {
-                    const QRect r = QRect( pa.first(), pa.last() );
-                    mask = qwtMaskRegion( r.normalized(), pw );
-                    break;
-                }
-                case EllipseRubberBand:
-                {
-                    const QRect r = QRect( pa.first(), pa.last() );
-                    mask += r.adjusted( -pw, -pw, pw, pw );
-                    break;
-                }
-                default:
-                    break;
-            }
-            break;
-        }
-        case QwtPickerMachine::PolygonSelection:
-        {
-            const int pw = rubberBandPen().width();
-            if ( pw <= 1 )
-            {
-                // because of the join style we better
-                // return a mask for a pen width <= 1 only
-
-                const int off = 2 * pw;
-                const QRect r = pa.boundingRect();
-                mask += r.adjusted( -off, -off, off, off );
-            }
-            break;
-        }
-        default:
-            break;
-    }
-
-    return mask;
-}
-
-/*!
-   Draw a rubber band, depending on rubberBand()
-
-   \param painter Painter, initialized with a clip region
-
-   \sa rubberBand(), RubberBand
-*/
-
-void QwtPicker::drawRubberBand( QPainter *painter ) const
-{
-    if ( !isActive() || rubberBand() == NoRubberBand ||
-        rubberBandPen().style() == Qt::NoPen )
-    {
-        return;
-    }
-
-    const QPolygon pa = adjustedPoints( d_data->pickedPoints );
-
-    QwtPickerMachine::SelectionType selectionType =
-        QwtPickerMachine::NoSelection;
-
-    if ( d_data->stateMachine )
-        selectionType = d_data->stateMachine->selectionType();
-
-    switch ( selectionType )
-    {
-        case QwtPickerMachine::NoSelection:
-        case QwtPickerMachine::PointSelection:
-        {
-            if ( pa.count() < 1 )
-                return;
-
-            const QPoint pos = pa[0];
-
-            const QRect pRect = pickArea().boundingRect().toRect();
-            switch ( rubberBand() )
-            {
-                case VLineRubberBand:
-                {
-                    QwtPainter::drawLine( painter, pos.x(),
-                        pRect.top(), pos.x(), pRect.bottom() );
-                    break;
-                }
-                case HLineRubberBand:
-                {
-                    QwtPainter::drawLine( painter, pRect.left(),
-                        pos.y(), pRect.right(), pos.y() );
-                    break;
-                }
-                case CrossRubberBand:
-                {
-                    QwtPainter::drawLine( painter, pos.x(),
-                        pRect.top(), pos.x(), pRect.bottom() );
-                    QwtPainter::drawLine( painter, pRect.left(),
-                        pos.y(), pRect.right(), pos.y() );
-                    break;
-                }
-                default:
-                    break;
-            }
-            break;
-        }
-        case QwtPickerMachine::RectSelection:
-        {
-            if ( pa.count() < 2 )
-                return;
-
-            const QRect rect = QRect( pa.first(), pa.last() ).normalized();
-            switch ( rubberBand() )
-            {
-                case EllipseRubberBand:
-                {
-                    QwtPainter::drawEllipse( painter, rect );
-                    break;
-                }
-                case RectRubberBand:
-                {
-                    QwtPainter::drawRect( painter, rect );
-                    break;
-                }
-                default:
-                    break;
-            }
-            break;
-        }
-        case QwtPickerMachine::PolygonSelection:
-        {
-            if ( rubberBand() == PolygonRubberBand )
-                painter->drawPolyline( pa );
-            break;
-        }
-        default:
-            break;
-    }
-}
-
-/*!
-   Draw the tracker
-
-   \param painter Painter
-   \sa trackerRect(), trackerText()
-*/
-
-void QwtPicker::drawTracker( QPainter *painter ) const
-{
-    const QRect textRect = trackerRect( painter->font() );
-    if ( !textRect.isEmpty() )
-    {
-        const QwtText label = trackerText( d_data->trackerPosition );
-        if ( !label.isEmpty() )
-            label.draw( painter, textRect );
-    }
-}
-
-/*!
-   \brief Map the pickedPoints() into a selection()
-
-   adjustedPoints() maps the points, that have been collected on
-   the parentWidget() into a selection(). The default implementation
-   simply returns the points unmodified.
-
-   The reason, why a selection() differs from the picked points
-   depends on the application requirements. F.e. :
-
-   - A rectangular selection might need to have a specific aspect ratio only.\n
-   - A selection could accept non intersecting polygons only.\n
-   - ...\n
-
-   The example below is for a rectangular selection, where the first
-   point is the center of the selected rectangle.
-  \par Example
-  \verbatim QPolygon MyPicker::adjustedPoints(const QPolygon &points) const
-{
-    QPolygon adjusted;
-    if ( points.size() == 2 )
-    {
-        const int width = qAbs(points[1].x() - points[0].x());
-        const int height = qAbs(points[1].y() - points[0].y());
-
-        QRect rect(0, 0, 2 * width, 2 * height);
-        rect.moveCenter(points[0]);
-
-        adjusted += rect.topLeft();
-        adjusted += rect.bottomRight();
-    }
-    return adjusted;
-}\endverbatim\n
-
-  \param points Selected points
-  \return Selected points unmodified
-*/
-QPolygon QwtPicker::adjustedPoints( const QPolygon &points ) const
-{
-    return points;
-}
-
-/*!
-  \return Selected points
-  \sa pickedPoints(), adjustedPoints()
-*/
-QPolygon QwtPicker::selection() const
-{
-    return adjustedPoints( d_data->pickedPoints );
-}
-
-//! \return Current position of the tracker
-QPoint QwtPicker::trackerPosition() const
-{
-    return d_data->trackerPosition;
-}
-
-/*!
-   Calculate the bounding rectangle for the tracker text
-   from the current position of the tracker
-
-   \param font Font of the tracker text
-   \return Bounding rectangle of the tracker text
-
-   \sa trackerPosition()
-*/
-QRect QwtPicker::trackerRect( const QFont &font ) const
-{
-    if ( trackerMode() == AlwaysOff ||
-        ( trackerMode() == ActiveOnly && !isActive() ) )
-    {
-        return QRect();
-    }
-
-    if ( d_data->trackerPosition.x() < 0 || d_data->trackerPosition.y() < 0 )
-        return QRect();
-
-    QwtText text = trackerText( d_data->trackerPosition );
-    if ( text.isEmpty() )
-        return QRect();
-
-    const QSizeF textSize = text.textSize( font );
-    QRect textRect( 0, 0, qCeil( textSize.width() ), qCeil( textSize.height() ) );
-
-    const QPoint &pos = d_data->trackerPosition;
-
-    int alignment = 0;
-    if ( isActive() && d_data->pickedPoints.count() > 1
-        && rubberBand() != NoRubberBand )
-    {
-        const QPoint last =
-            d_data->pickedPoints[int( d_data->pickedPoints.count() ) - 2];
-
-        alignment |= ( pos.x() >= last.x() ) ? Qt::AlignRight : Qt::AlignLeft;
-        alignment |= ( pos.y() > last.y() ) ? Qt::AlignBottom : Qt::AlignTop;
-    }
-    else
-        alignment = Qt::AlignTop | Qt::AlignRight;
-
-    const int margin = 5;
-
-    int x = pos.x();
-    if ( alignment & Qt::AlignLeft )
-        x -= textRect.width() + margin;
-    else if ( alignment & Qt::AlignRight )
-        x += margin;
-
-    int y = pos.y();
-    if ( alignment & Qt::AlignBottom )
-        y += margin;
-    else if ( alignment & Qt::AlignTop )
-        y -= textRect.height() + margin;
-
-    textRect.moveTopLeft( QPoint( x, y ) );
-
-    const QRect pickRect = pickArea().boundingRect().toRect();
-
-    int right = qMin( textRect.right(), pickRect.right() - margin );
-    int bottom = qMin( textRect.bottom(), pickRect.bottom() - margin );
-    textRect.moveBottomRight( QPoint( right, bottom ) );
-
-    int left = qMax( textRect.left(), pickRect.left() + margin );
-    int top = qMax( textRect.top(), pickRect.top() + margin );
-    textRect.moveTopLeft( QPoint( left, top ) );
-
-    return textRect;
-}
-
-/*!
-  \brief Event filter
-
-  When isEnabled() is true all events of the observed widget are filtered.
-  Mouse and keyboard events are translated into widgetMouse- and widgetKey-
-  and widgetWheel-events. Paint and Resize events are handled to keep
-  rubber band and tracker up to date.
-
-  \param object Object to be filtered
-  \param event Event
-
-  \return Always false.
-
-  \sa widgetEnterEvent(), widgetLeaveEvent(),
-      widgetMousePressEvent(), widgetMouseReleaseEvent(),
-      widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(),
-      widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent(),
-      QObject::installEventFilter(), QObject::event()
-*/
-bool QwtPicker::eventFilter( QObject *object, QEvent *event )
-{
-    if ( object && object == parentWidget() )
-    {
-        switch ( event->type() )
-        {
-            case QEvent::Resize:
-            {
-                const QResizeEvent *re = static_cast<QResizeEvent *>( event );
-
-                /*
-                   Adding/deleting additional event filters inside of an event filter
-                   is not safe dues to the implementation in Qt ( changing alist while iterating ).
-                   So we create the overlays in a way, that they don't install en event filter
-                   ( parent set to NULL ) and do the resizing here.
-                 */
-                if ( d_data->trackerOverlay )
-                    d_data->trackerOverlay->resize( re->size() );
-
-                if ( d_data->rubberBandOverlay )
-                    d_data->rubberBandOverlay->resize( re->size() );
-
-                if ( d_data->resizeMode == Stretch )
-                    stretchSelection( re->oldSize(), re->size() );
-
-                updateDisplay();
-                break;
-            }
-            case QEvent::Enter:
-            {
-                widgetEnterEvent( event );
-                break;
-            }
-            case QEvent::Leave:
-            {
-                widgetLeaveEvent( event );
-                break;
-            }
-            case QEvent::MouseButtonPress:
-            {
-                widgetMousePressEvent( static_cast<QMouseEvent *>( event ) );
-                break;
-            }
-            case QEvent::MouseButtonRelease:
-            {
-                widgetMouseReleaseEvent( static_cast<QMouseEvent *>( event ) );
-                break;
-            }
-            case QEvent::MouseButtonDblClick:
-            {
-                widgetMouseDoubleClickEvent( static_cast<QMouseEvent *>( event ) );
-                break;
-            }
-            case QEvent::MouseMove:
-            {
-                widgetMouseMoveEvent( static_cast<QMouseEvent *>( event ) );
-                break;
-            }
-            case QEvent::KeyPress:
-            {
-                widgetKeyPressEvent( static_cast<QKeyEvent *>( event ) );
-                break;
-            }
-            case QEvent::KeyRelease:
-            {
-                widgetKeyReleaseEvent( static_cast<QKeyEvent *>( event ) );
-                break;
-            }
-            case QEvent::Wheel:
-            {
-                widgetWheelEvent( static_cast<QWheelEvent *>( event ) );
-                break;
-            }
-            default:
-                break;
-        }
-    }
-    return false;
-}
-
-/*!
-  Handle a mouse press event for the observed widget.
-
-  \param mouseEvent Mouse event
-
-  \sa eventFilter(), widgetMouseReleaseEvent(),
-      widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(),
-      widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()
-*/
-void QwtPicker::widgetMousePressEvent( QMouseEvent *mouseEvent )
-{
-    transition( mouseEvent );
-}
-
-/*!
-  Handle a mouse move event for the observed widget.
-
-  \param mouseEvent Mouse event
-
-  \sa eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(),
-      widgetMouseDoubleClickEvent(),
-      widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()
-*/
-void QwtPicker::widgetMouseMoveEvent( QMouseEvent *mouseEvent )
-{
-    if ( pickArea().contains( mouseEvent->pos() ) )
-        d_data->trackerPosition = mouseEvent->pos();
-    else
-        d_data->trackerPosition = QPoint( -1, -1 );
-
-    if ( !isActive() )
-        updateDisplay();
-
-    transition( mouseEvent );
-}
-
-/*!
-  Handle a enter event for the observed widget.
-
-  \param event Qt event
-
-  \sa eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(),
-      widgetMouseDoubleClickEvent(),
-      widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()
-*/
-void QwtPicker::widgetEnterEvent( QEvent *event )
-{
-    transition( event );
-}
-
-/*!
-  Handle a leave event for the observed widget.
-
-  \param event Qt event
-
-  \sa eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(),
-      widgetMouseDoubleClickEvent(),
-      widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()
-*/
-void QwtPicker::widgetLeaveEvent( QEvent *event )
-{
-    transition( event );
-
-    d_data->trackerPosition = QPoint( -1, -1 );
-    if ( !isActive() )
-        updateDisplay();
-}
-
-/*!
-  Handle a mouse release event for the observed widget.
-
-  \param mouseEvent Mouse event
-
-  \sa eventFilter(), widgetMousePressEvent(),
-      widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(),
-      widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()
-*/
-void QwtPicker::widgetMouseReleaseEvent( QMouseEvent *mouseEvent )
-{
-    transition( mouseEvent );
-}
-
-/*!
-  Handle mouse double click event for the observed widget.
-
-  \param mouseEvent Mouse event
-
-  \sa eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(),
-      widgetMouseMoveEvent(),
-      widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()
-*/
-void QwtPicker::widgetMouseDoubleClickEvent( QMouseEvent *mouseEvent )
-{
-    transition( mouseEvent );
-}
-
-
-/*!
-  Handle a wheel event for the observed widget.
-
-  Move the last point of the selection in case of isActive() == true
-
-  \param wheelEvent Wheel event
-
-  \sa eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(),
-      widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(),
-      widgetKeyPressEvent(), widgetKeyReleaseEvent()
-*/
-void QwtPicker::widgetWheelEvent( QWheelEvent *wheelEvent )
-{
-    if ( pickArea().contains( wheelEvent->pos() ) )
-        d_data->trackerPosition = wheelEvent->pos();
-    else
-        d_data->trackerPosition = QPoint( -1, -1 );
-
-    updateDisplay();
-
-    transition( wheelEvent );
-}
-
-/*!
-  Handle a key press event for the observed widget.
-
-  Selections can be completely done by the keyboard. The arrow keys
-  move the cursor, the abort key aborts a selection. All other keys
-  are handled by the current state machine.
-
-  \param keyEvent Key event
-
-  \sa eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(),
-      widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(),
-      widgetWheelEvent(), widgetKeyReleaseEvent(), stateMachine(),
-      QwtEventPattern::KeyPatternCode
-*/
-void QwtPicker::widgetKeyPressEvent( QKeyEvent *keyEvent )
-{
-    int dx = 0;
-    int dy = 0;
-
-    int offset = 1;
-    if ( keyEvent->isAutoRepeat() )
-        offset = 5;
-
-    if ( keyMatch( KeyLeft, keyEvent ) )
-        dx = -offset;
-    else if ( keyMatch( KeyRight, keyEvent ) )
-        dx = offset;
-    else if ( keyMatch( KeyUp, keyEvent ) )
-        dy = -offset;
-    else if ( keyMatch( KeyDown, keyEvent ) )
-        dy = offset;
-    else if ( keyMatch( KeyAbort, keyEvent ) )
-    {
-        reset();
-    }
-    else
-        transition( keyEvent );
-
-    if ( dx != 0 || dy != 0 )
-    {
-        const QRect rect = pickArea().boundingRect().toRect();
-        const QPoint pos = parentWidget()->mapFromGlobal( QCursor::pos() );
-
-        int x = pos.x() + dx;
-        x = qMax( rect.left(), x );
-        x = qMin( rect.right(), x );
-
-        int y = pos.y() + dy;
-        y = qMax( rect.top(), y );
-        y = qMin( rect.bottom(), y );
-
-        QCursor::setPos( parentWidget()->mapToGlobal( QPoint( x, y ) ) );
-    }
-}
-
-/*!
-  Handle a key release event for the observed widget.
-
-  Passes the event to the state machine.
-
-  \param keyEvent Key event
-
-  \sa eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(),
-      widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(),
-      widgetWheelEvent(), widgetKeyPressEvent(), stateMachine()
-*/
-void QwtPicker::widgetKeyReleaseEvent( QKeyEvent *keyEvent )
-{
-    transition( keyEvent );
-}
-
-/*!
-  Passes an event to the state machine and executes the resulting
-  commands. Append and Move commands use the current position
-  of the cursor ( QCursor::pos() ).
-
-  \param event Event
-*/
-void QwtPicker::transition( const QEvent *event )
-{
-    if ( !d_data->stateMachine )
-        return;
-
-    const QList<QwtPickerMachine::Command> commandList =
-        d_data->stateMachine->transition( *this, event );
-
-    QPoint pos;
-    switch ( event->type() )
-    {
-        case QEvent::MouseButtonDblClick:
-        case QEvent::MouseButtonPress:
-        case QEvent::MouseButtonRelease:
-        case QEvent::MouseMove:
-        {
-            const QMouseEvent *me = 
-                static_cast< const QMouseEvent * >( event );
-            pos = me->pos();
-            break;
-        }
-        default:
-            pos = parentWidget()->mapFromGlobal( QCursor::pos() );
-    }
-
-    for ( int i = 0; i < commandList.count(); i++ )
-    {
-        switch ( commandList[i] )
-        {
-            case QwtPickerMachine::Begin:
-            {
-                begin();
-                break;
-            }
-            case QwtPickerMachine::Append:
-            {
-                append( pos );
-                break;
-            }
-            case QwtPickerMachine::Move:
-            {
-                move( pos );
-                break;
-            }
-            case QwtPickerMachine::Remove:
-            {
-                remove();
-                break;
-            }
-            case QwtPickerMachine::End:
-            {
-                end();
-                break;
-            }
-        }
-    }
-}
-
-/*!
-  Open a selection setting the state to active
-
-  \sa isActive(), end(), append(), move()
-*/
-void QwtPicker::begin()
-{
-    if ( d_data->isActive )
-        return;
-
-    d_data->pickedPoints.resize( 0 );
-    d_data->isActive = true;
-    Q_EMIT activated( true );
-
-    if ( trackerMode() != AlwaysOff )
-    {
-        if ( d_data->trackerPosition.x() < 0 || d_data->trackerPosition.y() < 0 )
-        {
-            QWidget *w = parentWidget();
-            if ( w )
-                d_data->trackerPosition = w->mapFromGlobal( QCursor::pos() );
-        }
-    }
-
-    updateDisplay();
-    setMouseTracking( true );
-}
-
-/*!
-  \brief Close a selection setting the state to inactive.
-
-  The selection is validated and maybe fixed by accept().
-
-  \param ok If true, complete the selection and emit a selected signal
-            otherwise discard the selection.
-  \return true if the selection is accepted, false otherwise
-  \sa isActive(), begin(), append(), move(), selected(), accept()
-*/
-bool QwtPicker::end( bool ok )
-{
-    if ( d_data->isActive )
-    {
-        setMouseTracking( false );
-
-        d_data->isActive = false;
-        Q_EMIT activated( false );
-
-        if ( trackerMode() == ActiveOnly )
-            d_data->trackerPosition = QPoint( -1, -1 );
-
-        if ( ok )
-            ok = accept( d_data->pickedPoints );
-
-        if ( ok )
-            Q_EMIT selected( d_data->pickedPoints );
-        else
-            d_data->pickedPoints.resize( 0 );
-
-        updateDisplay();
-    }
-    else
-        ok = false;
-
-    return ok;
-}
-
-/*!
-   Reset the state machine and terminate ( end(false) ) the selection
-*/
-void QwtPicker::reset()
-{
-    if ( d_data->stateMachine )
-        d_data->stateMachine->reset();
-
-    if ( isActive() )
-        end( false );
-}
-
-/*!
-  Append a point to the selection and update rubber band and tracker.
-  The appended() signal is emitted.
-
-  \param pos Additional point
-
-  \sa isActive(), begin(), end(), move(), appended()
-*/
-void QwtPicker::append( const QPoint &pos )
-{
-    if ( d_data->isActive )
-    {
-        const int idx = d_data->pickedPoints.count();
-        d_data->pickedPoints.resize( idx + 1 );
-        d_data->pickedPoints[idx] = pos;
-
-        updateDisplay();
-        Q_EMIT appended( pos );
-    }
-}
-
-/*!
-  Move the last point of the selection
-  The moved() signal is emitted.
-
-  \param pos New position
-  \sa isActive(), begin(), end(), append()
-*/
-void QwtPicker::move( const QPoint &pos )
-{
-    if ( d_data->isActive )
-    {
-        const int idx = d_data->pickedPoints.count() - 1;
-        if ( idx >= 0 )
-        {
-            if ( d_data->pickedPoints[idx] != pos )
-            {
-                d_data->pickedPoints[idx] = pos;
-
-                updateDisplay();
-                Q_EMIT moved( pos );
-            }
-        }
-    }
-}
-
-/*!
-  Remove the last point of the selection
-  The removed() signal is emitted.
-
-  \sa isActive(), begin(), end(), append(), move()
-*/
-void QwtPicker::remove()
-{
-    if ( d_data->isActive )
-    {
-        const int idx = d_data->pickedPoints.count() - 1;
-        if ( idx > 0 )
-        {
-            const int idx = d_data->pickedPoints.count();
-
-            const QPoint pos = d_data->pickedPoints[idx - 1];
-            d_data->pickedPoints.resize( idx - 1 );
-
-            updateDisplay();
-            Q_EMIT removed( pos );
-        }
-    }
-}
-
-/*!
-  \brief Validate and fix up the selection
-
-  Accepts all selections unmodified
-
-  \param selection Selection to validate and fix up
-  \return true, when accepted, false otherwise
-*/
-bool QwtPicker::accept( QPolygon &selection ) const
-{
-    Q_UNUSED( selection );
-    return true;
-}
-
-/*!
-  A picker is active between begin() and end().
-  \return true if the selection is active.
-*/
-bool QwtPicker::isActive() const
-{
-    return d_data->isActive;
-}
-
-/*!
-  Return the points, that have been collected so far. The selection()
-  is calculated from the pickedPoints() in adjustedPoints().
-  \return Picked points
-*/
-const QPolygon &QwtPicker::pickedPoints() const
-{
-    return d_data->pickedPoints;
-}
-
-/*!
-  Scale the selection by the ratios of oldSize and newSize
-  The changed() signal is emitted.
-
-  \param oldSize Previous size
-  \param newSize Current size
-
-  \sa ResizeMode, setResizeMode(), resizeMode()
-*/
-void QwtPicker::stretchSelection( const QSize &oldSize, const QSize &newSize )
-{
-    if ( oldSize.isEmpty() )
-    {
-        // avoid division by zero. But scaling for small sizes also
-        // doesn't make much sense, because of rounding losses. TODO ...
-        return;
-    }
-
-    const double xRatio =
-        double( newSize.width() ) / double( oldSize.width() );
-    const double yRatio =
-        double( newSize.height() ) / double( oldSize.height() );
-
-    for ( int i = 0; i < int( d_data->pickedPoints.count() ); i++ )
-    {
-        QPoint &p = d_data->pickedPoints[i];
-        p.setX( qRound( p.x() * xRatio ) );
-        p.setY( qRound( p.y() * yRatio ) );
-
-        Q_EMIT changed( d_data->pickedPoints );
-    }
-}
-
-/*!
-  Set mouse tracking for the observed widget.
-
-  In case of enable is true, the previous value
-  is saved, that is restored when enable is false.
-
-  \warning Even when enable is false, mouse tracking might be restored
-           to true. When mouseTracking for the observed widget
-           has been changed directly by QWidget::setMouseTracking
-           while mouse tracking has been set to true, this value can't
-           be restored.
-*/
-
-void QwtPicker::setMouseTracking( bool enable )
-{
-    QWidget *widget = parentWidget();
-    if ( !widget )
-        return;
-
-    if ( enable )
-    {
-        d_data->mouseTracking = widget->hasMouseTracking();
-        widget->setMouseTracking( true );
-    }
-    else
-    {
-        widget->setMouseTracking( d_data->mouseTracking );
-    }
-}
-
-/*!
-  Find the area of the observed widget, where selection might happen.
-
-  \return parentWidget()->contentsRect() 
-*/
-QPainterPath QwtPicker::pickArea() const
-{
-    QPainterPath path;
-
-    const QWidget *widget = parentWidget();
-    if ( widget )
-        path.addRect( widget->contentsRect() );
-
-    return path;
-}
-
-//! Update the state of rubber band and tracker label
-void QwtPicker::updateDisplay()
-{
-    QWidget *w = parentWidget();
-
-    bool showRubberband = false;
-    bool showTracker = false;
-
-    if ( w && w->isVisible() && d_data->enabled )
-    {
-        if ( rubberBand() != NoRubberBand && isActive() &&
-            rubberBandPen().style() != Qt::NoPen )
-        {
-            showRubberband = true;
-        }
-
-        if ( trackerMode() == AlwaysOn ||
-            ( trackerMode() == ActiveOnly && isActive() ) )
-        {
-            if ( trackerPen() != Qt::NoPen 
-                && !trackerRect( QFont() ).isEmpty() )
-            {
-                showTracker = true;
-            }
-        }
-    }
-
-    QPointer< QwtPickerRubberband > &rw = d_data->rubberBandOverlay;
-    if ( showRubberband )
-    {
-        if ( rw.isNull() )
-        {
-            rw = new QwtPickerRubberband( this, NULL ); // NULL -> no extra event filter
-            rw->setObjectName( "PickerRubberBand" );
-            rw->setParent( w );
-            rw->resize( w->size() );
-        }
-
-        if ( d_data->rubberBand <= RectRubberBand )
-            rw->setMaskMode( QwtWidgetOverlay::MaskHint );
-        else
-            rw->setMaskMode( QwtWidgetOverlay::AlphaMask );
-
-        rw->updateOverlay();
-    }
-    else
-    {
-        if ( d_data->openGL )
-        {
-            // Qt 4.8 crashes for a delete
-            if ( !rw.isNull() )
-            {
-                rw->hide();
-                rw->deleteLater();
-                rw = NULL;
-            }
-        }
-        else
-        {
-            delete rw;
-        }
-    }
-
-    QPointer< QwtPickerTracker > &tw = d_data->trackerOverlay;
-    if ( showTracker )
-    {
-        if ( tw.isNull() )
-        {
-            tw = new QwtPickerTracker( this, NULL ); // NULL -> no extra event filter
-            tw->setObjectName( "PickerTracker" );
-            tw->setParent( w );
-            tw->resize( w->size() );
-        }
-        tw->setFont( d_data->trackerFont );
-        tw->updateOverlay();
-    }
-    else
-    {
-        if ( d_data->openGL )
-        {
-            // Qt 4.8 crashes for a delete
-            if ( !tw.isNull() )
-            {
-                tw->hide();
-                tw->deleteLater();
-                tw = NULL;
-            }
-        }
-        else
-        {
-            delete tw;
-        }
-    }
-}
-
-//! \return Overlay displaying the rubber band
-const QwtWidgetOverlay *QwtPicker::rubberBandOverlay() const
-{
-    return d_data->rubberBandOverlay;
-}
-
-//! \return Overlay displaying the tracker text
-const QwtWidgetOverlay *QwtPicker::trackerOverlay() const
-{
-    return d_data->trackerOverlay;
-}
-
diff --git a/SRC/Qwt/src/qwt_picker.h b/SRC/Qwt/src/qwt_picker.h
deleted file mode 100644
index c847cd5..0000000
--- a/SRC/Qwt/src/qwt_picker.h
+++ /dev/null
@@ -1,329 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PICKER
-#define QWT_PICKER 1
-
-#include "qwt_global.h"
-#include "qwt_text.h"
-#include "qwt_event_pattern.h"
-#include <qobject.h>
-#include <qpen.h>
-#include <qfont.h>
-#include <qrect.h>
-#include <qpainterpath.h>
-
-class QWidget;
-class QMouseEvent;
-class QWheelEvent;
-class QKeyEvent;
-class QwtPickerMachine;
-class QwtWidgetOverlay;
-
-/*!
-  \brief QwtPicker provides selections on a widget
-
-  QwtPicker filters all enter, leave, mouse and keyboard events of a widget
-  and translates them into an array of selected points.
-
-  The way how the points are collected depends on type of state machine
-  that is connected to the picker. Qwt offers a couple of predefined
-  state machines for selecting:
-
-  - Nothing\n
-    QwtPickerTrackerMachine
-  - Single points\n
-    QwtPickerClickPointMachine, QwtPickerDragPointMachine
-  - Rectangles\n
-    QwtPickerClickRectMachine, QwtPickerDragRectMachine
-  - Polygons\n
-    QwtPickerPolygonMachine
-
-  While these state machines cover the most common ways to collect points
-  it is also possible to implement individual machines as well.
-
-  QwtPicker translates the picked points into a selection using the
-  adjustedPoints() method. adjustedPoints() is intended to be reimplemented
-  to fix up the selection according to application specific requirements.
-  (F.e. when an application accepts rectangles of a fixed aspect ratio only.)
-
-  Optionally QwtPicker support the process of collecting points by a
-  rubber band and tracker displaying a text for the current mouse
-  position.
-
-  \par Example
-  \verbatim #include <qwt_picker.h>
-#include <qwt_picker_machine.h>
-
-QwtPicker *picker = new QwtPicker(widget);
-picker->setStateMachine(new QwtPickerDragRectMachine);
-picker->setTrackerMode(QwtPicker::ActiveOnly);
-picker->setRubberBand(QwtPicker::RectRubberBand); \endverbatim\n
-
-  The state machine triggers the following commands:
-
-  - begin()\n
-    Activate/Initialize the selection.
-  - append()\n
-    Add a new point
-  - move() \n
-    Change the position of the last point.
-  - remove()\n
-    Remove the last point.
-  - end()\n
-    Terminate the selection and call accept to validate the picked points.
-
-  The picker is active (isActive()), between begin() and end().
-  In active state the rubber band is displayed, and the tracker is visible
-  in case of trackerMode is ActiveOnly or AlwaysOn.
-
-  The cursor can be moved using the arrow keys. All selections can be aborted
-  using the abort key. (QwtEventPattern::KeyPatternCode)
-
-  \warning In case of QWidget::NoFocus the focus policy of the observed
-           widget is set to QWidget::WheelFocus and mouse tracking
-           will be manipulated while the picker is active,
-           or if trackerMode() is AlwayOn.
-*/
-
-class QWT_EXPORT QwtPicker: public QObject, public QwtEventPattern
-{
-    Q_OBJECT
-
-    Q_ENUMS( RubberBand DisplayMode ResizeMode )
-
-    Q_PROPERTY( bool isEnabled READ isEnabled WRITE setEnabled )
-    Q_PROPERTY( ResizeMode resizeMode READ resizeMode WRITE setResizeMode )
-
-    Q_PROPERTY( DisplayMode trackerMode READ trackerMode WRITE setTrackerMode )
-    Q_PROPERTY( QPen trackerPen READ trackerPen WRITE setTrackerPen )
-    Q_PROPERTY( QFont trackerFont READ trackerFont WRITE setTrackerFont )
-
-    Q_PROPERTY( RubberBand rubberBand READ rubberBand WRITE setRubberBand )
-    Q_PROPERTY( QPen rubberBandPen READ rubberBandPen WRITE setRubberBandPen )
-
-public:
-    /*!
-      Rubber band style
-
-      The default value is QwtPicker::NoRubberBand.
-      \sa setRubberBand(), rubberBand()
-    */
-
-    enum RubberBand
-    {
-        //! No rubberband.
-        NoRubberBand = 0,
-
-        //! A horizontal line ( only for QwtPickerMachine::PointSelection )
-        HLineRubberBand,
-
-        //! A vertical line ( only for QwtPickerMachine::PointSelection )
-        VLineRubberBand,
-
-        //! A crosshair ( only for QwtPickerMachine::PointSelection )
-        CrossRubberBand,
-
-        //! A rectangle ( only for QwtPickerMachine::RectSelection )
-        RectRubberBand,
-
-        //! An ellipse ( only for QwtPickerMachine::RectSelection )
-        EllipseRubberBand,
-
-        //! A polygon ( only for QwtPickerMachine::PolygonSelection )
-        PolygonRubberBand,
-
-        /*!
-          Values >= UserRubberBand can be used to define additional
-          rubber bands.
-         */
-        UserRubberBand = 100
-    };
-
-    /*!
-      \brief Display mode
-      \sa setTrackerMode(), trackerMode(), isActive()
-    */
-    enum DisplayMode
-    {
-        //! Display never
-        AlwaysOff,
-
-        //! Display always
-        AlwaysOn,
-
-        //! Display only when the selection is active
-        ActiveOnly
-    };
-
-    /*!
-      Controls what to do with the selected points of an active
-         selection when the observed widget is resized.
-
-      The default value is QwtPicker::Stretch.
-      \sa setResizeMode()
-    */
-
-    enum ResizeMode
-    {
-        //! All points are scaled according to the new size,
-        Stretch,
-
-        //! All points remain unchanged.
-        KeepSize
-    };
-
-    explicit QwtPicker( QWidget *parent );
-    explicit QwtPicker( RubberBand rubberBand,
-                        DisplayMode trackerMode, QWidget * );
-
-    virtual ~QwtPicker();
-
-    void setStateMachine( QwtPickerMachine * );
-    const QwtPickerMachine *stateMachine() const;
-    QwtPickerMachine *stateMachine();
-
-    void setRubberBand( RubberBand );
-    RubberBand rubberBand() const;
-
-    void setTrackerMode( DisplayMode );
-    DisplayMode trackerMode() const;
-
-    void setResizeMode( ResizeMode );
-    ResizeMode resizeMode() const;
-
-    void setRubberBandPen( const QPen & );
-    QPen rubberBandPen() const;
-
-    void setTrackerPen( const QPen & );
-    QPen trackerPen() const;
-
-    void setTrackerFont( const QFont & );
-    QFont trackerFont() const;
-
-    bool isEnabled() const;
-    bool isActive() const;
-
-    virtual bool eventFilter( QObject *, QEvent * );
-
-    QWidget *parentWidget();
-    const QWidget *parentWidget() const;
-
-    virtual QPainterPath pickArea() const;
-
-    virtual void drawRubberBand( QPainter * ) const;
-    virtual void drawTracker( QPainter * ) const;
-
-    virtual QRegion rubberBandMask() const;
-
-    virtual QwtText trackerText( const QPoint &pos ) const;
-    QPoint trackerPosition() const;
-    virtual QRect trackerRect( const QFont & ) const;
-
-    QPolygon selection() const;
-
-public Q_SLOTS:
-    void setEnabled( bool );
-
-Q_SIGNALS:
-    /*!
-      A signal indicating, when the picker has been activated.
-      Together with setEnabled() it can be used to implement
-      selections with more than one picker.
-
-      \param on True, when the picker has been activated
-    */
-    void activated( bool on );
-
-    /*!
-      A signal emitting the selected points,
-      at the end of a selection.
-
-      \param polygon Selected points
-    */
-    void selected( const QPolygon &polygon );
-
-    /*!
-      A signal emitted when a point has been appended to the selection
-
-      \param pos Position of the appended point.
-      \sa append(). moved()
-    */
-    void appended( const QPoint &pos );
-
-    /*!
-      A signal emitted whenever the last appended point of the
-      selection has been moved.
-
-      \param pos Position of the moved last point of the selection.
-      \sa move(), appended()
-    */
-    void moved( const QPoint &pos );
-
-    /*!
-      A signal emitted whenever the last appended point of the
-      selection has been removed.
-
-      \param pos Position of the point, that has been removed
-      \sa remove(), appended()
-    */
-    void removed( const QPoint &pos );
-    /*!
-      A signal emitted when the active selection has been changed.
-      This might happen when the observed widget is resized.
-
-      \param selection Changed selection
-      \sa stretchSelection()
-    */
-    void changed( const QPolygon &selection );
-
-protected:
-    virtual QPolygon adjustedPoints( const QPolygon & ) const;
-
-    virtual void transition( const QEvent * );
-
-    virtual void begin();
-    virtual void append( const QPoint & );
-    virtual void move( const QPoint & );
-    virtual void remove();
-    virtual bool end( bool ok = true );
-
-    virtual bool accept( QPolygon & ) const;
-    virtual void reset();
-
-    virtual void widgetMousePressEvent( QMouseEvent * );
-    virtual void widgetMouseReleaseEvent( QMouseEvent * );
-    virtual void widgetMouseDoubleClickEvent( QMouseEvent * );
-    virtual void widgetMouseMoveEvent( QMouseEvent * );
-    virtual void widgetWheelEvent( QWheelEvent * );
-    virtual void widgetKeyPressEvent( QKeyEvent * );
-    virtual void widgetKeyReleaseEvent( QKeyEvent * );
-    virtual void widgetEnterEvent( QEvent * );
-    virtual void widgetLeaveEvent( QEvent * );
-
-    virtual void stretchSelection( const QSize &oldSize,
-                                   const QSize &newSize );
-
-    virtual void updateDisplay();
-
-    const QwtWidgetOverlay *rubberBandOverlay() const;
-    const QwtWidgetOverlay *trackerOverlay() const;
-
-    const QPolygon &pickedPoints() const;
-
-private:
-    void init( QWidget *, RubberBand rubberBand, DisplayMode trackerMode );
-
-    void setMouseTracking( bool );
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_picker_machine.cpp b/SRC/Qwt/src/qwt_picker_machine.cpp
deleted file mode 100644
index 9f2f6f8..0000000
--- a/SRC/Qwt/src/qwt_picker_machine.cpp
+++ /dev/null
@@ -1,541 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_picker_machine.h"
-#include "qwt_event_pattern.h"
-#include <qevent.h>
-
-//! Constructor
-QwtPickerMachine::QwtPickerMachine( SelectionType type ):
-    d_selectionType( type ),
-    d_state( 0 )
-{
-}
-
-//! Destructor
-QwtPickerMachine::~QwtPickerMachine()
-{
-}
-
-//! Return the selection type
-QwtPickerMachine::SelectionType QwtPickerMachine::selectionType() const
-{
-    return d_selectionType;
-}
-
-//! Return the current state
-int QwtPickerMachine::state() const
-{
-    return d_state;
-}
-
-//! Change the current state
-void QwtPickerMachine::setState( int state )
-{
-    d_state = state;
-}
-
-//! Set the current state to 0.
-void QwtPickerMachine::reset()
-{
-    setState( 0 );
-}
-
-//! Constructor
-QwtPickerTrackerMachine::QwtPickerTrackerMachine():
-    QwtPickerMachine( NoSelection )
-{
-}
-
-//! Transition
-QList<QwtPickerMachine::Command> QwtPickerTrackerMachine::transition(
-    const QwtEventPattern &, const QEvent *e )
-{
-    QList<QwtPickerMachine::Command> cmdList;
-
-    switch ( e->type() )
-    {
-        case QEvent::Enter:
-        case QEvent::MouseMove:
-        {
-            if ( state() == 0 )
-            {
-                cmdList += Begin;
-                cmdList += Append;
-                setState( 1 );
-            }
-            else
-            {
-                cmdList += Move;
-            }
-            break;
-        }
-        case QEvent::Leave:
-        {
-            cmdList += Remove;
-            cmdList += End;
-            setState( 0 );
-        }
-        default:
-            break;
-    }
-
-    return cmdList;
-}
-
-//! Constructor
-QwtPickerClickPointMachine::QwtPickerClickPointMachine():
-    QwtPickerMachine( PointSelection )
-{
-}
-
-//! Transition
-QList<QwtPickerMachine::Command> QwtPickerClickPointMachine::transition(
-    const QwtEventPattern &eventPattern, const QEvent *event )
-{
-    QList<QwtPickerMachine::Command> cmdList;
-
-    switch ( event->type() )
-    {
-        case QEvent::MouseButtonPress:
-        {
-            if ( eventPattern.mouseMatch( QwtEventPattern::MouseSelect1, 
-                static_cast<const QMouseEvent *>( event ) ) )
-            {
-                cmdList += Begin;
-                cmdList += Append;
-                cmdList += End;
-            }
-            break;
-        }
-        case QEvent::KeyPress:
-        {
-            const QKeyEvent *keyEvent = static_cast<const QKeyEvent *> ( event );
-            if ( eventPattern.keyMatch( QwtEventPattern::KeySelect1, keyEvent ) )
-            {
-                if ( !keyEvent->isAutoRepeat() )
-                {
-                    cmdList += Begin;
-                    cmdList += Append;
-                    cmdList += End;
-                }
-            }
-            break;
-        }
-        default:
-            break;
-    }
-
-    return cmdList;
-}
-
-//! Constructor
-QwtPickerDragPointMachine::QwtPickerDragPointMachine():
-    QwtPickerMachine( PointSelection )
-{
-}
-
-//! Transition
-QList<QwtPickerMachine::Command> QwtPickerDragPointMachine::transition(
-    const QwtEventPattern &eventPattern, const QEvent *event )
-{
-    QList<QwtPickerMachine::Command> cmdList;
-
-    switch ( event->type() )
-    {
-        case QEvent::MouseButtonPress:
-        {
-            if ( eventPattern.mouseMatch( QwtEventPattern::MouseSelect1, 
-                static_cast<const QMouseEvent *>( event ) ) )
-            {
-                if ( state() == 0 )
-                {
-                    cmdList += Begin;
-                    cmdList += Append;
-                    setState( 1 );
-                }
-            }
-            break;
-        }
-        case QEvent::MouseMove:
-        case QEvent::Wheel:
-        {
-            if ( state() != 0 )
-                cmdList += Move;
-            break;
-        }
-        case QEvent::MouseButtonRelease:
-        {
-            if ( state() != 0 )
-            {
-                cmdList += End;
-                setState( 0 );
-            }
-            break;
-        }
-        case QEvent::KeyPress:
-        {
-            const QKeyEvent *keyEvent = static_cast<const QKeyEvent *> ( event );
-            if ( eventPattern.keyMatch( QwtEventPattern::KeySelect1, keyEvent ) )
-            {
-                if ( !keyEvent->isAutoRepeat() )
-                {
-                    if ( state() == 0 )
-                    {
-                        cmdList += Begin;
-                        cmdList += Append;
-                        setState( 1 );
-                    }
-                    else
-                    {
-                        cmdList += End;
-                        setState( 0 );
-                    }
-                }
-            }
-            break;
-        }
-        default:
-            break;
-    }
-
-    return cmdList;
-}
-
-//! Constructor
-QwtPickerClickRectMachine::QwtPickerClickRectMachine():
-    QwtPickerMachine( RectSelection )
-{
-}
-
-//! Transition
-QList<QwtPickerMachine::Command> QwtPickerClickRectMachine::transition(
-    const QwtEventPattern &eventPattern, const QEvent *event )
-{
-    QList<QwtPickerMachine::Command> cmdList;
-
-    switch ( event->type() )
-    {
-        case QEvent::MouseButtonPress:
-        {
-            if ( eventPattern.mouseMatch( QwtEventPattern::MouseSelect1, 
-                static_cast<const QMouseEvent *>( event ) ) )
-            {
-                switch ( state() )
-                {
-                    case 0:
-                    {
-                        cmdList += Begin;
-                        cmdList += Append;
-                        setState( 1 );
-                        break;
-                    }
-                    case 1:
-                    {
-                        // Uh, strange we missed the MouseButtonRelease
-                        break;
-                    }
-                    default:
-                    {
-                        cmdList += End;
-                        setState( 0 );
-                    }
-                }
-            }
-            break;
-        }
-        case QEvent::MouseMove:
-        case QEvent::Wheel:
-        {
-            if ( state() != 0 )
-                cmdList += Move;
-            break;
-        }
-        case QEvent::MouseButtonRelease:
-        {
-            if ( eventPattern.mouseMatch( QwtEventPattern::MouseSelect1, 
-                static_cast<const QMouseEvent *>( event ) ) )
-            {
-                if ( state() == 1 )
-                {
-                    cmdList += Append;
-                    setState( 2 );
-                }
-            }
-            break;
-        }
-        case QEvent::KeyPress:
-        {
-            const QKeyEvent *keyEvent = static_cast<const QKeyEvent *> ( event );
-            if ( eventPattern.keyMatch( QwtEventPattern::KeySelect1, keyEvent ) )
-            {
-                if ( !keyEvent->isAutoRepeat() )
-                {
-                    if ( state() == 0 )
-                    {
-                        cmdList += Begin;
-                        cmdList += Append;
-                        setState( 1 );
-                    }
-                    else
-                    {
-                        if ( state() == 1 )
-                        {
-                            cmdList += Append;
-                            setState( 2 );
-                        }
-                        else if ( state() == 2 )
-                        {
-                            cmdList += End;
-                            setState( 0 );
-                        }
-                    }
-                }
-            }
-            break;
-        }
-        default:
-            break;
-    }
-
-    return cmdList;
-}
-
-//! Constructor
-QwtPickerDragRectMachine::QwtPickerDragRectMachine():
-    QwtPickerMachine( RectSelection )
-{
-}
-
-//! Transition
-QList<QwtPickerMachine::Command> QwtPickerDragRectMachine::transition(
-    const QwtEventPattern &eventPattern, const QEvent *event )
-{
-    QList<QwtPickerMachine::Command> cmdList;
-
-    switch ( event->type() )
-    {
-        case QEvent::MouseButtonPress:
-        {
-            if ( eventPattern.mouseMatch( QwtEventPattern::MouseSelect1, 
-                static_cast<const QMouseEvent *>( event ) ) )
-            {
-                if ( state() == 0 )
-                {
-                    cmdList += Begin;
-                    cmdList += Append;
-                    cmdList += Append;
-                    setState( 2 );
-                }
-            }
-            break;
-        }
-        case QEvent::MouseMove:
-        case QEvent::Wheel:
-        {
-            if ( state() != 0 )
-                cmdList += Move;
-            break;
-        }
-        case QEvent::MouseButtonRelease:
-        {
-            if ( state() == 2 )
-            {
-                cmdList += End;
-                setState( 0 );
-            }
-            break;
-        }
-        case QEvent::KeyPress:
-        {
-            if ( eventPattern.keyMatch( QwtEventPattern::KeySelect1, 
-                static_cast<const QKeyEvent *> ( event ) ) )
-            {
-                if ( state() == 0 )
-                {
-                    cmdList += Begin;
-                    cmdList += Append;
-                    cmdList += Append;
-                    setState( 2 );
-                }
-                else
-                {
-                    cmdList += End;
-                    setState( 0 );
-                }
-            }
-            break;
-        }
-        default:
-            break;
-    }
-
-    return cmdList;
-}
-
-//! Constructor
-QwtPickerPolygonMachine::QwtPickerPolygonMachine():
-    QwtPickerMachine( PolygonSelection )
-{
-}
-
-//! Transition
-QList<QwtPickerMachine::Command> QwtPickerPolygonMachine::transition(
-    const QwtEventPattern &eventPattern, const QEvent *event )
-{
-    QList<QwtPickerMachine::Command> cmdList;
-
-    switch ( event->type() )
-    {
-        case QEvent::MouseButtonPress:
-        {
-            if ( eventPattern.mouseMatch( QwtEventPattern::MouseSelect1, 
-                static_cast<const QMouseEvent *>( event ) ) )
-            {
-                if ( state() == 0 )
-                {
-                    cmdList += Begin;
-                    cmdList += Append;
-                    cmdList += Append;
-                    setState( 1 );
-                }
-                else
-                {
-                    cmdList += Append;
-                }
-            }
-            if ( eventPattern.mouseMatch( QwtEventPattern::MouseSelect2, 
-                static_cast<const QMouseEvent *>( event ) ) )
-            {
-                if ( state() == 1 )
-                {
-                    cmdList += End;
-                    setState( 0 );
-                }
-            }
-            break;
-        }
-        case QEvent::MouseMove:
-        case QEvent::Wheel:
-        {
-            if ( state() != 0 )
-                cmdList += Move;
-            break;
-        }
-        case QEvent::KeyPress:
-        {
-            const QKeyEvent *keyEvent = static_cast<const QKeyEvent *> ( event );
-            if ( eventPattern.keyMatch( QwtEventPattern::KeySelect1, keyEvent ) )
-            {
-                if ( !keyEvent->isAutoRepeat() )
-                {
-                    if ( state() == 0 )
-                    {
-                        cmdList += Begin;
-                        cmdList += Append;
-                        cmdList += Append;
-                        setState( 1 );
-                    }
-                    else
-                    {
-                        cmdList += Append;
-                    }
-                }
-            }
-            else if ( eventPattern.keyMatch( QwtEventPattern::KeySelect2, keyEvent ) )
-            {
-                if ( !keyEvent->isAutoRepeat() )
-                {
-                    if ( state() == 1 )
-                    {
-                        cmdList += End;
-                        setState( 0 );
-                    }
-                }
-            }
-            break;
-        }
-        default:
-            break;
-    }
-
-    return cmdList;
-}
-
-//! Constructor
-QwtPickerDragLineMachine::QwtPickerDragLineMachine():
-    QwtPickerMachine( PolygonSelection )
-{
-}
-
-//! Transition
-QList<QwtPickerMachine::Command> QwtPickerDragLineMachine::transition(
-    const QwtEventPattern &eventPattern, const QEvent *event )
-{
-    QList<QwtPickerMachine::Command> cmdList;
-
-    switch( event->type() )
-    {
-        case QEvent::MouseButtonPress:
-        {
-            if ( eventPattern.mouseMatch( QwtEventPattern::MouseSelect1,
-                static_cast<const QMouseEvent *>( event ) ) )
-            {
-                if ( state() == 0 )
-                {
-                    cmdList += Begin;
-                    cmdList += Append;
-                    cmdList += Append;
-                    setState( 1 );
-                }
-            }
-            break;
-        }
-        case QEvent::KeyPress:
-        {
-            if ( eventPattern.keyMatch( QwtEventPattern::KeySelect1,
-                static_cast<const QKeyEvent *> ( event ) ) )
-            {
-                if ( state() == 0 )
-                {
-                    cmdList += Begin;
-                    cmdList += Append;
-                    cmdList += Append;
-                    setState( 1 );
-                }
-                else
-                {
-                    cmdList += End;
-                    setState( 0 );
-                }
-            }
-            break;
-        }
-        case QEvent::MouseMove:
-        case QEvent::Wheel:
-        {
-            if ( state() != 0 )
-                cmdList += Move;
-
-            break;
-        }
-        case QEvent::MouseButtonRelease:
-        {
-            if ( state() != 0 )
-            {
-                cmdList += End;
-                setState( 0 );
-            }
-        }
-        default:
-            break;
-    }
-
-    return cmdList;
-}
diff --git a/SRC/Qwt/src/qwt_picker_machine.h b/SRC/Qwt/src/qwt_picker_machine.h
deleted file mode 100644
index a1d2499..0000000
--- a/SRC/Qwt/src/qwt_picker_machine.h
+++ /dev/null
@@ -1,214 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PICKER_MACHINE
-#define QWT_PICKER_MACHINE 1
-
-#include "qwt_global.h"
-#include <qlist.h>
-
-class QEvent;
-class QwtEventPattern;
-
-/*!
-  \brief A state machine for QwtPicker selections
-
-  QwtPickerMachine accepts key and mouse events and translates them
-  into selection commands.
-
-  \sa QwtEventPattern::MousePatternCode, QwtEventPattern::KeyPatternCode
-*/
-
-class QWT_EXPORT QwtPickerMachine
-{
-public:
-    /*!
-      Type of a selection.
-      \sa selectionType()
-    */
-    enum SelectionType
-    {
-        //! The state machine not usable for any type of selection.
-        NoSelection = -1,
-
-        //! The state machine is for selecting a single point.
-        PointSelection,
-
-        //! The state machine is for selecting a rectangle (2 points).
-        RectSelection,
-
-        //! The state machine is for selecting a polygon (many points).
-        PolygonSelection
-    };
-
-    //! Commands - the output of a state machine
-    enum Command
-    {
-        Begin,
-        Append,
-        Move,
-        Remove,
-        End
-    };
-
-    QwtPickerMachine( SelectionType );
-    virtual ~QwtPickerMachine();
-
-    //! Transition
-    virtual QList<Command> transition(
-        const QwtEventPattern &, const QEvent * ) = 0;
-    void reset();
-
-    int state() const;
-    void setState( int );
-
-    SelectionType selectionType() const;
-
-private:
-    const SelectionType d_selectionType;
-    int d_state;
-};
-
-/*!
-  \brief A state machine for indicating mouse movements
-
-  QwtPickerTrackerMachine supports displaying information
-  corresponding to mouse movements, but is not intended for
-  selecting anything. Begin/End are related to Enter/Leave events.
-*/
-class QWT_EXPORT QwtPickerTrackerMachine: public QwtPickerMachine
-{
-public:
-    QwtPickerTrackerMachine();
-
-    virtual QList<Command> transition(
-        const QwtEventPattern &, const QEvent * );
-};
-
-/*!
-  \brief A state machine for point selections
-
-  Pressing QwtEventPattern::MouseSelect1 or
-  QwtEventPattern::KeySelect1 selects a point.
-
-  \sa QwtEventPattern::MousePatternCode, QwtEventPattern::KeyPatternCode
-*/
-class QWT_EXPORT QwtPickerClickPointMachine: public QwtPickerMachine
-{
-public:
-    QwtPickerClickPointMachine();
-
-    virtual QList<Command> transition(
-        const QwtEventPattern &, const QEvent * );
-};
-
-/*!
-  \brief A state machine for point selections
-
-  Pressing QwtEventPattern::MouseSelect1 or QwtEventPattern::KeySelect1
-  starts the selection, releasing QwtEventPattern::MouseSelect1 or
-  a second press of QwtEventPattern::KeySelect1 terminates it.
-*/
-class QWT_EXPORT QwtPickerDragPointMachine: public QwtPickerMachine
-{
-public:
-    QwtPickerDragPointMachine();
-
-    virtual QList<Command> transition(
-        const QwtEventPattern &, const QEvent * );
-};
-
-/*!
-  \brief A state machine for rectangle selections
-
-  Pressing QwtEventPattern::MouseSelect1 starts
-  the selection, releasing it selects the first point. Pressing it
-  again selects the second point and terminates the selection.
-  Pressing QwtEventPattern::KeySelect1 also starts the
-  selection, a second press selects the first point. A third one selects
-  the second point and terminates the selection.
-
-  \sa QwtEventPattern::MousePatternCode, QwtEventPattern::KeyPatternCode
-*/
-
-class QWT_EXPORT QwtPickerClickRectMachine: public QwtPickerMachine
-{
-public:
-    QwtPickerClickRectMachine();
-
-    virtual QList<Command> transition(
-        const QwtEventPattern &, const QEvent * );
-};
-
-/*!
-  \brief A state machine for rectangle selections
-
-  Pressing QwtEventPattern::MouseSelect1 selects
-  the first point, releasing it the second point.
-  Pressing QwtEventPattern::KeySelect1 also selects the
-  first point, a second press selects the second point and terminates
-  the selection.
-
-  \sa QwtEventPattern::MousePatternCode, QwtEventPattern::KeyPatternCode
-*/
-
-class QWT_EXPORT QwtPickerDragRectMachine: public QwtPickerMachine
-{
-public:
-    QwtPickerDragRectMachine();
-
-    virtual QList<Command> transition(
-        const QwtEventPattern &, const QEvent * );
-};
-
-/*!
-  \brief A state machine for line selections
-    
-  Pressing QwtEventPattern::MouseSelect1 selects
-  the first point, releasing it the second point.
-  Pressing QwtEventPattern::KeySelect1 also selects the
-  first point, a second press selects the second point and terminates
-  the selection.
-
-  A common use case of QwtPickerDragLineMachine are pickers for
-  distance measurements.
-  
-  \sa QwtEventPattern::MousePatternCode, QwtEventPattern::KeyPatternCode
-*/              
-                    
-class QWT_EXPORT QwtPickerDragLineMachine: public QwtPickerMachine
-{
-public:
-    QwtPickerDragLineMachine();
-
-    virtual QList<Command> transition(
-        const QwtEventPattern &, const QEvent * );
-};
-
-/*!
-  \brief A state machine for polygon selections
-
-  Pressing QwtEventPattern::MouseSelect1 or QwtEventPattern::KeySelect1
-  starts the selection and selects the first point, or appends a point.
-  Pressing QwtEventPattern::MouseSelect2 or QwtEventPattern::KeySelect2
-  appends the last point and terminates the selection.
-
-  \sa QwtEventPattern::MousePatternCode, QwtEventPattern::KeyPatternCode
-*/
-
-class QWT_EXPORT QwtPickerPolygonMachine: public QwtPickerMachine
-{
-public:
-    QwtPickerPolygonMachine();
-
-    virtual QList<Command> transition(
-        const QwtEventPattern &, const QEvent * );
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_pixel_matrix.cpp b/SRC/Qwt/src/qwt_pixel_matrix.cpp
deleted file mode 100644
index 6b28653..0000000
--- a/SRC/Qwt/src/qwt_pixel_matrix.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_pixel_matrix.h"
-
-/*!
-  \brief Constructor
-
-  \param rect Bounding rectangle for the matrix
-*/
-QwtPixelMatrix::QwtPixelMatrix( const QRect& rect ):
-    QBitArray( qMax( rect.width() * rect.height(), 0 ) ),
-    d_rect( rect )
-{
-}
-
-//! Destructor
-QwtPixelMatrix::~QwtPixelMatrix()
-{
-}
-
-/*!
-    Set the bounding rectangle of the matrix
-
-    \param rect Bounding rectangle
-
-    \note All bits are cleared
- */
-void QwtPixelMatrix::setRect( const QRect& rect )
-{
-    if ( rect != d_rect )
-    {
-        d_rect = rect;
-        const int sz = qMax( rect.width() * rect.height(), 0 );
-        resize( sz );
-    }
-
-    fill( false );
-}
-
-//! \return Bounding rectangle
-QRect QwtPixelMatrix::rect() const
-{
-    return d_rect;
-}
diff --git a/SRC/Qwt/src/qwt_pixel_matrix.h b/SRC/Qwt/src/qwt_pixel_matrix.h
deleted file mode 100644
index 1428d1b..0000000
--- a/SRC/Qwt/src/qwt_pixel_matrix.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PIXEL_MATRIX_H
-#define QWT_PIXEL_MATRIX_H
-
-#include "qwt_global.h"
-#include <qbitarray.h>
-#include <qrect.h>
-
-/*!
-  \brief A bit field corresponding to the pixels of a rectangle
-
-  QwtPixelMatrix is intended to filter out duplicates in an
-  unsorted array of points.
-*/
-class QWT_EXPORT QwtPixelMatrix: public QBitArray
-{
-public:
-    QwtPixelMatrix( const QRect& rect );
-    ~QwtPixelMatrix();
-
-    void setRect( const QRect& rect );
-    QRect rect() const;
-
-    bool testPixel( int x, int y ) const;
-    bool testAndSetPixel( int x, int y, bool on );
-
-    int index( int x, int y ) const;
-
-private:
-    QRect d_rect;
-};
-
-/*!
-  \brief Test if a pixel has been set
-
-  \param x X-coordinate
-  \param y Y-coordinate
-
-  \return true, when pos is outside of rect(), or when the pixel
-          has already been set.
- */
-inline bool QwtPixelMatrix::testPixel( int x, int y ) const
-{
-    const int idx = index( x, y );
-    return ( idx >= 0 ) ? testBit( idx ) : true;
-}
-
-/*!
-  \brief Set a pixel and test if a pixel has been set before
-
-  \param x X-coordinate
-  \param y Y-coordinate
-  \param on Set/Clear the pixel
-
-  \return true, when pos is outside of rect(), or when the pixel
-          was set before.
- */
-inline bool QwtPixelMatrix::testAndSetPixel( int x, int y, bool on )
-{
-    const int idx = index( x, y );
-    if ( idx < 0 )
-        return true;
-
-    const bool onBefore = testBit( idx );
-    setBit( idx, on );
-
-    return onBefore;
-}
-
-/*!
-  \brief Calculate the index in the bit field corresponding to a position
-
-  \param x X-coordinate
-  \param y Y-coordinate
-  \return Index, when rect() contains pos - otherwise -1.
- */
-inline int QwtPixelMatrix::index( int x, int y ) const
-{
-    const int dx = x - d_rect.x();
-    if ( dx < 0 || dx >= d_rect.width() )
-        return -1;
-
-    const int dy = y - d_rect.y();
-    if ( dy < 0 || dy >= d_rect.height() )
-        return -1;
-
-    return dy * d_rect.width() + dx;
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot.cpp b/SRC/Qwt/src/qwt_plot.cpp
deleted file mode 100644
index 7cba355..0000000
--- a/SRC/Qwt/src/qwt_plot.cpp
+++ /dev/null
@@ -1,1176 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot.h"
-#include "qwt_plot_dict.h"
-#include "qwt_plot_layout.h"
-#include "qwt_scale_widget.h"
-#include "qwt_scale_engine.h"
-#include "qwt_text_label.h"
-#include "qwt_legend.h"
-#include "qwt_legend_data.h"
-#include "qwt_plot_canvas.h"
-#include <qmath.h>
-#include <qpainter.h>
-#include <qpointer.h>
-#include <qpaintengine.h>
-#include <qapplication.h>
-#include <qevent.h>
-
-static inline void qwtEnableLegendItems( QwtPlot *plot, bool on )
-{
-    if ( on )
-    {
-        QObject::connect( 
-            plot, SIGNAL( legendDataChanged(
-                const QVariant &, const QList<QwtLegendData> & ) ),
-            plot, SLOT( updateLegendItems( 
-                const QVariant &, const QList<QwtLegendData> & ) ) );
-    }
-    else
-    {
-        QObject::disconnect( 
-            plot, SIGNAL( legendDataChanged(
-                const QVariant &, const QList<QwtLegendData> & ) ),
-            plot, SLOT( updateLegendItems( 
-                const QVariant &, const QList<QwtLegendData> & ) ) );
-    }
-}
-
-static void qwtSetTabOrder( 
-    QWidget *first, QWidget *second, bool withChildren )
-{
-    QList<QWidget *> tabChain;
-    tabChain += first;
-    tabChain += second;
-
-    if ( withChildren )
-    {
-        QList<QWidget *> children = second->findChildren<QWidget *>();
-
-        QWidget *w = second->nextInFocusChain();
-        while ( children.contains( w ) )
-        {
-            children.removeAll( w );
-
-            tabChain += w;
-            w = w->nextInFocusChain();
-        }
-    }
-
-    for ( int i = 0; i < tabChain.size() - 1; i++ )
-    {
-        QWidget *from = tabChain[i];
-        QWidget *to = tabChain[i+1];
-
-        const Qt::FocusPolicy policy1 = from->focusPolicy();
-        const Qt::FocusPolicy policy2 = to->focusPolicy();
-
-        QWidget *proxy1 = from->focusProxy();
-        QWidget *proxy2 = to->focusProxy();
-
-        from->setFocusPolicy( Qt::TabFocus );
-        from->setFocusProxy( NULL);
-
-        to->setFocusPolicy( Qt::TabFocus );
-        to->setFocusProxy( NULL);
-
-        QWidget::setTabOrder( from, to );
-
-        from->setFocusPolicy( policy1 );
-        from->setFocusProxy( proxy1);
-
-        to->setFocusPolicy( policy2 );
-        to->setFocusProxy( proxy2 );
-    }
-}
-
-class QwtPlot::PrivateData
-{
-public:
-    QPointer<QwtTextLabel> titleLabel;
-    QPointer<QwtTextLabel> footerLabel;
-    QPointer<QWidget> canvas;
-    QPointer<QwtAbstractLegend> legend;
-    QwtPlotLayout *layout;
-
-    bool autoReplot;
-};
-
-/*!
-  \brief Constructor
-  \param parent Parent widget
- */
-QwtPlot::QwtPlot( QWidget *parent ):
-    QFrame( parent )
-{
-    initPlot( QwtText() );
-}
-
-/*!
-  \brief Constructor
-  \param title Title text
-  \param parent Parent widget
- */
-QwtPlot::QwtPlot( const QwtText &title, QWidget *parent ):
-    QFrame( parent )
-{
-    initPlot( title );
-}
-
-//! Destructor
-QwtPlot::~QwtPlot()
-{
-    setAutoReplot( false );
-    detachItems( QwtPlotItem::Rtti_PlotItem, autoDelete() );
-
-    delete d_data->layout;
-    deleteAxesData();
-    delete d_data;
-}
-
-/*!
-  \brief Initializes a QwtPlot instance
-  \param title Title text
- */
-void QwtPlot::initPlot( const QwtText &title )
-{
-    d_data = new PrivateData;
-
-    d_data->layout = new QwtPlotLayout;
-    d_data->autoReplot = false;
-
-    // title
-    d_data->titleLabel = new QwtTextLabel( this );
-    d_data->titleLabel->setObjectName( "QwtPlotTitle" );
-    d_data->titleLabel->setFont( QFont( fontInfo().family(), 14, QFont::Bold ) );
-
-    QwtText text( title );
-    text.setRenderFlags( Qt::AlignCenter | Qt::TextWordWrap );
-    d_data->titleLabel->setText( text );
-
-    // footer
-    d_data->footerLabel = new QwtTextLabel( this );
-    d_data->footerLabel->setObjectName( "QwtPlotFooter" );
-
-    QwtText footer;
-    footer.setRenderFlags( Qt::AlignCenter | Qt::TextWordWrap );
-    d_data->footerLabel->setText( footer );
-
-    // legend
-    d_data->legend = NULL;
-
-    // axis
-    initAxesData();
-
-    // canvas
-    d_data->canvas = new QwtPlotCanvas( this );
-    d_data->canvas->setObjectName( "QwtPlotCanvas" );
-    d_data->canvas->installEventFilter( this );
-
-    setSizePolicy( QSizePolicy::MinimumExpanding,
-        QSizePolicy::MinimumExpanding );
-
-    resize( 200, 200 );
-
-    QList<QWidget *> focusChain;
-    focusChain << this << d_data->titleLabel << axisWidget( xTop )
-        << axisWidget( yLeft ) << d_data->canvas << axisWidget( yRight )
-        << axisWidget( xBottom ) << d_data->footerLabel;
-
-    for ( int i = 0; i < focusChain.size() - 1; i++ )
-        qwtSetTabOrder( focusChain[i], focusChain[i+1], false );
-
-    qwtEnableLegendItems( this, true );
-}
-
-/*!
-  \brief Set the drawing canvas of the plot widget
-
-  QwtPlot invokes methods of the canvas as meta methods ( see QMetaObject ).
-  In opposite to using conventional C++ techniques like virtual methods
-  they allow to use canvas implementations that are derived from 
-  QWidget or QGLWidget.
-
-  The following meta methods could be implemented:
-
-  - replot()
-    When the canvas doesn't offer a replot method, QwtPlot calls
-    update() instead.
-
-  - borderPath()
-    The border path is necessary to clip the content of the canvas
-    When the canvas doesn't have any special border ( f.e rounded corners )
-    it is o.k. not to implement this method.
-
-  The default canvas is a QwtPlotCanvas 
-
-  \param canvas Canvas Widget
-  \sa canvas()
- */
-void QwtPlot::setCanvas( QWidget *canvas )
-{
-    if ( canvas == d_data->canvas )
-        return;
-
-    delete d_data->canvas;
-    d_data->canvas = canvas;
-
-    if ( canvas )
-    {
-        canvas->setParent( this );
-        canvas->installEventFilter( this );
-
-        if ( isVisible() )
-            canvas->show();
-    }
-}
-
-/*!
-  \brief Adds handling of layout requests
-  \param event Event
-
-  \return See QFrame::event()
-*/
-bool QwtPlot::event( QEvent *event )
-{
-    bool ok = QFrame::event( event );
-    switch ( event->type() )
-    {
-        case QEvent::LayoutRequest:
-            updateLayout();
-            break;
-        case QEvent::PolishRequest:
-            replot();
-            break;
-        default:;
-    }
-    return ok;
-}
-
-/*!
-  \brief Event filter
-
-  The plot handles the following events for the canvas:
-
-  - QEvent::Resize
-    The canvas margins might depend on its size
-
-  - QEvent::ContentsRectChange
-    The layout needs to be recalculated
-
-  \param object Object to be filtered
-  \param event Event
-
-  \return See QFrame::eventFilter()
-
-  \sa updateCanvasMargins(), updateLayout()
-*/
-bool QwtPlot::eventFilter( QObject *object, QEvent *event )
-{
-    if ( object == d_data->canvas )
-    {
-        if ( event->type() == QEvent::Resize )
-        {
-            updateCanvasMargins();
-        }
-        else if ( event->type() == QEvent::ContentsRectChange )
-        {
-            updateLayout();
-        }
-    }
-
-    return QFrame::eventFilter( object, event );
-}
-
-//! Replots the plot if autoReplot() is \c true.
-void QwtPlot::autoRefresh()
-{
-    if ( d_data->autoReplot )
-        replot();
-}
-
-/*!
-  \brief Set or reset the autoReplot option
-
-  If the autoReplot option is set, the plot will be
-  updated implicitly by manipulating member functions.
-  Since this may be time-consuming, it is recommended
-  to leave this option switched off and call replot()
-  explicitly if necessary.
-
-  The autoReplot option is set to false by default, which
-  means that the user has to call replot() in order to make
-  changes visible.
-  \param tf \c true or \c false. Defaults to \c true.
-  \sa replot()
-*/
-void QwtPlot::setAutoReplot( bool tf )
-{
-    d_data->autoReplot = tf;
-}
-
-/*! 
-  \return true if the autoReplot option is set.
-  \sa setAutoReplot()
-*/
-bool QwtPlot::autoReplot() const
-{
-    return d_data->autoReplot;
-}
-
-/*!
-  Change the plot's title
-  \param title New title
-*/
-void QwtPlot::setTitle( const QString &title )
-{
-    if ( title != d_data->titleLabel->text().text() )
-    {
-        d_data->titleLabel->setText( title );
-        updateLayout();
-    }
-}
-
-/*!
-  Change the plot's title
-  \param title New title
-*/
-void QwtPlot::setTitle( const QwtText &title )
-{
-    if ( title != d_data->titleLabel->text() )
-    {
-        d_data->titleLabel->setText( title );
-        updateLayout();
-    }
-}
-
-//! \return Title of the plot
-QwtText QwtPlot::title() const
-{
-    return d_data->titleLabel->text();
-}
-
-//! \return Title label widget.
-QwtTextLabel *QwtPlot::titleLabel()
-{
-    return d_data->titleLabel;
-}
-
-//! \return Title label widget.
-const QwtTextLabel *QwtPlot::titleLabel() const
-{
-    return d_data->titleLabel;
-}
-
-/*!
-  Change the text the footer 
-  \param text New text of the footer
-*/
-void QwtPlot::setFooter( const QString &text )
-{
-    if ( text != d_data->footerLabel->text().text() )
-    {
-        d_data->footerLabel->setText( text );
-        updateLayout();
-    }
-}
-
-/*!
-  Change the text the footer 
-  \param text New text of the footer
-*/
-void QwtPlot::setFooter( const QwtText &text )
-{
-    if ( text != d_data->footerLabel->text() )
-    {
-        d_data->footerLabel->setText( text );
-        updateLayout();
-    }
-}
-
-//! \return Text of the footer
-QwtText QwtPlot::footer() const
-{
-    return d_data->footerLabel->text();
-}
-
-//! \return Footer label widget.
-QwtTextLabel *QwtPlot::footerLabel()
-{
-    return d_data->footerLabel;
-}
-
-//! \return Footer label widget.
-const QwtTextLabel *QwtPlot::footerLabel() const
-{
-    return d_data->footerLabel;
-}
-
-/*!
-   \brief Assign a new plot layout
-
-   \param layout Layout()
-   \sa plotLayout()
- */
-void QwtPlot::setPlotLayout( QwtPlotLayout *layout )
-{
-    if ( layout != d_data->layout )
-    {
-        delete d_data->layout;
-        d_data->layout = layout;
-
-        updateLayout();
-    }
-}
-
-//! \return the plot's layout
-QwtPlotLayout *QwtPlot::plotLayout()
-{
-    return d_data->layout;
-}
-
-//! \return the plot's layout
-const QwtPlotLayout *QwtPlot::plotLayout() const
-{
-    return d_data->layout;
-}
-
-/*!
-  \return the plot's legend
-  \sa insertLegend()
-*/
-QwtAbstractLegend *QwtPlot::legend()
-{
-    return d_data->legend;
-}
-
-/*!
-  \return the plot's legend
-  \sa insertLegend()
-*/
-const QwtAbstractLegend *QwtPlot::legend() const
-{
-    return d_data->legend;
-}
-
-
-/*!
-  \return the plot's canvas
-*/
-QWidget *QwtPlot::canvas()
-{
-    return d_data->canvas;
-}
-
-/*!
-  \return the plot's canvas
-*/
-const QWidget *QwtPlot::canvas() const
-{
-    return d_data->canvas;
-}
-
-/*!
-  \return Size hint for the plot widget
-  \sa minimumSizeHint()
-*/
-QSize QwtPlot::sizeHint() const
-{
-    int dw = 0;
-    int dh = 0;
-    for ( int axisId = 0; axisId < axisCnt; axisId++ )
-    {
-        if ( axisEnabled( axisId ) )
-        {
-            const int niceDist = 40;
-            const QwtScaleWidget *scaleWidget = axisWidget( axisId );
-            const QwtScaleDiv &scaleDiv = scaleWidget->scaleDraw()->scaleDiv();
-            const int majCnt = scaleDiv.ticks( QwtScaleDiv::MajorTick ).count();
-
-            if ( axisId == yLeft || axisId == yRight )
-            {
-                int hDiff = ( majCnt - 1 ) * niceDist
-                    - scaleWidget->minimumSizeHint().height();
-                if ( hDiff > dh )
-                    dh = hDiff;
-            }
-            else
-            {
-                int wDiff = ( majCnt - 1 ) * niceDist
-                    - scaleWidget->minimumSizeHint().width();
-                if ( wDiff > dw )
-                    dw = wDiff;
-            }
-        }
-    }
-    return minimumSizeHint() + QSize( dw, dh );
-}
-
-/*!
-  \brief Return a minimum size hint
-*/
-QSize QwtPlot::minimumSizeHint() const
-{
-    QSize hint = d_data->layout->minimumSizeHint( this );
-    hint += QSize( 2 * frameWidth(), 2 * frameWidth() );
-
-    return hint;
-}
-
-/*!
-  Resize and update internal layout
-  \param e Resize event
-*/
-void QwtPlot::resizeEvent( QResizeEvent *e )
-{
-    QFrame::resizeEvent( e );
-    updateLayout();
-}
-
-/*!
-  \brief Redraw the plot
-
-  If the autoReplot option is not set (which is the default)
-  or if any curves are attached to raw data, the plot has to
-  be refreshed explicitly in order to make changes visible.
-
-  \sa updateAxes(), setAutoReplot()
-*/
-void QwtPlot::replot()
-{
-    bool doAutoReplot = autoReplot();
-    setAutoReplot( false );
-
-    updateAxes();
-
-    /*
-      Maybe the layout needs to be updated, because of changed
-      axes labels. We need to process them here before painting
-      to avoid that scales and canvas get out of sync.
-     */
-    QApplication::sendPostedEvents( this, QEvent::LayoutRequest );
-
-    if ( d_data->canvas )
-    {
-        const bool ok = QMetaObject::invokeMethod( 
-            d_data->canvas, "replot", Qt::DirectConnection );
-        if ( !ok )
-        {
-            // fallback, when canvas has no a replot method
-            d_data->canvas->update( d_data->canvas->contentsRect() );
-        }
-    }
-
-    setAutoReplot( doAutoReplot );
-}
-
-/*!
-  \brief Adjust plot content to its current size.
-  \sa resizeEvent()
-*/
-void QwtPlot::updateLayout()
-{
-    d_data->layout->activate( this, contentsRect() );
-
-    QRect titleRect = d_data->layout->titleRect().toRect();
-    QRect footerRect = d_data->layout->footerRect().toRect();
-    QRect scaleRect[QwtPlot::axisCnt];
-    for ( int axisId = 0; axisId < axisCnt; axisId++ )
-        scaleRect[axisId] = d_data->layout->scaleRect( axisId ).toRect();
-    QRect legendRect = d_data->layout->legendRect().toRect();
-    QRect canvasRect = d_data->layout->canvasRect().toRect();
-
-    // resize and show the visible widgets
-
-    if ( !d_data->titleLabel->text().isEmpty() )
-    {
-        d_data->titleLabel->setGeometry( titleRect );
-        if ( !d_data->titleLabel->isVisibleTo( this ) )
-            d_data->titleLabel->show();
-    }
-    else
-        d_data->titleLabel->hide();
-
-    if ( !d_data->footerLabel->text().isEmpty() )
-    {
-        d_data->footerLabel->setGeometry( footerRect );
-        if ( !d_data->footerLabel->isVisibleTo( this ) )
-            d_data->footerLabel->show();
-    }
-    else
-        d_data->footerLabel->hide();
-
-    for ( int axisId = 0; axisId < axisCnt; axisId++ )
-    {
-        if ( axisEnabled( axisId ) )
-        {
-            axisWidget( axisId )->setGeometry( scaleRect[axisId] );
-
-#if 1
-            if ( axisId == xBottom || axisId == xTop )
-            {
-                // do we need this code any longer ???
-
-                QRegion r( scaleRect[axisId] );
-                if ( axisEnabled( yLeft ) )
-                    r = r.subtracted( QRegion( scaleRect[yLeft] ) );
-                if ( axisEnabled( yRight ) )
-                    r = r.subtracted( QRegion( scaleRect[yRight] ) );
-                r.translate( -scaleRect[ axisId ].x(),
-                    -scaleRect[axisId].y() );
-
-                axisWidget( axisId )->setMask( r );
-            }
-#endif
-            if ( !axisWidget( axisId )->isVisibleTo( this ) )
-                axisWidget( axisId )->show();
-        }
-        else
-            axisWidget( axisId )->hide();
-    }
-
-    if ( d_data->legend )
-    {
-        if ( d_data->legend->isEmpty() )
-        {
-            d_data->legend->hide();
-        }
-        else
-        {
-            d_data->legend->setGeometry( legendRect );
-            d_data->legend->show();
-        }
-    }
-
-    d_data->canvas->setGeometry( canvasRect );
-}
-
-/*!
-  \brief Calculate the canvas margins
-
-  \param maps QwtPlot::axisCnt maps, mapping between plot and paint device coordinates
-  \param canvasRect Bounding rectangle where to paint
-  \param left Return parameter for the left margin
-  \param top Return parameter for the top margin
-  \param right Return parameter for the right margin
-  \param bottom Return parameter for the bottom margin
-
-  Plot items might indicate, that they need some extra space
-  at the borders of the canvas by the QwtPlotItem::Margins flag.
-
-  updateCanvasMargins(), QwtPlotItem::getCanvasMarginHint()
- */
-void QwtPlot::getCanvasMarginsHint(
-    const QwtScaleMap maps[], const QRectF &canvasRect,
-    double &left, double &top, double &right, double &bottom) const
-{
-    left = top = right = bottom = -1.0;
-
-    const QwtPlotItemList& itmList = itemList();
-    for ( QwtPlotItemIterator it = itmList.begin();
-        it != itmList.end(); ++it )
-    {
-        const QwtPlotItem *item = *it;
-        if ( item->testItemAttribute( QwtPlotItem::Margins ) )
-        {
-            double m[ QwtPlot::axisCnt ];
-            item->getCanvasMarginHint(
-                maps[ item->xAxis() ], maps[ item->yAxis() ],
-                canvasRect, m[yLeft], m[xTop], m[yRight], m[xBottom] );
-
-            left = qMax( left, m[yLeft] );
-            top = qMax( top, m[xTop] );
-            right = qMax( right, m[yRight] );
-            bottom = qMax( bottom, m[xBottom] );
-        }
-    }
-}
-
-/*!
-  \brief Update the canvas margins
-
-  Plot items might indicate, that they need some extra space
-  at the borders of the canvas by the QwtPlotItem::Margins flag.
-
-  getCanvasMarginsHint(), QwtPlotItem::getCanvasMarginHint()
- */
-void QwtPlot::updateCanvasMargins()
-{
-    QwtScaleMap maps[axisCnt];
-    for ( int axisId = 0; axisId < axisCnt; axisId++ )
-        maps[axisId] = canvasMap( axisId );
-
-    double margins[axisCnt];
-    getCanvasMarginsHint( maps, canvas()->contentsRect(),
-        margins[yLeft], margins[xTop], margins[yRight], margins[xBottom] );
-    
-    bool doUpdate = false;
-    for ( int axisId = 0; axisId < axisCnt; axisId++ )
-    {
-        if ( margins[axisId] >= 0.0 )
-        {
-            const int m = qCeil( margins[axisId] );
-            plotLayout()->setCanvasMargin( m, axisId);
-            doUpdate = true;
-        }
-    }
-
-    if ( doUpdate )
-        updateLayout();
-}
-
-/*!
-  Redraw the canvas.
-  \param painter Painter used for drawing
-
-  \warning drawCanvas calls drawItems what is also used
-           for printing. Applications that like to add individual
-           plot items better overload drawItems()
-  \sa drawItems()
-*/
-void QwtPlot::drawCanvas( QPainter *painter )
-{
-    QwtScaleMap maps[axisCnt];
-    for ( int axisId = 0; axisId < axisCnt; axisId++ )
-        maps[axisId] = canvasMap( axisId );
-
-    drawItems( painter, d_data->canvas->contentsRect(), maps );
-}
-
-/*!
-  Redraw the canvas items.
-
-  \param painter Painter used for drawing
-  \param canvasRect Bounding rectangle where to paint
-  \param maps QwtPlot::axisCnt maps, mapping between plot and paint device coordinates
-
-  \note Usually canvasRect is contentsRect() of the plot canvas.
-        Due to a bug in Qt this rectangle might be wrong for certain 
-        frame styles ( f.e QFrame::Box ) and it might be necessary to 
-        fix the margins manually using QWidget::setContentsMargins()
-*/
-
-void QwtPlot::drawItems( QPainter *painter, const QRectF &canvasRect,
-        const QwtScaleMap maps[axisCnt] ) const
-{
-    const QwtPlotItemList& itmList = itemList();
-    for ( QwtPlotItemIterator it = itmList.begin();
-        it != itmList.end(); ++it )
-    {
-        QwtPlotItem *item = *it;
-        if ( item && item->isVisible() )
-        {
-            painter->save();
-
-            painter->setRenderHint( QPainter::Antialiasing,
-                item->testRenderHint( QwtPlotItem::RenderAntialiased ) );
-            painter->setRenderHint( QPainter::HighQualityAntialiasing,
-                item->testRenderHint( QwtPlotItem::RenderAntialiased ) );
-
-            item->draw( painter,
-                maps[item->xAxis()], maps[item->yAxis()],
-                canvasRect );
-
-            painter->restore();
-        }
-    }
-}
-
-/*!
-  \param axisId Axis
-  \return Map for the axis on the canvas. With this map pixel coordinates can
-          translated to plot coordinates and vice versa.
-  \sa QwtScaleMap, transform(), invTransform()
-
-*/
-QwtScaleMap QwtPlot::canvasMap( int axisId ) const
-{
-    QwtScaleMap map;
-    if ( !d_data->canvas )
-        return map;
-
-    map.setTransformation( axisScaleEngine( axisId )->transformation() );
-
-    const QwtScaleDiv &sd = axisScaleDiv( axisId );
-    map.setScaleInterval( sd.lowerBound(), sd.upperBound() );
-
-    if ( axisEnabled( axisId ) )
-    {
-        const QwtScaleWidget *s = axisWidget( axisId );
-        if ( axisId == yLeft || axisId == yRight )
-        {
-            double y = s->y() + s->startBorderDist() - d_data->canvas->y();
-            double h = s->height() - s->startBorderDist() - s->endBorderDist();
-            map.setPaintInterval( y + h, y );
-        }
-        else
-        {
-            double x = s->x() + s->startBorderDist() - d_data->canvas->x();
-            double w = s->width() - s->startBorderDist() - s->endBorderDist();
-            map.setPaintInterval( x, x + w );
-        }
-    }
-    else
-    {
-        const QRect &canvasRect = d_data->canvas->contentsRect();
-        if ( axisId == yLeft || axisId == yRight )
-        {
-            int top = 0;
-            if ( !plotLayout()->alignCanvasToScale( xTop ) )
-                top = plotLayout()->canvasMargin( xTop );
-
-            int bottom = 0;
-            if ( !plotLayout()->alignCanvasToScale( xBottom ) )
-                bottom = plotLayout()->canvasMargin( xBottom );
-
-            map.setPaintInterval( canvasRect.bottom() - bottom,
-                canvasRect.top() + top );
-        }
-        else
-        {
-            int left = 0;
-            if ( !plotLayout()->alignCanvasToScale( yLeft ) )
-                left = plotLayout()->canvasMargin( yLeft );
-
-            int right = 0;
-            if ( !plotLayout()->alignCanvasToScale( yRight ) )
-                right = plotLayout()->canvasMargin( yRight );
-
-            map.setPaintInterval( canvasRect.left() + left,
-                canvasRect.right() - right );
-        }
-    }
-
-    return map;
-}
-
-/*!
-  \brief Change the background of the plotting area
-
-  Sets brush to QPalette::Window of all color groups of
-  the palette of the canvas. Using canvas()->setPalette()
-  is a more powerful way to set these colors.
-
-  \param brush New background brush
-  \sa canvasBackground()
-*/
-void QwtPlot::setCanvasBackground( const QBrush &brush )
-{
-    QPalette pal = d_data->canvas->palette();
-    pal.setBrush( QPalette::Window, brush );
-
-    canvas()->setPalette( pal );
-}
-
-/*!
-  Nothing else than: canvas()->palette().brush(
-        QPalette::Normal, QPalette::Window);
-
-  \return Background brush of the plotting area.
-  \sa setCanvasBackground()
-*/
-QBrush QwtPlot::canvasBackground() const
-{
-    return canvas()->palette().brush(
-        QPalette::Normal, QPalette::Window );
-}
-
-/*!
-  \return \c true if the specified axis exists, otherwise \c false
-  \param axisId axis index
- */
-bool QwtPlot::axisValid( int axisId )
-{
-    return ( ( axisId >= QwtPlot::yLeft ) && ( axisId < QwtPlot::axisCnt ) );
-}
-
-/*!
-  \brief Insert a legend
-
-  If the position legend is \c QwtPlot::LeftLegend or \c QwtPlot::RightLegend
-  the legend will be organized in one column from top to down.
-  Otherwise the legend items will be placed in a table
-  with a best fit number of columns from left to right.
-
-  insertLegend() will set the plot widget as parent for the legend.
-  The legend will be deleted in the destructor of the plot or when 
-  another legend is inserted.
-
-  Legends, that are not inserted into the layout of the plot widget
-  need to connect to the legendDataChanged() signal. Calling updateLegend()
-  initiates this signal for an initial update. When the application code
-  wants to implement its own layout this also needs to be done for
-  rendering plots to a document ( see QwtPlotRenderer ).
-
-  \param legend Legend
-  \param pos The legend's position. For top/left position the number
-             of columns will be limited to 1, otherwise it will be set to
-             unlimited.
-
-  \param ratio Ratio between legend and the bounding rectangle
-               of title, canvas and axes. The legend will be shrunk
-               if it would need more space than the given ratio.
-               The ratio is limited to ]0.0 .. 1.0]. In case of <= 0.0
-               it will be reset to the default ratio.
-               The default vertical/horizontal ratio is 0.33/0.5.
-
-  \sa legend(), QwtPlotLayout::legendPosition(),
-      QwtPlotLayout::setLegendPosition()
-*/
-void QwtPlot::insertLegend( QwtAbstractLegend *legend,
-    QwtPlot::LegendPosition pos, double ratio )
-{
-    d_data->layout->setLegendPosition( pos, ratio );
-
-    if ( legend != d_data->legend )
-    {
-        if ( d_data->legend && d_data->legend->parent() == this )
-            delete d_data->legend;
-
-        d_data->legend = legend;
-
-        if ( d_data->legend )
-        {
-            connect( this, 
-                SIGNAL( legendDataChanged( 
-                    const QVariant &, const QList<QwtLegendData> & ) ),
-                d_data->legend, 
-                SLOT( updateLegend( 
-                    const QVariant &, const QList<QwtLegendData> & ) ) 
-            );
-
-            if ( d_data->legend->parent() != this )
-                d_data->legend->setParent( this );
-
-            qwtEnableLegendItems( this, false );
-            updateLegend();
-            qwtEnableLegendItems( this, true );
-
-            QwtLegend *lgd = qobject_cast<QwtLegend *>( legend );
-            if ( lgd )
-            {
-                switch ( d_data->layout->legendPosition() )
-                {
-                    case LeftLegend:
-                    case RightLegend:
-                    {
-                        if ( lgd->maxColumns() == 0     )
-                            lgd->setMaxColumns( 1 ); // 1 column: align vertical
-                        break;
-                    }
-                    case TopLegend:
-                    case BottomLegend:
-                    {
-                        lgd->setMaxColumns( 0 ); // unlimited
-                        break;
-                    }
-                    default:
-                        break;
-                }
-            }
-
-            QWidget *previousInChain = NULL;
-            switch ( d_data->layout->legendPosition() )
-            {
-                case LeftLegend:
-                {
-                    previousInChain = axisWidget( QwtPlot::xTop );
-                    break;
-                }
-                case TopLegend:
-                {
-                    previousInChain = this;
-                    break;
-                }
-                case RightLegend:
-                {
-                    previousInChain = axisWidget( QwtPlot::yRight );
-                    break;
-                }
-                case BottomLegend:
-                {
-                    previousInChain = footerLabel();
-                    break;
-                }
-            }
-
-            if ( previousInChain )
-                qwtSetTabOrder( previousInChain, legend, true );
-        }
-    }
-
-    updateLayout();
-}
-
-/*!
-  Emit legendDataChanged() for all plot item
-
-  \sa QwtPlotItem::legendData(), legendDataChanged()
- */
-void QwtPlot::updateLegend()
-{
-    const QwtPlotItemList& itmList = itemList();
-    for ( QwtPlotItemIterator it = itmList.begin();
-        it != itmList.end(); ++it )
-    {
-        updateLegend( *it );
-    }
-}
-
-/*!
-  Emit legendDataChanged() for a plot item
-
-  \param plotItem Plot item
-  \sa QwtPlotItem::legendData(), legendDataChanged()
- */
-void QwtPlot::updateLegend( const QwtPlotItem *plotItem )
-{
-    if ( plotItem == NULL )
-        return;
-
-    QList<QwtLegendData> legendData;
-
-    if ( plotItem->testItemAttribute( QwtPlotItem::Legend ) )
-        legendData = plotItem->legendData();
-
-    const QVariant itemInfo = itemToInfo( const_cast< QwtPlotItem *>( plotItem) );
-    Q_EMIT legendDataChanged( itemInfo, legendData );
-}
-
-/*!
-  \brief Update all plot items interested in legend attributes
-
-  Call QwtPlotItem::updateLegend(), when the QwtPlotItem::LegendInterest
-  flag is set.
-
-  \param itemInfo Info about the plot item
-  \param legendData Entries to be displayed for the plot item ( usually 1 )
-
-  \sa QwtPlotItem::LegendInterest,
-      QwtPlotLegendItem, QwtPlotItem::updateLegend()
- */
-void QwtPlot::updateLegendItems( const QVariant &itemInfo,
-    const QList<QwtLegendData> &legendData )
-{
-    QwtPlotItem *plotItem = infoToItem( itemInfo );
-    if ( plotItem )
-    {
-        const QwtPlotItemList& itmList = itemList();
-        for ( QwtPlotItemIterator it = itmList.begin();
-            it != itmList.end(); ++it )
-        {
-            QwtPlotItem *item = *it;
-            if ( item->testItemInterest( QwtPlotItem::LegendInterest ) )
-                item->updateLegend( plotItem, legendData );
-        }
-    }
-}
-
-/*!
-  \brief Attach/Detach a plot item 
-
-  \param plotItem Plot item
-  \param on When true attach the item, otherwise detach it
- */
-void QwtPlot::attachItem( QwtPlotItem *plotItem, bool on )
-{
-    if ( plotItem->testItemInterest( QwtPlotItem::LegendInterest ) )
-    {
-        // plotItem is some sort of legend
-
-        const QwtPlotItemList& itmList = itemList();
-        for ( QwtPlotItemIterator it = itmList.begin();
-            it != itmList.end(); ++it )
-        {
-            QwtPlotItem *item = *it;
-
-            QList<QwtLegendData> legendData;
-            if ( on && item->testItemAttribute( QwtPlotItem::Legend ) )
-            {
-                legendData = item->legendData();
-                plotItem->updateLegend( item, legendData );
-            }
-        }
-    }
-
-    if ( on )
-        insertItem( plotItem );
-    else 
-        removeItem( plotItem );
-
-    Q_EMIT itemAttached( plotItem, on );
-
-    if ( plotItem->testItemAttribute( QwtPlotItem::Legend ) )
-    {
-        // the item wants to be represented on the legend
-
-        if ( on )
-        {
-            updateLegend( plotItem );
-        }
-        else
-        {
-            const QVariant itemInfo = itemToInfo( plotItem );
-            Q_EMIT legendDataChanged( itemInfo, QList<QwtLegendData>() );
-        }
-    }
-
-    autoRefresh();
-}
-
-/*!
-  \brief Build an information, that can be used to identify
-         a plot item on the legend.
-
-  The default implementation simply wraps the plot item
-  into a QVariant object. When overloading itemToInfo()
-  usually infoToItem() needs to reimplemeted too.
-
-\code
-    QVariant itemInfo;
-    qVariantSetValue( itemInfo, plotItem );
-\endcode
-
-  \param plotItem Plot item
-  \return Plot item embedded in a QVariant
-  \sa infoToItem()
- */
-QVariant QwtPlot::itemToInfo( QwtPlotItem *plotItem ) const
-{
-    QVariant itemInfo;
-    qVariantSetValue( itemInfo, plotItem );
-
-    return itemInfo;
-}
-
-/*!
-  \brief Identify the plot item according to an item info object,
-         that has bee generated from itemToInfo().
-
-  The default implementation simply tries to unwrap a QwtPlotItem 
-  pointer:
-
-\code
-    if ( itemInfo.canConvert<QwtPlotItem *>() )
-        return qvariant_cast<QwtPlotItem *>( itemInfo );
-\endcode
-  \param itemInfo Plot item
-  \return A plot item, when successful, otherwise a NULL pointer.
-  \sa itemToInfo()
-*/
-QwtPlotItem *QwtPlot::infoToItem( const QVariant &itemInfo ) const
-{
-    if ( itemInfo.canConvert<QwtPlotItem *>() )
-        return qvariant_cast<QwtPlotItem *>( itemInfo );
-
-    return NULL;
-}
-
-
diff --git a/SRC/Qwt/src/qwt_plot.h b/SRC/Qwt/src/qwt_plot.h
deleted file mode 100644
index a5d24ef..0000000
--- a/SRC/Qwt/src/qwt_plot.h
+++ /dev/null
@@ -1,312 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_H
-#define QWT_PLOT_H
-
-#include "qwt_global.h"
-#include "qwt_text.h"
-#include "qwt_plot_dict.h"
-#include "qwt_scale_map.h"
-#include "qwt_interval.h"
-#include <qframe.h>
-#include <qlist.h>
-#include <qvariant.h>
-
-class QwtPlotLayout;
-class QwtAbstractLegend;
-class QwtScaleWidget;
-class QwtScaleEngine;
-class QwtScaleDiv;
-class QwtScaleDraw;
-class QwtTextLabel;
-
-/*!
-  \brief A 2-D plotting widget
-
-  QwtPlot is a widget for plotting two-dimensional graphs.
-  An unlimited number of plot items can be displayed on
-  its canvas. Plot items might be curves (QwtPlotCurve), markers
-  (QwtPlotMarker), the grid (QwtPlotGrid), or anything else derived
-  from QwtPlotItem.
-  A plot can have up to four axes, with each plot item attached to an x- and
-  a y axis. The scales at the axes can be explicitly set (QwtScaleDiv), or
-  are calculated from the plot items, using algorithms (QwtScaleEngine) which
-  can be configured separately for each axis.
-
-  The simpleplot example is a good starting point to see how to set up a 
-  plot widget.
-
-  \image html plot.png
-
-  \par Example
-  The following example shows (schematically) the most simple
-  way to use QwtPlot. By default, only the left and bottom axes are
-  visible and their scales are computed automatically.
-  \verbatim
-#include <qwt_plot.h>
-#include <qwt_plot_curve.h>
-
-QwtPlot *myPlot = new QwtPlot("Two Curves", parent);
-
-// add curves
-QwtPlotCurve *curve1 = new QwtPlotCurve("Curve 1");
-QwtPlotCurve *curve2 = new QwtPlotCurve("Curve 2");
-
-// connect or copy the data to the curves
-curve1->setData(...);
-curve2->setData(...);
-
-curve1->attach(myPlot);
-curve2->attach(myPlot);
-
-// finally, refresh the plot
-myPlot->replot();
-\endverbatim
-*/
-
-class QWT_EXPORT QwtPlot: public QFrame, public QwtPlotDict
-{
-    Q_OBJECT
-
-    Q_PROPERTY( QBrush canvasBackground 
-        READ canvasBackground WRITE setCanvasBackground )
-    Q_PROPERTY( bool autoReplot READ autoReplot WRITE setAutoReplot )
-
-#if 0
-    // This property is intended to configure the plot
-    // widget from a special dialog in the deigner plugin.
-    // Disabled until such a dialog has been implemented.
-
-    Q_PROPERTY( QString propertiesDocument
-        READ grabProperties WRITE applyProperties )
-#endif
-
-public:
-    //! \brief Axis index
-    enum Axis
-    {
-        //! Y axis left of the canvas
-        yLeft,
-
-        //! Y axis right of the canvas
-        yRight,
-
-        //! X axis below the canvas
-        xBottom,
-
-        //! X axis above the canvas
-        xTop,
-
-        //! Number of axes
-        axisCnt
-    };
-
-    /*!
-        Position of the legend, relative to the canvas.
-
-        \sa insertLegend()
-     */
-    enum LegendPosition
-    {
-        //! The legend will be left from the QwtPlot::yLeft axis.
-        LeftLegend,
-
-        //! The legend will be right from the QwtPlot::yRight axis.
-        RightLegend,
-
-        //! The legend will be below the footer 
-        BottomLegend,
-
-        //! The legend will be above the title
-        TopLegend
-    };
-
-    explicit QwtPlot( QWidget * = NULL );
-    explicit QwtPlot( const QwtText &title, QWidget * = NULL );
-
-    virtual ~QwtPlot();
-
-    void applyProperties( const QString & );
-    QString grabProperties() const;
-
-    void setAutoReplot( bool = true );
-    bool autoReplot() const;
-
-    // Layout
-
-    void setPlotLayout( QwtPlotLayout * );
-
-    QwtPlotLayout *plotLayout();
-    const QwtPlotLayout *plotLayout() const;
-
-    // Title
-
-    void setTitle( const QString & );
-    void setTitle( const QwtText &t );
-    QwtText title() const;
-
-    QwtTextLabel *titleLabel();
-    const QwtTextLabel *titleLabel() const;
-
-    // Footer
-
-    void setFooter( const QString & );
-    void setFooter( const QwtText &t );
-    QwtText footer() const;
-
-    QwtTextLabel *footerLabel();
-    const QwtTextLabel *footerLabel() const;
-
-    // Canvas
-
-    void setCanvas( QWidget * );
-
-    QWidget *canvas();
-    const QWidget *canvas() const;
-
-    void setCanvasBackground( const QBrush & );
-    QBrush canvasBackground() const;
-
-    virtual QwtScaleMap canvasMap( int axisId ) const;
-
-    double invTransform( int axisId, int pos ) const;
-    double transform( int axisId, double value ) const;
-
-    // Axes
-
-    QwtScaleEngine *axisScaleEngine( int axisId );
-    const QwtScaleEngine *axisScaleEngine( int axisId ) const;
-    void setAxisScaleEngine( int axisId, QwtScaleEngine * );
-
-    void setAxisAutoScale( int axisId, bool on = true );
-    bool axisAutoScale( int axisId ) const;
-
-    void enableAxis( int axisId, bool tf = true );
-    bool axisEnabled( int axisId ) const;
-
-    void setAxisFont( int axisId, const QFont &f );
-    QFont axisFont( int axisId ) const;
-
-    void setAxisScale( int axisId, double min, double max, double step = 0 );
-    void setAxisScaleDiv( int axisId, const QwtScaleDiv & );
-    void setAxisScaleDraw( int axisId, QwtScaleDraw * );
-
-    double axisStepSize( int axisId ) const;
-    QwtInterval axisInterval( int axisId ) const;
-
-    const QwtScaleDiv &axisScaleDiv( int axisId ) const;
-
-    const QwtScaleDraw *axisScaleDraw( int axisId ) const;
-    QwtScaleDraw *axisScaleDraw( int axisId );
-
-    const QwtScaleWidget *axisWidget( int axisId ) const;
-    QwtScaleWidget *axisWidget( int axisId );
-
-    void setAxisLabelAlignment( int axisId, Qt::Alignment );
-    void setAxisLabelRotation( int axisId, double rotation );
-
-    void setAxisTitle( int axisId, const QString & );
-    void setAxisTitle( int axisId, const QwtText & );
-    QwtText axisTitle( int axisId ) const;
-
-    void setAxisMaxMinor( int axisId, int maxMinor );
-    int axisMaxMinor( int axisId ) const;
-
-    void setAxisMaxMajor( int axisId, int maxMajor );
-    int axisMaxMajor( int axisId ) const;
-
-    // Legend
-
-    void insertLegend( QwtAbstractLegend *, 
-        LegendPosition = QwtPlot::RightLegend, double ratio = -1.0 );
-
-    QwtAbstractLegend *legend();
-    const QwtAbstractLegend *legend() const;
-
-    void updateLegend();
-    void updateLegend( const QwtPlotItem * );
-
-    // Misc
-
-    virtual QSize sizeHint() const;
-    virtual QSize minimumSizeHint() const;
-
-    virtual void updateLayout();
-    virtual void drawCanvas( QPainter * );
-
-    void updateAxes();
-    void updateCanvasMargins();
-
-    virtual void getCanvasMarginsHint( 
-        const QwtScaleMap maps[], const QRectF &canvasRect,
-        double &left, double &top, double &right, double &bottom) const;
-
-    virtual bool event( QEvent * );
-    virtual bool eventFilter( QObject *, QEvent * );
-
-    virtual void drawItems( QPainter *, const QRectF &,
-        const QwtScaleMap maps[axisCnt] ) const;
-
-    virtual QVariant itemToInfo( QwtPlotItem * ) const;
-    virtual QwtPlotItem *infoToItem( const QVariant & ) const;
-
-Q_SIGNALS:
-    /*!
-      A signal indicating, that an item has been attached/detached
-
-      \param plotItem Plot item
-      \param on Attached/Detached
-     */
-    void itemAttached( QwtPlotItem *plotItem, bool on );
-
-    /*!
-      A signal with the attributes how to update 
-      the legend entries for a plot item.
-
-      \param itemInfo Info about a plot item, build from itemToInfo()
-      \param data Attributes of the entries ( usually <= 1 ) for
-                  the plot item.
-
-      \sa itemToInfo(), infoToItem(), QwtAbstractLegend::updateLegend()
-     */
-    void legendDataChanged( const QVariant &itemInfo, 
-        const QList<QwtLegendData> &data );
-
-public Q_SLOTS:
-    virtual void replot();
-    void autoRefresh();
-
-protected:
-    static bool axisValid( int axisId );
-
-    virtual void resizeEvent( QResizeEvent *e );
-
-private Q_SLOTS:
-    void updateLegendItems( const QVariant &itemInfo,
-        const QList<QwtLegendData> &data );
-
-private:
-    friend class QwtPlotItem;
-    void attachItem( QwtPlotItem *, bool );
-
-    void initAxesData();
-    void deleteAxesData();
-    void updateScaleDiv();
-
-    void initPlot( const QwtText &title );
-
-    class AxisData;
-    AxisData *d_axisData[axisCnt];
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_abstract_barchart.cpp b/SRC/Qwt/src/qwt_plot_abstract_barchart.cpp
deleted file mode 100644
index e940d37..0000000
--- a/SRC/Qwt/src/qwt_plot_abstract_barchart.cpp
+++ /dev/null
@@ -1,368 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_abstract_barchart.h"
-#include "qwt_scale_map.h"
-
-static inline double qwtTransformWidth(
-    const QwtScaleMap &map, double value, double width )
-{
-    const double w2 = 0.5 * width;
-
-    const double v1 = map.transform( value - w2 );
-    const double v2 = map.transform( value + w2 );
-
-    return qAbs( v2 - v1 );
-}
-
-class QwtPlotAbstractBarChart::PrivateData
-{
-public:
-    PrivateData():
-        layoutPolicy( QwtPlotAbstractBarChart::AutoAdjustSamples ),
-        layoutHint( 0.5 ),
-        spacing( 10 ),
-        margin( 5 ),
-        baseline( 0.0 )
-    {
-    }
-
-    QwtPlotAbstractBarChart::LayoutPolicy layoutPolicy;
-    double layoutHint;
-    int spacing;
-    int margin;
-    double baseline;
-};
-
-/*!
-  Constructor
-  \param title Title of the chart
-*/
-QwtPlotAbstractBarChart::QwtPlotAbstractBarChart( const QwtText &title ):
-    QwtPlotSeriesItem( title )
-{
-    d_data = new PrivateData;
-
-    setItemAttribute( QwtPlotItem::Legend, true );
-    setItemAttribute( QwtPlotItem::AutoScale, true );
-    setItemAttribute( QwtPlotItem::Margins, true );
-    setZ( 19.0 );
-}
-
-//! Destructor
-QwtPlotAbstractBarChart::~QwtPlotAbstractBarChart()
-{
-    delete d_data;
-}
-
-/*!
-  The combination of layoutPolicy() and layoutHint() define how the width
-  of the bars is calculated
-
-  \param policy Layout policy
-
-  \sa layoutPolicy(), layoutHint()
- */
-void QwtPlotAbstractBarChart::setLayoutPolicy( LayoutPolicy policy )
-{
-    if ( policy != d_data->layoutPolicy )
-    {
-        d_data->layoutPolicy = policy;
-        itemChanged();
-    }
-}
-
-/*!
-  The combination of layoutPolicy() and layoutHint() define how the width
-  of the bars is calculated
-
-  \return Layout policy of the chart item
-  \sa setLayoutPolicy(), layoutHint()
- */
-QwtPlotAbstractBarChart::LayoutPolicy QwtPlotAbstractBarChart::layoutPolicy() const
-{
-    return d_data->layoutPolicy;
-}
-
-/*!
-  The combination of layoutPolicy() and layoutHint() define how the width
-  of the bars is calculated
-
-  \param hint Layout hint
-
-  \sa LayoutPolicy, layoutPolicy(), layoutHint()
- */
-void QwtPlotAbstractBarChart::setLayoutHint( double hint )
-{
-    hint = qMax( 0.0, hint );
-    if ( hint != d_data->layoutHint )
-    {
-        d_data->layoutHint = hint;
-        itemChanged();
-    }
-}
-
-/*!
-  The combination of layoutPolicy() and layoutHint() define how the width
-  of the bars is calculated
-
-  \return Layout policy of the chart item
-  \sa LayoutPolicy, setLayoutHint(), layoutPolicy()
-*/
-double QwtPlotAbstractBarChart::layoutHint() const
-{
-    return d_data->layoutHint;
-}
-
-/*!
-  \brief Set the spacing
-
-  The spacing is the distance between 2 samples ( bars for QwtPlotBarChart or
-  a group of bars for QwtPlotMultiBarChart ) in paint device coordinates.
-
-  \sa spacing()
- */
-void QwtPlotAbstractBarChart::setSpacing( int spacing )
-{
-    spacing = qMax( spacing, 0 );
-    if ( spacing != d_data->spacing )
-    {
-        d_data->spacing = spacing;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Spacing between 2 samples ( bars or groups of bars )
-  \sa setSpacing(), margin()
- */
-int QwtPlotAbstractBarChart::spacing() const
-{
-    return d_data->spacing;
-}
-/*!
-  \brief Set the margin
-
-  The margin is the distance between the outmost bars and the contentsRect()
-  of the canvas. The default setting is 5 pixels.
-
-  \param margin Margin
-
-  \sa spacing(), margin()
- */
-void QwtPlotAbstractBarChart::setMargin( int margin )
-{
-    margin = qMax( margin, 0 );
-    if ( margin != d_data->margin )
-    {
-        d_data->margin = margin;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Margin between the outmost bars and the contentsRect()
-  of the canvas.
-
-  \sa setMargin(), spacing()
- */
-int QwtPlotAbstractBarChart::margin() const
-{
-    return d_data->margin;
-}
-
-/*!
-   \brief Set the baseline
-
-   The baseline is the origin for the chart. Each bar is 
-   painted from the baseline in the direction of the sample 
-   value. In case of a horizontal orientation() the baseline
-   is interpreted as x - otherwise as y - value.
-
-   The default value for the baseline is 0.
-
-   \param value Value for the baseline
-
-   \sa baseline(), QwtPlotSeriesItem::orientation()
-*/
-void QwtPlotAbstractBarChart::setBaseline( double value )
-{
-    if ( value != d_data->baseline )
-    {
-        d_data->baseline = value;
-        itemChanged();
-    }
-}
-
-/*! 
-   \return Value for the origin of the bar chart
-   \sa setBaseline(), QwtPlotSeriesItem::orientation()
- */
-double QwtPlotAbstractBarChart::baseline() const
-{
-    return d_data->baseline;
-}
-
-/*!
-   Calculate the width for a sample in paint device coordinates
-
-   \param map Scale map for the corresponding scale
-   \param canvasSize Size of the canvas in paint device coordinates
-   \param boundingSize Bounding size of the chart in plot coordinates
-                       ( used in AutoAdjustSamples mode )
-   \param value Value of the sample
-
-   \return Sample width
-   \sa layoutPolicy(), layoutHint()
-*/
-double QwtPlotAbstractBarChart::sampleWidth( const QwtScaleMap &map,
-    double canvasSize, double boundingSize, double value ) const
-{
-    double width;
-
-    switch( d_data->layoutPolicy )
-    {
-        case ScaleSamplesToAxes:
-        {
-            width = qwtTransformWidth( map, value, d_data->layoutHint );
-            break;
-        }
-        case ScaleSampleToCanvas:
-        {
-            width = canvasSize * d_data->layoutHint;
-            break;
-        }
-        case FixedSampleSize:
-        {
-            width = d_data->layoutHint;
-            break;
-        }
-        case AutoAdjustSamples:
-        default:
-        {
-            const size_t numSamples = dataSize();
-
-            double w = 1.0;
-            if ( numSamples > 1 )
-            {
-                w = qAbs( boundingSize / ( numSamples - 1 ) );
-            }
-
-            width = qwtTransformWidth( map, value, w );
-            width -= d_data->spacing;
-            width = qMax( width, d_data->layoutHint );
-        }
-    }
-
-    return width;
-}
-
-/*!
-   \brief Calculate a hint for the canvas margin
-
-   Bar charts need to reserve some space for displaying the bars
-   for the first and the last sample.  The hint is calculated
-   from the layoutHint() depending on the layoutPolicy().
-
-   The margins are in target device coordinates ( pixels on screen )
-
-   \param xMap Maps x-values into pixel coordinates.
-   \param yMap Maps y-values into pixel coordinates.
-   \param canvasRect Contents rectangle of the canvas in painter coordinates
-   \param left Returns the left margin
-   \param top Returns the top margin
-   \param right Returns the right margin
-   \param bottom Returns the bottom margin
-
-   \return Margin
-
-   \sa layoutPolicy(), layoutHint(), QwtPlotItem::Margins
-       QwtPlot::getCanvasMarginsHint(), QwtPlot::updateCanvasMargins()
- */
-void QwtPlotAbstractBarChart::getCanvasMarginHint( const QwtScaleMap &xMap, 
-    const QwtScaleMap &yMap, const QRectF &canvasRect,
-    double &left, double &top, double &right, double &bottom ) const
-{
-    double hint = -1.0;
-
-    switch( layoutPolicy() )
-    {
-        case ScaleSampleToCanvas:
-        {
-            if ( orientation() == Qt::Vertical )
-                hint = 0.5 * canvasRect.width() * d_data->layoutHint;
-            else
-                hint = 0.5 * canvasRect.height() * d_data->layoutHint;
-
-            break;
-        }
-        case FixedSampleSize:
-        {
-            hint = 0.5 * d_data->layoutHint;
-            break;
-        }
-        case AutoAdjustSamples:
-        case ScaleSamplesToAxes:
-        default:
-        {
-            const size_t numSamples = dataSize();
-            if ( numSamples <= 0 )
-                break;
-
-            // doesn't work for nonlinear scales
-
-            const QRectF br = dataRect();
-            double spacing = 0.0;
-            double sampleWidthS = 1.0;
-
-            if ( layoutPolicy() == ScaleSamplesToAxes )
-            {
-                sampleWidthS = qMax( d_data->layoutHint, 0.0 );
-            }
-            else
-            {
-                spacing = d_data->spacing;
-
-                if ( numSamples > 1 )
-                {
-                    sampleWidthS = qAbs( br.width() / ( numSamples - 1 ) );
-                }
-            }
-
-            double ds, w;
-            if ( orientation() == Qt::Vertical )
-            {
-                ds = qAbs( xMap.sDist() );
-                w = canvasRect.width();
-            }
-            else
-            {
-                ds = qAbs( yMap.sDist() );
-                w = canvasRect.height();
-            }
-
-            const double sampleWidthP = ( w - spacing * ds ) 
-                * sampleWidthS / ( ds + sampleWidthS );
-
-            hint = 0.5 * sampleWidthP;
-            hint += qMax( d_data->margin, 0 );
-        }
-    }
-
-    if ( orientation() == Qt::Vertical )
-    {
-        left = right = hint;
-        top = bottom = -1.0; // no hint
-    }
-    else
-    {
-        left = right = -1.0; // no hint
-        top = bottom = hint;
-    }
-}
diff --git a/SRC/Qwt/src/qwt_plot_abstract_barchart.h b/SRC/Qwt/src/qwt_plot_abstract_barchart.h
deleted file mode 100644
index b948bcd..0000000
--- a/SRC/Qwt/src/qwt_plot_abstract_barchart.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_ABSTRACT_BAR_CHART_H
-#define QWT_PLOT_ABSTRACT_BAR_CHART_H
-
-#include "qwt_global.h"
-#include "qwt_plot_seriesitem.h"
-#include "qwt_series_data.h"
-
-/*!
-  \brief Abstract base class for bar chart items
-
-  In opposite to almost all other plot items bar charts can't be 
-  displayed inside of their bounding rectangle and need a special
-  API  how to calculate the width of the bars and how they affect
-  the layout of the attached plot.
- */
-class QWT_EXPORT QwtPlotAbstractBarChart: public QwtPlotSeriesItem
-{
-public:
-    /*!
-        \brief Mode how to calculate the bar width
-
-        setLayoutPolicy(), setLayoutHint(), barWidthHint()
-     */
-    enum LayoutPolicy
-    {
-        /*!
-          The sample width is calculated by dividing the bounding rectangle
-          by the number of samples. The layoutHint() is used as a minimum width
-          in paint device coordinates.
-
-          \sa boundingRectangle()
-         */
-        AutoAdjustSamples,
-
-        /*!
-          layoutHint() defines an interval in axis coordinates
-         */
-        ScaleSamplesToAxes,
-
-        /*!
-          The bar width is calculated by multiplying layoutHint()
-          with the height or width of the canvas.
-
-          \sa boundingRectangle()
-         */
-        ScaleSampleToCanvas,
-
-        /*!
-          layoutHint() defines a fixed width in paint device coordinates.
-         */
-        FixedSampleSize
-    };
-
-    explicit QwtPlotAbstractBarChart( const QwtText &title );
-    virtual ~QwtPlotAbstractBarChart();
-
-    void setLayoutPolicy( LayoutPolicy );
-    LayoutPolicy layoutPolicy() const;
-
-    void setLayoutHint( double );
-    double layoutHint() const;
-
-    void setSpacing( int );
-    int spacing() const;
-
-    void setMargin( int );
-    int margin() const;
-
-    void setBaseline( double );
-    double baseline() const;
-
-    virtual void getCanvasMarginHint( 
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect,
-        double &left, double &top, double &right, double &bottom) const;
-
-
-protected:
-    double sampleWidth( const QwtScaleMap &map,
-        double canvasSize, double dataSize,
-        double value ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_axis.cpp b/SRC/Qwt/src/qwt_plot_axis.cpp
deleted file mode 100644
index 5cc6c17..0000000
--- a/SRC/Qwt/src/qwt_plot_axis.cpp
+++ /dev/null
@@ -1,719 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot.h"
-#include "qwt_math.h"
-#include "qwt_scale_widget.h"
-#include "qwt_scale_div.h"
-#include "qwt_scale_engine.h"
-
-class QwtPlot::AxisData
-{
-public:
-    bool isEnabled;
-    bool doAutoScale;
-
-    double minValue;
-    double maxValue;
-    double stepSize;
-
-    int maxMajor;
-    int maxMinor;
-
-    bool isValid;
-
-    QwtScaleDiv scaleDiv;
-    QwtScaleEngine *scaleEngine;
-    QwtScaleWidget *scaleWidget;
-};
-
-//! Initialize axes
-void QwtPlot::initAxesData()
-{
-    int axisId;
-
-    for ( axisId = 0; axisId < axisCnt; axisId++ )
-        d_axisData[axisId] = new AxisData;
-
-    d_axisData[yLeft]->scaleWidget =
-        new QwtScaleWidget( QwtScaleDraw::LeftScale, this );
-    d_axisData[yRight]->scaleWidget =
-        new QwtScaleWidget( QwtScaleDraw::RightScale, this );
-    d_axisData[xTop]->scaleWidget =
-        new QwtScaleWidget( QwtScaleDraw::TopScale, this );
-    d_axisData[xBottom]->scaleWidget =
-        new QwtScaleWidget( QwtScaleDraw::BottomScale, this );
-
-    d_axisData[yLeft]->scaleWidget->setObjectName( "QwtPlotAxisYLeft" );
-    d_axisData[yRight]->scaleWidget->setObjectName( "QwtPlotAxisYRight" );
-    d_axisData[xTop]->scaleWidget->setObjectName( "QwtPlotAxisXTop" );
-    d_axisData[xBottom]->scaleWidget->setObjectName( "QwtPlotAxisXBottom" );
-
-#if 1
-    // better find the font sizes from the application font
-    QFont fscl( fontInfo().family(), 10 );
-    QFont fttl( fontInfo().family(), 12, QFont::Bold );
-#endif
-
-    for ( axisId = 0; axisId < axisCnt; axisId++ )
-    {
-        AxisData &d = *d_axisData[axisId];
-
-        d.scaleEngine = new QwtLinearScaleEngine;
-
-        d.scaleWidget->setTransformation( 
-            d.scaleEngine->transformation() );
-
-        d.scaleWidget->setFont( fscl );
-        d.scaleWidget->setMargin( 2 );
-
-        QwtText text = d.scaleWidget->title();
-        text.setFont( fttl );
-        d.scaleWidget->setTitle( text );
-
-        d.doAutoScale = true;
-
-        d.minValue = 0.0;
-        d.maxValue = 1000.0;
-        d.stepSize = 0.0;
-
-        d.maxMinor = 5;
-        d.maxMajor = 8;
-
-
-        d.isValid = false;
-    }
-
-    d_axisData[yLeft]->isEnabled = true;
-    d_axisData[yRight]->isEnabled = false;
-    d_axisData[xBottom]->isEnabled = true;
-    d_axisData[xTop]->isEnabled = false;
-}
-
-void QwtPlot::deleteAxesData()
-{
-    for ( int axisId = 0; axisId < axisCnt; axisId++ )
-    {
-        delete d_axisData[axisId]->scaleEngine;
-        delete d_axisData[axisId];
-        d_axisData[axisId] = NULL;
-    }
-}
-
-/*!
-  \return Scale widget of the specified axis, or NULL if axisId is invalid.
-  \param axisId Axis index
-*/
-const QwtScaleWidget *QwtPlot::axisWidget( int axisId ) const
-{
-    if ( axisValid( axisId ) )
-        return d_axisData[axisId]->scaleWidget;
-
-    return NULL;
-}
-
-/*!
-  \return Scale widget of the specified axis, or NULL if axisId is invalid.
-  \param axisId Axis index
-*/
-QwtScaleWidget *QwtPlot::axisWidget( int axisId )
-{
-    if ( axisValid( axisId ) )
-        return d_axisData[axisId]->scaleWidget;
-
-    return NULL;
-}
-
-/*!
-  Change the scale engine for an axis
-
-  \param axisId Axis index
-  \param scaleEngine Scale engine
-
-  \sa axisScaleEngine()
-*/
-void QwtPlot::setAxisScaleEngine( int axisId, QwtScaleEngine *scaleEngine )
-{
-    if ( axisValid( axisId ) && scaleEngine != NULL )
-    {
-        AxisData &d = *d_axisData[axisId];
-
-        delete d.scaleEngine;
-        d.scaleEngine = scaleEngine;
-
-        d_axisData[axisId]->scaleWidget->setTransformation( 
-            scaleEngine->transformation() );
-
-        d.isValid = false;
-
-        autoRefresh();
-    }
-}
-
-/*!
-  \param axisId Axis index
-  \return Scale engine for a specific axis
-*/
-QwtScaleEngine *QwtPlot::axisScaleEngine( int axisId )
-{
-    if ( axisValid( axisId ) )
-        return d_axisData[axisId]->scaleEngine;
-    else
-        return NULL;
-}
-
-/*!
-  \param axisId Axis index
-  \return Scale engine for a specific axis
-*/
-const QwtScaleEngine *QwtPlot::axisScaleEngine( int axisId ) const
-{
-    if ( axisValid( axisId ) )
-        return d_axisData[axisId]->scaleEngine;
-    else
-        return NULL;
-}
-/*!
-  \return \c True, if autoscaling is enabled
-  \param axisId Axis index
-*/
-bool QwtPlot::axisAutoScale( int axisId ) const
-{
-    if ( axisValid( axisId ) )
-        return d_axisData[axisId]->doAutoScale;
-    else
-        return false;
-
-}
-
-/*!
-  \return \c True, if a specified axis is enabled
-  \param axisId Axis index
-*/
-bool QwtPlot::axisEnabled( int axisId ) const
-{
-    if ( axisValid( axisId ) )
-        return d_axisData[axisId]->isEnabled;
-    else
-        return false;
-}
-
-/*!
-  \return The font of the scale labels for a specified axis
-  \param axisId Axis index
-*/
-QFont QwtPlot::axisFont( int axisId ) const
-{
-    if ( axisValid( axisId ) )
-        return axisWidget( axisId )->font();
-    else
-        return QFont();
-
-}
-
-/*!
-  \return The maximum number of major ticks for a specified axis
-  \param axisId Axis index
-  \sa setAxisMaxMajor(), QwtScaleEngine::divideScale()
-*/
-int QwtPlot::axisMaxMajor( int axisId ) const
-{
-    if ( axisValid( axisId ) )
-        return d_axisData[axisId]->maxMajor;
-    else
-        return 0;
-}
-
-/*!
-  \return the maximum number of minor ticks for a specified axis
-  \param axisId Axis index
-  \sa setAxisMaxMinor(), QwtScaleEngine::divideScale()
-*/
-int QwtPlot::axisMaxMinor( int axisId ) const
-{
-    if ( axisValid( axisId ) )
-        return d_axisData[axisId]->maxMinor;
-    else
-        return 0;
-}
-
-/*!
-  \brief Return the scale division of a specified axis
-
-  axisScaleDiv(axisId).lowerBound(), axisScaleDiv(axisId).upperBound()
-  are the current limits of the axis scale.
-
-  \param axisId Axis index
-  \return Scale division
-
-  \sa QwtScaleDiv, setAxisScaleDiv(), QwtScaleEngine::divideScale()
-*/
-const QwtScaleDiv &QwtPlot::axisScaleDiv( int axisId ) const
-{
-    return d_axisData[axisId]->scaleDiv;
-}
-
-/*!
-  \brief Return the scale draw of a specified axis
-
-  \param axisId Axis index
-  \return Specified scaleDraw for axis, or NULL if axis is invalid.
-*/
-const QwtScaleDraw *QwtPlot::axisScaleDraw( int axisId ) const
-{
-    if ( !axisValid( axisId ) )
-        return NULL;
-
-    return axisWidget( axisId )->scaleDraw();
-}
-
-/*!
-  \brief Return the scale draw of a specified axis
-
-  \param axisId Axis index
-  \return Specified scaleDraw for axis, or NULL if axis is invalid.
-*/
-QwtScaleDraw *QwtPlot::axisScaleDraw( int axisId )
-{
-    if ( !axisValid( axisId ) )
-        return NULL;
-
-    return axisWidget( axisId )->scaleDraw();
-}
-
-/*!
-  \brief Return the step size parameter that has been set in setAxisScale. 
-
-  This doesn't need to be the step size of the current scale.
-
-  \param axisId Axis index
-  \return step size parameter value
-
-   \sa setAxisScale(), QwtScaleEngine::divideScale()
-*/
-double QwtPlot::axisStepSize( int axisId ) const
-{
-    if ( !axisValid( axisId ) )
-        return 0;
-
-    return d_axisData[axisId]->stepSize;
-}
-
-/*!
-  \brief Return the current interval of the specified axis
-
-  This is only a convenience function for axisScaleDiv( axisId )->interval();
-  
-  \param axisId Axis index
-  \return Scale interval
-
-  \sa QwtScaleDiv, axisScaleDiv()
-*/
-QwtInterval QwtPlot::axisInterval( int axisId ) const
-{
-    if ( !axisValid( axisId ) )
-        return QwtInterval();
-
-    return d_axisData[axisId]->scaleDiv.interval();
-}
-
-/*!
-  \return Title of a specified axis
-  \param axisId Axis index
-*/
-QwtText QwtPlot::axisTitle( int axisId ) const
-{
-    if ( axisValid( axisId ) )
-        return axisWidget( axisId )->title();
-    else
-        return QwtText();
-}
-
-/*!
-  \brief Enable or disable a specified axis
-
-  When an axis is disabled, this only means that it is not
-  visible on the screen. Curves, markers and can be attached
-  to disabled axes, and transformation of screen coordinates
-  into values works as normal.
-
-  Only xBottom and yLeft are enabled by default.
-
-  \param axisId Axis index
-  \param tf \c true (enabled) or \c false (disabled)
-*/
-void QwtPlot::enableAxis( int axisId, bool tf )
-{
-    if ( axisValid( axisId ) && tf != d_axisData[axisId]->isEnabled )
-    {
-        d_axisData[axisId]->isEnabled = tf;
-        updateLayout();
-    }
-}
-
-/*!
-  Transform the x or y coordinate of a position in the
-  drawing region into a value.
-
-  \param axisId Axis index
-  \param pos position
-
-  \return Position as axis coordinate
-
-  \warning The position can be an x or a y coordinate,
-           depending on the specified axis.
-*/
-double QwtPlot::invTransform( int axisId, int pos ) const
-{
-    if ( axisValid( axisId ) )
-        return( canvasMap( axisId ).invTransform( pos ) );
-    else
-        return 0.0;
-}
-
-
-/*!
-  \brief Transform a value into a coordinate in the plotting region
-
-  \param axisId Axis index
-  \param value value
-  \return X or Y coordinate in the plotting region corresponding
-          to the value.
-*/
-double QwtPlot::transform( int axisId, double value ) const
-{
-    if ( axisValid( axisId ) )
-        return( canvasMap( axisId ).transform( value ) );
-    else
-        return 0.0;
-}
-
-/*!
-  \brief Change the font of an axis
-
-  \param axisId Axis index
-  \param font Font
-  \warning This function changes the font of the tick labels,
-           not of the axis title.
-*/
-void QwtPlot::setAxisFont( int axisId, const QFont &font )
-{
-    if ( axisValid( axisId ) )
-        axisWidget( axisId )->setFont( font );
-}
-
-/*!
-  \brief Enable autoscaling for a specified axis
-
-  This member function is used to switch back to autoscaling mode
-  after a fixed scale has been set. Autoscaling is enabled by default.
-
-  \param axisId Axis index
-  \param on On/Off
-  \sa setAxisScale(), setAxisScaleDiv(), updateAxes()
-
-  \note The autoscaling flag has no effect until updateAxes() is executed
-        ( called by replot() ).
-*/
-void QwtPlot::setAxisAutoScale( int axisId, bool on )
-{
-    if ( axisValid( axisId ) && ( d_axisData[axisId]->doAutoScale != on ) )
-    {
-        d_axisData[axisId]->doAutoScale = on;
-        autoRefresh();
-    }
-}
-
-/*!
-  \brief Disable autoscaling and specify a fixed scale for a selected axis.
-
-  In updateAxes() the scale engine calculates a scale division from the 
-  specified parameters, that will be assigned to the scale widget. So 
-  updates of the scale widget usually happen delayed with the next replot.
-
-  \param axisId Axis index
-  \param min Minimum of the scale
-  \param max Maximum of the scale
-  \param stepSize Major step size. If <code>step == 0</code>, the step size is
-                  calculated automatically using the maxMajor setting.
-
-  \sa setAxisMaxMajor(), setAxisAutoScale(), axisStepSize(), QwtScaleEngine::divideScale()
-*/
-void QwtPlot::setAxisScale( int axisId, double min, double max, double stepSize )
-{
-    if ( axisValid( axisId ) )
-    {
-        AxisData &d = *d_axisData[axisId];
-
-        d.doAutoScale = false;
-        d.isValid = false;
-
-        d.minValue = min;
-        d.maxValue = max;
-        d.stepSize = stepSize;
-
-        autoRefresh();
-    }
-}
-
-/*!
-  \brief Disable autoscaling and specify a fixed scale for a selected axis.
-
-  The scale division will be stored locally only until the next call
-  of updateAxes(). So updates of the scale widget usually happen delayed with 
-  the next replot.
-
-  \param axisId Axis index
-  \param scaleDiv Scale division
-
-  \sa setAxisScale(), setAxisAutoScale()
-*/
-void QwtPlot::setAxisScaleDiv( int axisId, const QwtScaleDiv &scaleDiv )
-{
-    if ( axisValid( axisId ) )
-    {
-        AxisData &d = *d_axisData[axisId];
-
-        d.doAutoScale = false;
-        d.scaleDiv = scaleDiv;
-        d.isValid = true;
-
-        autoRefresh();
-    }
-}
-
-/*!
-  \brief Set a scale draw
-
-  \param axisId Axis index
-  \param scaleDraw Object responsible for drawing scales.
-
-  By passing scaleDraw it is possible to extend QwtScaleDraw
-  functionality and let it take place in QwtPlot. Please note
-  that scaleDraw has to be created with new and will be deleted
-  by the corresponding QwtScale member ( like a child object ).
-
-  \sa QwtScaleDraw, QwtScaleWidget
-  \warning The attributes of scaleDraw will be overwritten by those of the
-           previous QwtScaleDraw.
-*/
-
-void QwtPlot::setAxisScaleDraw( int axisId, QwtScaleDraw *scaleDraw )
-{
-    if ( axisValid( axisId ) )
-    {
-        axisWidget( axisId )->setScaleDraw( scaleDraw );
-        autoRefresh();
-    }
-}
-
-/*!
-  Change the alignment of the tick labels
-
-  \param axisId Axis index
-  \param alignment Or'd Qt::AlignmentFlags see <qnamespace.h>
-
-  \sa QwtScaleDraw::setLabelAlignment()
-*/
-void QwtPlot::setAxisLabelAlignment( int axisId, Qt::Alignment alignment )
-{
-    if ( axisValid( axisId ) )
-        axisWidget( axisId )->setLabelAlignment( alignment );
-}
-
-/*!
-  Rotate all tick labels
-
-  \param axisId Axis index
-  \param rotation Angle in degrees. When changing the label rotation,
-                  the label alignment might be adjusted too.
-
-  \sa QwtScaleDraw::setLabelRotation(), setAxisLabelAlignment()
-*/
-void QwtPlot::setAxisLabelRotation( int axisId, double rotation )
-{
-    if ( axisValid( axisId ) )
-        axisWidget( axisId )->setLabelRotation( rotation );
-}
-
-/*!
-  Set the maximum number of minor scale intervals for a specified axis
-
-  \param axisId Axis index
-  \param maxMinor Maximum number of minor steps
-
-  \sa axisMaxMinor()
-*/
-void QwtPlot::setAxisMaxMinor( int axisId, int maxMinor )
-{
-    if ( axisValid( axisId ) )
-    {
-        maxMinor = qBound( 0, maxMinor, 100 );
-
-        AxisData &d = *d_axisData[axisId];
-        if ( maxMinor != d.maxMinor )
-        {
-            d.maxMinor = maxMinor;
-            d.isValid = false;
-            autoRefresh();
-        }
-    }
-}
-
-/*!
-  Set the maximum number of major scale intervals for a specified axis
-
-  \param axisId Axis index
-  \param maxMajor Maximum number of major steps
-
-  \sa axisMaxMajor()
-*/
-void QwtPlot::setAxisMaxMajor( int axisId, int maxMajor )
-{
-    if ( axisValid( axisId ) )
-    {
-        maxMajor = qBound( 1, maxMajor, 10000 );
-
-        AxisData &d = *d_axisData[axisId];
-        if ( maxMajor != d.maxMajor )
-        {
-            d.maxMajor = maxMajor;
-            d.isValid = false;
-            autoRefresh();
-        }
-    }
-}
-
-/*!
-  \brief Change the title of a specified axis
-
-  \param axisId Axis index
-  \param title axis title
-*/
-void QwtPlot::setAxisTitle( int axisId, const QString &title )
-{
-    if ( axisValid( axisId ) )
-        axisWidget( axisId )->setTitle( title );
-}
-
-/*!
-  \brief Change the title of a specified axis
-
-  \param axisId Axis index
-  \param title Axis title
-*/
-void QwtPlot::setAxisTitle( int axisId, const QwtText &title )
-{
-    if ( axisValid( axisId ) )
-        axisWidget( axisId )->setTitle( title );
-}
-
-/*! 
-  \brief Rebuild the axes scales
-
-  In case of autoscaling the boundaries of a scale are calculated 
-  from the bounding rectangles of all plot items, having the 
-  QwtPlotItem::AutoScale flag enabled ( QwtScaleEngine::autoScale() ). 
-  Then a scale division is calculated ( QwtScaleEngine::didvideScale() ) 
-  and assigned to scale widget.
-
-  When the scale boundaries have been assigned with setAxisScale() a 
-  scale division is calculated ( QwtScaleEngine::didvideScale() )
-  for this interval and assigned to the scale widget.
-
-  When the scale has been set explicitly by setAxisScaleDiv() the 
-  locally stored scale division gets assigned to the scale widget.
-
-  The scale widget indicates modifications by emitting a 
-  QwtScaleWidget::scaleDivChanged() signal.
-
-  updateAxes() is usually called by replot(). 
-
-  \sa setAxisAutoScale(), setAxisScale(), setAxisScaleDiv(), replot()
-      QwtPlotItem::boundingRect()
- */
-void QwtPlot::updateAxes()
-{
-    // Find bounding interval of the item data
-    // for all axes, where autoscaling is enabled
-
-    QwtInterval intv[axisCnt];
-
-    const QwtPlotItemList& itmList = itemList();
-
-    QwtPlotItemIterator it;
-    for ( it = itmList.begin(); it != itmList.end(); ++it )
-    {
-        const QwtPlotItem *item = *it;
-
-        if ( !item->testItemAttribute( QwtPlotItem::AutoScale ) )
-            continue;
-
-        if ( !item->isVisible() )
-            continue;
-
-        if ( axisAutoScale( item->xAxis() ) || axisAutoScale( item->yAxis() ) )
-        {
-            const QRectF rect = item->boundingRect();
-
-            if ( rect.width() >= 0.0 )
-                intv[item->xAxis()] |= QwtInterval( rect.left(), rect.right() );
-
-            if ( rect.height() >= 0.0 )
-                intv[item->yAxis()] |= QwtInterval( rect.top(), rect.bottom() );
-        }
-    }
-
-    // Adjust scales
-
-    for ( int axisId = 0; axisId < axisCnt; axisId++ )
-    {
-        AxisData &d = *d_axisData[axisId];
-
-        double minValue = d.minValue;
-        double maxValue = d.maxValue;
-        double stepSize = d.stepSize;
-
-        if ( d.doAutoScale && intv[axisId].isValid() )
-        {
-            d.isValid = false;
-
-            minValue = intv[axisId].minValue();
-            maxValue = intv[axisId].maxValue();
-
-            d.scaleEngine->autoScale( d.maxMajor,
-                minValue, maxValue, stepSize );
-        }
-        if ( !d.isValid )
-        {
-            d.scaleDiv = d.scaleEngine->divideScale(
-                minValue, maxValue,
-                d.maxMajor, d.maxMinor, stepSize );
-            d.isValid = true;
-        }
-
-        QwtScaleWidget *scaleWidget = axisWidget( axisId );
-        scaleWidget->setScaleDiv( d.scaleDiv );
-
-        int startDist, endDist;
-        scaleWidget->getBorderDistHint( startDist, endDist );
-        scaleWidget->setBorderDist( startDist, endDist );
-    }
-
-    for ( it = itmList.begin(); it != itmList.end(); ++it )
-    {
-        QwtPlotItem *item = *it;
-        if ( item->testItemInterest( QwtPlotItem::ScaleInterest ) )
-        {
-            item->updateScaleDiv( axisScaleDiv( item->xAxis() ),
-                axisScaleDiv( item->yAxis() ) );
-        }
-    }
-}
-
diff --git a/SRC/Qwt/src/qwt_plot_barchart.cpp b/SRC/Qwt/src/qwt_plot_barchart.cpp
deleted file mode 100644
index 97abc50..0000000
--- a/SRC/Qwt/src/qwt_plot_barchart.cpp
+++ /dev/null
@@ -1,459 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_barchart.h"
-#include "qwt_scale_map.h"
-#include "qwt_column_symbol.h"
-#include "qwt_painter.h"
-#include <qpainter.h>
-
-class QwtPlotBarChart::PrivateData
-{
-public:
-    PrivateData():
-        symbol( NULL ),
-        legendMode( QwtPlotBarChart::LegendChartTitle )
-    {
-    }
- 
-    ~PrivateData()
-    {
-        delete symbol;
-    }
-
-    QwtColumnSymbol *symbol;
-    QwtPlotBarChart::LegendMode legendMode;
-};
-
-/*!
-  Constructor
-  \param title Title of the curve
-*/
-QwtPlotBarChart::QwtPlotBarChart( const QwtText &title ):
-    QwtPlotAbstractBarChart( title )
-{
-    init();
-}
-
-/*!
-  Constructor
-  \param title Title of the curve
-*/
-QwtPlotBarChart::QwtPlotBarChart( const QString &title ):
-    QwtPlotAbstractBarChart( QwtText( title ) )
-{
-    init();
-}
-
-//! Destructor
-QwtPlotBarChart::~QwtPlotBarChart()
-{
-    delete d_data;
-}
-
-void QwtPlotBarChart::init()
-{
-    d_data = new PrivateData;
-    setData( new QwtPointSeriesData() );
-}
-
-//! \return QwtPlotItem::Rtti_PlotBarChart
-int QwtPlotBarChart::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotBarChart;
-}
-
-/*!
-  Initialize data with an array of points
-
-  \param samples Vector of points
-  \note QVector is implicitly shared
-  \note QPolygonF is derived from QVector<QPointF>
-*/
-void QwtPlotBarChart::setSamples(
-    const QVector<QPointF> &samples )
-{
-    setData( new QwtPointSeriesData( samples ) );
-}
-
-/*!
-  Initialize data with an array of doubles
-
-  The indices in the array are taken as x coordinate,
-  while the doubles are interpreted as y values.
-
-  \param samples Vector of y coordinates
-  \note QVector is implicitly shared
-*/
-void QwtPlotBarChart::setSamples(
-    const QVector<double> &samples )
-{
-    QVector<QPointF> points;
-    for ( int i = 0; i < samples.size(); i++ )
-        points += QPointF( i, samples[ i ] );
-
-    setData( new QwtPointSeriesData( points ) );
-}
-
-/*!
-  Assign a series of samples
-
-  setSamples() is just a wrapper for setData() without any additional
-  value - beside that it is easier to find for the developer.
-
-  \param data Data
-  \warning The item takes ownership of the data object, deleting
-           it when its not used anymore.
-*/
-void QwtPlotBarChart::setSamples( QwtSeriesData<QPointF> *data )
-{
-    setData( data );
-}
-
-/*!
-  \brief Assign a symbol
-
-  The bar chart will take the ownership of the symbol, hence the previously
-  set symbol will be delete by setting a new one. If \p symbol is 
-  \c NULL no symbol will be drawn.
-
-  \param symbol Symbol
-  \sa symbol()
-*/
-void QwtPlotBarChart::setSymbol( QwtColumnSymbol *symbol )
-{
-    if ( symbol != d_data->symbol )
-    {
-        delete d_data->symbol;
-        d_data->symbol = symbol;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Current symbol or NULL, when no symbol has been assigned
-  \sa setSymbol()
-*/
-const QwtColumnSymbol *QwtPlotBarChart::symbol() const
-{
-    return d_data->symbol;
-}
-
-/*!
-  Set the mode that decides what to display on the legend
-
-  In case of LegendBarTitles barTitle() needs to be overloaded
-  to return individual titles for each bar.
-
-  \param mode New mode
-  \sa legendMode(), legendData(), barTitle(), QwtPlotItem::ItemAttribute
- */
-void QwtPlotBarChart::setLegendMode( LegendMode mode )
-{
-    if ( mode != d_data->legendMode )
-    {
-        d_data->legendMode = mode;
-        legendChanged();
-    }
-}
-
-/*!
-  \return Legend mode
-  \sa setLegendMode()
- */
-QwtPlotBarChart::LegendMode QwtPlotBarChart::legendMode() const
-{
-    return d_data->legendMode;
-}
-
-/*!
-  \return Bounding rectangle of all samples.
-  For an empty series the rectangle is invalid.
-*/
-QRectF QwtPlotBarChart::boundingRect() const
-{
-    const size_t numSamples = dataSize();
-    if ( numSamples == 0 )
-        return QwtPlotSeriesItem::boundingRect();
-
-    QRectF rect = QwtPlotSeriesItem::boundingRect();
-    if ( rect.height() >= 0 )
-    {
-        const double baseLine = baseline();
-
-        if ( rect.bottom() < baseLine )
-            rect.setBottom( baseLine );
-
-        if ( rect.top() > baseLine )
-            rect.setTop( baseLine );
-    }
-
-    if ( orientation() == Qt::Horizontal )
-        rect.setRect( rect.y(), rect.x(), rect.height(), rect.width() );
-
-    return rect;
-}
-
-/*!
-  Draw an interval of the bar chart
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param canvasRect Contents rect of the canvas
-  \param from Index of the first point to be painted
-  \param to Index of the last point to be painted. If to < 0 the
-         curve will be painted to its last point.
-
-  \sa drawSymbols()
-*/
-void QwtPlotBarChart::drawSeries( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    if ( to < 0 )
-        to = dataSize() - 1;
-
-    if ( from < 0 )
-        from = 0;
-
-    if ( from > to )
-        return;
-
-
-    const QRectF br = data()->boundingRect();
-    const QwtInterval interval( br.left(), br.right() );
-
-    painter->save();
-
-    for ( int i = from; i <= to; i++ )
-    {
-        drawSample( painter, xMap, yMap,
-                    canvasRect, interval, i, sample( i ) );
-    }
-
-    painter->restore();
-}
-
-/*!
-  Draw a sample
-
-  \param painter Painter
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rect of the canvas
-  \param boundingInterval Bounding interval of sample values
-  \param index Index of the sample
-  \param sample Value of the sample
-
-  \sa drawSeries()
-*/
-void QwtPlotBarChart::drawSample( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, const QwtInterval &boundingInterval,
-    int index, const QPointF &sample ) const
-{
-    QwtColumnRect barRect;
-
-    if ( orientation() == Qt::Horizontal )
-    {
-        const double barHeight = sampleWidth( yMap, canvasRect.height(),
-            boundingInterval.width(), sample.y() );
-
-        const double x1 = xMap.transform( baseline() );
-        const double x2 = xMap.transform( sample.y() );
-
-        const double y = yMap.transform( sample.x() );
-        const double y1 = y - 0.5 * barHeight;
-        const double y2 = y + 0.5 * barHeight;
-
-        barRect.direction = ( x1 < x2 ) ?
-            QwtColumnRect::LeftToRight : QwtColumnRect::RightToLeft;
-
-        barRect.hInterval = QwtInterval( x1, x2 ).normalized();
-        barRect.vInterval = QwtInterval( y1, y2 );
-    }
-    else
-    {
-        const double barWidth = sampleWidth( xMap, canvasRect.width(),
-            boundingInterval.width(), sample.y() );
-
-        const double x = xMap.transform( sample.x() );
-        const double x1 = x - 0.5 * barWidth;
-        const double x2 = x + 0.5 * barWidth;
-
-        const double y1 = yMap.transform( baseline() );
-        const double y2 = yMap.transform( sample.y() );
-
-        barRect.direction = ( y1 < y2 ) ?
-            QwtColumnRect::TopToBottom : QwtColumnRect::BottomToTop;
-
-        barRect.hInterval = QwtInterval( x1, x2 );
-        barRect.vInterval = QwtInterval( y1, y2 ).normalized();
-    }
-
-    drawBar( painter, index, sample, barRect );
-}
-
-/*!
-  Draw a bar 
-
-  \param painter Painter
-  \param sampleIndex Index of the sample represented by the bar
-  \param sample Value of the sample
-  \param rect Bounding rectangle of the bar
- */
-void QwtPlotBarChart::drawBar( QPainter *painter,
-    int sampleIndex, const QPointF &sample, 
-    const QwtColumnRect &rect ) const
-{
-    const QwtColumnSymbol *specialSym = 
-        specialSymbol( sampleIndex, sample );
-
-    const QwtColumnSymbol *sym = specialSym;
-    if ( sym == NULL )
-        sym = d_data->symbol;
-
-    if ( sym )
-    {
-        sym->draw( painter, rect );
-    }
-    else
-    {
-        // we build a temporary default symbol
-        QwtColumnSymbol sym( QwtColumnSymbol::Box );
-        sym.setLineWidth( 1 );
-        sym.setFrameStyle( QwtColumnSymbol::Plain );
-        sym.draw( painter, rect );
-    }
-
-    delete specialSym;
-}
-
-/*!
-  Needs to be overloaded to return a 
-  non default symbol for a specific sample
-
-  \param sampleIndex Index of the sample represented by the bar
-  \param sample Value of the sample
-
-  \return NULL, indicating to use the default symbol
- */
-QwtColumnSymbol *QwtPlotBarChart::specialSymbol( 
-    int sampleIndex, const QPointF &sample ) const
-{
-    Q_UNUSED( sampleIndex );
-    Q_UNUSED( sample );
-
-    return NULL;
-}
-
-/*!
-  \brief Return the title of a bar
-
-  In LegendBarTitles mode the title is displayed on
-  the legend entry corresponding to a bar.
-
-  The default implementation is a dummy, that is intended
-  to be overloaded.
-
-  \param sampleIndex Index of the bar
-  \return An empty text
-  \sa LegendBarTitles
- */
-QwtText QwtPlotBarChart::barTitle( int sampleIndex ) const
-{
-    Q_UNUSED( sampleIndex );
-    return QwtText();
-}
-
-/*!
-   \brief Return all information, that is needed to represent
-          the item on the legend
-
-   In case of LegendBarTitles an entry for each bar is returned,
-   otherwise the chart is represented like any other plot item
-   from its title() and the legendIcon().
-
-   \return Information, that is needed to represent the item on the legend
-   \sa title(), setLegendMode(), barTitle(), QwtLegend, QwtPlotLegendItem
- */
-QList<QwtLegendData> QwtPlotBarChart::legendData() const
-{
-    QList<QwtLegendData> list;
-
-    if ( d_data->legendMode == LegendBarTitles )
-    {
-        const size_t numSamples = dataSize();
-        for ( size_t i = 0; i < numSamples; i++ )
-        {
-            QwtLegendData data;
-
-            QVariant titleValue;
-            qVariantSetValue( titleValue, barTitle( i ) );
-            data.setValue( QwtLegendData::TitleRole, titleValue );
-
-            if ( !legendIconSize().isEmpty() )
-            {
-                QVariant iconValue;
-                qVariantSetValue( iconValue,
-                    legendIcon( i, legendIconSize() ) );
-
-                data.setValue( QwtLegendData::IconRole, iconValue );
-            }
-
-            list += data;
-        }
-    }
-    else
-    {
-        return QwtPlotAbstractBarChart::legendData();
-    }
-
-    return list;
-}
-
-/*!
-   \return Icon representing a bar or the chart on the legend
-
-   When the legendMode() is LegendBarTitles the icon shows
-   the bar corresponding to index - otherwise the bar
-   displays the default symbol.
-
-   \param index Index of the legend entry 
-   \param size Icon size
-
-   \sa setLegendMode(), drawBar(), 
-       QwtPlotItem::setLegendIconSize(), QwtPlotItem::legendData()
- */
-QwtGraphic QwtPlotBarChart::legendIcon( 
-    int index, const QSizeF &size ) const
-{
-    QwtColumnRect column;
-    column.hInterval = QwtInterval( 0.0, size.width() - 1.0 );
-    column.vInterval = QwtInterval( 0.0, size.height() - 1.0 );
-
-    QwtGraphic icon;
-    icon.setDefaultSize( size );
-    icon.setRenderHint( QwtGraphic::RenderPensUnscaled, true );
-
-    QPainter painter( &icon );
-    painter.setRenderHint( QPainter::Antialiasing,
-        testRenderHint( QwtPlotItem::RenderAntialiased ) );
-
-    int barIndex = -1;
-    if ( d_data->legendMode == QwtPlotBarChart::LegendBarTitles )
-        barIndex = index;
-        
-    drawBar( &painter, barIndex, QPointF(), column );
-
-    return icon;
-}
diff --git a/SRC/Qwt/src/qwt_plot_barchart.h b/SRC/Qwt/src/qwt_plot_barchart.h
deleted file mode 100644
index f5cd9b2..0000000
--- a/SRC/Qwt/src/qwt_plot_barchart.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_BAR_CHART_H
-#define QWT_PLOT_BAR_CHART_H
-
-#include "qwt_global.h"
-#include "qwt_plot_abstract_barchart.h"
-#include "qwt_series_data.h"
-
-class QwtColumnRect;
-class QwtColumnSymbol;
-
-/*!
-  \brief QwtPlotBarChart displays a series of a values as bars.
-
-  Each bar might be customized individually by implementing
-  a specialSymbol(). Otherwise it is rendered using a default symbol.
-
-  Depending on its orientation() the bars are displayed horizontally 
-  or vertically. The bars cover the interval between the baseline() 
-  and the value.
-
-  By activating the LegendBarTitles mode each sample will have
-  its own entry on the legend.
-
-  The most common use case of a bar chart is to display a
-  list of y coordinates, where the x coordinate is simply the index
-  in the list. But for other situations ( f.e. when values are related
-  to dates ) it is also possible to set x coordinates explicitly.
-
-  \sa QwtPlotMultiBarChart, QwtPlotHistogram, QwtPlotCurve::Sticks,
-      QwtPlotSeriesItem::orientation(), QwtPlotAbstractBarChart::baseline()
- */
-class QWT_EXPORT QwtPlotBarChart:
-    public QwtPlotAbstractBarChart, public QwtSeriesStore<QPointF>
-{
-public:
-    /*!
-      \brief Legend modes.
-
-      The default setting is QwtPlotBarChart::LegendChartTitle.
-      \sa setLegendMode(), legendMode()
-    */
-    enum LegendMode
-    {
-        /*! 
-          One entry on the legend showing the default symbol
-          and the title() of the chart
-
-          \sa QwtPlotItem::title()
-         */
-        LegendChartTitle,
-
-        /*!
-          One entry for each value showing the individual symbol
-          of the corresponding bar and the bar title.
-
-          \sa specialSymbol(), barTitle()
-         */
-        LegendBarTitles
-    };
-
-    explicit QwtPlotBarChart( const QString &title = QString::null );
-    explicit QwtPlotBarChart( const QwtText &title );
-
-    virtual ~QwtPlotBarChart();
-
-    virtual int rtti() const;
-
-    void setSamples( const QVector<QPointF> & );
-    void setSamples( const QVector<double> & );
-    void setSamples( QwtSeriesData<QPointF> *series );
-
-    void setSymbol( QwtColumnSymbol * );
-    const QwtColumnSymbol *symbol() const;
-
-    void setLegendMode( LegendMode );
-    LegendMode legendMode() const;
-
-    virtual void drawSeries( QPainter *painter,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual QRectF boundingRect() const;
-
-    virtual QwtColumnSymbol *specialSymbol( 
-        int sampleIndex, const QPointF& ) const;
-
-    virtual QwtText barTitle( int sampleIndex ) const;
-
-protected:
-    virtual void drawSample( QPainter *painter,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, const QwtInterval &boundingInterval,
-        int index, const QPointF& sample ) const;
-
-    virtual void drawBar( QPainter *,
-        int sampleIndex, const QPointF& point, 
-        const QwtColumnRect & ) const;
-
-    QList<QwtLegendData> legendData() const;
-    QwtGraphic legendIcon( int index, const QSizeF & ) const;
-
-private:
-    void init();
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_canvas.cpp b/SRC/Qwt/src/qwt_plot_canvas.cpp
deleted file mode 100644
index 7813233..0000000
--- a/SRC/Qwt/src/qwt_plot_canvas.cpp
+++ /dev/null
@@ -1,1097 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_canvas.h"
-#include "qwt_painter.h"
-#include "qwt_null_paintdevice.h"
-#include "qwt_math.h"
-#include "qwt_plot.h"
-#include <qpainter.h>
-#include <qstyle.h>
-#include <qstyleoption.h>
-#include <qpaintengine.h>
-#include <qevent.h>
-
-class QwtStyleSheetRecorder: public QwtNullPaintDevice
-{
-public:
-    QwtStyleSheetRecorder( const QSize &size ):
-        d_size( size )
-    {
-    }
-
-    virtual void updateState( const QPaintEngineState &state )
-    {
-        if ( state.state() & QPaintEngine::DirtyPen )
-        {
-            d_pen = state.pen();
-        }
-        if ( state.state() & QPaintEngine::DirtyBrush )
-        {
-            d_brush = state.brush();
-        }
-        if ( state.state() & QPaintEngine::DirtyBrushOrigin )
-        {
-            d_origin = state.brushOrigin();
-        }
-    }
-
-    virtual void drawRects(const QRectF *rects, int count )
-    {
-        for ( int i = 0; i < count; i++ )
-            border.rectList += rects[i];
-    }
-
-    virtual void drawPath( const QPainterPath &path )
-    {
-        const QRectF rect( QPointF( 0.0, 0.0 ), d_size );
-        if ( path.controlPointRect().contains( rect.center() ) )
-        {
-            setCornerRects( path );
-            alignCornerRects( rect );
-
-            background.path = path;
-            background.brush = d_brush;
-            background.origin = d_origin;
-        }
-        else
-        {
-            border.pathList += path;
-        }
-    }
-
-    void setCornerRects( const QPainterPath &path )
-    {
-        QPointF pos( 0.0, 0.0 );
-
-        for ( int i = 0; i < path.elementCount(); i++ )
-        {
-            QPainterPath::Element el = path.elementAt(i); 
-            switch( el.type )
-            {
-                case QPainterPath::MoveToElement:
-                case QPainterPath::LineToElement:
-                {
-                    pos.setX( el.x );
-                    pos.setY( el.y );
-                    break;
-                }
-                case QPainterPath::CurveToElement:
-                {
-                    QRectF r( pos, QPointF( el.x, el.y ) );
-                    clipRects += r.normalized();
-
-                    pos.setX( el.x );
-                    pos.setY( el.y );
-
-                    break;
-                }
-                case QPainterPath::CurveToDataElement:
-                {
-                    if ( clipRects.size() > 0 )
-                    {
-                        QRectF r = clipRects.last();
-                        r.setCoords( 
-                            qMin( r.left(), el.x ),
-                            qMin( r.top(), el.y ),
-                            qMax( r.right(), el.x ),
-                            qMax( r.bottom(), el.y )
-                        );
-                        clipRects.last() = r.normalized();
-                    }
-                    break;
-                }
-            }
-        }
-    }
-
-protected:
-    virtual QSize sizeMetrics() const
-    {
-        return d_size;
-    }
-
-private:
-    void alignCornerRects( const QRectF &rect )
-    {
-        for ( int i = 0; i < clipRects.size(); i++ )
-        {
-            QRectF &r = clipRects[i];
-            if ( r.center().x() < rect.center().x() )
-                r.setLeft( rect.left() );
-            else
-                r.setRight( rect.right() );
-
-            if ( r.center().y() < rect.center().y() )
-                r.setTop( rect.top() );
-            else
-                r.setBottom( rect.bottom() );
-        }
-    }
-
-
-public:
-    QVector<QRectF> clipRects;
-
-    struct Border
-    {
-        QList<QPainterPath> pathList;
-        QList<QRectF> rectList;
-        QRegion clipRegion;
-    } border;
-
-    struct Background
-    {
-        QPainterPath path;
-        QBrush brush;
-        QPointF origin;
-    } background;
-
-private:
-    const QSize d_size;
-
-    QPen d_pen;
-    QBrush d_brush;
-    QPointF d_origin;
-};
-
-static void qwtDrawBackground( QPainter *painter, QwtPlotCanvas *canvas )
-{
-    painter->save();
-
-    const QPainterPath borderClip = canvas->borderPath( canvas->rect() );
-    if ( !borderClip.isEmpty() )
-        painter->setClipPath( borderClip, Qt::IntersectClip );
-
-    const QBrush &brush = 
-        canvas->palette().brush( canvas->backgroundRole() );
-
-    if ( brush.style() == Qt::TexturePattern )
-    {
-        QPixmap pm( canvas->size() );
-        QwtPainter::fillPixmap( canvas, pm );
-        painter->drawPixmap( 0, 0, pm );
-    }
-    else if ( brush.gradient() )
-    {
-        QVector<QRect> rects;
-
-        if ( brush.gradient()->coordinateMode() == QGradient::ObjectBoundingMode )
-        {
-            rects += canvas->rect();
-        } 
-        else 
-        {
-            rects = painter->clipRegion().rects();
-        }
-
-#if 1
-        bool useRaster = false;
-
-        if ( painter->paintEngine()->type() == QPaintEngine::X11 )
-        {
-            // Qt 4.7.1: gradients on X11 are broken ( subrects + 
-            // QGradient::StretchToDeviceMode ) and horrible slow.
-            // As workaround we have to use the raster paintengine.
-            // Even if the QImage -> QPixmap translation is slow
-            // it is three times faster, than using X11 directly
-
-            useRaster = true;
-        }
-#endif
-        if ( useRaster )
-        {
-            QImage::Format format = QImage::Format_RGB32;
-
-            const QGradientStops stops = brush.gradient()->stops();
-            for ( int i = 0; i < stops.size(); i++ )
-            {
-                if ( stops[i].second.alpha() != 255 )
-                {
-                    // don't use Format_ARGB32_Premultiplied. It's
-                    // recommended by the Qt docs, but QPainter::drawImage()
-                    // is horrible slow on X11.
-
-                    format = QImage::Format_ARGB32;
-                    break;
-                }
-            }
-            
-            QImage image( canvas->size(), format );
-
-            QPainter p( &image );
-            p.setPen( Qt::NoPen );
-            p.setBrush( brush );
-
-            p.drawRects( rects );
-
-            p.end();
-
-            painter->drawImage( 0, 0, image );
-        }
-        else
-        {
-            painter->setPen( Qt::NoPen );
-            painter->setBrush( brush );
-
-            painter->drawRects( rects );
-        }
-    }
-    else
-    {
-        painter->setPen( Qt::NoPen );
-        painter->setBrush( brush );
-
-        painter->drawRects( painter->clipRegion().rects() );
-
-    }
-
-    painter->restore();
-}
-
-static inline void qwtRevertPath( QPainterPath &path )
-{
-    if ( path.elementCount() == 4 )
-    {
-        QPainterPath::Element el0 = path.elementAt(0);
-        QPainterPath::Element el3 = path.elementAt(3);
-
-        path.setElementPositionAt( 0, el3.x, el3.y );
-        path.setElementPositionAt( 3, el0.x, el0.y );
-    }
-}
-
-static QPainterPath qwtCombinePathList( const QRectF &rect, 
-    const QList<QPainterPath> &pathList )
-{
-    if ( pathList.isEmpty() )
-        return QPainterPath();
-
-    QPainterPath ordered[8]; // starting top left
-
-    for ( int i = 0; i < pathList.size(); i++ )
-    {
-        int index = -1;
-        QPainterPath subPath = pathList[i];
-
-        const QRectF br = pathList[i].controlPointRect();
-        if ( br.center().x() < rect.center().x() )
-        {
-            if ( br.center().y() < rect.center().y() )
-            {
-                if ( qAbs( br.top() - rect.top() ) < 
-                    qAbs( br.left() - rect.left() ) )
-                {
-                    index = 1;
-                }
-                else
-                {
-                    index = 0;
-                }
-            }
-            else
-            {
-                if ( qAbs( br.bottom() - rect.bottom() ) < 
-                    qAbs( br.left() - rect.left() ) )
-                {
-                    index = 6;
-                }
-                else
-                {
-                    index = 7;
-                }
-            }
-
-            if ( subPath.currentPosition().y() > br.center().y() )
-                qwtRevertPath( subPath );
-        }
-        else
-        {
-            if ( br.center().y() < rect.center().y() )
-            {
-                if ( qAbs( br.top() - rect.top() ) < 
-                    qAbs( br.right() - rect.right() ) )
-                {
-                    index = 2;
-                }
-                else
-                {
-                    index = 3;
-                }
-            }
-            else
-            {
-                if ( qAbs( br.bottom() - rect.bottom() ) < 
-                    qAbs( br.right() - rect.right() ) )
-                {
-                    index = 5;
-                }
-                else
-                {
-                    index = 4;
-                }
-            }
-            if ( subPath.currentPosition().y() < br.center().y() )
-                qwtRevertPath( subPath );
-        }   
-        ordered[index] = subPath;
-    }
-
-    for ( int i = 0; i < 4; i++ )
-    {
-        if ( ordered[ 2 * i].isEmpty() != ordered[2 * i + 1].isEmpty() )
-        {
-            // we don't accept incomplete rounded borders
-            return QPainterPath();
-        }
-    }
-
-
-    const QPolygonF corners( rect );
-
-    QPainterPath path;
-    //path.moveTo( rect.topLeft() );
-
-    for ( int i = 0; i < 4; i++ )
-    {
-        if ( ordered[2 * i].isEmpty() )
-        {
-            path.lineTo( corners[i] );
-        }
-        else
-        {
-            path.connectPath( ordered[2 * i] );
-            path.connectPath( ordered[2 * i + 1] );
-        }
-    }
-
-    path.closeSubpath();
-
-#if 0
-    return path.simplified();
-#else
-    return path;
-#endif
-}
-
-static inline void qwtDrawStyledBackground( 
-    QWidget *w, QPainter *painter )
-{
-    QStyleOption opt;
-    opt.initFrom(w);
-    w->style()->drawPrimitive( QStyle::PE_Widget, &opt, painter, w);
-}
-
-static QWidget *qwtBackgroundWidget( QWidget *w )
-{
-    if ( w->parentWidget() == NULL )
-        return w;
-
-    if ( w->autoFillBackground() )
-    {
-        const QBrush brush = w->palette().brush( w->backgroundRole() );
-        if ( brush.color().alpha() > 0 )
-            return w;
-    }
-
-    if ( w->testAttribute( Qt::WA_StyledBackground ) )
-    {
-        QImage image( 1, 1, QImage::Format_ARGB32 );
-        image.fill( Qt::transparent );
-
-        QPainter painter( &image );
-        painter.translate( -w->rect().center() );
-        qwtDrawStyledBackground( w, &painter );
-        painter.end();
-
-        if ( qAlpha( image.pixel( 0, 0 ) ) != 0 )
-            return w;
-    }
-
-    return qwtBackgroundWidget( w->parentWidget() );
-}
-
-static void qwtFillBackground( QPainter *painter, 
-    QWidget *widget, const QVector<QRectF> &fillRects )
-{
-    if ( fillRects.isEmpty() )
-        return;
-
-    QRegion clipRegion;
-    if ( painter->hasClipping() )
-        clipRegion = painter->transform().map( painter->clipRegion() );
-    else
-        clipRegion = widget->contentsRect();
-
-    // Try to find out which widget fills
-    // the unfilled areas of the styled background
-
-    QWidget *bgWidget = qwtBackgroundWidget( widget->parentWidget() );
-
-    for ( int i = 0; i < fillRects.size(); i++ )
-    {
-        const QRect rect = fillRects[i].toAlignedRect();
-        if ( clipRegion.intersects( rect ) )
-        {
-            QPixmap pm( rect.size() );
-            QwtPainter::fillPixmap( bgWidget, pm, widget->mapTo( bgWidget, rect.topLeft() ) );
-            painter->drawPixmap( rect, pm );
-        }
-    }
-}
-
-static void qwtFillBackground( QPainter *painter, QwtPlotCanvas *canvas )
-{
-    QVector<QRectF> rects;
-
-    if ( canvas->testAttribute( Qt::WA_StyledBackground ) )
-    {
-        QwtStyleSheetRecorder recorder( canvas->size() );
-
-        QPainter p( &recorder );
-        qwtDrawStyledBackground( canvas, &p );
-        p.end();
-
-        if ( recorder.background.brush.isOpaque() )
-            rects = recorder.clipRects;
-        else
-            rects += canvas->rect();
-    }
-    else
-    {
-        const QRectF r = canvas->rect();
-        const double radius = canvas->borderRadius();
-        if ( radius > 0.0 )
-        {
-            QSizeF sz( radius, radius );
-
-            rects += QRectF( r.topLeft(), sz );
-            rects += QRectF( r.topRight() - QPointF( radius, 0 ), sz );
-            rects += QRectF( r.bottomRight() - QPointF( radius, radius ), sz );
-            rects += QRectF( r.bottomLeft() - QPointF( 0, radius ), sz );
-        }
-    }
-
-    qwtFillBackground( painter, canvas, rects);
-}
-
-
-class QwtPlotCanvas::PrivateData
-{
-public:
-    PrivateData():
-        focusIndicator( NoFocusIndicator ),
-        borderRadius( 0 ),
-        paintAttributes( 0 ),
-        backingStore( NULL )
-    {
-        styleSheet.hasBorder = false;
-    }
-
-    ~PrivateData()
-    {
-        delete backingStore;
-    }
-
-    FocusIndicator focusIndicator;
-    double borderRadius;
-    QwtPlotCanvas::PaintAttributes paintAttributes;
-    QPixmap *backingStore;
-
-    struct StyleSheet
-    {
-        bool hasBorder;
-        QPainterPath borderPath;
-        QVector<QRectF> cornerRects;
-
-        struct StyleSheetBackground
-        {
-            QBrush brush;
-            QPointF origin;
-        } background;
-
-    } styleSheet;
-
-};
-
-/*! 
-  \brief Constructor
-
-  \param plot Parent plot widget
-  \sa QwtPlot::setCanvas()
-*/
-QwtPlotCanvas::QwtPlotCanvas( QwtPlot *plot ):
-    QFrame( plot )
-{
-    setFrameStyle( QFrame::Panel | QFrame::Sunken );
-    setLineWidth( 2 );
-
-    d_data = new PrivateData;
-
-#ifndef QT_NO_CURSOR
-    setCursor( Qt::CrossCursor );
-#endif
-
-    setAutoFillBackground( true );
-    setPaintAttribute( QwtPlotCanvas::BackingStore, true );
-    setPaintAttribute( QwtPlotCanvas::Opaque, true );
-    setPaintAttribute( QwtPlotCanvas::HackStyledBackground, true );
-}
-
-//! Destructor
-QwtPlotCanvas::~QwtPlotCanvas()
-{
-    delete d_data;
-}
-
-//! Return parent plot widget
-QwtPlot *QwtPlotCanvas::plot()
-{
-    return qobject_cast<QwtPlot *>( parent() );
-}
-
-//! Return parent plot widget
-const QwtPlot *QwtPlotCanvas::plot() const
-{
-    return qobject_cast<const QwtPlot *>( parent() );
-}
-
-/*!
-  \brief Changing the paint attributes
-
-  \param attribute Paint attribute
-  \param on On/Off
-
-  \sa testPaintAttribute(), backingStore()
-*/
-void QwtPlotCanvas::setPaintAttribute( PaintAttribute attribute, bool on )
-{
-    if ( bool( d_data->paintAttributes & attribute ) == on )
-        return;
-
-    if ( on )
-        d_data->paintAttributes |= attribute;
-    else
-        d_data->paintAttributes &= ~attribute;
-
-    switch ( attribute )
-    {
-        case BackingStore:
-        {
-            if ( on )
-            {
-                if ( d_data->backingStore == NULL )
-                    d_data->backingStore = new QPixmap();
-
-                if ( isVisible() )
-                {
-#if QT_VERSION >= 0x050000
-                    *d_data->backingStore = grab( rect() );
-#else
-                    *d_data->backingStore = 
-                        QPixmap::grabWidget( this, rect() );
-#endif
-                }
-            }
-            else
-            {
-                delete d_data->backingStore;
-                d_data->backingStore = NULL;
-            }
-            break;
-        }
-        case Opaque:
-        {
-            if ( on )
-                setAttribute( Qt::WA_OpaquePaintEvent, true );
-
-            break;
-        }
-        case HackStyledBackground:
-        case ImmediatePaint:
-        {
-            break;
-        }
-    }
-}
-
-/*!
-  Test whether a paint attribute is enabled
-
-  \param attribute Paint attribute
-  \return true, when attribute is enabled
-  \sa setPaintAttribute()
-*/
-bool QwtPlotCanvas::testPaintAttribute( PaintAttribute attribute ) const
-{
-    return d_data->paintAttributes & attribute;
-}
-
-//! \return Backing store, might be null
-const QPixmap *QwtPlotCanvas::backingStore() const
-{
-    return d_data->backingStore;
-}
-
-//! Invalidate the internal backing store
-void QwtPlotCanvas::invalidateBackingStore()
-{
-    if ( d_data->backingStore )
-        *d_data->backingStore = QPixmap();
-}
-
-/*!
-  Set the focus indicator
-
-  \sa FocusIndicator, focusIndicator()
-*/
-void QwtPlotCanvas::setFocusIndicator( FocusIndicator focusIndicator )
-{
-    d_data->focusIndicator = focusIndicator;
-}
-
-/*!
-  \return Focus indicator
-
-  \sa FocusIndicator, setFocusIndicator()
-*/
-QwtPlotCanvas::FocusIndicator QwtPlotCanvas::focusIndicator() const
-{
-    return d_data->focusIndicator;
-}
-
-/*!
-  Set the radius for the corners of the border frame
-
-  \param radius Radius of a rounded corner
-  \sa borderRadius()
-*/
-void QwtPlotCanvas::setBorderRadius( double radius )
-{
-    d_data->borderRadius = qMax( 0.0, radius );
-}
-
-/*!
-  \return Radius for the corners of the border frame
-  \sa setBorderRadius()
-*/
-double QwtPlotCanvas::borderRadius() const
-{
-    return d_data->borderRadius;
-}
-
-/*!
-  Qt event handler for QEvent::PolishRequest and QEvent::StyleChange
-
-  \param event Qt Event
-  \return See QFrame::event()
-*/
-bool QwtPlotCanvas::event( QEvent *event )
-{
-    if ( event->type() == QEvent::PolishRequest ) 
-    {
-        if ( testPaintAttribute( QwtPlotCanvas::Opaque ) )
-        {
-            // Setting a style sheet changes the 
-            // Qt::WA_OpaquePaintEvent attribute, but we insist
-            // on painting the background.
-            
-            setAttribute( Qt::WA_OpaquePaintEvent, true );
-        }
-    }
-
-    if ( event->type() == QEvent::PolishRequest || 
-        event->type() == QEvent::StyleChange )
-    {
-        updateStyleSheetInfo();
-    }
-
-    return QFrame::event( event );
-}
-
-/*!
-  Paint event
-  \param event Paint event
-*/
-void QwtPlotCanvas::paintEvent( QPaintEvent *event )
-{
-    QPainter painter( this );
-    painter.setClipRegion( event->region() );
-
-    if ( testPaintAttribute( QwtPlotCanvas::BackingStore ) &&
-        d_data->backingStore != NULL )
-    {
-        QPixmap &bs = *d_data->backingStore;
-        if ( bs.size() != size() )
-        {
-            bs = QwtPainter::backingStore( this, size() );
-
-            if ( testAttribute(Qt::WA_StyledBackground) )
-            {
-                QPainter p( &bs );
-                qwtFillBackground( &p, this );
-                drawCanvas( &p, true );
-            }
-            else
-            {
-                QPainter p;
-                if ( d_data->borderRadius <= 0.0 )
-                {
-                    QwtPainter::fillPixmap( this, bs );
-                    p.begin( &bs );
-                    drawCanvas( &p, false );
-                }
-                else
-                {
-                    p.begin( &bs );
-                    qwtFillBackground( &p, this );
-                    drawCanvas( &p, true );
-                }
-
-                if ( frameWidth() > 0 )
-                    drawBorder( &p );
-            }
-        }
-
-        painter.drawPixmap( 0, 0, *d_data->backingStore );
-    }
-    else
-    {
-        if ( testAttribute(Qt::WA_StyledBackground ) )
-        {
-            if ( testAttribute( Qt::WA_OpaquePaintEvent ) )
-            {
-                qwtFillBackground( &painter, this );
-                drawCanvas( &painter, true );
-            }
-            else
-            {
-                drawCanvas( &painter, false );
-            }
-        }
-        else
-        {
-            if ( testAttribute( Qt::WA_OpaquePaintEvent ) )
-            {
-                if ( autoFillBackground() )
-                {
-                    qwtFillBackground( &painter, this );
-                    qwtDrawBackground( &painter, this );
-                }
-            }
-            else
-            {
-                if ( borderRadius() > 0.0 )
-                {
-                    QPainterPath clipPath;
-                    clipPath.addRect( rect() );
-                    clipPath = clipPath.subtracted( borderPath( rect() ) );
-
-                    painter.save();
-
-                    painter.setClipPath( clipPath, Qt::IntersectClip );
-                    qwtFillBackground( &painter, this );
-                    qwtDrawBackground( &painter, this );
-
-                    painter.restore();
-                }
-            }
-
-            drawCanvas( &painter, false );
-
-            if ( frameWidth() > 0 ) 
-                drawBorder( &painter );
-        }
-    }
-
-    if ( hasFocus() && focusIndicator() == CanvasFocusIndicator )
-        drawFocusIndicator( &painter );
-}
-
-void QwtPlotCanvas::drawCanvas( QPainter *painter, bool withBackground ) 
-{
-    bool hackStyledBackground = false;
-
-    if ( withBackground && testAttribute( Qt::WA_StyledBackground ) 
-        && testPaintAttribute( HackStyledBackground ) )
-    {
-        // Antialiasing rounded borders is done by
-        // inserting pixels with colors between the 
-        // border color and the color on the canvas,
-        // When the border is painted before the plot items
-        // these colors are interpolated for the canvas
-        // and the plot items need to be clipped excluding
-        // the anialiased pixels. In situations, where
-        // the plot items fill the area at the rounded
-        // borders this is noticeable.
-        // The only way to avoid these annoying "artefacts"
-        // is to paint the border on top of the plot items.
-
-        if ( d_data->styleSheet.hasBorder &&
-            !d_data->styleSheet.borderPath.isEmpty() )
-        {
-            // We have a border with at least one rounded corner
-            hackStyledBackground = true;
-        }
-    }
-
-    if ( withBackground )
-    {
-        painter->save();
-
-        if ( testAttribute( Qt::WA_StyledBackground ) )
-        {
-            if ( hackStyledBackground )
-            {
-                // paint background without border
-
-                painter->setPen( Qt::NoPen );
-                painter->setBrush( d_data->styleSheet.background.brush ); 
-                painter->setBrushOrigin( d_data->styleSheet.background.origin );
-                painter->setClipPath( d_data->styleSheet.borderPath );
-                painter->drawRect( contentsRect() );
-            }
-            else
-            {
-                qwtDrawStyledBackground( this, painter );
-            }
-        }
-        else if ( autoFillBackground() )
-        {
-            painter->setPen( Qt::NoPen );
-            painter->setBrush( palette().brush( backgroundRole() ) );
-
-            if ( d_data->borderRadius > 0.0 && ( rect() == frameRect() ) )
-            {
-                if ( frameWidth() > 0 )
-                {
-                    painter->setClipPath( borderPath( rect() ) );
-                    painter->drawRect( rect() );
-                }
-                else
-                {
-                    painter->setRenderHint( QPainter::Antialiasing, true );
-                    painter->drawPath( borderPath( rect() ) );
-                }
-            }
-            else
-            {
-                painter->drawRect( rect() );
-            }
-        }
-
-        painter->restore();
-    }
-
-    painter->save();
-
-    if ( !d_data->styleSheet.borderPath.isEmpty() )
-    {
-        painter->setClipPath( 
-            d_data->styleSheet.borderPath, Qt::IntersectClip );
-    }
-    else
-    {
-        if ( d_data->borderRadius > 0.0 )
-            painter->setClipPath( borderPath( frameRect() ), Qt::IntersectClip );
-        else
-            painter->setClipRect( contentsRect(), Qt::IntersectClip );
-    }
-
-    plot()->drawCanvas( painter );
-
-    painter->restore();
-
-    if ( withBackground && hackStyledBackground )
-    {
-        // Now paint the border on top
-        QStyleOptionFrame opt;
-        opt.initFrom(this);
-        style()->drawPrimitive( QStyle::PE_Frame, &opt, painter, this);
-    }
-}
-
-/*!
-  Draw the border of the plot canvas
-
-  \param painter Painter
-  \sa setBorderRadius()
-*/
-void QwtPlotCanvas::drawBorder( QPainter *painter )
-{
-    if ( d_data->borderRadius > 0 )
-    {
-        if ( frameWidth() > 0 )
-        {
-            QwtPainter::drawRoundedFrame( painter, QRectF( frameRect() ), 
-                d_data->borderRadius, d_data->borderRadius,
-                palette(), frameWidth(), frameStyle() );
-        }
-    }
-    else
-    {
-#if QT_VERSION >= 0x040500
-        QStyleOptionFrameV3 opt;
-        opt.init(this);
-
-        int frameShape  = frameStyle() & QFrame::Shape_Mask;
-        int frameShadow = frameStyle() & QFrame::Shadow_Mask;
-
-        opt.frameShape = QFrame::Shape( int( opt.frameShape ) | frameShape );
-#if 0
-        opt.rect = frameRect();
-#endif
-
-        switch (frameShape) 
-        {
-            case QFrame::Box:
-            case QFrame::HLine:
-            case QFrame::VLine:
-            case QFrame::StyledPanel:
-            case QFrame::Panel:
-            {
-                opt.lineWidth = lineWidth();
-                opt.midLineWidth = midLineWidth();
-                break; 
-            }
-            default: 
-            {
-                opt.lineWidth = frameWidth();
-                break;
-            }
-        }
-    
-        if ( frameShadow == Sunken )
-            opt.state |= QStyle::State_Sunken;
-        else if ( frameShadow == Raised )
-            opt.state |= QStyle::State_Raised;
-
-        style()->drawControl(QStyle::CE_ShapedFrame, &opt, painter, this);
-#else
-        drawFrame( painter );
-#endif
-    }
-}
-
-/*!
-  Resize event
-  \param event Resize event
-*/
-void QwtPlotCanvas::resizeEvent( QResizeEvent *event )
-{
-    QFrame::resizeEvent( event );
-    updateStyleSheetInfo();
-}
-
-/*!
-  Draw the focus indication
-  \param painter Painter
-*/
-void QwtPlotCanvas::drawFocusIndicator( QPainter *painter )
-{
-    const int margin = 1;
-
-    QRect focusRect = contentsRect();
-    focusRect.setRect( focusRect.x() + margin, focusRect.y() + margin,
-        focusRect.width() - 2 * margin, focusRect.height() - 2 * margin );
-
-    QwtPainter::drawFocusRect( painter, this, focusRect );
-}
-
-/*!
-   Invalidate the paint cache and repaint the canvas
-   \sa invalidatePaintCache()
-*/
-void QwtPlotCanvas::replot()
-{
-    invalidateBackingStore();
-
-    if ( testPaintAttribute( QwtPlotCanvas::ImmediatePaint ) )
-        repaint( contentsRect() );
-    else
-        update( contentsRect() );
-}
-
-//! Update the cached information about the current style sheet
-void QwtPlotCanvas::updateStyleSheetInfo()
-{
-    if ( !testAttribute(Qt::WA_StyledBackground ) )
-        return;
-
-    QwtStyleSheetRecorder recorder( size() );
-    
-    QPainter painter( &recorder );
-    
-    QStyleOption opt;
-    opt.initFrom(this);
-    style()->drawPrimitive( QStyle::PE_Widget, &opt, &painter, this);
-    
-    painter.end();
-
-    d_data->styleSheet.hasBorder = !recorder.border.rectList.isEmpty();
-    d_data->styleSheet.cornerRects = recorder.clipRects;
-
-    if ( recorder.background.path.isEmpty() )
-    {
-        if ( !recorder.border.rectList.isEmpty() )
-        {
-            d_data->styleSheet.borderPath = 
-                qwtCombinePathList( rect(), recorder.border.pathList );
-        }
-    }
-    else
-    {
-        d_data->styleSheet.borderPath = recorder.background.path;
-        d_data->styleSheet.background.brush = recorder.background.brush;
-        d_data->styleSheet.background.origin = recorder.background.origin;
-    }
-}
-
-/*!
-   Calculate the painter path for a styled or rounded border
-
-   When the canvas has no styled background or rounded borders
-   the painter path is empty.
-
-   \param rect Bounding rectangle of the canvas
-   \return Painter path, that can be used for clipping
-*/
-QPainterPath QwtPlotCanvas::borderPath( const QRect &rect ) const
-{
-    if ( testAttribute(Qt::WA_StyledBackground ) )
-    {
-        QwtStyleSheetRecorder recorder( rect.size() );
-
-        QPainter painter( &recorder );
-
-        QStyleOption opt;
-        opt.initFrom(this);
-        opt.rect = rect;
-        style()->drawPrimitive( QStyle::PE_Widget, &opt, &painter, this);
-
-        painter.end();
-
-        if ( !recorder.background.path.isEmpty() )
-            return recorder.background.path;
-
-        if ( !recorder.border.rectList.isEmpty() )
-            return qwtCombinePathList( rect, recorder.border.pathList );
-    }
-    else if ( d_data->borderRadius > 0.0 )
-    {
-        double fw2 = frameWidth() * 0.5;
-        QRectF r = QRectF(rect).adjusted( fw2, fw2, -fw2, -fw2 );
-
-        QPainterPath path;
-        path.addRoundedRect( r, d_data->borderRadius, d_data->borderRadius );
-        return path;
-    }
-    
-    return QPainterPath();
-}
diff --git a/SRC/Qwt/src/qwt_plot_canvas.h b/SRC/Qwt/src/qwt_plot_canvas.h
deleted file mode 100644
index ea2075e..0000000
--- a/SRC/Qwt/src/qwt_plot_canvas.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_CANVAS_H
-#define QWT_PLOT_CANVAS_H
-
-#include "qwt_global.h"
-#include <qframe.h>
-#include <qpainterpath.h>
-
-class QwtPlot;
-class QPixmap;
-
-/*!
-  \brief Canvas of a QwtPlot.
-  
-   Canvas is the widget where all plot items are displayed
-
-  \sa QwtPlot::setCanvas(), QwtPlotGLCanvas
-*/
-class QWT_EXPORT QwtPlotCanvas : public QFrame
-{
-    Q_OBJECT
-
-    Q_PROPERTY( double borderRadius READ borderRadius WRITE setBorderRadius )
-
-public:
-
-    /*!
-      \brief Paint attributes
-
-      The default setting enables BackingStore and Opaque.
-
-      \sa setPaintAttribute(), testPaintAttribute()
-     */
-    enum PaintAttribute
-    {
-        /*!
-          \brief Paint double buffered reusing the content 
-                 of the pixmap buffer when possible. 
-
-          Using a backing store might improve the performance
-          significantly, when working with widget overlays ( like rubber bands ).
-          Disabling the cache might improve the performance for
-          incremental paints (using QwtPlotDirectPainter ).
-
-          \sa backingStore(), invalidateBackingStore()
-         */
-        BackingStore = 1,
-
-        /*!
-          \brief Try to fill the complete contents rectangle
-                 of the plot canvas
-
-          When using styled backgrounds Qt assumes, that the
-          canvas doesn't fill its area completely 
-          ( f.e because of rounded borders ) and fills the area
-          below the canvas. When this is done with gradients it might
-          result in a serious performance bottleneck - depending on the size.
-
-          When the Opaque attribute is enabled the canvas tries to
-          identify the gaps with some heuristics and to fill those only. 
-
-          \warning Will not work for semitransparent backgrounds 
-         */
-        Opaque       = 2,
-
-        /*!
-          \brief Try to improve painting of styled backgrounds
-
-          QwtPlotCanvas supports the box model attributes for
-          customizing the layout with style sheets. Unfortunately
-          the design of Qt style sheets has no concept how to
-          handle backgrounds with rounded corners - beside of padding.
-
-          When HackStyledBackground is enabled the plot canvas tries
-          to separate the background from the background border
-          by reverse engineering to paint the background before and
-          the border after the plot items. In this order the border
-          gets perfectly antialiased and you can avoid some pixel
-          artifacts in the corners.
-         */
-        HackStyledBackground = 4,
-
-        /*!
-          When ImmediatePaint is set replot() calls repaint()
-          instead of update().
-
-          \sa replot(), QWidget::repaint(), QWidget::update()
-         */
-        ImmediatePaint = 8
-    };
-
-    //! Paint attributes
-    typedef QFlags<PaintAttribute> PaintAttributes;
-
-    /*!
-      \brief Focus indicator
-      The default setting is NoFocusIndicator
-      \sa setFocusIndicator(), focusIndicator(), paintFocus()
-    */
-
-    enum FocusIndicator
-    {
-        //! Don't paint a focus indicator
-        NoFocusIndicator,
-
-        /*!
-          The focus is related to the complete canvas.
-          Paint the focus indicator using paintFocus()
-         */
-        CanvasFocusIndicator,
-
-        /*!
-          The focus is related to an item (curve, point, ...) on
-          the canvas. It is up to the application to display a
-          focus indication using f.e. highlighting.
-         */
-        ItemFocusIndicator
-    };
-
-    explicit QwtPlotCanvas( QwtPlot * = NULL );
-    virtual ~QwtPlotCanvas();
-
-    QwtPlot *plot();
-    const QwtPlot *plot() const;
-
-    void setFocusIndicator( FocusIndicator );
-    FocusIndicator focusIndicator() const;
-
-    void setBorderRadius( double );
-    double borderRadius() const;
-
-    void setPaintAttribute( PaintAttribute, bool on = true );
-    bool testPaintAttribute( PaintAttribute ) const;
-
-    const QPixmap *backingStore() const;
-    void invalidateBackingStore();
-
-    virtual bool event( QEvent * );
-
-    Q_INVOKABLE QPainterPath borderPath( const QRect & ) const;
-
-public Q_SLOTS:
-    void replot();
-
-protected:
-    virtual void paintEvent( QPaintEvent * );
-    virtual void resizeEvent( QResizeEvent * );
-
-    virtual void drawFocusIndicator( QPainter * );
-    virtual void drawBorder( QPainter * );
-
-    void updateStyleSheetInfo();
-
-private:
-    void drawCanvas( QPainter *, bool withBackground );
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotCanvas::PaintAttributes )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_curve.cpp b/SRC/Qwt/src/qwt_plot_curve.cpp
deleted file mode 100644
index a29e42e..0000000
--- a/SRC/Qwt/src/qwt_plot_curve.cpp
+++ /dev/null
@@ -1,1204 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_curve.h"
-#include "qwt_point_data.h"
-#include "qwt_math.h"
-#include "qwt_clipper.h"
-#include "qwt_painter.h"
-#include "qwt_scale_map.h"
-#include "qwt_plot.h"
-#include "qwt_curve_fitter.h"
-#include "qwt_symbol.h"
-#include "qwt_point_mapper.h"
-#include <qpainter.h>
-#include <qpixmap.h>
-#include <qalgorithms.h>
-#include <qmath.h>
-
-static void qwtUpdateLegendIconSize( QwtPlotCurve *curve )
-{
-    if ( curve->symbol() && 
-        curve->testLegendAttribute( QwtPlotCurve::LegendShowSymbol ) )
-    {
-        QSize sz = curve->symbol()->boundingRect().size();
-        sz += QSize( 2, 2 ); // margin
-
-        if ( curve->testLegendAttribute( QwtPlotCurve::LegendShowLine ) )
-        {
-            // Avoid, that the line is completely covered by the symbol
-
-            int w = qCeil( 1.5 * sz.width() );
-            if ( w % 2 )
-                w++;
-
-            sz.setWidth( qMax( 8, w ) );
-        }
-
-        curve->setLegendIconSize( sz );
-    }
-}
-
-static int qwtVerifyRange( int size, int &i1, int &i2 )
-{
-    if ( size < 1 )
-        return 0;
-
-    i1 = qBound( 0, i1, size - 1 );
-    i2 = qBound( 0, i2, size - 1 );
-
-    if ( i1 > i2 )
-        qSwap( i1, i2 );
-
-    return ( i2 - i1 + 1 );
-}
-
-class QwtPlotCurve::PrivateData
-{
-public:
-    PrivateData():
-        style( QwtPlotCurve::Lines ),
-        baseline( 0.0 ),
-        symbol( NULL ),
-        attributes( 0 ),
-        paintAttributes( 
-            QwtPlotCurve::ClipPolygons | QwtPlotCurve::FilterPoints ),
-        legendAttributes( 0 )
-    {
-        pen = QPen( Qt::black );
-        curveFitter = new QwtSplineCurveFitter;
-    }
-
-    ~PrivateData()
-    {
-        delete symbol;
-        delete curveFitter;
-    }
-
-    QwtPlotCurve::CurveStyle style;
-    double baseline;
-
-    const QwtSymbol *symbol;
-    QwtCurveFitter *curveFitter;
-
-    QPen pen;
-    QBrush brush;
-
-    QwtPlotCurve::CurveAttributes attributes;
-    QwtPlotCurve::PaintAttributes paintAttributes;
-
-    QwtPlotCurve::LegendAttributes legendAttributes;
-};
-
-/*!
-  Constructor
-  \param title Title of the curve
-*/
-QwtPlotCurve::QwtPlotCurve( const QwtText &title ):
-    QwtPlotSeriesItem( title )
-{
-    init();
-}
-
-/*!
-  Constructor
-  \param title Title of the curve
-*/
-QwtPlotCurve::QwtPlotCurve( const QString &title ):
-    QwtPlotSeriesItem( QwtText( title ) )
-{
-    init();
-}
-
-//! Destructor
-QwtPlotCurve::~QwtPlotCurve()
-{
-    delete d_data;
-}
-
-//! Initialize internal members
-void QwtPlotCurve::init()
-{
-    setItemAttribute( QwtPlotItem::Legend );
-    setItemAttribute( QwtPlotItem::AutoScale );
-
-    d_data = new PrivateData;
-    setData( new QwtPointSeriesData() );
-
-    setZ( 20.0 );
-}
-
-//! \return QwtPlotItem::Rtti_PlotCurve
-int QwtPlotCurve::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotCurve;
-}
-
-/*!
-  Specify an attribute how to draw the curve
-
-  \param attribute Paint attribute
-  \param on On/Off
-  \sa testPaintAttribute()
-*/
-void QwtPlotCurve::setPaintAttribute( PaintAttribute attribute, bool on )
-{
-    if ( on )
-        d_data->paintAttributes |= attribute;
-    else
-        d_data->paintAttributes &= ~attribute;
-}
-
-/*!
-    \return True, when attribute is enabled
-    \sa setPaintAttribute()
-*/
-bool QwtPlotCurve::testPaintAttribute( PaintAttribute attribute ) const
-{
-    return ( d_data->paintAttributes & attribute );
-}
-
-/*!
-  Specify an attribute how to draw the legend icon
-
-  \param attribute Attribute
-  \param on On/Off
-  /sa testLegendAttribute(). legendIcon()
-*/
-void QwtPlotCurve::setLegendAttribute( LegendAttribute attribute, bool on )
-{
-    if ( on != testLegendAttribute( attribute ) )
-    {
-        if ( on )
-            d_data->legendAttributes |= attribute;
-        else
-            d_data->legendAttributes &= ~attribute;
-
-        qwtUpdateLegendIconSize( this );
-        legendChanged();
-    }
-}
-
-/*!
-  \return True, when attribute is enabled
-  \sa setLegendAttribute()
-*/
-bool QwtPlotCurve::testLegendAttribute( LegendAttribute attribute ) const
-{
-    return ( d_data->legendAttributes & attribute );
-}
-
-/*!
-  Set the curve's drawing style
-
-  \param style Curve style
-  \sa style()
-*/
-void QwtPlotCurve::setStyle( CurveStyle style )
-{
-    if ( style != d_data->style )
-    {
-        d_data->style = style;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Style of the curve
-  \sa setStyle()
-*/
-QwtPlotCurve::CurveStyle QwtPlotCurve::style() const
-{
-    return d_data->style;
-}
-
-/*!
-  \brief Assign a symbol
-
-  The curve will take the ownership of the symbol, hence the previously
-  set symbol will be delete by setting a new one. If \p symbol is 
-  \c NULL no symbol will be drawn.
-
-  \param symbol Symbol
-  \sa symbol()
-*/
-void QwtPlotCurve::setSymbol( QwtSymbol *symbol )
-{
-    if ( symbol != d_data->symbol )
-    {
-        delete d_data->symbol;
-        d_data->symbol = symbol;
-
-        qwtUpdateLegendIconSize( this );
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Current symbol or NULL, when no symbol has been assigned
-  \sa setSymbol()
-*/
-const QwtSymbol *QwtPlotCurve::symbol() const
-{
-    return d_data->symbol;
-}
-
-/*!
-  Build and assign a pen
-
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it
-  non cosmetic ( see QPen::isCosmetic() ). This method has been introduced
-  to hide this incompatibility.
-
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-
-  \sa pen(), brush()
- */
-void QwtPlotCurve::setPen( const QColor &color, qreal width, Qt::PenStyle style )
-{
-    setPen( QPen( color, width, style ) );
-}
-
-/*!
-  Assign a pen
-
-  \param pen New pen
-  \sa pen(), brush()
-*/
-void QwtPlotCurve::setPen( const QPen &pen )
-{
-    if ( pen != d_data->pen )
-    {
-        d_data->pen = pen;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Pen used to draw the lines
-  \sa setPen(), brush()
-*/
-const QPen& QwtPlotCurve::pen() const
-{
-    return d_data->pen;
-}
-
-/*!
-  \brief Assign a brush.
-
-   In case of brush.style() != QBrush::NoBrush
-   and style() != QwtPlotCurve::Sticks
-   the area between the curve and the baseline will be filled.
-
-   In case !brush.color().isValid() the area will be filled by
-   pen.color(). The fill algorithm simply connects the first and the
-   last curve point to the baseline. So the curve data has to be sorted
-   (ascending or descending).
-
-  \param brush New brush
-  \sa brush(), setBaseline(), baseline()
-*/
-void QwtPlotCurve::setBrush( const QBrush &brush )
-{
-    if ( brush != d_data->brush )
-    {
-        d_data->brush = brush;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Brush used to fill the area between lines and the baseline
-  \sa setBrush(), setBaseline(), baseline()
-*/
-const QBrush& QwtPlotCurve::brush() const
-{
-    return d_data->brush;
-}
-
-/*!
-  Draw an interval of the curve
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param canvasRect Contents rectangle of the canvas
-  \param from Index of the first point to be painted
-  \param to Index of the last point to be painted. If to < 0 the
-         curve will be painted to its last point.
-
-  \sa drawCurve(), drawSymbols(),
-*/
-void QwtPlotCurve::drawSeries( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    const size_t numSamples = dataSize();
-
-    if ( !painter || numSamples <= 0 )
-        return;
-
-    if ( to < 0 )
-        to = numSamples - 1;
-
-    if ( qwtVerifyRange( numSamples, from, to ) > 0 )
-    {
-        painter->save();
-        painter->setPen( d_data->pen );
-
-        /*
-          Qt 4.0.0 is slow when drawing lines, but it's even
-          slower when the painter has a brush. So we don't
-          set the brush before we really need it.
-         */
-
-        drawCurve( painter, d_data->style, xMap, yMap, canvasRect, from, to );
-        painter->restore();
-
-        if ( d_data->symbol &&
-            ( d_data->symbol->style() != QwtSymbol::NoSymbol ) )
-        {
-            painter->save();
-            drawSymbols( painter, *d_data->symbol,
-                xMap, yMap, canvasRect, from, to );
-            painter->restore();
-        }
-    }
-}
-
-/*!
-  \brief Draw the line part (without symbols) of a curve interval.
-  \param painter Painter
-  \param style curve style, see QwtPlotCurve::CurveStyle
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rectangle of the canvas
-  \param from index of the first point to be painted
-  \param to index of the last point to be painted
-  \sa draw(), drawDots(), drawLines(), drawSteps(), drawSticks()
-*/
-void QwtPlotCurve::drawCurve( QPainter *painter, int style,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    switch ( style )
-    {
-        case Lines:
-            if ( testCurveAttribute( Fitted ) )
-            {
-                // we always need the complete
-                // curve for fitting
-                from = 0;
-                to = dataSize() - 1;
-            }
-            drawLines( painter, xMap, yMap, canvasRect, from, to );
-            break;
-        case Sticks:
-            drawSticks( painter, xMap, yMap, canvasRect, from, to );
-            break;
-        case Steps:
-            drawSteps( painter, xMap, yMap, canvasRect, from, to );
-            break;
-        case Dots:
-            drawDots( painter, xMap, yMap, canvasRect, from, to );
-            break;
-        case NoCurve:
-        default:
-            break;
-    }
-}
-
-/*!
-  \brief Draw lines
-
-  If the CurveAttribute Fitted is enabled a QwtCurveFitter tries
-  to interpolate/smooth the curve, before it is painted.
-
-  \param painter Painter
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rectangle of the canvas
-  \param from index of the first point to be painted
-  \param to index of the last point to be painted
-
-  \sa setCurveAttribute(), setCurveFitter(), draw(),
-      drawLines(), drawDots(), drawSteps(), drawSticks()
-*/
-void QwtPlotCurve::drawLines( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    if ( from > to )
-        return;
-
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-    const bool doFit = ( d_data->attributes & Fitted ) && d_data->curveFitter;
-    const bool doFill = ( d_data->brush.style() != Qt::NoBrush )
-            && ( d_data->brush.color().alpha() > 0 );
-
-    QRectF clipRect;
-    if ( d_data->paintAttributes & ClipPolygons )
-    {
-        qreal pw = qMax( qreal( 1.0 ), painter->pen().widthF());
-        clipRect = canvasRect.adjusted(-pw, -pw, pw, pw);
-    }
-
-    bool doIntegers = false;
-
-#if QT_VERSION < 0x040800
-
-    // For Qt <= 4.7 the raster paint engine is significantly faster
-    // for rendering QPolygon than for QPolygonF. So let's
-    // see if we can use it.
-
-    if ( painter->paintEngine()->type() == QPaintEngine::Raster )
-    {
-        // In case of filling or fitting performance doesn't count
-        // because both operations are much more expensive
-        // then drawing the polyline itself
-
-        if ( !doFit && !doFill )
-            doIntegers = true; 
-    }
-#endif
-
-    const bool noDuplicates = d_data->paintAttributes & FilterPoints;
-
-    QwtPointMapper mapper;
-    mapper.setFlag( QwtPointMapper::RoundPoints, doAlign );
-    mapper.setFlag( QwtPointMapper::WeedOutPoints, noDuplicates );
-    mapper.setBoundingRect( canvasRect );
-
-    if ( doIntegers )
-    {
-        QPolygon polyline = mapper.toPolygon( 
-            xMap, yMap, data(), from, to );
-
-        if ( d_data->paintAttributes & ClipPolygons )
-        {
-            polyline = QwtClipper::clipPolygon( 
-                clipRect.toAlignedRect(), polyline, false );
-        }
-
-        QwtPainter::drawPolyline( painter, polyline );
-    }
-    else
-    {
-        QPolygonF polyline = mapper.toPolygonF( xMap, yMap, data(), from, to );
-
-        if ( doFit )
-            polyline = d_data->curveFitter->fitCurve( polyline );
-
-        if ( doFill )
-        {
-            if ( painter->pen().style() != Qt::NoPen )
-            {
-                // here we are wasting memory for the filled copy,
-                // do polygon clipping twice etc .. TODO
-
-                QPolygonF filled = polyline;
-                fillCurve( painter, xMap, yMap, canvasRect, filled );
-                filled.clear();
-
-                if ( d_data->paintAttributes & ClipPolygons )
-                {
-                    polyline = QwtClipper::clipPolygonF( 
-                        clipRect, polyline, false );
-                }
-
-                QwtPainter::drawPolyline( painter, polyline );
-            }
-            else
-            {
-                fillCurve( painter, xMap, yMap, canvasRect, polyline );
-            }
-        }
-        else
-        {
-            if ( d_data->paintAttributes & ClipPolygons )
-            {
-                polyline = QwtClipper::clipPolygonF(
-                    clipRect, polyline, false );
-            }
-
-            QwtPainter::drawPolyline( painter, polyline );
-        }
-    }
-}
-
-/*!
-  Draw sticks
-
-  \param painter Painter
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rectangle of the canvas
-  \param from index of the first point to be painted
-  \param to index of the last point to be painted
-
-  \sa draw(), drawCurve(), drawDots(), drawLines(), drawSteps()
-*/
-void QwtPlotCurve::drawSticks( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &, int from, int to ) const
-{
-    painter->save();
-    painter->setRenderHint( QPainter::Antialiasing, false );
-
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    double x0 = xMap.transform( d_data->baseline );
-    double y0 = yMap.transform( d_data->baseline );
-    if ( doAlign )
-    {
-        x0 = qRound( x0 );
-        y0 = qRound( y0 );
-    }
-
-    const Qt::Orientation o = orientation();
-
-    const QwtSeriesData<QPointF> *series = data();
-
-    for ( int i = from; i <= to; i++ )
-    {
-        const QPointF sample = series->sample( i );
-        double xi = xMap.transform( sample.x() );
-        double yi = yMap.transform( sample.y() );
-        if ( doAlign )
-        {
-            xi = qRound( xi );
-            yi = qRound( yi );
-        }
-
-        if ( o == Qt::Horizontal )
-            QwtPainter::drawLine( painter, x0, yi, xi, yi );
-        else
-            QwtPainter::drawLine( painter, xi, y0, xi, yi );
-    }
-
-    painter->restore();
-}
-
-/*!
-  Draw dots
-
-  \param painter Painter
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rectangle of the canvas
-  \param from index of the first point to be painted
-  \param to index of the last point to be painted
-
-  \sa draw(), drawCurve(), drawSticks(), drawLines(), drawSteps()
-*/
-void QwtPlotCurve::drawDots( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    const QColor color = painter->pen().color();
-
-    if ( painter->pen().style() == Qt::NoPen || color.alpha() == 0 )
-    {
-        return;
-    }
-
-    const bool doFill = ( d_data->brush.style() != Qt::NoBrush )
-            && ( d_data->brush.color().alpha() > 0 );
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    QwtPointMapper mapper;
-    mapper.setBoundingRect( canvasRect );
-    mapper.setFlag( QwtPointMapper::RoundPoints, doAlign );
-
-    if ( d_data->paintAttributes & FilterPoints )
-    {
-        if ( ( color.alpha() == 255 )
-            && !( painter->renderHints() & QPainter::Antialiasing ) )
-        {
-            mapper.setFlag( QwtPointMapper::WeedOutPoints, true );
-        }
-    }
-
-    if ( doFill )
-    {
-        mapper.setFlag( QwtPointMapper::WeedOutPoints, false );
-
-        QPolygonF points = mapper.toPointsF( 
-            xMap, yMap, data(), from, to );
-
-        QwtPainter::drawPoints( painter, points );
-        fillCurve( painter, xMap, yMap, canvasRect, points );
-    }
-    else if ( d_data->paintAttributes & ImageBuffer )
-    {
-        const QImage image = mapper.toImage( xMap, yMap,
-            data(), from, to, d_data->pen, 
-            painter->testRenderHint( QPainter::Antialiasing ),
-            renderThreadCount() );
-
-        painter->drawImage( canvasRect.toAlignedRect(), image );
-    }
-    else if ( d_data->paintAttributes & MinimizeMemory )
-    {
-        const QwtSeriesData<QPointF> *series = data();
-
-        for ( int i = from; i <= to; i++ )
-        {
-            const QPointF sample = series->sample( i );
-
-            double xi = xMap.transform( sample.x() );
-            double yi = yMap.transform( sample.y() );
-
-            if ( doAlign )
-            {
-                xi = qRound( xi );
-                yi = qRound( yi );
-            }
-
-            QwtPainter::drawPoint( painter, QPointF( xi, yi ) );
-        }
-    }
-    else
-    {
-        if ( doAlign )
-        {
-            const QPolygon points = mapper.toPoints(
-                xMap, yMap, data(), from, to ); 
-
-            QwtPainter::drawPoints( painter, points );
-        }
-        else
-        {
-            const QPolygonF points = mapper.toPointsF( 
-                xMap, yMap, data(), from, to );
-
-            QwtPainter::drawPoints( painter, points );
-        }
-    }
-}
-
-/*!
-  Draw step function
-
-  The direction of the steps depends on Inverted attribute.
-
-  \param painter Painter
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rectangle of the canvas
-  \param from index of the first point to be painted
-  \param to index of the last point to be painted
-
-  \sa CurveAttribute, setCurveAttribute(),
-      draw(), drawCurve(), drawDots(), drawLines(), drawSticks()
-*/
-void QwtPlotCurve::drawSteps( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    QPolygonF polygon( 2 * ( to - from ) + 1 );
-    QPointF *points = polygon.data();
-
-    bool inverted = orientation() == Qt::Vertical;
-    if ( d_data->attributes & Inverted )
-        inverted = !inverted;
-
-    const QwtSeriesData<QPointF> *series = data();
-
-    int i, ip;
-    for ( i = from, ip = 0; i <= to; i++, ip += 2 )
-    {
-        const QPointF sample = series->sample( i );
-        double xi = xMap.transform( sample.x() );
-        double yi = yMap.transform( sample.y() );
-        if ( doAlign )
-        {
-            xi = qRound( xi );
-            yi = qRound( yi );
-        }
-
-        if ( ip > 0 )
-        {
-            const QPointF &p0 = points[ip - 2];
-            QPointF &p = points[ip - 1];
-
-            if ( inverted )
-            {
-                p.rx() = p0.x();
-                p.ry() = yi;
-            }
-            else
-            {
-                p.rx() = xi;
-                p.ry() = p0.y();
-            }
-        }
-
-        points[ip].rx() = xi;
-        points[ip].ry() = yi;
-    }
-
-    if ( d_data->paintAttributes & ClipPolygons )
-    {
-        const QPolygonF clipped = QwtClipper::clipPolygonF( 
-            canvasRect, polygon, false );
-
-        QwtPainter::drawPolyline( painter, clipped );
-    }
-    else
-    {
-        QwtPainter::drawPolyline( painter, polygon );
-    }
-
-    if ( d_data->brush.style() != Qt::NoBrush )
-        fillCurve( painter, xMap, yMap, canvasRect, polygon );
-}
-
-
-/*!
-  Specify an attribute for drawing the curve
-
-  \param attribute Curve attribute
-  \param on On/Off
-
-  /sa testCurveAttribute(), setCurveFitter()
-*/
-void QwtPlotCurve::setCurveAttribute( CurveAttribute attribute, bool on )
-{
-    if ( bool( d_data->attributes & attribute ) == on )
-        return;
-
-    if ( on )
-        d_data->attributes |= attribute;
-    else
-        d_data->attributes &= ~attribute;
-
-    itemChanged();
-}
-
-/*!
-    \return true, if attribute is enabled
-    \sa setCurveAttribute()
-*/
-bool QwtPlotCurve::testCurveAttribute( CurveAttribute attribute ) const
-{
-    return d_data->attributes & attribute;
-}
-
-/*!
-  Assign a curve fitter
-
-  The curve fitter "smooths" the curve points, when the Fitted
-  CurveAttribute is set. setCurveFitter(NULL) also disables curve fitting.
-
-  The curve fitter operates on the translated points ( = widget coordinates)
-  to be functional for logarithmic scales. Obviously this is less performant
-  for fitting algorithms, that reduce the number of points.
-
-  For situations, where curve fitting is used to improve the performance
-  of painting huge series of points it might be better to execute the fitter
-  on the curve points once and to cache the result in the QwtSeriesData object.
-
-  \param curveFitter() Curve fitter
-  \sa Fitted
-*/
-void QwtPlotCurve::setCurveFitter( QwtCurveFitter *curveFitter )
-{
-    delete d_data->curveFitter;
-    d_data->curveFitter = curveFitter;
-
-    itemChanged();
-}
-
-/*!
-  Get the curve fitter. If curve fitting is disabled NULL is returned.
-
-  \return Curve fitter
-  \sa setCurveFitter(), Fitted
-*/
-QwtCurveFitter *QwtPlotCurve::curveFitter() const
-{
-    return d_data->curveFitter;
-}
-
-/*!
-  Fill the area between the curve and the baseline with
-  the curve brush
-
-  \param painter Painter
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rectangle of the canvas
-  \param polygon Polygon - will be modified !
-
-  \sa setBrush(), setBaseline(), setStyle()
-*/
-void QwtPlotCurve::fillCurve( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, QPolygonF &polygon ) const
-{
-    if ( d_data->brush.style() == Qt::NoBrush )
-        return;
-
-    closePolyline( painter, xMap, yMap, polygon );
-    if ( polygon.count() <= 2 ) // a line can't be filled
-        return;
-
-    QBrush brush = d_data->brush;
-    if ( !brush.color().isValid() )
-        brush.setColor( d_data->pen.color() );
-
-    if ( d_data->paintAttributes & ClipPolygons )
-        polygon = QwtClipper::clipPolygonF( canvasRect, polygon, true );
-
-    painter->save();
-
-    painter->setPen( Qt::NoPen );
-    painter->setBrush( brush );
-
-    QwtPainter::drawPolygon( painter, polygon );
-
-    painter->restore();
-}
-
-/*!
-  \brief Complete a polygon to be a closed polygon including the 
-         area between the original polygon and the baseline.
-
-  \param painter Painter
-  \param xMap X map
-  \param yMap Y map
-  \param polygon Polygon to be completed
-*/
-void QwtPlotCurve::closePolyline( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    QPolygonF &polygon ) const
-{
-    if ( polygon.size() < 2 )
-        return;
-
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    double baseline = d_data->baseline;
-    
-    if ( orientation() == Qt::Vertical )
-    {
-        if ( yMap.transformation() )
-            baseline = yMap.transformation()->bounded( baseline );
-
-        double refY = yMap.transform( baseline );
-        if ( doAlign )
-            refY = qRound( refY );
-
-        polygon += QPointF( polygon.last().x(), refY );
-        polygon += QPointF( polygon.first().x(), refY );
-    }
-    else
-    {
-        if ( xMap.transformation() )
-            baseline = xMap.transformation()->bounded( baseline );
-
-        double refX = xMap.transform( baseline );
-        if ( doAlign )
-            refX = qRound( refX );
-
-        polygon += QPointF( refX, polygon.last().y() );
-        polygon += QPointF( refX, polygon.first().y() );
-    }
-}
-
-/*!
-  Draw symbols
-
-  \param painter Painter
-  \param symbol Curve symbol
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rectangle of the canvas
-  \param from Index of the first point to be painted
-  \param to Index of the last point to be painted
-
-  \sa setSymbol(), drawSeries(), drawCurve()
-*/
-void QwtPlotCurve::drawSymbols( QPainter *painter, const QwtSymbol &symbol,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    QwtPointMapper mapper;
-    mapper.setFlag( QwtPointMapper::RoundPoints, 
-        QwtPainter::roundingAlignment( painter ) );
-    mapper.setFlag( QwtPointMapper::WeedOutPoints, 
-        testPaintAttribute( QwtPlotCurve::FilterPoints ) );
-    mapper.setBoundingRect( canvasRect );
-
-    const int chunkSize = 500;
-
-    for ( int i = from; i <= to; i += chunkSize )
-    {
-        const int n = qMin( chunkSize, to - i + 1 );
-
-        const QPolygonF points = mapper.toPointsF( xMap, yMap,
-            data(), i, i + n - 1 );
-
-        if ( points.size() > 0 )
-            symbol.drawSymbols( painter, points );
-    }
-}
-
-/*!
-  \brief Set the value of the baseline
-
-  The baseline is needed for filling the curve with a brush or
-  the Sticks drawing style.
-
-  The interpretation of the baseline depends on the orientation().
-  With Qt::Horizontal, the baseline is interpreted as a horizontal line
-  at y = baseline(), with Qt::Vertical, it is interpreted as a vertical
-  line at x = baseline().
-
-  The default value is 0.0.
-
-  \param value Value of the baseline
-  \sa baseline(), setBrush(), setStyle(), QwtPlotAbstractSeriesItem::orientation()
-*/
-void QwtPlotCurve::setBaseline( double value )
-{
-    if ( d_data->baseline != value )
-    {
-        d_data->baseline = value;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Value of the baseline
-  \sa setBaseline()
-*/
-double QwtPlotCurve::baseline() const
-{
-    return d_data->baseline;
-}
-
-/*!
-  Find the closest curve point for a specific position
-
-  \param pos Position, where to look for the closest curve point
-  \param dist If dist != NULL, closestPoint() returns the distance between
-              the position and the closest curve point
-  \return Index of the closest curve point, or -1 if none can be found
-          ( f.e when the curve has no points )
-  \note closestPoint() implements a dumb algorithm, that iterates
-        over all points
-*/
-int QwtPlotCurve::closestPoint( const QPoint &pos, double *dist ) const
-{
-    const size_t numSamples = dataSize();
-
-    if ( plot() == NULL || numSamples <= 0 )
-        return -1;
-
-    const QwtSeriesData<QPointF> *series = data();
-
-    const QwtScaleMap xMap = plot()->canvasMap( xAxis() );
-    const QwtScaleMap yMap = plot()->canvasMap( yAxis() );
-
-    int index = -1;
-    double dmin = 1.0e10;
-
-    for ( uint i = 0; i < numSamples; i++ )
-    {
-        const QPointF sample = series->sample( i );
-
-        const double cx = xMap.transform( sample.x() ) - pos.x();
-        const double cy = yMap.transform( sample.y() ) - pos.y();
-
-        const double f = qwtSqr( cx ) + qwtSqr( cy );
-        if ( f < dmin )
-        {
-            index = i;
-            dmin = f;
-        }
-    }
-    if ( dist )
-        *dist = qSqrt( dmin );
-
-    return index;
-}
-
-/*!
-   \return Icon representing the curve on the legend
-
-   \param index Index of the legend entry 
-                ( ignored as there is only one )
-   \param size Icon size
-
-   \sa QwtPlotItem::setLegendIconSize(), QwtPlotItem::legendData()
- */
-QwtGraphic QwtPlotCurve::legendIcon( int index, 
-    const QSizeF &size ) const
-{
-    Q_UNUSED( index );
-
-    if ( size.isEmpty() )
-        return QwtGraphic();
-
-    QwtGraphic graphic;
-    graphic.setDefaultSize( size );
-    graphic.setRenderHint( QwtGraphic::RenderPensUnscaled, true );
-
-    QPainter painter( &graphic );
-    painter.setRenderHint( QPainter::Antialiasing,
-        testRenderHint( QwtPlotItem::RenderAntialiased ) );
-
-    if ( d_data->legendAttributes == 0 ||
-        d_data->legendAttributes & QwtPlotCurve::LegendShowBrush )
-    {
-        QBrush brush = d_data->brush;
-
-        if ( brush.style() == Qt::NoBrush &&
-            d_data->legendAttributes == 0 )
-        {
-            if ( style() != QwtPlotCurve::NoCurve )
-            {
-                brush = QBrush( pen().color() );
-            }
-            else if ( d_data->symbol &&
-                ( d_data->symbol->style() != QwtSymbol::NoSymbol ) )
-            {
-                brush = QBrush( d_data->symbol->pen().color() );
-            }
-        }
-
-        if ( brush.style() != Qt::NoBrush )
-        {
-            QRectF r( 0, 0, size.width(), size.height() );
-            painter.fillRect( r, brush );
-        }
-    }
-
-    if ( d_data->legendAttributes & QwtPlotCurve::LegendShowLine )
-    {
-        if ( pen() != Qt::NoPen )
-        {
-            QPen pn = pen();
-            pn.setCapStyle( Qt::FlatCap );
-
-            painter.setPen( pn );
-
-            const double y = 0.5 * size.height();
-            QwtPainter::drawLine( &painter, 0.0, y, size.width(), y );
-        }
-    }
-
-    if ( d_data->legendAttributes & QwtPlotCurve::LegendShowSymbol )
-    {
-        if ( d_data->symbol )
-        {
-            QRectF r( 0, 0, size.width(), size.height() );
-            d_data->symbol->drawSymbol( &painter, r );
-        }
-    }
-
-    return graphic;
-}
-
-/*!
-  Initialize data with an array of points.
-
-  \param samples Vector of points
-  \note QVector is implicitly shared
-  \note QPolygonF is derived from QVector<QPointF>
-*/
-void QwtPlotCurve::setSamples( const QVector<QPointF> &samples )
-{
-    setData( new QwtPointSeriesData( samples ) );
-}
-
-/*!
-  Assign a series of points
-
-  setSamples() is just a wrapper for setData() without any additional
-  value - beside that it is easier to find for the developer.
-
-  \param data Data
-  \warning The item takes ownership of the data object, deleting
-           it when its not used anymore.
-*/
-void QwtPlotCurve::setSamples( QwtSeriesData<QPointF> *data )
-{
-    setData( data );
-}
-
-#ifndef QWT_NO_COMPAT
-
-/*!
-  \brief Initialize the data by pointing to memory blocks which 
-         are not managed by QwtPlotCurve.
-
-  setRawSamples is provided for efficiency. 
-  It is important to keep the pointers
-  during the lifetime of the underlying QwtCPointerData class.
-
-  \param xData pointer to x data
-  \param yData pointer to y data
-  \param size size of x and y
-
-  \sa QwtCPointerData
-*/
-void QwtPlotCurve::setRawSamples( 
-    const double *xData, const double *yData, int size )
-{
-    setData( new QwtCPointerData( xData, yData, size ) );
-}
-
-/*!
-  Set data by copying x- and y-values from specified memory blocks.
-  Contrary to setRawSamples(), this function makes a 'deep copy' of
-  the data.
-
-  \param xData pointer to x values
-  \param yData pointer to y values
-  \param size size of xData and yData
-
-  \sa QwtPointArrayData
-*/
-void QwtPlotCurve::setSamples( 
-    const double *xData, const double *yData, int size )
-{
-    setData( new QwtPointArrayData( xData, yData, size ) );
-}
-
-/*!
-  \brief Initialize data with x- and y-arrays (explicitly shared)
-
-  \param xData x data
-  \param yData y data
-
-  \sa QwtPointArrayData
-*/
-void QwtPlotCurve::setSamples( const QVector<double> &xData,
-    const QVector<double> &yData )
-{
-    setData( new QwtPointArrayData( xData, yData ) );
-}
-
-#endif // !QWT_NO_COMPAT
-
diff --git a/SRC/Qwt/src/qwt_plot_curve.h b/SRC/Qwt/src/qwt_plot_curve.h
deleted file mode 100644
index cfba1fb..0000000
--- a/SRC/Qwt/src/qwt_plot_curve.h
+++ /dev/null
@@ -1,337 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_CURVE_H
-#define QWT_PLOT_CURVE_H
-
-#include "qwt_global.h"
-#include "qwt_plot_seriesitem.h"
-#include "qwt_series_data.h"
-#include "qwt_text.h"
-#include <qpen.h>
-#include <qstring.h>
-
-class QPainter;
-class QPolygonF;
-class QwtScaleMap;
-class QwtSymbol;
-class QwtCurveFitter;
-
-/*!
-  \brief A plot item, that represents a series of points
-
-  A curve is the representation of a series of points in the x-y plane.
-  It supports different display styles, interpolation ( f.e. spline )
-  and symbols.
-
-  \par Usage
-  <dl><dt>a) Assign curve properties</dt>
-  <dd>When a curve is created, it is configured to draw black solid lines
-  with in QwtPlotCurve::Lines style and no symbols. 
-  You can change this by calling
-  setPen(), setStyle() and setSymbol().</dd>
-  <dt>b) Connect/Assign data.</dt>
-  <dd>QwtPlotCurve gets its points using a QwtSeriesData object offering
-  a bridge to the real storage of the points ( like QAbstractItemModel ).
-  There are several convenience classes derived from QwtSeriesData, that also store
-  the points inside ( like QStandardItemModel ). QwtPlotCurve also offers
-  a couple of variations of setSamples(), that build QwtSeriesData objects from
-  arrays internally.</dd>
-  <dt>c) Attach the curve to a plot</dt>
-  <dd>See QwtPlotItem::attach()
-  </dd></dl>
-
-  \par Example:
-  see examples/bode
-
-  \sa QwtPointSeriesData, QwtSymbol, QwtScaleMap
-*/
-class QWT_EXPORT QwtPlotCurve: 
-    public QwtPlotSeriesItem, public QwtSeriesStore<QPointF>
-{
-public:
-    /*!
-        Curve styles.
-        \sa setStyle(), style()
-    */
-    enum CurveStyle
-    {
-        /*!
-           Don't draw a curve. Note: This doesn't affect the symbols.
-        */
-        NoCurve = -1,
-
-        /*!
-           Connect the points with straight lines. The lines might
-           be interpolated depending on the 'Fitted' attribute. Curve
-           fitting can be configured using setCurveFitter().
-        */
-        Lines,
-
-        /*!
-           Draw vertical or horizontal sticks ( depending on the 
-           orientation() ) from a baseline which is defined by setBaseline().
-        */
-        Sticks,
-
-        /*!
-           Connect the points with a step function. The step function
-           is drawn from the left to the right or vice versa,
-           depending on the QwtPlotCurve::Inverted attribute.
-        */
-        Steps,
-
-        /*!
-           Draw dots at the locations of the data points. Note:
-           This is different from a dotted line (see setPen()), and faster
-           as a curve in QwtPlotCurve::NoStyle style and a symbol 
-           painting a point.
-        */
-        Dots,
-
-        /*!
-           Styles >= QwtPlotCurve::UserCurve are reserved for derived
-           classes of QwtPlotCurve that overload drawCurve() with
-           additional application specific curve types.
-        */
-        UserCurve = 100
-    };
-
-    /*!
-      Attribute for drawing the curve
-      \sa setCurveAttribute(), testCurveAttribute(), curveFitter()
-    */
-    enum CurveAttribute
-    {
-        /*!
-           For QwtPlotCurve::Steps only. 
-           Draws a step function from the right to the left.
-         */
-        Inverted = 0x01,
-
-        /*!
-          Only in combination with QwtPlotCurve::Lines
-          A QwtCurveFitter tries to
-          interpolate/smooth the curve, before it is painted.
-
-          \note Curve fitting requires temporary memory
-          for calculating coefficients and additional points.
-          If painting in QwtPlotCurve::Fitted mode is slow it might be better
-          to fit the points, before they are passed to QwtPlotCurve.
-         */
-        Fitted = 0x02
-    };
-
-    //! Curve attributes
-    typedef QFlags<CurveAttribute> CurveAttributes;
-
-    /*!
-        Attributes how to represent the curve on the legend
-
-        \sa setLegendAttribute(), testLegendAttribute(),
-            QwtPlotItem::legendData(), legendIcon()
-     */
-
-    enum LegendAttribute
-    {
-        /*!
-          QwtPlotCurve tries to find a color representing the curve 
-          and paints a rectangle with it.
-         */
-        LegendNoAttribute = 0x00,
-
-        /*!
-          If the style() is not QwtPlotCurve::NoCurve a line 
-          is painted with the curve pen().
-         */
-        LegendShowLine = 0x01,
-
-        /*!
-          If the curve has a valid symbol it is painted.
-         */
-        LegendShowSymbol = 0x02,
-
-        /*!
-          If the curve has a brush a rectangle filled with the
-          curve brush() is painted.
-         */
-        LegendShowBrush = 0x04
-    };
-
-    //! Legend attributes
-    typedef QFlags<LegendAttribute> LegendAttributes;
-
-    /*!
-        Attributes to modify the drawing algorithm.
-        The default setting enables ClipPolygons | FilterPoints
-
-        \sa setPaintAttribute(), testPaintAttribute()
-    */
-    enum PaintAttribute
-    {
-        /*!
-          Clip polygons before painting them. In situations, where points
-          are far outside the visible area (f.e when zooming deep) this
-          might be a substantial improvement for the painting performance
-         */
-        ClipPolygons = 0x01,
-
-        /*!
-          Tries to reduce the data that has to be painted, by sorting out
-          duplicates, or paintings outside the visible area. Might have a
-          notable impact on curves with many close points.
-          Only a couple of very basic filtering algorithms are implemented.
-         */
-        FilterPoints = 0x02,
-
-        /*!
-          Minimize memory usage that is temporarily needed for the 
-          translated points, before they get painted.
-          This might slow down the performance of painting 
-         */
-        MinimizeMemory = 0x04,
-
-        /*!
-          Render the points to a temporary image and paint the image.
-          This is a very special optimization for Dots style, when
-          having a huge amount of points. 
-          With a reasonable number of points QPainter::drawPoints()
-          will be faster.
-         */
-        ImageBuffer = 0x08
-    };
-
-    //! Paint attributes
-    typedef QFlags<PaintAttribute> PaintAttributes;
-
-    explicit QwtPlotCurve( const QString &title = QString::null );
-    explicit QwtPlotCurve( const QwtText &title );
-
-    virtual ~QwtPlotCurve();
-
-    virtual int rtti() const;
-
-    void setPaintAttribute( PaintAttribute, bool on = true );
-    bool testPaintAttribute( PaintAttribute ) const;
-
-    void setLegendAttribute( LegendAttribute, bool on = true );
-    bool testLegendAttribute( LegendAttribute ) const;
-
-#ifndef QWT_NO_COMPAT
-    void setRawSamples( const double *xData, const double *yData, int size );
-    void setSamples( const double *xData, const double *yData, int size );
-    void setSamples( const QVector<double> &xData, const QVector<double> &yData );
-#endif
-    void setSamples( const QVector<QPointF> & );
-    void setSamples( QwtSeriesData<QPointF> * );
-
-    int closestPoint( const QPoint &pos, double *dist = NULL ) const;
-
-    double minXValue() const;
-    double maxXValue() const;
-    double minYValue() const;
-    double maxYValue() const;
-
-    void setCurveAttribute( CurveAttribute, bool on = true );
-    bool testCurveAttribute( CurveAttribute ) const;
-
-    void setPen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setPen( const QPen & );
-    const QPen &pen() const;
-
-    void setBrush( const QBrush & );
-    const QBrush &brush() const;
-
-    void setBaseline( double );
-    double baseline() const;
-
-    void setStyle( CurveStyle style );
-    CurveStyle style() const;
-
-    void setSymbol( QwtSymbol * );
-    const QwtSymbol *symbol() const;
-
-    void setCurveFitter( QwtCurveFitter * );
-    QwtCurveFitter *curveFitter() const;
-
-    virtual void drawSeries( QPainter *,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual QwtGraphic legendIcon( int index, const QSizeF & ) const;
-
-protected:
-
-    void init();
-
-    virtual void drawCurve( QPainter *p, int style,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual void drawSymbols( QPainter *p, const QwtSymbol &,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual void drawLines( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual void drawSticks( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual void drawDots( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual void drawSteps( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual void fillCurve( QPainter *,
-        const QwtScaleMap &, const QwtScaleMap &, 
-        const QRectF &canvasRect, QPolygonF & ) const;
-
-    void closePolyline( QPainter *,
-        const QwtScaleMap &, const QwtScaleMap &, QPolygonF & ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-//! boundingRect().left()
-inline double QwtPlotCurve::minXValue() const
-{
-    return boundingRect().left();
-}
-
-//! boundingRect().right()
-inline double QwtPlotCurve::maxXValue() const
-{
-    return boundingRect().right();
-}
-
-//! boundingRect().top()
-inline double QwtPlotCurve::minYValue() const
-{
-    return boundingRect().top();
-}
-
-//! boundingRect().bottom()
-inline double QwtPlotCurve::maxYValue() const
-{
-    return boundingRect().bottom();
-}
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotCurve::PaintAttributes )
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotCurve::LegendAttributes )
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotCurve::CurveAttributes )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_dict.cpp b/SRC/Qwt/src/qwt_plot_dict.cpp
deleted file mode 100644
index 935d6df..0000000
--- a/SRC/Qwt/src/qwt_plot_dict.cpp
+++ /dev/null
@@ -1,191 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_dict.h"
-
-class QwtPlotDict::PrivateData
-{
-public:
-
-    class ItemList: public QList<QwtPlotItem *>
-    {
-    public:
-        void insertItem( QwtPlotItem *item )
-        {
-            if ( item == NULL )
-                return;
-
-            QList<QwtPlotItem *>::iterator it =
-                qUpperBound( begin(), end(), item, LessZThan() );
-            insert( it, item );
-        }
-
-        void removeItem( QwtPlotItem *item )
-        {
-            if ( item == NULL )
-                return;
-
-            QList<QwtPlotItem *>::iterator it =
-                qLowerBound( begin(), end(), item, LessZThan() );
-
-            for ( ; it != end(); ++it )
-            {
-                if ( item == *it )
-                {
-                    erase( it );
-                    break;
-                }
-            }
-        }
-    private:
-        class LessZThan
-        {
-        public:
-            inline bool operator()( const QwtPlotItem *item1,
-                const QwtPlotItem *item2 ) const
-            {
-                return item1->z() < item2->z();
-            }
-        };
-    };
-
-    ItemList itemList;
-    bool autoDelete;
-};
-
-/*!
-   Constructor
-
-   Auto deletion is enabled.
-   \sa setAutoDelete(), QwtPlotItem::attach()
-*/
-QwtPlotDict::QwtPlotDict()
-{
-    d_data = new QwtPlotDict::PrivateData;
-    d_data->autoDelete = true;
-}
-
-/*!
-   Destructor
-
-   If autoDelete() is on, all attached items will be deleted
-   \sa setAutoDelete(), autoDelete(), QwtPlotItem::attach()
-*/
-QwtPlotDict::~QwtPlotDict()
-{
-    detachItems( QwtPlotItem::Rtti_PlotItem, d_data->autoDelete );
-    delete d_data;
-}
-
-/*!
-   En/Disable Auto deletion
-
-   If Auto deletion is on all attached plot items will be deleted
-   in the destructor of QwtPlotDict. The default value is on.
-
-   \sa autoDelete(), insertItem()
-*/
-void QwtPlotDict::setAutoDelete( bool autoDelete )
-{
-    d_data->autoDelete = autoDelete;
-}
-
-/*!
-   \return true if auto deletion is enabled
-   \sa setAutoDelete(), insertItem()
-*/
-bool QwtPlotDict::autoDelete() const
-{
-    return d_data->autoDelete;
-}
-
-/*!
-  Insert a plot item
-
-  \param item PlotItem
-  \sa removeItem()
- */
-void QwtPlotDict::insertItem( QwtPlotItem *item )
-{
-    d_data->itemList.insertItem( item );
-}
-
-/*!
-  Remove a plot item
-
-  \param item PlotItem
-  \sa insertItem()
- */
-void QwtPlotDict::removeItem( QwtPlotItem *item )
-{
-    d_data->itemList.removeItem( item );
-}
-
-/*!
-   Detach items from the dictionary
-
-   \param rtti In case of QwtPlotItem::Rtti_PlotItem detach all items
-               otherwise only those items of the type rtti.
-   \param autoDelete If true, delete all detached items
-*/
-void QwtPlotDict::detachItems( int rtti, bool autoDelete )
-{
-    PrivateData::ItemList list = d_data->itemList;
-    QwtPlotItemIterator it = list.begin();
-    while ( it != list.end() )
-    {
-        QwtPlotItem *item = *it;
-
-        ++it; // increment before removing item from the list
-
-        if ( rtti == QwtPlotItem::Rtti_PlotItem || item->rtti() == rtti )
-        {
-            item->attach( NULL );
-            if ( autoDelete )
-                delete item;
-        }
-    }
-}
-
-/*!
-  \brief A QwtPlotItemList of all attached plot items.
-
-  Use caution when iterating these lists, as removing/detaching an item will
-  invalidate the iterator. Instead you can place pointers to objects to be
-  removed in a removal list, and traverse that list later.
-
-  \return List of all attached plot items.
-*/
-const QwtPlotItemList &QwtPlotDict::itemList() const
-{
-    return d_data->itemList;
-}
-
-/*!
-  \return List of all attached plot items of a specific type.
-  \param rtti See QwtPlotItem::RttiValues
-  \sa QwtPlotItem::rtti()
-*/
-QwtPlotItemList QwtPlotDict::itemList( int rtti ) const
-{
-    if ( rtti == QwtPlotItem::Rtti_PlotItem )
-        return d_data->itemList;
-
-    QwtPlotItemList items;
-
-    PrivateData::ItemList list = d_data->itemList;
-    for ( QwtPlotItemIterator it = list.begin(); it != list.end(); ++it )
-    {
-        QwtPlotItem *item = *it;
-        if ( item->rtti() == rtti )
-            items += item;
-    }
-
-    return items;
-}
diff --git a/SRC/Qwt/src/qwt_plot_dict.h b/SRC/Qwt/src/qwt_plot_dict.h
deleted file mode 100644
index 4da2ea2..0000000
--- a/SRC/Qwt/src/qwt_plot_dict.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-/*! \file !*/
-#ifndef QWT_PLOT_DICT
-#define QWT_PLOT_DICT
-
-#include "qwt_global.h"
-#include "qwt_plot_item.h"
-#include <qlist.h>
-
-/// \var typedef QList< QwtPlotItem *> QwtPlotItemList
-/// \brief See QT 4.x assistant documentation for QList
-typedef QList<QwtPlotItem *> QwtPlotItemList;
-typedef QList<QwtPlotItem *>::ConstIterator QwtPlotItemIterator;
-
-/*!
-  \brief A dictionary for plot items
-
-  QwtPlotDict organizes plot items in increasing z-order.
-  If autoDelete() is enabled, all attached items will be deleted
-  in the destructor of the dictionary.
-  QwtPlotDict can be used to get access to all QwtPlotItem items - or all
-  items of a specific type -  that are currently on the plot.
-
-  \sa QwtPlotItem::attach(), QwtPlotItem::detach(), QwtPlotItem::z()
-*/
-class QWT_EXPORT QwtPlotDict
-{
-public:
-    explicit QwtPlotDict();
-    virtual ~QwtPlotDict();
-
-    void setAutoDelete( bool );
-    bool autoDelete() const;
-
-    const QwtPlotItemList& itemList() const;
-    QwtPlotItemList itemList( int rtti ) const;
-
-    void detachItems( int rtti = QwtPlotItem::Rtti_PlotItem,
-        bool autoDelete = true );
-
-protected:
-    void insertItem( QwtPlotItem * );
-    void removeItem( QwtPlotItem * );
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_directpainter.cpp b/SRC/Qwt/src/qwt_plot_directpainter.cpp
deleted file mode 100644
index eb4bf86..0000000
--- a/SRC/Qwt/src/qwt_plot_directpainter.cpp
+++ /dev/null
@@ -1,317 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_directpainter.h"
-#include "qwt_scale_map.h"
-#include "qwt_plot.h"
-#include "qwt_plot_canvas.h"
-#include "qwt_plot_seriesitem.h"
-#include <qpainter.h>
-#include <qevent.h>
-#include <qapplication.h>
-#include <qpixmap.h>
-
-static inline void qwtRenderItem( 
-    QPainter *painter, const QRect &canvasRect,
-    QwtPlotSeriesItem *seriesItem, int from, int to )
-{
-    // A minor performance improvement is possible
-    // with caching the maps. TODO ...
-
-    QwtPlot *plot = seriesItem->plot();
-    const QwtScaleMap xMap = plot->canvasMap( seriesItem->xAxis() );
-    const QwtScaleMap yMap = plot->canvasMap( seriesItem->yAxis() );
-
-    painter->setRenderHint( QPainter::Antialiasing,
-        seriesItem->testRenderHint( QwtPlotItem::RenderAntialiased ) );
-    seriesItem->drawSeries( painter, xMap, yMap, canvasRect, from, to );
-}
-
-static inline bool qwtHasBackingStore( const QwtPlotCanvas *canvas )
-{
-    return canvas->testPaintAttribute( QwtPlotCanvas::BackingStore )
-        && canvas->backingStore() && !canvas->backingStore()->isNull();
-}
-
-class QwtPlotDirectPainter::PrivateData
-{
-public:
-    PrivateData():
-        attributes( 0 ),
-        hasClipping(false),
-        seriesItem( NULL )
-    {
-    }
-
-    QwtPlotDirectPainter::Attributes attributes;
-
-    bool hasClipping;
-    QRegion clipRegion;
-
-    QPainter painter;
-
-    QwtPlotSeriesItem *seriesItem;
-    int from;
-    int to;
-};
-
-//! Constructor
-QwtPlotDirectPainter::QwtPlotDirectPainter( QObject *parent ):
-    QObject( parent )
-{
-    d_data = new PrivateData;
-}
-
-//! Destructor
-QwtPlotDirectPainter::~QwtPlotDirectPainter()
-{
-    delete d_data;
-}
-
-/*!
-  Change an attribute
-
-  \param attribute Attribute to change
-  \param on On/Off
-
-  \sa Attribute, testAttribute()
-*/
-void QwtPlotDirectPainter::setAttribute( Attribute attribute, bool on )
-{
-    if ( bool( d_data->attributes & attribute ) != on )
-    {
-        if ( on )
-            d_data->attributes |= attribute;
-        else
-            d_data->attributes &= ~attribute;
-
-        if ( ( attribute == AtomicPainter ) && on )
-            reset();
-    }
-}
-
-/*!
-  \return True, when attribute is enabled
-  \param attribute Attribute to be tested
-  \sa Attribute, setAttribute()
-*/
-bool QwtPlotDirectPainter::testAttribute( Attribute attribute ) const
-{
-    return d_data->attributes & attribute;
-}
-
-/*!
-  En/Disables clipping 
-
-  \param enable Enables clipping is true, disable it otherwise
-  \sa hasClipping(), clipRegion(), setClipRegion()
-*/
-void QwtPlotDirectPainter::setClipping( bool enable )
-{
-    d_data->hasClipping = enable;
-}
-
-/*!
-  \return true, when clipping is enabled
-  \sa setClipping(), clipRegion(), setClipRegion()
-*/
-bool QwtPlotDirectPainter::hasClipping() const
-{
-    return d_data->hasClipping;
-}
-
-/*!
-   \brief Assign a clip region and enable clipping
-
-   Depending on the environment setting a proper clip region might improve 
-   the performance heavily. F.e. on Qt embedded only the clipped part of
-   the backing store will be copied to a ( maybe unaccelerated ) frame buffer
-   device.
-   
-   \param region Clip region
-   \sa clipRegion(), hasClipping(), setClipping()
-*/
-void QwtPlotDirectPainter::setClipRegion( const QRegion &region )
-{
-    d_data->clipRegion = region;
-    d_data->hasClipping = true;
-}
-
-/*!
-   \return Currently set clip region.
-   \sa setClipRegion(), setClipping(), hasClipping()
-*/
-QRegion QwtPlotDirectPainter::clipRegion() const
-{
-    return d_data->clipRegion;
-}
-
-/*!
-  \brief Draw a set of points of a seriesItem.
-
-  When observing an measurement while it is running, new points have to be
-  added to an existing seriesItem. drawSeries() can be used to display them avoiding
-  a complete redraw of the canvas.
-
-  Setting plot()->canvas()->setAttribute(Qt::WA_PaintOutsidePaintEvent, true);
-  will result in faster painting, if the paint engine of the canvas widget
-  supports this feature.
-
-  \param seriesItem Item to be painted
-  \param from Index of the first point to be painted
-  \param to Index of the last point to be painted. If to < 0 the
-         series will be painted to its last point.
-*/
-void QwtPlotDirectPainter::drawSeries(
-    QwtPlotSeriesItem *seriesItem, int from, int to )
-{
-    if ( seriesItem == NULL || seriesItem->plot() == NULL )
-        return;
-
-    QWidget *canvas = seriesItem->plot()->canvas();
-    const QRect canvasRect = canvas->contentsRect();
-
-    QwtPlotCanvas *plotCanvas = qobject_cast<QwtPlotCanvas *>( canvas );
-
-    if ( plotCanvas && qwtHasBackingStore( plotCanvas ) )
-    {
-        QPainter painter( const_cast<QPixmap *>( plotCanvas->backingStore() ) );
-
-        if ( d_data->hasClipping )
-            painter.setClipRegion( d_data->clipRegion );
-
-        qwtRenderItem( &painter, canvasRect, seriesItem, from, to );
-
-        if ( testAttribute( QwtPlotDirectPainter::FullRepaint ) )
-        {
-            plotCanvas->repaint();
-            return;
-        }
-    }
-
-    bool immediatePaint = true;
-    if ( !canvas->testAttribute( Qt::WA_WState_InPaintEvent ) ) 
-    {
-#if QT_VERSION < 0x050000
-        if ( !canvas->testAttribute( Qt::WA_PaintOutsidePaintEvent ) )
-#endif
-            immediatePaint = false;
-    }
-
-    if ( immediatePaint )
-    {
-        if ( !d_data->painter.isActive() )
-        {
-            reset();
-
-            d_data->painter.begin( canvas );
-            canvas->installEventFilter( this );
-        }
-
-        if ( d_data->hasClipping )
-        {
-            d_data->painter.setClipRegion( 
-                QRegion( canvasRect ) & d_data->clipRegion );
-        }
-        else
-        {
-            if ( !d_data->painter.hasClipping() )
-                d_data->painter.setClipRect( canvasRect );
-        }
-
-        qwtRenderItem( &d_data->painter, canvasRect, seriesItem, from, to );
-
-        if ( d_data->attributes & QwtPlotDirectPainter::AtomicPainter )
-        {
-            reset();
-        }
-        else
-        {
-            if ( d_data->hasClipping )
-                d_data->painter.setClipping( false );
-        }
-    }
-    else
-    {
-        reset();
-
-        d_data->seriesItem = seriesItem;
-        d_data->from = from;
-        d_data->to = to;
-
-        QRegion clipRegion = canvasRect;
-        if ( d_data->hasClipping )
-            clipRegion &= d_data->clipRegion;
-
-        canvas->installEventFilter( this );
-        canvas->repaint(clipRegion);
-        canvas->removeEventFilter( this );
-
-        d_data->seriesItem = NULL;
-    }
-}
-
-//! Close the internal QPainter
-void QwtPlotDirectPainter::reset()
-{
-    if ( d_data->painter.isActive() )
-    {
-        QWidget *w = static_cast<QWidget *>( d_data->painter.device() );
-        if ( w )
-            w->removeEventFilter( this );
-
-        d_data->painter.end();
-    }
-}
-
-//! Event filter
-bool QwtPlotDirectPainter::eventFilter( QObject *, QEvent *event )
-{
-    if ( event->type() == QEvent::Paint )
-    {
-        reset();
-
-        if ( d_data->seriesItem )
-        {
-            const QPaintEvent *pe = static_cast< QPaintEvent *>( event );
-
-            QWidget *canvas = d_data->seriesItem->plot()->canvas();
-
-            QPainter painter( canvas );
-            painter.setClipRegion( pe->region() );
-
-            bool doCopyCache = testAttribute( CopyBackingStore );
-
-            if ( doCopyCache )
-            {
-                QwtPlotCanvas *plotCanvas = 
-                    qobject_cast<QwtPlotCanvas *>( canvas );
-                if ( plotCanvas )
-                {
-                    doCopyCache = qwtHasBackingStore( plotCanvas );
-                    if ( doCopyCache )
-                    {
-                        painter.drawPixmap( plotCanvas->contentsRect().topLeft(), 
-                            *plotCanvas->backingStore() );
-                    }
-                }
-            }
-
-            if ( !doCopyCache )
-            {
-                qwtRenderItem( &painter, canvas->contentsRect(),
-                    d_data->seriesItem, d_data->from, d_data->to );
-            }
-
-            return true; // don't call QwtPlotCanvas::paintEvent()
-        }
-    }
-
-    return false;
-}
diff --git a/SRC/Qwt/src/qwt_plot_directpainter.h b/SRC/Qwt/src/qwt_plot_directpainter.h
deleted file mode 100644
index d39c711..0000000
--- a/SRC/Qwt/src/qwt_plot_directpainter.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_DIRECT_PAINTER_H
-#define QWT_PLOT_DIRECT_PAINTER_H
-
-#include "qwt_global.h"
-#include <qobject.h>
-
-class QRegion;
-class QwtPlotSeriesItem;
-
-/*!
-    \brief Painter object trying to paint incrementally
-
-    Often applications want to display samples while they are
-    collected. When there are too many samples complete replots
-    will be expensive to be processed in a collection cycle.
-
-    QwtPlotDirectPainter offers an API to paint
-    subsets ( f.e all additions points ) without erasing/repainting
-    the plot canvas.
-
-    On certain environments it might be important to calculate a proper
-    clip region before painting. F.e. for Qt Embedded only the clipped part
-    of the backing store will be copied to a ( maybe unaccelerated ) 
-    frame buffer.
-
-    \warning Incremental painting will only help when no replot is triggered
-             by another operation ( like changing scales ) and nothing needs
-             to be erased.
-*/
-class QWT_EXPORT QwtPlotDirectPainter: public QObject
-{
-public:
-    /*!
-      \brief Paint attributes
-      \sa setAttribute(), testAttribute(), drawSeries()
-    */
-    enum Attribute
-    {
-        /*!
-          Initializing a QPainter is an expensive operation.
-          When AtomicPainter is set each call of drawSeries() opens/closes
-          a temporary QPainter. Otherwise QwtPlotDirectPainter tries to
-          use the same QPainter as long as possible.
-         */
-        AtomicPainter = 0x01,
-
-        /*!
-          When FullRepaint is set the plot canvas is explicitly repainted
-          after the samples have been rendered.
-         */
-        FullRepaint = 0x02,
-
-        /*!
-          When QwtPlotCanvas::BackingStore is enabled the painter
-          has to paint to the backing store and the widget. In certain 
-          situations/environments it might be faster to paint to 
-          the backing store only and then copy the backing store to the canvas.
-          This flag can also be useful for settings, where Qt fills the
-          the clip region with the widget background.
-         */
-        CopyBackingStore = 0x04
-    };
-
-    //! Paint attributes
-    typedef QFlags<Attribute> Attributes;
-
-    QwtPlotDirectPainter( QObject *parent = NULL );
-    virtual ~QwtPlotDirectPainter();
-
-    void setAttribute( Attribute, bool on );
-    bool testAttribute( Attribute ) const;
-
-    void setClipping( bool );
-    bool hasClipping() const;
-
-    void setClipRegion( const QRegion & );
-    QRegion clipRegion() const;
-
-    void drawSeries( QwtPlotSeriesItem *, int from, int to );
-    void reset();
-
-    virtual bool eventFilter( QObject *, QEvent * );
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotDirectPainter::Attributes )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_glcanvas.cpp b/SRC/Qwt/src/qwt_plot_glcanvas.cpp
deleted file mode 100644
index 519a595..0000000
--- a/SRC/Qwt/src/qwt_plot_glcanvas.cpp
+++ /dev/null
@@ -1,357 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_glcanvas.h"
-#include "qwt_plot.h"
-#include <qevent.h>
-#include <qpainter.h>
-#include <qdrawutil.h>
-#include <qstyle.h>
-#include <qstyleoption.h>
-#include "qwt_painter.h"
-
-static QWidget *qwtBGWidget( QWidget *widget )
-{
-    QWidget *w = widget;
-
-    for ( ; w->parentWidget() != NULL; w = w->parentWidget() )
-    {
-        if ( w->autoFillBackground() || 
-            w->testAttribute( Qt::WA_StyledBackground ) )
-        {
-            return w;
-        }
-    }
-
-    return w;
-}
-
-static void qwtUpdateContentsRect( QwtPlotGLCanvas *canvas )
-{
-    const int fw = canvas->frameWidth();
-    canvas->setContentsMargins( fw, fw, fw, fw );
-}
-
-class QwtPlotGLCanvas::PrivateData
-{
-public:
-    PrivateData():
-        frameStyle( QFrame::Panel | QFrame::Sunken),
-        lineWidth( 2 ),
-        midLineWidth( 0 )
-    {
-    }
-
-    int frameStyle;
-    int lineWidth;
-    int midLineWidth;
-};
-
-/*! 
-  \brief Constructor
-
-  \param plot Parent plot widget
-  \sa QwtPlot::setCanvas()
-*/
-QwtPlotGLCanvas::QwtPlotGLCanvas( QwtPlot *plot ):
-    QGLWidget( plot )
-{
-    d_data = new PrivateData;
-
-#ifndef QT_NO_CURSOR
-    setCursor( Qt::CrossCursor );
-#endif
-
-    setAutoFillBackground( true );
-    qwtUpdateContentsRect( this );
-}
-
-//! Destructor
-QwtPlotGLCanvas::~QwtPlotGLCanvas()
-{
-    delete d_data;
-}
-
-/*!
-  Set the frame style
-
-  \param style The bitwise OR between a shape and a shadow. 
-  
-  \sa frameStyle(), QFrame::setFrameStyle(), 
-      setFrameShadow(), setFrameShape()
- */
-void QwtPlotGLCanvas::setFrameStyle( int style )
-{
-    if ( style != d_data->frameStyle )
-    {
-        d_data->frameStyle = style;
-        qwtUpdateContentsRect( this );
-
-        update();
-    }
-}
-
-/*!
-  \return The bitwise OR between a frameShape() and a frameShadow()
-  \sa setFrameStyle(), QFrame::frameStyle()
- */
-int QwtPlotGLCanvas::frameStyle() const
-{
-    return d_data->frameStyle;
-}
-
-/*!
-  Set the frame shadow
-
-  \param shadow Frame shadow
-  \sa frameShadow(), setFrameShape(), QFrame::setFrameShadow()
- */
-void QwtPlotGLCanvas::setFrameShadow( Shadow shadow )
-{
-    setFrameStyle(( d_data->frameStyle & QFrame::Shape_Mask ) | shadow );
-}
-
-/*!
-  \return Frame shadow
-  \sa setFrameShadow(), QFrame::setFrameShadow()
- */
-QwtPlotGLCanvas::Shadow QwtPlotGLCanvas::frameShadow() const
-{
-    return (Shadow) ( d_data->frameStyle & QFrame::Shadow_Mask );
-}
-
-/*!
-  Set the frame shape
-
-  \param shape Frame shape
-  \sa frameShape(), setFrameShadow(), QFrame::frameShape()
- */
-void QwtPlotGLCanvas::setFrameShape( Shape shape )
-{
-    setFrameStyle( ( d_data->frameStyle & QFrame::Shadow_Mask ) | shape );
-}
-
-/*!
-  \return Frame shape
-  \sa setFrameShape(), QFrame::frameShape()
- */
-QwtPlotGLCanvas::Shape QwtPlotGLCanvas::frameShape() const
-{
-    return (Shape) ( d_data->frameStyle & QFrame::Shape_Mask );
-}
-
-/*!
-   Set the frame line width
-
-   The default line width is 2 pixels.
-
-   \param width Line width of the frame
-   \sa lineWidth(), setMidLineWidth()
-*/
-void QwtPlotGLCanvas::setLineWidth( int width )
-{
-    width = qMax( width, 0 );
-    if ( width != d_data->lineWidth )
-    {
-        d_data->lineWidth = qMax( width, 0 );
-        qwtUpdateContentsRect( this );
-        update();
-    }
-}
-
-/*!
-  \return Line width of the frame
-  \sa setLineWidth(), midLineWidth()
- */
-int QwtPlotGLCanvas::lineWidth() const
-{
-    return d_data->lineWidth;
-}
-
-/*!
-   Set the frame mid line width
-
-   The default midline width is 0 pixels.
-
-   \param width Midline width of the frame
-   \sa midLineWidth(), setLineWidth()
-*/
-void QwtPlotGLCanvas::setMidLineWidth( int width )
-{
-    width = qMax( width, 0 );
-    if ( width != d_data->midLineWidth )
-    {
-        d_data->midLineWidth = width;
-        qwtUpdateContentsRect( this );
-        update();
-    }
-}
-
-/*!
-  \return Midline width of the frame
-  \sa setMidLineWidth(), lineWidth()
- */ 
-int QwtPlotGLCanvas::midLineWidth() const
-{
-    return d_data->midLineWidth;
-}
-
-/*!
-  \return Frame width depending on the style, line width and midline width.
- */
-int QwtPlotGLCanvas::frameWidth() const
-{
-    return ( frameStyle() != NoFrame ) ? d_data->lineWidth : 0;
-}
-
-/*!
-  Paint event
-
-  \param event Paint event
-  \sa QwtPlot::drawCanvas()
-*/
-void QwtPlotGLCanvas::paintEvent( QPaintEvent *event )
-{
-    Q_UNUSED( event );
-
-    QPainter painter( this );
-
-    drawBackground( &painter );
-    drawItems( &painter );
-
-    if ( !testAttribute( Qt::WA_StyledBackground ) )
-    {
-        if ( frameWidth() > 0 )
-            drawBorder( &painter );
-    }
-}
-/*!
-  Qt event handler for QEvent::PolishRequest and QEvent::StyleChange
-  \param event Qt Event
-  \return See QGLWidget::event()
-*/
-bool QwtPlotGLCanvas::event( QEvent *event )
-{
-    const bool ok = QGLWidget::event( event );
-
-    if ( event->type() == QEvent::PolishRequest ||
-        event->type() == QEvent::StyleChange )
-    {
-        // assuming, that we always have a styled background
-        // when we have a style sheet
-
-        setAttribute( Qt::WA_StyledBackground,
-            testAttribute( Qt::WA_StyleSheet ) );
-    }
-
-    return ok;
-}
-
-/*!
-  Draw the plot items
-  \param painter Painter
-
-  \sa QwtPlot::drawCanvas()
-*/  
-void QwtPlotGLCanvas::drawItems( QPainter *painter )
-{
-    painter->save();
-
-    painter->setClipRect( contentsRect(), Qt::IntersectClip );
-
-    QwtPlot *plot = qobject_cast< QwtPlot *>( parent() );
-    if ( plot )
-        plot->drawCanvas( painter );
-
-    painter->restore();
-}
-
-/*!
-  Draw the background of the canvas
-  \param painter Painter
-*/ 
-void QwtPlotGLCanvas::drawBackground( QPainter *painter )
-{
-    painter->save();
-
-    QWidget *w = qwtBGWidget( this );
-
-    const QPoint off = mapTo( w, QPoint() );
-    painter->translate( -off );
-
-    const QRect fillRect = rect().translated( off );
-
-    if ( w->testAttribute( Qt::WA_StyledBackground ) )
-    {
-        painter->setClipRect( fillRect );
-
-        QStyleOption opt;
-        opt.initFrom( w );
-        w->style()->drawPrimitive( QStyle::PE_Widget, &opt, painter, w);
-    }
-    else 
-    {
-        painter->fillRect( fillRect,
-            w->palette().brush( w->backgroundRole() ) );
-    }
-
-    painter->restore();
-}
-
-/*!
-  Draw the border of the canvas
-  \param painter Painter
-*/
-void QwtPlotGLCanvas::drawBorder( QPainter *painter )
-{
-    const int fw = frameWidth();
-    if ( fw <= 0 )
-        return;
-
-    if ( frameShadow() == QwtPlotGLCanvas::Plain )
-    {
-        qDrawPlainRect( painter, frameRect(), 
-            palette().shadow().color(), lineWidth() );
-    }
-    else
-    {
-        if ( frameShape() == QwtPlotGLCanvas::Box )
-        {
-            qDrawShadeRect( painter, frameRect(), palette(),
-                frameShadow() == Sunken, lineWidth(), midLineWidth() );
-        }
-        else
-        {
-            qDrawShadePanel( painter, frameRect(), palette(), 
-                frameShadow() == Sunken, lineWidth() );
-        }
-    }
-}
-
-//! Calls repaint()
-void QwtPlotGLCanvas::replot()
-{
-    repaint();
-}
-
-/*!
-   \return Empty path
-*/
-QPainterPath QwtPlotGLCanvas::borderPath( const QRect &rect ) const
-{
-    Q_UNUSED( rect );
-    return QPainterPath();
-}
-
-//! \return The rectangle where the frame is drawn in.
-QRect QwtPlotGLCanvas::frameRect() const
-{
-    const int fw = frameWidth();
-    return contentsRect().adjusted( -fw, -fw, fw, fw );
-}
diff --git a/SRC/Qwt/src/qwt_plot_glcanvas.h b/SRC/Qwt/src/qwt_plot_glcanvas.h
deleted file mode 100644
index c306cfb..0000000
--- a/SRC/Qwt/src/qwt_plot_glcanvas.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_GLCANVAS_H
-#define QWT_PLOT_GLCANVAS_H
-
-#include "qwt_global.h"
-#include <qframe.h>
-#include <qgl.h>
-
-class QwtPlot;
-
-/*!
-  \brief An alternative canvas for a QwtPlot derived from QGLWidget
-  
-  QwtPlotGLCanvas implements the very basics to act as canvas
-  inside of a QwtPlot widget. It might be extended to a full
-  featured alternative to QwtPlotCanvas in a future version of Qwt.
-
-  Even if QwtPlotGLCanvas is not derived from QFrame it imitates
-  its API. When using style sheets it supports the box model - beside
-  backgrounds with rounded borders.
-
-  \sa QwtPlot::setCanvas(), QwtPlotCanvas
-
-  \note You might want to use the QPaintEngine::OpenGL paint engine
-        ( see QGL::setPreferredPaintEngine() ). On a Linux test system 
-        QPaintEngine::OpenGL2 shows very basic problems ( wrong
-        geometries of rectangles ) but also more advanced stuff
-        like antialiasing doesn't work.
-
-  \note Another way to introduce OpenGL rendering to Qwt
-        is to use QGLPixelBuffer or QGLFramebufferObject. Both
-        type of buffers can be converted into a QImage and 
-        used in combination with a regular QwtPlotCanvas.
-*/
-class QWT_EXPORT QwtPlotGLCanvas: public QGLWidget
-{
-    Q_OBJECT
-
-    Q_ENUMS( Shape Shadow )
-
-    Q_PROPERTY( Shadow frameShadow READ frameShadow WRITE setFrameShadow )
-    Q_PROPERTY( Shape frameShape READ frameShape WRITE setFrameShape )
-    Q_PROPERTY( int lineWidth READ lineWidth WRITE setLineWidth )
-    Q_PROPERTY( int midLineWidth READ midLineWidth WRITE setMidLineWidth )
-    Q_PROPERTY( int frameWidth READ frameWidth )
-    Q_PROPERTY( QRect frameRect READ frameRect DESIGNABLE false )
-
-public:
-    /*!
-        \brief Frame shadow
-
-         Unfortunately it is not possible to use QFrame::Shadow
-         as a property of a widget that is not derived from QFrame.
-         The following enum is made for the designer only. It is safe
-         to use QFrame::Shadow instead.
-     */
-    enum Shadow
-    {
-        //! QFrame::Plain
-        Plain = QFrame::Plain,
-
-        //! QFrame::Raised
-        Raised = QFrame::Raised,
-
-        //! QFrame::Sunken
-        Sunken = QFrame::Sunken
-    };
-
-    /*!
-        \brief Frame shape
-
-        Unfortunately it is not possible to use QFrame::Shape
-        as a property of a widget that is not derived from QFrame.
-        The following enum is made for the designer only. It is safe
-        to use QFrame::Shadow instead.
-
-        \note QFrame::StyledPanel and QFrame::WinPanel are unsuported 
-              and will be displayed as QFrame::Panel.
-     */
-    enum Shape
-    {
-        NoFrame = QFrame::NoFrame,
-
-        Box = QFrame::Box,
-        Panel = QFrame::Panel
-    };
-
-    explicit QwtPlotGLCanvas( QwtPlot * = NULL );
-    virtual ~QwtPlotGLCanvas();
-
-    void setFrameStyle( int style );
-    int frameStyle() const;
-
-    void setFrameShadow( Shadow );
-    Shadow frameShadow() const;
-
-    void setFrameShape( Shape );
-    Shape frameShape() const;
-
-    void setLineWidth( int );
-    int lineWidth() const;
-
-    void setMidLineWidth( int );
-    int midLineWidth() const;
-
-    int frameWidth() const;
-    QRect frameRect() const;
-
-    Q_INVOKABLE QPainterPath borderPath( const QRect & ) const;
-
-    virtual bool event( QEvent * );
-
-public Q_SLOTS:
-    void replot();
-
-protected:
-    virtual void paintEvent( QPaintEvent * );
-
-    virtual void drawBackground( QPainter * );
-    virtual void drawBorder( QPainter * );
-    virtual void drawItems( QPainter * );
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_grid.cpp b/SRC/Qwt/src/qwt_plot_grid.cpp
deleted file mode 100644
index 31fb821..0000000
--- a/SRC/Qwt/src/qwt_plot_grid.cpp
+++ /dev/null
@@ -1,438 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_grid.h"
-#include "qwt_painter.h"
-#include "qwt_text.h"
-#include "qwt_scale_map.h"
-#include "qwt_scale_div.h"
-#include "qwt_math.h"
-#include <qpainter.h>
-#include <qpen.h>
-
-class QwtPlotGrid::PrivateData
-{
-public:
-    PrivateData():
-        xEnabled( true ),
-        yEnabled( true ),
-        xMinEnabled( false ),
-        yMinEnabled( false )
-    {
-    }
-
-    bool xEnabled;
-    bool yEnabled;
-    bool xMinEnabled;
-    bool yMinEnabled;
-
-    QwtScaleDiv xScaleDiv;
-    QwtScaleDiv yScaleDiv;
-
-    QPen majorPen;
-    QPen minorPen;
-};
-
-//! Enables major grid, disables minor grid
-QwtPlotGrid::QwtPlotGrid():
-    QwtPlotItem( QwtText( "Grid" ) )
-{
-    d_data = new PrivateData;
-
-    setItemInterest( QwtPlotItem::ScaleInterest, true );
-    setZ( 10.0 );
-}
-
-//! Destructor
-QwtPlotGrid::~QwtPlotGrid()
-{
-    delete d_data;
-}
-
-//! \return QwtPlotItem::Rtti_PlotGrid
-int QwtPlotGrid::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotGrid;
-}
-
-/*!
-  \brief Enable or disable vertical grid lines
-  \param on Enable (true) or disable
-
-  \sa Minor grid lines can be enabled or disabled with
-      enableXMin()
-*/
-void QwtPlotGrid::enableX( bool on )
-{
-    if ( d_data->xEnabled != on )
-    {
-        d_data->xEnabled = on;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \brief Enable or disable horizontal grid lines
-  \param on Enable (true) or disable
-  \sa Minor grid lines can be enabled or disabled with enableYMin()
-*/
-void QwtPlotGrid::enableY( bool on )
-{
-    if ( d_data->yEnabled != on )
-    {
-        d_data->yEnabled = on;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \brief Enable or disable  minor vertical grid lines.
-  \param on Enable (true) or disable
-  \sa enableX()
-*/
-void QwtPlotGrid::enableXMin( bool on )
-{
-    if ( d_data->xMinEnabled != on )
-    {
-        d_data->xMinEnabled = on;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \brief Enable or disable minor horizontal grid lines
-  \param on Enable (true) or disable
-  \sa enableY()
-*/
-void QwtPlotGrid::enableYMin( bool on )
-{
-    if ( d_data->yMinEnabled != on )
-    {
-        d_data->yMinEnabled = on;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  Assign an x axis scale division
-
-  \param scaleDiv Scale division
-*/
-void QwtPlotGrid::setXDiv( const QwtScaleDiv &scaleDiv )
-{
-    if ( d_data->xScaleDiv != scaleDiv )
-    {
-        d_data->xScaleDiv = scaleDiv;
-        itemChanged();
-    }
-}
-
-/*!
-  Assign a y axis division
-
-  \param scaleDiv Scale division
-*/
-void QwtPlotGrid::setYDiv( const QwtScaleDiv &scaleDiv )
-{
-    if ( d_data->yScaleDiv != scaleDiv )
-    {
-        d_data->yScaleDiv = scaleDiv;
-        itemChanged();
-    }
-}
-
-/*!
-  Build and assign a pen for both major and minor grid lines
-
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it
-  non cosmetic ( see QPen::isCosmetic() ). This method has been introduced
-  to hide this incompatibility.
-
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-
-  \sa pen(), brush()
- */
-void QwtPlotGrid::setPen( const QColor &color, qreal width, Qt::PenStyle style )
-{
-    setPen( QPen( color, width, style ) );
-}
-
-/*!
-  Assign a pen for both major and minor grid lines
-
-  \param pen Pen
-  \sa setMajorPen(), setMinorPen()
-*/
-void QwtPlotGrid::setPen( const QPen &pen )
-{
-    if ( d_data->majorPen != pen || d_data->minorPen != pen )
-    {
-        d_data->majorPen = pen;
-        d_data->minorPen = pen;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  Build and assign a pen for both major grid lines
-
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it
-  non cosmetic ( see QPen::isCosmetic() ). This method has been introduced
-  to hide this incompatibility.
-
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-
-  \sa pen(), brush()
- */
-void QwtPlotGrid::setMajorPen( const QColor &color, qreal width, Qt::PenStyle style )
-{
-    setMajorPen( QPen( color, width, style ) );
-}
-
-/*!
-  Assign a pen for the major grid lines
-
-  \param pen Pen
-  \sa majorPen(), setMinorPen(), setPen()
-*/
-void QwtPlotGrid::setMajorPen( const QPen &pen )
-{
-    if ( d_data->majorPen != pen )
-    {
-        d_data->majorPen = pen;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  Build and assign a pen for the minor grid lines
-
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it
-  non cosmetic ( see QPen::isCosmetic() ). This method has been introduced
-  to hide this incompatibility.
-
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-
-  \sa pen(), brush()
- */
-void QwtPlotGrid::setMinorPen( const QColor &color, qreal width, Qt::PenStyle style )
-{
-    setMinorPen( QPen( color, width, style ) );
-}
-
-/*!
-  Assign a pen for the minor grid lines
-
-  \param pen Pen
-  \sa minorPen(), setMajorPen(), setPen()
-*/
-void QwtPlotGrid::setMinorPen( const QPen &pen )
-{
-    if ( d_data->minorPen != pen )
-    {
-        d_data->minorPen = pen;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \brief Draw the grid
-
-  The grid is drawn into the bounding rectangle such that
-  grid lines begin and end at the rectangle's borders. The X and Y
-  maps are used to map the scale divisions into the drawing region
-  screen.
-
-  \param painter  Painter
-  \param xMap X axis map
-  \param yMap Y axis
-  \param canvasRect Contents rectangle of the plot canvas
-*/
-void QwtPlotGrid::draw( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect ) const
-{
-    //  draw minor grid lines
-    QPen minorPen = d_data->minorPen;
-    minorPen.setCapStyle( Qt::FlatCap );
-
-    painter->setPen( minorPen );
-
-    if ( d_data->xEnabled && d_data->xMinEnabled )
-    {
-        drawLines( painter, canvasRect, Qt::Vertical, xMap,
-            d_data->xScaleDiv.ticks( QwtScaleDiv::MinorTick ) );
-        drawLines( painter, canvasRect, Qt::Vertical, xMap,
-            d_data->xScaleDiv.ticks( QwtScaleDiv::MediumTick ) );
-    }
-
-    if ( d_data->yEnabled && d_data->yMinEnabled )
-    {
-        drawLines( painter, canvasRect, Qt::Horizontal, yMap,
-            d_data->yScaleDiv.ticks( QwtScaleDiv::MinorTick ) );
-        drawLines( painter, canvasRect, Qt::Horizontal, yMap,
-            d_data->yScaleDiv.ticks( QwtScaleDiv::MediumTick ) );
-    }
-
-    //  draw major grid lines
-    QPen majorPen = d_data->majorPen;
-    majorPen.setCapStyle( Qt::FlatCap );
-
-    painter->setPen( majorPen );
-
-    if ( d_data->xEnabled )
-    {
-        drawLines( painter, canvasRect, Qt::Vertical, xMap,
-            d_data->xScaleDiv.ticks( QwtScaleDiv::MajorTick ) );
-    }
-
-    if ( d_data->yEnabled )
-    {
-        drawLines( painter, canvasRect, Qt::Horizontal, yMap,
-            d_data->yScaleDiv.ticks( QwtScaleDiv::MajorTick ) );
-    }
-}
-
-void QwtPlotGrid::drawLines( QPainter *painter, const QRectF &canvasRect,
-    Qt::Orientation orientation, const QwtScaleMap &scaleMap,
-    const QList<double> &values ) const
-{
-    const double x1 = canvasRect.left();
-    const double x2 = canvasRect.right() - 1.0;
-    const double y1 = canvasRect.top();
-    const double y2 = canvasRect.bottom() - 1.0;
-
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    for ( int i = 0; i < values.count(); i++ )
-    {
-        double value = scaleMap.transform( values[i] );
-        if ( doAlign )
-            value = qRound( value );
-
-        if ( orientation == Qt::Horizontal )
-        {
-            if ( qwtFuzzyGreaterOrEqual( value, y1 ) &&
-                qwtFuzzyLessOrEqual( value, y2 ) )
-            {
-                QwtPainter::drawLine( painter, x1, value, x2, value );
-            }
-        }
-        else
-        {
-            if ( qwtFuzzyGreaterOrEqual( value, x1 ) &&
-                qwtFuzzyLessOrEqual( value, x2 ) )
-            {
-                QwtPainter::drawLine( painter, value, y1, value, y2 );
-            }
-        }
-    }
-}
-
-/*!
-  \return the pen for the major grid lines
-  \sa setMajorPen(), setMinorPen(), setPen()
-*/
-const QPen &QwtPlotGrid::majorPen() const
-{
-    return d_data->majorPen;
-}
-
-/*!
-  \return the pen for the minor grid lines
-  \sa setMinorPen(), setMajorPen(), setPen()
-*/
-const QPen &QwtPlotGrid::minorPen() const
-{
-    return d_data->minorPen;
-}
-
-/*!
-  \return true if vertical grid lines are enabled
-  \sa enableX()
-*/
-bool QwtPlotGrid::xEnabled() const
-{
-    return d_data->xEnabled;
-}
-
-/*!
-  \return true if minor vertical grid lines are enabled
-  \sa enableXMin()
-*/
-bool QwtPlotGrid::xMinEnabled() const
-{
-    return d_data->xMinEnabled;
-}
-
-/*!
-  \return true if horizontal grid lines are enabled
-  \sa enableY()
-*/
-bool QwtPlotGrid::yEnabled() const
-{
-    return d_data->yEnabled;
-}
-
-/*!
-  \return true if minor horizontal grid lines are enabled
-  \sa enableYMin()
-*/
-bool QwtPlotGrid::yMinEnabled() const
-{
-    return d_data->yMinEnabled;
-}
-
-
-/*! \return the scale division of the x axis */
-const QwtScaleDiv &QwtPlotGrid::xScaleDiv() const
-{
-    return d_data->xScaleDiv;
-}
-
-/*! \return the scale division of the y axis */
-const QwtScaleDiv &QwtPlotGrid::yScaleDiv() const
-{
-    return d_data->yScaleDiv;
-}
-
-/*!
-   Update the grid to changes of the axes scale division
-
-   \param xScaleDiv Scale division of the x-axis
-   \param yScaleDiv Scale division of the y-axis
-
-   \sa QwtPlot::updateAxes()
-*/
-void QwtPlotGrid::updateScaleDiv( const QwtScaleDiv& xScaleDiv,
-    const QwtScaleDiv& yScaleDiv )
-{
-    setXDiv( xScaleDiv );
-    setYDiv( yScaleDiv );
-}
diff --git a/SRC/Qwt/src/qwt_plot_grid.h b/SRC/Qwt/src/qwt_plot_grid.h
deleted file mode 100644
index 50c343a..0000000
--- a/SRC/Qwt/src/qwt_plot_grid.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_GRID_H
-#define QWT_PLOT_GRID_H
-
-#include "qwt_global.h"
-#include "qwt_plot_item.h"
-#include "qwt_scale_div.h"
-
-class QPainter;
-class QPen;
-class QwtScaleMap;
-class QwtScaleDiv;
-
-/*!
-  \brief A class which draws a coordinate grid
-
-  The QwtPlotGrid class can be used to draw a coordinate grid.
-  A coordinate grid consists of major and minor vertical
-  and horizontal grid lines. The locations of the grid lines
-  are determined by the X and Y scale divisions which can
-  be assigned with setXDiv() and setYDiv().
-  The draw() member draws the grid within a bounding
-  rectangle.
-*/
-
-class QWT_EXPORT QwtPlotGrid: public QwtPlotItem
-{
-public:
-    explicit QwtPlotGrid();
-    virtual ~QwtPlotGrid();
-
-    virtual int rtti() const;
-
-    void enableX( bool tf );
-    bool xEnabled() const;
-
-    void enableY( bool tf );
-    bool yEnabled() const;
-
-    void enableXMin( bool tf );
-    bool xMinEnabled() const;
-
-    void enableYMin( bool tf );
-    bool yMinEnabled() const;
-
-    void setXDiv( const QwtScaleDiv &sx );
-    const QwtScaleDiv &xScaleDiv() const;
-
-    void setYDiv( const QwtScaleDiv &sy );
-    const QwtScaleDiv &yScaleDiv() const;
-
-    void setPen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setPen( const QPen & );
-
-    void setMajorPen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setMajorPen( const QPen & );
-    const QPen& majorPen() const;
-
-    void setMinorPen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setMinorPen( const QPen &p );
-    const QPen& minorPen() const;
-
-    virtual void draw( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &rect ) const;
-
-    virtual void updateScaleDiv( 
-        const QwtScaleDiv &xMap, const QwtScaleDiv &yMap );
-
-private:
-    void drawLines( QPainter *painter, const QRectF &,
-        Qt::Orientation orientation, const QwtScaleMap &,
-        const QList<double> & ) const;
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_histogram.cpp b/SRC/Qwt/src/qwt_plot_histogram.cpp
deleted file mode 100644
index fd4a9d8..0000000
--- a/SRC/Qwt/src/qwt_plot_histogram.cpp
+++ /dev/null
@@ -1,690 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_histogram.h"
-#include "qwt_plot.h"
-#include "qwt_painter.h"
-#include "qwt_column_symbol.h"
-#include "qwt_scale_map.h"
-#include <qstring.h>
-#include <qpainter.h>
-
-static inline bool qwtIsCombinable( const QwtInterval &d1,
-    const QwtInterval &d2 )
-{
-    if ( d1.isValid() && d2.isValid() )
-    {
-        if ( d1.maxValue() == d2.minValue() )
-        {
-            if ( !( d1.borderFlags() & QwtInterval::ExcludeMaximum
-                && d2.borderFlags() & QwtInterval::ExcludeMinimum ) )
-            {
-                return true;
-            }
-        }
-    }
-
-    return false;
-}
-
-class QwtPlotHistogram::PrivateData
-{
-public:
-    PrivateData():
-        baseline( 0.0 ),
-        style( Columns ),
-        symbol( NULL )
-    {
-    }
-
-    ~PrivateData()
-    {
-        delete symbol;
-    }
-
-    double baseline;
-
-    QPen pen;
-    QBrush brush;
-    QwtPlotHistogram::HistogramStyle style;
-    const QwtColumnSymbol *symbol;
-};
-
-/*!
-  Constructor
-  \param title Title of the histogram.
-*/
-QwtPlotHistogram::QwtPlotHistogram( const QwtText &title ):
-    QwtPlotSeriesItem( title )
-{
-    init();
-}
-
-/*!
-  Constructor
-  \param title Title of the histogram.
-*/
-QwtPlotHistogram::QwtPlotHistogram( const QString &title ):
-    QwtPlotSeriesItem( title )
-{
-    init();
-}
-
-//! Destructor
-QwtPlotHistogram::~QwtPlotHistogram()
-{
-    delete d_data;
-}
-
-//! Initialize data members
-void QwtPlotHistogram::init()
-{
-    d_data = new PrivateData();
-    setData( new QwtIntervalSeriesData() );
-
-    setItemAttribute( QwtPlotItem::AutoScale, true );
-    setItemAttribute( QwtPlotItem::Legend, true );
-
-    setZ( 20.0 );
-}
-
-/*!
-  Set the histogram's drawing style
-
-  \param style Histogram style
-  \sa HistogramStyle, style()
-*/
-void QwtPlotHistogram::setStyle( HistogramStyle style )
-{
-    if ( style != d_data->style )
-    {
-        d_data->style = style;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-    \return Style of the histogram
-    \sa HistogramStyle, setStyle()
-*/
-QwtPlotHistogram::HistogramStyle QwtPlotHistogram::style() const
-{
-    return d_data->style;
-}
-
-/*!
-  Build and assign a pen
-    
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it
-  non cosmetic ( see QPen::isCosmetic() ). This method has been introduced
-  to hide this incompatibility.
-    
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-    
-  \sa pen(), brush()
- */
-void QwtPlotHistogram::setPen( const QColor &color, qreal width, Qt::PenStyle style )
-{   
-    setPen( QPen( color, width, style ) );
-}   
-
-/*!
-  Assign a pen, that is used in a style() depending way.
-
-  \param pen New pen
-  \sa pen(), brush()
-*/
-void QwtPlotHistogram::setPen( const QPen &pen )
-{
-    if ( pen != d_data->pen )
-    {
-        d_data->pen = pen;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Pen used in a style() depending way.
-  \sa setPen(), brush()
-*/
-const QPen &QwtPlotHistogram::pen() const
-{
-    return d_data->pen;
-}
-
-/*!
-  Assign a brush, that is used in a style() depending way.
-
-  \param brush New brush
-  \sa pen(), brush()
-*/
-void QwtPlotHistogram::setBrush( const QBrush &brush )
-{
-    if ( brush != d_data->brush )
-    {
-        d_data->brush = brush;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Brush used in a style() depending way.
-  \sa setPen(), brush()
-*/
-const QBrush &QwtPlotHistogram::brush() const
-{
-    return d_data->brush;
-}
-
-/*!
-  \brief Assign a symbol
-
-  In Column style an optional symbol can be assigned, that is responsible
-  for displaying the rectangle that is defined by the interval and
-  the distance between baseline() and value. When no symbol has been
-  defined the area is displayed as plain rectangle using pen() and brush().
-
-  \sa style(), symbol(), drawColumn(), pen(), brush()
-
-  \note In applications, where different intervals need to be displayed
-        in a different way ( f.e different colors or even using different symbols)
-        it is recommended to overload drawColumn().
-*/
-void QwtPlotHistogram::setSymbol( const QwtColumnSymbol *symbol )
-{
-    if ( symbol != d_data->symbol )
-    {
-        delete d_data->symbol;
-        d_data->symbol = symbol;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Current symbol or NULL, when no symbol has been assigned
-  \sa setSymbol()
-*/
-const QwtColumnSymbol *QwtPlotHistogram::symbol() const
-{
-    return d_data->symbol;
-}
-
-/*!
-  \brief Set the value of the baseline
-
-  Each column representing an QwtIntervalSample is defined by its
-  interval and the interval between baseline and the value of the sample.
-
-  The default value of the baseline is 0.0.
-
-  \param value Value of the baseline
-  \sa baseline()
-*/
-void QwtPlotHistogram::setBaseline( double value )
-{
-    if ( d_data->baseline != value )
-    {
-        d_data->baseline = value;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Value of the baseline
-  \sa setBaseline()
-*/
-double QwtPlotHistogram::baseline() const
-{
-    return d_data->baseline;
-}
-
-/*!
-  \return Bounding rectangle of all samples.
-  For an empty series the rectangle is invalid.
-*/
-QRectF QwtPlotHistogram::boundingRect() const
-{
-    QRectF rect = data()->boundingRect();
-    if ( !rect.isValid() )
-        return rect;
-
-    if ( orientation() == Qt::Horizontal )
-    {
-        rect = QRectF( rect.y(), rect.x(),
-            rect.height(), rect.width() );
-
-        if ( rect.left() > d_data->baseline )
-            rect.setLeft( d_data->baseline );
-        else if ( rect.right() < d_data->baseline )
-            rect.setRight( d_data->baseline );
-    }
-    else
-    {
-        if ( rect.bottom() < d_data->baseline )
-            rect.setBottom( d_data->baseline );
-        else if ( rect.top() > d_data->baseline )
-            rect.setTop( d_data->baseline );
-    }
-
-    return rect;
-}
-
-//! \return QwtPlotItem::Rtti_PlotHistogram
-int QwtPlotHistogram::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotHistogram;
-}
-
-/*!
-  Initialize data with an array of samples.
-  \param samples Vector of points
-*/
-void QwtPlotHistogram::setSamples(
-    const QVector<QwtIntervalSample> &samples )
-{
-    setData( new QwtIntervalSeriesData( samples ) );
-}
-
-/*!
-  Assign a series of samples
-    
-  setSamples() is just a wrapper for setData() without any additional
-  value - beside that it is easier to find for the developer.
-    
-  \param data Data
-  \warning The item takes ownership of the data object, deleting
-           it when its not used anymore.
-*/
-void QwtPlotHistogram::setSamples( 
-    QwtSeriesData<QwtIntervalSample> *data )
-{
-    setData( data );
-}
-
-/*!
-  Draw a subset of the histogram samples
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param canvasRect Contents rectangle of the canvas
-  \param from Index of the first sample to be painted
-  \param to Index of the last sample to be painted. If to < 0 the
-         series will be painted to its last sample.
-
-  \sa drawOutline(), drawLines(), drawColumns
-*/
-void QwtPlotHistogram::drawSeries( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &, int from, int to ) const
-{
-    if ( !painter || dataSize() <= 0 )
-        return;
-
-    if ( to < 0 )
-        to = dataSize() - 1;
-
-    switch ( d_data->style )
-    {
-        case Outline:
-            drawOutline( painter, xMap, yMap, from, to );
-            break;
-        case Lines:
-            drawLines( painter, xMap, yMap, from, to );
-            break;
-        case Columns:
-            drawColumns( painter, xMap, yMap, from, to );
-            break;
-        default:
-            break;
-    }
-}
-
-/*!
-  Draw a histogram in Outline style()
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param from Index of the first sample to be painted
-  \param to Index of the last sample to be painted. If to < 0 the
-         histogram will be painted to its last point.
-
-  \sa setStyle(), style()
-  \warning The outline style requires, that the intervals are in increasing
-           order and not overlapping.
-*/
-void QwtPlotHistogram::drawOutline( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    int from, int to ) const
-{
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    double v0 = ( orientation() == Qt::Horizontal ) ?
-        xMap.transform( baseline() ) : yMap.transform( baseline() );
-    if ( doAlign )
-        v0 = qRound( v0 );
-
-    QwtIntervalSample previous;
-
-    QPolygonF polygon;
-    for ( int i = from; i <= to; i++ )
-    {
-        const QwtIntervalSample sample = this->sample( i );
-
-        if ( !sample.interval.isValid() )
-        {
-            flushPolygon( painter, v0, polygon );
-            previous = sample;
-            continue;
-        }
-
-        if ( previous.interval.isValid() )
-        {
-            if ( !qwtIsCombinable( previous.interval, sample.interval ) )
-                flushPolygon( painter, v0, polygon );
-        }
-
-        if ( orientation() == Qt::Vertical )
-        {
-            double x1 = xMap.transform( sample.interval.minValue() );
-            double x2 = xMap.transform( sample.interval.maxValue() );
-            double y = yMap.transform( sample.value );
-            if ( doAlign )
-            {
-                x1 = qRound( x1 );
-                x2 = qRound( x2 );
-                y = qRound( y );
-            }
-
-            if ( polygon.size() == 0 )
-                polygon += QPointF( x1, v0 );
-
-            polygon += QPointF( x1, y );
-            polygon += QPointF( x2, y );
-        }
-        else
-        {
-            double y1 = yMap.transform( sample.interval.minValue() );
-            double y2 = yMap.transform( sample.interval.maxValue() );
-            double x = xMap.transform( sample.value );
-            if ( doAlign )
-            {
-                y1 = qRound( y1 );
-                y2 = qRound( y2 );
-                x = qRound( x );
-            }
-
-            if ( polygon.size() == 0 )
-                polygon += QPointF( v0, y1 );
-
-            polygon += QPointF( x, y1 );
-            polygon += QPointF( x, y2 );
-        }
-        previous = sample;
-    }
-
-    flushPolygon( painter, v0, polygon );
-}
-
-/*!
-  Draw a histogram in Columns style()
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param from Index of the first sample to be painted
-  \param to Index of the last sample to be painted. If to < 0 the
-         histogram will be painted to its last point.
-
-  \sa setStyle(), style(), setSymbol(), drawColumn()
-*/
-void QwtPlotHistogram::drawColumns( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    int from, int to ) const
-{
-    painter->setPen( d_data->pen );
-    painter->setBrush( d_data->brush );
-
-    const QwtSeriesData<QwtIntervalSample> *series = data();
-
-    for ( int i = from; i <= to; i++ )
-    {
-        const QwtIntervalSample sample = series->sample( i );
-        if ( !sample.interval.isNull() )
-        {
-            const QwtColumnRect rect = columnRect( sample, xMap, yMap );
-            drawColumn( painter, rect, sample );
-        }
-    }
-}
-
-/*!
-  Draw a histogram in Lines style()
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param from Index of the first sample to be painted
-  \param to Index of the last sample to be painted. If to < 0 the
-         histogram will be painted to its last point.
-
-  \sa setStyle(), style(), setPen()
-*/
-void QwtPlotHistogram::drawLines( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    int from, int to ) const
-{
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    painter->setPen( d_data->pen );
-    painter->setBrush( Qt::NoBrush );
-
-    const QwtSeriesData<QwtIntervalSample> *series = data();
-
-    for ( int i = from; i <= to; i++ )
-    {
-        const QwtIntervalSample sample = series->sample( i );
-        if ( !sample.interval.isNull() )
-        {
-            const QwtColumnRect rect = columnRect( sample, xMap, yMap );
-
-            QRectF r = rect.toRect();
-            if ( doAlign )
-            {
-                r.setLeft( qRound( r.left() ) );
-                r.setRight( qRound( r.right() ) );
-                r.setTop( qRound( r.top() ) );
-                r.setBottom( qRound( r.bottom() ) );
-            }
-
-            switch ( rect.direction )
-            {
-                case QwtColumnRect::LeftToRight:
-                {
-                    QwtPainter::drawLine( painter,
-                        r.topRight(), r.bottomRight() );
-                    break;
-                }
-                case QwtColumnRect::RightToLeft:
-                {
-                    QwtPainter::drawLine( painter,
-                        r.topLeft(), r.bottomLeft() );
-                    break;
-                }
-                case QwtColumnRect::TopToBottom:
-                {
-                    QwtPainter::drawLine( painter,
-                        r.bottomRight(), r.bottomLeft() );
-                    break;
-                }
-                case QwtColumnRect::BottomToTop:
-                {
-                    QwtPainter::drawLine( painter,
-                        r.topRight(), r.topLeft() );
-                    break;
-                }
-            }
-        }
-    }
-}
-
-//! Internal, used by the Outline style.
-void QwtPlotHistogram::flushPolygon( QPainter *painter,
-    double baseLine, QPolygonF &polygon ) const
-{
-    if ( polygon.size() == 0 )
-        return;
-
-    if ( orientation() == Qt::Horizontal )
-        polygon += QPointF( baseLine, polygon.last().y() );
-    else
-        polygon += QPointF( polygon.last().x(), baseLine );
-
-    if ( d_data->brush.style() != Qt::NoBrush )
-    {
-        painter->setPen( Qt::NoPen );
-        painter->setBrush( d_data->brush );
-
-        if ( orientation() == Qt::Horizontal )
-        {
-            polygon += QPointF( polygon.last().x(), baseLine );
-            polygon += QPointF( polygon.first().x(), baseLine );
-        }
-        else
-        {
-            polygon += QPointF( baseLine, polygon.last().y() );
-            polygon += QPointF( baseLine, polygon.first().y() );
-        }
-
-        QwtPainter::drawPolygon( painter, polygon );
-
-        polygon.pop_back();
-        polygon.pop_back();
-    }
-    if ( d_data->pen.style() != Qt::NoPen )
-    {
-        painter->setBrush( Qt::NoBrush );
-        painter->setPen( d_data->pen );
-        QwtPainter::drawPolyline( painter, polygon );
-    }
-    polygon.clear();
-}
-
-/*!
-  Calculate the area that is covered by a sample
-
-  \param sample Sample
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-
-  \return Rectangle, that is covered by a sample
-*/
-QwtColumnRect QwtPlotHistogram::columnRect( const QwtIntervalSample &sample,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap ) const
-{
-    QwtColumnRect rect;
-
-    const QwtInterval &iv = sample.interval;
-    if ( !iv.isValid() )
-        return rect;
-
-    if ( orientation() == Qt::Horizontal )
-    {
-        const double x0 = xMap.transform( baseline() );
-        const double x  = xMap.transform( sample.value );
-        const double y1 = yMap.transform( iv.minValue() );
-        const double y2 = yMap.transform( iv.maxValue() );
-
-        rect.hInterval.setInterval( x0, x );
-        rect.vInterval.setInterval( y1, y2, iv.borderFlags() );
-        rect.direction = ( x < x0 ) ? QwtColumnRect::RightToLeft :
-                         QwtColumnRect::LeftToRight;
-    }
-    else
-    {
-        const double x1 = xMap.transform( iv.minValue() );
-        const double x2 = xMap.transform( iv.maxValue() );
-        const double y0 = yMap.transform( baseline() );
-        const double y = yMap.transform( sample.value );
-
-        rect.hInterval.setInterval( x1, x2, iv.borderFlags() );
-        rect.vInterval.setInterval( y0, y );
-        rect.direction = ( y < y0 ) ? QwtColumnRect::BottomToTop :
-            QwtColumnRect::TopToBottom;
-    }
-
-    return rect;
-}
-
-/*!
-  Draw a column for a sample in Columns style().
-
-  When a symbol() has been set the symbol is used otherwise the
-  column is displayed as plain rectangle using pen() and brush().
-
-  \param painter Painter
-  \param rect Rectangle where to paint the column in paint device coordinates
-  \param sample Sample to be displayed
-
-  \note In applications, where different intervals need to be displayed
-        in a different way ( f.e different colors or even using different symbols)
-        it is recommended to overload drawColumn().
-*/
-void QwtPlotHistogram::drawColumn( QPainter *painter,
-    const QwtColumnRect &rect, const QwtIntervalSample &sample ) const
-{
-    Q_UNUSED( sample );
-
-    if ( d_data->symbol &&
-        ( d_data->symbol->style() != QwtColumnSymbol::NoStyle ) )
-    {
-        d_data->symbol->draw( painter, rect );
-    }
-    else
-    {
-        QRectF r = rect.toRect();
-        if ( QwtPainter::roundingAlignment( painter ) )
-        {
-            r.setLeft( qRound( r.left() ) );
-            r.setRight( qRound( r.right() ) );
-            r.setTop( qRound( r.top() ) );
-            r.setBottom( qRound( r.bottom() ) );
-        }
-
-        QwtPainter::drawRect( painter, r );
-    }
-}
-
-/*!
-  A plain rectangle without pen using the brush()
-
-  \param index Index of the legend entry 
-                ( ignored as there is only one )
-  \param size Icon size
-  \return A graphic displaying the icon
-    
-  \sa QwtPlotItem::setLegendIconSize(), QwtPlotItem::legendData()
-*/
-QwtGraphic QwtPlotHistogram::legendIcon( int index,
-    const QSizeF &size ) const
-{
-    Q_UNUSED( index );
-    return defaultIcon( d_data->brush, size );
-}
diff --git a/SRC/Qwt/src/qwt_plot_histogram.h b/SRC/Qwt/src/qwt_plot_histogram.h
deleted file mode 100644
index a000d58..0000000
--- a/SRC/Qwt/src/qwt_plot_histogram.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_HISTOGRAM_H
-#define QWT_PLOT_HISTOGRAM_H
-
-#include "qwt_global.h"
-#include "qwt_plot_seriesitem.h"
-#include "qwt_column_symbol.h"
-#include <qcolor.h>
-#include <qvector.h>
-
-class QwtIntervalData;
-class QString;
-class QPolygonF;
-
-/*!
-  \brief QwtPlotHistogram represents a series of samples, where an interval
-         is associated with a value ( \f$y = f([x1,x2])\f$ ).
-
-  The representation depends on the style() and an optional symbol()
-  that is displayed for each interval.
-
-  \note The term "histogram" is used in a different way in the areas of
-        digital image processing and statistics. Wikipedia introduces the
-        terms "image histogram" and "color histogram" to avoid confusions.
-        While "image histograms" can be displayed by a QwtPlotCurve there
-        is no applicable plot item for a "color histogram" yet.
-
-  \sa QwtPlotBarChart, QwtPlotMultiBarChart
-*/
-
-class QWT_EXPORT QwtPlotHistogram: 
-    public QwtPlotSeriesItem, public QwtSeriesStore<QwtIntervalSample>
-{
-public:
-    /*!
-        Histogram styles.
-        The default style is QwtPlotHistogram::Columns.
-
-        \sa setStyle(), style(), setSymbol(), symbol(), setBaseline()
-    */
-    enum HistogramStyle
-    {
-        /*!
-           Draw an outline around the area, that is build by all intervals
-           using the pen() and fill it with the brush(). The outline style
-           requires, that the intervals are in increasing order and
-           not overlapping.
-         */
-        Outline,
-
-        /*!
-           Draw a column for each interval. When a symbol() has been set
-           the symbol is used otherwise the column is displayed as 
-           plain rectangle using pen() and brush().
-         */
-        Columns,
-
-        /*!
-           Draw a simple line using the pen() for each interval.
-         */
-        Lines,
-
-        /*!
-           Styles >= UserStyle are reserved for derived
-           classes that overload drawSeries() with
-           additional application specific ways to display a histogram.
-         */
-        UserStyle = 100
-    };
-
-    explicit QwtPlotHistogram( const QString &title = QString::null );
-    explicit QwtPlotHistogram( const QwtText &title );
-    virtual ~QwtPlotHistogram();
-
-    virtual int rtti() const;
-
-    void setPen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setPen( const QPen & );
-    const QPen &pen() const;
-
-    void setBrush( const QBrush & );
-    const QBrush &brush() const;
-
-    void setSamples( const QVector<QwtIntervalSample> & );
-    void setSamples( QwtSeriesData<QwtIntervalSample> * );
-
-    void setBaseline( double reference );
-    double baseline() const;
-
-    void setStyle( HistogramStyle style );
-    HistogramStyle style() const;
-
-    void setSymbol( const QwtColumnSymbol * );
-    const QwtColumnSymbol *symbol() const;
-
-    virtual void drawSeries( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual QRectF boundingRect() const;
-
-    virtual QwtGraphic legendIcon( int index, const QSizeF & ) const;
-
-protected:
-    virtual QwtColumnRect columnRect( const QwtIntervalSample &,
-        const QwtScaleMap &, const QwtScaleMap & ) const;
-
-    virtual void drawColumn( QPainter *, const QwtColumnRect &,
-        const QwtIntervalSample & ) const;
-
-    void drawColumns( QPainter *,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        int from, int to ) const;
-
-    void drawOutline( QPainter *,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        int from, int to ) const;
-
-    void drawLines( QPainter *,
-         const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-         int from, int to ) const;
-
-private:
-    void init();
-    void flushPolygon( QPainter *, double baseLine, QPolygonF & ) const;
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_intervalcurve.cpp b/SRC/Qwt/src/qwt_plot_intervalcurve.cpp
deleted file mode 100644
index 3b06a66..0000000
--- a/SRC/Qwt/src/qwt_plot_intervalcurve.cpp
+++ /dev/null
@@ -1,603 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_intervalcurve.h"
-#include "qwt_interval_symbol.h"
-#include "qwt_scale_map.h"
-#include "qwt_clipper.h"
-#include "qwt_painter.h"
-#include <string.h>
-
-#include <qpainter.h>
-
-static inline bool qwtIsHSampleInside( const QwtIntervalSample &sample,
-    double xMin, double xMax, double yMin, double yMax )
-{
-    const double y = sample.value;
-    const double x1 = sample.interval.minValue();
-    const double x2 = sample.interval.maxValue();
-
-    const bool isOffScreen = ( y < yMin ) || ( y > yMax )
-        || ( x1 < xMin && x2 < xMin ) || ( x1 > xMax && x2 > xMax );
-
-    return !isOffScreen;
-}
-
-static inline bool qwtIsVSampleInside( const QwtIntervalSample &sample,
-    double xMin, double xMax, double yMin, double yMax )
-{
-    const double x = sample.value;
-    const double y1 = sample.interval.minValue();
-    const double y2 = sample.interval.maxValue();
-
-    const bool isOffScreen = ( x < xMin ) || ( x > xMax )
-        || ( y1 < yMin && y2 < yMin ) || ( y1 > yMax && y2 > yMax );
-
-    return !isOffScreen;
-}
-
-class QwtPlotIntervalCurve::PrivateData
-{
-public:
-    PrivateData():
-        style( QwtPlotIntervalCurve::Tube ),
-        symbol( NULL ),
-        pen( Qt::black ),
-        brush( Qt::white )
-    {
-        paintAttributes = QwtPlotIntervalCurve::ClipPolygons;
-        paintAttributes |= QwtPlotIntervalCurve::ClipSymbol;
-
-        pen.setCapStyle( Qt::FlatCap );
-    }
-
-    ~PrivateData()
-    {
-        delete symbol;
-    }
-
-    QwtPlotIntervalCurve::CurveStyle style;
-    const QwtIntervalSymbol *symbol;
-
-    QPen pen;
-    QBrush brush;
-
-    QwtPlotIntervalCurve::PaintAttributes paintAttributes;
-};
-
-/*!
-  Constructor
-  \param title Title of the curve
-*/
-QwtPlotIntervalCurve::QwtPlotIntervalCurve( const QwtText &title ):
-    QwtPlotSeriesItem( title )
-{
-    init();
-}
-
-/*!
-  Constructor
-  \param title Title of the curve
-*/
-QwtPlotIntervalCurve::QwtPlotIntervalCurve( const QString &title ):
-    QwtPlotSeriesItem( QwtText( title ) )
-{
-    init();
-}
-
-//! Destructor
-QwtPlotIntervalCurve::~QwtPlotIntervalCurve()
-{
-    delete d_data;
-}
-
-//! Initialize internal members
-void QwtPlotIntervalCurve::init()
-{
-    setItemAttribute( QwtPlotItem::Legend, true );
-    setItemAttribute( QwtPlotItem::AutoScale, true );
-
-    d_data = new PrivateData;
-    setData( new QwtIntervalSeriesData() );
-
-    setZ( 19.0 );
-}
-
-//! \return QwtPlotItem::Rtti_PlotIntervalCurve
-int QwtPlotIntervalCurve::rtti() const
-{
-    return QwtPlotIntervalCurve::Rtti_PlotIntervalCurve;
-}
-
-/*!
-  Specify an attribute how to draw the curve
-
-  \param attribute Paint attribute
-  \param on On/Off
-  \sa testPaintAttribute()
-*/
-void QwtPlotIntervalCurve::setPaintAttribute(
-    PaintAttribute attribute, bool on )
-{
-    if ( on )
-        d_data->paintAttributes |= attribute;
-    else
-        d_data->paintAttributes &= ~attribute;
-}
-
-/*!
-    \return True, when attribute is enabled
-    \sa PaintAttribute, setPaintAttribute()
-*/
-bool QwtPlotIntervalCurve::testPaintAttribute(
-    PaintAttribute attribute ) const
-{
-    return ( d_data->paintAttributes & attribute );
-}
-
-/*!
-  Initialize data with an array of samples.
-  \param samples Vector of samples
-*/
-void QwtPlotIntervalCurve::setSamples(
-    const QVector<QwtIntervalSample> &samples )
-{
-    setData( new QwtIntervalSeriesData( samples ) );
-}
-
-/*!
-  Assign a series of samples
-    
-  setSamples() is just a wrapper for setData() without any additional
-  value - beside that it is easier to find for the developer.
-    
-  \param data Data
-  \warning The item takes ownership of the data object, deleting
-           it when its not used anymore.
-*/
-void QwtPlotIntervalCurve::setSamples( 
-    QwtSeriesData<QwtIntervalSample> *data )
-{
-    setData( data );
-}
-
-/*!
-  Set the curve's drawing style
-
-  \param style Curve style
-  \sa CurveStyle, style()
-*/
-void QwtPlotIntervalCurve::setStyle( CurveStyle style )
-{
-    if ( style != d_data->style )
-    {
-        d_data->style = style;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-    \return Style of the curve
-    \sa setStyle()
-*/
-QwtPlotIntervalCurve::CurveStyle QwtPlotIntervalCurve::style() const
-{
-    return d_data->style;
-}
-
-/*!
-  Assign a symbol.
-
-  \param symbol Symbol
-  \sa symbol()
-*/
-void QwtPlotIntervalCurve::setSymbol( const QwtIntervalSymbol *symbol )
-{
-    if ( symbol != d_data->symbol )
-    {
-        delete d_data->symbol;
-        d_data->symbol = symbol;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Current symbol or NULL, when no symbol has been assigned
-  \sa setSymbol()
-*/
-const QwtIntervalSymbol *QwtPlotIntervalCurve::symbol() const
-{
-    return d_data->symbol;
-}
-
-/*!
-  Build and assign a pen
-    
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it
-  non cosmetic ( see QPen::isCosmetic() ). This method has been introduced
-  to hide this incompatibility.
-    
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-    
-  \sa pen(), brush()
- */
-void QwtPlotIntervalCurve::setPen( const QColor &color, qreal width, Qt::PenStyle style )
-{   
-    setPen( QPen( color, width, style ) );
-}   
-
-/*!
-  \brief Assign a pen
-  \param pen New pen
-  \sa pen(), brush()
-*/
-void QwtPlotIntervalCurve::setPen( const QPen &pen )
-{
-    if ( pen != d_data->pen )
-    {
-        d_data->pen = pen;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-    \return Pen used to draw the lines
-    \sa setPen(), brush()
-*/
-const QPen& QwtPlotIntervalCurve::pen() const
-{
-    return d_data->pen;
-}
-
-/*!
-  Assign a brush.
-
-  The brush is used to fill the area in Tube style().
-
-  \param brush Brush
-  \sa brush(), pen(), setStyle(), CurveStyle
-*/
-void QwtPlotIntervalCurve::setBrush( const QBrush &brush )
-{
-    if ( brush != d_data->brush )
-    {
-        d_data->brush = brush;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Brush used to fill the area in Tube style()
-  \sa setBrush(), setStyle(), CurveStyle
-*/
-const QBrush& QwtPlotIntervalCurve::brush() const
-{
-    return d_data->brush;
-}
-
-/*!
-  \return Bounding rectangle of all samples.
-  For an empty series the rectangle is invalid.
-*/
-QRectF QwtPlotIntervalCurve::boundingRect() const
-{
-    QRectF rect = QwtPlotSeriesItem::boundingRect();
-    if ( rect.isValid() && orientation() == Qt::Vertical )
-        rect.setRect( rect.y(), rect.x(), rect.height(), rect.width() );
-
-    return rect;
-}
-
-/*!
-  Draw a subset of the samples
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param canvasRect Contents rectangle of the canvas
-  \param from Index of the first sample to be painted
-  \param to Index of the last sample to be painted. If to < 0 the
-         series will be painted to its last sample.
-
-  \sa drawTube(), drawSymbols()
-*/
-void QwtPlotIntervalCurve::drawSeries( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    if ( to < 0 )
-        to = dataSize() - 1;
-
-    if ( from < 0 )
-        from = 0;
-
-    if ( from > to )
-        return;
-
-    switch ( d_data->style )
-    {
-        case Tube:
-            drawTube( painter, xMap, yMap, canvasRect, from, to );
-            break;
-
-        case NoCurve:
-        default:
-            break;
-    }
-
-    if ( d_data->symbol &&
-        ( d_data->symbol->style() != QwtIntervalSymbol::NoSymbol ) )
-    {
-        drawSymbols( painter, *d_data->symbol,
-            xMap, yMap, canvasRect, from, to );
-    }
-}
-
-/*!
-  Draw a tube
-
-  Builds 2 curves from the upper and lower limits of the intervals
-  and draws them with the pen(). The area between the curves is
-  filled with the brush().
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param canvasRect Contents rectangle of the canvas
-  \param from Index of the first sample to be painted
-  \param to Index of the last sample to be painted. If to < 0 the
-         series will be painted to its last sample.
-
-  \sa drawSeries(), drawSymbols()
-*/
-void QwtPlotIntervalCurve::drawTube( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    painter->save();
-
-    const size_t size = to - from + 1;
-    QPolygonF polygon( 2 * size );
-    QPointF *points = polygon.data();
-
-    for ( uint i = 0; i < size; i++ )
-    {
-        QPointF &minValue = points[i];
-        QPointF &maxValue = points[2 * size - 1 - i];
-
-        const QwtIntervalSample intervalSample = sample( from + i );
-        if ( orientation() == Qt::Vertical )
-        {
-            double x = xMap.transform( intervalSample.value );
-            double y1 = yMap.transform( intervalSample.interval.minValue() );
-            double y2 = yMap.transform( intervalSample.interval.maxValue() );
-            if ( doAlign )
-            {
-                x = qRound( x );
-                y1 = qRound( y1 );
-                y2 = qRound( y2 );
-            }
-
-            minValue.rx() = x;
-            minValue.ry() = y1;
-            maxValue.rx() = x;
-            maxValue.ry() = y2;
-        }
-        else
-        {
-            double y = yMap.transform( intervalSample.value );
-            double x1 = xMap.transform( intervalSample.interval.minValue() );
-            double x2 = xMap.transform( intervalSample.interval.maxValue() );
-            if ( doAlign )
-            {
-                y = qRound( y );
-                x1 = qRound( x1 );
-                x2 = qRound( x2 );
-            }
-
-            minValue.rx() = x1;
-            minValue.ry() = y;
-            maxValue.rx() = x2;
-            maxValue.ry() = y;
-        }
-    }
-
-    if ( d_data->brush.style() != Qt::NoBrush )
-    {
-        painter->setPen( QPen( Qt::NoPen ) );
-        painter->setBrush( d_data->brush );
-
-        if ( d_data->paintAttributes & ClipPolygons )
-        {
-            const qreal m = 1.0;
-            const QPolygonF p = QwtClipper::clipPolygonF(
-               canvasRect.adjusted( -m, -m, m, m ), polygon, true );
-
-            QwtPainter::drawPolygon( painter, p );
-        }
-        else
-        {
-            QwtPainter::drawPolygon( painter, polygon );
-        }
-    }
-
-    if ( d_data->pen.style() != Qt::NoPen )
-    {
-        painter->setPen( d_data->pen );
-        painter->setBrush( Qt::NoBrush );
-
-        if ( d_data->paintAttributes & ClipPolygons )
-        {
-            qreal pw = qMax( qreal( 1.0 ), painter->pen().widthF() );
-            const QRectF clipRect = canvasRect.adjusted( -pw, -pw, pw, pw );
-
-            QPolygonF p;
-
-            p.resize( size );
-            ::memcpy( p.data(), points, size * sizeof( QPointF ) );
-            p = QwtClipper::clipPolygonF( clipRect, p );
-            QwtPainter::drawPolyline( painter, p );
-
-            p.resize( size );
-            ::memcpy( p.data(), points + size, size * sizeof( QPointF ) );
-            p = QwtClipper::clipPolygonF( clipRect, p );
-            QwtPainter::drawPolyline( painter, p );
-        }
-        else
-        {
-            QwtPainter::drawPolyline( painter, points, size );
-            QwtPainter::drawPolyline( painter, points + size, size );
-        }
-    }
-
-    painter->restore();
-}
-
-/*!
-  Draw symbols for a subset of the samples
-
-  \param painter Painter
-  \param symbol Interval symbol
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rectangle of the canvas
-  \param from Index of the first sample to be painted
-  \param to Index of the last sample to be painted
-
-  \sa setSymbol(), drawSeries(), drawTube()
-*/
-void QwtPlotIntervalCurve::drawSymbols(
-    QPainter *painter, const QwtIntervalSymbol &symbol,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    painter->save();
-
-    QPen pen = symbol.pen();
-    pen.setCapStyle( Qt::FlatCap );
-
-    painter->setPen( pen );
-    painter->setBrush( symbol.brush() );
-
-    const QRectF tr = QwtScaleMap::invTransform( xMap, yMap, canvasRect );
-
-    const double xMin = tr.left();
-    const double xMax = tr.right();
-    const double yMin = tr.top();
-    const double yMax = tr.bottom();
-
-    const bool doClip = d_data->paintAttributes & ClipSymbol;
-
-    for ( int i = from; i <= to; i++ )
-    {
-        const QwtIntervalSample s = sample( i );
-
-        if ( orientation() == Qt::Vertical )
-        {
-            if ( !doClip || qwtIsVSampleInside( s, xMin, xMax, yMin, yMax ) )
-            {
-                const double x = xMap.transform( s.value );
-                const double y1 = yMap.transform( s.interval.minValue() );
-                const double y2 = yMap.transform( s.interval.maxValue() );
-
-                symbol.draw( painter, orientation(),
-                    QPointF( x, y1 ), QPointF( x, y2 ) );
-            }
-        }
-        else
-        {
-            if ( !doClip || qwtIsHSampleInside( s, xMin, xMax, yMin, yMax ) )
-            {
-                const double y = yMap.transform( s.value );
-                const double x1 = xMap.transform( s.interval.minValue() );
-                const double x2 = xMap.transform( s.interval.maxValue() );
-
-                symbol.draw( painter, orientation(),
-                    QPointF( x1, y ), QPointF( x2, y ) );
-            }
-        }
-    }
-
-    painter->restore();
-}
-
-/*!
-  \return Icon for the legend
-
-  In case of Tube style() the icon is a plain rectangle filled with the brush().
-  If a symbol is assigned it is scaled to size.
-
-  \param index Index of the legend entry 
-               ( ignored as there is only one )
-  \param size Icon size
-    
-  \sa QwtPlotItem::setLegendIconSize(), QwtPlotItem::legendData()
-*/
-QwtGraphic QwtPlotIntervalCurve::legendIcon( 
-    int index, const QSizeF &size ) const
-{
-    Q_UNUSED( index );
-
-    if ( size.isEmpty() )
-        return QwtGraphic();
-
-    QwtGraphic icon;
-    icon.setDefaultSize( size );
-    icon.setRenderHint( QwtGraphic::RenderPensUnscaled, true );
-
-    QPainter painter( &icon );
-    painter.setRenderHint( QPainter::Antialiasing,
-        testRenderHint( QwtPlotItem::RenderAntialiased ) );
-
-    if ( d_data->style == Tube )
-    {
-        QRectF r( 0, 0, size.width(), size.height() );
-        painter.fillRect( r, d_data->brush );
-    }
-
-    if ( d_data->symbol &&
-        ( d_data->symbol->style() != QwtIntervalSymbol::NoSymbol ) )
-    {
-        QPen pen = d_data->symbol->pen();
-        pen.setWidthF( pen.widthF() );
-        pen.setCapStyle( Qt::FlatCap );
-
-        painter.setPen( pen );
-        painter.setBrush( d_data->symbol->brush() );
-
-        if ( orientation() == Qt::Vertical )
-        {
-            const double x = 0.5 * size.width();
-
-            d_data->symbol->draw( &painter, orientation(),
-                QPointF( x, 0 ), QPointF( x, size.height() - 1.0 ) );
-        }
-        else
-        {
-            const double y = 0.5 * size.height();
-
-            d_data->symbol->draw( &painter, orientation(),
-                QPointF( 0.0, y ), QPointF( size.width() - 1.0, y ) );
-        }
-    }
-
-    return icon;
-}
diff --git a/SRC/Qwt/src/qwt_plot_intervalcurve.h b/SRC/Qwt/src/qwt_plot_intervalcurve.h
deleted file mode 100644
index 74a4226..0000000
--- a/SRC/Qwt/src/qwt_plot_intervalcurve.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_INTERVAL_CURVE_H
-#define QWT_PLOT_INTERVAL_CURVE_H
-
-#include "qwt_global.h"
-#include "qwt_plot_seriesitem.h"
-#include "qwt_series_data.h"
-
-class QwtIntervalSymbol;
-
-/*!
-  \brief QwtPlotIntervalCurve represents a series of samples, where each value
-         is associated with an interval ( \f$[y1,y2] = f(x)\f$ ).
-
-  The representation depends on the style() and an optional symbol()
-  that is displayed for each interval. QwtPlotIntervalCurve might be used
-  to display error bars or the area between 2 curves.
-*/
-class QWT_EXPORT QwtPlotIntervalCurve: 
-    public QwtPlotSeriesItem, public QwtSeriesStore<QwtIntervalSample>
-{
-public:
-    /*!
-        \brief Curve styles.
-        The default setting is QwtPlotIntervalCurve::Tube.
-
-        \sa setStyle(), style()
-    */
-    enum CurveStyle
-    {
-        /*!
-           Don't draw a curve. Note: This doesn't affect the symbols.
-         */
-        NoCurve,
-
-        /*!
-           Build 2 curves from the upper and lower limits of the intervals
-           and draw them with the pen(). The area between the curves is
-           filled with the brush().
-         */
-        Tube,
-
-        /*!
-           Styles >= QwtPlotIntervalCurve::UserCurve are reserved for derived
-           classes that overload drawSeries() with
-           additional application specific curve types.
-         */
-        UserCurve = 100
-    };
-
-    /*!
-        Attributes to modify the drawing algorithm.
-        \sa setPaintAttribute(), testPaintAttribute()
-    */
-    enum PaintAttribute
-    {
-        /*!
-          Clip polygons before painting them. In situations, where points
-          are far outside the visible area (f.e when zooming deep) this
-          might be a substantial improvement for the painting performance.
-         */
-        ClipPolygons = 0x01,
-
-        //! Check if a symbol is on the plot canvas before painting it.
-        ClipSymbol   = 0x02
-    };
-
-    //! Paint attributes
-    typedef QFlags<PaintAttribute> PaintAttributes;
-
-    explicit QwtPlotIntervalCurve( const QString &title = QString::null );
-    explicit QwtPlotIntervalCurve( const QwtText &title );
-
-    virtual ~QwtPlotIntervalCurve();
-
-    virtual int rtti() const;
-
-    void setPaintAttribute( PaintAttribute, bool on = true );
-    bool testPaintAttribute( PaintAttribute ) const;
-
-    void setSamples( const QVector<QwtIntervalSample> & );
-    void setSamples( QwtSeriesData<QwtIntervalSample> * );
-
-    void setPen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setPen( const QPen & );
-    const QPen &pen() const;
-
-    void setBrush( const QBrush & );
-    const QBrush &brush() const;
-
-    void setStyle( CurveStyle style );
-    CurveStyle style() const;
-
-    void setSymbol( const QwtIntervalSymbol * );
-    const QwtIntervalSymbol *symbol() const;
-
-    virtual void drawSeries( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual QRectF boundingRect() const;
-
-    virtual QwtGraphic legendIcon( int index, const QSizeF & ) const;
-
-protected:
-
-    void init();
-
-    virtual void drawTube( QPainter *,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual void drawSymbols( QPainter *, const QwtIntervalSymbol &,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotIntervalCurve::PaintAttributes )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_item.cpp b/SRC/Qwt/src/qwt_plot_item.cpp
deleted file mode 100644
index 15ae724..0000000
--- a/SRC/Qwt/src/qwt_plot_item.cpp
+++ /dev/null
@@ -1,698 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_item.h"
-#include "qwt_text.h"
-#include "qwt_plot.h"
-#include "qwt_legend_data.h"
-#include "qwt_scale_div.h"
-#include "qwt_graphic.h"
-#include <qpainter.h>
-
-class QwtPlotItem::PrivateData
-{
-public:
-    PrivateData():
-        plot( NULL ),
-        isVisible( true ),
-        attributes( 0 ),
-        interests( 0 ),
-        renderHints( 0 ),
-        renderThreadCount( 1 ),
-        z( 0.0 ),
-        xAxis( QwtPlot::xBottom ),
-        yAxis( QwtPlot::yLeft ),
-        legendIconSize( 8, 8 )
-    {
-    }
-
-    mutable QwtPlot *plot;
-
-    bool isVisible;
-
-    QwtPlotItem::ItemAttributes attributes;
-    QwtPlotItem::ItemInterests interests;
-
-    QwtPlotItem::RenderHints renderHints;
-    uint renderThreadCount;
-
-    double z;
-
-    int xAxis;
-    int yAxis;
-
-    QwtText title;
-    QSize legendIconSize;
-};
-
-/*!
-   Constructor
-   \param title Title of the item
-*/
-QwtPlotItem::QwtPlotItem( const QwtText &title )
-{
-    d_data = new PrivateData;
-    d_data->title = title;
-}
-
-//! Destroy the QwtPlotItem
-QwtPlotItem::~QwtPlotItem()
-{
-    attach( NULL );
-    delete d_data;
-}
-
-/*!
-  \brief Attach the item to a plot.
-
-  This method will attach a QwtPlotItem to the QwtPlot argument. It will first
-  detach the QwtPlotItem from any plot from a previous call to attach (if
-  necessary). If a NULL argument is passed, it will detach from any QwtPlot it
-  was attached to.
-
-  \param plot Plot widget
-  \sa detach()
-*/
-void QwtPlotItem::attach( QwtPlot *plot )
-{
-    if ( plot == d_data->plot )
-        return;
-
-    if ( d_data->plot )
-        d_data->plot->attachItem( this, false );
-
-    d_data->plot = plot;
-
-    if ( d_data->plot )
-        d_data->plot->attachItem( this, true );
-}
-
-/*!
-   \brief This method detaches a QwtPlotItem from any 
-          QwtPlot it has been associated with.
-
-   detach() is equivalent to calling attach( NULL )
-   \sa attach()
-*/
-void QwtPlotItem::detach()
-{
-    attach( NULL );
-}
-
-/*!
-   Return rtti for the specific class represented. QwtPlotItem is simply
-   a virtual interface class, and base classes will implement this method
-   with specific rtti values so a user can differentiate them.
-
-   The rtti value is useful for environments, where the
-   runtime type information is disabled and it is not possible
-   to do a dynamic_cast<...>.
-
-   \return rtti value
-   \sa RttiValues
-*/
-int QwtPlotItem::rtti() const
-{
-    return Rtti_PlotItem;
-}
-
-//! Return attached plot
-QwtPlot *QwtPlotItem::plot() const
-{
-    return d_data->plot;
-}
-
-/*!
-   Plot items are painted in increasing z-order.
-
-   \return setZ(), QwtPlotDict::itemList()
-*/
-double QwtPlotItem::z() const
-{
-    return d_data->z;
-}
-
-/*!
-   \brief Set the z value
-
-   Plot items are painted in increasing z-order.
-
-   \param z Z-value
-   \sa z(), QwtPlotDict::itemList()
-*/
-void QwtPlotItem::setZ( double z )
-{
-    if ( d_data->z != z )
-    {
-        if ( d_data->plot ) // update the z order
-            d_data->plot->attachItem( this, false );
-
-        d_data->z = z;
-
-        if ( d_data->plot )
-            d_data->plot->attachItem( this, true );
-
-        itemChanged();
-    }
-}
-
-/*!
-   Set a new title
-
-   \param title Title
-   \sa title()
-*/
-void QwtPlotItem::setTitle( const QString &title )
-{
-    setTitle( QwtText( title ) );
-}
-
-/*!
-   Set a new title
-
-   \param title Title
-   \sa title()
-*/
-void QwtPlotItem::setTitle( const QwtText &title )
-{
-    if ( d_data->title != title )
-    {
-        d_data->title = title;
-
-        legendChanged();
-#if 0
-        itemChanged();
-#endif
-    }
-}
-
-/*!
-   \return Title of the item
-   \sa setTitle()
-*/
-const QwtText &QwtPlotItem::title() const
-{
-    return d_data->title;
-}
-
-/*!
-   Toggle an item attribute
-
-   \param attribute Attribute type
-   \param on true/false
-
-   \sa testItemAttribute(), ItemInterest
-*/
-void QwtPlotItem::setItemAttribute( ItemAttribute attribute, bool on )
-{
-    if ( d_data->attributes.testFlag( attribute ) != on )
-    {
-        if ( on )
-            d_data->attributes |= attribute;
-        else
-            d_data->attributes &= ~attribute;
-
-        if ( attribute == QwtPlotItem::Legend )
-            legendChanged();
-
-        itemChanged();
-    }
-}
-
-/*!
-   Test an item attribute
-
-   \param attribute Attribute type
-   \return true/false
-   \sa setItemAttribute(), ItemInterest
-*/
-bool QwtPlotItem::testItemAttribute( ItemAttribute attribute ) const
-{
-    return d_data->attributes.testFlag( attribute );
-}
-
-/*!
-   Toggle an item interest
-
-   \param interest Interest type
-   \param on true/false
-
-   \sa testItemInterest(), ItemAttribute
-*/
-void QwtPlotItem::setItemInterest( ItemInterest interest, bool on )
-{
-    if ( d_data->interests.testFlag( interest ) != on )
-    {
-        if ( on )
-            d_data->interests |= interest;
-        else
-            d_data->interests &= ~interest;
-
-        itemChanged();
-    }
-}
-
-/*!
-   Test an item interest
-
-   \param interest Interest type
-   \return true/false
-   \sa setItemInterest(), ItemAttribute
-*/
-bool QwtPlotItem::testItemInterest( ItemInterest interest ) const
-{
-    return d_data->interests.testFlag( interest );
-}
-
-/*!
-   Toggle an render hint
-
-   \param hint Render hint
-   \param on true/false
-
-   \sa testRenderHint(), RenderHint
-*/
-void QwtPlotItem::setRenderHint( RenderHint hint, bool on )
-{
-    if ( d_data->renderHints.testFlag( hint ) != on )
-    {
-        if ( on )
-            d_data->renderHints |= hint;
-        else
-            d_data->renderHints &= ~hint;
-
-        itemChanged();
-    }
-}
-
-/*!
-   Test a render hint
-
-   \param hint Render hint
-   \return true/false
-   \sa setRenderHint(), RenderHint
-*/
-bool QwtPlotItem::testRenderHint( RenderHint hint ) const
-{
-    return d_data->renderHints.testFlag( hint );
-}
-
-/*!
-   On multi core systems rendering of certain plot item 
-   ( f.e QwtPlotRasterItem ) can be done in parallel in 
-   several threads.
-
-   The default setting is set to 1.
-
-   \param numThreads Number of threads to be used for rendering.
-                     If numThreads is set to 0, the system specific
-                     ideal thread count is used.
-
-   The default thread count is 1 ( = no additional threads )
-*/
-void QwtPlotItem::setRenderThreadCount( uint numThreads )
-{
-    d_data->renderThreadCount = numThreads;
-}
-
-/*!
-   \return Number of threads to be used for rendering.
-           If numThreads() is set to 0, the system specific
-           ideal thread count is used.
-*/
-uint QwtPlotItem::renderThreadCount() const
-{
-    return d_data->renderThreadCount;
-}
-
-/*!
-   Set the size of the legend icon
-
-   The default setting is 8x8 pixels
-
-   \param size Size
-   \sa legendIconSize(), legendIcon()
-*/
-void QwtPlotItem::setLegendIconSize( const QSize &size )
-{
-    if ( d_data->legendIconSize != size )
-    {
-        d_data->legendIconSize = size;
-        legendChanged();
-    }
-}
-
-/*!
-   \return Legend icon size
-   \sa setLegendIconSize(), legendIcon()
-*/
-QSize QwtPlotItem::legendIconSize() const
-{
-    return d_data->legendIconSize;
-}
-
-/*!
-   \return Icon representing the item on the legend
-
-   The default implementation returns an invalid icon
-
-   \param index Index of the legend entry 
-                ( usually there is only one )
-   \param size Icon size
-
-   \sa setLegendIconSize(), legendData()
- */
-QwtGraphic QwtPlotItem::legendIcon( 
-    int index, const QSizeF &size ) const
-{
-    Q_UNUSED( index )
-    Q_UNUSED( size )
-
-    return QwtGraphic();
-}
-
-/*!
-   \brief Return a default icon from a brush
-
-   The default icon is a filled rectangle used
-   in several derived classes as legendIcon().
-
-   \param brush Fill brush
-   \param size Icon size
-
-   \return A filled rectangle
- */
-QwtGraphic QwtPlotItem::defaultIcon( 
-    const QBrush &brush, const QSizeF &size ) const
-{   
-    QwtGraphic icon;
-    if ( !size.isEmpty() )
-    {
-        icon.setDefaultSize( size );
-        
-        QRectF r( 0, 0, size.width(), size.height() );
-        
-        QPainter painter( &icon );
-        painter.fillRect( r, brush );
-    }   
-    
-    return icon;
-}   
-
-//! Show the item
-void QwtPlotItem::show()
-{
-    setVisible( true );
-}
-
-//! Hide the item
-void QwtPlotItem::hide()
-{
-    setVisible( false );
-}
-
-/*!
-    Show/Hide the item
-
-    \param on Show if true, otherwise hide
-    \sa isVisible(), show(), hide()
-*/
-void QwtPlotItem::setVisible( bool on )
-{
-    if ( on != d_data->isVisible )
-    {
-        d_data->isVisible = on;
-        itemChanged();
-    }
-}
-
-/*!
-    \return true if visible
-    \sa setVisible(), show(), hide()
-*/
-bool QwtPlotItem::isVisible() const
-{
-    return d_data->isVisible;
-}
-
-/*!
-   Update the legend and call QwtPlot::autoRefresh() for the
-   parent plot.
-
-   \sa QwtPlot::legendChanged(), QwtPlot::autoRefresh()
-*/
-void QwtPlotItem::itemChanged()
-{
-    if ( d_data->plot )
-        d_data->plot->autoRefresh();
-}
-
-/*!
-   Update the legend of the parent plot.
-   \sa QwtPlot::updateLegend(), itemChanged()
-*/
-void QwtPlotItem::legendChanged()
-{
-    if ( testItemAttribute( QwtPlotItem::Legend ) && d_data->plot )
-        d_data->plot->updateLegend( this );
-}
-
-/*!
-   Set X and Y axis
-
-   The item will painted according to the coordinates of its Axes.
-
-   \param xAxis X Axis ( QwtPlot::xBottom or QwtPlot::xTop )
-   \param yAxis Y Axis ( QwtPlot::yLeft or QwtPlot::yRight )
-
-   \sa setXAxis(), setYAxis(), xAxis(), yAxis(), QwtPlot::Axis
-*/
-void QwtPlotItem::setAxes( int xAxis, int yAxis )
-{
-    if ( xAxis == QwtPlot::xBottom || xAxis == QwtPlot::xTop )
-        d_data->xAxis = xAxis;
-
-    if ( yAxis == QwtPlot::yLeft || yAxis == QwtPlot::yRight )
-        d_data->yAxis = yAxis;
-
-    itemChanged();
-}
-
-/*!
-   Set the X axis
-
-   The item will painted according to the coordinates its Axes.
-
-   \param axis X Axis ( QwtPlot::xBottom or QwtPlot::xTop )
-   \sa setAxes(), setYAxis(), xAxis(), QwtPlot::Axis
-*/
-void QwtPlotItem::setXAxis( int axis )
-{
-    if ( axis == QwtPlot::xBottom || axis == QwtPlot::xTop )
-    {
-        d_data->xAxis = axis;
-        itemChanged();
-    }
-}
-
-/*!
-   Set the Y axis
-
-   The item will painted according to the coordinates its Axes.
-
-   \param axis Y Axis ( QwtPlot::yLeft or QwtPlot::yRight )
-   \sa setAxes(), setXAxis(), yAxis(), QwtPlot::Axis
-*/
-void QwtPlotItem::setYAxis( int axis )
-{
-    if ( axis == QwtPlot::yLeft || axis == QwtPlot::yRight )
-    {
-        d_data->yAxis = axis;
-        itemChanged();
-    }
-}
-
-//! Return xAxis
-int QwtPlotItem::xAxis() const
-{
-    return d_data->xAxis;
-}
-
-//! Return yAxis
-int QwtPlotItem::yAxis() const
-{
-    return d_data->yAxis;
-}
-
-/*!
-   \return An invalid bounding rect: QRectF(1.0, 1.0, -2.0, -2.0)
-   \note A width or height < 0.0 is ignored by the autoscaler
-*/
-QRectF QwtPlotItem::boundingRect() const
-{
-    return QRectF( 1.0, 1.0, -2.0, -2.0 ); // invalid
-}
-
-/*!
-   \brief Calculate a hint for the canvas margin
-
-   When the QwtPlotItem::Margins flag is enabled the plot item
-   indicates, that it needs some margins at the borders of the canvas.
-   This is f.e. used by bar charts to reserve space for displaying
-   the bars.
-
-   The margins are in target device coordinates ( pixels on screen )
-
-   \param xMap Maps x-values into pixel coordinates.
-   \param yMap Maps y-values into pixel coordinates.
-   \param canvasRect Contents rectangle of the canvas in painter coordinates
-   \param left Returns the left margin
-   \param top Returns the top margin
-   \param right Returns the right margin
-   \param bottom Returns the bottom margin
-
-   \return The default implementation returns 0 for all margins
-
-   \sa QwtPlot::getCanvasMarginsHint(), QwtPlot::updateCanvasMargins()
- */
-void QwtPlotItem::getCanvasMarginHint( const QwtScaleMap &xMap, 
-    const QwtScaleMap &yMap, const QRectF &canvasRect,
-    double &left, double &top, double &right, double &bottom ) const
-{
-    Q_UNUSED( xMap );
-    Q_UNUSED( yMap );
-    Q_UNUSED( canvasRect );
-
-    // use QMargins, when we don't need to support Qt < 4.6 anymore
-    left = top = right = bottom = 0.0;
-}
-
-/*!
-   \brief Return all information, that is needed to represent
-          the item on the legend
-
-   Most items are represented by one entry on the legend
-   showing an icon and a text, but f.e. QwtPlotMultiBarChart
-   displays one entry for each bar.
-
-   QwtLegendData is basically a list of QVariants that makes it
-   possible to overload and reimplement legendData() to 
-   return almost any type of information, that is understood
-   by the receiver that acts as the legend.
-
-   The default implementation returns one entry with 
-   the title() of the item and the legendIcon().
-
-   \return Data, that is needed to represent the item on the legend
-   \sa title(), legendIcon(), QwtLegend, QwtPlotLegendItem
- */
-QList<QwtLegendData> QwtPlotItem::legendData() const
-{
-    QwtLegendData data;
-
-    QwtText label = title();
-    label.setRenderFlags( label.renderFlags() & Qt::AlignLeft );
-            
-    QVariant titleValue;
-    qVariantSetValue( titleValue, label );
-    data.setValue( QwtLegendData::TitleRole, titleValue );
-        
-    const QwtGraphic graphic = legendIcon( 0, legendIconSize() );
-    if ( !graphic.isNull() )
-    {   
-        QVariant iconValue;
-        qVariantSetValue( iconValue, graphic );
-        data.setValue( QwtLegendData::IconRole, iconValue );
-    }   
-        
-    QList<QwtLegendData> list;
-    list += data;
-
-    return list;
-}
-
-/*!
-   \brief Update the item to changes of the axes scale division
-
-   Update the item, when the axes of plot have changed.
-   The default implementation does nothing, but items that depend
-   on the scale division (like QwtPlotGrid()) have to reimplement
-   updateScaleDiv()
-
-   updateScaleDiv() is only called when the ScaleInterest interest
-   is enabled. The default implementation does nothing.
-
-   \param xScaleDiv Scale division of the x-axis
-   \param yScaleDiv Scale division of the y-axis
-
-   \sa QwtPlot::updateAxes(), ScaleInterest
-*/
-void QwtPlotItem::updateScaleDiv( const QwtScaleDiv &xScaleDiv,
-    const QwtScaleDiv &yScaleDiv )
-{
-    Q_UNUSED( xScaleDiv );
-    Q_UNUSED( yScaleDiv );
-}
-
-/*!
-   \brief Update the item to changes of the legend info
-
-   Plot items that want to display a legend ( not those, that want to
-   be displayed on a legend ! ) will have to implement updateLegend().
-
-   updateLegend() is only called when the LegendInterest interest
-   is enabled. The default implementation does nothing.
-
-   \param item Plot item to be displayed on a legend
-   \param data Attributes how to display item on the legend
-
-   \sa QwtPlotLegendItem
-
-   \note Plot items, that want to be displayed on a legend
-         need to enable the QwtPlotItem::Legend flag and to implement
-         legendData() and legendIcon()
- */
-void QwtPlotItem::updateLegend( const QwtPlotItem *item, 
-    const QList<QwtLegendData> &data )
-{
-    Q_UNUSED( item );
-    Q_UNUSED( data );
-}
-
-/*!
-   \brief Calculate the bounding scale rectangle of 2 maps
-
-   \param xMap Maps x-values into pixel coordinates.
-   \param yMap Maps y-values into pixel coordinates.
-
-   \return Bounding scale rect of the scale maps, not normalized
-*/
-QRectF QwtPlotItem::scaleRect( const QwtScaleMap &xMap,
-    const QwtScaleMap &yMap ) const
-{
-    return QRectF( xMap.s1(), yMap.s1(),
-        xMap.sDist(), yMap.sDist() );
-}
-
-/*!
-   \brief Calculate the bounding paint rectangle of 2 maps
-
-   \param xMap Maps x-values into pixel coordinates.
-   \param yMap Maps y-values into pixel coordinates.
-
-   \return Bounding paint rectangle of the scale maps, not normalized
-*/
-QRectF QwtPlotItem::paintRect( const QwtScaleMap &xMap,
-    const QwtScaleMap &yMap ) const
-{
-    const QRectF rect( xMap.p1(), yMap.p1(),
-        xMap.pDist(), yMap.pDist() );
-
-    return rect;
-}
diff --git a/SRC/Qwt/src/qwt_plot_item.h b/SRC/Qwt/src/qwt_plot_item.h
deleted file mode 100644
index 1683d29..0000000
--- a/SRC/Qwt/src/qwt_plot_item.h
+++ /dev/null
@@ -1,307 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_ITEM_H
-#define QWT_PLOT_ITEM_H
-
-#include "qwt_global.h"
-#include "qwt_text.h"
-#include "qwt_legend_data.h"
-#include "qwt_graphic.h"
-#include <qrect.h>
-#include <qlist.h>
-#include <qmetatype.h>
-
-class QPainter;
-class QwtScaleMap;
-class QwtScaleDiv;
-class QwtPlot;
-
-/*!
-  \brief Base class for items on the plot canvas
-
-  A plot item is "something", that can be painted on the plot canvas,
-  or only affects the scales of the plot widget. They can be categorized as:
-
-  - Representator\n
-    A "Representator" is an item that represents some sort of data
-    on the plot canvas. The different representator classes are organized
-    according to the characteristics of the data:
-    - QwtPlotMarker
-      Represents a point or a horizontal/vertical coordinate
-    - QwtPlotCurve
-      Represents a series of points
-    - QwtPlotSpectrogram ( QwtPlotRasterItem )
-      Represents raster data
-    - ...
-
-  - Decorators\n
-    A "Decorator" is an item, that displays additional information, that
-    is not related to any data:
-    - QwtPlotGrid
-    - QwtPlotScaleItem
-    - QwtPlotSvgItem
-    - ...
-
-  Depending on the QwtPlotItem::ItemAttribute flags, an item is included
-  into autoscaling or has an entry on the legend.
-
-  Before misusing the existing item classes it might be better to
-  implement a new type of plot item
-  ( don't implement a watermark as spectrogram ).
-  Deriving a new type of QwtPlotItem primarily means to implement
-  the YourPlotItem::draw() method.
-
-  \sa The cpuplot example shows the implementation of additional plot items.
-*/
-
-class QWT_EXPORT QwtPlotItem
-{
-public:
-    /*!
-        \brief Runtime type information
-
-        RttiValues is used to cast plot items, without
-        having to enable runtime type information of the compiler.
-     */
-    enum RttiValues
-    {
-        //! Unspecific value, that can be used, when it doesn't matter
-        Rtti_PlotItem = 0,
-
-        //! For QwtPlotGrid
-        Rtti_PlotGrid,
-
-        //! For QwtPlotScaleItem
-        Rtti_PlotScale,
-
-        //! For QwtPlotLegendItem
-        Rtti_PlotLegend,
-
-        //! For QwtPlotMarker
-        Rtti_PlotMarker,
-
-        //! For QwtPlotCurve
-        Rtti_PlotCurve,
-
-        //! For QwtPlotSpectroCurve
-        Rtti_PlotSpectroCurve,
-
-        //! For QwtPlotIntervalCurve
-        Rtti_PlotIntervalCurve,
-
-        //! For QwtPlotHistogram
-        Rtti_PlotHistogram,
-
-        //! For QwtPlotSpectrogram
-        Rtti_PlotSpectrogram,
-
-        //! For QwtPlotSvgItem
-        Rtti_PlotSVG,
-
-        //! For QwtPlotTradingCurve
-        Rtti_PlotTradingCurve,
-
-        //! For QwtPlotBarChart
-        Rtti_PlotBarChart,
-
-        //! For QwtPlotMultiBarChart
-        Rtti_PlotMultiBarChart,
-
-        //! For QwtPlotShapeItem
-        Rtti_PlotShape,
-
-        //! For QwtPlotTextLabel
-        Rtti_PlotTextLabel,
-
-        //! For QwtPlotZoneItem
-        Rtti_PlotZone,
-
-        /*! 
-           Values >= Rtti_PlotUserItem are reserved for plot items
-           not implemented in the Qwt library.
-         */
-        Rtti_PlotUserItem = 1000
-    };
-
-    /*!
-       \brief Plot Item Attributes
-
-       Various aspects of a plot widget depend on the attributes of
-       the attached plot items. If and how a single plot item 
-       participates in these updates depends on its attributes.
-       
-       \sa setItemAttribute(), testItemAttribute(), ItemInterest
-     */
-    enum ItemAttribute
-    {
-        //! The item is represented on the legend.
-        Legend = 0x01,
-
-        /*!
-           The boundingRect() of the item is included in the
-           autoscaling calculation as long as its width or height
-           is >= 0.0.
-         */
-        AutoScale = 0x02,
-
-        /*!
-           The item needs extra space to display something outside
-           its bounding rectangle. 
-           \sa getCanvasMarginHint()
-         */
-        Margins = 0x04
-    };
-
-    //! Plot Item Attributes
-    typedef QFlags<ItemAttribute> ItemAttributes;
-
-    /*!
-       \brief Plot Item Interests
-
-       Plot items might depend on the situation of the corresponding
-       plot widget. By enabling an interest the plot item will be
-       notified, when the corresponding attribute of the plot widgets
-       has changed.
-
-       \sa setItemAttribute(), testItemAttribute(), ItemInterest
-     */
-    enum ItemInterest
-    {
-        /*! 
-           The item is interested in updates of the scales
-           \sa updateScaleDiv()
-         */
-        ScaleInterest = 0x01,
-
-        /*! 
-           The item is interested in updates of the legend ( of other items )
-           This flag is intended for items, that want to implement a legend
-           for displaying entries of other plot item.
-
-           \note If the plot item wants to be represented on a legend
-                 enable QwtPlotItem::Legend instead.
-
-           \sa updateLegend()
-         */
-        LegendInterest = 0x02
-    };
-
-    //! Plot Item Interests
-    typedef QFlags<ItemInterest> ItemInterests;
-
-    //! Render hints
-    enum RenderHint
-    {
-        //! Enable antialiasing
-        RenderAntialiased = 0x1
-    };
-
-    //! Render hints
-    typedef QFlags<RenderHint> RenderHints;
-
-    explicit QwtPlotItem( const QwtText &title = QwtText() );
-    virtual ~QwtPlotItem();
-
-    void attach( QwtPlot *plot );
-    void detach();
-
-    QwtPlot *plot() const;
-
-    void setTitle( const QString &title );
-    void setTitle( const QwtText &title );
-    const QwtText &title() const;
-
-    virtual int rtti() const;
-
-    void setItemAttribute( ItemAttribute, bool on = true );
-    bool testItemAttribute( ItemAttribute ) const;
-
-    void setItemInterest( ItemInterest, bool on = true );
-    bool testItemInterest( ItemInterest ) const;
-
-    void setRenderHint( RenderHint, bool on = true );
-    bool testRenderHint( RenderHint ) const;
-
-    void setRenderThreadCount( uint numThreads );
-    uint renderThreadCount() const;
-
-    void setLegendIconSize( const QSize & );
-    QSize legendIconSize() const;
-
-    double z() const;
-    void setZ( double z );
-
-    void show();
-    void hide();
-    virtual void setVisible( bool );
-    bool isVisible () const;
-
-    void setAxes( int xAxis, int yAxis );
-
-    void setXAxis( int axis );
-    int xAxis() const;
-
-    void setYAxis( int axis );
-    int yAxis() const;
-
-    virtual void itemChanged();
-    virtual void legendChanged();
-
-    /*!
-      \brief Draw the item
-
-      \param painter Painter
-      \param xMap Maps x-values into pixel coordinates.
-      \param yMap Maps y-values into pixel coordinates.
-      \param canvasRect Contents rect of the canvas in painter coordinates
-    */
-    virtual void draw( QPainter *painter,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect ) const = 0;
-
-    virtual QRectF boundingRect() const;
-
-    virtual void getCanvasMarginHint( 
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasSize,
-        double &left, double &top, double &right, double &bottom) const;
-
-    virtual void updateScaleDiv( 
-        const QwtScaleDiv&, const QwtScaleDiv& );
-
-    virtual void updateLegend( const QwtPlotItem *,
-        const QList<QwtLegendData> & );
-
-    QRectF scaleRect( const QwtScaleMap &, const QwtScaleMap & ) const;
-    QRectF paintRect( const QwtScaleMap &, const QwtScaleMap & ) const;
-
-    virtual QList<QwtLegendData> legendData() const;
-
-    virtual QwtGraphic legendIcon( int index, const QSizeF  & ) const;
-
-protected:
-    QwtGraphic defaultIcon( const QBrush &, const QSizeF & ) const;
-
-private:
-    // Disabled copy constructor and operator=
-    QwtPlotItem( const QwtPlotItem & );
-    QwtPlotItem &operator=( const QwtPlotItem & );
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotItem::ItemAttributes )
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotItem::ItemInterests )
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotItem::RenderHints )
-
-Q_DECLARE_METATYPE( QwtPlotItem * )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_layout.cpp b/SRC/Qwt/src/qwt_plot_layout.cpp
deleted file mode 100644
index 62115f3..0000000
--- a/SRC/Qwt/src/qwt_plot_layout.cpp
+++ /dev/null
@@ -1,1444 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_layout.h"
-#include "qwt_text.h"
-#include "qwt_text_label.h"
-#include "qwt_scale_widget.h"
-#include "qwt_abstract_legend.h"
-#include <qscrollbar.h>
-#include <qmath.h>
-
-class QwtPlotLayout::LayoutData
-{
-public:
-    void init( const QwtPlot *, const QRectF &rect );
-
-    struct t_legendData
-    {
-        int frameWidth;
-        int hScrollExtent;
-        int vScrollExtent;
-        QSize hint;
-    } legend;
-
-    struct t_titleData
-    {
-        QwtText text;
-        int frameWidth;
-    } title;
-
-    struct t_footerData
-    {
-        QwtText text;
-        int frameWidth;
-    } footer;
-
-    struct t_scaleData
-    {
-        bool isEnabled;
-        const QwtScaleWidget *scaleWidget;
-        QFont scaleFont;
-        int start;
-        int end;
-        int baseLineOffset;
-        double tickOffset;
-        int dimWithoutTitle;
-    } scale[QwtPlot::axisCnt];
-
-    struct t_canvasData
-    {
-        int contentsMargins[ QwtPlot::axisCnt ];
-
-    } canvas;
-};
-
-/*
-  Extract all layout relevant data from the plot components
-*/
-void QwtPlotLayout::LayoutData::init( const QwtPlot *plot, const QRectF &rect )
-{
-    // legend
-
-    if ( plot->legend() )
-    {
-        legend.frameWidth = plot->legend()->frameWidth();
-        legend.hScrollExtent =
-            plot->legend()->scrollExtent( Qt::Horizontal );
-        legend.vScrollExtent =
-            plot->legend()->scrollExtent( Qt::Vertical );
-
-        const QSize hint = plot->legend()->sizeHint();
-
-        int w = qMin( hint.width(), qFloor( rect.width() ) );
-        int h = plot->legend()->heightForWidth( w );
-        if ( h <= 0 )
-            h = hint.height();
-
-        if ( h > rect.height() )
-            w += legend.hScrollExtent;
-
-        legend.hint = QSize( w, h );
-    }
-
-    // title
-
-    title.frameWidth = 0;
-    title.text = QwtText();
-
-    if ( plot->titleLabel() )
-    {
-        const QwtTextLabel *label = plot->titleLabel();
-        title.text = label->text();
-        if ( !( title.text.testPaintAttribute( QwtText::PaintUsingTextFont ) ) )
-            title.text.setFont( label->font() );
-
-        title.frameWidth = plot->titleLabel()->frameWidth();
-    }
-
-    // footer
-
-    footer.frameWidth = 0;
-    footer.text = QwtText();
-
-    if ( plot->footerLabel() )
-    {
-        const QwtTextLabel *label = plot->footerLabel();
-        footer.text = label->text();
-        if ( !( footer.text.testPaintAttribute( QwtText::PaintUsingTextFont ) ) )
-            footer.text.setFont( label->font() );
-
-        footer.frameWidth = plot->footerLabel()->frameWidth();
-    }
-
-    // scales
-
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-    {
-        if ( plot->axisEnabled( axis ) )
-        {
-            const QwtScaleWidget *scaleWidget = plot->axisWidget( axis );
-
-            scale[axis].isEnabled = true;
-
-            scale[axis].scaleWidget = scaleWidget;
-
-            scale[axis].scaleFont = scaleWidget->font();
-
-            scale[axis].start = scaleWidget->startBorderDist();
-            scale[axis].end = scaleWidget->endBorderDist();
-
-            scale[axis].baseLineOffset = scaleWidget->margin();
-            scale[axis].tickOffset = scaleWidget->margin();
-            if ( scaleWidget->scaleDraw()->hasComponent(
-                QwtAbstractScaleDraw::Ticks ) )
-            {
-                scale[axis].tickOffset +=
-                    scaleWidget->scaleDraw()->maxTickLength();
-            }
-
-            scale[axis].dimWithoutTitle = scaleWidget->dimForLength(
-                QWIDGETSIZE_MAX, scale[axis].scaleFont );
-
-            if ( !scaleWidget->title().isEmpty() )
-            {
-                scale[axis].dimWithoutTitle -=
-                    scaleWidget->titleHeightForWidth( QWIDGETSIZE_MAX );
-            }
-        }
-        else
-        {
-            scale[axis].isEnabled = false;
-            scale[axis].start = 0;
-            scale[axis].end = 0;
-            scale[axis].baseLineOffset = 0;
-            scale[axis].tickOffset = 0.0;
-            scale[axis].dimWithoutTitle = 0;
-        }
-    }
-
-    // canvas
-
-    plot->canvas()->getContentsMargins( 
-        &canvas.contentsMargins[ QwtPlot::yLeft ], 
-        &canvas.contentsMargins[ QwtPlot::xTop ],
-        &canvas.contentsMargins[ QwtPlot::yRight ],
-        &canvas.contentsMargins[ QwtPlot::xBottom ] );
-}
-
-class QwtPlotLayout::PrivateData
-{
-public:
-    PrivateData():
-        spacing( 5 )
-    {
-    }
-
-    QRectF titleRect;
-    QRectF footerRect;
-    QRectF legendRect;
-    QRectF scaleRect[QwtPlot::axisCnt];
-    QRectF canvasRect;
-
-    QwtPlotLayout::LayoutData layoutData;
-
-    QwtPlot::LegendPosition legendPos;
-    double legendRatio;
-    unsigned int spacing;
-    unsigned int canvasMargin[QwtPlot::axisCnt];
-    bool alignCanvasToScales[QwtPlot::axisCnt];
-};
-
-/*!
-  \brief Constructor
- */
-
-QwtPlotLayout::QwtPlotLayout()
-{
-    d_data = new PrivateData;
-
-    setLegendPosition( QwtPlot::BottomLegend );
-    setCanvasMargin( 4 );
-    setAlignCanvasToScales( false );
-
-    invalidate();
-}
-
-//! Destructor
-QwtPlotLayout::~QwtPlotLayout()
-{
-    delete d_data;
-}
-
-/*!
-  Change a margin of the canvas. The margin is the space
-  above/below the scale ticks. A negative margin will
-  be set to -1, excluding the borders of the scales.
-
-  \param margin New margin
-  \param axis One of QwtPlot::Axis. Specifies where the position of the margin.
-              -1 means margin at all borders.
-  \sa canvasMargin()
-
-  \warning The margin will have no effect when alignCanvasToScale() is true
-*/
-
-void QwtPlotLayout::setCanvasMargin( int margin, int axis )
-{
-    if ( margin < -1 )
-        margin = -1;
-
-    if ( axis == -1 )
-    {
-        for ( axis = 0; axis < QwtPlot::axisCnt; axis++ )
-            d_data->canvasMargin[axis] = margin;
-    }
-    else if ( axis >= 0 && axis < QwtPlot::axisCnt )
-        d_data->canvasMargin[axis] = margin;
-}
-
-/*!
-    \param axisId Axis index
-    \return Margin around the scale tick borders
-    \sa setCanvasMargin()
-*/
-int QwtPlotLayout::canvasMargin( int axisId ) const
-{
-    if ( axisId < 0 || axisId >= QwtPlot::axisCnt )
-        return 0;
-
-    return d_data->canvasMargin[axisId];
-}
-
-/*!
-  \brief Set the align-canvas-to-axis-scales flag for all axes
-
-  \param on True/False
-  \sa setAlignCanvasToScale(), alignCanvasToScale()
-*/
-void QwtPlotLayout::setAlignCanvasToScales( bool on )
-{
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-        d_data->alignCanvasToScales[axis] = on;
-}
-
-/*!
-  Change the align-canvas-to-axis-scales setting. The canvas may:
-
-  - extend beyond the axis scale ends to maximize its size,
-  - align with the axis scale ends to control its size.
-
-  The axisId parameter is somehow confusing as it identifies a border
-  of the plot and not the axes, that are aligned. F.e when QwtPlot::yLeft
-  is set, the left end of the the x-axes ( QwtPlot::xTop, QwtPlot::xBottom )
-  is aligned.
-
-  \param axisId Axis index
-  \param on New align-canvas-to-axis-scales setting
-
-  \sa setCanvasMargin(), alignCanvasToScale(), setAlignCanvasToScales()
-  \warning In case of on == true canvasMargin() will have no effect
-*/
-void QwtPlotLayout::setAlignCanvasToScale( int axisId, bool on )
-{
-    if ( axisId >= 0 && axisId < QwtPlot::axisCnt )
-        d_data->alignCanvasToScales[axisId] = on;
-}
-
-/*!
-  Return the align-canvas-to-axis-scales setting. The canvas may:
-  - extend beyond the axis scale ends to maximize its size
-  - align with the axis scale ends to control its size.
-
-  \param axisId Axis index
-  \return align-canvas-to-axis-scales setting
-  \sa setAlignCanvasToScale(), setAlignCanvasToScale(), setCanvasMargin()
-*/
-bool QwtPlotLayout::alignCanvasToScale( int axisId ) const
-{
-    if ( axisId < 0 || axisId >= QwtPlot::axisCnt )
-        return false;
-
-    return d_data->alignCanvasToScales[ axisId ];
-}
-
-/*!
-  Change the spacing of the plot. The spacing is the distance
-  between the plot components.
-
-  \param spacing New spacing
-  \sa setCanvasMargin(), spacing()
-*/
-void QwtPlotLayout::setSpacing( int spacing )
-{
-    d_data->spacing = qMax( 0, spacing );
-}
-
-/*!
-  \return Spacing
-  \sa margin(), setSpacing()
-*/
-int QwtPlotLayout::spacing() const
-{
-    return d_data->spacing;
-}
-
-/*!
-  \brief Specify the position of the legend
-  \param pos The legend's position.
-  \param ratio Ratio between legend and the bounding rectangle
-               of title, footer, canvas and axes. The legend will be shrunk
-               if it would need more space than the given ratio.
-               The ratio is limited to ]0.0 .. 1.0]. In case of <= 0.0
-               it will be reset to the default ratio.
-               The default vertical/horizontal ratio is 0.33/0.5.
-
-  \sa QwtPlot::setLegendPosition()
-*/
-
-void QwtPlotLayout::setLegendPosition( QwtPlot::LegendPosition pos, double ratio )
-{
-    if ( ratio > 1.0 )
-        ratio = 1.0;
-
-    switch ( pos )
-    {
-        case QwtPlot::TopLegend:
-        case QwtPlot::BottomLegend:
-            if ( ratio <= 0.0 )
-                ratio = 0.33;
-            d_data->legendRatio = ratio;
-            d_data->legendPos = pos;
-            break;
-        case QwtPlot::LeftLegend:
-        case QwtPlot::RightLegend:
-            if ( ratio <= 0.0 )
-                ratio = 0.5;
-            d_data->legendRatio = ratio;
-            d_data->legendPos = pos;
-            break;
-        default:
-            break;
-    }
-}
-
-/*!
-  \brief Specify the position of the legend
-  \param pos The legend's position. Valid values are
-      \c QwtPlot::LeftLegend, \c QwtPlot::RightLegend,
-      \c QwtPlot::TopLegend, \c QwtPlot::BottomLegend.
-
-  \sa QwtPlot::setLegendPosition()
-*/
-void QwtPlotLayout::setLegendPosition( QwtPlot::LegendPosition pos )
-{
-    setLegendPosition( pos, 0.0 );
-}
-
-/*!
-  \return Position of the legend
-  \sa setLegendPosition(), QwtPlot::setLegendPosition(),
-      QwtPlot::legendPosition()
-*/
-QwtPlot::LegendPosition QwtPlotLayout::legendPosition() const
-{
-    return d_data->legendPos;
-}
-
-/*!
-  Specify the relative size of the legend in the plot
-  \param ratio Ratio between legend and the bounding rectangle
-               of title, footer, canvas and axes. The legend will be shrunk
-               if it would need more space than the given ratio.
-               The ratio is limited to ]0.0 .. 1.0]. In case of <= 0.0
-               it will be reset to the default ratio.
-               The default vertical/horizontal ratio is 0.33/0.5.
-*/
-void QwtPlotLayout::setLegendRatio( double ratio )
-{
-    setLegendPosition( legendPosition(), ratio );
-}
-
-/*!
-  \return The relative size of the legend in the plot.
-  \sa setLegendPosition()
-*/
-double QwtPlotLayout::legendRatio() const
-{
-    return d_data->legendRatio;
-}
-
-/*!
-  \brief Set the geometry for the title
-
-  This method is intended to be used from derived layouts
-  overloading activate()
-
-  \sa titleRect(), activate()
- */
-void QwtPlotLayout::setTitleRect( const QRectF &rect )
-{
-    d_data->titleRect = rect;
-}
-
-/*!
-  \return Geometry for the title
-  \sa activate(), invalidate()
-*/
-QRectF QwtPlotLayout::titleRect() const
-{
-    return d_data->titleRect;
-}
-
-/*!
-  \brief Set the geometry for the footer
-
-  This method is intended to be used from derived layouts
-  overloading activate()
-
-  \sa footerRect(), activate()
- */
-void QwtPlotLayout::setFooterRect( const QRectF &rect )
-{
-    d_data->footerRect = rect;
-}
-
-/*!
-  \return Geometry for the footer
-  \sa activate(), invalidate()
-*/
-QRectF QwtPlotLayout::footerRect() const
-{
-    return d_data->footerRect;
-}
-
-/*!
-  \brief Set the geometry for the legend
-
-  This method is intended to be used from derived layouts
-  overloading activate()
-
-  \param rect Rectangle for the legend
-
-  \sa legendRect(), activate()
- */
-void QwtPlotLayout::setLegendRect( const QRectF &rect )
-{
-    d_data->legendRect = rect;
-}
-
-/*!
-  \return Geometry for the legend
-  \sa activate(), invalidate()
-*/
-QRectF QwtPlotLayout::legendRect() const
-{
-    return d_data->legendRect;
-}
-
-/*!
-  \brief Set the geometry for an axis
-
-  This method is intended to be used from derived layouts
-  overloading activate()
-
-  \param axis Axis index
-  \param rect Rectangle for the scale
-
-  \sa scaleRect(), activate()
- */
-void QwtPlotLayout::setScaleRect( int axis, const QRectF &rect )
-{
-    if ( axis >= 0 && axis < QwtPlot::axisCnt )
-        d_data->scaleRect[axis] = rect;
-}
-
-/*!
-  \param axis Axis index
-  \return Geometry for the scale
-  \sa activate(), invalidate()
-*/
-QRectF QwtPlotLayout::scaleRect( int axis ) const
-{
-    if ( axis < 0 || axis >= QwtPlot::axisCnt )
-    {
-        static QRectF dummyRect;
-        return dummyRect;
-    }
-    return d_data->scaleRect[axis];
-}
-
-/*!
-  \brief Set the geometry for the canvas
-
-  This method is intended to be used from derived layouts
-  overloading activate()
-
-  \sa canvasRect(), activate()
- */
-void QwtPlotLayout::setCanvasRect( const QRectF &rect )
-{
-    d_data->canvasRect = rect;
-}
-
-/*!
-  \return Geometry for the canvas
-  \sa activate(), invalidate()
-*/
-QRectF QwtPlotLayout::canvasRect() const
-{
-    return d_data->canvasRect;
-}
-
-/*!
-  Invalidate the geometry of all components.
-  \sa activate()
-*/
-void QwtPlotLayout::invalidate()
-{
-    d_data->titleRect = d_data->footerRect
-        = d_data->legendRect = d_data->canvasRect = QRect();
-
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-        d_data->scaleRect[axis] = QRect();
-}
-
-/*!
-  \return Minimum size hint
-  \param plot Plot widget
-
-  \sa QwtPlot::minimumSizeHint()
-*/
-
-QSize QwtPlotLayout::minimumSizeHint( const QwtPlot *plot ) const
-{
-    class ScaleData
-    {
-    public:
-        ScaleData()
-        {
-            w = h = minLeft = minRight = tickOffset = 0;
-        }
-
-        int w;
-        int h;
-        int minLeft;
-        int minRight;
-        int tickOffset;
-    } scaleData[QwtPlot::axisCnt];
-
-    int canvasBorder[QwtPlot::axisCnt];
-
-    int fw;
-    plot->canvas()->getContentsMargins( &fw, NULL, NULL, NULL );
-
-    int axis;
-    for ( axis = 0; axis < QwtPlot::axisCnt; axis++ )
-    {
-        if ( plot->axisEnabled( axis ) )
-        {
-            const QwtScaleWidget *scl = plot->axisWidget( axis );
-            ScaleData &sd = scaleData[axis];
-
-            const QSize hint = scl->minimumSizeHint();
-            sd.w = hint.width();
-            sd.h = hint.height();
-            scl->getBorderDistHint( sd.minLeft, sd.minRight );
-            sd.tickOffset = scl->margin();
-            if ( scl->scaleDraw()->hasComponent( QwtAbstractScaleDraw::Ticks ) )
-                sd.tickOffset += qCeil( scl->scaleDraw()->maxTickLength() );
-        }
-
-        canvasBorder[axis] = fw + d_data->canvasMargin[axis] + 1;
-    }
-
-
-    for ( axis = 0; axis < QwtPlot::axisCnt; axis++ )
-    {
-        ScaleData &sd = scaleData[axis];
-        if ( sd.w && ( axis == QwtPlot::xBottom || axis == QwtPlot::xTop ) )
-        {
-            if ( ( sd.minLeft > canvasBorder[QwtPlot::yLeft] )
-                && scaleData[QwtPlot::yLeft].w )
-            {
-                int shiftLeft = sd.minLeft - canvasBorder[QwtPlot::yLeft];
-                if ( shiftLeft > scaleData[QwtPlot::yLeft].w )
-                    shiftLeft = scaleData[QwtPlot::yLeft].w;
-
-                sd.w -= shiftLeft;
-            }
-            if ( ( sd.minRight > canvasBorder[QwtPlot::yRight] )
-                && scaleData[QwtPlot::yRight].w )
-            {
-                int shiftRight = sd.minRight - canvasBorder[QwtPlot::yRight];
-                if ( shiftRight > scaleData[QwtPlot::yRight].w )
-                    shiftRight = scaleData[QwtPlot::yRight].w;
-
-                sd.w -= shiftRight;
-            }
-        }
-
-        if ( sd.h && ( axis == QwtPlot::yLeft || axis == QwtPlot::yRight ) )
-        {
-            if ( ( sd.minLeft > canvasBorder[QwtPlot::xBottom] ) &&
-                scaleData[QwtPlot::xBottom].h )
-            {
-                int shiftBottom = sd.minLeft - canvasBorder[QwtPlot::xBottom];
-                if ( shiftBottom > scaleData[QwtPlot::xBottom].tickOffset )
-                    shiftBottom = scaleData[QwtPlot::xBottom].tickOffset;
-
-                sd.h -= shiftBottom;
-            }
-            if ( ( sd.minLeft > canvasBorder[QwtPlot::xTop] ) &&
-                scaleData[QwtPlot::xTop].h )
-            {
-                int shiftTop = sd.minRight - canvasBorder[QwtPlot::xTop];
-                if ( shiftTop > scaleData[QwtPlot::xTop].tickOffset )
-                    shiftTop = scaleData[QwtPlot::xTop].tickOffset;
-
-                sd.h -= shiftTop;
-            }
-        }
-    }
-
-    const QWidget *canvas = plot->canvas();
-
-    int left, top, right, bottom;
-    canvas->getContentsMargins( &left, &top, &right, &bottom );
-
-    const QSize minCanvasSize = canvas->minimumSize();
-
-    int w = scaleData[QwtPlot::yLeft].w + scaleData[QwtPlot::yRight].w;
-    int cw = qMax( scaleData[QwtPlot::xBottom].w, scaleData[QwtPlot::xTop].w )
-        + left + 1 + right + 1;
-    w += qMax( cw, minCanvasSize.width() );
-
-    int h = scaleData[QwtPlot::xBottom].h + scaleData[QwtPlot::xTop].h;
-    int ch = qMax( scaleData[QwtPlot::yLeft].h, scaleData[QwtPlot::yRight].h )
-        + top + 1 + bottom + 1;
-    h += qMax( ch, minCanvasSize.height() );
-
-    const QwtTextLabel *labels[2];
-    labels[0] = plot->titleLabel();
-    labels[1] = plot->footerLabel();
-
-    for ( int i = 0; i < 2; i++ )
-    {
-        const QwtTextLabel *label   = labels[i];
-        if ( label && !label->text().isEmpty() )
-        {
-            // If only QwtPlot::yLeft or QwtPlot::yRight is showing,
-            // we center on the plot canvas.
-            const bool centerOnCanvas = !( plot->axisEnabled( QwtPlot::yLeft )
-                && plot->axisEnabled( QwtPlot::yRight ) );
-
-            int labelW = w;
-            if ( centerOnCanvas )
-            {
-                labelW -= scaleData[QwtPlot::yLeft].w
-                    + scaleData[QwtPlot::yRight].w;
-            }
-
-            int labelH = label->heightForWidth( labelW );
-            if ( labelH > labelW ) // Compensate for a long title
-            {
-                w = labelW = labelH;
-                if ( centerOnCanvas )
-                {
-                    w += scaleData[QwtPlot::yLeft].w
-                        + scaleData[QwtPlot::yRight].w;
-                }
-
-                labelH = label->heightForWidth( labelW );
-            }
-            h += labelH + d_data->spacing;
-        }
-    }
-
-    // Compute the legend contribution
-
-    const QwtAbstractLegend *legend = plot->legend();
-    if ( legend && !legend->isEmpty() )
-    {
-        if ( d_data->legendPos == QwtPlot::LeftLegend
-            || d_data->legendPos == QwtPlot::RightLegend )
-        {
-            int legendW = legend->sizeHint().width();
-            int legendH = legend->heightForWidth( legendW );
-
-            if ( legend->frameWidth() > 0 )
-                w += d_data->spacing;
-
-            if ( legendH > h )
-                legendW += legend->scrollExtent( Qt::Horizontal );
-
-            if ( d_data->legendRatio < 1.0 )
-                legendW = qMin( legendW, int( w / ( 1.0 - d_data->legendRatio ) ) );
-
-            w += legendW + d_data->spacing;
-        }
-        else // QwtPlot::Top, QwtPlot::Bottom
-        {
-            int legendW = qMin( legend->sizeHint().width(), w );
-            int legendH = legend->heightForWidth( legendW );
-
-            if ( legend->frameWidth() > 0 )
-                h += d_data->spacing;
-
-            if ( d_data->legendRatio < 1.0 )
-                legendH = qMin( legendH, int( h / ( 1.0 - d_data->legendRatio ) ) );
-
-            h += legendH + d_data->spacing;
-        }
-    }
-
-    return QSize( w, h );
-}
-
-/*!
-  Find the geometry for the legend
-
-  \param options Options how to layout the legend
-  \param rect Rectangle where to place the legend
-
-  \return Geometry for the legend
-  \sa Options
-*/
-
-QRectF QwtPlotLayout::layoutLegend( Options options,
-    const QRectF &rect ) const
-{
-    const QSize hint( d_data->layoutData.legend.hint );
-
-    int dim;
-    if ( d_data->legendPos == QwtPlot::LeftLegend
-        || d_data->legendPos == QwtPlot::RightLegend )
-    {
-        // We don't allow vertical legends to take more than
-        // half of the available space.
-
-        dim = qMin( hint.width(), int( rect.width() * d_data->legendRatio ) );
-
-        if ( !( options & IgnoreScrollbars ) )
-        {
-            if ( hint.height() > rect.height() )
-            {
-                // The legend will need additional
-                // space for the vertical scrollbar.
-
-                dim += d_data->layoutData.legend.hScrollExtent;
-            }
-        }
-    }
-    else
-    {
-        dim = qMin( hint.height(), int( rect.height() * d_data->legendRatio ) );
-        dim = qMax( dim, d_data->layoutData.legend.vScrollExtent );
-    }
-
-    QRectF legendRect = rect;
-    switch ( d_data->legendPos )
-    {
-        case QwtPlot::LeftLegend:
-            legendRect.setWidth( dim );
-            break;
-        case QwtPlot::RightLegend:
-            legendRect.setX( rect.right() - dim );
-            legendRect.setWidth( dim );
-            break;
-        case QwtPlot::TopLegend:
-            legendRect.setHeight( dim );
-            break;
-        case QwtPlot::BottomLegend:
-            legendRect.setY( rect.bottom() - dim );
-            legendRect.setHeight( dim );
-            break;
-    }
-
-    return legendRect;
-}
-
-/*!
-  Align the legend to the canvas
-
-  \param canvasRect Geometry of the canvas
-  \param legendRect Maximum geometry for the legend
-
-  \return Geometry for the aligned legend
-*/
-QRectF QwtPlotLayout::alignLegend( const QRectF &canvasRect,
-    const QRectF &legendRect ) const
-{
-    QRectF alignedRect = legendRect;
-
-    if ( d_data->legendPos == QwtPlot::BottomLegend
-        || d_data->legendPos == QwtPlot::TopLegend )
-    {
-        if ( d_data->layoutData.legend.hint.width() < canvasRect.width() )
-        {
-            alignedRect.setX( canvasRect.x() );
-            alignedRect.setWidth( canvasRect.width() );
-        }
-    }
-    else
-    {
-        if ( d_data->layoutData.legend.hint.height() < canvasRect.height() )
-        {
-            alignedRect.setY( canvasRect.y() );
-            alignedRect.setHeight( canvasRect.height() );
-        }
-    }
-
-    return alignedRect;
-}
-
-/*!
-  Expand all line breaks in text labels, and calculate the height
-  of their widgets in orientation of the text.
-
-  \param options Options how to layout the legend
-  \param rect Bounding rectangle for title, footer, axes and canvas.
-  \param dimTitle Expanded height of the title widget
-  \param dimFooter Expanded height of the footer widget
-  \param dimAxis Expanded heights of the axis in axis orientation.
-
-  \sa Options
-*/
-void QwtPlotLayout::expandLineBreaks( Options options, const QRectF &rect,
-    int &dimTitle, int &dimFooter, int dimAxis[QwtPlot::axisCnt] ) const
-{
-    dimTitle = dimFooter = 0;
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-        dimAxis[axis] = 0;
-
-    int backboneOffset[QwtPlot::axisCnt];
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-    {
-        backboneOffset[axis] = 0;
-        if ( !( options & IgnoreFrames ) )
-            backboneOffset[axis] += d_data->layoutData.canvas.contentsMargins[ axis ];
-
-        if ( !d_data->alignCanvasToScales[axis] )
-            backboneOffset[axis] += d_data->canvasMargin[axis];
-    }
-
-    bool done = false;
-    while ( !done )
-    {
-        done = true;
-
-        // the size for the 4 axis depend on each other. Expanding
-        // the height of a horizontal axis will shrink the height
-        // for the vertical axis, shrinking the height of a vertical
-        // axis will result in a line break what will expand the
-        // width and results in shrinking the width of a horizontal
-        // axis what might result in a line break of a horizontal
-        // axis ... . So we loop as long until no size changes.
-
-        if ( !( ( options & IgnoreTitle ) ||
-            d_data->layoutData.title.text.isEmpty() ) )
-        {
-            double w = rect.width();
-
-            if ( d_data->layoutData.scale[QwtPlot::yLeft].isEnabled
-                != d_data->layoutData.scale[QwtPlot::yRight].isEnabled )
-            {
-                // center to the canvas
-                w -= dimAxis[QwtPlot::yLeft] + dimAxis[QwtPlot::yRight];
-            }
-
-            int d = qCeil( d_data->layoutData.title.text.heightForWidth( w ) );
-            if ( !( options & IgnoreFrames ) )
-                d += 2 * d_data->layoutData.title.frameWidth;
-
-            if ( d > dimTitle )
-            {
-                dimTitle = d;
-                done = false;
-            }
-        }
-
-        if ( !( ( options & IgnoreFooter ) ||
-            d_data->layoutData.footer.text.isEmpty() ) )
-        {
-            double w = rect.width();
-
-            if ( d_data->layoutData.scale[QwtPlot::yLeft].isEnabled
-                != d_data->layoutData.scale[QwtPlot::yRight].isEnabled )
-            {
-                // center to the canvas
-                w -= dimAxis[QwtPlot::yLeft] + dimAxis[QwtPlot::yRight];
-            }
-
-            int d = qCeil( d_data->layoutData.footer.text.heightForWidth( w ) );
-            if ( !( options & IgnoreFrames ) )
-                d += 2 * d_data->layoutData.footer.frameWidth;
-
-            if ( d > dimFooter )
-            {
-                dimFooter = d;
-                done = false;
-            }
-        }
-
-        for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-        {
-            const struct LayoutData::t_scaleData &scaleData =
-                d_data->layoutData.scale[axis];
-
-            if ( scaleData.isEnabled )
-            {
-                double length;
-                if ( axis == QwtPlot::xTop || axis == QwtPlot::xBottom )
-                {
-                    length = rect.width() - dimAxis[QwtPlot::yLeft]
-                        - dimAxis[QwtPlot::yRight];
-                    length -= scaleData.start + scaleData.end;
-
-                    if ( dimAxis[QwtPlot::yRight] > 0 )
-                        length -= 1;
-
-                    length += qMin( dimAxis[QwtPlot::yLeft],
-                        scaleData.start - backboneOffset[QwtPlot::yLeft] );
-                    length += qMin( dimAxis[QwtPlot::yRight],
-                        scaleData.end - backboneOffset[QwtPlot::yRight] );
-                }
-                else // QwtPlot::yLeft, QwtPlot::yRight
-                {
-                    length = rect.height() - dimAxis[QwtPlot::xTop]
-                        - dimAxis[QwtPlot::xBottom];
-                    length -= scaleData.start + scaleData.end;
-                    length -= 1;
-
-                    if ( dimAxis[QwtPlot::xBottom] <= 0 )
-                        length -= 1;
-                    if ( dimAxis[QwtPlot::xTop] <= 0 )
-                        length -= 1;
-
-                    if ( dimAxis[QwtPlot::xBottom] > 0 )
-                    {
-                        length += qMin(
-                            d_data->layoutData.scale[QwtPlot::xBottom].tickOffset,
-                            double( scaleData.start - backboneOffset[QwtPlot::xBottom] ) );
-                    }
-                    if ( dimAxis[QwtPlot::xTop] > 0 )
-                    {
-                        length += qMin(
-                            d_data->layoutData.scale[QwtPlot::xTop].tickOffset,
-                            double( scaleData.end - backboneOffset[QwtPlot::xTop] ) );
-                    }
-
-                    if ( dimTitle > 0 )
-                        length -= dimTitle + d_data->spacing;
-                }
-
-                int d = scaleData.dimWithoutTitle;
-                if ( !scaleData.scaleWidget->title().isEmpty() )
-                {
-                    d += scaleData.scaleWidget->titleHeightForWidth( qFloor( length ) );
-                }
-
-
-                if ( d > dimAxis[axis] )
-                {
-                    dimAxis[axis] = d;
-                    done = false;
-                }
-            }
-        }
-    }
-}
-
-/*!
-  Align the ticks of the axis to the canvas borders using
-  the empty corners.
-
-  \param options Layout options
-  \param canvasRect Geometry of the canvas ( IN/OUT )
-  \param scaleRect Geometries of the scales ( IN/OUT )
-
-  \sa Options
-*/
-
-void QwtPlotLayout::alignScales( Options options,
-    QRectF &canvasRect, QRectF scaleRect[QwtPlot::axisCnt] ) const
-{
-    int backboneOffset[QwtPlot::axisCnt];
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-    {
-        backboneOffset[axis] = 0;
-
-        if ( !d_data->alignCanvasToScales[axis] )
-        {
-            backboneOffset[axis] += d_data->canvasMargin[axis];
-        }
-
-        if ( !( options & IgnoreFrames ) )
-        {
-            backboneOffset[axis] += 
-                d_data->layoutData.canvas.contentsMargins[axis];
-        }
-    }
-
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-    {
-        if ( !scaleRect[axis].isValid() )
-            continue;
-
-        const int startDist = d_data->layoutData.scale[axis].start;
-        const int endDist = d_data->layoutData.scale[axis].end;
-
-        QRectF &axisRect = scaleRect[axis];
-
-        if ( axis == QwtPlot::xTop || axis == QwtPlot::xBottom )
-        {
-            const QRectF &leftScaleRect = scaleRect[QwtPlot::yLeft];
-            const int leftOffset =
-                backboneOffset[QwtPlot::yLeft] - startDist;
-
-            if ( leftScaleRect.isValid() )
-            {
-                const double dx = leftOffset + leftScaleRect.width();
-                if ( d_data->alignCanvasToScales[QwtPlot::yLeft] && dx < 0.0 )
-                {
-                    /*
-                      The axis needs more space than the width
-                      of the left scale.
-                     */
-                    const double cLeft = canvasRect.left(); // qreal -> double
-                    canvasRect.setLeft( qMax( cLeft, axisRect.left() - dx ) );
-                }
-                else
-                {
-                    const double minLeft = leftScaleRect.left();
-                    const double left = axisRect.left() + leftOffset;
-                    axisRect.setLeft( qMax( left, minLeft ) );
-                }
-            }
-            else
-            {
-                if ( d_data->alignCanvasToScales[QwtPlot::yLeft] && leftOffset < 0 )
-                {
-                    canvasRect.setLeft( qMax( canvasRect.left(),
-                        axisRect.left() - leftOffset ) );
-                }
-                else
-                {
-                    if ( leftOffset > 0 )
-                        axisRect.setLeft( axisRect.left() + leftOffset );
-                }
-            }
-
-            const QRectF &rightScaleRect = scaleRect[QwtPlot::yRight];
-            const int rightOffset =
-                backboneOffset[QwtPlot::yRight] - endDist + 1;
-
-            if ( rightScaleRect.isValid() )
-            {
-                const double dx = rightOffset + rightScaleRect.width();
-                if ( d_data->alignCanvasToScales[QwtPlot::yRight] && dx < 0 )
-                {
-                    /*
-                      The axis needs more space than the width
-                      of the right scale.
-                     */
-                    const double cRight = canvasRect.right(); // qreal -> double
-                    canvasRect.setRight( qMin( cRight, axisRect.right() + dx ) );
-                }   
-
-                const double maxRight = rightScaleRect.right();
-                const double right = axisRect.right() - rightOffset;
-                axisRect.setRight( qMin( right, maxRight ) );
-            }
-            else
-            {
-                if ( d_data->alignCanvasToScales[QwtPlot::yRight] && rightOffset < 0 )
-                {
-                    canvasRect.setRight( qMin( canvasRect.right(),
-                        axisRect.right() + rightOffset ) );
-                }
-                else
-                {
-                    if ( rightOffset > 0 )
-                        axisRect.setRight( axisRect.right() - rightOffset );
-                }
-            }
-        }
-        else // QwtPlot::yLeft, QwtPlot::yRight
-        {
-            const QRectF &bottomScaleRect = scaleRect[QwtPlot::xBottom];
-            const int bottomOffset =
-                backboneOffset[QwtPlot::xBottom] - endDist + 1;
-
-            if ( bottomScaleRect.isValid() )
-            {
-                const double dy = bottomOffset + bottomScaleRect.height();
-                if ( d_data->alignCanvasToScales[QwtPlot::xBottom] && dy < 0 )
-                {
-                    /*
-                      The axis needs more space than the height
-                      of the bottom scale.
-                     */
-                    const double cBottom = canvasRect.bottom(); // qreal -> double
-                    canvasRect.setBottom( qMin( cBottom, axisRect.bottom() + dy ) );
-                }
-                else
-                {
-                    const double maxBottom = bottomScaleRect.top() +
-                        d_data->layoutData.scale[QwtPlot::xBottom].tickOffset;
-                    const double bottom = axisRect.bottom() - bottomOffset;
-                    axisRect.setBottom( qMin( bottom, maxBottom ) );
-                }
-            }
-            else
-            {
-                if ( d_data->alignCanvasToScales[QwtPlot::xBottom] && bottomOffset < 0 )
-                {
-                    canvasRect.setBottom( qMin( canvasRect.bottom(),
-                        axisRect.bottom() + bottomOffset ) );
-                }
-                else
-                {
-                    if ( bottomOffset > 0 )
-                        axisRect.setBottom( axisRect.bottom() - bottomOffset );
-                }
-            }
-
-            const QRectF &topScaleRect = scaleRect[QwtPlot::xTop];
-            const int topOffset = backboneOffset[QwtPlot::xTop] - startDist;
-
-            if ( topScaleRect.isValid() )
-            {
-                const double dy = topOffset + topScaleRect.height();
-                if ( d_data->alignCanvasToScales[QwtPlot::xTop] && dy < 0 )
-                {
-                    /*
-                      The axis needs more space than the height
-                      of the top scale.
-                     */
-                    const double cTop = canvasRect.top(); // qreal -> double
-                    canvasRect.setTop( qMax( cTop, axisRect.top() - dy ) );
-                }
-                else
-                {
-                    const double minTop = topScaleRect.bottom() -
-                        d_data->layoutData.scale[QwtPlot::xTop].tickOffset;
-                    const double top = axisRect.top() + topOffset;
-                    axisRect.setTop( qMax( top, minTop ) );
-                }
-            }
-            else
-            {
-                if ( d_data->alignCanvasToScales[QwtPlot::xTop] && topOffset < 0 )
-                {
-                    canvasRect.setTop( qMax( canvasRect.top(),
-                        axisRect.top() - topOffset ) );
-                }
-                else
-                {
-                    if ( topOffset > 0 )
-                        axisRect.setTop( axisRect.top() + topOffset );
-                }
-            }
-        }
-    }
-
-    /*
-      The canvas has been aligned to the scale with largest
-      border distances. Now we have to realign the other scale.
-     */
-
-
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-    {
-        QRectF &sRect = scaleRect[axis];
-
-        if ( !sRect.isValid() )
-            continue;
-
-        if ( axis == QwtPlot::xBottom || axis == QwtPlot::xTop )
-        {
-            if ( d_data->alignCanvasToScales[QwtPlot::yLeft] )
-            {
-                double y = canvasRect.left() - d_data->layoutData.scale[axis].start;
-                if ( !( options & IgnoreFrames ) )
-                    y += d_data->layoutData.canvas.contentsMargins[ QwtPlot::yLeft ];
-
-                sRect.setLeft( y );
-            }
-            if ( d_data->alignCanvasToScales[QwtPlot::yRight] )
-            {
-                double y = canvasRect.right() - 1 + d_data->layoutData.scale[axis].end;
-                if ( !( options & IgnoreFrames ) )
-                    y -= d_data->layoutData.canvas.contentsMargins[ QwtPlot::yRight ];
-
-                sRect.setRight( y );
-            }
-
-            if ( d_data->alignCanvasToScales[ axis ] )
-            {
-                if ( axis == QwtPlot::xTop )
-                    sRect.setBottom( canvasRect.top() );
-                else
-                    sRect.setTop( canvasRect.bottom() );
-            }
-        }
-        else
-        {
-            if ( d_data->alignCanvasToScales[QwtPlot::xTop] )
-            {
-                double x = canvasRect.top() - d_data->layoutData.scale[axis].start;
-                if ( !( options & IgnoreFrames ) )
-                    x += d_data->layoutData.canvas.contentsMargins[ QwtPlot::xTop ];
-
-                sRect.setTop( x );
-            }
-            if ( d_data->alignCanvasToScales[QwtPlot::xBottom] )
-            {
-                double x = canvasRect.bottom() - 1 + d_data->layoutData.scale[axis].end;
-                if ( !( options & IgnoreFrames ) )
-                    x -= d_data->layoutData.canvas.contentsMargins[ QwtPlot::xBottom ];
-
-                sRect.setBottom( x );
-            }
-
-            if ( d_data->alignCanvasToScales[ axis ] )
-            {
-                if ( axis == QwtPlot::yLeft )
-                    sRect.setRight( canvasRect.left() );
-                else
-                    sRect.setLeft( canvasRect.right() );
-            }
-        }
-    }
-}
-
-/*!
-  \brief Recalculate the geometry of all components.
-
-  \param plot Plot to be layout
-  \param plotRect Rectangle where to place the components
-  \param options Layout options
-
-  \sa invalidate(), titleRect(), footerRect()
-      legendRect(), scaleRect(), canvasRect()
-*/
-void QwtPlotLayout::activate( const QwtPlot *plot,
-    const QRectF &plotRect, Options options )
-{
-    invalidate();
-
-    QRectF rect( plotRect );  // undistributed rest of the plot rect
-
-    // We extract all layout relevant parameters from the widgets,
-    // and save them to d_data->layoutData.
-
-    d_data->layoutData.init( plot, rect );
-
-    if ( !( options & IgnoreLegend )
-        && plot->legend() && !plot->legend()->isEmpty() )
-    {
-        d_data->legendRect = layoutLegend( options, rect );
-
-        // subtract d_data->legendRect from rect
-
-        const QRegion region( rect.toRect() );
-        rect = region.subtracted( d_data->legendRect.toRect() ).boundingRect();
-
-        switch ( d_data->legendPos )
-        {
-            case QwtPlot::LeftLegend:
-                rect.setLeft( rect.left() + d_data->spacing );
-                break;
-            case QwtPlot::RightLegend:
-                rect.setRight( rect.right() - d_data->spacing );
-                break;
-            case QwtPlot::TopLegend:
-                rect.setTop( rect.top() + d_data->spacing );
-                break;
-            case QwtPlot::BottomLegend:
-                rect.setBottom( rect.bottom() - d_data->spacing );
-                break;
-        }
-    }
-
-    /*
-     +---+-----------+---+
-     |       Title       |
-     +---+-----------+---+
-     |   |   Axis    |   |
-     +---+-----------+---+
-     | A |           | A |
-     | x |  Canvas   | x |
-     | i |           | i |
-     | s |           | s |
-     +---+-----------+---+
-     |   |   Axis    |   |
-     +---+-----------+---+
-     |      Footer       |
-     +---+-----------+---+
-    */
-
-    // title, footer and axes include text labels. The height of each
-    // label depends on its line breaks, that depend on the width
-    // for the label. A line break in a horizontal text will reduce
-    // the available width for vertical texts and vice versa.
-    // expandLineBreaks finds the height/width for title, footer and axes
-    // including all line breaks.
-
-    int dimTitle, dimFooter, dimAxes[QwtPlot::axisCnt];
-    expandLineBreaks( options, rect, dimTitle, dimFooter, dimAxes );
-
-    if ( dimTitle > 0 )
-    {
-        d_data->titleRect.setRect(
-            rect.left(), rect.top(), rect.width(), dimTitle );
-
-        rect.setTop( d_data->titleRect.bottom() + d_data->spacing );
-
-        if ( d_data->layoutData.scale[QwtPlot::yLeft].isEnabled !=
-            d_data->layoutData.scale[QwtPlot::yRight].isEnabled )
-        {
-            // if only one of the y axes is missing we align
-            // the title centered to the canvas
-
-            d_data->titleRect.setX( rect.left() + dimAxes[QwtPlot::yLeft] );
-            d_data->titleRect.setWidth( rect.width()
-                - dimAxes[QwtPlot::yLeft] - dimAxes[QwtPlot::yRight] );
-        }
-    }
-
-    if ( dimFooter > 0 )
-    {
-        d_data->footerRect.setRect(
-            rect.left(), rect.bottom() - dimFooter, rect.width(), dimFooter );
-
-        rect.setBottom( d_data->footerRect.top() - d_data->spacing );
-
-        if ( d_data->layoutData.scale[QwtPlot::yLeft].isEnabled !=
-            d_data->layoutData.scale[QwtPlot::yRight].isEnabled )
-        {
-            // if only one of the y axes is missing we align
-            // the footer centered to the canvas
-
-            d_data->footerRect.setX( rect.left() + dimAxes[QwtPlot::yLeft] );
-            d_data->footerRect.setWidth( rect.width()
-                - dimAxes[QwtPlot::yLeft] - dimAxes[QwtPlot::yRight] );
-        }
-    }
-
-    d_data->canvasRect.setRect(
-        rect.x() + dimAxes[QwtPlot::yLeft],
-        rect.y() + dimAxes[QwtPlot::xTop],
-        rect.width() - dimAxes[QwtPlot::yRight] - dimAxes[QwtPlot::yLeft],
-        rect.height() - dimAxes[QwtPlot::xBottom] - dimAxes[QwtPlot::xTop] );
-
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-    {
-        // set the rects for the axes
-
-        if ( dimAxes[axis] )
-        {
-            int dim = dimAxes[axis];
-            QRectF &scaleRect = d_data->scaleRect[axis];
-
-            scaleRect = d_data->canvasRect;
-            switch ( axis )
-            {
-                case QwtPlot::yLeft:
-                    scaleRect.setX( d_data->canvasRect.left() - dim );
-                    scaleRect.setWidth( dim );
-                    break;
-                case QwtPlot::yRight:
-                    scaleRect.setX( d_data->canvasRect.right() );
-                    scaleRect.setWidth( dim );
-                    break;
-                case QwtPlot::xBottom:
-                    scaleRect.setY( d_data->canvasRect.bottom() );
-                    scaleRect.setHeight( dim );
-                    break;
-                case QwtPlot::xTop:
-                    scaleRect.setY( d_data->canvasRect.top() - dim );
-                    scaleRect.setHeight( dim );
-                    break;
-            }
-            scaleRect = scaleRect.normalized();
-        }
-    }
-
-    // +---+-----------+---+
-    // |  <-   Axis   ->   |
-    // +-^-+-----------+-^-+
-    // | | |           | | |
-    // |   |           |   |
-    // | A |           | A |
-    // | x |  Canvas   | x |
-    // | i |           | i |
-    // | s |           | s |
-    // |   |           |   |
-    // | | |           | | |
-    // +-V-+-----------+-V-+
-    // |   <-  Axis   ->   |
-    // +---+-----------+---+
-
-    // The ticks of the axes - not the labels above - should
-    // be aligned to the canvas. So we try to use the empty
-    // corners to extend the axes, so that the label texts
-    // left/right of the min/max ticks are moved into them.
-
-    alignScales( options, d_data->canvasRect, d_data->scaleRect );
-
-    if ( !d_data->legendRect.isEmpty() )
-    {
-        // We prefer to align the legend to the canvas - not to
-        // the complete plot - if possible.
-
-        d_data->legendRect = alignLegend( d_data->canvasRect, d_data->legendRect );
-    }
-}
diff --git a/SRC/Qwt/src/qwt_plot_layout.h b/SRC/Qwt/src/qwt_plot_layout.h
deleted file mode 100644
index 27feab5..0000000
--- a/SRC/Qwt/src/qwt_plot_layout.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_LAYOUT_H
-#define QWT_PLOT_LAYOUT_H
-
-#include "qwt_global.h"
-#include "qwt_plot.h"
-
-/*!
-  \brief Layout engine for QwtPlot.
-
-  It is used by the QwtPlot widget to organize its internal widgets
-  or by QwtPlot::print() to render its content to a QPaintDevice like
-  a QPrinter, QPixmap/QImage or QSvgRenderer.
-
-  \sa QwtPlot::setPlotLayout()
-*/
-
-class QWT_EXPORT QwtPlotLayout
-{
-public:
-    /*!
-      Options to configure the plot layout engine
-      \sa activate(), QwtPlotRenderer
-     */
-    enum Option
-    {
-        //! Unused
-        AlignScales = 0x01,
-
-        /*!
-          Ignore the dimension of the scrollbars. There are no
-          scrollbars, when the plot is not rendered to widgets.
-         */
-        IgnoreScrollbars = 0x02,
-
-        //! Ignore all frames. 
-        IgnoreFrames = 0x04,
-
-        //! Ignore the legend.
-        IgnoreLegend = 0x08,
-
-        //! Ignore the title.
-        IgnoreTitle = 0x10,
-
-        //! Ignore the footer.
-        IgnoreFooter = 0x20
-    };
-
-    //! Layout options
-    typedef QFlags<Option> Options;
-
-    explicit QwtPlotLayout();
-    virtual ~QwtPlotLayout();
-
-    void setCanvasMargin( int margin, int axis = -1 );
-    int canvasMargin( int axis ) const;
-
-    void setAlignCanvasToScales( bool );
-
-    void setAlignCanvasToScale( int axisId, bool );
-    bool alignCanvasToScale( int axisId ) const;
-
-    void setSpacing( int );
-    int spacing() const;
-
-    void setLegendPosition( QwtPlot::LegendPosition pos, double ratio );
-    void setLegendPosition( QwtPlot::LegendPosition pos );
-    QwtPlot::LegendPosition legendPosition() const;
-
-    void setLegendRatio( double ratio );
-    double legendRatio() const;
-
-    virtual QSize minimumSizeHint( const QwtPlot * ) const;
-
-    virtual void activate( const QwtPlot *,
-        const QRectF &rect, Options options = 0x00 );
-
-    virtual void invalidate();
-
-    QRectF titleRect() const;
-    QRectF footerRect() const;
-    QRectF legendRect() const;
-    QRectF scaleRect( int axis ) const;
-    QRectF canvasRect() const;
-
-    class LayoutData;
-
-protected:
-
-    void setTitleRect( const QRectF & );
-    void setFooterRect( const QRectF & );
-    void setLegendRect( const QRectF & );
-    void setScaleRect( int axis, const QRectF & );
-    void setCanvasRect( const QRectF & );
-
-    QRectF layoutLegend( Options options, const QRectF & ) const;
-    QRectF alignLegend( const QRectF &canvasRect,
-        const QRectF &legendRect ) const;
-
-    void expandLineBreaks( Options options, const QRectF &rect,
-        int &dimTitle, int &dimFooter, int dimAxes[QwtPlot::axisCnt] ) const;
-
-    void alignScales( Options options, QRectF &canvasRect,
-        QRectF scaleRect[QwtPlot::axisCnt] ) const;
-
-private:
-    class PrivateData;
-
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotLayout::Options )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_legenditem.cpp b/SRC/Qwt/src/qwt_plot_legenditem.cpp
deleted file mode 100644
index 47625e3..0000000
--- a/SRC/Qwt/src/qwt_plot_legenditem.cpp
+++ /dev/null
@@ -1,865 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_legenditem.h"
-#include "qwt_dyngrid_layout.h"
-#include "qwt_scale_map.h"
-#include "qwt_painter.h"
-#include <qlayoutitem.h>
-#include <qpen.h>
-#include <qbrush.h>
-#include <qpainter.h>
-#include <qmath.h>
-
-class QwtLegendLayoutItem: public QLayoutItem
-{
-public:
-    QwtLegendLayoutItem( const QwtPlotLegendItem *, const QwtPlotItem * );
-    virtual ~QwtLegendLayoutItem();
-
-    const QwtPlotItem *plotItem() const;
-
-    void setData( const QwtLegendData & );
-    const QwtLegendData &data() const;
-
-    virtual Qt::Orientations expandingDirections() const;
-    virtual QRect geometry() const;
-    virtual bool hasHeightForWidth() const;
-    virtual int heightForWidth( int w ) const;
-    virtual bool isEmpty() const;
-    virtual QSize maximumSize() const;
-    virtual int minimumHeightForWidth( int w ) const;
-    virtual QSize minimumSize() const;
-    virtual void setGeometry( const QRect & r );
-    virtual QSize sizeHint() const;
-
-private:
-
-    const QwtPlotLegendItem *d_legendItem;
-    const QwtPlotItem *d_plotItem;
-    QwtLegendData d_data;
-
-    QRect d_rect;
-};
-
-QwtLegendLayoutItem::QwtLegendLayoutItem( 
-        const QwtPlotLegendItem *legendItem, const QwtPlotItem *plotItem ):
-    d_legendItem( legendItem ),
-    d_plotItem( plotItem)
-{
-}
-
-QwtLegendLayoutItem::~QwtLegendLayoutItem()
-{
-}
-
-const QwtPlotItem *QwtLegendLayoutItem::plotItem() const
-{
-    return d_plotItem;
-}
-
-void QwtLegendLayoutItem::setData( const QwtLegendData &data )
-{
-    d_data = data;
-}
-
-const QwtLegendData &QwtLegendLayoutItem::data() const
-{
-    return d_data;
-}
-
-Qt::Orientations QwtLegendLayoutItem::expandingDirections() const
-{
-    return Qt::Horizontal;
-}
-
-bool QwtLegendLayoutItem::hasHeightForWidth() const
-{
-    return !d_data.title().isEmpty();
-}
-
-int QwtLegendLayoutItem::minimumHeightForWidth( int w ) const
-{
-    return d_legendItem->heightForWidth( d_data, w );
-}
-
-int QwtLegendLayoutItem::heightForWidth( int w ) const
-{
-    return d_legendItem->heightForWidth( d_data, w );
-}
-
-bool QwtLegendLayoutItem::isEmpty() const
-{
-    return false;
-}
-
-QSize QwtLegendLayoutItem::maximumSize() const
-{
-    return QSize( QLAYOUTSIZE_MAX, QLAYOUTSIZE_MAX );
-}
-
-QSize QwtLegendLayoutItem::minimumSize() const
-{
-    return d_legendItem->minimumSize( d_data );
-}
-
-QSize QwtLegendLayoutItem::sizeHint() const
-{
-    return minimumSize();
-}
-
-void QwtLegendLayoutItem::setGeometry( const QRect &rect )
-{
-    d_rect = rect;
-}
-
-QRect QwtLegendLayoutItem::geometry() const
-{
-    return d_rect;
-}
-
-class QwtPlotLegendItem::PrivateData
-{
-public:
-    PrivateData():
-        itemMargin( 4 ),
-        itemSpacing( 4 ),
-        borderRadius( 0.0 ),
-        borderPen( Qt::NoPen ),
-        backgroundBrush( Qt::NoBrush ),
-        backgroundMode( QwtPlotLegendItem::LegendBackground ),
-        borderDistance( 10 ),
-        alignment( Qt::AlignRight | Qt::AlignBottom )
-    {
-        layout = new QwtDynGridLayout();
-        layout->setMaxColumns( 2 );
-
-        layout->setSpacing( 0 );
-        layout->setContentsMargins( 0, 0, 0, 0 );
-    }
-
-    ~PrivateData()
-    {
-        delete layout;
-    }
-
-    QFont font;
-    QPen textPen;
-    int itemMargin;
-    int itemSpacing;
-
-    double borderRadius;
-    QPen borderPen;
-    QBrush backgroundBrush;
-    QwtPlotLegendItem::BackgroundMode backgroundMode;
-
-    int borderDistance;
-    Qt::Alignment alignment;
-
-    QMap< const QwtPlotItem *, QList<QwtLegendLayoutItem *> > map;
-    QwtDynGridLayout *layout;
-};
-
-//! Constructor 
-QwtPlotLegendItem::QwtPlotLegendItem():
-    QwtPlotItem( QwtText( "Legend" ) )
-{
-    d_data = new PrivateData;
-
-    setItemInterest( QwtPlotItem::LegendInterest, true );
-    setZ( 100.0 );
-}
-
-//! Destructor
-QwtPlotLegendItem::~QwtPlotLegendItem()
-{
-    clearLegend();
-    delete d_data;
-}
-
-//! \return QwtPlotItem::Rtti_PlotLegend
-int QwtPlotLegendItem::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotLegend;
-}
-
-/*!
-  \brief Set the alignmnet
-
-  Alignment means the position of the legend relative
-  to the geometry of the plot canvas. 
-
-  \param alignment Alignment flags
-
-  \sa alignment(), setMaxColumns()
-
-  \note To align a legend with many items horizontally 
-        the number of columns need to be limited
- */
-void QwtPlotLegendItem::setAlignment( Qt::Alignment alignment )
-{
-    if ( d_data->alignment != alignment )
-    {
-        d_data->alignment = alignment;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Alignment flags
-  \sa setAlignment()
- */
-Qt::Alignment QwtPlotLegendItem::alignment() const
-{
-    return d_data->alignment;
-}
-
-/*!
-  \brief Limit the number of columns
-
-  When aligning the legend horizontally ( Qt::AlignLeft, Qt::AlignRight )
-  the number of columns needs to be limited to avoid, that
-  the width of the legend grows with an increasing number of entries.
-
-  \param maxColumns Maximum number of columns. 0 means unlimited.
-  \sa maxColumns(), QwtDynGridLayout::setMaxColumns()
- */
-void QwtPlotLegendItem::setMaxColumns( uint maxColumns )
-{
-    if ( maxColumns != d_data->layout->maxColumns() )
-    {
-        d_data->layout->setMaxColumns( maxColumns );
-        itemChanged();
-    }
-}
-
-/*!
-  \return Maximum number of columns
-  \sa maxColumns(), QwtDynGridLayout::maxColumns()
- */
-uint QwtPlotLegendItem::maxColumns() const
-{
-    return d_data->layout->maxColumns();
-}
-
-/*!
-  \brief Set the margin around legend items
-
-  The default setting for the margin is 0.
-
-  \param margin Margin in pixels
-  \sa margin(), setSpacing(), setItemMargin(), setItemSpacing
- */
-void QwtPlotLegendItem::setMargin( int margin )
-{
-    margin = qMax( margin, 0 );
-    if ( margin != this->margin() )
-    {
-        d_data->layout->setContentsMargins( 
-            margin, margin, margin, margin );
-
-        itemChanged();
-    }
-}
-
-/*!
-  \return Margin around the legend items
-  \sa setMargin(), spacing(), itemMargin(), itemSpacing()
- */
-int QwtPlotLegendItem::margin() const
-{
-    int left;
-    d_data->layout->getContentsMargins( &left, NULL, NULL, NULL );
-
-    return left;
-}
-
-/*!
-  \brief Set the spacing between the legend items
-
-  \param spacing Spacing in pixels
-  \sa spacing(), setMargin()
-*/
-void QwtPlotLegendItem::setSpacing( int spacing )
-{
-    spacing = qMax( spacing, 0 );
-    if ( spacing != d_data->layout->spacing() )
-    {
-        d_data->layout->setSpacing( spacing );
-        itemChanged();
-    }
-}
-
-/*!
-  \return Spacing between the legend items
-  \sa setSpacing(), margin(), itemSpacing(), itemMargin()
- */
-int QwtPlotLegendItem::spacing() const
-{
-    return d_data->layout->spacing();
-}
-
-/*!
-  Set the margin around each item
-
-  \param margin Margin
-  \sa itemMargin(), setItemSpacing(), setMargin(), setSpacing()
- */
-void QwtPlotLegendItem::setItemMargin( int margin )
-{
-    margin = qMax( margin, 0 );
-    if ( margin != d_data->itemMargin )
-    {
-        d_data->itemMargin = margin;
-
-        d_data->layout->invalidate();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Margin around each item
-  \sa setItemMargin(), itemSpacing(), margin(), spacing()
-*/
-int QwtPlotLegendItem::itemMargin() const
-{
-    return d_data->itemMargin;
-}
-
-/*!
-  Set the spacing inside of each item
-
-  \param spacing Spacing
-  \sa itemSpacing(), setItemMargin(), setMargin(), setSpacing()
- */
-void QwtPlotLegendItem::setItemSpacing( int spacing )
-{
-    spacing = qMax( spacing, 0 );
-    if ( spacing != d_data->itemSpacing )
-    {
-        d_data->itemSpacing = spacing;
-
-        d_data->layout->invalidate();
-        itemChanged();
-    }
-
-}
-
-/*!
-  \return Spacing inside of each item
-  \sa setItemSpacing(), itemMargin(), margin(), spacing()
-*/
-int QwtPlotLegendItem::itemSpacing() const
-{
-    return d_data->itemSpacing;
-}
-
-/*!
-   Change the font used for drawing the text label
-
-   \param font Legend font
-   \sa font()
-*/
-void QwtPlotLegendItem::setFont( const QFont &font )
-{
-    if ( font != d_data->font )
-    {
-        d_data->font = font;
-
-        d_data->layout->invalidate();
-        itemChanged();
-    }
-}
-
-/*!
-   \return Font used for drawing the text label
-   \sa setFont()
-*/
-QFont QwtPlotLegendItem::font() const
-{
-    return d_data->font;
-}
-
-/*!
-  \brief Set the margin between the legend and the canvas border
-
-  The default setting for the margin is 10 pixels.
-
-  \param distance Margin in pixels
-  \sa setMargin()
- */
-void QwtPlotLegendItem::setBorderDistance( int distance )
-{
-    if ( distance < 0 )
-        distance = -1;
-
-    if ( distance != d_data->borderDistance )
-    {
-        d_data->borderDistance = distance;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Margin between the legend and the canvas border
-  \sa margin()
- */
-int QwtPlotLegendItem::borderDistance() const
-{
-    return d_data->borderDistance;
-}
-
-/*!
-  Set the radius for the border
-  
-  \param radius A value <= 0 defines a rectangular border
-  \sa borderRadius(), setBorderPen()
- */
-void QwtPlotLegendItem::setBorderRadius( double radius )
-{
-    radius = qMax( 0.0, radius );
-
-    if ( radius != d_data->borderRadius )
-    {
-        d_data->borderRadius = radius;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Radius of the border
-  \sa setBorderRadius(), setBorderPen()
- */
-double QwtPlotLegendItem::borderRadius() const
-{
-    return d_data->borderRadius;
-}
-
-/*!
-  Set the pen for drawing the border
-
-  \param pen Border pen
-  \sa borderPen(), setBackgroundBrush()
- */
-void QwtPlotLegendItem::setBorderPen( const QPen &pen )
-{
-    if ( d_data->borderPen != pen )
-    {
-        d_data->borderPen = pen;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Pen for drawing the border
-  \sa setBorderPen(), backgroundBrush()
- */
-QPen QwtPlotLegendItem::borderPen() const
-{
-    return d_data->borderPen;
-}
-
-/*!
-  \brief Set the background brush
-
-  The brush is used to fill the background
-
-  \param brush Brush
-  \sa backgroundBrush(), setBackgroundMode(), drawBackground()
- */
-void QwtPlotLegendItem::setBackgroundBrush( const QBrush &brush )
-{
-    if ( d_data->backgroundBrush != brush )
-    {
-        d_data->backgroundBrush = brush;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Brush is used to fill the background
-  \sa setBackgroundBrush(), backgroundMode(), drawBackground()
- */
-QBrush QwtPlotLegendItem::backgroundBrush() const
-{
-    return d_data->backgroundBrush;
-}
-
-/*!
-  \brief Set the background mode
-
-  Depending on the mode the complete legend or each item 
-  might have an background.
-
-  The default setting is LegendBackground.
-
-   \sa backgroundMode(), setBackgroundBrush(), drawBackground()
- */
-void QwtPlotLegendItem::setBackgroundMode( BackgroundMode mode )
-{
-    if ( mode != d_data->backgroundMode )
-    {
-        d_data->backgroundMode = mode;
-        itemChanged();
-    }
-}
-
-/*! 
-  \return backgroundMode
-  \sa setBackgroundMode(), backgroundBrush(), drawBackground()
- */
-QwtPlotLegendItem::BackgroundMode QwtPlotLegendItem::backgroundMode() const
-{
-    return d_data->backgroundMode;
-}
-
-/*!
-  \brief Set the pen for drawing text labels
-
-  \param pen Text pen
-  \sa textPen(), setFont()
- */
-void QwtPlotLegendItem::setTextPen( const QPen &pen )
-{
-    if ( d_data->textPen != pen )
-    {
-        d_data->textPen = pen;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Pen for drawing text labels
-  \sa setTextPen(), font()
- */
-QPen QwtPlotLegendItem::textPen() const
-{
-    return d_data->textPen;
-}
-
-/*!
-  Draw the legend
-
-  \param painter Painter
-  \param xMap x Scale Map
-  \param yMap y Scale Map
-  \param canvasRect Contents rectangle of the canvas in painter coordinates
-*/
-void QwtPlotLegendItem::draw( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect ) const
-{
-    Q_UNUSED( xMap );
-    Q_UNUSED( yMap );
-
-    d_data->layout->setGeometry( geometry( canvasRect ) );
-
-    if ( d_data->backgroundMode == QwtPlotLegendItem::LegendBackground )
-        drawBackground( painter, d_data->layout->geometry() );
-    
-    for ( int i = 0; i <  d_data->layout->count(); i++ )
-    {
-        const QwtLegendLayoutItem *layoutItem = 
-            static_cast<QwtLegendLayoutItem *>( d_data->layout->itemAt( i ) );
-
-        if ( d_data->backgroundMode == QwtPlotLegendItem::ItemBackground )
-            drawBackground( painter, layoutItem->geometry() );
-
-        painter->save();
-
-        drawLegendData( painter, layoutItem->plotItem(),
-            layoutItem->data(), layoutItem->geometry() );
-
-        painter->restore();
-    }
-}
-
-/*!
-  Draw a rounded rect
-
-  \param painter Painter
-  \param rect Bounding rectangle
-
-  \sa setBorderRadius(), setBorderPen(),
-      setBackgroundBrush(), setBackgroundMode()
- */
-void QwtPlotLegendItem::drawBackground( 
-    QPainter *painter, const QRectF &rect ) const
-{
-    painter->save();
-
-    painter->setPen( d_data->borderPen );
-    painter->setBrush( d_data->backgroundBrush );
-    
-    const double radius = d_data->borderRadius;
-    painter->drawRoundedRect( rect, radius, radius );
-    
-    painter->restore();
-}
-
-/*!
-  Calculate the geometry of the legend on the canvas
-
-  \param canvasRect Geometry of the canvas
-  \return Geometry of the legend
-*/
-QRect QwtPlotLegendItem::geometry( const QRectF &canvasRect ) const
-{
-    QRect rect;
-    rect.setSize( d_data->layout->sizeHint() );
-
-    int margin = d_data->borderDistance;
-    if ( d_data->alignment & Qt::AlignHCenter )
-    {
-        int x = qRound( canvasRect.center().x() );
-        rect.moveCenter( QPoint( x, rect.center().y() ) ); 
-    }
-    else if ( d_data->alignment & Qt::AlignRight )
-    {
-        rect.moveRight( qFloor( canvasRect.right() - margin ) );
-    }
-    else 
-    {
-        rect.moveLeft( qCeil( canvasRect.left() + margin ) );
-    }
-
-    if ( d_data->alignment & Qt::AlignVCenter )
-    {
-        int y = qRound( canvasRect.center().y() );
-        rect.moveCenter( QPoint( rect.center().x(), y ) );
-    }
-    else if ( d_data->alignment & Qt::AlignBottom )
-    {
-        rect.moveBottom( qFloor( canvasRect.bottom() - margin ) );
-    }
-    else 
-    {
-        rect.moveTop( qCeil( canvasRect.top() + margin ) ); 
-    }
-
-    return rect;
-}
-
-/*!
-  Update the legend items according to modifications of a 
-  plot item
-
-  \param plotItem Plot item
-  \param data Attributes of the legend entries
- */
-void QwtPlotLegendItem::updateLegend( const QwtPlotItem *plotItem,
-        const QList<QwtLegendData> &data )
-{
-    if ( plotItem == NULL )
-        return;
-
-    QList<QwtLegendLayoutItem *> layoutItems;
-
-    QMap<const QwtPlotItem *, QList<QwtLegendLayoutItem *> >::iterator it = 
-        d_data->map.find( plotItem );
-    if ( it != d_data->map.end() )
-        layoutItems = it.value();
-
-    bool changed = false;
-
-    if ( data.size() != layoutItems.size() )
-    {
-        changed = true;
-
-        for ( int i = 0; i < layoutItems.size(); i++ )
-        {
-            d_data->layout->removeItem( layoutItems[i] );
-            delete layoutItems[i];
-        }
-        if ( it != d_data->map.end() )
-            d_data->map.remove( plotItem );
-
-        if ( !data.isEmpty() )
-        {
-            for ( int i = 0; i < data.size(); i++ )
-            {
-                QwtLegendLayoutItem *layoutItem = 
-                    new QwtLegendLayoutItem( this, plotItem );
-                d_data->layout->addItem( layoutItem );
-                layoutItems += layoutItem;
-            }
-
-            d_data->map.insert( plotItem, layoutItems );
-        }
-    }
-
-    for ( int i = 0; i < data.size(); i++ )
-    {
-        if ( layoutItems[i]->data().values() != data[i].values() )
-        {
-            layoutItems[i]->setData( data[i] );
-            changed = true;
-        }
-    }
-
-    if ( changed )
-    {
-        d_data->layout->invalidate();
-        itemChanged();
-    }
-}
-
-//! Remove all items from the legend
-void QwtPlotLegendItem::clearLegend()
-{
-    if ( !d_data->map.isEmpty() )
-    {
-        d_data->map.clear();
-
-        for ( int i = d_data->layout->count() - 1; i >= 0; i-- )
-            delete d_data->layout->takeAt( i );
-
-        itemChanged();
-    }
-}
-
-/*!
-  Draw an entry on the legend
-
-  \param painter Qt Painter
-  \param plotItem Plot item, represented by the entry
-  \param data Attributes of the legend entry
-  \param rect Bounding rectangle for the entry
- */
-void QwtPlotLegendItem::drawLegendData( QPainter *painter,
-    const QwtPlotItem *plotItem, const QwtLegendData &data, 
-    const QRectF &rect ) const
-{
-    Q_UNUSED( plotItem );
-
-    const int m = d_data->itemMargin;
-    const QRectF r = rect.toRect().adjusted( m, m, -m, -m );
-
-    painter->setClipRect( r, Qt::IntersectClip );
-
-    int titleOff = 0;
-
-    const QwtGraphic graphic = data.icon();
-    if ( !graphic.isEmpty() )
-    {
-        QRectF iconRect( r.topLeft(), graphic.defaultSize() );
-
-        iconRect.moveCenter( 
-            QPoint( iconRect.center().x(), rect.center().y() ) );
-
-        graphic.render( painter, iconRect, Qt::KeepAspectRatio );
-
-        titleOff += iconRect.width() + d_data->itemSpacing;
-    }
-
-    const QwtText text = data.title();
-    if ( !text.isEmpty() )
-    {
-        painter->setPen( textPen() );
-        painter->setFont( font() );
-
-        const QRectF textRect = r.adjusted( titleOff, 0, 0, 0 );
-        text.draw( painter, textRect );
-    }
-}
-
-/*!
-  Minimum size hint needed to display an entry
-
-  \param data Attributes of the legend entry
-  \return Minimum size
- */
-QSize QwtPlotLegendItem::minimumSize( const QwtLegendData &data ) const
-{
-    QSize size( 2 * d_data->itemMargin, 2 * d_data->itemMargin );
-
-    if ( !data.isValid() )
-        return size;
-
-    const QwtGraphic graphic = data.icon();
-    const QwtText text = data.title();
-
-    int w = 0;
-    int h = 0;
-
-    if ( !graphic.isNull() )
-    {
-        w = graphic.width();
-        h = graphic.height();
-    }
-
-    if ( !text.isEmpty() )
-    {
-        const QSizeF sz = text.textSize( font() );
-
-        w += qCeil( sz.width() );
-        h = qMax( h, qCeil( sz.height() ) );
-    }
-
-    if ( graphic.width() > 0 && !text.isEmpty() )
-        w += d_data->itemSpacing;
-
-    size += QSize( w, h );
-    return size;
-}
-
-/*!
-  \return The preferred height, for a width.
-  \param data Attributes of the legend entry
-  \param width Width
-*/
-int QwtPlotLegendItem::heightForWidth( 
-    const QwtLegendData &data, int width ) const
-{
-    width -= 2 * d_data->itemMargin;
-
-    const QwtGraphic graphic = data.icon();
-    const QwtText text = data.title();
-
-    if ( text.isEmpty() )
-        return graphic.height();
-
-    if ( graphic.width() > 0 )
-        width -= graphic.width() + d_data->itemSpacing;
-
-    int h = text.heightForWidth( width, font() );
-    h += 2 * d_data->itemMargin;
-
-    return qMax( graphic.height(), h );
-}
-
-/*! 
-  \return All plot items with an entry on the legend
-  \note A plot item might have more than one entry on the legend
- */
-QList< const QwtPlotItem * > QwtPlotLegendItem::plotItems() const
-{
-    return d_data->map.keys();
-}
-
-/*!
-  \return Geometries of the items of a plot item
-  \note Usually a plot item has only one entry on the legend
-*/
-QList< QRect > QwtPlotLegendItem::legendGeometries( 
-    const QwtPlotItem *plotItem ) const
-{
-    QList<QwtLegendLayoutItem *> layoutItems;
-
-    QMap<const QwtPlotItem *, QList<QwtLegendLayoutItem *> >::iterator it =
-        d_data->map.find( plotItem );
-    if ( it != d_data->map.end() )
-        layoutItems = it.value();
-
-    QList<QRect> geometries;
-    for ( int i = 0; i < layoutItems.size(); i++ )
-        geometries += layoutItems[i]->geometry();
-
-    return geometries;
-}
diff --git a/SRC/Qwt/src/qwt_plot_legenditem.h b/SRC/Qwt/src/qwt_plot_legenditem.h
deleted file mode 100644
index 2611267..0000000
--- a/SRC/Qwt/src/qwt_plot_legenditem.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_LEGEND_ITEM_H
-#define QWT_PLOT_LEGEND_ITEM_H
-
-#include "qwt_global.h"
-#include "qwt_plot_item.h"
-#include "qwt_legend_data.h"
-
-class QFont;
-
-/*!
-  \brief A class which draws a legend inside the plot canvas
-
-  QwtPlotLegendItem can be used to draw a inside the plot canvas.
-  It can be used together with a QwtLegend or instead of it
-  to have more space for the plot canvas.
-
-  In opposite to QwtLegend the legend item is not interactive. 
-  To identify mouse clicks on a legend item an event filter
-  needs to be installed catching mouse events ob the plot canvas.
-  The geometries of the legend items are available using
-  legendGeometries().
-  
-  The legend item is aligned to plot canvas according to 
-  its alignment() flags. It might have a background for the
-  complete legend ( usually semi transparent ) or for
-  each legend item.
-
-  \note An external QwtLegend with a transparent background 
-        on top the plot canvas might be another option 
-        with a similar effect.
-*/
-
-class QWT_EXPORT QwtPlotLegendItem: public QwtPlotItem
-{
-public:
-    /*!
-      \brief Background mode
-
-      Depending on the mode the complete legend or each item 
-      might have an background.
-
-      The default setting is LegendBackground.
-
-       \sa setBackgroundMode(), setBackgroundBrush(), drawBackground()
-     */
-    enum BackgroundMode
-    {
-        //! The legend has a background
-        LegendBackground,
-
-        //! Each item has a background
-        ItemBackground
-    };
-
-    explicit QwtPlotLegendItem();
-    virtual ~QwtPlotLegendItem();
-
-    virtual int rtti() const;
-
-    void setAlignment( Qt::Alignment );
-    Qt::Alignment alignment() const;
-
-    void setMaxColumns( uint );
-    uint maxColumns() const;
-
-    void setMargin( int );
-    int margin() const;
-
-    void setSpacing( int );
-    int spacing() const;
-
-    void setItemMargin( int );
-    int itemMargin() const;
-
-    void setItemSpacing( int );
-    int itemSpacing() const;
-    
-    void setFont( const QFont& );
-    QFont font() const;
-
-    void setBorderDistance( int numPixels );
-    int borderDistance() const;
-
-    void setBorderRadius( double );
-    double borderRadius() const;
-
-    void setBorderPen( const QPen & );
-    QPen borderPen() const;
-
-    void setBackgroundBrush( const QBrush & );
-    QBrush backgroundBrush() const;
-
-    void setBackgroundMode( BackgroundMode );
-    BackgroundMode backgroundMode() const;
-
-    void setTextPen( const QPen & );
-    QPen textPen() const;
-
-    virtual void draw( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &rect ) const;
-
-    void clearLegend();
-
-    virtual void updateLegend( const QwtPlotItem *,
-        const QList<QwtLegendData> & );
-
-    virtual QRect geometry( const QRectF &canvasRect ) const;
-
-    virtual QSize minimumSize( const QwtLegendData & ) const;
-    virtual int heightForWidth( const QwtLegendData &, int w ) const;
-
-    QList< const QwtPlotItem * > plotItems() const;
-    QList< QRect > legendGeometries( const QwtPlotItem * ) const;
-
-protected:
-    virtual void drawLegendData( QPainter *painter, 
-        const QwtPlotItem *, const QwtLegendData &, const QRectF & ) const;
-
-    virtual void drawBackground( QPainter *, const QRectF &rect ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_magnifier.cpp b/SRC/Qwt/src/qwt_plot_magnifier.cpp
deleted file mode 100644
index 0f54ea1..0000000
--- a/SRC/Qwt/src/qwt_plot_magnifier.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot.h"
-#include "qwt_scale_div.h"
-#include "qwt_plot_magnifier.h"
-#include <qevent.h>
-
-class QwtPlotMagnifier::PrivateData
-{
-public:
-    PrivateData()
-    {
-        for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-            isAxisEnabled[axis] = true;
-    }
-
-    bool isAxisEnabled[QwtPlot::axisCnt];
-};
-
-/*!
-   Constructor
-   \param canvas Plot canvas to be magnified
-*/
-QwtPlotMagnifier::QwtPlotMagnifier( QWidget *canvas ):
-    QwtMagnifier( canvas )
-{
-    d_data = new PrivateData();
-}
-
-//! Destructor
-QwtPlotMagnifier::~QwtPlotMagnifier()
-{
-    delete d_data;
-}
-
-/*!
-   \brief En/Disable an axis
-
-   Only Axes that are enabled will be zoomed.
-   All other axes will remain unchanged.
-
-   \param axis Axis, see QwtPlot::Axis
-   \param on On/Off
-
-   \sa isAxisEnabled()
-*/
-void QwtPlotMagnifier::setAxisEnabled( int axis, bool on )
-{
-    if ( axis >= 0 && axis < QwtPlot::axisCnt )
-        d_data->isAxisEnabled[axis] = on;
-}
-
-/*!
-   Test if an axis is enabled
-
-   \param axis Axis, see QwtPlot::Axis
-   \return True, if the axis is enabled
-
-   \sa setAxisEnabled()
-*/
-bool QwtPlotMagnifier::isAxisEnabled( int axis ) const
-{
-    if ( axis >= 0 && axis < QwtPlot::axisCnt )
-        return d_data->isAxisEnabled[axis];
-
-    return true;
-}
-
-//! Return observed plot canvas
-QWidget *QwtPlotMagnifier::canvas()
-{
-    return parentWidget();
-}
-
-//! Return Observed plot canvas
-const QWidget *QwtPlotMagnifier::canvas() const
-{
-    return parentWidget();
-}
-
-//! Return plot widget, containing the observed plot canvas
-QwtPlot *QwtPlotMagnifier::plot()
-{
-    QWidget *w = canvas();
-    if ( w )
-        w = w->parentWidget();
-
-    return qobject_cast<QwtPlot *>( w );
-}
-
-//! Return plot widget, containing the observed plot canvas
-const QwtPlot *QwtPlotMagnifier::plot() const
-{
-    const QWidget *w = canvas();
-    if ( w )
-        w = w->parentWidget();
-
-    return qobject_cast<const QwtPlot *>( w );
-}
-
-/*!
-   Zoom in/out the axes scales
-   \param factor A value < 1.0 zooms in, a value > 1.0 zooms out.
-*/
-void QwtPlotMagnifier::rescale( double factor )
-{
-    QwtPlot* plt = plot();
-    if ( plt == NULL )
-        return;
-
-    factor = qAbs( factor );
-    if ( factor == 1.0 || factor == 0.0 )
-        return;
-
-    bool doReplot = false;
-
-    const bool autoReplot = plt->autoReplot();
-    plt->setAutoReplot( false );
-
-    for ( int axisId = 0; axisId < QwtPlot::axisCnt; axisId++ )
-    {
-        const QwtScaleDiv &scaleDiv = plt->axisScaleDiv( axisId );
-        if ( isAxisEnabled( axisId ) )
-        {
-            const double center =
-                scaleDiv.lowerBound() + scaleDiv.range() / 2;
-            const double width_2 = scaleDiv.range() / 2 * factor;
-
-            plt->setAxisScale( axisId, center - width_2, center + width_2 );
-            doReplot = true;
-        }
-    }
-
-    plt->setAutoReplot( autoReplot );
-
-    if ( doReplot )
-        plt->replot();
-}
diff --git a/SRC/Qwt/src/qwt_plot_magnifier.h b/SRC/Qwt/src/qwt_plot_magnifier.h
deleted file mode 100644
index 635a799..0000000
--- a/SRC/Qwt/src/qwt_plot_magnifier.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_MAGNIFIER_H
-#define QWT_PLOT_MAGNIFIER_H 1
-
-#include "qwt_global.h"
-#include "qwt_magnifier.h"
-
-class QwtPlot;
-
-/*!
-  \brief QwtPlotMagnifier provides zooming, by magnifying in steps.
-
-  Using QwtPlotMagnifier a plot can be zoomed in/out in steps using
-  keys, the mouse wheel or moving a mouse button in vertical direction.
-
-  Together with QwtPlotZoomer and QwtPlotPanner it is possible to implement
-  individual and powerful navigation of the plot canvas.
-
-  \sa QwtPlotZoomer, QwtPlotPanner, QwtPlot
-*/
-class QWT_EXPORT QwtPlotMagnifier: public QwtMagnifier
-{
-    Q_OBJECT
-
-public:
-    explicit QwtPlotMagnifier( QWidget * );
-    virtual ~QwtPlotMagnifier();
-
-    void setAxisEnabled( int axis, bool on );
-    bool isAxisEnabled( int axis ) const;
-
-    QWidget *canvas();
-    const QWidget *canvas() const;
-
-    QwtPlot *plot();
-    const QwtPlot *plot() const;
-
-protected:
-    virtual void rescale( double factor );
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_marker.cpp b/SRC/Qwt/src/qwt_plot_marker.cpp
deleted file mode 100644
index c2c0a3f..0000000
--- a/SRC/Qwt/src/qwt_plot_marker.cpp
+++ /dev/null
@@ -1,610 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_marker.h"
-#include "qwt_painter.h"
-#include "qwt_scale_map.h"
-#include "qwt_symbol.h"
-#include "qwt_text.h"
-#include "qwt_math.h"
-#include <qpainter.h>
-
-class QwtPlotMarker::PrivateData
-{
-public:
-    PrivateData():
-        labelAlignment( Qt::AlignCenter ),
-        labelOrientation( Qt::Horizontal ),
-        spacing( 2 ),
-        symbol( NULL ),
-        style( QwtPlotMarker::NoLine ),
-        xValue( 0.0 ),
-        yValue( 0.0 )
-    {
-    }
-
-    ~PrivateData()
-    {
-        delete symbol;
-    }
-
-    QwtText label;
-    Qt::Alignment labelAlignment;
-    Qt::Orientation labelOrientation;
-    int spacing;
-
-    QPen pen;
-    const QwtSymbol *symbol;
-    LineStyle style;
-
-    double xValue;
-    double yValue;
-};
-
-//! Sets alignment to Qt::AlignCenter, and style to QwtPlotMarker::NoLine
-QwtPlotMarker::QwtPlotMarker( const QString &title ):
-    QwtPlotItem( QwtText( title ) )
-{
-    d_data = new PrivateData;
-    setZ( 30.0 );
-}
-
-//! Sets alignment to Qt::AlignCenter, and style to QwtPlotMarker::NoLine
-QwtPlotMarker::QwtPlotMarker( const QwtText &title ):
-    QwtPlotItem( title )
-{
-    d_data = new PrivateData;
-    setZ( 30.0 );
-}
-
-//! Destructor
-QwtPlotMarker::~QwtPlotMarker()
-{
-    delete d_data;
-}
-
-//! \return QwtPlotItem::Rtti_PlotMarker
-int QwtPlotMarker::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotMarker;
-}
-
-//! Return Value
-QPointF QwtPlotMarker::value() const
-{
-    return QPointF( d_data->xValue, d_data->yValue );
-}
-
-//! Return x Value
-double QwtPlotMarker::xValue() const
-{
-    return d_data->xValue;
-}
-
-//! Return y Value
-double QwtPlotMarker::yValue() const
-{
-    return d_data->yValue;
-}
-
-//! Set Value
-void QwtPlotMarker::setValue( const QPointF& pos )
-{
-    setValue( pos.x(), pos.y() );
-}
-
-//! Set Value
-void QwtPlotMarker::setValue( double x, double y )
-{
-    if ( x != d_data->xValue || y != d_data->yValue )
-    {
-        d_data->xValue = x;
-        d_data->yValue = y;
-        itemChanged();
-    }
-}
-
-//! Set X Value
-void QwtPlotMarker::setXValue( double x )
-{
-    setValue( x, d_data->yValue );
-}
-
-//! Set Y Value
-void QwtPlotMarker::setYValue( double y )
-{
-    setValue( d_data->xValue, y );
-}
-
-/*!
-  Draw the marker
-
-  \param painter Painter
-  \param xMap x Scale Map
-  \param yMap y Scale Map
-  \param canvasRect Contents rectangle of the canvas in painter coordinates
-*/
-void QwtPlotMarker::draw( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect ) const
-{
-    const QPointF pos( xMap.transform( d_data->xValue ), 
-        yMap.transform( d_data->yValue ) );
-
-    // draw lines
-
-    drawLines( painter, canvasRect, pos );
-
-    // draw symbol
-    if ( d_data->symbol &&
-        ( d_data->symbol->style() != QwtSymbol::NoSymbol ) )
-    {
-        const QSizeF sz = d_data->symbol->size();
-
-        const QRectF clipRect = canvasRect.adjusted( 
-            -sz.width(), -sz.height(), sz.width(), sz.height() );
-
-        if ( clipRect.contains( pos ) )
-            d_data->symbol->drawSymbol( painter, pos );
-    }
-
-    drawLabel( painter, canvasRect, pos );
-}
-
-/*!
-  Draw the lines marker
-
-  \param painter Painter
-  \param canvasRect Contents rectangle of the canvas in painter coordinates
-  \param pos Position of the marker, translated into widget coordinates
-
-  \sa drawLabel(), QwtSymbol::drawSymbol()
-*/
-void QwtPlotMarker::drawLines( QPainter *painter,
-    const QRectF &canvasRect, const QPointF &pos ) const
-{
-    if ( d_data->style == NoLine )
-        return;
-
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    painter->setPen( d_data->pen );
-    if ( d_data->style == QwtPlotMarker::HLine ||
-        d_data->style == QwtPlotMarker::Cross )
-    {
-        double y = pos.y();
-        if ( doAlign )
-            y = qRound( y );
-
-        QwtPainter::drawLine( painter, canvasRect.left(),
-            y, canvasRect.right() - 1.0, y );
-    }
-    if ( d_data->style == QwtPlotMarker::VLine ||
-        d_data->style == QwtPlotMarker::Cross )
-    {
-        double x = pos.x();
-        if ( doAlign )
-            x = qRound( x );
-
-        QwtPainter::drawLine( painter, x,
-            canvasRect.top(), x, canvasRect.bottom() - 1.0 );
-    }
-}
-
-/*!
-  Align and draw the text label of the marker
-
-  \param painter Painter
-  \param canvasRect Contents rectangle of the canvas in painter coordinates
-  \param pos Position of the marker, translated into widget coordinates
-
-  \sa drawLabel(), QwtSymbol::drawSymbol()
-*/
-void QwtPlotMarker::drawLabel( QPainter *painter,
-    const QRectF &canvasRect, const QPointF &pos ) const
-{
-    if ( d_data->label.isEmpty() )
-        return;
-
-    Qt::Alignment align = d_data->labelAlignment;
-    QPointF alignPos = pos;
-
-    QSizeF symbolOff( 0, 0 );
-
-    switch ( d_data->style )
-    {
-        case QwtPlotMarker::VLine:
-        {
-            // In VLine-style the y-position is pointless and
-            // the alignment flags are relative to the canvas
-
-            if ( d_data->labelAlignment & Qt::AlignTop )
-            {
-                alignPos.setY( canvasRect.top() );
-                align &= ~Qt::AlignTop;
-                align |= Qt::AlignBottom;
-            }
-            else if ( d_data->labelAlignment & Qt::AlignBottom )
-            {
-                // In HLine-style the x-position is pointless and
-                // the alignment flags are relative to the canvas
-
-                alignPos.setY( canvasRect.bottom() - 1 );
-                align &= ~Qt::AlignBottom;
-                align |= Qt::AlignTop;
-            }
-            else
-            {
-                alignPos.setY( canvasRect.center().y() );
-            }
-            break;
-        }
-        case QwtPlotMarker::HLine:
-        {
-            if ( d_data->labelAlignment & Qt::AlignLeft )
-            {
-                alignPos.setX( canvasRect.left() );
-                align &= ~Qt::AlignLeft;
-                align |= Qt::AlignRight;
-            }
-            else if ( d_data->labelAlignment & Qt::AlignRight )
-            {
-                alignPos.setX( canvasRect.right() - 1 );
-                align &= ~Qt::AlignRight;
-                align |= Qt::AlignLeft;
-            }
-            else
-            {
-                alignPos.setX( canvasRect.center().x() );
-            }
-            break;
-        }
-        default:
-        {
-            if ( d_data->symbol &&
-                ( d_data->symbol->style() != QwtSymbol::NoSymbol ) )
-            {
-                symbolOff = d_data->symbol->size() + QSizeF( 1, 1 );
-                symbolOff /= 2;
-            }
-        }
-    }
-
-    qreal pw2 = d_data->pen.widthF() / 2.0;
-    if ( pw2 == 0.0 )
-        pw2 = 0.5;
-
-    const int spacing = d_data->spacing;
-
-    const qreal xOff = qMax( pw2, symbolOff.width() );
-    const qreal yOff = qMax( pw2, symbolOff.height() );
-
-    const QSizeF textSize = d_data->label.textSize( painter->font() );
-
-    if ( align & Qt::AlignLeft )
-    {
-        alignPos.rx() -= xOff + spacing;
-        if ( d_data->labelOrientation == Qt::Vertical )
-            alignPos.rx() -= textSize.height();
-        else
-            alignPos.rx() -= textSize.width();
-    }
-    else if ( align & Qt::AlignRight )
-    {
-        alignPos.rx() += xOff + spacing;
-    }
-    else
-    {
-        if ( d_data->labelOrientation == Qt::Vertical )
-            alignPos.rx() -= textSize.height() / 2;
-        else
-            alignPos.rx() -= textSize.width() / 2;
-    }
-
-    if ( align & Qt::AlignTop )
-    {
-        alignPos.ry() -= yOff + spacing;
-        if ( d_data->labelOrientation != Qt::Vertical )
-            alignPos.ry() -= textSize.height();
-    }
-    else if ( align & Qt::AlignBottom )
-    {
-        alignPos.ry() += yOff + spacing;
-        if ( d_data->labelOrientation == Qt::Vertical )
-            alignPos.ry() += textSize.width();
-    }
-    else
-    {
-        if ( d_data->labelOrientation == Qt::Vertical )
-            alignPos.ry() += textSize.width() / 2;
-        else
-            alignPos.ry() -= textSize.height() / 2;
-    }
-
-    painter->translate( alignPos.x(), alignPos.y() );
-    if ( d_data->labelOrientation == Qt::Vertical )
-        painter->rotate( -90.0 );
-
-    const QRectF textRect( 0, 0, textSize.width(), textSize.height() );
-    d_data->label.draw( painter, textRect );
-}
-
-/*!
-  \brief Set the line style
-  \param style Line style. 
-  \sa lineStyle()
-*/
-void QwtPlotMarker::setLineStyle( LineStyle style )
-{
-    if ( style != d_data->style )
-    {
-        d_data->style = style;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return the line style
-  \sa setLineStyle()
-*/
-QwtPlotMarker::LineStyle QwtPlotMarker::lineStyle() const
-{
-    return d_data->style;
-}
-
-/*!
-  \brief Assign a symbol
-  \param symbol New symbol
-  \sa symbol()
-*/
-void QwtPlotMarker::setSymbol( const QwtSymbol *symbol )
-{
-    if ( symbol != d_data->symbol )
-    {
-        delete d_data->symbol;
-        d_data->symbol = symbol;
-
-        if ( symbol )
-            setLegendIconSize( symbol->boundingRect().size() );
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return the symbol
-  \sa setSymbol(), QwtSymbol
-*/
-const QwtSymbol *QwtPlotMarker::symbol() const
-{
-    return d_data->symbol;
-}
-
-/*!
-  \brief Set the label
-  \param label Label text
-  \sa label()
-*/
-void QwtPlotMarker::setLabel( const QwtText& label )
-{
-    if ( label != d_data->label )
-    {
-        d_data->label = label;
-        itemChanged();
-    }
-}
-
-/*!
-  \return the label
-  \sa setLabel()
-*/
-QwtText QwtPlotMarker::label() const
-{
-    return d_data->label;
-}
-
-/*!
-  \brief Set the alignment of the label
-
-  In case of QwtPlotMarker::HLine the alignment is relative to the
-  y position of the marker, but the horizontal flags correspond to the
-  canvas rectangle. In case of QwtPlotMarker::VLine the alignment is
-  relative to the x position of the marker, but the vertical flags
-  correspond to the canvas rectangle.
-
-  In all other styles the alignment is relative to the marker's position.
-
-  \param align Alignment. 
-  \sa labelAlignment(), labelOrientation()
-*/
-void QwtPlotMarker::setLabelAlignment( Qt::Alignment align )
-{
-    if ( align != d_data->labelAlignment )
-    {
-        d_data->labelAlignment = align;
-        itemChanged();
-    }
-}
-
-/*!
-  \return the label alignment
-  \sa setLabelAlignment(), setLabelOrientation()
-*/
-Qt::Alignment QwtPlotMarker::labelAlignment() const
-{
-    return d_data->labelAlignment;
-}
-
-/*!
-  \brief Set the orientation of the label
-
-  When orientation is Qt::Vertical the label is rotated by 90.0 degrees
-  ( from bottom to top ).
-
-  \param orientation Orientation of the label
-
-  \sa labelOrientation(), setLabelAlignment()
-*/
-void QwtPlotMarker::setLabelOrientation( Qt::Orientation orientation )
-{
-    if ( orientation != d_data->labelOrientation )
-    {
-        d_data->labelOrientation = orientation;
-        itemChanged();
-    }
-}
-
-/*!
-  \return the label orientation
-  \sa setLabelOrientation(), labelAlignment()
-*/
-Qt::Orientation QwtPlotMarker::labelOrientation() const
-{
-    return d_data->labelOrientation;
-}
-
-/*!
-  \brief Set the spacing
-
-  When the label is not centered on the marker position, the spacing
-  is the distance between the position and the label.
-
-  \param spacing Spacing
-  \sa spacing(), setLabelAlignment()
-*/
-void QwtPlotMarker::setSpacing( int spacing )
-{
-    if ( spacing < 0 )
-        spacing = 0;
-
-    if ( spacing == d_data->spacing )
-        return;
-
-    d_data->spacing = spacing;
-    itemChanged();
-}
-
-/*!
-  \return the spacing
-  \sa setSpacing()
-*/
-int QwtPlotMarker::spacing() const
-{
-    return d_data->spacing;
-}
-
-/*! 
-  Build and assign a line pen
-    
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it
-  non cosmetic ( see QPen::isCosmetic() ). This method has been introduced
-  to hide this incompatibility.
-    
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-    
-  \sa pen(), brush()
- */ 
-void QwtPlotMarker::setLinePen( const QColor &color, qreal width, Qt::PenStyle style )
-{   
-    setLinePen( QPen( color, width, style ) );
-}
-
-/*!
-  Specify a pen for the line.
-
-  \param pen New pen
-  \sa linePen()
-*/
-void QwtPlotMarker::setLinePen( const QPen &pen )
-{
-    if ( pen != d_data->pen )
-    {
-        d_data->pen = pen;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return the line pen
-  \sa setLinePen()
-*/
-const QPen &QwtPlotMarker::linePen() const
-{
-    return d_data->pen;
-}
-
-QRectF QwtPlotMarker::boundingRect() const
-{
-    return QRectF( d_data->xValue, d_data->yValue, 0.0, 0.0 );
-}
-
-/*!
-   \return Icon representing the marker on the legend
-
-   \param index Index of the legend entry 
-                ( usually there is only one )
-   \param size Icon size
-
-   \sa setLegendIconSize(), legendData()
-*/
-QwtGraphic QwtPlotMarker::legendIcon( int index,
-    const QSizeF &size ) const
-{
-    Q_UNUSED( index );
-
-    if ( size.isEmpty() )
-        return QwtGraphic();
-
-    QwtGraphic icon;
-    icon.setDefaultSize( size );
-    icon.setRenderHint( QwtGraphic::RenderPensUnscaled, true );
-
-    QPainter painter( &icon );
-    painter.setRenderHint( QPainter::Antialiasing,
-        testRenderHint( QwtPlotItem::RenderAntialiased ) );
-
-    if ( d_data->style != QwtPlotMarker::NoLine )
-    {
-        painter.setPen( d_data->pen );
-
-        if ( d_data->style == QwtPlotMarker::HLine ||
-            d_data->style == QwtPlotMarker::Cross )
-        {
-            const double y = 0.5 * size.height();
-
-            QwtPainter::drawLine( &painter, 
-                0.0, y, size.width(), y );
-        }
-
-        if ( d_data->style == QwtPlotMarker::VLine ||
-            d_data->style == QwtPlotMarker::Cross )
-        {
-            const double x = 0.5 * size.width();
-
-            QwtPainter::drawLine( &painter, 
-                x, 0.0, x, size.height() );
-        }
-    }
-
-    if ( d_data->symbol )
-    {
-        const QRect r( 0.0, 0.0, size.width(), size.height() );
-        d_data->symbol->drawSymbol( &painter, r );
-    }
-
-    return icon;
-}
-
diff --git a/SRC/Qwt/src/qwt_plot_marker.h b/SRC/Qwt/src/qwt_plot_marker.h
deleted file mode 100644
index b5d04a0..0000000
--- a/SRC/Qwt/src/qwt_plot_marker.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_MARKER_H
-#define QWT_PLOT_MARKER_H
-
-#include <qpen.h>
-#include <qfont.h>
-#include <qstring.h>
-#include <qbrush.h>
-#include "qwt_global.h"
-#include "qwt_plot_item.h"
-
-class QRectF;
-class QwtText;
-class QwtSymbol;
-
-/*!
-  \brief A class for drawing markers
-
-  A marker can be a horizontal line, a vertical line,
-  a symbol, a label or any combination of them, which can
-  be drawn around a center point inside a bounding rectangle.
-
-  The setSymbol() member assigns a symbol to the marker.
-  The symbol is drawn at the specified point.
-
-  With setLabel(), a label can be assigned to the marker.
-  The setLabelAlignment() member specifies where the label is
-  drawn. All the Align*-constants in Qt::AlignmentFlags (see Qt documentation)
-  are valid. The interpretation of the alignment depends on the marker's
-  line style. The alignment refers to the center point of
-  the marker, which means, for example, that the label would be printed
-  left above the center point if the alignment was set to 
-  Qt::AlignLeft | Qt::AlignTop.
-
-  \note QwtPlotTextLabel is intended to align a text label
-        according to the geometry of canvas 
-        ( unrelated to plot coordinates )
-*/
-
-class QWT_EXPORT QwtPlotMarker: public QwtPlotItem
-{
-public:
-
-    /*!
-        Line styles.
-        \sa setLineStyle(), lineStyle()
-    */
-    enum LineStyle
-    {
-        //! No line
-        NoLine,
-
-        //! A horizontal line
-        HLine,
-
-        //! A vertical line
-        VLine,
-
-        //! A crosshair
-        Cross
-    };
-
-    explicit QwtPlotMarker( const QString &title = QString::null );
-    explicit QwtPlotMarker( const QwtText &title );
-
-    virtual ~QwtPlotMarker();
-
-    virtual int rtti() const;
-
-    double xValue() const;
-    double yValue() const;
-    QPointF value() const;
-
-    void setXValue( double );
-    void setYValue( double );
-    void setValue( double, double );
-    void setValue( const QPointF & );
-
-    void setLineStyle( LineStyle st );
-    LineStyle lineStyle() const;
-
-    void setLinePen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setLinePen( const QPen &p );
-    const QPen &linePen() const;
-
-    void setSymbol( const QwtSymbol * );
-    const QwtSymbol *symbol() const;
-
-    void setLabel( const QwtText& );
-    QwtText label() const;
-
-    void setLabelAlignment( Qt::Alignment );
-    Qt::Alignment labelAlignment() const;
-
-    void setLabelOrientation( Qt::Orientation );
-    Qt::Orientation labelOrientation() const;
-
-    void setSpacing( int );
-    int spacing() const;
-
-    virtual void draw( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF & ) const;
-
-    virtual QRectF boundingRect() const;
-
-    virtual QwtGraphic legendIcon( int index, const QSizeF & ) const;
-
-protected:
-    virtual void drawLines( QPainter *, 
-        const QRectF &, const QPointF & ) const;
-
-    virtual void drawLabel( QPainter *, 
-        const QRectF &, const QPointF & ) const;
-
-private:
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_multi_barchart.cpp b/SRC/Qwt/src/qwt_plot_multi_barchart.cpp
deleted file mode 100644
index 4041de4..0000000
--- a/SRC/Qwt/src/qwt_plot_multi_barchart.cpp
+++ /dev/null
@@ -1,744 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_multi_barchart.h"
-#include "qwt_scale_map.h"
-#include "qwt_column_symbol.h"
-#include "qwt_painter.h"
-#include <qpainter.h>
-#include <qpalette.h>
-#include <qmap.h>
-
-inline static bool qwtIsIncreasing(
-    const QwtScaleMap &map, const QVector<double> &values )
-{
-    bool isInverting = map.isInverting();
-
-    for ( int i = 0; i < values.size(); i++ )
-    {
-        const double y = values[ i ];
-        if ( y != 0.0 )
-            return ( map.isInverting() != ( y > 0.0 ) );
-    }
-
-    return !isInverting;
-}
-
-class QwtPlotMultiBarChart::PrivateData
-{
-public:
-    PrivateData():
-        style( QwtPlotMultiBarChart::Grouped )
-    {
-    }
-
-    QwtPlotMultiBarChart::ChartStyle style;
-    QList<QwtText> barTitles;
-    QMap<int, QwtColumnSymbol *> symbolMap;
-};
-
-/*!
-  Constructor
-  \param title Title of the chart
-*/
-QwtPlotMultiBarChart::QwtPlotMultiBarChart( const QwtText &title ):
-    QwtPlotAbstractBarChart( title )
-{
-    init();
-}
-
-/*!
-  Constructor
-  \param title Title of the chart
-*/
-QwtPlotMultiBarChart::QwtPlotMultiBarChart( const QString &title ):
-    QwtPlotAbstractBarChart( QwtText( title ) )
-{
-    init();
-}
-
-//! Destructor
-QwtPlotMultiBarChart::~QwtPlotMultiBarChart()
-{
-    resetSymbolMap();
-    delete d_data;
-}
-
-void QwtPlotMultiBarChart::init()
-{
-    d_data = new PrivateData;
-    setData( new QwtSetSeriesData() );
-}
-
-//! \return QwtPlotItem::Rtti_PlotBarChart
-int QwtPlotMultiBarChart::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotMultiBarChart;
-}
-
-/*!
-  Initialize data with an array of samples.
-  \param samples Vector of points
-*/
-void QwtPlotMultiBarChart::setSamples(
-    const QVector<QwtSetSample> &samples )
-{
-    setData( new QwtSetSeriesData( samples ) );
-}
-
-/*!
-  Initialize data with an array of samples.
-  \param samples Vector of points
-*/
-void QwtPlotMultiBarChart::setSamples(
-    const QVector< QVector<double> > &samples )
-{
-    QVector<QwtSetSample> s;
-    for ( int i = 0; i < samples.size(); i++ )
-        s += QwtSetSample( i, samples[ i ] );
-
-    setData( new QwtSetSeriesData( s ) );
-}
-
-/*!
-  Assign a series of samples
-    
-  setSamples() is just a wrapper for setData() without any additional
-  value - beside that it is easier to find for the developer.
-    
-  \param data Data
-  \warning The item takes ownership of the data object, deleting
-           it when its not used anymore.
-*/  
-void QwtPlotMultiBarChart::setSamples( 
-    QwtSeriesData<QwtSetSample> *data )
-{       
-    setData( data );
-}       
-
-/*!
-  \brief Set the titles for the bars
-
-  The titles are used for the legend.
-
-  \param titles Bar titles
-
-  \sa barTitles(), legendData()
- */
-void QwtPlotMultiBarChart::setBarTitles( const QList<QwtText> &titles )
-{
-    d_data->barTitles = titles;
-    itemChanged();
-}
-
-/*! 
-  \return Bar titles
-  \sa setBarTitles(), legendData()
- */
-QList<QwtText> QwtPlotMultiBarChart::barTitles() const
-{
-    return d_data->barTitles;
-}
-
-/*!
-  \brief Add a symbol to the symbol map
-
-  Assign a default symbol for drawing the bar representing all values
-  with the same index in a set.
-
-  \param valueIndex Index of a value in a set
-  \param symbol Symbol used for drawing a bar
-
-  \sa symbol(), resetSymbolMap(), specialSymbol()
-*/
-void QwtPlotMultiBarChart::setSymbol( int valueIndex, QwtColumnSymbol *symbol )
-{
-    if ( valueIndex < 0 )
-        return;
-
-    QMap<int, QwtColumnSymbol *>::iterator it = 
-        d_data->symbolMap.find(valueIndex);
-    if ( it == d_data->symbolMap.end() )
-    {
-        if ( symbol != NULL )
-        {
-            d_data->symbolMap.insert( valueIndex, symbol );
-
-            legendChanged();
-            itemChanged();
-        }
-    }
-    else
-    {
-        if ( symbol != it.value() )
-        {
-            delete it.value();
-
-            if ( symbol == NULL )
-            {
-                d_data->symbolMap.remove( valueIndex );
-            }
-            else
-            {
-                it.value() = symbol;
-            }
-
-            legendChanged();
-            itemChanged();
-        }
-    }
-}
-
-/*!
-  Find a symbol in the symbol map
-
-  \param valueIndex Index of a value in a set
-  \return The symbol, that had been set by setSymbol() or NULL.
-
-  \sa setSymbol(), specialSymbol(), drawBar()
-*/
-const QwtColumnSymbol *QwtPlotMultiBarChart::symbol( int valueIndex ) const
-{
-    QMap<int, QwtColumnSymbol *>::const_iterator it =
-        d_data->symbolMap.find( valueIndex );
-
-    return ( it == d_data->symbolMap.end() ) ? NULL : it.value();
-}
-
-/*!
-  Find a symbol in the symbol map
-
-  \param valueIndex Index of a value in a set
-  \return The symbol, that had been set by setSymbol() or NULL.
-
-  \sa setSymbol(), specialSymbol(), drawBar()
-*/
-QwtColumnSymbol *QwtPlotMultiBarChart::symbol( int valueIndex ) 
-{
-    QMap<int, QwtColumnSymbol *>::iterator it =
-        d_data->symbolMap.find( valueIndex );
-
-    return ( it == d_data->symbolMap.end() ) ? NULL : it.value();
-}
-
-/*!
-  Remove all symbols from the symbol map
- */
-void QwtPlotMultiBarChart::resetSymbolMap()
-{
-    for ( QMap<int, QwtColumnSymbol *>::iterator it 
-        = d_data->symbolMap.begin(); it != d_data->symbolMap.end(); ++it )
-    {
-        delete it.value();
-    }
-
-    d_data->symbolMap.clear();
-}
-
-/*!
-  \brief Create a symbol for special values
-
-  Usually the symbols for displaying a bar are set by setSymbols() and
-  common for all sets. By overloading specialSymbol() it is possible to
-  create a temporary symbol() for displaying a special value.
-
-  The symbol has to be created by new each time specialSymbol() is
-  called. As soon as the symbol is painted this symbol gets deleted.
-
-  When no symbol ( NULL ) is returned, the value will be displayed
-  with the standard symbol that is used for all symbols with the same 
-  valueIndex.
-
-  \param sampleIndex Index of the sample
-  \param valueIndex Index of the value in the set
-
-  \return NULL, meaning that the value is not special
-    
- */
-QwtColumnSymbol *QwtPlotMultiBarChart::specialSymbol( 
-    int sampleIndex, int valueIndex ) const
-{
-    Q_UNUSED( sampleIndex );
-    Q_UNUSED( valueIndex );
-
-    return NULL;
-}
-
-/*!
-  Set the style of the chart
-
-  \param style Chart style
-  \sa style()
- */
-void QwtPlotMultiBarChart::setStyle( ChartStyle style )
-{
-    if ( style != d_data->style )
-    {
-        d_data->style = style;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Style of the chart
-  \sa setStyle()
- */
-QwtPlotMultiBarChart::ChartStyle QwtPlotMultiBarChart::style() const
-{
-    return d_data->style;
-}
-
-/*!
-  \return Bounding rectangle of all samples.
-  For an empty series the rectangle is invalid.
-*/
-QRectF QwtPlotMultiBarChart::boundingRect() const
-{
-    const size_t numSamples = dataSize();
-
-    if ( numSamples == 0 )
-        return QwtPlotSeriesItem::boundingRect();
-
-    const double baseLine = baseline();
-
-    QRectF rect;
-
-    if ( d_data->style != QwtPlotMultiBarChart::Stacked )
-    {
-        rect = QwtPlotSeriesItem::boundingRect();
-
-        if ( rect.height() >= 0 )
-        {
-            if ( rect.bottom() < baseLine )
-                rect.setBottom( baseLine );
-            if ( rect.top() > baseLine )
-                rect.setTop( baseLine );
-        }
-    }
-    else
-    {
-        double xMin, xMax, yMin, yMax;
-
-        xMin = xMax = 0.0;
-        yMin = yMax = baseLine;
-
-        const QwtSeriesData<QwtSetSample> *series = data();
-
-        for ( size_t i = 0; i < numSamples; i++ )
-        {
-            const QwtSetSample sample = series->sample( i );
-            if ( i == 0 )
-            {
-                xMin = xMax = sample.value;
-            }
-            else
-            {
-                xMin = qMin( xMin, sample.value );
-                xMax = qMax( xMax, sample.value );
-            }
-
-            const double y = baseLine + sample.added();
-
-            yMin = qMin( yMin, y );
-            yMax = qMax( yMax, y );
-        }
-        rect.setRect( xMin, yMin, xMax - xMin, yMax - yMin );
-    }
-
-    if ( orientation() == Qt::Horizontal )
-        rect.setRect( rect.y(), rect.x(), rect.height(), rect.width() );
-
-    return rect;
-}
-
-/*!
-  Draw an interval of the bar chart
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param canvasRect Contents rectangle of the canvas
-  \param from Index of the first point to be painted
-  \param to Index of the last point to be painted. If to < 0 the
-         curve will be painted to its last point.
-
-  \sa drawSymbols()
-*/
-void QwtPlotMultiBarChart::drawSeries( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    if ( to < 0 )
-        to = dataSize() - 1;
-
-    if ( from < 0 )
-        from = 0;
-
-    if ( from > to )
-        return;
-
-
-    const QRectF br = data()->boundingRect();
-    const QwtInterval interval( br.left(), br.right() );
-
-    painter->save();
-
-    for ( int i = from; i <= to; i++ )
-    {
-        drawSample( painter, xMap, yMap,
-            canvasRect, interval, i, sample( i ) );
-    }
-
-    painter->restore();
-}
-
-/*!
-  Draw a sample
-
-  \param painter Painter
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rectangle of the canvas
-  \param boundingInterval Bounding interval of sample values
-  \param index Index of the sample to be painted
-  \param sample Sample value
-
-  \sa drawSeries()
-*/
-void QwtPlotMultiBarChart::drawSample( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, const QwtInterval &boundingInterval,
-    int index, const QwtSetSample& sample ) const
-{
-    if ( sample.set.size() <= 0 )
-        return;
-
-    double sampleW;
-
-    if ( orientation() == Qt::Horizontal )
-    {
-        sampleW = sampleWidth( yMap, canvasRect.height(),
-            boundingInterval.width(), sample.value );
-    }
-    else
-    {
-        sampleW = sampleWidth( xMap, canvasRect.width(),
-            boundingInterval.width(), sample.value );
-    }
-
-    if ( d_data->style == Stacked )
-    {
-        drawStackedBars( painter, xMap, yMap,
-            canvasRect, index, sampleW, sample );
-    }
-    else
-    {
-        drawGroupedBars( painter, xMap, yMap,
-            canvasRect, index, sampleW, sample );
-    }
-}
-
-/*!
-  Draw a grouped sample
-
-  \param painter Painter
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rectangle of the canvas
-  \param index Index of the sample to be painted
-  \param sampleWidth Boundng width for all bars of the smaple
-  \param sample Sample 
-
-  \sa drawSeries(), sampleWidth()
-*/
-void QwtPlotMultiBarChart::drawGroupedBars( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int index, double sampleWidth,
-    const QwtSetSample& sample ) const
-{
-    Q_UNUSED( canvasRect );
-
-    const int numBars = sample.set.size();
-    if ( numBars == 0 )
-        return;
-
-    if ( orientation() == Qt::Vertical )
-    {
-        const double barWidth = sampleWidth / numBars;
-
-        const double y1 = yMap.transform( baseline() );
-        const double x0 = xMap.transform( sample.value ) - 0.5 * sampleWidth;
-
-        for ( int i = 0; i < numBars; i++ )
-        {
-            const double x1 = x0 + i * barWidth;
-            const double x2 = x1 + barWidth;
-
-            const double y2 = yMap.transform( sample.set[i] );
-
-            QwtColumnRect barRect;
-            barRect.direction = ( y1 < y2 ) ?
-                QwtColumnRect::TopToBottom : QwtColumnRect::BottomToTop;
-
-            barRect.hInterval = QwtInterval( x1, x2 ).normalized();
-            if ( i != 0 )
-                barRect.hInterval.setBorderFlags( QwtInterval::ExcludeMinimum );
-
-            barRect.vInterval = QwtInterval( y1, y2 ).normalized();
-
-            drawBar( painter, index, i, barRect );
-        }
-    }
-    else
-    {
-        const double barHeight = sampleWidth / numBars;
-
-        const double x1 = xMap.transform( baseline() );
-        const double y0 = yMap.transform( sample.value ) - 0.5 * sampleWidth;
-
-        for ( int i = 0; i < numBars; i++ )
-        {
-            double y1 = y0 + i * barHeight;
-            double y2 = y1 + barHeight;
-
-            double x2 = xMap.transform( sample.set[i] );
-
-            QwtColumnRect barRect;
-            barRect.direction = x1 < x2 ?
-                QwtColumnRect::LeftToRight : QwtColumnRect::RightToLeft;
-
-            barRect.hInterval = QwtInterval( x1, x2 ).normalized();
-
-            barRect.vInterval = QwtInterval( y1, y2 );
-            if ( i != 0 )
-                barRect.vInterval.setBorderFlags( QwtInterval::ExcludeMinimum );
-
-            drawBar( painter, index, i, barRect );
-        }
-    }
-}
-
-/*!
-  Draw a stacked sample
-
-  \param painter Painter
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rectangle of the canvas
-  \param index Index of the sample to be painted
-  \param sampleWidth Width of the bars
-  \param sample Sample 
-
-  \sa drawSeries(), sampleWidth()
-*/
-void QwtPlotMultiBarChart::drawStackedBars( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int index, 
-    double sampleWidth, const QwtSetSample& sample ) const
-{
-    Q_UNUSED( canvasRect ); // clipping the bars ?
-
-    const int numBars = sample.set.size();
-    if ( numBars == 0 )
-        return;
-
-    QwtInterval::BorderFlag borderFlags = QwtInterval::IncludeBorders;
-
-    if ( orientation() == Qt::Vertical )
-    {
-        const double x1 = xMap.transform( sample.value ) - 0.5 * sampleWidth;
-        const double x2 = x1 + sampleWidth;
-
-        const bool increasing = qwtIsIncreasing( yMap, sample.set );
-
-        QwtColumnRect bar;
-        bar.direction = increasing ?
-            QwtColumnRect::TopToBottom : QwtColumnRect::BottomToTop;
-
-        bar.hInterval = QwtInterval( x1, x2 ).normalized();
-
-        double sum = baseline();
-
-        const int numBars = sample.set.size();
-        for ( int i = 0; i < numBars; i++ )
-        {
-            const double si = sample.set[ i ];
-            if ( si == 0.0 )
-                continue;
-
-            const double y1 = yMap.transform( sum );
-            const double y2 = yMap.transform( sum + si );
-
-            if ( ( y2 > y1 ) != increasing )
-            {
-                // stacked bars need to be in the same direction
-                continue;
-            }
-
-            bar.vInterval = QwtInterval( y1, y2 ).normalized();
-            bar.vInterval.setBorderFlags( borderFlags );
-
-            drawBar( painter, index, i, bar );
-
-            sum += si;
-
-            if ( increasing )
-                borderFlags = QwtInterval::ExcludeMinimum;
-            else
-                borderFlags = QwtInterval::ExcludeMaximum;
-        }
-    }
-    else
-    {
-        const double y1 = yMap.transform( sample.value ) - 0.5 * sampleWidth;
-        const double y2 = y1 + sampleWidth;
-
-        const bool increasing = qwtIsIncreasing( xMap, sample.set );
-
-        QwtColumnRect bar;
-        bar.direction = increasing ?
-            QwtColumnRect::LeftToRight : QwtColumnRect::RightToLeft;
-        bar.vInterval = QwtInterval( y1, y2 ).normalized();
-
-        double sum = baseline();
-
-        for ( int i = 0; i < sample.set.size(); i++ )
-        {
-            const double si = sample.set[ i ];
-            if ( si == 0.0 )
-                continue;
-
-            const double x1 = xMap.transform( sum );
-            const double x2 = xMap.transform( sum + si );
-
-            if ( ( x2 > x1 ) != increasing )
-            {
-                // stacked bars need to be in the same direction
-                continue;
-            }
-
-            bar.hInterval = QwtInterval( x1, x2 ).normalized();
-            bar.hInterval.setBorderFlags( borderFlags );
-
-            drawBar( painter, index, i, bar );
-
-            sum += si;
-
-            if ( increasing )
-                borderFlags = QwtInterval::ExcludeMinimum;
-            else
-                borderFlags = QwtInterval::ExcludeMaximum;
-        }
-    }
-}
-
-/*!
-  Draw a bar
-
-  \param painter Painter
-  \param sampleIndex Index of the sample - might be -1 when the
-                     bar is painted for the legend
-  \param valueIndex Index of a value in a set
-  \param rect Directed target rectangle for the bar
-
-  \sa drawSeries()
-*/
-void QwtPlotMultiBarChart::drawBar( QPainter *painter,
-    int sampleIndex, int valueIndex, const QwtColumnRect &rect ) const
-{
-    const QwtColumnSymbol *specialSym = NULL;
-    if ( sampleIndex >= 0 )
-        specialSym = specialSymbol( sampleIndex, valueIndex );
-
-    const QwtColumnSymbol *sym = specialSym;
-    if ( sym == NULL )
-        sym = symbol( valueIndex );
-
-    if ( sym )
-    {
-        sym->draw( painter, rect );
-    }
-    else
-    {
-        // we build a temporary default symbol
-        QwtColumnSymbol sym( QwtColumnSymbol::Box );
-        sym.setLineWidth( 1 );
-        sym.setFrameStyle( QwtColumnSymbol::Plain );
-        sym.draw( painter, rect );
-    }
-
-    delete specialSym;
-}
-
-/*!
-  \return Information to be displayed on the legend
-
-  The chart is represented by a list of entries - one for each bar title.
-  Each element contains a bar title and an icon showing its corresponding bar.
-
-  \sa barTitles(), legendIcon(), legendIconSize()
-*/
-QList<QwtLegendData> QwtPlotMultiBarChart::legendData() const
-{
-    QList<QwtLegendData> list;
-
-    for ( int i = 0; i < d_data->barTitles.size(); i++ )
-    {
-        QwtLegendData data;
-
-        QVariant titleValue;
-        qVariantSetValue( titleValue, d_data->barTitles[i] );
-        data.setValue( QwtLegendData::TitleRole, titleValue );
-
-        if ( !legendIconSize().isEmpty() )
-        {
-            QVariant iconValue;
-            qVariantSetValue( iconValue, 
-                legendIcon( i, legendIconSize() ) );
-
-            data.setValue( QwtLegendData::IconRole, iconValue );
-        }
-
-        list += data;
-    }
-
-    return list;
-}
-
-/*!
-  \return Icon for representing a bar on the legend
-
-  \param index Index of the bar
-  \param size Icon size
-  
-  \return An icon showing a bar
-  \sa drawBar(), legendData()
- */
-QwtGraphic QwtPlotMultiBarChart::legendIcon( int index,
-    const QSizeF &size ) const
-{
-    QwtColumnRect column;
-    column.hInterval = QwtInterval( 0.0, size.width() - 1.0 );
-    column.vInterval = QwtInterval( 0.0, size.height() - 1.0 );
-
-    QwtGraphic icon;
-    icon.setDefaultSize( size );
-    icon.setRenderHint( QwtGraphic::RenderPensUnscaled, true );
-
-    QPainter painter( &icon );
-    painter.setRenderHint( QPainter::Antialiasing,
-        testRenderHint( QwtPlotItem::RenderAntialiased ) );
-
-    drawBar( &painter, -1, index, column );
-
-    return icon;
-}
-
diff --git a/SRC/Qwt/src/qwt_plot_multi_barchart.h b/SRC/Qwt/src/qwt_plot_multi_barchart.h
deleted file mode 100644
index dbdcb4f..0000000
--- a/SRC/Qwt/src/qwt_plot_multi_barchart.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_MULTI_BAR_CHART_H
-#define QWT_PLOT_MULTI_BAR_CHART_H
-
-#include "qwt_global.h"
-#include "qwt_plot_abstract_barchart.h"
-#include "qwt_series_data.h"
-
-class QwtColumnRect;
-class QwtColumnSymbol;
-
-/*!
-  \brief QwtPlotMultiBarChart displays a series of a samples that consist
-         each of a set of values. 
-
-  Each value is displayed as a bar, the bars of each set can be organized 
-  side by side or accumulated.
-
-  Each bar of a set is rendered by a QwtColumnSymbol, that is set by setSymbol().
-  The bars of different sets use the same symbols. Exceptions are possible
-  by overloading specialSymbol() or overloading drawBar().
-
-  Depending on its orientation() the bars are displayed horizontally 
-  or vertically. The bars cover the interval between the baseline() 
-  and the value.
-
-  In opposite to most other plot items, QwtPlotMultiBarChart returns more
-  than one entry for the legend - one for each symbol.
-   
-  \sa QwtPlotBarChart, QwtPlotHistogram
-      QwtPlotSeriesItem::orientation(), QwtPlotAbstractBarChart::baseline()
- */
-class QWT_EXPORT QwtPlotMultiBarChart: 
-    public QwtPlotAbstractBarChart, public QwtSeriesStore<QwtSetSample>
-{
-public:
-    /*!
-        \brief Chart styles.
-
-        The default setting is QwtPlotMultiBarChart::Grouped.
-        \sa setStyle(), style()
-    */
-    enum ChartStyle
-    {
-        //! The bars of a set are displayed side by side
-        Grouped,
-
-        /*!
-            The bars are displayed on top of each other accumulating
-            to a single bar. All values of a set need to have the same
-            sign.
-         */
-        Stacked
-    };
-
-    explicit QwtPlotMultiBarChart( const QString &title = QString::null );
-    explicit QwtPlotMultiBarChart( const QwtText &title );
-
-    virtual ~QwtPlotMultiBarChart();
-
-    virtual int rtti() const;
-
-    void setBarTitles( const QList<QwtText> & );
-    QList<QwtText> barTitles() const;
-
-    void setSamples( const QVector<QwtSetSample> & );
-    void setSamples( const QVector< QVector<double> > & );
-    void setSamples( QwtSeriesData<QwtSetSample> * );
-
-    void setStyle( ChartStyle style );
-    ChartStyle style() const;
-
-    void setSymbol( int barIndex, QwtColumnSymbol *symbol );
-    const QwtColumnSymbol *symbol( int barIndex ) const;
-
-    void resetSymbolMap();
-
-    virtual void drawSeries( QPainter *painter,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual QRectF boundingRect() const;
-
-    virtual QList<QwtLegendData> legendData() const;
-
-    virtual QwtGraphic legendIcon( int index, const QSizeF & ) const;
-
-protected:
-    QwtColumnSymbol *symbol( int barIndex );
-
-    virtual QwtColumnSymbol *specialSymbol( 
-        int sampleIndex, int valueIndex ) const;
-
-    virtual void drawSample( QPainter *painter,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, const QwtInterval &boundingInterval,
-        int index, const QwtSetSample& sample ) const;
-
-    virtual void drawBar( QPainter *, int sampleIndex,
-        int barIndex, const QwtColumnRect & ) const;
-
-    void drawStackedBars( QPainter *painter,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int index,
-        double sampleWidth, const QwtSetSample& sample ) const;
-
-    void drawGroupedBars( QPainter *painter,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int index,
-        double sampleWidth, const QwtSetSample& sample ) const;
-
-private:
-    void init();
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_panner.cpp b/SRC/Qwt/src/qwt_plot_panner.cpp
deleted file mode 100644
index a1bb8d5..0000000
--- a/SRC/Qwt/src/qwt_plot_panner.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_panner.h"
-#include "qwt_scale_div.h"
-#include "qwt_plot.h"
-#include "qwt_painter.h"
-#include <qbitmap.h>
-#include <qstyle.h>
-#include <qstyleoption.h>
-
-static QBitmap qwtBorderMask( const QWidget *canvas, const QSize &size )
-{
-    const QRect r( 0, 0, size.width(), size.height() );
-
-    QPainterPath borderPath;
-
-    ( void )QMetaObject::invokeMethod( 
-        const_cast< QWidget *>( canvas ), "borderPath", Qt::DirectConnection,
-        Q_RETURN_ARG( QPainterPath, borderPath ), Q_ARG( QRect, r ) );
-
-    if ( borderPath.isEmpty() )
-    {
-        if ( canvas->contentsRect() == canvas->rect() )
-            return QBitmap();
-
-        QBitmap mask( size );
-        mask.fill( Qt::color0 );
-
-        QPainter painter( &mask );
-        painter.fillRect( canvas->contentsRect(), Qt::color1 );
-
-        return mask;
-    }
-
-    QImage image( size, QImage::Format_ARGB32_Premultiplied );
-    image.fill( Qt::color0 );
-
-    QPainter painter( &image );
-    painter.setClipPath( borderPath );
-    painter.fillRect( r, Qt::color1 );
-
-    // now erase the frame
-
-    painter.setCompositionMode( QPainter::CompositionMode_DestinationOut );
-
-    if ( canvas->testAttribute(Qt::WA_StyledBackground ) )
-    {
-        QStyleOptionFrame opt;
-        opt.initFrom(canvas);
-        opt.rect = r;
-        canvas->style()->drawPrimitive( QStyle::PE_Frame, &opt, &painter, canvas );
-    }
-    else
-    {
-        const QVariant borderRadius = canvas->property( "borderRadius" );
-        const QVariant frameWidth = canvas->property( "frameWidth" );
-
-        if ( borderRadius.type() == QVariant::Double 
-            && frameWidth.type() == QVariant::Int )
-        {
-            const double br = borderRadius.toDouble();
-            const int fw = frameWidth.toInt();
-        
-            if ( br > 0.0 && fw > 0 )
-            {
-                painter.setPen( QPen( Qt::color1, fw ) );
-                painter.setBrush( Qt::NoBrush );
-                painter.setRenderHint( QPainter::Antialiasing, true );
-
-                painter.drawPath( borderPath );
-            }
-        }
-    }
-
-    painter.end();
-
-    const QImage mask = image.createMaskFromColor(
-        QColor( Qt::color1 ).rgb(), Qt::MaskOutColor );
-
-    return QBitmap::fromImage( mask );
-}
-
-class QwtPlotPanner::PrivateData
-{
-public:
-    PrivateData()
-    {
-        for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-            isAxisEnabled[axis] = true;
-    }
-
-    bool isAxisEnabled[QwtPlot::axisCnt];
-};
-
-/*!
-  \brief A panner for the canvas of a QwtPlot
-
-  The panner is enabled for all axes
-
-  \param canvas Plot canvas to pan, also the parent object
-
-  \sa setAxisEnabled()
-*/
-QwtPlotPanner::QwtPlotPanner( QWidget *canvas ):
-    QwtPanner( canvas )
-{
-    d_data = new PrivateData();
-
-    connect( this, SIGNAL( panned( int, int ) ),
-        SLOT( moveCanvas( int, int ) ) );
-}
-
-//! Destructor
-QwtPlotPanner::~QwtPlotPanner()
-{
-    delete d_data;
-}
-
-/*!
-   \brief En/Disable an axis
-
-   Axes that are enabled will be synchronized to the
-   result of panning. All other axes will remain unchanged.
-
-   \param axis Axis, see QwtPlot::Axis
-   \param on On/Off
-
-   \sa isAxisEnabled(), moveCanvas()
-*/
-void QwtPlotPanner::setAxisEnabled( int axis, bool on )
-{
-    if ( axis >= 0 && axis < QwtPlot::axisCnt )
-        d_data->isAxisEnabled[axis] = on;
-}
-
-/*!
-   Test if an axis is enabled
-
-   \param axis Axis, see QwtPlot::Axis
-   \return True, if the axis is enabled
-
-   \sa setAxisEnabled(), moveCanvas()
-*/
-bool QwtPlotPanner::isAxisEnabled( int axis ) const
-{
-    if ( axis >= 0 && axis < QwtPlot::axisCnt )
-        return d_data->isAxisEnabled[axis];
-
-    return true;
-}
-
-//! Return observed plot canvas
-QWidget *QwtPlotPanner::canvas()
-{
-    return parentWidget();
-}
-
-//! Return Observed plot canvas
-const QWidget *QwtPlotPanner::canvas() const
-{
-    return parentWidget();
-}
-
-//! Return plot widget, containing the observed plot canvas
-QwtPlot *QwtPlotPanner::plot()
-{
-    QWidget *w = canvas();
-    if ( w )
-        w = w->parentWidget();
-
-    return qobject_cast<QwtPlot *>( w );
-}
-
-//! Return plot widget, containing the observed plot canvas
-const QwtPlot *QwtPlotPanner::plot() const
-{
-    const QWidget *w = canvas();
-    if ( w )
-        w = w->parentWidget();
-
-    return qobject_cast<const QwtPlot *>( w );
-}
-
-/*!
-   Adjust the enabled axes according to dx/dy
-
-   \param dx Pixel offset in x direction
-   \param dy Pixel offset in y direction
-
-   \sa QwtPanner::panned()
-*/
-void QwtPlotPanner::moveCanvas( int dx, int dy )
-{
-    if ( dx == 0 && dy == 0 )
-        return;
-
-    QwtPlot *plot = this->plot();
-    if ( plot == NULL )
-        return;
-
-    const bool doAutoReplot = plot->autoReplot();
-    plot->setAutoReplot( false );
-
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-    {
-        if ( !d_data->isAxisEnabled[axis] )
-            continue;
-
-        const QwtScaleMap map = plot->canvasMap( axis );
-
-        const double p1 = map.transform( plot->axisScaleDiv( axis ).lowerBound() );
-        const double p2 = map.transform( plot->axisScaleDiv( axis ).upperBound() );
-
-        double d1, d2;
-        if ( axis == QwtPlot::xBottom || axis == QwtPlot::xTop )
-        {
-            d1 = map.invTransform( p1 - dx );
-            d2 = map.invTransform( p2 - dx );
-        }
-        else
-        {
-            d1 = map.invTransform( p1 - dy );
-            d2 = map.invTransform( p2 - dy );
-        }
-
-        plot->setAxisScale( axis, d1, d2 );
-    }
-
-    plot->setAutoReplot( doAutoReplot );
-    plot->replot();
-}
-
-/*!
-   Calculate a mask from the border path of the canvas
-
-   \return Mask as bitmap
-   \sa QwtPlotCanvas::borderPath()
-*/
-QBitmap QwtPlotPanner::contentsMask() const
-{
-    if ( canvas() )
-        return qwtBorderMask( canvas(), size() );
-
-    return QwtPanner::contentsMask();
-}
-
-/*!
-   \return Pixmap with the content of the canvas
- */
-QPixmap QwtPlotPanner::grab() const
-{   
-    const QWidget *cv = canvas();
-    if ( cv && cv->inherits( "QGLWidget" ) )
-    {
-        // we can't grab from a QGLWidget
-
-        QPixmap pm( cv->size() );
-        QwtPainter::fillPixmap( cv, pm );
-
-        QPainter painter( &pm );
-        const_cast<QwtPlot *>( plot() )->drawCanvas( &painter );
-
-        return pm;
-    }
-
-    return QwtPanner::grab();
-}   
-
diff --git a/SRC/Qwt/src/qwt_plot_panner.h b/SRC/Qwt/src/qwt_plot_panner.h
deleted file mode 100644
index 5a0c762..0000000
--- a/SRC/Qwt/src/qwt_plot_panner.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_PANNER_H
-#define QWT_PLOT_PANNER_H 1
-
-#include "qwt_global.h"
-#include "qwt_panner.h"
-
-class QwtPlot;
-
-/*!
-  \brief QwtPlotPanner provides panning of a plot canvas
-
-  QwtPlotPanner is a panner for a plot canvas, that
-  adjusts the scales of the axes after dropping
-  the canvas on its new position.
-
-  Together with QwtPlotZoomer and QwtPlotMagnifier powerful ways
-  of navigating on a QwtPlot widget can be implemented easily.
-
-  \note The axes are not updated, while dragging the canvas
-  \sa QwtPlotZoomer, QwtPlotMagnifier
-*/
-class QWT_EXPORT QwtPlotPanner: public QwtPanner
-{
-    Q_OBJECT
-
-public:
-    explicit QwtPlotPanner( QWidget * );
-    virtual ~QwtPlotPanner();
-
-    QWidget *canvas();
-    const QWidget *canvas() const;
-
-    QwtPlot *plot();
-    const QwtPlot *plot() const;
-
-    void setAxisEnabled( int axis, bool on );
-    bool isAxisEnabled( int axis ) const;
-
-protected Q_SLOTS:
-    virtual void moveCanvas( int dx, int dy );
-
-protected:
-    virtual QBitmap contentsMask() const;
-    virtual QPixmap grab() const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_picker.cpp b/SRC/Qwt/src/qwt_plot_picker.cpp
deleted file mode 100644
index dcb1c5f..0000000
--- a/SRC/Qwt/src/qwt_plot_picker.cpp
+++ /dev/null
@@ -1,378 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_picker.h"
-#include "qwt_plot.h"
-#include "qwt_scale_div.h"
-#include "qwt_painter.h"
-#include "qwt_scale_map.h"
-#include "qwt_picker_machine.h"
-
-/*!
-  \brief Create a plot picker
-
-  The picker is set to those x- and y-axis of the plot
-  that are enabled. If both or no x-axis are enabled, the picker
-  is set to QwtPlot::xBottom. If both or no y-axis are
-  enabled, it is set to QwtPlot::yLeft.
-
-  \param canvas Plot canvas to observe, also the parent object
-
-  \sa QwtPlot::autoReplot(), QwtPlot::replot(), scaleRect()
-*/
-
-QwtPlotPicker::QwtPlotPicker( QWidget *canvas ):
-    QwtPicker( canvas ),
-    d_xAxis( -1 ),
-    d_yAxis( -1 )
-{
-    if ( !canvas )
-        return;
-
-    // attach axes
-
-    int xAxis = QwtPlot::xBottom;
-
-    const QwtPlot *plot = QwtPlotPicker::plot();
-    if ( !plot->axisEnabled( QwtPlot::xBottom ) &&
-        plot->axisEnabled( QwtPlot::xTop ) )
-    {
-        xAxis = QwtPlot::xTop;
-    }
-
-    int yAxis = QwtPlot::yLeft;
-    if ( !plot->axisEnabled( QwtPlot::yLeft ) &&
-        plot->axisEnabled( QwtPlot::yRight ) )
-    {
-        yAxis = QwtPlot::yRight;
-    }
-
-    setAxis( xAxis, yAxis );
-}
-
-/*!
-  Create a plot picker
-
-  \param xAxis Set the x axis of the picker
-  \param yAxis Set the y axis of the picker
-  \param canvas Plot canvas to observe, also the parent object
-
-  \sa QwtPlot::autoReplot(), QwtPlot::replot(), scaleRect()
-*/
-QwtPlotPicker::QwtPlotPicker( int xAxis, int yAxis, QWidget *canvas ):
-    QwtPicker( canvas ),
-    d_xAxis( xAxis ),
-    d_yAxis( yAxis )
-{
-}
-
-/*!
-  Create a plot picker
-
-  \param xAxis X axis of the picker
-  \param yAxis Y axis of the picker
-  \param rubberBand Rubber band style
-  \param trackerMode Tracker mode
-  \param canvas Plot canvas to observe, also the parent object
-
-  \sa QwtPicker, QwtPicker::setSelectionFlags(), QwtPicker::setRubberBand(),
-      QwtPicker::setTrackerMode
-
-  \sa QwtPlot::autoReplot(), QwtPlot::replot(), scaleRect()
-*/
-QwtPlotPicker::QwtPlotPicker( int xAxis, int yAxis,
-        RubberBand rubberBand, DisplayMode trackerMode,
-        QWidget *canvas ):
-    QwtPicker( rubberBand, trackerMode, canvas ),
-    d_xAxis( xAxis ),
-    d_yAxis( yAxis )
-{
-}
-
-//! Destructor
-QwtPlotPicker::~QwtPlotPicker()
-{
-}
-
-//! \return Observed plot canvas
-QWidget *QwtPlotPicker::canvas()
-{
-    return parentWidget();
-}
-
-//! \return Observed plot canvas
-const QWidget *QwtPlotPicker::canvas() const
-{
-    return parentWidget();
-}
-
-//! \return Plot widget, containing the observed plot canvas
-QwtPlot *QwtPlotPicker::plot()
-{
-    QWidget *w = canvas();
-    if ( w )
-        w = w->parentWidget();
-
-    return qobject_cast<QwtPlot *>( w );
-}
-
-//! \return Plot widget, containing the observed plot canvas
-const QwtPlot *QwtPlotPicker::plot() const
-{
-    const QWidget *w = canvas();
-    if ( w )
-        w = w->parentWidget();
-
-    return qobject_cast<const QwtPlot *>( w );
-}
-
-/*!
-  \return Normalized bounding rectangle of the axes
-  \sa QwtPlot::autoReplot(), QwtPlot::replot().
-*/
-QRectF QwtPlotPicker::scaleRect() const
-{
-    QRectF rect;
-
-    if ( plot() )
-    {
-        const QwtScaleDiv &xs = plot()->axisScaleDiv( xAxis() );
-        const QwtScaleDiv &ys = plot()->axisScaleDiv( yAxis() );
-
-        rect = QRectF( xs.lowerBound(), ys.lowerBound(),
-            xs.range(), ys.range() );
-        rect = rect.normalized();
-    }
-
-    return rect;
-}
-
-/*!
-  Set the x and y axes of the picker
-
-  \param xAxis X axis
-  \param yAxis Y axis
-*/
-void QwtPlotPicker::setAxis( int xAxis, int yAxis )
-{
-    const QwtPlot *plt = plot();
-    if ( !plt )
-        return;
-
-    if ( xAxis != d_xAxis || yAxis != d_yAxis )
-    {
-        d_xAxis = xAxis;
-        d_yAxis = yAxis;
-    }
-}
-
-//! Return x axis
-int QwtPlotPicker::xAxis() const
-{
-    return d_xAxis;
-}
-
-//! Return y axis
-int QwtPlotPicker::yAxis() const
-{
-    return d_yAxis;
-}
-
-/*!
-  Translate a pixel position into a position string
-
-  \param pos Position in pixel coordinates
-  \return Position string
-*/
-QwtText QwtPlotPicker::trackerText( const QPoint &pos ) const
-{
-    return trackerTextF( invTransform( pos ) );
-}
-
-/*!
-  \brief Translate a position into a position string
-
-  In case of HLineRubberBand the label is the value of the
-  y position, in case of VLineRubberBand the value of the x position.
-  Otherwise the label contains x and y position separated by a ',' .
-
-  The format for the double to string conversion is "%.4f".
-
-  \param pos Position
-  \return Position string
-*/
-QwtText QwtPlotPicker::trackerTextF( const QPointF &pos ) const
-{
-    QString text;
-
-    switch ( rubberBand() )
-    {
-        case HLineRubberBand:
-            text.sprintf( "%.4f", pos.y() );
-            break;
-        case VLineRubberBand:
-            text.sprintf( "%.4f", pos.x() );
-            break;
-        default:
-            text.sprintf( "%.4f, %.4f", pos.x(), pos.y() );
-    }
-    return QwtText( text );
-}
-
-/*!
-  Append a point to the selection and update rubber band and tracker.
-
-  \param pos Additional point
-  \sa isActive, begin(), end(), move(), appended()
-
-  \note The appended(const QPoint &), appended(const QDoublePoint &)
-        signals are emitted.
-*/
-void QwtPlotPicker::append( const QPoint &pos )
-{
-    QwtPicker::append( pos );
-    Q_EMIT appended( invTransform( pos ) );
-}
-
-/*!
-  Move the last point of the selection
-
-  \param pos New position
-  \sa isActive, begin(), end(), append()
-
-  \note The moved(const QPoint &), moved(const QDoublePoint &)
-        signals are emitted.
-*/
-void QwtPlotPicker::move( const QPoint &pos )
-{
-    QwtPicker::move( pos );
-    Q_EMIT moved( invTransform( pos ) );
-}
-
-/*!
-  Close a selection setting the state to inactive.
-
-  \param ok If true, complete the selection and emit selected signals
-            otherwise discard the selection.
-  \return True if the selection has been accepted, false otherwise
-*/
-
-bool QwtPlotPicker::end( bool ok )
-{
-    ok = QwtPicker::end( ok );
-    if ( !ok )
-        return false;
-
-    QwtPlot *plot = QwtPlotPicker::plot();
-    if ( !plot )
-        return false;
-
-    const QPolygon points = selection();
-    if ( points.count() == 0 )
-        return false;
-
-    QwtPickerMachine::SelectionType selectionType =
-        QwtPickerMachine::NoSelection;
-
-    if ( stateMachine() )
-        selectionType = stateMachine()->selectionType();
-
-    switch ( selectionType )
-    {
-        case QwtPickerMachine::PointSelection:
-        {
-            const QPointF pos = invTransform( points.first() );
-            Q_EMIT selected( pos );
-            break;
-        }
-        case QwtPickerMachine::RectSelection:
-        {
-            if ( points.count() >= 2 )
-            {
-                const QPoint p1 = points.first();
-                const QPoint p2 = points.last();
-
-                const QRect rect = QRect( p1, p2 ).normalized();
-                Q_EMIT selected( invTransform( rect ) );
-            }
-            break;
-        }
-        case QwtPickerMachine::PolygonSelection:
-        {
-            QVector<QPointF> dpa( points.count() );
-            for ( int i = 0; i < points.count(); i++ )
-                dpa[i] = invTransform( points[i] );
-
-            Q_EMIT selected( dpa );
-        }
-        default:
-            break;
-    }
-
-    return true;
-}
-
-/*!
-    Translate a rectangle from pixel into plot coordinates
-
-    \return Rectangle in plot coordinates
-    \sa transform()
-*/
-QRectF QwtPlotPicker::invTransform( const QRect &rect ) const
-{
-    const QwtScaleMap xMap = plot()->canvasMap( d_xAxis );
-    const QwtScaleMap yMap = plot()->canvasMap( d_yAxis );
-
-    return QwtScaleMap::invTransform( xMap, yMap, rect );
-}
-
-/*!
-    Translate a rectangle from plot into pixel coordinates
-    \return Rectangle in pixel coordinates
-    \sa invTransform()
-*/
-QRect QwtPlotPicker::transform( const QRectF &rect ) const
-{
-    const QwtScaleMap xMap = plot()->canvasMap( d_xAxis );
-    const QwtScaleMap yMap = plot()->canvasMap( d_yAxis );
-
-    return QwtScaleMap::transform( xMap, yMap, rect ).toRect();
-}
-
-/*!
-    Translate a point from pixel into plot coordinates
-    \return Point in plot coordinates
-    \sa transform()
-*/
-QPointF QwtPlotPicker::invTransform( const QPoint &pos ) const
-{
-    QwtScaleMap xMap = plot()->canvasMap( d_xAxis );
-    QwtScaleMap yMap = plot()->canvasMap( d_yAxis );
-
-    return QPointF(
-        xMap.invTransform( pos.x() ),
-        yMap.invTransform( pos.y() )
-    );
-}
-
-/*!
-    Translate a point from plot into pixel coordinates
-    \return Point in pixel coordinates
-    \sa invTransform()
-*/
-QPoint QwtPlotPicker::transform( const QPointF &pos ) const
-{
-    QwtScaleMap xMap = plot()->canvasMap( d_xAxis );
-    QwtScaleMap yMap = plot()->canvasMap( d_yAxis );
-
-    const QPointF p( xMap.transform( pos.x() ),
-        yMap.transform( pos.y() ) );
-
-    return p.toPoint();
-}
diff --git a/SRC/Qwt/src/qwt_plot_picker.h b/SRC/Qwt/src/qwt_plot_picker.h
deleted file mode 100644
index 7d21523..0000000
--- a/SRC/Qwt/src/qwt_plot_picker.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_PICKER_H
-#define QWT_PLOT_PICKER_H
-
-#include "qwt_global.h"
-#include "qwt_picker.h"
-#include <qvector.h>
-
-class QwtPlot;
-
-/*!
-  \brief QwtPlotPicker provides selections on a plot canvas
-
-  QwtPlotPicker is a QwtPicker tailored for selections on
-  a plot canvas. It is set to a x-Axis and y-Axis and
-  translates all pixel coordinates into this coordinate system.
-*/
-
-class QWT_EXPORT QwtPlotPicker: public QwtPicker
-{
-    Q_OBJECT
-
-public:
-    explicit QwtPlotPicker( QWidget *canvas );
-    virtual ~QwtPlotPicker();
-
-    explicit QwtPlotPicker( int xAxis, int yAxis, QWidget * );
-
-    explicit QwtPlotPicker( int xAxis, int yAxis,
-        RubberBand rubberBand, DisplayMode trackerMode, QWidget * );
-
-    virtual void setAxis( int xAxis, int yAxis );
-
-    int xAxis() const;
-    int yAxis() const;
-
-    QwtPlot *plot();
-    const QwtPlot *plot() const;
-
-    QWidget *canvas();
-    const QWidget *canvas() const;
-
-Q_SIGNALS:
-
-    /*!
-      A signal emitted in case of QwtPickerMachine::PointSelection.
-      \param pos Selected point
-    */
-    void selected( const QPointF &pos );
-
-    /*!
-      A signal emitted in case of QwtPickerMachine::RectSelection.
-      \param rect Selected rectangle
-    */
-    void selected( const QRectF &rect );
-
-    /*!
-      A signal emitting the selected points,
-      at the end of a selection.
-
-      \param pa Selected points
-    */
-    void selected( const QVector<QPointF> &pa );
-
-    /*!
-      A signal emitted when a point has been appended to the selection
-
-      \param pos Position of the appended point.
-      \sa append(). moved()
-    */
-    void appended( const QPointF &pos );
-
-    /*!
-      A signal emitted whenever the last appended point of the
-      selection has been moved.
-
-      \param pos Position of the moved last point of the selection.
-      \sa move(), appended()
-    */
-    void moved( const QPointF &pos );
-
-protected:
-    QRectF scaleRect() const;
-
-    QRectF invTransform( const QRect & ) const;
-    QRect transform( const QRectF & ) const;
-
-    QPointF invTransform( const QPoint & ) const;
-    QPoint transform( const QPointF & ) const;
-
-    virtual QwtText trackerText( const QPoint & ) const;
-    virtual QwtText trackerTextF( const QPointF & ) const;
-
-    virtual void move( const QPoint & );
-    virtual void append( const QPoint & );
-    virtual bool end( bool ok = true );
-
-private:
-    int d_xAxis;
-    int d_yAxis;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_rasteritem.cpp b/SRC/Qwt/src/qwt_plot_rasteritem.cpp
deleted file mode 100644
index 994ffd0..0000000
--- a/SRC/Qwt/src/qwt_plot_rasteritem.cpp
+++ /dev/null
@@ -1,946 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_rasteritem.h"
-#include "qwt_scale_map.h"
-#include "qwt_painter.h"
-#include <qapplication.h>
-#include <qdesktopwidget.h>
-#include <qpainter.h>
-#include <qpaintengine.h>
-#include <qmath.h>
-#if QT_VERSION >= 0x040400
-#include <qthread.h>
-#include <qfuture.h>
-#include <qtconcurrentrun.h>
-#endif
-#include <float.h>
-
-class QwtPlotRasterItem::PrivateData
-{
-public:
-    PrivateData():
-        alpha( -1 ),
-        paintAttributes( QwtPlotRasterItem::PaintInDeviceResolution )
-    {
-        cache.policy = QwtPlotRasterItem::NoCache;
-    }
-
-    int alpha;
-
-    QwtPlotRasterItem::PaintAttributes paintAttributes;
-
-    struct ImageCache
-    {
-        QwtPlotRasterItem::CachePolicy policy;
-        QRectF area;
-        QSizeF size;
-        QImage image;
-    } cache;
-};
-
-
-static QRectF qwtAlignRect(const QRectF &rect)
-{
-    QRectF r;
-    r.setLeft( qRound( rect.left() ) );
-    r.setRight( qRound( rect.right() ) );
-    r.setTop( qRound( rect.top() ) );
-    r.setBottom( qRound( rect.bottom() ) );
-
-    return r;
-}
-
-static QRectF qwtStripRect(const QRectF &rect, const QRectF &area,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtInterval &xInterval, const QwtInterval &yInterval)
-{
-    QRectF r = rect;
-    if ( xInterval.borderFlags() & QwtInterval::ExcludeMinimum )
-    {
-        if ( area.left() <= xInterval.minValue() )
-        {
-            if ( xMap.isInverting() )
-                r.adjust(0, 0, -1, 0);
-            else
-                r.adjust(1, 0, 0, 0);
-        }
-    }
-
-    if ( xInterval.borderFlags() & QwtInterval::ExcludeMaximum )
-    {
-        if ( area.right() >= xInterval.maxValue() )
-        {
-            if ( xMap.isInverting() )
-                r.adjust(1, 0, 0, 0);
-            else
-                r.adjust(0, 0, -1, 0);
-        }
-    }
-
-    if ( yInterval.borderFlags() & QwtInterval::ExcludeMinimum )
-    {
-        if ( area.top() <= yInterval.minValue() )
-        {
-            if ( yMap.isInverting() )
-                r.adjust(0, 0, 0, -1);
-            else
-                r.adjust(0, 1, 0, 0);
-        }
-    }
-
-    if ( yInterval.borderFlags() & QwtInterval::ExcludeMaximum )
-    {
-        if ( area.bottom() >= yInterval.maxValue() )
-        {
-            if ( yMap.isInverting() )
-                r.adjust(0, 1, 0, 0);
-            else
-                r.adjust(0, 0, 0, -1);
-        }
-    }
-
-    return r;
-}
-
-static QImage qwtExpandImage(const QImage &image,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &area, const QRectF &area2, const QRectF &paintRect,
-    const QwtInterval &xInterval, const QwtInterval &yInterval )
-{
-    const QRectF strippedRect = qwtStripRect(paintRect, area2,
-        xMap, yMap, xInterval, yInterval);
-    const QSize sz = strippedRect.toRect().size();
-
-    const int w = image.width();
-    const int h = image.height();
-
-    const QRectF r = QwtScaleMap::transform(xMap, yMap, area).normalized();
-    const double pw = ( r.width() - 1) / w;
-    const double ph = ( r.height() - 1) / h;
-
-    double px0, py0;
-    if ( !xMap.isInverting() )
-    {
-        px0 = xMap.transform( area2.left() );
-        px0 = qRound( px0 );
-        px0 = px0 - xMap.transform( area.left() );
-    }
-    else
-    {
-        px0 = xMap.transform( area2.right() );
-        px0 = qRound( px0 );
-        px0 -= xMap.transform( area.right() );
-
-        px0 -= 1.0;
-    }
-    px0 += strippedRect.left() - paintRect.left();
-
-    if ( !yMap.isInverting() )
-    {
-        py0 = yMap.transform( area2.top() );
-        py0 = qRound( py0 );
-        py0 -= yMap.transform( area.top() );
-    }
-    else
-    {
-        py0 = yMap.transform( area2.bottom() );
-        py0 = qRound( py0 );
-        py0 -= yMap.transform( area.bottom() );
-
-        py0 -= 1.0;
-    }
-    py0 += strippedRect.top() - paintRect.top();
-
-    QImage expanded(sz, image.format());
-
-    switch( image.depth() )
-    {
-        case 32:
-        {
-            for ( int y1 = 0; y1 < h; y1++ )
-            {
-                int yy1;
-                if ( y1 == 0 )
-                {
-                    yy1 = 0;
-                }
-                else
-                {
-                    yy1 = qRound( y1 * ph - py0 );
-                    if ( yy1 < 0 )
-                        yy1 = 0;
-                }
-
-                int yy2;
-                if ( y1 == h - 1 )
-                {
-                    yy2 = sz.height();
-                }
-                else
-                {
-                    yy2 = qRound( ( y1 + 1 ) * ph - py0 );
-                    if ( yy2 > sz.height() )
-                        yy2 = sz.height();
-                }
-
-                const quint32 *line1 = 
-                    reinterpret_cast<const quint32 *>( image.scanLine( y1 ) );
-
-                for ( int x1 = 0; x1 < w; x1++ )
-                {
-                    int xx1;
-                    if ( x1 == 0 )
-                    {
-                        xx1 = 0;
-                    }
-                    else
-                    {
-                        xx1 = qRound( x1 * pw - px0 );
-                        if ( xx1 < 0 )
-                            xx1 = 0;
-                    }
-
-                    int xx2;
-                    if ( x1 == w - 1 )
-                    {
-                        xx2 = sz.width();
-                    }
-                    else
-                    {
-                        xx2 = qRound( ( x1 + 1 ) * pw - px0 );
-                        if ( xx2 > sz.width() )
-                            xx2 = sz.width();
-                    }
-
-                    const quint32 rgb( line1[x1] );
-                    for ( int y2 = yy1; y2 < yy2; y2++ )
-                    {
-                        quint32 *line2 = reinterpret_cast<quint32 *>( 
-                            expanded.scanLine( y2 ) );
-
-                        for ( int x2 = xx1; x2 < xx2; x2++ ) 
-                            line2[x2] = rgb;
-                    }       
-                }   
-            }   
-            break;
-        }
-        case 8:
-        {
-            for ( int y1 = 0; y1 < h; y1++ )
-            {
-                int yy1;
-                if ( y1 == 0 )
-                {
-                    yy1 = 0;
-                }   
-                else
-                {
-                    yy1 = qRound( y1 * ph - py0 );
-                    if ( yy1 < 0 )
-                        yy1 = 0; 
-                }       
-                
-                int yy2;
-                if ( y1 == h - 1 )
-                {
-                    yy2 = sz.height();
-                }   
-                else
-                {
-                    yy2 = qRound( ( y1 + 1 ) * ph - py0 );
-                    if ( yy2 > sz.height() )
-                        yy2 = sz.height();
-                }
-    
-                const uchar *line1 = image.scanLine( y1 );
-
-                for ( int x1 = 0; x1 < w; x1++ )
-                {
-                    int xx1;
-                    if ( x1 == 0 )
-                    {
-                        xx1 = 0;
-                    }
-                    else
-                    {
-                        xx1 = qRound( x1 * pw - px0 );
-                        if ( xx1 < 0 )
-                            xx1 = 0;
-                    }
-
-                    int xx2;
-                    if ( x1 == w - 1 )
-                    {
-                        xx2 = sz.width();
-                    }
-                    else
-                    {
-                        xx2 = qRound( ( x1 + 1 ) * pw - px0 );
-                        if ( xx2 > sz.width() )
-                            xx2 = sz.width();
-                    }
-
-                    for ( int y2 = yy1; y2 < yy2; y2++ )
-                    {
-                        uchar *line2 = expanded.scanLine( y2 );
-                        memset( line2 + xx1, line1[x1], xx2 - xx1 );
-                    }       
-                }   
-            }
-            break;
-        }
-        default:
-            expanded = image;
-    }
-    
-    return expanded;
-}   
-
-static QRectF qwtExpandToPixels(const QRectF &rect, const QRectF &pixelRect)
-{
-    const double pw = pixelRect.width();
-    const double ph = pixelRect.height();
-
-    const double dx1 = pixelRect.left() - rect.left();
-    const double dx2 = pixelRect.right() - rect.right();
-    const double dy1 = pixelRect.top() - rect.top();
-    const double dy2 = pixelRect.bottom() - rect.bottom();
-
-    QRectF r;
-    r.setLeft( pixelRect.left() - qCeil( dx1 / pw ) * pw );
-    r.setTop( pixelRect.top() - qCeil( dy1 / ph ) * ph );
-    r.setRight( pixelRect.right() - qFloor( dx2 / pw ) * pw );
-    r.setBottom( pixelRect.bottom() - qFloor( dy2 / ph ) * ph );
-
-    return r;
-}
-
-static void qwtTransformMaps( const QTransform &tr,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    QwtScaleMap &xxMap, QwtScaleMap &yyMap )
-{
-    const QPointF p1 = tr.map( QPointF( xMap.p1(), yMap.p1() ) );
-    const QPointF p2 = tr.map( QPointF( xMap.p2(), yMap.p2() ) );
-
-    xxMap = xMap;
-    xxMap.setPaintInterval( p1.x(), p2.x() );
-
-    yyMap = yMap;
-    yyMap.setPaintInterval( p1.y(), p2.y() );
-}
-
-static void qwtAdjustMaps( QwtScaleMap &xMap, QwtScaleMap &yMap,
-    const QRectF &area, const QRectF &paintRect)
-{
-    double sx1 = area.left();
-    double sx2 = area.right();
-    if ( xMap.isInverting() )
-        qSwap(sx1, sx2);
-
-    double sy1 = area.top();
-    double sy2 = area.bottom();
-
-    if ( yMap.isInverting() )
-        qSwap(sy1, sy2);
-
-    xMap.setPaintInterval(paintRect.left(), paintRect.right());
-    xMap.setScaleInterval(sx1, sx2);
-
-    yMap.setPaintInterval(paintRect.top(), paintRect.bottom());
-    yMap.setScaleInterval(sy1, sy2);
-}
-
-static bool qwtUseCache( QwtPlotRasterItem::CachePolicy policy,
-    const QPainter *painter )
-{
-    bool doCache = false;
-
-    if ( policy == QwtPlotRasterItem::PaintCache )
-    {
-        // Caching doesn't make sense, when the item is
-        // not painted to screen
-
-        switch ( painter->paintEngine()->type() )
-        {
-            case QPaintEngine::SVG:
-            case QPaintEngine::Pdf:
-            case QPaintEngine::PostScript:
-            case QPaintEngine::MacPrinter:
-            case QPaintEngine::Picture:
-                break;
-            default:;
-                doCache = true;
-        }
-    }
-
-    return doCache;
-}
-
-static void qwtToRgba( const QImage* from, QImage* to,  
-    const QRect& tile, int alpha )
-{
-    const QRgb mask1 = qRgba( 0, 0, 0, alpha );
-    const QRgb mask2 = qRgba( 255, 255, 255, 0 );
-    const QRgb mask3 = qRgba( 0, 0, 0, 255 );
-
-    const int y0 = tile.top();
-    const int y1 = tile.bottom();
-    const int x0 = tile.left();
-    const int x1 = tile.right();
-
-    if ( from->depth() == 8 )
-    {
-        for ( int y = y0; y <= y1; y++ )
-        {
-            QRgb *alphaLine = reinterpret_cast<QRgb *>( to->scanLine( y ) );
-            const unsigned char *line = from->scanLine( y );
-
-            for ( int x = x0; x <= x1; x++ )
-                *alphaLine++ = ( from->color( *line++ ) & mask2 ) | mask1;
-        }
-    }
-    else if ( from->depth() == 32 )
-    {
-        for ( int y = y0; y <= y1; y++ )
-        {
-            QRgb *alphaLine = reinterpret_cast<QRgb *>( to->scanLine( y ) );
-            const QRgb *line = reinterpret_cast<const QRgb *>( from->scanLine( y ) );
-
-            for ( int x = x0; x <= x1; x++ )
-            {
-                const QRgb rgb = *line++;
-                if ( rgb & mask3 ) // alpha != 0
-                    *alphaLine++ = ( rgb & mask2 ) | mask1;
-                else
-                    *alphaLine++ = rgb;
-            }
-        }
-    }
-}
-
-//! Constructor
-QwtPlotRasterItem::QwtPlotRasterItem( const QString& title ):
-    QwtPlotItem( QwtText( title ) )
-{
-    init();
-}
-
-//! Constructor
-QwtPlotRasterItem::QwtPlotRasterItem( const QwtText& title ):
-    QwtPlotItem( title )
-{
-    init();
-}
-
-//! Destructor
-QwtPlotRasterItem::~QwtPlotRasterItem()
-{
-    delete d_data;
-}
-
-void QwtPlotRasterItem::init()
-{
-    d_data = new PrivateData();
-
-    setItemAttribute( QwtPlotItem::AutoScale, true );
-    setItemAttribute( QwtPlotItem::Legend, false );
-
-    setZ( 8.0 );
-}
-
-/*!
-  Specify an attribute how to draw the raster item
-
-  \param attribute Paint attribute
-  \param on On/Off
-  /sa PaintAttribute, testPaintAttribute()
-*/
-void QwtPlotRasterItem::setPaintAttribute( PaintAttribute attribute, bool on )
-{
-    if ( on )
-        d_data->paintAttributes |= attribute;
-    else
-        d_data->paintAttributes &= ~attribute;
-}
-
-/*!
-    \return True, when attribute is enabled
-    \sa PaintAttribute, setPaintAttribute()
-*/
-bool QwtPlotRasterItem::testPaintAttribute( PaintAttribute attribute ) const
-{
-    return ( d_data->paintAttributes & attribute );
-}
-
-/*!
-   \brief Set an alpha value for the raster data
-
-   Often a plot has several types of raster data organized in layers.
-   ( f.e a geographical map, with weather statistics ).
-   Using setAlpha() raster items can be stacked easily.
-
-   The alpha value is a value [0, 255] to
-   control the transparency of the image. 0 represents a fully
-   transparent color, while 255 represents a fully opaque color.
-
-   \param alpha Alpha value
-
-   - alpha >= 0\n
-     All alpha values of the pixels returned by renderImage() will be set to
-     alpha, beside those with an alpha value of 0 (invalid pixels).
-   - alpha < 0
-     The alpha values returned by renderImage() are not changed.
-
-   The default alpha value is -1.
-
-   \sa alpha()
-*/
-void QwtPlotRasterItem::setAlpha( int alpha )
-{
-    if ( alpha < 0 )
-        alpha = -1;
-
-    if ( alpha > 255 )
-        alpha = 255;
-
-    if ( alpha != d_data->alpha )
-    {
-        d_data->alpha = alpha;
-
-        itemChanged();
-    }
-}
-
-/*!
-  \return Alpha value of the raster item
-  \sa setAlpha()
-*/
-int QwtPlotRasterItem::alpha() const
-{
-    return d_data->alpha;
-}
-
-/*!
-  Change the cache policy
-
-  The default policy is NoCache
-
-  \param policy Cache policy
-  \sa CachePolicy, cachePolicy()
-*/
-void QwtPlotRasterItem::setCachePolicy(
-    QwtPlotRasterItem::CachePolicy policy )
-{
-    if ( d_data->cache.policy != policy )
-    {
-        d_data->cache.policy = policy;
-
-        invalidateCache();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Cache policy
-  \sa CachePolicy, setCachePolicy()
-*/
-QwtPlotRasterItem::CachePolicy QwtPlotRasterItem::cachePolicy() const
-{
-    return d_data->cache.policy;
-}
-
-/*!
-   Invalidate the paint cache
-   \sa setCachePolicy()
-*/
-void QwtPlotRasterItem::invalidateCache()
-{
-    d_data->cache.image = QImage();
-    d_data->cache.area = QRect();
-    d_data->cache.size = QSize();
-}
-
-/*!
-   \brief Pixel hint
-
-   The geometry of a pixel is used to calculated the resolution and
-   alignment of the rendered image. 
-
-   Width and height of the hint need to be the horizontal  
-   and vertical distances between 2 neighbored points. 
-   The center of the hint has to be the position of any point 
-   ( it doesn't matter which one ).
-
-   Limiting the resolution of the image might significantly improve
-   the performance and heavily reduce the amount of memory when rendering
-   a QImage from the raster data. 
-
-   The default implementation returns an empty rectangle (QRectF()),
-   meaning, that the image will be rendered in target device ( f.e screen )
-   resolution.
-
-   \param area In most implementations the resolution of the data doesn't
-               depend on the requested area.
-
-   \return Bounding rectangle of a pixel
-
-   \sa render(), renderImage()
-*/
-QRectF QwtPlotRasterItem::pixelHint( const QRectF &area ) const
-{
-    Q_UNUSED( area );
-    return QRectF();
-}
-
-/*!
-  \brief Draw the raster data
-  \param painter Painter
-  \param xMap X-Scale Map
-  \param yMap Y-Scale Map
-  \param canvasRect Contents rectangle of the plot canvas
-*/
-void QwtPlotRasterItem::draw( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect ) const
-{
-    if ( canvasRect.isEmpty() || d_data->alpha == 0 )
-        return;
-
-    const bool doCache = qwtUseCache( d_data->cache.policy, painter );
-
-    const QwtInterval xInterval = interval( Qt::XAxis );
-    const QwtInterval yInterval = interval( Qt::YAxis );
-
-    /*
-        Scaling an image always results in a loss of
-        precision/quality. So we always render the image in
-        paint device resolution.
-    */
-
-    QwtScaleMap xxMap, yyMap;
-    qwtTransformMaps( painter->transform(), xMap, yMap, xxMap, yyMap );
-
-    QRectF paintRect = painter->transform().mapRect( canvasRect );
-    QRectF area = QwtScaleMap::invTransform( xxMap, yyMap, paintRect );
-
-    const QRectF br = boundingRect();
-    if ( br.isValid() && !br.contains( area ) )
-    {
-        area &= br;
-        if ( !area.isValid() )
-            return;
-
-        paintRect = QwtScaleMap::transform( xxMap, yyMap, area );
-    }
-
-    QRectF imageRect;
-    QImage image;
-
-    QRectF pixelRect = pixelHint(area);
-    if ( !pixelRect.isEmpty() )
-    {
-        // pixel in target device resolution 
-        const double dx = qAbs( xxMap.invTransform( 1 ) - xxMap.invTransform( 0 ) );
-        const double dy = qAbs( yyMap.invTransform( 1 ) - yyMap.invTransform( 0 ) );
-
-        if ( dx > pixelRect.width() && dy > pixelRect.height() )
-        {
-            /*
-              When the resolution of the data pixels is higher than
-              the resolution of the target device we render in
-              target device resolution.
-             */
-            pixelRect = QRectF();
-        }
-    }
-
-    if ( pixelRect.isEmpty() )
-    {
-        if ( QwtPainter::roundingAlignment( painter ) )
-        {
-            // we want to have maps, where the boundaries of
-            // the aligned paint rectangle exactly match the area
-
-            paintRect = qwtAlignRect(paintRect);
-            qwtAdjustMaps(xxMap, yyMap, area, paintRect);
-        }
-
-        // When we have no information about position and size of
-        // data pixels we render in resolution of the paint device.
-
-        image = compose(xxMap, yyMap, 
-            area, paintRect, paintRect.size().toSize(), doCache);
-        if ( image.isNull() )
-            return;
-
-        // Remove pixels at the boundaries, when explicitly
-        // excluded in the intervals
-
-        imageRect = qwtStripRect(paintRect, area, 
-            xxMap, yyMap, xInterval, yInterval);
-
-        if ( imageRect != paintRect )
-        {
-            const QRect r( 
-                qRound( imageRect.x() - paintRect.x()),
-                qRound( imageRect.y() - paintRect.y() ),
-                qRound( imageRect.width() ),
-                qRound( imageRect.height() ) );
-                
-            image = image.copy(r);
-        }   
-    }
-    else
-    {
-        if ( QwtPainter::roundingAlignment( painter ) )
-            paintRect = qwtAlignRect(paintRect);
-
-        // align the area to the data pixels
-        QRectF imageArea = qwtExpandToPixels(area, pixelRect);
-
-        if ( imageArea.right() == xInterval.maxValue() &&
-            !( xInterval.borderFlags() & QwtInterval::ExcludeMaximum ) )
-        {
-            imageArea.adjust(0, 0, pixelRect.width(), 0);
-        }
-        if ( imageArea.bottom() == yInterval.maxValue() &&
-            !( yInterval.borderFlags() & QwtInterval::ExcludeMaximum ) )
-        {
-            imageArea.adjust(0, 0, 0, pixelRect.height() );
-        }
-
-        QSize imageSize;
-        imageSize.setWidth( qRound( imageArea.width() / pixelRect.width() ) );
-        imageSize.setHeight( qRound( imageArea.height() / pixelRect.height() ) );
-        image = compose(xxMap, yyMap, 
-            imageArea, paintRect, imageSize, doCache );
-        if ( image.isNull() )
-            return;
-
-        imageRect = qwtStripRect(paintRect, area, 
-            xxMap, yyMap, xInterval, yInterval);
-
-        if ( ( image.width() > 1 || image.height() > 1 ) &&
-            testPaintAttribute( PaintInDeviceResolution ) )
-        {
-            // Because of rounding errors the pixels 
-            // need to be expanded manually to rectangles of 
-            // different sizes
-
-            image = qwtExpandImage(image, xxMap, yyMap, 
-                imageArea, area, paintRect, xInterval, yInterval );
-        }
-    }
-
-    painter->save();
-    painter->setWorldTransform( QTransform() );
-    
-    QwtPainter::drawImage( painter, imageRect, image );
-
-    painter->restore();
-}
-
-/*!
-   \return Bounding interval for an axis
-
-   This method is intended to be reimplemented by derived classes.
-   The default implementation returns an invalid interval.
-   
-   \param axis X, Y, or Z axis
-*/
-QwtInterval QwtPlotRasterItem::interval(Qt::Axis axis) const
-{
-    Q_UNUSED( axis );
-    return QwtInterval();
-}
-
-/*!
-   \return Bounding rectangle of the data
-   \sa QwtPlotRasterItem::interval()
-*/
-QRectF QwtPlotRasterItem::boundingRect() const
-{
-    const QwtInterval intervalX = interval( Qt::XAxis );
-    const QwtInterval intervalY = interval( Qt::YAxis );
-
-    if ( !intervalX.isValid() && !intervalY.isValid() )
-        return QRectF(); // no bounding rect
-
-    QRectF r;
-
-    if ( intervalX.isValid() )
-    {
-        r.setLeft( intervalX.minValue() );
-        r.setRight( intervalX.maxValue() );
-    }
-    else
-    {
-        r.setLeft(-0.5 * FLT_MAX);
-        r.setWidth(FLT_MAX);
-    }
-
-    if ( intervalY.isValid() )
-    {
-        r.setTop( intervalY.minValue() );
-        r.setBottom( intervalY.maxValue() );
-    }
-    else
-    {
-        r.setTop(-0.5 * FLT_MAX);
-        r.setHeight(FLT_MAX);
-    }
-
-    return r.normalized();
-}
-
-QImage QwtPlotRasterItem::compose( 
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &imageArea, const QRectF &paintRect, 
-    const QSize &imageSize, bool doCache) const
-{
-    QImage image;
-    if ( imageArea.isEmpty() || paintRect.isEmpty() || imageSize.isEmpty() )
-        return image;
-
-    if ( doCache )
-    {
-        if ( !d_data->cache.image.isNull()
-            && d_data->cache.area == imageArea
-            && d_data->cache.size == paintRect.size() )
-        {
-            image = d_data->cache.image;
-        }
-    }
-
-    if ( image.isNull() )
-    {
-        double dx = 0.0;
-        if ( paintRect.toRect().width() > imageSize.width() )
-            dx = imageArea.width() / imageSize.width();
-
-        const QwtScaleMap xxMap = 
-            imageMap(Qt::Horizontal, xMap, imageArea, imageSize, dx);
-        
-        double dy = 0.0;
-        if ( paintRect.toRect().height() > imageSize.height() )
-            dy = imageArea.height() / imageSize.height();
-
-        const QwtScaleMap yyMap = 
-            imageMap(Qt::Vertical, yMap, imageArea, imageSize, dy);
-
-        image = renderImage( xxMap, yyMap, imageArea, imageSize );
-
-        if ( doCache )
-        {
-            d_data->cache.area = imageArea;
-            d_data->cache.size = paintRect.size();
-            d_data->cache.image = image;
-        }
-    }
-
-    if ( d_data->alpha >= 0 && d_data->alpha < 255 )
-    {
-        QImage alphaImage( image.size(), QImage::Format_ARGB32 );
-
-#if QT_VERSION >= 0x040400 && !defined(QT_NO_QFUTURE)
-        uint numThreads = renderThreadCount();
-
-        if ( numThreads <= 0 )
-            numThreads = QThread::idealThreadCount();
-
-        if ( numThreads <= 0 )
-            numThreads = 1;
-
-        const int numRows = image.height() / numThreads;
-
-        QList< QFuture<void> > futures;
-        for ( uint i = 0; i < numThreads; i++ )
-        {
-            QRect tile( 0, i * numRows, image.width(), numRows );
-            if ( i == numThreads - 1 )
-            {
-                tile.setHeight( image.height() - i * numRows );
-                qwtToRgba( &image, &alphaImage, tile, d_data->alpha );
-            }
-            else
-            {
-                futures += QtConcurrent::run(
-                    &qwtToRgba, &image, &alphaImage, tile, d_data->alpha );
-            }
-        }
-        for ( int i = 0; i < futures.size(); i++ )
-            futures[i].waitForFinished();
-#else
-        const QRect tile( 0, 0, image.width(), image.height() );
-        qwtToRgba( &image, &alphaImage, tile, d_data->alpha );
-#endif
-        image = alphaImage;
-    }
-
-    return image;
-}
-
-/*!
-   \brief Calculate a scale map for painting to an image
-
-   \param orientation Orientation, Qt::Horizontal means a X axis
-   \param map Scale map for rendering the plot item
-   \param area Area to be painted on the image
-   \param imageSize Image size
-   \param pixelSize Width/Height of a data pixel
-
-   \return Calculated scale map
-*/
-QwtScaleMap QwtPlotRasterItem::imageMap(
-    Qt::Orientation orientation,
-    const QwtScaleMap &map, const QRectF &area,
-    const QSize &imageSize, double pixelSize) const
-{
-    double p1, p2, s1, s2;
-
-    if ( orientation == Qt::Horizontal )
-    {
-        p1 = 0.0;
-        p2 = imageSize.width();
-        s1 = area.left();
-        s2 = area.right();
-    }
-    else
-    {
-        p1 = 0.0;
-        p2 = imageSize.height();
-        s1 = area.top();
-        s2 = area.bottom();
-    }
-
-    if ( pixelSize > 0.0 )
-    {
-        double off = 0.5 * pixelSize;
-        if ( map.isInverting() )
-            off = -off;
-
-        s1 += off;
-        s2 += off;
-    }
-    else
-    {
-        p2--;
-    }
-
-    if ( map.isInverting() && ( s1 < s2 ) )
-        qSwap( s1, s2 );
-
-    QwtScaleMap newMap = map;
-    newMap.setPaintInterval( p1, p2 );
-    newMap.setScaleInterval( s1, s2 );
-
-    return newMap;
-}
diff --git a/SRC/Qwt/src/qwt_plot_rasteritem.h b/SRC/Qwt/src/qwt_plot_rasteritem.h
deleted file mode 100644
index 81c813e..0000000
--- a/SRC/Qwt/src/qwt_plot_rasteritem.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_RASTERITEM_H
-#define QWT_PLOT_RASTERITEM_H
-
-#include "qwt_global.h"
-#include "qwt_plot_item.h"
-#include "qwt_interval.h"
-#include <qglobal.h>
-#include <qstring.h>
-#include <qimage.h>
-
-/*!
-  \brief A class, which displays raster data
-
-  Raster data is a grid of pixel values, that can be represented
-  as a QImage. It is used for many types of information like
-  spectrograms, cartograms, geographical maps ...
-
-  Often a plot has several types of raster data organized in layers.
-  ( f.e a geographical map, with weather statistics ).
-  Using setAlpha() raster items can be stacked easily.
-
-  QwtPlotRasterItem is only implemented for images of the following formats:
-  QImage::Format_Indexed8, QImage::Format_ARGB32.
-
-  \sa QwtPlotSpectrogram
-*/
-
-class QWT_EXPORT QwtPlotRasterItem: public QwtPlotItem
-{
-public:
-    /*!
-      \brief Cache policy
-      The default policy is NoCache
-     */
-    enum CachePolicy
-    {
-        /*!
-          renderImage() is called each time the item has to be repainted
-         */
-        NoCache,
-
-        /*!
-          renderImage() is called, whenever the image cache is not valid,
-          or the scales, or the size of the canvas has changed. 
-
-          This type of cache is useful for improving the performance 
-          of hide/show operations or manipulations of the alpha value. 
-          All other situations are handled by the canvas backing store.
-         */
-        PaintCache
-    };
-
-    /*!
-        Attributes to modify the drawing algorithm.
-        \sa setPaintAttribute(), testPaintAttribute()
-    */
-    enum PaintAttribute
-    {
-        /*!
-          When the image is rendered according to the data pixels
-          ( QwtRasterData::pixelHint() ) it can be expanded to paint
-          device resolution before it is passed to QPainter. 
-          The expansion algorithm rounds the pixel borders in the same 
-          way as the axis ticks, what is usually better than the
-          scaling algorithm implemented in Qt.
-          Disabling this flag might make sense, to reduce the size of a 
-          document/file. If this is possible for a document format
-          depends on the implementation of the specific QPaintEngine.
-         */
-
-        PaintInDeviceResolution = 1
-    };
-
-    //! Paint attributes
-    typedef QFlags<PaintAttribute> PaintAttributes;
-
-    explicit QwtPlotRasterItem( const QString& title = QString::null );
-    explicit QwtPlotRasterItem( const QwtText& title );
-    virtual ~QwtPlotRasterItem();
-
-    void setPaintAttribute( PaintAttribute, bool on = true );
-    bool testPaintAttribute( PaintAttribute ) const;
-
-    void setAlpha( int alpha );
-    int alpha() const;
-
-    void setCachePolicy( CachePolicy );
-    CachePolicy cachePolicy() const;
-
-    void invalidateCache();
-
-    virtual void draw( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &rect ) const;
-
-    virtual QRectF pixelHint( const QRectF & ) const;
-
-    virtual QwtInterval interval(Qt::Axis) const;
-    virtual QRectF boundingRect() const;
-
-protected:
-    /*!
-      \brief Render an image 
-
-      An implementation of render() might iterate over all
-      pixels of imageRect. Each pixel has to be translated into 
-      the corresponding position in scale coordinates using the maps.
-      This position can be used to look up a value in a implementation
-      specific way and to map it into a color.
-
-      \param xMap X-Scale Map
-      \param yMap Y-Scale Map
-      \param area Requested area for the image in scale coordinates
-      \param imageSize Requested size of the image
-   
-      \return Rendered image
-     */
-    virtual QImage renderImage( const QwtScaleMap &xMap,
-        const QwtScaleMap &yMap, const QRectF &area,
-        const QSize &imageSize ) const = 0;
-
-    virtual QwtScaleMap imageMap( Qt::Orientation,
-        const QwtScaleMap &map, const QRectF &area,
-        const QSize &imageSize, double pixelSize) const;
-
-private:
-    QwtPlotRasterItem( const QwtPlotRasterItem & );
-    QwtPlotRasterItem &operator=( const QwtPlotRasterItem & );
-
-    void init();
-
-    QImage compose( const QwtScaleMap &, const QwtScaleMap &,
-        const QRectF &imageArea, const QRectF &paintRect,
-        const QSize &imageSize, bool doCache) const;
-
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotRasterItem::PaintAttributes )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_renderer.cpp b/SRC/Qwt/src/qwt_plot_renderer.cpp
deleted file mode 100644
index e2c66b9..0000000
--- a/SRC/Qwt/src/qwt_plot_renderer.cpp
+++ /dev/null
@@ -1,1014 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_renderer.h"
-#include "qwt_plot.h"
-#include "qwt_painter.h"
-#include "qwt_plot_layout.h"
-#include "qwt_abstract_legend.h"
-#include "qwt_scale_widget.h"
-#include "qwt_scale_engine.h"
-#include "qwt_text.h"
-#include "qwt_text_label.h"
-#include "qwt_math.h"
-#include <qpainter.h>
-#include <qpaintengine.h>
-#include <qtransform.h>
-#include <qprinter.h>
-#include <qprintdialog.h>
-#include <qfiledialog.h>
-#include <qfileinfo.h>
-#include <qstyle.h>
-#include <qstyleoption.h>
-#include <qimagewriter.h>
-#ifndef QWT_NO_SVG
-#ifdef QT_SVG_LIB
-#include <qsvggenerator.h>
-#endif
-#endif
-
-static QPainterPath qwtCanvasClip( 
-    const QWidget* canvas, const QRectF &canvasRect )
-{
-    // The clip region is calculated in integers
-    // To avoid too much rounding errors better
-    // calculate it in target device resolution
-
-    int x1 = qCeil( canvasRect.left() );
-    int x2 = qFloor( canvasRect.right() );
-    int y1 = qCeil( canvasRect.top() );
-    int y2 = qFloor( canvasRect.bottom() );
-
-    const QRect r( x1, y1, x2 - x1 - 1, y2 - y1 - 1 );
-
-    QPainterPath clipPath;
-
-    ( void ) QMetaObject::invokeMethod(
-        const_cast< QWidget *>( canvas ), "borderPath",
-        Qt::DirectConnection,
-        Q_RETURN_ARG( QPainterPath, clipPath ), Q_ARG( QRect, r ) );
-
-    return clipPath;
-}
-
-class QwtPlotRenderer::PrivateData
-{
-public:
-    PrivateData():
-        discardFlags( QwtPlotRenderer::DiscardNone ),
-        layoutFlags( QwtPlotRenderer::DefaultLayout )
-    {
-    }
-
-    QwtPlotRenderer::DiscardFlags discardFlags;
-    QwtPlotRenderer::LayoutFlags layoutFlags;
-};
-
-/*! 
-   Constructor
-   \param parent Parent object
-*/
-QwtPlotRenderer::QwtPlotRenderer( QObject *parent ):
-    QObject( parent )
-{
-    d_data = new PrivateData;
-}
-
-//! Destructor
-QwtPlotRenderer::~QwtPlotRenderer()
-{
-    delete d_data;
-}
-
-/*!
-  Change a flag, indicating what to discard from rendering
-
-  \param flag Flag to change
-  \param on On/Off
-
-  \sa DiscardFlag, testDiscardFlag(), setDiscardFlags(), discardFlags()
-*/
-void QwtPlotRenderer::setDiscardFlag( DiscardFlag flag, bool on )
-{
-    if ( on )
-        d_data->discardFlags |= flag;
-    else
-        d_data->discardFlags &= ~flag;
-}
-
-/*!
-  \return True, if flag is enabled.
-  \param flag Flag to be tested
-  \sa DiscardFlag, setDiscardFlag(), setDiscardFlags(), discardFlags()
-*/
-bool QwtPlotRenderer::testDiscardFlag( DiscardFlag flag ) const
-{
-    return d_data->discardFlags & flag;
-}
-
-/*!
-  Set the flags, indicating what to discard from rendering
-
-  \param flags Flags
-  \sa DiscardFlag, setDiscardFlag(), testDiscardFlag(), discardFlags()
-*/
-void QwtPlotRenderer::setDiscardFlags( DiscardFlags flags )
-{
-    d_data->discardFlags = flags;
-}
-
-/*!
-  \return Flags, indicating what to discard from rendering
-  \sa DiscardFlag, setDiscardFlags(), setDiscardFlag(), testDiscardFlag()
-*/
-QwtPlotRenderer::DiscardFlags QwtPlotRenderer::discardFlags() const
-{
-    return d_data->discardFlags;
-}
-
-/*!
-  Change a layout flag
-
-  \param flag Flag to change
-  \param on On/Off
-
-  \sa LayoutFlag, testLayoutFlag(), setLayoutFlags(), layoutFlags()
-*/
-void QwtPlotRenderer::setLayoutFlag( LayoutFlag flag, bool on )
-{
-    if ( on )
-        d_data->layoutFlags |= flag;
-    else
-        d_data->layoutFlags &= ~flag;
-}
-
-/*!
-  \return True, if flag is enabled.
-  \param flag Flag to be tested
-  \sa LayoutFlag, setLayoutFlag(), setLayoutFlags(), layoutFlags()
-*/
-bool QwtPlotRenderer::testLayoutFlag( LayoutFlag flag ) const
-{
-    return d_data->layoutFlags & flag;
-}
-
-/*!
-  Set the layout flags
-
-  \param flags Flags
-  \sa LayoutFlag, setLayoutFlag(), testLayoutFlag(), layoutFlags()
-*/
-void QwtPlotRenderer::setLayoutFlags( LayoutFlags flags )
-{
-    d_data->layoutFlags = flags;
-}
-
-/*!
-  \return Layout flags
-  \sa LayoutFlag, setLayoutFlags(), setLayoutFlag(), testLayoutFlag()
-*/
-QwtPlotRenderer::LayoutFlags QwtPlotRenderer::layoutFlags() const
-{
-    return d_data->layoutFlags;
-}
-
-/*!
-  Render a plot to a file
-
-  The format of the document will be auto-detected from the
-  suffix of the file name.
-
-  \param plot Plot widget
-  \param fileName Path of the file, where the document will be stored
-  \param sizeMM Size for the document in millimeters.
-  \param resolution Resolution in dots per Inch (dpi)
-*/
-void QwtPlotRenderer::renderDocument( QwtPlot *plot,
-    const QString &fileName, const QSizeF &sizeMM, int resolution )
-{
-    renderDocument( plot, fileName,
-        QFileInfo( fileName ).suffix(), sizeMM, resolution );
-}
-
-/*!
-  Render a plot to a file
-
-  Supported formats are:
-
-  - pdf\n
-    Portable Document Format PDF
-  - ps\n
-    Postcript
-  - svg\n
-    Scalable Vector Graphics SVG
-  - all image formats supported by Qt\n
-    see QImageWriter::supportedImageFormats()
-
-  Scalable vector graphic formats like PDF or SVG are superior to
-  raster graphics formats.
-
-  \param plot Plot widget
-  \param fileName Path of the file, where the document will be stored
-  \param format Format for the document
-  \param sizeMM Size for the document in millimeters.
-  \param resolution Resolution in dots per Inch (dpi)
-
-  \sa renderTo(), render(), QwtPainter::setRoundingAlignment()
-*/
-void QwtPlotRenderer::renderDocument( QwtPlot *plot,
-    const QString &fileName, const QString &format,
-    const QSizeF &sizeMM, int resolution )
-{
-    if ( plot == NULL || sizeMM.isEmpty() || resolution <= 0 )
-        return;
-
-    QString title = plot->title().text();
-    if ( title.isEmpty() )
-        title = "Plot Document";
-
-    const double mmToInch = 1.0 / 25.4;
-    const QSizeF size = sizeMM * mmToInch * resolution;
-
-    const QRectF documentRect( 0.0, 0.0, size.width(), size.height() );
-
-    const QString fmt = format.toLower();
-    if ( fmt == "pdf" )
-    {
-#ifndef QT_NO_PRINTER
-        QPrinter printer;
-        printer.setOutputFormat( QPrinter::PdfFormat );
-        printer.setColorMode( QPrinter::Color );
-        printer.setFullPage( true );
-        printer.setPaperSize( sizeMM, QPrinter::Millimeter );
-        printer.setDocName( title );
-        printer.setOutputFileName( fileName );
-        printer.setResolution( resolution );
-
-        QPainter painter( &printer );
-        render( plot, &painter, documentRect );
-#endif
-    }
-    else if ( fmt == "ps" )
-    {
-#if QT_VERSION < 0x050000
-#ifndef QT_NO_PRINTER
-        QPrinter printer;
-        printer.setOutputFormat( QPrinter::PostScriptFormat );
-        printer.setColorMode( QPrinter::Color );
-        printer.setFullPage( true );
-        printer.setPaperSize( sizeMM, QPrinter::Millimeter );
-        printer.setDocName( title );
-        printer.setOutputFileName( fileName );
-        printer.setResolution( resolution );
-
-        QPainter painter( &printer );
-        render( plot, &painter, documentRect );
-#endif
-#endif
-    }
-    else if ( fmt == "svg" )
-    {
-#ifndef QWT_NO_SVG
-#ifdef QT_SVG_LIB
-#if QT_VERSION >= 0x040500
-        QSvgGenerator generator;
-        generator.setTitle( title );
-        generator.setFileName( fileName );
-        generator.setResolution( resolution );
-        generator.setViewBox( documentRect );
-
-        QPainter painter( &generator );
-        render( plot, &painter, documentRect );
-#endif
-#endif
-#endif
-    }
-    else
-    {
-        if ( QImageWriter::supportedImageFormats().indexOf(
-            format.toLatin1() ) >= 0 )
-        {
-            const QRect imageRect = documentRect.toRect();
-            const int dotsPerMeter = qRound( resolution * mmToInch * 1000.0 );
-
-            QImage image( imageRect.size(), QImage::Format_ARGB32 );
-            image.setDotsPerMeterX( dotsPerMeter );
-            image.setDotsPerMeterY( dotsPerMeter );
-            image.fill( QColor( Qt::white ).rgb() );
-
-            QPainter painter( &image );
-            render( plot, &painter, imageRect );
-            painter.end();
-
-            image.save( fileName, format.toLatin1() );
-        }
-    }
-}
-
-/*!
-  \brief Render the plot to a \c QPaintDevice
-
-  This function renders the contents of a QwtPlot instance to
-  \c QPaintDevice object. The target rectangle is derived from
-  its device metrics.
-
-  \param plot Plot to be rendered
-  \param paintDevice device to paint on, f.e a QImage
-
-  \sa renderDocument(), render(), QwtPainter::setRoundingAlignment()
-*/
-
-void QwtPlotRenderer::renderTo(
-    QwtPlot *plot, QPaintDevice &paintDevice ) const
-{
-    int w = paintDevice.width();
-    int h = paintDevice.height();
-
-    QPainter p( &paintDevice );
-    render( plot, &p, QRectF( 0, 0, w, h ) );
-}
-
-/*!
-  \brief Render the plot to a QPrinter
-
-  This function renders the contents of a QwtPlot instance to
-  \c QPaintDevice object. The size is derived from the printer
-  metrics.
-
-  \param plot Plot to be rendered
-  \param printer Printer to paint on
-
-  \sa renderDocument(), render(), QwtPainter::setRoundingAlignment()
-*/
-
-#ifndef QT_NO_PRINTER
-
-void QwtPlotRenderer::renderTo(
-    QwtPlot *plot, QPrinter &printer ) const
-{
-    int w = printer.width();
-    int h = printer.height();
-
-    QRectF rect( 0, 0, w, h );
-    double aspect = rect.width() / rect.height();
-    if ( ( aspect < 1.0 ) )
-        rect.setHeight( aspect * rect.width() );
-
-    QPainter p( &printer );
-    render( plot, &p, rect );
-}
-
-#endif
-
-#ifndef QWT_NO_SVG
-#ifdef QT_SVG_LIB
-#if QT_VERSION >= 0x040500
-
-/*!
-  \brief Render the plot to a QSvgGenerator
-
-  If the generator has a view box, the plot will be rendered into it.
-  If it has no viewBox but a valid size the target coordinates
-  will be (0, 0, generator.width(), generator.height()). Otherwise
-  the target rectangle will be QRectF(0, 0, 800, 600);
-
-  \param plot Plot to be rendered
-  \param generator SVG generator
-*/
-void QwtPlotRenderer::renderTo(
-    QwtPlot *plot, QSvgGenerator &generator ) const
-{
-    QRectF rect = generator.viewBoxF();
-    if ( rect.isEmpty() )
-        rect.setRect( 0, 0, generator.width(), generator.height() );
-
-    if ( rect.isEmpty() )
-        rect.setRect( 0, 0, 800, 600 ); // something
-
-    QPainter p( &generator );
-    render( plot, &p, rect );
-}
-#endif
-#endif
-#endif
-
-/*!
-  Paint the contents of a QwtPlot instance into a given rectangle.
-
-  \param plot Plot to be rendered
-  \param painter Painter
-  \param plotRect Bounding rectangle
-
-  \sa renderDocument(), renderTo(), QwtPainter::setRoundingAlignment()
-*/
-void QwtPlotRenderer::render( QwtPlot *plot,
-    QPainter *painter, const QRectF &plotRect ) const
-{
-    if ( painter == 0 || !painter->isActive() ||
-            !plotRect.isValid() || plot->size().isNull() )
-    {
-        return;
-    }
-
-    if ( !( d_data->discardFlags & DiscardBackground ) )
-        QwtPainter::drawBackgound( painter, plotRect, plot );
-
-    /*
-      The layout engine uses the same methods as they are used
-      by the Qt layout system. Therefore we need to calculate the
-      layout in screen coordinates and paint with a scaled painter.
-     */
-    QTransform transform;
-    transform.scale(
-        double( painter->device()->logicalDpiX() ) / plot->logicalDpiX(),
-        double( painter->device()->logicalDpiY() ) / plot->logicalDpiY() );
-
-    QRectF layoutRect = transform.inverted().mapRect( plotRect );
-
-    if ( !( d_data->discardFlags & DiscardBackground ) )
-    {
-        // subtract the contents margins
-
-        int left, top, right, bottom;
-        plot->getContentsMargins( &left, &top, &right, &bottom );
-        layoutRect.adjust( left, top, -right, -bottom );
-    }
-
-    QwtPlotLayout *layout = plot->plotLayout();
-
-    int baseLineDists[QwtPlot::axisCnt];
-    int canvasMargins[QwtPlot::axisCnt];
-
-    for ( int axisId = 0; axisId < QwtPlot::axisCnt; axisId++ )
-    {
-        canvasMargins[ axisId ] = layout->canvasMargin( axisId );
-
-        if ( d_data->layoutFlags & FrameWithScales )
-        {
-            QwtScaleWidget *scaleWidget = plot->axisWidget( axisId );
-            if ( scaleWidget )
-            {
-                baseLineDists[axisId] = scaleWidget->margin();
-                scaleWidget->setMargin( 0 );
-            }
-
-            if ( !plot->axisEnabled( axisId ) )
-            {
-                int left = 0;
-                int right = 0;
-                int top = 0;
-                int bottom = 0;
-
-                // When we have a scale the frame is painted on
-                // the position of the backbone - otherwise we
-                // need to introduce a margin around the canvas
-
-                switch( axisId )
-                {
-                    case QwtPlot::yLeft:
-                        layoutRect.adjust( 1, 0, 0, 0 );
-                        break;
-                    case QwtPlot::yRight:
-                        layoutRect.adjust( 0, 0, -1, 0 );
-                        break;
-                    case QwtPlot::xTop:
-                        layoutRect.adjust( 0, 1, 0, 0 );
-                        break;
-                    case QwtPlot::xBottom:
-                        layoutRect.adjust( 0, 0, 0, -1 );
-                        break;
-                    default:
-                        break;
-                }
-                layoutRect.adjust( left, top, right, bottom );
-            }
-        }
-    }
-
-    // Calculate the layout for the document.
-
-    QwtPlotLayout::Options layoutOptions = QwtPlotLayout::IgnoreScrollbars;
-
-    if ( ( d_data->layoutFlags & FrameWithScales ) ||
-        ( d_data->discardFlags & DiscardCanvasFrame ) )
-    {
-        layoutOptions |= QwtPlotLayout::IgnoreFrames;
-    } 
-
-
-    if ( d_data->discardFlags & DiscardLegend )
-        layoutOptions |= QwtPlotLayout::IgnoreLegend;
-
-    if ( d_data->discardFlags & DiscardTitle )
-        layoutOptions |= QwtPlotLayout::IgnoreTitle;
-
-    if ( d_data->discardFlags & DiscardFooter )
-        layoutOptions |= QwtPlotLayout::IgnoreFooter;
-
-    layout->activate( plot, layoutRect, layoutOptions );
-
-    // canvas
-
-    QwtScaleMap maps[QwtPlot::axisCnt];
-    buildCanvasMaps( plot, layout->canvasRect(), maps );
-    if ( updateCanvasMargins( plot, layout->canvasRect(), maps ) )
-    {
-        // recalculate maps and layout, when the margins
-        // have been changed
-
-        layout->activate( plot, layoutRect, layoutOptions );
-        buildCanvasMaps( plot, layout->canvasRect(), maps );
-    }
-
-    // now start painting
-
-    painter->save();
-    painter->setWorldTransform( transform, true );
-
-    renderCanvas( plot, painter, layout->canvasRect(), maps );
-
-    if ( !( d_data->discardFlags & DiscardTitle )
-        && ( !plot->titleLabel()->text().isEmpty() ) )
-    {
-        renderTitle( plot, painter, layout->titleRect() );
-    }
-
-    if ( !( d_data->discardFlags & DiscardFooter )
-        && ( !plot->footerLabel()->text().isEmpty() ) )
-    {
-        renderFooter( plot, painter, layout->footerRect() );
-    }
-
-    if ( !( d_data->discardFlags & DiscardLegend )
-        && plot->legend() && !plot->legend()->isEmpty() )
-    {
-        renderLegend( plot, painter, layout->legendRect() );
-    }
-
-    for ( int axisId = 0; axisId < QwtPlot::axisCnt; axisId++ )
-    {
-        QwtScaleWidget *scaleWidget = plot->axisWidget( axisId );
-        if ( scaleWidget )
-        {
-            int baseDist = scaleWidget->margin();
-
-            int startDist, endDist;
-            scaleWidget->getBorderDistHint( startDist, endDist );
-
-            renderScale( plot, painter, axisId, startDist, endDist,
-                baseDist, layout->scaleRect( axisId ) );
-        }
-    }
-
-    painter->restore();
-
-    // restore all setting to their original attributes.
-    for ( int axisId = 0; axisId < QwtPlot::axisCnt; axisId++ )
-    {
-        if ( d_data->layoutFlags & FrameWithScales )
-        {
-            QwtScaleWidget *scaleWidget = plot->axisWidget( axisId );
-            if ( scaleWidget  )
-                scaleWidget->setMargin( baseLineDists[axisId] );
-        }
-
-        layout->setCanvasMargin( canvasMargins[axisId] );
-    }
-
-    layout->invalidate();
-
-}
-
-/*!
-  Render the title into a given rectangle.
-
-  \param plot Plot widget
-  \param painter Painter
-  \param rect Bounding rectangle
-*/
-void QwtPlotRenderer::renderTitle( const QwtPlot *plot,
-    QPainter *painter, const QRectF &rect ) const
-{
-    painter->setFont( plot->titleLabel()->font() );
-
-    const QColor color = plot->titleLabel()->palette().color(
-            QPalette::Active, QPalette::Text );
-
-    painter->setPen( color );
-    plot->titleLabel()->text().draw( painter, rect );
-}
-
-/*!
-  Render the footer into a given rectangle.
-
-  \param plot Plot widget
-  \param painter Painter
-  \param rect Bounding rectangle
-*/
-void QwtPlotRenderer::renderFooter( const QwtPlot *plot,
-    QPainter *painter, const QRectF &rect ) const
-{
-    painter->setFont( plot->footerLabel()->font() );
-
-    const QColor color = plot->footerLabel()->palette().color(
-            QPalette::Active, QPalette::Text );
-
-    painter->setPen( color );
-    plot->footerLabel()->text().draw( painter, rect );
-}
-
-
-/*!
-  Render the legend into a given rectangle.
-
-  \param plot Plot widget
-  \param painter Painter
-  \param rect Bounding rectangle
-*/
-void QwtPlotRenderer::renderLegend( const QwtPlot *plot,
-    QPainter *painter, const QRectF &rect ) const
-{
-    if ( plot->legend() )
-    {
-        bool fillBackground = !( d_data->discardFlags & DiscardBackground );
-        plot->legend()->renderLegend( painter, rect, fillBackground );
-    }
-}
-
-/*!
-  \brief Paint a scale into a given rectangle.
-  Paint the scale into a given rectangle.
-
-  \param plot Plot widget
-  \param painter Painter
-  \param axisId Axis
-  \param startDist Start border distance
-  \param endDist End border distance
-  \param baseDist Base distance
-  \param rect Bounding rectangle
-*/
-void QwtPlotRenderer::renderScale( const QwtPlot *plot,
-    QPainter *painter,
-    int axisId, int startDist, int endDist, int baseDist,
-    const QRectF &rect ) const
-{
-    if ( !plot->axisEnabled( axisId ) )
-        return;
-
-    const QwtScaleWidget *scaleWidget = plot->axisWidget( axisId );
-    if ( scaleWidget->isColorBarEnabled()
-        && scaleWidget->colorBarWidth() > 0 )
-    {
-        scaleWidget->drawColorBar( painter, scaleWidget->colorBarRect( rect ) );
-        baseDist += scaleWidget->colorBarWidth() + scaleWidget->spacing();
-    }
-
-    painter->save();
-
-    QwtScaleDraw::Alignment align;
-    double x, y, w;
-
-    switch ( axisId )
-    {
-        case QwtPlot::yLeft:
-        {
-            x = rect.right() - 1.0 - baseDist;
-            y = rect.y() + startDist;
-            w = rect.height() - startDist - endDist;
-            align = QwtScaleDraw::LeftScale;
-            break;
-        }
-        case QwtPlot::yRight:
-        {
-            x = rect.left() + baseDist;
-            y = rect.y() + startDist;
-            w = rect.height() - startDist - endDist;
-            align = QwtScaleDraw::RightScale;
-            break;
-        }
-        case QwtPlot::xTop:
-        {
-            x = rect.left() + startDist;
-            y = rect.bottom() - 1.0 - baseDist;
-            w = rect.width() - startDist - endDist;
-            align = QwtScaleDraw::TopScale;
-            break;
-        }
-        case QwtPlot::xBottom:
-        {
-            x = rect.left() + startDist;
-            y = rect.top() + baseDist;
-            w = rect.width() - startDist - endDist;
-            align = QwtScaleDraw::BottomScale;
-            break;
-        }
-        default:
-            return;
-    }
-
-    scaleWidget->drawTitle( painter, align, rect );
-
-    painter->setFont( scaleWidget->font() );
-
-    QwtScaleDraw *sd = const_cast<QwtScaleDraw *>( scaleWidget->scaleDraw() );
-    const QPointF sdPos = sd->pos();
-    const double sdLength = sd->length();
-
-    sd->move( x, y );
-    sd->setLength( w );
-
-    QPalette palette = scaleWidget->palette();
-    palette.setCurrentColorGroup( QPalette::Active );
-    sd->draw( painter, palette );
-
-    // reset previous values
-    sd->move( sdPos );
-    sd->setLength( sdLength );
-
-    painter->restore();
-}
-
-/*!
-  Render the canvas into a given rectangle.
-
-  \param plot Plot widget
-  \param painter Painter
-  \param map Maps mapping between plot and paint device coordinates
-  \param canvasRect Canvas rectangle
-*/
-void QwtPlotRenderer::renderCanvas( const QwtPlot *plot,
-    QPainter *painter, const QRectF &canvasRect, 
-    const QwtScaleMap *map ) const
-{
-    const QWidget *canvas = plot->canvas();
-
-    QRectF r = canvasRect.adjusted( 0.0, 0.0, -1.0, -1.0 );
-
-    if ( d_data->layoutFlags & FrameWithScales )
-    {
-        painter->save();
-
-        r.adjust( -1.0, -1.0, 1.0, 1.0 );
-        painter->setPen( QPen( Qt::black ) );
-
-        if ( !( d_data->discardFlags & DiscardCanvasBackground ) )
-        {
-            const QBrush bgBrush =
-                canvas->palette().brush( plot->backgroundRole() );
-            painter->setBrush( bgBrush );
-        }
-
-        QwtPainter::drawRect( painter, r );
-
-        painter->restore();
-        painter->save();
-
-        painter->setClipRect( canvasRect );
-        plot->drawItems( painter, canvasRect, map );
-
-        painter->restore();
-    }
-    else if ( canvas->testAttribute( Qt::WA_StyledBackground ) )
-    {
-        QPainterPath clipPath;
-
-        painter->save();
-
-        if ( !( d_data->discardFlags & DiscardCanvasBackground ) )
-        {
-            QwtPainter::drawBackgound( painter, r, canvas );
-            clipPath = qwtCanvasClip( canvas, canvasRect );
-        }
-
-        painter->restore();
-        painter->save();
-
-        if ( clipPath.isEmpty() )
-            painter->setClipRect( canvasRect );
-        else
-            painter->setClipPath( clipPath );
-
-        plot->drawItems( painter, canvasRect, map );
-
-        painter->restore();
-    }
-    else
-    {
-        QPainterPath clipPath;
-
-        int frameWidth = 0;
-
-        if ( !( d_data->discardFlags & DiscardCanvasFrame ) )
-        {
-            const QVariant fw = canvas->property( "frameWidth" );
-            if ( fw.type() == QVariant::Int )
-                frameWidth = fw.toInt();
-
-            clipPath = qwtCanvasClip( canvas, canvasRect );
-        }
-
-        QRectF innerRect = canvasRect.adjusted( 
-            frameWidth, frameWidth, -frameWidth, -frameWidth );
-
-        painter->save();
-
-        if ( clipPath.isEmpty() )
-        {
-            painter->setClipRect( innerRect );
-        }
-        else
-        {
-            painter->setClipPath( clipPath );
-        }
-
-        if ( !( d_data->discardFlags & DiscardCanvasBackground ) )
-        {
-            QwtPainter::drawBackgound( painter, innerRect, canvas );
-        }
-
-        plot->drawItems( painter, innerRect, map );
-
-        painter->restore();
-
-        if ( frameWidth > 0 )
-        {
-            painter->save();
-
-            const int frameStyle =
-                canvas->property( "frameShadow" ).toInt() |
-                canvas->property( "frameShape" ).toInt();
-
-            const int frameWidth = canvas->property( "frameWidth" ).toInt();
-
-
-            const QVariant borderRadius = canvas->property( "borderRadius" );
-            if ( borderRadius.type() == QVariant::Double 
-                && borderRadius.toDouble() > 0.0 )
-            {
-                const double r = borderRadius.toDouble();
-
-                QwtPainter::drawRoundedFrame( painter, canvasRect,
-                    r, r, canvas->palette(), frameWidth, frameStyle );
-            }
-            else
-            {
-                const int midLineWidth = canvas->property( "midLineWidth" ).toInt();
-
-                QwtPainter::drawFrame( painter, canvasRect,
-                    canvas->palette(), canvas->foregroundRole(),
-                    frameWidth, midLineWidth, frameStyle );
-            }
-            painter->restore();
-        }
-    }
-}
-
-/*!
-   Calculated the scale maps for rendering the canvas
-
-   \param plot Plot widget
-   \param canvasRect Target rectangle
-   \param maps Scale maps to be calculated
-*/
-void QwtPlotRenderer::buildCanvasMaps( const QwtPlot *plot,
-    const QRectF &canvasRect, QwtScaleMap maps[] ) const
-{
-    for ( int axisId = 0; axisId < QwtPlot::axisCnt; axisId++ )
-    {
-        maps[axisId].setTransformation(
-            plot->axisScaleEngine( axisId )->transformation() );
-
-        const QwtScaleDiv &scaleDiv = plot->axisScaleDiv( axisId );
-        maps[axisId].setScaleInterval(
-            scaleDiv.lowerBound(), scaleDiv.upperBound() );
-
-        double from, to;
-        if ( plot->axisEnabled( axisId ) )
-        {
-            const int sDist = plot->axisWidget( axisId )->startBorderDist();
-            const int eDist = plot->axisWidget( axisId )->endBorderDist();
-            const QRectF scaleRect = plot->plotLayout()->scaleRect( axisId );
-
-            if ( axisId == QwtPlot::xTop || axisId == QwtPlot::xBottom )
-            {
-                from = scaleRect.left() + sDist;
-                to = scaleRect.right() - eDist;
-            }
-            else
-            {
-                from = scaleRect.bottom() - eDist;
-                to = scaleRect.top() + sDist;
-            }
-        }
-        else
-        {
-            int margin = 0;
-            if ( !plot->plotLayout()->alignCanvasToScale( axisId ) )
-                margin = plot->plotLayout()->canvasMargin( axisId );
-
-            if ( axisId == QwtPlot::yLeft || axisId == QwtPlot::yRight )
-            {
-                from = canvasRect.bottom() - margin;
-                to = canvasRect.top() + margin;
-            }
-            else
-            {
-                from = canvasRect.left() + margin;
-                to = canvasRect.right() - margin;
-            }
-        }
-        maps[axisId].setPaintInterval( from, to );
-    }
-}
-
-bool QwtPlotRenderer::updateCanvasMargins( QwtPlot *plot,
-    const QRectF &canvasRect, const QwtScaleMap maps[] ) const
-{
-    double margins[QwtPlot::axisCnt];
-    plot->getCanvasMarginsHint( maps, canvasRect,
-        margins[QwtPlot::yLeft], margins[QwtPlot::xTop], 
-        margins[QwtPlot::yRight], margins[QwtPlot::xBottom] );
-
-    bool marginsChanged = false;
-    for ( int axisId = 0; axisId < QwtPlot::axisCnt; axisId++ )
-    {
-        if ( margins[axisId] >= 0.0 )
-        {
-            const int m = qCeil( margins[axisId] );
-            plot->plotLayout()->setCanvasMargin( m, axisId);
-            marginsChanged = true;
-        }
-    }
-
-    return marginsChanged;
-}
-
-/*!
-   \brief Execute a file dialog and render the plot to the selected file
-
-   \param plot Plot widget
-   \param documentName Default document name
-   \param sizeMM Size for the document in millimeters.
-   \param resolution Resolution in dots per Inch (dpi)
-
-   \return True, when exporting was successful
-   \sa renderDocument()
-*/
-bool QwtPlotRenderer::exportTo( QwtPlot *plot, const QString &documentName,
-     const QSizeF &sizeMM, int resolution )
-{       
-    if ( plot == NULL )
-        return false;
-    
-    QString fileName = documentName;
-
-    // What about translation 
-
-#ifndef QT_NO_FILEDIALOG
-    const QList<QByteArray> imageFormats =
-        QImageWriter::supportedImageFormats();
-        
-    QStringList filter;
-#ifndef QT_NO_PRINTER
-    filter += QString( "PDF " ) + tr( "Documents" ) + " (*.pdf)";
-#endif
-#ifndef QWT_NO_SVG 
-    filter += QString( "SVG " ) + tr( "Documents" ) + " (*.svg)";
-#endif
-#ifndef QT_NO_PRINTER
-    filter += QString( "Postscript " ) + tr( "Documents" ) + " (*.ps)";
-#endif
-    
-    if ( imageFormats.size() > 0 )
-    {
-        QString imageFilter( tr( "Images" ) );
-        imageFilter += " (";
-        for ( int i = 0; i < imageFormats.size(); i++ )
-        {
-            if ( i > 0 )
-                imageFilter += " ";
-            imageFilter += "*."; 
-            imageFilter += imageFormats[i];
-        }   
-        imageFilter += ")";
-        
-        filter += imageFilter;
-    }   
-    
-    fileName = QFileDialog::getSaveFileName(
-        NULL, tr( "Export File Name" ), fileName,
-        filter.join( ";;" ), NULL, QFileDialog::DontConfirmOverwrite );
-#endif  
-    if ( fileName.isEmpty() )
-        return false;
-
-    renderDocument( plot, fileName, sizeMM, resolution );
-
-    return true;
-}   
diff --git a/SRC/Qwt/src/qwt_plot_renderer.h b/SRC/Qwt/src/qwt_plot_renderer.h
deleted file mode 100644
index 4fc4572..0000000
--- a/SRC/Qwt/src/qwt_plot_renderer.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_RENDERER_H
-#define QWT_PLOT_RENDERER_H
-
-#include "qwt_global.h"
-#include <qobject.h>
-#include <qsize.h>
-
-class QwtPlot;
-class QwtScaleMap;
-class QRectF;
-class QPainter;
-class QPaintDevice;
-
-#ifndef QT_NO_PRINTER
-class QPrinter;
-#endif
-
-#ifndef QWT_NO_SVG
-#ifdef QT_SVG_LIB
-class QSvgGenerator;
-#endif
-#endif
-
-/*!
-    \brief Renderer for exporting a plot to a document, a printer
-           or anything else, that is supported by QPainter/QPaintDevice
-*/
-class QWT_EXPORT QwtPlotRenderer: public QObject
-{
-    Q_OBJECT
-
-public:
-    //! Disard flags
-    enum DiscardFlag
-    {
-        //! Render all components of the plot
-        DiscardNone             = 0x00,
-
-        //! Don't render the background of the plot
-        DiscardBackground       = 0x01,
-
-        //! Don't render the title of the plot
-        DiscardTitle            = 0x02,
-
-        //! Don't render the legend of the plot
-        DiscardLegend           = 0x04,
-
-        //! Don't render the background of the canvas
-        DiscardCanvasBackground = 0x08,
-
-        //! Don't render the footer of the plot
-        DiscardFooter           = 0x10,
-
-        /*! 
-            Don't render the frame of the canvas
-
-            \note This flag has no effect when using
-                  style sheets, where the frame is part
-                  of the background
-         */
-        DiscardCanvasFrame           = 0x20
-
-    };
-
-    //! Disard flags
-    typedef QFlags<DiscardFlag> DiscardFlags;
-
-    /*!
-       \brief Layout flags
-       \sa setLayoutFlag(), testLayoutFlag()
-     */
-    enum LayoutFlag
-    {
-        //! Use the default layout as on screen
-        DefaultLayout   = 0x00,
-
-        /*!
-          Instead of the scales a box is painted around the plot canvas,
-          where the scale ticks are aligned to.
-         */
-        FrameWithScales = 0x01
-    };
-
-    //! Layout flags
-    typedef QFlags<LayoutFlag> LayoutFlags;
-
-    explicit QwtPlotRenderer( QObject * = NULL );
-    virtual ~QwtPlotRenderer();
-
-    void setDiscardFlag( DiscardFlag flag, bool on = true );
-    bool testDiscardFlag( DiscardFlag flag ) const;
-
-    void setDiscardFlags( DiscardFlags flags );
-    DiscardFlags discardFlags() const;
-
-    void setLayoutFlag( LayoutFlag flag, bool on = true );
-    bool testLayoutFlag( LayoutFlag flag ) const;
-
-    void setLayoutFlags( LayoutFlags flags );
-    LayoutFlags layoutFlags() const;
-
-    void renderDocument( QwtPlot *, const QString &fileName,
-        const QSizeF &sizeMM, int resolution = 85 );
-
-    void renderDocument( QwtPlot *,
-        const QString &fileName, const QString &format,
-        const QSizeF &sizeMM, int resolution = 85 );
-
-#ifndef QWT_NO_SVG
-#ifdef QT_SVG_LIB
-#if QT_VERSION >= 0x040500
-    void renderTo( QwtPlot *, QSvgGenerator & ) const;
-#endif
-#endif
-#endif
-
-#ifndef QT_NO_PRINTER
-    void renderTo( QwtPlot *, QPrinter & ) const;
-#endif
-
-    void renderTo( QwtPlot *, QPaintDevice &p ) const;
-
-    virtual void render( QwtPlot *,
-        QPainter *, const QRectF &rect ) const;
-
-    virtual void renderTitle( const QwtPlot *,
-        QPainter *, const QRectF & ) const;
-
-    virtual void renderFooter( const QwtPlot *,
-        QPainter *, const QRectF & ) const;
-
-    virtual void renderScale( const QwtPlot *, QPainter *,
-        int axisId, int startDist, int endDist,
-        int baseDist, const QRectF & ) const;
-
-    virtual void renderCanvas( const QwtPlot *,
-        QPainter *, const QRectF &canvasRect,
-        const QwtScaleMap* maps ) const;
-
-    virtual void renderLegend( 
-        const QwtPlot *, QPainter *, const QRectF & ) const;
-
-    bool exportTo( QwtPlot *, const QString &documentName,
-        const QSizeF &sizeMM = QSizeF( 300, 200 ), int resolution = 85 );
-
-private:
-    void buildCanvasMaps( const QwtPlot *,
-        const QRectF &, QwtScaleMap maps[] ) const;
-
-    bool updateCanvasMargins( QwtPlot *,
-        const QRectF &, const QwtScaleMap maps[] ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotRenderer::DiscardFlags )
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotRenderer::LayoutFlags )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_rescaler.cpp b/SRC/Qwt/src/qwt_plot_rescaler.cpp
deleted file mode 100644
index a496579..0000000
--- a/SRC/Qwt/src/qwt_plot_rescaler.cpp
+++ /dev/null
@@ -1,631 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_rescaler.h"
-#include "qwt_plot.h"
-#include "qwt_scale_div.h"
-#include "qwt_interval.h"
-#include "qwt_plot_canvas.h"
-#include <qevent.h>
-#include <qalgorithms.h>
-
-class QwtPlotRescaler::AxisData
-{
-public:
-    AxisData():
-        aspectRatio( 1.0 ),
-        expandingDirection( QwtPlotRescaler::ExpandUp )
-    {
-    }
-
-    double aspectRatio;
-    QwtInterval intervalHint;
-    QwtPlotRescaler::ExpandingDirection expandingDirection;
-    mutable QwtScaleDiv scaleDiv;
-};
-
-class QwtPlotRescaler::PrivateData
-{
-public:
-    PrivateData():
-        referenceAxis( QwtPlot::xBottom ),
-        rescalePolicy( QwtPlotRescaler::Expanding ),
-        isEnabled( false ),
-        inReplot( 0 )
-    {
-    }
-
-    int referenceAxis;
-    RescalePolicy rescalePolicy;
-    QwtPlotRescaler::AxisData axisData[QwtPlot::axisCnt];
-    bool isEnabled;
-
-    mutable int inReplot;
-};
-
-/*!
-   Constructor
-
-   \param canvas Canvas
-   \param referenceAxis Reference axis, see RescalePolicy
-   \param policy Rescale policy
-
-   \sa setRescalePolicy(), setReferenceAxis()
-*/
-QwtPlotRescaler::QwtPlotRescaler( QWidget *canvas,
-        int referenceAxis, RescalePolicy policy ):
-    QObject( canvas )
-{
-    d_data = new PrivateData;
-    d_data->referenceAxis = referenceAxis;
-    d_data->rescalePolicy = policy;
-
-    setEnabled( true );
-}
-
-//! Destructor
-QwtPlotRescaler::~QwtPlotRescaler()
-{
-    delete d_data;
-}
-
-/*!
-  \brief En/disable the rescaler
-
-  When enabled is true an event filter is installed for
-  the canvas, otherwise the event filter is removed.
-
-  \param on true or false
-  \sa isEnabled(), eventFilter()
-*/
-void QwtPlotRescaler::setEnabled( bool on )
-{
-    if ( d_data->isEnabled != on )
-    {
-        d_data->isEnabled = on;
-
-        QWidget *w = canvas();
-        if ( w )
-        {
-            if ( d_data->isEnabled )
-                w->installEventFilter( this );
-            else
-                w->removeEventFilter( this );
-        }
-    }
-}
-
-/*!
-  \return true when enabled, false otherwise
-  \sa setEnabled, eventFilter()
-*/
-bool QwtPlotRescaler::isEnabled() const
-{
-    return d_data->isEnabled;
-}
-
-/*!
-  Change the rescale policy
-
-  \param policy Rescale policy
-  \sa rescalePolicy()
-*/
-void QwtPlotRescaler::setRescalePolicy( RescalePolicy policy )
-{
-    d_data->rescalePolicy = policy;
-}
-
-/*!
-  \return Rescale policy
-  \sa setRescalePolicy()
-*/
-QwtPlotRescaler::RescalePolicy QwtPlotRescaler::rescalePolicy() const
-{
-    return d_data->rescalePolicy;
-}
-
-/*!
-  Set the reference axis ( see RescalePolicy )
-
-  \param axis Axis index ( QwtPlot::Axis )
-  \sa referenceAxis()
-*/
-void QwtPlotRescaler::setReferenceAxis( int axis )
-{
-    d_data->referenceAxis = axis;
-}
-
-/*!
-  \return Reference axis ( see RescalePolicy )
-  \sa setReferenceAxis()
-*/
-int QwtPlotRescaler::referenceAxis() const
-{
-    return d_data->referenceAxis;
-}
-
-/*!
-  Set the direction in which all axis should be expanded
-
-  \param direction Direction
-  \sa expandingDirection()
-*/
-void QwtPlotRescaler::setExpandingDirection(
-    ExpandingDirection direction )
-{
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-        setExpandingDirection( axis, direction );
-}
-
-/*!
-  Set the direction in which an axis should be expanded
-
-  \param axis Axis index ( see QwtPlot::AxisId )
-  \param direction Direction
-  \sa expandingDirection()
-*/
-void QwtPlotRescaler::setExpandingDirection(
-    int axis, ExpandingDirection direction )
-{
-    if ( axis >= 0 && axis < QwtPlot::axisCnt )
-        d_data->axisData[axis].expandingDirection = direction;
-}
-
-/*!
-  \return Direction in which an axis should be expanded
-
-  \param axis Axis index ( see QwtPlot::AxisId )
-  \sa setExpandingDirection()
-*/
-QwtPlotRescaler::ExpandingDirection
-QwtPlotRescaler::expandingDirection( int axis ) const
-{
-    if ( axis >= 0 && axis < QwtPlot::axisCnt )
-        return d_data->axisData[axis].expandingDirection;
-
-    return ExpandBoth;
-}
-
-/*!
-  Set the aspect ratio between the scale of the reference axis
-  and the other scales. The default ratio is 1.0
-
-  \param ratio Aspect ratio
-  \sa aspectRatio()
-*/
-void QwtPlotRescaler::setAspectRatio( double ratio )
-{
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-        setAspectRatio( axis, ratio );
-}
-
-/*!
-  Set the aspect ratio between the scale of the reference axis
-  and another scale. The default ratio is 1.0
-
-  \param axis Axis index ( see QwtPlot::AxisId )
-  \param ratio Aspect ratio
-  \sa aspectRatio()
-*/
-void QwtPlotRescaler::setAspectRatio( int axis, double ratio )
-{
-    if ( ratio < 0.0 )
-        ratio = 0.0;
-
-    if ( axis >= 0 && axis < QwtPlot::axisCnt )
-        d_data->axisData[axis].aspectRatio = ratio;
-}
-
-/*!
-  \return Aspect ratio between an axis and the reference axis.
-
-  \param axis Axis index ( see QwtPlot::AxisId )
-  \sa setAspectRatio()
-*/
-double QwtPlotRescaler::aspectRatio( int axis ) const
-{
-    if ( axis >= 0 && axis < QwtPlot::axisCnt )
-        return d_data->axisData[axis].aspectRatio;
-
-    return 0.0;
-}
-
-/*!
-  Set an interval hint for an axis
-
-  In Fitting mode, the hint is used as minimal interval
-  that always needs to be displayed.
-
-  \param axis Axis, see QwtPlot::Axis
-  \param interval Axis
-  \sa intervalHint(), RescalePolicy
-*/
-void QwtPlotRescaler::setIntervalHint( int axis,
-    const QwtInterval &interval )
-{
-    if ( axis >= 0 && axis < QwtPlot::axisCnt )
-        d_data->axisData[axis].intervalHint = interval;
-}
-
-/*!
-  \param axis Axis, see QwtPlot::Axis
-  \return Interval hint
-  \sa setIntervalHint(), RescalePolicy
-*/
-QwtInterval QwtPlotRescaler::intervalHint( int axis ) const
-{
-    if ( axis >= 0 && axis < QwtPlot::axisCnt )
-        return d_data->axisData[axis].intervalHint;
-
-    return QwtInterval();
-}
-
-//! \return plot canvas
-QWidget *QwtPlotRescaler::canvas()
-{
-    return qobject_cast<QWidget *>( parent() );
-}
-
-//! \return plot canvas
-const QWidget *QwtPlotRescaler::canvas() const
-{
-    return qobject_cast<const QWidget *>( parent() );
-}
-
-//! \return plot widget
-QwtPlot *QwtPlotRescaler::plot()
-{
-    QWidget *w = canvas();
-    if ( w )
-        w = w->parentWidget();
-
-    return qobject_cast<QwtPlot *>( w );
-}
-
-//! \return plot widget
-const QwtPlot *QwtPlotRescaler::plot() const
-{
-    const QWidget *w = canvas();
-    if ( w )
-        w = w->parentWidget();
-
-    return qobject_cast<const QwtPlot *>( w );
-}
-
-//!  Event filter for the plot canvas
-bool QwtPlotRescaler::eventFilter( QObject *object, QEvent *event )
-{
-    if ( object && object == canvas() )
-    {
-        switch ( event->type() )
-        {
-            case QEvent::Resize:
-            {
-                canvasResizeEvent( static_cast<QResizeEvent *>( event ) );
-                break;
-            }
-            case QEvent::PolishRequest:
-            {
-                rescale();
-                break;
-            }
-            default:;
-        }
-    }
-
-    return false;
-}
-
-/*!
-  Event handler for resize events of the plot canvas
-
-  \param event Resize event
-  \sa rescale()
-*/
-void QwtPlotRescaler::canvasResizeEvent( QResizeEvent* event )
-{
-    int left, top, right, bottom;
-    canvas()->getContentsMargins( &left, &top, &right, &bottom );
-
-    const QSize marginSize( left + right, top + bottom );
-
-    const QSize newSize = event->size() - marginSize;
-    const QSize oldSize = event->oldSize() - marginSize;
-
-    rescale( oldSize, newSize );
-}
-
-//! Adjust the plot axes scales
-void QwtPlotRescaler::rescale() const
-{
-    const QSize size = canvas()->contentsRect().size();
-    rescale( size, size );
-}
-
-/*!
-   Adjust the plot axes scales
-
-   \param oldSize Previous size of the canvas
-   \param newSize New size of the canvas
-*/
-void QwtPlotRescaler::rescale(
-    const QSize &oldSize, const QSize &newSize ) const
-{
-    if ( newSize.isEmpty() )
-        return;
-
-    QwtInterval intervals[QwtPlot::axisCnt];
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-        intervals[axis] = interval( axis );
-
-    const int refAxis = referenceAxis();
-    intervals[refAxis] = expandScale( refAxis, oldSize, newSize );
-
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-    {
-        if ( aspectRatio( axis ) > 0.0 && axis != refAxis )
-            intervals[axis] = syncScale( axis, intervals[refAxis], newSize );
-    }
-
-    updateScales( intervals );
-}
-
-/*!
-  Calculate the new scale interval of a plot axis
-
-  \param axis Axis index ( see QwtPlot::AxisId )
-  \param oldSize Previous size of the canvas
-  \param newSize New size of the canvas
-
-  \return Calculated new interval for the axis
-*/
-QwtInterval QwtPlotRescaler::expandScale( int axis,
-        const QSize &oldSize, const QSize &newSize ) const
-{
-    const QwtInterval oldInterval = interval( axis );
-
-    QwtInterval expanded = oldInterval;
-    switch ( rescalePolicy() )
-    {
-        case Fixed:
-        {
-            break; // do nothing
-        }
-        case Expanding:
-        {
-            if ( !oldSize.isEmpty() )
-            {
-                double width = oldInterval.width();
-                if ( orientation( axis ) == Qt::Horizontal )
-                    width *= double( newSize.width() ) / oldSize.width();
-                else
-                    width *= double( newSize.height() ) / oldSize.height();
-
-                expanded = expandInterval( oldInterval,
-                    width, expandingDirection( axis ) );
-            }
-            break;
-        }
-        case Fitting:
-        {
-            double dist = 0.0;
-            for ( int ax = 0; ax < QwtPlot::axisCnt; ax++ )
-            {
-                const double d = pixelDist( ax, newSize );
-                if ( d > dist )
-                    dist = d;
-            }
-            if ( dist > 0.0 )
-            {
-                double width;
-                if ( orientation( axis ) == Qt::Horizontal )
-                    width = newSize.width() * dist;
-                else
-                    width = newSize.height() * dist;
-
-                expanded = expandInterval( intervalHint( axis ),
-                    width, expandingDirection( axis ) );
-            }
-            break;
-        }
-    }
-
-    return expanded;
-}
-
-/*!
-  Synchronize an axis scale according to the scale of the reference axis
-
-  \param axis Axis index ( see QwtPlot::AxisId )
-  \param reference Interval of the reference axis
-  \param size Size of the canvas
-
-  \return New interval for axis
-*/
-QwtInterval QwtPlotRescaler::syncScale( int axis,
-    const QwtInterval& reference, const QSize &size ) const
-{
-    double dist;
-    if ( orientation( referenceAxis() ) == Qt::Horizontal )
-        dist = reference.width() / size.width();
-    else
-        dist = reference.width() / size.height();
-
-    if ( orientation( axis ) == Qt::Horizontal )
-        dist *= size.width();
-    else
-        dist *= size.height();
-
-    dist /= aspectRatio( axis );
-
-    QwtInterval intv;
-    if ( rescalePolicy() == Fitting )
-        intv = intervalHint( axis );
-    else
-        intv = interval( axis );
-
-    intv = expandInterval( intv, dist, expandingDirection( axis ) );
-
-    return intv;
-}
-
-/*!
-  \return Orientation of an axis
-  \param axis Axis index ( see QwtPlot::AxisId )
-*/
-Qt::Orientation QwtPlotRescaler::orientation( int axis ) const
-{
-    if ( axis == QwtPlot::yLeft || axis == QwtPlot::yRight )
-        return Qt::Vertical;
-
-    return Qt::Horizontal;
-}
-
-/*!
-  \param axis Axis index ( see QwtPlot::AxisId )
-  \return Normalized interval of an axis
-*/
-QwtInterval QwtPlotRescaler::interval( int axis ) const
-{
-    if ( axis < 0 || axis >= QwtPlot::axisCnt )
-        return QwtInterval();
-
-    return plot()->axisScaleDiv( axis ).interval().normalized();
-}
-
-/*!
-  Expand the interval
-
-  \param interval Interval to be expanded
-  \param width Distance to be added to the interval
-  \param direction Direction of the expand operation
-
-  \return Expanded interval
-*/
-QwtInterval QwtPlotRescaler::expandInterval(
-    const QwtInterval &interval, double width,
-    ExpandingDirection direction ) const
-{
-    QwtInterval expanded = interval;
-
-    switch ( direction )
-    {
-        case ExpandUp:
-            expanded.setMinValue( interval.minValue() );
-            expanded.setMaxValue( interval.minValue() + width );
-            break;
-
-        case ExpandDown:
-            expanded.setMaxValue( interval.maxValue() );
-            expanded.setMinValue( interval.maxValue() - width );
-            break;
-
-        case ExpandBoth:
-        default:
-            expanded.setMinValue( interval.minValue() +
-                interval.width() / 2.0 - width / 2.0 );
-            expanded.setMaxValue( expanded.minValue() + width );
-    }
-    return expanded;
-}
-
-double QwtPlotRescaler::pixelDist( int axis, const QSize &size ) const
-{
-    const QwtInterval intv = intervalHint( axis );
-
-    double dist = 0.0;
-    if ( !intv.isNull() )
-    {
-        if ( axis == referenceAxis() )
-            dist = intv.width();
-        else
-        {
-            const double r = aspectRatio( axis );
-            if ( r > 0.0 )
-                dist = intv.width() * r;
-        }
-    }
-
-    if ( dist > 0.0 )
-    {
-        if ( orientation( axis ) == Qt::Horizontal )
-            dist /= size.width();
-        else
-            dist /= size.height();
-    }
-
-    return dist;
-}
-
-/*!
-   Update the axes scales
-
-   \param intervals Scale intervals
-*/
-void QwtPlotRescaler::updateScales(
-    QwtInterval intervals[QwtPlot::axisCnt] ) const
-{
-    if ( d_data->inReplot >= 5 )
-    {
-        return;
-    }
-
-    QwtPlot *plt = const_cast<QwtPlot *>( plot() );
-
-    const bool doReplot = plt->autoReplot();
-    plt->setAutoReplot( false );
-
-    for ( int axis = 0; axis < QwtPlot::axisCnt; axis++ )
-    {
-        if ( axis == referenceAxis() || aspectRatio( axis ) > 0.0 )
-        {
-            double v1 = intervals[axis].minValue();
-            double v2 = intervals[axis].maxValue();
-
-            if ( !plt->axisScaleDiv( axis ).isIncreasing() )
-                qSwap( v1, v2 );
-
-            if ( d_data->inReplot >= 1 )
-                d_data->axisData[axis].scaleDiv = plt->axisScaleDiv( axis );
-
-            if ( d_data->inReplot >= 2 )
-            {
-                QList<double> ticks[QwtScaleDiv::NTickTypes];
-                for ( int i = 0; i < QwtScaleDiv::NTickTypes; i++ )
-                    ticks[i] = d_data->axisData[axis].scaleDiv.ticks( i );
-
-                plt->setAxisScaleDiv( axis, QwtScaleDiv( v1, v2, ticks ) );
-            }
-            else
-            {
-                plt->setAxisScale( axis, v1, v2 );
-            }
-        }
-    }
-
-    QwtPlotCanvas *canvas = qobject_cast<QwtPlotCanvas *>( plt->canvas() );
-
-    bool immediatePaint = false;
-    if ( canvas )
-    {
-        immediatePaint = canvas->testPaintAttribute( QwtPlotCanvas::ImmediatePaint );
-        canvas->setPaintAttribute( QwtPlotCanvas::ImmediatePaint, false );
-    }
-
-    plt->setAutoReplot( doReplot );
-
-    d_data->inReplot++;
-    plt->replot();
-    d_data->inReplot--;
-
-    if ( canvas && immediatePaint )
-    {
-        canvas->setPaintAttribute( QwtPlotCanvas::ImmediatePaint, true );
-    }
-}
diff --git a/SRC/Qwt/src/qwt_plot_rescaler.h b/SRC/Qwt/src/qwt_plot_rescaler.h
deleted file mode 100644
index 82fec26..0000000
--- a/SRC/Qwt/src/qwt_plot_rescaler.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_RESCALER_H
-#define QWT_PLOT_RESCALER_H 1
-
-#include "qwt_global.h"
-#include "qwt_interval.h"
-#include "qwt_plot.h"
-#include <qobject.h>
-
-class QwtPlot;
-class QResizeEvent;
-
-/*!
-    \brief QwtPlotRescaler takes care of fixed aspect ratios for plot scales
-
-    QwtPlotRescaler auto adjusts the axes of a QwtPlot according
-    to fixed aspect ratios.
-*/
-
-class QWT_EXPORT QwtPlotRescaler: public QObject
-{
-public:
-    /*!
-      The rescale policy defines how to rescale the reference axis and
-      their depending axes.
-
-      \sa ExpandingDirection, setIntervalHint()
-    */
-    enum RescalePolicy
-    {
-        /*!
-          The interval of the reference axis remains unchanged, when the
-          geometry of the canvas changes. All other axes
-          will be adjusted according to their aspect ratio.
-         */
-        Fixed,
-
-        /*!
-          The interval of the reference axis will be shrunk/expanded,
-          when the geometry of the canvas changes. All other axes
-          will be adjusted according to their aspect ratio.
-
-          The interval, that is represented by one pixel is fixed.
-
-         */
-        Expanding,
-
-        /*!
-          The intervals of the axes are calculated, so that all axes include
-          their interval hint.
-         */
-        Fitting
-    };
-
-    /*!
-       When rescalePolicy() is set to Expanding its direction depends
-       on ExpandingDirection
-     */
-    enum ExpandingDirection
-    {
-        //! The upper limit of the scale is adjusted
-        ExpandUp,
-
-        //! The lower limit of the scale is adjusted
-        ExpandDown,
-
-        //! Both limits of the scale are adjusted
-        ExpandBoth
-    };
-
-    explicit QwtPlotRescaler( QWidget *canvas,
-        int referenceAxis = QwtPlot::xBottom,
-        RescalePolicy = Expanding );
-
-    virtual ~QwtPlotRescaler();
-
-    void setEnabled( bool );
-    bool isEnabled() const;
-
-    void setRescalePolicy( RescalePolicy );
-    RescalePolicy rescalePolicy() const;
-
-    void setExpandingDirection( ExpandingDirection );
-    void setExpandingDirection( int axis, ExpandingDirection );
-    ExpandingDirection expandingDirection( int axis ) const;
-
-    void setReferenceAxis( int axis );
-    int referenceAxis() const;
-
-    void setAspectRatio( double ratio );
-    void setAspectRatio( int axis, double ratio );
-    double aspectRatio( int axis ) const;
-
-    void setIntervalHint( int axis, const QwtInterval& );
-    QwtInterval intervalHint( int axis ) const;
-
-    QWidget *canvas();
-    const QWidget *canvas() const;
-
-    QwtPlot *plot();
-    const QwtPlot *plot() const;
-
-    virtual bool eventFilter( QObject *, QEvent * );
-
-    void rescale() const;
-
-protected:
-    virtual void canvasResizeEvent( QResizeEvent * );
-
-    virtual void rescale( const QSize &oldSize, const QSize &newSize ) const;
-    virtual QwtInterval expandScale( 
-        int axis, const QSize &oldSize, const QSize &newSize ) const;
-
-    virtual QwtInterval syncScale(
-        int axis, const QwtInterval& reference,
-        const QSize &size ) const;
-
-    virtual void updateScales(
-        QwtInterval intervals[QwtPlot::axisCnt] ) const;
-
-    Qt::Orientation orientation( int axis ) const;
-    QwtInterval interval( int axis ) const;
-    QwtInterval expandInterval( const QwtInterval &,
-        double width, ExpandingDirection ) const;
-
-private:
-    double pixelDist( int axis, const QSize & ) const;
-
-    class AxisData;
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_scaleitem.cpp b/SRC/Qwt/src/qwt_plot_scaleitem.cpp
deleted file mode 100644
index 4fd150a..0000000
--- a/SRC/Qwt/src/qwt_plot_scaleitem.cpp
+++ /dev/null
@@ -1,478 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_scaleitem.h"
-#include "qwt_plot.h"
-#include "qwt_scale_map.h"
-#include "qwt_interval.h"
-#include <qpalette.h>
-#include <qpainter.h>
-
-class QwtPlotScaleItem::PrivateData
-{
-public:
-    PrivateData():
-        position( 0.0 ),
-        borderDistance( -1 ),
-        scaleDivFromAxis( true ),
-        scaleDraw( new QwtScaleDraw() )
-    {
-    }
-
-    ~PrivateData()
-    {
-        delete scaleDraw;
-    }
-
-    QwtInterval scaleInterval( const QRectF &,
-        const QwtScaleMap &, const QwtScaleMap & ) const;
-
-    QPalette palette;
-    QFont font;
-    double position;
-    int borderDistance;
-    bool scaleDivFromAxis;
-    QwtScaleDraw *scaleDraw;
-};
-
-QwtInterval QwtPlotScaleItem::PrivateData::scaleInterval( const QRectF &canvasRect,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap ) const
-{
-    QwtInterval interval;
-    if ( scaleDraw->orientation() == Qt::Horizontal )
-    {
-        interval.setMinValue( xMap.invTransform( canvasRect.left() ) );
-        interval.setMaxValue( xMap.invTransform( canvasRect.right() - 1 ) );
-    }
-    else
-    {
-        interval.setMinValue( yMap.invTransform( canvasRect.bottom() - 1 ) );
-        interval.setMaxValue( yMap.invTransform( canvasRect.top() ) );
-    }
-
-    return interval;
-}
-
-/*!
-   \brief Constructor for scale item at the position pos.
-
-   \param alignment In case of QwtScaleDraw::BottomScale or QwtScaleDraw::TopScale
-                    the scale item is corresponding to the xAxis(),
-                    otherwise it corresponds to the yAxis().
-
-   \param pos x or y position, depending on the corresponding axis.
-
-   \sa setPosition(), setAlignment()
-*/
-QwtPlotScaleItem::QwtPlotScaleItem(
-        QwtScaleDraw::Alignment alignment, const double pos ):
-    QwtPlotItem( QwtText( "Scale" ) )
-{
-    d_data = new PrivateData;
-    d_data->position = pos;
-    d_data->scaleDraw->setAlignment( alignment );
-
-    setItemInterest( QwtPlotItem::ScaleInterest, true );
-    setZ( 11.0 );
-}
-
-//! Destructor
-QwtPlotScaleItem::~QwtPlotScaleItem()
-{
-    delete d_data;
-}
-
-//! \return QwtPlotItem::Rtti_PlotScale
-int QwtPlotScaleItem::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotScale;
-}
-
-/*!
-   \brief Assign a scale division
-
-   When assigning a scaleDiv the scale division won't be synchronized
-   with the corresponding axis anymore.
-
-   \param scaleDiv Scale division
-   \sa scaleDiv(), setScaleDivFromAxis(), isScaleDivFromAxis()
-*/
-void QwtPlotScaleItem::setScaleDiv( const QwtScaleDiv& scaleDiv )
-{
-    d_data->scaleDivFromAxis = false;
-    d_data->scaleDraw->setScaleDiv( scaleDiv );
-}
-
-//! \return Scale division
-const QwtScaleDiv& QwtPlotScaleItem::scaleDiv() const
-{
-    return d_data->scaleDraw->scaleDiv();
-}
-
-/*!
-   Enable/Disable the synchronization of the scale division with
-   the corresponding axis.
-
-   \param on true/false
-   \sa isScaleDivFromAxis()
-*/
-void QwtPlotScaleItem::setScaleDivFromAxis( bool on )
-{
-    if ( on != d_data->scaleDivFromAxis )
-    {
-        d_data->scaleDivFromAxis = on;
-        if ( on )
-        {
-            const QwtPlot *plt = plot();
-            if ( plt )
-            {
-                updateScaleDiv( plt->axisScaleDiv( xAxis() ),
-                    plt->axisScaleDiv( yAxis() ) );
-                itemChanged();
-            }
-        }
-    }
-}
-
-/*!
-   \return True, if the synchronization of the scale division with
-           the corresponding axis is enabled.
-   \sa setScaleDiv(), setScaleDivFromAxis()
-*/
-bool QwtPlotScaleItem::isScaleDivFromAxis() const
-{
-    return d_data->scaleDivFromAxis;
-}
-
-/*!
-   Set the palette
-   \sa QwtAbstractScaleDraw::draw(), palette()
-*/
-void QwtPlotScaleItem::setPalette( const QPalette &palette )
-{
-    if ( palette != d_data->palette )
-    {
-        d_data->palette = palette;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-   \return palette
-   \sa setPalette()
-*/
-QPalette QwtPlotScaleItem::palette() const
-{
-    return d_data->palette;
-}
-
-/*!
-   Change the tick label font
-   \sa font()
-*/
-void QwtPlotScaleItem::setFont( const QFont &font )
-{
-    if ( font != d_data->font )
-    {
-        d_data->font = font;
-        itemChanged();
-    }
-}
-
-/*!
-   \return tick label font
-   \sa setFont()
-*/
-QFont QwtPlotScaleItem::font() const
-{
-    return d_data->font;
-}
-
-/*!
-  \brief Set a scale draw
-
-  \param scaleDraw object responsible for drawing scales.
-
-  The main use case for replacing the default QwtScaleDraw is
-  to overload QwtAbstractScaleDraw::label, to replace or swallow
-  tick labels.
-
-  \sa scaleDraw()
-*/
-void QwtPlotScaleItem::setScaleDraw( QwtScaleDraw *scaleDraw )
-{
-    if ( scaleDraw == NULL )
-        return;
-
-    if ( scaleDraw != d_data->scaleDraw )
-        delete d_data->scaleDraw;
-
-    d_data->scaleDraw = scaleDraw;
-
-    const QwtPlot *plt = plot();
-    if ( plt )
-    {
-        updateScaleDiv( plt->axisScaleDiv( xAxis() ),
-            plt->axisScaleDiv( yAxis() ) );
-    }
-
-    itemChanged();
-}
-
-/*!
-   \return Scale draw
-   \sa setScaleDraw()
-*/
-const QwtScaleDraw *QwtPlotScaleItem::scaleDraw() const
-{
-    return d_data->scaleDraw;
-}
-
-/*!
-   \return Scale draw
-   \sa setScaleDraw()
-*/
-QwtScaleDraw *QwtPlotScaleItem::scaleDraw()
-{
-    return d_data->scaleDraw;
-}
-
-/*!
-   Change the position of the scale
-
-   The position is interpreted as y value for horizontal axes
-   and as x value for vertical axes.
-
-   The border distance is set to -1.
-
-   \param pos New position
-   \sa position(), setAlignment()
-*/
-void QwtPlotScaleItem::setPosition( double pos )
-{
-    if ( d_data->position != pos )
-    {
-        d_data->position = pos;
-        d_data->borderDistance = -1;
-        itemChanged();
-    }
-}
-
-/*!
-   \return Position of the scale
-   \sa setPosition(), setAlignment()
-*/
-double QwtPlotScaleItem::position() const
-{
-    return d_data->position;
-}
-
-/*!
-   \brief Align the scale to the canvas
-
-   If distance is >= 0 the scale will be aligned to a
-   border of the contents rectangle of the canvas. If
-   alignment() is QwtScaleDraw::LeftScale, the scale will
-   be aligned to the right border, if it is QwtScaleDraw::TopScale
-   it will be aligned to the bottom (and vice versa),
-
-   If distance is < 0 the scale will be at the position().
-
-   \param distance Number of pixels between the canvas border and the
-                   backbone of the scale.
-
-   \sa setPosition(), borderDistance()
-*/
-void QwtPlotScaleItem::setBorderDistance( int distance )
-{
-    if ( distance < 0 )
-        distance = -1;
-
-    if ( distance != d_data->borderDistance )
-    {
-        d_data->borderDistance = distance;
-        itemChanged();
-    }
-}
-
-/*!
-   \return Distance from a canvas border
-   \sa setBorderDistance(), setPosition()
-*/
-int QwtPlotScaleItem::borderDistance() const
-{
-    return d_data->borderDistance;
-}
-
-/*!
-   Change the alignment of the scale
-
-   The alignment sets the orientation of the scale and the position of
-   the ticks:
-
-   - QwtScaleDraw::BottomScale: horizontal, ticks below
-   - QwtScaleDraw::TopScale: horizontal, ticks above
-   - QwtScaleDraw::LeftScale: vertical, ticks left
-   - QwtScaleDraw::RightScale: vertical, ticks right
-
-   For horizontal scales the position corresponds to QwtPlotItem::yAxis(),
-   otherwise to QwtPlotItem::xAxis().
-
-   \sa scaleDraw(), QwtScaleDraw::alignment(), setPosition()
-*/
-void QwtPlotScaleItem::setAlignment( QwtScaleDraw::Alignment alignment )
-{
-    QwtScaleDraw *sd = d_data->scaleDraw;
-    if ( sd->alignment() != alignment )
-    {
-        sd->setAlignment( alignment );
-        itemChanged();
-    }
-}
-
-/*!
-  \brief Draw the scale
-*/
-void QwtPlotScaleItem::draw( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect ) const
-{
-    QwtScaleDraw *sd = d_data->scaleDraw;
-
-    if ( d_data->scaleDivFromAxis )
-    {
-        const QwtInterval interval = 
-            d_data->scaleInterval( canvasRect, xMap, yMap );
-
-        if ( interval != sd->scaleDiv().interval() )
-        {
-            QwtScaleDiv scaleDiv = sd->scaleDiv();
-            scaleDiv.setInterval( interval );
-            sd->setScaleDiv( scaleDiv );
-        }
-    }
-
-    QPen pen = painter->pen();
-    pen.setStyle( Qt::SolidLine );
-    painter->setPen( pen );
-
-    if ( sd->orientation() == Qt::Horizontal )
-    {
-        double y;
-        if ( d_data->borderDistance >= 0 )
-        {
-            if ( sd->alignment() == QwtScaleDraw::BottomScale )
-                y = canvasRect.top() + d_data->borderDistance;
-            else
-            {
-                y = canvasRect.bottom() - d_data->borderDistance;
-            }
-
-        }
-        else
-        {
-            y = yMap.transform( d_data->position );
-        }
-
-        if ( y < canvasRect.top() || y > canvasRect.bottom() )
-            return;
-
-        sd->move( canvasRect.left(), y );
-        sd->setLength( canvasRect.width() - 1 );
-
-        QwtTransform *transform = NULL;
-        if ( xMap.transformation() )
-            transform = xMap.transformation()->copy();
-
-        sd->setTransformation( transform );
-    }
-    else // == Qt::Vertical
-    {
-        double x;
-        if ( d_data->borderDistance >= 0 )
-        {
-            if ( sd->alignment() == QwtScaleDraw::RightScale )
-                x = canvasRect.left() + d_data->borderDistance;
-            else
-            {
-                x = canvasRect.right() - d_data->borderDistance;
-            }
-        }
-        else
-        {
-            x = xMap.transform( d_data->position );
-        }
-        if ( x < canvasRect.left() || x > canvasRect.right() )
-            return;
-
-        sd->move( x, canvasRect.top() );
-        sd->setLength( canvasRect.height() - 1 );
-
-        QwtTransform *transform = NULL;
-        if ( yMap.transformation() )
-            transform = yMap.transformation()->copy();
-
-        sd->setTransformation( transform );
-    }
-
-    painter->setFont( d_data->font );
-
-    sd->draw( painter, d_data->palette );
-}
-
-/*!
-   \brief Update the item to changes of the axes scale division
-
-   In case of isScaleDivFromAxis(), the scale draw is synchronized
-   to the correspond axis.
-
-   \param xScaleDiv Scale division of the x-axis
-   \param yScaleDiv Scale division of the y-axis
-
-   \sa QwtPlot::updateAxes()
-*/
-
-void QwtPlotScaleItem::updateScaleDiv( const QwtScaleDiv& xScaleDiv,
-    const QwtScaleDiv& yScaleDiv )
-{
-    QwtScaleDraw *scaleDraw = d_data->scaleDraw;
-
-    if ( d_data->scaleDivFromAxis && scaleDraw )
-    {
-        const QwtScaleDiv &scaleDiv = 
-            scaleDraw->orientation() == Qt::Horizontal ? xScaleDiv : yScaleDiv;
-
-        const QwtPlot *plt = plot();
-        if ( plt != NULL )
-        {
-            const QRectF canvasRect = plt->canvas()->contentsRect();
-
-            const QwtInterval interval = d_data->scaleInterval( 
-                canvasRect, plt->canvasMap( xAxis() ), plt->canvasMap( yAxis() ) );
-
-            QwtScaleDiv sd = scaleDiv;
-            sd.setInterval( interval );
-
-            if ( sd != scaleDraw->scaleDiv() )
-            {
-                // the internal label cache of QwtScaleDraw
-                // is cleared here, so better avoid pointless
-                // assignments.
-
-                scaleDraw->setScaleDiv( sd );
-            }
-        }
-        else
-        {
-            scaleDraw->setScaleDiv( scaleDiv );
-        }
-    }
-}
diff --git a/SRC/Qwt/src/qwt_plot_scaleitem.h b/SRC/Qwt/src/qwt_plot_scaleitem.h
deleted file mode 100644
index 5490c2b..0000000
--- a/SRC/Qwt/src/qwt_plot_scaleitem.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_SCALE_ITEM_H
-#define QWT_PLOT_SCALE_ITEM_H
-
-#include "qwt_global.h"
-#include "qwt_plot_item.h"
-#include "qwt_scale_draw.h"
-
-class QPalette;
-
-/*!
-  \brief A class which draws a scale inside the plot canvas
-
-  QwtPlotScaleItem can be used to draw an axis inside the plot canvas.
-  It might by synchronized to one of the axis of the plot, but can
-  also display its own ticks and labels.
-
-  It is allowed to synchronize the scale item with a disabled axis.
-  In plots with vertical and horizontal scale items, it might be
-  necessary to remove ticks at the intersections, by overloading
-  updateScaleDiv().
-
-  The scale might be at a specific position (f.e 0.0) or it might be
-  aligned to a canvas border.
-
-  \par Example
-  The following example shows how to replace the left axis, by a scale item
-  at the x position 0.0.
-  \verbatim
-QwtPlotScaleItem *scaleItem =
-    new QwtPlotScaleItem(QwtScaleDraw::RightScale, 0.0);
-scaleItem->setFont(plot->axisWidget(QwtPlot::yLeft)->font());
-scaleItem->attach(plot);
-
-plot->enableAxis(QwtPlot::yLeft, false);
-\endverbatim
-*/
-
-class QWT_EXPORT QwtPlotScaleItem: public QwtPlotItem
-{
-public:
-    explicit QwtPlotScaleItem(
-        QwtScaleDraw::Alignment = QwtScaleDraw::BottomScale,
-        const double pos = 0.0 );
-
-    virtual ~QwtPlotScaleItem();
-
-    virtual int rtti() const;
-
-    void setScaleDiv( const QwtScaleDiv& );
-    const QwtScaleDiv& scaleDiv() const;
-
-    void setScaleDivFromAxis( bool on );
-    bool isScaleDivFromAxis() const;
-
-    void setPalette( const QPalette & );
-    QPalette palette() const;
-
-    void setFont( const QFont& );
-    QFont font() const;
-
-    void setScaleDraw( QwtScaleDraw * );
-
-    const QwtScaleDraw *scaleDraw() const;
-    QwtScaleDraw *scaleDraw();
-
-    void setPosition( double pos );
-    double position() const;
-
-    void setBorderDistance( int numPixels );
-    int borderDistance() const;
-
-    void setAlignment( QwtScaleDraw::Alignment );
-
-    virtual void draw( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &rect ) const;
-
-    virtual void updateScaleDiv( const QwtScaleDiv &, const QwtScaleDiv & );
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_seriesitem.cpp b/SRC/Qwt/src/qwt_plot_seriesitem.cpp
deleted file mode 100644
index a225957..0000000
--- a/SRC/Qwt/src/qwt_plot_seriesitem.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_seriesitem.h"
-
-class QwtPlotSeriesItem::PrivateData
-{
-public:
-    PrivateData():
-        orientation( Qt::Vertical )
-    {
-    }
-
-    Qt::Orientation orientation;
-};
-
-/*!
-  Constructor
-  \param title Title of the curve
-*/
-QwtPlotSeriesItem::QwtPlotSeriesItem( const QwtText &title ):
-    QwtPlotItem( title )
-{
-    d_data = new PrivateData();
-    setItemInterest( QwtPlotItem::ScaleInterest, true );
-}
-
-/*!
-  Constructor
-  \param title Title of the curve
-*/
-QwtPlotSeriesItem::QwtPlotSeriesItem( const QString &title ):
-    QwtPlotItem( QwtText( title ) )
-{
-    d_data = new PrivateData();
-}
-
-//! Destructor
-QwtPlotSeriesItem::~QwtPlotSeriesItem()
-{
-    delete d_data;
-}
-
-/*!
-  Set the orientation of the item.
-
-  The orientation() might be used in specific way by a plot item.
-  F.e. a QwtPlotCurve uses it to identify how to display the curve
-  int QwtPlotCurve::Steps or QwtPlotCurve::Sticks style.
-
-  \sa orientation()
-*/
-void QwtPlotSeriesItem::setOrientation( Qt::Orientation orientation )
-{
-    if ( d_data->orientation != orientation )
-    {
-        d_data->orientation = orientation;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Orientation of the plot item
-  \sa setOrientation()
-*/
-Qt::Orientation QwtPlotSeriesItem::orientation() const
-{
-    return d_data->orientation;
-}
-
-/*!
-  \brief Draw the complete series
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param canvasRect Contents rectangle of the canvas
-*/
-void QwtPlotSeriesItem::draw( QPainter *painter,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect ) const
-{
-    drawSeries( painter, xMap, yMap, canvasRect, 0, -1 );
-}
-
-QRectF QwtPlotSeriesItem::boundingRect() const
-{
-    return dataRect();
-}
-
-void QwtPlotSeriesItem::updateScaleDiv(
-    const QwtScaleDiv &xScaleDiv, const QwtScaleDiv &yScaleDiv )
-{   
-    const QRectF rect = QRectF(
-        xScaleDiv.lowerBound(), yScaleDiv.lowerBound(),
-        xScaleDiv.range(), yScaleDiv.range() );
-        
-    setRectOfInterest( rect );
-}   
-
-void QwtPlotSeriesItem::dataChanged()
-{
-    itemChanged();
-}
diff --git a/SRC/Qwt/src/qwt_plot_seriesitem.h b/SRC/Qwt/src/qwt_plot_seriesitem.h
deleted file mode 100644
index 72f22f1..0000000
--- a/SRC/Qwt/src/qwt_plot_seriesitem.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_SERIES_ITEM_H
-#define QWT_PLOT_SERIES_ITEM_H
-
-#include "qwt_global.h"
-#include "qwt_plot_item.h"
-#include "qwt_scale_div.h"
-#include "qwt_series_data.h"
-#include "qwt_series_store.h"
-
-/*!
-  \brief Base class for plot items representing a series of samples
-*/
-class QWT_EXPORT QwtPlotSeriesItem: public QwtPlotItem,
-    public virtual QwtAbstractSeriesStore
-{
-public:
-    explicit QwtPlotSeriesItem( const QString &title = QString::null );
-    explicit QwtPlotSeriesItem( const QwtText &title );
-
-    virtual ~QwtPlotSeriesItem();
-
-    void setOrientation( Qt::Orientation );
-    Qt::Orientation orientation() const;
-
-    virtual void draw( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF & ) const;
-
-    /*!
-      Draw a subset of the samples
-
-      \param painter Painter
-      \param xMap Maps x-values into pixel coordinates.
-      \param yMap Maps y-values into pixel coordinates.
-      \param canvasRect Contents rectangle of the canvas
-      \param from Index of the first point to be painted
-      \param to Index of the last point to be painted. If to < 0 the
-             curve will be painted to its last point.
-    */
-    virtual void drawSeries( QPainter *painter,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const = 0;
-
-    virtual QRectF boundingRect() const;
-
-    virtual void updateScaleDiv( 
-        const QwtScaleDiv &, const QwtScaleDiv & );
-
-protected:
-    virtual void dataChanged();
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_shapeitem.cpp b/SRC/Qwt/src/qwt_plot_shapeitem.cpp
deleted file mode 100644
index eff4fd4..0000000
--- a/SRC/Qwt/src/qwt_plot_shapeitem.cpp
+++ /dev/null
@@ -1,491 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_shapeitem.h"
-#include "qwt_scale_map.h"
-#include "qwt_painter.h"
-#include "qwt_curve_fitter.h"
-#include "qwt_clipper.h"
-
-static QPainterPath qwtTransformPath( const QwtScaleMap &xMap,
-        const QwtScaleMap &yMap, const QPainterPath &path, bool doAlign )
-{
-    QPainterPath shape;
-    shape.setFillRule( path.fillRule() );
-
-    for ( int i = 0; i < path.elementCount(); i++ )
-    {
-        const QPainterPath::Element &element = path.elementAt( i );
-
-        double x = xMap.transform( element.x );
-        double y = yMap.transform( element.y );
-
-        switch( element.type )
-        {
-            case QPainterPath::MoveToElement:
-            {
-                if ( doAlign )
-                {
-                    x = qRound( x );
-                    y = qRound( y );
-                }
-
-                shape.moveTo( x, y );
-                break;
-            }
-            case QPainterPath::LineToElement:
-            {
-                if ( doAlign )
-                {
-                    x = qRound( x );
-                    y = qRound( y );
-                }
-
-                shape.lineTo( x, y );
-                break;
-            }
-            case QPainterPath::CurveToElement:
-            {
-                const QPainterPath::Element& element1 = path.elementAt( ++i );
-                const double x1 = xMap.transform( element1.x );
-                const double y1 = yMap.transform( element1.y );
-
-                const QPainterPath::Element& element2 = path.elementAt( ++i );
-                const double x2 = xMap.transform( element2.x );
-                const double y2 = yMap.transform( element2.y );
-
-                shape.cubicTo( x, y, x1, y1, x2, y2 );
-                break;
-            }
-            case QPainterPath::CurveToDataElement:
-            {
-                break;
-            }
-        }
-    }
-
-    return shape;
-}
-
-
-class QwtPlotShapeItem::PrivateData
-{
-public:
-    PrivateData():
-        legendMode( QwtPlotShapeItem::LegendColor ),
-        renderTolerance( 0.0 )
-    {
-    }
-
-    QwtPlotShapeItem::PaintAttributes paintAttributes;
-    QwtPlotShapeItem::LegendMode legendMode;
-
-    double renderTolerance;
-    QRectF boundingRect;
-
-    QPen pen;
-    QBrush brush;
-    QPainterPath shape;
-};
-
-/*!
-   \brief Constructor
-
-   Sets the following item attributes:
-   - QwtPlotItem::AutoScale: true
-   - QwtPlotItem::Legend:    false
-
-   \param title Title
-*/
-QwtPlotShapeItem::QwtPlotShapeItem( const QString& title ):
-    QwtPlotItem( QwtText( title ) )
-{
-    init();
-}
-
-/*!
-   \brief Constructor
-
-   Sets the following item attributes:
-   - QwtPlotItem::AutoScale: true
-   - QwtPlotItem::Legend:    false
-
-   \param title Title
-*/
-QwtPlotShapeItem::QwtPlotShapeItem( const QwtText& title ):
-    QwtPlotItem( title )
-{
-    init();
-}
-
-//! Destructor
-QwtPlotShapeItem::~QwtPlotShapeItem()
-{
-    delete d_data;
-}
-
-void QwtPlotShapeItem::init()
-{
-    d_data = new PrivateData();
-    d_data->boundingRect = QwtPlotItem::boundingRect();
-
-    setItemAttribute( QwtPlotItem::AutoScale, true );
-    setItemAttribute( QwtPlotItem::Legend, false );
-
-    setZ( 8.0 );
-}
-
-//! \return QwtPlotItem::Rtti_PlotShape
-int QwtPlotShapeItem::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotShape;
-}
-
-/*!
-  Specify an attribute how to draw the shape
-
-  \param attribute Paint attribute
-  \param on On/Off
-  \sa testPaintAttribute()
-*/
-void QwtPlotShapeItem::setPaintAttribute( PaintAttribute attribute, bool on )
-{
-    if ( on )
-        d_data->paintAttributes |= attribute;
-    else
-        d_data->paintAttributes &= ~attribute;
-}
-
-/*!
-  \return True, when attribute is enabled
-  \sa setPaintAttribute()
-*/
-bool QwtPlotShapeItem::testPaintAttribute( PaintAttribute attribute ) const
-{
-    return ( d_data->paintAttributes & attribute );
-}
-
-/*!
-  Set the mode how to represent the item on the legend
-
-  \param mode Mode
-  \sa legendMode()
- */
-void QwtPlotShapeItem::setLegendMode( LegendMode mode )
-{
-    if ( mode != d_data->legendMode )
-    {
-        d_data->legendMode = mode;
-        legendChanged();
-    }
-}
-
-/*!
-  \return Mode how to represent the item on the legend
-  \sa legendMode()
- */
-QwtPlotShapeItem::LegendMode QwtPlotShapeItem::legendMode() const
-{
-    return d_data->legendMode;
-}
-
-//! Bounding rectangle of the shape
-QRectF QwtPlotShapeItem::boundingRect() const
-{
-    return d_data->boundingRect;
-}
-
-/*!
-  \brief Set a path built from a rectangle
-
-  \param rect Rectangle
-  \sa setShape(), setPolygon(), shape()
- */
-void QwtPlotShapeItem::setRect( const QRectF &rect ) 
-{
-    QPainterPath path;
-    path.addRect( rect );
-
-    setShape( path );
-}
-
-/*!
-  \brief Set a path built from a polygon
-
-  \param polygon Polygon
-  \sa setShape(), setRect(), shape()
- */
-void QwtPlotShapeItem::setPolygon( const QPolygonF &polygon )
-{
-    QPainterPath shape;
-    shape.addPolygon( polygon );
-
-    setShape( shape );
-}
-
-/*!
-  \brief Set the shape to be displayed
-
-  \param shape Shape
-  \sa setShape(), shape()
- */
-void QwtPlotShapeItem::setShape( const QPainterPath &shape )
-{
-    if ( shape != d_data->shape )
-    {
-        d_data->shape = shape;
-        if ( shape.isEmpty() )
-        {
-            d_data->boundingRect = QwtPlotItem::boundingRect();
-        }
-        else
-        {
-            d_data->boundingRect = shape.boundingRect();
-        }
-
-        itemChanged();
-    }
-}
-
-/*!
-  \return Shape to be displayed
-  \sa setShape()
- */
-QPainterPath QwtPlotShapeItem::shape() const
-{
-    return d_data->shape;
-}
-
-/*! 
-  Build and assign a pen
-    
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it
-  non cosmetic ( see QPen::isCosmetic() ). This method has been introduced
-  to hide this incompatibility.
-    
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-    
-  \sa pen(), brush()
- */ 
-void QwtPlotShapeItem::setPen( const QColor &color, qreal width, Qt::PenStyle style )
-{   
-    setPen( QPen( color, width, style ) );
-}
-
-/*!
-  \brief Assign a pen
-
-  The pen is used to draw the outline of the shape
-
-  \param pen Pen
-  \sa pen(), brush()
-*/
-void QwtPlotShapeItem::setPen( const QPen &pen )
-{
-    if ( pen != d_data->pen )
-    {
-        d_data->pen = pen;
-        itemChanged();
-    }
-}
-
-/*!
-    \return Pen used to draw the outline of the shape
-    \sa setPen(), brush()
-*/
-QPen QwtPlotShapeItem::pen() const
-{
-    return d_data->pen;
-}
-
-/*!
-  Assign a brush.
-
-  The brush is used to fill the path
-
-  \param brush Brush
-  \sa brush(), pen()
-*/
-void QwtPlotShapeItem::setBrush( const QBrush &brush )
-{
-    if ( brush != d_data->brush )
-    {
-        d_data->brush = brush;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Brush used to fill the shape
-  \sa setBrush(), pen()
-*/
-QBrush QwtPlotShapeItem::brush() const
-{
-    return d_data->brush;
-}
-
-/*!
-  \brief Set the tolerance for the weeding optimization
-
-  After translating the shape into target device coordinate 
-  ( usually widget geometries ) the painter path can be simplified
-  by a point weeding algorithm ( Douglas-Peucker ).
-
-  For shapes built from curves and ellipses weeding might
-  have the opposite effect because they have to be expanded
-  to polygons.
-
-  \param tolerance Accepted error when reducing the number of points
-                   A value <= 0.0 disables weeding.
-
-  \sa renderTolerance(), QwtWeedingCurveFitter
- */
-void QwtPlotShapeItem::setRenderTolerance( double tolerance )
-{
-    tolerance = qMax( tolerance, 0.0 );
-
-    if ( tolerance != d_data->renderTolerance )
-    {
-        d_data->renderTolerance = tolerance;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Tolerance for the weeding optimization
-  \sa setRenderTolerance()
- */
-double QwtPlotShapeItem::renderTolerance() const
-{
-    return d_data->renderTolerance;
-}
-
-/*!
-  Draw the shape item
-
-  \param painter Painter
-  \param xMap X-Scale Map
-  \param yMap Y-Scale Map
-  \param canvasRect Contents rect of the plot canvas
-*/
-void QwtPlotShapeItem::draw( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect ) const
-{
-    if ( d_data->shape.isEmpty() )
-        return;
-
-    if ( d_data->pen.style() == Qt::NoPen 
-        && d_data->brush.style() == Qt::NoBrush )
-    {
-        return;
-    }
-
-    const QRectF cRect = QwtScaleMap::invTransform(
-        xMap, yMap, canvasRect.toRect() );
-
-    if ( d_data->boundingRect.intersects( cRect ) )
-    {
-        const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-        QPainterPath path = qwtTransformPath( xMap, yMap, 
-            d_data->shape, doAlign );
-
-        if ( testPaintAttribute( QwtPlotShapeItem::ClipPolygons ) )
-        {
-            qreal pw = qMax( qreal( 1.0 ), painter->pen().widthF());
-            QRectF clipRect = canvasRect.adjusted( -pw, -pw, pw, pw );
-
-            QPainterPath clippedPath;
-            clippedPath.setFillRule( path.fillRule() );
-
-            const QList<QPolygonF> polygons = path.toSubpathPolygons();
-            for ( int i = 0; i < polygons.size(); i++ )
-            {
-                const QPolygonF p = QwtClipper::clipPolygonF(
-                    clipRect, polygons[i], true );
-
-                clippedPath.addPolygon( p );
-
-            }
-
-            path = clippedPath;
-        }
-
-        if ( d_data->renderTolerance > 0.0 )
-        {
-            QwtWeedingCurveFitter fitter( d_data->renderTolerance );
-
-            QPainterPath fittedPath;
-            fittedPath.setFillRule( path.fillRule() );
-
-            const QList<QPolygonF> polygons = path.toSubpathPolygons();
-            for ( int i = 0; i < polygons.size(); i++ )
-                fittedPath.addPolygon( fitter.fitCurve( polygons[ i ] ) );
-
-            path = fittedPath;
-        }
-
-        painter->setPen( d_data->pen );
-        painter->setBrush( d_data->brush );
-
-        painter->drawPath( path );
-    }
-}
-
-/*!
-  \return A rectangle filled with the color of the brush ( or the pen )
-
-  \param index Index of the legend entry 
-                ( usually there is only one )
-  \param size Icon size
-
-  \sa setLegendIconSize(), legendData()
-*/
-QwtGraphic QwtPlotShapeItem::legendIcon( int index,
-    const QSizeF &size ) const
-{
-    Q_UNUSED( index );
-
-    QwtGraphic icon;
-    icon.setDefaultSize( size );
-
-    if ( size.isEmpty() )
-        return icon;
-
-    if ( d_data->legendMode == QwtPlotShapeItem::LegendShape )
-    {
-        const QRectF &br = d_data->boundingRect;
-
-        QPainter painter( &icon );
-        painter.setRenderHint( QPainter::Antialiasing,
-            testRenderHint( QwtPlotItem::RenderAntialiased ) );
-
-        painter.translate( -br.topLeft() );
-
-        painter.setPen( d_data->pen );
-        painter.setBrush( d_data->brush );
-        painter.drawPath( d_data->shape );
-    }
-    else
-    {
-        QColor iconColor;
-        if ( d_data->brush.style() != Qt::NoBrush )
-            iconColor = d_data->brush.color();
-        else
-            iconColor = d_data->pen.color();
-
-        icon = defaultIcon( iconColor, size );
-    }
-
-    return icon;
-}
-
diff --git a/SRC/Qwt/src/qwt_plot_shapeitem.h b/SRC/Qwt/src/qwt_plot_shapeitem.h
deleted file mode 100644
index f638dd1..0000000
--- a/SRC/Qwt/src/qwt_plot_shapeitem.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_SHAPE_ITEM_H
-#define QWT_PLOT_SHAPE_ITEM_H
-
-#include "qwt_global.h"
-#include "qwt_plot_item.h"
-#include <qpainterpath.h>
-
-/*!
-  \brief A plot item, which displays any graphical shape, 
-         that can be defined by a QPainterPath
-
-  A QPainterPath is a shape composed from intersecting and uniting
-  regions, rectangles, ellipses or irregular areas defined by lines, and curves.
-  QwtPlotShapeItem displays a shape with a pen and brush.
-
-  QwtPlotShapeItem offers a couple of optimizations like clipping or weeding.
-  These algorithms need to convert the painter path into polygons that might be
-  less performant for paths built from curves and ellipses.
-
-  \sa QwtPlotZone
-*/
-class QWT_EXPORT QwtPlotShapeItem: public QwtPlotItem
-{
-public:
-    /*!
-        Attributes to modify the drawing algorithm.
-        The default disables all attributes
-
-        \sa setPaintAttribute(), testPaintAttribute()
-    */
-    enum PaintAttribute
-    {
-        /*!
-          Clip polygons before painting them. In situations, where points
-          are far outside the visible area (f.e when zooming deep) this
-          might be a substantial improvement for the painting performance
-
-          But polygon clipping will convert the painter path into
-          polygons what might introduce a negative impact on the
-          performance of paths composed from curves or ellipses.
-         */
-        ClipPolygons = 0x01,
-    };
-
-    //! Paint attributes
-    typedef QFlags<PaintAttribute> PaintAttributes;
-
-    //! Mode how to display the item on the legend
-    enum LegendMode
-    {
-        //! Display a scaled down version of the shape
-        LegendShape,
-
-        //! Display a filled rectangle 
-        LegendColor
-    };
-
-    explicit QwtPlotShapeItem( const QString &title = QString::null );
-    explicit QwtPlotShapeItem( const QwtText &title );
-
-    virtual ~QwtPlotShapeItem();
-
-    void setPaintAttribute( PaintAttribute, bool on = true );
-    bool testPaintAttribute( PaintAttribute ) const;
-
-    void setLegendMode( LegendMode );
-    LegendMode legendMode() const;
-
-    void setRect( const QRectF & );
-    void setPolygon( const QPolygonF & );
-
-    void setShape( const QPainterPath & );
-    QPainterPath shape() const;
-
-    void setPen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setPen( const QPen & );
-    QPen pen() const;
-
-    void setBrush( const QBrush & );
-    QBrush brush() const;
-
-    void setRenderTolerance( double );
-    double renderTolerance() const;
-
-    virtual QRectF boundingRect() const;
-
-    virtual void draw( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &rect ) const;
-
-    virtual QwtGraphic legendIcon( int index, const QSizeF & ) const;
-
-    virtual int rtti() const;
-
-private:
-    void init();
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_spectrocurve.cpp b/SRC/Qwt/src/qwt_plot_spectrocurve.cpp
deleted file mode 100644
index 5b11d55..0000000
--- a/SRC/Qwt/src/qwt_plot_spectrocurve.cpp
+++ /dev/null
@@ -1,321 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_spectrocurve.h"
-#include "qwt_color_map.h"
-#include "qwt_scale_map.h"
-#include "qwt_painter.h"
-#include <qpainter.h>
-
-class QwtPlotSpectroCurve::PrivateData
-{
-public:
-    PrivateData():
-        colorRange( 0.0, 1000.0 ),
-        penWidth(0.0),
-        paintAttributes( QwtPlotSpectroCurve::ClipPoints )
-    {
-        colorMap = new QwtLinearColorMap();
-    }
-
-    ~PrivateData()
-    {
-        delete colorMap;
-    }
-
-    QwtColorMap *colorMap;
-    QwtInterval colorRange;
-    QVector<QRgb> colorTable;
-    double penWidth;
-    QwtPlotSpectroCurve::PaintAttributes paintAttributes;
-};
-
-/*!
-  Constructor
-  \param title Title of the curve
-*/
-QwtPlotSpectroCurve::QwtPlotSpectroCurve( const QwtText &title ):
-    QwtPlotSeriesItem( title )
-{
-    init();
-}
-
-/*!
-  Constructor
-  \param title Title of the curve
-*/
-QwtPlotSpectroCurve::QwtPlotSpectroCurve( const QString &title ):
-    QwtPlotSeriesItem( QwtText( title ) )
-{
-    init();
-}
-
-//! Destructor
-QwtPlotSpectroCurve::~QwtPlotSpectroCurve()
-{
-    delete d_data;
-}
-
-/*!
-  \brief Initialize data members
-*/
-void QwtPlotSpectroCurve::init()
-{
-    setItemAttribute( QwtPlotItem::Legend );
-    setItemAttribute( QwtPlotItem::AutoScale );
-
-    d_data = new PrivateData;
-    setData( new QwtPoint3DSeriesData() );
-
-    setZ( 20.0 );
-}
-
-//! \return QwtPlotItem::Rtti_PlotSpectroCurve
-int QwtPlotSpectroCurve::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotSpectroCurve;
-}
-
-/*!
-  Specify an attribute how to draw the curve
-
-  \param attribute Paint attribute
-  \param on On/Off
-  /sa PaintAttribute, testPaintAttribute()
-*/
-void QwtPlotSpectroCurve::setPaintAttribute( PaintAttribute attribute, bool on )
-{
-    if ( on )
-        d_data->paintAttributes |= attribute;
-    else
-        d_data->paintAttributes &= ~attribute;
-}
-
-/*!
-    \return True, when attribute is enabled
-    \sa PaintAttribute, setPaintAttribute()
-*/
-bool QwtPlotSpectroCurve::testPaintAttribute( PaintAttribute attribute ) const
-{
-    return ( d_data->paintAttributes & attribute );
-}
-
-/*!
-  Initialize data with an array of samples.
-  \param samples Vector of points
-*/
-void QwtPlotSpectroCurve::setSamples( const QVector<QwtPoint3D> &samples )
-{
-    setData( new QwtPoint3DSeriesData( samples ) );
-}
-
-/*!
-  Assign a series of samples
-    
-  setSamples() is just a wrapper for setData() without any additional
-  value - beside that it is easier to find for the developer.
-    
-  \param data Data
-  \warning The item takes ownership of the data object, deleting
-           it when its not used anymore. 
-*/
-void QwtPlotSpectroCurve::setSamples(
-    QwtSeriesData<QwtPoint3D> *data )
-{
-    setData( data );
-}  
-
-/*!
-  Change the color map
-
-  Often it is useful to display the mapping between intensities and
-  colors as an additional plot axis, showing a color bar.
-
-  \param colorMap Color Map
-
-  \sa colorMap(), setColorRange(), QwtColorMap::color(),
-      QwtScaleWidget::setColorBarEnabled(), QwtScaleWidget::setColorMap()
-*/
-void QwtPlotSpectroCurve::setColorMap( QwtColorMap *colorMap )
-{
-    if ( colorMap != d_data->colorMap )
-    {
-        delete d_data->colorMap;
-        d_data->colorMap = colorMap;
-    }
-
-    legendChanged();
-    itemChanged();
-}
-
-/*!
-   \return Color Map used for mapping the intensity values to colors
-   \sa setColorMap(), setColorRange(), QwtColorMap::color()
-*/
-const QwtColorMap *QwtPlotSpectroCurve::colorMap() const
-{
-    return d_data->colorMap;
-}
-
-/*!
-   Set the value interval, that corresponds to the color map
-
-   \param interval interval.minValue() corresponds to 0.0,
-                   interval.maxValue() to 1.0 on the color map.
-
-   \sa colorRange(), setColorMap(), QwtColorMap::color()
-*/
-void QwtPlotSpectroCurve::setColorRange( const QwtInterval &interval )
-{
-    if ( interval != d_data->colorRange )
-    {
-        d_data->colorRange = interval;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Value interval, that corresponds to the color map
-  \sa setColorRange(), setColorMap(), QwtColorMap::color()
-*/
-QwtInterval &QwtPlotSpectroCurve::colorRange() const
-{
-    return d_data->colorRange;
-}
-
-/*!
-  Assign a pen width
-
-  \param penWidth New pen width
-  \sa penWidth()
-*/
-void QwtPlotSpectroCurve::setPenWidth(double penWidth)
-{
-    if ( penWidth < 0.0 )
-        penWidth = 0.0;
-
-    if ( d_data->penWidth != penWidth )
-    {
-        d_data->penWidth = penWidth;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Pen width used to draw a dot
-  \sa setPenWidth()
-*/
-double QwtPlotSpectroCurve::penWidth() const
-{
-    return d_data->penWidth;
-}
-
-/*!
-  Draw a subset of the points
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param canvasRect Contents rectangle of the canvas
-  \param from Index of the first sample to be painted
-  \param to Index of the last sample to be painted. If to < 0 the
-         series will be painted to its last sample.
-
-  \sa drawDots()
-*/
-void QwtPlotSpectroCurve::drawSeries( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    if ( !painter || dataSize() <= 0 )
-        return;
-
-    if ( to < 0 )
-        to = dataSize() - 1;
-
-    if ( from < 0 )
-        from = 0;
-
-    if ( from > to )
-        return;
-
-    drawDots( painter, xMap, yMap, canvasRect, from, to );
-}
-
-/*!
-  Draw a subset of the points
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param canvasRect Contents rectangle of the canvas
-  \param from Index of the first sample to be painted
-  \param to Index of the last sample to be painted. If to < 0 the
-         series will be painted to its last sample.
-
-  \sa drawSeries()
-*/
-void QwtPlotSpectroCurve::drawDots( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    if ( !d_data->colorRange.isValid() )
-        return;
-
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    const QwtColorMap::Format format = d_data->colorMap->format();
-    if ( format == QwtColorMap::Indexed )
-        d_data->colorTable = d_data->colorMap->colorTable( d_data->colorRange );
-
-    const QwtSeriesData<QwtPoint3D> *series = data();
-
-    for ( int i = from; i <= to; i++ )
-    {
-        const QwtPoint3D sample = series->sample( i );
-
-        double xi = xMap.transform( sample.x() );
-        double yi = yMap.transform( sample.y() );
-        if ( doAlign )
-        {
-            xi = qRound( xi );
-            yi = qRound( yi );
-        }
-
-        if ( d_data->paintAttributes & QwtPlotSpectroCurve::ClipPoints )
-        {
-            if ( !canvasRect.contains( xi, yi ) )
-                continue;
-        }
-
-        if ( format == QwtColorMap::RGB )
-        {
-            const QRgb rgb = d_data->colorMap->rgb(
-                d_data->colorRange, sample.z() );
-
-            painter->setPen( QPen( QColor::fromRgba( rgb ), d_data->penWidth ) );
-        }
-        else
-        {
-            const unsigned char index = d_data->colorMap->colorIndex(
-                d_data->colorRange, sample.z() );
-
-            painter->setPen( QPen( QColor::fromRgba( d_data->colorTable[index] ), 
-                d_data->penWidth ) );
-        }
-
-        QwtPainter::drawPoint( painter, QPointF( xi, yi ) );
-    }
-
-    d_data->colorTable.clear();
-}
diff --git a/SRC/Qwt/src/qwt_plot_spectrocurve.h b/SRC/Qwt/src/qwt_plot_spectrocurve.h
deleted file mode 100644
index 55508ad..0000000
--- a/SRC/Qwt/src/qwt_plot_spectrocurve.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_CURVE_3D_H
-#define QWT_PLOT_CURVE_3D_H
-
-#include "qwt_global.h"
-#include "qwt_plot_seriesitem.h"
-#include "qwt_series_data.h"
-
-class QwtSymbol;
-class QwtColorMap;
-
-/*!
-    \brief Curve that displays 3D points as dots, where the z coordinate is
-           mapped to a color.
-*/
-class QWT_EXPORT QwtPlotSpectroCurve: 
-    public QwtPlotSeriesItem, QwtSeriesStore<QwtPoint3D>
-{
-public:
-    //! Paint attributes
-    enum PaintAttribute
-    {
-        //! Clip points outside the canvas rectangle
-        ClipPoints = 1
-    };
-
-    //! Paint attributes
-    typedef QFlags<PaintAttribute> PaintAttributes;
-
-    explicit QwtPlotSpectroCurve( const QString &title = QString::null );
-    explicit QwtPlotSpectroCurve( const QwtText &title );
-
-    virtual ~QwtPlotSpectroCurve();
-
-    virtual int rtti() const;
-
-    void setPaintAttribute( PaintAttribute, bool on = true );
-    bool testPaintAttribute( PaintAttribute ) const;
-
-    void setSamples( const QVector<QwtPoint3D> & );
-    void setSamples( QwtSeriesData<QwtPoint3D> * );
-
-
-    void setColorMap( QwtColorMap * );
-    const QwtColorMap *colorMap() const;
-
-    void setColorRange( const QwtInterval & );
-    QwtInterval & colorRange() const;
-
-    virtual void drawSeries( QPainter *,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    void setPenWidth(double width);
-    double penWidth() const;
-
-protected:
-    virtual void drawDots( QPainter *,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-private:
-    void init();
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotSpectroCurve::PaintAttributes )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_spectrogram.cpp b/SRC/Qwt/src/qwt_plot_spectrogram.cpp
deleted file mode 100644
index 41b0ca4..0000000
--- a/SRC/Qwt/src/qwt_plot_spectrogram.cpp
+++ /dev/null
@@ -1,676 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_spectrogram.h"
-#include "qwt_painter.h"
-#include "qwt_interval.h"
-#include "qwt_scale_map.h"
-#include "qwt_color_map.h"
-#include <qimage.h>
-#include <qpen.h>
-#include <qpainter.h>
-#include <qmath.h>
-#include <qalgorithms.h>
-#if QT_VERSION >= 0x040400
-#include <qthread.h>
-#include <qfuture.h>
-#include <qtconcurrentrun.h>
-#endif
-
-#define DEBUG_RENDER 0
-
-#if DEBUG_RENDER
-#include <QElapsedTimer>
-#endif
-
-class QwtPlotSpectrogram::PrivateData
-{
-public:
-    PrivateData():
-        data( NULL )
-    {
-        colorMap = new QwtLinearColorMap();
-        displayMode = ImageMode;
-
-        conrecFlags = QwtRasterData::IgnoreAllVerticesOnLevel;
-#if 0
-        conrecFlags |= QwtRasterData::IgnoreOutOfRange;
-#endif
-    }
-    ~PrivateData()
-    {
-        delete data;
-        delete colorMap;
-    }
-
-    QwtRasterData *data;
-    QwtColorMap *colorMap;
-    DisplayModes displayMode;
-
-    QList<double> contourLevels;
-    QPen defaultContourPen;
-    QwtRasterData::ConrecFlags conrecFlags;
-};
-
-/*!
-   Sets the following item attributes:
-   - QwtPlotItem::AutoScale: true
-   - QwtPlotItem::Legend:    false
-
-   The z value is initialized by 8.0.
-
-   \param title Title
-
-   \sa QwtPlotItem::setItemAttribute(), QwtPlotItem::setZ()
-*/
-QwtPlotSpectrogram::QwtPlotSpectrogram( const QString &title ):
-    QwtPlotRasterItem( title )
-{
-    d_data = new PrivateData();
-
-    setItemAttribute( QwtPlotItem::AutoScale, true );
-    setItemAttribute( QwtPlotItem::Legend, false );
-
-    setZ( 8.0 );
-}
-
-//! Destructor
-QwtPlotSpectrogram::~QwtPlotSpectrogram()
-{
-    delete d_data;
-}
-
-//! \return QwtPlotItem::Rtti_PlotSpectrogram
-int QwtPlotSpectrogram::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotSpectrogram;
-}
-
-/*!
-   The display mode controls how the raster data will be represented.
-
-   \param mode Display mode
-   \param on On/Off
-
-   The default setting enables ImageMode.
-
-   \sa DisplayMode, displayMode()
-*/
-void QwtPlotSpectrogram::setDisplayMode( DisplayMode mode, bool on )
-{
-    if ( on != bool( mode & d_data->displayMode ) )
-    {
-        if ( on )
-            d_data->displayMode |= mode;
-        else
-            d_data->displayMode &= ~mode;
-    }
-
-    legendChanged();
-    itemChanged();
-}
-
-/*!
-   The display mode controls how the raster data will be represented.
-
-   \param mode Display mode
-   \return true if mode is enabled
-*/
-bool QwtPlotSpectrogram::testDisplayMode( DisplayMode mode ) const
-{
-    return ( d_data->displayMode & mode );
-}
-
-/*!
-  Change the color map
-
-  Often it is useful to display the mapping between intensities and
-  colors as an additional plot axis, showing a color bar.
-
-  \param colorMap Color Map
-
-  \sa colorMap(), QwtScaleWidget::setColorBarEnabled(),
-      QwtScaleWidget::setColorMap()
-*/
-void QwtPlotSpectrogram::setColorMap( QwtColorMap *colorMap )
-{
-    if ( d_data->colorMap != colorMap )
-    {
-        delete d_data->colorMap;
-        d_data->colorMap = colorMap;
-    }
-
-    invalidateCache();
-
-    legendChanged();
-    itemChanged();
-}
-
-/*!
-   \return Color Map used for mapping the intensity values to colors
-   \sa setColorMap()
-*/
-const QwtColorMap *QwtPlotSpectrogram::colorMap() const
-{
-    return d_data->colorMap;
-}
-
-/*! 
-  Build and assign the default pen for the contour lines
-    
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it
-  non cosmetic ( see QPen::isCosmetic() ). This method has been introduced
-  to hide this incompatibility.
-    
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-    
-  \sa pen(), brush()
- */ 
-void QwtPlotSpectrogram::setDefaultContourPen( 
-    const QColor &color, qreal width, Qt::PenStyle style )
-{   
-    setDefaultContourPen( QPen( color, width, style ) );
-}
-
-/*!
-   \brief Set the default pen for the contour lines
-
-   If the spectrogram has a valid default contour pen
-   a contour line is painted using the default contour pen.
-   Otherwise (pen.style() == Qt::NoPen) the pen is calculated
-   for each contour level using contourPen().
-
-   \sa defaultContourPen(), contourPen()
-*/
-void QwtPlotSpectrogram::setDefaultContourPen( const QPen &pen )
-{
-    if ( pen != d_data->defaultContourPen )
-    {
-        d_data->defaultContourPen = pen;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-   \return Default contour pen
-   \sa setDefaultContourPen()
-*/
-QPen QwtPlotSpectrogram::defaultContourPen() const
-{
-    return d_data->defaultContourPen;
-}
-
-/*!
-   \brief Calculate the pen for a contour line
-
-   The color of the pen is the color for level calculated by the color map
-
-   \param level Contour level
-   \return Pen for the contour line
-   \note contourPen is only used if defaultContourPen().style() == Qt::NoPen
-
-   \sa setDefaultContourPen(), setColorMap(), setContourLevels()
-*/
-QPen QwtPlotSpectrogram::contourPen( double level ) const
-{
-    if ( d_data->data == NULL || d_data->colorMap == NULL )
-        return QPen();
-
-    const QwtInterval intensityRange = d_data->data->interval(Qt::ZAxis);
-    const QColor c( d_data->colorMap->rgb( intensityRange, level ) );
-
-    return QPen( c );
-}
-
-/*!
-   Modify an attribute of the CONREC algorithm, used to calculate
-   the contour lines.
-
-   \param flag CONREC flag
-   \param on On/Off
-
-   \sa testConrecFlag(), renderContourLines(),
-       QwtRasterData::contourLines()
-*/
-void QwtPlotSpectrogram::setConrecFlag(
-    QwtRasterData::ConrecFlag flag, bool on )
-{
-    if ( bool( d_data->conrecFlags & flag ) == on )
-        return;
-
-    if ( on )
-        d_data->conrecFlags |= flag;
-    else
-        d_data->conrecFlags &= ~flag;
-
-    itemChanged();
-}
-
-/*!
-   Test an attribute of the CONREC algorithm, used to calculate
-   the contour lines.
-
-   \param flag CONREC flag
-   \return true, is enabled
-
-   The default setting enables QwtRasterData::IgnoreAllVerticesOnLevel
-
-   \sa setConrecClag(), renderContourLines(),
-       QwtRasterData::contourLines()
-*/
-bool QwtPlotSpectrogram::testConrecFlag(
-    QwtRasterData::ConrecFlag flag ) const
-{
-    return d_data->conrecFlags & flag;
-}
-
-/*!
-   Set the levels of the contour lines
-
-   \param levels Values of the contour levels
-   \sa contourLevels(), renderContourLines(),
-       QwtRasterData::contourLines()
-
-   \note contourLevels returns the same levels but sorted.
-*/
-void QwtPlotSpectrogram::setContourLevels( const QList<double> &levels )
-{
-    d_data->contourLevels = levels;
-    qSort( d_data->contourLevels );
-
-    legendChanged();
-    itemChanged();
-}
-
-/*!
-   \return Levels of the contour lines.
-
-   The levels are sorted in increasing order.
-
-   \sa contourLevels(), renderContourLines(),
-       QwtRasterData::contourLines()
-*/
-QList<double> QwtPlotSpectrogram::contourLevels() const
-{
-    return d_data->contourLevels;
-}
-
-/*!
-  Set the data to be displayed
-
-  \param data Spectrogram Data
-  \sa data()
-*/
-void QwtPlotSpectrogram::setData( QwtRasterData *data )
-{
-    if ( data != d_data->data )
-    {
-        delete d_data->data;
-        d_data->data = data;
-
-        invalidateCache();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Spectrogram data
-  \sa setData()
-*/
-const QwtRasterData *QwtPlotSpectrogram::data() const
-{
-    return d_data->data;
-}
-
-/*!
-  \return Spectrogram data
-  \sa setData()
-*/
-QwtRasterData *QwtPlotSpectrogram::data()
-{
-    return d_data->data;
-}
-
-/*!
-   \return Bounding interval for an axis
-
-   The default implementation returns the interval of the
-   associated raster data object.
-
-   \param axis X, Y, or Z axis
-   \sa QwtRasterData::interval()
-*/
-QwtInterval QwtPlotSpectrogram::interval(Qt::Axis axis) const
-{
-    if ( d_data->data == NULL )
-        return QwtInterval();
-
-    return d_data->data->interval( axis );
-}
-
-/*!
-   \brief Pixel hint
-
-   The geometry of a pixel is used to calculated the resolution and
-   alignment of the rendered image. 
-
-   The default implementation returns data()->pixelHint( rect );
-
-   \param area In most implementations the resolution of the data doesn't
-               depend on the requested area.
-
-   \return Bounding rectangle of a pixel
-
-   \sa QwtPlotRasterItem::pixelHint(), QwtRasterData::pixelHint(), 
-       render(), renderImage()
-*/
-QRectF QwtPlotSpectrogram::pixelHint( const QRectF &area ) const
-{
-    if ( d_data->data == NULL )
-        return QRectF();
-
-    return d_data->data->pixelHint( area );
-}
-
-/*!
-   \brief Render an image from data and color map.
-
-   For each pixel of area the value is mapped into a color.
-
-  \param xMap X-Scale Map
-  \param yMap Y-Scale Map
-  \param area Requested area for the image in scale coordinates
-  \param imageSize Size of the requested image
-
-   \return A QImage::Format_Indexed8 or QImage::Format_ARGB32 depending
-           on the color map.
-
-   \sa QwtRasterData::value(), QwtColorMap::rgb(),
-       QwtColorMap::colorIndex()
-*/
-QImage QwtPlotSpectrogram::renderImage(
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &area, const QSize &imageSize ) const
-{
-    if ( imageSize.isEmpty() || d_data->data == NULL 
-        || d_data->colorMap == NULL )
-    {
-        return QImage();
-    }
-
-    const QwtInterval intensityRange = d_data->data->interval( Qt::ZAxis );
-    if ( !intensityRange.isValid() )
-        return QImage();
-
-    QImage::Format format = ( d_data->colorMap->format() == QwtColorMap::RGB )
-        ? QImage::Format_ARGB32 : QImage::Format_Indexed8;
-
-    QImage image( imageSize, format );
-
-    if ( d_data->colorMap->format() == QwtColorMap::Indexed )
-        image.setColorTable( d_data->colorMap->colorTable( intensityRange ) );
-
-    d_data->data->initRaster( area, image.size() );
-
-#if DEBUG_RENDER
-    QElapsedTimer time;
-    time.start();
-#endif
-
-#if QT_VERSION >= 0x040400 && !defined(QT_NO_QFUTURE)
-    uint numThreads = renderThreadCount();
-
-    if ( numThreads <= 0 )
-        numThreads = QThread::idealThreadCount();
-
-    if ( numThreads <= 0 )
-        numThreads = 1;
-
-    const int numRows = imageSize.height() / numThreads;
-
-    QList< QFuture<void> > futures;
-    for ( uint i = 0; i < numThreads; i++ )
-    {
-        QRect tile( 0, i * numRows, image.width(), numRows );
-        if ( i == numThreads - 1 )
-        {
-            tile.setHeight( image.height() - i * numRows );
-            renderTile( xMap, yMap, tile, &image );
-        }
-        else
-        {
-            futures += QtConcurrent::run(
-                this, &QwtPlotSpectrogram::renderTile,
-                xMap, yMap, tile, &image );
-        }
-    }
-    for ( int i = 0; i < futures.size(); i++ )
-        futures[i].waitForFinished();
-
-#else // QT_VERSION < 0x040400
-    const QRect tile( 0, 0, image.width(), image.height() );
-    renderTile( xMap, yMap, tile, &image );
-#endif
-
-#if DEBUG_RENDER
-    const qint64 elapsed = time.elapsed();
-    qDebug() << "renderImage" << imageSize << elapsed;
-#endif
-
-    d_data->data->discardRaster();
-
-    return image;
-}
-
-/*!
-    \brief Render a tile of an image.
-
-    Rendering in tiles can be used to composite an image in parallel
-    threads.
-
-    \param xMap X-Scale Map
-    \param yMap Y-Scale Map
-    \param tile Geometry of the tile in image coordinates
-    \param image Image to be rendered
-*/
-void QwtPlotSpectrogram::renderTile(
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRect &tile, QImage *image ) const
-{
-    const QwtInterval range = d_data->data->interval( Qt::ZAxis );
-    if ( !range.isValid() )
-        return;
-
-    if ( d_data->colorMap->format() == QwtColorMap::RGB )
-    {
-        for ( int y = tile.top(); y <= tile.bottom(); y++ )
-        {
-            const double ty = yMap.invTransform( y );
-
-            QRgb *line = reinterpret_cast<QRgb *>( image->scanLine( y ) );
-            line += tile.left();
-
-            for ( int x = tile.left(); x <= tile.right(); x++ )
-            {
-                const double tx = xMap.invTransform( x );
-
-                *line++ = d_data->colorMap->rgb( range,
-                    d_data->data->value( tx, ty ) );
-            }
-        }
-    }
-    else if ( d_data->colorMap->format() == QwtColorMap::Indexed )
-    {
-        for ( int y = tile.top(); y <= tile.bottom(); y++ )
-        {
-            const double ty = yMap.invTransform( y );
-
-            unsigned char *line = image->scanLine( y );
-            line += tile.left();
-
-            for ( int x = tile.left(); x <= tile.right(); x++ )
-            {
-                const double tx = xMap.invTransform( x );
-
-                *line++ = d_data->colorMap->colorIndex( range,
-                    d_data->data->value( tx, ty ) );
-            }
-        }
-    }
-}
-
-/*!
-   \brief Return the raster to be used by the CONREC contour algorithm.
-
-   A larger size will improve the precision of the CONREC algorithm,
-   but will slow down the time that is needed to calculate the lines.
-
-   The default implementation returns rect.size() / 2 bounded to
-   the resolution depending on pixelSize().
-
-   \param area Rectangle, where to calculate the contour lines
-   \param rect Rectangle in pixel coordinates, where to paint the contour lines
-   \return Raster to be used by the CONREC contour algorithm.
-
-   \note The size will be bounded to rect.size().
-
-   \sa drawContourLines(), QwtRasterData::contourLines()
-*/
-QSize QwtPlotSpectrogram::contourRasterSize( 
-    const QRectF &area, const QRect &rect ) const
-{
-    QSize raster = rect.size() / 2;
-
-    const QRectF pixelRect = pixelHint( area );
-    if ( !pixelRect.isEmpty() )
-    {
-        const QSize res( qCeil( rect.width() / pixelRect.width() ),
-            qCeil( rect.height() / pixelRect.height() ) );
-        raster = raster.boundedTo( res );
-    }
-
-    return raster;
-}
-
-/*!
-   Calculate contour lines
-
-   \param rect Rectangle, where to calculate the contour lines
-   \param raster Raster, used by the CONREC algorithm
-   \return Calculated contour lines
-
-   \sa contourLevels(), setConrecFlag(),
-       QwtRasterData::contourLines()
-*/
-QwtRasterData::ContourLines QwtPlotSpectrogram::renderContourLines(
-    const QRectF &rect, const QSize &raster ) const
-{
-    if ( d_data->data == NULL )
-        return QwtRasterData::ContourLines();
-
-    return d_data->data->contourLines( rect, raster,
-        d_data->contourLevels, d_data->conrecFlags );
-}
-
-/*!
-   Paint the contour lines
-
-   \param painter Painter
-   \param xMap Maps x-values into pixel coordinates.
-   \param yMap Maps y-values into pixel coordinates.
-   \param contourLines Contour lines
-
-   \sa renderContourLines(), defaultContourPen(), contourPen()
-*/
-void QwtPlotSpectrogram::drawContourLines( QPainter *painter,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QwtRasterData::ContourLines &contourLines ) const
-{
-    if ( d_data->data == NULL )
-        return;
-
-    const int numLevels = d_data->contourLevels.size();
-    for ( int l = 0; l < numLevels; l++ )
-    {
-        const double level = d_data->contourLevels[l];
-
-        QPen pen = defaultContourPen();
-        if ( pen.style() == Qt::NoPen )
-            pen = contourPen( level );
-
-        if ( pen.style() == Qt::NoPen )
-            continue;
-
-        painter->setPen( pen );
-
-        const QPolygonF &lines = contourLines[level];
-        for ( int i = 0; i < lines.size(); i += 2 )
-        {
-            const QPointF p1( xMap.transform( lines[i].x() ),
-                yMap.transform( lines[i].y() ) );
-            const QPointF p2( xMap.transform( lines[i+1].x() ),
-                yMap.transform( lines[i+1].y() ) );
-
-            QwtPainter::drawLine( painter, p1, p2 );
-        }
-    }
-}
-
-/*!
-  \brief Draw the spectrogram
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param canvasRect Contents rectangle of the canvas in painter coordinates
-
-  \sa setDisplayMode(), renderImage(),
-      QwtPlotRasterItem::draw(), drawContourLines()
-*/
-void QwtPlotSpectrogram::draw( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect ) const
-{
-    if ( d_data->displayMode & ImageMode )
-        QwtPlotRasterItem::draw( painter, xMap, yMap, canvasRect );
-
-    if ( d_data->displayMode & ContourMode )
-    {
-        // Add some pixels at the borders
-        const int margin = 2;
-        QRectF rasterRect( canvasRect.x() - margin, canvasRect.y() - margin,
-            canvasRect.width() + 2 * margin, canvasRect.height() + 2 * margin );
-
-        QRectF area = QwtScaleMap::invTransform( xMap, yMap, rasterRect );
-
-        const QRectF br = boundingRect();
-        if ( br.isValid() )
-        {
-            area &= br;
-            if ( area.isEmpty() )
-                return;
-
-            rasterRect = QwtScaleMap::transform( xMap, yMap, area );
-        }
-
-        QSize raster = contourRasterSize( area, rasterRect.toRect() );
-        raster = raster.boundedTo( rasterRect.toRect().size() );
-        if ( raster.isValid() )
-        {
-            const QwtRasterData::ContourLines lines =
-                renderContourLines( area, raster );
-
-            drawContourLines( painter, xMap, yMap, lines );
-        }
-    }
-}
diff --git a/SRC/Qwt/src/qwt_plot_spectrogram.h b/SRC/Qwt/src/qwt_plot_spectrogram.h
deleted file mode 100644
index 2eab0d8..0000000
--- a/SRC/Qwt/src/qwt_plot_spectrogram.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_SPECTROGRAM_H
-#define QWT_PLOT_SPECTROGRAM_H
-
-#include "qwt_global.h"
-#include "qwt_raster_data.h"
-#include "qwt_plot_rasteritem.h"
-#include <qlist.h>
-
-class QwtColorMap;
-
-/*!
-  \brief A plot item, which displays a spectrogram
-
-  A spectrogram displays 3-dimensional data, where the 3rd dimension
-  ( the intensity ) is displayed using colors. The colors are calculated
-  from the values using a color map.
-
-  On multi-core systems the performance of the image composition
-  can often be improved by dividing the area into tiles - each of them
-  rendered in a different thread ( see QwtPlotItem::setRenderThreadCount() ).
-
-  In ContourMode contour lines are painted for the contour levels.
-
-  \image html spectrogram3.png
-
-  \sa QwtRasterData, QwtColorMap, QwtPlotItem::setRenderThreadCount()
-*/
-
-class QWT_EXPORT QwtPlotSpectrogram: public QwtPlotRasterItem
-{
-public:
-    /*!
-      The display mode controls how the raster data will be represented.
-      \sa setDisplayMode(), testDisplayMode()
-    */
-
-    enum DisplayMode
-    {
-        //! The values are mapped to colors using a color map.
-        ImageMode = 0x01,
-
-        //! The data is displayed using contour lines
-        ContourMode = 0x02
-    };
-
-    //! Display modes
-    typedef QFlags<DisplayMode> DisplayModes;
-
-    explicit QwtPlotSpectrogram( const QString &title = QString::null );
-    virtual ~QwtPlotSpectrogram();
-
-    void setDisplayMode( DisplayMode, bool on = true );
-    bool testDisplayMode( DisplayMode ) const;
-
-    void setData( QwtRasterData *data );
-    const QwtRasterData *data() const;
-    QwtRasterData *data();
-
-    void setColorMap( QwtColorMap * );
-    const QwtColorMap *colorMap() const;
-
-    virtual QwtInterval interval(Qt::Axis) const;
-    virtual QRectF pixelHint( const QRectF & ) const;
-
-    void setDefaultContourPen( const QColor &, 
-        qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setDefaultContourPen( const QPen & );
-    QPen defaultContourPen() const;
-
-    virtual QPen contourPen( double level ) const;
-
-    void setConrecFlag( QwtRasterData::ConrecFlag, bool on );
-    bool testConrecFlag( QwtRasterData::ConrecFlag ) const;
-
-    void setContourLevels( const QList<double> & );
-    QList<double> contourLevels() const;
-
-    virtual int rtti() const;
-
-    virtual void draw( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &rect ) const;
-
-protected:
-    virtual QImage renderImage(
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &area, const QSize &imageSize ) const;
-
-    virtual QSize contourRasterSize(
-        const QRectF &, const QRect & ) const;
-
-    virtual QwtRasterData::ContourLines renderContourLines(
-        const QRectF &rect, const QSize &raster ) const;
-
-    virtual void drawContourLines( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QwtRasterData::ContourLines& lines ) const;
-
-    void renderTile( const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRect &imageRect, QImage *image ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotSpectrogram::DisplayModes )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_svgitem.cpp b/SRC/Qwt/src/qwt_plot_svgitem.cpp
deleted file mode 100644
index 8e22ab3..0000000
--- a/SRC/Qwt/src/qwt_plot_svgitem.cpp
+++ /dev/null
@@ -1,219 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_svgitem.h"
-#include "qwt_scale_map.h"
-#include "qwt_painter.h"
-#include <qpainter.h>
-#include <qsvgrenderer.h>
-
-class QwtPlotSvgItem::PrivateData
-{
-public:
-    PrivateData()
-    {
-    }
-
-    QRectF boundingRect;
-    QSvgRenderer renderer;
-};
-
-/*!
-   \brief Constructor
-
-   Sets the following item attributes:
-   - QwtPlotItem::AutoScale: true
-   - QwtPlotItem::Legend:    false
-
-   \param title Title
-*/
-QwtPlotSvgItem::QwtPlotSvgItem( const QString& title ):
-    QwtPlotItem( QwtText( title ) )
-{
-    init();
-}
-
-/*!
-   \brief Constructor
-
-   Sets the following item attributes:
-   - QwtPlotItem::AutoScale: true
-   - QwtPlotItem::Legend:    false
-
-   \param title Title
-*/
-QwtPlotSvgItem::QwtPlotSvgItem( const QwtText& title ):
-    QwtPlotItem( title )
-{
-    init();
-}
-
-//! Destructor
-QwtPlotSvgItem::~QwtPlotSvgItem()
-{
-    delete d_data;
-}
-
-void QwtPlotSvgItem::init()
-{
-    d_data = new PrivateData();
-    d_data->boundingRect = QwtPlotItem::boundingRect();
-
-    setItemAttribute( QwtPlotItem::AutoScale, true );
-    setItemAttribute( QwtPlotItem::Legend, false );
-
-    setZ( 8.0 );
-}
-
-//! \return QwtPlotItem::Rtti_PlotSVG
-int QwtPlotSvgItem::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotSVG;
-}
-
-/*!
-   Load a SVG file
-
-   \param rect Bounding rectangle
-   \param fileName SVG file name
-
-   \return true, if the SVG file could be loaded
-*/
-bool QwtPlotSvgItem::loadFile( const QRectF &rect,
-    const QString &fileName )
-{
-    d_data->boundingRect = rect;
-    const bool ok = d_data->renderer.load( fileName );
-
-    legendChanged();
-    itemChanged();
-
-    return ok;
-}
-
-/*!
-   Load SVG data
-
-   \param rect Bounding rectangle
-   \param data in SVG format
-
-   \return true, if the SVG data could be loaded
-*/
-bool QwtPlotSvgItem::loadData( const QRectF &rect,
-    const QByteArray &data )
-{
-    d_data->boundingRect = rect;
-    const bool ok = d_data->renderer.load( data );
-
-    legendChanged();
-    itemChanged();
-
-    return ok;
-}
-
-//! Bounding rectangle of the item
-QRectF QwtPlotSvgItem::boundingRect() const
-{
-    return d_data->boundingRect;
-}
-
-//! \return Renderer used to render the SVG data
-const QSvgRenderer &QwtPlotSvgItem::renderer() const
-{
-    return d_data->renderer;
-}
-
-//! \return Renderer used to render the SVG data
-QSvgRenderer &QwtPlotSvgItem::renderer()
-{
-    return d_data->renderer;
-}
-
-/*!
-  Draw the SVG item
-
-  \param painter Painter
-  \param xMap X-Scale Map
-  \param yMap Y-Scale Map
-  \param canvasRect Contents rect of the plot canvas
-*/
-void QwtPlotSvgItem::draw( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect ) const
-{
-    const QRectF cRect = QwtScaleMap::invTransform(
-        xMap, yMap, canvasRect.toRect() );
-    const QRectF bRect = boundingRect();
-    if ( bRect.isValid() && cRect.isValid() )
-    {
-        QRectF rect = bRect;
-        if ( bRect.contains( cRect ) )
-            rect = cRect;
-
-        const QRectF r = QwtScaleMap::transform( xMap, yMap, rect );
-        render( painter, viewBox( rect ), r );
-    }
-}
-
-/*!
-  Render the SVG data
-
-  \param painter Painter
-  \param viewBox View Box, see QSvgRenderer::viewBox()
-  \param rect Target rectangle on the paint device
-*/
-void QwtPlotSvgItem::render( QPainter *painter,
-    const QRectF &viewBox, const QRectF &rect ) const
-{
-    if ( !viewBox.isValid() )
-        return;
-
-    QRectF r = rect;
-
-    if ( QwtPainter::roundingAlignment( painter ) )
-    {
-        r.setLeft ( qRound( r.left() ) );
-        r.setRight ( qRound( r.right() ) );
-        r.setTop ( qRound( r.top() ) );
-        r.setBottom ( qRound( r.bottom() ) );
-    }
-
-    d_data->renderer.setViewBox( viewBox );
-    d_data->renderer.render( painter, r );
-}
-
-/*!
-  Calculate the view box from rect and boundingRect().
-
-  \param rect Rectangle in scale coordinates
-  \return View box, see QSvgRenderer::viewBox()
-*/
-QRectF QwtPlotSvgItem::viewBox( const QRectF &rect ) const
-{
-    const QSize sz = d_data->renderer.defaultSize();
-    const QRectF br = boundingRect();
-
-    if ( !rect.isValid() || !br.isValid() || sz.isNull() )
-        return QRectF();
-
-    QwtScaleMap xMap;
-    xMap.setScaleInterval( br.left(), br.right() );
-    xMap.setPaintInterval( 0, sz.width() );
-
-    QwtScaleMap yMap;
-    yMap.setScaleInterval( br.top(), br.bottom() );
-    yMap.setPaintInterval( sz.height(), 0 );
-
-    const double x1 = xMap.transform( rect.left() );
-    const double x2 = xMap.transform( rect.right() );
-    const double y1 = yMap.transform( rect.bottom() );
-    const double y2 = yMap.transform( rect.top() );
-
-    return QRectF( x1, y1, x2 - x1, y2 - y1 );
-}
diff --git a/SRC/Qwt/src/qwt_plot_svgitem.h b/SRC/Qwt/src/qwt_plot_svgitem.h
deleted file mode 100644
index 8a10caf..0000000
--- a/SRC/Qwt/src/qwt_plot_svgitem.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_SVGITEM_H
-#define QWT_PLOT_SVGITEM_H
-
-#include "qwt_global.h"
-#include "qwt_plot_item.h"
-#include <qstring.h>
-
-class QSvgRenderer;
-class QByteArray;
-
-/*!
-  \brief A plot item, which displays
-         data in Scalable Vector Graphics (SVG) format.
-
-  SVG images are often used to display maps
-*/
-
-class QWT_EXPORT QwtPlotSvgItem: public QwtPlotItem
-{
-public:
-    explicit QwtPlotSvgItem( const QString& title = QString::null );
-    explicit QwtPlotSvgItem( const QwtText& title );
-    virtual ~QwtPlotSvgItem();
-
-    bool loadFile( const QRectF&, const QString &fileName );
-    bool loadData( const QRectF&, const QByteArray & );
-
-    virtual QRectF boundingRect() const;
-
-    virtual void draw( QPainter *p,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &rect ) const;
-
-    virtual int rtti() const;
-
-protected:
-    const QSvgRenderer &renderer() const;
-    QSvgRenderer &renderer();
-
-    void render( QPainter *painter,
-        const QRectF &viewBox, const QRectF &rect ) const;
-
-    QRectF viewBox( const QRectF &area ) const;
-
-private:
-    void init();
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_textlabel.cpp b/SRC/Qwt/src/qwt_plot_textlabel.cpp
deleted file mode 100644
index bc85835..0000000
--- a/SRC/Qwt/src/qwt_plot_textlabel.cpp
+++ /dev/null
@@ -1,261 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_textlabel.h"
-#include "qwt_painter.h"
-#include "qwt_scale_map.h"
-#include <qpainter.h>
-#include <qpixmap.h>
-#include <qmath.h>
-
-static QRect qwtItemRect( int renderFlags,
-    const QRectF &rect, const QSizeF &itemSize ) 
-{
-    int x;
-    if ( renderFlags & Qt::AlignLeft )
-    {
-        x = rect.left();
-    }
-    else if ( renderFlags & Qt::AlignRight )
-    {
-        x = rect.right() - itemSize.width();
-    }
-    else
-    {
-        x = rect.center().x() - 0.5 * itemSize.width();
-    }
-
-    int y;
-    if ( renderFlags & Qt::AlignTop ) 
-    {
-        y = rect.top();
-    }
-    else if ( renderFlags & Qt::AlignBottom )
-    {
-        y = rect.bottom() - itemSize.height();
-    }
-    else
-    {
-        y = rect.center().y() - 0.5 * itemSize.height();
-    }
-
-    return QRect( x, y, itemSize.width(), itemSize.height() );
-}
-
-class QwtPlotTextLabel::PrivateData
-{   
-public:
-    PrivateData():
-        margin( 5 )
-    {
-    }
-
-    QwtText text;
-    int margin;
-
-    QPixmap pixmap;
-};  
-
-/*!
-   \brief Constructor
-
-   Initializes an text label with an empty text
-
-   Sets the following item attributes:
-
-   - QwtPlotItem::AutoScale: true
-   - QwtPlotItem::Legend:    false
-
-   The z value is initialized by 150
-
-   \sa QwtPlotItem::setItemAttribute(), QwtPlotItem::setZ()
-*/
-
-QwtPlotTextLabel::QwtPlotTextLabel():
-    QwtPlotItem( QwtText( "Label" ) )
-{
-    d_data = new PrivateData;
-
-    setItemAttribute( QwtPlotItem::AutoScale, false );
-    setItemAttribute( QwtPlotItem::Legend, false );
-
-    setZ( 150 );
-}
-
-//! Destructor
-QwtPlotTextLabel::~QwtPlotTextLabel()
-{
-    delete d_data;
-}
-
-//! \return QwtPlotItem::Rtti_PlotTextLabel
-int QwtPlotTextLabel::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotTextLabel;
-}
-
-/*!
-  Set the text 
-
-  The label will be aligned to the plot canvas according to
-  the alignment flags of text.
-
-  \param text Text to be displayed
-
-  \sa text(), QwtText::renderFlags()
-*/
-void QwtPlotTextLabel::setText( const QwtText &text )
-{
-    if ( d_data->text != text )
-    {
-        d_data->text = text;
-
-        invalidateCache();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Text to be displayed
-  \sa setText()
-*/
-QwtText QwtPlotTextLabel::text() const
-{
-    return d_data->text;
-}
-
-/*!
-  Set the margin
-
-  The margin is the distance between the contentsRect()
-  of the plot canvas and the rectangle where the label can
-  be displayed.
-
-  \param margin Margin
-
-  \sa margin(), textRect()
- */
-void QwtPlotTextLabel::setMargin( int margin )
-{
-    margin = qMax( margin, 0 );
-    if ( d_data->margin != margin )
-    {
-        d_data->margin = margin;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Margin added to the contentsMargins() of the canvas
-  \sa setMargin()
-*/
-int QwtPlotTextLabel::margin() const
-{
-    return d_data->margin;
-}
-
-/*!
-  Draw the text label
-
-  \param painter Painter
-  \param xMap x Scale Map
-  \param yMap y Scale Map
-  \param canvasRect Contents rectangle of the canvas in painter coordinates
-
-  \sa textRect()
-*/
-
-void QwtPlotTextLabel::draw( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect ) const
-{
-    Q_UNUSED( xMap );
-    Q_UNUSED( yMap );
-
-    const int m = d_data->margin;
-
-    const QRectF rect = textRect( canvasRect.adjusted( m, m, -m, -m ),
-        d_data->text.textSize( painter->font() ) );
-
-    bool doCache = QwtPainter::roundingAlignment( painter );
-    if ( doCache )
-    {
-        switch( painter->paintEngine()->type() )
-        {
-            case QPaintEngine::Picture:
-            case QPaintEngine::User: // usually QwtGraphic
-            {
-                // don't use a cache for record/replay devices
-                doCache = false;
-                break;
-            }
-            default:;
-        }
-    }
-
-    if ( doCache )
-    {
-        // when the paint device is aligning it is not one
-        // where scalability matters ( PDF, SVG ).
-        // As rendering a text label is an expensive operation
-        // we use a cache.
-
-        int pw = 0;
-        if ( d_data->text.borderPen().style() != Qt::NoPen )
-            pw = qMax( d_data->text.borderPen().width(), 1 );
-
-        QRect pixmapRect; 
-        pixmapRect.setLeft( qFloor( rect.left() ) - pw );
-        pixmapRect.setTop( qFloor( rect.top() ) - pw );
-        pixmapRect.setRight( qCeil( rect.right() ) + pw );
-        pixmapRect.setBottom( qCeil( rect.bottom() ) + pw );
-        
-        if ( d_data->pixmap.isNull() || 
-            ( pixmapRect.size() != d_data->pixmap.size() )  )
-        {
-            d_data->pixmap = QPixmap( pixmapRect.size() );
-            d_data->pixmap.fill( Qt::transparent );
-
-            const QRect r( pw, pw, 
-                pixmapRect.width() - 2 * pw, pixmapRect.height() - 2 * pw );
-
-            QPainter pmPainter( &d_data->pixmap );
-            d_data->text.draw( &pmPainter, r );
-        }
-
-        painter->drawPixmap( pixmapRect, d_data->pixmap );
-    }
-    else
-    {
-        d_data->text.draw( painter, rect );
-    }
-}
-
-/*!
-   \brief Align the text label
-
-   \param rect Canvas rectangle with margins subtracted
-   \param textSize Size required to draw the text
-
-   \return A rectangle aligned according the the alignment flags of
-           the text.
-
-   \sa setMargin(), QwtText::renderFlags(), QwtText::textSize()
- */
-QRectF QwtPlotTextLabel::textRect( 
-    const QRectF &rect, const QSizeF &textSize ) const
-{
-    return qwtItemRect( d_data->text.renderFlags(), rect, textSize );
-}
-
-//!  Invalidate all internal cache
-void QwtPlotTextLabel::invalidateCache()
-{
-    d_data->pixmap = QPixmap();
-}
diff --git a/SRC/Qwt/src/qwt_plot_textlabel.h b/SRC/Qwt/src/qwt_plot_textlabel.h
deleted file mode 100644
index d79fdd1..0000000
--- a/SRC/Qwt/src/qwt_plot_textlabel.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_TEXT_LABEL_H
-#define QWT_PLOT_TEXT_LABEL_H 1
-
-#include "qwt_global.h"
-#include "qwt_plot_item.h"
-#include "qwt_text.h"
-
-/*!
-  \brief A plot item, which displays a text label
-
-  QwtPlotTextLabel displays a text label aligned to the plot canvas.
-
-  In opposite to QwtPlotMarker the position of the label is unrelated to
-  plot coordinates.
-    
-  As drawing a text is an expensive operation the label is cached
-  in a pixmap to speed up replots.
-
-  \par Example
-  The following code shows how to add a title.
-
-\verbatim
-    QwtText title( "Plot Title" );
-    title.setRenderFlags( Qt::AlignHCenter | Qt::AlignTop );
-
-    QFont font;
-    font.setBold( true );
-    title.setFont( font );
-
-    QwtPlotTextLabel *titleItem = new QwtPlotTextLabel();
-    titleItem->setText( title );
-    titleItem->attach( this );
-\endverbatim
-
-  \sa QwtPlotMarker
-*/  
-
-class QWT_EXPORT QwtPlotTextLabel: public QwtPlotItem
-{
-public:
-    QwtPlotTextLabel();
-    virtual ~QwtPlotTextLabel();
-
-    virtual int rtti() const;
-
-    void setText( const QwtText & );
-    QwtText text() const;
-
-    void setMargin( int margin );
-    int margin() const;
-
-    virtual QRectF textRect( const QRectF &, const QSizeF & ) const;
-
-protected:
-    virtual void draw( QPainter *,
-        const QwtScaleMap &, const QwtScaleMap &,
-        const QRectF &) const;
-
-    void invalidateCache();
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_tradingcurve.cpp b/SRC/Qwt/src/qwt_plot_tradingcurve.cpp
deleted file mode 100644
index 7f20e87..0000000
--- a/SRC/Qwt/src/qwt_plot_tradingcurve.cpp
+++ /dev/null
@@ -1,682 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_tradingcurve.h"
-#include "qwt_scale_map.h"
-#include "qwt_clipper.h"
-#include "qwt_painter.h"
-#include <qpainter.h>
-
-static inline bool qwtIsSampleInside( const QwtOHLCSample &sample,
-    double tMin, double tMax, double vMin, double vMax )
-{
-    const double t = sample.time;
-    const QwtInterval interval = sample.boundingInterval();
-
-    const bool isOffScreen = ( t < tMin ) || ( t > tMax )
-        || ( interval.maxValue() < vMin ) || ( interval.minValue() > vMax );
-
-    return !isOffScreen;
-}
-
-class QwtPlotTradingCurve::PrivateData
-{
-public:
-    PrivateData():
-        symbolStyle( QwtPlotTradingCurve::CandleStick ),
-        symbolExtent( 0.6 ),
-        minSymbolWidth( 2.0 ),
-        maxSymbolWidth( -1.0 ),
-        paintAttributes( QwtPlotTradingCurve::ClipSymbols )
-    {
-        symbolBrush[0] = QBrush( Qt::white );
-        symbolBrush[1] = QBrush( Qt::black );
-    }
-
-    QwtPlotTradingCurve::SymbolStyle symbolStyle;
-    double symbolExtent;
-    double minSymbolWidth;
-    double maxSymbolWidth;
-
-    QPen symbolPen;
-    QBrush symbolBrush[2]; // Increasing/Decreasing
-
-    QwtPlotTradingCurve::PaintAttributes paintAttributes;
-};
-
-/*!
-  Constructor
-  \param title Title of the curve
-*/
-QwtPlotTradingCurve::QwtPlotTradingCurve( const QwtText &title ):
-    QwtPlotSeriesItem( title )
-{
-    init();
-}
-
-/*!
-  Constructor
-  \param title Title of the curve
-*/
-QwtPlotTradingCurve::QwtPlotTradingCurve( const QString &title ):
-    QwtPlotSeriesItem( QwtText( title ) )
-{
-    init();
-}
-
-//! Destructor
-QwtPlotTradingCurve::~QwtPlotTradingCurve()
-{
-    delete d_data;
-}
-
-//! Initialize internal members
-void QwtPlotTradingCurve::init()
-{
-    setItemAttribute( QwtPlotItem::Legend, true );
-    setItemAttribute( QwtPlotItem::AutoScale, true );
-
-    d_data = new PrivateData;
-    setData( new QwtTradingChartData() );
-
-    setZ( 19.0 );
-}
-
-//! \return QwtPlotItem::Rtti_PlotTradingCurve
-int QwtPlotTradingCurve::rtti() const
-{
-    return QwtPlotTradingCurve::Rtti_PlotTradingCurve;
-}
-
-/*!
-  Specify an attribute how to draw the curve
-
-  \param attribute Paint attribute
-  \param on On/Off
-  \sa testPaintAttribute()
-*/
-void QwtPlotTradingCurve::setPaintAttribute(
-    PaintAttribute attribute, bool on )
-{
-    if ( on )
-        d_data->paintAttributes |= attribute;
-    else
-        d_data->paintAttributes &= ~attribute;
-}
-
-/*!
-    \return True, when attribute is enabled
-    \sa PaintAttribute, setPaintAttribute()
-*/
-bool QwtPlotTradingCurve::testPaintAttribute(
-    PaintAttribute attribute ) const
-{
-    return ( d_data->paintAttributes & attribute );
-}
-
-/*!
-  Initialize data with an array of samples.
-  \param samples Vector of samples
-
-  \sa QwtPlotSeriesItem::setData()
-*/
-void QwtPlotTradingCurve::setSamples(
-    const QVector<QwtOHLCSample> &samples )
-{
-    setData( new QwtTradingChartData( samples ) );
-}
-
-/*!
-  Assign a series of samples
-    
-  setSamples() is just a wrapper for setData() without any additional
-  value - beside that it is easier to find for the developer.
-    
-  \param data Data
-  \warning The item takes ownership of the data object, deleting
-           it when its not used anymore. 
-*/
-void QwtPlotTradingCurve::setSamples(
-    QwtSeriesData<QwtOHLCSample> *data )
-{
-    setData( data );
-}   
-
-/*!
-  Set the symbol style
-
-  \param style Symbol style
-
-  \sa symbolStyle(), setSymbolExtent(),
-      setSymbolPen(), setSymbolBrush()
-*/
-void QwtPlotTradingCurve::setSymbolStyle( SymbolStyle style )
-{
-    if ( style != d_data->symbolStyle )
-    {
-        d_data->symbolStyle = style;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Symbol style
-  \sa setSymbolStyle(), symbolExtent(), symbolPen(), symbolBrush()
-*/
-QwtPlotTradingCurve::SymbolStyle QwtPlotTradingCurve::symbolStyle() const
-{
-    return d_data->symbolStyle;
-}
-
-/*! 
-  Build and assign the symbol pen
-    
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it
-  non cosmetic ( see QPen::isCosmetic() ). This method has been introduced
-  to hide this incompatibility.
-    
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-    
-  \sa pen(), brush()
- */ 
-void QwtPlotTradingCurve::setSymbolPen( 
-    const QColor &color, qreal width, Qt::PenStyle style )
-{   
-    setSymbolPen( QPen( color, width, style ) );
-}
-
-/*!
-  \brief Set the symbol pen
-
-  The symbol pen is used for rendering the lines of the
-  bar or candlestick symbols
-
-  \sa symbolPen(), setSymbolBrush()
-*/
-void QwtPlotTradingCurve::setSymbolPen( const QPen &pen )
-{
-    if ( pen != d_data->symbolPen )
-    {
-        d_data->symbolPen = pen;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Symbol pen
-  \sa setSymbolPen(), symbolBrush()
-*/
-QPen QwtPlotTradingCurve::symbolPen() const
-{
-    return d_data->symbolPen;
-}
-
-/*!
-  Set the symbol brush
-
-  \param direction Direction type
-  \param brush Brush used to fill the body of all candlestick
-               symbols with the direction
-
-  \sa symbolBrush(), setSymbolPen()
-*/
-void QwtPlotTradingCurve::setSymbolBrush(
-    Direction direction, const QBrush &brush )
-{
-    if ( direction < 0 || direction >= 2 )
-        return;
-
-    if ( brush != d_data->symbolBrush[ direction ] )
-    {
-        d_data->symbolBrush[ direction ] = brush;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \param direction
-  \return Brush used to fill the body of all candlestick
-          symbols with the direction
-
-  \sa setSymbolPen(), symbolBrush()
-*/
-QBrush QwtPlotTradingCurve::symbolBrush( Direction direction ) const
-{
-    if ( direction < 0 || direction >= 2 )
-        return QBrush();
-
-    return d_data->symbolBrush[ direction ];
-}
-
-/*!
-  \brief Set the extent of the symbol
-
-  The width of the symbol is given in scale coordinates. When painting
-  a symbol the width is scaled into paint device coordinates
-  by scaledSymbolWidth(). The scaled width is bounded by
-  minSymbolWidth(), maxSymbolWidth()
-
-  \param extent Symbol width in scale coordinates
-
-  \sa symbolExtent(), scaledSymbolWidth(), 
-      setMinSymbolWidth(), setMaxSymbolWidth()
-*/
-void QwtPlotTradingCurve::setSymbolExtent( double extent )
-{
-    extent = qMax( 0.0, extent );
-    if ( extent != d_data->symbolExtent )
-    {
-        d_data->symbolExtent = extent;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Extent of a symbol in scale coordinates
-  \sa setSymbolExtent(), scaledSymbolWidth(),
-      minSymbolWidth(), maxSymbolWidth()
-*/
-double QwtPlotTradingCurve::symbolExtent() const
-{
-    return d_data->symbolExtent;
-}
-
-/*!
-  Set a minimum for the symbol width
-
-  \param width Width in paint device coordinates
-  \sa minSymbolWidth(), setMaxSymbolWidth(), setSymbolExtent()
- */
-void QwtPlotTradingCurve::setMinSymbolWidth( double width )
-{
-    width = qMax( width, 0.0 );
-    if ( width != d_data->minSymbolWidth )
-    {
-        d_data->minSymbolWidth = width;
-
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Minmum for the symbol width
-  \sa setMinSymbolWidth(), maxSymbolWidth(), symbolExtent()
- */
-double QwtPlotTradingCurve::minSymbolWidth() const
-{
-    return d_data->minSymbolWidth;
-}
-
-/*!
-  Set a maximum for the symbol width
-
-  A value <= 0.0 means an unlimited width
-
-  \param width Width in paint device coordinates
-  \sa maxSymbolWidth(), setMinSymbolWidth(), setSymbolExtent()
- */
-void QwtPlotTradingCurve::setMaxSymbolWidth( double width )
-{
-    if ( width != d_data->maxSymbolWidth )
-    {
-        d_data->maxSymbolWidth = width;
-    
-        legendChanged();
-        itemChanged();
-    }
-}
-
-/*!
-  \return Maximum for the symbol width
-  \sa setMaxSymbolWidth(), minSymbolWidth(), symbolExtent()
- */
-double QwtPlotTradingCurve::maxSymbolWidth() const
-{
-    return d_data->maxSymbolWidth;
-}
-
-/*!
-  \return Bounding rectangle of all samples.
-  For an empty series the rectangle is invalid.
-*/
-QRectF QwtPlotTradingCurve::boundingRect() const
-{
-    QRectF rect = QwtPlotSeriesItem::boundingRect();
-    if ( rect.isValid() && orientation() == Qt::Vertical )
-        rect.setRect( rect.y(), rect.x(), rect.height(), rect.width() );
-
-    return rect;
-}
-
-/*!
-  Draw an interval of the curve
-
-  \param painter Painter
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param canvasRect Contents rectangle of the canvas
-  \param from Index of the first point to be painted
-  \param to Index of the last point to be painted. If to < 0 the
-         curve will be painted to its last point.
-
-  \sa drawSymbols()
-*/
-void QwtPlotTradingCurve::drawSeries( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    if ( to < 0 )
-        to = dataSize() - 1;
-
-    if ( from < 0 )
-        from = 0;
-
-    if ( from > to )
-        return;
-
-    painter->save();
-
-    if ( d_data->symbolStyle != QwtPlotTradingCurve::NoSymbol )
-        drawSymbols( painter, xMap, yMap, canvasRect, from, to );
-
-    painter->restore();
-}
-
-/*!
-  Draw symbols
-
-  \param painter Painter
-  \param xMap x map
-  \param yMap y map
-  \param canvasRect Contents rectangle of the canvas
-  \param from Index of the first point to be painted
-  \param to Index of the last point to be painted
-
-  \sa drawSeries()
-*/
-void QwtPlotTradingCurve::drawSymbols( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect, int from, int to ) const
-{
-    const QRectF tr = QwtScaleMap::invTransform( xMap, yMap, canvasRect );
-
-    const QwtScaleMap *timeMap, *valueMap;
-    double tMin, tMax, vMin, vMax;
-
-    const Qt::Orientation orient = orientation();
-    if ( orient == Qt::Vertical )
-    {
-        timeMap = &xMap;
-        valueMap = &yMap;
-
-        tMin = tr.left();
-        tMax = tr.right();
-        vMin = tr.top();
-        vMax = tr.bottom();
-    }
-    else
-    {
-        timeMap = &yMap;
-        valueMap = &xMap;
-
-        vMin = tr.left();
-        vMax = tr.right();
-        tMin = tr.top();
-        tMax = tr.bottom();
-    }
-
-    const bool inverted = timeMap->isInverting();
-    const bool doClip = d_data->paintAttributes & ClipSymbols;
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    double symbolWidth = scaledSymbolWidth( xMap, yMap, canvasRect );
-    if ( doAlign )
-        symbolWidth = qFloor( 0.5 * symbolWidth ) * 2.0;
-
-    QPen pen = d_data->symbolPen;
-    pen.setCapStyle( Qt::FlatCap );
-
-    painter->setPen( pen );
-
-    for ( int i = from; i <= to; i++ )
-    {
-        const QwtOHLCSample s = sample( i );
-
-        if ( !doClip || qwtIsSampleInside( s, tMin, tMax, vMin, vMax ) )
-        {
-            QwtOHLCSample translatedSample;
-
-            translatedSample.time = timeMap->transform( s.time );
-            translatedSample.open = valueMap->transform( s.open );
-            translatedSample.high = valueMap->transform( s.high );
-            translatedSample.low = valueMap->transform( s.low );
-            translatedSample.close = valueMap->transform( s.close );
-
-            const int brushIndex = ( s.open < s.close )
-                ? QwtPlotTradingCurve::Increasing
-                : QwtPlotTradingCurve::Decreasing;
-
-            if ( doAlign )
-            {
-                translatedSample.time = qRound( translatedSample.time );
-                translatedSample.open = qRound( translatedSample.open );
-                translatedSample.high = qRound( translatedSample.high );
-                translatedSample.low = qRound( translatedSample.low );
-                translatedSample.close = qRound( translatedSample.close );
-            }
-
-            switch( d_data->symbolStyle )
-            {
-                case Bar:
-                {
-                    drawBar( painter, translatedSample, 
-                        orient, inverted, symbolWidth );
-                    break;
-                }
-                case CandleStick:
-                {
-                    painter->setBrush( d_data->symbolBrush[ brushIndex ] );
-                    drawCandleStick( painter, translatedSample, 
-                        orient, symbolWidth );
-                    break;
-                }
-                default:
-                {
-                    if ( d_data->symbolStyle >= UserSymbol )
-                    {
-                        painter->setBrush( d_data->symbolBrush[ brushIndex ] );
-                        drawUserSymbol( painter, d_data->symbolStyle,
-                            translatedSample, orient, inverted, symbolWidth );
-                    }
-                }
-            }
-        }
-    }
-}
-
-/*!
-  \brief Draw a symbol for a symbol style >= UserSymbol
-
-  The implementation does nothing and is intended to be overloaded
-
-  \param painter Qt painter, initialized with pen/brush
-  \param symbolStyle Symbol style
-  \param sample Samples already translated into paint device coordinates
-  \param orientation Vertical or horizontal
-  \param inverted True, when the opposite scale 
-                  ( Qt::Vertical: x, Qt::Horizontal: y ) is increasing
-                  in the opposite direction as QPainter coordinates.
-  \param symbolWidth Width of the symbol in paint device coordinates
-*/
-void QwtPlotTradingCurve::drawUserSymbol( QPainter *painter,
-    SymbolStyle symbolStyle, const QwtOHLCSample &sample,
-    Qt::Orientation orientation, bool inverted, double symbolWidth ) const
-{
-    Q_UNUSED( painter )
-    Q_UNUSED( symbolStyle )
-    Q_UNUSED( orientation )
-    Q_UNUSED( inverted )
-    Q_UNUSED( symbolWidth )
-    Q_UNUSED( sample )
-}
-
-/*!
-  \brief Draw a bar
-
-  \param painter Qt painter, initialized with pen/brush
-  \param sample Sample, already translated into paint device coordinates
-  \param orientation Vertical or horizontal
-  \param inverted When inverted is false the open tick is painted
-                  to the left/top, otherwise it is painted right/bottom.
-                  The close tick is painted in the opposite direction
-                  of the open tick.
-                  painted in the opposite d
-                  opposite direction.
-  \param width Width or height of the candle, depending on the orientation
-
-  \sa Bar
-*/
-void QwtPlotTradingCurve::drawBar( QPainter *painter,
-    const QwtOHLCSample &sample, Qt::Orientation orientation, 
-    bool inverted, double width ) const
-{
-    double w2 = 0.5 * width;
-    if ( inverted )
-        w2 *= -1;
-
-    if ( orientation == Qt::Vertical )
-    {
-        QwtPainter::drawLine( painter,
-            sample.time, sample.low, sample.time, sample.high );
-
-        QwtPainter::drawLine( painter,
-            sample.time - w2, sample.open, sample.time, sample.open );
-        QwtPainter::drawLine( painter,
-            sample.time + w2, sample.close, sample.time, sample.close );
-    }
-    else
-    {
-        QwtPainter::drawLine( painter, sample.low, sample.time,
-            sample.high, sample.time );
-        QwtPainter::drawLine( painter,
-            sample.open, sample.time - w2, sample.open, sample.time );
-        QwtPainter::drawLine( painter,
-            sample.close, sample.time + w2, sample.close, sample.time );
-    }
-}
-
-/*!
-  \brief Draw a candle stick
-
-  \param painter Qt painter, initialized with pen/brush
-  \param sample Samples already translated into paint device coordinates
-  \param orientation Vertical or horizontal
-  \param width Width or height of the candle, depending on the orientation
-
-  \sa CandleStick
-*/
-void QwtPlotTradingCurve::drawCandleStick( QPainter *painter,
-    const QwtOHLCSample &sample, Qt::Orientation orientation, 
-    double width ) const
-{
-    const double t = sample.time;
-    const double v1 = qMin( sample.low, sample.high );
-    const double v2 = qMin( sample.open, sample.close );
-    const double v3 = qMax( sample.low, sample.high );
-    const double v4 = qMax( sample.open, sample.close );
-
-    if ( orientation == Qt::Vertical )
-    {
-        QwtPainter::drawLine( painter, t, v1, t, v2 );
-        QwtPainter::drawLine( painter, t, v3, t, v4 );
-
-        QRectF rect( t - 0.5 * width, sample.open,
-            width, sample.close - sample.open );
-
-        QwtPainter::drawRect( painter, rect );
-    }
-    else
-    {
-        QwtPainter::drawLine( painter, v1, t, v2, t );
-        QwtPainter::drawLine( painter, v3, t, v4, t );
-
-        const QRectF rect( sample.open, t - 0.5 * width,
-            sample.close - sample.open, width );
-
-        QwtPainter::drawRect( painter, rect );
-    }
-}
-
-/*!
-  \return A rectangle filled with the color of the symbol pen
-
-  \param index Index of the legend entry 
-                ( usually there is only one )
-  \param size Icon size
-
-  \sa setLegendIconSize(), legendData()
-*/
-QwtGraphic QwtPlotTradingCurve::legendIcon( int index,
-    const QSizeF &size ) const
-{
-    Q_UNUSED( index );
-    return defaultIcon( d_data->symbolPen.color(), size );
-}
-
-/*!
-  Calculate the symbol width in paint coordinates
-
-  The width is calculated by scaling the symbol extent into
-  paint device coordinates bounded by the minimum/maximum
-  symbol width.
-
-  \param xMap Maps x-values into pixel coordinates.
-  \param yMap Maps y-values into pixel coordinates.
-  \param canvasRect Contents rectangle of the canvas
-
-  \return Symbol width in paint coordinates
-
-  \sa symbolExtent(), minSymbolWidth(), maxSymbolWidth()
-*/
-double QwtPlotTradingCurve::scaledSymbolWidth(
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect ) const
-{
-    Q_UNUSED( canvasRect );
-
-    if ( d_data->maxSymbolWidth > 0.0 &&
-        d_data->minSymbolWidth >= d_data->maxSymbolWidth )
-    {
-        return d_data->minSymbolWidth;
-    }
-
-    const QwtScaleMap *map =
-        ( orientation() == Qt::Vertical ) ? &xMap : &yMap;
-
-    const double pos = map->transform( map->s1() + d_data->symbolExtent ); 
-
-    double width = qAbs( pos - map->p1() );
-
-    width = qMax( width,  d_data->minSymbolWidth );
-    if ( d_data->maxSymbolWidth > 0.0 )
-        width = qMin( width, d_data->maxSymbolWidth );
-
-    return width;
-}
diff --git a/SRC/Qwt/src/qwt_plot_tradingcurve.h b/SRC/Qwt/src/qwt_plot_tradingcurve.h
deleted file mode 100644
index 5853bbb..0000000
--- a/SRC/Qwt/src/qwt_plot_tradingcurve.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_TRADING_CURVE_H
-#define QWT_PLOT_TRADING_CURVE_H
-
-#include "qwt_global.h"
-#include "qwt_plot_seriesitem.h"
-#include "qwt_series_data.h"
-
-/*!
-  \brief QwtPlotTradingCurve illustrates movements in the price of a
-         financial instrument over time.
-
-  QwtPlotTradingCurve supports candlestick or bar ( OHLC ) charts
-  that are used in the domain of technical analysis.
-
-  While the length ( height or width depending on orientation() ) 
-  of each symbol depends on the corresponding OHLC sample the size
-  of the other dimension can be controlled using:
-
-  - setSymbolExtent()
-  - setSymbolMinWidth()
-  - setSymbolMaxWidth()
-
-  The extent is a size in scale coordinates, so that the symbol width
-  is increasing when the plot is zoomed in. Minimum/Maximum width
-  is in widget coordinates independent from the zoom level. 
-  When setting the minimum and maximum to the same value, the width of 
-  the symbol is fixed. 
-*/
-class QWT_EXPORT QwtPlotTradingCurve: 
-    public QwtPlotSeriesItem, QwtSeriesStore<QwtOHLCSample>
-{
-public:
-    /*!
-        \brief Symbol styles.
-
-        The default setting is QwtPlotSeriesItem::CandleStick.
-        \sa setSymbolStyle(), symbolStyle()
-    */
-    enum SymbolStyle
-    {
-        //! Nothing is displayed
-        NoSymbol = -1,
-
-        /*!
-          A line on the chart shows the price range (the highest and lowest
-          prices) over one unit of time, e.g. one day or one hour.
-          Tick marks project from each side of the line indicating the
-          opening and closing price.
-         */
-        Bar,
-
-        /*!
-          The range between opening/closing price are displayed as
-          a filled box. The fill brush depends on the direction of the
-          price movement. The box is connected to the highest/lowest
-          values by lines.
-        */
-        CandleStick,
-
-        /*!
-          SymbolTypes >= UserSymbol are displayed by drawUserSymbol(),
-          that needs to be overloaded and implemented in derived
-          curve classes.
-
-          \sa drawUserSymbol()
-        */
-        UserSymbol = 100
-    };
-
-    /*!
-        \brief Direction of a price movement
-     */
-    enum Direction
-    {
-        //! The closing price is higher than the opening price
-        Increasing,
-
-        //! The closing price is lower than the opening price
-        Decreasing
-    };
-
-    /*!
-        Attributes to modify the drawing algorithm.
-        \sa setPaintAttribute(), testPaintAttribute()
-    */
-    enum PaintAttribute
-    {
-        //! Check if a symbol is on the plot canvas before painting it.
-        ClipSymbols   = 0x01
-    };
-
-    //! Paint attributes
-    typedef QFlags<PaintAttribute> PaintAttributes;
-
-    explicit QwtPlotTradingCurve( const QString &title = QString::null );
-    explicit QwtPlotTradingCurve( const QwtText &title );
-
-    virtual ~QwtPlotTradingCurve();
-
-    virtual int rtti() const;
-
-    void setPaintAttribute( PaintAttribute, bool on = true );
-    bool testPaintAttribute( PaintAttribute ) const;
-
-    void setSamples( const QVector<QwtOHLCSample> & );
-    void setSamples( QwtSeriesData<QwtOHLCSample> * );
-
-    void setSymbolStyle( SymbolStyle style );
-    SymbolStyle symbolStyle() const;
-
-    void setSymbolPen( const QColor &, 
-        qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setSymbolPen( const QPen & );
-    QPen symbolPen() const;
-
-    void setSymbolBrush( Direction, const QBrush & );
-    QBrush symbolBrush( Direction ) const;
-
-    void setSymbolExtent( double width );
-    double symbolExtent() const;
-
-    void setMinSymbolWidth( double );
-    double minSymbolWidth() const;
-
-    void setMaxSymbolWidth( double );
-    double maxSymbolWidth() const;
-
-    virtual void drawSeries( QPainter *painter,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual QRectF boundingRect() const;
-
-    virtual QwtGraphic legendIcon( int index, const QSizeF & ) const;
-
-protected:
-
-    void init();
-
-    virtual void drawSymbols( QPainter *,
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect, int from, int to ) const;
-
-    virtual void drawUserSymbol( QPainter *, 
-        SymbolStyle, const QwtOHLCSample &,
-        Qt::Orientation, bool inverted, double width ) const;
-
-    void drawBar( QPainter *painter, const QwtOHLCSample &, 
-        Qt::Orientation, bool inverted, double width ) const;
-
-    void drawCandleStick( QPainter *, const QwtOHLCSample &, 
-        Qt::Orientation, double width ) const;
-
-    virtual double scaledSymbolWidth(
-        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QRectF &canvasRect ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotTradingCurve::PaintAttributes )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_xml.cpp b/SRC/Qwt/src/qwt_plot_xml.cpp
deleted file mode 100644
index f2c1213..0000000
--- a/SRC/Qwt/src/qwt_plot_xml.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot.h"
-
-/*!
-  This method is intended for manipulating the plot widget
-  from a specific editor in the Qwt designer plugin.
-
-  \warning The plot editor has never been implemented.
-*/
-void QwtPlot::applyProperties( const QString & /* xmlDocument */ )
-{
-#if 0
-    // Temporary dummy code, for designer tests
-    setTitle( xmlDocument );
-    replot();
-#endif
-}
-
-/*!
-  This method is intended for manipulating the plot widget
-  from a specific editor in the Qwt designer plugin.
-
-  \return QString::null
-  \warning The plot editor has never been implemented.
-*/
-QString QwtPlot::grabProperties() const
-{
-#if 0
-    // Temporary dummy code, for designer tests
-    return title().text();
-#else
-    return QString::null;
-#endif
-}
diff --git a/SRC/Qwt/src/qwt_plot_zoneitem.cpp b/SRC/Qwt/src/qwt_plot_zoneitem.cpp
deleted file mode 100644
index 81efb41..0000000
--- a/SRC/Qwt/src/qwt_plot_zoneitem.cpp
+++ /dev/null
@@ -1,315 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_zoneitem.h"
-#include "qwt_painter.h"
-#include "qwt_scale_map.h"
-#include <qpainter.h>
-
-class QwtPlotZoneItem::PrivateData
-{   
-public:
-    PrivateData():
-        orientation( Qt::Vertical ),
-        pen( Qt::NoPen )
-    {
-        QColor c( Qt::darkGray );
-        c.setAlpha( 100 );
-        brush = QBrush( c );
-    }
-        
-    Qt::Orientation orientation;
-    QPen pen;
-    QBrush brush;
-    QwtInterval interval;
-};  
-
-/*!
-   \brief Constructor
-
-   Initializes the zone with no pen and a semi transparent gray brush
-
-   Sets the following item attributes:
-
-   - QwtPlotItem::AutoScale: false
-   - QwtPlotItem::Legend:    false
-
-   The z value is initialized by 5
-
-   \sa QwtPlotItem::setItemAttribute(), QwtPlotItem::setZ()
-*/
-QwtPlotZoneItem::QwtPlotZoneItem():
-    QwtPlotItem( QwtText( "Zone" ) )
-{
-    d_data = new PrivateData;
-
-    setItemAttribute( QwtPlotItem::AutoScale, false );
-    setItemAttribute( QwtPlotItem::Legend, false );
-
-    setZ( 5 );
-}
-
-//! Destructor
-QwtPlotZoneItem::~QwtPlotZoneItem()
-{
-    delete d_data;
-}
-
-//! \return QwtPlotItem::Rtti_PlotZone
-int QwtPlotZoneItem::rtti() const
-{
-    return QwtPlotItem::Rtti_PlotZone;
-}
-
-/*! 
-  Build and assign a pen
-    
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it
-  non cosmetic ( see QPen::isCosmetic() ). This method has been introduced
-  to hide this incompatibility.
-    
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-    
-  \sa pen(), brush()
- */ 
-void QwtPlotZoneItem::setPen( const QColor &color, qreal width, Qt::PenStyle style )
-{   
-    setPen( QPen( color, width, style ) );
-}
-
-/*!
-  \brief Assign a pen 
-
-  The pen is used to draw the border lines of the zone
-
-  \param pen Pen
-  \sa pen(), setBrush()
-*/
-void QwtPlotZoneItem::setPen( const QPen &pen )
-{
-    if ( d_data->pen != pen )
-    {
-        d_data->pen = pen;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Pen used to draw the border lines
-  \sa setPen(), brush()
-*/
-const QPen &QwtPlotZoneItem::pen() const
-{
-    return d_data->pen;
-}
-
-/*! 
-  \brief Assign a brush 
-    
-  The brush is used to fill the zone
-
-  \param brush Brush
-  \sa pen(), setBrush()
-*/
-void QwtPlotZoneItem::setBrush( const QBrush &brush )
-{
-    if ( d_data->brush != brush )
-    {
-        d_data->brush = brush;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Brush used to fill the zone
-  \sa setPen(), brush()
-*/
-const QBrush &QwtPlotZoneItem::brush() const
-{
-    return d_data->brush;
-}
-
-/*!
-  \brief Set the orientation of the zone
-
-  A horizontal zone highlights an interval of the y axis, 
-  a vertical zone of the x axis. It is unbounded in the 
-  opposite direction.
-
-  \sa orientation(), QwtPlotItem::setAxes()
-*/
-void QwtPlotZoneItem::setOrientation( Qt::Orientation orientation )
-{
-    if ( d_data->orientation != orientation )
-    {
-        d_data->orientation = orientation;
-        itemChanged();
-    }
-}
-
-/*!
-  \return Orientation of the zone
-  \sa setOrientation()
- */
-Qt::Orientation QwtPlotZoneItem::orientation()
-{
-    return d_data->orientation;
-}
-
-/*!
-  Set the interval of the zone
-
-  For a horizontal zone the interval is related to the y axis,
-  for a vertical zone it is related to the x axis.
-
-  \param min Minimum of the interval
-  \param max Maximum of the interval
-
-  \sa interval(), setOrientation()
- */
-void QwtPlotZoneItem::setInterval( double min, double max )
-{
-    setInterval( QwtInterval( min, max ) );
-}
-
-/*!
-  Set the interval of the zone
-
-  For a horizontal zone the interval is related to the y axis,
-  for a vertical zone it is related to the x axis.
-
-  \param interval Zone interval
-
-  \sa interval(), setOrientation()
- */
-void QwtPlotZoneItem::setInterval( const QwtInterval &interval )
-{
-    if ( d_data->interval != interval )
-    {
-        d_data->interval = interval;
-        itemChanged(); 
-    }   
-}   
-
-/*!
-  \return Zone interval
-  \sa setInterval(), orientation()
- */
-QwtInterval QwtPlotZoneItem::interval() const
-{
-    return d_data->interval;
-}   
-
-/*!
-  Draw the zone
-
-  \param painter Painter
-  \param xMap x Scale Map
-  \param yMap y Scale Map
-  \param canvasRect Contents rectangle of the canvas in painter coordinates
-*/
-
-void QwtPlotZoneItem::draw( QPainter *painter,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QRectF &canvasRect ) const
-{
-    if ( !d_data->interval.isValid() )
-        return;
-
-    QPen pen = d_data->pen;
-    pen.setCapStyle( Qt::FlatCap );
-
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    if ( d_data->orientation == Qt::Horizontal )
-    {
-        double y1 = yMap.transform( d_data->interval.minValue() );
-        double y2 = yMap.transform( d_data->interval.maxValue() );
-
-        if ( doAlign )
-        {
-            y1 = qRound( y1 );
-            y2 = qRound( y2 );
-        }
-
-        QRectF r( canvasRect.left(), y1, canvasRect.width(), y2 - y1 );
-        r = r.normalized();
-
-        if ( ( d_data->brush.style() != Qt::NoBrush ) && ( y1 != y2 ) )
-        {
-            QwtPainter::fillRect( painter, r, d_data->brush );
-        }
-
-        if ( d_data->pen.style() != Qt::NoPen )
-        {
-            painter->setPen( d_data->pen );
-
-            QwtPainter::drawLine( painter, r.left(), r.top(), r.right(), r.top() );
-            QwtPainter::drawLine( painter, r.left(), r.bottom(), r.right(), r.bottom() );
-        }
-    }
-    else
-    {
-        double x1 = xMap.transform( d_data->interval.minValue() );
-        double x2 = xMap.transform( d_data->interval.maxValue() );
-
-        if ( doAlign )
-        {
-            x1 = qRound( x1 );
-            x2 = qRound( x2 );
-        }
-
-        QRectF r( x1, canvasRect.top(), x2 - x1, canvasRect.height() );
-        r = r.normalized();
-
-        if ( ( d_data->brush.style() != Qt::NoBrush ) && ( x1 != x2 ) )
-        {
-            QwtPainter::fillRect( painter, r, d_data->brush );
-        }
-
-        if ( d_data->pen.style() != Qt::NoPen )
-        {
-            painter->setPen( d_data->pen );
-
-            QwtPainter::drawLine( painter, r.left(), r.top(), r.left(), r.bottom() );
-            QwtPainter::drawLine( painter, r.right(), r.top(), r.right(), r.bottom() );
-        }
-    }
-}
-
-/*! 
-  The bounding rectangle is build from the interval in one direction
-  and something invalid for the opposite direction.
-
-  \return An invalid rectangle with valid boundaries in one direction
-*/
-QRectF QwtPlotZoneItem::boundingRect() const
-{
-    QRectF br = QwtPlotItem::boundingRect();
-
-    const QwtInterval &intv = d_data->interval;
-
-    if ( intv.isValid() )
-    {
-        if ( d_data->orientation == Qt::Horizontal )
-        {
-            br.setTop( intv.minValue() );
-            br.setBottom( intv.maxValue() );
-        }
-        else
-        {
-            br.setLeft( intv.minValue() );
-            br.setRight( intv.maxValue() );
-        }
-    }
-
-    return br;
-}
diff --git a/SRC/Qwt/src/qwt_plot_zoneitem.h b/SRC/Qwt/src/qwt_plot_zoneitem.h
deleted file mode 100644
index 3aae258..0000000
--- a/SRC/Qwt/src/qwt_plot_zoneitem.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_ZONE_ITEM_H
-#define QWT_PLOT_ZONE_ITEM_H
-
-#include "qwt_global.h"
-#include "qwt_plot_item.h"
-#include "qwt_interval.h"
-
-class QPen;
-class QBrush;
-
-/*!
-  \brief A plot item, which displays a zone
-
-  A horizontal zone highlights an interval of the y axis - a vertical 
-  zone an interval of the x axis - and is unbounded in the opposite direction.
-  It is filled with a brush and its border lines are optionally displayed with a pen. 
-
-  \note For displaying an area that is bounded for x and y coordinates 
-        use QwtPlotShapeItem
-*/
-
-class QWT_EXPORT QwtPlotZoneItem: 
-    public QwtPlotItem
-{
-public:
-    explicit QwtPlotZoneItem();
-    virtual ~QwtPlotZoneItem();
-
-    virtual int rtti() const;
-
-    void setOrientation( Qt::Orientation );
-    Qt::Orientation orientation();
-
-    void setInterval( double min, double max );
-    void setInterval( const QwtInterval & );
-    QwtInterval interval() const;
-
-    void setPen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setPen( const QPen & );
-    const QPen &pen() const;
-
-    void setBrush( const QBrush & );
-    const QBrush &brush() const;
-
-    virtual void draw( QPainter *,
-        const QwtScaleMap &, const QwtScaleMap &,
-        const QRectF &) const;
-
-    virtual QRectF boundingRect() const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_plot_zoomer.cpp b/SRC/Qwt/src/qwt_plot_zoomer.cpp
deleted file mode 100644
index 921e215..0000000
--- a/SRC/Qwt/src/qwt_plot_zoomer.cpp
+++ /dev/null
@@ -1,604 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_plot_zoomer.h"
-#include "qwt_plot.h"
-#include "qwt_scale_div.h"
-#include "qwt_picker_machine.h"
-#include <qalgorithms.h>
-
-class QwtPlotZoomer::PrivateData
-{
-public:
-    uint zoomRectIndex;
-    QStack<QRectF> zoomStack;
-
-    int maxStackDepth;
-};
-
-/*!
-  \brief Create a zoomer for a plot canvas.
-
-  The zoomer is set to those x- and y-axis of the parent plot of the
-  canvas that are enabled. If both or no x-axis are enabled, the picker
-  is set to QwtPlot::xBottom. If both or no y-axis are
-  enabled, it is set to QwtPlot::yLeft.
-
-  The zoomer is initialized with a QwtPickerDragRectMachine,
-  the tracker mode is set to QwtPicker::ActiveOnly and the rubber band
-  is set to QwtPicker::RectRubberBand
-
-  \param canvas Plot canvas to observe, also the parent object
-  \param doReplot Call QwtPlot::replot() for the attached plot before initializing
-                  the zoomer with its scales. This might be necessary,
-                  when the plot is in a state with pending scale changes.
-
-  \sa QwtPlot::autoReplot(), QwtPlot::replot(), setZoomBase()
-*/
-QwtPlotZoomer::QwtPlotZoomer( QWidget *canvas, bool doReplot ):
-    QwtPlotPicker( canvas )
-{
-    if ( canvas )
-        init( doReplot );
-}
-
-/*!
-  \brief Create a zoomer for a plot canvas.
-
-  The zoomer is initialized with a QwtPickerDragRectMachine,
-  the tracker mode is set to QwtPicker::ActiveOnly and the rubber band
-  is set to QwtPicker;;RectRubberBand
-
-  \param xAxis X axis of the zoomer
-  \param yAxis Y axis of the zoomer
-  \param canvas Plot canvas to observe, also the parent object
-  \param doReplot Call QwtPlot::replot() for the attached plot before initializing
-                  the zoomer with its scales. This might be necessary,
-                  when the plot is in a state with pending scale changes.
-
-  \sa QwtPlot::autoReplot(), QwtPlot::replot(), setZoomBase()
-*/
-
-QwtPlotZoomer::QwtPlotZoomer( int xAxis, int yAxis,
-        QWidget *canvas, bool doReplot ):
-    QwtPlotPicker( xAxis, yAxis, canvas )
-{
-    if ( canvas )
-        init( doReplot );
-}
-
-//! Init the zoomer, used by the constructors
-void QwtPlotZoomer::init( bool doReplot )
-{
-    d_data = new PrivateData;
-
-    d_data->maxStackDepth = -1;
-
-    setTrackerMode( ActiveOnly );
-    setRubberBand( RectRubberBand );
-    setStateMachine( new QwtPickerDragRectMachine() );
-
-    if ( doReplot && plot() )
-        plot()->replot();
-
-    setZoomBase( scaleRect() );
-}
-
-QwtPlotZoomer::~QwtPlotZoomer()
-{
-    delete d_data;
-}
-
-/*!
-  \brief Limit the number of recursive zoom operations to depth.
-
-  A value of -1 set the depth to unlimited, 0 disables zooming.
-  If the current zoom rectangle is below depth, the plot is unzoomed.
-
-  \param depth Maximum for the stack depth
-  \sa maxStackDepth()
-  \note depth doesn't include the zoom base, so zoomStack().count() might be
-              maxStackDepth() + 1.
-*/
-void QwtPlotZoomer::setMaxStackDepth( int depth )
-{
-    d_data->maxStackDepth = depth;
-
-    if ( depth >= 0 )
-    {
-        // unzoom if the current depth is below d_data->maxStackDepth
-
-        const int zoomOut =
-            int( d_data->zoomStack.count() ) - 1 - depth; // -1 for the zoom base
-
-        if ( zoomOut > 0 )
-        {
-            zoom( -zoomOut );
-            for ( int i = int( d_data->zoomStack.count() ) - 1;
-                i > int( d_data->zoomRectIndex ); i-- )
-            {
-                ( void )d_data->zoomStack.pop(); // remove trailing rects
-            }
-        }
-    }
-}
-
-/*!
-  \return Maximal depth of the zoom stack.
-  \sa setMaxStackDepth()
-*/
-int QwtPlotZoomer::maxStackDepth() const
-{
-    return d_data->maxStackDepth;
-}
-
-/*!
-  \return The zoom stack. zoomStack()[0] is the zoom base,
-          zoomStack()[1] the first zoomed rectangle.
-
-  \sa setZoomStack(), zoomRectIndex()
-*/
-const QStack<QRectF> &QwtPlotZoomer::zoomStack() const
-{
-    return d_data->zoomStack;
-}
-
-/*!
-  \return Initial rectangle of the zoomer
-  \sa setZoomBase(), zoomRect()
-*/
-QRectF QwtPlotZoomer::zoomBase() const
-{
-    return d_data->zoomStack[0];
-}
-
-/*!
-  Reinitialized the zoom stack with scaleRect() as base.
-
-  \param doReplot Call QwtPlot::replot() for the attached plot before initializing
-                  the zoomer with its scales. This might be necessary,
-                  when the plot is in a state with pending scale changes.
-
-  \sa zoomBase(), scaleRect() QwtPlot::autoReplot(), QwtPlot::replot().
-*/
-void QwtPlotZoomer::setZoomBase( bool doReplot )
-{
-    QwtPlot *plt = plot();
-    if ( plt == NULL )
-        return;
-
-    if ( doReplot )
-        plt->replot();
-
-    d_data->zoomStack.clear();
-    d_data->zoomStack.push( scaleRect() );
-    d_data->zoomRectIndex = 0;
-
-    rescale();
-}
-
-/*!
-  \brief Set the initial size of the zoomer.
-
-  base is united with the current scaleRect() and the zoom stack is
-  reinitialized with it as zoom base. plot is zoomed to scaleRect().
-
-  \param base Zoom base
-
-  \sa zoomBase(), scaleRect()
-*/
-void QwtPlotZoomer::setZoomBase( const QRectF &base )
-{
-    const QwtPlot *plt = plot();
-    if ( !plt )
-        return;
-
-    const QRectF sRect = scaleRect();
-    const QRectF bRect = base | sRect;
-
-    d_data->zoomStack.clear();
-    d_data->zoomStack.push( bRect );
-    d_data->zoomRectIndex = 0;
-
-    if ( base != sRect )
-    {
-        d_data->zoomStack.push( sRect );
-        d_data->zoomRectIndex++;
-    }
-
-    rescale();
-}
-
-/*!
-  \return Rectangle at the current position on the zoom stack.
-  \sa zoomRectIndex(), scaleRect().
-*/
-QRectF QwtPlotZoomer::zoomRect() const
-{
-    return d_data->zoomStack[d_data->zoomRectIndex];
-}
-
-/*!
-  \return Index of current position of zoom stack.
-*/
-uint QwtPlotZoomer::zoomRectIndex() const
-{
-    return d_data->zoomRectIndex;
-}
-
-/*!
-  \brief Zoom in
-
-  Clears all rectangles above the current position of the
-  zoom stack and pushes the normalized rectangle on it.
-
-  \note If the maximal stack depth is reached, zoom is ignored.
-  \note The zoomed signal is emitted.
-*/
-
-void QwtPlotZoomer::zoom( const QRectF &rect )
-{
-    if ( d_data->maxStackDepth >= 0 &&
-            int( d_data->zoomRectIndex ) >= d_data->maxStackDepth )
-    {
-        return;
-    }
-
-    const QRectF zoomRect = rect.normalized();
-    if ( zoomRect != d_data->zoomStack[d_data->zoomRectIndex] )
-    {
-        for ( uint i = int( d_data->zoomStack.count() ) - 1;
-           i > d_data->zoomRectIndex; i-- )
-        {
-            ( void )d_data->zoomStack.pop();
-        }
-
-        d_data->zoomStack.push( zoomRect );
-        d_data->zoomRectIndex++;
-
-        rescale();
-
-        Q_EMIT zoomed( zoomRect );
-    }
-}
-
-/*!
-  \brief Zoom in or out
-
-  Activate a rectangle on the zoom stack with an offset relative
-  to the current position. Negative values of offset will zoom out,
-  positive zoom in. A value of 0 zooms out to the zoom base.
-
-  \param offset Offset relative to the current position of the zoom stack.
-  \note The zoomed signal is emitted.
-  \sa zoomRectIndex()
-*/
-void QwtPlotZoomer::zoom( int offset )
-{
-    if ( offset == 0 )
-        d_data->zoomRectIndex = 0;
-    else
-    {
-        int newIndex = d_data->zoomRectIndex + offset;
-        newIndex = qMax( 0, newIndex );
-        newIndex = qMin( int( d_data->zoomStack.count() ) - 1, newIndex );
-
-        d_data->zoomRectIndex = uint( newIndex );
-    }
-
-    rescale();
-
-    Q_EMIT zoomed( zoomRect() );
-}
-
-/*!
-  \brief Assign a zoom stack
-
-  In combination with other types of navigation it might be useful to
-  modify to manipulate the complete zoom stack.
-
-  \param zoomStack New zoom stack
-  \param zoomRectIndex Index of the current position of zoom stack.
-                       In case of -1 the current position is at the top
-                       of the stack.
-
-  \note The zoomed signal might be emitted.
-  \sa zoomStack(), zoomRectIndex()
-*/
-void QwtPlotZoomer::setZoomStack(
-    const QStack<QRectF> &zoomStack, int zoomRectIndex )
-{
-    if ( zoomStack.isEmpty() )
-        return;
-
-    if ( d_data->maxStackDepth >= 0 &&
-        int( zoomStack.count() ) > d_data->maxStackDepth )
-    {
-        return;
-    }
-
-    if ( zoomRectIndex < 0 || zoomRectIndex > int( zoomStack.count() ) )
-        zoomRectIndex = zoomStack.count() - 1;
-
-    const bool doRescale = zoomStack[zoomRectIndex] != zoomRect();
-
-    d_data->zoomStack = zoomStack;
-    d_data->zoomRectIndex = uint( zoomRectIndex );
-
-    if ( doRescale )
-    {
-        rescale();
-        Q_EMIT zoomed( zoomRect() );
-    }
-}
-
-/*!
-  Adjust the observed plot to zoomRect()
-
-  \note Initiates QwtPlot::replot()
-*/
-
-void QwtPlotZoomer::rescale()
-{
-    QwtPlot *plt = plot();
-    if ( !plt )
-        return;
-
-    const QRectF &rect = d_data->zoomStack[d_data->zoomRectIndex];
-    if ( rect != scaleRect() )
-    {
-        const bool doReplot = plt->autoReplot();
-        plt->setAutoReplot( false );
-
-        double x1 = rect.left();
-        double x2 = rect.right();
-        if ( !plt->axisScaleDiv( xAxis() ).isIncreasing() )
-            qSwap( x1, x2 );
-
-        plt->setAxisScale( xAxis(), x1, x2 );
-
-        double y1 = rect.top();
-        double y2 = rect.bottom();
-        if ( !plt->axisScaleDiv( yAxis() ).isIncreasing() )
-            qSwap( y1, y2 );
-
-        plt->setAxisScale( yAxis(), y1, y2 );
-
-        plt->setAutoReplot( doReplot );
-
-        plt->replot();
-    }
-}
-
-/*!
-  Reinitialize the axes, and set the zoom base to their scales.
-
-  \param xAxis X axis
-  \param yAxis Y axis
-*/
-
-void QwtPlotZoomer::setAxis( int xAxis, int yAxis )
-{
-    if ( xAxis != QwtPlotPicker::xAxis() || yAxis != QwtPlotPicker::yAxis() )
-    {
-        QwtPlotPicker::setAxis( xAxis, yAxis );
-        setZoomBase( scaleRect() );
-    }
-}
-
-/*!
-   Qt::MidButton zooms out one position on the zoom stack,
-   Qt::RightButton to the zoom base.
-
-   Changes the current position on the stack, but doesn't pop
-   any rectangle.
-
-   \note The mouse events can be changed, using
-         QwtEventPattern::setMousePattern: 2, 1
-*/
-void QwtPlotZoomer::widgetMouseReleaseEvent( QMouseEvent *me )
-{
-    if ( mouseMatch( MouseSelect2, me ) )
-        zoom( 0 );
-    else if ( mouseMatch( MouseSelect3, me ) )
-        zoom( -1 );
-    else if ( mouseMatch( MouseSelect6, me ) )
-        zoom( +1 );
-    else
-        QwtPlotPicker::widgetMouseReleaseEvent( me );
-}
-
-/*!
-   Qt::Key_Plus zooms in, Qt::Key_Minus zooms out one position on the
-   zoom stack, Qt::Key_Escape zooms out to the zoom base.
-
-   Changes the current position on the stack, but doesn't pop
-   any rectangle.
-
-   \note The keys codes can be changed, using
-         QwtEventPattern::setKeyPattern: 3, 4, 5
-*/
-
-void QwtPlotZoomer::widgetKeyPressEvent( QKeyEvent *ke )
-{
-    if ( !isActive() )
-    {
-        if ( keyMatch( KeyUndo, ke ) )
-            zoom( -1 );
-        else if ( keyMatch( KeyRedo, ke ) )
-            zoom( +1 );
-        else if ( keyMatch( KeyHome, ke ) )
-            zoom( 0 );
-    }
-
-    QwtPlotPicker::widgetKeyPressEvent( ke );
-}
-
-/*!
-  Move the current zoom rectangle.
-
-  \param dx X offset
-  \param dy Y offset
-
-  \note The changed rectangle is limited by the zoom base
-*/
-void QwtPlotZoomer::moveBy( double dx, double dy )
-{
-    const QRectF &rect = d_data->zoomStack[d_data->zoomRectIndex];
-    moveTo( QPointF( rect.left() + dx, rect.top() + dy ) );
-}
-
-/*!
-  Move the the current zoom rectangle.
-
-  \param pos New position
-
-  \sa QRectF::moveTo()
-  \note The changed rectangle is limited by the zoom base
-*/
-void QwtPlotZoomer::moveTo( const QPointF &pos )
-{
-    double x = pos.x();
-    double y = pos.y();
-
-    if ( x < zoomBase().left() )
-        x = zoomBase().left();
-    if ( x > zoomBase().right() - zoomRect().width() )
-        x = zoomBase().right() - zoomRect().width();
-
-    if ( y < zoomBase().top() )
-        y = zoomBase().top();
-    if ( y > zoomBase().bottom() - zoomRect().height() )
-        y = zoomBase().bottom() - zoomRect().height();
-
-    if ( x != zoomRect().left() || y != zoomRect().top() )
-    {
-        d_data->zoomStack[d_data->zoomRectIndex].moveTo( x, y );
-        rescale();
-    }
-}
-
-/*!
-  \brief Check and correct a selected rectangle
-
-  Reject rectangles with a height or width < 2, otherwise
-  expand the selected rectangle to a minimum size of 11x11
-  and accept it.
-
-  \return true If the rectangle is accepted, or has been changed
-          to an accepted one.
-*/
-
-bool QwtPlotZoomer::accept( QPolygon &pa ) const
-{
-    if ( pa.count() < 2 )
-        return false;
-
-    QRect rect = QRect( pa[0], pa[int( pa.count() ) - 1] );
-    rect = rect.normalized();
-
-    const int minSize = 2;
-    if ( rect.width() < minSize && rect.height() < minSize )
-        return false;
-
-    const int minZoomSize = 11;
-
-    const QPoint center = rect.center();
-    rect.setSize( rect.size().expandedTo( QSize( minZoomSize, minZoomSize ) ) );
-    rect.moveCenter( center );
-
-    pa.resize( 2 );
-    pa[0] = rect.topLeft();
-    pa[1] = rect.bottomRight();
-
-    return true;
-}
-
-/*!
-  \brief Limit zooming by a minimum rectangle
-
-  \return zoomBase().width() / 10e4, zoomBase().height() / 10e4
-*/
-QSizeF QwtPlotZoomer::minZoomSize() const
-{
-    return QSizeF( d_data->zoomStack[0].width() / 10e4,
-        d_data->zoomStack[0].height() / 10e4 );
-}
-
-/*!
-  Rejects selections, when the stack depth is too deep, or
-  the zoomed rectangle is minZoomSize().
-
-  \sa minZoomSize(), maxStackDepth()
-*/
-void QwtPlotZoomer::begin()
-{
-    if ( d_data->maxStackDepth >= 0 )
-    {
-        if ( d_data->zoomRectIndex >= uint( d_data->maxStackDepth ) )
-            return;
-    }
-
-    const QSizeF minSize = minZoomSize();
-    if ( minSize.isValid() )
-    {
-        const QSizeF sz =
-            d_data->zoomStack[d_data->zoomRectIndex].size() * 0.9999;
-
-        if ( minSize.width() >= sz.width() &&
-            minSize.height() >= sz.height() )
-        {
-            return;
-        }
-    }
-
-    QwtPlotPicker::begin();
-}
-
-/*!
-  Expand the selected rectangle to minZoomSize() and zoom in
-  if accepted.
-
-  \param ok If true, complete the selection and emit selected signals
-            otherwise discard the selection.
-
-  \sa accept(), minZoomSize()
-  \return True if the selection has been accepted, false otherwise
-*/
-bool QwtPlotZoomer::end( bool ok )
-{
-    ok = QwtPlotPicker::end( ok );
-    if ( !ok )
-        return false;
-
-    QwtPlot *plot = QwtPlotZoomer::plot();
-    if ( !plot )
-        return false;
-
-    const QPolygon &pa = selection();
-    if ( pa.count() < 2 )
-        return false;
-
-    QRect rect = QRect( pa[0], pa[int( pa.count() - 1 )] );
-    rect = rect.normalized();
-
-    QRectF zoomRect = invTransform( rect ).normalized();
-
-    const QSizeF minSize = minZoomSize();
-    if ( minSize.isValid() )
-    {
-        const QPointF center = zoomRect.center();
-        zoomRect.setSize( zoomRect.size().expandedTo( minZoomSize() ) );
-        zoomRect.moveCenter( center );
-    }
-
-    zoom( zoomRect );
-
-    return true;
-}
diff --git a/SRC/Qwt/src/qwt_plot_zoomer.h b/SRC/Qwt/src/qwt_plot_zoomer.h
deleted file mode 100644
index eaec2f3..0000000
--- a/SRC/Qwt/src/qwt_plot_zoomer.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_PLOT_ZOOMER_H
-#define QWT_PLOT_ZOOMER_H
-
-#include "qwt_global.h"
-#include "qwt_plot_picker.h"
-#include <qstack.h>
-
-/*!
-  \brief QwtPlotZoomer provides stacked zooming for a plot widget
-
-  QwtPlotZoomer selects rectangles from user inputs ( mouse or keyboard )
-  translates them into plot coordinates and adjusts the axes to them.
-  The selection is supported by a rubber band and optionally by displaying
-  the coordinates of the current mouse position.
-
-  Zooming can be repeated as often as possible, limited only by 
-  maxStackDepth() or minZoomSize().  Each rectangle is pushed on a stack.
-
-  The default setting how to select rectangles is 
-  a QwtPickerDragRectMachine with the following bindings:
-
-  - QwtEventPattern::MouseSelect1\n
-    The first point of the zoom rectangle is selected by a mouse press, 
-    the second point from the position, where the mouse is released.
-
-  - QwtEventPattern::KeySelect1\n
-    The first key press selects the first, the second key press
-    selects the second point.
-
-  - QwtEventPattern::KeyAbort\n
-    Discard the selection in the state, where the first point
-    is selected.
-
-  To traverse the zoom stack the following bindings are used:
-
-  - QwtEventPattern::MouseSelect3, QwtEventPattern::KeyUndo\n
-    Zoom out one position on the zoom stack
-    
-  - QwtEventPattern::MouseSelect6, QwtEventPattern::KeyRedo\n
-    Zoom in one position on the zoom stack
-
-  - QwtEventPattern::MouseSelect2, QwtEventPattern::KeyHome\n
-    Zoom to the zoom base
-
-  The setKeyPattern() and setMousePattern() functions can be used
-  to configure the zoomer actions. The following example 
-  shows, how to configure the 'I' and 'O' keys for zooming in and out 
-  one position on the zoom stack. The "Home" key is used to 
-  "unzoom" the plot.
-
-  \code
-   zoomer = new QwtPlotZoomer( plot );
-   zoomer->setKeyPattern( QwtEventPattern::KeyRedo, Qt::Key_I, Qt::ShiftModifier );
-   zoomer->setKeyPattern( QwtEventPattern::KeyUndo, Qt::Key_O, Qt::ShiftModifier );
-   zoomer->setKeyPattern( QwtEventPattern::KeyHome, Qt::Key_Home );
-  \endcode
-
-  QwtPlotZoomer is tailored for plots with one x and y axis, but it is
-  allowed to attach a second QwtPlotZoomer ( without rubber band and tracker )
-  for the other axes.
-
-  \note The realtime example includes an derived zoomer class that adds
-        scrollbars to the plot canvas.
-
-  \sa QwtPlotPanner, QwtPlotMagnifier
-*/
-
-class QWT_EXPORT QwtPlotZoomer: public QwtPlotPicker
-{
-    Q_OBJECT
-public:
-    explicit QwtPlotZoomer( QWidget *, bool doReplot = true );
-    explicit QwtPlotZoomer( int xAxis, int yAxis,
-                            QWidget *, bool doReplot = true );
-
-    virtual ~QwtPlotZoomer();
-
-    virtual void setZoomBase( bool doReplot = true );
-    virtual void setZoomBase( const QRectF & );
-
-    QRectF zoomBase() const;
-    QRectF zoomRect() const;
-
-    virtual void setAxis( int xAxis, int yAxis );
-
-    void setMaxStackDepth( int );
-    int maxStackDepth() const;
-
-    const QStack<QRectF> &zoomStack() const;
-    void setZoomStack( const QStack<QRectF> &,
-        int zoomRectIndex = -1 );
-
-    uint zoomRectIndex() const;
-
-public Q_SLOTS:
-    void moveBy( double x, double y );
-    virtual void moveTo( const QPointF & );
-
-    virtual void zoom( const QRectF & );
-    virtual void zoom( int up );
-
-Q_SIGNALS:
-    /*!
-      A signal emitting the zoomRect(), when the plot has been
-      zoomed in or out.
-
-      \param rect Current zoom rectangle.
-    */
-
-    void zoomed( const QRectF &rect );
-
-protected:
-    virtual void rescale();
-
-    virtual QSizeF minZoomSize() const;
-
-    virtual void widgetMouseReleaseEvent( QMouseEvent * );
-    virtual void widgetKeyPressEvent( QKeyEvent * );
-
-    virtual void begin();
-    virtual bool end( bool ok = true );
-    virtual bool accept( QPolygon & ) const;
-
-private:
-    void init( bool doReplot );
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_point_3d.cpp b/SRC/Qwt/src/qwt_point_3d.cpp
deleted file mode 100644
index ff10b71..0000000
--- a/SRC/Qwt/src/qwt_point_3d.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_point_3d.h"
-
-#ifndef QT_NO_DEBUG_STREAM
-
-QDebug operator<<( QDebug debug, const QwtPoint3D &point )
-{
-    debug.nospace() << "QwtPoint3D(" << point.x() 
-        << "," << point.y() << "," << point.z() << ")";
-    return debug.space();
-}
-
-#endif
-
diff --git a/SRC/Qwt/src/qwt_point_3d.h b/SRC/Qwt/src/qwt_point_3d.h
deleted file mode 100644
index 3aea74f..0000000
--- a/SRC/Qwt/src/qwt_point_3d.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-/*! \file */
-#ifndef QWT_POINT_3D_H
-#define QWT_POINT_3D_H 1
-
-#include "qwt_global.h"
-#include <qpoint.h>
-#ifndef QT_NO_DEBUG_STREAM
-#include <qdebug.h>
-#endif
-
-/*!
-  \brief QwtPoint3D class defines a 3D point in double coordinates
-*/
-
-class QWT_EXPORT QwtPoint3D
-{
-public:
-    QwtPoint3D();
-    QwtPoint3D( double x, double y, double z );
-    QwtPoint3D( const QwtPoint3D & );
-    QwtPoint3D( const QPointF & );
-
-    bool isNull()    const;
-
-    double x() const;
-    double y() const;
-    double z() const;
-
-    double &rx();
-    double &ry();
-    double &rz();
-
-    void setX( double x );
-    void setY( double y );
-    void setZ( double y );
-
-    QPointF toPoint() const;
-
-    bool operator==( const QwtPoint3D & ) const;
-    bool operator!=( const QwtPoint3D & ) const;
-
-private:
-    double d_x;
-    double d_y;
-    double d_z;
-};
-
-Q_DECLARE_TYPEINFO(QwtPoint3D, Q_MOVABLE_TYPE);
-
-#ifndef QT_NO_DEBUG_STREAM
-QWT_EXPORT QDebug operator<<( QDebug, const QwtPoint3D & );
-#endif
-
-/*!
-    Constructs a null point.
-    \sa isNull()
-*/
-inline QwtPoint3D::QwtPoint3D():
-    d_x( 0.0 ),
-    d_y( 0.0 ),
-    d_z( 0.0 )
-{
-}
-
-//! Constructs a point with coordinates specified by x, y and z.
-inline QwtPoint3D::QwtPoint3D( double x, double y, double z = 0.0 ):
-    d_x( x ),
-    d_y( y ),
-    d_z( z )
-{
-}
-
-/*!
-    Copy constructor.
-    Constructs a point using the values of the point specified.
-*/
-inline QwtPoint3D::QwtPoint3D( const QwtPoint3D &other ):
-    d_x( other.d_x ),
-    d_y( other.d_y ),
-    d_z( other.d_z )
-{
-}
-
-/*!
-    Constructs a point with x and y coordinates from a 2D point,
-    and a z coordinate of 0.
-*/
-inline QwtPoint3D::QwtPoint3D( const QPointF &other ):
-    d_x( other.x() ),
-    d_y( other.y() ),
-    d_z( 0.0 )
-{
-}
-
-/*!
-    \return True if the point is null; otherwise returns false.
-
-    A point is considered to be null if x, y and z-coordinates
-    are equal to zero.
-*/
-inline bool QwtPoint3D::isNull() const
-{
-    return d_x == 0.0 && d_y == 0.0 && d_z == 0.0;
-}
-
-//! \return The x-coordinate of the point.
-inline double QwtPoint3D::x() const
-{
-    return d_x;
-}
-
-//! \return The y-coordinate of the point.
-inline double QwtPoint3D::y() const
-{
-    return d_y;
-}
-
-//! \return The z-coordinate of the point.
-inline double QwtPoint3D::z() const
-{
-    return d_z;
-}
-
-//! \return A reference to the x-coordinate of the point.
-inline double &QwtPoint3D::rx()
-{
-    return d_x;
-}
-
-//! \return A reference to the y-coordinate of the point.
-inline double &QwtPoint3D::ry()
-{
-    return d_y;
-}
-
-//! \return A reference to the z-coordinate of the point.
-inline double &QwtPoint3D::rz()
-{
-    return d_z;
-}
-
-//! Sets the x-coordinate of the point to the value specified by x.
-inline void QwtPoint3D::setX( double x )
-{
-    d_x = x;
-}
-
-//! Sets the y-coordinate of the point to the value specified by y.
-inline void QwtPoint3D::setY( double y )
-{
-    d_y = y;
-}
-
-//! Sets the z-coordinate of the point to the value specified by z.
-inline void QwtPoint3D::setZ( double z )
-{
-    d_z = z;
-}
-
-/*!
-   \return 2D point, where the z coordinate is dropped.
-*/
-inline QPointF QwtPoint3D::toPoint() const
-{
-    return QPointF( d_x, d_y );
-}
-
-//! \return True, if this point and other are equal; otherwise returns false.
-inline bool QwtPoint3D::operator==( const QwtPoint3D &other ) const
-{
-    return ( d_x == other.d_x ) && ( d_y == other.d_y ) && ( d_z == other.d_z );
-}
-
-//! \return True if this rect and other are different; otherwise returns false.
-inline bool QwtPoint3D::operator!=( const QwtPoint3D &other ) const
-{
-    return !operator==( other );
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_point_data.cpp b/SRC/Qwt/src/qwt_point_data.cpp
deleted file mode 100644
index 96283c4..0000000
--- a/SRC/Qwt/src/qwt_point_data.cpp
+++ /dev/null
@@ -1,304 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_point_data.h"
-#include "qwt_math.h"
-#include <string.h>
-
-/*!
-  Constructor
-
-  \param x Array of x values
-  \param y Array of y values
-
-  \sa QwtPlotCurve::setData(), QwtPlotCurve::setSamples()
-*/
-QwtPointArrayData::QwtPointArrayData(
-        const QVector<double> &x, const QVector<double> &y ):
-    d_x( x ),
-    d_y( y )
-{
-}
-
-/*!
-  Constructor
-
-  \param x Array of x values
-  \param y Array of y values
-  \param size Size of the x and y arrays
-  \sa QwtPlotCurve::setData(), QwtPlotCurve::setSamples()
-*/
-QwtPointArrayData::QwtPointArrayData( const double *x,
-        const double *y, size_t size )
-{
-    d_x.resize( size );
-    ::memcpy( d_x.data(), x, size * sizeof( double ) );
-
-    d_y.resize( size );
-    ::memcpy( d_y.data(), y, size * sizeof( double ) );
-}
-
-/*!
-  \brief Calculate the bounding rectangle
-
-  The bounding rectangle is calculated once by iterating over all
-  points and is stored for all following requests.
-
-  \return Bounding rectangle
-*/
-QRectF QwtPointArrayData::boundingRect() const
-{
-    if ( d_boundingRect.width() < 0 )
-        d_boundingRect = qwtBoundingRect( *this );
-
-    return d_boundingRect;
-}
-
-//! \return Size of the data set
-size_t QwtPointArrayData::size() const
-{
-    return qMin( d_x.size(), d_y.size() );
-}
-
-/*!
-  Return the sample at position i
-
-  \param index Index
-  \return Sample at position i
-*/
-QPointF QwtPointArrayData::sample( size_t index ) const
-{
-    return QPointF( d_x[int( index )], d_y[int( index )] );
-}
-
-//! \return Array of the x-values
-const QVector<double> &QwtPointArrayData::xData() const
-{
-    return d_x;
-}
-
-//! \return Array of the y-values
-const QVector<double> &QwtPointArrayData::yData() const
-{
-    return d_y;
-}
-
-/*!
-  Constructor
-
-  \param x Array of x values
-  \param y Array of y values
-  \param size Size of the x and y arrays
-
-  \warning The programmer must assure that the memory blocks referenced
-           by the pointers remain valid during the lifetime of the
-           QwtPlotCPointer object.
-
-  \sa QwtPlotCurve::setData(), QwtPlotCurve::setRawSamples()
-*/
-QwtCPointerData::QwtCPointerData(
-        const double *x, const double *y, size_t size ):
-    d_x( x ),
-    d_y( y ),
-    d_size( size )
-{
-}
-
-/*!
-  \brief Calculate the bounding rectangle
-
-  The bounding rectangle is calculated once by iterating over all
-  points and is stored for all following requests.
-
-  \return Bounding rectangle
-*/
-QRectF QwtCPointerData::boundingRect() const
-{
-    if ( d_boundingRect.width() < 0 )
-        d_boundingRect = qwtBoundingRect( *this );
-
-    return d_boundingRect;
-}
-
-//! \return Size of the data set
-size_t QwtCPointerData::size() const
-{
-    return d_size;
-}
-
-/*!
-  Return the sample at position i
-
-  \param index Index
-  \return Sample at position i
-*/
-QPointF QwtCPointerData::sample( size_t index ) const
-{
-    return QPointF( d_x[int( index )], d_y[int( index )] );
-}
-
-//! \return Array of the x-values
-const double *QwtCPointerData::xData() const
-{
-    return d_x;
-}
-
-//! \return Array of the y-values
-const double *QwtCPointerData::yData() const
-{
-    return d_y;
-}
-
-/*!
-   Constructor
-
-   \param size Number of points
-   \param interval Bounding interval for the points
-
-   \sa setInterval(), setSize()
-*/
-QwtSyntheticPointData::QwtSyntheticPointData(
-        size_t size, const QwtInterval &interval ):
-    d_size( size ),
-    d_interval( interval )
-{
-}
-
-/*!
-  Change the number of points
-
-  \param size Number of points
-  \sa size(), setInterval()
-*/
-void QwtSyntheticPointData::setSize( size_t size )
-{
-    d_size = size;
-}
-
-/*!
-  \return Number of points
-  \sa setSize(), interval()
-*/
-size_t QwtSyntheticPointData::size() const
-{
-    return d_size;
-}
-
-/*!
-   Set the bounding interval
-
-   \param interval Interval
-   \sa interval(), setSize()
-*/
-void QwtSyntheticPointData::setInterval( const QwtInterval &interval )
-{
-    d_interval = interval.normalized();
-}
-
-/*!
-   \return Bounding interval
-   \sa setInterval(), size()
-*/
-QwtInterval QwtSyntheticPointData::interval() const
-{
-    return d_interval;
-}
-
-/*!
-   Set a the "rectangle of interest"
-
-   QwtPlotSeriesItem defines the current area of the plot canvas
-   as "rect of interest" ( QwtPlotSeriesItem::updateScaleDiv() ).
-
-   If interval().isValid() == false the x values are calculated
-   in the interval rect.left() -> rect.right().
-
-   \sa rectOfInterest()
-*/
-void QwtSyntheticPointData::setRectOfInterest( const QRectF &rect )
-{
-    d_rectOfInterest = rect;
-    d_intervalOfInterest = QwtInterval(
-        rect.left(), rect.right() ).normalized();
-}
-
-/*!
-   \return "rectangle of interest"
-   \sa setRectOfInterest()
-*/
-QRectF QwtSyntheticPointData::rectOfInterest() const
-{
-    return d_rectOfInterest;
-}
-
-/*!
-  \brief Calculate the bounding rectangle
-
-  This implementation iterates over all points, what could often
-  be implemented much faster using the characteristics of the series.
-  When there are many points it is recommended to overload and
-  reimplement this method using the characteristics of the series
-  ( if possible ).
-
-  \return Bounding rectangle
-*/
-QRectF QwtSyntheticPointData::boundingRect() const
-{
-    if ( d_size == 0 ||
-        !( d_interval.isValid() || d_intervalOfInterest.isValid() ) )
-    {
-        return QRectF( 1.0, 1.0, -2.0, -2.0 ); // something invalid
-    }
-
-    return qwtBoundingRect( *this );
-}
-
-/*!
-   Calculate the point from an index
-
-   \param index Index
-   \return QPointF(x(index), y(x(index)));
-
-   \warning For invalid indices ( index < 0 || index >= size() )
-            (0, 0) is returned.
-*/
-QPointF QwtSyntheticPointData::sample( size_t index ) const
-{
-    if ( index >= d_size )
-        return QPointF( 0, 0 );
-
-    const double xValue = x( index );
-    const double yValue = y( xValue );
-
-    return QPointF( xValue, yValue );
-}
-
-/*!
-   Calculate a x-value from an index
-
-   x values are calculated by dividing an interval into
-   equidistant steps. If !interval().isValid() the
-   interval is calculated from the "rectangle of interest".
-
-   \param index Index of the requested point 
-   \return Calculated x coordinate
-
-   \sa interval(), rectOfInterest(), y()
-*/
-double QwtSyntheticPointData::x( uint index ) const
-{
-    const QwtInterval &interval = d_interval.isValid() ?
-        d_interval : d_intervalOfInterest;
-
-    if ( !interval.isValid() || d_size == 0 || index >= d_size )
-        return 0.0;
-
-    const double dx = interval.width() / d_size;
-    return interval.minValue() + index * dx;
-}
diff --git a/SRC/Qwt/src/qwt_point_data.h b/SRC/Qwt/src/qwt_point_data.h
deleted file mode 100644
index f9be472..0000000
--- a/SRC/Qwt/src/qwt_point_data.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_POINT_DATA_H
-#define QWT_POINT_DATA_H 1
-
-#include "qwt_global.h"
-#include "qwt_series_data.h"
-
-/*!
-  \brief Interface for iterating over two QVector<double> objects.
-*/
-class QWT_EXPORT QwtPointArrayData: public QwtSeriesData<QPointF>
-{
-public:
-    QwtPointArrayData( const QVector<double> &x, const QVector<double> &y );
-    QwtPointArrayData( const double *x, const double *y, size_t size );
-
-    virtual QRectF boundingRect() const;
-
-    virtual size_t size() const;
-    virtual QPointF sample( size_t i ) const;
-
-    const QVector<double> &xData() const;
-    const QVector<double> &yData() const;
-
-private:
-    QVector<double> d_x;
-    QVector<double> d_y;
-};
-
-/*!
-  \brief Data class containing two pointers to memory blocks of doubles.
- */
-class QWT_EXPORT QwtCPointerData: public QwtSeriesData<QPointF>
-{
-public:
-    QwtCPointerData( const double *x, const double *y, size_t size );
-
-    virtual QRectF boundingRect() const;
-    virtual size_t size() const;
-    virtual QPointF sample( size_t i ) const;
-
-    const double *xData() const;
-    const double *yData() const;
-
-private:
-    const double *d_x;
-    const double *d_y;
-    size_t d_size;
-};
-
-/*!
-  \brief Synthetic point data
-
-  QwtSyntheticPointData provides a fixed number of points for an interval.
-  The points are calculated in equidistant steps in x-direction.
-
-  If the interval is invalid, the points are calculated for
-  the "rectangle of interest", what normally is the displayed area on the
-  plot canvas. In this mode you get different levels of detail, when
-  zooming in/out.
-
-  \par Example
-
-  The following example shows how to implement a sinus curve.
-
-  \code
-#include <cmath>
-#include <qwt_series_data.h>
-#include <qwt_plot_curve.h>
-#include <qwt_plot.h>
-#include <qapplication.h>
-
-class SinusData: public QwtSyntheticPointData
-{
-public:
-    SinusData():
-        QwtSyntheticPointData( 100 )
-    {
-    }
-
-    virtual double y( double x ) const
-    {
-        return qSin( x );
-    }
-};
-
-int main(int argc, char **argv)
-{
-    QApplication a( argc, argv );
-
-    QwtPlot plot;
-    plot.setAxisScale( QwtPlot::xBottom, 0.0, 10.0 );
-    plot.setAxisScale( QwtPlot::yLeft, -1.0, 1.0 );
-
-    QwtPlotCurve *curve = new QwtPlotCurve( "y = sin(x)" );
-    curve->setData( new SinusData() );
-    curve->attach( &plot );
-
-    plot.show();
-    return a.exec();
-}
-   \endcode
-*/
-class QWT_EXPORT QwtSyntheticPointData: public QwtSeriesData<QPointF>
-{
-public:
-    QwtSyntheticPointData( size_t size,
-        const QwtInterval & = QwtInterval() );
-
-    void setSize( size_t size );
-    virtual size_t size() const;
-
-    void setInterval( const QwtInterval& );
-    QwtInterval interval() const;
-
-    virtual QRectF boundingRect() const;
-    virtual QPointF sample( size_t i ) const;
-
-    /*!
-       Calculate a y value for a x value
-
-       \param x x value
-       \return Corresponding y value
-     */
-    virtual double y( double x ) const = 0;
-    virtual double x( uint index ) const;
-
-    virtual void setRectOfInterest( const QRectF & );
-    QRectF rectOfInterest() const;
-
-private:
-    size_t d_size;
-    QwtInterval d_interval;
-    QRectF d_rectOfInterest;
-    QwtInterval d_intervalOfInterest;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_point_mapper.cpp b/SRC/Qwt/src/qwt_point_mapper.cpp
deleted file mode 100644
index c3fe717..0000000
--- a/SRC/Qwt/src/qwt_point_mapper.cpp
+++ /dev/null
@@ -1,721 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_point_mapper.h"
-#include "qwt_scale_map.h"
-#include "qwt_pixel_matrix.h"
-#include <qpolygon.h>
-#include <qimage.h>
-#include <qpen.h>
-#include <qpainter.h>
-
-#if QT_VERSION >= 0x040400
-
-#include <qthread.h>
-#include <qfuture.h>
-#include <qtconcurrentrun.h>
-
-#if !defined(QT_NO_QFUTURE)
-#define QWT_USE_THREADS 0
-#endif
-
-#endif
-
-static QRectF qwtInvalidRect( 0.0, 0.0, -1.0, -1.0 );
-
-// Helper class to work around the 5 parameters
-// limitation of QtConcurrent::run()
-class QwtDotsCommand
-{
-public:
-    const QwtSeriesData<QPointF> *series;
-    int from;
-    int to;
-    QRgb rgb;
-};
-
-static void qwtRenderDots(
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtDotsCommand command, const QPoint &pos, QImage *image ) 
-{
-    const QRgb rgb = command.rgb;
-    QRgb *bits = reinterpret_cast<QRgb *>( image->bits() );
-
-    const int w = image->width();
-    const int h = image->height();
-
-    const int x0 = pos.x();
-    const int y0 = pos.y();
-
-    for ( int i = command.from; i <= command.to; i++ )
-    {
-        const QPointF sample = command.series->sample( i );
-
-        const int x = static_cast<int>( xMap.transform( sample.x() ) + 0.5 ) - x0;
-        const int y = static_cast<int>( yMap.transform( sample.y() ) + 0.5 ) - y0;
-
-        if ( x >= 0 && x < w && y >= 0 && y < h )
-            bits[ y * w + x ] = rgb;
-    }
-}
-
-static inline int qwtRoundValue( double value )
-{
-#if 1
-    return qRound( value );
-#else
-    // A little bit faster, but differs from qRound()
-    // for negative values. Should be no problem as we are
-    // rounding widgets coordinates, where negative values 
-    // are clipped off anyway ( at least when there is no 
-    // painter transformation )
-
-    return static_cast<int>( value + 0.5 );
-#endif
-}
-
-// some functors, so that the compile can inline
-struct QwtRoundI
-{
-    inline int operator()( double value )
-    {
-        return qwtRoundValue( value );
-    }
-};
-
-struct QwtRoundF
-{
-    inline double operator()( double value )
-    {
-        return static_cast<double>( qwtRoundValue( value ) );
-    }
-};
-
-struct QwtNoRoundF
-{   
-    inline double operator()( double value )
-    {
-        return value;
-    }
-};
-
-// mapping points without any filtering - beside checking
-// the bounding rectangle
-
-template<class Polygon, class Point, class Round>
-static inline Polygon qwtToPoints( 
-    const QRectF &boundingRect,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series, 
-    int from, int to, Round round )
-{
-    Polygon polyline( to - from + 1 );
-    Point *points = polyline.data();
-
-    int numPoints = 0;
-
-    if ( boundingRect.isValid() )
-    {
-        // iterating over all values
-        // filtering out all points outside of
-        // the bounding rectangle
-
-        for ( int i = from; i <= to; i++ )
-        {
-            const QPointF sample = series->sample( i );
-
-            const double x = xMap.transform( sample.x() );
-            const double y = yMap.transform( sample.y() );
-
-            if ( boundingRect.contains( x, y ) )
-            {
-                points[ numPoints ].rx() = round( x );
-                points[ numPoints ].ry() = round( y );
-
-                numPoints++;
-            }
-        }
-
-        polyline.resize( numPoints );
-    }
-    else
-    {
-        // simply iterating over all values
-        // without any filtering
-
-        for ( int i = from; i <= to; i++ )
-        {
-            const QPointF sample = series->sample( i );
-
-            const double x = xMap.transform( sample.x() );
-            const double y = yMap.transform( sample.y() );
-
-            points[ numPoints ].rx() = round( x );
-            points[ numPoints ].ry() = round( y );
-
-            numPoints++;
-        }
-    }
-
-    return polyline;
-}
-
-static inline QPolygon qwtToPointsI(
-    const QRectF &boundingRect,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series,
-    int from, int to )
-{
-    return qwtToPoints<QPolygon, QPoint>( 
-        boundingRect, xMap, yMap, series, from, to, QwtRoundI() );
-}
-
-template<class Round>
-static inline QPolygonF qwtToPointsF(
-    const QRectF &boundingRect,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series,
-    int from, int to, Round round )
-{
-    return qwtToPoints<QPolygonF, QPointF>( 
-        boundingRect, xMap, yMap, series, from, to, round );
-}
-
-// Mapping points with filtering out consecutive
-// points mapped to the same position
-
-template<class Polygon, class Point, class Round>
-static inline Polygon qwtToPolylineFiltered( 
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series, 
-    int from, int to, Round round )
-{
-    // in curves with many points consecutive points
-    // are often mapped to the same position. As this might
-    // result in empty lines ( or symbols hidden by others )
-    // we try to filter them out
-
-    Polygon polyline( to - from + 1 );
-    Point *points = polyline.data();
-
-    const QPointF sample0 = series->sample( from );
-
-    points[0].rx() = round( xMap.transform( sample0.x() ) );
-    points[0].ry() = round( yMap.transform( sample0.y() ) );
-
-    int pos = 0;
-    for ( int i = from + 1; i <= to; i++ )
-    {
-        const QPointF sample = series->sample( i );
-
-        const Point p( round( xMap.transform( sample.x() ) ),
-            round( yMap.transform( sample.y() ) ) );
-
-        if ( points[pos] != p )
-            points[++pos] = p;
-    }
-
-    polyline.resize( pos + 1 );
-    return polyline;
-}
-
-static inline QPolygon qwtToPolylineFilteredI(
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series,
-    int from, int to )
-{
-    return qwtToPolylineFiltered<QPolygon, QPoint>(
-        xMap, yMap, series, from, to, QwtRoundI() );
-}
-
-template<class Round>
-static inline QPolygonF qwtToPolylineFilteredF(
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series,
-    int from, int to, Round round )
-{
-    return qwtToPolylineFiltered<QPolygonF, QPointF>(
-        xMap, yMap, series, from, to, round );
-} 
-
-template<class Polygon, class Point>
-static inline Polygon qwtToPointsFiltered(
-    const QRectF &boundingRect,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series, int from, int to )
-{
-    // F.e. in scatter plots ( no connecting lines ) we
-    // can sort out all duplicates ( not only consecutive points )
-
-    Polygon polygon( to - from + 1 );
-    Point *points = polygon.data();
-
-    QwtPixelMatrix pixelMatrix( boundingRect.toAlignedRect() );
-
-    int numPoints = 0;
-    for ( int i = from; i <= to; i++ )
-    {
-        const QPointF sample = series->sample( i );
-
-        const int x = qwtRoundValue( xMap.transform( sample.x() ) );
-        const int y = qwtRoundValue( yMap.transform( sample.y() ) );
-
-        if ( pixelMatrix.testAndSetPixel( x, y, true ) == false )
-        {
-            points[ numPoints ].rx() = x;
-            points[ numPoints ].ry() = y;
-
-            numPoints++;
-        }
-    }
-
-    polygon.resize( numPoints );
-    return polygon;
-}
-
-static inline QPolygon qwtToPointsFilteredI(
-    const QRectF &boundingRect,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series, int from, int to )
-{
-    return qwtToPointsFiltered<QPolygon, QPoint>(
-        boundingRect, xMap, yMap, series, from, to );
-} 
-
-static inline QPolygonF qwtToPointsFilteredF(
-    const QRectF &boundingRect,
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series, int from, int to )
-{
-    return qwtToPointsFiltered<QPolygonF, QPointF>(
-        boundingRect, xMap, yMap, series, from, to );
-}
-
-class QwtPointMapper::PrivateData
-{
-public:
-    PrivateData():
-        boundingRect( qwtInvalidRect )
-    {
-    }
-
-    QRectF boundingRect;
-    QwtPointMapper::TransformationFlags flags;
-};
-
-//! Constructor
-QwtPointMapper::QwtPointMapper()
-{
-    d_data = new PrivateData();
-}
-
-//! Destructor
-QwtPointMapper::~QwtPointMapper()
-{
-    delete d_data;
-}
-
-/*!
-  Set the flags affecting the transformation process
-
-  \param flags Flags
-  \sa flags(), setFlag()
- */
-void QwtPointMapper::setFlags( TransformationFlags flags )
-{
-    d_data->flags = flags;
-}
-
-/*!
-  \return Flags affecting the transformation process
-  \sa setFlags(), setFlag()
- */
-QwtPointMapper::TransformationFlags QwtPointMapper::flags() const
-{
-    return d_data->flags;
-}
-
-/*!
-  Modify a flag affecting the transformation process
-
-  \param flag Flag type
-  \param on Value
-
-  \sa flag(), setFlags()
- */
-void QwtPointMapper::setFlag( TransformationFlag flag, bool on )
-{
-    if ( on )
-        d_data->flags |= flag;
-    else
-        d_data->flags &= ~flag;
-}
-
-/*!
-  \return True, when the flag is set
-  \param flag Flag type
-  \sa setFlag(), setFlags()
- */
-bool QwtPointMapper::testFlag( TransformationFlag flag ) const
-{
-    return d_data->flags & flag;
-}
-
-/*!
-  Set a bounding rectangle for the point mapping algorithm
-
-  A valid bounding rectangle can be used for optimizations
-
-  \param rect Bounding rectangle
-  \sa boundingRect()
- */
-void QwtPointMapper::setBoundingRect( const QRectF &rect )
-{
-    d_data->boundingRect = rect;
-}
-
-/*!
-  \return Bounding rectangle
-  \sa setBoundingRect()
- */
-QRectF QwtPointMapper::boundingRect() const
-{
-    return d_data->boundingRect;
-}
-
-/*!
-  \brief Translate a series of points into a QPolygonF
-
-  When the WeedOutPoints flag is enabled consecutive points,
-  that are mapped to the same position will be one point. 
-
-  When RoundPoints is set all points are rounded to integers
-  but returned as PolygonF - what only makes sense
-  when the further processing of the values need a QPolygonF.
-
-  \param xMap x map
-  \param yMap y map
-  \param series Series of points to be mapped
-  \param from Index of the first point to be painted
-  \param to Index of the last point to be painted
-
-  \return Translated polygon
-*/
-QPolygonF QwtPointMapper::toPolygonF(
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series, int from, int to ) const
-{
-    QPolygonF polyline;
-
-    if ( d_data->flags & WeedOutPoints )
-    {
-        if ( d_data->flags & RoundPoints )
-        {
-            polyline = qwtToPolylineFilteredF( 
-                xMap, yMap, series, from, to, QwtRoundF() );
-        }
-        else
-        {
-            polyline = qwtToPolylineFilteredF( 
-                xMap, yMap, series, from, to, QwtNoRoundF() );
-        }
-    }
-    else
-    {
-        if ( d_data->flags & RoundPoints )
-        {
-            polyline = qwtToPointsF( qwtInvalidRect, 
-                xMap, yMap, series, from, to, QwtRoundF() );
-        }
-        else
-        {
-            polyline = qwtToPointsF( qwtInvalidRect, 
-                xMap, yMap, series, from, to, QwtNoRoundF() );
-        }
-    }
-
-    return polyline;
-}
-
-/*!
-  \brief Translate a series of points into a QPolygon
-
-  When the WeedOutPoints flag is enabled consecutive points,
-  that are mapped to the same position will be one point. 
-
-  \param xMap x map
-  \param yMap y map
-  \param series Series of points to be mapped
-  \param from Index of the first point to be painted
-  \param to Index of the last point to be painted
-
-  \return Translated polygon
-*/
-QPolygon QwtPointMapper::toPolygon(
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series, int from, int to ) const
-{
-    QPolygon polyline;
-
-    if ( d_data->flags & WeedOutPoints )
-    {
-        polyline = qwtToPolylineFilteredI( 
-            xMap, yMap, series, from, to );
-    }
-    else
-    {
-        polyline = qwtToPointsI( 
-            qwtInvalidRect, xMap, yMap, series, from, to );
-    }
-
-    return polyline;
-}
-
-/*!
-  \brief Translate a series into a QPolygonF
-
-  - WeedOutPoints & RoundPoints & boundingRect().isValid()
-    All points that are mapped to the same position 
-    will be one point. Points outside of the bounding
-    rectangle are ignored.
- 
-  - WeedOutPoints & RoundPoints & !boundingRect().isValid()
-    All consecutive points that are mapped to the same position 
-    will one point
-
-  - WeedOutPoints & !RoundPoints 
-    All consecutive points that are mapped to the same position 
-    will one point
-
-  - !WeedOutPoints & boundingRect().isValid()
-    Points outside of the bounding rectangle are ignored.
-
-  When RoundPoints is set all points are rounded to integers
-  but returned as PolygonF - what only makes sense
-  when the further processing of the values need a QPolygonF.
-
-  \param xMap x map
-  \param yMap y map
-  \param series Series of points to be mapped
-  \param from Index of the first point to be painted
-  \param to Index of the last point to be painted
-
-  \return Translated polygon
-*/
-QPolygonF QwtPointMapper::toPointsF(
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series, int from, int to ) const
-{
-    QPolygonF points;
-
-    if ( d_data->flags & WeedOutPoints )
-    {
-        if ( d_data->flags & RoundPoints )
-        {
-            if ( d_data->boundingRect.isValid() )
-            {   
-                points = qwtToPointsFilteredF( d_data->boundingRect,
-                    xMap, yMap, series, from, to );
-            }
-            else
-            {   
-                // without a bounding rectangle all we can
-                // do is to filter out duplicates of
-                // consecutive points
-
-                points = qwtToPolylineFilteredF( 
-                    xMap, yMap, series, from, to, QwtRoundF() );
-            }
-        }
-        else
-        {
-            // when rounding is not allowed we can't use
-            // qwtToPointsFilteredF
-
-            points = qwtToPolylineFilteredF( 
-                xMap, yMap, series, from, to, QwtNoRoundF() );
-        }
-    }
-    else
-    {
-        if ( d_data->flags & RoundPoints )
-        {
-            points = qwtToPointsF( d_data->boundingRect,
-                xMap, yMap, series, from, to, QwtRoundF() );
-        }
-        else
-        {
-            points = qwtToPointsF( d_data->boundingRect,
-                xMap, yMap, series, from, to, QwtNoRoundF() );
-        }
-    }
-
-    return points;
-}
-
-/*!
-  \brief Translate a series of points into a QPolygon
-
-  - WeedOutPoints & boundingRect().isValid()
-    All points that are mapped to the same position 
-    will be one point. Points outside of the bounding
-    rectangle are ignored.
- 
-  - WeedOutPoints & !boundingRect().isValid()
-    All consecutive points that are mapped to the same position 
-    will one point
-
-  - !WeedOutPoints & boundingRect().isValid()
-    Points outside of the bounding rectangle are ignored.
-
-  \param xMap x map
-  \param yMap y map
-  \param series Series of points to be mapped
-  \param from Index of the first point to be painted
-  \param to Index of the last point to be painted
-
-  \return Translated polygon
-*/
-QPolygon QwtPointMapper::toPoints(
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series, int from, int to ) const
-{
-    QPolygon points;
-
-    if ( d_data->flags & WeedOutPoints )
-    {
-        if ( d_data->boundingRect.isValid() )
-        {
-            points = qwtToPointsFilteredI( d_data->boundingRect,
-                xMap, yMap, series, from, to );
-        }
-        else
-        {
-            // when we don't have the bounding rectangle all
-            // we can do is to filter out consecutive duplicates
-
-            points = qwtToPolylineFilteredI( 
-                xMap, yMap, series, from, to );
-        }
-    }
-    else
-    {
-        points = qwtToPointsI( 
-            d_data->boundingRect, xMap, yMap, series, from, to );
-    }
-
-    return points;
-}
-
-
-/*!
-  \brief Translate a series into a QImage
-
-  \param xMap x map
-  \param yMap y map
-  \param series Series of points to be mapped
-  \param from Index of the first point to be painted
-  \param to Index of the last point to be painted
-  \param pen Pen used for drawing a point
-             of the image, where a point is mapped to
-  \param antialiased True, when the dots should be displayed
-                     antialiased
-  \param numThreads Number of threads to be used for rendering.
-                   If numThreads is set to 0, the system specific
-                   ideal thread count is used.
-
-  \return Image displaying the series
-*/
-QImage QwtPointMapper::toImage(
-    const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-    const QwtSeriesData<QPointF> *series, int from, int to, 
-    const QPen &pen, bool antialiased, uint numThreads ) const
-{
-    Q_UNUSED( antialiased )
-
-#if QWT_USE_THREADS
-    if ( numThreads == 0 )
-        numThreads = QThread::idealThreadCount();
-
-    if ( numThreads <= 0 )
-        numThreads = 1;
-#else
-    Q_UNUSED( numThreads )
-#endif
-
-    // a very special optimization for scatter plots
-    // where every sample is mapped to one pixel only.
-
-    const QRect rect = d_data->boundingRect.toAlignedRect();
-
-    QImage image( rect.size(), QImage::Format_ARGB32 );
-    image.fill( Qt::transparent );
-
-    if ( pen.width() <= 1 && pen.color().alpha() == 255 )
-    {
-        QwtDotsCommand command;
-        command.series = series;
-        command.rgb = pen.color().rgba();
-
-#if QWT_USE_THREADS
-        const int numPoints = ( to - from + 1 ) / numThreads;
-
-        QList< QFuture<void> > futures;
-        for ( uint i = 0; i < numThreads; i++ )
-        {
-            const QPoint pos = rect.topLeft();
-
-            const int index0 = from + i * numPoints;
-            if ( i == numThreads - 1 )
-            {
-                command.from = index0;
-                command.to = to;
-
-                qwtRenderDots( xMap, yMap, command, pos, &image );
-            }
-            else
-            {
-                command.from = index0;
-                command.to = index0 + numPoints - 1;
-
-                futures += QtConcurrent::run( &qwtRenderDots, 
-                    xMap, yMap, command, pos, &image );
-            }
-        }
-        for ( int i = 0; i < futures.size(); i++ )
-            futures[i].waitForFinished();
-#else
-        command.from = from;
-        command.to = to;
-
-        qwtRenderDots( xMap, yMap, command, rect.topLeft(), &image );
-#endif
-    }
-    else
-    {
-        // fallback implementation: to be replaced later by
-        // setting the pixels of the image like above, TODO ...
-
-        QPainter painter( &image );
-        painter.setPen( pen );
-        painter.setRenderHint( QPainter::Antialiasing, antialiased );
-
-        const int chunkSize = 1000;
-        for ( int i = from; i <= to; i += chunkSize )
-        {
-            const int indexTo = qMin( i + chunkSize - 1, to );
-            const QPolygon points = toPoints(
-                xMap, yMap, series, i, indexTo );
-
-            painter.drawPoints( points );
-        }
-    }
-
-    return image;
-}
diff --git a/SRC/Qwt/src/qwt_point_mapper.h b/SRC/Qwt/src/qwt_point_mapper.h
deleted file mode 100644
index f634271..0000000
--- a/SRC/Qwt/src/qwt_point_mapper.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_POINT_MAPPER_H
-#define QWT_POINT_MAPPER_H
-
-#include "qwt_global.h"
-#include "qwt_series_data.h"
-#include <qimage.h>
-
-class QwtScaleMap;
-class QPolygonF;
-class QPolygon;
-
-/*!
-  \brief A helper class for translating a series of points
-
-  QwtPointMapper is a collection of methods and optimizations
-  for translating a series of points into paint device coordinates. 
-  It is used by QwtPlotCurve but might also be useful for 
-  similar plot items displaying a QwtSeriesData<QPointF>.
- */
-class QWT_EXPORT QwtPointMapper
-{
-public:
-    /*!  
-      \brief Flags affecting the transformation process
-      \sa setFlag(), setFlags()
-     */
-    enum TransformationFlag
-    {
-        //! Round points to integer values
-        RoundPoints = 0x01,
-
-        /*! 
-          Try to remove points, that are translated to the
-          same position.
-         */
-        WeedOutPoints = 0x02
-    };
-
-    /*!  
-      \brief Flags affecting the transformation process
-      \sa setFlag(), setFlags()
-     */
-    typedef QFlags<TransformationFlag> TransformationFlags;
-
-    QwtPointMapper();
-    ~QwtPointMapper();
-
-    void setFlags( TransformationFlags );
-    TransformationFlags flags() const;
-
-    void setFlag( TransformationFlag, bool on = true );
-    bool testFlag( TransformationFlag ) const;
-
-    void setBoundingRect( const QRectF & );
-    QRectF boundingRect() const;
-
-    QPolygonF toPolygonF( const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QwtSeriesData<QPointF> *series, int from, int to ) const;
-
-    QPolygon toPolygon( const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QwtSeriesData<QPointF> *series, int from, int to ) const;
-
-    QPolygon toPoints( const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QwtSeriesData<QPointF> *series, int from, int to ) const;
-
-    QPolygonF toPointsF( const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QwtSeriesData<QPointF> *series, int from, int to ) const;
-
-    QImage toImage( const QwtScaleMap &xMap, const QwtScaleMap &yMap,
-        const QwtSeriesData<QPointF> *series, int from, int to, 
-        const QPen &, bool antialiased, uint numThreads ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPointMapper::TransformationFlags )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_point_polar.cpp b/SRC/Qwt/src/qwt_point_polar.cpp
deleted file mode 100644
index a555a73..0000000
--- a/SRC/Qwt/src/qwt_point_polar.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * QwtPolar Widget Library
- * Copyright (C) 2008   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_point_polar.h"
-#include "qwt_math.h"
-
-#if QT_VERSION < 0x040601
-#define qAtan2(y, x) ::atan2(y, x)
-#endif
-
-/*!
-   Convert and assign values from a point in Cartesian coordinates
-
-   \param p Point in Cartesian coordinates
-   \sa setPoint(), toPoint()
-*/
-QwtPointPolar::QwtPointPolar( const QPointF &p )
-{
-    d_radius = qSqrt( qwtSqr( p.x() ) + qwtSqr( p.y() ) );
-    d_azimuth = qAtan2( p.y(), p.x() );
-}
-
-/*!
-   Convert and assign values from a point in Cartesian coordinates
-   \param p Point in Cartesian coordinates
-*/
-void QwtPointPolar::setPoint( const QPointF &p )
-{
-    d_radius = qSqrt( qwtSqr( p.x() ) + qwtSqr( p.y() ) );
-    d_azimuth = qAtan2( p.y(), p.x() );
-}
-
-/*!
-   Convert and return values in Cartesian coordinates
-
-   \return Converted point in Cartesian coordinates
-
-   \note Invalid or null points will be returned as QPointF(0.0, 0.0)
-   \sa isValid(), isNull()
-*/
-QPointF QwtPointPolar::toPoint() const
-{
-    if ( d_radius <= 0.0 )
-        return QPointF( 0.0, 0.0 );
-
-    const double x = d_radius * qCos( d_azimuth );
-    const double y = d_radius * qSin( d_azimuth );
-
-    return QPointF( x, y );
-}
-
-/*!
-    \brief Compare 2 points
-
-    Two points are equal to each other if radius and
-    azimuth-coordinates are the same. Points are not equal, when
-    the azimuth differs, but other.azimuth() == azimuth() % (2 * PI).
-
-    \return True if the point is equal to other; otherwise return false.
-
-    \sa normalized()
-*/
-bool QwtPointPolar::operator==( const QwtPointPolar &other ) const
-{
-    return d_radius == other.d_radius && d_azimuth == other.d_azimuth;
-}
-
-/*!
-    Compare 2 points
-
-    Two points are equal to each other if radius and
-    azimuth-coordinates are the same. Points are not equal, when
-    the azimuth differs, but other.azimuth() == azimuth() % (2 * PI).
-
-    \return True if the point is not equal to other; otherwise return false.
-    \sa normalized()
-*/
-bool QwtPointPolar::operator!=( const QwtPointPolar &other ) const
-{
-    return d_radius != other.d_radius || d_azimuth != other.d_azimuth;
-}
-
-/*!
-   Normalize radius and azimuth
-
-   When the radius is < 0.0 it is set to 0.0. The azimuth is
-   a value >= 0.0 and < 2 * M_PI.
-
-   \return Normalized point
-*/
-QwtPointPolar QwtPointPolar::normalized() const
-{
-    const double radius = qMax( d_radius, 0.0 );
-
-    double azimuth = d_azimuth;
-    if ( azimuth < -2.0 * M_PI || azimuth >= 2 * M_PI )
-        azimuth = ::fmod( d_azimuth, 2 * M_PI );
-
-    if ( azimuth < 0.0 )
-        azimuth += 2 * M_PI;
-
-    return QwtPointPolar( azimuth, radius );
-}
-
-#ifndef QT_NO_DEBUG_STREAM
-
-QDebug operator<<( QDebug debug, const QwtPointPolar &point )
-{
-    debug.nospace() << "QwtPointPolar(" 
-        << point.azimuth() << "," << point.radius() << ")";
-
-    return debug.space();
-}
-
-#endif
-
diff --git a/SRC/Qwt/src/qwt_point_polar.h b/SRC/Qwt/src/qwt_point_polar.h
deleted file mode 100644
index 8a4b450..0000000
--- a/SRC/Qwt/src/qwt_point_polar.h
+++ /dev/null
@@ -1,201 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-/*! \file */
-#ifndef _QWT_POINT_POLAR_H_
-#define _QWT_POINT_POLAR_H_ 1
-
-#include "qwt_global.h"
-#include "qwt_math.h"
-#include <qpoint.h>
-#ifndef QT_NO_DEBUG_STREAM
-#include <qdebug.h>
-#endif
-
-/*!
-  \brief A point in polar coordinates
-
-  In polar coordinates a point is determined by an angle and a distance.
-  See http://en.wikipedia.org/wiki/Polar_coordinate_system
-*/
-
-class QWT_EXPORT QwtPointPolar
-{
-public:
-    QwtPointPolar();
-    QwtPointPolar( double azimuth, double radius );
-    QwtPointPolar( const QwtPointPolar & );
-    QwtPointPolar( const QPointF & );
-
-    void setPoint( const QPointF & );
-    QPointF toPoint() const;
-
-    bool isValid() const;
-    bool isNull() const;
-
-    double radius() const;
-    double azimuth() const;
-
-    double &rRadius();
-    double &rAzimuth();
-
-    void setRadius( double );
-    void setAzimuth( double );
-
-    bool operator==( const QwtPointPolar & ) const;
-    bool operator!=( const QwtPointPolar & ) const;
-
-    QwtPointPolar normalized() const;
-
-private:
-    double d_azimuth;
-    double d_radius;
-};
-
-/*!
-    Constructs a null point, with a radius and azimuth set to 0.0.
-    \sa QPointF::isNull()
-*/
-inline QwtPointPolar::QwtPointPolar():
-    d_azimuth( 0.0 ),
-    d_radius( 0.0 )
-{
-}
-
-/*!
-   Constructs a point with coordinates specified by radius and azimuth.
-
-   \param azimuth Azimuth
-   \param radius Radius
-*/
-inline QwtPointPolar::QwtPointPolar( double azimuth, double radius ):
-    d_azimuth( azimuth ),
-    d_radius( radius )
-{
-}
-
-/*!
-    Constructs a point using the values of the point specified.
-    \param other Other point
-*/
-inline QwtPointPolar::QwtPointPolar( const QwtPointPolar &other ):
-    d_azimuth( other.d_azimuth ),
-    d_radius( other.d_radius )
-{
-}
-
-//! Returns true if radius() >= 0.0
-inline bool QwtPointPolar::isValid() const
-{
-    return d_radius >= 0.0;
-}
-
-//! Returns true if radius() >= 0.0
-inline bool QwtPointPolar::isNull() const
-{
-    return d_radius == 0.0;
-}
-
-//! Returns the radius.
-inline double QwtPointPolar::radius() const
-{
-    return d_radius;
-}
-
-//! Returns the azimuth.
-inline double QwtPointPolar::azimuth() const
-{
-    return d_azimuth;
-}
-
-//! Returns the radius.
-inline double &QwtPointPolar::rRadius()
-{
-    return d_radius;
-}
-
-//! Returns the azimuth.
-inline double &QwtPointPolar::rAzimuth()
-{
-    return d_azimuth;
-}
-
-//! Sets the radius to radius.
-inline void QwtPointPolar::setRadius( double radius )
-{
-    d_radius = radius;
-}
-
-//! Sets the atimuth to atimuth.
-inline void QwtPointPolar::setAzimuth( double azimuth )
-{
-    d_azimuth = azimuth;
-}
-
-#ifndef QT_NO_DEBUG_STREAM
-QWT_EXPORT QDebug operator<<( QDebug, const QwtPointPolar & );
-#endif
-
-inline QPoint qwtPolar2Pos( const QPoint &pole,
-    double radius, double angle )
-{
-    const double x = pole.x() + radius * qCos( angle );
-    const double y = pole.y() - radius * qSin( angle );
-
-    return QPoint( qRound( x ), qRound( y ) );
-}
-
-inline QPoint qwtDegree2Pos( const QPoint &pole,
-    double radius, double angle )
-{
-    return qwtPolar2Pos( pole, radius, angle / 180.0 * M_PI );
-}
-
-inline QPointF qwtPolar2Pos( const QPointF &pole,
-    double radius, double angle )
-{
-    const double x = pole.x() + radius * qCos( angle );
-    const double y = pole.y() - radius * qSin( angle );
-
-    return QPointF( x, y);
-}
-
-inline QPointF qwtDegree2Pos( const QPointF &pole,
-    double radius, double angle )
-{
-    return qwtPolar2Pos( pole, radius, angle / 180.0 * M_PI );
-}
-
-inline QPointF qwtFastPolar2Pos( const QPointF &pole,
-    double radius, double angle )
-{
-#if QT_VERSION < 0x040601
-    const double x = pole.x() + radius * ::cos( angle );
-    const double y = pole.y() - radius * ::sin( angle );
-#else
-    const double x = pole.x() + radius * qFastCos( angle );
-    const double y = pole.y() - radius * qFastSin( angle );
-#endif
-
-    return QPointF( x, y);
-}
-
-inline QPointF qwtFastDegree2Pos( const QPointF &pole,
-    double radius, double angle )
-{   
-    return qwtFastPolar2Pos( pole, radius, angle / 180.0 * M_PI );
-} 
-
-inline QwtPointPolar qwtFastPos2Polar( const QPointF &pos )
-{
-    return QwtPointPolar( qwtFastAtan2( pos.y(), pos.x() ),
-        qSqrt( qwtSqr( pos.x() ) + qwtSqr( pos.y() ) ) );
-}
-
-#endif 
diff --git a/SRC/Qwt/src/qwt_raster_data.cpp b/SRC/Qwt/src/qwt_raster_data.cpp
deleted file mode 100644
index 8ebb464..0000000
--- a/SRC/Qwt/src/qwt_raster_data.cpp
+++ /dev/null
@@ -1,404 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_raster_data.h"
-#include "qwt_point_3d.h"
-#include <qnumeric.h>
-
-class QwtRasterData::ContourPlane
-{
-public:
-    inline ContourPlane( double z ):
-        d_z( z )
-    {
-    }
-
-    inline bool intersect( const QwtPoint3D vertex[3],
-        QPointF line[2], bool ignoreOnPlane ) const;
-
-    inline double z() const { return d_z; }
-
-private:
-    inline int compare( double z ) const;
-    inline QPointF intersection(
-        const QwtPoint3D& p1, const QwtPoint3D &p2 ) const;
-
-    double d_z;
-};
-
-inline bool QwtRasterData::ContourPlane::intersect(
-    const QwtPoint3D vertex[3], QPointF line[2],
-    bool ignoreOnPlane ) const
-{
-    bool found = true;
-
-    // Are the vertices below (-1), on (0) or above (1) the plan ?
-    const int eq1 = compare( vertex[0].z() );
-    const int eq2 = compare( vertex[1].z() );
-    const int eq3 = compare( vertex[2].z() );
-
-    /*
-        (a) All the vertices lie below the contour level.
-        (b) Two vertices lie below and one on the contour level.
-        (c) Two vertices lie below and one above the contour level.
-        (d) One vertex lies below and two on the contour level.
-        (e) One vertex lies below, one on and one above the contour level.
-        (f) One vertex lies below and two above the contour level.
-        (g) Three vertices lie on the contour level.
-        (h) Two vertices lie on and one above the contour level.
-        (i) One vertex lies on and two above the contour level.
-        (j) All the vertices lie above the contour level.
-     */
-
-    static const int tab[3][3][3] =
-    {
-        // jump table to avoid nested case statements
-        { { 0, 0, 8 }, { 0, 2, 5 }, { 7, 6, 9 } },
-        { { 0, 3, 4 }, { 1, 10, 1 }, { 4, 3, 0 } },
-        { { 9, 6, 7 }, { 5, 2, 0 }, { 8, 0, 0 } }
-    };
-
-    const int edgeType = tab[eq1+1][eq2+1][eq3+1];
-    switch ( edgeType )
-    {
-        case 1:
-            // d(0,0,-1), h(0,0,1)
-            line[0] = vertex[0].toPoint();
-            line[1] = vertex[1].toPoint();
-            break;
-        case 2:
-            // d(-1,0,0), h(1,0,0)
-            line[0] = vertex[1].toPoint();
-            line[1] = vertex[2].toPoint();
-            break;
-        case 3:
-            // d(0,-1,0), h(0,1,0)
-            line[0] = vertex[2].toPoint();
-            line[1] = vertex[0].toPoint();
-            break;
-        case 4:
-            // e(0,-1,1), e(0,1,-1)
-            line[0] = vertex[0].toPoint();
-            line[1] = intersection( vertex[1], vertex[2] );
-            break;
-        case 5:
-            // e(-1,0,1), e(1,0,-1)
-            line[0] = vertex[1].toPoint();
-            line[1] = intersection( vertex[2], vertex[0] );
-            break;
-        case 6:
-            // e(-1,1,0), e(1,0,-1)
-            line[0] = vertex[2].toPoint();
-            line[1] = intersection( vertex[0], vertex[1] );
-            break;
-        case 7:
-            // c(-1,1,-1), f(1,1,-1)
-            line[0] = intersection( vertex[0], vertex[1] );
-            line[1] = intersection( vertex[1], vertex[2] );
-            break;
-        case 8:
-            // c(-1,-1,1), f(1,1,-1)
-            line[0] = intersection( vertex[1], vertex[2] );
-            line[1] = intersection( vertex[2], vertex[0] );
-            break;
-        case 9:
-            // f(-1,1,1), c(1,-1,-1)
-            line[0] = intersection( vertex[2], vertex[0] );
-            line[1] = intersection( vertex[0], vertex[1] );
-            break;
-        case 10:
-            // g(0,0,0)
-            // The CONREC algorithm has no satisfying solution for
-            // what to do, when all vertices are on the plane.
-
-            if ( ignoreOnPlane )
-                found = false;
-            else
-            {
-                line[0] = vertex[2].toPoint();
-                line[1] = vertex[0].toPoint();
-            }
-            break;
-        default:
-            found = false;
-    }
-
-    return found;
-}
-
-inline int QwtRasterData::ContourPlane::compare( double z ) const
-{
-    if ( z > d_z )
-        return 1;
-
-    if ( z < d_z )
-        return -1;
-
-    return 0;
-}
-
-inline QPointF QwtRasterData::ContourPlane::intersection(
-    const QwtPoint3D& p1, const QwtPoint3D &p2 ) const
-{
-    const double h1 = p1.z() - d_z;
-    const double h2 = p2.z() - d_z;
-
-    const double x = ( h2 * p1.x() - h1 * p2.x() ) / ( h2 - h1 );
-    const double y = ( h2 * p1.y() - h1 * p2.y() ) / ( h2 - h1 );
-
-    return QPointF( x, y );
-}
-
-//! Constructor
-QwtRasterData::QwtRasterData()
-{
-}
-
-//! Destructor
-QwtRasterData::~QwtRasterData()
-{
-}
-
-/*!
-   Set the bounding interval for the x, y or z coordinates.
-
-   \param axis Axis
-   \param interval Bounding interval
-
-   \sa interval()
-*/
-void QwtRasterData::setInterval( Qt::Axis axis, const QwtInterval &interval )
-{
-    d_intervals[axis] = interval;
-}
-
-/*!
-  \brief Initialize a raster
-
-  Before the composition of an image QwtPlotSpectrogram calls initRaster(),
-  announcing the area and its resolution that will be requested.
-
-  The default implementation does nothing, but for data sets that
-  are stored in files, it might be good idea to reimplement initRaster(),
-  where the data is resampled and loaded into memory.
-
-  \param area Area of the raster
-  \param raster Number of horizontal and vertical pixels
-
-  \sa initRaster(), value()
-*/
-void QwtRasterData::initRaster( const QRectF &area, const QSize &raster )
-{
-    Q_UNUSED( area );
-    Q_UNUSED( raster );
-}
-
-/*!
-  \brief Discard a raster
-
-  After the composition of an image QwtPlotSpectrogram calls discardRaster().
-
-  The default implementation does nothing, but if data has been loaded
-  in initRaster(), it could deleted now.
-
-  \sa initRaster(), value()
-*/
-void QwtRasterData::discardRaster()
-{
-}
-
-/*!
-   \brief Pixel hint
-
-   pixelHint() returns the geometry of a pixel, that can be used 
-   to calculate the resolution and alignment of the plot item, that is
-   representing the data. 
-   
-   Width and height of the hint need to be the horizontal  
-   and vertical distances between 2 neighbored points. 
-   The center of the hint has to be the position of any point 
-   ( it doesn't matter which one ).
-
-   An empty hint indicates, that there are values for any detail level.
-
-   Limiting the resolution of the image might significantly improve
-   the performance and heavily reduce the amount of memory when rendering
-   a QImage from the raster data. 
-
-   The default implementation returns an empty rectangle recommending
-   to render in target device ( f.e. screen ) resolution.
-
-   \param area In most implementations the resolution of the data doesn't
-               depend on the requested area.
-
-   \return Bounding rectangle of a pixel 
-*/
-QRectF QwtRasterData::pixelHint( const QRectF &area ) const
-{
-    Q_UNUSED( area );
-    return QRectF(); 
-}
-
-/*!
-   Calculate contour lines
-
-   \param rect Bounding rectangle for the contour lines
-   \param raster Number of data pixels of the raster data
-   \param levels List of limits, where to insert contour lines
-   \param flags Flags to customize the contouring algorithm
-
-   \return Calculated contour lines
-
-   An adaption of CONREC, a simple contouring algorithm.
-   http://local.wasp.uwa.edu.au/~pbourke/papers/conrec/
-*/
-QwtRasterData::ContourLines QwtRasterData::contourLines(
-    const QRectF &rect, const QSize &raster,
-    const QList<double> &levels, ConrecFlags flags ) const
-{
-    ContourLines contourLines;
-
-    if ( levels.size() == 0 || !rect.isValid() || !raster.isValid() )
-        return contourLines;
-
-    const double dx = rect.width() / raster.width();
-    const double dy = rect.height() / raster.height();
-
-    const bool ignoreOnPlane =
-        flags & QwtRasterData::IgnoreAllVerticesOnLevel;
-
-    const QwtInterval range = interval( Qt::ZAxis );
-    bool ignoreOutOfRange = false;
-    if ( range.isValid() )
-        ignoreOutOfRange = flags & IgnoreOutOfRange;
-
-    QwtRasterData *that = const_cast<QwtRasterData *>( this );
-    that->initRaster( rect, raster );
-
-    for ( int y = 0; y < raster.height() - 1; y++ )
-    {
-        enum Position
-        {
-            Center,
-
-            TopLeft,
-            TopRight,
-            BottomRight,
-            BottomLeft,
-
-            NumPositions
-        };
-
-        QwtPoint3D xy[NumPositions];
-
-        for ( int x = 0; x < raster.width() - 1; x++ )
-        {
-            const QPointF pos( rect.x() + x * dx, rect.y() + y * dy );
-
-            if ( x == 0 )
-            {
-                xy[TopRight].setX( pos.x() );
-                xy[TopRight].setY( pos.y() );
-                xy[TopRight].setZ(
-                    value( xy[TopRight].x(), xy[TopRight].y() )
-                );
-
-                xy[BottomRight].setX( pos.x() );
-                xy[BottomRight].setY( pos.y() + dy );
-                xy[BottomRight].setZ(
-                    value( xy[BottomRight].x(), xy[BottomRight].y() )
-                );
-            }
-
-            xy[TopLeft] = xy[TopRight];
-            xy[BottomLeft] = xy[BottomRight];
-
-            xy[TopRight].setX( pos.x() + dx );
-            xy[TopRight].setY( pos.y() );
-            xy[BottomRight].setX( pos.x() + dx );
-            xy[BottomRight].setY( pos.y() + dy );
-
-            xy[TopRight].setZ(
-                value( xy[TopRight].x(), xy[TopRight].y() )
-            );
-            xy[BottomRight].setZ(
-                value( xy[BottomRight].x(), xy[BottomRight].y() )
-            );
-
-            double zMin = xy[TopLeft].z();
-            double zMax = zMin;
-            double zSum = zMin;
-
-            for ( int i = TopRight; i <= BottomLeft; i++ )
-            {
-                const double z = xy[i].z();
-
-                zSum += z;
-                if ( z < zMin )
-                    zMin = z;
-                if ( z > zMax )
-                    zMax = z;
-            }
-
-            if ( qIsNaN( zSum ) )
-            {
-                // one of the points is NaN
-                continue;
-            }
-
-            if ( ignoreOutOfRange )
-            {
-                if ( !range.contains( zMin ) || !range.contains( zMax ) )
-                    continue;
-            }
-
-            if ( zMax < levels[0] ||
-                zMin > levels[levels.size() - 1] )
-            {
-                continue;
-            }
-
-            xy[Center].setX( pos.x() + 0.5 * dx );
-            xy[Center].setY( pos.y() + 0.5 * dy );
-            xy[Center].setZ( 0.25 * zSum );
-
-            const int numLevels = levels.size();
-            for ( int l = 0; l < numLevels; l++ )
-            {
-                const double level = levels[l];
-                if ( level < zMin || level > zMax )
-                    continue;
-                QPolygonF &lines = contourLines[level];
-                const ContourPlane plane( level );
-
-                QPointF line[2];
-                QwtPoint3D vertex[3];
-
-                for ( int m = TopLeft; m < NumPositions; m++ )
-                {
-                    vertex[0] = xy[m];
-                    vertex[1] = xy[0];
-                    vertex[2] = xy[m != BottomLeft ? m + 1 : TopLeft];
-
-                    const bool intersects =
-                        plane.intersect( vertex, line, ignoreOnPlane );
-                    if ( intersects )
-                    {
-                        lines += line[0];
-                        lines += line[1];
-                    }
-                }
-            }
-        }
-    }
-
-    that->discardRaster();
-
-    return contourLines;
-}
diff --git a/SRC/Qwt/src/qwt_raster_data.h b/SRC/Qwt/src/qwt_raster_data.h
deleted file mode 100644
index 19d6d65..0000000
--- a/SRC/Qwt/src/qwt_raster_data.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_RASTER_DATA_H
-#define QWT_RASTER_DATA_H 1
-
-#include "qwt_global.h"
-#include "qwt_interval.h"
-#include <qmap.h>
-#include <qlist.h>
-#include <qpolygon.h>
-
-class QwtScaleMap;
-
-/*!
-  \brief QwtRasterData defines an interface to any type of raster data.
-
-  QwtRasterData is an abstract interface, that is used by
-  QwtPlotRasterItem to find the values at the pixels of its raster.
-
-  Often a raster item is used to display values from a matrix. Then the
-  derived raster data class needs to implement some sort of resampling,
-  that maps the raster of the matrix into the requested raster of
-  the raster item ( depending on resolution and scales of the canvas ).
-*/
-class QWT_EXPORT QwtRasterData
-{
-public:
-    //! Contour lines
-    typedef QMap<double, QPolygonF> ContourLines;
-
-    //! Flags to modify the contour algorithm
-    enum ConrecFlag
-    {
-        //! Ignore all vertices on the same level
-        IgnoreAllVerticesOnLevel = 0x01,
-
-        //! Ignore all values, that are out of range
-        IgnoreOutOfRange = 0x02
-    };
-
-    //! Flags to modify the contour algorithm
-    typedef QFlags<ConrecFlag> ConrecFlags;
-
-    QwtRasterData();
-    virtual ~QwtRasterData();
-
-    virtual void setInterval( Qt::Axis, const QwtInterval & );
-    const QwtInterval &interval(Qt::Axis) const;
-
-    virtual QRectF pixelHint( const QRectF & ) const;
-
-    virtual void initRaster( const QRectF &, const QSize& raster );
-    virtual void discardRaster();
-
-    /*!
-       \return the value at a raster position
-       \param x X value in plot coordinates
-       \param y Y value in plot coordinates
-    */
-    virtual double value( double x, double y ) const = 0;
-
-    virtual ContourLines contourLines( const QRectF &rect,
-        const QSize &raster, const QList<double> &levels,
-        ConrecFlags ) const;
-
-    class Contour3DPoint;
-    class ContourPlane;
-
-private:
-    // Disabled copy constructor and operator=
-    QwtRasterData( const QwtRasterData & );
-    QwtRasterData &operator=( const QwtRasterData & );
-
-    QwtInterval d_intervals[3];
-};
-
-/*!
-   \return Bounding interval for a axis
-   \sa setInterval
-*/
-inline const QwtInterval &QwtRasterData::interval( Qt::Axis axis) const
-{
-    return d_intervals[axis];
-}
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtRasterData::ConrecFlags )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_round_scale_draw.cpp b/SRC/Qwt/src/qwt_round_scale_draw.cpp
deleted file mode 100644
index 9e7d75c..0000000
--- a/SRC/Qwt/src/qwt_round_scale_draw.cpp
+++ /dev/null
@@ -1,314 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_round_scale_draw.h"
-#include "qwt_painter.h"
-#include "qwt_scale_div.h"
-#include "qwt_scale_map.h"
-#include "qwt_math.h"
-#include <qpen.h>
-#include <qpainter.h>
-#include <qfontmetrics.h>
-#include <qmath.h>
-
-class QwtRoundScaleDraw::PrivateData
-{
-public:
-    PrivateData():
-        center( 50.0, 50.0 ),
-        radius( 50.0 ),
-        startAngle( -135.0 ),
-        endAngle( 135.0 )
-    {
-    }
-
-    QPointF center;
-    double radius;
-
-    double startAngle;
-    double endAngle;
-};
-
-/*!
-  \brief Constructor
-
-  The range of the scale is initialized to [0, 100],
-  The center is set to (50, 50) with a radius of 50.
-  The angle range is set to [-135, 135].
-*/
-QwtRoundScaleDraw::QwtRoundScaleDraw()
-{
-    d_data = new QwtRoundScaleDraw::PrivateData;
-
-    setRadius( 50 );
-    scaleMap().setPaintInterval( d_data->startAngle, d_data->endAngle );
-}
-
-//! Destructor
-QwtRoundScaleDraw::~QwtRoundScaleDraw()
-{
-    delete d_data;
-}
-
-/*!
-  Change of radius the scale
-
-  Radius is the radius of the backbone without ticks and labels.
-
-  \param radius New Radius
-  \sa moveCenter()
-*/
-void QwtRoundScaleDraw::setRadius( double radius )
-{
-    d_data->radius = radius;
-}
-
-/*!
-  Get the radius
-
-  Radius is the radius of the backbone without ticks and labels.
-
-  \return Radius of the scale
-  \sa setRadius(), extent()
-*/
-double QwtRoundScaleDraw::radius() const
-{
-    return d_data->radius;
-}
-
-/*!
-   Move the center of the scale draw, leaving the radius unchanged
-
-   \param center New center
-   \sa setRadius()
-*/
-void QwtRoundScaleDraw::moveCenter( const QPointF &center )
-{
-    d_data->center = center;
-}
-
-//! Get the center of the scale
-QPointF QwtRoundScaleDraw::center() const
-{
-    return d_data->center;
-}
-
-/*!
-  \brief Adjust the baseline circle segment for round scales.
-
-  The baseline will be drawn from min(angle1,angle2) to max(angle1, angle2).
-  The default setting is [ -135, 135 ].
-  An angle of 0 degrees corresponds to the 12 o'clock position,
-  and positive angles count in a clockwise direction.
-  \param angle1
-  \param angle2 boundaries of the angle interval in degrees.
-  \warning <ul>
-  <li>The angle range is limited to [-360, 360] degrees. Angles exceeding
-      this range will be clipped.
-  <li>For angles more or equal than 360 degrees above or below min(angle1, angle2),
-      scale marks will not be drawn.
-  <li>If you need a counterclockwise scale, use QwtScaleDiv::setInterval()
-  </ul>
-*/
-void QwtRoundScaleDraw::setAngleRange( double angle1, double angle2 )
-{
-#if 0
-    angle1 = qBound( -360.0, angle1, 360.0 );
-    angle2 = qBound( -360.0, angle2, 360.0 );
-#endif
-
-    d_data->startAngle = angle1;
-    d_data->endAngle = angle2;
-
-    if ( d_data->startAngle == d_data->endAngle )
-    {
-        d_data->startAngle -= 1;
-        d_data->endAngle += 1;
-    }
-
-    scaleMap().setPaintInterval( d_data->startAngle, d_data->endAngle );
-}
-
-/*!
-   Draws the label for a major scale tick
-
-   \param painter Painter
-   \param value Value
-
-   \sa drawTick(), drawBackbone()
-*/
-void QwtRoundScaleDraw::drawLabel( QPainter *painter, double value ) const
-{
-    const double tval = scaleMap().transform( value );
-    if ( ( tval >= d_data->startAngle + 360.0 )
-        || ( tval <= d_data->startAngle - 360.0 ) )
-    {
-        return;
-    }
-
-    const QwtText label = tickLabel( painter->font(), value );
-    if ( label.isEmpty() )
-        return;
-
-    double radius = d_data->radius;
-    if ( hasComponent( QwtAbstractScaleDraw::Ticks ) ||
-        hasComponent( QwtAbstractScaleDraw::Backbone ) )
-    {
-        radius += spacing();
-    }
-
-    if ( hasComponent( QwtAbstractScaleDraw::Ticks ) )
-        radius += tickLength( QwtScaleDiv::MajorTick );
-
-    const QSizeF sz = label.textSize( painter->font() );
-    const double arc = qwtRadians( tval );
-
-    const double x = d_data->center.x() +
-        ( radius + sz.width() / 2.0 ) * qSin( arc );
-    const double y = d_data->center.y() -
-        ( radius + sz.height() / 2.0 ) * qCos( arc );
-
-    const QRectF r( x - sz.width() / 2, y - sz.height() / 2,
-        sz.width(), sz.height() );
-    label.draw( painter, r );
-}
-
-/*!
-   Draw a tick
-
-   \param painter Painter
-   \param value Value of the tick
-   \param len Lenght of the tick
-
-   \sa drawBackbone(), drawLabel()
-*/
-void QwtRoundScaleDraw::drawTick( QPainter *painter, double value, double len ) const
-{
-    if ( len <= 0 )
-        return;
-
-    const double tval = scaleMap().transform( value );
-
-    const double cx = d_data->center.x();
-    const double cy = d_data->center.y();
-    const double radius = d_data->radius;
-
-    if ( ( tval < d_data->startAngle + 360.0 )
-        && ( tval > d_data->startAngle - 360.0 ) )
-    {
-        const double arc = qwtRadians( tval );
-
-        const double sinArc = qSin( arc );
-        const double cosArc = qCos( arc );
-
-        const double x1 = cx + radius * sinArc;
-        const double x2 = cx + ( radius + len ) * sinArc;
-        const double y1 = cy - radius * cosArc;
-        const double y2 = cy - ( radius + len ) * cosArc;
-
-        QwtPainter::drawLine( painter, x1, y1, x2, y2 );
-    }
-}
-
-/*!
-   Draws the baseline of the scale
-   \param painter Painter
-
-   \sa drawTick(), drawLabel()
-*/
-void QwtRoundScaleDraw::drawBackbone( QPainter *painter ) const
-{
-    const double deg1 = scaleMap().p1();
-    const double deg2 = scaleMap().p2();
-
-    const int a1 = qRound( qMin( deg1, deg2 ) - 90 );
-    const int a2 = qRound( qMax( deg1, deg2 ) - 90 );
-
-    const double radius = d_data->radius;
-    const double x = d_data->center.x() - radius;
-    const double y = d_data->center.y() - radius;
-
-    painter->drawArc( QRectF( x, y, 2 * radius, 2 * radius ),
-        -a2 * 16, ( a2 - a1 + 1 ) * 16 );          // counterclockwise
-}
-
-/*!
-   Calculate the extent of the scale
-
-   The extent is the distance between the baseline to the outermost
-   pixel of the scale draw. radius() + extent() is an upper limit
-   for the radius of the bounding circle.
-
-   \param font Font used for painting the labels
-   \return Calculated extent
-
-   \sa setMinimumExtent(), minimumExtent()
-   \warning The implemented algorithm is not too smart and
-            calculates only an upper limit, that might be a
-            few pixels too large
-*/
-double QwtRoundScaleDraw::extent( const QFont &font ) const
-{
-    double d = 0.0;
-
-    if ( hasComponent( QwtAbstractScaleDraw::Labels ) )
-    {
-        const QwtScaleDiv &sd = scaleDiv();
-        const QList<double> &ticks = sd.ticks( QwtScaleDiv::MajorTick );
-        for ( int i = 0; i < ticks.count(); i++ )
-        {
-            const double value = ticks[i];
-            if ( !sd.contains( value ) )
-                continue;
-
-            const double tval = scaleMap().transform( value );
-            if ( ( tval < d_data->startAngle + 360 )
-                && ( tval > d_data->startAngle - 360 ) )
-            {
-                const QwtText label = tickLabel( font, value );
-                if ( label.isEmpty() )
-                    continue;
-
-                const double arc = qwtRadians( tval );
-
-                const QSizeF sz = label.textSize( font );
-                const double off = qMax( sz.width(), sz.height() );
-
-                double x = off * qSin( arc );
-                double y = off * qCos( arc );
-
-                const double dist = qSqrt( x * x + y * y );
-                if ( dist > d )
-                    d = dist;
-            }
-        }
-    }
-
-    if ( hasComponent( QwtAbstractScaleDraw::Ticks ) )
-    {
-        d += maxTickLength();
-    }
-
-    if ( hasComponent( QwtAbstractScaleDraw::Backbone ) )
-    {
-        const double pw = qMax( 1, penWidth() );  // pen width can be zero
-        d += pw;
-    }
-
-    if ( hasComponent( QwtAbstractScaleDraw::Labels ) &&
-        ( hasComponent( QwtAbstractScaleDraw::Ticks ) ||
-            hasComponent( QwtAbstractScaleDraw::Backbone ) ) )
-    {
-        d += spacing();
-    }
-
-    d = qMax( d, minimumExtent() );
-
-    return d;
-}
diff --git a/SRC/Qwt/src/qwt_round_scale_draw.h b/SRC/Qwt/src/qwt_round_scale_draw.h
deleted file mode 100644
index eed06f6..0000000
--- a/SRC/Qwt/src/qwt_round_scale_draw.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_ROUND_SCALE_DRAW_H
-#define QWT_ROUND_SCALE_DRAW_H
-
-#include "qwt_global.h"
-#include "qwt_abstract_scale_draw.h"
-#include <qpoint.h>
-
-/*!
-  \brief A class for drawing round scales
-
-  QwtRoundScaleDraw can be used to draw round scales.
-  The circle segment can be adjusted by setAngleRange().
-  The geometry of the scale can be specified with
-  moveCenter() and setRadius().
-
-  After a scale division has been specified as a QwtScaleDiv object
-  using QwtAbstractScaleDraw::setScaleDiv(const QwtScaleDiv &s),
-  the scale can be drawn with the QwtAbstractScaleDraw::draw() member.
-*/
-
-class QWT_EXPORT QwtRoundScaleDraw: public QwtAbstractScaleDraw
-{
-public:
-    QwtRoundScaleDraw();
-    virtual ~QwtRoundScaleDraw();
-
-    void setRadius( double radius );
-    double radius() const;
-
-    void moveCenter( double x, double y );
-    void moveCenter( const QPointF & );
-    QPointF center() const;
-
-    void setAngleRange( double angle1, double angle2 );
-
-    virtual double extent( const QFont & ) const;
-
-protected:
-    virtual void drawTick( QPainter *, double val, double len ) const;
-    virtual void drawBackbone( QPainter * ) const;
-    virtual void drawLabel( QPainter *, double val ) const;
-
-private:
-    QwtRoundScaleDraw( const QwtRoundScaleDraw & );
-    QwtRoundScaleDraw &operator=( const QwtRoundScaleDraw &other );
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-//! Move the center of the scale draw, leaving the radius unchanged
-inline void QwtRoundScaleDraw::moveCenter( double x, double y )
-{
-    moveCenter( QPointF( x, y ) );
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_samples.h b/SRC/Qwt/src/qwt_samples.h
deleted file mode 100644
index d54461f..0000000
--- a/SRC/Qwt/src/qwt_samples.h
+++ /dev/null
@@ -1,239 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_SAMPLES_H
-#define QWT_SAMPLES_H 1
-
-#include "qwt_global.h"
-#include "qwt_interval.h"
-#include <qvector.h>
-#include <qrect.h>
-
-//! \brief A sample of the types (x1-x2, y) or (x, y1-y2)
-class QWT_EXPORT QwtIntervalSample
-{
-public:
-    QwtIntervalSample();
-    QwtIntervalSample( double, const QwtInterval & );
-    QwtIntervalSample( double value, double min, double max );
-
-    bool operator==( const QwtIntervalSample & ) const;
-    bool operator!=( const QwtIntervalSample & ) const;
-
-    //! Value
-    double value;
-
-    //! Interval
-    QwtInterval interval;
-};
-
-/*!
-  Constructor
-  The value is set to 0.0, the interval is invalid
-*/
-inline QwtIntervalSample::QwtIntervalSample():
-    value( 0.0 )
-{
-}
-
-//! Constructor
-inline QwtIntervalSample::QwtIntervalSample(
-        double v, const QwtInterval &intv ):
-    value( v ),
-    interval( intv )
-{
-}
-
-//! Constructor
-inline QwtIntervalSample::QwtIntervalSample(
-        double v, double min, double max ):
-    value( v ),
-    interval( min, max )
-{
-}
-
-//! Compare operator
-inline bool QwtIntervalSample::operator==(
-    const QwtIntervalSample &other ) const
-{
-    return value == other.value && interval == other.interval;
-}
-
-//! Compare operator
-inline bool QwtIntervalSample::operator!=(
-    const QwtIntervalSample &other ) const
-{
-    return !( *this == other );
-}
-
-//! \brief A sample of the types (x1...xn, y) or (x, y1..yn)
-class QWT_EXPORT QwtSetSample
-{
-public:
-    QwtSetSample();
-    QwtSetSample( double, const QVector<double> & = QVector<double>() );
-
-    bool operator==( const QwtSetSample &other ) const;
-    bool operator!=( const QwtSetSample &other ) const;
-
-    double added() const;
-
-    //! value
-    double value;
-
-    //! Vector of values associated to value
-    QVector<double> set;
-};
-
-/*!
-  Constructor
-  The value is set to 0.0
-*/
-inline QwtSetSample::QwtSetSample():
-    value( 0.0 )
-{
-}
-
-/*!
-  Constructor
-
-  \param v Value
-  \param s Set of values
-*/
-inline QwtSetSample::QwtSetSample( double v, const QVector< double > &s ):
-    value( v ),
-    set( s )
-{
-}
-
-//! Compare operator
-inline bool QwtSetSample::operator==( const QwtSetSample &other ) const
-{
-    return value == other.value && set == other.set;
-}
-
-//! Compare operator
-inline bool QwtSetSample::operator!=( const QwtSetSample &other ) const
-{
-    return !( *this == other );
-}
-
-//! \return All values of the set added
-inline double QwtSetSample::added() const
-{
-    double y = 0.0;
-    for ( int i = 0; i < set.size(); i++ )
-        y += set[i];
-
-    return y;
-}
-
-/*!
-   \brief Open-High-Low-Close sample used in financial charts
-
-   In financial charts the movement of a price in a time interval is often
-   represented by the opening/closing prices and the lowest/highest prices
-   in this interval.
-
-   \sa QwtTradingChartData
-*/
-class QWT_EXPORT QwtOHLCSample
-{
-public:
-    QwtOHLCSample( double time = 0.0,
-        double open = 0.0, double high = 0.0,
-        double low = 0.0, double close = 0.0 );
-
-    QwtInterval boundingInterval() const;
-
-    bool isValid() const;
-
-    /*!
-      Time of the sample, usually a number representing
-      a specific interval - like a day.
-    */
-    double time;
-
-    //! Opening price
-    double open;
-
-    //! Highest price
-    double high;
-
-    //! Lowest price
-    double low;
-
-    //! Closing price
-    double close;
-};
-
-
-/*!
-  Constructor
-
-  \param t Time value
-  \param o Open value
-  \param h High value
-  \param l Low value
-  \param c Close value
-*/
-inline QwtOHLCSample::QwtOHLCSample( double t,
-        double o, double h, double l, double c ):
-    time( t ),
-    open( o ),
-    high( h ),
-    low( l ),
-    close( c )
-{
-}
-
-/*!
-  \brief Check if a sample is valid
-
-  A sample is valid, when all of the following checks are true:
-
-  - low <= high
-  - low <= open <= high
-  - low <= close <= high
-
-  \return True, when the sample is valid
- */
-inline bool QwtOHLCSample::isValid() const
-{
-    return ( low <= high )
-        && ( open >= low )
-        && ( open <= high )
-        && ( close >= low )
-        && ( close <= high );
-}
-
-/*!
-   \brief Calculate the bounding interval of the OHLC values
-
-   For valid samples the limits of this interval are always low/high.
-
-   \return Bounding interval
-   \sa isValid()
- */
-inline QwtInterval QwtOHLCSample::boundingInterval() const
-{
-    double minY = open;
-    minY = qMin( minY, high );
-    minY = qMin( minY, low );
-    minY = qMin( minY, close );
-
-    double maxY = open;
-    maxY = qMax( maxY, high );
-    maxY = qMax( maxY, low );
-    maxY = qMax( maxY, close );
-
-    return QwtInterval( minY, maxY );
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_sampling_thread.cpp b/SRC/Qwt/src/qwt_sampling_thread.cpp
deleted file mode 100644
index c948daf..0000000
--- a/SRC/Qwt/src/qwt_sampling_thread.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_sampling_thread.h"
-#include "qwt_system_clock.h"
-
-class QwtSamplingThread::PrivateData
-{
-public:
-    QwtSystemClock clock;
-
-    double interval;
-    bool isStopped;
-};
-
-
-//! Constructor
-QwtSamplingThread::QwtSamplingThread( QObject *parent ):
-    QThread( parent )
-{
-    d_data = new PrivateData;
-    d_data->interval = 1000; // 1 second
-    d_data->isStopped = true;
-}
-
-//! Destructor
-QwtSamplingThread::~QwtSamplingThread()
-{
-    delete d_data;
-}
-
-/*!
-   Change the interval (in ms), when sample() is called.
-   The default interval is 1000.0 ( = 1s )
-
-   \param interval Interval
-   \sa interval()
-*/
-void QwtSamplingThread::setInterval( double interval )
-{
-    if ( interval < 0.0 )
-        interval = 0.0;
-
-    d_data->interval = interval;
-}
-
-/*!
-   \return Interval (in ms), between 2 calls of sample()
-   \sa setInterval()
-*/
-double QwtSamplingThread::interval() const
-{
-    return d_data->interval;
-}
-
-/*!
-   \return Time (in ms) since the thread was started
-   \sa QThread::start(), run()
-*/
-double QwtSamplingThread::elapsed() const
-{
-    if ( d_data->isStopped )
-        return 0.0;
-
-    return d_data->clock.elapsed();
-}
-
-/*!
-   Terminate the collecting thread
-   \sa QThread::start(), run()
-*/
-void QwtSamplingThread::stop()
-{
-    d_data->isStopped = true;
-}
-
-/*!
-   Loop collecting samples started from QThread::start()
-   \sa stop()
-*/
-void QwtSamplingThread::run()
-{
-    d_data->clock.start();
-    d_data->isStopped = false;
-
-    while ( !d_data->isStopped )
-    {
-        const double elapsed = d_data->clock.elapsed();
-        sample( elapsed / 1000.0 );
-
-        if ( d_data->interval > 0.0 )
-        {
-            const double msecs =
-                d_data->interval - ( d_data->clock.elapsed() - elapsed );
-
-            if ( msecs > 0.0 )
-                usleep( qRound( 1000.0 * msecs ) );
-        }
-    }
-}
diff --git a/SRC/Qwt/src/qwt_sampling_thread.h b/SRC/Qwt/src/qwt_sampling_thread.h
deleted file mode 100644
index 74b6cd4..0000000
--- a/SRC/Qwt/src/qwt_sampling_thread.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _QWT_SAMPLING_THREAD_H_
-#define _QWT_SAMPLING_THREAD_H_
-
-#include "qwt_global.h"
-#include <qthread.h>
-
-/*!
-  \brief A thread collecting samples at regular intervals.
-
-  Continuous signals are converted into a discrete signal by
-  collecting samples at regular intervals. A discrete signal
-  can be displayed by a QwtPlotSeriesItem on a QwtPlot widget.
-
-  QwtSamplingThread starts a thread calling periodically sample(),
-  to collect and store ( or emit ) a single sample.
-
-  \sa QwtPlotCurve, QwtPlotSeriesItem
-*/
-class QWT_EXPORT QwtSamplingThread: public QThread
-{
-    Q_OBJECT
-
-public:
-    virtual ~QwtSamplingThread();
-
-    double interval() const;
-    double elapsed() const;
-
-public Q_SLOTS:
-    void setInterval( double interval );
-    void stop();
-
-protected:
-    explicit QwtSamplingThread( QObject *parent = NULL );
-
-    virtual void run();
-
-    /*!
-       Collect a sample
-
-       \param elapsed Time since the thread was started in milliseconds
-     */
-    virtual void sample( double elapsed ) = 0;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_scale_div.cpp b/SRC/Qwt/src/qwt_scale_div.cpp
deleted file mode 100644
index 40a8dde..0000000
--- a/SRC/Qwt/src/qwt_scale_div.cpp
+++ /dev/null
@@ -1,331 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_scale_div.h"
-#include "qwt_math.h"
-#include <qalgorithms.h>
-
-/*!
-  Construct a division without ticks
-
-  \param lowerBound First boundary
-  \param upperBound Second boundary
-
-  \note lowerBound might be greater than upperBound for inverted scales
- */
-QwtScaleDiv::QwtScaleDiv( double lowerBound, double upperBound ):
-    d_lowerBound( lowerBound ),
-    d_upperBound( upperBound )
-{
-}
-
-/*!
-  Construct a scale division
-
-  \param interval Interval
-  \param ticks List of major, medium and minor ticks
-*/
-QwtScaleDiv::QwtScaleDiv( const QwtInterval &interval,
-        QList<double> ticks[NTickTypes] ):
-    d_lowerBound( interval.minValue() ),
-    d_upperBound( interval.maxValue() )
-{
-    for ( int i = 0; i < NTickTypes; i++ )
-        d_ticks[i] = ticks[i];
-}
-
-/*!
-  Construct a scale division
-
-  \param lowerBound First boundary
-  \param upperBound Second boundary
-  \param ticks List of major, medium and minor ticks
-
-  \note lowerBound might be greater than upperBound for inverted scales
-*/
-QwtScaleDiv::QwtScaleDiv( double lowerBound, double upperBound,
-        QList<double> ticks[NTickTypes] ):
-    d_lowerBound( lowerBound ),
-    d_upperBound( upperBound )
-{
-    for ( int i = 0; i < NTickTypes; i++ )
-        d_ticks[i] = ticks[i];
-}
-
-/*!
-  Construct a scale division
-
-  \param lowerBound First boundary
-  \param upperBound Second boundary
-  \param minorTicks List of minor ticks
-  \param mediumTicks List medium ticks
-  \param majorTicks List of major ticks
-
-  \note lowerBound might be greater than upperBound for inverted scales
-*/
-QwtScaleDiv::QwtScaleDiv( double lowerBound, double upperBound,
-        const QList<double> &minorTicks, 
-        const QList<double> &mediumTicks,
-        const QList<double> &majorTicks ):
-    d_lowerBound( lowerBound ),
-    d_upperBound( upperBound )
-{
-    d_ticks[ MinorTick ] = minorTicks;
-    d_ticks[ MediumTick ] = mediumTicks;
-    d_ticks[ MajorTick ] = majorTicks;
-}
-
-/*!
-  Change the interval
-
-  \param lowerBound First boundary
-  \param upperBound Second boundary
-
-  \note lowerBound might be greater than upperBound for inverted scales
-*/
-void QwtScaleDiv::setInterval( double lowerBound, double upperBound )
-{
-    d_lowerBound = lowerBound;
-    d_upperBound = upperBound;
-}
-
-/*!
-   Change the interval
-
-   \param interval Interval
-*/
-void QwtScaleDiv::setInterval( const QwtInterval &interval )
-{
-    d_lowerBound = interval.minValue();
-    d_upperBound = interval.maxValue();
-}
-
-/*!
-  \return lowerBound -> upperBound
-*/
-QwtInterval QwtScaleDiv::interval() const
-{
-    return QwtInterval( d_lowerBound, d_upperBound );
-}
-
-/*!
-  Set the first boundary
-
-  \param lowerBound First boundary
-  \sa lowerBiound(), setUpperBound()
- */
-void QwtScaleDiv::setLowerBound( double lowerBound  )
-{
-    d_lowerBound = lowerBound;
-}
-
-/*!
-  \return First boundary
-  \sa upperBound()
-*/
-double QwtScaleDiv::lowerBound() const
-{
-    return d_lowerBound;
-}   
-
-/*!
-  Set the second boundary
-
-  \param upperBound Second boundary
-  \sa upperBound(), setLowerBound()
- */
-void QwtScaleDiv::setUpperBound( double upperBound  )
-{
-    d_upperBound = upperBound;
-} 
-
-/*!
-  \return upper bound
-  \sa lowerBound()
-*/
-double QwtScaleDiv::upperBound() const
-{
-    return d_upperBound;
-}
-
-/*!
-  \return upperBound() - lowerBound()
-*/
-double QwtScaleDiv::range() const
-{
-    return d_upperBound - d_lowerBound;
-}
-
-/*!
-  \brief Equality operator
-  \return true if this instance is equal to other
-*/
-bool QwtScaleDiv::operator==( const QwtScaleDiv &other ) const
-{
-    if ( d_lowerBound != other.d_lowerBound ||
-        d_upperBound != other.d_upperBound )
-    {
-        return false;
-    }
-
-    for ( int i = 0; i < NTickTypes; i++ )
-    {
-        if ( d_ticks[i] != other.d_ticks[i] )
-            return false;
-    }
-
-    return true;
-}
-
-/*!
-  \brief Inequality
-  \return true if this instance is not equal to other
-*/
-bool QwtScaleDiv::operator!=( const QwtScaleDiv &other ) const
-{
-    return ( !( *this == other ) );
-}
-
-//! Check if the scale division is empty( lowerBound() == upperBound() )
-bool QwtScaleDiv::isEmpty() const
-{
-    return ( d_lowerBound == d_upperBound );
-}
-
-//! Check if the scale division is increasing( lowerBound() <= upperBound() )
-bool QwtScaleDiv::isIncreasing() const
-{
-    return d_lowerBound <= d_upperBound;
-}
-
-/*!
-  Return if a value is between lowerBound() and upperBound()
-
-  \param value Value
-  \return true/false
-*/
-bool QwtScaleDiv::contains( double value ) const
-{
-    const double min = qMin( d_lowerBound, d_upperBound );
-    const double max = qMax( d_lowerBound, d_upperBound );
-
-    return value >= min && value <= max;
-}
-
-/*! 
-   Invert the scale division
-   \sa inverted()
- */
-void QwtScaleDiv::invert()
-{
-    qSwap( d_lowerBound, d_upperBound );
-
-    for ( int i = 0; i < NTickTypes; i++ )
-    {
-        QList<double>& ticks = d_ticks[i];
-
-        const int size = ticks.count();
-        const int size2 = size / 2;
-
-        for ( int j = 0; j < size2; j++ )
-            qSwap( ticks[j], ticks[size - 1 - j] );
-    }
-}
-
-/*! 
-  \return A scale division with inverted boundaries and ticks
-  \sa invert()
- */
-QwtScaleDiv QwtScaleDiv::inverted() const
-{
-    QwtScaleDiv other = *this;
-    other.invert();
-
-    return other;
-}
-
-/*! 
-   Return a scale division with an interval [lowerBound, upperBound]
-   where all ticks outside this interval are removed
-
-   \param lowerBound Lower bound
-   \param upperBound Upper bound
-
-   \return Scale division with all ticks inside of the given interval
-
-   \note lowerBound might be greater than upperBound for inverted scales
-*/
-QwtScaleDiv QwtScaleDiv::bounded( 
-    double lowerBound, double upperBound ) const
-{
-    const double min = qMin( lowerBound, upperBound );
-    const double max = qMax( lowerBound, upperBound );
-
-    QwtScaleDiv sd;
-    sd.setInterval( lowerBound, upperBound );
-
-    for ( int tickType = 0; tickType < QwtScaleDiv::NTickTypes; tickType++ )
-    {
-        const QList<double> &ticks = d_ticks[ tickType ];
-
-        QList<double> boundedTicks;
-        for ( int i = 0; i < ticks.size(); i++ )
-        {
-            const double tick = ticks[i];
-            if ( tick >= min && tick <= max )
-                boundedTicks += tick;
-        }
-
-        sd.setTicks( tickType, boundedTicks );
-    }
-
-    return sd;
-
-}
-
-/*!
-    Assign ticks
-
-   \param type MinorTick, MediumTick or MajorTick
-   \param ticks Values of the tick positions
-*/
-void QwtScaleDiv::setTicks( int type, const QList<double> &ticks )
-{
-    if ( type >= 0 && type < NTickTypes )
-        d_ticks[type] = ticks;
-}
-
-/*!
-   Return a list of ticks
-
-   \param type MinorTick, MediumTick or MajorTick
-   \return Tick list
-*/
-QList<double> QwtScaleDiv::ticks( int type ) const
-{
-    if ( type >= 0 && type < NTickTypes )
-        return d_ticks[type];
-
-    return QList<double>();
-}
-
-#ifndef QT_NO_DEBUG_STREAM
-
-QDebug operator<<( QDebug debug, const QwtScaleDiv &scaleDiv )
-{
-    debug << scaleDiv.lowerBound() << "<->" << scaleDiv.upperBound();
-    debug << "Major: " << scaleDiv.ticks( QwtScaleDiv::MajorTick );
-    debug << "Medium: " << scaleDiv.ticks( QwtScaleDiv::MediumTick );
-    debug << "Minor: " << scaleDiv.ticks( QwtScaleDiv::MinorTick );
-
-    return debug;
-}
-
-#endif
-
diff --git a/SRC/Qwt/src/qwt_scale_div.h b/SRC/Qwt/src/qwt_scale_div.h
deleted file mode 100644
index bc96d15..0000000
--- a/SRC/Qwt/src/qwt_scale_div.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_SCALE_DIV_H
-#define QWT_SCALE_DIV_H
-
-#include "qwt_global.h"
-#include "qwt_interval.h"
-#include <qlist.h>
-
-#ifndef QT_NO_DEBUG_STREAM
-#include <qdebug.h>
-#endif
-
-/*!
-  \brief A class representing a scale division
-
-  A Qwt scale is defined by its boundaries and 3 list
-  for the positions of the major, medium and minor ticks.
-
-  The upperLimit() might be smaller than the lowerLimit()
-  to indicate inverted scales.
-
-  Scale divisions can be calculated from a QwtScaleEngine.
-
-  \sa QwtScaleEngine::divideScale(), QwtPlot::setAxisScaleDiv(),
-      QwtAbstractSlider::setScaleDiv()
-*/
-
-class QWT_EXPORT QwtScaleDiv
-{
-public:
-    //! Scale tick types
-    enum TickType
-    {
-        //! No ticks
-        NoTick = -1,
-
-        //! Minor ticks
-        MinorTick,
-
-        //! Medium ticks
-        MediumTick,
-
-        //! Major ticks
-        MajorTick,
-
-        //! Number of valid tick types
-        NTickTypes
-    };
-
-    explicit QwtScaleDiv( double lowerBound = 0.0, 
-        double upperBound = 0.0 );
-
-    explicit QwtScaleDiv( const QwtInterval &, QList<double>[NTickTypes] );
-
-    explicit QwtScaleDiv( double lowerBound, double upperBound,
-        QList<double>[NTickTypes] );
-
-    explicit QwtScaleDiv( double lowerBound, double upperBound, 
-        const QList<double> &minorTicks, const QList<double> &mediumTicks,
-        const QList<double> &majorTicks );
-
-    bool operator==( const QwtScaleDiv & ) const;
-    bool operator!=( const QwtScaleDiv & ) const;
-
-    void setInterval( double lowerBound, double upperBound );
-    void setInterval( const QwtInterval & );
-    QwtInterval interval() const;
-
-    void setLowerBound( double );
-    double lowerBound() const;
-
-    void setUpperBound( double );
-    double upperBound() const;
-
-    double range() const;
-
-    bool contains( double value ) const;
-
-    void setTicks( int tickType, const QList<double> & );
-    QList<double> ticks( int tickType ) const;
-
-    bool isEmpty() const;
-    bool isIncreasing() const;
-
-    void invert();
-    QwtScaleDiv inverted() const;
-
-    QwtScaleDiv bounded( double lowerBound, double upperBound ) const;
-
-private:
-    double d_lowerBound;
-    double d_upperBound;
-    QList<double> d_ticks[NTickTypes];
-};
-
-Q_DECLARE_TYPEINFO( QwtScaleDiv, Q_MOVABLE_TYPE );
-
-#ifndef QT_NO_DEBUG_STREAM
-QWT_EXPORT QDebug operator<<( QDebug, const QwtScaleDiv & );
-#endif
-
-#endif
diff --git a/SRC/Qwt/src/qwt_scale_draw.cpp b/SRC/Qwt/src/qwt_scale_draw.cpp
deleted file mode 100644
index e9220cc..0000000
--- a/SRC/Qwt/src/qwt_scale_draw.cpp
+++ /dev/null
@@ -1,926 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_scale_draw.h"
-#include "qwt_scale_div.h"
-#include "qwt_scale_map.h"
-#include "qwt_math.h"
-#include "qwt_painter.h"
-#include <qpen.h>
-#include <qpainter.h>
-#include <qmath.h>
-
-#if QT_VERSION < 0x040601
-#define qFastSin(x) qSin(x)
-#define qFastCos(x) qCos(x)
-#endif
-
-class QwtScaleDraw::PrivateData
-{
-public:
-    PrivateData():
-        len( 0 ),
-        alignment( QwtScaleDraw::BottomScale ),
-        labelAlignment( 0 ),
-        labelRotation( 0.0 )
-    {
-    }
-
-    QPointF pos;
-    double len;
-
-    Alignment alignment;
-
-    Qt::Alignment labelAlignment;
-    double labelRotation;
-};
-
-/*!
-  \brief Constructor
-
-  The range of the scale is initialized to [0, 100],
-  The position is at (0, 0) with a length of 100.
-  The orientation is QwtAbstractScaleDraw::Bottom.
-*/
-QwtScaleDraw::QwtScaleDraw()
-{
-    d_data = new QwtScaleDraw::PrivateData;
-    setLength( 100 );
-}
-
-//! Destructor
-QwtScaleDraw::~QwtScaleDraw()
-{
-    delete d_data;
-}
-
-/*!
-   Return alignment of the scale
-   \sa setAlignment()
-   \return Alignment of the scale
-*/
-QwtScaleDraw::Alignment QwtScaleDraw::alignment() const
-{
-    return d_data->alignment;
-}
-
-/*!
-   Set the alignment of the scale
-
-   \param align Alignment of the scale
-
-   The default alignment is QwtScaleDraw::BottomScale
-   \sa alignment()
-*/
-void QwtScaleDraw::setAlignment( Alignment align )
-{
-    d_data->alignment = align;
-}
-
-/*!
-  Return the orientation
-
-  TopScale, BottomScale are horizontal (Qt::Horizontal) scales,
-  LeftScale, RightScale are vertical (Qt::Vertical) scales.
-
-  \return Orientation of the scale
-
-  \sa alignment()
-*/
-Qt::Orientation QwtScaleDraw::orientation() const
-{
-    switch ( d_data->alignment )
-    {
-        case TopScale:
-        case BottomScale:
-            return Qt::Horizontal;
-        case LeftScale:
-        case RightScale:
-        default:
-            return Qt::Vertical;
-    }
-}
-
-/*!
-  \brief Determine the minimum border distance
-
-  This member function returns the minimum space
-  needed to draw the mark labels at the scale's endpoints.
-
-  \param font Font
-  \param start Start border distance
-  \param end End border distance
-*/
-void QwtScaleDraw::getBorderDistHint( 
-    const QFont &font, int &start, int &end ) const
-{
-    start = 0;
-    end = 1.0;
-
-    if ( !hasComponent( QwtAbstractScaleDraw::Labels ) )
-        return;
-
-    const QList<double> &ticks = scaleDiv().ticks( QwtScaleDiv::MajorTick );
-    if ( ticks.count() == 0 )
-        return;
-
-    // Find the ticks, that are mapped to the borders.
-    // minTick is the tick, that is mapped to the top/left-most position
-    // in widget coordinates.
-
-    double minTick = ticks[0];
-    double minPos = scaleMap().transform( minTick );
-    double maxTick = minTick;
-    double maxPos = minPos;
-
-    for ( int i = 1; i < ticks.count(); i++ )
-    {
-        const double tickPos = scaleMap().transform( ticks[i] );
-        if ( tickPos < minPos )
-        {
-            minTick = ticks[i];
-            minPos = tickPos;
-        }
-        if ( tickPos > scaleMap().transform( maxTick ) )
-        {
-            maxTick = ticks[i];
-            maxPos = tickPos;
-        }
-    }
-
-    double e = 0.0;
-    double s = 0.0;
-    if ( orientation() == Qt::Vertical )
-    {
-        s = -labelRect( font, minTick ).top();
-        s -= qAbs( minPos - qRound( scaleMap().p2() ) );
-
-        e = labelRect( font, maxTick ).bottom();
-        e -= qAbs( maxPos - scaleMap().p1() );
-    }
-    else
-    {
-        s = -labelRect( font, minTick ).left();
-        s -= qAbs( minPos - scaleMap().p1() );
-
-        e = labelRect( font, maxTick ).right();
-        e -= qAbs( maxPos - scaleMap().p2() );
-    }
-
-    if ( s < 0.0 )
-        s = 0.0;
-    if ( e < 0.0 )
-        e = 0.0;
-
-    start = qCeil( s );
-    end = qCeil( e );
-}
-
-/*!
-  Determine the minimum distance between two labels, that is necessary
-  that the texts don't overlap.
-
-  \param font Font
-  \return The maximum width of a label
-
-  \sa getBorderDistHint()
-*/
-
-int QwtScaleDraw::minLabelDist( const QFont &font ) const
-{
-    if ( !hasComponent( QwtAbstractScaleDraw::Labels ) )
-        return 0;
-
-    const QList<double> &ticks = scaleDiv().ticks( QwtScaleDiv::MajorTick );
-    if ( ticks.isEmpty() )
-        return 0;
-
-    const QFontMetrics fm( font );
-
-    const bool vertical = ( orientation() == Qt::Vertical );
-
-    QRectF bRect1;
-    QRectF bRect2 = labelRect( font, ticks[0] );
-    if ( vertical )
-    {
-        bRect2.setRect( -bRect2.bottom(), 0.0, bRect2.height(), bRect2.width() );
-    }
-
-    double maxDist = 0.0;
-
-    for ( int i = 1; i < ticks.count(); i++ )
-    {
-        bRect1 = bRect2;
-        bRect2 = labelRect( font, ticks[i] );
-        if ( vertical )
-        {
-            bRect2.setRect( -bRect2.bottom(), 0.0,
-                bRect2.height(), bRect2.width() );
-        }
-
-        double dist = fm.leading(); // space between the labels
-        if ( bRect1.right() > 0 )
-            dist += bRect1.right();
-        if ( bRect2.left() < 0 )
-            dist += -bRect2.left();
-
-        if ( dist > maxDist )
-            maxDist = dist;
-    }
-
-    double angle = qwtRadians( labelRotation() ); 
-    if ( vertical )
-        angle += M_PI / 2;
-
-    const double sinA = qFastSin( angle ); // qreal -> double
-    if ( qFuzzyCompare( sinA + 1.0, 1.0 ) )
-        return qCeil( maxDist );
-
-    const int fmHeight = fm.ascent() - 2;
-
-    // The distance we need until there is
-    // the height of the label font. This height is needed
-    // for the neighbored label.
-
-    double labelDist = fmHeight / qFastSin( angle ) * qFastCos( angle );
-    if ( labelDist < 0 )
-        labelDist = -labelDist;
-
-    // For text orientations close to the scale orientation
-
-    if ( labelDist > maxDist )
-        labelDist = maxDist;
-
-    // For text orientations close to the opposite of the
-    // scale orientation
-
-    if ( labelDist < fmHeight )
-        labelDist = fmHeight;
-
-    return qCeil( labelDist );
-}
-
-/*!
-   Calculate the width/height that is needed for a
-   vertical/horizontal scale.
-
-   The extent is calculated from the pen width of the backbone,
-   the major tick length, the spacing and the maximum width/height
-   of the labels.
-
-   \param font Font used for painting the labels
-   \return Extent
-
-   \sa minLength()
-*/
-double QwtScaleDraw::extent( const QFont &font ) const
-{
-    double d = 0;
-
-    if ( hasComponent( QwtAbstractScaleDraw::Labels ) )
-    {
-        if ( orientation() == Qt::Vertical )
-            d = maxLabelWidth( font );
-        else
-            d = maxLabelHeight( font );
-
-        if ( d > 0 )
-            d += spacing();
-    }
-
-    if ( hasComponent( QwtAbstractScaleDraw::Ticks ) )
-    {
-        d += maxTickLength();
-    }
-
-    if ( hasComponent( QwtAbstractScaleDraw::Backbone ) )
-    {
-        const double pw = qMax( 1, penWidth() );  // pen width can be zero
-        d += pw;
-    }
-
-    d = qMax( d, minimumExtent() );
-    return d;
-}
-
-/*!
-   Calculate the minimum length that is needed to draw the scale
-
-   \param font Font used for painting the labels
-   \return Minimum length that is needed to draw the scale
-
-   \sa extent()
-*/
-int QwtScaleDraw::minLength( const QFont &font ) const
-{
-    int startDist, endDist;
-    getBorderDistHint( font, startDist, endDist );
-
-    const QwtScaleDiv &sd = scaleDiv();
-
-    const uint minorCount =
-        sd.ticks( QwtScaleDiv::MinorTick ).count() +
-        sd.ticks( QwtScaleDiv::MediumTick ).count();
-    const uint majorCount =
-        sd.ticks( QwtScaleDiv::MajorTick ).count();
-
-    int lengthForLabels = 0;
-    if ( hasComponent( QwtAbstractScaleDraw::Labels ) )
-        lengthForLabels = minLabelDist( font ) * majorCount;
-
-    int lengthForTicks = 0;
-    if ( hasComponent( QwtAbstractScaleDraw::Ticks ) )
-    {
-        const double pw = qMax( 1, penWidth() );  // penwidth can be zero
-        lengthForTicks = qCeil( ( majorCount + minorCount ) * ( pw + 1.0 ) );
-    }
-
-    return startDist + endDist + qMax( lengthForLabels, lengthForTicks );
-}
-
-/*!
-   Find the position, where to paint a label
-
-   The position has a distance that depends on the length of the ticks 
-   in direction of the alignment().
-
-   \param value Value
-   \return Position, where to paint a label
-*/
-QPointF QwtScaleDraw::labelPosition( double value ) const
-{
-    const double tval = scaleMap().transform( value );
-    double dist = spacing();
-    if ( hasComponent( QwtAbstractScaleDraw::Backbone ) )
-        dist += qMax( 1, penWidth() );
-
-    if ( hasComponent( QwtAbstractScaleDraw::Ticks ) )
-        dist += tickLength( QwtScaleDiv::MajorTick );
-
-    double px = 0;
-    double py = 0;
-
-    switch ( alignment() )
-    {
-        case RightScale:
-        {
-            px = d_data->pos.x() + dist;
-            py = tval;
-            break;
-        }
-        case LeftScale:
-        {
-            px = d_data->pos.x() - dist;
-            py = tval;
-            break;
-        }
-        case BottomScale:
-        {
-            px = tval;
-            py = d_data->pos.y() + dist;
-            break;
-        }
-        case TopScale:
-        {
-            px = tval;
-            py = d_data->pos.y() - dist;
-            break;
-        }
-    }
-
-    return QPointF( px, py );
-}
-
-/*!
-   Draw a tick
-
-   \param painter Painter
-   \param value Value of the tick
-   \param len Length of the tick
-
-   \sa drawBackbone(), drawLabel()
-*/
-void QwtScaleDraw::drawTick( QPainter *painter, double value, double len ) const
-{
-    if ( len <= 0 )
-        return;
-
-    const bool roundingAlignment = QwtPainter::roundingAlignment( painter );
-
-    QPointF pos = d_data->pos;
-
-    double tval = scaleMap().transform( value );
-    if ( roundingAlignment )
-        tval = qRound( tval );
-
-    const int pw = penWidth();
-    int a = 0;
-    if ( pw > 1 && roundingAlignment )
-        a = 1;
-
-    switch ( alignment() )
-    {
-        case LeftScale:
-        {
-            double x1 = pos.x() + a;
-            double x2 = pos.x() + a - pw - len;
-            if ( roundingAlignment )
-            {
-                x1 = qRound( x1 );
-                x2 = qRound( x2 );
-            }
-
-            QwtPainter::drawLine( painter, x1, tval, x2, tval );
-            break;
-        }
-
-        case RightScale:
-        {
-            double x1 = pos.x();
-            double x2 = pos.x() + pw + len;
-            if ( roundingAlignment )
-            {
-                x1 = qRound( x1 );
-                x2 = qRound( x2 );
-            }
-
-            QwtPainter::drawLine( painter, x1, tval, x2, tval );
-            break;
-        }
-
-        case BottomScale:
-        {
-            double y1 = pos.y();
-            double y2 = pos.y() + pw + len;
-            if ( roundingAlignment )
-            {
-                y1 = qRound( y1 );
-                y2 = qRound( y2 );
-            }
-
-            QwtPainter::drawLine( painter, tval, y1, tval, y2 );
-            break;
-        }
-
-        case TopScale:
-        {
-            double y1 = pos.y() + a;
-            double y2 = pos.y() - pw - len + a;
-            if ( roundingAlignment )
-            {
-                y1 = qRound( y1 );
-                y2 = qRound( y2 );
-            }
-
-            QwtPainter::drawLine( painter, tval, y1, tval, y2 );
-            break;
-        }
-    }
-}
-
-/*!
-   Draws the baseline of the scale
-   \param painter Painter
-
-   \sa drawTick(), drawLabel()
-*/
-void QwtScaleDraw::drawBackbone( QPainter *painter ) const
-{
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    const QPointF &pos = d_data->pos;
-    const double len = d_data->len;
-    const int pw = qMax( penWidth(), 1 );
-
-    // pos indicates a border not the center of the backbone line
-    // so we need to shift its position depending on the pen width
-    // and the alignment of the scale
-
-    double off;
-    if ( doAlign )
-    {
-        if ( alignment() == LeftScale || alignment() == TopScale )
-            off = ( pw - 1 ) / 2;
-        else
-            off = pw / 2;
-    }
-    else
-    {
-        off = 0.5 * penWidth();
-    }
-
-    switch ( alignment() )
-    {
-        case LeftScale:
-        {
-            double x = pos.x() - off;
-            if ( doAlign )
-                x = qRound( x );
-
-            QwtPainter::drawLine( painter, x, pos.y(), x, pos.y() + len );
-            break;
-        }
-        case RightScale:
-        {
-            double x = pos.x() + off;
-            if ( doAlign )
-                x = qRound( x );
-
-            QwtPainter::drawLine( painter, x, pos.y(), x, pos.y() + len );
-            break;
-        }
-        case TopScale:
-        {
-            double y = pos.y() - off;
-            if ( doAlign )
-                y = qRound( y );
-
-            QwtPainter::drawLine( painter, pos.x(), y, pos.x() + len, y );
-            break;
-        }
-        case BottomScale:
-        {
-            double y = pos.y() + off;
-            if ( doAlign )
-                y = qRound( y );
-
-            QwtPainter::drawLine( painter, pos.x(), y, pos.x() + len, y );
-            break;
-        }
-    }
-}
-
-/*!
-  \brief Move the position of the scale
-
-  The meaning of the parameter pos depends on the alignment:
-  <dl>
-  <dt>QwtScaleDraw::LeftScale
-  <dd>The origin is the topmost point of the
-      backbone. The backbone is a vertical line.
-      Scale marks and labels are drawn
-      at the left of the backbone.
-  <dt>QwtScaleDraw::RightScale
-  <dd>The origin is the topmost point of the
-      backbone. The backbone is a vertical line.
-      Scale marks and labels are drawn
-      at the right of the backbone.
-  <dt>QwtScaleDraw::TopScale
-  <dd>The origin is the leftmost point of the
-      backbone. The backbone is a horizontal line.
-      Scale marks and labels are drawn
-      above the backbone.
-  <dt>QwtScaleDraw::BottomScale
-  <dd>The origin is the leftmost point of the
-      backbone. The backbone is a horizontal line
-      Scale marks and labels are drawn
-      below the backbone.
-  </dl>
-
-  \param pos Origin of the scale
-
-  \sa pos(), setLength()
-*/
-void QwtScaleDraw::move( const QPointF &pos )
-{
-    d_data->pos = pos;
-    updateMap();
-}
-
-/*!
-   \return Origin of the scale
-   \sa move(), length()
-*/
-QPointF QwtScaleDraw::pos() const
-{
-    return d_data->pos;
-}
-
-/*!
-  Set the length of the backbone.
-
-  The length doesn't include the space needed for
-  overlapping labels.
-
-  \param length Length of the backbone
-
-  \sa move(), minLabelDist()
-*/
-void QwtScaleDraw::setLength( double length )
-{
-#if 1
-    if ( length >= 0 && length < 10 )
-        length = 10;
-
-    // why should we accept negative lengths ???
-    if ( length < 0 && length > -10 )
-        length = -10;
-#else
-    length = qMax( length, 10 );
-#endif
-
-    d_data->len = length;
-    updateMap();
-}
-
-/*!
-   \return the length of the backbone
-   \sa setLength(), pos()
-*/
-double QwtScaleDraw::length() const
-{
-    return d_data->len;
-}
-
-/*!
-   Draws the label for a major scale tick
-
-   \param painter Painter
-   \param value Value
-
-   \sa drawTick(), drawBackbone(), boundingLabelRect()
-*/
-void QwtScaleDraw::drawLabel( QPainter *painter, double value ) const
-{
-    QwtText lbl = tickLabel( painter->font(), value );
-    if ( lbl.isEmpty() )
-        return;
-
-    QPointF pos = labelPosition( value );
-
-    QSizeF labelSize = lbl.textSize( painter->font() );
-
-    const QTransform transform = labelTransformation( pos, labelSize );
-
-    painter->save();
-    painter->setWorldTransform( transform, true );
-
-    lbl.draw ( painter, QRect( QPoint( 0, 0 ), labelSize.toSize() ) );
-
-    painter->restore();
-}
-
-/*!
-  \brief Find the bounding rectangle for the label.
-
-  The coordinates of the rectangle are absolute ( calculated from pos() ).
-  in direction of the tick.
-
-  \param font Font used for painting
-  \param value Value
-
-  \return Bounding rectangle
-  \sa labelRect()
-*/
-QRect QwtScaleDraw::boundingLabelRect( const QFont &font, double value ) const
-{
-    QwtText lbl = tickLabel( font, value );
-    if ( lbl.isEmpty() )
-        return QRect();
-
-    const QPointF pos = labelPosition( value );
-    QSizeF labelSize = lbl.textSize( font );
-
-    const QTransform transform = labelTransformation( pos, labelSize );
-    return transform.mapRect( QRect( QPoint( 0, 0 ), labelSize.toSize() ) );
-}
-
-/*!
-   Calculate the transformation that is needed to paint a label
-   depending on its alignment and rotation.
-
-   \param pos Position where to paint the label
-   \param size Size of the label
-
-   \return Transformation matrix
-   \sa setLabelAlignment(), setLabelRotation()
-*/
-QTransform QwtScaleDraw::labelTransformation(
-    const QPointF &pos, const QSizeF &size ) const
-{
-    QTransform transform;
-    transform.translate( pos.x(), pos.y() );
-    transform.rotate( labelRotation() );
-
-    int flags = labelAlignment();
-    if ( flags == 0 )
-    {
-        switch ( alignment() )
-        {
-            case RightScale:
-            {
-                if ( flags == 0 )
-                    flags = Qt::AlignRight | Qt::AlignVCenter;
-                break;
-            }
-            case LeftScale:
-            {
-                if ( flags == 0 )
-                    flags = Qt::AlignLeft | Qt::AlignVCenter;
-                break;
-            }
-            case BottomScale:
-            {
-                if ( flags == 0 )
-                    flags = Qt::AlignHCenter | Qt::AlignBottom;
-                break;
-            }
-            case TopScale:
-            {
-                if ( flags == 0 )
-                    flags = Qt::AlignHCenter | Qt::AlignTop;
-                break;
-            }
-        }
-    }
-
-    double x, y;
-
-    if ( flags & Qt::AlignLeft )
-        x = -size.width();
-    else if ( flags & Qt::AlignRight )
-        x = 0.0;
-    else // Qt::AlignHCenter
-        x = -( 0.5 * size.width() );
-
-    if ( flags & Qt::AlignTop )
-        y = -size.height();
-    else if ( flags & Qt::AlignBottom )
-        y = 0;
-    else // Qt::AlignVCenter
-        y = -( 0.5 * size.height() );
-
-    transform.translate( x, y );
-
-    return transform;
-}
-
-/*!
-  Find the bounding rectangle for the label. The coordinates of
-  the rectangle are relative to spacing + tick length from the backbone
-  in direction of the tick.
-
-  \param font Font used for painting
-  \param value Value
-
-   \return Bounding rectangle that is needed to draw a label
-*/
-QRectF QwtScaleDraw::labelRect( const QFont &font, double value ) const
-{
-    QwtText lbl = tickLabel( font, value );
-    if ( lbl.isEmpty() )
-        return QRectF( 0.0, 0.0, 0.0, 0.0 );
-
-    const QPointF pos = labelPosition( value );
-
-    const QSizeF labelSize = lbl.textSize( font );
-    const QTransform transform = labelTransformation( pos, labelSize );
-
-    QRectF br = transform.mapRect( QRectF( QPointF( 0, 0 ), labelSize ) );
-    br.translate( -pos.x(), -pos.y() );
-
-    return br;
-}
-
-/*!
-   Calculate the size that is needed to draw a label
-
-   \param font Label font
-   \param value Value
-
-   \return Size that is needed to draw a label
-*/
-QSizeF QwtScaleDraw::labelSize( const QFont &font, double value ) const
-{
-    return labelRect( font, value ).size();
-}
-
-/*!
-  Rotate all labels.
-
-  When changing the rotation, it might be necessary to
-  adjust the label flags too. Finding a useful combination is
-  often the result of try and error.
-
-  \param rotation Angle in degrees. When changing the label rotation,
-                  the label flags often needs to be adjusted too.
-
-  \sa setLabelAlignment(), labelRotation(), labelAlignment().
-
-*/
-void QwtScaleDraw::setLabelRotation( double rotation )
-{
-    d_data->labelRotation = rotation;
-}
-
-/*!
-  \return the label rotation
-  \sa setLabelRotation(), labelAlignment()
-*/
-double QwtScaleDraw::labelRotation() const
-{
-    return d_data->labelRotation;
-}
-
-/*!
-  \brief Change the label flags
-
-  Labels are aligned to the point tick length + spacing away from the backbone.
-
-  The alignment is relative to the orientation of the label text.
-  In case of an flags of 0 the label will be aligned
-  depending on the orientation of the scale:
-
-      QwtScaleDraw::TopScale: Qt::AlignHCenter | Qt::AlignTop\n
-      QwtScaleDraw::BottomScale: Qt::AlignHCenter | Qt::AlignBottom\n
-      QwtScaleDraw::LeftScale: Qt::AlignLeft | Qt::AlignVCenter\n
-      QwtScaleDraw::RightScale: Qt::AlignRight | Qt::AlignVCenter\n
-
-  Changing the alignment is often necessary for rotated labels.
-
-  \param alignment Or'd Qt::AlignmentFlags see <qnamespace.h>
-
-  \sa setLabelRotation(), labelRotation(), labelAlignment()
-  \warning The various alignments might be confusing.
-           The alignment of the label is not the alignment
-           of the scale and is not the alignment of the flags
-           ( QwtText::flags() ) returned from QwtAbstractScaleDraw::label().
-*/
-
-void QwtScaleDraw::setLabelAlignment( Qt::Alignment alignment )
-{
-    d_data->labelAlignment = alignment;
-}
-
-/*!
-  \return the label flags
-  \sa setLabelAlignment(), labelRotation()
-*/
-Qt::Alignment QwtScaleDraw::labelAlignment() const
-{
-    return d_data->labelAlignment;
-}
-
-/*!
-  \param font Font
-  \return the maximum width of a label
-*/
-int QwtScaleDraw::maxLabelWidth( const QFont &font ) const
-{
-    double maxWidth = 0.0;
-
-    const QList<double> &ticks = scaleDiv().ticks( QwtScaleDiv::MajorTick );
-    for ( int i = 0; i < ticks.count(); i++ )
-    {
-        const double v = ticks[i];
-        if ( scaleDiv().contains( v ) )
-        {
-            const double w = labelSize( font, ticks[i] ).width();
-            if ( w > maxWidth )
-                maxWidth = w;
-        }
-    }
-
-    return qCeil( maxWidth );
-}
-
-/*!
-  \param font Font
-  \return the maximum height of a label
-*/
-int QwtScaleDraw::maxLabelHeight( const QFont &font ) const
-{
-    double maxHeight = 0.0;
-
-    const QList<double> &ticks = scaleDiv().ticks( QwtScaleDiv::MajorTick );
-    for ( int i = 0; i < ticks.count(); i++ )
-    {
-        const double v = ticks[i];
-        if ( scaleDiv().contains( v ) )
-        {
-            const double h = labelSize( font, ticks[i] ).height();
-            if ( h > maxHeight )
-                maxHeight = h;
-        }
-    }
-
-    return qCeil( maxHeight );
-}
-
-void QwtScaleDraw::updateMap()
-{
-    const QPointF pos = d_data->pos;
-    double len = d_data->len;
-
-    QwtScaleMap &sm = scaleMap();
-    if ( orientation() == Qt::Vertical )
-        sm.setPaintInterval( pos.y() + len, pos.y() );
-    else
-        sm.setPaintInterval( pos.x(), pos.x() + len );
-}
diff --git a/SRC/Qwt/src/qwt_scale_draw.h b/SRC/Qwt/src/qwt_scale_draw.h
deleted file mode 100644
index 1571d95..0000000
--- a/SRC/Qwt/src/qwt_scale_draw.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_SCALE_DRAW_H
-#define QWT_SCALE_DRAW_H
-
-#include "qwt_global.h"
-#include "qwt_abstract_scale_draw.h"
-#include <qpoint.h>
-#include <qrect.h>
-#include <qtransform.h>
-
-/*!
-  \brief A class for drawing scales
-
-  QwtScaleDraw can be used to draw linear or logarithmic scales.
-  A scale has a position, an alignment and a length, which can be specified .
-  The labels can be rotated and aligned
-  to the ticks using setLabelRotation() and setLabelAlignment().
-
-  After a scale division has been specified as a QwtScaleDiv object
-  using QwtAbstractScaleDraw::setScaleDiv(const QwtScaleDiv &s),
-  the scale can be drawn with the QwtAbstractScaleDraw::draw() member.
-*/
-class QWT_EXPORT QwtScaleDraw: public QwtAbstractScaleDraw
-{
-public:
-    /*!
-        Alignment of the scale draw
-        \sa setAlignment(), alignment()
-     */
-    enum Alignment 
-    { 
-        //! The scale is below
-        BottomScale, 
-
-        //! The scale is above
-        TopScale, 
-
-        //! The scale is left
-        LeftScale, 
-
-        //! The scale is right
-        RightScale 
-    };
-
-    QwtScaleDraw();
-    virtual ~QwtScaleDraw();
-
-    void getBorderDistHint( const QFont &, int &start, int &end ) const;
-    int minLabelDist( const QFont & ) const;
-
-    int minLength( const QFont & ) const;
-    virtual double extent( const QFont & ) const;
-
-    void move( double x, double y );
-    void move( const QPointF & );
-    void setLength( double length );
-
-    Alignment alignment() const;
-    void setAlignment( Alignment );
-
-    Qt::Orientation orientation() const;
-
-    QPointF pos() const;
-    double length() const;
-
-    void setLabelAlignment( Qt::Alignment );
-    Qt::Alignment labelAlignment() const;
-
-    void setLabelRotation( double rotation );
-    double labelRotation() const;
-
-    int maxLabelHeight( const QFont & ) const;
-    int maxLabelWidth( const QFont & ) const;
-
-    QPointF labelPosition( double val ) const;
-
-    QRectF labelRect( const QFont &, double val ) const;
-    QSizeF labelSize( const QFont &, double val ) const;
-
-    QRect boundingLabelRect( const QFont &, double val ) const;
-
-protected:
-    QTransform labelTransformation( const QPointF &, const QSizeF & ) const;
-
-    virtual void drawTick( QPainter *, double val, double len ) const;
-    virtual void drawBackbone( QPainter * ) const;
-    virtual void drawLabel( QPainter *, double val ) const;
-
-private:
-    QwtScaleDraw( const QwtScaleDraw & );
-    QwtScaleDraw &operator=( const QwtScaleDraw &other );
-
-    void updateMap();
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-/*!
-   Move the position of the scale
-
-   \param x X coordinate
-   \param y Y coordinate
-
-   \sa move(const QPointF &)
-*/
-inline void QwtScaleDraw::move( double x, double y )
-{
-    move( QPointF( x, y ) );
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_scale_engine.cpp b/SRC/Qwt/src/qwt_scale_engine.cpp
deleted file mode 100644
index b4ff232..0000000
--- a/SRC/Qwt/src/qwt_scale_engine.cpp
+++ /dev/null
@@ -1,1137 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_scale_engine.h"
-#include "qwt_math.h"
-#include "qwt_scale_map.h"
-#include <qalgorithms.h>
-#include <qmath.h>
-#include <float.h>
-#include <limits>
-
-#if QT_VERSION < 0x040601
-#define qFabs(x) ::fabs(x)
-#define qExp(x) ::exp(x)
-#endif
-
-static inline double qwtLog( double base, double value )
-{
-    return log( value ) / log( base );
-}
-
-static inline QwtInterval qwtLogInterval( double base, const QwtInterval &interval )
-{
-    return QwtInterval( qwtLog( base, interval.minValue() ),
-            qwtLog( base, interval.maxValue() ) );
-}
-
-static inline QwtInterval qwtPowInterval( double base, const QwtInterval &interval ) 
-{
-    return QwtInterval( qPow( base, interval.minValue() ),
-            qPow( base, interval.maxValue() ) );
-}
-
-static inline long double qwtIntervalWidthL( const QwtInterval &interval )
-{
-    if ( !interval.isValid() )
-        return 0.0;
-
-    return static_cast<long double>( interval.maxValue() )
-        - static_cast<long double>( interval.minValue() );
-}
-
-#if 1
-
-// this version often doesn't find the best ticks: f.e for 15: 5, 10
-static double qwtStepSize( double intervalSize, int maxSteps, uint base )
-{
-    const double minStep = 
-        QwtScaleArithmetic::divideInterval( intervalSize, maxSteps, base );
-
-    if ( minStep != 0.0 )
-    {
-        // # ticks per interval
-        const int numTicks = qCeil( qAbs( intervalSize / minStep ) ) - 1;
-
-        // Do the minor steps fit into the interval?
-        if ( qwtFuzzyCompare( ( numTicks +  1 ) * qAbs( minStep ),
-            qAbs( intervalSize ), intervalSize ) > 0 )
-        {
-            // The minor steps doesn't fit into the interval
-            return 0.5 * intervalSize;
-        }
-    }
-
-    return minStep;
-}
-
-#else
-
-static double qwtStepSize( double intervalSize, int maxSteps, uint base )
-{
-    if ( maxSteps <= 0 )
-        return 0.0;
-
-    if ( maxSteps > 2 )
-    {
-        for ( int numSteps = maxSteps; numSteps > 1; numSteps-- )
-        {
-            const double stepSize = intervalSize / numSteps;
-
-            const double p = ::floor( ::log( stepSize ) / ::log( base ) );
-            const double fraction = qPow( base, p );
-
-            for ( uint n = base; n > 1; n /= 2 )
-            {
-                if ( qFuzzyCompare( stepSize, n * fraction ) )
-                    return stepSize;
-
-                if ( n == 3 && ( base % 2 ) == 0 )
-                {
-                    if ( qFuzzyCompare( stepSize, 2 * fraction ) )
-                        return stepSize;
-                }
-            }
-        }
-    }
-
-    return intervalSize * 0.5;
-}
-
-#endif
-
-static const double _eps = 1.0e-6;
-
-/*!
-  Ceil a value, relative to an interval
-
-  \param value Value to be ceiled
-  \param intervalSize Interval size
-
-  \return Rounded value
-
-  \sa floorEps()
-*/
-double QwtScaleArithmetic::ceilEps( double value,
-    double intervalSize )
-{
-    const double eps = _eps * intervalSize;
-
-    value = ( value - eps ) / intervalSize;
-    return ::ceil( value ) * intervalSize;
-}
-
-/*!
-  Floor a value, relative to an interval
-
-  \param value Value to be floored
-  \param intervalSize Interval size
-
-  \return Rounded value
-  \sa floorEps()
-*/
-double QwtScaleArithmetic::floorEps( double value, double intervalSize )
-{
-    const double eps = _eps * intervalSize;
-
-    value = ( value + eps ) / intervalSize;
-    return ::floor( value ) * intervalSize;
-}
-
-/*!
-  \brief Divide an interval into steps
-
-  \f$stepSize = (intervalSize - intervalSize * 10e^{-6}) / numSteps\f$
-
-  \param intervalSize Interval size
-  \param numSteps Number of steps
-  \return Step size
-*/
-double QwtScaleArithmetic::divideEps( double intervalSize, double numSteps )
-{
-    if ( numSteps == 0.0 || intervalSize == 0.0 )
-        return 0.0;
-
-    return ( intervalSize - ( _eps * intervalSize ) ) / numSteps;
-}
-
-/*!
-  Calculate a step size for a given interval
-
-  \param intervalSize Interval size
-  \param numSteps Number of steps
-  \param base Base for the division ( usually 10 )
-
-  \return Calculated step size
- */
-double QwtScaleArithmetic::divideInterval( 
-    double intervalSize, int numSteps, uint base ) 
-{
-    if ( numSteps <= 0 )
-        return 0.0;
-
-    const double v = QwtScaleArithmetic::divideEps( intervalSize, numSteps );
-    if ( v == 0.0 )
-        return 0.0;
-
-    const double lx = qwtLog( base, qFabs( v ) );
-    const double p = ::floor( lx );
-
-    const double fraction = qPow( base, lx - p );
-
-    uint n = base;
-    while ( ( n > 1 ) && ( fraction <= n / 2 ) )
-        n /= 2;
-
-    double stepSize = n * qPow( base, p );
-    if ( v < 0 )
-        stepSize = -stepSize;
-
-    return stepSize;
-}
-
-class QwtScaleEngine::PrivateData
-{
-public:
-    PrivateData():
-        attributes( QwtScaleEngine::NoAttribute ),
-        lowerMargin( 0.0 ),
-        upperMargin( 0.0 ),
-        referenceValue( 0.0 ),
-        base( 10 ),
-        transform( NULL )
-    {
-    }
-
-    ~PrivateData()
-    {
-        delete transform;
-    }
-
-    QwtScaleEngine::Attributes attributes;
-
-    double lowerMargin;
-    double upperMargin;
-
-    double referenceValue;
-
-    uint base;
-
-    QwtTransform* transform;
-};
-
-/*!
-  Constructor
-
-  \param base Base of the scale engine
-  \sa setBase()
- */
-QwtScaleEngine::QwtScaleEngine( uint base )
-{
-    d_data = new PrivateData;
-    setBase( base );
-}
-
-
-//! Destructor
-QwtScaleEngine::~QwtScaleEngine ()
-{
-    delete d_data;
-}
-
-/*!
-   Assign a transformation
-
-   \param transform Transformation
-
-   The transformation object is used as factory for clones
-   that are returned by transformation()
-
-   The scale engine takes ownership of the transformation.
-
-   \sa QwtTransform::copy(), transformation()
-
- */
-void QwtScaleEngine::setTransformation( QwtTransform *transform )
-{
-    if ( transform != d_data->transform )
-    {
-        delete d_data->transform;
-        d_data->transform = transform;
-    }
-}
-
-/*!
-   Create and return a clone of the transformation 
-   of the engine. When the engine has no special transformation
-   NULL is returned, indicating no transformation.
-
-   \return A clone of the transfomation
-   \sa setTransformation()
- */
-QwtTransform *QwtScaleEngine::transformation() const
-{
-    QwtTransform *transform = NULL;
-    if ( d_data->transform )
-        transform = d_data->transform->copy();
-
-    return transform;
-}
-
-/*!
-    \return the margin at the lower end of the scale
-    The default margin is 0.
-
-    \sa setMargins()
-*/
-double QwtScaleEngine::lowerMargin() const
-{
-    return d_data->lowerMargin;
-}
-
-/*!
-    \return the margin at the upper end of the scale
-    The default margin is 0.
-
-    \sa setMargins()
-*/
-double QwtScaleEngine::upperMargin() const
-{
-    return d_data->upperMargin;
-}
-
-/*!
-  \brief Specify margins at the scale's endpoints
-  \param lower minimum distance between the scale's lower boundary and the
-             smallest enclosed value
-  \param upper minimum distance between the scale's upper boundary and the
-             greatest enclosed value
-
-  Margins can be used to leave a minimum amount of space between
-  the enclosed intervals and the boundaries of the scale.
-
-  \warning
-  \li QwtLogScaleEngine measures the margins in decades.
-
-  \sa upperMargin(), lowerMargin()
-*/
-
-void QwtScaleEngine::setMargins( double lower, double upper )
-{
-    d_data->lowerMargin = qMax( lower, 0.0 );
-    d_data->upperMargin = qMax( upper, 0.0 );
-}
-
-/*!
-  Calculate a step size for an interval size
-
-  \param intervalSize Interval size
-  \param numSteps Number of steps
-
-  \return Step size
-*/
-double QwtScaleEngine::divideInterval(
-    double intervalSize, int numSteps ) const
-{
-    return QwtScaleArithmetic::divideInterval( 
-        intervalSize, numSteps, d_data->base );
-}
-
-/*!
-  Check if an interval "contains" a value
-
-  \param interval Interval
-  \param value Value
-
-  \return True, when the value is inside the interval
-*/
-bool QwtScaleEngine::contains(
-    const QwtInterval &interval, double value ) const
-{
-    if ( !interval.isValid() )
-        return false;
-
-    if ( qwtFuzzyCompare( value, interval.minValue(), interval.width() ) < 0 )
-        return false;
-
-    if ( qwtFuzzyCompare( value, interval.maxValue(), interval.width() ) > 0 )
-        return false;
-
-    return true;
-}
-
-/*!
-  Remove ticks from a list, that are not inside an interval
-
-  \param ticks Tick list
-  \param interval Interval
-
-  \return Stripped tick list
-*/
-QList<double> QwtScaleEngine::strip( const QList<double>& ticks,
-    const QwtInterval &interval ) const
-{
-    if ( !interval.isValid() || ticks.count() == 0 )
-        return QList<double>();
-
-    if ( contains( interval, ticks.first() )
-        && contains( interval, ticks.last() ) )
-    {
-        return ticks;
-    }
-
-    QList<double> strippedTicks;
-    for ( int i = 0; i < ticks.count(); i++ )
-    {
-        if ( contains( interval, ticks[i] ) )
-            strippedTicks += ticks[i];
-    }
-    return strippedTicks;
-}
-
-/*!
-  \brief Build an interval around a value
-
-  In case of v == 0.0 the interval is [-0.5, 0.5],
-  otherwide it is [0.5 * v, 1.5 * v]
-
-  \param value Initial value
-  \return Calculated interval
-*/
-
-QwtInterval QwtScaleEngine::buildInterval( double value ) const
-{
-    const double delta = ( value == 0.0 ) ? 0.5 : qAbs( 0.5 * value );
-
-    if ( DBL_MAX - delta < value )
-        return QwtInterval( DBL_MAX - delta, DBL_MAX );
-
-    if ( -DBL_MAX + delta > value )
-        return QwtInterval( -DBL_MAX, -DBL_MAX + delta );
-
-    return QwtInterval( value - delta, value + delta );
-}
-
-/*!
-  Change a scale attribute
-
-  \param attribute Attribute to change
-  \param on On/Off
-
-  \sa Attribute, testAttribute()
-*/
-void QwtScaleEngine::setAttribute( Attribute attribute, bool on )
-{
-    if ( on )
-        d_data->attributes |= attribute;
-    else
-        d_data->attributes &= ~attribute;
-}
-
-/*!
-  \return True, if attribute is enabled.
-
-  \param attribute Attribute to be tested
-  \sa Attribute, setAttribute()
-*/
-bool QwtScaleEngine::testAttribute( Attribute attribute ) const
-{
-    return ( d_data->attributes & attribute );
-}
-
-/*!
-  Change the scale attribute
-
-  \param attributes Set scale attributes
-  \sa Attribute, attributes()
-*/
-void QwtScaleEngine::setAttributes( Attributes attributes )
-{
-    d_data->attributes = attributes;
-}
-
-/*!
-  \return Scale attributes
-  \sa Attribute, setAttributes(), testAttribute()
-*/
-QwtScaleEngine::Attributes QwtScaleEngine::attributes() const
-{
-    return d_data->attributes;
-}
-
-/*!
-  \brief Specify a reference point
-  \param r new reference value
-
-  The reference point is needed if options IncludeReference or
-  Symmetric are active. Its default value is 0.0.
-
-  \sa Attribute
-*/
-void QwtScaleEngine::setReference( double r )
-{
-    d_data->referenceValue = r;
-}
-
-/*!
-  \return the reference value
-  \sa setReference(), setAttribute()
-*/
-double QwtScaleEngine::reference() const
-{
-    return d_data->referenceValue;
-}
-
-/*!
-  Set the base of the scale engine
-
-  While a base of 10 is what 99.9% of all applications need
-  certain scales might need a different base: f.e 2
-
-  The default setting is 10
-
-  \param base Base of the engine
-
-  \sa base()
- */
-void QwtScaleEngine::setBase( uint base )
-{ 
-    d_data->base = qMax( base, 2U );
-}
-
-/*!
-  \return base Base of the scale engine
-  \sa setBase()
- */
-uint QwtScaleEngine::base() const
-{
-    return d_data->base;
-}
-
-/*!
-  Constructor
-
-  \param base Base of the scale engine
-  \sa setBase()
- */
-QwtLinearScaleEngine::QwtLinearScaleEngine( uint base ):
-    QwtScaleEngine( base )
-{
-}
-
-//! Destructor
-QwtLinearScaleEngine::~QwtLinearScaleEngine()
-{
-}
-
-/*!
-  Align and divide an interval
-
-  \param maxNumSteps Max. number of steps
-  \param x1 First limit of the interval (In/Out)
-  \param x2 Second limit of the interval (In/Out)
-  \param stepSize Step size (Out)
-
-  \sa setAttribute()
-*/
-void QwtLinearScaleEngine::autoScale( int maxNumSteps,
-    double &x1, double &x2, double &stepSize ) const
-{
-    QwtInterval interval( x1, x2 );
-    interval = interval.normalized();
-
-    interval.setMinValue( interval.minValue() - lowerMargin() );
-    interval.setMaxValue( interval.maxValue() + upperMargin() );
-
-    if ( testAttribute( QwtScaleEngine::Symmetric ) )
-        interval = interval.symmetrize( reference() );
-
-    if ( testAttribute( QwtScaleEngine::IncludeReference ) )
-        interval = interval.extend( reference() );
-
-    if ( interval.width() == 0.0 )
-        interval = buildInterval( interval.minValue() );
-
-    stepSize = QwtScaleArithmetic::divideInterval( 
-        interval.width(), qMax( maxNumSteps, 1 ), base() );
-
-    if ( !testAttribute( QwtScaleEngine::Floating ) )
-        interval = align( interval, stepSize );
-
-    x1 = interval.minValue();
-    x2 = interval.maxValue();
-
-    if ( testAttribute( QwtScaleEngine::Inverted ) )
-    {
-        qSwap( x1, x2 );
-        stepSize = -stepSize;
-    }
-}
-
-/*!
-   \brief Calculate a scale division for an interval
-
-   \param x1 First interval limit
-   \param x2 Second interval limit
-   \param maxMajorSteps Maximum for the number of major steps
-   \param maxMinorSteps Maximum number of minor steps
-   \param stepSize Step size. If stepSize == 0, the engine
-                   calculates one.
-
-   \return Calculated scale division
-*/
-QwtScaleDiv QwtLinearScaleEngine::divideScale( double x1, double x2,
-    int maxMajorSteps, int maxMinorSteps, double stepSize ) const
-{
-    QwtInterval interval = QwtInterval( x1, x2 ).normalized();
-
-    if ( qwtIntervalWidthL( interval ) > std::numeric_limits<double>::max() )
-    {
-        qWarning() << "QwtLinearScaleEngine::divideScale: overflow";
-        return QwtScaleDiv();
-    }
-
-    if ( interval.width() <= 0 )
-        return QwtScaleDiv();
-
-    stepSize = qAbs( stepSize );
-    if ( stepSize == 0.0 )
-    {
-        if ( maxMajorSteps < 1 )
-            maxMajorSteps = 1;
-
-        stepSize = QwtScaleArithmetic::divideInterval( 
-            interval.width(), maxMajorSteps, base() );
-    }
-
-    QwtScaleDiv scaleDiv;
-
-    if ( stepSize != 0.0 )
-    {
-        QList<double> ticks[QwtScaleDiv::NTickTypes];
-        buildTicks( interval, stepSize, maxMinorSteps, ticks );
-
-        scaleDiv = QwtScaleDiv( interval, ticks );
-    }
-
-    if ( x1 > x2 )
-        scaleDiv.invert();
-
-    return scaleDiv;
-}
-
-/*!
-   \brief Calculate ticks for an interval
-
-   \param interval Interval
-   \param stepSize Step size
-   \param maxMinorSteps Maximum number of minor steps
-   \param ticks Arrays to be filled with the calculated ticks
-
-   \sa buildMajorTicks(), buildMinorTicks
-*/
-void QwtLinearScaleEngine::buildTicks(
-    const QwtInterval& interval, double stepSize, int maxMinorSteps,
-    QList<double> ticks[QwtScaleDiv::NTickTypes] ) const
-{
-    const QwtInterval boundingInterval = align( interval, stepSize );
-
-    ticks[QwtScaleDiv::MajorTick] =
-        buildMajorTicks( boundingInterval, stepSize );
-
-    if ( maxMinorSteps > 0 )
-    {
-        buildMinorTicks( ticks[QwtScaleDiv::MajorTick], maxMinorSteps, stepSize,
-            ticks[QwtScaleDiv::MinorTick], ticks[QwtScaleDiv::MediumTick] );
-    }
-
-    for ( int i = 0; i < QwtScaleDiv::NTickTypes; i++ )
-    {
-        ticks[i] = strip( ticks[i], interval );
-
-        // ticks very close to 0.0 are
-        // explicitely set to 0.0
-
-        for ( int j = 0; j < ticks[i].count(); j++ )
-        {
-            if ( qwtFuzzyCompare( ticks[i][j], 0.0, stepSize ) == 0 )
-                ticks[i][j] = 0.0;
-        }
-    }
-}
-
-/*!
-   \brief Calculate major ticks for an interval
-
-   \param interval Interval
-   \param stepSize Step size
-
-   \return Calculated ticks
-*/
-QList<double> QwtLinearScaleEngine::buildMajorTicks(
-    const QwtInterval &interval, double stepSize ) const
-{
-    int numTicks = qRound( interval.width() / stepSize ) + 1;
-    if ( numTicks > 10000 )
-        numTicks = 10000;
-
-    QList<double> ticks;
-
-    ticks += interval.minValue();
-    for ( int i = 1; i < numTicks - 1; i++ )
-        ticks += interval.minValue() + i * stepSize;
-    ticks += interval.maxValue();
-
-    return ticks;
-}
-
-/*!
-   \brief Calculate minor/medium ticks for major ticks
-
-   \param majorTicks Major ticks
-   \param maxMinorSteps Maximum number of minor steps
-   \param stepSize Step size
-   \param minorTicks Array to be filled with the calculated minor ticks
-   \param mediumTicks Array to be filled with the calculated medium ticks
-
-*/
-void QwtLinearScaleEngine::buildMinorTicks(
-    const QList<double>& majorTicks,
-    int maxMinorSteps, double stepSize,
-    QList<double> &minorTicks,
-    QList<double> &mediumTicks ) const
-{
-    double minStep = qwtStepSize( stepSize, maxMinorSteps, base() );
-    if ( minStep == 0.0 )
-        return;
-
-    // # ticks per interval
-    const int numTicks = qCeil( qAbs( stepSize / minStep ) ) - 1;
-
-    int medIndex = -1;
-    if ( numTicks % 2 )
-        medIndex = numTicks / 2;
-
-    // calculate minor ticks
-
-    for ( int i = 0; i < majorTicks.count(); i++ )
-    {
-        double val = majorTicks[i];
-        for ( int k = 0; k < numTicks; k++ )
-        {
-            val += minStep;
-
-            double alignedValue = val;
-            if ( qwtFuzzyCompare( val, 0.0, stepSize ) == 0 )
-                alignedValue = 0.0;
-
-            if ( k == medIndex )
-                mediumTicks += alignedValue;
-            else
-                minorTicks += alignedValue;
-        }
-    }
-}
-
-/*!
-  \brief Align an interval to a step size
-
-  The limits of an interval are aligned that both are integer
-  multiples of the step size.
-
-  \param interval Interval
-  \param stepSize Step size
-
-  \return Aligned interval
-*/
-QwtInterval QwtLinearScaleEngine::align(
-    const QwtInterval &interval, double stepSize ) const
-{
-    double x1 = interval.minValue();
-    double x2 = interval.maxValue();
-
-    if ( -DBL_MAX + stepSize <= x1 )
-    {
-        const double x = QwtScaleArithmetic::floorEps( x1, stepSize );
-        if ( qwtFuzzyCompare( x1, x, stepSize ) != 0 )
-            x1 = x;
-    }
-
-    if ( DBL_MAX - stepSize >= x2 )
-    {
-        const double x = QwtScaleArithmetic::ceilEps( x2, stepSize );
-        if ( qwtFuzzyCompare( x2, x, stepSize ) != 0 )
-            x2 = x;
-    }
-
-    return QwtInterval( x1, x2 );
-}
-
-/*!
-  Constructor
-
-  \param base Base of the scale engine
-  \sa setBase()
- */
-QwtLogScaleEngine::QwtLogScaleEngine( uint base ):
-    QwtScaleEngine( base )
-{
-    setTransformation( new QwtLogTransform() );
-}
-
-//! Destructor
-QwtLogScaleEngine::~QwtLogScaleEngine()
-{
-}
-
-/*!
-    Align and divide an interval
-
-   \param maxNumSteps Max. number of steps
-   \param x1 First limit of the interval (In/Out)
-   \param x2 Second limit of the interval (In/Out)
-   \param stepSize Step size (Out)
-
-   \sa QwtScaleEngine::setAttribute()
-*/
-void QwtLogScaleEngine::autoScale( int maxNumSteps,
-    double &x1, double &x2, double &stepSize ) const
-{
-    if ( x1 > x2 )
-        qSwap( x1, x2 );
-
-    const double logBase = base();
-
-    QwtInterval interval( x1 / qPow( logBase, lowerMargin() ),
-        x2 * qPow( logBase, upperMargin() ) );
-
-    if ( interval.maxValue() / interval.minValue() < logBase )
-    {
-        // scale width is less than one step -> try to build a linear scale
-
-        QwtLinearScaleEngine linearScaler;
-        linearScaler.setAttributes( attributes() );
-        linearScaler.setReference( reference() );
-        linearScaler.setMargins( lowerMargin(), upperMargin() );
-
-        linearScaler.autoScale( maxNumSteps, x1, x2, stepSize );
-
-        QwtInterval linearInterval = QwtInterval( x1, x2 ).normalized();
-        linearInterval = linearInterval.limited( LOG_MIN, LOG_MAX );
-
-        if ( linearInterval.maxValue() / linearInterval.minValue() < logBase )
-        {
-            // the aligned scale is still less than one step
-            if ( stepSize < 0.0 )
-                stepSize = -qwtLog( logBase, qAbs( stepSize ) );
-            else
-                stepSize = qwtLog( logBase, stepSize );
-
-            return;
-        }
-    }
-
-    double logRef = 1.0;
-    if ( reference() > LOG_MIN / 2 )
-        logRef = qMin( reference(), LOG_MAX / 2 );
-
-    if ( testAttribute( QwtScaleEngine::Symmetric ) )
-    {
-        const double delta = qMax( interval.maxValue() / logRef,
-            logRef / interval.minValue() );
-        interval.setInterval( logRef / delta, logRef * delta );
-    }
-
-    if ( testAttribute( QwtScaleEngine::IncludeReference ) )
-        interval = interval.extend( logRef );
-
-    interval = interval.limited( LOG_MIN, LOG_MAX );
-
-    if ( interval.width() == 0.0 )
-        interval = buildInterval( interval.minValue() );
-
-    stepSize = divideInterval( qwtLogInterval( logBase, interval ).width(), 
-        qMax( maxNumSteps, 1 ) );
-    if ( stepSize < 1.0 )
-        stepSize = 1.0;
-
-    if ( !testAttribute( QwtScaleEngine::Floating ) )
-        interval = align( interval, stepSize );
-
-    x1 = interval.minValue();
-    x2 = interval.maxValue();
-
-    if ( testAttribute( QwtScaleEngine::Inverted ) )
-    {
-        qSwap( x1, x2 );
-        stepSize = -stepSize;
-    }
-}
-
-/*!
-   \brief Calculate a scale division for an interval
-
-   \param x1 First interval limit
-   \param x2 Second interval limit
-   \param maxMajorSteps Maximum for the number of major steps
-   \param maxMinorSteps Maximum number of minor steps
-   \param stepSize Step size. If stepSize == 0, the engine
-                   calculates one.
-
-   \return Calculated scale division
-*/
-QwtScaleDiv QwtLogScaleEngine::divideScale( double x1, double x2,
-    int maxMajorSteps, int maxMinorSteps, double stepSize ) const
-{
-    QwtInterval interval = QwtInterval( x1, x2 ).normalized();
-    interval = interval.limited( LOG_MIN, LOG_MAX );
-
-    if ( interval.width() <= 0 )
-        return QwtScaleDiv();
-
-    const double logBase = base();
-
-    if ( interval.maxValue() / interval.minValue() < logBase )
-    {
-        // scale width is less than one decade -> build linear scale
-
-        QwtLinearScaleEngine linearScaler;
-        linearScaler.setAttributes( attributes() );
-        linearScaler.setReference( reference() );
-        linearScaler.setMargins( lowerMargin(), upperMargin() );
-
-        if ( stepSize != 0.0 )
-        {
-            if ( stepSize < 0.0 )
-                stepSize = -qPow( logBase, -stepSize );
-            else
-                stepSize = qPow( logBase, stepSize );
-        }
-
-        return linearScaler.divideScale( x1, x2,
-            maxMajorSteps, maxMinorSteps, stepSize );
-    }
-
-    stepSize = qAbs( stepSize );
-    if ( stepSize == 0.0 )
-    {
-        if ( maxMajorSteps < 1 )
-            maxMajorSteps = 1;
-
-        stepSize = divideInterval( 
-            qwtLogInterval( logBase, interval ).width(), maxMajorSteps );
-        if ( stepSize < 1.0 )
-            stepSize = 1.0; // major step must be >= 1 decade
-    }
-
-    QwtScaleDiv scaleDiv;
-    if ( stepSize != 0.0 )
-    {
-        QList<double> ticks[QwtScaleDiv::NTickTypes];
-        buildTicks( interval, stepSize, maxMinorSteps, ticks );
-
-        scaleDiv = QwtScaleDiv( interval, ticks );
-    }
-
-    if ( x1 > x2 )
-        scaleDiv.invert();
-
-    return scaleDiv;
-}
-
-/*!
-   \brief Calculate ticks for an interval
-
-   \param interval Interval
-   \param maxMinorSteps Maximum number of minor steps
-   \param stepSize Step size
-   \param ticks Arrays to be filled with the calculated ticks
-
-   \sa buildMajorTicks(), buildMinorTicks
-*/
-void QwtLogScaleEngine::buildTicks(
-    const QwtInterval& interval, double stepSize, int maxMinorSteps,
-    QList<double> ticks[QwtScaleDiv::NTickTypes] ) const
-{
-    const QwtInterval boundingInterval = align( interval, stepSize );
-
-    ticks[QwtScaleDiv::MajorTick] =
-        buildMajorTicks( boundingInterval, stepSize );
-
-    if ( maxMinorSteps > 0 )
-    {
-        buildMinorTicks( ticks[QwtScaleDiv::MajorTick], maxMinorSteps, stepSize,
-            ticks[QwtScaleDiv::MinorTick], ticks[QwtScaleDiv::MediumTick] );
-    }
-
-    for ( int i = 0; i < QwtScaleDiv::NTickTypes; i++ )
-        ticks[i] = strip( ticks[i], interval );
-}
-
-/*!
-   \brief Calculate major ticks for an interval
-
-   \param interval Interval
-   \param stepSize Step size
-
-   \return Calculated ticks
-*/
-QList<double> QwtLogScaleEngine::buildMajorTicks(
-    const QwtInterval &interval, double stepSize ) const
-{
-    double width = qwtLogInterval( base(), interval ).width();
-
-    int numTicks = qRound( width / stepSize ) + 1;
-    if ( numTicks > 10000 )
-        numTicks = 10000;
-
-    const double lxmin = ::log( interval.minValue() );
-    const double lxmax = ::log( interval.maxValue() );
-    const double lstep = ( lxmax - lxmin ) / double( numTicks - 1 );
-
-    QList<double> ticks;
-
-    ticks += interval.minValue();
-
-    for ( int i = 1; i < numTicks - 1; i++ )
-        ticks += qExp( lxmin + double( i ) * lstep );
-
-    ticks += interval.maxValue();
-
-    return ticks;
-}
-
-/*!
-   \brief Calculate minor/medium ticks for major ticks
-
-   \param majorTicks Major ticks
-   \param maxMinorSteps Maximum number of minor steps
-   \param stepSize Step size
-   \param minorTicks Array to be filled with the calculated minor ticks
-   \param mediumTicks Array to be filled with the calculated medium ticks
-*/
-void QwtLogScaleEngine::buildMinorTicks(
-    const QList<double> &majorTicks,
-    int maxMinorSteps, double stepSize,
-    QList<double> &minorTicks,
-    QList<double> &mediumTicks ) const
-{
-    const double logBase = base();
-
-    if ( stepSize < 1.1 )          // major step width is one base
-    {
-        double minStep = divideInterval( stepSize, maxMinorSteps + 1 );
-        if ( minStep == 0.0 )
-            return;
-        
-        const int numSteps = qRound( stepSize / minStep ); 
-
-        int mediumTickIndex = -1;
-        if ( ( numSteps > 2 ) && ( numSteps % 2 == 0 ) )
-            mediumTickIndex = numSteps / 2;
-
-        for ( int i = 0; i < majorTicks.count() - 1; i++ )
-        {
-            const double v = majorTicks[i];
-            const double s = logBase / numSteps;
-
-            if ( s >= 1.0 )
-            {
-                if ( !qFuzzyCompare( s, 1.0 ) )
-                    minorTicks += v * s;
-
-                for ( int j = 2; j < numSteps; j++ )
-                {
-                    minorTicks += v * j * s;
-                }
-            }
-            else
-            {
-                for ( int j = 1; j < numSteps; j++ )
-                {
-                    const double tick = v + j * v * ( logBase - 1 ) / numSteps;
-                    if ( j == mediumTickIndex )
-                        mediumTicks += tick;
-                    else
-                        minorTicks += tick;
-                }
-            }
-        }
-    }
-    else
-    {
-        double minStep = divideInterval( stepSize, maxMinorSteps );
-        if ( minStep == 0.0 )
-            return;
-
-        if ( minStep < 1.0 )
-            minStep = 1.0;
-
-        // # subticks per interval
-        int numTicks = qRound( stepSize / minStep ) - 1;
-
-        // Do the minor steps fit into the interval?
-        if ( qwtFuzzyCompare( ( numTicks +  1 ) * minStep,
-            stepSize, stepSize ) > 0 )
-        {
-            numTicks = 0;
-        }
-
-        if ( numTicks < 1 )
-            return; 
-
-        int mediumTickIndex = -1;
-        if ( ( numTicks > 2 ) && ( numTicks % 2 ) )
-            mediumTickIndex = numTicks / 2;
-
-        // substep factor = base^substeps
-        const qreal minFactor = qMax( qPow( logBase, minStep ), qreal( logBase ) );
-
-        for ( int i = 0; i < majorTicks.count(); i++ )
-        {
-            double tick = majorTicks[i];
-            for ( int j = 0; j < numTicks; j++ )
-            {
-                tick *= minFactor;
-
-                if ( j == mediumTickIndex )
-                    mediumTicks += tick;
-                else
-                    minorTicks += tick;
-            }
-        }
-    }
-}
-
-/*!
-  \brief Align an interval to a step size
-
-  The limits of an interval are aligned that both are integer
-  multiples of the step size.
-
-  \param interval Interval
-  \param stepSize Step size
-
-  \return Aligned interval
-*/
-QwtInterval QwtLogScaleEngine::align(
-    const QwtInterval &interval, double stepSize ) const
-{
-    const QwtInterval intv = qwtLogInterval( base(), interval );
-
-    double x1 = QwtScaleArithmetic::floorEps( intv.minValue(), stepSize );
-    if ( qwtFuzzyCompare( interval.minValue(), x1, stepSize ) == 0 )
-        x1 = interval.minValue();
-
-    double x2 = QwtScaleArithmetic::ceilEps( intv.maxValue(), stepSize );
-    if ( qwtFuzzyCompare( interval.maxValue(), x2, stepSize ) == 0 )
-        x2 = interval.maxValue();
-
-    return qwtPowInterval( base(), QwtInterval( x1, x2 ) );
-}
diff --git a/SRC/Qwt/src/qwt_scale_engine.h b/SRC/Qwt/src/qwt_scale_engine.h
deleted file mode 100644
index fc5ac35..0000000
--- a/SRC/Qwt/src/qwt_scale_engine.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_SCALE_ENGINE_H
-#define QWT_SCALE_ENGINE_H
-
-#include "qwt_global.h"
-#include "qwt_scale_div.h"
-#include "qwt_interval.h"
-
-class QwtTransform;
-
-/*!
-  \brief Arithmetic including a tolerance
-*/
-class QWT_EXPORT QwtScaleArithmetic
-{
-public:
-    static double ceilEps( double value, double intervalSize );
-    static double floorEps( double value, double intervalSize );
-
-    static double divideEps( double interval, double steps );
-
-    static double divideInterval( double interval, 
-        int numSteps, uint base );
-};
-
-/*!
-  \brief Base class for scale engines.
-
-  A scale engine tries to find "reasonable" ranges and step sizes
-  for scales.
-
-  The layout of the scale can be varied with setAttribute().
-
-  Qwt offers implementations for logarithmic and linear scales. 
-*/
-
-class QWT_EXPORT QwtScaleEngine
-{
-public:
-    /*! 
-       Layout attributes
-       \sa setAttribute(), testAttribute(), reference(),
-           lowerMargin(), upperMargin()
-     */
-
-    enum Attribute
-    {
-        //! No attributes
-        NoAttribute = 0x00,
-
-        //! Build a scale which includes the reference() value.
-        IncludeReference = 0x01,
-
-        //! Build a scale which is symmetric to the reference() value.
-        Symmetric = 0x02,
-
-        /*!
-           The endpoints of the scale are supposed to be equal the
-           outmost included values plus the specified margins 
-           (see setMargins()).
-           If this attribute is *not* set, the endpoints of the scale will
-           be integer multiples of the step size.
-         */
-        Floating = 0x04,
-
-        //! Turn the scale upside down.
-        Inverted = 0x08
-    };
-
-    //! Layout attributes
-    typedef QFlags<Attribute> Attributes;
-
-    explicit QwtScaleEngine( uint base = 10 );
-    virtual ~QwtScaleEngine();
-
-    void setBase( uint base );
-    uint base() const;
-
-    void setAttribute( Attribute, bool on = true );
-    bool testAttribute( Attribute ) const;
-
-    void setAttributes( Attributes );
-    Attributes attributes() const;
-
-    void setReference( double reference );
-    double reference() const;
-
-    void setMargins( double lower, double upper );
-    double lowerMargin() const;
-    double upperMargin() const;
-
-    /*!
-      Align and divide an interval
-
-      \param maxNumSteps Max. number of steps
-      \param x1 First limit of the interval (In/Out)
-      \param x2 Second limit of the interval (In/Out)
-      \param stepSize Step size (Return value)
-    */
-    virtual void autoScale( int maxNumSteps,
-        double &x1, double &x2, double &stepSize ) const = 0;
-
-    /*!
-      \brief Calculate a scale division
-
-      \param x1 First interval limit
-      \param x2 Second interval limit
-      \param maxMajorSteps Maximum for the number of major steps
-      \param maxMinorSteps Maximum number of minor steps
-      \param stepSize Step size. If stepSize == 0.0, the scaleEngine
-                   calculates one.
-
-      \return Calculated scale division
-    */
-    virtual QwtScaleDiv divideScale( double x1, double x2,
-        int maxMajorSteps, int maxMinorSteps,
-        double stepSize = 0.0 ) const = 0;
-
-    void setTransformation( QwtTransform * );
-    QwtTransform *transformation() const;
-
-protected:
-    bool contains( const QwtInterval &, double val ) const;
-    QList<double> strip( const QList<double>&, const QwtInterval & ) const;
-
-    double divideInterval( double interval, int numSteps ) const;
-
-    QwtInterval buildInterval( double v ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-/*!
-  \brief A scale engine for linear scales
-
-  The step size will fit into the pattern
-  \f$\left\{ 1,2,5\right\} \cdot 10^{n}\f$, where n is an integer.
-*/
-
-class QWT_EXPORT QwtLinearScaleEngine: public QwtScaleEngine
-{
-public:
-    QwtLinearScaleEngine( uint base = 10 );
-    virtual ~QwtLinearScaleEngine();
-
-    virtual void autoScale( int maxSteps,
-        double &x1, double &x2, double &stepSize ) const;
-
-    virtual QwtScaleDiv divideScale( double x1, double x2,
-        int numMajorSteps, int numMinorSteps,
-                                     double stepSize = 0.0 ) const;
-
-
-protected:
-    QwtInterval align( const QwtInterval&, double stepSize ) const;
-
-    void buildTicks(
-        const QwtInterval &, double stepSize, int maxMinSteps,
-        QList<double> ticks[QwtScaleDiv::NTickTypes] ) const;
-
-    QList<double> buildMajorTicks(
-        const QwtInterval &interval, double stepSize ) const;
-
-    void buildMinorTicks( const QList<double>& majorTicks,
-        int maxMinorSteps, double stepSize,
-        QList<double> &minorTicks, QList<double> &mediumTicks ) const;
-};
-
-/*!
-  \brief A scale engine for logarithmic scales
-
-  The step size is measured in *decades*
-  and the major step size will be adjusted to fit the pattern
-  \f$\left\{ 1,2,3,5\right\} \cdot 10^{n}\f$, where n is a natural number
-  including zero.
-
-  \warning the step size as well as the margins are measured in *decades*.
-*/
-
-class QWT_EXPORT QwtLogScaleEngine: public QwtScaleEngine
-{
-public:
-    QwtLogScaleEngine( uint base = 10 );
-    virtual ~QwtLogScaleEngine();
-
-    virtual void autoScale( int maxSteps,
-        double &x1, double &x2, double &stepSize ) const;
-
-    virtual QwtScaleDiv divideScale( double x1, double x2,
-        int numMajorSteps, int numMinorSteps,
-        double stepSize = 0.0 ) const;
-
-protected:
-    QwtInterval align( const QwtInterval&, double stepSize ) const;
-
-    void buildTicks(
-        const QwtInterval &, double stepSize, int maxMinSteps,
-        QList<double> ticks[QwtScaleDiv::NTickTypes] ) const;
-
-    QList<double> buildMajorTicks(
-        const QwtInterval &interval, double stepSize ) const;
-
-    void buildMinorTicks( const QList<double>& majorTicks,
-        int maxMinorSteps, double stepSize,
-        QList<double> &minorTicks, QList<double> &mediumTicks ) const;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtScaleEngine::Attributes )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_scale_map.cpp b/SRC/Qwt/src/qwt_scale_map.cpp
deleted file mode 100644
index 17e3999..0000000
--- a/SRC/Qwt/src/qwt_scale_map.cpp
+++ /dev/null
@@ -1,248 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_scale_map.h"
-#include "qwt_math.h"
-#include <qrect.h>
-#include <qdebug.h>
-
-/*!
-  \brief Constructor
-
-  The scale and paint device intervals are both set to [0,1].
-*/
-QwtScaleMap::QwtScaleMap():
-    d_s1( 0.0 ),
-    d_s2( 1.0 ),
-    d_p1( 0.0 ),
-    d_p2( 1.0 ),
-    d_cnv( 1.0 ),
-    d_ts1( 0.0 ),
-    d_transform( NULL )
-{
-}
-
-//! Copy constructor
-QwtScaleMap::QwtScaleMap( const QwtScaleMap& other ):
-    d_s1( other.d_s1 ),
-    d_s2( other.d_s2 ),
-    d_p1( other.d_p1 ),
-    d_p2( other.d_p2 ),
-    d_cnv( other.d_cnv ),
-    d_ts1( other.d_ts1 ),
-    d_transform( NULL )
-{
-    if ( other.d_transform )
-        d_transform = other.d_transform->copy();
-}
-
-/*!
-  Destructor
-*/
-QwtScaleMap::~QwtScaleMap()
-{
-    delete d_transform;
-}
-
-//! Assignment operator
-QwtScaleMap &QwtScaleMap::operator=( const QwtScaleMap & other )
-{
-    d_s1 = other.d_s1;
-    d_s2 = other.d_s2;
-    d_p1 = other.d_p1;
-    d_p2 = other.d_p2;
-    d_cnv = other.d_cnv;
-    d_ts1 = other.d_ts1;
-
-    delete d_transform;
-    d_transform = NULL;
-
-    if ( other.d_transform )
-        d_transform = other.d_transform->copy();
-
-    return *this;
-}
-
-/*!
-   Initialize the map with a transformation
-*/
-void QwtScaleMap::setTransformation( QwtTransform *transform )
-{
-    if ( transform != d_transform )
-    {
-        delete d_transform;
-        d_transform = transform;
-    }
-
-    setScaleInterval( d_s1, d_s2 );
-}
-
-//! Get the transformation
-const QwtTransform *QwtScaleMap::transformation() const
-{
-    return d_transform;
-}
-
-/*!
-  \brief Specify the borders of the scale interval
-  \param s1 first border
-  \param s2 second border
-  \warning scales might be aligned to 
-           transformation depending boundaries
-*/
-void QwtScaleMap::setScaleInterval( double s1, double s2 )
-{
-    d_s1 = s1;
-    d_s2 = s2;
-
-    if ( d_transform )
-    {
-        d_s1 = d_transform->bounded( d_s1 );
-        d_s2 = d_transform->bounded( d_s2 );
-    }
-
-    updateFactor();
-}
-
-/*!
-  \brief Specify the borders of the paint device interval
-  \param p1 first border
-  \param p2 second border
-*/
-void QwtScaleMap::setPaintInterval( double p1, double p2 )
-{
-    d_p1 = p1;
-    d_p2 = p2;
-
-    updateFactor();
-}
-
-void QwtScaleMap::updateFactor()
-{
-    d_ts1 = d_s1;
-    double ts2 = d_s2;
-
-    if ( d_transform )
-    {
-        d_ts1 = d_transform->transform( d_ts1 );
-        ts2 = d_transform->transform( ts2 );
-    }
-
-    d_cnv = 1.0;
-    if ( d_ts1 != ts2 )
-        d_cnv = ( d_p2 - d_p1 ) / ( ts2 - d_ts1 );
-}
-
-/*!
-   Transform a rectangle from scale to paint coordinates
-
-   \param xMap X map
-   \param yMap Y map
-   \param rect Rectangle in scale coordinates
-   \return Rectangle in paint coordinates
-
-   \sa invTransform()
-*/
-QRectF QwtScaleMap::transform( const QwtScaleMap &xMap,
-    const QwtScaleMap &yMap, const QRectF &rect )
-{
-    double x1 = xMap.transform( rect.left() );
-    double x2 = xMap.transform( rect.right() );
-    double y1 = yMap.transform( rect.top() );
-    double y2 = yMap.transform( rect.bottom() );
-
-    if ( x2 < x1 )
-        qSwap( x1, x2 );
-    if ( y2 < y1 )
-        qSwap( y1, y2 );
-
-    if ( qwtFuzzyCompare( x1, 0.0, x2 - x1 ) == 0 )
-        x1 = 0.0;
-    if ( qwtFuzzyCompare( x2, 0.0, x2 - x1 ) == 0 )
-        x2 = 0.0;
-    if ( qwtFuzzyCompare( y1, 0.0, y2 - y1 ) == 0 )
-        y1 = 0.0;
-    if ( qwtFuzzyCompare( y2, 0.0, y2 - y1 ) == 0 )
-        y2 = 0.0;
-
-    return QRectF( x1, y1, x2 - x1 + 1, y2 - y1 + 1 );
-}
-
-/*!
-   Transform a rectangle from paint to scale coordinates
-
-   \param xMap X map
-   \param yMap Y map
-   \param pos Position in paint coordinates
-   \return Position in scale coordinates
-   \sa transform()
-*/
-QPointF QwtScaleMap::invTransform( const QwtScaleMap &xMap,
-    const QwtScaleMap &yMap, const QPointF &pos )
-{
-    return QPointF( 
-        xMap.invTransform( pos.x() ), 
-        yMap.invTransform( pos.y() ) 
-    );
-}
-
-/*!
-   Transform a point from scale to paint coordinates
-
-   \param xMap X map
-   \param yMap Y map
-   \param pos Position in scale coordinates
-   \return Position in paint coordinates
-
-   \sa invTransform()
-*/
-QPointF QwtScaleMap::transform( const QwtScaleMap &xMap,
-    const QwtScaleMap &yMap, const QPointF &pos )
-{
-    return QPointF( 
-        xMap.transform( pos.x() ), 
-        yMap.transform( pos.y() )
-    );
-}
-
-/*!
-   Transform a rectangle from paint to scale coordinates
-
-   \param xMap X map
-   \param yMap Y map
-   \param rect Rectangle in paint coordinates
-   \return Rectangle in scale coordinates
-   \sa transform()
-*/
-QRectF QwtScaleMap::invTransform( const QwtScaleMap &xMap,
-    const QwtScaleMap &yMap, const QRectF &rect )
-{
-    const double x1 = xMap.invTransform( rect.left() );
-    const double x2 = xMap.invTransform( rect.right() - 1 );
-    const double y1 = yMap.invTransform( rect.top() );
-    const double y2 = yMap.invTransform( rect.bottom() - 1 );
-
-    const QRectF r( x1, y1, x2 - x1, y2 - y1 );
-    return r.normalized();
-}
-
-#ifndef QT_NO_DEBUG_STREAM
-
-QDebug operator<<( QDebug debug, const QwtScaleMap &map )
-{
-    debug.nospace() << "QwtScaleMap("
-        << map.transformation()
-        << ", s:" << map.s1() << "->" << map.s2()
-        << ", p:" << map.p1() << "->" << map.p2()
-        << ")";
-
-    return debug.space();
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_scale_map.h b/SRC/Qwt/src/qwt_scale_map.h
deleted file mode 100644
index 3fdf422..0000000
--- a/SRC/Qwt/src/qwt_scale_map.h
+++ /dev/null
@@ -1,175 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_SCALE_MAP_H
-#define QWT_SCALE_MAP_H
-
-#include "qwt_global.h"
-#include "qwt_transform.h"
-#include <qrect.h>
-
-#ifndef QT_NO_DEBUG_STREAM
-#include <qdebug.h>
-#endif
-
-class QRectF;
-
-/*!
-   \brief A scale map
-
-   QwtScaleMap offers transformations from the coordinate system
-   of a scale into the linear coordinate system of a paint device 
-   and vice versa.
-*/
-class QWT_EXPORT QwtScaleMap
-{
-public:
-    QwtScaleMap();
-    QwtScaleMap( const QwtScaleMap& );
-
-    ~QwtScaleMap();
-
-    QwtScaleMap &operator=( const QwtScaleMap & );
-
-    void setTransformation( QwtTransform * );
-    const QwtTransform *transformation() const;
-
-    void setPaintInterval( double p1, double p2 );
-    void setScaleInterval( double s1, double s2 );
-
-    double transform( double s ) const;
-    double invTransform( double p ) const;
-
-    double p1() const;
-    double p2() const;
-
-    double s1() const;
-    double s2() const;
-
-    double pDist() const;
-    double sDist() const;
-
-    static QRectF transform( const QwtScaleMap &,
-        const QwtScaleMap &, const QRectF & );
-    static QRectF invTransform( const QwtScaleMap &,
-        const QwtScaleMap &, const QRectF & );
-
-    static QPointF transform( const QwtScaleMap &,
-        const QwtScaleMap &, const QPointF & );
-    static QPointF invTransform( const QwtScaleMap &,
-        const QwtScaleMap &, const QPointF & );
-
-    bool isInverting() const;
-
-private:
-    void updateFactor();
-
-    double d_s1, d_s2;     // scale interval boundaries
-    double d_p1, d_p2;     // paint device interval boundaries
-
-    double d_cnv;       // conversion factor
-    double d_ts1;
-
-    QwtTransform *d_transform;
-};
-
-/*!
-    \return First border of the scale interval
-*/
-inline double QwtScaleMap::s1() const
-{
-    return d_s1;
-}
-
-/*!
-    \return Second border of the scale interval
-*/
-inline double QwtScaleMap::s2() const
-{
-    return d_s2;
-}
-
-/*!
-    \return First border of the paint interval
-*/
-inline double QwtScaleMap::p1() const
-{
-    return d_p1;
-}
-
-/*!
-    \return Second border of the paint interval
-*/
-inline double QwtScaleMap::p2() const
-{
-    return d_p2;
-}
-
-/*!
-    \return qwtAbs(p2() - p1())
-*/
-inline double QwtScaleMap::pDist() const
-{
-    return qAbs( d_p2 - d_p1 );
-}
-
-/*!
-    \return qwtAbs(s2() - s1())
-*/
-inline double QwtScaleMap::sDist() const
-{
-    return qAbs( d_s2 - d_s1 );
-}
-
-/*!
-  Transform a point related to the scale interval into an point
-  related to the interval of the paint device
-
-  \param s Value relative to the coordinates of the scale
-  \return Transformed value
-
-  \sa invTransform()
-*/
-inline double QwtScaleMap::transform( double s ) const
-{
-    if ( d_transform )
-        s = d_transform->transform( s );
-
-    return d_p1 + ( s - d_ts1 ) * d_cnv;
-}
-
-/*!
-  Transform an paint device value into a value in the
-  interval of the scale.
-
-  \param p Value relative to the coordinates of the paint device
-  \return Transformed value
-
-  \sa transform()
-*/
-inline double QwtScaleMap::invTransform( double p ) const
-{
-    double s = d_ts1 + ( p - d_p1 ) / d_cnv;
-    if ( d_transform )
-        s = d_transform->invTransform( s );
-
-    return s;
-}
-
-//! \return True, when ( p1() < p2() ) != ( s1() < s2() )
-inline bool QwtScaleMap::isInverting() const
-{
-    return ( ( d_p1 < d_p2 ) != ( d_s1 < d_s2 ) );
-}
-
-#ifndef QT_NO_DEBUG_STREAM
-QWT_EXPORT QDebug operator<<( QDebug, const QwtScaleMap & );
-#endif
-
-#endif
diff --git a/SRC/Qwt/src/qwt_scale_widget.cpp b/SRC/Qwt/src/qwt_scale_widget.cpp
deleted file mode 100644
index dccf1a4..0000000
--- a/SRC/Qwt/src/qwt_scale_widget.cpp
+++ /dev/null
@@ -1,942 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_scale_widget.h"
-#include "qwt_painter.h"
-#include "qwt_color_map.h"
-#include "qwt_scale_map.h"
-#include "qwt_math.h"
-#include "qwt_scale_div.h"
-#include "qwt_text.h"
-#include "qwt_scale_engine.h"
-#include <qpainter.h>
-#include <qevent.h>
-#include <qmath.h>
-#include <qstyle.h>
-#include <qstyleoption.h>
-
-class QwtScaleWidget::PrivateData
-{
-public:
-    PrivateData():
-        scaleDraw( NULL )
-    {
-        colorBar.colorMap = NULL;
-    }
-
-    ~PrivateData()
-    {
-        delete scaleDraw;
-        delete colorBar.colorMap;
-    }
-
-    QwtScaleDraw *scaleDraw;
-
-    int borderDist[2];
-    int minBorderDist[2];
-    int scaleLength;
-    int margin;
-
-    int titleOffset;
-    int spacing;
-    QwtText title;
-
-    QwtScaleWidget::LayoutFlags layoutFlags;
-
-    struct t_colorBar
-    {
-        bool isEnabled;
-        int width;
-        QwtInterval interval;
-        QwtColorMap *colorMap;
-    } colorBar;
-};
-
-/*!
-  \brief Create a scale with the position QwtScaleWidget::Left
-  \param parent Parent widget
-*/
-QwtScaleWidget::QwtScaleWidget( QWidget *parent ):
-    QWidget( parent )
-{
-    initScale( QwtScaleDraw::LeftScale );
-}
-
-/*!
-  \brief Constructor
-  \param align Alignment.
-  \param parent Parent widget
-*/
-QwtScaleWidget::QwtScaleWidget(
-        QwtScaleDraw::Alignment align, QWidget *parent ):
-    QWidget( parent )
-{
-    initScale( align );
-}
-
-//! Destructor
-QwtScaleWidget::~QwtScaleWidget()
-{
-    delete d_data;
-}
-
-//! Initialize the scale
-void QwtScaleWidget::initScale( QwtScaleDraw::Alignment align )
-{
-    d_data = new PrivateData;
-
-    d_data->layoutFlags = 0;
-    if ( align == QwtScaleDraw::RightScale )
-        d_data->layoutFlags |= TitleInverted;
-
-    d_data->borderDist[0] = 0;
-    d_data->borderDist[1] = 0;
-    d_data->minBorderDist[0] = 0;
-    d_data->minBorderDist[1] = 0;
-    d_data->margin = 4;
-    d_data->titleOffset = 0;
-    d_data->spacing = 2;
-
-    d_data->scaleDraw = new QwtScaleDraw;
-    d_data->scaleDraw->setAlignment( align );
-    d_data->scaleDraw->setLength( 10 );
-
-    d_data->scaleDraw->setScaleDiv(
-        QwtLinearScaleEngine().divideScale( 0.0, 100.0, 10, 5 ) );
-
-    d_data->colorBar.colorMap = new QwtLinearColorMap();
-    d_data->colorBar.isEnabled = false;
-    d_data->colorBar.width = 10;
-
-    const int flags = Qt::AlignHCenter
-        | Qt::TextExpandTabs | Qt::TextWordWrap;
-    d_data->title.setRenderFlags( flags );
-    d_data->title.setFont( font() );
-
-    QSizePolicy policy( QSizePolicy::MinimumExpanding,
-        QSizePolicy::Fixed );
-    if ( d_data->scaleDraw->orientation() == Qt::Vertical )
-        policy.transpose();
-
-    setSizePolicy( policy );
-
-    setAttribute( Qt::WA_WState_OwnSizePolicy, false );
-}
-
-/*!
-   Toggle an layout flag
-
-   \param flag Layout flag
-   \param on true/false
-
-   \sa testLayoutFlag(), LayoutFlag
-*/
-void QwtScaleWidget::setLayoutFlag( LayoutFlag flag, bool on )
-{
-    if ( ( ( d_data->layoutFlags & flag ) != 0 ) != on )
-    {
-        if ( on )
-            d_data->layoutFlags |= flag;
-        else
-            d_data->layoutFlags &= ~flag;
-    }
-}
-
-/*!
-   Test a layout flag
-
-   \param flag Layout flag
-   \return true/false
-   \sa setLayoutFlag(), LayoutFlag
-*/
-bool QwtScaleWidget::testLayoutFlag( LayoutFlag flag ) const
-{
-    return ( d_data->layoutFlags & flag );
-}
-
-/*!
-  Give title new text contents
-
-  \param title New title
-  \sa title(), setTitle(const QwtText &);
-*/
-void QwtScaleWidget::setTitle( const QString &title )
-{
-    if ( d_data->title.text() != title )
-    {
-        d_data->title.setText( title );
-        layoutScale();
-    }
-}
-
-/*!
-  Give title new text contents
-
-  \param title New title
-  \sa title()
-  \warning The title flags are interpreted in
-               direction of the label, AlignTop, AlignBottom can't be set
-               as the title will always be aligned to the scale.
-*/
-void QwtScaleWidget::setTitle( const QwtText &title )
-{
-    QwtText t = title;
-    const int flags = title.renderFlags() & ~( Qt::AlignTop | Qt::AlignBottom );
-    t.setRenderFlags( flags );
-
-    if ( t != d_data->title )
-    {
-        d_data->title = t;
-        layoutScale();
-    }
-}
-
-/*!
-  Change the alignment
-
-  \param alignment New alignment
-  \sa alignment()
-*/
-void QwtScaleWidget::setAlignment( QwtScaleDraw::Alignment alignment )
-{
-    if ( d_data->scaleDraw )
-        d_data->scaleDraw->setAlignment( alignment );
-
-    if ( !testAttribute( Qt::WA_WState_OwnSizePolicy ) )
-    {
-        QSizePolicy policy( QSizePolicy::MinimumExpanding,
-            QSizePolicy::Fixed );
-        if ( d_data->scaleDraw->orientation() == Qt::Vertical )
-            policy.transpose();
-
-        setSizePolicy( policy );
-
-        setAttribute( Qt::WA_WState_OwnSizePolicy, false );
-    }
-
-    layoutScale();
-}
-
-
-/*!
-    \return position
-    \sa setPosition()
-*/
-QwtScaleDraw::Alignment QwtScaleWidget::alignment() const
-{
-    if ( !scaleDraw() )
-        return QwtScaleDraw::LeftScale;
-
-    return scaleDraw()->alignment();
-}
-
-/*!
-  Specify distances of the scale's endpoints from the
-  widget's borders. The actual borders will never be less
-  than minimum border distance.
-  \param dist1 Left or top Distance
-  \param dist2 Right or bottom distance
-  \sa borderDist()
-*/
-void QwtScaleWidget::setBorderDist( int dist1, int dist2 )
-{
-    if ( dist1 != d_data->borderDist[0] || dist2 != d_data->borderDist[1] )
-    {
-        d_data->borderDist[0] = dist1;
-        d_data->borderDist[1] = dist2;
-        layoutScale();
-    }
-}
-
-/*!
-  \brief Specify the margin to the colorBar/base line.
-  \param margin Margin
-  \sa margin()
-*/
-void QwtScaleWidget::setMargin( int margin )
-{
-    margin = qMax( 0, margin );
-    if ( margin != d_data->margin )
-    {
-        d_data->margin = margin;
-        layoutScale();
-    }
-}
-
-/*!
-  \brief Specify the distance between color bar, scale and title
-  \param spacing Spacing
-  \sa spacing()
-*/
-void QwtScaleWidget::setSpacing( int spacing )
-{
-    spacing = qMax( 0, spacing );
-    if ( spacing != d_data->spacing )
-    {
-        d_data->spacing = spacing;
-        layoutScale();
-    }
-}
-
-/*!
-  \brief Change the alignment for the labels.
-
-  \sa QwtScaleDraw::setLabelAlignment(), setLabelRotation()
-*/
-void QwtScaleWidget::setLabelAlignment( Qt::Alignment alignment )
-{
-    d_data->scaleDraw->setLabelAlignment( alignment );
-    layoutScale();
-}
-
-/*!
-  \brief Change the rotation for the labels.
-  See QwtScaleDraw::setLabelRotation().
-
-  \param rotation Rotation
-  \sa QwtScaleDraw::setLabelRotation(), setLabelFlags()
-*/
-void QwtScaleWidget::setLabelRotation( double rotation )
-{
-    d_data->scaleDraw->setLabelRotation( rotation );
-    layoutScale();
-}
-
-/*!
-  Set a scale draw
-
-  scaleDraw has to be created with new and will be deleted in
-  ~QwtScaleWidget() or the next call of setScaleDraw().
-  scaleDraw will be initialized with the attributes of
-  the previous scaleDraw object.
-
-  \param scaleDraw ScaleDraw object
-  \sa scaleDraw()
-*/
-void QwtScaleWidget::setScaleDraw( QwtScaleDraw *scaleDraw )
-{
-    if ( ( scaleDraw == NULL ) || ( scaleDraw == d_data->scaleDraw ) )
-        return;
-
-    const QwtScaleDraw* sd = d_data->scaleDraw;
-    if ( sd )
-    {
-        scaleDraw->setAlignment( sd->alignment() );
-        scaleDraw->setScaleDiv( sd->scaleDiv() );
-
-        QwtTransform *transform = NULL;
-        if ( sd->scaleMap().transformation() )
-            transform = sd->scaleMap().transformation()->copy();
-
-        scaleDraw->setTransformation( transform );
-    }
-
-    delete d_data->scaleDraw;
-    d_data->scaleDraw = scaleDraw;
-
-    layoutScale();
-}
-
-/*!
-    \return scaleDraw of this scale
-    \sa setScaleDraw(), QwtScaleDraw::setScaleDraw()
-*/
-const QwtScaleDraw *QwtScaleWidget::scaleDraw() const
-{
-    return d_data->scaleDraw;
-}
-
-/*!
-    \return scaleDraw of this scale
-    \sa QwtScaleDraw::setScaleDraw()
-*/
-QwtScaleDraw *QwtScaleWidget::scaleDraw()
-{
-    return d_data->scaleDraw;
-}
-
-/*!
-    \return title
-    \sa setTitle()
-*/
-QwtText QwtScaleWidget::title() const
-{
-    return d_data->title;
-}
-
-/*!
-    \return start border distance
-    \sa setBorderDist()
-*/
-int QwtScaleWidget::startBorderDist() const
-{
-    return d_data->borderDist[0];
-}
-
-/*!
-    \return end border distance
-    \sa setBorderDist()
-*/
-int QwtScaleWidget::endBorderDist() const
-{
-    return d_data->borderDist[1];
-}
-
-/*!
-    \return margin
-    \sa setMargin()
-*/
-int QwtScaleWidget::margin() const
-{
-    return d_data->margin;
-}
-
-/*!
-    \return distance between scale and title
-    \sa setMargin()
-*/
-int QwtScaleWidget::spacing() const
-{
-    return d_data->spacing;
-}
-
-/*!
-  \brief paintEvent
-*/
-void QwtScaleWidget::paintEvent( QPaintEvent *event )
-{
-    QPainter painter( this );
-    painter.setClipRegion( event->region() );
-
-    QStyleOption opt;
-    opt.init(this);
-    style()->drawPrimitive(QStyle::PE_Widget, &opt, &painter, this);
-
-    draw( &painter );
-}
-
-/*!
-  \brief draw the scale
-*/
-void QwtScaleWidget::draw( QPainter *painter ) const
-{
-    d_data->scaleDraw->draw( painter, palette() );
-
-    if ( d_data->colorBar.isEnabled && d_data->colorBar.width > 0 &&
-        d_data->colorBar.interval.isValid() )
-    {
-        drawColorBar( painter, colorBarRect( contentsRect() ) );
-    }
-
-    QRect r = contentsRect();
-    if ( d_data->scaleDraw->orientation() == Qt::Horizontal )
-    {
-        r.setLeft( r.left() + d_data->borderDist[0] );
-        r.setWidth( r.width() - d_data->borderDist[1] );
-    }
-    else
-    {
-        r.setTop( r.top() + d_data->borderDist[0] );
-        r.setHeight( r.height() - d_data->borderDist[1] );
-    }
-
-    if ( !d_data->title.isEmpty() )
-        drawTitle( painter, d_data->scaleDraw->alignment(), r );
-}
-
-/*!
-  Calculate the the rectangle for the color bar
-
-  \param rect Bounding rectangle for all components of the scale
-  \return Rectangle for the color bar
-*/
-QRectF QwtScaleWidget::colorBarRect( const QRectF& rect ) const
-{
-    QRectF cr = rect;
-
-    if ( d_data->scaleDraw->orientation() == Qt::Horizontal )
-    {
-        cr.setLeft( cr.left() + d_data->borderDist[0] );
-        cr.setWidth( cr.width() - d_data->borderDist[1] + 1 );
-    }
-    else
-    {
-        cr.setTop( cr.top() + d_data->borderDist[0] );
-        cr.setHeight( cr.height() - d_data->borderDist[1] + 1 );
-    }
-
-    switch ( d_data->scaleDraw->alignment() )
-    {
-        case QwtScaleDraw::LeftScale:
-        {
-            cr.setLeft( cr.right() - d_data->margin
-                - d_data->colorBar.width );
-            cr.setWidth( d_data->colorBar.width );
-            break;
-        }
-
-        case QwtScaleDraw::RightScale:
-        {
-            cr.setLeft( cr.left() + d_data->margin );
-            cr.setWidth( d_data->colorBar.width );
-            break;
-        }
-
-        case QwtScaleDraw::BottomScale:
-        {
-            cr.setTop( cr.top() + d_data->margin );
-            cr.setHeight( d_data->colorBar.width );
-            break;
-        }
-
-        case QwtScaleDraw::TopScale:
-        {
-            cr.setTop( cr.bottom() - d_data->margin
-                - d_data->colorBar.width );
-            cr.setHeight( d_data->colorBar.width );
-            break;
-        }
-    }
-
-    return cr;
-}
-
-/*!
-  Event handler for resize events
-  \param event Resize event
-*/
-void QwtScaleWidget::resizeEvent( QResizeEvent *event )
-{
-    Q_UNUSED( event );
-    layoutScale( false );
-}
-
-/*!
-  Recalculate the scale's geometry and layout based on
-  the current geometry and fonts.
-
-  \param update_geometry Notify the layout system and call update
-                         to redraw the scale
-*/
-
-void QwtScaleWidget::layoutScale( bool update_geometry )
-{
-    int bd0, bd1;
-    getBorderDistHint( bd0, bd1 );
-    if ( d_data->borderDist[0] > bd0 )
-        bd0 = d_data->borderDist[0];
-    if ( d_data->borderDist[1] > bd1 )
-        bd1 = d_data->borderDist[1];
-
-    int colorBarWidth = 0;
-    if ( d_data->colorBar.isEnabled && d_data->colorBar.interval.isValid() )
-        colorBarWidth = d_data->colorBar.width + d_data->spacing;
-
-    const QRectF r = contentsRect();
-    double x, y, length;
-
-    if ( d_data->scaleDraw->orientation() == Qt::Vertical )
-    {
-        y = r.top() + bd0;
-        length = r.height() - ( bd0 + bd1 );
-
-        if ( d_data->scaleDraw->alignment() == QwtScaleDraw::LeftScale )
-            x = r.right() - 1.0 - d_data->margin - colorBarWidth;
-        else
-            x = r.left() + d_data->margin + colorBarWidth;
-    }
-    else
-    {
-        x = r.left() + bd0;
-        length = r.width() - ( bd0 + bd1 );
-
-        if ( d_data->scaleDraw->alignment() == QwtScaleDraw::BottomScale )
-            y = r.top() + d_data->margin + colorBarWidth;
-        else
-            y = r.bottom() - 1.0 - d_data->margin - colorBarWidth;
-    }
-
-    d_data->scaleDraw->move( x, y );
-    d_data->scaleDraw->setLength( length );
-
-    const int extent = qCeil( d_data->scaleDraw->extent( font() ) );
-
-    d_data->titleOffset =
-        d_data->margin + d_data->spacing + colorBarWidth + extent;
-
-    if ( update_geometry )
-    {
-        updateGeometry();
-        update();
-    }
-}
-
-/*!
-  Draw the color bar of the scale widget
-
-  \param painter Painter
-  \param rect Bounding rectangle for the color bar
-
-  \sa setColorBarEnabled()
-*/
-void QwtScaleWidget::drawColorBar( QPainter *painter, const QRectF& rect ) const
-{
-    if ( !d_data->colorBar.interval.isValid() )
-        return;
-
-    const QwtScaleDraw* sd = d_data->scaleDraw;
-
-    QwtPainter::drawColorBar( painter, *d_data->colorBar.colorMap,
-        d_data->colorBar.interval.normalized(), sd->scaleMap(),
-        sd->orientation(), rect );
-}
-
-/*!
-  Rotate and paint a title according to its position into a given rectangle.
-
-  \param painter Painter
-  \param align Alignment
-  \param rect Bounding rectangle
-*/
-
-void QwtScaleWidget::drawTitle( QPainter *painter,
-    QwtScaleDraw::Alignment align, const QRectF &rect ) const
-{
-    QRectF r = rect;
-    double angle;
-    int flags = d_data->title.renderFlags() &
-        ~( Qt::AlignTop | Qt::AlignBottom | Qt::AlignVCenter );
-
-    switch ( align )
-    {
-        case QwtScaleDraw::LeftScale:
-            angle = -90.0;
-            flags |= Qt::AlignTop;
-            r.setRect( r.left(), r.bottom(),
-                r.height(), r.width() - d_data->titleOffset );
-            break;
-
-        case QwtScaleDraw::RightScale:
-            angle = -90.0;
-            flags |= Qt::AlignTop;
-            r.setRect( r.left() + d_data->titleOffset, r.bottom(),
-                r.height(), r.width() - d_data->titleOffset );
-            break;
-
-        case QwtScaleDraw::BottomScale:
-            angle = 0.0;
-            flags |= Qt::AlignBottom;
-            r.setTop( r.top() + d_data->titleOffset );
-            break;
-
-        case QwtScaleDraw::TopScale:
-        default:
-            angle = 0.0;
-            flags |= Qt::AlignTop;
-            r.setBottom( r.bottom() - d_data->titleOffset );
-            break;
-    }
-
-    if ( d_data->layoutFlags & TitleInverted )
-    {
-        if ( align == QwtScaleDraw::LeftScale
-            || align == QwtScaleDraw::RightScale )
-        {
-            angle = -angle;
-            r.setRect( r.x() + r.height(), r.y() - r.width(),
-                r.width(), r.height() );
-        }
-    }
-
-    painter->save();
-    painter->setFont( font() );
-    painter->setPen( palette().color( QPalette::Text ) );
-
-    painter->translate( r.x(), r.y() );
-    if ( angle != 0.0 )
-        painter->rotate( angle );
-
-    QwtText title = d_data->title;
-    title.setRenderFlags( flags );
-    title.draw( painter, QRectF( 0.0, 0.0, r.width(), r.height() ) );
-
-    painter->restore();
-}
-
-/*!
-  \brief Notify a change of the scale
-
-  This virtual function can be overloaded by derived
-  classes. The default implementation updates the geometry
-  and repaints the widget.
-*/
-
-void QwtScaleWidget::scaleChange()
-{
-    layoutScale();
-}
-
-/*!
-  \return a size hint
-*/
-QSize QwtScaleWidget::sizeHint() const
-{
-    return minimumSizeHint();
-}
-
-/*!
-  \return a minimum size hint
-*/
-QSize QwtScaleWidget::minimumSizeHint() const
-{
-    const Qt::Orientation o = d_data->scaleDraw->orientation();
-
-    // Border Distance cannot be less than the scale borderDistHint
-    // Note, the borderDistHint is already included in minHeight/minWidth
-    int length = 0;
-    int mbd1, mbd2;
-    getBorderDistHint( mbd1, mbd2 );
-    length += qMax( 0, d_data->borderDist[0] - mbd1 );
-    length += qMax( 0, d_data->borderDist[1] - mbd2 );
-    length += d_data->scaleDraw->minLength( font() );
-
-    int dim = dimForLength( length, font() );
-    if ( length < dim )
-    {
-        // compensate for long titles
-        length = dim;
-        dim = dimForLength( length, font() );
-    }
-
-    QSize size( length + 2, dim );
-    if ( o == Qt::Vertical )
-        size.transpose();
-
-    int left, right, top, bottom;
-    getContentsMargins( &left, &top, &right, &bottom );
-    return size + QSize( left + right, top + bottom );
-}
-
-/*!
-  \brief Find the height of the title for a given width.
-  \param width Width
-  \return height Height
- */
-
-int QwtScaleWidget::titleHeightForWidth( int width ) const
-{
-    return qCeil( d_data->title.heightForWidth( width, font() ) );
-}
-
-/*!
-  \brief Find the minimum dimension for a given length.
-         dim is the height, length the width seen in
-         direction of the title.
-  \param length width for horizontal, height for vertical scales
-  \param scaleFont Font of the scale
-  \return height for horizontal, width for vertical scales
-*/
-
-int QwtScaleWidget::dimForLength( int length, const QFont &scaleFont ) const
-{
-    const int extent = qCeil( d_data->scaleDraw->extent( scaleFont ) );
-
-    int dim = d_data->margin + extent + 1;
-
-    if ( !d_data->title.isEmpty() )
-        dim += titleHeightForWidth( length ) + d_data->spacing;
-
-    if ( d_data->colorBar.isEnabled && d_data->colorBar.interval.isValid() )
-        dim += d_data->colorBar.width + d_data->spacing;
-
-    return dim;
-}
-
-/*!
-  \brief Calculate a hint for the border distances.
-
-  This member function calculates the distance
-  of the scale's endpoints from the widget borders which
-  is required for the mark labels to fit into the widget.
-  The maximum of this distance an the minimum border distance
-  is returned.
-
-  \param start Return parameter for the border width at 
-               the beginning of the scale
-  \param end Return parameter for the border width at the 
-             end of the scale
-
-  \warning
-  <ul> <li>The minimum border distance depends on the font.</ul>
-  \sa setMinBorderDist(), getMinBorderDist(), setBorderDist()
-*/
-void QwtScaleWidget::getBorderDistHint( int &start, int &end ) const
-{
-    d_data->scaleDraw->getBorderDistHint( font(), start, end );
-
-    if ( start < d_data->minBorderDist[0] )
-        start = d_data->minBorderDist[0];
-
-    if ( end < d_data->minBorderDist[1] )
-        end = d_data->minBorderDist[1];
-}
-
-/*!
-  Set a minimum value for the distances of the scale's endpoints from
-  the widget borders. This is useful to avoid that the scales
-  are "jumping", when the tick labels or their positions change
-  often.
-
-  \param start Minimum for the start border
-  \param end Minimum for the end border
-  \sa getMinBorderDist(), getBorderDistHint()
-*/
-void QwtScaleWidget::setMinBorderDist( int start, int end )
-{
-    d_data->minBorderDist[0] = start;
-    d_data->minBorderDist[1] = end;
-}
-
-/*!
-  Get the minimum value for the distances of the scale's endpoints from
-  the widget borders.
-
-  \param start Return parameter for the border width at 
-               the beginning of the scale
-  \param end Return parameter for the border width at the 
-             end of the scale
-
-  \sa setMinBorderDist(), getBorderDistHint()
-*/
-void QwtScaleWidget::getMinBorderDist( int &start, int &end ) const
-{
-    start = d_data->minBorderDist[0];
-    end = d_data->minBorderDist[1];
-}
-
-/*!
-  \brief Assign a scale division
-
-  The scale division determines where to set the tick marks.
-
-  \param scaleDiv Scale Division
-  \sa For more information about scale divisions, see QwtScaleDiv.
-*/
-void QwtScaleWidget::setScaleDiv( const QwtScaleDiv &scaleDiv )
-{
-    QwtScaleDraw *sd = d_data->scaleDraw;
-    if ( sd->scaleDiv() != scaleDiv )
-    {
-        sd->setScaleDiv( scaleDiv );
-        layoutScale();
-
-        Q_EMIT scaleDivChanged();
-    }
-}
-
-/*!
-  Set the transformation
-
-  \param transformation Transformation
-  \sa QwtAbstractScaleDraw::scaleDraw(), QwtScaleMap
- */
-void QwtScaleWidget::setTransformation( QwtTransform *transformation )
-{
-    d_data->scaleDraw->setTransformation( transformation );
-    layoutScale();
-}
-
-/*!
-  En/disable a color bar associated to the scale
-  \sa isColorBarEnabled(), setColorBarWidth()
-*/
-void QwtScaleWidget::setColorBarEnabled( bool on )
-{
-    if ( on != d_data->colorBar.isEnabled )
-    {
-        d_data->colorBar.isEnabled = on;
-        layoutScale();
-    }
-}
-
-/*!
-  \return true, when the color bar is enabled
-  \sa setColorBarEnabled(), setColorBarWidth()
-*/
-bool QwtScaleWidget::isColorBarEnabled() const
-{
-    return d_data->colorBar.isEnabled;
-}
-
-/*!
-  Set the width of the color bar
-
-  \param width Width
-  \sa colorBarWidth(), setColorBarEnabled()
-*/
-void QwtScaleWidget::setColorBarWidth( int width )
-{
-    if ( width != d_data->colorBar.width )
-    {
-        d_data->colorBar.width = width;
-        if ( isColorBarEnabled() )
-            layoutScale();
-    }
-}
-
-/*!
-  \return Width of the color bar
-  \sa setColorBarEnabled(), setColorBarEnabled()
-*/
-int QwtScaleWidget::colorBarWidth() const
-{
-    return d_data->colorBar.width;
-}
-
-/*!
-  \return Value interval for the color bar
-  \sa setColorMap(), colorMap()
-*/
-QwtInterval QwtScaleWidget::colorBarInterval() const
-{
-    return d_data->colorBar.interval;
-}
-
-/*!
-  Set the color map and value interval, that are used for displaying
-  the color bar.
-
-  \param interval Value interval
-  \param colorMap Color map
-
-  \sa colorMap(), colorBarInterval()
-*/
-void QwtScaleWidget::setColorMap(
-    const QwtInterval &interval, QwtColorMap *colorMap )
-{
-    d_data->colorBar.interval = interval;
-
-    if ( colorMap != d_data->colorBar.colorMap )
-    {
-        delete d_data->colorBar.colorMap;
-        d_data->colorBar.colorMap = colorMap;
-    }
-
-    if ( isColorBarEnabled() )
-        layoutScale();
-}
-
-/*!
-  \return Color map
-  \sa setColorMap(), colorBarInterval()
-*/
-const QwtColorMap *QwtScaleWidget::colorMap() const
-{
-    return d_data->colorBar.colorMap;
-}
diff --git a/SRC/Qwt/src/qwt_scale_widget.h b/SRC/Qwt/src/qwt_scale_widget.h
deleted file mode 100644
index 3a2cfa3..0000000
--- a/SRC/Qwt/src/qwt_scale_widget.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_SCALE_WIDGET_H
-#define QWT_SCALE_WIDGET_H
-
-#include "qwt_global.h"
-#include "qwt_text.h"
-#include "qwt_scale_draw.h"
-#include <qwidget.h>
-#include <qfont.h>
-#include <qcolor.h>
-#include <qstring.h>
-
-class QPainter;
-class QwtTransform;
-class QwtScaleDiv;
-class QwtColorMap;
-
-/*!
-  \brief A Widget which contains a scale
-
-  This Widget can be used to decorate composite widgets with
-  a scale.
-*/
-
-class QWT_EXPORT QwtScaleWidget : public QWidget
-{
-    Q_OBJECT
-
-public:
-    //! Layout flags of the title
-    enum LayoutFlag
-    {
-        /*!
-          The title of vertical scales is painted from top to bottom. 
-          Otherwise it is painted from bottom to top.
-         */
-        TitleInverted = 1
-    };
-
-    //! Layout flags of the title
-    typedef QFlags<LayoutFlag> LayoutFlags;
-
-    explicit QwtScaleWidget( QWidget *parent = NULL );
-    explicit QwtScaleWidget( QwtScaleDraw::Alignment, QWidget *parent = NULL );
-    virtual ~QwtScaleWidget();
-
-Q_SIGNALS:
-    //! Signal emitted, whenever the scale division changes
-    void scaleDivChanged();
-
-public:
-    void setTitle( const QString &title );
-    void setTitle( const QwtText &title );
-    QwtText title() const;
-
-    void setLayoutFlag( LayoutFlag, bool on );
-    bool testLayoutFlag( LayoutFlag ) const;
-
-    void setBorderDist( int start, int end );
-    int startBorderDist() const;
-    int endBorderDist() const;
-
-    void getBorderDistHint( int &start, int &end ) const;
-
-    void getMinBorderDist( int &start, int &end ) const;
-    void setMinBorderDist( int start, int end );
-
-    void setMargin( int );
-    int margin() const;
-
-    void setSpacing( int td );
-    int spacing() const;
-
-    void setScaleDiv( const QwtScaleDiv &sd );
-    void setTransformation( QwtTransform * );
-
-    void setScaleDraw( QwtScaleDraw * );
-    const QwtScaleDraw *scaleDraw() const;
-    QwtScaleDraw *scaleDraw();
-
-    void setLabelAlignment( Qt::Alignment );
-    void setLabelRotation( double rotation );
-
-    void setColorBarEnabled( bool );
-    bool isColorBarEnabled() const;
-
-    void setColorBarWidth( int );
-    int colorBarWidth() const;
-
-    void setColorMap( const QwtInterval &, QwtColorMap * );
-
-    QwtInterval colorBarInterval() const;
-    const QwtColorMap *colorMap() const;
-
-    virtual QSize sizeHint() const;
-    virtual QSize minimumSizeHint() const;
-
-    int titleHeightForWidth( int width ) const;
-    int dimForLength( int length, const QFont &scaleFont ) const;
-
-    void drawColorBar( QPainter *painter, const QRectF & ) const;
-    void drawTitle( QPainter *painter, QwtScaleDraw::Alignment,
-        const QRectF &rect ) const;
-
-    void setAlignment( QwtScaleDraw::Alignment );
-    QwtScaleDraw::Alignment alignment() const;
-
-    QRectF colorBarRect( const QRectF& ) const;
-
-protected:
-    virtual void paintEvent( QPaintEvent * );
-    virtual void resizeEvent( QResizeEvent * );
-
-    void draw( QPainter *p ) const;
-
-    void scaleChange();
-    void layoutScale( bool update = true );
-
-private:
-    void initScale( QwtScaleDraw::Alignment );
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtScaleWidget::LayoutFlags )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_series_data.cpp b/SRC/Qwt/src/qwt_series_data.cpp
deleted file mode 100644
index 483c210..0000000
--- a/SRC/Qwt/src/qwt_series_data.cpp
+++ /dev/null
@@ -1,346 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_series_data.h"
-#include "qwt_math.h"
-
-static inline QRectF qwtBoundingRect( const QPointF &sample )
-{
-    return QRectF( sample.x(), sample.y(), 0.0, 0.0 );
-}
-
-static inline QRectF qwtBoundingRect( const QwtPoint3D &sample )
-{
-    return QRectF( sample.x(), sample.y(), 0.0, 0.0 );
-}
-
-static inline QRectF qwtBoundingRect( const QwtPointPolar &sample )
-{
-    return QRectF( sample.azimuth(), sample.radius(), 0.0, 0.0 );
-}
-
-static inline QRectF qwtBoundingRect( const QwtIntervalSample &sample )
-{
-    return QRectF( sample.interval.minValue(), sample.value,
-        sample.interval.maxValue() - sample.interval.minValue(), 0.0 );
-}
-
-static inline QRectF qwtBoundingRect( const QwtSetSample &sample )
-{
-    double minY = sample.set[0];
-    double maxY = sample.set[0];
-
-    for ( int i = 1; i < sample.set.size(); i++ )
-    {
-        if ( sample.set[i] < minY )
-            minY = sample.set[i];
-        if ( sample.set[i] > maxY )
-            maxY = sample.set[i];
-    }
-
-    double minX = sample.value;
-    double maxX = sample.value;
-
-    return QRectF( minX, minY, maxX - minX, maxY - minY );
-}
-
-static inline QRectF qwtBoundingRect( const QwtOHLCSample &sample )
-{
-    const QwtInterval interval = sample.boundingInterval();
-    return QRectF( interval.minValue(), sample.time, interval.width(), 0.0 );
-}
-
-/*!
-  \brief Calculate the bounding rectangle of a series subset
-
-  Slow implementation, that iterates over the series.
-
-  \param series Series
-  \param from Index of the first sample, <= 0 means from the beginning
-  \param to Index of the last sample, < 0 means to the end
-
-  \return Bounding rectangle
-*/
-
-template <class T>
-QRectF qwtBoundingRectT(
-    const QwtSeriesData<T>& series, int from, int to )
-{
-    QRectF boundingRect( 1.0, 1.0, -2.0, -2.0 ); // invalid;
-
-    if ( from < 0 )
-        from = 0;
-
-    if ( to < 0 )
-        to = series.size() - 1;
-
-    if ( to < from )
-        return boundingRect;
-
-    int i;
-    for ( i = from; i <= to; i++ )
-    {
-        const QRectF rect = qwtBoundingRect( series.sample( i ) );
-        if ( rect.width() >= 0.0 && rect.height() >= 0.0 )
-        {
-            boundingRect = rect;
-            i++;
-            break;
-        }
-    }
-
-    for ( ; i <= to; i++ )
-    {
-        const QRectF rect = qwtBoundingRect( series.sample( i ) );
-        if ( rect.width() >= 0.0 && rect.height() >= 0.0 )
-        {
-            boundingRect.setLeft( qMin( boundingRect.left(), rect.left() ) );
-            boundingRect.setRight( qMax( boundingRect.right(), rect.right() ) );
-            boundingRect.setTop( qMin( boundingRect.top(), rect.top() ) );
-            boundingRect.setBottom( qMax( boundingRect.bottom(), rect.bottom() ) );
-        }
-    }
-
-    return boundingRect;
-}
-
-/*!
-  \brief Calculate the bounding rectangle of a series subset
-
-  Slow implementation, that iterates over the series.
-
-  \param series Series
-  \param from Index of the first sample, <= 0 means from the beginning
-  \param to Index of the last sample, < 0 means to the end
-
-  \return Bounding rectangle
-*/
-QRectF qwtBoundingRect(
-    const QwtSeriesData<QPointF> &series, int from, int to )
-{
-    return qwtBoundingRectT<QPointF>( series, from, to );
-}
-
-/*!
-  \brief Calculate the bounding rectangle of a series subset
-
-  Slow implementation, that iterates over the series.
-
-  \param series Series
-  \param from Index of the first sample, <= 0 means from the beginning
-  \param to Index of the last sample, < 0 means to the end
-
-  \return Bounding rectangle
-*/
-QRectF qwtBoundingRect(
-    const QwtSeriesData<QwtPoint3D> &series, int from, int to )
-{
-    return qwtBoundingRectT<QwtPoint3D>( series, from, to );
-}
-
-/*!
-  \brief Calculate the bounding rectangle of a series subset
-
-  The horizontal coordinates represent the azimuth, the
-  vertical coordinates the radius.
-
-  Slow implementation, that iterates over the series.
-
-  \param series Series
-  \param from Index of the first sample, <= 0 means from the beginning
-  \param to Index of the last sample, < 0 means to the end
-
-  \return Bounding rectangle
-*/
-QRectF qwtBoundingRect(
-    const QwtSeriesData<QwtPointPolar> &series, int from, int to )
-{
-    return qwtBoundingRectT<QwtPointPolar>( series, from, to );
-}
-
-/*!
-  \brief Calculate the bounding rectangle of a series subset
-
-  Slow implementation, that iterates over the series.
-
-  \param series Series
-  \param from Index of the first sample, <= 0 means from the beginning
-  \param to Index of the last sample, < 0 means to the end
-
-  \return Bounding rectangle
-*/
-QRectF qwtBoundingRect(
-    const QwtSeriesData<QwtIntervalSample>& series, int from, int to )
-{
-    return qwtBoundingRectT<QwtIntervalSample>( series, from, to );
-}
-
-/*!
-  \brief Calculate the bounding rectangle of a series subset
-
-  Slow implementation, that iterates over the series.
-
-  \param series Series
-  \param from Index of the first sample, <= 0 means from the beginning
-  \param to Index of the last sample, < 0 means to the end
-
-  \return Bounding rectangle
-*/
-QRectF qwtBoundingRect(
-    const QwtSeriesData<QwtOHLCSample>& series, int from, int to )
-{
-    return qwtBoundingRectT<QwtOHLCSample>( series, from, to );
-}
-
-/*!
-  \brief Calculate the bounding rectangle of a series subset
-
-  Slow implementation, that iterates over the series.
-
-  \param series Series
-  \param from Index of the first sample, <= 0 means from the beginning
-  \param to Index of the last sample, < 0 means to the end
-
-  \return Bounding rectangle
-*/
-QRectF qwtBoundingRect(
-    const QwtSeriesData<QwtSetSample>& series, int from, int to )
-{
-    return qwtBoundingRectT<QwtSetSample>( series, from, to );
-}
-
-/*!
-   Constructor
-   \param samples Samples
-*/
-QwtPointSeriesData::QwtPointSeriesData(
-        const QVector<QPointF> &samples ):
-    QwtArraySeriesData<QPointF>( samples )
-{
-}
-
-/*!
-  \brief Calculate the bounding rectangle
-
-  The bounding rectangle is calculated once by iterating over all
-  points and is stored for all following requests.
-
-  \return Bounding rectangle
-*/
-QRectF QwtPointSeriesData::boundingRect() const
-{
-    if ( d_boundingRect.width() < 0.0 )
-        d_boundingRect = qwtBoundingRect( *this );
-
-    return d_boundingRect;
-}
-
-/*!
-   Constructor
-   \param samples Samples
-*/
-QwtPoint3DSeriesData::QwtPoint3DSeriesData(
-        const QVector<QwtPoint3D> &samples ):
-    QwtArraySeriesData<QwtPoint3D>( samples )
-{
-}
-
-/*!
-  \brief Calculate the bounding rectangle
-
-  The bounding rectangle is calculated once by iterating over all
-  points and is stored for all following requests.
-
-  \return Bounding rectangle
-*/
-QRectF QwtPoint3DSeriesData::boundingRect() const
-{
-    if ( d_boundingRect.width() < 0.0 )
-        d_boundingRect = qwtBoundingRect( *this );
-
-    return d_boundingRect;
-}
-
-/*!
-   Constructor
-   \param samples Samples
-*/
-QwtIntervalSeriesData::QwtIntervalSeriesData(
-        const QVector<QwtIntervalSample> &samples ):
-    QwtArraySeriesData<QwtIntervalSample>( samples )
-{
-}
-
-/*!
-  \brief Calculate the bounding rectangle
-
-  The bounding rectangle is calculated once by iterating over all
-  points and is stored for all following requests.
-
-  \return Bounding rectangle
-*/
-QRectF QwtIntervalSeriesData::boundingRect() const
-{
-    if ( d_boundingRect.width() < 0.0 )
-        d_boundingRect = qwtBoundingRect( *this );
-
-    return d_boundingRect;
-}
-
-/*!
-   Constructor
-   \param samples Samples
-*/
-QwtSetSeriesData::QwtSetSeriesData(
-        const QVector<QwtSetSample> &samples ):
-    QwtArraySeriesData<QwtSetSample>( samples )
-{
-}
-
-/*!
-  \brief Calculate the bounding rectangle
-
-  The bounding rectangle is calculated once by iterating over all
-  points and is stored for all following requests.
-
-  \return Bounding rectangle
-*/
-QRectF QwtSetSeriesData::boundingRect() const
-{
-    if ( d_boundingRect.width() < 0.0 )
-        d_boundingRect = qwtBoundingRect( *this );
-
-    return d_boundingRect;
-}
-
-/*!
-   Constructor
-   \param samples Samples
-*/
-QwtTradingChartData::QwtTradingChartData(
-        const QVector<QwtOHLCSample> &samples ):
-    QwtArraySeriesData<QwtOHLCSample>( samples )
-{
-}
-
-/*!
-  \brief Calculate the bounding rectangle
-
-  The bounding rectangle is calculated once by iterating over all
-  points and is stored for all following requests.
-
-  \return Bounding rectangle
-*/
-QRectF QwtTradingChartData::boundingRect() const
-{
-    if ( d_boundingRect.width() < 0.0 )
-        d_boundingRect = qwtBoundingRect( *this );
-
-    return d_boundingRect;
-}
diff --git a/SRC/Qwt/src/qwt_series_data.h b/SRC/Qwt/src/qwt_series_data.h
deleted file mode 100644
index a4d3714..0000000
--- a/SRC/Qwt/src/qwt_series_data.h
+++ /dev/null
@@ -1,355 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_SERIES_DATA_H
-#define QWT_SERIES_DATA_H 1
-
-#include "qwt_global.h"
-#include "qwt_samples.h"
-#include "qwt_point_3d.h"
-#include "qwt_point_polar.h"
-#include <qvector.h>
-#include <qrect.h>
-
-/*!
-   \brief Abstract interface for iterating over samples
-
-   Qwt offers several implementations of the QwtSeriesData API,
-   but in situations, where data of an application specific format
-   needs to be displayed, without having to copy it, it is recommended
-   to implement an individual data access.
-
-   A subclass of QwtSeriesData<QPointF> must implement: 
-
-   - size()\n 
-     Should return number of data points.
-
-   - sample()\n
-     Should return values x and y values of the sample at specific position
-     as QPointF object.
-
-   - boundingRect()\n 
-     Should return the bounding rectangle of the data series.
-     It is used for autoscaling and might help certain algorithms for displaying
-     the data. You can use qwtBoundingRect() for an implementation
-     but often it is possible to implement a more efficient algorithm 
-     depending on the characteristics of the series.
-     The member d_boundingRect is intended for caching the calculated rectangle.
-    
-*/
-template <typename T>
-class QwtSeriesData
-{
-public:
-    //! Constructor
-    QwtSeriesData();
-
-    //! Destructor
-    virtual ~QwtSeriesData();
-
-    //! \return Number of samples
-    virtual size_t size() const = 0;
-
-    /*!
-      Return a sample
-      \param i Index
-      \return Sample at position i
-     */
-    virtual T sample( size_t i ) const = 0;
-
-    /*!
-       Calculate the bounding rect of all samples
-
-       The bounding rect is necessary for autoscaling and can be used
-       for a couple of painting optimizations.
-
-       qwtBoundingRect(...) offers slow implementations iterating
-       over the samples. For large sets it is recommended to implement
-       something faster f.e. by caching the bounding rectangle.
-
-       \return Bounding rectangle
-     */
-    virtual QRectF boundingRect() const = 0;
-
-    /*!
-       Set a the "rect of interest"
-
-       QwtPlotSeriesItem defines the current area of the plot canvas
-       as "rectangle of interest" ( QwtPlotSeriesItem::updateScaleDiv() ).
-       It can be used to implement different levels of details.
-
-       The default implementation does nothing.
-   
-       \param rect Rectangle of interest
-    */
-    virtual void setRectOfInterest( const QRectF &rect );
-
-protected:
-    //! Can be used to cache a calculated bounding rectangle
-    mutable QRectF d_boundingRect;
-
-private:
-    QwtSeriesData<T> &operator=( const QwtSeriesData<T> & );
-};
-
-template <typename T>
-QwtSeriesData<T>::QwtSeriesData():
-    d_boundingRect( 0.0, 0.0, -1.0, -1.0 )
-{
-}
-
-template <typename T>
-QwtSeriesData<T>::~QwtSeriesData()
-{
-}
-
-template <typename T>
-void QwtSeriesData<T>::setRectOfInterest( const QRectF & )
-{
-}
-
-/*!
-  \brief Template class for data, that is organized as QVector
-
-  QVector uses implicit data sharing and can be
-  passed around as argument efficiently.
-*/
-template <typename T>
-class QwtArraySeriesData: public QwtSeriesData<T>
-{
-public:
-    //! Constructor
-    QwtArraySeriesData();
-
-    /*!
-       Constructor
-       \param samples Array of samples
-    */
-    QwtArraySeriesData( const QVector<T> &samples );
-
-    /*!
-      Assign an array of samples
-      \param samples Array of samples
-    */
-    void setSamples( const QVector<T> &samples );
-
-    //! \return Array of samples
-    const QVector<T> samples() const;
-
-    //! \return Number of samples
-    virtual size_t size() const;
-
-    /*!
-      \return Sample at a specific position
-
-      \param index Index
-      \return Sample at position index
-    */
-    virtual T sample( size_t index ) const;
-
-protected:
-    //! Vector of samples
-    QVector<T> d_samples;
-};
-
-template <typename T>
-QwtArraySeriesData<T>::QwtArraySeriesData()
-{
-}
-
-template <typename T>
-QwtArraySeriesData<T>::QwtArraySeriesData( const QVector<T> &samples ):
-    d_samples( samples )
-{
-}
-
-template <typename T>
-void QwtArraySeriesData<T>::setSamples( const QVector<T> &samples )
-{
-    QwtSeriesData<T>::d_boundingRect = QRectF( 0.0, 0.0, -1.0, -1.0 );
-    d_samples = samples;
-}
-
-template <typename T>
-const QVector<T> QwtArraySeriesData<T>::samples() const
-{
-    return d_samples;
-}
-
-template <typename T>
-size_t QwtArraySeriesData<T>::size() const
-{
-    return d_samples.size();
-}
-
-template <typename T>
-T QwtArraySeriesData<T>::sample( size_t i ) const
-{
-    return d_samples[ static_cast<int>( i ) ];
-}
-
-//! Interface for iterating over an array of points
-class QWT_EXPORT QwtPointSeriesData: public QwtArraySeriesData<QPointF>
-{
-public:
-    QwtPointSeriesData(
-        const QVector<QPointF> & = QVector<QPointF>() );
-
-    virtual QRectF boundingRect() const;
-};
-
-//! Interface for iterating over an array of 3D points
-class QWT_EXPORT QwtPoint3DSeriesData: public QwtArraySeriesData<QwtPoint3D>
-{
-public:
-    QwtPoint3DSeriesData(
-        const QVector<QwtPoint3D> & = QVector<QwtPoint3D>() );
-    virtual QRectF boundingRect() const;
-};
-
-//! Interface for iterating over an array of intervals
-class QWT_EXPORT QwtIntervalSeriesData: public QwtArraySeriesData<QwtIntervalSample>
-{
-public:
-    QwtIntervalSeriesData(
-        const QVector<QwtIntervalSample> & = QVector<QwtIntervalSample>() );
-
-    virtual QRectF boundingRect() const;
-};
-
-//! Interface for iterating over an array of samples
-class QWT_EXPORT QwtSetSeriesData: public QwtArraySeriesData<QwtSetSample>
-{
-public:
-    QwtSetSeriesData(
-        const QVector<QwtSetSample> & = QVector<QwtSetSample>() );
-
-    virtual QRectF boundingRect() const;
-};
-
-/*!
-    Interface for iterating over an array of OHLC samples
-*/
-class QWT_EXPORT QwtTradingChartData: public QwtArraySeriesData<QwtOHLCSample>
-{
-public:
-    QwtTradingChartData(
-        const QVector<QwtOHLCSample> & = QVector<QwtOHLCSample>() );
-
-    virtual QRectF boundingRect() const;
-};
-
-QWT_EXPORT QRectF qwtBoundingRect(
-    const QwtSeriesData<QPointF> &, int from = 0, int to = -1 );
-
-QWT_EXPORT QRectF qwtBoundingRect(
-    const QwtSeriesData<QwtPoint3D> &, int from = 0, int to = -1 );
-
-QWT_EXPORT QRectF qwtBoundingRect(
-    const QwtSeriesData<QwtPointPolar> &, int from = 0, int to = -1 );
-
-QWT_EXPORT QRectF qwtBoundingRect(
-    const QwtSeriesData<QwtIntervalSample> &, int from = 0, int to = -1 );
-
-QWT_EXPORT QRectF qwtBoundingRect(
-    const QwtSeriesData<QwtSetSample> &, int from = 0, int to = -1 );
-
-QWT_EXPORT QRectF qwtBoundingRect(
-    const QwtSeriesData<QwtOHLCSample> &, int from = 0, int to = -1 );
-
-/*!
-    Binary search for a sorted series of samples
-
-    qwtUpperSampleIndex returns the index of sample that is the upper bound
-    of value. Is the the value smaller than the smallest value the return
-    value will be 0. Is the value greater or equal than the largest
-    value the return value will be -1.
-
-  \par Example
-    The following example shows finds a point of curve from an x
-    coordinate
-
-  \verbatim
-#include <qwt_series_data.h>
-#include <qwt_plot_curve.h>
-
-struct compareX
-{
-    inline bool operator()( const double x, const QPointF &pos ) const
-    {
-        return ( x < pos.x() );
-    }
-};
-
-QLineF curveLineAt( const QwtPlotCurve *curve, double x )
-{
-    int index = qwtUpperSampleIndex<QPointF>( 
-        *curve->data(), x, compareX() );
-            
-    if ( index == -1 && 
-        x == curve->sample( curve->dataSize() - 1 ).x() )
-    {   
-        // the last sample is excluded from qwtUpperSampleIndex
-        index = curve->dataSize() - 1;
-    }
-
-    QLineF line; // invalid
-    if ( index > 0 )
-    {
-        line.setP1( curve->sample( index - 1 ) );
-        line.setP2( curve->sample( index ) );
-    }
-
-    return line;
-}
-
-\endverbatim
-
-
-    \param series Series of samples
-    \param value Value
-    \param lessThan Compare operation
-
-    \note The samples must be sorted according to the order specified 
-          by the lessThan object
-
-of the range [begin, end) and returns the position of the one-past-the-last occurrence of value. If no such item is found, returns the position where the item should be inserted.
- */
-template <typename T, typename LessThan>
-inline int qwtUpperSampleIndex( const QwtSeriesData<T> &series,
-    double value, LessThan lessThan  ) 
-{
-    const int indexMax = series.size() - 1;
-
-    if ( indexMax < 0 || !lessThan( value, series.sample( indexMax ) )  )
-        return -1;
-
-    int indexMin = 0;
-    int n = indexMax;
-
-    while ( n > 0 )
-    {
-        const int half = n >> 1;
-        const int indexMid = indexMin + half;
-
-        if ( lessThan( value, series.sample( indexMid ) ) )
-        {
-            n = half;
-        }
-        else
-        {
-            indexMin = indexMid + 1;
-            n -= half + 1;
-        }
-    }
-
-    return indexMin;
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_series_store.h b/SRC/Qwt/src/qwt_series_store.h
deleted file mode 100644
index 4f467f2..0000000
--- a/SRC/Qwt/src/qwt_series_store.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_SERIES_STORE_H
-#define QWT_SERIES_STORE_H
-
-#include "qwt_global.h"
-#include "qwt_series_data.h"
-
-/*!
-  \brief Bridge between QwtSeriesStore and QwtPlotSeriesItem
-
-  QwtAbstractSeriesStore is an abstract interface only
-  to make it possible to isolate the template based methods ( QwtSeriesStore )
-  from the regular methods ( QwtPlotSeriesItem ) to make it possible
-  to derive from QwtPlotSeriesItem without any hassle with templates.
-*/
-class QwtAbstractSeriesStore
-{
-protected:
-    //! Destructor
-    virtual ~QwtAbstractSeriesStore() {}
-
-    //! dataChanged() indicates, that the series has been changed.
-    virtual void dataChanged() = 0;
-
-    /*!
-      Set a the "rectangle of interest" for the stored series
-      \sa QwtSeriesData<T>::setRectOfInterest()
-     */
-    virtual void setRectOfInterest( const QRectF & ) = 0;
-
-    //! \return Bounding rectangle of the stored series
-    virtual QRectF dataRect() const = 0;
-
-    //! \return Number of samples
-    virtual size_t dataSize() const = 0;
-};
-
-/*!
-  \brief Class storing a QwtSeriesData object
-
-  QwtSeriesStore and QwtPlotSeriesItem are intended as base classes for all
-  plot items iterating over a series of samples. Both classes share
-  a virtual base class ( QwtAbstractSeriesStore ) to bridge between them.
-
-  QwtSeriesStore offers the template based part for the plot item API, so
-  that QwtPlotSeriesItem can be derived without any hassle with templates.
- */
-template <typename T>
-class QwtSeriesStore: public virtual QwtAbstractSeriesStore
-{
-public:
-    /*!
-      \brief Constructor
-      The store contains no series
-    */
-    explicit QwtSeriesStore<T>();
-
-    //! Destructor
-    ~QwtSeriesStore<T>();
-
-    /*!
-      Assign a series of samples
-
-      \param series Data
-      \warning The item takes ownership of the data object, deleting
-               it when its not used anymore.
-    */
-    void setData( QwtSeriesData<T> *series );
-
-    //! \return the the series data
-    QwtSeriesData<T> *data();
-
-    //! \return the the series data
-    const QwtSeriesData<T> *data() const;
-
-    /*!
-        \param index Index
-        \return Sample at position index
-    */
-    T sample( int index ) const;
-
-    /*!
-      \return Number of samples of the series
-      \sa setData(), QwtSeriesData<T>::size()
-    */
-    virtual size_t dataSize() const;
-
-    /*!
-      \return Bounding rectangle of the series
-              or an invalid rectangle, when no series is stored
-
-      \sa QwtSeriesData<T>::boundingRect()
-    */
-    virtual QRectF dataRect() const;
-
-    /*!
-      Set a the "rect of interest" for the series
-
-      \param rect Rectangle of interest
-      \sa QwtSeriesData<T>::setRectOfInterest()
-    */
-    virtual void setRectOfInterest( const QRectF &rect );
-
-    /*!
-      Replace a series without deleting the previous one
-
-      \param series New series
-      \return Previously assigned series
-     */
-    QwtSeriesData<T> *swapData( QwtSeriesData<T> *series );
-
-private:
-    QwtSeriesData<T> *d_series;
-};
-
-template <typename T>
-QwtSeriesStore<T>::QwtSeriesStore():
-    d_series( NULL )
-{
-}
-
-template <typename T>
-QwtSeriesStore<T>::~QwtSeriesStore()
-{
-    delete d_series;
-}
-
-template <typename T>
-inline QwtSeriesData<T> *QwtSeriesStore<T>::data()
-{
-    return d_series;
-}
-
-template <typename T>
-inline const QwtSeriesData<T> *QwtSeriesStore<T>::data() const
-{
-    return d_series;
-}
-
-template <typename T>
-inline T QwtSeriesStore<T>::sample( int index ) const
-{
-    return d_series ? d_series->sample( index ) : T();
-}
-
-template <typename T>
-void QwtSeriesStore<T>::setData( QwtSeriesData<T> *series )
-{
-    if ( d_series != series )
-    {
-        delete d_series;
-        d_series = series;
-        dataChanged();
-    }
-}
-
-template <typename T>
-size_t QwtSeriesStore<T>::dataSize() const
-{
-    if ( d_series == NULL )
-        return 0;
-
-    return d_series->size();
-}
-
-template <typename T>
-QRectF QwtSeriesStore<T>::dataRect() const
-{
-    if ( d_series == NULL )
-        return QRectF( 1.0, 1.0, -2.0, -2.0 ); // invalid
-
-    return d_series->boundingRect();
-}
-
-template <typename T>
-void QwtSeriesStore<T>::setRectOfInterest( const QRectF &rect )
-{
-    if ( d_series )
-        d_series->setRectOfInterest( rect );
-}
-
-template <typename T>
-QwtSeriesData<T>* QwtSeriesStore<T>::swapData( QwtSeriesData<T> *series )
-{
-    QwtSeriesData<T> * swappedSeries = d_series;
-    d_series = series;
-
-    return swappedSeries;
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_slider.cpp b/SRC/Qwt/src/qwt_slider.cpp
deleted file mode 100644
index de5cf17..0000000
--- a/SRC/Qwt/src/qwt_slider.cpp
+++ /dev/null
@@ -1,1004 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_slider.h"
-#include "qwt_painter.h"
-#include "qwt_scale_draw.h"
-#include "qwt_scale_map.h"
-#include <qevent.h>
-#include <qdrawutil.h>
-#include <qpainter.h>
-#include <qalgorithms.h>
-#include <qmath.h>
-#include <qstyle.h>
-#include <qstyleoption.h>
-#include <qapplication.h>
-
-static QSize qwtHandleSize( const QSize &size, 
-    Qt::Orientation orientation, bool hasTrough )
-{
-    QSize handleSize = size;
-
-    if ( handleSize.isEmpty() )
-    {
-        const int handleThickness = 16;
-        handleSize.setWidth( 2 * handleThickness );
-        handleSize.setHeight( handleThickness );
-
-        if ( !hasTrough )
-            handleSize.transpose();
-
-        if ( orientation == Qt::Vertical )
-            handleSize.transpose();
-    }
-
-    return handleSize;
-}
-
-static QwtScaleDraw::Alignment qwtScaleDrawAlignment( 
-    Qt::Orientation orientation, QwtSlider::ScalePosition scalePos )
-{
-    QwtScaleDraw::Alignment align;
-
-    if ( orientation == Qt::Vertical )
-    {
-        // NoScale lays out like Left
-        if ( scalePos == QwtSlider::LeadingScale )
-            align = QwtScaleDraw::RightScale;
-        else
-            align = QwtScaleDraw::LeftScale;
-    }
-    else
-    {
-        // NoScale lays out like Bottom
-        if ( scalePos == QwtSlider::TrailingScale )
-            align = QwtScaleDraw::TopScale;
-        else
-            align = QwtScaleDraw::BottomScale;
-    }
-
-    return align;
-}
-
-class QwtSlider::PrivateData
-{
-public:
-    PrivateData():
-        repeatTimerId( 0 ),
-        updateInterval( 150 ),
-        stepsIncrement( 0 ),
-        pendingValueChange( false ),
-        borderWidth( 2 ),
-        spacing( 4 ),
-        scalePosition( QwtSlider::TrailingScale ),
-        hasTrough( true ),
-        hasGroove( false ),
-        mouseOffset( 0 )
-    {
-    }
-
-    int repeatTimerId;
-    bool timerTick;
-    int updateInterval;
-    int stepsIncrement;
-    bool pendingValueChange;
-
-    QRect sliderRect;
-
-    QSize handleSize;
-    int borderWidth;
-    int spacing;
-
-    Qt::Orientation orientation;
-    QwtSlider::ScalePosition scalePosition;
-
-    bool hasTrough;
-    bool hasGroove;
-
-    int mouseOffset;
-
-    mutable QSize sizeHintCache;
-};
-/*!
-  Construct vertical slider in QwtSlider::Trough style
-  with a scale to the left. 
-
-  The scale is initialized to [0.0, 100.0] and the value set to 0.0.
-
-  \param parent Parent widget
-
-  \sa setOrientation(), setScalePosition(), setBackgroundStyle()
-*/
-QwtSlider::QwtSlider( QWidget *parent ):
-    QwtAbstractSlider( parent )
-{
-    initSlider( Qt::Vertical );
-}
-
-/*!
-  Construct a slider in QwtSlider::Trough style
-
-  When orientation is Qt::Vertical the scale will be aligned to
-  the left - otherwise at the the top of the slider.
-
-  The scale is initialized to [0.0, 100.0] and the value set to 0.0.
-
-  \param parent Parent widget
-  \param orientation Orientation of the slider. 
-*/
-QwtSlider::QwtSlider( Qt::Orientation orientation, QWidget *parent ):
-    QwtAbstractSlider( parent )
-{
-    initSlider( orientation );
-}
-
-//! Destructor
-QwtSlider::~QwtSlider()
-{
-    delete d_data;
-}
-
-void QwtSlider::initSlider( Qt::Orientation orientation )
-{
-    if ( orientation == Qt::Vertical )
-        setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Expanding );
-    else
-        setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed );
-
-    setAttribute( Qt::WA_WState_OwnSizePolicy, false );
-
-    d_data = new QwtSlider::PrivateData;
-
-    d_data->orientation = orientation;
-
-    scaleDraw()->setAlignment( 
-        qwtScaleDrawAlignment( orientation, d_data->scalePosition ) );
-    scaleDraw()->setLength( 100 );
-
-    setScale( 0.0, 100.0 );
-    setValue( 0.0 );
-}
-
-/*!
-  \brief Set the orientation.
-  \param orientation Allowed values are Qt::Horizontal and Qt::Vertical.
-
-  \sa orientation(), scalePosition()
-*/
-void QwtSlider::setOrientation( Qt::Orientation orientation )
-{
-    if ( orientation == d_data->orientation )
-        return;
-
-    d_data->orientation = orientation;
-
-    scaleDraw()->setAlignment( 
-        qwtScaleDrawAlignment( orientation, d_data->scalePosition ) );
-
-    if ( !testAttribute( Qt::WA_WState_OwnSizePolicy ) )
-    {
-        QSizePolicy sp = sizePolicy();
-        sp.transpose();
-        setSizePolicy( sp );
-
-        setAttribute( Qt::WA_WState_OwnSizePolicy, false );
-    }
-
-    if ( testAttribute( Qt::WA_WState_Polished ) )
-        layoutSlider( true );
-}
-
-/*!
-  \return Orientation
-  \sa setOrientation()
-*/
-Qt::Orientation QwtSlider::orientation() const
-{
-    return d_data->orientation;
-}
-
-/*!
-  \brief Change the position of the scale
-  \param scalePosition Position of the scale.
-
-  \sa ScalePosition, scalePosition()
-*/
-void QwtSlider::setScalePosition( ScalePosition scalePosition )
-{
-    if ( d_data->scalePosition == scalePosition )
-        return;
-
-    d_data->scalePosition = scalePosition;
-    scaleDraw()->setAlignment( 
-        qwtScaleDrawAlignment( d_data->orientation, scalePosition ) );
-
-    if ( testAttribute( Qt::WA_WState_Polished ) )
-        layoutSlider( true );
-}
-
-/*! 
-  \return Position of the scale
-  \sa setScalePosition()
- */
-QwtSlider::ScalePosition QwtSlider::scalePosition() const
-{
-    return d_data->scalePosition;
-}
-
-/*!
-  \brief Change the slider's border width
-
-  The border width is used for drawing the slider handle and the
-  trough.
-
-  \param width Border width
-  \sa borderWidth()
-*/
-void QwtSlider::setBorderWidth( int width )
-{
-    if ( width < 0 )
-        width = 0;
-
-    if ( width != d_data->borderWidth )
-    {
-        d_data->borderWidth = width;
-
-        if ( testAttribute( Qt::WA_WState_Polished ) )
-            layoutSlider( true );
-    }
-}
-
-/*!
-  \return the border width.
-  \sa setBorderWidth()
-*/
-int QwtSlider::borderWidth() const
-{
-    return d_data->borderWidth;
-}
-
-/*!
-  \brief Change the spacing between trough and scale
-
-  A spacing of 0 means, that the backbone of the scale is covered
-  by the trough.
-
-  The default setting is 4 pixels.
-
-  \param spacing Number of pixels
-  \sa spacing();
-*/
-void QwtSlider::setSpacing( int spacing )
-{
-    if ( spacing <= 0 )
-        spacing = 0;
-
-    if ( spacing != d_data->spacing  )
-    {
-        d_data->spacing = spacing;
-
-        if ( testAttribute( Qt::WA_WState_Polished ) )
-            layoutSlider( true );
-    }
-}
-
-/*!
-  \return Number of pixels between slider and scale
-  \sa setSpacing()
-*/
-int QwtSlider::spacing() const
-{
-    return d_data->spacing;
-}
-
-/*!
-  \brief Set the slider's handle size
-
-  When the size is empty the slider handle will be painted with a
-  default size depending on its orientation() and backgroundStyle().
-
-  \param size New size
-
-  \sa handleSize()
-*/
-void QwtSlider::setHandleSize( const QSize &size )
-{
-    if ( size != d_data->handleSize )
-    {
-        d_data->handleSize = size;
-
-        if ( testAttribute( Qt::WA_WState_Polished ) )
-            layoutSlider( true );
-    }
-}
-
-/*!
-  \return Size of the handle.
-  \sa setHandleSize()
-*/
-QSize QwtSlider::handleSize() const
-{
-    return d_data->handleSize;
-}
-
-/*!
-  \brief Set a scale draw
-
-  For changing the labels of the scales, it
-  is necessary to derive from QwtScaleDraw and
-  overload QwtScaleDraw::label().
-
-  \param scaleDraw ScaleDraw object, that has to be created with
-                   new and will be deleted in ~QwtSlider() or the next
-                   call of setScaleDraw().
-
-  \sa scaleDraw()
-*/
-void QwtSlider::setScaleDraw( QwtScaleDraw *scaleDraw )
-{
-    const QwtScaleDraw *previousScaleDraw = this->scaleDraw();
-    if ( scaleDraw == NULL || scaleDraw == previousScaleDraw )
-        return;
-
-    if ( previousScaleDraw )
-        scaleDraw->setAlignment( previousScaleDraw->alignment() );
-
-    setAbstractScaleDraw( scaleDraw );
-
-    if ( testAttribute( Qt::WA_WState_Polished ) )
-        layoutSlider( true );
-}
-
-/*!
-  \return the scale draw of the slider
-  \sa setScaleDraw()
-*/
-const QwtScaleDraw *QwtSlider::scaleDraw() const
-{
-    return static_cast<const QwtScaleDraw *>( abstractScaleDraw() );
-}
-
-/*!
-  \return the scale draw of the slider
-  \sa setScaleDraw()
-*/
-QwtScaleDraw *QwtSlider::scaleDraw()
-{
-    return static_cast<QwtScaleDraw *>( abstractScaleDraw() );
-}
-
-//! Notify changed scale
-void QwtSlider::scaleChange()
-{
-    QwtAbstractSlider::scaleChange();
-
-    if ( testAttribute( Qt::WA_WState_Polished ) )
-        layoutSlider( true );
-}
-
-/*!
-  \brief Specify the update interval for automatic scrolling
-
-  The minimal accepted value is 50 ms.
-
-  \param interval Update interval in milliseconds
-
-  \sa setUpdateInterval()
-*/
-void QwtSlider::setUpdateInterval( int interval )
-{
-    d_data->updateInterval = qMax( interval, 50 );
-}
-
-/*!
-  \return Update interval in milliseconds for automatic scrolling
-  \sa setUpdateInterval()
- */
-int QwtSlider::updateInterval() const
-{
-    return d_data->updateInterval;
-}
-
-/*!
-   Draw the slider into the specified rectangle.
-
-   \param painter Painter
-   \param sliderRect Bounding rectangle of the slider
-*/
-void QwtSlider::drawSlider( 
-    QPainter *painter, const QRect &sliderRect ) const
-{
-    QRect innerRect( sliderRect );
-
-    if ( d_data->hasTrough )
-    {
-        const int bw = d_data->borderWidth;
-        innerRect = sliderRect.adjusted( bw, bw, -bw, -bw );
-
-        painter->fillRect( innerRect, palette().brush( QPalette::Mid ) );
-        qDrawShadePanel( painter, sliderRect, palette(), true, bw, NULL );
-    }
-
-    const QSize handleSize = qwtHandleSize( d_data->handleSize,
-        d_data->orientation, d_data->hasTrough );
-
-    if ( d_data->hasGroove )
-    {
-        const int slotExtent = 4;
-        const int slotMargin = 4;
-
-        QRect slotRect; 
-        if ( orientation() == Qt::Horizontal )
-        {
-            int slotOffset = qMax( 1, handleSize.width() / 2 - slotMargin );
-            int slotHeight = slotExtent + ( innerRect.height() % 2 );
-
-            slotRect.setWidth( innerRect.width() - 2 * slotOffset );
-            slotRect.setHeight( slotHeight );
-        }
-        else
-        {
-            int slotOffset = qMax( 1, handleSize.height() / 2 - slotMargin );
-            int slotWidth = slotExtent + ( innerRect.width() % 2 );
-
-            slotRect.setWidth( slotWidth );
-            slotRect.setHeight( innerRect.height() - 2 * slotOffset );
-
-        }
-
-        slotRect.moveCenter( innerRect.center() );
-
-        QBrush brush = palette().brush( QPalette::Dark );
-        qDrawShadePanel( painter, slotRect, palette(), true, 1 , &brush );
-    }
-
-    if ( isValid() )
-        drawHandle( painter, handleRect(), transform( value() ) );
-}
-
-/*!
-  Draw the thumb at a position
-
-  \param painter Painter
-  \param handleRect Bounding rectangle of the handle
-  \param pos Position of the handle marker in widget coordinates
-*/
-void QwtSlider::drawHandle( QPainter *painter, 
-    const QRect &handleRect, int pos ) const
-{
-    const int bw = d_data->borderWidth;
-
-    qDrawShadePanel( painter, 
-        handleRect, palette(), false, bw,
-        &palette().brush( QPalette::Button ) );
-
-    pos++; // shade line points one pixel below
-    if ( orientation() == Qt::Horizontal )
-    {
-        qDrawShadeLine( painter, pos, handleRect.top() + bw,
-            pos, handleRect.bottom() - bw, palette(), true, 1 );
-    }
-    else // Vertical
-    {
-        qDrawShadeLine( painter, handleRect.left() + bw, pos,
-            handleRect.right() - bw, pos, palette(), true, 1 );
-    }
-}
-
-/*!
-  \brief Determine what to do when the user presses a mouse button.
-
-  \param pos Mouse position
-
-  \retval True, when handleRect() contains pos 
-  \sa scrolledTo()
-*/
-bool QwtSlider::isScrollPosition( const QPoint &pos ) const
-{
-    if ( handleRect().contains( pos ) )
-    {
-        const double v = ( orientation() == Qt::Horizontal ) 
-            ? pos.x() : pos.y();
-
-        d_data->mouseOffset = v - transform( value() );
-        return true;
-    }
-
-    return false;
-}
-
-/*!
-  \brief Determine the value for a new position of the
-         slider handle.
-
-  \param pos Mouse position
-
-  \return Value for the mouse position
-  \sa isScrollPosition()
-*/
-double QwtSlider::scrolledTo( const QPoint &pos ) const
-{
-    int p = ( orientation() == Qt::Horizontal ) 
-        ? pos.x() : pos.y();
-
-    p -= d_data->mouseOffset;
-
-    int min = transform( lowerBound() );
-    int max = transform( upperBound() );
-    if ( min > max )
-        qSwap( min, max );
-
-    p = qBound( min, p, max );
-
-    return scaleMap().invTransform( p );
-}
-
-/*!
-   Mouse press event handler
-   \param event Mouse event
-*/
-void QwtSlider::mousePressEvent( QMouseEvent *event )
-{
-    if ( isReadOnly() )
-    {
-        event->ignore();
-        return;
-    }
-
-    const QPoint pos = event->pos();
-
-    if ( isValid() && d_data->sliderRect.contains( pos ) )
-    {
-        if ( !handleRect().contains( pos ) )
-        {
-            const int markerPos = transform( value() );
-
-            d_data->stepsIncrement = pageSteps();
-
-            if ( d_data->orientation == Qt::Horizontal )
-            {
-                if ( pos.x() < markerPos )
-                    d_data->stepsIncrement = -d_data->stepsIncrement;
-            }
-            else
-            {
-                if ( pos.y() < markerPos )
-                    d_data->stepsIncrement = -d_data->stepsIncrement;
-            }
-
-            if ( isInverted() )
-                d_data->stepsIncrement = -d_data->stepsIncrement;
-
-            const double v = value();
-            incrementValue( d_data->stepsIncrement );
-
-            if ( v != value() )
-            {
-                if ( isTracking() )
-                    Q_EMIT valueChanged( value() );
-                else
-                    d_data->pendingValueChange = true;
-
-                Q_EMIT sliderMoved( value() );
-            }
-
-            d_data->timerTick = false;
-            d_data->repeatTimerId = startTimer( qMax( 250, 2 * updateInterval() ) );
-
-            return;
-        }
-    }
-
-    QwtAbstractSlider::mousePressEvent( event );
-}
-
-/*!
-   Mouse release event handler
-   \param event Mouse event
-*/
-void QwtSlider::mouseReleaseEvent( QMouseEvent *event )
-{
-    if ( d_data->repeatTimerId > 0 )
-    {
-        killTimer( d_data->repeatTimerId );
-        d_data->repeatTimerId = 0;
-        d_data->timerTick = false;
-        d_data->stepsIncrement = 0;
-    }
-
-    if ( d_data->pendingValueChange )
-    {
-        d_data->pendingValueChange = false;
-        Q_EMIT valueChanged( value() );
-    }
-
-    QwtAbstractSlider::mouseReleaseEvent( event );
-}
-
-/*!
-   Timer event handler
-
-   Handles the timer, when the mouse stays pressed
-   inside the sliderRect().
-
-   \param event Mouse event
-*/  
-void QwtSlider::timerEvent( QTimerEvent *event )
-{
-    if ( event->timerId() != d_data->repeatTimerId )
-    {
-        QwtAbstractSlider::timerEvent( event );
-        return;
-    }
-
-    if ( !isValid() )
-    {
-        killTimer( d_data->repeatTimerId );
-        d_data->repeatTimerId = 0;
-        return;
-    }
-
-    const double v = value();
-    incrementValue( d_data->stepsIncrement );
-
-    if ( v != value() )
-    {
-        if ( isTracking() )
-            Q_EMIT valueChanged( value() );
-        else
-            d_data->pendingValueChange = true;
-
-        Q_EMIT sliderMoved( value() );
-    }
-
-    if ( !d_data->timerTick )
-    {
-        // restart the timer with a shorter interval
-        killTimer( d_data->repeatTimerId );
-        d_data->repeatTimerId = startTimer( updateInterval() );
-        
-        d_data->timerTick = true;
-    }   
-}
-
-/*!
-   Qt paint event handler
-   \param event Paint event
-*/
-void QwtSlider::paintEvent( QPaintEvent *event )
-{
-    QPainter painter( this );
-    painter.setClipRegion( event->region() );
-
-    QStyleOption opt;
-    opt.init(this);
-    style()->drawPrimitive(QStyle::PE_Widget, &opt, &painter, this);
-
-    if ( d_data->scalePosition != QwtSlider::NoScale )
-    {
-        if ( !d_data->sliderRect.contains( event->rect() ) )
-            scaleDraw()->draw( &painter, palette() );
-    }
-
-    drawSlider( &painter, d_data->sliderRect );
-
-    if ( hasFocus() )
-        QwtPainter::drawFocusRect( &painter, this, d_data->sliderRect );
-}
-
-/*!
-   Qt resize event handler
-   \param event Resize event
-*/
-void QwtSlider::resizeEvent( QResizeEvent *event )
-{
-    Q_UNUSED( event );
-
-    layoutSlider( false );
-}
-
-/*!
-   Handles QEvent::StyleChange and QEvent::FontChange events
-   \param event Change event
-*/
-void QwtSlider::changeEvent( QEvent *event )
-{
-    if ( event->type() == QEvent::StyleChange || 
-        event->type() == QEvent::FontChange )
-    {
-        if ( testAttribute( Qt::WA_WState_Polished ) )
-            layoutSlider( true );
-    }
-
-    QwtAbstractSlider::changeEvent( event );
-}
-
-/*!
-  Recalculate the slider's geometry and layout based on
-  the current geometry and fonts.
-
-  \param update_geometry  notify the layout system and call update
-         to redraw the scale
-*/
-void QwtSlider::layoutSlider( bool update_geometry )
-{
-    int bw = 0;
-    if ( d_data->hasTrough )
-        bw = d_data->borderWidth;
-
-    const QSize handleSize = qwtHandleSize( d_data->handleSize,
-        d_data->orientation, d_data->hasTrough );
-
-    QRect sliderRect = contentsRect();
-
-    /*
-       The marker line of the handle needs to be aligned to
-       the scale. But the marker is in the center 
-       and we need space enough to display the rest of the handle.
-
-       But the scale itself usually needs margins for displaying
-       the tick labels, that also might needs space beyond the
-       backbone.
-
-       Now it depends on what needs more margins. If it is the
-       slider the scale gets shrunk, otherwise the slider.
-     */
-
-    int scaleMargin = 0;
-    if ( d_data->scalePosition != QwtSlider::NoScale )
-    {
-        int d1, d2;
-        scaleDraw()->getBorderDistHint( font(), d1, d2 );
-
-        scaleMargin = qMax( d1, d2 ) - bw;
-    }
-
-    int scaleX, scaleY, scaleLength;
-
-    if ( d_data->orientation == Qt::Horizontal )
-    {
-        const int handleMargin = handleSize.width() / 2 - 1;
-        if ( scaleMargin > handleMargin )
-        {
-            int off = scaleMargin - handleMargin;
-            sliderRect.adjust( off, 0, -off, 0 );
-        }
-
-        scaleX = sliderRect.left() + bw + handleSize.width() / 2 - 1;
-        scaleLength = sliderRect.width() - handleSize.width();
-    }
-    else
-    {
-        int handleMargin = handleSize.height() / 2 - 1;
-        if ( scaleMargin > handleMargin )
-        {
-            int off = scaleMargin - handleMargin;
-            sliderRect.adjust( 0, off, 0, -off );
-        }
-
-        scaleY = sliderRect.top() + bw + handleSize.height() / 2 - 1;
-        scaleLength = sliderRect.height() - handleSize.height();
-    }
-
-    scaleLength -= 2 * bw;
-
-    // now align slider and scale according to the ScalePosition
-
-    if ( d_data->orientation == Qt::Horizontal )
-    {
-        const int h = handleSize.height() + 2 * bw;
-
-        if ( d_data->scalePosition == QwtSlider::TrailingScale )
-        {
-            sliderRect.setTop( sliderRect.bottom() + 1 - h );
-            scaleY = sliderRect.top() - d_data->spacing;
-        }
-        else
-        {
-            sliderRect.setHeight( h );
-            scaleY = sliderRect.bottom() + 1 + d_data->spacing;
-        }
-    }
-    else // Qt::Vertical
-    {
-        const int w = handleSize.width() + 2 * bw;
-
-        if ( d_data->scalePosition == QwtSlider::LeadingScale )
-        {
-            sliderRect.setWidth( w );
-            scaleX = sliderRect.right() + 1 + d_data->spacing;
-        }
-        else
-        {
-            sliderRect.setLeft( sliderRect.right() + 1 - w );
-            scaleX = sliderRect.left() - d_data->spacing;
-        }
-    }
-
-    d_data->sliderRect = sliderRect;
-
-    scaleDraw()->move( scaleX, scaleY );
-    scaleDraw()->setLength( scaleLength );
-
-    if ( update_geometry )
-    {
-        d_data->sizeHintCache = QSize(); // invalidate
-        updateGeometry();
-        update();
-    }
-}
-
-/*!
-  En/Disable the trough
-
-  The slider can be cutomized by showing a trough for the
-  handle.
-
-  \param on When true, the groove is visible
-  \sa hasTrough(), setGroove()
- */
-void QwtSlider::setTrough( bool on )
-{
-    if ( d_data->hasTrough != on )
-    {
-        d_data->hasTrough = on;
-
-        if ( testAttribute( Qt::WA_WState_Polished ) )
-            layoutSlider( true );
-    }
-}
-
-/*!
-  \return True, when the trough is visisble
-  \sa setTrough(), hasGroove()
- */
-bool QwtSlider::hasTrough() const
-{
-    return d_data->hasTrough;
-}
-
-/*!
-  En/Disable the groove
-
-  The slider can be cutomized by showing a groove for the
-  handle.
-
-  \param on When true, the groove is visible
-  \sa hasGroove(), setThrough()
- */
-void QwtSlider::setGroove( bool on )
-{
-    if ( d_data->hasGroove != on )
-    {
-        d_data->hasGroove = on;
-        
-        if ( testAttribute( Qt::WA_WState_Polished ) )
-            layoutSlider( true );
-    }
-}
-
-/*!
-  \return True, when the groove is visisble
-  \sa setGroove(), hasTrough()
- */
-bool QwtSlider::hasGroove() const
-{
-    return d_data->hasGroove;
-} 
-
-/*!
-  \return minimumSizeHint()
-*/
-QSize QwtSlider::sizeHint() const
-{
-    const QSize hint = minimumSizeHint();
-    return hint.expandedTo( QApplication::globalStrut() );
-}
-
-/*!
-  \return Minimum size hint
-  \sa sizeHint()
-*/
-QSize QwtSlider::minimumSizeHint() const
-{
-    if ( !d_data->sizeHintCache.isEmpty() )
-        return d_data->sizeHintCache;
-
-    const QSize handleSize = qwtHandleSize( d_data->handleSize,
-        d_data->orientation, d_data->hasTrough );
-
-    int bw = 0;
-    if ( d_data->hasTrough )
-        bw = d_data->borderWidth;
-
-    int sliderLength = 0; 
-    int scaleExtent = 0;
-
-    if ( d_data->scalePosition != QwtSlider::NoScale )
-    {
-        int d1, d2;
-        scaleDraw()->getBorderDistHint( font(), d1, d2 );
-
-        const int scaleBorderDist = 2 * ( qMax( d1, d2 ) - bw );
-
-        int handleBorderDist;
-        if ( d_data->orientation == Qt::Horizontal )
-            handleBorderDist = handleSize.width();
-        else
-            handleBorderDist = handleSize.height();
-
-        sliderLength = scaleDraw()->minLength( font() );
-        if ( handleBorderDist > scaleBorderDist )
-        {
-            // We need additional space for the overlapping handle
-            sliderLength += handleBorderDist - scaleBorderDist;
-        }
-
-        scaleExtent += d_data->spacing;
-        scaleExtent += qCeil( scaleDraw()->extent( font() ) );
-    }
-
-    sliderLength = qMax( sliderLength, 84 ); // from QSlider
-
-    int w = 0;
-    int h = 0;
-
-    if ( d_data->orientation == Qt::Horizontal )
-    {
-        w = sliderLength;
-        h = handleSize.height() + 2 * bw + scaleExtent;
-    }
-    else
-    {
-        w = handleSize.width() + 2 * bw + scaleExtent;
-        h = sliderLength;
-    }
-
-    // finally add margins
-    int left, right, top, bottom;
-    getContentsMargins( &left, &top, &right, &bottom );
-
-    w += left + right;
-    h += top + bottom;
-
-    d_data->sizeHintCache = QSize( w, h );
-    return d_data->sizeHintCache;
-}
-
-/*!
-   \return Bounding rectangle of the slider handle
- */
-QRect QwtSlider::handleRect() const
-{
-    if ( !isValid() )
-        return QRect();
-
-    const int markerPos = transform( value() );
-
-    QPoint center = d_data->sliderRect.center();
-    if ( d_data->orientation == Qt::Horizontal )
-        center.setX( markerPos );
-    else
-        center.setY( markerPos );
-
-    QRect rect;
-    rect.setSize( qwtHandleSize( d_data->handleSize,
-        d_data->orientation, d_data->hasTrough ) );
-    rect.moveCenter( center );
-
-    return rect;
-}
-
-/*!
- \return Bounding rectangle of the slider - without the scale
- */
-QRect QwtSlider::sliderRect() const
-{
-    return d_data->sliderRect;
-}
diff --git a/SRC/Qwt/src/qwt_slider.h b/SRC/Qwt/src/qwt_slider.h
deleted file mode 100644
index 76d7260..0000000
--- a/SRC/Qwt/src/qwt_slider.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_SLIDER_H
-#define QWT_SLIDER_H
-
-#include "qwt_global.h"
-#include "qwt_abstract_slider.h"
-
-class QwtScaleDraw;
-
-/*!
-  \brief The Slider Widget
-
-  QwtSlider is a slider widget which operates on an interval
-  of type double. Its position is related to a scale showing
-  the current value.
-
-  The slider can be customized by having a through, a groove - or both.
-
-  \image html sliders.png
-*/
-
-class QWT_EXPORT QwtSlider: public QwtAbstractSlider
-{
-    Q_OBJECT
-
-    Q_ENUMS( ScalePosition BackgroundStyle )
-
-    Q_PROPERTY( Qt::Orientation orientation
-                READ orientation WRITE setOrientation )
-    Q_PROPERTY( ScalePosition scalePosition READ scalePosition
-        WRITE setScalePosition )
-
-    Q_PROPERTY( bool trough READ hasTrough WRITE setTrough )
-    Q_PROPERTY( bool groove READ hasGroove WRITE setGroove )
-
-    Q_PROPERTY( QSize handleSize READ handleSize WRITE setHandleSize )
-    Q_PROPERTY( int borderWidth READ borderWidth WRITE setBorderWidth )
-    Q_PROPERTY( int spacing READ spacing WRITE setSpacing )
-
-public:
-
-    /*!
-      Position of the scale
-      \sa QwtSlider(), setScalePosition(), setOrientation()
-     */
-    enum ScalePosition
-    {
-        //! The slider has no scale
-        NoScale,
-
-        //! The scale is right of a vertical or below a horizontal slider
-        LeadingScale,
-
-        //! The scale is left of a vertical or above a horizontal slider
-        TrailingScale
-    };
-
-    explicit QwtSlider( QWidget *parent = NULL );
-    explicit QwtSlider( Qt::Orientation, QWidget *parent = NULL );
-
-    virtual ~QwtSlider();
-
-    void setOrientation( Qt::Orientation );
-    Qt::Orientation orientation() const;
-
-    void setScalePosition( ScalePosition );
-    ScalePosition scalePosition() const;
-
-    void setTrough( bool );
-    bool hasTrough() const;
-
-    void setGroove( bool );
-    bool hasGroove() const;
-
-    void setHandleSize( const QSize & );
-    QSize handleSize() const;
-
-    void setBorderWidth( int bw );
-    int borderWidth() const;
-
-    void setSpacing( int );
-    int spacing() const;
-
-    virtual QSize sizeHint() const;
-    virtual QSize minimumSizeHint() const;
-
-    void setScaleDraw( QwtScaleDraw * );
-    const QwtScaleDraw *scaleDraw() const;
-
-    void setUpdateInterval( int );
-    int updateInterval() const;
-
-protected:
-    virtual double scrolledTo( const QPoint & ) const;
-    virtual bool isScrollPosition( const QPoint & ) const;
-
-    virtual void drawSlider ( QPainter *, const QRect & ) const;
-    virtual void drawHandle( QPainter *, const QRect &, int pos ) const;
-
-    virtual void mousePressEvent( QMouseEvent * );
-    virtual void mouseReleaseEvent( QMouseEvent * );
-    virtual void resizeEvent( QResizeEvent * );
-    virtual void paintEvent ( QPaintEvent * );
-    virtual void changeEvent( QEvent * );
-    virtual void timerEvent( QTimerEvent * );
-
-    virtual void scaleChange();
-
-    QRect sliderRect() const;
-    QRect handleRect() const;
-
-private:
-    QwtScaleDraw *scaleDraw();
-
-    void layoutSlider( bool );
-    void initSlider( Qt::Orientation );
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_spline.cpp b/SRC/Qwt/src/qwt_spline.cpp
deleted file mode 100644
index add9a48..0000000
--- a/SRC/Qwt/src/qwt_spline.cpp
+++ /dev/null
@@ -1,384 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_spline.h"
-#include "qwt_math.h"
-
-class QwtSpline::PrivateData
-{
-public:
-    PrivateData():
-        splineType( QwtSpline::Natural )
-    {
-    }
-
-    QwtSpline::SplineType splineType;
-
-    // coefficient vectors
-    QVector<double> a;
-    QVector<double> b;
-    QVector<double> c;
-
-    // control points
-    QPolygonF points;
-};
-
-static int lookup( double x, const QPolygonF &values )
-{
-#if 0
-//qLowerBound/qHigherBound ???
-#endif
-    int i1;
-    const int size = values.size();
-
-    if ( x <= values[0].x() )
-        i1 = 0;
-    else if ( x >= values[size - 2].x() )
-        i1 = size - 2;
-    else
-    {
-        i1 = 0;
-        int i2 = size - 2;
-        int i3 = 0;
-
-        while ( i2 - i1 > 1 )
-        {
-            i3 = i1 + ( ( i2 - i1 ) >> 1 );
-
-            if ( values[i3].x() > x )
-                i2 = i3;
-            else
-                i1 = i3;
-        }
-    }
-    return i1;
-}
-
-//! Constructor
-QwtSpline::QwtSpline()
-{
-    d_data = new PrivateData;
-}
-
-/*!
-   Copy constructor
-   \param other Spline used for initialization
-*/
-QwtSpline::QwtSpline( const QwtSpline& other )
-{
-    d_data = new PrivateData( *other.d_data );
-}
-
-/*!
-   Assignment operator
-   \param other Spline used for initialization
-   \return *this
-*/
-QwtSpline &QwtSpline::operator=( const QwtSpline & other )
-{
-    *d_data = *other.d_data;
-    return *this;
-}
-
-//! Destructor
-QwtSpline::~QwtSpline()
-{
-    delete d_data;
-}
-
-/*!
-   Select the algorithm used for calculating the spline
-
-   \param splineType Spline type
-   \sa splineType()
-*/
-void QwtSpline::setSplineType( SplineType splineType )
-{
-    d_data->splineType = splineType;
-}
-
-/*!
-   \return the spline type
-   \sa setSplineType()
-*/
-QwtSpline::SplineType QwtSpline::splineType() const
-{
-    return d_data->splineType;
-}
-
-/*!
-  \brief Calculate the spline coefficients
-
-  Depending on the value of \a periodic, this function
-  will determine the coefficients for a natural or a periodic
-  spline and store them internally.
-
-  \param points Points
-  \return true if successful
-  \warning The sequence of x (but not y) values has to be strictly monotone
-           increasing, which means <code>points[i].x() < points[i+1].x()</code>.
-       If this is not the case, the function will return false
-*/
-bool QwtSpline::setPoints( const QPolygonF& points )
-{
-    const int size = points.size();
-    if ( size <= 2 )
-    {
-        reset();
-        return false;
-    }
-
-    d_data->points = points;
-
-    d_data->a.resize( size - 1 );
-    d_data->b.resize( size - 1 );
-    d_data->c.resize( size - 1 );
-
-    bool ok;
-    if ( d_data->splineType == Periodic )
-        ok = buildPeriodicSpline( points );
-    else
-        ok = buildNaturalSpline( points );
-
-    if ( !ok )
-        reset();
-
-    return ok;
-}
-
-/*!
-   \return Points, that have been by setPoints()
-*/
-QPolygonF QwtSpline::points() const
-{
-    return d_data->points;
-}
-
-//! \return A coefficients
-const QVector<double> &QwtSpline::coefficientsA() const
-{
-    return d_data->a;
-}
-
-//! \return B coefficients
-const QVector<double> &QwtSpline::coefficientsB() const
-{
-    return d_data->b;
-}
-
-//! \return C coefficients
-const QVector<double> &QwtSpline::coefficientsC() const
-{
-    return d_data->c;
-}
-
-
-//! Free allocated memory and set size to 0
-void QwtSpline::reset()
-{
-    d_data->a.resize( 0 );
-    d_data->b.resize( 0 );
-    d_data->c.resize( 0 );
-    d_data->points.resize( 0 );
-}
-
-//! True if valid
-bool QwtSpline::isValid() const
-{
-    return d_data->a.size() > 0;
-}
-
-/*!
-  Calculate the interpolated function value corresponding
-  to a given argument x.
-
-  \param x Coordinate
-  \return Interpolated coordinate
-*/
-double QwtSpline::value( double x ) const
-{
-    if ( d_data->a.size() == 0 )
-        return 0.0;
-
-    const int i = lookup( x, d_data->points );
-
-    const double delta = x - d_data->points[i].x();
-    return( ( ( ( d_data->a[i] * delta ) + d_data->b[i] )
-        * delta + d_data->c[i] ) * delta + d_data->points[i].y() );
-}
-
-/*!
-  \brief Determines the coefficients for a natural spline
-  \return true if successful
-*/
-bool QwtSpline::buildNaturalSpline( const QPolygonF &points )
-{
-    int i;
-
-    const QPointF *p = points.data();
-    const int size = points.size();
-
-    double *a = d_data->a.data();
-    double *b = d_data->b.data();
-    double *c = d_data->c.data();
-
-    //  set up tridiagonal equation system; use coefficient
-    //  vectors as temporary buffers
-    QVector<double> h( size - 1 );
-    for ( i = 0; i < size - 1; i++ )
-    {
-        h[i] = p[i+1].x() - p[i].x();
-        if ( h[i] <= 0 )
-            return false;
-    }
-
-    QVector<double> d( size - 1 );
-    double dy1 = ( p[1].y() - p[0].y() ) / h[0];
-    for ( i = 1; i < size - 1; i++ )
-    {
-        b[i] = c[i] = h[i];
-        a[i] = 2.0 * ( h[i-1] + h[i] );
-
-        const double dy2 = ( p[i+1].y() - p[i].y() ) / h[i];
-        d[i] = 6.0 * ( dy1 - dy2 );
-        dy1 = dy2;
-    }
-
-    //
-    // solve it
-    //
-
-    // L-U Factorization
-    for ( i = 1; i < size - 2; i++ )
-    {
-        c[i] /= a[i];
-        a[i+1] -= b[i] * c[i];
-    }
-
-    // forward elimination
-    QVector<double> s( size );
-    s[1] = d[1];
-    for ( i = 2; i < size - 1; i++ )
-        s[i] = d[i] - c[i-1] * s[i-1];
-
-    // backward elimination
-    s[size - 2] = - s[size - 2] / a[size - 2];
-    for ( i = size - 3; i > 0; i-- )
-        s[i] = - ( s[i] + b[i] * s[i+1] ) / a[i];
-    s[size - 1] = s[0] = 0.0;
-
-    //
-    // Finally, determine the spline coefficients
-    //
-    for ( i = 0; i < size - 1; i++ )
-    {
-        a[i] = ( s[i+1] - s[i] ) / ( 6.0 * h[i] );
-        b[i] = 0.5 * s[i];
-        c[i] = ( p[i+1].y() - p[i].y() ) / h[i]
-            - ( s[i+1] + 2.0 * s[i] ) * h[i] / 6.0;
-    }
-
-    return true;
-}
-
-/*!
-  \brief Determines the coefficients for a periodic spline
-  \return true if successful
-*/
-bool QwtSpline::buildPeriodicSpline( const QPolygonF &points )
-{
-    int i;
-
-    const QPointF *p = points.data();
-    const int size = points.size();
-
-    double *a = d_data->a.data();
-    double *b = d_data->b.data();
-    double *c = d_data->c.data();
-
-    QVector<double> d( size - 1 );
-    QVector<double> h( size - 1 );
-    QVector<double> s( size );
-
-    //
-    //  setup equation system; use coefficient
-    //  vectors as temporary buffers
-    //
-    for ( i = 0; i < size - 1; i++ )
-    {
-        h[i] = p[i+1].x() - p[i].x();
-        if ( h[i] <= 0.0 )
-            return false;
-    }
-
-    const int imax = size - 2;
-    double htmp = h[imax];
-    double dy1 = ( p[0].y() - p[imax].y() ) / htmp;
-    for ( i = 0; i <= imax; i++ )
-    {
-        b[i] = c[i] = h[i];
-        a[i] = 2.0 * ( htmp + h[i] );
-        const double dy2 = ( p[i+1].y() - p[i].y() ) / h[i];
-        d[i] = 6.0 * ( dy1 - dy2 );
-        dy1 = dy2;
-        htmp = h[i];
-    }
-
-    //
-    // solve it
-    //
-
-    // L-U Factorization
-    a[0] = qSqrt( a[0] );
-    c[0] = h[imax] / a[0];
-    double sum = 0;
-
-    for ( i = 0; i < imax - 1; i++ )
-    {
-        b[i] /= a[i];
-        if ( i > 0 )
-            c[i] = - c[i-1] * b[i-1] / a[i];
-        a[i+1] = qSqrt( a[i+1] - qwtSqr( b[i] ) );
-        sum += qwtSqr( c[i] );
-    }
-    b[imax-1] = ( b[imax-1] - c[imax-2] * b[imax-2] ) / a[imax-1];
-    a[imax] = qSqrt( a[imax] - qwtSqr( b[imax-1] ) - sum );
-
-
-    // forward elimination
-    s[0] = d[0] / a[0];
-    sum = 0;
-    for ( i = 1; i < imax; i++ )
-    {
-        s[i] = ( d[i] - b[i-1] * s[i-1] ) / a[i];
-        sum += c[i-1] * s[i-1];
-    }
-    s[imax] = ( d[imax] - b[imax-1] * s[imax-1] - sum ) / a[imax];
-
-
-    // backward elimination
-    s[imax] = - s[imax] / a[imax];
-    s[imax-1] = -( s[imax-1] + b[imax-1] * s[imax] ) / a[imax-1];
-    for ( i = imax - 2; i >= 0; i-- )
-        s[i] = - ( s[i] + b[i] * s[i+1] + c[i] * s[imax] ) / a[i];
-
-    //
-    // Finally, determine the spline coefficients
-    //
-    s[size-1] = s[0];
-    for ( i = 0; i < size - 1; i++ )
-    {
-        a[i] = ( s[i+1] - s[i] ) / ( 6.0 * h[i] );
-        b[i] = 0.5 * s[i];
-        c[i] = ( p[i+1].y() - p[i].y() )
-            / h[i] - ( s[i+1] + 2.0 * s[i] ) * h[i] / 6.0;
-    }
-
-    return true;
-}
diff --git a/SRC/Qwt/src/qwt_spline.h b/SRC/Qwt/src/qwt_spline.h
deleted file mode 100644
index 363cbda..0000000
--- a/SRC/Qwt/src/qwt_spline.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_SPLINE_H
-#define QWT_SPLINE_H
-
-#include "qwt_global.h"
-#include <qpolygon.h>
-#include <qvector.h>
-
-/*!
-  \brief A class for spline interpolation
-
-  The QwtSpline class is used for cubical spline interpolation.
-  Two types of splines, natural and periodic, are supported.
-
-  \par Usage:
-  <ol>
-  <li>First call setPoints() to determine the spline coefficients
-      for a tabulated function y(x).
-  <li>After the coefficients have been set up, the interpolated
-      function value for an argument x can be determined by calling
-      QwtSpline::value().
-  </ol>
-
-  \par Example:
-  \code
-#include <qwt_spline.h>
-
-QPolygonF interpolate(const QPolygonF& points, int numValues)
-{
-    QwtSpline spline;
-    if ( !spline.setPoints(points) )
-        return points;
-
-    QPolygonF interpolatedPoints(numValues);
-
-    const double delta =
-        (points[numPoints - 1].x() - points[0].x()) / (points.size() - 1);
-    for(i = 0; i < points.size(); i++)  / interpolate
-    {
-        const double x = points[0].x() + i * delta;
-        interpolatedPoints[i].setX(x);
-        interpolatedPoints[i].setY(spline.value(x));
-    }
-    return interpolatedPoints;
-}
-  \endcode
-*/
-
-class QWT_EXPORT QwtSpline
-{
-public:
-    //! Spline type
-    enum SplineType
-    {
-        //! A natural spline
-        Natural,
-
-        //! A periodic spline
-        Periodic
-    };
-
-    QwtSpline();
-    QwtSpline( const QwtSpline & );
-
-    ~QwtSpline();
-
-    QwtSpline &operator=( const QwtSpline & );
-
-    void setSplineType( SplineType );
-    SplineType splineType() const;
-
-    bool setPoints( const QPolygonF& points );
-    QPolygonF points() const;
-
-    void reset();
-
-    bool isValid() const;
-    double value( double x ) const;
-
-    const QVector<double> &coefficientsA() const;
-    const QVector<double> &coefficientsB() const;
-    const QVector<double> &coefficientsC() const;
-
-protected:
-    bool buildNaturalSpline( const QPolygonF & );
-    bool buildPeriodicSpline( const QPolygonF & );
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_symbol.cpp b/SRC/Qwt/src/qwt_symbol.cpp
deleted file mode 100644
index 6514751..0000000
--- a/SRC/Qwt/src/qwt_symbol.cpp
+++ /dev/null
@@ -1,1770 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_symbol.h"
-#include "qwt_painter.h"
-#include "qwt_graphic.h"
-#include <qapplication.h>
-#include <qpainter.h>
-#include <qpainterpath.h>
-#include <qpixmap.h>
-#include <qpaintengine.h>
-#include <qmath.h>
-#ifndef QWT_NO_SVG
-#include <qsvgrenderer.h>
-#endif
-
-namespace QwtTriangle
-{
-    enum Type
-    {
-        Left,
-        Right,
-        Up,
-        Down
-    };
-}
-
-static QwtGraphic qwtPathGraphic( const QPainterPath &path, 
-    const QPen &pen, const QBrush& brush )
-{
-    QwtGraphic graphic;
-    graphic.setRenderHint( QwtGraphic::RenderPensUnscaled );
-
-    QPainter painter( &graphic );
-    painter.setPen( pen );
-    painter.setBrush( brush );
-    painter.drawPath( path );
-    painter.end();
-
-    return graphic;
-}
-
-static inline QRectF qwtScaledBoundingRect( 
-    const QwtGraphic &graphic, const QSizeF size )
-{
-    QSizeF scaledSize = size;
-    if ( scaledSize.isEmpty() )
-        scaledSize = graphic.defaultSize();
-        
-    const QSizeF sz = graphic.controlPointRect().size();
-
-    double sx = 1.0;
-    if ( sz.width() > 0.0 )
-        sx = scaledSize.width() / sz.width();
-    
-    double sy = 1.0;
-    if ( sz.height() > 0.0 )
-        sy = scaledSize.height() / sz.height();
-
-    return graphic.scaledBoundingRect( sx, sy );
-}
-
-static inline void qwtDrawPixmapSymbols( QPainter *painter,
-    const QPointF *points, int numPoints, const QwtSymbol &symbol )
-{
-    QSize size = symbol.size();
-    if ( size.isEmpty() )
-        size = symbol.pixmap().size();
-
-    const QTransform transform = painter->transform();
-    if ( transform.isScaling() )
-    {
-        const QRect r( 0, 0, size.width(), size.height() );
-        size = transform.mapRect( r ).size();
-    }
-
-    QPixmap pm = symbol.pixmap();
-    if ( pm.size() != size )
-        pm = pm.scaled( size );
-    
-    QPointF pinPoint( 0.5 * size.width(), 0.5 * size.height() );
-    if ( symbol.isPinPointEnabled() )
-        pinPoint = symbol.pinPoint();
-
-    painter->resetTransform();
-
-    for ( int i = 0; i < numPoints; i++ )
-    {
-        const QPointF pos = transform.map( points[i] ) - pinPoint;
-
-        QwtPainter::drawPixmap( painter, 
-            QRect( pos.toPoint(), pm.size() ), pm );
-    }
-}
-
-#ifndef QWT_NO_SVG
-
-static inline void qwtDrawSvgSymbols( QPainter *painter, 
-    const QPointF *points, int numPoints, 
-    QSvgRenderer *renderer, const QwtSymbol &symbol )
-{
-    if ( renderer == NULL || !renderer->isValid() )
-        return;
-
-    const QRectF viewBox = renderer->viewBoxF();
-    if ( viewBox.isEmpty() )
-        return;
-
-    QSizeF sz = symbol.size();
-    if ( !sz.isValid() )
-        sz = viewBox.size();
-
-    const double sx = sz.width() / viewBox.width();
-    const double sy = sz.height() / viewBox.height();
-
-    QPointF pinPoint = viewBox.center();
-    if ( symbol.isPinPointEnabled() )
-        pinPoint = symbol.pinPoint();
-
-    const double dx = sx * ( pinPoint.x() - viewBox.left() );
-    const double dy = sy * ( pinPoint.y() - viewBox.top() );
-
-    for ( int i = 0; i < numPoints; i++ )
-    {
-        const double x = points[i].x() - dx;
-        const double y = points[i].y() - dy;
-
-        renderer->render( painter, 
-            QRectF( x, y, sz.width(), sz.height() ) );
-    }
-}
-
-#endif
-
-static inline void qwtDrawGraphicSymbols( QPainter *painter, 
-    const QPointF *points, int numPoints, const QwtGraphic &graphic,
-    const QwtSymbol &symbol )
-{
-    const QRectF pointRect = graphic.controlPointRect();
-    if ( pointRect.isEmpty() )
-        return;
-
-    double sx = 1.0;
-    double sy = 1.0;
-
-    const QSize sz = symbol.size();
-    if ( sz.isValid() )
-    {
-        sx = sz.width() / pointRect.width();
-        sy = sz.height() / pointRect.height();
-    }
-
-    QPointF pinPoint = pointRect.center();
-    if ( symbol.isPinPointEnabled() )
-        pinPoint = symbol.pinPoint();
-
-    const QTransform transform = painter->transform();
-
-    for ( int i = 0; i < numPoints; i++ )
-    {
-        QTransform tr = transform;
-        tr.translate( points[i].x(), points[i].y() );
-        tr.scale( sx, sy );
-        tr.translate( -pinPoint.x(), -pinPoint.y() );
-
-        painter->setTransform( tr );
-
-        graphic.render( painter );
-    }
-
-    painter->setTransform( transform );
-}
-
-static inline void qwtDrawEllipseSymbols( QPainter *painter,
-    const QPointF *points, int numPoints, const QwtSymbol &symbol )
-{
-    painter->setBrush( symbol.brush() );
-    painter->setPen( symbol.pen() );
-
-    const QSize size = symbol.size();
-
-    if ( QwtPainter::roundingAlignment( painter ) )
-    {
-        const int sw = size.width();
-        const int sh = size.height();
-        const int sw2 = size.width() / 2;
-        const int sh2 = size.height() / 2;
-
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            const int x = qRound( points[i].x() );
-            const int y = qRound( points[i].y() );
-
-            const QRectF r( x - sw2, y - sh2, sw, sh );
-            QwtPainter::drawEllipse( painter, r );
-        }
-    }
-    else
-    {
-        const double sw = size.width();
-        const double sh = size.height();
-        const double sw2 = 0.5 * size.width();
-        const double sh2 = 0.5 * size.height();
-
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            const double x = points[i].x();
-            const double y = points[i].y();
-
-            const QRectF r( x - sw2, y - sh2, sw, sh );
-            QwtPainter::drawEllipse( painter, r );
-        }
-    }
-}
-
-static inline void qwtDrawRectSymbols( QPainter *painter,
-    const QPointF *points, int numPoints, const QwtSymbol &symbol )
-{
-    const QSize size = symbol.size();
-
-    QPen pen = symbol.pen();
-    pen.setJoinStyle( Qt::MiterJoin );
-    painter->setPen( pen );
-    painter->setBrush( symbol.brush() );
-    painter->setRenderHint( QPainter::Antialiasing, false );
-
-    if ( QwtPainter::roundingAlignment( painter ) )
-    {
-        const int sw = size.width();
-        const int sh = size.height();
-        const int sw2 = size.width() / 2;
-        const int sh2 = size.height() / 2;
-
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            const int x = qRound( points[i].x() );
-            const int y = qRound( points[i].y() );
-
-            const QRect r( x - sw2, y - sh2, sw, sh );
-            QwtPainter::drawRect( painter, r );
-        }
-    }
-    else
-    {
-        const double sw = size.width();
-        const double sh = size.height();
-        const double sw2 = 0.5 * size.width();
-        const double sh2 = 0.5 * size.height();
-
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            const double x = points[i].x();
-            const double y = points[i].y();
-
-            const QRectF r( x - sw2, y - sh2, sw, sh );
-            QwtPainter::drawRect( painter, r );
-        }
-    }
-}
-
-static inline void qwtDrawDiamondSymbols( QPainter *painter,
-    const QPointF *points, int numPoints, const QwtSymbol &symbol )
-{
-    const QSize size = symbol.size();
-
-    QPen pen = symbol.pen();
-    pen.setJoinStyle( Qt::MiterJoin );
-    painter->setPen( pen );
-    painter->setBrush( symbol.brush() );
-
-    if ( QwtPainter::roundingAlignment( painter ) )
-    {
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            const int x = qRound( points[i].x() );
-            const int y = qRound( points[i].y() );
-
-            const int x1 = x - size.width() / 2;
-            const int y1 = y - size.height() / 2;
-            const int x2 = x1 + size.width();
-            const int y2 = y1 + size.height();
-
-            QPolygonF polygon;
-            polygon += QPointF( x, y1 );
-            polygon += QPointF( x1, y );
-            polygon += QPointF( x, y2 );
-            polygon += QPointF( x2, y );
-
-            QwtPainter::drawPolygon( painter, polygon );
-        }
-    }
-    else
-    {
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            const QPointF &pos = points[i];
-
-            const double x1 = pos.x() - 0.5 * size.width();
-            const double y1 = pos.y() - 0.5 * size.height();
-            const double x2 = x1 + size.width();
-            const double y2 = y1 + size.height();
-
-            QPolygonF polygon;
-            polygon += QPointF( pos.x(), y1 );
-            polygon += QPointF( x2, pos.y() );
-            polygon += QPointF( pos.x(), y2 );
-            polygon += QPointF( x1, pos.y() );
-
-            QwtPainter::drawPolygon( painter, polygon );
-        }
-    }
-}
-
-static inline void qwtDrawTriangleSymbols(
-    QPainter *painter, QwtTriangle::Type type,
-    const QPointF *points, int numPoints,
-    const QwtSymbol &symbol )
-{
-    const QSize size = symbol.size();
-
-    QPen pen = symbol.pen();
-    pen.setJoinStyle( Qt::MiterJoin );
-    painter->setPen( pen );
-
-    painter->setBrush( symbol.brush() );
-
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    double sw2 = 0.5 * size.width();
-    double sh2 = 0.5 * size.height();
-
-    if ( doAlign )
-    {
-        sw2 = qFloor( sw2 );
-        sh2 = qFloor( sh2 );
-    }
-
-    QPolygonF triangle( 3 );
-    QPointF *trianglePoints = triangle.data();
-
-    for ( int i = 0; i < numPoints; i++ )
-    {
-        const QPointF &pos = points[i];
-
-        double x = pos.x();
-        double y = pos.y();
-
-        if ( doAlign )
-        {
-            x = qRound( x );
-            y = qRound( y );
-        }
-
-        const double x1 = x - sw2;
-        const double x2 = x1 + size.width();
-        const double y1 = y - sh2;
-        const double y2 = y1 + size.height();
-
-        switch ( type )
-        {
-            case QwtTriangle::Left:
-            {
-                trianglePoints[0].rx() = x2;
-                trianglePoints[0].ry() = y1;
-
-                trianglePoints[1].rx() = x1;
-                trianglePoints[1].ry() = y;
-
-                trianglePoints[2].rx() = x2;
-                trianglePoints[2].ry() = y2;
-
-                break;
-            }
-            case QwtTriangle::Right:
-            {
-                trianglePoints[0].rx() = x1;
-                trianglePoints[0].ry() = y1;
-
-                trianglePoints[1].rx() = x2;
-                trianglePoints[1].ry() = y;
-
-                trianglePoints[2].rx() = x1;
-                trianglePoints[2].ry() = y2;
-
-                break;
-            }
-            case QwtTriangle::Up:
-            {
-                trianglePoints[0].rx() = x1;
-                trianglePoints[0].ry() = y2;
-
-                trianglePoints[1].rx() = x;
-                trianglePoints[1].ry() = y1;
-
-                trianglePoints[2].rx() = x2;
-                trianglePoints[2].ry() = y2;
-
-                break;
-            }
-            case QwtTriangle::Down:
-            {
-                trianglePoints[0].rx() = x1;
-                trianglePoints[0].ry() = y1;
-
-                trianglePoints[1].rx() = x;
-                trianglePoints[1].ry() = y2;
-
-                trianglePoints[2].rx() = x2;
-                trianglePoints[2].ry() = y1;
-
-                break;
-            }
-        }
-        QwtPainter::drawPolygon( painter, triangle );
-    }
-}
-
-static inline void qwtDrawLineSymbols(
-    QPainter *painter, int orientations,
-    const QPointF *points, int numPoints, const QwtSymbol &symbol )
-{
-    const QSize size = symbol.size();
-
-    int off = 0;
-
-    QPen pen = symbol.pen();
-    if ( pen.width() > 1 )
-    {
-        pen.setCapStyle( Qt::FlatCap );
-        off = 1;
-    }
-
-    painter->setPen( pen );
-    painter->setRenderHint( QPainter::Antialiasing, false );
-
-    if ( QwtPainter::roundingAlignment( painter ) )
-    {
-        const int sw = qFloor( size.width() );
-        const int sh = qFloor( size.height() );
-        const int sw2 = size.width() / 2;
-        const int sh2 = size.height() / 2;
-
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            if ( orientations & Qt::Horizontal )
-            {
-                const int x = qRound( points[i].x() ) - sw2;
-                const int y = qRound( points[i].y() );
-
-                QwtPainter::drawLine( painter, x, y, x + sw + off, y );
-            }
-            if ( orientations & Qt::Vertical )
-            {
-                const int x = qRound( points[i].x() );
-                const int y = qRound( points[i].y() ) - sh2;
-
-                QwtPainter::drawLine( painter, x, y, x, y + sh + off );
-            }
-        }
-    }
-    else
-    {
-        const double sw = size.width();
-        const double sh = size.height();
-        const double sw2 = 0.5 * size.width();
-        const double sh2 = 0.5 * size.height();
-
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            if ( orientations & Qt::Horizontal )
-            {
-                const double x = points[i].x() - sw2;
-                const double y = points[i].y();
-
-                QwtPainter::drawLine( painter, x, y, x + sw, y );
-            }
-            if ( orientations & Qt::Vertical )
-            {
-                const double y = points[i].y() - sh2;
-                const double x = points[i].x();
-
-                QwtPainter::drawLine( painter, x, y, x, y + sh );
-            }
-        }
-    }
-}
-
-static inline void qwtDrawXCrossSymbols( QPainter *painter,
-    const QPointF *points, int numPoints, const QwtSymbol &symbol )
-{
-    const QSize size = symbol.size();
-    int off = 0;
-
-    QPen pen = symbol.pen();
-    if ( pen.width() > 1 )
-    {
-        pen.setCapStyle( Qt::FlatCap );
-        off = 1;
-    }
-    painter->setPen( pen );
-
-
-    if ( QwtPainter::roundingAlignment( painter ) )
-    {
-        const int sw = size.width();
-        const int sh = size.height();
-        const int sw2 = size.width() / 2;
-        const int sh2 = size.height() / 2;
-
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            const QPointF &pos = points[i];
-
-            const int x = qRound( pos.x() );
-            const int y = qRound( pos.y() );
-
-            const int x1 = x - sw2;
-            const int x2 = x1 + sw + off;
-            const int y1 = y - sh2;
-            const int y2 = y1 + sh + off;
-
-            QwtPainter::drawLine( painter, x1, y1, x2, y2 );
-            QwtPainter::drawLine( painter, x2, y1, x1, y2 );
-        }
-    }
-    else
-    {
-        const double sw = size.width();
-        const double sh = size.height();
-        const double sw2 = 0.5 * size.width();
-        const double sh2 = 0.5 * size.height();
-
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            const QPointF &pos = points[i];
-
-            const double x1 = pos.x() - sw2;
-            const double x2 = x1 + sw;
-            const double y1 = pos.y() - sh2;
-            const double y2 = y1 + sh;
-
-            QwtPainter::drawLine( painter, x1, y1, x2, y2 );
-            QwtPainter::drawLine( painter, x1, y2, x2, y1 );
-        }
-    }
-}
-
-static inline void qwtDrawStar1Symbols( QPainter *painter,
-    const QPointF *points, int numPoints, const QwtSymbol &symbol )
-{
-    const QSize size = symbol.size();
-    painter->setPen( symbol.pen() );
-
-    if ( QwtPainter::roundingAlignment( painter ) )
-    {
-        QRect r( 0, 0, size.width(), size.height() );
-
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            r.moveCenter( points[i].toPoint() );
-
-            const double sqrt1_2 = 0.70710678118654752440; /* 1/sqrt(2) */
-
-            const double d1 = r.width() / 2.0 * ( 1.0 - sqrt1_2 );
-
-            QwtPainter::drawLine( painter,
-                qRound( r.left() + d1 ), qRound( r.top() + d1 ),
-                qRound( r.right() - d1 ), qRound( r.bottom() - d1 ) );
-            QwtPainter::drawLine( painter,
-                qRound( r.left() + d1 ), qRound( r.bottom() - d1 ),
-                qRound( r .right() - d1), qRound( r.top() + d1 ) );
-
-            const QPoint c = r.center();
-
-            QwtPainter::drawLine( painter,
-                c.x(), r.top(), c.x(), r.bottom() );
-            QwtPainter::drawLine( painter,
-                r.left(), c.y(), r.right(), c.y() );
-        }
-    }
-    else
-    {
-        QRectF r( 0, 0, size.width(), size.height() );
-
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            r.moveCenter( points[i] );
-
-            const double sqrt1_2 = 0.70710678118654752440; /* 1/sqrt(2) */
-
-            const QPointF c = r.center();
-            const double d1  = r.width() / 2.0 * ( 1.0 - sqrt1_2 );
-
-            QwtPainter::drawLine( painter,
-                r.left() + d1, r.top() + d1,
-                r.right() - d1, r.bottom() - d1 );
-            QwtPainter::drawLine( painter,
-                r.left() + d1, r.bottom() - d1,
-                r.right() - d1, r.top() + d1 );
-            QwtPainter::drawLine( painter,
-                c.x(), r.top(),
-                c.x(), r.bottom() );
-            QwtPainter::drawLine( painter,
-                r.left(), c.y(),
-                r.right(), c.y() );
-        }
-    }
-}
-
-static inline void qwtDrawStar2Symbols( QPainter *painter,
-    const QPointF *points, int numPoints, const QwtSymbol &symbol )
-{
-    QPen pen = symbol.pen();
-    if ( pen.width() > 1 )
-        pen.setCapStyle( Qt::FlatCap );
-    pen.setJoinStyle( Qt::MiterJoin );
-    painter->setPen( pen );
-
-    painter->setBrush( symbol.brush() );
-
-    const double cos30 = 0.866025; // cos(30°)
-
-    const double dy = 0.25 * symbol.size().height();
-    const double dx = 0.5 * symbol.size().width() * cos30 / 3.0;
-
-    QPolygonF star( 12 );
-    QPointF *starPoints = star.data();
-
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    for ( int i = 0; i < numPoints; i++ )
-    {
-        double x = points[i].x();
-        double y = points[i].y();
-        if ( doAlign )
-        {
-            x = qRound( x );
-            y = qRound( y );
-        }
-
-        double x1 = x - 3 * dx;
-        double y1 = y - 2 * dy;
-        if ( doAlign )
-        {
-            x1 = qRound( x - 3 * dx );
-            y1 = qRound( y - 2 * dy );
-        }
-
-        const double x2 = x1 + 1 * dx;
-        const double x3 = x1 + 2 * dx;
-        const double x4 = x1 + 3 * dx;
-        const double x5 = x1 + 4 * dx;
-        const double x6 = x1 + 5 * dx;
-        const double x7 = x1 + 6 * dx;
-
-        const double y2 = y1 + 1 * dy;
-        const double y3 = y1 + 2 * dy;
-        const double y4 = y1 + 3 * dy;
-        const double y5 = y1 + 4 * dy;
-
-        starPoints[0].rx() = x4;
-        starPoints[0].ry() = y1;
-
-        starPoints[1].rx() = x5;
-        starPoints[1].ry() = y2;
-
-        starPoints[2].rx() = x7;
-        starPoints[2].ry() = y2;
-
-        starPoints[3].rx() = x6;
-        starPoints[3].ry() = y3;
-
-        starPoints[4].rx() = x7;
-        starPoints[4].ry() = y4;
-
-        starPoints[5].rx() = x5;
-        starPoints[5].ry() = y4;
-
-        starPoints[6].rx() = x4;
-        starPoints[6].ry() = y5;
-
-        starPoints[7].rx() = x3;
-        starPoints[7].ry() = y4;
-
-        starPoints[8].rx() = x1;
-        starPoints[8].ry() = y4;
-
-        starPoints[9].rx() = x2;
-        starPoints[9].ry() = y3;
-
-        starPoints[10].rx() = x1;
-        starPoints[10].ry() = y2;
-
-        starPoints[11].rx() = x3;
-        starPoints[11].ry() = y2;
-
-        QwtPainter::drawPolygon( painter, star );
-    }
-}
-
-static inline void qwtDrawHexagonSymbols( QPainter *painter,
-    const QPointF *points, int numPoints, const QwtSymbol &symbol )
-{
-    painter->setBrush( symbol.brush() );
-    painter->setPen( symbol.pen() );
-
-    const double cos30 = 0.866025; // cos(30°)
-    const double dx = 0.5 * ( symbol.size().width() - cos30 );
-
-    const double dy = 0.25 * symbol.size().height();
-
-    QPolygonF hexaPolygon( 6 );
-    QPointF *hexaPoints = hexaPolygon.data();
-
-    const bool doAlign = QwtPainter::roundingAlignment( painter );
-
-    for ( int i = 0; i < numPoints; i++ )
-    {
-        double x = points[i].x();
-        double y = points[i].y();
-        if ( doAlign )
-        {
-            x = qRound( x );
-            y = qRound( y );
-        }
-
-        double x1 = x - dx;
-        double y1 = y - 2 * dy;
-        if ( doAlign )
-        {
-            x1 = qCeil( x1 );
-            y1 = qCeil( y1 );
-        }
-
-        const double x2 = x1 + 1 * dx;
-        const double x3 = x1 + 2 * dx;
-
-        const double y2 = y1 + 1 * dy;
-        const double y3 = y1 + 3 * dy;
-        const double y4 = y1 + 4 * dy;
-
-        hexaPoints[0].rx() = x2;
-        hexaPoints[0].ry() = y1;
-
-        hexaPoints[1].rx() = x3;
-        hexaPoints[1].ry() = y2;
-
-        hexaPoints[2].rx() = x3;
-        hexaPoints[2].ry() = y3;
-
-        hexaPoints[3].rx() = x2;
-        hexaPoints[3].ry() = y4;
-
-        hexaPoints[4].rx() = x1;
-        hexaPoints[4].ry() = y3;
-
-        hexaPoints[5].rx() = x1;
-        hexaPoints[5].ry() = y2;
-
-        QwtPainter::drawPolygon( painter, hexaPolygon );
-    }
-}
-
-class QwtSymbol::PrivateData
-{
-public:
-    PrivateData( QwtSymbol::Style st, const QBrush &br,
-            const QPen &pn, const QSize &sz ):
-        style( st ),
-        size( sz ),
-        brush( br ),
-        pen( pn ),
-        isPinPointEnabled( false )
-    {
-        cache.policy = QwtSymbol::AutoCache;
-#ifndef QWT_NO_SVG
-        svg.renderer = NULL;
-#endif
-    }
-
-    ~PrivateData()
-    {
-#ifndef QWT_NO_SVG
-        delete svg.renderer;
-#endif
-    }
-
-    Style style;
-    QSize size;
-    QBrush brush;
-    QPen pen;
-
-    bool isPinPointEnabled;
-    QPointF pinPoint;
-
-    struct Path
-    {
-        QPainterPath path;
-        QwtGraphic graphic;
-
-    } path;
-
-    struct Pixmap
-    {
-        QPixmap pixmap;
-
-    } pixmap;
-
-    struct Graphic
-    {
-        QwtGraphic graphic;
-
-    } graphic;
-
-#ifndef QWT_NO_SVG
-    struct SVG
-    {
-        QSvgRenderer *renderer;
-    } svg;
-#endif
-
-    struct PaintCache
-    {
-        QwtSymbol::CachePolicy policy;
-        QPixmap pixmap;
-
-    } cache;
-};
-
-/*!
-  Default Constructor
-  \param style Symbol Style
-
-  The symbol is constructed with gray interior,
-  black outline with zero width, no size and style 'NoSymbol'.
-*/
-QwtSymbol::QwtSymbol( Style style )
-{
-    d_data = new PrivateData( style, QBrush( Qt::gray ),
-        QPen( Qt::black, 0 ), QSize() );
-}
-
-/*!
-  \brief Constructor
-  \param style Symbol Style
-  \param brush brush to fill the interior
-  \param pen outline pen
-  \param size size
-
-  \sa setStyle(), setBrush(), setPen(), setSize()
-*/
-QwtSymbol::QwtSymbol( QwtSymbol::Style style, const QBrush &brush,
-    const QPen &pen, const QSize &size )
-{
-    d_data = new PrivateData( style, brush, pen, size );
-}
-
-/*!
-  \brief Constructor
-
-  The symbol gets initialized by a painter path. The style is
-  set to QwtSymbol::Path, the size is set to empty ( the path
-  is displayed unscaled ).
-
-  \param path painter path
-  \param brush brush to fill the interior
-  \param pen outline pen
-
-  \sa setPath(), setBrush(), setPen(), setSize()
-*/
-
-QwtSymbol::QwtSymbol( const QPainterPath &path, 
-    const QBrush &brush, const QPen &pen )
-{
-    d_data = new PrivateData( QwtSymbol::Path, brush, pen, QSize() );
-    setPath( path );
-}
-
-//! Destructor
-QwtSymbol::~QwtSymbol()
-{
-    delete d_data;
-}
-
-/*!
-  Change the cache policy
-
-  The default policy is AutoCache
-
-  \param policy Cache policy
-  \sa CachePolicy, cachePolicy()
-*/
-void QwtSymbol::setCachePolicy(
-    QwtSymbol::CachePolicy policy )
-{
-    if ( d_data->cache.policy != policy )
-    {
-        d_data->cache.policy = policy;
-        invalidateCache();
-    }
-}
-
-/*!
-  \return Cache policy
-  \sa CachePolicy, setCachePolicy()
-*/
-QwtSymbol::CachePolicy QwtSymbol::cachePolicy() const
-{
-    return d_data->cache.policy;
-}
-
-/*!
-  \brief Set a painter path as symbol
-
-  The symbol is represented by a painter path, where the 
-  origin ( 0, 0 ) of the path coordinate system is mapped to
-  the position of the symbol.
-
-  When the symbol has valid size the painter path gets scaled
-  to fit into the size. Otherwise the symbol size depends on
-  the bounding rectangle of the path.
-
-  The following code defines a symbol drawing an arrow:
-
-  \verbatim
-#include <qwt_symbol.h>
-
-QwtSymbol *symbol = new QwtSymbol();
-
-QPen pen( Qt::black, 2 );
-pen.setJoinStyle( Qt::MiterJoin );
-
-symbol->setPen( pen );
-symbol->setBrush( Qt::red );
-
-QPainterPath path;
-path.moveTo( 0, 8 );
-path.lineTo( 0, 5 );
-path.lineTo( -3, 5 );
-path.lineTo( 0, 0 );
-path.lineTo( 3, 5 );
-path.lineTo( 0, 5 );
-
-QTransform transform;
-transform.rotate( -30.0 );
-path = transform.map( path );
-
-symbol->setPath( path );
-symbol->setPinPoint( QPointF( 0.0, 0.0 ) );
-
-setSize( 10, 14 );
-\endverbatim
-
-  \param path Painter path
-
-  \note The style is implicitely set to QwtSymbol::Path.
-  \sa path(), setSize()
- */
-void QwtSymbol::setPath( const QPainterPath &path )
-{
-    d_data->style = QwtSymbol::Path;
-    d_data->path.path = path;
-    d_data->path.graphic.reset();
-}
-
-/*!
-   \return Painter path for displaying the symbol
-   \sa setPath()
-*/
-const QPainterPath &QwtSymbol::path() const
-{
-    return d_data->path.path;
-}
-
-/*!
-  Set a pixmap as symbol
-
-  \param pixmap Pixmap
-
-  \sa pixmap(), setGraphic()
-
-  \note the style() is set to QwtSymbol::Pixmap
-  \note brush() and pen() have no effect
- */
-void QwtSymbol::setPixmap( const QPixmap &pixmap )
-{
-    d_data->style = QwtSymbol::Pixmap;
-    d_data->pixmap.pixmap = pixmap;
-}
-
-/*!
-  \return Assigned pixmap
-  \sa setPixmap()
- */
-const QPixmap &QwtSymbol::pixmap() const
-{
-    return d_data->pixmap.pixmap;
-}
-
-/*!
-  Set a graphic as symbol
-
-  \param graphic Graphic
-
-  \sa graphic(), setPixmap()
-
-  \note the style() is set to QwtSymbol::Graphic
-  \note brush() and pen() have no effect
- */
-void QwtSymbol::setGraphic( const QwtGraphic &graphic )
-{
-    d_data->style = QwtSymbol::Graphic;
-    d_data->graphic.graphic = graphic;
-}
-
-/*!
-  \return Assigned graphic
-  \sa setGraphic()
- */
-const QwtGraphic &QwtSymbol::graphic() const
-{
-    return d_data->graphic.graphic;
-}
-
-#ifndef QWT_NO_SVG
-
-/*!
-  Set a SVG icon as symbol
-
-  \param svgDocument SVG icon
-
-  \sa setGraphic(), setPixmap()
-
-  \note the style() is set to QwtSymbol::SvgDocument
-  \note brush() and pen() have no effect
- */
-void QwtSymbol::setSvgDocument( const QByteArray &svgDocument )
-{
-    d_data->style = QwtSymbol::SvgDocument;
-    if ( d_data->svg.renderer == NULL )
-        d_data->svg.renderer = new QSvgRenderer();
-
-    d_data->svg.renderer->load( svgDocument );
-}
-
-#endif
-
-/*!
-  \brief Specify the symbol's size
-
-  If the 'h' parameter is left out or less than 0,
-  and the 'w' parameter is greater than or equal to 0,
-  the symbol size will be set to (w,w).
-
-  \param width Width
-  \param height Height (defaults to -1)
-
-  \sa size()
-*/
-void QwtSymbol::setSize( int width, int height )
-{
-    if ( ( width >= 0 ) && ( height < 0 ) )
-        height = width;
-
-    setSize( QSize( width, height ) );
-}
-
-/*!
-   Set the symbol's size
-   \param size Size
-
-   \sa size()
-*/
-void QwtSymbol::setSize( const QSize &size )
-{
-    if ( size.isValid() && size != d_data->size )
-    {
-        d_data->size = size;
-        invalidateCache();
-    }
-}
-
-/*!
-   \return Size
-   \sa setSize()
-*/
-const QSize& QwtSymbol::size() const
-{
-    return d_data->size;
-}
-
-/*!
-  \brief Assign a brush
-
-  The brush is used to draw the interior of the symbol.
-  \param brush Brush
-
-  \sa brush()
-*/
-void QwtSymbol::setBrush( const QBrush &brush )
-{
-    if ( brush != d_data->brush )
-    {
-        d_data->brush = brush;
-        invalidateCache();
-
-        if ( d_data->style == QwtSymbol::Path )
-            d_data->path.graphic.reset();
-    }
-}
-
-/*!
-  \return Brush
-  \sa setBrush()
-*/
-const QBrush& QwtSymbol::brush() const
-{
-    return d_data->brush;
-}
-
-/*!
-  Build and assign a pen
-
-  In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 )
-  what makes it non cosmetic ( see QPen::isCosmetic() ).
-  This method has been introduced to hide this incompatibility.
-
-  \param color Pen color
-  \param width Pen width
-  \param style Pen style
-
-  \sa pen(), brush()
- */
-void QwtSymbol::setPen( const QColor &color,
-    qreal width, Qt::PenStyle style )
-{
-    setPen( QPen( color, width, style ) );
-}
-
-/*!
-  Assign a pen
-
-  The pen is used to draw the symbol's outline.
-
-  \param pen Pen
-  \sa pen(), setBrush()
-*/
-void QwtSymbol::setPen( const QPen &pen )
-{
-    if ( pen != d_data->pen )
-    {
-        d_data->pen = pen;
-        invalidateCache();
-
-        if ( d_data->style == QwtSymbol::Path )
-            d_data->path.graphic.reset();
-    }
-}
-
-/*!
-  \return Pen
-  \sa setPen(), brush()
-*/
-const QPen& QwtSymbol::pen() const
-{
-    return d_data->pen;
-}
-
-/*!
-  \brief Set the color of the symbol
-
-  Change the color of the brush for symbol types with a filled area.
-  For all other symbol types the color will be assigned to the pen.
-
-  \param color Color
-
-  \sa setBrush(), setPen(), brush(), pen()
-*/
-void QwtSymbol::setColor( const QColor &color )
-{
-    switch ( d_data->style )
-    {
-        case QwtSymbol::Ellipse:
-        case QwtSymbol::Rect:
-        case QwtSymbol::Diamond:
-        case QwtSymbol::Triangle:
-        case QwtSymbol::UTriangle:
-        case QwtSymbol::DTriangle:
-        case QwtSymbol::RTriangle:
-        case QwtSymbol::LTriangle:
-        case QwtSymbol::Star2:
-        case QwtSymbol::Hexagon:
-        {
-            if ( d_data->brush.color() != color )
-            {
-                d_data->brush.setColor( color );
-                invalidateCache();
-            }
-            break;
-        }
-        case QwtSymbol::Cross:
-        case QwtSymbol::XCross:
-        case QwtSymbol::HLine:
-        case QwtSymbol::VLine:
-        case QwtSymbol::Star1:
-        {
-            if ( d_data->pen.color() != color )
-            {
-                d_data->pen.setColor( color );
-                invalidateCache();
-            }
-            break;
-        }
-        default:
-        {
-            if ( d_data->brush.color() != color ||
-                d_data->pen.color() != color )
-            {
-                invalidateCache();
-            }
-
-            d_data->brush.setColor( color );
-            d_data->pen.setColor( color );
-        }
-    }
-}
-
-/*!
-  \brief Set and enable a pin point
-
-  The position of a complex symbol is not always aligned to its center
-  ( f.e an arrow, where the peak points to a position ). The pin point
-  defines the position inside of a Pixmap, Graphic, SvgDocument 
-  or PainterPath symbol where the represented point has to
-  be aligned to.
-  
-  \param pos Position
-  \param enable En/Disable the pin point alignment
-
-  \sa pinPoint(), setPinPointEnabled()
- */
-void QwtSymbol::setPinPoint( const QPointF &pos, bool enable )
-{
-    if ( d_data->pinPoint != pos )
-    {
-        d_data->pinPoint = pos;
-        if ( d_data->isPinPointEnabled )
-        {
-            invalidateCache();
-        }
-    }
-
-    setPinPointEnabled( enable );
-}
-
-/*!
-  \return Pin point
-  \sa setPinPoint(), setPinPointEnabled()
- */
-QPointF QwtSymbol::pinPoint() const
-{
-    return d_data->pinPoint;
-}
-
-/*!
-  En/Disable the pin point alignment
-
-  \param on Enabled, when on is true
-  \sa setPinPoint(), isPinPointEnabled()
- */
-void QwtSymbol::setPinPointEnabled( bool on )
-{
-    if ( d_data->isPinPointEnabled != on )
-    {
-        d_data->isPinPointEnabled = on;
-        invalidateCache();
-    }
-}
-
-/*!
-  \return True, when the pin point translation is enabled
-  \sa setPinPoint(), setPinPointEnabled()
- */
-bool QwtSymbol::isPinPointEnabled() const
-{
-    return d_data->isPinPointEnabled;
-}
-
-/*!
-  Render an array of symbols
-
-  Painting several symbols is more effective than drawing symbols
-  one by one, as a couple of layout calculations and setting of pen/brush
-  can be done once for the complete array.
-
-  \param painter Painter
-  \param points Array of points
-  \param numPoints Number of points
-*/
-void QwtSymbol::drawSymbols( QPainter *painter,
-    const QPointF *points, int numPoints ) const
-{
-    if ( numPoints <= 0 )
-        return;
-
-    bool useCache = false;
-
-    // Don't use the pixmap, when the paint device
-    // could generate scalable vectors
-
-    if ( QwtPainter::roundingAlignment( painter ) &&
-        !painter->transform().isScaling() )
-    {
-        if ( d_data->cache.policy == QwtSymbol::Cache )
-        {
-            useCache = true;
-        }
-        else if ( d_data->cache.policy == QwtSymbol::AutoCache )
-        {
-            if ( painter->paintEngine()->type() == QPaintEngine::Raster )
-            {
-                useCache = true;
-            }
-            else
-            {
-                switch( d_data->style )
-                {
-                    case QwtSymbol::XCross:
-                    case QwtSymbol::HLine:
-                    case QwtSymbol::VLine:
-                    case QwtSymbol::Cross:
-                        break;
-
-                    case QwtSymbol::Pixmap:
-                    {
-                        if ( !d_data->size.isEmpty() &&
-                            d_data->size != d_data->pixmap.pixmap.size() ) 
-                        {
-                            useCache = true;
-                        }
-                        break;
-                    }                       
-                    default:
-                        useCache = true;
-                }
-            }
-        }
-    }
-
-    if ( useCache )
-    {
-        const QRect br = boundingRect();
-
-        const QRect rect( 0, 0, br.width(), br.height() );
-        
-        if ( d_data->cache.pixmap.isNull() )
-        {
-            d_data->cache.pixmap = QwtPainter::backingStore( NULL, br.size() );
-            d_data->cache.pixmap.fill( Qt::transparent );
-
-            QPainter p( &d_data->cache.pixmap );
-            p.setRenderHints( painter->renderHints() );
-            p.translate( -br.topLeft() );
-
-            const QPointF pos;
-            renderSymbols( &p, &pos, 1 );
-        }
-
-        const int dx = br.left();
-        const int dy = br.top();
-
-        for ( int i = 0; i < numPoints; i++ )
-        {
-            const int left = qRound( points[i].x() ) + dx;
-            const int top = qRound( points[i].y() ) + dy;
-
-            painter->drawPixmap( left, top, d_data->cache.pixmap );
-        }
-    }
-    else
-    {
-        painter->save();
-        renderSymbols( painter, points, numPoints );
-        painter->restore();
-    }
-}
-
-/*!
-  \brief Draw the symbol into a rectangle
-
-  The symbol is painted centered and scaled into the target rectangle.
-  It is always painted uncached and the pin point is ignored.
-
-  This method is primarily intended for drawing a symbol to
-  the legend.
-
-  \param painter Painter
-  \param rect Target rectangle for the symbol 
-*/
-void QwtSymbol::drawSymbol( QPainter *painter, const QRectF &rect ) const
-{
-    if ( d_data->style == QwtSymbol::NoSymbol )
-        return;
-
-    if ( d_data->style == QwtSymbol::Graphic )
-    {
-        d_data->graphic.graphic.render( 
-            painter, rect, Qt::KeepAspectRatio );
-    }
-    else if ( d_data->style == QwtSymbol::Path )
-    {
-        if ( d_data->path.graphic.isNull() )
-        {
-            d_data->path.graphic = qwtPathGraphic( 
-                d_data->path.path, d_data->pen, d_data->brush );
-        }
-
-        d_data->path.graphic.render( 
-            painter, rect, Qt::KeepAspectRatio );
-        return;
-    }
-    else if ( d_data->style == QwtSymbol::SvgDocument )
-    {
-#ifndef QWT_NO_SVG
-        if ( d_data->svg.renderer )
-        {
-            QRectF scaledRect;
-
-            QSizeF sz = d_data->svg.renderer->viewBoxF().size();
-            if ( !sz.isEmpty() )
-            {
-                sz.scale( rect.size(), Qt::KeepAspectRatio );
-                scaledRect.setSize( sz );
-                scaledRect.moveCenter( rect.center() );
-            }
-            else
-            {
-                scaledRect = rect;
-            }
-
-            d_data->svg.renderer->render( 
-                painter, scaledRect );
-        }
-#endif
-    }
-    else
-    {
-        const QRect br = boundingRect();
-
-        // scale the symbol size to fit into rect.
-
-        const double ratio = qMin( rect.width() / br.width(), 
-            rect.height() / br.height() );
-
-        painter->save();
-
-        painter->translate( rect.center() );
-        painter->scale( ratio, ratio );
-
-        const bool isPinPointEnabled = d_data->isPinPointEnabled;
-        d_data->isPinPointEnabled = false;
-
-        const QPointF pos;
-        renderSymbols( painter, &pos, 1 );
-    
-        d_data->isPinPointEnabled = isPinPointEnabled;
-
-        painter->restore();
-    }
-}
-
-/*!
-  Render the symbol to series of points
-
-  \param painter Qt painter
-  \param points Positions of the symbols
-  \param numPoints Number of points
- */
-void QwtSymbol::renderSymbols( QPainter *painter,
-    const QPointF *points, int numPoints ) const
-{
-    switch ( d_data->style )
-    {
-        case QwtSymbol::Ellipse:
-        {
-            qwtDrawEllipseSymbols( painter, points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::Rect:
-        {
-            qwtDrawRectSymbols( painter, points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::Diamond:
-        {
-            qwtDrawDiamondSymbols( painter, points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::Cross:
-        {
-            qwtDrawLineSymbols( painter, Qt::Horizontal | Qt::Vertical,
-                points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::XCross:
-        {
-            qwtDrawXCrossSymbols( painter, points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::Triangle:
-        case QwtSymbol::UTriangle:
-        {
-            qwtDrawTriangleSymbols( painter, QwtTriangle::Up,
-                points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::DTriangle:
-        {
-            qwtDrawTriangleSymbols( painter, QwtTriangle::Down,
-                points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::RTriangle:
-        {
-            qwtDrawTriangleSymbols( painter, QwtTriangle::Right,
-                points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::LTriangle:
-        {
-            qwtDrawTriangleSymbols( painter, QwtTriangle::Left,
-                points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::HLine:
-        {
-            qwtDrawLineSymbols( painter, Qt::Horizontal,
-                points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::VLine:
-        {
-            qwtDrawLineSymbols( painter, Qt::Vertical,
-                points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::Star1:
-        {
-            qwtDrawStar1Symbols( painter, points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::Star2:
-        {
-            qwtDrawStar2Symbols( painter, points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::Hexagon:
-        {
-            qwtDrawHexagonSymbols( painter, points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::Path:
-        {
-            if ( d_data->path.graphic.isNull() )
-            {
-                d_data->path.graphic = qwtPathGraphic( d_data->path.path, 
-                    d_data->pen, d_data->brush );
-            }
-
-            qwtDrawGraphicSymbols( painter, points, numPoints, 
-                d_data->path.graphic, *this );
-            break;
-        }
-        case QwtSymbol::Pixmap:
-        {
-            qwtDrawPixmapSymbols( painter, points, numPoints, *this );
-            break;
-        }
-        case QwtSymbol::Graphic:
-        {
-            qwtDrawGraphicSymbols( painter, points, numPoints, 
-                d_data->graphic.graphic, *this );
-            break;
-        }
-        case QwtSymbol::SvgDocument:
-        {
-#ifndef QWT_NO_SVG
-            qwtDrawSvgSymbols( painter, points, numPoints, 
-                d_data->svg.renderer, *this );
-#endif
-            break;
-        }
-        default:;
-    }
-}
-
-/*!
-  Calculate the bounding rectangle for a symbol
-  at position (0,0).
-
-  \return Bounding rectangle
- */
-QRect QwtSymbol::boundingRect() const
-{
-    QRectF rect;
-
-    bool pinPointTranslation = false;
-
-    switch ( d_data->style )
-    {
-        case QwtSymbol::Ellipse:
-        case QwtSymbol::Rect:
-        case QwtSymbol::Hexagon:
-        {
-            qreal pw = 0.0;
-            if ( d_data->pen.style() != Qt::NoPen )
-                pw = qMax( d_data->pen.widthF(), qreal( 1.0 ) );
-
-            rect.setSize( d_data->size + QSizeF( pw, pw ) );
-            rect.moveCenter( QPointF( 0.0, 0.0 ) );
-
-            break;
-        }
-        case QwtSymbol::XCross:
-        case QwtSymbol::Diamond:
-        case QwtSymbol::Triangle:
-        case QwtSymbol::UTriangle:
-        case QwtSymbol::DTriangle:
-        case QwtSymbol::RTriangle:
-        case QwtSymbol::LTriangle:
-        case QwtSymbol::Star1:
-        case QwtSymbol::Star2:
-        {
-            qreal pw = 0.0;
-            if ( d_data->pen.style() != Qt::NoPen )
-                pw = qMax( d_data->pen.widthF(), qreal( 1.0 ) );
-
-            rect.setSize( d_data->size + QSizeF( 2 * pw, 2 * pw ) );
-            rect.moveCenter( QPointF( 0.0, 0.0 ) );
-            break;
-        }
-        case QwtSymbol::Path:
-        {
-            if ( d_data->path.graphic.isNull() )
-            {
-                d_data->path.graphic = qwtPathGraphic(
-                    d_data->path.path, d_data->pen, d_data->brush );
-            }
-
-            rect = qwtScaledBoundingRect( 
-                d_data->path.graphic, d_data->size );
-            pinPointTranslation = true;
-
-            break;
-        }
-        case QwtSymbol::Pixmap:
-        {
-            if ( d_data->size.isEmpty() )
-                rect.setSize( d_data->pixmap.pixmap.size() );
-            else
-                rect.setSize( d_data->size );
-            
-            pinPointTranslation = true;
-
-            break;
-        }
-        case QwtSymbol::Graphic:
-        {
-            rect = qwtScaledBoundingRect( 
-                d_data->graphic.graphic, d_data->size );
-            pinPointTranslation = true;
-
-            break;
-        }
-#ifndef QWT_NO_SVG
-        case QwtSymbol::SvgDocument:
-        {
-            if ( d_data->svg.renderer )
-                rect = d_data->svg.renderer->viewBoxF();
-
-            if ( d_data->size.isValid() && !rect.isEmpty() )
-            {
-                QSizeF sz = rect.size();
-
-                const double sx = d_data->size.width() / sz.width();
-                const double sy = d_data->size.height() / sz.height();
-
-                QTransform transform;
-                transform.scale( sx, sy );
-
-                rect = transform.mapRect( rect );
-            }
-            pinPointTranslation = true;
-            break;
-        }
-#endif
-        default:
-        {
-            rect.setSize( d_data->size );
-            rect.moveCenter( QPointF( 0.0, 0.0 ) );
-        }
-    }
-
-    if ( pinPointTranslation )
-    {
-        QPointF pinPoint( 0.0, 0.0 );
-        if ( d_data->isPinPointEnabled )
-            pinPoint = rect.center() - d_data->pinPoint;
-
-        rect.moveCenter( pinPoint );
-    }
-
-    QRect r;
-    r.setLeft( qFloor( rect.left() ) );
-    r.setTop( qFloor( rect.top() ) );
-    r.setRight( qCeil( rect.right() ) );
-    r.setBottom( qCeil( rect.bottom() ) );
-
-    if ( d_data->style != QwtSymbol::Pixmap )
-        r.adjust( -1, -1, 1, 1 ); // for antialiasing
-
-    return r;
-}
-
-/*!
-  Invalidate the cached symbol pixmap
-
-  The symbol invalidates its cache, whenever an attribute is changed
-  that has an effect ob how to display a symbol. In case of derived
-  classes with individual styles ( >= QwtSymbol::UserStyle ) it
-  might be necessary to call invalidateCache() for attributes
-  that are relevant for this style.
-
-  \sa CachePolicy, setCachePolicy(), drawSymbols()
- */
-void QwtSymbol::invalidateCache()
-{
-    if ( !d_data->cache.pixmap.isNull() )
-        d_data->cache.pixmap = QPixmap();
-}
-
-/*!
-  Specify the symbol style
-
-  \param style Style
-  \sa style()
-*/
-void QwtSymbol::setStyle( QwtSymbol::Style style )
-{
-    if ( d_data->style != style )
-    {
-        d_data->style = style;
-        invalidateCache();
-    }
-}
-
-/*!
-  \return Current symbol style
-  \sa setStyle()
-*/
-QwtSymbol::Style QwtSymbol::style() const
-{
-    return d_data->style;
-}
diff --git a/SRC/Qwt/src/qwt_symbol.h b/SRC/Qwt/src/qwt_symbol.h
deleted file mode 100644
index 9249b96..0000000
--- a/SRC/Qwt/src/qwt_symbol.h
+++ /dev/null
@@ -1,258 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_SYMBOL_H
-#define QWT_SYMBOL_H
-
-#include "qwt_global.h"
-#include <qpolygon.h>
-
-class QPainter;
-class QRect;
-class QSize;
-class QBrush;
-class QPen;
-class QColor;
-class QPointF;
-class QPolygonF;
-class QPainterPath;
-class QPixmap;
-class QByteArray;
-class QwtGraphic;
-
-//! A class for drawing symbols
-class QWT_EXPORT QwtSymbol
-{
-public:
-    /*!
-      Symbol Style
-      \sa setStyle(), style()
-     */
-    enum Style
-    {
-        //! No Style. The symbol cannot be drawn.
-        NoSymbol = -1,
-
-        //! Ellipse or circle
-        Ellipse,
-
-        //! Rectangle
-        Rect,
-
-        //!  Diamond
-        Diamond,
-
-        //! Triangle pointing upwards
-        Triangle,
-
-        //! Triangle pointing downwards
-        DTriangle,
-
-        //! Triangle pointing upwards
-        UTriangle,
-
-        //! Triangle pointing left
-        LTriangle,
-
-        //! Triangle pointing right
-        RTriangle,
-
-        //! Cross (+)
-        Cross,
-
-        //! Diagonal cross (X)
-        XCross,
-
-        //! Horizontal line
-        HLine,
-
-        //! Vertical line
-        VLine,
-
-        //! X combined with +
-        Star1,
-
-        //! Six-pointed star
-        Star2,
-
-        //! Hexagon
-        Hexagon,
-
-        /*!
-          The symbol is represented by a painter path, where the 
-          origin ( 0, 0 ) of the path coordinate system is mapped to
-          the position of the symbol.
-
-          \sa setPath(), path()
-         */
-        Path,
-
-        /*!
-          The symbol is represented by a pixmap. The pixmap is centered
-          or aligned to its pin point.
-
-          \sa setPinPoint()
-         */
-        Pixmap,
-
-        /*!
-          The symbol is represented by a graphic. The graphic is centered
-          or aligned to its pin point.
-
-          \sa setPinPoint()
-         */
-        Graphic,
-
-        /*!
-          The symbol is represented by a SVG graphic. The graphic is centered
-          or aligned to its pin point.
-
-          \sa setPinPoint()
-         */
-        SvgDocument,
-
-        /*!
-         Styles >= QwtSymbol::UserSymbol are reserved for derived
-         classes of QwtSymbol that overload drawSymbols() with
-         additional application specific symbol types.
-         */
-        UserStyle = 1000
-    };
-
-    /*!
-      Depending on the render engine and the complexity of the
-      symbol shape it might be faster to render the symbol
-      to a pixmap and to paint this pixmap.
-
-      F.e. the raster paint engine is a pure software renderer
-      where in cache mode a draw operation usually ends in 
-      raster operation with the the backing store, that are usually
-      faster, than the algorithms for rendering polygons.
-      But the opposite can be expected for graphic pipelines
-      that can make use of hardware acceleration.
-
-      The default setting is AutoCache
-
-      \sa setCachePolicy(), cachePolicy()
-
-      \note The policy has no effect, when the symbol is painted 
-            to a vector graphics format ( PDF, SVG ).
-      \warning Since Qt 4.8 raster is the default backend on X11
-     */
-
-    enum CachePolicy
-    {
-        //! Don't use a pixmap cache
-        NoCache,
-
-        //! Always use a pixmap cache
-        Cache,
-
-        /*! 
-           Use a cache when one of the following conditions is true:
-
-           - The symbol is rendered with the software 
-             renderer ( QPaintEngine::Raster )
-         */
-        AutoCache
-    };
-
-public:
-    QwtSymbol( Style = NoSymbol );
-    QwtSymbol( Style, const QBrush &, const QPen &, const QSize & );
-    QwtSymbol( const QPainterPath &, const QBrush &, const QPen & );
-
-    virtual ~QwtSymbol();
-
-    void setCachePolicy( CachePolicy );
-    CachePolicy cachePolicy() const;
-
-    void setSize( const QSize & );
-    void setSize( int width, int height = -1 );
-    const QSize& size() const;
-
-    void setPinPoint( const QPointF &pos, bool enable = true );
-    QPointF pinPoint() const;
-
-    void setPinPointEnabled( bool );
-    bool isPinPointEnabled() const;
-
-    virtual void setColor( const QColor & );
-
-    void setBrush( const QBrush& b );
-    const QBrush& brush() const;
-
-    void setPen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
-    void setPen( const QPen & );
-    const QPen& pen() const;
-
-    void setStyle( Style );
-    Style style() const;
-
-    void setPath( const QPainterPath & );
-    const QPainterPath &path() const;
-
-    void setPixmap( const QPixmap & );
-    const QPixmap &pixmap() const;
-
-    void setGraphic( const QwtGraphic & );
-    const QwtGraphic &graphic() const;
-
-#ifndef QWT_NO_SVG
-    void setSvgDocument( const QByteArray & );
-#endif
-
-    void drawSymbol( QPainter *, const QRectF & ) const;
-    void drawSymbol( QPainter *, const QPointF & ) const;
-    void drawSymbols( QPainter *, const QPolygonF & ) const;
-    void drawSymbols( QPainter *,
-        const QPointF *, int numPoints ) const;
-
-    virtual QRect boundingRect() const;
-    void invalidateCache();
-
-protected:
-    virtual void renderSymbols( QPainter *,
-        const QPointF *, int numPoints ) const;
-
-private:
-    // Disabled copy constructor and operator=
-    QwtSymbol( const QwtSymbol & );
-    QwtSymbol &operator=( const QwtSymbol & );
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-/*!
-  \brief Draw the symbol at a specified position
-
-  \param painter Painter
-  \param pos Position of the symbol in screen coordinates
-*/
-inline void QwtSymbol::drawSymbol(
-    QPainter *painter, const QPointF &pos ) const
-{
-    drawSymbols( painter, &pos, 1 );
-}
-
-/*!
-  \brief Draw symbols at the specified points
-
-  \param painter Painter
-  \param points Positions of the symbols in screen coordinates
-*/
-
-inline void QwtSymbol::drawSymbols(
-    QPainter *painter, const QPolygonF &points ) const
-{
-    drawSymbols( painter, points.data(), points.size() );
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_system_clock.cpp b/SRC/Qwt/src/qwt_system_clock.cpp
deleted file mode 100644
index 44ae0bb..0000000
--- a/SRC/Qwt/src/qwt_system_clock.cpp
+++ /dev/null
@@ -1,396 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_system_clock.h"
-
-#if QT_VERSION >= 0x040800
-#define USE_ELAPSED_TIMER 1
-#endif
-
-#if USE_ELAPSED_TIMER
-
-#include <qelapsedtimer.h>
-
-class QwtSystemClock::PrivateData
-{
-public:
-    QElapsedTimer timer;
-};
-
-QwtSystemClock::QwtSystemClock()
-{
-    d_data = new PrivateData();
-}
-
-QwtSystemClock::~QwtSystemClock()
-{
-    delete d_data;
-}
-    
-bool QwtSystemClock::isNull() const
-{
-    return d_data->timer.isValid();
-}
-        
-void QwtSystemClock::start()
-{
-    d_data->timer.start();
-}
-
-double QwtSystemClock::restart()
-{
-    const qint64 nsecs = d_data->timer.restart();
-    return nsecs / 1e6;
-}
-
-double QwtSystemClock::elapsed() const
-{
-    const qint64 nsecs = d_data->timer.nsecsElapsed();
-    return nsecs / 1e6;
-}
-    
-#else // !USE_ELAPSED_TIMER
-
-#include <qdatetime.h>
-
-#if !defined(Q_OS_WIN)
-#include <unistd.h>
-#endif
-
-#if defined(Q_OS_MAC)
-#include <stdint.h>
-#include <mach/mach_time.h>
-#define QWT_HIGH_RESOLUTION_CLOCK
-#elif defined(_POSIX_TIMERS)
-#include <time.h>
-#define QWT_HIGH_RESOLUTION_CLOCK
-#elif defined(Q_OS_WIN)
-#define QWT_HIGH_RESOLUTION_CLOCK
-#include <qt_windows.h>
-#endif
-
-#if defined(QWT_HIGH_RESOLUTION_CLOCK)
-
-class QwtHighResolutionClock
-{
-public:
-    QwtHighResolutionClock();
-
-    void start();
-    double restart();
-    double elapsed() const;
-
-    bool isNull() const;
-
-    static double precision();
-
-private:
-
-#if defined(Q_OS_MAC)
-    static double msecsTo( uint64_t, uint64_t );
-
-    uint64_t d_timeStamp;
-#elif defined(_POSIX_TIMERS)
-
-    static double msecsTo( const struct timespec &,
-        const struct timespec & );
-
-    static bool isMonotonic();
-
-    struct timespec d_timeStamp;
-    clockid_t d_clockId;
-
-#elif defined(Q_OS_WIN)
-
-    LARGE_INTEGER d_startTicks;
-    LARGE_INTEGER d_ticksPerSecond;
-#endif
-};
-
-#if defined(Q_OS_MAC)
-QwtHighResolutionClock::QwtHighResolutionClock():
-    d_timeStamp( 0 )
-{
-}
-
-double QwtHighResolutionClock::precision()
-{
-    return 1e-6;
-}
-
-void QwtHighResolutionClock::start()
-{
-    d_timeStamp = mach_absolute_time();
-}
-
-double QwtHighResolutionClock::restart()
-{
-    const uint64_t timeStamp = mach_absolute_time();
-    const double elapsed = msecsTo( d_timeStamp, timeStamp );
-    d_timeStamp = timeStamp;
-
-    return elapsed;
-}
-
-double QwtHighResolutionClock::elapsed() const
-{
-    return msecsTo( d_timeStamp, mach_absolute_time() );
-}
-
-bool QwtHighResolutionClock::isNull() const
-{
-    return d_timeStamp == 0;
-}
-
-double QwtHighResolutionClock::msecsTo(
-    uint64_t from, uint64_t to )
-{
-    const uint64_t difference = to - from;
-
-    static double conversion = 0.0;
-    if ( conversion == 0.0 )
-    {
-        mach_timebase_info_data_t info;
-        kern_return_t err = mach_timebase_info( &info );
-
-        // convert the timebase into ms
-        if ( err == 0  )
-            conversion = 1e-6 * ( double ) info.numer / ( double ) info.denom;
-    }
-
-    return conversion * ( double ) difference;
-}
-
-#elif defined(_POSIX_TIMERS)
-
-QwtHighResolutionClock::QwtHighResolutionClock()
-{
-    d_clockId = isMonotonic() ? CLOCK_MONOTONIC : CLOCK_REALTIME;
-    d_timeStamp.tv_sec = d_timeStamp.tv_nsec = 0;
-}
-
-double QwtHighResolutionClock::precision()
-{
-    struct timespec resolution;
-
-    int clockId = isMonotonic() ? CLOCK_MONOTONIC : CLOCK_REALTIME;
-    ::clock_getres( clockId, &resolution );
-
-    return resolution.tv_nsec / 1e3;
-}
-
-inline bool QwtHighResolutionClock::isNull() const
-{
-    return d_timeStamp.tv_sec <= 0 && d_timeStamp.tv_nsec <= 0;
-}
-
-inline void QwtHighResolutionClock::start()
-{
-    ::clock_gettime( d_clockId, &d_timeStamp );
-}
-
-double QwtHighResolutionClock::restart()
-{
-    struct timespec timeStamp;
-    ::clock_gettime( d_clockId, &timeStamp );
-
-    const double elapsed = msecsTo( d_timeStamp, timeStamp );
-
-    d_timeStamp = timeStamp;
-    return elapsed;
-}
-
-inline double QwtHighResolutionClock::elapsed() const
-{
-    struct timespec timeStamp;
-    ::clock_gettime( d_clockId, &timeStamp );
-
-    return msecsTo( d_timeStamp, timeStamp );
-}
-
-inline double QwtHighResolutionClock::msecsTo(
-    const struct timespec &t1, const struct timespec &t2 )
-{
-    return ( t2.tv_sec - t1.tv_sec ) * 1e3
-        + ( t2.tv_nsec - t1.tv_nsec ) * 1e-6;
-}
-
-bool QwtHighResolutionClock::isMonotonic()
-{
-    // code copied from qcore_unix.cpp
-
-#if (_POSIX_MONOTONIC_CLOCK-0 > 0)
-    return true;
-#else
-    static int returnValue = 0;
-
-    if ( returnValue == 0 )
-    {
-#if (_POSIX_MONOTONIC_CLOCK-0 < 0) || !defined(_SC_MONOTONIC_CLOCK)
-        returnValue = -1;
-#elif (_POSIX_MONOTONIC_CLOCK == 0)
-        // detect if the system support monotonic timers
-        const long x = sysconf( _SC_MONOTONIC_CLOCK );
-        returnValue = ( x >= 200112L ) ? 1 : -1;
-#endif
-    }
-
-    return returnValue != -1;
-#endif
-}
-
-#elif defined(Q_OS_WIN)
-
-QwtHighResolutionClock::QwtHighResolutionClock()
-{
-    d_startTicks.QuadPart = 0;
-    QueryPerformanceFrequency( &d_ticksPerSecond );
-}
-
-double QwtHighResolutionClock::precision()
-{
-    LARGE_INTEGER ticks;
-    if ( QueryPerformanceFrequency( &ticks ) && ticks.QuadPart > 0 )
-        return 1e3 / ticks.QuadPart;
-
-    return 0.0;
-}
-
-inline bool QwtHighResolutionClock::isNull() const
-{
-    return d_startTicks.QuadPart <= 0;
-}
-
-inline void QwtHighResolutionClock::start()
-{
-    QueryPerformanceCounter( &d_startTicks );
-}
-
-inline double QwtHighResolutionClock::restart()
-{
-    LARGE_INTEGER ticks;
-    QueryPerformanceCounter( &ticks );
-
-    const double dt = ticks.QuadPart - d_startTicks.QuadPart;
-    d_startTicks = ticks;
-
-    return dt / d_ticksPerSecond.QuadPart * 1e3;
-}
-
-inline double QwtHighResolutionClock::elapsed() const
-{
-    LARGE_INTEGER ticks;
-    QueryPerformanceCounter( &ticks );
-
-    const double dt = ticks.QuadPart - d_startTicks.QuadPart;
-    return dt / d_ticksPerSecond.QuadPart * 1e3;
-}
-
-#endif
-
-#endif // QWT_HIGH_RESOLUTION_CLOCK
-
-class QwtSystemClock::PrivateData
-{
-public:
-#if defined(QWT_HIGH_RESOLUTION_CLOCK)
-    QwtHighResolutionClock *clock;
-#endif
-    QTime time;
-};
-
-//!  Constructs a null clock object.
-QwtSystemClock::QwtSystemClock()
-{
-    d_data = new PrivateData;
-
-#if defined(QWT_HIGH_RESOLUTION_CLOCK)
-    d_data->clock = NULL;
-    if ( QwtHighResolutionClock::precision() > 0.0 )
-        d_data->clock = new QwtHighResolutionClock;
-#endif
-}
-
-//! Destructor
-QwtSystemClock::~QwtSystemClock()
-{
-#if defined(QWT_HIGH_RESOLUTION_CLOCK)
-    delete d_data->clock;
-#endif
-    delete d_data;
-}
-
-/*!
-  \return true if the clock has never been started.
-*/
-bool QwtSystemClock::isNull() const
-{
-#if defined(QWT_HIGH_RESOLUTION_CLOCK)
-    if ( d_data->clock )
-        return d_data->clock->isNull();
-#endif
-
-    return d_data->time.isNull();
-}
-
-/*!
-  Sets the start time to the current time.
-*/
-void QwtSystemClock::start()
-{
-#if defined(QWT_HIGH_RESOLUTION_CLOCK)
-    if ( d_data->clock )
-    {
-        d_data->clock->start();
-        return;
-    }
-#endif
-
-    d_data->time.start();
-}
-
-/*!
-  Set the start time to the current time 
-  \return Time, that is elapsed since the previous start time.
-*/
-double QwtSystemClock::restart()
-{
-#if defined(QWT_HIGH_RESOLUTION_CLOCK)
-    if ( d_data->clock )
-        return d_data->clock->restart();
-#endif
-
-    return d_data->time.restart();
-}
-
-/*!
-  \return Number of milliseconds that have elapsed since the last time
-          start() or restart() was called or 0.0 for null clocks.
-*/
-double QwtSystemClock::elapsed() const
-{
-    double elapsed = 0.0;
-
-#if defined(QWT_HIGH_RESOLUTION_CLOCK)
-    if ( d_data->clock )
-    {
-        if ( !d_data->clock->isNull() )
-            elapsed = d_data->clock->elapsed();
-
-        return elapsed;
-    }
-#endif
-
-    if ( !d_data->time.isNull() )
-        elapsed = d_data->time.elapsed();
-
-    return elapsed;
-}
-
-#endif
diff --git a/SRC/Qwt/src/qwt_system_clock.h b/SRC/Qwt/src/qwt_system_clock.h
deleted file mode 100644
index 24270aa..0000000
--- a/SRC/Qwt/src/qwt_system_clock.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_SYSTEM_CLOCK_H
-#define QWT_SYSTEM_CLOCK_H
-
-#include "qwt_global.h"
-
-/*!
-  \brief QwtSystemClock provides high resolution clock time functions.
-
-  Sometimes the resolution offered by QTime ( millisecond ) is not accurate
-  enough for implementing time measurements ( f.e. sampling ).
-  QwtSystemClock offers a subset of the QTime functionality using higher
-  resolution timers ( if possible ).
-
-  Precision and time intervals are multiples of milliseconds (ms).
-
-  \note The implementation uses high-resolution performance counter on Windows,
-        mach_absolute_time() on the Mac or POSIX timers on other systems. 
-        If none is available it falls back on QTimer.
-*/
-
-class QWT_EXPORT QwtSystemClock
-{
-public:
-    QwtSystemClock();
-    virtual ~QwtSystemClock();
-
-    bool isNull() const;
-
-    void start();
-    double restart();
-    double elapsed() const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_text.cpp b/SRC/Qwt/src/qwt_text.cpp
deleted file mode 100644
index 524e8b1..0000000
--- a/SRC/Qwt/src/qwt_text.cpp
+++ /dev/null
@@ -1,684 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_text.h"
-#include "qwt_painter.h"
-#include "qwt_text_engine.h"
-#include <qmap.h>
-#include <qfont.h>
-#include <qcolor.h>
-#include <qpen.h>
-#include <qbrush.h>
-#include <qpainter.h>
-#include <qapplication.h>
-#include <qdesktopwidget.h>
-#include <qmath.h>
-
-class QwtTextEngineDict
-{
-public:
-    static QwtTextEngineDict &dict();
-
-    void setTextEngine( QwtText::TextFormat, QwtTextEngine * );
-
-    const QwtTextEngine *textEngine( QwtText::TextFormat ) const;
-    const QwtTextEngine *textEngine( const QString &,
-        QwtText::TextFormat ) const;
-
-private:
-    QwtTextEngineDict();
-    ~QwtTextEngineDict();
-
-    typedef QMap<int, QwtTextEngine *> EngineMap;
-
-    inline const QwtTextEngine *engine( EngineMap::const_iterator &it ) const
-    {
-        return it.value();
-    }
-
-    EngineMap d_map;
-};
-
-QwtTextEngineDict &QwtTextEngineDict::dict()
-{
-    static QwtTextEngineDict engineDict;
-    return engineDict;
-}
-
-QwtTextEngineDict::QwtTextEngineDict()
-{
-    d_map.insert( QwtText::PlainText, new QwtPlainTextEngine() );
-#ifndef QT_NO_RICHTEXT
-    d_map.insert( QwtText::RichText, new QwtRichTextEngine() );
-#endif
-}
-
-QwtTextEngineDict::~QwtTextEngineDict()
-{
-    for ( EngineMap::const_iterator it = d_map.begin();
-        it != d_map.end(); ++it )
-    {
-        const QwtTextEngine *textEngine = engine( it );
-        delete textEngine;
-    }
-}
-
-const QwtTextEngine *QwtTextEngineDict::textEngine( const QString& text,
-    QwtText::TextFormat format ) const
-{
-    if ( format == QwtText::AutoText )
-    {
-        for ( EngineMap::const_iterator it = d_map.begin();
-            it != d_map.end(); ++it )
-        {
-            if ( it.key() != QwtText::PlainText )
-            {
-                const QwtTextEngine *e = engine( it );
-                if ( e && e->mightRender( text ) )
-                    return e;
-            }
-        }
-    }
-
-    EngineMap::const_iterator it = d_map.find( format );
-    if ( it != d_map.end() )
-    {
-        const QwtTextEngine *e = engine( it );
-        if ( e )
-            return e;
-    }
-
-    it = d_map.find( QwtText::PlainText );
-    return engine( it );
-}
-
-void QwtTextEngineDict::setTextEngine( QwtText::TextFormat format,
-    QwtTextEngine *engine )
-{
-    if ( format == QwtText::AutoText )
-        return;
-
-    if ( format == QwtText::PlainText && engine == NULL )
-        return;
-
-    EngineMap::const_iterator it = d_map.find( format );
-    if ( it != d_map.end() )
-    {
-        const QwtTextEngine *e = this->engine( it );
-        if ( e )
-            delete e;
-
-        d_map.remove( format );
-    }
-
-    if ( engine != NULL )
-        d_map.insert( format, engine );
-}
-
-const QwtTextEngine *QwtTextEngineDict::textEngine(
-    QwtText::TextFormat format ) const
-{
-    const QwtTextEngine *e = NULL;
-
-    EngineMap::const_iterator it = d_map.find( format );
-    if ( it != d_map.end() )
-        e = engine( it );
-
-    return e;
-}
-
-class QwtText::PrivateData
-{
-public:
-    PrivateData():
-        renderFlags( Qt::AlignCenter ),
-        borderRadius( 0 ),
-        borderPen( Qt::NoPen ),
-        backgroundBrush( Qt::NoBrush ),
-        paintAttributes( 0 ),
-        layoutAttributes( 0 ),
-        textEngine( NULL )
-    {
-    }
-
-    int renderFlags;
-    QString text;
-    QFont font;
-    QColor color;
-    double borderRadius;
-    QPen borderPen;
-    QBrush backgroundBrush;
-
-    QwtText::PaintAttributes paintAttributes;
-    QwtText::LayoutAttributes layoutAttributes;
-
-    const QwtTextEngine *textEngine;
-};
-
-class QwtText::LayoutCache
-{
-public:
-    void invalidate()
-    {
-        textSize = QSizeF();
-    }
-
-    QFont font;
-    QSizeF textSize;
-};
-
-/*!
-   Constructor
-
-   \param text Text content
-   \param textFormat Text format
-*/
-QwtText::QwtText( const QString &text, QwtText::TextFormat textFormat )
-{
-    d_data = new PrivateData;
-    d_data->text = text;
-    d_data->textEngine = textEngine( text, textFormat );
-
-    d_layoutCache = new LayoutCache;
-}
-
-//! Copy constructor
-QwtText::QwtText( const QwtText &other )
-{
-    d_data = new PrivateData;
-    *d_data = *other.d_data;
-
-    d_layoutCache = new LayoutCache;
-    *d_layoutCache = *other.d_layoutCache;
-}
-
-//! Destructor
-QwtText::~QwtText()
-{
-    delete d_data;
-    delete d_layoutCache;
-}
-
-//! Assignment operator
-QwtText &QwtText::operator=( const QwtText & other )
-{
-    *d_data = *other.d_data;
-    *d_layoutCache = *other.d_layoutCache;
-    return *this;
-}
-
-//! Relational operator
-bool QwtText::operator==( const QwtText &other ) const
-{
-    return d_data->renderFlags == other.d_data->renderFlags &&
-        d_data->text == other.d_data->text &&
-        d_data->font == other.d_data->font &&
-        d_data->color == other.d_data->color &&
-        d_data->borderRadius == other.d_data->borderRadius &&
-        d_data->borderPen == other.d_data->borderPen &&
-        d_data->backgroundBrush == other.d_data->backgroundBrush &&
-        d_data->paintAttributes == other.d_data->paintAttributes &&
-        d_data->textEngine == other.d_data->textEngine;
-}
-
-//! Relational operator
-bool QwtText::operator!=( const QwtText &other ) const // invalidate
-{
-    return !( other == *this );
-}
-
-/*!
-   Assign a new text content
-
-   \param text Text content
-   \param textFormat Text format
-
-   \sa text()
-*/
-void QwtText::setText( const QString &text,
-    QwtText::TextFormat textFormat )
-{
-    d_data->text = text;
-    d_data->textEngine = textEngine( text, textFormat );
-    d_layoutCache->invalidate();
-}
-
-/*!
-   \return Text as QString.
-   \sa setText()
-*/
-QString QwtText::text() const
-{
-    return d_data->text;
-}
-
-/*!
-   \brief Change the render flags
-
-   The default setting is Qt::AlignCenter
-
-   \param renderFlags Bitwise OR of the flags used like in QPainter::drawText()
-
-   \sa renderFlags(), QwtTextEngine::draw()
-   \note Some renderFlags might have no effect, depending on the text format.
-*/
-void QwtText::setRenderFlags( int renderFlags )
-{
-    if ( renderFlags != d_data->renderFlags )
-    {
-        d_data->renderFlags = renderFlags;
-        d_layoutCache->invalidate();
-    }
-}
-
-/*!
-   \return Render flags
-   \sa setRenderFlags()
-*/
-int QwtText::renderFlags() const
-{
-    return d_data->renderFlags;
-}
-
-/*!
-   Set the font.
-
-   \param font Font
-   \note Setting the font might have no effect, when
-         the text contains control sequences for setting fonts.
-*/
-void QwtText::setFont( const QFont &font )
-{
-    d_data->font = font;
-    setPaintAttribute( PaintUsingTextFont );
-}
-
-//! Return the font.
-QFont QwtText::font() const
-{
-    return d_data->font;
-}
-
-/*!
-   Return the font of the text, if it has one.
-   Otherwise return defaultFont.
-
-   \param defaultFont Default font
-   \return Font used for drawing the text
-
-   \sa setFont(), font(), PaintAttributes
-*/
-QFont QwtText::usedFont( const QFont &defaultFont ) const
-{
-    if ( d_data->paintAttributes & PaintUsingTextFont )
-        return d_data->font;
-
-    return defaultFont;
-}
-
-/*!
-   Set the pen color used for drawing the text.
-
-   \param color Color
-   \note Setting the color might have no effect, when
-         the text contains control sequences for setting colors.
-*/
-void QwtText::setColor( const QColor &color )
-{
-    d_data->color = color;
-    setPaintAttribute( PaintUsingTextColor );
-}
-
-//! Return the pen color, used for painting the text
-QColor QwtText::color() const
-{
-    return d_data->color;
-}
-
-/*!
-  Return the color of the text, if it has one.
-  Otherwise return defaultColor.
-
-  \param defaultColor Default color
-  \return Color used for drawing the text
-
-  \sa setColor(), color(), PaintAttributes
-*/
-QColor QwtText::usedColor( const QColor &defaultColor ) const
-{
-    if ( d_data->paintAttributes & PaintUsingTextColor )
-        return d_data->color;
-
-    return defaultColor;
-}
-
-/*!
-  Set the radius for the corners of the border frame
-
-  \param radius Radius of a rounded corner
-  \sa borderRadius(), setBorderPen(), setBackgroundBrush()
-*/
-void QwtText::setBorderRadius( double radius )
-{
-    d_data->borderRadius = qMax( 0.0, radius );
-}
-
-/*!
-  \return Radius for the corners of the border frame
-  \sa setBorderRadius(), borderPen(), backgroundBrush()
-*/
-double QwtText::borderRadius() const
-{
-    return d_data->borderRadius;
-}
-
-/*!
-   Set the background pen
-
-   \param pen Background pen
-   \sa borderPen(), setBackgroundBrush()
-*/
-void QwtText::setBorderPen( const QPen &pen )
-{
-    d_data->borderPen = pen;
-    setPaintAttribute( PaintBackground );
-}
-
-/*!
-   \return Background pen
-   \sa setBorderPen(), backgroundBrush()
-*/
-QPen QwtText::borderPen() const
-{
-    return d_data->borderPen;
-}
-
-/*!
-   Set the background brush
-
-   \param brush Background brush
-   \sa backgroundBrush(), setBorderPen()
-*/
-void QwtText::setBackgroundBrush( const QBrush &brush )
-{
-    d_data->backgroundBrush = brush;
-    setPaintAttribute( PaintBackground );
-}
-
-/*!
-   \return Background brush
-   \sa setBackgroundBrush(), borderPen()
-*/
-QBrush QwtText::backgroundBrush() const
-{
-    return d_data->backgroundBrush;
-}
-
-/*!
-   Change a paint attribute
-
-   \param attribute Paint attribute
-   \param on On/Off
-
-   \note Used by setFont(), setColor(),
-         setBorderPen() and setBackgroundBrush()
-   \sa testPaintAttribute()
-*/
-void QwtText::setPaintAttribute( PaintAttribute attribute, bool on )
-{
-    if ( on )
-        d_data->paintAttributes |= attribute;
-    else
-        d_data->paintAttributes &= ~attribute;
-}
-
-/*!
-   Test a paint attribute
-
-   \param attribute Paint attribute
-   \return true, if attribute is enabled
-
-   \sa setPaintAttribute()
-*/
-bool QwtText::testPaintAttribute( PaintAttribute attribute ) const
-{
-    return d_data->paintAttributes & attribute;
-}
-
-/*!
-   Change a layout attribute
-
-   \param attribute Layout attribute
-   \param on On/Off
-   \sa testLayoutAttribute()
-*/
-void QwtText::setLayoutAttribute( LayoutAttribute attribute, bool on )
-{
-    if ( on )
-        d_data->layoutAttributes |= attribute;
-    else
-        d_data->layoutAttributes &= ~attribute;
-}
-
-/*!
-   Test a layout attribute
-
-   \param attribute Layout attribute
-   \return true, if attribute is enabled
-
-   \sa setLayoutAttribute()
-*/
-bool QwtText::testLayoutAttribute( LayoutAttribute attribute ) const
-{
-    return d_data->layoutAttributes | attribute;
-}
-
-/*!
-   Find the height for a given width
-
-   \param defaultFont Font, used for the calculation if the text has no font
-   \param width Width
-
-   \return Calculated height
-*/
-double QwtText::heightForWidth( double width, const QFont &defaultFont ) const
-{
-    // We want to calculate in screen metrics. So
-    // we need a font that uses screen metrics
-
-    const QFont font( usedFont( defaultFont ), QApplication::desktop() );
-
-    double h = 0;
-
-    if ( d_data->layoutAttributes & MinimumLayout )
-    {
-        double left, right, top, bottom;
-        d_data->textEngine->textMargins( font, d_data->text,
-            left, right, top, bottom );
-
-        h = d_data->textEngine->heightForWidth(
-            font, d_data->renderFlags, d_data->text,
-            width + left + right );
-
-        h -= top + bottom;
-    }
-    else
-    {
-        h = d_data->textEngine->heightForWidth(
-            font, d_data->renderFlags, d_data->text, width );
-    }
-
-    return h;
-}
-
-/*!
-   Find the height for a given width
-
-   \param defaultFont Font, used for the calculation if the text has no font
-
-   \return Calculated height
-*/
-
-/*!
-   Returns the size, that is needed to render text
-
-   \param defaultFont Font of the text
-   \return Caluclated size
-*/
-QSizeF QwtText::textSize( const QFont &defaultFont ) const
-{
-    // We want to calculate in screen metrics. So
-    // we need a font that uses screen metrics
-
-    const QFont font( usedFont( defaultFont ), QApplication::desktop() );
-
-    if ( !d_layoutCache->textSize.isValid()
-        || d_layoutCache->font != font )
-    {
-        d_layoutCache->textSize = d_data->textEngine->textSize(
-            font, d_data->renderFlags, d_data->text );
-        d_layoutCache->font = font;
-    }
-
-    QSizeF sz = d_layoutCache->textSize;
-
-    if ( d_data->layoutAttributes & MinimumLayout )
-    {
-        double left, right, top, bottom;
-        d_data->textEngine->textMargins( font, d_data->text,
-            left, right, top, bottom );
-        sz -= QSizeF( left + right, top + bottom );
-    }
-
-    return sz;
-}
-
-/*!
-   Draw a text into a rectangle
-
-   \param painter Painter
-   \param rect Rectangle
-*/
-void QwtText::draw( QPainter *painter, const QRectF &rect ) const
-{
-    if ( d_data->paintAttributes & PaintBackground )
-    {
-        if ( d_data->borderPen != Qt::NoPen ||
-            d_data->backgroundBrush != Qt::NoBrush )
-        {
-            painter->save();
-
-            painter->setPen( d_data->borderPen );
-            painter->setBrush( d_data->backgroundBrush );
-
-            if ( d_data->borderRadius == 0 )
-            {
-                QwtPainter::drawRect( painter, rect );
-            }
-            else
-            {
-                painter->setRenderHint( QPainter::Antialiasing, true );
-                painter->drawRoundedRect( rect,
-                    d_data->borderRadius, d_data->borderRadius );
-            }
-
-            painter->restore();
-        }
-    }
-
-    painter->save();
-
-    if ( d_data->paintAttributes & PaintUsingTextFont )
-    {
-        painter->setFont( d_data->font );
-    }
-
-    if ( d_data->paintAttributes & PaintUsingTextColor )
-    {
-        if ( d_data->color.isValid() )
-            painter->setPen( d_data->color );
-    }
-
-    QRectF expandedRect = rect;
-    if ( d_data->layoutAttributes & MinimumLayout )
-    {
-        // We want to calculate in screen metrics. So
-        // we need a font that uses screen metrics
-
-        const QFont font( painter->font(), QApplication::desktop() );
-
-        double left, right, top, bottom;
-        d_data->textEngine->textMargins(
-            font, d_data->text, left, right, top, bottom );
-
-        expandedRect.setTop( rect.top() - top );
-        expandedRect.setBottom( rect.bottom() + bottom );
-        expandedRect.setLeft( rect.left() - left );
-        expandedRect.setRight( rect.right() + right );
-    }
-
-    d_data->textEngine->draw( painter, expandedRect,
-        d_data->renderFlags, d_data->text );
-
-    painter->restore();
-}
-
-/*!
-   Find the text engine for a text format
-
-   In case of QwtText::AutoText the first text engine
-   (beside QwtPlainTextEngine) is returned, where QwtTextEngine::mightRender
-   returns true. If there is none QwtPlainTextEngine is returned.
-
-   If no text engine is registered for the format QwtPlainTextEngine
-   is returnd.
-
-   \param text Text, needed in case of AutoText
-   \param format Text format
-
-   \return Corresponding text engine
-*/
-const QwtTextEngine *QwtText::textEngine( const QString &text,
-    QwtText::TextFormat format )
-{
-    return QwtTextEngineDict::dict().textEngine( text, format );
-}
-
-/*!
-   Assign/Replace a text engine for a text format
-
-   With setTextEngine it is possible to extend Qwt with
-   other types of text formats.
-
-   For QwtText::PlainText it is not allowed to assign a engine == NULL.
-
-   \param format Text format
-   \param engine Text engine
-
-   \sa QwtMathMLTextEngine
-   \warning Using QwtText::AutoText does nothing.
-*/
-void QwtText::setTextEngine( QwtText::TextFormat format,
-    QwtTextEngine *engine )
-{
-    QwtTextEngineDict::dict().setTextEngine( format, engine );
-}
-
-/*!
-   \brief Find the text engine for a text format
-
-   textEngine can be used to find out if a text format is supported.
-
-   \param format Text format
-   \return The text engine, or NULL if no engine is available.
-*/
-const QwtTextEngine *QwtText::textEngine( QwtText::TextFormat format )
-{
-    return  QwtTextEngineDict::dict().textEngine( format );
-}
diff --git a/SRC/Qwt/src/qwt_text.h b/SRC/Qwt/src/qwt_text.h
deleted file mode 100644
index f26b22b..0000000
--- a/SRC/Qwt/src/qwt_text.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_TEXT_H
-#define QWT_TEXT_H
-
-#include "qwt_global.h"
-#include <qstring.h>
-#include <qsize.h>
-#include <qfont.h>
-#include <qmetatype.h>
-
-class QColor;
-class QPen;
-class QBrush;
-class QRectF;
-class QPainter;
-class QwtTextEngine;
-
-/*!
-  \brief A class representing a text
-
-  A QwtText is a text including a set of attributes how to render it.
-
-  - Format\n
-    A text might include control sequences (f.e tags) describing
-    how to render it. Each format (f.e MathML, TeX, Qt Rich Text)
-    has its own set of control sequences, that can be handles by
-    a special QwtTextEngine for this format.
-  - Background\n
-    A text might have a background, defined by a QPen and QBrush
-    to improve its visibility. The corners of the background might
-    be rounded.
-  - Font\n
-    A text might have an individual font.
-  - Color\n
-    A text might have an individual color.
-  - Render Flags\n
-    Flags from Qt::AlignmentFlag and Qt::TextFlag used like in
-    QPainter::drawText().
-
-  \sa QwtTextEngine, QwtTextLabel
-*/
-
-class QWT_EXPORT QwtText
-{
-public:
-
-    /*!
-      \brief Text format
-
-      The text format defines the QwtTextEngine, that is used to render
-      the text.
-
-      \sa QwtTextEngine, setTextEngine()
-    */
-
-    enum TextFormat
-    {
-        /*!
-          The text format is determined using QwtTextEngine::mightRender() for
-          all available text engines in increasing order > PlainText.
-          If none of the text engines can render the text is rendered
-          like QwtText::PlainText.
-         */
-        AutoText = 0,
-
-        //! Draw the text as it is, using a QwtPlainTextEngine.
-        PlainText,
-
-        //! Use the Scribe framework (Qt Rich Text) to render the text.
-        RichText,
-
-        /*!
-          Use a MathML (http://en.wikipedia.org/wiki/MathML) render engine
-          to display the text. The Qwt MathML extension offers such an engine
-          based on the MathML renderer of the Qt solutions package. 
-          To enable MathML support the following code needs to be added to the
-          application:
-\verbatim QwtText::setTextEngine(QwtText::MathMLText, new QwtMathMLTextEngine()); \endverbatim
-         */
-        MathMLText,
-
-        /*!
-          Use a TeX (http://en.wikipedia.org/wiki/TeX) render engine
-          to display the text ( not implemented yet ).
-         */
-        TeXText,
-
-        /*!
-          The number of text formats can be extended using setTextEngine.
-          Formats >= QwtText::OtherFormat are not used by Qwt.
-         */
-        OtherFormat = 100
-    };
-
-    /*!
-      \brief Paint Attributes
-
-      Font and color and background are optional attributes of a QwtText.
-      The paint attributes hold the information, if they are set.
-    */
-    enum PaintAttribute
-    {
-        //! The text has an individual font.
-        PaintUsingTextFont = 0x01,
-
-        //! The text has an individual color.
-        PaintUsingTextColor = 0x02,
-
-        //! The text has an individual background.
-        PaintBackground = 0x04
-    };
-
-    //! Paint attributes
-    typedef QFlags<PaintAttribute> PaintAttributes;
-
-    /*!
-      \brief Layout Attributes
-      The layout attributes affects some aspects of the layout of the text.
-    */
-    enum LayoutAttribute
-    {
-        /*!
-          Layout the text without its margins. This mode is useful if a
-          text needs to be aligned accurately, like the tick labels of a scale.
-          If QwtTextEngine::textMargins is not implemented for the format
-          of the text, MinimumLayout has no effect.
-         */
-        MinimumLayout = 0x01
-    };
-
-    //! Layout attributes
-    typedef QFlags<LayoutAttribute> LayoutAttributes;
-
-    QwtText( const QString & = QString::null,
-             TextFormat textFormat = AutoText );
-    QwtText( const QwtText & );
-    ~QwtText();
-
-    QwtText &operator=( const QwtText & );
-
-    bool operator==( const QwtText & ) const;
-    bool operator!=( const QwtText & ) const;
-
-    void setText( const QString &,
-        QwtText::TextFormat textFormat = AutoText );
-    QString text() const;
-
-    bool isNull() const;
-    bool isEmpty() const;
-
-    void setFont( const QFont & );
-    QFont font() const;
-
-    QFont usedFont( const QFont & ) const;
-
-    void setRenderFlags( int flags );
-    int renderFlags() const;
-
-    void setColor( const QColor & );
-    QColor color() const;
-
-    QColor usedColor( const QColor & ) const;
-
-    void setBorderRadius( double );
-    double borderRadius() const;
-
-    void setBorderPen( const QPen & );
-    QPen borderPen() const;
-
-    void setBackgroundBrush( const QBrush & );
-    QBrush backgroundBrush() const;
-
-    void setPaintAttribute( PaintAttribute, bool on = true );
-    bool testPaintAttribute( PaintAttribute ) const;
-
-    void setLayoutAttribute( LayoutAttribute, bool on = true );
-    bool testLayoutAttribute( LayoutAttribute ) const;
-
-    double heightForWidth( double width, const QFont & = QFont() ) const;
-    QSizeF textSize( const QFont & = QFont() ) const;
-
-    void draw( QPainter *painter, const QRectF &rect ) const;
-
-    static const QwtTextEngine *textEngine( 
-        const QString &text, QwtText::TextFormat = AutoText );
-
-    static const QwtTextEngine *textEngine( QwtText::TextFormat );
-    static void setTextEngine( QwtText::TextFormat, QwtTextEngine * );
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-
-    class LayoutCache;
-    LayoutCache *d_layoutCache;
-};
-
-//! \return text().isNull()
-inline bool QwtText::isNull() const
-{
-    return text().isNull();
-}
-
-//! \return text().isEmpty()
-inline bool QwtText::isEmpty() const
-{
-    return text().isEmpty();
-}
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtText::PaintAttributes )
-Q_DECLARE_OPERATORS_FOR_FLAGS( QwtText::LayoutAttributes )
-
-Q_DECLARE_METATYPE( QwtText )
-
-#endif
diff --git a/SRC/Qwt/src/qwt_text_engine.cpp b/SRC/Qwt/src/qwt_text_engine.cpp
deleted file mode 100644
index 584fa9f..0000000
--- a/SRC/Qwt/src/qwt_text_engine.cpp
+++ /dev/null
@@ -1,345 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_text_engine.h"
-#include "qwt_math.h"
-#include "qwt_painter.h"
-#include <qpainter.h>
-#include <qpixmap.h>
-#include <qimage.h>
-#include <qmap.h>
-#include <qwidget.h>
-#include <qtextobject.h>
-#include <qtextdocument.h>
-#include <qabstracttextdocumentlayout.h>
-
-static QString taggedRichText( const QString &text, int flags )
-{
-    QString richText = text;
-
-    // By default QSimpleRichText is Qt::AlignLeft
-    if ( flags & Qt::AlignJustify )
-    {
-        richText.prepend( QString::fromLatin1( "<div align=\"justify\">" ) );
-        richText.append( QString::fromLatin1( "</div>" ) );
-    }
-    else if ( flags & Qt::AlignRight )
-    {
-        richText.prepend( QString::fromLatin1( "<div align=\"right\">" ) );
-        richText.append( QString::fromLatin1( "</div>" ) );
-    }
-    else if ( flags & Qt::AlignHCenter )
-    {
-        richText.prepend( QString::fromLatin1( "<div align=\"center\">" ) );
-        richText.append( QString::fromLatin1( "</div>" ) );
-    }
-
-    return richText;
-}
-
-class QwtRichTextDocument: public QTextDocument
-{
-public:
-    QwtRichTextDocument( const QString &text, int flags, const QFont &font )
-    {
-        setUndoRedoEnabled( false );
-        setDefaultFont( font );
-        setHtml( text );
-
-        // make sure we have a document layout
-        ( void )documentLayout();
-
-        QTextOption option = defaultTextOption();
-        if ( flags & Qt::TextWordWrap )
-            option.setWrapMode( QTextOption::WordWrap );
-        else
-            option.setWrapMode( QTextOption::NoWrap );
-
-        option.setAlignment( static_cast<Qt::Alignment>( flags ) );
-        setDefaultTextOption( option );
-
-        QTextFrame *root = rootFrame();
-        QTextFrameFormat fm = root->frameFormat();
-        fm.setBorder( 0 );
-        fm.setMargin( 0 );
-        fm.setPadding( 0 );
-        fm.setBottomMargin( 0 );
-        fm.setLeftMargin( 0 );
-        root->setFrameFormat( fm );
-
-        adjustSize();
-    }
-};
-
-class QwtPlainTextEngine::PrivateData
-{
-public:
-    int effectiveAscent( const QFont &font ) const
-    {
-        const QString fontKey = font.key();
-
-        QMap<QString, int>::const_iterator it =
-            d_ascentCache.find( fontKey );
-        if ( it == d_ascentCache.end() )
-        {
-            int ascent = findAscent( font );
-            it = d_ascentCache.insert( fontKey, ascent );
-        }
-
-        return ( *it );
-    }
-
-private:
-    int findAscent( const QFont &font ) const
-    {
-        static const QString dummy( "E" );
-        static const QColor white( Qt::white );
-
-        const QFontMetrics fm( font );
-        QPixmap pm( fm.width( dummy ), fm.height() );
-        pm.fill( white );
-
-        QPainter p( &pm );
-        p.setFont( font );
-        p.drawText( 0, 0,  pm.width(), pm.height(), 0, dummy );
-        p.end();
-
-        const QImage img = pm.toImage();
-
-        int row = 0;
-        for ( row = 0; row < img.height(); row++ )
-        {
-            const QRgb *line = reinterpret_cast<const QRgb *>( 
-                img.scanLine( row ) );
-
-            const int w = pm.width();
-            for ( int col = 0; col < w; col++ )
-            {
-                if ( line[col] != white.rgb() )
-                    return fm.ascent() - row + 1;
-            }
-        }
-
-        return fm.ascent();
-    }
-
-    mutable QMap<QString, int> d_ascentCache;
-};
-
-//! Constructor
-QwtTextEngine::QwtTextEngine()
-{
-}
-
-//! Destructor
-QwtTextEngine::~QwtTextEngine()
-{
-}
-
-//! Constructor
-QwtPlainTextEngine::QwtPlainTextEngine()
-{
-    d_data = new PrivateData;
-}
-
-//! Destructor
-QwtPlainTextEngine::~QwtPlainTextEngine()
-{
-    delete d_data;
-}
-
-/*!
-   Find the height for a given width
-
-   \param font Font of the text
-   \param flags Bitwise OR of the flags used like in QPainter::drawText
-   \param text Text to be rendered
-   \param width Width
-
-   \return Calculated height
-*/
-double QwtPlainTextEngine::heightForWidth( const QFont& font, int flags,
-        const QString& text, double width ) const
-{
-    const QFontMetricsF fm( font );
-    const QRectF rect = fm.boundingRect(
-        QRectF( 0, 0, width, QWIDGETSIZE_MAX ), flags, text );
-
-    return rect.height();
-}
-
-/*!
-  Returns the size, that is needed to render text
-
-  \param font Font of the text
-  \param flags Bitwise OR of the flags used like in QPainter::drawText
-  \param text Text to be rendered
-
-  \return Caluclated size
-*/
-QSizeF QwtPlainTextEngine::textSize( const QFont &font,
-    int flags, const QString& text ) const
-{
-    const QFontMetricsF fm( font );
-    const QRectF rect = fm.boundingRect(
-        QRectF( 0, 0, QWIDGETSIZE_MAX, QWIDGETSIZE_MAX ), flags, text );
-
-    return rect.size();
-}
-
-/*!
-  Return margins around the texts
-
-  \param font Font of the text
-  \param left Return 0
-  \param right Return 0
-  \param top Return value for the top margin
-  \param bottom Return value for the bottom margin
-*/
-void QwtPlainTextEngine::textMargins( const QFont &font, const QString &,
-    double &left, double &right, double &top, double &bottom ) const
-{
-    left = right = top = 0;
-
-    const QFontMetricsF fm( font );
-    top = fm.ascent() - d_data->effectiveAscent( font );
-    bottom = fm.descent();
-}
-
-/*!
-  \brief Draw the text in a clipping rectangle
-
-  A wrapper for QPainter::drawText.
-
-  \param painter Painter
-  \param rect Clipping rectangle
-  \param flags Bitwise OR of the flags used like in QPainter::drawText
-  \param text Text to be rendered
-*/
-void QwtPlainTextEngine::draw( QPainter *painter, const QRectF &rect,
-    int flags, const QString& text ) const
-{
-    QwtPainter::drawText( painter, rect, flags, text );
-}
-
-/*!
-  Test if a string can be rendered by this text engine.
-  \return Always true. All texts can be rendered by QwtPlainTextEngine
-*/
-bool QwtPlainTextEngine::mightRender( const QString & ) const
-{
-    return true;
-}
-
-#ifndef QT_NO_RICHTEXT
-
-//! Constructor
-QwtRichTextEngine::QwtRichTextEngine()
-{
-}
-
-/*!
-   Find the height for a given width
-
-   \param font Font of the text
-   \param flags Bitwise OR of the flags used like in QPainter::drawText()
-   \param text Text to be rendered
-   \param width Width
-
-   \return Calculated height
-*/
-double QwtRichTextEngine::heightForWidth( const QFont& font, int flags,
-        const QString& text, double width ) const
-{
-    QwtRichTextDocument doc( text, flags, font );
-
-    doc.setPageSize( QSizeF( width, QWIDGETSIZE_MAX ) );
-    return doc.documentLayout()->documentSize().height();
-}
-
-/*!
-  Returns the size, that is needed to render text
-
-  \param font Font of the text
-  \param flags Bitwise OR of the flags used like in QPainter::drawText()
-  \param text Text to be rendered
-
-  \return Caluclated size
-*/
-
-QSizeF QwtRichTextEngine::textSize( const QFont &font,
-    int flags, const QString& text ) const
-{
-    QwtRichTextDocument doc( text, flags, font );
-
-    QTextOption option = doc.defaultTextOption();
-    if ( option.wrapMode() != QTextOption::NoWrap )
-    {
-        option.setWrapMode( QTextOption::NoWrap );
-        doc.setDefaultTextOption( option );
-        doc.adjustSize();
-    }
-
-    return doc.size();
-}
-
-/*!
-  Draw the text in a clipping rectangle
-
-  \param painter Painter
-  \param rect Clipping rectangle
-  \param flags Bitwise OR of the flags like in for QPainter::drawText()
-  \param text Text to be rendered
-*/
-void QwtRichTextEngine::draw( QPainter *painter, const QRectF &rect,
-    int flags, const QString& text ) const
-{
-    QwtRichTextDocument doc( text, flags, painter->font() );
-    QwtPainter::drawSimpleRichText( painter, rect, flags, doc );
-}
-
-/*!
-   Wrap text into <div align=...> </div> tags according flags
-
-   \param text Text
-   \param flags Bitwise OR of the flags like in for QPainter::drawText()
-
-   \return Tagged text
-*/
-QString QwtRichTextEngine::taggedText( const QString &text, int flags ) const
-{
-    return taggedRichText( text, flags );
-}
-
-/*!
-  Test if a string can be rendered by this text engine
-
-  \param text Text to be tested
-  \return Qt::mightBeRichText(text);
-*/
-bool QwtRichTextEngine::mightRender( const QString &text ) const
-{
-    return Qt::mightBeRichText( text );
-}
-
-/*!
-  Return margins around the texts
-
-  \param left Return 0
-  \param right Return 0
-  \param top Return 0
-  \param bottom Return 0
-*/
-void QwtRichTextEngine::textMargins( const QFont &, const QString &,
-    double &left, double &right, double &top, double &bottom ) const
-{
-    left = right = top = bottom = 0;
-}
-
-#endif // !QT_NO_RICHTEXT
diff --git a/SRC/Qwt/src/qwt_text_engine.h b/SRC/Qwt/src/qwt_text_engine.h
deleted file mode 100644
index 9d73aad..0000000
--- a/SRC/Qwt/src/qwt_text_engine.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_TEXT_ENGINE_H
-#define QWT_TEXT_ENGINE_H 1
-
-#include "qwt_global.h"
-#include <qsize.h>
-
-class QFont;
-class QRectF;
-class QString;
-class QPainter;
-
-/*!
-  \brief Abstract base class for rendering text strings
-
-  A text engine is responsible for rendering texts for a
-  specific text format. They are used by QwtText to render a text.
-
-  QwtPlainTextEngine and QwtRichTextEngine are part of the Qwt library.
-  The implementation of QwtMathMLTextEngine uses code from the 
-  Qt solution package. Because of license implications it is built into
-  a separate library.
- 
-  \sa QwtText::setTextEngine()
-*/
-
-class QWT_EXPORT QwtTextEngine
-{
-public:
-    virtual ~QwtTextEngine();
-
-    /*!
-      Find the height for a given width
-
-      \param font Font of the text
-      \param flags Bitwise OR of the flags used like in QPainter::drawText
-      \param text Text to be rendered
-      \param width Width
-
-      \return Calculated height
-     */
-    virtual double heightForWidth( const QFont &font, int flags,
-        const QString &text, double width ) const = 0;
-
-    /*!
-      Returns the size, that is needed to render text
-
-      \param font Font of the text
-      \param flags Bitwise OR of the flags like in for QPainter::drawText
-      \param text Text to be rendered
-
-      \return Calculated size
-     */
-    virtual QSizeF textSize( const QFont &font, int flags,
-        const QString &text ) const = 0;
-
-    /*!
-      Test if a string can be rendered by this text engine
-
-      \param text Text to be tested
-      \return true, if it can be rendered
-     */
-    virtual bool mightRender( const QString &text ) const = 0;
-
-    /*!
-      Return margins around the texts
-
-      The textSize might include margins around the
-      text, like QFontMetrics::descent(). In situations
-      where texts need to be aligned in detail, knowing
-      these margins might improve the layout calculations.
-
-      \param font Font of the text
-      \param text Text to be rendered
-      \param left Return value for the left margin
-      \param right Return value for the right margin
-      \param top Return value for the top margin
-      \param bottom Return value for the bottom margin
-     */
-    virtual void textMargins( const QFont &font, const QString &text,
-        double &left, double &right, double &top, double &bottom ) const = 0;
-
-    /*!
-      Draw the text in a clipping rectangle
-
-      \param painter Painter
-      \param rect Clipping rectangle
-      \param flags Bitwise OR of the flags like in for QPainter::drawText()
-      \param text Text to be rendered
-     */
-    virtual void draw( QPainter *painter, const QRectF &rect,
-        int flags, const QString &text ) const = 0;
-
-protected:
-    QwtTextEngine();
-};
-
-
-/*!
-  \brief A text engine for plain texts
-
-  QwtPlainTextEngine renders texts using the basic Qt classes
-  QPainter and QFontMetrics.
-*/
-class QWT_EXPORT QwtPlainTextEngine: public QwtTextEngine
-{
-public:
-    QwtPlainTextEngine();
-    virtual ~QwtPlainTextEngine();
-
-    virtual double heightForWidth( const QFont &font, int flags,
-        const QString &text, double width ) const;
-
-    virtual QSizeF textSize( const QFont &font, int flags,
-        const QString &text ) const;
-
-    virtual void draw( QPainter *painter, const QRectF &rect,
-        int flags, const QString &text ) const;
-
-    virtual bool mightRender( const QString & ) const;
-
-    virtual void textMargins( const QFont &, const QString &,
-        double &left, double &right, double &top, double &bottom ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-
-#ifndef QT_NO_RICHTEXT
-
-/*!
-  \brief A text engine for Qt rich texts
-
-  QwtRichTextEngine renders Qt rich texts using the classes
-  of the Scribe framework of Qt.
-*/
-class QWT_EXPORT QwtRichTextEngine: public QwtTextEngine
-{
-public:
-    QwtRichTextEngine();
-
-    virtual double heightForWidth( const QFont &font, int flags,
-        const QString &text, double width ) const;
-
-    virtual QSizeF textSize( const QFont &font, int flags,
-        const QString &text ) const;
-
-    virtual void draw( QPainter *painter, const QRectF &rect,
-        int flags, const QString &text ) const;
-
-    virtual bool mightRender( const QString & ) const;
-
-    virtual void textMargins( const QFont &, const QString &,
-        double &left, double &right, double &top, double &bottom ) const;
-
-private:
-    QString taggedText( const QString &, int flags ) const;
-};
-
-#endif // !QT_NO_RICHTEXT
-
-#endif
diff --git a/SRC/Qwt/src/qwt_text_label.cpp b/SRC/Qwt/src/qwt_text_label.cpp
deleted file mode 100644
index 2b79f35..0000000
--- a/SRC/Qwt/src/qwt_text_label.cpp
+++ /dev/null
@@ -1,324 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_text_label.h"
-#include "qwt_text.h"
-#include "qwt_painter.h"
-#include <qpainter.h>
-#include <qevent.h>
-#include <qmath.h>
-
-class QwtTextLabel::PrivateData
-{
-public:
-    PrivateData():
-        indent( 4 ),
-        margin( 0 )
-    {
-    }
-
-    int indent;
-    int margin;
-    QwtText text;
-};
-
-/*!
-  Constructs an empty label.
-  \param parent Parent widget
-*/
-QwtTextLabel::QwtTextLabel( QWidget *parent ):
-    QFrame( parent )
-{
-    init();
-}
-
-/*!
-  Constructs a label that displays the text, text
-  \param parent Parent widget
-  \param text Text
-*/
-QwtTextLabel::QwtTextLabel( const QwtText &text, QWidget *parent ):
-    QFrame( parent )
-{
-    init();
-    d_data->text = text;
-}
-
-//! Destructor
-QwtTextLabel::~QwtTextLabel()
-{
-    delete d_data;
-}
-
-void QwtTextLabel::init()
-{
-    d_data = new PrivateData();
-    setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred );
-}
-
-/*!
-   Interface for the designer plugin - does the same as setText()
-   \sa plainText()
- */
-void QwtTextLabel::setPlainText( const QString &text )
-{
-    setText( QwtText( text ) );
-}
-
-/*!
-   Interface for the designer plugin
-
-   \return Text as plain text
-   \sa setPlainText(), text()
- */
-QString QwtTextLabel::plainText() const
-{
-    return d_data->text.text();
-}
-
-/*!
-   Change the label's text, keeping all other QwtText attributes
-   \param text New text
-   \param textFormat Format of text
-
-  \sa QwtText
-*/
-void QwtTextLabel::setText( const QString &text, 
-    QwtText::TextFormat textFormat )
-{
-    d_data->text.setText( text, textFormat );
-
-    update();
-    updateGeometry();
-}
-
-/*!
-   Change the label's text
-   \param text New text
-*/
-void QwtTextLabel::setText( const QwtText &text )
-{
-    d_data->text = text;
-
-    update();
-    updateGeometry();
-}
-
-//! Return the text
-const QwtText &QwtTextLabel::text() const
-{
-    return d_data->text;
-}
-
-//! Clear the text and all QwtText attributes
-void QwtTextLabel::clear()
-{
-    d_data->text = QwtText();
-
-    update();
-    updateGeometry();
-}
-
-//! Return label's text indent in pixels
-int QwtTextLabel::indent() const
-{
-    return d_data->indent;
-}
-
-/*!
-  Set label's text indent in pixels
-  \param indent Indentation in pixels
-*/
-void QwtTextLabel::setIndent( int indent )
-{
-    if ( indent < 0 )
-        indent = 0;
-
-    d_data->indent = indent;
-
-    update();
-    updateGeometry();
-}
-
-//! Return label's text indent in pixels
-int QwtTextLabel::margin() const
-{
-    return d_data->margin;
-}
-
-/*!
-  Set label's margin in pixels
-  \param margin Margin in pixels
-*/
-void QwtTextLabel::setMargin( int margin )
-{
-    d_data->margin = margin;
-
-    update();
-    updateGeometry();
-}
-
-//! Return label's margin in pixels
-QSize QwtTextLabel::sizeHint() const
-{
-    return minimumSizeHint();
-}
-
-//! Return a minimum size hint
-QSize QwtTextLabel::minimumSizeHint() const
-{
-    QSizeF sz = d_data->text.textSize( font() );
-
-    int mw = 2 * ( frameWidth() + d_data->margin );
-    int mh = mw;
-
-    int indent = d_data->indent;
-    if ( indent <= 0 )
-        indent = defaultIndent();
-
-    if ( indent > 0 )
-    {
-        const int align = d_data->text.renderFlags();
-        if ( align & Qt::AlignLeft || align & Qt::AlignRight )
-            mw += d_data->indent;
-        else if ( align & Qt::AlignTop || align & Qt::AlignBottom )
-            mh += d_data->indent;
-    }
-
-    sz += QSizeF( mw, mh );
-
-    return QSize( qCeil( sz.width() ), qCeil( sz.height() ) );
-}
-
-/*!
-   \param width Width
-   \return Preferred height for this widget, given the width.
-*/
-int QwtTextLabel::heightForWidth( int width ) const
-{
-    const int renderFlags = d_data->text.renderFlags();
-
-    int indent = d_data->indent;
-    if ( indent <= 0 )
-        indent = defaultIndent();
-
-    width -= 2 * frameWidth();
-    if ( renderFlags & Qt::AlignLeft || renderFlags & Qt::AlignRight )
-        width -= indent;
-
-    int height = qCeil( d_data->text.heightForWidth( width, font() ) );
-    if ( ( renderFlags & Qt::AlignTop ) || ( renderFlags & Qt::AlignBottom ) )
-        height += indent;
-
-    height += 2 * frameWidth();
-
-    return height;
-}
-
-/*!
-   Qt paint event
-   \param event Paint event
-*/
-void QwtTextLabel::paintEvent( QPaintEvent *event )
-{
-    QPainter painter( this );
-
-    if ( !contentsRect().contains( event->rect() ) )
-    {
-        painter.save();
-        painter.setClipRegion( event->region() & frameRect() );
-        drawFrame( &painter );
-        painter.restore();
-    }
-
-    painter.setClipRegion( event->region() & contentsRect() );
-
-    drawContents( &painter );
-}
-
-//! Redraw the text and focus indicator
-void QwtTextLabel::drawContents( QPainter *painter )
-{
-    const QRect r = textRect();
-    if ( r.isEmpty() )
-        return;
-
-    painter->setFont( font() );
-    painter->setPen( palette().color( QPalette::Active, QPalette::Text ) );
-
-    drawText( painter, QRectF( r ) );
-
-    if ( hasFocus() )
-    {
-        const int m = 2;
-
-        QRect focusRect = contentsRect().adjusted( m, m, -m + 1, -m + 1);
-
-        QwtPainter::drawFocusRect( painter, this, focusRect );
-    }
-}
-
-//! Redraw the text
-void QwtTextLabel::drawText( QPainter *painter, const QRectF &textRect )
-{
-    d_data->text.draw( painter, textRect );
-}
-
-/*!
-  Calculate geometry for the text in widget coordinates
-  \return Geometry for the text
-*/
-QRect QwtTextLabel::textRect() const
-{
-    QRect r = contentsRect();
-
-    if ( !r.isEmpty() && d_data->margin > 0 )
-    {
-        r.setRect( r.x() + d_data->margin, r.y() + d_data->margin,
-            r.width() - 2 * d_data->margin, r.height() - 2 * d_data->margin );
-    }
-
-    if ( !r.isEmpty() )
-    {
-        int indent = d_data->indent;
-        if ( indent <= 0 )
-            indent = defaultIndent();
-
-        if ( indent > 0 )
-        {
-            const int renderFlags = d_data->text.renderFlags();
-
-            if ( renderFlags & Qt::AlignLeft )
-                r.setX( r.x() + indent );
-            else if ( renderFlags & Qt::AlignRight )
-                r.setWidth( r.width() - indent );
-            else if ( renderFlags & Qt::AlignTop )
-                r.setY( r.y() + indent );
-            else if ( renderFlags & Qt::AlignBottom )
-                r.setHeight( r.height() - indent );
-        }
-    }
-
-    return r;
-}
-
-int QwtTextLabel::defaultIndent() const
-{
-    if ( frameWidth() <= 0 )
-        return 0;
-
-    QFont fnt;
-    if ( d_data->text.testPaintAttribute( QwtText::PaintUsingTextFont ) )
-        fnt = d_data->text.font();
-    else
-        fnt = font();
-
-    return QFontMetrics( fnt ).width( 'x' ) / 2;
-}
-
diff --git a/SRC/Qwt/src/qwt_text_label.h b/SRC/Qwt/src/qwt_text_label.h
deleted file mode 100644
index 1fdd71b..0000000
--- a/SRC/Qwt/src/qwt_text_label.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_TEXT_LABEL_H
-#define QWT_TEXT_LABEL_H
-
-#include "qwt_global.h"
-#include "qwt_text.h"
-#include <qframe.h>
-
-class QString;
-class QPaintEvent;
-class QPainter;
-
-/*!
-   \brief A Widget which displays a QwtText
-*/
-
-class QWT_EXPORT QwtTextLabel : public QFrame
-{
-    Q_OBJECT
-
-    Q_PROPERTY( int indent READ indent WRITE setIndent )
-    Q_PROPERTY( int margin READ margin WRITE setMargin )
-    Q_PROPERTY( QString plainText READ plainText WRITE setPlainText )
-
-public:
-    explicit QwtTextLabel( QWidget *parent = NULL );
-    explicit QwtTextLabel( const QwtText &, QWidget *parent = NULL );
-    virtual ~QwtTextLabel();
-
-    void setPlainText( const QString & );
-    QString plainText() const;
-
-public Q_SLOTS:
-    void setText( const QString &,
-        QwtText::TextFormat textFormat = QwtText::AutoText );
-    virtual void setText( const QwtText & );
-
-    void clear();
-
-public:
-    const QwtText &text() const;
-
-    int indent() const;
-    void setIndent( int );
-
-    int margin() const;
-    void setMargin( int );
-
-    virtual QSize sizeHint() const;
-    virtual QSize minimumSizeHint() const;
-    virtual int heightForWidth( int ) const;
-
-    QRect textRect() const;
-
-    virtual void drawText( QPainter *, const QRectF & );
-
-protected:
-    virtual void paintEvent( QPaintEvent *e );
-    virtual void drawContents( QPainter * );
-
-private:
-    void init();
-    int defaultIndent() const;
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_thermo.cpp b/SRC/Qwt/src/qwt_thermo.cpp
deleted file mode 100644
index 7249604..0000000
--- a/SRC/Qwt/src/qwt_thermo.cpp
+++ /dev/null
@@ -1,1005 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_thermo.h"
-#include "qwt_scale_engine.h"
-#include "qwt_scale_draw.h"
-#include "qwt_scale_map.h"
-#include "qwt_color_map.h"
-#include <qpainter.h>
-#include <qevent.h>
-#include <qdrawutil.h>
-#include <qstyle.h>
-#include <qstyleoption.h>
-#include <qmath.h>
-
-static inline void qwtDrawLine( QPainter *painter, int pos, 
-    const QColor &color, const QRect &pipeRect, const QRect &liquidRect,
-    Qt::Orientation orientation )
-{
-    painter->setPen( color );
-    if ( orientation == Qt::Horizontal )
-    {
-        if ( pos >= liquidRect.left() && pos < liquidRect.right() )
-            painter->drawLine( pos, pipeRect.top(), pos, pipeRect.bottom() );
-    }
-    else
-    {
-        if ( pos >= liquidRect.top() && pos < liquidRect.bottom() )
-            painter->drawLine( pipeRect.left(), pos, pipeRect.right(), pos );
-    }
-}
-
-QVector<double> qwtTickList( const QwtScaleDiv &scaleDiv )
-{
-    QVector<double> values;
-
-    double lowerLimit = scaleDiv.interval().minValue();
-    double upperLimit = scaleDiv.interval().maxValue();
-
-    if ( upperLimit < lowerLimit )
-        qSwap( lowerLimit, upperLimit );
-
-    values += lowerLimit;
-
-    for ( int tickType = QwtScaleDiv::MinorTick;
-        tickType < QwtScaleDiv::NTickTypes; tickType++ )
-    {
-        const QList<double> ticks = scaleDiv.ticks( tickType );
-
-        for ( int i = 0; i < ticks.count(); i++ )
-        {
-            const double v = ticks[i];
-            if ( v > lowerLimit && v < upperLimit )
-                values += v;
-        }       
-    }   
-
-    values += upperLimit;
-    
-    return values;
-}
-
-class QwtThermo::PrivateData
-{
-public:
-    PrivateData():
-        orientation( Qt::Vertical ),
-        scalePosition( QwtThermo::TrailingScale ),
-        spacing( 3 ),
-        borderWidth( 2 ),
-        pipeWidth( 10 ),
-        alarmLevel( 0.0 ),
-        alarmEnabled( false ),
-        autoFillPipe( true ),
-        originMode( QwtThermo::OriginMinimum ),
-        origin( 0.0 ),
-        colorMap( NULL ),
-        value( 0.0 )
-    {
-        rangeFlags = QwtInterval::IncludeBorders;
-    }
-
-    ~PrivateData()
-    {
-        delete colorMap;
-    }
-
-    Qt::Orientation orientation;
-    QwtThermo::ScalePosition scalePosition;
-
-    int spacing;
-    int borderWidth;
-    int pipeWidth;
-
-    QwtInterval::BorderFlags rangeFlags;
-    double alarmLevel;
-    bool alarmEnabled;
-    bool autoFillPipe;
-    QwtThermo::OriginMode originMode;
-    double origin;
-
-    QwtColorMap *colorMap;
-
-    double value;
-};
-
-/*!
-  Constructor
-  \param parent Parent widget
-*/
-QwtThermo::QwtThermo( QWidget *parent ):
-    QwtAbstractScale( parent )
-{
-    d_data = new PrivateData;
-
-    QSizePolicy policy( QSizePolicy::MinimumExpanding, QSizePolicy::Fixed );
-    if ( d_data->orientation == Qt::Vertical )
-        policy.transpose();
-
-    setSizePolicy( policy );
-
-    setAttribute( Qt::WA_WState_OwnSizePolicy, false );
-    layoutThermo( true );
-}
-
-//! Destructor
-QwtThermo::~QwtThermo()
-{
-    delete d_data;
-}
-
-/*!
-  \brief Exclude/Include min/max values
-
-  According to the flags minValue() and maxValue()
-  are included/excluded from the pipe. In case of an
-  excluded value the corresponding tick is painted
-  1 pixel off of the pipeRect().
-
-  F.e. when a minimum
-  of 0.0 has to be displayed as an empty pipe the minValue()
-  needs to be excluded.
-
-  \param flags Range flags
-  \sa rangeFlags()
-*/
-void QwtThermo::setRangeFlags( QwtInterval::BorderFlags flags )
-{
-    if ( d_data->rangeFlags != flags )
-    {
-        d_data->rangeFlags = flags;
-        update();
-    }
-}
-
-/*!
-  \return Range flags
-  \sa setRangeFlags()
-*/
-QwtInterval::BorderFlags QwtThermo::rangeFlags() const
-{
-    return d_data->rangeFlags;
-}
-
-/*!
-  Set the current value.
-
-  \param value New Value
-  \sa value()
-*/
-void QwtThermo::setValue( double value )
-{
-    if ( d_data->value != value )
-    {
-        d_data->value = value;
-        update();
-    }
-}
-
-//! Return the value.
-double QwtThermo::value() const
-{
-    return d_data->value;
-}
-
-/*!
-  \brief Set a scale draw
-
-  For changing the labels of the scales, it
-  is necessary to derive from QwtScaleDraw and
-  overload QwtScaleDraw::label().
-
-  \param scaleDraw ScaleDraw object, that has to be created with
-                   new and will be deleted in ~QwtThermo() or the next
-                   call of setScaleDraw().
-*/
-void QwtThermo::setScaleDraw( QwtScaleDraw *scaleDraw )
-{
-    setAbstractScaleDraw( scaleDraw );
-    layoutThermo( true );
-}
-
-/*!
-   \return the scale draw of the thermo
-   \sa setScaleDraw()
-*/
-const QwtScaleDraw *QwtThermo::scaleDraw() const
-{
-    return static_cast<const QwtScaleDraw *>( abstractScaleDraw() );
-}
-
-/*!
-   \return the scale draw of the thermo
-   \sa setScaleDraw()
-*/
-QwtScaleDraw *QwtThermo::scaleDraw()
-{
-    return static_cast<QwtScaleDraw *>( abstractScaleDraw() );
-}
-
-/*!
-  Paint event handler
-  \param event Paint event
-*/
-void QwtThermo::paintEvent( QPaintEvent *event )
-{
-    QPainter painter( this );
-    painter.setClipRegion( event->region() );
-
-    QStyleOption opt;
-    opt.init(this);
-    style()->drawPrimitive(QStyle::PE_Widget, &opt, &painter, this);
-
-    const QRect tRect = pipeRect();
-
-    if ( !tRect.contains( event->rect() ) )
-    {
-        if ( d_data->scalePosition != QwtThermo::NoScale )
-            scaleDraw()->draw( &painter, palette() );
-    }
-
-    const int bw = d_data->borderWidth;
-
-    const QBrush brush = palette().brush( QPalette::Base );
-    qDrawShadePanel( &painter, 
-        tRect.adjusted( -bw, -bw, bw, bw ),
-        palette(), true, bw, 
-        d_data->autoFillPipe ? &brush : NULL );
-
-    drawLiquid( &painter, tRect );
-}
-
-/*! 
-  Resize event handler
-  \param event Resize event
-*/
-void QwtThermo::resizeEvent( QResizeEvent *event )
-{
-    Q_UNUSED( event );
-    layoutThermo( false );
-}
-
-/*! 
-  Qt change event handler
-  \param event Event
-*/
-void QwtThermo::changeEvent( QEvent *event )
-{
-    switch( event->type() )
-    {
-        case QEvent::StyleChange:
-        case QEvent::FontChange:
-        {
-            layoutThermo( true );
-            break;
-        }
-        default:
-            break;
-    }
-}
-
-/*!
-  Recalculate the QwtThermo geometry and layout based on
-  pipeRect() and the fonts.
-
-  \param update_geometry notify the layout system and call update
-         to redraw the scale
-*/
-void QwtThermo::layoutThermo( bool update_geometry )
-{
-    const QRect tRect = pipeRect();
-    const int bw = d_data->borderWidth + d_data->spacing;
-    const bool inverted = ( upperBound() < lowerBound() );
-
-    int from, to;
-
-    if ( d_data->orientation == Qt::Horizontal )
-    {
-        from = tRect.left();
-        to = tRect.right();
-
-        if ( d_data->rangeFlags & QwtInterval::ExcludeMinimum )
-        {
-            if ( inverted )
-                to++;
-            else
-                from--;
-        }
-        if ( d_data->rangeFlags & QwtInterval::ExcludeMaximum )
-        {
-            if ( inverted )
-                from--;
-            else
-                to++;
-        }
-
-        if ( d_data->scalePosition == QwtThermo::TrailingScale )
-        {
-            scaleDraw()->setAlignment( QwtScaleDraw::TopScale );
-            scaleDraw()->move( from, tRect.top() - bw );
-        }
-        else
-        {
-            scaleDraw()->setAlignment( QwtScaleDraw::BottomScale );
-            scaleDraw()->move( from, tRect.bottom() + bw );
-        }
-
-        scaleDraw()->setLength( qMax( to - from, 0 ) );
-    }
-    else // Qt::Vertical
-    {
-        from = tRect.top();
-        to = tRect.bottom();
-
-        if ( d_data->rangeFlags & QwtInterval::ExcludeMinimum )
-        {
-            if ( inverted )
-                from--;
-            else
-                to++;
-        }
-        if ( d_data->rangeFlags & QwtInterval::ExcludeMaximum )
-        {
-            if ( inverted )
-                to++;
-            else
-                from--;
-        }
-
-        if ( d_data->scalePosition == QwtThermo::LeadingScale )
-        {
-            scaleDraw()->setAlignment( QwtScaleDraw::RightScale );
-            scaleDraw()->move( tRect.right() + bw, from );
-        }
-        else
-        {
-            scaleDraw()->setAlignment( QwtScaleDraw::LeftScale );
-            scaleDraw()->move( tRect.left() - bw, from );
-        }
-
-        scaleDraw()->setLength( qMax( to - from, 0 ) );
-    }
-
-    if ( update_geometry )
-    {
-        updateGeometry();
-        update();
-    }
-}
-
-/*!
-  \return Bounding rectangle of the pipe ( without borders )
-          in widget coordinates
-*/
-QRect QwtThermo::pipeRect() const
-{
-    int mbd = 0;
-    if ( d_data->scalePosition != QwtThermo::NoScale )
-    {
-        int d1, d2;
-        scaleDraw()->getBorderDistHint( font(), d1, d2 );
-        mbd = qMax( d1, d2 );
-    }
-    const int bw = d_data->borderWidth;
-    const int scaleOff = bw + mbd;
-
-    const QRect cr = contentsRect();
-
-    QRect pipeRect = cr;
-    if ( d_data->orientation == Qt::Horizontal )
-    {
-        pipeRect.adjust( scaleOff, 0, -scaleOff, 0 );
-
-        if ( d_data->scalePosition == QwtThermo::TrailingScale )
-            pipeRect.setTop( cr.top() + cr.height() - bw - d_data->pipeWidth );
-        else
-            pipeRect.setTop( bw );
-
-        pipeRect.setHeight( d_data->pipeWidth );
-    }
-    else // Qt::Vertical
-    {
-        pipeRect.adjust( 0, scaleOff, 0, -scaleOff );
-
-        if ( d_data->scalePosition == QwtThermo::LeadingScale )
-            pipeRect.setLeft( bw );
-        else 
-            pipeRect.setLeft( cr.left() + cr.width() - bw - d_data->pipeWidth );
-
-        pipeRect.setWidth( d_data->pipeWidth );
-    }
-
-    return pipeRect;
-}
-
-/*!
-  \brief Set the orientation.
-  \param orientation Allowed values are Qt::Horizontal and Qt::Vertical.
-
-  \sa orientation(), scalePosition()
-*/
-void QwtThermo::setOrientation( Qt::Orientation orientation )
-{
-    if ( orientation == d_data->orientation )
-        return;
-
-    d_data->orientation = orientation;
-
-    if ( !testAttribute( Qt::WA_WState_OwnSizePolicy ) )
-    {
-        QSizePolicy sp = sizePolicy();
-        sp.transpose();
-        setSizePolicy( sp );
-
-        setAttribute( Qt::WA_WState_OwnSizePolicy, false );
-    }
-
-    layoutThermo( true );
-}
-
-/*!
-  \return Orientation
-  \sa setOrientation()
-*/
-Qt::Orientation QwtThermo::orientation() const
-{
-    return d_data->orientation;
-}
-
-/*!
-  \brief Change how the origin is determined.
-  \sa originMode(), serOrigin(), origin()
- */
-void QwtThermo::setOriginMode( OriginMode m )
-{
-    if ( m == d_data->originMode )
-        return;
-
-    d_data->originMode = m;
-    update();
-}
-
-/*!
-  \return Mode, how the origin is determined.
-  \sa setOriginMode(), serOrigin(), origin()
- */
-QwtThermo::OriginMode QwtThermo::originMode() const
-{
-    return d_data->originMode;
-}
-
-/*!
-  \brief Specifies the custom origin.
-
-  If originMode is set to OriginCustom this property controls where the
-  liquid starts.
-
-  \param origin New origin level
-  \sa setOriginMode(), originMode(), origin()
- */
-void QwtThermo::setOrigin( double origin )
-{
-    if ( origin == d_data->origin )
-        return;
-
-    d_data->origin = origin;
-    update();
-}
-
-/*!
-  \return Origin of the thermo, when OriginCustom is enabled
-  \sa setOrigin(), setOriginMode(), originMode()
- */
-double QwtThermo::origin() const
-{
-    return d_data->origin;
-}
-
-/*!
-  \brief Change the position of the scale
-  \param scalePosition Position of the scale.
-
-  \sa ScalePosition, scalePosition()
-*/
-void QwtThermo::setScalePosition( ScalePosition scalePosition )
-{
-    if ( d_data->scalePosition == scalePosition )
-        return;
-
-    d_data->scalePosition = scalePosition;
-
-    if ( testAttribute( Qt::WA_WState_Polished ) )
-        layoutThermo( true );
-}
-
-/*!
-   \return Scale position.
-   \sa setScalePosition()
-*/
-QwtThermo::ScalePosition QwtThermo::scalePosition() const
-{
-    return d_data->scalePosition;
-}
-
-//! Notify a scale change.
-void QwtThermo::scaleChange()
-{
-    layoutThermo( true );
-}
-
-/*!
-   Redraw the liquid in thermometer pipe.
-   \param painter Painter
-   \param pipeRect Bounding rectangle of the pipe without borders
-*/
-void QwtThermo::drawLiquid( 
-    QPainter *painter, const QRect &pipeRect ) const
-{
-    painter->save();
-    painter->setClipRect( pipeRect, Qt::IntersectClip );
-    painter->setPen( Qt::NoPen );
-
-    const QwtScaleMap scaleMap = scaleDraw()->scaleMap();
-
-    QRect liquidRect = fillRect( pipeRect );
-
-    if ( d_data->colorMap != NULL )
-    {
-        const QwtInterval interval = scaleDiv().interval().normalized();
-
-        // Because the positions of the ticks are rounded
-        // we calculate the colors for the rounded tick values
-
-        QVector<double> values = qwtTickList( scaleDraw()->scaleDiv() );
-
-        if ( scaleMap.isInverting() )
-            qSort( values.begin(), values.end(), qGreater<double>() );
-        else
-            qSort( values.begin(), values.end(), qLess<double>() );
-
-        int from;
-        if ( !values.isEmpty() )
-        {
-            from = qRound( scaleMap.transform( values[0] ) );
-            qwtDrawLine( painter, from,
-                d_data->colorMap->color( interval, values[0] ),
-                pipeRect, liquidRect, d_data->orientation );
-        }
-
-        for ( int i = 1; i < values.size(); i++ )
-        {
-            const int to = qRound( scaleMap.transform( values[i] ) );
-
-            for ( int pos = from + 1; pos < to; pos++ )
-            {
-                const double v = scaleMap.invTransform( pos );
-
-                qwtDrawLine( painter, pos, 
-                    d_data->colorMap->color( interval, v ),
-                    pipeRect, liquidRect, d_data->orientation );
-            }
-
-            qwtDrawLine( painter, to,
-                d_data->colorMap->color( interval, values[i] ),
-                pipeRect, liquidRect, d_data->orientation );
-
-            from = to;
-        }
-    }
-    else
-    {
-        if ( !liquidRect.isEmpty() && d_data->alarmEnabled )
-        {
-            const QRect r = alarmRect( liquidRect );
-            if ( !r.isEmpty() )
-            {
-                painter->fillRect( r, palette().brush( QPalette::Highlight ) );
-                liquidRect = QRegion( liquidRect ).subtracted( r ).boundingRect();
-            }
-        }
-
-        painter->fillRect( liquidRect, palette().brush( QPalette::ButtonText ) );
-    }
-
-    painter->restore();
-}
-
-/*!
-  \brief Change the spacing between pipe and scale
-
-  A spacing of 0 means, that the backbone of the scale is below
-  the pipe.
-
-  The default setting is 3 pixels.
-
-  \param spacing Number of pixels
-  \sa spacing();
-*/
-void QwtThermo::setSpacing( int spacing )
-{
-    if ( spacing <= 0 )
-        spacing = 0;
-
-    if ( spacing != d_data->spacing  )
-    {
-        d_data->spacing = spacing;
-        layoutThermo( true );
-    }
-}
-
-/*!
-  \return Number of pixels between pipe and scale
-  \sa setSpacing()
-*/
-int QwtThermo::spacing() const
-{
-    return d_data->spacing;
-}
-
-/*!
-   Set the border width of the pipe.
-   \param width Border width
-   \sa borderWidth()
-*/
-void QwtThermo::setBorderWidth( int width )
-{
-    if ( width <= 0 )
-        width = 0;
-
-    if ( width != d_data->borderWidth  )
-    {
-        d_data->borderWidth = width;
-        layoutThermo( true );
-    }
-}
-
-/*!
-   \return Border width of the thermometer pipe.
-   \sa setBorderWidth()
-*/
-int QwtThermo::borderWidth() const
-{
-    return d_data->borderWidth;
-}
-
-/*!
-  \brief Assign a color map for the fill color
-
-  \param colorMap Color map
-  \warning The alarm threshold has no effect, when
-           a color map has been assigned
-*/
-void QwtThermo::setColorMap( QwtColorMap *colorMap )
-{
-    if ( colorMap != d_data->colorMap )
-    {
-        delete d_data->colorMap;
-        d_data->colorMap = colorMap;
-    }
-}
-
-/*!
-  \return Color map for the fill color
-  \warning The alarm threshold has no effect, when
-           a color map has been assigned
-*/
-QwtColorMap *QwtThermo::colorMap()
-{
-    return d_data->colorMap;
-}
-
-/*!
-  \return Color map for the fill color
-  \warning The alarm threshold has no effect, when
-           a color map has been assigned
-*/
-const QwtColorMap *QwtThermo::colorMap() const
-{
-    return d_data->colorMap;
-}
-
-/*!
-  \brief Change the brush of the liquid.
- 
-  Changes the QPalette::ButtonText brush of the palette.
-
-  \param brush New brush. 
-  \sa fillBrush(), QWidget::setPalette()
-*/
-void QwtThermo::setFillBrush( const QBrush& brush )
-{
-    QPalette pal = palette();
-    pal.setBrush( QPalette::ButtonText, brush );
-    setPalette( pal );
-}
-
-/*!
-  \return Liquid ( QPalette::ButtonText ) brush. 
-  \sa setFillBrush(), QWidget::palette()
-*/
-QBrush QwtThermo::fillBrush() const
-{
-    return palette().brush( QPalette::ButtonText );
-}
-
-/*!
-  \brief Specify the liquid brush above the alarm threshold
-
-  Changes the QPalette::Highlight brush of the palette.
-
-  \param brush New brush. 
-  \sa alarmBrush(), QWidget::setPalette()
-
-  \warning The alarm threshold has no effect, when
-           a color map has been assigned
-*/
-void QwtThermo::setAlarmBrush( const QBrush& brush )
-{
-    QPalette pal = palette();
-    pal.setBrush( QPalette::Highlight, brush );
-    setPalette( pal );
-}
-
-/*!
-  \return Liquid brush ( QPalette::Highlight ) above the alarm threshold.
-  \sa setAlarmBrush(), QWidget::palette()
-
-  \warning The alarm threshold has no effect, when
-           a color map has been assigned
-*/
-QBrush QwtThermo::alarmBrush() const
-{
-    return palette().brush( QPalette::Highlight );
-}
-
-/*!
-  Specify the alarm threshold.
-
-  \param level Alarm threshold
-  \sa alarmLevel()
-
-  \warning The alarm threshold has no effect, when
-           a color map has been assigned
-*/
-void QwtThermo::setAlarmLevel( double level )
-{
-    d_data->alarmLevel = level;
-    d_data->alarmEnabled = 1;
-    update();
-}
-
-/*!
-  \return Alarm threshold.
-  \sa setAlarmLevel()
-
-  \warning The alarm threshold has no effect, when
-           a color map has been assigned
-*/
-double QwtThermo::alarmLevel() const
-{
-    return d_data->alarmLevel;
-}
-
-/*!
-  Change the width of the pipe.
-
-  \param width Width of the pipe
-  \sa pipeWidth()
-*/
-void QwtThermo::setPipeWidth( int width )
-{
-    if ( width > 0 )
-    {
-        d_data->pipeWidth = width;
-        layoutThermo( true );
-    }
-}
-
-/*!
-  \return Width of the pipe.
-  \sa setPipeWidth()
-*/
-int QwtThermo::pipeWidth() const
-{
-    return d_data->pipeWidth;
-}
-
-/*!
-  \brief Enable or disable the alarm threshold
-  \param on true (disabled) or false (enabled)
-
-  \warning The alarm threshold has no effect, when
-           a color map has been assigned
-*/
-void QwtThermo::setAlarmEnabled( bool on )
-{
-    d_data->alarmEnabled = on;
-    update();
-}
-
-/*! 
-  \return True, when the alarm threshold is enabled.
-
-  \warning The alarm threshold has no effect, when
-           a color map has been assigned
-*/
-bool QwtThermo::alarmEnabled() const
-{
-    return d_data->alarmEnabled;
-}
-
-/*!
-  \return the minimum size hint
-  \sa minimumSizeHint()
-*/
-QSize QwtThermo::sizeHint() const
-{
-    return minimumSizeHint();
-}
-
-/*!
-  \return Minimum size hint
-  \warning The return value depends on the font and the scale.
-  \sa sizeHint()
-*/
-QSize QwtThermo::minimumSizeHint() const
-{
-    int w = 0, h = 0;
-
-    if ( d_data->scalePosition != NoScale )
-    {
-        const int sdExtent = qCeil( scaleDraw()->extent( font() ) );
-        const int sdLength = scaleDraw()->minLength( font() );
-
-        w = sdLength;
-        h = d_data->pipeWidth + sdExtent + d_data->spacing;
-
-    }
-    else // no scale
-    {
-        w = 200;
-        h = d_data->pipeWidth;
-    }
-
-    if ( d_data->orientation == Qt::Vertical )
-        qSwap( w, h );
-
-    w += 2 * d_data->borderWidth;
-    h += 2 * d_data->borderWidth;
-
-    // finally add the margins
-    int left, right, top, bottom;
-    getContentsMargins( &left, &top, &right, &bottom );
-    w += left + right;
-    h += top + bottom;
-
-    return QSize( w, h );
-}
-
-/*!
-  \brief Calculate the filled rectangle of the pipe
-
-  \param pipeRect Rectangle of the pipe
-  \return Rectangle to be filled ( fill and alarm brush )
-
-  \sa pipeRect(), alarmRect()
- */
-QRect QwtThermo::fillRect( const QRect &pipeRect ) const
-{
-    double origin;        
-    if ( d_data->originMode == OriginMinimum )
-    {
-        origin = qMin( lowerBound(), upperBound() );
-    }
-    else if ( d_data->originMode == OriginMaximum )
-    {
-        origin = qMax( lowerBound(), upperBound() );
-    }
-    else // OriginCustom
-    {
-        origin = d_data->origin;
-    }
-
-    const QwtScaleMap scaleMap = scaleDraw()->scaleMap();
-
-    int from = qRound( scaleMap.transform( d_data->value ) );
-    int to = qRound( scaleMap.transform( origin ) );
-
-    if ( to < from )
-        qSwap( from, to );
-    
-    QRect fillRect = pipeRect;
-    if ( d_data->orientation == Qt::Horizontal )
-    {
-        fillRect.setLeft( from );
-        fillRect.setRight( to );
-    }
-    else // Qt::Vertical
-    {
-        fillRect.setTop( from );
-        fillRect.setBottom( to );
-    }
-
-    return fillRect.normalized();
-}
-
-/*!
-  \brief Calculate the alarm rectangle of the pipe
-
-  \param fillRect Filled rectangle in the pipe
-  \return Rectangle to be filled with the alarm brush
-
-  \sa pipeRect(), fillRect(), alarmLevel(), alarmBrush()
- */
-QRect QwtThermo::alarmRect( const QRect &fillRect ) const
-{
-    QRect alarmRect( 0, 0, -1, -1); // something invalid
-
-    if ( !d_data->alarmEnabled )
-        return alarmRect;
-
-    const bool inverted = ( upperBound() < lowerBound() );
-    
-    bool increasing;
-    if ( d_data->originMode == OriginCustom )
-    {
-        increasing = d_data->value > d_data->origin;
-    }
-    else
-    {
-        increasing = d_data->originMode == OriginMinimum;
-    }
-
-    const QwtScaleMap map = scaleDraw()->scaleMap();
-    const int alarmPos = qRound( map.transform( d_data->alarmLevel ) );
-    const int valuePos = qRound( map.transform( d_data->value ) );
-    
-    if ( d_data->orientation == Qt::Horizontal )
-    {
-        int v1, v2;
-        if ( inverted )
-        {
-            v1 = fillRect.left();
-
-            v2 = alarmPos - 1;
-            v2 = qMin( v2, increasing ? fillRect.right() : valuePos );
-        }
-        else
-        {
-            v1 = alarmPos + 1;
-            v1 = qMax( v1, increasing ? fillRect.left() : valuePos );
-
-            v2 = fillRect.right();
-
-        }
-        alarmRect.setRect( v1, fillRect.top(), v2 - v1 + 1, fillRect.height() );
-    }
-    else
-    {
-        int v1, v2;
-        if ( inverted )
-        {
-            v1 = alarmPos + 1;
-            v1 = qMax( v1, increasing ? fillRect.top() : valuePos );
-
-            v2 = fillRect.bottom();
-        }
-        else
-        {
-            v1 = fillRect.top();
-
-            v2 = alarmPos - 1;
-            v2 = qMin( v2, increasing ? fillRect.bottom() : valuePos );
-        }
-        alarmRect.setRect( fillRect.left(), v1, fillRect.width(), v2 - v1 + 1 );
-    }
-
-    return alarmRect;
-} 
diff --git a/SRC/Qwt/src/qwt_thermo.h b/SRC/Qwt/src/qwt_thermo.h
deleted file mode 100644
index b92f520..0000000
--- a/SRC/Qwt/src/qwt_thermo.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_THERMO_H
-#define QWT_THERMO_H
-
-#include "qwt_global.h"
-#include "qwt_abstract_scale.h"
-#include "qwt_interval.h"
-
-class QwtScaleDraw;
-class QwtColorMap;
-
-/*!
-  \brief The Thermometer Widget
-
-  QwtThermo is a widget which displays a value in an interval. It supports:
-  - a horizontal or vertical layout;
-  - a range;
-  - a scale;
-  - an alarm level.
-
-  \image html sysinfo.png
-
-  The fill colors might be calculated from an optional color map
-  If no color map has been assigned QwtThermo uses the 
-  following colors/brushes from the widget palette:
-
-  - QPalette::Base
-    Background of the pipe
-  - QPalette::ButtonText
-    Fill brush below the alarm level
-  - QPalette::Highlight
-    Fill brush for the values above the alarm level
-  - QPalette::WindowText
-    For the axis of the scale
-  - QPalette::Text
-    For the labels of the scale
-*/
-class QWT_EXPORT QwtThermo: public QwtAbstractScale
-{
-    Q_OBJECT
-
-    Q_ENUMS( ScalePosition )
-    Q_ENUMS( OriginMode )
-
-    Q_PROPERTY( Qt::Orientation orientation
-        READ orientation WRITE setOrientation )
-    Q_PROPERTY( ScalePosition scalePosition 
-        READ scalePosition WRITE setScalePosition )
-    Q_PROPERTY( OriginMode originMode READ originMode WRITE setOriginMode )
-
-    Q_PROPERTY( bool alarmEnabled READ alarmEnabled WRITE setAlarmEnabled )
-    Q_PROPERTY( double alarmLevel READ alarmLevel WRITE setAlarmLevel )
-    Q_PROPERTY( double origin READ origin WRITE setOrigin )
-    Q_PROPERTY( int spacing READ spacing WRITE setSpacing )
-    Q_PROPERTY( int borderWidth READ borderWidth WRITE setBorderWidth )
-    Q_PROPERTY( int pipeWidth READ pipeWidth WRITE setPipeWidth )
-    Q_PROPERTY( double value READ value WRITE setValue )
-
-public:
-
-    /*!
-      Position of the scale
-      \sa setScalePosition(), setOrientation()
-     */
-    enum ScalePosition
-    {
-        //! The slider has no scale
-        NoScale,
-
-        //! The scale is right of a vertical or below of a horizontal slider
-        LeadingScale,
-
-        //! The scale is left of a vertical or above of a horizontal slider
-        TrailingScale
-    };
-
-    /*!
-      Origin mode. This property specifies where the beginning of the liquid
-      is placed.
-
-      \sa setOriginMode(), setOrigin()
-    */
-    enum OriginMode
-    {
-        //! The origin is the minimum of the scale
-        OriginMinimum,
-
-        //! The origin is the maximum of the scale
-        OriginMaximum,
-
-        //! The origin is specified using the origin() property
-        OriginCustom
-    };
-
-    explicit QwtThermo( QWidget *parent = NULL );
-    virtual ~QwtThermo();
-
-    void setOrientation( Qt::Orientation );
-    Qt::Orientation orientation() const;
-
-    void setScalePosition( ScalePosition );
-    ScalePosition scalePosition() const;
-
-    void setSpacing( int );
-    int spacing() const;
-
-    void setBorderWidth( int w );
-    int borderWidth() const;
-
-    void setOriginMode( OriginMode );
-    OriginMode originMode() const;
-
-    void setOrigin( double );
-    double origin() const;
-
-    void setFillBrush( const QBrush &b );
-    QBrush fillBrush() const;
-
-    void setAlarmBrush( const QBrush &b );
-    QBrush alarmBrush() const;
-
-    void setAlarmLevel( double v );
-    double alarmLevel() const;
-
-    void setAlarmEnabled( bool tf );
-    bool alarmEnabled() const;
-
-    void setColorMap( QwtColorMap * );
-    QwtColorMap *colorMap();
-    const QwtColorMap *colorMap() const;
-
-    void setPipeWidth( int w );
-    int pipeWidth() const;
-
-    void setRangeFlags( QwtInterval::BorderFlags );
-    QwtInterval::BorderFlags rangeFlags() const;
-
-    double value() const;
-
-    virtual QSize sizeHint() const;
-    virtual QSize minimumSizeHint() const;
-
-    void setScaleDraw( QwtScaleDraw * );
-    const QwtScaleDraw *scaleDraw() const;
-
-public Q_SLOTS:
-    virtual void setValue( double val );
-
-protected:
-    virtual void drawLiquid( QPainter *, const QRect & ) const;
-    virtual void scaleChange();
-
-    virtual void paintEvent( QPaintEvent * );
-    virtual void resizeEvent( QResizeEvent * );
-    virtual void changeEvent( QEvent * );
-
-    QwtScaleDraw *scaleDraw();
-
-    QRect pipeRect() const;
-    QRect fillRect( const QRect & ) const;
-    QRect alarmRect( const QRect & ) const;
-
-private:
-    void layoutThermo( bool );
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_transform.cpp b/SRC/Qwt/src/qwt_transform.cpp
deleted file mode 100644
index 7a96527..0000000
--- a/SRC/Qwt/src/qwt_transform.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_transform.h"
-#include "qwt_math.h"
-
-#if QT_VERSION < 0x040601
-#define qExp(x) ::exp(x)
-#endif
-
-#if QT_VERSION >= 0x050400
-
-//! Smallest allowed value for logarithmic scales: 1.0e-150
-const double QwtLogTransform::LogMin = 1.0e-150;
-    
-//! Largest allowed value for logarithmic scales: 1.0e150
-const double QwtLogTransform::LogMax = 1.0e150;
-
-#else
-
-//! Smallest allowed value for logarithmic scales: 1.0e-150
-QT_STATIC_CONST_IMPL double QwtLogTransform::LogMin = 1.0e-150;
-
-//! Largest allowed value for logarithmic scales: 1.0e150
-QT_STATIC_CONST_IMPL double QwtLogTransform::LogMax = 1.0e150;
-
-#endif
-
-//! Constructor
-QwtTransform::QwtTransform()
-{
-}
-
-//! Destructor
-QwtTransform::~QwtTransform()
-{
-}
-
-/*! 
-  \param value Value to be bounded
-  \return value unmodified
- */
-double QwtTransform::bounded( double value ) const
-{
-    return value;
-}
-
-//! Constructor
-QwtNullTransform::QwtNullTransform():
-    QwtTransform()
-{
-}
-
-//! Destructor
-QwtNullTransform::~QwtNullTransform()
-{
-}
-
-/*! 
-  \param value Value to be transformed
-  \return value unmodified
- */
-double QwtNullTransform::transform( double value ) const
-{
-    return value;
-}
-
-/*! 
-  \param value Value to be transformed
-  \return value unmodified
- */
-double QwtNullTransform::invTransform( double value ) const
-{
-    return value;
-}
-
-//! \return Clone of the transformation
-QwtTransform *QwtNullTransform::copy() const
-{
-    return new QwtNullTransform();
-}
-
-//! Constructor
-QwtLogTransform::QwtLogTransform():
-    QwtTransform()
-{
-}
-
-//! Destructor
-QwtLogTransform::~QwtLogTransform()
-{
-}
-
-/*! 
-  \param value Value to be transformed
-  \return log( value )
- */
-double QwtLogTransform::transform( double value ) const
-{
-    return ::log( value );
-}
-
-/*! 
-  \param value Value to be transformed
-  \return exp( value )
- */
-double QwtLogTransform::invTransform( double value ) const
-{
-    return qExp( value );
-}
-
-/*! 
-  \param value Value to be bounded
-  \return qBound( LogMin, value, LogMax )
- */
-double QwtLogTransform::bounded( double value ) const
-{
-    return qBound( LogMin, value, LogMax );
-}
-
-//! \return Clone of the transformation
-QwtTransform *QwtLogTransform::copy() const
-{
-    return new QwtLogTransform();
-}
-
-/*!
-  Constructor
-  \param exponent Exponent
-*/
-QwtPowerTransform::QwtPowerTransform( double exponent ):
-    QwtTransform(),
-    d_exponent( exponent )
-{
-}
-
-//! Destructor
-QwtPowerTransform::~QwtPowerTransform()
-{
-}
-
-/*! 
-  \param value Value to be transformed
-  \return Exponentiation preserving the sign
- */
-double QwtPowerTransform::transform( double value ) const
-{
-    if ( value < 0.0 )
-        return -qPow( -value, 1.0 / d_exponent );
-    else
-        return qPow( value, 1.0 / d_exponent );
-    
-}
-
-/*! 
-  \param value Value to be transformed
-  \return Inverse exponentiation preserving the sign
- */
-double QwtPowerTransform::invTransform( double value ) const
-{
-    if ( value < 0.0 )
-        return -qPow( -value, d_exponent );
-    else
-        return qPow( value, d_exponent );
-}
-
-//! \return Clone of the transformation
-QwtTransform *QwtPowerTransform::copy() const
-{
-    return new QwtPowerTransform( d_exponent );
-}
diff --git a/SRC/Qwt/src/qwt_transform.h b/SRC/Qwt/src/qwt_transform.h
deleted file mode 100644
index 3e4b0df..0000000
--- a/SRC/Qwt/src/qwt_transform.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_TRANSFORM_H
-#define QWT_TRANSFORM_H
-
-#include "qwt_global.h"
-
-/*!
-   \brief A transformation between coordinate systems
-
-   QwtTransform manipulates values, when being mapped between
-   the scale and the paint device coordinate system.
-
-   A transformation consists of 2 methods:
-
-   - transform
-   - invTransform
-
-   where one is is the inverse function of the other.
-
-   When p1, p2 are the boundaries of the paint device coordinates
-   and s1, s2 the boundaries of the scale, QwtScaleMap uses the
-   following calculations:
-
-   - p = p1 + ( p2 - p1 ) * ( T( s ) - T( s1 ) / ( T( s2 ) - T( s1 ) );
-   - s = invT ( T( s1 ) + ( T( s2 ) - T( s1 ) ) * ( p - p1 ) / ( p2 - p1 ) );
-*/
-class QWT_EXPORT QwtTransform
-{
-public:
-    QwtTransform();
-    virtual ~QwtTransform();
-
-    /*!
-       Modify value to be a valid value for the transformation.
-       The default implementation does nothing.
-     */
-    virtual double bounded( double value ) const;
-
-    /*!
-        Transformation function
-
-        \param value Value
-        \return Modified value
-
-        \sa invTransform()
-     */
-    virtual double transform( double value ) const = 0;
-
-    /*!
-        Inverse transformation function
-
-        \param value Value
-        \return Modified value
-
-        \sa transform()
-     */
-    virtual double invTransform( double value ) const = 0;
-
-    //! Virtualized copy operation
-    virtual QwtTransform *copy() const = 0;
-};
-
-/*!
-   \brief Null transformation
-
-   QwtNullTransform returns the values unmodified.
-   
- */
-class QWT_EXPORT QwtNullTransform: public QwtTransform
-{
-public:
-    QwtNullTransform();
-    virtual ~QwtNullTransform();
-
-    virtual double transform( double value ) const;
-    virtual double invTransform( double value ) const;
-
-    virtual QwtTransform *copy() const;
-};
-/*!
-   \brief Logarithmic transformation
-
-   QwtLogTransform modifies the values using log() and exp().
-
-   \note In the calculations of QwtScaleMap the base of the log function
-         has no effect on the mapping. So QwtLogTransform can be used 
-         for log2(), log10() or any other logarithmic scale.
- */
-class QWT_EXPORT QwtLogTransform: public QwtTransform
-{   
-public:
-    QwtLogTransform();
-    virtual ~QwtLogTransform();
-    
-    virtual double transform( double value ) const;
-    virtual double invTransform( double value ) const;
-
-    virtual double bounded( double value ) const;
-
-    virtual QwtTransform *copy() const;
-
-#if QT_VERSION >= 0x050400
-    static const double LogMin;
-    static const double LogMax;
-#else
-    QT_STATIC_CONST double LogMin;
-    QT_STATIC_CONST double LogMax;
-#endif
-};
-
-/*!
-   \brief A transformation using pow()
-
-   QwtPowerTransform preserves the sign of a value. 
-   F.e. a transformation with a factor of 2
-   transforms a value of -3 to -9 and v.v. Thus QwtPowerTransform
-   can be used for scales including negative values.
- */
-class QWT_EXPORT QwtPowerTransform: public QwtTransform
-{
-public:
-    QwtPowerTransform( double exponent );
-    virtual ~QwtPowerTransform();
-
-    virtual double transform( double value ) const;
-    virtual double invTransform( double value ) const;
-
-    virtual QwtTransform *copy() const;
-
-private:
-    const double d_exponent;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_wheel.cpp b/SRC/Qwt/src/qwt_wheel.cpp
deleted file mode 100644
index d977782..0000000
--- a/SRC/Qwt/src/qwt_wheel.cpp
+++ /dev/null
@@ -1,1299 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_wheel.h"
-#include "qwt_math.h"
-#include "qwt_painter.h"
-#include <qevent.h>
-#include <qdrawutil.h>
-#include <qpainter.h>
-#include <qstyle.h>
-#include <qstyleoption.h>
-#include <qapplication.h>
-#include <qdatetime.h>
-
-#if QT_VERSION < 0x040601
-#define qFabs(x) ::fabs(x)
-#define qFastSin(x) ::sin(x)
-#define qExp(x) ::exp(x)
-#endif
-
-class QwtWheel::PrivateData
-{
-public:
-    PrivateData():
-        orientation( Qt::Horizontal ),
-        viewAngle( 175.0 ),
-        totalAngle( 360.0 ),
-        tickCount( 10 ),
-        wheelBorderWidth( 2 ),
-        borderWidth( 2 ),
-        wheelWidth( 20 ),
-        isScrolling( false ),
-        mouseOffset( 0.0 ),
-        tracking( true ),
-        pendingValueChanged( false ),
-        updateInterval( 50 ),
-        mass( 0.0 ),
-        timerId( 0 ),
-        speed( 0.0 ),
-        mouseValue( 0.0 ),
-        flyingValue( 0.0 ),
-        minimum( 0.0 ),
-        maximum( 100.0 ),
-        singleStep( 1.0 ),
-        pageStepCount( 1 ),
-        stepAlignment( true ),
-        value( 0.0 ),
-        inverted( false ),
-        wrapping( false )
-    {
-    };
-
-    Qt::Orientation orientation;
-    double viewAngle;
-    double totalAngle;
-    int tickCount;
-    int wheelBorderWidth;
-    int borderWidth;
-    int wheelWidth;
-
-    bool isScrolling;
-    double mouseOffset;
-
-    bool tracking;
-    bool pendingValueChanged; // when not tracking
-
-    int updateInterval;
-    double mass;
-
-    // for the flying wheel effect
-    int timerId;
-    QTime time;
-    double speed;
-    double mouseValue;
-    double flyingValue;
-
-    double minimum;
-    double maximum;
-
-    double singleStep;
-    int pageStepCount;
-    bool stepAlignment;
-
-    double value;
-
-    bool inverted;
-    bool wrapping;
-};
-
-//! Constructor
-QwtWheel::QwtWheel( QWidget *parent ):
-    QWidget( parent )
-{
-    d_data = new PrivateData;
-
-    setFocusPolicy( Qt::StrongFocus );
-    setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed );
-    setAttribute( Qt::WA_WState_OwnSizePolicy, false );
-}
-
-//! Destructor
-QwtWheel::~QwtWheel()
-{
-    delete d_data;
-}
-
-/*!
-  \brief En/Disable tracking
-
-  If tracking is enabled (the default), the wheel emits the valueChanged() 
-  signal while the wheel is moving. If tracking is disabled, the wheel 
-  emits the valueChanged() signal only when the wheel movement is terminated.
-
-  The wheelMoved() signal is emitted regardless id tracking is enabled or not.
-
-  \param enable On/Off
-  \sa isTracking()
- */
-void QwtWheel::setTracking( bool enable )
-{
-    d_data->tracking = enable;
-}
-
-/*!
-  \return True, when tracking is enabled
-  \sa setTracking(), valueChanged(), wheelMoved()
-*/
-bool QwtWheel::isTracking() const
-{
-    return d_data->tracking;
-}
-
-/*!
-  \brief Specify the update interval when the wheel is flying
-
-  Default and minimum value is 50 ms.
-
-  \param interval Interval in milliseconds
-  \sa updateInterval(), setMass(), setTracking()
-*/
-void QwtWheel::setUpdateInterval( int interval )
-{
-    d_data->updateInterval = qMax( interval, 50 );
-}
-
-/*!
-  \return Update interval when the wheel is flying
-  \sa setUpdateInterval(), mass(), isTracking()
- */
-int QwtWheel::updateInterval() const
-{
-    return d_data->updateInterval;
-}
-
-/*!
-   \brief Mouse press event handler
-
-   Start movement of the wheel. 
-
-   \param event Mouse event
-*/
-void QwtWheel::mousePressEvent( QMouseEvent *event )
-{
-    stopFlying();
-
-    d_data->isScrolling = wheelRect().contains( event->pos() );
-
-    if ( d_data->isScrolling )
-    {
-        d_data->time.start();
-        d_data->speed = 0.0;
-        d_data->mouseValue = valueAt( event->pos() );
-        d_data->mouseOffset = d_data->mouseValue - d_data->value;
-        d_data->pendingValueChanged = false;
-
-        Q_EMIT wheelPressed();
-    }
-}
-
-/*!
-   \brief Mouse Move Event handler
-
-   Turn the wheel according to the mouse position
-
-   \param event Mouse event
-*/
-void QwtWheel::mouseMoveEvent( QMouseEvent *event )
-{
-    if ( !d_data->isScrolling )
-        return;
-
-    double mouseValue = valueAt( event->pos() );
-
-    if ( d_data->mass > 0.0 )
-    {
-        double ms = d_data->time.restart();
-
-        // the interval when mouse move events are posted are somehow
-        // random. To avoid unrealistic speed values we limit ms
-
-        ms = qMax( ms, 5.0 );
-
-        d_data->speed = ( mouseValue - d_data->mouseValue ) / ms;
-    }
-    
-    d_data->mouseValue = mouseValue; 
-
-    double value = boundedValue( mouseValue - d_data->mouseOffset );
-    if ( d_data->stepAlignment )
-        value = alignedValue( value );
-        
-    if ( value != d_data->value )
-    {
-        d_data->value = value;
-
-        update();
-
-        Q_EMIT wheelMoved( d_data->value );
-
-        if ( d_data->tracking )
-            Q_EMIT valueChanged( d_data->value );
-        else
-            d_data->pendingValueChanged = true;
-    }
-}
-
-/*!
-   \brief Mouse Release Event handler
-
-   When the wheel has no mass the movement of the wheel stops, otherwise
-   it starts flying.
-
-   \param event Mouse event
-*/  
-
-void QwtWheel::mouseReleaseEvent( QMouseEvent *event )
-{
-    Q_UNUSED( event );
-
-    if ( !d_data->isScrolling )
-        return;
-
-    d_data->isScrolling = false;
-
-    bool startFlying = false;
-
-    if ( d_data->mass > 0.0 )
-    {
-        const int ms = d_data->time.elapsed();
-        if ( ( qFabs( d_data->speed ) > 0.0 ) && ( ms < 50 ) )
-            startFlying = true;
-    }
-
-    if ( startFlying )
-    {
-        d_data->flyingValue = 
-            boundedValue( d_data->mouseValue - d_data->mouseOffset );
-
-        d_data->timerId = startTimer( d_data->updateInterval );
-    }
-    else
-    {
-        if ( d_data->pendingValueChanged )
-            Q_EMIT valueChanged( d_data->value );
-    }
-
-    d_data->pendingValueChanged = false;
-    d_data->mouseOffset = 0.0;
-
-    Q_EMIT wheelReleased();
-}
-
-/*!
-  \brief Qt timer event
-
-  The flying wheel effect is implemented using a timer
-   
-  \param event Timer event
-
-  \sa updateInterval()
- */
-void QwtWheel::timerEvent( QTimerEvent *event )
-{
-    if ( event->timerId() != d_data->timerId )
-    {
-        QWidget::timerEvent( event );
-        return;
-    }
-
-    d_data->speed *= qExp( -d_data->updateInterval * 0.001 / d_data->mass );
-
-    d_data->flyingValue += d_data->speed * d_data->updateInterval;
-    d_data->flyingValue = boundedValue( d_data->flyingValue );
-
-    double value = d_data->flyingValue;
-    if ( d_data->stepAlignment )
-        value = alignedValue( value );
-
-    if ( qFabs( d_data->speed ) < 0.001 * d_data->singleStep )
-    {
-        // stop if d_data->speed < one step per second
-        stopFlying();
-    }
-
-    if ( value != d_data->value )
-    {
-        d_data->value = value;
-        update();
-
-        if ( d_data->tracking || d_data->timerId == 0 )
-            Q_EMIT valueChanged( d_data->value );
-    }
-}
-
-
-/*!
-  \brief Handle wheel events
-
-  In/Decrement the value 
-
-  \param event Wheel event
-*/
-void QwtWheel::wheelEvent( QWheelEvent *event )
-{
-    if ( !wheelRect().contains( event->pos() ) )
-    {
-        event->ignore();
-        return;
-    }
-
-    if ( d_data->isScrolling )
-        return;
-
-    stopFlying();
-
-    double increment = 0.0;
-
-    if ( ( event->modifiers() & Qt::ControlModifier) || 
-        ( event->modifiers() & Qt::ShiftModifier ) )
-    {
-        // one page regardless of delta
-        increment = d_data->singleStep * d_data->pageStepCount;
-        if ( event->delta() < 0 )
-            increment = -increment;
-    }
-    else
-    {
-        const int numSteps = event->delta() / 120;
-        increment = d_data->singleStep * numSteps;
-    }
-
-    if ( d_data->orientation == Qt::Vertical && d_data->inverted )
-        increment = -increment;
-
-    double value = boundedValue( d_data->value + increment );
-
-    if ( d_data->stepAlignment )
-        value = alignedValue( value );
-
-    if ( value != d_data->value )
-    {
-        d_data->value = value;
-        update();
-
-        Q_EMIT valueChanged( d_data->value );
-        Q_EMIT wheelMoved( d_data->value );
-    }
-}
-
-/*!
-  Handle key events
-
-  - Qt::Key_Home\n
-    Step to minimum()
-
-  - Qt::Key_End\n
-    Step to maximum()
-
-  - Qt::Key_Up\n
-    In case of a horizontal or not inverted vertical wheel the value 
-    will be incremented by the step size. For an inverted vertical wheel
-    the value will be decremented by the step size.
-
-  - Qt::Key_Down\n
-    In case of a horizontal or not inverted vertical wheel the value 
-    will be decremented by the step size. For an inverted vertical wheel
-    the value will be incremented by the step size.
-
-  - Qt::Key_PageUp\n
-    The value will be incremented by pageStepSize() * singleStepSize().
-
-  - Qt::Key_PageDown\n
-    The value will be decremented by pageStepSize() * singleStepSize().
-
-  \param event Key event
-*/
-void QwtWheel::keyPressEvent( QKeyEvent *event )
-{
-    if ( d_data->isScrolling )
-    {
-        // don't interfere mouse scrolling
-        return;
-    }
-
-    double value = d_data->value;
-    double increment = 0.0;
-
-    switch ( event->key() )
-    {
-        case Qt::Key_Down:
-        {
-            if ( d_data->orientation == Qt::Vertical && d_data->inverted )
-                increment = d_data->singleStep;
-            else
-                increment = -d_data->singleStep;
-
-            break;
-        }
-        case Qt::Key_Up:
-        {
-            if ( d_data->orientation == Qt::Vertical && d_data->inverted )
-                increment = -d_data->singleStep;
-            else
-                increment = d_data->singleStep;
-
-            break;
-        }
-        case Qt::Key_Left:
-        {
-            if ( d_data->orientation == Qt::Horizontal )
-            {
-                if ( d_data->inverted )
-                    increment = d_data->singleStep;
-                else
-                    increment = -d_data->singleStep;
-            }
-            break;
-        }
-        case Qt::Key_Right:
-        {
-            if ( d_data->orientation == Qt::Horizontal )
-            {
-                if ( d_data->inverted )
-                    increment = -d_data->singleStep;
-                else
-                    increment = d_data->singleStep;
-            }
-            break;
-        }
-        case Qt::Key_PageUp:
-        {
-            increment = d_data->pageStepCount * d_data->singleStep;
-            break;
-        }
-        case Qt::Key_PageDown:
-        {
-            increment = -d_data->pageStepCount * d_data->singleStep;
-            break;
-        }
-        case Qt::Key_Home:
-        {
-            value = d_data->minimum;
-            break;
-        }
-        case Qt::Key_End:
-        {
-            value = d_data->maximum;
-            break;
-        }
-        default:;
-        {
-            event->ignore();
-        }
-    }
-
-    if ( event->isAccepted() )
-        stopFlying();
-    
-    if ( increment != 0.0 )
-    {
-        value = boundedValue( d_data->value + increment );
-
-        if ( d_data->stepAlignment )
-            value = alignedValue( value );
-    }
-
-    if ( value != d_data->value )
-    {
-        d_data->value = value;
-        update();
-
-        Q_EMIT valueChanged( d_data->value );
-        Q_EMIT wheelMoved( d_data->value );
-    }
-}
-
-/*!
-  \brief Adjust the number of grooves in the wheel's surface.
-
-  The number of grooves is limited to 6 <= count <= 50.
-  Values outside this range will be clipped.
-  The default value is 10.
-
-  \param count Number of grooves per 360 degrees
-  \sa tickCount()
-*/
-void QwtWheel::setTickCount( int count )
-{
-    count = qBound( 6, count, 50 );
-
-    if ( count != d_data->tickCount )
-    {
-        d_data->tickCount = qBound( 6, count, 50 );
-        update();
-    }
-}
-
-/*!
-  \return Number of grooves in the wheel's surface.
-  \sa setTickCnt()
-*/
-int QwtWheel::tickCount() const
-{
-    return d_data->tickCount;
-}
-
-/*!
-  \brief Set the wheel border width of the wheel.
-
-  The wheel border must not be smaller than 1
-  and is limited in dependence on the wheel's size.
-  Values outside the allowed range will be clipped.
-
-  The wheel border defaults to 2.
-
-  \param borderWidth Border width
-  \sa internalBorder()
-*/
-void QwtWheel::setWheelBorderWidth( int borderWidth )
-{
-    const int d = qMin( width(), height() ) / 3;
-    borderWidth = qMin( borderWidth, d );
-    d_data->wheelBorderWidth = qMax( borderWidth, 1 );
-    update();
-}
-
-/*!
-   \return Wheel border width 
-   \sa setWheelBorderWidth()
-*/
-int QwtWheel::wheelBorderWidth() const
-{
-    return d_data->wheelBorderWidth;
-}
-
-/*!
-  \brief Set the border width 
-
-  The border defaults to 2.
-
-  \param width Border width
-  \sa borderWidth()
-*/
-void QwtWheel::setBorderWidth( int width )
-{
-    d_data->borderWidth = qMax( width, 0 );
-    update();
-}
-
-/*!
-   \return Border width 
-   \sa setBorderWidth()
-*/
-int QwtWheel::borderWidth() const
-{
-    return d_data->borderWidth;
-}
-
-/*!
-   \return Rectangle of the wheel without the outer border
-*/
-QRect QwtWheel::wheelRect() const
-{
-    const int bw = d_data->borderWidth;
-    return contentsRect().adjusted( bw, bw, -bw, -bw );
-}
-
-/*!
-  \brief Set the total angle which the wheel can be turned.
-
-  One full turn of the wheel corresponds to an angle of
-  360 degrees. A total angle of n*360 degrees means
-  that the wheel has to be turned n times around its axis
-  to get from the minimum value to the maximum value.
-
-  The default setting of the total angle is 360 degrees.
-
-  \param angle total angle in degrees
-  \sa totalAngle()
-*/
-void QwtWheel::setTotalAngle( double angle )
-{
-    if ( angle < 0.0 )
-        angle = 0.0;
-
-    d_data->totalAngle = angle;
-    update();
-}
-
-/*!
-  \return Total angle which the wheel can be turned.
-  \sa setTotalAngle()
-*/
-double QwtWheel::totalAngle() const
-{
-    return d_data->totalAngle;
-}
-
-/*!
-  \brief Set the wheel's orientation.
-
-  The default orientation is Qt::Horizontal.
-
-  \param orientation Qt::Horizontal or Qt::Vertical.
-  \sa orientation()
-*/
-void QwtWheel::setOrientation( Qt::Orientation orientation )
-{
-    if ( d_data->orientation == orientation )
-        return;
-
-    if ( !testAttribute( Qt::WA_WState_OwnSizePolicy ) )
-    {
-        QSizePolicy sp = sizePolicy();
-        sp.transpose();
-        setSizePolicy( sp );
-
-        setAttribute( Qt::WA_WState_OwnSizePolicy, false );
-    }
-
-    d_data->orientation = orientation;
-    update();
-}
-
-/*!
-  \return Orientation
-  \sa setOrientation()
-*/
-Qt::Orientation QwtWheel::orientation() const
-{
-    return d_data->orientation;
-}
-
-/*!
-  \brief Specify the visible portion of the wheel.
-
-  You may use this function for fine-tuning the appearance of
-  the wheel. The default value is 175 degrees. The value is
-  limited from 10 to 175 degrees.
-
-  \param angle Visible angle in degrees
-  \sa viewAngle(), setTotalAngle()
-*/
-void QwtWheel::setViewAngle( double angle )
-{
-    d_data->viewAngle = qBound( 10.0, angle, 175.0 );
-    update();
-}
-
-/*!
-  \return Visible portion of the wheel
-  \sa setViewAngle(), totalAngle()
-*/
-double QwtWheel::viewAngle() const
-{
-    return d_data->viewAngle;
-}
-
-/*! 
-  Determine the value corresponding to a specified point
-
-  \param pos Position
-  \return Value corresponding to pos
-*/
-double QwtWheel::valueAt( const QPoint &pos ) const
-{
-    const QRectF rect = wheelRect();
-
-    double w, dx;
-    if ( d_data->orientation == Qt::Vertical )
-    {
-        w = rect.height();
-        dx = rect.top() - pos.y();
-    }
-    else
-    {
-        w = rect.width();
-        dx = pos.x() - rect.left();
-    }
-
-    if ( w == 0.0 )
-        return 0.0;
-
-    if ( d_data->inverted )
-    {
-        dx = w - dx;
-    }
-
-    // w pixels is an arc of viewAngle degrees,
-    // so we convert change in pixels to change in angle
-    const double ang = dx * d_data->viewAngle / w;
-
-    // value range maps to totalAngle degrees,
-    // so convert the change in angle to a change in value
-    const double val = ang * ( maximum() - minimum() ) / d_data->totalAngle;
-
-    return val;
-}
-
-/*! 
-   \brief Qt Paint Event
-   \param event Paint event
-*/
-void QwtWheel::paintEvent( QPaintEvent *event )
-{
-    QPainter painter( this );
-    painter.setClipRegion( event->region() );
-
-    QStyleOption opt;
-    opt.init(this);
-    style()->drawPrimitive(QStyle::PE_Widget, &opt, &painter, this);
-
-    qDrawShadePanel( &painter, 
-        contentsRect(), palette(), true, d_data->borderWidth );
-
-    drawWheelBackground( &painter, wheelRect() );
-    drawTicks( &painter, wheelRect() );
-
-    if ( hasFocus() )
-        QwtPainter::drawFocusRect( &painter, this );
-}
-
-/*!
-   Draw the Wheel's background gradient
-
-   \param painter Painter
-   \param rect Geometry for the wheel
-*/
-void QwtWheel::drawWheelBackground( 
-    QPainter *painter, const QRectF &rect )
-{
-    painter->save();
-
-    QPalette pal = palette();
-
-    //  draw shaded background
-    QLinearGradient gradient( rect.topLeft(), 
-        ( d_data->orientation == Qt::Horizontal ) ? rect.topRight() : rect.bottomLeft() );
-    gradient.setColorAt( 0.0, pal.color( QPalette::Button ) );
-    gradient.setColorAt( 0.2, pal.color( QPalette::Midlight ) );
-    gradient.setColorAt( 0.7, pal.color( QPalette::Mid ) );
-    gradient.setColorAt( 1.0, pal.color( QPalette::Dark ) );
-
-    painter->fillRect( rect, gradient );
-
-    // draw internal border
-
-    const QPen lightPen( palette().color( QPalette::Light ), 
-        d_data->wheelBorderWidth, Qt::SolidLine, Qt::FlatCap );
-    const QPen darkPen( pal.color( QPalette::Dark ), 
-        d_data->wheelBorderWidth, Qt::SolidLine, Qt::FlatCap );
-
-    const double bw2 = 0.5 * d_data->wheelBorderWidth;
-
-    if ( d_data->orientation == Qt::Horizontal )
-    {
-        painter->setPen( lightPen );
-        painter->drawLine( QPointF( rect.left(), rect.top() + bw2 ), 
-            QPointF( rect.right(), rect.top() + bw2 ) );
-
-        painter->setPen( darkPen );
-        painter->drawLine( QPointF( rect.left(), rect.bottom() - bw2 ), 
-            QPointF( rect.right(), rect.bottom() - bw2 ) );
-    }
-    else // Qt::Vertical
-    {
-        painter->setPen( lightPen );
-        painter->drawLine( QPointF( rect.left() + bw2, rect.top() ), 
-            QPointF( rect.left() + bw2, rect.bottom() ) );
-
-        painter->setPen( darkPen );
-        painter->drawLine( QPointF( rect.right() - bw2, rect.top() ), 
-            QPointF( rect.right() - bw2, rect.bottom() ) );
-    }
-
-    painter->restore();
-}
-
-/*!
-   Draw the Wheel's ticks
-
-   \param painter Painter
-   \param rect Geometry for the wheel
-*/
-void QwtWheel::drawTicks( QPainter *painter, const QRectF &rect )
-{
-    const double range = d_data->maximum - d_data->minimum;
-
-    if ( range == 0.0 || d_data->totalAngle == 0.0 )
-    {
-        return;
-    }
-
-    const QPen lightPen( palette().color( QPalette::Light ), 
-        0, Qt::SolidLine, Qt::FlatCap );
-    const QPen darkPen( palette().color( QPalette::Dark ), 
-        0, Qt::SolidLine, Qt::FlatCap );
-
-    const double cnvFactor = qAbs( d_data->totalAngle / range );
-    const double halfIntv = 0.5 * d_data->viewAngle / cnvFactor;
-    const double loValue = value() - halfIntv;
-    const double hiValue = value() + halfIntv;
-    const double tickWidth = 360.0 / double( d_data->tickCount ) / cnvFactor;
-    const double sinArc = qFastSin( d_data->viewAngle * M_PI / 360.0 );
-
-    if ( d_data->orientation == Qt::Horizontal )
-    {
-        const double radius = rect.width() * 0.5;
-
-        double l1 = rect.top() + d_data->wheelBorderWidth;
-        double l2 = rect.bottom() - d_data->wheelBorderWidth - 1;
-
-        // draw one point over the border if border > 1
-        if ( d_data->wheelBorderWidth > 1 )
-        {
-            l1--;
-            l2++;
-        }
-
-        const double maxpos = rect.right() - 2;
-        const double minpos = rect.left() + 2;
-
-        // draw tick marks
-        for ( double tickValue = ::ceil( loValue / tickWidth ) * tickWidth;
-            tickValue < hiValue; tickValue += tickWidth )
-        {
-            const double angle = qwtRadians( tickValue - value() );
-            const double s = qFastSin( angle * cnvFactor );
-
-            const double off = radius * ( sinArc + s ) / sinArc;
-
-            double tickPos;
-            if ( d_data->inverted ) 
-                tickPos = rect.left() + off;
-            else
-                tickPos = rect.right() - off;
-
-            if ( ( tickPos <= maxpos ) && ( tickPos > minpos ) )
-            {
-                painter->setPen( darkPen );
-                painter->drawLine( QPointF( tickPos - 1 , l1 ), 
-                    QPointF( tickPos - 1,  l2 ) );
-                painter->setPen( lightPen );
-                painter->drawLine( QPointF( tickPos, l1 ), 
-                    QPointF( tickPos, l2 ) );
-            }
-        }
-    }
-    else // Qt::Vertical
-    {
-        const double radius = rect.height() * 0.5;
-
-        double l1 = rect.left() + d_data->wheelBorderWidth;
-        double l2 = rect.right() - d_data->wheelBorderWidth - 1;
-
-        if ( d_data->wheelBorderWidth > 1 )
-        {
-            l1--;
-            l2++;
-        }
-
-        const double maxpos = rect.bottom() - 2;
-        const double minpos = rect.top() + 2;
-
-        for ( double tickValue = ::ceil( loValue / tickWidth ) * tickWidth;
-            tickValue < hiValue; tickValue += tickWidth )
-        {
-            const double angle = qwtRadians( tickValue - value() );
-            const double s = qFastSin( angle * cnvFactor );
-
-            const double off = radius * ( sinArc + s ) / sinArc;
-
-            double tickPos;
-
-            if ( d_data->inverted )
-                tickPos = rect.bottom() - off;
-            else
-                tickPos = rect.top() + off;
-
-            if ( ( tickPos <= maxpos ) && ( tickPos > minpos ) )
-            {
-                painter->setPen( darkPen );
-                painter->drawLine( QPointF( l1, tickPos - 1 ), 
-                    QPointF( l2, tickPos - 1 ) );
-                painter->setPen( lightPen );
-                painter->drawLine( QPointF( l1, tickPos ), 
-                    QPointF( l2, tickPos ) );
-            }
-        }
-    }
-}
-
-/*!
-  \brief Set the width of the wheel
-
-  Corresponds to the wheel height for horizontal orientation,
-  and the wheel width for vertical orientation.
-
-  \param width the wheel's width
-  \sa wheelWidth()
-*/
-void QwtWheel::setWheelWidth( int width )
-{
-    d_data->wheelWidth = width;
-    update();
-}
-
-/*!
-  \return Width of the wheel
-  \sa setWheelWidth()
-*/
-int QwtWheel::wheelWidth() const
-{
-    return d_data->wheelWidth;
-}
-
-/*!
-  \return a size hint
-*/
-QSize QwtWheel::sizeHint() const
-{
-    const QSize hint = minimumSizeHint();
-    return hint.expandedTo( QApplication::globalStrut() );
-}
-
-/*!
-  \return Minimum size hint
-  \warning The return value is based on the wheel width.
-*/
-QSize QwtWheel::minimumSizeHint() const
-{
-    QSize sz( 3 * d_data->wheelWidth + 2 * d_data->borderWidth,
-        d_data->wheelWidth + 2 * d_data->borderWidth );
-    if ( d_data->orientation != Qt::Horizontal )
-        sz.transpose();
-
-    return sz;
-}
-
-/*!
-  \brief Set the step size of the counter
-
-  A value <= 0.0 disables stepping
-
-  \param stepSize Single step size
-  \sa singleStep(), setPageStepCount()
-*/
-void QwtWheel::setSingleStep( double stepSize )
-{
-    d_data->singleStep = qMax( stepSize, 0.0 );
-}
-
-/*!
-  \return Single step size
-  \sa setSingleStep()
- */
-double QwtWheel::singleStep() const
-{
-    return d_data->singleStep;
-}
-
-/*!
-  \brief En/Disable step alignment
-
-  When step alignment is enabled value changes initiated by
-  user input ( mouse, keyboard, wheel ) are aligned to
-  the multiples of the single step.
-
-  \param on On/Off
-  \sa stepAlignment(), setSingleStep()
- */
-void QwtWheel::setStepAlignment( bool on )
-{
-    if ( on != d_data->stepAlignment )
-    {
-        d_data->stepAlignment = on;
-    }
-}
-
-/*!
-  \return True, when the step alignment is enabled
-  \sa setStepAlignment(), singleStep()
- */
-bool QwtWheel::stepAlignment() const
-{
-    return d_data->stepAlignment;
-}
-
-/*!
-  \brief Set the page step count  
-    
-  pageStepCount is a multiplicator for the single step size
-  that typically corresponds to the user pressing PageUp or PageDown.
-    
-  A value of 0 disables page stepping. 
-
-  The default value is 1.
-
-  \param count Multiplicator for the single step size
-  \sa pageStepCount(), setSingleStep()
- */
-void QwtWheel::setPageStepCount( int count )
-{
-    d_data->pageStepCount = qMax( 0, count );
-}
-
-/*! 
-  \return Page step count
-  \sa setPageStepCount(), singleStep()
- */
-int QwtWheel::pageStepCount() const
-{
-    return d_data->pageStepCount;
-}
-
-/*!
-  \brief Set the minimum and maximum values
-
-  The maximum is adjusted if necessary to ensure that the range remains valid.
-  The value might be modified to be inside of the range.
-
-  \param min Minimum value
-  \param max Maximum value
-
-  \sa minimum(), maximum()
- */
-void QwtWheel::setRange( double min, double max )
-{
-    max = qMax( min, max );
-
-    if ( d_data->minimum == min && d_data->maximum == max )
-        return;
-
-    d_data->minimum = min;
-    d_data->maximum = max;
-
-    if ( d_data->value < min || d_data->value > max )
-    {
-        d_data->value = qBound( min, d_data->value, max );
-
-        update();
-        Q_EMIT valueChanged( d_data->value );
-    }
-}
-/*!
-  Set the minimum value of the range
-
-  \param value Minimum value
-  \sa setRange(), setMaximum(), minimum()
-
-  \note The maximum is adjusted if necessary to ensure that the range remains valid.
-*/
-void QwtWheel::setMinimum( double value )
-{
-    setRange( value, maximum() );
-}
-
-/*!
-  \return The minimum of the range
-  \sa setRange(), setMinimum(), maximum()
-*/
-double QwtWheel::minimum() const
-{
-    return d_data->minimum;
-}
-
-/*!
-  Set the maximum value of the range
-
-  \param value Maximum value
-  \sa setRange(), setMinimum(), maximum()
-*/
-void QwtWheel::setMaximum( double value )
-{
-    setRange( minimum(), value );
-}
-
-/*!
-  \return The maximum of the range
-  \sa setRange(), setMaximum(), minimum()
-*/
-double QwtWheel::maximum() const
-{
-    return d_data->maximum;
-}
-
-/*!
-  \brief Set a new value without adjusting to the step raster
-
-  \param value New value
-
-  \sa value(), valueChanged()
-  \warning The value is clipped when it lies outside the range.
-*/
-void QwtWheel::setValue( double value )
-{
-    stopFlying();
-    d_data->isScrolling = false;
-
-    value = qBound( d_data->minimum, value, d_data->maximum );
-
-    if ( d_data->value != value )
-    {
-        d_data->value = value;
-
-        update();
-        Q_EMIT valueChanged( d_data->value );
-    }
-}
-
-/*!
-  \return Current value of the wheel
-  \sa setValue(), valueChanged()
- */
-double QwtWheel::value() const
-{
-    return d_data->value;
-}
-
-/*!
-  \brief En/Disable inverted appearance
-
-  An inverted wheel increases its values in the opposite direction.
-  The direction of an inverted horizontal wheel will be from right to left
-  an inverted vertical wheel will increase from bottom to top.
-  
-  \param on En/Disable inverted appearance
-  \sa isInverted()
- 
- */
-void QwtWheel::setInverted( bool on )
-{
-    if ( d_data->inverted != on )
-    {
-        d_data->inverted = on;
-        update();
-    }
-}
-
-/*!
-  \return True, when the wheel is inverted
-  \sa setInverted()
- */
-bool QwtWheel::isInverted() const
-{
-    return d_data->inverted;
-}
-
-/*!
-  \brief En/Disable wrapping
-
-  If wrapping is true stepping up from maximum() value will take 
-  you to the minimum() value and vice versa. 
-
-  \param on En/Disable wrapping
-  \sa wrapping()
- */
-void QwtWheel::setWrapping( bool on )
-{
-    d_data->wrapping = on;
-}
-
-/*!
-  \return True, when wrapping is set
-  \sa setWrapping()
- */
-bool QwtWheel::wrapping() const
-{
-    return d_data->wrapping;
-}
-
-/*!
-  \brief Set the slider's mass for flywheel effect.
-
-  If the slider's mass is greater then 0, it will continue
-  to move after the mouse button has been released. Its speed
-  decreases with time at a rate depending on the slider's mass.
-  A large mass means that it will continue to move for a
-  long time.
-
-  Derived widgets may overload this function to make it public.
-
-  \param mass New mass in kg
-
-  \bug If the mass is smaller than 1g, it is set to zero.
-       The maximal mass is limited to 100kg.
-  \sa mass()
-*/
-void QwtWheel::setMass( double mass )
-{
-    if ( mass < 0.001 )
-    {
-        d_data->mass = 0.0;
-    }
-    else
-    {
-        d_data->mass = qMin( 100.0, mass );
-    }
-
-    if ( d_data->mass <= 0.0 )
-        stopFlying();
-}
-
-/*!
-  \return mass
-  \sa setMass()
-*/
-double QwtWheel::mass() const
-{
-    return d_data->mass;
-}
-
-//!  Stop the flying movement of the wheel
-void QwtWheel::stopFlying()
-{
-    if ( d_data->timerId != 0 )
-    {
-        killTimer( d_data->timerId );
-        d_data->timerId = 0;
-        d_data->speed = 0.0;
-    }
-}
-
-double QwtWheel::boundedValue( double value ) const
-{
-    const double range = d_data->maximum - d_data->minimum;
-    
-    if ( d_data->wrapping && range >= 0.0 )
-    {
-        if ( value < d_data->minimum )
-        {
-            value += ::ceil( ( d_data->minimum - value ) / range ) * range;
-        }       
-        else if ( value > d_data->maximum )
-        {
-            value -= ::ceil( ( value - d_data->maximum ) / range ) * range;
-        }
-    }
-    else
-    {
-        value = qBound( d_data->minimum, value, d_data->maximum );
-    }
-
-    return value;
-}
-
-double QwtWheel::alignedValue( double value ) const
-{
-    const double stepSize = d_data->singleStep;
-
-    if ( stepSize > 0.0 )
-    {
-        value = d_data->minimum +
-            qRound( ( value - d_data->minimum ) / stepSize ) * stepSize;
-
-        if ( stepSize > 1e-12 )
-        {
-            if ( qFuzzyCompare( value + 1.0, 1.0 ) )
-            {
-                // correct rounding error if value = 0
-                value = 0.0;
-            }
-            else if ( qFuzzyCompare( value, d_data->maximum ) )
-            {
-                // correct rounding error at the border
-                value = d_data->maximum;
-            }
-        }
-    }       
-
-    return value;
-}
-
diff --git a/SRC/Qwt/src/qwt_wheel.h b/SRC/Qwt/src/qwt_wheel.h
deleted file mode 100644
index 4592c63..0000000
--- a/SRC/Qwt/src/qwt_wheel.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_WHEEL_H
-#define QWT_WHEEL_H
-
-#include "qwt_global.h"
-#include <qwidget.h>
-
-/*!
-  \brief The Wheel Widget
-
-  The wheel widget can be used to change values over a very large range
-  in very small steps. Using the setMass() member, it can be configured
-  as a flying wheel.
-
-  The default range of the wheel is [0.0, 100.0]
-
-  \sa The radio example.
-*/
-class QWT_EXPORT QwtWheel: public QWidget
-{
-    Q_OBJECT
-
-    Q_PROPERTY( Qt::Orientation orientation
-                READ orientation WRITE setOrientation )
-
-    Q_PROPERTY( double value READ value WRITE setValue )
-    Q_PROPERTY( double minimum READ minimum WRITE setMinimum )
-    Q_PROPERTY( double maximum READ maximum WRITE setMaximum )
-
-    Q_PROPERTY( double singleStep READ singleStep WRITE setSingleStep )
-    Q_PROPERTY( int pageStepCount READ pageStepCount WRITE setPageStepCount )
-    Q_PROPERTY( bool stepAlignment READ stepAlignment WRITE setStepAlignment )
-
-    Q_PROPERTY( bool tracking READ isTracking WRITE setTracking )
-    Q_PROPERTY( bool wrapping READ wrapping WRITE setWrapping )
-    Q_PROPERTY( bool inverted READ isInverted WRITE setInverted )
-
-    Q_PROPERTY( double mass READ mass WRITE setMass )
-    Q_PROPERTY( int updateInterval READ updateInterval WRITE setUpdateInterval )
-
-    Q_PROPERTY( double totalAngle READ totalAngle WRITE setTotalAngle )
-    Q_PROPERTY( double viewAngle READ viewAngle WRITE setViewAngle )
-    Q_PROPERTY( int tickCount READ tickCount WRITE setTickCount )
-    Q_PROPERTY( int wheelWidth READ wheelWidth WRITE setWheelWidth )
-    Q_PROPERTY( int borderWidth READ borderWidth WRITE setBorderWidth )
-    Q_PROPERTY( int wheelBorderWidth READ wheelBorderWidth WRITE setWheelBorderWidth )
-
-public:
-    explicit QwtWheel( QWidget *parent = NULL );
-    virtual ~QwtWheel();
-
-    double value() const;
-
-    void setOrientation( Qt::Orientation );
-    Qt::Orientation orientation() const;
-
-    double totalAngle() const;
-    double viewAngle() const;
-
-    void setTickCount( int );
-    int tickCount() const;
-
-    void setWheelWidth( int );
-    int wheelWidth() const;
-
-    void setWheelBorderWidth( int );
-    int wheelBorderWidth() const;
-
-    void setBorderWidth( int );
-    int borderWidth() const;
-
-    void setInverted( bool tf );
-    bool isInverted() const;
-
-    void setWrapping( bool tf );
-    bool wrapping() const;
-
-    void setSingleStep( double );
-    double singleStep() const;
-
-    void setPageStepCount( int );
-    int pageStepCount() const;
-
-    void setStepAlignment( bool on );
-    bool stepAlignment() const;
-
-    void setRange( double vmin, double vmax );
-
-    void setMinimum( double min );
-    double minimum() const;
-
-    void setMaximum( double max );
-    double maximum() const;
-
-    void setUpdateInterval( int );
-    int updateInterval() const;
-
-    void setTracking( bool enable );
-    bool isTracking() const;
-
-    double mass() const;
-
-public Q_SLOTS:
-    void setValue( double );
-    void setTotalAngle ( double );
-    void setViewAngle( double );
-    void setMass( double );
-
-Q_SIGNALS:
-
-    /*!
-      \brief Notify a change of value.
-
-      When tracking is enabled this signal will be emitted every
-      time the value changes. 
-
-      \param value new value
-      \sa setTracking()
-    */
-    void valueChanged( double value );
-
-    /*!
-      This signal is emitted when the user presses the
-      the wheel with the mouse
-    */
-    void wheelPressed();
-
-    /*!
-      This signal is emitted when the user releases the mouse
-    */
-    void wheelReleased();
-
-    /*!
-      This signal is emitted when the user moves the
-      wheel with the mouse.
-
-      \param value new value
-    */
-    void wheelMoved( double value );
-
-protected:
-    virtual void paintEvent( QPaintEvent * );
-    virtual void mousePressEvent( QMouseEvent * );
-    virtual void mouseReleaseEvent( QMouseEvent * );
-    virtual void mouseMoveEvent( QMouseEvent * );
-    virtual void keyPressEvent( QKeyEvent * );
-    virtual void wheelEvent( QWheelEvent * );
-    virtual void timerEvent( QTimerEvent * );
-
-    void stopFlying();
-
-    QRect wheelRect() const;
-
-    virtual QSize sizeHint() const;
-    virtual QSize minimumSizeHint() const;
-
-    virtual void drawTicks( QPainter *, const QRectF & );
-    virtual void drawWheelBackground( QPainter *, const QRectF & );
-
-    virtual double valueAt( const QPoint & ) const;
-
-private:
-    double alignedValue( double ) const;
-    double boundedValue( double ) const;
-
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/src/qwt_widget_overlay.cpp b/SRC/Qwt/src/qwt_widget_overlay.cpp
deleted file mode 100644
index ed8ac4c..0000000
--- a/SRC/Qwt/src/qwt_widget_overlay.cpp
+++ /dev/null
@@ -1,376 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#include "qwt_widget_overlay.h"
-#include "qwt_painter.h"
-#include <qpainter.h>
-#include <qpaintengine.h>
-#include <qimage.h>
-#include <qevent.h>
-
-static QImage::Format qwtMaskImageFormat()
-{
-    if ( QwtPainter::isX11GraphicsSystem() )
-        return QImage::Format_ARGB32;
-
-    return QImage::Format_ARGB32_Premultiplied;
-}
-
-static QRegion qwtAlphaMask( 
-    const QImage& image, const QVector<QRect> rects )
-{
-    const int w = image.width();
-    const int h = image.height();
-
-    QRegion region;
-    QRect rect;
-
-    for ( int i = 0; i < rects.size(); i++ )
-    {
-        int x1, x2, y1, y2;
-        rects[i].getCoords( &x1, &y1, &x2, &y2 );
-
-        x1 = qMax( x1, 0 );
-        x2 = qMin( x2, w - 1 );
-        y1 = qMax( y1, 0 );
-        y2 = qMin( y2, h - 1 );
-
-        for ( int y = y1; y <= y2; ++y ) 
-        {
-            bool inRect = false;
-            int rx0 = -1;
-
-            const uint *line = 
-                reinterpret_cast<const uint *> ( image.scanLine( y ) ) + x1;
-            for ( int x = x1; x <= x2; x++ ) 
-            {
-                const bool on = ( ( *line++ >> 24 ) != 0 );
-                if ( on != inRect ) 
-                {
-                    if ( inRect  ) 
-                    {
-                        rect.setCoords( rx0, y, x - 1, y );
-                        region += rect;
-                    } 
-                    else 
-                    {
-                        rx0 = x;
-                    }
-
-                    inRect = on;
-                } 
-            }
-
-            if ( inRect ) 
-            {
-                rect.setCoords( rx0, y, x2, y );
-                region = region.united( rect );
-            }
-        }
-    }
-
-    return region;
-}
-
-class QwtWidgetOverlay::PrivateData
-{
-public:
-    PrivateData():
-        maskMode( QwtWidgetOverlay::MaskHint ),
-        renderMode( QwtWidgetOverlay::AutoRenderMode ),
-        rgbaBuffer( NULL )
-    {
-    }
-
-    ~PrivateData()
-    {
-        resetRgbaBuffer();
-    }
-
-    void resetRgbaBuffer()
-    {
-        if ( rgbaBuffer )
-        {
-            ::free( rgbaBuffer );
-            rgbaBuffer = NULL;
-        }
-    }
-
-    MaskMode maskMode;
-    RenderMode renderMode;
-    uchar *rgbaBuffer;
-};
-
-/*!
-   \brief Constructor
-   \param widget Parent widget, where the overlay is aligned to
-*/
-QwtWidgetOverlay::QwtWidgetOverlay( QWidget* widget ):
-    QWidget( widget )
-{
-    d_data = new PrivateData;
-
-    setAttribute( Qt::WA_TransparentForMouseEvents );
-    setAttribute( Qt::WA_NoSystemBackground );
-    setFocusPolicy( Qt::NoFocus );
-
-    if ( widget )
-    {
-        resize( widget->size() );
-        widget->installEventFilter( this );
-    }
-}
-
-//! Destructor
-QwtWidgetOverlay::~QwtWidgetOverlay()
-{
-    delete d_data;
-}
-
-/*!
-   \brief Specify how to find the mask for the overlay
-
-   \param mode New mode
-   \sa maskMode()
- */
-void QwtWidgetOverlay::setMaskMode( MaskMode mode )
-{
-    if ( mode != d_data->maskMode )
-    {
-        d_data->maskMode = mode;
-        d_data->resetRgbaBuffer();
-    }
-}
-
-/*!
-   \return Mode how to find the mask for the overlay
-   \sa setMaskMode()
- */
-QwtWidgetOverlay::MaskMode QwtWidgetOverlay::maskMode() const
-{
-    return d_data->maskMode;
-}
-
-/*!
-   Set the render mode
-   \param mode Render mode
-
-   \sa RenderMode, renderMode()
-*/
-void QwtWidgetOverlay::setRenderMode( RenderMode mode )
-{
-    d_data->renderMode = mode;
-}
-
-/*!
-   \return Render mode
-   \sa RenderMode, setRenderMode()
- */
-QwtWidgetOverlay::RenderMode QwtWidgetOverlay::renderMode() const
-{
-    return d_data->renderMode;
-}
-
-/*!
-   Recalculate the mask and repaint the overlay
- */
-void QwtWidgetOverlay::updateOverlay()
-{
-    updateMask();
-    update();
-}
-
-void QwtWidgetOverlay::updateMask()
-{
-    d_data->resetRgbaBuffer();
-
-    QRegion mask;
-
-    if ( d_data->maskMode == QwtWidgetOverlay::MaskHint )
-    {
-        mask = maskHint();
-    }
-    else if ( d_data->maskMode == QwtWidgetOverlay::AlphaMask )
-    {
-        // TODO: the image doesn't need to be larger than
-        //       the bounding rectangle of the hint !!
-
-        QRegion hint = maskHint();
-        if ( hint.isEmpty() )
-            hint += QRect( 0, 0, width(), height() );
-
-        // A fresh buffer from calloc() is usually faster
-        // than reinitializing an existing one with
-        // QImage::fill( 0 ) or memset()
-
-        d_data->rgbaBuffer = ( uchar* )::calloc( width() * height(), 4 );
-
-        QImage image( d_data->rgbaBuffer, 
-            width(), height(), qwtMaskImageFormat() );
-
-        QPainter painter( &image );
-        draw( &painter );
-        painter.end();
-
-        mask = qwtAlphaMask( image, hint.rects() );
-
-        if ( d_data->renderMode == QwtWidgetOverlay::DrawOverlay )
-        {
-            // we don't need the buffer later
-            d_data->resetRgbaBuffer();
-        }
-    }
-
-    // A bug in Qt initiates a full repaint of the widget
-    // when we change the mask, while we are visible !
-
-    setVisible( false );
-
-    if ( mask.isEmpty() )
-        clearMask();
-    else
-        setMask( mask );
-
-    setVisible( true );
-}
-
-/*!
-  Paint event
-  \param event Paint event
-
-  \sa drawOverlay()
-*/
-void QwtWidgetOverlay::paintEvent( QPaintEvent* event )
-{
-    const QRegion clipRegion = event->region();
-
-    QPainter painter( this );
-
-    bool useRgbaBuffer = false;
-    if ( d_data->renderMode == QwtWidgetOverlay::CopyAlphaMask )
-    {
-        useRgbaBuffer = true;
-    }
-    else if ( d_data->renderMode == QwtWidgetOverlay::AutoRenderMode )
-    {
-        if ( painter.paintEngine()->type() == QPaintEngine::Raster )
-            useRgbaBuffer = true;
-    }
-
-    if ( d_data->rgbaBuffer && useRgbaBuffer )
-    {
-        const QImage image( d_data->rgbaBuffer, 
-            width(), height(), qwtMaskImageFormat() );
-
-        QVector<QRect> rects;
-        if ( clipRegion.rects().size() > 2000 )
-        {
-            // the region is to complex
-            painter.setClipRegion( clipRegion );
-            rects += clipRegion.boundingRect();
-        }
-        else
-        {
-            rects = clipRegion.rects();
-        }
-
-        for ( int i = 0; i < rects.size(); i++ )
-        {
-            const QRect r = rects[i];
-            painter.drawImage( r.topLeft(), image, r );
-        }
-    }
-    else
-    {
-        painter.setClipRegion( clipRegion );
-        draw( &painter );
-    }
-}
-
-/*!
-  Resize event
-  \param event Resize event
-*/
-void QwtWidgetOverlay::resizeEvent( QResizeEvent* event )
-{
-    Q_UNUSED( event );
-
-    d_data->resetRgbaBuffer();
-}
-
-void QwtWidgetOverlay::draw( QPainter *painter ) const
-{
-    QWidget *widget = const_cast< QWidget *>( parentWidget() );
-    if ( widget )
-    {
-        painter->setClipRect( parentWidget()->contentsRect() );
-
-        // something special for the plot canvas
-
-        const int idx = widget->metaObject()->indexOfMethod( "borderPath(QRect)" );
-        if ( idx >= 0 )
-        {
-            QPainterPath clipPath;
-
-            ( void )QMetaObject::invokeMethod(
-                widget, "borderPath", Qt::DirectConnection,
-                Q_RETURN_ARG( QPainterPath, clipPath ), Q_ARG( QRect, rect() ) );
-
-            if (!clipPath.isEmpty())
-                painter->setClipPath( clipPath, Qt::IntersectClip );
-        }
-    }
-
-    drawOverlay( painter );
-}
-
-/*!
-   \brief Calculate an approximation for the mask
-
-   - MaskHint
-     The hint is used as mask.
-
-   - AlphaMask
-     The hint is used to speed up the algorithm
-     for calculating a mask from non transparent pixels
-
-   - NoMask
-     The hint is unused.
-
-   The default implementation returns an invalid region
-   indicating no hint.
-
-   \return Hint for the mask
- */
-QRegion QwtWidgetOverlay::maskHint() const
-{
-    return QRegion();
-}
-
-/*!
-  \brief Event filter
-
-  Resize the overlay according to the size of the parent widget.
-
-  \param object Object to be filtered
-  \param event Event
-
-  \return See QObject::eventFilter()
-*/
-
-bool QwtWidgetOverlay::eventFilter( QObject* object, QEvent* event )
-{
-    if ( object == parent() && event->type() == QEvent::Resize )
-    {
-        QResizeEvent *resizeEvent = static_cast<QResizeEvent *>( event );
-        resize( resizeEvent->size() );
-    }
-
-    return QObject::eventFilter( object, event );
-}
diff --git a/SRC/Qwt/src/qwt_widget_overlay.h b/SRC/Qwt/src/qwt_widget_overlay.h
deleted file mode 100644
index b820ec2..0000000
--- a/SRC/Qwt/src/qwt_widget_overlay.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2002   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-#ifndef QWT_WIDGET_OVERLAY_H
-#define QWT_WIDGET_OVERLAY_H
-
-#include "qwt_global.h"
-#include <qwidget.h>
-#include <qregion.h>
-
-class QPainter;
-
-/*!
-   \brief An overlay for a widget
-
-   The main use case of an widget overlay is to avoid
-   heavy repaint operation of the widget below.
-
-   F.e. in combination with the plot canvas an overlay 
-   avoid replots as the content of the canvas can be restored from 
-   its backing store.
-
-   QwtWidgetOverlay is an abstract base class. Deriving classes are
-   supposed to reimplement the following methods:
-
-   - drawOverlay()
-   - maskHint()
-
-   Internally QwtPlotPicker uses overlays for displaying 
-   the rubber band and the tracker text.
-
-   \sa QwtPlotCanvas::BackingStore
- */
-class QWT_EXPORT QwtWidgetOverlay: public QWidget
-{
-public:
-    /*!
-       \brief Mask mode
-
-       When using masks the widget below gets paint events for
-       the masked regions of the overlay only. Otherwise
-       Qt triggers full repaints. On less powerful hardware
-       ( f.e embedded systems ) - or when using the raster paint 
-       engine on a remote desktop - bit blitting is a noticeable
-       operation, that needs to be avoided.
-       
-       If and how to mask depends on how expensive the calculation 
-       of the mask is and how many pixels can be excluded by the mask.
-
-       The default setting is MaskHint.
-
-       \sa setMaskMode(), maskMode()
-     */
-    enum MaskMode
-    {
-        //! Don't use a mask.
-        NoMask,
-
-        /*!
-           \brief Use maskHint() as mask
-
-           For many situations a fast approximation is good enough 
-           and it is not necessary to build a more detailed mask
-           ( f.e the bounding rectangle of a text ).
-         */
-        MaskHint,
-
-        /*!
-           \brief Calculate a mask by checking the alpha values
-
-           Sometimes it is not possible to give a fast approximation
-           and the mask needs to be calculated by drawing the overlay
-           and testing the result.
-          
-           When a valid maskHint() is available
-           only pixels inside this approximation are checked.
-         */
-        AlphaMask
-    };
-
-    /*!
-       \brief Render mode
-
-       For calculating the alpha mask the overlay has already
-       been painted to a temporary QImage. Instead of rendering
-       the overlay twice this buffer can be copied for drawing
-       the overlay.
-
-       On graphic systems using the raster paint engine ( QWS, Windows )
-       it means usually copying some memory only. On X11 it results in an
-       expensive operation building a pixmap and for simple overlays
-       it might not be recommended.
-
-       \note The render mode has no effect, when maskMode() != AlphaMask.
-     */
-    enum RenderMode
-    {
-        //! Copy the buffer, when using the raster paint engine.
-        AutoRenderMode,
-
-        //! Always copy the buffer
-        CopyAlphaMask,
-
-        //! Never copy the buffer
-        DrawOverlay
-    };
-
-    QwtWidgetOverlay( QWidget* );
-    virtual ~QwtWidgetOverlay();
-
-    void setMaskMode( MaskMode );
-    MaskMode maskMode() const;
-
-    void setRenderMode( RenderMode );
-    RenderMode renderMode() const;
-
-    void updateOverlay();
-
-    virtual bool eventFilter( QObject *, QEvent *);
-
-protected:
-    virtual void paintEvent( QPaintEvent* event );
-    virtual void resizeEvent( QResizeEvent* event );
-
-    virtual QRegion maskHint() const;
-
-    /*!
-       Draw the widget overlay
-       \param painter Painter
-     */
-    virtual void drawOverlay( QPainter *painter ) const = 0;
-
-private:
-    void updateMask();
-    void draw( QPainter * ) const;
-
-private:
-    class PrivateData;
-    PrivateData *d_data;
-};
-
-#endif
diff --git a/SRC/Qwt/textengines/mathml/mathml.pro b/SRC/Qwt/textengines/mathml/mathml.pro
deleted file mode 100644
index c0137b2..0000000
--- a/SRC/Qwt/textengines/mathml/mathml.pro
+++ /dev/null
@@ -1,78 +0,0 @@
-################################################################
-# Qwt Widget Library
-# Copyright (C) 1997   Josef Wilgen
-# Copyright (C) 2002   Uwe Rathmann
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the Qwt License, Version 1.0
-################################################################
-
-message(The qwtmathml library contains code of the MML Widget from the Qt solutions package.)
-message(Beside the Qwt license you also have to take care of its license. )
-
-include( $${PWD}/../textengines.pri )
-
-TARGET    = $$qwtLibraryTarget(qwtmathml)
-QT       += xml
-
-greaterThan(QT_MAJOR_VERSION, 4) {
-
-    QT       += widgets
-}
-
-HEADERS = \
-    qwt_mathml_text_engine.h
-
-SOURCES = \
-    qwt_mathml_text_engine.cpp
-
-# qwt_mml_document.h/qwt_mml_document.cpp has been stripped down from
-# the mathml widgets offered in the Qt solutions package. 
-
-HEADERS += qwt_mml_document.h
-SOURCES += qwt_mml_document.cpp
-
-qwtmathmlspec.files  = qwtmathml.prf
-qwtmathmlspec.path  = $${QWT_INSTALL_FEATURES}
-
-INSTALLS += qwtmathmlspec
-
-CONFIG(lib_bundle) {
-
-    FRAMEWORK_HEADERS.version = Versions
-    FRAMEWORK_HEADERS.files   = qwt_mathml_text_engine.h
-    FRAMEWORK_HEADERS.path    = Headers
-    QMAKE_BUNDLE_DATA        += FRAMEWORK_HEADERS
-}
-else {
-
-    headers.files  = qwt_mathml_text_engine.h
-    headers.path   = $${QWT_INSTALL_HEADERS}
-    INSTALLS       += headers
-}
-
-contains(QWT_CONFIG, QwtPkgConfig) {
-
-    CONFIG     += create_pc create_prl no_install_prl
-
-    QMAKE_PKGCONFIG_NAME = qwtmathml
-    QMAKE_PKGCONFIG_DESCRIPTION = Qwt MathML renderer
-
-    QMAKE_PKGCONFIG_LIBDIR = $${QWT_INSTALL_LIBS}
-    QMAKE_PKGCONFIG_INCDIR = $${QWT_INSTALL_HEADERS}
-
-    # QMAKE_PKGCONFIG_DESTDIR is buggy, in combination
-    # with including pri files: better don't use it
-
-    greaterThan(QT_MAJOR_VERSION, 4) {
-
-        QMAKE_PKGCONFIG_REQUIRES = Qt5Gui Qt5Widgets Qt5Xml
-    }
-    else {
-
-        QMAKE_PKGCONFIG_REQUIRES = QtGui QtXml
-    }
-
-    QMAKE_DISTCLEAN += $${DESTDIR}/$${QMAKE_PKGCONFIG_NAME}.pc
-    QMAKE_DISTCLEAN += $${DESTDIR}/libqwtmathml.prl
-}
diff --git a/SRC/Qwt/textengines/mathml/qtmmlwidget-license b/SRC/Qwt/textengines/mathml/qtmmlwidget-license
deleted file mode 100644
index ef1ca99..0000000
--- a/SRC/Qwt/textengines/mathml/qtmmlwidget-license
+++ /dev/null
@@ -1,44 +0,0 @@
-qwt_mml_document.h/qwt_mml_document.cpp have been stripped down from
-"MML Widget" package of the solutions package, that is distributed under
-the following licenses:
-
------------------------------------------------------------------
-Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-All rights reserved.
-Contact: Nokia Corporation (qt-info at nokia.com)
-
-Commercial Usage  
-Licensees holding valid Qt Commercial licenses may use this file in
-accordance with the Qt Solutions Commercial License Agreement provided
-with the Software or, alternatively, in accordance with the terms
-contained in a written agreement between you and Nokia.
-
-GNU Lesser General Public License Usage
-Alternatively, this file may be used under the terms of the GNU Lesser
-General Public License version 2.1 as published by the Free Software
-Foundation and appearing in the file LICENSE.LGPL included in the
-packaging of this file.  Please review the following information to
-ensure the GNU Lesser General Public License version 2.1 requirements
-will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-
-In addition, as a special exception, Nokia gives you certain
-additional rights. These rights are described in the Nokia Qt LGPL
-Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
-package.
-
-GNU General Public License Usage 
-Alternatively, this file may be used under the terms of the GNU
-General Public License version 3.0 as published by the Free Software
-Foundation and appearing in the file LICENSE.GPL included in the
-packaging of this file.  Please review the following information to
-ensure the GNU General Public License version 3.0 requirements will be
-met: http://www.gnu.org/copyleft/gpl.html.
-
-Please note Third Party Software included with Qt Solutions may impose
-additional restrictions and it is the user's responsibility to ensure
-that they have met the licensing requirements of the GPL, LGPL, or Qt
-Solutions Commercial license and the relevant license of the Third
-Party Software they are using.
-
-If you are unsure which license is appropriate for your use, please
-contact Nokia at qt-info at nokia.com.
diff --git a/SRC/Qwt/textengines/mathml/qwt_mathml_text_engine.cpp b/SRC/Qwt/textengines/mathml/qwt_mathml_text_engine.cpp
deleted file mode 100644
index f455463..0000000
--- a/SRC/Qwt/textengines/mathml/qwt_mathml_text_engine.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2003   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-// vim: expandtab
-
-#include <qstring.h>
-#include <qpainter.h>
-#include "qwt_mathml_text_engine.h"
-#include "qwt_mml_document.h"
-
-//! Constructor
-QwtMathMLTextEngine::QwtMathMLTextEngine()
-{
-}
-
-//! Destructor
-QwtMathMLTextEngine::~QwtMathMLTextEngine()
-{
-}
-
-/*!
-   Find the height for a given width
-
-   \param font Font of the text
-   \param flags Bitwise OR of the flags used like in QPainter::drawText
-   \param text Text to be rendered
-   \param width Width
-
-   \return Calculated height
-*/
-double QwtMathMLTextEngine::heightForWidth( const QFont& font, int flags,
-        const QString& text, double ) const
-{
-    return textSize( font, flags, text ).height();
-}
-
-/*!
-  Returns the size, that is needed to render text
-
-  \param font Font of the text
-  \param flags Bitwise OR of the flags used like in QPainter::drawText
-  \param text Text to be rendered
-
-  \return Caluclated size
-*/
-QSizeF QwtMathMLTextEngine::textSize( const QFont &font,
-    int flags, const QString& text ) const
-{
-    Q_UNUSED( flags );
-
-    static QString t;
-    static QSize sz;
-
-    if ( text != t )
-    {
-        QwtMathMLDocument doc;
-        doc.setContent( text );
-        doc.setBaseFontPointSize( font.pointSize() );
-
-        sz = doc.size();
-        t = text;
-    }
-
-    return sz;
-}
-
-/*!
-  Return margins around the texts
-
-  \param left Return 0
-  \param right Return 0
-  \param top Return 0
-  \param bottom Return 0
-*/
-void QwtMathMLTextEngine::textMargins( const QFont &, const QString &,
-    double &left, double &right, double &top, double &bottom ) const
-{
-    left = right = top = bottom = 0;
-}
-
-/*!
-   Draw the text in a clipping rectangle
-
-   \param painter Painter
-   \param rect Clipping rectangle
-   \param flags Bitwise OR of the flags like in for QPainter::drawText
-   \param text Text to be rendered
-*/
-void QwtMathMLTextEngine::draw( QPainter *painter, const QRectF &rect,
-    int flags, const QString& text ) const
-{
-    QwtMathMLDocument doc;
-    doc.setContent( text );
-    doc.setBaseFontPointSize( painter->font().pointSize() );
-
-    const QSizeF docSize = doc.size();
-
-    QPointF pos = rect.topLeft();
-    if ( rect.width() > docSize.width() )
-    {
-        if ( flags & Qt::AlignRight )
-            pos.setX( rect.right() - docSize.width() );
-        if ( flags & Qt::AlignHCenter )
-            pos.setX( rect.center().x() - docSize.width() / 2 );
-    }
-    if ( rect.height() > docSize.height() )
-    {
-        if ( flags & Qt::AlignBottom )
-            pos.setY( rect.bottom() - docSize.height() );
-        if ( flags & Qt::AlignVCenter )
-            pos.setY( rect.center().y() - docSize.height() / 2 );
-    }
-
-    doc.paint( painter, pos.toPoint() );
-}
-
-/*!
-  Test if a string can be rendered by QwtMathMLTextEngine
-
-  \param text Text to be tested
-  \return true, if text begins with "<math>".
-*/
-bool QwtMathMLTextEngine::mightRender( const QString &text ) const
-{
-    return text.trimmed().startsWith( "<math" );
-}
diff --git a/SRC/Qwt/textengines/mathml/qwt_mathml_text_engine.h b/SRC/Qwt/textengines/mathml/qwt_mathml_text_engine.h
deleted file mode 100644
index 58d7ed2..0000000
--- a/SRC/Qwt/textengines/mathml/qwt_mathml_text_engine.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
- * Qwt Widget Library
- * Copyright (C) 1997   Josef Wilgen
- * Copyright (C) 2003   Uwe Rathmann
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the Qwt License, Version 1.0
- *****************************************************************************/
-
-// vim: expandtab
-
-#ifndef QWT_MATHML_TEXT_ENGINE_H
-#define QWT_MATHML_TEXT_ENGINE_H 1
-
-#include "qwt_text_engine.h"
-
-/*!
-  \brief Text Engine for the MathML renderer of the Qt solutions package.
-
-  To enable MathML support the following code needs to be added to the
-  application:
-  \verbatim
-#include <qwt_mathml_text_engine.h>
-
-QwtText::setTextEngine(QwtText::MathMLText, new QwtMathMLTextEngine());
-  \endverbatim
-
-  \sa QwtTextEngine, QwtText::setTextEngine
-  \warning Unfortunately the MathML renderer doesn't support rotating of texts.
-*/
-
-class QWT_EXPORT QwtMathMLTextEngine: public QwtTextEngine
-{
-public:
-    QwtMathMLTextEngine();
-    virtual ~QwtMathMLTextEngine();
-
-    virtual double heightForWidth( const QFont &font, int flags,
-        const QString &text, double width ) const;
-
-    virtual QSizeF textSize( const QFont &font, int flags,
-                             const QString &text ) const;
-
-    virtual void draw( QPainter *painter, const QRectF &rect,
-        int flags, const QString &text ) const;
-
-    virtual bool mightRender( const QString & ) const;
-
-    virtual void textMargins( const QFont &, const QString &,
-        double &left, double &right, double &top, double &bottom ) const;
-};
-
-#endif
diff --git a/SRC/Qwt/textengines/mathml/qwt_mml_document.cpp b/SRC/Qwt/textengines/mathml/qwt_mml_document.cpp
deleted file mode 100644
index f421457..0000000
--- a/SRC/Qwt/textengines/mathml/qwt_mml_document.cpp
+++ /dev/null
@@ -1,6261 +0,0 @@
-#include <QApplication>
-#include <QMap>
-#include <QDesktopWidget>
-#include <QPainter>
-#include <QDomNode>
-#include <QDebug>
-
-#include "qwt_mml_document.h"
-
-// *******************************************************************
-// Declarations
-// *******************************************************************
-
-#define ROUND(a) (int)((a)+.5)
-
-static bool           g_draw_frames         = false;
-static const double   g_mfrac_spacing           = 0.1;
-static const double   g_mroot_base_margin       = 0.1;
-static const double   g_script_size_multiplier          = 0.7071; // sqrt(1/2)
-static const int      g_min_font_point_size     = 8;
-static const QChar    g_radical_char                    = QChar( 0x1A, 0x22 );
-static const unsigned g_oper_spec_rows              = 9;
-
-struct QwtMml
-{
-    enum NodeType
-    {
-        NoNode = 0, MiNode, MnNode, MfracNode, MrowNode, MsqrtNode,
-        MrootNode, MsupNode, MsubNode, MsubsupNode, MoNode,
-        MstyleNode, TextNode, MphantomNode, MfencedNode,
-        MtableNode, MtrNode, MtdNode, MoverNode, MunderNode,
-        MunderoverNode, MerrorNode, MtextNode, MpaddedNode,
-        MspaceNode, MalignMarkNode, UnknownNode
-    };
-
-    enum MathVariant
-    {
-        NormalMV        = 0x0000,
-        BoldMV          = 0x0001,
-        ItalicMV        = 0x0002,
-        DoubleStruckMV  = 0x0004,
-        ScriptMV        = 0x0008,
-        FrakturMV       = 0x0010,
-        SansSerifMV     = 0x0020,
-        MonospaceMV     = 0x0040
-    };
-
-    enum FormType { PrefixForm, InfixForm, PostfixForm };
-    enum ColAlign { ColAlignLeft, ColAlignCenter, ColAlignRight };
-    enum RowAlign { RowAlignTop, RowAlignCenter, RowAlignBottom,
-                    RowAlignAxis, RowAlignBaseline
-                  };
-    enum FrameType { FrameNone, FrameSolid, FrameDashed };
-
-    struct FrameSpacing
-    {
-        FrameSpacing( int hor = 0, int ver = 0 )
-            : m_hor( hor ), m_ver( ver ) {}
-        int m_hor, m_ver;
-    };
-};
-
-struct QwtMmlOperSpec
-{
-    enum StretchDir { NoStretch, HStretch, VStretch, HVStretch };
-
-    const char *name;
-    QwtMml::FormType form;
-    const char *attributes[g_oper_spec_rows];
-    StretchDir stretch_dir;
-};
-
-struct QwtMmlNodeSpec
-{
-    QwtMml::NodeType type;
-    const char *tag;
-    const char *type_str;
-    int child_spec;
-    const char *child_types;
-    const char *attributes;
-
-    enum ChildSpec
-    {
-        ChildAny     = -1, // any number of children allowed
-        ChildIgnore  = -2, // do not build subexpression of children
-        ImplicitMrow = -3  // if more than one child, build mrow
-    };
-};
-
-struct QwtMmlEntitySpec
-{
-    const char *name;
-    const char *value;
-};
-
-typedef QMap<QString, QString> QwtMmlAttributeMap;
-class QwtMmlNode;
-
-class QwtMmlDocument : public QwtMml
-{
-public:
-    QwtMmlDocument();
-    ~QwtMmlDocument();
-    void clear();
-
-    bool setContent( QString text, QString *errorMsg = 0,
-                     int *errorLine = 0, int *errorColumn = 0 );
-    void paint( QPainter *p, const QPoint &pos ) const;
-    void dump() const;
-    QSize size() const;
-    void layout();
-
-    QString fontName( QwtMathMLDocument::MmlFont type ) const;
-    void setFontName( QwtMathMLDocument::MmlFont type, const QString &name );
-
-    int baseFontPointSize() const
-    { return m_base_font_point_size; }
-    void setBaseFontPointSize( int size )
-    { m_base_font_point_size = size; }
-    QColor foregroundColor() const
-    { return m_foreground_color; }
-    void setForegroundColor( const QColor &color )
-    { m_foreground_color = color; }
-    QColor backgroundColor() const
-    { return m_background_color; }
-    void setBackgroundColor( const QColor &color )
-    { m_background_color = color; }
-
-private:
-    void _dump( const QwtMmlNode *node, QString &indent ) const;
-    bool insertChild( QwtMmlNode *parent, QwtMmlNode *new_node, QString *errorMsg );
-
-    QwtMmlNode *domToMml( const QDomNode &dom_node, bool *ok, QString *errorMsg );
-    QwtMmlNode *createNode( NodeType type, const QwtMmlAttributeMap &mml_attr,
-                         const QString &mml_value, QString *errorMsg );
-    QwtMmlNode *createImplicitMrowNode( const QDomNode &dom_node, bool *ok,
-                                     QString *errorMsg );
-
-    void insertOperator( QwtMmlNode *node, const QString &text );
-
-    QwtMmlNode *m_root_node;
-
-    QString m_normal_font_name;
-    QString m_fraktur_font_name;
-    QString m_sans_serif_font_name;
-    QString m_script_font_name;
-    QString m_monospace_font_name;
-    QString m_doublestruck_font_name;
-    int m_base_font_point_size;
-    QColor m_foreground_color;
-    QColor m_background_color;
-};
-
-class QwtMmlNode : public QwtMml
-{
-    friend class QwtMmlDocument;
-
-public:
-    QwtMmlNode( NodeType type, QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map );
-    virtual ~QwtMmlNode();
-
-    // Mml stuff
-    NodeType nodeType() const
-    { return m_node_type; }
-
-    virtual QString toStr() const;
-
-    void setRelOrigin( const QPoint &rel_origin );
-    QPoint relOrigin() const
-    { return m_rel_origin; }
-    void stretchTo( const QRect &rect );
-    bool isStretched() const
-    { return m_stretched; }
-    QPoint devicePoint( const QPoint &p ) const;
-
-    QRect myRect() const
-    { return m_my_rect; }
-    QRect parentRect() const;
-    virtual QRect deviceRect() const;
-    void updateMyRect();
-    virtual void setMyRect( const QRect &rect )
-    { m_my_rect = rect; }
-
-    virtual void stretch();
-    virtual void layout();
-    virtual void paint( QPainter *p );
-
-    int basePos() const;
-    int overlinePos() const;
-    int underlinePos() const;
-    int em() const;
-    int ex() const;
-
-    QString explicitAttribute( const QString &name, const QString &def = QString::null ) const;
-    QString inheritAttributeFromMrow( const QString &name, const QString &def = QString::null ) const;
-
-    virtual QFont font() const;
-    virtual QColor color() const;
-    virtual QColor background() const;
-    virtual int scriptlevel( const QwtMmlNode *child = 0 ) const;
-
-
-    // Node stuff
-    QwtMmlDocument *document() const
-    { return m_document; }
-    QwtMmlNode *parent() const
-    { return m_parent; }
-    QwtMmlNode *firstChild() const
-    { return m_first_child; }
-    QwtMmlNode *nextSibling() const
-    { return m_next_sibling; }
-    QwtMmlNode *previousSibling() const
-    { return m_previous_sibling; }
-    QwtMmlNode *lastSibling() const;
-    QwtMmlNode *firstSibling() const;
-    bool isLastSibling() const
-    { return m_next_sibling == 0; }
-    bool isFirstSibling() const
-    { return m_previous_sibling == 0; }
-    bool hasChildNodes() const
-    { return m_first_child != 0; }
-
-protected:
-    virtual void layoutSymbol();
-    virtual void paintSymbol( QPainter *p ) const;
-    virtual QRect symbolRect() const
-    { return QRect( 0, 0, 0, 0 ); }
-
-    QwtMmlNode *parentWithExplicitAttribute( const QString &name, NodeType type = NoNode );
-    int interpretSpacing( const QString &value, bool *ok ) const;
-
-private:
-    QwtMmlAttributeMap m_attribute_map;
-    bool m_stretched;
-    QRect m_my_rect, m_parent_rect;
-    QPoint m_rel_origin;
-
-    NodeType m_node_type;
-    QwtMmlDocument *m_document;
-
-    QwtMmlNode *m_parent,
-            *m_first_child,
-            *m_next_sibling,
-            *m_previous_sibling;
-};
-
-class QwtMmlTokenNode : public QwtMmlNode
-{
-public:
-    QwtMmlTokenNode( NodeType type, QwtMmlDocument *document,
-                  const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( type, document, attribute_map ) {}
-
-    QString text() const;
-};
-
-class QwtMmlMphantomNode : public QwtMmlNode
-{
-public:
-    QwtMmlMphantomNode( QwtMmlDocument *document,
-                     const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MphantomNode, document, attribute_map ) {}
-
-    virtual void paint( QPainter * ) {}
-};
-
-class QwtMmlUnknownNode : public QwtMmlNode
-{
-public:
-    QwtMmlUnknownNode( QwtMmlDocument *document,
-                    const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( UnknownNode, document, attribute_map ) {}
-};
-
-class QwtMmlMfencedNode : public QwtMmlNode
-{
-public:
-    QwtMmlMfencedNode( QwtMmlDocument *document,
-                    const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MfencedNode, document, attribute_map ) {}
-};
-
-class QwtMmlMalignMarkNode : public QwtMmlNode
-{
-public:
-    QwtMmlMalignMarkNode( QwtMmlDocument *document )
-        : QwtMmlNode( MalignMarkNode, document, QwtMmlAttributeMap() ) {}
-};
-
-class QwtMmlMfracNode : public QwtMmlNode
-{
-public:
-    QwtMmlMfracNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MfracNode, document, attribute_map ) {}
-
-    QwtMmlNode *numerator() const;
-    QwtMmlNode *denominator() const;
-
-protected:
-    virtual void layoutSymbol();
-    virtual void paintSymbol( QPainter *p ) const;
-    virtual QRect symbolRect() const;
-};
-
-class QwtMmlMrowNode : public QwtMmlNode
-{
-public:
-    QwtMmlMrowNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MrowNode, document, attribute_map ) {}
-};
-
-class QwtMmlRootBaseNode : public QwtMmlNode
-{
-public:
-    QwtMmlRootBaseNode( NodeType type, QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( type, document, attribute_map ) {}
-
-    QwtMmlNode *base() const;
-    QwtMmlNode *index() const;
-
-    virtual int scriptlevel( const QwtMmlNode *child = 0 ) const;
-
-protected:
-    virtual void layoutSymbol();
-    virtual void paintSymbol( QPainter *p ) const;
-    virtual QRect symbolRect() const;
-    int tailWidth() const;
-};
-
-class QwtMmlMrootNode : public QwtMmlRootBaseNode
-{
-public:
-    QwtMmlMrootNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlRootBaseNode( MrootNode, document, attribute_map ) {}
-};
-
-class QwtMmlMsqrtNode : public QwtMmlRootBaseNode
-{
-public:
-    QwtMmlMsqrtNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlRootBaseNode( MsqrtNode, document, attribute_map ) {}
-
-};
-
-
-class QwtMmlTextNode : public QwtMmlNode
-{
-public:
-    QwtMmlTextNode( const QString &text, QwtMmlDocument *document );
-
-    virtual QString toStr() const;
-    QString text() const
-    { return m_text; }
-
-    // TextNodes are not xml elements, so they can't have attributes of
-    // their own. Everything is taken from the parent.
-    virtual QFont font() const
-    { return parent()->font(); }
-    virtual int scriptlevel( const QwtMmlNode* = 0 ) const
-    { return parent()->scriptlevel( this ); }
-    virtual QColor color() const
-    { return parent()->color(); }
-    virtual QColor background() const
-    { return parent()->background(); }
-
-protected:
-    virtual void paintSymbol( QPainter *p ) const;
-    virtual QRect symbolRect() const;
-
-    QString m_text;
-};
-
-class QwtMmlMiNode : public QwtMmlTokenNode
-{
-public:
-    QwtMmlMiNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlTokenNode( MiNode, document, attribute_map ) {}
-};
-
-class QwtMmlMnNode : public QwtMmlTokenNode
-{
-public:
-    QwtMmlMnNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlTokenNode( MnNode, document, attribute_map ) {}
-};
-
-class QwtMmlSubsupBaseNode : public QwtMmlNode
-{
-public:
-    QwtMmlSubsupBaseNode( NodeType type, QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( type, document, attribute_map ) {}
-
-    QwtMmlNode *base() const;
-    QwtMmlNode *sscript() const;
-
-    virtual int scriptlevel( const QwtMmlNode *child = 0 ) const;
-};
-
-class QwtMmlMsupNode : public QwtMmlSubsupBaseNode
-{
-public:
-    QwtMmlMsupNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlSubsupBaseNode( MsupNode, document, attribute_map ) {}
-
-protected:
-    virtual void layoutSymbol();
-};
-
-class QwtMmlMsubNode : public QwtMmlSubsupBaseNode
-{
-public:
-    QwtMmlMsubNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlSubsupBaseNode( MsubNode, document, attribute_map ) {}
-
-protected:
-    virtual void layoutSymbol();
-};
-
-class QwtMmlMsubsupNode : public QwtMmlNode
-{
-public:
-    QwtMmlMsubsupNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MsubsupNode, document, attribute_map ) {}
-
-    QwtMmlNode *base() const;
-    QwtMmlNode *superscript() const;
-    QwtMmlNode *subscript() const;
-
-    virtual int scriptlevel( const QwtMmlNode *child = 0 ) const;
-
-protected:
-    virtual void layoutSymbol();
-};
-
-class QwtMmlMoNode : public QwtMmlTokenNode
-{
-public:
-    QwtMmlMoNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map );
-
-    QString dictionaryAttribute( const QString &name ) const;
-    virtual void stretch();
-    virtual int lspace() const;
-    virtual int rspace() const;
-
-    virtual QString toStr() const;
-
-protected:
-    virtual void layoutSymbol();
-    virtual QRect symbolRect() const;
-
-    virtual FormType form() const;
-
-private:
-    const QwtMmlOperSpec *m_oper_spec;
-};
-
-class QwtMmlMstyleNode : public QwtMmlNode
-{
-public:
-    QwtMmlMstyleNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MstyleNode, document, attribute_map ) {}
-};
-
-class QwtMmlTableBaseNode : public QwtMmlNode
-{
-public:
-    QwtMmlTableBaseNode( NodeType type, QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( type, document, attribute_map ) {}
-};
-
-class QwtMmlMtableNode : public QwtMmlTableBaseNode
-{
-public:
-    QwtMmlMtableNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlTableBaseNode( MtableNode, document, attribute_map ) {}
-
-    int rowspacing() const;
-    int columnspacing() const;
-    int framespacing_hor() const;
-    int framespacing_ver() const;
-    FrameType frame() const;
-    FrameType columnlines( int idx ) const;
-    FrameType rowlines( int idx ) const;
-
-protected:
-    virtual void layoutSymbol();
-    virtual QRect symbolRect() const;
-    virtual void paintSymbol( QPainter *p ) const;
-
-private:
-    struct CellSizeData
-    {
-        void init( const QwtMmlNode *first_row );
-        QList<int> col_widths, row_heights;
-        int numCols() const { return col_widths.count(); }
-        int numRows() const { return row_heights.count(); }
-        uint colWidthSum() const;
-        uint rowHeightSum() const;
-    };
-
-    CellSizeData m_cell_size_data;
-    int m_content_width, m_content_height;
-};
-
-class QwtMmlMtrNode : public QwtMmlTableBaseNode
-{
-public:
-    QwtMmlMtrNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlTableBaseNode( MtrNode, document, attribute_map ) {}
-    void layoutCells( const QList<int> &col_widths, int col_spc );
-};
-
-class QwtMmlMtdNode : public QwtMmlTableBaseNode
-{
-public:
-    QwtMmlMtdNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlTableBaseNode( MtdNode, document, attribute_map )
-    { m_scriptlevel_adjust = 0; }
-    virtual void setMyRect( const QRect &rect );
-
-    ColAlign columnalign();
-    RowAlign rowalign();
-    uint colNum();
-    uint rowNum();
-    virtual int scriptlevel( const QwtMmlNode *child = 0 ) const;
-
-private:
-    int m_scriptlevel_adjust; // added or subtracted to scriptlevel to
-    // make contents fit the cell
-};
-
-class QwtMmlMoverNode : public QwtMmlNode
-{
-public:
-    QwtMmlMoverNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MoverNode, document, attribute_map ) {}
-    virtual int scriptlevel( const QwtMmlNode *node = 0 ) const;
-
-protected:
-    virtual void layoutSymbol();
-};
-
-class QwtMmlMunderNode : public QwtMmlNode
-{
-public:
-    QwtMmlMunderNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MunderNode, document, attribute_map ) {}
-    virtual int scriptlevel( const QwtMmlNode *node = 0 ) const;
-
-protected:
-    virtual void layoutSymbol();
-};
-
-class QwtMmlMunderoverNode : public QwtMmlNode
-{
-public:
-    QwtMmlMunderoverNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MunderoverNode, document, attribute_map ) {}
-    virtual int scriptlevel( const QwtMmlNode *node = 0 ) const;
-
-protected:
-    virtual void layoutSymbol();
-};
-
-class QwtMmlMerrorNode : public QwtMmlNode
-{
-public:
-    QwtMmlMerrorNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MerrorNode, document, attribute_map ) {}
-};
-
-class QwtMmlMtextNode : public QwtMmlNode
-{
-public:
-    QwtMmlMtextNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MtextNode, document, attribute_map ) {}
-};
-
-class QwtMmlMpaddedNode : public QwtMmlNode
-{
-public:
-    QwtMmlMpaddedNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MpaddedNode, document, attribute_map ) {}
-
-public:
-    int lspace() const;
-    int width() const;
-    int height() const;
-    int depth() const;
-
-protected:
-    int interpretSpacing( QString value, int base_value, bool *ok ) const;
-    virtual void layoutSymbol();
-    virtual QRect symbolRect() const;
-};
-
-class QwtMmlMspaceNode : public QwtMmlNode
-{
-public:
-    QwtMmlMspaceNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-        : QwtMmlNode( MspaceNode, document, attribute_map ) {}
-};
-
-static const QwtMmlNodeSpec *mmlFindNodeSpec( QwtMml::NodeType type );
-static const QwtMmlNodeSpec *mmlFindNodeSpec( const QString &tag );
-static bool mmlCheckChildType( QwtMml::NodeType parent_type,
-                               QwtMml::NodeType child_type, QString *error_str );
-static bool mmlCheckAttributes( QwtMml::NodeType child_type,
-                                const QwtMmlAttributeMap &attr, QString *error_str );
-static QString mmlDictAttribute( const QString &name, const QwtMmlOperSpec *spec );
-static const QwtMmlOperSpec *mmlFindOperSpec( const QString &name, QwtMml::FormType form );
-static int interpretSpacing( QString name, int em, int ex, bool *ok );
-static int interpretPercentSpacing( QString value, int base, bool *ok );
-static uint interpretMathVariant( const QString &value, bool *ok );
-static QwtMml::FormType interpretForm( const QString &value, bool *ok );
-static QwtMml::FrameType interpretFrameType( const QString &value_list, uint idx, bool *ok );
-static QwtMml::FrameSpacing interpretFrameSpacing( const QString &value_list, int em, int ex, bool *ok );
-static QwtMml::ColAlign interpretColAlign( const QString &value_list, uint colnum, bool *ok );
-static QwtMml::RowAlign interpretRowAlign( const QString &value_list, uint rownum, bool *ok );
-static QwtMml::FrameType interpretFrameType( const QString &value_list, uint idx, bool *ok );
-static QFont interpretDepreciatedFontAttr( const QwtMmlAttributeMap &font_attr, QFont &fn, int em, int ex );
-static QFont interpretMathSize( QString value, QFont &fn, int em, int ex, bool *ok );
-static QString interpretListAttr( const QString &value_list, int idx, const QString &def );
-static QString rectToStr( const QRect &rect );
-static QString entityDeclarations();
-
-
-#define MML_ATT_COMMON      " class style id xref actiontype "
-#define MML_ATT_FONTSIZE    " fontsize fontweight fontstyle fontfamily color "
-#define MML_ATT_MATHVARIANT " mathvariant mathsize mathcolor mathbackground "
-#define MML_ATT_FONTINFO    MML_ATT_FONTSIZE MML_ATT_MATHVARIANT
-#define MML_ATT_OPINFO      " form fence separator lspace rspace stretchy symmetric " \
-    " maxsize minsize largeop movablelimits accent "
-#define MML_ATT_SIZEINFO    " width height depth "
-#define MML_ATT_TABLEINFO   " align rowalign columnalign columnwidth groupalign " \
-    " alignmentscope side rowspacing columnspacing rowlines " \
-    " columnlines width frame framespacing equalrows " \
-    " equalcolumns displaystyle "
-#define MML_ATT_MFRAC       " bevelled numalign denomalign linethickness "
-#define MML_ATT_MSTYLE      MML_ATT_FONTINFO MML_ATT_OPINFO \
-    " scriptlevel lquote rquote linethickness displaystyle " \
-    " scriptsizemultiplier scriptminsize background " \
-    " veryverythinmathspace verythinmathspace thinmathspace " \
-    " mediummathspace thickmathspace verythickmathspace " \
-    " veryverythickmathspace open close separators " \
-    " subscriptshift superscriptshift accentunder tableinfo " \
-    " rowspan columnspan edge selection bevelled "
-#define MML_ATT_MTABLE      " align rowalign columnalign groupalign alignmentscope " \
-    " columnwidth width rowspacing columnspacing rowlines columnlines " \
-    " frame framespacing equalrows equalcolumns displaystyle side " \
-    " minlabelspacing "
-
-static const QwtMmlNodeSpec g_node_spec_data[] =
-{
-
-//      type                    tag             type_str            child_spec              child_types              attributes ""=none, 0=any
-//      ----------------------- --------------- ------------------- ----------------------- ------------------------ ------------------------------------
-    {   QwtMml::MiNode,         "mi",           "MiNode",           QwtMmlNodeSpec::ChildAny,      " TextNode MalignMark ", MML_ATT_COMMON MML_ATT_FONTINFO     },
-    {   QwtMml::MnNode,         "mn",           "MnNode",           QwtMmlNodeSpec::ChildAny,      " TextNode MalignMark ", MML_ATT_COMMON MML_ATT_FONTINFO     },
-    {   QwtMml::MfracNode,      "mfrac",        "MfracNode",        2,              0,                       MML_ATT_COMMON MML_ATT_MFRAC         },
-    {   QwtMml::MrowNode,       "mrow",         "MrowNode",         QwtMmlNodeSpec::ChildAny,     0,                       MML_ATT_COMMON " display mode "      },
-    {   QwtMml::MsqrtNode,      "msqrt",        "MsqrtNode",        QwtMmlNodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON                      },
-    {   QwtMml::MrootNode,      "mroot",        "MrootNode",        2,              0,                       MML_ATT_COMMON                       },
-    {   QwtMml::MsupNode,       "msup",         "MsupNode",         2,                      0,                       MML_ATT_COMMON " subscriptshift "    },
-    {   QwtMml::MsubNode,       "msub",         "MsubNode",         2,                      0,                       MML_ATT_COMMON " superscriptshift "  },
-    {   QwtMml::MsubsupNode,    "msubsup",      "MsubsupNode",      3,                      0,                       MML_ATT_COMMON " subscriptshift superscriptshift " },
-    {   QwtMml::MoNode,         "mo",           "MoNode",           QwtMmlNodeSpec::ChildAny,     " TextNode MalignMark ", MML_ATT_COMMON MML_ATT_FONTINFO MML_ATT_OPINFO    },
-    {   QwtMml::MstyleNode,     "mstyle",       "MstyleNode",       QwtMmlNodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON MML_ATT_MSTYLE       },
-    {   QwtMml::MphantomNode,   "mphantom",     "MphantomNode",     QwtMmlNodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON                     },
-    {   QwtMml::MalignMarkNode, "malignmark",   "MalignMarkNode",   0,                      0,                       ""                                  },
-    {   QwtMml::MfencedNode,    "mfenced",  "MfencedNode",      QwtMmlNodeSpec::ChildAny,       0,                       MML_ATT_COMMON " open close separators "           },
-    {   QwtMml::MtableNode,     "mtable",       "MtableNode",       QwtMmlNodeSpec::ChildAny,       " MtrNode ",             MML_ATT_COMMON MML_ATT_MTABLE       },
-    {   QwtMml::MtrNode,            "mtr",      "MtrNode",      QwtMmlNodeSpec::ChildAny,       " MtdNode ",             MML_ATT_COMMON " rowalign columnalign groupalign " },
-    {   QwtMml::MtdNode,            "mtd",      "MtdNode",      QwtMmlNodeSpec::ImplicitMrow, 0,                     MML_ATT_COMMON " rowspan columnspan rowalign columnalign groupalign " },
-    {   QwtMml::MoverNode,      "mover",    "MoverNode",        2,                      0,                   MML_ATT_COMMON " accent "           },
-    {   QwtMml::MunderNode,     "munder",       "MunderNode",       2,                      0,                   MML_ATT_COMMON " accentunder "  },
-    {   QwtMml::MunderoverNode,    "munderover",   "MunderoverNode",   3,                       0,                   MML_ATT_COMMON " accentunder accent " },
-    {   QwtMml::MerrorNode,     "merror",       "MerrorNode",       QwtMmlNodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON                    },
-    {   QwtMml::MtextNode,      "mtext",    "MtextNode",        1,                      " TextNode ",            MML_ATT_COMMON " width height depth linebreak " },
-    {   QwtMml::MpaddedNode,    "mpadded",      "MpaddedNode",      QwtMmlNodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON " width height depth lspace " },
-    {   QwtMml::MspaceNode,     "mspace",       "MspaceNode",       QwtMmlNodeSpec::ImplicitMrow, 0,                       MML_ATT_COMMON " width height depth linebreak " },
-    {   QwtMml::TextNode,       0,              "TextNode",         QwtMmlNodeSpec::ChildIgnore,  0,                       ""                                  },
-    {   QwtMml::UnknownNode,    0,          "UnknownNode",      QwtMmlNodeSpec::ChildAny,     0,                       0                                     },
-    {   QwtMml::NoNode,         0,          0,                  0,                      0,                       0                                   }
-};
-
-static const char *g_oper_spec_names[g_oper_spec_rows] = {                                   "accent",                 "fence",               "largeop",                "lspace",               "minsize",         "movablelimits",                "rspace",             "separator",              "stretchy"       /* stretchdir */ };
-static const QwtMmlOperSpec g_oper_spec_data[] =
-{
-
-    { "!!"                      ,       QwtMml::PostfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "!!"
-    { "!"                       ,       QwtMml::PostfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "!"
-    { "!="                      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "!="
-    { "⩓"               ,         QwtMml::InfixForm, {              0,               0,               0,       "mediummathspace",           0,           0,   "mediummathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⩓"
-    { "⁡"     ,         QwtMml::InfixForm, {              0,               0,               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⁡"
-    { "≔"                ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≔"
-    { "∖"             ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "∖"
-    { "∵"               ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∵"
-    { "˘"             ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "˘"
-    { "⋒"               ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⋒"
-    { "ⅅ"       ,       QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ⅅ"
-    { "¸"               ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "¸"
-    { "·"             ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "·"
-    { "⊙"             ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊙"
-    { "⊖"       ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊖"
-    { "⊕"        ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊕"
-    { "⊗"       ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊗"
-    { "∲"   ,       QwtMml::PrefixForm, {              0,               0,          "true",           "0em",           0,           0,           "0em",               0,           "true"},            QwtMmlOperSpec::VStretch }, // ∲"
-    { "”"      ,      QwtMml::PostfixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ”"
-    { "’"       ,       QwtMml::PostfixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "’"
-    { "∷"             ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∷"
-    { "≡"             ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≡"
-    { "∮"       ,        QwtMml::PrefixForm, {              0,               0,          "true",           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "∮"
-    { "∐"             ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∐"
-    { "∳",       QwtMml::PrefixForm, {                  0,               0,          "true",           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // &CounterClockwiseContourInteg
-    { "⨯"             ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⨯"
-    { "⋓"               ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⋓"
-    { "≍"                ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≍"
-    { "∇"               ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∇"
-    { "´"      ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "´"
-    { "˙"        ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "˙"
-    { "˝"    ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ˝"
-    { "`"      ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "`"
-    { "&DiacriticalLeftArrow;"      ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // &DiacriticalLeftArrow;"
-    { "&DiacriticalLeftRightArrow;"  ,      QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // &DiacriticalLeftRightArrow;"
-    { "&DiacriticalLeftRightVector;" ,      QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // &DiacriticalLeftRightVector;"
-    { "&DiacriticalLeftVector;"      ,      QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // &DiacriticalLeftVector;"
-    { "&DiacriticalRightArrow;"     ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // &DiacriticalRightArrow;"
-    { "&DiacriticalRightVector;"    ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // &DiacriticalRightVector;"
-    { "˜"      ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },           QwtMmlOperSpec::NoStretch }, // "˜"
-    { "⋄"               ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⋄"
-    { "ⅆ"     ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "ⅆ"
-    { "≐"              ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≐"
-    { "∯"      ,       QwtMml::PrefixForm, {              0,               0,          "true",           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // ∯"
-    { "¨"             ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "¨"
-    { "⇓"       ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⇓"
-    { "⇐"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⇐"
-    { "⇔"       ,        QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // ⇔"
-    { "⫤"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⫤"
-    { "⟸"   ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⟸"
-    { "⟺"  ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // ⟺"
-    { "⟹"       ,        QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // ⟹"
-    { "⇒"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⇒"
-    { "⊨"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊨"
-    { "⇑"     ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⇑"
-    { "⇕"     ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⇕"
-    { "∥"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∥"
-    { "↓"             ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "↓"
-    { "⤓"      ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⤓"
-    { "⇵"      ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⇵"
-    { "̑"             ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "̑"
-    { "⥐"   ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥐"
-    { "⥞"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥞"
-    { "↽"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "↽"
-    { "⥖"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥖"
-    { "⥟"    ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥟"
-    { "⇁"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⇁"
-    { "⥗"    ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥗"
-    { "⊤"               ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊤"
-    { "↧"      ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "↧"
-    { "∈"               ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∈"
-    { "⩵"             ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⩵"
-    { "≂"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≂"
-    { "⇌"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⇌"
-    { "∃"                ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∃"
-    { "∀"                ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∀"
-    { "≥"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≥"
-    { "⋛"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⋛"
-    { "≧"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≧"
-    { "⪢"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⪢"
-    { "≷"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≷"
-    { "⩾"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⩾"
-    { "≳"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≳"
-    { "ˇ"             ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },           QwtMmlOperSpec::NoStretch }, // "ˇ"
-    { "^"               ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "^"
-    { "─"        ,         QwtMml::InfixForm, {              0,               0,               0,           "0em",             "0",           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "─"
-    { "≎"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≎"
-    { "≏"             ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≏"
-    { "⇒"               ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⇒"
-    { "∫"              ,        QwtMml::PrefixForm, {              0,               0,          "true",           "0em",           0,           0,           "0em",               0,                   0 },           QwtMmlOperSpec::NoStretch }, // "∫"
-    { "⋂"      ,        QwtMml::PrefixForm, {              0,               0,          "true",           "0em",           0,          "true",     "thinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⋂"
-    { "⁣"        ,         QwtMml::InfixForm, {              0,               0,               0,           "0em",           0,           0,           "0em",              "true",               0 },           QwtMmlOperSpec::NoStretch }, // "⁣"
-    { "⁢"        ,         QwtMml::InfixForm, {              0,               0,               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⁢"
-    { "⟨"      ,        QwtMml::PrefixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⟨"
-    { "←"             ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "←"
-    { "⇤"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⇤"
-    { "⇆"   ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⇆"
-    { "&LeftBracketingBar;"     ,        QwtMml::PrefixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "&LeftBracketingBar;"
-    { "⌈"       ,        QwtMml::PrefixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⌈"
-    { "⟦"     ,        QwtMml::PrefixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⟦"
-    { "&LeftDoubleBracketingBar;"    ,       QwtMml::PrefixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // &LeftDoubleBracketingBar;"
-    { "⥡"     ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥡"
-    { "⇃"        ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⇃"
-    { "⥙"     ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥙"
-    { "⌊"             ,        QwtMml::PrefixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⌊"
-    { "↔"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "↔"
-    { "⥎"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⥎"
-    { "&LeftSkeleton;"      ,        QwtMml::PrefixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "&LeftSkeleton;"
-    { "⊣"               ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊣"
-    { "↤"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "↤"
-    { "⥚"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⥚"
-    { "⊲"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊲"
-    { "⧏"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⧏"
-    { "⊴"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊴"
-    { "⥑"      ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥑"
-    { "⥠"       ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥠"
-    { "↿"      ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "↿"
-    { "⥘"       ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥘"
-    { "↼"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "↼"
-    { "⥒"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⥒"
-    { "⋚"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⋚"
-    { "≦"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≦"
-    { "≶"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≶"
-    { "⪡"              ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⪡"
-    { "⩽"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⩽"
-    { "≲"             ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≲"
-    { "⟵"     ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⟵"
-    { "⟷"        ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⟷"
-    { "⟶"        ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⟶"
-    { "↙"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "↙"
-    { "↘"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "↘"
-    { "∓"             ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0, "veryverythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∓"
-    { "≫"       ,        QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ≫"
-    { "≪"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≪"
-    { "⫬"               ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⫬"
-    { "≢"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≢"
-    { "≭"             ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≭"
-    { "∦"       ,        QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ∦"
-    { "∉"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∉"
-    { "≠"              ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≠"
-    { "≂̸"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≂̸"
-    { "∄"             ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∄"
-    { "≯"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≯"
-    { "≱"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≱"
-    { "≧̸"   ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≧̸"
-    { "≫̸"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≫̸"
-    { "≹"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≹"
-    { "⩾̸"       ,        QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ⩾̸"
-    { "≵"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≵"
-    { "≎̸"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≎̸"
-    { "≏̸"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≏̸"
-    { "⋪"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⋪"
-    { "⧏̸"    ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⧏̸"
-    { "⋬"       ,        QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ⋬"
-    { "≮"               ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≮"
-    { "≰"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≰"
-    { "&NotLessFullEqual;"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "&NotLessFullEqual;"
-    { "≸"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≸"
-    { "≪̸"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≪̸"
-    { "⩽̸"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⩽̸"
-    { "≴"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≴"
-    { "⪢̸"    ,        QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ⪢̸"
-    { "⪡̸"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⪡̸"
-    { "⊀"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊀"
-    { "⪯̸"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⪯̸"
-    { "⋠"      ,        QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ⋠"
-    { "&NotPrecedesTilde;"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "&NotPrecedesTilde;"
-    { "∌"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∌"
-    { "⋫"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⋫"
-    { "⧐̸"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⧐̸"
-    { "⋭"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ⋭"
-    { "⊏̸"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊏̸"
-    { "⋢"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ⋢"
-    { "⊐̸"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊐̸"
-    { "⋣"     ,        QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ⋣"
-    { "⊂⃒"             ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊂⃒"
-    { "⊈"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊈"
-    { "⊁"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊁"
-    { "⪰̸"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⪰̸"
-    { "⋡"      ,        QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ⋡"
-    { "≿̸"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≿̸"
-    { "⊃⃒"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊃⃒"
-    { "⊉"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊉"
-    { "≁"              ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≁"
-    { "≄"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≄"
-    { "≇"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≇"
-    { "≉"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≉"
-    { "∤"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∤"
-    { "“"       ,       QwtMml::PrefixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // “"
-    { "‘"        ,        QwtMml::PrefixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "‘"
-    { "⩔"                ,         QwtMml::InfixForm, {              0,               0,               0,       "mediummathspace",           0,           0,   "mediummathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⩔"
-    { "‾"               ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "‾"
-    { "⏞"             ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⏞"
-    { "⎴"       ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⎴"
-    { "⏜"       ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⏜"
-    { "∂"              ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∂"
-    { "±"             ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0, "veryverythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "±"
-    { "≺"              ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≺"
-    { "⪯"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⪯"
-    { "≼"    ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≼"
-    { "≾"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≾"
-    { "∏"               ,        QwtMml::PrefixForm, {              0,               0,          "true",           "0em",           0,          "true",     "thinmathspace",               0,                   0 },           QwtMmlOperSpec::NoStretch }, // "∏"
-    { "∷"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∷"
-    { "∝"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∝"
-    { "∋"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∋"
-    { "⇋"    ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⇋"
-    { "⥯"      ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // ⥯"
-    { "⟩"     ,       QwtMml::PostfixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⟩"
-    { "→"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "→"
-    { "⇥"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⇥"
-    { "⇄"   ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⇄"
-    { "&RightBracketingBar;"    ,       QwtMml::PostfixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "&RightBracketingBar;"
-    { "⌉"      ,       QwtMml::PostfixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⌉"
-    { "⟧"    ,       QwtMml::PostfixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⟧"
-    { "&RightDoubleBracketingBar;"   ,      QwtMml::PostfixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // &RightDoubleBracketingBar;"
-    { "⥝"    ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥝"
-    { "⇂"       ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⇂"
-    { "⥕"    ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥕"
-    { "⌋"        ,       QwtMml::PostfixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⌋"
-    { "&RightSkeleton;"     ,       QwtMml::PostfixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "&RightSkeleton;"
-    { "⊢"              ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊢"
-    { "↦"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "↦"
-    { "⥛"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⥛"
-    { "⊳"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊳"
-    { "⧐"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⧐"
-    { "⊵"    ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊵"
-    { "⥏"     ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⥏"
-    { "⥜"      ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥜"
-    { "↾"     ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "↾"
-    { "⥔"      ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⥔"
-    { "⇀"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⇀"
-    { "⥓"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⥓"
-    { "⥰"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⥰"
-    { "↓"        ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "↓"
-    { "←"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },            QwtMmlOperSpec::HStretch }, // "←"
-    { "→"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },            QwtMmlOperSpec::HStretch }, // "→"
-    { "↑"      ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,               0 },            QwtMmlOperSpec::VStretch }, // "↑"
-    { "∘"       ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∘"
-    { "√"              ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "√"
-    { "□"                ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "□"
-    { "⊓"    ,         QwtMml::InfixForm, {              0,               0,               0,       "mediummathspace",           0,           0,   "mediummathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⊓"
-    { "⊏"      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊏"
-    { "⊑"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊑"
-    { "⊐"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊐"
-    { "⊒"   ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊒"
-    { "⊔"       ,         QwtMml::InfixForm, {              0,               0,               0,       "mediummathspace",           0,           0,   "mediummathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⊔"
-    { "⋆"              ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⋆"
-    { "⋐"                ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⋐"
-    { "⊆"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊆"
-    { "≻"              ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≻"
-    { "⪰"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⪰"
-    { "≽"    ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≽"
-    { "≿"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≿"
-    { "∋"              ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∋"
-    { "∑"               ,        QwtMml::PrefixForm, {              0,               0,          "true",           "0em",           0,          "true",     "thinmathspace",               0,                   0 },           QwtMmlOperSpec::NoStretch }, // "∑"
-    { "⊃"              ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊃"
-    { "⊇"     ,                 QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊇"
-    { "∴"             ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∴"
-    { "∼"             ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∼"
-    { "≃"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≃"
-    { "≅"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≅"
-    { "≈"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≈"
-    { "⃛"             ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⃛"
-    { "_"              ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "_"
-    { "⏟"        ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⏟"
-    { "⎵"      ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },           QwtMmlOperSpec::HStretch }, // "⎵"
-    { "⏝"      ,       QwtMml::PostfixForm, {             "true",               0,               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::HStretch }, // "⏝"
-    { "⋃"             ,        QwtMml::PrefixForm, {              0,               0,          "true",           "0em",           0,          "true",     "thinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⋃"
-    { "⊎"             ,        QwtMml::PrefixForm, {              0,               0,          "true",           "0em",           0,          "true",     "thinmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "⊎"
-    { "↑"               ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "↑"
-    { "⤒"        ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⤒"
-    { "⇅"      ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⇅"
-    { "↕"       ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "↕"
-    { "⥮"     ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "⥮"
-    { "⊥"             ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⊥"
-    { "↥"        ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "↥"
-    { "↖"        ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "↖"
-    { "↗"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },           QwtMmlOperSpec::HVStretch }, // "↗"
-    { "⋁"               ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⋁"
-    { "∣"       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "∣"
-    { "|"      ,         QwtMml::InfixForm, {              0,               0,               0,           "0em",             "0",           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "|"
-    { "❘"     ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "❘"
-    { "≀"     ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≀"
-    { "⋀"             ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "⋀"
-    { "&"               ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "&"
-    { "&&"              ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "&&"
-    { "≤"                ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "≤"
-    { "<"                ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "<"
-    { "<="               ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "<="
-    { "<>"               ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "<>"
-    { "'"                       ,       QwtMml::PostfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "'"
-    { "("                       ,        QwtMml::PrefixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "("
-    { ")"                       ,       QwtMml::PostfixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // ")"
-    { "*"                       ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "*"
-    { "**"                      ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "**"
-    { "*="                      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "*="
-    { "+"                       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "+"
-    { "+"                       ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0, "veryverythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "+"
-    { "++"                      ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "++"
-    { "+="                      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "+="
-    { ","                       ,         QwtMml::InfixForm, {              0,               0,               0,           "0em",           0,           0,    "verythickmathspace",              "true",               0 },           QwtMmlOperSpec::NoStretch }, // ","
-    { "-"                       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "-"
-    { "-"                       ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0, "veryverythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "-"
-    { "--"                      ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, //   "--"
-    { "-="                      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "-="
-    { "->"                      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "->"
-    { "."                       ,         QwtMml::InfixForm, {              0,               0,               0,           "0em",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "."
-    { ".."                      ,       QwtMml::PostfixForm, {              0,               0,               0,       "mediummathspace",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ".."
-    { "..."                     ,       QwtMml::PostfixForm, {              0,               0,               0,       "mediummathspace",           0,           0,           "0em",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "..."
-    { "/"                       ,         QwtMml::InfixForm, {              0,               0,               0,     "thinmathspace",           0,           0,     "thinmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "/"
-    { "//"                      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "//"
-    { "/="                      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "/="
-    { ":"                       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ":"
-    { ":="                      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ":="
-    { ";"                       ,         QwtMml::InfixForm, {              0,               0,               0,           "0em",           0,           0,    "verythickmathspace",              "true",               0 },           QwtMmlOperSpec::NoStretch }, // ";"
-    { ";"                       ,       QwtMml::PostfixForm, {              0,               0,               0,           "0em",           0,           0,           "0em",              "true",               0 },           QwtMmlOperSpec::NoStretch }, // ";"
-    { "="                       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "="
-    { "=="                      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "=="
-    { ">"                       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ">"
-    { ">="                      ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // ">="
-    { "?"                       ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "?"
-    { "@"                       ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "@"
-    { "["                       ,        QwtMml::PrefixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "["
-    { "]"                       ,       QwtMml::PostfixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "]"
-    { "^"                       ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "^"
-    { "_"                       ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "_"
-    { "lim"                     ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,          "true",     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "lim"
-    { "max"                     ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,          "true",     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "max"
-    { "min"                     ,        QwtMml::PrefixForm, {              0,               0,               0,           "0em",           0,          "true",     "thinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "min"
-    { "{"                   ,        QwtMml::PrefixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "{"
-    { "|"                       ,         QwtMml::InfixForm, {              0,               0,               0,    "thickmathspace",           0,           0,    "thickmathspace",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "|"
-    { "||"                      ,         QwtMml::InfixForm, {              0,               0,               0,       "mediummathspace",           0,           0,   "mediummathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "||"
-    { "}"                       ,       QwtMml::PostfixForm, {              0,          "true",               0,           "0em",           0,           0,           "0em",               0,              "true" },            QwtMmlOperSpec::VStretch }, // "}"
-    { "~"                       ,         QwtMml::InfixForm, {              0,               0,               0,     "verythinmathspace",           0,           0, "verythinmathspace",               0,               0 },           QwtMmlOperSpec::NoStretch }, // "~"
-
-    {  0                            ,                 QwtMml::InfixForm, {                      0,                       0,                       0,                       0,                       0,               0,                       0,                       0,                       0 },           QwtMmlOperSpec::NoStretch }
-};
-
-static const QwtMmlOperSpec g_oper_spec_defaults =
-{  0                            ,                 QwtMml::InfixForm, {                "false",                 "false",                 "false",         "thickmathspace",                     "1",            "false",        "thickmathspace",                 "false",                 "false" },           QwtMmlOperSpec::NoStretch  };
-
-static const uint g_oper_spec_count = sizeof( g_oper_spec_data ) / sizeof( QwtMmlOperSpec ) - 1;
-
-static const QwtMmlEntitySpec g_xml_entity_data[] =
-{
-    { "angzarr",    "&#x0237C;" },
-    { "cirmid", "&#x02AEF;" },
-    { "cudarrl",    "&#x02938;" },
-    { "cudarrr",    "&#x02935;" },
-    { "cularr", "&#x021B6;" },
-    { "cularrp",    "&#x0293D;" },
-    { "curarr", "&#x021B7;" },
-    { "curarrm",    "&#x0293C;" },
-    { "Darr",   "&#x021A1;" },
-    { "dArr",   "&#x021D3;" },
-    { "ddarr",  "&#x021CA;" },
-    { "DDotrahd",   "&#x02911;" },
-    { "dfisht", "&#x0297F;" },
-    { "dHar",   "&#x02965;" },
-    { "dharl",  "&#x021C3;" },
-    { "dharr",  "&#x021C2;" },
-    { "duarr",  "&#x021F5;" },
-    { "duhar",  "&#x0296F;" },
-    { "dzigrarr",   "&#x027FF;" },
-    { "erarr",  "&#x02971;" },
-    { "hArr",   "&#x021D4;" },
-    { "harr",   "&#x02194;" },
-    { "harrcir",    "&#x02948;" },
-    { "harrw",  "&#x021AD;" },
-    { "hoarr",  "&#x021FF;" },
-    { "imof",   "&#x022B7;" },
-    { "lAarr",  "&#x021DA;" },
-    { "Larr",   "&#x0219E;" },
-    { "larrbfs",    "&#x0291F;" },
-    { "larrfs", "&#x0291D;" },
-    { "larrhk", "&#x021A9;" },
-    { "larrlp", "&#x021AB;" },
-    { "larrpl", "&#x02939;" },
-    { "larrsim",    "&#x02973;" },
-    { "larrtl", "&#x021A2;" },
-    { "lAtail", "&#x0291B;" },
-    { "latail", "&#x02919;" },
-    { "lBarr",  "&#x0290E;" },
-    { "lbarr",  "&#x0290C;" },
-    { "ldca",   "&#x02936;" },
-    { "ldrdhar",    "&#x02967;" },
-    { "ldrushar",   "&#x0294B;" },
-    { "ldsh",   "&#x021B2;" },
-    { "lfisht", "&#x0297C;" },
-    { "lHar",   "&#x02962;" },
-    { "lhard",  "&#x021BD;" },
-    { "lharu",  "&#x021BC;" },
-    { "lharul", "&#x0296A;" },
-    { "llarr",  "&#x021C7;" },
-    { "llhard", "&#x0296B;" },
-    { "loarr",  "&#x021FD;" },
-    { "lrarr",  "&#x021C6;" },
-    { "lrhar",  "&#x021CB;" },
-    { "lrhard", "&#x0296D;" },
-    { "lsh",    "&#x021B0;" },
-    { "lurdshar",   "&#x0294A;" },
-    { "luruhar",    "&#x02966;" },
-    { "Map",    "&#x02905;" },
-    { "map",    "&#x021A6;" },
-    { "midcir", "&#x02AF0;" },
-    { "mumap",  "&#x022B8;" },
-    { "nearhk", "&#x02924;" },
-    { "neArr",  "&#x021D7;" },
-    { "nearr",  "&#x02197;" },
-    { "nesear", "&#x02928;" },
-    { "nhArr",  "&#x021CE;" },
-    { "nharr",  "&#x021AE;" },
-    { "nlArr",  "&#x021CD;" },
-    { "nlarr",  "&#x0219A;" },
-    { "nrArr",  "&#x021CF;" },
-    { "nrarr",  "&#x0219B;" },
-    { "nrarrc", "&#x02933;&#x00338;" },
-    { "nrarrw", "&#x0219D;&#x00338;" },
-    { "nvHarr", "&#x02904;" },
-    { "nvlArr", "&#x02902;" },
-    { "nvrArr", "&#x02903;" },
-    { "nwarhk", "&#x02923;" },
-    { "nwArr",  "&#x021D6;" },
-    { "nwarr",  "&#x02196;" },
-    { "nwnear", "&#x02927;" },
-    { "olarr",  "&#x021BA;" },
-    { "orarr",  "&#x021BB;" },
-    { "origof", "&#x022B6;" },
-    { "rAarr",  "&#x021DB;" },
-    { "Rarr",   "&#x021A0;" },
-    { "rarrap", "&#x02975;" },
-    { "rarrbfs",    "&#x02920;" },
-    { "rarrc",  "&#x02933;" },
-    { "rarrfs", "&#x0291E;" },
-    { "rarrhk", "&#x021AA;" },
-    { "rarrlp", "&#x021AC;" },
-    { "rarrpl", "&#x02945;" },
-    { "rarrsim",    "&#x02974;" },
-    { "Rarrtl", "&#x02916;" },
-    { "rarrtl", "&#x021A3;" },
-    { "rarrw",  "&#x0219D;" },
-    { "rAtail", "&#x0291C;" },
-    { "ratail", "&#x0291A;" },
-    { "RBarr",  "&#x02910;" },
-    { "rBarr",  "&#x0290F;" },
-    { "rbarr",  "&#x0290D;" },
-    { "rdca",   "&#x02937;" },
-    { "rdldhar",    "&#x02969;" },
-    { "rdsh",   "&#x021B3;" },
-    { "rfisht", "&#x0297D;" },
-    { "rHar",   "&#x02964;" },
-    { "rhard",  "&#x021C1;" },
-    { "rharu",  "&#x021C0;" },
-    { "rharul", "&#x0296C;" },
-    { "rlarr",  "&#x021C4;" },
-    { "rlhar",  "&#x021CC;" },
-    { "roarr",  "&#x021FE;" },
-    { "rrarr",  "&#x021C9;" },
-    { "rsh",    "&#x021B1;" },
-    { "ruluhar",    "&#x02968;" },
-    { "searhk", "&#x02925;" },
-    { "seArr",  "&#x021D8;" },
-    { "searr",  "&#x02198;" },
-    { "seswar", "&#x02929;" },
-    { "simrarr",    "&#x02972;" },
-    { "slarr",  "&#x02190;" },
-    { "srarr",  "&#x02192;" },
-    { "swarhk", "&#x02926;" },
-    { "swArr",  "&#x021D9;" },
-    { "swarr",  "&#x02199;" },
-    { "swnwar", "&#x0292A;" },
-    { "Uarr",   "&#x0219F;" },
-    { "uArr",   "&#x021D1;" },
-    { "Uarrocir",   "&#x02949;" },
-    { "udarr",  "&#x021C5;" },
-    { "udhar",  "&#x0296E;" },
-    { "ufisht", "&#x0297E;" },
-    { "uHar",   "&#x02963;" },
-    { "uharl",  "&#x021BF;" },
-    { "uharr",  "&#x021BE;" },
-    { "uuarr",  "&#x021C8;" },
-    { "vArr",   "&#x021D5;" },
-    { "varr",   "&#x02195;" },
-    { "xhArr",  "&#x027FA;" },
-    { "xharr",  "&#x027F7;" },
-    { "xlArr",  "&#x027F8;" },
-    { "xlarr",  "&#x027F5;" },
-    { "xmap",   "&#x027FC;" },
-    { "xrArr",  "&#x027F9;" },
-    { "xrarr",  "&#x027F6;" },
-    { "zigrarr",    "&#x021DD;" },
-    { "ac", "&#x0223E;" },
-    { "acE",    "&#x0223E;&#x00333;" },
-    { "amalg",  "&#x02A3F;" },
-    { "barvee", "&#x022BD;" },
-    { "Barwed", "&#x02306;" },
-    { "barwed", "&#x02305;" },
-    { "bsolb",  "&#x029C5;" },
-    { "Cap",    "&#x022D2;" },
-    { "capand", "&#x02A44;" },
-    { "capbrcup",   "&#x02A49;" },
-    { "capcap", "&#x02A4B;" },
-    { "capcup", "&#x02A47;" },
-    { "capdot", "&#x02A40;" },
-    { "caps",   "&#x02229;&#x0FE00;" },
-    { "ccaps",  "&#x02A4D;" },
-    { "ccups",  "&#x02A4C;" },
-    { "ccupssm",    "&#x02A50;" },
-    { "coprod", "&#x02210;" },
-    { "Cup",    "&#x022D3;" },
-    { "cupbrcap",   "&#x02A48;" },
-    { "cupcap", "&#x02A46;" },
-    { "cupcup", "&#x02A4A;" },
-    { "cupdot", "&#x0228D;" },
-    { "cupor",  "&#x02A45;" },
-    { "cups",   "&#x0222A;&#x0FE00;" },
-    { "cuvee",  "&#x022CE;" },
-    { "cuwed",  "&#x022CF;" },
-    { "Dagger", "&#x02021;" },
-    { "dagger", "&#x02020;" },
-    { "diam",   "&#x022C4;" },
-    { "divonx", "&#x022C7;" },
-    { "eplus",  "&#x02A71;" },
-    { "hercon", "&#x022B9;" },
-    { "intcal", "&#x022BA;" },
-    { "iprod",  "&#x02A3C;" },
-    { "loplus", "&#x02A2D;" },
-    { "lotimes",    "&#x02A34;" },
-    { "lthree", "&#x022CB;" },
-    { "ltimes", "&#x022C9;" },
-    { "midast", "&#x0002A;" },
-    { "minusb", "&#x0229F;" },
-    { "minusd", "&#x02238;" },
-    { "minusdu",    "&#x02A2A;" },
-    { "ncap",   "&#x02A43;" },
-    { "ncup",   "&#x02A42;" },
-    { "oast",   "&#x0229B;" },
-    { "ocir",   "&#x0229A;" },
-    { "odash",  "&#x0229D;" },
-    { "odiv",   "&#x02A38;" },
-    { "odot",   "&#x02299;" },
-    { "odsold", "&#x029BC;" },
-    { "ofcir",  "&#x029BF;" },
-    { "ogt",    "&#x029C1;" },
-    { "ohbar",  "&#x029B5;" },
-    { "olcir",  "&#x029BE;" },
-    { "olt",    "&#x029C0;" },
-    { "omid",   "&#x029B6;" },
-    { "ominus", "&#x02296;" },
-    { "opar",   "&#x029B7;" },
-    { "operp",  "&#x029B9;" },
-    { "oplus",  "&#x02295;" },
-    { "osol",   "&#x02298;" },
-    { "Otimes", "&#x02A37;" },
-    { "otimes", "&#x02297;" },
-    { "otimesas",   "&#x02A36;" },
-    { "ovbar",  "&#x0233D;" },
-    { "plusacir",   "&#x02A23;" },
-    { "plusb",  "&#x0229E;" },
-    { "pluscir",    "&#x02A22;" },
-    { "plusdo", "&#x02214;" },
-    { "plusdu", "&#x02A25;" },
-    { "pluse",  "&#x02A72;" },
-    { "plussim",    "&#x02A26;" },
-    { "plustwo",    "&#x02A27;" },
-    { "prod",   "&#x0220F;" },
-    { "race",   "&#x029DA;" },
-    { "roplus", "&#x02A2E;" },
-    { "rotimes",    "&#x02A35;" },
-    { "rthree", "&#x022CC;" },
-    { "rtimes", "&#x022CA;" },
-    { "sdot",   "&#x022C5;" },
-    { "sdotb",  "&#x022A1;" },
-    { "setmn",  "&#x02216;" },
-    { "simplus",    "&#x02A24;" },
-    { "smashp", "&#x02A33;" },
-    { "solb",   "&#x029C4;" },
-    { "sqcap",  "&#x02293;" },
-    { "sqcaps", "&#x02293;&#x0FE00;" },
-    { "sqcup",  "&#x02294;" },
-    { "sqcups", "&#x02294;&#x0FE00;" },
-    { "ssetmn", "&#x02216;" },
-    { "sstarf", "&#x022C6;" },
-    { "subdot", "&#x02ABD;" },
-    { "sum",    "&#x02211;" },
-    { "supdot", "&#x02ABE;" },
-    { "timesb", "&#x022A0;" },
-    { "timesbar",   "&#x02A31;" },
-    { "timesd", "&#x02A30;" },
-    { "tridot", "&#x025EC;" },
-    { "triminus",   "&#x02A3A;" },
-    { "triplus",    "&#x02A39;" },
-    { "trisb",  "&#x029CD;" },
-    { "tritime",    "&#x02A3B;" },
-    { "uplus",  "&#x0228E;" },
-    { "veebar", "&#x022BB;" },
-    { "wedbar", "&#x02A5F;" },
-    { "wreath", "&#x02240;" },
-    { "xcap",   "&#x022C2;" },
-    { "xcirc",  "&#x025EF;" },
-    { "xcup",   "&#x022C3;" },
-    { "xdtri",  "&#x025BD;" },
-    { "xodot",  "&#x02A00;" },
-    { "xoplus", "&#x02A01;" },
-    { "xotime", "&#x02A02;" },
-    { "xsqcup", "&#x02A06;" },
-    { "xuplus", "&#x02A04;" },
-    { "xutri",  "&#x025B3;" },
-    { "xvee",   "&#x022C1;" },
-    { "xwedge", "&#x022C0;" },
-    { "dlcorn", "&#x0231E;" },
-    { "drcorn", "&#x0231F;" },
-    { "gtlPar", "&#x02995;" },
-    { "langd",  "&#x02991;" },
-    { "lbrke",  "&#x0298B;" },
-    { "lbrksld",    "&#x0298F;" },
-    { "lbrkslu",    "&#x0298D;" },
-    { "lceil",  "&#x02308;" },
-    { "lfloor", "&#x0230A;" },
-    { "lmoust", "&#x023B0;" },
-    { "lparlt", "&#x02993;" },
-    { "ltrPar", "&#x02996;" },
-    { "rangd",  "&#x02992;" },
-    { "rbrke",  "&#x0298C;" },
-    { "rbrksld",    "&#x0298E;" },
-    { "rbrkslu",    "&#x02990;" },
-    { "rceil",  "&#x02309;" },
-    { "rfloor", "&#x0230B;" },
-    { "rmoust", "&#x023B1;" },
-    { "rpargt", "&#x02994;" },
-    { "ulcorn", "&#x0231C;" },
-    { "urcorn", "&#x0231D;" },
-    { "gnap",   "&#x02A8A;" },
-    { "gnE",    "&#x02269;" },
-    { "gne",    "&#x02A88;" },
-    { "gnsim",  "&#x022E7;" },
-    { "gvnE",   "&#x02269;&#x0FE00;" },
-    { "lnap",   "&#x02A89;" },
-    { "lnE",    "&#x02268;" },
-    { "lne",    "&#x02A87;" },
-    { "lnsim",  "&#x022E6;" },
-    { "lvnE",   "&#x02268;&#x0FE00;" },
-    { "nap",    "&#x02249;" },
-    { "napE",   "&#x02A70;&#x00338;" },
-    { "napid",  "&#x0224B;&#x00338;" },
-    { "ncong",  "&#x02247;" },
-    { "ncongdot",   "&#x02A6D;&#x00338;" },
-    { "nequiv", "&#x02262;" },
-    { "ngE",    "&#x02267;&#x00338;" },
-    { "nge",    "&#x02271;" },
-    { "nges",   "&#x02A7E;&#x00338;" },
-    { "nGg",    "&#x022D9;&#x00338;" },
-    { "ngsim",  "&#x02275;" },
-    { "nGt",    "&#x0226B;&#x020D2;" },
-    { "ngt",    "&#x0226F;" },
-    { "nGtv",   "&#x0226B;&#x00338;" },
-    { "nlE",    "&#x02266;&#x00338;" },
-    { "nle",    "&#x02270;" },
-    { "nles",   "&#x02A7D;&#x00338;" },
-    { "nLl",    "&#x022D8;&#x00338;" },
-    { "nlsim",  "&#x02274;" },
-    { "nLt",    "&#x0226A;&#x020D2;" },
-    { "nlt",    "&#x0226E;" },
-    { "nltri",  "&#x022EA;" },
-    { "nltrie", "&#x022EC;" },
-    { "nLtv",   "&#x0226A;&#x00338;" },
-    { "nmid",   "&#x02224;" },
-    { "npar",   "&#x02226;" },
-    { "npr",    "&#x02280;" },
-    { "nprcue", "&#x022E0;" },
-    { "npre",   "&#x02AAF;&#x00338;" },
-    { "nrtri",  "&#x022EB;" },
-    { "nrtrie", "&#x022ED;" },
-    { "nsc",    "&#x02281;" },
-    { "nsccue", "&#x022E1;" },
-    { "nsce",   "&#x02AB0;&#x00338;" },
-    { "nsim",   "&#x02241;" },
-    { "nsime",  "&#x02244;" },
-    { "nsmid",  "&#x02224;" },
-    { "nspar",  "&#x02226;" },
-    { "nsqsube",    "&#x022E2;" },
-    { "nsqsupe",    "&#x022E3;" },
-    { "nsub",   "&#x02284;" },
-    { "nsubE",  "&#x02AC5;&#x0338;" },
-    { "nsube",  "&#x02288;" },
-    { "nsup",   "&#x02285;" },
-    { "nsupE",  "&#x02AC6;&#x0338;" },
-    { "nsupe",  "&#x02289;" },
-    { "ntgl",   "&#x02279;" },
-    { "ntlg",   "&#x02278;" },
-    { "nvap",   "&#x0224D;&#x020D2;" },
-    { "nVDash", "&#x022AF;" },
-    { "nVdash", "&#x022AE;" },
-    { "nvDash", "&#x022AD;" },
-    { "nvdash", "&#x022AC;" },
-    { "nvge",   "&#x02265;&#x020D2;" },
-    { "nvgt",   "&#x0003E;&#x020D2;" },
-    { "nvle",   "&#x02264;&#x020D2;" },
-    { "nvlt",   "&#x0003C;&#x020D2;" },
-    { "nvltrie",    "&#x022B4;&#x020D2;" },
-    { "nvrtrie",    "&#x022B5;&#x020D2;" },
-    { "nvsim",  "&#x0223C;&#x020D2;" },
-    { "parsim", "&#x02AF3;" },
-    { "prnap",  "&#x02AB9;" },
-    { "prnE",   "&#x02AB5;" },
-    { "prnsim", "&#x022E8;" },
-    { "rnmid",  "&#x02AEE;" },
-    { "scnap",  "&#x02ABA;" },
-    { "scnE",   "&#x02AB6;" },
-    { "scnsim", "&#x022E9;" },
-    { "simne",  "&#x02246;" },
-    { "solbar", "&#x0233F;" },
-    { "subnE",  "&#x02ACB;" },
-    { "subne",  "&#x0228A;" },
-    { "supnE",  "&#x02ACC;" },
-    { "supne",  "&#x0228B;" },
-    { "vnsub",  "&#x02282;&#x020D2;" },
-    { "vnsup",  "&#x02283;&#x020D2;" },
-    { "vsubnE", "&#x02ACB;&#x0FE00;" },
-    { "vsubne", "&#x0228A;&#x0FE00;" },
-    { "vsupnE", "&#x02ACC;&#x0FE00;" },
-    { "vsupne", "&#x0228B;&#x0FE00;" },
-    { "ang",    "&#x02220;" },
-    { "ange",   "&#x029A4;" },
-    { "angmsd", "&#x02221;" },
-    { "angmsdaa",   "&#x029A8;" },
-    { "angmsdab",   "&#x029A9;" },
-    { "angmsdac",   "&#x029AA;" },
-    { "angmsdad",   "&#x029AB;" },
-    { "angmsdae",   "&#x029AC;" },
-    { "angmsdaf",   "&#x029AD;" },
-    { "angmsdag",   "&#x029AE;" },
-    { "angmsdah",   "&#x029AF;" },
-    { "angrtvb",    "&#x022BE;" },
-    { "angrtvbd",   "&#x0299D;" },
-    { "bbrk",   "&#x023B5;" },
-    { "bemptyv",    "&#x029B0;" },
-    { "beth",   "&#x02136;" },
-    { "boxbox", "&#x029C9;" },
-    { "bprime", "&#x02035;" },
-    { "bsemi",  "&#x0204F;" },
-    { "cemptyv",    "&#x029B2;" },
-    { "cirE",   "&#x029C3;" },
-    { "cirscir",    "&#x029C2;" },
-    { "comp",   "&#x02201;" },
-    { "daleth", "&#x02138;" },
-    { "demptyv",    "&#x029B1;" },
-    { "ell",    "&#x02113;" },
-    { "empty",  "&#x02205;" },
-    { "emptyv", "&#x02205;" },
-    { "gimel",  "&#x02137;" },
-    { "iiota",  "&#x02129;" },
-    { "image",  "&#x02111;" },
-    { "imath",  "&#x00131;" },
-    { "jmath",  "&#x0006A;" },
-    { "laemptyv",   "&#x029B4;" },
-    { "lltri",  "&#x025FA;" },
-    { "lrtri",  "&#x022BF;" },
-    { "mho",    "&#x02127;" },
-    { "nang",   "&#x02220;&#x020D2;" },
-    { "nexist", "&#x02204;" },
-    { "oS", "&#x024C8;" },
-    { "planck", "&#x0210F;" },
-    { "plankv", "&#x0210F;" },
-    { "raemptyv",   "&#x029B3;" },
-    { "range",  "&#x029A5;" },
-    { "real",   "&#x0211C;" },
-    { "tbrk",   "&#x023B4;" },
-    { "ultri",  "&#x025F8;" },
-    { "urtri",  "&#x025F9;" },
-    { "vzigzag",    "&#x0299A;" },
-    { "weierp", "&#x02118;" },
-    { "apE",    "&#x02A70;" },
-    { "ape",    "&#x0224A;" },
-    { "apid",   "&#x0224B;" },
-    { "asymp",  "&#x02248;" },
-    { "Barv",   "&#x02AE7;" },
-    { "bcong",  "&#x0224C;" },
-    { "bepsi",  "&#x003F6;" },
-    { "bowtie", "&#x022C8;" },
-    { "bsim",   "&#x0223D;" },
-    { "bsime",  "&#x022CD;" },
-    { "bsolhsub",   "&#x0005C;&#x02282;" },
-    { "bump",   "&#x0224E;" },
-    { "bumpE",  "&#x02AAE;" },
-    { "bumpe",  "&#x0224F;" },
-    { "cire",   "&#x02257;" },
-    { "Colon",  "&#x02237;" },
-    { "Colone", "&#x02A74;" },
-    { "colone", "&#x02254;" },
-    { "congdot",    "&#x02A6D;" },
-    { "csub",   "&#x02ACF;" },
-    { "csube",  "&#x02AD1;" },
-    { "csup",   "&#x02AD0;" },
-    { "csupe",  "&#x02AD2;" },
-    { "cuepr",  "&#x022DE;" },
-    { "cuesc",  "&#x022DF;" },
-    { "Dashv",  "&#x02AE4;" },
-    { "dashv",  "&#x022A3;" },
-    { "easter", "&#x02A6E;" },
-    { "ecir",   "&#x02256;" },
-    { "ecolon", "&#x02255;" },
-    { "eDDot",  "&#x02A77;" },
-    { "eDot",   "&#x02251;" },
-    { "efDot",  "&#x02252;" },
-    { "eg", "&#x02A9A;" },
-    { "egs",    "&#x02A96;" },
-    { "egsdot", "&#x02A98;" },
-    { "el", "&#x02A99;" },
-    { "els",    "&#x02A95;" },
-    { "elsdot", "&#x02A97;" },
-    { "equest", "&#x0225F;" },
-    { "equivDD",    "&#x02A78;" },
-    { "erDot",  "&#x02253;" },
-    { "esdot",  "&#x02250;" },
-    { "Esim",   "&#x02A73;" },
-    { "esim",   "&#x02242;" },
-    { "fork",   "&#x022D4;" },
-    { "forkv",  "&#x02AD9;" },
-    { "frown",  "&#x02322;" },
-    { "gap",    "&#x02A86;" },
-    { "gE", "&#x02267;" },
-    { "gEl",    "&#x02A8C;" },
-    { "gel",    "&#x022DB;" },
-    { "ges",    "&#x02A7E;" },
-    { "gescc",  "&#x02AA9;" },
-    { "gesdot", "&#x02A80;" },
-    { "gesdoto",    "&#x02A82;" },
-    { "gesdotol",   "&#x02A84;" },
-    { "gesl",   "&#x022DB;&#x0FE00;" },
-    { "gesles", "&#x02A94;" },
-    { "Gg", "&#x022D9;" },
-    { "gl", "&#x02277;" },
-    { "gla",    "&#x02AA5;" },
-    { "glE",    "&#x02A92;" },
-    { "glj",    "&#x02AA4;" },
-    { "gsim",   "&#x02273;" },
-    { "gsime",  "&#x02A8E;" },
-    { "gsiml",  "&#x02A90;" },
-    { "Gt", "&#x0226B;" },
-    { "gtcc",   "&#x02AA7;" },
-    { "gtcir",  "&#x02A7A;" },
-    { "gtdot",  "&#x022D7;" },
-    { "gtquest",    "&#x02A7C;" },
-    { "gtrarr", "&#x02978;" },
-    { "homtht", "&#x0223B;" },
-    { "lap",    "&#x02A85;" },
-    { "lat",    "&#x02AAB;" },
-    { "late",   "&#x02AAD;" },
-    { "lates",  "&#x02AAD;&#x0FE00;" },
-    { "lE", "&#x02266;" },
-    { "lEg",    "&#x02A8B;" },
-    { "leg",    "&#x022DA;" },
-    { "les",    "&#x02A7D;" },
-    { "lescc",  "&#x02AA8;" },
-    { "lesdot", "&#x02A7F;" },
-    { "lesdoto",    "&#x02A81;" },
-    { "lesdotor",   "&#x02A83;" },
-    { "lesg",   "&#x022DA;&#x0FE00;" },
-    { "lesges", "&#x02A93;" },
-    { "lg", "&#x02276;" },
-    { "lgE",    "&#x02A91;" },
-    { "Ll", "&#x022D8;" },
-    { "lsim",   "&#x02272;" },
-    { "lsime",  "&#x02A8D;" },
-    { "lsimg",  "&#x02A8F;" },
-    { "Lt", "&#x0226A;" },
-    { "ltcc",   "&#x02AA6;" },
-    { "ltcir",  "&#x02A79;" },
-    { "ltdot",  "&#x022D6;" },
-    { "ltlarr", "&#x02976;" },
-    { "ltquest",    "&#x02A7B;" },
-    { "ltrie",  "&#x022B4;" },
-    { "mcomma", "&#x02A29;" },
-    { "mDDot",  "&#x0223A;" },
-    { "mid",    "&#x02223;" },
-    { "mlcp",   "&#x02ADB;" },
-    { "models", "&#x022A7;" },
-    { "mstpos", "&#x0223E;" },
-    { "Pr", "&#x02ABB;" },
-    { "pr", "&#x0227A;" },
-    { "prap",   "&#x02AB7;" },
-    { "prcue",  "&#x0227C;" },
-    { "prE",    "&#x02AB3;" },
-    { "pre",    "&#x02AAF;" },
-    { "prsim",  "&#x0227E;" },
-    { "prurel", "&#x022B0;" },
-    { "ratio",  "&#x02236;" },
-    { "rtrie",  "&#x022B5;" },
-    { "rtriltri",   "&#x029CE;" },
-    { "Sc", "&#x02ABC;" },
-    { "sc", "&#x0227B;" },
-    { "scap",   "&#x02AB8;" },
-    { "sccue",  "&#x0227D;" },
-    { "scE",    "&#x02AB4;" },
-    { "sce",    "&#x02AB0;" },
-    { "scsim",  "&#x0227F;" },
-    { "sdote",  "&#x02A66;" },
-    { "simg",   "&#x02A9E;" },
-    { "simgE",  "&#x02AA0;" },
-    { "siml",   "&#x02A9D;" },
-    { "simlE",  "&#x02A9F;" },
-    { "smid",   "&#x02223;" },
-    { "smile",  "&#x02323;" },
-    { "smt",    "&#x02AAA;" },
-    { "smte",   "&#x02AAC;" },
-    { "smtes",  "&#x02AAC;&#x0FE00;" },
-    { "spar",   "&#x02225;" },
-    { "sqsub",  "&#x0228F;" },
-    { "sqsube", "&#x02291;" },
-    { "sqsup",  "&#x02290;" },
-    { "sqsupe", "&#x02292;" },
-    { "Sub",    "&#x022D0;" },
-    { "subE",   "&#x02AC5;" },
-    { "subedot",    "&#x02AC3;" },
-    { "submult",    "&#x02AC1;" },
-    { "subplus",    "&#x02ABF;" },
-    { "subrarr",    "&#x02979;" },
-    { "subsim", "&#x02AC7;" },
-    { "subsub", "&#x02AD5;" },
-    { "subsup", "&#x02AD3;" },
-    { "Sup",    "&#x022D1;" },
-    { "supdsub",    "&#x02AD8;" },
-    { "supE",   "&#x02AC6;" },
-    { "supedot",    "&#x02AC4;" },
-    { "suphsol",    "&#x02283;&#x00338;" },
-    { "suphsub",    "&#x02AD7;" },
-    { "suplarr",    "&#x0297B;" },
-    { "supmult",    "&#x02AC2;" },
-    { "supplus",    "&#x02AC0;" },
-    { "supsim", "&#x02AC8;" },
-    { "supsub", "&#x02AD4;" },
-    { "supsup", "&#x02AD6;" },
-    { "thkap",  "&#x02248;" },
-    { "topfork",    "&#x02ADA;" },
-    { "trie",   "&#x0225C;" },
-    { "twixt",  "&#x0226C;" },
-    { "Vbar",   "&#x02AEB;" },
-    { "vBar",   "&#x02AE8;" },
-    { "vBarv",  "&#x02AE9;" },
-    { "VDash",  "&#x022AB;" },
-    { "Vdash",  "&#x022A9;" },
-    { "vDash",  "&#x022A8;" },
-    { "vdash",  "&#x022A2;" },
-    { "Vdashl", "&#x02AE6;" },
-    { "vltri",  "&#x022B2;" },
-    { "vprop",  "&#x0221D;" },
-    { "vrtri",  "&#x022B3;" },
-    { "Vvdash", "&#x022AA;" },
-    { "alpha",  "&#x003B1;" },
-    { "beta",   "&#x003B2;" },
-    { "chi",    "&#x003C7;" },
-    { "Delta",  "&#x00394;" },
-    { "delta",  "&#x003B4;" },
-    { "epsi",   "&#x003B5;" },
-    { "epsiv",  "&#x0025B;" },
-    { "eta",    "&#x003B7;" },
-    { "Gamma",  "&#x00393;" },
-    { "gamma",  "&#x003B3;" },
-    { "Gammad", "&#x003DC;" },
-    { "gammad", "&#x003DD;" },
-    { "iota",   "&#x003B9;" },
-    { "kappa",  "&#x003BA;" },
-    { "kappav", "&#x003F0;" },
-    { "Lambda", "&#x0039B;" },
-    { "lambda", "&#x003BB;" },
-    { "mu", "&#x003BC;" },
-    { "nu", "&#x003BD;" },
-    { "Omega",  "&#x003A9;" },
-    { "omega",  "&#x003C9;" },
-    { "Phi",    "&#x003A6;" },
-    { "phi",    "&#x003D5;" },
-    { "phiv",   "&#x003C6;" },
-    { "Pi", "&#x003A0;" },
-    { "pi", "&#x003C0;" },
-    { "piv",    "&#x003D6;" },
-    { "Psi",    "&#x003A8;" },
-    { "psi",    "&#x003C8;" },
-    { "rho",    "&#x003C1;" },
-    { "rhov",   "&#x003F1;" },
-    { "Sigma",  "&#x003A3;" },
-    { "sigma",  "&#x003C3;" },
-    { "sigmav", "&#x003C2;" },
-    { "tau",    "&#x003C4;" },
-    { "Theta",  "&#x00398;" },
-    { "theta",  "&#x003B8;" },
-    { "thetav", "&#x003D1;" },
-    { "Upsi",   "&#x003D2;" },
-    { "upsi",   "&#x003C5;" },
-    { "Xi", "&#x0039E;" },
-    { "xi", "&#x003BE;" },
-    { "zeta",   "&#x003B6;" },
-    { "Cfr",    "&#x0212D;" },
-    { "Hfr",    "&#x0210C;" },
-    { "Ifr",    "&#x02111;" },
-    { "Rfr",    "&#x0211C;" },
-    { "Zfr",    "&#x02128;" },
-    { "Copf",   "&#x02102;" },
-    { "Hopf",   "&#x0210D;" },
-    { "Nopf",   "&#x02115;" },
-    { "Popf",   "&#x02119;" },
-    { "Qopf",   "&#x0211A;" },
-    { "Ropf",   "&#x0211D;" },
-    { "Zopf",   "&#x02124;" },
-    { "Bscr",   "&#x0212C;" },
-    { "Escr",   "&#x02130;" },
-    { "escr",   "&#x0212F;" },
-    { "Fscr",   "&#x02131;" },
-    { "gscr",   "&#x0210A;" },
-    { "Hscr",   "&#x0210B;" },
-    { "Iscr",   "&#x02110;" },
-    { "Lscr",   "&#x02112;" },
-    { "Mscr",   "&#x02133;" },
-    { "oscr",   "&#x02134;" },
-    { "pscr",   "&#x1D4C5;" },
-    { "Rscr",   "&#x0211B;" },
-    { "acd",    "&#x0223F;" },
-    { "aleph",  "&#x02135;" },
-    { "And",    "&#x02A53;" },
-    { "and",    "&#x02227;" },
-    { "andand", "&#x02A55;" },
-    { "andd",   "&#x02A5C;" },
-    { "andslope",   "&#x02A58;" },
-    { "andv",   "&#x02A5A;" },
-    { "angrt",  "&#x0221F;" },
-    { "angsph", "&#x02222;" },
-    { "angst",  "&#x0212B;" },
-    { "ap", "&#x02248;" },
-    { "apacir", "&#x02A6F;" },
-    { "awconint",   "&#x02233;" },
-    { "awint",  "&#x02A11;" },
-    { "becaus", "&#x02235;" },
-    { "bernou", "&#x0212C;" },
-    { "bne",    "&#x0003D;&#x020E5;" },
-    { "bnequiv",    "&#x02261;&#x020E5;" },
-    { "bNot",   "&#x02AED;" },
-    { "bnot",   "&#x02310;" },
-    { "bottom", "&#x022A5;" },
-    { "cap",    "&#x02229;" },
-    { "Cconint",    "&#x02230;" },
-    { "cirfnint",   "&#x02A10;" },
-    { "compfn", "&#x02218;" },
-    { "cong",   "&#x02245;" },
-    { "Conint", "&#x0222F;" },
-    { "conint", "&#x0222E;" },
-    { "ctdot",  "&#x022EF;" },
-    { "cup",    "&#x0222A;" },
-    { "cwconint",   "&#x02232;" },
-    { "cwint",  "&#x02231;" },
-    { "cylcty", "&#x0232D;" },
-    { "disin",  "&#x022F2;" },
-    { "Dot",    "&#x000A8;" },
-    { "DotDot", "&#x020DC;" },
-    { "dsol",   "&#x029F6;" },
-    { "dtdot",  "&#x022F1;" },
-    { "dwangle",    "&#x029A6;" },
-    { "epar",   "&#x022D5;" },
-    { "eparsl", "&#x029E3;" },
-    { "equiv",  "&#x02261;" },
-    { "eqvparsl",   "&#x029E5;" },
-    { "exist",  "&#x02203;" },
-    { "fnof",   "&#x00192;" },
-    { "forall", "&#x02200;" },
-    { "fpartint",   "&#x02A0D;" },
-    { "ge", "&#x02265;" },
-    { "hamilt", "&#x0210B;" },
-    { "iff",    "&#x021D4;" },
-    { "iinfin", "&#x029DC;" },
-    { "infin",  "&#x0221E;" },
-    { "Int",    "&#x0222C;" },
-    { "int",    "&#x0222B;" },
-    { "intlarhk",   "&#x02A17;" },
-    { "isin",   "&#x02208;" },
-    { "isindot",    "&#x022F5;" },
-    { "isinE",  "&#x022F9;" },
-    { "isins",  "&#x022F4;" },
-    { "isinsv", "&#x022F3;" },
-    { "isinv",  "&#x02208;" },
-    { "lagran", "&#x02112;" },
-    { "Lang",   "&#x0300A;" },
-    { "lang",   "&#x02329;" },
-    { "lArr",   "&#x021D0;" },
-    { "lbbrk",  "&#x03014;" },
-    { "le", "&#x02264;" },
-    { "loang",  "&#x03018;" },
-    { "lobrk",  "&#x0301A;" },
-    { "lopar",  "&#x02985;" },
-    { "lowast", "&#x02217;" },
-    { "minus",  "&#x02212;" },
-    { "mnplus", "&#x02213;" },
-    { "nabla",  "&#x02207;" },
-    { "ne", "&#x02260;" },
-    { "nedot",  "&#x02250;&#x00338;" },
-    { "nhpar",  "&#x02AF2;" },
-    { "ni", "&#x0220B;" },
-    { "nis",    "&#x022FC;" },
-    { "nisd",   "&#x022FA;" },
-    { "niv",    "&#x0220B;" },
-    { "Not",    "&#x02AEC;" },
-    { "notin",  "&#x02209;" },
-    { "notindot",   "&#x022F5;&#x00338;" },
-    { "notinva",    "&#x02209;" },
-    { "notinvb",    "&#x022F7;" },
-    { "notinvc",    "&#x022F6;" },
-    { "notni",  "&#x0220C;" },
-    { "notniva",    "&#x0220C;" },
-    { "notnivb",    "&#x022FE;" },
-    { "notnivc",    "&#x022FD;" },
-    { "nparsl", "&#x02AFD;&#x020E5;" },
-    { "npart",  "&#x02202;&#x00338;" },
-    { "npolint",    "&#x02A14;" },
-    { "nvinfin",    "&#x029DE;" },
-    { "olcross",    "&#x029BB;" },
-    { "Or", "&#x02A54;" },
-    { "or", "&#x02228;" },
-    { "ord",    "&#x02A5D;" },
-    { "order",  "&#x02134;" },
-    { "oror",   "&#x02A56;" },
-    { "orslope",    "&#x02A57;" },
-    { "orv",    "&#x02A5B;" },
-    { "par",    "&#x02225;" },
-    { "parsl",  "&#x02AFD;" },
-    { "part",   "&#x02202;" },
-    { "permil", "&#x02030;" },
-    { "perp",   "&#x022A5;" },
-    { "pertenk",    "&#x02031;" },
-    { "phmmat", "&#x02133;" },
-    { "pointint",   "&#x02A15;" },
-    { "Prime",  "&#x02033;" },
-    { "prime",  "&#x02032;" },
-    { "profalar",   "&#x0232E;" },
-    { "profline",   "&#x02312;" },
-    { "profsurf",   "&#x02313;" },
-    { "prop",   "&#x0221D;" },
-    { "qint",   "&#x02A0C;" },
-    { "qprime", "&#x02057;" },
-    { "quatint",    "&#x02A16;" },
-    { "radic",  "&#x0221A;" },
-    { "Rang",   "&#x0300B;" },
-    { "rang",   "&#x0232A;" },
-    { "rArr",   "&#x021D2;" },
-    { "rbbrk",  "&#x03015;" },
-    { "roang",  "&#x03019;" },
-    { "robrk",  "&#x0301B;" },
-    { "ropar",  "&#x02986;" },
-    { "rppolint",   "&#x02A12;" },
-    { "scpolint",   "&#x02A13;" },
-    { "sim",    "&#x0223C;" },
-    { "simdot", "&#x02A6A;" },
-    { "sime",   "&#x02243;" },
-    { "smeparsl",   "&#x029E4;" },
-    { "square", "&#x025A1;" },
-    { "squarf", "&#x025AA;" },
-    { "sub",    "&#x02282;" },
-    { "sube",   "&#x02286;" },
-    { "sup",    "&#x02283;" },
-    { "supe",   "&#x02287;" },
-    { "tdot",   "&#x020DB;" },
-    { "there4", "&#x02234;" },
-    { "tint",   "&#x0222D;" },
-    { "top",    "&#x022A4;" },
-    { "topbot", "&#x02336;" },
-    { "topcir", "&#x02AF1;" },
-    { "tprime", "&#x02034;" },
-    { "utdot",  "&#x022F0;" },
-    { "uwangle",    "&#x029A7;" },
-    { "vangrt", "&#x0299C;" },
-    { "veeeq",  "&#x0225A;" },
-    { "Verbar", "&#x02016;" },
-    { "wedgeq", "&#x02259;" },
-    { "xnis",   "&#x022FB;" },
-    { "boxDL",  "&#x02557;" },
-    { "boxDl",  "&#x02556;" },
-    { "boxdL",  "&#x02555;" },
-    { "boxdl",  "&#x02510;" },
-    { "boxDR",  "&#x02554;" },
-    { "boxDr",  "&#x02553;" },
-    { "boxdR",  "&#x02552;" },
-    { "boxdr",  "&#x0250C;" },
-    { "boxH",   "&#x02550;" },
-    { "boxh",   "&#x02500;" },
-    { "boxHD",  "&#x02566;" },
-    { "boxHd",  "&#x02564;" },
-    { "boxhD",  "&#x02565;" },
-    { "boxhd",  "&#x0252C;" },
-    { "boxHU",  "&#x02569;" },
-    { "boxHu",  "&#x02567;" },
-    { "boxhU",  "&#x02568;" },
-    { "boxhu",  "&#x02534;" },
-    { "boxUL",  "&#x0255D;" },
-    { "boxUl",  "&#x0255C;" },
-    { "boxuL",  "&#x0255B;" },
-    { "boxul",  "&#x02518;" },
-    { "boxUR",  "&#x0255A;" },
-    { "boxUr",  "&#x02559;" },
-    { "boxuR",  "&#x02558;" },
-    { "boxur",  "&#x02514;" },
-    { "boxV",   "&#x02551;" },
-    { "boxv",   "&#x02502;" },
-    { "boxVH",  "&#x0256C;" },
-    { "boxVh",  "&#x0256B;" },
-    { "boxvH",  "&#x0256A;" },
-    { "boxvh",  "&#x0253C;" },
-    { "boxVL",  "&#x02563;" },
-    { "boxVl",  "&#x02562;" },
-    { "boxvL",  "&#x02561;" },
-    { "boxvl",  "&#x02524;" },
-    { "boxVR",  "&#x02560;" },
-    { "boxVr",  "&#x0255F;" },
-    { "boxvR",  "&#x0255E;" },
-    { "boxvr",  "&#x0251C;" },
-    { "Acy",    "&#x00410;" },
-    { "acy",    "&#x00430;" },
-    { "Bcy",    "&#x00411;" },
-    { "bcy",    "&#x00431;" },
-    { "CHcy",   "&#x00427;" },
-    { "chcy",   "&#x00447;" },
-    { "Dcy",    "&#x00414;" },
-    { "dcy",    "&#x00434;" },
-    { "Ecy",    "&#x0042D;" },
-    { "ecy",    "&#x0044D;" },
-    { "Fcy",    "&#x00424;" },
-    { "fcy",    "&#x00444;" },
-    { "Gcy",    "&#x00413;" },
-    { "gcy",    "&#x00433;" },
-    { "HARDcy", "&#x0042A;" },
-    { "hardcy", "&#x0044A;" },
-    { "Icy",    "&#x00418;" },
-    { "icy",    "&#x00438;" },
-    { "IEcy",   "&#x00415;" },
-    { "iecy",   "&#x00435;" },
-    { "IOcy",   "&#x00401;" },
-    { "iocy",   "&#x00451;" },
-    { "Jcy",    "&#x00419;" },
-    { "jcy",    "&#x00439;" },
-    { "Kcy",    "&#x0041A;" },
-    { "kcy",    "&#x0043A;" },
-    { "KHcy",   "&#x00425;" },
-    { "khcy",   "&#x00445;" },
-    { "Lcy",    "&#x0041B;" },
-    { "lcy",    "&#x0043B;" },
-    { "Mcy",    "&#x0041C;" },
-    { "mcy",    "&#x0043C;" },
-    { "Ncy",    "&#x0041D;" },
-    { "ncy",    "&#x0043D;" },
-    { "numero", "&#x02116;" },
-    { "Ocy",    "&#x0041E;" },
-    { "ocy",    "&#x0043E;" },
-    { "Pcy",    "&#x0041F;" },
-    { "pcy",    "&#x0043F;" },
-    { "Rcy",    "&#x00420;" },
-    { "rcy",    "&#x00440;" },
-    { "Scy",    "&#x00421;" },
-    { "scy",    "&#x00441;" },
-    { "SHCHcy", "&#x00429;" },
-    { "shchcy", "&#x00449;" },
-    { "SHcy",   "&#x00428;" },
-    { "shcy",   "&#x00448;" },
-    { "SOFTcy", "&#x0042C;" },
-    { "softcy", "&#x0044C;" },
-    { "Tcy",    "&#x00422;" },
-    { "tcy",    "&#x00442;" },
-    { "TScy",   "&#x00426;" },
-    { "tscy",   "&#x00446;" },
-    { "Ucy",    "&#x00423;" },
-    { "ucy",    "&#x00443;" },
-    { "Vcy",    "&#x00412;" },
-    { "vcy",    "&#x00432;" },
-    { "YAcy",   "&#x0042F;" },
-    { "yacy",   "&#x0044F;" },
-    { "Ycy",    "&#x0042B;" },
-    { "ycy",    "&#x0044B;" },
-    { "YUcy",   "&#x0042E;" },
-    { "yucy",   "&#x0044E;" },
-    { "Zcy",    "&#x00417;" },
-    { "zcy",    "&#x00437;" },
-    { "ZHcy",   "&#x00416;" },
-    { "zhcy",   "&#x00436;" },
-    { "DJcy",   "&#x00402;" },
-    { "djcy",   "&#x00452;" },
-    { "DScy",   "&#x00405;" },
-    { "dscy",   "&#x00455;" },
-    { "DZcy",   "&#x0040F;" },
-    { "dzcy",   "&#x0045F;" },
-    { "GJcy",   "&#x00403;" },
-    { "gjcy",   "&#x00453;" },
-    { "Iukcy",  "&#x00406;" },
-    { "iukcy",  "&#x00456;" },
-    { "Jsercy", "&#x00408;" },
-    { "jsercy", "&#x00458;" },
-    { "Jukcy",  "&#x00404;" },
-    { "jukcy",  "&#x00454;" },
-    { "KJcy",   "&#x0040C;" },
-    { "kjcy",   "&#x0045C;" },
-    { "LJcy",   "&#x00409;" },
-    { "ljcy",   "&#x00459;" },
-    { "NJcy",   "&#x0040A;" },
-    { "njcy",   "&#x0045A;" },
-    { "TSHcy",  "&#x0040B;" },
-    { "tshcy",  "&#x0045B;" },
-    { "Ubrcy",  "&#x0040E;" },
-    { "ubrcy",  "&#x0045E;" },
-    { "YIcy",   "&#x00407;" },
-    { "yicy",   "&#x00457;" },
-    { "acute",  "&#x000B4;" },
-    { "breve",  "&#x002D8;" },
-    { "caron",  "&#x002C7;" },
-    { "cedil",  "&#x000B8;" },
-    { "circ",   "&#x002C6;" },
-    { "dblac",  "&#x002DD;" },
-    { "die",    "&#x000A8;" },
-    { "dot",    "&#x002D9;" },
-    { "grave",  "&#x00060;" },
-    { "macr",   "&#x000AF;" },
-    { "ogon",   "&#x002DB;" },
-    { "ring",   "&#x002DA;" },
-    { "tilde",  "&#x002DC;" },
-    { "uml",    "&#x000A8;" },
-    { "Aacute", "&#x000C1;" },
-    { "aacute", "&#x000E1;" },
-    { "Acirc",  "&#x000C2;" },
-    { "acirc",  "&#x000E2;" },
-    { "AElig",  "&#x000C6;" },
-    { "aelig",  "&#x000E6;" },
-    { "Agrave", "&#x000C0;" },
-    { "agrave", "&#x000E0;" },
-    { "Aring",  "&#x000C5;" },
-    { "aring",  "&#x000E5;" },
-    { "Atilde", "&#x000C3;" },
-    { "atilde", "&#x000E3;" },
-    { "Auml",   "&#x000C4;" },
-    { "auml",   "&#x000E4;" },
-    { "Ccedil", "&#x000C7;" },
-    { "ccedil", "&#x000E7;" },
-    { "Eacute", "&#x000C9;" },
-    { "eacute", "&#x000E9;" },
-    { "Ecirc",  "&#x000CA;" },
-    { "ecirc",  "&#x000EA;" },
-    { "Egrave", "&#x000C8;" },
-    { "egrave", "&#x000E8;" },
-    { "ETH",    "&#x000D0;" },
-    { "eth",    "&#x000F0;" },
-    { "Euml",   "&#x000CB;" },
-    { "euml",   "&#x000EB;" },
-    { "Iacute", "&#x000CD;" },
-    { "iacute", "&#x000ED;" },
-    { "Icirc",  "&#x000CE;" },
-    { "icirc",  "&#x000EE;" },
-    { "Igrave", "&#x000CC;" },
-    { "igrave", "&#x000EC;" },
-    { "Iuml",   "&#x000CF;" },
-    { "iuml",   "&#x000EF;" },
-    { "Ntilde", "&#x000D1;" },
-    { "ntilde", "&#x000F1;" },
-    { "Oacute", "&#x000D3;" },
-    { "oacute", "&#x000F3;" },
-    { "Ocirc",  "&#x000D4;" },
-    { "ocirc",  "&#x000F4;" },
-    { "Ograve", "&#x000D2;" },
-    { "ograve", "&#x000F2;" },
-    { "Oslash", "&#x000D8;" },
-    { "oslash", "&#x000F8;" },
-    { "Otilde", "&#x000D5;" },
-    { "otilde", "&#x000F5;" },
-    { "Ouml",   "&#x000D6;" },
-    { "ouml",   "&#x000F6;" },
-    { "szlig",  "&#x000DF;" },
-    { "THORN",  "&#x000DE;" },
-    { "thorn",  "&#x000FE;" },
-    { "Uacute", "&#x000DA;" },
-    { "uacute", "&#x000FA;" },
-    { "Ucirc",  "&#x000DB;" },
-    { "ucirc",  "&#x000FB;" },
-    { "Ugrave", "&#x000D9;" },
-    { "ugrave", "&#x000F9;" },
-    { "Uuml",   "&#x000DC;" },
-    { "uuml",   "&#x000FC;" },
-    { "Yacute", "&#x000DD;" },
-    { "yacute", "&#x000FD;" },
-    { "yuml",   "&#x000FF;" },
-    { "Abreve", "&#x00102;" },
-    { "abreve", "&#x00103;" },
-    { "Amacr",  "&#x00100;" },
-    { "amacr",  "&#x00101;" },
-    { "Aogon",  "&#x00104;" },
-    { "aogon",  "&#x00105;" },
-    { "Cacute", "&#x00106;" },
-    { "cacute", "&#x00107;" },
-    { "Ccaron", "&#x0010C;" },
-    { "ccaron", "&#x0010D;" },
-    { "Ccirc",  "&#x00108;" },
-    { "ccirc",  "&#x00109;" },
-    { "Cdot",   "&#x0010A;" },
-    { "cdot",   "&#x0010B;" },
-    { "Dcaron", "&#x0010E;" },
-    { "dcaron", "&#x0010F;" },
-    { "Dstrok", "&#x00110;" },
-    { "dstrok", "&#x00111;" },
-    { "Ecaron", "&#x0011A;" },
-    { "ecaron", "&#x0011B;" },
-    { "Edot",   "&#x00116;" },
-    { "edot",   "&#x00117;" },
-    { "Emacr",  "&#x00112;" },
-    { "emacr",  "&#x00113;" },
-    { "ENG",    "&#x0014A;" },
-    { "eng",    "&#x0014B;" },
-    { "Eogon",  "&#x00118;" },
-    { "eogon",  "&#x00119;" },
-    { "gacute", "&#x001F5;" },
-    { "Gbreve", "&#x0011E;" },
-    { "gbreve", "&#x0011F;" },
-    { "Gcedil", "&#x00122;" },
-    { "Gcirc",  "&#x0011C;" },
-    { "gcirc",  "&#x0011D;" },
-    { "Gdot",   "&#x00120;" },
-    { "gdot",   "&#x00121;" },
-    { "Hcirc",  "&#x00124;" },
-    { "hcirc",  "&#x00125;" },
-    { "Hstrok", "&#x00126;" },
-    { "hstrok", "&#x00127;" },
-    { "Idot",   "&#x00130;" },
-    { "IJlig",  "&#x00132;" },
-    { "ijlig",  "&#x00133;" },
-    { "Imacr",  "&#x0012A;" },
-    { "imacr",  "&#x0012B;" },
-    { "inodot", "&#x00131;" },
-    { "Iogon",  "&#x0012E;" },
-    { "iogon",  "&#x0012F;" },
-    { "Itilde", "&#x00128;" },
-    { "itilde", "&#x00129;" },
-    { "Jcirc",  "&#x00134;" },
-    { "jcirc",  "&#x00135;" },
-    { "Kcedil", "&#x00136;" },
-    { "kcedil", "&#x00137;" },
-    { "kgreen", "&#x00138;" },
-    { "Lacute", "&#x00139;" },
-    { "lacute", "&#x0013A;" },
-    { "Lcaron", "&#x0013D;" },
-    { "lcaron", "&#x0013E;" },
-    { "Lcedil", "&#x0013B;" },
-    { "lcedil", "&#x0013C;" },
-    { "Lmidot", "&#x0013F;" },
-    { "lmidot", "&#x00140;" },
-    { "Lstrok", "&#x00141;" },
-    { "lstrok", "&#x00142;" },
-    { "Nacute", "&#x00143;" },
-    { "nacute", "&#x00144;" },
-    { "napos",  "&#x00149;" },
-    { "Ncaron", "&#x00147;" },
-    { "ncaron", "&#x00148;" },
-    { "Ncedil", "&#x00145;" },
-    { "ncedil", "&#x00146;" },
-    { "Odblac", "&#x00150;" },
-    { "odblac", "&#x00151;" },
-    { "OElig",  "&#x00152;" },
-    { "oelig",  "&#x00153;" },
-    { "Omacr",  "&#x0014C;" },
-    { "omacr",  "&#x0014D;" },
-    { "Racute", "&#x00154;" },
-    { "racute", "&#x00155;" },
-    { "Rcaron", "&#x00158;" },
-    { "rcaron", "&#x00159;" },
-    { "Rcedil", "&#x00156;" },
-    { "rcedil", "&#x00157;" },
-    { "Sacute", "&#x0015A;" },
-    { "sacute", "&#x0015B;" },
-    { "Scaron", "&#x00160;" },
-    { "scaron", "&#x00161;" },
-    { "Scedil", "&#x0015E;" },
-    { "scedil", "&#x0015F;" },
-    { "Scirc",  "&#x0015C;" },
-    { "scirc",  "&#x0015D;" },
-    { "Tcaron", "&#x00164;" },
-    { "tcaron", "&#x00165;" },
-    { "Tcedil", "&#x00162;" },
-    { "tcedil", "&#x00163;" },
-    { "Tstrok", "&#x00166;" },
-    { "tstrok", "&#x00167;" },
-    { "Ubreve", "&#x0016C;" },
-    { "ubreve", "&#x0016D;" },
-    { "Udblac", "&#x00170;" },
-    { "udblac", "&#x00171;" },
-    { "Umacr",  "&#x0016A;" },
-    { "umacr",  "&#x0016B;" },
-    { "Uogon",  "&#x00172;" },
-    { "uogon",  "&#x00173;" },
-    { "Uring",  "&#x0016E;" },
-    { "uring",  "&#x0016F;" },
-    { "Utilde", "&#x00168;" },
-    { "utilde", "&#x00169;" },
-    { "Wcirc",  "&#x00174;" },
-    { "wcirc",  "&#x00175;" },
-    { "Ycirc",  "&#x00176;" },
-    { "ycirc",  "&#x00177;" },
-    { "Yuml",   "&#x00178;" },
-    { "Zacute", "&#x00179;" },
-    { "zacute", "&#x0017A;" },
-    { "Zcaron", "&#x0017D;" },
-    { "zcaron", "&#x0017E;" },
-    { "Zdot",   "&#x0017B;" },
-    { "zdot",   "&#x0017C;" },
-    { "apos",   "&#x00027;" },
-    { "ast",    "&#x0002A;" },
-    { "brvbar", "&#x000A6;" },
-    { "bsol",   "&#x0005C;" },
-    { "cent",   "&#x000A2;" },
-    { "colon",  "&#x0003A;" },
-    { "comma",  "&#x0002C;" },
-    { "commat", "&#x00040;" },
-    { "copy",   "&#x000A9;" },
-    { "curren", "&#x000A4;" },
-    { "darr",   "&#x02193;" },
-    { "deg",    "&#x000B0;" },
-    { "divide", "&#x000F7;" },
-    { "dollar", "&#x00024;" },
-    { "equals", "&#x0003D;" },
-    { "excl",   "&#x00021;" },
-    { "frac12", "&#x000BD;" },
-    { "frac14", "&#x000BC;" },
-    { "frac18", "&#x0215B;" },
-    { "frac34", "&#x000BE;" },
-    { "frac38", "&#x0215C;" },
-    { "frac58", "&#x0215D;" },
-    { "frac78", "&#x0215E;" },
-    { "gt", "&#x0003E;" },
-    { "half",   "&#x000BD;" },
-    { "horbar", "&#x02015;" },
-    { "hyphen", "&#x02010;" },
-    { "iexcl",  "&#x000A1;" },
-    { "iquest", "&#x000BF;" },
-    { "laquo",  "&#x000AB;" },
-    { "larr",   "&#x02190;" },
-    { "lcub",   "&#x0007B;" },
-    { "ldquo",  "&#x0201C;" },
-    { "lowbar", "&#x0005F;" },
-    { "lpar",   "&#x00028;" },
-    { "lsqb",   "&#x0005B;" },
-    { "lsquo",  "&#x02018;" },
-    { "lt", "&#x0003C;" },
-    { "micro",  "&#x000B5;" },
-    { "middot", "&#x000B7;" },
-    { "nbsp",   "&#x000A0;" },
-    { "not",    "&#x000AC;" },
-    { "num",    "&#x00023;" },
-    { "ohm",    "&#x02126;" },
-    { "ordf",   "&#x000AA;" },
-    { "ordm",   "&#x000BA;" },
-    { "para",   "&#x000B6;" },
-    { "percnt", "&#x00025;" },
-    { "period", "&#x0002E;" },
-    { "plus",   "&#x0002B;" },
-    { "plusmn", "&#x000B1;" },
-    { "pound",  "&#x000A3;" },
-    { "quest",  "&#x0003F;" },
-    { "quot",   "&#x00022;" },
-    { "raquo",  "&#x000BB;" },
-    { "rarr",   "&#x02192;" },
-    { "rcub",   "&#x0007D;" },
-    { "rdquo",  "&#x0201D;" },
-    { "reg",    "&#x000AE;" },
-    { "rpar",   "&#x00029;" },
-    { "rsqb",   "&#x0005D;" },
-    { "rsquo",  "&#x02019;" },
-    { "sect",   "&#x000A7;" },
-    { "semi",   "&#x0003B;" },
-    { "shy",    "&#x000AD;" },
-    { "sol",    "&#x0002F;" },
-    { "sung",   "&#x0266A;" },
-    { "sup1",   "&#x000B9;" },
-    { "sup2",   "&#x000B2;" },
-    { "sup3",   "&#x000B3;" },
-    { "times",  "&#x000D7;" },
-    { "trade",  "&#x02122;" },
-    { "uarr",   "&#x02191;" },
-    { "verbar", "&#x0007C;" },
-    { "yen",    "&#x000A5;" },
-    { "blank",  "&#x02423;" },
-    { "blk12",  "&#x02592;" },
-    { "blk14",  "&#x02591;" },
-    { "blk34",  "&#x02593;" },
-    { "block",  "&#x02588;" },
-    { "bull",   "&#x02022;" },
-    { "caret",  "&#x02041;" },
-    { "check",  "&#x02713;" },
-    { "cir",    "&#x025CB;" },
-    { "clubs",  "&#x02663;" },
-    { "copysr", "&#x02117;" },
-    { "cross",  "&#x02717;" },
-    { "Dagger", "&#x02021;" },
-    { "dagger", "&#x02020;" },
-    { "dash",   "&#x02010;" },
-    { "diams",  "&#x02666;" },
-    { "dlcrop", "&#x0230D;" },
-    { "drcrop", "&#x0230C;" },
-    { "dtri",   "&#x025BF;" },
-    { "dtrif",  "&#x025BE;" },
-    { "emsp",   "&#x02003;" },
-    { "emsp13", "&#x02004;" },
-    { "emsp14", "&#x02005;" },
-    { "ensp",   "&#x02002;" },
-    { "female", "&#x02640;" },
-    { "ffilig", "&#x0FB03;" },
-    { "fflig",  "&#x0FB00;" },
-    { "ffllig", "&#x0FB04;" },
-    { "filig",  "&#x0FB01;" },
-    { "flat",   "&#x0266D;" },
-    { "fllig",  "&#x0FB02;" },
-    { "frac13", "&#x02153;" },
-    { "frac15", "&#x02155;" },
-    { "frac16", "&#x02159;" },
-    { "frac23", "&#x02154;" },
-    { "frac25", "&#x02156;" },
-    { "frac35", "&#x02157;" },
-    { "frac45", "&#x02158;" },
-    { "frac56", "&#x0215A;" },
-    { "hairsp", "&#x0200A;" },
-    { "hearts", "&#x02665;" },
-    { "hellip", "&#x02026;" },
-    { "hybull", "&#x02043;" },
-    { "incare", "&#x02105;" },
-    { "ldquor", "&#x0201E;" },
-    { "lhblk",  "&#x02584;" },
-    { "loz",    "&#x025CA;" },
-    { "lozf",   "&#x029EB;" },
-    { "lsquor", "&#x0201A;" },
-    { "ltri",   "&#x025C3;" },
-    { "ltrif",  "&#x025C2;" },
-    { "male",   "&#x02642;" },
-    { "malt",   "&#x02720;" },
-    { "marker", "&#x025AE;" },
-    { "mdash",  "&#x02014;" },
-    { "mldr",   "&#x02026;" },
-    { "natur",  "&#x0266E;" },
-    { "ndash",  "&#x02013;" },
-    { "nldr",   "&#x02025;" },
-    { "numsp",  "&#x02007;" },
-    { "phone",  "&#x0260E;" },
-    { "puncsp", "&#x02008;" },
-    { "rdquor", "&#x0201D;" },
-    { "rect",   "&#x025AD;" },
-    { "rsquor", "&#x02019;" },
-    { "rtri",   "&#x025B9;" },
-    { "rtrif",  "&#x025B8;" },
-    { "rx", "&#x0211E;" },
-    { "sext",   "&#x02736;" },
-    { "sharp",  "&#x0266F;" },
-    { "spades", "&#x02660;" },
-    { "squ",    "&#x025A1;" },
-    { "squf",   "&#x025AA;" },
-    { "star",   "&#x02606;" },
-    { "starf",  "&#x02605;" },
-    { "target", "&#x02316;" },
-    { "telrec", "&#x02315;" },
-    { "thinsp", "&#x02009;" },
-    { "uhblk",  "&#x02580;" },
-    { "ulcrop", "&#x0230F;" },
-    { "urcrop", "&#x0230E;" },
-    { "utri",   "&#x025B5;" },
-    { "utrif",  "&#x025B4;" },
-    { "vellip", "&#x022EE;" },
-    { "af", "&#x02061;" },
-    { "asympeq",    "&#x0224D;" },
-    { "Cross",  "&#x02A2F;" },
-    { "DD", "&#x02145;" },
-    { "dd", "&#x02146;" },
-    { "DownArrowBar",   "&#x02913;" },
-    { "DownBreve",  "&#x00311;" },
-    { "DownLeftRightVector",    "&#x02950;" },
-    { "DownLeftTeeVector",  "&#x0295E;" },
-    { "DownLeftVectorBar",  "&#x02956;" },
-    { "DownRightTeeVector", "&#x0295F;" },
-    { "DownRightVectorBar", "&#x02957;" },
-    { "ee", "&#x02147;" },
-    { "EmptySmallSquare",   "&#x025FB;" },
-    { "EmptyVerySmallSquare",   "&#x025AB;" },
-    { "Equal",  "&#x02A75;" },
-    { "FilledSmallSquare",  "&#x025FC;" },
-    { "FilledVerySmallSquare",  "&#x025AA;" },
-    { "GreaterGreater", "&#x02AA2;" },
-    { "Hat",    "&#x0005E;" },
-    { "HorizontalLine", "&#x02500;" },
-    { "ic", "&#x02063;" },
-    { "ii", "&#x02148;" },
-    { "it", "&#x02062;" },
-    { "larrb",  "&#x021E4;" },
-    { "LeftDownTeeVector",  "&#x02961;" },
-    { "LeftDownVectorBar",  "&#x02959;" },
-    { "LeftRightVector",    "&#x0294E;" },
-    { "LeftTeeVector",  "&#x0295A;" },
-    { "LeftTriangleBar",    "&#x029CF;" },
-    { "LeftUpDownVector",   "&#x02951;" },
-    { "LeftUpTeeVector",    "&#x02960;" },
-    { "LeftUpVectorBar",    "&#x02958;" },
-    { "LeftVectorBar",  "&#x02952;" },
-    { "LessLess",   "&#x02AA1;" },
-    { "mapstodown", "&#x021A7;" },
-    { "mapstoleft", "&#x021A4;" },
-    { "mapstoup",   "&#x021A5;" },
-    { "MediumSpace",    "&#x0205F;" },
-    { "nbump",  "&#x0224E;&#x00338;" },
-    { "nbumpe", "&#x0224F;&#x00338;" },
-    { "nesim",  "&#x02242;&#x00338;" },
-    { "NewLine",    "&#x0000A;" },
-    { "NoBreak",    "&#x02060;" },
-    { "NotCupCap",  "&#x0226D;" },
-    { "NotHumpEqual",   "&#x0224F;&#x00338;" },
-    { "NotLeftTriangleBar", "&#x029CF;&#x00338;" },
-    { "NotNestedGreaterGreater",    "&#x02AA2;&#x00338;" },
-    { "NotNestedLessLess",  "&#x02AA1;&#x00338;" },
-    { "NotRightTriangleBar",    "&#x029D0;&#x00338;" },
-    { "NotSquareSubset",    "&#x0228F;&#x00338;" },
-    { "NotSquareSuperset",  "&#x02290;&#x00338;" },
-    { "NotSucceedsTilde",   "&#x0227F;&#x00338;" },
-    { "OverBar",    "&#x000AF;" },
-    { "OverBrace",  "&#x0FE37;" },
-    { "OverBracket",    "&#x023B4;" },
-    { "OverParenthesis",    "&#x0FE35;" },
-    { "planckh",    "&#x0210E;" },
-    { "Product",    "&#x0220F;" },
-    { "rarrb",  "&#x021E5;" },
-    { "RightDownTeeVector", "&#x0295D;" },
-    { "RightDownVectorBar", "&#x02955;" },
-    { "RightTeeVector", "&#x0295B;" },
-    { "RightTriangleBar",   "&#x029D0;" },
-    { "RightUpDownVector",  "&#x0294F;" },
-    { "RightUpTeeVector",   "&#x0295C;" },
-    { "RightUpVectorBar",   "&#x02954;" },
-    { "RightVectorBar", "&#x02953;" },
-    { "RoundImplies",   "&#x02970;" },
-    { "RuleDelayed",    "&#x029F4;" },
-    { "Tab",    "&#x00009;" },
-    { "ThickSpace", "&#x02009;&#x0200A;&#x0200A;" },
-    { "UnderBar",   "&#x00332;" },
-    { "UnderBrace", "&#x0FE38;" },
-    { "UnderBracket",   "&#x023B5;" },
-    { "UnderParenthesis",   "&#x0FE36;" },
-    { "UpArrowBar", "&#x02912;" },
-    { "Upsilon",    "&#x003A5;" },
-    { "VerticalLine",   "&#x0007C;" },
-    { "VerticalSeparator",  "&#x02758;" },
-    { "ZeroWidthSpace", "&#x0200B;" },
-    { "angle",  "&#x02220;" },
-    { "ApplyFunction",  "&#x02061;" },
-    { "approx", "&#x02248;" },
-    { "approxeq",   "&#x0224A;" },
-    { "Assign", "&#x02254;" },
-    { "backcong",   "&#x0224C;" },
-    { "backepsilon",    "&#x003F6;" },
-    { "backprime",  "&#x02035;" },
-    { "backsim",    "&#x0223D;" },
-    { "backsimeq",  "&#x022CD;" },
-    { "Backslash",  "&#x02216;" },
-    { "barwedge",   "&#x02305;" },
-    { "Because",    "&#x02235;" },
-    { "because",    "&#x02235;" },
-    { "Bernoullis", "&#x0212C;" },
-    { "between",    "&#x0226C;" },
-    { "bigcap", "&#x022C2;" },
-    { "bigcirc",    "&#x025EF;" },
-    { "bigcup", "&#x022C3;" },
-    { "bigodot",    "&#x02A00;" },
-    { "bigoplus",   "&#x02A01;" },
-    { "bigotimes",  "&#x02A02;" },
-    { "bigsqcup",   "&#x02A06;" },
-    { "bigstar",    "&#x02605;" },
-    { "bigtriangledown",    "&#x025BD;" },
-    { "bigtriangleup",  "&#x025B3;" },
-    { "biguplus",   "&#x02A04;" },
-    { "bigvee", "&#x022C1;" },
-    { "bigwedge",   "&#x022C0;" },
-    { "bkarow", "&#x0290D;" },
-    { "blacklozenge",   "&#x029EB;" },
-    { "blacksquare",    "&#x025AA;" },
-    { "blacktriangle",  "&#x025B4;" },
-    { "blacktriangledown",  "&#x025BE;" },
-    { "blacktriangleleft",  "&#x025C2;" },
-    { "blacktriangleright", "&#x025B8;" },
-    { "bot",    "&#x022A5;" },
-    { "boxminus",   "&#x0229F;" },
-    { "boxplus",    "&#x0229E;" },
-    { "boxtimes",   "&#x022A0;" },
-    { "Breve",  "&#x002D8;" },
-    { "bullet", "&#x02022;" },
-    { "Bumpeq", "&#x0224E;" },
-    { "bumpeq", "&#x0224F;" },
-    { "CapitalDifferentialD",   "&#x02145;" },
-    { "Cayleys",    "&#x0212D;" },
-    { "Cedilla",    "&#x000B8;" },
-    { "CenterDot",  "&#x000B7;" },
-    { "centerdot",  "&#x000B7;" },
-    { "checkmark",  "&#x02713;" },
-    { "circeq", "&#x02257;" },
-    { "circlearrowleft",    "&#x021BA;" },
-    { "circlearrowright",   "&#x021BB;" },
-    { "circledast", "&#x0229B;" },
-    { "circledcirc",    "&#x0229A;" },
-    { "circleddash",    "&#x0229D;" },
-    { "CircleDot",  "&#x02299;" },
-    { "circledR",   "&#x000AE;" },
-    { "circledS",   "&#x024C8;" },
-    { "CircleMinus",    "&#x02296;" },
-    { "CirclePlus", "&#x02295;" },
-    { "CircleTimes",    "&#x02297;" },
-    { "ClockwiseContourIntegral",   "&#x02232;" },
-    { "CloseCurlyDoubleQuote",  "&#x0201D;" },
-    { "CloseCurlyQuote",    "&#x02019;" },
-    { "clubsuit",   "&#x02663;" },
-    { "coloneq",    "&#x02254;" },
-    { "complement", "&#x02201;" },
-    { "complexes",  "&#x02102;" },
-    { "Congruent",  "&#x02261;" },
-    { "ContourIntegral",    "&#x0222E;" },
-    { "Coproduct",  "&#x02210;" },
-    { "CounterClockwiseContourIntegral",    "&#x02233;" },
-    { "CupCap", "&#x0224D;" },
-    { "curlyeqprec",    "&#x022DE;" },
-    { "curlyeqsucc",    "&#x022DF;" },
-    { "curlyvee",   "&#x022CE;" },
-    { "curlywedge", "&#x022CF;" },
-    { "curvearrowleft", "&#x021B6;" },
-    { "curvearrowright",    "&#x021B7;" },
-    { "dbkarow",    "&#x0290F;" },
-    { "ddagger",    "&#x02021;" },
-    { "ddotseq",    "&#x02A77;" },
-    { "Del",    "&#x02207;" },
-    { "DiacriticalAcute",   "&#x000B4;" },
-    { "DiacriticalDot", "&#x002D9;" },
-    { "DiacriticalDoubleAcute", "&#x002DD;" },
-    { "DiacriticalGrave",   "&#x00060;" },
-    { "DiacriticalTilde",   "&#x002DC;" },
-    { "Diamond",    "&#x022C4;" },
-    { "diamond",    "&#x022C4;" },
-    { "diamondsuit",    "&#x02666;" },
-    { "DifferentialD",  "&#x02146;" },
-    { "digamma",    "&#x003DD;" },
-    { "div",    "&#x000F7;" },
-    { "divideontimes",  "&#x022C7;" },
-    { "doteq",  "&#x02250;" },
-    { "doteqdot",   "&#x02251;" },
-    { "DotEqual",   "&#x02250;" },
-    { "dotminus",   "&#x02238;" },
-    { "dotplus",    "&#x02214;" },
-    { "dotsquare",  "&#x022A1;" },
-    { "doublebarwedge", "&#x02306;" },
-    { "DoubleContourIntegral",  "&#x0222F;" },
-    { "DoubleDot",  "&#x000A8;" },
-    { "DoubleDownArrow",    "&#x021D3;" },
-    { "DoubleLeftArrow",    "&#x021D0;" },
-    { "DoubleLeftRightArrow",   "&#x021D4;" },
-    { "DoubleLeftTee",  "&#x02AE4;" },
-    { "DoubleLongLeftArrow",    "&#x027F8;" },
-    { "DoubleLongLeftRightArrow",   "&#x027FA;" },
-    { "DoubleLongRightArrow",   "&#x027F9;" },
-    { "DoubleRightArrow",   "&#x021D2;" },
-    { "DoubleRightTee", "&#x022A8;" },
-    { "DoubleUpArrow",  "&#x021D1;" },
-    { "DoubleUpDownArrow",  "&#x021D5;" },
-    { "DoubleVerticalBar",  "&#x02225;" },
-    { "DownArrow",  "&#x02193;" },
-    { "Downarrow",  "&#x021D3;" },
-    { "downarrow",  "&#x02193;" },
-    { "DownArrowUpArrow",   "&#x021F5;" },
-    { "downdownarrows", "&#x021CA;" },
-    { "downharpoonleft",    "&#x021C3;" },
-    { "downharpoonright",   "&#x021C2;" },
-    { "DownLeftVector", "&#x021BD;" },
-    { "DownRightVector",    "&#x021C1;" },
-    { "DownTee",    "&#x022A4;" },
-    { "DownTeeArrow",   "&#x021A7;" },
-    { "drbkarow",   "&#x02910;" },
-    { "Element",    "&#x02208;" },
-    { "emptyset",   "&#x02205;" },
-    { "eqcirc", "&#x02256;" },
-    { "eqcolon",    "&#x02255;" },
-    { "eqsim",  "&#x02242;" },
-    { "eqslantgtr", "&#x02A96;" },
-    { "eqslantless",    "&#x02A95;" },
-    { "EqualTilde", "&#x02242;" },
-    { "Equilibrium",    "&#x021CC;" },
-    { "Exists", "&#x02203;" },
-    { "expectation",    "&#x02130;" },
-    { "ExponentialE",   "&#x02147;" },
-    { "exponentiale",   "&#x02147;" },
-    { "fallingdotseq",  "&#x02252;" },
-    { "ForAll", "&#x02200;" },
-    { "Fouriertrf", "&#x02131;" },
-    { "geq",    "&#x02265;" },
-    { "geqq",   "&#x02267;" },
-    { "geqslant",   "&#x02A7E;" },
-    { "gg", "&#x0226B;" },
-    { "ggg",    "&#x022D9;" },
-    { "gnapprox",   "&#x02A8A;" },
-    { "gneq",   "&#x02A88;" },
-    { "gneqq",  "&#x02269;" },
-    { "GreaterEqual",   "&#x02265;" },
-    { "GreaterEqualLess",   "&#x022DB;" },
-    { "GreaterFullEqual",   "&#x02267;" },
-    { "GreaterLess",    "&#x02277;" },
-    { "GreaterSlantEqual",  "&#x02A7E;" },
-    { "GreaterTilde",   "&#x02273;" },
-    { "gtrapprox",  "&#x02A86;" },
-    { "gtrdot", "&#x022D7;" },
-    { "gtreqless",  "&#x022DB;" },
-    { "gtreqqless", "&#x02A8C;" },
-    { "gtrless",    "&#x02277;" },
-    { "gtrsim", "&#x02273;" },
-    { "gvertneqq",  "&#x02269;&#x0FE00;" },
-    { "Hacek",  "&#x002C7;" },
-    { "hbar",   "&#x0210F;" },
-    { "heartsuit",  "&#x02665;" },
-    { "HilbertSpace",   "&#x0210B;" },
-    { "hksearow",   "&#x02925;" },
-    { "hkswarow",   "&#x02926;" },
-    { "hookleftarrow",  "&#x021A9;" },
-    { "hookrightarrow", "&#x021AA;" },
-    { "hslash", "&#x0210F;" },
-    { "HumpDownHump",   "&#x0224E;" },
-    { "HumpEqual",  "&#x0224F;" },
-    { "iiiint", "&#x02A0C;" },
-    { "iiint",  "&#x0222D;" },
-    { "Im", "&#x02111;" },
-    { "ImaginaryI", "&#x02148;" },
-    { "imagline",   "&#x02110;" },
-    { "imagpart",   "&#x02111;" },
-    { "Implies",    "&#x021D2;" },
-    { "in", "&#x02208;" },
-    { "integers",   "&#x02124;" },
-    { "Integral",   "&#x0222B;" },
-    { "intercal",   "&#x022BA;" },
-    { "Intersection",   "&#x022C2;" },
-    { "intprod",    "&#x02A3C;" },
-    { "InvisibleComma", "&#x02063;" },
-    { "InvisibleTimes", "&#x02062;" },
-    { "langle", "&#x02329;" },
-    { "Laplacetrf", "&#x02112;" },
-    { "lbrace", "&#x0007B;" },
-    { "lbrack", "&#x0005B;" },
-    { "LeftAngleBracket",   "&#x02329;" },
-    { "LeftArrow",  "&#x02190;" },
-    { "Leftarrow",  "&#x021D0;" },
-    { "leftarrow",  "&#x02190;" },
-    { "LeftArrowBar",   "&#x021E4;" },
-    { "LeftArrowRightArrow",    "&#x021C6;" },
-    { "leftarrowtail",  "&#x021A2;" },
-    { "LeftCeiling",    "&#x02308;" },
-    { "LeftDoubleBracket",  "&#x0301A;" },
-    { "LeftDownVector", "&#x021C3;" },
-    { "LeftFloor",  "&#x0230A;" },
-    { "leftharpoondown",    "&#x021BD;" },
-    { "leftharpoonup",  "&#x021BC;" },
-    { "leftleftarrows", "&#x021C7;" },
-    { "LeftRightArrow", "&#x02194;" },
-    { "Leftrightarrow", "&#x021D4;" },
-    { "leftrightarrow", "&#x02194;" },
-    { "leftrightarrows",    "&#x021C6;" },
-    { "leftrightharpoons",  "&#x021CB;" },
-    { "leftrightsquigarrow",    "&#x021AD;" },
-    { "LeftTee",    "&#x022A3;" },
-    { "LeftTeeArrow",   "&#x021A4;" },
-    { "leftthreetimes", "&#x022CB;" },
-    { "LeftTriangle",   "&#x022B2;" },
-    { "LeftTriangleEqual",  "&#x022B4;" },
-    { "LeftUpVector",   "&#x021BF;" },
-    { "LeftVector", "&#x021BC;" },
-    { "leq",    "&#x02264;" },
-    { "leqq",   "&#x02266;" },
-    { "leqslant",   "&#x02A7D;" },
-    { "lessapprox", "&#x02A85;" },
-    { "lessdot",    "&#x022D6;" },
-    { "lesseqgtr",  "&#x022DA;" },
-    { "lesseqqgtr", "&#x02A8B;" },
-    { "LessEqualGreater",   "&#x022DA;" },
-    { "LessFullEqual",  "&#x02266;" },
-    { "LessGreater",    "&#x02276;" },
-    { "lessgtr",    "&#x02276;" },
-    { "lesssim",    "&#x02272;" },
-    { "LessSlantEqual", "&#x02A7D;" },
-    { "LessTilde",  "&#x02272;" },
-    { "ll", "&#x0226A;" },
-    { "llcorner",   "&#x0231E;" },
-    { "Lleftarrow", "&#x021DA;" },
-    { "lmoustache", "&#x023B0;" },
-    { "lnapprox",   "&#x02A89;" },
-    { "lneq",   "&#x02A87;" },
-    { "lneqq",  "&#x02268;" },
-    { "LongLeftArrow",  "&#x027F5;" },
-    { "Longleftarrow",  "&#x027F8;" },
-    { "longleftarrow",  "&#x027F5;" },
-    { "LongLeftRightArrow", "&#x027F7;" },
-    { "Longleftrightarrow", "&#x027FA;" },
-    { "longleftrightarrow", "&#x027F7;" },
-    { "longmapsto", "&#x027FC;" },
-    { "LongRightArrow", "&#x027F6;" },
-    { "Longrightarrow", "&#x027F9;" },
-    { "longrightarrow", "&#x027F6;" },
-    { "looparrowleft",  "&#x021AB;" },
-    { "looparrowright", "&#x021AC;" },
-    { "LowerLeftArrow", "&#x02199;" },
-    { "LowerRightArrow",    "&#x02198;" },
-    { "lozenge",    "&#x025CA;" },
-    { "lrcorner",   "&#x0231F;" },
-    { "Lsh",    "&#x021B0;" },
-    { "lvertneqq",  "&#x02268;&#x0FE00;" },
-    { "maltese",    "&#x02720;" },
-    { "mapsto", "&#x021A6;" },
-    { "measuredangle",  "&#x02221;" },
-    { "Mellintrf",  "&#x02133;" },
-    { "MinusPlus",  "&#x02213;" },
-    { "mp", "&#x02213;" },
-    { "multimap",   "&#x022B8;" },
-    { "napprox",    "&#x02249;" },
-    { "natural",    "&#x0266E;" },
-    { "naturals",   "&#x02115;" },
-    { "nearrow",    "&#x02197;" },
-    { "NegativeMediumSpace",    "&#x0200B;" },
-    { "NegativeThickSpace", "&#x0200B;" },
-    { "NegativeThinSpace",  "&#x0200B;" },
-    { "NegativeVeryThinSpace",  "&#x0200B;" },
-    { "NestedGreaterGreater",   "&#x0226B;" },
-    { "NestedLessLess", "&#x0226A;" },
-    { "nexists",    "&#x02204;" },
-    { "ngeq",   "&#x02271;" },
-    { "ngeqq",  "&#x02267;&#x00338;" },
-    { "ngeqslant",  "&#x02A7E;&#x00338;" },
-    { "ngtr",   "&#x0226F;" },
-    { "nLeftarrow", "&#x021CD;" },
-    { "nleftarrow", "&#x0219A;" },
-    { "nLeftrightarrow",    "&#x021CE;" },
-    { "nleftrightarrow",    "&#x021AE;" },
-    { "nleq",   "&#x02270;" },
-    { "nleqq",  "&#x02266;&#x00338;" },
-    { "nleqslant",  "&#x02A7D;&#x00338;" },
-    { "nless",  "&#x0226E;" },
-    { "NonBreakingSpace",   "&#x000A0;" },
-    { "NotCongruent",   "&#x02262;" },
-    { "NotDoubleVerticalBar",   "&#x02226;" },
-    { "NotElement", "&#x02209;" },
-    { "NotEqual",   "&#x02260;" },
-    { "NotEqualTilde",  "&#x02242;&#x00338;" },
-    { "NotExists",  "&#x02204;" },
-    { "NotGreater", "&#x0226F;" },
-    { "NotGreaterEqual",    "&#x02271;" },
-    { "NotGreaterFullEqual",    "&#x02266;&#x00338;" },
-    { "NotGreaterGreater",  "&#x0226B;&#x00338;" },
-    { "NotGreaterLess", "&#x02279;" },
-    { "NotGreaterSlantEqual",   "&#x02A7E;&#x00338;" },
-    { "NotGreaterTilde",    "&#x02275;" },
-    { "NotHumpDownHump",    "&#x0224E;&#x00338;" },
-    { "NotLeftTriangle",    "&#x022EA;" },
-    { "NotLeftTriangleEqual",   "&#x022EC;" },
-    { "NotLess",    "&#x0226E;" },
-    { "NotLessEqual",   "&#x02270;" },
-    { "NotLessGreater", "&#x02278;" },
-    { "NotLessLess",    "&#x0226A;&#x00338;" },
-    { "NotLessSlantEqual",  "&#x02A7D;&#x00338;" },
-    { "NotLessTilde",   "&#x02274;" },
-    { "NotPrecedes",    "&#x02280;" },
-    { "NotPrecedesEqual",   "&#x02AAF;&#x00338;" },
-    { "NotPrecedesSlantEqual",  "&#x022E0;" },
-    { "NotReverseElement",  "&#x0220C;" },
-    { "NotRightTriangle",   "&#x022EB;" },
-    { "NotRightTriangleEqual",  "&#x022ED;" },
-    { "NotSquareSubsetEqual",   "&#x022E2;" },
-    { "NotSquareSupersetEqual", "&#x022E3;" },
-    { "NotSubset",  "&#x02282;&#x020D2;" },
-    { "NotSubsetEqual", "&#x02288;" },
-    { "NotSucceeds",    "&#x02281;" },
-    { "NotSucceedsEqual",   "&#x02AB0;&#x00338;" },
-    { "NotSucceedsSlantEqual",  "&#x022E1;" },
-    { "NotSuperset",    "&#x02283;&#x020D2;" },
-    { "NotSupersetEqual",   "&#x02289;" },
-    { "NotTilde",   "&#x02241;" },
-    { "NotTildeEqual",  "&#x02244;" },
-    { "NotTildeFullEqual",  "&#x02247;" },
-    { "NotTildeTilde",  "&#x02249;" },
-    { "NotVerticalBar", "&#x02224;" },
-    { "nparallel",  "&#x02226;" },
-    { "nprec",  "&#x02280;" },
-    { "npreceq",    "&#x02AAF;&#x00338;" },
-    { "nRightarrow",    "&#x021CF;" },
-    { "nrightarrow",    "&#x0219B;" },
-    { "nshortmid",  "&#x02224;" },
-    { "nshortparallel", "&#x02226;" },
-    { "nsimeq", "&#x02244;" },
-    { "nsubset",    "&#x02282;&#x020D2;" },
-    { "nsubseteq",  "&#x02288;" },
-    { "nsubseteqq", "&#x02AC5;&#x0338;" },
-    { "nsucc",  "&#x02281;" },
-    { "nsucceq",    "&#x02AB0;&#x00338;" },
-    { "nsupset",    "&#x02283;&#x020D2;" },
-    { "nsupseteq",  "&#x02289;" },
-    { "nsupseteqq", "&#x02AC6;&#x0338;" },
-    { "ntriangleleft",  "&#x022EA;" },
-    { "ntrianglelefteq",    "&#x022EC;" },
-    { "ntriangleright", "&#x022EB;" },
-    { "ntrianglerighteq",   "&#x022ED;" },
-    { "nwarrow",    "&#x02196;" },
-    { "oint",   "&#x0222E;" },
-    { "OpenCurlyDoubleQuote",   "&#x0201C;" },
-    { "OpenCurlyQuote", "&#x02018;" },
-    { "orderof",    "&#x02134;" },
-    { "parallel",   "&#x02225;" },
-    { "PartialD",   "&#x02202;" },
-    { "pitchfork",  "&#x022D4;" },
-    { "PlusMinus",  "&#x000B1;" },
-    { "pm", "&#x000B1;" },
-    { "Poincareplane",  "&#x0210C;" },
-    { "prec",   "&#x0227A;" },
-    { "precapprox", "&#x02AB7;" },
-    { "preccurlyeq",    "&#x0227C;" },
-    { "Precedes",   "&#x0227A;" },
-    { "PrecedesEqual",  "&#x02AAF;" },
-    { "PrecedesSlantEqual", "&#x0227C;" },
-    { "PrecedesTilde",  "&#x0227E;" },
-    { "preceq", "&#x02AAF;" },
-    { "precnapprox",    "&#x02AB9;" },
-    { "precneqq",   "&#x02AB5;" },
-    { "precnsim",   "&#x022E8;" },
-    { "precsim",    "&#x0227E;" },
-    { "primes", "&#x02119;" },
-    { "Proportion", "&#x02237;" },
-    { "Proportional",   "&#x0221D;" },
-    { "propto", "&#x0221D;" },
-    { "quaternions",    "&#x0210D;" },
-    { "questeq",    "&#x0225F;" },
-    { "rangle", "&#x0232A;" },
-    { "rationals",  "&#x0211A;" },
-    { "rbrace", "&#x0007D;" },
-    { "rbrack", "&#x0005D;" },
-    { "Re", "&#x0211C;" },
-    { "realine",    "&#x0211B;" },
-    { "realpart",   "&#x0211C;" },
-    { "reals",  "&#x0211D;" },
-    { "ReverseElement", "&#x0220B;" },
-    { "ReverseEquilibrium", "&#x021CB;" },
-    { "ReverseUpEquilibrium",   "&#x0296F;" },
-    { "RightAngleBracket",  "&#x0232A;" },
-    { "RightArrow", "&#x02192;" },
-    { "Rightarrow", "&#x021D2;" },
-    { "rightarrow", "&#x02192;" },
-    { "RightArrowBar",  "&#x021E5;" },
-    { "RightArrowLeftArrow",    "&#x021C4;" },
-    { "rightarrowtail", "&#x021A3;" },
-    { "RightCeiling",   "&#x02309;" },
-    { "RightDoubleBracket", "&#x0301B;" },
-    { "RightDownVector",    "&#x021C2;" },
-    { "RightFloor", "&#x0230B;" },
-    { "rightharpoondown",   "&#x021C1;" },
-    { "rightharpoonup", "&#x021C0;" },
-    { "rightleftarrows",    "&#x021C4;" },
-    { "rightleftharpoons",  "&#x021CC;" },
-    { "rightrightarrows",   "&#x021C9;" },
-    { "rightsquigarrow",    "&#x0219D;" },
-    { "RightTee",   "&#x022A2;" },
-    { "RightTeeArrow",  "&#x021A6;" },
-    { "rightthreetimes",    "&#x022CC;" },
-    { "RightTriangle",  "&#x022B3;" },
-    { "RightTriangleEqual", "&#x022B5;" },
-    { "RightUpVector",  "&#x021BE;" },
-    { "RightVector",    "&#x021C0;" },
-    { "risingdotseq",   "&#x02253;" },
-    { "rmoustache", "&#x023B1;" },
-    { "Rrightarrow",    "&#x021DB;" },
-    { "Rsh",    "&#x021B1;" },
-    { "searrow",    "&#x02198;" },
-    { "setminus",   "&#x02216;" },
-    { "ShortDownArrow", "&#x02193;" },
-    { "ShortLeftArrow", "&#x02190;" },
-    { "shortmid",   "&#x02223;" },
-    { "shortparallel",  "&#x02225;" },
-    { "ShortRightArrow",    "&#x02192;" },
-    { "ShortUpArrow",   "&#x02191;" },
-    { "simeq",  "&#x02243;" },
-    { "SmallCircle",    "&#x02218;" },
-    { "smallsetminus",  "&#x02216;" },
-    { "spadesuit",  "&#x02660;" },
-    { "Sqrt",   "&#x0221A;" },
-    { "sqsubset",   "&#x0228F;" },
-    { "sqsubseteq", "&#x02291;" },
-    { "sqsupset",   "&#x02290;" },
-    { "sqsupseteq", "&#x02292;" },
-    { "Square", "&#x025A1;" },
-    { "SquareIntersection", "&#x02293;" },
-    { "SquareSubset",   "&#x0228F;" },
-    { "SquareSubsetEqual",  "&#x02291;" },
-    { "SquareSuperset", "&#x02290;" },
-    { "SquareSupersetEqual",    "&#x02292;" },
-    { "SquareUnion",    "&#x02294;" },
-    { "Star",   "&#x022C6;" },
-    { "straightepsilon",    "&#x003B5;" },
-    { "straightphi",    "&#x003D5;" },
-    { "Subset", "&#x022D0;" },
-    { "subset", "&#x02282;" },
-    { "subseteq",   "&#x02286;" },
-    { "subseteqq",  "&#x02AC5;" },
-    { "SubsetEqual",    "&#x02286;" },
-    { "subsetneq",  "&#x0228A;" },
-    { "subsetneqq", "&#x02ACB;" },
-    { "succ",   "&#x0227B;" },
-    { "succapprox", "&#x02AB8;" },
-    { "succcurlyeq",    "&#x0227D;" },
-    { "Succeeds",   "&#x0227B;" },
-    { "SucceedsEqual",  "&#x02AB0;" },
-    { "SucceedsSlantEqual", "&#x0227D;" },
-    { "SucceedsTilde",  "&#x0227F;" },
-    { "succeq", "&#x02AB0;" },
-    { "succnapprox",    "&#x02ABA;" },
-    { "succneqq",   "&#x02AB6;" },
-    { "succnsim",   "&#x022E9;" },
-    { "succsim",    "&#x0227F;" },
-    { "SuchThat",   "&#x0220B;" },
-    { "Sum",    "&#x02211;" },
-    { "Superset",   "&#x02283;" },
-    { "SupersetEqual",  "&#x02287;" },
-    { "Supset", "&#x022D1;" },
-    { "supset", "&#x02283;" },
-    { "supseteq",   "&#x02287;" },
-    { "supseteqq",  "&#x02AC6;" },
-    { "supsetneq",  "&#x0228B;" },
-    { "supsetneqq", "&#x02ACC;" },
-    { "swarrow",    "&#x02199;" },
-    { "Therefore",  "&#x02234;" },
-    { "therefore",  "&#x02234;" },
-    { "thickapprox",    "&#x02248;" },
-    { "thicksim",   "&#x0223C;" },
-    { "ThinSpace",  "&#x02009;" },
-    { "Tilde",  "&#x0223C;" },
-    { "TildeEqual", "&#x02243;" },
-    { "TildeFullEqual", "&#x02245;" },
-    { "TildeTilde", "&#x02248;" },
-    { "toea",   "&#x02928;" },
-    { "tosa",   "&#x02929;" },
-    { "triangle",   "&#x025B5;" },
-    { "triangledown",   "&#x025BF;" },
-    { "triangleleft",   "&#x025C3;" },
-    { "trianglelefteq", "&#x022B4;" },
-    { "triangleq",  "&#x0225C;" },
-    { "triangleright",  "&#x025B9;" },
-    { "trianglerighteq",    "&#x022B5;" },
-    { "TripleDot",  "&#x020DB;" },
-    { "twoheadleftarrow",   "&#x0219E;" },
-    { "twoheadrightarrow",  "&#x021A0;" },
-    { "ulcorner",   "&#x0231C;" },
-    { "Union",  "&#x022C3;" },
-    { "UnionPlus",  "&#x0228E;" },
-    { "UpArrow",    "&#x02191;" },
-    { "Uparrow",    "&#x021D1;" },
-    { "uparrow",    "&#x02191;" },
-    { "UpArrowDownArrow",   "&#x021C5;" },
-    { "UpDownArrow",    "&#x02195;" },
-    { "Updownarrow",    "&#x021D5;" },
-    { "updownarrow",    "&#x02195;" },
-    { "UpEquilibrium",  "&#x0296E;" },
-    { "upharpoonleft",  "&#x021BF;" },
-    { "upharpoonright", "&#x021BE;" },
-    { "UpperLeftArrow", "&#x02196;" },
-    { "UpperRightArrow",    "&#x02197;" },
-    { "upsilon",    "&#x003C5;" },
-    { "UpTee",  "&#x022A5;" },
-    { "UpTeeArrow", "&#x021A5;" },
-    { "upuparrows", "&#x021C8;" },
-    { "urcorner",   "&#x0231D;" },
-    { "varepsilon", "&#x0025B;" },
-    { "varkappa",   "&#x003F0;" },
-    { "varnothing", "&#x02205;" },
-    { "varphi", "&#x003C6;" },
-    { "varpi",  "&#x003D6;" },
-    { "varpropto",  "&#x0221D;" },
-    { "varrho", "&#x003F1;" },
-    { "varsigma",   "&#x003C2;" },
-    { "varsubsetneq",   "&#x0228A;&#x0FE00;" },
-    { "varsubsetneqq",  "&#x02ACB;&#x0FE00;" },
-    { "varsupsetneq",   "&#x0228B;&#x0FE00;" },
-    { "varsupsetneqq",  "&#x02ACC;&#x0FE00;" },
-    { "vartheta",   "&#x003D1;" },
-    { "vartriangleleft",    "&#x022B2;" },
-    { "vartriangleright",   "&#x022B3;" },
-    { "Vee",    "&#x022C1;" },
-    { "vee",    "&#x02228;" },
-    { "Vert",   "&#x02016;" },
-    { "vert",   "&#x0007C;" },
-    { "VerticalBar",    "&#x02223;" },
-    { "VerticalTilde",  "&#x02240;" },
-    { "VeryThinSpace",  "&#x0200A;" },
-    { "Wedge",  "&#x022C0;" },
-    { "wedge",  "&#x02227;" },
-    { "wp", "&#x02118;" },
-    { "wr", "&#x02240;" },
-    { "zeetrf", "&#x02128;" },
-    { 0, 0 }
-};
-
-// *******************************************************************
-// QwtMmlDocument
-// *******************************************************************
-
-QString QwtMmlDocument::fontName( QwtMathMLDocument::MmlFont type ) const
-{
-    switch ( type )
-    {
-        case QwtMathMLDocument::NormalFont:
-            return m_normal_font_name;
-        case QwtMathMLDocument::FrakturFont:
-            return m_fraktur_font_name;
-        case QwtMathMLDocument::SansSerifFont:
-            return m_sans_serif_font_name;
-        case QwtMathMLDocument::ScriptFont:
-            return m_script_font_name;
-        case QwtMathMLDocument::MonospaceFont:
-            return m_monospace_font_name;
-        case QwtMathMLDocument::DoublestruckFont:
-            return m_doublestruck_font_name;
-    };
-
-    return QString::null;
-}
-
-void QwtMmlDocument::setFontName( QwtMathMLDocument::MmlFont type, const QString &name )
-{
-    switch ( type )
-    {
-        case QwtMathMLDocument::NormalFont:
-            m_normal_font_name = name;
-            break;
-        case QwtMathMLDocument::FrakturFont:
-            m_fraktur_font_name = name;
-            break;
-        case QwtMathMLDocument::SansSerifFont:
-            m_sans_serif_font_name = name;
-            break;
-        case QwtMathMLDocument::ScriptFont:
-            m_script_font_name = name;
-            break;
-        case QwtMathMLDocument::MonospaceFont:
-            m_monospace_font_name = name;
-            break;
-        case QwtMathMLDocument::DoublestruckFont:
-            m_doublestruck_font_name = name;
-            break;
-    };
-}
-
-QwtMml::NodeType domToQwtMmlNodeType( const QDomNode &dom_node )
-{
-    QwtMml::NodeType mml_type = QwtMml::NoNode;
-
-    switch ( dom_node.nodeType() )
-    {
-        case QDomNode::ElementNode:
-        {
-            QString tag = dom_node.nodeName();
-            const QwtMmlNodeSpec *spec = mmlFindNodeSpec( tag );
-
-            // treat urecognised tags as mrow
-            if ( spec == 0 )
-                mml_type = QwtMml::UnknownNode;
-            else
-                mml_type = spec->type;
-
-            break;
-        }
-        case QDomNode::TextNode:
-            mml_type = QwtMml::TextNode;
-            break;
-
-        case QDomNode::DocumentNode:
-            mml_type = QwtMml::MrowNode;
-            break;
-
-        case QDomNode::EntityReferenceNode:
-//      qWarning("EntityReferenceNode: name=\"" + dom_node.nodeName() + "\" value=\"" + dom_node.nodeValue() + "\"");
-            break;
-
-        case QDomNode::AttributeNode:
-        case QDomNode::CDATASectionNode:
-        case QDomNode::EntityNode:
-        case QDomNode::ProcessingInstructionNode:
-        case QDomNode::CommentNode:
-        case QDomNode::DocumentTypeNode:
-        case QDomNode::DocumentFragmentNode:
-        case QDomNode::NotationNode:
-        case QDomNode::BaseNode:
-        case QDomNode::CharacterDataNode:
-            break;
-    }
-
-    return mml_type;
-}
-
-
-QwtMmlDocument::QwtMmlDocument()
-{
-    m_root_node = 0;
-
-    // Some defaults which happen to work on my computer,
-    // but probably won't work on other's
-#if defined(Q_OS_WIN)
-    m_normal_font_name = "Times New Roman";
-#else
-    m_normal_font_name = "Century Schoolbook L";
-#endif
-    m_fraktur_font_name = "Fraktur";
-    m_sans_serif_font_name = "Luxi Sans";
-    m_script_font_name = "Urw Chancery L";
-    m_monospace_font_name = "Luxi Mono";
-    m_doublestruck_font_name = "Doublestruck";
-    m_base_font_point_size = 16;
-    m_foreground_color = Qt::black;
-    m_background_color = Qt::white;
-}
-
-QwtMmlDocument::~QwtMmlDocument()
-{
-    clear();
-}
-
-void QwtMmlDocument::clear()
-{
-    delete m_root_node;
-    m_root_node = 0;
-}
-
-void QwtMmlDocument::dump() const
-{
-    if ( m_root_node == 0 )
-        return;
-
-    QString indent;
-    _dump( m_root_node, indent );
-}
-
-void QwtMmlDocument::_dump( const QwtMmlNode *node, QString &indent ) const
-{
-    if ( node == 0 ) return;
-
-    qWarning() << indent + node->toStr();
-
-    indent += "  ";
-    const QwtMmlNode *child = node->firstChild();
-    for ( ; child != 0; child = child->nextSibling() )
-        _dump( child, indent );
-    indent.truncate( indent.length() - 2 );
-}
-
-bool QwtMmlDocument::setContent( QString text, QString *errorMsg,
-                                 int *errorLine, int *errorColumn )
-{
-    clear();
-
-    QString prefix = "<?xml version=\"2.0\"?>\n";
-    prefix.append( entityDeclarations() );
-
-    uint prefix_lines = 0;
-    for ( int i = 0; i < prefix.length(); ++i )
-    {
-        if ( prefix.at( i ) == '\n' )
-            ++prefix_lines;
-    }
-
-    QDomDocument dom;
-    if ( !dom.setContent( prefix + text, false, errorMsg, errorLine, errorColumn ) )
-    {
-        if ( errorLine != 0 )
-            *errorLine -= prefix_lines;
-        return false;
-    }
-
-    // we don't have access to line info from now on
-    if ( errorLine != 0 ) *errorLine = -1;
-    if ( errorColumn != 0 ) *errorColumn = -1;
-
-    bool ok;
-    QwtMmlNode *root_node = domToMml( dom, &ok, errorMsg );
-    if ( !ok )
-        return false;
-
-    if ( root_node == 0 )
-    {
-        if ( errorMsg != 0 )
-            *errorMsg = "empty document";
-        return false;
-    }
-
-    insertChild( 0, root_node, 0 );
-    layout();
-
-    /*    QFile of("/tmp/dump.xml");
-        of.open(IO_WriteOnly);
-        QTextStream os(&of);
-        os.setEncoding(QTextStream::UnicodeUTF8);
-        os << dom.toString(); */
-
-    return true;
-}
-
-void QwtMmlDocument::layout()
-{
-    if ( m_root_node == 0 )
-        return;
-
-    m_root_node->layout();
-    m_root_node->stretch();
-//    dump();
-}
-
-bool QwtMmlDocument::insertChild( QwtMmlNode *parent, QwtMmlNode *new_node,
-                                  QString *errorMsg )
-{
-    if ( new_node == 0 )
-        return true;
-
-    Q_ASSERT( new_node->parent() == 0
-              && new_node->nextSibling() == 0
-              && new_node->previousSibling() == 0 );
-
-    if ( parent != 0 )
-    {
-        if ( !mmlCheckChildType( parent->nodeType(), new_node->nodeType(), errorMsg ) )
-            return false;
-    }
-
-    if ( parent == 0 )
-    {
-        if ( m_root_node == 0 )
-            m_root_node = new_node;
-        else
-        {
-            QwtMmlNode *n = m_root_node->lastSibling();
-            n->m_next_sibling = new_node;
-            new_node->m_previous_sibling = n;
-        }
-    }
-    else
-    {
-        new_node->m_parent = parent;
-        if ( parent->hasChildNodes() )
-        {
-            QwtMmlNode *n = parent->firstChild()->lastSibling();
-            n->m_next_sibling = new_node;
-            new_node->m_previous_sibling = n;
-        }
-        else parent->m_first_child = new_node;
-    }
-
-    return true;
-}
-
-QwtMmlNode *QwtMmlDocument::createNode( NodeType type,
-                                     const QwtMmlAttributeMap &mml_attr,
-                                     const QString &mml_value,
-                                     QString *errorMsg )
-{
-    Q_ASSERT( type != NoNode );
-
-    QwtMmlNode *mml_node = 0;
-
-    if ( !mmlCheckAttributes( type, mml_attr, errorMsg ) )
-        return 0;
-
-    switch ( type )
-    {
-        case MiNode:
-            mml_node = new QwtMmlMiNode( this, mml_attr );
-            break;
-        case MnNode:
-            mml_node = new QwtMmlMnNode( this, mml_attr );
-            break;
-        case MfracNode:
-            mml_node = new QwtMmlMfracNode( this, mml_attr );
-            break;
-        case MrowNode:
-            mml_node = new QwtMmlMrowNode( this, mml_attr );
-            break;
-        case MsqrtNode:
-            mml_node = new QwtMmlMsqrtNode( this, mml_attr );
-            break;
-        case MrootNode:
-            mml_node = new QwtMmlMrootNode( this, mml_attr );
-            break;
-        case MsupNode:
-            mml_node = new QwtMmlMsupNode( this, mml_attr );
-            break;
-        case MsubNode:
-            mml_node = new QwtMmlMsubNode( this, mml_attr );
-            break;
-        case MsubsupNode:
-            mml_node = new QwtMmlMsubsupNode( this, mml_attr );
-            break;
-        case MoNode:
-            mml_node = new QwtMmlMoNode( this, mml_attr );
-            break;
-        case MstyleNode:
-            mml_node = new QwtMmlMstyleNode( this, mml_attr );
-            break;
-        case TextNode:
-            mml_node = new QwtMmlTextNode( mml_value, this );
-            break;
-        case MphantomNode:
-            mml_node = new QwtMmlMphantomNode( this, mml_attr );
-            break;
-        case MfencedNode:
-            mml_node = new QwtMmlMfencedNode( this, mml_attr );
-            break;
-        case MtableNode:
-            mml_node = new QwtMmlMtableNode( this, mml_attr );
-            break;
-        case MtrNode:
-            mml_node = new QwtMmlMtrNode( this, mml_attr );
-            break;
-        case MtdNode:
-            mml_node = new QwtMmlMtdNode( this, mml_attr );
-            break;
-        case MoverNode:
-            mml_node = new QwtMmlMoverNode( this, mml_attr );
-            break;
-        case MunderNode:
-            mml_node = new QwtMmlMunderNode( this, mml_attr );
-            break;
-        case MunderoverNode:
-            mml_node = new QwtMmlMunderoverNode( this, mml_attr );
-            break;
-        case MalignMarkNode:
-            mml_node = new QwtMmlMalignMarkNode( this );
-            break;
-        case MerrorNode:
-            mml_node = new QwtMmlMerrorNode( this, mml_attr );
-            break;
-        case MtextNode:
-            mml_node = new QwtMmlMtextNode( this, mml_attr );
-            break;
-        case MpaddedNode:
-            mml_node = new QwtMmlMpaddedNode( this, mml_attr );
-            break;
-        case MspaceNode:
-            mml_node = new QwtMmlMspaceNode( this, mml_attr );
-            break;
-        case UnknownNode:
-            mml_node = new QwtMmlUnknownNode( this, mml_attr );
-            break;
-        case NoNode:
-            mml_node = 0;
-            break;
-    }
-
-    return mml_node;
-}
-
-void QwtMmlDocument::insertOperator( QwtMmlNode *node, const QString &text )
-{
-    QwtMmlNode *text_node = createNode( TextNode, QwtMmlAttributeMap(), text, 0 );
-    QwtMmlNode *mo_node = createNode( MoNode, QwtMmlAttributeMap(), QString::null, 0 );
-
-    bool ok = insertChild( node, mo_node, 0 );
-    Q_ASSERT( ok );
-    ok = insertChild( mo_node, text_node, 0 );
-    Q_ASSERT( ok );
-}
-
-QwtMmlNode *QwtMmlDocument::domToMml( const QDomNode &dom_node, bool *ok, QString *errorMsg )
-{
-    // create the node
-
-    Q_ASSERT( ok != 0 );
-
-    NodeType mml_type = domToQwtMmlNodeType( dom_node );
-
-    if ( mml_type == NoNode )
-    {
-        *ok = true;
-        return 0;
-    }
-
-    QDomNamedNodeMap dom_attr = dom_node.attributes();
-    QwtMmlAttributeMap mml_attr;
-    for ( int i = 0; i < dom_attr.length(); ++i )
-    {
-        QDomNode attr_node = dom_attr.item( i );
-        Q_ASSERT( !attr_node.nodeName().isNull() );
-        Q_ASSERT( !attr_node.nodeValue().isNull() );
-        mml_attr[attr_node.nodeName()] = attr_node.nodeValue();
-    }
-
-    QString mml_value;
-    if ( mml_type == TextNode )
-        mml_value = dom_node.nodeValue();
-    QwtMmlNode *mml_node = createNode( mml_type, mml_attr, mml_value, errorMsg );
-    if ( mml_node == 0 )
-    {
-        *ok = false;
-        return 0;
-    }
-
-    // create the node's children according to the child_spec
-
-    const QwtMmlNodeSpec *spec = mmlFindNodeSpec( mml_type );
-    QDomNodeList dom_child_list = dom_node.childNodes();
-    int child_cnt = dom_child_list.count();
-    QwtMmlNode *mml_child = 0;
-
-    QString separator_list;
-    if ( mml_type == MfencedNode )
-        separator_list = mml_node->explicitAttribute( "separators", "," );
-
-    switch ( spec->child_spec )
-    {
-        case QwtMmlNodeSpec::ChildIgnore:
-            break;
-
-        case QwtMmlNodeSpec::ImplicitMrow:
-
-            if ( child_cnt > 0 )
-            {
-                mml_child = createImplicitMrowNode( dom_node, ok, errorMsg );
-                if ( !*ok )
-                {
-                    delete mml_node;
-                    return 0;
-                }
-
-                if ( !insertChild( mml_node, mml_child, errorMsg ) )
-                {
-                    delete mml_node;
-                    delete mml_child;
-                    *ok = false;
-                    return 0;
-                }
-            }
-
-            break;
-
-        default:
-            // exact ammount of children specified - check...
-            if ( spec->child_spec != child_cnt )
-            {
-                if ( errorMsg != 0 )
-                    *errorMsg = QString( "element " )
-                                + spec->tag
-                                + " requires exactly "
-                                + QString::number( spec->child_spec )
-                                + " arguments, got "
-                                + QString::number( child_cnt );
-                delete mml_node;
-                *ok = false;
-                return 0;
-            }
-
-            // ...and continue just as in ChildAny
-
-        case QwtMmlNodeSpec::ChildAny:
-            if ( mml_type == MfencedNode )
-                insertOperator( mml_node, mml_node->explicitAttribute( "open", "(" ) );
-
-            for ( int i = 0; i < child_cnt; ++i )
-            {
-                QDomNode dom_child = dom_child_list.item( i );
-
-                QwtMmlNode *mml_child = domToMml( dom_child, ok, errorMsg );
-                if ( !*ok )
-                {
-                    delete mml_node;
-                    return 0;
-                }
-
-                if ( mml_type == MtableNode && mml_child->nodeType() != MtrNode )
-                {
-                    QwtMmlNode *mtr_node = createNode( MtrNode, QwtMmlAttributeMap(), QString::null, 0 );
-                    insertChild( mml_node, mtr_node, 0 );
-                    if ( !insertChild( mtr_node, mml_child, errorMsg ) )
-                    {
-                        delete mml_node;
-                        delete mml_child;
-                        *ok = false;
-                        return 0;
-                    }
-                }
-                else if ( mml_type == MtrNode && mml_child->nodeType() != MtdNode )
-                {
-                    QwtMmlNode *mtd_node = createNode( MtdNode, QwtMmlAttributeMap(), QString::null, 0 );
-                    insertChild( mml_node, mtd_node, 0 );
-                    if ( !insertChild( mtd_node, mml_child, errorMsg ) )
-                    {
-                        delete mml_node;
-                        delete mml_child;
-                        *ok = false;
-                        return 0;
-                    }
-                }
-                else
-                {
-                    if ( !insertChild( mml_node, mml_child, errorMsg ) )
-                    {
-                        delete mml_node;
-                        delete mml_child;
-                        *ok = false;
-                        return 0;
-                    }
-                }
-
-                if ( i < child_cnt - 1 && mml_type == MfencedNode && !separator_list.isEmpty() )
-                {
-                    QChar separator;
-                    if ( i >= ( int )separator_list.length() )
-                        separator = separator_list.at( separator_list.length() - 1 );
-                    else
-                        separator = separator_list[i];
-                    insertOperator( mml_node, QString( separator ) );
-                }
-            }
-
-            if ( mml_type == MfencedNode )
-                insertOperator( mml_node, mml_node->explicitAttribute( "close", ")" ) );
-
-            break;
-    }
-
-    *ok = true;
-    return mml_node;
-}
-
-QwtMmlNode *QwtMmlDocument::createImplicitMrowNode( const QDomNode &dom_node, bool *ok,
-        QString *errorMsg )
-{
-    QDomNodeList dom_child_list = dom_node.childNodes();
-    int child_cnt = dom_child_list.count();
-
-    if ( child_cnt == 0 )
-    {
-        *ok = true;
-        return 0;
-    }
-
-    if ( child_cnt == 1 )
-        return domToMml( dom_child_list.item( 0 ), ok, errorMsg );
-
-    QwtMmlNode *mml_node = createNode( MrowNode, QwtMmlAttributeMap(),
-                                    QString::null, errorMsg );
-    Q_ASSERT( mml_node != 0 ); // there is no reason in heaven or hell for this to fail
-
-    for ( int i = 0; i < child_cnt; ++i )
-    {
-        QDomNode dom_child = dom_child_list.item( i );
-
-        QwtMmlNode *mml_child = domToMml( dom_child, ok, errorMsg );
-        if ( !*ok )
-        {
-            delete mml_node;
-            return 0;
-        }
-
-        if ( !insertChild( mml_node, mml_child, errorMsg ) )
-        {
-            delete mml_node;
-            delete mml_child;
-            *ok = false;
-            return 0;
-        }
-    }
-
-    return mml_node;
-}
-
-void QwtMmlDocument::paint( QPainter *p, const QPoint &pos ) const
-{
-    if ( m_root_node == 0 )
-        return;
-
-    /*    p->save();
-        p->setPen(Qt::blue);
-        p->drawLine(pos.x() - 5, pos.y(), pos.x() + 5, pos.y());
-        p->drawLine(pos.x(), pos.y() - 5, pos.x(), pos.y() + 5);
-        p->restore(); */
-
-    QRect mr = m_root_node->myRect();
-    m_root_node->setRelOrigin( pos - mr.topLeft() );
-    m_root_node->paint( p );
-}
-
-QSize QwtMmlDocument::size() const
-{
-    if ( m_root_node == 0 )
-        return QSize( 0, 0 );
-    return m_root_node->deviceRect().size();
-}
-
-
-
-
-// *******************************************************************
-// QwtMmlNode
-// *******************************************************************
-
-
-QwtMmlNode::QwtMmlNode( NodeType type, QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-{
-    m_parent = 0;
-    m_first_child = 0;
-    m_next_sibling = 0;
-    m_previous_sibling = 0;
-
-    m_node_type = type;
-    m_document = document;
-    m_attribute_map = attribute_map;
-
-    m_my_rect = m_parent_rect = QRect( 0, 0, 0, 0 );
-    m_rel_origin = QPoint( 0, 0 );
-    m_stretched = false;
-}
-
-QwtMmlNode::~QwtMmlNode()
-{
-    QwtMmlNode *n = firstChild();
-    while ( n != 0 )
-    {
-        QwtMmlNode *tmp = n->nextSibling();
-        delete n;
-        n = tmp;
-    }
-}
-
-static QString rectToStr( const QRect &rect )
-{
-    return QString( "[(%1, %2), %3x%4]" )
-           .arg( rect.x() )
-           .arg( rect.y() )
-           .arg( rect.width() )
-           .arg( rect.height() );
-}
-
-QString QwtMmlNode::toStr() const
-{
-    const QwtMmlNodeSpec *spec = mmlFindNodeSpec( nodeType() );
-    Q_ASSERT( spec != 0 );
-
-    return QString( "%1 %2 mr=%3 pr=%4 dr=%5 ro=(%7, %8) str=%9" )
-           .arg( spec->type_str )
-           .arg( ( quintptr )this, 0, 16 )
-           .arg( rectToStr( myRect() ) )
-           .arg( rectToStr( parentRect() ) )
-           .arg( rectToStr( deviceRect() ) )
-           .arg( m_rel_origin.x() )
-           .arg( m_rel_origin.y() )
-           .arg( ( int )isStretched() );
-}
-
-int QwtMmlNode::interpretSpacing( const QString &value, bool *ok ) const
-{
-    return ::interpretSpacing( value, em(), ex(), ok );
-}
-
-int QwtMmlNode::basePos() const
-{
-    QFontMetrics fm( font() );
-    return fm.strikeOutPos();
-}
-
-int QwtMmlNode::underlinePos() const
-{
-    QFontMetrics fm( font() );
-    return basePos() + fm.underlinePos();
-}
-int QwtMmlNode::overlinePos() const
-{
-    QFontMetrics fm( font() );
-    return basePos() - fm.overlinePos();
-}
-
-QwtMmlNode *QwtMmlNode::lastSibling() const
-{
-    const QwtMmlNode *n = this;
-    while ( !n->isLastSibling() )
-        n = n->nextSibling();
-    return const_cast<QwtMmlNode*>( n );
-}
-
-QwtMmlNode *QwtMmlNode::firstSibling() const
-{
-    const QwtMmlNode *n = this;
-    while ( !n->isFirstSibling() )
-        n = n->previousSibling();
-    return const_cast<QwtMmlNode*>( n );
-}
-
-int QwtMmlNode::em() const
-{
-    return QFontMetrics( font() ).boundingRect( 'm' ).width();
-}
-
-int QwtMmlNode::ex() const
-{
-    return QFontMetrics( font() ).boundingRect( 'x' ).height();
-}
-
-int QwtMmlNode::scriptlevel( const QwtMmlNode * ) const
-{
-    int parent_sl;
-    const QwtMmlNode *p = parent();
-    if ( p == 0 )
-        parent_sl = 0;
-    else
-        parent_sl = p->scriptlevel( this );
-
-    QString expl_sl_str = explicitAttribute( "scriptlevel" );
-    if ( expl_sl_str.isNull() )
-        return parent_sl;
-
-    if ( expl_sl_str.startsWith( "+" ) || expl_sl_str.startsWith( "-" ) )
-    {
-        bool ok;
-        int expl_sl = expl_sl_str.toInt( &ok );
-        if ( ok )
-        {
-            return parent_sl + expl_sl;
-        }
-        else
-        {
-            qWarning() << "QwtMmlNode::scriptlevel(): bad value " + expl_sl_str;
-            return parent_sl;
-        }
-    }
-
-    bool ok;
-    int expl_sl = expl_sl_str.toInt( &ok );
-    if ( ok )
-        return expl_sl;
-
-
-    if ( expl_sl_str == "+" )
-        return parent_sl + 1;
-    else if ( expl_sl_str == "-" )
-        return parent_sl - 1;
-    else
-    {
-        qWarning() << "QwtMmlNode::scriptlevel(): could not parse value: \"" + expl_sl_str + "\"";
-        return parent_sl;
-    }
-}
-
-QPoint QwtMmlNode::devicePoint( const QPoint &p ) const
-{
-    QRect mr = myRect();
-    QRect dr = deviceRect();
-
-    if ( isStretched() )
-        return dr.topLeft() + QPoint( ( p.x() - mr.left() ) * dr.width() / mr.width(),
-                                      ( p.y() - mr.top() ) * dr.height() / mr.height() );
-    else
-        return dr.topLeft() + p - mr.topLeft();
-}
-
-QString QwtMmlNode::inheritAttributeFromMrow( const QString &name,
-        const QString &def ) const
-{
-    const QwtMmlNode *p = this;
-    for ( ; p != 0; p = p->parent() )
-    {
-        if ( p == this || p->nodeType() == MstyleNode )
-        {
-            QString value = p->explicitAttribute( name );
-            if ( !value.isNull() )
-                return value;
-        }
-    }
-
-    return def;
-}
-
-QColor QwtMmlNode::color() const
-{
-    // If we are child of <merror> return red
-    const QwtMmlNode *p = this;
-    for ( ; p != 0; p = p->parent() )
-    {
-        if ( p->nodeType() == MerrorNode )
-            return QColor( "red" );
-    }
-
-    QString value_str = inheritAttributeFromMrow( "mathcolor" );
-    if ( value_str.isNull() )
-        value_str = inheritAttributeFromMrow( "color" );
-    if ( value_str.isNull() )
-        return QColor();
-
-    return QColor( value_str );
-}
-
-QColor QwtMmlNode::background() const
-{
-    QString value_str = inheritAttributeFromMrow( "mathbackground" );
-    if ( value_str.isNull() )
-        value_str = inheritAttributeFromMrow( "background" );
-    if ( value_str.isNull() )
-        return QColor();
-
-    return QColor( value_str );
-}
-
-static void updateFontAttr( QwtMmlAttributeMap &font_attr, const QwtMmlNode *n,
-                            const QString &name, const QString &preferred_name = QString::null )
-{
-    if ( font_attr.contains( preferred_name ) || font_attr.contains( name ) )
-        return;
-    QString value = n->explicitAttribute( name );
-    if ( !value.isNull() )
-        font_attr[name] = value;
-}
-
-static QwtMmlAttributeMap collectFontAttributes( const QwtMmlNode *node )
-{
-    QwtMmlAttributeMap font_attr;
-
-    for ( const QwtMmlNode *n = node; n != 0; n = n->parent() )
-    {
-        if ( n == node || n->nodeType() == QwtMml::MstyleNode )
-        {
-            updateFontAttr( font_attr, n, "mathvariant" );
-            updateFontAttr( font_attr, n, "mathsize" );
-
-            // depreciated attributes
-            updateFontAttr( font_attr, n, "fontsize", "mathsize" );
-            updateFontAttr( font_attr, n, "fontweight", "mathvariant" );
-            updateFontAttr( font_attr, n, "fontstyle", "mathvariant" );
-            updateFontAttr( font_attr, n, "fontfamily", "mathvariant" );
-        }
-    }
-
-    return font_attr;
-}
-
-QFont QwtMmlNode::font() const
-{
-    QFont fn( document()->fontName( QwtMathMLDocument::NormalFont ),
-              document()->baseFontPointSize() );
-
-    int ps = fn.pointSize();
-    int sl = scriptlevel();
-    if ( sl >= 0 )
-    {
-        for ( int i = 0; i < sl; ++i )
-            ps = ( int )( ps * g_script_size_multiplier );
-    }
-    else
-    {
-        for ( int i = 0; i > sl; --i )
-            ps = ( int )( ps / g_script_size_multiplier );
-    }
-    if ( ps < g_min_font_point_size )
-        ps = g_min_font_point_size;
-    fn.setPointSize( ps );
-
-    int em = QFontMetrics( fn ).boundingRect( 'm' ).width();
-    int ex = QFontMetrics( fn ).boundingRect( 'x' ).height();
-
-    QwtMmlAttributeMap font_attr = collectFontAttributes( this );
-
-    if ( font_attr.contains( "mathvariant" ) )
-    {
-        QString value = font_attr["mathvariant"];
-
-        bool ok;
-        uint mv = interpretMathVariant( value, &ok );
-
-        if ( ok )
-        {
-            if ( mv & ScriptMV )
-                fn.setFamily( document()->fontName( QwtMathMLDocument::ScriptFont ) );
-
-            if ( mv & FrakturMV )
-                fn.setFamily( document()->fontName( QwtMathMLDocument::FrakturFont ) );
-
-            if ( mv & SansSerifMV )
-                fn.setFamily( document()->fontName( QwtMathMLDocument::SansSerifFont ) );
-
-            if ( mv & MonospaceMV )
-                fn.setFamily( document()->fontName( QwtMathMLDocument::MonospaceFont ) );
-
-            if ( mv & DoubleStruckMV )
-                fn.setFamily( document()->fontName( QwtMathMLDocument::DoublestruckFont ) );
-
-            if ( mv & BoldMV )
-                fn.setBold( true );
-
-            if ( mv & ItalicMV )
-                fn.setItalic( true );
-        }
-    }
-
-    if ( font_attr.contains( "mathsize" ) )
-    {
-        QString value = font_attr["mathsize"];
-        fn = interpretMathSize( value, fn, em, ex, 0 );
-    }
-
-    fn = interpretDepreciatedFontAttr( font_attr, fn, em, ex );
-
-    if ( nodeType() == MiNode
-            && !font_attr.contains( "mathvariant" )
-            && !font_attr.contains( "fontstyle" ) )
-    {
-        const QwtMmlMiNode *mi_node = ( const QwtMmlMiNode* ) this;
-        if ( mi_node->text().length() == 1 )
-            fn.setItalic( true );
-    }
-
-    if ( nodeType() == MoNode )
-    {
-        fn.setItalic( false );
-        fn.setBold( false );
-    }
-
-    return fn;
-}
-
-QString QwtMmlNode::explicitAttribute( const QString &name, const QString &def ) const
-{
-    QwtMmlAttributeMap::const_iterator it = m_attribute_map.find( name );
-    if ( it != m_attribute_map.end() )
-        return *it;
-    return def;
-}
-
-
-QRect QwtMmlNode::parentRect() const
-{
-    if ( isStretched() )
-        return m_parent_rect;
-
-    QRect mr = myRect();
-    QPoint ro = relOrigin();
-
-    return QRect( ro + mr.topLeft(), mr.size() );
-}
-
-
-void QwtMmlNode::stretchTo( const QRect &rect )
-{
-    m_parent_rect = rect;
-    m_stretched = true;
-}
-
-void QwtMmlNode::setRelOrigin( const QPoint &rel_origin )
-{
-    m_rel_origin = rel_origin + QPoint( -myRect().left(), 0 );
-    m_stretched = false;
-}
-
-void QwtMmlNode::updateMyRect()
-{
-    m_my_rect = symbolRect();
-    QwtMmlNode *child = firstChild();
-    for ( ; child != 0; child = child->nextSibling() )
-        m_my_rect |= child->parentRect();
-}
-
-void QwtMmlNode::layout()
-{
-    m_parent_rect = QRect( 0, 0, 0, 0 );
-    m_stretched = false;
-    m_rel_origin = QPoint( 0, 0 );
-
-    QwtMmlNode *child = firstChild();
-    for ( ; child != 0; child = child->nextSibling() )
-        child->layout();
-
-    layoutSymbol();
-
-    updateMyRect();
-
-    if ( parent() == 0 )
-        m_rel_origin = QPoint( 0, 0 );
-}
-
-
-QRect QwtMmlNode::deviceRect() const
-{
-    if ( parent() == 0 )
-        return QRect( relOrigin() + myRect().topLeft(), myRect().size() );
-
-    /*    if (!isStretched()) {
-        QRect pdr = parent()->deviceRect();
-        QRect pmr = parent()->myRect();
-        QRect pr = parentRect();
-        QRect mr = myRect();
-        return QRect(pdr.left() + pr.left() - pmr.left(),
-                pdr.top()  + pr.top() - pmr.top(),
-                mr.width(), mr.height());
-        }
-    */
-    QRect pdr = parent()->deviceRect();
-    QRect pr = parentRect();
-    QRect pmr = parent()->myRect();
-
-    float scale_w = 0;
-    if ( pmr.width() != 0 )
-        scale_w = ( float )pdr.width() / pmr.width();
-    float scale_h = 0;
-    if ( pmr.height() != 0 )
-        scale_h = ( float )pdr.height() / pmr.height();
-
-    return QRect( pdr.left() + ROUND( ( pr.left() - pmr.left() ) * scale_w ),
-                  pdr.top()  + ROUND( ( pr.top() - pmr.top() ) * scale_h ),
-                  ROUND( ( pr.width() * scale_w ) ),
-                  ROUND( ( pr.height() * scale_h ) ) );
-}
-
-void QwtMmlNode::layoutSymbol()
-{
-    // default behaves like an mrow
-
-    // now lay them out in a neat row, aligning their origins to my origin
-    int w = 0;
-    QwtMmlNode *child = firstChild();
-    for ( ; child != 0; child = child->nextSibling() )
-    {
-        child->setRelOrigin( QPoint( w, 0 ) );
-        w += child->parentRect().width() + 1;
-    }
-}
-
-void QwtMmlNode::paint( QPainter *p )
-{
-    if ( !myRect().isValid() )
-        return;
-    p->save();
-
-    QColor fg = color();
-    QColor bg = background();
-    if ( bg.isValid() )
-        p->fillRect( myRect(), bg );
-    if ( fg.isValid() )
-        p->setPen( QPen( color(), 0 ) );
-
-    QwtMmlNode *child = firstChild();
-    for ( ; child != 0; child = child->nextSibling() )
-        child->paint( p );
-
-    paintSymbol( p );
-
-    p->restore();
-}
-
-void QwtMmlNode::paintSymbol( QPainter *p ) const
-{
-    if ( g_draw_frames && myRect().isValid() )
-    {
-        p->save();
-        p->setPen( QPen( Qt::red, 0 ) );
-        p->drawRect( m_my_rect );
-        QPen pen = p->pen();
-        pen.setStyle( Qt::DotLine );
-        p->setPen( pen );
-        p->drawLine( myRect().left(), 0, myRect().right(), 0 );
-        p->restore();
-    }
-}
-
-void QwtMmlNode::stretch()
-{
-    QwtMmlNode *child = firstChild();
-    for ( ; child != 0; child = child->nextSibling() )
-        child->stretch();
-}
-
-QString QwtMmlTokenNode::text() const
-{
-    QString result;
-
-    const QwtMmlNode *child = firstChild();
-    for ( ; child != 0; child = child->nextSibling() )
-    {
-        if ( child->nodeType() != TextNode ) continue;
-        if ( !result.isEmpty() )
-            result += ' ';
-        result += static_cast<const QwtMmlTextNode *>( child )->text();
-    }
-
-    return result;
-}
-
-QwtMmlNode *QwtMmlMfracNode::numerator() const
-{
-    QwtMmlNode *node = firstChild();
-    Q_ASSERT( node != 0 );
-    return node;
-}
-
-QwtMmlNode *QwtMmlMfracNode::denominator() const
-{
-    QwtMmlNode *node = numerator()->nextSibling();
-    Q_ASSERT( node != 0 );
-    return node;
-}
-
-QRect QwtMmlMfracNode::symbolRect() const
-{
-    int num_width = numerator()->myRect().width();
-    int denom_width = denominator()->myRect().width();
-    int my_width = qMax( num_width, denom_width ) + 4;
-
-    return QRect( -my_width / 2, 0, my_width, 1 );
-}
-
-void QwtMmlMfracNode::layoutSymbol()
-{
-    QwtMmlNode *num = numerator();
-    QwtMmlNode *denom = denominator();
-
-    QRect num_rect = num->myRect();
-    QRect denom_rect = denom->myRect();
-
-    int spacing = ( int )( g_mfrac_spacing * ( num_rect.height() + denom_rect.height() ) );
-
-    num->setRelOrigin( QPoint( -num_rect.width() / 2, - spacing - num_rect.bottom() ) );
-    denom->setRelOrigin( QPoint( -denom_rect.width() / 2, spacing - denom_rect.top() ) );
-}
-
-static bool zeroLineThickness( const QString &s )
-{
-    if ( s.length() == 0 || !s[0].isDigit() )
-        return false;
-
-    for ( int i = 0; i < s.length(); ++i )
-    {
-        QChar c = s.at( i );
-        if ( c.isDigit() && c != '0' )
-            return false;
-    }
-    return true;
-}
-
-void QwtMmlMfracNode::paintSymbol( QPainter *p ) const
-{
-    QString linethickness_str = inheritAttributeFromMrow( "linethickness", "1" );
-
-    /* InterpretSpacing returns an int, which might be 0 even if the thickness
-       is > 0, though very very small. That's ok, because the painter then paints
-       a line of thickness 1. However, we have to run this check if the line
-       thickness really is zero */
-    if ( !zeroLineThickness( linethickness_str ) )
-    {
-        bool ok;
-        int linethickness = interpretSpacing( linethickness_str, &ok );
-        if ( !ok )
-            linethickness = 1;
-
-        p->save();
-        QPen pen = p->pen();
-        pen.setWidth( linethickness );
-        p->setPen( pen );
-        QSize s = myRect().size();
-        p->drawLine( -s.width() / 2, 0, s.width() / 2, 0 );
-        p->restore();
-    }
-}
-
-QwtMmlNode *QwtMmlRootBaseNode::base() const
-{
-    QwtMmlNode *node = firstChild();
-//    Q_ASSERT(node != 0);
-    return node;
-}
-
-QwtMmlNode *QwtMmlRootBaseNode::index() const
-{
-    QwtMmlNode *b = base();
-    if ( b == 0 )
-        return 0;
-    return b->nextSibling();
-}
-
-int QwtMmlRootBaseNode::scriptlevel( const QwtMmlNode *child ) const
-{
-    int sl = QwtMmlNode::scriptlevel();
-
-    QwtMmlNode *i = index();
-    if ( child != 0 && child == i )
-        return sl + 1;
-    else
-        return sl;
-}
-
-
-QRect QwtMmlRootBaseNode::symbolRect() const
-{
-    QwtMmlNode *b = base();
-    QRect base_rect;
-    if ( b == 0 )
-        base_rect = QRect( 0, 0, 1, 1 );
-    else
-        base_rect = base()->myRect();
-
-    int margin = ( int )( g_mroot_base_margin * base_rect.height() );
-    int tw = tailWidth();
-
-    return QRect( -tw, base_rect.top() - margin, tw,
-                  base_rect.height() + 2 * margin );
-}
-
-int QwtMmlRootBaseNode::tailWidth() const
-{
-    QFontMetrics fm( font() );
-    return fm.boundingRect( g_radical_char ).width();
-}
-
-void QwtMmlRootBaseNode::layoutSymbol()
-{
-    QwtMmlNode *b = base();
-    QSize base_size;
-    if ( b != 0 )
-    {
-        b->setRelOrigin( QPoint( 0, 0 ) );
-        base_size = base()->myRect().size();
-    }
-    else
-        base_size = QSize( 1, 1 );
-
-    QwtMmlNode *i = index();
-    if ( i != 0 )
-    {
-        int tw = tailWidth();
-
-        QRect i_rect = i->myRect();
-        i->setRelOrigin( QPoint( -tw / 2 - i_rect.width(),
-                                 -i_rect.bottom() - 4 ) );
-    }
-}
-
-void QwtMmlRootBaseNode::paintSymbol( QPainter *p ) const
-{
-    QFont fn = font();
-
-    p->save();
-
-    QRect sr = symbolRect();
-
-    QRect r = sr;
-    r.moveTopLeft( devicePoint( sr.topLeft() ) );
-    p->setViewport( r );
-    p->setWindow( QFontMetrics( fn ).boundingRect( g_radical_char ) );
-    p->setFont( font() );
-    p->drawText( 0, 0, QString( g_radical_char ) );
-
-    p->restore();
-
-    p->drawLine( sr.right(), sr.top(), myRect().right(), sr.top() );
-}
-
-QwtMmlTextNode::QwtMmlTextNode( const QString &text, QwtMmlDocument *document )
-    : QwtMmlNode( TextNode, document, QwtMmlAttributeMap() )
-{
-    m_text = text;
-    // Trim whitespace from ends, but keep nbsp and thinsp
-    m_text.remove( QRegExp( "^[^\\S\\x00a0\\x2009]+" ) );
-    m_text.remove( QRegExp( "[^\\S\\x00a0\\x2009]+$" ) );
-
-    if ( m_text == QString( QChar( 0x62, 0x20 ) )    // ⁢
-            || m_text == QString( QChar( 0x63, 0x20 ) ) // ⁣
-            || m_text == QString( QChar( 0x61, 0x20 ) ) ) // ⁡
-        m_text = "";
-}
-
-QString QwtMmlTextNode::toStr() const
-{
-    return QwtMmlNode::toStr() + ", text=\"" + m_text + "\"";
-}
-
-void QwtMmlTextNode::paintSymbol( QPainter *p ) const
-{
-    QwtMmlNode::paintSymbol( p );
-
-    QFont fn = font();
-
-    QFontInfo fi( fn );
-//    qWarning("MmlTextNode::paintSymbol(): requested: %s, used: %s, size=%d, italic=%d, bold=%d, text=\"%s\" sl=%d",
-//              fn.family().latin1(), fi.family().latin1(), fi.pointSize(), (int)fi.italic(), (int)fi.bold(), m_text.latin1(), scriptlevel());
-
-    QFontMetrics fm( fn );
-
-    p->save();
-    p->setFont( fn );
-
-    QPoint dPos = devicePoint( relOrigin() );
-    p->drawText( dPos.x(), dPos.y() + fm.strikeOutPos(), m_text );
-
-    p->restore();
-}
-
-QRect QwtMmlTextNode::symbolRect() const
-{
-    QFontMetrics fm( font() );
-
-    QRect br = fm.tightBoundingRect( m_text );
-    br.translate( 0, fm.strikeOutPos() );
-
-    return br;
-}
-
-QwtMmlNode *QwtMmlSubsupBaseNode::base() const
-{
-    QwtMmlNode *b = firstChild();
-    Q_ASSERT( b != 0 );
-    return b;
-}
-
-QwtMmlNode *QwtMmlSubsupBaseNode::sscript() const
-{
-    QwtMmlNode *s = base()->nextSibling();
-    Q_ASSERT( s != 0 );
-    return s;
-}
-
-int QwtMmlSubsupBaseNode::scriptlevel( const QwtMmlNode *child ) const
-{
-    int sl = QwtMmlNode::scriptlevel();
-
-    QwtMmlNode *s = sscript();
-    if ( child != 0 && child == s )
-        return sl + 1;
-    else
-        return sl;
-}
-
-void QwtMmlMsupNode::layoutSymbol()
-{
-    QwtMmlNode *b = base();
-    QwtMmlNode *s = sscript();
-
-    b->setRelOrigin( QPoint( -b->myRect().width(), 0 ) );
-    s->setRelOrigin( QPoint( 0, b->myRect().top() ) );
-}
-
-void QwtMmlMsubNode::layoutSymbol()
-{
-    QwtMmlNode *b = base();
-    QwtMmlNode *s = sscript();
-
-    b->setRelOrigin( QPoint( -b->myRect().width(), 0 ) );
-    s->setRelOrigin( QPoint( 0, b->myRect().bottom() ) );
-}
-
-QwtMmlNode *QwtMmlMsubsupNode::base() const
-{
-    QwtMmlNode *b = firstChild();
-    Q_ASSERT( b != 0 );
-    return b;
-}
-
-QwtMmlNode *QwtMmlMsubsupNode::subscript() const
-{
-    QwtMmlNode *sub = base()->nextSibling();
-    Q_ASSERT( sub != 0 );
-    return sub;
-}
-
-QwtMmlNode *QwtMmlMsubsupNode::superscript() const
-{
-    QwtMmlNode *sup = subscript()->nextSibling();
-    Q_ASSERT( sup != 0 );
-    return sup;
-}
-
-void QwtMmlMsubsupNode::layoutSymbol()
-{
-    QwtMmlNode *b = base();
-    QwtMmlNode *sub = subscript();
-    QwtMmlNode *sup = superscript();
-
-    b->setRelOrigin( QPoint( -b->myRect().width(), 0 ) );
-    sub->setRelOrigin( QPoint( 0, b->myRect().bottom() ) );
-    sup->setRelOrigin( QPoint( 0, b->myRect().top() ) );
-}
-
-int QwtMmlMsubsupNode::scriptlevel( const QwtMmlNode *child ) const
-{
-    int sl = QwtMmlNode::scriptlevel();
-
-    QwtMmlNode *sub = subscript();
-    QwtMmlNode *sup = superscript();
-
-    if ( child != 0 && ( child == sup || child == sub ) )
-        return sl + 1;
-    else
-        return sl;
-}
-
-QString QwtMmlMoNode::toStr() const
-{
-    return QwtMmlNode::toStr() + QString( " form=%1" ).arg( ( int )form() );
-}
-
-void QwtMmlMoNode::layoutSymbol()
-{
-    QwtMmlNode *child = firstChild();
-    if ( child == 0 )
-        return;
-
-    child->setRelOrigin( QPoint( 0, 0 ) );
-
-    if ( m_oper_spec == 0 )
-        m_oper_spec = mmlFindOperSpec( text(), form() );
-}
-
-QwtMmlMoNode::QwtMmlMoNode( QwtMmlDocument *document, const QwtMmlAttributeMap &attribute_map )
-    : QwtMmlTokenNode( MoNode, document, attribute_map )
-{
-    m_oper_spec = 0;
-}
-
-QString QwtMmlMoNode::dictionaryAttribute( const QString &name ) const
-{
-    const QwtMmlNode *p = this;
-    for ( ; p != 0; p = p->parent() )
-    {
-        if ( p == this || p->nodeType() == MstyleNode )
-        {
-            QString expl_attr = p->explicitAttribute( name );
-            if ( !expl_attr.isNull() )
-                return expl_attr;
-        }
-    }
-
-    return mmlDictAttribute( name, m_oper_spec );
-}
-
-QwtMml::FormType QwtMmlMoNode::form() const
-{
-    QString value_str = inheritAttributeFromMrow( "form" );
-    if ( !value_str.isNull() )
-    {
-        bool ok;
-        FormType value = interpretForm( value_str, &ok );
-        if ( ok )
-            return value;
-        else
-            qWarning( "Could not convert %s to form", value_str.toLatin1().data() );
-
-    }
-
-    // Default heuristic.
-    if ( firstSibling() == ( QwtMmlNode* )this && lastSibling() != ( QwtMmlNode* )this )
-        return PrefixForm;
-    else if ( lastSibling() == ( QwtMmlNode* )this && firstSibling() != ( QwtMmlNode* )this )
-        return PostfixForm;
-    else return InfixForm;
-
-}
-
-void QwtMmlMoNode::stretch()
-{
-    if ( parent() == 0 )
-        return;
-
-    if ( m_oper_spec == 0 )
-        return;
-
-    if ( m_oper_spec->stretch_dir == QwtMmlOperSpec::HStretch
-            && parent()->nodeType() == MrowNode
-            && ( nextSibling() != 0 || previousSibling() != 0 ) )
-        return;
-
-    QRect pmr = parent()->myRect();
-    QRect pr = parentRect();
-
-    switch ( m_oper_spec->stretch_dir )
-    {
-        case QwtMmlOperSpec::VStretch:
-            stretchTo( QRect( pr.left(), pmr.top(), pr.width(), pmr.height() ) );
-            break;
-        case QwtMmlOperSpec::HStretch:
-            stretchTo( QRect( pmr.left(), pr.top(), pmr.width(), pr.height() ) );
-            break;
-        case QwtMmlOperSpec::HVStretch:
-            stretchTo( pmr );
-            break;
-        case QwtMmlOperSpec::NoStretch:
-            break;
-    }
-}
-
-int QwtMmlMoNode::lspace() const
-{
-    Q_ASSERT( m_oper_spec != 0 );
-    if ( parent() == 0
-            || ( parent()->nodeType() != MrowNode
-                 && parent()->nodeType() != MfencedNode
-                 && parent()->nodeType() != UnknownNode )
-            || ( previousSibling() == 0 && nextSibling() == 0 ) )
-        return 0;
-    else
-        return interpretSpacing( dictionaryAttribute( "lspace" ), 0 );
-}
-
-int QwtMmlMoNode::rspace() const
-{
-    Q_ASSERT( m_oper_spec != 0 );
-    if ( parent() == 0
-            || ( parent()->nodeType() != MrowNode
-                 && parent()->nodeType() != MfencedNode
-                 && parent()->nodeType() != UnknownNode )
-            || ( previousSibling() == 0 && nextSibling() == 0 ) )
-        return 0;
-    else
-        return interpretSpacing( dictionaryAttribute( "rspace" ), 0 );
-}
-
-QRect QwtMmlMoNode::symbolRect() const
-{
-    const QwtMmlNode *child = firstChild();
-
-    if ( child == 0 )
-        return QRect( 0, 0, 0, 0 );
-
-    QRect cmr = child->myRect();
-
-    return QRect( -lspace(), cmr.top(),
-                  cmr.width() + lspace() + rspace(), cmr.height() );
-}
-
-int QwtMmlMtableNode::rowspacing() const
-{
-    QString value = explicitAttribute( "rowspacing" );
-    if ( value.isNull() )
-        return ex();
-    bool ok;
-    int r = interpretSpacing( value, &ok );
-
-    if ( ok )
-        return r;
-    else
-        return ex();
-}
-
-int QwtMmlMtableNode::columnspacing() const
-{
-    QString value = explicitAttribute( "columnspacing" );
-    if ( value.isNull() )
-        return ( int )( 0.8 * em() );
-    bool ok;
-    int r = interpretSpacing( value, &ok );
-
-    if ( ok )
-        return r;
-    else
-        return ( int )( 0.8 * em() );
-}
-
-uint QwtMmlMtableNode::CellSizeData::colWidthSum() const
-{
-    uint w = 0;
-    for ( int i = 0; i < col_widths.count(); ++i )
-        w += col_widths[i];
-    return w;
-}
-
-uint QwtMmlMtableNode::CellSizeData::rowHeightSum() const
-{
-    uint h = 0;
-    for ( int i = 0; i < row_heights.count(); ++i )
-        h += row_heights[i];
-    return h;
-}
-
-void QwtMmlMtableNode::CellSizeData::init( const QwtMmlNode *first_row )
-{
-    col_widths.clear();
-    row_heights.clear();
-
-    const QwtMmlNode *mtr = first_row;
-    for ( ; mtr != 0; mtr = mtr->nextSibling() )
-    {
-
-        Q_ASSERT( mtr->nodeType() == MtrNode );
-
-        int col_cnt = 0;
-        const QwtMmlNode *mtd = mtr->firstChild();
-        for ( ; mtd != 0; mtd = mtd->nextSibling(), ++col_cnt )
-        {
-
-            Q_ASSERT( mtd->nodeType() == MtdNode );
-
-            QRect mtdmr = mtd->myRect();
-
-            if ( col_cnt == col_widths.count() )
-                col_widths.append( mtdmr.width() );
-            else
-                col_widths[col_cnt] = qMax( col_widths[col_cnt], mtdmr.width() );
-        }
-
-        row_heights.append( mtr->myRect().height() );
-    }
-}
-
-void QwtMmlMtableNode::layoutSymbol()
-{
-    // Obtain natural widths of columns
-    m_cell_size_data.init( firstChild() );
-
-    int col_spc = columnspacing();
-    int row_spc = rowspacing();
-    int frame_spc_hor = framespacing_hor();
-    QString columnwidth_attr = explicitAttribute( "columnwidth", "auto" );
-
-    // Is table width set by user? If so, set col_width_sum and never ever change it.
-    int col_width_sum = m_cell_size_data.colWidthSum();
-    bool width_set_by_user = false;
-    QString width_str = explicitAttribute( "width", "auto" );
-    if ( width_str != "auto" )
-    {
-        bool ok;
-
-        int w = interpretSpacing( width_str, &ok );
-        if ( ok )
-        {
-            col_width_sum = w
-                            - col_spc * ( m_cell_size_data.numCols() - 1 )
-                            - frame_spc_hor * 2;
-            width_set_by_user = true;
-        }
-    }
-
-    // Find out what kind of columns we are dealing with and set the widths of
-    // statically sized columns.
-    int fixed_width_sum = 0;          // sum of widths of statically sized set columns
-    int auto_width_sum = 0;           // sum of natural widths of auto sized columns
-    int relative_width_sum = 0;       // sum of natural widths of relatively sized columns
-    double relative_fraction_sum = 0; // total fraction of width taken by relatively
-    // sized columns
-    int i;
-    for ( i = 0; i < m_cell_size_data.numCols(); ++i )
-    {
-        QString value = interpretListAttr( columnwidth_attr, i, "auto" );
-
-        // Is it an auto sized column?
-        if ( value == "auto" || value == "fit" )
-        {
-            auto_width_sum += m_cell_size_data.col_widths[i];
-            continue;
-        }
-
-        // Is it a statically sized column?
-        bool ok;
-        int w = interpretSpacing( value, &ok );
-        if ( ok )
-        {
-            // Yup, sets its width to the user specified value
-            m_cell_size_data.col_widths[i] = w;
-            fixed_width_sum += w;
-            continue;
-        }
-
-        // Is it a relatively sized column?
-        if ( value.endsWith( "%" ) )
-        {
-            value.truncate( value.length() - 1 );
-            double factor = value.toFloat( &ok );
-            if ( ok && !value.isEmpty() )
-            {
-                factor /= 100.0;
-                relative_width_sum += m_cell_size_data.col_widths[i];
-                relative_fraction_sum += factor;
-                if ( !width_set_by_user )
-                {
-                    // If the table width was not set by the user, we are free to increase
-                    // it so that the width of this column will be >= than its natural width
-                    int min_col_width_sum = ROUND( m_cell_size_data.col_widths[i] / factor );
-                    if ( min_col_width_sum > col_width_sum )
-                        col_width_sum = min_col_width_sum;
-                }
-                continue;
-            }
-            else
-                qWarning( "MmlMtableNode::layoutSymbol(): could not parse value %s%%", value.toLatin1().data() );
-        }
-
-        // Relatively sized column, but we failed to parse the factor. Treat is like an auto
-        // column.
-        auto_width_sum += m_cell_size_data.col_widths[i];
-    }
-
-    // Work out how much space remains for the auto olumns, after allocating
-    // the statically sized and the relatively sized columns.
-    int required_auto_width_sum = col_width_sum
-                                  - ROUND( relative_fraction_sum * col_width_sum )
-                                  - fixed_width_sum;
-
-    if ( !width_set_by_user && required_auto_width_sum < auto_width_sum )
-    {
-        if ( relative_fraction_sum < 1 )
-            col_width_sum = ROUND( ( fixed_width_sum + auto_width_sum ) / ( 1 - relative_fraction_sum ) );
-        else
-            col_width_sum = fixed_width_sum + auto_width_sum + relative_width_sum;
-        required_auto_width_sum = auto_width_sum;
-    }
-
-    // Ratio by which we have to shring/grow all auto sized columns to make it all fit
-    double auto_width_scale = 1;
-    if ( auto_width_sum > 0 )
-        auto_width_scale = ( float )required_auto_width_sum / auto_width_sum;
-
-    // Set correct sizes for the auto sized and the relatively sized columns.
-    for ( i = 0; i < m_cell_size_data.numCols(); ++i )
-    {
-        QString value = interpretListAttr( columnwidth_attr, i, "auto" );
-
-        // Is it a relatively sized column?
-        if ( value.endsWith( "%" ) )
-        {
-            bool ok;
-            int w = interpretPercentSpacing( value, col_width_sum, &ok );
-            if ( ok )
-                m_cell_size_data.col_widths[i] = w;
-            else
-                // We're treating parsing errors here as auto sized columns
-                m_cell_size_data.col_widths[i]
-                = ROUND( auto_width_scale * m_cell_size_data.col_widths[i] );
-        }
-        // Is it an auto sized column?
-        else if ( value == "auto" )
-        {
-            m_cell_size_data.col_widths[i]
-            = ROUND( auto_width_scale * m_cell_size_data.col_widths[i] );
-        }
-    }
-
-    QString s;
-    QList<int> &col_widths = m_cell_size_data.col_widths;
-    for ( i = 0; i < col_widths.count(); ++i )
-    {
-        s += QString( "[w=%1 %2%%]" )
-             .arg( col_widths[i] )
-             .arg( 100 * col_widths[i] / m_cell_size_data.colWidthSum() );
-    }
-//    qWarning(s);
-
-    m_content_width = m_cell_size_data.colWidthSum()
-                      + col_spc * ( m_cell_size_data.numCols() - 1 );
-    m_content_height = m_cell_size_data.rowHeightSum()
-                       + row_spc * ( m_cell_size_data.numRows() - 1 );
-
-    int bottom = -m_content_height / 2;
-    QwtMmlNode *child = firstChild();
-    for ( ; child != 0; child = child->nextSibling() )
-    {
-        Q_ASSERT( child->nodeType() == MtrNode );
-        QwtMmlMtrNode *row = ( QwtMmlMtrNode* ) child;
-
-        row->layoutCells( m_cell_size_data.col_widths, col_spc );
-        QRect rmr = row->myRect();
-        row->setRelOrigin( QPoint( 0, bottom - rmr.top() ) );
-        bottom += rmr.height() + row_spc;
-    }
-}
-
-QRect QwtMmlMtableNode::symbolRect() const
-{
-    int frame_spc_hor = framespacing_hor();
-    int frame_spc_ver = framespacing_ver();
-
-    return QRect( -frame_spc_hor,
-                  -m_content_height / 2 - frame_spc_ver,
-                  m_content_width + 2 * frame_spc_hor,
-                  m_content_height + 2 * frame_spc_ver );
-}
-
-QwtMml::FrameType QwtMmlMtableNode::frame() const
-{
-    QString value = explicitAttribute( "frame", "none" );
-    return interpretFrameType( value, 0, 0 );
-}
-
-QwtMml::FrameType QwtMmlMtableNode::columnlines( int idx ) const
-{
-    QString value = explicitAttribute( "columnlines", "none" );
-    return interpretFrameType( value, idx, 0 );
-}
-
-QwtMml::FrameType QwtMmlMtableNode::rowlines( int idx ) const
-{
-    QString value = explicitAttribute( "rowlines", "none" );
-    return interpretFrameType( value, idx, 0 );
-}
-
-void QwtMmlMtableNode::paintSymbol( QPainter *p ) const
-{
-    FrameType f = frame();
-    if ( f != FrameNone )
-    {
-        p->save();
-
-        QPen pen = p->pen();
-        if ( f == FrameDashed )
-            pen.setStyle( Qt::DashLine );
-        else
-            pen.setStyle( Qt::SolidLine );
-        p->setPen( pen );
-        p->drawRect( myRect() );
-
-        p->restore();
-    }
-
-    p->save();
-
-    int col_spc = columnspacing();
-    int row_spc = rowspacing();
-
-    QPen pen = p->pen();
-    int col_offset = 0;
-    int i;
-    for ( i = 0; i < m_cell_size_data.numCols() - 1; ++i )
-    {
-        FrameType f = columnlines( i );
-        col_offset += m_cell_size_data.col_widths[i];
-
-        if ( f != FrameNone )
-        {
-            if ( f == FrameDashed )
-                pen.setStyle( Qt::DashLine );
-            else if ( f == FrameSolid )
-                pen.setStyle( Qt::SolidLine );
-
-            p->setPen( pen );
-            int x = col_offset + col_spc / 2;
-            p->drawLine( x, -m_content_height / 2, x, m_content_height / 2 );
-        }
-        col_offset += col_spc;
-    }
-
-    int row_offset = 0;
-    for ( i = 0; i < m_cell_size_data.numRows() - 1; ++i )
-    {
-        FrameType f = rowlines( i );
-        row_offset += m_cell_size_data.row_heights[i];
-
-        if ( f != FrameNone )
-        {
-            if ( f == FrameDashed )
-                pen.setStyle( Qt::DashLine );
-            else if ( f == FrameSolid )
-                pen.setStyle( Qt::SolidLine );
-
-            p->setPen( pen );
-            int y = row_offset + row_spc / 2 - m_content_height / 2;
-            p->drawLine( 0, y, m_content_width, y );
-        }
-        row_offset += row_spc;
-    }
-
-    p->restore();
-}
-
-int QwtMmlMtableNode::framespacing_ver() const
-{
-    if ( frame() == FrameNone )
-        return ( int )( 0.2 * em() );
-
-    QString value = explicitAttribute( "framespacing", "0.4em 0.5ex" );
-
-    bool ok;
-    FrameSpacing fs = interpretFrameSpacing( value, em(), ex(), &ok );
-    if ( ok )
-        return fs.m_ver;
-    else
-        return ( int )( 0.5 * ex() );
-}
-
-int QwtMmlMtableNode::framespacing_hor() const
-{
-    if ( frame() == FrameNone )
-        return ( int )( 0.2 * em() );
-
-    QString value = explicitAttribute( "framespacing", "0.4em 0.5ex" );
-
-    bool ok;
-    FrameSpacing fs = interpretFrameSpacing( value, em(), ex(), &ok );
-    if ( ok )
-        return fs.m_hor;
-    else
-        return ( int )( 0.4 * em() );
-}
-
-void QwtMmlMtrNode::layoutCells( const QList<int> &col_widths,
-                              int col_spc )
-{
-    QRect mr = myRect();
-
-    QwtMmlNode *child = firstChild();
-    int col_offset = 0;
-    uint colnum = 0;
-    for ( ; child != 0; child = child->nextSibling(), ++colnum )
-    {
-        Q_ASSERT( child->nodeType() == MtdNode );
-        QwtMmlMtdNode *mtd = ( QwtMmlMtdNode* ) child;
-
-        QRect r = QRect( 0, mr.top(), col_widths[colnum], mr.height() );
-        mtd->setMyRect( r );
-        mtd->setRelOrigin( QPoint( col_offset, 0 ) );
-        col_offset += col_widths[colnum] + col_spc;
-    }
-
-    updateMyRect();
-}
-
-int QwtMmlMtdNode::scriptlevel( const QwtMmlNode *child ) const
-{
-    int sl = QwtMmlNode::scriptlevel();
-    if ( child != 0 && child == firstChild() )
-        return sl + m_scriptlevel_adjust;
-    else
-        return sl;
-}
-
-void QwtMmlMtdNode::setMyRect( const QRect &rect )
-{
-    QwtMmlNode::setMyRect( rect );
-    QwtMmlNode *child = firstChild();
-    if ( child == 0 )
-        return;
-
-    if ( rect.width() < child->myRect().width() )
-    {
-        while ( rect.width() < child->myRect().width()
-                && child->font().pointSize() > g_min_font_point_size )
-        {
-
-//          qWarning("MmlMtdNode::setMyRect(): rect.width()=%d, child()->myRect().width=%d sl=%d",
-//              rect.width(), child->myRect().width(), m_scriptlevel_adjust);
-
-            ++m_scriptlevel_adjust;
-            child->layout();
-        }
-
-//      qWarning("MmlMtdNode::setMyRect(): rect.width()=%d, child()->myRect().width=%d sl=%d",
-//              rect.width(), child->myRect().width(), m_scriptlevel_adjust);
-    }
-
-    QRect mr = myRect();
-    QRect cmr = child->myRect();
-
-    QPoint child_rel_origin;
-
-    switch ( columnalign() )
-    {
-        case ColAlignLeft:
-            child_rel_origin.setX( 0 );
-            break;
-        case ColAlignCenter:
-            child_rel_origin.setX( mr.left() + ( mr.width() - cmr.width() ) / 2 );
-            break;
-        case ColAlignRight:
-            child_rel_origin.setX( mr.right() - cmr.width() );
-            break;
-    }
-
-    switch ( rowalign() )
-    {
-        case RowAlignTop:
-            child_rel_origin.setY( mr.top() - cmr.top() );
-            break;
-        case RowAlignCenter:
-        case RowAlignBaseline:
-            child_rel_origin.setY( mr.top() - cmr.top() + ( mr.height() - cmr.height() ) / 2 );
-            break;
-        case RowAlignBottom:
-            child_rel_origin.setY( mr.bottom() - cmr.bottom() );
-            break;
-        case RowAlignAxis:
-            child_rel_origin.setY( 0 );
-            break;
-    }
-
-    child->setRelOrigin( child_rel_origin );
-}
-
-uint QwtMmlMtdNode::colNum()
-{
-    QwtMmlNode *syb = previousSibling();
-
-    uint i = 0;
-    for ( ; syb != 0; syb = syb->previousSibling() )
-        ++i;
-
-    return i;
-}
-
-uint QwtMmlMtdNode::rowNum()
-{
-    QwtMmlNode *row = parent()->previousSibling();
-
-    uint i = 0;
-    for ( ; row != 0; row = row->previousSibling() )
-        ++i;
-
-    return i;
-}
-
-QwtMmlMtdNode::ColAlign QwtMmlMtdNode::columnalign()
-{
-    QString val = explicitAttribute( "columnalign" );
-    if ( !val.isNull() )
-        return interpretColAlign( val, 0, 0 );
-
-    QwtMmlNode *node = parent(); // <mtr>
-    if ( node == 0 )
-        return ColAlignCenter;
-
-    uint colnum = colNum();
-    val = node->explicitAttribute( "columnalign" );
-    if ( !val.isNull() )
-        return interpretColAlign( val, colnum, 0 );
-
-    node = node->parent(); // <mtable>
-    if ( node == 0 )
-        return ColAlignCenter;
-
-    val = node->explicitAttribute( "columnalign" );
-    if ( !val.isNull() )
-        return interpretColAlign( val, colnum, 0 );
-
-    return ColAlignCenter;
-}
-
-QwtMmlMtdNode::RowAlign QwtMmlMtdNode::rowalign()
-{
-    QString val = explicitAttribute( "rowalign" );
-    if ( !val.isNull() )
-        return interpretRowAlign( val, 0, 0 );
-
-    QwtMmlNode *node = parent(); // <mtr>
-    if ( node == 0 )
-        return RowAlignAxis;
-
-    uint rownum = rowNum();
-    val = node->explicitAttribute( "rowalign" );
-    if ( !val.isNull() )
-        return interpretRowAlign( val, rownum, 0 );
-
-    node = node->parent(); // <mtable>
-    if ( node == 0 )
-        return RowAlignAxis;
-
-    val = node->explicitAttribute( "rowalign" );
-    if ( !val.isNull() )
-        return interpretRowAlign( val, rownum, 0 );
-
-    return RowAlignAxis;
-}
-
-void QwtMmlMoverNode::layoutSymbol()
-{
-    QwtMmlNode *base = firstChild();
-    Q_ASSERT( base != 0 );
-    QwtMmlNode *over = base->nextSibling();
-    Q_ASSERT( over != 0 );
-
-    QRect base_rect = base->myRect();
-    QRect over_rect = over->myRect();
-
-    int spacing = ( int )( g_mfrac_spacing * ( over_rect.height()
-                           + base_rect.height() ) );
-
-    base->setRelOrigin( QPoint( -base_rect.width() / 2, 0 ) );
-    over->setRelOrigin( QPoint( -over_rect.width() / 2,
-                                base_rect.top() - spacing - over_rect.bottom() ) );
-}
-
-int QwtMmlMoverNode::scriptlevel( const QwtMmlNode *node ) const
-{
-    QwtMmlNode *base = firstChild();
-    Q_ASSERT( base != 0 );
-    QwtMmlNode *over = base->nextSibling();
-    Q_ASSERT( over != 0 );
-
-    int sl = QwtMmlNode::scriptlevel();
-    if ( node != 0 && node == over )
-        return sl + 1;
-    else
-        return sl;
-}
-
-void QwtMmlMunderNode::layoutSymbol()
-{
-    QwtMmlNode *base = firstChild();
-    Q_ASSERT( base != 0 );
-    QwtMmlNode *under = base->nextSibling();
-    Q_ASSERT( under != 0 );
-
-    QRect base_rect = base->myRect();
-    QRect under_rect = under->myRect();
-
-    int spacing = ( int )( g_mfrac_spacing * ( under_rect.height() + base_rect.height() ) );
-
-    base->setRelOrigin( QPoint( -base_rect.width() / 2, 0 ) );
-    under->setRelOrigin( QPoint( -under_rect.width() / 2, base_rect.bottom() + spacing - under_rect.top() ) );
-}
-
-int QwtMmlMunderNode::scriptlevel( const QwtMmlNode *node ) const
-{
-    QwtMmlNode *base = firstChild();
-    Q_ASSERT( base != 0 );
-    QwtMmlNode *under = base->nextSibling();
-    Q_ASSERT( under != 0 );
-
-    int sl = QwtMmlNode::scriptlevel();
-    if ( node != 0 && node == under )
-        return sl + 1;
-    else
-        return sl;
-}
-
-void QwtMmlMunderoverNode::layoutSymbol()
-{
-    QwtMmlNode *base = firstChild();
-    Q_ASSERT( base != 0 );
-    QwtMmlNode *under = base->nextSibling();
-    Q_ASSERT( under != 0 );
-    QwtMmlNode *over = under->nextSibling();
-    Q_ASSERT( over != 0 );
-
-    QRect base_rect = base->myRect();
-    QRect under_rect = under->myRect();
-    QRect over_rect = over->myRect();
-
-    int spacing = ( int )( g_mfrac_spacing * (   base_rect.height()
-                           + under_rect.height()
-                           + over_rect.height() )   );
-
-    base->setRelOrigin( QPoint( -base_rect.width() / 2, 0 ) );
-    under->setRelOrigin( QPoint( -under_rect.width() / 2, base_rect.bottom() + spacing - under_rect.top() ) );
-    over->setRelOrigin( QPoint( -over_rect.width() / 2, base_rect.top() - spacing - under_rect.bottom() ) );
-}
-
-int QwtMmlMunderoverNode::scriptlevel( const QwtMmlNode *node ) const
-{
-    QwtMmlNode *base = firstChild();
-    Q_ASSERT( base != 0 );
-    QwtMmlNode *under = base->nextSibling();
-    Q_ASSERT( under != 0 );
-    QwtMmlNode *over = under->nextSibling();
-    Q_ASSERT( over != 0 );
-
-    int sl = QwtMmlNode::scriptlevel();
-    if ( node != 0 && ( node == under || node == over ) )
-        return sl + 1;
-    else
-        return sl;
-}
-
-int QwtMmlMpaddedNode::interpretSpacing( QString value, int base_value, bool *ok ) const
-{
-    if ( ok != 0 )
-        *ok = false;
-
-    value.replace( ' ', "" );
-
-    QString sign, factor_str, pseudo_unit;
-    bool percent = false;
-
-    // extract the sign
-    int idx = 0;
-    if ( idx < value.length() && ( value.at( idx ) == '+' || value.at( idx ) == '-' ) )
-        sign = value.at( idx++ );
-
-    // extract the factor
-    while ( idx < value.length() && ( value.at( idx ).isDigit() || value.at( idx ) == '.' ) )
-        factor_str.append( value.at( idx++ ) );
-
-    // extract the % sign
-    if ( idx < value.length() && value.at( idx ) == '%' )
-    {
-        percent = true;
-        ++idx;
-    }
-
-    // extract the pseudo-unit
-    pseudo_unit = value.mid( idx );
-
-    bool float_ok;
-    double factor = factor_str.toFloat( &float_ok );
-    if ( !float_ok || factor < 0 )
-    {
-        qWarning( "MmlMpaddedNode::interpretSpacing(): could not parse \"%s\"", value.toLatin1().data() );
-        return 0;
-    }
-
-    if ( percent )
-        factor /= 100.0;
-
-    QRect cr;
-    if ( firstChild() == 0 )
-        cr = QRect( 0, 0, 0, 0 );
-    else
-        cr = firstChild()->myRect();
-
-    int unit_size;
-
-    if ( pseudo_unit.isEmpty() )
-        unit_size = base_value;
-    else if ( pseudo_unit == "width" )
-        unit_size = cr.width();
-    else if ( pseudo_unit == "height" )
-        unit_size = -cr.top();
-    else if ( pseudo_unit == "depth" )
-        unit_size = cr.bottom();
-    else
-    {
-        bool unit_ok;
-        unit_size = QwtMmlNode::interpretSpacing( "1" + pseudo_unit, &unit_ok );
-        if ( !unit_ok )
-        {
-            qWarning( "MmlMpaddedNode::interpretSpacing(): could not parse \"%s\"", value.toLatin1().data() );
-            return 0;
-        }
-    }
-
-    if ( ok != 0 )
-        *ok = true;
-
-    if ( sign.isNull() )
-        return ( int )( factor * unit_size );
-    else if ( sign == "+" )
-        return base_value + ( int )( factor * unit_size );
-    else // sign == "-"
-        return base_value - ( int )( factor * unit_size );
-}
-
-int QwtMmlMpaddedNode::lspace() const
-{
-    QString value = explicitAttribute( "lspace" );
-
-    if ( value.isNull() )
-        return 0;
-
-    bool ok;
-    int lspace = interpretSpacing( value, 0, &ok );
-
-    if ( ok )
-        return lspace;
-
-    return 0;
-}
-
-int QwtMmlMpaddedNode::width() const
-{
-    int child_width = 0;
-    if ( firstChild() != 0 )
-        child_width = firstChild()->myRect().width();
-
-    QString value = explicitAttribute( "width" );
-    if ( value.isNull() )
-        return child_width;
-
-    bool ok;
-    int w = interpretSpacing( value, child_width, &ok );
-    if ( ok )
-        return w;
-
-    return child_width;
-}
-
-int QwtMmlMpaddedNode::height() const
-{
-    QRect cr;
-    if ( firstChild() == 0 )
-        cr = QRect( 0, 0, 0, 0 );
-    else
-        cr = firstChild()->myRect();
-
-    QString value = explicitAttribute( "height" );
-    if ( value.isNull() )
-        return -cr.top();
-
-    bool ok;
-    int h = interpretSpacing( value, -cr.top(), &ok );
-    if ( ok )
-        return h;
-
-    return -cr.top();
-}
-
-int QwtMmlMpaddedNode::depth() const
-{
-    QRect cr;
-    if ( firstChild() == 0 )
-        cr = QRect( 0, 0, 0, 0 );
-    else
-        cr = firstChild()->myRect();
-
-    QString value = explicitAttribute( "depth" );
-    if ( value.isNull() )
-        return cr.bottom();
-
-    bool ok;
-    int h = interpretSpacing( value, cr.bottom(), &ok );
-    if ( ok )
-        return h;
-
-    return cr.bottom();
-}
-
-void QwtMmlMpaddedNode::layoutSymbol()
-{
-    QwtMmlNode *child = firstChild();
-    if ( child == 0 )
-        return;
-
-    child->setRelOrigin( QPoint( 0, 0 ) );
-}
-
-
-QRect QwtMmlMpaddedNode::symbolRect() const
-{
-    return QRect( -lspace(), -height(), lspace() + width(), height() + depth() );
-}
-
-// *******************************************************************
-// Static helper functions
-// *******************************************************************
-
-static QString entityDeclarations()
-{
-    QString result = "<!DOCTYPE math [\n";
-
-    const QwtMmlEntitySpec *ent = g_xml_entity_data;
-    for ( ; ent->name != 0; ++ent )
-    {
-        result += "\t<!ENTITY " + QString( ent->name ) + " \"" + ent->value + "\">\n";
-    }
-
-    result += "]>\n";
-
-    return result;
-}
-
-static int interpretSpacing( QString value, int em, int ex, bool *ok )
-{
-    if ( ok != 0 )
-        *ok = true;
-
-    if ( value == "thin" )
-        return 1;
-
-    if ( value == "medium" )
-        return 2;
-
-    if ( value == "thick" )
-        return 3;
-
-    struct HSpacingValue
-    {
-        const char *name;
-        float factor;
-    };
-
-    static const HSpacingValue g_h_spacing_data[] =
-    {
-        { "veryverythinmathspace",  ( float ) 0.0555556   },
-        { "verythinmathspace",      ( float ) 0.111111    },
-        { "thinmathspace",              ( float ) 0.166667    },
-        { "mediummathspace",        ( float ) 0.222222    },
-        { "thickmathspace",         ( float ) 0.277778    },
-        { "verythickmathspace",     ( float ) 0.333333    },
-        { "veryverythickmathspace",     ( float ) 0.388889    },
-        { 0,                        ( float ) 0           }
-    };
-
-    const HSpacingValue *v = g_h_spacing_data;
-    for ( ; v->name != 0; ++v )
-    {
-        if ( value == v->name )
-            return ( int )( em * v->factor );
-    }
-
-    if ( value.endsWith( "em" ) )
-    {
-        value.truncate( value.length() - 2 );
-        bool float_ok;
-        float factor = value.toFloat( &float_ok );
-        if ( float_ok && factor >= 0 )
-            return ( int )( em * factor );
-        else
-        {
-            qWarning( "interpretSpacing(): could not parse \"%sem\"", value.toLatin1().data() );
-            if ( ok != 0 )
-                *ok = false;
-            return 0;
-        }
-    }
-
-    if ( value.endsWith( "ex" ) )
-    {
-        value.truncate( value.length() - 2 );
-        bool float_ok;
-        float factor = value.toFloat( &float_ok );
-        if ( float_ok && factor >= 0 )
-            return ( int )( ex * factor );
-        else
-        {
-            qWarning( "interpretSpacing(): could not parse \"%sex\"", value.toLatin1().data() );
-            if ( ok != 0 )
-                *ok = false;
-            return 0;
-        }
-    }
-
-    if ( value.endsWith( "cm" ) )
-    {
-        value.truncate( value.length() - 2 );
-        bool float_ok;
-        float factor = value.toFloat( &float_ok );
-        if ( float_ok && factor >= 0 )
-        {
-            Q_ASSERT( qApp->desktop() != 0 );
-            QDesktopWidget *dw = qApp->desktop();
-            Q_ASSERT( dw->width() != 0 );
-            Q_ASSERT( dw->widthMM() != 0 );
-            return ( int )( factor * 10 * dw->width() / dw->widthMM() );
-        }
-        else
-        {
-            qWarning( "interpretSpacing(): could not parse \"%scm\"", value.toLatin1().data() );
-            if ( ok != 0 )
-                *ok = false;
-            return 0;
-        }
-    }
-
-    if ( value.endsWith( "mm" ) )
-    {
-        value.truncate( value.length() - 2 );
-        bool float_ok;
-        float factor = value.toFloat( &float_ok );
-        if ( float_ok && factor >= 0 )
-        {
-            Q_ASSERT( qApp->desktop() != 0 );
-            QDesktopWidget *dw = qApp->desktop();
-            Q_ASSERT( dw->width() != 0 );
-            Q_ASSERT( dw->widthMM() != 0 );
-            return ( int )( factor * dw->width() / dw->widthMM() );
-        }
-        else
-        {
-            qWarning( "interpretSpacing(): could not parse \"%smm\"", value.toLatin1().data() );
-            if ( ok != 0 )
-                *ok = false;
-            return 0;
-        }
-    }
-
-    if ( value.endsWith( "in" ) )
-    {
-        value.truncate( value.length() - 2 );
-        bool float_ok;
-        float factor = value.toFloat( &float_ok );
-        if ( float_ok && factor >= 0 )
-        {
-            Q_ASSERT( qApp->desktop() != 0 );
-            QDesktopWidget *dw = qApp->desktop();
-            Q_ASSERT( dw->width() != 0 );
-            Q_ASSERT( dw->widthMM() != 0 );
-            return ( int )( factor * 10 * dw->width() / ( 2.54 * dw->widthMM() ) );
-        }
-        else
-        {
-            qWarning( "interpretSpacing(): could not parse \"%sin\"", value.toLatin1().data() );
-            if ( ok != 0 )
-                *ok = false;
-            return 0;
-        }
-    }
-
-    if ( value.endsWith( "px" ) )
-    {
-        value.truncate( value.length() - 2 );
-        bool float_ok;
-        int i = ( int ) value.toFloat( &float_ok );
-        if ( float_ok && i >= 0 )
-            return i;
-        else
-        {
-            qWarning( "interpretSpacing(): could not parse \"%spx\"", value.toLatin1().data() );
-            if ( ok != 0 )
-                *ok = false;
-            return 0;
-        }
-    }
-
-    bool float_ok;
-    int i = ( int )value.toFloat( &float_ok );
-    if ( float_ok && i >= 0 )
-        return i;
-
-    qWarning( "interpretSpacing(): could not parse \"%s\"", value.toLatin1().data() );
-    if ( ok != 0 )
-        *ok = false;
-    return 0;
-}
-
-static int interpretPercentSpacing( QString value, int base, bool *ok )
-{
-    if ( !value.endsWith( "%" ) )
-    {
-        if ( ok != 0 )
-            *ok = false;
-        return 0;
-    }
-
-    value.truncate( value.length() - 1 );
-    bool float_ok;
-    float factor = value.toFloat( &float_ok );
-    if ( float_ok && factor >= 0 )
-    {
-        if ( ok != 0 )
-            *ok = true;
-        return ( int )( base * factor / 100.0 );
-    }
-
-    qWarning( "interpretPercentSpacing(): could not parse \"%s%%\"", value.toLatin1().data() );
-    if ( ok != 0 )
-        *ok = false;
-    return 0;
-}
-
-static int interpretPointSize( QString value, bool *ok )
-{
-    if ( !value.endsWith( "pt" ) )
-    {
-        if ( ok != 0 )
-            *ok = false;
-        return 0;
-    }
-
-    value.truncate( value.length() - 2 );
-    bool float_ok;
-    int pt_size = ( int ) value.toFloat( &float_ok );
-    if ( float_ok && pt_size > 0 )
-    {
-        if ( ok != 0 )
-            *ok = true;
-        return pt_size;
-    }
-
-    qWarning( "interpretPointSize(): could not parse \"%spt\"", value.toLatin1().data() );
-    if ( ok != 0 )
-        *ok = false;
-    return 0;
-}
-
-static const QwtMmlNodeSpec *mmlFindNodeSpec( QwtMml::NodeType type )
-{
-    const QwtMmlNodeSpec *spec = g_node_spec_data;
-    for ( ; spec->type != QwtMml::NoNode; ++spec )
-    {
-        if ( type == spec->type ) return spec;
-    }
-    return 0;
-}
-
-static const QwtMmlNodeSpec *mmlFindNodeSpec( const QString &tag )
-{
-    const QwtMmlNodeSpec *spec = g_node_spec_data;
-    for ( ; spec->type != QwtMml::NoNode; ++spec )
-    {
-        if ( tag == spec->tag ) return spec;
-    }
-    return 0;
-}
-
-static bool mmlCheckChildType( QwtMml::NodeType parent_type, QwtMml::NodeType child_type,
-                               QString *error_str )
-{
-    if ( parent_type == QwtMml::UnknownNode || child_type == QwtMml::UnknownNode )
-        return true;
-
-    const QwtMmlNodeSpec *child_spec = mmlFindNodeSpec( child_type );
-    const QwtMmlNodeSpec *parent_spec = mmlFindNodeSpec( parent_type );
-
-    Q_ASSERT( parent_spec != 0 );
-    Q_ASSERT( child_spec != 0 );
-
-    QString allowed_child_types( parent_spec->child_types );
-    // null list means any child type is valid
-    if ( allowed_child_types.isNull() )
-        return true;
-
-    QString child_type_str = QString( " " ) + child_spec->type_str + " ";
-    if ( !allowed_child_types.contains( child_type_str ) )
-    {
-        if ( error_str != 0 )
-            *error_str = QString( "illegal child " )
-                         + child_spec->type_str
-                         + " for parent "
-                         + parent_spec->type_str;
-        return false;
-    }
-
-    return true;
-}
-
-static bool mmlCheckAttributes( QwtMml::NodeType child_type, const QwtMmlAttributeMap &attr,
-                                QString *error_str )
-{
-    const QwtMmlNodeSpec *spec = mmlFindNodeSpec( child_type );
-    Q_ASSERT( spec != 0 );
-
-    QString allowed_attr( spec->attributes );
-    // empty list means any attr is valid
-    if ( allowed_attr.isEmpty() )
-        return true;
-
-    QwtMmlAttributeMap::const_iterator it = attr.begin(), end = attr.end();
-    for ( ; it != end; ++it )
-    {
-        QString name = it.key();
-
-        if ( name.indexOf( ':' ) != -1 )
-            continue;
-
-        QString padded_name = " " + name + " ";
-        if ( !allowed_attr.contains( padded_name ) )
-        {
-            if ( error_str != 0 )
-                *error_str = QString( "illegal attribute " )
-                             + name
-                             + " in "
-                             + spec->type_str;
-            return false;
-        }
-    }
-
-    return true;
-}
-
-static int attributeIndex( const QString &name )
-{
-    for ( unsigned i = 0; i < g_oper_spec_rows; ++i )
-    {
-        if ( name == g_oper_spec_names[i] )
-            return i;
-    }
-    return -1;
-}
-
-static QString decodeEntityValue( QString literal )
-{
-    QString result;
-
-    while ( !literal.isEmpty() )
-    {
-
-        if ( !literal.startsWith( "&#" ) )
-        {
-            qWarning() << "decodeEntityValue(): bad entity literal: \"" + literal + "\"";
-            return QString::null;
-        }
-
-        literal = literal.right( literal.length() - 2 );
-
-        int i = literal.indexOf( ';' );
-        if ( i == -1 )
-        {
-            qWarning() << "decodeEntityValue(): bad entity literal: \"" + literal + "\"";
-            return QString::null;
-        }
-
-        QString char_code = literal.left( i );
-        literal = literal.right( literal.length() - i - 1 );
-
-        if ( char_code.isEmpty() )
-        {
-            qWarning() << "decodeEntityValue(): bad entity literal: \"" + literal + "\"";
-            return QString::null;
-        }
-
-        if ( char_code.at( 0 ) == 'x' )
-        {
-            char_code = char_code.right( char_code.length() - 1 );
-            bool ok;
-            unsigned c = char_code.toUInt( &ok, 16 );
-            if ( !ok )
-            {
-                qWarning() << "decodeEntityValue(): bad entity literal: \"" + literal + "\"";
-                return QString::null;
-            }
-            result += QChar( c );
-        }
-        else
-        {
-            bool ok;
-            unsigned c = char_code.toUInt( &ok, 10 );
-            if ( !ok )
-            {
-                qWarning() << "decodeEntityValue(): bad entity literal: \"" + literal + "\"";
-                return QString::null;
-            }
-            result += QChar( c );
-        }
-    }
-
-    return result;
-}
-
-static const QwtMmlEntitySpec *searchEntitySpecData( const QString &value, const QwtMmlEntitySpec *from = 0 )
-{
-    const QwtMmlEntitySpec *ent = from;
-    if ( ent == 0 )
-        ent = g_xml_entity_data;
-    for ( ; ent->name != 0; ++ent )
-    {
-        QString ent_value = decodeEntityValue( ent->value );
-        if ( value == ent_value )
-            return ent;
-    }
-    return 0;
-}
-
-struct OperSpecSearchResult
-{
-    OperSpecSearchResult() { prefix_form = infix_form = postfix_form = 0; }
-
-    const QwtMmlOperSpec *prefix_form,
-          *infix_form,
-          *postfix_form;
-
-    const QwtMmlOperSpec *&getForm( QwtMml::FormType f );
-    bool haveForm( QwtMml::FormType f )
-    { return getForm( f ) != 0; }
-    void addForm( const QwtMmlOperSpec *spec )
-    { getForm( spec->form ) = spec; }
-};
-
-const QwtMmlOperSpec *&OperSpecSearchResult::getForm( QwtMml::FormType f )
-{
-    switch ( f )
-    {
-        case QwtMml::PrefixForm:
-            return prefix_form;
-        case QwtMml::InfixForm:
-            return infix_form;
-        case QwtMml::PostfixForm:
-            return postfix_form;
-    }
-    return postfix_form; // just to avoid warning
-}
-
-/*
-    Searches g_oper_spec_data and returns any instance of operator name. There may
-    be more instances, but since the list is sorted, they will be next to each other.
-*/
-static const QwtMmlOperSpec *searchOperSpecData( const QString &name )
-{
-    const char *name_latin1 = name.toLatin1().data();
-
-    // binary search
-    // establish invariant g_oper_spec_data[begin].name < name < g_oper_spec_data[end].name
-
-    int cmp = qstrcmp( name_latin1, g_oper_spec_data[0].name );
-    if ( cmp < 0 )
-        return 0;
-
-    if ( cmp == 0 )
-        return g_oper_spec_data;
-
-    uint begin = 0;
-    uint end = g_oper_spec_count;
-
-    // invariant holds
-    while ( end - begin > 1 )
-    {
-        uint mid = ( begin + end ) / 2;
-
-        const QwtMmlOperSpec *spec = g_oper_spec_data + mid;
-        int cmp = qstrcmp( name_latin1, spec->name );
-        if ( cmp < 0 )
-            end = mid;
-        else if ( cmp > 0 )
-            begin = mid;
-        else
-            return spec;
-    }
-
-    return 0;
-}
-
-/*
-    This searches g_oper_spec_data until at least one name in name_list is found with FormType form,
-    or until name_list is exhausted. The idea here is that if we don't find the operator in the
-    specified form, we still want to use some other available form of that operator.
-*/
-static OperSpecSearchResult _mmlFindOperSpec( const QStringList &name_list, QwtMml::FormType form )
-{
-    OperSpecSearchResult result;
-
-    QStringList::const_iterator it = name_list.begin();
-    for ( ; it != name_list.end(); ++it )
-    {
-        const QString &name = *it;
-
-        const QwtMmlOperSpec *spec = searchOperSpecData( name );
-
-        if ( spec == 0 )
-            continue;
-
-        const char *name_latin1 = name.toLatin1().data();
-
-        // backtrack to the first instance of name
-        while ( spec > g_oper_spec_data && qstrcmp( ( spec - 1 )->name, name_latin1 ) == 0 )
-            --spec;
-
-        // iterate over instances of name until the instances are exhausted or until we
-        // find an instance in the specified form.
-        do
-        {
-            result.addForm( spec++ );
-            if ( result.haveForm( form ) )
-                break;
-        }
-        while ( qstrcmp( spec->name, name_latin1 ) == 0 );
-
-        if ( result.haveForm( form ) )
-            break;
-    }
-
-    return result;
-}
-
-/*
-    text is a string between <mo> and </mo>. It can be a character ('+'), an
-    entity reference ("∞") or a character reference ("&#x0221E"). Our
-    job is to find an operator spec in the operator dictionary (g_oper_spec_data)
-    that matches text. Things are further complicated by the fact, that many
-    operators come in several forms (prefix, infix, postfix).
-
-    If available, this function returns an operator spec matching text in the specified
-    form. If such operator is not available, returns an operator spec that matches
-    text, but of some other form in the preference order specified by the MathML spec.
-    If that's not available either, returns the default operator spec.
-*/
-static const QwtMmlOperSpec *mmlFindOperSpec( const QString &text, QwtMml::FormType form )
-{
-    QStringList name_list;
-    name_list.append( text );
-
-    // First, just try to find text in the operator dictionary.
-    OperSpecSearchResult result = _mmlFindOperSpec( name_list, form );
-
-    if ( !result.haveForm( form ) )
-    {
-        // Try to find other names for the operator represented by text.
-
-        const QwtMmlEntitySpec *ent = 0;
-        for ( ;; )
-        {
-            ent = searchEntitySpecData( text, ent );
-            if ( ent == 0 )
-                break;
-            name_list.append( '&' + QString( ent->name ) + ';' );
-            ++ent;
-        }
-
-        result = _mmlFindOperSpec( name_list, form );
-    }
-
-    const QwtMmlOperSpec *spec = result.getForm( form );
-    if ( spec != 0 )
-        return spec;
-
-    spec = result.getForm( QwtMml::InfixForm );
-    if ( spec != 0 )
-        return spec;
-
-    spec = result.getForm( QwtMml::PostfixForm );
-    if ( spec != 0 )
-        return spec;
-
-    spec = result.getForm( QwtMml::PrefixForm );
-    if ( spec != 0 )
-        return spec;
-
-    return &g_oper_spec_defaults;
-}
-
-static QString mmlDictAttribute( const QString &name, const QwtMmlOperSpec *spec )
-{
-    int i = attributeIndex( name );
-    if ( i == -1 )
-        return QString::null;
-    else
-        return spec->attributes[i];
-}
-
-static uint interpretMathVariant( const QString &value, bool *ok )
-{
-    struct MathVariantValue
-    {
-        const char *value;
-        uint mv;
-    };
-
-    static const MathVariantValue g_mv_data[] =
-    {
-        { "normal",                     QwtMml::NormalMV },
-        { "bold",                           QwtMml::BoldMV },
-        { "italic",                         QwtMml::ItalicMV },
-        { "bold-italic",                QwtMml::BoldMV | QwtMml::ItalicMV },
-        { "double-struck",                  QwtMml::DoubleStruckMV },
-        { "bold-fraktur",                   QwtMml::BoldMV | QwtMml::FrakturMV },
-        { "script",                         QwtMml::ScriptMV },
-        { "bold-script",                QwtMml::BoldMV | QwtMml::ScriptMV },
-        { "fraktur",                        QwtMml::FrakturMV },
-        { "sans-serif",                 QwtMml::SansSerifMV },
-        { "bold-sans-serif",                QwtMml::BoldMV | QwtMml::SansSerifMV },
-        { "sans-serif-italic",          QwtMml::SansSerifMV | QwtMml::ItalicMV },
-        { "sans-serif-bold-italic",         QwtMml::SansSerifMV | QwtMml::ItalicMV | QwtMml::BoldMV },
-        { "monospace",                  QwtMml::MonospaceMV },
-        { 0,                            0 }
-    };
-
-    const MathVariantValue *v = g_mv_data;
-    for ( ; v->value != 0; ++v )
-    {
-        if ( value == v->value )
-        {
-            if ( ok != 0 )
-                *ok = true;
-            return v->mv;
-        }
-    }
-
-    if ( ok != 0 )
-        *ok = false;
-
-    qWarning( "interpretMathVariant(): could not parse value: \"%s\"", value.toLatin1().data() );
-
-    return QwtMml::NormalMV;
-}
-
-static QwtMml::FormType interpretForm( const QString &value, bool *ok )
-{
-    if ( ok != 0 )
-        *ok = true;
-
-    if ( value == "prefix" )
-        return QwtMml::PrefixForm;
-    if ( value == "infix" )
-        return QwtMml::InfixForm;
-    if ( value == "postfix" )
-        return QwtMml::PostfixForm;
-
-    if ( ok != 0 )
-        *ok = false;
-
-    qWarning( "interpretForm(): could not parse value \"%s\"", value.toLatin1().data() );
-    return QwtMml::InfixForm;
-}
-
-static QwtMml::ColAlign interpretColAlign( const QString &value_list, uint colnum, bool *ok )
-{
-    QString value = interpretListAttr( value_list, colnum, "center" );
-
-    if ( ok != 0 )
-        *ok = true;
-
-    if ( value == "left" )
-        return QwtMml::ColAlignLeft;
-    if ( value == "right" )
-        return QwtMml::ColAlignRight;
-    if ( value == "center" )
-        return QwtMml::ColAlignCenter;
-
-    if ( ok != 0 )
-        *ok = false;
-
-    qWarning( "interpretColAlign(): could not parse value \"%s\"", value.toLatin1().data() );
-    return QwtMml::ColAlignCenter;
-}
-
-static QwtMml::RowAlign interpretRowAlign( const QString &value_list, uint rownum, bool *ok )
-{
-    QString value = interpretListAttr( value_list, rownum, "axis" );
-
-    if ( ok != 0 )
-        *ok = true;
-
-    if ( value == "top" )
-        return QwtMml::RowAlignTop;
-    if ( value == "center" )
-        return QwtMml::RowAlignCenter;
-    if ( value == "bottom" )
-        return QwtMml::RowAlignBottom;
-    if ( value == "baseline" )
-        return QwtMml::RowAlignBaseline;
-    if ( value == "axis" )
-        return QwtMml::RowAlignAxis;
-
-    if ( ok != 0 )
-        *ok = false;
-
-    qWarning( "interpretRowAlign(): could not parse value \"%s\"", value.toLatin1().data() );
-    return QwtMml::RowAlignAxis;
-}
-
-static QString interpretListAttr( const QString &value_list, int idx, const QString &def )
-{
-    QStringList l = value_list.split( ' ' );
-
-    if ( l.count() == 0 )
-        return def;
-
-    if ( l.count() <= idx )
-        return l[l.count() - 1];
-    else
-        return l[idx];
-}
-
-static QwtMml::FrameType interpretFrameType( const QString &value_list, uint idx, bool *ok )
-{
-    if ( ok != 0 )
-        *ok = true;
-
-    QString value = interpretListAttr( value_list, idx, "none" );
-
-    if ( value == "none" )
-        return QwtMml::FrameNone;
-    if ( value == "solid" )
-        return QwtMml::FrameSolid;
-    if ( value == "dashed" )
-        return QwtMml::FrameDashed;
-
-    if ( ok != 0 )
-        *ok = false;
-
-    qWarning( "interpretFrameType(): could not parse value \"%s\"", value.toLatin1().data() );
-    return QwtMml::FrameNone;
-}
-
-
-static QwtMml::FrameSpacing interpretFrameSpacing( const QString &value_list, int em, int ex, bool *ok )
-{
-    QwtMml::FrameSpacing fs;
-
-    QStringList l = value_list.split( ' ' );
-    if ( l.count() != 2 )
-    {
-        qWarning( "interpretFrameSpacing: could not parse value \"%s\"", value_list.toLatin1().data() );
-        if ( ok != 0 )
-            *ok = false;
-        return QwtMml::FrameSpacing( ( int )( 0.4 * em ), ( int )( 0.5 * ex ) );
-    }
-
-    bool hor_ok, ver_ok;
-    fs.m_hor = interpretSpacing( l[0], em, ex, &hor_ok );
-    fs.m_ver = interpretSpacing( l[1], em, ex, &ver_ok );
-
-    if ( ok != 0 )
-        *ok = hor_ok && ver_ok;
-
-    return fs;
-}
-
-static QFont interpretDepreciatedFontAttr( const QwtMmlAttributeMap &font_attr, QFont &fn, int em, int ex )
-{
-    if ( font_attr.contains( "fontsize" ) )
-    {
-        QString value = font_attr["fontsize"];
-
-        for ( ;; )
-        {
-
-            bool ok;
-            int ptsize = interpretPointSize( value, &ok );
-            if ( ok )
-            {
-                fn.setPointSize( ptsize );
-                break;
-            }
-
-            ptsize = interpretPercentSpacing( value, fn.pointSize(), &ok );
-            if ( ok )
-            {
-                fn.setPointSize( ptsize );
-                break;
-            }
-
-            int size = interpretSpacing( value, em, ex, &ok );
-            if ( ok )
-            {
-                fn.setPixelSize( size );
-                break;
-            }
-
-            break;
-        }
-    }
-
-    if ( font_attr.contains( "fontweight" ) )
-    {
-        QString value = font_attr["fontweight"];
-        if ( value == "normal" )
-            fn.setBold( false );
-        else if ( value == "bold" )
-            fn.setBold( true );
-        else
-            qWarning( "interpretDepreciatedFontAttr(): could not parse fontweight \"%s\"", value.toLatin1().data() );
-    }
-
-    if ( font_attr.contains( "fontstyle" ) )
-    {
-        QString value = font_attr["fontstyle"];
-        if ( value == "normal" )
-            fn.setItalic( false );
-        else if ( value == "italic" )
-            fn.setItalic( true );
-        else
-            qWarning( "interpretDepreciatedFontAttr(): could not parse fontstyle \"%s\"", value.toLatin1().data() );
-    }
-
-    if ( font_attr.contains( "fontfamily" ) )
-    {
-        QString value = font_attr["fontfamily"];
-        fn.setFamily( value );
-    }
-
-    return fn;
-}
-
-static QFont interpretMathSize( QString value, QFont &fn, int em, int ex, bool *ok )
-{
-    if ( ok != 0 )
-        *ok = true;
-
-    if ( value == "small" )
-    {
-        fn.setPointSize( ( int )( fn.pointSize() * 0.7 ) );
-        return fn;
-    }
-
-    if ( value == "normal" )
-        return fn;
-
-    if ( value == "big" )
-    {
-        fn.setPointSize( ( int )( fn.pointSize() * 1.5 ) );
-        return fn;
-    }
-
-    bool size_ok;
-
-    int ptsize = interpretPointSize( value, &size_ok );
-    if ( size_ok )
-    {
-        fn.setPointSize( ptsize );
-        return fn;
-    }
-
-    int size = interpretSpacing( value, em, ex, &size_ok );
-    if ( size_ok )
-    {
-        fn.setPixelSize( size );
-        return fn;
-    }
-
-    if ( ok != 0 )
-        *ok = false;
-    qWarning( "interpretMathSize(): could not parse mathsize \"%s\"", value.toLatin1().data() );
-    return fn;
-}
-
-/*!
-    \class QwtMathMLDocument
-
-    \brief The QwtMathMLDocument class renders mathematical formulas written in MathML 2.0.
-*/
-
-/*!
-  Constructs an empty MML document.
-*/
-QwtMathMLDocument::QwtMathMLDocument()
-{
-    m_doc = new QwtMmlDocument;
-}
-
-/*!
-  Destroys the MML document.
-*/
-QwtMathMLDocument::~QwtMathMLDocument()
-{
-    delete m_doc;
-}
-
-/*!
-    Clears the contents of this MML document.
-*/
-void QwtMathMLDocument::clear()
-{
-    m_doc->clear();
-}
-
-/*!
-    Sets the MathML expression to be rendered. The expression is given
-    in the string \a text. If the expression is successfully parsed,
-    this method returns true; otherwise it returns false. If an error
-    occured \a errorMsg is set to a diagnostic message, while \a
-    errorLine and \a errorColumn contain the location of the error.
-    Any of \a errorMsg, \a errorLine and \a errorColumn may be 0,
-    in which case they are not set.
-
-    \a text should contain MathML 2.0 presentation markup elements enclosed
-    in a <math> element.
-*/
-bool QwtMathMLDocument::setContent( QString text, QString *errorMsg,
-                                    int *errorLine, int *errorColumn )
-{
-    return m_doc->setContent( text, errorMsg, errorLine, errorColumn );
-}
-
-/*!
-  Renders this MML document with the painter \a p at position \a pos.
-*/
-void QwtMathMLDocument::paint( QPainter *p, const QPoint &pos ) const
-{
-    m_doc->paint( p, pos );
-}
-
-/*!
-    Returns the size of this MML document, as rendered, in pixels.
-*/
-QSize QwtMathMLDocument::size() const
-{
-    return m_doc->size();
-}
-
-/*!
-    Returns the name of the font used to render the font \a type.
-
-    \sa setFontName()  setBaseFontPointSize() baseFontPointSize() QwtMathMLDocument::MmlFont
-*/
-QString QwtMathMLDocument::fontName( QwtMathMLDocument::MmlFont type ) const
-{
-    return m_doc->fontName( type );
-}
-
-/*!
-    Sets the name of the font used to render the font \a type to \a name.
-
-    \sa fontName() setBaseFontPointSize() baseFontPointSize() QwtMathMLDocument::MmlFont
-*/
-void QwtMathMLDocument::setFontName( QwtMathMLDocument::MmlFont type, const QString &name )
-{
-    m_doc->setFontName( type, name );
-}
-
-/*!
-    Returns the point size of the font used to render expressions
-    whose scriptlevel is 0.
-
-    \sa setBaseFontPointSize() fontName() setFontName()
-*/
-int QwtMathMLDocument::baseFontPointSize() const
-{
-    return m_doc->baseFontPointSize();
-}
-
-/*!
-    Sets the point \a size of the font used to render expressions
-    whose scriptlevel is 0.
-
-    \sa baseFontPointSize() fontName() setFontName()
-*/
-void QwtMathMLDocument::setBaseFontPointSize( int size )
-{
-    m_doc->setBaseFontPointSize( size );
-}
diff --git a/SRC/Qwt/textengines/mathml/qwt_mml_document.h b/SRC/Qwt/textengines/mathml/qwt_mml_document.h
deleted file mode 100644
index b5a580d..0000000
--- a/SRC/Qwt/textengines/mathml/qwt_mml_document.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _QWT_MML_DOCUMENT_H_
-#define _QWT_MML_DOCUMENT_H_ 1
-
-#include <qwt_global.h>
-#include <QString>
-
-class QPainter;
-class QPoint;
-
-class QwtMmlDocument;
-
-class QWT_EXPORT QwtMathMLDocument
-{
-public:
-    enum MmlFont
-    {
-        NormalFont,
-        FrakturFont,
-        SansSerifFont,
-        ScriptFont,
-        MonospaceFont,
-        DoublestruckFont
-    };
-
-    QwtMathMLDocument();
-    ~QwtMathMLDocument();
-
-    void clear();
-
-    bool setContent( QString text, QString *errorMsg = 0,
-                     int *errorLine = 0, int *errorColumn = 0 );
-    void paint( QPainter *p, const QPoint &pos ) const;
-    QSize size() const;
-
-    QString fontName( MmlFont type ) const;
-    void setFontName( MmlFont type, const QString &name );
-
-    int baseFontPointSize() const;
-    void setBaseFontPointSize( int size );
-
-private:
-    QwtMmlDocument *m_doc;
-};
-
-#endif
diff --git a/SRC/Qwt/textengines/mathml/qwtmathml.prf b/SRC/Qwt/textengines/mathml/qwtmathml.prf
deleted file mode 100644
index e7e4975..0000000
--- a/SRC/Qwt/textengines/mathml/qwtmathml.prf
+++ /dev/null
@@ -1,29 +0,0 @@
-################################################################
-# Qwt Widget Library
-# Copyright (C) 1997   Josef Wilgen
-# Copyright (C) 2002   Uwe Rathmann
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the Qwt License, Version 1.0
-################################################################
-
-include ( ./qwtconfig.pri )
-include ( ./qwtfunctions.pri )
-
-contains(QWT_CONFIG, QwtDll) {
-
-    DEFINES *= QWT_DLL
-}
-
-QT       *= xml
-
-contains(QWT_CONFIG, QwtFramework) {
-
-    INCLUDEPATH *= $${QWT_INSTALL_LIBS}/qwtmathml.framework/Headers
-}
-else {
-
-    INCLUDEPATH *= $${QWT_INSTALL_HEADERS}
-}
-
-qwtAddLibrary($${QWT_INSTALL_LIBS}, qwtmathml)
diff --git a/SRC/Qwt/textengines/textengines.pri b/SRC/Qwt/textengines/textengines.pri
deleted file mode 100644
index 00c12d2..0000000
--- a/SRC/Qwt/textengines/textengines.pri
+++ /dev/null
@@ -1,43 +0,0 @@
-################################################################
-# Qwt Widget Library
-# Copyright (C) 1997   Josef Wilgen
-# Copyright (C) 2002   Uwe Rathmann
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the Qwt License, Version 1.0
-################################################################
-
-QWT_ROOT = $${PWD}/..
-
-include( $${QWT_ROOT}/qwtconfig.pri )
-include( $${QWT_ROOT}/qwtbuild.pri )
-include( $${QWT_ROOT}/qwtfunctions.pri )
-
-QWT_OUT_ROOT = $${OUT_PWD}/../..
-
-TEMPLATE  = lib
-
-DESTDIR         = $${QWT_OUT_ROOT}/lib
-INCLUDEPATH    += $${QWT_ROOT}/src
-DEPENDPATH     += $${QWT_ROOT}/src
-
-contains(QWT_CONFIG, QwtDll) {
-    CONFIG += dll
-    win32|symbian: DEFINES += QT_DLL QWT_DLL QWT_MAKEDLL
-}   
-else {
-    CONFIG += staticlib
-}
-
-contains(QWT_CONFIG, QwtFramework) {
-
-    CONFIG += lib_bundle
-}
-
-qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt)
-
-# Install directives
-
-target.path    = $${QWT_INSTALL_LIBS}
-
-INSTALLS       = target 
diff --git a/SRC/Qwt/textengines/textengines.pro b/SRC/Qwt/textengines/textengines.pro
deleted file mode 100644
index 8ac7ed5..0000000
--- a/SRC/Qwt/textengines/textengines.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-################################################################
-# Qwt Widget Library
-# Copyright (C) 1997   Josef Wilgen
-# Copyright (C) 2002   Uwe Rathmann
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the Qwt License, Version 1.0
-################################################################
-
-include( $${PWD}/../qwtconfig.pri )
-
-TEMPLATE = subdirs
-
-contains(QWT_CONFIG, QwtMathML) {
-    SUBDIRS += mathml 
-}
diff --git a/SRC/Serialization/#tracking_enum.hpp# b/SRC/Serialization/#tracking_enum.hpp#
new file mode 100755
index 0000000..0746590
--- /dev/null
+++ b/SRC/Serialization/#tracking_enum.hpp#
@@ -0,0 +1,41 @@
+#ifndef BOOST_SERIALIZATION_TRACKING_ENUM_HPP
+#define BOOST_SERIALIZATION_TRACKING_ENUM_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// tracking_enum.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+namespace boost {
+namespace serialization {
+
+// addresses of serialized objects may be tracked to avoid saving/loading
+// redundant copies.  This header defines a class trait that can be used
+// to specify when objects should be tracked
+
+// names for each tracking level
+enum tracking_type
+{
+    // never track this type
+    track_never = 0,
+    // track objects of this type if the object is serialized through a 
+    // pointer.
+    track_selectively = 1,
+    // always track this type
+    track_always = 2
+};
+l
+} // namespace serialization
+} // namespace boost
+
+#endif // BOOST_SERIALIZATION_TRACKING_ENUM_HPP
diff --git a/SRC/Serialization/Serialization.pro b/SRC/Serialization/Serialization.pro
new file mode 100644
index 0000000..01cf1d2
--- /dev/null
+++ b/SRC/Serialization/Serialization.pro
@@ -0,0 +1,67 @@
+######################################################################
+# qmake internal options
+######################################################################
+
+CONFIG           += qt     
+CONFIG           += warn_on
+CONFIG           += no_keywords
+CONFIG           += silent
+CONFIG           += release
+CONFIG           += staticlib
+
+TEMPLATE  = lib
+TARGET    = ./BUILD/serialization
+DESTDIR   = ./
+
+QMAKE_CXXFLAGS +=-w -D CH_API_COMPILE
+
+OBJECTS_DIR = ./BUILD/obj
+
+INCLUDEPATH = ../ 
+
+CONFIG += c++11
+
+SOURCES += ./src/binary_oarchive.cpp \
+./src/basic_pointer_iserializer.cpp  \
+./src/extended_type_info_typeid.cpp  \
+./src/xml_oarchive.cpp  \
+./src/xml_iarchive.cpp \
+./src/binary_woarchive.cpp \
+./src/codecvt_null.cpp \
+./src/binary_wiarchive.cpp \
+./src/text_woarchive.cpp \
+./src/shared_ptr_helper.cpp \
+./src/basic_xml_archive.cpp \
+./src/basic_oarchive.cpp \
+./src/binary_iarchive.cpp \
+./src/archive_exception.cpp \
+./src/stl_port.cpp \
+./src/basic_iarchive.cpp \
+./src/xml_archive_exception.cpp \
+./src/extended_type_info.cpp \
+./src/basic_text_woprimitive.cpp \
+./src/void_cast.cpp \
+./src/basic_text_wiprimitive.cpp \
+./src/basic_iserializer.cpp \
+./src/polymorphic_oarchive.cpp \
+./src/basic_archive.cpp \
+./src/text_iarchive.cpp \
+./src/xml_woarchive.cpp \
+./src/xml_wiarchive.cpp \
+./src/basic_pointer_oserializer.cpp \
+./src/xml_grammar.cpp \
+./src/basic_text_oprimitive.cpp \
+./src/utf8_codecvt_facet.cpp \
+./src/polymorphic_iarchive.cpp \
+./src/basic_text_iprimitive.cpp \
+./src/text_oarchive.cpp \
+./src/basic_oserializer.cpp \
+./src/basic_serializer_map.cpp \
+./src/extended_type_info_no_rtti.cpp \
+./src/xml_wgrammar.cpp \
+./src/text_wiarchive.cpp
+
+target.path = ./BUILD/lib
+include.path = ./BUILD/include/Serialization
+include.files = $${HEADERS}
+INSTALLS *= target
diff --git a/SRC/Serialization/access.hpp b/SRC/Serialization/access.hpp
new file mode 100755
index 0000000..d682fde
--- /dev/null
+++ b/SRC/Serialization/access.hpp
@@ -0,0 +1,147 @@
+#ifndef BOOST_SERIALIZATION_ACCESS_HPP
+#define BOOST_SERIALIZATION_ACCESS_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// access.hpp: interface for serialization system.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#include <Serialization/pfto.hpp>
+
+namespace boost {
+
+namespace archive {
+namespace detail {
+    template<class Archive, class T>
+    class iserializer;
+    template<class Archive, class T>
+    class oserializer;
+} // namespace detail
+} // namespace archive
+
+namespace serialization {
+
+// forward declarations
+template<class Archive, class T>
+inline void serialize_adl(Archive &, T &, const unsigned int);
+namespace detail {
+    template<class Archive, class T>
+    struct member_saver;
+    template<class Archive, class T>
+    struct member_loader;
+} // namespace detail
+
+// use an "accessor class so that we can use: 
+// "friend class boost::serialization::access;" 
+// in any serialized class to permit clean, safe access to private class members
+// by the serialization system
+
+class access {
+public:
+    // grant access to "real" serialization defaults
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    template<class Archive, class T>
+    friend struct detail::member_saver;
+    template<class Archive, class T>
+    friend struct detail::member_loader;
+    template<class Archive, class T>
+    friend class archive::detail::iserializer;
+    template<class Archive, class T>
+    friend class archive::detail::oserializer;
+    template<class Archive, class T>
+    friend inline void serialize(
+        Archive & ar, 
+        T & t, 
+        const BOOST_PFTO unsigned int file_version
+    );
+    template<class Archive, class T>
+    friend inline void save_construct_data(
+        Archive & ar, 
+        const T * t, 
+        const BOOST_PFTO unsigned int file_version
+    );
+    template<class Archive, class T>
+    friend inline void load_construct_data(
+        Archive & ar, 
+        T * t, 
+        const BOOST_PFTO unsigned int file_version
+    );
+#endif
+
+    // pass calls to users's class implementation
+    template<class Archive, class T>
+    static void member_save(
+        Archive & ar, 
+        //const T & t,
+        T & t,
+        const unsigned int file_version
+    ){
+        t.save(ar, file_version);
+    }
+    template<class Archive, class T>
+    static void member_load(
+        Archive & ar, 
+        T & t,
+        const unsigned int file_version
+    ){
+        t.load(ar, file_version);
+    }
+    template<class Archive, class T>
+    static void serialize(
+        Archive & ar, 
+        T & t, 
+        const unsigned int file_version
+    ){
+        // note: if you get a compile time error here with a
+        // message something like:
+        // cannot convert parameter 1 from <file type 1> to <file type 2 &>
+        // a likely possible cause is that the class T contains a 
+        // serialize function - but that serialize function isn't 
+        // a template and corresponds to a file type different than
+        // the class Archive.  To resolve this, don't include an
+        // archive type other than that for which the serialization
+        // function is defined!!!
+        t.serialize(ar, file_version);
+    }
+    template<class T>
+    static void destroy( const T * t) // const appropriate here?
+    {
+        // the const business is an MSVC 6.0 hack that should be
+        // benign on everything else
+        delete const_cast<T *>(t);
+    }
+    template<class T>
+    static void construct(T * t){
+        // default is inplace invocation of default constructor
+        // Note the :: before the placement new. Required if the
+        // class doesn't have a class-specific placement new defined.
+        ::new(t)T;
+    }
+    template<class T, class U>
+    static T & cast_reference(U & u){
+        return static_cast<T &>(u);
+    }
+    template<class T, class U>
+    static T * cast_pointer(U * u){
+        return static_cast<T *>(u);
+    }
+};
+
+} // namespace serialization
+} // namespace boost
+
+#endif // BOOST_SERIALIZATION_ACCESS_HPP
diff --git a/SRC/Boost/boost/archive/add_facet.hpp b/SRC/Serialization/archive/add_facet.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/add_facet.hpp
rename to SRC/Serialization/archive/add_facet.hpp
diff --git a/SRC/Serialization/archive/archive_exception.hpp b/SRC/Serialization/archive/archive_exception.hpp
new file mode 100755
index 0000000..c458dac
--- /dev/null
+++ b/SRC/Serialization/archive/archive_exception.hpp
@@ -0,0 +1,97 @@
+#ifndef BOOST_ARCHIVE_ARCHIVE_EXCEPTION_HPP
+#define BOOST_ARCHIVE_ARCHIVE_EXCEPTION_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// archive/archive_exception.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <exception>
+#include <boost/assert.hpp>
+#include <string>
+
+#include <boost/config.hpp> 
+#include <boost/preprocessor/empty.hpp>
+#include <Serialization/archive/detail/decl.hpp>
+
+// note: the only reason this is in here is that windows header
+// includes #define exception_code _exception_code (arrrgghhhh!).
+// the most expedient way to address this is be sure that this
+// header is always included whenever this header file is included.
+#if defined(BOOST_WINDOWS) 
+#include <excpt.h> 
+#endif 
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+namespace archive {
+
+//////////////////////////////////////////////////////////////////////
+// exceptions thrown by archives
+//
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) archive_exception : 
+    public virtual std::exception
+{
+public:
+    typedef enum {
+        no_exception,       // initialized without code
+        other_exception,    // any excepton not listed below
+        unregistered_class, // attempt to serialize a pointer of an
+                            // an unregistered class
+        invalid_signature,  // first line of archive does not contain
+                            // expected string
+        unsupported_version,// archive created with library version
+                            // subsequent to this one
+        pointer_conflict,   // an attempt has been made to directly
+                            // serialize an object which has
+                            // already been serialzed through a pointer.  
+                            // Were this permited, the archive load would result 
+                            // in the creation of an extra copy of the obect.
+        incompatible_native_format, // attempt to read native binary format
+                            // on incompatible platform
+        array_size_too_short,// array being loaded doesn't fit in array allocated
+        input_stream_error, // error on input stream
+        invalid_class_name, // class name greater than the maximum permitted.
+                            // most likely a corrupted archive or an attempt
+                            // to insert virus via buffer overrun method.
+        unregistered_cast,   // base - derived relationship not registered with 
+                            // void_cast_register
+        unsupported_class_version, // type saved with a version # greater than the 
+                            // one used by the program.  This indicates that the proggram
+                            // needs to be rebuilt.
+        multiple_code_instantiation, // code for implementing serialization for some
+                            // type has been instantiated in more than one module.
+        output_stream_error // error on input stream
+    } exception_code;
+protected:
+    std::string m_msg;
+public:
+    exception_code code;
+    archive_exception(
+        exception_code c, 
+        const char * e1 = NULL,
+        const char * e2 = NULL
+    );
+    ~archive_exception() throw ();
+    virtual const char *what( ) const throw();
+protected:
+    archive_exception();
+};
+
+}// namespace archive
+}// namespace boost
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif //BOOST_ARCHIVE_ARCHIVE_EXCEPTION_HPP
diff --git a/SRC/Serialization/archive/basic_archive.hpp b/SRC/Serialization/archive/basic_archive.hpp
new file mode 100755
index 0000000..c804b62
--- /dev/null
+++ b/SRC/Serialization/archive/basic_archive.hpp
@@ -0,0 +1,300 @@
+#ifndef BOOST_ARCHIVE_BASIC_ARCHIVE_HPP
+#define BOOST_ARCHIVE_BASIC_ARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_archive.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+#include <boost/config.hpp>
+#include <boost/cstdint.hpp> // size_t
+#include <boost/noncopyable.hpp>
+#include <boost/integer_traits.hpp>
+
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+namespace archive {
+
+#if defined(_MSC_VER)
+#pragma warning( push )
+#pragma warning( disable : 4244 4267 )
+#endif
+
+/* NOTE : Warning  : Warning : Warning : Warning : Warning
+ * Don't ever changes this.  If you do, they previously created
+ * binary archives won't be readable !!!
+ */
+class library_version_type {
+private:
+    typedef uint_least16_t base_type;
+    base_type t;
+public:
+    library_version_type(): t(0) {};
+    explicit library_version_type(const unsigned int & t_) : t(t_){
+        BOOST_ASSERT(t_ <= boost::integer_traits<base_type>::const_max);
+    }
+    library_version_type(const library_version_type & t_) : 
+        t(t_.t)
+    {}
+    library_version_type & operator=(const library_version_type & rhs){
+        t = rhs.t; 
+        return *this;
+    }
+    // used for text output
+    operator base_type () const {
+        return t;
+    }                
+    // used for text input
+    operator base_type & (){
+        return t;
+    }                
+    bool operator==(const library_version_type & rhs) const {
+        return t == rhs.t;
+    } 
+    bool operator<(const library_version_type & rhs) const {
+        return t < rhs.t;
+    }   
+};
+
+BOOST_ARCHIVE_DECL(library_version_type)
+BOOST_ARCHIVE_VERSION();
+
+class version_type {
+private:
+    typedef uint_least32_t base_type;
+    base_type t;
+public:
+    // should be private - but MPI fails if it's not!!!
+    version_type(): t(0) {};
+    explicit version_type(const unsigned int & t_) : t(t_){
+        BOOST_ASSERT(t_ <= boost::integer_traits<base_type>::const_max);
+    }
+    version_type(const version_type & t_) : 
+        t(t_.t)
+    {}
+    version_type & operator=(const version_type & rhs){
+        t = rhs.t; 
+        return *this;
+    }
+    // used for text output
+    operator base_type () const {
+        return t;
+    }                
+    // used for text intput
+    operator base_type  & (){
+        return t;
+    }                
+    bool operator==(const version_type & rhs) const {
+        return t == rhs.t;
+    } 
+    bool operator<(const version_type & rhs) const {
+        return t < rhs.t;
+    }   
+};
+
+class class_id_type {
+private:
+    typedef int_least16_t base_type;
+    base_type t;
+public:
+    // should be private - but then can't use BOOST_STRONG_TYPE below
+    class_id_type() : t(0) {};
+    explicit class_id_type(const int t_) : t(t_){
+        BOOST_ASSERT(t_ <= boost::integer_traits<base_type>::const_max);
+    }
+    explicit class_id_type(const std::size_t t_) : t(t_){
+ //       BOOST_ASSERT(t_ <= boost::integer_traits<base_type>::const_max);
+    }
+    class_id_type(const class_id_type & t_) : 
+        t(t_.t)
+    {}
+    class_id_type & operator=(const class_id_type & rhs){
+        t = rhs.t; 
+        return *this;
+    }
+
+    // used for text output
+    operator int () const {
+        return t;
+    }                
+    // used for text input
+    operator int_least16_t &() {
+        return t;
+    }                
+    bool operator==(const class_id_type & rhs) const {
+        return t == rhs.t;
+    } 
+    bool operator<(const class_id_type & rhs) const {
+        return t < rhs.t;
+    }   
+};
+
+#define NULL_POINTER_TAG boost::archive::class_id_type(-1)
+
+class object_id_type {
+private:
+    typedef uint_least32_t base_type;
+    base_type t;
+public:
+    object_id_type(): t(0) {};
+    explicit object_id_type(const unsigned int & t_) : t(t_){
+        BOOST_ASSERT(t_ <= boost::integer_traits<base_type>::const_max);
+    }
+    object_id_type(const object_id_type & t_) : 
+        t(t_.t)
+    {}
+    object_id_type & operator=(const object_id_type & rhs){
+        t = rhs.t; 
+        return *this;
+    }
+    // used for text output
+    operator uint_least32_t () const {
+        return t;
+    }                
+    // used for text input
+    operator uint_least32_t & () {
+        return t;
+    }                
+    bool operator==(const object_id_type & rhs) const {
+        return t == rhs.t;
+    } 
+    bool operator<(const object_id_type & rhs) const {
+        return t < rhs.t;
+    }   
+};
+
+#if defined(_MSC_VER)
+#pragma warning( pop )
+#endif
+
+struct tracking_type {
+    bool t;
+    explicit tracking_type(const bool t_ = false)
+        : t(t_)
+    {};
+    tracking_type(const tracking_type & t_)
+        : t(t_.t)
+    {}
+    operator bool () const {
+        return t;
+    };
+    operator bool & () {
+        return t;
+    };
+    tracking_type & operator=(const bool t_){
+        t = t_;
+        return *this;
+    }
+    bool operator==(const tracking_type & rhs) const {
+        return t == rhs.t;
+    }
+    bool operator==(const bool & rhs) const {
+        return t == rhs;
+    }
+    tracking_type & operator=(const tracking_type & rhs){
+        t = rhs.t;
+        return *this;
+    }
+};
+
+struct class_name_type : 
+    private boost::noncopyable 
+{
+    char *t;
+    operator const char * & () const {
+        return const_cast<const char * &>(t);
+    }
+    operator char * () {
+        return t;
+    }
+    explicit class_name_type(const char *key_) 
+    : t(const_cast<char *>(key_)){}
+    explicit class_name_type(char *key_) 
+    : t(key_){}
+    class_name_type & operator=(const class_name_type & rhs){
+        t = rhs.t;
+        return *this;
+    }
+};
+
+enum archive_flags {
+    no_header = 1,  // suppress archive header info
+    no_codecvt = 2,  // suppress alteration of codecvt facet
+    no_xml_tag_checking = 4,   // suppress checking of xml tags
+    no_tracking = 8,           // suppress ALL tracking
+    flags_last = 8
+};
+
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_SIGNATURE();
+
+/* NOTE : Warning  : Warning : Warning : Warning : Warning
+ * If any of these are changed to different sized types, 
+ * binary_iarchive won't be able to read older archives
+ * unless you rev the library version and include conditional
+ * code based on the library version.  There is nothing
+ * inherently wrong in doing this - but you have to be super
+ * careful because it's easy to get wrong and start breaking
+ * old archives !!!
+ */
+
+#define BOOST_ARCHIVE_STRONG_TYPEDEF(T, D)         \
+    class D : public T {                           \
+    public:                                        \
+        explicit D(const T tt) : T(tt){}           \
+    };                                             \
+/**/
+
+BOOST_ARCHIVE_STRONG_TYPEDEF(class_id_type, class_id_reference_type)
+BOOST_ARCHIVE_STRONG_TYPEDEF(class_id_type, class_id_optional_type)
+BOOST_ARCHIVE_STRONG_TYPEDEF(object_id_type, object_reference_type)
+
+}// namespace archive
+}// namespace boost
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#include <Serialization/level.hpp>
+
+// set implementation level to primitive for all types
+// used internally by the serialization library
+
+BOOST_CLASS_IMPLEMENTATION(boost::archive::library_version_type, primitive_type)
+BOOST_CLASS_IMPLEMENTATION(boost::archive::version_type, primitive_type)
+BOOST_CLASS_IMPLEMENTATION(boost::archive::class_id_type, primitive_type)
+BOOST_CLASS_IMPLEMENTATION(boost::archive::class_id_reference_type, primitive_type)
+BOOST_CLASS_IMPLEMENTATION(boost::archive::class_id_optional_type, primitive_type)
+BOOST_CLASS_IMPLEMENTATION(boost::archive::class_name_type, primitive_type)
+BOOST_CLASS_IMPLEMENTATION(boost::archive::object_id_type, primitive_type)
+BOOST_CLASS_IMPLEMENTATION(boost::archive::object_reference_type, primitive_type)
+BOOST_CLASS_IMPLEMENTATION(boost::archive::tracking_type, primitive_type)
+
+#include <Serialization/is_bitwise_serializable.hpp>
+
+// set types used internally by the serialization library 
+// to be bitwise serializable
+
+BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::library_version_type)
+BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::version_type)
+BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::class_id_type)
+BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::class_id_reference_type)
+BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::class_id_optional_type)
+BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::class_name_type)
+BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::object_id_type)
+BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::object_reference_type)
+BOOST_IS_BITWISE_SERIALIZABLE(boost::archive::tracking_type)
+
+#endif //BOOST_ARCHIVE_BASIC_ARCHIVE_HPP
diff --git a/SRC/Serialization/archive/basic_binary_iarchive.hpp b/SRC/Serialization/archive/basic_binary_iarchive.hpp
new file mode 100755
index 0000000..b3cdf5e
--- /dev/null
+++ b/SRC/Serialization/archive/basic_binary_iarchive.hpp
@@ -0,0 +1,222 @@
+#ifndef BOOST_ARCHIVE_BASIC_BINARY_IARCHIVE_HPP
+#define BOOST_ARCHIVE_BASIC_BINARY_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_binary_iarchive.hpp
+//
+// archives stored as native binary - this should be the fastest way
+// to archive the state of a group of obects.  It makes no attempt to
+// convert to any canonical form.
+
+// IN GENERAL, ARCHIVES CREATED WITH THIS CLASS WILL NOT BE READABLE
+// ON PLATFORM APART FROM THE ONE THEY ARE CREATED ON
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+#include <Serialization/pfto.hpp>
+
+#include <Serialization/archive/basic_archive.hpp>
+#include <Serialization/archive/detail/common_iarchive.hpp>
+#include <Serialization/collection_size_type.hpp>
+#include <Serialization/string.hpp>
+#include <Serialization/item_version_type.hpp>
+#include <boost/integer_traits.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost { 
+namespace archive {
+
+/////////////////////////////////////////////////////////////////////////
+// class basic_binary_iarchive - read serialized objects from a input binary stream
+template<class Archive>
+class basic_binary_iarchive : 
+    public detail::common_iarchive<Archive>
+{
+protected:
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+public:
+#elif defined(BOOST_MSVC)
+    // for some inexplicable reason insertion of "class" generates compile erro
+    // on msvc 7.1
+    friend detail::interface_iarchive<Archive>;
+#else
+    friend class detail::interface_iarchive<Archive>;
+#endif
+    // intermediate level to support override of operators
+    // fot templates in the absence of partial function 
+    // template ordering. If we get here pass to base class
+    // note extra nonsense to sneak it pass the borland compiers
+    typedef detail::common_iarchive<Archive> detail_common_iarchive;
+    template<class T>
+    void load_override(T & t, BOOST_PFTO int version){
+      this->detail_common_iarchive::load_override(t, static_cast<int>(version));
+    }
+
+    // include these to trap a change in binary format which
+    // isn't specifically handled
+    // upto 32K classes
+    BOOST_STATIC_ASSERT(sizeof(class_id_type) == sizeof(int_least16_t));
+    BOOST_STATIC_ASSERT(sizeof(class_id_reference_type) == sizeof(int_least16_t));
+    // upto 2G objects
+    BOOST_STATIC_ASSERT(sizeof(object_id_type) == sizeof(uint_least32_t));
+    BOOST_STATIC_ASSERT(sizeof(object_reference_type) == sizeof(uint_least32_t));
+
+    // binary files don't include the optional information 
+    void load_override(class_id_optional_type & /* t */, int){}
+
+    void load_override(tracking_type & t, int /*version*/){
+        library_version_type lvt = this->get_library_version();
+        if(boost::archive::library_version_type(6) < lvt){
+            int_least8_t x=0;
+            * this->This() >> x;
+            t = boost::archive::tracking_type(x);
+        }
+        else{
+            bool x=0;
+            * this->This() >> x;
+            t = boost::archive::tracking_type(x);
+        }
+    }
+    void load_override(class_id_type & t, int version){
+        library_version_type lvt = this->get_library_version();
+        if(boost::archive::library_version_type(7) < lvt){
+            this->detail_common_iarchive::load_override(t, version);
+        }
+        else
+        if(boost::archive::library_version_type(6) < lvt){
+            int_least16_t x=0;
+            * this->This() >> x;
+            t = boost::archive::class_id_type(x);
+        }
+        else{
+            int x=0;
+            * this->This() >> x;
+            t = boost::archive::class_id_type(x);
+        }
+    }
+    void load_override(class_id_reference_type & t, int version){
+        load_override(static_cast<class_id_type &>(t), version);
+    }
+#if 0
+    void load_override(class_id_reference_type & t, int version){
+        library_version_type lvt = this->get_library_version();
+        if(boost::archive::library_version_type(7) < lvt){
+            this->detail_common_iarchive::load_override(t, version);
+        }
+        else
+        if(boost::archive::library_version_type(6) < lvt){
+            int_least16_t x=0;
+            * this->This() >> x;
+            t = boost::archive::class_id_reference_type(
+                boost::archive::class_id_type(x)
+            );
+        }
+        else{
+            int x=0;
+            * this->This() >> x;
+            t = boost::archive::class_id_reference_type(
+                boost::archive::class_id_type(x)
+            );
+        }
+    }
+#endif
+
+    void load_override(version_type & t, int version){
+        library_version_type lvt = this->get_library_version();
+        if(boost::archive::library_version_type(7) < lvt){
+            this->detail_common_iarchive::load_override(t, version);
+        }
+        else
+        if(boost::archive::library_version_type(6) < lvt){
+            uint_least8_t x=0;
+            * this->This() >> x;
+            t = boost::archive::version_type(x);
+        }
+        else
+        if(boost::archive::library_version_type(5) < lvt){
+            uint_least16_t x=0;
+            * this->This() >> x;
+            t = boost::archive::version_type(x);
+        }
+        else
+        if(boost::archive::library_version_type(2) < lvt){
+            // upto 255 versions
+            unsigned char x=0;
+            * this->This() >> x;
+            t = version_type(x);
+        }
+        else{
+            unsigned int x=0;
+            * this->This() >> x;
+            t = boost::archive::version_type(x);
+        }
+    }
+
+    void load_override(boost::serialization::item_version_type & t, int version){
+        library_version_type lvt = this->get_library_version();
+//        if(boost::archive::library_version_type(7) < lvt){
+        if(boost::archive::library_version_type(6) < lvt){
+            this->detail_common_iarchive::load_override(t, version);
+        }
+        else
+        if(boost::archive::library_version_type(6) < lvt){
+            uint_least16_t x=0;
+            * this->This() >> x;
+            t = boost::serialization::item_version_type(x);
+        }
+        else{
+            unsigned int x=0;
+            * this->This() >> x;
+            t = boost::serialization::item_version_type(x);
+        }
+    }
+
+    void load_override(serialization::collection_size_type & t, int version){
+        if(boost::archive::library_version_type(5) < this->get_library_version()){
+            this->detail_common_iarchive::load_override(t, version);
+        }
+        else{
+            unsigned int x=0;
+            * this->This() >> x;
+            t = serialization::collection_size_type(x);
+        } 
+    }
+
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load_override(class_name_type & t, int);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    init();
+   
+    basic_binary_iarchive(unsigned int flags) :
+        detail::common_iarchive<Archive>(flags)
+    {}
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_BASIC_BINARY_IARCHIVE_HPP
diff --git a/SRC/Serialization/archive/basic_binary_iprimitive.hpp b/SRC/Serialization/archive/basic_binary_iprimitive.hpp
new file mode 100755
index 0000000..d563daa
--- /dev/null
+++ b/SRC/Serialization/archive/basic_binary_iprimitive.hpp
@@ -0,0 +1,190 @@
+#ifndef BOOST_ARCHIVE_BINARY_IPRIMITIVE_HPP
+#define BOOST_ARCHIVE_BINARY_IPRIMITIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+#if defined(_MSC_VER)
+#pragma warning( disable : 4800 )
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_binary_iprimitive.hpp
+//
+// archives stored as native binary - this should be the fastest way
+// to archive the state of a group of obects.  It makes no attempt to
+// convert to any canonical form.
+
+// IN GENERAL, ARCHIVES CREATED WITH THIS CLASS WILL NOT BE READABLE
+// ON PLATFORM APART FROM THE ONE THEY ARE CREATED ON
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <iosfwd>
+#include <boost/assert.hpp>
+#include <locale>
+#include <cstring> // std::memcpy
+#include <cstddef> // std::size_t
+#include <streambuf> // basic_streambuf
+#include <string>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::memcpy; 
+    using ::size_t;
+} // namespace std
+#endif
+
+#include <boost/cstdint.hpp>
+#include <boost/scoped_ptr.hpp>
+#include <Serialization/throw_exception.hpp>
+#include <boost/integer.hpp>
+#include <boost/integer_traits.hpp>
+
+#include <Serialization/archive/basic_streambuf_locale_saver.hpp>
+#include <Serialization/archive/archive_exception.hpp>
+#include <boost/mpl/placeholders.hpp>
+#include <Serialization/is_bitwise_serializable.hpp>
+#include <Serialization/array.hpp>
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost { 
+namespace archive {
+
+/////////////////////////////////////////////////////////////////////////////
+// class binary_iarchive - read serialized objects from a input binary stream
+template<class Archive, class Elem, class Tr>
+class basic_binary_iprimitive
+{
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+    friend class load_access;
+protected:
+#else
+public:
+#endif
+    std::basic_streambuf<Elem, Tr> & m_sb;
+    // return a pointer to the most derived class
+    Archive * This(){
+        return static_cast<Archive *>(this);
+    }
+
+    #ifndef BOOST_NO_STD_LOCALE
+    boost::scoped_ptr<std::locale> archive_locale;
+    basic_streambuf_locale_saver<Elem, Tr> locale_saver;
+    #endif
+
+    // main template for serilization of primitive types
+    template<class T>
+    void load(T & t){
+        load_binary(& t, sizeof(T));
+    }
+
+    /////////////////////////////////////////////////////////
+    // fundamental types that need special treatment
+    
+    // trap usage of invalid uninitialized boolean 
+    void load(bool & t){
+        load_binary(& t, sizeof(t));
+        int i = t;
+        BOOST_ASSERT(0 == i || 1 == i);
+        (void)i; // warning suppression for release builds.
+    }
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load(std::string &s);
+    #ifndef BOOST_NO_STD_WSTRING
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load(std::wstring &ws);
+    #endif
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load(char * t);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load(wchar_t * t);
+
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    init();
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    basic_binary_iprimitive(
+        std::basic_streambuf<Elem, Tr> & sb, 
+        bool no_codecvt
+    );
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    ~basic_binary_iprimitive();
+public:
+    // we provide an optimized load for all fundamental types
+    // typedef serialization::is_bitwise_serializable<mpl::_1> 
+    // use_array_optimization;
+    struct use_array_optimization {  
+        template <class T>  
+        #if defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)  
+            struct apply {  
+                typedef BOOST_DEDUCED_TYPENAME boost::serialization::is_bitwise_serializable< T >::type type;  
+            };
+        #else
+            struct apply : public boost::serialization::is_bitwise_serializable< T > {};  
+        #endif
+    };
+
+    // the optimized load_array dispatches to load_binary 
+    template <class ValueType>
+    void load_array(serialization::array<ValueType>& a, unsigned int)
+    {
+      load_binary(a.address(),a.count()*sizeof(ValueType));
+    }
+
+    void
+    load_binary(void *address, std::size_t count);
+};
+
+template<class Archive, class Elem, class Tr>
+inline void
+basic_binary_iprimitive<Archive, Elem, Tr>::load_binary(
+    void *address, 
+    std::size_t count
+){
+    // note: an optimizer should eliminate the following for char files
+    BOOST_ASSERT(
+        static_cast<std::streamsize>(count / sizeof(Elem)) 
+        <= boost::integer_traits<std::streamsize>::const_max
+    );
+    std::streamsize s = static_cast<std::streamsize>(count / sizeof(Elem));
+    std::streamsize scount = m_sb.sgetn(
+        static_cast<Elem *>(address), 
+        s
+    );
+    if(scount != s)
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::input_stream_error)
+        );
+    // note: an optimizer should eliminate the following for char files
+    BOOST_ASSERT(count % sizeof(Elem) <= boost::integer_traits<std::streamsize>::const_max);
+    s = static_cast<std::streamsize>(count % sizeof(Elem));
+    if(0 < s){
+//        if(is.fail())
+//            boost::serialization::throw_exception(
+//                archive_exception(archive_exception::stream_error)
+//        );
+        Elem t;
+        scount = m_sb.sgetn(& t, 1);
+        if(scount != 1)
+            boost::serialization::throw_exception(
+                archive_exception(archive_exception::input_stream_error)
+            );
+        std::memcpy(static_cast<char*>(address) + (count - s), &t, s);
+    }
+}
+
+} // namespace archive
+} // namespace boost
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pop pragmas
+
+#endif // BOOST_ARCHIVE_BINARY_IPRIMITIVE_HPP
diff --git a/SRC/Serialization/archive/basic_binary_oarchive.hpp b/SRC/Serialization/archive/basic_binary_oarchive.hpp
new file mode 100755
index 0000000..7e8fef6
--- /dev/null
+++ b/SRC/Serialization/archive/basic_binary_oarchive.hpp
@@ -0,0 +1,180 @@
+#ifndef BOOST_ARCHIVE_BASIC_BINARY_OARCHIVE_HPP
+#define BOOST_ARCHIVE_BASIC_BINARY_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_binary_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// archives stored as native binary - this should be the fastest way
+// to archive the state of a group of obects.  It makes no attempt to
+// convert to any canonical form.
+
+// IN GENERAL, ARCHIVES CREATED WITH THIS CLASS WILL NOT BE READABLE
+// ON PLATFORM APART FROM THE ONE THEY ARE CREATE ON
+
+#include <boost/assert.hpp>
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+#include <Serialization/pfto.hpp>
+
+#include <boost/integer.hpp>
+#include <boost/integer_traits.hpp>
+
+#include <Serialization/archive/detail/common_oarchive.hpp>
+#include <Serialization/string.hpp>
+#include <Serialization/collection_size_type.hpp>
+#include <Serialization/item_version_type.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace archive {
+
+//////////////////////////////////////////////////////////////////////
+// class basic_binary_oarchive - write serialized objects to a binary output stream
+// note: this archive has no pretensions to portability.  Archive format
+// may vary across machine architectures and compilers.  About the only
+// guarentee is that an archive created with this code will be readable
+// by a program built with the same tools for the same machne.  This class
+// does have the virtue of buiding the smalles archive in the minimum amount
+// of time.  So under some circumstances it may be he right choice.
+template<class Archive>
+class basic_binary_oarchive : 
+    public archive::detail::common_oarchive<Archive>
+{
+protected:
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+public:
+#elif defined(BOOST_MSVC)
+    // for some inexplicable reason insertion of "class" generates compile erro
+    // on msvc 7.1
+    friend detail::interface_oarchive<Archive>;
+#else
+    friend class detail::interface_oarchive<Archive>;
+#endif
+    // any datatype not specifed below will be handled by base class
+    typedef detail::common_oarchive<Archive> detail_common_oarchive;
+    template<class T>
+    void save_override(const T & t, BOOST_PFTO int version){
+      this->detail_common_oarchive::save_override(t, static_cast<int>(version));
+    }
+
+    // include these to trap a change in binary format which
+    // isn't specifically handled
+    BOOST_STATIC_ASSERT(sizeof(tracking_type) == sizeof(bool));
+    // upto 32K classes
+    BOOST_STATIC_ASSERT(sizeof(class_id_type) == sizeof(int_least16_t));
+    BOOST_STATIC_ASSERT(sizeof(class_id_reference_type) == sizeof(int_least16_t));
+    // upto 2G objects
+    BOOST_STATIC_ASSERT(sizeof(object_id_type) == sizeof(uint_least32_t));
+    BOOST_STATIC_ASSERT(sizeof(object_reference_type) == sizeof(uint_least32_t));
+
+    // binary files don't include the optional information 
+    void save_override(const class_id_optional_type & /* t */, int){}
+
+    // enable this if we decide to support generation of previous versions
+    #if 0
+    void save_override(const boost::archive::version_type & t, int version){
+        library_version_type lvt = this->get_library_version();
+        if(boost::archive::library_version_type(7) < lvt){
+            this->detail_common_oarchive::save_override(t, version);
+        }
+        else
+        if(boost::archive::library_version_type(6) < lvt){
+            const boost::uint_least16_t x = t;
+            * this->This() << x;
+        }
+        else{
+            const unsigned int x = t;
+            * this->This() << x;
+        }
+    }
+    void save_override(const boost::serialization::item_version_type & t, int version){
+        library_version_type lvt = this->get_library_version();
+        if(boost::archive::library_version_type(7) < lvt){
+            this->detail_common_oarchive::save_override(t, version);
+        }
+        else
+        if(boost::archive::library_version_type(6) < lvt){
+            const boost::uint_least16_t x = t;
+            * this->This() << x;
+        }
+        else{
+            const unsigned int x = t;
+            * this->This() << x;
+        }
+    }
+
+    void save_override(class_id_type & t, int version){
+        library_version_type lvt = this->get_library_version();
+        if(boost::archive::library_version_type(7) < lvt){
+            this->detail_common_oarchive::save_override(t, version);
+        }
+        else
+        if(boost::archive::library_version_type(6) < lvt){
+            const boost::int_least16_t x = t;
+            * this->This() << x;
+        }
+        else{
+            const int x = t;
+            * this->This() << x;
+        }
+    }
+    void save_override(class_id_reference_type & t, int version){
+        save_override(static_cast<class_id_type &>(t), version);
+    }
+
+    #endif
+
+    // explicitly convert to char * to avoid compile ambiguities
+    void save_override(const class_name_type & t, int){
+        const std::string s(t);
+        * this->This() << s;
+    }
+
+    #if 0
+    void save_override(const serialization::collection_size_type & t, int){
+        if (get_library_version() < boost::archive::library_version_type(6)){
+            unsigned int x=0;
+            * this->This() >> x;
+            t = serialization::collection_size_type(x);
+        } 
+        else{
+            * this->This() >> t;
+        }
+    }
+    #endif
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    init();
+
+    basic_binary_oarchive(unsigned int flags) :
+        detail::common_oarchive<Archive>(flags)
+    {}
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_BASIC_BINARY_OARCHIVE_HPP
diff --git a/SRC/Serialization/archive/basic_binary_oprimitive.hpp b/SRC/Serialization/archive/basic_binary_oprimitive.hpp
new file mode 100755
index 0000000..74123b6
--- /dev/null
+++ b/SRC/Serialization/archive/basic_binary_oprimitive.hpp
@@ -0,0 +1,184 @@
+#ifndef BOOST_ARCHIVE_BASIC_BINARY_OPRIMITIVE_HPP
+#define BOOST_ARCHIVE_BASIC_BINARY_OPRIMITIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_binary_oprimitive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// archives stored as native binary - this should be the fastest way
+// to archive the state of a group of obects.  It makes no attempt to
+// convert to any canonical form.
+
+// IN GENERAL, ARCHIVES CREATED WITH THIS CLASS WILL NOT BE READABLE
+// ON PLATFORM APART FROM THE ONE THEY ARE CREATE ON
+
+#include <iosfwd>
+#include <boost/assert.hpp>
+#include <locale>
+#include <streambuf> // basic_streambuf
+#include <string>
+#include <cstddef> // size_t
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <boost/cstdint.hpp>
+#include <boost/integer.hpp>
+#include <boost/integer_traits.hpp>
+#include <boost/scoped_ptr.hpp>
+#include <Serialization/throw_exception.hpp>
+
+#include <Serialization/archive/basic_streambuf_locale_saver.hpp>
+#include <Serialization/archive/archive_exception.hpp>
+#include <Serialization/is_bitwise_serializable.hpp>
+#include <boost/mpl/placeholders.hpp>
+#include <Serialization/array.hpp>
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+namespace archive {
+
+/////////////////////////////////////////////////////////////////////////
+// class basic_binary_oprimitive - binary output of prmitives
+
+template<class Archive, class Elem, class Tr>
+class basic_binary_oprimitive
+{
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+    friend class save_access;
+protected:
+#else
+public:
+#endif
+    std::basic_streambuf<Elem, Tr> & m_sb;
+    // return a pointer to the most derived class
+    Archive * This(){
+        return static_cast<Archive *>(this);
+    }
+    #ifndef BOOST_NO_STD_LOCALE
+    boost::scoped_ptr<std::locale> archive_locale;
+    basic_streambuf_locale_saver<Elem, Tr> locale_saver;
+    #endif
+    // default saving of primitives.
+    template<class T>
+    void save(const T & t)
+    {
+        save_binary(& t, sizeof(T));
+    }
+
+    /////////////////////////////////////////////////////////
+    // fundamental types that need special treatment
+    
+    // trap usage of invalid uninitialized boolean which would
+    // otherwise crash on load.
+    void save(const bool t){
+        BOOST_ASSERT(0 == static_cast<int>(t) || 1 == static_cast<int>(t));
+        save_binary(& t, sizeof(t));
+    }
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save(const std::string &s);
+    #ifndef BOOST_NO_STD_WSTRING
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save(const std::wstring &ws);
+    #endif
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save(const char * t);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save(const wchar_t * t);
+
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    init();
+    
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    basic_binary_oprimitive(
+        std::basic_streambuf<Elem, Tr> & sb, 
+        bool no_codecvt
+    );
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    ~basic_binary_oprimitive();
+public:
+
+    // we provide an optimized save for all fundamental types
+    // typedef serialization::is_bitwise_serializable<mpl::_1> 
+    // use_array_optimization;
+    // workaround without using mpl lambdas
+    struct use_array_optimization {
+        template <class T>  
+        #if defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)  
+            struct apply {  
+                typedef BOOST_DEDUCED_TYPENAME boost::serialization::is_bitwise_serializable< T >::type type;  
+            };
+        #else
+            struct apply : public boost::serialization::is_bitwise_serializable< T > {};  
+        #endif
+    };
+    
+
+    // the optimized save_array dispatches to save_binary 
+    template <class ValueType>
+    void save_array(boost::serialization::array<ValueType> const& a, unsigned int)
+    {
+      save_binary(a.address(),a.count()*sizeof(ValueType));
+    }
+
+    void save_binary(const void *address, std::size_t count);
+};
+
+template<class Archive, class Elem, class Tr>
+inline void 
+basic_binary_oprimitive<Archive, Elem, Tr>::save_binary(
+    const void *address, 
+    std::size_t count
+){
+    //BOOST_ASSERT(
+    //    static_cast<std::size_t>((std::numeric_limits<std::streamsize>::max)()) >= count
+    //);
+    // note: if the following assertions fail
+    // a likely cause is that the output stream is set to "text"
+    // mode where by cr characters recieve special treatment.
+    // be sure that the output stream is opened with ios::binary
+    //if(os.fail())
+    //    boost::serialization::throw_exception(
+    //        archive_exception(archive_exception::output_stream_error)
+    //    );
+    // figure number of elements to output - round up
+    count = ( count + sizeof(Elem) - 1) 
+        / sizeof(Elem);
+    BOOST_ASSERT(count <= std::size_t(boost::integer_traits<std::streamsize>::const_max));
+    std::streamsize scount = m_sb.sputn(
+        static_cast<const Elem *>(address), 
+        static_cast<std::streamsize>(count)
+    );
+    if(count != static_cast<std::size_t>(scount))
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::output_stream_error)
+        );
+    //os.write(
+    //    static_cast<const BOOST_DEDUCED_TYPENAME OStream::char_type *>(address), 
+    //    count
+    //);
+    //BOOST_ASSERT(os.good());
+}
+
+} //namespace boost 
+} //namespace archive 
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pop pragmas
+
+#endif // BOOST_ARCHIVE_BASIC_BINARY_OPRIMITIVE_HPP
diff --git a/SRC/Boost/boost/archive/basic_streambuf_locale_saver.hpp b/SRC/Serialization/archive/basic_streambuf_locale_saver.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/basic_streambuf_locale_saver.hpp
rename to SRC/Serialization/archive/basic_streambuf_locale_saver.hpp
diff --git a/SRC/Serialization/archive/basic_text_iarchive.hpp b/SRC/Serialization/archive/basic_text_iarchive.hpp
new file mode 100755
index 0000000..a573cb8
--- /dev/null
+++ b/SRC/Serialization/archive/basic_text_iarchive.hpp
@@ -0,0 +1,91 @@
+#ifndef BOOST_ARCHIVE_BASIC_TEXT_IARCHIVE_HPP
+#define BOOST_ARCHIVE_BASIC_TEXT_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_text_iarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// archives stored as text - note these ar templated on the basic
+// stream templates to accommodate wide (and other?) kind of characters
+//
+// note the fact that on libraries without wide characters, ostream is
+// is not a specialization of basic_ostream which in fact is not defined
+// in such cases.   So we can't use basic_ostream<IStream::char_type> but rather
+// use two template parameters
+
+#include <boost/config.hpp>
+#include <Serialization/pfto.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <Serialization/archive/detail/common_iarchive.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace archive {
+
+/////////////////////////////////////////////////////////////////////////
+// class basic_text_iarchive - read serialized objects from a input text stream
+template<class Archive>
+class basic_text_iarchive : 
+    public detail::common_iarchive<Archive>
+{
+protected:
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+public:
+#elif defined(BOOST_MSVC)
+    // for some inexplicable reason insertion of "class" generates compile erro
+    // on msvc 7.1
+    friend detail::interface_iarchive<Archive>;
+#else
+    friend class detail::interface_iarchive<Archive>;
+#endif
+    // intermediate level to support override of operators
+    // fot templates in the absence of partial function 
+    // template ordering
+    typedef detail::common_iarchive<Archive> detail_common_iarchive;
+    template<class T>
+    void load_override(T & t, BOOST_PFTO int){
+        this->detail_common_iarchive::load_override(t, 0);
+    }
+    // text file don't include the optional information 
+    void load_override(class_id_optional_type & /*t*/, int){}
+
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load_override(class_name_type & t, int);
+
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    init(void);
+
+    basic_text_iarchive(unsigned int flags) : 
+        detail::common_iarchive<Archive>(flags)
+    {}
+    ~basic_text_iarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_BASIC_TEXT_IARCHIVE_HPP
diff --git a/SRC/Serialization/archive/basic_text_iprimitive.hpp b/SRC/Serialization/archive/basic_text_iprimitive.hpp
new file mode 100755
index 0000000..8570656
--- /dev/null
+++ b/SRC/Serialization/archive/basic_text_iprimitive.hpp
@@ -0,0 +1,144 @@
+#ifndef BOOST_ARCHIVE_BASIC_TEXT_IPRIMITIVE_HPP
+#define BOOST_ARCHIVE_BASIC_TEXT_IPRIMITIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_text_iprimitive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// archives stored as text - note these are templated on the basic
+// stream templates to accommodate wide (and other?) kind of characters
+//
+// Note the fact that on libraries without wide characters, ostream is
+// not a specialization of basic_ostream which in fact is not defined
+// in such cases.   So we can't use basic_ostream<IStream::char_type> but rather
+// use two template parameters
+
+#include <boost/assert.hpp>
+#include <locale>
+#include <cstddef> // size_t
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+    #if ! defined(BOOST_DINKUMWARE_STDLIB) && ! defined(__SGI_STL_PORT)
+        using ::locale;
+    #endif
+} // namespace std
+#endif
+
+#include <boost/detail/workaround.hpp>
+#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
+#include <Serialization/archive/dinkumware.hpp>
+#endif
+
+#include <boost/limits.hpp>
+#include <boost/io/ios_state.hpp>
+#include <boost/scoped_ptr.hpp>
+#include <boost/static_assert.hpp>
+
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/archive/archive_exception.hpp>
+#include <Serialization/archive/basic_streambuf_locale_saver.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+namespace archive {
+
+/////////////////////////////////////////////////////////////////////////
+// class basic_text_iarchive - load serialized objects from a input text stream
+#if defined(_MSC_VER)
+#pragma warning( push )
+#pragma warning( disable : 4244 4267 )
+#endif
+
+template<class IStream>
+class basic_text_iprimitive
+{
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+protected:
+#else
+public:
+#endif
+    IStream &is;
+    io::ios_flags_saver flags_saver;
+    io::ios_precision_saver precision_saver;
+
+    #ifndef BOOST_NO_STD_LOCALE
+    boost::scoped_ptr<std::locale> archive_locale;
+    basic_streambuf_locale_saver<
+        BOOST_DEDUCED_TYPENAME IStream::char_type, 
+        BOOST_DEDUCED_TYPENAME IStream::traits_type
+    > locale_saver;
+    #endif
+
+    template<class T>
+    void load(T & t)
+    {
+        if(! is.fail()){
+            is >> t;
+            return;
+        }
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::input_stream_error)
+        );
+    }
+
+    void load(char & t)
+    {
+        short int i;
+        load(i);
+        t = i;
+    }
+    void load(signed char & t)
+    {
+        short int i;
+        load(i);
+        t = i;
+    }
+    void load(unsigned char & t)
+    {
+        unsigned short int i;
+        load(i);
+        t = i;
+    }
+
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    void load(wchar_t & t)
+    {
+        BOOST_STATIC_ASSERT(sizeof(wchar_t) <= sizeof(int));
+        int i;
+        load(i);
+        t = i;
+    }
+    #endif
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    basic_text_iprimitive(IStream  &is, bool no_codecvt);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    ~basic_text_iprimitive();
+public:
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load_binary(void *address, std::size_t count);
+};
+
+#if defined(_MSC_VER)
+#pragma warning( pop )
+#endif
+
+} // namespace archive
+} // namespace boost
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pop pragmas
+
+#endif // BOOST_ARCHIVE_BASIC_TEXT_IPRIMITIVE_HPP
diff --git a/SRC/Serialization/archive/basic_text_oarchive.hpp b/SRC/Serialization/archive/basic_text_oarchive.hpp
new file mode 100755
index 0000000..50d5f53
--- /dev/null
+++ b/SRC/Serialization/archive/basic_text_oarchive.hpp
@@ -0,0 +1,116 @@
+#ifndef BOOST_ARCHIVE_BASIC_TEXT_OARCHIVE_HPP
+#define BOOST_ARCHIVE_BASIC_TEXT_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_text_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// archives stored as text - note these ar templated on the basic
+// stream templates to accommodate wide (and other?) kind of characters
+//
+// note the fact that on libraries without wide characters, ostream is
+// is not a specialization of basic_ostream which in fact is not defined
+// in such cases.   So we can't use basic_ostream<OStream::char_type> but rather
+// use two template parameters
+
+#include <boost/assert.hpp>
+#include <boost/config.hpp>
+#include <Serialization/pfto.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <Serialization/archive/detail/common_oarchive.hpp>
+#include <Serialization/string.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace archive {
+
+/////////////////////////////////////////////////////////////////////////
+// class basic_text_oarchive 
+template<class Archive>
+class basic_text_oarchive : 
+    public detail::common_oarchive<Archive>
+{
+protected:
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
+|| BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x560))
+public:
+#elif defined(BOOST_MSVC)
+    // for some inexplicable reason insertion of "class" generates compile erro
+    // on msvc 7.1
+    friend detail::interface_oarchive<Archive>;
+#else
+    friend class detail::interface_oarchive<Archive>;
+#endif
+    enum {
+        none,
+        eol,
+        space
+    } delimiter;
+
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    newtoken();
+
+    void newline(){
+        delimiter = eol;
+    }
+
+    // default processing - kick back to base class.  Note the
+    // extra stuff to get it passed borland compilers
+    typedef detail::common_oarchive<Archive> detail_common_oarchive;
+    template<class T>
+    void save_override(T & t, BOOST_PFTO int){
+        this->detail_common_oarchive::save_override(t, 0);
+    }
+
+    // start new objects on a new line
+    void save_override(const object_id_type & t, int){
+        this->This()->newline();
+        this->detail_common_oarchive::save_override(t, 0);
+    }
+
+    // text file don't include the optional information 
+    void save_override(const class_id_optional_type & /* t */, int){}
+
+    void save_override(const class_name_type & t, int){
+        const std::string s(t);
+        * this->This() << s;
+    }
+
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    init();
+
+    basic_text_oarchive(unsigned int flags) :
+        detail::common_oarchive<Archive>(flags),
+        delimiter(none)
+    {}
+    ~basic_text_oarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_BASIC_TEXT_OARCHIVE_HPP
diff --git a/SRC/Serialization/archive/basic_text_oprimitive.hpp b/SRC/Serialization/archive/basic_text_oprimitive.hpp
new file mode 100755
index 0000000..62f7139
--- /dev/null
+++ b/SRC/Serialization/archive/basic_text_oprimitive.hpp
@@ -0,0 +1,173 @@
+#ifndef BOOST_ARCHIVE_BASIC_TEXT_OPRIMITIVE_HPP
+#define BOOST_ARCHIVE_BASIC_TEXT_OPRIMITIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_text_oprimitive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// archives stored as text - note these ar templated on the basic
+// stream templates to accommodate wide (and other?) kind of characters
+//
+// note the fact that on libraries without wide characters, ostream is
+// is not a specialization of basic_ostream which in fact is not defined
+// in such cases.   So we can't use basic_ostream<OStream::char_type> but rather
+// use two template parameters
+
+#include <iomanip>
+#include <locale>
+#include <boost/config/no_tr1/cmath.hpp> // isnan
+#include <boost/assert.hpp>
+#include <cstddef> // size_t
+
+#include <boost/config.hpp>
+#include <boost/static_assert.hpp>
+#include <boost/detail/workaround.hpp>
+#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
+#include <Serialization/archive/dinkumware.hpp>
+#endif
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t;
+    #if ! defined(BOOST_DINKUMWARE_STDLIB) && ! defined(__SGI_STL_PORT)
+        using ::locale;
+    #endif
+} // namespace std
+#endif
+
+#include <boost/limits.hpp>
+#include <boost/integer.hpp>
+#include <boost/io/ios_state.hpp>
+#include <boost/scoped_ptr.hpp>
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/archive/archive_exception.hpp>
+#include <Serialization/archive/basic_streambuf_locale_saver.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+namespace archive {
+
+class save_access;
+
+/////////////////////////////////////////////////////////////////////////
+// class basic_text_oprimitive - output of prmitives to stream
+template<class OStream>
+class basic_text_oprimitive
+{
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+protected:
+#else
+public:
+#endif
+    OStream &os;
+    io::ios_flags_saver flags_saver;
+    io::ios_precision_saver precision_saver;
+
+    #ifndef BOOST_NO_STD_LOCALE
+    boost::scoped_ptr<std::locale> archive_locale;
+    basic_streambuf_locale_saver<
+        BOOST_DEDUCED_TYPENAME OStream::char_type, 
+        BOOST_DEDUCED_TYPENAME OStream::traits_type
+    > locale_saver;
+    #endif
+
+    // default saving of primitives.
+    template<class T>
+    void save(const T &t){
+        if(os.fail())
+            boost::serialization::throw_exception(
+                archive_exception(archive_exception::output_stream_error)
+            );
+        os << t;
+    }
+
+    /////////////////////////////////////////////////////////
+    // fundamental types that need special treatment
+    void save(const bool t){
+        // trap usage of invalid uninitialized boolean which would
+        // otherwise crash on load.
+        BOOST_ASSERT(0 == static_cast<int>(t) || 1 == static_cast<int>(t));
+        if(os.fail())
+            boost::serialization::throw_exception(
+                archive_exception(archive_exception::output_stream_error)
+            );
+        os << t;
+    }
+    void save(const signed char t)
+    {
+        save(static_cast<short int>(t));
+    }
+    void save(const unsigned char t)
+    {
+        save(static_cast<short unsigned int>(t));
+    }
+    void save(const char t)
+    {
+        save(static_cast<short int>(t));
+    }
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    void save(const wchar_t t)
+    {
+        BOOST_STATIC_ASSERT(sizeof(wchar_t) <= sizeof(int));
+        save(static_cast<int>(t));
+    }
+    #endif
+    void save(const float t)
+    {
+        // must be a user mistake - can't serialize un-initialized data
+        if(os.fail())
+            boost::serialization::throw_exception(
+                archive_exception(archive_exception::output_stream_error)
+            );
+        os << std::setprecision(std::numeric_limits<float>::digits10 + 2);
+        os << t;
+    }
+    void save(const double t)
+    {
+        // must be a user mistake - can't serialize un-initialized data
+        if(os.fail())
+            boost::serialization::throw_exception(
+                archive_exception(archive_exception::output_stream_error)
+            );
+        os << std::setprecision(std::numeric_limits<double>::digits10 + 2);
+        os << t;
+    }
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+    basic_text_oprimitive(OStream & os, bool no_codecvt);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    ~basic_text_oprimitive();
+public:
+    // unformatted append of one character
+    void put(BOOST_DEDUCED_TYPENAME OStream::char_type c){
+        if(os.fail())
+            boost::serialization::throw_exception(
+                archive_exception(archive_exception::output_stream_error)
+            );
+        os.put(c);
+    }
+    // unformatted append of null terminated string
+    void put(const char * s){
+        while('\0' != *s)
+            os.put(*s++);
+    }
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) 
+    save_binary(const void *address, std::size_t count);
+};
+
+} //namespace boost 
+} //namespace archive 
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_BASIC_TEXT_OPRIMITIVE_HPP
diff --git a/SRC/Serialization/archive/basic_xml_archive.hpp b/SRC/Serialization/archive/basic_xml_archive.hpp
new file mode 100755
index 0000000..00e0624
--- /dev/null
+++ b/SRC/Serialization/archive/basic_xml_archive.hpp
@@ -0,0 +1,67 @@
+#ifndef BOOST_ARCHIVE_BASIC_XML_TEXT_ARCHIVE_HPP
+#define BOOST_ARCHIVE_BASIC_XML_TEXT_ARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_xml_archive.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <Serialization/archive/archive_exception.hpp>
+
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost { 
+namespace archive {
+
+// constant strings used in xml i/o
+
+extern 
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_OBJECT_ID();
+
+extern 
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_OBJECT_REFERENCE();
+
+extern 
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_CLASS_ID();
+
+extern 
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_CLASS_ID_REFERENCE();
+
+extern 
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_CLASS_NAME();
+
+extern 
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_TRACKING();
+
+extern 
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_VERSION();
+
+extern 
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_SIGNATURE();
+
+}// namespace archive
+}// namespace boost
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_BASIC_XML_TEXT_ARCHIVE_HPP
+
diff --git a/SRC/Serialization/archive/basic_xml_iarchive.hpp b/SRC/Serialization/archive/basic_xml_iarchive.hpp
new file mode 100755
index 0000000..0bfe865
--- /dev/null
+++ b/SRC/Serialization/archive/basic_xml_iarchive.hpp
@@ -0,0 +1,127 @@
+#ifndef BOOST_ARCHIVE_BASIC_XML_IARCHIVE_HPP
+#define BOOST_ARCHIVE_BASIC_XML_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_xml_iarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <Serialization/pfto.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <Serialization/archive/detail/common_iarchive.hpp>
+
+#include <Serialization/nvp.hpp>
+#include <Serialization/string.hpp>
+
+#include <boost/mpl/assert.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace archive {
+
+/////////////////////////////////////////////////////////////////////////
+// class xml_iarchive - read serialized objects from a input text stream
+template<class Archive>
+class basic_xml_iarchive :
+    public detail::common_iarchive<Archive>
+{
+protected:
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+public:
+#elif defined(BOOST_MSVC)
+    // for some inexplicable reason insertion of "class" generates compile erro
+    // on msvc 7.1
+    friend detail::interface_oarchive<Archive>;
+#else
+    friend class detail::interface_oarchive<Archive>;
+#endif
+    unsigned int depth;
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load_start(const char *name);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load_end(const char *name);
+
+    // Anything not an attribute and not a name-value pair is an
+    // should be trapped here.
+    template<class T>
+    void load_override(T & t,  BOOST_PFTO int)
+    {
+        // If your program fails to compile here, its most likely due to
+        // not specifying an nvp wrapper around the variable to
+        // be serialized.
+        BOOST_MPL_ASSERT((serialization::is_wrapper< T >));
+        this->detail_common_iarchive::load_override(t, 0);
+    }
+
+    // Anything not an attribute - see below - should be a name value
+    // pair and be processed here
+    typedef detail::common_iarchive<Archive> detail_common_iarchive;
+    template<class T>
+    void load_override(
+        #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+        const
+        #endif
+        boost::serialization::nvp< T > & t,
+        int
+    ){
+        this->This()->load_start(t.name());
+        this->detail_common_iarchive::load_override(t.value(), 0);
+        this->This()->load_end(t.name());
+    }
+
+    // specific overrides for attributes - handle as
+    // primitives. These are not name-value pairs
+    // so they have to be intercepted here and passed on to load.
+    // although the class_id is included in the xml text file in order
+    // to make the file self describing, it isn't used when loading
+    // an xml archive.  So we can skip it here.  Note: we MUST override
+    // it otherwise it will be loaded as a normal primitive w/o tag and
+    // leaving the archive in an undetermined state
+    void load_override(class_id_optional_type & /* t */, int){}
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load_override(object_id_type & t, int);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load_override(version_type & t, int);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load_override(class_id_type & t, int);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    load_override(tracking_type & t, int);
+    // class_name_type can't be handled here as it depends upon the
+    // char type used by the stream.  So require the derived implementation
+    // handle this.
+    // void load_override(class_name_type & t, int);
+
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+    basic_xml_iarchive(unsigned int flags);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+    ~basic_xml_iarchive();
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_BASIC_XML_IARCHIVE_HPP
diff --git a/SRC/Serialization/archive/basic_xml_oarchive.hpp b/SRC/Serialization/archive/basic_xml_oarchive.hpp
new file mode 100755
index 0000000..88792c5
--- /dev/null
+++ b/SRC/Serialization/archive/basic_xml_oarchive.hpp
@@ -0,0 +1,145 @@
+#ifndef BOOST_ARCHIVE_BASIC_XML_OARCHIVE_HPP
+#define BOOST_ARCHIVE_BASIC_XML_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_xml_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#include <Serialization/archive/detail/common_oarchive.hpp>
+
+#include <Serialization/nvp.hpp>
+#include <Serialization/tracking.hpp>
+#include <Serialization/string.hpp>
+
+#include <boost/mpl/assert.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace archive {
+
+//////////////////////////////////////////////////////////////////////
+// class basic_xml_oarchive - write serialized objects to a xml output stream
+template<class Archive>
+class basic_xml_oarchive :
+    public detail::common_oarchive<Archive>
+{
+protected:
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+public:
+#elif defined(BOOST_MSVC)
+    // for some inexplicable reason insertion of "class" generates compile erro
+    // on msvc 7.1
+    friend detail::interface_oarchive<Archive>;
+    friend class save_access;
+#else
+    friend class detail::interface_oarchive<Archive>;
+    friend class save_access;
+#endif
+    // special stuff for xml output
+    unsigned int depth;
+    bool indent_next;
+    bool pending_preamble;
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    indent();
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    init();
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    write_attribute(
+        const char *attribute_name,
+        int t,
+        const char *conjunction = "=\""
+    );
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    write_attribute(
+        const char *attribute_name,
+        const char *key
+    );
+    // helpers used below
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save_start(const char *name);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save_end(const char *name);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    end_preamble();
+
+    // Anything not an attribute and not a name-value pair is an
+    // error and should be trapped here.
+    template<class T>
+    void save_override(T & t, BOOST_PFTO int)
+    {
+        // If your program fails to compile here, its most likely due to
+        // not specifying an nvp wrapper around the variable to
+        // be serialized.
+        BOOST_MPL_ASSERT((serialization::is_wrapper< T >));
+        this->detail_common_oarchive::save_override(t, 0);
+    }
+
+    // special treatment for name-value pairs.
+    typedef detail::common_oarchive<Archive> detail_common_oarchive;
+    template<class T>
+    void save_override(
+        #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+        const
+        #endif
+        ::boost::serialization::nvp< T > & t,
+        int
+    ){
+        this->This()->save_start(t.name());
+        this->detail_common_oarchive::save_override(t.const_value(), 0);
+        this->This()->save_end(t.name());
+    }
+
+    // specific overrides for attributes - not name value pairs so we
+    // want to trap them before the above "fall through"
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save_override(const object_id_type & t, int);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save_override(const object_reference_type & t, int);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save_override(const version_type & t, int);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save_override(const class_id_type & t, int);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save_override(const class_id_optional_type & t, int);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save_override(const class_id_reference_type & t, int);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save_override(const class_name_type & t, int);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+    save_override(const tracking_type & t, int);
+
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+    basic_xml_oarchive(unsigned int flags);
+    BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+    ~basic_xml_oarchive();
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_BASIC_XML_OARCHIVE_HPP
diff --git a/SRC/Serialization/archive/binary_iarchive.hpp b/SRC/Serialization/archive/binary_iarchive.hpp
new file mode 100755
index 0000000..9c73c53
--- /dev/null
+++ b/SRC/Serialization/archive/binary_iarchive.hpp
@@ -0,0 +1,103 @@
+#ifndef BOOST_ARCHIVE_BINARY_IARCHIVE_HPP
+#define BOOST_ARCHIVE_BINARY_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// binary_iarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <istream>
+#include <Serialization/archive/binary_iarchive_impl.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+// do not derive from the classes below.  If you want to extend this functionality
+// via inhertance, derived from text_iarchive_impl instead.  This will
+// preserve correct static polymorphism.
+
+// same as binary_iarchive below - without the shared_ptr_helper
+class naked_binary_iarchive : 
+    public binary_iarchive_impl<
+        boost::archive::naked_binary_iarchive, 
+        std::istream::char_type, 
+        std::istream::traits_type
+    >
+{
+public:
+    naked_binary_iarchive(std::istream & is, unsigned int flags = 0) :
+        binary_iarchive_impl<
+            naked_binary_iarchive, std::istream::char_type, std::istream::traits_type
+        >(is, flags)
+    {}
+    naked_binary_iarchive(std::streambuf & bsb, unsigned int flags = 0) :
+        binary_iarchive_impl<
+            naked_binary_iarchive, std::istream::char_type, std::istream::traits_type
+        >(bsb, flags)
+    {}
+};
+
+} // namespace archive
+} // namespace boost
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive.  We created a "mix-in"
+// class to provide this functionality.  Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <Serialization/archive/shared_ptr_helper.hpp>
+
+namespace boost { 
+namespace archive {
+
+// do not derive from this class.  If you want to extend this functionality
+// via inhertance, derived from binary_iarchive_impl instead.  This will
+// preserve correct static polymorphism.
+class binary_iarchive : 
+    public binary_iarchive_impl<
+        boost::archive::binary_iarchive, 
+        std::istream::char_type, 
+        std::istream::traits_type
+    >,
+    public detail::shared_ptr_helper
+{
+public:
+    binary_iarchive(std::istream & is, unsigned int flags = 0) :
+        binary_iarchive_impl<
+            binary_iarchive, std::istream::char_type, std::istream::traits_type
+        >(is, flags)
+    {}
+    binary_iarchive(std::streambuf & bsb, unsigned int flags = 0) :
+        binary_iarchive_impl<
+            binary_iarchive, std::istream::char_type, std::istream::traits_type
+        >(bsb, flags)
+    {}
+};
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_iarchive)
+BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(boost::archive::binary_iarchive)
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // BOOST_ARCHIVE_BINARY_IARCHIVE_HPP
diff --git a/SRC/Serialization/archive/binary_iarchive_impl.hpp b/SRC/Serialization/archive/binary_iarchive_impl.hpp
new file mode 100755
index 0000000..088207f
--- /dev/null
+++ b/SRC/Serialization/archive/binary_iarchive_impl.hpp
@@ -0,0 +1,96 @@
+#ifndef BOOST_ARCHIVE_BINARY_IARCHIVE_IMPL_HPP
+#define BOOST_ARCHIVE_BINARY_IARCHIVE_IMPL_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// binary_iarchive_impl.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <istream>
+#include <Serialization/pfto.hpp>
+#include <Serialization/archive/basic_binary_iprimitive.hpp>
+#include <Serialization/archive/basic_binary_iarchive.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+template<class Archive, class Elem, class Tr>
+class binary_iarchive_impl : 
+    public basic_binary_iprimitive<Archive, Elem, Tr>,
+    public basic_binary_iarchive<Archive>
+{
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    friend class detail::interface_iarchive<Archive>;
+    friend class basic_binary_iarchive<Archive>;
+    friend class load_access;
+protected:
+#endif
+    // note: the following should not needed - but one compiler (vc 7.1)
+    // fails to compile one test (test_shared_ptr) without it !!!
+    // make this protected so it can be called from a derived archive
+    template<class T>
+    void load_override(T & t, BOOST_PFTO int){
+        this->basic_binary_iarchive<Archive>::load_override(t, 0L);
+    }
+    void init(unsigned int flags){
+        if(0 != (flags & no_header))
+            return;
+        #if ! defined(__MWERKS__)
+            this->basic_binary_iarchive<Archive>::init();
+            this->basic_binary_iprimitive<Archive, Elem, Tr>::init();
+        #else
+            basic_binary_iarchive<Archive>::init();
+            basic_binary_iprimitive<Archive, Elem, Tr>::init();
+        #endif
+    }
+    binary_iarchive_impl(
+        std::basic_streambuf<Elem, Tr> & bsb, 
+        unsigned int flags
+    ) :
+        basic_binary_iprimitive<Archive, Elem, Tr>(
+            bsb, 
+            0 != (flags & no_codecvt)
+        ),
+        basic_binary_iarchive<Archive>(flags)
+    {
+        init(flags);
+    }
+    binary_iarchive_impl(
+        std::basic_istream<Elem, Tr> & is, 
+        unsigned int flags
+    ) :
+        basic_binary_iprimitive<Archive, Elem, Tr>(
+            * is.rdbuf(), 
+            0 != (flags & no_codecvt)
+        ),
+        basic_binary_iarchive<Archive>(flags)
+    {
+        init(flags);
+    }
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // BOOST_ARCHIVE_BINARY_IARCHIVE_IMPL_HPP
diff --git a/SRC/Serialization/archive/binary_oarchive.hpp b/SRC/Serialization/archive/binary_oarchive.hpp
new file mode 100755
index 0000000..985b990
--- /dev/null
+++ b/SRC/Serialization/archive/binary_oarchive.hpp
@@ -0,0 +1,66 @@
+#ifndef BOOST_ARCHIVE_BINARY_OARCHIVE_HPP
+#define BOOST_ARCHIVE_BINARY_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// binary_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <ostream>
+#include <boost/config.hpp>
+#include <Serialization/archive/binary_oarchive_impl.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+// do not derive from this class.  If you want to extend this functionality
+// via inhertance, derived from binary_oarchive_impl instead.  This will
+// preserve correct static polymorphism.
+class binary_oarchive : 
+    public binary_oarchive_impl<
+        binary_oarchive, std::ostream::char_type, std::ostream::traits_type
+    >
+{
+public:
+    binary_oarchive(std::ostream & os, unsigned int flags = 0) :
+        binary_oarchive_impl<
+            binary_oarchive, std::ostream::char_type, std::ostream::traits_type
+        >(os, flags)
+    {}
+    binary_oarchive(std::streambuf & bsb, unsigned int flags = 0) :
+        binary_oarchive_impl<
+            binary_oarchive, std::ostream::char_type, std::ostream::traits_type
+        >(bsb, flags)
+    {}
+};
+
+typedef binary_oarchive naked_binary_oarchive;
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_oarchive)
+BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(boost::archive::binary_oarchive)
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // BOOST_ARCHIVE_BINARY_OARCHIVE_HPP
diff --git a/SRC/Serialization/archive/binary_oarchive_impl.hpp b/SRC/Serialization/archive/binary_oarchive_impl.hpp
new file mode 100755
index 0000000..e23a721
--- /dev/null
+++ b/SRC/Serialization/archive/binary_oarchive_impl.hpp
@@ -0,0 +1,97 @@
+#ifndef BOOST_ARCHIVE_BINARY_OARCHIVE_IMPL_HPP
+#define BOOST_ARCHIVE_BINARY_OARCHIVE_IMPL_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// binary_oarchive_impl.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <ostream>
+#include <boost/config.hpp>
+#include <Serialization/pfto.hpp>
+#include <Serialization/archive/basic_binary_oprimitive.hpp>
+#include <Serialization/archive/basic_binary_oarchive.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+template<class Archive, class Elem, class Tr>
+class binary_oarchive_impl : 
+    public basic_binary_oprimitive<Archive, Elem, Tr>,
+    public basic_binary_oarchive<Archive>
+{
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    friend class detail::interface_oarchive<Archive>;
+    friend class basic_binary_oarchive<Archive>;
+    friend class save_access;
+protected:
+#endif
+    // note: the following should not needed - but one compiler (vc 7.1)
+    // fails to compile one test (test_shared_ptr) without it !!!
+    // make this protected so it can be called from a derived archive
+    template<class T>
+    void save_override(T & t, BOOST_PFTO int){
+        this->basic_binary_oarchive<Archive>::save_override(t, 0L);
+    }
+    void init(unsigned int flags) {
+        if(0 != (flags & no_header))
+            return;
+        #if ! defined(__MWERKS__)
+            this->basic_binary_oarchive<Archive>::init();
+            this->basic_binary_oprimitive<Archive, Elem, Tr>::init();
+        #else
+            basic_binary_oarchive<Archive>::init();
+            basic_binary_oprimitive<Archive, Elem, Tr>::init();
+        #endif
+    }
+    binary_oarchive_impl(
+        std::basic_streambuf<Elem, Tr> & bsb, 
+        unsigned int flags
+    ) :
+        basic_binary_oprimitive<Archive, Elem, Tr>(
+            bsb, 
+            0 != (flags & no_codecvt)
+        ),
+        basic_binary_oarchive<Archive>(flags)
+    {
+        init(flags);
+    }
+    binary_oarchive_impl(
+        std::basic_ostream<Elem, Tr> & os, 
+        unsigned int flags
+    ) :
+        basic_binary_oprimitive<Archive, Elem, Tr>(
+            * os.rdbuf(), 
+            0 != (flags & no_codecvt)
+        ),
+        basic_binary_oarchive<Archive>(flags)
+    {
+        init(flags);
+    }
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // BOOST_ARCHIVE_BINARY_OARCHIVE_IMPL_HPP
diff --git a/SRC/Serialization/archive/binary_wiarchive.hpp b/SRC/Serialization/archive/binary_wiarchive.hpp
new file mode 100755
index 0000000..7253d96
--- /dev/null
+++ b/SRC/Serialization/archive/binary_wiarchive.hpp
@@ -0,0 +1,93 @@
+#ifndef BOOST_ARCHIVE_BINARY_WIARCHIVE_HPP
+#define BOOST_ARCHIVE_BINARY_WIARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// binary_wiarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#include <istream> // wistream
+#include <Serialization/archive/binary_iarchive_impl.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+
+namespace boost { 
+namespace archive {
+
+// same as binary_wiarchive below - without the shared_ptr_helper
+class naked_binary_wiarchive : 
+    public binary_iarchive_impl<
+        boost::archive::naked_binary_wiarchive, 
+        std::wistream::char_type, 
+        std::wistream::traits_type
+    >
+{
+public:
+    naked_binary_wiarchive(std::wistream & is, unsigned int flags = 0) :
+        binary_iarchive_impl<
+            naked_binary_wiarchive, 
+            std::wistream::char_type, 
+            std::wistream::traits_type
+        >(is, flags)
+    {}
+    naked_binary_wiarchive(std::wstreambuf & bsb, unsigned int flags = 0) :
+        binary_iarchive_impl<
+            naked_binary_wiarchive, 
+            std::wistream::char_type, 
+            std::wistream::traits_type
+        >(bsb, flags)
+    {}
+};
+
+} // namespace archive
+} // namespace boost
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive.  We created a "mix-in"
+// class to provide this functionality.  Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <Serialization/archive/shared_ptr_helper.hpp>
+
+namespace boost { 
+namespace archive {
+
+class binary_wiarchive : 
+    public binary_iarchive_impl<
+        binary_wiarchive, std::wistream::char_type, std::wistream::traits_type
+    >
+{
+public:
+    binary_wiarchive(std::wistream & is, unsigned int flags = 0) :
+        binary_iarchive_impl<
+            binary_wiarchive, std::wistream::char_type, std::wistream::traits_type
+        >(is, flags)
+    {}
+    binary_wiarchive(std::wstreambuf & bsb, unsigned int flags = 0) :
+        binary_iarchive_impl<
+            binary_wiarchive, std::wistream::char_type, std::wistream::traits_type
+        >(bsb, flags)
+    {}
+};
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_wiarchive)
+
+#endif // BOOST_NO_STD_WSTREAMBUF
+#endif // BOOST_ARCHIVE_BINARY_WIARCHIVE_HPP
diff --git a/SRC/Serialization/archive/binary_woarchive.hpp b/SRC/Serialization/archive/binary_woarchive.hpp
new file mode 100755
index 0000000..2ac9590
--- /dev/null
+++ b/SRC/Serialization/archive/binary_woarchive.hpp
@@ -0,0 +1,61 @@
+#ifndef BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP
+#define BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// binary_woarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#include <ostream>
+#include <Serialization/archive/binary_oarchive_impl.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+
+namespace boost { 
+namespace archive {
+
+// do not derive from this class.  If you want to extend this functionality
+// via inhertance, derived from binary_oarchive_impl instead.  This will
+// preserve correct static polymorphism.
+class binary_woarchive : 
+    public binary_oarchive_impl<
+            binary_woarchive, std::wostream::char_type, std::wostream::traits_type
+        >
+{
+public:
+    binary_woarchive(std::wostream & os, unsigned int flags = 0) :
+        binary_oarchive_impl<
+            binary_woarchive, std::wostream::char_type, std::wostream::traits_type
+        >(os, flags)
+    {}
+    binary_woarchive(std::wstreambuf & bsb, unsigned int flags = 0) :
+        binary_oarchive_impl<
+            binary_woarchive, std::wostream::char_type, std::wostream::traits_type
+        >(bsb, flags)
+    {}
+};
+
+typedef binary_woarchive naked_binary_woarchive;
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_woarchive)
+
+#endif // BOOST_NO_STD_WSTREAMBUF
+#endif // BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP
diff --git a/SRC/Serialization/archive/codecvt_null.hpp b/SRC/Serialization/archive/codecvt_null.hpp
new file mode 100755
index 0000000..f515ae5
--- /dev/null
+++ b/SRC/Serialization/archive/codecvt_null.hpp
@@ -0,0 +1,100 @@
+#ifndef BOOST_ARCHIVE_CODECVT_NULL_HPP
+#define BOOST_ARCHIVE_CODECVT_NULL_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// codecvt_null.hpp:
+
+// (C) Copyright 2004 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <locale>
+#include <cstddef> // NULL, size_t
+#include <cwchar>   // for mbstate_t
+#include <boost/config.hpp>
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std {
+// For STLport on WinCE, BOOST_NO_STDC_NAMESPACE can get defined if STLport is putting symbols in its own namespace.
+// In the case of codecvt, however, this does not mean that codecvt is in the global namespace (it will be in STLport's namespace)
+#  if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
+    using ::codecvt;
+#  endif
+    using ::mbstate_t;
+    using ::size_t;
+} // namespace
+#endif
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace archive {
+
+template<class Ch>
+class codecvt_null;
+
+template<>
+class codecvt_null<char> : public std::codecvt<char, char, std::mbstate_t>
+{
+    virtual bool do_always_noconv() const throw() {
+        return true;
+    }
+public:
+    explicit codecvt_null(std::size_t no_locale_manage = 0) :
+        std::codecvt<char, char, std::mbstate_t>(no_locale_manage)
+    {}
+};
+
+template<>
+class codecvt_null<wchar_t> : public std::codecvt<wchar_t, char, std::mbstate_t>
+{
+    virtual BOOST_WARCHIVE_DECL(std::codecvt_base::result)
+    do_out(
+        std::mbstate_t & state,
+        const wchar_t * first1,
+        const wchar_t * last1,
+        const wchar_t * & next1,
+        char * first2,
+        char * last2,
+        char * & next2
+    ) const;
+    virtual BOOST_WARCHIVE_DECL(std::codecvt_base::result)
+    do_in(
+        std::mbstate_t & state,
+        const char * first1,
+        const char * last1,
+        const char * & next1,
+        wchar_t * first2,
+        wchar_t * last2,
+        wchar_t * & next2
+    ) const;
+    virtual int do_encoding( ) const throw( ){
+        return sizeof(wchar_t) / sizeof(char);
+    }
+    virtual int do_max_length( ) const throw( ){
+        return do_encoding();
+    }
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#  pragma warning(pop)
+#endif
+#include <Serialization/archive/detail/abi_suffix.hpp> // pop pragmas
+
+#endif //BOOST_ARCHIVE_CODECVT_NULL_HPP
diff --git a/SRC/Boost/boost/archive/detail/abi_prefix.hpp b/SRC/Serialization/archive/detail/abi_prefix.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/detail/abi_prefix.hpp
rename to SRC/Serialization/archive/detail/abi_prefix.hpp
diff --git a/SRC/Boost/boost/archive/detail/abi_suffix.hpp b/SRC/Serialization/archive/detail/abi_suffix.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/detail/abi_suffix.hpp
rename to SRC/Serialization/archive/detail/abi_suffix.hpp
diff --git a/SRC/Serialization/archive/detail/archive_serializer_map.hpp b/SRC/Serialization/archive/detail/archive_serializer_map.hpp
new file mode 100755
index 0000000..de70931
--- /dev/null
+++ b/SRC/Serialization/archive/detail/archive_serializer_map.hpp
@@ -0,0 +1,55 @@
+#ifndef BOOST_ARCHIVE_SERIALIZER_MAP_HPP
+#define BOOST_ARCHIVE_SERIALIZER_MAP_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// archive_serializer_map.hpp: extenstion of type_info required for 
+// serialization.
+
+// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// note: this is nothing more than the thinest of wrappers around
+// basic_serializer_map so we can have a one map / archive type. 
+
+#include <boost/config.hpp>
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+
+namespace archive {
+namespace detail {
+
+class basic_serializer;
+
+template<class Archive>
+class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+archive_serializer_map {
+public:
+    static bool insert(const basic_serializer * bs);
+    static void erase(const basic_serializer * bs);
+    static const basic_serializer * find(
+        const boost::serialization::extended_type_info & type_
+    );
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // must be the last header
+
+#endif //BOOST_ARCHIVE_SERIALIZER_MAP_HPP
diff --git a/SRC/Serialization/archive/detail/auto_link_archive.hpp b/SRC/Serialization/archive/detail/auto_link_archive.hpp
new file mode 100755
index 0000000..a7d973b
--- /dev/null
+++ b/SRC/Serialization/archive/detail/auto_link_archive.hpp
@@ -0,0 +1,48 @@
+#ifndef BOOST_ARCHIVE_DETAIL_AUTO_LINK_ARCHIVE_HPP
+#define BOOST_ARCHIVE_DETAIL_AUTO_LINK_ARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+//  auto_link_archive.hpp
+//
+//  (c) Copyright Robert Ramey 2004
+//  Use, modification, and distribution is subject to the Boost Software
+//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+
+//  See library home page at http://www.boost.org/libs/serialization
+
+//----------------------------------------------------------------------------// 
+
+// This header implements separate compilation features as described in
+// http://www.boost.org/more/separate_compilation.html
+
+//  enable automatic library variant selection  ------------------------------// 
+
+#include <Serialization/archive/detail/decl.hpp>
+
+#if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB) \
+&&  !defined(BOOST_ARCHIVE_SOURCE) && !defined(BOOST_WARCHIVE_SOURCE)  \
+&&  !defined(BOOST_SERIALIZATION_SOURCE)
+
+    // Set the name of our library, this will get undef'ed by auto_link.hpp
+    // once it's done with it:
+    //
+    #define BOOST_LIB_NAME boost_serialization
+    //
+    // If we're importing code from a dll, then tell auto_link.hpp about it:
+    //
+    #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
+    #  define BOOST_DYN_LINK
+    #endif
+    //
+    // And include the header that does the work:
+    //
+    #include <boost/config/auto_link.hpp>
+#endif  // auto-linking disabled
+
+#endif // BOOST_ARCHIVE_DETAIL_AUTO_LINK_ARCHIVE_HPP
diff --git a/SRC/Serialization/archive/detail/auto_link_warchive.hpp b/SRC/Serialization/archive/detail/auto_link_warchive.hpp
new file mode 100755
index 0000000..3512b2a
--- /dev/null
+++ b/SRC/Serialization/archive/detail/auto_link_warchive.hpp
@@ -0,0 +1,47 @@
+#ifndef BOOST_ARCHIVE_DETAIL_AUTO_LINK_WARCHIVE_HPP
+#define BOOST_ARCHIVE_DETAIL_AUTO_LINK_WARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+//  auto_link_warchive.hpp
+//
+//  (c) Copyright Robert Ramey 2004
+//  Use, modification, and distribution is subject to the Boost Software
+//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+
+//  See library home page at http://www.boost.org/libs/serialization
+
+//----------------------------------------------------------------------------// 
+
+// This header implements separate compilation features as described in
+// http://www.boost.org/more/separate_compilation.html
+
+//  enable automatic library variant selection  ------------------------------// 
+
+#include <Serialization/archive/detail/decl.hpp>
+
+#if !defined(BOOST_WARCHIVE_SOURCE) \
+&& !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB)
+
+// Set the name of our library, this will get undef'ed by auto_link.hpp
+// once it's done with it:
+//
+#define BOOST_LIB_NAME boost_wserialization
+//
+// If we're importing code from a dll, then tell auto_link.hpp about it:
+//
+#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
+#  define BOOST_DYN_LINK
+#endif
+//
+// And include the header that does the work:
+//
+#include <boost/config/auto_link.hpp>
+#endif  // auto-linking disabled
+
+#endif // ARCHIVE_DETAIL_AUTO_LINK_ARCHIVE_HPP
diff --git a/SRC/Serialization/archive/detail/basic_iarchive.hpp b/SRC/Serialization/archive/detail/basic_iarchive.hpp
new file mode 100755
index 0000000..32e2cf6
--- /dev/null
+++ b/SRC/Serialization/archive/detail/basic_iarchive.hpp
@@ -0,0 +1,110 @@
+#ifndef BOOST_ARCHIVE_DETAIL_BASIC_IARCHIVE_HPP
+#define BOOST_ARCHIVE_DETAIL_BASIC_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_iarchive.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// can't use this - much as I'd like to as borland doesn't support it
+// #include <boost/scoped_ptr.hpp>
+
+#include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
+
+#include <boost/type_traits/broken_compiler_spec.hpp>
+#include <Serialization/tracking_enum.hpp>
+#include <Serialization/archive/basic_archive.hpp>
+#include <Serialization/archive/detail/decl.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+
+namespace archive {
+namespace detail {
+
+class basic_iarchive_impl;
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer;
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
+//////////////////////////////////////////////////////////////////////
+// class basic_iarchive - read serialized objects from a input stream
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive :
+    private boost::noncopyable
+{
+    friend class basic_iarchive_impl;
+    // hide implementation of this class to minimize header conclusion
+    // in client code. I couldn't used scoped pointer with borland
+    // boost::scoped_ptr<basic_iarchive_impl> pimpl;
+    basic_iarchive_impl * pimpl;
+
+    virtual void vload(version_type &t) =  0;
+    virtual void vload(object_id_type &t) =  0;
+    virtual void vload(class_id_type &t) =  0;
+    virtual void vload(class_id_optional_type &t) = 0;
+    virtual void vload(class_name_type &t) = 0;
+    virtual void vload(tracking_type &t) = 0;
+protected:
+    basic_iarchive(unsigned int flags);
+    // account for bogus gcc warning
+    #if defined(__GNUC__)
+    virtual
+    #endif
+    ~basic_iarchive();
+public:
+    // note: NOT part of the public API.
+    void next_object_pointer(void *t);
+    void register_basic_serializer(
+        const basic_iserializer & bis
+    );
+    void load_object(
+        void *t, 
+        const basic_iserializer & bis
+    );
+    const basic_pointer_iserializer * 
+    load_pointer(
+        void * & t, 
+        const basic_pointer_iserializer * bpis_ptr,
+        const basic_pointer_iserializer * (*finder)(
+            const boost::serialization::extended_type_info & eti
+        )
+
+    );
+    // real public API starts here
+    void 
+    set_library_version(library_version_type archive_library_version);
+    library_version_type 
+    get_library_version() const;
+    unsigned int
+    get_flags() const;
+    void 
+    reset_object_address(const void * new_address, const void * old_address);
+    void 
+    delete_created_pointers();
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+// required by smart_cast for compilers not implementing 
+// partial template specialization
+BOOST_TT_BROKEN_COMPILER_SPEC(
+    boost::archive::detail::basic_iarchive  
+) 
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif //BOOST_ARCHIVE_DETAIL_BASIC_IARCHIVE_HPP
diff --git a/SRC/Serialization/archive/detail/basic_iserializer.hpp b/SRC/Serialization/archive/detail/basic_iserializer.hpp
new file mode 100755
index 0000000..db15cf1
--- /dev/null
+++ b/SRC/Serialization/archive/detail/basic_iserializer.hpp
@@ -0,0 +1,95 @@
+#ifndef BOOST_ARCHIVE_DETAIL_BASIC_ISERIALIZER_HPP
+#define BOOST_ARCHIVE_DETAIL_BASIC_ISERIALIZER_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_iserializer.hpp: extenstion of type_info required for serialization.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstdlib> // NULL
+#include <boost/config.hpp>
+
+#include <Serialization/archive/basic_archive.hpp>
+#include <Serialization/archive/detail/decl.hpp>
+#include <Serialization/archive/detail/basic_serializer.hpp>
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+
+// forward declarations
+namespace archive {
+namespace detail {
+
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive;
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
+
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer : 
+    public basic_serializer
+{
+private:
+    basic_pointer_iserializer *m_bpis;
+protected:
+    explicit basic_iserializer(
+        const boost::serialization::extended_type_info & type
+    );
+    // account for bogus gcc warning
+    #if defined(__GNUC__)
+    virtual
+    #endif
+    ~basic_iserializer();
+public:
+    bool serialized_as_pointer() const {
+        return m_bpis != NULL;
+    }
+    void set_bpis(basic_pointer_iserializer *bpis){
+        m_bpis = bpis;
+    }
+    const basic_pointer_iserializer * get_bpis_ptr() const {
+        return m_bpis;
+    }
+    virtual void load_object_data(
+        basic_iarchive & ar, 
+        void *x,
+        const unsigned int file_version
+    ) const = 0;
+    // returns true if class_info should be saved
+    virtual bool class_info() const = 0 ;
+    // returns true if objects should be tracked
+    virtual bool tracking(const unsigned int) const = 0 ;
+    // returns class version
+    virtual version_type version() const = 0 ;
+    // returns true if this class is polymorphic
+    virtual bool is_polymorphic() const = 0;
+    virtual void destroy(/*const*/ void *address) const = 0 ;
+};
+
+} // namespae detail
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_DETAIL_BASIC_ISERIALIZER_HPP
diff --git a/SRC/Serialization/archive/detail/basic_oarchive.hpp b/SRC/Serialization/archive/detail/basic_oarchive.hpp
new file mode 100755
index 0000000..6cfa4e3
--- /dev/null
+++ b/SRC/Serialization/archive/detail/basic_oarchive.hpp
@@ -0,0 +1,106 @@
+#ifndef BOOST_ARCHIVE_BASIC_OARCHIVE_HPP
+#define BOOST_ARCHIVE_BASIC_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_oarchive.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // NULL
+#include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
+
+#include <boost/type_traits/broken_compiler_spec.hpp>
+
+// can't use this - much as I'd like to as borland doesn't support it
+// #include <boost/scoped_ptr.hpp>
+
+#include <Serialization/archive/basic_archive.hpp>
+#include <Serialization/tracking_enum.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+
+namespace archive {
+namespace detail {
+
+class basic_oarchive_impl;
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer;
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
+//////////////////////////////////////////////////////////////////////
+// class basic_oarchive - write serialized objects to an output stream
+class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive :
+    private boost::noncopyable
+{
+    friend class basic_oarchive_impl;
+    // hide implementation of this class to minimize header conclusion
+    // in client code. note: borland can't use scoped_ptr
+    //boost::scoped_ptr<basic_oarchive_impl> pimpl;
+    basic_oarchive_impl * pimpl;
+
+    // overload these to bracket object attributes. Used to implement
+    // xml archives
+    virtual void vsave(const version_type t) =  0;
+    virtual void vsave(const object_id_type t) =  0;
+    virtual void vsave(const object_reference_type t) =  0;
+    virtual void vsave(const class_id_type t) =  0;
+    virtual void vsave(const class_id_optional_type t) = 0;
+    virtual void vsave(const class_id_reference_type t) =  0;
+    virtual void vsave(const class_name_type & t) = 0;
+    virtual void vsave(const tracking_type t) = 0;
+protected:
+    basic_oarchive(unsigned int flags = 0);
+    // account for bogus gcc warning
+    #if defined(__GNUC__)
+    virtual
+    #endif
+    ~basic_oarchive();
+public:
+    // note: NOT part of the public interface
+    void register_basic_serializer(
+        const basic_oserializer & bos
+    );
+    void save_object(
+        const void *x, 
+        const basic_oserializer & bos
+    );
+    void save_pointer(
+        const void * t, 
+        const basic_pointer_oserializer * bpos_ptr
+    );
+    void save_null_pointer(){
+        vsave(NULL_POINTER_TAG);
+    }
+    // real public interface starts here
+    void end_preamble(); // default implementation does nothing
+    library_version_type get_library_version() const;
+    unsigned int get_flags() const;
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+// required by smart_cast for compilers not implementing 
+// partial template specialization
+BOOST_TT_BROKEN_COMPILER_SPEC(
+    boost::archive::detail::basic_oarchive
+)
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif //BOOST_ARCHIVE_BASIC_OARCHIVE_HPP
diff --git a/SRC/Serialization/archive/detail/basic_oserializer.hpp b/SRC/Serialization/archive/detail/basic_oserializer.hpp
new file mode 100755
index 0000000..c8d621b
--- /dev/null
+++ b/SRC/Serialization/archive/detail/basic_oserializer.hpp
@@ -0,0 +1,93 @@
+#ifndef BOOST_SERIALIZATION_BASIC_OSERIALIZER_HPP
+#define BOOST_SERIALIZATION_BASIC_OSERIALIZER_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_oserializer.hpp: extenstion of type_info required for serialization.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // NULL
+#include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
+
+#include <Serialization/archive/basic_archive.hpp>
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/detail/basic_serializer.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+
+// forward declarations
+namespace archive {
+namespace detail {
+
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive;
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
+
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer : 
+    public basic_serializer
+{
+private:
+    basic_pointer_oserializer *m_bpos;
+protected:
+    explicit basic_oserializer(
+        const boost::serialization::extended_type_info & type_
+    );
+    // account for bogus gcc warning
+    #if defined(__GNUC__)
+    virtual
+    #endif
+    ~basic_oserializer();
+public:
+    bool serialized_as_pointer() const {
+        return m_bpos != NULL;
+    }
+    void set_bpos(basic_pointer_oserializer *bpos){
+        m_bpos = bpos;
+    }
+    const basic_pointer_oserializer * get_bpos() const {
+        return m_bpos;
+    }
+    virtual void save_object_data(
+        basic_oarchive & ar, const void * x
+    ) const = 0;
+    // returns true if class_info should be saved
+    virtual bool class_info() const = 0;
+    // returns true if objects should be tracked
+    virtual bool tracking(const unsigned int flags) const = 0;
+    // returns class version
+    virtual version_type version() const = 0;
+    // returns true if this class is polymorphic
+    virtual bool is_polymorphic() const = 0;
+};
+
+} // namespace detail
+} // namespace serialization
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_SERIALIZATION_BASIC_OSERIALIZER_HPP
diff --git a/SRC/Serialization/archive/detail/basic_pointer_iserializer.hpp b/SRC/Serialization/archive/detail/basic_pointer_iserializer.hpp
new file mode 100755
index 0000000..c146fee
--- /dev/null
+++ b/SRC/Serialization/archive/detail/basic_pointer_iserializer.hpp
@@ -0,0 +1,73 @@
+#ifndef BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_HPP
+#define BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_pointer_oserializer.hpp: extenstion of type_info required for 
+// serialization.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/detail/basic_serializer.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+
+// forward declarations
+namespace archive {
+namespace detail {
+
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive;
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer;
+
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer 
+    : public basic_serializer {
+protected:
+    explicit basic_pointer_iserializer(
+        const boost::serialization::extended_type_info & type_
+    );
+    // account for bogus gcc warning
+    #if defined(__GNUC__)
+    virtual
+    #endif
+    ~basic_pointer_iserializer();
+public:
+    virtual const basic_iserializer & get_basic_serializer() const = 0;
+    virtual void load_object_ptr(
+        basic_iarchive & ar, 
+        void * & x,
+        const unsigned int file_version
+    ) const = 0;
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_HPP
diff --git a/SRC/Serialization/archive/detail/basic_pointer_oserializer.hpp b/SRC/Serialization/archive/detail/basic_pointer_oserializer.hpp
new file mode 100755
index 0000000..f5f7768
--- /dev/null
+++ b/SRC/Serialization/archive/detail/basic_pointer_oserializer.hpp
@@ -0,0 +1,72 @@
+#ifndef BOOST_ARCHIVE_BASIC_POINTER_OSERIALIZER_HPP
+#define BOOST_ARCHIVE_BASIC_POINTER_OSERIALIZER_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_pointer_oserializer.hpp: extenstion of type_info required for 
+// serialization.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/detail/basic_serializer.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+
+namespace archive {
+namespace detail {
+
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive;
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer;
+
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer : 
+    public basic_serializer
+{
+protected:
+    explicit basic_pointer_oserializer(
+        const boost::serialization::extended_type_info & type_
+    );
+public:
+    // account for bogus gcc warning
+    #if defined(__GNUC__)
+    virtual
+    #endif
+    ~basic_pointer_oserializer();
+    virtual const basic_oserializer & get_basic_serializer() const = 0;
+    virtual void save_object_ptr(
+        basic_oarchive & ar,
+        const void * x
+    ) const = 0;
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_BASIC_POINTER_OSERIALIZER_HPP
diff --git a/SRC/Serialization/archive/detail/basic_serializer.hpp b/SRC/Serialization/archive/detail/basic_serializer.hpp
new file mode 100755
index 0000000..fb1230e
--- /dev/null
+++ b/SRC/Serialization/archive/detail/basic_serializer.hpp
@@ -0,0 +1,79 @@
+#ifndef  BOOST_ARCHIVE_BASIC_SERIALIZER_HPP
+#define BOOST_ARCHIVE_BASIC_SERIALIZER_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_serializer.hpp: extenstion of type_info required for serialization.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+#include <cstddef> // NULL
+
+#include <boost/noncopyable.hpp>
+#include <boost/config.hpp>
+#include <Serialization/extended_type_info.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+class basic_serializer : 
+    private boost::noncopyable
+{
+    const boost::serialization::extended_type_info * m_eti;
+protected:
+    explicit basic_serializer(
+        const boost::serialization::extended_type_info & eti
+    ) : 
+        m_eti(& eti)
+    {
+        BOOST_ASSERT(NULL != & eti);
+    }
+public:
+    inline bool 
+    operator<(const basic_serializer & rhs) const {
+        // can't compare address since there can be multiple eti records
+        // for the same type in different execution modules (that is, DLLS)
+        // leave this here as a reminder not to do this!
+        // return & lhs.get_eti() < & rhs.get_eti();
+        return get_eti() < rhs.get_eti();
+    }
+    const char * get_debug_info() const {
+        return m_eti->get_debug_info();
+    }
+    const boost::serialization::extended_type_info & get_eti() const {
+        return * m_eti;
+    }
+};
+
+class basic_serializer_arg : public basic_serializer {
+public:
+    basic_serializer_arg(const serialization::extended_type_info & eti) :
+        basic_serializer(eti)
+    {}
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // BOOST_ARCHIVE_BASIC_SERIALIZER_HPP
diff --git a/SRC/Serialization/archive/detail/basic_serializer_map.hpp b/SRC/Serialization/archive/detail/basic_serializer_map.hpp
new file mode 100755
index 0000000..52d6e88
--- /dev/null
+++ b/SRC/Serialization/archive/detail/basic_serializer_map.hpp
@@ -0,0 +1,69 @@
+#ifndef  BOOST_SERIALIZER_MAP_HPP
+#define BOOST_SERIALIZER_MAP_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_serializer_map.hpp: extenstion of type_info required for serialization.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <set>
+
+#include <boost/config.hpp>
+#include <boost/utility.hpp>
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost { 
+namespace serialization {
+    class extended_type_info;
+}
+
+namespace archive {
+namespace detail {
+
+class basic_serializer;
+
+class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_serializer_map : public
+    boost::noncopyable
+{
+    struct type_info_pointer_compare
+    {
+        bool operator()(
+            const basic_serializer * lhs, const basic_serializer * rhs
+        ) const ;
+    };
+    typedef std::set<
+        const basic_serializer *, 
+        type_info_pointer_compare
+    > map_type;
+    map_type m_map;
+public:
+    bool insert(const basic_serializer * bs);
+    void erase(const basic_serializer * bs);
+    const basic_serializer * find(
+        const boost::serialization::extended_type_info & type_
+    ) const;
+private:
+    // cw 8.3 requires this
+    basic_serializer_map& operator=(basic_serializer_map const&);
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // must be the last header
+
+#endif // BOOST_SERIALIZER_MAP_HPP
diff --git a/SRC/Serialization/archive/detail/check.hpp b/SRC/Serialization/archive/detail/check.hpp
new file mode 100755
index 0000000..342a95f
--- /dev/null
+++ b/SRC/Serialization/archive/detail/check.hpp
@@ -0,0 +1,169 @@
+#ifndef BOOST_ARCHIVE_DETAIL_CHECK_HPP
+#define BOOST_ARCHIVE_DETAIL_CHECK_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#pragma inline_depth(511)
+#pragma inline_recursion(on)
+#endif
+
+#if defined(__MWERKS__)
+#pragma inline_depth(511)
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// check.hpp: interface for serialization system.
+
+// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#include <boost/static_assert.hpp>
+#include <boost/type_traits/is_const.hpp>
+
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/or.hpp>
+#include <boost/mpl/equal_to.hpp>
+#include <boost/mpl/int.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/mpl/greater.hpp>
+#include <boost/mpl/assert.hpp>
+
+#include <Serialization/static_warning.hpp>
+#include <Serialization/version.hpp>
+#include <Serialization/level.hpp>
+#include <Serialization/tracking.hpp>
+#include <Serialization/wrapper.hpp>
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+// checks for objects
+
+template<class T>
+inline void check_object_level(){
+    typedef 
+        BOOST_DEDUCED_TYPENAME mpl::greater_equal<
+            serialization::implementation_level< T >,
+            mpl::int_<serialization::primitive_type>
+        >::type typex;
+
+    // trap attempts to serialize objects marked
+    // not_serializable
+    BOOST_STATIC_ASSERT(typex::value);
+}
+
+template<class T>
+inline void check_object_versioning(){
+    typedef 
+        BOOST_DEDUCED_TYPENAME mpl::or_<
+            BOOST_DEDUCED_TYPENAME mpl::greater<
+                serialization::implementation_level< T >,
+                mpl::int_<serialization::object_serializable>
+            >,
+            BOOST_DEDUCED_TYPENAME mpl::equal_to<
+                serialization::version< T >,
+                mpl::int_<0>
+            >
+        > typex;
+    // trap attempts to serialize with objects that don't
+    // save class information in the archive with versioning.
+    BOOST_STATIC_ASSERT(typex::value);
+}
+
+template<class T>
+inline void check_object_tracking(){
+    // presume it has already been determined that
+    // T is not a const
+    BOOST_STATIC_ASSERT(! boost::is_const< T >::value);
+    typedef BOOST_DEDUCED_TYPENAME mpl::equal_to<
+        serialization::tracking_level< T >,
+        mpl::int_<serialization::track_never>
+    >::type typex;
+    // saving an non-const object of a type not marked "track_never)
+
+    // may be an indicator of an error usage of the
+    // serialization library and should be double checked.  
+    // See documentation on object tracking.  Also, see the 
+    // "rationale" section of the documenation
+    // for motivation for this checking.
+
+    BOOST_STATIC_WARNING(typex::value);
+}
+
+// checks for pointers
+
+template<class T>
+inline void check_pointer_level(){
+    // we should only invoke this once we KNOW that T
+    // has been used as a pointer!!
+    typedef 
+        BOOST_DEDUCED_TYPENAME mpl::or_<
+            BOOST_DEDUCED_TYPENAME mpl::greater<
+                serialization::implementation_level< T >,
+                mpl::int_<serialization::object_serializable>
+            >,
+            BOOST_DEDUCED_TYPENAME mpl::not_<
+                BOOST_DEDUCED_TYPENAME mpl::equal_to<
+                    serialization::tracking_level< T >,
+                    mpl::int_<serialization::track_selectively>
+                >
+            >
+        > typex;
+    // Address the following when serializing to a pointer:
+
+    // a) This type doesn't save class information in the
+    // archive. That is, the serialization trait implementation
+    // level <= object_serializable.
+    // b) Tracking for this type is set to "track selectively"
+
+    // in this case, indication that an object is tracked is
+    // not stored in the archive itself - see level == object_serializable
+    // but rather the existence of the operation ar >> T * is used to 
+    // infer that an object of this type should be tracked.  So, if
+    // you save via a pointer but don't load via a pointer the operation
+    // will fail on load without given any valid reason for the failure.
+
+    // So if your program traps here, consider changing the 
+    // tracking or implementation level traits - or not
+    // serializing via a pointer.
+    BOOST_STATIC_WARNING(typex::value);
+}
+
+template<class T>
+void inline check_pointer_tracking(){
+    typedef BOOST_DEDUCED_TYPENAME mpl::greater<
+        serialization::tracking_level< T >,
+        mpl::int_<serialization::track_never>
+    >::type typex;
+    // serializing an object of a type marked "track_never" through a pointer
+    // could result in creating more objects than were saved!
+    BOOST_STATIC_WARNING(typex::value);
+}
+
+template<class T>
+inline void check_const_loading(){
+    typedef
+        BOOST_DEDUCED_TYPENAME mpl::or_<
+            BOOST_DEDUCED_TYPENAME boost::serialization::is_wrapper< T >,
+            BOOST_DEDUCED_TYPENAME mpl::not_<
+                BOOST_DEDUCED_TYPENAME boost::is_const< T >
+            >
+        >::type typex;
+    // cannot load data into a "const" object unless it's a
+    // wrapper around some other non-const object.
+    BOOST_STATIC_ASSERT(typex::value);
+}
+
+} // detail
+} // archive
+} // boost
+
+#endif // BOOST_ARCHIVE_DETAIL_CHECK_HPP
diff --git a/SRC/Serialization/archive/detail/common_iarchive.hpp b/SRC/Serialization/archive/detail/common_iarchive.hpp
new file mode 100755
index 0000000..35e49ca
--- /dev/null
+++ b/SRC/Serialization/archive/detail/common_iarchive.hpp
@@ -0,0 +1,88 @@
+#ifndef BOOST_ARCHIVE_DETAIL_COMMON_IARCHIVE_HPP
+#define BOOST_ARCHIVE_DETAIL_COMMON_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// common_iarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#include <Serialization/archive/detail/basic_iarchive.hpp>
+#include <Serialization/archive/detail/basic_pointer_iserializer.hpp>
+#include <Serialization/archive/detail/interface_iarchive.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+class extended_type_info;
+
+// note: referred to as Curiously Recurring Template Patter (CRTP)
+template<class Archive>
+class common_iarchive : 
+    public basic_iarchive,
+    public interface_iarchive<Archive>
+{
+    friend class interface_iarchive<Archive>;
+private:
+    virtual void vload(version_type & t){
+        * this->This() >> t; 
+    }
+    virtual void vload(object_id_type & t){
+        * this->This() >> t;
+    }
+    virtual void vload(class_id_type & t){
+        * this->This() >> t;
+    }
+    virtual void vload(class_id_optional_type & t){
+        * this->This() >> t;
+    }
+    virtual void vload(tracking_type & t){
+        * this->This() >> t;
+    }
+    virtual void vload(class_name_type &s){
+        * this->This() >> s;
+    }
+protected:
+    // default processing - invoke serialization library
+    template<class T>
+    void load_override(T & t, BOOST_PFTO int){
+        archive::load(* this->This(), t);
+    }
+    // default implementations of functions which emit start/end tags for
+    // archive types that require them.
+    void load_start(const char * /*name*/){}
+    void load_end(const char * /*name*/){}
+    // default archive initialization
+    common_iarchive(unsigned int flags = 0) : 
+        basic_iarchive(flags),
+        interface_iarchive<Archive>()
+    {}
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // BOOST_ARCHIVE_DETAIL_COMMON_IARCHIVE_HPP
+
diff --git a/SRC/Serialization/archive/detail/common_oarchive.hpp b/SRC/Serialization/archive/detail/common_oarchive.hpp
new file mode 100755
index 0000000..e7e1985
--- /dev/null
+++ b/SRC/Serialization/archive/detail/common_oarchive.hpp
@@ -0,0 +1,87 @@
+#ifndef BOOST_ARCHIVE_DETAIL_COMMON_OARCHIVE_HPP
+#define BOOST_ARCHIVE_DETAIL_COMMON_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// common_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#include <Serialization/archive/detail/basic_oarchive.hpp>
+#include <Serialization/archive/detail/interface_oarchive.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+// note: referred to as Curiously Recurring Template Patter (CRTP)
+template<class Archive>
+class common_oarchive : 
+    public basic_oarchive,
+    public interface_oarchive<Archive>
+{
+    friend class interface_oarchive<Archive>;
+private:
+    virtual void vsave(const version_type t){
+        * this->This() << t;
+    }
+    virtual void vsave(const object_id_type t){
+        * this->This() << t;
+    }
+    virtual void vsave(const object_reference_type t){
+        * this->This() << t;
+    }
+    virtual void vsave(const class_id_type t){
+        * this->This() << t;
+    }
+    virtual void vsave(const class_id_reference_type t){
+        * this->This() << t;
+    }
+    virtual void vsave(const class_id_optional_type t){
+        * this->This() << t;
+    }
+    virtual void vsave(const class_name_type & t){
+        * this->This() << t;
+    }
+    virtual void vsave(const tracking_type t){
+        * this->This() << t;
+    }
+protected:
+    // default processing - invoke serialization library
+    template<class T>
+    void save_override(T & t, BOOST_PFTO int){
+        archive::save(* this->This(), t);
+    }
+    void save_start(const char * /*name*/){}
+    void save_end(const char * /*name*/){}
+    common_oarchive(unsigned int flags = 0) : 
+        basic_oarchive(flags),
+        interface_oarchive<Archive>()
+    {}
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // BOOST_ARCHIVE_DETAIL_COMMON_OARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/detail/decl.hpp b/SRC/Serialization/archive/detail/decl.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/detail/decl.hpp
rename to SRC/Serialization/archive/detail/decl.hpp
diff --git a/SRC/Serialization/archive/detail/interface_iarchive.hpp b/SRC/Serialization/archive/detail/interface_iarchive.hpp
new file mode 100755
index 0000000..9f83faa
--- /dev/null
+++ b/SRC/Serialization/archive/detail/interface_iarchive.hpp
@@ -0,0 +1,77 @@
+#ifndef BOOST_ARCHIVE_DETAIL_INTERFACE_IARCHIVE_HPP
+#define BOOST_ARCHIVE_DETAIL_INTERFACE_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// interface_iarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+#include <cstddef> // NULL
+#include <boost/cstdint.hpp>
+#include <boost/mpl/bool.hpp>
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/detail/iserializer.hpp>
+#include <Serialization/singleton.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
+
+template<class Archive>
+class interface_iarchive 
+{
+protected:
+    interface_iarchive(){};
+public:
+    /////////////////////////////////////////////////////////
+    // archive public interface
+    typedef mpl::bool_<true> is_loading;
+    typedef mpl::bool_<false> is_saving;
+
+    // return a pointer to the most derived class
+    Archive * This(){
+        return static_cast<Archive *>(this);
+    }
+
+    template<class T>
+    const basic_pointer_iserializer * 
+    register_type(T * = NULL){
+        const basic_pointer_iserializer & bpis =
+            boost::serialization::singleton<
+                pointer_iserializer<Archive, T> 
+            >::get_const_instance();
+        this->This()->register_basic_serializer(bpis.get_basic_serializer());
+        return & bpis;
+    }
+    template<class T>
+    Archive & operator>>(T & t){
+        this->This()->load_override(t, 0);
+        return * this->This();
+    }
+
+    // the & operator 
+    template<class T>
+    Archive & operator&(T & t){
+        return *(this->This()) >> t;
+    }
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_DETAIL_INTERFACE_IARCHIVE_HPP
diff --git a/SRC/Serialization/archive/detail/interface_oarchive.hpp b/SRC/Serialization/archive/detail/interface_oarchive.hpp
new file mode 100755
index 0000000..a80a89c
--- /dev/null
+++ b/SRC/Serialization/archive/detail/interface_oarchive.hpp
@@ -0,0 +1,84 @@
+#ifndef BOOST_ARCHIVE_DETAIL_INTERFACE_OARCHIVE_HPP
+#define BOOST_ARCHIVE_DETAIL_INTERFACE_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// interface_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+#include <cstddef> // NULL
+#include <boost/cstdint.hpp>
+#include <boost/mpl/bool.hpp>
+
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/detail/oserializer.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#include <Serialization/singleton.hpp>
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
+
+template<class Archive>
+class interface_oarchive 
+{
+protected:
+    interface_oarchive(){};
+public:
+    /////////////////////////////////////////////////////////
+    // archive public interface
+    typedef mpl::bool_<false> is_loading;
+    typedef mpl::bool_<true> is_saving;
+
+    // return a pointer to the most derived class
+    Archive * This(){
+        return static_cast<Archive *>(this);
+    }
+
+    template<class T>
+    const basic_pointer_oserializer * 
+    register_type(const T * = NULL){
+        const basic_pointer_oserializer & bpos =
+            boost::serialization::singleton<
+                pointer_oserializer<Archive, T>
+            >::get_const_instance();
+        this->This()->register_basic_serializer(bpos.get_basic_serializer());
+        return & bpos;
+    }
+
+    template<class T>
+    Archive & operator<<(T & t){
+        this->This()->save_override(t, 0);
+        return * this->This();
+    }
+    
+    // the & operator 
+    template<class T>
+    Archive & operator&(T & t){
+        #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+            return * this->This() << const_cast<const T &>(t);
+        #else
+            return * this->This() << t;
+        #endif
+    }
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_DETAIL_INTERFACE_IARCHIVE_HPP
diff --git a/SRC/Serialization/archive/detail/iserializer.hpp b/SRC/Serialization/archive/detail/iserializer.hpp
new file mode 100755
index 0000000..e522256
--- /dev/null
+++ b/SRC/Serialization/archive/detail/iserializer.hpp
@@ -0,0 +1,632 @@
+#ifndef BOOST_ARCHIVE_DETAIL_ISERIALIZER_HPP
+#define BOOST_ARCHIVE_DETAIL_ISERIALIZER_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#pragma inline_depth(511)
+#pragma inline_recursion(on)
+#endif
+
+#if defined(__MWERKS__)
+#pragma inline_depth(511)
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// iserializer.hpp: interface for serialization system.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <new>     // for placement new
+#include <memory>  // for auto_ptr
+#include <cstddef> // size_t, NULL
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <boost/static_assert.hpp>
+
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/greater_equal.hpp>
+#include <boost/mpl/equal_to.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/detail/no_exceptions_support.hpp>
+
+#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO   
+    #include <Serialization/extended_type_info_typeid.hpp>   
+#endif
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/smart_cast.hpp>
+#include <Serialization/static_warning.hpp>
+
+#include <boost/type_traits/is_pointer.hpp>
+#include <boost/type_traits/is_enum.hpp>
+#include <boost/type_traits/is_const.hpp>
+#include <boost/type_traits/remove_const.hpp>
+#include <boost/type_traits/remove_extent.hpp>
+#include <boost/type_traits/is_polymorphic.hpp>
+
+#include <Serialization/assume_abstract.hpp>
+
+#define DONT_USE_HAS_NEW_OPERATOR (                    \
+    defined(__BORLANDC__)                              \
+    || defined(__IBMCPP__)                             \
+    || defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)     \
+    || defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x590)   \
+)
+
+#if ! DONT_USE_HAS_NEW_OPERATOR
+#include <boost/type_traits/has_new_operator.hpp>
+#endif
+
+#include <Serialization/serialization.hpp>
+#include <Serialization/version.hpp>
+#include <Serialization/level.hpp>
+#include <Serialization/tracking.hpp>
+#include <Serialization/type_info_implementation.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/void_cast.hpp>
+#include <Serialization/array.hpp>
+#include <Serialization/collection_size_type.hpp>
+#include <Serialization/singleton.hpp>
+#include <Serialization/wrapper.hpp>
+
+// the following is need only for dynamic cast of polymorphic pointers
+#include <Serialization/archive/archive_exception.hpp>
+#include <Serialization/archive/detail/basic_iarchive.hpp>
+#include <Serialization/archive/detail/basic_iserializer.hpp>
+#include <Serialization/archive/detail/basic_pointer_iserializer.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+#include <Serialization/archive/detail/check.hpp>
+
+namespace boost {
+
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+
+namespace archive {
+
+// an accessor to permit friend access to archives.  Needed because
+// some compilers don't handle friend templates completely
+class load_access {
+public:
+    template<class Archive, class T>
+    static void load_primitive(Archive &ar, T &t){
+        ar.load(t);
+    }
+};
+
+namespace detail {
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+template<class Archive, class T>
+class iserializer : public basic_iserializer
+{
+private:
+    virtual void destroy(/*const*/ void *address) const {
+        boost::serialization::access::destroy(static_cast<T *>(address));
+    }
+protected:
+    // protected constructor since it's always created by singleton
+    explicit iserializer() :
+        basic_iserializer(
+            boost::serialization::singleton<
+                BOOST_DEDUCED_TYPENAME 
+                boost::serialization::type_info_implementation< T >::type
+            >::get_const_instance()
+        )
+    {}
+public:
+    virtual BOOST_DLLEXPORT void load_object_data(
+        basic_iarchive & ar,
+        void *x, 
+        const unsigned int file_version
+    ) const BOOST_USED;
+    virtual bool class_info() const {
+        return boost::serialization::implementation_level< T >::value 
+            >= boost::serialization::object_class_info;
+    }
+    virtual bool tracking(const unsigned int /* flags */) const {
+        return boost::serialization::tracking_level< T >::value 
+                == boost::serialization::track_always
+            || ( boost::serialization::tracking_level< T >::value 
+                == boost::serialization::track_selectively
+                && serialized_as_pointer());
+    }
+    virtual version_type version() const {
+        return version_type(::boost::serialization::version< T >::value);
+    }
+    virtual bool is_polymorphic() const {
+        return boost::is_polymorphic< T >::value;
+    }
+    virtual ~iserializer(){};
+};
+
+#ifdef BOOST_MSVC
+#  pragma warning(pop)
+#endif
+
+template<class Archive, class T>
+BOOST_DLLEXPORT void iserializer<Archive, T>::load_object_data(
+    basic_iarchive & ar,
+    void *x, 
+    const unsigned int file_version
+) const {
+    // note: we now comment this out. Before we permited archive
+    // version # to be very large.  Now we don't.  To permit
+    // readers of these old archives, we have to suppress this 
+    // code.  Perhaps in the future we might re-enable it but
+    // permit its suppression with a runtime switch.
+    #if 0
+    // trap case where the program cannot handle the current version
+    if(file_version > static_cast<const unsigned int>(version()))
+        boost::serialization::throw_exception(
+            archive::archive_exception(
+                boost::archive::archive_exception::unsupported_class_version,
+                get_debug_info()
+            )
+        );
+    #endif
+    // make sure call is routed through the higest interface that might
+    // be specialized by the user.
+    boost::serialization::serialize_adl(
+        boost::serialization::smart_cast_reference<Archive &>(ar),
+        * static_cast<T *>(x), 
+        file_version
+    );
+}
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+template<class Archive, class T>
+class pointer_iserializer :
+    public basic_pointer_iserializer
+{
+private:
+    virtual const basic_iserializer & get_basic_serializer() const {
+        return boost::serialization::singleton<
+            iserializer<Archive, T>
+        >::get_const_instance();
+    }
+    BOOST_DLLEXPORT virtual void load_object_ptr(
+        basic_iarchive & ar, 
+        void * & x,
+        const unsigned int file_version
+    ) const BOOST_USED;
+protected:
+    // this should alway be a singleton so make the constructor protected
+    pointer_iserializer();
+    ~pointer_iserializer();
+};
+
+#ifdef BOOST_MSVC
+#  pragma warning(pop)
+#endif
+
+// note trick to be sure that operator new is using class specific
+// version if such exists. Due to Peter Dimov.
+// note: the following fails if T has no default constructor.
+// otherwise it would have been ideal
+//struct heap_allocator : public T 
+//{
+//    T * invoke(){
+//        return ::new(sizeof(T));
+//    }
+//}
+
+template<class T>
+struct heap_allocator
+{
+    // boost::has_new_operator< T > doesn't work on these compilers
+    #if DONT_USE_HAS_NEW_OPERATOR
+        // This doesn't handle operator new overload for class T
+        static T * invoke(){
+            return static_cast<T *>(operator new(sizeof(T)));
+        }
+    #else
+        struct has_new_operator {
+            static T* invoke() {
+                return static_cast<T *>((T::operator new)(sizeof(T)));
+            }
+        };
+        struct doesnt_have_new_operator {
+            static T* invoke() {
+                return static_cast<T *>(operator new(sizeof(T)));
+            }
+        };
+        static T * invoke() {
+            typedef BOOST_DEDUCED_TYPENAME
+                mpl::eval_if<
+                    boost::has_new_operator< T >,
+                    mpl::identity<has_new_operator >,
+                    mpl::identity<doesnt_have_new_operator >    
+                >::type typex;
+            return typex::invoke();
+        }
+    #endif
+};
+
+// due to Martin Ecker
+template <typename T>
+class auto_ptr_with_deleter
+{
+public:
+    explicit auto_ptr_with_deleter(T* p) :
+        m_p(p)
+    {}
+    ~auto_ptr_with_deleter(){
+        if (m_p)
+            boost::serialization::access::destroy(m_p);
+    }
+    T* get() const {
+        return m_p;
+    }
+
+    T* release() {
+        T* p = m_p;
+        m_p = NULL;
+        return p;
+    }
+private:
+    T* m_p;
+};
+
+// note: BOOST_DLLEXPORT is so that code for polymorphic class
+// serialized only through base class won't get optimized out
+template<class Archive, class T>
+BOOST_DLLEXPORT void pointer_iserializer<Archive, T>::load_object_ptr(
+    basic_iarchive & ar, 
+    void * & x,
+    const unsigned int file_version
+) const
+{
+    Archive & ar_impl = 
+        boost::serialization::smart_cast_reference<Archive &>(ar);
+
+    auto_ptr_with_deleter< T > ap(heap_allocator< T >::invoke());
+    if(NULL == ap.get())
+        boost::serialization::throw_exception(std::bad_alloc()) ;
+
+    T * t = ap.get();
+    x = t;
+
+    // catch exception during load_construct_data so that we don't
+    // automatically delete the t which is most likely not fully
+    // constructed
+    BOOST_TRY {
+        // this addresses an obscure situtation that occurs when 
+        // load_constructor de-serializes something through a pointer.
+        ar.next_object_pointer(t);
+        boost::serialization::load_construct_data_adl<Archive, T>(
+            ar_impl,
+            t, 
+            file_version
+        );
+    }
+    BOOST_CATCH(...){
+        ap.release();
+        BOOST_RETHROW;
+    }
+    BOOST_CATCH_END
+
+    ar_impl >> boost::serialization::make_nvp(NULL, * t);
+    ap.release();
+}
+
+template<class Archive, class T>
+pointer_iserializer<Archive, T>::pointer_iserializer() :
+    basic_pointer_iserializer(
+        boost::serialization::singleton<
+            BOOST_DEDUCED_TYPENAME 
+            boost::serialization::type_info_implementation< T >::type
+        >::get_const_instance()
+    )
+{
+    boost::serialization::singleton<
+        iserializer<Archive, T>
+    >::get_mutable_instance().set_bpis(this);
+    archive_serializer_map<Archive>::insert(this);
+}
+
+template<class Archive, class T>
+pointer_iserializer<Archive, T>::~pointer_iserializer(){
+    archive_serializer_map<Archive>::erase(this);
+}
+
+template<class Archive>
+struct load_non_pointer_type {
+    // note this bounces the call right back to the archive
+    // with no runtime overhead
+    struct load_primitive {
+        template<class T>
+        static void invoke(Archive & ar, T & t){
+            load_access::load_primitive(ar, t);
+        }
+    };
+    // note this bounces the call right back to the archive
+    // with no runtime overhead
+    struct load_only {
+        template<class T>
+        static void invoke(Archive & ar, const T & t){
+            // short cut to user's serializer
+            // make sure call is routed through the higest interface that might
+            // be specialized by the user.
+            boost::serialization::serialize_adl(
+                ar, 
+                const_cast<T &>(t), 
+                boost::serialization::version< T >::value
+            );
+        }
+    };
+
+    // note this save class information including version
+    // and serialization level to the archive
+    struct load_standard {
+        template<class T>
+        static void invoke(Archive &ar, const T & t){
+            void * x = & const_cast<T &>(t);
+            ar.load_object(
+                x, 
+                boost::serialization::singleton<
+                    iserializer<Archive, T>
+                >::get_const_instance()
+            );
+        }
+    };
+
+    struct load_conditional {
+        template<class T>
+        static void invoke(Archive &ar, T &t){
+            //if(0 == (ar.get_flags() & no_tracking))
+                load_standard::invoke(ar, t);
+            //else
+            //    load_only::invoke(ar, t);
+        }
+    };
+
+    template<class T>
+    static void invoke(Archive & ar, T &t){
+        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
+                // if its primitive
+                mpl::equal_to<
+                    boost::serialization::implementation_level< T >,
+                    mpl::int_<boost::serialization::primitive_type>
+                >,
+                mpl::identity<load_primitive>,
+            // else
+            BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            // class info / version
+            mpl::greater_equal<
+                        boost::serialization::implementation_level< T >,
+                        mpl::int_<boost::serialization::object_class_info>
+                    >,
+            // do standard load
+            mpl::identity<load_standard>,
+        // else
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            // no tracking
+                    mpl::equal_to<
+                        boost::serialization::tracking_level< T >,
+                        mpl::int_<boost::serialization::track_never>
+                >,
+                // do a fast load
+                mpl::identity<load_only>,
+            // else
+            // do a fast load only tracking is turned off
+            mpl::identity<load_conditional>
+        > > >::type typex;
+        check_object_versioning< T >();
+        check_object_level< T >();
+        typex::invoke(ar, t);
+    }
+};
+
+template<class Archive>
+struct load_pointer_type {
+    struct abstract
+    {
+        template<class T>
+        static const basic_pointer_iserializer * register_type(Archive & /* ar */){
+            // it has? to be polymorphic
+            BOOST_STATIC_ASSERT(boost::is_polymorphic< T >::value);
+            return static_cast<basic_pointer_iserializer *>(NULL);
+         }
+    };
+
+    struct non_abstract
+    {
+        template<class T>
+        static const basic_pointer_iserializer * register_type(Archive & ar){
+            return ar.register_type(static_cast<T *>(NULL));
+        }
+    };
+
+    template<class T>
+    static const basic_pointer_iserializer * register_type(Archive &ar, const T & /*t*/){
+        // there should never be any need to load an abstract polymorphic 
+        // class pointer.  Inhibiting code generation for this
+        // permits abstract base classes to be used - note: exception
+        // virtual serialize functions used for plug-ins
+        typedef BOOST_DEDUCED_TYPENAME
+            mpl::eval_if<
+                boost::serialization::is_abstract<const T>,
+                boost::mpl::identity<abstract>,
+                boost::mpl::identity<non_abstract>  
+            >::type typex;
+        return typex::template register_type< T >(ar);
+    }
+
+    template<class T>
+    static T * pointer_tweak(
+        const boost::serialization::extended_type_info & eti,
+        void const * const t,
+        const T &
+    ) {
+        // tweak the pointer back to the base class
+        return static_cast<T *>(
+            const_cast<void *>(
+                boost::serialization::void_upcast(
+                    eti,
+                    boost::serialization::singleton<
+                        BOOST_DEDUCED_TYPENAME 
+                        boost::serialization::type_info_implementation< T >::type
+                    >::get_const_instance(),
+                    t
+                )
+            )
+        );
+    }
+
+    template<class T>
+    static void check_load(T & /* t */){
+        check_pointer_level< T >();
+        check_pointer_tracking< T >();
+    }
+
+    static const basic_pointer_iserializer *
+    find(const boost::serialization::extended_type_info & type){
+        return static_cast<const basic_pointer_iserializer *>(
+            archive_serializer_map<Archive>::find(type)
+        );
+    }
+
+    template<class Tptr>
+    static void invoke(Archive & ar, Tptr & t){
+        check_load(*t);
+        const basic_pointer_iserializer * bpis_ptr = register_type(ar, *t);
+        const basic_pointer_iserializer * newbpis_ptr = ar.load_pointer(
+            // note major hack here !!!
+            // I tried every way to convert Tptr &t (where Tptr might
+            // include const) to void * &.  This is the only way
+            // I could make it work. RR
+            (void * & )t,
+            bpis_ptr,
+            find
+        );
+        // if the pointer isn't that of the base class
+        if(newbpis_ptr != bpis_ptr){
+            t = pointer_tweak(newbpis_ptr->get_eti(), t, *t);
+        }
+    }
+};
+
+template<class Archive>
+struct load_enum_type {
+    template<class T>
+    static void invoke(Archive &ar, T &t){
+        // convert integers to correct enum to load
+        int i;
+        ar >> boost::serialization::make_nvp(NULL, i);
+        t = static_cast< T >(i);
+    }
+};
+
+template<class Archive>
+struct load_array_type {
+    template<class T>
+    static void invoke(Archive &ar, T &t){
+        typedef BOOST_DEDUCED_TYPENAME remove_extent< T >::type value_type;
+        
+        // convert integers to correct enum to load
+        // determine number of elements in the array. Consider the
+        // fact that some machines will align elements on boundries
+        // other than characters.
+        std::size_t current_count = sizeof(t) / (
+            static_cast<char *>(static_cast<void *>(&t[1])) 
+            - static_cast<char *>(static_cast<void *>(&t[0]))
+        );
+        boost::serialization::collection_size_type count;
+        ar >> BOOST_SERIALIZATION_NVP(count);
+        if(static_cast<std::size_t>(count) > current_count)
+            boost::serialization::throw_exception(
+                archive::archive_exception(
+                    boost::archive::archive_exception::array_size_too_short
+                )
+            );
+        ar >> serialization::make_array(static_cast<value_type*>(&t[0]),count);
+    }
+};
+
+} // detail
+
+template<class Archive, class T>
+inline void load(Archive & ar, T &t){
+    // if this assertion trips. It means we're trying to load a
+    // const object with a compiler that doesn't have correct
+    // funtion template ordering.  On other compilers, this is
+    // handled below.
+    detail::check_const_loading< T >();
+    typedef
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<is_pointer< T >,
+            mpl::identity<detail::load_pointer_type<Archive> >
+        ,//else
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<is_array< T >,
+            mpl::identity<detail::load_array_type<Archive> >
+        ,//else
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<is_enum< T >,
+            mpl::identity<detail::load_enum_type<Archive> >
+        ,//else
+            mpl::identity<detail::load_non_pointer_type<Archive> >
+        >
+        >
+        >::type typex;
+    typex::invoke(ar, t);
+}
+
+#if 0
+
+// BORLAND
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
+// borland has a couple of problems
+// a) if function is partially specialized - see below
+// const paramters are transformed to non-const ones
+// b) implementation of base_object can't be made to work
+// correctly which results in all base_object s being const.
+// So, strip off the const for borland.  This breaks the trap
+// for loading const objects - but I see no alternative
+template<class Archive, class T>
+inline void load(Archive &ar, const T & t){
+    load(ar, const_cast<T &>(t));
+}
+#endif
+
+// let wrappers through.
+#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+template<class Archive, class T>
+inline void load_wrapper(Archive &ar, const T&t, mpl::true_){
+    boost::archive::load(ar, const_cast<T&>(t));
+}
+
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
+template<class Archive, class T>
+inline void load(Archive &ar, const T&t){
+  load_wrapper(ar,t,serialization::is_wrapper< T >());
+}
+#endif 
+#endif
+
+#endif
+
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_ARCHIVE_DETAIL_ISERIALIZER_HPP
diff --git a/SRC/Serialization/archive/detail/oserializer.hpp b/SRC/Serialization/archive/detail/oserializer.hpp
new file mode 100755
index 0000000..045784b
--- /dev/null
+++ b/SRC/Serialization/archive/detail/oserializer.hpp
@@ -0,0 +1,531 @@
+#ifndef BOOST_ARCHIVE_OSERIALIZER_HPP
+#define BOOST_ARCHIVE_OSERIALIZER_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#pragma inline_depth(511)
+#pragma inline_recursion(on)
+#endif
+
+#if defined(__MWERKS__)
+#pragma inline_depth(511)
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// oserializer.hpp: interface for serialization system.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+#include <cstddef> // NULL
+
+#include <boost/config.hpp>
+#include <boost/static_assert.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/equal_to.hpp>
+#include <boost/mpl/greater_equal.hpp>
+#include <boost/mpl/identity.hpp>
+
+#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO   
+    #include <Serialization/extended_type_info_typeid.hpp>   
+#endif
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/smart_cast.hpp>
+#include <Serialization/assume_abstract.hpp>
+#include <Serialization/static_warning.hpp>
+
+#include <boost/type_traits/is_pointer.hpp>
+#include <boost/type_traits/is_enum.hpp>
+#include <boost/type_traits/is_const.hpp>
+#include <boost/type_traits/is_polymorphic.hpp>
+#include <boost/type_traits/remove_extent.hpp>
+
+#include <Serialization/serialization.hpp>
+#include <Serialization/version.hpp>
+#include <Serialization/level.hpp>
+#include <Serialization/tracking.hpp>
+#include <Serialization/type_info_implementation.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/void_cast.hpp>
+#include <Serialization/array.hpp>
+#include <Serialization/collection_size_type.hpp>
+#include <Serialization/singleton.hpp>
+
+#include <Serialization/archive/archive_exception.hpp>
+#include <Serialization/archive/detail/basic_oarchive.hpp>
+#include <Serialization/archive/detail/basic_oserializer.hpp>
+#include <Serialization/archive/detail/basic_pointer_oserializer.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+#include <Serialization/archive/detail/check.hpp>
+
+namespace boost {
+
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+
+namespace archive {
+
+// an accessor to permit friend access to archives.  Needed because
+// some compilers don't handle friend templates completely
+class save_access {
+public:
+    template<class Archive>
+    static void end_preamble(Archive & ar){
+        ar.end_preamble();
+    }
+    template<class Archive, class T>
+    static void save_primitive(Archive & ar, const  T & t){
+        ar.end_preamble();
+        ar.save(t);
+    }
+};
+
+namespace detail {
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+template<class Archive, class T>
+class oserializer : public basic_oserializer
+{
+private:
+    // private constructor to inhibit any existence other than the 
+    // static one
+public:
+    explicit BOOST_DLLEXPORT oserializer() :
+        basic_oserializer(
+            boost::serialization::singleton<
+                BOOST_DEDUCED_TYPENAME 
+                boost::serialization::type_info_implementation< T >::type
+            >::get_const_instance()
+        )
+    {}
+    virtual BOOST_DLLEXPORT void save_object_data(
+        basic_oarchive & ar,    
+        const void *x
+    ) const BOOST_USED;
+    virtual bool class_info() const {
+        return boost::serialization::implementation_level< T >::value 
+            >= boost::serialization::object_class_info;
+    }
+    virtual bool tracking(const unsigned int /* flags */) const {
+        return boost::serialization::tracking_level< T >::value == boost::serialization::track_always
+            || (boost::serialization::tracking_level< T >::value == boost::serialization::track_selectively
+                && serialized_as_pointer());
+    }
+    virtual version_type version() const {
+        return version_type(::boost::serialization::version< T >::value);
+    }
+    virtual bool is_polymorphic() const {
+        return boost::is_polymorphic< T >::value;
+    }
+    virtual ~oserializer(){}
+};
+
+#ifdef BOOST_MSVC
+#  pragma warning(pop)
+#endif
+
+template<class Archive, class T>
+BOOST_DLLEXPORT void oserializer<Archive, T>::save_object_data(
+    basic_oarchive & ar,    
+    const void *x
+) const {
+    // make sure call is routed through the highest interface that might
+    // be specialized by the user.
+    BOOST_STATIC_ASSERT(boost::is_const< T >::value == false);
+    boost::serialization::serialize_adl(
+        boost::serialization::smart_cast_reference<Archive &>(ar),
+        * static_cast<T *>(const_cast<void *>(x)),
+        version()
+    );
+}
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+template<class Archive, class T>
+class pointer_oserializer :
+    public basic_pointer_oserializer
+{
+private:
+    const basic_oserializer & 
+    get_basic_serializer() const {
+        return boost::serialization::singleton<
+            oserializer<Archive, T>
+        >::get_const_instance();
+    }
+    virtual BOOST_DLLEXPORT void save_object_ptr(
+        basic_oarchive & ar,
+        const void * x
+    ) const BOOST_USED;
+public:
+    pointer_oserializer();
+    ~pointer_oserializer();
+};
+
+#ifdef BOOST_MSVC
+#  pragma warning(pop)
+#endif
+
+template<class Archive, class T>
+BOOST_DLLEXPORT void pointer_oserializer<Archive, T>::save_object_ptr(
+    basic_oarchive & ar,
+    const void * x
+) const {
+    BOOST_ASSERT(NULL != x);
+    // make sure call is routed through the highest interface that might
+    // be specialized by the user.
+    T * t = static_cast<T *>(const_cast<void *>(x));
+    const unsigned int file_version = boost::serialization::version< T >::value;
+    Archive & ar_impl 
+        = boost::serialization::smart_cast_reference<Archive &>(ar);
+    boost::serialization::save_construct_data_adl<Archive, T>(
+        ar_impl, 
+        t, 
+        file_version
+    );
+    ar_impl << boost::serialization::make_nvp(NULL, * t);
+}
+
+template<class Archive, class T>
+pointer_oserializer<Archive, T>::pointer_oserializer() :
+    basic_pointer_oserializer(
+        boost::serialization::singleton<
+            BOOST_DEDUCED_TYPENAME 
+            boost::serialization::type_info_implementation< T >::type
+        >::get_const_instance()
+    )
+{
+    // make sure appropriate member function is instantiated
+    boost::serialization::singleton<
+        oserializer<Archive, T> 
+    >::get_mutable_instance().set_bpos(this);
+    archive_serializer_map<Archive>::insert(this);
+}
+
+template<class Archive, class T>
+pointer_oserializer<Archive, T>::~pointer_oserializer(){
+    archive_serializer_map<Archive>::erase(this);
+}
+
+template<class Archive>
+struct save_non_pointer_type {
+    // note this bounces the call right back to the archive
+    // with no runtime overhead
+    struct save_primitive {
+        template<class T>
+        static void invoke(Archive & ar, const T & t){
+            save_access::save_primitive(ar, t);
+        }
+    };
+    // same as above but passes through serialization
+    struct save_only {
+        template<class T>
+        static void invoke(Archive & ar, const T & t){
+            // make sure call is routed through the highest interface that might
+            // be specialized by the user.
+            boost::serialization::serialize_adl(
+                ar, 
+                const_cast<T &>(t), 
+                ::boost::serialization::version< T >::value
+            );
+        }
+    };
+    // adds class information to the archive. This includes
+    // serialization level and class version
+    struct save_standard {
+        template<class T>
+        static void invoke(Archive &ar, const T & t){
+            ar.save_object(
+                & t, 
+                boost::serialization::singleton<
+                    oserializer<Archive, T>
+                >::get_const_instance()
+            );
+        }
+    };
+
+    // adds class information to the archive. This includes
+    // serialization level and class version
+    struct save_conditional {
+        template<class T>
+        static void invoke(Archive &ar, const T &t){
+            //if(0 == (ar.get_flags() & no_tracking))
+                save_standard::invoke(ar, t);
+            //else
+            //   save_only::invoke(ar, t);
+        }
+    };
+
+
+    template<class T>
+    static void invoke(Archive & ar, const T & t){
+        typedef 
+            BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            // if its primitive
+                mpl::equal_to<
+                    boost::serialization::implementation_level< T >,
+                    mpl::int_<boost::serialization::primitive_type>
+                >,
+                mpl::identity<save_primitive>,
+            // else
+            BOOST_DEDUCED_TYPENAME mpl::eval_if<
+                // class info / version
+                mpl::greater_equal<
+                    boost::serialization::implementation_level< T >,
+                    mpl::int_<boost::serialization::object_class_info>
+                >,
+                // do standard save
+                mpl::identity<save_standard>,
+            // else
+            BOOST_DEDUCED_TYPENAME mpl::eval_if<
+                    // no tracking
+                mpl::equal_to<
+                    boost::serialization::tracking_level< T >,
+                    mpl::int_<boost::serialization::track_never>
+                >,
+                // do a fast save
+                mpl::identity<save_only>,
+            // else
+                // do a fast save only tracking is turned off
+                mpl::identity<save_conditional>
+            > > >::type typex; 
+        check_object_versioning< T >();
+        typex::invoke(ar, t);
+    }
+    template<class T>
+    static void invoke(Archive & ar, T & t){
+        check_object_level< T >();
+        check_object_tracking< T >();
+        invoke(ar, const_cast<const T &>(t));
+    }
+};
+
+template<class Archive>
+struct save_pointer_type {
+    struct abstract
+    {
+        template<class T>
+        static const basic_pointer_oserializer * register_type(Archive & /* ar */){
+            // it has? to be polymorphic
+            BOOST_STATIC_ASSERT(boost::is_polymorphic< T >::value);
+            return NULL;
+        }
+    };
+
+    struct non_abstract
+    {
+        template<class T>
+        static const basic_pointer_oserializer * register_type(Archive & ar){
+            return ar.register_type(static_cast<T *>(NULL));
+        }
+    };
+
+    template<class T>
+    static const basic_pointer_oserializer * register_type(Archive &ar, T & /*t*/){
+        // there should never be any need to save an abstract polymorphic 
+        // class pointer.  Inhibiting code generation for this
+        // permits abstract base classes to be used - note: exception
+        // virtual serialize functions used for plug-ins
+        typedef 
+            BOOST_DEDUCED_TYPENAME mpl::eval_if<
+                boost::serialization::is_abstract< T >,
+                mpl::identity<abstract>,
+                mpl::identity<non_abstract>       
+            >::type typex;
+        return typex::template register_type< T >(ar);
+    }
+
+    struct non_polymorphic
+    {
+        template<class T>
+        static void save(
+            Archive &ar, 
+            T & t
+        ){
+            const basic_pointer_oserializer & bpos = 
+                boost::serialization::singleton<
+                    pointer_oserializer<Archive, T>
+                >::get_const_instance();
+            // save the requested pointer type
+            ar.save_pointer(& t, & bpos);
+        }
+    };
+
+    struct polymorphic
+    {
+        template<class T>
+        static void save(
+            Archive &ar, 
+            T & t
+        ){
+            BOOST_DEDUCED_TYPENAME 
+            boost::serialization::type_info_implementation< T >::type const
+            & i = boost::serialization::singleton<
+                BOOST_DEDUCED_TYPENAME 
+                boost::serialization::type_info_implementation< T >::type
+            >::get_const_instance();
+
+            boost::serialization::extended_type_info const * const this_type = & i;
+
+            // retrieve the true type of the object pointed to
+            // if this assertion fails its an error in this library
+            BOOST_ASSERT(NULL != this_type);
+
+            const boost::serialization::extended_type_info * true_type =
+                i.get_derived_extended_type_info(t);
+
+            // note:if this exception is thrown, be sure that derived pointer
+            // is either registered or exported.
+            if(NULL == true_type){
+                boost::serialization::throw_exception(
+                    archive_exception(
+                        archive_exception::unregistered_class,
+                        "derived class not registered or exported"
+                    )
+                );
+            }
+
+            // if its not a pointer to a more derived type
+            const void *vp = static_cast<const void *>(&t);
+            if(*this_type == *true_type){
+                const basic_pointer_oserializer * bpos = register_type(ar, t);
+                ar.save_pointer(vp, bpos);
+                return;
+            }
+            // convert pointer to more derived type. if this is thrown
+            // it means that the base/derived relationship hasn't be registered
+            vp = serialization::void_downcast(
+                *true_type, 
+                *this_type, 
+                static_cast<const void *>(&t)
+            );
+            if(NULL == vp){
+                boost::serialization::throw_exception(
+                    archive_exception(
+                        archive_exception::unregistered_cast,
+                        true_type->get_debug_info(),
+                        this_type->get_debug_info()
+                    )
+                );
+            }
+
+            // since true_type is valid, and this only gets made if the 
+            // pointer oserializer object has been created, this should never
+            // fail
+            const basic_pointer_oserializer * bpos
+                = static_cast<const basic_pointer_oserializer *>(
+                    boost::serialization::singleton<
+                        archive_serializer_map<Archive>
+                    >::get_const_instance().find(*true_type)
+                );
+            BOOST_ASSERT(NULL != bpos);
+            if(NULL == bpos)
+                boost::serialization::throw_exception(
+                    archive_exception(
+                        archive_exception::unregistered_class,
+                        "derived class not registered or exported"
+                    )
+                );
+            ar.save_pointer(vp, bpos);
+        }
+    };
+
+    template<class T>
+    static void save(
+        Archive & ar, 
+        const T & t
+    ){
+        check_pointer_level< T >();
+        check_pointer_tracking< T >();
+        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            is_polymorphic< T >,
+            mpl::identity<polymorphic>,
+            mpl::identity<non_polymorphic>
+        >::type type;
+        type::save(ar, const_cast<T &>(t));
+    }
+
+    template<class TPtr>
+    static void invoke(Archive &ar, const TPtr t){
+        register_type(ar, * t);
+        if(NULL == t){
+            basic_oarchive & boa 
+                = boost::serialization::smart_cast_reference<basic_oarchive &>(ar);
+            boa.save_null_pointer();
+            save_access::end_preamble(ar);
+            return;
+        }
+        save(ar, * t);
+    }
+};
+
+template<class Archive>
+struct save_enum_type
+{
+    template<class T>
+    static void invoke(Archive &ar, const T &t){
+        // convert enum to integers on save
+        const int i = static_cast<int>(t);
+        ar << boost::serialization::make_nvp(NULL, i);
+    }
+};
+
+template<class Archive>
+struct save_array_type
+{
+    template<class T>
+    static void invoke(Archive &ar, const T &t){
+        typedef BOOST_DEDUCED_TYPENAME boost::remove_extent< T >::type value_type;
+        
+        save_access::end_preamble(ar);
+        // consider alignment
+        std::size_t c = sizeof(t) / (
+            static_cast<const char *>(static_cast<const void *>(&t[1])) 
+            - static_cast<const char *>(static_cast<const void *>(&t[0]))
+        );
+        boost::serialization::collection_size_type count(c);
+        ar << BOOST_SERIALIZATION_NVP(count);
+        ar << serialization::make_array(static_cast<value_type const*>(&t[0]),count);
+    }
+};
+
+} // detail
+
+template<class Archive, class T>
+inline void save(Archive & ar, /*const*/ T &t){
+    typedef 
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<is_pointer< T >,
+            mpl::identity<detail::save_pointer_type<Archive> >,
+        //else
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<is_enum< T >,
+            mpl::identity<detail::save_enum_type<Archive> >,
+        //else
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<is_array< T >,
+            mpl::identity<detail::save_array_type<Archive> >,
+        //else
+            mpl::identity<detail::save_non_pointer_type<Archive> >
+        >
+        >
+        >::type typex;
+    typex::invoke(ar, t);
+}
+
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_ARCHIVE_OSERIALIZER_HPP
diff --git a/SRC/Serialization/archive/detail/polymorphic_iarchive_route.hpp b/SRC/Serialization/archive/detail/polymorphic_iarchive_route.hpp
new file mode 100755
index 0000000..e6aa1be
--- /dev/null
+++ b/SRC/Serialization/archive/detail/polymorphic_iarchive_route.hpp
@@ -0,0 +1,215 @@
+#ifndef BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_ROUTE_HPP
+#define BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_ROUTE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_iarchive_route.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <string>
+#include <ostream>
+#include <cstddef>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+    using ::size_t;
+} // namespace std
+#endif
+
+#include <boost/cstdint.hpp>
+#include <boost/integer_traits.hpp>
+#include <Serialization/archive/polymorphic_iarchive.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+namespace archive {
+namespace detail{
+
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer;
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+template<class ArchiveImplementation>
+class polymorphic_iarchive_route :
+    public polymorphic_iarchive,
+    // note: gcc dynamic cross cast fails if the the derivation below is
+    // not public.  I think this is a mistake.
+    public /*protected*/ ArchiveImplementation
+{
+private:
+    // these are used by the serialization library.
+    virtual void load_object(
+        void *t,
+        const basic_iserializer & bis
+    ){
+        ArchiveImplementation::load_object(t, bis);
+    }
+    virtual const basic_pointer_iserializer * load_pointer(
+        void * & t,
+        const basic_pointer_iserializer * bpis_ptr,
+        const basic_pointer_iserializer * (*finder)(
+            const boost::serialization::extended_type_info & type
+        )
+    ){
+        return ArchiveImplementation::load_pointer(t, bpis_ptr, finder);
+    }
+    virtual void set_library_version(library_version_type archive_library_version){
+        ArchiveImplementation::set_library_version(archive_library_version);
+    }
+    virtual library_version_type get_library_version() const{
+        return ArchiveImplementation::get_library_version();
+    }
+    virtual unsigned int get_flags() const {
+        return ArchiveImplementation::get_flags();
+    }
+    virtual void delete_created_pointers(){
+        ArchiveImplementation::delete_created_pointers();
+    }
+    virtual void reset_object_address(
+        const void * new_address,
+        const void * old_address
+    ){
+        ArchiveImplementation::reset_object_address(new_address, old_address);
+    }
+    virtual void load_binary(void * t, std::size_t size){
+        ArchiveImplementation::load_binary(t, size);
+    }
+    // primitive types the only ones permitted by polymorphic archives
+    virtual void load(bool & t){
+        ArchiveImplementation::load(t);
+    }
+    virtual void load(char & t){
+        ArchiveImplementation::load(t);
+    }
+    virtual void load(signed char & t){
+        ArchiveImplementation::load(t);
+    }
+    virtual void load(unsigned char & t){
+        ArchiveImplementation::load(t);
+    }
+    #ifndef BOOST_NO_CWCHAR
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    virtual void load(wchar_t & t){
+        ArchiveImplementation::load(t);
+    }
+    #endif
+    #endif
+    virtual void load(short & t){
+        ArchiveImplementation::load(t);
+    }
+    virtual void load(unsigned short & t){
+        ArchiveImplementation::load(t);
+    }
+    virtual void load(int & t){
+        ArchiveImplementation::load(t);
+    }
+    virtual void load(unsigned int & t){
+        ArchiveImplementation::load(t);
+    }
+    virtual void load(long & t){
+        ArchiveImplementation::load(t);
+    }
+    virtual void load(unsigned long & t){
+        ArchiveImplementation::load(t);
+    }
+    #if defined(BOOST_HAS_LONG_LONG)
+    virtual void load(boost::long_long_type & t){
+        ArchiveImplementation::load(t);
+    }
+    virtual void load(boost::ulong_long_type & t){
+        ArchiveImplementation::load(t);
+    }
+    #elif defined(BOOST_HAS_MS_INT64)
+    virtual void load(__int64 & t){
+        ArchiveImplementation::load(t);
+    }
+    virtual void load(unsigned __int64 & t){
+        ArchiveImplementation::load(t);
+    }
+    #endif
+    virtual void load(float & t){
+        ArchiveImplementation::load(t);
+    }
+    virtual void load(double & t){
+        ArchiveImplementation::load(t);
+    }
+    virtual void load(std::string & t){
+        ArchiveImplementation::load(t);
+    }
+    #ifndef BOOST_NO_STD_WSTRING
+    virtual void load(std::wstring & t){
+        ArchiveImplementation::load(t);
+    }
+    #endif
+    // used for xml and other tagged formats default does nothing
+    virtual void load_start(const char * name){
+        ArchiveImplementation::load_start(name);
+    }
+    virtual void load_end(const char * name){
+        ArchiveImplementation::load_end(name);
+    }
+
+    virtual void register_basic_serializer(const basic_iserializer & bis){
+        ArchiveImplementation::register_basic_serializer(bis);
+    }
+public:
+    // this can't be inheriteded because they appear in mulitple
+    // parents
+    typedef mpl::bool_<true> is_loading;
+    typedef mpl::bool_<false> is_saving;
+    // the >> operator
+    template<class T>
+    polymorphic_iarchive & operator>>(T & t){
+        return polymorphic_iarchive::operator>>(t);
+    }
+    // the & operator
+    template<class T>
+    polymorphic_iarchive & operator&(T & t){
+        return polymorphic_iarchive::operator&(t);
+    }
+    // register type function
+    template<class T>
+    const basic_pointer_iserializer * 
+    register_type(T * t = NULL){
+        return ArchiveImplementation::register_type(t);
+    }
+    // all current archives take a stream as constructor argument
+    template <class _Elem, class _Tr>
+    polymorphic_iarchive_route(
+        std::basic_istream<_Elem, _Tr> & is,
+        unsigned int flags = 0
+    ) :
+        ArchiveImplementation(is, flags)
+    {}
+    virtual ~polymorphic_iarchive_route(){};
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_DISPATCH_HPP
diff --git a/SRC/Serialization/archive/detail/polymorphic_oarchive_route.hpp b/SRC/Serialization/archive/detail/polymorphic_oarchive_route.hpp
new file mode 100755
index 0000000..530ec0b
--- /dev/null
+++ b/SRC/Serialization/archive/detail/polymorphic_oarchive_route.hpp
@@ -0,0 +1,205 @@
+#ifndef BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_ROUTE_HPP
+#define BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_ROUTE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_oarchive_route.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <string>
+#include <ostream>
+#include <cstddef> // size_t
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+    using ::size_t;
+} // namespace std
+#endif
+
+#include <boost/cstdint.hpp>
+#include <boost/integer_traits.hpp>
+#include <Serialization/archive/polymorphic_oarchive.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+namespace archive {
+namespace detail{
+
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer;
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+template<class ArchiveImplementation>
+class polymorphic_oarchive_route :
+    public polymorphic_oarchive,
+    // note: gcc dynamic cross cast fails if the the derivation below is
+    // not public.  I think this is a mistake.
+    public /*protected*/ ArchiveImplementation
+{
+private:
+    // these are used by the serialization library.
+    virtual void save_object(
+        const void *x,
+        const detail::basic_oserializer & bos
+    ){
+        ArchiveImplementation::save_object(x, bos);
+    }
+    virtual void save_pointer(
+        const void * t,
+        const detail::basic_pointer_oserializer * bpos_ptr
+    ){
+        ArchiveImplementation::save_pointer(t, bpos_ptr);
+    }
+    virtual void save_null_pointer(){
+        ArchiveImplementation::save_null_pointer();
+    }
+    // primitive types the only ones permitted by polymorphic archives
+    virtual void save(const bool t){
+        ArchiveImplementation::save(t);
+    }
+    virtual void save(const char t){
+        ArchiveImplementation::save(t);
+    }
+    virtual void save(const signed char t){
+        ArchiveImplementation::save(t);
+    }
+    virtual void save(const unsigned char t){
+        ArchiveImplementation::save(t);
+    }
+    #ifndef BOOST_NO_CWCHAR
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    virtual void save(const wchar_t t){
+        ArchiveImplementation::save(t);
+    }
+    #endif
+    #endif
+    virtual void save(const short t){
+        ArchiveImplementation::save(t);
+    }
+    virtual void save(const unsigned short t){
+        ArchiveImplementation::save(t);
+    }
+    virtual void save(const int t){
+        ArchiveImplementation::save(t);
+    }
+    virtual void save(const unsigned int t){
+        ArchiveImplementation::save(t);
+    }
+    virtual void save(const long t){
+        ArchiveImplementation::save(t);
+    }
+    virtual void save(const unsigned long t){
+        ArchiveImplementation::save(t);
+    }
+    #if defined(BOOST_HAS_LONG_LONG)
+    virtual void save(const boost::long_long_type t){
+        ArchiveImplementation::save(t);
+    }
+    virtual void save(const boost::ulong_long_type t){
+        ArchiveImplementation::save(t);
+    }
+    #elif defined(BOOST_HAS_MS_INT64)
+    virtual void save(const boost::int64_t t){
+        ArchiveImplementation::save(t);
+    }
+    virtual void save(const boost::uint64_t t){
+        ArchiveImplementation::save(t);
+    }
+    #endif
+    virtual void save(const float t){
+        ArchiveImplementation::save(t);
+    }
+    virtual void save(const double t){
+        ArchiveImplementation::save(t);
+    }
+    virtual void save(const std::string & t){
+        ArchiveImplementation::save(t);
+    }
+    #ifndef BOOST_NO_STD_WSTRING
+    virtual void save(const std::wstring & t){
+        ArchiveImplementation::save(t);
+    }
+    #endif
+    virtual library_version_type get_library_version() const{
+        return ArchiveImplementation::get_library_version();
+    }
+    virtual unsigned int get_flags() const {
+        return ArchiveImplementation::get_flags();
+    }
+    virtual void save_binary(const void * t, std::size_t size){
+        ArchiveImplementation::save_binary(t, size);
+    }
+    // used for xml and other tagged formats default does nothing
+    virtual void save_start(const char * name){
+        ArchiveImplementation::save_start(name);
+    }
+    virtual void save_end(const char * name){
+        ArchiveImplementation::save_end(name);
+    }
+    virtual void end_preamble(){
+        ArchiveImplementation::end_preamble();
+    }
+    virtual void register_basic_serializer(const detail::basic_oserializer & bos){
+        ArchiveImplementation::register_basic_serializer(bos);
+    }
+public:
+    // this can't be inheriteded because they appear in mulitple
+    // parents
+    typedef mpl::bool_<false> is_loading;
+    typedef mpl::bool_<true> is_saving;
+    // the << operator
+    template<class T>
+    polymorphic_oarchive & operator<<(T & t){
+        return polymorphic_oarchive::operator<<(t);
+    }
+    // the & operator
+    template<class T>
+    polymorphic_oarchive & operator&(T & t){
+        return polymorphic_oarchive::operator&(t);
+    }
+    // register type function
+    template<class T>
+    const basic_pointer_oserializer * 
+    register_type(T * t = NULL){
+        return ArchiveImplementation::register_type(t);
+    }
+    // all current archives take a stream as constructor argument
+    template <class _Elem, class _Tr>
+    polymorphic_oarchive_route(
+        std::basic_ostream<_Elem, _Tr> & os,
+        unsigned int flags = 0
+    ) :
+        ArchiveImplementation(os, flags)
+    {}
+    virtual ~polymorphic_oarchive_route(){};
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_DISPATCH_HPP
diff --git a/SRC/Boost/boost/archive/detail/register_archive.hpp b/SRC/Serialization/archive/detail/register_archive.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/detail/register_archive.hpp
rename to SRC/Serialization/archive/detail/register_archive.hpp
diff --git a/SRC/Boost/boost/archive/detail/utf8_codecvt_facet.hpp b/SRC/Serialization/archive/detail/utf8_codecvt_facet.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/detail/utf8_codecvt_facet.hpp
rename to SRC/Serialization/archive/detail/utf8_codecvt_facet.hpp
diff --git a/SRC/Boost/boost/archive/dinkumware.hpp b/SRC/Serialization/archive/dinkumware.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/dinkumware.hpp
rename to SRC/Serialization/archive/dinkumware.hpp
diff --git a/SRC/Serialization/archive/impl/archive_serializer_map.ipp b/SRC/Serialization/archive/impl/archive_serializer_map.ipp
new file mode 100755
index 0000000..2b48fd0
--- /dev/null
+++ b/SRC/Serialization/archive/impl/archive_serializer_map.ipp
@@ -0,0 +1,71 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// archive_serializer_map.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+//////////////////////////////////////////////////////////////////////
+// implementation of basic_text_iprimitive overrides for the combination
+// of template parameters used to implement a text_iprimitive
+
+#include <boost/config.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+#include <Serialization/archive/detail/basic_serializer_map.hpp>
+#include <Serialization/singleton.hpp>
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace extra_detail { // anon
+    template<class Archive>
+    class map : public basic_serializer_map 
+    {};
+}
+
+#ifdef BOOST_MSVC
+#  pragma warning(pop)
+#endif
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(bool)
+archive_serializer_map<Archive>::insert(const basic_serializer * bs){
+    return boost::serialization::singleton<
+        extra_detail::map<Archive>
+    >::get_mutable_instance().insert(bs);
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+archive_serializer_map<Archive>::erase(const basic_serializer * bs){
+    if(boost::serialization::singleton<
+        extra_detail::map<Archive>
+    >::is_destroyed())
+        return;
+    boost::serialization::singleton<
+        extra_detail::map<Archive>
+    >::get_mutable_instance().erase(bs);
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(const basic_serializer *) 
+archive_serializer_map<Archive>::find(
+    const boost::serialization::extended_type_info & eti
+) {
+    return boost::serialization::singleton<
+        extra_detail::map<Archive>
+    >::get_const_instance().find(eti);
+}
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/basic_binary_iarchive.ipp b/SRC/Serialization/archive/impl/basic_binary_iarchive.ipp
new file mode 100755
index 0000000..9a467ca
--- /dev/null
+++ b/SRC/Serialization/archive/impl/basic_binary_iarchive.ipp
@@ -0,0 +1,129 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_binary_iarchive.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+#include <string>
+#include <boost/assert.hpp>
+#include <algorithm>
+#include <cstring>
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::memcpy; 
+    using ::strlen;
+    using ::size_t;
+}
+#endif
+
+#include <boost/detail/workaround.hpp>
+#include <boost/detail/endian.hpp>
+
+#include <Serialization/archive/basic_binary_iarchive.hpp>
+
+namespace boost {
+namespace archive {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// implementation of binary_binary_archive
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_binary_iarchive<Archive>::load_override(class_name_type & t, int){
+    std::string cn;
+    cn.reserve(BOOST_SERIALIZATION_MAX_KEY_SIZE);
+    load_override(cn, 0);
+    if(cn.size() > (BOOST_SERIALIZATION_MAX_KEY_SIZE - 1))
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::invalid_class_name)
+        );
+    std::memcpy(t, cn.data(), cn.size());
+    // borland tweak
+    t.t[cn.size()] = '\0';
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_binary_iarchive<Archive>::init(){
+    // read signature in an archive version independent manner
+    std::string file_signature;
+    try {
+        std::size_t l;
+        this->This()->load(l);
+        if(l == std::strlen(BOOST_ARCHIVE_SIGNATURE())) {
+            // borland de-allocator fixup
+            #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
+            if(NULL != file_signature.data())
+            #endif
+                file_signature.resize(l);
+            // note breaking a rule here - could be a problem on some platform
+            if(0 < l)
+                this->This()->load_binary(&(*file_signature.begin()), l);
+        }
+    }
+    catch(archive_exception const &) {  // catch stream_error archive exceptions
+        // will cause invalid_signature archive exception to be thrown below
+        file_signature = "";   
+    }
+    if(file_signature != BOOST_ARCHIVE_SIGNATURE())
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::invalid_signature)
+        );
+
+    // make sure the version of the reading archive library can
+    // support the format of the archive being read
+    library_version_type input_library_version;
+    //* this->This() >> input_library_version;
+    {
+        int v = 0;
+        v = this->This()->m_sb.sbumpc();
+        #if defined(BOOST_LITTLE_ENDIAN)
+        if(v < 6){
+            ;
+        }
+        else
+        if(v < 7){
+            // version 6 - next byte should be zero
+            this->This()->m_sb.sbumpc();
+        }
+        else
+        if(v < 8){
+            int x1;
+            // version 7 = might be followed by zero or some other byte
+            x1 = this->This()->m_sb.sgetc();
+            // it's =a zero, push it back
+            if(0 == x1)
+                this->This()->m_sb.sbumpc();
+        }
+        else{
+            // version 8+ followed by a zero
+            this->This()->m_sb.sbumpc();
+        }
+        #elif defined(BOOST_BIG_ENDIAN)
+        if(v == 0)
+            v = this->This()->m_sb.sbumpc();
+        #endif
+        input_library_version = static_cast<library_version_type>(v);
+    }
+    
+    #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
+    this->set_library_version(input_library_version);
+    #else
+    #if ! BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
+    detail::
+    #endif
+    basic_iarchive::set_library_version(input_library_version);
+    #endif
+    
+    if(BOOST_ARCHIVE_VERSION() < input_library_version)
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::unsupported_version)
+        );
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/basic_binary_iprimitive.ipp b/SRC/Serialization/archive/impl/basic_binary_iprimitive.ipp
new file mode 100755
index 0000000..139dc4c
--- /dev/null
+++ b/SRC/Serialization/archive/impl/basic_binary_iprimitive.ipp
@@ -0,0 +1,209 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_binary_iprimitive.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+#include <cstddef> // size_t, NULL
+#include <cstring> // memcpy
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t;
+    using ::memcpy;
+} // namespace std
+#endif
+
+#include <boost/detail/workaround.hpp> // fixup for RogueWave
+
+#include <Serialization/throw_exception.hpp>
+#include <boost/scoped_ptr.hpp>
+
+#include <Serialization/archive/archive_exception.hpp>
+#include <Serialization/archive/codecvt_null.hpp>
+#include <Serialization/archive/add_facet.hpp>
+
+namespace boost {
+namespace archive {
+
+//////////////////////////////////////////////////////////////////////
+// implementation of basic_binary_iprimitive
+
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_binary_iprimitive<Archive, Elem, Tr>::init()
+{
+    // Detect  attempts to pass native binary archives across
+    // incompatible platforms. This is not fool proof but its
+    // better than nothing.
+    unsigned char size;
+    this->This()->load(size);
+    if(sizeof(int) != size)
+        boost::serialization::throw_exception(
+            archive_exception(
+                archive_exception::incompatible_native_format,
+                "size of int"
+            )
+        );
+    this->This()->load(size);
+    if(sizeof(long) != size)
+        boost::serialization::throw_exception(
+            archive_exception(
+                archive_exception::incompatible_native_format,
+                "size of long"
+            )
+        );
+    this->This()->load(size);
+    if(sizeof(float) != size)
+        boost::serialization::throw_exception(
+            archive_exception(
+                archive_exception::incompatible_native_format,
+                "size of float"
+            )
+        );
+    this->This()->load(size);
+    if(sizeof(double) != size)
+        boost::serialization::throw_exception(
+            archive_exception(
+                archive_exception::incompatible_native_format,
+                "size of double"
+            )
+        );
+
+    // for checking endian
+    int i;
+    this->This()->load(i);
+    if(1 != i)
+        boost::serialization::throw_exception(
+            archive_exception(
+                archive_exception::incompatible_native_format,
+                "endian setting"
+            )
+        );
+}
+
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_binary_iprimitive<Archive, Elem, Tr>::load(wchar_t * ws)
+{
+    std::size_t l; // number of wchar_t !!!
+    this->This()->load(l);
+    load_binary(ws, l * sizeof(wchar_t) / sizeof(char));
+    ws[l] = L'\0';
+}
+
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_binary_iprimitive<Archive, Elem, Tr>::load(std::string & s)
+{
+    std::size_t l;
+    this->This()->load(l);
+    // borland de-allocator fixup
+    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
+    if(NULL != s.data())
+    #endif
+        s.resize(l);
+    // note breaking a rule here - could be a problem on some platform
+    if(0 < l)
+        load_binary(&(*s.begin()), l);
+}
+
+#ifndef BOOST_NO_CWCHAR
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_binary_iprimitive<Archive, Elem, Tr>::load(char * s)
+{
+    std::size_t l;
+    this->This()->load(l);
+    load_binary(s, l);
+    s[l] = '\0';
+}
+#endif
+
+#ifndef BOOST_NO_STD_WSTRING
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_binary_iprimitive<Archive, Elem, Tr>::load(std::wstring & ws)
+{
+    std::size_t l;
+    this->This()->load(l);
+    // borland de-allocator fixup
+    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
+    if(NULL != ws.data())
+    #endif
+        ws.resize(l);
+    // note breaking a rule here - is could be a problem on some platform
+    load_binary(const_cast<wchar_t *>(ws.data()), l * sizeof(wchar_t) / sizeof(char));
+}
+#endif
+
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_binary_iprimitive<Archive, Elem, Tr>::basic_binary_iprimitive(
+    std::basic_streambuf<Elem, Tr> & sb, 
+    bool no_codecvt
+) :
+#ifndef BOOST_NO_STD_LOCALE
+    m_sb(sb),
+    archive_locale(NULL),
+    locale_saver(m_sb)
+{
+    if(! no_codecvt){
+        archive_locale.reset(
+            boost::archive::add_facet(
+                std::locale::classic(),
+                new codecvt_null<Elem>
+            )
+        );
+        m_sb.pubimbue(* archive_locale);
+    }
+}
+#else
+    m_sb(sb)
+{}
+#endif
+
+// some libraries including stl and libcomo fail if the
+// buffer isn't flushed before the code_cvt facet is changed.
+// I think this is a bug.  We explicity invoke sync to when
+// we're done with the streambuf to work around this problem.
+// Note that sync is a protected member of stream buff so we
+// have to invoke it through a contrived derived class.
+namespace detail {
+// note: use "using" to get past msvc bug
+using namespace std;
+template<class Elem, class Tr>
+class input_streambuf_access : public std::basic_streambuf<Elem, Tr> {
+    public:
+        virtual int sync(){
+#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206))
+            return this->basic_streambuf::sync();
+#else
+            return this->basic_streambuf<Elem, Tr>::sync();
+#endif
+        }
+};
+} // detail
+
+// scoped_ptr requires that archive_locale be a complete type at time of
+// destruction so define destructor here rather than in the header
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_binary_iprimitive<Archive, Elem, Tr>::~basic_binary_iprimitive(){
+    // push back unread characters
+    //destructor can't throw !
+    try{
+        static_cast<detail::input_streambuf_access<Elem, Tr> &>(m_sb).sync();
+    }
+    catch(...){
+    }
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/basic_binary_oarchive.ipp b/SRC/Serialization/archive/impl/basic_binary_oarchive.ipp
new file mode 100755
index 0000000..0d83d4a
--- /dev/null
+++ b/SRC/Serialization/archive/impl/basic_binary_oarchive.ipp
@@ -0,0 +1,46 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_binary_oarchive.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+#include <string>
+#include <boost/assert.hpp>
+#include <algorithm>
+#include <cstring>
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::memcpy; 
+}
+#endif
+
+#include <Serialization/archive/basic_binary_oarchive.hpp>
+
+namespace boost {
+namespace archive {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// implementation of binary_binary_oarchive
+
+template<class Archive>
+#if !defined(__BORLANDC__)
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+#else
+void
+#endif
+basic_binary_oarchive<Archive>::init(){
+    // write signature in an archive version independent manner
+    const std::string file_signature(BOOST_ARCHIVE_SIGNATURE());
+    * this->This() << file_signature;
+    // write library version
+    const library_version_type v(BOOST_ARCHIVE_VERSION());
+    * this->This() << v;
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/basic_binary_oprimitive.ipp b/SRC/Serialization/archive/impl/basic_binary_oprimitive.ipp
new file mode 100755
index 0000000..1643ae7
--- /dev/null
+++ b/SRC/Serialization/archive/impl/basic_binary_oprimitive.ipp
@@ -0,0 +1,160 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_binary_oprimitive.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <ostream>
+#include <cstddef> // NULL
+#include <cstring>
+
+#include <boost/config.hpp>
+
+#if defined(BOOST_NO_STDC_NAMESPACE) && ! defined(__LIBCOMO__)
+namespace std{ 
+    using ::strlen; 
+} // namespace std
+#endif
+
+#ifndef BOOST_NO_CWCHAR
+#include <cwchar>
+#ifdef BOOST_NO_STDC_NAMESPACE
+namespace std{ using ::wcslen; }
+#endif
+#endif
+
+#include <boost/detail/workaround.hpp>
+
+#include <Serialization/archive/add_facet.hpp>
+#include <Serialization/archive/codecvt_null.hpp>
+
+namespace boost {
+namespace archive {
+
+//////////////////////////////////////////////////////////////////////
+// implementation of basic_binary_oprimitive
+
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_binary_oprimitive<Archive, Elem, Tr>::init()
+{
+    // record native sizes of fundamental types
+    // this is to permit detection of attempts to pass
+    // native binary archives accross incompatible machines.
+    // This is not foolproof but its better than nothing.
+    this->This()->save(static_cast<unsigned char>(sizeof(int)));
+    this->This()->save(static_cast<unsigned char>(sizeof(long)));
+    this->This()->save(static_cast<unsigned char>(sizeof(float)));
+    this->This()->save(static_cast<unsigned char>(sizeof(double)));
+    // for checking endianness
+    this->This()->save(int(1));
+}
+
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_binary_oprimitive<Archive, Elem, Tr>::save(const char * s)
+{
+    std::size_t l = std::strlen(s);
+    this->This()->save(l);
+    save_binary(s, l);
+}
+
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_binary_oprimitive<Archive, Elem, Tr>::save(const std::string &s)
+{
+    std::size_t l = static_cast<std::size_t>(s.size());
+    this->This()->save(l);
+    save_binary(s.data(), l);
+}
+
+#ifndef BOOST_NO_CWCHAR
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_binary_oprimitive<Archive, Elem, Tr>::save(const wchar_t * ws)
+{
+    std::size_t l = std::wcslen(ws);
+    this->This()->save(l);
+    save_binary(ws, l * sizeof(wchar_t) / sizeof(char));
+}
+#endif
+
+#ifndef BOOST_NO_STD_WSTRING
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_binary_oprimitive<Archive, Elem, Tr>::save(const std::wstring &ws)
+{
+    std::size_t l = ws.size();
+    this->This()->save(l);
+    save_binary(ws.data(), l * sizeof(wchar_t) / sizeof(char));
+}
+#endif
+
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_binary_oprimitive<Archive, Elem, Tr>::basic_binary_oprimitive(
+    std::basic_streambuf<Elem, Tr> & sb, 
+    bool no_codecvt
+) : 
+#ifndef BOOST_NO_STD_LOCALE
+    m_sb(sb),
+    archive_locale(NULL),
+    locale_saver(m_sb)
+{
+    if(! no_codecvt){
+        archive_locale.reset(
+            add_facet(
+                std::locale::classic(), 
+                new codecvt_null<Elem>
+            )
+        );
+        m_sb.pubimbue(* archive_locale);
+    }
+}
+#else
+    m_sb(sb)
+{}
+#endif
+
+// some libraries including stl and libcomo fail if the
+// buffer isn't flushed before the code_cvt facet is changed.
+// I think this is a bug.  We explicity invoke sync to when
+// we're done with the streambuf to work around this problem.
+// Note that sync is a protected member of stream buff so we
+// have to invoke it through a contrived derived class.
+namespace detail {
+// note: use "using" to get past msvc bug
+using namespace std;
+template<class Elem, class Tr>
+class output_streambuf_access : public std::basic_streambuf<Elem, Tr> {
+    public:
+        virtual int sync(){
+#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206))
+            return this->basic_streambuf::sync();
+#else
+            return this->basic_streambuf<Elem, Tr>::sync();
+#endif
+        }
+};
+} // detail
+
+// scoped_ptr requires that g be a complete type at time of
+// destruction so define destructor here rather than in the header
+template<class Archive, class Elem, class Tr>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_binary_oprimitive<Archive, Elem, Tr>::~basic_binary_oprimitive(){
+    // flush buffer
+    //destructor can't throw
+    try{
+        static_cast<detail::output_streambuf_access<Elem, Tr> &>(m_sb).sync();
+    }
+    catch(...){
+    }
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/basic_text_iarchive.ipp b/SRC/Serialization/archive/impl/basic_text_iarchive.ipp
new file mode 100755
index 0000000..fe75542
--- /dev/null
+++ b/SRC/Serialization/archive/impl/basic_text_iarchive.ipp
@@ -0,0 +1,79 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_text_iarchive.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+#include <string>
+#include <algorithm>
+#include <cstring>
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::memcpy; 
+}
+#endif
+
+#include <boost/detail/workaround.hpp>
+#include <Serialization/string.hpp>
+#include <Serialization/archive/basic_text_iarchive.hpp>
+
+namespace boost {
+namespace archive {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// implementation of text_text_archive
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_text_iarchive<Archive>::load_override(class_name_type & t, int){
+    std::string cn;
+    cn.reserve(BOOST_SERIALIZATION_MAX_KEY_SIZE);
+    load_override(cn, 0);
+    if(cn.size() > (BOOST_SERIALIZATION_MAX_KEY_SIZE - 1))
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::invalid_class_name)
+        );
+    std::memcpy(t, cn.data(), cn.size());
+    // borland tweak
+    t.t[cn.size()] = '\0';
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_text_iarchive<Archive>::init(void){
+    // read signature in an archive version independent manner
+    std::string file_signature;
+    * this->This() >> file_signature;
+    if(file_signature != BOOST_ARCHIVE_SIGNATURE())
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::invalid_signature)
+        );
+
+    // make sure the version of the reading archive library can
+    // support the format of the archive being read
+    library_version_type input_library_version;
+    * this->This() >> input_library_version;
+
+    #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
+    this->set_library_version(input_library_version);
+    #else
+    #if ! BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
+    detail::
+    #endif
+    basic_iarchive::set_library_version(input_library_version);
+    #endif
+
+    // extra little .t is to get around borland quirk
+    if(BOOST_ARCHIVE_VERSION() < input_library_version)
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::unsupported_version)
+        );
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/basic_text_iprimitive.ipp b/SRC/Serialization/archive/impl/basic_text_iprimitive.ipp
new file mode 100755
index 0000000..47a0708
--- /dev/null
+++ b/SRC/Serialization/archive/impl/basic_text_iprimitive.ipp
@@ -0,0 +1,154 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_text_iprimitive.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // size_t
+#include <cstddef> // NULL
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/pfto.hpp>
+
+#include <Serialization/archive/basic_text_iprimitive.hpp>
+#include <Serialization/archive/codecvt_null.hpp>
+#include <Serialization/archive/add_facet.hpp>
+
+#include <Serialization/archive/iterators/remove_whitespace.hpp>
+#include <Serialization/archive/iterators/istream_iterator.hpp>
+#include <Serialization/archive/iterators/binary_from_base64.hpp>
+#include <Serialization/archive/iterators/transform_width.hpp>
+
+namespace boost { 
+namespace archive {
+
+namespace {
+    template<class CharType>
+    bool is_whitespace(CharType c);
+
+    template<>
+    bool is_whitespace(char t){
+        return 0 != std::isspace(t);
+    }
+
+    #ifndef BOOST_NO_CWCHAR
+    template<>
+    bool is_whitespace(wchar_t t){
+        return 0 != std::iswspace(t);
+    }
+    #endif
+}
+
+// translate base64 text into binary and copy into buffer
+// until buffer is full.
+template<class IStream>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_text_iprimitive<IStream>::load_binary(
+    void *address, 
+    std::size_t count
+){
+    typedef BOOST_DEDUCED_TYPENAME IStream::char_type CharType;
+    
+    if(0 == count)
+        return;
+        
+    BOOST_ASSERT(
+        static_cast<std::size_t>((std::numeric_limits<std::streamsize>::max)())
+        > (count + sizeof(CharType) - 1)/sizeof(CharType)
+    );
+        
+    if(is.fail())
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::input_stream_error)
+        );
+    // convert from base64 to binary
+    typedef BOOST_DEDUCED_TYPENAME
+        iterators::transform_width<
+            iterators::binary_from_base64<
+                iterators::remove_whitespace<
+                    iterators::istream_iterator<CharType>
+                >
+                ,CharType
+            >
+            ,8
+            ,6
+            ,CharType
+        > 
+        binary;
+
+    binary ti_begin = binary(
+        BOOST_MAKE_PFTO_WRAPPER(
+            iterators::istream_iterator<CharType>(is)
+        )
+    );
+                
+    char * caddr = static_cast<char *>(address);
+    
+    // take care that we don't increment anymore than necessary
+    while(--count > 0){
+        *caddr++ = static_cast<char>(*ti_begin);
+        ++ti_begin;
+    }
+    *caddr++ = static_cast<char>(*ti_begin);
+    
+    iterators::istream_iterator<CharType> i;
+    for(;;){
+        BOOST_DEDUCED_TYPENAME IStream::int_type r;
+        r = is.get();
+        if(is.eof())
+            break;
+        if(is_whitespace(static_cast<CharType>(r)))
+            break;
+    }
+}
+
+template<class IStream>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_text_iprimitive<IStream>::basic_text_iprimitive(
+    IStream  &is_,
+    bool no_codecvt
+) :
+#ifndef BOOST_NO_STD_LOCALE
+    is(is_),
+    flags_saver(is_),
+    precision_saver(is_),
+    archive_locale(NULL),
+    locale_saver(* is_.rdbuf())
+{
+    if(! no_codecvt){
+        archive_locale.reset(
+            add_facet(
+                std::locale::classic(), 
+                new codecvt_null<BOOST_DEDUCED_TYPENAME IStream::char_type>
+            )
+        );
+        is.imbue(* archive_locale);
+    }
+    is >> std::noboolalpha;
+}
+#else
+    is(is_),
+    flags_saver(is_),
+    precision_saver(is_)
+{}
+#endif
+
+template<class IStream>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_text_iprimitive<IStream>::~basic_text_iprimitive(){
+    is.sync();
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/basic_text_oarchive.ipp b/SRC/Serialization/archive/impl/basic_text_oarchive.ipp
new file mode 100755
index 0000000..5e0b2a6
--- /dev/null
+++ b/SRC/Serialization/archive/impl/basic_text_oarchive.ipp
@@ -0,0 +1,62 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_text_oarchive.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+#include <string>
+#include <boost/assert.hpp>
+#include <cstring>
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::memcpy; 
+}
+#endif
+
+#include <Serialization/archive/basic_text_oarchive.hpp>
+
+namespace boost {
+namespace archive {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// implementation of basic_text_oarchive
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_text_oarchive<Archive>::newtoken()
+{
+    switch(delimiter){
+    default:
+        BOOST_ASSERT(false);
+        break;
+    case eol:
+        this->This()->put('\n');
+        delimiter = space;
+        break;
+    case space:
+        this->This()->put(' ');
+        break;
+    case none:
+        delimiter = space;
+        break;
+    }
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_text_oarchive<Archive>::init(){
+    // write signature in an archive version independent manner
+    const std::string file_signature(BOOST_ARCHIVE_SIGNATURE());
+    * this->This() << file_signature;
+    // write library version
+    const library_version_type v(BOOST_ARCHIVE_VERSION());
+    * this->This() << v;
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/basic_text_oprimitive.ipp b/SRC/Serialization/archive/impl/basic_text_oprimitive.ipp
new file mode 100755
index 0000000..3ef5138
--- /dev/null
+++ b/SRC/Serialization/archive/impl/basic_text_oprimitive.ipp
@@ -0,0 +1,114 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_text_oprimitive.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // NULL
+#include <Serialization/pfto.hpp>
+
+#include <Serialization/archive/basic_text_oprimitive.hpp>
+#include <Serialization/archive/codecvt_null.hpp>
+#include <Serialization/archive/add_facet.hpp>
+
+#include <Serialization/archive/iterators/base64_from_binary.hpp>
+#include <Serialization/archive/iterators/insert_linebreaks.hpp>
+#include <Serialization/archive/iterators/transform_width.hpp>
+#include <Serialization/archive/iterators/ostream_iterator.hpp>
+
+namespace boost {
+namespace archive {
+
+// translate to base64 and copy in to buffer.
+template<class OStream>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_text_oprimitive<OStream>::save_binary(
+    const void *address, 
+    std::size_t count
+){
+    typedef BOOST_DEDUCED_TYPENAME OStream::char_type CharType;
+    
+    if(0 == count)
+        return;
+    
+    if(os.fail())
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::output_stream_error)
+        );
+        
+    os.put('\n');
+    
+    typedef 
+        boost::archive::iterators::insert_linebreaks<
+            boost::archive::iterators::base64_from_binary<
+                boost::archive::iterators::transform_width<
+                    const char *,
+                    6,
+                    8
+                >
+            > 
+            ,72
+            ,const char // cwpro8 needs this
+        > 
+        base64_text;
+
+    boost::archive::iterators::ostream_iterator<CharType> oi(os);
+    std::copy(
+        base64_text(BOOST_MAKE_PFTO_WRAPPER(static_cast<const char *>(address))),
+        base64_text(
+            BOOST_MAKE_PFTO_WRAPPER(static_cast<const char *>(address) + count)
+        ),
+        oi
+    );
+    
+    std::size_t tail = count % 3;
+    if(tail > 0){
+        *oi++ = '=';
+        if(tail < 2)
+            *oi = '=';
+    }
+}
+
+template<class OStream>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_text_oprimitive<OStream>::basic_text_oprimitive(
+    OStream & os_,
+    bool no_codecvt
+) : 
+#ifndef BOOST_NO_STD_LOCALE
+    os(os_),
+    flags_saver(os_),
+    precision_saver(os_),
+    archive_locale(NULL),
+    locale_saver(* os_.rdbuf())
+{
+    if(! no_codecvt){
+        archive_locale.reset(
+            add_facet(
+                std::locale::classic(), 
+                new codecvt_null<BOOST_DEDUCED_TYPENAME OStream::char_type>
+            )
+        );
+        os.imbue(* archive_locale);
+    }
+    os << std::noboolalpha;
+}
+#else
+    os(os_),
+    flags_saver(os_),
+    precision_saver(os_)
+{}
+#endif
+
+template<class OStream>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_text_oprimitive<OStream>::~basic_text_oprimitive(){
+    os << std::endl;
+}
+
+} //namespace boost 
+} //namespace archive 
diff --git a/SRC/Serialization/archive/impl/basic_xml_grammar.hpp b/SRC/Serialization/archive/impl/basic_xml_grammar.hpp
new file mode 100755
index 0000000..374f73f
--- /dev/null
+++ b/SRC/Serialization/archive/impl/basic_xml_grammar.hpp
@@ -0,0 +1,178 @@
+#ifndef BOOST_ARCHIVE_BASIC_XML_GRAMMAR_HPP
+#define BOOST_ARCHIVE_BASIC_XML_GRAMMAR_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_xml_grammar.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// this module is derived from simplexml.cpp - an example shipped as part of
+// the spirit parser.  This example contains the following notice:
+/*=============================================================================
+    simplexml.cpp
+
+    Spirit V1.3
+    URL: http://spirit.sourceforge.net/
+
+    Copyright (c) 2001, Daniel C. Nuffer
+
+    This software is provided 'as-is', without any express or implied
+    warranty. In no event will the copyright holder be held liable for
+    any damages arising from the use of this software.
+
+    Permission is granted to anyone to use this software for any purpose,
+    including commercial applications, and to alter it and redistribute
+    it freely, subject to the following restrictions:
+
+    1.  The origin of this software must not be misrepresented; you must
+        not claim that you wrote the original software. If you use this
+        software in a product, an acknowledgment in the product documentation
+        would be appreciated but is not required.
+
+    2.  Altered source versions must be plainly marked as such, and must
+        not be misrepresented as being the original software.
+
+    3.  This notice may not be removed or altered from any source
+        distribution.
+=============================================================================*/
+#include <string>
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+// supress noise
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <boost/spirit/include/classic_rule.hpp>
+#include <boost/spirit/include/classic_chset.hpp>
+
+#include <Serialization/archive/basic_archive.hpp>
+#include <Serialization/tracking.hpp>
+#include <Serialization/version.hpp>
+
+namespace boost {
+namespace archive {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// XML grammar parsing
+
+template<class CharType>
+class basic_xml_grammar {
+public:
+    // The following is not necessary according to DR45, but at least
+    // one compiler (Compaq C++ 6.5 in strict_ansi mode) chokes otherwise.
+    struct return_values;
+    friend struct return_values;
+    
+private:
+    typedef BOOST_DEDUCED_TYPENAME std::basic_istream<CharType> IStream;
+    typedef BOOST_DEDUCED_TYPENAME std::basic_string<CharType> StringType;
+    typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::chset<CharType> chset_t;
+    typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::chlit<CharType> chlit_t;
+    typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::scanner<
+        BOOST_DEDUCED_TYPENAME  std::basic_string<CharType>::iterator
+    > scanner_t;
+    typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::rule<scanner_t> rule_t;
+    // Start grammar definition
+    rule_t    
+        Reference,
+        Eq, 
+        STag,
+        ETag,
+        LetterOrUnderscoreOrColon,
+        AttValue, 
+        CharRef1, 
+        CharRef2, 
+        CharRef, 
+        AmpRef,
+        LTRef,
+        GTRef,
+        AposRef,
+        QuoteRef,
+        CharData,
+        CharDataChars,
+        content,
+        AmpName,
+        LTName,
+        GTName,
+        ClassNameChar,
+        ClassName,
+        Name,
+        XMLDecl,
+        XMLDeclChars,
+        DocTypeDecl,
+        DocTypeDeclChars,
+        ClassIDAttribute,
+        ObjectIDAttribute,
+        ClassNameAttribute,
+        TrackingAttribute,
+        VersionAttribute,
+        UnusedAttribute,
+        Attribute,
+        SignatureAttribute,
+        SerializationWrapper,
+        NameHead,
+        NameTail,
+        AttributeList,
+        S;
+
+    // XML Character classes
+    chset_t
+        BaseChar,
+        Ideographic,
+        Char, 
+        Letter, 
+        Digit,
+        CombiningChar,
+        Extender, 
+        Sch,
+        NameChar;
+
+    void init_chset();
+
+    bool my_parse(
+        IStream & is,
+        const rule_t &rule_, 
+        const CharType delimiter = L'>'
+    ) const ;
+public:
+    struct return_values {
+        StringType object_name;
+        StringType contents;
+        //class_id_type class_id;
+        int_least16_t class_id;
+        //object_id_type object_id;
+        uint_least32_t object_id;
+        //version_type version;
+        unsigned int version;
+        tracking_type tracking_level;
+        StringType class_name;
+        return_values() :
+            version(0),
+            tracking_level(false)
+        {}
+    } rv;
+    bool parse_start_tag(IStream & is) /*const*/;
+    bool parse_end_tag(IStream & is) const;
+    bool parse_string(IStream & is, StringType & s) /*const*/;
+    void init(IStream & is);
+    void windup(IStream & is);
+    basic_xml_grammar();
+};
+
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_ARCHIVE_BASIC_XML_GRAMMAR_HPP
diff --git a/SRC/Serialization/archive/impl/basic_xml_iarchive.ipp b/SRC/Serialization/archive/impl/basic_xml_iarchive.ipp
new file mode 100755
index 0000000..fa4e97f
--- /dev/null
+++ b/SRC/Serialization/archive/impl/basic_xml_iarchive.ipp
@@ -0,0 +1,114 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_xml_iarchive.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+#include <cstddef> // NULL
+#include <algorithm>
+
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/archive/xml_archive_exception.hpp>
+#include <Serialization/archive/basic_xml_iarchive.hpp>
+#include <Serialization/tracking.hpp>
+
+namespace boost {
+namespace archive {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// implementation of xml_text_archive
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_iarchive<Archive>::load_start(const char *name){
+    // if there's no name
+    if(NULL == name)
+        return;
+    bool result = this->This()->gimpl->parse_start_tag(this->This()->get_is());
+    if(true != result){
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::input_stream_error)
+        );
+    }
+    // don't check start tag at highest level
+    ++depth;
+    return;
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_iarchive<Archive>::load_end(const char *name){
+    // if there's no name
+    if(NULL == name)
+        return;
+    bool result = this->This()->gimpl->parse_end_tag(this->This()->get_is());
+    if(true != result){
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::input_stream_error)
+        );
+    }
+    
+    // don't check start tag at highest level
+    if(0 == --depth)
+        return;
+        
+    if(0 == (this->get_flags() & no_xml_tag_checking)){
+        // double check that the tag matches what is expected - useful for debug
+        if(0 != name[this->This()->gimpl->rv.object_name.size()]
+        || ! std::equal(
+                this->This()->gimpl->rv.object_name.begin(),
+                this->This()->gimpl->rv.object_name.end(),
+                name
+            )
+        ){
+            boost::serialization::throw_exception(
+                xml_archive_exception(
+                    xml_archive_exception::xml_archive_tag_mismatch,
+                    name
+                )
+            );
+        }
+    }
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_iarchive<Archive>::load_override(object_id_type & t, int){
+    t = object_id_type(this->This()->gimpl->rv.object_id);
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_iarchive<Archive>::load_override(version_type & t, int){
+    t = version_type(this->This()->gimpl->rv.version);
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_iarchive<Archive>::load_override(class_id_type & t, int){
+    t = class_id_type(this->This()->gimpl->rv.class_id);
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_iarchive<Archive>::load_override(tracking_type & t, int){
+    t = this->This()->gimpl->rv.tracking_level;
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_xml_iarchive<Archive>::basic_xml_iarchive(unsigned int flags) :
+    detail::common_iarchive<Archive>(flags),
+    depth(0)
+{}
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_xml_iarchive<Archive>::~basic_xml_iarchive(){}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/basic_xml_oarchive.ipp b/SRC/Serialization/archive/impl/basic_xml_oarchive.ipp
new file mode 100755
index 0000000..042e718
--- /dev/null
+++ b/SRC/Serialization/archive/impl/basic_xml_oarchive.ipp
@@ -0,0 +1,275 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_xml_oarchive.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <algorithm>
+#include <cstddef> // NULL
+#include <cstring>
+#if defined(BOOST_NO_STDC_NAMESPACE) && ! defined(__LIBCOMO__)
+namespace std{
+    using ::strlen;
+} // namespace std
+#endif
+
+#include <Serialization/archive/basic_xml_archive.hpp>
+#include <Serialization/archive/basic_xml_oarchive.hpp>
+#include <Serialization/archive/xml_archive_exception.hpp>
+#include <boost/detail/no_exceptions_support.hpp>
+
+namespace boost {
+namespace archive {
+
+namespace detail {
+template<class CharType>
+struct XML_name {
+    void operator()(CharType t) const{
+        const unsigned char lookup_table[] = {
+            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+            0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0, // -.
+            1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, // 0-9
+            0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // A-
+            1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1, // -Z _
+            0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // a-
+            1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, // -z
+            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+        };
+        if((unsigned)t > 127)
+            return;
+        if(0 == lookup_table[(unsigned)t])
+            boost::serialization::throw_exception(
+                xml_archive_exception(
+                    xml_archive_exception::xml_archive_tag_name_error
+                )
+            );
+    }
+};
+
+} // namespace detail
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// implemenations of functions common to both types of xml output
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::write_attribute(
+    const char *attribute_name,
+    int t,
+    const char *conjunction
+){
+    this->This()->put(' ');
+    this->This()->put(attribute_name);
+    this->This()->put(conjunction);
+    this->This()->save(t);
+    this->This()->put('"');
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::write_attribute(
+    const char *attribute_name,
+    const char *key
+){
+    this->This()->put(' ');
+    this->This()->put(attribute_name);
+    this->This()->put("=\"");
+    this->This()->save(key);
+    this->This()->put('"');
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::indent(){
+    int i;
+    for(i = depth; i-- > 0;)
+        this->This()->put('\t');
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_start(const char *name)
+{
+    if(NULL == name)
+        return;
+
+    // be sure name has no invalid characters
+    std::for_each(name, name + std::strlen(name), detail::XML_name<const char>());
+
+    end_preamble();
+    if(depth > 0){
+        this->This()->put('\n');
+        indent();
+    }
+    ++depth;
+    this->This()->put('<');
+    this->This()->save(name);
+    pending_preamble = true;
+    indent_next = false;
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_end(const char *name)
+{
+    if(NULL == name)
+        return;
+
+    // be sure name has no invalid characters
+    std::for_each(name, name + std::strlen(name), detail::XML_name<const char>());
+
+    end_preamble();
+    --depth;
+    if(indent_next){
+        this->This()->put('\n');
+        indent();
+    }
+    indent_next = true;
+    this->This()->put("</");
+    this->This()->save(name);
+    this->This()->put('>');
+    if(0 == depth)
+        this->This()->put('\n');
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::end_preamble(){
+    if(pending_preamble){
+        this->This()->put('>');
+        pending_preamble = false;
+    }
+}
+#if 0
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(const object_id_type & t, int)
+{
+    int i = t.t; // extra .t is for borland
+    write_attribute(BOOST_ARCHIVE_XML_OBJECT_ID(), i, "=\"_");
+}
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(
+    const object_reference_type & t,
+    int
+){
+    int i = t.t; // extra .t is for borland
+    write_attribute(BOOST_ARCHIVE_XML_OBJECT_REFERENCE(), i, "=\"_");
+}
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(const version_type & t, int)
+{
+    int i = t.t; // extra .t is for borland
+    write_attribute(BOOST_ARCHIVE_XML_VERSION(), i);
+}
+#endif
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(const object_id_type & t, int)
+{
+    // borland doesn't do conversion of STRONG_TYPEDEFs very well
+    const unsigned int i = t;
+    write_attribute(BOOST_ARCHIVE_XML_OBJECT_ID(), i, "=\"_");
+}
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(
+    const object_reference_type & t,
+    int
+){
+    const unsigned int i = t;
+    write_attribute(BOOST_ARCHIVE_XML_OBJECT_REFERENCE(), i, "=\"_");
+}
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(const version_type & t, int)
+{
+    const unsigned int i = t;
+    write_attribute(BOOST_ARCHIVE_XML_VERSION(), i);
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(const class_id_type & t, int)
+{
+    write_attribute(BOOST_ARCHIVE_XML_CLASS_ID(), t);
+}
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(
+    const class_id_reference_type & t,
+    int
+){
+    write_attribute(BOOST_ARCHIVE_XML_CLASS_ID_REFERENCE(), t);
+}
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(
+    const class_id_optional_type & t,
+    int
+){
+    write_attribute(BOOST_ARCHIVE_XML_CLASS_ID(), t);
+}
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(const class_name_type & t, int)
+{
+    const char * key = t;
+    if(NULL == key)
+        return;
+    write_attribute(BOOST_ARCHIVE_XML_CLASS_NAME(), key);
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::save_override(const tracking_type & t, int)
+{
+    write_attribute(BOOST_ARCHIVE_XML_TRACKING(), t.t);
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
+basic_xml_oarchive<Archive>::init(){
+    // xml header
+    this->This()->put("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\n");
+    this->This()->put("<!DOCTYPE boost_serialization>\n");
+    // xml document wrapper - outer root
+    this->This()->put("<boost_serialization");
+    write_attribute("signature", BOOST_ARCHIVE_SIGNATURE());
+    write_attribute("version", BOOST_ARCHIVE_VERSION());
+    this->This()->put(">\n");
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_xml_oarchive<Archive>::basic_xml_oarchive(unsigned int flags) :
+    detail::common_oarchive<Archive>(flags),
+    depth(0),
+    indent_next(false),
+    pending_preamble(false)
+{
+}
+
+template<class Archive>
+BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_xml_oarchive<Archive>::~basic_xml_oarchive(){
+    if(0 == (this->get_flags() & no_header)){
+        BOOST_TRY{
+                this->This()->put("</boost_serialization>\n");
+        }
+        BOOST_CATCH(...){}
+        BOOST_CATCH_END
+    }
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/text_iarchive_impl.ipp b/SRC/Serialization/archive/impl/text_iarchive_impl.ipp
new file mode 100755
index 0000000..cf769c7
--- /dev/null
+++ b/SRC/Serialization/archive/impl/text_iarchive_impl.ipp
@@ -0,0 +1,128 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// text_iarchive_impl.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+//////////////////////////////////////////////////////////////////////
+// implementation of basic_text_iprimitive overrides for the combination
+// of template parameters used to implement a text_iprimitive
+
+#include <cstddef> // size_t, NULL
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <boost/detail/workaround.hpp> // RogueWave
+
+#include <Serialization/archive/text_iarchive.hpp>
+
+namespace boost {
+namespace archive {
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+text_iarchive_impl<Archive>::load(char *s)
+{
+    std::size_t size;
+    * this->This() >> size;
+    // skip separating space
+    is.get();
+    // Works on all tested platforms
+    is.read(s, size);
+    s[size] = '\0';
+}
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+text_iarchive_impl<Archive>::load(std::string &s)
+{
+    std::size_t size;
+    * this->This() >> size;
+    // skip separating space
+    is.get();
+    // borland de-allocator fixup
+    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
+    if(NULL != s.data())
+    #endif
+        s.resize(size);
+    if(0 < size)
+        is.read(&(*s.begin()), size);
+}
+
+#ifndef BOOST_NO_CWCHAR
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+text_iarchive_impl<Archive>::load(wchar_t *ws)
+{
+    std::size_t size;
+    * this->This() >> size;
+    // skip separating space
+    is.get();
+    is.read((char *)ws, size * sizeof(wchar_t)/sizeof(char));
+    ws[size] = L'\0';
+}
+#endif // BOOST_NO_INTRINSIC_WCHAR_T
+
+#ifndef BOOST_NO_STD_WSTRING
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+text_iarchive_impl<Archive>::load(std::wstring &ws)
+{
+    std::size_t size;
+    * this->This() >> size;
+    // borland de-allocator fixup
+    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
+    if(NULL != ws.data())
+    #endif
+        ws.resize(size);
+    // skip separating space
+    is.get();
+    is.read((char *)ws.data(), size * sizeof(wchar_t)/sizeof(char));
+}
+
+#endif // BOOST_NO_STD_WSTRING
+#endif // BOOST_NO_CWCHAR
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+text_iarchive_impl<Archive>::load_override(class_name_type & t, int){
+    basic_text_iarchive<Archive>::load_override(t, 0);
+}
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+text_iarchive_impl<Archive>::init(){
+    basic_text_iarchive<Archive>::init();
+}
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+text_iarchive_impl<Archive>::text_iarchive_impl(
+    std::istream & is, 
+    unsigned int flags
+) :
+    basic_text_iprimitive<std::istream>(
+        is, 
+        0 != (flags & no_codecvt)
+    ),
+    basic_text_iarchive<Archive>(flags)
+{
+    if(0 == (flags & no_header))
+        #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
+        this->init();
+        #else
+        this->basic_text_iarchive<Archive>::init();
+        #endif
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/text_oarchive_impl.ipp b/SRC/Serialization/archive/impl/text_oarchive_impl.ipp
new file mode 100755
index 0000000..d94e4ab
--- /dev/null
+++ b/SRC/Serialization/archive/impl/text_oarchive_impl.ipp
@@ -0,0 +1,124 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// text_oarchive_impl.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <string>
+#include <boost/config.hpp>
+#include <locale>
+#include <cstddef> // size_t
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#ifndef BOOST_NO_CWCHAR
+#include <cwchar>
+#ifdef BOOST_NO_STDC_NAMESPACE
+namespace std{ using ::wcslen; }
+#endif
+#endif
+
+#include <Serialization/archive/add_facet.hpp>
+#include <Serialization/archive/text_oarchive.hpp>
+
+namespace boost { 
+namespace archive {
+
+//////////////////////////////////////////////////////////////////////
+// implementation of basic_text_oprimitive overrides for the combination
+// of template parameters used to create a text_oprimitive
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+text_oarchive_impl<Archive>::save(const char * s)
+{
+    const std::size_t len = std::ostream::traits_type::length(s);
+    *this->This() << len;
+    this->This()->newtoken();
+    os << s;
+}
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+text_oarchive_impl<Archive>::save(const std::string &s)
+{
+    const std::size_t size = s.size();
+    *this->This() << size;
+    this->This()->newtoken();
+    os << s;
+}
+
+#ifndef BOOST_NO_CWCHAR
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+text_oarchive_impl<Archive>::save(const wchar_t * ws)
+{
+    const std::size_t l = std::wcslen(ws);
+    * this->This() << l;
+    this->This()->newtoken();
+    os.write((const char *)ws, l * sizeof(wchar_t)/sizeof(char));
+}
+#endif
+
+#ifndef BOOST_NO_STD_WSTRING
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+text_oarchive_impl<Archive>::save(const std::wstring &ws)
+{
+    const std::size_t l = ws.size();
+    * this->This() << l;
+    this->This()->newtoken();
+    os.write((const char *)(ws.data()), l * sizeof(wchar_t)/sizeof(char));
+}
+#endif
+#endif // BOOST_NO_CWCHAR
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+text_oarchive_impl<Archive>::text_oarchive_impl(
+    std::ostream & os, 
+    unsigned int flags
+) :
+    basic_text_oprimitive<std::ostream>(
+        os, 
+        0 != (flags & no_codecvt)
+    ),
+    basic_text_oarchive<Archive>(flags)
+{
+    if(0 == (flags & no_header))
+        #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
+        this->init();
+        #else
+        this->basic_text_oarchive<Archive>::init();
+        #endif
+}
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+text_oarchive_impl<Archive>::save_binary(const void *address, std::size_t count){
+    put('\n');
+    this->end_preamble();
+    #if ! defined(__MWERKS__)
+    this->basic_text_oprimitive<std::ostream>::save_binary(
+    #else
+    this->basic_text_oprimitive::save_binary(
+    #endif
+        address, 
+        count
+    );
+    this->delimiter = this->eol;
+}
+
+} // namespace archive
+} // namespace boost
+
diff --git a/SRC/Serialization/archive/impl/text_wiarchive_impl.ipp b/SRC/Serialization/archive/impl/text_wiarchive_impl.ipp
new file mode 100755
index 0000000..75fc453
--- /dev/null
+++ b/SRC/Serialization/archive/impl/text_wiarchive_impl.ipp
@@ -0,0 +1,118 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// text_text_wiarchive_impl.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // size_t, NULL
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <boost/detail/workaround.hpp>  // fixup for RogueWave
+
+#ifndef BOOST_NO_STD_WSTREAMBUF
+#include <Serialization/archive/basic_text_iprimitive.hpp>
+
+namespace boost { 
+namespace archive {
+
+//////////////////////////////////////////////////////////////////////
+// implementation of wiprimtives functions
+//
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+text_wiarchive_impl<Archive>::load(char *s)
+{
+    std::size_t size;
+    * this->This() >> size;
+    // skip separating space
+    is.get();
+    while(size-- > 0){
+        *s++ = is.narrow(is.get(), '\0');
+    }
+    *s = '\0';
+}
+
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+text_wiarchive_impl<Archive>::load(std::string &s)
+{
+    std::size_t size;
+    * this->This() >> size;
+    // skip separating space
+    is.get();
+    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
+    if(NULL != s.data())
+    #endif
+        s.resize(0);
+    s.reserve(size);
+    while(size-- > 0){
+        int x = is.narrow(is.get(), '\0');
+        s += x;
+    }
+}
+
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+text_wiarchive_impl<Archive>::load(wchar_t *s)
+{
+    std::size_t size;
+    * this->This() >> size;
+    // skip separating space
+    is.get();
+    // Works on all tested platforms
+    is.read(s, size);
+    s[size] = L'\0';
+}
+#endif
+
+#ifndef BOOST_NO_STD_WSTRING
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+text_wiarchive_impl<Archive>::load(std::wstring &ws)
+{
+    std::size_t size;
+    * this->This() >> size;
+    // skip separating space
+    is.get();
+    // borland complains about resize
+    // borland de-allocator fixup
+    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
+    if(NULL != ws.data())
+    #endif
+        ws.resize(size);
+    // note breaking a rule here - is this a problem on some platform
+    is.read(const_cast<wchar_t *>(ws.data()), size);
+}
+#endif
+
+template<class Archive>
+BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+text_wiarchive_impl<Archive>::text_wiarchive_impl(
+    std::wistream & is, 
+    unsigned int flags
+) :
+    basic_text_iprimitive<std::wistream>(
+        is, 
+        0 != (flags & no_codecvt)
+    ),
+    basic_text_iarchive<Archive>(flags)
+{
+    if(0 == (flags & no_header))
+        basic_text_iarchive<Archive>::init();
+}
+
+} // archive
+} // boost
+
+#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Serialization/archive/impl/text_woarchive_impl.ipp b/SRC/Serialization/archive/impl/text_woarchive_impl.ipp
new file mode 100755
index 0000000..72586ab
--- /dev/null
+++ b/SRC/Serialization/archive/impl/text_woarchive_impl.ipp
@@ -0,0 +1,85 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// text_woarchive_impl.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifndef BOOST_NO_STD_WSTREAMBUF
+
+#include <cstring>
+#include <cstddef> // size_t
+#if defined(BOOST_NO_STDC_NAMESPACE) && ! defined(__LIBCOMO__)
+namespace std{ 
+    using ::strlen;
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <ostream>
+
+#include <Serialization/archive/text_woarchive.hpp>
+
+namespace boost {
+namespace archive {
+
+//////////////////////////////////////////////////////////////////////
+// implementation of woarchive functions
+//
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+text_woarchive_impl<Archive>::save(const char *s)
+{
+    // note: superfluous local variable fixes borland warning
+    const std::size_t size = std::strlen(s);
+    * this->This() << size;
+    this->This()->newtoken();
+    while(*s != '\0')
+        os.put(os.widen(*s++));
+}
+
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+text_woarchive_impl<Archive>::save(const std::string &s)
+{
+    const std::size_t size = s.size();
+    * this->This() << size;
+    this->This()->newtoken();
+    const char * cptr = s.data();
+    for(std::size_t i = size; i-- > 0;)
+        os.put(os.widen(*cptr++));
+}
+
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+text_woarchive_impl<Archive>::save(const wchar_t *ws)
+{
+    const std::size_t size = std::wostream::traits_type::length(ws);
+    * this->This() << size;
+    this->This()->newtoken();
+    os.write(ws, size);
+}
+#endif
+
+#ifndef BOOST_NO_STD_WSTRING
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+text_woarchive_impl<Archive>::save(const std::wstring &ws)
+{
+    const std::size_t size = ws.length();
+    * this->This() << size;
+    this->This()->newtoken();
+    os.write(ws.data(), size);
+}
+#endif
+
+} // namespace archive
+} // namespace boost
+
+#endif
+
diff --git a/SRC/Serialization/archive/impl/xml_iarchive_impl.ipp b/SRC/Serialization/archive/impl/xml_iarchive_impl.ipp
new file mode 100755
index 0000000..2019aed
--- /dev/null
+++ b/SRC/Serialization/archive/impl/xml_iarchive_impl.ipp
@@ -0,0 +1,204 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_iarchive_impl.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <cstring> // memcpy
+#include <cstddef> // NULL
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::memcpy;
+} // namespace std
+#endif
+
+#ifndef BOOST_NO_CWCHAR
+#include <cstdlib> // mbtowc
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::mbtowc;
+ } // namespace std
+#endif
+#endif // BOOST_NO_CWCHAR
+
+#include <boost/detail/workaround.hpp> // RogueWave and Dinkumware
+#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
+#include <Serialization/archive/dinkumware.hpp>
+#endif
+
+#include <boost/detail/no_exceptions_support.hpp>
+
+#include <Serialization/archive/xml_archive_exception.hpp>
+#include <Serialization/archive/iterators/dataflow_exception.hpp>
+#include <Serialization/archive/basic_xml_archive.hpp>
+#include <Serialization/archive/xml_iarchive.hpp>
+
+#include "basic_xml_grammar.hpp"
+
+namespace boost {
+namespace archive {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// implemenations of functions specific to char archives
+
+// wide char stuff used by char archives
+
+#ifndef BOOST_NO_CWCHAR
+#ifndef BOOST_NO_STD_WSTRING
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+xml_iarchive_impl<Archive>::load(std::wstring &ws){
+    std::string s;
+    bool result = gimpl->parse_string(is, s);
+    if(! result)
+        boost::serialization::throw_exception(
+            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
+        );
+    
+    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
+    if(NULL != ws.data())
+    #endif
+        ws.resize(0);
+    const char * start = s.data();
+    const char * end = start + s.size();
+    while(start < end){
+        wchar_t wc;
+        int resultx = std::mbtowc(&wc, start, end - start);
+        if(0 < resultx){
+            start += resultx;
+            ws += wc;
+            continue;
+        }
+        boost::serialization::throw_exception(
+            iterators::dataflow_exception(
+                iterators::dataflow_exception::invalid_conversion
+            )
+        );
+    }
+}
+#endif // BOOST_NO_STD_WSTRING
+
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+xml_iarchive_impl<Archive>::load(wchar_t * ws){
+    std::string s;
+    bool result = gimpl->parse_string(is, s);
+    if(! result)
+        boost::serialization::throw_exception(
+            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
+        );
+        
+    const char * start = s.data();
+    const char * end = start + s.size();
+    while(start < end){
+        wchar_t wc;
+        int result = std::mbtowc(&wc, start, end - start);
+        if(0 < result){
+            start += result;
+            *ws++ = wc;
+            continue;
+        }
+        boost::serialization::throw_exception(
+            iterators::dataflow_exception(
+                iterators::dataflow_exception::invalid_conversion
+            )
+        );
+    }
+    *ws = L'\0';
+}
+#endif // BOOST_NO_INTRINSIC_WCHAR_T
+
+#endif // BOOST_NO_CWCHAR
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+xml_iarchive_impl<Archive>::load(std::string &s){
+    bool result = gimpl->parse_string(is, s);
+    if(! result)
+        boost::serialization::throw_exception(
+            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
+        );
+}
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+xml_iarchive_impl<Archive>::load(char * s){
+    std::string tstring;
+    bool result = gimpl->parse_string(is, tstring);
+    if(! result)
+        boost::serialization::throw_exception(
+            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
+        );
+    std::memcpy(s, tstring.data(), tstring.size());
+    s[tstring.size()] = 0;
+}
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+xml_iarchive_impl<Archive>::load_override(class_name_type & t, int){
+    const std::string & s = gimpl->rv.class_name;
+    if(s.size() > BOOST_SERIALIZATION_MAX_KEY_SIZE - 1)
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::invalid_class_name)
+       );
+    char * tptr = t;
+    std::memcpy(tptr, s.data(), s.size());
+    tptr[s.size()] = '\0';
+}
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+xml_iarchive_impl<Archive>::init(){
+    gimpl->init(is);
+    this->set_library_version(
+        library_version_type(gimpl->rv.version)
+    );
+}
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+xml_iarchive_impl<Archive>::xml_iarchive_impl(
+    std::istream &is_,
+    unsigned int flags
+) :
+    basic_text_iprimitive<std::istream>(
+        is_, 
+        0 != (flags & no_codecvt)
+    ),
+    basic_xml_iarchive<Archive>(flags),
+    gimpl(new xml_grammar())
+{
+    if(0 == (flags & no_header)){
+        BOOST_TRY{
+            init();
+        }
+        BOOST_CATCH(...){
+            delete gimpl;
+            #ifndef BOOST_NO_EXCEPTIONS
+                throw; // re-throw
+            #endif
+        }
+        BOOST_CATCH_END
+    }
+}
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+xml_iarchive_impl<Archive>::~xml_iarchive_impl(){
+    if(0 == (this->get_flags() & no_header)){
+        BOOST_TRY{
+            gimpl->windup(is);
+        }
+        BOOST_CATCH(...){}
+        BOOST_CATCH_END
+    }
+    delete gimpl;
+}
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/xml_oarchive_impl.ipp b/SRC/Serialization/archive/impl/xml_oarchive_impl.ipp
new file mode 100755
index 0000000..b2d25fd
--- /dev/null
+++ b/SRC/Serialization/archive/impl/xml_oarchive_impl.ipp
@@ -0,0 +1,117 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_oarchive_impl.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include <ostream>
+#include <iomanip>
+#include <algorithm>
+#include <string>
+
+#include <cstring> // strlen
+#include <boost/config.hpp> // msvc 6.0 needs this to suppress warnings
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::strlen; 
+} // namespace std
+#endif
+
+#include <Serialization/archive/iterators/xml_escape.hpp>
+#include <Serialization/archive/iterators/ostream_iterator.hpp>
+
+#ifndef BOOST_NO_CWCHAR
+#include <Serialization/archive/wcslen.hpp>
+#include <Serialization/archive/iterators/mb_from_wchar.hpp>
+#endif
+
+namespace boost {
+namespace archive {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// implemenations of functions specific to char archives
+
+// wide char stuff used by char archives
+#ifndef BOOST_NO_CWCHAR
+// copy chars to output escaping to xml and translating wide chars to mb chars
+template<class InputIterator>
+void save_iterator(std::ostream &os, InputIterator begin, InputIterator end){
+    typedef boost::archive::iterators::mb_from_wchar<
+        boost::archive::iterators::xml_escape<InputIterator>
+    > translator;
+    std::copy(
+        translator(BOOST_MAKE_PFTO_WRAPPER(begin)), 
+        translator(BOOST_MAKE_PFTO_WRAPPER(end)), 
+        boost::archive::iterators::ostream_iterator<char>(os)
+    );
+}
+
+#ifndef BOOST_NO_STD_WSTRING
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+xml_oarchive_impl<Archive>::save(const std::wstring & ws){
+//  at least one library doesn't typedef value_type for strings
+//  so rather than using string directly make a pointer iterator out of it
+//    save_iterator(os, ws.data(), ws.data() + std::wcslen(ws.data()));
+    save_iterator(os, ws.data(), ws.data() + ws.size());
+}
+#endif
+
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+xml_oarchive_impl<Archive>::save(const wchar_t * ws){
+    save_iterator(os, ws, ws + std::wcslen(ws));
+}
+#endif
+
+#endif // BOOST_NO_CWCHAR
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+xml_oarchive_impl<Archive>::save(const std::string & s){
+//  at least one library doesn't typedef value_type for strings
+//  so rather than using string directly make a pointer iterator out of it
+    typedef boost::archive::iterators::xml_escape<
+        const char * 
+    > xml_escape_translator;
+    std::copy(
+        xml_escape_translator(BOOST_MAKE_PFTO_WRAPPER(s.data())),
+        xml_escape_translator(BOOST_MAKE_PFTO_WRAPPER(s.data()+ s.size())), 
+        boost::archive::iterators::ostream_iterator<char>(os)
+    );
+}
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(void)
+xml_oarchive_impl<Archive>::save(const char * s){
+    typedef boost::archive::iterators::xml_escape<
+        const char * 
+    > xml_escape_translator;
+    std::copy(
+        xml_escape_translator(BOOST_MAKE_PFTO_WRAPPER(s)),
+        xml_escape_translator(BOOST_MAKE_PFTO_WRAPPER(s + std::strlen(s))), 
+        boost::archive::iterators::ostream_iterator<char>(os)
+    );
+}
+
+template<class Archive>
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+xml_oarchive_impl<Archive>::xml_oarchive_impl(
+    std::ostream & os_, 
+    unsigned int flags
+) : 
+    basic_text_oprimitive<std::ostream>(
+        os_,
+        0 != (flags & no_codecvt)
+    ),
+    basic_xml_oarchive<Archive>(flags)
+{
+    if(0 == (flags & no_header))
+        this->init();
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/archive/impl/xml_wiarchive_impl.ipp b/SRC/Serialization/archive/impl/xml_wiarchive_impl.ipp
new file mode 100755
index 0000000..bfb5afb
--- /dev/null
+++ b/SRC/Serialization/archive/impl/xml_wiarchive_impl.ipp
@@ -0,0 +1,206 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_wiprimitive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+
+#include <cstring>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::memcpy; 
+} //std
+#endif
+
+#include <boost/config.hpp> // msvc 6.0 needs this to suppress warnings
+#ifndef BOOST_NO_STD_WSTREAMBUF
+
+#include <boost/assert.hpp>
+#include <algorithm>
+
+#include <boost/detail/workaround.hpp> // Dinkumware and RogueWave
+#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
+#include <Serialization/archive/dinkumware.hpp>
+#endif
+
+#include <boost/io/ios_state.hpp>
+#include <boost/detail/no_exceptions_support.hpp>
+#include <Serialization/pfto.hpp>
+
+#include <Serialization/string.hpp>
+#include <Serialization/archive/add_facet.hpp>
+#include <Serialization/archive/xml_archive_exception.hpp>
+#include <Serialization/archive/detail/utf8_codecvt_facet.hpp>
+
+#include <Serialization/archive/iterators/mb_from_wchar.hpp>
+
+#include <Serialization/archive/basic_xml_archive.hpp>
+#include <Serialization/archive/xml_wiarchive.hpp>
+
+#include "basic_xml_grammar.hpp"
+
+namespace boost {
+namespace archive {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// implemenations of functions specific to wide char archives
+
+namespace { // anonymous
+
+void copy_to_ptr(char * s, const std::wstring & ws){
+    std::copy(
+        iterators::mb_from_wchar<std::wstring::const_iterator>(
+            BOOST_MAKE_PFTO_WRAPPER(ws.begin())
+        ), 
+        iterators::mb_from_wchar<std::wstring::const_iterator>(
+            BOOST_MAKE_PFTO_WRAPPER(ws.end())
+        ), 
+        s
+    );
+    s[ws.size()] = 0;
+}
+
+} // anonymous
+
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+xml_wiarchive_impl<Archive>::load(std::string & s){
+    std::wstring ws;
+    bool result = gimpl->parse_string(is, ws);
+    if(! result)
+        boost::serialization::throw_exception(
+            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
+        );
+    #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101))
+    if(NULL != s.data())
+    #endif
+        s.resize(0);
+    s.reserve(ws.size());
+    std::copy(
+        iterators::mb_from_wchar<std::wstring::iterator>(
+            BOOST_MAKE_PFTO_WRAPPER(ws.begin())
+        ), 
+        iterators::mb_from_wchar<std::wstring::iterator>(
+            BOOST_MAKE_PFTO_WRAPPER(ws.end())
+        ), 
+        std::back_inserter(s)
+    );
+}
+
+#ifndef BOOST_NO_STD_WSTRING
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+xml_wiarchive_impl<Archive>::load(std::wstring & ws){
+    bool result = gimpl->parse_string(is, ws);
+    if(! result)
+        boost::serialization::throw_exception(
+            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
+        );
+}
+#endif
+
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+xml_wiarchive_impl<Archive>::load(char * s){
+    std::wstring ws;
+    bool result = gimpl->parse_string(is, ws);
+    if(! result)
+        boost::serialization::throw_exception(
+            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
+        );
+    copy_to_ptr(s, ws);
+}
+
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+xml_wiarchive_impl<Archive>::load(wchar_t * ws){
+    std::wstring twstring;
+    bool result = gimpl->parse_string(is, twstring);
+    if(! result)
+        boost::serialization::throw_exception(
+            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
+        );
+    std::memcpy(ws, twstring.c_str(), twstring.size());
+    ws[twstring.size()] = L'\0';
+}
+#endif
+
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+xml_wiarchive_impl<Archive>::load_override(class_name_type & t, int){
+    const std::wstring & ws = gimpl->rv.class_name;
+    if(ws.size() > BOOST_SERIALIZATION_MAX_KEY_SIZE - 1)
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::invalid_class_name)
+        );
+    copy_to_ptr(t, ws);
+}
+
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+xml_wiarchive_impl<Archive>::init(){
+    gimpl->init(is);
+    this->set_library_version(
+        library_version_type(gimpl->rv.version)
+    );
+}
+
+template<class Archive>
+BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY())
+xml_wiarchive_impl<Archive>::xml_wiarchive_impl(
+    std::wistream &is_,
+    unsigned int flags
+) :
+    basic_text_iprimitive<std::wistream>(
+        is_, 
+        true // don't change the codecvt - use the one below
+    ),
+    basic_xml_iarchive<Archive>(flags),
+    gimpl(new xml_wgrammar())
+{
+    if(0 == (flags & no_codecvt)){
+        archive_locale.reset(
+            add_facet(
+                std::locale::classic(),
+                new boost::archive::detail::utf8_codecvt_facet
+            )
+        );
+        is.imbue(* archive_locale);
+    }
+    if(0 == (flags & no_header)){
+        BOOST_TRY{
+            this->init();
+        }
+        BOOST_CATCH(...){
+            delete gimpl;
+            #ifndef BOOST_NO_EXCEPTIONS
+                throw; // re-throw
+            #endif
+        }
+        BOOST_CATCH_END
+    }
+}
+
+template<class Archive>
+BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY())
+xml_wiarchive_impl<Archive>::~xml_wiarchive_impl(){
+    if(0 == (this->get_flags() & no_header)){
+        BOOST_TRY{
+            gimpl->windup(is);
+        }
+        BOOST_CATCH(...){}
+        BOOST_CATCH_END
+    }
+    delete gimpl;
+}
+
+} // namespace archive
+} // namespace boost
+
+#endif  // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Serialization/archive/impl/xml_woarchive_impl.ipp b/SRC/Serialization/archive/impl/xml_woarchive_impl.ipp
new file mode 100755
index 0000000..be816cb
--- /dev/null
+++ b/SRC/Serialization/archive/impl/xml_woarchive_impl.ipp
@@ -0,0 +1,160 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_woarchive_impl.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include <boost/config.hpp>
+#ifndef BOOST_NO_STD_WSTREAMBUF
+
+#include <ostream>
+#include <string>
+#include <algorithm>
+#include <locale>
+
+#include <boost/config.hpp> // msvc 6.0 needs this to suppress warnings 
+                            // for BOOST_DEDUCED_TYPENAME
+#include <cstring> // strlen
+#include <cstdlib> // mbtowc
+#include <cwchar>  // wcslen
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::strlen; 
+    #if ! defined(BOOST_NO_INTRINSIC_WCHAR_T)
+        using ::mbtowc; 
+        using ::wcslen;
+    #endif
+} // namespace std
+#endif
+
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/pfto.hpp>
+
+#include <Serialization/archive/iterators/xml_escape.hpp>
+#include <Serialization/archive/iterators/wchar_from_mb.hpp>
+#include <Serialization/archive/iterators/ostream_iterator.hpp>
+#include <Serialization/archive/iterators/dataflow_exception.hpp>
+
+#include <Serialization/archive/add_facet.hpp>
+#include <Serialization/archive/detail/utf8_codecvt_facet.hpp>
+
+namespace boost {
+namespace archive {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// implemenations of functions specific to wide char archives
+
+// copy chars to output escaping to xml and widening characters as we go
+template<class InputIterator>
+void save_iterator(std::wostream &os, InputIterator begin, InputIterator end){
+    typedef iterators::wchar_from_mb<
+        iterators::xml_escape<InputIterator>
+    > xmbtows;
+    std::copy(
+        xmbtows(BOOST_MAKE_PFTO_WRAPPER(begin)),
+        xmbtows(BOOST_MAKE_PFTO_WRAPPER(end)),
+        boost::archive::iterators::ostream_iterator<wchar_t>(os)
+    );
+}
+
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+xml_woarchive_impl<Archive>::save(const std::string & s){
+    // note: we don't use s.begin() and s.end() because dinkumware
+    // doesn't have string::value_type defined. So use a wrapper
+    // around these values to implement the definitions.
+    const char * begin = s.data();
+    const char * end = begin + s.size();
+    save_iterator(os, begin, end);
+}
+
+#ifndef BOOST_NO_STD_WSTRING
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+xml_woarchive_impl<Archive>::save(const std::wstring & ws){
+#if 0
+    typedef iterators::xml_escape<std::wstring::const_iterator> xmbtows;
+    std::copy(
+        xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.begin())),
+        xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.end())),
+        boost::archive::iterators::ostream_iterator<wchar_t>(os)
+    );
+#endif
+    typedef iterators::xml_escape<const wchar_t *> xmbtows;
+    std::copy(
+        xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.data())),
+        xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.data() + ws.size())),
+        boost::archive::iterators::ostream_iterator<wchar_t>(os)
+    );
+}
+#endif //BOOST_NO_STD_WSTRING
+
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+xml_woarchive_impl<Archive>::save(const char * s){
+   save_iterator(os, s, s + std::strlen(s));
+}
+
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+template<class Archive>
+BOOST_WARCHIVE_DECL(void)
+xml_woarchive_impl<Archive>::save(const wchar_t * ws){
+    os << ws;
+    typedef iterators::xml_escape<const wchar_t *> xmbtows;
+    std::copy(
+        xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws)),
+        xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws + std::wcslen(ws))),
+        boost::archive::iterators::ostream_iterator<wchar_t>(os)
+    );
+}
+#endif
+
+template<class Archive>
+BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY())
+xml_woarchive_impl<Archive>::xml_woarchive_impl(
+    std::wostream & os_,
+    unsigned int flags
+) :
+    basic_text_oprimitive<std::wostream>(
+        os_,
+        true // don't change the codecvt - use the one below
+    ),
+    basic_xml_oarchive<Archive>(flags)
+{
+    // Standard behavior is that imbue can be called
+    // a) before output is invoked or
+    // b) after flush has been called.  This prevents one-to-many
+    // transforms (such as one to many transforms from getting
+    // mixed up.  Unfortunately, STLPort doesn't respect b) above
+    // so the restoration of the original archive locale done by
+    // the locale_saver doesn't get processed,
+    // before the current one is destroyed.
+    // so the codecvt doesn't get replaced with the orginal
+    // so closing the stream invokes codecvt::do_unshift
+    // so it crashes because the corresponding locale that contained
+    // the codecvt isn't around any more.
+    // we can hack around this by using a static codecvt that never
+    // gets destroyed.
+    if(0 == (flags & no_codecvt)){
+        boost::archive::detail::utf8_codecvt_facet *pfacet;
+        #if defined(__SGI_STL_PORT)
+            static boost::archive::detail::utf8_codecvt_facet 
+                facet(static_cast<size_t>(1));
+            pfacet = & facet;
+        #else
+            pfacet = new boost::archive::detail::utf8_codecvt_facet;
+        #endif
+        archive_locale.reset(add_facet(std::locale::classic(), pfacet));
+        os.imbue(* archive_locale);
+    }
+    if(0 == (flags & no_header))
+        this->init();
+}
+
+} // namespace archive
+} // namespace boost
+
+#endif //BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Serialization/archive/iterators/base64_from_binary.hpp b/SRC/Serialization/archive/iterators/base64_from_binary.hpp
new file mode 100755
index 0000000..9bfa3b4
--- /dev/null
+++ b/SRC/Serialization/archive/iterators/base64_from_binary.hpp
@@ -0,0 +1,112 @@
+#ifndef BOOST_ARCHIVE_ITERATORS_BASE64_FROM_BINARY_HPP
+#define BOOST_ARCHIVE_ITERATORS_BASE64_FROM_BINARY_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// base64_from_binary.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+
+#include <cstddef> // size_t
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <Serialization/pfto.hpp>
+
+#include <boost/iterator/transform_iterator.hpp>
+#include <Serialization/archive/iterators/dataflow_exception.hpp>
+
+namespace boost { 
+namespace archive {
+namespace iterators {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// convert binary integers to base64 characters
+
+namespace detail {
+
+template<class CharType>
+struct from_6_bit {
+    typedef CharType result_type;
+    CharType operator()(CharType t) const{
+        const char * lookup_table = 
+            "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+            "abcdefghijklmnopqrstuvwxyz"
+            "0123456789"
+            "+/";
+        BOOST_ASSERT(t < 64);
+        return lookup_table[static_cast<size_t>(t)];
+    }
+};
+
+} // namespace detail
+
+// note: what we would like to do is
+// template<class Base, class CharType = BOOST_DEDUCED_TYPENAME Base::value_type>
+//  typedef transform_iterator<
+//      from_6_bit<CharType>,
+//      transform_width<Base, 6, sizeof(Base::value_type) * 8, CharType>
+//  > base64_from_binary;
+// but C++ won't accept this.  Rather than using a "type generator" and
+// using a different syntax, make a derivation which should be equivalent.
+//
+// Another issue addressed here is that the transform_iterator doesn't have
+// a templated constructor.  This makes it incompatible with the dataflow
+// ideal.  This is also addressed here.
+
+//template<class Base, class CharType = BOOST_DEDUCED_TYPENAME Base::value_type>
+template<
+    class Base, 
+    class CharType = BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type
+>
+class base64_from_binary : 
+    public transform_iterator<
+        detail::from_6_bit<CharType>,
+        Base
+    >
+{
+    friend class boost::iterator_core_access;
+    typedef transform_iterator<
+        BOOST_DEDUCED_TYPENAME detail::from_6_bit<CharType>,
+        Base
+    > super_t;
+
+public:
+    // make composible buy using templated constructor
+    template<class T>
+    base64_from_binary(BOOST_PFTO_WRAPPER(T) start) :
+        super_t(
+            Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))),
+            detail::from_6_bit<CharType>()
+        )
+    {}
+    // intel 7.1 doesn't like default copy constructor
+    base64_from_binary(const base64_from_binary & rhs) : 
+        super_t(
+            Base(rhs.base_reference()),
+            detail::from_6_bit<CharType>()
+        )
+    {}
+//    base64_from_binary(){};
+};
+
+} // namespace iterators
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_ARCHIVE_ITERATORS_BASE64_FROM_BINARY_HPP
diff --git a/SRC/Serialization/archive/iterators/binary_from_base64.hpp b/SRC/Serialization/archive/iterators/binary_from_base64.hpp
new file mode 100755
index 0000000..5f5fd3a
--- /dev/null
+++ b/SRC/Serialization/archive/iterators/binary_from_base64.hpp
@@ -0,0 +1,120 @@
+#ifndef BOOST_ARCHIVE_ITERATORS_BINARY_FROM_BASE64_HPP
+#define BOOST_ARCHIVE_ITERATORS_BINARY_FROM_BASE64_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// binary_from_base64.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/pfto.hpp>
+#include <boost/static_assert.hpp>
+
+#include <boost/iterator/transform_iterator.hpp>
+#include <Serialization/archive/iterators/dataflow_exception.hpp>
+
+namespace boost { 
+namespace archive {
+namespace iterators {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// convert base64 characters to binary data
+
+namespace detail {
+
+template<class CharType>
+struct to_6_bit {
+    typedef CharType result_type;
+    CharType operator()(CharType t) const{
+        const signed char lookup_table[] = {
+            -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+            -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+            -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,
+            52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,
+            -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,
+            15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,
+            -1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,
+            41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1
+        };
+        // metrowerks trips this assertion - how come?
+        #if ! defined(__MWERKS__)
+        BOOST_STATIC_ASSERT(128 == sizeof(lookup_table));
+        #endif
+        signed char value = -1;
+        if((unsigned)t <= 127)
+            value = lookup_table[(unsigned)t];
+        if(-1 == value)
+            boost::serialization::throw_exception(
+                dataflow_exception(dataflow_exception::invalid_base64_character)
+            );
+        return value;
+    }
+};
+
+} // namespace detail
+
+// note: what we would like to do is
+// template<class Base, class CharType = BOOST_DEDUCED_TYPENAME Base::value_type>
+//  typedef transform_iterator<
+//      from_6_bit<CharType>,
+//      transform_width<Base, 6, sizeof(Base::value_type) * 8, CharType>
+//  > base64_from_binary;
+// but C++ won't accept this.  Rather than using a "type generator" and
+// using a different syntax, make a derivation which should be equivalent.
+//
+// Another issue addressed here is that the transform_iterator doesn't have
+// a templated constructor.  This makes it incompatible with the dataflow
+// ideal.  This is also addressed here.
+
+template<
+    class Base, 
+    class CharType = BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type
+>
+class binary_from_base64 : public
+    transform_iterator<
+        detail::to_6_bit<CharType>,
+        Base
+    >
+{
+    friend class boost::iterator_core_access;
+    typedef transform_iterator<
+        detail::to_6_bit<CharType>,
+        Base
+    > super_t;
+public:
+    // make composible buy using templated constructor
+    template<class T>
+    binary_from_base64(BOOST_PFTO_WRAPPER(T)  start) :
+        super_t(
+            Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))), 
+            detail::to_6_bit<CharType>()
+        )
+    {}
+    // intel 7.1 doesn't like default copy constructor
+    binary_from_base64(const binary_from_base64 & rhs) : 
+        super_t(
+            Base(rhs.base_reference()),
+            detail::to_6_bit<CharType>()
+        )
+    {}
+//    binary_from_base64(){};
+};
+
+} // namespace iterators
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_ARCHIVE_ITERATORS_BINARY_FROM_BASE64_HPP
diff --git a/SRC/Boost/boost/archive/iterators/dataflow_exception.hpp b/SRC/Serialization/archive/iterators/dataflow_exception.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/iterators/dataflow_exception.hpp
rename to SRC/Serialization/archive/iterators/dataflow_exception.hpp
diff --git a/SRC/Boost/boost/archive/iterators/escape.hpp b/SRC/Serialization/archive/iterators/escape.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/iterators/escape.hpp
rename to SRC/Serialization/archive/iterators/escape.hpp
diff --git a/SRC/Serialization/archive/iterators/insert_linebreaks.hpp b/SRC/Serialization/archive/iterators/insert_linebreaks.hpp
new file mode 100755
index 0000000..51e0a79
--- /dev/null
+++ b/SRC/Serialization/archive/iterators/insert_linebreaks.hpp
@@ -0,0 +1,101 @@
+#ifndef BOOST_ARCHIVE_ITERATORS_INSERT_LINEBREAKS_HPP
+#define BOOST_ARCHIVE_ITERATORS_INSERT_LINEBREAKS_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// insert_linebreaks.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ using ::memcpy; }
+#endif
+
+#include <Serialization/pfto.hpp>
+
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+
+namespace boost { 
+namespace archive {
+namespace iterators {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// insert line break every N characters
+template<
+    class Base, 
+    int N, 
+    class CharType = BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type
+>
+class insert_linebreaks : 
+    public iterator_adaptor<
+        insert_linebreaks<Base, N, CharType>,
+        Base,
+        CharType,
+        single_pass_traversal_tag,
+        CharType
+    >
+{
+private:
+    friend class boost::iterator_core_access;
+    typedef iterator_adaptor<
+        insert_linebreaks<Base, N, CharType>,
+        Base,
+        CharType,
+        single_pass_traversal_tag,
+        CharType
+    > super_t;
+
+    bool equal(const insert_linebreaks<Base, N, CharType> & rhs) const {
+        return
+//            m_count == rhs.m_count
+//            && base_reference() == rhs.base_reference()
+            this->base_reference() == rhs.base_reference()
+        ;
+    }
+
+    void increment() {
+        if(m_count == N){
+            m_count = 0;
+            return;
+        }
+        ++m_count;
+        ++(this->base_reference());
+    }
+    CharType dereference() const {
+        if(m_count == N)
+            return '\n';
+        return * (this->base_reference());
+    }
+    unsigned int m_count;
+public:
+    // make composible buy using templated constructor
+    template<class T>
+    insert_linebreaks(BOOST_PFTO_WRAPPER(T)  start) :
+        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))),
+        m_count(0)
+    {}
+    // intel 7.1 doesn't like default copy constructor
+    insert_linebreaks(const insert_linebreaks & rhs) : 
+        super_t(rhs.base_reference()),
+        m_count(rhs.m_count)
+    {}
+};
+
+} // namespace iterators
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_ARCHIVE_ITERATORS_INSERT_LINEBREAKS_HPP
diff --git a/SRC/Boost/boost/archive/iterators/istream_iterator.hpp b/SRC/Serialization/archive/iterators/istream_iterator.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/iterators/istream_iterator.hpp
rename to SRC/Serialization/archive/iterators/istream_iterator.hpp
diff --git a/SRC/Serialization/archive/iterators/mb_from_wchar.hpp b/SRC/Serialization/archive/iterators/mb_from_wchar.hpp
new file mode 100755
index 0000000..7790cbf
--- /dev/null
+++ b/SRC/Serialization/archive/iterators/mb_from_wchar.hpp
@@ -0,0 +1,136 @@
+#ifndef BOOST_ARCHIVE_ITERATORS_MB_FROM_WCHAR_HPP
+#define BOOST_ARCHIVE_ITERATORS_MB_FROM_WCHAR_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// mb_from_wchar.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+#include <cstddef> // size_t
+#include <cstdlib> // for wctomb()
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+    using ::wctomb;
+} // namespace std
+#endif
+
+#include <Serialization/pfto.hpp>
+#include <boost/iterator/iterator_adaptor.hpp>
+
+namespace boost { 
+namespace archive {
+namespace iterators {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// class used by text archives to translate wide strings and to char
+// strings of the currently selected locale
+template<class Base>    // the input iterator
+class mb_from_wchar
+    : public boost::iterator_adaptor<
+        mb_from_wchar<Base>, 
+        Base, 
+        wchar_t,
+        single_pass_traversal_tag,
+        char
+    >
+{
+    friend class boost::iterator_core_access;
+
+    typedef BOOST_DEDUCED_TYPENAME boost::iterator_adaptor<
+        mb_from_wchar<Base>, 
+        Base, 
+        wchar_t,
+        single_pass_traversal_tag,
+        char
+    > super_t;
+
+    typedef mb_from_wchar<Base> this_t;
+
+    char dereference_impl() {
+        if(! m_full){
+            fill();
+            m_full = true;
+        }
+        return m_buffer[m_bnext];
+    }
+    char dereference() const {
+        return (const_cast<this_t *>(this))->dereference_impl();
+    }
+
+    // test for iterator equality
+    bool equal(const mb_from_wchar<Base> & rhs) const {
+        // once the value is filled, the base_reference has been incremented
+        // so don't permit comparison anymore.
+        return 
+            0 == m_bend
+            && 0 == m_bnext
+            && this->base_reference() == rhs.base_reference()
+        ;
+    }
+
+    void fill(){
+        wchar_t value = * this->base_reference();
+        #if (defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 3) \
+        || ((__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION >= 8))))
+        m_bend = std::wcrtomb(m_buffer, value, 0);
+        #else
+        m_bend = std::wctomb(m_buffer, value);
+        #endif
+        BOOST_ASSERT(-1 != m_bend);
+        BOOST_ASSERT((std::size_t)m_bend <= sizeof(m_buffer));
+        BOOST_ASSERT(m_bend > 0);
+        m_bnext = 0;
+    }
+
+    void increment(){
+        if(++m_bnext < m_bend)
+            return;
+        m_bend = 
+        m_bnext = 0;
+        ++(this->base_reference());
+        m_full = false;
+    }
+
+    // buffer to handle pending characters
+    int m_bend;
+    int m_bnext;
+    char m_buffer[9];
+    bool m_full;
+
+public:
+    // make composible buy using templated constructor
+    template<class T>
+    mb_from_wchar(BOOST_PFTO_WRAPPER(T) start) :
+        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))),
+        m_bend(0),
+        m_bnext(0),
+        m_full(false)
+    {}
+    // intel 7.1 doesn't like default copy constructor
+    mb_from_wchar(const mb_from_wchar & rhs) : 
+        super_t(rhs.base_reference()),
+        m_bend(rhs.m_bend),
+        m_bnext(rhs.m_bnext),
+        m_full(rhs.m_full)
+    {}
+};
+
+} // namespace iterators
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_ARCHIVE_ITERATORS_MB_FROM_WCHAR_HPP
diff --git a/SRC/Boost/boost/archive/iterators/ostream_iterator.hpp b/SRC/Serialization/archive/iterators/ostream_iterator.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/iterators/ostream_iterator.hpp
rename to SRC/Serialization/archive/iterators/ostream_iterator.hpp
diff --git a/SRC/Serialization/archive/iterators/remove_whitespace.hpp b/SRC/Serialization/archive/iterators/remove_whitespace.hpp
new file mode 100755
index 0000000..304840e
--- /dev/null
+++ b/SRC/Serialization/archive/iterators/remove_whitespace.hpp
@@ -0,0 +1,169 @@
+#ifndef BOOST_ARCHIVE_ITERATORS_REMOVE_WHITESPACE_HPP
+#define BOOST_ARCHIVE_ITERATORS_REMOVE_WHITESPACE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// remove_whitespace.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+
+#include <Serialization/pfto.hpp>
+
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/iterator/filter_iterator.hpp>
+
+//#include <boost/detail/workaround.hpp>
+//#if ! BOOST_WORKAROUND(BOOST_MSVC, <=1300)
+
+// here is the default standard implementation of the functor used
+// by the filter iterator to remove spaces.  Unfortunately usage
+// of this implementation in combination with spirit trips a bug
+// VC 6.5.  The only way I can find to work around it is to 
+// implement a special non-standard version for this platform
+
+#ifndef BOOST_NO_CWCTYPE
+#include <cwctype> // iswspace
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ using ::iswspace; }
+#endif
+#endif
+
+#include <cctype> // isspace
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ using ::isspace; }
+#endif
+
+#if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
+// this is required for the RW STL on Linux and Tru64.
+#undef isspace
+#undef iswspace
+#endif
+
+//#endif // BOOST_WORKAROUND
+
+namespace { // anonymous
+
+template<class CharType>
+struct remove_whitespace_predicate;
+
+template<>
+struct remove_whitespace_predicate<char>
+{
+    bool operator()(unsigned char t){
+        return ! std::isspace(t);
+    }
+};
+
+#ifndef BOOST_NO_CWCHAR
+template<>
+struct remove_whitespace_predicate<wchar_t>
+{
+    bool operator()(wchar_t t){
+        return ! std::iswspace(t);
+    }
+};
+#endif
+
+} // namespace anonymous
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// convert base64 file data (including whitespace and padding) to binary
+
+namespace boost { 
+namespace archive {
+namespace iterators {
+
+// custom version of filter iterator which doesn't look ahead further than
+// necessary
+
+template<class Predicate, class Base>
+class filter_iterator
+    : public boost::iterator_adaptor<
+        filter_iterator<Predicate, Base>,
+        Base,
+        use_default,
+        single_pass_traversal_tag
+    >
+{
+    friend class boost::iterator_core_access;
+    typedef BOOST_DEDUCED_TYPENAME boost::iterator_adaptor<
+        filter_iterator<Predicate, Base>,
+        Base,
+        use_default,
+        single_pass_traversal_tag
+    > super_t;
+    typedef filter_iterator<Predicate, Base> this_t;
+    typedef BOOST_DEDUCED_TYPENAME super_t::reference reference_type;
+
+    reference_type dereference_impl(){
+        if(! m_full){
+            while(! m_predicate(* this->base_reference()))
+                ++(this->base_reference());
+            m_full = true;
+        }
+        return * this->base_reference();
+    }
+
+    reference_type dereference() const {
+        return const_cast<this_t *>(this)->dereference_impl();
+    }
+
+    Predicate m_predicate;
+    bool m_full;
+public:
+    // note: this function is public only because comeau compiler complained
+    // I don't know if this is because the compiler is wrong or what
+    void increment(){
+        m_full = false;
+        ++(this->base_reference());
+    }
+    filter_iterator(Base start) : 
+        super_t(start), 
+        m_full(false)
+    {}
+    filter_iterator(){}
+};
+
+template<class Base>
+class remove_whitespace : 
+    public filter_iterator<
+        remove_whitespace_predicate<BOOST_DEDUCED_TYPENAME Base::value_type>,
+        Base
+    >
+{
+    friend class boost::iterator_core_access;
+    typedef filter_iterator<
+        remove_whitespace_predicate<BOOST_DEDUCED_TYPENAME Base::value_type>,
+        Base
+    > super_t;
+public:
+//    remove_whitespace(){} // why is this needed?
+    // make composible buy using templated constructor
+    template<class T>
+    remove_whitespace(BOOST_PFTO_WRAPPER(T) start) :
+        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))))
+    {}
+    // intel 7.1 doesn't like default copy constructor
+    remove_whitespace(const remove_whitespace & rhs) : 
+        super_t(rhs.base_reference())
+    {}
+};
+
+} // namespace iterators
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_ARCHIVE_ITERATORS_REMOVE_WHITESPACE_HPP
diff --git a/SRC/Serialization/archive/iterators/transform_width.hpp b/SRC/Serialization/archive/iterators/transform_width.hpp
new file mode 100755
index 0000000..31f8ebc
--- /dev/null
+++ b/SRC/Serialization/archive/iterators/transform_width.hpp
@@ -0,0 +1,170 @@
+#ifndef BOOST_ARCHIVE_ITERATORS_TRANSFORM_WIDTH_HPP
+#define BOOST_ARCHIVE_ITERATORS_TRANSFORM_WIDTH_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// transform_width.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// iterator which takes elements of x bits and returns elements of y bits.
+// used to change streams of 8 bit characters into streams of 6 bit characters.
+// and vice-versa for implementing base64 encodeing/decoding. Be very careful
+// when using and end iterator.  end is only reliable detected when the input
+// stream length is some common multiple of x and y.  E.G. Base64 6 bit
+// character and 8 bit bytes. Lowest common multiple is 24 => 4 6 bit characters
+// or 3 8 bit characters
+
+#include <algorithm>
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME & PTFO
+#include <Serialization/pfto.hpp>
+
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+
+namespace boost { 
+namespace archive {
+namespace iterators {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// class used by text archives to translate char strings to wchar_t
+// strings of the currently selected locale
+template<
+    class Base, 
+    int BitsOut, 
+    int BitsIn, 
+    class CharType = BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type // output character
+>
+class transform_width : 
+    public boost::iterator_adaptor<
+        transform_width<Base, BitsOut, BitsIn, CharType>,
+        Base,
+        CharType,
+        single_pass_traversal_tag,
+        CharType
+    >
+{
+    friend class boost::iterator_core_access;
+    typedef BOOST_DEDUCED_TYPENAME boost::iterator_adaptor<
+        transform_width<Base, BitsOut, BitsIn, CharType>,
+        Base,
+        CharType,
+        single_pass_traversal_tag,
+        CharType
+    > super_t;
+
+    typedef transform_width<Base, BitsOut, BitsIn, CharType> this_t;
+    typedef BOOST_DEDUCED_TYPENAME iterator_value<Base>::type base_value_type;
+
+    CharType fill();
+
+    CharType dereference_impl(){
+        if(! m_full){
+            m_current_value = fill();
+            m_full = true;
+        }
+        return m_current_value;
+    }
+
+    CharType dereference() const {
+        return const_cast<this_t *>(this)->dereference_impl();
+    }
+
+    // test for iterator equality
+    bool equal(const this_t & rhs) const {
+        return
+            this->base_reference() == rhs.base_reference();
+        ;
+    }
+
+    void increment(){
+        m_displacement += BitsOut;
+
+        while(m_displacement >= BitsIn){
+            m_displacement -= BitsIn;
+            if(0 == m_displacement)
+                m_bufferfull = false;
+            if(! m_bufferfull){
+                // note: suspect that this is not invoked for borland
+                ++(this->base_reference());
+            }
+        }
+        m_full = false;
+    }
+
+    CharType m_current_value;
+    // number of bits left in current input character buffer
+    unsigned int m_displacement;
+    base_value_type m_buffer;
+    // flag to current output character is ready - just used to save time
+    bool m_full;
+    // flag to indicate that m_buffer has data
+    bool m_bufferfull;
+
+public:
+    // make composible buy using templated constructor
+    template<class T>
+    transform_width(BOOST_PFTO_WRAPPER(T) start) : 
+        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))),
+        m_displacement(0),
+        m_full(false),
+        m_bufferfull(false)
+    {}
+    // intel 7.1 doesn't like default copy constructor
+    transform_width(const transform_width & rhs) : 
+        super_t(rhs.base_reference()),
+        m_current_value(rhs.m_current_value),
+        m_displacement(rhs.m_displacement),
+        m_buffer(rhs.m_buffer),
+        m_full(rhs.m_full),
+        m_bufferfull(rhs.m_bufferfull)
+    {}
+};
+
+template<class Base, int BitsOut, int BitsIn, class CharType>
+CharType transform_width<Base, BitsOut, BitsIn, CharType>::fill(){
+    CharType retval = 0;
+    unsigned int missing_bits = BitsOut;
+    for(;;){
+        unsigned int bcount;
+        if(! m_bufferfull){
+            m_buffer = * this->base_reference();
+            m_bufferfull = true;
+            bcount = BitsIn;
+        }
+        else
+            bcount = BitsIn - m_displacement;
+        unsigned int i = (std::min)(bcount, missing_bits);
+        // shift interesting bits to least significant position
+        unsigned int j = m_buffer >> (bcount - i);
+        // strip off uninteresting bits
+        // (note presumption of two's complement arithmetic)
+        j &= ~(-(1 << i));
+        // append then interesting bits to the output value
+        retval <<= i;
+        retval |= j;
+        missing_bits -= i;
+        if(0 == missing_bits)
+            break;
+        // note: suspect that this is not invoked for borland 5.51
+        ++(this->base_reference());
+        m_bufferfull = false;
+    }
+    return retval;
+}
+
+} // namespace iterators
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_ARCHIVE_ITERATORS_TRANSFORM_WIDTH_HPP
diff --git a/SRC/Boost/boost/archive/iterators/unescape.hpp b/SRC/Serialization/archive/iterators/unescape.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/iterators/unescape.hpp
rename to SRC/Serialization/archive/iterators/unescape.hpp
diff --git a/SRC/Serialization/archive/iterators/wchar_from_mb.hpp b/SRC/Serialization/archive/iterators/wchar_from_mb.hpp
new file mode 100755
index 0000000..aee4542
--- /dev/null
+++ b/SRC/Serialization/archive/iterators/wchar_from_mb.hpp
@@ -0,0 +1,129 @@
+#ifndef BOOST_ARCHIVE_ITERATORS_WCHAR_FROM_MB_HPP
+#define BOOST_ARCHIVE_ITERATORS_WCHAR_FROM_MB_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// wchar_from_mb.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+#include <cctype>
+#include <cstddef> // size_t
+#include <cstdlib> // mblen
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::mblen; 
+    using ::mbtowc; 
+} // namespace std
+#endif
+
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/pfto.hpp>
+
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <Serialization/archive/iterators/dataflow_exception.hpp>
+
+namespace boost { 
+namespace archive {
+namespace iterators {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// class used by text archives to translate char strings to wchar_t
+// strings of the currently selected locale
+template<class Base>
+class wchar_from_mb 
+    : public boost::iterator_adaptor<
+        wchar_from_mb<Base>, 
+        Base, 
+        wchar_t,
+        single_pass_traversal_tag,
+        wchar_t
+    >
+{
+    friend class boost::iterator_core_access;
+    typedef BOOST_DEDUCED_TYPENAME boost::iterator_adaptor<
+        wchar_from_mb<Base>, 
+        Base, 
+        wchar_t,
+        single_pass_traversal_tag,
+        wchar_t
+    > super_t;
+
+    typedef wchar_from_mb<Base> this_t;
+
+    wchar_t drain();
+
+    wchar_t dereference_impl() {
+        if(! m_full){
+            m_current_value = drain();
+            m_full = true;
+        }
+        return m_current_value;
+    }
+
+    wchar_t dereference() const {
+        return const_cast<this_t *>(this)->dereference_impl();
+    }
+
+    void increment(){
+        dereference_impl();
+        m_full = false;
+        ++(this->base_reference());
+    };
+
+    wchar_t m_current_value;
+    bool m_full;
+
+public:
+    // make composible buy using templated constructor
+    template<class T>
+    wchar_from_mb(BOOST_PFTO_WRAPPER(T) start) : 
+        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))),
+        m_full(false)
+    {}
+    // intel 7.1 doesn't like default copy constructor
+    wchar_from_mb(const wchar_from_mb & rhs) : 
+        super_t(rhs.base_reference()),
+        m_full(rhs.m_full)
+    {}
+};
+
+template<class Base>
+wchar_t wchar_from_mb<Base>::drain(){
+    char buffer[9];
+    char * bptr = buffer;
+    char val;
+    for(std::size_t i = 0; i++ < (unsigned)MB_CUR_MAX;){
+        val = * this->base_reference();
+        *bptr++ = val;
+        int result = std::mblen(buffer, i);
+        if(-1 != result)
+            break;
+        ++(this->base_reference());
+    }
+    wchar_t retval;
+    int result = std::mbtowc(& retval, buffer, MB_CUR_MAX);
+    if(0 >= result)
+        boost::serialization::throw_exception(iterators::dataflow_exception(
+            iterators::dataflow_exception::invalid_conversion
+        ));
+    return retval;
+}
+
+} // namespace iterators
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_ARCHIVE_ITERATORS_WCHAR_FROM_MB_HPP
diff --git a/SRC/Serialization/archive/iterators/xml_escape.hpp b/SRC/Serialization/archive/iterators/xml_escape.hpp
new file mode 100755
index 0000000..2461865
--- /dev/null
+++ b/SRC/Serialization/archive/iterators/xml_escape.hpp
@@ -0,0 +1,125 @@
+#ifndef BOOST_ARCHIVE_ITERATORS_XML_ESCAPE_HPP
+#define BOOST_ARCHIVE_ITERATORS_XML_ESCAPE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_escape.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+#include <Serialization/pfto.hpp>
+
+#include <Serialization/archive/iterators/escape.hpp>
+
+namespace boost { 
+namespace archive {
+namespace iterators {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// insert escapes into xml text
+
+template<class Base>
+class xml_escape 
+    : public escape<xml_escape<Base>, Base>
+{
+    friend class boost::iterator_core_access;
+
+    typedef escape<xml_escape<Base>, Base> super_t;
+
+public:
+    char fill(const char * & bstart, const char * & bend);
+    wchar_t fill(const wchar_t * & bstart, const wchar_t * & bend);
+
+    template<class T>
+    xml_escape(BOOST_PFTO_WRAPPER(T) start) :
+        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))))
+    {}
+    // intel 7.1 doesn't like default copy constructor
+    xml_escape(const xml_escape & rhs) : 
+        super_t(rhs.base_reference())
+    {}
+};
+
+template<class Base>
+char xml_escape<Base>::fill(
+    const char * & bstart, 
+    const char * & bend
+){
+    char current_value = * this->base_reference();
+    switch(current_value){
+    case '<':
+        bstart = "<";
+        bend = bstart + 4;
+        break;
+    case '>':
+        bstart = ">";
+        bend = bstart + 4;
+        break;
+    case '&':
+        bstart = "&";
+        bend = bstart + 5;
+        break;
+    case '"':
+        bstart = """;
+        bend = bstart + 6;
+        break;
+    case '\'':
+        bstart = "'";
+        bend = bstart + 6;
+        break;
+    default:
+        return current_value;
+    }
+    return *bstart;
+}
+
+template<class Base>
+wchar_t xml_escape<Base>::fill(
+    const wchar_t * & bstart, 
+    const wchar_t * & bend
+){
+    wchar_t current_value = * this->base_reference();
+    switch(current_value){
+    case '<':
+        bstart = L"<";
+        bend = bstart + 4;
+        break;
+    case '>':
+        bstart = L">";
+        bend = bstart + 4;
+        break;
+    case '&':
+        bstart = L"&";
+        bend = bstart + 5;
+        break;
+    case '"':
+        bstart = L""";
+        bend = bstart + 6;
+        break;
+    case '\'':
+        bstart = L"'";
+        bend = bstart + 6;
+        break;
+    default:
+        return current_value;
+    }
+    return *bstart;
+}
+
+} // namespace iterators
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_ARCHIVE_ITERATORS_XML_ESCAPE_HPP
diff --git a/SRC/Serialization/archive/iterators/xml_unescape.hpp b/SRC/Serialization/archive/iterators/xml_unescape.hpp
new file mode 100755
index 0000000..6af44a4
--- /dev/null
+++ b/SRC/Serialization/archive/iterators/xml_unescape.hpp
@@ -0,0 +1,128 @@
+#ifndef BOOST_ARCHIVE_ITERATORS_XML_UNESCAPE_HPP
+#define BOOST_ARCHIVE_ITERATORS_XML_UNESCAPE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_unescape.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+
+#include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/pfto.hpp>
+
+#include <Serialization/archive/iterators/unescape.hpp>
+#include <Serialization/archive/iterators/dataflow_exception.hpp>
+
+namespace boost { 
+namespace archive {
+namespace iterators {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// replace &??? xml escape sequences with the corresponding characters
+template<class Base>
+class xml_unescape 
+    : public unescape<xml_unescape<Base>, Base>
+{
+    friend class boost::iterator_core_access;
+    typedef xml_unescape<Base> this_t;
+    typedef unescape<this_t, Base> super_t;
+    typedef BOOST_DEDUCED_TYPENAME boost::iterator_reference<this_t> reference_type;
+
+    reference_type dereference() const {
+        return unescape<xml_unescape<Base>, Base>::dereference();
+    }
+public:
+    // workaround msvc 7.1 ICU crash
+    #if defined(BOOST_MSVC)
+        typedef int value_type;
+    #else
+        typedef BOOST_DEDUCED_TYPENAME this_t::value_type value_type;
+    #endif
+
+    void drain_residue(const char *literal);
+    value_type drain();
+
+    template<class T>
+    xml_unescape(BOOST_PFTO_WRAPPER(T) start) : 
+        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))))
+    {}
+    // intel 7.1 doesn't like default copy constructor
+    xml_unescape(const xml_unescape & rhs) : 
+        super_t(rhs.base_reference())
+    {}
+};
+
+template<class Base>
+void xml_unescape<Base>::drain_residue(const char * literal){
+    do{
+        if(* literal != * ++(this->base_reference()))
+            boost::serialization::throw_exception(
+                dataflow_exception(
+                    dataflow_exception::invalid_xml_escape_sequence
+                )
+            );
+    }
+    while('\0' != * ++literal);
+}
+
+// note key constraint on this function is that can't "look ahead" any
+// more than necessary into base iterator.  Doing so would alter the base
+// iterator refenence which would make subsequent iterator comparisons
+// incorrect and thereby break the composiblity of iterators.
+template<class Base>
+BOOST_DEDUCED_TYPENAME xml_unescape<Base>::value_type 
+//int 
+xml_unescape<Base>::drain(){
+    value_type retval = * this->base_reference();
+    if('&' != retval){
+        return retval;
+    }
+    retval = * ++(this->base_reference());
+    switch(retval){
+    case 'l': // <
+        drain_residue("t;");
+        retval = '<';
+        break;
+    case 'g': // >
+        drain_residue("t;");
+        retval = '>';
+        break;
+    case 'a':
+        retval = * ++(this->base_reference());
+        switch(retval){
+        case 'p': // '
+            drain_residue("os;");
+            retval = '\'';
+            break;
+        case 'm': // &
+            drain_residue("p;");
+            retval = '&';
+            break;
+        }
+        break;
+    case 'q':
+        drain_residue("uot;");
+        retval = '"';
+        break;
+    }
+    return retval;
+}
+
+} // namespace iterators
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_ARCHIVE_ITERATORS_XML_UNESCAPE_HPP
diff --git a/SRC/Serialization/archive/polymorphic_binary_iarchive.hpp b/SRC/Serialization/archive/polymorphic_binary_iarchive.hpp
new file mode 100755
index 0000000..d0fd8f9
--- /dev/null
+++ b/SRC/Serialization/archive/polymorphic_binary_iarchive.hpp
@@ -0,0 +1,54 @@
+#ifndef BOOST_ARCHIVE_POLYMORPHIC_BINARY_IARCHIVE_HPP
+#define BOOST_ARCHIVE_POLYMORPHIC_BINARY_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_binary_iarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <Serialization/archive/binary_iarchive.hpp>
+#include <Serialization/archive/detail/polymorphic_iarchive_route.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+class polymorphic_binary_iarchive : 
+    public detail::polymorphic_iarchive_route<naked_binary_iarchive>
+{
+public:
+    polymorphic_binary_iarchive(std::istream & is, unsigned int flags = 0) :
+        detail::polymorphic_iarchive_route<naked_binary_iarchive>(is, flags)
+    {}
+    ~polymorphic_binary_iarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
+    boost::archive::polymorphic_binary_iarchive
+)
+
+#endif // BOOST_ARCHIVE_POLYMORPHIC_BINARY_IARCHIVE_HPP
+
diff --git a/SRC/Serialization/archive/polymorphic_binary_oarchive.hpp b/SRC/Serialization/archive/polymorphic_binary_oarchive.hpp
new file mode 100755
index 0000000..26c7a9b
--- /dev/null
+++ b/SRC/Serialization/archive/polymorphic_binary_oarchive.hpp
@@ -0,0 +1,43 @@
+#ifndef BOOST_ARCHIVE_POLYMORPHIC_BINARY_OARCHIVE_HPP
+#define BOOST_ARCHIVE_POLYMORPHIC_BINARY_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_binary_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <Serialization/archive/binary_oarchive.hpp>
+#include <Serialization/archive/detail/polymorphic_oarchive_route.hpp>
+
+namespace boost { 
+namespace archive {
+
+typedef detail::polymorphic_oarchive_route<
+    binary_oarchive_impl<
+        naked_binary_oarchive, 
+        std::ostream::char_type, 
+        std::ostream::traits_type
+    >
+ > polymorphic_binary_oarchive;
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
+    boost::archive::polymorphic_binary_oarchive
+)
+
+#endif // BOOST_ARCHIVE_POLYMORPHIC_BINARY_OARCHIVE_HPP
+
diff --git a/SRC/Serialization/archive/polymorphic_iarchive.hpp b/SRC/Serialization/archive/polymorphic_iarchive.hpp
new file mode 100755
index 0000000..b9b7b07
--- /dev/null
+++ b/SRC/Serialization/archive/polymorphic_iarchive.hpp
@@ -0,0 +1,181 @@
+#ifndef BOOST_ARCHIVE_POLYMORPHIC_IARCHIVE_HPP
+#define BOOST_ARCHIVE_POLYMORPHIC_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_iarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // std::size_t
+#include <climits> // ULONG_MAX 
+#include <string>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+    using ::size_t;
+} // namespace std
+#endif
+
+#include <boost/cstdint.hpp>
+
+#include <Serialization/pfto.hpp>
+#include <Serialization/archive/detail/iserializer.hpp>
+#include <Serialization/archive/detail/interface_iarchive.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+
+#include <Serialization/archive/detail/decl.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+template<class T>
+class shared_ptr;
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+namespace archive {
+namespace detail {
+    class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive;
+    class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive;
+}
+
+class polymorphic_iarchive;
+
+class polymorphic_iarchive_impl :
+    public detail::interface_iarchive<polymorphic_iarchive>
+{
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    friend class detail::interface_iarchive<polymorphic_iarchive>;
+    friend class load_access;
+#endif
+    // primitive types the only ones permitted by polymorphic archives
+    virtual void load(bool & t) = 0;
+
+    virtual void load(char & t) = 0;
+    virtual void load(signed char & t) = 0;
+    virtual void load(unsigned char & t) = 0;
+    #ifndef BOOST_NO_CWCHAR
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    virtual void load(wchar_t & t) = 0;
+    #endif
+    #endif
+    virtual void load(short & t) = 0;
+    virtual void load(unsigned short & t) = 0;
+    virtual void load(int & t) = 0;
+    virtual void load(unsigned int & t) = 0;
+    virtual void load(long & t) = 0;
+    virtual void load(unsigned long & t) = 0;
+
+    #if defined(BOOST_HAS_LONG_LONG)
+    virtual void load(boost::long_long_type & t) = 0;
+    virtual void load(boost::ulong_long_type & t) = 0;
+    #elif defined(BOOST_HAS_MS_INT64)
+    virtual void load(__int64 & t) = 0;
+    virtual void load(unsigned __int64 & t) = 0;
+    #endif
+
+    virtual void load(float & t) = 0;
+    virtual void load(double & t) = 0;
+
+    // string types are treated as primitives
+    virtual void load(std::string & t) = 0;
+    #ifndef BOOST_NO_STD_WSTRING
+    virtual void load(std::wstring & t) = 0;
+    #endif
+
+    // used for xml and other tagged formats
+    virtual void load_start(const char * name) = 0;
+    virtual void load_end(const char * name) = 0;
+    virtual void register_basic_serializer(const detail::basic_iserializer & bis) = 0;
+
+    // msvc and borland won't automatically pass these to the base class so
+    // make it explicit here
+    template<class T>
+    void load_override(T & t, BOOST_PFTO int)
+    {
+        archive::load(* this->This(), t);
+    }
+    // special treatment for name-value pairs.
+    template<class T>
+    void load_override(
+        #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+        const
+        #endif
+        boost::serialization::nvp< T > & t,
+        int
+    ){
+        load_start(t.name());
+        archive::load(* this->This(), t.value());
+        load_end(t.name());
+    }
+protected:
+    virtual ~polymorphic_iarchive_impl(){};
+public:
+    // utility function implemented by all legal archives
+    virtual void set_library_version(library_version_type archive_library_version) = 0;
+    virtual library_version_type get_library_version() const = 0;
+    virtual unsigned int get_flags() const = 0;
+    virtual void delete_created_pointers() = 0;
+    virtual void reset_object_address(
+        const void * new_address,
+        const void * old_address
+    ) = 0;
+
+    virtual void load_binary(void * t, std::size_t size) = 0;
+
+    // these are used by the serialization library implementation.
+    virtual void load_object(
+        void *t,
+        const detail::basic_iserializer & bis
+    ) = 0;
+    virtual const detail::basic_pointer_iserializer * load_pointer(
+        void * & t,
+        const detail::basic_pointer_iserializer * bpis_ptr,
+        const detail::basic_pointer_iserializer * (*finder)(
+            const boost::serialization::extended_type_info & type
+        )
+    ) = 0;
+};
+
+} // namespace archive
+} // namespace boost
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive.  We created a "mix-in"
+// class to provide this functionality.  Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <Serialization/archive/shared_ptr_helper.hpp>
+
+namespace boost { 
+namespace archive {
+
+class polymorphic_iarchive : 
+    public polymorphic_iarchive_impl,
+    public detail::shared_ptr_helper
+{
+public:
+    virtual ~polymorphic_iarchive(){};
+};
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::polymorphic_iarchive)
+
+#endif // BOOST_ARCHIVE_POLYMORPHIC_IARCHIVE_HPP
diff --git a/SRC/Serialization/archive/polymorphic_oarchive.hpp b/SRC/Serialization/archive/polymorphic_oarchive.hpp
new file mode 100755
index 0000000..da79f8c
--- /dev/null
+++ b/SRC/Serialization/archive/polymorphic_oarchive.hpp
@@ -0,0 +1,159 @@
+#ifndef BOOST_ARCHIVE_POLYMORPHIC_OARCHIVE_HPP
+#define BOOST_ARCHIVE_POLYMORPHIC_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // size_t
+#include <climits> // ULONG_MAX 
+#include <string>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+    using ::size_t;
+} // namespace std
+#endif
+
+#include <boost/cstdint.hpp>
+#include <Serialization/pfto.hpp>
+#include <Serialization/archive/detail/oserializer.hpp>
+#include <Serialization/archive/detail/interface_oarchive.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+
+#include <Serialization/archive/detail/decl.hpp>
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+template<class T>
+class shared_ptr;
+namespace serialization {
+    class extended_type_info;
+} // namespace serialization
+namespace archive {
+namespace detail {
+    class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive;
+    class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer;
+}
+
+class polymorphic_oarchive;
+
+class polymorphic_oarchive_impl :
+    public detail::interface_oarchive<polymorphic_oarchive>
+{
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    friend class detail::interface_oarchive<polymorphic_oarchive>;
+    friend class save_access;
+#endif
+    // primitive types the only ones permitted by polymorphic archives
+    virtual void save(const bool t) = 0;
+
+    virtual void save(const char t) = 0;
+    virtual void save(const signed char t) = 0;
+    virtual void save(const unsigned char t) = 0;
+    #ifndef BOOST_NO_CWCHAR
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    virtual void save(const wchar_t t) = 0;
+    #endif
+    #endif
+    virtual void save(const short t) = 0;
+    virtual void save(const unsigned short t) = 0;
+    virtual void save(const int t) = 0;
+    virtual void save(const unsigned int t) = 0;
+    virtual void save(const long t) = 0;
+    virtual void save(const unsigned long t) = 0;
+
+    #if defined(BOOST_HAS_LONG_LONG)
+    virtual void save(const boost::long_long_type t) = 0;
+    virtual void save(const boost::ulong_long_type t) = 0;
+    #elif defined(BOOST_HAS_MS_INT64)
+    virtual void save(const __int64 t) = 0;
+    virtual void save(const unsigned __int64 t) = 0;
+    #endif
+
+    virtual void save(const float t) = 0;
+    virtual void save(const double t) = 0;
+
+    // string types are treated as primitives
+    virtual void save(const std::string & t) = 0;
+    #ifndef BOOST_NO_STD_WSTRING
+    virtual void save(const std::wstring & t) = 0;
+    #endif
+
+    virtual void save_null_pointer() = 0;
+    // used for xml and other tagged formats
+    virtual void save_start(const char * name) = 0;
+    virtual void save_end(const char * name) = 0;
+    virtual void register_basic_serializer(const detail::basic_oserializer & bos) = 0;
+
+    virtual void end_preamble() = 0;
+
+    // msvc and borland won't automatically pass these to the base class so
+    // make it explicit here
+    template<class T>
+    void save_override(T & t, BOOST_PFTO int)
+    {
+        archive::save(* this->This(), t);
+    }
+    // special treatment for name-value pairs.
+    template<class T>
+    void save_override(
+                #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+                const
+                #endif
+                ::boost::serialization::nvp< T > & t, int
+        ){
+        save_start(t.name());
+        archive::save(* this->This(), t.const_value());
+        save_end(t.name());
+    }
+protected:
+    virtual ~polymorphic_oarchive_impl(){};
+public:
+    // utility functions implemented by all legal archives
+    virtual unsigned int get_flags() const = 0;
+    virtual library_version_type get_library_version() const = 0;
+    virtual void save_binary(const void * t, std::size_t size) = 0;
+
+    virtual void save_object(
+        const void *x,
+        const detail::basic_oserializer & bos
+    ) = 0;
+    virtual void save_pointer(
+        const void * t,
+        const detail::basic_pointer_oserializer * bpos_ptr
+    ) = 0;
+};
+
+// note: preserve naming symmetry
+class polymorphic_oarchive : 
+    public polymorphic_oarchive_impl
+{
+public:
+    virtual ~polymorphic_oarchive(){};
+};
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::polymorphic_oarchive)
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_POLYMORPHIC_OARCHIVE_HPP
diff --git a/SRC/Serialization/archive/polymorphic_text_iarchive.hpp b/SRC/Serialization/archive/polymorphic_text_iarchive.hpp
new file mode 100755
index 0000000..9784e7d
--- /dev/null
+++ b/SRC/Serialization/archive/polymorphic_text_iarchive.hpp
@@ -0,0 +1,54 @@
+#ifndef BOOST_ARCHIVE_POLYMORPHIC_TEXT_IARCHIVE_HPP
+#define BOOST_ARCHIVE_POLYMORPHIC_TEXT_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_text_iarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <Serialization/archive/text_iarchive.hpp>
+#include <Serialization/archive/detail/polymorphic_iarchive_route.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+class polymorphic_text_iarchive : 
+    public detail::polymorphic_iarchive_route<naked_text_iarchive>
+{
+public:
+    polymorphic_text_iarchive(std::istream & is, unsigned int flags = 0) :
+        detail::polymorphic_iarchive_route<naked_text_iarchive>(is, flags)
+    {}
+    ~polymorphic_text_iarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
+    boost::archive::polymorphic_text_iarchive
+)
+
+#endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_IARCHIVE_HPP
+
diff --git a/SRC/Serialization/archive/polymorphic_text_oarchive.hpp b/SRC/Serialization/archive/polymorphic_text_oarchive.hpp
new file mode 100755
index 0000000..47560fa
--- /dev/null
+++ b/SRC/Serialization/archive/polymorphic_text_oarchive.hpp
@@ -0,0 +1,39 @@
+#ifndef BOOST_ARCHIVE_POLYMORPHIC_TEXT_OARCHIVE_HPP
+#define BOOST_ARCHIVE_POLYMORPHIC_TEXT_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_text_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <Serialization/archive/text_oarchive.hpp>
+#include <Serialization/archive/detail/polymorphic_oarchive_route.hpp>
+
+namespace boost { 
+namespace archive {
+
+typedef detail::polymorphic_oarchive_route<
+    text_oarchive_impl<naked_text_oarchive> 
+> polymorphic_text_oarchive;
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
+    boost::archive::polymorphic_text_oarchive
+)
+
+#endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_OARCHIVE_HPP
+
diff --git a/SRC/Serialization/archive/polymorphic_text_wiarchive.hpp b/SRC/Serialization/archive/polymorphic_text_wiarchive.hpp
new file mode 100755
index 0000000..ce2fca1
--- /dev/null
+++ b/SRC/Serialization/archive/polymorphic_text_wiarchive.hpp
@@ -0,0 +1,59 @@
+#ifndef BOOST_ARCHIVE_POLYMORPHIC_TEXT_WIARCHIVE_HPP
+#define BOOST_ARCHIVE_POLYMORPHIC_TEXT_WIARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_text_wiarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#include <Serialization/archive/text_wiarchive.hpp>
+#include <Serialization/archive/detail/polymorphic_iarchive_route.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+class polymorphic_text_wiarchive : 
+    public detail::polymorphic_iarchive_route<naked_text_wiarchive>
+{
+public:
+    polymorphic_text_wiarchive(std::wistream & is, unsigned int flags = 0) :
+        detail::polymorphic_iarchive_route<naked_text_wiarchive>(is, flags)
+    {}
+    ~polymorphic_text_wiarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
+    boost::archive::polymorphic_text_wiarchive
+)
+
+#endif // BOOST_NO_STD_WSTREAMBUF
+#endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_WIARCHIVE_HPP
+
diff --git a/SRC/Serialization/archive/polymorphic_text_woarchive.hpp b/SRC/Serialization/archive/polymorphic_text_woarchive.hpp
new file mode 100755
index 0000000..2ff5ac4
--- /dev/null
+++ b/SRC/Serialization/archive/polymorphic_text_woarchive.hpp
@@ -0,0 +1,44 @@
+#ifndef BOOST_ARCHIVE_POLYMORPHIC_TEXT_WOARCHIVE_HPP
+#define BOOST_ARCHIVE_POLYMORPHIC_TEXT_WOARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_text_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#include <Serialization/archive/text_woarchive.hpp>
+#include <Serialization/archive/detail/polymorphic_oarchive_route.hpp>
+
+namespace boost { 
+namespace archive {
+
+typedef detail::polymorphic_oarchive_route<
+        text_woarchive_impl<naked_text_woarchive> 
+> polymorphic_text_woarchive;
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
+    boost::archive::polymorphic_text_woarchive
+)
+
+#endif // BOOST_NO_STD_WSTREAMBUF 
+#endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_WOARCHIVE_HPP
+
diff --git a/SRC/Serialization/archive/polymorphic_xml_iarchive.hpp b/SRC/Serialization/archive/polymorphic_xml_iarchive.hpp
new file mode 100755
index 0000000..3d41772
--- /dev/null
+++ b/SRC/Serialization/archive/polymorphic_xml_iarchive.hpp
@@ -0,0 +1,54 @@
+#ifndef BOOST_ARCHIVE_POLYMORPHIC_XML_IARCHIVE_HPP
+#define BOOST_ARCHIVE_POLYMORPHIC_XML_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_xml_iarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <Serialization/archive/xml_iarchive.hpp>
+#include <Serialization/archive/detail/polymorphic_iarchive_route.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+class polymorphic_xml_iarchive : 
+    public detail::polymorphic_iarchive_route<naked_xml_iarchive>
+{
+public:
+    polymorphic_xml_iarchive(std::istream & is, unsigned int flags = 0) :
+        detail::polymorphic_iarchive_route<naked_xml_iarchive>(is, flags)
+    {}
+    ~polymorphic_xml_iarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
+    boost::archive::polymorphic_xml_iarchive
+)
+
+#endif // BOOST_ARCHIVE_POLYMORPHIC_XML_IARCHIVE_HPP
+
diff --git a/SRC/Serialization/archive/polymorphic_xml_oarchive.hpp b/SRC/Serialization/archive/polymorphic_xml_oarchive.hpp
new file mode 100755
index 0000000..74698d5
--- /dev/null
+++ b/SRC/Serialization/archive/polymorphic_xml_oarchive.hpp
@@ -0,0 +1,39 @@
+#ifndef BOOST_ARCHIVE_POLYMORPHIC_XML_OARCHIVE_HPP
+#define BOOST_ARCHIVE_POLYMORPHIC_XML_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_xml_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <Serialization/archive/xml_oarchive.hpp>
+#include <Serialization/archive/detail/polymorphic_oarchive_route.hpp>
+
+namespace boost { 
+namespace archive {
+
+typedef detail::polymorphic_oarchive_route<
+    xml_oarchive_impl<naked_xml_oarchive> 
+> polymorphic_xml_oarchive;
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
+    boost::archive::polymorphic_xml_oarchive
+)
+
+#endif // BOOST_ARCHIVE_POLYMORPHIC_XML_OARCHIVE_HPP
+
diff --git a/SRC/Serialization/archive/polymorphic_xml_wiarchive.hpp b/SRC/Serialization/archive/polymorphic_xml_wiarchive.hpp
new file mode 100755
index 0000000..e5e7b57
--- /dev/null
+++ b/SRC/Serialization/archive/polymorphic_xml_wiarchive.hpp
@@ -0,0 +1,50 @@
+#ifndef BOOST_ARCHIVE_POLYMORPHIC_XML_WIARCHIVE_HPP
+#define BOOST_ARCHIVE_POLYMORPHIC_XML_WIARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_xml_wiarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#include <Serialization/archive/xml_wiarchive.hpp>
+#include <Serialization/archive/detail/polymorphic_iarchive_route.hpp>
+
+namespace boost { 
+namespace archive {
+
+class polymorphic_xml_wiarchive : 
+    public detail::polymorphic_iarchive_route<naked_xml_wiarchive>
+{
+public:
+    polymorphic_xml_wiarchive(std::wistream & is, unsigned int flags = 0) :
+        detail::polymorphic_iarchive_route<naked_xml_wiarchive>(is, flags)
+    {}
+    ~polymorphic_xml_wiarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
+    boost::archive::polymorphic_xml_wiarchive
+)
+
+#endif // BOOST_NO_STD_WSTREAMBUF 
+#endif // BOOST_ARCHIVE_POLYMORPHIC_XML_WIARCHIVE_HPP
+
diff --git a/SRC/Serialization/archive/polymorphic_xml_woarchive.hpp b/SRC/Serialization/archive/polymorphic_xml_woarchive.hpp
new file mode 100755
index 0000000..2ab3f20
--- /dev/null
+++ b/SRC/Serialization/archive/polymorphic_xml_woarchive.hpp
@@ -0,0 +1,44 @@
+#ifndef BOOST_ARCHIVE_POLYMORPHIC_XML_WOARCHIVE_HPP
+#define BOOST_ARCHIVE_POLYMORPHIC_XML_WOARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_xml_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#include <Serialization/archive/xml_woarchive.hpp>
+#include <Serialization/archive/detail/polymorphic_oarchive_route.hpp>
+
+namespace boost { 
+namespace archive {
+
+typedef detail::polymorphic_oarchive_route<
+        xml_woarchive_impl<naked_xml_woarchive> 
+> polymorphic_xml_woarchive;
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(
+    boost::archive::polymorphic_xml_woarchive
+)
+
+#endif // BOOST_NO_STD_WSTREAMBUF
+#endif // BOOST_ARCHIVE_POLYMORPHIC_XML_WOARCHIVE_HPP
+
diff --git a/SRC/Serialization/archive/shared_ptr_helper.hpp b/SRC/Serialization/archive/shared_ptr_helper.hpp
new file mode 100755
index 0000000..5af9761
--- /dev/null
+++ b/SRC/Serialization/archive/shared_ptr_helper.hpp
@@ -0,0 +1,219 @@
+#ifndef BOOST_ARCHIVE_SHARED_PTR_HELPER_HPP
+#define BOOST_ARCHIVE_SHARED_PTR_HELPER_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// shared_ptr_helper.hpp: serialization for boost shared pointern
+
+// (C) Copyright 2004-2009 Robert Ramey, Martin Ecker and Takatoshi Kondo
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <set>
+#include <list>
+#include <utility>
+#include <cstddef> // NULL
+
+#include <boost/config.hpp>
+#include <boost/shared_ptr.hpp>
+
+#include <boost/type_traits/is_polymorphic.hpp>
+#include <Serialization/type_info_implementation.hpp>
+#include <Serialization/shared_ptr_132.hpp>
+#include <Serialization/throw_exception.hpp>
+
+#include <Serialization/archive/archive_exception.hpp>
+#include <Serialization/archive/detail/decl.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last headern
+
+namespace boost_132 {
+    template<class T> class shared_ptr;
+}
+namespace boost {
+    template<class T> class shared_ptr;
+    namespace serialization {
+        class extended_type_info;
+        template<class Archive, class T>
+        inline void load(
+            Archive & ar,
+            boost::shared_ptr< T > &t,
+            const unsigned int file_version
+        );
+    }
+namespace archive{
+namespace detail {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// a common class for holding various types of shared pointers
+
+class shared_ptr_helper {
+    struct collection_type_compare {
+        bool operator()(
+            const shared_ptr<const void> &lhs,
+            const shared_ptr<const void> &rhs
+        )const{
+            return lhs.get() < rhs.get();
+        }
+    };
+    typedef std::set<
+        boost::shared_ptr<const void>,
+        collection_type_compare
+    > collection_type;
+    typedef collection_type::const_iterator iterator_type;
+    // list of shared_pointers create accessable by raw pointer. This
+    // is used to "match up" shared pointers loaded at different
+    // points in the archive. Note, we delay construction until
+    // it is actually used since this is by default included as
+    // a "mix-in" even if shared_ptr isn't used.
+    collection_type * m_pointers;
+
+    struct null_deleter {
+        void operator()(void const *) const {}
+    };
+
+    struct void_deleter {
+        const boost::serialization::extended_type_info * m_eti;
+        void_deleter(const boost::serialization::extended_type_info *eti) :
+            m_eti(eti)
+        {}
+        void operator()(void *vp) const {
+            m_eti->destroy(vp);
+        }
+    };
+
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    template<class Archive, class T>
+    friend inline void boost::serialization::load(
+        Archive & ar,
+        boost::shared_ptr< T > &t,
+        const unsigned int file_version
+    );
+#endif
+
+//  #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
+    // list of loaded pointers.  This is used to be sure that the pointers
+    // stay around long enough to be "matched" with other pointers loaded
+    // by the same archive.  These are created with a "null_deleter" so that
+    // when this list is destroyed - the underlaying raw pointers are not
+    // destroyed.  This has to be done because the pointers are also held by
+    // new system which is disjoint from this set.  This is implemented
+    // by a change in load_construct_data below.  It makes this file suitable
+    // only for loading pointers into a 1.33 or later boost system.
+    std::list<boost_132::shared_ptr<const void> > * m_pointers_132;
+//  #endif
+
+    // returns pointer to object and an indicator whether this is a
+    // new entry (true) or a previous one (false)
+    BOOST_ARCHIVE_DECL(shared_ptr<void>) 
+    get_od(
+        const void * od,
+        const boost::serialization::extended_type_info * true_type, 
+        const boost::serialization::extended_type_info * this_type
+    );
+
+    BOOST_ARCHIVE_DECL(void)
+    append(const boost::shared_ptr<const void> &);
+
+    template<class T>
+    struct non_polymorphic {
+        static const boost::serialization::extended_type_info * 
+        get_object_identifier(T & t){
+            return & boost::serialization::singleton<
+                BOOST_DEDUCED_TYPENAME 
+                boost::serialization::type_info_implementation< T >::type
+            >::get_const_instance();
+        }
+    };
+    template<class T>
+    struct polymorphic {
+        static const boost::serialization::extended_type_info * 
+        get_object_identifier(T & t){
+            return boost::serialization::singleton<
+                BOOST_DEDUCED_TYPENAME 
+                boost::serialization::type_info_implementation< T >::type
+            >::get_const_instance().get_derived_extended_type_info(t);
+        }
+    };
+public:
+    template<class T>
+    void reset(shared_ptr< T > & s, T * t){
+        if(NULL == t){
+            s.reset();
+            return;
+        }
+        const boost::serialization::extended_type_info * this_type
+            = & boost::serialization::type_info_implementation< T >::type
+                    ::get_const_instance();
+
+        // get pointer to the most derived object.  This is effectively
+        // the object identifern
+        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            is_polymorphic< T >,
+            mpl::identity<polymorphic< T > >,
+            mpl::identity<non_polymorphic< T > >
+        >::type type;
+
+        const boost::serialization::extended_type_info * true_type
+            = type::get_object_identifier(*t);
+
+        // note:if this exception is thrown, be sure that derived pointern
+        // is either registered or exported.
+        if(NULL == true_type)
+            boost::serialization::throw_exception(
+                archive_exception(
+                    archive_exception::unregistered_class,
+                    this_type->get_debug_info()
+                )
+            );
+        shared_ptr<void> r =
+            get_od(
+                static_cast<const void *>(t), 
+                true_type,
+                this_type
+            );
+        if(!r){
+            s.reset(t);
+            const void * od = void_downcast(
+                *true_type,
+                *this_type,
+                static_cast<const void *>(t)
+            );
+            shared_ptr<const void> sp(s, od);
+            append(sp);
+        }
+        else{
+            s = shared_ptr< T >(
+                r,
+                static_cast<T *>(r.get())
+            );
+        }
+    }
+
+//  #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
+    BOOST_ARCHIVE_DECL(void)
+    append(const boost_132::shared_ptr<const void> & t);
+//  #endif
+public:
+    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+    shared_ptr_helper();
+    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+    ~shared_ptr_helper();
+};
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_SHARED_PTR_HELPER_HPP
diff --git a/SRC/Serialization/archive/text_iarchive.hpp b/SRC/Serialization/archive/text_iarchive.hpp
new file mode 100755
index 0000000..e95f77c
--- /dev/null
+++ b/SRC/Serialization/archive/text_iarchive.hpp
@@ -0,0 +1,156 @@
+#ifndef BOOST_ARCHIVE_TEXT_IARCHIVE_HPP
+#define BOOST_ARCHIVE_TEXT_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// text_iarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <istream>
+
+#include <boost/config.hpp>
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/basic_text_iprimitive.hpp>
+#include <Serialization/archive/basic_text_iarchive.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+#include <Serialization/item_version_type.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+template<class Archive>
+class text_iarchive_impl : 
+    public basic_text_iprimitive<std::istream>,
+    public basic_text_iarchive<Archive>
+{
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    friend class detail::interface_iarchive<Archive>;
+    friend class basic_text_iarchive<Archive>;
+    friend class load_access;
+protected:
+#endif
+    template<class T>
+    void load(T & t){
+        basic_text_iprimitive<std::istream>::load(t);
+    }
+    void load(version_type & t){
+        unsigned int v;
+        load(v);
+        t = version_type(v);
+    }
+    void load(boost::serialization::item_version_type & t){
+        unsigned int v;
+        load(v);
+        t = boost::serialization::item_version_type(v);
+    }
+    BOOST_ARCHIVE_DECL(void) 
+    load(char * t);
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    BOOST_ARCHIVE_DECL(void) 
+    load(wchar_t * t);
+    #endif
+    BOOST_ARCHIVE_DECL(void) 
+    load(std::string &s);
+    #ifndef BOOST_NO_STD_WSTRING
+    BOOST_ARCHIVE_DECL(void) 
+    load(std::wstring &ws);
+    #endif
+    // note: the following should not needed - but one compiler (vc 7.1)
+    // fails to compile one test (test_shared_ptr) without it !!!
+    // make this protected so it can be called from a derived archive
+    template<class T>
+    void load_override(T & t, BOOST_PFTO int){
+        basic_text_iarchive<Archive>::load_override(t, 0);
+    }
+    BOOST_ARCHIVE_DECL(void)
+    load_override(class_name_type & t, int);
+    BOOST_ARCHIVE_DECL(void)
+    init();
+    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    text_iarchive_impl(std::istream & is, unsigned int flags);
+    // don't import inline definitions! leave this as a reminder.
+    //BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    ~text_iarchive_impl(){};
+};
+
+// do not derive from the classes below.  If you want to extend this functionality
+// via inhertance, derived from text_iarchive_impl instead.  This will
+// preserve correct static polymorphism.
+
+// same as text_iarchive below - without the shared_ptr_helper
+class naked_text_iarchive : 
+    public text_iarchive_impl<naked_text_iarchive>
+{
+public:
+    naked_text_iarchive(std::istream & is_, unsigned int flags = 0) :
+        // note: added _ to suppress useless gcc warning
+        text_iarchive_impl<naked_text_iarchive>(is_, flags)
+    {}
+    ~naked_text_iarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive.  We created a "mix-in"
+// class to provide this functionality.  Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <Serialization/archive/shared_ptr_helper.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+class text_iarchive : 
+    public text_iarchive_impl<text_iarchive>,
+    public detail::shared_ptr_helper
+{
+public:
+    text_iarchive(std::istream & is_, unsigned int flags = 0) :
+        // note: added _ to suppress useless gcc warning
+        text_iarchive_impl<text_iarchive>(is_, flags)
+    {}
+    ~text_iarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_iarchive)
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // BOOST_ARCHIVE_TEXT_IARCHIVE_HPP
diff --git a/SRC/Serialization/archive/text_oarchive.hpp b/SRC/Serialization/archive/text_oarchive.hpp
new file mode 100755
index 0000000..44e9ee8
--- /dev/null
+++ b/SRC/Serialization/archive/text_oarchive.hpp
@@ -0,0 +1,119 @@
+#ifndef BOOST_ARCHIVE_TEXT_OARCHIVE_HPP
+#define BOOST_ARCHIVE_TEXT_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// text_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <ostream>
+#include <cstddef> // std::size_t
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/basic_text_oprimitive.hpp>
+#include <Serialization/archive/basic_text_oarchive.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+#include <Serialization/item_version_type.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+template<class Archive>
+class text_oarchive_impl : 
+     /* protected ? */ public basic_text_oprimitive<std::ostream>,
+     public basic_text_oarchive<Archive>
+{
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    friend class detail::interface_oarchive<Archive>;
+    friend class basic_text_oarchive<Archive>;
+    friend class save_access;
+protected:
+#endif
+    template<class T>
+    void save(const T & t){
+        this->newtoken();
+        basic_text_oprimitive<std::ostream>::save(t);
+    }
+    void save(const version_type & t){
+        save(static_cast<const unsigned int>(t));
+    }
+    void save(const boost::serialization::item_version_type & t){
+        save(static_cast<const unsigned int>(t));
+    }
+    BOOST_ARCHIVE_DECL(void) 
+    save(const char * t);
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    BOOST_ARCHIVE_DECL(void) 
+    save(const wchar_t * t);
+    #endif
+    BOOST_ARCHIVE_DECL(void) 
+    save(const std::string &s);
+    #ifndef BOOST_NO_STD_WSTRING
+    BOOST_ARCHIVE_DECL(void) 
+    save(const std::wstring &ws);
+    #endif
+    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    text_oarchive_impl(std::ostream & os, unsigned int flags);
+    // don't import inline definitions! leave this as a reminder.
+    //BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    ~text_oarchive_impl(){};
+public:
+    BOOST_ARCHIVE_DECL(void) 
+    save_binary(const void *address, std::size_t count);
+};
+
+// do not derive from this class.  If you want to extend this functionality
+// via inhertance, derived from text_oarchive_impl instead.  This will
+// preserve correct static polymorphism.
+class text_oarchive : 
+    public text_oarchive_impl<text_oarchive>
+{
+public:
+    text_oarchive(std::ostream & os_, unsigned int flags = 0) :
+        // note: added _ to suppress useless gcc warning
+        text_oarchive_impl<text_oarchive>(os_, flags)
+    {}
+    ~text_oarchive(){}
+};
+
+typedef text_oarchive naked_text_oarchive;
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_oarchive)
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_TEXT_OARCHIVE_HPP
diff --git a/SRC/Serialization/archive/text_wiarchive.hpp b/SRC/Serialization/archive/text_wiarchive.hpp
new file mode 100755
index 0000000..b85c7b0
--- /dev/null
+++ b/SRC/Serialization/archive/text_wiarchive.hpp
@@ -0,0 +1,152 @@
+#ifndef BOOST_ARCHIVE_TEXT_WIARCHIVE_HPP
+#define BOOST_ARCHIVE_TEXT_WIARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// text_wiarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#include <istream>
+
+#include <Serialization/archive/detail/auto_link_warchive.hpp>
+#include <Serialization/archive/basic_text_iprimitive.hpp>
+#include <Serialization/archive/basic_text_iarchive.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+#include <Serialization/item_version_type.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+template<class Archive>
+class text_wiarchive_impl : 
+    public basic_text_iprimitive<std::wistream>,
+    public basic_text_iarchive<Archive>
+{
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    friend class detail::interface_iarchive<Archive>;
+    friend class basic_text_iarchive<Archive>;
+    friend class load_access;
+protected:
+#endif
+    template<class T>
+    void load(T & t){
+        basic_text_iprimitive<std::wistream>::load(t);
+    }
+    void load(version_type & t){
+        unsigned int v;
+        load(v);
+        t = version_type(v);
+    }
+    void load(boost::serialization::item_version_type & t){
+        unsigned int v;
+        load(v);
+        t = boost::serialization::item_version_type(v);
+    }
+    BOOST_WARCHIVE_DECL(void)
+    load(char * t);
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    BOOST_WARCHIVE_DECL(void)
+    load(wchar_t * t);
+    #endif
+    BOOST_WARCHIVE_DECL(void)
+    load(std::string &s);
+    #ifndef BOOST_NO_STD_WSTRING
+    BOOST_WARCHIVE_DECL(void)
+    load(std::wstring &ws);
+    #endif
+    // note: the following should not needed - but one compiler (vc 7.1)
+    // fails to compile one test (test_shared_ptr) without it !!!
+    template<class T>
+    void load_override(T & t, BOOST_PFTO int){
+        basic_text_iarchive<Archive>::load_override(t, 0);
+    }
+    BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    text_wiarchive_impl(std::wistream & is, unsigned int flags);
+    ~text_wiarchive_impl(){};
+};
+
+// do not derive from the classes below.  If you want to extend this functionality
+// via inhertance, derived from text_iarchive_impl instead.  This will
+// preserve correct static polymorphism.
+
+// same as text_wiarchive below - without the shared_ptr_helper
+class naked_text_wiarchive : 
+    public text_wiarchive_impl<naked_text_wiarchive>
+{
+public:
+    naked_text_wiarchive(std::wistream & is, unsigned int flags = 0) :
+        text_wiarchive_impl<naked_text_wiarchive>(is, flags)
+    {}
+    ~naked_text_wiarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive.  We created a "mix-in"
+// class to provide this functionality.  Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <Serialization/archive/shared_ptr_helper.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+class text_wiarchive : 
+    public text_wiarchive_impl<text_wiarchive>,
+    public detail::shared_ptr_helper
+{
+public:
+    text_wiarchive(std::wistream & is, unsigned int flags = 0) :
+        text_wiarchive_impl<text_wiarchive>(is, flags)
+    {}
+    ~text_wiarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_wiarchive)
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // BOOST_NO_STD_WSTREAMBUF
+#endif // BOOST_ARCHIVE_TEXT_WIARCHIVE_HPP
diff --git a/SRC/Serialization/archive/text_woarchive.hpp b/SRC/Serialization/archive/text_woarchive.hpp
new file mode 100755
index 0000000..d7d5269
--- /dev/null
+++ b/SRC/Serialization/archive/text_woarchive.hpp
@@ -0,0 +1,145 @@
+#ifndef BOOST_ARCHIVE_TEXT_WOARCHIVE_HPP
+#define BOOST_ARCHIVE_TEXT_WOARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// text_woarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#include <ostream>
+#include <cstddef> // size_t
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <Serialization/archive/detail/auto_link_warchive.hpp>
+#include <Serialization/archive/basic_text_oprimitive.hpp>
+#include <Serialization/archive/basic_text_oarchive.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+#include <Serialization/item_version_type.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+template<class Archive>
+class text_woarchive_impl : 
+    public basic_text_oprimitive<std::wostream>,
+    public basic_text_oarchive<Archive>
+{
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    friend class detail::interface_oarchive<Archive>;
+    friend class basic_text_oarchive<Archive>;
+    friend class save_access;
+protected:
+#endif
+    template<class T>
+    void save(const T & t){
+        this->newtoken();
+        basic_text_oprimitive<std::wostream>::save(t);
+    }
+    void save(const version_type & t){
+        save(static_cast<const unsigned int>(t));
+    }
+    void save(const boost::serialization::item_version_type & t){
+        save(static_cast<const unsigned int>(t));
+    }
+    BOOST_WARCHIVE_DECL(void)
+    save(const char * t);
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    BOOST_WARCHIVE_DECL(void)
+    save(const wchar_t * t);
+    #endif
+    BOOST_WARCHIVE_DECL(void)
+    save(const std::string &s);
+    #ifndef BOOST_NO_STD_WSTRING
+    BOOST_WARCHIVE_DECL(void)
+    save(const std::wstring &ws);
+    #endif
+    text_woarchive_impl(std::wostream & os, unsigned int flags) :
+        basic_text_oprimitive<std::wostream>(
+            os, 
+            0 != (flags & no_codecvt)
+        ),
+        basic_text_oarchive<Archive>(flags)
+    {
+        if(0 == (flags & no_header))
+            basic_text_oarchive<Archive>::init();
+    }
+public:
+    void save_binary(const void *address, std::size_t count){
+        put(static_cast<wchar_t>('\n'));
+        this->end_preamble();
+        #if ! defined(__MWERKS__)
+        this->basic_text_oprimitive<std::wostream>::save_binary(
+        #else
+        this->basic_text_oprimitive::save_binary(
+        #endif
+            address, 
+            count
+        );
+        put(static_cast<wchar_t>('\n'));
+        this->delimiter = this->none;
+    }
+
+};
+
+// we use the following because we can't use
+// typedef text_oarchive_impl<text_oarchive_impl<...> > text_oarchive;
+
+// do not derive from this class.  If you want to extend this functionality
+// via inhertance, derived from text_oarchive_impl instead.  This will
+// preserve correct static polymorphism.
+class text_woarchive : 
+    public text_woarchive_impl<text_woarchive>
+{
+public:
+    text_woarchive(std::wostream & os, unsigned int flags = 0) :
+        text_woarchive_impl<text_woarchive>(os, flags)
+    {}
+    ~text_woarchive(){}
+};
+
+typedef text_woarchive naked_text_woarchive;
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_woarchive)
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_NO_STD_WSTREAMBUF
+#endif // BOOST_ARCHIVE_TEXT_WOARCHIVE_HPP
diff --git a/SRC/Boost/boost/archive/tmpdir.hpp b/SRC/Serialization/archive/tmpdir.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/tmpdir.hpp
rename to SRC/Serialization/archive/tmpdir.hpp
diff --git a/SRC/Boost/boost/archive/wcslen.hpp b/SRC/Serialization/archive/wcslen.hpp
similarity index 100%
rename from SRC/Boost/boost/archive/wcslen.hpp
rename to SRC/Serialization/archive/wcslen.hpp
diff --git a/SRC/Serialization/archive/xml_archive_exception.hpp b/SRC/Serialization/archive/xml_archive_exception.hpp
new file mode 100755
index 0000000..5520214
--- /dev/null
+++ b/SRC/Serialization/archive/xml_archive_exception.hpp
@@ -0,0 +1,56 @@
+#ifndef BOOST_ARCHIVE_XML_ARCHIVE_EXCEPTION_HPP
+#define BOOST_ARCHIVE_XML_ARCHIVE_EXCEPTION_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_archive_exception.hpp:
+
+// (C) Copyright 2007 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <exception>
+#include <boost/assert.hpp>
+
+#include <boost/config.hpp> 
+#include <boost/preprocessor/empty.hpp>
+#include <Serialization/archive/detail/decl.hpp>
+#include <Serialization/archive/archive_exception.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+namespace boost {
+namespace archive {
+
+//////////////////////////////////////////////////////////////////////
+// exceptions thrown by xml archives
+//
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) xml_archive_exception : 
+    public virtual boost::archive::archive_exception
+{
+public:
+    typedef enum {
+        xml_archive_parsing_error,    // see save_register
+        xml_archive_tag_mismatch,
+        xml_archive_tag_name_error
+    } exception_code;
+    xml_archive_exception(
+        exception_code c, 
+        const char * e1 = NULL,
+        const char * e2 = NULL
+    );
+};
+
+}// namespace archive
+}// namespace boost
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif //BOOST_XML_ARCHIVE_ARCHIVE_EXCEPTION_HPP
diff --git a/SRC/Serialization/archive/xml_iarchive.hpp b/SRC/Serialization/archive/xml_iarchive.hpp
new file mode 100755
index 0000000..78b8ee7
--- /dev/null
+++ b/SRC/Serialization/archive/xml_iarchive.hpp
@@ -0,0 +1,164 @@
+#ifndef BOOST_ARCHIVE_XML_IARCHIVE_HPP
+#define BOOST_ARCHIVE_XML_IARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_iarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <istream>
+
+//#include <boost/scoped_ptr.hpp>
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/basic_text_iprimitive.hpp>
+#include <Serialization/archive/basic_xml_iarchive.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+#include <Serialization/item_version_type.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+template<class CharType>
+class basic_xml_grammar;
+typedef basic_xml_grammar<char> xml_grammar;
+
+template<class Archive>
+class xml_iarchive_impl : 
+    public basic_text_iprimitive<std::istream>,
+    public basic_xml_iarchive<Archive>
+{
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    friend class detail::interface_iarchive<Archive>;
+    friend class basic_xml_iarchive<Archive>;
+    friend class load_access;
+protected:
+#endif
+    // instances of micro xml parser to parse start preambles
+    // scoped_ptr doesn't play nice with borland - so use a naked pointer
+    // scoped_ptr<xml_grammar> gimpl;
+    xml_grammar *gimpl;
+
+    std::istream & get_is(){
+        return is;
+    }
+    template<class T>
+    void load(T & t){
+        basic_text_iprimitive<std::istream>::load(t);
+    }
+    void 
+    load(version_type & t){
+        unsigned int v;
+        load(v);
+        t = version_type(v);
+    }
+    void 
+    load(boost::serialization::item_version_type & t){
+        unsigned int v;
+        load(v);
+        t = boost::serialization::item_version_type(v);
+    }
+    BOOST_ARCHIVE_DECL(void)
+    load(char * t);
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    BOOST_ARCHIVE_DECL(void)
+    load(wchar_t * t);
+    #endif
+    BOOST_ARCHIVE_DECL(void)
+    load(std::string &s);
+    #ifndef BOOST_NO_STD_WSTRING
+    BOOST_ARCHIVE_DECL(void)
+    load(std::wstring &ws);
+    #endif
+    template<class T>
+    void load_override(T & t, BOOST_PFTO int){
+        basic_xml_iarchive<Archive>::load_override(t, 0);
+    }
+    BOOST_ARCHIVE_DECL(void)
+    load_override(class_name_type & t, int);
+    BOOST_ARCHIVE_DECL(void)
+    init();
+    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    xml_iarchive_impl(std::istream & is, unsigned int flags);
+    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+    ~xml_iarchive_impl();
+};
+
+// do not derive from the classes below.  If you want to extend this functionality
+// via inhertance, derived from text_iarchive_impl instead.  This will
+// preserve correct static polymorphism.
+
+// same as xml_iarchive below - without the shared_ptr_helper
+class naked_xml_iarchive : 
+    public xml_iarchive_impl<naked_xml_iarchive>
+{
+public:
+    naked_xml_iarchive(std::istream & is, unsigned int flags = 0) :
+        xml_iarchive_impl<naked_xml_iarchive>(is, flags)
+    {}
+    ~naked_xml_iarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive.  We created a "mix-in"
+// class to provide this functionality.  Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <Serialization/archive/shared_ptr_helper.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+class xml_iarchive : 
+    public xml_iarchive_impl<xml_iarchive>,
+    public detail::shared_ptr_helper
+{
+public:
+    xml_iarchive(std::istream & is, unsigned int flags = 0) :
+        xml_iarchive_impl<xml_iarchive>(is, flags)
+    {}
+    ~xml_iarchive(){};
+};
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_iarchive)
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // BOOST_ARCHIVE_XML_IARCHIVE_HPP
diff --git a/SRC/Serialization/archive/xml_oarchive.hpp b/SRC/Serialization/archive/xml_oarchive.hpp
new file mode 100755
index 0000000..8da58bb
--- /dev/null
+++ b/SRC/Serialization/archive/xml_oarchive.hpp
@@ -0,0 +1,133 @@
+#ifndef BOOST_ARCHIVE_XML_OARCHIVE_HPP
+#define BOOST_ARCHIVE_XML_OARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_oarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <ostream>
+
+#include <cstddef> // size_t
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/basic_text_oprimitive.hpp>
+#include <Serialization/archive/basic_xml_oarchive.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+#include <Serialization/item_version_type.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace archive {
+
+template<class Archive>
+class xml_oarchive_impl : 
+    public basic_text_oprimitive<std::ostream>,
+    public basic_xml_oarchive<Archive>
+{
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    friend class detail::interface_oarchive<Archive>;
+    friend class basic_xml_oarchive<Archive>;
+    friend class save_access;
+protected:
+#endif
+    //void end_preamble(){
+    //    basic_xml_oarchive<Archive>::end_preamble();
+    //}
+    template<class T>
+    void save(const T & t){
+        basic_text_oprimitive<std::ostream>::save(t);
+    }
+    void 
+    save(const version_type & t){
+        save(static_cast<const unsigned int>(t));
+    }
+    void 
+    save(const boost::serialization::item_version_type & t){
+        save(static_cast<const unsigned int>(t));
+    }
+    BOOST_ARCHIVE_DECL(void) 
+    save(const char * t);
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    BOOST_ARCHIVE_DECL(void)
+    save(const wchar_t * t);
+    #endif
+    BOOST_ARCHIVE_DECL(void)
+    save(const std::string &s);
+    #ifndef BOOST_NO_STD_WSTRING
+    BOOST_ARCHIVE_DECL(void)
+    save(const std::wstring &ws);
+    #endif
+    BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    xml_oarchive_impl(std::ostream & os, unsigned int flags);
+    ~xml_oarchive_impl(){}
+public:
+    void save_binary(const void *address, std::size_t count){
+        this->end_preamble();
+        #if ! defined(__MWERKS__)
+        this->basic_text_oprimitive<std::ostream>::save_binary(
+        #else
+        this->basic_text_oprimitive::save_binary(
+        #endif
+            address, 
+            count
+        );
+        this->indent_next = true;
+    }
+};
+
+// we use the following because we can't use
+// typedef xml_oarchive_impl<xml_oarchive_impl<...> > xml_oarchive;
+
+// do not derive from this class.  If you want to extend this functionality
+// via inhertance, derived from xml_oarchive_impl instead.  This will
+// preserve correct static polymorphism.
+class xml_oarchive : 
+    public xml_oarchive_impl<xml_oarchive>
+{
+public:
+    xml_oarchive(std::ostream & os, unsigned int flags = 0) :
+        xml_oarchive_impl<xml_oarchive>(os, flags)
+    {}
+    ~xml_oarchive(){}
+};
+
+typedef xml_oarchive naked_xml_oarchive;
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_oarchive)
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_ARCHIVE_XML_OARCHIVE_HPP
diff --git a/SRC/Serialization/archive/xml_wiarchive.hpp b/SRC/Serialization/archive/xml_wiarchive.hpp
new file mode 100755
index 0000000..121c59f
--- /dev/null
+++ b/SRC/Serialization/archive/xml_wiarchive.hpp
@@ -0,0 +1,170 @@
+#ifndef BOOST_ARCHIVE_XML_WIARCHIVE_HPP
+#define BOOST_ARCHIVE_XML_WIARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_wiarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#include <istream>
+
+//#include <boost/scoped_ptr.hpp>
+#include <Serialization/archive/detail/auto_link_warchive.hpp>
+#include <Serialization/archive/basic_text_iprimitive.hpp>
+#include <Serialization/archive/basic_xml_iarchive.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+#include <Serialization/item_version_type.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+template<class CharType>
+class basic_xml_grammar;
+typedef basic_xml_grammar<wchar_t> xml_wgrammar;
+
+template<class Archive>
+class xml_wiarchive_impl : 
+    public basic_text_iprimitive<std::wistream>,
+    public basic_xml_iarchive<Archive>
+{
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    friend class detail::interface_iarchive<Archive>;
+    friend class basic_xml_iarchive<Archive>;
+    friend class load_access;
+protected:
+#endif
+    // instances of micro xml parser to parse start preambles
+    // scoped_ptr doesn't play nice with borland - so use a naked pointer
+    // scoped_ptr<xml_wgrammar> gimpl;
+    xml_wgrammar *gimpl;
+    std::wistream & get_is(){
+        return is;
+    }
+    template<class T>
+    void 
+    load(T & t){
+        basic_text_iprimitive<std::wistream>::load(t);
+    }
+    void 
+    load(version_type & t){
+        unsigned int v;
+        load(v);
+        t = version_type(v);
+    }
+    void 
+    load(boost::serialization::item_version_type & t){
+        unsigned int v;
+        load(v);
+        t = boost::serialization::item_version_type(v);
+    }
+    BOOST_WARCHIVE_DECL(void)
+    load(char * t);
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    BOOST_WARCHIVE_DECL(void)
+    load(wchar_t * t);
+    #endif
+    BOOST_WARCHIVE_DECL(void)
+    load(std::string &s);
+    #ifndef BOOST_NO_STD_WSTRING
+    BOOST_WARCHIVE_DECL(void)
+    load(std::wstring &ws);
+    #endif
+    template<class T>
+    void load_override(T & t, BOOST_PFTO int){
+        basic_xml_iarchive<Archive>::load_override(t, 0);
+    }
+    BOOST_WARCHIVE_DECL(void)
+    load_override(class_name_type & t, int);
+    BOOST_WARCHIVE_DECL(void) 
+    init();
+    BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    xml_wiarchive_impl(std::wistream & is, unsigned int flags) ;
+    BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    ~xml_wiarchive_impl();
+};
+
+// do not derive from the classes below.  If you want to extend this functionality
+// via inhertance, derived from xml_wiarchive_impl instead.  This will
+// preserve correct static polymorphism.
+
+// same as xml_wiarchive below - without the shared_ptr_helper
+class naked_xml_wiarchive : 
+    public xml_wiarchive_impl<naked_xml_wiarchive>
+{
+public:
+    naked_xml_wiarchive(std::wistream & is, unsigned int flags = 0) :
+        xml_wiarchive_impl<naked_xml_wiarchive>(is, flags)
+    {}
+    ~naked_xml_wiarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#  pragma warning(pop) 
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+// note special treatment of shared_ptr. This type needs a special
+// structure associated with every archive.  We created a "mix-in"
+// class to provide this functionality.  Since shared_ptr holds a
+// special esteem in the boost library - we included it here by default.
+#include <Serialization/archive/shared_ptr_helper.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace archive {
+
+class xml_wiarchive : 
+    public xml_wiarchive_impl<xml_wiarchive>,
+    public detail::shared_ptr_helper
+{
+public:
+    xml_wiarchive(std::wistream & is, unsigned int flags = 0) :
+        xml_wiarchive_impl<xml_wiarchive>(is, flags)
+    {}
+    ~xml_wiarchive(){}
+};
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_wiarchive)
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // BOOST_NO_STD_WSTREAMBUF
+#endif // BOOST_ARCHIVE_XML_WIARCHIVE_HPP
diff --git a/SRC/Serialization/archive/xml_woarchive.hpp b/SRC/Serialization/archive/xml_woarchive.hpp
new file mode 100755
index 0000000..3da6016
--- /dev/null
+++ b/SRC/Serialization/archive/xml_woarchive.hpp
@@ -0,0 +1,140 @@
+#ifndef BOOST_ARCHIVE_XML_WOARCHIVE_HPP
+#define BOOST_ARCHIVE_XML_WOARCHIVE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_woarchive.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#include <cstddef> // size_t
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <ostream>
+
+#include <Serialization/archive/detail/auto_link_warchive.hpp>
+#include <Serialization/archive/basic_text_oprimitive.hpp>
+#include <Serialization/archive/basic_xml_oarchive.hpp>
+#include <Serialization/archive/detail/register_archive.hpp>
+#include <Serialization/item_version_type.hpp>
+
+#include <Serialization/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace archive {
+
+template<class Archive>
+class xml_woarchive_impl : 
+    public basic_text_oprimitive<std::wostream>,
+    public basic_xml_oarchive<Archive>
+{
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+public:
+#else
+    friend class detail::interface_oarchive<Archive>;
+    friend class basic_xml_oarchive<Archive>;
+    friend class save_access;
+protected:
+#endif
+    //void end_preamble(){
+    //    basic_xml_oarchive<Archive>::end_preamble();
+    //}
+    template<class T>
+    void 
+    save(const T & t){
+        basic_text_oprimitive<std::wostream>::save(t);
+    }
+    void 
+    save(const version_type & t){
+        save(static_cast<const unsigned int>(t));
+    }
+    void 
+    save(const boost::serialization::item_version_type & t){
+        save(static_cast<const unsigned int>(t));
+    }
+    BOOST_WARCHIVE_DECL(void)
+    save(const char * t);
+    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+    BOOST_WARCHIVE_DECL(void) 
+    save(const wchar_t * t);
+    #endif
+    BOOST_WARCHIVE_DECL(void) 
+    save(const std::string &s);
+    #ifndef BOOST_NO_STD_WSTRING
+    BOOST_WARCHIVE_DECL(void)
+    save(const std::wstring &ws);
+    #endif
+    BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) 
+    xml_woarchive_impl(std::wostream & os, unsigned int flags);
+    ~xml_woarchive_impl(){}
+public:
+    void 
+    save_binary(const void *address, std::size_t count){
+        this->end_preamble();
+        #if ! defined(__MWERKS__)
+        this->basic_text_oprimitive<std::wostream>::save_binary(
+        #else
+        this->basic_text_oprimitive::save_binary(
+        #endif
+            address, 
+            count
+        );
+        this->indent_next = true;
+    }
+};
+
+// we use the following because we can't use
+// typedef xml_woarchive_impl<xml_woarchive_impl<...> > xml_woarchive;
+
+// do not derive from this class.  If you want to extend this functionality
+// via inhertance, derived from xml_woarchive_impl instead.  This will
+// preserve correct static polymorphism.
+class xml_woarchive : 
+    public xml_woarchive_impl<xml_woarchive>
+{
+public:
+    xml_woarchive(std::wostream & os, unsigned int flags = 0) :
+        xml_woarchive_impl<xml_woarchive>(os, flags)
+    {}
+    ~xml_woarchive(){}
+};
+
+typedef xml_woarchive naked_xml_woarchive;
+
+} // namespace archive
+} // namespace boost
+
+// required by export
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_woarchive)
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <Serialization/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_NO_STD_WSTREAMBUF
+#endif // BOOST_ARCHIVE_XML_OARCHIVE_HPP
diff --git a/SRC/Serialization/array.hpp b/SRC/Serialization/array.hpp
new file mode 100755
index 0000000..6495f92
--- /dev/null
+++ b/SRC/Serialization/array.hpp
@@ -0,0 +1,153 @@
+#ifndef BOOST_SERIALIZATION_ARRAY_HPP
+#define BOOST_SERIALIZATION_ARRAY_HPP
+
+// (C) Copyright 2005 Matthias Troyer and Dave Abrahams
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include <iostream>
+#include <cstddef> // std::size_t
+#include <cstddef>
+#include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <Serialization/nvp.hpp>
+#include <Serialization/split_member.hpp>
+#include <Serialization/wrapper.hpp>
+#include <boost/mpl/always.hpp>
+#include <boost/mpl/apply.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/type_traits/remove_const.hpp>
+#include <boost/array.hpp>
+
+namespace boost { namespace serialization {
+
+// traits to specify whether to use  an optimized array serialization
+
+#ifdef __BORLANDC__
+// workaround for Borland compiler
+template <class Archive>
+struct use_array_optimization {
+  template <class T> struct apply : boost::mpl::false_ {};
+};
+
+#else
+template <class Archive>
+struct use_array_optimization : boost::mpl::always<boost::mpl::false_> {};
+#endif
+
+template<class T>
+class array :
+    public wrapper_traits<const array< T > >
+{
+public:    
+    typedef T value_type;
+    
+    array(value_type* t, std::size_t s) :
+        m_t(t),
+        m_element_count(s)
+    {}
+    array(const array & rhs) :
+        m_t(rhs.m_t),
+        m_element_count(rhs.m_element_count)
+    {}
+    array & operator=(const array & rhs){
+        m_t = rhs.m_t;
+        m_element_count = rhs.m_element_count;
+    }
+
+    // default implementation
+    template<class Archive>
+    void serialize_optimized(Archive &ar, const unsigned int, mpl::false_ ) const
+    {
+      // default implemention does the loop
+      std::size_t c = count();
+      value_type * t = address();
+      while(0 < c--)
+            ar & boost::serialization::make_nvp("item", *t++);
+    }
+
+    // optimized implementation
+    template<class Archive>
+    void serialize_optimized(Archive &ar, const unsigned int version, mpl::true_ )
+    {
+      boost::serialization::split_member(ar, *this, version);
+    }
+
+    // default implementation
+    template<class Archive>
+    void save(Archive &ar, const unsigned int version) const
+    {
+      ar.save_array(*this,version);
+    }
+
+    // default implementation
+    template<class Archive>
+    void load(Archive &ar, const unsigned int version)
+    {
+      ar.load_array(*this,version);
+    }
+    
+    // default implementation
+    template<class Archive>
+    void serialize(Archive &ar, const unsigned int version)
+    {
+      typedef BOOST_DEDUCED_TYPENAME 
+          boost::serialization::use_array_optimization<Archive>::template apply<
+                    BOOST_DEDUCED_TYPENAME remove_const< T >::type 
+                >::type use_optimized;
+      serialize_optimized(ar,version,use_optimized());
+    }
+    
+    value_type* address() const
+    {
+      return m_t;
+    }
+
+    std::size_t count() const
+    {
+      return m_element_count;
+    }
+    
+private:
+    value_type* m_t;
+    std::size_t m_element_count;
+};
+
+template<class T>
+inline
+#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+const
+#endif
+array< T > make_array( T* t, std::size_t s){
+    return array< T >(t, s);
+}
+
+template <class Archive, class T, std::size_t N>
+void serialize(Archive& ar, boost::array<T,N>& a, const unsigned int /* version */)
+{
+  ar & boost::serialization::make_nvp("elems",a.elems);
+}
+
+} } // end namespace boost::serialization
+
+#ifdef __BORLANDC__
+// ignore optimizations for Borland
+#define BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(Archive)      
+#else
+#define BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(Archive)           \
+namespace boost { namespace serialization {                           \
+template <> struct use_array_optimization<Archive> {                  \
+  template <class ValueType>                                          \
+  struct apply : boost::mpl::apply1<Archive::use_array_optimization   \
+      , BOOST_DEDUCED_TYPENAME boost::remove_const<ValueType>::type   \
+    >::type {};                                                       \
+}; }}
+#endif // __BORLANDC__
+
+#endif //BOOST_SERIALIZATION_ARRAY_HPP
diff --git a/SRC/Boost/boost/serialization/assume_abstract.hpp b/SRC/Serialization/assume_abstract.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/assume_abstract.hpp
rename to SRC/Serialization/assume_abstract.hpp
diff --git a/SRC/Serialization/base_object.hpp b/SRC/Serialization/base_object.hpp
new file mode 100755
index 0000000..bc48341
--- /dev/null
+++ b/SRC/Serialization/base_object.hpp
@@ -0,0 +1,112 @@
+#ifndef BOOST_SERIALIZATION_BASE_OBJECT_HPP
+#define BOOST_SERIALIZATION_BASE_OBJECT_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// base_object.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// if no archive headers have been included this is a no op
+// this is to permit BOOST_EXPORT etc to be included in a 
+// file declaration header
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/int.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/identity.hpp>
+
+#include <boost/type_traits/is_base_and_derived.hpp>
+#include <boost/type_traits/is_pointer.hpp>
+#include <boost/type_traits/is_const.hpp>
+#include <boost/type_traits/is_polymorphic.hpp>
+
+#include <boost/static_assert.hpp>
+#include <Serialization/access.hpp>
+#include <Serialization/force_include.hpp>
+#include <Serialization/void_cast_fwd.hpp>
+
+namespace boost {
+namespace serialization {
+
+namespace detail
+{
+    // get the base type for a given derived type
+    // preserving the const-ness
+    template<class B, class D>
+    struct base_cast
+    {
+        typedef BOOST_DEDUCED_TYPENAME
+        mpl::if_<
+            is_const<D>,
+            const B,
+            B
+        >::type type;
+        BOOST_STATIC_ASSERT(is_const<type>::value == is_const<D>::value);
+    };
+
+    // only register void casts if the types are polymorphic
+    template<class Base, class Derived>
+    struct base_register
+    {
+        struct polymorphic {
+            static void const * invoke(){
+                Base const * const b = 0;
+                Derived const * const d = 0;
+                return & void_cast_register(d, b);
+            }
+        };
+        struct non_polymorphic {
+            static void const * invoke(){
+                return 0;
+            }
+        };
+        static void const * invoke(){
+            typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
+                is_polymorphic<Base>,
+                mpl::identity<polymorphic>,
+                mpl::identity<non_polymorphic>
+            >::type type;
+            return type::invoke();
+        }
+    };
+
+} // namespace detail
+#if defined(__BORLANDC__) && __BORLANDC__ < 0x610
+template<class Base, class Derived>
+const Base & 
+base_object(const Derived & d)
+{
+    BOOST_STATIC_ASSERT(! is_pointer<Derived>::value);
+    detail::base_register<Base, Derived>::invoke();
+    return access::cast_reference<const Base, Derived>(d);
+}
+#else
+template<class Base, class Derived>
+BOOST_DEDUCED_TYPENAME detail::base_cast<Base, Derived>::type & 
+base_object(Derived &d)
+{
+    BOOST_STATIC_ASSERT(( is_base_and_derived<Base,Derived>::value));
+    BOOST_STATIC_ASSERT(! is_pointer<Derived>::value);
+    typedef BOOST_DEDUCED_TYPENAME detail::base_cast<Base, Derived>::type type;
+    detail::base_register<type, Derived>::invoke();
+    return access::cast_reference<type, Derived>(d);
+}
+#endif
+
+} // namespace serialization
+} // namespace boost
+
+#endif // BOOST_SERIALIZATION_BASE_OBJECT_HPP
diff --git a/SRC/Serialization/binary_object.hpp b/SRC/Serialization/binary_object.hpp
new file mode 100755
index 0000000..09efb82
--- /dev/null
+++ b/SRC/Serialization/binary_object.hpp
@@ -0,0 +1,82 @@
+#ifndef BOOST_SERIALIZATION_BINARY_OBJECT_HPP
+#define BOOST_SERIALIZATION_BINARY_OBJECT_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// nvp.hpp: interface for serialization system.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/assert.hpp>
+
+#include <cstddef> // std::size_t
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <boost/preprocessor/stringize.hpp>
+#include <Serialization/tracking.hpp>
+#include <Serialization/level.hpp>
+#include <Serialization/split_member.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/wrapper.hpp>
+
+namespace boost {
+namespace serialization {
+
+struct binary_object :
+    public wrapper_traits<nvp<const binary_object> >
+{
+    void const * m_t;
+    std::size_t m_size;
+    template<class Archive>
+    void save(Archive & ar, const unsigned int /* file_version */) const {
+        ar.save_binary(m_t, m_size);
+    }
+    template<class Archive>
+    void load(Archive & ar, const unsigned int /* file_version */) const {
+        ar.load_binary(const_cast<void *>(m_t), m_size);
+    }
+    BOOST_SERIALIZATION_SPLIT_MEMBER()
+    binary_object & operator=(const binary_object & rhs) {
+        m_t = rhs.m_t;
+        m_size = rhs.m_size;
+        return *this;
+    }
+    binary_object(/* const */ void * const t, std::size_t size) :
+        m_t(t),
+        m_size(size)
+    {}
+    binary_object(const binary_object & rhs) :
+        m_t(rhs.m_t),
+        m_size(rhs.m_size)
+    {}
+};
+
+// just a little helper to support the convention that all serialization
+// wrappers follow the naming convention make_xxxxx
+inline 
+#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+const
+#endif
+binary_object 
+make_binary_object(/* const */ void * t, std::size_t size){
+    return binary_object(t, size);
+}
+
+} // namespace serialization
+} // boost
+
+#endif // BOOST_SERIALIZATION_BINARY_OBJECT_HPP
diff --git a/SRC/Serialization/bitset.hpp b/SRC/Serialization/bitset.hpp
new file mode 100755
index 0000000..cc198a5
--- /dev/null
+++ b/SRC/Serialization/bitset.hpp
@@ -0,0 +1,75 @@
+/*!
+ * \file      bitset.hpp
+ * \brief     Provides Boost.Serialization support for std::bitset
+ * \author    Brian Ravnsgaard Riis
+ * \author    Kenneth Riddile
+ * \date      16.09.2004, updated 04.03.2009
+ * \copyright 2004 Brian Ravnsgaard Riis
+ * \license   Boost Software License 1.0
+ */
+#ifndef BOOST_SERIALIZATION_BITSET_HPP
+#define BOOST_SERIALIZATION_BITSET_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+#include <bitset>
+#include <cstddef> // size_t
+
+#include <boost/config.hpp>
+#include <Serialization/split_free.hpp>
+#include <Serialization/string.hpp>
+#include <Serialization/nvp.hpp>
+
+namespace boost{
+namespace serialization{
+
+template <class Archive, std::size_t size>
+inline void save(
+    Archive & ar,
+    std::bitset<size> const & t,
+    const unsigned int /* version */
+){
+    const std::string bits = t.template to_string<
+        std::string::value_type,
+        std::string::traits_type,
+        std::string::allocator_type
+    >();
+    ar << BOOST_SERIALIZATION_NVP( bits );
+}
+
+template <class Archive, std::size_t size>
+inline void load(
+    Archive & ar,
+    std::bitset<size> & t,
+    const unsigned int /* version */
+){
+    std::string bits;
+    ar >> BOOST_SERIALIZATION_NVP( bits );
+    t = std::bitset<size>(bits);
+}
+
+template <class Archive, std::size_t size>
+inline void serialize(
+    Archive & ar,
+    std::bitset<size> & t,
+    const unsigned int version
+){
+    boost::serialization::split_free( ar, t, version );
+}
+
+// don't track bitsets since that would trigger tracking
+// all over the program - which probably would be a surprise.
+// also, tracking would be hard to implement since, we're
+// serialization a representation of the data rather than
+// the data itself.
+template <std::size_t size>
+struct tracking_level<std::bitset<size> >
+    : mpl::int_<track_never> {} ;
+
+} //serialization
+} //boost
+
+#endif // BOOST_SERIALIZATION_BITSET_HPP
diff --git a/SRC/Serialization/collection_size_type.hpp b/SRC/Serialization/collection_size_type.hpp
new file mode 100755
index 0000000..5416857
--- /dev/null
+++ b/SRC/Serialization/collection_size_type.hpp
@@ -0,0 +1,62 @@
+#ifndef BOOST_SERIALIZATION_COLLECTION_SIZE_TYPE_HPP
+#define BOOST_SERIALIZATION_COLLECTION_SIZE_TYPE_HPP
+
+// (C) Copyright 2005 Matthias Troyer
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include <cstddef> // size_t
+#include <Serialization/strong_typedef.hpp>
+#include <Serialization/level.hpp>
+#include <Serialization/split_free.hpp>
+#include <Serialization/is_bitwise_serializable.hpp>
+
+namespace boost { 
+namespace serialization {
+
+//BOOST_STRONG_TYPEDEF(std::size_t, collection_size_type)
+
+class collection_size_type {
+private:
+    typedef std::size_t base_type;
+    base_type t;
+public:
+    collection_size_type(): t(0) {};
+    explicit collection_size_type(const std::size_t & t_) : 
+        t(t_)
+    {}
+    collection_size_type(const collection_size_type & t_) : 
+        t(t_.t)
+    {}
+    collection_size_type & operator=(const collection_size_type & rhs){
+        t = rhs.t; 
+        return *this;
+    }
+    collection_size_type & operator=(const unsigned int & rhs){
+        t = rhs; 
+        return *this;
+    }
+    // used for text output
+    operator base_type () const {
+        return t;
+    }                
+    // used for text input
+    operator base_type & () {
+        return t;
+    }                
+    bool operator==(const collection_size_type & rhs) const {
+        return t == rhs.t;
+    } 
+    bool operator<(const collection_size_type & rhs) const {
+        return t < rhs.t;
+    }   
+};
+
+
+} } // end namespace boost::serialization
+
+BOOST_CLASS_IMPLEMENTATION(collection_size_type, primitive_type)
+BOOST_IS_BITWISE_SERIALIZABLE(collection_size_type)
+
+#endif //BOOST_SERIALIZATION_COLLECTION_SIZE_TYPE_HPP
diff --git a/SRC/Serialization/collection_traits.hpp b/SRC/Serialization/collection_traits.hpp
new file mode 100755
index 0000000..46c449a
--- /dev/null
+++ b/SRC/Serialization/collection_traits.hpp
@@ -0,0 +1,79 @@
+#ifndef BOOST_SERIALIZATION_COLLECTION_TRAITS_HPP
+#define BOOST_SERIALIZATION_COLLECTION_TRAITS_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// collection_traits.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// This header assigns a level implemenation trait to a collection type
+// for all primitives.  It is needed so that archives which are meant to be
+// portable don't write class information in the archive.  Since, not all
+// compiles recognize the same set of primitive types, the possibility
+// exists for archives to be non-portable if class information for primitive
+// types is included.  This is addressed by the following macros.
+#include <boost/config.hpp>
+#include <boost/mpl/integral_c.hpp>
+#include <boost/mpl/integral_c_tag.hpp>
+
+#include <boost/cstdint.hpp>
+#include <boost/integer_traits.hpp>
+#include <climits> // ULONG_MAX
+#include <Serialization/level.hpp>
+
+#define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(T, C)          \
+template<>                                                          \
+struct implementation_level< C < T > > {                            \
+    typedef mpl::integral_c_tag tag;                                \
+    typedef mpl::int_<object_serializable> type;                    \
+    BOOST_STATIC_CONSTANT(int, value = object_serializable);        \
+};                                                                  \
+/**/
+
+#if defined(BOOST_NO_CWCHAR) || defined(BOOST_NO_INTRINSIC_WCHAR_T)
+    #define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_WCHAR(C)
+#else
+    #define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_WCHAR(C)   \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(wchar_t, C)        \
+    /**/
+#endif
+
+#if defined(BOOST_HAS_LONG_LONG)
+    #define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_INT64(C)    \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::long_long_type, C)  \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::ulong_long_type, C) \
+    /**/
+#else
+    #define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_INT64(C)
+#endif
+
+#define BOOST_SERIALIZATION_COLLECTION_TRAITS(C)                     \
+    namespace boost { namespace serialization {                      \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(bool, C)            \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(char, C)            \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(signed char, C)     \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(unsigned char, C)   \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(signed int, C)      \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(unsigned int, C)    \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(signed long, C)     \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(unsigned long, C)   \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(float, C)           \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(double, C)          \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(unsigned short, C)  \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(signed short, C)    \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_INT64(C)            \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_WCHAR(C)            \
+    } }                                                              \
+    /**/
+
+#endif // BOOST_SERIALIZATION_COLLECTION_TRAITS
diff --git a/SRC/Serialization/collections_load_imp.hpp b/SRC/Serialization/collections_load_imp.hpp
new file mode 100755
index 0000000..5e6a369
--- /dev/null
+++ b/SRC/Serialization/collections_load_imp.hpp
@@ -0,0 +1,166 @@
+#ifndef  BOOST_SERIALIZATION_COLLECTIONS_LOAD_IMP_HPP
+#define BOOST_SERIALIZATION_COLLECTIONS_LOAD_IMP_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+#if defined(_MSC_VER) && (_MSC_VER <= 1020)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// collections_load_imp.hpp: serialization for loading stl collections
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// helper function templates for serialization of collections
+
+#include <boost/assert.hpp>
+#include <cstddef> // size_t
+#include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+#include <boost/detail/workaround.hpp>
+
+#include <Serialization/archive/detail/basic_iarchive.hpp>
+#include <Serialization/access.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/detail/stack_constructor.hpp>
+#include <Serialization/collection_size_type.hpp>
+#include <Serialization/item_version_type.hpp>
+
+namespace boost{
+namespace serialization {
+namespace stl {
+
+//////////////////////////////////////////////////////////////////////
+// implementation of serialization for STL containers
+//
+
+// sequential container input
+template<class Archive, class Container>
+struct archive_input_seq
+{
+    inline BOOST_DEDUCED_TYPENAME Container::iterator
+    operator()(
+        Archive &ar, 
+        Container &s, 
+        const unsigned int v,
+        BOOST_DEDUCED_TYPENAME Container::iterator hint
+    ){
+        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
+        detail::stack_construct<Archive, type> t(ar, v);
+        // borland fails silently w/o full namespace
+        ar >> boost::serialization::make_nvp("item", t.reference());
+        s.push_back(t.reference());
+        ar.reset_object_address(& s.back() , & t.reference());
+        return hint;
+    }
+};
+
+// map input
+template<class Archive, class Container>
+struct archive_input_map
+{
+    inline BOOST_DEDUCED_TYPENAME Container::iterator
+    operator()(
+        Archive &ar, 
+        Container &s, 
+        const unsigned int v,
+        BOOST_DEDUCED_TYPENAME Container::iterator hint
+    ){
+        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
+        detail::stack_construct<Archive, type> t(ar, v);
+        // borland fails silently w/o full namespace
+        ar >> boost::serialization::make_nvp("item", t.reference());
+        BOOST_DEDUCED_TYPENAME Container::iterator result = 
+            s.insert(hint, t.reference());
+        // note: the following presumes that the map::value_type was NOT tracked
+        // in the archive.  This is the usual case, but here there is no way
+        // to determine that.  
+        ar.reset_object_address(
+            & (result->second),
+            & t.reference().second
+        );
+        return result;
+    }
+};
+
+// set input
+template<class Archive, class Container>
+struct archive_input_set
+{
+    inline BOOST_DEDUCED_TYPENAME Container::iterator
+    operator()(
+        Archive &ar, 
+        Container &s, 
+        const unsigned int v,
+        BOOST_DEDUCED_TYPENAME Container::iterator hint
+    ){
+        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
+        detail::stack_construct<Archive, type> t(ar, v);
+        // borland fails silently w/o full namespace
+        ar >> boost::serialization::make_nvp("item", t.reference());
+        BOOST_DEDUCED_TYPENAME Container::iterator result = 
+            s.insert(hint, t.reference());
+        ar.reset_object_address(& (* result), & t.reference());
+        return result;
+    }
+};
+
+template<class Container>
+class reserve_imp
+{
+public:
+    void operator()(Container &s, std::size_t count) const {
+        s.reserve(count);
+    }
+};
+
+template<class Container>
+class no_reserve_imp
+{
+public:
+    void operator()(Container & /* s */, std::size_t /* count */) const{}
+};
+
+template<class Archive, class Container, class InputFunction, class R>
+inline void load_collection(Archive & ar, Container &s)
+{
+    s.clear();
+    collection_size_type count;
+    const boost::archive::library_version_type library_version(
+        ar.get_library_version()
+    );
+    // retrieve number of elements
+    item_version_type item_version(0);
+    ar >> BOOST_SERIALIZATION_NVP(count);
+    if(boost::archive::library_version_type(3) < library_version){
+        ar >> BOOST_SERIALIZATION_NVP(item_version);
+    }
+
+    R rx;
+    rx(s, count);
+    InputFunction ifunc;
+    BOOST_DEDUCED_TYPENAME Container::iterator hint;
+    hint = s.begin();
+    while(count-- > 0){
+        hint = ifunc(ar, s, item_version, hint);
+    }
+}
+
+} // namespace stl 
+} // namespace serialization
+} // namespace boost
+
+#endif //BOOST_SERIALIZATION_COLLECTIONS_LOAD_IMP_HPP
diff --git a/SRC/Serialization/collections_save_imp.hpp b/SRC/Serialization/collections_save_imp.hpp
new file mode 100755
index 0000000..8c59a1a
--- /dev/null
+++ b/SRC/Serialization/collections_save_imp.hpp
@@ -0,0 +1,72 @@
+#ifndef BOOST_SERIALIZATION_COLLECTIONS_SAVE_IMP_HPP
+#define BOOST_SERIALIZATION_COLLECTIONS_SAVE_IMP_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// collections_save_imp.hpp: serialization for stl collections
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// helper function templates for serialization of collections
+
+#include <boost/config.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/serialization.hpp>
+#include <Serialization/version.hpp>
+#include <Serialization/collection_size_type.hpp>
+#include <Serialization/item_version_type.hpp>
+
+namespace boost{
+namespace serialization {
+namespace stl {
+
+//////////////////////////////////////////////////////////////////////
+// implementation of serialization for STL containers
+//
+
+template<class Archive, class Container>
+inline void save_collection(Archive & ar, const Container &s)
+{
+    // record number of elements
+    collection_size_type count(s.size());
+    const item_version_type item_version(
+        version<BOOST_DEDUCED_TYPENAME Container::value_type>::value
+    );
+    ar << BOOST_SERIALIZATION_NVP(count);
+    #if 0
+        boost::archive::library_version_type library_version(
+            ar.get_library_version()
+        );
+        if(boost::archive::library_version_type(3) < library_version){
+            ar << BOOST_SERIALIZATION_NVP(item_version);
+        }
+    #else
+        ar << BOOST_SERIALIZATION_NVP(item_version);
+    #endif
+
+    BOOST_DEDUCED_TYPENAME Container::const_iterator it = s.begin();
+    while(count-- > 0){
+        // note borland emits a no-op without the explicit namespace
+        boost::serialization::save_construct_data_adl(
+            ar, 
+            &(*it), 
+            item_version
+        );
+        ar << boost::serialization::make_nvp("item", *it++);
+    }
+}
+
+} // namespace stl 
+} // namespace serialization
+} // namespace boost
+
+#endif //BOOST_SERIALIZATION_COLLECTIONS_SAVE_IMP_HPP
diff --git a/SRC/Serialization/complex.hpp b/SRC/Serialization/complex.hpp
new file mode 100755
index 0000000..6dd2ecf
--- /dev/null
+++ b/SRC/Serialization/complex.hpp
@@ -0,0 +1,81 @@
+#ifndef  BOOST_SERIALIZATION_COMPLEX_HPP
+#define BOOST_SERIALIZATION_COMPLEX_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// serialization/utility.hpp:
+// serialization for stl utility templates
+
+// (C) Copyright 2007 Matthias Troyer . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <complex>
+#include <boost/config.hpp>
+
+#include <Serialization/nvp.hpp>
+#include <Serialization/is_bitwise_serializable.hpp>
+#include <Serialization/split_free.hpp>
+
+namespace boost { 
+namespace serialization {
+
+template<class Archive, class T>
+inline void serialize(
+    Archive & ar,
+    std::complex< T > & t,
+    const unsigned int file_version 
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+template<class Archive, class T>
+inline void save(
+    Archive & ar,
+    std::complex< T > const & t,
+    const unsigned int /* file_version */
+){
+    const T re = t.real();
+    const T im = t.imag();
+    ar << boost::serialization::make_nvp("real", re);
+    ar << boost::serialization::make_nvp("imag", im);
+}
+
+template<class Archive, class T>
+inline void load(
+    Archive & ar,
+    std::complex< T >& t,
+    const unsigned int /* file_version */ 
+){
+    T re;
+    T im;
+    ar >> boost::serialization::make_nvp("real", re);
+    ar >> boost::serialization::make_nvp("imag", im);
+    t = std::complex< T >(re,im);
+}
+
+// specialization of serialization traits for complex
+template <class T>
+struct is_bitwise_serializable<std::complex< T > >
+    : public is_bitwise_serializable< T > {};
+
+template <class T>
+struct implementation_level<std::complex< T > >
+    : mpl::int_<object_serializable> {} ;
+
+// treat complex just like builtin arithmetic types for tracking
+template <class T>
+struct tracking_level<std::complex< T > >
+    : mpl::int_<track_never> {} ;
+
+} // serialization
+} // namespace boost
+
+#endif // BOOST_SERIALIZATION_COMPLEX_HPP
diff --git a/SRC/Boost/boost/serialization/config.hpp b/SRC/Serialization/config.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/config.hpp
rename to SRC/Serialization/config.hpp
diff --git a/SRC/Serialization/deque.hpp b/SRC/Serialization/deque.hpp
new file mode 100755
index 0000000..636cd11
--- /dev/null
+++ b/SRC/Serialization/deque.hpp
@@ -0,0 +1,75 @@
+#ifndef  BOOST_SERIALIZATION_DEQUE_HPP
+#define BOOST_SERIALIZATION_DEQUE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// deque.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <deque>
+
+#include <boost/config.hpp>
+
+#include <Serialization/collections_save_imp.hpp>
+#include <Serialization/collections_load_imp.hpp>
+#include <Serialization/split_free.hpp>
+
+namespace boost { 
+namespace serialization {
+
+template<class Archive, class U, class Allocator>
+inline void save(
+    Archive & ar,
+    const std::deque<U, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    boost::serialization::stl::save_collection<
+        Archive, std::deque<U, Allocator> 
+    >(ar, t);
+}
+
+template<class Archive, class U, class Allocator>
+inline void load(
+    Archive & ar,
+    std::deque<U, Allocator> &t,
+    const unsigned int /*file_version*/
+){
+    boost::serialization::stl::load_collection<
+        Archive,
+        std::deque<U, Allocator>,
+        boost::serialization::stl::archive_input_seq<
+        Archive, std::deque<U, Allocator> 
+        >,
+        boost::serialization::stl::no_reserve_imp<std::deque<U, Allocator> >
+    >(ar, t);
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<class Archive, class U, class Allocator>
+inline void serialize(
+    Archive & ar,
+    std::deque<U, Allocator> &t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+} // namespace serialization
+} // namespace boost
+
+#include <Serialization/collection_traits.hpp>
+
+BOOST_SERIALIZATION_COLLECTION_TRAITS(std::deque)
+
+#endif // BOOST_SERIALIZATION_DEQUE_HPP
diff --git a/SRC/Boost/boost/serialization/detail/get_data.hpp b/SRC/Serialization/detail/get_data.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/detail/get_data.hpp
rename to SRC/Serialization/detail/get_data.hpp
diff --git a/SRC/Serialization/detail/shared_count_132.hpp b/SRC/Serialization/detail/shared_count_132.hpp
new file mode 100755
index 0000000..6133a26
--- /dev/null
+++ b/SRC/Serialization/detail/shared_count_132.hpp
@@ -0,0 +1,569 @@
+#ifndef BOOST_DETAIL_SHARED_COUNT_132_HPP_INCLUDED
+#define BOOST_DETAIL_SHARED_COUNT_132_HPP_INCLUDED
+
+// MS compatible compilers support #pragma once
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+//
+//  detail/shared_count.hpp
+//
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+#include <boost/config.hpp>
+
+#if defined(BOOST_SP_USE_STD_ALLOCATOR) && defined(BOOST_SP_USE_QUICK_ALLOCATOR)
+# error BOOST_SP_USE_STD_ALLOCATOR and BOOST_SP_USE_QUICK_ALLOCATOR are incompatible.
+#endif
+
+#include <boost/checked_delete.hpp>
+#include <Serialization/throw_exception.hpp>
+#include <boost/detail/lightweight_mutex.hpp>
+
+#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
+#include <boost/detail/quick_allocator.hpp>
+#endif
+
+#include <memory>           // std::auto_ptr, std::allocator
+#include <functional>       // std::less
+#include <exception>        // std::exception
+#include <new>              // std::bad_alloc
+#include <typeinfo>         // std::type_info in get_deleter
+#include <cstddef>          // std::size_t
+
+#include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#ifdef __BORLANDC__
+# pragma warn -8026     // Functions with excep. spec. are not expanded inline
+# pragma warn -8027     // Functions containing try are not expanded inline
+#endif
+
+namespace boost_132 {
+
+// Debug hooks
+
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+
+void sp_scalar_constructor_hook(void * px, std::size_t size, void * pn);
+void sp_array_constructor_hook(void * px);
+void sp_scalar_destructor_hook(void * px, std::size_t size, void * pn);
+void sp_array_destructor_hook(void * px);
+
+#endif
+
+
+// The standard library that comes with Borland C++ 5.5.1
+// defines std::exception and its members as having C calling
+// convention (-pc). When the definition of bad_weak_ptr
+// is compiled with -ps, the compiler issues an error.
+// Hence, the temporary #pragma option -pc below. The version
+// check is deliberately conservative.
+
+#if defined(__BORLANDC__) && __BORLANDC__ == 0x551
+# pragma option push -pc
+#endif
+
+class bad_weak_ptr: public std::exception
+{
+public:
+
+    virtual char const * what() const throw()
+    {
+        return "boost::bad_weak_ptr";
+    }
+};
+
+#if defined(__BORLANDC__) && __BORLANDC__ == 0x551
+# pragma option pop
+#endif
+
+namespace detail{
+
+class sp_counted_base
+{
+//private:
+
+    typedef boost::detail::lightweight_mutex mutex_type;
+
+public:
+
+    sp_counted_base(): use_count_(1), weak_count_(1)
+    {
+    }
+
+    virtual ~sp_counted_base() // nothrow
+    {
+    }
+
+    // dispose() is called when use_count_ drops to zero, to release
+    // the resources managed by *this.
+
+    virtual void dispose() = 0; // nothrow
+
+    // destruct() is called when weak_count_ drops to zero.
+
+    virtual void destruct() // nothrow
+    {
+        delete this;
+    }
+
+    virtual void * get_deleter(std::type_info const & ti) = 0;
+
+    void add_ref_copy()
+    {
+#if defined(BOOST_HAS_THREADS)
+        mutex_type::scoped_lock lock(mtx_);
+#endif
+        ++use_count_;
+    }
+
+    void add_ref_lock()
+    {
+#if defined(BOOST_HAS_THREADS)
+        mutex_type::scoped_lock lock(mtx_);
+#endif
+        if(use_count_ == 0) boost::serialization::throw_exception(bad_weak_ptr());
+        ++use_count_;
+    }
+
+    void release() // nothrow
+    {
+        {
+#if defined(BOOST_HAS_THREADS)
+            mutex_type::scoped_lock lock(mtx_);
+#endif
+            long new_use_count = --use_count_;
+
+            if(new_use_count != 0) return;
+        }
+
+        dispose();
+        weak_release();
+    }
+
+    void weak_add_ref() // nothrow
+    {
+#if defined(BOOST_HAS_THREADS)
+        mutex_type::scoped_lock lock(mtx_);
+#endif
+        ++weak_count_;
+    }
+
+    void weak_release() // nothrow
+    {
+        long new_weak_count;
+
+        {
+#if defined(BOOST_HAS_THREADS)
+            mutex_type::scoped_lock lock(mtx_);
+#endif
+            new_weak_count = --weak_count_;
+        }
+
+        if(new_weak_count == 0)
+        {
+            destruct();
+        }
+    }
+
+    long use_count() const // nothrow
+    {
+#if defined(BOOST_HAS_THREADS)
+        mutex_type::scoped_lock lock(mtx_);
+#endif
+        return use_count_;
+    }
+
+//private:
+public:
+    sp_counted_base(sp_counted_base const &);
+    sp_counted_base & operator= (sp_counted_base const &);
+
+    long use_count_;        // #shared
+    long weak_count_;       // #weak + (#shared != 0)
+
+#if defined(BOOST_HAS_THREADS) || defined(BOOST_LWM_WIN32)
+    mutable mutex_type mtx_;
+#endif
+};
+
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+
+template<class T> void cbi_call_constructor_hook(sp_counted_base * pn, T * px, checked_deleter< T > const &, int)
+{
+    boost::sp_scalar_constructor_hook(px, sizeof(T), pn);
+}
+
+template<class T> void cbi_call_constructor_hook(sp_counted_base *, T * px, checked_array_deleter< T > const &, int)
+{
+    boost::sp_array_constructor_hook(px);
+}
+
+template<class P, class D> void cbi_call_constructor_hook(sp_counted_base *, P const &, D const &, long)
+{
+}
+
+template<class T> void cbi_call_destructor_hook(sp_counted_base * pn, T * px, checked_deleter< T > const &, int)
+{
+    boost::sp_scalar_destructor_hook(px, sizeof(T), pn);
+}
+
+template<class T> void cbi_call_destructor_hook(sp_counted_base *, T * px, checked_array_deleter< T > const &, int)
+{
+    boost::sp_array_destructor_hook(px);
+}
+
+template<class P, class D> void cbi_call_destructor_hook(sp_counted_base *, P const &, D const &, long)
+{
+}
+
+#endif
+
+//
+// Borland's Codeguard trips up over the -Vx- option here:
+//
+#ifdef __CODEGUARD__
+# pragma option push -Vx-
+#endif
+
+template<class P, class D> class sp_counted_base_impl: public sp_counted_base
+{
+//private:
+public:
+    P ptr; // copy constructor must not throw
+    D del; // copy constructor must not throw
+
+    sp_counted_base_impl(sp_counted_base_impl const &);
+    sp_counted_base_impl & operator= (sp_counted_base_impl const &);
+
+    typedef sp_counted_base_impl<P, D> this_type;
+
+public:
+
+    // pre: initial_use_count <= initial_weak_count, d(p) must not throw
+
+    sp_counted_base_impl(P p, D d): ptr(p), del(d)
+    {
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+        detail::cbi_call_constructor_hook(this, p, d, 0);
+#endif
+    }
+
+    virtual void dispose() // nothrow
+    {
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+        detail::cbi_call_destructor_hook(this, ptr, del, 0);
+#endif
+        del(ptr);
+    }
+
+    virtual void * get_deleter(std::type_info const & ti)
+    {
+        return ti == typeid(D)? &del: 0;
+    }
+
+#if defined(BOOST_SP_USE_STD_ALLOCATOR)
+
+    void * operator new(std::size_t)
+    {
+        return std::allocator<this_type>().allocate(1, static_cast<this_type *>(0));
+    }
+
+    void operator delete(void * p)
+    {
+        std::allocator<this_type>().deallocate(static_cast<this_type *>(p), 1);
+    }
+
+#endif
+
+#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
+
+    void * operator new(std::size_t)
+    {
+        return boost::detail::quick_allocator<this_type>::alloc();
+    }
+
+    void operator delete(void * p)
+    {
+        boost::detail::quick_allocator<this_type>::dealloc(p);
+    }
+
+#endif
+};
+
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+
+int const shared_count_id = 0x2C35F101;
+int const   weak_count_id = 0x298C38A4;
+
+#endif
+
+class weak_count;
+
+class shared_count
+{
+//private:
+public:
+    sp_counted_base * pi_;
+
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+    int id_;
+#endif
+
+    friend class weak_count;
+
+public:
+
+    shared_count(): pi_(0) // nothrow
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+        , id_(shared_count_id)
+#endif
+    {
+    }
+
+    template<class P, class D> shared_count(P p, D d): pi_(0)
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+        , id_(shared_count_id)
+#endif
+    {
+#ifndef BOOST_NO_EXCEPTIONS
+
+        try
+        {
+            pi_ = new sp_counted_base_impl<P, D>(p, d);
+        }
+        catch(...)
+        {
+            d(p); // delete p
+            throw;
+        }
+
+#else
+
+        pi_ = new sp_counted_base_impl<P, D>(p, d);
+
+        if(pi_ == 0)
+        {
+            d(p); // delete p
+            boost::serialization::throw_exception(std::bad_alloc());
+        }
+
+#endif
+    }
+
+#ifndef BOOST_NO_AUTO_PTR
+
+    // auto_ptr<Y> is special cased to provide the strong guarantee
+
+    template<class Y>
+    explicit shared_count(std::unique_ptr<Y> & r): pi_(
+        new sp_counted_base_impl<
+            Y *, 
+            boost::checked_deleter<Y>
+        >(r.get(), boost::checked_deleter<Y>()))
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+        , id_(shared_count_id)
+#endif
+    {
+        r.release();
+    }
+
+#endif 
+
+    ~shared_count() // nothrow
+    {
+        if(pi_ != 0) pi_->release();
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+        id_ = 0;
+#endif
+    }
+
+    shared_count(shared_count const & r): pi_(r.pi_) // nothrow
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+        , id_(shared_count_id)
+#endif
+    {
+        if(pi_ != 0) pi_->add_ref_copy();
+    }
+
+    explicit shared_count(weak_count const & r); // throws bad_weak_ptr when r.use_count() == 0
+
+    shared_count & operator= (shared_count const & r) // nothrow
+    {
+        sp_counted_base * tmp = r.pi_;
+
+        if(tmp != pi_)
+        {
+            if(tmp != 0) tmp->add_ref_copy();
+            if(pi_ != 0) pi_->release();
+            pi_ = tmp;
+        }
+
+        return *this;
+    }
+
+    void swap(shared_count & r) // nothrow
+    {
+        sp_counted_base * tmp = r.pi_;
+        r.pi_ = pi_;
+        pi_ = tmp;
+    }
+
+    long use_count() const // nothrow
+    {
+        return pi_ != 0? pi_->use_count(): 0;
+    }
+
+    bool unique() const // nothrow
+    {
+        return use_count() == 1;
+    }
+
+    friend inline bool operator==(shared_count const & a, shared_count const & b)
+    {
+        return a.pi_ == b.pi_;
+    }
+
+    friend inline bool operator<(shared_count const & a, shared_count const & b)
+    {
+        return std::less<sp_counted_base *>()(a.pi_, b.pi_);
+    }
+
+    void * get_deleter(std::type_info const & ti) const
+    {
+        return pi_? pi_->get_deleter(ti): 0;
+    }
+};
+
+#ifdef __CODEGUARD__
+# pragma option pop
+#endif
+
+
+class weak_count
+{
+private:
+
+    sp_counted_base * pi_;
+
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+    int id_;
+#endif
+
+    friend class shared_count;
+
+public:
+
+    weak_count(): pi_(0) // nothrow
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+        , id_(weak_count_id)
+#endif
+    {
+    }
+
+    weak_count(shared_count const & r): pi_(r.pi_) // nothrow
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+        , id_(shared_count_id)
+#endif
+    {
+        if(pi_ != 0) pi_->weak_add_ref();
+    }
+
+    weak_count(weak_count const & r): pi_(r.pi_) // nothrow
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+        , id_(shared_count_id)
+#endif
+    {
+        if(pi_ != 0) pi_->weak_add_ref();
+    }
+
+    ~weak_count() // nothrow
+    {
+        if(pi_ != 0) pi_->weak_release();
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+        id_ = 0;
+#endif
+    }
+
+    weak_count & operator= (shared_count const & r) // nothrow
+    {
+        sp_counted_base * tmp = r.pi_;
+        if(tmp != 0) tmp->weak_add_ref();
+        if(pi_ != 0) pi_->weak_release();
+        pi_ = tmp;
+
+        return *this;
+    }
+
+    weak_count & operator= (weak_count const & r) // nothrow
+    {
+        sp_counted_base * tmp = r.pi_;
+        if(tmp != 0) tmp->weak_add_ref();
+        if(pi_ != 0) pi_->weak_release();
+        pi_ = tmp;
+
+        return *this;
+    }
+
+    void swap(weak_count & r) // nothrow
+    {
+        sp_counted_base * tmp = r.pi_;
+        r.pi_ = pi_;
+        pi_ = tmp;
+    }
+
+    long use_count() const // nothrow
+    {
+        return pi_ != 0? pi_->use_count(): 0;
+    }
+
+    friend inline bool operator==(weak_count const & a, weak_count const & b)
+    {
+        return a.pi_ == b.pi_;
+    }
+
+    friend inline bool operator<(weak_count const & a, weak_count const & b)
+    {
+        return std::less<sp_counted_base *>()(a.pi_, b.pi_);
+    }
+};
+
+inline shared_count::shared_count(weak_count const & r): pi_(r.pi_)
+#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+        , id_(shared_count_id)
+#endif
+{
+    if(pi_ != 0)
+    {
+        pi_->add_ref_lock();
+    }
+    else
+    {
+        boost::serialization::throw_exception(bad_weak_ptr());
+    }
+}
+
+} // namespace detail
+
+} // namespace boost
+
+BOOST_SERIALIZATION_ASSUME_ABSTRACT(boost_132::detail::sp_counted_base)
+
+#ifdef __BORLANDC__
+# pragma warn .8027     // Functions containing try are not expanded inline
+# pragma warn .8026     // Functions with excep. spec. are not expanded inline
+#endif
+
+#endif  // #ifndef BOOST_DETAIL_SHARED_COUNT_HPP_INCLUDED
diff --git a/SRC/Serialization/detail/shared_ptr_132.hpp b/SRC/Serialization/detail/shared_ptr_132.hpp
new file mode 100755
index 0000000..c19685e
--- /dev/null
+++ b/SRC/Serialization/detail/shared_ptr_132.hpp
@@ -0,0 +1,478 @@
+#ifndef BOOST_SHARED_PTR_132_HPP_INCLUDED
+#define BOOST_SHARED_PTR_132_HPP_INCLUDED
+
+//
+//  shared_ptr.hpp
+//
+//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
+//  Copyright (c) 2001, 2002, 2003 Peter Dimov
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.
+//
+
+#include <boost/config.hpp>   // for broken compiler workarounds
+
+#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
+#include <Serialization/detail/shared_ptr_nmt_132.hpp>
+#else
+
+#include <boost/assert.hpp>
+#include <boost/checked_delete.hpp>
+#include <Serialization/throw_exception.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <Serialization/access.hpp>
+#include <Serialization/detail/shared_count_132.hpp>
+
+#include <memory>               // for std::auto_ptr
+#include <algorithm>            // for std::swap
+#include <functional>           // for std::less
+#include <typeinfo>             // for std::bad_cast
+#include <iosfwd>               // for std::basic_ostream
+
+#ifdef BOOST_MSVC  // moved here to work around VC++ compiler crash
+# pragma warning(push)
+# pragma warning(disable:4284) // odd return type for operator->
+#endif
+
+namespace boost_132 {
+
+template<class T> class weak_ptr;
+template<class T> class enable_shared_from_this;
+
+namespace detail
+{
+
+struct static_cast_tag {};
+struct const_cast_tag {};
+struct dynamic_cast_tag {};
+struct polymorphic_cast_tag {};
+
+template<class T> struct shared_ptr_traits
+{
+    typedef T & reference;
+};
+
+template<> struct shared_ptr_traits<void>
+{
+    typedef void reference;
+};
+
+#if !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
+
+template<> struct shared_ptr_traits<void const>
+{
+    typedef void reference;
+};
+
+template<> struct shared_ptr_traits<void volatile>
+{
+    typedef void reference;
+};
+
+template<> struct shared_ptr_traits<void const volatile>
+{
+    typedef void reference;
+};
+
+#endif
+
+// enable_shared_from_this support
+
+template<class T, class Y> void sp_enable_shared_from_this( shared_count const & pn, enable_shared_from_this< T > const * pe, Y const * px )
+{
+    if(pe != 0) pe->_internal_weak_this._internal_assign(const_cast<Y*>(px), pn);
+}
+
+inline void sp_enable_shared_from_this( shared_count const & /*pn*/, ... )
+{
+}
+
+} // namespace detail
+
+
+//
+//  shared_ptr
+//
+//  An enhanced relative of scoped_ptr with reference counted copy semantics.
+//  The object pointed to is deleted when the last shared_ptr pointing to it
+//  is destroyed or reset.
+//
+
+template<class T> class shared_ptr
+{
+private:
+    // Borland 5.5.1 specific workaround
+    typedef shared_ptr< T > this_type;
+
+public:
+
+    typedef T element_type;
+    typedef T value_type;
+    typedef T * pointer;
+    typedef BOOST_DEDUCED_TYPENAME detail::shared_ptr_traits< T >::reference reference;
+
+    shared_ptr(): px(0), pn() // never throws in 1.30+
+    {
+    }
+
+#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x564) )
+    template<class Y>
+    explicit shared_ptr(Y * p): px(p), pn(p, boost::checked_deleter<Y>()) // Y must be complete
+#else
+    template<class Y>
+    explicit shared_ptr(Y * p): px(p), pn(p, boost::checked_deleter<Y>()) // Y must be complete
+#endif
+    {
+        detail::sp_enable_shared_from_this( pn, p, p );
+    }
+
+    //
+    // Requirements: D's copy constructor must not throw
+    //
+    // shared_ptr will release p by calling d(p)
+    //
+
+    template<class Y, class D> shared_ptr(Y * p, D d): px(p), pn(p, d)
+    {
+        detail::sp_enable_shared_from_this( pn, p, p );
+    }
+
+//  generated copy constructor, assignment, destructor are fine...
+
+//  except that Borland C++ has a bug, and g++ with -Wsynth warns
+#if defined(__BORLANDC__) || defined(__GNUC__)
+
+    shared_ptr & operator=(shared_ptr const & r) // never throws
+    {
+        px = r.px;
+        pn = r.pn; // shared_count::op= doesn't throw
+        return *this;
+    }
+
+#endif
+
+    template<class Y>
+    explicit shared_ptr(weak_ptr<Y> const & r): pn(r.pn) // may throw
+    {
+        // it is now safe to copy r.px, as pn(r.pn) did not throw
+        px = r.px;
+    }
+
+    template<class Y>
+    shared_ptr(shared_ptr<Y> const & r): px(r.px), pn(r.pn) // never throws
+    {
+    }
+
+    template<class Y>
+    shared_ptr(shared_ptr<Y> const & r, detail::static_cast_tag): px(static_cast<element_type *>(r.px)), pn(r.pn)
+    {
+    }
+
+    template<class Y>
+    shared_ptr(shared_ptr<Y> const & r, detail::const_cast_tag): px(const_cast<element_type *>(r.px)), pn(r.pn)
+    {
+    }
+
+    template<class Y>
+    shared_ptr(shared_ptr<Y> const & r, detail::dynamic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn)
+    {
+        if(px == 0) // need to allocate new counter -- the cast failed
+        {
+            pn = detail::shared_count();
+        }
+    }
+
+    template<class Y>
+    shared_ptr(shared_ptr<Y> const & r, detail::polymorphic_cast_tag): px(dynamic_cast<element_type *>(r.px)), pn(r.pn)
+    {
+        if(px == 0)
+        {
+            boost::serialization::throw_exception(std::bad_cast());
+        }
+    }
+
+#ifndef BOOST_NO_AUTO_PTR
+
+    template<class Y>
+    explicit shared_ptr(std::unique_ptr<Y> & r): px(r.get()), pn()
+    {
+        Y * tmp = r.get();
+        pn = detail::shared_count(r);
+        detail::sp_enable_shared_from_this( pn, tmp, tmp );
+    }
+
+#endif
+
+#if !defined(BOOST_MSVC) || (BOOST_MSVC > 1200)
+
+    template<class Y>
+    shared_ptr & operator=(shared_ptr<Y> const & r) // never throws
+    {
+        px = r.px;
+        pn = r.pn; // shared_count::op= doesn't throw
+        return *this;
+    }
+
+#endif
+
+#ifndef BOOST_NO_AUTO_PTR
+
+    template<class Y>
+    shared_ptr & operator=(std::unique_ptr<Y> & r)
+    {
+        this_type(r).swap(*this);
+        return *this;
+    }
+
+#endif
+
+    void reset() // never throws in 1.30+
+    {
+        this_type().swap(*this);
+    }
+
+    template<class Y> void reset(Y * p) // Y must be complete
+    {
+        BOOST_ASSERT(p == 0 || p != px); // catch self-reset errors
+        this_type(p).swap(*this);
+    }
+
+    template<class Y, class D> void reset(Y * p, D d)
+    {
+        this_type(p, d).swap(*this);
+    }
+
+    reference operator* () const // never throws
+    {
+        BOOST_ASSERT(px != 0);
+        return *px;
+    }
+
+    T * operator-> () const // never throws
+    {
+        BOOST_ASSERT(px != 0);
+        return px;
+    }
+    
+    T * get() const // never throws
+    {
+        return px;
+    }
+
+    // implicit conversion to "bool"
+
+#if defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x530)
+
+    operator bool () const
+    {
+        return px != 0;
+    }
+
+#elif defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
+    typedef T * (this_type::*unspecified_bool_type)() const;
+    
+    operator unspecified_bool_type() const // never throws
+    {
+        return px == 0? 0: &this_type::get;
+    }
+
+#else 
+
+    typedef T * this_type::*unspecified_bool_type;
+
+    operator unspecified_bool_type() const // never throws
+    {
+        return px == 0? 0: &this_type::px;
+    }
+
+#endif
+
+    // operator! is redundant, but some compilers need it
+
+    bool operator! () const // never throws
+    {
+        return px == 0;
+    }
+
+    bool unique() const // never throws
+    {
+        return pn.unique();
+    }
+
+    long use_count() const // never throws
+    {
+        return pn.use_count();
+    }
+
+    void swap(shared_ptr< T > & other) // never throws
+    {
+        std::swap(px, other.px);
+        pn.swap(other.pn);
+    }
+
+    template<class Y> bool _internal_less(shared_ptr<Y> const & rhs) const
+    {
+        return pn < rhs.pn;
+    }
+
+    void * _internal_get_deleter(std::type_info const & ti) const
+    {
+        return pn.get_deleter(ti);
+    }
+
+// Tasteless as this may seem, making all members public allows member templates
+// to work in the absence of member template friends. (Matthew Langston)
+
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+
+private:
+
+    template<class Y> friend class shared_ptr;
+    template<class Y> friend class weak_ptr;
+
+
+#endif
+public: // for serialization
+    T * px;                     // contained pointer
+    detail::shared_count pn;    // reference counter
+
+};  // shared_ptr
+
+template<class T, class U> inline bool operator==(shared_ptr< T > const & a, shared_ptr<U> const & b)
+{
+    return a.get() == b.get();
+}
+
+template<class T, class U> inline bool operator!=(shared_ptr< T > const & a, shared_ptr<U> const & b)
+{
+    return a.get() != b.get();
+}
+
+#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
+
+// Resolve the ambiguity between our op!= and the one in rel_ops
+
+template<class T> inline bool operator!=(shared_ptr< T > const & a, shared_ptr< T > const & b)
+{
+    return a.get() != b.get();
+}
+
+#endif
+
+template<class T, class U> inline bool operator<(shared_ptr< T > const & a, shared_ptr<U> const & b)
+{
+    return a._internal_less(b);
+}
+
+template<class T> inline void swap(shared_ptr< T > & a, shared_ptr< T > & b)
+{
+    a.swap(b);
+}
+
+template<class T, class U> shared_ptr< T > static_pointer_cast(shared_ptr<U> const & r)
+{
+    return shared_ptr< T >(r, detail::static_cast_tag());
+}
+
+template<class T, class U> shared_ptr< T > const_pointer_cast(shared_ptr<U> const & r)
+{
+    return shared_ptr< T >(r, detail::const_cast_tag());
+}
+
+template<class T, class U> shared_ptr< T > dynamic_pointer_cast(shared_ptr<U> const & r)
+{
+    return shared_ptr< T >(r, detail::dynamic_cast_tag());
+}
+
+// shared_*_cast names are deprecated. Use *_pointer_cast instead.
+
+template<class T, class U> shared_ptr< T > shared_static_cast(shared_ptr<U> const & r)
+{
+    return shared_ptr< T >(r, detail::static_cast_tag());
+}
+
+template<class T, class U> shared_ptr< T > shared_dynamic_cast(shared_ptr<U> const & r)
+{
+    return shared_ptr< T >(r, detail::dynamic_cast_tag());
+}
+
+template<class T, class U> shared_ptr< T > shared_polymorphic_cast(shared_ptr<U> const & r)
+{
+    return shared_ptr< T >(r, detail::polymorphic_cast_tag());
+}
+
+template<class T, class U> shared_ptr< T > shared_polymorphic_downcast(shared_ptr<U> const & r)
+{
+    BOOST_ASSERT(dynamic_cast<T *>(r.get()) == r.get());
+    return shared_static_cast< T >(r);
+}
+
+// get_pointer() enables boost::mem_fn to recognize shared_ptr
+
+template<class T> inline T * get_pointer(shared_ptr< T > const & p)
+{
+    return p.get();
+}
+
+// operator<<
+
+#if defined(__GNUC__) &&  (__GNUC__ < 3)
+
+template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p)
+{
+    os << p.get();
+    return os;
+}
+
+#else
+
+# if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, <= 1200 && __SGI_STL_PORT)
+// MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL
+using std::basic_ostream;
+template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, shared_ptr<Y> const & p)
+# else
+template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p)
+# endif 
+{
+    os << p.get();
+    return os;
+}
+
+#endif
+
+// get_deleter (experimental)
+
+#if (defined(__GNUC__) &&  (__GNUC__ < 3)) || (defined(__EDG_VERSION__) && (__EDG_VERSION__ <= 238))
+
+// g++ 2.9x doesn't allow static_cast<X const *>(void *)
+// apparently EDG 2.38 also doesn't accept it
+
+template<class D, class T> D * get_deleter(shared_ptr< T > const & p)
+{
+    void const * q = p._internal_get_deleter(typeid(D));
+    return const_cast<D *>(static_cast<D const *>(q));
+}
+
+#else
+
+template<class D, class T> D * get_deleter(shared_ptr< T > const & p)
+{
+    return static_cast<D *>(p._internal_get_deleter(typeid(D)));
+}
+
+#endif
+
+} // namespace boost
+
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif    
+
+#endif  // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
+
+#endif  // #ifndef BOOST_SHARED_PTR_132_HPP_INCLUDED
diff --git a/SRC/Serialization/detail/shared_ptr_nmt_132.hpp b/SRC/Serialization/detail/shared_ptr_nmt_132.hpp
new file mode 100755
index 0000000..19fea6e
--- /dev/null
+++ b/SRC/Serialization/detail/shared_ptr_nmt_132.hpp
@@ -0,0 +1,182 @@
+#ifndef BOOST_DETAIL_SHARED_PTR_NMT_132_HPP_INCLUDED
+#define BOOST_DETAIL_SHARED_PTR_NMT_132_HPP_INCLUDED
+
+//
+//  detail/shared_ptr_nmt.hpp - shared_ptr.hpp without member templates
+//
+//  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
+//  Copyright (c) 2001, 2002 Peter Dimov
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.
+//
+
+#include <boost/assert.hpp>
+#include <boost/checked_delete.hpp>
+#include <Serialization/throw_exception.hpp>
+#include <boost/detail/atomic_count.hpp>
+
+#ifndef BOOST_NO_AUTO_PTR
+# include <memory>          // for std::auto_ptr
+#endif
+
+#include <algorithm>        // for std::swap
+#include <functional>       // for std::less
+#include <new>              // for std::bad_alloc
+
+namespace boost
+{
+
+template<class T> class shared_ptr
+{
+private:
+
+    typedef detail::atomic_count count_type;
+
+public:
+
+    typedef T element_type;
+    typedef T value_type;
+
+    explicit shared_ptr(T * p = 0): px(p)
+    {
+#ifndef BOOST_NO_EXCEPTIONS
+
+        try  // prevent leak if new throws
+        {
+            pn = new count_type(1);
+        }
+        catch(...)
+        {
+            boost::checked_delete(p);
+            throw;
+        }
+
+#else
+
+        pn = new count_type(1);
+
+        if(pn == 0)
+        {
+            boost::checked_delete(p);
+            boost::serialization::throw_exception(std::bad_alloc());
+        }
+
+#endif
+    }
+
+    ~shared_ptr()
+    {
+        if(--*pn == 0)
+        {
+            boost::checked_delete(px);
+            delete pn;
+        }
+    }
+
+    shared_ptr(shared_ptr const & r): px(r.px)  // never throws
+    {
+        pn = r.pn;
+        ++*pn;
+    }
+
+    shared_ptr & operator=(shared_ptr const & r)
+    {
+        shared_ptr(r).swap(*this);
+        return *this;
+    }
+
+#ifndef BOOST_NO_AUTO_PTR
+
+    explicit shared_ptr(std::auto_ptr< T > & r)
+    { 
+        pn = new count_type(1); // may throw
+        px = r.release(); // fix: moved here to stop leak if new throws
+    } 
+
+    shared_ptr & operator=(std::auto_ptr< T > & r)
+    {
+        shared_ptr(r).swap(*this);
+        return *this;
+    }
+
+#endif
+
+    void reset(T * p = 0)
+    {
+        BOOST_ASSERT(p == 0 || p != px);
+        shared_ptr(p).swap(*this);
+    }
+
+    T & operator*() const  // never throws
+    {
+        BOOST_ASSERT(px != 0);
+        return *px;
+    }
+
+    T * operator->() const  // never throws
+    {
+        BOOST_ASSERT(px != 0);
+        return px;
+    }
+
+    T * get() const  // never throws
+    {
+        return px;
+    }
+
+    long use_count() const  // never throws
+    {
+        return *pn;
+    }
+
+    bool unique() const  // never throws
+    {
+        return *pn == 1;
+    }
+    
+    void swap(shared_ptr< T > & other)  // never throws
+    {
+        std::swap(px, other.px);
+        std::swap(pn, other.pn);
+    }
+
+private:
+
+    T * px;            // contained pointer
+    count_type * pn;   // ptr to reference counter
+};
+
+template<class T, class U> inline bool operator==(shared_ptr< T > const & a, shared_ptr<U> const & b)
+{
+    return a.get() == b.get();
+}
+
+template<class T, class U> inline bool operator!=(shared_ptr< T > const & a, shared_ptr<U> const & b)
+{
+    return a.get() != b.get();
+}
+
+template<class T> inline bool operator<(shared_ptr< T > const & a, shared_ptr< T > const & b)
+{
+    return std::less<T*>()(a.get(), b.get());
+}
+
+template<class T> void swap(shared_ptr< T > & a, shared_ptr< T > & b)
+{
+    a.swap(b);
+}
+
+// get_pointer() enables boost::mem_fn to recognize shared_ptr
+
+template<class T> inline T * get_pointer(shared_ptr< T > const & p)
+{
+    return p.get();
+}
+
+} // namespace boost
+
+#endif  // #ifndef BOOST_DETAIL_SHARED_PTR_NMT_132_HPP_INCLUDED
diff --git a/SRC/Boost/boost/serialization/detail/stack_constructor.hpp b/SRC/Serialization/detail/stack_constructor.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/detail/stack_constructor.hpp
rename to SRC/Serialization/detail/stack_constructor.hpp
diff --git a/SRC/Serialization/ephemeral.hpp b/SRC/Serialization/ephemeral.hpp
new file mode 100755
index 0000000..191f096
--- /dev/null
+++ b/SRC/Serialization/ephemeral.hpp
@@ -0,0 +1,80 @@
+#ifndef BOOST_SERIALIZATION_EPHEMERAL_HPP
+#define BOOST_SERIALIZATION_EPHEMERAL_HPP
+
+// MS compatible compilers support 
+#pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// ephemeral_object.hpp: interface for serialization system.
+
+// (C) Copyright 2007 Matthias Troyer. 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <utility>
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+// supress noise
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
+# pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <boost/mpl/integral_c.hpp>
+#include <boost/mpl/integral_c_tag.hpp>
+
+#include <Serialization/level.hpp>
+#include <Serialization/tracking.hpp>
+#include <Serialization/split_member.hpp>
+#include <Serialization/base_object.hpp>
+#include <Serialization/traits.hpp>
+#include <Serialization/wrapper.hpp>
+
+namespace boost {
+namespace serialization {
+
+template<class T>
+struct ephemeral_object : 
+    public wrapper_traits<ephemeral_object<T> >
+{
+    explicit ephemeral_object(T& t) :
+        val(t)
+    {}
+
+    T & value() const {
+        return val;
+    }
+
+    const T & const_value() const {
+        return val;
+    }
+
+    template<class Archive>
+    void serialize(Archive &ar, const unsigned int) const
+    {
+       ar & val;
+    }
+
+private:
+    T & val;
+};
+
+template<class T>
+inline
+#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+const
+#endif
+ephemeral_object<T> ephemeral(const char * name, T & t){
+    return ephemeral_object<T>(name, t);
+}
+
+} // seralization
+} // boost
+
+#endif // BOOST_SERIALIZATION_EPHEMERAL_HPP
diff --git a/SRC/Serialization/export.hpp b/SRC/Serialization/export.hpp
new file mode 100755
index 0000000..fd99476
--- /dev/null
+++ b/SRC/Serialization/export.hpp
@@ -0,0 +1,234 @@
+#ifndef BOOST_SERIALIZATION_EXPORT_HPP
+#define BOOST_SERIALIZATION_EXPORT_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// export.hpp: set traits of classes to be serialized
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// (C) Copyright 2006 David Abrahams - http://www.boost.org.
+// implementation of class export functionality.  This is an alternative to
+// "forward declaration" method to provoke instantiation of derived classes
+// that are to be serialized through pointers.
+
+#include <utility>
+#include <cstddef> // NULL
+
+#include <boost/config.hpp>
+#include <boost/static_assert.hpp>
+#include <boost/preprocessor/stringize.hpp>
+#include <boost/type_traits/is_polymorphic.hpp>
+
+#include <boost/mpl/assert.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/mpl/bool.hpp>
+
+#include <Serialization/extended_type_info.hpp> // for guid_defined only
+#include <Serialization/static_warning.hpp>
+#include <Serialization/assume_abstract.hpp>
+#include <Serialization/force_include.hpp>
+#include <Serialization/singleton.hpp>
+
+#include <Serialization/archive/detail/register_archive.hpp>
+
+#include <iostream>
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+class basic_pointer_iserializer;
+class basic_pointer_oserializer;
+
+template<class Archive, class T>
+class pointer_iserializer;
+template<class Archive, class T>
+class pointer_oserializer;
+
+template <class Archive, class Serializable>
+struct export_impl
+{
+    static const basic_pointer_iserializer &
+    enable_load(mpl::true_){
+        return boost::serialization::singleton<
+            pointer_iserializer<Archive, Serializable> 
+        >::get_const_instance();
+    }
+
+    static const basic_pointer_oserializer &
+    enable_save(mpl::true_){
+        return boost::serialization::singleton<
+            pointer_oserializer<Archive, Serializable> 
+        >::get_const_instance();
+    }
+    inline static void enable_load(mpl::false_) {}
+    inline static void enable_save(mpl::false_) {}
+};
+
+// On many platforms, naming a specialization of this template is
+// enough to cause its argument to be instantiated.
+template <void(*)()>
+struct instantiate_function {};
+
+template <class Archive, class Serializable>
+struct ptr_serialization_support
+{
+# if defined(BOOST_MSVC) || defined(__SUNPRO_CC)
+    virtual BOOST_DLLEXPORT void instantiate() BOOST_USED;
+# elif defined(__BORLANDC__)   
+    static BOOST_DLLEXPORT void instantiate() BOOST_USED;
+    enum { x = sizeof(instantiate(),3) };
+# else
+    static BOOST_DLLEXPORT void instantiate() BOOST_USED;
+    typedef instantiate_function<
+        &ptr_serialization_support::instantiate
+    > x;
+# endif
+};
+
+template <class Archive, class Serializable>
+BOOST_DLLEXPORT void 
+ptr_serialization_support<Archive,Serializable>::instantiate()
+{
+    export_impl<Archive,Serializable>::enable_save(
+        #if ! defined(__BORLANDC__)
+        BOOST_DEDUCED_TYPENAME 
+        #endif
+        Archive::is_saving()
+    );
+
+    export_impl<Archive,Serializable>::enable_load(
+        #if ! defined(__BORLANDC__)
+        BOOST_DEDUCED_TYPENAME 
+        #endif
+        Archive::is_loading()
+    );
+}
+
+// Note INTENTIONAL usage of anonymous namespace in header.
+// This was made this way so that export.hpp could be included
+// in other headers.  This is still under study.
+
+namespace extra_detail {
+
+template<class T>
+struct guid_initializer
+{  
+    void export_guid(mpl::false_) const {
+        // generates the statically-initialized objects whose constructors
+        // register the information allowing serialization of T objects
+        // through pointers to their base classes.
+        instantiate_ptr_serialization((T*)0, 0, adl_tag());
+    }
+    void export_guid(mpl::true_) const {
+    }
+    guid_initializer const & export_guid() const {
+        BOOST_STATIC_WARNING(boost::is_polymorphic< T >::value);
+        // note: exporting an abstract base class will have no effect
+        // and cannot be used to instantitiate serialization code
+        // (one might be using this in a DLL to instantiate code)
+        //BOOST_STATIC_WARNING(! boost::serialization::is_abstract< T >::value);
+        export_guid(boost::serialization::is_abstract< T >());
+        return *this;
+    }
+};
+
+template<typename T>
+struct init_guid;
+
+} // anonymous
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#define BOOST_CLASS_EXPORT_IMPLEMENT(T)                      \
+    namespace boost {                                        \
+    namespace archive {                                      \
+    namespace detail {                                       \
+    namespace extra_detail {                                 \
+    template<>                                               \
+    struct init_guid< T > {                                  \
+        static guid_initializer< T > const & g;              \
+    };                                                       \
+    guid_initializer< T > const & init_guid< T >::g =        \
+        ::boost::serialization::singleton<                   \
+            guid_initializer< T >                            \
+        >::get_mutable_instance().export_guid();             \
+    }}}}                                                     \
+/**/
+
+#define BOOST_CLASS_EXPORT_KEY2(T, K)          \
+namespace boost {                              \
+namespace serialization {                      \
+template<>                                     \
+struct guid_defined< T > : boost::mpl::true_ {}; \
+template<>                                     \
+inline const char * guid< T >(){                 \
+    return K;                                  \
+}                                              \
+} /* serialization */                          \
+} /* boost */                                  \
+/**/
+
+#define BOOST_CLASS_EXPORT_KEY(T)                                      \
+    BOOST_CLASS_EXPORT_KEY2(T, BOOST_PP_STRINGIZE(T))                                                                  \
+/**/
+
+#define BOOST_CLASS_EXPORT_GUID(T, K)                                  \
+BOOST_CLASS_EXPORT_KEY2(T, K)                                          \
+BOOST_CLASS_EXPORT_IMPLEMENT(T)                                        \
+/**/
+
+#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
+
+// CodeWarrior fails to construct static members of class templates
+// when they are instantiated from within templates, so on that
+// compiler we ask users to specifically register base/derived class
+// relationships for exported classes.  On all other compilers, use of
+// this macro is entirely optional.
+# define BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(Base,Derived)             \
+namespace {                                                                    \
+  static int BOOST_PP_CAT(boost_serialization_mwerks_init_, __LINE__) =        \
+  (::boost::archive::detail::instantiate_ptr_serialization((Derived*)0,0), 3); \
+  static int BOOST_PP_CAT(boost_serialization_mwerks_init2_, __LINE__) = (     \
+      ::boost::serialization::void_cast_register((Derived*)0,(Base*)0)         \
+    , 3);                                                                      \
+}
+
+#else
+
+# define BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(Base,Derived)
+
+#endif 
+
+// check for unnecessary export.  T isn't polymorphic so there is no
+// need to export it.
+#define BOOST_CLASS_EXPORT_CHECK(T)                              \
+    BOOST_STATIC_WARNING(                                        \
+        boost::is_polymorphic<U>::value                          \
+    );                                                           \
+    /**/
+
+// the default exportable class identifier is the class name
+// the default list of archives types for which code id generated
+// are the originally included with this serialization system
+#define BOOST_CLASS_EXPORT(T)                   \
+    BOOST_CLASS_EXPORT_GUID(                    \
+        T,                                      \
+        BOOST_PP_STRINGIZE(T)                   \
+    )                                           \
+    /**/
+
+#endif // BOOST_SERIALIZATION_EXPORT_HPP
+
diff --git a/SRC/Serialization/extended_type_info.hpp b/SRC/Serialization/extended_type_info.hpp
new file mode 100755
index 0000000..e4004dd
--- /dev/null
+++ b/SRC/Serialization/extended_type_info.hpp
@@ -0,0 +1,108 @@
+#ifndef BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_HPP
+#define BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// extended_type_info.hpp: interface for portable version of type_info
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// for now, extended type info is part of the serialization libraries
+// this could change in the future.
+#include <cstdarg>
+#include <boost/assert.hpp>
+#include <cstddef> // NULL
+#include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
+#include <boost/mpl/bool.hpp>
+
+#include <Serialization/config.hpp>
+#include <boost/config/abi_prefix.hpp> // must be the last header
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4251 4231 4660 4275)
+#endif
+
+#define BOOST_SERIALIZATION_MAX_KEY_SIZE 128
+
+namespace boost { 
+namespace serialization {
+
+namespace void_cast_detail{
+    class void_caster;
+}
+
+class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) extended_type_info :
+    private boost::noncopyable
+{
+private:
+    friend class boost::serialization::void_cast_detail::void_caster;
+
+    // used to uniquely identify the type of class derived from this one
+    // so that different derivations of this class can be simultaneously
+    // included in implementation of sets and maps.
+    const unsigned int m_type_info_key;
+    virtual bool is_less_than(const extended_type_info & /*rhs*/) const = 0;
+    virtual bool is_equal(const extended_type_info & /*rhs*/) const = 0;
+    const char * m_key;
+
+protected:
+    void key_unregister() const;
+    void key_register() const;
+    // this class can't be used as is. It's just the 
+    // common functionality for all type_info replacement
+    // systems.  Hence, make these protected
+    extended_type_info(
+        const unsigned int type_info_key,
+        const char * key
+    );
+    // account for bogus gcc warning
+    #if defined(__GNUC__)
+    virtual
+    #endif
+    ~extended_type_info();
+public:
+    const char * get_key() const {
+        return m_key;
+    }
+    virtual const char * get_debug_info() const = 0;
+    bool operator<(const extended_type_info &rhs) const;
+    bool operator==(const extended_type_info &rhs) const;
+    bool operator!=(const extended_type_info &rhs) const {
+        return !(operator==(rhs));
+    }
+    // note explicit "export" of static function to work around
+    // gcc 4.5 mingw error
+    static const extended_type_info *
+    find(const char *key);
+    // for plugins
+    virtual void * construct(unsigned int /*count*/ = 0, ...) const = 0;
+    virtual void destroy(void const * const /*p*/) const = 0;
+};
+
+template<class T>
+struct guid_defined : boost::mpl::false_ {};
+template<class T>
+inline const char * guid(){
+    return NULL;
+}
+
+} // namespace serialization 
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_HPP
diff --git a/SRC/Serialization/extended_type_info_no_rtti.hpp b/SRC/Serialization/extended_type_info_no_rtti.hpp
new file mode 100755
index 0000000..828170b
--- /dev/null
+++ b/SRC/Serialization/extended_type_info_no_rtti.hpp
@@ -0,0 +1,182 @@
+#ifndef BOOST_EXTENDED_TYPE_INFO_NO_RTTI_HPP
+#define BOOST_EXTENDED_TYPE_INFO_NO_RTTI_HPP
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// extended_type_info_no_rtti.hpp: implementation for version that depends
+// on runtime typing (rtti - typeid) but uses a user specified string
+// as the portable class identifier.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/assert.hpp>
+
+#include <boost/config.hpp>
+#include <boost/static_assert.hpp>
+
+#include <boost/mpl/if.hpp>
+#include <boost/type_traits/is_polymorphic.hpp>
+#include <boost/type_traits/remove_const.hpp>
+
+#include <Serialization/static_warning.hpp>
+#include <Serialization/singleton.hpp>
+#include <Serialization/extended_type_info.hpp>
+#include <Serialization/factory.hpp>
+#include <Serialization/throw_exception.hpp>
+
+#include <Serialization/config.hpp>
+// hijack serialization access
+#include <Serialization/access.hpp>
+
+#include <boost/config/abi_prefix.hpp> // must be the last header
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4251 4231 4660 4275 4511 4512)
+#endif
+
+namespace boost {
+namespace serialization {
+///////////////////////////////////////////////////////////////////////
+// define a special type_info that doesn't depend on rtti which is not
+// available in all situations.
+
+namespace no_rtti_system {
+
+// common base class to share type_info_key.  This is used to 
+// identify the method used to keep track of the extended type
+class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) extended_type_info_no_rtti_0 : 
+    public extended_type_info
+{
+protected:
+    extended_type_info_no_rtti_0(const char * key);
+    ~extended_type_info_no_rtti_0();
+public:
+    virtual bool
+    is_less_than(const boost::serialization::extended_type_info &rhs) const ;
+    virtual bool
+    is_equal(const boost::serialization::extended_type_info &rhs) const ;
+};
+
+} // no_rtti_system
+
+template<class T>
+class extended_type_info_no_rtti : 
+    public no_rtti_system::extended_type_info_no_rtti_0,
+    public singleton<extended_type_info_no_rtti< T > >
+{
+    template<bool tf>
+    struct action {
+        struct defined {
+            static const char * invoke(){
+                return guid< T >();
+            }
+        };
+        struct undefined {
+            // if your program traps here - you failed to 
+            // export a guid for this type.  the no_rtti
+            // system requires export for types serialized
+            // as pointers.
+            BOOST_STATIC_ASSERT(0 == sizeof(T));
+            static const char * invoke();
+        };
+        static const char * invoke(){
+            typedef 
+                BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
+                    tf,
+                    defined,
+                    undefined
+                >::type type;
+            return type::invoke();
+        }
+    };
+public:
+    extended_type_info_no_rtti() :
+        no_rtti_system::extended_type_info_no_rtti_0(get_key())
+    {
+        key_register();
+    }
+    ~extended_type_info_no_rtti(){
+        key_unregister();
+    }
+    const extended_type_info *
+    get_derived_extended_type_info(const T & t) const {
+        // find the type that corresponds to the most derived type.
+        // this implementation doesn't depend on typeid() but assumes
+        // that the specified type has a function of the following signature.
+        // A common implemention of such a function is to define as a virtual
+        // function. So if the is not a polymporphic type it's likely an error
+        BOOST_STATIC_WARNING(boost::is_polymorphic< T >::value);
+        const char * derived_key = t.get_key();
+        BOOST_ASSERT(NULL != derived_key);
+        return boost::serialization::extended_type_info::find(derived_key);
+    }
+    const char * get_key() const{
+        return action<guid_defined< T >::value >::invoke();
+    }
+    virtual const char * get_debug_info() const{
+        return action<guid_defined< T >::value >::invoke();
+    }
+    virtual void * construct(unsigned int count, ...) const{
+        // count up the arguments
+        std::va_list ap;
+        va_start(ap, count);
+        switch(count){
+        case 0:
+            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 0>(ap);
+        case 1:
+            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 1>(ap);
+        case 2:
+            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 2>(ap);
+        case 3:
+            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 3>(ap);
+        case 4:
+            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 4>(ap);
+        default:
+            BOOST_ASSERT(false); // too many arguments
+            // throw exception here?
+            return NULL;
+        }
+    }
+    virtual void destroy(void const * const p) const{
+        boost::serialization::access::destroy(
+            static_cast<T const * const>(p)
+        );
+        //delete static_cast<T const * const>(p) ;
+    }
+};
+
+} // namespace serialization
+} // namespace boost
+
+///////////////////////////////////////////////////////////////////////////////
+// If no other implementation has been designated as default, 
+// use this one.  To use this implementation as the default, specify it
+// before any of the other headers.
+
+#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO
+    #define BOOST_SERIALIZATION_DEFAULT_TYPE_INFO
+    namespace boost {
+    namespace serialization {
+    template<class T>
+    struct extended_type_info_impl {
+        typedef BOOST_DEDUCED_TYPENAME 
+            boost::serialization::extended_type_info_no_rtti< T > type;
+    };
+    } // namespace serialization
+    } // namespace boost
+#endif
+
+#ifdef BOOST_MSVC
+#  pragma warning(pop)
+#endif
+#include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_EXTENDED_TYPE_INFO_NO_RTTI_HPP
diff --git a/SRC/Serialization/extended_type_info_typeid.hpp b/SRC/Serialization/extended_type_info_typeid.hpp
new file mode 100755
index 0000000..7199008
--- /dev/null
+++ b/SRC/Serialization/extended_type_info_typeid.hpp
@@ -0,0 +1,165 @@
+#ifndef BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_TYPEID_HPP
+#define BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_TYPEID_HPP
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// extended_type_info_typeid.hpp: implementation for version that depends
+// on runtime typing (rtti - typeid) but uses a user specified string
+// as the portable class identifier.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <typeinfo>
+#include <cstdarg>
+#include <boost/assert.hpp>
+#include <boost/config.hpp>
+
+#include <boost/static_assert.hpp>
+#include <Serialization/static_warning.hpp>
+#include <boost/type_traits/is_polymorphic.hpp>
+#include <boost/type_traits/remove_const.hpp>
+
+#include <Serialization/config.hpp>
+#include <Serialization/singleton.hpp>
+#include <Serialization/extended_type_info.hpp>
+#include <Serialization/factory.hpp>
+
+// hijack serialization access
+#include <Serialization/access.hpp>
+
+#include <boost/mpl/if.hpp>
+
+#include <boost/config/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4251 4231 4660 4275 4511 4512)
+#endif
+
+namespace boost {
+namespace serialization {
+namespace typeid_system {
+
+class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) extended_type_info_typeid_0 : 
+    public extended_type_info
+{
+    virtual const char * get_debug_info() const {
+        if(static_cast<const std::type_info *>(0) == m_ti)
+            return static_cast<const char *>(0);
+        return m_ti->name();
+    }
+protected:
+    const std::type_info * m_ti;
+    extended_type_info_typeid_0(const char * key);
+    ~extended_type_info_typeid_0();
+    void type_register(const std::type_info & ti);
+    void type_unregister();
+    const extended_type_info *
+    get_extended_type_info(const std::type_info & ti) const;
+public:
+    virtual bool
+    is_less_than(const extended_type_info &rhs) const;
+    virtual bool
+    is_equal(const extended_type_info &rhs) const;
+    const std::type_info & get_typeid() const {
+        return *m_ti;
+    }
+};
+
+} // typeid_system
+
+template<class T>
+class extended_type_info_typeid : 
+    public typeid_system::extended_type_info_typeid_0,
+    public singleton<extended_type_info_typeid< T > >
+{
+public:
+    extended_type_info_typeid() :
+        typeid_system::extended_type_info_typeid_0(get_key())
+    {
+        type_register(typeid(T));
+        key_register();
+    }
+    ~extended_type_info_typeid(){
+        key_unregister();
+        type_unregister();
+    }
+    // get the eti record for the true type of this record
+    // relying upon standard type info implemenation (rtti)
+    const extended_type_info *
+    get_derived_extended_type_info(const T & t) const {
+        // note: this implementation - based on usage of typeid (rtti)
+        // only does something if the class has at least one virtual function.
+        BOOST_STATIC_WARNING(boost::is_polymorphic< T >::value);
+        return 
+            typeid_system::extended_type_info_typeid_0::get_extended_type_info(
+                typeid(t)
+            );
+    }
+    const char * get_key() const {
+        return boost::serialization::guid< T >();
+    }
+    virtual void * construct(unsigned int count, ...) const{
+        // count up the arguments
+        std::va_list ap;
+        va_start(ap, count);
+        switch(count){
+        case 0:
+            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 0>(ap);
+        case 1:
+            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 1>(ap);
+        case 2:
+            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 2>(ap);
+        case 3:
+            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 3>(ap);
+        case 4:
+            return factory<BOOST_DEDUCED_TYPENAME boost::remove_const< T >::type, 4>(ap);
+        default:
+            BOOST_ASSERT(false); // too many arguments
+            // throw exception here?
+            return NULL;
+        }
+    }
+    virtual void destroy(void const * const p) const {
+        boost::serialization::access::destroy(
+            static_cast<T const * const>(p)
+        );
+        //delete static_cast<T const * const>(p);
+    }
+};
+
+} // namespace serialization
+} // namespace boost
+
+///////////////////////////////////////////////////////////////////////////////
+// If no other implementation has been designated as default, 
+// use this one.  To use this implementation as the default, specify it
+// before any of the other headers.
+#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO
+    #define BOOST_SERIALIZATION_DEFAULT_TYPE_INFO
+    namespace boost {
+    namespace serialization {
+    template<class T>
+    struct extended_type_info_impl {
+        typedef BOOST_DEDUCED_TYPENAME 
+            boost::serialization::extended_type_info_typeid< T > type;
+    };
+    } // namespace serialization
+    } // namespace boost
+#endif
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+#include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_TYPEID_HPP
diff --git a/SRC/Boost/boost/serialization/factory.hpp b/SRC/Serialization/factory.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/factory.hpp
rename to SRC/Serialization/factory.hpp
diff --git a/SRC/Boost/boost/serialization/force_include.hpp b/SRC/Serialization/force_include.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/force_include.hpp
rename to SRC/Serialization/force_include.hpp
diff --git a/SRC/Serialization/hash_collections_load_imp.hpp b/SRC/Serialization/hash_collections_load_imp.hpp
new file mode 100755
index 0000000..fddc578
--- /dev/null
+++ b/SRC/Serialization/hash_collections_load_imp.hpp
@@ -0,0 +1,77 @@
+#ifndef BOOST_SERIALIZATION_HASH_COLLECTIONS_LOAD_IMP_HPP
+#define BOOST_SERIALIZATION_HASH_COLLECTIONS_LOAD_IMP_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+# pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// hash_collections_load_imp.hpp: serialization for loading stl collections
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// helper function templates for serialization of hashed collections
+#include <boost/config.hpp>
+#include <Serialization/archive/detail/basic_iarchive.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/collection_size_type.hpp>
+#include <Serialization/item_version_type.hpp>
+
+namespace boost{
+namespace serialization {
+namespace stl {
+
+//////////////////////////////////////////////////////////////////////
+// implementation of serialization for STL containers
+//
+template<class Archive, class Container, class InputFunction>
+inline void load_hash_collection(Archive & ar, Container &s)
+{
+    s.clear();
+    collection_size_type count;
+    collection_size_type bucket_count;
+    boost::serialization::item_version_type item_version(0);
+    boost::archive::library_version_type library_version(
+        ar.get_library_version()
+    );
+    // retrieve number of elements
+    if(boost::archive::library_version_type(6) != library_version){
+        ar >> BOOST_SERIALIZATION_NVP(count);
+        ar >> BOOST_SERIALIZATION_NVP(bucket_count);
+    }
+    else{
+        // note: fixup for error in version 6.  collection size was
+        // changed to size_t BUT for hashed collections it was implemented
+        // as an unsigned int.  This should be a problem only on win64 machines
+        // but I'll leave it for everyone just in case.
+        unsigned int c;
+        unsigned int bc;
+        ar >> BOOST_SERIALIZATION_NVP(c);
+        count = c;
+        ar >> BOOST_SERIALIZATION_NVP(bc);
+        bucket_count = bc;
+    }
+    if(boost::archive::library_version_type(3) < library_version){
+        ar >> BOOST_SERIALIZATION_NVP(item_version);
+    }
+    #if ! defined(__MWERKS__)
+    s.resize(bucket_count);
+    #endif
+    InputFunction ifunc;
+    while(count-- > 0){
+        ifunc(ar, s, item_version);
+    }
+}
+
+} // namespace stl 
+} // namespace serialization
+} // namespace boost
+
+#endif //BOOST_SERIALIZATION_HASH_COLLECTIONS_LOAD_IMP_HPP
diff --git a/SRC/Serialization/hash_collections_save_imp.hpp b/SRC/Serialization/hash_collections_save_imp.hpp
new file mode 100755
index 0000000..1557d3e
--- /dev/null
+++ b/SRC/Serialization/hash_collections_save_imp.hpp
@@ -0,0 +1,97 @@
+#ifndef BOOST_SERIALIZATION_HASH_COLLECTIONS_SAVE_IMP_HPP
+#define BOOST_SERIALIZATION_HASH_COLLECTIONS_SAVE_IMP_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// hash_collections_save_imp.hpp: serialization for stl collections
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// helper function templates for serialization of collections
+
+#include <boost/config.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/serialization.hpp>
+#include <Serialization/version.hpp>
+#include <Serialization/collection_size_type.hpp>
+#include <Serialization/item_version_type.hpp>
+
+namespace boost{
+namespace serialization {
+namespace stl {
+
+//////////////////////////////////////////////////////////////////////
+// implementation of serialization for STL containers
+//
+
+template<class Archive, class Container>
+inline void save_hash_collection(Archive & ar, const Container &s)
+{
+    collection_size_type count(s.size());
+    const collection_size_type bucket_count(s.bucket_count());
+    const item_version_type item_version(
+        version<BOOST_DEDUCED_TYPENAME Container::value_type>::value
+    );
+
+    #if 0
+    /* should only be necessary to create archives of previous versions
+     * which is not currently supported.  So for now comment this out
+     */
+    boost::archive::library_version_type library_version(
+        ar.get_library_version()
+    );
+    // retrieve number of elements
+    if(boost::archive::library_version_type(6) != library_version){
+        ar << BOOST_SERIALIZATION_NVP(count);
+        ar << BOOST_SERIALIZATION_NVP(bucket_count);
+    }
+    else{
+        // note: fixup for error in version 6.  collection size was
+        // changed to size_t BUT for hashed collections it was implemented
+        // as an unsigned int.  This should be a problem only on win64 machines
+        // but I'll leave it for everyone just in case.
+        const unsigned int c = count;
+        const unsigned int bc = bucket_count;
+        ar << BOOST_SERIALIZATION_NVP(c);
+        ar << BOOST_SERIALIZATION_NVP(bc);
+    }
+    if(boost::archive::library_version_type(3) < library_version){
+        // record number of elements
+        // make sure the target type is registered so we can retrieve
+        // the version when we load
+        ar << BOOST_SERIALIZATION_NVP(item_version);
+    }
+    #else
+        ar << BOOST_SERIALIZATION_NVP(count);
+        ar << BOOST_SERIALIZATION_NVP(bucket_count);
+        ar << BOOST_SERIALIZATION_NVP(item_version);
+    #endif
+
+    BOOST_DEDUCED_TYPENAME Container::const_iterator it = s.begin();
+    while(count-- > 0){
+        // note borland emits a no-op without the explicit namespace
+        boost::serialization::save_construct_data_adl(
+            ar, 
+            &(*it), 
+            boost::serialization::version<
+                BOOST_DEDUCED_TYPENAME Container::value_type
+            >::value
+        );
+        ar << boost::serialization::make_nvp("item", *it++);
+    }
+}
+
+} // namespace stl 
+} // namespace serialization
+} // namespace boost
+
+#endif //BOOST_SERIALIZATION_HASH_COLLECTIONS_SAVE_IMP_HPP
diff --git a/SRC/Serialization/hash_map.hpp b/SRC/Serialization/hash_map.hpp
new file mode 100755
index 0000000..8fefb2c
--- /dev/null
+++ b/SRC/Serialization/hash_map.hpp
@@ -0,0 +1,231 @@
+#ifndef  BOOST_SERIALIZATION_HASH_MAP_HPP
+#define BOOST_SERIALIZATION_HASH_MAP_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// serialization/hash_map.hpp:
+// serialization for stl hash_map templates
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_HAS_HASH
+#include BOOST_HASH_MAP_HEADER
+
+#include <Serialization/utility.hpp>
+#include <Serialization/hash_collections_save_imp.hpp>
+#include <Serialization/hash_collections_load_imp.hpp>
+#include <Serialization/split_free.hpp>
+
+namespace boost { 
+namespace serialization {
+
+namespace stl {
+
+// map input
+template<class Archive, class Container>
+struct archive_input_hash_map
+{
+    inline void operator()(
+        Archive &ar, 
+        Container &s, 
+        const unsigned int v
+    ){
+        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
+        detail::stack_construct<Archive, type> t(ar, v);
+        // borland fails silently w/o full namespace
+        ar >> boost::serialization::make_nvp("item", t.reference());
+        std::pair<BOOST_DEDUCED_TYPENAME Container::const_iterator, bool> result = 
+            s.insert(t.reference());
+        // note: the following presumes that the map::value_type was NOT tracked
+        // in the archive.  This is the usual case, but here there is no way
+        // to determine that.  
+        if(result.second){
+            ar.reset_object_address(
+                & (result.first->second),
+                & t.reference().second
+            );
+        }
+    }
+};
+
+// multimap input
+template<class Archive, class Container>
+struct archive_input_hash_multimap
+{
+    inline void operator()(
+        Archive &ar, 
+        Container &s, 
+        const unsigned int v
+    ){
+        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
+        detail::stack_construct<Archive, type> t(ar, v);
+        // borland fails silently w/o full namespace
+        ar >> boost::serialization::make_nvp("item", t.reference());
+        BOOST_DEDUCED_TYPENAME Container::const_iterator result 
+            = s.insert(t.reference());
+        // note: the following presumes that the map::value_type was NOT tracked
+        // in the archive.  This is the usual case, but here there is no way
+        // to determine that.  
+        ar.reset_object_address(
+            & result->second,
+            & t.reference()
+        );
+    }
+};
+
+} // stl
+
+template<
+    class Archive, 
+    class Key, 
+    class HashFcn, 
+    class EqualKey,
+    class Allocator
+>
+inline void save(
+    Archive & ar,
+    const BOOST_STD_EXTENSION_NAMESPACE::hash_map<
+        Key, HashFcn, EqualKey, Allocator
+    > &t,
+    const unsigned int file_version
+){
+    boost::serialization::stl::save_hash_collection<
+        Archive, 
+        BOOST_STD_EXTENSION_NAMESPACE::hash_map<
+            Key, HashFcn, EqualKey, Allocator
+        >
+    >(ar, t);
+}
+
+template<
+    class Archive, 
+    class Key, 
+    class HashFcn, 
+    class EqualKey,
+    class Allocator
+>
+inline void load(
+    Archive & ar,
+    BOOST_STD_EXTENSION_NAMESPACE::hash_map<
+        Key, HashFcn, EqualKey, Allocator
+    > &t,
+    const unsigned int file_version
+){
+    boost::serialization::stl::load_hash_collection<
+        Archive,
+        BOOST_STD_EXTENSION_NAMESPACE::hash_map<
+            Key, HashFcn, EqualKey, Allocator
+        >,
+        boost::serialization::stl::archive_input_hash_map<
+            Archive, 
+            BOOST_STD_EXTENSION_NAMESPACE::hash_map<
+                Key, HashFcn, EqualKey, Allocator
+            >
+        >
+    >(ar, t);
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<
+    class Archive, 
+    class Key, 
+    class HashFcn, 
+    class EqualKey,
+    class Allocator
+>
+inline void serialize(
+    Archive & ar,
+    BOOST_STD_EXTENSION_NAMESPACE::hash_map<
+        Key, HashFcn, EqualKey, Allocator
+    > &t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+// hash_multimap
+template<
+    class Archive, 
+    class Key, 
+    class HashFcn, 
+    class EqualKey,
+    class Allocator
+>
+inline void save(
+    Archive & ar,
+    const BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<
+        Key, HashFcn, EqualKey, Allocator
+    > &t,
+    const unsigned int file_version
+){
+    boost::serialization::stl::save_hash_collection<
+        Archive, 
+        BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<
+            Key, HashFcn, EqualKey, Allocator
+        >
+    >(ar, t);
+}
+
+template<
+    class Archive, 
+    class Key, 
+    class HashFcn, 
+    class EqualKey,
+    class Allocator
+>
+inline void load(
+    Archive & ar,
+    BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<
+        Key, HashFcn, EqualKey, Allocator
+    > &t,
+    const unsigned int file_version
+){
+    boost::serialization::stl::load_hash_collection<
+        Archive,
+        BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<
+            Key, HashFcn, EqualKey, Allocator
+        >,
+        boost::serialization::stl::archive_input_hash_multimap<
+            Archive, 
+            BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<
+                Key, HashFcn, EqualKey, Allocator
+            >
+        >
+    >(ar, t);
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<
+    class Archive, 
+    class Key, 
+    class HashFcn, 
+    class EqualKey,
+    class Allocator
+>
+inline void serialize(
+    Archive & ar,
+    BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<
+        Key, HashFcn, EqualKey, Allocator
+    > &t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+} // namespace serialization
+} // namespace boost
+
+#endif // BOOST_HAS_HASH
+#endif // BOOST_SERIALIZATION_HASH_MAP_HPP
diff --git a/SRC/Serialization/hash_set.hpp b/SRC/Serialization/hash_set.hpp
new file mode 100755
index 0000000..7ec50b9
--- /dev/null
+++ b/SRC/Serialization/hash_set.hpp
@@ -0,0 +1,221 @@
+#ifndef  BOOST_SERIALIZATION_HASH_SET_HPP
+#define BOOST_SERIALIZATION_HASH_SET_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// hash_set.hpp: serialization for stl hash_set templates
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_HAS_HASH
+#include BOOST_HASH_SET_HEADER
+
+#include <Serialization/hash_collections_save_imp.hpp>
+#include <Serialization/hash_collections_load_imp.hpp>
+#include <Serialization/split_free.hpp>
+
+namespace boost { 
+namespace serialization {
+
+namespace stl {
+
+// hash_set input
+template<class Archive, class Container>
+struct archive_input_hash_set
+{
+    inline void operator()(
+        Archive &ar, 
+        Container &s, 
+        const unsigned int v
+    ){
+        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
+        detail::stack_construct<Archive, type> t(ar, v);
+        // borland fails silently w/o full namespace
+        ar >> boost::serialization::make_nvp("item", t.reference());
+        std::pair<BOOST_DEDUCED_TYPENAME Container::const_iterator, bool> result = 
+            s.insert(t.reference());
+        if(result.second)
+            ar.reset_object_address(& (* result.first), & t.reference());
+    }
+};
+
+// hash_multiset input
+template<class Archive, class Container>
+struct archive_input_hash_multiset
+{
+    inline void operator()(
+        Archive &ar, 
+        Container &s, 
+        const unsigned int v
+    ){
+        typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
+        detail::stack_construct<Archive, type> t(ar, v);
+        // borland fails silently w/o full namespace
+        ar >> boost::serialization::make_nvp("item", t.reference());
+        BOOST_DEDUCED_TYPENAME Container::const_iterator result 
+            = s.insert(t.reference());
+        ar.reset_object_address(& (* result), & t.reference());
+    }
+};
+
+} // stl
+
+template<
+    class Archive, 
+    class Key, 
+    class HashFcn, 
+    class EqualKey,
+    class Allocator
+>
+inline void save(
+    Archive & ar,
+    const BOOST_STD_EXTENSION_NAMESPACE::hash_set<
+        Key, HashFcn, EqualKey, Allocator
+    > &t,
+    const unsigned int file_version
+){
+    boost::serialization::stl::save_hash_collection<
+        Archive, 
+        BOOST_STD_EXTENSION_NAMESPACE::hash_set<
+            Key, HashFcn, EqualKey, Allocator
+        > 
+    >(ar, t);
+}
+
+template<
+    class Archive, 
+    class Key, 
+    class HashFcn, 
+    class EqualKey,
+    class Allocator
+>
+inline void load(
+    Archive & ar,
+    BOOST_STD_EXTENSION_NAMESPACE::hash_set<
+        Key, HashFcn, EqualKey, Allocator
+    > &t,
+    const unsigned int file_version
+){
+    boost::serialization::stl::load_hash_collection<
+        Archive,
+        BOOST_STD_EXTENSION_NAMESPACE::hash_set<
+            Key, HashFcn, EqualKey, Allocator
+        >,
+        boost::serialization::stl::archive_input_hash_set<
+            Archive, 
+            BOOST_STD_EXTENSION_NAMESPACE::hash_set<
+                Key, HashFcn, EqualKey, Allocator
+            >
+        >
+    >(ar, t);
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<
+    class Archive, 
+    class Key, 
+    class HashFcn, 
+    class EqualKey,
+    class Allocator
+>
+inline void serialize(
+    Archive & ar,
+    BOOST_STD_EXTENSION_NAMESPACE::hash_set<
+        Key, HashFcn, EqualKey, Allocator
+    > &t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+// hash_multiset
+template<
+    class Archive, 
+    class Key, 
+    class HashFcn, 
+    class EqualKey,
+    class Allocator
+>
+inline void save(
+    Archive & ar,
+    const BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<
+        Key, HashFcn, EqualKey, Allocator
+    > &t,
+    const unsigned int file_version
+){
+    boost::serialization::stl::save_hash_collection<
+        Archive, 
+        BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<
+            Key, HashFcn, EqualKey, Allocator
+        > 
+    >(ar, t);
+}
+
+template<
+    class Archive, 
+    class Key, 
+    class HashFcn, 
+    class EqualKey,
+    class Allocator
+>
+inline void load(
+    Archive & ar,
+    BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<
+        Key, HashFcn, EqualKey, Allocator
+    > &t,
+    const unsigned int file_version
+){
+    boost::serialization::stl::load_hash_collection<
+        Archive,
+        BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<
+            Key, HashFcn, EqualKey, Allocator
+        >,
+        boost::serialization::stl::archive_input_hash_multiset<
+            Archive,
+            BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<
+                Key, HashFcn, EqualKey, Allocator
+            > 
+        >
+    >(ar, t);
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<
+    class Archive, 
+    class Key, 
+    class HashFcn, 
+    class EqualKey,
+    class Allocator
+>
+inline void serialize(
+    Archive & ar,
+    BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<
+        Key, HashFcn, EqualKey, Allocator
+    > & t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+} // namespace serialization
+} // namespace boost
+
+#include <Serialization/collection_traits.hpp>
+
+BOOST_SERIALIZATION_COLLECTION_TRAITS(BOOST_STD_EXTENSION_NAMESPACE::hash_set)
+BOOST_SERIALIZATION_COLLECTION_TRAITS(BOOST_STD_EXTENSION_NAMESPACE::hash_multiset)
+
+#endif // BOOST_HAS_HASH
+#endif // BOOST_SERIALIZATION_HASH_SET_HPP
diff --git a/SRC/Boost/boost/serialization/is_bitwise_serializable.hpp b/SRC/Serialization/is_bitwise_serializable.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/is_bitwise_serializable.hpp
rename to SRC/Serialization/is_bitwise_serializable.hpp
diff --git a/SRC/Serialization/item_version_type.hpp b/SRC/Serialization/item_version_type.hpp
new file mode 100755
index 0000000..4d6ef1b
--- /dev/null
+++ b/SRC/Serialization/item_version_type.hpp
@@ -0,0 +1,68 @@
+#ifndef BOOST_SERIALIZATION_ITEM_VERSION_TYPE_HPP
+#define BOOST_SERIALIZATION_ITEM_VERSION_TYPE_HPP
+
+// (C) Copyright 2010 Robert Ramey
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include <boost/cstdint.hpp> // uint_least8_t
+#include <boost/integer_traits.hpp>
+#include <Serialization/level.hpp>
+#include <Serialization/is_bitwise_serializable.hpp>
+
+// fixes broken example build on x86_64-linux-gnu-gcc-4.6.0
+#include <boost/assert.hpp>
+
+namespace boost { 
+namespace serialization {
+
+#if defined(_MSC_VER)
+#pragma warning( push )
+#pragma warning( disable : 4244 4267 )
+#endif
+
+class item_version_type {
+private:
+    typedef unsigned int base_type;
+    base_type t;
+public:
+    // should be private - but MPI fails if it's not!!!
+    item_version_type(): t(0) {};
+    explicit item_version_type(const unsigned int t_) : t(t_){
+        BOOST_ASSERT(t_ <= boost::integer_traits<base_type>::const_max);
+    }
+    item_version_type(const item_version_type & t_) : 
+        t(t_.t)
+    {}
+    item_version_type & operator=(item_version_type rhs){
+        t = rhs.t; 
+        return *this;
+    }
+    // used for text output
+    operator base_type () const {
+        return t;
+    }                
+    // used for text input
+    operator base_type & () {
+        return t;
+    }
+    bool operator==(const item_version_type & rhs) const {
+        return t == rhs.t;
+    } 
+    bool operator<(const item_version_type & rhs) const {
+        return t < rhs.t;
+    }
+};
+
+#if defined(_MSC_VER)
+#pragma warning( pop )
+#endif
+
+} } // end namespace boost::serialization
+
+BOOST_IS_BITWISE_SERIALIZABLE(item_version_type)
+
+BOOST_CLASS_IMPLEMENTATION(item_version_type, primitive_type)
+
+#endif //BOOST_SERIALIZATION_ITEM_VERSION_TYPE_HPP
diff --git a/SRC/Serialization/level.hpp b/SRC/Serialization/level.hpp
new file mode 100755
index 0000000..383453e
--- /dev/null
+++ b/SRC/Serialization/level.hpp
@@ -0,0 +1,125 @@
+#ifndef BOOST_SERIALIZATION_LEVEL_HPP
+#define BOOST_SERIALIZATION_LEVEL_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// level.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <boost/type_traits/is_fundamental.hpp>
+#include <boost/type_traits/is_enum.hpp>
+#include <boost/type_traits/is_array.hpp>
+#include <boost/type_traits/is_class.hpp>
+#include <boost/type_traits/is_base_and_derived.hpp>
+
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/int.hpp>
+#include <boost/mpl/integral_c.hpp>
+#include <boost/mpl/integral_c_tag.hpp>
+#include <boost/mpl/aux_/nttp_decl.hpp>
+
+#include <Serialization/level_enum.hpp>
+
+namespace boost {
+namespace serialization {
+
+struct basic_traits;
+
+// default serialization implementation level
+template<class T>
+struct implementation_level_impl {
+    template<class U>
+    struct traits_class_level {
+        typedef BOOST_DEDUCED_TYPENAME U::level type;
+    };
+
+    typedef mpl::integral_c_tag tag;
+    // note: at least one compiler complained w/o the full qualification
+    // on basic traits below
+    typedef
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            is_base_and_derived<boost::serialization::basic_traits, T>,
+            traits_class_level< T >,
+        //else
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            is_fundamental< T >,
+            mpl::int_<primitive_type>,
+        //else
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            is_class< T >,
+            mpl::int_<object_class_info>,
+        //else
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            is_array< T >,
+            #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
+                mpl::int_<not_serializable>,
+            #else
+                mpl::int_<object_serializable>,
+            #endif
+        //else
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            is_enum< T >,
+            //#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
+            //    mpl::int_<not_serializable>,
+            //#else
+                mpl::int_<primitive_type>,
+            //#endif
+        //else
+            mpl::int_<not_serializable>
+        >
+        >
+        >
+        >
+        >::type type;
+        // vc 7.1 doesn't like enums here
+    BOOST_STATIC_CONSTANT(int, value = type::value);
+};
+
+template<class T>
+struct implementation_level : 
+    public implementation_level_impl<const T>
+{
+};
+
+template<class T, BOOST_MPL_AUX_NTTP_DECL(int, L) >
+inline bool operator>=(implementation_level< T > t, enum level_type l)
+{
+    return t.value >= (int)l;
+}
+
+} // namespace serialization
+} // namespace boost
+
+// specify the level of serialization implementation for the class
+// require that class info saved when versioning is used
+#define BOOST_CLASS_IMPLEMENTATION(T, E)                 \
+    namespace boost {                                    \
+    namespace serialization {                            \
+    template <>                                          \
+    struct implementation_level_impl< const T >                     \
+    {                                                    \
+        typedef mpl::integral_c_tag tag;                 \
+        typedef mpl::int_< E > type;                     \
+        BOOST_STATIC_CONSTANT(                           \
+            int,                                         \
+            value = implementation_level_impl::type::value    \
+        );                                               \
+    };                                                   \
+    }                                                    \
+    }
+    /**/
+
+#endif // BOOST_SERIALIZATION_LEVEL_HPP
diff --git a/SRC/Boost/boost/serialization/level_enum.hpp b/SRC/Serialization/level_enum.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/level_enum.hpp
rename to SRC/Serialization/level_enum.hpp
diff --git a/SRC/Serialization/list.hpp b/SRC/Serialization/list.hpp
new file mode 100755
index 0000000..d4d2194
--- /dev/null
+++ b/SRC/Serialization/list.hpp
@@ -0,0 +1,77 @@
+#ifndef BOOST_SERIALIZATION_LIST_HPP
+#define BOOST_SERIALIZATION_LIST_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// list.hpp: serialization for stl list templates
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <list>
+
+#include <boost/config.hpp>
+
+#include <Serialization/collections_save_imp.hpp>
+#include <Serialization/collections_load_imp.hpp>
+#include <Serialization/split_free.hpp>
+
+namespace boost { 
+namespace serialization {
+
+template<class Archive, class U, class Allocator>
+inline void save(
+    Archive & ar,
+    const std::list<U, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    boost::serialization::stl::save_collection<
+        Archive, 
+        std::list<U, Allocator> 
+    >(ar, t);
+}
+
+template<class Archive, class U, class Allocator>
+inline void load(
+    Archive & ar,
+    std::list<U, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    boost::serialization::stl::load_collection<
+        Archive,
+        std::list<U, Allocator>,
+        boost::serialization::stl::archive_input_seq<
+            Archive, 
+            std::list<U, Allocator> 
+        >,
+        boost::serialization::stl::no_reserve_imp<std::list<U, Allocator> >
+    >(ar, t);
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<class Archive, class U, class Allocator>
+inline void serialize(
+    Archive & ar,
+    std::list<U, Allocator> & t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+} // serialization
+} // namespace boost
+
+#include <Serialization/collection_traits.hpp>
+
+BOOST_SERIALIZATION_COLLECTION_TRAITS(std::list)
+
+#endif // BOOST_SERIALIZATION_LIST_HPP
diff --git a/SRC/Serialization/map.hpp b/SRC/Serialization/map.hpp
new file mode 100755
index 0000000..d5a0114
--- /dev/null
+++ b/SRC/Serialization/map.hpp
@@ -0,0 +1,118 @@
+#ifndef  BOOST_SERIALIZATION_MAP_HPP
+#define BOOST_SERIALIZATION_MAP_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// serialization/map.hpp:
+// serialization for stl map templates
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <map>
+
+#include <boost/config.hpp>
+
+#include <Serialization/utility.hpp>
+#include <Serialization/collections_save_imp.hpp>
+#include <Serialization/collections_load_imp.hpp>
+#include <Serialization/split_free.hpp>
+
+namespace boost { 
+namespace serialization {
+
+template<class Archive, class Type, class Key, class Compare, class Allocator >
+inline void save(
+    Archive & ar,
+    const std::map<Key, Type, Compare, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    boost::serialization::stl::save_collection<
+        Archive, 
+        std::map<Key, Type, Compare, Allocator> 
+    >(ar, t);
+}
+
+template<class Archive, class Type, class Key, class Compare, class Allocator >
+inline void load(
+    Archive & ar,
+    std::map<Key, Type, Compare, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    boost::serialization::stl::load_collection<
+        Archive,
+        std::map<Key, Type, Compare, Allocator>,
+        boost::serialization::stl::archive_input_map<
+            Archive, std::map<Key, Type, Compare, Allocator> >,
+            boost::serialization::stl::no_reserve_imp<std::map<
+                Key, Type, Compare, Allocator
+            >
+        >
+    >(ar, t);
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<class Archive, class Type, class Key, class Compare, class Allocator >
+inline void serialize(
+    Archive & ar,
+    std::map<Key, Type, Compare, Allocator> &t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+// multimap
+template<class Archive, class Type, class Key, class Compare, class Allocator >
+inline void save(
+    Archive & ar,
+    const std::multimap<Key, Type, Compare, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    boost::serialization::stl::save_collection<
+        Archive, 
+        std::multimap<Key, Type, Compare, Allocator> 
+    >(ar, t);
+}
+
+template<class Archive, class Type, class Key, class Compare, class Allocator >
+inline void load(
+    Archive & ar,
+    std::multimap<Key, Type, Compare, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    boost::serialization::stl::load_collection<
+        Archive,
+        std::multimap<Key, Type, Compare, Allocator>,
+        boost::serialization::stl::archive_input_map<
+            Archive, std::multimap<Key, Type, Compare, Allocator> 
+        >,
+        boost::serialization::stl::no_reserve_imp<
+            std::multimap<Key, Type, Compare, Allocator> 
+        >
+    >(ar, t);
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<class Archive, class Type, class Key, class Compare, class Allocator >
+inline void serialize(
+    Archive & ar,
+    std::multimap<Key, Type, Compare, Allocator> &t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+} // serialization
+} // namespace boost
+
+#endif // BOOST_SERIALIZATION_MAP_HPP
diff --git a/SRC/Serialization/nvp.hpp b/SRC/Serialization/nvp.hpp
new file mode 100755
index 0000000..98e98dc
--- /dev/null
+++ b/SRC/Serialization/nvp.hpp
@@ -0,0 +1,144 @@
+#ifndef BOOST_SERIALIZATION_NVP_HPP
+#define BOOST_SERIALIZATION_NVP_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// nvp.hpp: interface for serialization system.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <utility>
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+// supress noise
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
+# pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <boost/mpl/integral_c.hpp>
+#include <boost/mpl/integral_c_tag.hpp>
+
+#include <Serialization/level.hpp>
+#include <Serialization/tracking.hpp>
+#include <Serialization/split_member.hpp>
+#include <Serialization/base_object.hpp>
+#include <Serialization/traits.hpp>
+#include <Serialization/wrapper.hpp>
+
+namespace boost {
+namespace serialization {
+
+template<class T>
+struct nvp : 
+    public std::pair<const char *, T *>,
+    public wrapper_traits<const nvp< T > >
+{
+    explicit nvp(const char * name_, T & t) :
+        // note: redundant cast works around borland issue
+        // note: added _ to suppress useless gcc warning
+        std::pair<const char *, T *>(name_, (T*)(& t))
+    {}
+    nvp(const nvp & rhs) : 
+        // note: redundant cast works around borland issue
+        std::pair<const char *, T *>(rhs.first, (T*)rhs.second)
+    {}
+
+    const char * name() const {
+        return this->first;
+    }
+    T & value() const {
+        return *(this->second);
+    }
+
+    const T & const_value() const {
+        return *(this->second);
+    }
+
+    // True64 compiler complains with a warning about the use of
+    // the name "Archive" hiding some higher level usage.  I'm sure this
+    // is an error but I want to accomodated as it generates a long warning
+    // listing and might be related to a lot of test failures.
+    // default treatment for name-value pairs. The name is
+    // just discarded and only the value is serialized. 
+    template<class Archivex>
+    void save(
+        Archivex & ar, 
+        const unsigned int /* file_version */
+    ) const {
+        // CodeWarrior 8.x can't seem to resolve the << op for a rhs of "const T *"
+        ar.operator<<(const_value());
+    }
+    template<class Archivex>
+    void load(
+        Archivex & ar, 
+        const unsigned int /* file_version */
+    ){
+        // CodeWarrior 8.x can't seem to resolve the >> op for a rhs of "const T *"
+        ar.operator>>(value());
+    }
+    BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+template<class T>
+inline
+#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+const
+#endif
+nvp< T > make_nvp(const char * name, T & t){
+    return nvp< T >(name, t);
+}
+
+// to maintain efficiency and portability, we want to assign
+// specific serialization traits to all instances of this wrappers.
+// we can't strait forward method below as it depends upon
+// Partial Template Specialization and doing so would mean that wrappers
+// wouldn't be treated the same on different platforms.  This would
+// break archive portability. Leave this here as reminder not to use it !!!
+#if 0 // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+template <class T>
+struct implementation_level<nvp< T > >
+{
+    typedef mpl::integral_c_tag tag;
+    typedef mpl::int_<object_serializable> type;
+    BOOST_STATIC_CONSTANT(int, value = implementation_level::type::value);
+};
+
+// nvp objects are generally created on the stack and are never tracked
+template<class T>
+struct tracking_level<nvp< T > >
+{
+    typedef mpl::integral_c_tag tag;
+    typedef mpl::int_<track_never> type;
+    BOOST_STATIC_CONSTANT(int, value = tracking_level::type::value);
+};
+
+#endif
+
+} // seralization
+} // boost
+
+#include <boost/preprocessor/stringize.hpp>
+
+#define BOOST_SERIALIZATION_NVP(name)                              \
+    boost::serialization::make_nvp(BOOST_PP_STRINGIZE(name), name)
+/**/
+
+#define BOOST_SERIALIZATION_BASE_OBJECT_NVP(name)                  \
+    boost::serialization::make_nvp(                                \
+        BOOST_PP_STRINGIZE(name),                                  \
+        boost::serialization::base_object<name >(*this)            \
+    )
+/**/
+
+#endif // BOOST_SERIALIZATION_NVP_HPP
diff --git a/SRC/Serialization/optional.hpp b/SRC/Serialization/optional.hpp
new file mode 100755
index 0000000..8b16f9c
--- /dev/null
+++ b/SRC/Serialization/optional.hpp
@@ -0,0 +1,127 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+
+// (C) Copyright 2002-4 Pavel Vozenilek . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// Provides non-intrusive serialization for boost::optional.
+
+#ifndef BOOST_SERIALIZATION_OPTIONAL_HPP_
+#define BOOST_SERIALIZATION_OPTIONAL_HPP_
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+#include <boost/config.hpp>
+
+#include <Serialization/archive/detail/basic_iarchive.hpp>
+
+#include <boost/optional.hpp>
+#include <Serialization/item_version_type.hpp>
+#include <Serialization/split_free.hpp>
+#include <Serialization/level.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/version.hpp>
+#include <Serialization/detail/stack_constructor.hpp>
+
+// function specializations must be defined in the appropriate
+// namespace - boost::serialization
+namespace boost { 
+namespace serialization {
+
+template<class Archive, class T>
+void save(
+    Archive & ar, 
+    const boost::optional< T > & t, 
+    const unsigned int /*version*/
+){
+    const bool tflag = t.is_initialized();
+    ar << boost::serialization::make_nvp("initialized", tflag);
+    if (tflag){
+        const boost::serialization::item_version_type item_version(version< T >::value);
+        #if 0
+        const boost::archive::library_version_type library_version(
+            ar.get_library_version()
+        };
+        if(boost::archive::library_version_type(3) < library_version){
+            ar << BOOST_SERIALIZATION_NVP(item_version);
+        }
+        #else
+            ar << BOOST_SERIALIZATION_NVP(item_version);
+        #endif
+        ar << boost::serialization::make_nvp("value", *t);
+    }
+}
+
+template<class Archive, class T>
+void load(
+    Archive & ar, 
+    boost::optional< T > & t, 
+    const unsigned int /*version*/
+){
+    bool tflag;
+    ar >> boost::serialization::make_nvp("initialized", tflag);
+    if (tflag){
+        boost::serialization::item_version_type item_version(0);
+        boost::archive::library_version_type library_version(
+            ar.get_library_version()
+        );
+        if(boost::archive::library_version_type(3) < library_version){
+            // item_version is handled as an attribute so it doesnt need an NVP
+           ar >> BOOST_SERIALIZATION_NVP(item_version);
+        }
+        detail::stack_construct<Archive, T> aux(ar, item_version);
+        ar >> boost::serialization::make_nvp("value", aux.reference());
+        t.reset(aux.reference());
+    }
+    else {
+        t.reset();
+    }
+}
+
+template<class Archive, class T>
+void serialize(
+    Archive & ar, 
+    boost::optional< T > & t, 
+    const unsigned int version
+){
+    boost::serialization::split_free(ar, t, version);
+}
+
+// the following would be slightly more efficient.  But it
+// would mean that archives created with programs that support
+// TPS wouldn't be readable by programs that don't support TPS.
+// Hence we decline to support this otherwise convenient optimization.
+//#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#if 0
+
+template <class T>
+struct implementation_level<optional< T > >
+{
+    typedef mpl::integral_c_tag tag;
+    typedef mpl::int_<boost::serialization::object_serializable> type;
+    BOOST_STATIC_CONSTANT(
+        int , 
+        value = boost::serialization::implementation_level::type::value
+    );
+};
+
+template<class T>
+struct tracking_level<optional< T > >
+{
+    typedef mpl::integral_c_tag tag;
+    typedef mpl::int_<boost::serialization::track_never> type;
+    BOOST_STATIC_CONSTANT(
+        int , 
+        value = boost::serialization::tracking_level::type::value
+    );
+};
+
+#endif
+
+} // serialization
+} // namespace boost
+
+#endif // BOOST_SERIALIZATION_OPTIONAL_HPP_
diff --git a/SRC/Boost/boost/serialization/pfto.hpp b/SRC/Serialization/pfto.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/pfto.hpp
rename to SRC/Serialization/pfto.hpp
diff --git a/SRC/Serialization/scoped_ptr.hpp b/SRC/Serialization/scoped_ptr.hpp
new file mode 100755
index 0000000..30cccfa
--- /dev/null
+++ b/SRC/Serialization/scoped_ptr.hpp
@@ -0,0 +1,58 @@
+#ifndef BOOST_SERIALIZATION_SCOPED_PTR_HPP_VP_2003_10_30
+#define BOOST_SERIALIZATION_SCOPED_PTR_HPP_VP_2003_10_30
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+//  Copyright (c) 2003 Vladimir Prus.
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// Provides non-intrusive serialization for boost::scoped_ptr
+// Does not allow to serialize scoped_ptr's to builtin types.
+
+#include <boost/config.hpp>
+
+#include <boost/scoped_ptr.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/split_free.hpp>
+
+namespace boost { 
+namespace serialization {
+    
+    template<class Archive, class T>
+    void save(
+        Archive & ar, 
+        const boost::scoped_ptr< T > & t, 
+        const unsigned int /* version */
+    ){
+        T* r = t.get();
+        ar << boost::serialization::make_nvp("scoped_ptr", r);
+    }
+
+    template<class Archive, class T>
+    void load(
+        Archive & ar, 
+        boost::scoped_ptr< T > & t, 
+        const unsigned int /* version */
+    ){
+        T* r;
+        ar >> boost::serialization::make_nvp("scoped_ptr", r);
+        t.reset(r); 
+    }
+
+    template<class Archive, class T>
+    void serialize(
+        Archive& ar, 
+        boost::scoped_ptr< T >& t, 
+        const unsigned int version
+    ){
+        boost::serialization::split_free(ar, t, version);
+    }
+
+} // namespace serialization
+} // namespace boost
+
+#endif // BOOST_SERIALIZATION_SCOPED_PTR_HPP_VP_2003_10_30
diff --git a/SRC/Serialization/serialization.hpp b/SRC/Serialization/serialization.hpp
new file mode 100755
index 0000000..ec44003
--- /dev/null
+++ b/SRC/Serialization/serialization.hpp
@@ -0,0 +1,167 @@
+#ifndef BOOST_SERIALIZATION_SERIALIZATION_HPP
+#define BOOST_SERIALIZATION_SERIALIZATION_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1310)
+#  pragma warning (disable : 4675) // suppress ADL warning
+#endif
+
+#include <boost/config.hpp>
+#include <Serialization/strong_typedef.hpp>
+#include <Serialization/pfto.hpp>
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// serialization.hpp: interface for serialization system.
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+//////////////////////////////////////////////////////////////////////
+// public interface to serialization. 
+
+/////////////////////////////////////////////////////////////////////////////
+// layer 0 - intrusive verison
+// declared and implemented for each user defined class to be serialized
+//
+//  template<Archive>
+//  serialize(Archive &ar, const unsigned int file_version){
+//      ar & base_object<base>(*this) & member1 & member2 ... ;
+//  }
+
+/////////////////////////////////////////////////////////////////////////////
+// layer 1 - layer that routes member access through the access class.
+// this is what permits us to grant access to private class member functions
+// by specifying friend class boost::serialization::access
+
+#include <Serialization/access.hpp>
+
+/////////////////////////////////////////////////////////////////////////////
+// layer 2 - default implementation of non-intrusive serialization.
+//
+// note the usage of function overloading to compensate that C++ does not
+// currently support Partial Template Specialization for function templates 
+// We have declared the version number as "const unsigned long".  
+// Overriding templates for specific data types should declare the version
+// number as "const unsigned int". Template matching will first be applied
+// to functions with the same version types - that is the overloads.  
+// If there is no declared function prototype that matches, the second argument
+// will be converted to "const unsigned long" and a match will be made with 
+// one of the default template functions below.
+
+namespace boost {
+namespace serialization {
+
+BOOST_STRONG_TYPEDEF(unsigned int, version_type)
+
+// default implementation - call the member function "serialize"
+template<class Archive, class T>
+inline void serialize(
+    Archive & ar, T & t, const BOOST_PFTO unsigned int file_version
+){
+    access::serialize(ar, t, static_cast<unsigned int>(file_version));
+}
+
+// save data required for construction
+template<class Archive, class T>
+inline void save_construct_data(
+    Archive & /*ar*/, 
+    const T * /*t*/, 
+    const BOOST_PFTO unsigned int /*file_version */
+){
+    // default is to save no data because default constructor
+    // requires no arguments.
+}
+
+// load data required for construction and invoke constructor in place
+template<class Archive, class T>
+inline void load_construct_data(
+    Archive & /*ar*/, 
+    T * t, 
+    const BOOST_PFTO unsigned int /*file_version*/
+){
+    // default just uses the default constructor.  going
+    // through access permits usage of otherwise private default
+    // constructor
+    access::construct(t);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// layer 3 - move call into serialization namespace so that ADL will function
+// in the manner we desire.
+//
+// on compilers which don't implement ADL. only the current namespace
+// i.e. boost::serialization will be searched.
+// 
+// on compilers which DO implement ADL
+// serialize overrides can be in any of the following
+// 
+// 1) same namepace as Archive
+// 2) same namespace as T
+// 3) boost::serialization
+//
+// Due to Martin Ecker
+
+template<class Archive, class T>
+inline void serialize_adl(
+    Archive & ar, 
+    T & t, 
+    const unsigned int file_version
+){
+    // note usage of function overloading to delay final resolution
+    // until the point of instantiation.  This works around the two-phase
+    // lookup "feature" which inhibits redefintion of a default function
+    // template implementation. Due to Robert Ramey
+    //
+    // Note that this trick generates problems for compiles which don't support
+    // PFTO, suppress it here.  As far as we know, there are no compilers
+    // which fail to support PFTO while supporting two-phase lookup.
+    #if ! defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
+        const version_type v(file_version);
+        serialize(ar, t, v);
+    #else
+        serialize(ar, t, file_version);
+    #endif
+}
+
+template<class Archive, class T>
+inline void save_construct_data_adl(
+    Archive & ar, 
+    const T * t, 
+    const unsigned int file_version
+){
+    // see above
+    #if ! defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
+        const version_type v(file_version);
+        save_construct_data(ar, t, v);
+    #else
+        save_construct_data(ar, t, file_version);
+    #endif
+}
+
+template<class Archive, class T>
+inline void load_construct_data_adl(
+    Archive & ar, 
+    T * t, 
+    const unsigned int file_version
+){
+    // see above comment
+    #if ! defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
+        const version_type v(file_version);
+        load_construct_data(ar, t, v);
+    #else
+        load_construct_data(ar, t, file_version);
+    #endif
+}
+
+} // namespace serialization
+} // namespace boost
+
+#endif //BOOST_SERIALIZATION_SERIALIZATION_HPP
diff --git a/SRC/Serialization/set.hpp b/SRC/Serialization/set.hpp
new file mode 100755
index 0000000..1b09b27
--- /dev/null
+++ b/SRC/Serialization/set.hpp
@@ -0,0 +1,120 @@
+#ifndef  BOOST_SERIALIZATION_SET_HPP
+#define BOOST_SERIALIZATION_SET_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// set.hpp: serialization for stl set templates
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <set>
+
+#include <boost/config.hpp>
+
+#include <Serialization/collections_save_imp.hpp>
+#include <Serialization/collections_load_imp.hpp>
+#include <Serialization/split_free.hpp>
+
+namespace boost { 
+namespace serialization {
+
+template<class Archive, class Key, class Compare, class Allocator >
+inline void save(
+    Archive & ar,
+    const std::set<Key, Compare, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    boost::serialization::stl::save_collection<
+        Archive, std::set<Key, Compare, Allocator> 
+    >(ar, t);
+}
+
+template<class Archive, class Key, class Compare, class Allocator >
+inline void load(
+    Archive & ar,
+    std::set<Key, Compare, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    boost::serialization::stl::load_collection<
+        Archive,
+        std::set<Key, Compare, Allocator>,
+        boost::serialization::stl::archive_input_set<
+            Archive, std::set<Key, Compare, Allocator> 
+        >,
+        boost::serialization::stl::no_reserve_imp<std::set<
+            Key, Compare, Allocator> 
+        >
+    >(ar, t);
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<class Archive, class Key, class Compare, class Allocator >
+inline void serialize(
+    Archive & ar,
+    std::set<Key, Compare, Allocator> & t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+// multiset
+template<class Archive, class Key, class Compare, class Allocator >
+inline void save(
+    Archive & ar,
+    const std::multiset<Key, Compare, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    boost::serialization::stl::save_collection<
+        Archive, 
+        std::multiset<Key, Compare, Allocator> 
+    >(ar, t);
+}
+
+template<class Archive, class Key, class Compare, class Allocator >
+inline void load(
+    Archive & ar,
+    std::multiset<Key, Compare, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    boost::serialization::stl::load_collection<
+        Archive,
+        std::multiset<Key, Compare, Allocator>,
+        boost::serialization::stl::archive_input_set<
+            Archive, std::multiset<Key, Compare, Allocator> 
+        >,
+        boost::serialization::stl::no_reserve_imp<
+            std::multiset<Key, Compare, Allocator> 
+        >
+    >(ar, t);
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<class Archive, class Key, class Compare, class Allocator >
+inline void serialize(
+    Archive & ar,
+    std::multiset<Key, Compare, Allocator> & t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+} // namespace serialization
+} // namespace boost
+
+#include <Serialization/collection_traits.hpp>
+
+BOOST_SERIALIZATION_COLLECTION_TRAITS(std::set)
+BOOST_SERIALIZATION_COLLECTION_TRAITS(std::multiset)
+
+#endif // BOOST_SERIALIZATION_SET_HPP
diff --git a/SRC/Serialization/shared_ptr.hpp b/SRC/Serialization/shared_ptr.hpp
new file mode 100755
index 0000000..7dd8917
--- /dev/null
+++ b/SRC/Serialization/shared_ptr.hpp
@@ -0,0 +1,177 @@
+#ifndef BOOST_SERIALIZATION_SHARED_PTR_HPP
+#define BOOST_SERIALIZATION_SHARED_PTR_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// shared_ptr.hpp: serialization for boost shared pointer
+
+// (C) Copyright 2004 Robert Ramey and Martin Ecker
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // NULL
+
+#include <boost/config.hpp>
+#include <boost/mpl/integral_c.hpp>
+#include <boost/mpl/integral_c_tag.hpp>
+
+#include <boost/detail/workaround.hpp>
+#include <boost/shared_ptr.hpp>
+
+#include <Serialization/split_free.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/version.hpp>
+#include <Serialization/tracking.hpp>
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// shared_ptr serialization traits
+// version 1 to distinguish from boost 1.32 version. Note: we can only do this
+// for a template when the compiler supports partial template specialization
+
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+    namespace boost {
+    namespace serialization{
+        template<class T>
+        struct version< ::boost::shared_ptr< T > > {
+            typedef mpl::integral_c_tag tag;
+            #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206))
+            typedef BOOST_DEDUCED_TYPENAME mpl::int_<1> type;
+            #else
+            typedef mpl::int_<1> type;
+            #endif
+            #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570))
+            BOOST_STATIC_CONSTANT(int, value = 1);
+            #else
+            BOOST_STATIC_CONSTANT(int, value = type::value);
+            #endif
+        };
+        // don't track shared pointers
+        template<class T>
+        struct tracking_level< ::boost::shared_ptr< T > > { 
+            typedef mpl::integral_c_tag tag;
+            #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206))
+            typedef BOOST_DEDUCED_TYPENAME mpl::int_< ::boost::serialization::track_never> type;
+            #else
+            typedef mpl::int_< ::boost::serialization::track_never> type;
+            #endif
+            #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570))
+            BOOST_STATIC_CONSTANT(int, value = ::boost::serialization::track_never);
+            #else
+            BOOST_STATIC_CONSTANT(int, value = type::value);
+            #endif
+        };
+    }}
+    #define BOOST_SERIALIZATION_SHARED_PTR(T)
+#else
+    // define macro to let users of these compilers do this
+    #define BOOST_SERIALIZATION_SHARED_PTR(T)                         \
+    BOOST_CLASS_VERSION(                                              \
+        ::boost::shared_ptr< T >,                                     \
+        1                                                             \
+    )                                                                 \
+    BOOST_CLASS_TRACKING(                                             \
+        ::boost::shared_ptr< T >,                                     \
+        ::boost::serialization::track_never                           \
+    )                                                                 \
+    /**/
+#endif
+
+namespace boost {
+namespace serialization{
+
+struct null_deleter {
+    void operator()(void const *) const {}
+};
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// serialization for shared_ptr
+
+template<class Archive, class T>
+inline void save(
+    Archive & ar,
+    const boost::shared_ptr< T > &t,
+    const unsigned int /* file_version */
+){
+    // The most common cause of trapping here would be serializing
+    // something like shared_ptr<int>.  This occurs because int
+    // is never tracked by default.  Wrap int in a trackable type
+    BOOST_STATIC_ASSERT((tracking_level< T >::value != track_never));
+    const T * t_ptr = t.get();
+    ar << boost::serialization::make_nvp("px", t_ptr);
+}
+
+#ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
+template<class Archive, class T>
+inline void load(
+    Archive & ar,
+    boost::shared_ptr< T > &t,
+    const unsigned int file_version
+){
+    // The most common cause of trapping here would be serializing
+    // something like shared_ptr<int>.  This occurs because int
+    // is never tracked by default.  Wrap int in a trackable type
+    BOOST_STATIC_ASSERT((tracking_level< T >::value != track_never));
+    T* r;
+    if(file_version < 1){
+        //ar.register_type(static_cast<
+        //    boost_132::detail::sp_counted_base_impl<T *, boost::checked_deleter< T > > *
+        //>(NULL));
+        ar.register_type(static_cast<
+            boost_132::detail::sp_counted_base_impl<T *, null_deleter > *
+        >(NULL));
+        boost_132::shared_ptr< T > sp;
+        ar >> boost::serialization::make_nvp("px", sp.px);
+        ar >> boost::serialization::make_nvp("pn", sp.pn);
+        // got to keep the sps around so the sp.pns don't disappear
+        ar.append(sp);
+        r = sp.get();
+    }
+    else{
+        ar >> boost::serialization::make_nvp("px", r);
+    }
+    ar.reset(t,r);
+}
+
+#else
+template<class Archive, class T>
+inline void load(
+    Archive & ar,
+    boost::shared_ptr< T > &t,
+    const unsigned int /*file_version*/
+){
+    // The most common cause of trapping here would be serializing
+    // something like shared_ptr<int>.  This occurs because int
+    // is never tracked by default.  Wrap int in a trackable type
+    BOOST_STATIC_ASSERT((tracking_level< T >::value != track_never));
+    T* r;
+    ar >> boost::serialization::make_nvp("px", r);
+    ar.reset(t,r);
+}
+#endif
+
+template<class Archive, class T>
+inline void serialize(
+    Archive & ar,
+    boost::shared_ptr< T > &t,
+    const unsigned int file_version
+){
+    // correct shared_ptr serialization depends upon object tracking
+    // being used.
+    BOOST_STATIC_ASSERT(
+        boost::serialization::tracking_level< T >::value
+        != boost::serialization::track_never
+    );
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+} // namespace serialization
+} // namespace boost
+
+#endif // BOOST_SERIALIZATION_SHARED_PTR_HPP
diff --git a/SRC/Serialization/shared_ptr_132.hpp b/SRC/Serialization/shared_ptr_132.hpp
new file mode 100755
index 0000000..693939e
--- /dev/null
+++ b/SRC/Serialization/shared_ptr_132.hpp
@@ -0,0 +1,222 @@
+#ifndef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
+#define BOOST_SERIALIZATION_SHARED_PTR_132_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// shared_ptr.hpp: serialization for boost shared pointer
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// note: totally unadvised hack to gain access to private variables
+// in shared_ptr and shared_count. Unfortunately its the only way to
+// do this without changing shared_ptr and shared_count
+// the best we can do is to detect a conflict here
+#include <boost/config.hpp>
+
+#include <list>
+#include <cstddef> // NULL
+
+#include <Serialization/assume_abstract.hpp>
+#include <Serialization/split_free.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/tracking.hpp>
+#include <Serialization/void_cast.hpp>
+
+// mark base class as an (uncreatable) base class
+#include <Serialization/detail/shared_ptr_132.hpp>
+
+/////////////////////////////////////////////////////////////
+// Maintain a couple of lists of loaded shared pointers of the old previous
+// version (1.32)
+
+namespace boost_132 { 
+namespace serialization {
+namespace detail {
+
+struct null_deleter {
+    void operator()(void const *) const {}
+};
+
+} // namespace detail
+} // namespace serialization
+} // namespace boost_132
+
+/////////////////////////////////////////////////////////////
+// sp_counted_base_impl serialization
+
+namespace boost { 
+namespace serialization {
+
+template<class Archive, class P, class D>
+inline void serialize(
+    Archive & /* ar */,
+    boost_132::detail::sp_counted_base_impl<P, D> & /* t */,
+    const unsigned int /*file_version*/
+){
+    // register the relationship between each derived class
+    // its polymorphic base
+    boost::serialization::void_cast_register<
+        boost_132::detail::sp_counted_base_impl<P, D>,
+        boost_132::detail::sp_counted_base 
+    >(
+        static_cast<boost_132::detail::sp_counted_base_impl<P, D> *>(NULL),
+        static_cast<boost_132::detail::sp_counted_base *>(NULL)
+    );
+}
+
+template<class Archive, class P, class D>
+inline void save_construct_data(
+    Archive & ar,
+    const 
+    boost_132::detail::sp_counted_base_impl<P, D> *t, 
+    const BOOST_PFTO unsigned int /* file_version */
+){
+    // variables used for construction
+    ar << boost::serialization::make_nvp("ptr", t->ptr);
+}
+
+template<class Archive, class P, class D>
+inline void load_construct_data(
+    Archive & ar,
+    boost_132::detail::sp_counted_base_impl<P, D> * t, 
+    const unsigned int /* file_version */
+){
+    P ptr_;
+    ar >> boost::serialization::make_nvp("ptr", ptr_);
+    // ::new(t)boost_132::detail::sp_counted_base_impl<P, D>(ptr_,  D()); 
+    // placement
+    // note: the original ::new... above is replaced by the one here.  This one
+    // creates all new objects with a null_deleter so that after the archive
+    // is finished loading and the shared_ptrs are destroyed - the underlying
+    // raw pointers are NOT deleted.  This is necessary as they are used by the 
+    // new system as well.
+    ::new(t)boost_132::detail::sp_counted_base_impl<
+        P, 
+        boost_132::serialization::detail::null_deleter
+    >(
+        ptr_,  boost_132::serialization::detail::null_deleter()
+    ); // placement new
+    // compensate for that fact that a new shared count always is 
+    // initialized with one. the add_ref_copy below will increment it
+    // every time its serialized so without this adjustment
+    // the use and weak counts will be off by one.
+    t->use_count_ = 0;
+}
+
+} // serialization
+} // namespace boost
+
+/////////////////////////////////////////////////////////////
+// shared_count serialization
+
+namespace boost { 
+namespace serialization {
+
+template<class Archive>
+inline void save(
+    Archive & ar,
+    const boost_132::detail::shared_count &t,
+    const unsigned int /* file_version */
+){
+    ar << boost::serialization::make_nvp("pi", t.pi_);
+}
+
+template<class Archive>
+inline void load(
+    Archive & ar,
+    boost_132::detail::shared_count &t,
+    const unsigned int /* file_version */
+){
+    ar >> boost::serialization::make_nvp("pi", t.pi_);
+    if(NULL != t.pi_)
+        t.pi_->add_ref_copy();
+}
+
+} // serialization
+} // namespace boost
+
+BOOST_SERIALIZATION_SPLIT_FREE(boost_132::detail::shared_count)
+
+/////////////////////////////////////////////////////////////
+// implement serialization for shared_ptr< T >
+
+namespace boost { 
+namespace serialization {
+
+template<class Archive, class T>
+inline void save(
+    Archive & ar,
+    const boost_132::shared_ptr< T > &t,
+    const unsigned int /* file_version */
+){
+    // only the raw pointer has to be saved
+    // the ref count is maintained automatically as shared pointers are loaded
+    ar.register_type(static_cast<
+        boost_132::detail::sp_counted_base_impl<T *, boost::checked_deleter< T > > *
+    >(NULL));
+    ar << boost::serialization::make_nvp("px", t.px);
+    ar << boost::serialization::make_nvp("pn", t.pn);
+}
+
+template<class Archive, class T>
+inline void load(
+    Archive & ar,
+    boost_132::shared_ptr< T > &t,
+    const unsigned int /* file_version */
+){
+    // only the raw pointer has to be saved
+    // the ref count is maintained automatically as shared pointers are loaded
+    ar.register_type(static_cast<
+        boost_132::detail::sp_counted_base_impl<T *, boost::checked_deleter< T > > *
+    >(NULL));
+    ar >> boost::serialization::make_nvp("px", t.px);
+    ar >> boost::serialization::make_nvp("pn", t.pn);
+}
+
+template<class Archive, class T>
+inline void serialize(
+    Archive & ar,
+    boost_132::shared_ptr< T > &t,
+    const unsigned int file_version
+){
+    // correct shared_ptr serialization depends upon object tracking
+    // being used.
+    BOOST_STATIC_ASSERT(
+        boost::serialization::tracking_level< T >::value
+        != boost::serialization::track_never
+    );
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+} // serialization
+} // namespace boost
+
+// note: change below uses null_deleter 
+// This macro is used to export GUIDS for shared pointers to allow
+// the serialization system to export them properly. David Tonge
+#define BOOST_SHARED_POINTER_EXPORT_GUID(T, K)                     \
+    typedef boost_132::detail::sp_counted_base_impl<               \
+        T *,                                                       \
+        boost::checked_deleter< T >                                \
+    > __shared_ptr_ ## T;                                          \
+    BOOST_CLASS_EXPORT_GUID(__shared_ptr_ ## T, "__shared_ptr_" K) \
+    BOOST_CLASS_EXPORT_GUID(T, K)                                  \
+    /**/
+
+#define BOOST_SHARED_POINTER_EXPORT(T)                             \
+    BOOST_SHARED_POINTER_EXPORT_GUID(                              \
+        T,                                                         \
+        BOOST_PP_STRINGIZE(T)                                      \
+    )                                                              \
+    /**/
+
+#endif // BOOST_SERIALIZATION_SHARED_PTR_132_HPP
diff --git a/SRC/Serialization/singleton.hpp b/SRC/Serialization/singleton.hpp
new file mode 100755
index 0000000..ca6ba9f
--- /dev/null
+++ b/SRC/Serialization/singleton.hpp
@@ -0,0 +1,158 @@
+#ifndef BOOST_SERIALIZATION_SINGLETON_HPP
+#define BOOST_SERIALIZATION_SINGLETON_HPP
+
+/////////1/////////2///////// 3/////////4/////////5/////////6/////////7/////////8
+//  singleton.hpp
+//
+// Copyright David Abrahams 2006. Original version
+//
+// Copyright Robert Ramey 2007.  Changes made to permit
+// application throughout the serialization library.
+//
+// Distributed under the Boost
+// Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// The intention here is to define a template which will convert
+// any class into a singleton with the following features:
+//
+// a) initialized before first use.
+// b) thread-safe for const access to the class
+// c) non-locking
+//
+// In order to do this,
+// a) Initialize dynamically when used.
+// b) Require that all singletons be initialized before main
+// is called or any entry point into the shared library is invoked.
+// This guarentees no race condition for initialization.
+// In debug mode, we assert that no non-const functions are called
+// after main is invoked.
+//
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif 
+
+#include <boost/assert.hpp>
+#include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
+#include <Serialization/force_include.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace serialization { 
+
+//////////////////////////////////////////////////////////////////////
+// Provides a dynamically-initialized (singleton) instance of T in a
+// way that avoids LNK1179 on vc6.  See http://tinyurl.com/ljdp8 or
+// http://lists.boost.org/Archives/boost/2006/05/105286.php for
+// details.
+//
+
+// singletons created by this code are guarenteed to be unique
+// within the executable or shared library which creates them.
+// This is sufficient and in fact ideal for the serialization library.
+// The singleton is created when the module is loaded and destroyed
+// when the module is unloaded.
+
+// This base class has two functions.
+
+// First it provides a module handle for each singleton indicating
+// the executable or shared library in which it was created. This
+// turns out to be necessary and sufficient to implement the tables
+// used by serialization library.
+
+// Second, it provides a mechanism to detect when a non-const function
+// is called after initialization.
+
+// make a singleton to lock/unlock all singletons for alteration.
+// The intent is that all singletons created/used by this code
+// are to be initialized before main is called. A test program
+// can lock all the singletons when main is entereed.  This any
+// attempt to retieve a mutable instances while locked will
+// generate a assertion if compiled for debug.
+
+class singleton_module : 
+    public boost::noncopyable
+{
+private:
+    static bool & get_lock(){
+        static bool lock = false;
+        return lock;
+    }
+public:
+//    static const void * get_module_handle(){
+//        return static_cast<const void *>(get_module_handle);
+//    }
+    static void lock(){
+        get_lock() = true;
+    }
+    static void unlock(){
+        get_lock() = false;
+    }
+    static bool is_locked() {
+        return get_lock();
+    }
+};
+
+namespace detail {
+
+template<class T>
+class singleton_wrapper : public T
+{
+public:
+    static bool m_is_destroyed;
+    ~singleton_wrapper(){
+        m_is_destroyed = true;
+    }
+};
+
+template<class T>
+bool detail::singleton_wrapper< T >::m_is_destroyed = false;
+
+} // detail
+
+template <class T>
+class singleton : public singleton_module
+{
+private:
+    BOOST_DLLEXPORT static T & instance;
+    // include this to provoke instantiation at pre-execution time
+    static void use(T const &) {}
+    BOOST_DLLEXPORT static T & get_instance() {
+        static detail::singleton_wrapper< T > t;
+        // refer to instance, causing it to be instantiated (and
+        // initialized at startup on working compilers)
+        BOOST_ASSERT(! detail::singleton_wrapper< T >::m_is_destroyed);
+        use(instance);
+        return static_cast<T &>(t);
+    }
+public:
+    BOOST_DLLEXPORT static T & get_mutable_instance(){
+        BOOST_ASSERT(! is_locked());
+        return get_instance();
+    }
+    BOOST_DLLEXPORT static const T & get_const_instance(){
+        return get_instance();
+    }
+    BOOST_DLLEXPORT static bool is_destroyed(){
+        return detail::singleton_wrapper< T >::m_is_destroyed;
+    }
+};
+
+template<class T>
+BOOST_DLLEXPORT T & singleton< T >::instance = singleton< T >::get_instance();
+
+} // namespace serialization
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // BOOST_SERIALIZATION_SINGLETON_HPP
diff --git a/SRC/Serialization/slist.hpp b/SRC/Serialization/slist.hpp
new file mode 100755
index 0000000..9fbdd67
--- /dev/null
+++ b/SRC/Serialization/slist.hpp
@@ -0,0 +1,103 @@
+#ifndef BOOST_SERIALIZATION_SLIST_HPP
+#define BOOST_SERIALIZATION_SLIST_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// slist.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // size_t
+#include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#ifdef BOOST_HAS_SLIST
+#include BOOST_SLIST_HEADER
+
+#include <Serialization/collections_save_imp.hpp>
+#include <Serialization/collections_load_imp.hpp>
+#include <Serialization/split_free.hpp>
+#include <Serialization/nvp.hpp>
+
+namespace boost { 
+namespace serialization {
+
+template<class Archive, class U, class Allocator>
+inline void save(
+    Archive & ar,
+    const BOOST_STD_EXTENSION_NAMESPACE::slist<U, Allocator> &t,
+    const unsigned int file_version
+){
+    boost::serialization::stl::save_collection<
+        Archive,
+        BOOST_STD_EXTENSION_NAMESPACE::slist<U, Allocator> 
+    >(ar, t);
+}
+
+template<class Archive, class U, class Allocator>
+inline void load(
+    Archive & ar,
+    BOOST_STD_EXTENSION_NAMESPACE::slist<U, Allocator> &t,
+    const unsigned int file_version
+){
+    // retrieve number of elements
+    t.clear();
+    // retrieve number of elements
+    collection_size_type count;
+    ar >> BOOST_SERIALIZATION_NVP(count);
+    if(collection_size_type(0) == count)
+        return;
+    item_version_type item_version(0);
+    const boost::archive::library_version_type library_version(
+        ar.get_library_version()
+    );
+    if(boost::archive::library_version_type(3) < library_version){
+        ar >> BOOST_SERIALIZATION_NVP(item_version);
+    }
+    boost::serialization::detail::stack_construct<Archive, U> u(ar, item_version);
+    ar >> boost::serialization::make_nvp("item", u.reference());
+    t.push_front(u.reference());
+    BOOST_DEDUCED_TYPENAME BOOST_STD_EXTENSION_NAMESPACE::slist<U, Allocator>::iterator last;
+    last = t.begin();
+    while(--count > 0){
+        boost::serialization::detail::stack_construct<Archive, U> 
+            u(ar, file_version);
+        ar >> boost::serialization::make_nvp("item", u.reference());
+        last = t.insert_after(last, u.reference());
+        ar.reset_object_address(& (*last), & u.reference());
+    }
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<class Archive, class U, class Allocator>
+inline void serialize(
+    Archive & ar,
+    BOOST_STD_EXTENSION_NAMESPACE::slist<U, Allocator> &t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+} // serialization
+} // namespace boost
+
+#include <Serialization/collection_traits.hpp>
+
+BOOST_SERIALIZATION_COLLECTION_TRAITS(BOOST_STD_EXTENSION_NAMESPACE::slist)
+
+#endif  // BOOST_HAS_SLIST
+#endif  // BOOST_SERIALIZATION_SLIST_HPP
diff --git a/SRC/Boost/boost/serialization/smart_cast.hpp b/SRC/Serialization/smart_cast.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/smart_cast.hpp
rename to SRC/Serialization/smart_cast.hpp
diff --git a/SRC/Serialization/split_free.hpp b/SRC/Serialization/split_free.hpp
new file mode 100755
index 0000000..ed317b1
--- /dev/null
+++ b/SRC/Serialization/split_free.hpp
@@ -0,0 +1,93 @@
+#ifndef BOOST_SERIALIZATION_SPLIT_FREE_HPP
+#define BOOST_SERIALIZATION_SPLIT_FREE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// split_free.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <Serialization/serialization.hpp>
+
+namespace boost {
+namespace archive {
+    namespace detail {
+        template<class Archive> class interface_oarchive;
+        template<class Archive> class interface_iarchive;
+    } // namespace detail
+} // namespace archive
+
+namespace serialization {
+
+//namespace detail {
+template<class Archive, class T>
+struct free_saver {
+    static void invoke(
+        Archive & ar, 
+        const  T & t, 
+        const unsigned int file_version
+    ){
+        // use function overload (version_type) to workaround
+        // two-phase lookup issue
+        const version_type v(file_version);
+        save(ar, t, v);
+    }
+};
+template<class Archive, class T>
+struct free_loader {
+    static void invoke(
+        Archive & ar, 
+        T & t, 
+        const unsigned int file_version
+    ){
+        // use function overload (version_type) to workaround
+        // two-phase lookup issue
+        const version_type v(file_version);
+        load(ar, t, v);
+    }
+};
+//} // namespace detail
+
+template<class Archive, class T>
+inline void split_free(
+    Archive & ar, 
+    T & t, 
+    const unsigned int file_version
+){
+    typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
+        BOOST_DEDUCED_TYPENAME Archive::is_saving,
+        mpl::identity</* detail:: */ free_saver<Archive, T> >, 
+        mpl::identity</* detail:: */ free_loader<Archive, T> >
+    >::type typex;
+    typex::invoke(ar, t, file_version);
+}
+
+} // namespace serialization
+} // namespace boost
+
+#define BOOST_SERIALIZATION_SPLIT_FREE(T)       \
+namespace boost { namespace serialization {     \
+template<class Archive>                         \
+inline void serialize(                          \
+        Archive & ar,                               \
+        T & t,                                      \
+        const unsigned int file_version             \
+){                                              \
+        split_free(ar, t, file_version);            \
+}                                               \
+}}
+/**/
+
+#endif // BOOST_SERIALIZATION_SPLIT_FREE_HPP
diff --git a/SRC/Serialization/split_member.hpp b/SRC/Serialization/split_member.hpp
new file mode 100755
index 0000000..1b4b565
--- /dev/null
+++ b/SRC/Serialization/split_member.hpp
@@ -0,0 +1,86 @@
+#ifndef BOOST_SERIALIZATION_SPLIT_MEMBER_HPP
+#define BOOST_SERIALIZATION_SPLIT_MEMBER_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// split_member.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+
+#include <Serialization/access.hpp>
+
+namespace boost {
+namespace archive {
+    namespace detail {
+        template<class Archive> class interface_oarchive;
+        template<class Archive> class interface_iarchive;
+    } // namespace detail
+} // namespace archive
+
+namespace serialization {
+namespace detail {
+
+    template<class Archive, class T>
+    struct member_saver {
+        static void invoke(
+            Archive & ar, 
+            const T & t,
+            const unsigned int file_version
+        ){
+            access::member_save(ar, t, file_version);
+        }
+    };
+
+    template<class Archive, class T>
+    struct member_loader {
+        static void invoke(
+            Archive & ar, 
+            T & t,
+            const unsigned int file_version
+        ){
+            access::member_load(ar, t, file_version);
+        }
+    };
+
+} // detail
+
+template<class Archive, class T>
+inline void split_member(
+    Archive & ar, T & t, const unsigned int file_version
+){
+    typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
+        BOOST_DEDUCED_TYPENAME Archive::is_saving,
+        mpl::identity<detail::member_saver<Archive, T> >, 
+        mpl::identity<detail::member_loader<Archive, T> >
+    >::type typex;
+    typex::invoke(ar, t, file_version);
+}
+
+} // namespace serialization
+} // namespace boost
+
+// split member function serialize funcition into save/load
+#define BOOST_SERIALIZATION_SPLIT_MEMBER()                       \
+template<class Archive>                                          \
+void serialize(                                                  \
+    Archive &ar,                                                 \
+    const unsigned int file_version                              \
+){                                                               \
+    boost::serialization::split_member(ar, *this, file_version); \
+}                                                                \
+/**/
+
+#endif // BOOST_SERIALIZATION_SPLIT_MEMBER_HPP
diff --git a/SRC/Serialization/src/archive_exception.cpp b/SRC/Serialization/src/archive_exception.cpp
new file mode 100755
index 0000000..270a3f7
--- /dev/null
+++ b/SRC/Serialization/src/archive_exception.cpp
@@ -0,0 +1,114 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// archive_exception.cpp:
+
+// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <exception>
+#include <boost/assert.hpp>
+#include <string>
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/archive_exception.hpp>
+
+namespace boost {
+namespace archive {
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+archive_exception::archive_exception(
+    exception_code c, 
+    const char * e1,
+    const char * e2
+) : 
+    code(c)
+{
+    m_msg = "programming error";
+    switch(code){
+    case no_exception:
+        m_msg = "uninitialized exception";
+        break;
+    case unregistered_class:
+        m_msg = "unregistered class";
+        if(NULL != e1){
+            m_msg += " - ";
+            m_msg += e1;
+        }    
+        break;
+    case invalid_signature:
+        m_msg = "invalid signature";
+        break;
+    case unsupported_version:
+        m_msg = "unsupported version";
+        break;
+    case pointer_conflict:
+        m_msg = "pointer conflict";
+        break;
+    case incompatible_native_format:
+        m_msg = "incompatible native format";
+        if(NULL != e1){
+            m_msg += " - ";
+            m_msg += e1;
+        }    
+        break;
+    case array_size_too_short:
+        m_msg = "array size too short";
+        break;
+    case input_stream_error:
+        m_msg = "input stream error";
+        break;
+    case invalid_class_name:
+        m_msg = "class name too long";
+        break;
+    case unregistered_cast:
+        m_msg = "unregistered void cast ";
+        m_msg += (NULL != e1) ? e1 : "?";
+        m_msg += "<-";
+        m_msg += (NULL != e2) ? e2 : "?";
+        break;
+    case unsupported_class_version:
+        m_msg = "class version ";
+        m_msg += (NULL != e1) ? e1 : "<unknown class>";
+        break;
+    case other_exception:
+        // if get here - it indicates a derived exception 
+        // was sliced by passing by value in catch
+        m_msg = "unknown derived exception";
+        break;
+    case multiple_code_instantiation:
+        m_msg = "code instantiated in more than one module";
+        if(NULL != e1){
+            m_msg += " - ";
+            m_msg += e1;
+        }    
+        break;
+    case output_stream_error:
+        m_msg = "output stream error";
+        break;
+    default:
+        BOOST_ASSERT(false);
+        break;
+    }
+}
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+archive_exception::~archive_exception() throw () {}
+
+BOOST_ARCHIVE_DECL(const char *)
+archive_exception::what( ) const throw()
+{
+    return m_msg.c_str();
+}
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+archive_exception::archive_exception() : 
+        code(no_exception)
+{}
+
+} // archive
+} // boost
diff --git a/SRC/Serialization/src/basic_archive.cpp b/SRC/Serialization/src/basic_archive.cpp
new file mode 100755
index 0000000..d67d985
--- /dev/null
+++ b/SRC/Serialization/src/basic_archive.cpp
@@ -0,0 +1,80 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_archive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+//////////////////////////////////////////////////////////////////////
+//
+//  objects are stored as
+//
+//      class_id*   // -1 for a null pointer
+//      if a new class id
+//      [
+//          exported key - class name*
+//          tracking level - always/never
+//          class version
+//      ]
+//
+//      if tracking
+//      [
+//          object_id
+//      ]
+//          
+//      [   // if a new object id
+//          data...
+//      ]
+//
+//  * required only for pointers - optional for objects
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/basic_archive.hpp>
+
+namespace boost {
+namespace archive {
+
+///////////////////////////////////////////////////////////////////////
+// constants used in archive signature
+//This should never ever change. note that is not an std::string
+// string.
+BOOST_ARCHIVE_DECL(const char *) 
+BOOST_ARCHIVE_SIGNATURE(){
+    return "serialization::archive";
+}
+
+// this should change if the capabilities are added to the library
+// such that archives can be created which can't be read by previous
+// versions of this library
+// 1 - initial version
+// 2 - made address tracking optional
+// 3 - numerous changes - can't guarentee compatibility with previous versions
+// 4 - Boost 1.34
+//     added item_version to properly support versioning for collections 
+// 5 - Boost 1.36
+//     changed serialization of collections: adding version even for primitive
+//     types caused backwards compatibility breaking change in 1.35
+// 6 - Boost 1.41 17 Nov 2009
+//     serializing collection sizes as std::size_t
+// 7   Boost 1.42 2 Feb 2010
+//     error - changed binary version to 16 bits w/o changing library version #
+//     That is - binary archives are recorded with #6 even though they are
+//     different from the previous versions.  This means that binary archives
+//     created with versions 1.42 and 1.43 will have to be fixed with a special
+//     program which fixes the library version # in the header
+//     Boost 1.43 6 May 2010
+//     no change
+// 8 - Boost 1.44
+//     separated version_type into library_version_type and class_version_type
+//     changed version_type to be stored as 8 bits.
+
+BOOST_ARCHIVE_DECL(library_version_type)
+BOOST_ARCHIVE_VERSION(){
+    return library_version_type(9);
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/basic_iarchive.cpp b/SRC/Serialization/src/basic_iarchive.cpp
new file mode 100755
index 0000000..c62bde4
--- /dev/null
+++ b/SRC/Serialization/src/basic_iarchive.cpp
@@ -0,0 +1,576 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_archive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp> // msvc 6.0 needs this to suppress warnings
+
+#include <boost/assert.hpp>
+#include <set>
+#include <list>
+#include <vector>
+#include <cstddef> // size_t, NULL
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ 
+    using ::size_t; 
+} // namespace std
+#endif
+
+#include <boost/integer_traits.hpp>
+#include <Serialization/state_saver.hpp>
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/tracking.hpp>
+
+#define BOOST_ARCHIVE_SOURCE
+// include this to prevent linker errors when the
+// same modules are marked export and import.
+#define BOOST_SERIALIZATION_SOURCE
+
+#include <Serialization/archive/archive_exception.hpp>
+
+#include <Serialization/archive/detail/decl.hpp>
+#include <Serialization/archive/basic_archive.hpp>
+#include <Serialization/archive/detail/basic_iserializer.hpp>
+#include <Serialization/archive/detail/basic_pointer_iserializer.hpp>
+#include <Serialization/archive/detail/basic_iarchive.hpp>
+
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+
+using namespace boost::serialization;
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+class basic_iarchive_impl {
+    friend class basic_iarchive;
+    library_version_type m_archive_library_version;
+    unsigned int m_flags;
+
+    //////////////////////////////////////////////////////////////////////
+    // information about each serialized object loaded
+    // indexed on object_id
+    struct aobject
+    {
+        void * address;
+        bool loaded_as_pointer;
+        class_id_type class_id;
+        aobject(
+            void *a,
+            class_id_type class_id_
+        ) :
+            address(a),
+            loaded_as_pointer(false),
+            class_id(class_id_)
+        {}
+        aobject() : 
+            address(NULL),
+            loaded_as_pointer(false),
+            class_id(-2) 
+        {}
+    };
+    typedef std::vector<aobject> object_id_vector_type;
+    object_id_vector_type object_id_vector;
+
+    //////////////////////////////////////////////////////////////////////
+    // used to implement the reset_object_address operation.
+    object_id_type moveable_objects_start;
+    object_id_type moveable_objects_end;
+    object_id_type moveable_objects_recent;
+
+    void reset_object_address(
+        const void * new_address, 
+        const void *old_address
+    );
+
+    //////////////////////////////////////////////////////////////////////
+    // used by load object to look up class id given basic_serializer
+    struct cobject_type
+    {
+        const basic_iserializer * m_bis;
+        const class_id_type m_class_id;
+        cobject_type(
+            std::size_t class_id,
+            const basic_iserializer & bis
+        ) : 
+            m_bis(& bis),
+            m_class_id(class_id)
+        {}
+        cobject_type(const cobject_type & rhs) : 
+            m_bis(rhs.m_bis),
+            m_class_id(rhs.m_class_id)
+        {}
+        // the following cannot be defined because of the const
+        // member.  This will generate a link error if an attempt
+        // is made to assign.  This should never be necessary
+        cobject_type & operator=(const cobject_type & rhs);
+        bool operator<(const cobject_type &rhs) const
+        {
+            return *m_bis < *(rhs.m_bis);
+        }
+    };
+    typedef std::set<cobject_type> cobject_info_set_type;
+    cobject_info_set_type cobject_info_set;
+
+    //////////////////////////////////////////////////////////////////////
+    // information about each serialized class indexed on class_id
+    class cobject_id 
+    {
+    public:
+        cobject_id & operator=(const cobject_id & rhs){
+            bis_ptr = rhs.bis_ptr;
+            bpis_ptr = rhs.bpis_ptr;
+            file_version = rhs.file_version;
+            tracking_level = rhs.tracking_level;
+            initialized = rhs.initialized;
+            return *this;
+        }
+        const basic_iserializer * bis_ptr;
+        const basic_pointer_iserializer * bpis_ptr;
+        version_type file_version;
+        tracking_type tracking_level;
+        bool initialized;
+
+        cobject_id(const basic_iserializer & bis_) :
+            bis_ptr(& bis_),
+            bpis_ptr(NULL),
+            file_version(0),
+            tracking_level(track_never),
+            initialized(false)
+        {}
+        cobject_id(const cobject_id &rhs): 
+            bis_ptr(rhs.bis_ptr),
+            bpis_ptr(rhs.bpis_ptr),
+            file_version(rhs.file_version),
+            tracking_level(rhs.tracking_level),
+            initialized(rhs.initialized)
+        {}
+    };
+    typedef std::vector<cobject_id> cobject_id_vector_type;
+    cobject_id_vector_type cobject_id_vector;
+
+    //////////////////////////////////////////////////////////////////////
+    // address of the most recent object serialized as a poiner
+    // whose data itself is now pending serialization
+    void * pending_object;
+    const basic_iserializer * pending_bis;
+    version_type pending_version;
+
+    basic_iarchive_impl(unsigned int flags) :
+        m_archive_library_version(BOOST_ARCHIVE_VERSION()),
+        m_flags(flags),
+        moveable_objects_start(0),
+        moveable_objects_end(0),
+        moveable_objects_recent(0),
+        pending_object(NULL),
+        pending_bis(NULL),
+        pending_version(0)
+    {}
+    ~basic_iarchive_impl(){}
+    void set_library_version(library_version_type archive_library_version){
+        m_archive_library_version = archive_library_version;
+    }
+    bool
+    track(
+        basic_iarchive & ar,
+        void * & t
+    );
+    void
+    load_preamble(
+        basic_iarchive & ar,
+        cobject_id & co
+    );
+    class_id_type register_type(
+        const basic_iserializer & bis
+    );
+
+    // redirect through virtual functions to load functions for this archive
+    template<class T>
+    void load(basic_iarchive & ar, T & t){
+        ar.vload(t);
+    }
+
+//public:
+    void
+    next_object_pointer(void * t){
+        pending_object = t;
+    }
+    void delete_created_pointers();
+    class_id_type register_type(
+        const basic_pointer_iserializer & bpis
+    );
+    void load_object(
+        basic_iarchive & ar,
+        void * t,
+        const basic_iserializer & bis
+    );
+    const basic_pointer_iserializer * load_pointer(
+        basic_iarchive & ar,
+        void * & t, 
+        const basic_pointer_iserializer * bpis,
+        const basic_pointer_iserializer * (*finder)(
+            const boost::serialization::extended_type_info & type
+        )
+
+    );
+};
+
+inline void 
+basic_iarchive_impl::reset_object_address(
+    const void * new_address, 
+    const void *old_address
+){
+    // this code handles a couple of situations.
+    // a) where reset_object_address is applied to an untracked object.
+    //    In such a case the call is really superfluous and its really an
+    //    an error.  But we don't have access to the types here so we can't
+    //    know that.  However, this code will effectively turn this situation
+    //    into a no-op and every thing will work fine - albeat with a small
+    //    execution time penalty.
+    // b) where the call to reset_object_address doesn't immediatly follow
+    //    the << operator to which it corresponds.  This would be a bad idea
+    //    but the code may work anyway.  Naturally, a bad practice on the part
+    //    of the programmer but we can't detect it - as above.  So maybe we
+    //    can save a few more people from themselves as above.
+    object_id_type i;
+    for(i = moveable_objects_recent; i < moveable_objects_end; ++i){
+        if(old_address == object_id_vector[i].address)
+            break;
+    }
+    for(; i < moveable_objects_end; ++i){
+
+        // calculate displacement from this level
+        // warning - pointer arithmetic on void * is in herently non-portable
+        // but expected to work on all platforms in current usage
+        if(object_id_vector[i].address > old_address){
+            std::size_t member_displacement
+                = reinterpret_cast<std::size_t>(object_id_vector[i].address) 
+                - reinterpret_cast<std::size_t>(old_address);
+            object_id_vector[i].address = reinterpret_cast<void *>(
+                reinterpret_cast<std::size_t>(new_address) + member_displacement
+            );
+        }
+        else{
+            std::size_t member_displacement
+                = reinterpret_cast<std::size_t>(old_address)
+                - reinterpret_cast<std::size_t>(object_id_vector[i].address); 
+            object_id_vector[i].address = reinterpret_cast<void *>(
+                reinterpret_cast<std::size_t>(new_address) - member_displacement
+            );
+       }
+    }
+}
+
+inline void 
+basic_iarchive_impl::delete_created_pointers()
+{
+    object_id_vector_type::iterator i;
+    for(
+        i = object_id_vector.begin();
+        i != object_id_vector.end(); 
+        ++i
+    ){
+        if(i->loaded_as_pointer){
+            // borland complains without this minor hack
+            const int j = i->class_id;
+            const cobject_id & co = cobject_id_vector[j];
+            //const cobject_id & co = cobject_id_vector[i->class_id];
+            // with the appropriate input serializer, 
+            // delete the indicated object
+            co.bis_ptr->destroy(i->address);
+        }
+    }
+}
+
+inline class_id_type
+basic_iarchive_impl::register_type(
+    const basic_iserializer & bis
+){
+    class_id_type cid(cobject_info_set.size());
+    cobject_type co(cid, bis);
+    std::pair<cobject_info_set_type::const_iterator, bool>
+        result = cobject_info_set.insert(co);
+
+    if(result.second){
+        cobject_id_vector.push_back(cobject_id(bis));
+        BOOST_ASSERT(cobject_info_set.size() == cobject_id_vector.size());
+    }
+    cid = result.first->m_class_id;
+    // borland complains without this minor hack
+    const int tid = cid;
+    cobject_id & coid = cobject_id_vector[tid];
+    coid.bpis_ptr = bis.get_bpis_ptr();
+    return cid;
+}
+
+void
+basic_iarchive_impl::load_preamble(
+    basic_iarchive & ar,
+    cobject_id & co
+){
+    if(! co.initialized){
+        if(co.bis_ptr->class_info()){
+            class_id_optional_type cid(class_id_type(0));
+            load(ar, cid);    // to be thrown away
+            load(ar, co.tracking_level);
+            load(ar, co.file_version);
+        }
+        else{
+            // override tracking with indicator from class information
+            co.tracking_level = co.bis_ptr->tracking(m_flags);
+            co.file_version = version_type(
+                co.bis_ptr->version()
+            );
+        }
+        co.initialized = true;
+    }
+}
+
+bool
+basic_iarchive_impl::track(
+    basic_iarchive & ar,
+    void * & t
+){
+    object_id_type oid;
+    load(ar, oid);
+
+    // if its a reference to a old object
+    if(object_id_type(object_id_vector.size()) > oid){
+        // we're done
+        t = object_id_vector[oid].address;
+        return false;
+    }
+    return true;
+}
+
+inline void
+basic_iarchive_impl::load_object(
+    basic_iarchive & ar,
+    void * t,
+    const basic_iserializer & bis
+){
+    // if its been serialized through a pointer and the preamble's been done
+    if(t == pending_object && & bis == pending_bis){
+        // read data
+        (bis.load_object_data)(ar, t, pending_version);
+        return;
+    }
+
+    const class_id_type cid = register_type(bis);
+    const int i = cid;
+    cobject_id & co = cobject_id_vector[i];
+
+    load_preamble(ar, co);
+
+    // save the current move stack position in case we want to truncate it
+    boost::serialization::state_saver<object_id_type> w(moveable_objects_start);
+
+    // note: extra line used to evade borland issue
+    const bool tracking = co.tracking_level;
+
+    object_id_type this_id;
+    moveable_objects_start =
+    this_id = object_id_type(object_id_vector.size());
+
+    // if we tracked this object when the archive was saved
+    if(tracking){ 
+        // if it was already read
+        if(!track(ar, t))
+            // we're done
+            return;
+        // add a new enty into the tracking list
+        object_id_vector.push_back(aobject(t, cid));
+        // and add an entry for this object
+        moveable_objects_end = object_id_type(object_id_vector.size());
+    }
+    // read data
+    (bis.load_object_data)(ar, t, co.file_version);
+    moveable_objects_recent = this_id;
+}
+
+inline const basic_pointer_iserializer *
+basic_iarchive_impl::load_pointer(
+    basic_iarchive &ar,
+    void * & t,
+    const basic_pointer_iserializer * bpis_ptr,
+    const basic_pointer_iserializer * (*finder)(
+        const boost::serialization::extended_type_info & type_
+    )
+
+){
+    class_id_type cid;
+    load(ar, cid);
+
+    if(NULL_POINTER_TAG == cid){
+        t = NULL;
+        return bpis_ptr;
+    }
+
+    // if its a new class type - i.e. never been registered
+    if(class_id_type(cobject_info_set.size()) <= cid){
+        // if its either abstract
+        if(NULL == bpis_ptr
+        // or polymorphic
+        || bpis_ptr->get_basic_serializer().is_polymorphic()){
+            // is must have been exported
+            char key[BOOST_SERIALIZATION_MAX_KEY_SIZE];
+            class_name_type class_name(key);
+            load(ar, class_name);
+            // if it has a class name
+            const serialization::extended_type_info *eti = NULL;
+            if(0 != key[0])
+                eti = serialization::extended_type_info::find(key);
+            if(NULL == eti)
+                boost::serialization::throw_exception(
+                    archive_exception(archive_exception::unregistered_class)
+                );
+            bpis_ptr = (*finder)(*eti);
+        }
+        BOOST_ASSERT(NULL != bpis_ptr);
+        class_id_type new_cid = register_type(bpis_ptr->get_basic_serializer());
+        int i = cid;
+        cobject_id_vector[i].bpis_ptr = bpis_ptr;
+        BOOST_ASSERT(new_cid == cid);
+    }
+    int i = cid;
+    cobject_id & co = cobject_id_vector[i];
+    bpis_ptr = co.bpis_ptr;
+
+    load_preamble(ar, co);
+
+    // extra line to evade borland issue
+    const bool tracking = co.tracking_level;
+    // if we're tracking and the pointer has already been read
+    if(tracking && ! track(ar, t))
+        // we're done
+        return bpis_ptr;
+
+    // save state
+    serialization::state_saver<object_id_type> w_start(moveable_objects_start);
+
+    if(! tracking){
+        bpis_ptr->load_object_ptr(ar, t, co.file_version);
+    }
+    else{
+        serialization::state_saver<void *> x(pending_object);
+        serialization::state_saver<const basic_iserializer *> y(pending_bis);
+        serialization::state_saver<version_type> z(pending_version);
+
+        pending_bis = & bpis_ptr->get_basic_serializer();
+        pending_version = co.file_version;
+
+        // predict next object id to be created
+        const unsigned int ui = object_id_vector.size();
+
+        serialization::state_saver<object_id_type> w_end(moveable_objects_end);
+
+        // because the following operation could move the items
+        // don't use co after this
+        // add to list of serialized objects so that we can properly handle
+        // cyclic strucures
+        object_id_vector.push_back(aobject(t, cid));
+
+        bpis_ptr->load_object_ptr(
+            ar, 
+            object_id_vector[ui].address, 
+            co.file_version
+        );
+        t = object_id_vector[ui].address;
+        object_id_vector[ui].loaded_as_pointer = true;
+        BOOST_ASSERT(NULL != t);
+    }
+
+    return bpis_ptr;
+}
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+//////////////////////////////////////////////////////////////////////
+// implementation of basic_iarchive functions
+namespace boost {
+namespace archive {
+namespace detail {
+
+BOOST_ARCHIVE_DECL(void)
+basic_iarchive::next_object_pointer(void *t){
+    pimpl->next_object_pointer(t);
+}
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_iarchive::basic_iarchive(unsigned int flags) : 
+    pimpl(new basic_iarchive_impl(flags))
+{}
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+basic_iarchive::~basic_iarchive()
+{
+    delete pimpl;
+}
+
+BOOST_ARCHIVE_DECL(void)
+basic_iarchive::set_library_version(library_version_type archive_library_version){
+    pimpl->set_library_version(archive_library_version);
+}
+
+BOOST_ARCHIVE_DECL(void)
+basic_iarchive::reset_object_address(
+    const void * new_address, 
+    const void * old_address
+){
+    pimpl->reset_object_address(new_address, old_address);
+}
+
+BOOST_ARCHIVE_DECL(void)
+basic_iarchive::load_object(
+    void *t, 
+    const basic_iserializer & bis
+){
+    pimpl->load_object(*this, t, bis);
+}
+
+// load a pointer object
+BOOST_ARCHIVE_DECL(const basic_pointer_iserializer *)
+basic_iarchive::load_pointer(
+    void * &t, 
+    const basic_pointer_iserializer * bpis_ptr,
+    const basic_pointer_iserializer * (*finder)(
+        const boost::serialization::extended_type_info & type_
+    )
+
+){
+    return pimpl->load_pointer(*this, t, bpis_ptr, finder);
+}
+
+BOOST_ARCHIVE_DECL(void)
+basic_iarchive::register_basic_serializer(const basic_iserializer & bis){
+    pimpl->register_type(bis);
+}
+
+BOOST_ARCHIVE_DECL(void)
+basic_iarchive::delete_created_pointers()
+{
+    pimpl->delete_created_pointers();
+}
+
+BOOST_ARCHIVE_DECL(boost::archive::library_version_type) 
+basic_iarchive::get_library_version() const{
+    return pimpl->m_archive_library_version;
+}
+
+BOOST_ARCHIVE_DECL(unsigned int) 
+basic_iarchive::get_flags() const{
+    return pimpl->m_flags;
+}
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/basic_iserializer.cpp b/SRC/Serialization/src/basic_iserializer.cpp
new file mode 100755
index 0000000..69b51fb
--- /dev/null
+++ b/SRC/Serialization/src/basic_iserializer.cpp
@@ -0,0 +1,33 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_iserializer.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // NULL
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/detail/basic_iserializer.hpp>
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+basic_iserializer::basic_iserializer(
+    const boost::serialization::extended_type_info & eti
+) :
+    basic_serializer(eti), 
+    m_bpis(NULL)
+{}
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+basic_iserializer::~basic_iserializer(){}
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/basic_oarchive.cpp b/SRC/Serialization/src/basic_oarchive.cpp
new file mode 100755
index 0000000..c1aec70
--- /dev/null
+++ b/SRC/Serialization/src/basic_oarchive.cpp
@@ -0,0 +1,459 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_oarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
+
+#include <boost/assert.hpp>
+#include <set>
+#include <cstddef> // NULL
+
+#include <boost/limits.hpp>
+#include <Serialization/state_saver.hpp>
+#include <Serialization/throw_exception.hpp>
+
+// including this here to work around an ICC in intel 7.0
+// normally this would be part of basic_oarchive.hpp below.
+#define BOOST_ARCHIVE_SOURCE
+// include this to prevent linker errors when the
+// same modules are marked export and import.
+#define BOOST_SERIALIZATION_SOURCE
+
+#include <Serialization/archive/detail/decl.hpp>
+#include <Serialization/archive/basic_archive.hpp>
+#include <Serialization/archive/detail/basic_oserializer.hpp>
+#include <Serialization/archive/detail/basic_pointer_oserializer.hpp>
+#include <Serialization/archive/detail/basic_oarchive.hpp>
+#include <Serialization/archive/archive_exception.hpp>
+#include <Serialization/extended_type_info.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4251 4231 4660 4275)
+#endif
+
+using namespace boost::serialization;
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+class basic_oarchive_impl {
+    friend class basic_oarchive;
+    unsigned int m_flags;
+
+    //////////////////////////////////////////////////////////////////////
+    // information about each serialized object saved
+    // keyed on address, class_id
+    struct aobject
+    {
+        const void * address;
+        class_id_type class_id;
+        object_id_type object_id;
+
+        bool operator<(const aobject &rhs) const
+        {
+            BOOST_ASSERT(NULL != address);
+            BOOST_ASSERT(NULL != rhs.address);
+            if( address < rhs.address )
+                return true;
+            if( address > rhs.address )
+                return false;
+            return class_id < rhs.class_id;
+        }
+        aobject & operator=(const aobject & rhs)
+        {
+            address = rhs.address;
+            class_id = rhs.class_id;
+            object_id = rhs.object_id;
+            return *this;
+        }
+        aobject(
+            const void *a,
+            class_id_type class_id_,
+            object_id_type object_id_
+        ) :
+            address(a),
+            class_id(class_id_),
+            object_id(object_id_)
+        {}
+        aobject() : address(NULL){}
+    };
+    // keyed on class_id, address
+    typedef std::set<aobject> object_set_type;
+    object_set_type object_set;
+
+    //////////////////////////////////////////////////////////////////////
+    // information about each serialized class saved
+    // keyed on type_info
+    struct cobject_type
+    {
+        const basic_oserializer * m_bos_ptr;
+        const class_id_type m_class_id;
+        bool m_initialized;
+        cobject_type(
+            std::size_t class_id,
+            const basic_oserializer & bos
+        ) :
+            m_bos_ptr(& bos),
+            m_class_id(class_id),
+            m_initialized(false)
+        {}
+        cobject_type(const basic_oserializer & bos)
+            : m_bos_ptr(& bos)
+        {}
+        cobject_type(
+            const cobject_type & rhs
+        ) :
+            m_bos_ptr(rhs.m_bos_ptr),
+            m_class_id(rhs.m_class_id),
+            m_initialized(rhs.m_initialized)
+        {}
+        // the following cannot be defined because of the const
+        // member.  This will generate a link error if an attempt
+        // is made to assign.  This should never be necessary
+        // use this only for lookup argument 
+        cobject_type & operator=(const cobject_type &rhs);
+        bool operator<(const cobject_type &rhs) const {
+            return *m_bos_ptr < *(rhs.m_bos_ptr);
+        }
+    };
+    // keyed on type_info
+    typedef std::set<cobject_type> cobject_info_set_type;
+    cobject_info_set_type cobject_info_set;
+
+    // list of objects initially stored as pointers - used to detect errors
+    // keyed on object id
+    std::set<object_id_type> stored_pointers;
+
+    // address of the most recent object serialized as a poiner
+    // whose data itself is now pending serialization
+    const void * pending_object;
+    const basic_oserializer * pending_bos;
+
+    basic_oarchive_impl(unsigned int flags) :
+        m_flags(flags),
+        pending_object(NULL),
+        pending_bos(NULL)
+    {}
+
+    const cobject_type &
+    find(const basic_oserializer & bos);
+    const basic_oserializer *  
+    find(const serialization::extended_type_info &ti) const;
+
+//public:
+    const cobject_type &
+    register_type(const basic_oserializer & bos);
+    void save_object(
+        basic_oarchive & ar,
+        const void *t,
+        const basic_oserializer & bos
+    );
+    void save_pointer(
+        basic_oarchive & ar,
+        const void * t, 
+        const basic_pointer_oserializer * bpos
+    );
+};
+
+//////////////////////////////////////////////////////////////////////
+// basic_oarchive implementation functions
+
+// given a type_info - find its bos
+// return NULL if not found
+inline const basic_oserializer *
+basic_oarchive_impl::find(const serialization::extended_type_info & ti) const {
+    #ifdef BOOST_MSVC
+    #  pragma warning(push)
+    #  pragma warning(disable : 4511 4512)
+    #endif
+    class bosarg : 
+        public basic_oserializer
+    {
+        bool class_info() const {
+            BOOST_ASSERT(false); 
+            return false;
+        }
+        // returns true if objects should be tracked
+        bool tracking(const unsigned int) const {
+            BOOST_ASSERT(false);
+            return false;
+        }
+        // returns class version
+        version_type version() const {
+            BOOST_ASSERT(false);
+            return version_type(0);
+        }
+        // returns true if this class is polymorphic
+        bool is_polymorphic() const{
+            BOOST_ASSERT(false);
+            return false;
+        }
+        void save_object_data(      
+            basic_oarchive & /*ar*/, const void * /*x*/
+        ) const {
+            BOOST_ASSERT(false);
+        }
+    public:
+        bosarg(const serialization::extended_type_info & eti) :
+          boost::archive::detail::basic_oserializer(eti)
+        {}
+    };
+    #ifdef BOOST_MSVC
+    #pragma warning(pop)
+    #endif
+    bosarg bos(ti);
+    cobject_info_set_type::const_iterator cit 
+        = cobject_info_set.find(cobject_type(bos));
+    // it should already have been "registered" - see below
+    if(cit == cobject_info_set.end()){
+        // if an entry is not found in the table it is because a pointer
+        // of a derived class has been serialized through its base class
+        // but the derived class hasn't been "registered" 
+        return NULL;
+    }
+    // return pointer to the real class
+    return cit->m_bos_ptr;
+}
+
+inline const basic_oarchive_impl::cobject_type &
+basic_oarchive_impl::find(const basic_oserializer & bos)
+{
+    std::pair<cobject_info_set_type::iterator, bool> cresult = 
+        cobject_info_set.insert(cobject_type(cobject_info_set.size(), bos));
+    return *(cresult.first);
+}
+
+inline const basic_oarchive_impl::cobject_type &
+basic_oarchive_impl::register_type(
+    const basic_oserializer & bos
+){
+    cobject_type co(cobject_info_set.size(), bos);
+    std::pair<cobject_info_set_type::const_iterator, bool>
+        result = cobject_info_set.insert(co);
+    return *(result.first);
+}
+
+inline void
+basic_oarchive_impl::save_object(
+    basic_oarchive & ar,
+    const void *t,
+    const basic_oserializer & bos
+){
+    // if its been serialized through a pointer and the preamble's been done
+    if(t == pending_object && pending_bos == & bos){
+        // just save the object data
+        ar.end_preamble();
+        (bos.save_object_data)(ar, t);
+        return;
+    }
+
+    // get class information for this object
+    const cobject_type & co = register_type(bos);
+    if(bos.class_info()){
+        if( ! co.m_initialized){
+            ar.vsave(class_id_optional_type(co.m_class_id));
+            ar.vsave(tracking_type(bos.tracking(m_flags)));
+            ar.vsave(version_type(bos.version()));
+            (const_cast<cobject_type &>(co)).m_initialized = true;
+        }
+    }
+
+    // we're not tracking this type of object
+    if(! bos.tracking(m_flags)){
+        // just windup the preamble - no object id to write
+        ar.end_preamble();
+        // and save the data
+        (bos.save_object_data)(ar, t);
+        return;
+    }
+
+    // look for an existing object id
+    object_id_type oid(object_set.size());
+    // lookup to see if this object has already been written to the archive
+    basic_oarchive_impl::aobject ao(t, co.m_class_id, oid);
+    std::pair<basic_oarchive_impl::object_set_type::const_iterator, bool>
+        aresult = object_set.insert(ao);
+    oid = aresult.first->object_id;
+
+    // if its a new object
+    if(aresult.second){
+        // write out the object id
+        ar.vsave(oid);
+        ar.end_preamble();
+        // and data
+        (bos.save_object_data)(ar, t);
+        return;
+    }
+
+    // check that it wasn't originally stored through a pointer
+    if(stored_pointers.end() != stored_pointers.find(oid)){
+        // this has to be a user error.  loading such an archive
+        // would create duplicate objects
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::pointer_conflict)
+        );
+    }
+    // just save the object id
+    ar.vsave(object_reference_type(oid));
+    ar.end_preamble();
+    return;
+}
+
+// save a pointer to an object instance
+inline void
+basic_oarchive_impl::save_pointer(
+    basic_oarchive & ar,
+    const void * t, 
+    const basic_pointer_oserializer * bpos_ptr
+){
+    const basic_oserializer & bos = bpos_ptr->get_basic_serializer();
+    std::size_t original_count = cobject_info_set.size();
+    const cobject_type & co = register_type(bos);
+    if(! co.m_initialized){
+        ar.vsave(co.m_class_id);
+        // if its a previously unregistered class 
+        if((cobject_info_set.size() > original_count)){
+            if(bos.is_polymorphic()){
+                const serialization::extended_type_info *eti = & bos.get_eti();
+                const char * key = NULL;
+                if(NULL != eti)
+                    key = eti->get_key();
+                if(NULL != key){
+                    // the following is required by IBM C++ compiler which
+                    // makes a copy when passing a non-const to a const.  This
+                    // is permitted by the standard but rarely seen in practice
+                    const class_name_type cn(key);
+                    // write out the external class identifier
+                    ar.vsave(cn);
+                }
+                else
+                    // without an external class name
+                    // we won't be able to de-serialize it so bail now
+                    boost::serialization::throw_exception(
+                        archive_exception(archive_exception::unregistered_class)
+                    );
+            }
+        }
+        if(bos.class_info()){
+            ar.vsave(tracking_type(bos.tracking(m_flags)));
+            ar.vsave(version_type(bos.version()));
+        }
+        (const_cast<cobject_type &>(co)).m_initialized = true;
+    }
+    else{
+        ar.vsave(class_id_reference_type(co.m_class_id));
+    }
+
+    // if we're not tracking
+    if(! bos.tracking(m_flags)){
+        // just save the data itself
+        ar.end_preamble();
+        serialization::state_saver<const void *> x(pending_object);
+        serialization::state_saver<const basic_oserializer *> y(pending_bos);
+        pending_object = t;
+        pending_bos = & bpos_ptr->get_basic_serializer();
+        bpos_ptr->save_object_ptr(ar, t);
+        return;
+    }
+
+    object_id_type oid(object_set.size());
+    // lookup to see if this object has already been written to the archive
+    basic_oarchive_impl::aobject ao(t, co.m_class_id, oid);
+    std::pair<basic_oarchive_impl::object_set_type::const_iterator, bool>
+        aresult = object_set.insert(ao);
+    oid = aresult.first->object_id;
+    // if the saved object already exists
+    if(! aresult.second){
+        // append the object id to he preamble
+        ar.vsave(object_reference_type(oid));
+        // and windup.
+        ar.end_preamble();
+        return;
+    }
+
+    // append id of this object to preamble
+    ar.vsave(oid);
+    ar.end_preamble();
+
+    // and save the object itself
+    serialization::state_saver<const void *> x(pending_object);
+    serialization::state_saver<const basic_oserializer *> y(pending_bos);
+    pending_object = t;
+    pending_bos = & bpos_ptr->get_basic_serializer();
+    bpos_ptr->save_object_ptr(ar, t);
+    // add to the set of object initially stored through pointers
+    stored_pointers.insert(oid);
+}
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+//////////////////////////////////////////////////////////////////////
+// implementation of basic_oarchive functions
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+basic_oarchive::basic_oarchive(unsigned int flags)
+    : pimpl(new basic_oarchive_impl(flags))
+{}
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+basic_oarchive::~basic_oarchive()
+{
+    delete pimpl;
+}
+
+BOOST_ARCHIVE_DECL(void) 
+basic_oarchive::save_object(
+    const void *x, 
+    const basic_oserializer & bos
+){
+    pimpl->save_object(*this, x, bos);
+}
+
+BOOST_ARCHIVE_DECL(void) 
+basic_oarchive::save_pointer(
+    const void * t, 
+    const basic_pointer_oserializer * bpos_ptr
+){
+    pimpl->save_pointer(*this, t, bpos_ptr);
+}
+
+BOOST_ARCHIVE_DECL(void) 
+basic_oarchive::register_basic_serializer(const basic_oserializer & bos){
+    pimpl->register_type(bos);
+}
+
+BOOST_ARCHIVE_DECL(library_version_type)
+basic_oarchive::get_library_version() const{
+    return BOOST_ARCHIVE_VERSION();
+}
+
+BOOST_ARCHIVE_DECL(unsigned int)
+basic_oarchive::get_flags() const{
+    return pimpl->m_flags;
+}
+
+BOOST_ARCHIVE_DECL(void) 
+basic_oarchive::end_preamble(){
+}
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
diff --git a/SRC/Serialization/src/basic_oserializer.cpp b/SRC/Serialization/src/basic_oserializer.cpp
new file mode 100755
index 0000000..f84cd84
--- /dev/null
+++ b/SRC/Serialization/src/basic_oserializer.cpp
@@ -0,0 +1,33 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_oserializer.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // NULL
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/detail/basic_oserializer.hpp>
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+basic_oserializer::basic_oserializer(
+        const boost::serialization::extended_type_info & eti
+) :
+    basic_serializer(eti), 
+    m_bpos(NULL)
+{}
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+basic_oserializer::~basic_oserializer(){}
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/basic_pointer_iserializer.cpp b/SRC/Serialization/src/basic_pointer_iserializer.cpp
new file mode 100755
index 0000000..b63d44f
--- /dev/null
+++ b/SRC/Serialization/src/basic_pointer_iserializer.cpp
@@ -0,0 +1,30 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_pointer_iserializer.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/detail/basic_pointer_iserializer.hpp>
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+basic_pointer_iserializer::basic_pointer_iserializer(
+    const boost::serialization::extended_type_info & eti
+) :
+    basic_serializer(eti)
+{}
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+basic_pointer_iserializer::~basic_pointer_iserializer() {}
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/basic_pointer_oserializer.cpp b/SRC/Serialization/src/basic_pointer_oserializer.cpp
new file mode 100755
index 0000000..0c5c13b
--- /dev/null
+++ b/SRC/Serialization/src/basic_pointer_oserializer.cpp
@@ -0,0 +1,30 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_pointer_oserializer.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/detail/basic_pointer_oserializer.hpp>
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+basic_pointer_oserializer::basic_pointer_oserializer(
+    const boost::serialization::extended_type_info & eti
+) :
+    basic_serializer(eti)
+{}
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) 
+basic_pointer_oserializer::~basic_pointer_oserializer() {}
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/basic_serializer_map.cpp b/SRC/Serialization/src/basic_serializer_map.cpp
new file mode 100755
index 0000000..f5977c7
--- /dev/null
+++ b/SRC/Serialization/src/basic_serializer_map.cpp
@@ -0,0 +1,111 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// serializer_map.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <set>
+#include <utility>
+
+#define BOOST_ARCHIVE_SOURCE
+// include this to prevent linker errors when the
+// same modules are marked export and import.
+#define BOOST_SERIALIZATION_SOURCE
+
+#include <Serialization/archive/archive_exception.hpp>
+#include <Serialization/throw_exception.hpp>
+
+#include <Serialization/archive/detail/basic_serializer.hpp>
+#include <Serialization/archive/detail/basic_serializer_map.hpp>
+
+namespace boost {
+    namespace serialization {
+        class extended_type_info;
+    }
+namespace archive {
+namespace detail {
+
+bool  
+basic_serializer_map::type_info_pointer_compare::operator()(
+    const basic_serializer * lhs, const basic_serializer * rhs
+) const {
+    return *lhs < *rhs;
+}
+
+BOOST_ARCHIVE_DECL(bool) 
+basic_serializer_map::insert(const basic_serializer * bs){
+    // attempt to insert serializer into it's map
+    const std::pair<map_type::iterator, bool> result =
+        m_map.insert(bs);
+    // the following is commented out - rather than being just
+    // deleted as a reminder not to try this.
+
+    // At first it seemed like a good idea.  It enforced the
+    // idea that a type be exported from at most one code module
+    // (DLL or mainline).  This would enforce a "one definition rule" 
+    // across code modules. This seems a good idea to me.  
+    // But it seems that it's just too hard for many users to implement.
+
+    // Ideally, I would like to make this exception a warning -
+    // but there isn't anyway to do that.
+
+    // if this fails, it's because it's been instantiated
+    // in multiple modules - DLLS - a recipe for problems.
+    // So trap this here
+    // if(!result.second){
+    //     boost::serialization::throw_exception(
+    //         archive_exception(
+    //             archive_exception::multiple_code_instantiation,
+    //             bs->get_debug_info()
+    //         )
+    //     );
+    // }
+    return true;
+}
+
+BOOST_ARCHIVE_DECL(void) 
+basic_serializer_map::erase(const basic_serializer * bs){
+    map_type::iterator it = m_map.begin();
+    map_type::iterator it_end = m_map.end();
+
+    while(it != it_end){
+        // note item 9 from Effective STL !!! it++
+        if(*it == bs)
+            m_map.erase(it++);
+        else
+            it++;
+    }
+    // note: we can't do this since some of the eti records
+    // we're pointing to might be expired and the comparison
+    // won't work.  Leave this as a reminder not to "optimize" this.
+    //it = m_map.find(bs);
+    //assert(it != m_map.end());
+    //if(*it == bs)
+    //    m_map.erase(it);
+}
+BOOST_ARCHIVE_DECL(const basic_serializer *)
+basic_serializer_map::find(
+    const boost::serialization::extended_type_info & eti
+) const {
+    const basic_serializer_arg bs(eti);
+    map_type::const_iterator it;
+    it = m_map.find(& bs);
+    if(it == m_map.end()){
+        BOOST_ASSERT(false);
+        return 0;
+    }
+    return *it;
+}
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
diff --git a/SRC/Serialization/src/basic_text_iprimitive.cpp b/SRC/Serialization/src/basic_text_iprimitive.cpp
new file mode 100755
index 0000000..a34de24
--- /dev/null
+++ b/SRC/Serialization/src/basic_text_iprimitive.cpp
@@ -0,0 +1,28 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_text_iprimitive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <istream>
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/impl/basic_text_iprimitive.ipp>
+
+namespace boost {
+namespace archive {
+
+// explicitly instantiate for this type of text stream
+template class basic_text_iprimitive<std::istream> ;
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/basic_text_oprimitive.cpp b/SRC/Serialization/src/basic_text_oprimitive.cpp
new file mode 100755
index 0000000..49f2dcc
--- /dev/null
+++ b/SRC/Serialization/src/basic_text_oprimitive.cpp
@@ -0,0 +1,28 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_text_oprimitive.cpp:
+
+// (C) Copyright 2004 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <ostream>
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/detail/auto_link_archive.hpp>
+#include <Serialization/archive/impl/basic_text_oprimitive.ipp>
+
+namespace boost {
+namespace archive {
+
+// explicitly instantiate for this type of text stream
+template class basic_text_oprimitive<std::ostream> ;
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/basic_text_wiprimitive.cpp b/SRC/Serialization/src/basic_text_wiprimitive.cpp
new file mode 100755
index 0000000..1d17873
--- /dev/null
+++ b/SRC/Serialization/src/basic_text_wiprimitive.cpp
@@ -0,0 +1,35 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_text_wiprimitive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <istream>
+
+#define BOOST_WARCHIVE_SOURCE
+#include <Serialization/archive/detail/auto_link_warchive.hpp>
+#include <Serialization/archive/impl/basic_text_iprimitive.ipp>
+
+namespace boost {
+namespace archive {
+
+template class basic_text_iprimitive<std::wistream> ;
+
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Serialization/src/basic_text_woprimitive.cpp b/SRC/Serialization/src/basic_text_woprimitive.cpp
new file mode 100755
index 0000000..1ec44a0
--- /dev/null
+++ b/SRC/Serialization/src/basic_text_woprimitive.cpp
@@ -0,0 +1,35 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_text_woprimitive.cpp:
+
+// (C) Copyright 2004 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <ostream>
+
+#define BOOST_WARCHIVE_SOURCE
+#include <Serialization/archive/detail/auto_link_warchive.hpp>
+#include <Serialization/archive/impl/basic_text_oprimitive.ipp>
+
+namespace boost {
+namespace archive {
+
+template class basic_text_oprimitive<std::wostream> ;
+
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Serialization/src/basic_xml_archive.cpp b/SRC/Serialization/src/basic_xml_archive.cpp
new file mode 100755
index 0000000..8298b39
--- /dev/null
+++ b/SRC/Serialization/src/basic_xml_archive.cpp
@@ -0,0 +1,51 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_xml_archive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/basic_xml_archive.hpp>
+
+namespace boost {
+namespace archive {
+
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_OBJECT_ID(){
+    return "object_id";
+}
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_OBJECT_REFERENCE(){
+    return "object_id_reference";
+}
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_CLASS_ID(){
+    return "class_id";
+}
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_CLASS_ID_REFERENCE(){
+    return "class_id_reference";
+}
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_CLASS_NAME(){
+    return "class_name";
+}
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_TRACKING(){
+    return "tracking_level";
+}
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_VERSION(){
+    return "version";
+}
+BOOST_ARCHIVE_DECL(const char *)
+BOOST_ARCHIVE_XML_SIGNATURE(){
+    return "signature";
+}
+
+}// namespace archive
+}// namespace boost
diff --git a/SRC/Serialization/src/basic_xml_grammar.ipp b/SRC/Serialization/src/basic_xml_grammar.ipp
new file mode 100755
index 0000000..b6c1be3
--- /dev/null
+++ b/SRC/Serialization/src/basic_xml_grammar.ipp
@@ -0,0 +1,468 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// basic_xml_grammar.ipp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <istream>
+#include <algorithm>
+#include <boost/config.hpp> // BOOST_DEDUCED_TYPENAME
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+// spirit stuff
+#include <boost/spirit/include/classic_operators.hpp>
+#include <boost/spirit/include/classic_actions.hpp>
+#include <boost/spirit/include/classic_numerics.hpp>
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+// for head_iterator test
+//#include <boost/bind.hpp> 
+#include <boost/function.hpp>
+#include <Serialization/pfto.hpp>
+
+#include <boost/io/ios_state.hpp>
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/archive/impl/basic_xml_grammar.hpp>
+#include <Serialization/archive/xml_archive_exception.hpp>
+#include <Serialization/archive/basic_xml_archive.hpp>
+#include <Serialization/archive/iterators/xml_unescape.hpp>
+
+using namespace boost::spirit::classic;
+
+namespace boost {
+namespace archive {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// template code for basic_xml_grammar of both wchar_t and char types
+
+namespace xml { // anonymous
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+template<class T>
+struct assign_impl {
+    T & t;
+    void operator()(const T t_) const {
+        t = t_;
+    }
+    assign_impl(T &  t_)
+        : t(t_)
+    {}
+};
+
+template<>
+struct assign_impl<std::string> {
+    std::string & t;
+    void operator()(
+        std::string::const_iterator b, 
+        std::string::const_iterator e
+    ) const {
+        t.resize(0);
+        while(b != e){
+            t += * b;
+            ++b;
+        }
+    }
+    assign_impl<std::string> & operator=(
+        assign_impl<std::string> & rhs
+    );
+    assign_impl(std::string & t_)
+        : t(t_)
+    {}
+};
+
+#ifndef BOOST_NO_STD_WSTRING
+template<>
+struct assign_impl<std::wstring> {
+    std::wstring & t;
+    void operator()(
+        std::wstring::const_iterator b, 
+        std::wstring::const_iterator e
+    ) const {
+        t.resize(0);
+        while(b != e){
+            t += * b;
+            ++b;
+        }
+    }
+    assign_impl(std::wstring & t_)
+        : t(t_)
+    {}
+};
+#endif
+
+template<class T>
+assign_impl<T> assign_object(T &t){
+    return assign_impl<T>(t);
+} 
+
+struct assign_level {
+    tracking_type & tracking_level;
+    void operator()(const unsigned int tracking_level_) const {
+        tracking_level = (0 == tracking_level_) ? false : true;
+    }
+    assign_level(tracking_type &  tracking_level_)
+        : tracking_level(tracking_level_)
+    {}
+};
+
+template<class String, class Iterator>
+struct append_string {
+    String & contents;
+    void operator()(Iterator start, Iterator end) const {
+    #if 0
+        typedef boost::archive::iterators::xml_unescape<Iterator> translator;
+        contents.append(
+            translator(BOOST_MAKE_PFTO_WRAPPER(start)), 
+            translator(BOOST_MAKE_PFTO_WRAPPER(end))
+        );
+    #endif
+        contents.append(start, end);
+    }
+    append_string(String & contents_)
+        : contents(contents_)
+    {}
+};
+
+template<class String>
+struct append_char {
+    String & contents;
+    void operator()(const unsigned int char_value) const {
+        const BOOST_DEDUCED_TYPENAME String::value_type z = char_value;
+        contents += z;
+    }
+    append_char(String & contents_)
+        : contents(contents_)
+    {}
+};
+
+template<class String, unsigned int c>
+struct append_lit {
+    String & contents;
+    template<class X, class Y>
+    void operator()(const X & /*x*/, const Y & /*y*/) const {
+        const BOOST_DEDUCED_TYPENAME String::value_type z = c;
+        contents += z;
+    }
+    append_lit(String & contents_)
+        : contents(contents_)
+    {}
+};
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+} // namespace anonymous
+
+template<class CharType>
+bool basic_xml_grammar<CharType>::my_parse(
+    BOOST_DEDUCED_TYPENAME basic_xml_grammar<CharType>::IStream & is,
+    const rule_t & rule_,
+    CharType delimiter
+) const {
+    if(is.fail()){
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::input_stream_error)
+        );
+    }
+    
+    boost::io::ios_flags_saver ifs(is);
+    is >> std::noskipws;
+
+    std::basic_string<CharType> arg;
+    
+    CharType val;
+    do{
+        BOOST_DEDUCED_TYPENAME basic_xml_grammar<CharType>::IStream::int_type
+            result = is.get();
+        if(is.fail())
+            return false;
+        val = static_cast<CharType>(result);
+        arg += val;
+    }
+    while(val != delimiter);
+    
+    // read just one more character.  This will be the newline after the tag
+    // this is so that the next operation will return fail if the archive
+    // is terminated.  This will permit the archive to be used for debug
+    // and transaction data logging in the standard way.
+    
+    parse_info<BOOST_DEDUCED_TYPENAME std::basic_string<CharType>::iterator> 
+        result = boost::spirit::classic::parse(arg.begin(), arg.end(), rule_);
+    return result.hit;
+}
+
+template<class CharType>
+bool basic_xml_grammar<CharType>::parse_start_tag(
+    BOOST_DEDUCED_TYPENAME basic_xml_grammar<CharType>::IStream & is
+){
+    rv.class_name.resize(0);
+    return my_parse(is, STag);
+}
+
+template<class CharType>
+bool basic_xml_grammar<CharType>::parse_end_tag(IStream & is) const {
+    return my_parse(is, ETag);
+}
+
+template<class CharType>
+bool basic_xml_grammar<CharType>::parse_string(IStream & is, StringType & s){
+    rv.contents.resize(0);
+    bool result = my_parse(is, content, '<');
+    // note: unget caused a problem with dinkumware.  replace with
+ // is.unget();
+    // putback another dilimiter instead
+    is.putback('<');
+    if(result)
+        s = rv.contents;
+    return result;
+}
+
+template<class CharType>
+basic_xml_grammar<CharType>::basic_xml_grammar(){
+    init_chset();
+
+    S =
+        +(Sch)
+    ;
+
+    // refactoring to workaround template depth on darwin
+    NameHead = (Letter | '_' | ':');
+    NameTail = *NameChar ;
+    Name =
+      NameHead >> NameTail
+    ;
+
+    Eq =
+        !S >> '=' >> !S
+    ;
+
+    AttributeList = 
+        *(S >> Attribute)
+    ;
+    
+    STag =
+        !S
+        >> '<'
+        >> Name  [xml::assign_object(rv.object_name)]
+        >> AttributeList
+        >> !S
+        >> '>'
+    ;
+
+    ETag =
+        !S
+        >> "</"
+        >> Name [xml::assign_object(rv.object_name)]
+        >> !S 
+        >> '>'
+    ;
+
+    // refactoring to workaround template depth on darwin
+    CharDataChars = +(anychar_p - chset_p(L"&<"));
+    CharData =  
+        CharDataChars [
+            xml::append_string<
+                StringType, 
+                BOOST_DEDUCED_TYPENAME std::basic_string<CharType>::const_iterator
+            >(rv.contents)
+        ]
+    ;
+
+    // slight factoring works around ICE in msvc 6.0
+    CharRef1 = 
+        str_p(L"&#") >> uint_p [xml::append_char<StringType>(rv.contents)] >> L';'
+    ;
+    CharRef2 =
+        str_p(L"&#x") >> hex_p [xml::append_char<StringType>(rv.contents)] >> L';'
+    ;
+    CharRef = CharRef1 | CharRef2 ;
+
+    AmpRef = str_p(L"&")[xml::append_lit<StringType, L'&'>(rv.contents)];
+    LTRef = str_p(L"<")[xml::append_lit<StringType, L'<'>(rv.contents)];
+    GTRef = str_p(L">")[xml::append_lit<StringType, L'>'>(rv.contents)];
+    AposRef = str_p(L"'")[xml::append_lit<StringType, L'\''>(rv.contents)];
+    QuoteRef = str_p(L""")[xml::append_lit<StringType, L'"'>(rv.contents)];
+
+    Reference =
+        AmpRef
+        | LTRef
+        | GTRef
+        | AposRef
+        | QuoteRef
+        | CharRef
+    ;
+
+    content = 
+        L"<" // should be end_p
+        | +(Reference | CharData) >> L"<"
+    ;
+
+    ClassIDAttribute = 
+        str_p(BOOST_ARCHIVE_XML_CLASS_ID()) >> NameTail
+        >> Eq 
+        >> L'"'
+        >> int_p [xml::assign_object(rv.class_id)]
+        >> L'"'
+      ;
+
+    ObjectIDAttribute = (
+        str_p(BOOST_ARCHIVE_XML_OBJECT_ID()) 
+        | 
+        str_p(BOOST_ARCHIVE_XML_OBJECT_REFERENCE()) 
+        )
+        >> NameTail
+        >> Eq 
+        >> L'"'
+        >> L'_'
+        >> uint_p [xml::assign_object(rv.object_id)]
+        >> L'"'
+    ;
+        
+    AmpName = str_p(L"&")[xml::append_lit<StringType, L'&'>(rv.class_name)];
+    LTName = str_p(L"<")[xml::append_lit<StringType, L'<'>(rv.class_name)];
+    GTName = str_p(L">")[xml::append_lit<StringType, L'>'>(rv.class_name)];
+    ClassNameChar = 
+        AmpName
+        | LTName
+        | GTName
+        | (anychar_p - chset_p(L"\"")) [xml::append_char<StringType>(rv.class_name)]
+    ;
+    
+    ClassName =
+        * ClassNameChar
+    ;
+    
+    ClassNameAttribute = 
+        str_p(BOOST_ARCHIVE_XML_CLASS_NAME()) 
+        >> Eq 
+        >> L'"'
+        >> ClassName
+        >> L'"'
+    ;
+
+    TrackingAttribute = 
+        str_p(BOOST_ARCHIVE_XML_TRACKING())
+        >> Eq
+        >> L'"'
+        >> uint_p [xml::assign_level(rv.tracking_level)]
+        >> L'"'
+    ;
+
+    VersionAttribute = 
+        str_p(BOOST_ARCHIVE_XML_VERSION())
+        >> Eq
+        >> L'"'
+        >> uint_p [xml::assign_object(rv.version)]
+        >> L'"'
+    ;
+
+    UnusedAttribute = 
+        Name
+        >> Eq
+        >> L'"'
+        >> !CharData
+        >> L'"'
+    ;
+
+    Attribute =
+        ClassIDAttribute
+        | ObjectIDAttribute
+        | ClassNameAttribute
+        | TrackingAttribute
+        | VersionAttribute
+        | UnusedAttribute
+    ;
+
+    XMLDeclChars = *(anychar_p - chset_p(L"?>"));
+    XMLDecl =
+        !S
+        >> str_p(L"<?xml")
+        >> S
+        >> str_p(L"version")
+        >> Eq
+        >> str_p(L"\"1.0\"")
+        >> XMLDeclChars
+        >> !S
+        >> str_p(L"?>")
+    ;
+
+    DocTypeDeclChars = *(anychar_p - chset_p(L">"));
+    DocTypeDecl =
+        !S
+        >> str_p(L"<!DOCTYPE")
+        >> DocTypeDeclChars
+        >> L'>'
+    ;
+
+    SignatureAttribute = 
+        str_p(L"signature") 
+        >> Eq 
+        >> L'"'
+        >> Name [xml::assign_object(rv.class_name)]
+        >> L'"'
+    ;
+    
+    SerializationWrapper =
+        !S
+        >> str_p(L"<boost_serialization")
+        >> S
+        >> ( (SignatureAttribute >> S >> VersionAttribute)
+           | (VersionAttribute >> S >> SignatureAttribute)
+           )
+        >> !S
+        >> L'>'
+    ;
+}
+
+template<class CharType>
+void basic_xml_grammar<CharType>::init(IStream & is){
+    init_chset();
+    if(! my_parse(is, XMLDecl))
+        boost::serialization::throw_exception(
+            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
+        );
+    if(! my_parse(is, DocTypeDecl))
+        boost::serialization::throw_exception(
+            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
+        );
+    if(! my_parse(is, SerializationWrapper))
+        boost::serialization::throw_exception(
+            xml_archive_exception(xml_archive_exception::xml_archive_parsing_error)
+        );
+    if(! std::equal(rv.class_name.begin(), rv.class_name.end(), BOOST_ARCHIVE_SIGNATURE()))
+        boost::serialization::throw_exception(
+            archive_exception(archive_exception::invalid_signature)
+        );
+}
+
+template<class CharType>
+void basic_xml_grammar<CharType>::windup(IStream & is){
+    if(is.fail())
+        return;
+    // uh-oh - don't throw exception from code called by a destructor !
+    // so just ignore any failure.
+    my_parse(is, ETag);
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/binary_iarchive.cpp b/SRC/Serialization/src/binary_iarchive.cpp
new file mode 100755
index 0000000..9095113
--- /dev/null
+++ b/SRC/Serialization/src/binary_iarchive.cpp
@@ -0,0 +1,53 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// binary_iarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <istream>
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/binary_iarchive.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/impl/basic_binary_iprimitive.ipp>
+#include <Serialization/archive/impl/basic_binary_iarchive.ipp>
+
+namespace boost {
+namespace archive {
+
+// explicitly instantiate for this type of stream
+template class detail::archive_serializer_map<naked_binary_iarchive>;
+template class basic_binary_iprimitive<
+    naked_binary_iarchive,
+    std::istream::char_type, 
+    std::istream::traits_type
+>;
+template class basic_binary_iarchive<naked_binary_iarchive> ;
+template class binary_iarchive_impl<
+    naked_binary_iarchive, 
+    std::istream::char_type, 
+    std::istream::traits_type
+>;
+
+// explicitly instantiate for this type of stream
+template class detail::archive_serializer_map<binary_iarchive>;
+template class basic_binary_iprimitive<
+    binary_iarchive,
+    std::istream::char_type, 
+    std::istream::traits_type
+>;
+template class basic_binary_iarchive<binary_iarchive> ;
+template class binary_iarchive_impl<
+    binary_iarchive, 
+    std::istream::char_type, 
+    std::istream::traits_type
+>;
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/binary_oarchive.cpp b/SRC/Serialization/src/binary_oarchive.cpp
new file mode 100755
index 0000000..53dcff4
--- /dev/null
+++ b/SRC/Serialization/src/binary_oarchive.cpp
@@ -0,0 +1,39 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// binary_oarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <ostream>
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/binary_oarchive.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+// explicitly instantiate for this type of binary stream
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/impl/basic_binary_oprimitive.ipp>
+#include <Serialization/archive/impl/basic_binary_oarchive.ipp>
+
+namespace boost {
+namespace archive {
+
+template class detail::archive_serializer_map<binary_oarchive>;
+template class basic_binary_oprimitive<
+    binary_oarchive, 
+    std::ostream::char_type, 
+    std::ostream::traits_type
+>;
+template class basic_binary_oarchive<binary_oarchive> ;
+template class binary_oarchive_impl<
+    binary_oarchive, 
+    std::ostream::char_type, 
+    std::ostream::traits_type
+>;
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/binary_wiarchive.cpp b/SRC/Serialization/src/binary_wiarchive.cpp
new file mode 100755
index 0000000..795d27f
--- /dev/null
+++ b/SRC/Serialization/src/binary_wiarchive.cpp
@@ -0,0 +1,60 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// binary_wiarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#define BOOST_WARCHIVE_SOURCE
+#include <Serialization/archive/binary_wiarchive.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+// explicitly instantiate for this type of text stream
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/impl/basic_binary_iprimitive.ipp>
+#include <Serialization/archive/impl/basic_binary_iarchive.ipp>
+
+namespace boost {
+namespace archive {
+
+template class detail::archive_serializer_map<naked_binary_wiarchive>;
+template class basic_binary_iprimitive<
+    naked_binary_wiarchive,
+    wchar_t, 
+    std::char_traits<wchar_t> 
+>;
+template class basic_binary_iarchive<naked_binary_wiarchive> ;
+template class binary_iarchive_impl<
+    naked_binary_wiarchive, 
+    wchar_t, 
+    std::char_traits<wchar_t> 
+>;
+
+// explicitly instantiate for this type of text stream
+template class detail::archive_serializer_map<binary_wiarchive>;
+template class basic_binary_iprimitive<
+    binary_wiarchive,
+    wchar_t, 
+    std::char_traits<wchar_t> 
+>;
+template class basic_binary_iarchive<binary_wiarchive> ;
+template class binary_iarchive_impl<
+    binary_wiarchive, 
+    wchar_t, 
+    std::char_traits<wchar_t> 
+>;
+
+} // namespace archive
+} // namespace boost
+
+#endif  // BOOST_NO_STD_WSTREAMBUF
+
diff --git a/SRC/Serialization/src/binary_woarchive.cpp b/SRC/Serialization/src/binary_woarchive.cpp
new file mode 100755
index 0000000..0963b7a
--- /dev/null
+++ b/SRC/Serialization/src/binary_woarchive.cpp
@@ -0,0 +1,44 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// binary_woarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#define BOOST_WARCHIVE_SOURCE
+#include <Serialization/archive/binary_woarchive.hpp>
+
+// explicitly instantiate for this type of text stream
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/impl/basic_binary_oprimitive.ipp>
+#include <Serialization/archive/impl/basic_binary_oarchive.ipp>
+
+namespace boost {
+namespace archive {
+
+template class detail::archive_serializer_map<binary_woarchive>;
+template class basic_binary_oprimitive<
+    binary_woarchive, 
+    wchar_t, 
+    std::char_traits<wchar_t> 
+>;
+template class basic_binary_oarchive<binary_woarchive> ;
+template class binary_oarchive_impl<
+    binary_woarchive, 
+    wchar_t, 
+    std::char_traits<wchar_t> 
+>;
+
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Serialization/src/codecvt_null.cpp b/SRC/Serialization/src/codecvt_null.cpp
new file mode 100755
index 0000000..6ca9ab3
--- /dev/null
+++ b/SRC/Serialization/src/codecvt_null.cpp
@@ -0,0 +1,83 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// codecvt_null.cpp
+
+// Copyright (c) 2004 Robert Ramey, Indiana University (garcia at osl.iu.edu)
+// Andrew Lumsdaine, Indiana University (lums at osl.iu.edu). 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#define BOOST_WARCHIVE_SOURCE
+#include <Serialization/archive/codecvt_null.hpp>
+
+// codecvt implementation for passing wchar_t objects to char output
+// without any translation whatever.  Used to implement binary output
+// of wchar_t objects.
+
+namespace boost {
+namespace archive {
+
+BOOST_WARCHIVE_DECL(std::codecvt_base::result)
+codecvt_null<wchar_t>::do_out(
+    std::mbstate_t & /*state*/,
+    const wchar_t * first1, 
+    const wchar_t * last1,
+    const wchar_t * & next1,
+    char * first2, 
+    char * last2, 
+    char * & next2
+) const {
+    while(first1 != last1){
+        // Per std::22.2.1.5.2/2, we can store no more that
+        // last2-first2 characters. If we need to more encode
+        // next internal char type, return 'partial'.
+        if(static_cast<int>(sizeof(wchar_t)) > (last2 - first2)){
+            next1 = first1;
+            next2 = first2;
+            return std::codecvt_base::partial;
+        }
+        * reinterpret_cast<wchar_t *>(first2) = * first1++;
+        first2 += sizeof(wchar_t);
+
+    }
+    next1 = first1;
+    next2 = first2;
+    return std::codecvt_base::ok;
+}
+
+BOOST_WARCHIVE_DECL(std::codecvt_base::result)
+codecvt_null<wchar_t>::do_in(
+    std::mbstate_t & state,
+    const char * first1, 
+    const char * last1, 
+    const char * & next1,
+    wchar_t * first2,
+    wchar_t * last2,
+    wchar_t * & next2
+) const {
+    // Process input characters until we've run of them,
+    // or the number of remaining characters is not
+    // enough to construct another output character,
+    // or we've run out of place for output characters.
+    while(first2 != last2){
+        // Have we converted all input characters? 
+        // Return with 'ok', if so.
+        if (first1 == last1)
+             break;
+        // Do we have less input characters than needed
+        // for a single output character?        
+        if(static_cast<int>(sizeof(wchar_t)) > (last1 - first1)){
+            next1 = first1;
+            next2 = first2;
+            return std::codecvt_base::partial; 
+        }
+        *first2++ = * reinterpret_cast<const wchar_t *>(first1);
+        first1 += sizeof(wchar_t);
+    }
+    next1 = first1;
+    next2 = first2;
+    return std::codecvt_base::ok;
+}
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/extended_type_info.cpp b/SRC/Serialization/src/extended_type_info.cpp
new file mode 100755
index 0000000..374107b
--- /dev/null
+++ b/SRC/Serialization/src/extended_type_info.cpp
@@ -0,0 +1,188 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// extended_type_info.cpp: implementation for portable version of type_info
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <algorithm>
+#include <set>
+#include <utility>
+#include <boost/assert.hpp>
+#include <cstddef> // NULL
+
+#include <boost/config.hpp> // msvc needs this to suppress warning
+
+#include <cstring>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ using ::strcmp; }
+#endif
+
+#include <boost/detail/no_exceptions_support.hpp>
+#include <Serialization/singleton.hpp>
+#include <Serialization/force_include.hpp>
+
+#define BOOST_SERIALIZATION_SOURCE
+#include <Serialization/extended_type_info.hpp>
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost { 
+namespace serialization {
+namespace detail {
+
+struct key_compare
+{
+    bool
+    operator()(
+        const extended_type_info * lhs, 
+        const extended_type_info * rhs
+    ) const {
+        // performance shortcut
+        if(lhs == rhs)
+            return false;
+        const char * l = lhs->get_key();
+        BOOST_ASSERT(NULL != l);
+        const char * r = rhs->get_key();
+        BOOST_ASSERT(NULL != r);
+        // performance shortcut
+        // shortcut to exploit string pooling
+        if(l == r)
+            return false;
+        // for exported types, use the string key so that
+        // multiple instances in different translation units
+        // can be matched up
+        return std::strcmp(l, r) < 0;
+    }
+};
+
+typedef std::multiset<const extended_type_info *, key_compare> ktmap;
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+class extended_type_info_arg : public extended_type_info
+{
+    virtual bool
+    is_less_than(const extended_type_info & /*rhs*/) const {
+        BOOST_ASSERT(false);
+        return false;
+    };
+    virtual bool
+    is_equal(const extended_type_info & /*rhs*/) const {
+        BOOST_ASSERT(false);
+        return false;
+    };
+    virtual const char * get_debug_info() const {
+        return get_key();
+    }
+    virtual void * construct(unsigned int /*count*/, ...) const{
+        BOOST_ASSERT(false);
+        return NULL;
+    }
+    virtual void destroy(void const * const /*p*/) const {
+        BOOST_ASSERT(false);
+    }
+public:
+    extended_type_info_arg(const char * key) :
+        extended_type_info(0, key)
+    {}
+
+    ~extended_type_info_arg(){
+    }
+};
+
+#ifdef BOOST_MSVC
+#  pragma warning(pop)
+#endif
+
+} // namespace detail
+
+BOOST_SERIALIZATION_DECL(void)  
+extended_type_info::key_register() const{
+    if(NULL == get_key())
+        return;
+    singleton<detail::ktmap>::get_mutable_instance().insert(this);
+}
+
+BOOST_SERIALIZATION_DECL(void)  
+extended_type_info::key_unregister() const{
+    if(NULL == get_key())
+        return;
+    if(! singleton<detail::ktmap>::is_destroyed()){
+        detail::ktmap & x = singleton<detail::ktmap>::get_mutable_instance();
+        detail::ktmap::iterator start = x.lower_bound(this);
+        detail::ktmap::iterator end = x.upper_bound(this);
+        // remove entry in map which corresponds to this type
+        for(;start != end; ++start){
+            if(this == *start){
+                x.erase(start);
+                break;
+            }
+        }
+    }
+}
+
+BOOST_SERIALIZATION_DECL(const extended_type_info *) 
+extended_type_info::find(const char *key) {
+    BOOST_ASSERT(NULL != key);
+    const detail::ktmap & k = singleton<detail::ktmap>::get_const_instance();
+    const detail::extended_type_info_arg eti_key(key);
+    const detail::ktmap::const_iterator it = k.find(& eti_key);
+    if(k.end() == it)
+        return NULL;
+    return *(it);
+}
+
+BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
+extended_type_info::extended_type_info(
+    const unsigned int type_info_key,
+    const char * key
+) :
+    m_type_info_key(type_info_key),
+    m_key(key)
+{
+}
+
+BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) 
+extended_type_info::~extended_type_info(){
+}
+
+BOOST_SERIALIZATION_DECL(bool)  
+extended_type_info::operator<(const extended_type_info &rhs) const {
+    // short cut for a common cases
+    if(this == & rhs)
+        return false;
+    if(m_type_info_key == rhs.m_type_info_key){
+        return is_less_than(rhs);
+    }
+    if(m_type_info_key < rhs.m_type_info_key)
+        return true;
+    return false;
+}
+
+BOOST_SERIALIZATION_DECL(bool)
+extended_type_info::operator==(const extended_type_info &rhs) const {
+    // short cut for a common cases
+    if(this == & rhs)
+        return true;
+    if(m_type_info_key != rhs.m_type_info_key){
+        return false;
+    }
+    return is_equal(rhs);
+}
+
+} // namespace serialization
+} // namespace boost
diff --git a/SRC/Serialization/src/extended_type_info_no_rtti.cpp b/SRC/Serialization/src/extended_type_info_no_rtti.cpp
new file mode 100755
index 0000000..259be06
--- /dev/null
+++ b/SRC/Serialization/src/extended_type_info_no_rtti.cpp
@@ -0,0 +1,85 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// extended_type_info_no_rtti.cpp: specific implementation of type info
+// that is NOT based on typeid
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstring>
+#include <cstddef> // NULL
+#include <boost/assert.hpp>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{ using ::strcmp; }
+#endif
+
+#define BOOST_SERIALIZATION_SOURCE
+#include <Serialization/extended_type_info_no_rtti.hpp>
+
+#define EXTENDED_TYPE_INFO_NO_RTTI_KEY 2
+
+namespace boost { 
+namespace serialization { 
+namespace no_rtti_system { 
+
+BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())  
+extended_type_info_no_rtti_0::extended_type_info_no_rtti_0(
+    const char * key
+) :
+    extended_type_info(EXTENDED_TYPE_INFO_NO_RTTI_KEY, key)
+{}
+
+BOOST_SERIALIZATION_DECL(bool)
+extended_type_info_no_rtti_0::is_less_than(
+    const boost::serialization::extended_type_info &rhs) const 
+{
+    // shortcut for common case
+    if(this == & rhs)
+        return false;
+    const char * l = get_key();
+    const char * r = rhs.get_key();
+    // if this assertion is triggered, it could mean one of the following
+    // a) This class was never exported - make sure all calls which use
+    // this method of type id are in fact exported.
+    // b) This class was used (e.g. serialized through a pointer) before
+    // it was exported.  Make sure that classes which use this method
+    // of type id are NOT "automatically" registered by serializating 
+    // through a pointer to the to most derived class.  OR make sure
+    // that the BOOST_CLASS_EXPORT is included in every file
+    // which does this.
+    BOOST_ASSERT(NULL != l);
+    BOOST_ASSERT(NULL != r);
+    return std::strcmp(l, r) < 0;
+}
+
+BOOST_SERIALIZATION_DECL(bool)
+extended_type_info_no_rtti_0::is_equal(
+    const boost::serialization::extended_type_info &rhs) const 
+{
+    // shortcut for common case
+    if(this == & rhs)
+        return true;
+    // null keys don't match with anything
+    const char * l = get_key();
+    BOOST_ASSERT(NULL != l);
+    if(NULL == l)
+        return false;
+    const char * r = rhs.get_key();
+    BOOST_ASSERT(NULL != r);
+    if(NULL == r)
+        return false;
+    return 0 == std::strcmp(l, r);
+}
+
+BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())  
+extended_type_info_no_rtti_0::~extended_type_info_no_rtti_0()
+{}
+
+} // namespece detail
+} // namespace serialization
+} // namespace boost
diff --git a/SRC/Serialization/src/extended_type_info_typeid.cpp b/SRC/Serialization/src/extended_type_info_typeid.cpp
new file mode 100755
index 0000000..6cd311b
--- /dev/null
+++ b/SRC/Serialization/src/extended_type_info_typeid.cpp
@@ -0,0 +1,161 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// extended_type_info_typeid.cpp: specific implementation of type info
+// that is based on typeid
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <algorithm>
+#include <set>
+#include <boost/assert.hpp>
+#include <typeinfo>
+#include <cstddef> // NULL
+
+#include <boost/detail/no_exceptions_support.hpp>
+
+#include <Serialization/singleton.hpp>
+
+#define BOOST_SERIALIZATION_SOURCE
+#include <Serialization/extended_type_info_typeid.hpp>
+
+namespace boost { 
+namespace serialization { 
+namespace typeid_system {
+
+#define EXTENDED_TYPE_INFO_TYPE_KEY 1
+
+struct type_compare
+{
+    bool
+    operator()(
+        const extended_type_info_typeid_0 * lhs,
+        const extended_type_info_typeid_0 * rhs
+    ) const {
+        return lhs->is_less_than(*rhs);
+    }
+};
+
+typedef std::multiset<
+    const extended_type_info_typeid_0 *,
+    type_compare
+> tkmap;
+    
+BOOST_SERIALIZATION_DECL(bool) 
+extended_type_info_typeid_0::is_less_than(
+    const boost::serialization::extended_type_info & rhs
+) const {
+    // shortcut for common case
+    if(this == & rhs)
+        return false;
+    return 0 != m_ti->before(
+        *(static_cast<const extended_type_info_typeid_0 &>(rhs).m_ti)
+    );
+}
+
+BOOST_SERIALIZATION_DECL(bool) 
+extended_type_info_typeid_0::is_equal(
+    const boost::serialization::extended_type_info & rhs
+) const {
+    return 
+        // note: std::type_info == operator returns an int !!!
+        // the following permits conversion to bool without a warning.
+        ! (
+        * m_ti 
+        != *(static_cast<const extended_type_info_typeid_0 &>(rhs).m_ti)
+        )
+    ;
+}
+
+BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
+extended_type_info_typeid_0::extended_type_info_typeid_0(
+    const char * key
+) :
+    extended_type_info(EXTENDED_TYPE_INFO_TYPE_KEY, key),
+    m_ti(NULL)
+{}
+
+BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
+extended_type_info_typeid_0::~extended_type_info_typeid_0()
+{}
+
+BOOST_SERIALIZATION_DECL(void) 
+extended_type_info_typeid_0::type_register(const std::type_info & ti){
+    m_ti = & ti;
+    singleton<tkmap>::get_mutable_instance().insert(this);
+}
+
+BOOST_SERIALIZATION_DECL(void) 
+extended_type_info_typeid_0::type_unregister()
+{
+    if(NULL != m_ti){
+        if(! singleton<tkmap>::is_destroyed()){
+            tkmap & x = singleton<tkmap>::get_mutable_instance();
+            tkmap::iterator start = x.lower_bound(this);
+            tkmap::iterator end = x.upper_bound(this);
+            BOOST_ASSERT(start != end);
+
+            // remove entry in map which corresponds to this type
+            do{
+            if(this == *start)
+                x.erase(start++);
+            else
+                ++start;
+            }while(start != end);
+        }
+    }
+    m_ti = NULL;
+}
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+// this derivation is used for creating search arguments
+class extended_type_info_typeid_arg : 
+    public extended_type_info_typeid_0
+{
+    virtual void * construct(unsigned int /*count*/, ...) const{
+        BOOST_ASSERT(false);
+        return NULL;
+    }
+    virtual void destroy(void const * const /*p*/) const {
+        BOOST_ASSERT(false);
+    }
+public:
+    extended_type_info_typeid_arg(const std::type_info & ti) :
+        extended_type_info_typeid_0(NULL)
+    { 
+        // note absense of self register and key as this is used only as
+        // search argument given a type_info reference and is not to 
+        // be added to the map.
+        m_ti = & ti;
+    }
+    ~extended_type_info_typeid_arg(){
+        m_ti = NULL;
+    }
+};
+
+#ifdef BOOST_MSVC
+#  pragma warning(pop)
+#endif
+
+BOOST_SERIALIZATION_DECL(const extended_type_info *)
+extended_type_info_typeid_0::get_extended_type_info(
+    const std::type_info & ti
+) const {
+    typeid_system::extended_type_info_typeid_arg etia(ti);
+    const tkmap & t = singleton<tkmap>::get_const_instance();
+    const tkmap::const_iterator it = t.find(& etia);
+    if(t.end() == it)
+        return NULL;
+    return *(it);
+}
+
+} // namespace detail
+} // namespace serialization
+} // namespace boost
diff --git a/SRC/Serialization/src/polymorphic_iarchive.cpp b/SRC/Serialization/src/polymorphic_iarchive.cpp
new file mode 100755
index 0000000..1c150ec
--- /dev/null
+++ b/SRC/Serialization/src/polymorphic_iarchive.cpp
@@ -0,0 +1,29 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_iarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/polymorphic_iarchive.hpp>
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+template class archive_serializer_map<polymorphic_iarchive>;
+
+} // detail
+} // archive
+} // boost
diff --git a/SRC/Serialization/src/polymorphic_oarchive.cpp b/SRC/Serialization/src/polymorphic_oarchive.cpp
new file mode 100755
index 0000000..e88a447
--- /dev/null
+++ b/SRC/Serialization/src/polymorphic_oarchive.cpp
@@ -0,0 +1,29 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_oarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/polymorphic_oarchive.hpp>
+
+namespace boost {
+namespace archive {
+namespace detail {
+
+template class archive_serializer_map<polymorphic_oarchive>;
+
+} // detail
+} // archive
+} // boost
diff --git a/SRC/Serialization/src/shared_ptr_helper.cpp b/SRC/Serialization/src/shared_ptr_helper.cpp
new file mode 100755
index 0000000..628b475
--- /dev/null
+++ b/SRC/Serialization/src/shared_ptr_helper.cpp
@@ -0,0 +1,138 @@
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// shared_ptr_helper.hpp: serialization for boost shared pointern
+
+// (C) Copyright 2004-2009 Robert Ramey, Martin Ecker and Takatoshi Kondo
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <map>
+#include <list>
+#include <utility>
+#include <cstddef> // NULL
+
+#define BOOST_ARCHIVE_SOURCE
+// include this to prevent linker errors when the
+// same modules are marked export and import.
+#define BOOST_SERIALIZATION_SOURCE
+
+#include <Serialization/throw_exception.hpp>
+#include <Serialization/void_cast.hpp>
+#include <Serialization/extended_type_info.hpp>
+#include <Serialization/archive/shared_ptr_helper.hpp>
+#include <Serialization/archive/archive_exception.hpp>
+
+namespace boost {
+namespace archive{
+namespace detail {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// a common class for holding various types of shared pointers
+
+// returns pointer to object and an indicator whether this is a
+// new entry (true) or a previous one (false)
+BOOST_ARCHIVE_DECL(shared_ptr<void>)
+shared_ptr_helper::get_od(
+        const void * t,
+        const boost::serialization::extended_type_info * true_type, 
+        const boost::serialization::extended_type_info * this_type
+){
+    // get void pointer to the most derived type
+    // this uniquely identifies the object referred to
+    const void * od = void_downcast(
+        *true_type, 
+        *this_type, 
+        t
+    );
+    if(NULL == od)
+        boost::serialization::throw_exception(
+            archive_exception(
+                archive_exception::unregistered_cast,
+                true_type->get_debug_info(),
+                this_type->get_debug_info()
+            )
+        );
+
+    // make tracking array if necessary
+    if(NULL == m_pointers)
+        m_pointers = new collection_type;
+
+    //shared_ptr<const void> sp(od, null_deleter()); 
+    shared_ptr<const void> sp(od, null_deleter());
+    collection_type::iterator i = m_pointers->find(sp);
+
+    if(i == m_pointers->end()){
+        shared_ptr<void> np;
+        return np;
+    }
+    od = void_upcast(
+        *true_type, 
+        *this_type,
+        i->get()
+    );
+    if(NULL == od)
+        boost::serialization::throw_exception(
+            archive_exception(
+                archive_exception::unregistered_cast,
+                true_type->get_debug_info(),
+                this_type->get_debug_info()
+            )
+        );
+
+    return shared_ptr<void>(
+        const_pointer_cast<void>(*i), 
+        const_cast<void *>(od)
+    );
+}
+
+BOOST_ARCHIVE_DECL(void)
+shared_ptr_helper::append(const boost::shared_ptr<const void> &sp){
+    // make tracking array if necessary
+    if(NULL == m_pointers)
+        m_pointers = new collection_type;
+
+    collection_type::iterator i = m_pointers->find(sp);
+
+    if(i == m_pointers->end()){
+        std::pair<collection_type::iterator, bool> result;
+        result = m_pointers->insert(sp);
+        BOOST_ASSERT(result.second);
+    }
+}
+
+//  #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
+BOOST_ARCHIVE_DECL(void)
+shared_ptr_helper::append(const boost_132::shared_ptr<const void> & t){
+    if(NULL == m_pointers_132)
+        m_pointers_132 = new std::list<boost_132::shared_ptr<const void> >;
+    m_pointers_132->push_back(t);
+}
+//  #endif
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+shared_ptr_helper::shared_ptr_helper() : 
+    m_pointers(NULL)
+    #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
+        , m_pointers_132(NULL)
+    #endif
+{}
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+shared_ptr_helper::~shared_ptr_helper(){
+    if(NULL != m_pointers)
+        delete m_pointers;
+    #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
+    if(NULL != m_pointers_132)
+        delete m_pointers_132;
+    #endif
+}
+
+} // namespace detail
+} // namespace serialization
+} // namespace boost
+
diff --git a/SRC/Serialization/src/stl_port.cpp b/SRC/Serialization/src/stl_port.cpp
new file mode 100755
index 0000000..3fb098c
--- /dev/null
+++ b/SRC/Serialization/src/stl_port.cpp
@@ -0,0 +1,43 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// stl_port.cpp: implementation of run-time casting of void pointers
+
+// (C) Copyright 2005 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+# pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+// this befuddles the msvc 6 compiler so we can't use it
+#if ! ((defined _MSC_VER) && (_MSC_VER <= 1300)) \
+&&  ! defined(__BORLANDC__)
+
+#include <boost/config.hpp>
+
+#if defined(__SGI_STL_PORT) && (__SGI_STL_PORT < 0x500)
+
+#include <Serialization/archive/codecvt_null.hpp>
+
+// explicit instantiation
+
+namespace std {
+
+template
+locale::locale(
+    const locale& __loc, boost::archive::codecvt_null<char> * __f
+);
+
+template
+locale::locale(
+    const locale& __loc, boost::archive::codecvt_null<wchar_t> * __f
+);
+
+} // namespace std
+
+#endif
+
+#endif
diff --git a/SRC/Serialization/src/text_iarchive.cpp b/SRC/Serialization/src/text_iarchive.cpp
new file mode 100755
index 0000000..52811a3
--- /dev/null
+++ b/SRC/Serialization/src/text_iarchive.cpp
@@ -0,0 +1,36 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// text_iarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/text_iarchive.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+// explicitly instantiate for this type of text stream
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/impl/basic_text_iarchive.ipp>
+#include <Serialization/archive/impl/text_iarchive_impl.ipp>
+
+namespace boost {
+namespace archive {
+
+template class detail::archive_serializer_map<naked_text_iarchive>;
+template class basic_text_iarchive<naked_text_iarchive> ;
+template class text_iarchive_impl<naked_text_iarchive> ;
+
+template class detail::archive_serializer_map<text_iarchive>;
+template class basic_text_iarchive<text_iarchive> ;
+template class text_iarchive_impl<text_iarchive> ;
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/text_oarchive.cpp b/SRC/Serialization/src/text_oarchive.cpp
new file mode 100755
index 0000000..5b554fe
--- /dev/null
+++ b/SRC/Serialization/src/text_oarchive.cpp
@@ -0,0 +1,33 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// text_oarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/text_oarchive.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+// explicitly instantiate for this type of text stream
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/impl/basic_text_oarchive.ipp>
+#include <Serialization/archive/impl/text_oarchive_impl.ipp>
+
+namespace boost {
+namespace archive {
+
+//template class basic_text_oprimitive<std::ostream> ;
+template class detail::archive_serializer_map<text_oarchive>;
+template class basic_text_oarchive<text_oarchive> ;
+template class text_oarchive_impl<text_oarchive> ;
+
+} // namespace serialization
+} // namespace boost
diff --git a/SRC/Serialization/src/text_wiarchive.cpp b/SRC/Serialization/src/text_wiarchive.cpp
new file mode 100755
index 0000000..1e0e38a
--- /dev/null
+++ b/SRC/Serialization/src/text_wiarchive.cpp
@@ -0,0 +1,41 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// text_wiarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#define BOOST_WARCHIVE_SOURCE
+#include <Serialization/archive/text_wiarchive.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+// explicitly instantiate for this type of text stream
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/impl/basic_text_iarchive.ipp>
+#include <Serialization/archive/impl/text_wiarchive_impl.ipp>
+
+namespace boost {
+namespace archive {
+
+template class detail::archive_serializer_map<naked_text_wiarchive>;
+template class basic_text_iarchive<naked_text_wiarchive> ;
+template class text_wiarchive_impl<naked_text_wiarchive> ;
+
+template class detail::archive_serializer_map<text_wiarchive>;
+template class basic_text_iarchive<text_wiarchive> ;
+template class text_wiarchive_impl<text_wiarchive> ;
+
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_NO_STD_WSTREAMBUF
+
diff --git a/SRC/Serialization/src/text_woarchive.cpp b/SRC/Serialization/src/text_woarchive.cpp
new file mode 100755
index 0000000..31f7ff3
--- /dev/null
+++ b/SRC/Serialization/src/text_woarchive.cpp
@@ -0,0 +1,35 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// text_woarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#define BOOST_WARCHIVE_SOURCE
+#include <Serialization/archive/text_woarchive.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+// explicitly instantiate for this type of text stream
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/impl/basic_text_oarchive.ipp>
+#include <Serialization/archive/impl/text_woarchive_impl.ipp>
+
+namespace boost {
+namespace archive {
+
+template class detail::archive_serializer_map<text_woarchive>;
+template class basic_text_oarchive<text_woarchive> ;
+template class text_woarchive_impl<text_woarchive> ;
+
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Serialization/src/utf8_codecvt_facet.cpp b/SRC/Serialization/src/utf8_codecvt_facet.cpp
new file mode 100755
index 0000000..eb3e6b5
--- /dev/null
+++ b/SRC/Serialization/src/utf8_codecvt_facet.cpp
@@ -0,0 +1,21 @@
+// Copyright Vladimir Prus 2004.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt
+// or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+//#include <boost/config.hpp>
+// #ifdef BOOST_NO_STD_WSTREAMBUF
+// #error "wide char i/o not supported on this platform"
+// #else
+
+// #define BOOST_UTF8_BEGIN_NAMESPACE \
+//      namespace boost { namespace archive { namespace detail {
+// #define BOOST_UTF8_DECL
+// #define BOOST_UTF8_END_NAMESPACE }}}
+// #include "../../detail/utf8_codecvt_facet.cpp"
+// #undef BOOST_UTF8_END_NAMESPACE
+// #undef BOOST_UTF8_DECL
+// #undef BOOST_UTF8_BEGIN_NAMESPACE
+
+//#endif // BOOST_NO_STD_WSTREAMBUF
+
diff --git a/SRC/Serialization/src/void_cast.cpp b/SRC/Serialization/src/void_cast.cpp
new file mode 100755
index 0000000..d3e0376
--- /dev/null
+++ b/SRC/Serialization/src/void_cast.cpp
@@ -0,0 +1,360 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// void_cast.cpp: implementation of run-time casting of void pointers
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+// <gennadiy.rozental at tfn.com>
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+# pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <boost/assert.hpp>
+#include <cstddef> // NULL
+#ifdef BOOST_SERIALIZATION_LOG
+#include <iostream>
+#endif
+
+// STL
+#include <set>
+#include <functional>
+#include <algorithm>
+#include <boost/assert.hpp>
+
+// BOOST
+#define BOOST_SERIALIZATION_SOURCE
+#include <Serialization/singleton.hpp>
+#include <Serialization/extended_type_info.hpp>
+#include <Serialization/void_cast.hpp>
+
+namespace boost { 
+namespace serialization {
+namespace void_cast_detail {
+
+// note that void_casters are keyed on value of
+// member extended type info records - NOT their
+// addresses.  This is necessary in order for the
+// void cast operations to work across dll and exe
+// module boundries.
+bool void_caster::operator<(const void_caster & rhs) const {
+    // include short cut to save time and eliminate
+    // problems when when base class aren't virtual
+    if(m_derived != rhs.m_derived){
+        if(*m_derived < *rhs.m_derived)
+            return true;
+        if(*rhs.m_derived < *m_derived)
+            return false;
+    }
+    // m_derived == rhs.m_derived
+    if(m_base != rhs.m_base)
+        return *m_base < *rhs.m_base;
+    else
+        return false;
+}
+
+struct void_caster_compare {
+    bool operator()(const void_caster * lhs, const void_caster * rhs) const {
+        return *lhs < *rhs;
+    }
+};
+
+typedef std::set<const void_caster *, void_caster_compare> set_type;
+typedef boost::serialization::singleton<set_type> void_caster_registry;
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+// implementation of shortcut void caster
+class void_caster_shortcut : public void_caster
+{
+    bool m_includes_virtual_base;
+
+    void const * 
+    vbc_upcast(
+        void const * const t
+    ) const;
+    void const *
+    vbc_downcast(
+        void const * const t
+    ) const;
+    virtual void const *
+    upcast(void const * const t) const{
+        if(m_includes_virtual_base)
+            return vbc_upcast(t);
+        return static_cast<const char *> ( t ) - m_difference;
+    }
+    virtual void const *
+    downcast(void const * const t) const{
+        if(m_includes_virtual_base)
+            return vbc_downcast(t);
+        return static_cast<const char *> ( t ) + m_difference;
+    }
+    virtual bool is_shortcut() const {
+        return true;
+    }
+    virtual bool has_virtual_base() const {
+        return m_includes_virtual_base;
+    }
+public:
+    void_caster_shortcut(
+        extended_type_info const * derived,
+        extended_type_info const * base,
+        std::ptrdiff_t difference,
+        bool includes_virtual_base,
+        void_caster const * const parent
+    ) :
+        void_caster(derived, base, difference, parent),
+        m_includes_virtual_base(includes_virtual_base)
+    {
+        recursive_register(includes_virtual_base);
+    }
+    virtual ~void_caster_shortcut(){
+        recursive_unregister();
+    }
+};
+
+#ifdef BOOST_MSVC
+#  pragma warning(pop)
+#endif
+
+void const * 
+void_caster_shortcut::vbc_downcast(
+    void const * const t
+) const {
+    // try to find a chain that gives us what we want
+    const void_cast_detail::set_type & s
+        = void_cast_detail::void_caster_registry::get_const_instance();
+    void_cast_detail::set_type::const_iterator it;
+    for(it = s.begin(); it != s.end(); ++it){
+        // if the current candidate casts to the desired target type
+        if ((*it)->m_derived == m_derived){
+            // and if it's not us
+            if ((*it)->m_base != m_base){
+                // try to cast from the candidate base to our base
+                const void * t_new;
+                t_new = void_downcast(*(*it)->m_base, *m_base, t);
+                // if we were successful
+                if(NULL != t_new){
+                    // recast to our derived
+                    const void_caster * vc = *it;
+                    return vc->downcast(t_new);
+                }
+            }
+        }
+    }
+    return NULL;
+}
+
+void const * 
+void_caster_shortcut::vbc_upcast(
+    void const * const t
+) const {
+    // try to find a chain that gives us what we want
+    const void_cast_detail::set_type & s
+        = void_cast_detail::void_caster_registry::get_const_instance();
+    void_cast_detail::set_type::const_iterator it;
+    for(it = s.begin(); it != s.end(); ++it){
+        // if the current candidate casts from the desired base type
+        if((*it)->m_base == m_base){
+            // and if it's not us
+            if ((*it)->m_derived != m_derived){
+                // try to cast from the candidate derived to our our derived
+                const void * t_new;
+                t_new = void_upcast(*m_derived, *(*it)->m_derived, t);
+                if(NULL != t_new)
+                    return (*it)->upcast(t_new);
+            }
+        }
+    }
+    return NULL;
+}
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4511 4512)
+#endif
+
+// just used as a search key
+class void_caster_argument : public void_caster
+{
+    virtual void const *
+    upcast(void const * const /*t*/) const {
+        BOOST_ASSERT(false);
+        return NULL;
+    }
+    virtual void const *
+    downcast( void const * const /*t*/) const {
+        BOOST_ASSERT(false);
+        return NULL;
+    }
+    virtual bool has_virtual_base() const {
+        BOOST_ASSERT(false);
+        return false;
+    }
+public:
+    void_caster_argument(
+        extended_type_info const * derived,
+        extended_type_info const * base
+    ) :
+        void_caster(derived, base)
+    {}
+    virtual ~void_caster_argument(){};
+};
+
+#ifdef BOOST_MSVC
+#  pragma warning(pop)
+#endif
+
+// implementation of void caster base class
+BOOST_SERIALIZATION_DECL(void)
+void_caster::recursive_register(bool includes_virtual_base) const {
+    void_cast_detail::set_type & s
+        = void_cast_detail::void_caster_registry::get_mutable_instance();
+
+    #ifdef BOOST_SERIALIZATION_LOG
+    std::clog << "recursive_register\n";
+    std::clog << m_derived->get_debug_info();
+    std::clog << "<-";
+    std::clog << m_base->get_debug_info();
+    std::clog << "\n";
+    #endif
+
+    std::pair<void_cast_detail::set_type::const_iterator, bool> result;
+    // comment this out for now.  
+    result = s.insert(this);
+    //assert(result.second);
+
+    // generate all implied void_casts.
+    void_cast_detail::set_type::const_iterator it;
+    for(it = s.begin(); it != s.end(); ++it){
+        if(* m_derived == * (*it)->m_base){
+            const void_caster_argument vca(
+                (*it)->m_derived, 
+                m_base
+            );
+            void_cast_detail::set_type::const_iterator i;
+            i = s.find(& vca);
+            if(i == s.end()){
+                new void_caster_shortcut(
+                    (*it)->m_derived, 
+                    m_base,
+                    m_difference + (*it)->m_difference,
+                    (*it)->has_virtual_base() || includes_virtual_base,
+                    this
+                );
+            }
+        }
+        if(* (*it)->m_derived == * m_base){
+            const void_caster_argument vca(
+                m_derived, 
+                (*it)->m_base
+            );
+            void_cast_detail::set_type::const_iterator i;
+            i = s.find(& vca);
+            if(i == s.end()){
+                new void_caster_shortcut(
+                    m_derived, 
+                    (*it)->m_base, 
+                    m_difference + (*it)->m_difference,
+                    (*it)->has_virtual_base() || includes_virtual_base,
+                    this
+                );
+            }
+        }
+    }
+}
+
+BOOST_SERIALIZATION_DECL(void)
+void_caster::recursive_unregister() const {
+    if(void_caster_registry::is_destroyed())
+        return;
+
+    #ifdef BOOST_SERIALIZATION_LOG
+    std::clog << "recursive_unregister\n";
+    std::clog << m_derived->get_debug_info();
+    std::clog << "<-";
+    std::clog << m_base->get_debug_info();
+    std::clog << "\n";
+    #endif
+
+    void_cast_detail::set_type & s 
+        = void_caster_registry::get_mutable_instance();
+
+    // delete all shortcuts which use this primitive
+    void_cast_detail::set_type::iterator it;
+    for(it = s.begin(); it != s.end();){
+        const void_caster * vc = *it;
+        if(vc == this){
+            s.erase(it++);
+        }
+        else
+        if(vc->m_parent == this){
+            s.erase(it);
+            delete vc;
+            it = s.begin();
+        }
+        else
+            it++;
+    }
+}
+
+} // namespace void_cast_detail
+
+// Given a void *, assume that it really points to an instance of one type
+// and alter it so that it would point to an instance of a related type.
+// Return the altered pointer. If there exists no sequence of casts that
+// can transform from_type to to_type, return a NULL.  
+BOOST_SERIALIZATION_DECL(void const *)  
+void_upcast(
+    extended_type_info const & derived,
+    extended_type_info const & base,
+    void const * const t
+){
+    // same types - trivial case
+    if (derived == base)
+        return t;
+
+    // check to see if base/derived pair is found in the registry
+    const void_cast_detail::set_type & s
+        = void_cast_detail::void_caster_registry::get_const_instance();
+    const void_cast_detail::void_caster_argument ca(& derived, & base);
+
+    void_cast_detail::set_type::const_iterator it;
+    it = s.find(& ca);
+    if (s.end() != it)
+        return (*it)->upcast(t);
+
+    return NULL;
+}
+
+BOOST_SERIALIZATION_DECL(void const *)  
+void_downcast(
+    extended_type_info const & derived,
+    extended_type_info const & base,
+    void const * const t
+){
+    // same types - trivial case
+    if (derived == base)
+        return t;
+
+    // check to see if base/derived pair is found in the registry
+    const void_cast_detail::set_type & s
+        = void_cast_detail::void_caster_registry::get_const_instance();
+    const void_cast_detail::void_caster_argument ca(& derived, & base);
+
+    void_cast_detail::set_type::const_iterator it;
+    it = s.find(&ca);
+    if (s.end() != it)
+        return(*it)->downcast(t);
+
+    return NULL;
+}
+
+} // namespace serialization
+} // namespace boost
diff --git a/SRC/Serialization/src/xml_archive_exception.cpp b/SRC/Serialization/src/xml_archive_exception.cpp
new file mode 100755
index 0000000..d014a6b
--- /dev/null
+++ b/SRC/Serialization/src/xml_archive_exception.cpp
@@ -0,0 +1,56 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_archive_exception.cpp:
+
+// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+
+#include <exception>
+#include <boost/assert.hpp>
+#include <string>
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/xml_archive_exception.hpp>
+
+namespace boost {
+namespace archive {
+
+BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
+xml_archive_exception::xml_archive_exception(
+        exception_code c, 
+        const char * e1,
+        const char * e2
+    ) : 
+        archive_exception(other_exception, e1, e2)
+    {
+        m_msg = "programming error";
+        switch(c){
+        case xml_archive_parsing_error:
+            m_msg = "unrecognized XML syntax";
+            break;
+        case xml_archive_tag_mismatch:
+            m_msg = "XML start/end tag mismatch";
+            if(NULL != e1){
+                m_msg += " - ";
+                m_msg += e1;
+            }    
+            break;
+        case xml_archive_tag_name_error:
+            m_msg = "Invalid XML tag name";
+            break;
+        default:
+            BOOST_ASSERT(false);
+            break;
+        }
+    }
+
+} // archive
+} // boost
diff --git a/SRC/Serialization/src/xml_grammar.cpp b/SRC/Serialization/src/xml_grammar.cpp
new file mode 100755
index 0000000..046a44e
--- /dev/null
+++ b/SRC/Serialization/src/xml_grammar.cpp
@@ -0,0 +1,73 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_grammar.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/impl/basic_xml_grammar.hpp>
+
+using namespace boost::spirit::classic;
+
+#include <boost/config.hpp>
+
+// fixup for borland
+// The following code will be put into Boost.Config in a later revision
+#if ! defined(__SGI_STL_PORT) \
+&& defined(BOOST_RWSTD_VER) && BOOST_RWSTD_VER<=0x020101
+#include <string>
+namespace std {
+    template<>
+    inline string & 
+    string::replace (
+        char * first1, 
+        char * last1,
+        const char * first2,
+        const char * last2
+    ){
+        replace(first1-begin(),last1-first1,first2,last2-first2,0,last2-first2);
+        return *this;
+    }
+} // namespace std
+#endif
+
+namespace boost {
+namespace archive {
+
+typedef basic_xml_grammar<char> xml_grammar;
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// specific definitions for char based XML
+
+template<>
+void xml_grammar::init_chset(){
+    Char = chset_t("\x9\xA\xD\x20-\x7f\x80\x81-\xFF"); 
+    Letter = chset_t("\x41-\x5A\x61-\x7A\xC0-\xD6\xD8-\xF6\xF8-\xFF");
+    Digit = chset_t("0-9");
+    Extender = chset_t('\xB7');
+    Sch = chset_t("\x20\x9\xD\xA");
+    NameChar = Letter | Digit | chset_p("._:-") | Extender ;
+}
+
+} // namespace archive
+} // namespace boost
+
+#include "basic_xml_grammar.ipp"
+
+namespace boost {
+namespace archive {
+
+// explicit instantiation of xml for 8 bit characters
+template class basic_xml_grammar<char>;
+
+} // namespace archive
+} // namespace boost
+
diff --git a/SRC/Serialization/src/xml_iarchive.cpp b/SRC/Serialization/src/xml_iarchive.cpp
new file mode 100755
index 0000000..ce312cb
--- /dev/null
+++ b/SRC/Serialization/src/xml_iarchive.cpp
@@ -0,0 +1,46 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_iarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#define BOOST_ARCHIVE_SOURCE
+
+// the following works around an issue between spirit 1.61 and borland.
+// it turns out the the certain spirit stuff must be defined before
+// certain parts of mpl.  including this here makes sure that happens
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+#if BOOST_WORKAROUND(__BORLANDC__, <= 0x560 )
+#include <Serialization/archive/impl/basic_xml_grammar.hpp>
+#endif
+
+#include <Serialization/archive/xml_iarchive.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+// explicitly instantiate for this type of xml stream
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/impl/basic_xml_iarchive.ipp>
+#include <Serialization/archive/impl/xml_iarchive_impl.ipp>
+
+namespace boost {
+namespace archive {
+
+template class detail::archive_serializer_map<naked_xml_iarchive>;
+template class basic_xml_iarchive<naked_xml_iarchive> ;
+template class xml_iarchive_impl<naked_xml_iarchive> ;
+
+template class detail::archive_serializer_map<xml_iarchive>;
+template class basic_xml_iarchive<xml_iarchive> ;
+template class xml_iarchive_impl<xml_iarchive> ;
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/xml_oarchive.cpp b/SRC/Serialization/src/xml_oarchive.cpp
new file mode 100755
index 0000000..8c9a3d4
--- /dev/null
+++ b/SRC/Serialization/src/xml_oarchive.cpp
@@ -0,0 +1,32 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_oarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#define BOOST_ARCHIVE_SOURCE
+#include <Serialization/archive/xml_oarchive.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+// explicitly instantiate for this type of xml stream
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/impl/basic_xml_oarchive.ipp>
+#include <Serialization/archive/impl/xml_oarchive_impl.ipp>
+
+namespace boost {
+namespace archive {
+
+template class detail::archive_serializer_map<xml_oarchive>;
+template class basic_xml_oarchive<xml_oarchive> ;
+template class xml_oarchive_impl<xml_oarchive> ;
+
+} // namespace archive
+} // namespace boost
diff --git a/SRC/Serialization/src/xml_wgrammar.cpp b/SRC/Serialization/src/xml_wgrammar.cpp
new file mode 100755
index 0000000..b2404a9
--- /dev/null
+++ b/SRC/Serialization/src/xml_wgrammar.cpp
@@ -0,0 +1,157 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_wgrammar.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#define BOOST_WARCHIVE_SOURCE
+#include <Serialization/archive/impl/basic_xml_grammar.hpp>
+
+using namespace boost::spirit::classic;
+
+// fixup for RogueWave
+#include <boost/config.hpp>
+#if ! defined(__SGI_STL_PORT) \
+&& defined(BOOST_RWSTD_VER) && BOOST_RWSTD_VER<=0x020101
+#include <string>
+namespace std {
+    template<>
+    inline wstring & 
+    wstring::replace (
+        wchar_t * first1, 
+        wchar_t * last1,
+        const wchar_t * first2,
+        const wchar_t * last2
+    ){
+        replace(first1-begin(),last1-first1,first2,last2-first2,0,last2-first2);
+        return *this;
+    }
+} // namespace std
+#endif
+
+namespace boost {
+namespace archive {
+
+typedef basic_xml_grammar<wchar_t> xml_wgrammar;
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// specific definitions for wchar_t based XML
+
+template<>
+void xml_wgrammar::init_chset(){
+    Char = chset_t(
+        #if defined(__GNUC__) && defined(linux)
+            L"\x9\xA\xD\x20-\xD7FF\xE000-\xFFFD\x10000-\x10FFFF"
+        #else
+            L"\x9\xA\xD\x20-\xD7FF\xE000-\xFFFD"
+        #endif
+    );
+
+    Sch = chset_t(L"\x20\x9\xD\xA");
+
+    BaseChar = chset_t(
+        L"\x41-\x5A\x61-\x7A\xC0-\xD6\xD8-\xF6\xF8-\xFF\x100-\x131\x134-\x13E"
+        L"\x141-\x148\x14A-\x17E\x180-\x1C3\x1CD-\x1F0\x1F4-\x1F5\x1FA-\x217"
+        L"\x250-\x2A8\x2BB-\x2C1\x386\x388-\x38A\x38C\x38E-\x3A1\x3A3-\x3CE"
+        L"\x3D0-\x3D6\x3DA\x3DC\x3DE\x3E0\x3E2-\x3F3\x401-\x40C\x40E-\x44F"
+        L"\x451-\x45C\x45E-\x481\x490-\x4C4\x4C7-\x4C8\x4CB-\x4CC\x4D0-\x4EB"
+        L"\x4EE-\x4F5\x4F8-\x4F9\x531-\x556\x559\x561-\x586\x5D0-\x5EA"
+        L"\x5F0-\x5F2\x621-\x63A\x641-\x64A\x671-\x6B7\x6BA-\x6BE\x6C0-\x6CE"
+        L"\x6D0-\x6D3\x6D5\x6E5-\x6E6\x905-\x939\x93D\x958-\x961\x985-\x98C"
+        L"\x98F-\x990\x993-\x9A8\x9AA-\x9B0\x9B2\x9B6-\x9B9\x9DC-\x9DD"
+        L"\x9DF-\x9E1\x9F0-\x9F1\xA05-\xA0A\xA0F-\xA10\xA13-\xA28\xA2A-\xA30"
+        L"\xA32-\xA33\xA35-\xA36\xA38-\xA39\xA59-\xA5C\xA5E\xA72-\xA74"
+        L"\xA85-\xA8B\xA8D\xA8F-\xA91\xA93-\xAA8\xAAA-\xAB0\xAB2-\xAB3"
+        L"\xAB5-\xAB9\xABD\xAE0\xB05-\xB0C\xB0F-\xB10\xB13-\xB28\xB2A-\xB30"
+        L"\xB32-\xB33\xB36-\xB39\xB3D\xB5C-\xB5D\xB5F-\xB61\xB85-\xB8A"
+        L"\xB8E-\xB90\xB92-\xB95\xB99-\xB9A\xB9C\xB9E-\xB9F\xBA3-\xBA4"
+        L"\xBA8-\xBAA\xBAE-\xBB5\xBB7-\xBB9\xC05-\xC0C\xC0E-\xC10\xC12-\xC28"
+        L"\xC2A-\xC33\xC35-\xC39\xC60-\xC61\xC85-\xC8C\xC8E-\xC90\xC92-\xCA8"
+        L"\xCAA-\xCB3\xCB5-\xCB9\xCDE\xCE0-\xCE1\xD05-\xD0C\xD0E-\xD10"
+        L"\xD12-\xD28\xD2A-\xD39\xD60-\xD61\xE01-\xE2E\xE30\xE32-\xE33"
+        L"\xE40-\xE45\xE81-\xE82\xE84\xE87-\xE88\xE8A\xE8D\xE94-\xE97"
+        L"\xE99-\xE9F\xEA1-\xEA3\xEA5\xEA7\xEAA-\xEAB\xEAD-\xEAE\xEB0"
+        L"\xEB2-\xEB3\xEBD\xEC0-\xEC4\xF40-\xF47\xF49-\xF69\x10A0-\x10C5"
+        L"\x10D0-\x10F6\x1100\x1102-\x1103\x1105-\x1107\x1109\x110B-\x110C"
+        L"\x110E-\x1112\x113C\x113E\x1140\x114C\x114E\x1150\x1154-\x1155"
+        L"\x1159\x115F-\x1161\x1163\x1165\x1167\x1169\x116D-\x116E"
+        L"\x1172-\x1173\x1175\x119E\x11A8\x11AB\x11AE-\x11AF\x11B7-\x11B8"
+        L"\x11BA\x11BC-\x11C2\x11EB\x11F0\x11F9\x1E00-\x1E9B\x1EA0-\x1EF9"
+        L"\x1F00-\x1F15\x1F18-\x1F1D\x1F20-\x1F45\x1F48-\x1F4D\x1F50-\x1F57"
+        L"\x1F59\x1F5B\x1F5D\x1F5F-\x1F7D\x1F80-\x1FB4\x1FB6-\x1FBC\x1FBE"
+        L"\x1FC2-\x1FC4\x1FC6-\x1FCC\x1FD0-\x1FD3\x1FD6-\x1FDB\x1FE0-\x1FEC"
+        L"\x1FF2-\x1FF4\x1FF6-\x1FFC\x2126\x212A-\x212B\x212E\x2180-\x2182"
+        L"\x3041-\x3094\x30A1-\x30FA\x3105-\x312C\xAC00-\xD7A3"
+    );
+
+    Ideographic = chset_t(L"\x4E00-\x9FA5\x3007\x3021-\x3029");
+
+    Letter = BaseChar | Ideographic;
+
+    CombiningChar = chset_t(
+        L"\x0300-\x0345\x0360-\x0361\x0483-\x0486\x0591-\x05A1\x05A3-\x05B9"
+        L"\x05BB-\x05BD\x05BF\x05C1-\x05C2\x05C4\x064B-\x0652\x0670"
+        L"\x06D6-\x06DC\x06DD-\x06DF\x06E0-\x06E4\x06E7-\x06E8\x06EA-\x06ED"
+        L"\x0901-\x0903\x093C\x093E-\x094C\x094D\x0951-\x0954\x0962-\x0963"
+        L"\x0981-\x0983\x09BC\x09BE\x09BF\x09C0-\x09C4\x09C7-\x09C8"
+        L"\x09CB-\x09CD\x09D7\x09E2-\x09E3\x0A02\x0A3C\x0A3E\x0A3F"
+        L"\x0A40-\x0A42\x0A47-\x0A48\x0A4B-\x0A4D\x0A70-\x0A71\x0A81-\x0A83"
+        L"\x0ABC\x0ABE-\x0AC5\x0AC7-\x0AC9\x0ACB-\x0ACD\x0B01-\x0B03\x0B3C"
+        L"\x0B3E-\x0B43\x0B47-\x0B48\x0B4B-\x0B4D\x0B56-\x0B57\x0B82-\x0B83"
+        L"\x0BBE-\x0BC2\x0BC6-\x0BC8\x0BCA-\x0BCD\x0BD7\x0C01-\x0C03"
+        L"\x0C3E-\x0C44\x0C46-\x0C48\x0C4A-\x0C4D\x0C55-\x0C56\x0C82-\x0C83"
+        L"\x0CBE-\x0CC4\x0CC6-\x0CC8\x0CCA-\x0CCD\x0CD5-\x0CD6\x0D02-\x0D03"
+        L"\x0D3E-\x0D43\x0D46-\x0D48\x0D4A-\x0D4D\x0D57\x0E31\x0E34-\x0E3A"
+        L"\x0E47-\x0E4E\x0EB1\x0EB4-\x0EB9\x0EBB-\x0EBC\x0EC8-\x0ECD"
+        L"\x0F18-\x0F19\x0F35\x0F37\x0F39\x0F3E\x0F3F\x0F71-\x0F84"
+        L"\x0F86-\x0F8B\x0F90-\x0F95\x0F97\x0F99-\x0FAD\x0FB1-\x0FB7\x0FB9"
+        L"\x20D0-\x20DC\x20E1\x302A-\x302F\x3099\x309A"
+    );
+
+    Digit = chset_t(
+        L"\x0030-\x0039\x0660-\x0669\x06F0-\x06F9\x0966-\x096F\x09E6-\x09EF"
+        L"\x0A66-\x0A6F\x0AE6-\x0AEF\x0B66-\x0B6F\x0BE7-\x0BEF\x0C66-\x0C6F"
+        L"\x0CE6-\x0CEF\x0D66-\x0D6F\x0E50-\x0E59\x0ED0-\x0ED9\x0F20-\x0F29"
+    );
+
+    Extender = chset_t(
+        L"\x00B7\x02D0\x02D1\x0387\x0640\x0E46\x0EC6\x3005\x3031-\x3035"
+        L"\x309D-\x309E\x30FC-\x30FE"
+    );
+
+    NameChar =
+        Letter 
+        | Digit 
+        | L'.'
+        | L'-'
+        | L'_'
+        | L':'
+        | CombiningChar 
+        | Extender
+    ;
+}
+} // namespace archive
+} // namespace boost
+
+#include "basic_xml_grammar.ipp"
+
+namespace boost {
+namespace archive {
+
+// explicit instantiation of xml for wide characters
+template class basic_xml_grammar<wchar_t>;
+
+} // namespace archive
+} // namespace boost
+
+#endif
diff --git a/SRC/Serialization/src/xml_wiarchive.cpp b/SRC/Serialization/src/xml_wiarchive.cpp
new file mode 100755
index 0000000..999a129
--- /dev/null
+++ b/SRC/Serialization/src/xml_wiarchive.cpp
@@ -0,0 +1,53 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_wiarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#include <boost/detail/workaround.hpp>
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#define BOOST_WARCHIVE_SOURCE
+
+// the following works around an issue between spirit 1.61 and borland.
+// it turns out the the certain spirit stuff must be defined before
+// certain parts of mpl.  including this here makes sure that happens
+#if BOOST_WORKAROUND(__BORLANDC__, <= 0x560 )
+#include <Serialization/archive/impl/basic_xml_grammar.hpp>
+#endif
+
+#include <Serialization/archive/xml_wiarchive.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+// explicitly instantiate for this type of xml stream
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/impl/basic_xml_iarchive.ipp>
+#include <Serialization/archive/impl/xml_wiarchive_impl.ipp>
+
+namespace boost {
+namespace archive {
+
+template class detail::archive_serializer_map<naked_xml_wiarchive>;
+template class basic_xml_iarchive<naked_xml_wiarchive> ;
+template class xml_wiarchive_impl<naked_xml_wiarchive> ;
+
+template class detail::archive_serializer_map<xml_wiarchive>;
+template class basic_xml_iarchive<xml_wiarchive> ;
+template class xml_wiarchive_impl<xml_wiarchive> ;
+
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Serialization/src/xml_woarchive.cpp b/SRC/Serialization/src/xml_woarchive.cpp
new file mode 100755
index 0000000..9129931
--- /dev/null
+++ b/SRC/Serialization/src/xml_woarchive.cpp
@@ -0,0 +1,35 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// xml_woarchive.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+
+#define BOOST_WARCHIVE_SOURCE
+#include <Serialization/archive/xml_woarchive.hpp>
+#include <Serialization/archive/detail/archive_serializer_map.hpp>
+
+// explicitly instantiate for this type of text stream
+#include <Serialization/archive/impl/archive_serializer_map.ipp>
+#include <Serialization/archive/impl/basic_xml_oarchive.ipp>
+#include <Serialization/archive/impl/xml_woarchive_impl.ipp>
+
+namespace boost {
+namespace archive {
+
+template class detail::archive_serializer_map<xml_woarchive>;
+template class basic_xml_oarchive<xml_woarchive> ;
+template class xml_woarchive_impl<xml_woarchive> ;
+
+} // namespace archive
+} // namespace boost
+
+#endif // BOOST_NO_STD_WSTREAMBUF
diff --git a/SRC/Boost/boost/serialization/state_saver.hpp b/SRC/Serialization/state_saver.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/state_saver.hpp
rename to SRC/Serialization/state_saver.hpp
diff --git a/SRC/Boost/boost/serialization/static_warning.hpp b/SRC/Serialization/static_warning.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/static_warning.hpp
rename to SRC/Serialization/static_warning.hpp
diff --git a/SRC/Serialization/string.hpp b/SRC/Serialization/string.hpp
new file mode 100755
index 0000000..ecc9a00
--- /dev/null
+++ b/SRC/Serialization/string.hpp
@@ -0,0 +1,91 @@
+#ifndef  BOOST_SERIALIZATION_STRING_HPP
+#define BOOST_SERIALIZATION_STRING_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// serialization/string.hpp:
+// serialization for stl string templates
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <string>
+
+#include <boost/config.hpp>
+#include <Serialization/level.hpp>
+
+BOOST_CLASS_IMPLEMENTATION(std::string, boost::serialization::primitive_type)
+#ifndef BOOST_NO_STD_WSTRING
+BOOST_CLASS_IMPLEMENTATION(std::wstring, boost::serialization::primitive_type)
+#endif
+
+// left over from a previous incarnation - strings are now always primitive types
+#if 0 
+#include <string>
+#include <Serialization/collections_save_imp.hpp>
+#include <Serialization/collections_load_imp.hpp>
+#include <Serialization/split_free.hpp>
+
+namespace boost { 
+namespace serialization {
+
+// basic_string - general case
+template<class Archive, class U, class Allocator>
+inline void save(
+    Archive & ar,
+    const std::basic_string<U, Allocator> &t,
+    const unsigned int file_version
+){
+    boost::serialization::stl::save_collection<
+        Archive, std::basic_string<U, Allocator> 
+    >(ar, t);
+}
+
+template<class Archive, class U, class Allocator>
+inline void load(
+    Archive & ar,
+    std::basic_string<U, Allocator> &t,
+    const unsigned int file_version
+){
+    boost::serialization::stl::load_collection<
+        Archive,
+        std::basic_string<U, Allocator>,
+        boost::serialization::stl::archive_input_seq<
+            Archive, 
+            std::basic_string<U, Allocator> 
+        >,
+        boost::serialization::stl::reserve_imp<
+            std::basic_string<U, Allocator> 
+        >
+    >(ar, t);
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<class Archive, class U, class Allocator>
+inline void serialize(
+    Archive & ar,
+    std::basic_string<U, Allocator> & t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+} // serialization
+} // namespace boost
+
+#include <Serialization/collection_traits.hpp>
+
+BOOST_SERIALIZATION_COLLECTION_TRAITS(std::vector)
+
+#endif
+
+#endif // BOOST_SERIALIZATION_STRING_HPP
diff --git a/SRC/Boost/boost/serialization/strong_typedef.hpp b/SRC/Serialization/strong_typedef.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/strong_typedef.hpp
rename to SRC/Serialization/strong_typedef.hpp
diff --git a/SRC/Boost/boost/serialization/throw_exception.hpp b/SRC/Serialization/throw_exception.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/throw_exception.hpp
rename to SRC/Serialization/throw_exception.hpp
diff --git a/SRC/Serialization/tracking.hpp b/SRC/Serialization/tracking.hpp
new file mode 100755
index 0000000..0be47b0
--- /dev/null
+++ b/SRC/Serialization/tracking.hpp
@@ -0,0 +1,118 @@
+#ifndef BOOST_SERIALIZATION_TRACKING_HPP
+#define BOOST_SERIALIZATION_TRACKING_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// tracking.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <boost/static_assert.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/int.hpp>
+#include <boost/mpl/equal_to.hpp>
+#include <boost/mpl/greater.hpp>
+#include <boost/mpl/integral_c_tag.hpp>
+
+#include <boost/type_traits/is_base_and_derived.hpp>
+#include <boost/type_traits/is_pointer.hpp>
+#include <Serialization/level.hpp>
+#include <Serialization/tracking_enum.hpp>
+#include <Serialization/type_info_implementation.hpp>
+
+namespace boost {
+namespace serialization {
+
+struct basic_traits;
+
+// default tracking level
+template<class T>
+struct tracking_level_impl {
+    template<class U>
+    struct traits_class_tracking {
+        typedef BOOST_DEDUCED_TYPENAME U::tracking type;
+    };
+    typedef mpl::integral_c_tag tag;
+    // note: at least one compiler complained w/o the full qualification
+    // on basic traits below
+    typedef
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            is_base_and_derived<boost::serialization::basic_traits, T>,
+            traits_class_tracking< T >,
+        //else
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            is_pointer< T >,
+            // pointers are not tracked by default
+            mpl::int_<track_never>,
+        //else
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            // for primitives
+            BOOST_DEDUCED_TYPENAME mpl::equal_to<
+                implementation_level< T >,
+                mpl::int_<primitive_type> 
+            >,
+            // is never
+            mpl::int_<track_never>,
+            // otherwise its selective
+            mpl::int_<track_selectively>
+    >  > >::type type;
+    BOOST_STATIC_CONSTANT(int, value = type::value);
+};
+
+template<class T>
+struct tracking_level : 
+    public tracking_level_impl<const T>
+{
+};
+
+template<class T, enum tracking_type L>
+inline bool operator>=(tracking_level< T > t, enum tracking_type l)
+{
+    return t.value >= (int)l;
+}
+
+} // namespace serialization
+} // namespace boost
+
+
+// The STATIC_ASSERT is prevents one from setting tracking for a primitive type.  
+// This almost HAS to be an error.  Doing this will effect serialization of all 
+// char's in your program which is almost certainly what you don't want to do.  
+// If you want to track all instances of a given primitive type, You'll have to 
+// wrap it in your own type so its not a primitive anymore.  Then it will compile
+// without problem.
+#define BOOST_CLASS_TRACKING(T, E)           \
+namespace boost {                            \
+namespace serialization {                    \
+template<>                                   \
+struct tracking_level< T >                   \
+{                                            \
+    typedef mpl::integral_c_tag tag;         \
+    typedef mpl::int_< E> type;              \
+    BOOST_STATIC_CONSTANT(                   \
+        int,                                 \
+        value = tracking_level::type::value  \
+    );                                       \
+    /* tracking for a class  */              \
+    BOOST_STATIC_ASSERT((                    \
+        mpl::greater<                        \
+            /* that is a prmitive */         \
+            implementation_level< T >,       \
+            mpl::int_<primitive_type>        \
+        >::value                             \
+    ));                                      \
+};                                           \
+}}
+
+#endif // BOOST_SERIALIZATION_TRACKING_HPP
diff --git a/SRC/Boost/boost/serialization/tracking_enum.hpp b/SRC/Serialization/tracking_enum.hpp
similarity index 100%
rename from SRC/Boost/boost/serialization/tracking_enum.hpp
rename to SRC/Serialization/tracking_enum.hpp
diff --git a/SRC/Serialization/traits.hpp b/SRC/Serialization/traits.hpp
new file mode 100755
index 0000000..0310128
--- /dev/null
+++ b/SRC/Serialization/traits.hpp
@@ -0,0 +1,65 @@
+#ifndef BOOST_SERIALIZATION_TRAITS_HPP
+#define BOOST_SERIALIZATION_TRAITS_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// traits.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+// This header is used to apply serialization traits to templates.  The
+// standard system can't be used for platforms which don't support
+// Partial Templlate Specialization.  
+
+// The motivation for this is the Name-Value Pair (NVP) template.
+// it has to work the same on all platforms in order for archives
+// to be portable accross platforms.
+
+#include <boost/config.hpp>
+#include <boost/static_assert.hpp>
+
+#include <boost/mpl/int.hpp>
+#include <boost/mpl/bool.hpp>
+#include <Serialization/level_enum.hpp>
+#include <Serialization/tracking_enum.hpp>
+
+namespace boost {
+namespace serialization {
+
+// common base class used to detect appended traits class
+struct basic_traits {};
+
+template <class T>
+struct extended_type_info_impl;
+
+template<
+    class T, 
+    int Level, 
+    int Tracking,
+    unsigned int Version = 0,
+    class ETII = extended_type_info_impl< T >,
+    class Wrapper = mpl::false_
+>
+struct traits : public basic_traits {
+    BOOST_STATIC_ASSERT(Version == 0 || Level >= object_class_info);
+    BOOST_STATIC_ASSERT(Tracking == track_never || Level >= object_serializable);
+    typedef BOOST_DEDUCED_TYPENAME mpl::int_<Level> level;
+    typedef BOOST_DEDUCED_TYPENAME mpl::int_<Tracking> tracking;
+    typedef BOOST_DEDUCED_TYPENAME mpl::int_<Version> version;
+    typedef ETII type_info_implementation;
+    typedef Wrapper is_wrapper;
+};
+
+} // namespace serialization
+} // namespace boost
+
+#endif // BOOST_SERIALIZATION_TRAITS_HPP
diff --git a/SRC/Serialization/type_info_implementation.hpp b/SRC/Serialization/type_info_implementation.hpp
new file mode 100755
index 0000000..f7d6f26
--- /dev/null
+++ b/SRC/Serialization/type_info_implementation.hpp
@@ -0,0 +1,86 @@
+#ifndef BOOST_SERIALIZATION_TYPE_INFO_IMPLEMENTATION_HPP
+#define BOOST_SERIALIZATION_TYPE_INFO_IMPLEMENTATION_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// type_info_implementation.hpp: interface for portable version of type_info
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <boost/static_assert.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/type_traits/is_base_and_derived.hpp>
+#include <Serialization/traits.hpp>
+
+namespace boost {
+namespace serialization {
+
+// note that T and const T are folded into const T so that
+// there is only one table entry per type
+template<class T>
+struct type_info_implementation {
+    template<class U>
+    struct traits_class_typeinfo_implementation {
+      typedef BOOST_DEDUCED_TYPENAME U::type_info_implementation::type type;
+    };
+    // note: at least one compiler complained w/o the full qualification
+    // on basic traits below
+    typedef 
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            is_base_and_derived<boost::serialization::basic_traits, T>,
+            traits_class_typeinfo_implementation< T >,
+        //else
+            mpl::identity<
+                BOOST_DEDUCED_TYPENAME extended_type_info_impl< T >::type
+            >
+        >::type type;
+};
+
+} // namespace serialization
+} // namespace boost
+
+// define a macro to assign a particular derivation of extended_type_info
+// to a specified a class. 
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
+#define BOOST_CLASS_TYPE_INFO(T, ETI)              \
+namespace boost {                                  \
+namespace serialization {                          \
+template<>                                         \
+struct type_info_implementation< T > {             \
+    typedef const ETI type;                        \
+};                                                 \
+}                                                  \
+}                                                  \
+/**/
+#else
+#define BOOST_CLASS_TYPE_INFO(T, ETI)              \
+namespace boost {                                  \
+namespace serialization {                          \
+template<>                                         \
+struct type_info_implementation< T > {             \
+    typedef ETI type;                              \
+};                                                 \
+template<>                                         \
+struct type_info_implementation< const T > {       \
+    typedef ETI type;                              \
+};                                                 \
+}                                                  \
+}                                                  \
+/**/
+#endif
+
+#endif /// BOOST_SERIALIZATION_TYPE_INFO_IMPLEMENTATION_HPP
diff --git a/SRC/Serialization/utility.hpp b/SRC/Serialization/utility.hpp
new file mode 100755
index 0000000..7b9ae94
--- /dev/null
+++ b/SRC/Serialization/utility.hpp
@@ -0,0 +1,56 @@
+#ifndef  BOOST_SERIALIZATION_UTILITY_HPP
+#define BOOST_SERIALIZATION_UTILITY_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// serialization/utility.hpp:
+// serialization for stl utility templates
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <utility>
+#include <boost/config.hpp>
+
+#include <boost/type_traits/remove_const.hpp>
+#include <Serialization/nvp.hpp>
+#include <Serialization/is_bitwise_serializable.hpp>
+#include <boost/mpl/and.hpp>
+
+namespace boost { 
+namespace serialization {
+
+// pair
+template<class Archive, class F, class S>
+inline void serialize(
+    Archive & ar,
+    std::pair<F, S> & p,
+    const unsigned int /* file_version */
+){
+    // note: we remove any const-ness on the first argument.  The reason is that 
+    // for stl maps, the type saved is pair<const key, T).  We remove
+    // the const-ness in order to be able to load it.
+    typedef BOOST_DEDUCED_TYPENAME boost::remove_const<F>::type typef;
+    ar & boost::serialization::make_nvp("first", const_cast<typef &>(p.first));
+    ar & boost::serialization::make_nvp("second", p.second);
+}
+
+/// specialization of is_bitwise_serializable for pairs
+template <class T, class U>
+struct is_bitwise_serializable<std::pair<T,U> >
+ : public mpl::and_<is_bitwise_serializable< T >,is_bitwise_serializable<U> >
+{
+};
+
+} // serialization
+} // namespace boost
+
+#endif // BOOST_SERIALIZATION_UTILITY_HPP
diff --git a/SRC/Serialization/valarray.hpp b/SRC/Serialization/valarray.hpp
new file mode 100755
index 0000000..ef86ee5
--- /dev/null
+++ b/SRC/Serialization/valarray.hpp
@@ -0,0 +1,74 @@
+#ifndef BOOST_SERIALIZATION_VALARAY_HPP
+#define BOOST_SERIALIZATION_VALARAY_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// valarray.hpp: serialization for stl vector templates
+
+// (C) Copyright 2005 Matthias Troyer . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <valarray>
+#include <boost/config.hpp>
+#include <Serialization/split_free.hpp>
+#include <Serialization/array.hpp>
+#include <Serialization/collection_size_type.hpp>
+#include <Serialization/detail/get_data.hpp>
+
+// function specializations must be defined in the appropriate
+// namespace - boost::serialization
+#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
+#define STD _STLP_STD
+#else
+#define STD std
+#endif
+
+namespace boost { namespace serialization {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// valarray< T >
+
+template<class Archive, class U>
+void save( Archive & ar, const STD::valarray<U> &t, const unsigned int /*file_version*/ )
+{
+  const collection_size_type count(t.size());
+  ar << BOOST_SERIALIZATION_NVP(count);
+  if (t.size())
+    ar << make_array(detail::get_data(t), t.size());
+}
+
+
+template<class Archive, class U>
+void load( Archive & ar, STD::valarray<U> &t,  const unsigned int /*file_version*/ )
+{
+  collection_size_type count;
+  ar >> BOOST_SERIALIZATION_NVP(count);
+  t.resize(count);
+  if (t.size())
+    ar >> make_array(detail::get_data(t), t.size());
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<class Archive, class U>
+inline void serialize( Archive & ar, STD::valarray<U> & t, const unsigned int file_version)
+{
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+} } // end namespace boost::serialization
+
+#include <Serialization/collection_traits.hpp>
+
+BOOST_SERIALIZATION_COLLECTION_TRAITS(STD::valarray)
+#undef STD
+
+#endif // BOOST_SERIALIZATION_VALARAY_HPP
diff --git a/SRC/Serialization/variant.hpp b/SRC/Serialization/variant.hpp
new file mode 100755
index 0000000..49d0f4f
--- /dev/null
+++ b/SRC/Serialization/variant.hpp
@@ -0,0 +1,163 @@
+#ifndef BOOST_SERIALIZATION_VARIANT_HPP
+#define BOOST_SERIALIZATION_VARIANT_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+#if defined(_MSC_VER) && (_MSC_VER <= 1020)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// variant.hpp - non-intrusive serialization of variant types
+//
+// copyright (c) 2005   
+// troy d. straszheim <troy at resophonic.com>
+// http://www.resophonic.com
+//
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org for updates, documentation, and revision history.
+//
+// thanks to Robert Ramey, Peter Dimov, and Richard Crossley.
+//
+
+#include <boost/mpl/front.hpp>
+#include <boost/mpl/pop_front.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/size.hpp>
+#include <boost/mpl/empty.hpp>
+
+#include <Serialization/throw_exception.hpp>
+
+#include <boost/variant.hpp>
+
+#include <Serialization/archive/archive_exception.hpp>
+
+#include <Serialization/split_free.hpp>
+#include <Serialization/serialization.hpp>
+#include <Serialization/nvp.hpp>
+
+namespace boost {
+namespace serialization {
+
+template<class Archive>
+struct variant_save_visitor : 
+    boost::static_visitor<> 
+{
+    variant_save_visitor(Archive& ar) :
+        m_ar(ar)
+    {}
+    template<class T>
+    void operator()(T const & value) const
+    {
+        m_ar << BOOST_SERIALIZATION_NVP(value);
+    }
+private:
+    Archive & m_ar;
+};
+
+template<class Archive, BOOST_VARIANT_ENUM_PARAMS(/* typename */ class T)>
+void save(
+    Archive & ar,
+    boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)> const & v,
+    unsigned int /*version*/
+){
+    int which = v.which();
+    ar << BOOST_SERIALIZATION_NVP(which);
+    typedef BOOST_DEDUCED_TYPENAME  boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>::types types;
+    variant_save_visitor<Archive> visitor(ar);
+    v.apply_visitor(visitor);
+}
+
+template<class S>
+struct variant_impl {
+
+    struct load_null {
+        template<class Archive, class V>
+        static void invoke(
+            Archive & /*ar*/,
+            int /*which*/,
+            V & /*v*/,
+            const unsigned int /*version*/
+        ){}
+    };
+
+    struct load_impl {
+        template<class Archive, class V>
+        static void invoke(
+            Archive & ar,
+            int which,
+            V & v,
+            const unsigned int version
+        ){
+            if(which == 0){
+                // note: A non-intrusive implementation (such as this one)
+                // necessary has to copy the value.  This wouldn't be necessary
+                // with an implementation that de-serialized to the address of the
+                // aligned storage included in the variant.
+                typedef BOOST_DEDUCED_TYPENAME mpl::front<S>::type head_type;
+                head_type value;
+                ar >> BOOST_SERIALIZATION_NVP(value);
+                v = value;
+                ar.reset_object_address(& boost::get<head_type>(v), & value);
+                return;
+            }
+            typedef BOOST_DEDUCED_TYPENAME mpl::pop_front<S>::type type;
+            variant_impl<type>::load(ar, which - 1, v, version);
+        }
+    };
+
+    template<class Archive, class V>
+    static void load(
+        Archive & ar,
+        int which,
+        V & v,
+        const unsigned int version
+    ){
+        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<mpl::empty<S>,
+            mpl::identity<load_null>,
+            mpl::identity<load_impl>
+        >::type typex;
+        typex::invoke(ar, which, v, version);
+    }
+
+};
+
+template<class Archive, BOOST_VARIANT_ENUM_PARAMS(/* typename */ class T)>
+void load(
+    Archive & ar, 
+    boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>& v,
+    const unsigned int version
+){
+    int which;
+    typedef BOOST_DEDUCED_TYPENAME boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>::types types;
+    ar >> BOOST_SERIALIZATION_NVP(which);
+    if(which >=  mpl::size<types>::value)
+        // this might happen if a type was removed from the list of variant types
+        boost::serialization::throw_exception(
+            boost::archive::archive_exception(
+                boost::archive::archive_exception::unsupported_version
+            )
+        );
+    variant_impl<types>::load(ar, which, v, version);
+}
+
+template<class Archive,BOOST_VARIANT_ENUM_PARAMS(/* typename */ class T)>
+inline void serialize(
+    Archive & ar,
+    boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)> & v,
+    const unsigned int file_version
+){
+    split_free(ar,v,file_version);
+}
+
+} // namespace serialization
+} // namespace boost
+
+#endif //BOOST_SERIALIZATION_VARIANT_HPP
diff --git a/SRC/Serialization/vector.hpp b/SRC/Serialization/vector.hpp
new file mode 100755
index 0000000..5cbdcd0
--- /dev/null
+++ b/SRC/Serialization/vector.hpp
@@ -0,0 +1,211 @@
+#ifndef  BOOST_SERIALIZATION_VECTOR_HPP
+#define BOOST_SERIALIZATION_VECTOR_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// vector.hpp: serialization for stl vector templates
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// fast array serialization (C) Copyright 2005 Matthias Troyer 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <vector>
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+#include <boost/type_traits/is_arithmetic.hpp> 
+
+#include <Serialization/collections_save_imp.hpp>
+#include <Serialization/collections_load_imp.hpp>
+#include <Serialization/split_free.hpp>
+#include <Serialization/array.hpp>
+#include <Serialization/detail/get_data.hpp>
+#include <boost/mpl/bool.hpp>
+
+// default is being compatible with version 1.34.1 files, not 1.35 files
+#ifndef BOOST_SERIALIZATION_VECTOR_VERSIONED
+#define BOOST_SERIALIZATION_VECTOR_VERSIONED(V) (V==4 || V==5)
+#endif
+
+namespace boost { 
+namespace serialization {
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// vector< T >
+
+// the default versions
+
+template<class Archive, class U, class Allocator>
+inline void save(
+    Archive & ar,
+    const std::vector<U, Allocator> &t,
+    const unsigned int /* file_version */,
+    mpl::false_
+){
+    boost::serialization::stl::save_collection<Archive, STD::vector<U, Allocator> >(
+        ar, t
+    );
+}
+
+template<class Archive, class U, class Allocator>
+inline void load(
+    Archive & ar,
+    std::vector<U, Allocator> &t,
+    const unsigned int /* file_version */,
+    mpl::false_
+){
+    boost::serialization::stl::load_collection<
+        Archive,
+        std::vector<U, Allocator>,
+        boost::serialization::stl::archive_input_seq<
+            Archive, STD::vector<U, Allocator> 
+        >,
+        boost::serialization::stl::reserve_imp<STD::vector<U, Allocator> >
+    >(ar, t);
+}
+
+// the optimized versions
+
+template<class Archive, class U, class Allocator>
+inline void save(
+    Archive & ar,
+    const std::vector<U, Allocator> &t,
+    const unsigned int /* file_version */,
+    mpl::true_
+){
+    const collection_size_type count(t.size());
+    ar << BOOST_SERIALIZATION_NVP(count);
+    if (!t.empty())
+        ar << make_array(detail::get_data(t),t.size());
+}
+
+template<class Archive, class U, class Allocator>
+inline void load(
+    Archive & ar,
+    std::vector<U, Allocator> &t,
+    const unsigned int /* file_version */,
+    mpl::true_
+){
+    collection_size_type count(t.size());
+    ar >> BOOST_SERIALIZATION_NVP(count);
+    t.resize(count);
+    unsigned int item_version=0;
+    if(BOOST_SERIALIZATION_VECTOR_VERSIONED(ar.get_library_version())) {
+        ar >> BOOST_SERIALIZATION_NVP(item_version);
+    }
+    if (!t.empty())
+        ar >> make_array(detail::get_data(t),t.size());
+  }
+
+// dispatch to either default or optimized versions
+
+template<class Archive, class U, class Allocator>
+inline void save(
+    Archive & ar,
+    const std::vector<U, Allocator> &t,
+    const unsigned int file_version
+){
+    typedef BOOST_DEDUCED_TYPENAME 
+    boost::serialization::use_array_optimization<Archive>::template apply<
+        BOOST_DEDUCED_TYPENAME remove_const<U>::type 
+    >::type use_optimized;
+    save(ar,t,file_version, use_optimized());
+}
+
+template<class Archive, class U, class Allocator>
+inline void load(
+    Archive & ar,
+    std::vector<U, Allocator> &t,
+    const unsigned int file_version
+){
+#ifdef BOOST_SERIALIZATION_VECTOR_135_HPP
+    if (ar.get_library_version()==boost::archive::library_version_type(5))
+    {
+      load(ar,t,file_version, boost::is_arithmetic<U>());
+      return;
+    }
+#endif
+    typedef BOOST_DEDUCED_TYPENAME 
+    boost::serialization::use_array_optimization<Archive>::template apply<
+        BOOST_DEDUCED_TYPENAME remove_const<U>::type 
+    >::type use_optimized;
+    load(ar,t,file_version, use_optimized());
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<class Archive, class U, class Allocator>
+inline void serialize(
+    Archive & ar,
+    std::vector<U, Allocator> & t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+#if ! BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// vector<bool>
+template<class Archive, class Allocator>
+inline void save(
+    Archive & ar,
+    const std::vector<bool, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    // record number of elements
+    collection_size_type count (t.size());
+    ar << BOOST_SERIALIZATION_NVP(count);
+    std::vector<bool>::const_iterator it = t.begin();
+    while(count-- > 0){
+        bool tb = *it++;
+        ar << boost::serialization::make_nvp("item", tb);
+    }
+}
+
+template<class Archive, class Allocator>
+inline void load(
+    Archive & ar,
+    std::vector<bool, Allocator> &t,
+    const unsigned int /* file_version */
+){
+    // retrieve number of elements
+    collection_size_type count;
+    ar >> BOOST_SERIALIZATION_NVP(count);
+    t.clear();
+    while(count-- > 0){
+        bool i;
+        ar >> boost::serialization::make_nvp("item", i);
+        t.push_back(i);
+    }
+}
+
+// split non-intrusive serialization function member into separate
+// non intrusive save/load member functions
+template<class Archive, class Allocator>
+inline void serialize(
+    Archive & ar,
+    std::vector<bool, Allocator> & t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+#endif // BOOST_WORKAROUND
+
+} // serialization
+} // namespace boost
+
+#include <Serialization/collection_traits.hpp>
+
+BOOST_SERIALIZATION_COLLECTION_TRAITS(std::vector)
+
+#endif // BOOST_SERIALIZATION_VECTOR_HPP
diff --git a/SRC/Serialization/vector_135.hpp b/SRC/Serialization/vector_135.hpp
new file mode 100755
index 0000000..88f6928
--- /dev/null
+++ b/SRC/Serialization/vector_135.hpp
@@ -0,0 +1,26 @@
+////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// vector_135.hpp: serialization for stl vector templates for compatibility
+//                 with release 1.35, which had a bug
+
+// (C) Copyright 2008 Matthias Troyer
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+
+#ifndef  BOOST_SERIALIZATION_VECTOR_135_HPP
+#define BOOST_SERIALIZATION_VECTOR_135_HPP
+
+#ifdef BOOST_SERIALIZATION_VECTOR_VERSIONED
+#if BOOST_SERIALIZATION_VECTOR_VERSION != 4
+#error Boost.Serialization cannot be compatible with both 1.35 and 1.36-1.40 files
+#endif
+#else
+#define BOOST_SERIALIZATION_VECTOR_VERSIONED(V) (V==4)
+#endif
+
+#include <Serialization/vector.hpp>
+
+#endif // BOOST_SERIALIZATION_VECTOR_135_HPP
diff --git a/SRC/Serialization/version.hpp b/SRC/Serialization/version.hpp
new file mode 100755
index 0000000..7387290
--- /dev/null
+++ b/SRC/Serialization/version.hpp
@@ -0,0 +1,107 @@
+#ifndef BOOST_SERIALIZATION_VERSION_HPP
+#define BOOST_SERIALIZATION_VERSION_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// version.hpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <boost/mpl/assert.hpp>
+#include <boost/mpl/int.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/integral_c_tag.hpp>
+
+#include <boost/type_traits/is_base_and_derived.hpp>
+
+namespace boost { 
+namespace serialization {
+
+struct basic_traits;
+
+// default version number is 0. Override with higher version
+// when class definition changes.
+template<class T>
+struct version
+{
+    template<class U>
+    struct traits_class_version {
+        typedef BOOST_DEDUCED_TYPENAME U::version type;
+    };
+
+    typedef mpl::integral_c_tag tag;
+    // note: at least one compiler complained w/o the full qualification
+    // on basic traits below
+    typedef
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            is_base_and_derived<boost::serialization::basic_traits,T>,
+            traits_class_version< T >,
+            mpl::int_<0>
+        >::type type;
+    BOOST_STATIC_CONSTANT(int, value = version::type::value);
+};
+
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+template<class T>
+const int version<T>::value;
+#endif
+
+} // namespace serialization
+} // namespace boost
+
+/* note: at first it seemed that this would be a good place to trap
+ * as an error an attempt to set a version # for a class which doesn't
+ * save its class information (including version #) in the archive.
+ * However, this imposes a requirement that the version be set after
+ * the implemention level which would be pretty confusing.  If this
+ * is to be done, do this check in the input or output operators when
+ * ALL the serialization traits are available.  Included the implementation
+ * here with this comment as a reminder not to do this!
+ */
+//#include <Serialization/level.hpp>
+//#include <boost/mpl/equal_to.hpp>
+
+#include <boost/mpl/less.hpp>
+#include <boost/mpl/comparison.hpp>
+
+// specify the current version number for the class
+// version numbers limited to 8 bits !!!
+#define BOOST_CLASS_VERSION(T, N)                                      \
+namespace boost {                                                      \
+namespace serialization {                                              \
+template<>                                                             \
+struct version<T >                                                     \
+{                                                                      \
+    typedef mpl::int_<N> type;                                         \
+    typedef mpl::integral_c_tag tag;                                   \
+    BOOST_STATIC_CONSTANT(int, value = version::type::value);          \
+    BOOST_MPL_ASSERT((                                                 \
+        boost::mpl::less<                                              \
+            boost::mpl::int_<N>,                                       \
+            boost::mpl::int_<256>                                      \
+        >                                                              \
+    ));                                                                \
+    /*                                                                 \
+    BOOST_MPL_ASSERT((                                                 \
+        mpl::equal_to<                                                 \
+            :implementation_level<T >,                                 \
+            mpl::int_<object_class_info>                               \
+        >::value                                                       \
+    ));                                                                \
+    */                                                                 \
+};                                                                     \
+}                                                                      \
+}
+
+#endif // BOOST_SERIALIZATION_VERSION_HPP
diff --git a/SRC/Serialization/void_cast.hpp b/SRC/Serialization/void_cast.hpp
new file mode 100755
index 0000000..5e94ffa
--- /dev/null
+++ b/SRC/Serialization/void_cast.hpp
@@ -0,0 +1,298 @@
+#ifndef  BOOST_SERIALIZATION_VOID_CAST_HPP
+#define BOOST_SERIALIZATION_VOID_CAST_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// void_cast.hpp:   interface for run-time casting of void pointers.
+
+// (C) Copyright 2002-2009 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+// gennadiy.rozental at tfn.com
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // for ptrdiff_t
+#include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
+
+#include <Serialization/smart_cast.hpp>
+#include <Serialization/singleton.hpp>
+#include <Serialization/force_include.hpp>
+#include <Serialization/type_info_implementation.hpp>
+#include <Serialization/extended_type_info.hpp>
+#include <boost/type_traits/is_virtual_base_of.hpp>
+#include <Serialization/void_cast_fwd.hpp>
+
+#include <Serialization/config.hpp>
+#include <boost/config/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4251 4231 4660 4275)
+#endif
+
+namespace boost { 
+namespace serialization { 
+
+class extended_type_info;
+
+// Given a void *, assume that it really points to an instance of one type
+// and alter it so that it would point to an instance of a related type.
+// Return the altered pointer. If there exists no sequence of casts that
+// can transform from_type to to_type, return a NULL.  
+
+BOOST_SERIALIZATION_DECL(void const *)
+void_upcast(
+    extended_type_info const & derived,  
+    extended_type_info const & base, 
+    void const * const t
+);
+
+inline void *
+void_upcast(
+    extended_type_info const & derived,
+    extended_type_info const & base,
+    void * const t 
+){
+    return const_cast<void*>(void_upcast(
+        derived, 
+        base, 
+        const_cast<void const *>(t)
+    ));
+}
+
+BOOST_SERIALIZATION_DECL(void const *)
+void_downcast(
+    extended_type_info const & derived,  
+    extended_type_info const & base, 
+    void const * const t
+);
+
+inline void *
+void_downcast(
+    extended_type_info const & derived,
+    extended_type_info const & base,
+    void * const t 
+){
+    return const_cast<void*>(void_downcast(
+        derived, 
+        base, 
+        const_cast<void const *>(t)
+    ));
+}
+
+namespace void_cast_detail {
+
+class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) void_caster :
+    private boost::noncopyable
+{
+    friend 
+    BOOST_SERIALIZATION_DECL(void const *)
+    boost::serialization::void_upcast(
+        extended_type_info const & derived,
+        extended_type_info const & base,
+        void const * const
+    );
+    friend 
+    BOOST_SERIALIZATION_DECL(void const *)  
+    boost::serialization::void_downcast(
+        extended_type_info const & derived,
+        extended_type_info const & base,
+        void const * const
+    );
+protected:
+    void recursive_register(bool includes_virtual_base = false) const;
+    void recursive_unregister() const;
+    virtual bool has_virtual_base() const = 0;
+public:
+    // Data members
+    const extended_type_info * m_derived;
+    const extended_type_info * m_base;
+    /*const*/ std::ptrdiff_t m_difference;
+    void_caster const * const m_parent;
+
+    // note that void_casters are keyed on value of
+    // member extended type info records - NOT their
+    // addresses.  This is necessary in order for the
+    // void cast operations to work across dll and exe
+    // module boundries.
+    bool operator<(const void_caster & rhs) const;
+
+    const void_caster & operator*(){
+        return *this;
+    }
+    // each derived class must re-implement these;
+    virtual void const * upcast(void const * const t) const = 0;
+    virtual void const * downcast(void const * const t) const = 0;
+    // Constructor
+    void_caster(
+        extended_type_info const * derived,
+        extended_type_info const * base,
+        std::ptrdiff_t difference = 0,
+        void_caster const * const parent = 0
+    ) :
+        m_derived(derived),
+        m_base(base),
+        m_difference(difference),
+        m_parent(parent)
+    {}
+    virtual ~void_caster(){}
+};
+
+#ifdef BOOST_MSVC
+#  pragma warning(push)
+#  pragma warning(disable : 4251 4231 4660 4275 4511 4512)
+#endif
+
+template <class Derived, class Base>
+class void_caster_primitive : 
+    public void_caster
+{
+    virtual void const * downcast(void const * const t) const {
+        const Derived * d = 
+            boost::serialization::smart_cast<const Derived *, const Base *>(
+                static_cast<const Base *>(t)
+            );
+        return d;
+    }
+    virtual void const * upcast(void const * const t) const {
+        const Base * b = 
+            boost::serialization::smart_cast<const Base *, const Derived *>(
+                static_cast<const Derived *>(t)
+            );
+        return b;
+    }
+    virtual bool has_virtual_base() const {
+        return false;
+    }
+public:
+    void_caster_primitive();
+    virtual ~void_caster_primitive();
+};
+
+template <class Derived, class Base>
+void_caster_primitive<Derived, Base>::void_caster_primitive() :
+    void_caster( 
+        & type_info_implementation<Derived>::type::get_const_instance(), 
+        & type_info_implementation<Base>::type::get_const_instance(),
+        // note:I wanted to display from 0 here, but at least one compiler
+        // treated 0 by not shifting it at all.
+        reinterpret_cast<std::ptrdiff_t>(
+            static_cast<Derived *>(
+                reinterpret_cast<Base *>(1)
+            )
+        ) - 1
+    )
+{
+    recursive_register();
+}
+
+template <class Derived, class Base>
+void_caster_primitive<Derived, Base>::~void_caster_primitive(){
+    recursive_unregister();
+}
+
+template <class Derived, class Base>
+class void_caster_virtual_base : 
+    public void_caster
+{
+    virtual bool has_virtual_base() const {
+        return true;
+    }
+public:
+    virtual void const * downcast(void const * const t) const {
+        const Derived * d = 
+            dynamic_cast<const Derived *>(
+                static_cast<const Base *>(t)
+            );
+        return d;
+    }
+    virtual void const * upcast(void const * const t) const {
+        const Base * b = 
+            dynamic_cast<const Base *>(
+                static_cast<const Derived *>(t)
+            );
+        return b;
+    }
+    void_caster_virtual_base();
+    virtual ~void_caster_virtual_base();
+};
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+template <class Derived, class Base>
+void_caster_virtual_base<Derived,Base>::void_caster_virtual_base() :
+    void_caster( 
+        & (type_info_implementation<Derived>::type::get_const_instance()), 
+        & (type_info_implementation<Base>::type::get_const_instance())
+    )
+{
+    recursive_register(true);
+}
+
+template <class Derived, class Base>
+void_caster_virtual_base<Derived,Base>::~void_caster_virtual_base(){
+    recursive_unregister();
+}
+
+template <class Derived, class Base>
+struct void_caster_base :
+    public void_caster
+{
+    typedef
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<boost::is_virtual_base_of<Base,Derived>,
+            mpl::identity<
+                void_cast_detail::void_caster_virtual_base<Derived, Base>
+            >
+        ,// else
+            mpl::identity<
+                void_cast_detail::void_caster_primitive<Derived, Base>
+            >
+        >::type type;
+};
+
+} // void_cast_detail 
+
+template<class Derived, class Base>
+BOOST_DLLEXPORT 
+inline const void_cast_detail::void_caster & void_cast_register(
+    Derived const * /* dnull = NULL */, 
+    Base const * /* bnull = NULL */
+){
+    typedef
+        BOOST_DEDUCED_TYPENAME mpl::eval_if<boost::is_virtual_base_of<Base,Derived>,
+            mpl::identity<
+                void_cast_detail::void_caster_virtual_base<Derived, Base>
+            >
+        ,// else
+            mpl::identity<
+                void_cast_detail::void_caster_primitive<Derived, Base>
+            >
+        >::type typex;
+    return singleton<typex>::get_const_instance();
+}
+
+template<class Derived, class Base>
+class void_caster :
+    public void_cast_detail::void_caster_base<Derived, Base>::type
+{
+};
+
+} // namespace serialization
+} // namespace boost
+
+#ifdef BOOST_MSVC  
+#  pragma warning(pop)  
+#endif
+
+#include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
+#endif // BOOST_SERIALIZATION_VOID_CAST_HPP
diff --git a/SRC/Serialization/void_cast_fwd.hpp b/SRC/Serialization/void_cast_fwd.hpp
new file mode 100755
index 0000000..14260cf
--- /dev/null
+++ b/SRC/Serialization/void_cast_fwd.hpp
@@ -0,0 +1,37 @@
+#ifndef  BOOST_SERIALIZATION_VOID_CAST_FWD_HPP
+#define BOOST_SERIALIZATION_VOID_CAST_FWD_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// void_cast_fwd.hpp:   interface for run-time casting of void pointers.
+
+// (C) Copyright 2005 Robert Ramey - http://www.rrsd.com . 
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+// gennadiy.rozental at tfn.com
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <cstddef> // NULL
+#include <Serialization/force_include.hpp>
+
+namespace boost {
+namespace serialization {
+namespace void_cast_detail{
+class void_caster;
+} // namespace void_cast_detail
+template<class Derived, class Base>
+BOOST_DLLEXPORT 
+inline const void_cast_detail::void_caster & void_cast_register(
+    const Derived * dnull = NULL, 
+    const Base * bnull = NULL
+) BOOST_USED;
+} // namespace serialization
+} // namespace boost
+
+#endif // BOOST_SERIALIZATION_VOID_CAST_HPP
diff --git a/SRC/Serialization/weak_ptr.hpp b/SRC/Serialization/weak_ptr.hpp
new file mode 100755
index 0000000..ebaca62
--- /dev/null
+++ b/SRC/Serialization/weak_ptr.hpp
@@ -0,0 +1,58 @@
+#ifndef BOOST_SERIALIZATION_WEAK_PTR_HPP
+#define BOOST_SERIALIZATION_WEAK_PTR_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// shared_ptr.hpp: serialization for boost shared pointer
+
+// (C) Copyright 2004 Robert Ramey and Martin Ecker
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for updates, documentation, and revision history.
+
+#include <boost/weak_ptr.hpp>
+#include <Serialization/shared_ptr.hpp>
+
+namespace boost {
+namespace serialization{
+
+template<class Archive, class T>
+inline void save(
+    Archive & ar,
+    const boost::weak_ptr< T > &t,
+    const unsigned int /* file_version */
+){
+    const boost::shared_ptr< T > sp = t.lock();
+    ar << boost::serialization::make_nvp("weak_ptr", sp);
+}
+
+template<class Archive, class T>
+inline void load(
+    Archive & ar,
+    boost::weak_ptr< T > &t,
+    const unsigned int /* file_version */
+){
+    boost::shared_ptr< T > sp;
+    ar >> boost::serialization::make_nvp("weak_ptr", sp);
+    t = sp;
+}
+
+template<class Archive, class T>
+inline void serialize(
+    Archive & ar,
+    boost::weak_ptr< T > &t,
+    const unsigned int file_version
+){
+    boost::serialization::split_free(ar, t, file_version);
+}
+
+} // namespace serialization
+} // namespace boost
+
+#endif // BOOST_SERIALIZATION_WEAK_PTR_HPP
diff --git a/SRC/Serialization/wrapper.hpp b/SRC/Serialization/wrapper.hpp
new file mode 100755
index 0000000..33ce2e9
--- /dev/null
+++ b/SRC/Serialization/wrapper.hpp
@@ -0,0 +1,60 @@
+#ifndef BOOST_SERIALIZATION_WRAPPER_HPP
+#define BOOST_SERIALIZATION_WRAPPER_HPP
+
+// (C) Copyright 2005-2006 Matthias Troyer
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include <Serialization/traits.hpp>
+#include <boost/type_traits/is_base_and_derived.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/bool.hpp>
+
+namespace boost { namespace serialization {
+
+/// the base class for serialization wrappers
+///
+/// wrappers need to be treated differently at various places in the serialization library,
+/// e.g. saving of non-const wrappers has to be possible. Since partial specialization
+// is not supported by all compilers, we derive all wrappers from wrapper_traits. 
+
+template<
+    class T, 
+    int Level = object_serializable, 
+    int Tracking = track_never,
+    unsigned int Version = 0,
+    class ETII = extended_type_info_impl< T >
+>
+struct wrapper_traits : 
+    public traits<T,Level,Tracking,Version,ETII,mpl::true_> 
+{};
+
+template<class T>
+struct is_wrapper_impl :
+    boost::mpl::eval_if<
+      boost::is_base_and_derived<basic_traits,T>,
+      boost::mpl::true_,
+      boost::mpl::false_
+    >::type
+{};
+
+template<class T>
+struct is_wrapper {
+    typedef BOOST_DEDUCED_TYPENAME is_wrapper_impl<const T>::type type;
+};
+
+} // serialization
+} // boost
+
+// A macro to define that a class is a wrapper
+#define BOOST_CLASS_IS_WRAPPER(T)                       \
+namespace boost {                                       \
+namespace serialization {                               \
+template<>                                              \
+struct is_wrapper_impl<const T> : boost::mpl::true_ {}; \
+}                                                       \
+}                                                       \
+/**/
+
+#endif //BOOST_SERIALIZATION_WRAPPER_HPP
diff --git a/debian/changelog b/debian/changelog
deleted file mode 100644
index 275f933..0000000
--- a/debian/changelog
+++ /dev/null
@@ -1,5 +0,0 @@
-openmeca (2.1.7-1) unstable; urgency=medium
-
-  * Initial release. (Closes: #850590)
-
- -- Damien Andre <dada at yakuru.fr>  Fri, 13 Jan 2017 16:25:08 +0100
diff --git a/debian/compat b/debian/compat
deleted file mode 100644
index f599e28..0000000
--- a/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-10
diff --git a/debian/control b/debian/control
deleted file mode 100644
index 2e83297..0000000
--- a/debian/control
+++ /dev/null
@@ -1,27 +0,0 @@
-Source: openmeca
-Maintainer: Debian Science Maintainers <debian-science-maintainers at lists.alioth.debian.org>
-Uploaders: Damien Andre <dada at yakuru.fr>
-Section: science
-Priority: optional
-Build-Depends: debhelper (>= 10),
-               qtdeclarative5-dev,
-               qttools5-dev-tools,
-               libqt5svg5-dev,
-               libqt5opengl5-dev,
-               qttools5-dev,
-	       qtchooser,
-	       libqt5sql5-sqlite
-Standards-Version: 3.9.8
-Vcs-Browser: https://anonscm.debian.org/cgit/debian-science/packages/openmeca.git
-Vcs-Git: https://anonscm.debian.org/git/debian-science/packages/openmeca.git
-Homepage: https://gitlab.com/damien.andre/openmeca
-
-Package: openmeca
-Architecture: any
-Depends: ${misc:Depends},
-         ${shlibs:Depends}
-Description: Multibody mechanical simulator
- The aim of openmeca is to provide a software for simulating mechanical 
- systems easily. It provides a graphical application that build a 
- 3D scheme, where the bonds are represented by symbols and gives a simple 
- way to apply loadings, boundary conditions and manage contacts.
diff --git a/debian/copyright b/debian/copyright
deleted file mode 100644
index b316648..0000000
--- a/debian/copyright
+++ /dev/null
@@ -1,133 +0,0 @@
-Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: openmeca
-Source: https://gitlab.com/damien.andre/openmeca
-
-Files: *
-Copyright: 2017 damien andre <dada at yakuru.fr>
-	        cedric hubert <cedric.hubert at univ-valenciennes.fr>
-License: GPL-3.0+
-
-Files: debian/*
-Copyright: 2017 Damien Andre <dada at yakuru.fr>
-License: GPL-3.0+
-
-Files: SRC/Boost/*
-Copyright: Boost authors
-License: BoostSoftLicense
- Boost Software License - Version 1.0 - August 17th, 2003
- Permission is hereby granted, free of charge, to any person or organization
- obtaining a copy of the software and accompanying documentation covered by
- this license (the "Software") to use, reproduce, display, distribute,
- execute, and transmit the Software, and to prepare derivative works of the
- Software, and to permit third-parties to whom the Software is furnished to
- do so, all subject to the following.
- .
- The copyright notices in the Software and this entire statement, including
- the above license grant, this restriction and the following disclaimer,
- must be included in all copies of the Software, in whole or in part, and
- all derivative works of the Software, unless such copies or derivative
- works are solely in the form of machine-executable object code generated by
- a source language processor.
- .
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
- SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
- FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
-Files: SRC/ChronoEngine/*
-Copyright: Copyright (c) 2013, Chrono Development Team, All rights reserved.
-License: Chrono-L
- ChronoEngine license
- Redistribution and use in source and binary forms, with or without modification, 
- are permitted provided that the following conditions are met:
-  - Redistributions of source code must retain the above copyright notice, 
-    this list of conditions and the following disclaimer. 
-  - Redistributions in binary form must reproduce the above copyright notice, 
-    this list of conditions and the following disclaimer in the documentation 
-    and/or other materials provided with the distribution. 
-  - Neither the name of the nor the names of its contributors may be used to 
-    endorse or promote products derived from this software without specific prior 
-    written permission. 
- .
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 
- SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 
- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 
- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 
- DAMAGE.
-
-Files: SRC/QGLViewer/*
-Copyright: Copyright (C) 2002-2014 Gilles Debunne. All rights reserved.
-License: GPL-2.0+
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- .
- This package is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
- .
- On Debian systems, the complete text of the GNU General
- Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
-
-Files: SRC/Qwt/*
-Copyright: Copyright (C) Qwt team
-License: LGPL-2.1-QWT
- Qwt License, Version 1.0, January 1, 2003
- The Qwt library and included programs are provided under the terms
- of the GNU LESSER GENERAL PUBLIC LICENSE (LGPL) v2.1 with the following
- exceptions:
-  1. Widgets that are subclassed from Qwt widgets do not
-     constitute a derivative work.
-  2. Static linking of applications and widgets to the
-     Qwt library does not constitute a derivative work
-     and does not require the author to provide source
-     code for the application or widget, use the shared
-     Qwt libraries, or link their applications or
-     widgets against a user-supplied version of Qwt.
-     .
-     If you link the application or widget to a modified
-     version of Qwt, then the changes to Qwt must be 
-     provided under the terms of the LGPL in sections
-     1, 2, and 4.
-     .
-  3. You do not have to provide a copy of the Qwt license
-     with programs that are linked to the Qwt library, nor
-     do you have to identify the Qwt license in your
-     program or documentation as required by section 6
-     of the LGPL.
- .
- However, programs must still identify their use of Qwt.
- The following example statement can be included in user
- documentation to satisfy this requirement:
- [program/widget] is based in part on the work of
- the Qwt project (http://qwt.sf.net).
-
-License: GPL-3.0+
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- .
- This package is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
- .
- On Debian systems, the complete text of the GNU LESSER GENERAL PUBLIC 
- LICENSE Version 2.1 can be found in "/usr/share/common-licenses/LGPL-2".
diff --git a/debian/docs/openmeca.1 b/debian/docs/openmeca.1
deleted file mode 100644
index 5915616..0000000
--- a/debian/docs/openmeca.1
+++ /dev/null
@@ -1,16 +0,0 @@
-.TH OpenMeca 1 "January 7 2017" GNU 
-.SH NAME
-openmeca \- a program that do multibody simulation 
-.SH SYNOPSIS
-.B openmeca
-.RI filename
-.SH DESCRIPTION
-openmeca is a graphic frontend to the chronoengine library. The aim of openmeca is to provide a software for simulating mechanical systems easily. openmeca allow us to builds a 3D sketch, where the bonds are represented by symbols and gives a simple way to apply loading and boundary conditions. Thanks to numerical sensors, different kind of data (force, torque, displacement, velocity, etc.) could be extracted from the simulation. 
-
-.BR
-
-Note that :
- - openmeca save your configuration in "/openmeca" directory
- - a detailed help could be find in the help section of the program
- - a youtube tutorial is available for quick learning openmeca
- - you could change the language (at this time english or french) in the program. 
diff --git a/debian/openmeca.desktop b/debian/openmeca.desktop
deleted file mode 100644
index 8a8f580..0000000
--- a/debian/openmeca.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Name=OpenMeca
-Exec=openmeca %f
-Icon=OpenMeca
-Type=Application
-Categories=Education
-Comment=Build easly mechanical simulation
-MimeType=application/openmeca
-URL=https://gitlab.com/damien.andre/openmeca
\ No newline at end of file
diff --git a/debian/openmeca.install b/debian/openmeca.install
deleted file mode 100644
index 4ce64c6..0000000
--- a/debian/openmeca.install
+++ /dev/null
@@ -1,4 +0,0 @@
-SRC/OpenMeca/Rsc/Img/OpenMeca.png /usr/share/icons/hicolor/48x48/apps/
-SRC/OpenMeca/Rsc/Img/application-openmeca.svg /usr/share/icons/gnome/scalable/mimetypes/
-debian/openmeca.desktop /usr/share/applications/
-debian/openmeca.xml /usr/share/mime/packages/
diff --git a/debian/openmeca.manpages b/debian/openmeca.manpages
deleted file mode 100644
index 34b306a..0000000
--- a/debian/openmeca.manpages
+++ /dev/null
@@ -1 +0,0 @@
-debian/docs/openmeca.1
diff --git a/debian/openmeca.xml b/debian/openmeca.xml
deleted file mode 100644
index 11ad7a6..0000000
--- a/debian/openmeca.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
-   <mime-type type="application/openmeca">
-     <comment>openmeca file</comment>
-     <glob pattern="*.omc"/>
-   </mime-type>
-</mime-info>
diff --git a/debian/patches/make-patch b/debian/patches/make-patch
deleted file mode 100644
index 79cfeaa..0000000
--- a/debian/patches/make-patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Description: Fix makefile problem to avoid qt4/qt5 confusing
- The upstream makefile works only if the qt5-default metapackage is installed.
- Because metapackage are not allowed in build-dependencies the patch consists
- in calling QT tools with the qtchooser utility.
- .
- openmeca (2.1.7-1) unstable; urgency=medium
- .
-   [ Damien Andre ]
-   * Initial release. (Closes: #850590)
-Author: Damien Andre <dada at yakuru.fr>
-Bug-Debian: https://bugs.debian.org/850590
-
----
-Author: Damien Andre <dada at yakuru.fr>
-
-
---- openmeca-2.1.7.orig/Makefile
-+++ openmeca-2.1.7/Makefile
-@@ -8,7 +8,8 @@ endif
- BINDIR=bin
- 
- # The qmake utility location (for unix-like systems)
--QMAKE=qmake
-+QMAKE=qtchooser -qt=5 -run-tool=qmake 
-+
- 
- 
- 
-@@ -193,9 +194,9 @@ ifdef mxe
- 	$(MAKE)
- else
- 	@cd SRC/OpenMeca  ; \
--	lrelease ./OpenMeca.pro  ; \
--	qhelpgenerator ./Rsc/Help/Help.qhp -o ./Rsc/Help/Help.qch  ; \
--	qcollectiongenerator ./Rsc/Help/Help.qhcp -o ./Rsc/Help/Help.qhc ;\
-+	qtchooser -qt=5 -run-tool=lrelease ./OpenMeca.pro  ; \
-+	qtchooser -qt=5 -run-tool=qhelpgenerator ./Rsc/Help/Help.qhp -o ./Rsc/Help/Help.qch  ; \
-+	qtchooser -qt=5 -run-tool=qcollectiongenerator ./Rsc/Help/Help.qhcp -o ./Rsc/Help/Help.qhc ;\
- 	$(QMAKE)  ; \
- 	$(MAKE)
- ifeq ($(OSName),Darwin)
diff --git a/debian/patches/series b/debian/patches/series
deleted file mode 100644
index 6b04c9d..0000000
--- a/debian/patches/series
+++ /dev/null
@@ -1 +0,0 @@
-make-patch
diff --git a/debian/rules b/debian/rules
deleted file mode 100755
index d1cbe83..0000000
--- a/debian/rules
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/make -f
-
-export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-
-%:
-	dh $@
-
diff --git a/debian/source/format b/debian/source/format
deleted file mode 100644
index 163aaf8..0000000
--- a/debian/source/format
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/debian/watch b/debian/watch
deleted file mode 100644
index 06cc008..0000000
--- a/debian/watch
+++ /dev/null
@@ -1,3 +0,0 @@
-version=4
-opts=filenamemangle=s/.*\.tar\.gz\?ref=v?(\d\S+)/openmeca-\.tar\.gz/g \
-https://gitlab.com/damien.andre/openmeca/tags?sort=updated_desc .*archive\.tar\.gz\?ref=v?(\d\S+)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/openmeca.git



More information about the debian-science-commits mailing list